summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--.travis.yml6
-rw-r--r--.version2
-rw-r--r--README.md32
-rw-r--r--default.nix4
-rw-r--r--doc/contributing.xml4
-rw-r--r--doc/language-support.xml623
-rw-r--r--doc/manual.xml1
-rw-r--r--doc/meta.xml35
-rw-r--r--doc/old/cross.txt6
-rw-r--r--doc/packageconfig.xml70
-rw-r--r--doc/quick-start.xml11
-rw-r--r--doc/quote-literals.xsl44
-rw-r--r--doc/stdenv.xml28
-rw-r--r--lib/attrsets.nix26
-rw-r--r--lib/customisation.nix67
-rw-r--r--lib/debug.nix36
-rw-r--r--lib/licenses.nix294
-rw-r--r--lib/lists.nix67
-rw-r--r--lib/maintainers.nix97
-rw-r--r--lib/misc.nix45
-rw-r--r--lib/modules.nix250
-rw-r--r--lib/options.nix24
-rw-r--r--lib/platforms.nix2
-rw-r--r--lib/strings-with-deps.nix4
-rw-r--r--lib/strings.nix27
-rw-r--r--lib/systems.nix2
-rwxr-xr-xlib/tests/modules.sh119
-rw-r--r--lib/tests/modules/custom-arg-define-enable.nix8
-rw-r--r--lib/tests/modules/declare-enable.nix14
-rw-r--r--lib/tests/modules/declare-loaOfSub-any-enable.nix29
-rw-r--r--lib/tests/modules/default.nix7
-rw-r--r--lib/tests/modules/define-enable-force.nix5
-rw-r--r--lib/tests/modules/define-enable.nix3
-rw-r--r--lib/tests/modules/define-force-enable.nix5
-rw-r--r--lib/tests/modules/define-force-loaOfSub-foo-enable.nix5
-rw-r--r--lib/tests/modules/define-if-loaOfSub-foo-enable.nix5
-rw-r--r--lib/tests/modules/define-loaOfSub-bar-enable.nix3
-rw-r--r--lib/tests/modules/define-loaOfSub-bar.nix3
-rw-r--r--lib/tests/modules/define-loaOfSub-foo-enable-force.nix5
-rw-r--r--lib/tests/modules/define-loaOfSub-foo-enable-if.nix5
-rw-r--r--lib/tests/modules/define-loaOfSub-foo-enable.nix3
-rw-r--r--lib/tests/modules/define-loaOfSub-foo-force-enable.nix7
-rw-r--r--lib/tests/modules/define-loaOfSub-foo-if-enable.nix7
-rw-r--r--lib/tests/modules/define-loaOfSub-foo.nix3
-rw-r--r--lib/tests/modules/define-loaOfSub-force-foo-enable.nix7
-rw-r--r--lib/tests/modules/define-loaOfSub-if-foo-enable.nix7
-rw-r--r--lib/tests/modules/define-module-check.nix3
-rw-r--r--lib/tests/release.nix31
-rw-r--r--lib/trivial.nix27
-rw-r--r--lib/types.nix59
-rw-r--r--maintainers/docker/.dockerignore14
-rw-r--r--maintainers/docker/Dockerfile12
-rw-r--r--maintainers/scripts/nix-generate-from-cpan.nix4
-rwxr-xr-xmaintainers/scripts/nix-generate-from-cpan.pl2
-rwxr-xr-xmaintainers/scripts/patchelf-hints.sh2
-rwxr-xr-xmaintainers/scripts/travis-nox-review-pr.sh41
-rwxr-xr-xmaintainers/scripts/update-channel-branches.sh112
-rw-r--r--maintainers/scripts/vanity-manual-equalities.txt7
-rwxr-xr-xmaintainers/scripts/vanity.sh122
-rw-r--r--nixos/doc/manual/administration/control-groups.xml6
-rw-r--r--nixos/doc/manual/administration/declarative-containers.xml6
-rw-r--r--nixos/doc/manual/administration/network-problems.xml8
-rw-r--r--nixos/doc/manual/configuration/config-file.xml2
-rw-r--r--nixos/doc/manual/configuration/ipv4-config.xml5
-rw-r--r--nixos/doc/manual/configuration/linux-kernel.xml2
-rw-r--r--nixos/doc/manual/configuration/network-manager.xml8
-rw-r--r--nixos/doc/manual/configuration/summary.xml2
-rw-r--r--nixos/doc/manual/configuration/x-windows.xml21
-rw-r--r--nixos/doc/manual/default.nix48
-rw-r--r--nixos/doc/manual/development/running-nixos-tests.xml32
-rw-r--r--nixos/doc/manual/development/sources.xml20
-rw-r--r--nixos/doc/manual/installation/installing.xml19
-rw-r--r--nixos/doc/manual/installation/obtaining.xml13
-rw-r--r--nixos/doc/manual/installation/upgrading.xml44
-rw-r--r--nixos/doc/manual/man-nixos-install.xml117
-rw-r--r--nixos/doc/manual/man-nixos-option.xml66
-rw-r--r--nixos/doc/manual/man-nixos-rebuild.xml23
-rw-r--r--nixos/doc/manual/man-pages.xml2
-rw-r--r--nixos/doc/manual/manual.xml1
-rw-r--r--nixos/doc/manual/options-to-docbook.xsl8
-rw-r--r--nixos/doc/manual/release-notes/release-notes.xml6
-rw-r--r--nixos/doc/manual/release-notes/rl-1410.xml22
-rw-r--r--nixos/doc/manual/release-notes/rl-1412.xml177
-rw-r--r--nixos/doc/manual/release-notes/rl-unstable.xml41
-rw-r--r--nixos/gui/README16
-rw-r--r--nixos/gui/application.ini36
-rw-r--r--nixos/gui/chrome.manifest1
-rw-r--r--nixos/gui/chrome/chrome.manifest1
-rw-r--r--nixos/gui/chrome/content/io.js137
-rw-r--r--nixos/gui/chrome/content/main.js70
-rw-r--r--nixos/gui/chrome/content/myviewer.xul63
-rw-r--r--nixos/gui/chrome/content/nixos.js255
-rw-r--r--nixos/gui/chrome/content/optionView.js242
-rw-r--r--nixos/gui/components/clh.js154
-rw-r--r--nixos/gui/defaults/preferences/myviewer-prefs.js11
-rw-r--r--nixos/lib/build-vms.nix13
-rw-r--r--nixos/lib/eval-config.nix83
-rw-r--r--nixos/lib/make-iso9660-image.nix13
-rw-r--r--nixos/lib/make-iso9660-image.sh70
-rw-r--r--nixos/lib/make-system-tarball.nix8
-rw-r--r--nixos/lib/make-system-tarball.sh6
-rw-r--r--nixos/lib/test-driver/Machine.pm6
-rw-r--r--nixos/lib/test-driver/log2html.xsl4
-rw-r--r--nixos/lib/testing.nix12
-rw-r--r--nixos/lib/utils.nix3
-rwxr-xr-xnixos/maintainers/scripts/azure/create-azure.sh11
-rw-r--r--nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix9
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-ebs-amis.py133
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-s3-amis.sh13
-rw-r--r--nixos/maintainers/scripts/ec2/ebs-creator.nix3
-rwxr-xr-xnixos/maintainers/scripts/gce/create-gce.sh7
-rw-r--r--nixos/modules/config/fonts/fontconfig-ultimate.nix193
-rw-r--r--nixos/modules/config/fonts/fontconfig.nix264
-rw-r--r--nixos/modules/config/fonts/fonts.nix10
-rw-r--r--nixos/modules/config/networking.nix119
-rw-r--r--nixos/modules/config/no-x-libs.nix4
-rw-r--r--nixos/modules/config/nsswitch.nix45
-rw-r--r--nixos/modules/config/pulseaudio.nix37
-rw-r--r--nixos/modules/config/shells-environment.nix43
-rw-r--r--nixos/modules/config/sysctl.nix2
-rw-r--r--nixos/modules/config/timezone.nix8
-rw-r--r--nixos/modules/config/update-users-groups.pl59
-rw-r--r--nixos/modules/config/users-groups.nix128
-rw-r--r--nixos/modules/config/vpnc.nix41
-rw-r--r--nixos/modules/hardware/all-firmware.nix6
-rw-r--r--nixos/modules/hardware/cpu/amd-microcode.nix3
-rw-r--r--nixos/modules/hardware/cpu/intel-microcode.nix3
-rw-r--r--nixos/modules/hardware/ksm.nix18
-rw-r--r--nixos/modules/hardware/opengl.nix21
-rw-r--r--nixos/modules/hardware/video/ati.nix37
-rw-r--r--nixos/modules/hardware/video/bumblebee.nix23
-rw-r--r--nixos/modules/hardware/video/nvidia.nix29
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-base.nix11
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical.nix73
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix193
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball-pc-readme.txt2
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix3
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl63
-rw-r--r--nixos/modules/installer/tools/nixos-install.sh26
-rw-r--r--nixos/modules/installer/tools/nixos-option.sh193
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh25
-rw-r--r--nixos/modules/installer/tools/nixos-version.sh10
-rw-r--r--nixos/modules/installer/tools/tools.nix41
-rw-r--r--nixos/modules/misc/check-config.nix15
-rw-r--r--nixos/modules/misc/extra-arguments.nix14
-rw-r--r--nixos/modules/misc/ids.nix183
-rw-r--r--nixos/modules/misc/locate.nix2
-rw-r--r--nixos/modules/misc/meta.nix63
-rw-r--r--nixos/modules/misc/nixpkgs.nix9
-rw-r--r--nixos/modules/misc/version.nix2
-rw-r--r--nixos/modules/module-list.nix97
-rw-r--r--nixos/modules/profiles/base.nix4
-rw-r--r--nixos/modules/profiles/container.nix56
-rw-r--r--nixos/modules/programs/bash/command-not-found.nix51
-rw-r--r--nixos/modules/programs/cdemu.nix49
-rw-r--r--nixos/modules/programs/command-not-found/command-not-found.nix71
-rw-r--r--nixos/modules/programs/command-not-found/command-not-found.pl (renamed from nixos/modules/programs/bash/command-not-found.pl)0
-rw-r--r--nixos/modules/programs/environment.nix39
-rw-r--r--nixos/modules/programs/ibus.nix51
-rw-r--r--nixos/modules/programs/light.nix26
-rw-r--r--nixos/modules/programs/shadow.nix4
-rw-r--r--nixos/modules/programs/ssh.nix52
-rw-r--r--nixos/modules/programs/ssmtp.nix17
-rw-r--r--nixos/modules/programs/uim.nix8
-rw-r--r--nixos/modules/programs/virtualbox-host.nix115
-rw-r--r--nixos/modules/programs/virtualbox.nix54
-rw-r--r--nixos/modules/programs/zsh/zsh.nix2
-rw-r--r--nixos/modules/rename.nix31
-rw-r--r--nixos/modules/security/apparmor.nix72
-rw-r--r--nixos/modules/security/ca.nix69
-rw-r--r--nixos/modules/security/duosec.nix4
-rw-r--r--nixos/modules/security/grsecurity.nix94
-rw-r--r--nixos/modules/security/pam.nix91
-rw-r--r--nixos/modules/security/rngd.nix4
-rw-r--r--nixos/modules/security/setuid-wrappers.nix3
-rw-r--r--nixos/modules/security/sudo.nix19
-rw-r--r--nixos/modules/services/amqp/rabbitmq.nix30
-rw-r--r--nixos/modules/services/audio/icecast.nix130
-rw-r--r--nixos/modules/services/audio/liquidsoap.nix74
-rw-r--r--nixos/modules/services/audio/mpd.nix89
-rw-r--r--nixos/modules/services/backup/almir.nix1
-rw-r--r--nixos/modules/services/backup/crashplan.nix63
-rw-r--r--nixos/modules/services/backup/rsnapshot.nix11
-rw-r--r--nixos/modules/services/backup/tarsnap.nix176
-rw-r--r--nixos/modules/services/cluster/fleet.nix150
-rw-r--r--nixos/modules/services/cluster/kubernetes.nix508
-rw-r--r--nixos/modules/services/cluster/panamax.nix156
-rw-r--r--nixos/modules/services/computing/slurm/slurm.nix130
-rw-r--r--nixos/modules/services/computing/torque/mom.nix63
-rw-r--r--nixos/modules/services/computing/torque/server.nix96
-rw-r--r--nixos/modules/services/continuous-integration/jenkins/default.nix29
-rw-r--r--nixos/modules/services/continuous-integration/jenkins/slave.nix6
-rw-r--r--nixos/modules/services/databases/4store-endpoint.nix3
-rw-r--r--nixos/modules/services/databases/4store.nix2
-rw-r--r--nixos/modules/services/databases/couchdb.nix9
-rw-r--r--nixos/modules/services/databases/hbase.nix133
-rw-r--r--nixos/modules/services/databases/influxdb.nix5
-rw-r--r--nixos/modules/services/databases/mongodb.nix55
-rw-r--r--nixos/modules/services/databases/mysql.nix18
-rw-r--r--nixos/modules/services/databases/neo4j.nix10
-rw-r--r--nixos/modules/services/databases/openldap.nix44
-rw-r--r--nixos/modules/services/databases/opentsdb.nix100
-rw-r--r--nixos/modules/services/databases/postgresql.nix4
-rw-r--r--nixos/modules/services/databases/postgresql.xml4
-rw-r--r--nixos/modules/services/databases/redis.nix4
-rw-r--r--nixos/modules/services/databases/virtuoso.nix2
-rw-r--r--nixos/modules/services/desktops/gnome3/gvfs.nix4
-rw-r--r--nixos/modules/services/desktops/profile-sync-daemon.nix139
-rw-r--r--nixos/modules/services/games/minecraft-server.nix28
-rw-r--r--nixos/modules/services/games/minetest-server.nix104
-rw-r--r--nixos/modules/services/hardware/80-net-setup-link.rules (renamed from nixos/modules/services/hardware/80-net-name-slot.rules)0
-rw-r--r--nixos/modules/services/hardware/freefall.nix62
-rw-r--r--nixos/modules/services/hardware/pommed.nix38
-rw-r--r--nixos/modules/services/hardware/tcsd.nix4
-rw-r--r--nixos/modules/services/hardware/thermald.nix2
-rw-r--r--nixos/modules/services/hardware/tlp.nix93
-rw-r--r--nixos/modules/services/hardware/udev.nix23
-rw-r--r--nixos/modules/services/logging/fluentd.nix39
-rw-r--r--nixos/modules/services/logging/logrotate.nix1
-rw-r--r--nixos/modules/services/logging/logstash.nix101
-rw-r--r--nixos/modules/services/logging/syslog-ng.nix35
-rw-r--r--nixos/modules/services/mail/dovecot.nix21
-rw-r--r--nixos/modules/services/mail/exim.nix111
-rw-r--r--nixos/modules/services/mail/mlmmj.nix2
-rw-r--r--nixos/modules/services/mail/postfix.nix4
-rw-r--r--nixos/modules/services/misc/apache-kafka.nix156
-rw-r--r--nixos/modules/services/misc/autofs.nix2
-rw-r--r--nixos/modules/services/misc/canto-daemon.nix37
-rw-r--r--nixos/modules/services/misc/cpuminer-cryptonight.nix66
-rw-r--r--nixos/modules/services/misc/defaultUnicornConfig.rb206
-rw-r--r--nixos/modules/services/misc/disnix.nix2
-rw-r--r--nixos/modules/services/misc/docker-registry.nix82
-rw-r--r--nixos/modules/services/misc/etcd.nix144
-rw-r--r--nixos/modules/services/misc/gitlab.nix300
-rw-r--r--nixos/modules/services/misc/gitolite.nix41
-rw-r--r--nixos/modules/services/misc/mediatomb.nix282
-rw-r--r--nixos/modules/services/misc/mesos-master.nix104
-rw-r--r--nixos/modules/services/misc/mesos-slave.nix116
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix88
-rw-r--r--nixos/modules/services/misc/nixos-manual.nix5
-rw-r--r--nixos/modules/services/misc/parsoid.nix100
-rw-r--r--nixos/modules/services/misc/phd.nix52
-rw-r--r--nixos/modules/services/misc/redmine.nix221
-rw-r--r--nixos/modules/services/misc/ripple-data-api.nix168
-rw-r--r--nixos/modules/services/misc/rippled.nix511
-rw-r--r--nixos/modules/services/misc/synergy.nix41
-rw-r--r--nixos/modules/services/misc/uhub.nix186
-rw-r--r--[-rwxr-xr-x]nixos/modules/services/misc/zookeeper.nix0
-rw-r--r--nixos/modules/services/monitoring/apcupsd.nix1
-rw-r--r--nixos/modules/services/monitoring/bosun.nix136
-rw-r--r--nixos/modules/services/monitoring/cadvisor.nix98
-rw-r--r--nixos/modules/services/monitoring/collectd.nix116
-rw-r--r--nixos/modules/services/monitoring/dd-agent.nix1
-rw-r--r--nixos/modules/services/monitoring/graphite.nix471
-rw-r--r--nixos/modules/services/monitoring/munin.nix20
-rw-r--r--nixos/modules/services/monitoring/riemann-dash.nix2
-rw-r--r--nixos/modules/services/monitoring/riemann.nix18
-rw-r--r--nixos/modules/services/monitoring/scollector.nix125
-rw-r--r--nixos/modules/services/monitoring/statsd.nix36
-rw-r--r--nixos/modules/services/monitoring/teamviewer.nix45
-rw-r--r--nixos/modules/services/monitoring/zabbix-server.nix13
-rw-r--r--nixos/modules/services/network-filesystems/diod.nix160
-rw-r--r--nixos/modules/services/network-filesystems/drbd.nix2
-rw-r--r--nixos/modules/services/network-filesystems/nfsd.nix29
-rw-r--r--nixos/modules/services/network-filesystems/rsyncd.nix133
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix173
-rw-r--r--nixos/modules/services/network-filesystems/u9fs.nix75
-rw-r--r--nixos/modules/services/network-filesystems/yandex-disk.nix104
-rw-r--r--nixos/modules/services/networking/aiccu.nix195
-rw-r--r--nixos/modules/services/networking/atftpd.nix51
-rw-r--r--nixos/modules/services/networking/btsync.nix51
-rw-r--r--nixos/modules/services/networking/chrony.nix11
-rw-r--r--nixos/modules/services/networking/cjdns-hosts.sh11
-rw-r--r--nixos/modules/services/networking/cjdns.nix362
-rw-r--r--nixos/modules/services/networking/consul.nix255
-rw-r--r--nixos/modules/services/networking/copy-com.nix53
-rw-r--r--nixos/modules/services/networking/ddclient.nix97
-rw-r--r--nixos/modules/services/networking/dhcpcd.nix45
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.nix139
-rw-r--r--nixos/modules/services/networking/dnsmasq.nix21
-rw-r--r--nixos/modules/services/networking/firefox/sync-server.nix142
-rw-r--r--nixos/modules/services/networking/firewall.nix377
-rw-r--r--nixos/modules/services/networking/git-daemon.nix32
-rw-r--r--nixos/modules/services/networking/gogoclient.nix3
-rw-r--r--nixos/modules/services/networking/haproxy.nix63
-rw-r--r--nixos/modules/services/networking/i2pd.nix198
-rw-r--r--nixos/modules/services/networking/mailpile.nix76
-rw-r--r--nixos/modules/services/networking/minidlna.nix2
-rw-r--r--nixos/modules/services/networking/mstpd.nix33
-rw-r--r--nixos/modules/services/networking/nat.nix142
-rw-r--r--nixos/modules/services/networking/networkmanager.nix49
-rw-r--r--nixos/modules/services/networking/nsd.nix687
-rw-r--r--nixos/modules/services/networking/ntpd.nix29
-rw-r--r--nixos/modules/services/networking/nylon.nix139
-rw-r--r--nixos/modules/services/networking/openntpd.nix72
-rw-r--r--nixos/modules/services/networking/polipo.nix4
-rw-r--r--nixos/modules/services/networking/privoxy.nix76
-rw-r--r--nixos/modules/services/networking/prosody.nix280
-rw-r--r--nixos/modules/services/networking/quassel.nix20
-rw-r--r--nixos/modules/services/networking/rdnssd.nix50
-rw-r--r--nixos/modules/services/networking/sabnzbd.nix13
-rw-r--r--nixos/modules/services/networking/seeks.nix75
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix88
-rw-r--r--nixos/modules/services/networking/sslh.nix89
-rw-r--r--nixos/modules/services/networking/strongswan.nix133
-rw-r--r--nixos/modules/services/networking/tcpcrypt.nix2
-rw-r--r--nixos/modules/services/networking/tftpd.nix6
-rw-r--r--nixos/modules/services/networking/tinc.nix162
-rw-r--r--nixos/modules/services/networking/tlsdated.nix110
-rw-r--r--nixos/modules/services/networking/tox-bootstrapd.nix80
-rw-r--r--nixos/modules/services/networking/unbound.nix32
-rw-r--r--nixos/modules/services/networking/unifi.nix46
-rw-r--r--nixos/modules/services/networking/vsftpd.nix5
-rw-r--r--nixos/modules/services/networking/wpa_supplicant.nix10
-rw-r--r--nixos/modules/services/networking/znc.nix191
-rw-r--r--nixos/modules/services/printing/cupsd.nix129
-rw-r--r--nixos/modules/services/scheduling/chronos.nix54
-rw-r--r--nixos/modules/services/scheduling/cron.nix35
-rw-r--r--nixos/modules/services/scheduling/marathon.nix58
-rw-r--r--nixos/modules/services/search/elasticsearch.nix5
-rw-r--r--nixos/modules/services/search/solr.nix4
-rw-r--r--nixos/modules/services/security/clamav.nix4
-rw-r--r--nixos/modules/services/security/fail2ban.nix6
-rw-r--r--nixos/modules/services/security/fprintd.nix53
-rw-r--r--nixos/modules/services/security/haveged.nix4
-rw-r--r--nixos/modules/services/security/munge.nix61
-rw-r--r--nixos/modules/services/security/tor.nix420
-rw-r--r--nixos/modules/services/security/torify.nix20
-rw-r--r--nixos/modules/services/security/torsocks.nix118
-rw-r--r--nixos/modules/services/system/cloud-init.nix152
-rw-r--r--nixos/modules/services/system/dbus.nix3
-rw-r--r--nixos/modules/services/system/nscd.nix2
-rw-r--r--nixos/modules/services/torrent/peerflix.nix63
-rw-r--r--nixos/modules/services/torrent/transmission.nix24
-rw-r--r--nixos/modules/services/ttys/agetty.nix7
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix40
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/limesurvey.nix196
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/mediawiki-postgresql-fixes.patch22
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/mediawiki.nix25
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/owncloud.nix576
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/per-server-options.nix14
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/phabricator.nix61
-rw-r--r--nixos/modules/services/web-servers/fcgiwrap.nix51
-rw-r--r--nixos/modules/services/web-servers/lighttpd/cgit.nix3
-rw-r--r--nixos/modules/services/web-servers/lighttpd/default.nix95
-rw-r--r--nixos/modules/services/web-servers/lighttpd/gitweb.nix3
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix6
-rw-r--r--nixos/modules/services/web-servers/tomcat.nix11
-rw-r--r--nixos/modules/services/web-servers/uwsgi.nix112
-rw-r--r--nixos/modules/services/web-servers/winstone.nix2
-rw-r--r--nixos/modules/services/web-servers/zope2.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/e17.nix30
-rw-r--r--nixos/modules/services/x11/desktop-managers/e18.nix43
-rw-r--r--nixos/modules/services/x11/desktop-managers/e19.nix101
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix13
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde4.nix32
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde5.nix138
-rw-r--r--nixos/modules/services/x11/desktop-managers/kodi.nix31
-rw-r--r--nixos/modules/services/x11/desktop-managers/xbmc.nix31
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix6
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix43
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix27
-rw-r--r--nixos/modules/services/x11/display-managers/kdm.nix5
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix56
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix110
-rw-r--r--nixos/modules/services/x11/display-managers/slim.nix10
-rw-r--r--nixos/modules/services/x11/hardware/multitouch.nix44
-rw-r--r--nixos/modules/services/x11/hardware/synaptics.nix23
-rw-r--r--nixos/modules/services/x11/unclutter.nix33
-rw-r--r--nixos/modules/services/x11/window-managers/afterstep.nix28
-rw-r--r--nixos/modules/services/x11/window-managers/awesome.nix31
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix30
-rw-r--r--nixos/modules/services/x11/window-managers/ratpoison.nix28
-rw-r--r--nixos/modules/services/x11/window-managers/sawfish.nix28
-rw-r--r--nixos/modules/services/x11/window-managers/spectrwm.nix33
-rw-r--r--nixos/modules/services/x11/window-managers/stumpwm.nix30
-rw-r--r--nixos/modules/services/x11/window-managers/windowmaker.nix28
-rw-r--r--nixos/modules/services/x11/window-managers/xmonad.nix29
-rw-r--r--nixos/modules/services/x11/xserver.nix14
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl159
-rw-r--r--nixos/modules/system/activation/top-level.nix4
-rw-r--r--nixos/modules/system/boot/kernel.nix3
-rw-r--r--nixos/modules/system/boot/loader/generations-dir/generations-dir.nix2
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix56
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl215
-rw-r--r--nixos/modules/system/boot/loader/grub/ipxe.nix64
-rw-r--r--nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py3
-rw-r--r--nixos/modules/system/boot/loader/gummiboot/gummiboot.nix4
-rw-r--r--nixos/modules/system/boot/loader/init-script/init-script.nix1
-rw-r--r--nixos/modules/system/boot/loader/loader.nix15
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix1
-rw-r--r--nixos/modules/system/boot/luksroot.nix97
-rw-r--r--nixos/modules/system/boot/modprobe.nix20
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh59
-rw-r--r--nixos/modules/system/boot/stage-1.nix139
-rw-r--r--nixos/modules/system/boot/stage-2-init.sh9
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix546
-rw-r--r--nixos/modules/system/boot/systemd.nix303
-rw-r--r--nixos/modules/system/etc/setup-etc.pl4
-rw-r--r--nixos/modules/tasks/bcache.nix11
-rw-r--r--nixos/modules/tasks/cpu-freq.nix4
-rw-r--r--nixos/modules/tasks/filesystems.nix7
-rw-r--r--nixos/modules/tasks/filesystems/btrfs.nix6
-rw-r--r--nixos/modules/tasks/filesystems/cifs.nix2
-rw-r--r--nixos/modules/tasks/filesystems/ext.nix5
-rw-r--r--nixos/modules/tasks/filesystems/f2fs.nix4
-rw-r--r--nixos/modules/tasks/filesystems/jfs.nix19
-rw-r--r--nixos/modules/tasks/filesystems/nfs.nix51
-rw-r--r--nixos/modules/tasks/filesystems/reiserfs.nix4
-rw-r--r--nixos/modules/tasks/filesystems/unionfs-fuse.nix5
-rw-r--r--nixos/modules/tasks/filesystems/vfat.nix2
-rw-r--r--nixos/modules/tasks/filesystems/xfs.nix2
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix239
-rw-r--r--nixos/modules/tasks/kbd.nix1
-rw-r--r--nixos/modules/tasks/network-interfaces-scripted.nix354
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix179
-rw-r--r--nixos/modules/tasks/network-interfaces.nix646
-rw-r--r--nixos/modules/tasks/swraid.nix4
-rw-r--r--nixos/modules/tasks/trackpoint.nix6
-rw-r--r--nixos/modules/testing/test-instrumentation.nix7
-rw-r--r--nixos/modules/virtualisation/amazon-config.nix4
-rw-r--r--nixos/modules/virtualisation/amazon-image.nix26
-rw-r--r--nixos/modules/virtualisation/amazon-options.nix16
-rw-r--r--nixos/modules/virtualisation/azure-config.nix5
-rw-r--r--nixos/modules/virtualisation/azure-image.nix164
-rw-r--r--nixos/modules/virtualisation/containers.nix48
-rw-r--r--nixos/modules/virtualisation/docker-image.nix19
-rw-r--r--nixos/modules/virtualisation/docker.nix13
-rw-r--r--nixos/modules/virtualisation/ec2-data.nix2
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix136
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix39
-rw-r--r--nixos/modules/virtualisation/lxc-container.nix26
-rw-r--r--nixos/modules/virtualisation/lxc.nix80
-rw-r--r--nixos/modules/virtualisation/nixos-container.pl33
-rw-r--r--nixos/modules/virtualisation/nova.nix4
-rw-r--r--nixos/modules/virtualisation/openvswitch.nix117
-rw-r--r--nixos/modules/virtualisation/parallels-guest.nix93
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix127
-rw-r--r--nixos/modules/virtualisation/virtualbox-guest.nix4
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix2
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix263
-rw-r--r--nixos/modules/virtualisation/xen-domU.nix5
-rw-r--r--nixos/release-combined.nix34
-rw-r--r--nixos/release-small.nix93
-rw-r--r--nixos/release.nix130
-rw-r--r--nixos/tests/bittorrent.nix10
-rw-r--r--nixos/tests/blivet.nix83
-rw-r--r--nixos/tests/boot.nix63
-rw-r--r--nixos/tests/cadvisor.nix30
-rw-r--r--nixos/tests/chromium.nix170
-rw-r--r--nixos/tests/cjdns.nix122
-rw-r--r--nixos/tests/containers.nix40
-rw-r--r--nixos/tests/docker-registry.nix40
-rw-r--r--nixos/tests/docker.nix24
-rw-r--r--nixos/tests/etcd.nix108
-rw-r--r--nixos/tests/fleet.nix73
-rw-r--r--nixos/tests/gitlab.nix21
-rw-r--r--nixos/tests/gnome3.nix4
-rw-r--r--nixos/tests/gnome3_12.nix31
-rw-r--r--nixos/tests/i3wm.nix28
-rw-r--r--nixos/tests/installer.nix164
-rw-r--r--nixos/tests/jenkins.nix2
-rw-r--r--nixos/tests/kde4.nix7
-rw-r--r--nixos/tests/kubernetes.nix179
-rw-r--r--nixos/tests/mesos.nix29
-rw-r--r--nixos/tests/misc.nix4
-rw-r--r--nixos/tests/munin.nix1
-rw-r--r--nixos/tests/nat.nix130
-rw-r--r--nixos/tests/networking-proxy.nix109
-rw-r--r--nixos/tests/networking.nix381
-rw-r--r--nixos/tests/nfs.nix5
-rw-r--r--nixos/tests/nsd.nix83
-rw-r--r--nixos/tests/panamax.nix18
-rw-r--r--nixos/tests/partition.nix4
-rw-r--r--nixos/tests/peerflix.nix21
-rw-r--r--nixos/tests/phabricator.nix7
-rw-r--r--nixos/tests/printing.nix19
-rw-r--r--nixos/tests/proxy.nix7
-rw-r--r--nixos/tests/quake3.nix4
-rw-r--r--nixos/tests/run-in-machine.nix8
-rw-r--r--nixos/tests/virtualbox.nix403
-rw-r--r--pkgs/applications/altcoins/bitcoin.nix38
-rw-r--r--pkgs/applications/altcoins/darkcoin.nix40
-rw-r--r--pkgs/applications/altcoins/default.nix26
-rw-r--r--pkgs/applications/altcoins/dogecoin.nix47
-rw-r--r--pkgs/applications/altcoins/litecoin.nix41
-rw-r--r--pkgs/applications/altcoins/memorycoin.nix50
-rw-r--r--pkgs/applications/altcoins/namecoin.nix26
-rw-r--r--pkgs/applications/altcoins/namecoind.nix35
-rw-r--r--pkgs/applications/altcoins/primecoin.nix52
-rw-r--r--pkgs/applications/audio/a2jmidid/default.nix10
-rw-r--r--pkgs/applications/audio/amarok/default.nix4
-rw-r--r--pkgs/applications/audio/ams-lv2/default.nix8
-rw-r--r--pkgs/applications/audio/ardour/default.nix23
-rw-r--r--pkgs/applications/audio/ario/default.nix29
-rw-r--r--pkgs/applications/audio/ario/glib-single-include.patch40
-rw-r--r--pkgs/applications/audio/audacious/default.nix12
-rw-r--r--pkgs/applications/audio/audacity/default.nix2
-rw-r--r--pkgs/applications/audio/aumix/default.nix2
-rw-r--r--pkgs/applications/audio/cantata/default.nix16
-rw-r--r--pkgs/applications/audio/caudec/default.nix39
-rw-r--r--pkgs/applications/audio/cava/default.nix26
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix2
-rw-r--r--pkgs/applications/audio/chuck/darwin-limits.patch13
-rw-r--r--pkgs/applications/audio/chuck/default.nix38
-rw-r--r--pkgs/applications/audio/clementine/clementine-dbus-namespace.patch36
-rw-r--r--pkgs/applications/audio/clementine/default.nix18
-rw-r--r--pkgs/applications/audio/cmus/default.nix15
-rw-r--r--pkgs/applications/audio/csound/default.nix6
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix98
-rw-r--r--pkgs/applications/audio/distrho/default.nix15
-rw-r--r--pkgs/applications/audio/drumgizmo/default.nix28
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--pkgs/applications/audio/easytag/default.nix25
-rw-r--r--pkgs/applications/audio/faust/default.nix209
-rw-r--r--pkgs/applications/audio/faust/faust2alqt.nix15
-rw-r--r--pkgs/applications/audio/faust/faust2alsa.nix29
-rw-r--r--pkgs/applications/audio/faust/faust2csound.nix20
-rw-r--r--pkgs/applications/audio/faust/faust2firefox.nix14
-rw-r--r--pkgs/applications/audio/faust/faust2jack.nix23
-rw-r--r--pkgs/applications/audio/faust/faust2jaqt.nix22
-rw-r--r--pkgs/applications/audio/faust/faust2lv2.nix11
-rw-r--r--pkgs/applications/audio/flac/default.nix6
-rw-r--r--pkgs/applications/audio/fldigi/default.nix4
-rw-r--r--pkgs/applications/audio/fmit/default.nix28
-rw-r--r--pkgs/applications/audio/freewheeling/am_path_sdl.patch40
-rw-r--r--pkgs/applications/audio/freewheeling/default.nix44
-rw-r--r--pkgs/applications/audio/freewheeling/xml.patch13
-rw-r--r--pkgs/applications/audio/game-music-emu/default.nix21
-rw-r--r--pkgs/applications/audio/gmpc/default.nix4
-rw-r--r--pkgs/applications/audio/gmpc/libmpd-11.8.17-remove-strndup.patch15
-rw-r--r--pkgs/applications/audio/gnaural/default.nix17
-rw-r--r--pkgs/applications/audio/google-musicmanager/default.nix16
-rw-r--r--pkgs/applications/audio/gpodder/default.nix44
-rw-r--r--pkgs/applications/audio/gtkpod/default.nix7
-rw-r--r--pkgs/applications/audio/guitarix/default.nix37
-rw-r--r--pkgs/applications/audio/hydrogen/default.nix28
-rw-r--r--pkgs/applications/audio/hydrogen/scons-env.patch28
-rw-r--r--pkgs/applications/audio/ingen/default.nix22
-rw-r--r--pkgs/applications/audio/jalv/default.nix4
-rw-r--r--pkgs/applications/audio/keyfinder-cli/default.nix32
-rw-r--r--pkgs/applications/audio/keyfinder/default.nix42
-rw-r--r--pkgs/applications/audio/kid3/default.nix74
-rw-r--r--pkgs/applications/audio/lame/default.nix17
-rw-r--r--pkgs/applications/audio/lmms/default.nix18
-rw-r--r--pkgs/applications/audio/meters_lv2/default.nix47
-rw-r--r--pkgs/applications/audio/mikmod/default.nix7
-rw-r--r--pkgs/applications/audio/milkytracker/default.nix2
-rw-r--r--pkgs/applications/audio/mimms/default.nix31
-rw-r--r--pkgs/applications/audio/moc/default.nix18
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy-moped/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy-mopify/default.nix23
-rw-r--r--pkgs/applications/audio/mopidy-spotify/default.nix6
-rw-r--r--pkgs/applications/audio/mopidy/default.nix6
-rw-r--r--pkgs/applications/audio/morituri/default.nix48
-rw-r--r--pkgs/applications/audio/morituri/paths.patch91
-rw-r--r--pkgs/applications/audio/mp3gain/default.nix27
-rw-r--r--pkgs/applications/audio/mp3info/default.nix2
-rw-r--r--pkgs/applications/audio/mp3splt/default.nix2
-rw-r--r--[-rwxr-xr-x]pkgs/applications/audio/mpc/default.nix10
-rw-r--r--pkgs/applications/audio/mpg321/default.nix26
-rw-r--r--pkgs/applications/audio/musescore/default.nix33
-rw-r--r--[-rwxr-xr-x]pkgs/applications/audio/ncmpc/default.nix9
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix45
-rw-r--r--pkgs/applications/audio/nova-filters/default.nix35
-rw-r--r--pkgs/applications/audio/opus-tools/default.nix7
-rw-r--r--pkgs/applications/audio/opusfile/default.nix7
-rw-r--r--pkgs/applications/audio/paprefs/default.nix33
-rw-r--r--pkgs/applications/audio/pavucontrol/default.nix27
-rw-r--r--pkgs/applications/audio/pd-plugins/cyclone/default.nix37
-rw-r--r--pkgs/applications/audio/pd-plugins/helmholtz/default.nix42
-rw-r--r--pkgs/applications/audio/pd-plugins/maxlib/default.nix33
-rw-r--r--pkgs/applications/audio/pd-plugins/mrpeach/default.nix60
-rw-r--r--pkgs/applications/audio/pd-plugins/puremapping/default.nix30
-rw-r--r--pkgs/applications/audio/pd-plugins/timbreid/default.nix35
-rw-r--r--pkgs/applications/audio/pd-plugins/zexy/default.nix36
-rw-r--r--pkgs/applications/audio/petrifoo/default.nix14
-rw-r--r--pkgs/applications/audio/pianobar/default.nix13
-rw-r--r--pkgs/applications/audio/picard/default.nix34
-rw-r--r--pkgs/applications/audio/praat/default.nix7
-rw-r--r--pkgs/applications/audio/puredata/wrapper.nix23
-rw-r--r--pkgs/applications/audio/qjackctl/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--pkgs/applications/audio/samplv1/default.nix4
-rw-r--r--pkgs/applications/audio/schismtracker/default.nix23
-rw-r--r--pkgs/applications/audio/snd/default.nix20
-rw-r--r--pkgs/applications/audio/sonic-visualiser/default.nix7
-rw-r--r--pkgs/applications/audio/sooperlooper/default.nix34
-rw-r--r--pkgs/applications/audio/sound-juicer/default.nix50
-rw-r--r--pkgs/applications/audio/spek/default.nix26
-rw-r--r--pkgs/applications/audio/spotify/default.nix70
-rw-r--r--pkgs/applications/audio/swh-lv2/default.nix11
-rw-r--r--pkgs/applications/audio/synthv1/default.nix4
-rw-r--r--pkgs/applications/audio/tomahawk/default.nix57
-rw-r--r--pkgs/applications/audio/transcode/default.nix2
-rw-r--r--[-rwxr-xr-x]pkgs/applications/audio/vimpc/default.nix4
-rw-r--r--pkgs/applications/audio/vimus/default.nix30
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix10
-rw-r--r--pkgs/applications/audio/zynaddsubfx/default.nix12
-rw-r--r--pkgs/applications/backup/crashplan/CrashPlanDesktop.patch8
-rw-r--r--pkgs/applications/backup/crashplan/CrashPlanEngine.patch37
-rw-r--r--pkgs/applications/backup/crashplan/default.nix83
-rw-r--r--pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix49
-rw-r--r--pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch13
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix35
-rw-r--r--pkgs/applications/display-managers/lightdm/lightdm.patch144
-rw-r--r--pkgs/applications/display-managers/sddm/cmake_paths.patch55
-rw-r--r--pkgs/applications/display-managers/sddm/default.nix47
-rw-r--r--pkgs/applications/display-managers/slim/themes.nix183
-rw-r--r--pkgs/applications/editors/atom/default.nix53
-rw-r--r--pkgs/applications/editors/bluefish/default.nix23
-rw-r--r--pkgs/applications/editors/bvi/default.nix15
-rw-r--r--pkgs/applications/editors/codeblocks/default.nix2
-rw-r--r--pkgs/applications/editors/eclipse/default.nix43
-rw-r--r--pkgs/applications/editors/edbrowse/default.nix26
-rw-r--r--pkgs/applications/editors/elvis/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-24/at-fdcwd.patch13
-rw-r--r--pkgs/applications/editors/emacs-24/builder.sh8
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix29
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.3.nix (renamed from pkgs/applications/editors/emacs-24/macport.nix)0
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.4.nix103
-rw-r--r--pkgs/applications/editors/emacs-24/site-start.el17
-rw-r--r--pkgs/applications/editors/emacs-modes/cask/default.nix47
-rw-r--r--pkgs/applications/editors/emacs-modes/d/default.nix32
-rw-r--r--pkgs/applications/editors/emacs-modes/darcsum/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/dash/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix9
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/fix-build.patch10
-rw-r--r--pkgs/applications/editors/emacs-modes/emms/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/ensime/default.nix22
-rw-r--r--pkgs/applications/editors/emacs-modes/ess/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/flycheck/default.nix32
-rw-r--r--pkgs/applications/editors/emacs-modes/git-modes/default.nix29
-rw-r--r--pkgs/applications/editors/emacs-modes/haskell/default.nix17
-rw-r--r--pkgs/applications/editors/emacs-modes/haskell/git.nix39
-rw-r--r--pkgs/applications/editors/emacs-modes/hsc3/default.nix27
-rw-r--r--pkgs/applications/editors/emacs-modes/icicles/default.nix42
-rw-r--r--pkgs/applications/editors/emacs-modes/idris/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/js2/default.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/let-alist/default.nix27
-rw-r--r--pkgs/applications/editors/emacs-modes/magit/default.nix36
-rw-r--r--pkgs/applications/editors/emacs-modes/nyan-mode/default.nix31
-rw-r--r--pkgs/applications/editors/emacs-modes/nyan-mode/directory.patch13
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix13
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch16
-rw-r--r--pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/s/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/scala-mode/v2.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/tuareg/default.nix13
-rw-r--r--pkgs/applications/editors/emacs-modes/writegood/default.nix4
-rw-r--r--pkgs/applications/editors/flpsed/default.nix7
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix25
-rw-r--r--pkgs/applications/editors/geany/default.nix10
-rw-r--r--pkgs/applications/editors/gobby/default.nix4
-rw-r--r--pkgs/applications/editors/idea/default.nix346
-rw-r--r--pkgs/applications/editors/idea/pycharm.nix115
-rw-r--r--pkgs/applications/editors/jedit/build.xml.patch257
-rw-r--r--pkgs/applications/editors/jedit/default.nix53
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix8
-rw-r--r--pkgs/applications/editors/leafpad/default.nix24
-rw-r--r--pkgs/applications/editors/lighttable/default.nix20
-rw-r--r--pkgs/applications/editors/mg/default.nix2
-rw-r--r--pkgs/applications/editors/monodevelop/builder.sh28
-rw-r--r--pkgs/applications/editors/monodevelop/default.nix95
-rw-r--r--pkgs/applications/editors/monodevelop/prefix.patch44
-rw-r--r--pkgs/applications/editors/monodoc/builder.sh20
-rw-r--r--pkgs/applications/editors/monodoc/default.nix15
-rw-r--r--pkgs/applications/editors/music/tuxguitar/default.nix44
-rw-r--r--pkgs/applications/editors/nano/default.nix35
-rw-r--r--pkgs/applications/editors/nedit/builder.sh10
-rw-r--r--pkgs/applications/editors/nedit/default.nix22
-rw-r--r--pkgs/applications/editors/nedit/dynamic.patch27
-rw-r--r--pkgs/applications/editors/neovim/default.nix65
-rw-r--r--pkgs/applications/editors/netbeans/default.nix4
-rw-r--r--pkgs/applications/editors/nvi/default.nix2
-rw-r--r--pkgs/applications/editors/rstudio/default.nix71
-rw-r--r--pkgs/applications/editors/rstudio/r-location.patch24
-rw-r--r--pkgs/applications/editors/scite/default.nix2
-rw-r--r--pkgs/applications/editors/sigil/default.nix66
-rw-r--r--pkgs/applications/editors/sublime/default.nix4
-rw-r--r--pkgs/applications/editors/sublime3/default.nix33
-rw-r--r--pkgs/applications/editors/texmaker/default.nix4
-rw-r--r--pkgs/applications/editors/texstudio/default.nix6
-rw-r--r--pkgs/applications/editors/tiled-qt/default.nix24
-rw-r--r--pkgs/applications/editors/tiled/default.nix24
-rw-r--r--pkgs/applications/editors/vanubi/default.nix28
-rw-r--r--pkgs/applications/editors/vim/configurable.nix32
-rw-r--r--pkgs/applications/editors/vim/default.nix8
-rw-r--r--pkgs/applications/editors/vim/ft-nix-support.patch34
-rw-r--r--pkgs/applications/editors/vim/macvim.nix18
-rw-r--r--pkgs/applications/editors/vim/macvim.patch33
-rw-r--r--pkgs/applications/editors/vim/qvim.nix15
-rw-r--r--pkgs/applications/editors/wxhexeditor/default.nix41
-rw-r--r--pkgs/applications/editors/yi/yi-contrib.nix21
-rw-r--r--pkgs/applications/editors/yi/yi-custom-cabal/LICENSE24
-rw-r--r--pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal17
-rw-r--r--pkgs/applications/editors/yi/yi-custom.nix40
-rw-r--r--pkgs/applications/editors/yi/yi.nix70
-rw-r--r--pkgs/applications/editors/zed/default.nix29
-rw-r--r--pkgs/applications/editors/zed/node.nix955
-rw-r--r--pkgs/applications/editors/zile/default.nix16
-rw-r--r--pkgs/applications/gis/qgis/default.nix39
-rw-r--r--pkgs/applications/gis/saga/default.nix23
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix119
-rw-r--r--pkgs/applications/graphics/PythonMagick/default.nix14
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix24
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix2
-rw-r--r--pkgs/applications/graphics/darktable/default.nix10
-rw-r--r--pkgs/applications/graphics/dia/default.nix14
-rw-r--r--pkgs/applications/graphics/dia/glib-top-level-header.patch471
-rw-r--r--pkgs/applications/graphics/digikam/2.nix2
-rw-r--r--pkgs/applications/graphics/digikam/default.nix30
-rw-r--r--pkgs/applications/graphics/f-spot/builder.sh27
-rw-r--r--pkgs/applications/graphics/f-spot/default.nix32
-rw-r--r--pkgs/applications/graphics/f-spot/dllmap.patch28
-rw-r--r--pkgs/applications/graphics/feh/default.nix10
-rw-r--r--pkgs/applications/graphics/freecad/default.nix2
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix47
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix7
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix10
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix33
-rw-r--r--pkgs/applications/graphics/k3d/default.nix33
-rw-r--r--pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch20
-rw-r--r--pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch54
-rw-r--r--pkgs/applications/graphics/k3d/k3d_gtkmm224.patch40
-rw-r--r--pkgs/applications/graphics/kgraphviewer/default.nix21
-rw-r--r--pkgs/applications/graphics/leocad/default.nix28
-rw-r--r--pkgs/applications/graphics/luminance-hdr/default.nix15
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix8
-rw-r--r--pkgs/applications/graphics/ocrad/default.nix18
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix9
-rw-r--r--pkgs/applications/graphics/openscad/default.nix3
-rw-r--r--pkgs/applications/graphics/panotools/default.nix4
-rw-r--r--pkgs/applications/graphics/paraview/default.nix6
-rw-r--r--pkgs/applications/graphics/pencil/default.nix19
-rw-r--r--pkgs/applications/graphics/photivo/default.nix2
-rw-r--r--pkgs/applications/graphics/photoqt/default.nix28
-rw-r--r--pkgs/applications/graphics/photoqt/graphicsmagick-path.patch46
-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/qtpfsgui/default.nix2
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix8
-rw-r--r--pkgs/applications/graphics/sane/backends.nix4
-rw-r--r--pkgs/applications/graphics/sane/xsane.nix1
-rw-r--r--pkgs/applications/graphics/scantailor/default.nix22
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix20
-rw-r--r--pkgs/applications/graphics/simple-scan/default.nix40
-rw-r--r--pkgs/applications/graphics/solvespace/default.nix45
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix21
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix28
-rw-r--r--pkgs/applications/graphics/ufraw/default.nix4
-rw-r--r--pkgs/applications/graphics/xournal/default.nix12
-rw-r--r--pkgs/applications/graphics/yed/default.nix29
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix4
-rw-r--r--pkgs/applications/ike/default.nix47
-rw-r--r--pkgs/applications/inferno/default.nix4
-rw-r--r--pkgs/applications/kde-apps-14.12/default.nix324
-rw-r--r--pkgs/applications/kde-apps-14.12/dependencies.nix1676
-rwxr-xr-xpkgs/applications/kde-apps-14.12/dependencies.sh12
-rw-r--r--pkgs/applications/kde-apps-14.12/kdelibs/polkit-install.patch (renamed from pkgs/desktops/kde-4.12/files/polkit-install.patch)0
-rw-r--r--pkgs/applications/kde-apps-14.12/manifest.nix5665
-rwxr-xr-xpkgs/applications/kde-apps-14.12/manifest.sh17
-rw-r--r--pkgs/applications/kde-apps-14.12/renames.nix23
-rw-r--r--pkgs/applications/kde-apps-14.12/setup-hook.sh1
-rw-r--r--pkgs/applications/kde-apps-15.04/default.nix324
-rw-r--r--pkgs/applications/kde-apps-15.04/dependencies.nix1804
-rwxr-xr-xpkgs/applications/kde-apps-15.04/dependencies.sh12
-rw-r--r--pkgs/applications/kde-apps-15.04/kdelibs/polkit-install.patch12
-rw-r--r--pkgs/applications/kde-apps-15.04/manifest.nix7636
-rwxr-xr-xpkgs/applications/kde-apps-15.04/manifest.sh20
-rw-r--r--pkgs/applications/kde-apps-15.04/renames.nix34
-rw-r--r--pkgs/applications/kde-apps-15.04/setup-hook.sh1
-rw-r--r--pkgs/applications/misc/3dfsb/default.nix32
-rw-r--r--pkgs/applications/misc/adobe-reader/builder.sh2
-rw-r--r--pkgs/applications/misc/adobe-reader/default.nix2
-rw-r--r--pkgs/applications/misc/arbtt/default.nix4
-rw-r--r--pkgs/applications/misc/audio/sox/0001-Check-for-minimum-size-sphere-headers.patch28
-rw-r--r--pkgs/applications/misc/audio/sox/0002-More-checks-for-invalid-MS-ADPCM-blocks.patch28
-rw-r--r--pkgs/applications/misc/audio/sox/default.nix15
-rw-r--r--pkgs/applications/misc/audio/soxr/default.nix6
-rw-r--r--pkgs/applications/misc/batti/default.nix50
-rw-r--r--pkgs/applications/misc/bitcoin/altcoins.nix100
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix53
-rw-r--r--pkgs/applications/misc/bitcoin/namecoin_dynamic.patch11
-rw-r--r--pkgs/applications/misc/blender/default.nix24
-rw-r--r--pkgs/applications/misc/blender/sm52.patch12
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/camlistore/default.nix6
-rw-r--r--pkgs/applications/misc/cbatticon/default.nix24
-rw-r--r--pkgs/applications/misc/cdrtools/default.nix26
-rw-r--r--pkgs/applications/misc/cherrytree/default.nix36
-rw-r--r--pkgs/applications/misc/cherrytree/subprocess.patch15
-rw-r--r--pkgs/applications/misc/cool-old-term/default.nix53
-rw-r--r--pkgs/applications/misc/cool-retro-term/default.nix47
-rw-r--r--pkgs/applications/misc/cortex/default.nix31
-rw-r--r--pkgs/applications/misc/ctodo/default.nix27
-rw-r--r--pkgs/applications/misc/cura/default.nix18
-rw-r--r--pkgs/applications/misc/curaengine/default.nix37
-rw-r--r--pkgs/applications/misc/d4x/default.nix10
-rw-r--r--pkgs/applications/misc/djvulibre/default.nix11
-rw-r--r--pkgs/applications/misc/dmenu2/default.nix29
-rw-r--r--pkgs/applications/misc/doomseeker/default.nix30
-rw-r--r--pkgs/applications/misc/dunst/default.nix5
-rw-r--r--pkgs/applications/misc/eaglemode/default.nix10
-rw-r--r--pkgs/applications/misc/electrum/default.nix43
-rw-r--r--pkgs/applications/misc/epdfview/default.nix14
-rw-r--r--pkgs/applications/misc/epdfview/glib-top-level-header.patch12
-rw-r--r--pkgs/applications/misc/evopedia/default.nix11
-rw-r--r--pkgs/applications/misc/evtest/default.nix6
-rw-r--r--pkgs/applications/misc/finalterm/default.nix21
-rw-r--r--pkgs/applications/misc/fme/default.nix33
-rw-r--r--pkgs/applications/misc/galculator/default.nix10
-rw-r--r--pkgs/applications/misc/gammu/default.nix3
-rw-r--r--pkgs/applications/misc/garmin-plugin/default.nix24
-rw-r--r--pkgs/applications/misc/girara/default.nix26
-rw-r--r--pkgs/applications/misc/gkrellm/default.nix2
-rw-r--r--pkgs/applications/misc/gnuradio-osmosdr/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix8
-rw-r--r--pkgs/applications/misc/googleearth/default.nix4
-rw-r--r--pkgs/applications/misc/gosmore/default.nix38
-rw-r--r--pkgs/applications/misc/gpa/default.nix20
-rw-r--r--pkgs/applications/misc/gphoto2/default.nix4
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix2
-rw-r--r--pkgs/applications/misc/gqrx/default.nix14
-rw-r--r--pkgs/applications/misc/gramps/default.nix57
-rw-r--r--pkgs/applications/misc/grass/default.nix7
-rw-r--r--pkgs/applications/misc/gtk2fontsel/default.nix28
-rw-r--r--pkgs/applications/misc/hello/ex-2/default.nix6
-rw-r--r--pkgs/applications/misc/hstr/default.nix25
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix8
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix111
-rw-r--r--pkgs/applications/misc/k2pdfopt/k2pdfopt.patch95
-rw-r--r--pkgs/applications/misc/k2pdfopt/tesseract.patch12
-rw-r--r--pkgs/applications/misc/k3b/default.nix23
-rw-r--r--pkgs/applications/misc/kde-wacomtablet/default.nix6
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix14
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/misc/keepassx/2.0.nix6
-rw-r--r--pkgs/applications/misc/keybase-node-client/default.nix37
-rw-r--r--pkgs/applications/misc/keybase-node-client/package.nix2076
-rw-r--r--pkgs/applications/misc/khal/default.nix34
-rw-r--r--pkgs/applications/misc/librecad/2.0.nix2
-rw-r--r--pkgs/applications/misc/lilyterm/default.nix10
-rw-r--r--pkgs/applications/misc/llpp/default.nix84
-rw-r--r--pkgs/applications/misc/lyx/default.nix4
-rw-r--r--pkgs/applications/misc/mdp/default.nix21
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix28
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix29
-rw-r--r--pkgs/applications/misc/monero/default.nix40
-rw-r--r--pkgs/applications/misc/mupdf/default.nix4
-rw-r--r--pkgs/applications/misc/mysql-workbench/default.nix4
-rw-r--r--pkgs/applications/misc/nanoblogger/default.nix29
-rw-r--r--pkgs/applications/misc/notify-osd/default.nix31
-rw-r--r--pkgs/applications/misc/openbox-menu/default.nix24
-rw-r--r--pkgs/applications/misc/openbox-menu/with-svg.patch11
-rw-r--r--pkgs/applications/misc/pcmanfm/default.nix6
-rw-r--r--pkgs/applications/misc/pgadmin/default.nix4
-rw-r--r--pkgs/applications/misc/pinfo/default.nix23
-rw-r--r--pkgs/applications/misc/printrun/default.nix7
-rw-r--r--pkgs/applications/misc/procmail/CVE-2014-3618.patch18
-rw-r--r--pkgs/applications/misc/procmail/default.nix8
-rw-r--r--pkgs/applications/misc/pstree/default.nix4
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix80
-rw-r--r--pkgs/applications/misc/pytrainer/default.nix48
-rw-r--r--pkgs/applications/misc/pytrainer/pytrainer-webkit.patch14
-rw-r--r--pkgs/applications/misc/qgis/default.nix34
-rw-r--r--pkgs/applications/misc/qpdfview/default.nix39
-rw-r--r--pkgs/applications/misc/qtbitcointrader/default.nix30
-rw-r--r--pkgs/applications/misc/redshift/default.nix8
-rw-r--r--pkgs/applications/misc/rescuetime/default.nix44
-rw-r--r--pkgs/applications/misc/robomongo/default.nix8
-rw-r--r--pkgs/applications/misc/rofi/default.nix29
-rw-r--r--pkgs/applications/misc/roxterm/default.nix62
-rw-r--r--pkgs/applications/misc/rtl-sdr/default.nix12
-rw-r--r--pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix26
-rw-r--r--pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix21
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix5
-rw-r--r--pkgs/applications/misc/rxvt_unicode/rxvt-unicode-makefile-phony.patch10
-rw-r--r--pkgs/applications/misc/rxvt_unicode/wrapper.nix28
-rw-r--r--pkgs/applications/misc/sakura/default.nix24
-rw-r--r--pkgs/applications/misc/scim/default.nix42
-rw-r--r--pkgs/applications/misc/slic3r/default.nix15
-rw-r--r--pkgs/applications/misc/slic3r/fix-no-display.patch59
-rw-r--r--pkgs/applications/misc/slmenu/default.nix30
-rw-r--r--pkgs/applications/misc/spacefm/default.nix6
-rw-r--r--pkgs/applications/misc/sqliteman/default.nix31
-rw-r--r--pkgs/applications/misc/stag/default.nix24
-rw-r--r--pkgs/applications/misc/stardict/stardict.nix6
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix23
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix17
-rw-r--r--pkgs/applications/misc/synergy/default.nix17
-rw-r--r--pkgs/applications/misc/taffybar/default.nix15
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix13
-rw-r--r--pkgs/applications/misc/terminal-notifier/default.nix26
-rw-r--r--pkgs/applications/misc/termite/default.nix26
-rw-r--r--pkgs/applications/misc/tessel/default.nix40
-rw-r--r--pkgs/applications/misc/tessel/package.nix1974
-rw-r--r--pkgs/applications/misc/tilda/default.nix33
-rw-r--r--pkgs/applications/misc/twmn/default.nix17
-rw-r--r--pkgs/applications/misc/vifm/default.nix8
-rw-r--r--pkgs/applications/misc/vue/default.nix15
-rw-r--r--pkgs/applications/misc/vym/default.nix8
-rw-r--r--pkgs/applications/misc/workrave/default.nix44
-rw-r--r--pkgs/applications/misc/xca/0001-Fix-for-openssl-1.0.1i.patch57
-rw-r--r--pkgs/applications/misc/xca/default.nix5
-rw-r--r--pkgs/applications/misc/xfe/default.nix4
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix2
-rw-r--r--pkgs/applications/misc/xiphos/default.nix60
-rw-r--r--pkgs/applications/misc/xkblayout-state/default.nix25
-rw-r--r--pkgs/applications/misc/xlsfonts/default.nix2
-rw-r--r--pkgs/applications/misc/xmobar/default.nix16
-rw-r--r--pkgs/applications/misc/xpdf/default.nix10
-rw-r--r--pkgs/applications/misc/xrandr-invert-colors/default.nix26
-rw-r--r--pkgs/applications/misc/xterm/default.nix20
-rw-r--r--pkgs/applications/misc/yakuake/default.nix6
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix15
-rw-r--r--pkgs/applications/misc/zathura/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/config.patch6
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix4
-rw-r--r--pkgs/applications/networking/bittorrentsync/1.4.x.nix42
-rw-r--r--pkgs/applications/networking/bittorrentsync/2.0.x.nix42
-rw-r--r--pkgs/applications/networking/bittorrentsync/default.nix42
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix10
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix29
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix30
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix75
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/default.nix92
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths.patch99
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_42.patch93
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch13
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sources.nix24
-rw-r--r--pkgs/applications/networking/browsers/conkeror/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/dillo/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix213
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb217
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb48
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix188
-rw-r--r--pkgs/applications/networking/browsers/firefox/13.0.nix188
-rw-r--r--pkgs/applications/networking/browsers/firefox/30.nix211
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix37
-rw-r--r--pkgs/applications/networking/browsers/jumanji/default.nix28
-rw-r--r--pkgs/applications/networking/browsers/kwebkitpart/CVE-2014-8600.diff33
-rw-r--r--pkgs/applications/networking/browsers/kwebkitpart/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/links/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix55
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix15
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix37
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix44
-rw-r--r--pkgs/applications/networking/browsers/mozilla/builder.sh51
-rw-r--r--pkgs/applications/networking/browsers/mozilla/default.nix21
-rw-r--r--pkgs/applications/networking/browsers/netsurf/haru.nix4
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix2
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix2
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix17
-rw-r--r--pkgs/applications/networking/browsers/rekonq/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/chronos/chronos-deps.nix18
-rw-r--r--pkgs/applications/networking/cluster/chronos/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/chronos/fetch-chronos-deps.sh1672
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/marathon/default.nix30
-rw-r--r--pkgs/applications/networking/cluster/mesos/darwin.patch80
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh2165
-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.nix77
-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/rq/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix126
-rw-r--r--pkgs/applications/networking/copy-com/default.nix58
-rw-r--r--pkgs/applications/networking/davmail/default.nix6
-rw-r--r--pkgs/applications/networking/dropbox-cli/default.nix7
-rw-r--r--pkgs/applications/networking/dropbox/default.nix80
-rw-r--r--pkgs/applications/networking/enhanced-ctorrent/default.nix22
-rw-r--r--pkgs/applications/networking/feedreaders/canto-curses/default.nix32
-rw-r--r--pkgs/applications/networking/feedreaders/canto-daemon/default.nix32
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/default.nix5
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/dev.nix5
-rw-r--r--pkgs/applications/networking/feedreaders/rawdog/default.nix21
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix8
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix18
-rw-r--r--pkgs/applications/networking/ids/bro/default.nix11
-rw-r--r--pkgs/applications/networking/ids/daq/default.nix7
-rw-r--r--pkgs/applications/networking/ids/snort/default.nix8
-rw-r--r--pkgs/applications/networking/ike/default.nix47
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/pythonpath.patch20
-rw-r--r--pkgs/applications/networking/instant-messengers/choqok/default.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/freetalk/default.nix73
-rw-r--r--pkgs/applications/networking/instant-messengers/fuze/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/gtmess/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/gtmess/va_list.patch22
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix41
-rw-r--r--pkgs/applications/networking/instant-messengers/mcabber/default.nix29
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix56
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix44
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch20
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix71
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix24
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix41
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix51
-rw-r--r--pkgs/applications/networking/instant-messengers/ratox/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/silc-client/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/skype/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix22
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/server.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram-cli/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.5.3.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/tkabber/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix32
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix32
-rw-r--r--pkgs/applications/networking/instant-messengers/vacuum/default.nix8
-rw-r--r--pkgs/applications/networking/iptraf/default.nix2
-rw-r--r--pkgs/applications/networking/irc/chatzilla/default.nix10
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix4
-rw-r--r--pkgs/applications/networking/irc/konversation/default.nix4
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix39
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix22
-rw-r--r--pkgs/applications/networking/irc/weechat/devel.nix41
-rw-r--r--pkgs/applications/networking/jmeter/default.nix2
-rw-r--r--pkgs/applications/networking/linssid/default.nix34
-rw-r--r--pkgs/applications/networking/mailreaders/alpine/default.nix38
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix81
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix18
-rw-r--r--pkgs/applications/networking/mailreaders/mailcheck/default.nix27
-rw-r--r--pkgs/applications/networking/mailreaders/mailcheck/mailcheck-Makefile.patch22
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix26
-rw-r--r--pkgs/applications/networking/mailreaders/mutt-kz/default.nix64
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix34
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/mailpath.patch12
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix78
-rw-r--r--pkgs/applications/networking/mailreaders/realpine/default.nix39
-rw-r--r--pkgs/applications/networking/mailreaders/sup/.bundix/cache4
-rw-r--r--pkgs/applications/networking/mailreaders/sup/Gemfile8
-rw-r--r--pkgs/applications/networking/mailreaders/sup/Gemfile.lock34
-rw-r--r--pkgs/applications/networking/mailreaders/sup/default.nix86
-rw-r--r--pkgs/applications/networking/mailreaders/sup/gemset.nix107
-rw-r--r--pkgs/applications/networking/mailreaders/sylpheed/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix136
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb210
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb46
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix120
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix35
-rw-r--r--pkgs/applications/networking/msmtp/default.nix12
-rw-r--r--pkgs/applications/networking/mumble/default.nix57
-rw-r--r--pkgs/applications/networking/mumble/murmur.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix1
-rw-r--r--pkgs/applications/networking/newsreaders/slrn/default.nix18
-rw-r--r--pkgs/applications/networking/notbit/default.nix6
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix33
-rw-r--r--pkgs/applications/networking/p2p/frostwire/default.nix36
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/gnunet/svn.nix2
-rw-r--r--pkgs/applications/networking/p2p/mldonkey/default.nix1
-rw-r--r--pkgs/applications/networking/p2p/opentracker/default.nix24
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix39
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix10
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix3
-rw-r--r--pkgs/applications/networking/pond/default.nix30
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix2
-rw-r--r--pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff25
-rw-r--r--pkgs/applications/networking/remote/freerdp/unstable.nix89
-rw-r--r--pkgs/applications/networking/remote/putty/default.nix38
-rw-r--r--pkgs/applications/networking/remote/rdesktop/default.nix7
-rw-r--r--pkgs/applications/networking/remote/ssvnc/default.nix4
-rw-r--r--pkgs/applications/networking/remote/teamviewer/10.nix47
-rw-r--r--pkgs/applications/networking/remote/teamviewer/8.nix12
-rw-r--r--pkgs/applications/networking/remote/teamviewer/9.nix47
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix53
-rw-r--r--pkgs/applications/networking/remote/x2goclient/default.nix37
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix4
-rw-r--r--pkgs/applications/networking/sipcmd/default.nix32
-rw-r--r--pkgs/applications/networking/sniffers/ettercap/default.nix22
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix43
-rw-r--r--pkgs/applications/networking/sync/akunambol/default.nix16
-rw-r--r--pkgs/applications/networking/sync/akunambol/non-latin.diff17
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix42
-rw-r--r--pkgs/applications/networking/sync/backintime/qt4.nix25
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix30
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix45
-rw-r--r--pkgs/applications/networking/umurmur/default.nix20
-rw-r--r--pkgs/applications/networking/vnstat/default.nix5
-rw-r--r--pkgs/applications/networking/znc/default.nix4
-rw-r--r--pkgs/applications/networking/znc/modules.nix17
-rw-r--r--pkgs/applications/office/abiword/default.nix29
-rw-r--r--pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch18
-rw-r--r--pkgs/applications/office/antiword/default.nix4
-rw-r--r--pkgs/applications/office/calligra/default.nix26
-rw-r--r--pkgs/applications/office/calligra/fix-kde4.10-build.patch36
-rw-r--r--pkgs/applications/office/calligra/librevenge.patch882
-rw-r--r--pkgs/applications/office/gnucash/default.nix2
-rw-r--r--pkgs/applications/office/gnumeric/default.nix9
-rw-r--r--pkgs/applications/office/hledger-interest/default.nix8
-rw-r--r--pkgs/applications/office/hledger-irr/default.nix2
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/office/impressive/default.nix6
-rw-r--r--pkgs/applications/office/jabref/default.nix41
-rw-r--r--pkgs/applications/office/kbibtex/default.nix4
-rw-r--r--pkgs/applications/office/ledger/3.0.nix43
-rw-r--r--pkgs/applications/office/ledger/default.nix45
-rw-r--r--pkgs/applications/office/libreoffice/default.nix62
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix122
-rw-r--r--pkgs/applications/office/mendeley/default.nix66
-rw-r--r--pkgs/applications/office/pinpoint/default.nix19
-rw-r--r--pkgs/applications/office/scribus/default.nix8
-rw-r--r--pkgs/applications/office/skrooge/default.nix11
-rw-r--r--pkgs/applications/office/tagainijisho/default.nix22
-rw-r--r--pkgs/applications/office/zim/default.nix105
-rw-r--r--pkgs/applications/office/zotero/default.nix68
-rw-r--r--pkgs/applications/office/zotero/firefox-bin/default.nix162
-rw-r--r--pkgs/applications/office/zotero/firefox-bin/generate_sources.rb48
-rw-r--r--pkgs/applications/office/zotero/firefox-bin/sources.nix192
-rw-r--r--pkgs/applications/office/zotero/zotero.sh2
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix9
-rw-r--r--pkgs/applications/science/astronomy/xplanet/giflib.patch19
-rw-r--r--pkgs/applications/science/electronics/eagle/default.nix4
-rw-r--r--pkgs/applications/science/electronics/fritzing/default.nix31
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/qucs/default.nix11
-rw-r--r--pkgs/applications/science/logic/abc/default.nix9
-rw-r--r--pkgs/applications/science/logic/abella/default.nix38
-rw-r--r--pkgs/applications/science/logic/acgtk/default.nix51
-rw-r--r--pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch23
-rw-r--r--pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch11
-rw-r--r--pkgs/applications/science/logic/alt-ergo/default.nix8
-rw-r--r--pkgs/applications/science/logic/coq/8.3.nix7
-rw-r--r--pkgs/applications/science/logic/coq/HEAD.nix37
-rw-r--r--pkgs/applications/science/logic/coq/default.nix35
-rw-r--r--pkgs/applications/science/logic/cvc3/default.nix11
-rw-r--r--pkgs/applications/science/logic/cvc4/default.nix23
-rw-r--r--pkgs/applications/science/logic/hol/default.nix2
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix13
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix36
-rw-r--r--pkgs/applications/science/logic/lean/default.nix28
-rw-r--r--pkgs/applications/science/logic/leo2/default.nix2
-rw-r--r--pkgs/applications/science/logic/matita/130312.nix5
-rw-r--r--pkgs/applications/science/logic/ott/default.nix43
-rw-r--r--pkgs/applications/science/logic/satallax/default.nix13
-rw-r--r--pkgs/applications/science/logic/spass/default.nix2
-rw-r--r--pkgs/applications/science/logic/ssreflect/default.nix50
-rw-r--r--pkgs/applications/science/logic/ssreflect/static.patch21
-rw-r--r--pkgs/applications/science/logic/tptp/default.nix4
-rw-r--r--pkgs/applications/science/logic/twelf/default.nix5
-rw-r--r--pkgs/applications/science/logic/verifast/default.nix6
-rw-r--r--pkgs/applications/science/logic/verit/default.nix31
-rw-r--r--pkgs/applications/science/logic/why3/default.nix18
-rw-r--r--pkgs/applications/science/logic/yices/default.nix2
-rw-r--r--pkgs/applications/science/logic/z3/default.nix37
-rw-r--r--pkgs/applications/science/math/R/default.nix8
-rw-r--r--pkgs/applications/science/math/fricas/default.nix2
-rw-r--r--pkgs/applications/science/math/mathematica/9.nix124
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix30
-rw-r--r--pkgs/applications/science/math/maxima/default.nix11
-rw-r--r--pkgs/applications/science/math/pari/default.nix9
-rw-r--r--pkgs/applications/science/math/pcalc/default.nix26
-rw-r--r--pkgs/applications/science/math/pssp/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/default.nix9
-rw-r--r--pkgs/applications/science/math/sloane/default.nix6
-rw-r--r--pkgs/applications/science/math/weka/default.nix6
-rw-r--r--pkgs/applications/science/math/wxmaxima/default.nix6
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix6
-rw-r--r--pkgs/applications/science/misc/fityk/default.nix2
-rw-r--r--pkgs/applications/science/misc/golly/default.nix68
-rw-r--r--pkgs/applications/science/misc/golly/default.upstream4
-rw-r--r--pkgs/applications/science/misc/golly/src-for-default.nix9
-rw-r--r--pkgs/applications/science/misc/golly/src-info-for-default.nix5
-rw-r--r--pkgs/applications/science/misc/root/cmake.patch4
-rw-r--r--pkgs/applications/science/misc/root/default.nix14
-rw-r--r--pkgs/applications/science/misc/vite/default.nix36
-rw-r--r--pkgs/applications/science/misc/vite/larger-line-buffer.patch14
-rw-r--r--pkgs/applications/science/programming/plm/default.nix36
-rw-r--r--pkgs/applications/search/recoll/default.nix4
-rw-r--r--pkgs/applications/taxes/aangifte-2006/builder.sh2
-rw-r--r--pkgs/applications/taxes/aangifte-2007/builder.sh6
-rw-r--r--pkgs/applications/taxes/aangifte-2008/builder.sh6
-rw-r--r--pkgs/applications/taxes/aangifte-2009/default.nix4
-rw-r--r--pkgs/applications/taxes/aangifte-2010/default.nix4
-rw-r--r--pkgs/applications/taxes/aangifte-2011/default.nix4
-rw-r--r--pkgs/applications/taxes/aangifte-2012/default.nix6
-rw-r--r--pkgs/applications/taxes/aangifte-2013/default.nix6
-rw-r--r--pkgs/applications/version-management/darcs/default.nix33
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix4
-rw-r--r--pkgs/applications/version-management/fossil/default.nix14
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix18
-rw-r--r--pkgs/applications/version-management/git-and-tools/fast-export/default.nix15
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix61
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-bz/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix36
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix23
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix31
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch13
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix17
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix49
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix13
-rw-r--r--pkgs/applications/version-management/git-and-tools/topgit/default.nix2
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab-shell/default.nix59
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile258
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock712
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix76
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix2398
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch109
-rw-r--r--pkgs/applications/version-management/gitolite/default.nix4
-rw-r--r--pkgs/applications/version-management/gource/default.nix26
-rw-r--r--pkgs/applications/version-management/guitone/default.nix8
-rw-r--r--pkgs/applications/version-management/meld/default.nix50
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix4
-rw-r--r--pkgs/applications/version-management/mr/default.nix55
-rw-r--r--pkgs/applications/version-management/rcs/default.nix4
-rw-r--r--pkgs/applications/version-management/redmine/2002_FHS_through_env_vars.patch100
-rw-r--r--pkgs/applications/version-management/redmine/2003_externalize_session_config.patch72
-rw-r--r--pkgs/applications/version-management/redmine/2004_FHS_plugins_assets.patch11
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile.lock152
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile.nix332
-rw-r--r--pkgs/applications/version-management/redmine/README6
-rw-r--r--pkgs/applications/version-management/redmine/bootstrap.nix45
-rw-r--r--pkgs/applications/version-management/redmine/default.nix74
-rw-r--r--pkgs/applications/version-management/redmine/generate_nix_requirements.rb56
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix64
-rw-r--r--pkgs/applications/version-management/src/default.nix38
-rw-r--r--pkgs/applications/version-management/src/path.patch30
-rw-r--r--pkgs/applications/version-management/subversion/default.nix29
-rw-r--r--pkgs/applications/version-management/vcsh/default.nix22
-rw-r--r--pkgs/applications/video/aegisub/default.nix33
-rw-r--r--pkgs/applications/video/bomi/default.nix96
-rw-r--r--pkgs/applications/video/byzanz/add-amflags.patch12
-rw-r--r--pkgs/applications/video/byzanz/default.nix28
-rw-r--r--pkgs/applications/video/cc1394/default.nix2
-rw-r--r--pkgs/applications/video/cinelerra/default.nix6
-rw-r--r--pkgs/applications/video/clipgrab/default.nix49
-rw-r--r--pkgs/applications/video/devede/default.nix30
-rw-r--r--pkgs/applications/video/dvdauthor/default.nix11
-rw-r--r--pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-automake-1.13.patch10
-rw-r--r--pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-mga-strndup.patch24
-rw-r--r--pkgs/applications/video/dvdauthor/dvdauthor-imagemagick-0.7.0.patch11
-rw-r--r--pkgs/applications/video/gnash/default.nix9
-rw-r--r--pkgs/applications/video/handbrake/default.nix3
-rw-r--r--pkgs/applications/video/kdenlive/default.nix8
-rw-r--r--pkgs/applications/video/kino/default.nix7
-rw-r--r--pkgs/applications/video/kino/kino-1.3.4-libav-0.7.patch60
-rw-r--r--pkgs/applications/video/kino/kino-1.3.4-libav-0.8.patch57
-rw-r--r--pkgs/applications/video/kino/kino-1.3.4-libavcodec-pkg-config.patch11
-rw-r--r--pkgs/applications/video/kino/kino-1.3.4-v4l1.patch21
-rw-r--r--pkgs/applications/video/kmplayer/default.nix3
-rw-r--r--pkgs/applications/video/kodi/default.nix122
-rw-r--r--pkgs/applications/video/kodi/plugins.nix108
-rw-r--r--pkgs/applications/video/kodi/wrapper.nix53
-rw-r--r--pkgs/applications/video/makemkv/builder.sh6
-rw-r--r--pkgs/applications/video/makemkv/default.nix21
-rw-r--r--pkgs/applications/video/miro/default.nix20
-rw-r--r--pkgs/applications/video/mjpg-streamer/default.nix34
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix17
-rw-r--r--pkgs/applications/video/mplayer/default.nix7
-rw-r--r--pkgs/applications/video/mplayer2/default.nix137
-rw-r--r--pkgs/applications/video/mpv/default.nix39
-rw-r--r--pkgs/applications/video/mythtv/default.nix22
-rw-r--r--pkgs/applications/video/mythtv/settings.patch13
-rw-r--r--pkgs/applications/video/obs-studio/default.nix46
-rw-r--r--pkgs/applications/video/omxplayer/default.nix4
-rw-r--r--pkgs/applications/video/p2pvc/default.nix26
-rw-r--r--pkgs/applications/video/pitivi/default.nix24
-rw-r--r--pkgs/applications/video/qarte/default.nix37
-rw-r--r--pkgs/applications/video/quvi/library.nix7
-rw-r--r--pkgs/applications/video/quvi/scripts.nix7
-rw-r--r--pkgs/applications/video/shotcut/default.nix10
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix4
-rw-r--r--pkgs/applications/video/smplayer/basegui.cpp.patch11
-rw-r--r--pkgs/applications/video/smplayer/default.nix6
-rw-r--r--pkgs/applications/video/smtube/default.nix23
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix2
-rw-r--r--pkgs/applications/video/vlc/default.nix22
-rw-r--r--pkgs/applications/video/wxcam/default.nix51
-rw-r--r--pkgs/applications/video/xbmc/default.nix104
-rw-r--r--pkgs/applications/video/xine-ui/default.nix4
-rw-r--r--pkgs/applications/video/xvidcap/default.nix11
-rw-r--r--pkgs/applications/video/zdfmediathk/default.nix41
-rw-r--r--pkgs/applications/virtualization/8086tiny/default.nix3
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix33
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix172
-rw-r--r--pkgs/applications/virtualization/docker/default.nix22
-rw-r--r--pkgs/applications/virtualization/qemu/cve-2014-0150.patch14
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix39
-rw-r--r--pkgs/applications/virtualization/qemu/no-etc-install.patch14
-rw-r--r--pkgs/applications/virtualization/remotebox/default.nix40
-rw-r--r--pkgs/applications/virtualization/seabios/default.nix44
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix11
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix24
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix102
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix8
-rw-r--r--pkgs/applications/virtualization/virtualbox/hardened.patch207
-rw-r--r--pkgs/applications/virtualization/xen/4.4.1.nix46
-rw-r--r--pkgs/applications/virtualization/xen/4.5.0.nix58
-rw-r--r--pkgs/applications/virtualization/xen/default.nix141
-rw-r--r--pkgs/applications/virtualization/xen/gcc-4.5.patch39
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix205
-rw-r--r--pkgs/applications/virtualization/xen/has-header.patch40
-rw-r--r--pkgs/applications/window-managers/afterstep/default.nix42
-rw-r--r--pkgs/applications/window-managers/awesome/3.4.nix5
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix40
-rw-r--r--pkgs/applications/window-managers/bar/default.nix4
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix6
-rw-r--r--pkgs/applications/window-managers/compiz/default.nix8
-rw-r--r--pkgs/applications/window-managers/fluxbox/default.nix24
-rw-r--r--pkgs/applications/window-managers/herbstluftwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/i3/default.nix24
-rw-r--r--pkgs/applications/window-managers/i3/lock.nix16
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix6
-rw-r--r--pkgs/applications/window-managers/icewm/deprecated.patch23
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/larswm/default.nix2
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix8
-rw-r--r--pkgs/applications/window-managers/ratpoison/default.nix36
-rw-r--r--pkgs/applications/window-managers/sawfish/default.nix42
-rw-r--r--pkgs/applications/window-managers/spectrwm/default.nix59
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix75
-rw-r--r--pkgs/applications/window-managers/stumpwm/fix-module-path.patch16
-rw-r--r--pkgs/applications/window-managers/sxhkd/default.nix2
-rw-r--r--pkgs/applications/window-managers/trayer/default.nix2
-rw-r--r--pkgs/applications/window-managers/weston/default.nix45
-rw-r--r--pkgs/applications/window-managers/windowmaker/default.nix40
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix26
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix30
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix26
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix18
-rw-r--r--pkgs/applications/window-managers/xmonad-log-applet/default.nix45
-rw-r--r--pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch50
-rw-r--r--pkgs/applications/window-managers/xmonad/default.nix2
-rw-r--r--pkgs/applications/window-managers/xmonad/wrapper.nix16
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch44
-rw-r--r--pkgs/build-support/agda/default.nix95
-rw-r--r--pkgs/build-support/autonix/default.nix179
-rwxr-xr-xpkgs/build-support/autonix/manifest.sh41
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/default.nix77
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/destroy.sh.in9
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/env.nix217
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/init.sh.in34
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/load.sh.in8
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/mount.sh.in3
-rw-r--r--pkgs/build-support/build-fhs-chrootenv/umount.sh.in2
-rwxr-xr-xpkgs/build-support/build-fhs-userenv/chroot-user.rb157
-rw-r--r--pkgs/build-support/build-fhs-userenv/default.nix37
-rw-r--r--pkgs/build-support/build-pecl.nix2
-rw-r--r--pkgs/build-support/builder-defs/builder-defs.nix10
-rw-r--r--pkgs/build-support/cabal/default.nix46
-rw-r--r--pkgs/build-support/cc-wrapper/add-flags28
-rw-r--r--pkgs/build-support/cc-wrapper/cc-wrapper.sh152
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix275
-rw-r--r--pkgs/build-support/cc-wrapper/gnat-wrapper.sh103
-rw-r--r--pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh33
-rw-r--r--pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh40
-rw-r--r--pkgs/build-support/cc-wrapper/ld-wrapper.sh166
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh44
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook.sh47
-rw-r--r--pkgs/build-support/cc-wrapper/utils.sh24
-rw-r--r--pkgs/build-support/clang-wrapper/add-flags24
-rw-r--r--pkgs/build-support/clang-wrapper/builder.sh137
-rw-r--r--pkgs/build-support/clang-wrapper/clang-wrapper.sh150
-rw-r--r--pkgs/build-support/clang-wrapper/default.nix89
-rw-r--r--pkgs/build-support/clang-wrapper/setup-hook.sh38
-rw-r--r--[-rwxr-xr-x]pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in0
-rw-r--r--pkgs/build-support/emacs/generic.nix41
-rw-r--r--pkgs/build-support/emacs/melpa.nix67
-rw-r--r--pkgs/build-support/emacs/melpa2nix.el36
-rw-r--r--pkgs/build-support/emacs/setup-hook.sh7
-rw-r--r--pkgs/build-support/emacs/trivial.nix34
-rw-r--r--pkgs/build-support/fetchadc/builder.sh7
-rw-r--r--pkgs/build-support/fetchadc/default.nix46
-rw-r--r--pkgs/build-support/fetchegg/builder.sh9
-rw-r--r--pkgs/build-support/fetchegg/default.nix28
-rw-r--r--pkgs/build-support/fetchgit/builder.sh1
-rw-r--r--pkgs/build-support/fetchgit/default.nix25
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git285
-rw-r--r--pkgs/build-support/fetchgitlocal/default.nix23
-rw-r--r--pkgs/build-support/fetchpatch/default.nix2
-rw-r--r--pkgs/build-support/fetchurl/builder.sh16
-rw-r--r--pkgs/build-support/fetchurl/default.nix7
-rw-r--r--pkgs/build-support/fetchurl/gnome.nix17
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix101
-rw-r--r--pkgs/build-support/fetchzip/default.nix35
-rwxr-xr-xpkgs/build-support/fetchzip/nix-prefetch-zip31
-rw-r--r--pkgs/build-support/gcc-cross-wrapper/builder.sh2
-rw-r--r--pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh19
-rw-r--r--pkgs/build-support/gcc-cross-wrapper/setup-hook.sh3
-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.nix100
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh146
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh (renamed from pkgs/build-support/gcc-wrapper/gcc-wrapper.sh)12
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh (renamed from pkgs/build-support/gcc-wrapper/gnat-wrapper.sh)0
-rw-r--r--pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh (renamed from pkgs/build-support/gcc-wrapper/gnatlink-wrapper.sh)0
-rw-r--r--pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh (renamed from pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh)0
-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.sh (renamed from pkgs/build-support/gcc-wrapper/utils.sh)0
-rw-r--r--pkgs/build-support/gcc-wrapper/add-flags28
-rw-r--r--pkgs/build-support/gcc-wrapper/builder.sh215
-rw-r--r--pkgs/build-support/gcc-wrapper/default.nix100
-rw-r--r--pkgs/build-support/gcc-wrapper/ld-wrapper.sh163
-rw-r--r--pkgs/build-support/gcc-wrapper/setup-hook.sh35
-rw-r--r--pkgs/build-support/grsecurity/default.nix12
-rw-r--r--pkgs/build-support/kernel/make-initrd.nix4
-rw-r--r--pkgs/build-support/kernel/make-initrd.sh5
-rw-r--r--pkgs/build-support/libredirect/libredirect.c7
-rw-r--r--pkgs/build-support/release/ant-build.nix4
-rw-r--r--pkgs/build-support/release/binary-tarball.nix2
-rw-r--r--pkgs/build-support/release/debian-build.nix2
-rw-r--r--pkgs/build-support/release/default.nix2
-rw-r--r--pkgs/build-support/release/functions.sh49
-rw-r--r--pkgs/build-support/release/nix-build.nix9
-rw-r--r--pkgs/build-support/release/rpm-build.nix2
-rw-r--r--pkgs/build-support/replace-dependency.nix26
-rw-r--r--pkgs/build-support/setup-hooks/autoreconf.sh4
-rw-r--r--pkgs/build-support/setup-hooks/find-xml-catalogs.sh22
-rw-r--r--pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh6
-rw-r--r--pkgs/build-support/setup-hooks/move-lib64.sh22
-rw-r--r--pkgs/build-support/setup-hooks/move-sbin.sh19
-rw-r--r--pkgs/build-support/substitute-files/substitute-all-files.nix22
-rw-r--r--pkgs/build-support/templaterpm/default.nix24
-rwxr-xr-xpkgs/build-support/templaterpm/nix-template-rpm.py518
-rw-r--r--pkgs/build-support/trivial-builders.nix10
-rw-r--r--pkgs/build-support/upstream-updater/update-walker-service-specific.sh4
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh10
-rw-r--r--pkgs/build-support/vm/default.nix181
-rw-r--r--pkgs/build-support/vm/rpm/redhat-9-i386.list92
-rw-r--r--pkgs/build-support/vm/rpm/redhat-9-i386.nix93
-rw-r--r--pkgs/build-support/vm/rpm/rpm-closure.pl62
-rwxr-xr-xpkgs/build-support/vm/rpm/rpm-list-to-nix.pl51
-rw-r--r--pkgs/build-support/vm/rpm/suse-9-i386.list90
-rw-r--r--pkgs/build-support/vm/rpm/suse-9-i386.nix90
-rw-r--r--pkgs/build-support/vm/windows/cygwin-iso/default.nix2
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/documentation/pthread-man-pages/default.nix2
-rw-r--r--pkgs/data/documentation/stdman/default.nix32
-rw-r--r--pkgs/data/documentation/zeal/default.nix50
-rw-r--r--pkgs/data/fonts/arkpandora/default.nix1
-rw-r--r--pkgs/data/fonts/aurulent-sans/default.nix2
-rw-r--r--pkgs/data/fonts/baekmuk-ttf/default.nix29
-rw-r--r--pkgs/data/fonts/caladea/cambria-alias.conf18
-rw-r--r--pkgs/data/fonts/caladea/default.nix40
-rw-r--r--pkgs/data/fonts/cantarell-fonts/default.nix10
-rw-r--r--pkgs/data/fonts/carlito/calibri-alias.conf18
-rw-r--r--pkgs/data/fonts/carlito/default.nix40
-rw-r--r--pkgs/data/fonts/clearlyU/default.nix1
-rw-r--r--pkgs/data/fonts/cm-unicode/default.nix14
-rw-r--r--pkgs/data/fonts/cm-unicode/default.upstream7
-rw-r--r--pkgs/data/fonts/comfortaa/default.nix31
-rw-r--r--pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf18
-rw-r--r--pkgs/data/fonts/comic-relief/default.nix49
-rw-r--r--pkgs/data/fonts/corefonts/default.nix22
-rw-r--r--pkgs/data/fonts/corefonts/no-op.conf9
-rw-r--r--pkgs/data/fonts/crimson/default.nix28
-rw-r--r--pkgs/data/fonts/dina/default.nix61
-rw-r--r--pkgs/data/fonts/fantasque-sans-mono/default.nix34
-rw-r--r--pkgs/data/fonts/fira/default.nix11
-rw-r--r--pkgs/data/fonts/freefont-ttf/default.nix10
-rw-r--r--pkgs/data/fonts/gyre/default.nix38
-rw-r--r--pkgs/data/fonts/hasklig/default.nix29
-rw-r--r--pkgs/data/fonts/junicode/default.nix11
-rw-r--r--pkgs/data/fonts/kochi-substitute-naga10/default.nix2
-rw-r--r--pkgs/data/fonts/kochi-substitute/default.nix2
-rw-r--r--pkgs/data/fonts/league-of-moveable-type/default.nix79
-rw-r--r--pkgs/data/fonts/lobster-two/default.nix75
-rw-r--r--pkgs/data/fonts/meslo-lg/default.nix42
-rw-r--r--pkgs/data/fonts/mplus-outline-fonts/default.nix26
-rw-r--r--pkgs/data/fonts/nafees/default.nix2
-rw-r--r--pkgs/data/fonts/open-dyslexic/default.nix30
-rw-r--r--pkgs/data/fonts/opensans-ttf/default.nix2
-rw-r--r--pkgs/data/fonts/pecita/default.nix26
-rw-r--r--pkgs/data/fonts/poly/default.nix2
-rw-r--r--pkgs/data/fonts/proggyfonts/default.nix40
-rw-r--r--pkgs/data/fonts/quattrocento-sans/default.nix31
-rw-r--r--pkgs/data/fonts/quattrocento/default.nix29
-rw-r--r--pkgs/data/fonts/redhat-liberation-fonts/binary.nix48
-rw-r--r--pkgs/data/fonts/redhat-liberation-fonts/default.nix18
-rw-r--r--pkgs/data/fonts/source-code-pro/default.nix2
-rw-r--r--pkgs/data/fonts/source-han-sans/base.nix26
-rw-r--r--pkgs/data/fonts/source-han-sans/default.nix47
-rw-r--r--pkgs/data/fonts/source-han-sans/japanese.nix6
-rw-r--r--pkgs/data/fonts/source-han-sans/korean.nix6
-rw-r--r--pkgs/data/fonts/source-han-sans/simplified-chinese.nix6
-rw-r--r--pkgs/data/fonts/source-han-sans/traditional-chinese.nix6
-rw-r--r--pkgs/data/fonts/stix-otf/default.nix30
-rw-r--r--pkgs/data/fonts/symbola/default.nix31
-rw-r--r--pkgs/data/fonts/tempora-lgc/default.nix80
-rw-r--r--pkgs/data/fonts/ubuntu-font-family/default.nix2
-rw-r--r--pkgs/data/fonts/ucs-fonts/default.nix1
-rw-r--r--pkgs/data/fonts/unifont/default.nix39
-rw-r--r--pkgs/data/fonts/vista-fonts/default.nix19
-rw-r--r--pkgs/data/fonts/vista-fonts/no-op.conf9
-rw-r--r--pkgs/data/fonts/wqy-microhei/default.nix4
-rw-r--r--pkgs/data/fonts/wqy-zenhei/default.nix4
-rw-r--r--pkgs/data/icons/hicolor-icon-theme/default.nix8
-rw-r--r--pkgs/data/icons/hicolor-icon-theme/setup-hook.sh20
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix30
-rw-r--r--pkgs/data/icons/numix-icon-theme/default.nix30
-rw-r--r--pkgs/data/misc/ddccontrol-db/default.nix36
-rw-r--r--pkgs/data/misc/geolite-legacy/builder.sh19
-rw-r--r--pkgs/data/misc/geolite-legacy/default.nix43
-rw-r--r--pkgs/data/misc/iana-etc/default.nix1
-rw-r--r--pkgs/data/misc/media-player-info/default.nix32
-rw-r--r--pkgs/data/misc/miscfiles/default.nix9
-rw-r--r--pkgs/data/misc/mobile-broadband-provider-info/default.nix2
-rw-r--r--pkgs/data/misc/poppler-data/default.nix6
-rw-r--r--pkgs/data/misc/shared-mime-info/default.nix4
-rw-r--r--pkgs/data/misc/tzdata/default.nix7
-rw-r--r--pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh17
-rw-r--r--pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix28
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix3
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix3
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix3
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix3
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix4
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix15
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center.nix4
-rw-r--r--pkgs/desktops/e17/default.nix48
-rw-r--r--pkgs/desktops/e17/e_dbus/default.nix31
-rw-r--r--pkgs/desktops/e17/e_dbus/setup-hook.sh8
-rw-r--r--pkgs/desktops/e17/ecore/default.nix33
-rw-r--r--pkgs/desktops/e17/edje/default.nix29
-rw-r--r--pkgs/desktops/e17/eet/default.nix29
-rw-r--r--pkgs/desktops/e17/eeze/default.nix23
-rw-r--r--pkgs/desktops/e17/efreet/default.nix29
-rw-r--r--pkgs/desktops/e17/eina/default.nix18
-rw-r--r--pkgs/desktops/e17/eio/default.nix24
-rw-r--r--pkgs/desktops/e17/elementary/default.nix19
-rw-r--r--pkgs/desktops/e17/embryo/default.nix22
-rw-r--r--pkgs/desktops/e17/emotion/default.nix19
-rw-r--r--pkgs/desktops/e17/enlightenment/default.nix32
-rw-r--r--pkgs/desktops/e17/ethumb/default.nix23
-rw-r--r--pkgs/desktops/e17/evas/default.nix25
-rw-r--r--pkgs/desktops/e17/terminology/default.nix17
-rw-r--r--pkgs/desktops/e18/default.nix16
-rw-r--r--pkgs/desktops/e18/econnman.nix23
-rw-r--r--pkgs/desktops/e18/efl.nix23
-rw-r--r--pkgs/desktops/e18/elementary.nix20
-rw-r--r--pkgs/desktops/e18/emotion.nix20
-rw-r--r--pkgs/desktops/e18/enlightenment.nix35
-rw-r--r--pkgs/desktops/e18/evas.nix17
-rw-r--r--pkgs/desktops/e18/terminology.nix23
-rw-r--r--pkgs/desktops/e19/default.nix27
-rw-r--r--pkgs/desktops/e19/econnman.nix23
-rwxr-xr-xpkgs/desktops/e19/efl-setup-hook.sh8
-rw-r--r--pkgs/desktops/e19/efl.nix48
-rw-r--r--pkgs/desktops/e19/elementary.nix21
-rw-r--r--pkgs/desktops/e19/emotion.nix20
-rw-r--r--pkgs/desktops/e19/enlightenment.nix47
-rw-r--r--pkgs/desktops/e19/evas.nix17
-rw-r--r--pkgs/desktops/e19/rage.nix46
-rw-r--r--pkgs/desktops/e19/terminology.nix24
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/ORBit2/default.nix12
-rw-r--r--pkgs/desktops/gnome-2/platform/gconfmm/default.nix12
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-common/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/platform/libIDL/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/platform/libbonobo/default.nix12
-rw-r--r--pkgs/desktops/gnome-2/platform/libbonoboui/default.nix12
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnome/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix14
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch285
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecups/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeui/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/glade/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix44
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/baobab/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/caribou/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/dconf/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/empathy/default.nix56
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/eog/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/evince/default.nix70
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/folks/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gconf/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gcr/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gdm/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gjs/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch10
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix51
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch11
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix62
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch17
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix42
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh10
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix34
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix48
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch147
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix52
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/grilo/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgee/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/mutter/default.nix33
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/rest/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/sushi/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/totem/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/tracker/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/vino/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/vte/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/yelp/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/zenity/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.10/default.nix195
-rw-r--r--pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix46
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch22
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix37
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/glade/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/polari/default.nix35
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix49
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/baobab/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/empathy/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/eog/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/evince/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/folks/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/propagate_env.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch26
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-control-center/vpn_plugins_path.patch19
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh10
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/grilo/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch72
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/tracker/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix45
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch227
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch227
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/yelp/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.12/default.nix63
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/geary/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/kde-4.12/applications/kate.nix11
-rw-r--r--pkgs/desktops/kde-4.12/default.nix44
-rw-r--r--pkgs/desktops/kde-4.12/kactivities.nix9
-rw-r--r--pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix11
-rw-r--r--pkgs/desktops/kde-4.12/kde-package/4.12.4.nix444
-rw-r--r--pkgs/desktops/kde-4.12/kde-package/default.nix129
-rwxr-xr-xpkgs/desktops/kde-4.12/kde-package/kde-manifest.sh146
-rw-r--r--pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch13
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kalzium.nix13
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/kstars.nix14
-rw-r--r--pkgs/desktops/kde-4.12/kdeedu/step.nix12
-rw-r--r--pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix15
-rw-r--r--pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix54
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/kgpg.nix10
-rw-r--r--pkgs/desktops/kde-4.12/kdeutils/print-manager.nix27
-rw-r--r--pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix13
-rw-r--r--pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix262
-rw-r--r--pkgs/desktops/kde-4.12/support/akonadi/default.nix24
-rw-r--r--pkgs/desktops/kde-4.14/CVE-2014-8600.diff19
-rw-r--r--pkgs/desktops/kde-4.14/applications/kate.nix11
-rw-r--r--pkgs/desktops/kde-4.14/applications/konsole.nix (renamed from pkgs/desktops/kde-4.12/applications/konsole.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/default.nix46
-rw-r--r--pkgs/desktops/kde-4.14/files/kde-wallpapers-buildsystem.patch (renamed from pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch)0
-rw-r--r--pkgs/desktops/kde-4.14/files/kdelibs-cve-2014-5033.patch36
-rw-r--r--pkgs/desktops/kde-4.14/files/polkit-install.patch12
-rw-r--r--pkgs/desktops/kde-4.14/kactivities.nix15
-rw-r--r--pkgs/desktops/kde-4.14/kde-base-artwork.nix (renamed from pkgs/desktops/kde-4.12/kde-base-artwork.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kde-package/4.14.3.nix620
-rw-r--r--pkgs/desktops/kde-4.14/kde-package/default.nix131
-rwxr-xr-xpkgs/desktops/kde-4.14/kde-package/kde-manifest.sh173
-rw-r--r--pkgs/desktops/kde-4.14/kde-package/kde-submodules.xslt (renamed from pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt)0
-rw-r--r--pkgs/desktops/kde-4.14/kde-runtime.nix (renamed from pkgs/desktops/kde-4.12/kde-runtime.nix)2
-rw-r--r--pkgs/desktops/kde-4.14/kde-wallpapers.nix (renamed from pkgs/desktops/kde-4.12/kde-wallpapers.nix)2
-rw-r--r--pkgs/desktops/kde-4.14/kde-workspace.nix (renamed from pkgs/desktops/kde-4.12/kde-workspace.nix)11
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/jovie.nix (renamed from pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kaccessible.nix (renamed from pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kmag.nix (renamed from pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kmousetool.nix (renamed from pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeaccessibility/kmouth.nix (renamed from pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeadmin/kcron.nix (renamed from pkgs/desktops/kde-4.12/kdeadmin/kcron.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeadmin/ksystemlog.nix (renamed from pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeadmin/kuser.nix (renamed from pkgs/desktops/kde-4.12/kdeadmin/kuser.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/ColorSchemes.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/FindXscreensaver.cmake (renamed from pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/HighResolutionWallpapers.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/IconThemes.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/WeatherWallpapers.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/desktopthemes.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/emoticons.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/kscreensaver.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/kwin-styles.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/styles.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/styles.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeartwork/wallpapers.nix (renamed from pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/perlqt.nix (renamed from pkgs/desktops/kde-4.12/kdebindings/perlqt.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/pykde4.nix (renamed from pkgs/desktops/kde-4.12/kdebindings/pykde4.nix)8
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/qtruby-install-prefix.patch (renamed from pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch)0
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/qtruby.nix (renamed from pkgs/desktops/kde-4.12/kdebindings/qtruby.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch16
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokegen-nix.patch (renamed from pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch)0
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokegen.nix (renamed from pkgs/desktops/kde-4.12/kdebindings/smokegen.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokekde.nix (renamed from pkgs/desktops/kde-4.12/kdebindings/smokekde.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/smokeqt.nix (renamed from pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/analitza.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/analitza.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/artikulate.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/blinken.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/blinken.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/cantor.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/cantor.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kalgebra.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kalzium.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kanagram.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kanagram.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kbruch.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kbruch.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kgeography.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kgeography.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/khangman.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/khangman.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kig.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kig.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kiten.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kiten.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/klettres.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/klettres.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kmplot.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kmplot.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix8
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/ktouch.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/ktouch.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kturtle.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kturtle.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/kwordquiz.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/libkdeedu.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/marble.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/marble.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/pairs.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/pairs.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/parley.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/parley.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/rocs.nix (renamed from pkgs/desktops/kde-4.12/kdeedu/rocs.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeedu/step.nix12
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/bomber.nix (renamed from pkgs/desktops/kde-4.12/kdegames/bomber.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/bovo.nix (renamed from pkgs/desktops/kde-4.12/kdegames/bovo.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/granatier.nix (renamed from pkgs/desktops/kde-4.12/kdegames/granatier.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kajongg.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kajongg.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kapman.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kapman.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/katomic.nix (renamed from pkgs/desktops/kde-4.12/kdegames/katomic.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kblackbox.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kblackbox.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kblocks.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kblocks.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kbounce.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kbounce.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kbreakout.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kbreakout.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kdiamond.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kdiamond.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kfourinline.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kfourinline.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kgoldrunner.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kigo.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kigo.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/killbots.nix (renamed from pkgs/desktops/kde-4.12/kdegames/killbots.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kiriki.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kiriki.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kjumpingcube.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/klickety.nix (renamed from pkgs/desktops/kde-4.12/kdegames/klickety.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/klines.nix (renamed from pkgs/desktops/kde-4.12/kdegames/klines.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kmahjongg.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kmines.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kmines.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/knavalbattle.nix (renamed from pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/knetwalk.nix (renamed from pkgs/desktops/kde-4.12/kdegames/knetwalk.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kolf.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kolf.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kollision.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kollision.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/konquest.nix (renamed from pkgs/desktops/kde-4.12/kdegames/konquest.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kpat.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kpat.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kreversi.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kreversi.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kshisen.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kshisen.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksirk.nix (renamed from pkgs/desktops/kde-4.12/kdegames/ksirk.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksnakeduel.nix (renamed from pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kspaceduel.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksquares.nix (renamed from pkgs/desktops/kde-4.12/kdegames/ksquares.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ksudoku.nix (renamed from pkgs/desktops/kde-4.12/kdegames/ksudoku.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/ktuberling.nix (renamed from pkgs/desktops/kde-4.12/kdegames/ktuberling.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/kubrick.nix (renamed from pkgs/desktops/kde-4.12/kdegames/kubrick.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/libkdegames.nix (renamed from pkgs/desktops/kde-4.12/kdegames/libkdegames.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/libkmahjongg.nix (renamed from pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/lskat.nix (renamed from pkgs/desktops/kde-4.12/kdegames/lskat.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/palapeli.nix (renamed from pkgs/desktops/kde-4.12/kdegames/palapeli.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegames/picmi.nix (renamed from pkgs/desktops/kde-4.12/kdegames/picmi.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix16
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kamera.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kamera.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kcolorchooser.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-mobipocket.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-strigi-analyzer.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-thumbnailers.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kgamma.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kolourpaint.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/kruler.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/kruler.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/ksaneplugin.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/ksnapshot.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libkdcraw.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libkexiv2.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libkipi.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/libksane.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/libksane.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/okular.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/okular.nix)4
-rw-r--r--pkgs/desktops/kde-4.14/kdegraphics/svgpart.nix (renamed from pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix11
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/baloo.nix18
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix14
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/nepomuk-core.nix (renamed from pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix)4
-rw-r--r--pkgs/desktops/kde-4.14/kdelibs/nepomuk-widgets.nix (renamed from pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/audiocd-kio.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/dragon.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/ffmpegthumbs.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/juk.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/juk.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/kmix.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/kscd.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/libkcddb.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/libkcompactdisc.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdemultimedia/mplayerthumbs.nix (renamed from pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-filesharing.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-strigi-analyzers.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kget.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/kget.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kopete.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/kopete.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/kppp.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/kppp.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/krdc.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/krdc.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/krfb.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/krfb.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/zeroconf-ioslave.nix (renamed from pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdepim-runtime.nix (renamed from pkgs/desktops/kde-4.12/kdepim-runtime.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdepim.nix (renamed from pkgs/desktops/kde-4.12/kdepim.nix)6
-rw-r--r--pkgs/desktops/kde-4.14/kdepimlibs.nix (renamed from pkgs/desktops/kde-4.12/kdepimlibs.nix)3
-rw-r--r--pkgs/desktops/kde-4.14/kdeplasma-addons.nix (renamed from pkgs/desktops/kde-4.12/kdeplasma-addons.nix)4
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/cervisia.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/cervisia.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/dolphin-plugins.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kapptemplate.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kcachegrind.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kde-dev-scripts.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kde-dev-utils.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix)2
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kdesdk-kioslaves.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kdesdk-strigi-analyzers.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kdesdk-thumbnailers.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/kompare.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/kompare.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/libkomparediff2.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/lokalize.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/lokalize.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/okteta.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/okteta.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/poxml.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/poxml.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdesdk/umbrello.nix (renamed from pkgs/desktops/kde-4.12/kdesdk/umbrello.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdetoys/amor.nix (renamed from pkgs/desktops/kde-4.12/kdetoys/amor.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdetoys/kteatime.nix (renamed from pkgs/desktops/kde-4.12/kdetoys/kteatime.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdetoys/ktux.nix (renamed from pkgs/desktops/kde-4.12/kdetoys/ktux.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/ark.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/ark.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/filelight.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/filelight.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kcalc.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/kcalc.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kcharselect.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kdf.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/kdf.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kfloppy.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kgpg.nix10
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kremotecontrol.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/ktimer.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/ktimer.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/kwalletmanager.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/print-manager.nix21
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/superkaramba.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/sweeper.nix (renamed from pkgs/desktops/kde-4.12/kdeutils/sweeper.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/kfilereplace.nix (renamed from pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/kimagemapeditor.nix (renamed from pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix13
-rw-r--r--pkgs/desktops/kde-4.14/kdewebdev/kommander.nix (renamed from pkgs/desktops/kde-4.12/kdewebdev/kommander.nix)0
-rw-r--r--pkgs/desktops/kde-4.14/l10n/default.nix (renamed from pkgs/desktops/kde-4.12/l10n/default.nix)0
-rwxr-xr-xpkgs/desktops/kde-4.14/l10n/l10n-manifest.sh (renamed from pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh)0
-rw-r--r--pkgs/desktops/kde-4.14/l10n/manifest-4.14.3.nix267
-rw-r--r--pkgs/desktops/kde-4.14/oxygen-icons.nix (renamed from pkgs/desktops/kde-4.12/oxygen-icons.nix)2
-rw-r--r--pkgs/desktops/kde-4.14/support/akonadi/default.nix24
-rw-r--r--pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix32
-rw-r--r--pkgs/desktops/plasma-5.2/default.nix166
-rw-r--r--pkgs/desktops/plasma-5.2/dependencies.nix284
-rwxr-xr-xpkgs/desktops/plasma-5.2/dependencies.sh22
-rw-r--r--pkgs/desktops/plasma-5.2/kwin/kwin-import-plugin-follow-symlinks.patch13
-rw-r--r--pkgs/desktops/plasma-5.2/kwin/libinput-0.8.patch25
-rw-r--r--pkgs/desktops/plasma-5.2/libkscreen/libkscreen-backend-path.patch130
-rw-r--r--pkgs/desktops/plasma-5.2/manifest.nix319
-rwxr-xr-xpkgs/desktops/plasma-5.2/manifest.sh15
-rw-r--r--pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-hwclock.patch24
-rw-r--r--pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-zoneinfo.patch18
-rw-r--r--pkgs/desktops/plasma-5.2/renames.nix23
-rw-r--r--pkgs/desktops/plasma-5.2/setup-hook.sh1
-rw-r--r--pkgs/desktops/plasma-5.2/startkde/default.nix34
-rw-r--r--pkgs/desktops/plasma-5.2/startkde/kdeglobals11
-rw-r--r--pkgs/desktops/plasma-5.2/startkde/startkde.in374
-rw-r--r--pkgs/desktops/plasma-5.2/startkde/startupconfigkeys5
-rw-r--r--pkgs/desktops/xfce/applications/mousepad.nix20
-rw-r--r--pkgs/desktops/xfce/applications/ristretto.nix12
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-mixer.nix23
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager.nix6
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix29
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed.nix46
-rw-r--r--pkgs/desktops/xfce/core/exo.nix5
-rw-r--r--pkgs/desktops/xfce/core/garcon.nix11
-rw-r--r--pkgs/desktops/xfce/core/gtk-xfce-engine.nix9
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui.nix7
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util.nix5
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman.nix7
-rw-r--r--pkgs/desktops/xfce/core/thunar.nix4
-rw-r--r--pkgs/desktops/xfce/core/tumbler.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder.nix6
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel.nix18
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager.nix6
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session-systemd.patch470
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session.nix10
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch9
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings.nix12
-rw-r--r--pkgs/desktops/xfce/core/xfconf.nix5
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop.nix6
-rw-r--r--pkgs/desktops/xfce/core/xfwm4.nix7
-rw-r--r--pkgs/desktops/xfce/default.nix34
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix10
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix8
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix23
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix23
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix23
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix23
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix8
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix4
-rw-r--r--pkgs/development/arduino/arduino-core/default.nix64
-rw-r--r--pkgs/development/arduino/ino/default.nix8
-rw-r--r--pkgs/development/compilers/agda/default.nix18
-rw-r--r--pkgs/development/compilers/agda/stdlib.nix31
-rw-r--r--pkgs/development/compilers/aldor/default.nix8
-rw-r--r--pkgs/development/compilers/aliceml/builder.sh71
-rw-r--r--pkgs/development/compilers/aliceml/default.nix85
-rw-r--r--pkgs/development/compilers/aliceml/make.patch20
-rw-r--r--pkgs/development/compilers/aliceml/seam.patch13
-rw-r--r--pkgs/development/compilers/ats/default.nix8
-rw-r--r--pkgs/development/compilers/ats2/default.nix6
-rw-r--r--pkgs/development/compilers/bigloo/default.nix22
-rw-r--r--pkgs/development/compilers/ccl/default.nix84
-rw-r--r--pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch130
-rw-r--r--pkgs/development/compilers/chicken/default.nix47
-rw-r--r--pkgs/development/compilers/chicken/eggDerivation.nix46
-rw-r--r--pkgs/development/compilers/chicken/overrides.nix10
-rw-r--r--pkgs/development/compilers/chicken/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/clash-ghc/default.nix33
-rw-r--r--pkgs/development/compilers/closure/default.nix4
-rw-r--r--pkgs/development/compilers/cmucl/binary.nix4
-rw-r--r--pkgs/development/compilers/compcert/default.nix22
-rw-r--r--pkgs/development/compilers/cryptol/1.8.x.nix119
-rw-r--r--pkgs/development/compilers/cryptol/2.0.x.nix31
-rw-r--r--pkgs/development/compilers/cryptol/fix-gitrev.patch44
-rw-r--r--pkgs/development/compilers/cudatoolkit/5.5.nix10
-rw-r--r--pkgs/development/compilers/cudatoolkit/6.0.nix10
-rw-r--r--pkgs/development/compilers/cudatoolkit/6.5.nix65
-rw-r--r--pkgs/development/compilers/dmd/default.nix56
-rw-r--r--pkgs/development/compilers/ecl/default.nix23
-rw-r--r--pkgs/development/compilers/ecl/libffi-prefix.patch39
-rw-r--r--pkgs/development/compilers/edk2/default.nix10
-rw-r--r--pkgs/development/compilers/elm/elm-compiler.nix34
-rw-r--r--pkgs/development/compilers/elm/elm-get.nix25
-rw-r--r--pkgs/development/compilers/elm/elm-make.nix23
-rw-r--r--pkgs/development/compilers/elm/elm-package.nix26
-rw-r--r--pkgs/development/compilers/elm/elm-reactor-exact-dependencies.json6
-rw-r--r--pkgs/development/compilers/elm/elm-reactor.nix68
-rw-r--r--pkgs/development/compilers/elm/elm-repl.nix28
-rw-r--r--pkgs/development/compilers/elm/elm.nix31
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix8
-rw-r--r--pkgs/development/compilers/emscripten/default.nix4
-rw-r--r--pkgs/development/compilers/epic/default.nix6
-rw-r--r--pkgs/development/compilers/fpc/2.4.0.nix39
-rwxr-xr-xpkgs/development/compilers/fpc/binary-builder.sh1
-rw-r--r--pkgs/development/compilers/fpc/binary.nix10
-rw-r--r--pkgs/development/compilers/fpc/default.nix11
-rw-r--r--pkgs/development/compilers/fpc/default.upstream6
-rw-r--r--pkgs/development/compilers/fpc/lazarus.nix66
-rw-r--r--pkgs/development/compilers/fsharp/default.nix4
-rw-r--r--pkgs/development/compilers/gambit/default.nix42
-rw-r--r--pkgs/development/compilers/gambit/src-for-default.nix9
-rw-r--r--pkgs/development/compilers/gambit/src-info-for-default.nix7
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/3.3/builder.sh86
-rw-r--r--pkgs/development/compilers/gcc/3.3/default.nix31
-rw-r--r--pkgs/development/compilers/gcc/3.4/builder.sh8
-rw-r--r--pkgs/development/compilers/gcc/3.4/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/builder.sh131
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch30
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/default.nix49
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch71
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff62
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch99
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch21
-rw-r--r--pkgs/development/compilers/gcc/4.3/builder.sh8
-rw-r--r--pkgs/development/compilers/gcc/4.3/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.4/builder.sh22
-rw-r--r--pkgs/development/compilers/gcc/4.4/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/4.5/builder.sh24
-rw-r--r--pkgs/development/compilers/gcc/4.5/default.nix15
-rw-r--r--pkgs/development/compilers/gcc/4.6/builder.sh22
-rw-r--r--pkgs/development/compilers/gcc/4.6/default.nix26
-rw-r--r--pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch211
-rw-r--r--pkgs/development/compilers/gcc/4.6/sources.nix18
-rw-r--r--pkgs/development/compilers/gcc/4.8/builder.sh22
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix38
-rw-r--r--pkgs/development/compilers/gcc/4.9/builder.sh26
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix23
-rw-r--r--pkgs/development/compilers/gcl/default.nix17
-rw-r--r--pkgs/development/compilers/gforth/default.nix27
-rw-r--r--pkgs/development/compilers/ghc/6.10.1-binary.nix103
-rw-r--r--pkgs/development/compilers/ghc/6.10.1.nix59
-rw-r--r--pkgs/development/compilers/ghc/6.10.2-binary.nix2
-rw-r--r--pkgs/development/compilers/ghc/6.10.2.nix58
-rw-r--r--pkgs/development/compilers/ghc/6.10.3.nix59
-rw-r--r--pkgs/development/compilers/ghc/6.10.4.nix43
-rw-r--r--pkgs/development/compilers/ghc/6.11.nix32
-rw-r--r--pkgs/development/compilers/ghc/6.12.1-binary.nix104
-rw-r--r--pkgs/development/compilers/ghc/6.12.1.nix81
-rw-r--r--pkgs/development/compilers/ghc/6.12.2.nix81
-rw-r--r--pkgs/development/compilers/ghc/6.12.3.nix54
-rw-r--r--pkgs/development/compilers/ghc/6.4.2-binary.nix67
-rw-r--r--pkgs/development/compilers/ghc/6.4.2.nix28
-rw-r--r--pkgs/development/compilers/ghc/6.6.1.nix46
-rw-r--r--pkgs/development/compilers/ghc/6.8.2.nix35
-rw-r--r--pkgs/development/compilers/ghc/6.8.3.nix37
-rw-r--r--pkgs/development/compilers/ghc/7.0.1.nix81
-rw-r--r--pkgs/development/compilers/ghc/7.0.2.nix43
-rw-r--r--pkgs/development/compilers/ghc/7.0.3.nix43
-rw-r--r--pkgs/development/compilers/ghc/7.0.4-binary.nix40
-rw-r--r--pkgs/development/compilers/ghc/7.0.4.nix22
-rw-r--r--pkgs/development/compilers/ghc/7.10.1.nix69
-rw-r--r--pkgs/development/compilers/ghc/7.2.1.nix43
-rw-r--r--pkgs/development/compilers/ghc/7.2.2.nix22
-rw-r--r--pkgs/development/compilers/ghc/7.4.1.nix43
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix74
-rw-r--r--pkgs/development/compilers/ghc/7.4.2.nix22
-rw-r--r--pkgs/development/compilers/ghc/7.6.1.nix44
-rw-r--r--pkgs/development/compilers/ghc/7.6.2.nix45
-rw-r--r--pkgs/development/compilers/ghc/7.6.3.nix20
-rw-r--r--pkgs/development/compilers/ghc/7.8.3.nix46
-rw-r--r--pkgs/development/compilers/ghc/7.8.4.nix48
-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.nix60
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix128
-rw-r--r--pkgs/development/compilers/ghcjs/ghcjs.patch74
-rw-r--r--pkgs/development/compilers/ghcjs/wrapper.nix77
-rw-r--r--pkgs/development/compilers/gnatboot/default.nix4
-rw-r--r--pkgs/development/compilers/gnu-smalltalk/default.nix55
-rw-r--r--pkgs/development/compilers/go/1.1.nix5
-rw-r--r--pkgs/development/compilers/go/1.2.nix7
-rw-r--r--pkgs/development/compilers/go/1.3.nix49
-rw-r--r--pkgs/development/compilers/go/1.4.nix113
-rw-r--r--pkgs/development/compilers/go/cacert-1.4.patch14
-rw-r--r--pkgs/development/compilers/go/default.nix3
-rw-r--r--pkgs/development/compilers/go/gox.nix54
-rw-r--r--pkgs/development/compilers/go/setup-hook.sh5
-rw-r--r--pkgs/development/compilers/gwydion-dylan/binary-builder.sh9
-rw-r--r--pkgs/development/compilers/gwydion-dylan/binary.nix10
-rw-r--r--pkgs/development/compilers/gwydion-dylan/builder.sh8
-rw-r--r--pkgs/development/compilers/gwydion-dylan/default.nix13
-rw-r--r--pkgs/development/compilers/haxe/default.nix4
-rw-r--r--pkgs/development/compilers/haxe/haxelib-nix.patch126
-rw-r--r--pkgs/development/compilers/haxe/hxcpp.nix52
-rw-r--r--pkgs/development/compilers/haxe/setup-hook.sh5
-rw-r--r--pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch40
-rw-r--r--pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch40
-rw-r--r--pkgs/development/compilers/hhvm/default.nix42
-rw-r--r--pkgs/development/compilers/hop/default.nix28
-rw-r--r--pkgs/development/compilers/iasl/default.nix2
-rw-r--r--pkgs/development/compilers/icedtea-web/default.nix6
-rw-r--r--pkgs/development/compilers/icedtea/cppflags-include-fix.patch11
-rw-r--r--pkgs/development/compilers/icedtea/currency-date-range.patch14
-rw-r--r--pkgs/development/compilers/icedtea/default.nix283
-rw-r--r--pkgs/development/compilers/icedtea/sources.nix42
-rwxr-xr-xpkgs/development/compilers/icedtea/update.py56
-rw-r--r--pkgs/development/compilers/idris/default.nix24
-rw-r--r--pkgs/development/compilers/idris/wrapper.nix5
-rw-r--r--pkgs/development/compilers/julia/0.2.1.nix140
-rw-r--r--pkgs/development/compilers/julia/0.2.nix141
-rw-r--r--pkgs/development/compilers/julia/0.3.0.nix157
-rw-r--r--pkgs/development/compilers/julia/0.3.nix154
-rw-r--r--pkgs/development/compilers/julia/git-20131013.nix140
-rw-r--r--pkgs/development/compilers/lessc/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang.nix14
-rw-r--r--pkgs/development/compilers/llvm/3.4/clang.nix12
-rw-r--r--pkgs/development/compilers/llvm/3.4/dragonegg.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix6
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang-purity.patch22
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang-separate-build.patch8
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang.nix55
-rw-r--r--pkgs/development/compilers/llvm/3.5/default.nix41
-rw-r--r--pkgs/development/compilers/llvm/3.5/dragonegg.nix26
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/darwin.patch30
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/default.nix46
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh4
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++abi/default.nix59
-rw-r--r--pkgs/development/compilers/llvm/3.5/lld.nix31
-rw-r--r--pkgs/development/compilers/llvm/3.5/lldb.nix45
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch12
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm.nix74
-rw-r--r--pkgs/development/compilers/llvm/3.5/polly-separate-build.patch12
-rw-r--r--pkgs/development/compilers/llvm/3.5/polly.nix27
-rw-r--r--pkgs/development/compilers/llvm/3.6/clang/cmake-exports.patch29
-rw-r--r--pkgs/development/compilers/llvm/3.6/clang/default.nix56
-rw-r--r--pkgs/development/compilers/llvm/3.6/clang/purity.patch22
-rw-r--r--pkgs/development/compilers/llvm/3.6/default.nix35
-rw-r--r--pkgs/development/compilers/llvm/3.6/libc++/darwin.patch30
-rw-r--r--pkgs/development/compilers/llvm/3.6/libc++/default.nix41
-rw-r--r--pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh4
-rw-r--r--pkgs/development/compilers/llvm/3.6/libc++abi.nix47
-rw-r--r--pkgs/development/compilers/llvm/3.6/lldb.nix44
-rw-r--r--pkgs/development/compilers/llvm/3.6/llvm.nix74
-rw-r--r--pkgs/development/compilers/mentor/default.nix2
-rw-r--r--pkgs/development/compilers/mercury/default.nix4
-rw-r--r--pkgs/development/compilers/mezzo/default.nix29
-rw-r--r--pkgs/development/compilers/microscheme/default.nix33
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix2
-rw-r--r--pkgs/development/compilers/mkcl/default.nix27
-rw-r--r--pkgs/development/compilers/mlton/default.nix12
-rw-r--r--pkgs/development/compilers/mono/default.nix9
-rw-r--r--pkgs/development/compilers/mozart/binary.nix36
-rw-r--r--pkgs/development/compilers/mozart/builder.sh24
-rw-r--r--pkgs/development/compilers/mozart/default.nix14
-rw-r--r--pkgs/development/compilers/nasm/default.nix11
-rw-r--r--pkgs/development/compilers/nim/default.nix27
-rw-r--r--pkgs/development/compilers/nvidia-cg-toolkit/default.nix27
-rw-r--r--pkgs/development/compilers/ocaml/3.10.0.nix8
-rw-r--r--pkgs/development/compilers/ocaml/3.12.1.nix1
-rw-r--r--pkgs/development/compilers/ocaml/4.00.1.nix1
-rw-r--r--pkgs/development/compilers/ocaml/4.01.0.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.02.1.nix75
-rw-r--r--pkgs/development/compilers/ocaml/fix-clang-build-on-osx.diff20
-rw-r--r--pkgs/development/compilers/ocaml/metaocaml-3.09.nix8
-rw-r--r--pkgs/development/compilers/opa/default.nix57
-rw-r--r--pkgs/development/compilers/opa/libdir.patch93
-rw-r--r--pkgs/development/compilers/opa/locate.patch14
-rw-r--r--pkgs/development/compilers/opendylan/bin.nix4
-rw-r--r--pkgs/development/compilers/opendylan/default.nix2
-rw-r--r--pkgs/development/compilers/openjdk-darwin/default.nix7
-rw-r--r--pkgs/development/compilers/openjdk/bootstrap.nix6
-rw-r--r--pkgs/development/compilers/openjdk/currency-date-range-jdk8.patch14
-rw-r--r--pkgs/development/compilers/openjdk/currency-date-range.patch14
-rw-r--r--pkgs/development/compilers/openjdk/default.nix292
-rw-r--r--pkgs/development/compilers/openjdk/openjdk8.nix142
-rw-r--r--pkgs/development/compilers/openjdk/read-truststore-from-env-jdk8.patch21
-rw-r--r--pkgs/development/compilers/openjdk/read-truststore-from-env.patch21
-rw-r--r--pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh4
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix8
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-linux.nix2
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7-linux.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix10
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8-linux.nix6
-rw-r--r--pkgs/development/compilers/orc/default.nix12
-rw-r--r--pkgs/development/compilers/pakcs/adjust-buildsystem.patch22
-rw-r--r--pkgs/development/compilers/pakcs/default.nix49
-rw-r--r--pkgs/development/compilers/path64/default.nix4
-rw-r--r--pkgs/development/compilers/polyml/default.nix4
-rw-r--r--pkgs/development/compilers/qcmm/builder.sh2
-rw-r--r--pkgs/development/compilers/qi/default.nix36
-rw-r--r--pkgs/development/compilers/rdmd/default.nix30
-rw-r--r--pkgs/development/compilers/roadsend/default.nix40
-rw-r--r--pkgs/development/compilers/rustc/0.11.nix74
-rw-r--r--pkgs/development/compilers/rustc/1.0.0-alpha.nix17
-rw-r--r--pkgs/development/compilers/rustc/1.0.0-alpha2.nix16
-rw-r--r--pkgs/development/compilers/rustc/common.nix35
-rw-r--r--pkgs/development/compilers/rustc/hardcode_paths.patch32
-rw-r--r--pkgs/development/compilers/rustc/head.nix91
-rw-r--r--pkgs/development/compilers/rustc/local_stage0.patch13
-rw-r--r--pkgs/development/compilers/rustc/makeRustcDerivation.nix140
-rw-r--r--pkgs/development/compilers/rustc/patches/alpha2.patch55
-rw-r--r--pkgs/development/compilers/rustc/patches/grsec.patch16
-rw-r--r--pkgs/development/compilers/rustc/patches/hardcode_paths.alpha.patch28
-rw-r--r--pkgs/development/compilers/rustc/patches/head.patch55
-rw-r--r--pkgs/development/compilers/rustc/patches/local_stage0.alpha.patch16
-rw-r--r--pkgs/development/compilers/sbcl/1.2.0.nix84
-rw-r--r--pkgs/development/compilers/sbcl/1.2.5.nix84
-rw-r--r--pkgs/development/compilers/sbcl/default.nix17
-rw-r--r--pkgs/development/compilers/scala/2.10.nix7
-rw-r--r--pkgs/development/compilers/scala/2.9.nix3
-rw-r--r--pkgs/development/compilers/scala/default.nix6
-rw-r--r--pkgs/development/compilers/sdcc/default.nix2
-rw-r--r--pkgs/development/compilers/smlnj/default.nix52
-rw-r--r--pkgs/development/compilers/swi-prolog/default.nix4
-rw-r--r--pkgs/development/compilers/teyjus/default.nix28
-rw-r--r--pkgs/development/compilers/teyjus/fix-lex-to-flex.patch23
-rw-r--r--pkgs/development/compilers/tinycc/default.nix2
-rw-r--r--pkgs/development/compilers/uhc/default.nix47
-rw-r--r--pkgs/development/compilers/urweb/default.nix12
-rw-r--r--pkgs/development/compilers/vala/0.26.nix30
-rw-r--r--pkgs/development/compilers/vala/default.nix5
-rw-r--r--pkgs/development/compilers/yap/default.nix7
-rw-r--r--pkgs/development/compilers/yasm/default.nix10
-rw-r--r--pkgs/development/coq-modules/bedrock/default.nix33
-rw-r--r--pkgs/development/coq-modules/contribs/all.nix163
-rw-r--r--pkgs/development/coq-modules/contribs/default.nix261
-rw-r--r--pkgs/development/coq-modules/contribs/mk-contrib.nix30
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix28
-rw-r--r--pkgs/development/coq-modules/coqeal/default.nix28
-rw-r--r--pkgs/development/coq-modules/domains/darcs_context809
-rw-r--r--pkgs/development/coq-modules/domains/default.nix26
-rw-r--r--pkgs/development/coq-modules/fiat/default.nix41
-rw-r--r--pkgs/development/coq-modules/flocq/default.nix34
-rw-r--r--pkgs/development/coq-modules/heq/default.nix27
-rw-r--r--pkgs/development/coq-modules/interval/default.nix26
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix26
-rw-r--r--pkgs/development/coq-modules/paco/default.nix31
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix40
-rw-r--r--pkgs/development/coq-modules/tlc/default.nix29
-rw-r--r--pkgs/development/coq-modules/unimath/default.nix26
-rw-r--r--pkgs/development/coq-modules/ynot/default.nix32
-rw-r--r--pkgs/development/eclipse/ecj/default.nix2
-rw-r--r--pkgs/development/go-modules/generic/default.nix88
-rw-r--r--pkgs/development/guile-modules/guile-cairo/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-gnome/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-lib/default.nix6
-rw-r--r--pkgs/development/guile-modules/guile-ncurses/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-opengl/default.nix20
-rw-r--r--pkgs/development/guile-modules/guile-sdl/default.nix35
-rw-r--r--pkgs/development/haskell-modules/compat-layer.nix3846
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix757
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-6.12.x.nix84
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.0.x.nix66
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix268
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.2.x.nix66
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix69
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix76
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix123
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix88
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix101
-rw-r--r--pkgs/development/haskell-modules/default.nix71
-rwxr-xr-xpkgs/development/haskell-modules/gcc-clang-wrapper.sh46
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix301
-rw-r--r--pkgs/development/haskell-modules/ghc-paths-nix.patch43
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix131412
-rw-r--r--pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch55
-rw-r--r--pkgs/development/haskell-modules/lib.nix61
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix96
-rw-r--r--pkgs/development/haskell-modules/wxc-no-ldconfig.patch10
-rw-r--r--pkgs/development/haskell-modules/xmonad-nix.patch44
-rw-r--r--pkgs/development/interpreters/acl2/default.nix8
-rw-r--r--pkgs/development/interpreters/angelscript/default.nix79
-rw-r--r--pkgs/development/interpreters/chibi/default.nix37
-rw-r--r--pkgs/development/interpreters/clisp/2.33.2.nix66
-rw-r--r--pkgs/development/interpreters/clisp/2.44.1.nix5
-rw-r--r--pkgs/development/interpreters/dart/default.nix6
-rw-r--r--pkgs/development/interpreters/eff/default.nix35
-rw-r--r--pkgs/development/interpreters/elixir/default.nix18
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix9
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix24
-rw-r--r--pkgs/development/interpreters/falcon/default.nix41
-rw-r--r--pkgs/development/interpreters/gnu-apl/default.nix34
-rw-r--r--pkgs/development/interpreters/groovy/default.nix6
-rw-r--r--pkgs/development/interpreters/guile/clang.patch14
-rw-r--r--pkgs/development/interpreters/guile/default.nix10
-rw-r--r--pkgs/development/interpreters/j/default.nix101
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix32
-rw-r--r--pkgs/development/interpreters/jruby/default.nix2
-rw-r--r--pkgs/development/interpreters/kona/default.nix60
-rw-r--r--pkgs/development/interpreters/lolcode/default.nix30
-rw-r--r--pkgs/development/interpreters/lua-4/default.nix1
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix12
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix16
-rw-r--r--pkgs/development/interpreters/lua-5/sec.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/sockets.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/zip.nix28
-rw-r--r--pkgs/development/interpreters/lua-5/zip.patch23
-rw-r--r--pkgs/development/interpreters/luajit/default.nix6
-rw-r--r--pkgs/development/interpreters/mujs/default.nix23
-rw-r--r--pkgs/development/interpreters/nix-exec/default.nix25
-rw-r--r--pkgs/development/interpreters/octave/default.nix22
-rw-r--r--pkgs/development/interpreters/perl/5.14/default.nix64
-rw-r--r--pkgs/development/interpreters/perl/5.14/ld-shared.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.14/no-libutil.patch12
-rw-r--r--pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch152
-rw-r--r--pkgs/development/interpreters/perl/5.14/setup-hook.sh5
-rw-r--r--pkgs/development/interpreters/perl/5.16/default.nix24
-rw-r--r--pkgs/development/interpreters/perl/5.16/fixed-man-page-date.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.16/no-date-in-perl-binary.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.16/no-impure-config-time.patch11
-rw-r--r--pkgs/development/interpreters/perl/5.20/default.nix41
-rw-r--r--pkgs/development/interpreters/php/5.3-freetype-dirs.patch64
-rw-r--r--pkgs/development/interpreters/php/5.3.nix245
-rw-r--r--pkgs/development/interpreters/php/5.4.nix46
-rw-r--r--pkgs/development/interpreters/php/5.5.nix270
-rw-r--r--pkgs/development/interpreters/php/5.6.nix272
-rw-r--r--pkgs/development/interpreters/php/fix-paths.patch (renamed from pkgs/development/interpreters/php/fix-5.4.patch)0
-rw-r--r--pkgs/development/interpreters/php/fix.patch78
-rw-r--r--pkgs/development/interpreters/picolisp/default.nix6
-rw-r--r--pkgs/development/interpreters/pure/default.nix67
-rw-r--r--pkgs/development/interpreters/pypy/2.3/default.nix109
-rw-r--r--pkgs/development/interpreters/pypy/2.3/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/pypy/default.nix119
-rw-r--r--pkgs/development/interpreters/pypy/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix77
-rw-r--r--pkgs/development/interpreters/python/2.6/python2.6-fix-parallel-make.patch37
-rw-r--r--pkgs/development/interpreters/python/2.7/default.nix102
-rw-r--r--pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch57
-rw-r--r--pkgs/development/interpreters/python/3.2/default.nix29
-rw-r--r--pkgs/development/interpreters/python/3.3/default.nix22
-rw-r--r--pkgs/development/interpreters/python/3.4/default.nix28
-rw-r--r--pkgs/development/interpreters/python/python-linkme-wrapper.nix15
-rw-r--r--pkgs/development/interpreters/python/python-linkme-wrapper.sh33
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix15
-rw-r--r--pkgs/development/interpreters/racket/default.nix96
-rw-r--r--pkgs/development/interpreters/rakudo/default.nix8
-rw-r--r--pkgs/development/interpreters/regina/default.nix12
-rw-r--r--pkgs/development/interpreters/regina/default.upstream5
-rw-r--r--pkgs/development/interpreters/ruby/bundix/Gemfile4
-rw-r--r--pkgs/development/interpreters/ruby/bundix/Gemfile.lock18
-rw-r--r--pkgs/development/interpreters/ruby/bundix/default.nix9
-rw-r--r--pkgs/development/interpreters/ruby/bundix/gemset.nix22
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix142
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/default.nix340
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/mkrf_conf_xapian.rb14
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb238
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/package-1.8.rb29
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/xapian-Rakefile38
-rw-r--r--pkgs/development/interpreters/ruby/bundler-head.nix18
-rw-r--r--pkgs/development/interpreters/ruby/bundler.nix13
-rw-r--r--pkgs/development/interpreters/ruby/config.nix6
-rw-r--r--pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch35
-rw-r--r--pkgs/development/interpreters/ruby/gem.nix182
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix2097
-rw-r--r--pkgs/development/interpreters/ruby/libs.nix45
-rw-r--r--pkgs/development/interpreters/ruby/load-ruby-env.nix69
-rw-r--r--pkgs/development/interpreters/ruby/overrides.nix5
-rw-r--r--pkgs/development/interpreters/ruby/patches.nix11
-rw-r--r--pkgs/development/interpreters/ruby/ruby-1.8.7.nix101
-rw-r--r--pkgs/development/interpreters/ruby/ruby-1.9.3.nix121
-rw-r--r--pkgs/development/interpreters/ruby/ruby-18.nix63
-rw-r--r--pkgs/development/interpreters/ruby/ruby-19.nix80
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.0.0.nix104
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.0.nix76
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.0.nix120
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.1.nix118
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.2.nix117
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.3.nix121
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.2.0.nix112
-rw-r--r--pkgs/development/interpreters/ruby/rubygems.nix16
-rw-r--r--pkgs/development/interpreters/ruby/rvm-patchsets.nix8
-rw-r--r--pkgs/development/interpreters/scheme48/default.nix7
-rw-r--r--pkgs/development/interpreters/scsh/default.nix4
-rw-r--r--pkgs/development/interpreters/self/default.nix2
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.0.nix4
-rw-r--r--pkgs/development/interpreters/spidermonkey/185-1.0.0.nix17
-rw-r--r--pkgs/development/interpreters/spidermonkey/findvanilla.patch19
-rw-r--r--pkgs/development/interpreters/tcl/default.nix8
-rw-r--r--pkgs/development/interpreters/xulrunner/default.nix18
-rw-r--r--pkgs/development/libraries/CGAL/default.nix6
-rw-r--r--pkgs/development/libraries/LASzip/default.nix21
-rw-r--r--pkgs/development/libraries/SDL/default.nix11
-rw-r--r--pkgs/development/libraries/SDL2/default.nix6
-rw-r--r--pkgs/development/libraries/SDL2_ttf/default.nix18
-rw-r--r--pkgs/development/libraries/SDL_image/default.nix2
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix4
-rw-r--r--pkgs/development/libraries/SDL_stretch/default.nix19
-rw-r--r--pkgs/development/libraries/aalib/darwin.patch106
-rw-r--r--pkgs/development/libraries/aalib/default.nix2
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix12
-rw-r--r--pkgs/development/libraries/adns/default.nix8
-rw-r--r--pkgs/development/libraries/afflib/default.nix29
-rw-r--r--pkgs/development/libraries/agda/Agda-Sheaves/default.nix23
-rw-r--r--pkgs/development/libraries/agda/TotalParserCombinators/contextfile259
-rw-r--r--pkgs/development/libraries/agda/TotalParserCombinators/default.nix25
-rw-r--r--pkgs/development/libraries/agda/agda-base/default.nix22
-rw-r--r--pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix26
-rw-r--r--pkgs/development/libraries/agda/agda-prelude/default.nix23
-rw-r--r--pkgs/development/libraries/agda/agda-stdlib/default.nix27
-rw-r--r--pkgs/development/libraries/agda/bitvector/default.nix23
-rw-r--r--pkgs/development/libraries/agda/categories/default.nix23
-rw-r--r--pkgs/development/libraries/agda/pretty/contextfile43
-rw-r--r--pkgs/development/libraries/agda/pretty/default.nix25
-rw-r--r--pkgs/development/libraries/allegro/5-unstable.nix17
-rw-r--r--pkgs/development/libraries/allegro/5.nix7
-rw-r--r--pkgs/development/libraries/allegro/default.nix3
-rw-r--r--pkgs/development/libraries/appstream/default.nix36
-rw-r--r--pkgs/development/libraries/apr-util/default.nix8
-rw-r--r--pkgs/development/libraries/apr/darwin_fix_configure.patch17
-rw-r--r--pkgs/development/libraries/apr/default.nix2
-rw-r--r--pkgs/development/libraries/apr/is-this-a-compiler-bug.patch17
-rw-r--r--pkgs/development/libraries/asio/default.nix8
-rw-r--r--pkgs/development/libraries/aspell/clang.patch18
-rw-r--r--pkgs/development/libraries/aspell/default.nix5
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix10
-rw-r--r--pkgs/development/libraries/assimp/default.nix27
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix2
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix10
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix4
-rw-r--r--pkgs/development/libraries/aterm/2.8.nix2
-rw-r--r--pkgs/development/libraries/audio/libsmf/default.nix20
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lvtk/default.nix2
-rw-r--r--pkgs/development/libraries/audio/raul/default.nix4
-rw-r--r--pkgs/development/libraries/audio/sratom/default.nix4
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix4
-rw-r--r--pkgs/development/libraries/avahi/default.nix7
-rw-r--r--pkgs/development/libraries/axis/builder.sh5
-rw-r--r--pkgs/development/libraries/axis/default.nix16
-rw-r--r--pkgs/development/libraries/babl/0_0_22.nix16
-rw-r--r--pkgs/development/libraries/babl/default.nix6
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix44
-rw-r--r--pkgs/development/libraries/blitz/blitz-gcc47.patch33
-rw-r--r--pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch13
-rw-r--r--pkgs/development/libraries/blitz/default.nix80
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix12
-rw-r--r--pkgs/development/libraries/boost-process/default.nix31
-rw-r--r--pkgs/development/libraries/boost/1.44.nix93
-rw-r--r--pkgs/development/libraries/boost/1.49.nix96
-rw-r--r--pkgs/development/libraries/boost/1.55.nix97
-rw-r--r--pkgs/development/libraries/boost/1.56.nix10
-rw-r--r--pkgs/development/libraries/boost/1.57.nix10
-rw-r--r--pkgs/development/libraries/boost/CVE-2013-0252.patch48
-rw-r--r--pkgs/development/libraries/boost/boost-149-cstdint.patch15
-rw-r--r--pkgs/development/libraries/boost/boost-149-darwin.patch40
-rw-r--r--pkgs/development/libraries/boost/boost-155-clang.patch90
-rw-r--r--pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch12
-rw-r--r--pkgs/development/libraries/boost/clang-math-2.patch45
-rw-r--r--pkgs/development/libraries/boost/clang-math.patch65
-rw-r--r--pkgs/development/libraries/boost/generic.nix181
-rw-r--r--pkgs/development/libraries/boost/header-only-wrapper.nix30
-rw-r--r--pkgs/development/libraries/boost/time_utc.patch320
-rw-r--r--pkgs/development/libraries/boost/time_utc_144.patch520
-rw-r--r--pkgs/development/libraries/boringssl/default.nix1
-rw-r--r--pkgs/development/libraries/botan/default.nix66
-rw-r--r--pkgs/development/libraries/botan/default.upstream4
-rw-r--r--pkgs/development/libraries/botan/generic.nix46
-rw-r--r--pkgs/development/libraries/botan/unstable.nix66
-rw-r--r--pkgs/development/libraries/botan/unstable.upstream5
-rw-r--r--pkgs/development/libraries/box2d/2.0.1.nix1
-rw-r--r--pkgs/development/libraries/bwidget/default.nix4
-rw-r--r--pkgs/development/libraries/cairo/default.nix8
-rw-r--r--pkgs/development/libraries/cairomm/default.nix6
-rw-r--r--pkgs/development/libraries/capnproto/default.nix15
-rw-r--r--pkgs/development/libraries/ccnx/default.nix38
-rw-r--r--pkgs/development/libraries/ccrtp/default.nix18
-rw-r--r--pkgs/development/libraries/celt/0.5.1.nix50
-rw-r--r--pkgs/development/libraries/celt/0.7.nix51
-rw-r--r--pkgs/development/libraries/celt/default.nix51
-rw-r--r--pkgs/development/libraries/celt/generic.nix23
-rw-r--r--pkgs/development/libraries/ceres-solver/default.nix51
-rw-r--r--pkgs/development/libraries/check/default.nix4
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix12
-rw-r--r--pkgs/development/libraries/cil/default.nix8
-rw-r--r--pkgs/development/libraries/cimg/builder.sh12
-rw-r--r--pkgs/development/libraries/cimg/default.nix26
-rw-r--r--pkgs/development/libraries/cl-ppcre/default.nix26
-rw-r--r--pkgs/development/libraries/clearsilver/default.nix8
-rw-r--r--pkgs/development/libraries/cloog-ppl/default.nix2
-rw-r--r--pkgs/development/libraries/cloog/default.nix7
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix2
-rw-r--r--pkgs/development/libraries/clucene-core/fix-darwin.patch75
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix4
-rw-r--r--pkgs/development/libraries/clutter-gtk/0.10.8.nix5
-rw-r--r--pkgs/development/libraries/cminpack/default.nix10
-rw-r--r--pkgs/development/libraries/cogl/1.18.nix6
-rw-r--r--pkgs/development/libraries/cogl/default.nix6
-rw-r--r--pkgs/development/libraries/commoncpp2/default.nix4
-rw-r--r--pkgs/development/libraries/concurrencykit/default.nix4
-rw-r--r--pkgs/development/libraries/confuse/default.nix2
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix8
-rw-r--r--pkgs/development/libraries/cppnetlib/default.nix40
-rw-r--r--pkgs/development/libraries/cppzmq/default.nix23
-rw-r--r--pkgs/development/libraries/cracklib/default.nix8
-rw-r--r--pkgs/development/libraries/crypto++/default.nix2
-rw-r--r--pkgs/development/libraries/ctl/default.nix31
-rw-r--r--pkgs/development/libraries/ctl/gcc47.patch15
-rw-r--r--pkgs/development/libraries/ctl/patch.patch24
-rw-r--r--pkgs/development/libraries/ctl/source.nix11
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix20
-rw-r--r--pkgs/development/libraries/czmq/default.nix22
-rw-r--r--pkgs/development/libraries/db/db-4.4.nix1
-rw-r--r--pkgs/development/libraries/db/db-4.5.nix1
-rw-r--r--pkgs/development/libraries/db/db-4.7.nix1
-rw-r--r--pkgs/development/libraries/db/db-4.8.nix1
-rw-r--r--pkgs/development/libraries/db/db-5.3.nix2
-rw-r--r--pkgs/development/libraries/db/db-6.0.nix1
-rw-r--r--pkgs/development/libraries/db/generic.nix2
-rw-r--r--pkgs/development/libraries/db/osx.patch20
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix10
-rw-r--r--pkgs/development/libraries/dbus/default.nix22
-rw-r--r--pkgs/development/libraries/dclib/default.nix2
-rw-r--r--pkgs/development/libraries/despotify/default.nix2
-rw-r--r--pkgs/development/libraries/directfb/default.nix12
-rw-r--r--pkgs/development/libraries/directfb/default.upstream3
-rw-r--r--pkgs/development/libraries/directfb/src-for-default.nix9
-rw-r--r--pkgs/development/libraries/directfb/src-info-for-default.nix6
-rw-r--r--pkgs/development/libraries/dlib/default.nix45
-rw-r--r--pkgs/development/libraries/dotconf/default.nix22
-rw-r--r--pkgs/development/libraries/double-conversion/default.nix27
-rw-r--r--pkgs/development/libraries/eglibc/builder.sh63
-rw-r--r--pkgs/development/libraries/eglibc/default.nix32
-rw-r--r--pkgs/development/libraries/eigen/2.0.nix1
-rw-r--r--pkgs/development/libraries/eigen/default.nix11
-rw-r--r--pkgs/development/libraries/eigen/default.upstream4
-rw-r--r--pkgs/development/libraries/enet/default.nix9
-rw-r--r--pkgs/development/libraries/enginepkcs11/default.nix2
-rw-r--r--pkgs/development/libraries/eventlog/default.nix2
-rw-r--r--pkgs/development/libraries/exempi/default.nix7
-rw-r--r--pkgs/development/libraries/exiv2/default.nix14
-rw-r--r--pkgs/development/libraries/expat/default.nix5
-rw-r--r--pkgs/development/libraries/faac/default.nix26
-rw-r--r--pkgs/development/libraries/faad2/default.nix21
-rw-r--r--pkgs/development/libraries/fcgi/default.nix4
-rw-r--r--pkgs/development/libraries/fdk-aac/default.nix24
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix468
-rw-r--r--pkgs/development/libraries/ffmpeg/0.10.nix92
-rw-r--r--pkgs/development/libraries/ffmpeg/0.11.nix7
-rw-r--r--pkgs/development/libraries/ffmpeg/0.6.90.nix78
-rw-r--r--pkgs/development/libraries/ffmpeg/0.6.nix77
-rw-r--r--pkgs/development/libraries/ffmpeg/1.2.nix7
-rw-r--r--pkgs/development/libraries/ffmpeg/1.x.nix104
-rw-r--r--pkgs/development/libraries/ffmpeg/2.2.nix7
-rw-r--r--pkgs/development/libraries/ffmpeg/2.6.nix7
-rw-r--r--pkgs/development/libraries/ffmpeg/2.x.nix106
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix195
-rw-r--r--pkgs/development/libraries/ffms/default.nix7
-rw-r--r--pkgs/development/libraries/fftw/default.nix10
-rw-r--r--pkgs/development/libraries/filter_audio/default.nix24
-rw-r--r--pkgs/development/libraries/flann/default.nix9
-rw-r--r--pkgs/development/libraries/flann/no-examples.patch10
-rw-r--r--pkgs/development/libraries/flite/default.nix12
-rw-r--r--pkgs/development/libraries/fmod/default.nix2
-rw-r--r--pkgs/development/libraries/folly/default.nix36
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/confd.nix35
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/default.nix6
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/rendering.nix212
-rw-r--r--pkgs/development/libraries/fontconfig/2.10.nix61
-rw-r--r--pkgs/development/libraries/fontconfig/builder.sh5
-rw-r--r--pkgs/development/libraries/fontconfig/config-compat.patch28
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix61
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.nix6
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.xsl30
-rw-r--r--pkgs/development/libraries/fox/default.nix2
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix1
-rw-r--r--pkgs/development/libraries/frame/default.nix24
-rw-r--r--pkgs/development/libraries/freeimage/default.nix5
-rw-r--r--pkgs/development/libraries/freetds/default.nix9
-rw-r--r--pkgs/development/libraries/freetype/default.nix23
-rw-r--r--pkgs/development/libraries/freetype/fix-pcf.patch132
-rw-r--r--pkgs/development/libraries/frei0r/default.nix2
-rw-r--r--pkgs/development/libraries/fribidi/default.nix9
-rw-r--r--pkgs/development/libraries/gamin/default.nix4
-rw-r--r--pkgs/development/libraries/gamin/returnval.patch12
-rw-r--r--pkgs/development/libraries/ganv/default.nix13
-rw-r--r--pkgs/development/libraries/garmintools/default.nix14
-rw-r--r--pkgs/development/libraries/gdal/default.nix29
-rw-r--r--pkgs/development/libraries/gdbm/default.nix2
-rw-r--r--pkgs/development/libraries/gdcm/default.nix38
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix6
-rw-r--r--pkgs/development/libraries/gdome2/default.nix10
-rw-r--r--pkgs/development/libraries/gdome2/xml-document.patch11
-rw-r--r--pkgs/development/libraries/gecode/default.nix21
-rw-r--r--pkgs/development/libraries/gegl/0_0_22.nix21
-rw-r--r--pkgs/development/libraries/gegl/default.nix2
-rw-r--r--pkgs/development/libraries/geis/default.nix23
-rw-r--r--pkgs/development/libraries/geoclue/2.0.nix4
-rw-r--r--pkgs/development/libraries/geoip/default.nix4
-rw-r--r--pkgs/development/libraries/getdata/default.nix16
-rw-r--r--pkgs/development/libraries/gettext/0.17.nix5
-rw-r--r--pkgs/development/libraries/gettext/0.18.nix11
-rw-r--r--pkgs/development/libraries/gettext/default.nix10
-rw-r--r--pkgs/development/libraries/giflib/5.0.nix18
-rw-r--r--pkgs/development/libraries/giflib/5.1.nix18
-rw-r--r--pkgs/development/libraries/giflib/default.nix12
-rw-r--r--pkgs/development/libraries/git2/default.nix8
-rw-r--r--pkgs/development/libraries/glfw/2.x.nix4
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix16
-rw-r--r--pkgs/development/libraries/glibc/2.19/builder.sh70
-rw-r--r--pkgs/development/libraries/glibc/2.19/common.nix208
-rw-r--r--pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch170
-rw-r--r--pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch206
-rw-r--r--pkgs/development/libraries/glibc/2.19/default.nix101
-rw-r--r--pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch12
-rw-r--r--pkgs/development/libraries/glibc/2.19/fix-math.patch336
-rw-r--r--pkgs/development/libraries/glibc/builder.sh66
-rw-r--r--pkgs/development/libraries/glibc/common.nix221
-rw-r--r--pkgs/development/libraries/glibc/default.nix102
-rw-r--r--pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch (renamed from pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch)9
-rw-r--r--pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch12
-rw-r--r--pkgs/development/libraries/glibc/fix_path_attribute_in_getconf.patch (renamed from pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch)0
-rw-r--r--pkgs/development/libraries/glibc/glibc-crypt-blowfish.patch (renamed from pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch)0
-rw-r--r--pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch11
-rw-r--r--pkgs/development/libraries/glibc/info.nix (renamed from pkgs/development/libraries/glibc/2.19/info.nix)0
-rw-r--r--pkgs/development/libraries/glibc/locales-builder.sh (renamed from pkgs/development/libraries/glibc/2.19/locales-builder.sh)0
-rw-r--r--pkgs/development/libraries/glibc/locales.nix (renamed from pkgs/development/libraries/glibc/2.19/locales.nix)11
-rw-r--r--pkgs/development/libraries/glibc/multi.nix (renamed from pkgs/development/libraries/glibc/2.19/multi.nix)5
-rw-r--r--pkgs/development/libraries/glibc/nix-locale-archive.patch (renamed from pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch)0
-rw-r--r--pkgs/development/libraries/glibc/rpcgen-path.patch (renamed from pkgs/development/libraries/glibc/2.19/rpcgen-path.patch)0
-rw-r--r--pkgs/development/libraries/glibmm/default.nix8
-rw-r--r--pkgs/development/libraries/glm/0954.nix36
-rw-r--r--pkgs/development/libraries/glm/default.nix5
-rw-r--r--pkgs/development/libraries/glog/default.nix2
-rw-r--r--pkgs/development/libraries/gloox/default.nix7
-rw-r--r--pkgs/development/libraries/gmime/default.nix4
-rw-r--r--pkgs/development/libraries/gmm/default.nix6
-rw-r--r--pkgs/development/libraries/gmock/default.nix32
-rw-r--r--pkgs/development/libraries/gmp/4.3.2.nix3
-rw-r--r--pkgs/development/libraries/gmp/5.0.5.nix64
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix11
-rw-r--r--pkgs/development/libraries/gmp/6.x.nix65
-rw-r--r--pkgs/development/libraries/gmp/ignore-bad-cpuid.patch31
-rw-r--r--pkgs/development/libraries/gmp/need-size-t.patch18
-rw-r--r--pkgs/development/libraries/gnet/default.nix26
-rw-r--r--pkgs/development/libraries/gnome-sharp/Makefile.in.patch11
-rw-r--r--pkgs/development/libraries/gnome-sharp/default.nix24
-rw-r--r--pkgs/development/libraries/gnutls/3.1.nix67
-rw-r--r--pkgs/development/libraries/gnutls/3.2.nix72
-rw-r--r--pkgs/development/libraries/gnutls/3.3.nix10
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix71
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix4
-rw-r--r--pkgs/development/libraries/gperftools/default.nix16
-rw-r--r--pkgs/development/libraries/gpgme/default.nix18
-rw-r--r--pkgs/development/libraries/grail/default.nix23
-rw-r--r--pkgs/development/libraries/granite/default.nix21
-rw-r--r--pkgs/development/libraries/gsm/default.nix85
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix9
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix14
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix17
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch27
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch56
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix22
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/gtest/default.nix28
-rw-r--r--pkgs/development/libraries/gtest/source.nix22
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix4
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix6
-rw-r--r--pkgs/development/libraries/gtk-sharp-1/builder.sh11
-rw-r--r--pkgs/development/libraries/gtk-sharp-1/default.nix37
-rw-r--r--pkgs/development/libraries/gtk-sharp-1/dllmap-glue.patch65
-rw-r--r--pkgs/development/libraries/gtk-sharp-1/glib-include.patch24
-rw-r--r--pkgs/development/libraries/gtkdatabox/default.nix6
-rw-r--r--pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch194
-rw-r--r--pkgs/development/libraries/gtkmm/2.x.nix12
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix9
-rw-r--r--pkgs/development/libraries/gtksourceview-sharp/builder.sh11
-rw-r--r--pkgs/development/libraries/gtksourceview-sharp/default.nix19
-rw-r--r--pkgs/development/libraries/gtksourceview-sharp/prefix.patch46
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix16
-rw-r--r--pkgs/development/libraries/gtkspellmm/default.nix35
-rw-r--r--pkgs/development/libraries/gupnp-av/default.nix2
-rw-r--r--pkgs/development/libraries/gusb/default.nix16
-rw-r--r--pkgs/development/libraries/gvfs/default.nix12
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.14.0.nix24
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix25
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.20.0.3.nix25
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.22.0.0.nix26
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-diagrams/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/Chart-gtk/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ChasingBottoms/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ConfigFile/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/CouchDB/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/DAV/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/DRBG/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Decimal/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/EitherT/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/Extra-lib/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/Extra/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/FontyFruity/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix18
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/default.nix (renamed from pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix18
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix19
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix19
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix20
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix20
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix20
-rw-r--r--pkgs/development/libraries/haskell/GLUT/default.nix (renamed from pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/GLUtil/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/GenericPretty/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix4
-rw-r--r--pkgs/development/libraries/haskell/HFuse/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/HPDF/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HSH/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/HTF/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.6.nix18
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.9.nix18
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.1.nix18
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.2.nix18
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.1.nix23
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.2.nix23
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.3.nix23
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.5.nix25
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.8.nix26
-rw-r--r--pkgs/development/libraries/haskell/HTTP/default.nix (renamed from pkgs/development/libraries/haskell/HTTP/4000.2.18.nix)0
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix18
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix18
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix18
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix19
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/HUnit/default.nix (renamed from pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/HaTeX/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/HaXml/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/HandsomeSoup/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HaskellNet/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/HsOpenSSL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/IntervalMap/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels-util/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/MFlow/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MissingH/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadPrompt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/0.1.13.nix16
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/0.3.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/NumInstances/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ObjectName/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix20
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix20
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix18
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/default.nix (renamed from pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix)0
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/default.nix (renamed from pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix)0
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.6.nix17
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix19
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/default.nix (renamed from pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix)0
-rw-r--r--pkgs/development/libraries/haskell/RSA/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Rasterific/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/ReadArgs/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/StateVar/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/Tensor/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/Thrift/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Unixutils/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/WAVE/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/Yampa/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/acid-state/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/active/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ad/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/aeson-pretty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/aeson-qq/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/aeson-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.6.nix28
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.8.0.0.nix27
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.8.0.2.nix27
-rw-r--r--pkgs/development/libraries/haskell/algebra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ansi-terminal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ariadne/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/asn1-encoding/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/asn1-parse/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/asn1-types/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.3.nix19
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.6.nix18
-rw-r--r--pkgs/development/libraries/haskell/atomic-primops/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/atto-lisp/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix22
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix22
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.12.1.2.nix22
-rw-r--r--pkgs/development/libraries/haskell/authenticate-oauth/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/auto-update/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/aws-ec2/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/aws/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/base-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/basic-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bencode/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/bert/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bifunctors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/binary-conduit/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/binary-strict/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/binary/0.6.1.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/binary/0.7.2.1.nix21
-rw-r--r--pkgs/development/libraries/haskell/binary/0.7.2.2.nix21
-rw-r--r--pkgs/development/libraries/haskell/bindings-libusb/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bindings-portaudio/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/bitset/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/blank-canvas/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-markup/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/boomerang/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bound/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.2.nix23
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/bv/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/bytes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bytestring-trie/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/c2hs/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/cabal-cargs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cabal-lenses/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/cabalg/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/call/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix20
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix19
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.2.0.1.nix19
-rw-r--r--pkgs/development/libraries/haskell/cassava/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cereal-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix17
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix18
-rw-r--r--pkgs/development/libraries/haskell/cgrep/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/charsetdetect-ae/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/chaselev-deque/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/cheapskate/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/checkers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cipher-aes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/citeproc-hs/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/clash-lib/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/clash-prelude/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude-yesod/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/clay/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/clean-unions/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/clientsession/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/clock/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cmdargs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cmdtheline/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/code-builder/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/colors/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/compdata-param/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/concreteTyperep/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/concurrent-extra/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/concurrent-supply/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/cond/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit-combinators/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/conduit-extra/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/convertible/1.0.11.1.nix19
-rw-r--r--pkgs/development/libraries/haskell/convertible/default.nix (renamed from pkgs/development/libraries/haskell/convertible/1.1.0.0.nix)0
-rw-r--r--pkgs/development/libraries/haskell/cookie/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/cprng-aes/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-api/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-random/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/csv-conduit/default.nix31
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/cufft/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/daemons/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/data-flags/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/data-lens-fd/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/data-lens-light/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-lens-template/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-lens/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-ordlist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dbus/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/derive/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/builder/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix53
-rw-r--r--pkgs/development/libraries/haskell/diagrams/cairo.nix5
-rw-r--r--pkgs/development/libraries/haskell/diagrams/contrib.nix5
-rw-r--r--pkgs/development/libraries/haskell/diagrams/core.nix5
-rw-r--r--pkgs/development/libraries/haskell/diagrams/gtk.nix16
-rw-r--r--pkgs/development/libraries/haskell/diagrams/lib.nix11
-rw-r--r--pkgs/development/libraries/haskell/diagrams/postscript.nix5
-rw-r--r--pkgs/development/libraries/haskell/diagrams/rasterific.nix25
-rw-r--r--pkgs/development/libraries/haskell/diagrams/svg.nix5
-rw-r--r--pkgs/development/libraries/haskell/digest-pure/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-heist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-snap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/dimensional-tf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dimensional/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/direct-sqlite/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/directory-layout/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/distributed-process-p2p/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/distributed-process-platform/default.nix37
-rw-r--r--pkgs/development/libraries/haskell/distributed-process/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/distributed-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/djinn/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/doctest/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/dsp/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/dual-tree/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dynamic-cabal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dynamic-state/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/editline/0.2.1.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/editline/default.nix (renamed from pkgs/development/libraries/haskell/editline/0.2.1.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/either/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ekg-bosun/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/ekg-carbon/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ekg-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ekg/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/elerea/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/elevator/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/enclosed-exceptions/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/encoding/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/engine-io-snap/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/engine-io/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/equational-reasoning/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/equivalence/0.2.3.nix23
-rw-r--r--pkgs/development/libraries/haskell/equivalence/default.nix (renamed from pkgs/development/libraries/haskell/equivalence/0.2.5.nix)0
-rw-r--r--pkgs/development/libraries/haskell/esqueleto/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/exception-mtl/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/exception-transformers/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/exhaustive/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/extensible-effects/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix15
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/default.nix (renamed from pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix)0
-rw-r--r--pkgs/development/libraries/haskell/extra/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/fast-logger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fay-base/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/fay-text/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/fay/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/fb/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.4.nix17
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.5.0.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/fgl/default.nix (renamed from pkgs/development/libraries/haskell/fgl/5.5.0.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/file-location/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/fixed-vector/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/fixed/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/focus/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/foldl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/force-layout/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/formatting/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/free-game/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/free/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fsnotify/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/functor-infix/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/generic-aeson/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/generic-deriving/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/generics-sop/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/geniplate/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ghc-heap-view/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix51
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix49
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix52
-rw-r--r--pkgs/development/libraries/haskell/ghc-parser/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/ghc-vis/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/ghcjs-dom/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ghcjs-prim/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/gio/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/github/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/gitlib-libgit2/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gitlib-test/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gl/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss-accelerate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss-banana/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss-raster/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/gloss-rendering/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/greencard/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/grid/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk3/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtksourceview2/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hS3/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/hackage-db/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/haddock-api/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/haddock-library/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/half/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/handa-gdata/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix2
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-lite.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix6
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.1.2.5.nix22
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.2.2.0.nix23
-rw-r--r--pkgs/development/libraries/haskell/hashable/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hashtables/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/hask/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/haskell-generate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-names/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-packages/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix26
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix27
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix26
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix28
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix38
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix39
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix39
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix41
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix43
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/Setup.hs10
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/default.nix314
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.2.0.1.cabal90
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.4.0.0.cabal90
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal89
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal113
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2013.2.0.0.cabal118
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix19
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/1.15.0.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/1.16.0.1.nix23
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix17
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/default.nix (renamed from pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix)0
-rw-r--r--pkgs/development/libraries/haskell/haskelldb/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/haskintex/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskoin/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/haskore/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haste-compiler/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/haste-perch/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/hcltest/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/heist/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/here/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hexpat/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/higher-leveldb/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/hindent/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hinotify/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hit/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hmatrix-gsl/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hmatrix-special/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hmatrix/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hoauth2/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/holy-project/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hoogle/4.2.34.nix30
-rw-r--r--pkgs/development/libraries/haskell/hoogle/4.2.36.nix30
-rw-r--r--pkgs/development/libraries/haskell/hoogle/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh6
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local.diff28
-rw-r--r--pkgs/development/libraries/haskell/hoogle/local.nix106
-rw-r--r--pkgs/development/libraries/haskell/hoopl/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/hopenssl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hosc/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hourglass/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hplayground/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hsbencher-fusion/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hsbencher/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hsc3-db/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hsc3-dot/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hsc3-lang/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hsc3-process/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hsc3-server/default.nix32
-rw-r--r--pkgs/development/libraries/haskell/hsc3/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hsimport/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hspec-checkers/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hspec-contrib/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hspec-core/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/hspec-discover/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hspec-laws/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hspec-meta/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/hspec-wai/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hspec/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hspec2/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/html-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/html/default.nix (renamed from pkgs/development/libraries/haskell/html/1.0.1.2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-common/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/http-reverse-proxy/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/http-streams/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/httpd-shed/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/hxt-charproperties/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/iCalendar/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/ieee754/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/imm/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/implicit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/instant-generics/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/intern/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/interpolate/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/intervals/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/io-streams/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ipprint/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ixdopp/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/ixset/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jmacro/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/js-flot/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/js-jquery/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/json-assertions/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/json-rpc/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/json-schema/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/json/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/jwt/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/kan-extensions/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/kansas-comet/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/labeled-tree/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lambdabot-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/lambdabot/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/lambdabot/deps.patch21
-rw-r--r--pkgs/development/libraries/haskell/language-c-inline/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-c/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-java/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lattices/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/lens-aeson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lens-family-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lens-family-th/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lens-family/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/leveldb-haskell/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/libjenkins/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/liblastfm/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/libmpd/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/libnotify/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/libsystemd-journal/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/lifted-async/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lin-alg/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/linear-opengl/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/linear/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/linux-inotify/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/list-t/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix23
-rw-r--r--pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix22
-rw-r--r--pkgs/development/libraries/haskell/llvm-general-pure/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix27
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix26
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/logging-facade-journald/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/logging-facade/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/logging/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/logsink/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/lushtags/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/lzma-conduit/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/lzma-enumerator/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/machines-directory/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/machines-io/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/machines/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mainland-pretty/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/managed/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/map-syntax/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/markdown/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/meep/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/mersenne-random/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/mime-mail/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/minioperational/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/miniutter/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mmorph/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-control/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/monad-journal/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/monad-logger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix29
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.3.4.7.nix29
-rw-r--r--pkgs/development/libraries/haskell/monad-parallel/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/monad-supply/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monadIO/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monadloc-pp/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/mono-traversable/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monoid-extras/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mtl-prelude/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.0.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.0.1.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.3.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/multiarg/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/multipart/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/mvc-updates/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/mvc/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/mwc-random/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mysql/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/nats/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ncurses/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/netwire/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/network-carbon/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/network-conduit-tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-data/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/network-fancy/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/network-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-transport-tcp/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/network-transport-tests/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/network-transport/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-uri/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.4.nix16
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.5.nix17
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.1.0.nix18
-rw-r--r--pkgs/development/libraries/haskell/network/2.4.1.2.nix22
-rw-r--r--pkgs/development/libraries/haskell/network/2.6.0.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/network/2.6.0.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/non-empty/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/numeric-prelude/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/objective/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/oeis/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ofx/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/oo-prototypes/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/opaleye/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/openssl-streams/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix18
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/0.11.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/pandoc-citeproc/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/pango/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel-io/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/parallel/1.1.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/parallel/2.2.0.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.1.0.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.5.nix15
-rw-r--r--pkgs/development/libraries/haskell/parsec-extra/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/parsec/2.1.0.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.2.nix18
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.3.nix18
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.5.nix17
-rw-r--r--pkgs/development/libraries/haskell/parsec/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/parsek/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/parsers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pcap-enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/persistent-mysql/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/persistent-postgresql/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/persistent-sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/pipes-attoparsec/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-binary/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-csv/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pipes-http/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/pipes-shell/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/pipes-text/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/pipes-zlib/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/pipes/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/pointed/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/polynomials-bernstein/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/polyparse/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pool-conduit/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/preprocessor-tools/default.nix (renamed from pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/presburger/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/present/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.2.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.3.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.4.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/product-profunctors/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/profunctors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/project-template/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/protobuf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/psqueues/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/pure-cdb/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/pwstore-fast/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-instances/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-unicode/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/random/1.0.1.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/random/1.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/rawStringsQq/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana-wx/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/recaptcha/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/reducers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-base/default.nix (renamed from pkgs/development/libraries/haskell/regex-base/0.93.2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.92.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.93.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/default.nix (renamed from pkgs/development/libraries/haskell/regex-compat/0.95.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.4.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.95.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/default.nix (renamed from pkgs/development/libraries/haskell/regex-posix/0.95.2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/regular-xmlpickler/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rematch/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/resource-pool/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rest-client/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/rest-core/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/rest-happstack/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/rest-snap/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/rest-stringmap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-types/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/rest-wai/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/rethinkdb/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/retry/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/reverse-apply/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/robots-txt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rope/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/rvar/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/saltine/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/sbv/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.3.3.0.nix24
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.3.3.3.nix24
-rw-r--r--pkgs/development/libraries/haskell/scotty/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/sdl2/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/securemem/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroups/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/serialport/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/servant-client/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/servant-docs/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/servant-jquery/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/servant-pool/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/servant-postgresql/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/servant-response/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/servant-scotty/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/servant-server/default.nix31
-rw-r--r--pkgs/development/libraries/haskell/servant/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/setlocale/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/shake/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/shakespeare/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shell-conduit/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/shellmate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/shelly/0.15.4.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/simple-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/sitemap/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/skein/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/slack-api/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/smtps-gmail/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/snap-cors/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/snap-error-collector/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/snap-web-routes/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix1
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix2
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix8
-rw-r--r--pkgs/development/libraries/haskell/snaplet-acid-state/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/snaplet-redis/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/snaplet-stripe/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/socket-io/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/sodium/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/split/0.2.1.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/srcloc/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/state-plus/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/stm-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm-containers/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/stm-delay/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.1.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.2.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/stm/2.2.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/stm/2.3.nix15
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/streaming-commons/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/string-conversions/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stylish-haskell/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.6.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.7.nix16
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/symbol/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/system-argv0/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/system-fileio/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/system-filepath/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/tables/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tagged-transformer/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/tagged/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/taggy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tagstream-conduit/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/tasty-hspec/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/tasty-hunit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-program/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/tasty-quickcheck/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/tasty-rerun/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-smallcheck/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/tasty-th/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/template/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/terminal-size/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix17
-rw-r--r--pkgs/development/libraries/haskell/terminfo/default.nix (renamed from pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix)0
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/test-framework-th-prime/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/test-framework/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/test-simple/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/text-binary/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.6.nix18
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.1.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.2.0.nix24
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.3.1.nix24
-rw-r--r--pkgs/development/libraries/haskell/text/1.1.1.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/text/1.2.0.3.nix23
-rw-r--r--pkgs/development/libraries/haskell/th-lift-instances/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/th-lift/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/th-orphans/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/th-reify-many/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/thread-local-storage/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/threepenny-gui/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/thyme/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/time/1.4.2.nix22
-rw-r--r--pkgs/development/libraries/haskell/time/1.5.nix22
-rw-r--r--pkgs/development/libraries/haskell/timezone-olson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/timezone-series/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/tls/1.1.5.nix27
-rw-r--r--pkgs/development/libraries/haskell/tls/1.2.8.nix32
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix32
-rw-r--r--pkgs/development/libraries/haskell/torrent/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/tostring/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/default.nix (renamed from pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix)0
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.2.2.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.4.1.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.4.2.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/traverse-with-class/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/trivia/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/tuple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/twitter-conduit/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/twitter-types-lens/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/twitter-types/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/type-aligned/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/typography-geometry/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/unbound-generics/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/unification-fd/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/unique/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/units/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/unix-memory/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/unix-time/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix24
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix24
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix23
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/uri-encode/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/uri/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/urlencoded/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/uuid/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/vado/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/validation/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/vcsgui/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/vcswrapper/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/vector-fftw/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.11.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.12.2.nix23
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.9.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/vinyl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vk-aws-route53/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/vk-posix-pty/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/void/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vty-ui/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/vty/4.7.5.nix29
-rw-r--r--pkgs/development/libraries/haskell/vty/5.2.1.nix34
-rw-r--r--pkgs/development/libraries/haskell/vty/default.nix34
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/wai-middleware-static/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/wai-util/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/wai-websockets/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp-tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/web-routes-boomerang/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/web-routes-happstack/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/web-routes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/webdriver/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/webkit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/webkitgtk3/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/websockets-snap/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/websockets/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-extras/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-text/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/word-trie/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/wordexp/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/wreq/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/no-ldconfig.patch10
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wx.nix7
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxc.nix7
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxcore.nix9
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix4
-rw-r--r--pkgs/development/libraries/haskell/x509-store/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/x509-system/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/x509-validation/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/x509/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/xdot/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix16
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix16
-rw-r--r--pkgs/development/libraries/haskell/xhtml/default.nix (renamed from pkgs/development/libraries/haskell/xhtml/3000.2.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/xlsx/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/xml-lens/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xmlhtml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xmonad-screenshot/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix33
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix41
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yesod-markdown/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/yesod-newsfeed/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/yesod-pagination/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/yesod-persistent/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yi-language/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/yi-monokai/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yi-rope/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/yi-snippet/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yst/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zeromq4-haskell/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix20
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.3.5.nix20
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.0.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.2.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.4.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.4.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/zlib/default.nix15
-rw-r--r--pkgs/development/libraries/hidapi/default.nix23
-rw-r--r--pkgs/development/libraries/hiredis/default.nix22
-rw-r--r--pkgs/development/libraries/hivex/default.nix37
-rw-r--r--pkgs/development/libraries/hivex/hivex-syms.patch13
-rw-r--r--pkgs/development/libraries/http-parser/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/default.nix8
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix422
-rw-r--r--pkgs/development/libraries/hwloc/default.nix2
-rw-r--r--pkgs/development/libraries/icu/default.nix11
-rw-r--r--pkgs/development/libraries/id3lib/default.nix2
-rw-r--r--pkgs/development/libraries/ijs/default.nix30
-rw-r--r--pkgs/development/libraries/ilixi/default.nix1
-rw-r--r--pkgs/development/libraries/ilmbase/bootstrap.patch15
-rw-r--r--pkgs/development/libraries/ilmbase/default.nix26
-rw-r--r--pkgs/development/libraries/imlib/default.nix2
-rw-r--r--pkgs/development/libraries/imlib2/default.nix26
-rw-r--r--pkgs/development/libraries/imlib2/giflib51.patch64
-rw-r--r--pkgs/development/libraries/indilib/default.nix14
-rw-r--r--pkgs/development/libraries/indilib/link-zlib.patch12
-rw-r--r--pkgs/development/libraries/indilib/udev-dir.patch22
-rw-r--r--pkgs/development/libraries/iniparser/default.nix6
-rw-r--r--pkgs/development/libraries/irrlicht/default.nix4
-rw-r--r--pkgs/development/libraries/irrlicht/irrlicht-1.8.1-mesa-10.x.patch40
-rw-r--r--pkgs/development/libraries/isl/0.12.2.nix2
-rw-r--r--pkgs/development/libraries/isl/default.nix11
-rw-r--r--pkgs/development/libraries/isl/fix-gcc-build.diff12
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix4
-rw-r--r--pkgs/development/libraries/itk/default.nix2
-rw-r--r--pkgs/development/libraries/jansson/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix11
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8137-noabort.diff16
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8137-variant2.diff45
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff16
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff12
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff329
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-9029.diff31
-rw-r--r--pkgs/development/libraries/java/classpath/default.nix6
-rw-r--r--pkgs/development/libraries/java/commons/bcel/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/bsf/default.nix22
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/fileupload/default.nix23
-rw-r--r--pkgs/development/libraries/java/commons/io/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/lang/default.nix24
-rw-r--r--pkgs/development/libraries/java/commons/logging/default.nix22
-rw-r--r--pkgs/development/libraries/java/commons/math/default.nix24
-rwxr-xr-xpkgs/development/libraries/java/jakarta-bcel/builder.sh6
-rw-r--r--pkgs/development/libraries/java/jakarta-bcel/default.nix14
-rwxr-xr-xpkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh6
-rw-r--r--pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix11
-rw-r--r--pkgs/development/libraries/java/jakarta-regexp/default.nix18
-rwxr-xr-xpkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh6
-rw-r--r--pkgs/development/libraries/java/smack/builder.sh5
-rw-r--r--pkgs/development/libraries/java/smack/default.nix8
-rw-r--r--pkgs/development/libraries/java/swt/default.nix26
-rw-r--r--pkgs/development/libraries/javascript/jquery-ui/default.nix20
-rw-r--r--pkgs/development/libraries/javascript/jquery/default.nix36
-rw-r--r--pkgs/development/libraries/jbigkit/default.nix41
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix18
-rw-r--r--pkgs/development/libraries/json-glib/default.nix17
-rw-r--r--pkgs/development/libraries/jsoncpp/default.nix37
-rw-r--r--pkgs/development/libraries/judy/default.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/default.nix203
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/dependencies.nix500
-rwxr-xr-xpkgs/development/libraries/kde-frameworks-5.7/dependencies.sh22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/extra-cmake-modules/0001-extra-cmake-modules-paths.patch74
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kauth/kauth-policy-install.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kcmutils/kcmutils-pluginselector-follow-symlinks.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kdoctools/kdoctools-no-find-docbook-xml.patch12
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kinit/kinit-libpath.patch30
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kpackage/0001-allow-external-paths.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-follow-symlinks.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/ktexteditor/0001-no-qcoreapplication.patch48
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/manifest.nix562
-rwxr-xr-xpkgs/development/libraries/kde-frameworks-5.7/manifest.sh15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/plasma-framework/plasma-framework-external-paths.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/renames.nix68
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.7/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/default.nix206
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/dependencies.nix524
-rwxr-xr-xpkgs/development/libraries/kde-frameworks-5.9/dependencies.sh22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/extra-cmake-modules/0001-extra-cmake-modules-paths.patch74
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kauth/kauth-policy-install.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kcmutils/kcmutils-pluginselector-follow-symlinks.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kdoctools/kdoctools-no-find-docbook-xml.patch12
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kinit/kinit-libpath.patch30
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kpackage/0001-allow-external-paths.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-follow-symlinks.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/ktexteditor/0001-no-qcoreapplication.patch48
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/manifest.nix589
-rwxr-xr-xpkgs/development/libraries/kde-frameworks-5.9/manifest.sh15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/plasma-framework/plasma-framework-external-paths.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/renames.nix72
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.9/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/kdevplatform/default.nix8
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix34
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix22
-rw-r--r--pkgs/development/libraries/keybinder/default.nix2
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix2
-rw-r--r--pkgs/development/libraries/kyotocabinet/default.nix20
-rw-r--r--pkgs/development/libraries/lame/default.nix62
-rw-r--r--pkgs/development/libraries/lcms2/default.nix4
-rw-r--r--pkgs/development/libraries/ldb/default.nix35
-rw-r--r--pkgs/development/libraries/ldns/default.nix6
-rw-r--r--pkgs/development/libraries/lensfun/default.nix4
-rw-r--r--pkgs/development/libraries/leptonica/default.nix2
-rw-r--r--pkgs/development/libraries/lesstif/c-bad_integer_cast.patch13
-rw-r--r--pkgs/development/libraries/lesstif/c-linkage.patch23
-rw-r--r--pkgs/development/libraries/lesstif/c-unsigned_int.patch38
-rw-r--r--pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch24
-rw-r--r--pkgs/development/libraries/lesstif/default.nix8
-rw-r--r--pkgs/development/libraries/leveldb/default.nix35
-rw-r--r--pkgs/development/libraries/levmar/default.nix4
-rw-r--r--pkgs/development/libraries/lgi/default.nix24
-rw-r--r--pkgs/development/libraries/libHX/default.nix29
-rw-r--r--pkgs/development/libraries/libLAS/default.nix22
-rw-r--r--pkgs/development/libraries/libaacs/default.nix15
-rw-r--r--pkgs/development/libraries/libaal/default.nix13
-rw-r--r--pkgs/development/libraries/libantlr3c/default.nix19
-rw-r--r--pkgs/development/libraries/libao/default.nix14
-rw-r--r--pkgs/development/libraries/libasr/default.nix20
-rw-r--r--pkgs/development/libraries/libass/default.nix53
-rw-r--r--pkgs/development/libraries/libassuan/default.nix4
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.nix2
-rw-r--r--pkgs/development/libraries/libav/default.nix14
-rw-r--r--pkgs/development/libraries/libbladeRF/default.nix39
-rw-r--r--pkgs/development/libraries/libbluray/A01-filter-dup.patch80
-rw-r--r--pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch25
-rw-r--r--pkgs/development/libraries/libbluray/default.nix67
-rw-r--r--pkgs/development/libraries/libbsd/default.nix6
-rw-r--r--pkgs/development/libraries/libc++/default.nix31
-rw-r--r--pkgs/development/libraries/libc++abi/default.nix39
-rw-r--r--pkgs/development/libraries/libcaca/default.nix17
-rw-r--r--pkgs/development/libraries/libcdio/0.82.nix2
-rw-r--r--pkgs/development/libraries/libcdio/default.nix8
-rw-r--r--pkgs/development/libraries/libcdr/default.nix3
-rw-r--r--pkgs/development/libraries/libcec/default.nix28
-rw-r--r--pkgs/development/libraries/libcello/default.nix4
-rw-r--r--pkgs/development/libraries/libchamplain/0.6.nix37
-rw-r--r--pkgs/development/libraries/libchardet/default.nix21
-rw-r--r--pkgs/development/libraries/libchop/default.nix2
-rw-r--r--pkgs/development/libraries/libclc/default.nix30
-rw-r--r--pkgs/development/libraries/libcli/default.nix25
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix28
-rw-r--r--pkgs/development/libraries/libctemplate/2.2.nix22
-rw-r--r--pkgs/development/libraries/libctemplate/default.nix29
-rw-r--r--pkgs/development/libraries/libdbi-drivers/default.nix69
-rw-r--r--pkgs/development/libraries/libdbi/default.nix12
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt5.nix23
-rw-r--r--pkgs/development/libraries/libdc1394/default.nix9
-rw-r--r--pkgs/development/libraries/libdevil/default.nix10
-rw-r--r--pkgs/development/libraries/libdevil/il_endian.h.patch27
-rw-r--r--pkgs/development/libraries/libdnet/default.nix2
-rw-r--r--pkgs/development/libraries/libdrm/default.nix7
-rw-r--r--pkgs/development/libraries/libdvdcss/default.nix6
-rw-r--r--pkgs/development/libraries/libe-book/0.0.nix30
-rw-r--r--pkgs/development/libraries/libe-book/0.0.upstream4
-rw-r--r--pkgs/development/libraries/libe-book/default.nix8
-rw-r--r--pkgs/development/libraries/libebml/default.nix12
-rw-r--r--pkgs/development/libraries/libechonest/default.nix20
-rw-r--r--pkgs/development/libraries/libedit/default.nix11
-rw-r--r--pkgs/development/libraries/libee/default.nix2
-rw-r--r--pkgs/development/libraries/libelf/default.nix7
-rw-r--r--pkgs/development/libraries/libestr/default.nix18
-rw-r--r--pkgs/development/libraries/libetpan/default.nix24
-rw-r--r--pkgs/development/libraries/libev/default.nix34
-rw-r--r--pkgs/development/libraries/libev/src-for-default.nix9
-rw-r--r--pkgs/development/libraries/libev/src-info-for-default.nix5
-rw-r--r--pkgs/development/libraries/libevdev/default.nix6
-rw-r--r--pkgs/development/libraries/libevhtp/default.nix25
-rw-r--r--pkgs/development/libraries/libewf/default.nix13
-rw-r--r--pkgs/development/libraries/libewf/default.upstream7
-rw-r--r--pkgs/development/libraries/libf2c/default.nix2
-rw-r--r--pkgs/development/libraries/libfakekey/default.nix21
-rw-r--r--pkgs/development/libraries/libfaketime/default.nix22
-rw-r--r--pkgs/development/libraries/libffi/default.nix39
-rw-r--r--pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch37
-rw-r--r--pkgs/development/libraries/libfixposix/default.nix2
-rw-r--r--pkgs/development/libraries/libfm/default.nix20
-rw-r--r--pkgs/development/libraries/libfprint/default.nix23
-rw-r--r--pkgs/development/libraries/libfpx/default.nix26
-rw-r--r--pkgs/development/libraries/libfreefare/default.nix21
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/1.6.nix12
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix8
-rw-r--r--pkgs/development/libraries/libgcrypt/no-build-timestamp.patch12
-rw-r--r--pkgs/development/libraries/libgdiplus/giflib.patch44
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix39
-rw-r--r--pkgs/development/libraries/libgphoto2/2.4.nix30
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix17
-rw-r--r--pkgs/development/libraries/libgsf/default.nix5
-rw-r--r--pkgs/development/libraries/libgsystem/default.nix32
-rw-r--r--pkgs/development/libraries/libguestfs/default.nix56
-rw-r--r--pkgs/development/libraries/libguestfs/libguestfs-syms.patch13
-rw-r--r--pkgs/development/libraries/libharu/default.nix38
-rw-r--r--pkgs/development/libraries/libiberty/default.nix28
-rw-r--r--pkgs/development/libraries/libibmad/default.nix19
-rw-r--r--pkgs/development/libraries/libibumad/default.nix17
-rw-r--r--pkgs/development/libraries/libibverbs/default.nix17
-rw-r--r--pkgs/development/libraries/libical/default.nix24
-rw-r--r--pkgs/development/libraries/libical/respect-env-tzdir.patch16
-rw-r--r--pkgs/development/libraries/libiconv/default.nix6
-rw-r--r--pkgs/development/libraries/libidn/default.nix5
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix45
-rw-r--r--pkgs/development/libraries/libixp_for_wmii/default.nix2
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix11
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix2
-rw-r--r--pkgs/development/libraries/libjreen/default.nix20
-rw-r--r--pkgs/development/libraries/libkeyfinder/default.nix39
-rw-r--r--pkgs/development/libraries/libksba/default.nix11
-rw-r--r--pkgs/development/libraries/liblastfm/default.nix4
-rw-r--r--pkgs/development/libraries/liblogging/default.nix23
-rw-r--r--pkgs/development/libraries/liblognorm/default.nix22
-rw-r--r--pkgs/development/libraries/liblqr-1/default.nix6
-rw-r--r--pkgs/development/libraries/libltc/default.nix17
-rw-r--r--pkgs/development/libraries/libmad/default.nix7
-rw-r--r--pkgs/development/libraries/libmad/optimize.diff77
-rw-r--r--pkgs/development/libraries/libmatroska/default.nix12
-rw-r--r--pkgs/development/libraries/libmbim/default.nix13
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix29
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix9
-rw-r--r--pkgs/development/libraries/libmilter/default.nix1
-rw-r--r--pkgs/development/libraries/libmng/default.nix2
-rw-r--r--pkgs/development/libraries/libmongo-client/default.nix28
-rw-r--r--pkgs/development/libraries/libmpc/default.nix34
-rw-r--r--pkgs/development/libraries/libmpeg2/A00-tags.patch27
-rw-r--r--pkgs/development/libraries/libmpeg2/default.nix13
-rw-r--r--pkgs/development/libraries/libmsgpack/0.5-CMake.patch14
-rw-r--r--pkgs/development/libraries/libmsgpack/0.5.nix14
-rw-r--r--pkgs/development/libraries/libmsgpack/default.nix37
-rw-r--r--pkgs/development/libraries/libmsgpack/generic.nix20
-rw-r--r--pkgs/development/libraries/libmtp/default.nix4
-rw-r--r--pkgs/development/libraries/libmusclecard/default.nix2
-rw-r--r--pkgs/development/libraries/libmusicbrainz/default.nix2
-rw-r--r--pkgs/development/libraries/libmwaw/0.2.nix29
-rw-r--r--pkgs/development/libraries/libmwaw/0.2.upstream4
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix7
-rw-r--r--pkgs/development/libraries/libndp/default.nix19
-rw-r--r--pkgs/development/libraries/libnet/default.nix11
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix4
-rw-r--r--pkgs/development/libraries/libnetfilter_cthelper/default.nix26
-rw-r--r--pkgs/development/libraries/libnetfilter_cttimeout/default.nix26
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--pkgs/development/libraries/liboauth/default.nix4
-rw-r--r--pkgs/development/libraries/libodfgen/default.nix8
-rw-r--r--pkgs/development/libraries/libofx/default.nix4
-rw-r--r--pkgs/development/libraries/libogg/default.nix5
-rw-r--r--pkgs/development/libraries/liboil/default.nix3
-rw-r--r--pkgs/development/libraries/libomxil-bellagio/default.nix21
-rw-r--r--pkgs/development/libraries/libomxil-bellagio/fedora-fixes.patch199
-rw-r--r--pkgs/development/libraries/libopensc-dnie/default.nix4
-rw-r--r--pkgs/development/libraries/liboping/default.nix6
-rw-r--r--pkgs/development/libraries/libopus/default.nix2
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libosmpbf/default.nix22
-rw-r--r--pkgs/development/libraries/libotr/default.nix25
-rw-r--r--pkgs/development/libraries/libowfat/default.nix18
-rw-r--r--pkgs/development/libraries/libpcap/default.nix9
-rw-r--r--pkgs/development/libraries/libpfm/default.nix26
-rw-r--r--pkgs/development/libraries/libpgf/default.nix27
-rw-r--r--pkgs/development/libraries/libpipeline/default.nix4
-rw-r--r--pkgs/development/libraries/libpng/12.nix4
-rw-r--r--pkgs/development/libraries/libpng/15.nix8
-rw-r--r--pkgs/development/libraries/libpng/default.nix10
-rw-r--r--pkgs/development/libraries/libpst/default.nix26
-rw-r--r--pkgs/development/libraries/libqb/default.nix20
-rw-r--r--pkgs/development/libraries/libqmi/default.nix7
-rw-r--r--pkgs/development/libraries/librdf/raptor.nix4
-rw-r--r--pkgs/development/libraries/librdf/raptor2.nix6
-rw-r--r--pkgs/development/libraries/librdf/rasqal.nix6
-rw-r--r--pkgs/development/libraries/librdf/redland.nix4
-rw-r--r--pkgs/development/libraries/librdmacm/default.nix19
-rw-r--r--pkgs/development/libraries/libre/default.nix8
-rw-r--r--pkgs/development/libraries/librelp/default.nix20
-rw-r--r--pkgs/development/libraries/librem/default.nix4
-rw-r--r--pkgs/development/libraries/librep/default.nix42
-rw-r--r--pkgs/development/libraries/librep/setup-hook.sh5
-rw-r--r--pkgs/development/libraries/libresample/default.nix2
-rw-r--r--pkgs/development/libraries/libressl/default.nix12
-rw-r--r--pkgs/development/libraries/librevenge/default.nix17
-rw-r--r--pkgs/development/libraries/librsvg/default.nix16
-rw-r--r--pkgs/development/libraries/librsync/default.nix23
-rw-r--r--pkgs/development/libraries/libsass/default.nix27
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix6
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix32
-rw-r--r--pkgs/development/libraries/libsecret/default.nix25
-rw-r--r--pkgs/development/libraries/libsieve/default.nix16
-rw-r--r--pkgs/development/libraries/libsigcxx/1.2.nix3
-rw-r--r--pkgs/development/libraries/libsigsegv/2.5.nix3
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix5
-rw-r--r--pkgs/development/libraries/libsodium/default.nix10
-rw-r--r--pkgs/development/libraries/libsoup/bad-symbol.patch10
-rw-r--r--pkgs/development/libraries/libsoup/default.nix13
-rw-r--r--pkgs/development/libraries/libspatialite/default.nix13
-rw-r--r--pkgs/development/libraries/libssh/default.nix19
-rw-r--r--pkgs/development/libraries/libssh2/default.nix4
-rw-r--r--pkgs/development/libraries/libstatgrab/default.nix18
-rw-r--r--pkgs/development/libraries/libstrophe/default.nix34
-rw-r--r--pkgs/development/libraries/libsvm/default.nix38
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix4
-rw-r--r--pkgs/development/libraries/libtermkey/default.nix21
-rw-r--r--pkgs/development/libraries/libtheora/default.nix18
-rw-r--r--pkgs/development/libraries/libtidy/default.nix28
-rw-r--r--pkgs/development/libraries/libtomcrypt/default.nix26
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/0.16.nix6
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix32
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/generic.nix31
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix42
-rw-r--r--pkgs/development/libraries/libu2f-host/default.nix20
-rw-r--r--pkgs/development/libraries/libuchardet/default.nix23
-rw-r--r--pkgs/development/libraries/libunique/3.x.nix28
-rw-r--r--pkgs/development/libraries/libunistring/clang.patch14
-rw-r--r--pkgs/development/libraries/libunistring/default.nix4
-rw-r--r--pkgs/development/libraries/libunwind/default.nix12
-rw-r--r--pkgs/development/libraries/libunwind/libunwind-1.1-lzma.patch63
-rw-r--r--pkgs/development/libraries/libunwind/native.nix17
-rw-r--r--pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--pkgs/development/libraries/libusb/default.nix15
-rw-r--r--pkgs/development/libraries/libusb1/default.nix13
-rw-r--r--pkgs/development/libraries/libuv/default.nix13
-rw-r--r--pkgs/development/libraries/libva/default.nix14
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix10
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix14
-rw-r--r--pkgs/development/libraries/libvisio/default.nix2
-rw-r--r--pkgs/development/libraries/libvisual/default.nix2
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix2
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix9
-rw-r--r--pkgs/development/libraries/libvpx/default.nix197
-rw-r--r--pkgs/development/libraries/libvpx/git.nix203
-rw-r--r--pkgs/development/libraries/libwebp/default.nix67
-rw-r--r--pkgs/development/libraries/libxcomp/default.nix34
-rw-r--r--pkgs/development/libraries/libxls/default.nix22
-rw-r--r--pkgs/development/libraries/libxmi/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix12
-rw-r--r--pkgs/development/libraries/libxml2/setup-hook.sh27
-rw-r--r--pkgs/development/libraries/libxmlxx/default.nix4
-rw-r--r--pkgs/development/libraries/libxslt/default.nix11
-rw-r--r--pkgs/development/libraries/libyaml-cpp/0.3.x.nix18
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix10
-rw-r--r--pkgs/development/libraries/libyaml/default.nix10
-rw-r--r--pkgs/development/libraries/libykneomgr/default.nix24
-rw-r--r--pkgs/development/libraries/libyubikey/default.nix23
-rw-r--r--pkgs/development/libraries/libzdb/default.nix4
-rw-r--r--pkgs/development/libraries/libzen/default.nix26
-rw-r--r--pkgs/development/libraries/libzip/default.nix13
-rw-r--r--pkgs/development/libraries/libzrtpcpp/1.6.nix21
-rw-r--r--pkgs/development/libraries/libzrtpcpp/default.nix3
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix48
-rw-r--r--pkgs/development/libraries/lirc/default.nix24
-rw-r--r--pkgs/development/libraries/loudmouth/default.nix12
-rw-r--r--pkgs/development/libraries/luabind/0.9.1_boost_1.57_fix.patch23
-rw-r--r--pkgs/development/libraries/luabind/0.9.1_discover_luajit.patch22
-rw-r--r--pkgs/development/libraries/luabind/0.9.1_modern_boost_fix.patch59
-rw-r--r--pkgs/development/libraries/luabind/default.nix30
-rw-r--r--pkgs/development/libraries/lucene++/default.nix46
-rw-r--r--pkgs/development/libraries/lzo/default.nix4
-rw-r--r--pkgs/development/libraries/mailcore2/default.nix55
-rw-r--r--pkgs/development/libraries/martyr/default.nix2
-rw-r--r--pkgs/development/libraries/matio/default.nix16
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix41
-rw-r--r--pkgs/development/libraries/mdds/default.nix4
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix39
-rw-r--r--pkgs/development/libraries/menu-cache/default.nix12
-rw-r--r--pkgs/development/libraries/mesa-darwin/default.nix2
-rw-r--r--pkgs/development/libraries/mesa-glu/default.nix2
-rw-r--r--pkgs/development/libraries/mesa/default.nix108
-rw-r--r--pkgs/development/libraries/mesa/rtti.patch72
-rw-r--r--pkgs/development/libraries/mesa/static-gallium.patch64
-rw-r--r--pkgs/development/libraries/ming/default.nix4
-rw-r--r--pkgs/development/libraries/minixml/default.nix4
-rw-r--r--pkgs/development/libraries/mpc/default.nix30
-rw-r--r--pkgs/development/libraries/mpfr/default.nix8
-rw-r--r--pkgs/development/libraries/mtdev/default.nix13
-rw-r--r--pkgs/development/libraries/muparser/default.nix15
-rw-r--r--pkgs/development/libraries/mythes/default.nix4
-rw-r--r--pkgs/development/libraries/ncurses/clang.patch42
-rw-r--r--pkgs/development/libraries/ncurses/default.nix6
-rw-r--r--pkgs/development/libraries/ndn-cxx/default.nix48
-rw-r--r--pkgs/development/libraries/netcdf/default.nix25
-rw-r--r--pkgs/development/libraries/nettle/27.nix10
-rw-r--r--pkgs/development/libraries/nettle/default.nix67
-rw-r--r--pkgs/development/libraries/nettle/generic.nix68
-rw-r--r--pkgs/development/libraries/nlopt/default.nix21
-rw-r--r--pkgs/development/libraries/npapi-sdk/default.nix1
-rw-r--r--pkgs/development/libraries/npth/default.nix10
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix8
-rw-r--r--pkgs/development/libraries/nss/nss-3.15-gentoo-fixups.patch238
-rw-r--r--pkgs/development/libraries/nss/nss-3.17-gentoo-fixups.patch241
-rw-r--r--pkgs/development/libraries/nss_wrapper/default.nix21
-rw-r--r--pkgs/development/libraries/ntdb/default.nix33
-rw-r--r--pkgs/development/libraries/nvidia-texture-tools/default.nix2
-rw-r--r--pkgs/development/libraries/ogre/default.nix11
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix13
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix17
-rw-r--r--pkgs/development/libraries/openbr/default.nix31
-rw-r--r--pkgs/development/libraries/opencascade/6.5.nix10
-rw-r--r--pkgs/development/libraries/opencascade/default.nix3
-rw-r--r--pkgs/development/libraries/opencascade/oce.nix3
-rw-r--r--pkgs/development/libraries/opencollada/default.nix28
-rw-r--r--pkgs/development/libraries/opencsg/default.nix4
-rw-r--r--pkgs/development/libraries/openct/default.nix44
-rw-r--r--pkgs/development/libraries/opencv/2.1.nix2
-rw-r--r--pkgs/development/libraries/opencv/default.nix20
-rw-r--r--pkgs/development/libraries/opendbx/default.nix13
-rw-r--r--pkgs/development/libraries/openexr/bootstrap.patch15
-rw-r--r--pkgs/development/libraries/openexr/default.nix41
-rw-r--r--pkgs/development/libraries/openexr/source.nix11
-rw-r--r--pkgs/development/libraries/openexr/stringh.patch25
-rw-r--r--pkgs/development/libraries/openjpeg/1.x.nix10
-rw-r--r--pkgs/development/libraries/openjpeg/2.0.1.nix10
-rw-r--r--pkgs/development/libraries/openjpeg/2.1.nix10
-rw-r--r--pkgs/development/libraries/openjpeg/default.nix40
-rw-r--r--pkgs/development/libraries/openjpeg/generic.nix83
-rw-r--r--pkgs/development/libraries/openldap/default.nix11
-rw-r--r--pkgs/development/libraries/openmpi/default.nix2
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix11
-rw-r--r--pkgs/development/libraries/openscenegraph/xine.patch18
-rw-r--r--pkgs/development/libraries/openssl/cert-file.patch42
-rw-r--r--pkgs/development/libraries/openssl/default.nix6
-rw-r--r--pkgs/development/libraries/ortp/default.nix14
-rw-r--r--pkgs/development/libraries/osip/default.nix5
-rw-r--r--pkgs/development/libraries/osip/default.upstream3
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix2
-rw-r--r--pkgs/development/libraries/pango/default.nix26
-rw-r--r--pkgs/development/libraries/pangomm/default.nix2
-rw-r--r--pkgs/development/libraries/pcl/default.nix2
-rw-r--r--pkgs/development/libraries/pcre/default.nix10
-rw-r--r--pkgs/development/libraries/pdf2xml/default.nix2
-rw-r--r--pkgs/development/libraries/phonon-backend-gstreamer/default.nix28
-rw-r--r--pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix28
-rw-r--r--pkgs/development/libraries/phonon-backend-gstreamer/qt5/default.nix34
-rw-r--r--pkgs/development/libraries/phonon-backend-vlc/default.nix26
-rw-r--r--pkgs/development/libraries/phonon-backend-vlc/qt4/default.nix37
-rw-r--r--pkgs/development/libraries/phonon-backend-vlc/qt5/default.nix37
-rw-r--r--pkgs/development/libraries/phonon/default.nix25
-rw-r--r--pkgs/development/libraries/phonon/qt4/default.nix28
-rw-r--r--pkgs/development/libraries/phonon/qt5/default.nix34
-rw-r--r--pkgs/development/libraries/physfs/default.nix2
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix150
-rw-r--r--pkgs/development/libraries/physics/geant4/fetch.nix19
-rw-r--r--pkgs/development/libraries/physics/geant4/g4py/configure.patch12
-rw-r--r--pkgs/development/libraries/physics/geant4/g4py/default.nix70
-rw-r--r--pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/physics/geant4/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/pixman/default.nix2
-rw-r--r--pkgs/development/libraries/pixman/fix-clang36.patch11
-rw-r--r--pkgs/development/libraries/pocketsphinx/default.nix6
-rw-r--r--pkgs/development/libraries/podofo/default.nix4
-rw-r--r--pkgs/development/libraries/poker-eval/default.nix24
-rw-r--r--pkgs/development/libraries/polkit-qt-1/default.nix20
-rw-r--r--pkgs/development/libraries/polkit-qt-1/polkit-install.patch12
-rw-r--r--pkgs/development/libraries/polkit/default.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix100
-rw-r--r--pkgs/development/libraries/poppler/poppler-glib.patch19
-rw-r--r--pkgs/development/libraries/portmidi/default.nix6
-rw-r--r--pkgs/development/libraries/postgis/default.nix100
-rw-r--r--pkgs/development/libraries/proj/default.nix22
-rw-r--r--pkgs/development/libraries/protobuf/2.5.nix10
-rw-r--r--pkgs/development/libraries/protobuf/2.6.nix12
-rw-r--r--pkgs/development/libraries/protobuf/default.nix28
-rw-r--r--pkgs/development/libraries/protobuf/generic.nix36
-rw-r--r--pkgs/development/libraries/protobufc/1.0.nix11
-rw-r--r--pkgs/development/libraries/protobufc/1.1.nix11
-rw-r--r--pkgs/development/libraries/protobufc/default.nix22
-rw-r--r--pkgs/development/libraries/protobufc/generic.nix20
-rw-r--r--pkgs/development/libraries/ptlib/default.nix4
-rw-r--r--pkgs/development/libraries/qca2/default.nix30
-rw-r--r--pkgs/development/libraries/qca2/gcc47.patch12
-rw-r--r--pkgs/development/libraries/qca2/ossl.nix33
-rw-r--r--pkgs/development/libraries/qhull/default.nix2
-rw-r--r--pkgs/development/libraries/qimageblitz/default.nix2
-rw-r--r--pkgs/development/libraries/qmltermwidget/default.nix33
-rw-r--r--pkgs/development/libraries/qpdf/default.nix34
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix47
-rw-r--r--pkgs/development/libraries/qt-3/default.nix2
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix19
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0001-dlopen-gtkstyle.patch63
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0002-dlopen-webkit-nsplugin.patch53
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0003-glib-2.32.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0004-dlopen-resolv.patch39
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0005-dlopen-gl.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0006-tzdir.patch52
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0007-dlopen-webkit-gtk.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0008-dlopen-webkit-udev.patch31
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0009-dlopen-serialport-udev.patch28
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0010-dlopen-libXcursor.patch29
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0011-dlopen-openssl.patch38
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0012-dlopen-dbus.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.3/default.nix185
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0001-dlopen-gtkstyle.patch63
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0002-dlopen-webkit-nsplugin.patch53
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0003-glib-2.32.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0004-dlopen-resolv.patch39
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0005-dlopen-gl.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0006-tzdir.patch52
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0007-dlopen-webkit-gtk.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0008-dlopen-webkit-udev.patch31
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0009-dlopen-serialport-udev.patch28
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0010-dlopen-libXcursor.patch29
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0011-dlopen-openssl.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0012-dlopen-dbus.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.4/default.nix354
-rw-r--r--pkgs/development/libraries/qt-5/5.4/manifest.nix274
-rwxr-xr-xpkgs/development/libraries/qt-5/5.4/manifest.sh15
-rw-r--r--pkgs/development/libraries/qt-5/5.4/qt-submodule.nix60
-rw-r--r--pkgs/development/libraries/qt-5/5.4/qtbase.nix185
-rw-r--r--pkgs/development/libraries/qt-5/5.4/setup-hook.sh59
-rw-r--r--pkgs/development/libraries/qt-5/default.nix166
-rw-r--r--pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch36
-rw-r--r--pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch36
-rw-r--r--pkgs/development/libraries/qt-5/glib-2.32.patch12
-rw-r--r--pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch36
-rw-r--r--pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch24
-rw-r--r--pkgs/development/libraries/qt-5/qt-5.3.nix165
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix23
-rw-r--r--pkgs/development/libraries/quazip/default.nix23
-rw-r--r--pkgs/development/libraries/qwt/6.nix3
-rw-r--r--pkgs/development/libraries/qwt/default.nix11
-rw-r--r--pkgs/development/libraries/qwt/prefix.diff24
-rw-r--r--pkgs/development/libraries/rabbitmq-c/default.nix20
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix27
-rw-r--r--pkgs/development/libraries/readline/5.x.nix17
-rw-r--r--pkgs/development/libraries/readline/6.2.nix61
-rw-r--r--pkgs/development/libraries/readline/6.3.nix59
-rw-r--r--pkgs/development/libraries/readline/clang.patch13
-rw-r--r--pkgs/development/libraries/readline/readline-6.3-patches.nix12
-rw-r--r--pkgs/development/libraries/readline/readline6.3.nix55
-rw-r--r--pkgs/development/libraries/readline/readline6.nix59
-rw-r--r--pkgs/development/libraries/readline/shobj-darwin.patch11
-rw-r--r--pkgs/development/libraries/readosm/default.nix23
-rw-r--r--pkgs/development/libraries/rep-gtk/default.nix27
-rw-r--r--pkgs/development/libraries/rep-gtk/setup-hook.sh5
-rw-r--r--pkgs/development/libraries/schroedinger/default.nix30
-rw-r--r--pkgs/development/libraries/science/biology/biolib/default.nix25
-rw-r--r--pkgs/development/libraries/science/math/arpack/default.nix27
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix85
-rw-r--r--pkgs/development/libraries/science/math/blas/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/ipopt/default.nix29
-rw-r--r--pkgs/development/libraries/science/math/openblas/0.2.10.nix13
-rw-r--r--pkgs/development/libraries/science/math/openblas/0.2.2.nix37
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix41
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/0001-disable-metis.patch36
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/0002-set-install-dir.patch27
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/0003-blas-lapack-flags.patch27
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/4.2.nix (renamed from pkgs/development/libraries/suitesparse/default.nix)0
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/SuiteSparse_config.mk452
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix58
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/disable-metis.patch (renamed from pkgs/development/libraries/suitesparse/disable-metis.patch)0
-rw-r--r--pkgs/development/libraries/scmccid/default.nix8
-rw-r--r--pkgs/development/libraries/serd/default.nix4
-rw-r--r--pkgs/development/libraries/serf/default.nix22
-rw-r--r--pkgs/development/libraries/sfsexp/default.nix18
-rw-r--r--pkgs/development/libraries/simgear/default.nix64
-rw-r--r--pkgs/development/libraries/skalibs/default.nix55
-rw-r--r--pkgs/development/libraries/skalibs/getpeereid.patch28
-rw-r--r--pkgs/development/libraries/slang/default.nix21
-rw-r--r--pkgs/development/libraries/slib/default.nix6
-rw-r--r--pkgs/development/libraries/smpeg/default.nix10
-rw-r--r--pkgs/development/libraries/snappy/default.nix26
-rw-r--r--pkgs/development/libraries/socket_wrapper/default.nix21
-rw-r--r--pkgs/development/libraries/sodium/default.nix8
-rw-r--r--pkgs/development/libraries/sord/default.nix4
-rw-r--r--pkgs/development/libraries/soundtouch/default.nix22
-rw-r--r--pkgs/development/libraries/spandsp/default.nix9
-rw-r--r--pkgs/development/libraries/spatialite-tools/default.nix22
-rw-r--r--pkgs/development/libraries/speech-tools/default.nix11
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix10
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix13
-rw-r--r--pkgs/development/libraries/spice/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix16
-rw-r--r--pkgs/development/libraries/srtp/default.nix71
-rw-r--r--pkgs/development/libraries/srtp/linphone.nix15
-rw-r--r--pkgs/development/libraries/startup-notification/default.nix2
-rw-r--r--pkgs/development/libraries/stfl/default.nix4
-rw-r--r--pkgs/development/libraries/stlport/default.nix3
-rw-r--r--pkgs/development/libraries/strigi/default.nix2
-rw-r--r--pkgs/development/libraries/stxxl/default.nix24
-rw-r--r--pkgs/development/libraries/svrcore/default.nix20
-rw-r--r--pkgs/development/libraries/sword/default.nix14
-rw-r--r--pkgs/development/libraries/t1lib/default.nix25
-rw-r--r--pkgs/development/libraries/talloc/default.nix40
-rw-r--r--pkgs/development/libraries/tdb/default.nix33
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix4
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix10
-rw-r--r--pkgs/development/libraries/telepathy/qt/farstream-0.2.diff28
-rw-r--r--pkgs/development/libraries/tevent/default.nix33
-rw-r--r--pkgs/development/libraries/thrift/default.nix37
-rw-r--r--pkgs/development/libraries/thrift/yylex.patch23
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix16
-rw-r--r--[-rwxr-xr-x]pkgs/development/libraries/tinyxml/2.6.2-entity.patch0
-rw-r--r--pkgs/development/libraries/tinyxml/2.6.2.nix24
-rw-r--r--pkgs/development/libraries/tk/default.nix8
-rw-r--r--pkgs/development/libraries/tk/different-prefix-with-tcl.patch33
-rw-r--r--pkgs/development/libraries/tokyo-cabinet/default.nix8
-rw-r--r--pkgs/development/libraries/tremor/default.nix2
-rw-r--r--pkgs/development/libraries/tsocks/default.nix10
-rw-r--r--pkgs/development/libraries/tsocks/poll.patch26
-rw-r--r--pkgs/development/libraries/ucommon/default.nix23
-rw-r--r--pkgs/development/libraries/udunits/configure.patch12
-rw-r--r--pkgs/development/libraries/udunits/default.nix19
-rw-r--r--pkgs/development/libraries/uid_wrapper/default.nix21
-rw-r--r--pkgs/development/libraries/unibilium/default.nix23
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix4
-rw-r--r--pkgs/development/libraries/usbredir/default.nix4
-rw-r--r--pkgs/development/libraries/utf8proc/default.nix25
-rw-r--r--pkgs/development/libraries/uthash/default.nix33
-rw-r--r--pkgs/development/libraries/v8/3.16.14.nix70
-rw-r--r--pkgs/development/libraries/v8/default.nix21
-rw-r--r--pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch27
-rw-r--r--pkgs/development/libraries/vaapi-intel/default.nix4
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix8
-rw-r--r--pkgs/development/libraries/vid-stab/default.nix22
-rw-r--r--pkgs/development/libraries/vrpn/default.nix2
-rw-r--r--pkgs/development/libraries/vtk/default.nix11
-rw-r--r--pkgs/development/libraries/wavpack/default.nix19
-rw-r--r--pkgs/development/libraries/wayland/default.nix33
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.6.nix62
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix56
-rw-r--r--pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch52
-rw-r--r--pkgs/development/libraries/websocket++/default.nix21
-rw-r--r--pkgs/development/libraries/wiredtiger/default.nix38
-rw-r--r--pkgs/development/libraries/wtk/builder.sh2
-rw-r--r--pkgs/development/libraries/wtk/default.nix2
-rw-r--r--pkgs/development/libraries/wxGTK-2.8/default.nix4
-rw-r--r--pkgs/development/libraries/wxGTK-2.9/default.nix4
-rw-r--r--pkgs/development/libraries/wxGTK-3.0/default.nix8
-rw-r--r--pkgs/development/libraries/x264/default.nix19
-rw-r--r--pkgs/development/libraries/x265/default.nix7
-rw-r--r--pkgs/development/libraries/x265/generic.nix56
-rw-r--r--pkgs/development/libraries/x265/hg.nix7
-rw-r--r--pkgs/development/libraries/xapian/bindings/1.0.x.nix1
-rw-r--r--pkgs/development/libraries/xapian/bindings/default.nix1
-rw-r--r--pkgs/development/libraries/xapian/default.nix6
-rw-r--r--pkgs/development/libraries/xavs/default.nix37
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/HEAD.nix39
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/default.nix38
-rw-r--r--pkgs/development/libraries/xlslib/default.nix25
-rw-r--r--pkgs/development/libraries/xmlrpc-c/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix4
-rw-r--r--pkgs/development/libraries/xvidcore/default.nix44
-rw-r--r--pkgs/development/libraries/zeromq/3.x.nix11
-rw-r--r--pkgs/development/libraries/zeromq/4.x.nix11
-rw-r--r--pkgs/development/libraries/zlib/default.nix13
-rw-r--r--pkgs/development/libraries/zookeeper_mt/default.nix20
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix10
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/build-with-lisp.sh67
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/cl-wrapper.sh3
-rw-r--r--pkgs/development/lisp-modules/clwrapper/default.nix1
-rw-r--r--pkgs/development/lisp-modules/define-package.nix9
-rwxr-xr-xpkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh114
-rw-r--r--pkgs/development/lisp-modules/from-quicklisp/tmp.nix0
-rw-r--r--pkgs/development/lisp-modules/iterate.darcs-context116
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix482
-rw-r--r--pkgs/development/lisp-modules/stumpwm/default.nix36
-rw-r--r--pkgs/development/lua-modules/generic/default.nix24
-rw-r--r--pkgs/development/lua-modules/luasql.patch37
-rw-r--r--pkgs/development/lua-modules/zip.patch23
-rw-r--r--pkgs/development/misc/amdapp-sdk/default.nix8
-rw-r--r--pkgs/development/misc/avr-gcc-with-avr-libc/avr-libc-fix-gcc-4.6.0.patch29
-rw-r--r--pkgs/development/misc/avr-gcc-with-avr-libc/default.nix135
-rw-r--r--pkgs/development/misc/avr8-burn-omat/default.nix13
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml577
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix32
-rw-r--r--pkgs/development/mobile/androidenv/androidndk.nix79
-rw-r--r--pkgs/development/mobile/androidenv/androidndk_r8e.nix80
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix79
-rw-r--r--pkgs/development/mobile/androidenv/build-app.nix2
-rw-r--r--pkgs/development/mobile/androidenv/build-tools.nix27
-rw-r--r--pkgs/development/mobile/androidenv/default.nix61
-rw-r--r--pkgs/development/mobile/androidenv/emulate-app.nix4
-rwxr-xr-xpkgs/development/mobile/androidenv/fetch15
-rwxr-xr-xpkgs/development/mobile/androidenv/fetch.sh14
-rw-r--r--pkgs/development/mobile/androidenv/generate-addons.xsl6
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-platforms.sh4
-rw-r--r--pkgs/development/mobile/androidenv/generate-platforms.xsl10
-rw-r--r--pkgs/development/mobile/androidenv/generate-sysimages-others.xsl21
-rwxr-xr-xpkgs/development/mobile/androidenv/generate-sysimages.sh4
-rw-r--r--pkgs/development/mobile/androidenv/generate-sysimages.xsl10
-rw-r--r--pkgs/development/mobile/androidenv/make-standalone-toolchain.patch13
-rw-r--r--pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch13
-rw-r--r--pkgs/development/mobile/androidenv/platform-tools.nix21
-rw-r--r--pkgs/development/mobile/androidenv/platforms-linux.nix24
-rw-r--r--pkgs/development/mobile/androidenv/platforms-macosx.nix23
-rw-r--r--pkgs/development/mobile/androidenv/repository-10.xml1562
-rw-r--r--pkgs/development/mobile/androidenv/repository-8.xml1277
-rw-r--r--pkgs/development/mobile/androidenv/support-repository.nix17
-rw-r--r--pkgs/development/mobile/androidenv/support.nix8
-rw-r--r--pkgs/development/mobile/androidenv/sys-img-mips.xml132
-rw-r--r--pkgs/development/mobile/androidenv/sys-img-x86.xml154
-rw-r--r--pkgs/development/mobile/androidenv/sys-img.xml712
-rw-r--r--pkgs/development/mobile/androidenv/sysimages.nix82
-rw-r--r--pkgs/development/mobile/flashtool/default.nix2
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix32
-rw-r--r--pkgs/development/mobile/titaniumenv/default.nix7
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix32
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix4
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix10
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix12
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix8
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix8
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.4.nix77
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.5.nix77
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix5
-rw-r--r--pkgs/development/mobile/xcodeenv/default.nix4
-rw-r--r--pkgs/development/mobile/xcodeenv/simulate-app.nix45
-rw-r--r--pkgs/development/mobile/xcodeenv/xcodewrapper.nix10
-rw-r--r--pkgs/development/mobile/xpwn/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/ansiterminal/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/asn1-combinators/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/base64/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix19
-rw-r--r--pkgs/development/ocaml-modules/biniou/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/bolt/default.nix41
-rw-r--r--pkgs/development/ocaml-modules/calendar/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/camlimages/4.0.nix41
-rw-r--r--pkgs/development/ocaml-modules/camlimages/4.1.nix38
-rw-r--r--pkgs/development/ocaml-modules/camlimages/default.nix43
-rw-r--r--pkgs/development/ocaml-modules/camlpdf/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.8.2.nix7
-rw-r--r--pkgs/development/ocaml-modules/camomile/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/cil/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/default.nix40
-rw-r--r--pkgs/development/ocaml-modules/config-file/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/cpdf/default.nix35
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/csv/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/dolog/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/dypgen/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix54
-rw-r--r--pkgs/development/ocaml-modules/enumerate/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/erm_xml/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/erm_xmpp/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ezjsonm/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/fieldslib/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/fileutils/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/fix/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/functory/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/gapi-ocaml/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/gg/default.nix48
-rw-r--r--pkgs/development/ocaml-modules/gtktop/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/hex/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/http/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/io-page/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/jsonm/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/lablgl/META.patch18
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix23
-rw-r--r--pkgs/development/ocaml-modules/lablgtk-extras/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/2.14.0.nix38
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/lablgtkmathview/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/lambda-term/1.6.nix42
-rw-r--r--pkgs/development/ocaml-modules/lambda-term/default.nix43
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/macaque/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/magick/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/mysql/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo2/default.nix53
-rw-r--r--pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/ocaml-text/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/ocamlfuse/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocamlnat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/configure.patch63
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/ocplib-endian/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix41
-rw-r--r--pkgs/development/ocaml-modules/ocurl/default.nix19
-rw-r--r--pkgs/development/ocaml-modules/odn/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/ojquery/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/optcomp/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/otfm/default.nix49
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/pgocaml/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/pprint/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/qtest/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/re/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/react/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/reactivedata/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/safepass/default.nix21
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/sexplib/108.08.00.nix30
-rw-r--r--pkgs/development/ocaml-modules/sexplib/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch167
-rw-r--r--pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch29
-rw-r--r--pkgs/development/ocaml-modules/sqlite3/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/sqlite3EZ/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/ssl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/stringext/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/twt/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/typeconv/108.08.00.nix29
-rw-r--r--pkgs/development/ocaml-modules/typeconv/3.0.5.nix23
-rw-r--r--pkgs/development/ocaml-modules/typeconv/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/tyxml/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/ulex/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/uri/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/uucd/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/uucp/default.nix42
-rw-r--r--pkgs/development/ocaml-modules/uunf/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/uuseg/default.nix47
-rw-r--r--pkgs/development/ocaml-modules/uutf/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/vg/default.nix62
-rw-r--r--pkgs/development/ocaml-modules/xml-light/default.nix43
-rw-r--r--pkgs/development/ocaml-modules/xmlm/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/zarith/default.nix18
-rw-r--r--pkgs/development/ocaml-modules/zed/default.nix34
-rw-r--r--pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix2
-rw-r--r--pkgs/development/perl-modules/DBD-Pg/default.nix2
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix4
-rw-r--r--pkgs/development/perl-modules/DBD-mysql/default.nix16
-rw-r--r--pkgs/development/perl-modules/DB_File/default.nix8
-rw-r--r--pkgs/development/perl-modules/MooseXAttributeHelpers-perl-5.20.patch33
-rw-r--r--pkgs/development/perl-modules/generic/default.nix3
-rw-r--r--pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch25
-rw-r--r--pkgs/development/perl-modules/perl-opengl-gl-extensions.txt5
-rw-r--r--pkgs/development/perl-modules/perl-opengl.patch55
-rw-r--r--pkgs/development/pharo/launcher/default.nix71
-rw-r--r--pkgs/development/pharo/vm/default.nix17
-rw-r--r--pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch84
-rw-r--r--pkgs/development/pharo/vm/patches/fix-executable-name.patch14
-rw-r--r--pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch23
-rw-r--r--pkgs/development/pure-modules/pure-gsl/default.nix28
-rw-r--r--pkgs/development/pure-modules/pure-gsl/setup-hook.sh2
-rw-r--r--pkgs/development/python-modules/blivet/default.nix46
-rw-r--r--pkgs/development/python-modules/boto-1.9-python-2.7.patch19
-rw-r--r--pkgs/development/python-modules/boto/content-length-str.patch16
-rw-r--r--pkgs/development/python-modules/box2d/disable-test.patch14
-rw-r--r--pkgs/development/python-modules/bsddb3/default.nix4
-rw-r--r--pkgs/development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch30
-rw-r--r--pkgs/development/python-modules/dbus/default.nix4
-rw-r--r--pkgs/development/python-modules/generic/default.nix24
-rw-r--r--pkgs/development/python-modules/generic/wrap.sh4
-rw-r--r--pkgs/development/python-modules/gevent_sslwrap.patch49
-rw-r--r--pkgs/development/python-modules/graph-tool/2.x.x.nix48
-rw-r--r--pkgs/development/python-modules/h5py/default.nix5
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix38
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix19
-rw-r--r--pkgs/development/python-modules/mygpoclient/default.nix2
-rw-r--r--pkgs/development/python-modules/pyacoustid-py3.patch32
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--pkgs/development/python-modules/pycdio/add-cdtext-toc.patch52
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix5
-rw-r--r--pkgs/development/python-modules/pycups/default.nix4
-rw-r--r--pkgs/development/python-modules/pygame/default.nix19
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix3
-rw-r--r--pkgs/development/python-modules/pygtksourceview/codegendir.patch25
-rw-r--r--pkgs/development/python-modules/pygtksourceview/default.nix16
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix26
-rw-r--r--pkgs/development/python-modules/pyqt/4.x.nix8
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix3
-rw-r--r--pkgs/development/python-modules/rbtools/default.nix10
-rw-r--r--pkgs/development/python-modules/rhpl/builder.sh2
-rw-r--r--pkgs/development/python-modules/rhpl/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix6
-rw-r--r--pkgs/development/python-modules/sip/4.16.nix8
-rw-r--r--pkgs/development/python-modules/sip/default.nix4
-rw-r--r--pkgs/development/python-modules/taskw/use-template-for-taskwarrior-install-path.patch48
-rw-r--r--pkgs/development/python-modules/wxPython/2.8.nix8
-rw-r--r--pkgs/development/python-modules/wxPython/3.0.nix10
-rw-r--r--pkgs/development/qtcreator/default.nix6
-rw-r--r--pkgs/development/r-modules/cran-packages.nix12309
-rw-r--r--pkgs/development/r-modules/default.nix1098
-rw-r--r--pkgs/development/r-modules/generate-cran-packages.R48
-rw-r--r--pkgs/development/r-modules/generic-builder.nix25
-rw-r--r--pkgs/development/r-modules/patches/BayesBridge.patch9
-rw-r--r--pkgs/development/r-modules/patches/BayesBridge_cblas.patch9
-rw-r--r--pkgs/development/r-modules/patches/BayesLogit.patch12
-rw-r--r--pkgs/development/r-modules/patches/BayesLogit_cblas.patch12
-rw-r--r--pkgs/development/r-modules/patches/BayesXsrc.patch55
-rw-r--r--pkgs/development/r-modules/patches/CARramps.patch24
-rw-r--r--pkgs/development/r-modules/patches/EMCluster.patch6
-rw-r--r--pkgs/development/r-modules/patches/RAppArmor.patch20
-rw-r--r--pkgs/development/r-modules/patches/RMySQL.patch13
-rw-r--r--pkgs/development/r-modules/patches/Rserve.patch15
-rw-r--r--pkgs/development/r-modules/patches/WideLM.patch19
-rw-r--r--pkgs/development/r-modules/patches/gmatrix.patch48
-rw-r--r--pkgs/development/r-modules/patches/gputools.patch13
-rw-r--r--pkgs/development/r-modules/patches/iFes.patch13
-rw-r--r--pkgs/development/r-modules/patches/magma_cuda_include.patch12
-rw-r--r--pkgs/development/r-modules/patches/qtbase.patch13
-rw-r--r--pkgs/development/r-modules/patches/rpud.patch29
-rw-r--r--pkgs/development/r-modules/patches/spMC.patch8
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix17
-rw-r--r--pkgs/development/tools/analysis/coan/default.nix34
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/findbugs/default.nix11
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix27
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix4
-rw-r--r--pkgs/development/tools/analysis/include-what-you-use/default.nix32
-rw-r--r--pkgs/development/tools/analysis/massif-visualizer/default.nix20
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix12
-rw-r--r--pkgs/development/tools/analysis/radare/default.nix6
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix39
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix41
-rw-r--r--pkgs/development/tools/analysis/smatch/default.nix2
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix13
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix15
-rw-r--r--pkgs/development/tools/analysis/valgrind/glibc-2.19.patch39
-rw-r--r--pkgs/development/tools/atom-shell/default.nix49
-rw-r--r--pkgs/development/tools/boost-build/default.nix44
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/builder.sh (renamed from pkgs/misc/maven/builder.sh)0
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/default.nix25
-rw-r--r--pkgs/development/tools/build-managers/bam/default.nix11
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix28
-rw-r--r--pkgs/development/tools/build-managers/boot/builder.sh13
-rw-r--r--pkgs/development/tools/build-managers/boot/default.nix27
-rw-r--r--pkgs/development/tools/build-managers/buildbot-slave/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/cargo/common.nix24
-rw-r--r--pkgs/development/tools/build-managers/cargo/snapshot.nix43
-rw-r--r--pkgs/development/tools/build-managers/cmake/264.nix59
-rw-r--r--pkgs/development/tools/build-managers/cmake/762-13887.patch17
-rw-r--r--pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch11
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix43
-rw-r--r--pkgs/development/tools/build-managers/cmake/search-path-264.patch93
-rw-r--r--pkgs/development/tools/build-managers/cmake/search-path-3.2.patch74
-rw-r--r--pkgs/development/tools/build-managers/cmake/search-path.patch97
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh9
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix35
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.81/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/3.82/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.0/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.1/default.nix41
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.1/impure-dirs.patch34
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix28
-rw-r--r--pkgs/development/tools/build-managers/jam/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/leiningen/builder.sh5
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix19
-rw-r--r--pkgs/development/tools/build-managers/ninja/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix29
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/simple-build-tool/default.nix30
-rw-r--r--pkgs/development/tools/build-managers/tup/default.nix51
-rw-r--r--pkgs/development/tools/cdecl/default.nix4
-rw-r--r--pkgs/development/tools/chefdk/Gemfile3
-rw-r--r--pkgs/development/tools/chefdk/Gemfile.lock99
-rw-r--r--pkgs/development/tools/chefdk/default.nix20
-rw-r--r--pkgs/development/tools/chefdk/gemset.nix344
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix16
-rw-r--r--pkgs/development/tools/database/sqldeveloper/default.nix48
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix20
-rw-r--r--pkgs/development/tools/documentation/haddock/2.10.0.nix26
-rw-r--r--pkgs/development/tools/documentation/haddock/2.11.0.nix26
-rw-r--r--pkgs/development/tools/documentation/haddock/2.12.0.nix22
-rw-r--r--pkgs/development/tools/documentation/haddock/2.13.2.1.nix26
-rw-r--r--pkgs/development/tools/documentation/haddock/2.13.2.nix26
-rw-r--r--pkgs/development/tools/documentation/haddock/2.14.2.nix27
-rw-r--r--pkgs/development/tools/documentation/haddock/2.14.3.nix23
-rw-r--r--pkgs/development/tools/documentation/haddock/2.4.2.nix21
-rw-r--r--pkgs/development/tools/documentation/haddock/2.7.2.nix24
-rw-r--r--pkgs/development/tools/documentation/haddock/2.9.2.nix26
-rw-r--r--pkgs/development/tools/documentation/haddock/2.9.4.nix23
-rw-r--r--pkgs/development/tools/documentation/haddock/default.nix20
-rw-r--r--pkgs/development/tools/egg2nix/chicken-eggs.nix296
-rw-r--r--pkgs/development/tools/egg2nix/chicken-eggs.scm5
-rw-r--r--pkgs/development/tools/egg2nix/default.nix27
-rw-r--r--pkgs/development/tools/etcdctl/default.nix31
-rw-r--r--pkgs/development/tools/etcdctl/deps.nix27
-rw-r--r--pkgs/development/tools/exercism/default.nix18
-rw-r--r--pkgs/development/tools/gnulib/default.nix10
-rw-r--r--pkgs/development/tools/gocode/default.nix28
-rw-r--r--pkgs/development/tools/gocode/deps.nix27
-rw-r--r--pkgs/development/tools/godep/default.nix30
-rw-r--r--pkgs/development/tools/godep/deps.nix59
-rw-r--r--pkgs/development/tools/golint/default.nix28
-rw-r--r--pkgs/development/tools/gotags/default.nix27
-rw-r--r--pkgs/development/tools/grabserial/default.nix22
-rw-r--r--pkgs/development/tools/guile/g-wrap/default.nix2
-rw-r--r--pkgs/development/tools/haskell/BNFC/default.nix25
-rw-r--r--pkgs/development/tools/haskell/PastePipe/default.nix12
-rw-r--r--pkgs/development/tools/haskell/SourceGraph/default.nix1
-rw-r--r--pkgs/development/tools/haskell/c2hs/default.nix24
-rw-r--r--pkgs/development/tools/haskell/c2hsc/default.nix (renamed from pkgs/development/libraries/haskell/c2hsc/default.nix)0
-rw-r--r--pkgs/development/tools/haskell/cabal-bounds/default.nix4
-rw-r--r--pkgs/development/tools/haskell/cabal-db/default.nix6
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix12
-rw-r--r--pkgs/development/tools/haskell/cake3/default.nix4
-rw-r--r--pkgs/development/tools/haskell/codex/default.nix14
-rw-r--r--pkgs/development/tools/haskell/ghc-events-analyze/default.nix4
-rw-r--r--pkgs/development/tools/haskell/ghcid/default.nix24
-rw-r--r--pkgs/development/tools/haskell/graphmod/default.nix18
-rw-r--r--pkgs/development/tools/haskell/haskell-docs/default.nix2
-rw-r--r--pkgs/development/tools/haskell/hasktags/default.nix1
-rw-r--r--pkgs/development/tools/haskell/hdevtools/default.nix2
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix12
-rw-r--r--pkgs/development/tools/haskell/hsb2hs/default.nix17
-rw-r--r--pkgs/development/tools/haskell/hscope/default.nix5
-rw-r--r--pkgs/development/tools/haskell/hslogger/default.nix4
-rw-r--r--pkgs/development/tools/haskell/ihaskell/default.nix40
-rw-r--r--pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix35
-rw-r--r--pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch34
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix36
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix4
-rw-r--r--pkgs/development/tools/haskell/liquid-fixpoint/default.nix26
-rw-r--r--pkgs/development/tools/haskell/liquidhaskell/default.nix32
-rw-r--r--pkgs/development/tools/haskell/packdeps/default.nix19
-rw-r--r--pkgs/development/tools/haskell/packunused/default.nix4
-rw-r--r--pkgs/development/tools/haskell/pointfree/default.nix4
-rw-r--r--pkgs/development/tools/haskell/threadscope/default.nix11
-rw-r--r--pkgs/development/tools/haskell/timeplot/default.nix4
-rw-r--r--pkgs/development/tools/haskell/uuagc/cabal.nix4
-rw-r--r--pkgs/development/tools/java/fastjar/default.nix12
-rw-r--r--pkgs/development/tools/jq/default.nix2
-rw-r--r--pkgs/development/tools/libsigrok/default.nix10
-rw-r--r--pkgs/development/tools/misc/ShellCheck/default.nix18
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix14
-rw-r--r--pkgs/development/tools/misc/astyle/default.nix18
-rw-r--r--pkgs/development/tools/misc/autoconf-archive/default.nix17
-rw-r--r--pkgs/development/tools/misc/autoconf/2.13.nix4
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix2
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix2
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.10.x.nix46
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.11.x.nix3
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.12.x.nix3
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.13.x.nix5
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.14.x.nix5
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.15.x.nix43
-rw-r--r--pkgs/development/tools/misc/babeltrace/default.nix4
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix7
-rw-r--r--pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch16
-rw-r--r--pkgs/development/tools/misc/bossa/default.nix2
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix22
-rw-r--r--pkgs/development/tools/misc/cflow/default.nix4
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix9
-rw-r--r--pkgs/development/tools/misc/checkbashisms/default.nix32
-rw-r--r--pkgs/development/tools/misc/chruby/default.nix45
-rw-r--r--pkgs/development/tools/misc/chruby/env.patch12
-rw-r--r--pkgs/development/tools/misc/cl-launch/default.nix8
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix46
-rw-r--r--pkgs/development/tools/misc/complexity/default.nix2
-rw-r--r--pkgs/development/tools/misc/cpphs/default.nix4
-rw-r--r--pkgs/development/tools/misc/cppi/default.nix2
-rw-r--r--pkgs/development/tools/misc/cproto/default.nix4
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix2
-rw-r--r--pkgs/development/tools/misc/ddd/default.nix14
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix6
-rw-r--r--pkgs/development/tools/misc/dfu-programmer/default.nix6
-rw-r--r--pkgs/development/tools/misc/distcc/default.nix7
-rw-r--r--pkgs/development/tools/misc/distcc/masq.nix4
-rw-r--r--pkgs/development/tools/misc/epm/default.nix18
-rw-r--r--pkgs/development/tools/misc/fswatch/default.nix48
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix12
-rw-r--r--pkgs/development/tools/misc/gdb/pstack.nix11
-rw-r--r--pkgs/development/tools/misc/global/default.nix27
-rw-r--r--pkgs/development/tools/misc/go-repo-root/default.nix26
-rw-r--r--pkgs/development/tools/misc/gob2/default.nix10
-rw-r--r--pkgs/development/tools/misc/grafana/default.nix4
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix12
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix73
-rw-r--r--pkgs/development/tools/misc/inotify-tools/default.nix2
-rw-r--r--pkgs/development/tools/misc/intel-gpu-tools/default.nix7
-rw-r--r--pkgs/development/tools/misc/intltool/default.nix10
-rw-r--r--pkgs/development/tools/misc/kibana/default.nix28
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix11
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix2
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix8
-rw-r--r--pkgs/development/tools/misc/lttng-ust/default.nix4
-rw-r--r--pkgs/development/tools/misc/lttv/default.nix2
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix8
-rw-r--r--pkgs/development/tools/misc/objconv/default.nix16
-rw-r--r--pkgs/development/tools/misc/saleae-logic/default.nix4
-rw-r--r--pkgs/development/tools/misc/sipp/default.nix29
-rw-r--r--pkgs/development/tools/misc/sloccount/default.nix4
-rw-r--r--pkgs/development/tools/misc/sqitch/default.nix15
-rw-r--r--pkgs/development/tools/misc/srecord/default.nix11
-rw-r--r--pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--pkgs/development/tools/misc/swig/3.x.nix4
-rw-r--r--pkgs/development/tools/misc/swig/default.nix2
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix5
-rw-r--r--pkgs/development/tools/misc/tcptrack/default.nix2
-rw-r--r--pkgs/development/tools/misc/texi2html/default.nix2
-rw-r--r--pkgs/development/tools/misc/texinfo/4.13a.nix1
-rw-r--r--pkgs/development/tools/misc/texinfo/5.2.nix1
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix9
-rw-r--r--pkgs/development/tools/misc/unifdef/default.nix25
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/default.nix10
-rw-r--r--pkgs/development/tools/misc/yodl/default.nix53
-rw-r--r--pkgs/development/tools/neoload/default.nix13
-rw-r--r--pkgs/development/tools/node-webkit/default.nix55
-rw-r--r--pkgs/development/tools/node-webkit/nw11.nix57
-rw-r--r--pkgs/development/tools/node-webkit/nw9.nix55
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix15
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix46
-rw-r--r--pkgs/development/tools/ocaml/camlp5/5.15.nix5
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix14
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix13
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/findlib/install_topfind.patch9
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff10
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/default.nix28
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix29
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix20
-rw-r--r--pkgs/development/tools/ocaml/ocaml-top/default.nix31
-rw-r--r--pkgs/development/tools/ocaml/ocamlify/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlmod/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlscript/Makefile.patch70
-rw-r--r--pkgs/development/tools/ocaml/ocamlscript/default.nix26
-rw-r--r--pkgs/development/tools/ocaml/ocp-build/default.nix40
-rw-r--r--pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch11
-rw-r--r--pkgs/development/tools/ocaml/ocp-indent/default.nix32
-rw-r--r--pkgs/development/tools/ocaml/ocp-index/default.nix36
-rw-r--r--pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix1
-rw-r--r--pkgs/development/tools/ocaml/opam/1.0.0.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix80
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix49
-rw-r--r--pkgs/development/tools/packer/default.nix2
-rw-r--r--pkgs/development/tools/packer/deps.nix358
-rw-r--r--pkgs/development/tools/parsing/Ebnf2ps/default.nix6
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.1.nix20
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.2.nix20
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.3.nix20
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.1.nix21
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.2.nix21
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.5.nix20
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix4
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix13
-rw-r--r--pkgs/development/tools/parsing/flex/2.5.35.nix1
-rw-r--r--pkgs/development/tools/parsing/hammer/default.nix29
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.10.nix20
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.4.nix19
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.5.nix19
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.6.nix19
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.9.nix20
-rw-r--r--pkgs/development/tools/parsing/happy/default.nix (renamed from pkgs/development/tools/parsing/happy/1.19.4.nix)0
-rw-r--r--pkgs/development/tools/parsing/jshon/default.nix34
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix48
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix6
-rw-r--r--pkgs/development/tools/phantomjs/default.nix12
-rw-r--r--pkgs/development/tools/profiling/EZTrace/default.nix24
-rw-r--r--pkgs/development/tools/pydb/default.nix1
-rw-r--r--pkgs/development/tools/quilt/default.nix3
-rw-r--r--pkgs/development/tools/rust/racer/default.nix32
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix40
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix6
-rw-r--r--pkgs/development/tools/selenium/selendroid/default.nix36
-rw-r--r--pkgs/development/tools/selenium/server/default.nix47
-rw-r--r--pkgs/development/tools/slimerjs/default.nix13
-rw-r--r--pkgs/development/tools/sqsh/default.nix4
-rw-r--r--pkgs/development/tools/toluapp/default.nix33
-rw-r--r--pkgs/development/tools/toluapp/environ-and-linux-is-kinda-posix.patch36
-rw-r--r--pkgs/development/tools/tradcpp/default.nix21
-rw-r--r--pkgs/development/tools/tradcpp/tradcpp-configure.patch84
-rw-r--r--pkgs/development/tools/vagrant/default.nix29
-rw-r--r--pkgs/development/tools/watchman/default.nix4
-rw-r--r--pkgs/development/tools/winpdb/default.nix51
-rw-r--r--pkgs/development/web/grails/default.nix51
-rw-r--r--pkgs/development/web/iojs/default.nix35
-rwxr-xr-xpkgs/development/web/iojs/update-iojs54
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix410
-rw-r--r--pkgs/development/web/nodejs/default.nix18
-rw-r--r--pkgs/development/web/nodejs/v0_10.nix64
-rw-r--r--pkgs/development/web/remarkjs/default.nix6
-rw-r--r--pkgs/development/web/twitter-bootstrap/default.nix11
-rw-r--r--pkgs/development/web/wml/default.nix49
-rw-r--r--pkgs/development/web/wml/dynaloader.patch11
-rw-r--r--pkgs/development/web/wml/no_bitvector.patch10
-rw-r--r--pkgs/development/web/wml/redhat-with-thr.patch19
-rw-r--r--pkgs/games/0ad/data.nix2
-rw-r--r--pkgs/games/0ad/default.nix6
-rw-r--r--pkgs/games/Allure/default.nix6
-rw-r--r--pkgs/games/LambdaHack/default.nix28
-rw-r--r--pkgs/games/adom/default.nix4
-rw-r--r--pkgs/games/andyetitmoves/default.nix4
-rw-r--r--pkgs/games/anki/default.nix9
-rw-r--r--pkgs/games/asc/default.nix12
-rw-r--r--pkgs/games/astromenace/default.nix2
-rw-r--r--pkgs/games/atanks/default.nix4
-rw-r--r--pkgs/games/banner/default.nix4
-rw-r--r--pkgs/games/beret/default.nix2
-rw-r--r--pkgs/games/blackshades/default.nix2
-rw-r--r--pkgs/games/bsdgames/default.nix4
-rw-r--r--pkgs/games/castle-combat/default.nix4
-rw-r--r--pkgs/games/chocolate-doom/default.nix24
-rw-r--r--pkgs/games/crawl/crawl_purify.patch31
-rw-r--r--pkgs/games/crawl/default.nix64
-rw-r--r--pkgs/games/crawl/makefile_fonts.patch20
-rw-r--r--pkgs/games/crawl/makefile_misc.patch39
-rw-r--r--pkgs/games/crawl/makefile_prefix.patch11
-rw-r--r--pkgs/games/crawl/makefile_rltiles.patch21
-rw-r--r--pkgs/games/crawl/makefile_rltiles2.patch10
-rw-r--r--pkgs/games/crawl/makefile_sdlimg.patch19
-rw-r--r--pkgs/games/crawl/makefile_sqlite.patch11
-rw-r--r--pkgs/games/d1x-rebirth/default.nix2
-rw-r--r--pkgs/games/d2x-rebirth/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/default.nix134
-rw-r--r--pkgs/games/dwarf-fortress/df2014.nix82
-rw-r--r--pkgs/games/dwarf-therapist/default.nix47
-rw-r--r--pkgs/games/eduke32/default.nix30
-rw-r--r--pkgs/games/eternity-engine/default.nix30
-rw-r--r--pkgs/games/extremetuxracer/default.nix42
-rw-r--r--pkgs/games/fairymax/default.nix40
-rw-r--r--pkgs/games/fish-fillets-ng/default.nix26
-rw-r--r--pkgs/games/flightgear/default.nix12
-rw-r--r--pkgs/games/fsg/default.nix3
-rw-r--r--pkgs/games/gemrb/default.nix4
-rw-r--r--pkgs/games/globulation/default.nix99
-rw-r--r--pkgs/games/gltron/default.nix5
-rw-r--r--pkgs/games/gnubg/default.nix23
-rw-r--r--pkgs/games/gnuchess/default.nix8
-rw-r--r--pkgs/games/gsb/default.nix6
-rw-r--r--pkgs/games/gtypist/default.nix24
-rw-r--r--pkgs/games/hawkthorne/default.nix38
-rw-r--r--pkgs/games/hawkthorne/makefile.patch33
-rw-r--r--pkgs/games/hedgewars/default.nix69
-rw-r--r--pkgs/games/hedgewars/fix-ghc-7.8-build-failure.diff16
-rw-r--r--pkgs/games/hexen/default.nix2
-rw-r--r--pkgs/games/instead/default.nix7
-rw-r--r--pkgs/games/keen4/default.nix2
-rw-r--r--pkgs/games/klavaro/default.nix16
-rw-r--r--pkgs/games/megaglest/default.nix49
-rw-r--r--pkgs/games/minecraft-server/default.nix8
-rw-r--r--pkgs/games/minecraft/default.nix7
-rw-r--r--pkgs/games/minetest/default.nix2
-rw-r--r--pkgs/games/mnemosyne/default.nix12
-rw-r--r--pkgs/games/mudlet/default.nix40
-rw-r--r--pkgs/games/mudlet/libs.patch13
-rw-r--r--pkgs/games/n2048/default.nix35
-rw-r--r--pkgs/games/odamex/default.nix25
-rw-r--r--pkgs/games/oilrush/default.nix22
-rw-r--r--pkgs/games/onscripter-en/default.nix34
-rw-r--r--pkgs/games/openarena/default.nix41
-rw-r--r--pkgs/games/openra/default.nix4
-rw-r--r--pkgs/games/openttd/default.nix12
-rw-r--r--pkgs/games/openttd/fix-freetype-1.4.4.patch31
-rw-r--r--pkgs/games/openxcom/default.nix4
-rw-r--r--pkgs/games/performous/default.nix30
-rw-r--r--[-rwxr-xr-x]pkgs/games/planetaryannihilation/default.nix9
-rw-r--r--pkgs/games/quake3/demo/default.nix4
-rw-r--r--pkgs/games/quake3/game/default.nix18
-rw-r--r--pkgs/games/quake3/wrapper/default.nix2
-rw-r--r--pkgs/games/rogue/default.nix10
-rw-r--r--pkgs/games/scrolls/default.nix45
-rw-r--r--pkgs/games/sdlmame/default.nix6
-rw-r--r--pkgs/games/simutrans/default.nix195
-rw-r--r--pkgs/games/soi/default.nix12
-rw-r--r--pkgs/games/spring/default.nix8
-rw-r--r--pkgs/games/spring/springlobby.nix4
-rw-r--r--pkgs/games/steam/chrootenv.nix79
-rw-r--r--pkgs/games/steam/default.nix127
-rw-r--r--pkgs/games/stepmania/default.nix2
-rw-r--r--pkgs/games/stuntrally/default.nix38
-rw-r--r--pkgs/games/super-tux-kart/default.nix13
-rw-r--r--pkgs/games/tcl2048/default.nix34
-rw-r--r--pkgs/games/the-powder-toy/default.nix34
-rw-r--r--pkgs/games/the-powder-toy/fix-env.patch16
-rw-r--r--pkgs/games/thePenguinMachine/default.nix4
-rw-r--r--pkgs/games/tibia/default.nix13
-rw-r--r--pkgs/games/tremulous/default.nix4
-rw-r--r--pkgs/games/typespeed/default.nix2
-rw-r--r--pkgs/games/ue4demos/default.nix192
-rw-r--r--pkgs/games/ultrastardx/default.nix2
-rw-r--r--pkgs/games/urbanterror/default.nix16
-rw-r--r--pkgs/games/ut2004demo/builder.sh2
-rw-r--r--pkgs/games/ut2004demo/default.nix2
-rw-r--r--pkgs/games/vessel/default.nix6
-rw-r--r--pkgs/games/warzone2100/default.nix12
-rw-r--r--pkgs/games/wesnoth/default.nix5
-rw-r--r--pkgs/games/worldofgoo/default.nix6
-rw-r--r--pkgs/games/xboard/default.nix8
-rw-r--r--pkgs/games/xmoto/src-for-default.nix8
-rw-r--r--pkgs/games/xsnow/default.nix34
-rw-r--r--pkgs/games/xsokoban/default.nix12
-rw-r--r--pkgs/games/zangband/default.nix14
-rw-r--r--pkgs/games/zod/default.nix4
-rw-r--r--pkgs/misc/apulse/default.nix24
-rw-r--r--pkgs/misc/beep/default.nix3
-rw-r--r--pkgs/misc/cups/default.nix16
-rw-r--r--pkgs/misc/cups/drivers/cups-bjnp/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/samsung/builder.sh16
-rw-r--r--pkgs/misc/cups/drivers/samsung/default.nix21
-rw-r--r--pkgs/misc/cups/filters.nix64
-rw-r--r--pkgs/misc/cups/longer-shell-path.patch13
-rw-r--r--pkgs/misc/cups/pdf-filter.nix39
-rw-r--r--pkgs/misc/drivers/foomatic-filters/default.nix6
-rw-r--r--pkgs/misc/drivers/gutenprint/bin.nix4
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix4
-rw-r--r--pkgs/misc/drivers/hplip/default.nix30
-rw-r--r--pkgs/misc/drivers/hplip/hplip.state2
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix5
-rw-r--r--pkgs/misc/drivers/xwiimote/default.nix24
-rw-r--r--pkgs/misc/emulators/atari800/default.nix2
-rw-r--r--pkgs/misc/emulators/cdemu/analyzer.nix15
-rw-r--r--pkgs/misc/emulators/cdemu/base.nix37
-rw-r--r--pkgs/misc/emulators/cdemu/client.nix15
-rw-r--r--pkgs/misc/emulators/cdemu/daemon.nix9
-rw-r--r--pkgs/misc/emulators/cdemu/gui.nix18
-rw-r--r--pkgs/misc/emulators/cdemu/libmirage.nix9
-rw-r--r--pkgs/misc/emulators/cdemu/vhba.nix12
-rw-r--r--pkgs/misc/emulators/darcnes/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix34
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix38
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix25
-rw-r--r--pkgs/misc/emulators/fs-uae/default.nix35
-rw-r--r--pkgs/misc/emulators/hatari/default.nix7
-rw-r--r--pkgs/misc/emulators/higan/default.nix90
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix12
-rw-r--r--pkgs/misc/emulators/mednafen/server.nix8
-rw-r--r--pkgs/misc/emulators/nestopia/build-fix.patch18
-rw-r--r--pkgs/misc/emulators/nestopia/default.nix39
-rw-r--r--pkgs/misc/emulators/ppsspp/default.nix2
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix295
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix41
-rw-r--r--pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix39
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix36
-rw-r--r--pkgs/misc/emulators/stella/default.nix31
-rw-r--r--pkgs/misc/emulators/uae/default.nix2
-rw-r--r--pkgs/misc/emulators/wine/build_winetricks.sh17
-rw-r--r--pkgs/misc/emulators/wine/stable.nix6
-rw-r--r--pkgs/misc/emulators/wine/unstable.nix24
-rw-r--r--pkgs/misc/emulators/wine/unstable.upstream2
-rw-r--r--pkgs/misc/emulators/wine/winetricks.nix31
-rw-r--r--pkgs/misc/emulators/wine/winetricks.patch21
-rw-r--r--pkgs/misc/foldingathome/default.nix2
-rw-r--r--pkgs/misc/frescobaldi/default.nix37
-rw-r--r--pkgs/misc/frescobaldi/python-path.patch11
-rw-r--r--pkgs/misc/frescobaldi/setup.cfg.patch13
-rw-r--r--pkgs/misc/ghostscript/default.nix117
-rw-r--r--pkgs/misc/ghostscript/purity.patch26
-rw-r--r--pkgs/misc/gxemul/default.nix6
-rw-r--r--pkgs/misc/jackaudio/default.nix6
-rw-r--r--pkgs/misc/lilypond/default.nix4
-rw-r--r--pkgs/misc/maven/default.nix24
-rw-r--r--pkgs/misc/misc.nix2
-rw-r--r--pkgs/misc/my-env/default.nix15
-rw-r--r--pkgs/misc/my-env/loadenv.sh4
-rw-r--r--pkgs/misc/phabricator/default.nix28
-rw-r--r--pkgs/misc/sails/default.nix24
-rw-r--r--pkgs/misc/screensavers/alock/default.nix41
-rw-r--r--pkgs/misc/screensavers/physlock/default.nix24
-rw-r--r--pkgs/misc/screensavers/rss-glx/default.nix25
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix25
-rw-r--r--pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch11
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix14
-rw-r--r--pkgs/misc/screensavers/xss-lock/default.nix26
-rw-r--r--pkgs/misc/seafile-shared/default.nix8
-rw-r--r--pkgs/misc/sound-of-sorting/default.nix28
-rw-r--r--pkgs/misc/themes/gtk2/oxygen-gtk/default.nix4
-rw-r--r--pkgs/misc/themes/gtk3/clearlooks-phenix/default.nix36
-rw-r--r--pkgs/misc/themes/gtk3/numix-gtk-theme/default.nix25
-rw-r--r--pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix23
-rw-r--r--pkgs/misc/themes/orion/default.nix24
-rw-r--r--pkgs/misc/vim-plugins/default.nix1559
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names57
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix384
-rw-r--r--pkgs/misc/xosd/default.nix16
-rw-r--r--pkgs/os-specific/darwin/adv_cmds/ps.nix35
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch18
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch22
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CF/default.nix41
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix20
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix16
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix30
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix27
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix187
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix15
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix30
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix16
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix13
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix11
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix147
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols1530
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols929
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Security/default.nix116
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix30
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix23
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix44
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/configd/default.nix205
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix10
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix83
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix50
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix18
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix11
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix14
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h129
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix74
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix10
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix13
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix15
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix13
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix51
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix29
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix10
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix35
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h65
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix118
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch107
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix16
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix10
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix117
-rw-r--r--pkgs/os-specific/darwin/cctools-port/default.nix64
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-ignore-rpath-link.patch (renamed from pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch)0
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch (renamed from pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch)0
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix102
-rw-r--r--pkgs/os-specific/darwin/command-line-tools/default.nix43
-rw-r--r--pkgs/os-specific/darwin/osx-private-sdk/default.nix34
-rw-r--r--pkgs/os-specific/darwin/osx-sdk/default.nix26
-rw-r--r--pkgs/os-specific/darwin/otool/default.nix2
-rw-r--r--pkgs/os-specific/darwin/security-tool/default.nix30
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix1
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix4
-rw-r--r--pkgs/os-specific/linux/afuse/default.nix14
-rw-r--r--pkgs/os-specific/linux/alsa-firmware/default.nix35
-rw-r--r--pkgs/os-specific/linux/alsa-lib/alsa-plugin-conf-multilib.patch232
-rw-r--r--pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch110
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix7
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix23
-rw-r--r--pkgs/os-specific/linux/apparmor/2.9/default.nix183
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix12
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh242
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix43
-rw-r--r--pkgs/os-specific/linux/ati-drivers/fglrx_3.17rc6-no_hotplug.patch31
-rw-r--r--pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch51
-rw-r--r--pkgs/os-specific/linux/atop/default.nix9
-rw-r--r--pkgs/os-specific/linux/atop/default.upstream4
-rw-r--r--pkgs/os-specific/linux/audit/default.nix5
-rw-r--r--pkgs/os-specific/linux/autofs/autofs-v5.nix2
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix27
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix8
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix13
-rw-r--r--pkgs/os-specific/linux/blcr/default.nix10
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix9
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5_28.nix79
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix6
-rw-r--r--pkgs/os-specific/linux/bridge-utils/add-ip6-header.patch11
-rw-r--r--pkgs/os-specific/linux/bridge-utils/default.nix19
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/cfg80211_inform_bss-3.18.patch21
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/default.nix15
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/linux-recent.patch126
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/netdev-3.17.patch15
-rw-r--r--pkgs/os-specific/linux/busybox/busybox-in-store.patch16
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix54
-rw-r--r--pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch12
-rw-r--r--pkgs/os-specific/linux/cgmanager/default.nix36
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix15
-rw-r--r--pkgs/os-specific/linux/conky/default.nix113
-rw-r--r--pkgs/os-specific/linux/conntrack-tools/default.nix24
-rw-r--r--pkgs/os-specific/linux/consoletools/default.nix14
-rw-r--r--pkgs/os-specific/linux/conspy/default.nix8
-rw-r--r--pkgs/os-specific/linux/conspy/default.upstream6
-rw-r--r--pkgs/os-specific/linux/cpufrequtils/default.nix2
-rw-r--r--pkgs/os-specific/linux/cpupower/default.nix2
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix6
-rw-r--r--pkgs/os-specific/linux/disk-indicator/default.nix2
-rw-r--r--pkgs/os-specific/linux/dmraid/default.nix8
-rw-r--r--pkgs/os-specific/linux/dmtcp/default.nix22
-rw-r--r--pkgs/os-specific/linux/e3cfsprogs/default.nix12
-rw-r--r--pkgs/os-specific/linux/eudev/default.nix49
-rw-r--r--pkgs/os-specific/linux/fatrace/default.nix31
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix12
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix7
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix78
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/zd1211/default.nix4
-rw-r--r--pkgs/os-specific/linux/flashbench/default.nix27
-rw-r--r--pkgs/os-specific/linux/freefall/default.nix42
-rw-r--r--pkgs/os-specific/linux/ftop/default.nix37
-rw-r--r--pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch11
-rw-r--r--pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch20
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix2
-rw-r--r--pkgs/os-specific/linux/gradm/default.nix4
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix6
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix7
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix8
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix33
-rw-r--r--pkgs/os-specific/linux/ipsec-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix22
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix6
-rw-r--r--pkgs/os-specific/linux/iw/default.nix6
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix44
-rw-r--r--pkgs/os-specific/linux/kbd/console-fix.patch18
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix44
-rw-r--r--pkgs/os-specific/linux/kernel-headers/3.12.nix71
-rw-r--r--pkgs/os-specific/linux/kernel-headers/3.7.nix71
-rw-r--r--pkgs/os-specific/linux/kernel/3.17-buildfix.patch62
-rw-r--r--pkgs/os-specific/linux/kernel/bridge-stp-helper.patch13
-rw-r--r--pkgs/os-specific/linux/kernel/btrfs-fix-deadlock.patch43
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix139
-rw-r--r--pkgs/os-specific/linux/kernel/crc-regression.patch24
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/grsec-path.patch13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix12
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.15.nix17
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.16.nix17
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix24
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.19.nix25
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix19
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix21
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix12
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix27
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix7
-rwxr-xr-xpkgs/os-specific/linux/kernel/update.sh62
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix4
-rw-r--r--pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix4
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix4
-rw-r--r--pkgs/os-specific/linux/ktap/default.nix4
-rw-r--r--pkgs/os-specific/linux/libaio/default.nix14
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix6
-rw-r--r--pkgs/os-specific/linux/libcap/progs.nix8
-rw-r--r--pkgs/os-specific/linux/libnl/3.2.19.nix20
-rw-r--r--pkgs/os-specific/linux/libnl/default.nix4
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix2
-rw-r--r--pkgs/os-specific/linux/light/default.nix20
-rw-r--r--pkgs/os-specific/linux/lightum/default.nix33
-rw-r--r--pkgs/os-specific/linux/lockdep/default.nix7
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix18
-rw-r--r--pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch33
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix17
-rw-r--r--pkgs/os-specific/linux/lvm2/default.upstream4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix59
-rw-r--r--pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch15
-rw-r--r--pkgs/os-specific/linux/macchanger/default.nix27
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix9
-rw-r--r--pkgs/os-specific/linux/microcode/amd.nix33
-rw-r--r--pkgs/os-specific/linux/microcode/converter.nix29
-rw-r--r--pkgs/os-specific/linux/microcode/intel-microcode2ucode.c154
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix27
-rw-r--r--pkgs/os-specific/linux/mingetty/default.nix5
-rw-r--r--pkgs/os-specific/linux/module-init-tools/default.nix9
-rw-r--r--pkgs/os-specific/linux/mstpd/default.nix24
-rw-r--r--pkgs/os-specific/linux/mstpd/fixes.patch72
-rw-r--r--pkgs/os-specific/linux/multipath-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/musl/default.nix14
-rw-r--r--pkgs/os-specific/linux/netatop/default.nix2
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix7
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/beta.nix64
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy.sh99
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh99
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh2
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy340.sh107
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh81
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix19
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy173.nix10
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy304.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy340.nix64
-rw-r--r--pkgs/os-specific/linux/nvidiabl/default.nix1
-rw-r--r--pkgs/os-specific/linux/opengl/xorg-sys/default.nix2
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix50
-rw-r--r--pkgs/os-specific/linux/pam_console/configure.ac27
-rw-r--r--pkgs/os-specific/linux/pam_console/default.nix31
-rw-r--r--pkgs/os-specific/linux/pam_krb5/default.nix24
-rw-r--r--pkgs/os-specific/linux/pam_ldap/default.nix2
-rw-r--r--pkgs/os-specific/linux/pam_login/default.nix20
-rw-r--r--pkgs/os-specific/linux/pam_login/sys-stat-h.patch12
-rw-r--r--pkgs/os-specific/linux/pam_mount/default.nix29
-rw-r--r--pkgs/os-specific/linux/pax-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/paxctl/default.nix4
-rw-r--r--pkgs/os-specific/linux/pcmciautils/default.nix8
-rw-r--r--pkgs/os-specific/linux/perf-tools/default.nix43
-rw-r--r--pkgs/os-specific/linux/plymouth/default.nix41
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix4
-rw-r--r--pkgs/os-specific/linux/prl-tools/autostart.desktop8
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix197
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix27
-rw-r--r--pkgs/os-specific/linux/radeontop/default.nix38
-rw-r--r--pkgs/os-specific/linux/s6-linux-utils/default.nix33
-rw-r--r--pkgs/os-specific/linux/sdparm/default.nix11
-rw-r--r--pkgs/os-specific/linux/seturgent/default.nix27
-rw-r--r--pkgs/os-specific/linux/sinit/default.nix36
-rw-r--r--pkgs/os-specific/linux/smem/default.nix33
-rw-r--r--pkgs/os-specific/linux/spl/default.nix53
-rw-r--r--pkgs/os-specific/linux/spl/generic.nix61
-rw-r--r--pkgs/os-specific/linux/spl/git.nix49
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix.patch447
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix10
-rw-r--r--pkgs/os-specific/linux/sysfsutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/sysklogd/default.nix7
-rw-r--r--pkgs/os-specific/linux/syslinux/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysstat/default.nix19
-rw-r--r--pkgs/os-specific/linux/sysstat/install.patch13
-rw-r--r--pkgs/os-specific/linux/sysstat/no-install-statedir.patch37
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix42
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch3317
-rw-r--r--pkgs/os-specific/linux/sysvinit/default.nix1
-rw-r--r--pkgs/os-specific/linux/uclibc/default.nix31
-rw-r--r--pkgs/os-specific/linux/udisks-glue/default.nix2
-rw-r--r--pkgs/os-specific/linux/udisks/1-default.nix13
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix10
-rw-r--r--pkgs/os-specific/linux/upower/0.99.nix10
-rw-r--r--pkgs/os-specific/linux/upower/default.nix2
-rw-r--r--pkgs/os-specific/linux/upstart/default.nix2
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix21
-rw-r--r--pkgs/os-specific/linux/usermount/default.nix2
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix22
-rw-r--r--pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch30
-rw-r--r--pkgs/os-specific/linux/v4l-utils/default.nix57
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/default.nix2
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/kernel-3.18-fix.patch31
-rw-r--r--pkgs/os-specific/linux/v86d/default.nix2
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix7
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/libnl.patch13
-rw-r--r--pkgs/os-specific/linux/x86info/default.nix7
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix59
-rw-r--r--pkgs/os-specific/linux/zfs/generic.nix94
-rw-r--r--pkgs/os-specific/linux/zfs/git.nix55
-rw-r--r--pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch24
-rw-r--r--pkgs/os-specific/linux/zfs/nix-build.patch347
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rwxr-xr-xpkgs/servers/apache-kafka/default.nix48
-rw-r--r--pkgs/servers/beanstalkd/default.nix2
-rw-r--r--pkgs/servers/bird/default.nix7
-rw-r--r--pkgs/servers/brickd/default.nix60
-rw-r--r--pkgs/servers/computing/slurm/default.nix33
-rw-r--r--pkgs/servers/computing/storm/default.nix2
-rw-r--r--pkgs/servers/computing/torque/default.nix41
-rw-r--r--pkgs/servers/consul/Gemfile6
-rw-r--r--pkgs/servers/consul/Gemfile.lock22
-rw-r--r--pkgs/servers/consul/alerts.nix27
-rw-r--r--pkgs/servers/consul/default.nix40
-rw-r--r--pkgs/servers/consul/deps.nix252
-rw-r--r--pkgs/servers/consul/gemset.nix59
-rw-r--r--pkgs/servers/consul/template.nix34
-rw-r--r--pkgs/servers/consul/ui.nix17
-rw-r--r--pkgs/servers/corosync/default.nix50
-rw-r--r--pkgs/servers/dict/default.nix2
-rw-r--r--pkgs/servers/dict/dictd-wiktionary.nix1
-rw-r--r--pkgs/servers/dict/libmaa.nix2
-rw-r--r--pkgs/servers/diod/default.nix8
-rw-r--r--pkgs/servers/dns/bind/default.nix5
-rw-r--r--pkgs/servers/dns/mesos-dns/default.nix31
-rw-r--r--pkgs/servers/dns/nsd/default.nix48
-rw-r--r--pkgs/servers/etcd/default.nix31
-rw-r--r--pkgs/servers/etcd/deps.nix54
-rw-r--r--pkgs/servers/fleet/default.nix21
-rw-r--r--pkgs/servers/fleet/deps.nix81
-rw-r--r--pkgs/servers/games/ghost-one/default.nix6
-rw-r--r--pkgs/servers/gpm/default.nix26
-rw-r--r--pkgs/servers/gpsd/default.nix2
-rw-r--r--pkgs/servers/hbase/default.nix19
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix8
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/http/apache-modules/mod_evasive/default.nix8
-rw-r--r--pkgs/servers/http/apache-modules/mod_fastcgi/default.nix12
-rw-r--r--pkgs/servers/http/apache-modules/mod_python/default.nix31
-rw-r--r--pkgs/servers/http/apache-modules/mod_python/install.patch32
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix11
-rw-r--r--pkgs/servers/http/apache-modules/tomcat-connectors/builder.sh8
-rw-r--r--pkgs/servers/http/apache-modules/tomcat-connectors/default.nix23
-rw-r--r--pkgs/servers/http/couchdb/default.nix16
-rw-r--r--pkgs/servers/http/jetty/9.2.nix30
-rw-r--r--pkgs/servers/http/jetty/default.nix2
-rw-r--r--pkgs/servers/http/joseki/default.nix17
-rw-r--r--pkgs/servers/http/lighttpd/default.nix10
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/default.nix88
-rw-r--r--pkgs/servers/http/nginx/unstable.nix132
-rw-r--r--pkgs/servers/http/nginx/unstable.upstream8
-rw-r--r--pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in12
-rw-r--r--pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in24
-rw-r--r--pkgs/servers/http/openresty/default.nix12
-rw-r--r--pkgs/servers/http/pshs/default.nix25
-rw-r--r--pkgs/servers/http/thttpd/default.nix4
-rw-r--r--pkgs/servers/http/tomcat/6.0.nix27
-rw-r--r--pkgs/servers/http/tomcat/7.0.nix6
-rw-r--r--pkgs/servers/http/tomcat/8.0.nix6
-rw-r--r--pkgs/servers/http/tomcat/recent.nix25
-rw-r--r--pkgs/servers/http/winstone/default.nix4
-rw-r--r--pkgs/servers/http/yaws/default.nix4
-rw-r--r--pkgs/servers/icecast/default.nix20
-rw-r--r--pkgs/servers/irc/ircd-hybrid/default.nix6
-rw-r--r--pkgs/servers/irc/ngircd/default.nix4
-rw-r--r--pkgs/servers/ldap/389/default.nix56
-rw-r--r--pkgs/servers/ldap/389/no-etc.patch62
-rw-r--r--pkgs/servers/ldap/389/perl-path.patch34
-rw-r--r--pkgs/servers/limesurvey/default.nix41
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x.nix4
-rw-r--r--pkgs/servers/mail/dovecot/default.nix2
-rw-r--r--pkgs/servers/mail/exim/default.nix63
-rw-r--r--pkgs/servers/mail/mailman/default.nix8
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix18
-rw-r--r--pkgs/servers/mail/postfix/2.11.nix9
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mediatomb/default.nix21
-rw-r--r--pkgs/servers/mediatomb/zmm_new.patch13
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/monitoring/bosun/default.nix26
-rw-r--r--pkgs/servers/monitoring/bosun/scollector.nix23
-rw-r--r--pkgs/servers/monitoring/cadvisor/default.nix34
-rw-r--r--pkgs/servers/monitoring/munin/default.nix18
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix13
-rw-r--r--pkgs/servers/monitoring/newrelic-sysmond/default.nix30
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager/default.nix56
-rw-r--r--pkgs/servers/monitoring/prometheus/cli/default.nix25
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix56
-rw-r--r--pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix24
-rw-r--r--pkgs/servers/monitoring/prometheus/node_exporter/default.nix32
-rw-r--r--pkgs/servers/monitoring/prometheus/pushgateway/default.nix51
-rw-r--r--pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix27
-rw-r--r--pkgs/servers/monitoring/riemann-dash/Gemfile3
-rw-r--r--pkgs/servers/monitoring/riemann-dash/Gemfile.lock27
-rw-r--r--pkgs/servers/monitoring/riemann-dash/default.nix8
-rw-r--r--pkgs/servers/monitoring/riemann-dash/gemset.nix80
-rw-r--r--pkgs/servers/monitoring/riemann/default.nix10
-rw-r--r--pkgs/servers/monitoring/sensu/Gemfile2
-rw-r--r--pkgs/servers/monitoring/sensu/Gemfile.lock75
-rw-r--r--pkgs/servers/monitoring/sensu/default.nix19
-rw-r--r--pkgs/servers/monitoring/sensu/gemset.nix242
-rw-r--r--pkgs/servers/monitoring/seyren/default.nix6
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix4
-rw-r--r--pkgs/servers/monitoring/zabbix/2.2.nix22
-rw-r--r--pkgs/servers/monitoring/zabbix/default.nix8
-rw-r--r--pkgs/servers/mpd/default.nix27
-rw-r--r--pkgs/servers/mqtt/mosquitto/default.nix30
-rw-r--r--pkgs/servers/news/leafnode/default.nix6
-rw-r--r--pkgs/servers/nosql/apache-jena/binary.nix38
-rw-r--r--pkgs/servers/nosql/cassandra/2.0.nix50
-rw-r--r--pkgs/servers/nosql/cassandra/2.1.nix50
-rw-r--r--pkgs/servers/nosql/hyperdex/busybee.nix28
-rw-r--r--pkgs/servers/nosql/hyperdex/default.nix57
-rw-r--r--pkgs/servers/nosql/hyperdex/hyperleveldb.nix20
-rw-r--r--pkgs/servers/nosql/hyperdex/libe.nix19
-rw-r--r--pkgs/servers/nosql/hyperdex/libmacaroons.nix20
-rw-r--r--pkgs/servers/nosql/hyperdex/libpo6.nix19
-rw-r--r--pkgs/servers/nosql/hyperdex/replicant.nix32
-rw-r--r--pkgs/servers/nosql/influxdb/backup.nix25
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix12
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix52
-rw-r--r--pkgs/servers/nosql/redis/3.0.nix23
-rw-r--r--pkgs/servers/nosql/redis/default.nix6
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix8
-rw-r--r--pkgs/servers/nosql/riak/1.3.1.nix2
-rw-r--r--pkgs/servers/nsq/default.nix39
-rw-r--r--pkgs/servers/nsq/deps.nix134
-rw-r--r--pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch48
-rw-r--r--pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch55
-rw-r--r--pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch51
-rw-r--r--pkgs/servers/openafs-client/default.nix26
-rw-r--r--pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch130
-rw-r--r--pkgs/servers/osrm-backend/4.5.0-default-profile-path.template.patch13
-rw-r--r--pkgs/servers/osrm-backend/4.5.0-openmp.patch18
-rw-r--r--pkgs/servers/osrm-backend/default.nix27
-rw-r--r--pkgs/servers/owncloud/default.nix28
-rw-r--r--pkgs/servers/portmap/default.nix1
-rw-r--r--pkgs/servers/prayer/default.nix4
-rw-r--r--pkgs/servers/pulseaudio/default.nix28
-rw-r--r--pkgs/servers/restund/default.nix11
-rw-r--r--pkgs/servers/rippled/data-api.nix25
-rw-r--r--pkgs/servers/rippled/default.nix34
-rw-r--r--pkgs/servers/rippled/package.nix3909
-rw-r--r--pkgs/servers/rippled/scons-env.patch46
-rw-r--r--pkgs/servers/rpcbind/default.nix27
-rw-r--r--pkgs/servers/s6/default.nix50
-rw-r--r--pkgs/servers/samba/3.x.nix89
-rw-r--r--pkgs/servers/samba/4.x-fix-ctdb-deps.patch13
-rw-r--r--pkgs/servers/samba/4.x-heimdal-compat.patch16
-rw-r--r--pkgs/servers/samba/4.x-no-persistent-install.patch60
-rw-r--r--pkgs/servers/samba/4.x.nix172
-rw-r--r--pkgs/servers/samba/default.nix89
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/es-home.patch4
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix53
-rw-r--r--pkgs/servers/search/solr/default.nix16
-rw-r--r--pkgs/servers/search/sphinxsearch/default.nix30
-rw-r--r--pkgs/servers/serfdom/default.nix28
-rw-r--r--pkgs/servers/serfdom/deps.nix185
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix4
-rw-r--r--pkgs/servers/sql/mariadb/default.nix100
-rw-r--r--pkgs/servers/sql/mariadb/my_context_asm.patch18
-rw-r--r--pkgs/servers/sql/mysql/5.1.x.nix21
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix30
-rw-r--r--pkgs/servers/sql/mysql/jdbc/default.nix6
-rw-r--r--pkgs/servers/sql/oracle-xe/default.nix6
-rw-r--r--pkgs/servers/sql/pgpool/default.nix32
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix12
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix12
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix12
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix12
-rw-r--r--pkgs/servers/sql/postgresql/9.3.x.nix17
-rw-r--r--pkgs/servers/sql/postgresql/9.4.x.nix43
-rw-r--r--pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch12
-rw-r--r--pkgs/servers/sql/virtuoso/6.x.nix2
-rw-r--r--pkgs/servers/sql/virtuoso/7.x.nix2
-rw-r--r--pkgs/servers/squid/squids.nix17
-rw-r--r--pkgs/servers/sslh/default.nix27
-rw-r--r--pkgs/servers/u9fs/default.nix24
-rw-r--r--pkgs/servers/uhub/default.nix43
-rw-r--r--pkgs/servers/uhub/plugin-dir.patch23
-rw-r--r--pkgs/servers/uhub/systemd.patch164
-rw-r--r--pkgs/servers/unfs3/default.nix2
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/uwsgi/default.nix76
-rw-r--r--pkgs/servers/uwsgi/nixos.ini5
-rw-r--r--pkgs/servers/varnish/2.1.nix21
-rw-r--r--pkgs/servers/varnish/default.nix8
-rw-r--r--pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh1
-rw-r--r--pkgs/servers/x11/xorg/default.nix242
-rw-r--r--pkgs/servers/x11/xorg/extra.list7
-rw-r--r--pkgs/servers/x11/xorg/fix-clang.patch11
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl3
-rw-r--r--pkgs/servers/x11/xorg/imake.patch22
-rw-r--r--pkgs/servers/x11/xorg/libxkbfile-clang36.patch11
-rw-r--r--pkgs/servers/x11/xorg/old.list6
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix62
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list58
-rw-r--r--pkgs/servers/x11/xorg/unichrome/default.nix2
-rw-r--r--pkgs/servers/x11/xorg/xf86-video-intel-testing.nix14
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix41
-rw-r--r--pkgs/servers/x11/xquartz/default.nix4
-rw-r--r--pkgs/servers/xinetd/default.nix2
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix5
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix64
-rw-r--r--[-rwxr-xr-x]pkgs/servers/zookeeper/default.nix0
-rw-r--r--pkgs/shells/bash-completion/bash-4.3.patch22
-rw-r--r--pkgs/shells/bash-completion/default.nix2
-rw-r--r--pkgs/shells/bash/bash-4.2-patches.nix51
-rw-r--r--pkgs/shells/bash/bash-4.3-patches.nix37
-rw-r--r--pkgs/shells/bash/default.nix12
-rw-r--r--pkgs/shells/dash/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix10
-rw-r--r--pkgs/shells/ipython/default.nix11
-rw-r--r--pkgs/shells/mksh/default.nix48
-rw-r--r--pkgs/shells/xonsh/default.nix31
-rw-r--r--pkgs/shells/zsh/default.nix12
-rw-r--r--pkgs/stdenv/adapters.nix86
-rw-r--r--pkgs/stdenv/darwin/default.nix145
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix284
-rw-r--r--pkgs/stdenv/darwin/trivial-bootstrap.sh66
-rw-r--r--pkgs/stdenv/darwin/unpack-bootstrap-tools.sh54
-rw-r--r--pkgs/stdenv/default.nix5
-rw-r--r--pkgs/stdenv/generic/builder.sh1
-rw-r--r--pkgs/stdenv/generic/default.nix183
-rw-r--r--pkgs/stdenv/generic/setup.sh29
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv5tel.nix46
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv6l.nix17
-rw-r--r--pkgs/stdenv/linux/bootstrap/armv7l.nix12
-rw-r--r--pkgs/stdenv/linux/bootstrap/i686.nix41
-rw-r--r--pkgs/stdenv/linux/bootstrap/x86_64.nix9
-rw-r--r--pkgs/stdenv/linux/default.nix233
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix255
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix269
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix221
-rw-r--r--pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh22
-rw-r--r--pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh55
-rw-r--r--pkgs/stdenv/native/default.nix33
-rw-r--r--pkgs/stdenv/nix/default.nix25
-rw-r--r--pkgs/test/openftd/default.nix2
-rw-r--r--pkgs/tools/X11/bumblebee/default.nix109
-rw-r--r--pkgs/tools/X11/bumblebee/nvidia-conf.patch11
-rw-r--r--pkgs/tools/X11/bumblebee/xopts.patch4
-rw-r--r--pkgs/tools/X11/hsetroot/default.nix30
-rw-r--r--pkgs/tools/X11/keynav/default.nix20
-rw-r--r--pkgs/tools/X11/primus/builder.sh12
-rw-r--r--pkgs/tools/X11/primus/default.nix35
-rw-r--r--pkgs/tools/X11/primus/lib.nix20
-rw-r--r--pkgs/tools/X11/screen-message/default.nix22
-rw-r--r--pkgs/tools/X11/sselp/default.nix27
-rw-r--r--pkgs/tools/X11/vdpauinfo/default.nix12
-rw-r--r--pkgs/tools/X11/virtualgl/default.nix2
-rw-r--r--pkgs/tools/X11/wmutils-core/default.nix22
-rw-r--r--pkgs/tools/X11/xbindkeys-config/default.nix35
-rw-r--r--pkgs/tools/X11/xbindkeys-config/xbindkeys-config-patch1.patch108
-rw-r--r--pkgs/tools/X11/xbindkeys-config/xbindkeys-config.121
-rw-r--r--pkgs/tools/X11/xbrightness/default.nix33
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix21
-rw-r--r--pkgs/tools/X11/xdotool/default.nix10
-rw-r--r--pkgs/tools/X11/xkb-switch/default.nix20
-rw-r--r--pkgs/tools/X11/xlaunch/default.nix108
-rw-r--r--pkgs/tools/X11/xmacro/default.nix2
-rw-r--r--pkgs/tools/X11/xnee/default.nix7
-rw-r--r--pkgs/tools/X11/xpra/default.nix39
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix73
-rw-r--r--pkgs/tools/X11/xpra/libfakeXinerama.nix33
-rw-r--r--pkgs/tools/X11/xvkbd/default.nix30
-rw-r--r--pkgs/tools/admin/awscli/default.nix18
-rw-r--r--pkgs/tools/admin/nxproxy/default.nix27
-rw-r--r--pkgs/tools/admin/sec/default.nix6
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix6
-rw-r--r--pkgs/tools/admin/tightvnc/default.nix2
-rw-r--r--pkgs/tools/archivers/atool/default.nix3
-rw-r--r--pkgs/tools/archivers/cpio/default.nix21
-rw-r--r--pkgs/tools/archivers/cromfs/default.nix4
-rw-r--r--pkgs/tools/archivers/dar/default.nix4
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix19
-rw-r--r--pkgs/tools/archivers/gnutar/gnutar-1.28-darwin.patch114
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix12
-rw-r--r--pkgs/tools/archivers/rpmextract/default.nix21
-rw-r--r--pkgs/tools/archivers/rpmextract/rpmextract.sh10
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix10
-rw-r--r--pkgs/tools/archivers/unarj/default.nix4
-rw-r--r--pkgs/tools/archivers/unrar/default.nix29
-rw-r--r--pkgs/tools/archivers/unrar/setup-hook.sh5
-rw-r--r--pkgs/tools/archivers/unzip/CVE-2014-8139.diff47
-rw-r--r--pkgs/tools/archivers/unzip/CVE-2014-8140.diff26
-rw-r--r--pkgs/tools/archivers/unzip/CVE-2014-8141.diff136
-rw-r--r--pkgs/tools/archivers/unzip/CVE-2014-9636.diff42
-rw-r--r--pkgs/tools/archivers/unzip/default.nix9
-rw-r--r--pkgs/tools/archivers/unzip/setup-hook.sh2
-rw-r--r--pkgs/tools/archivers/xarchive/default.nix2
-rw-r--r--pkgs/tools/archivers/xarchiver/default.nix6
-rw-r--r--pkgs/tools/archivers/zpaq/default.nix18
-rw-r--r--pkgs/tools/archivers/zpaq/zpaqd.nix4
-rw-r--r--pkgs/tools/audio/beets/default.nix169
-rw-r--r--pkgs/tools/audio/beets/replaygain-default-audiotools.patch17
-rw-r--r--pkgs/tools/audio/dir2opus/default.nix33
-rw-r--r--pkgs/tools/audio/gvolicon/default.nix12
-rw-r--r--pkgs/tools/audio/liquidsoap/full.nix45
-rw-r--r--pkgs/tools/audio/mpdcron/Gemfile2
-rw-r--r--pkgs/tools/audio/mpdcron/Gemfile.lock12
-rw-r--r--pkgs/tools/audio/mpdcron/default.nix19
-rw-r--r--pkgs/tools/audio/mpdcron/gemset.nix19
-rw-r--r--pkgs/tools/audio/pasystray/default.nix32
-rw-r--r--pkgs/tools/audio/qastools/default.nix29
-rw-r--r--pkgs/tools/audio/volumeicon/default.nix23
-rw-r--r--pkgs/tools/backup/attic/default.nix27
-rw-r--r--pkgs/tools/backup/bareos/default.nix77
-rw-r--r--pkgs/tools/backup/bup/default.nix20
-rw-r--r--pkgs/tools/backup/duplicity/default.nix11
-rw-r--r--pkgs/tools/backup/duply/default.nix10
-rw-r--r--pkgs/tools/backup/httrack/default.nix5
-rw-r--r--pkgs/tools/backup/rdiff-backup/default.nix6
-rw-r--r--pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch20
-rw-r--r--pkgs/tools/backup/rsnapshot/default.nix3
-rw-r--r--pkgs/tools/backup/rsnapshot/git.nix52
-rw-r--r--pkgs/tools/backup/wal-e/default.nix4
-rw-r--r--pkgs/tools/bluetooth/bluedevil/default.nix6
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/bluetooth/obexd/default.nix6
-rw-r--r--pkgs/tools/bluetooth/openobex/default.nix1
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix115
-rw-r--r--pkgs/tools/cd-dvd/brasero/default.nix58
-rw-r--r--pkgs/tools/cd-dvd/brasero/remove-symlink-check.patch29
-rw-r--r--pkgs/tools/cd-dvd/dvdisaster/default.nix32
-rw-r--r--pkgs/tools/cd-dvd/lsdvd/default.nix20
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/vobsub2srt/default.nix6
-rw-r--r--pkgs/tools/cd-dvd/xorriso/default.nix4
-rw-r--r--pkgs/tools/compression/advancecomp/default.nix31
-rw-r--r--pkgs/tools/compression/bzip2/default.nix4
-rw-r--r--pkgs/tools/compression/dtrx/default.nix19
-rw-r--r--pkgs/tools/compression/gzip/default.nix2
-rw-r--r--pkgs/tools/compression/kzipmix/default.nix2
-rw-r--r--pkgs/tools/compression/lbzip2/default.nix18
-rw-r--r--pkgs/tools/compression/lrzip/default.nix4
-rw-r--r--pkgs/tools/compression/lz4/default.nix39
-rw-r--r--pkgs/tools/compression/lzip/default.nix4
-rw-r--r--pkgs/tools/compression/ncompress/default.nix2
-rw-r--r--pkgs/tools/compression/pbzip2/default.nix20
-rw-r--r--pkgs/tools/compression/pigz/default.nix4
-rw-r--r--pkgs/tools/compression/pxz/_SC_ARG_MAX.patch36
-rw-r--r--pkgs/tools/compression/pxz/default.nix43
-rw-r--r--pkgs/tools/compression/rzip/default.nix2
-rw-r--r--pkgs/tools/compression/xar/default.nix34
-rw-r--r--pkgs/tools/compression/xz/default.nix11
-rw-r--r--pkgs/tools/compression/zdelta/default.nix2
-rw-r--r--pkgs/tools/compression/zsync/default.nix2
-rw-r--r--pkgs/tools/filesystems/avfs/default.nix25
-rw-r--r--pkgs/tools/filesystems/bashmount/default.nix36
-rw-r--r--pkgs/tools/filesystems/bcache-tools/bcache-udev-modern.patch52
-rw-r--r--pkgs/tools/filesystems/bcache-tools/default.nix4
-rw-r--r--pkgs/tools/filesystems/boxfs/default.nix58
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix17
-rw-r--r--pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch42
-rw-r--r--pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch25
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix66
-rw-r--r--pkgs/tools/filesystems/duff/default.nix43
-rw-r--r--pkgs/tools/filesystems/duperemove/default.nix24
-rw-r--r--pkgs/tools/filesystems/encfs/default.nix31
-rw-r--r--pkgs/tools/filesystems/exfat-utils/default.nix34
-rw-r--r--pkgs/tools/filesystems/fatsort/default.nix23
-rw-r--r--pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch31
-rw-r--r--pkgs/tools/filesystems/fuse-exfat/default.nix14
-rw-r--r--pkgs/tools/filesystems/genext2fs/default.nix5
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix25
-rw-r--r--pkgs/tools/filesystems/go-mtpfs/default.nix29
-rw-r--r--pkgs/tools/filesystems/ifuse/default.nix25
-rw-r--r--pkgs/tools/filesystems/jfsrec/default.nix23
-rw-r--r--pkgs/tools/filesystems/jfsrec/jfsrec-gcc-4.3.patch24
-rw-r--r--pkgs/tools/filesystems/jfsutils/default.nix1
-rw-r--r--pkgs/tools/filesystems/jmtpfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/mp3fs/default.nix30
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix8
-rw-r--r--pkgs/tools/filesystems/netatalk/default.nix2
-rw-r--r--pkgs/tools/filesystems/nilfs-utils/default.nix52
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix54
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix28
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix76
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/dmraid.nix26
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/lvm2.nix58
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix34
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/parted.nix56
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyblock.nix29
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix30
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyparted.nix42
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix18
-rw-r--r--pkgs/tools/filesystems/rdfind/default.nix21
-rw-r--r--pkgs/tools/filesystems/s3fs/default.nix16
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.nix15
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.upstream6
-rw-r--r--pkgs/tools/filesystems/squashfs/default.nix14
-rw-r--r--pkgs/tools/filesystems/tmsu/default.nix59
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix65
-rw-r--r--pkgs/tools/filesystems/xfsprogs/xfsprogs-3.2.2-sharedlibs.patch108
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix17
-rw-r--r--pkgs/tools/filesystems/zerofree/default.nix24
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix72
-rw-r--r--pkgs/tools/graphics/barcode/default.nix15
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix2
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix2
-rw-r--r--pkgs/tools/graphics/dmtx-utils/default.nix29
-rw-r--r--pkgs/tools/graphics/dmtx-utils/default.upstream4
-rw-r--r--pkgs/tools/graphics/dmtx/default.nix31
-rw-r--r--pkgs/tools/graphics/exiftags/default.nix2
-rw-r--r--pkgs/tools/graphics/ggobi/default.nix23
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix9
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix8
-rw-r--r--pkgs/tools/graphics/graphviz/0001-vimdot-lookup-vim-in-PATH.patch30
-rw-r--r--pkgs/tools/graphics/graphviz/2.0.nix1
-rw-r--r--pkgs/tools/graphics/graphviz/2.32.nix62
-rw-r--r--pkgs/tools/graphics/graphviz/cve-2014-9157.patch24
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix31
-rw-r--r--pkgs/tools/graphics/jhead/default.nix2
-rw-r--r--pkgs/tools/graphics/kst/default.nix31
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix32
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix42
-rw-r--r--pkgs/tools/graphics/nip2/default.nix24
-rw-r--r--pkgs/tools/graphics/optipng/default.nix4
-rw-r--r--pkgs/tools/graphics/pdf2svg/default.nix20
-rw-r--r--pkgs/tools/graphics/pgf/default.nix32
-rw-r--r--pkgs/tools/graphics/plotutils/default.nix1
-rw-r--r--pkgs/tools/graphics/pngcheck/default.nix32
-rw-r--r--pkgs/tools/graphics/pngcrush/default.nix6
-rw-r--r--pkgs/tools/graphics/pngnq/default.nix18
-rw-r--r--pkgs/tools/graphics/pngout/default.nix2
-rw-r--r--pkgs/tools/graphics/povray/default.nix14
-rw-r--r--pkgs/tools/graphics/qrcode/default.nix34
-rw-r--r--pkgs/tools/graphics/qrencode/default.nix4
-rw-r--r--pkgs/tools/graphics/quirc/default.nix39
-rw-r--r--pkgs/tools/graphics/scrot/default.nix1
-rw-r--r--pkgs/tools/graphics/transfig/default.nix2
-rw-r--r--pkgs/tools/graphics/unpaper/default.nix20
-rw-r--r--pkgs/tools/graphics/vips/default.nix27
-rw-r--r--pkgs/tools/graphics/welkin/default.nix11
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix80
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/makefix.patch24
-rw-r--r--pkgs/tools/graphics/zxing/default.nix34
-rw-r--r--pkgs/tools/graphics/zxing/java-zxing.sh3
-rw-r--r--pkgs/tools/graphics/zxing/zxing-cmdline-encoder.sh3
-rw-r--r--pkgs/tools/graphics/zxing/zxing-cmdline-runner.sh3
-rw-r--r--pkgs/tools/graphics/zxing/zxing.sh18
-rw-r--r--pkgs/tools/inputmethods/fcitx/default.nix5
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix24
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix20
-rw-r--r--pkgs/tools/inputmethods/fcitx/wrapper.nix35
-rw-r--r--pkgs/tools/inputmethods/ibus-anthy/default.nix29
-rw-r--r--pkgs/tools/inputmethods/ibus-qt/default.nix25
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix (renamed from pkgs/development/libraries/ibus/default.nix)0
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix25
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix4
-rw-r--r--pkgs/tools/misc/abduco/default.nix7
-rw-r--r--pkgs/tools/misc/aescrypt/default.nix4
-rw-r--r--pkgs/tools/misc/autojump/default.nix17
-rw-r--r--pkgs/tools/misc/aws-mturk-clt/default.nix4
-rw-r--r--pkgs/tools/misc/bfr/default.nix11
-rw-r--r--pkgs/tools/misc/bibtool/default.nix25
-rw-r--r--pkgs/tools/misc/binwalk/default.nix32
-rw-r--r--pkgs/tools/misc/bmon/default.nix32
-rw-r--r--pkgs/tools/misc/byobu/default.nix6
-rw-r--r--pkgs/tools/misc/ccze/default.nix26
-rw-r--r--pkgs/tools/misc/clex/default.nix30
-rw-r--r--pkgs/tools/misc/cloc/default.nix13
-rw-r--r--pkgs/tools/misc/colord/default.nix4
-rw-r--r--pkgs/tools/misc/contacts/default.nix29
-rw-r--r--pkgs/tools/misc/coreutils/default.nix25
-rw-r--r--pkgs/tools/misc/coreutils/gets-undeclared.patch71
-rw-r--r--pkgs/tools/misc/coreutils/help2man.patch40
-rw-r--r--pkgs/tools/misc/cpulimit/default.nix26
-rw-r--r--pkgs/tools/misc/cpuminer-multi/default.nix12
-rw-r--r--pkgs/tools/misc/cpuminer/default.nix4
-rw-r--r--pkgs/tools/misc/cutecom/default.nix18
-rw-r--r--pkgs/tools/misc/cv/default.nix11
-rw-r--r--pkgs/tools/misc/datamash/default.nix18
-rw-r--r--pkgs/tools/misc/dbacl/default.nix2
-rw-r--r--pkgs/tools/misc/ddate/default.nix20
-rw-r--r--pkgs/tools/misc/ddccontrol/default.nix58
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix8
-rw-r--r--pkgs/tools/misc/direnv/default.nix4
-rw-r--r--pkgs/tools/misc/dvtm/default.nix4
-rw-r--r--pkgs/tools/misc/ent/default.nix27
-rw-r--r--pkgs/tools/misc/escoger/default.nix33
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/execline/default.nix51
-rw-r--r--pkgs/tools/misc/expect/default.nix14
-rw-r--r--pkgs/tools/misc/fasd/default.nix9
-rw-r--r--pkgs/tools/misc/fdupes/default.nix6
-rw-r--r--pkgs/tools/misc/figlet/default.nix6
-rw-r--r--pkgs/tools/misc/file/default.nix6
-rw-r--r--pkgs/tools/misc/findutils/default.nix2
-rw-r--r--pkgs/tools/misc/flashrom/default.nix4
-rw-r--r--pkgs/tools/misc/fluentd/Gemfile4
-rw-r--r--pkgs/tools/misc/fluentd/Gemfile.lock49
-rw-r--r--pkgs/tools/misc/fluentd/default.nix20
-rw-r--r--pkgs/tools/misc/fluentd/gemset.nix171
-rw-r--r--pkgs/tools/misc/fontforge/default.nix76
-rw-r--r--pkgs/tools/misc/fortune/default.nix4
-rw-r--r--pkgs/tools/misc/getopt/default.nix5
-rw-r--r--pkgs/tools/misc/goaccess/default.nix10
-rw-r--r--pkgs/tools/misc/gparted/default.nix18
-rw-r--r--pkgs/tools/misc/grc/default.nix9
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix49
-rw-r--r--pkgs/tools/misc/grub/default.nix13
-rw-r--r--pkgs/tools/misc/grub/trusted.nix26
-rw-r--r--pkgs/tools/misc/gummiboot/default.nix2
-rw-r--r--pkgs/tools/misc/hddtemp/default.nix1
-rw-r--r--pkgs/tools/misc/hdf5/default.nix10
-rw-r--r--pkgs/tools/misc/heimdall/default.nix16
-rw-r--r--pkgs/tools/misc/i3minator/default.nix2
-rw-r--r--pkgs/tools/misc/ipxe/default.nix39
-rw-r--r--pkgs/tools/misc/ised/default.nix52
-rw-r--r--pkgs/tools/misc/ised/default.upstream4
-rw-r--r--pkgs/tools/misc/jdiskreport/default.nix2
-rw-r--r--pkgs/tools/misc/kde-gtk-config/default.nix5
-rw-r--r--pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch13
-rw-r--r--pkgs/tools/misc/kermit/default.nix25
-rw-r--r--pkgs/tools/misc/keychain/default.nix25
-rw-r--r--pkgs/tools/misc/lbdb/default.nix2
-rw-r--r--pkgs/tools/misc/ldapvi/default.nix5
-rw-r--r--pkgs/tools/misc/less/default.nix6
-rw-r--r--pkgs/tools/misc/logstash-forwarder/default.nix12
-rw-r--r--pkgs/tools/misc/logstash/contrib.nix31
-rw-r--r--pkgs/tools/misc/makebootfat/default.nix18
-rw-r--r--pkgs/tools/misc/man-db/default.nix21
-rw-r--r--pkgs/tools/misc/mdbtools/git.nix12
-rw-r--r--pkgs/tools/misc/megacli/default.nix10
-rw-r--r--pkgs/tools/misc/memtest86+/compile-fix.patch20
-rw-r--r--pkgs/tools/misc/memtest86+/crash-fix.patch99
-rw-r--r--pkgs/tools/misc/memtest86+/default.nix3
-rw-r--r--pkgs/tools/misc/memtest86+/no-optimization.patch11
-rw-r--r--pkgs/tools/misc/memtest86/default.nix6
-rw-r--r--pkgs/tools/misc/mktorrent/default.nix7
-rw-r--r--pkgs/tools/misc/moreutils/default.nix30
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix26
-rw-r--r--pkgs/tools/misc/mrtg/default.nix23
-rw-r--r--pkgs/tools/misc/mssys/default.nix9
-rw-r--r--pkgs/tools/misc/mstflint/default.nix19
-rw-r--r--pkgs/tools/misc/mysql2pgsql/default.nix16
-rw-r--r--pkgs/tools/misc/ngrok/default.nix116
-rw-r--r--pkgs/tools/misc/ocz-ssd-guru/default.nix53
-rw-r--r--pkgs/tools/misc/opentsdb/default.nix36
-rw-r--r--pkgs/tools/misc/ostree/default.nix33
-rw-r--r--pkgs/tools/misc/parallel/default.nix12
-rw-r--r--pkgs/tools/misc/parcellite/default.nix4
-rw-r--r--pkgs/tools/misc/parted/default.nix15
-rw-r--r--pkgs/tools/misc/parted/gpt-unicode-test-fix.patch34
-rw-r--r--pkgs/tools/misc/pastebinit/default.nix12
-rw-r--r--pkgs/tools/misc/pipelight/default.nix97
-rw-r--r--pkgs/tools/misc/pipelight/pipelight.patch122
-rw-r--r--pkgs/tools/misc/pk2cmd/default.nix2
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/plowshare/default.nix6
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix35
-rw-r--r--pkgs/tools/misc/profile-sync-daemon/default.nix32
-rw-r--r--pkgs/tools/misc/pv/default.nix6
-rw-r--r--pkgs/tools/misc/rcm/default.nix25
-rw-r--r--pkgs/tools/misc/rcm/fix-rcmlib-path.patch68
-rw-r--r--pkgs/tools/misc/remind/default.nix8
-rw-r--r--pkgs/tools/misc/rkflashtool/default.nix2
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix7
-rw-r--r--pkgs/tools/misc/rmlint/default.nix33
-rw-r--r--pkgs/tools/misc/rmlint/fix-scons.patch22
-rw-r--r--pkgs/tools/misc/rrdtool/default.nix24
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix32
-rw-r--r--pkgs/tools/misc/screen/default.nix4
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix8
-rw-r--r--pkgs/tools/misc/shebangfix/default.nix22
-rw-r--r--pkgs/tools/misc/shebangfix/shebangfix.pl35
-rw-r--r--pkgs/tools/misc/sl/default.nix2
-rw-r--r--pkgs/tools/misc/snapper/default.nix52
-rw-r--r--pkgs/tools/misc/sutils/default.nix6
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix42
-rw-r--r--pkgs/tools/misc/t/Gemfile3
-rw-r--r--pkgs/tools/misc/t/Gemfile.lock52
-rw-r--r--pkgs/tools/misc/t/default.nix18
-rw-r--r--pkgs/tools/misc/t/gemset.nix185
-rw-r--r--pkgs/tools/misc/timidity/default.nix12
-rw-r--r--pkgs/tools/misc/tlp/default.nix65
-rw-r--r--pkgs/tools/misc/tmux/default.nix2
-rw-r--r--pkgs/tools/misc/tmuxinator/Gemfile3
-rw-r--r--pkgs/tools/misc/tmuxinator/Gemfile.lock14
-rw-r--r--pkgs/tools/misc/tmuxinator/default.nix18
-rw-r--r--pkgs/tools/misc/tmuxinator/gemset.nix27
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix40
-rw-r--r--pkgs/tools/misc/trash-cli/fix_should_output_info_for_multiple_files.patch60
-rw-r--r--pkgs/tools/misc/trash-cli/nix-paths.patch39
-rw-r--r--pkgs/tools/misc/ttfautohint/default.nix28
-rw-r--r--pkgs/tools/misc/tty-clock/default.nix27
-rw-r--r--pkgs/tools/misc/umlet/default.nix51
-rw-r--r--pkgs/tools/misc/unclutter/default.nix2
-rw-r--r--pkgs/tools/misc/units/default.nix6
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix32
-rw-r--r--pkgs/tools/misc/venus/default.nix2
-rw-r--r--pkgs/tools/misc/vmtouch/default.nix27
-rw-r--r--pkgs/tools/misc/vorbisgain/default.nix15
-rw-r--r--pkgs/tools/misc/w3c-css-validator/default.nix4
-rw-r--r--pkgs/tools/misc/wyrd/default.nix31
-rw-r--r--pkgs/tools/misc/xclip/default.nix16
-rw-r--r--pkgs/tools/misc/xdaliclock/default.nix23
-rw-r--r--pkgs/tools/misc/xdo/default.nix4
-rw-r--r--pkgs/tools/misc/xflux/default.nix39
-rw-r--r--pkgs/tools/misc/xtitle/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix29
-rw-r--r--pkgs/tools/misc/yubico-piv-tool/default.nix22
-rw-r--r--pkgs/tools/misc/yubikey-personalization-gui/default.nix29
-rw-r--r--pkgs/tools/misc/yubikey-personalization/default.nix30
-rw-r--r--pkgs/tools/networking/aiccu/default.nix34
-rw-r--r--pkgs/tools/networking/airfield/default.nix39
-rw-r--r--pkgs/tools/networking/airfield/package.nix1495
-rw-r--r--pkgs/tools/networking/aria2/default.nix17
-rw-r--r--pkgs/tools/networking/asynk/default.nix46
-rw-r--r--pkgs/tools/networking/atftp/default.nix51
-rw-r--r--pkgs/tools/networking/autossh/default.nix13
-rw-r--r--pkgs/tools/networking/axel/default.nix16
-rw-r--r--pkgs/tools/networking/babeld/default.nix5
-rw-r--r--pkgs/tools/networking/badvpn/default.nix4
-rw-r--r--pkgs/tools/networking/biosdevname/default.nix4
-rw-r--r--pkgs/tools/networking/bud/default.nix6
-rw-r--r--pkgs/tools/networking/bully/default.nix16
-rw-r--r--pkgs/tools/networking/bwm-ng/default.nix2
-rw-r--r--pkgs/tools/networking/cadaver/default.nix5
-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/builder.sh9
-rw-r--r--pkgs/tools/networking/cjdns/default.nix42
-rw-r--r--pkgs/tools/networking/cksfv/default.nix1
-rw-r--r--pkgs/tools/networking/cmst/default.nix50
-rw-r--r--pkgs/tools/networking/connect/default.nix25
-rw-r--r--pkgs/tools/networking/connman/default.nix9
-rw-r--r--pkgs/tools/networking/curl-unix-socket/default.nix24
-rw-r--r--pkgs/tools/networking/curl/7.15.nix7
-rw-r--r--pkgs/tools/networking/curl/default.nix26
-rw-r--r--pkgs/tools/networking/cutter/default.nix2
-rw-r--r--pkgs/tools/networking/darkstat/default.nix31
-rw-r--r--pkgs/tools/networking/dd-agent/default.nix24
-rw-r--r--pkgs/tools/networking/dhcp/default.nix31
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix13
-rw-r--r--pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch12
-rw-r--r--pkgs/tools/networking/dhcpdump/default.nix23
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/default.nix20
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix6
-rw-r--r--pkgs/tools/networking/dnstop/default.nix4
-rw-r--r--pkgs/tools/networking/dropbear/default.nix8
-rw-r--r--pkgs/tools/networking/fdm/default.nix47
-rw-r--r--pkgs/tools/networking/flannel/default.nix25
-rw-r--r--pkgs/tools/networking/fping/default.nix6
-rw-r--r--pkgs/tools/networking/getmail/default.nix9
-rw-r--r--pkgs/tools/networking/gvpe/default.nix2
-rw-r--r--pkgs/tools/networking/gvpe/src-for-default.nix10
-rw-r--r--pkgs/tools/networking/haproxy/default.nix18
-rw-r--r--pkgs/tools/networking/host/default.nix36
-rw-r--r--pkgs/tools/networking/httping/default.nix26
-rw-r--r--pkgs/tools/networking/httptunnel/default.nix19
-rw-r--r--pkgs/tools/networking/i2p/default.nix41
-rw-r--r--pkgs/tools/networking/i2pd/default.nix26
-rw-r--r--pkgs/tools/networking/iftop/default.nix2
-rw-r--r--pkgs/tools/networking/inadyn/default.nix17
-rw-r--r--pkgs/tools/networking/inetutils/default.nix2
-rw-r--r--pkgs/tools/networking/iodine/default.nix7
-rw-r--r--pkgs/tools/networking/iperf/2.nix (renamed from pkgs/tools/networking/iperf/default.nix)0
-rw-r--r--pkgs/tools/networking/iperf/3.nix22
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix49
-rw-r--r--pkgs/tools/networking/isync/default.nix10
-rw-r--r--pkgs/tools/networking/jwhois/default.nix1
-rw-r--r--pkgs/tools/networking/lftp/default.nix9
-rw-r--r--pkgs/tools/networking/lsh/default.nix2
-rw-r--r--pkgs/tools/networking/mailsend/default.nix34
-rw-r--r--pkgs/tools/networking/mailsend/default.upstream3
-rw-r--r--[-rwxr-xr-x]pkgs/tools/networking/mailutils/default.nix4
-rw-r--r--pkgs/tools/networking/megatools/default.nix27
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix20
-rw-r--r--pkgs/tools/networking/mtr/default.nix58
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/nbd/default.nix4
-rw-r--r--pkgs/tools/networking/nc6/default.nix5
-rw-r--r--pkgs/tools/networking/ndisc6/default.nix21
-rw-r--r--pkgs/tools/networking/ndjbdns/default.nix5
-rw-r--r--pkgs/tools/networking/netboot/default.nix4
-rw-r--r--pkgs/tools/networking/netcat-openbsd/default.nix6
-rw-r--r--pkgs/tools/networking/netcat/default.nix2
-rw-r--r--pkgs/tools/networking/nethogs/default.nix1
-rw-r--r--pkgs/tools/networking/netkit/tftp/default.nix3
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix56
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix8
-rw-r--r--pkgs/tools/networking/network-manager/default.nix13
-rw-r--r--pkgs/tools/networking/network-manager/l2tp-purity.patch26
-rw-r--r--pkgs/tools/networking/network-manager/l2tp.nix42
-rw-r--r--pkgs/tools/networking/network-manager/libnl-3.2.25.patch61
-rw-r--r--pkgs/tools/networking/network-manager/nixos-purity.patch34
-rw-r--r--pkgs/tools/networking/ngrep/default.nix4
-rw-r--r--pkgs/tools/networking/noip/default.nix26
-rw-r--r--pkgs/tools/networking/ntopng/default.nix38
-rw-r--r--pkgs/tools/networking/ntp/default.nix15
-rw-r--r--pkgs/tools/networking/ntp/no-openssl.patch161
-rw-r--r--pkgs/tools/networking/nylon/configure-use-solib.patch33
-rw-r--r--pkgs/tools/networking/nylon/default.nix10
-rw-r--r--pkgs/tools/networking/nzbget/default.nix9
-rw-r--r--pkgs/tools/networking/openfortivpn/default.nix37
-rw-r--r--pkgs/tools/networking/openntpd/default.nix36
-rw-r--r--pkgs/tools/networking/openresolv/default.nix2
-rw-r--r--pkgs/tools/networking/openssh/default.nix29
-rw-r--r--pkgs/tools/networking/openvpn/default.nix8
-rw-r--r--pkgs/tools/networking/openvpn/update-resolv-conf.nix29
-rw-r--r--pkgs/tools/networking/oslrd/default.nix4
-rw-r--r--pkgs/tools/networking/p2p/azureus/default.nix2
-rw-r--r--pkgs/tools/networking/p2p/bittorrent/builder.sh27
-rw-r--r--pkgs/tools/networking/p2p/bittorrent/default.nix24
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/git.nix28
-rw-r--r--pkgs/tools/networking/p2p/rtorrent/git.nix63
-rw-r--r--pkgs/tools/networking/p2p/seeks/default.nix39
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix4
-rw-r--r--pkgs/tools/networking/par2cmdline/default.nix36
-rw-r--r--pkgs/tools/networking/plasma-nm/default.nix8
-rw-r--r--pkgs/tools/networking/polygraph/default.nix21
-rw-r--r--pkgs/tools/networking/polygraph/fix_build.patch77
-rw-r--r--pkgs/tools/networking/ppp/default.nix23
-rw-r--r--pkgs/tools/networking/privoxy/default.nix6
-rw-r--r--pkgs/tools/networking/radvd/default.nix4
-rw-r--r--pkgs/tools/networking/s3cmd/default.nix19
-rw-r--r--pkgs/tools/networking/s3cmd/git.nix19
-rw-r--r--pkgs/tools/networking/s3sync/default.nix4
-rw-r--r--pkgs/tools/networking/s6-dns/default.nix37
-rw-r--r--pkgs/tools/networking/s6-networking/default.nix44
-rw-r--r--pkgs/tools/networking/siege/default.nix6
-rw-r--r--pkgs/tools/networking/slimrat/default.nix2
-rw-r--r--pkgs/tools/networking/snx/default.nix37
-rw-r--r--pkgs/tools/networking/socat/2.x.nix2
-rw-r--r--pkgs/tools/networking/socat/default.nix8
-rw-r--r--pkgs/tools/networking/socat/enable-ecdhe.patch19
-rw-r--r--pkgs/tools/networking/speedtest-cli/default.nix1
-rw-r--r--pkgs/tools/networking/spiped/default.nix20
-rw-r--r--pkgs/tools/networking/spiped/no-dev-stderr.patch26
-rw-r--r--pkgs/tools/networking/sproxy-web/default.nix1
-rw-r--r--pkgs/tools/networking/sproxy/default.nix1
-rw-r--r--pkgs/tools/networking/sshpass/default.nix18
-rw-r--r--pkgs/tools/networking/sstp/default.nix32
-rw-r--r--pkgs/tools/networking/strongswan/default.nix32
-rw-r--r--pkgs/tools/networking/strongswan/ext_auth-path.patch13
-rw-r--r--pkgs/tools/networking/strongswan/firewall_defaults.patch32
-rw-r--r--pkgs/tools/networking/strongswan/updown-path.patch26
-rw-r--r--pkgs/tools/networking/stun/default.nix2
-rw-r--r--pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--pkgs/tools/networking/swaks/default.nix34
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix7
-rw-r--r--pkgs/tools/networking/tinc/default.nix4
-rw-r--r--pkgs/tools/networking/tinc/pre.nix32
-rw-r--r--pkgs/tools/networking/tlsdate/default.nix41
-rw-r--r--pkgs/tools/networking/traceroute/default.nix25
-rw-r--r--pkgs/tools/networking/trickle/default.nix2
-rw-r--r--pkgs/tools/networking/unbound/default.nix24
-rw-r--r--pkgs/tools/networking/unbound/linux-pre-3.15-unbound-1.5.1.patch66
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix25
-rw-r--r--pkgs/tools/networking/vtun/default.nix24
-rw-r--r--pkgs/tools/networking/wavemon/default.nix13
-rw-r--r--pkgs/tools/networking/wget/default.nix31
-rw-r--r--pkgs/tools/networking/wget/iri-test.patch12
-rw-r--r--pkgs/tools/networking/wicd/default.nix10
-rw-r--r--pkgs/tools/networking/wicd/urwid-api-update.patch21
-rw-r--r--pkgs/tools/networking/wrk/default.nix36
-rw-r--r--pkgs/tools/networking/xl2tpd/default.nix29
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix34
-rw-r--r--pkgs/tools/package-management/cabal-install/0.10.2.nix20
-rw-r--r--pkgs/tools/package-management/cabal-install/0.14.0.nix26
-rw-r--r--pkgs/tools/package-management/cabal-install/0.6.2.nix20
-rw-r--r--pkgs/tools/package-management/cabal-install/0.8.0.nix20
-rw-r--r--pkgs/tools/package-management/cabal-install/0.8.2.nix20
-rw-r--r--pkgs/tools/package-management/cabal-install/1.16.0.2.nix3
-rw-r--r--pkgs/tools/package-management/cabal-install/1.18.0.3.nix3
-rw-r--r--pkgs/tools/package-management/cabal-install/1.20.0.3.nix32
-rw-r--r--pkgs/tools/package-management/cabal-install/1.20.0.6.nix32
-rw-r--r--pkgs/tools/package-management/cabal-install/1.22.0.0.nix34
-rw-r--r--pkgs/tools/package-management/checkinstall/default.nix3
-rw-r--r--pkgs/tools/package-management/checkinstall/set-buildroot.patch15
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix10
-rw-r--r--pkgs/tools/package-management/disnix/default.nix12
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix30
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix2
-rw-r--r--pkgs/tools/package-management/guix/default.nix2
-rw-r--r--pkgs/tools/package-management/koji/default.nix21
-rw-r--r--pkgs/tools/package-management/nix-prefetch-scripts/default.nix1
-rw-r--r--pkgs/tools/package-management/nix-repl/default.nix27
-rw-r--r--pkgs/tools/package-management/nix-serve/default.nix40
-rw-r--r--pkgs/tools/package-management/nix/default.nix13
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix15
-rw-r--r--pkgs/tools/package-management/nix/xfs.patch13
-rw-r--r--pkgs/tools/package-management/nixops/unstable.nix63
-rw-r--r--pkgs/tools/package-management/nixui/default.nix53
-rw-r--r--pkgs/tools/package-management/nixui/node-default.nix24
-rw-r--r--pkgs/tools/package-management/nixui/node.nix617
-rw-r--r--pkgs/tools/package-management/nox/default.nix25
-rw-r--r--pkgs/tools/package-management/opkg-utils/default.nix24
-rw-r--r--pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--pkgs/tools/package-management/python2nix/default.nix19
-rw-r--r--pkgs/tools/package-management/rpm/default.nix5
-rw-r--r--pkgs/tools/security/aespipe/default.nix2
-rw-r--r--pkgs/tools/security/afl/README.md19
-rw-r--r--pkgs/tools/security/afl/default.nix54
-rw-r--r--pkgs/tools/security/afl/qemu-patches/afl-config.h329
-rw-r--r--pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h290
-rw-r--r--pkgs/tools/security/afl/qemu-patches/afl-types.h79
-rw-r--r--pkgs/tools/security/afl/qemu-patches/cpu-exec.patch33
-rw-r--r--pkgs/tools/security/afl/qemu-patches/elfload.patch32
-rw-r--r--pkgs/tools/security/afl/qemu-patches/no-etc-install.patch14
-rw-r--r--pkgs/tools/security/afl/qemu-patches/syscall.patch25
-rw-r--r--pkgs/tools/security/afl/qemu-patches/translate-all.patch18
-rw-r--r--pkgs/tools/security/afl/qemu.nix73
-rw-r--r--pkgs/tools/security/aide/default.nix27
-rw-r--r--pkgs/tools/security/apg/default.nix4
-rw-r--r--pkgs/tools/security/ccid/default.nix13
-rw-r--r--pkgs/tools/security/clamav/default.nix17
-rw-r--r--pkgs/tools/security/ecryptfs/default.nix41
-rw-r--r--pkgs/tools/security/eid-mw/default.nix52
-rw-r--r--pkgs/tools/security/eid-mw/eid-nssdb.in75
-rw-r--r--pkgs/tools/security/eid-viewer/default.nix44
-rw-r--r--pkgs/tools/security/fail2ban/default.nix7
-rw-r--r--pkgs/tools/security/fprint_demo/default.nix22
-rw-r--r--pkgs/tools/security/fprintd/default.nix24
-rw-r--r--pkgs/tools/security/fprot/default.nix2
-rw-r--r--pkgs/tools/security/gnupg/1.nix23
-rw-r--r--pkgs/tools/security/gnupg/1compat.nix (renamed from pkgs/tools/security/gnupg1compat/default.nix)0
-rw-r--r--pkgs/tools/security/gnupg/20.nix62
-rw-r--r--pkgs/tools/security/gnupg/21.nix44
-rw-r--r--pkgs/tools/security/gnupg/clang.patch13
-rw-r--r--pkgs/tools/security/gnupg/default.nix60
-rw-r--r--pkgs/tools/security/gnupg/git.nix57
-rw-r--r--pkgs/tools/security/gnupg/remove-debug-message.patch22
-rw-r--r--pkgs/tools/security/gnupg/socket-activate-2.1.1.patch170
-rw-r--r--pkgs/tools/security/gnupg1/default.nix21
-rw-r--r--pkgs/tools/security/hashcat/default.nix4
-rw-r--r--pkgs/tools/security/haveged/default.nix4
-rw-r--r--pkgs/tools/security/john/default.nix29
-rw-r--r--pkgs/tools/security/kpcli/default.nix39
-rw-r--r--pkgs/tools/security/lastpass-cli/default.nix34
-rw-r--r--pkgs/tools/security/logkeys/default.nix27
-rw-r--r--pkgs/tools/security/mbox/default.nix38
-rw-r--r--pkgs/tools/security/mfoc/default.nix23
-rw-r--r--pkgs/tools/security/mfoc/mf_mini.patch96
-rw-r--r--pkgs/tools/security/mkrand/default.nix20
-rw-r--r--pkgs/tools/security/nmap/default.nix24
-rw-r--r--pkgs/tools/security/oath-toolkit/default.nix4
-rw-r--r--pkgs/tools/security/opencryptoki/default.nix38
-rw-r--r--pkgs/tools/security/opensc-dnie-wrapper/default.nix2
-rw-r--r--pkgs/tools/security/opensc/default.nix47
-rw-r--r--pkgs/tools/security/p0f/default.nix4
-rw-r--r--pkgs/tools/security/pass/darwin-getopt.patch11
-rw-r--r--pkgs/tools/security/pass/default.nix31
-rw-r--r--pkgs/tools/security/pass/no-darwin-getopt.patch9
-rw-r--r--pkgs/tools/security/pcsclite/default.nix9
-rw-r--r--pkgs/tools/security/pcsctools/default.nix26
-rw-r--r--pkgs/tools/security/pinentry/default.nix42
-rw-r--r--pkgs/tools/security/pius/default.nix6
-rw-r--r--pkgs/tools/security/polkit-kde-agent/default.nix4
-rw-r--r--pkgs/tools/security/pwgen/default.nix6
-rw-r--r--pkgs/tools/security/rng-tools/default.nix4
-rw-r--r--pkgs/tools/security/simple-tpm-pk11/default.nix27
-rw-r--r--pkgs/tools/security/srm/default.nix27
-rw-r--r--pkgs/tools/security/ssdeep/default.nix13
-rw-r--r--pkgs/tools/security/sudo/default.nix21
-rw-r--r--pkgs/tools/security/super/default.nix14
-rw-r--r--pkgs/tools/security/tcpcrypt/0001-Run-tcpcryptd-under-uid-93-instead-of-666.patch25
-rw-r--r--pkgs/tools/security/tcpcrypt/default.nix19
-rw-r--r--pkgs/tools/security/thc-hydra/default.nix28
-rw-r--r--pkgs/tools/security/tmin/default.nix24
-rw-r--r--pkgs/tools/security/tor/default.nix25
-rw-r--r--pkgs/tools/security/tor/tor-arm.nix52
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix31
-rw-r--r--pkgs/tools/security/tor/torsocks.nix29
-rw-r--r--pkgs/tools/security/tpm-quote-tools/default.nix9
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix4
-rw-r--r--pkgs/tools/security/trousers/default.nix18
-rw-r--r--pkgs/tools/security/trousers/disable-install-rule.patch27
-rw-r--r--pkgs/tools/security/trousers/double-installed-man-page.patch32
-rw-r--r--pkgs/tools/security/volatility/default.nix9
-rw-r--r--pkgs/tools/security/wipe/default.nix21
-rw-r--r--pkgs/tools/security/wipe/fix-install.patch18
-rw-r--r--pkgs/tools/system/acct/default.nix12
-rw-r--r--pkgs/tools/system/ansible/default.nix12
-rw-r--r--pkgs/tools/system/at/default.nix17
-rw-r--r--pkgs/tools/system/augeas/default.nix21
-rw-r--r--pkgs/tools/system/collectd/default.nix6
-rw-r--r--pkgs/tools/system/cron/default.nix5
-rw-r--r--pkgs/tools/system/daemonize/default.nix18
-rw-r--r--pkgs/tools/system/dcfldd/default.nix23
-rw-r--r--pkgs/tools/system/dd_rescue/default.nix8
-rw-r--r--pkgs/tools/system/ddrescue/default.nix4
-rw-r--r--pkgs/tools/system/dfc/default.nix21
-rw-r--r--pkgs/tools/system/dog/default.nix25
-rw-r--r--pkgs/tools/system/fakechroot/default.nix2
-rw-r--r--pkgs/tools/system/freeipmi/default.nix9
-rw-r--r--pkgs/tools/system/gdmap/default.nix5
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix4
-rw-r--r--pkgs/tools/system/honcho/default.nix36
-rw-r--r--pkgs/tools/system/ioping/default.nix15
-rw-r--r--pkgs/tools/system/ipmitool/default.nix8
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix12
-rw-r--r--pkgs/tools/system/ipmiutil/default.upstream4
-rw-r--r--pkgs/tools/system/journal-mailer/default.nix34
-rw-r--r--pkgs/tools/system/logcheck/default.nix4
-rw-r--r--pkgs/tools/system/logrotate/default.nix4
-rw-r--r--pkgs/tools/system/lshw/default.nix1
-rw-r--r--pkgs/tools/system/monit/default.nix4
-rw-r--r--pkgs/tools/system/pciutils/default.nix14
-rw-r--r--pkgs/tools/system/plan9port/builder.sh13
-rw-r--r--pkgs/tools/system/plan9port/default.nix12
-rw-r--r--pkgs/tools/system/proot/default.nix31
-rw-r--r--pkgs/tools/system/rsyslog/default.nix101
-rw-r--r--pkgs/tools/system/runit/Makefile.patch11
-rw-r--r--pkgs/tools/system/runit/default.nix39
-rw-r--r--pkgs/tools/system/safe-rm/default.nix34
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix8
-rw-r--r--pkgs/tools/system/sleuthkit/default.upstream5
-rw-r--r--pkgs/tools/system/smartmontools/default.nix4
-rw-r--r--pkgs/tools/system/stress-ng/default.nix38
-rw-r--r--pkgs/tools/system/stress/default.nix16
-rw-r--r--pkgs/tools/system/syslog-ng-incubator/default.nix21
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix9
-rw-r--r--pkgs/tools/system/tree/default.nix11
-rw-r--r--pkgs/tools/system/uptimed/default.nix32
-rw-r--r--pkgs/tools/system/which/default.nix12
-rw-r--r--pkgs/tools/text/dadadodo/default.nix34
-rw-r--r--pkgs/tools/text/diffstat/default.nix4
-rw-r--r--pkgs/tools/text/discount/default.nix19
-rw-r--r--pkgs/tools/text/discount/fix-configure-path.patch12
-rw-r--r--pkgs/tools/text/dos2unix/default.nix8
-rw-r--r--pkgs/tools/text/enca/default.nix10
-rw-r--r--pkgs/tools/text/enscript/default.nix2
-rw-r--r--pkgs/tools/text/gawk/default.nix9
-rw-r--r--pkgs/tools/text/gist/Gemfile2
-rw-r--r--pkgs/tools/text/gist/Gemfile.lock10
-rw-r--r--pkgs/tools/text/gist/default.nix15
-rw-r--r--pkgs/tools/text/gist/gemset.nix9
-rw-r--r--pkgs/tools/text/gnugrep/cve-2015-1345.patch60
-rw-r--r--pkgs/tools/text/gnugrep/default.nix29
-rw-r--r--pkgs/tools/text/gnugrep/test-localeconv.patch18
-rw-r--r--pkgs/tools/text/gnupatch/bashishms.patch67
-rw-r--r--pkgs/tools/text/gnupatch/default.nix8
-rw-r--r--pkgs/tools/text/grin/default.nix21
-rw-r--r--pkgs/tools/text/groff/default.nix21
-rw-r--r--pkgs/tools/text/highlight/default.nix15
-rw-r--r--pkgs/tools/text/html2text/default.nix30
-rw-r--r--pkgs/tools/text/mawk/default.nix17
-rw-r--r--pkgs/tools/text/multitran/mtutils/default.nix2
-rw-r--r--pkgs/tools/text/nkf/default.nix21
-rw-r--r--pkgs/tools/text/numdiff/default.nix6
-rw-r--r--pkgs/tools/text/peco/default.nix18
-rw-r--r--pkgs/tools/text/qprint/default.nix28
-rw-r--r--pkgs/tools/text/recode/default.nix4
-rw-r--r--pkgs/tools/text/replace/default.nix4
-rw-r--r--pkgs/tools/text/sgml/opensp/default.nix13
-rw-r--r--pkgs/tools/text/silver-searcher/default.nix4
-rw-r--r--pkgs/tools/text/source-highlight/default.nix6
-rw-r--r--pkgs/tools/text/wdiff/default.nix4
-rw-r--r--pkgs/tools/text/wgetpaste/default.nix2
-rw-r--r--pkgs/tools/text/xidel/default.nix51
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix2
-rw-r--r--pkgs/tools/text/xml/rxp/default.nix19
-rw-r--r--pkgs/tools/text/xml/xml2/default.nix19
-rw-r--r--pkgs/tools/text/xml/xmlstarlet/default.nix4
-rw-r--r--pkgs/tools/text/xml/xpf/default.nix2
-rw-r--r--pkgs/tools/typesetting/biber/default.nix6
-rw-r--r--pkgs/tools/typesetting/docbook2x/default.nix6
-rw-r--r--pkgs/tools/typesetting/halibut/default.nix13
-rw-r--r--pkgs/tools/typesetting/lout/default.nix2
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.upstream10
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix2
-rw-r--r--pkgs/tools/typesetting/pdfjam/builder.sh2
-rw-r--r--pkgs/tools/typesetting/pdfjam/default.nix17
-rw-r--r--pkgs/tools/typesetting/pdftk/default.nix32
-rw-r--r--pkgs/tools/typesetting/pdftk/gcc-4.3.patch205
-rw-r--r--pkgs/tools/typesetting/pdftk/gcc-4.4.patch18
-rw-r--r--pkgs/tools/typesetting/rubber/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/disser/default.nix15
-rw-r--r--pkgs/tools/typesetting/tex/latex2html/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/pgf/1.x.nix5
-rw-r--r--pkgs/tools/typesetting/tex/pgf/2.x.nix7
-rw-r--r--pkgs/tools/typesetting/tex/pgf/3.x.nix29
-rw-r--r--pkgs/tools/typesetting/tex/tetex/clang.patch13
-rw-r--r--pkgs/tools/typesetting/tex/tetex/default.nix3
-rw-r--r--pkgs/tools/typesetting/tex/tex4ht/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/aggregate.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/context.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix18
-rw-r--r--pkgs/tools/typesetting/tex/texlive/extra.nix6
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderntimeline.nix4
-rw-r--r--pkgs/tools/typesetting/xmlroff/default.nix30
-rw-r--r--pkgs/tools/typesetting/xmlroff/xmlroff.patch23
-rw-r--r--pkgs/tools/typesetting/xmlto/default.nix4
-rw-r--r--pkgs/tools/video/atomicparsley/casts.patch38
-rw-r--r--pkgs/tools/video/atomicparsley/default.nix29
-rw-r--r--pkgs/tools/video/rtmpdump/default.nix44
-rw-r--r--pkgs/tools/video/swftools/default.nix21
-rw-r--r--pkgs/tools/video/swftools/swftools.patch17
-rw-r--r--pkgs/tools/video/vnc2flv/default.nix2
-rw-r--r--pkgs/tools/virtualization/cloud-init/default.nix34
-rw-r--r--pkgs/tools/virtualization/ec2-ami-tools/default.nix8
-rw-r--r--pkgs/tools/virtualization/ec2-api-tools/default.nix2
-rw-r--r--pkgs/tools/virtualization/euca2ools/default.nix10
-rw-r--r--pkgs/top-level/all-packages.nix5046
-rw-r--r--pkgs/top-level/emacs-packages.nix1216
-rw-r--r--pkgs/top-level/go-packages.nix1148
-rw-r--r--pkgs/top-level/haskell-defaults.nix139
-rw-r--r--pkgs/top-level/haskell-ng.nix88
-rw-r--r--pkgs/top-level/haskell-packages.nix908
-rw-r--r--pkgs/top-level/lua-packages.nix398
-rw-r--r--pkgs/top-level/make-tarball.nix2
-rw-r--r--pkgs/top-level/node-packages-generated.nix57851
-rw-r--r--pkgs/top-level/node-packages.json81
-rw-r--r--pkgs/top-level/node-packages.nix120
-rw-r--r--pkgs/top-level/perl-packages.nix2107
-rw-r--r--pkgs/top-level/php-packages.nix51
-rw-r--r--pkgs/top-level/platforms.nix109
-rw-r--r--pkgs/top-level/python-packages-generated.nix26
-rw-r--r--pkgs/top-level/python-packages.json6
-rw-r--r--pkgs/top-level/python-packages.nix7781
-rw-r--r--pkgs/top-level/release-lib.nix106
-rw-r--r--pkgs/top-level/release-python.nix1
-rw-r--r--pkgs/top-level/release-small.nix8
-rw-r--r--pkgs/top-level/release.nix174
6303 files changed, 375489 insertions, 91403 deletions
diff --git a/.gitignore b/.gitignore
index 16aaf68b70b..74de941b768 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,9 @@ result-*
 /doc/manual.pdf
 .version-suffix
 
-.DS_Store
\ No newline at end of file
+.DS_Store
+
+/pkgs/applications/kde-apps-*/tmp/
+/pkgs/development/libraries/kde-frameworks-*/tmp/
+/pkgs/development/libraries/qt-5/*/tmp/
+/pkgs/desktops/plasma-*/tmp/
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000000..dbb04e29ee0
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,6 @@
+language: python
+python: "3.4"
+sudo: required
+before_install: ./maintainers/scripts/travis-nox-review-pr.sh nix
+install: ./maintainers/scripts/travis-nox-review-pr.sh nox
+script: ./maintainers/scripts/travis-nox-review-pr.sh build
diff --git a/.version b/.version
index d3a61dbd830..7bc03e791d4 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-14.10
\ No newline at end of file
+15.05
\ No newline at end of file
diff --git a/README.md b/README.md
index e59b15425e9..86a5568727e 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,26 @@
-Nixpkgs is a collection of packages for [Nix](http://nixos.org/nix/) package
-manager. Nixpkgs also includes [NixOS](http://nixos.org/nixos/) linux distribution source code.
-
-* [NixOS installation instructions](http://nixos.org/nixos/manual/#ch-installation)
-* [Manual (How to write packages for Nix)](http://nixos.org/nixpkgs/manual/)
-* [Manual (NixOS)](http://nixos.org/nixos/manual/)
-* [Continuous build](http://hydra.nixos.org/jobset/nixos/trunk-combined)
-* [Tests](http://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
+[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />
+](https://nixos.org/nixos)
+
+[![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs) [![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/pr)](http://www.issuestats.com/github/nixos/nixpkgs) [![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/issue)](http://www.issuestats.com/github/nixos/nixpkgs)
+
+Nixpkgs is a collection of packages for [Nix](https://nixos.org/nix/) package
+manager.
+
+[NixOS](https://nixos.org/nixos/) linux distribution source code is located inside `nixos/` folder.
+
+* [NixOS installation instructions](https://nixos.org/nixos/manual/#ch-installation)
+* [Documentation (Nix Expression Language chapter)](https://nixos.org/nix/manual/#ch-expression-language)
+* [Manual (How to write packages for Nix)](https://nixos.org/nixpkgs/manual/)
+* [Manual (NixOS)](https://nixos.org/nixos/manual/)
+* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
+* [Continuous package builds for 14.12 release](https://hydra.nixos.org/jobset/nixos/release-14.12)
+* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
+* [Tests for 14.12 release](https://hydra.nixos.org/job/nixos/release-14.12/tested#tabs-constituents)
+
+Communication:
+
 * [Mailing list](http://lists.science.uu.nl/mailman/listinfo/nix-dev)
 * [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos)
+
+---
+[![Throughput Graph](https://graphs.waffle.io/nixos/nixpkgs/throughput.svg)](https://waffle.io/nixos/nixpkgs/metrics)
diff --git a/default.nix b/default.nix
index c1b9bfd39f9..bdbe13b3ea2 100644
--- a/default.nix
+++ b/default.nix
@@ -1,6 +1,6 @@
-if ! builtins ? nixVersion || builtins.compareVersions "1.6" builtins.nixVersion == 1 then
+if ! builtins ? nixVersion || builtins.compareVersions "1.8" builtins.nixVersion == 1 then
 
-  abort "This version of Nixpkgs requires Nix >= 1.6, please upgrade!"
+  abort "This version of Nixpkgs requires Nix >= 1.8, please upgrade! See https://nixos.org/wiki/How_to_update_when_nix_is_too_old_to_evaluate_nixpkgs"
 
 else
 
diff --git a/doc/contributing.xml b/doc/contributing.xml
index bcea404baee..f622845bf1a 100644
--- a/doc/contributing.xml
+++ b/doc/contributing.xml
@@ -10,9 +10,7 @@
 
   <listitem><para><command>$ git clone git://github.com/NixOS/nixpkgs.git</command></para></listitem>
 
-  <listitem><para><command>$ cd nixpkgs/pkgs/top-level</command></para></listitem>
-
-  <listitem><para><command>$ nix-build -A tarball release.nix</command></para></listitem>
+  <listitem><para><command>$ nix-build -A manual nixpkgs/pkgs/top-level/release.nix</command></para></listitem>
   
   <listitem><para>Inside the built derivation you shall see <literal>manual/index.html</literal> file.</para></listitem>
 
diff --git a/doc/language-support.xml b/doc/language-support.xml
index f5e89df57fc..f2b64c93d22 100644
--- a/doc/language-support.xml
+++ b/doc/language-support.xml
@@ -108,7 +108,7 @@ a <varname>preConfigure</varname> hook to generate a configuration
 file used by <filename>Makefile.PL</filename>:
 
 <programlisting>
-{buildPerlPackage, fetchurl, db}:
+{ buildPerlPackage, fetchurl, db }:
 
 buildPerlPackage rec {
   name = "BerkeleyDB-0.36";
@@ -191,47 +191,550 @@ you need it.</para>
 </section>
 
 
-<section><title>Python</title>
+<section xml:id="python"><title>Python</title>
+
+<para>
+  Currently supported interpreters are <varname>python26</varname>, <varname>python27</varname>,
+  <varname>python32</varname>, <varname>python33</varname>, <varname>python34</varname>
+  and <varname>pypy</varname>.
+</para>
+
+<para>
+  <varname>python</varname> is an alias of <varname>python27</varname> and <varname>python3</varname> is an alias of <varname>python34</varname>.
+</para>
+
+<para>
+  <varname>python26</varname> and <varname>python27</varname> do not include modules that require
+  external dependencies (to reduce dependency bloat). Following modules need to be added as
+  <varname>buildInput</varname> explicitly:
+</para>
+
+<itemizedlist>
+  <listitem><para><varname>python.modules.bsddb</varname></para></listitem>
+  <listitem><para><varname>python.modules.curses</varname></para></listitem>
+  <listitem><para><varname>python.modules.curses_panel</varname></para></listitem>
+  <listitem><para><varname>python.modules.crypt</varname></para></listitem>
+  <listitem><para><varname>python.modules.gdbm</varname></para></listitem>
+  <listitem><para><varname>python.modules.sqlite3</varname></para></listitem>
+  <listitem><para><varname>python.modules.tkinter</varname></para></listitem>
+  <listitem><para><varname>python.modules.readline</varname></para></listitem>
+</itemizedlist>
+
+<para>For convenience <varname>python27Full</varname> and <varname>python26Full</varname>
+are provided with all modules included.</para>
 
 <para>
   Python packages that
-  use <link xlink:href="http://pypi.python.org/pypi/setuptools/"><literal>setuptools</literal></link>,
-  which many Python packages do nowadays, can be built very simply using
-  the <varname>buildPythonPackage</varname> function.  This function is
-  implemented
-  in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/default.nix"><filename>pkgs/development/python-modules/generic/default.nix</filename></link>
-  and works similarly to <varname>buildPerlPackage</varname>. (See
-  <xref linkend="ssec-language-perl"/> for details.)
+  use <link xlink:href="http://pypi.python.org/pypi/setuptools/"><literal>setuptools</literal></link> or <literal>distutils</literal>,
+  can be built using the <varname>buildPythonPackage</varname> function as documented below.
 </para>
 
 <para>
-  Python packages that use <varname>buildPythonPackage</varname> are
-  defined
-  in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/python-packages.nix"><filename>pkgs/top-level/python-packages.nix</filename></link>.
-  Most of them are simple.  For example:
+ All packages depending on any Python interpreter get appended <varname>$out/${python.libPrefix}/site-packages</varname>
+ to <literal>$PYTHONPATH</literal> if such directory exists.
+</para>
 
-  <programlisting>
+<variablelist>
+  <title>
+     Useful attributes on interpreters packages:
+  </title>
+
+  <varlistentry>
+    <term><varname>libPrefix</varname></term>
+    <listitem><para>
+        Name of the folder in <literal>${python}/lib/</literal> for corresponding interpreter.
+    </para></listitem>
+  </varlistentry>
+  
+  <varlistentry>
+    <term><varname>interpreter</varname></term>
+    <listitem><para>
+        Alias for <literal>${python}/bin/${executable}.</literal>
+    </para></listitem>
+  </varlistentry>
+  
+  <varlistentry>
+    <term><varname>buildEnv</varname></term>
+    <listitem><para>
+        Function to build python interpreter environments with extra packages bundled together.
+        See <xref linkend="python-build-env" /> for usage and documentation.
+    </para></listitem>
+  </varlistentry>
+  
+  <varlistentry>
+    <term><varname>sitePackages</varname></term>
+    <listitem><para>
+      Alias for <literal>lib/${libPrefix}/site-packages</literal>.
+    </para></listitem>
+  </varlistentry>
+  
+  <varlistentry>
+    <term><varname>executable</varname></term>
+    <listitem><para>
+      Name of the interpreter executable, ie <literal>python3.4</literal>.
+    </para></listitem>
+  </varlistentry>
+  
+</variablelist>
+<section xml:id="build-python-package"><title><varname>buildPythonPackage</varname> function</title>
+  
+  <para>
+  The function is implemented in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/default.nix">
+  <filename>pkgs/development/python-modules/generic/default.nix</filename></link>.
+  Example usage:
+  
+<programlisting language="nix">
 twisted = buildPythonPackage {
   name = "twisted-8.1.0";
 
-  src = fetchurl {
+  src = pkgs.fetchurl {
     url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.1/Twisted-8.1.0.tar.bz2;
     sha256 = "0q25zbr4xzknaghha72mq57kh53qw1bf8csgp63pm9sfi72qhirl";
   };
 
-  propagatedBuildInputs = [ pkgs.ZopeInterface ];
+  propagatedBuildInputs = [ self.ZopeInterface ];
 
   meta = {
     homepage = http://twistedmatrix.com/;
     description = "Twisted, an event-driven networking engine written in Python";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
   };
 };
-  </programlisting>
+</programlisting>
+
+  Most of Python packages that use <varname>buildPythonPackage</varname> are defined
+  in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/python-packages.nix"><filename>pkgs/top-level/python-packages.nix</filename></link>
+  and generated for each python interpreter separately into attribute sets <varname>python26Packages</varname>,
+  <varname>python27Packages</varname>, <varname>python32Packages</varname>, <varname>python33Packages</varname>,
+  <varname>python34Packages</varname> and <varname>pypyPackages</varname>.
+  </para>
+  
+  <para>
+    <function>buildPythonPackage</function> mainly does four things:
+      
+    <orderedlist>
+      <listitem><para>
+        In the <varname>configurePhase</varname>, it patches
+        <literal>setup.py</literal> to always include setuptools before
+        distutils for monkeypatching machinery to take place.
+      </para></listitem>
+    
+      <listitem><para>
+        In the <varname>buildPhase</varname>, it calls 
+        <literal>${python.interpreter} setup.py build ...</literal>
+      </para></listitem>
+      
+      <listitem><para>
+        In the <varname>installPhase</varname>, it calls 
+        <literal>${python.interpreter} setup.py install ...</literal>
+      </para></listitem>
+      
+      <listitem><para>
+        In the <varname>postFixup</varname> phase, <literal>wrapPythonPrograms</literal>
+        bash function is called to wrap all programs in <filename>$out/bin/*</filename>
+        directory to include <literal>$PYTHONPATH</literal> and <literal>$PATH</literal>
+        environment variables.
+      </para></listitem>
+    </orderedlist>
+  </para>
+  
+  <para>By default <varname>doCheck = true</varname> is set and tests are run with 
+  <literal>${python.interpreter} setup.py test</literal> command in <varname>checkPhase</varname>.</para>
+  
+  <para><varname>propagatedBuildInputs</varname> packages are propagated to user environment.</para>
+    
+  <para>
+    By default <varname>meta.platforms</varname> is set to the same value
+    as the interpreter unless overriden otherwise.
+  </para>
+  
+  <variablelist>
+    <title>
+      <varname>buildPythonPackage</varname> parameters
+      (all parameters from <varname>mkDerivation</varname> function are still supported)
+    </title>
+  
+    <varlistentry>
+      <term><varname>namePrefix</varname></term>
+      <listitem><para>
+        Prepended text to <varname>${name}</varname> parameter.
+        Defaults to <literal>"python3.3-"</literal> for Python 3.3, etc. Set it to
+        <literal>""</literal>
+        if you're packaging an application or a command line tool.
+      </para></listitem>
+    </varlistentry>
+  
+    <varlistentry>
+      <term><varname>disabled</varname></term>
+      <listitem><para>
+        If <varname>true</varname>, package is not build for
+        particular python interpreter version. Grep around
+        <filename>pkgs/top-level/python-packages.nix</filename>
+        for examples.
+      </para></listitem>
+    </varlistentry>
+      
+    <varlistentry>
+      <term><varname>setupPyInstallFlags</varname></term>
+      <listitem><para>
+        List of flags passed to <command>setup.py install</command> command.
+      </para></listitem>
+    </varlistentry>
+     
+    <varlistentry>
+      <term><varname>setupPyBuildFlags</varname></term>
+      <listitem><para>
+        List of flags passed to <command>setup.py build</command> command.
+      </para></listitem>
+    </varlistentry>
+     
+    <varlistentry>
+      <term><varname>pythonPath</varname></term>
+      <listitem><para>
+        List of packages to be added into <literal>$PYTHONPATH</literal>.
+        Packages in <varname>pythonPath</varname> are not propagated into user environment
+        (contrary to <varname>propagatedBuildInputs</varname>).
+      </para></listitem>
+    </varlistentry>
+     
+    <varlistentry>
+      <term><varname>preShellHook</varname></term>
+      <listitem><para>
+        Hook to execute commands before <varname>shellHook</varname>.
+      </para></listitem>
+    </varlistentry>
+    
+    <varlistentry>
+      <term><varname>postShellHook</varname></term>
+      <listitem><para>
+        Hook to execute commands after <varname>shellHook</varname>.
+      </para></listitem>
+    </varlistentry>
+    
+    <varlistentry>
+      <term><varname>distutilsExtraCfg</varname></term>
+      <listitem><para>
+        Extra lines passed to <varname>[easy_install]</varname> section of
+        <filename>distutils.cfg</filename> (acts as global setup.cfg
+        configuration).
+      </para></listitem>
+    </varlistentry>
+  
+  </variablelist>
+  
+</section>
+
+<section xml:id="python-build-env"><title><function>python.buildEnv</function> function</title>
+  <para>
+    Create Python environments using low-level <function>pkgs.buildEnv</function> function. Example <filename>default.nix</filename>:
+    
+<programlisting language="nix">
+<![CDATA[with import <nixpkgs> {};
+
+python.buildEnv.override {
+  extraLibs = [ pkgs.pythonPackages.pyramid ];
+  ignoreCollisions = true;
+}]]>
+</programlisting>
+    
+    Running <command>nix-build</command> will create
+    <filename>/nix/store/cf1xhjwzmdki7fasgr4kz6di72ykicl5-python-2.7.8-env</filename>
+    with wrapped binaries in <filename>bin/</filename>.
+  </para>
+  
+  <variablelist>
+    <title>
+      <function>python.buildEnv</function> arguments
+    </title>
+  
+    <varlistentry>
+      <term><varname>extraLibs</varname></term>
+      <listitem><para>
+        List of packages installed inside the environment.
+      </para></listitem>
+    </varlistentry>
+    
+    <varlistentry>
+      <term><varname>postBuild</varname></term>
+      <listitem><para>
+        Shell command executed after the build of environment.
+      </para></listitem>
+    </varlistentry>
+    
+    <varlistentry>
+      <term><varname>ignoreCollisions</varname></term>
+      <listitem><para>
+         Ignore file collisions inside the environment (default is <varname>false</varname>).
+      </para></listitem>
+    </varlistentry>
+  </variablelist>
+</section>
+
+<section xml:id="python-tools"><title>Tools</title>
+
+<para>Packages inside nixpkgs are written by hand. However many tools
+exist in community to help save time. No tool is preferred at the moment.
+</para>
+
+<itemizedlist>
+
+  <listitem><para>
+    <link xlink:href="https://github.com/proger/python2nix">python2nix</link>
+    by Vladimir Kirillov
+  </para></listitem>
+
+  <listitem><para>
+    <link xlink:href="https://github.com/garbas/pypi2nix">pypi2nix</link>
+    by Rok Garbas
+  </para></listitem>
+
+  <listitem><para>
+    <link xlink:href="https://github.com/offlinehacker/pypi2nix">pypi2nix</link>
+    by Jaka Hudoklin
+  </para></listitem>
+
+</itemizedlist>
+
+</section>
+
+<section xml:id="python-development"><title>Development</title>
+
+  <para>
+    To develop Python packages <function>buildPythonPackage</function> has
+    additional logic inside <varname>shellPhase</varname> to run
+    <command>${python.interpreter} setup.py develop</command> for the package.
+  </para>
+  
+  <warning><para><varname>shellPhase</varname> is executed only if <filename>setup.py</filename>
+  exists.</para></warning>
+  
+  <para>
+    Given a <filename>default.nix</filename>:
+    
+<programlisting language="nix">
+<![CDATA[with import <nixpkgs> {};
+
+buildPythonPackage {
+  name = "myproject";
+
+  buildInputs = with pkgs.pythonPackages; [ pyramid ];
+
+  src = ./.;
+}]]>
+</programlisting>
+    
+    Running <command>nix-shell</command> with no arguments should give you
+    the environment in which the package would be build with
+    <command>nix-build</command>.
+  </para>
+  
+  <para>
+    Shortcut to setup environments with C headers/libraries and python packages:
+    
+    <programlisting language="bash">$ nix-shell -p pythonPackages.pyramid zlib libjpeg git</programlisting>
+  </para>
+  
+  <note><para>
+    There is a boolean value <varname>lib.inNixShell</varname> set to
+    <varname>true</varname> if nix-shell is invoked.
+  </para></note>
+
+</section>
+
+<section xml:id="python-faq"><title>FAQ</title>
+
+<variablelist>
+
+  <varlistentry>
+    <term>How to solve circular dependencies?</term>
+    <listitem><para>
+      If you have packages <varname>A</varname> and <varname>B</varname> that
+      depend on each other, when packaging <varname>B</varname> override package
+      <varname>A</varname> not to depend on <varname>B</varname> as input
+      (and also the other way around).
+    </para></listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><varname>install_data / data_files</varname> problems resulting into <literal>error: could not create '/nix/store/6l1bvljpy8gazlsw2aw9skwwp4pmvyxw-python-2.7.8/etc': Permission denied</literal></term>
+    <listitem><para>
+      <link xlink:href="https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix">
+      Known bug in setuptools <varname>install_data</varname> does not respect --prefix</link>. Example of
+      such package using the feature is <filename>pkgs/tools/X11/xpra/default.nix</filename>. As workaround
+      install it as an extra <varname>preInstall</varname> step:
+      
+      <programlisting>${python.interpreter} setup.py install_data --install-dir=$out --root=$out
+sed -i '/ = data_files/d' setup.py</programlisting>
+    </para></listitem>
+  </varlistentry>
+  
+  <varlistentry>
+    <term>Rationale of non-existent global site-packages</term>
+    <listitem><para>
+      There is no need to have global site-packages in Nix. Each package has isolated
+      dependency tree and installing any python package will only populate <varname>$PATH</varname>
+      inside user environment. See <xref linkend="python-build-env" /> to create self-contained
+      interpreter with a set of packages.
+    </para></listitem>
+  </varlistentry>
+
+</variablelist>
+
+</section>
+
+
+<section xml:id="python-contrib"><title>Contributing guidelines</title>
+<para>
+  Following rules are desired to be respected:
+</para>
+
+<itemizedlist>
+
+  <listitem><para>
+    Make sure package builds for all python interpreters. Use <varname>disabled</varname> argument to
+    <function>buildPythonPackage</function> to set unsupported interpreters.
+  </para></listitem>
+
+  <listitem><para>
+    If tests need to be disabled for a package, make sure you leave a comment about reasoning.
+  </para></listitem>
+
+  <listitem><para>
+    Packages in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/python-packages.nix"><filename>pkgs/top-level/python-packages.nix</filename></link>
+    are sorted quasi-alphabetically to avoid merge conflicts.
+  </para></listitem>
+
+</itemizedlist>
+
+</section>
+
+</section>
+
+
+<section xml:id="ssec-language-ruby"><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>For example, to package sensu, we did:</para>
+  
+<screen>
+<![CDATA[$ cd pkgs/servers/monitoring
+$ mkdir sensu
+$ cat > Gemfile
+source 'https://rubygems.org'
+gem 'sensu'
+$ bundler package --path /tmp/vendor/bundle
+$ $(nix-build '&nixpkgs>' -A bundix)/bin/bundix
+$ cat > default.nix
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv {
+  name = "sensu-0.17.1";
+
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  meta = with lib; {
+    description = "A monitoring framework that aims to be simple, malleable,
+and scalable.";
+    homepage    = http://sensuapp.org/;
+    license     = with licenses; mit;
+    maintainers = with maintainers; [ theuni ];
+    platforms   = platforms.unix;
+  };
+}]]>
+</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>
 
 </section>
 
+<section xml:id="ssec-language-go"><title>Go</title>
+
+<para>The function <varname>buildGoPackage</varname> builds
+standard Go packages.
+</para>
+
+<example xml:id='ex-buildGoPackage'><title>buildGoPackage</title>
+<programlisting>
+net = buildGoPackage rec {
+  name = "go.net-${rev}";
+  goPackagePath = "code.google.com/p/go.net"; <co xml:id='ex-buildGoPackage-1' />
+  subPackages = [ "ipv4" "ipv6" ]; <co xml:id='ex-buildGoPackage-2' />
+  rev = "28ff664507e4";
+  src = fetchhg {
+    inherit rev;
+    url = "https://${goPackagePath}";
+    sha256 = "1lkz4c9pyz3yz2yz18hiycvlfhgy3jxp68bs7mv7bcfpaj729qav";
+  };
+  propagatedBuildInputs = [ goPackages.text ]; <co xml:id='ex-buildGoPackage-3' />
+};
+</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'>
+    <para>
+      <varname>goPackagePath</varname> specifies the package's canonical Go import path.
+    </para>
+  </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.
+    </para>
+    <para>
+      In this example only <literal>code.google.com/p/go.net/ipv4</literal> and
+      <literal>code.google.com/p/go.net/ipv4</literal> will be built.
+    </para>
+  </callout>
+
+  <callout arearefs='ex-buildGoPackage-3'>
+    <para>
+      <varname>propagatedBuildInputs</varname> is where the dependencies of a Go library are
+      listed. Only libraries should list <varname>propagatedBuildInputs</varname>. If a standalone
+      program is being build instead, use <varname>buildInputs</varname>. If a library's tests require
+      additional dependencies that are not propagated, they should be listed in <varname>buildInputs</varname>.
+    </para>
+  </callout>
+
+</calloutlist>
+
+</para>
+
+<para>
+Reusable Go libraries may be found in the <varname>goPackages</varname> set. You can test
+build a Go package as follows:
+
+<screen>
+$ nix-build -A goPackages.net
+</screen>
+
+</para>
+
+<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>To extract dependency information from a Go package in automated way use <link xlink:href="https://github.com/cstrahan/go2nix">go2nix</link>.</para>
+</section>
+
 
 <section xml:id="ssec-language-java"><title>Java</title>
 
@@ -314,6 +817,90 @@ Runtime) instead of the OpenJRE.</para>
 </section>
 
 
+<section xml:id="ssec-language-lua"><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">
+  <filename>pkgs/development/lua-modules/generic/default.nix</filename></link>
+  and works similarly to <varname>buildPerlPackage</varname>. (See
+  <xref linkend="ssec-language-perl"/> for details.)
+</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>.
+  Most of them are simple. For example:
+
+  <programlisting>
+fileSystem = buildLuaPackage {
+  name = "filesystem-1.6.2";
+  src = fetchurl {
+    url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_2.tar.gz";
+    sha256 = "1n8qdwa20ypbrny99vhkmx8q04zd2jjycdb5196xdhgvqzk10abz";
+  };  
+  meta = {
+    homepage = "https://github.com/keplerproject/luafilesystem";
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ flosse ];
+  };
+};
+  </programlisting>
+</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>
+
+</section>
+
+<section xml:id="ssec-language-coq"><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. The exact
+    versions that were used to build Coq are saved in the
+    <literal>coq.ocaml</literal> and <literal>coq.camlp5</literal>
+    attributes.
+  </para>
+  <para>
+    Here is a simple package example. It is a pure Coq library, thus it
+    only depends on Coq. 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, fetchurl, coq}:
+stdenv.mkDerivation {
+  src = fetchurl {
+    url = http://coq.inria.fr/pylons/contribs/files/Karatsuba/v8.4/Karatsuba.tar.gz;
+    sha256 = "0ymfpv4v49k4fm63nq6gcl1hbnnxrvjjp7yzc4973n49b853c5b1";
+  };
+
+  name = "coq-karatsuba";
+
+  buildInputs = [ coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+}
+</programlisting>
+</section>
+
 <!--
 <section><title>Haskell</title>
 
diff --git a/doc/manual.xml b/doc/manual.xml
index 01373b4f5b1..1b713b0c30c 100644
--- a/doc/manual.xml
+++ b/doc/manual.xml
@@ -12,6 +12,7 @@
   <xi:include href="introduction.xml" />
   <xi:include href="quick-start.xml" />
   <xi:include href="stdenv.xml" />
+  <xi:include href="packageconfig.xml" />
   <xi:include href="meta.xml" />
   <xi:include href="language-support.xml" />
   <xi:include href="package-notes.xml" />
diff --git a/doc/meta.xml b/doc/meta.xml
index e91f94d15c2..a0ed3069b68 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -84,8 +84,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
 
 <section><title>Standard meta-attributes</title>
 
-<para>The following meta-attributes have a standard
-interpretation:</para>
+<para>It is expected that each meta-attribute is one of the following:</para>
 
 <variablelist>
 
@@ -113,12 +112,30 @@ interpretation:</para>
   </varlistentry>
 
   <varlistentry>
+    <term><varname>version</varname></term>
+    <listitem><para>Package version.</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 for the package. One from the
     attribute set defined in <link
@@ -195,6 +212,16 @@ meta.hydraPlatforms = [];
     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>
 
 
@@ -256,9 +283,9 @@ to indicate the specific license:
 </variablelist>
 
 </para>
-  
+
 
 </section>
-  
+
 
 </chapter>
diff --git a/doc/old/cross.txt b/doc/old/cross.txt
index 9c117774fc4..82a69f6f379 100644
--- a/doc/old/cross.txt
+++ b/doc/old/cross.txt
@@ -184,10 +184,10 @@ if test "$noSysDirs" = "1"; then
     if test "$noSysDirs" = "1"; then
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        if test -e $NIX_GCC/nix-support/orig-glibc; then
-            glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
+        if test -e $NIX_CC/nix-support/orig-glibc; then
+            glibc=$(cat $NIX_CC/nix-support/orig-glibc)
             # Ugh.  Copied from gcc-wrapper/builder.sh.  We can't just
-            # source in $NIX_GCC/nix-support/add-flags, since that
+            # source in $NIX_CC/nix-support/add-flags, since that
             # would cause *this* GCC to be linked against the
             # *previous* GCC.  Need some more modularity there.
             extraCFlags="-B$glibc/lib -isystem $glibc/include"
diff --git a/doc/packageconfig.xml b/doc/packageconfig.xml
new file mode 100644
index 00000000000..b5e57df71ff
--- /dev/null
+++ b/doc/packageconfig.xml
@@ -0,0 +1,70 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xml:id="chap-packageconfig">
+
+<title><filename>~/.nixpkgs/config.nix</filename>: global configuration</title>
+
+    <para>
+      Nix packages can be configured to allow or deny certain options.
+    </para>
+
+    <para>
+        To apply the configuration edit <filename>~/.nixpkgs/config.nix</filename>
+        and set it like
+<programlisting>{
+  allowUnfree = true;
+}</programlisting>
+        and will allow the Nix package manager to install unfree licensed packages.
+
+        The configuration as listed also applies to NixOS under <option>nixpkgs.config</option> set.
+    </para>
+
+    <itemizedlist>
+        <listitem>
+            <para>
+                Allow installing of packages that are distributed under unfree license by setting
+                <programlisting>allowUnfree = true;</programlisting>
+                or deny them by setting it to <literal>false</literal>.
+            </para>
+            <para>
+                Same can be achieved by setting the environment variable:
+                <programlisting>$ export NIXPKGS_ALLOW_UNFREE=1</programlisting>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                Whenever unfree packages are not allowed, single packages can
+                still be allowed by a predicate function that accepts package
+                as an argument and should return a boolean:
+                <programlisting>allowUnfreePredicate = (pkg: ...);</programlisting>
+
+                Example to allow flash player only:
+                <programlisting>allowUnfreePredicate = (pkg: pkgs.lib.hasPrefix "flashplayer-" pkg.name);</programlisting>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                Whenever unfree packages are not allowed, packages can still be
+                whitelisted by their license:
+                <programlisting>whitelistedLicenses = with stdenv.lib.licenses; [ amd wtfpl ];</programlisting>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                In addition to whitelisting licenses which are denied by the
+                <literal>allowUnfree</literal> setting, you can also explicitely
+                deny installation of packages which have a certain license:
+                <programlisting>blacklistedLicenses = with stdenv.lib.licenses; [ agpl3 gpl3 ];</programlisting>
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        A complete list of licenses can be found in the file
+        <filename>lib/licenses.nix</filename> of the nix package tree.
+    </para>
+
+</chapter>
\ No newline at end of file
diff --git a/doc/quick-start.xml b/doc/quick-start.xml
index 0f11a906d77..c0f96f87152 100644
--- a/doc/quick-start.xml
+++ b/doc/quick-start.xml
@@ -93,17 +93,6 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
         </listitem>
 
         <listitem>
-          <para>BitTorrent (wxPython-based): <link
-          xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/networking/p2p/bittorrent/default.nix"><filename>pkgs/tools/networking/p2p/bittorrent/default.nix</filename></link>.
-          Uses an external <link
-          xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/networking/p2p/bittorrent/builder.sh">build
-          script</link>, which can be useful if you have lots of code
-          that you don’t want cluttering up the Nix expression.  But
-          external builders are mostly obsolete.
-          </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>
diff --git a/doc/quote-literals.xsl b/doc/quote-literals.xsl
deleted file mode 100644
index 03971bff90d..00000000000
--- a/doc/quote-literals.xsl
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet
-  version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:str="http://exslt.org/strings"
-  extension-element-prefixes="str">
-
-  <xsl:output method="xml"/>
-  
-  <xsl:template match="function|command|literal|varname|filename|option|quote">`<xsl:apply-templates/>'</xsl:template>
-  
-  <xsl:template match="token"><xsl:text>    </xsl:text><xsl:apply-templates /><xsl:text>
-</xsl:text></xsl:template>
-
-  <xsl:template match="screen|programlisting">
-    <screen><xsl:apply-templates select="str:split(., '&#xA;')" /></screen>
-  </xsl:template>
-
-  <xsl:template match="section[following::section]">
-    <section>
-      <xsl:apply-templates />
-      <screen><xsl:text>
-      </xsl:text></screen>        
-    </section>
-  </xsl:template>
-
-  <xsl:template match="*">
-    <xsl:element name="{name(.)}" namespace="{namespace-uri(.)}">
-      <xsl:copy-of select="namespace::*" />
-      <xsl:for-each select="@*">
-	<xsl:attribute name="{name(.)}" namespace="{namespace-uri(.)}">
-	  <xsl:value-of select="."/>
-	</xsl:attribute>
-      </xsl:for-each>
-      <xsl:apply-templates/>
-    </xsl:element>
-  </xsl:template>
-
-  <xsl:template match="text()">
-    <xsl:value-of select="translate(., '‘’“”—', concat(&quot;`'&quot;, '&quot;&quot;-'))" />
-  </xsl:template>
-  
-</xsl:stylesheet>
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index 28e7b7d89f4..fa3a7ef056e 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -150,8 +150,8 @@ genericBuild
 
   <listitem><para>GNU <command>tar</command>.</para></listitem>
 
-  <listitem><para><command>gzip</command> and
-  <command>bzip2</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
@@ -341,9 +341,11 @@ It supports the following files by default:
     <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>) or
+    <filename>.tgz</filename> or <filename>.tar.Z</filename>),
     <command>bzip2</command> (<filename>.tar.bz2</filename> or
-    <filename>.tbz2</filename>).</para></listitem>
+    <filename>.tbz2</filename>) or <command>xz</command>
+    (<filename>.tar.xz</filename> or
+    <filename>.tar.lzma</filename>).</para></listitem>
   </varlistentry>
 
   <varlistentry>
@@ -445,9 +447,10 @@ Additional file types can be supported by setting the
     <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>) or <command>bzip2</command>
-    (<filename>.bz2</filename>).</para></listitem>
-  </varlistentry>  
+    (<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>
@@ -715,7 +718,7 @@ the Nix store under <envar>out</envar>.  The default
 install</command>.</para>
 
 <variablelist>
-  <title>Variables controlling the check phase</title>
+  <title>Variables controlling the install phase</title>
 
   <varlistentry>
     <term><varname>makeFlags</varname> /
@@ -794,7 +797,7 @@ following:
 </para>
 
 <variablelist>
-  <title>Variables controlling the check phase</title>
+  <title>Variables controlling the fixup phase</title>
 
   <varlistentry>
     <term><varname>dontStrip</varname></term>
@@ -1117,12 +1120,9 @@ echo @foo@
   <varlistentry>
     <term>Python</term>
     <listitem><para>Adds the
-    <filename>lib/python2.5/site-packages</filename> subdirectory of
+    <filename>lib/${python.libPrefix}/site-packages</filename> subdirectory of
     each build input to the <envar>PYTHONPATH</envar> environment
-    variable.</para>
-
-    <note><para>This should be generalised: the Python version
-    shouldn’t be hard-coded.</para></note></listitem>
+    variable.</para></listitem>
   </varlistentry>
 
   <varlistentry>
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index da735d71b25..cb4091b916c 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -1,7 +1,7 @@
 # Operations on attribute sets.
 
 with {
-  inherit (builtins) head tail;
+  inherit (builtins) head tail length;
   inherit (import ./trivial.nix) or;
   inherit (import ./default.nix) fold;
   inherit (import ./strings.nix) concatStringsSep;
@@ -20,8 +20,8 @@ rec {
     let attr = head attrPath;
     in
       if attrPath == [] then e
-      else if hasAttr attr e
-      then attrByPath (tail attrPath) default (getAttr attr e)
+      else if e ? ${attr}
+      then attrByPath (tail attrPath) default e.${attr}
       else default;
 
 
@@ -44,8 +44,7 @@ rec {
        attrVals ["a" "b" "c"] as
        => [as.a as.b as.c]
   */
-  attrVals = nameList: set:
-    map (x: getAttr x set) nameList;
+  attrVals = nameList: set: map (x: set.${x}) nameList;
 
 
   /* Return the values of all attributes in the given set, sorted by
@@ -55,7 +54,7 @@ rec {
        attrValues {c = 3; a = 1; b = 2;}
        => [1 2 3]
   */
-  attrValues = attrs: attrVals (attrNames attrs) attrs;
+  attrValues = builtins.attrValues or (attrs: attrVals (attrNames attrs) attrs);
 
 
   /* Collect each attribute named `attr' from a list of attribute
@@ -65,7 +64,8 @@ rec {
        catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]
        => [1 2]
   */
-  catAttrs = attr: l: concatLists (map (s: if hasAttr attr s then [(getAttr attr s)] else []) l);
+  catAttrs = builtins.catAttrs or
+    (attr: l: concatLists (map (s: if s ? ${attr} then [s.${attr}] else []) l));
 
 
   /* Filter an attribute set by removing all attributes for which the
@@ -76,7 +76,7 @@ rec {
        => { foo = 1; }
   */
   filterAttrs = pred: set:
-    listToAttrs (fold (n: ys: let v = getAttr n set; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
+    listToAttrs (fold (n: ys: let v = set.${n}; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
 
 
   /* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list:
@@ -86,7 +86,7 @@ rec {
   foldAttrs = op: nul: list_of_attrs:
     fold (n: a:
         fold (name: o:
-          o // (listToAttrs [{inherit name; value = op (getAttr name n) (maybeAttr name nul a); }])
+          o // (listToAttrs [{inherit name; value = op n.${name} (maybeAttr name nul a); }])
         ) a (attrNames n)
     ) {} list_of_attrs;
 
@@ -132,7 +132,7 @@ rec {
        => { x = "x-foo"; y = "y-bar"; }
   */
   mapAttrs = f: set:
-    listToAttrs (map (attr: { name = attr; value = f attr (getAttr attr set); }) (attrNames set));
+    listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set));
 
 
   /* Like `mapAttrs', but allows the name of each attribute to be
@@ -145,7 +145,7 @@ rec {
        => { foo_x = "bar-a"; foo_y = "bar-b"; }
   */
   mapAttrs' = f: set:
-    listToAttrs (map (attr: f attr (getAttr attr set)) (attrNames set));
+    listToAttrs (map (attr: f attr set.${attr}) (attrNames set));
 
 
   /* Call a function for each attribute in the given set and return
@@ -157,7 +157,7 @@ rec {
        => [ "xa" "yb" ]
   */
   mapAttrsToList = f: attrs:
-    map (name: f name (getAttr name attrs)) (attrNames attrs);
+    map (name: f name attrs.${name}) (attrNames attrs);
 
 
   /* Like `mapAttrs', except that it recursively applies itself to
@@ -322,7 +322,7 @@ rec {
   # override only the attributes that are already present in the old set
   # useful for deep-overriding
   overrideExisting = old: new:
-    old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] (getAttr attr old) new)) (attrNames old));
+    old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old));
 
   deepSeqAttrs = x: y: deepSeqList (attrValues x) y;
 }
diff --git a/lib/customisation.nix b/lib/customisation.nix
index bfa61169efb..91a25055df2 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -1,6 +1,6 @@
-let lib = import ./default.nix;
-    inherit (builtins) getAttr attrNames isFunction;
-
+let
+  lib = import ./default.nix;
+  inherit (builtins) attrNames isFunction;
 in
 
 rec {
@@ -29,8 +29,8 @@ rec {
 
      For another application, see build-support/vm, where this
      function is used to build arbitrary derivations inside a QEMU
-     virtual machine. */
-     
+     virtual machine.
+  */
   overrideDerivation = drv: f:
     let
       newDrv = derivation (drv.drvAttrs // (f drv));
@@ -56,13 +56,21 @@ rec {
   makeOverridable = f: origArgs:
     let
       ff = f origArgs;
+      overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs);
     in
       if builtins.isAttrs ff then (ff //
-        { override = newArgs:
-            makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
+        { override = newArgs: makeOverridable f (overrideWith newArgs);
           deepOverride = newArgs:
             makeOverridable f (lib.overrideExisting (lib.mapAttrs (deepOverrider newArgs) origArgs) newArgs);
+          overrideDerivation = fdrv:
+            makeOverridable (args: overrideDerivation (f args) fdrv) origArgs;
         })
+      else if builtins.isFunction ff then
+        { override = newArgs: makeOverridable f (overrideWith newArgs);
+          __functor = self: ff;
+          deepOverride = throw "deepOverride not yet supported for functors";
+          overrideDerivation = throw "overrideDerivation not yet supported for functors";
+        }
       else ff;
 
   deepOverrider = newArgs: name: x: if builtins.isAttrs x then (
@@ -93,8 +101,11 @@ rec {
       };
   */
   callPackageWith = autoArgs: fn: args:
-    let f = if builtins.isFunction fn then fn else import fn; in
-    makeOverridable f ((builtins.intersectAttrs (builtins.functionArgs f) autoArgs) // args);
+    let
+      f    = if builtins.isFunction fn then fn else import fn;
+      auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
+    in makeOverridable f (auto // args);
+
 
   /* Add attributes to each output of a derivation without changing the derivation itself */
   addPassthru = drv: passthru:
@@ -107,10 +118,44 @@ rec {
       outputToAttrListElement = outputName:
         { name = outputName;
           value = commonAttrs // {
-            inherit (builtins.getAttr outputName drv) outPath drvPath type outputName;
+            inherit (drv.${outputName}) outPath drvPath type outputName;
           };
         };
 
       outputsList = map outputToAttrListElement outputs;
-  in builtins.getAttr drv.outputName commonAttrs;
+  in commonAttrs.${drv.outputName};
+
+
+  /* Strip a derivation of all non-essential attributes, returning
+     only those needed by hydra-eval-jobs. Also strictly evaluate the
+     result to ensure that there are no thunks kept alive to prevent
+     garbage collection. */
+  hydraJob = drv:
+    let
+      outputs = drv.outputs or ["out"];
+
+      commonAttrs =
+        { inherit (drv) name system meta; inherit outputs; }
+        // lib.optionalAttrs (drv._hydraAggregate or false) {
+          _hydraAggregate = true;
+          constituents = map hydraJob (lib.flatten drv.constituents);
+        }
+        // (lib.listToAttrs outputsList);
+
+      makeOutput = outputName:
+        let output = drv.${outputName}; in
+        { name = outputName;
+          value = commonAttrs // {
+            outPath = output.outPath;
+            drvPath = output.drvPath;
+            type = "derivation";
+            inherit outputName;
+          };
+        };
+
+      outputsList = map makeOutput outputs;
+
+      drv' = (lib.head outputsList).value;
+    in lib.deepSeq drv' drv';
+
 }
diff --git a/lib/debug.nix b/lib/debug.nix
index d627bc861ab..2d10d981114 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -9,23 +9,16 @@ in
 
 rec {
 
+  inherit (builtins) addErrorContext;
+
+  addErrorContextToAttrs = lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v);
+
+  traceIf = p: msg: x: if p then trace msg x else x;
+
+  traceVal = x: trace x x;
+  traceXMLVal = x: trace (builtins.toXML x) x;
+  traceXMLValMarked = str: x: trace (str + builtins.toXML x) x;
 
-  # Wrapper aroung the primop `addErrorContext', which shouldn't used
-  # directly.  It evaluates and returns `val', but if an evaluation
-  # error occurs, the text in `msg' is added to the error context
-  # (stack trace) printed by Nix.
-  addErrorContext =
-    if builtins ? addErrorContext
-    then builtins.addErrorContext
-    else msg: val: val;
-
-  addErrorContextToAttrs = lib.mapAttrs (a : v : lib.addErrorContext "while evaluating ${a}" v);
-
-  
-  traceVal = if builtins ? trace then x: (builtins.trace x x) else x: x;
-  traceXMLVal = if builtins ? trace then x: (builtins.trace (builtins.toXML x) x) else x: x;
-  traceXMLValMarked = str: if builtins ? trace then x: (builtins.trace ( str + builtins.toXML x) x) else x: x;
-  
   # 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;
@@ -44,12 +37,13 @@ rec {
       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 
+  # 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;
 
@@ -70,7 +64,7 @@ rec {
 
       then [ { inherit name; expected = test.expected; result = test.expr; } ]
       else [] ) tests));
-  
+
   # create a test assuming that list elements are true
   # usage: { testX = allTrue [ true ]; }
   testAllTrue = expr : { inherit expr; expected = map (x: true) expr; };
@@ -109,11 +103,11 @@ rec {
       let nr = a;
       in (str: expr:
           if isFunction expr then
-            (arg: 
+            (arg:
               traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (strict arg)}" (expr arg)
             )
-          else 
+          else
             let r = strict expr;
-            in builtins.trace "${str}\n result:\n${builtins.toXML r}" r
+            in trace "${str}\n result:\n${builtins.toXML r}" r
       );
 }
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 812592c74f2..08376b7e7e0 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -1,283 +1,441 @@
 let
+
+  lib = import ./default.nix;
+
   spdx = lic: lic // {
-      url = "http://spdx.org/licenses/${lic.shortName}";
-    };
+    url = "http://spdx.org/licenses/${lic.spdxId}";
+  };
+
 in
 
-rec {
+lib.mapAttrs (n: v: v // { shortName = n; }) rec {
   /* License identifiers from spdx.org where possible.
    * If you cannot find your license here, then look for a similar license or
    * add it to this list. The URL mentioned above is a good source for inspiration.
    */
 
+  afl21 = spdx {
+    spdxId = "AFL-2.1";
+    fullName = "Academic Free License";
+  };
+
   agpl3 = spdx {
-    shortName = "AGPL-3.0";
+    spdxId = "AGPL-3.0";
     fullName = "GNU Affero General Public License v3.0";
   };
 
   agpl3Plus = {
-    shortName = "AGPL-3.0+";
     fullName = "GNU Affero General Public License v3.0 or later";
     inherit (agpl3) url;
   };
 
+  amazonsl = {
+    fullName = "Amazon Software License";
+    url = http://aws.amazon.com/asl/;
+    free = false;
+  };
+
   amd = {
-    shortName = "amd";
     fullName = "AMD License Agreement";
     url = http://developer.amd.com/amd-license-agreement/;
-  };#
+  };
 
   apsl20 = spdx {
-    shortName = "APSL-2.0";
+    spdxId = "APSL-2.0";
     fullName = "Apple Public Source License 2.0";
   };
 
+  artistic1 = spdx {
+    spdxId = "Artistic-1.0";
+    fullName = "Artistic License 1.0";
+  };
+
   artistic2 = spdx {
-    shortName = "Artistic-2.0";
+    spdxId = "Artistic-2.0";
     fullName = "Artistic License 2.0";
   };
 
   asl20 = spdx {
-    shortName = "Apache-2.0";
+    spdxId = "Apache-2.0";
     fullName = "Apache License 2.0";
   };
 
   boost = spdx {
-    shortName = "BSL-1.0";
+    spdxId = "BSL-1.0";
     fullName = "Boost Software License 1.0";
   };
 
   bsd2 = spdx {
-    shortName = "BSD-2-Clause";
+    spdxId = "BSD-2-Clause";
     fullName = ''BSD 2-clause "Simplified" License'';
   };
 
   bsd3 = spdx {
-    shortName = "BSD-3-Clause";
+    spdxId = "BSD-3-Clause";
     fullName = ''BSD 3-clause "New" or "Revised" License'';
   };
 
   bsdOriginal = spdx {
-    shortName = "BSD-4-Clause";
+    spdxId = "BSD-4-Clause";
     fullName = ''BSD 4-clause "Original" or "Old" License'';
   };
 
   cc0 = spdx {
-    shortName = "CC0-1.0";
-    fullName = ''Creative Commons Zero v1.0 Universal'';
+    spdxId = "CC0-1.0";
+    fullName = "Creative Commons Zero v1.0 Universal";
   };
 
   cc-by-30 = spdx {
-    shortName = "CC-BY-3.0";
+    spdxId = "CC-BY-3.0";
     fullName = "Creative Commons Attribution 3.0";
   };
 
+  cc-by-sa-30 = spdx {
+    spdxId = "CC-BY-SA-3.0";
+    fullName = "Creative Commons Attribution Share Alike 3.0";
+  };
+
+  cc-by-40 = spdx {
+    spdxId = "CC-BY-4.0";
+    fullName = "Creative Commons Attribution 4.0";
+  };
+
+  cc-by-sa-40 = spdx {
+    spdxId = "CC-BY-SA-4.0";
+    fullName = "Creative Commons Attribution Share Alike 4.0";
+  };
+
   cddl = spdx {
-    shortName = "CDDL-1.0";
+    spdxId = "CDDL-1.0";
     fullName = "Common Development and Distribution License 1.0";
   };
 
+  cecill20 = spdx {
+    spdxId = "CECILL-2.0";
+    fullName = "CeCILL Free Software License Agreement v2.0";
+  };
+
+  cecill-b = spdx {
+    spdxId = "CECILL-B";
+    fullName  = "CeCILL-B Free Software License Agreement";
+  };
+
   cecill-c = spdx {
-    shortName = "CECILL-C";
+    spdxId = "CECILL-C";
     fullName  = "CeCILL-C Free Software License Agreement";
   };
 
   cpl10 = spdx {
-    shortName = "CPL-1.0";
+    spdxId = "CPL-1.0";
     fullName = "Common Public License 1.0";
   };
 
+  efl10 = spdx {
+    spdxId = "EFL-1.0";
+    fullName = "Eiffel Forum License v1.0";
+  };
+
+  efl20 = spdx {
+    spdxId = "EFL-2.0";
+    fullName = "Eiffel Forum License v2.0";
+  };
+
   epl10 = spdx {
-    shortName = "EPL-1.0";
+    spdxId = "EPL-1.0";
     fullName = "Eclipse Public License 1.0";
   };
 
-  free = "free";
+  fdl12 = spdx {
+    spdxId = "GFDL-1.2";
+    fullName = "GNU Free Documentation License v1.2";
+  };
+
+  free = {
+    fullName = "Unspecified free software license";
+  };
+
+  gpl1 = spdx {
+    spdxId = "GPL-1.0";
+    fullName = "GNU General Public License v1.0 only";
+  };
+
+  gpl1Plus = spdx {
+    spdxId = "GPL-1.0+";
+    fullName = "GNU General Public License v1.0 or later";
+  };
 
   gpl2 = spdx {
-    shortName = "GPL-2.0";
+    spdxId = "GPL-2.0";
     fullName = "GNU General Public License v2.0 only";
   };
 
+  gpl2ClasspathPlus = {
+    fullName = "GNU General Public License v2.0 or later (with Classpath exception)";
+    url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
+  };
+
   gpl2Oss = {
-    shortName = "GPL-2.0-with-OSS";
     fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
     url = http://www.mysql.com/about/legal/licensing/foss-exception;
   };
 
   gpl2Plus = spdx {
-    shortName = "GPL-2.0+";
+    spdxId = "GPL-2.0+";
     fullName = "GNU General Public License v2.0 or later";
   };
 
   gpl3 = spdx {
-    shortName = "GPL-3.0";
+    spdxId = "GPL-3.0";
     fullName = "GNU General Public License v3.0 only";
   };
 
   gpl3Plus = spdx {
-    shortName = "GPL-3.0+";
+    spdxId = "GPL-3.0+";
     fullName = "GNU General Public License v3.0 or later";
   };
 
   gpl3ClasspathPlus = {
-    shortName = "GPL-3.0+-with-classpath-exception";
     fullName = "GNU General Public License v3.0 or later (with Classpath exception)";
     url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
   };
 
+  # Intel's license, seems free
+  iasl = {
+    fullName = "iASL";
+    url = http://www.calculate-linux.org/packages/licenses/iASL;
+  };
+
+  ijg = spdx {
+    spdxId = "IJG";
+    fullName = "Independent JPEG Group License";
+  };
+
   inria = {
-    shortName = "INRIA-NCLA";
     fullName  = "INRIA Non-Commercial License Agreement";
     url       = "http://compcert.inria.fr/doc/LICENSE";
   };
 
   ipa = spdx {
-    shortName = "IPA";
+    spdxId = "IPA";
     fullName = "IPA Font License";
   };
 
   ipl10 = spdx {
-    shortName = "IPL-1.0";
+    spdxId = "IPL-1.0";
     fullName = "IBM Public License v1.0";
   };
 
   isc = spdx {
-    shortName = "ISC";
+    spdxId = "ISC";
     fullName = "ISC License";
   };
 
   lgpl2 = spdx {
-    shortName = "LGPL-2.0";
+    spdxId = "LGPL-2.0";
     fullName = "GNU Library General Public License v2 only";
   };
 
   lgpl2Plus = spdx {
-    shortName = "LGPL-2.0+";
+    spdxId = "LGPL-2.0+";
     fullName = "GNU Library General Public License v2 or later";
   };
 
   lgpl21 = spdx {
-    shortName = "LGPL-2.1";
+    spdxId = "LGPL-2.1";
     fullName = "GNU Library General Public License v2.1 only";
   };
 
   lgpl21Plus = spdx {
-    shortName = "LGPL-2.1+";
+    spdxId = "LGPL-2.1+";
     fullName = "GNU Library General Public License v2.1 or later";
   };
 
   lgpl3 = spdx {
-    shortName = "LGPL-3.0";
+    spdxId = "LGPL-3.0";
     fullName = "GNU Lesser General Public License v3.0 only";
   };
 
   lgpl3Plus = spdx {
-    shortName = "LGPL-3.0+";
+    spdxId = "LGPL-3.0+";
     fullName = "GNU Lesser General Public License v3.0 or later";
   };
 
-  libtiff = {
-    shortName = "libtiff";
-    fullName = "libtiff license";
-    url = https://fedoraproject.org/wiki/Licensing/libtiff;
+  libpng = spdx {
+    spdxId = "Libpng";
+    fullName = "libpng License";
+  };
+
+  libtiff = spdx {
+    spdxId = "libtiff";
+    fullName = "libtiff License";
   };
 
   llgpl21 = {
-    shortName = "LLGPL-2.1";
     fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp";
     url = http://opensource.franz.com/preamble.html;
   };
 
+  lppl12 = spdx {
+    spdxId = "LPPL-1.2";
+    fullName = "LaTeX Project Public License v1.2";
+  };
+
+  lppl13c = spdx {
+    spdxId = "LPPL-1.3c";
+    fullName = "LaTeX Project Public License v1.3c";
+  };
+
   lpl-102 = spdx {
-    shortName = "LPL-1.02";
+    spdxId = "LPL-1.02";
     fullName = "Lucent Public License v1.02";
   };
 
+  # spdx.org does not (yet) differentiate between the X11 and Expat versions
+  # for details see http://en.wikipedia.org/wiki/MIT_License#Various_versions
   mit = spdx {
-    shortName = "MIT";
+    spdxId = "MIT";
     fullName = "MIT License";
   };
 
+  mpl10 = spdx {
+    spdxId = "MPL-1.0";
+    fullName = "Mozilla Public License 1.0";
+  };
+
   mpl11 = spdx {
-    shortName = "MPL-1.1";
+    spdxId = "MPL-1.1";
     fullName = "Mozilla Public License 1.1";
   };
 
   mpl20 = spdx {
-    shortName = "MPL-2.0";
+    spdxId = "MPL-2.0";
     fullName = "Mozilla Public License 2.0";
   };
 
   msrla = {
-    shortName = "MSR-LA";
     fullName  = "Microsoft Research License Agreement";
     url       = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";
   };
 
   ncsa = spdx {
-    shortName = "NCSA";
+    spdxId = "NCSA";
     fullName  = "University of Illinois/NCSA Open Source License";
   };
 
   ofl = spdx {
-    shortName = "OFL-1.1";
+    spdxId = "OFL-1.1";
     fullName = "SIL Open Font License 1.1";
   };
 
   openssl = spdx {
-    shortName = "OpenSSL";
+    spdxId = "OpenSSL";
     fullName = "OpenSSL License";
   };
 
+  php301 = spdx {
+    spdxId = "PHP-3.01";
+    fullName = "PHP License v3.01";
+  };
+
+  postgresql = spdx {
+    spdxId = "PostgreSQL";
+    fullName = "PostgreSQL License";
+  };
+
   psfl = spdx {
-    shortName = "Python-2.0";
+    spdxId = "Python-2.0";
     fullName = "Python Software Foundation License version 2";
     #url = http://docs.python.org/license.html;
   };
 
   publicDomain = {
-    shortName = "Public Domain";
-    fullname = "Public Domain";
+    fullName = "Public Domain";
+  };
+
+  qpl = spdx {
+    spdxId = "QPL-1.0";
+    fullName = "Q Public License 1.0";
+  };
+
+  qwt = {
+    fullName = "Qwt License, Version 1.0";
+    url = http://qwt.sourceforge.net/qwtlicense.html;
+  };
+
+  ruby = spdx {
+    spdxId = "Ruby";
+    fullName = "Ruby License";
+  };
+
+  sgi-b-20 = spdx {
+    spdxId = "SGI-B-2.0";
+    fullName = "SGI Free Software License B v2.0";
   };
 
   sleepycat = spdx {
-    shortName = "Sleepycat";
-    fullName  = "Sleepycat License";
+    spdxId = "Sleepycat";
+    fullName = "Sleepycat License";
   };
 
-  tcltk = {
-    shortName = "Tcl/Tk";
-    fullName = "Tcl/Tk license";
-    url = http://www.tcl.tk/software/tcltk/license.html;
+  tcltk = spdx {
+    spdxId = "TCL";
+    fullName = "TCL/TK License";
   };
 
-  unfree = "unfree";
+  unfree = {
+    fullName = "Unfree";
+    free = false;
+  };
 
-  unfreeRedistributable = "unfree-redistributable";
+  unfreeRedistributable = {
+    fullName = "Unfree redistributable";
+    free = false;
+  };
 
-  unfreeRedistributableFirmware = "unfree-redistributable-firmware";
+  unfreeRedistributableFirmware = {
+    fullName = "Unfree redistributable firmware";
+    # Note: we currently consider these "free" for inclusion in the
+    # channel and NixOS images.
+  };
+
+  unlicense = spdx {
+    spdxId = "Unlicense";
+    fullName = "The Unlicense";
+  };
+
+  vsl10 = spdx {
+    spdxId = "VSL-1.0";
+    fullName = "Vovida Software License v1.0";
+  };
+
+  w3c = spdx {
+    spdxId = "W3C";
+    fullName = "W3C Software Notice and License";
+  };
 
   wadalab = {
-    shortName = "wadalab";
     fullName = "Wadalab Font License";
     url = https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab;
   };
 
+  wtfpl = spdx {
+    spdxId = "WTFPL";
+    fullName = "Do What The F*ck You Want To Public License";
+  };
+
   zlib = spdx {
-    shortName = "Zlib";
+    spdxId = "Zlib";
     fullName = "zlib License";
   };
 
   zpt20 = spdx { # FIXME: why zpt* instead of zpl*
-    shortName = "ZPL-2.0";
+    spdxId = "ZPL-2.0";
     fullName = "Zope Public License 2.0";
   };
 
   zpt21 = spdx {
-    shortName = "ZPL-2.1";
+    spdxId = "ZPL-2.1";
     fullName = "Zope Public License 2.1";
   };
 
 }
-
diff --git a/lib/lists.nix b/lib/lists.nix
index 4b5f04a6758..fa8cbddfd94 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -2,13 +2,7 @@
 
 with import ./trivial.nix;
 
-let
-
-  inc = builtins.add 1;
-
-  dec = n: builtins.sub n 1;
-
-in rec {
+rec {
 
   inherit (builtins) head tail length isList elemAt concatLists filter elem;
 
@@ -29,7 +23,7 @@ in rec {
       fold' = n:
         if n == len
         then nul
-        else op (elemAt list n) (fold' (inc n));
+        else op (elemAt list n) (fold' (n + 1));
     in fold' 0;
 
   # Left fold: `fold op nul [x_1 x_2 ... x_n] == op (... (op (op nul
@@ -38,12 +32,10 @@ in rec {
     let
       len = length list;
       foldl' = n:
-        if n == minus1
+        if n == -1
         then nul
-        else op (foldl' (dec n)) (elemAt list n);
-    in foldl' (dec (length list));
-
-  minus1 = dec 0;
+        else op (foldl' (n - 1)) (elemAt list n);
+    in foldl' (length list - 1);
 
 
   # map with index: `imap (i: v: "${v}-${toString i}") ["a" "b"] ==
@@ -54,7 +46,7 @@ in rec {
       imap' = n:
         if n == len
           then []
-          else [ (f (inc n) (elemAt list n)) ] ++ imap' (inc n);
+          else [ (f (n + 1) (elemAt list n)) ] ++ imap' (n + 1);
     in imap' 0;
 
 
@@ -104,7 +96,7 @@ in rec {
 
   # Count how many times function `pred' returns true for the elements
   # of `list'.
-  count = pred: fold (x: c: if pred x then inc c else c) 0;
+  count = pred: fold (x: c: if pred x then c + 1 else c) 0;
 
 
   # Return a singleton list or an empty list, depending on a boolean
@@ -125,9 +117,9 @@ in rec {
 
   # Return a list of integers from `first' up to and including `last'.
   range = first: last:
-    if lessThan last first
+    if last < first
     then []
-    else [first] ++ range (add first 1) last;
+    else [first] ++ range (first + 1) last;
 
 
   # Partition the elements of a list in two lists, `right' and
@@ -144,11 +136,11 @@ in rec {
     let
       len1 = length fst;
       len2 = length snd;
-      len = if lessThan len1 len2 then len1 else len2;
+      len = if len1 < len2 then len1 else len2;
       zipListsWith' = n:
         if n != len then
           [ (f (elemAt fst n) (elemAt snd n)) ]
-          ++ zipListsWith' (inc n)
+          ++ zipListsWith' (n + 1)
         else [];
     in zipListsWith' 0;
 
@@ -167,7 +159,7 @@ in rec {
     let
       len = length list;
       first = head list;
-      pivot' = n: acc@{ left, right }: let el = elemAt list n; next = pivot' (inc n); in
+      pivot' = n: acc@{ left, right }: let el = elemAt list n; next = pivot' (n + 1); in
         if n == len
           then acc
         else if strictLess first el
@@ -176,7 +168,7 @@ in rec {
           next { left = [ el ] ++ left; inherit right; };
       pivot = pivot' 1 { left = []; right = []; };
     in
-      if lessThan len 2 then list
+      if len < 2 then list
       else (sort strictLess pivot.left) ++  [ first ] ++  (sort strictLess pivot.right);
 
 
@@ -188,7 +180,7 @@ in rec {
         if n == len || n == count
           then []
         else
-          [ (elemAt list n) ] ++ take' (inc n);
+          [ (elemAt list n) ] ++ take' (n + 1);
     in take' 0;
 
 
@@ -197,16 +189,20 @@ in rec {
     let
       len = length list;
       drop' = n:
-        if n == minus1 || lessThan n count
+        if n == -1 || n < count
           then []
         else
-          drop' (dec n) ++ [ (elemAt list n) ];
-    in drop' (dec len);
+          drop' (n - 1) ++ [ (elemAt list n) ];
+    in drop' (len - 1);
 
 
   # Return the last element of a list.
   last = list:
-    assert list != []; elemAt list (dec (length list));
+    assert list != []; elemAt list (length list - 1);
+
+
+  # Return all elements but the last
+  init = list: assert list != []; take (length list - 1) list;
 
 
   # Zip two lists together.
@@ -214,11 +210,11 @@ in rec {
     let
       len1 = length xs;
       len2 = length ys;
-      len = if lessThan len1 len2 then len1 else len2;
+      len = if len1 < len2 then len1 else len2;
       zipTwoLists' = n:
         if n != len then
           [ { first = elemAt xs n; second = elemAt ys n; } ]
-          ++ zipTwoLists' (inc n)
+          ++ zipTwoLists' (n + 1)
         else [];
     in zipTwoLists' 0;
 
@@ -227,4 +223,19 @@ in rec {
 
   crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f];
 
+  # Remove duplicate elements from the list
+  unique = list:
+    if list == [] then
+      []
+    else
+      let
+        x = head list;
+        xs = unique (drop 1 list);
+      in [x] ++ remove x xs;
+
+  # Intersects list 'e' and another list
+  intersectLists = e: filter (x: elem x e);
+
+  # Subtracts list 'e' from another list
+  subtractLists = e: filter (x: !(elem x e));
 }
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 3de82db1cd9..57afda9f93e 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -5,7 +5,10 @@
      alphabetically sorted.  */
 
   _1126 = "Christian Lask <mail@elfsechsundzwanzig.de>";
+  abaldeau = "Andreas Baldeau <andreas@baldeau.net>";
+  abbradar = "Nikolay Amiantov <ab@fmap.me>";
   aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
+  aherrmann = "Andreas Herrmann <andreash87@gmx.ch>";
   ak = "Alexander Kjeldaas <ak@formalprivacy.com>";
   akc = "Anders Claesson <akc@akc.is>";
   algorith = "Dries Van Daele <dries_van_daele@telenet.be>";
@@ -15,52 +18,100 @@
   AndersonTorres = "Anderson Torres <torres.anderson.85@gmail.com>";
   andres = "Andres Loeh <ksnixos@andres-loeh.de>";
   antono = "Antono Vasiljev <self@antono.info>";
+  ardumont = "Antoine R. Dumont <eniotna.t@gmail.com>";
+  aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
   arobyn = "Alexei Robyn <shados@shados.net>";
+  asppsa = "Alastair Pharo <asppsa@gmail.com>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
   aszlig = "aszlig <aszlig@redmoonstudios.org>";
   auntie = "Jonathan Glines <auntieNeo@gmail.com>";
   aycanirican = "Aycan iRiCAN <iricanaycan@gmail.com>";
+  balajisivaraman = "Balaji Sivaraman<sivaraman.balaji@gmail.com>";
   bbenoist = "Baptist BENOIST <return_0@live.com>";
+  bcdarwin = "Ben Darwin <bcdarwin@gmail.com>";
+  bdimcheff = "Brandon Dimcheff <brandon@dimcheff.com>";
   bennofs = "Benno Fünfstück <benno.fuenfstueck@gmail.com>";
+  benley = "Benjamin Staffin <benley@gmail.com>";
   berdario = "Dario Bertini <berdario@gmail.com>";
   bergey = "Daniel Bergey <bergey@teallabs.org>";
   bjg = "Brian Gough <bjg@gnu.org>";
   bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
   bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
+  bobvanderlinden = "Bob van der Linden <bobvanderlinden@gmail.com>";
   bodil = "Bodil Stokke <nix@bodil.org>";
+  boothead = "Ben Ford <ben@perurbis.com>";
   bosu = "Boris Sukholitko <boriss@gmail.com>";
+  bstrik = "Berno Strik <dutchman55@gmx.com>";
   calrama = "Moritz Maxeiner <moritz@ucworks.org>";
   campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
+  cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
   cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
+  christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
   coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
+  cocreature = "Moritz Kiefer <moritz.kiefer@purelyfunctional.org>";
+  codyopel = "Cody Opel <codyopel@gmail.com>";
+  copumpkin = "Dan Peebles <pumpkingod@gmail.com>";
   coroa = "Jonas Hörsch <jonas@chaoflow.net>";
   cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>";
+  cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
   DamienCassou = "Damien Cassou <damien.cassou@gmail.com>";
+  davidrusu = "David Rusu <davidrusu.me@gmail.com>";
+  dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
+  DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
+  devhell = "devhell <\"^\"@regexmail.net>";
+  dmalikov = "Dmitry Malikov <malikov.d.y@gmail.com>";
   doublec = "Chris Double <chris.double@double.co.nz>";
   ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>";
+  eduarrrd = "Eduard Bachmakov <e.bachmakov@gmail.com>";
   edwtjo = "Edward Tjörnhammar <ed@cflags.cc>";
   eelco = "Eelco Dolstra <eelco.dolstra@logicblox.com>";
+  eikek = "Eike Kettner <eike.kettner@posteo.de>";
+  ellis = "Ellis Whitehead <nixos@ellisw.net>";
   emery = "Emery Hemingway <emery@vfemail.net>";
   ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
+  exlevan = "Alexey Levan <exlevan@gmail.com>";
   falsifian = "James Cook <james.cook@utoronto.ca>";
   flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
+  fluffynukeit = "Daniel Austin <dan@fluffynukeit.com>";
+  fpletz = "Franz Pletz <fpletz@fnordicwalking.de>";
+  ftrvxmtrx = "Siarhei Zirukin <ftrvxmtrx@gmail.com>";
   funfunctor = "Edward O'Callaghan <eocallaghan@alterapraxis.com>";
   fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
+  gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>";
   garbas = "Rok Garbas <rok@garbas.si>";
+  garrison = "Jim Garrison <jim@garrison.cc>";
+  gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
+  gebner = "Gabriel Ebner <gebner@gebner.org>";
+  giogadi = "Luis G. Torres <lgtorres42@gmail.com>";
+  globin = "Robin Gloster <robin@glob.in>";
   goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
+  gridaphobe = "Eric Seidel <eric@seidel.io>";
   guibert = "David Guibert <david.guibert@gmail.com>";
+  henrytill = "Henry Till <henrytill@gmail.com>";
   hinton = "Tom Hinton <t@larkery.com>";
   hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
+  iand675 = "Ian Duncan <ian@iankduncan.com>";
   ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
   iElectric = "Domen Kozar <domen@dev.si>";
   iyzsong = "Song Wenwu <iyzsong@gmail.com>";
+  j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
+  jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
+  jb55 = "William Casarin <bill@casarin.me>";
   jcumming = "Jack Cummings <jack@mudshark.org>";
   jgeerds = "Jascha Geerds <jg@ekby.de>";
+  jirkamarsik = "Jirka Marsik <jiri.marsik89@gmail.com>";
+  joachifm = "Joachim Fasting <joachifm@fastmail.fm>";
   joamaki = "Jussi Maki <joamaki@gmail.com>";
+  joelmo = "Joel Moberg <joel.moberg@gmail.com>";
   joelteon = "Joel Taylor <me@joelt.io>";
+  jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
   jwiegley = "John Wiegley <johnw@newartisans.com>";
+  jzellner = "Jeff Zellner <jeffz@eml.cc>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
+  koral = "Koral <koral@mailoo.org>";
+  kovirobi = "Kovacsics Robert <kovirobi@gmail.com>";
+  kragniz = "Louis Taylor <kragniz@gmail.com>";
   ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
   lethalman = "Luca Bruno <lucabru@src.gnome.org>";
   lhvwb = "Nathaniel Baxter <nathaniel.baxter@gmail.com>";
@@ -68,63 +119,109 @@
   lovek323 = "Jason O'Conal <jason@oconal.id.au>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
   madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
+  magnetophon = "Bart Brouns <bart@magnetophon.nl>";
+  malyn = "Michael Alyn Miller <malyn@strangeGizmo.com>";
   manveru = "Michael Fellinger <m.fellinger@gmail.com>";
   marcweber = "Marc Weber <marco-oweber@gmx.de>";
   matejc = "Matej Cotman <cotman.matej@gmail.com>";
+  matthiasbeyer = "Matthias Beyer <mail@beyermatthias.de>";
+  meditans = "Carlo Nucera <meditans@gmail.com>";
   meisternu = "Matt Miemiec <meister@krutt.org>";
+  michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mornfall = "Petr Ročkai <me@mornfall.net>";
   MP2E = "Cray Elliott <MP2E@archlinux.us>";
   msackman = "Matthew Sackman <matthew@wellquite.org>";
+  mtreskin = "Max Treskin <zerthurd@gmail.com>";
+  muflax = "Stefan Dorn <mail@muflax.com>";
   nathan-gs = "Nathan Bijnens <nathan@nathan.gs>";
+  nckx = "Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>";
   notthemessiah = "Brian Cohen <brian.cohen.88@gmail.com>";
+  np = "Nicolas Pouillard <np.nix@nicolaspouillard.fr>";
+  nslqqq = "Nikita Mikhailov <nslqqq@gmail.com>";
+  obadz = "obadz <dav-nixos@odav.org>";
   ocharles = "Oliver Charles <ollie@ocharles.org.uk>";
   offline = "Jaka Hudoklin <jakahudoklin@gmail.com>";
+  olcai = "Erik Timan <dev@timan.info>";
   orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
   page = "Carles Pagès <page@cubata.homelinux.net>";
+  paholg = "Paho Lurie-Gregg <paho@paholg.com>";
+  pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>";
+  pashev = "Igor Pashev <pashev.igor@gmail.com>";
+  phausmann = "Philipp Hausmann <nix@314.ch>";
   phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>";
   pierron = "Nicolas B. Pierron <nixos@nbp.name>";
   piotr = "Piotr Pietraszkiewicz <ppietrasa@gmail.com>";
+  pjones = "Peter Jones <pjones@devalot.com>";
   pkmx = "Chih-Mao Chen <pkmx.tw@gmail.com>";
   plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>";
+  pmahoney = "Patrick Mahoney <pat@polycrystal.org>";
+  prikhi = "Pavan Rikhi <pavan.rikhi@gmail.com>";
   pSub = "Pascal Wittmann <mail@pascal-wittmann.de>";
+  puffnfresh = "Brian McKenna <brian@brianmckenna.org>";
   qknight = "Joachim Schiele <js@lastlog.de>";
+  ragge = "Ragnar Dahlen <r.dahlen@gmail.com>";
   raskin = "Michael Raskin <7c6f434c@mail.ru>";
   redbaron = "Maxim Ivanov <ivanov.maxim@gmail.com>";
   refnil = "Martin Lavoie <broemartino@gmail.com>";
   relrod = "Ricky Elrod <ricky@elrod.me>";
+  renzo = "Renzo Carbonara <renzocarbonara@gmail.com>";
   rickynils = "Rickard Nilsson <rickynils@gmail.com>";
   rob = "Rob Vermaas <rob.vermaas@gmail.com>";
+  robberer = "Longrin Wischnewski <robberer@freakmail.de>";
   roconnor = "Russell O'Connor <roconnor@theorem.ca>";
   roelof = "Roelof Wobben <rwobben@hotmail.com>";
   romildo = "José Romildo Malaquias <malaquias@gmail.com>";
   rszibele = "Richard Szibele <richard_szibele@hotmail.com>";
+  rushmorem = "Rushmore Mushambi <rushmore@webenchanter.com>";
+  rycee = "Robert Helgesson <robert@rycee.net>";
   sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
+  schmitthenner = "Fabian Schmitthenner <development@schmitthenner.eu>";
+  schristo = "Scott Christopher <schristopher@konputa.com>";
+  sepi = "Raffael Mancini <raffael@mancini.lu>";
+  shell = "Shell Turner <cam.turn@gmail.com>";
   shlevy = "Shea Levy <shea@shealevy.com>";
   simons = "Peter Simons <simons@cryp.to>";
+  sjagoe = "Simon Jagoe <simon@simonjagoe.com>";
+  sjmackenzie = "Stewart Mackenzie <setori88@gmail.com>";
   skeidel = "Sven Keidel <svenkeidel@gmail.com>";
   smironov = "Sergey Mironov <ierton@gmail.com>";
   sprock = "Roger Mason <rmason@mun.ca>";
+  spwhitt = "Spencer Whitt <sw@swhitt.me>";
+  sztupi = "Attila Sztupak <attila.sztupak@gmail.com>";
   tailhook = "Paul Colomiets <paul@colomiets.name>";
   thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
   the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
+  theuni = "Christian Theune <ct@flyingcircus.io>";
   thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
+  titanous = "Jonathan Rudenberg <jonathan@titanous.com>";
   tomberek = "Thomas Bereknyei <tomberek@gmail.com>";
+  trino = "Hubert Mühlhans <muehlhans.hubert@ekodia.de>";
+  tstrobel = "Thomas Strobel <ts468@cam.ac.uk>";
   ttuegel = "Thomas Tuegel <ttuegel@gmail.com>";
   tv = "Tomislav Viljetić <tv@shackspace.de>";
+  twey = "James ‘Twey’ Kay <twey@twey.co.uk>";
   urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
+  vandenoever = "Jos van den Oever <jos@vandenoever.info>";
+  vbgl = "Vincent Laporte <Vincent.Laporte@gmail.com>";
   vbmithr = "Vincent Bernardoff <vb@luminar.eu.org>";
   vcunat = "Vladimír Čunát <vcunat@gmail.com>";
   viric = "Lluís Batlle i Rossell <viric@viric.name>";
   vizanto = "Danny Wilson <danny@prime.vc>";
   vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
+  vmandela = "Venkateswara Rao Mandela <venkat.mandela@gmail.com>";
+  vozz = "Oliver Hunt <oliver.huntuk@gmail.com>";
   winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
   wizeman = "Ricardo M. Correia <rcorreia@wizy.org>";
   wjlroe = "William Roe <willroe@gmail.com>";
   wkennington = "William A. Kennington III <william@wkennington.com>";
   wmertens = "Wout Mertens <Wout.Mertens@gmail.com>";
+  wscott = "Wayne Scott <wsc9tt@gmail.com>";
+  wyvie = "Elijah Rum <elijahrum@gmail.com>";
+  yarr = "Dmitry V. <savraz@gmail.com>";
   z77z = "Marco Maggesi <maggesi@math.unifi.it>";
   zef = "Zef Hemel <zef@zef.me>";
   zimbatm = "zimbatm <zimbatm@zimbatm.com>";
   zoomulator = "Kim Simmons <zoomulator@gmail.com>";
+  Gonzih = "Max Gonzih <gonzih@gmail.com>";
 }
diff --git a/lib/misc.nix b/lib/misc.nix
index c128b9af9d8..fd20ce25010 100644
--- a/lib/misc.nix
+++ b/lib/misc.nix
@@ -1,5 +1,5 @@
 let lib = import ./default.nix;
-    inherit (builtins) isFunction hasAttr getAttr head tail isList isAttrs isInt attrNames;
+    inherit (builtins) isFunction head tail isList isAttrs isInt attrNames;
 
 in
 
@@ -61,7 +61,7 @@ rec {
         fun = n : x :
              let newArgs = fixed :
                      let args = takeFixed fixed; 
-                         mergeFun = getAttr n args;
+                         mergeFun = args.${n};
                      in if isAttrs x then (mergeFun args x)
                         else assert isFunction x;
                              mergeFun args (x ( args // { inherit fixed; }));
@@ -102,15 +102,12 @@ rec {
   # }
   composedArgsAndFun = f: foldArgs defaultMerge f {};
 
-  
+
   # shortcut for attrByPath ["name"] default attrs
-  maybeAttrNullable = name: default: attrs:
-    if attrs == null then default else 
-    if __hasAttr name attrs then (__getAttr name attrs) else default;
+  maybeAttrNullable = maybeAttr;
 
   # shortcut for attrByPath ["name"] default attrs
-  maybeAttr = name: default: attrs:
-    if __hasAttr name attrs then (__getAttr name attrs) else default;
+  maybeAttr = name: default: attrs: attrs.${name} or default;
 
 
   # Return the second argument if the first one is true or the empty version
@@ -233,7 +230,7 @@ rec {
   closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
 
   # calls a function (f attr value ) for each record item. returns a list
-  mapAttrsFlatten = f : r : map (attr: f attr (builtins.getAttr attr r) ) (attrNames r);
+  mapAttrsFlatten = f : r : map (attr: f attr r.${attr}) (attrNames r);
 
   # attribute set containing one attribute
   nvs = name : value : listToAttrs [ (nameValuePair name value) ];
@@ -250,10 +247,10 @@ rec {
   # merge attributes with custom function handling the case that the attribute
   # exists in both sets
   mergeAttrsWithFunc = f : set1 : set2 :
-    fold (n: set : if (__hasAttr n set) 
-                        then setAttr set n (f (__getAttr n set) (__getAttr n set2))
+    fold (n: set : if set ? ${n}
+                        then setAttr set n (f set.${n} set2.${n})
                         else set )
-           (set2 // set1) (__attrNames set2);
+           (set2 // set1) (attrNames set2);
 
   # merging two attribute set concatenating the values of same attribute names
   # eg { a = 7; } {  a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
@@ -270,15 +267,15 @@ rec {
                            overrideSnd ? [ "buildPhase" ]
                          } : attrs1 : attrs2 :
     fold (n: set : 
-        setAttr set n ( if (__hasAttr n set) 
+        setAttr set n ( if set ? ${n}
             then # merge 
               if elem n mergeLists # attribute contains list, merge them by concatenating
-                then (__getAttr n attrs2) ++ (__getAttr n attrs1)
+                then attrs2.${n} ++ attrs1.${n}
               else if elem n overrideSnd
-                then __getAttr n attrs1
+                then attrs1.${n}
               else throw "error mergeAttrsNoOverride, attribute ${n} given in both attributes - no merge func defined"
-            else __getAttr n attrs2 # add attribute not existing in attr1
-           )) attrs1 (__attrNames attrs2);
+            else attrs2.${n} # add attribute not existing in attr1
+           )) attrs1 (attrNames attrs2);
 
 
   # example usage:
@@ -300,14 +297,14 @@ rec {
     fold lib.mergeAttrs {} [
       x y
       (mapAttrs ( a : v : # merge special names using given functions
-          if (hasAttr a x)
-             then if (hasAttr a y)
-               then v (getAttr a x) (getAttr a y) # both have attr, use merge func
-               else (getAttr a x) # only x has attr
-             else (getAttr a y) # only y has attr)
+          if x ? ${a}
+             then if y ? ${a}
+               then v x.${a} y.${a} # both have attr, use merge func
+               else x.${a} # only x has attr
+             else y.${a} # only y has attr)
           ) (removeAttrs mergeAttrBy2
                          # don't merge attrs which are neither in x nor y
-                         (filter (a : (! hasAttr a x) && (! hasAttr a y) )
+                         (filter (a: ! x ? ${a} && ! y ? ${a})
                                  (attrNames mergeAttrBy2))
             )
       )
@@ -403,7 +400,7 @@ rec {
                           // args2.cfg;
         opts = attrValues (mapAttrs (a : v :
                 let v2 = if v ? set || v ? unset then v else { set = v; };
-                    n = if (getAttr (flagName a) cfgWithDefaults) then "set" else "unset";
+                    n = if cfgWithDefaults.${flagName a} then "set" else "unset";
                     attr = maybeAttr n {} v2; in
                 if (maybeAttr "assertion" true attr)
                   then attr
diff --git a/lib/modules.nix b/lib/modules.nix
index bcaadc7fd97..dcede0c46c6 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -9,28 +9,72 @@ rec {
 
   /* Evaluate a set of modules.  The result is a set of two
      attributes: ‘options’: the nested set of all option declarations,
-     and ‘config’: the nested set of all option values. */
-  evalModules = { modules, prefix ? [], args ? {}, check ? true }:
+     and ‘config’: the nested set of all option values.
+     !!! Please think twice before adding to this argument list! The more
+     that is specified here instead of in the modules themselves the harder
+     it is to transparently move a set of modules to be a submodule of another
+     config (as the proper arguments need to be replicated at each call to
+     evalModules) and the less declarative the module set is. */
+  evalModules = { modules
+                , prefix ? []
+                , # This would be remove in the future, Prefer _module.args option instead.
+                  args ? {}
+                , # This would be remove in the future, Prefer _module.check option instead.
+                  check ? true
+                }:
     let
-      args' = args // { lib = import ./.; } // result;
-      closed = closeModules modules args';
+      # This internal module declare internal options under the `_module'
+      # attribute.  These options are fragile, as they are used by the
+      # module system to change the interpretation of modules.
+      internalModule = rec {
+        _file = ./modules.nix;
+
+        key = _file;
+
+        options = {
+          _module.args = mkOption {
+            type = types.attrsOf types.unspecified;
+            internal = true;
+            description = "Arguments passed to each module.";
+          };
+
+          _module.check = mkOption {
+            type = types.uniq types.bool;
+            internal = true;
+            default = check;
+            description = "Whether to check whether all option definitions have matching declarations.";
+          };
+        };
+
+        config = {
+          _module.args = args;
+        };
+      };
+
+      closed = closeModules (modules ++ [ internalModule ]) { inherit config options; lib = import ./.; };
+
       # Note: the list of modules is reversed to maintain backward
       # compatibility with the old module system.  Not sure if this is
       # the most sensible policy.
       options = mergeModules prefix (reverseList closed);
+
       # Traverse options and extract the option values into the final
       # config set.  At the same time, check whether all option
       # definitions have matching declarations.
+      # !!! _module.check's value can't depend on any other config values
+      # without an infinite recursion. One way around this is to make the
+      # 'config' passed around to the modules be unconditionally unchecked,
+      # and only do the check in 'result'.
       config = yieldConfig prefix options;
       yieldConfig = prefix: set:
         let res = removeAttrs (mapAttrs (n: v:
           if isOption v then v.value
           else yieldConfig (prefix ++ [n]) v) set) ["_definedNames"];
         in
-        if check && set ? _definedNames then
+        if options._module.check.value && set ? _definedNames then
           fold (m: res:
             fold (name: res:
-              if hasAttr name set then res else throw "The option `${showOption (prefix ++ [name])}' defined in `${m.file}' does not exist.")
+              if set ? ${name} then res else throw "The option `${showOption (prefix ++ [name])}' defined in `${m.file}' does not exist.")
               res m.names)
             res set._definedNames
         else
@@ -43,7 +87,7 @@ rec {
     let
       toClosureList = file: parentKey: imap (n: x:
         if isAttrs x || isFunction x then
-          unifyModuleSyntax file "${parentKey}:anon-${toString n}" (applyIfFunction x args)
+          unifyModuleSyntax file "${parentKey}:anon-${toString n}" (unpackSubmodule applyIfFunction x args)
         else
           unifyModuleSyntax (toString x) (toString x) (applyIfFunction (import x) args));
     in
@@ -58,7 +102,7 @@ rec {
     if m ? config || m ? options then
       let badAttrs = removeAttrs m ["imports" "options" "config" "key" "_file"]; in
       if badAttrs != {} then
-        throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'."
+        throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by assignments to the top-level attributes `config' or `options'."
       else
         { file = m._file or file;
           key = toString m.key or key;
@@ -74,7 +118,39 @@ rec {
         config = removeAttrs m ["key" "_file" "require" "imports"];
       };
 
-  applyIfFunction = f: arg: if isFunction f then f arg else f;
+  applyIfFunction = f: arg@{ config, options, lib }: if isFunction f then
+    let
+      # Module arguments are resolved in a strict manner when attribute set
+      # deconstruction is used.  As the arguments are now defined with the
+      # config._module.args option, the strictness used on the attribute
+      # set argument would cause an infinite loop, if the result of the
+      # option is given as argument.
+      #
+      # To work-around the strictness issue on the deconstruction of the
+      # attributes set argument, we create a new attribute set which is
+      # constructed to satisfy the expected set of attributes.  Thus calling
+      # a module will resolve strictly the attributes used as argument but
+      # not their values.  The values are forwarding the result of the
+      # evaluation of the option.
+      requiredArgs = builtins.attrNames (builtins.functionArgs f);
+      extraArgs = builtins.listToAttrs (map (name: {
+        inherit name;
+        value = config._module.args.${name};
+      }) requiredArgs);
+    in f (extraArgs // arg)
+  else
+    f;
+
+  /* We have to pack and unpack submodules. We cannot wrap the expected
+     result of the function as we would no longer be able to list the arguments
+     of the submodule. (see applyIfFunction) */
+  unpackSubmodule = unpack: m: args:
+    if isType "submodule" m then
+      { _file = m.file; } // (unpack m.submodule args)
+    else unpack m args;
+
+  packSubmodule = file: m:
+    { _type = "submodule"; file = file; submodule = m; };
 
   /* Merge a list of modules.  This will recurse over the option
      declarations in all modules, combining them into a single set.
@@ -94,24 +170,21 @@ rec {
           loc = prefix ++ [name];
           # Get all submodules that declare ‘name’.
           decls = concatLists (map (m:
-            if hasAttr name m.options
-              then [ { inherit (m) file; options = getAttr name m.options; } ]
+            if m.options ? ${name}
+              then [ { inherit (m) file; options = m.options.${name}; } ]
               else []
             ) options);
           # Get all submodules that define ‘name’.
           defns = concatLists (map (m:
-            if hasAttr name m.config
+            if m.config ? ${name}
               then map (config: { inherit (m) file; inherit config; })
-                (pushDownProperties (getAttr name m.config))
+                (pushDownProperties m.config.${name})
               else []
             ) configs);
           nrOptions = count (m: isOption m.options) decls;
-          # Process mkMerge and mkIf properties.
-          defns' = concatMap (m:
-            if hasAttr name m.config
-              then map (m': { inherit (m) file; value = m'; }) (dischargeProperties (getAttr name m.config))
-              else []
-            ) configs;
+          # Extract the definitions for this loc
+          defns' = map (m: { inherit (m) file; value = m.config.${name}; })
+            (filter (m: m.config ? ${name}) configs);
         in
           if nrOptions == length decls then
             let opt = fixupOptionType loc (mergeOptionDecls loc decls);
@@ -132,20 +205,41 @@ rec {
      The exception is the ‘options’ attribute, which specifies
      sub-options.  These can be specified multiple times to allow one
      module to add sub-options to an option declared somewhere else
-     (e.g. multiple modules define sub-options for ‘fileSystems’). */
+     (e.g. multiple modules define sub-options for ‘fileSystems’).
+
+     'loc' is the list of attribute names where the option is located.
+
+     'opts' is a list of modules.  Each module has an options attribute which
+     correspond to the definition of 'loc' in 'opt.file'. */
   mergeOptionDecls = loc: opts:
     fold (opt: res:
       if opt.options ? default && res ? default ||
          opt.options ? example && res ? example ||
          opt.options ? description && res ? description ||
          opt.options ? apply && res ? apply ||
-         opt.options ? type && res ? type
+         # Accept to merge options which have identical types.
+         opt.options ? type && res ? type && opt.options.type.name != res.type.name
       then
         throw "The option `${showOption loc}' in `${opt.file}' is already declared in ${showFiles res.declarations}."
       else
-        opt.options // res //
+        let
+          /* Add the modules of the current option to the list of modules
+             already collected.  The options attribute except either a list of
+             submodules or a submodule. For each submodule, we add the file of the
+             current option declaration as the file use for the submodule.  If the
+             submodule defines any filename, then we ignore the enclosing option file. */
+          options' = toList opt.options.options;
+          coerceOption = file: opt:
+            if isFunction opt then packSubmodule file opt
+            else packSubmodule file { options = opt; };
+          getSubModules = opt.options.type.getSubModules or null;
+          submodules =
+            if getSubModules != null then map (packSubmodule opt.file) getSubModules ++ res.options
+            else if opt.options ? options then map (coerceOption opt.file) options' ++ res.options
+            else res.options;
+        in opt.options // res //
           { declarations = [opt.file] ++ res.declarations;
-            options = if opt.options ? options then [(toList opt.options.options ++ res.options)] else [];
+            options = submodules;
           }
     ) { inherit loc; declarations = []; options = []; } opts;
 
@@ -153,27 +247,17 @@ rec {
      config value. */
   evalOptionValue = loc: opt: defs:
     let
-      # Process mkOverride properties, adding in the default
-      # value specified in the option declaration (if any).
-      defsFinal' = filterOverrides
-        ((if opt ? default then [{ file = head opt.declarations; value = mkOptionDefault opt.default; }] else []) ++ defs);
-      # Sort mkOrder properties.
-      defsFinal =
-        # Avoid sorting if we don't have to.
-        if any (def: def.value._type or "" == "order") defsFinal'
-        then sortProperties defsFinal'
-        else defsFinal';
+      # Add in the default value for this option, if any.
+      defs' = (optional (opt ? default)
+        { file = head opt.declarations; value = mkOptionDefault opt.default; }) ++ defs;
+
+      # Handle properties, check types, and merge everything together
+      inherit (mergeDefinitions loc opt.type defs') isDefined defsFinal mergedValue;
       files = map (def: def.file) defsFinal;
-      # Type-check the remaining definitions, and merge them if
-      # possible.
       merged =
-        if defsFinal == [] then
-          throw "The option `${showOption loc}' is used but not defined."
-        else
-          fold (def: res:
-            if opt.type.check def.value then res
-            else throw "The option value `${showOption loc}' in `${def.file}' is not a ${opt.type.name}.")
-            (opt.type.merge loc defsFinal) defsFinal;
+        if isDefined then mergedValue
+        else throw "The option `${showOption loc}' is used but not defined.";
+
       # Finally, apply the ‘apply’ function to the merged
       # value.  This allows options to yield a value computed
       # from the definitions.
@@ -181,10 +265,42 @@ rec {
     in opt //
       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
         definitions = map (def: def.value) defsFinal;
-        isDefined = defsFinal != [];
-        inherit files;
+        inherit isDefined files;
       };
 
+    # Merge definitions of a value of a given type
+    mergeDefinitions = loc: type: defs: rec {
+      defsFinal =
+        let
+          # Process mkMerge and mkIf properties
+          processIfAndMerge = defs: concatMap (m:
+            map (value: { inherit (m) file; inherit value; }) (dischargeProperties m.value)
+          ) defs;
+
+          # Process mkOverride properties
+          processOverride = defs: filterOverrides defs;
+
+          # Sort mkOrder properties
+          processOrder = defs:
+            # Avoid sorting if we don't have to.
+            if any (def: def.value._type or "" == "order") defs
+            then sortProperties defs
+            else defs;
+        in
+          processOrder (processOverride (processIfAndMerge defs));
+
+        # Type-check the remaining definitions, and merge them
+        mergedValue = fold (def: res:
+          if type.check def.value then res
+          else throw "The option value `${showOption loc}' in `${def.file}' is not a ${type.name}.")
+          (type.merge loc defsFinal) defsFinal;
+
+        isDefined = defsFinal != [];
+        optionalValue =
+          if isDefined then { value = mergedValue; }
+          else {};
+    };
+
   /* Given a config set, expand mkMerge properties, and push down the
      other properties into the children.  The result is a list of
      config sets that do not have properties at top-level.  For
@@ -254,7 +370,7 @@ rec {
     let
       defaultPrio = 100;
       getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio;
-      min = x: y: if builtins.lessThan x y then x else y;
+      min = x: y: if x < y then x else y;
       highestPrio = fold (def: prio: 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;
@@ -273,23 +389,24 @@ rec {
     in sort compare defs';
 
   /* Hack for backward compatibility: convert options of type
-     optionSet to configOf.  FIXME: remove eventually. */
+     optionSet to options of type submodule.  FIXME: remove
+     eventually. */
   fixupOptionType = loc: opt:
     let
-      options' = opt.options or
-        (throw "Option `${showOption loc'}' has type optionSet but has no option attribute.");
-      coerce = x:
-        if isFunction x then x
-        else { config, ... }: { options = x; };
-      options = map coerce (flatten options');
+      options = opt.options or
+        (throw "Option `${showOption loc'}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}.");
       f = tp:
-        if tp.name == "option set" then types.submodule options
+        if tp.name == "option set" || tp.name == "submodule" then
+          throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}."
         else if tp.name == "attribute set of option sets" then types.attrsOf (types.submodule options)
         else if tp.name == "list or attribute set of option sets" then types.loaOf (types.submodule options)
         else if tp.name == "list of option sets" then types.listOf (types.submodule options)
         else if tp.name == "null or option set" then types.nullOr (types.submodule options)
         else tp;
-    in opt // { type = f (opt.type or types.unspecified); };
+    in
+      if opt.type.getSubModules or null == null
+      then opt // { type = f (opt.type or types.unspecified); }
+      else opt // { type = opt.type.substSubModules opt.options; options = []; };
 
 
   /* Properties. */
@@ -331,6 +448,31 @@ rec {
   mkBefore = mkOrder 500;
   mkAfter = mkOrder 1500;
 
+  # Convenient property used to transfer all definitions and their
+  # properties from one option to another. This property is useful for
+  # renaming options, and also for including properties from another module
+  # system, including sub-modules.
+  #
+  #   { config, options, ... }:
+  #
+  #   {
+  #     # 'bar' might not always be defined in the current module-set.
+  #     config.foo.enable = mkAliasDefinitions (options.bar.enable or {});
+  #
+  #     # 'barbaz' has to be defined in the current module-set.
+  #     config.foobar.paths = mkAliasDefinitions options.barbaz.paths;
+  #   }
+  #
+  # Note, this is different than taking the value of the option and using it
+  # as a definition, as the new definition will not keep the mkOverride /
+  # mkDefault properties of the previous option.
+  #
+  mkAliasDefinitions = mkAliasAndWrapDefinitions id;
+  mkAliasAndWrapDefinitions = wrap: option:
+    mkMerge
+      (optional (isOption option && option.isDefined)
+        (wrap (mkMerge option.definitions)));
+
 
   /* Compatibility. */
   fixMergeModules = modules: args: evalModules { inherit modules args; check = false; };
diff --git a/lib/options.nix b/lib/options.nix
index 71e02db58f6..eed43daaecc 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -31,6 +31,23 @@ rec {
     type = lib.types.bool;
   };
 
+  # This option accept anything, but it does not produce any result.  This
+  # is useful for sharing a module across different module sets without
+  # having to implement similar features as long as the value of the options
+  # are not expected.
+  mkSinkUndeclaredOptions = attrs: mkOption ({
+    internal = true;
+    visible = false;
+    default = false;
+    description = "Sink for option definitions.";
+    type = mkOptionType {
+      name = "sink";
+      check = x: true;
+      merge = loc: defs: false;
+    };
+    apply = x: throw "Option value is not readable because the option is not declared.";
+  } // attrs);
+
   mergeDefaultOption = loc: defs:
     let list = getValues defs; in
     if length list == 1 then head list
@@ -79,10 +96,11 @@ rec {
           declarations = filter (x: x != unknownModule) opt.declarations;
           internal = opt.internal or false;
           visible = opt.visible or true;
+          type = opt.type.name or null;
         }
-        // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
-        // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
-        // optionalAttrs (opt ? defaultText) { default = opt.defaultText; };
+        // (if opt ? example then { example = scrubOptionValue opt.example; } else {})
+        // (if opt ? default then { default = scrubOptionValue opt.default; } else {})
+        // (if opt ? defaultText then { default = opt.defaultText; } else {});
 
         subOptions =
           let ss = opt.type.getSubOptions opt.loc;
diff --git a/lib/platforms.nix b/lib/platforms.nix
index 067670c6b3e..93ede5cef08 100644
--- a/lib/platforms.nix
+++ b/lib/platforms.nix
@@ -2,7 +2,7 @@ let lists = import ./lists.nix; in
 
 rec {
   gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */
-  linux = ["i686-linux" "x86_64-linux" "armv5tel-linux" "armv7l-linux" "mips64el-linux"];
+  linux = ["i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "mips64el-linux"];
   darwin = ["x86_64-darwin"];
   freebsd = ["i686-freebsd" "x86_64-freebsd"];
   openbsd = ["i686-openbsd" "x86_64-openbsd"];
diff --git a/lib/strings-with-deps.nix b/lib/strings-with-deps.nix
index 3ad3e599150..bdcc25cbd20 100644
--- a/lib/strings-with-deps.nix
+++ b/lib/strings-with-deps.nix
@@ -62,8 +62,8 @@ rec {
             in { result = x.result ++ [entry.text] ++ y.result;
                  done = y.done;
                }
-          else if hasAttr entry done then f done (tail todo)
-          else f (done // listToAttrs [{name = entry; value = 1;}]) ([(builtins.getAttr entry predefined)] ++ tail todo);
+          else if done ? ${entry} then f done (tail todo)
+          else f (done // listToAttrs [{name = entry; value = 1;}]) ([predefined.${entry}] ++ tail todo);
     in (f {} arg).result;
 
   textClosureMap = f: predefined: names:
diff --git a/lib/strings.nix b/lib/strings.nix
index 31b0f56e09b..39112407c57 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -2,7 +2,7 @@
 
 let lib = import ./default.nix;
 
-inherit (builtins) add sub lessThan length;
+inherit (builtins) length;
 
 in
 
@@ -79,7 +79,7 @@ rec {
   stringToCharacters = s: let l = stringLength s; in
     if l == 0
     then []
-    else map (p: substring p 1 s) (lib.range 0 (sub l 1));
+    else map (p: substring p 1 s) (lib.range 0 (l - 1));
 
 
   # Manipulate a string charcater by character and replace them by strings
@@ -123,7 +123,7 @@ rec {
   toUpper = replaceChars lowerChars upperChars;
 
   # Appends string context from another string
-  addContextFrom = a: b: (substring 0 0 a)+b;
+  addContextFrom = a: b: substring 0 0 a + b;
 
   # Compares strings not requiring context equality
   # Obviously, a workaround but works on all Nix versions
@@ -139,18 +139,18 @@ rec {
       s = addContextFrom _sep _s;
       sepLen = stringLength sep;
       sLen = stringLength s;
-      lastSearch = sub sLen sepLen;
+      lastSearch = sLen - sepLen;
       startWithSep = startAt:
         substring startAt sepLen s == sep;
 
       recurse = index: startAt:
-        let cutUntil = i: [(substring startAt (sub i startAt) s)]; in
-        if lessThan index lastSearch then
+        let cutUntil = i: [(substring startAt (i - startAt) s)]; in
+        if index < lastSearch then
           if startWithSep index then
-            let restartAt = add index sepLen; in
+            let restartAt = index + sepLen; in
             cutUntil index ++ recurse restartAt restartAt
           else
-            recurse (add index 1) startAt
+            recurse (index + 1) startAt
         else
           cutUntil sLen;
     in
@@ -208,4 +208,15 @@ rec {
   # standard GNU Autoconf scripts.
   enableFeature = enable: feat: "--${if enable then "enable" else "disable"}-${feat}";
 
+  # Create a fixed width string with additional prefix to match required width
+  fixedWidthString = width: filler: str:
+    let
+      strw = lib.stringLength str;
+      reqWidth = width - (lib.stringLength filler);
+    in
+      assert strw <= width;
+      if strw == width then str else filler + fixedWidthString reqWidth filler str;
+
+  # Format a number adding leading zeroes up to fixed width
+  fixedWidthNumber = width: n: fixedWidthString width "0" (toString n);
 }
diff --git a/lib/systems.nix b/lib/systems.nix
index afa2002c6e4..25a83e9d14f 100644
--- a/lib/systems.nix
+++ b/lib/systems.nix
@@ -24,7 +24,7 @@ rec {
 
   isCpuType = x: isType "cpu-type" x
     && elem x.bits [8 16 32 64 128]
-    && (builtins.lessThan 8 x.bits -> isSignificantByte x.significantByte);
+    && (8 < x.bits -> isSignificantByte x.significantByte);
 
   cpuTypes = with significantBytes;
     setTypes "cpu-type" {
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
new file mode 100755
index 00000000000..66c6f560fbe
--- /dev/null
+++ b/lib/tests/modules.sh
@@ -0,0 +1,119 @@
+#!/bin/sh
+#
+# This script is used to test that the module system is working as expected.
+# By default it test the version of nixpkgs which is defined in the NIX_PATH.
+
+cd ./modules
+
+pass=0
+fail=0
+
+evalConfig() {
+    local attr=$1
+    shift;
+    local script="import ./default.nix { modules = [ $@ ];}"
+    nix-instantiate --timeout 1 -E "$script" -A "$attr" --eval-only
+}
+
+reportFailure() {
+    local attr=$1
+    shift;
+    local script="import ./default.nix { modules = [ $@ ];}"
+    echo 2>&1 "$ nix-instantiate -E '$script' -A '$attr' --eval-only"
+    evalConfig "$attr" "$@"
+    fail=$((fail + 1))
+}
+
+checkConfigOutput() {
+    local outputContains=$1
+    shift;
+    if evalConfig "$@" 2>/dev/null | grep --silent "$outputContains" ; then
+        pass=$((pass + 1))
+        return 0;
+    else
+        echo 2>&1 "error: Expected result matching '$outputContains', while evaluating"
+        reportFailure "$@"
+        return 1
+    fi
+}
+
+checkConfigError() {
+    local errorContains=$1
+    local err=""
+    shift;
+    if err==$(evalConfig "$@" 2>&1 >/dev/null); then
+        echo 2>&1 "error: Expected error code, got exit code 0, while evaluating"
+        reportFailure "$@"
+        return 1
+    else
+        if echo "$err" | grep --silent "$errorContains" ; then
+            pass=$((pass + 1))
+            return 0;
+        else
+            echo 2>&1 "error: Expected error matching '$errorContains', while evaluating"
+            reportFailure "$@"
+            return 1
+        fi
+    fi
+}
+
+# Check boolean option.
+checkConfigOutput "false" config.enable ./declare-enable.nix
+checkConfigError 'The option .* defined in .* does not exist.' config.enable ./define-enable.nix
+
+# Check mkForce without submodules.
+set -- config.enable ./declare-enable.nix ./define-enable.nix
+checkConfigOutput "true" "$@"
+checkConfigOutput "false" "$@" ./define-force-enable.nix
+checkConfigOutput "false" "$@" ./define-enable-force.nix
+
+# Check mkForce with option and submodules.
+checkConfigError 'attribute .*foo.* .* not found' config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix
+checkConfigOutput 'false' config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix
+set -- config.loaOfSub.foo.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo-enable.nix
+checkConfigOutput 'true' "$@"
+checkConfigOutput 'false' "$@" ./define-force-loaOfSub-foo-enable.nix
+checkConfigOutput 'false' "$@" ./define-loaOfSub-force-foo-enable.nix
+checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-force-enable.nix
+checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-enable-force.nix
+
+# Check overriding effect of mkForce on submodule definitions.
+checkConfigError 'attribute .*bar.* .* not found' config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix
+checkConfigOutput 'false' config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix ./define-loaOfSub-bar.nix
+set -- config.loaOfSub.bar.enable ./declare-loaOfSub-any-enable.nix ./define-loaOfSub-foo.nix ./define-loaOfSub-bar-enable.nix
+checkConfigOutput 'true' "$@"
+checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-force-loaOfSub-foo-enable.nix
+checkConfigError 'attribute .*bar.* .* not found' "$@" ./define-loaOfSub-force-foo-enable.nix
+checkConfigOutput 'true' "$@" ./define-loaOfSub-foo-force-enable.nix
+checkConfigOutput 'true' "$@" ./define-loaOfSub-foo-enable-force.nix
+
+# Check mkIf with submodules.
+checkConfigError 'attribute .*foo.* .* not found' config.loaOfSub.foo.enable ./declare-enable.nix ./declare-loaOfSub-any-enable.nix
+set -- config.loaOfSub.foo.enable ./declare-enable.nix ./declare-loaOfSub-any-enable.nix
+checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-if-loaOfSub-foo-enable.nix
+checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-loaOfSub-if-foo-enable.nix
+checkConfigError 'attribute .*foo.* .* not found' "$@" ./define-loaOfSub-foo-if-enable.nix
+checkConfigOutput 'false' "$@" ./define-loaOfSub-foo-enable-if.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-if-loaOfSub-foo-enable.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-if-foo-enable.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-if-enable.nix
+checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-enable-if.nix
+
+# Check _module.args.
+checkConfigOutput "true" config.enable ./declare-enable.nix ./custom-arg-define-enable.nix
+
+# Check _module.check.
+set -- config.enable ./declare-enable.nix ./define-enable.nix ./define-loaOfSub-foo.nix
+checkConfigError 'The option .* defined in .* does not exist.' "$@"
+checkConfigOutput "true" "$@" ./define-module-check.nix
+
+cat <<EOF
+====== module tests ======
+$pass Pass
+$fail Fail
+EOF
+
+if test $fail -ne 0; then
+    exit 1
+fi
+exit 0
diff --git a/lib/tests/modules/custom-arg-define-enable.nix b/lib/tests/modules/custom-arg-define-enable.nix
new file mode 100644
index 00000000000..f04d30dd9b9
--- /dev/null
+++ b/lib/tests/modules/custom-arg-define-enable.nix
@@ -0,0 +1,8 @@
+{ lib, custom, ... }:
+
+{
+  config = {
+    _module.args.custom = true;
+    enable = custom;
+  };
+}
diff --git a/lib/tests/modules/declare-enable.nix b/lib/tests/modules/declare-enable.nix
new file mode 100644
index 00000000000..ebee243c756
--- /dev/null
+++ b/lib/tests/modules/declare-enable.nix
@@ -0,0 +1,14 @@
+{ lib, ... }:
+
+{
+  options = {
+    enable = lib.mkOption {
+      default = false;
+      example = true;
+      type = lib.types.bool;
+      description = ''
+        Some descriptive text
+      '';
+    };
+  };
+}
diff --git a/lib/tests/modules/declare-loaOfSub-any-enable.nix b/lib/tests/modules/declare-loaOfSub-any-enable.nix
new file mode 100644
index 00000000000..71dad1c9135
--- /dev/null
+++ b/lib/tests/modules/declare-loaOfSub-any-enable.nix
@@ -0,0 +1,29 @@
+{ lib, ... }:
+
+let
+  submod = { ... }: {
+    options = {
+      enable = lib.mkOption {
+        default = false;
+        example = true;
+        type = lib.types.bool;
+        description = ''
+          Some descriptive text
+        '';
+      };
+    };
+  };
+in
+
+{
+  options = {
+    loaOfSub = lib.mkOption {
+      default = {};
+      example = {};
+      type = lib.types.loaOf (lib.types.submodule [ submod ]);
+      description = ''
+        Some descriptive text
+      '';
+    };
+  };
+}
diff --git a/lib/tests/modules/default.nix b/lib/tests/modules/default.nix
new file mode 100644
index 00000000000..5df7d9751ea
--- /dev/null
+++ b/lib/tests/modules/default.nix
@@ -0,0 +1,7 @@
+{ lib ? import <nixpkgs/lib>, modules ? [] }:
+
+{
+  inherit (lib.evalModules {
+    inherit modules;
+  }) config options;
+}
diff --git a/lib/tests/modules/define-enable-force.nix b/lib/tests/modules/define-enable-force.nix
new file mode 100644
index 00000000000..f4990a32863
--- /dev/null
+++ b/lib/tests/modules/define-enable-force.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+
+{
+  enable = lib.mkForce false;
+}
diff --git a/lib/tests/modules/define-enable.nix b/lib/tests/modules/define-enable.nix
new file mode 100644
index 00000000000..7dc26010ae5
--- /dev/null
+++ b/lib/tests/modules/define-enable.nix
@@ -0,0 +1,3 @@
+{
+  enable = true;
+}
diff --git a/lib/tests/modules/define-force-enable.nix b/lib/tests/modules/define-force-enable.nix
new file mode 100644
index 00000000000..978caa2a8c0
--- /dev/null
+++ b/lib/tests/modules/define-force-enable.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+
+lib.mkForce {
+  enable = false;
+}
diff --git a/lib/tests/modules/define-force-loaOfSub-foo-enable.nix b/lib/tests/modules/define-force-loaOfSub-foo-enable.nix
new file mode 100644
index 00000000000..bfd8e084b59
--- /dev/null
+++ b/lib/tests/modules/define-force-loaOfSub-foo-enable.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+
+lib.mkForce {
+  loaOfSub.foo.enable = false;
+}
diff --git a/lib/tests/modules/define-if-loaOfSub-foo-enable.nix b/lib/tests/modules/define-if-loaOfSub-foo-enable.nix
new file mode 100644
index 00000000000..4288d74dec0
--- /dev/null
+++ b/lib/tests/modules/define-if-loaOfSub-foo-enable.nix
@@ -0,0 +1,5 @@
+{ config, lib, ... }:
+
+lib.mkIf config.enable {
+  loaOfSub.foo.enable = true;
+}
diff --git a/lib/tests/modules/define-loaOfSub-bar-enable.nix b/lib/tests/modules/define-loaOfSub-bar-enable.nix
new file mode 100644
index 00000000000..422bb0a600b
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-bar-enable.nix
@@ -0,0 +1,3 @@
+{
+  loaOfSub.bar.enable = true;
+}
diff --git a/lib/tests/modules/define-loaOfSub-bar.nix b/lib/tests/modules/define-loaOfSub-bar.nix
new file mode 100644
index 00000000000..c24315e09b6
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-bar.nix
@@ -0,0 +1,3 @@
+{
+  loaOfSub.bar = {};
+}
diff --git a/lib/tests/modules/define-loaOfSub-foo-enable-force.nix b/lib/tests/modules/define-loaOfSub-foo-enable-force.nix
new file mode 100644
index 00000000000..c1d7b198be5
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-foo-enable-force.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+
+{
+  loaOfSub.foo.enable = lib.mkForce false;
+}
diff --git a/lib/tests/modules/define-loaOfSub-foo-enable-if.nix b/lib/tests/modules/define-loaOfSub-foo-enable-if.nix
new file mode 100644
index 00000000000..44b2c96cd02
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-foo-enable-if.nix
@@ -0,0 +1,5 @@
+{ config, lib, ... }:
+
+{
+  loaOfSub.foo.enable = lib.mkIf config.enable true;
+}
diff --git a/lib/tests/modules/define-loaOfSub-foo-enable.nix b/lib/tests/modules/define-loaOfSub-foo-enable.nix
new file mode 100644
index 00000000000..822425c71bb
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-foo-enable.nix
@@ -0,0 +1,3 @@
+{
+  loaOfSub.foo.enable = true;
+}
diff --git a/lib/tests/modules/define-loaOfSub-foo-force-enable.nix b/lib/tests/modules/define-loaOfSub-foo-force-enable.nix
new file mode 100644
index 00000000000..dce0ef547b3
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-foo-force-enable.nix
@@ -0,0 +1,7 @@
+{ lib, ... }:
+
+{
+  loaOfSub.foo = lib.mkForce {
+    enable = false;
+  };
+}
diff --git a/lib/tests/modules/define-loaOfSub-foo-if-enable.nix b/lib/tests/modules/define-loaOfSub-foo-if-enable.nix
new file mode 100644
index 00000000000..236b2840ee5
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-foo-if-enable.nix
@@ -0,0 +1,7 @@
+{ config, lib, ... }:
+
+{
+  loaOfSub.foo = lib.mkIf config.enable {
+    enable = true;
+  };
+}
diff --git a/lib/tests/modules/define-loaOfSub-foo.nix b/lib/tests/modules/define-loaOfSub-foo.nix
new file mode 100644
index 00000000000..e9b2e631f2e
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-foo.nix
@@ -0,0 +1,3 @@
+{
+  loaOfSub.foo = {};
+}
diff --git a/lib/tests/modules/define-loaOfSub-force-foo-enable.nix b/lib/tests/modules/define-loaOfSub-force-foo-enable.nix
new file mode 100644
index 00000000000..df5722274ee
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-force-foo-enable.nix
@@ -0,0 +1,7 @@
+{ lib, ... }:
+
+{
+  loaOfSub = lib.mkForce {
+    foo.enable = false;
+  };
+}
diff --git a/lib/tests/modules/define-loaOfSub-if-foo-enable.nix b/lib/tests/modules/define-loaOfSub-if-foo-enable.nix
new file mode 100644
index 00000000000..bd2d068d31a
--- /dev/null
+++ b/lib/tests/modules/define-loaOfSub-if-foo-enable.nix
@@ -0,0 +1,7 @@
+{ config, lib, ... }:
+
+{
+  loaOfSub = lib.mkIf config.enable {
+    foo.enable = true;
+  };
+}
diff --git a/lib/tests/modules/define-module-check.nix b/lib/tests/modules/define-module-check.nix
new file mode 100644
index 00000000000..5a0707c975f
--- /dev/null
+++ b/lib/tests/modules/define-module-check.nix
@@ -0,0 +1,3 @@
+{
+  _module.check = false;
+}
diff --git a/lib/tests/release.nix b/lib/tests/release.nix
new file mode 100644
index 00000000000..e7fb52f6766
--- /dev/null
+++ b/lib/tests/release.nix
@@ -0,0 +1,31 @@
+{ nixpkgs }:
+
+with import ./../.. { };
+with lib;
+
+stdenv.mkDerivation {
+  name = "nixpkgs-lib-tests";
+  buildInputs = [ nix ];
+  NIX_PATH="nixpkgs=${nixpkgs}";
+
+  buildCommand = ''
+    datadir="${nix}/share"
+    export TEST_ROOT=$(pwd)/test-tmp
+    export NIX_STORE_DIR=$TEST_ROOT/store
+    export NIX_LOCALSTATE_DIR=$TEST_ROOT/var
+    export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
+    export NIX_STATE_DIR=$TEST_ROOT/var/nix
+    export NIX_DB_DIR=$TEST_ROOT/db
+    export NIX_CONF_DIR=$TEST_ROOT/etc
+    export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests
+    export NIX_BUILD_HOOK=
+    export PAGER=cat
+    cacheDir=$TEST_ROOT/binary-cache
+    nix-store --init
+
+    cd ${nixpkgs}/lib/tests
+    ./modules.sh
+
+    touch $out
+  '';
+}
diff --git a/lib/trivial.nix b/lib/trivial.nix
index e073da4900c..8addde1b86c 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -1,8 +1,3 @@
-with {
-  inherit (import ./lists.nix) deepSeqList;
-  inherit (import ./attrsets.nix) deepSeqAttrs;
-};
-
 rec {
 
   # Identity function.
@@ -23,23 +18,11 @@ rec {
   # Flip the order of the arguments of a binary function.
   flip = f: a: b: f b a;
 
-  # `seq x y' evaluates x, then returns y.  That is, it forces strict
-  # evaluation of its first argument.
-  seq = x: y: if x == null then y else y;
-
-  # Like `seq', but recurses into lists and attribute sets to force evaluation
-  # of all list elements/attributes.
-  deepSeq = x: y:
-    if builtins.isList x
-      then deepSeqList x y
-    else if builtins.isAttrs x
-      then deepSeqAttrs x y
-      else seq x y;
-
   # Pull in some builtins not included elsewhere.
   inherit (builtins)
     pathExists readFile isBool isFunction
-    isInt add sub lessThan;
+    isInt add sub lessThan
+    seq deepSeq;
 
   # Return the Nixpkgs version number.
   nixpkgsVersion =
@@ -47,7 +30,11 @@ rec {
     readFile ../.version
     + (if pathExists suffixFile then readFile suffixFile else "pre-git");
 
-  # Whether we're being called by nix-shell.  This is useful to  
+  # Whether we're being called by nix-shell.
   inNixShell = builtins.getEnv "IN_NIX_SHELL" == "1";
 
+  # Return minimum/maximum of two numbers.
+  min = x: y: if x < y then x else y;
+  max = x: y: if x > y then x else y;
+
 }
diff --git a/lib/types.nix b/lib/types.nix
index 0e2b6515e16..f22c7661634 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -6,6 +6,7 @@ with import ./attrsets.nix;
 with import ./options.nix;
 with import ./trivial.nix;
 with import ./strings.nix;
+with {inherit (import ./modules.nix) mergeDefinitions; };
 
 rec {
 
@@ -33,9 +34,14 @@ rec {
     , # Return a flat list of sub-options.  Used to generate
       # documentation.
       getSubOptions ? prefix: {}
+    , # List of modules if any, or null if none.
+      getSubModules ? null
+    , # Function for building the same option type  with a different list of
+      # modules.
+      substSubModules ? m: null
     }:
     { _type = "option-type";
-      inherit name check merge getSubOptions;
+      inherit name check merge getSubOptions getSubModules substSubModules;
     };
 
 
@@ -104,23 +110,33 @@ rec {
 
     listOf = elemType: mkOptionType {
       name = "list of ${elemType.name}s";
-      check = value: isList value && all elemType.check value;
+      check = isList;
       merge = loc: defs:
-        concatLists (imap (n: def: imap (m: def':
-          elemType.merge (loc ++ ["[${toString n}-${toString m}]"])
-            [{ inherit (def) file; value = def'; }]) def.value) defs);
+        map (x: x.value) (filter (x: x ? value) (concatLists (imap (n: def: imap (m: def':
+            (mergeDefinitions
+              (loc ++ ["[definition ${toString n}-entry ${toString m}]"])
+              elemType
+              [{ inherit (def) file; value = def'; }]
+            ).optionalValue
+          ) def.value) defs)));
       getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["*"]);
+      getSubModules = elemType.getSubModules;
+      substSubModules = m: listOf (elemType.substSubModules m);
     };
 
     attrsOf = elemType: mkOptionType {
       name = "attribute set of ${elemType.name}s";
-      check = x: isAttrs x && all elemType.check (attrValues x);
+      check = isAttrs;
       merge = loc: defs:
-        zipAttrsWith (name: elemType.merge (loc ++ [name]))
+        mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
+            (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue
+          )
           # Push down position info.
           (map (def: listToAttrs (mapAttrsToList (n: def':
-            { name = n; value = { inherit (def) file; value = def'; }; }) def.value)) defs);
+            { name = n; value = { inherit (def) file; value = def'; }; }) def.value)) defs)));
       getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["<name>"]);
+      getSubModules = elemType.getSubModules;
+      substSubModules = m: attrsOf (elemType.substSubModules m);
     };
 
     # List or attribute set of ...
@@ -141,18 +157,19 @@ rec {
         attrOnly = attrsOf elemType;
       in mkOptionType {
         name = "list or attribute set of ${elemType.name}s";
-        check = x:
-          if isList x       then listOnly.check x
-          else if isAttrs x then attrOnly.check x
-          else false;
+        check = x: isList x || isAttrs x;
         merge = loc: defs: attrOnly.merge loc (imap convertIfList defs);
         getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["<name?>"]);
+        getSubModules = elemType.getSubModules;
+        substSubModules = m: loaOf (elemType.substSubModules m);
       };
 
     uniq = elemType: mkOptionType {
       inherit (elemType) name check;
       merge = mergeOneOption;
       getSubOptions = elemType.getSubOptions;
+      getSubModules = elemType.getSubModules;
+      substSubModules = m: uniq (elemType.substSubModules m);
     };
 
     nullOr = elemType: mkOptionType {
@@ -165,14 +182,8 @@ rec {
           throw "The option `${showOption loc}' is defined both null and not null, in ${showFiles (getFiles defs)}."
         else elemType.merge loc defs;
       getSubOptions = elemType.getSubOptions;
-    };
-
-    functionTo = elemType: mkOptionType {
-      name = "function that evaluates to a(n) ${elemType.name}";
-      check = isFunction;
-      merge = loc: defs:
-        fnArgs: elemType.merge loc (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs);
-      getSubOptions = elemType.getSubOptions;
+      getSubModules = elemType.getSubModules;
+      substSubModules = m: nullOr (elemType.substSubModules m);
     };
 
     submodule = opts:
@@ -187,11 +198,17 @@ rec {
           let
             coerce = def: if isFunction def then def else { config = def; };
             modules = opts' ++ map (def: { _file = def.file; imports = [(coerce def.value)]; }) defs;
-          in (evalModules { inherit modules; args.name = last loc; prefix = loc; }).config;
+          in (evalModules {
+            inherit modules;
+            args.name = last loc;
+            prefix = loc;
+          }).config;
         getSubOptions = prefix: (evalModules
           { modules = opts'; inherit prefix;
             # FIXME: hack to get shit to evaluate.
             args = { name = ""; }; }).options;
+        getSubModules = opts';
+        substSubModules = m: submodule m;
       };
 
     enum = values: mkOptionType {
diff --git a/maintainers/docker/.dockerignore b/maintainers/docker/.dockerignore
new file mode 100644
index 00000000000..eb4668233e6
--- /dev/null
+++ b/maintainers/docker/.dockerignore
@@ -0,0 +1,14 @@
+*~
+,*
+.*.swp
+.*.swo
+result
+result-*
+/doc/NEWS.html
+/doc/NEWS.txt
+/doc/manual.html
+/doc/manual.pdf
+.version-suffix
+
+.DS_Store
+.git
diff --git a/maintainers/docker/Dockerfile b/maintainers/docker/Dockerfile
new file mode 100644
index 00000000000..f02a9d653fd
--- /dev/null
+++ b/maintainers/docker/Dockerfile
@@ -0,0 +1,12 @@
+FROM busybox
+
+RUN dir=`mktemp -d` && trap 'rm -rf "$dir"' EXIT && \
+    wget -O- https://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2  | bzcat | tar x -C $dir && \
+    mkdir -m 0755 /nix && USER=root sh $dir/*/install && \
+    echo ". /root/.nix-profile/etc/profile.d/nix.sh" >> /etc/profile
+
+ADD . /root/nix/nixpkgs
+ONBUILD ENV NIX_PATH nixpkgs=/root/nix/nixpkgs:nixos=/root/nix/nixpkgs/nixos
+ONBUILD ENV PATH /root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ONBUILD ENV ENV /etc/profile
+ENV ENV /etc/profile
diff --git a/maintainers/scripts/nix-generate-from-cpan.nix b/maintainers/scripts/nix-generate-from-cpan.nix
index fffe11f1a5f..056cd994ba2 100644
--- a/maintainers/scripts/nix-generate-from-cpan.nix
+++ b/maintainers/scripts/nix-generate-from-cpan.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "nix-generate-from-cpan-1";
 
-  buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON ];
+  buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON perlPackages.CPANPLUS ];
 
   unpackPhase = "true";
   buildPhase = "true";
@@ -19,4 +19,4 @@ stdenv.mkDerivation {
     maintainers = [ stdenv.lib.maintainers.eelco ];
     description = "Utility to generate a Nix expression for a Perl package from CPAN";
   };
-}
\ No newline at end of file
+}
diff --git a/maintainers/scripts/nix-generate-from-cpan.pl b/maintainers/scripts/nix-generate-from-cpan.pl
index 1d9f926ec55..56709ca8000 100755
--- a/maintainers/scripts/nix-generate-from-cpan.pl
+++ b/maintainers/scripts/nix-generate-from-cpan.pl
@@ -100,7 +100,7 @@ sub get_deps {
     foreach my $n (keys %{$deps}) {
         next if $n eq "perl";
         # Hacky way to figure out if this module is part of Perl.
-        if ($n !~ /^JSON/ && $n !~ /^YAML/) {
+        if ($n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/) {
             eval "use $n;";
             if (!$@) {
                 print STDERR "skipping Perl-builtin module $n\n";
diff --git a/maintainers/scripts/patchelf-hints.sh b/maintainers/scripts/patchelf-hints.sh
index 8de1d37c7f9..5fdfc15dc23 100755
--- a/maintainers/scripts/patchelf-hints.sh
+++ b/maintainers/scripts/patchelf-hints.sh
@@ -62,7 +62,7 @@ for bin in $(find $binaryDist -executable -type f) :; do
         )
 
         if test "$names" = "glibc"; then names="stdenv.glibc"; fi
-        if echo $names | grep -c "gcc" &> /dev/null; then names="stdenv.gcc.gcc"; fi
+        if echo $names | grep -c "gcc" &> /dev/null; then names="stdenv.cc.cc"; fi
 
         if test $lib != $libPath; then
             interpreter="--interpreter \${$names}/lib/$lib"
diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh
new file mode 100755
index 00000000000..3c3f9151d83
--- /dev/null
+++ b/maintainers/scripts/travis-nox-review-pr.sh
@@ -0,0 +1,41 @@
+#! /usr/bin/env bash
+set -e
+
+export NIX_CURL_FLAGS=-sS
+
+if [[ $1 == nix ]]; then
+    echo "=== Installing Nix..."
+    # Install Nix
+    bash <(curl -sS https://nixos.org/nix/install)
+    source $HOME/.nix-profile/etc/profile.d/nix.sh
+
+    # Make sure we can use hydra's binary cache
+    sudo mkdir /etc/nix
+    sudo tee /etc/nix/nix.conf <<EOF >/dev/null
+binary-caches = http://cache.nixos.org http://hydra.nixos.org
+trusted-binary-caches = http://hydra.nixos.org
+build-max-jobs = 4
+EOF
+
+    # Verify evaluation
+    echo "=== Verifying that nixpkgs evaluates..."
+    nix-env -f. -qa --json >/dev/null
+elif [[ $1 == nox ]]; then
+    echo "=== Installing nox..."
+    git clone -q https://github.com/madjar/nox
+    pip --quiet install -e nox
+elif [[ $1 == build ]]; then
+    source $HOME/.nix-profile/etc/profile.d/nix.sh
+
+    if [[ $TRAVIS_PULL_REQUEST == false ]]; then
+        echo "=== Not a pull request"
+    else
+        echo "=== Checking PR"
+        nox-review pr ${TRAVIS_PULL_REQUEST}
+    fi
+    # echo "=== Checking tarball creation"
+    # nix-build pkgs/top-level/release.nix -A tarball
+else
+    echo "$0: Unknown option $1" >&2
+    false
+fi
diff --git a/maintainers/scripts/update-channel-branches.sh b/maintainers/scripts/update-channel-branches.sh
new file mode 100755
index 00000000000..d65cf3ec5f6
--- /dev/null
+++ b/maintainers/scripts/update-channel-branches.sh
@@ -0,0 +1,112 @@
+#!/bin/sh
+set -e
+
+: ${NIXOS_CHANNELS:=https://nixos.org/channels/}
+: ${CHANNELS_NAMESPACE:=refs/heads/channels/}
+
+# List all channels which are currently in the repository which we would
+# have to remove if they are not found again.
+deadChannels=$(git for-each-ref --format="%(refname)" "$CHANNELS_NAMESPACE")
+
+updateRef() {
+    local channelName=$1
+    local newRev=$2
+
+    # if the inputs are not valid, then we do not update any branch.
+    test -z "$newRev" -o -z "$channelName" && return;
+
+    # Update the local refs/heads/channels/* branches to be in-sync with the
+    # channel references.
+    local branch=$CHANNELS_NAMESPACE$channelName
+    oldRev=$(git rev-parse --short "$branch" 2>/dev/null || true)
+    if test "$oldRev" != "$newRev"; then
+        if git update-ref "$branch" "$newRev" 2>/dev/null; then
+            if test -z "$oldRev"; then
+                echo " * [new branch]      $newRev           -> ${branch#refs/heads/}"
+            else
+                echo "                     $oldRev..$newRev  -> ${branch#refs/heads/}"
+            fi
+        else
+            if test -z "$oldRev"; then
+                echo " * [missing rev]     $newRev           -> ${branch#refs/heads/}"
+            else
+                echo "   [missing rev]     $oldRev..$newRev  -> ${branch#refs/heads/}"
+            fi
+        fi
+    fi
+
+    # Filter out the current channel from the list of dead channels.
+    deadChannels=$(grep -v "$CHANNELS_NAMESPACE$channelName" <<EOF
+$deadChannels
+EOF
+) ||true
+}
+
+# Find the name of all channels which are listed in the directory.
+echo "Fetching channels from $NIXOS_CHANNELS:"
+for channelName in : $(curl -s "$NIXOS_CHANNELS" | sed -n '/folder/ { s,.*href=",,; s,/".*,,; p }'); do
+    test "$channelName" = : && continue;
+
+    # Do not follow redirections, such that we can extract the
+    # short-changeset from the name of the directory where we are
+    # redirected to.
+    sha1=$(curl -sI "$NIXOS_CHANNELS$channelName" | sed -n '/Location/ { s,.*\.\([a-f0-9]*\)[ \r]*$,\1,; p; }')
+
+    updateRef "remotes/$channelName" "$sha1"
+done
+
+echo "Fetching channels from nixos-version:"
+if currentSystem=$(nixos-version 2>/dev/null); then
+    # If the system is entirely build from a custom nixpkgs version,
+    # then the version is not annotated in git version. This sed
+    # expression is basically matching that the expressions end with
+    # ".<sha1> (Name)" to extract the sha1.
+    sha1=$(echo "$currentSystem" | sed -n 's,^.*\.\([a-f0-9]*\) *(.*)$,\1,; T skip; p; :skip;')
+
+    updateRef current-system "$sha1"
+fi
+
+echo "Fetching channels from $HOME/.nix-defexpr:"
+for revFile in : $(find -L "$HOME/.nix-defexpr/" -maxdepth 4 -name svn-revision); do
+    test "$revFile" = : && continue;
+
+    # Deconstruct a path such as, into:
+    #
+    #   /home/luke/.nix-defexpr/channels_root/nixos/nixpkgs/svn-revision
+    #     channelName = root/nixos
+    #
+    #   /home/luke/.nix-defexpr/channels/nixpkgs/svn-revision
+    #     channelName = nixpkgs
+    #
+    user=${revFile#*.nix-defexpr/channels}
+    repo=${user#*/}
+    repo=${repo%%/*}
+    user=${user%%/*}
+    user=${user#_}
+    test -z "$user" && user=$USER
+    channelName="$user${user:+/}$repo"
+
+    sha1=$(sed -n 's,^.*\.\([a-f0-9]*\)$,\1,; T skip; p; :skip;' "$revFile")
+
+    updateRef "$channelName" "$sha1"
+done
+
+# Suggest to remove channel branches which are no longer found by this
+# script. This is to handle the cases where a local/remote channel
+# disappear. We should not attempt to remove manually any branches, as they
+# might be user branches.
+if test -n "$deadChannels"; then
+
+    echo "
+Some old channel branches are still in your repository, if you
+want to remove them, run the following command(s):
+"
+
+    while read branch; do
+        echo "    git update-ref -d $branch"
+    done <<EOF
+$deadChannels
+EOF
+
+    echo
+fi
diff --git a/maintainers/scripts/vanity-manual-equalities.txt b/maintainers/scripts/vanity-manual-equalities.txt
new file mode 100644
index 00000000000..4a7bc3aea44
--- /dev/null
+++ b/maintainers/scripts/vanity-manual-equalities.txt
@@ -0,0 +1,7 @@
+viric	viriketo@gmail.com
+Pjotr Prins	pjotr.public01@thebird.nl
+Pjotr Prins	pjotr.public05@thebird.nl
+Wouter den Breejen	wbreejen
+MarcWeber	marcweber
+Ricardo Correia	Ricardo M. Correia
+ertesx@gmx.de	ertes
diff --git a/maintainers/scripts/vanity.sh b/maintainers/scripts/vanity.sh
new file mode 100755
index 00000000000..fd8f78ac5ef
--- /dev/null
+++ b/maintainers/scripts/vanity.sh
@@ -0,0 +1,122 @@
+#! /bin/sh
+
+export LANG=C LC_ALL=C LC_COLLATE=C
+
+# Load git log
+raw_git_log="$(git log)"
+git_data="$(echo "$raw_git_log" | grep 'Author:' |
+  sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//;
+  s/ @ .*//; s/ *[<]/\t/; s/[>]//')"
+
+# Name - nick - email correspondence from log and from maintainer list
+# Also there are a few manual entries
+maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" |
+  grep '=' | sed -re 's/\\"/''/g;
+  s/ *([^ =]*) *= *" *(.*[^ ]) *[<](.*)[>] *".*/\1\t\2\t\3/')"
+git_lines="$( ( echo "$git_data";
+    cat "$(dirname "$0")/vanity-manual-equalities.txt") | sort |uniq)"
+
+emails="$(
+    ( echo "$maintainers" | cut -f 3; echo "$git_data" | cut -f 2 ) |
+    sort | uniq | grep -E ".+@.+[.].+"
+    )"
+
+fetchGithubName () {
+    commitid="$(
+        echo "$raw_git_log" | grep -B3 "Author: .*[<]$1[>]" | head -n 3 |
+            grep '^commit ' | tail -n 1 | sed -e 's/^commit //'
+    )"
+    userid="$(
+        curl https://github.com/NixOS/nixpkgs/commit/"$commitid" 2>/dev/null |
+        grep authored -B10 | grep 'href="/' |
+        sed -re 's@.* href="/@@; s@".*@@' |
+	grep -v "/commit/"
+    )";
+    echo "$userid"
+}
+
+[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && {
+    echo "$emails" | while read email; do
+        line="$(grep "$email	" "$NIXPKGS_GITHUB_NAME_CACHE")"
+	[ -z "$line" ] && {
+            echo "$email	$(fetchGithubName "$email")" >> \
+                "$NIXPKGS_GITHUB_NAME_CACHE"
+        }
+    done
+}
+
+# For RDF
+normalize_name () {
+	sed -e 's/%/%25/g; s/ /%20/g; s/'\''/%27/g; s/"/%22/g; s/`/%60/g; s/\^/%5e/g; '
+}
+
+denormalize_name () {
+	sed -e 's/%20/ /g; s/%27/'\''/g; s/%22/"/g; s/%60/`/g; s/%5e/^/g; s/%25/%/g;';
+}
+
+n3="$(mktemp --suffix .n3)"
+
+# «The same person» relation and a sorting hint
+# Full name is something with a space
+(
+echo "$git_lines" | sed -re 's@(.*)\t(.*)@<my://name/\1>	<my://can-be>	<my://name/\2>.@'
+echo "$git_lines" | sed -re 's@(.*)\t(.*)@<my://name/\2>	<my://can-be>	<my://name/\1>.@'
+echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@<my://name/\1>	<my://can-be>	<my://name/\2>.@'
+echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@<my://name/\2>	<my://can-be>	<my://name/\3>.@'
+echo "$maintainers" | sed -re 's@(.*)\t(.*)\t(.*)@<my://name/\3>	<my://can-be>	<my://name/\1>.@'
+echo "$git_lines" | grep ' ' | cut -f 1 | sed -e 's@.*@<my://name/&>	<my://is-name>	<my://0>.@'
+echo "$git_lines" | grep -v ' ' | cut -f 1 | sed -e 's@.*@<my://name/&>	<my://is-name>	<my://1>.@'
+echo "$maintainers" | cut -f 2 | sed -e 's@.*@<my://name/&>	<my://is-name>	<my://0>.@'
+[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && cat "$NIXPKGS_GITHUB_NAME_CACHE" |
+    grep -v "	$" |
+    sed -re 's@(.*)\t(.*)@<my://name/\1>	<my://at-github>	<my://github/\2>.@'
+) | normalize_name | grep -E '<my://[-a-z]+>' | sort | uniq > "$n3"
+
+# Get transitive closure
+sparql="$(nix-build '<nixpkgs>' -Q -A apache-jena --no-out-link)/bin/sparql"
+name_list="$(
+	"$sparql" --results=TSV --data="$n3" "
+	select ?x ?y ?g where {
+	  ?x <my://can-be>+ ?y.
+	  ?x <my://is-name> ?g.
+        }
+	" | tail -n +2 |
+	sed -re 's@<my://name/@@g; s@<my://@@g; s@>@@g;' |
+	sort -k 2,3 -t '	'
+)"
+github_name_list="$(
+	"$sparql" --results=TSV --data="$n3" "
+	select ?x ?y where {
+	  ?x (<my://can-be>+ / <my://at-github>) ?y.
+        }
+	" | tail -n +2 |
+	sed -re 's@<my://(name|github)/@@g; s@<my://@@g; s@>@@g;'
+)"
+
+# Take first spelling option for every person
+name_list_canonical="$(echo "$name_list" | cut -f 1,2 | uniq -f1)"
+
+cleaner_script="$(echo "$name_list_canonical" | denormalize_name |
+  sed -re 's/(.*)\t(.*)/s#^\2$#\1#g/g')"
+
+# Add github usernames
+if [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ]; then
+    github_adder_script="$(echo "$github_name_list" |
+        grep -E "$(echo "$name_list_canonical" | cut -f 2 |
+	    tr '\n' '|' )" |
+	sort | uniq |
+        sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' |
+	denormalize_name
+	)"
+else
+    github_adder_script=''
+fi
+
+echo "$name_list" | denormalize_name
+
+echo
+
+echo "$git_data" | cut -f 1 |
+    sed -e "$cleaner_script" |
+    sort | uniq -c | sort -k1n | sed -re "$github_adder_script" |
+    sed -re 's/^ *([0-9]+) /\1\t/'
diff --git a/nixos/doc/manual/administration/control-groups.xml b/nixos/doc/manual/administration/control-groups.xml
index 86c684cdfe5..0d7b8ae910a 100644
--- a/nixos/doc/manual/administration/control-groups.xml
+++ b/nixos/doc/manual/administration/control-groups.xml
@@ -58,12 +58,10 @@ 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)
-and 640 MiB of RAM (including swap):
+<literal>httpd.service</literal> to 512 MiB of RAM (excluding swap):
 
 <programlisting>
 systemd.services.httpd.serviceConfig.MemoryLimit = "512M";
-systemd.services.httpd.serviceConfig.ControlGroupAttribute = [ "memory.memsw.limit_in_bytes 640M" ];
 </programlisting>
 
 </para>
@@ -72,4 +70,4 @@ systemd.services.httpd.serviceConfig.ControlGroupAttribute = [ "memory.memsw.lim
 continuously updated list of all cgroups with their CPU and memory
 usage.</para>
 
-</chapter>
\ No newline at end of file
+</chapter>
diff --git a/nixos/doc/manual/administration/declarative-containers.xml b/nixos/doc/manual/administration/declarative-containers.xml
index 177ebdd8db1..228c45b0c1f 100644
--- a/nixos/doc/manual/administration/declarative-containers.xml
+++ b/nixos/doc/manual/administration/declarative-containers.xml
@@ -49,4 +49,8 @@ on container networking.)</para>
 switch</literal>. Note that this will not delete the root directory of
 the container in <literal>/var/lib/containers</literal>.</para>
 
-</section>
\ No newline at end of file
+<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/network-problems.xml b/nixos/doc/manual/administration/network-problems.xml
index 5ba1bfd5ac9..3af9cc59742 100644
--- a/nixos/doc/manual/administration/network-problems.xml
+++ b/nixos/doc/manual/administration/network-problems.xml
@@ -12,9 +12,9 @@ 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>http://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
+<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>
@@ -30,4 +30,4 @@ $ nixos-rebuild switch --option binary-caches http://my-cache.example.org/
 
 </para>
 
-</section>
\ No newline at end of file
+</section>
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml
index 2a58ff25941..b613c7f06cc 100644
--- a/nixos/doc/manual/configuration/config-file.xml
+++ b/nixos/doc/manual/configuration/config-file.xml
@@ -68,7 +68,7 @@ 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.enabl' defined in `/etc/nixos/configuration.nix' does not exist.
+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
diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml
index e2c51518349..053501b1736 100644
--- a/nixos/doc/manual/configuration/ipv4-config.xml
+++ b/nixos/doc/manual/configuration/ipv4-config.xml
@@ -12,12 +12,9 @@ interfaces.  However, you can configure an interface manually as
 follows:
 
 <programlisting>
-networking.interfaces.eth0 = { ipAddress = "192.168.1.2"; prefixLength = 24; };
+networking.interfaces.eth0.ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ];
 </programlisting>
 
-(The network prefix can also be specified using the option
-<literal>subnetMask</literal>,
-e.g. <literal>"255.255.255.0"</literal>, but this is deprecated.)
 Typically you’ll also want to set a default gateway and set of name
 servers:
 
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml
index 8fe2f5255df..ffd7b354efe 100644
--- a/nixos/doc/manual/configuration/linux-kernel.xml
+++ b/nixos/doc/manual/configuration/linux-kernel.xml
@@ -56,7 +56,7 @@ root file system), you can use
 boot.initrd.extraKernelModules = [ "cifs" ];
 </programlisting>
 This causes the specified modules and their dependencies to be added
-to the initial ramdark.</para>
+to the initial ramdisk.</para>
 
 <para>Kernel runtime parameters can be set through
 <option>boot.kernel.sysctl</option>, e.g.
diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml
index e65060021b4..b7e47b8729f 100644
--- a/nixos/doc/manual/configuration/network-manager.xml
+++ b/nixos/doc/manual/configuration/network-manager.xml
@@ -10,17 +10,17 @@
 use NetworkManager. You can enable NetworkManager by setting:
 
 <programlisting>
-services.networkmanager.enable = true;
+networking.networkmanager.enable = true;
 </programlisting>
 
-Some desktop managers (e.g., GNOME) enable NetworkManager
+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>
 
-<note><para><code>services.networkmanager</code> and
-<code>services.wireless</code> can not be enabled at the same time:
+<note><para><code>networking.networkmanager</code> and
+<code>networking.wireless</code> can not be enabled at the same time:
 you can still connect to the wireless networks using
 NetworkManager.</para></note>
 
diff --git a/nixos/doc/manual/configuration/summary.xml b/nixos/doc/manual/configuration/summary.xml
index 9bb5e35e16b..6ff0390c0ed 100644
--- a/nixos/doc/manual/configuration/summary.xml
+++ b/nixos/doc/manual/configuration/summary.xml
@@ -60,7 +60,7 @@ manual</link> for the rest.</para>
         <entry>A nested set, equivalent to <literal>{ foo = { bar = 1; }; }</literal></entry>
       </row>
       <row>
-        <entry><literal>rec { x = "bla"; y = x + "bar"; }</literal></entry>
+        <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>
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index bc58bb1f066..95e66f0c70c 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -67,12 +67,31 @@ 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>
-services.xserver.driSupport32Bit = true;
+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:
+<programlisting>
+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:
+<programlisting>
+hardware.opengl.driSupport32Bit = true;
+</programlisting>
+</para>
+
+</simplesect>
 
 <simplesect><title>Touchpads</title>
 
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 47e01437ccc..fdfeb5ca07c 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -6,12 +6,22 @@ with pkgs.lib;
 let
 
   # Remove invisible and internal options.
-  options' = filter (opt: opt.visible && !opt.internal) (optionAttrSetToDocList options);
+  optionsList = filter (opt: opt.visible && !opt.internal) (optionAttrSetToDocList options);
+
+  # Replace functions by the string <function>
+  substFunction = x:
+    if builtins.isAttrs x then mapAttrs (name: substFunction) x
+    else if builtins.isList x then map substFunction x
+    else if builtins.isFunction x then "<function>"
+    else x;
 
   # Clean up declaration sites to not refer to the NixOS source tree.
-  options'' = flip map options' (opt: opt // {
+  optionsList' = flip map optionsList (opt: opt // {
     declarations = map (fn: stripPrefix fn) opt.declarations;
-  });
+  }
+  // optionalAttrs (opt ? example) { example = substFunction opt.example; }
+  // optionalAttrs (opt ? default) { default = substFunction opt.default; }
+  // optionalAttrs (opt ? type) { type = substFunction opt.type; });
 
   prefix = toString ../../..;
 
@@ -21,10 +31,14 @@ let
     else
       fn;
 
-  optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML options''));
+  # Convert the list of options into an XML file.  The builtin
+  # unsafeDiscardStringContext is used to prevent the realisation of
+  # the store paths which are used in options definitions.
+  optionsXML = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext (builtins.toXML optionsList'));
 
   optionsDocBook = runCommand "options-db.xml" {} ''
-    if grep /nixpkgs/nixos/modules ${optionsXML}; then
+    optionsXML=${optionsXML}
+    if grep /nixpkgs/nixos/modules $optionsXML; then
       echo "The manual appears to depend on the location of Nixpkgs, which is bad"
       echo "since this prevents sharing via the NixOS channel.  This is typically"
       echo "caused by an option default that refers to a relative path (see above"
@@ -33,7 +47,7 @@ let
     fi
     ${libxslt}/bin/xsltproc \
       --stringparam revision '${revision}' \
-      -o $out ${./options-to-docbook.xsl} ${optionsXML}
+      -o $out ${./options-to-docbook.xsl} $optionsXML
   '';
 
   sources = sourceFilesBySuffices ./. [".xml"];
@@ -49,6 +63,26 @@ let
 
 in rec {
 
+  # The NixOS options in JSON format.
+  optionsJSON = stdenv.mkDerivation {
+    name = "options-json";
+
+    buildCommand = ''
+      # Export list of options in different format.
+      dst=$out/share/doc/nixos
+      mkdir -p $dst
+
+      cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON
+        (listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList'))))
+      } $dst/options.json
+
+      mkdir -p $out/nix-support
+      echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products
+    ''; # */
+
+    meta.description = "List of NixOS options in JSON format";
+  };
+
   # Generate the NixOS manual.
   manual = stdenv.mkDerivation {
     name = "nixos-manual";
@@ -90,7 +124,7 @@ in rec {
 
       mkdir -p $out/nix-support
       echo "nix-build out $out" >> $out/nix-support/hydra-build-products
-      echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products
+      echo "doc manual $dst" >> $out/nix-support/hydra-build-products
     ''; # */
 
     meta.description = "The NixOS manual in HTML format";
diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml
index d9be761eb01..156dcd205a5 100644
--- a/nixos/doc/manual/development/running-nixos-tests.xml
+++ b/nixos/doc/manual/development/running-nixos-tests.xml
@@ -39,24 +39,13 @@ $ firefox result/log.html
 
 </para>
 
-<para>It is also possible to run the test environment interactively,
-allowing you to experiment with the VMs.  For example:
+<title>Running Tests interactively</title>
 
-<screen>
-$ nix-build 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>
-
-<para>Finally, the test itself can be run interactively.  This is
+<para>The test itself can be run interactively.  This is
 particularly useful when developing or debugging a test:
 
 <screen>
-$ nix-build tests/ -A nfs.driver
+$ nix-build nixos/tests/login.nix -A driver
 $ ./result/bin/nixos-test-driver
 starting VDE switch for network 1
 &gt;
@@ -66,6 +55,7 @@ You can then take any Perl statement, e.g.
 
 <screen>
 &gt; startAll
+&gt; testScript
 &gt; $machine->succeed("touch /tmp/foo")
 </screen>
 
@@ -74,4 +64,16 @@ 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>
 
-</section>
\ No newline at end of file
+<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>
+
+</section>
diff --git a/nixos/doc/manual/development/sources.xml b/nixos/doc/manual/development/sources.xml
index 992a07af981..3ac07da19f1 100644
--- a/nixos/doc/manual/development/sources.xml
+++ b/nixos/doc/manual/development/sources.xml
@@ -40,20 +40,22 @@ rebuild everything from source. So you may want to create a local
 branch based on your current NixOS version:
 
 <screen>
-$ nixos-version
-14.04.273.ea1952b (Baboon)
-
-$ git checkout -b local ea1952b
+$ <replaceable>/my/sources</replaceable>/nixpkgs/maintainers/scripts/update-channel-branches.sh
+Fetching channels from https://nixos.org/channels:
+ * [new branch]      cbe467e           -> channels/remotes/nixos-unstable
+Fetching channels from nixos-version:
+ * [new branch]      9ff4738           -> channels/current-system
+Fetching channels from ~/.nix-defexpr:
+ * [new branch]      0d4acad           -> channels/root/nixos
+$ git checkout -b local channels/current-system
 </screen>
 
 Or, to base your local branch on the latest version available in the
 NixOS channel:
 
 <screen>
-$ curl -sI http://nixos.org/channels/nixos-unstable/ | grep Location
-Location: http://releases.nixos.org/nixos/unstable/nixos-14.10pre43986.acaf4a6/
-
-$ git checkout -b local acaf4a6
+$ <replaceable>/my/sources</replaceable>/nixpkgs/maintainers/scripts/update-channel-branches.sh
+$ git checkout -b local channels/remotes/nixos-unstable
 </screen>
 
 You can then use <command>git rebase</command> to sync your local
@@ -92,4 +94,4 @@ to <command>nix-env</command>, as it will break after interpreting expressions
 in <filename>nixos/</filename> as packages.</para>
 -->
 
-</chapter>
\ No newline at end of file
+</chapter>
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index b140c56fbee..c21759bc926 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -11,14 +11,9 @@
   <listitem><para>Boot from the CD.</para></listitem>
 
   <listitem><para>The CD contains a basic NixOS installation.  (It
-  also contains Memtest86+, useful if you want to test new hardware.)
+  also contains Memtest86+, useful if you want to test new hardware).
   When it’s finished booting, it should have detected most of your
-  hardware and brought up networking (check
-  <command>ifconfig</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></listitem>
+  hardware.</para></listitem>
 
   <listitem><para>The NixOS manual is available on virtual console 8
   (press Alt+F8 to access).</para></listitem>
@@ -29,6 +24,16 @@
   <listitem><para>If you downloaded the graphical ISO image, you can
   run <command>start display-manager</command> to start KDE.</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></listitem>
+
   <listitem><para>The NixOS installer doesn’t do any partitioning or
   formatting yet, so you need to that yourself.  Use the following
   commands:
diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml
index ceeeb5c0ac0..afd6c9543f7 100644
--- a/nixos/doc/manual/installation/obtaining.xml
+++ b/nixos/doc/manual/installation/obtaining.xml
@@ -8,9 +8,14 @@
 
 <para>NixOS ISO images can be downloaded from the <link
 xlink:href="http://nixos.org/nixos/download.html">NixOS
-homepage</link>.  These can be burned onto a CD.  It is also possible
-to copy them onto a USB stick and install NixOS from there.  For
-details, see the <link
+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.
+Unetbootin is recommended and the process is described in brief below.
+Note that systems which use UEFI require some additional manual steps.
+If you run into difficulty a number of alternative methods are presented
+in the <link
 xlink:href="https://nixos.org/wiki/Installing_NixOS_from_a_USB_stick">NixOS
 Wiki</link>.</para>
 
@@ -22,7 +27,7 @@ running NixOS system through several other means:
     <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
-    homepage</link>.</para>
+    download page</link>.</para>
   </listitem>
   <listitem>
     <para>Using AMIs for Amazon’s EC2.  To find one for your region
diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml
index ed71a7e23a3..5a9d1f24f7c 100644
--- a/nixos/doc/manual/installation/upgrading.xml
+++ b/nixos/doc/manual/installation/upgrading.xml
@@ -14,8 +14,8 @@ been built.  These channels are:
 
 <itemizedlist>
   <listitem>
-    <para>Stable channels, such as <literal
-    xlink:href="http://nixos.org/channels/nixos-14.04">nixos-14.04</literal>.
+    <para><emphasis>Stable channels</emphasis>, such as <literal
+    xlink:href="https://nixos.org/channels/nixos-14.12">nixos-14.12</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 3.4.66 to 3.4.67 (a minor bug fix), but
@@ -23,26 +23,40 @@ been built.  These channels are:
     3.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 unstable channel, <literal
-    xlink:href="http://nixos.org/channels/nixos-unstable">nixos-unstable</literal>.
+    <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
+    xlink:href="https://nixos.org/channels/nixos-14.12-small">nixos-14.12-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="http://nixos.org/channels"/>.  (Note that the URIs of the
+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 14.04 ISO, you will be subscribed to
-the <literal>nixos-14.04</literal> channel.  To see which NixOS
+instance, if you installed from a 14.12 ISO, you will be subscribed to
+the <literal>nixos-14.12</literal> channel.  To see which NixOS
 channel you’re subscribed to, run the following as root:
 
 <screen>
@@ -53,20 +67,26 @@ nixos https://nixos.org/channels/nixos-unstable
 To switch to a different NixOS channel, do
 
 <screen>
-$ nix-channel --add http://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
+$ 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 14.04 stable channel:
+end.)  For instance, to use the NixOS 14.12 stable channel:
+
+<screen>
+$ nix-channel --add https://nixos.org/channels/nixos-14.12 nixos
+</screen>
+
+If you have a server, you may want to use the “small” channel instead:
 
 <screen>
-$ nix-channel --add http://nixos.org/channels/nixos-14.04 nixos
+$ nix-channel --add https://nixos.org/channels/nixos-14.12-small nixos
 </screen>
 
-But it you want to live on the bleeding edge:
+And if you want to live on the bleeding edge:
 
 <screen>
-$ nix-channel --add http://nixos.org/channels/nixos-unstable nixos
+$ nix-channel --add https://nixos.org/channels/nixos-unstable nixos
 </screen>
 
 </para>
diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml
index 0ebee7d23f9..7ad1be1ec10 100644
--- a/nixos/doc/manual/man-nixos-install.xml
+++ b/nixos/doc/manual/man-nixos-install.xml
@@ -11,12 +11,45 @@
 
 <refnamediv>
   <refname><command>nixos-install</command></refname>
-  <refpurpose>install NixOS</refpurpose>
+  <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>
+      <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>
   </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -55,6 +88,87 @@ 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>-I</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>
+    </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>
+    <listitem>
+      <para>Causes Nix to print out a stack trace in case of Nix expression evaluation errors.</para>
+    </listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><option>--chroot</option></term>
+    <listitem>
+      <para>Chroot into given installation. Any additional arguments passed are going to be executed inside the chroot.
+      </para>
+    </listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><option>--help</option></term>
+    <listitem>
+      <para>Synonym for <command>man nixos-install</command>.</para>
+    </listitem>
+  </varlistentry>
+
+</variablelist>
+
+</refsection>
+
 
 <refsection><title>Examples</title>
 
@@ -72,6 +186,7 @@ $ mount /dev/sda1 /mnt
 $ nixos-generate-config --root /mnt
 $ # edit /mnt/etc/nixos/configuration.nix
 $ nixos-install
+$ reboot
 </screen>
 
 </para>
diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml
index 7952847d4db..2875336c67e 100644
--- a/nixos/doc/manual/man-nixos-option.xml
+++ b/nixos/doc/manual/man-nixos-option.xml
@@ -17,11 +17,6 @@
 <refsynopsisdiv>
   <cmdsynopsis>
     <command>nixos-option</command>
-    <group choice="opt">
-      <option>-v</option>
-      <option>-d</option>
-      <option>-l</option>
-    </group>
     <arg choice='plain'><replaceable>option.name</replaceable></arg>
   </cmdsynopsis>
 </refsynopsisdiv>
@@ -31,50 +26,13 @@
 
 <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.  By default, it returns the value of
-the option.</para>
+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>--value</option>, <option>-v</option></term>
-    <listitem>
-      <para>Returns the value of the option.  This is the default operation
-      if no other options are defined.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--description</option>, <option>-d</option></term>
-    <listitem>
-      <para>Return the default value, the example and the description of the
-      option when available.</para>
-    </listitem>
-  </varlistentry>
-
-  <varlistentry>
-    <term><option>--lookup</option>, <option>-l</option></term>
-    <listitem>
-      <para>Return the locations where the option is declared and where it
-      is defined.  This is extremely useful to find sources of errors in
-      your configuration.</para>
-    </listitem>
-  </varlistentry>
-
-</variablelist>
-
-</refsection>
-
-
 <refsection><title>Environment</title>
 
 <variablelist>
@@ -103,27 +61,21 @@ grub
 initScript
 
 $ nixos-option boot.loader.grub.enable
-true</screen></para>
+Value:
+true
 
-<para>Prints option information:
+Default: 
+true
 
-<screen>$ nixos-option -d networking.hostName
-Default: "nixos"
 Description:
-The name of the machine. Leave it empty if you want to obtain
-it from a DHCP server (if using DHCP).</screen></para>
-
-<para>Find the locations which are declaring and defining an option:
+Whether to enable the GNU GRUB boot loader.
 
-<screen>$ nixos-option -l hardware.firmware
 Declared by:
-  /mnt/data/nix-sources/nixos/modules/services/hardware/udev.nix
+  "/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix"
 
 Defined by:
-  /path/to/nixpkgs/nixos/modules/system/boot/kernel.nix
-  /path/to/nixpkgs/nixos/modules/hardware/network/rt73.nix
-  /path/to/nixpkgs/nixos/modules/hardware/network/intel-3945abg.nix
-  /path/to/nixpkgs/nixos/modules/hardware/network/intel-2200bg.nix</screen></para>
+  "/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix"
+</screen></para>
 
 </refsection>
 
diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml
index afc159dbd5d..c529737c3bf 100644
--- a/nixos/doc/manual/man-nixos-rebuild.xml
+++ b/nixos/doc/manual/man-nixos-rebuild.xml
@@ -1,7 +1,7 @@
 <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>
@@ -22,7 +22,8 @@
       <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-run</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>
@@ -114,10 +115,22 @@ $ nix-build /path/to/nixpkgs/nixos -A system
   </varlistentry>
 
   <varlistentry>
-    <term><option>dry-run</option></term>
+    <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>Simply show what store paths would be built or downloaded
-      by any of the operations above.</para>
+      <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>
 
diff --git a/nixos/doc/manual/man-pages.xml b/nixos/doc/manual/man-pages.xml
index 467864e208b..97a2c16d406 100644
--- a/nixos/doc/manual/man-pages.xml
+++ b/nixos/doc/manual/man-pages.xml
@@ -15,7 +15,7 @@
     </author>
 
     <copyright>
-      <year>2007-2013</year>
+      <year>2007-2015</year>
       <holder>Eelco Dolstra</holder>
     </copyright>
 
diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml
index a3ad76209ac..f6aedfd6b66 100644
--- a/nixos/doc/manual/manual.xml
+++ b/nixos/doc/manual/manual.xml
@@ -32,6 +32,7 @@
   <xi:include href="configuration/configuration.xml" />
   <xi:include href="administration/running.xml" />
   <!-- <xi:include href="userconfiguration.xml" /> -->
+  <xi:include href="development/development.xml" />
   <xi:include href="release-notes/release-notes.xml" />
 
   <appendix xml:id="ch-options">
diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl
index e81a1dc356e..af9eb0e48fb 100644
--- a/nixos/doc/manual/options-to-docbook.xsl
+++ b/nixos/doc/manual/options-to-docbook.xsl
@@ -34,6 +34,14 @@
                                select="attr[@name = 'description']/string/@value" />
                </para>
 
+               <xsl:if test="attr[@name = 'type']">
+                 <para>
+                   <emphasis>Type:</emphasis>
+                   <xsl:text> </xsl:text>
+                   <xsl:apply-templates select="attr[@name = 'type']" mode="top" />
+                 </para>
+               </xsl:if>
+
                <xsl:if test="attr[@name = 'default']">
                  <para>
                    <emphasis>Default:</emphasis>
diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml
index fb82d5adcef..a988a5b0199 100644
--- a/nixos/doc/manual/release-notes/release-notes.xml
+++ b/nixos/doc/manual/release-notes/release-notes.xml
@@ -7,10 +7,12 @@
 <title>Release Notes</title>
 
 <partintro>
-<para>This section lists the release notes for each stable version of NixOS.</para>
+<para>This section lists the release notes for each stable version of NixOS
+and current unstable revision.</para>
 </partintro>
 
-<xi:include href="rl-1410.xml" />
+<xi:include href="rl-unstable.xml" />
+<xi:include href="rl-1412.xml" />
 <xi:include href="rl-1404.xml" />
 <xi:include href="rl-1310.xml" />
 
diff --git a/nixos/doc/manual/release-notes/rl-1410.xml b/nixos/doc/manual/release-notes/rl-1410.xml
deleted file mode 100644
index 09da15ce236..00000000000
--- a/nixos/doc/manual/release-notes/rl-1410.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<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="sec-release-14.10">
-
-<title>Release 14.10 (“Caterpillar”, 2014/10/??)</title>
-
-<para>When upgrading from a previous release, please be aware of the
-following incompatible changes:
-
-<itemizedlist>
-
-  <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>
-
-</itemizedlist>
-
-</para>
-
-</chapter>
\ No newline at end of file
diff --git a/nixos/doc/manual/release-notes/rl-1412.xml b/nixos/doc/manual/release-notes/rl-1412.xml
new file mode 100644
index 00000000000..36ae48af759
--- /dev/null
+++ b/nixos/doc/manual/release-notes/rl-1412.xml
@@ -0,0 +1,177 @@
+<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="sec-release-14.12">
+
+<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>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
+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:
+
+<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>
+
+</chapter>
diff --git a/nixos/doc/manual/release-notes/rl-unstable.xml b/nixos/doc/manual/release-notes/rl-unstable.xml
new file mode 100644
index 00000000000..34ffe1d6d32
--- /dev/null
+++ b/nixos/doc/manual/release-notes/rl-unstable.xml
@@ -0,0 +1,41 @@
+<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="sec-release-unstable">
+
+<title>Unstable revision</title>
+
+<para>In addition to numerous new and upgraded packages, this release has the following highlights:
+
+<!--<itemizedlist>
+
+</itemizedlist>-->
+</para>
+
+<para>Following new services were added since the last release:
+
+<!--<itemizedlist>
+
+</itemizedlist>-->
+</para>
+
+<para>When upgrading from a previous release, please be aware of the
+following incompatible changes:
+
+<itemizedlist>
+
+<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>
+
+</itemizedlist>
+</para>
+
+</chapter>
diff --git a/nixos/gui/README b/nixos/gui/README
deleted file mode 100644
index c038314a0dc..00000000000
--- a/nixos/gui/README
+++ /dev/null
@@ -1,16 +0,0 @@
-This file should become a nix expression. (see modules/installer/tools/tools.nix)
-
-you need to:
-- download the latest jQuery from and copy it to chrome/content:
-    http://code.jquery.com/jquery-1.5.2.js
-
-- install 'xulrunner' with nix:
-    nix-env -Ai nixpkgs_sys.firefox40Pkgs.xulrunner
-
-- make sure nixos-option in your path
-
-- have /etc/nixos/nixpkgs
-- have /etc/nixos/nixos
-
-run it:
-- xulrunner /etc/nixos/nixos/gui/application.ini -jsconsole
diff --git a/nixos/gui/application.ini b/nixos/gui/application.ini
deleted file mode 100644
index d2494a1a5cd..00000000000
--- a/nixos/gui/application.ini
+++ /dev/null
@@ -1,36 +0,0 @@
-[App]
-;
-; This field specifies your organization's name.  This field is recommended,
-; but optional.
-Vendor=NixOS
-;
-; This field specifies your application's name.  This field is required.
-Name=NixOS-gui
-;
-; This field specifies your application's version.  This field is optional.
-Version=0.1
-;
-; This field specifies your application's build ID (timestamp).  This field is
-; required.
-BuildID=20110424
-;
-; This field specifies a compact copyright notice for your application.  This
-; field is optional.
-;Copyright=
-
-;
-; This ID is just an example.  Every XUL app ought to have it's own unique ID.
-; You can use the microsoft "guidgen" or "uuidgen" tools, or go on
-; irc.mozilla.org and /msg botbot uuid.  This field is optional.
-;ID=
-
-[Gecko]
-;
-; This field is required.  It specifies the minimum Gecko version that this
-; application requires.
-MinVersion=1.9a5
-;
-; This field is optional.  It specifies the maximum Gecko version that this
-; application requires.  It should be specified if your application uses
-; unfrozen interfaces.
-MaxVersion=2.*
diff --git a/nixos/gui/chrome.manifest b/nixos/gui/chrome.manifest
deleted file mode 100644
index 865d6a88fb4..00000000000
--- a/nixos/gui/chrome.manifest
+++ /dev/null
@@ -1 +0,0 @@
-manifest chrome/chrome.manifest
diff --git a/nixos/gui/chrome/chrome.manifest b/nixos/gui/chrome/chrome.manifest
deleted file mode 100644
index 775445ee17b..00000000000
--- a/nixos/gui/chrome/chrome.manifest
+++ /dev/null
@@ -1 +0,0 @@
-content nixos-gui content/
diff --git a/nixos/gui/chrome/content/io.js b/nixos/gui/chrome/content/io.js
deleted file mode 100644
index 8d9c8c17365..00000000000
--- a/nixos/gui/chrome/content/io.js
+++ /dev/null
@@ -1,137 +0,0 @@
-
-function inspect(obj, maxLevels, level)
-{
-  var str = '', type, msg;
-
-    // Start Input Validations
-    // Don't touch, we start iterating at level zero
-    if(level == null)  level = 0;
-
-    // At least you want to show the first level
-    if(maxLevels == null) maxLevels = 1;
-    if(maxLevels < 1)
-        return '<font color="red">Error: Levels number must be > 0</font>';
-
-    // We start with a non null object
-    if(obj == null)
-    return '<font color="red">Error: Object <b>NULL</b></font>';
-    // End Input Validations
-
-    // Each Iteration must be indented
-    str += '<ul>';
-
-    // Start iterations for all objects in obj
-    for(property in obj)
-    {
-      try
-      {
-          // Show "property" and "type property"
-          type =  typeof(obj[property]);
-          str += '<li>(' + type + ') ' + property +
-                 ( (obj[property]==null)?(': <b>null</b>'):('')) + '</li>';
-
-          // We keep iterating if this property is an Object, non null
-          // and we are inside the required number of levels
-          if((type == 'object') && (obj[property] != null) && (level+1 < maxLevels))
-          str += inspect(obj[property], maxLevels, level+1);
-      }
-      catch(err)
-      {
-        // Is there some properties in obj we can't access? Print it red.
-        if(typeof(err) == 'string') msg = err;
-        else if(err.message)        msg = err.message;
-        else if(err.description)    msg = err.description;
-        else                        msg = 'Unknown';
-
-        str += '<li><font color="red">(Error) ' + property + ': ' + msg +'</font></li>';
-      }
-    }
-
-      // Close indent
-      str += '</ul>';
-
-    return str;
-}
-
-// Run xulrunner application.ini -jsconsole -console, to see messages.
-function log(str)
-{
-  Components.classes['@mozilla.org/consoleservice;1']
-    .getService(Components.interfaces.nsIConsoleService)
-    .logStringMessage(str);
-}
-
-function makeTempFile(prefix)
-{
-  var file = Components.classes["@mozilla.org/file/directory_service;1"]
-                       .getService(Components.interfaces.nsIProperties)
-                       .get("TmpD", Components.interfaces.nsIFile);
-  file.append(prefix || "xulrunner");
-  file.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 0664);
-  return file;
-}
-
-function writeToFile(file, data)
-{
-  // file is nsIFile, data is a string
-  var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"]
-                           .createInstance(Components.interfaces.nsIFileOutputStream);
-
-  // use 0x02 | 0x10 to open file for appending.
-  foStream.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
-  foStream.write(data, data.length);
-  foStream.close();
-}
-
-function readFromFile(file)
-{
-  // |file| is nsIFile
-  var data = "";
-  var fstream = Components.classes["@mozilla.org/network/file-input-stream;1"]
-                          .createInstance(Components.interfaces.nsIFileInputStream);
-  var sstream = Components.classes["@mozilla.org/scriptableinputstream;1"]
-                          .createInstance(Components.interfaces.nsIScriptableInputStream);
-  fstream.init(file, -1, 0, 0);
-  sstream.init(fstream);
-
-  var str = sstream.read(4096);
-  while (str.length > 0) {
-    data += str;
-    str = sstream.read(4096);
-  }
-
-  sstream.close();
-  fstream.close();
-
-  return data;
-}
-
-function runProgram(commandLine)
-{
-  // create an nsILocalFile for the executable
-  var file = Components.classes["@mozilla.org/file/local;1"]
-                       .createInstance(Components.interfaces.nsILocalFile);
-  file.initWithPath("/bin/sh");
-
-  // create an nsIProcess
-  var process = Components.classes["@mozilla.org/process/util;1"]
-                          .createInstance(Components.interfaces.nsIProcess);
-  process.init(file);
-
-  // Run the process.
-  // If first param is true, calling thread will be blocked until
-  // called process terminates.
-  // Second and third params are used to pass command-line arguments
-  // to the process.
-  var args = ["-c", commandLine];
-  process.run(true, args, args.length);
-}
-
-// only for testing...
-function testIO()
-{
-  var f = makeTempFile();
-  writeToFile(f, "essai\ntest");
-  alert(readFromFile(f));
-  runProgram("zenity --info");
-}
diff --git a/nixos/gui/chrome/content/main.js b/nixos/gui/chrome/content/main.js
deleted file mode 100644
index ecfc5a8c5c9..00000000000
--- a/nixos/gui/chrome/content/main.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// global variables.
-var gNixOS;
-var gOptionView;
-
-/*
-var gProgressBar;
-function setProgress(current, max)
-{
-  if (gProgressBar) {
-    gProgressBar.value = 100 * current / max;
-    log("progress: " + gProgressBar.value + "%");
-  }
-  else
-    log("unknow progress bar");
-}
-*/
-
-function updateTextbox(id, value)
-{
-  // setting the height cause an overflow which resize the textbox to its
-  // content due to its onoverflow attribute.
-  $(id).attr("value", value).attr("height", 1);
-};
-
-function updatePanel(options)
-{
-  log("updatePanel: " + options.length);
-  if (options.length == 0)
-    return;
-  // FIXME: ignore the rest of the selection for now.
-  var o = options[0];
-  $("#name").attr("label", o.path);
-
-  if (o.typename != null)
-    $("#typename").attr("label", o.typename);
-  else
-    $("#typename").attr("label", "");
-
-  $("#desc").text(o.description);
-
-  if (o.value != null)
-    updateTextbox("#val", o.value);
-  else
-    updateTextbox("#val", "");
-
-  if (o.defaultValue != null)
-    updateTextbox("#def", o.defaultValue);
-  else
-    updateTextbox("#def", "");
-
-  if (o.example != null)
-    updateTextbox("#exp", o.example);
-  else
-    updateTextbox("#exp", "");
-
-  updateTextbox("#decls", o.declarations.join("\n"));
-  updateTextbox("#defs", o.definitions.join("\n"));
-}
-
-
-function onload()
-{
-  var optionTree = document.getElementById("option-tree");
-  // gProgressBar = document.getElementById("progress-bar");
-  // setProgress(0, 1);
-
-  gNixOS = new NixOS();
-  gOptionView = new OptionView(gNixOS.option, updatePanel);
-  optionTree.view = gOptionView;
-}
diff --git a/nixos/gui/chrome/content/myviewer.xul b/nixos/gui/chrome/content/myviewer.xul
deleted file mode 100644
index 2aeb9391d07..00000000000
--- a/nixos/gui/chrome/content/myviewer.xul
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-
-<!DOCTYPE window>
-
-<!-- To edit this file I recommend you to use:
-     http://xulfr.org/outils/xulediteur.xul
-  -->
-
-<window
-  id     = "nixos-gui"
-  title  = "NixOS gui"
-  width  = "800"
-  height = "600"
-  xmlns  = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-  <script src="jquery-1.5.2.js"/>
-  <script src="io.js"/>
-  <script src="nixos.js"/>
-  <script src="optionView.js"/>
-  <script src="main.js"/>
-  <hbox flex="1">
-    <vbox width="250">
-      <tree flex="1" id="option-tree" persist="height" onselect="gOptionView.selectionChanged()">
-        <treecols>
-          <treecol persist="hidden width" flex="9" id="opt-name"
-                   label="Option" primary="true"/>
-          <!-- Uncomment the following column to see the number of option
-               printed below each options. -->
-          <!--
-          <treecol persist="hidden width" flex="1" id="dbg-size"
-                   label="sz"/>
-          -->
-        </treecols>
-        <treechildren id="first-child" flex="1"/>
-      </tree>
-    </vbox>
-    <vbox flex="3" style="overflow: auto">
-      <caption id="name" label=""/>
-      <caption id="typename" label=""/>
-      <separator/>
-      <description id="desc" hidden="false"></description>
-      <separator/>
-      <caption label="Value:"/>
-      <textbox id="val" readonly="true" multiline="true" value=""
-      class="plain" hidden="false" onoverflow="this.height =
-      this.inputField.scrollHeight;" />
-      <separator/>
-      <caption label="Default:"/>
-      <textbox id="def" readonly="true" multiline="true" value="" class="plain" hidden="false" onoverflow="this.height = this.inputField.scrollHeight;" />
-      <separator/>
-      <caption label="Example:"/>
-      <textbox id="exp" readonly="true" multiline="true" value="" class="plain" hidden="false" onoverflow="this.height = this.inputField.scrollHeight;" />
-      <separator/>
-      <caption label="Declarations:"/>
-      <textbox id="decls" readonly="true" multiline="true" value="" class="plain" hidden="false" onoverflow="this.height = this.inputField.scrollHeight;" />
-      <separator/>
-      <caption label="Definitions:"/>
-      <textbox id="defs" readonly="true" multiline="true" value=""
-      class="plain" hidden="false" onoverflow="this.height = this.inputField.scrollHeight;" />
-    </vbox>
-  </hbox>
-<!--  <progressmeter id="progress-bar" value="0%"/> -->
-</window>
diff --git a/nixos/gui/chrome/content/nixos.js b/nixos/gui/chrome/content/nixos.js
deleted file mode 100644
index 63a3c16a573..00000000000
--- a/nixos/gui/chrome/content/nixos.js
+++ /dev/null
@@ -1,255 +0,0 @@
-
-function NixOS () {
-  var env = Components.classes["@mozilla.org/process/environment;1"].
-    getService(Components.interfaces.nsIEnvironment);
-
-  if (env.exists("NIXOS"))
-    this.nixos = env.get("NIXOS");
-  if (env.exists("NIXOS_CONFIG"))
-    this.config = env.get("NIXOS_CONFIG");
-  if (env.exists("NIXPKGS"))
-    this.nixpkgs = env.get("NIXPKGS");
-  if (env.exists("mountPoint"))
-    this.root = env.get("mountPoint");
-  if (env.exists("NIXOS_OPTION"))
-    this.optionBin = env.get("NIXOS_OPTION");
-  this.option = new Option("options", this, null);
-};
-
-NixOS.prototype = {
-  root: "",
-  nixos: "/etc/nixos/nixos",
-  nixpkgs: "/etc/nixos/nixpkgs",
-  config: "/etc/nixos/configuration.nix",
-  instantiateBin: "/run/current-system/sw/bin/nix-instantiate",
-  optionBin: "/run/current-system/sw/bin/nixos-option",
-  tmpFile: "nixos-gui",
-  option: null
-};
-
-function Option (name, context, parent) {
-  this.name = name;
-  this.context_ = context;
-  if (parent == null)
-    this.path = "";
-  else if (parent.path == "")
-    this.path = name;
-  else
-    this.path = parent.path + "." + name;
-};
-
-Option.prototype = {
-  load: function () {
-    var env = "";
-    env += "'NIXOS=" + this.context_.root + this.context_.nixos + "' ";
-    env += "'NIXOS_PKGS=" + this.context_.root + this.context_.nixpkgs + "' ";
-    env += "'NIXOS_CONFIG=" + this.context_.config + "' ";
-    var out = makeTempFile(this.context_.tmpFile);
-    var prog = this.context_.optionBin + " 2>&1 >" + out.path + " ";
-    var args = " --xml " + this.path;
-
-    runProgram(/*env + */ prog + args);
-    var xml = readFromFile(out);
-    out.remove(false);
-
-    // jQuery does a stack overflow when converting a huge XML to a DOM.
-    var dom = DOMParser().parseFromString(xml, "text/xml");
-    var xmlAttrs = $("expr > attrs > attr", dom);
-
-    this.isOption = xmlAttrs.first().attr("name") == "_isOption";
-
-    if (!this.isOption)
-      this.loadSubOptions(xmlAttrs);
-    else
-      this.loadOption(xmlAttrs);
-    this.isLoaded = true;
-  },
-
-  loadSubOptions:  function (xmlAttrs) {
-    var cur = this;
-    var attrs = new Array();
-
-    xmlAttrs.each(
-      function (index) {
-        var name = $(this).attr("name");
-        var attr = new Option(name, cur.context_, cur);
-        attrs.push(attr);
-      }
-    );
-
-    this.subOptions = attrs;
-  },
-
-  optionAttributeMap: {
-    _isOption: function (cur, v) { },
-    value: function (cur, v) { cur.value = xml2nix($(v).children().first()); },
-    default: function (cur, v) { cur.defaultValue = xml2nix($(v).children().first()); },
-    example: function (cur, v) { cur.example = xml2nix($(v).children().first()); },
-    description: function (cur, v) { cur.description = this.string(v); },
-    typename: function (cur, v) { cur.typename = this.string(v); },
-    options: function (cur, v) { cur.loadSubOptions($("attrs", v).children()); },
-    declarations: function (cur, v) { cur.declarations = this.pathList(v); },
-    definitions: function (cur, v) { cur.definitions = this.pathList(v); },
-
-    string: function (v) {
-      return $(v).children("string").first().attr("value");
-    },
-
-    pathList: function (v) {
-      var list = [];
-      $(v).children("list").first().children().each(
-        function (idx) {
-          list.push($(this).attr("value"));
-        }
-      );
-      return list;
-    }
-  },
-
-
-  loadOption: function (attrs) {
-    var cur = this;
-
-    attrs.each(
-      function (index) {
-        var name = $(this).attr("name");
-        log("loadOption: " + name);
-        cur.optionAttributeMap[name](cur, this);
-      }
-    );
-  },
-
-  // keep the context under which this option has been used.
-  context_: null,
-  // name of the option.
-  name: "",
-  // result of nixos-option.
-  value: null,
-  typename: null,
-  defaultValue: null,
-  example: null,
-  description: "",
-  declarations: [],
-  definitions: [],
-  // path to reach this option
-  path: "",
-
-  // list of options accessible from here.
-  isLoaded: false,
-  isOption: false,
-  subOptions: []
-};
-
-var xml2nix_pptable = {
-  attrs: function (node, depth, pp) {
-    var children = node.children().not(
-      function () {
-        var name = $(this).attr("name");
-        return name.charAt(0) == "_";
-      }
-    );
-    var c = 0;
-    var out = "";
-    out += "{";
-    depth += 1;
-    children.each(
-      function (idx) {
-        c += 1;
-        out += pp.indent(depth);
-        out += pp.dispatch($(this), depth, pp);
-      }
-    );
-    depth -= 1;
-    if (c > 0)
-      out += this.indent(depth);
-    else
-      out += " ";
-    out += "}";
-    return out;
-  },
-  list: function (node, depth, pp) {
-    var children = node.children();
-    var c = 0;
-    var out = "";
-    out += "[";
-    depth += 1;
-    children.each(
-      function (idx) {
-        c += 1;
-        out += pp.indent(depth);
-        out += pp.dispatch($(this), depth, pp);
-      }
-    );
-    depth -= 1;
-    if (c > 0)
-      out += this.indent(depth);
-    else
-      out += " ";
-    out += "]";
-    return out;
-  },
-  attr: function (node, depth, pp) {
-    var name = node.attr("name");
-    var out = "";
-    var val = "";
-    out += name + " = ";
-    depth += 1;
-    val = pp.dispatch(node.children().first(), depth, pp);
-    out += val;
-    depth -= 1;
-    out += ";";
-    return out;
-  },
-  string: function (node, depth, pp) {
-    return "\"" + node.attr("value") + "\"";
-  },
-  path: function (node, depth, pp) {
-    return node.attr("value");
-  },
-  bool: function (node, depth, pp) {
-    return node.attr("value");
-  },
-  "int": function (node, depth, pp) {
-    return node.attr("value");
-  },
-  null: function (node, depth, pp) {
-    return "null";
-  },
-  derivation: function (node, depth, pp) {
-    return "<derivation>";
-  },
-  function: function (node, depth, pp) {
-    return "<function>";
-  },
-  unevaluated: function (node, depth, pp) {
-    return "<unevaluated>";
-  },
-
-  dispatch: function (node, depth, pp) {
-    for (var key in pp)
-    {
-      if(node.is(key))
-      {
-        // log(this.indent(depth) + "dispatch: " + key);
-        var out = pp[key](node, depth, pp);
-        // log(this.indent(depth) + "dispatch: => " + out);
-        return out;
-      }
-    }
-    return "<dispatch-error>";
-  },
-  indent: function (depth) {
-    var ret = "\n";
-    while (depth--)
-      ret += "  ";
-    return ret;
-  }
-};
-
-function xml2nix(node) {
-  var depth = 0;
-  var pp = xml2nix_pptable;
-  var out = pp.dispatch(node, depth, pp);
-  // log("pretty:\n" + out);
-  return out;
-}
diff --git a/nixos/gui/chrome/content/optionView.js b/nixos/gui/chrome/content/optionView.js
deleted file mode 100644
index 0d093740fe2..00000000000
--- a/nixos/gui/chrome/content/optionView.js
+++ /dev/null
@@ -1,242 +0,0 @@
-// extend NixOS options to handle the Tree View.  Should be better to keep a
-// separation of concern here.
-
-Option.prototype.tv_opened = false;
-Option.prototype.tv_size = 1;
-
-Option.prototype.tv_open = function () {
-  this.tv_opened = true;
-  this.tv_size = 1;
-
-  // load an option if it is not loaded yet, and initialize them to be
-  // read by the Option view.
-  if (!this.isLoaded)
-    this.load();
-
-  // If this is not an option, then add it's lits of sub-options size.
-  if (!this.isOption)
-  {
-    for (var i = 0; i < this.subOptions.length; i++)
-      this.tv_size += this.subOptions[i].tv_size;
-  }
-};
-
-Option.prototype.tv_close = function () {
-  this.tv_opened = false;
-  this.tv_size = 1;
-};
-
-
-
-
-function OptionView (root, selCallback) {
-  root.tv_open();
-  this.rootOption = root;
-  this.selCallback = selCallback;
-}
-
-OptionView.prototype = {
-  rootOption: null,
-  selCallback: null,
-
-  // This function returns the path to option which is at the specified row.
-  reach_cache: null,
-  reachRow: function (row) {
-    var o = this.rootOption; // Current option.
-    var r = 0; // Number of rows traversed.
-    var c = 0; // Child index.
-    var path = [{ row: r, opt: o }]; // new Array();
-    // hypothesis: this.rootOption.tv_size is always open and bigger than
-
-    // Use the previous returned value to avoid making to many checks and to
-    // optimize for frequent access of near rows.
-    if (this.reach_cache != null)
-    {
-      for (var i = this.reach_cache.length - 2; i >= 0; i--) {
-        var p = this.reach_cache[i];
-        // If we will have to go the same path.
-        if (row >= p.row && row < p.row + p.opt.tv_size)
-        {
-          path.unshift(p);
-          r = path[0].row;
-          o = path[0].opt;
-        }
-        else
-          break;
-      };
-    }
-
-    while (r != row)
-    {
-      // Go deeper in the child which contains the requested row.  The
-      // tv_size contains the size of the tree starting from each option.
-      c = 0;
-      while (c < o.subOptions.length && r + o.subOptions[c].tv_size < row)
-      {
-        r += o.subOptions[c].tv_size;
-        c += 1;
-      }
-      if (c < o.subOptions.length && r + o.subOptions[c].tv_size >= row)
-      {
-        // Count the current option as a row.
-        o = o.subOptions[c];
-        r += 1;
-      }
-      else
-        alert("WTF: " + o.name + " ask: " + row + " children: " + o.subOptions + " c: " + c);
-      path.unshift({ row: r, opt: o });
-    }
-
-    this.reach_cache = path;
-    return path;
-  },
-
-  // needs to return true if there is a /row/ at the same level /after/ a
-  // given row.
-  hasNextSibling: function(row, after) {
-    log("sibling " + row + " after " + after);
-    var path = reachRow(row);
-    if (path.length > 1)
-    {
-      var last = path[1].row + path[1].opt.tv_size;
-      // Has a next sibling if the row is not over the size of the
-      // parent and if the current one is not the last child.
-      return after + 1 < last && path[0].row + path[0].opt.tv_size < last;
-    }
-    else
-      // The top-level option has no sibling.
-      return false;
-  },
-
-  // Does the current row contain any sub-options?
-  isContainer: function(row) {
-    return !this.reachRow(row)[0].opt.isOption;
-  },
-  isContainerEmpty: function(row) {
-    return this.reachRow(row)[0].opt.subOptions.length == 0;
-  },
-  isContainerOpen: function(row) {
-    return this.reachRow(row)[0].opt.tv_opened;
-  },
-
-  // Open or close an option.
-  toggleOpenState: function (row) {
-    var path = this.reachRow(row);
-    var delta = -path[0].opt.tv_size;
-    if (path[0].opt.tv_opened)
-      path[0].opt.tv_close();
-    else
-      path[0].opt.tv_open();
-    delta += path[0].opt.tv_size;
-
-    // Parents are alreay opened, but we need to update the tv_size
-    // counters.  Thus we have to invalidate the reach cache.
-    this.reach_cache = null;
-    for (var i = 1; i < path.length; i++)
-      path[i].opt.tv_open();
-
-    this.tree.rowCountChanged(row + 1, delta);
-  },
-
-  // Return the identation level of the option at the line /row/.  The
-  // top-level level is 0.
-  getLevel: function(row) {
-    return this.reachRow(row).length - 1;
-  },
-
-  // Obtain the index of a parent row. If there is no parent row,
-  // returns -1.
-  getParentIndex: function(row) {
-    var path = this.reachRow(row);
-    if (path.length > 1)
-      return path[1].row;
-    else
-      return -1;
-  },
-
-
-  // Return the content of each row base on the column name.
-  getCellText: function(row, column) {
-    if (column.id == "opt-name")
-      return this.reachRow(row)[0].opt.name;
-    if (column.id == "dbg-size")
-      return this.reachRow(row)[0].opt.tv_size;
-    return "";
-  },
-
-  // We have no column with images.
-  getCellValue: function(row, column) { },
-
-
-  isSelectable: function(row, column) { return true; },
-
-  // Get the selection out of the tree and give options to the call back
-  // function.
-  selectionChanged: function() {
-    if (this.selCallback == null)
-      return;
-    var opts = [];
-    var start = new Object();
-    var end = new Object();
-    var numRanges = this.tree.view.selection.getRangeCount();
-
-    for (var t = 0; t < numRanges; t++) {
-      this.tree.view.selection.getRangeAt(t,start,end);
-      for (var v = start.value; v <= end.value; v++) {
-        var opt = this.reachRow(v)[0].opt;
-        if (!opt.isLoaded)
-          opt.load();
-        if (opt.isOption)
-          opts.push(opt);
-
-        // FIXME: no need to make things slowing down, because our current
-        // callback do not handle multiple option display.
-        if (!opts.empty)
-          break;
-      }
-      // FIXME: no need to make things slowing down, because our current
-      // callback do not handle multiple option display.
-      if (!opts.empty)
-        break;
-    }
-
-    if (!opts.empty)
-      this.selCallback(opts);
-  },
-
-  set rowCount(c) { throw "rowCount is a readonly property"; },
-  get rowCount() { return this.rootOption.tv_size; },
-
-  // refuse drag-n-drop of options.
-  canDrop: function (index, orientation, dataTransfer) { return false; },
-  drop: function (index, orientation, dataTransfer) { },
-
-  // ?
-  getCellProperties: function(row, column, prop) { },
-  getColumnProperties: function(column, prop) { },
-  getRowProperties: function(row, prop) { },
-  getImageSrc: function(row, column) { },
-
-  // No progress columns are used.
-  getProgressMode: function(row, column) { },
-
-  // Do not add options yet.
-  isEditable: function(row, column) { return false; },
-  setCellValue: function(row, column, value) { },
-  setCellText: function(row, column, value) { },
-
-  // ...
-  isSeparator: function(index) { return false; },
-  isSorted: function() { return false; },
-  performAction: function(action) { },
-  performActionOnCell: function(action, row, column) { },
-  performActionOnRow: function(action, row) { }, // ??
-
-  // ??
-  cycleCell: function (row, col) { },
-  cycleHeader: function(col) { },
-
-  selection: null,
-  tree: null,
-  setTree: function(tree) { this.tree = tree; }
-};
diff --git a/nixos/gui/components/clh.js b/nixos/gui/components/clh.js
deleted file mode 100644
index fd85422d6c8..00000000000
--- a/nixos/gui/components/clh.js
+++ /dev/null
@@ -1,154 +0,0 @@
-const nsIAppShellService    = Components.interfaces.nsIAppShellService;
-const nsISupports           = Components.interfaces.nsISupports;
-const nsICategoryManager    = Components.interfaces.nsICategoryManager;
-const nsIComponentRegistrar = Components.interfaces.nsIComponentRegistrar;
-const nsICommandLine        = Components.interfaces.nsICommandLine;
-const nsICommandLineHandler = Components.interfaces.nsICommandLineHandler;
-const nsIFactory            = Components.interfaces.nsIFactory;
-const nsIModule             = Components.interfaces.nsIModule;
-const nsIWindowWatcher      = Components.interfaces.nsIWindowWatcher;
-
-// CHANGEME: to the chrome URI of your extension or application
-const CHROME_URI = "chrome://nixos-gui/content/myviewer.xul";
-
-// CHANGEME: change the contract id, CID, and category to be unique
-// to your application.
-const clh_contractID = "@mozilla.org/commandlinehandler/general-startup;1?type=myapp";
-
-// use uuidgen to generate a unique ID
-const clh_CID = Components.ID("{2991c315-b871-42cd-b33f-bfee4fcbf682}");
-
-// category names are sorted alphabetically. Typical command-line handlers use a
-// category that begins with the letter "m".
-const clh_category = "m-myapp";
-
-/**
- * Utility functions
- */
-
-/**
- * Opens a chrome window.
- * @param aChromeURISpec a string specifying the URI of the window to open.
- * @param aArgument an argument to pass to the window (may be null)
- */
-function openWindow(aChromeURISpec, aArgument)
-{
-  var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"].
-    getService(Components.interfaces.nsIWindowWatcher);
-  ww.openWindow(null, aChromeURISpec, "_blank",
-                "chrome,menubar,toolbar,status,resizable,dialog=no",
-                aArgument);
-}
- 
-/**
- * The XPCOM component that implements nsICommandLineHandler.
- * It also implements nsIFactory to serve as its own singleton factory.
- */
-const myAppHandler = {
-  /* nsISupports */
-  QueryInterface : function clh_QI(iid)
-  {
-    if (iid.equals(nsICommandLineHandler) ||
-        iid.equals(nsIFactory) ||
-        iid.equals(nsISupports))
-      return this;
-
-    throw Components.results.NS_ERROR_NO_INTERFACE;
-  },
-
-  /* nsICommandLineHandler */
-
-  handle : function clh_handle(cmdLine)
-  {
-    openWindow(CHROME_URI, cmdLine);
-    cmdLine.preventDefault = true;
-  },
-
-  // CHANGEME: change the help info as appropriate, but
-  // follow the guidelines in nsICommandLineHandler.idl
-  // specifically, flag descriptions should start at
-  // character 24, and lines should be wrapped at
-  // 72 characters with embedded newlines,
-  // and finally, the string should end with a newline
-  helpInfo : "  <filename>           Open the file in the viewer\n",
-
-  /* nsIFactory */
-
-  createInstance : function clh_CI(outer, iid)
-  {
-    if (outer != null)
-      throw Components.results.NS_ERROR_NO_AGGREGATION;
-
-    return this.QueryInterface(iid);
-  },
-
-  lockFactory : function clh_lock(lock)
-  {
-    /* no-op */
-  }
-};
-
-/**
- * The XPCOM glue that implements nsIModule
- */
-const myAppHandlerModule = {
-  /* nsISupports */
-  QueryInterface : function mod_QI(iid)
-  {
-    if (iid.equals(nsIModule) ||
-        iid.equals(nsISupports))
-      return this;
-
-    throw Components.results.NS_ERROR_NO_INTERFACE;
-  },
-
-  /* nsIModule */
-  getClassObject : function mod_gch(compMgr, cid, iid)
-  {
-    if (cid.equals(clh_CID))
-      return myAppHandler.QueryInterface(iid);
-
-    throw Components.results.NS_ERROR_NOT_REGISTERED;
-  },
-
-  registerSelf : function mod_regself(compMgr, fileSpec, location, type)
-  {
-    compMgr.QueryInterface(nsIComponentRegistrar);
-
-    compMgr.registerFactoryLocation(clh_CID,
-                                    "myAppHandler",
-                                    clh_contractID,
-                                    fileSpec,
-                                    location,
-                                    type);
-
-    var catMan = Components.classes["@mozilla.org/categorymanager;1"].
-      getService(nsICategoryManager);
-    catMan.addCategoryEntry("command-line-handler",
-                            clh_category,
-                            clh_contractID, true, true);
-  },
-
-  unregisterSelf : function mod_unreg(compMgr, location, type)
-  {
-    compMgr.QueryInterface(nsIComponentRegistrar);
-    compMgr.unregisterFactoryLocation(clh_CID, location);
-
-    var catMan = Components.classes["@mozilla.org/categorymanager;1"].
-      getService(nsICategoryManager);
-    catMan.deleteCategoryEntry("command-line-handler", clh_category);
-  },
-
-  canUnload : function (compMgr)
-  {
-    return true;
-  }
-};
-
-/* The NSGetModule function is the magic entry point that XPCOM uses to find what XPCOM objects
- * this component provides
- */
-function NSGetModule(comMgr, fileSpec)
-{
-  return myAppHandlerModule;
-}
diff --git a/nixos/gui/defaults/preferences/myviewer-prefs.js b/nixos/gui/defaults/preferences/myviewer-prefs.js
deleted file mode 100644
index e10fa18c0d8..00000000000
--- a/nixos/gui/defaults/preferences/myviewer-prefs.js
+++ /dev/null
@@ -1,11 +0,0 @@
-pref("toolkit.defaultChromeURI", "chrome://nixos-gui/content/myviewer.xul");
-pref("general.useragent.extra.myviewer", "NixOS gui/0.0");
-
-/* debugging prefs */
-pref("browser.dom.window.dump.enabled", true);  // enable output to stderr
-pref("javascript.options.showInConsole", true); // show javascript errors from chrome: files in the jsconsole
-pref("javascript.options.strict", true);        // show javascript strict warnings in the jsconsole
-
-/* disable xul cache so that modifications to chrome: files apply without restarting xulrunner */
-pref("nglayout.debug.disable_xul_cache", true); 
-pref("nglayout.debug.disable_xul_fastload", true);
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index 498c0a37783..d0c9e7c6d23 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -48,10 +48,11 @@ rec {
             let
               interfacesNumbered = zipTwoLists config.virtualisation.vlans (range 1 255);
               interfaces = flip map interfacesNumbered ({ first, second }:
-                nameValuePair "eth${toString second}"
-                  { ipAddress = "192.168.${toString first}.${toString m.second}";
-                    subnetMask = "255.255.255.0";
-                  });
+                nameValuePair "eth${toString second}" { ip4 =
+                  [ { address = "192.168.${toString first}.${toString m.second}";
+                      prefixLength = 24;
+                  } ];
+                });
             in
             { key = "ip-address";
               config =
@@ -60,7 +61,7 @@ rec {
                   networking.interfaces = listToAttrs interfaces;
 
                   networking.primaryIPAddress =
-                    optionalString (interfaces != []) (head interfaces).value.ipAddress;
+                    optionalString (interfaces != []) (head (head interfaces).value.ip4).address;
 
                   # Put the IP addresses of all VMs in this machine's
                   # /etc/hosts file.  If a machine has multiple
@@ -69,7 +70,7 @@ rec {
                   # virtualisation.vlans option).
                   networking.extraHosts = flip concatMapStrings machines
                     (m': let config = (getAttr m' nodes).config; in
-                      optionalString (m.first != m' && config.networking.primaryIPAddress != "")
+                      optionalString (config.networking.primaryIPAddress != "")
                         ("${config.networking.primaryIPAddress} " +
                          "${config.networking.hostName}\n"));
 
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 0fa00637a93..adacbd0863e 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -2,26 +2,51 @@
 # configuration object (`config') from which we can retrieve option
 # values.
 
-{ system ? builtins.currentSystem
-, pkgs ? null
-, baseModules ? import ../modules/module-list.nix
-, extraArgs ? {}
+# !!! Please think twice before adding to this argument list!
+# Ideally eval-config.nix would be an extremely thin wrapper
+# around lib.evalModules, so that modular systems that have nixos configs
+# as subcomponents (e.g. the container feature, or nixops if network
+# expressions are ever made modular at the top level) can just use
+# types.submodule instead of using eval-config.nix
+{ # !!! system can be set modularly, would be nice to remove
+  system ? builtins.currentSystem
+, # !!! is this argument needed any more? The pkgs argument can
+  # be set modularly anyway.
+  pkgs ? null
+, # !!! what do we gain by making this configurable?
+  baseModules ? import ../modules/module-list.nix
+, # !!! See comment about args in lib/modules.nix
+  extraArgs ? {}
 , modules
-, check ? true
+, # !!! See comment about check in lib/modules.nix
+  check ? true
 , prefix ? []
+, lib ? import ../../lib
 }:
 
-let extraArgs_ = extraArgs; pkgs_ = pkgs; system_ = system; in
+let extraArgs_ = extraArgs; pkgs_ = pkgs; system_ = system;
+    extraModules = let e = builtins.getEnv "NIXOS_EXTRA_MODULE_PATH";
+                   in if e == "" then [] else [(import (builtins.toPath e))];
+in
 
-rec {
+let
+  pkgsModule = rec {
+    _file = ./eval-config.nix;
+    key = _file;
+    config = {
+      nixpkgs.system = lib.mkDefault system_;
+      _module.args.pkgs = lib.mkIf (pkgs_ != null) (lib.mkForce pkgs_);
+    };
+  };
+
+in rec {
 
   # Merge the option definitions in all modules, forming the full
   # system configuration.
-  inherit (pkgs.lib.evalModules {
-    inherit prefix;
-    modules = modules ++ baseModules;
+  inherit (lib.evalModules {
+    inherit prefix check;
+    modules = modules ++ extraModules ++ baseModules ++ [ pkgsModule ];
     args = extraArgs;
-    check = check && options.environment.checkConfigurationOptions.value;
   }) config options;
 
   # These are the extra arguments passed to every module.  In
@@ -32,40 +57,8 @@ rec {
   # the 64-bit package anyway. However, it would be cleaner to respect
   # nixpkgs.config here.
   extraArgs = extraArgs_ // {
-    inherit pkgs modules baseModules;
-    modulesPath = ../modules;
-    pkgs_i686 = import ./nixpkgs.nix { system = "i686-linux"; config.allowUnfree = true; };
-    utils = import ./utils.nix pkgs;
+    inherit modules baseModules;
   };
 
-  # Import Nixpkgs, allowing the NixOS option nixpkgs.config to
-  # specify the Nixpkgs configuration (e.g., to set package options
-  # such as firefox.enableGeckoMediaPlayer, or to apply global
-  # overrides such as changing GCC throughout the system), and the
-  # option nixpkgs.system to override the platform type.  This is
-  # tricky, because we have to prevent an infinite recursion: "pkgs"
-  # is passed as an argument to NixOS modules, but the value of "pkgs"
-  # depends on config.nixpkgs.config, which we get from the modules.
-  # So we call ourselves here with "pkgs" explicitly set to an
-  # instance that doesn't depend on nixpkgs.config.
-  pkgs =
-    if pkgs_ != null
-    then pkgs_
-    else import ./nixpkgs.nix (
-      let
-        system = if nixpkgsOptions.system != "" then nixpkgsOptions.system else system_;
-        nixpkgsOptions = (import ./eval-config.nix {
-          inherit system extraArgs modules prefix;
-          # For efficiency, leave out most NixOS modules; they don't
-          # define nixpkgs.config, so it's pointless to evaluate them.
-          baseModules = [ ../modules/misc/nixpkgs.nix ../modules/config/no-x-libs.nix ];
-          pkgs = import ./nixpkgs.nix { system = system_; config = {}; };
-          check = false;
-        }).config.nixpkgs;
-      in
-      {
-        inherit system;
-        inherit (nixpkgsOptions) config;
-      });
-
+  inherit (config._module.args) pkgs;
 }
diff --git a/nixos/lib/make-iso9660-image.nix b/nixos/lib/make-iso9660-image.nix
index 5ad546e9534..b2409c6006b 100644
--- a/nixos/lib/make-iso9660-image.nix
+++ b/nixos/lib/make-iso9660-image.nix
@@ -1,4 +1,4 @@
-{ stdenv, perl, cdrkit, pathsFromGraph
+{ stdenv, perl, pathsFromGraph, xorriso, syslinux
 
 , # The file name of the resulting ISO image.
   isoName ? "cd.iso"
@@ -22,12 +22,18 @@
 , # Whether this should be an efi-bootable El-Torito CD.
   efiBootable ? false
 
+, # Wheter this should be an hybrid CD (bootable from USB as well as CD).
+  usbBootable ? false
+
 , # The path (in the ISO file system) of the boot image.
   bootImage ? ""
 
 , # The path (in the ISO file system) of the efi boot image.
   efiBootImage ? ""
 
+, # The path (outside the ISO file system) of the isohybrid-mbr image.
+  isohybridMbrImage ? ""
+
 , # Whether to compress the resulting ISO image with bzip2.
   compressImage ? false
 
@@ -38,13 +44,14 @@
 
 assert bootable -> bootImage != "";
 assert efiBootable -> efiBootImage != "";
+assert usbBootable -> isohybridMbrImage != "";
 
 stdenv.mkDerivation {
   name = "iso9660-image";
   builder = ./make-iso9660-image.sh;
-  buildInputs = [perl cdrkit];
+  buildInputs = [perl xorriso syslinux];
 
-  inherit isoName bootable bootImage compressImage volumeID pathsFromGraph efiBootImage efiBootable;
+  inherit isoName bootable bootImage compressImage volumeID pathsFromGraph efiBootImage efiBootable isohybridMbrImage usbBootable;
 
   # !!! should use XML.
   sources = map (x: x.source) contents;
diff --git a/nixos/lib/make-iso9660-image.sh b/nixos/lib/make-iso9660-image.sh
index 675b5bb3514..c9a37379469 100644
--- a/nixos/lib/make-iso9660-image.sh
+++ b/nixos/lib/make-iso9660-image.sh
@@ -13,6 +13,20 @@ stripSlash() {
     if test "${res:0:1}" = /; then res=${res:1}; fi
 }
 
+# Escape potential equal signs (=) with backslash (\=)
+escapeEquals() {
+    echo "$1" | sed -e 's/\\/\\\\/g' -e 's/=/\\=/g'
+}
+
+# Queues an file/directory to be placed on the ISO.
+# An entry consists of a local source path (2) and
+# a destination path on the ISO (1).
+addPath() {
+    target="$1"
+    source="$2"
+    echo "$(escapeEquals "$target")=$(escapeEquals "$source")" >> pathlist
+}
+
 stripSlash "$bootImage"; bootImage="$res"
 
 
@@ -31,11 +45,20 @@ if test -n "$bootable"; then
         fi
     done
 
-    bootFlags="-b $bootImage -c .boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table"
+    isoBootFlags="-eltorito-boot ${bootImage}
+                  -eltorito-catalog .boot.cat
+                  -no-emul-boot -boot-load-size 4 -boot-info-table"
+fi
+
+if test -n "$usbBootable"; then
+    usbBootFlags="-isohybrid-mbr ${isohybridMbrImage}"
 fi
 
 if test -n "$efiBootable"; then
-    bootFlags="$bootFlags -eltorito-alt-boot -e $efiBootImage -no-emul-boot"
+    efiBootFlags="-eltorito-alt-boot
+                  -e $efiBootImage
+                  -no-emul-boot
+                  -isohybrid-gpt-basdat"
 fi
 
 touch pathlist
@@ -44,14 +67,14 @@ touch pathlist
 # Add the individual files.
 for ((i = 0; i < ${#targets_[@]}; i++)); do
     stripSlash "${targets_[$i]}"
-    echo "$res=${sources_[$i]}" >> pathlist
+    addPath "$res" "${sources_[$i]}"
 done
 
 
 # Add the closures of the top-level store objects.
 storePaths=$(perl $pathsFromGraph closure-*)
 for i in $storePaths; do
-    echo "${i:1}=$i" >> pathlist
+    addPath "${i:1}" "$i"
 done
 
 
@@ -59,7 +82,7 @@ done
 # nix-store --load-db.
 if [ -n "$object" ]; then
     printRegistration=1 perl $pathsFromGraph closure-* > nix-path-registration
-    echo "nix-path-registration=nix-path-registration" >> pathlist
+    addPath "nix-path-registration" "nix-path-registration"
 fi
 
 
@@ -70,22 +93,39 @@ for ((n = 0; n < ${#objects[*]}; n++)); do
     if test "$symlink" != "none"; then
         mkdir -p $(dirname ./$symlink)
         ln -s $object ./$symlink
-        echo "$symlink=./$symlink" >> pathlist
+        addPath "$symlink" "./$symlink"
     fi
 done
 
-# !!! what does this do?
-cat pathlist | sed -e 's/=\(.*\)=\(.*\)=/\\=\1=\2\\=/' | tee pathlist.safer
-
-
 mkdir -p $out/iso
-genCommand="genisoimage -iso-level 4 -r -J $bootFlags -hide-rr-moved -graft-points -path-list pathlist.safer ${volumeID:+-V $volumeID}"
-if test -z "$compressImage"; then
-    $genCommand -o $out/iso/$isoName
-else
-    $genCommand | bzip2 > $out/iso/$isoName.bz2
+
+xorriso="xorriso
+ -as mkisofs
+ -iso-level 3
+ -volid ${volumeID}
+ -appid nixos
+ -publisher nixos
+ -graft-points
+ -full-iso9660-filenames
+ ${isoBootFlags}
+ ${usbBootFlags}
+ ${efiBootFlags}
+ -r
+ -path-list pathlist
+ --sort-weight 0 /
+ --sort-weight 1 /isolinux" # Make sure isolinux is near the beginning of the ISO
+
+$xorriso -output $out/iso/$isoName
+
+if test -n "$usbBootable"; then
+    echo "Making image hybrid..."
+    isohybrid --uefi $out/iso/$isoName
 fi
 
+if test -n "$compressImage"; then
+    echo "Compressing image..."
+    bzip2 $out/iso/$isoName
+fi
 
 mkdir -p $out/nix-support
 echo $system > $out/nix-support/system
diff --git a/nixos/lib/make-system-tarball.nix b/nixos/lib/make-system-tarball.nix
index 8fed9a34882..a2a0340a6bd 100644
--- a/nixos/lib/make-system-tarball.nix
+++ b/nixos/lib/make-system-tarball.nix
@@ -15,6 +15,12 @@
   # store path whose closure will be copied, and `symlink' is a
   # symlink to `object' that will be added to the tarball.
   storeContents ? []
+
+  # Extra commands to be executed before archiving files
+, extraCommands ? ""
+
+  # Extra tar arguments
+, extraArgs ? ""
 }:
 
 stdenv.mkDerivation {
@@ -22,7 +28,7 @@ stdenv.mkDerivation {
   builder = ./make-system-tarball.sh;
   buildInputs = [perl xz];
 
-  inherit fileName pathsFromGraph;
+  inherit fileName pathsFromGraph extraArgs extraCommands;
 
   # !!! should use XML.
   sources = map (x: x.source) contents;
diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh
index 096d96ac1c8..e04455e889b 100644
--- a/nixos/lib/make-system-tarball.sh
+++ b/nixos/lib/make-system-tarball.sh
@@ -33,7 +33,7 @@ for i in $storePaths; do
 done
 
 
-# TODO tar ruxo 
+# TODO tar ruxo
 # Also include a manifest of the closures in a format suitable for
 # nix-store --load-db.
 printRegistration=1 perl $pathsFromGraph closure-* > nix-path-registration
@@ -48,9 +48,11 @@ for ((n = 0; n < ${#objects[*]}; n++)); do
     fi
 done
 
+$extraCommands
+
 mkdir -p $out/tarball
 
-tar cvJf $out/tarball/$fileName.tar.xz *
+tar cvJf $out/tarball/$fileName.tar.xz * $extraArgs
 
 mkdir -p $out/nix-support
 echo $system > $out/nix-support/system
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index e2bd3393d87..e0791692d3e 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -37,6 +37,10 @@ sub new {
             if defined $args->{hda};
         $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 "
+            if defined $args->{usb};
+        $startCommand .= "-bios $args->{bios} "
+            if defined $args->{bios};
         $startCommand .= $args->{qemuFlags} || "";
     } else {
         $startCommand = Cwd::abs_path $startCommand;
@@ -482,7 +486,7 @@ sub screenshot {
     my $name = basename($filename);
     $self->nest("making screenshot ‘$name’", sub {
         $self->sendMonitorCommand("screendump $tmp");
-        system("convert $tmp ${filename}") == 0
+        system("pnmtopng $tmp > ${filename}") == 0
             or die "cannot convert screenshot";
         unlink $tmp;
     }, { image => $name } );
diff --git a/nixos/lib/test-driver/log2html.xsl b/nixos/lib/test-driver/log2html.xsl
index ce8a9c6de2b..0485412b4c8 100644
--- a/nixos/lib/test-driver/log2html.xsl
+++ b/nixos/lib/test-driver/log2html.xsl
@@ -9,8 +9,8 @@
   <xsl:template match="logfile">
     <html>
       <head>
-        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
-        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
+        <script type="text/javascript" src="jquery.min.js"></script>
+        <script type="text/javascript" src="jquery-ui.min.js"></script>
         <script type="text/javascript" src="treebits.js" />
         <link rel="stylesheet" href="logfile.css" type="text/css" />
         <title>Log File</title>
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 0e23fc5d187..c14f15a1ad5 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -27,7 +27,7 @@ rec {
         cp ${./test-driver/Logger.pm} $libDir/Logger.pm
 
         wrapProgram $out/bin/nixos-test-driver \
-          --prefix PATH : "${pkgs.qemu_kvm}/bin:${pkgs.vde2}/bin:${imagemagick}/bin:${coreutils}/bin" \
+          --prefix PATH : "${qemu_kvm}/bin:${vde2}/bin:${netpbm}/bin:${coreutils}/bin" \
           --prefix PERL5LIB : "${lib.makePerlPath [ perlPackages.TermReadLineGnu perlPackages.XMLWriter perlPackages.IOTty ]}:$out/lib/perl5/site_perl"
       '';
   };
@@ -41,18 +41,20 @@ rec {
 
       requiredSystemFeatures = [ "kvm" "nixos-test" ];
 
-      buildInputs = [ pkgs.libxslt ];
+      buildInputs = [ libxslt ];
 
       buildCommand =
         ''
           mkdir -p $out/nix-support
 
-          LOGFILE=$out/log.xml tests='eval $ENV{testScript}; die $@ if $@;' ${driver}/bin/nixos-test-driver || failed=1
+          LOGFILE=$out/log.xml tests='eval $ENV{testScript}; die $@ if $@;' ${driver}/bin/nixos-test-driver
 
           # Generate a pretty-printed log.
           xsltproc --output $out/log.html ${./test-driver/log2html.xsl} $out/log.xml
           ln -s ${./test-driver/logfile.css} $out/logfile.css
           ln -s ${./test-driver/treebits.js} $out/treebits.js
+          ln -s ${jquery}/js/jquery.min.js $out/
+          ln -s ${jquery-ui}/js/jquery-ui.min.js $out/
 
           touch $out/nix-support/hydra-build-products
           echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products
@@ -61,8 +63,6 @@ rec {
             mkdir -p $out/coverage-data
             mv $i $out/coverage-data/$(dirname $(dirname $i))
           done
-
-          [ -z "$failed" ] || touch $out/nix-support/failed
         ''; # */
     };
 
@@ -151,7 +151,7 @@ rec {
         startAll;
         $client->waitForUnit("multi-user.target");
         ${preBuild}
-        $client->succeed("env -i ${pkgs.bash}/bin/bash ${buildrunner} /tmp/xchg/saved-env >&2");
+        $client->succeed("env -i ${bash}/bin/bash ${buildrunner} /tmp/xchg/saved-env >&2");
         ${postBuild}
         $client->succeed("sync"); # flush all data before pulling the plug
       '';
diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix
index 35c56e8c32b..7b8be2050c1 100644
--- a/nixos/lib/utils.nix
+++ b/nixos/lib/utils.nix
@@ -5,6 +5,7 @@ rec {
   # Escape a path according to the systemd rules, e.g. /dev/xyzzy
   # becomes dev-xyzzy.  FIXME: slow.
   escapeSystemdPath = s:
-   replaceChars ["/" "-" " "] ["-" "\\x2d" "\\x20"] (substring 1 (stringLength s) s);
+   replaceChars ["/" "-" " "] ["-" "\\x2d" "\\x20"]
+    (if hasPrefix "/" s then substring 1 (stringLength s) s else s);
 
 }
diff --git a/nixos/maintainers/scripts/azure/create-azure.sh b/nixos/maintainers/scripts/azure/create-azure.sh
new file mode 100755
index 00000000000..f87a88404f6
--- /dev/null
+++ b/nixos/maintainers/scripts/azure/create-azure.sh
@@ -0,0 +1,11 @@
+#! /bin/sh -e
+
+BUCKET_NAME=${BUCKET_NAME:-nixos}
+export NIX_PATH=nixpkgs=../../../..
+export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/azure-image.nix
+export TIMESTAMP=$(date +%Y%m%d%H%M)
+
+nix-build '<nixpkgs/nixos>' \
+   -A config.system.build.azureImage --argstr system x86_64-linux -o azure --option extra-binary-caches http://hydra.nixos.org -j 10
+
+azure vm image create nixos-test --location "West Europe" --md5-skip -v --os Linux azure/disk.vhd
diff --git a/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
index d9feba164a7..c0ec38bf489 100644
--- a/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
+++ b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
@@ -19,12 +19,13 @@ in
 {
   imports = [ ./amazon-base-config.nix ];
   ec2.hvm = true;
-  boot.loader.grub.device = lib.mkOverride 0 "nodev";
+  boot.loader.grub.device = lib.mkOverride 0 "/dev/xvdg";
+  boot.kernelParams = [ "console=ttyS0" ];
 
   boot.initrd.extraUtilsCommands = ''
-    cp -v ${pkgs.gawk}/bin/gawk $out/bin/gawk
-    cp -v ${pkgs.gnused}/bin/sed $out/bin/gnused
-    cp -v ${pkgs.utillinux}/sbin/sfdisk $out/bin/sfdisk
+    copy_bin_and_libs ${pkgs.gawk}/bin/gawk
+    copy_bin_and_libs ${pkgs.gnused}/bin/sed
+    copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
     cp -v ${growpart} $out/bin/growpart
   '';
   boot.initrd.postDeviceCommands = ''
diff --git a/nixos/maintainers/scripts/ec2/create-ebs-amis.py b/nixos/maintainers/scripts/ec2/create-ebs-amis.py
index 14607b9a367..44af56c4091 100755
--- a/nixos/maintainers/scripts/ec2/create-ebs-amis.py
+++ b/nixos/maintainers/scripts/ec2/create-ebs-amis.py
@@ -12,26 +12,35 @@ from nixops.statefile import StateFile, get_default_state_file
 
 parser = argparse.ArgumentParser(description='Create an EBS-backed NixOS AMI')
 parser.add_argument('--region', dest='region', required=True, help='EC2 region to create the image in')
-parser.add_argument('--channel', dest='channel', default="13.10", help='Channel to use')
+parser.add_argument('--channel', dest='channel', default="14.12", help='Channel to use')
 parser.add_argument('--keep', dest='keep', action='store_true', help='Keep NixOps machine after use')
 parser.add_argument('--hvm', dest='hvm', action='store_true', help='Create HVM image')
 parser.add_argument('--key', dest='key_name', action='store_true', help='Keypair used for HVM instance creation', default="rob")
 args = parser.parse_args()
 
 instance_type = "m3.medium" if args.hvm else "m1.small"
-ebs_size = 8 if args.hvm else 20
 
+if args.hvm:
+    virtualization_type = "hvm"
+    root_block = "/dev/sda1"
+    image_type = 'hvm'
+else:
+    virtualization_type = "paravirtual"
+    root_block = "/dev/sda"
+    image_type = 'ebs'
+
+ebs_size = 20
 
 # Start a NixOS machine in the given region.
 f = open("ebs-creator-config.nix", "w")
 f.write('''{{
-  resources.ec2KeyPairs.keypair.accessKeyId = "logicblox-dev";
+  resources.ec2KeyPairs.keypair.accessKeyId = "lb-nixos";
   resources.ec2KeyPairs.keypair.region = "{0}";
 
   machine =
     {{ pkgs, ... }}:
     {{
-      deployment.ec2.accessKeyId = "logicblox-dev";
+      deployment.ec2.accessKeyId = "lb-nixos";
       deployment.ec2.region = "{0}";
       deployment.ec2.blockDeviceMapping."/dev/xvdg".size = pkgs.lib.mkOverride 10 {1};
     }};
@@ -45,7 +54,7 @@ try:
 except Exception:
     depl = db.create_deployment()
     depl.name = "ebs-creator"
-depl.auto_response = "y"
+depl.logger.set_autoresponse("y")
 depl.nix_exprs = [os.path.abspath("./ebs-creator.nix"), os.path.abspath("./ebs-creator-config.nix")]
 if not args.keep: depl.destroy_resources()
 depl.deploy(allow_reboot=True)
@@ -66,7 +75,7 @@ m.run_command("mount {0} /mnt".format(device))
 m.run_command("touch /mnt/.ebs")
 m.run_command("mkdir -p /mnt/etc/nixos")
 
-m.run_command("nix-channel --add http://nixos.org/channels/nixos-{} nixos".format(args.channel))
+m.run_command("nix-channel --add https://nixos.org/channels/nixos-{} nixos".format(args.channel))
 m.run_command("nix-channel --update")
 
 version = m.run_command("nix-instantiate --eval-only -A lib.nixpkgsVersion '<nixpkgs>'", capture_stdout=True).split(' ')[0].replace('"','').strip()
@@ -76,10 +85,6 @@ if args.hvm:
     m.upload_file("./amazon-hvm-config.nix", "/mnt/etc/nixos/configuration.nix")
     m.upload_file("./amazon-hvm-install-config.nix", "/mnt/etc/nixos/amazon-hvm-install-config.nix")
     m.run_command("NIXOS_CONFIG=/etc/nixos/amazon-hvm-install-config.nix nixos-install")
-    m.run_command('nix-env -iA nixos.pkgs.grub')
-    m.run_command('cp /nix/store/*-grub-0.97*/lib/grub/i386-pc/* /mnt/boot/grub')
-    m.run_command('echo "(hd1) /dev/xvdg" > device.map')
-    m.run_command('echo -e "root (hd1,0)\nsetup (hd1)" | grub --device-map=device.map --batch')
 else:
     m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/configuration.nix")
     m.run_command("nixos-install")
@@ -87,7 +92,7 @@ else:
 m.run_command("umount /mnt")
 
 if args.hvm:
-    ami_name = "nixos-{0}-x86_64-ebs-hvm".format(version)
+    ami_name = "nixos-{0}-x86_64-hvm".format(version)
     description = "NixOS {0} (x86_64; EBS root; hvm)".format(version)
 else:
     ami_name = "nixos-{0}-x86_64-ebs".format(version)
@@ -102,58 +107,41 @@ def check():
 
 m.connect()
 volume = m._conn.get_all_volumes([], filters={'attachment.instance-id': m.resource_id, 'attachment.device': "/dev/sdg"})[0]
-if args.hvm:
-    instance = m._conn.run_instances( image_id="ami-5f491f36"
-                                    , instance_type=instance_type
-                                    , key_name=args.key_name
-                                    , placement=m.zone
-                                    , security_groups=["eelco-test"]).instances[0]
-    nixops.util.check_wait(lambda: instance.update() == 'running', max_tries=120)
-    instance.stop()
-    nixops.util.check_wait(lambda: instance.update() == 'stopped', max_tries=120)
-    old_root_volume = m._conn.get_all_volumes([], filters={'attachment.instance-id': instance.id, 'attachment.device': "/dev/sda1"})[0]
-    old_root_volume.detach()
-    volume.detach()
-    nixops.util.check_wait(lambda: volume.update() == 'available', max_tries=120)
-    nixops.util.check_wait(lambda: old_root_volume.update() == 'available', max_tries=120)
-    volume.attach(instance.id, '/dev/sda1')
-    nixops.util.check_wait(lambda: volume.update() == 'in-use', max_tries=120)
-
-    ami_id = m._conn.create_image(instance.id, ami_name, description)
-    time.sleep(5)
-    image = m._conn.get_all_images([ami_id])[0]
-    nixops.util.check_wait(lambda: image.update() == 'available', max_tries=120)
-    instance.terminate()
 
-else:
-    # Create a snapshot.
-    snapshot = volume.create_snapshot(description=description)
-    print >> sys.stderr, "created snapshot {0}".format(snapshot.id)
+# Create a snapshot.
+snapshot = volume.create_snapshot(description=description)
+print >> sys.stderr, "created snapshot {0}".format(snapshot.id)
 
-    nixops.util.check_wait(check, max_tries=120)
+nixops.util.check_wait(check, max_tries=120)
 
-    m._conn.create_tags([snapshot.id], {'Name': ami_name})
+m._conn.create_tags([snapshot.id], {'Name': ami_name})
 
-    if not args.keep: depl.destroy_resources()
+if not args.keep: depl.destroy_resources()
 
-     # Register the image.
-    aki = m._conn.get_all_images(filters={'manifest-location': '*pv-grub-hd0_1.03-x86_64*'})[0]
-    print >> sys.stderr, "using kernel image {0} - {1}".format(aki.id, aki.location)
+# Register the image.
+aki = m._conn.get_all_images(filters={'manifest-location': 'ec2*pv-grub-hd0_1.03-x86_64*'})[0]
+print >> sys.stderr, "using kernel image {0} - {1}".format(aki.id, aki.location)
 
-    block_map = BlockDeviceMapping()
-    block_map['/dev/sda'] = BlockDeviceType(snapshot_id=snapshot.id, delete_on_termination=True)
-    block_map['/dev/sdb'] = BlockDeviceType(ephemeral_name="ephemeral0")
-    block_map['/dev/sdc'] = BlockDeviceType(ephemeral_name="ephemeral1")
-    block_map['/dev/sdd'] = BlockDeviceType(ephemeral_name="ephemeral2")
-    block_map['/dev/sde'] = BlockDeviceType(ephemeral_name="ephemeral3")
+block_map = BlockDeviceMapping()
+block_map[root_block] = BlockDeviceType(snapshot_id=snapshot.id, delete_on_termination=True, size=ebs_size, volume_type="gp2")
+block_map['/dev/sdb'] = BlockDeviceType(ephemeral_name="ephemeral0")
+block_map['/dev/sdc'] = BlockDeviceType(ephemeral_name="ephemeral1")
+block_map['/dev/sdd'] = BlockDeviceType(ephemeral_name="ephemeral2")
+block_map['/dev/sde'] = BlockDeviceType(ephemeral_name="ephemeral3")
 
-    ami_id = m._conn.register_image(
+common_args = dict(
         name=ami_name,
         description=description,
         architecture="x86_64",
-        root_device_name="/dev/sda",
-        kernel_id=aki.id,
-        block_device_map=block_map)
+        root_device_name=root_block,
+        block_device_map=block_map,
+        virtualization_type=virtualization_type,
+        delete_root_volume_on_termination=True
+        )
+if not args.hvm:
+    common_args['kernel_id']=aki.id
+
+ami_id = m._conn.register_image(**common_args)
 
 print >> sys.stderr, "registered AMI {0}".format(ami_id)
 
@@ -174,16 +162,16 @@ f.write(
     {{
       network.description = "NixOS EBS test";
 
-      resources.ec2KeyPairs.keypair.accessKeyId = "logicblox-dev";
+      resources.ec2KeyPairs.keypair.accessKeyId = "lb-nixos";
       resources.ec2KeyPairs.keypair.region = "{0}";
 
       machine = {{ config, pkgs, resources, ... }}: {{
         deployment.targetEnv = "ec2";
-        deployment.ec2.accessKeyId = "logicblox-dev";
+        deployment.ec2.accessKeyId = "lb-nixos";
         deployment.ec2.region = "{0}";
         deployment.ec2.instanceType = "{2}";
         deployment.ec2.keyPair = resources.ec2KeyPairs.keypair.name;
-        deployment.ec2.securityGroups = [ "admin" ];
+        deployment.ec2.securityGroups = [ "public-ssh" ];
         deployment.ec2.ami = "{1}";
       }};
     }}
@@ -197,29 +185,32 @@ test_depl.nix_exprs = [os.path.abspath("./ebs-test.nix")]
 test_depl.deploy(create_only=True)
 test_depl.machines['machine'].run_command("nixos-version")
 
-if args.hvm:
-    image_type = 'hvm'
-else:
-    image_type = 'ebs'
-
 # Log the AMI ID.
-f = open("{0}.{1}.ami-id".format(args.region, image_type), "w")
-f.write("{0}".format(ami_id))
-f.close()
+f = open("ec2-amis.nix".format(args.region, image_type), "w")
+f.write("{\n")
 
-for dest in [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1']:
+for dest in [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', 'eu-central-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1']:
+    copy_image = None
     if args.region != dest:
-        print >> sys.stderr, "copying image from region {0} to {1}".format(args.region, dest)
-        conn = boto.ec2.connect_to_region(dest)
-        copy_image = conn.copy_image(args.region, ami_id, ami_name, description=None, client_token=None)
+        try:
+            print >> sys.stderr, "copying image from region {0} to {1}".format(args.region, dest)
+            conn = boto.ec2.connect_to_region(dest)
+            copy_image = conn.copy_image(args.region, ami_id, ami_name, description=None, client_token=None)
+        except :
+            print >> sys.stderr, "FAILED!"
 
         # Log the AMI ID.
-        f = open("{0}.{1}.ami-id".format(dest, image_type), "w")
-        f.write("{0}".format(copy_image.image_id))
-        f.close()
+        if copy_image != None:
+            f.write('  "{0}"."{1}".{2} = "{3}";\n'.format(args.channel,dest,"hvm" if args.hvm else "ebs",copy_image.image_id))
+    else:
+        f.write('  "{0}"."{1}".{2} = "{3}";\n'.format(args.channel,args.region,"hvm" if args.hvm else "ebs",ami_id))
 
 
+f.write("}\n")
+f.close()
+
 if not args.keep:
+    test_depl.logger.set_autoresponse("y")
     test_depl.destroy_resources()
     test_depl.delete()
 
diff --git a/nixos/maintainers/scripts/ec2/create-s3-amis.sh b/nixos/maintainers/scripts/ec2/create-s3-amis.sh
index 140b4fcbddb..ed861a3944a 100755
--- a/nixos/maintainers/scripts/ec2/create-s3-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-s3-amis.sh
@@ -31,17 +31,22 @@ buildAndUploadFor() {
             -a "$EC2_ACCESS_KEY" -s "$EC2_SECRET_KEY" --location "$s3location" \
             --url http://s3.amazonaws.com
 
-        kernel=$(ec2-describe-images -o amazon --filter "manifest-location=*pv-grub-hd0_1.03-$arch*" --region "$region" | cut -f 2)
+        kernel=$(ec2-describe-images -o amazon --filter "manifest-location=*pv-grub-hd0_1.04-$arch*" --region "$region" | cut -f 2)
         echo "using PV-GRUB kernel $kernel"
 
-        ami=$(ec2-register "$bucket/nixos.img.manifest.xml" -n "$name" -d "NixOS $system r$revision" \
+        ami=$(ec2-register "$bucket/nixos.img.manifest.xml" -n "$name" -d "NixOS $system r$revision" -O "$EC2_ACCESS_KEY" -W "$EC2_SECRET_KEY" \
             --region "$region" --kernel "$kernel" | cut -f 2)
 
         echo "AMI ID is $ami"
 
-        echo $ami >> $region.s3.ami-id
+        echo "  \"14.12\".\"$region\".s3 = \"$ami\";" >> ec2-amis.nix
 
-        ec2-modify-image-attribute --region "$region" "$ami" -l -a all
+        ec2-modify-image-attribute --region "$region" "$ami" -l -a all -O "$EC2_ACCESS_KEY" -W "$EC2_SECRET_KEY"
+
+        for cp_region in us-east-1 us-west-1 us-west-2 eu-central-1 ap-southeast-1 ap-southeast-2 ap-northeast-1 sa-east-1; do
+          new_ami=$(aws ec2 copy-image --source-image-id $ami --source-region $region --region $cp_region --name "$name" | json ImageId)
+          echo "  \"14.12\".\"$cp_region\".s3 = \"$new_ami\";" >> ec2-amis.nix  
+        done
     done
 }
 
diff --git a/nixos/maintainers/scripts/ec2/ebs-creator.nix b/nixos/maintainers/scripts/ec2/ebs-creator.nix
index 37795d5d5b4..7bb13695fa7 100644
--- a/nixos/maintainers/scripts/ec2/ebs-creator.nix
+++ b/nixos/maintainers/scripts/ec2/ebs-creator.nix
@@ -5,10 +5,9 @@
     { config, pkgs, resources, ... }:
     { deployment.targetEnv = "ec2";
       deployment.ec2.instanceType = "c3.large";
-      deployment.ec2.securityGroups = [ "admin" ];
+      deployment.ec2.securityGroups = [ "public-ssh" ];
       deployment.ec2.ebsBoot = false;
       deployment.ec2.keyPair = resources.ec2KeyPairs.keypair.name;
-      deployment.ec2.zone = "us-east-1e";
       environment.systemPackages = [ pkgs.parted ];
     };
 }
diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh
index 8bf36f33c7d..7f8a0d23027 100755
--- a/nixos/maintainers/scripts/gce/create-gce.sh
+++ b/nixos/maintainers/scripts/gce/create-gce.sh
@@ -1,5 +1,6 @@
 #! /bin/sh -e
 
+BUCKET_NAME=${BUCKET_NAME:-nixos-images}
 export NIX_PATH=nixpkgs=../../../..
 export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/google-compute-image.nix
 export TIMESTAMP=$(date +%Y%m%d%H%M)
@@ -8,7 +9,7 @@ nix-build '<nixpkgs/nixos>' \
    -A config.system.build.googleComputeImage --argstr system x86_64-linux -o gce --option extra-binary-caches http://hydra.nixos.org -j 10
 
 img=$(echo gce/*.tar.gz)
-if ! gsutil ls gs://nixos/$(basename $img); then
-  gsutil cp $img gs://nixos/$(basename $img)
+if ! gsutil ls gs://${BUCKET_NAME}/$(basename $img); then
+  gsutil cp $img gs://${BUCKET_NAME}/$(basename $img)
 fi
-gcutil addimage $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') gs://nixos/$(basename $img)
+gcloud compute images create $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') --source-uri gs://${BUCKET_NAME}/$(basename $img)
diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix
new file mode 100644
index 00000000000..02568f9de51
--- /dev/null
+++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix
@@ -0,0 +1,193 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let fcBool = x: if x then "<bool>true</bool>" else "<bool>false</bool>";
+in
+{
+
+  options = {
+
+    fonts = {
+
+      fontconfig = {
+
+        ultimate = {
+          enable = mkOption {
+            type = types.bool;
+            default = true;
+            description = ''
+              Enable fontconfig-ultimate settings (formerly known as
+              Infinality). Besides the customizable settings in this NixOS
+              module, fontconfig-ultimate also provides many font-specific
+              rendering tweaks.
+            '';
+          };
+
+          allowBitmaps = mkOption {
+            type = types.bool;
+            default = true;
+            description = ''
+              Allow bitmap fonts. Set to <literal>false</literal> to ban all
+              bitmap fonts.
+            '';
+          };
+
+          allowType1 = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''
+              Allow Type-1 fonts. Default is <literal>false</literal> because of
+              poor rendering.
+            '';
+          };
+
+          useEmbeddedBitmaps = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''Use embedded bitmaps in fonts like Calibri.'';
+          };
+
+          forceAutohint = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''
+              Force use of the TrueType Autohinter. Useful for debugging or
+              free-software purists.
+            '';
+          };
+
+          renderMonoTTFAsBitmap = mkOption {
+            type = types.bool;
+            default = false;
+            description = ''Render some monospace TTF fonts as bitmaps.'';
+          };
+
+          substitutions = mkOption {
+            type = types.str // {
+              check = flip elem ["none" "free" "combi" "ms"];
+            };
+            default = "free";
+            description = ''
+              Font substitutions to replace common Type 1 fonts with nicer
+              TrueType fonts. <literal>free</literal> uses free fonts,
+              <literal>ms</literal> uses Microsoft fonts,
+              <literal>combi</literal> uses a combination, and
+              <literal>none</literal> disables the substitutions.
+            '';
+          };
+
+          rendering = mkOption {
+            type = types.attrs;
+            default = pkgs.fontconfig-ultimate.rendering.ultimate;
+            description = ''
+              FreeType rendering settings presets. The default is
+              <literal>pkgs.fontconfig-ultimate.rendering.ultimate</literal>.
+              The other available styles are:
+              <literal>ultimate-lighter</literal>,
+              <literal>ultimate-darker</literal>,
+              <literal>ultimate-lightest</literal>,
+              <literal>ultimate-darkest</literal>,
+              <literal>default</literal> (the original Infinality default),
+              <literal>osx</literal>,
+              <literal>ipad</literal>,
+              <literal>ubuntu</literal>,
+              <literal>linux</literal>,
+              <literal>winxplight</literal>,
+              <literal>win7light</literal>,
+              <literal>winxp</literal>,
+              <literal>win7</literal>,
+              <literal>vanilla</literal>,
+              <literal>classic</literal>,
+              <literal>nudge</literal>,
+              <literal>push</literal>,
+              <literal>shove</literal>,
+              <literal>sharpened</literal>,
+              <literal>infinality</literal>. Any of the presets may be
+              customized by editing the attributes. To disable, set this option
+              to the empty attribute set <literal>{}</literal>.
+            '';
+          };
+        };
+      };
+    };
+
+  };
+
+
+  config =
+    let ultimate = config.fonts.fontconfig.ultimate;
+        fontconfigUltimateConf = ''
+          <?xml version="1.0"?>
+          <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+          <fontconfig>
+
+            ${optionalString (!ultimate.allowBitmaps) ''
+            <!-- Reject bitmap fonts -->
+            <selectfont>
+              <rejectfont>
+                <pattern>
+                  <patelt name="scalable"><bool>false</bool></patelt>
+                </pattern>
+              </rejectfont>
+            </selectfont>
+            ''}
+
+            ${optionalString ultimate.allowType1 ''
+            <!-- Reject Type 1 fonts -->
+            <selectfont>
+              <rejectfont>
+                <pattern>
+                  <patelt name="fontformat">
+                    <string>Type 1</string>
+                  </patelt>
+                </pattern>
+              </rejectfont>
+            </selectfont>
+            ''}
+
+            <!-- Use embedded bitmaps in fonts like Calibri? -->
+            <match target="font">
+              <edit name="embeddedbitmap" mode="assign">
+                ${fcBool ultimate.useEmbeddedBitmaps}
+              </edit>
+            </match>
+
+            <!-- Force autohint always -->
+            <match target="font">
+              <edit name="force_autohint" mode="assign">
+                ${fcBool ultimate.forceAutohint}
+              </edit>
+            </match>
+
+            <!-- Render some monospace TTF fonts as bitmaps -->
+            <match target="pattern">
+              <edit name="bitmap_monospace" mode="assign">
+                ${fcBool ultimate.renderMonoTTFAsBitmap}
+              </edit>
+            </match>
+
+            ${optionalString (ultimate.substitutions != "none") ''
+            <!-- Type 1 font substitutions -->
+            <include ignore_missing="yes">${pkgs.fontconfig-ultimate.confd}/etc/fonts/presets/${ultimate.substitutions}</include>
+            ''}
+
+            <include ignore_missing="yes">${pkgs.fontconfig-ultimate.confd}/etc/fonts/conf.d</include>
+
+          </fontconfig>
+        '';
+    in mkIf (config.fonts.fontconfig.enable && ultimate.enable) {
+
+      environment.etc."fonts/conf.d/52-fontconfig-ultimate.conf" = {
+        text = fontconfigUltimateConf;
+      };
+
+      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/52-fontconfig-ultimate.conf" = {
+        text = fontconfigUltimateConf;
+      };
+
+      environment.variables = ultimate.rendering;
+
+    };
+
+}
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index cf70ca264d6..6f17bd396a0 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -8,52 +8,250 @@ with lib;
 
     fonts = {
 
-      enableFontConfig = mkOption { # !!! should be enableFontconfig
-        type = types.bool;
-        default = true;
-        description = ''
-          If enabled, a Fontconfig configuration file will be built
-          pointing to a set of default fonts.  If you don't care about
-          running X11 applications or any other program that uses
-          Fontconfig, you can turn this option off and prevent a
-          dependency on all those fonts.
-        '';
+      fontconfig = {
+        enable = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            If enabled, a Fontconfig configuration file will be built
+            pointing to a set of default fonts.  If you don't care about
+            running X11 applications or any other program that uses
+            Fontconfig, you can turn this option off and prevent a
+            dependency on all those fonts.
+          '';
+        };
+
+        antialias = mkOption {
+          type = types.bool;
+          default = true;
+          description = "Enable font antialiasing.";
+        };
+
+        dpi = mkOption {
+          type = types.int;
+          default = 0;
+          description = ''
+            Force DPI setting. Setting to <literal>0</literal> disables DPI
+            forcing; the DPI detected for the display will be used.
+          '';
+        };
+
+        defaultFonts = {
+          monospace = mkOption {
+            type = types.listOf types.str;
+            default = ["DejaVu Sans Mono"];
+            description = ''
+              System-wide default monospace font(s). Multiple fonts may be
+              listed in case multiple languages must be supported.
+            '';
+          };
+
+          sansSerif = mkOption {
+            type = types.listOf types.str;
+            default = ["DejaVu Sans"];
+            description = ''
+              System-wide default sans serif font(s). Multiple fonts may be
+              listed in case multiple languages must be supported.
+            '';
+          };
+
+          serif = mkOption {
+            type = types.listOf types.str;
+            default = ["DejaVu Serif"];
+            description = ''
+              System-wide default serif font(s). Multiple fonts may be listed
+              in case multiple languages must be supported.
+            '';
+          };
+        };
+
+        hinting = {
+          enable = mkOption {
+            type = types.bool;
+            default = true;
+            description = "Enable TrueType hinting.";
+          };
+
+          autohint = mkOption {
+            type = types.bool;
+            default = true;
+            description = ''
+              Enable the autohinter, which provides hinting for otherwise
+              un-hinted fonts. The results are usually lower quality than
+              correctly-hinted fonts.
+            '';
+          };
+
+          style = mkOption {
+            type = types.str // {
+              check = flip elem ["none" "slight" "medium" "full"];
+            };
+            default = "full";
+            description = ''
+              TrueType hinting style, one of <literal>none</literal>,
+              <literal>slight</literal>, <literal>medium</literal>, or
+              <literal>full</literal>.
+            '';
+          };
+        };
+
+        includeUserConf = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Include the user configuration from
+            <filename>~/.config/fontconfig/fonts.conf</filename> or
+            <filename>~/.config/fontconfig/conf.d</filename>.
+          '';
+        };
+
+        subpixel = {
+
+          rgba = mkOption {
+            type = types.string // {
+              check = flip elem ["rgb" "bgr" "vrgb" "vbgr" "none"];
+            };
+            default = "rgb";
+            description = ''
+              Subpixel order, one of <literal>none</literal>,
+              <literal>rgb</literal>, <literal>bgr</literal>,
+              <literal>vrgb</literal>, or <literal>vbgr</literal>.
+            '';
+          };
+
+          lcdfilter = mkOption {
+            type = types.str // {
+              check = flip elem ["none" "default" "light" "legacy"];
+            };
+            default = "default";
+            description = ''
+              FreeType LCD filter, one of <literal>none</literal>,
+              <literal>default</literal>, <literal>light</literal>, or
+              <literal>legacy</literal>.
+            '';
+          };
+
+        };
+
       };
 
     };
 
   };
 
+  config =
+    let fontconfig = config.fonts.fontconfig;
+        fcBool = x: "<bool>" + (if x then "true" else "false") + "</bool>";
+        nixosConf = ''
+          <?xml version='1.0'?>
+          <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+          <fontconfig>
 
-  config = mkIf config.fonts.enableFontConfig {
+            <!-- Default rendering settings -->
+            <match target="font">
+              <edit mode="assign" name="hinting">
+                ${fcBool fontconfig.hinting.enable}
+              </edit>
+              <edit mode="assign" name="autohint">
+                ${fcBool fontconfig.hinting.autohint}
+              </edit>
+              <edit mode="assign" name="hintstyle">
+                <const>hint${fontconfig.hinting.style}</const>
+              </edit>
+              <edit mode="assign" name="antialias">
+                ${fcBool fontconfig.antialias}
+              </edit>
+              <edit mode="assign" name="rgba">
+                <const>${fontconfig.subpixel.rgba}</const>
+              </edit>
+              <edit mode="assign" name="lcdfilter">
+                <const>lcd${fontconfig.subpixel.lcdfilter}</const>
+              </edit>
+            </match>
 
-    # Bring in the default (upstream) fontconfig configuration.
-    environment.etc."fonts/fonts.conf".source =
-      pkgs.makeFontsConf { fontDirectories = config.fonts.fonts; };
+            <!-- Default fonts -->
+            ${optionalString (fontconfig.defaultFonts.sansSerif != []) ''
+            <alias>
+              <family>sans-serif</family>
+              <prefer>
+                ${concatStringsSep "\n"
+                  (map (font: "<family>${font}</family>")
+                    fontconfig.defaultFonts.sansSerif)}
+              </prefer>
+            </alias>
+            ''}
+            ${optionalString (fontconfig.defaultFonts.serif != []) ''
+            <alias>
+              <family>serif</family>
+              <prefer>
+                ${concatStringsSep "\n"
+                  (map (font: "<family>${font}</family>")
+                    fontconfig.defaultFonts.serif)}
+              </prefer>
+            </alias>
+            ''}
+            ${optionalString (fontconfig.defaultFonts.monospace != []) ''
+            <alias>
+              <family>monospace</family>
+              <prefer>
+                ${concatStringsSep "\n"
+                  (map (font: "<family>${font}</family>")
+                    fontconfig.defaultFonts.monospace)}
+              </prefer>
+            </alias>
+            ''}
 
-    environment.etc."fonts/conf.d/00-nixos.conf".text =
-      ''
-        <?xml version='1.0'?>
-        <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-        <fontconfig>
+            ${optionalString (fontconfig.dpi != 0) ''
+            <match target="pattern">
+              <edit name="dpi" mode="assign">
+                <double>${toString fontconfig.dpi}</double>
+              </edit>
+            </match>
+            ''}
 
-          <!-- Set the default hinting style to "slight". -->
-          <match target="font">
-            <edit mode="assign" name="hintstyle">
-              <const>hintslight</const>
-            </edit>
-          </match>
+          </fontconfig>
+        '';
+    in mkIf fontconfig.enable {
 
-        </fontconfig>
-      '';
+      # Fontconfig 2.10 backward compatibility
 
-    # FIXME: This variable is no longer needed, but we'll keep it
-    # around for a while for applications linked against old
-    # fontconfig builds.
-    environment.variables.FONTCONFIG_FILE = "/etc/fonts/fonts.conf";
+      # Bring in the default (upstream) fontconfig configuration, only for fontconfig 2.10
+      environment.etc."fonts/fonts.conf".source =
+        pkgs.makeFontsConf { fontconfig = pkgs.fontconfig_210; fontDirectories = config.fonts.fonts; };
 
-    environment.systemPackages = [ pkgs.fontconfig ];
+      environment.etc."fonts/conf.d/98-nixos.conf".text = nixosConf;
 
-  };
+      # Versioned fontconfig > 2.10. Take shared fonts.conf from fontconfig.
+      # Otherwise specify only font directories.
+      environment.etc."fonts/${pkgs.fontconfig.configVersion}/fonts.conf".source =
+        "${pkgs.fontconfig}/etc/fonts/fonts.conf";
+
+      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/00-nixos.conf".text =
+        ''
+          <?xml version='1.0'?>
+          <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+          <fontconfig>
+            <!-- Font directories -->
+            ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)}
+          </fontconfig>
+        '';
+
+      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/98-nixos.conf".text = nixosConf;
+
+      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/99-user.conf" = {
+        enable = fontconfig.includeUserConf;
+        text = ''
+          <?xml version="1.0"?>
+          <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+          <fontconfig>
+            <include ignore_missing="yes" prefix="xdg">fontconfig/conf.d</include>
+            <include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
+          </fontconfig>
+        '';
+      };
+
+      environment.systemPackages = [ pkgs.fontconfig ];
+
+    };
 
 }
diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix
index f6060a910a1..a3fa4bd9778 100644
--- a/nixos/modules/config/fonts/fonts.nix
+++ b/nixos/modules/config/fonts/fonts.nix
@@ -13,14 +13,6 @@ with lib;
         type = types.listOf types.path;
         example = literalExample "[ pkgs.dejavu_fonts ]";
         description = "List of primary font paths.";
-        apply = list: list ++
-          [ # - the user's current profile
-            "~/.nix-profile/lib/X11/fonts"
-            "~/.nix-profile/share/fonts"
-            # - the default profile
-            "/nix/var/nix/profiles/default/lib/X11/fonts"
-            "/nix/var/nix/profiles/default/share/fonts"
-          ];
       };
 
     };
@@ -33,7 +25,7 @@ with lib;
       [ pkgs.xorg.fontbhttf
         pkgs.xorg.fontbhlucidatypewriter100dpi
         pkgs.xorg.fontbhlucidatypewriter75dpi
-        pkgs.ttf_bitstream_vera
+        pkgs.dejavu_fonts
         pkgs.freefont_ttf
         pkgs.liberation_ttf
         pkgs.xorg.fontbh100dpi
diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix
index 136a5bda745..f99cea7d17b 100644
--- a/nixos/modules/config/networking.nix
+++ b/nixos/modules/config/networking.nix
@@ -39,6 +39,73 @@ in
       '';
     };
 
+    networking.proxy = {
+
+      default = lib.mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          This option specifies the default value for httpProxy, httpsProxy, ftpProxy and rsyncProxy.
+        '';
+        example = "http://127.0.0.1:3128";
+      };
+
+      httpProxy = lib.mkOption {
+        type = types.nullOr types.str;
+        default = cfg.proxy.default;
+        description = ''
+          This option specifies the http_proxy environment variable.
+        '';
+        example = "http://127.0.0.1:3128";
+      };
+
+      httpsProxy = lib.mkOption {
+        type = types.nullOr types.str;
+        default = cfg.proxy.default;
+        description = ''
+          This option specifies the https_proxy environment variable.
+        '';
+        example = "http://127.0.0.1:3128";
+      };
+
+      ftpProxy = lib.mkOption {
+        type = types.nullOr types.str;
+        default = cfg.proxy.default;
+        description = ''
+          This option specifies the ftp_proxy environment variable.
+        '';
+        example = "http://127.0.0.1:3128";
+      };
+
+      rsyncProxy = lib.mkOption {
+        type = types.nullOr types.str;
+        default = cfg.proxy.default;
+        description = ''
+          This option specifies the rsync_proxy environment variable.
+        '';
+        example = "http://127.0.0.1:3128";
+      };
+
+      noProxy = lib.mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          This option specifies the no_proxy environment variable.
+          If a default proxy is used and noProxy is null,
+          then noProxy will be set to 127.0.0.1,localhost.
+        '';
+        example = "127.0.0.1,localhost,.localdomain";
+      };
+
+      envVars = lib.mkOption {
+        type = types.attrs;
+        internal = true;
+        default = {};
+        description = ''
+          Environment variables used for the network proxy.
+        '';
+      };
+    };
   };
 
   config = {
@@ -73,7 +140,7 @@ in
             '' + optionalString config.services.nscd.enable ''
               # Invalidate the nscd cache whenever resolv.conf is
               # regenerated.
-              libc_restart='${pkgs.systemd}/bin/systemctl try-restart --no-block nscd.service'
+              libc_restart='${pkgs.systemd}/bin/systemctl try-restart --no-block nscd.service 2> /dev/null'
             '' + optionalString cfg.dnsSingleRequest ''
               # only send one DNS request at a time
               resolv_conf_options='single-request'
@@ -84,13 +151,59 @@ in
               dnsmasq_conf=/etc/dnsmasq-conf.conf
               dnsmasq_resolv=/etc/dnsmasq-resolv.conf
             '';
-      };
+
+      } // (optionalAttrs config.services.resolved.enable (
+        if dnsmasqResolve then {
+          "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
+        } else {
+          "resolv.conf".source = "/run/systemd/resolve/resolv.conf";
+        }
+      ));
+
+      networking.proxy.envVars =
+        optionalAttrs (cfg.proxy.default != null) {
+          # other options already fallback to proxy.default
+          no_proxy = "127.0.0.1,localhost";
+        } // optionalAttrs (cfg.proxy.httpProxy != null) {
+          http_proxy  = cfg.proxy.httpProxy;
+        } // optionalAttrs (cfg.proxy.httpsProxy != null) {
+          https_proxy = cfg.proxy.httpsProxy;
+        } // optionalAttrs (cfg.proxy.rsyncProxy != null) {
+          rsync_proxy = cfg.proxy.rsyncProxy;
+        } // optionalAttrs (cfg.proxy.ftpProxy != null) {
+          ftp_proxy   = cfg.proxy.ftpProxy;
+        } // optionalAttrs (cfg.proxy.noProxy != null) {
+          no_proxy    = cfg.proxy.noProxy;
+        };
+
+    # Install the proxy environment variables
+    environment.sessionVariables = cfg.proxy.envVars;
 
     # The ‘ip-up’ target is started when we have IP connectivity.  So
     # services that depend on IP connectivity (like ntpd) should be
     # pulled in by this target.
     systemd.targets.ip-up.description = "Services Requiring IP Connectivity";
 
+    # This is needed when /etc/resolv.conf is being overriden by networkd
+    # and other configurations. If the file is destroyed by an environment
+    # activation then it must be rebuilt so that applications which interface
+    # with /etc/resolv.conf directly don't break.
+    system.activationScripts.resolvconf = stringAfter [ "etc" "tmpfs" "var" ]
+      ''
+        # Systemd resolved controls its own resolv.conf
+        rm -f /run/resolvconf/interfaces/systemd
+        ${optionalString config.services.resolved.enable ''
+          rm -rf /run/resolvconf/interfaces
+          mkdir -p /run/resolvconf/interfaces
+          ln -s /run/systemd/resolve/resolv.conf /run/resolvconf/interfaces/systemd
+        ''}
+
+        # Make sure resolv.conf is up to date if not managed by systemd
+        ${optionalString (!config.services.resolved.enable) ''
+          ${pkgs.openresolv}/bin/resolvconf -u
+        ''}
+      '';
+
   };
 
-}
+  }
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index f91dbb4cc28..13477337bda 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -24,9 +24,9 @@ with lib;
     programs.ssh.setXAuthLocation = false;
     security.pam.services.su.forwardXAuth = lib.mkForce false;
 
-    fonts.enableFontConfig = false;
+    fonts.fontconfig.enable = false;
 
     nixpkgs.config.packageOverrides = pkgs:
-      { dbus = pkgs.dbus.override { useX11 = false; }; };
+      { dbus = pkgs.dbus.override { x11Support = false; }; };
   };
 }
diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix
index 45695d9cb89..a39c2895bf8 100644
--- a/nixos/modules/config/nsswitch.nix
+++ b/nixos/modules/config/nsswitch.nix
@@ -8,6 +8,7 @@ let
 
   inherit (config.services.avahi) nssmdns;
   inherit (config.services.samba) nsswins;
+  ldap = config.users.ldap.enable;
 
 in
 
@@ -35,29 +36,27 @@ in
 
   config = {
 
-    environment.etc =
-      [ # Name Service Switch configuration file.  Required by the C library.
-        # !!! Factor out the mdns stuff.  The avahi module should define
-        # an option used by this module.
-        { source = pkgs.writeText "nsswitch.conf"
-            ''
-              passwd:    files ldap
-              group:     files ldap
-              shadow:    files ldap
-              hosts:     files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} ${optionalString nsswins "wins"} myhostname
-              networks:  files dns
-              ethers:    files
-              services:  files
-              protocols: files
-            '';
-          target = "nsswitch.conf";
-        }
-      ];
-
-    # Use nss-myhostname to ensure that our hostname always resolves to
-    # a valid IP address.  It returns all locally configured IP
-    # addresses, or ::1 and 127.0.0.2 as fallbacks.
-    system.nssModules = [ pkgs.systemd ];
+    # Name Service Switch configuration file.  Required by the C
+    # library.  !!! Factor out the mdns stuff.  The avahi module
+    # should define an option used by this module.
+    environment.etc."nsswitch.conf".text =
+      ''
+        passwd:    files ${optionalString ldap "ldap"}
+        group:     files ${optionalString ldap "ldap"}
+        shadow:    files ${optionalString ldap "ldap"}
+        hosts:     files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} ${optionalString nsswins "wins"} myhostname mymachines
+        networks:  files dns
+        ethers:    files
+        services:  files
+        protocols: files
+      '';
+
+    # Systemd provides nss-myhostname to ensure that our hostname
+    # always resolves to a valid IP address.  It returns all locally
+    # configured IP addresses, or ::1 and 127.0.0.2 as
+    # fallbacks. Systemd also provides nss-mymachines to return IP
+    # addresses of local containers.
+    system.nssModules = [ config.systemd.package ];
 
   };
 }
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 1b84bbaf10c..c41e4ea604d 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, pkgs_i686, ... }:
 
 with pkgs;
 with lib;
@@ -10,10 +10,16 @@ let
   systemWide = cfg.enable && cfg.systemWide;
   nonSystemWide = cfg.enable && !cfg.systemWide;
 
-  uid = config.ids.uids.pulseaudio;
-  gid = config.ids.gids.pulseaudio;
+  # Forces 32bit pulseaudio and alsaPlugins to be built/supported for apps
+  # using 32bit alsa on 64bit linux.
+  enable32BitAlsaPlugins = stdenv.isx86_64 && (pkgs_i686.alsaLib != null && pkgs_i686.pulseaudio != null);
 
-  stateDir = "/run/pulse";
+  ids = config.ids;
+
+  uid = ids.uids.pulseaudio;
+  gid = ids.gids.pulseaudio;
+
+  stateDir = "/var/run/pulse";
 
   # Create pulse/client.conf even if PulseAudio is disabled so
   # that we can disable the autospawn feature in programs that
@@ -26,21 +32,25 @@ let
   # Write an /etc/asound.conf that causes all ALSA applications to
   # be re-routed to the PulseAudio server through ALSA's Pulse
   # plugin.
-  alsaConf = writeText "asound.conf" ''
+  alsaConf = writeText "asound.conf" (''
     pcm_type.pulse {
-      lib ${alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so
+      libs.native = ${pkgs.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;
+      ${lib.optionalString enable32BitAlsaPlugins
+     "libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"}
     }
     pcm.!default {
       type pulse
       hint.description "Default Audio Device (via PulseAudio)"
     }
     ctl_type.pulse {
-      lib ${alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so
+      libs.native = ${alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;
+      ${lib.optionalString enable32BitAlsaPlugins
+     "libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"}
     }
     ctl.!default {
       type pulse
     }
-  '';
+  '');
 
 in {
 
@@ -69,8 +79,7 @@ in {
       };
 
       configFile = mkOption {
-        type = types.uniq types.path;
-        default = "${cfg.package}/etc/pulse/default.pa";
+        type = types.path;
         description = ''
           The path to the configuration the PulseAudio server
           should use. By default, the "default.pa" configuration
@@ -110,6 +119,8 @@ in {
         target = "pulse/client.conf";
         source = clientConf;
       };
+
+      hardware.pulseaudio.configFile = mkDefault "${cfg.package}/etc/pulse/default.pa";
     }
 
     (mkIf cfg.enable {
@@ -138,6 +149,8 @@ in {
         group = "pulse";
         extraGroups = [ "audio" ];
         description = "PulseAudio system service user";
+        home = stateDir;
+        createHome = true;
       };
 
       users.extraGroups.pulse.gid = gid;
@@ -147,10 +160,6 @@ in {
         wantedBy = [ "sound.target" ];
         before = [ "sound.target" ];
         environment.PULSE_RUNTIME_PATH = stateDir;
-        preStart = ''
-          mkdir -p --mode 755 ${stateDir}
-          chown -R pulse:pulse ${stateDir}
-        '';
         serviceConfig = {
           ExecStart = "${cfg.package}/bin/pulseaudio -D --log-level=${cfg.daemon.logLevel} --system --use-pid-file -n --file=${cfg.configFile}";
           PIDFile = "${stateDir}/pid";
diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix
index 2559c53ac16..e5b342afcc4 100644
--- a/nixos/modules/config/shells-environment.nix
+++ b/nixos/modules/config/shells-environment.nix
@@ -9,6 +9,23 @@ let
 
   cfg = config.environment;
 
+  exportedEnvVars =
+    let
+      absoluteVariables =
+        mapAttrs (n: toList) cfg.variables;
+
+      suffixedVariables =
+        flip mapAttrs cfg.profileRelativeEnvVars (envVar: listSuffixes:
+          concatMap (profile: map (suffix: "${profile}${suffix}") listSuffixes) cfg.profiles
+        );
+
+      allVariables =
+        zipAttrsWith (n: concatLists) [ absoluteVariables suffixedVariables ];
+
+      exportVariables =
+        mapAttrsToList (n: v: ''export ${n}="${concatStringsSep ":" v}"'') allVariables;
+    in
+      concatStringsSep "\n" exportVariables;
 in
 
 {
@@ -49,22 +66,15 @@ in
       type = types.listOf types.string;
     };
 
-    environment.profileVariables = mkOption {
-      default = (p: {});
+    environment.profileRelativeEnvVars = mkOption {
+      type = types.attrsOf (types.listOf types.str);
+      example = { PATH = [ "/bin" "/sbin" ]; MANPATH = [ "/man" "/share/man" ]; };
       description = ''
-        A function which given a profile path should give back
-        a set of environment variables for that profile.
+	Attribute set of environment variable.  Each attribute maps to a list
+	of relative paths.  Each relative path is appended to the each profile
+        of <option>environment.profiles</option> to form the content of the
+        corresponding environment variable.
       '';
-      # !!! this should be of the following type:
-      #type = types.functionTo (types.attrsOf (types.optionSet envVar));
-      # and envVar should be changed to something more like environOpts.
-      # Having unique `value' _or_ multiple `list' is much more useful
-      # than just sticking everything together with ':' unconditionally.
-      # Anyway, to have this type mentioned above
-      # types.optionSet needs to be transformed into a type constructor
-      # (it has a !!! mark on that in nixpkgs)
-      # for now we hack all this to be
-      type = types.functionTo (types.attrsOf (types.listOf types.string));
     };
 
     # !!! isn't there a better way?
@@ -165,10 +175,7 @@ in
 
     system.build.setEnvironment = pkgs.writeText "set-environment"
        ''
-         ${concatStringsSep "\n" (
-           (mapAttrsToList (n: v: ''export ${n}="${concatStringsSep ":" v}"'')
-             # This line is a kind of a hack because of !!! note above
-             (zipAttrsWith (const concatLists) ([ (mapAttrs (n: v: [ v ]) cfg.variables) ] ++ map cfg.profileVariables cfg.profiles))))}
+         ${exportedEnvVars}
 
          ${cfg.extraInit}
 
diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix
index 3b6ccd380c7..e83562a8356 100644
--- a/nixos/modules/config/sysctl.nix
+++ b/nixos/modules/config/sysctl.nix
@@ -64,6 +64,6 @@ in
     #
     # Removed under grsecurity.
     boot.kernel.sysctl."kernel.kptr_restrict" =
-      if config.security.grsecurity.enable then null else 1;
+      if (config.boot.kernelPackages.kernel.features.grsecurity or false) then null else 1;
   };
 }
diff --git a/nixos/modules/config/timezone.nix b/nixos/modules/config/timezone.nix
index c8592284077..06857139311 100644
--- a/nixos/modules/config/timezone.nix
+++ b/nixos/modules/config/timezone.nix
@@ -14,10 +14,14 @@ in
     time = {
 
       timeZone = mkOption {
-        default = "CET";
+        default = "UTC";
         type = types.str;
         example = "America/New_York";
-        description = "The time zone used when displaying times and dates.";
+        description = ''
+          The time zone used when displaying times and dates. See <link
+          xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"/>
+          for a comprehensive list of possible values for this setting.
+        '';
       };
 
       hardwareClockInLocalTime = mkOption {
diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl
index 197b65e27c4..de73de91629 100644
--- a/nixos/modules/config/update-users-groups.pl
+++ b/nixos/modules/config/update-users-groups.pl
@@ -6,6 +6,15 @@ use JSON;
 make_path("/var/lib/nixos", { mode => 0755 });
 
 
+sub hashPassword {
+    my ($password) = @_;
+    my $salt = "";
+    my @chars = ('.', '/', 0..9, 'A'..'Z', 'a'..'z');
+    $salt .= $chars[rand 64] for (1..8);
+    return crypt($password, '$6$' . $salt . '$');
+}
+
+
 # Functions for allocating free GIDs/UIDs. FIXME: respect ID ranges in
 # /etc/login.defs.
 sub allocId {
@@ -114,7 +123,7 @@ foreach my $g (@{$spec->{groups}}) {
 }
 
 # Update the persistent list of declarative groups.
-write_file($declGroupsFile, join(" ", sort(keys %groupsOut)));
+write_file($declGroupsFile, { binmode => ':utf8' }, join(" ", sort(keys %groupsOut)));
 
 # Merge in the existing /etc/group.
 foreach my $name (keys %groupsCur) {
@@ -131,7 +140,7 @@ foreach my $name (keys %groupsCur) {
 # Rewrite /etc/group. FIXME: acquire lock.
 my @lines = map { join(":", $_->{name}, $_->{password}, $_->{gid}, $_->{members}) . "\n" }
     (sort { $a->{gid} <=> $b->{gid} } values(%groupsOut));
-write_file("/etc/group.tmp", @lines);
+write_file("/etc/group.tmp", { binmode => ':utf8' }, @lines);
 rename("/etc/group.tmp", "/etc/group") or die;
 system("nscd --invalidate group");
 
@@ -160,13 +169,19 @@ foreach my $u (@{$spec->{users}}) {
     } else {
         $u->{uid} = allocUid($u->{isSystemUser}) if !defined $u->{uid};
 
-        # Create a home directory.
-        if ($u->{createHome}) {
-            make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
-            chown $u->{uid}, $u->{gid}, $u->{home};
+        if (defined $u->{initialPassword}) {
+            $u->{hashedPassword} = hashPassword($u->{initialPassword});
+        } elsif (defined $u->{initialHashedPassword}) {
+            $u->{hashedPassword} = $u->{initialHashedPassword};
         }
     }
 
+    # Create a home directory.
+    if ($u->{createHome} && ! -e $u->{home}) {
+        make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
+        chown $u->{uid}, $u->{gid}, $u->{home};
+    }
+
     if (defined $u->{passwordFile}) {
         if (-e $u->{passwordFile}) {
             $u->{hashedPassword} = read_file($u->{passwordFile});
@@ -174,6 +189,8 @@ foreach my $u (@{$spec->{users}}) {
         } else {
             warn "warning: password file ‘$u->{passwordFile}’ does not exist\n";
         }
+    } elsif (defined $u->{password}) {
+        $u->{hashedPassword} = hashPassword($u->{password});
     }
 
     $u->{fakePassword} = $existing->{fakePassword} // "x";
@@ -181,7 +198,7 @@ foreach my $u (@{$spec->{users}}) {
 }
 
 # Update the persistent list of declarative users.
-write_file($declUsersFile, join(" ", sort(keys %usersOut)));
+write_file($declUsersFile, { binmode => ':utf8' }, join(" ", sort(keys %usersOut)));
 
 # Merge in the existing /etc/passwd.
 foreach my $name (keys %usersCur) {
@@ -197,7 +214,7 @@ foreach my $name (keys %usersCur) {
 # Rewrite /etc/passwd. FIXME: acquire lock.
 @lines = map { join(":", $_->{name}, $_->{fakePassword}, $_->{uid}, $_->{gid}, $_->{description}, $_->{home}, $_->{shell}) . "\n" }
     (sort { $a->{uid} <=> $b->{uid} } (values %usersOut));
-write_file("/etc/passwd.tmp", @lines);
+write_file("/etc/passwd.tmp", { binmode => ':utf8' }, @lines);
 rename("/etc/passwd.tmp", "/etc/passwd") or die;
 system("nscd --invalidate passwd");
 
@@ -208,32 +225,22 @@ my %shadowSeen;
 
 foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) {
     chomp $line;
-    my ($name, $password, @rest) = split(':', $line, -9);
+    my ($name, $hashedPassword, @rest) = split(':', $line, -9);
     my $u = $usersOut{$name};;
     next if !defined $u;
-    $password = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME
-    push @shadowNew, join(":", $name, $password, @rest) . "\n";
+    $hashedPassword = "!" if !$spec->{mutableUsers};
+    $hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME
+    push @shadowNew, join(":", $name, $hashedPassword, @rest) . "\n";
     $shadowSeen{$name} = 1;
 }
 
 foreach my $u (values %usersOut) {
     next if defined $shadowSeen{$u->{name}};
-    my $password = "!";
-    $password = $u->{hashedPassword} if defined $u->{hashedPassword};
+    my $hashedPassword = "!";
+    $hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword};
     # FIXME: set correct value for sp_lstchg.
-    push @shadowNew, join(":", $u->{name}, $password, "1::::::") . "\n";
+    push @shadowNew, join(":", $u->{name}, $hashedPassword, "1::::::") . "\n";
 }
 
-write_file("/etc/shadow.tmp", { perms => 0600 }, @shadowNew);
+write_file("/etc/shadow.tmp", { binmode => ':utf8', perms => 0600 }, @shadowNew);
 rename("/etc/shadow.tmp", "/etc/shadow") or die;
-
-
-# Call chpasswd to apply password. FIXME: generate the hashes directly
-# and merge into the /etc/shadow updating above.
-foreach my $u (@{$spec->{users}}) {
-    if (defined $u->{password}) {
-        my $pid = open(PW, "| chpasswd") or die;
-        print PW "$u->{name}:$u->{password}\n";
-        close PW or die "unable to change password of user ‘$u->{name}’: $?\n";
-    }
-}
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index d172ddb6bca..9d48edf2f26 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -8,23 +8,28 @@ let
   cfg = config.users;
 
   passwordDescription = ''
-    The options <literal>hashedPassword</literal>,
-    <literal>password</literal> and <literal>passwordFile</literal>
+    The options <option>hashedPassword</option>,
+    <option>password</option> and <option>passwordFile</option>
     controls what password is set for the user.
-    <literal>hashedPassword</literal> overrides both
-    <literal>password</literal> and <literal>passwordFile</literal>.
-    <literal>password</literal> overrides <literal>passwordFile</literal>.
+    <option>hashedPassword</option> overrides both
+    <option>password</option> and <option>passwordFile</option>.
+    <option>password</option> overrides <option>passwordFile</option>.
     If none of these three options are set, no password is assigned to
     the user, and the user will not be able to do password logins.
-    If the option <literal>users.mutableUsers</literal> is true, the
+    If the option <option>users.mutableUsers</option> is true, the
     password defined in one of the three options will only be set when
     the user is created for the first time. After that, you are free to
     change the password with the ordinary user management commands. If
-    <literal>users.mutableUsers</literal> is false, you cannot change
+    <option>users.mutableUsers</option> is false, you cannot change
     user passwords, they will always be set according to the password
     options.
   '';
 
+  hashedPasswordDescription = ''
+    To generate hashed password install <literal>mkpassword</literal>
+    package and run <literal>mkpasswd -m sha-512</literal>.
+  '';
+
   userOpts = { name, config, ... }: {
 
     options = {
@@ -105,7 +110,7 @@ let
 
       shell = mkOption {
         type = types.str;
-        default = "/run/current-system/sw/sbin/nologin";
+        default = "/run/current-system/sw/bin/nologin";
         description = "The path to the user's shell.";
       };
 
@@ -155,7 +160,7 @@ let
         default = false;
         description = ''
           If true, the user's shell will be set to
-          <literal>cfg.defaultUserShell</literal>.
+          <option>users.defaultUserShell</option>.
         '';
       };
 
@@ -163,8 +168,9 @@ let
         type = with types; uniq (nullOr str);
         default = null;
         description = ''
-          Specifies the (hashed) password for the user.
+          Specifies the hashed password for the user.
           ${passwordDescription}
+          ${hashedPasswordDescription}
         '';
       };
 
@@ -184,13 +190,46 @@ let
         type = with types; uniq (nullOr string);
         default = null;
         description = ''
-          The path to a file that contains the user's password. The password
+          The full path to a file that contains the user's password. The password
           file is read on each system activation. The file should contain
           exactly one line, which should be the password in an encrypted form
           that is suitable for the <literal>chpasswd -e</literal> command.
           ${passwordDescription}
         '';
       };
+
+      initialHashedPassword = mkOption {
+        type = with types; uniq (nullOr str);
+        default = null;
+        description = ''
+          Specifies the initial hashed password for the user, i.e. the
+          hashed password assigned if the user does not already
+          exist. If <option>users.mutableUsers</option> is true, the
+          password can be changed subsequently using the
+          <command>passwd</command> command. Otherwise, it's
+          equivalent to setting the <option>password</option> option.
+
+          ${hashedPasswordDescription}
+        '';
+      };
+
+      initialPassword = mkOption {
+        type = with types; uniq (nullOr str);
+        default = null;
+        description = ''
+          Specifies the initial password for the user, i.e. the
+          password assigned if the user does not already exist. If
+          <option>users.mutableUsers</option> is true, the password
+          can be changed subsequently using the
+          <command>passwd</command> command. Otherwise, it's
+          equivalent to setting the <option>password</option>
+          option. The same caveat applies: the password specified here
+          is world-readable in the Nix store, so it should only be
+          used for guest accounts or passwords that will be changed
+          promptly.
+        '';
+      };
+
     };
 
     config = mkMerge
@@ -204,6 +243,14 @@ let
           useDefaultShell = mkDefault true;
           isSystemUser = mkDefault false;
         })
+        # If !mutableUsers, setting ‘initialPassword’ is equivalent to
+        # setting ‘password’ (and similarly for hashed passwords).
+        (mkIf (!cfg.mutableUsers && config.initialPassword != null) {
+          password = mkDefault config.initialPassword;
+        })
+        (mkIf (!cfg.mutableUsers && config.initialHashedPassword != null) {
+          hashedPassword = mkDefault config.initialHashedPassword;
+        })
       ];
 
   };
@@ -276,23 +323,17 @@ let
     };
   };
 
-  filterNull = a: filter (x: hasAttr a x && getAttr a x != null);
-
-      sortOn "gid" (filterNull "gid" (attrValues cfg.extraGroups))
-      sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers))
   mkSubuidEntry = user: concatStrings (
     map (range: "${user.name}:${toString range.startUid}:${toString range.count}\n")
-        user.subUidRanges);
+      user.subUidRanges);
 
-  subuidFile = concatStrings (map mkSubuidEntry (
-    sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers))));
+  subuidFile = concatStrings (map mkSubuidEntry (attrValues cfg.extraUsers));
 
   mkSubgidEntry = user: concatStrings (
     map (range: "${user.name}:${toString range.startGid}:${toString range.count}\n")
         user.subGidRanges);
 
-  subgidFile = concatStrings (map mkSubgidEntry (
-    sortOn "uid" (filterNull "uid" (attrValues cfg.extraUsers))));
+  subgidFile = concatStrings (map mkSubgidEntry (attrValues cfg.extraUsers));
 
   idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }:
     let
@@ -307,18 +348,19 @@ let
   uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid";
   gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.extraGroups) "gid";
 
-  spec = builtins.toFile "users-groups.json" (builtins.toJSON {
+  spec = pkgs.writeText "users-groups.json" (builtins.toJSON {
     inherit (cfg) mutableUsers;
     users = mapAttrsToList (n: u:
       { inherit (u)
           name uid group description home shell createHome isSystemUser
-          password passwordFile hashedPassword;
+          password passwordFile hashedPassword
+          initialPassword initialHashedPassword;
       }) cfg.extraUsers;
     groups = mapAttrsToList (n: g:
       { inherit (g) name gid;
-        members = mapAttrsToList (n: u: u.name) (
+        members = g.members ++ (mapAttrsToList (n: u: u.name) (
           filterAttrs (n: u: elem g.name u.extraGroups) cfg.extraUsers
-        );
+        ));
       }) cfg.extraGroups;
   });
 
@@ -332,21 +374,24 @@ in {
       type = types.bool;
       default = true;
       description = ''
-        If true, you are free to add new users and groups to the system
+        If set to <literal>true</literal>, you are free to add new users and groups to the system
         with the ordinary <literal>useradd</literal> and
         <literal>groupadd</literal> commands. On system activation, the
         existing contents of the <literal>/etc/passwd</literal> and
         <literal>/etc/group</literal> files will be merged with the
         contents generated from the <literal>users.extraUsers</literal> and
-        <literal>users.extraGroups</literal> options. If
-        <literal>mutableUsers</literal> is false, the contents of the user and
-        group files will simply be replaced on system activation. This also
-        holds for the user passwords; if this option is false, all changed
-        passwords will be reset according to the
-        <literal>users.extraUsers</literal> configuration on activation. If
-        this option is true, the initial password for a user will be set
+        <literal>users.extraGroups</literal> options.
+        The initial password for a user will be set
         according to <literal>users.extraUsers</literal>, but existing passwords
         will not be changed.
+
+        <warning><para>
+        If set to <literal>false</literal>, the contents of the user and
+        group files will simply be replaced on system activation. This also
+        holds for the user passwords; all changed
+        passwords will be reset according to the
+        <literal>users.extraUsers</literal> configuration on activation.
+        </para></warning>
       '';
     };
 
@@ -392,24 +437,12 @@ in {
       options = [ groupOpts ];
     };
 
+    # FIXME: obsolete - will remove.
     security.initialRootPassword = mkOption {
       type = types.str;
       default = "!";
       example = "";
-      description = ''
-        The (hashed) password for the root account set on initial
-        installation. The empty string denotes that root can login
-        locally without a password (but not via remote services such
-        as SSH, or indirectly via <command>su</command> or
-        <command>sudo</command>). The string <literal>!</literal>
-        prevents root from logging in using a password.
-        Note that setting this option sets
-        <literal>users.extraUsers.root.hashedPassword</literal>.
-        Also, if <literal>users.mutableUsers</literal> is false
-        you cannot change the root password manually, so in that case
-        the name of this option is a bit misleading, since it will define
-        the root password beyond the user initialisation phase.
-      '';
+      visible = false;
     };
 
   };
@@ -427,7 +460,7 @@ in {
         shell = mkDefault cfg.defaultUserShell;
         group = "root";
         extraGroups = [ "grsecurity" ];
-        hashedPassword = mkDefault config.security.initialRootPassword;
+        initialHashedPassword = mkDefault config.security.initialRootPassword;
       };
       nobody = {
         uid = ids.uids.nobody;
@@ -456,6 +489,7 @@ in {
       utmp.gid = ids.gids.utmp;
       adm.gid = ids.gids.adm;
       grsecurity.gid = ids.gids.grsecurity;
+      input.gid = ids.gids.input;
     };
 
     system.activationScripts.users = stringAfter [ "etc" ]
diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix
new file mode 100644
index 00000000000..68d755232eb
--- /dev/null
+++ b/nixos/modules/config/vpnc.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.networking.vpnc;
+  mkServiceDef = name: value:
+    {
+      name = "vpnc/${name}.conf";
+      value = { text = value; };
+    };
+
+in
+{
+  options = {
+    networking.vpnc = {
+      services = mkOption {
+       type = types.attrsOf types.str;
+       default = {};
+       example = {
+         test = 
+          ''
+           IPSec gateway 192.168.1.1 
+           IPSec ID someID
+           IPSec secret secretKey
+           Xauth username name
+           Xauth password pass
+          '';
+       };
+       description = 
+         ''
+           The names of cisco VPNs and their associated definitions
+         '';
+      };
+    };
+  };
+
+  config.environment.etc = mapAttrs' mkServiceDef cfg.services;
+}
+
+
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix
index 3820a95b12e..e4bdeb55cad 100644
--- a/nixos/modules/hardware/all-firmware.nix
+++ b/nixos/modules/hardware/all-firmware.nix
@@ -12,7 +12,7 @@ with lib;
       default = false;
       type = types.bool;
       description = ''
-        Turn on this option if you want to enable all the firmware shipped with Debian/Ubuntu.
+        Turn on this option if you want to enable all the firmware shipped in linux-firmware.
       '';
     };
 
@@ -22,7 +22,9 @@ with lib;
   ###### implementation
 
   config = mkIf config.hardware.enableAllFirmware {
-    hardware.firmware = [ "${pkgs.firmwareLinuxNonfree}/lib/firmware" ];
+    hardware.firmware = [
+      "${pkgs.firmwareLinuxNonfree}/lib/firmware"
+    ];
   };
 
 }
diff --git a/nixos/modules/hardware/cpu/amd-microcode.nix b/nixos/modules/hardware/cpu/amd-microcode.nix
index 86a3df5da21..d44f01a4959 100644
--- a/nixos/modules/hardware/cpu/amd-microcode.nix
+++ b/nixos/modules/hardware/cpu/amd-microcode.nix
@@ -22,8 +22,7 @@ with lib;
   ###### implementation
 
   config = mkIf config.hardware.cpu.amd.updateMicrocode {
-    hardware.firmware = [ "${pkgs.amdUcode}/lib/firmware" ];
-    boot.kernelModules = [ "microcode" ];
+    boot.initrd.prepend = [ "${pkgs.microcodeAmd}/amd-ucode.img" ];
   };
 
 }
diff --git a/nixos/modules/hardware/cpu/intel-microcode.nix b/nixos/modules/hardware/cpu/intel-microcode.nix
index 800c391b293..89ae4f45806 100644
--- a/nixos/modules/hardware/cpu/intel-microcode.nix
+++ b/nixos/modules/hardware/cpu/intel-microcode.nix
@@ -22,8 +22,7 @@ with lib;
   ###### implementation
 
   config = mkIf config.hardware.cpu.intel.updateMicrocode {
-    hardware.firmware = [ "${pkgs.microcodeIntel}/lib/firmware" ];
-    boot.kernelModules = [ "microcode" ];
+    boot.initrd.prepend = [ "${pkgs.microcodeIntel}/intel-ucode.img" ];
   };
 
 }
diff --git a/nixos/modules/hardware/ksm.nix b/nixos/modules/hardware/ksm.nix
new file mode 100644
index 00000000000..d6ac69b5d65
--- /dev/null
+++ b/nixos/modules/hardware/ksm.nix
@@ -0,0 +1,18 @@
+{ config, lib, ... }:
+
+{
+  options.hardware.enableKSM = lib.mkEnableOption "Kernel Same-Page Merging";
+
+  config = lib.mkIf config.hardware.enableKSM {
+    systemd.services.enable-ksm = {
+      description = "Enable Kernel Same-Page Merging";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "systemd-udev-settle.service" ];
+      script = ''
+        if [ -e /sys/kernel/mm/ksm ]; then
+          echo 1 > /sys/kernel/mm/ksm/run
+        fi
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix
index f894c830eb6..7693bd5bb45 100644
--- a/nixos/modules/hardware/opengl.nix
+++ b/nixos/modules/hardware/opengl.nix
@@ -16,7 +16,6 @@ let
       [ p.mesa_drivers
         p.mesa_noglu # mainly for libGL
         (if cfg.s3tcSupport then p.libtxc_dxtn else p.libtxc_dxtn_s2tc)
-        p.udev
       ];
   };
 
@@ -46,7 +45,8 @@ in
       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> driver and for
+        supported for the <literal>nvidia</literal> and 
+        <literal>ati_unfree</literal> drivers, as well as
         <literal>Mesa</literal>.
       '';
     };
@@ -104,22 +104,9 @@ in
     environment.sessionVariables.LD_LIBRARY_PATH =
       [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ];
 
-    # FIXME: move this into card-specific modules.
-    hardware.opengl.package = mkDefault
-      (if elem "ati_unfree" videoDrivers then
-        kernelPackages.ati_drivers_x11
-      else
-        makePackage pkgs);
-
+    hardware.opengl.package = mkDefault (makePackage pkgs);
     hardware.opengl.package32 = mkDefault (makePackage pkgs_i686);
 
-    boot.extraModulePackages =
-      optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions ++
-      optional (elem "ati_unfree" videoDrivers) kernelPackages.ati_drivers_x11;
-
-    environment.etc =
-      optionalAttrs (elem "ati_unfree" videoDrivers) {
-        "ati".source = "${kernelPackages.ati_drivers_x11}/etc/ati";
-      };
+    boot.extraModulePackages = optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions;
   };
 }
diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix
new file mode 100644
index 00000000000..033e49d2233
--- /dev/null
+++ b/nixos/modules/hardware/video/ati.nix
@@ -0,0 +1,37 @@
+# This module provides the proprietary ATI X11 / OpenGL drivers.
+
+{ config, lib, pkgs, pkgs_i686, ... }:
+
+with lib;
+
+let
+
+  drivers = config.services.xserver.videoDrivers;
+
+  enabled = elem "ati_unfree" drivers;
+
+  ati_x11 = config.boot.kernelPackages.ati_drivers_x11;
+
+in
+
+{
+
+  config = mkIf enabled {
+
+    services.xserver.drivers = singleton
+      { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; };
+
+    hardware.opengl.package = ati_x11;
+    hardware.opengl.package32 = pkgs_i686.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; };
+
+    environment.systemPackages = [ ati_x11 ];
+
+    boot.extraModulePackages = [ ati_x11 ];
+
+    boot.blacklistedKernelModules = [ "radeon" ];
+
+    environment.etc."ati".source = "${ati_x11}/etc/ati";
+
+  };
+
+}
diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix
index 52dea798f87..e20ebc3041e 100644
--- a/nixos/modules/hardware/video/bumblebee.nix
+++ b/nixos/modules/hardware/video/bumblebee.nix
@@ -1,7 +1,13 @@
 { config, lib, pkgs, ... }:
 
-let kernel = config.boot.kernelPackages; in
 with lib;
+let
+  kernel = config.boot.kernelPackages;
+  bumblebee = if config.hardware.bumblebee.connectDisplay
+              then pkgs.bumblebee_display
+              else pkgs.bumblebee;
+
+in
 
 {
 
@@ -23,6 +29,17 @@ with lib;
       type = types.uniq types.str;
       description = ''Group for bumblebee socket'';
     };
+    hardware.bumblebee.connectDisplay = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Set to true if you intend to connect your discrete card to a
+        monitor. This option will set up your Nvidia card for EDID
+        discovery and to turn on the monitor signal.
+
+        Only nvidia driver is supported so far.
+      '';
+    };
   };
 
   config = mkIf config.hardware.bumblebee.enable {
@@ -30,13 +47,13 @@ with lib;
     boot.kernelModules = [ "bbswitch" ];
     boot.extraModulePackages = [ kernel.bbswitch kernel.nvidia_x11 ];
 
-    environment.systemPackages = [ pkgs.bumblebee ];
+    environment.systemPackages = [ bumblebee pkgs.primus ];
 
     systemd.services.bumblebeed = {
       description = "Bumblebee Hybrid Graphics Switcher";
       wantedBy = [ "display-manager.service" ];
       script = "bumblebeed --use-syslog -g ${config.hardware.bumblebee.group}";
-      path = [ kernel.bbswitch pkgs.bumblebee ];
+      path = [ kernel.bbswitch bumblebee ];
       serviceConfig = {
         Restart = "always";
         RestartSec = 60;
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 2b9221ec5d7..711576982ec 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -11,17 +11,21 @@ let
   # FIXME: should introduce an option like
   # ‘hardware.video.nvidia.package’ for overriding the default NVIDIA
   # driver.
-  enabled = elem "nvidia" drivers || elem "nvidiaLegacy173" drivers || elem "nvidiaLegacy304" drivers;
-
-  nvidia_x11 =
+  nvidiaForKernel = kernelPackages:
     if elem "nvidia" drivers then
-      config.boot.kernelPackages.nvidia_x11
+        kernelPackages.nvidia_x11
     else if elem "nvidiaLegacy173" drivers then
-      config.boot.kernelPackages.nvidia_x11_legacy173
+      kernelPackages.nvidia_x11_legacy173
     else if elem "nvidiaLegacy304" drivers then
-      config.boot.kernelPackages.nvidia_x11_legacy304
-    else throw "impossible";
+      kernelPackages.nvidia_x11_legacy304
+    else if elem "nvidiaLegacy340" drivers then
+      kernelPackages.nvidia_x11_legacy340
+    else null;
+
+  nvidia_x11 = nvidiaForKernel config.boot.kernelPackages;
+  nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
 
+  enabled = nvidia_x11 != null;
 in
 
 {
@@ -37,12 +41,21 @@ in
       '';
 
     hardware.opengl.package = nvidia_x11;
-    hardware.opengl.package32 = pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernel = null; };
+    hardware.opengl.package32 = nvidia_libs32;
 
     environment.systemPackages = [ nvidia_x11 ];
 
     boot.extraModulePackages = [ nvidia_x11 ];
 
+    # nvidia-uvm is required by CUDA applications.
+    boot.kernelModules = [ "nvidia-uvm" ];
+
+    # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
+    services.udev.extraRules =
+      ''
+        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'"
+      '';
+
     boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ];
 
     services.acpid.enable = true;
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 4d87c20559d..4896eee2908 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -36,12 +36,21 @@ with lib;
   # EFI booting
   isoImage.makeEfiBootable = true;
 
+  # USB booting
+  isoImage.makeUsbBootable = true;
+
   # Add Memtest86+ to the CD.
   boot.loader.grub.memtest86.enable = true;
 
   # Get a console as soon as the initrd loads fbcon on EFI boot.
   boot.initrd.kernelModules = [ "fbcon" ];
 
+  # Add support for cow filesystems and their utilities
+  boot.supportedFilesystems = [ "zfs" "btrfs" ];
+
+  # Configure host id for ZFS to work
+  networking.hostId = "8425e349";
+
   # Allow the user to log in as root without a password.
-  security.initialRootPassword = "";
+  users.extraUsers.root.initialHashedPassword = "";
 }
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix
index 65aa1167089..189cca9e23b 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix
@@ -11,6 +11,13 @@ with lib;
   # Provide wicd for easy wireless configuration.
   #networking.wicd.enable = true;
 
+  # Include gparted for partitioning disks
+  environment.systemPackages = [ pkgs.gparted ];
+  
+  # Provide networkmanager for easy wireless configuration.
+  networking.networkmanager.enable = true;
+  networking.wireless.enable = mkForce false;
+
   # KDE complains if power management is disabled (to be precise, if
   # there is no power management backend such as upower).
   powerManagement.enable = true;
@@ -27,4 +34,70 @@ with lib;
       AutoLoginUser=root
       AutoLoginPass=""
     '';
+
+  # Custom kde-workspace adding some icons on the desktop
+
+  system.activationScripts.installerDesktop = let
+    openManual = pkgs.writeScript "nixos-manual.sh" ''
+      #!${pkgs.stdenv.shell}
+      cd ${config.system.build.manual.manual}/share/doc/nixos/
+      konqueror ./index.html
+    '';
+
+    desktopFile = pkgs.writeText "nixos-manual.desktop" ''
+      [Desktop Entry]
+      Version=1.0
+      Type=Application
+      Name=NixOS Manual
+      Exec=${openManual}
+      Icon=konqueror
+    '';
+
+  in ''
+    mkdir -p /root/Desktop
+    ln -sfT ${desktopFile} /root/Desktop/nixos-manual.desktop
+    ln -sfT ${pkgs.kde4.konsole}/share/applications/kde4/konsole.desktop /root/Desktop/konsole.desktop
+    ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.desktop
+  '';
+
+  services.xserver.desktopManager.kde4.kdeWorkspacePackage = let
+    pkg = pkgs.kde4.kde_workspace;
+
+    plasmaInit = pkgs.writeText "00-defaultLayout.js" ''
+      loadTemplate("org.kde.plasma-desktop.defaultPanel")
+
+      for (var i = 0; i < screenCount; ++i) {
+      	var desktop = new Activity
+        desktop.name = i18n("Desktop")
+        desktop.screen = i
+        desktop.wallpaperPlugin = 'image'
+        desktop.wallpaperMode = 'SingleImage'
+
+        var folderview = desktop.addWidget("folderview");
+        folderview.writeConfig("url", "desktop:/");
+        
+        //Create more panels for other screens
+        if (i > 0){
+          var panel = new Panel
+          panel.screen = i
+          panel.location = 'bottom'
+          panel.height = screenGeometry(i).height > 1024 ? 35 : 27
+          var tasks = panel.addWidget("tasks")
+          tasks.writeConfig("showOnlyCurrentScreen", true);
+        }
+      }
+    '';
+
+  in
+    pkgs.stdenv.mkDerivation {
+      inherit (pkg) name meta;
+
+      buildCommand = ''
+        mkdir -p $out
+        cp -prf ${pkg}/* $out/
+        chmod a+w $out/share/apps/plasma-desktop/init
+        cp -f ${plasmaInit} $out/share/apps/plasma-desktop/init/00-defaultLayout.js
+      '';
+    };
+
 }
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 623cfdedd26..d9d7254aba2 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -7,66 +7,89 @@
 with lib;
 
 let
-
-  # The Grub image.
-  grubImage = pkgs.runCommand "grub_eltorito" {}
+  # Timeout in syslinux is in units of 1/10 of a second.
+  # 0 is used to disable timeouts.
+  syslinuxTimeout = if config.boot.loader.timeout == null then
+      0
+    else
+      max (config.boot.loader.timeout * 10) 1;
+
+
+  max = x: y: if x > y then x else y;
+
+  # The configuration file for syslinux.
+
+  # Notes on syslinux configuration and UNetbootin compatiblity:
+  #   * Do not use '/syslinux/syslinux.cfg' as the path for this
+  #     configuration. UNetbootin will not parse the file and use it as-is.
+  #     This results in a broken configuration if the partition label does
+  #     not match the specified config.isoImage.volumeID. For this reason
+  #     we're using '/isolinux/isolinux.cfg'.
+  #   * Use APPEND instead of adding command-line arguments directly after
+  #     the LINUX entries.
+  #   * COM32 entries (chainload, reboot, poweroff) are not recognized. They
+  #     result in incorrect boot entries.
+
+  baseIsolinuxCfg =
     ''
-      ${pkgs.grub2}/bin/grub-mkimage -O i386-pc -o tmp biosdisk iso9660 help linux linux16 chain png jpeg echo gfxmenu reboot
-      cat ${pkgs.grub2}/lib/grub/*/cdboot.img tmp > $out
-    ''; # */
-
-
-  # The configuration file for Grub.
-  grubCfg =
-    ''
-      set default=${builtins.toString config.boot.loader.grub.default}
-      set timeout=${builtins.toString config.boot.loader.grub.timeout}
-
-      if loadfont /boot/grub/unicode.pf2; then
-        set gfxmode=640x480
-        insmod gfxterm
-        insmod vbe
-        terminal_output gfxterm
-
-        insmod png
-        if background_image /boot/grub/splash.png; then
-          set color_normal=white/black
-          set color_highlight=black/white
-        else
-          set menu_color_normal=cyan/blue
-          set menu_color_highlight=white/blue
-        fi
-
-      fi
-
-      ${config.boot.loader.grub.extraEntries}
+    SERIAL 0 38400
+    TIMEOUT ${builtins.toString syslinuxTimeout}
+    UI vesamenu.c32
+    MENU TITLE NixOS
+    MENU BACKGROUND /isolinux/background.png
+    DEFAULT boot
+
+    LABEL boot
+    MENU LABEL NixOS ${config.system.nixosVersion} Installer
+    LINUX /boot/bzImage
+    APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
+    INITRD /boot/initrd
     '';
 
+  isolinuxMemtest86Entry = ''
+    LABEL memtest
+    MENU LABEL Memtest86+
+    LINUX /boot/memtest.bin
+    APPEND ${toString config.boot.loader.grub.memtest86.params}
+  '';
+
+  isolinuxCfg = baseIsolinuxCfg + (optionalString config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
 
   # The efi boot image
   efiDir = pkgs.runCommand "efi-directory" {} ''
-    mkdir -p $out/efi/boot
-    cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/efi/boot/boot${targetArch}.efi
+    mkdir -p $out/EFI/boot
+    cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi
     mkdir -p $out/loader/entries
     echo "title NixOS LiveCD" > $out/loader/entries/nixos-livecd.conf
     echo "linux /boot/bzImage" >> $out/loader/entries/nixos-livecd.conf
     echo "initrd /boot/initrd" >> $out/loader/entries/nixos-livecd.conf
     echo "options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}" >> $out/loader/entries/nixos-livecd.conf
     echo "default nixos-livecd" > $out/loader/loader.conf
-    echo "timeout 5" >> $out/loader/loader.conf
+    echo "timeout ${builtins.toString config.boot.loader.gummiboot.timeout}" >> $out/loader/loader.conf
   '';
 
-  efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools ]; }
+  efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools pkgs.libfaketime ]; }
+    # Be careful about determinism: du --apparent-size,
+    #   dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i)
     ''
-      #Let's hope 10M is enough
-      dd bs=2048 count=5120 if=/dev/zero of="$out"
-      ${pkgs.dosfstools}/sbin/mkfs.vfat "$out"
-      mcopy -svi "$out" ${efiDir}/* ::
-      mmd -i "$out" boot
-      mcopy -v -i "$out" \
-        ${config.boot.kernelPackages.kernel}/bzImage ::boot/bzImage
-      mcopy -v -i "$out" \
-        ${config.system.build.initialRamdisk}/initrd ::boot/initrd
+      mkdir ./contents && cd ./contents
+      cp -rp "${efiDir}"/* .
+      mkdir ./boot
+      cp -p "${config.boot.kernelPackages.kernel}/bzImage" \
+        "${config.system.build.initialRamdisk}/initrd" ./boot/
+      touch --date=@0 ./*
+
+      usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]')
+      # Make the image 110% as big as the files need to make up for FAT overhead
+      image_size=$(( ($usage_size * 110) / 100 ))
+      # Make the image fit blocks of 1M
+      block_size=$((1024*1024))
+      image_size=$(( ($image_size / $block_size + 1) * $block_size ))
+      echo "Usage size: $usage_size"
+      echo "Image size: $image_size"
+      truncate --size=$image_size "$out"
+      ${pkgs.libfaketime}/bin/faketime "2000-01-01 00:00:00" ${pkgs.dosfstools}/sbin/mkfs.vfat -i 12345678 -n EFIBOOT "$out"
+      mcopy -bpsvm -i "$out" ./* ::
     ''; # */
 
   targetArch = if pkgs.stdenv.isi686 then
@@ -152,9 +175,24 @@ in
       '';
     };
 
+    isoImage.makeUsbBootable = mkOption {
+      default = false;
+      description = ''
+        Whether the ISO image should be bootable from CD as well as USB.
+      '';
+    };
 
-  };
+    isoImage.splashImage = mkOption {
+      default = pkgs.fetchurl {
+          url = https://raw.githubusercontent.com/NixOS/nixos-artwork/5729ab16c6a5793c10a2913b5a1b3f59b91c36ee/ideas/grub-splash/grub-nixos-1.png;
+          sha256 = "43fd8ad5decf6c23c87e9026170a13588c2eba249d9013cb9f888da5e2002217";
+        };
+      description = ''
+        The splash image to use in the bootloader.
+      '';
+    };
 
+  };
 
   config = {
 
@@ -166,7 +204,7 @@ in
 
     # !!! Hack - attributes expected by other modules.
     system.boot.loader.kernelFile = "bzImage";
-    environment.systemPackages = [ pkgs.grub2 ];
+    environment.systemPackages = [ pkgs.grub2 pkgs.syslinux ];
 
     # In stage 1 of the boot, mount the CD as the root FS by label so
     # that we don't need to know its device.  We pass the label of the
@@ -176,7 +214,10 @@ in
     # UUID of the USB stick.  It would be nicer to write
     # `root=/dev/disk/by-label/...' here, but UNetbootin doesn't
     # recognise that.
-    boot.kernelParams = [ "root=LABEL=${config.isoImage.volumeID}" ];
+    boot.kernelParams =
+      [ "root=LABEL=${config.isoImage.volumeID}"
+        "boot.shell_on_fail"
+      ];
 
     fileSystems."/" =
       { fsType = "tmpfs";
@@ -213,7 +254,7 @@ in
         options = "allow_other,cow,nonempty,chroot=/mnt-root,max_files=32768,hide_meta_files,dirs=/nix/.rw-store=rw:/nix/.ro-store=ro";
       };
 
-    boot.initrd.availableKernelModules = [ "squashfs" "iso9660" ];
+    boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" ];
 
     boot.initrd.kernelModules = [ "loop" ];
 
@@ -233,15 +274,12 @@ in
     # Individual files to be included on the CD, outside of the Nix
     # store on the CD.
     isoImage.contents =
-      [ { source = grubImage;
-          target = "/boot/grub/grub_eltorito";
-        }
-        { source = pkgs.substituteAll  {
-            name = "grub.cfg";
-            src = pkgs.writeText "grub.cfg-in" grubCfg;
+      [ { source = pkgs.substituteAll  {
+            name = "isolinux.cfg";
+            src = pkgs.writeText "isolinux.cfg-in" isolinuxCfg;
             bootRoot = "/boot";
           };
-          target = "/boot/grub/grub.cfg";
+          target = "/isolinux/isolinux.cfg";
         }
         { source = config.boot.kernelPackages.kernel + "/bzImage";
           target = "/boot/bzImage";
@@ -249,51 +287,44 @@ in
         { source = config.system.build.initialRamdisk + "/initrd";
           target = "/boot/initrd";
         }
-        { source = "${pkgs.grub2}/share/grub/unicode.pf2";
-          target = "/boot/grub/unicode.pf2";
-        }
-        { source = config.boot.loader.grub.splashImage;
-          target = "/boot/grub/splash.png";
-        }
         { source = config.system.build.squashfsStore;
           target = "/nix-store.squashfs";
         }
+        { source = "${pkgs.syslinux}/share/syslinux";
+          target = "/isolinux";
+        }
+        { source = config.isoImage.splashImage;
+          target = "/isolinux/background.png";
+        }
       ] ++ optionals config.isoImage.makeEfiBootable [
         { source = efiImg;
           target = "/boot/efi.img";
         }
-        { source = "${efiDir}/efi";
-          target = "/efi";
+        { source = "${efiDir}/EFI";
+          target = "/EFI";
         }
         { source = "${efiDir}/loader";
           target = "/loader";
         }
-      ] ++ mapAttrsToList (n: v: { source = v; target = "/boot/${n}"; }) config.boot.loader.grub.extraFiles;
-
-    # The Grub menu.
-    boot.loader.grub.extraEntries =
-      ''
-        menuentry "NixOS ${config.system.nixosVersion} Installer" {
-          linux /boot/bzImage init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
-          initrd /boot/initrd
-        }
-
-        menuentry "Boot from hard disk" {
-          set root=(hd0)
-          chainloader +1
+      ] ++ optionals config.boot.loader.grub.memtest86.enable [
+        { source = "${pkgs.memtest86plus}/memtest.bin";
+          target = "/boot/memtest.bin";
         }
-      '';
+      ];
 
-    boot.loader.grub.timeout = 10;
+    boot.loader.timeout = 10;
 
     # Create the ISO image.
     system.build.isoImage = import ../../../lib/make-iso9660-image.nix ({
-      inherit (pkgs) stdenv perl cdrkit pathsFromGraph;
+      inherit (pkgs) stdenv perl pathsFromGraph xorriso syslinux;
 
       inherit (config.isoImage) isoName compressImage volumeID contents;
 
       bootable = true;
-      bootImage = "/boot/grub/grub_eltorito";
+      bootImage = "/isolinux/isolinux.bin";
+    } // optionalAttrs config.isoImage.makeUsbBootable {
+      usbBootable = true;
+      isohybridMbrImage = "${pkgs.syslinux}/share/syslinux/isohdpfx.bin";
     } // optionalAttrs config.isoImage.makeEfiBootable {
       efiBootable = true;
       efiBootImage = "boot/efi.img";
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
index c2a11a1a8b3..bbf0311c04d 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
@@ -76,10 +76,8 @@ in
       pkgs.ntfsprogs # for resizing NTFS partitions
       pkgs.btrfsProgs
       pkgs.jfsutils
-      pkgs.jfsrec
 
       # Some compression/archiver tools.
-      pkgs.unrar
       pkgs.unzip
       pkgs.zip
       pkgs.xz
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-pc-readme.txt b/nixos/modules/installer/cd-dvd/system-tarball-pc-readme.txt
index 8f0a8d355c6..84252f292c5 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-pc-readme.txt
+++ b/nixos/modules/installer/cd-dvd/system-tarball-pc-readme.txt
@@ -80,7 +80,7 @@ had booted this nixos. Run:
 *  `grep local-cmds run/current-system/init`
 
 Then you can proceed normally subscribing to a nixos channel:
-  nix-channel --add http://nixos.org/channels/nixos-unstable
+  nix-channel --add https://nixos.org/channels/nixos-unstable
   nix-channel --update
 
 Testing:
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
index 2ed70c1daa9..46dc1c70502 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
@@ -70,7 +70,6 @@ in
       pkgs.btrfsProgs
 
       # Some compression/archiver tools.
-      pkgs.unrar
       pkgs.unzip
       pkgs.zip
       pkgs.xz
@@ -99,7 +98,7 @@ in
 
   boot.initrd.extraUtilsCommands =
     ''
-      cp ${pkgs.utillinux}/sbin/hwclock $out/bin
+      copy_bin_and_libs ${pkgs.utillinux}/sbin/hwclock
     '';
 
   boot.initrd.postDeviceCommands =
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 93a348f2717..eadaae6715b 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -22,7 +22,7 @@ sub uniq {
 
 sub runCommand {
     my ($cmd) = @_;
-    open FILE, "$cmd 2>/dev/null |" or die "Failed to execute: $cmd\n";
+    open FILE, "$cmd 2>&1 |" or die "Failed to execute: $cmd\n";
     my @ret = <FILE>;
     close FILE;
     return ($?, @ret);
@@ -148,7 +148,7 @@ sub pciCheck {
          $device eq "0x4331" || $device eq "0x43a0" || $device eq "0x43b1"
         ) )
      {
-        push @modulePackages, "config.boot.kernelPackages.broadcom_sta";
+        push @modulePackages, "\${config.boot.kernelPackages.broadcom_sta}";
         push @kernelModules, "wl";
      }
 
@@ -235,7 +235,7 @@ chomp $virt;
 # Check if we're a VirtualBox guest.  If so, enable the guest
 # additions.
 if ($virt eq "oracle") {
-    push @attrs, "services.virtualbox.enable = true;"
+    push @attrs, "services.virtualboxGuest.enable = true;"
 }
 
 
@@ -311,10 +311,13 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
 
     # Maybe this is a bind-mount of a filesystem we saw earlier?
     if (defined $fsByDev{$fields[2]}) {
-        my $path = $fields[3]; $path = "" if $path eq "/";
-        my $base = $fsByDev{$fields[2]};
-        $base = "" if $base eq "/";
-        $fileSystems .= <<EOF;
+        # Make sure this isn't a btrfs subvolume
+        my ($status, @msg) = runCommand("btrfs subvol show $rootDir$mountPoint");
+        if (join("", @msg) =~ /ERROR:/) {
+            my $path = $fields[3]; $path = "" if $path eq "/";
+            my $base = $fsByDev{$fields[2]};
+            $base = "" if $base eq "/";
+            $fileSystems .= <<EOF;
   fileSystems.\"$mountPoint\" =
     { device = \"$base$path\";
       fsType = \"none\";
@@ -322,7 +325,8 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
     };
 
 EOF
-        next;
+            next;
+        }
     }
     $fsByDev{$fields[2]} = $mountPoint;
 
@@ -344,19 +348,29 @@ EOF
         }
     }
 
-	# Is this a btrfs filesystem?
-	if ($fsType eq "btrfs") {
-		my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint");
-		if ($status != 0) {
-			die "Failed to retreive subvolume info for $mountPoint";
-		}
-		my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/;
-		if ($#subvols > 0) {
-			die "Btrfs subvol name for $mountPoint listed multiple times in mount\n"
-		} elsif ($#subvols == 0) {
-			push @extraOptions, "subvol=$subvols[0]";
-		}
-	}
+    # Is this a btrfs filesystem?
+    if ($fsType eq "btrfs") {
+        my ($status, @id_info) = runCommand("btrfs subvol show $rootDir$mountPoint");
+        if ($status != 0 || join("", @msg) =~ /ERROR:/) {
+            die "Failed to retreive subvolume info for $mountPoint\n";
+        }
+        my @ids = join("", @id_info) =~ m/Object ID:[ \t\n]*([^ \t\n]*)/;
+        if ($#ids > 0) {
+            die "Btrfs subvol name for $mountPoint listed multiple times in mount\n"
+        } elsif ($#ids == 0) {
+            my ($status, @path_info) = runCommand("btrfs subvol list $rootDir$mountPoint");
+            if ($status != 0) {
+                die "Failed to find $mountPoint subvolume id from btrfs\n";
+            }
+            my @paths = join("", @path_info) =~ m/ID $ids[0] [^\n]* path ([^\n]*)/;
+            if ($#paths > 0) {
+                die "Btrfs returned multiple paths for a single subvolume id, mountpoint $mountPoint\n";
+            } elsif ($#paths != 0) {
+                die "Btrfs did not return a path for the subvolume at $mountPoint\n";
+            }
+            push @extraOptions, "subvol=$paths[0]";
+        }
+    }
 
     # Emit the filesystem.
     $fileSystems .= <<EOF;
@@ -416,7 +430,7 @@ my $hwConfig = <<EOF;
 # Do not modify this file!  It was generated by ‘nixos-generate-config’
 # and may be overwritten by future invocations.  Please make changes
 # to /etc/nixos/configuration.nix instead.
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
 
 {
   imports =${\multiLineList("    ", @imports)};
@@ -477,7 +491,7 @@ EOF
 
 $bootLoaderConfig
   # networking.hostName = "nixos"; # Define your hostname.
-  # networking.wireless.enable = true;  # Enables wireless.
+  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 
   # Select internationalisation properties.
   # i18n = {
@@ -486,6 +500,9 @@ $bootLoaderConfig
   #   defaultLocale = "en_US.UTF-8";
   # };
 
+  # Set your time zone.
+  # time.timeZone = "Europe/Amsterdam";
+
   # List packages installed in system profile. To search by name, run:
   # \$ nix-env -qaP | grep wget
   # environment.systemPackages = with pkgs; [
diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh
index 86952486ade..14ae3daace0 100644
--- a/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixos/modules/installer/tools/nixos-install.sh
@@ -7,6 +7,9 @@
 #   * nix-env -p /nix/var/nix/profiles/system -i <nix-expr for the configuration>
 #   * install the boot loader
 
+# Ensure a consistent umask.
+umask 0022
+
 # Re-exec ourselves in a private mount namespace so that our bind
 # mounts get cleaned up automatically.
 if [ "$(id -u)" = 0 ]; then
@@ -25,10 +28,14 @@ chrootCommand=(/run/current-system/sw/bin/bash)
 while [ "$#" -gt 0 ]; do
     i="$1"; shift 1
     case "$i" in
-        -I)
-            given_path="$1"; shift 1
-            absolute_path=$(readlink -m $given_path)
-            extraBuildFlags+=("$i" "/mnt$absolute_path")
+        --max-jobs|-j|--cores|-I)
+            j="$1"; shift 1
+            extraBuildFlags+=("$i" "$j")
+            ;;
+        --option)
+            j="$1"; shift 1
+            k="$1"; shift 1
+            extraBuildFlags+=("$i" "$j" "$k")
             ;;
         --root)
             mountPoint="$1"; shift 1
@@ -75,6 +82,7 @@ mkdir -m 0755 -p $mountPoint/dev $mountPoint/proc $mountPoint/sys $mountPoint/et
 mkdir -m 01777 -p $mountPoint/tmp
 mkdir -m 0755 -p $mountPoint/tmp/root
 mkdir -m 0755 -p $mountPoint/var/setuid-wrappers
+mkdir -m 0700 -p $mountPoint/root
 mount --rbind /dev $mountPoint/dev
 mount --rbind /proc $mountPoint/proc
 mount --rbind /sys $mountPoint/sys
@@ -86,6 +94,12 @@ ln -s /run $mountPoint/var/run
 rm -f $mountPoint/etc/{resolv.conf,hosts}
 cp -Lf /etc/resolv.conf /etc/hosts $mountPoint/etc/
 
+if [ -e "$SSL_CERT_FILE" ]; then
+    cp -Lf "$SSL_CERT_FILE" "$mountPoint/tmp/ca-cert.crt"
+    export SSL_CERT_FILE=/tmp/ca-cert.crt
+    # For Nix 1.7
+    export CURL_CA_BUNDLE=/tmp/ca-cert.crt
+fi
 
 if [ -n "$runChroot" ]; then
     if ! [ -L $mountPoint/nix/var/nix/profiles/system ]; then
@@ -241,9 +255,9 @@ chroot $mountPoint /nix/var/nix/profiles/system/activate
 
 
 # Ask the user to set a root password.
-if [ -t 0 ] ; then
+if [ "$(chroot $mountPoint nix-instantiate --eval '<nixos>' -A config.users.mutableUsers)" = true ] && [ -t 0 ] ; then
     echo "setting root password..."
-    chroot $mountPoint passwd
+    chroot $mountPoint /var/setuid-wrappers/passwd
 fi
 
 
diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh
index edc94d73208..17c17d05e28 100644
--- a/nixos/modules/installer/tools/nixos-option.sh
+++ b/nixos/modules/installer/tools/nixos-option.sh
@@ -11,11 +11,9 @@ usage () {
 # Process Arguments #
 #####################
 
-desc=false
-defs=false
-value=false
 xml=false
 verbose=false
+nixPath=""
 
 option=""
 
@@ -24,14 +22,12 @@ for arg; do
   if test -z "$argfun"; then
     case $arg in
       -*)
-        longarg=""
         sarg="$arg"
+        longarg=""
         while test "$sarg" != "-"; do
           case $sarg in
             --*) longarg=$arg; sarg="--";;
-            -d*) longarg="$longarg --description";;
-            -v*) longarg="$longarg --value";;
-            -l*) longarg="$longarg --lookup";;
+            -I) argfun="include_nixpath";;
             -*) usage;;
           esac
           # remove the first letter option
@@ -42,9 +38,6 @@ for arg; do
     esac
     for larg in $longarg; do
       case $larg in
-        --description) desc=true;;
-        --value) value=true;;
-        --lookup) defs=true;;
         --xml) xml=true;;
         --verbose) verbose=true;;
         --help) usage;;
@@ -62,21 +55,14 @@ for arg; do
         var=$(echo $argfun | sed 's,^set_,,')
         eval $var=$arg
         ;;
+      include_nixpath)
+        nixPath="-I $arg $nixPath"
+        ;;
     esac
     argfun=""
   fi
 done
 
-if $xml; then
-  value=true
-  desc=true
-  defs=true
-fi
-
-if ! $defs && ! $desc; then
-  value=true
-fi
-
 if $verbose; then
   set -x
 else
@@ -88,19 +74,114 @@ fi
 #############################
 
 evalNix(){
-  nix-instantiate - --eval-only "$@"
+  result=$(nix-instantiate ${nixPath:+$nixPath} - --eval-only "$@" 2>&1)
+  if test $? -eq 0; then
+      cat <<EOF
+$result
+EOF
+      return 0;
+  else
+      sed -n '
+  /^error/ { s/, at (string):[0-9]*:[0-9]*//; p; };
+  /^warning: Nix search path/ { p; };
+' <<EOF
+$result
+EOF
+      return 1;
+  fi
+}
+
+header="let
+  nixos = import <nixpkgs/nixos> {};
+  nixpkgs = import <nixpkgs> {};
+in with nixpkgs.lib;
+"
+
+# This function is used for converting the option definition path given by
+# the user into accessors for reaching the definition and the declaration
+# corresponding to this option.
+generateAccessors(){
+  if result=$(evalNix --strict --show-trace <<EOF
+$header
+
+let
+  path = "${option:+$option}";
+  pathList = splitString "." path;
+
+  walkOptions = attrsNames: result:
+    if attrsNames == [] then
+      result
+    else
+      let name = head attrsNames; rest = tail attrsNames; in
+      if isOption result.options then
+        walkOptions rest {
+          options = result.options.type.getSubOptions "";
+          opt = ''(\${result.opt}.type.getSubOptions "")'';
+          cfg = ''\${result.cfg}."\${name}"'';
+        }
+      else
+        walkOptions rest {
+          options = result.options.\${name};
+          opt = ''\${result.opt}."\${name}"'';
+          cfg = ''\${result.cfg}."\${name}"'';
+        }
+    ;
+
+  walkResult = (if path == "" then x: x else walkOptions pathList) {
+    options = nixos.options;
+    opt = ''nixos.options'';
+    cfg = ''nixos.config'';
+  };
+
+in
+  ''let option = \${walkResult.opt}; config = \${walkResult.cfg}; in''
+EOF
+)
+  then
+      echo $result
+  else
+      # In case of error we want to ignore the error message roduced by the
+      # script above, as it is iterating over each attribute, which does not
+      # produce a nice error message.  The following code is a fallback
+      # solution which is cause a nicer error message in the next
+      # evaluation.
+      echo "\"let option = nixos.options${option:+.$option}; config = nixos.config${option:+.$option}; in\""
+  fi
 }
 
+header="$header
+$(eval echo $(generateAccessors))
+"
+
 evalAttr(){
   local prefix="$1"
   local strict="$2"
   local suffix="$3"
-  echo "(import <nixos> {}).$prefix${option:+.$option}${suffix:+.$suffix}" |
-    evalNix ${strict:+--strict}
+
+  # If strict is set, then set it to "true".
+  test -n "$strict" && strict=true
+
+  evalNix ${strict:+--strict} <<EOF
+$header
+
+let
+  value = $prefix${suffix:+.$suffix};
+  strict = ${strict:-false};
+  cleanOutput = x: with nixpkgs.lib;
+    if isDerivation x then x.outPath
+    else if isFunction x then "<CODE>"
+    else if strict then
+      if isAttrs x then mapAttrs (n: cleanOutput) x
+      else if isList x then map cleanOutput x
+      else x
+    else x;
+in
+  cleanOutput value
+EOF
 }
 
 evalOpt(){
-  evalAttr "options" "" "$@"
+  evalAttr "option" "" "$@"
 }
 
 evalCfg(){
@@ -110,8 +191,11 @@ evalCfg(){
 
 findSources(){
   local suffix=$1
-  echo "(import <nixos> {}).options${option:+.$option}.$suffix" |
-    evalNix --strict
+  evalNix --strict <<EOF
+$header
+
+option.$suffix
+EOF
 }
 
 # Given a result from nix-instantiate, recover the list of attributes it
@@ -141,13 +225,12 @@ nixMap() {
 # the output of nixos-option with other tools such as nixos-gui.
 if $xml; then
   evalNix --xml --no-location <<EOF
+$header
+
 let
-  reach = attrs: attrs${option:+.$option};
-  nixos = import <nixos> {};
-  nixpkgs = import <nixpkgs> {};
   sources = builtins.map (f: f.source);
-  opt = reach nixos.options;
-  cfg = reach nixos.config;
+  opt = option;
+  cfg = config;
 in
 
 with nixpkgs.lib;
@@ -189,35 +272,37 @@ EOF
 fi
 
 if test "$(evalOpt "_type" 2> /dev/null)" = '"option"'; then
-  $value && evalCfg 1
+  echo "Value:"
+  evalCfg 1
 
-  if $desc; then
-    $value && echo;
+  echo
 
-    if default=$(evalOpt "default" - 2> /dev/null); then
-      echo "Default: $default"
-    else
-      echo "Default: <None>"
-    fi
-    if example=$(evalOpt "example" - 2> /dev/null); then
-      echo "Example: $example"
-    fi
-    echo "Description:"
-    eval printf $(evalOpt "description")
+  echo "Default:"
+  if default=$(evalOpt "default" - 2> /dev/null); then
+    echo "$default"
+  else
+    echo "<None>"
   fi
+  echo
+  if example=$(evalOpt "example" - 2> /dev/null); then
+    echo "Example:"
+    echo "$example"
+    echo
+  fi
+  echo "Description:"
+  echo
+  eval printf $(evalOpt "description")
 
-  if $defs; then
-    $desc || $value && echo;
+  echo $desc;
 
-    printPath () { echo "  $1"; }
+  printPath () { echo "  $1"; }
 
-    echo "Declared by:"
-    nixMap printPath "$(findSources "declarations")"
-    echo ""
-    echo "Defined by:"
-    nixMap printPath "$(findSources "files")"
-    echo ""
-  fi
+  echo "Declared by:"
+  nixMap printPath "$(findSources "declarations")"
+  echo
+  echo "Defined by:"
+  nixMap printPath "$(findSources "files")"
+  echo
 
 else
   # echo 1>&2 "Warning: This value is not an option."
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 52b64c37578..1d6df8cb3f7 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -26,7 +26,8 @@ while [ "$#" -gt 0 ]; do
       --help)
         showSyntax
         ;;
-      switch|boot|test|build|dry-run|build-vm|build-vm-with-bootloader)
+      switch|boot|test|build|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader)
+        if [ "$i" = dry-run ]; then i=dry-build; fi
         action="$i"
         ;;
       --install-grub)
@@ -137,7 +138,7 @@ fi
 
 # First build Nix, since NixOS may require a newer version than the
 # current one.
-if [ -n "$rollback" -o "$action" = dry-run ]; then
+if [ -n "$rollback" -o "$action" = dry-build ]; then
     buildNix=
 fi
 
@@ -148,15 +149,15 @@ if [ -n "$buildNix" ]; then
             if ! nix-build '<nixpkgs>' -A nix -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then
                 machine="$(uname -m)"
                 if [ "$machine" = x86_64 ]; then
-                    nixStorePath=/nix/store/d34q3q2zj9nriq4ifhn3dnnngqvinjb3-nix-1.7
+                    nixStorePath=/nix/store/ffig6yaggbh12dh9y5pnf1grf5lqyipz-nix-1.8
                 elif [[ "$machine" =~ i.86 ]]; then
-                    nixStorePath=/nix/store/qlah0darpcn6sf3lr2226rl04l1gn4xz-nix-1.7
+                    nixStorePath=/nix/store/lglhfp4mimfa5wzjjf1kqz6f5wlsj2mn-nix-1.8
                 else
                     echo "$0: unsupported platform"
                     exit 1
                 fi
                 if ! nix-store -r $nixStorePath --add-root $tmpDir/nix --indirect \
-                    --option extra-binary-caches http://cache.nixos.org/; then
+                    --option extra-binary-caches https://cache.nixos.org/; then
                     echo "warning: don't know how to get latest Nix" >&2
                 fi
                 # Older version of nix-store -r don't support --add-root.
@@ -180,7 +181,7 @@ if [ -n "$canRun" ]; then
 fi
 
 
-if [ "$action" = dry-run ]; then
+if [ "$action" = dry-build ]; then
     extraBuildFlags+=(--dry-run)
 fi
 
@@ -193,14 +194,14 @@ if [ -z "$rollback" ]; then
     if [ "$action" = switch -o "$action" = boot ]; then
         nix-env "${extraBuildFlags[@]}" -p "$profile" -f '<nixpkgs/nixos>' --set -A system
         pathToConfig="$profile"
-    elif [ "$action" = test -o "$action" = build -o "$action" = dry-run ]; then
-        nix-build '<nixpkgs/nixos>' -A system -K -k "${extraBuildFlags[@]}" > /dev/null
+    elif [ "$action" = test -o "$action" = build -o "$action" = dry-build -o "$action" = dry-activate ]; then
+        nix-build '<nixpkgs/nixos>' -A system -k "${extraBuildFlags[@]}" > /dev/null
         pathToConfig=./result
     elif [ "$action" = build-vm ]; then
-        nix-build '<nixpkgs/nixos>' -A vm -K -k "${extraBuildFlags[@]}" > /dev/null
+        nix-build '<nixpkgs/nixos>' -A vm -k "${extraBuildFlags[@]}" > /dev/null
         pathToConfig=./result
     elif [ "$action" = build-vm-with-bootloader ]; then
-        nix-build '<nixpkgs/nixos>' -A vmWithBootLoader -K -k "${extraBuildFlags[@]}" > /dev/null
+        nix-build '<nixpkgs/nixos>' -A vmWithBootLoader -k "${extraBuildFlags[@]}" > /dev/null
         pathToConfig=./result
     else
         showSyntax
@@ -224,9 +225,9 @@ fi
 
 # If we're not just building, then make the new configuration the boot
 # default and/or activate it now.
-if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then
+if [ "$action" = switch -o "$action" = boot -o "$action" = test -o "$action" = dry-activate ]; then
     if ! $pathToConfig/bin/switch-to-configuration "$action"; then
-        echo "warning: there were error switching to the new configuration" >&2
+        echo "warning: error(s) occured while switching to the new configuration" >&2
         exit 1
     fi
 fi
diff --git a/nixos/modules/installer/tools/nixos-version.sh b/nixos/modules/installer/tools/nixos-version.sh
index 5dbf277fe4c..51aa2dd8232 100644
--- a/nixos/modules/installer/tools/nixos-version.sh
+++ b/nixos/modules/installer/tools/nixos-version.sh
@@ -1,2 +1,10 @@
 #! @shell@
-echo "@nixosVersion@ (@nixosCodeName@)"
+
+case "$1" in
+  --hash|--revision)
+    echo "@nixosRevision@"
+    ;;
+  *)
+    echo "@nixosVersion@ (@nixosCodeName@)"
+    ;;
+esac
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index 91a30695a7a..99a74b6d59e 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -1,7 +1,7 @@
 # This module generates nixos-install, nixos-rebuild,
 # nixos-generate-config, etc.
 
-{ config, pkgs, modulesPath, lib, ... }:
+{ config, pkgs, modulesPath, ... }:
 
 let
 
@@ -50,49 +50,12 @@ let
   nixos-version = makeProg {
     name = "nixos-version";
     src = ./nixos-version.sh;
-    inherit (config.system) nixosVersion nixosCodeName;
+    inherit (config.system) nixosVersion nixosCodeName nixosRevision;
   };
 
-  /*
-  nixos-gui = pkgs.xulrunnerWrapper {
-    launcher = "nixos-gui";
-    application = pkgs.stdenv.mkDerivation {
-      name = "nixos-gui";
-      buildCommand = ''
-        cp -r "$gui" "$out"
-
-        # Do not force the copy if the file exists in the sources (this
-        # happens for developpers)
-        test -e "$out/chrome/content/jquery-1.5.2.js" ||
-          cp -f "$jquery" "$out/chrome/content/jquery-1.5.2.js"
-      '';
-      gui = lib.cleanSource "${modulesPath}/../gui";
-      jquery = pkgs.fetchurl {
-        url = http://code.jquery.com/jquery-1.5.2.min.js;
-        sha256 = "8f0a19ee8c606b35a10904951e0a27da1896eafe33c6e88cb7bcbe455f05a24a";
-      };
-    };
-  };
-  */
-
 in
 
 {
-  /*
-  options = {
-
-    installer.enableGraphicalTools = mkOption {
-      default = false;
-      type = types.bool;
-      example = true;
-      description = ''
-        Enable the installation of graphical tools.
-      '';
-    };
-
-  };
-  */
-
   config = {
     environment.systemPackages =
       [ nixos-build-vms
diff --git a/nixos/modules/misc/check-config.nix b/nixos/modules/misc/check-config.nix
deleted file mode 100644
index e9803de2196..00000000000
--- a/nixos/modules/misc/check-config.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ lib, ... }:
-
-with lib;
-
-{
-  options = {
-    environment.checkConfigurationOptions = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to check the validity of the entire configuration.
-      '';
-    };
-  };
-}
diff --git a/nixos/modules/misc/extra-arguments.nix b/nixos/modules/misc/extra-arguments.nix
new file mode 100644
index 00000000000..c2c8903546d
--- /dev/null
+++ b/nixos/modules/misc/extra-arguments.nix
@@ -0,0 +1,14 @@
+{ lib, pkgs, config, ... }:
+
+{
+  _module.args = {
+    modulesPath = ../.;
+
+    pkgs_i686 = import ../../lib/nixpkgs.nix {
+      system = "i686-linux";
+      config.allowUnfree = true;
+    };
+
+    utils = import ../../lib/utils.nix pkgs;
+  };
+}
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 513da5d50a1..c2523a3cc32 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -27,28 +27,38 @@
 
     ids.uids = {
       root = 0;
-      nscd = 1;
-      sshd = 2;
-      ntp = 3;
+      #wheel = 1; # unused
+      #kmem = 2; # unused
+      #tty = 3; # unused
       messagebus = 4; # D-Bus
       haldaemon = 5;
-      nagios = 6;
+      #disk = 6; # unused
       vsftpd = 7;
       ftp = 8;
       bitlbee = 9;
       avahi = 10;
+      nagios = 11;
       atd = 12;
-      zabbix = 13;
-      postfix = 14;
+      postfix = 13;
+      #postdrop = 14; # unused
       dovecot = 15;
       tomcat = 16;
+      #audio = 17; # unused
+      #floppy = 18; # unused
+      #uucp = 19; # unused
+      #lp = 20; # unused
       pulseaudio = 22; # must match `pulseaudio' GID
       gpsd = 23;
+      #cdrom = 24; # unused
+      #tape = 25; # unused
+      #video = 26; # unused
+      #dialout = 27; # unused
       polkituser = 28;
-      uptimed = 29;
+      #utmp = 29; # unused
       ddclient = 30;
       davfs2 = 31;
       privoxy = 32;
+      #disnix = 33; # unused
       osgi = 34;
       tor = 35;
       cups = 36;
@@ -70,19 +80,26 @@
       fprot = 52;
       bind = 53;
       wwwrun = 54;
+      #adm = 55; # unused
       spamd = 56;
+      #networkmanager = 57; # unused
       nslcd = 58;
+      #scanner = 59; # unused
       nginx = 60;
       chrony = 61;
+      #systemd-journal = 62; # unused
       smtpd = 63;
       smtpq = 64;
       supybot = 65;
       iodined = 66;
+      #libvirtd = 67; # unused
       graphite = 68;
       statsd = 69;
       transmission = 70;
       postgres = 71;
-      smbguest = 74;
+      #vboxusers = 72; # unused
+      #vboxsf = 73; # unused
+      smbguest = 74;  # unused
       varnish = 75;
       datadog = 76;
       lighttpd = 77;
@@ -102,13 +119,13 @@
       minidlna = 91;
       elasticsearch = 92;
       tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
-      zope2 = 94;
+      #connman = 94; # unused
       firebird = 95;
-      redis = 96;
+      #keys = 96; # unused
       haproxy = 97;
       mongodb = 98;
       openldap = 99;
-      memcached = 100;
+      #users = 100; # unused
       cgminer = 101;
       munin = 102;
       logcheck = 103;
@@ -129,6 +146,7 @@
       foundationdb = 118;
       newrelic = 119;
       starbound = 120;
+      #grsecurity = 121; # unused
       hydra = 122;
       spiped = 123;
       teamspeak = 124;
@@ -138,7 +156,7 @@
       znc = 128;
       polipo = 129;
       mopidy = 130;
-      unifi = 131;
+      #docker = 131; # unused
       gdm = 132;
       dhcpd = 133;
       siproxd = 134;
@@ -149,6 +167,53 @@
       radvd = 139;
       zookeeper = 140;
       dnsmasq = 141;
+      uhub = 142;
+      yandexdisk = 143;
+      collectd = 144;
+      consul = 145;
+      mailpile = 146;
+      redmine = 147;
+      seeks = 148;
+      prosody = 149;
+      i2pd = 150;
+      dnscrypt-proxy = 151;
+      systemd-network = 152;
+      systemd-resolve = 153;
+      systemd-timesync = 154;
+      liquidsoap = 155;
+      etcd = 156;
+      docker-registry = 157;
+      hbase = 158;
+      opentsdb = 159;
+      scollector = 160;
+      bosun = 161;
+      kubernetes = 162;
+      peerflix = 163;
+      chronos = 164;
+      gitlab = 165;
+      tox-bootstrapd = 166;
+      cadvisor = 167;
+      nylon = 168;
+      apache-kafka = 169;
+      panamax = 170;
+      marathon = 171;
+      exim = 172;
+      #fleet = 173; # unused
+      #input = 174; # unused
+      sddm = 175;
+      tss = 176;
+      memcached = 177;
+      nscd = 178;
+      ntp = 179;
+      zabbix = 180;
+      redis = 181;
+      sshd = 182;
+      unifi = 183;
+      uptimed = 184;
+      zope2 = 185;
+      ripple-data-api = 186;
+      mediatomb = 187;
+      rdnssd = 188;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -168,15 +233,16 @@
       ftp = 8;
       bitlbee = 9;
       avahi = 10;
+      #nagios = 11; # unused
       atd = 12;
       postfix = 13;
       postdrop = 14;
       dovecot = 15;
+      tomcat = 16;
       audio = 17;
       floppy = 18;
       uucp = 19;
       lp = 20;
-      tomcat = 21;
       pulseaudio = 22; # must match `pulseaudio' UID
       gpsd = 23;
       cdrom = 24;
@@ -185,20 +251,30 @@
       dialout = 27;
       #polkituser = 28; # currently unused, polkitd doesn't need a group
       utmp = 29;
+      #ddclient = 30; # unused
       davfs2 = 31;
       privoxy = 32;
       disnix = 33;
       osgi = 34;
-      ghostOne = 40;
+      tor = 35;
+      #cups = 36; # unused
+      #foldingathome = 37; # unused
+      #sabnzd = 38; # unused
+      #kdm = 39; # unused
+      ghostone = 40;
       git = 41;
       fourstore = 42;
-      fourstorehttpd = 43;
+      fourstorehttp = 43;
       virtuoso = 44;
+      #rtkit = 45; # unused
       dovecot2 = 46;
+      #dovenull = 47; # unused
+      #unbound = 48; # unused
       prayer = 49;
       mpd = 50;
       clamav = 51;
       fprot = 52;
+      #bind = 53; # unused
       wwwrun = 54;
       adm = 55;
       spamd = 56;
@@ -206,6 +282,7 @@
       nslcd = 58;
       scanner = 59;
       nginx = 60;
+      #chrony = 61; # unused
       systemd-journal = 62;
       smtpd = 63;
       smtpq = 64;
@@ -213,11 +290,12 @@
       iodined = 66;
       libvirtd = 67;
       graphite = 68;
+      #statsd = 69; # unused
       transmission = 70;
       postgres = 71;
       vboxusers = 72;
       vboxsf = 73;
-      smbguest = 74;
+      smbguest = 74;  # unused
       varnish = 75;
       datadog = 76;
       lighttpd = 77;
@@ -235,11 +313,17 @@
       quassel = 89;
       amule = 90;
       minidlna = 91;
-      haproxy = 92;
-      openldap = 93;
+      #elasticsearch = 92; # unused
+      #tcpcryptd = 93; # unused
       connman = 94;
-      munin = 95;
+      firebird = 95;
       keys = 96;
+      haproxy = 97;
+      #mongodb = 98; # unused
+      openldap = 99;
+      munin = 102;
+      #logcheck = 103; # unused
+      #nix-ssh = 104; # unused
       dictd = 105;
       couchdb = 106;
       searx = 107;
@@ -247,7 +331,12 @@
       jenkins = 109;
       systemd-journal-gateway = 110;
       notbit = 111;
+      #ngircd = 112; # unused
+      btsync = 113;
+      #minecraft = 114; # unused
       monetdb = 115;
+      #ripped = 116; # unused
+      #murmur = 117; # unused
       foundationdb = 118;
       newrelic = 119;
       starbound = 120;
@@ -257,19 +346,69 @@
       teamspeak = 124;
       influxdb = 125;
       nsd = 126;
-      firebird = 127;
+      #gitolite = 127; # unused
       znc = 128;
       polipo = 129;
       mopidy = 130;
       docker = 131;
       gdm = 132;
-      tss = 133;
+      #dhcpcd = 133; # unused
       siproxd = 134;
       mlmmj = 135;
+      #neo4j = 136; # unused
       riemann = 137;
       riemanndash = 138;
+      #radvd = 139; # unused
+      #zookeeper = 140; # unused
+      #dnsmasq = 141; # unused
+      uhub = 142;
+      #yandexdisk = 143; # unused
+      #collectd = 144; # unused
+      #consul = 145; # unused
+      mailpile = 146;
+      redmine = 147;
+      seeks = 148;
+      prosody = 149;
+      i2pd = 150;
+      #dnscrypt-proxy = 151; # unused
+      systemd-network = 152;
+      systemd-resolve = 153;
+      systemd-timesync = 154;
+      liquidsoap = 155;
+      #etcd = 156; # unused
+      #docker-registry = 157; # unused
+      hbase = 158;
+      opentsdb = 159;
+      scollector = 160;
+      bosun = 161;
+      kubernetes = 162;
+      #peerflix = 163; # unused
+      #chronos = 164; # unused
+      gitlab = 165;
+      nylon = 168;
+      panamax = 170;
+      #marathon = 171; # unused
+      exim = 172;
+      fleet = 173;
+      input = 174;
+      sddm = 175;
+      tss = 176;
+      #memcached = 177; # unused
+      #nscd = 178; # unused
+      #ntp = 179; # unused
+      #zabbix = 180; # unused
+      #redis = 181; # unused
+      #sshd = 182; # unused
+      #unifi = 183; # unused
+      #uptimed = 184; # unused
+      #zope2 = 185; # unused
+      #ripple-data-api = 186; #unused
+      mediatomb = 187;
+      #rdnssd = 188; # unused
 
-      # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!
+      # When adding a gid, make sure it doesn't match an existing
+      # uid. Users and groups with the same name should have equal
+      # uids and gids. Also, don't use gids above 399!
 
       users = 100;
       nixbld = 30000;
diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix
index 7de63c60649..f3ed2aaba09 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -41,7 +41,7 @@ in {
 
       output = mkOption {
         type = types.path;
-        default = /var/cache/locatedb;
+        default = "/var/cache/locatedb";
         description = ''
           The database file to build.
         '';
diff --git a/nixos/modules/misc/meta.nix b/nixos/modules/misc/meta.nix
new file mode 100644
index 00000000000..22622706f2c
--- /dev/null
+++ b/nixos/modules/misc/meta.nix
@@ -0,0 +1,63 @@
+{ config, lib, ... }:
+
+with lib;
+
+let
+  maintainer = mkOptionType {
+    name = "maintainer";
+    check = email: elem email (attrValues lib.maintainers);
+    merge = loc: defs: listToAttrs (singleton (nameValuePair (last defs).file (last defs).value));
+  };
+
+  listOfMaintainers = types.listOf maintainer // {
+    # Returns list of
+    #   { "module-file" = [
+    #        "maintainer1 <first@nixos.org>"
+    #        "maintainer2 <second@nixos.org>" ];
+    #   }
+    merge = loc: defs:
+      zipAttrs
+        (flatten (imap (n: def: imap (m: def':
+          maintainer.merge (loc ++ ["[${toString n}-${toString m}]"])
+            [{ inherit (def) file; value = def'; }]) def.value) defs));
+  };
+
+  docFile = types.path // {
+    # Returns tuples of
+    #   { file = "module location"; value = <path/to/doc.xml>; }
+    merge = loc: defs: defs;
+  };
+in
+
+{
+  options = {
+    meta = {
+
+      maintainers = mkOption {
+        type = listOfMaintainers;
+        internal = true;
+        default = [];
+        example = [ lib.maintainers.all ];
+        description = ''
+	  List of maintainers of each module.  This option should be defined at
+          most once per module.
+        '';
+      };
+
+      doc = mkOption {
+        type = docFile;
+        internal = true;
+        example = "./meta.xml";
+        description = ''
+	  Documentation prologe for the set of options of each module.  This
+          option should be defined at most once per module.
+        '';
+      };
+
+    };
+  };
+
+  config = {
+    meta.maintainers = singleton lib.maintainers.pierron;
+  };
+}
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index f41c8817ba4..114feb2562d 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -59,7 +59,8 @@ in
     };
 
     nixpkgs.system = mkOption {
-      type = types.str;
+      type = types.uniq 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.
@@ -71,6 +72,10 @@ in
   };
 
   config = {
-    nixpkgs.system = mkDefault pkgs.stdenv.system;
+    _module.args.pkgs = import ../../lib/nixpkgs.nix {
+      system = config.nixpkgs.system;
+
+      inherit (config.nixpkgs) config;
+    };
   };
 }
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index f4271cea853..5afdcf214f2 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -53,7 +53,7 @@ with lib;
       mkDefault (if pathExists fn then readFile fn else "master");
 
     # Note: code names must only increase in alphabetical order.
-    system.nixosCodeName = "Caterpillar";
+    system.nixosCodeName = "Dingo";
 
     # Generate /etc/os-release.  See
     # http://0pointer.de/public/systemd-man/os-release.html for the
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 853961804e5..17717c5988d 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1,6 +1,7 @@
 [
   ./config/fonts/corefonts.nix
   ./config/fonts/fontconfig.nix
+  ./config/fonts/fontconfig-ultimate.nix
   ./config/fonts/fontdir.nix
   ./config/fonts/fonts.nix
   ./config/fonts/ghostscript.nix
@@ -21,12 +22,14 @@
   ./config/system-environment.nix
   ./config/system-path.nix
   ./config/timezone.nix
+  ./config/vpnc.nix
   ./config/unix-odbc-drivers.nix
   ./config/users-groups.nix
   ./config/zram.nix
   ./hardware/all-firmware.nix
   ./hardware/cpu/amd-microcode.nix
   ./hardware/cpu/intel-microcode.nix
+  ./hardware/ksm.nix
   ./hardware/network/b43.nix
   ./hardware/network/intel-2100bg.nix
   ./hardware/network/intel-2200bg.nix
@@ -37,24 +40,29 @@
   ./hardware/pcmcia.nix
   ./hardware/video/bumblebee.nix
   ./hardware/video/nvidia.nix
+  ./hardware/video/ati.nix
   ./installer/tools/nixos-checkout.nix
   ./installer/tools/tools.nix
   ./misc/assertions.nix
-  ./misc/check-config.nix
   ./misc/crashdump.nix
+  ./misc/extra-arguments.nix
   ./misc/ids.nix
   ./misc/lib.nix
   ./misc/locate.nix
+  ./misc/meta.nix
   ./misc/nixpkgs.nix
   ./misc/passthru.nix
   ./misc/version.nix
   ./programs/atop.nix
   ./programs/bash/bash.nix
-  ./programs/bash/command-not-found.nix
   ./programs/blcr.nix
+  ./programs/cdemu.nix
+  ./programs/command-not-found/command-not-found.nix
   ./programs/dconf.nix
   ./programs/environment.nix
   ./programs/info.nix
+  ./programs/ibus.nix
+  ./programs/light.nix
   ./programs/nano.nix
   ./programs/screen.nix
   ./programs/shadow.nix
@@ -63,6 +71,7 @@
   ./programs/ssmtp.nix
   ./programs/uim.nix
   ./programs/venus.nix
+  ./programs/virtualbox-host.nix
   ./programs/wvdial.nix
   ./programs/freetds.nix
   ./programs/zsh/zsh.nix
@@ -83,29 +92,41 @@
   ./services/amqp/activemq/default.nix
   ./services/amqp/rabbitmq.nix
   ./services/audio/alsa.nix
-  ./services/audio/fuppes.nix
+  # Disabled as fuppes no longer builds.
+  # ./services/audio/fuppes.nix
+  ./services/audio/icecast.nix
+  ./services/audio/liquidsoap.nix
   ./services/audio/mpd.nix
   ./services/audio/mopidy.nix
   ./services/backup/almir.nix
   ./services/backup/bacula.nix
+  ./services/backup/crashplan.nix
   ./services/backup/mysql-backup.nix
   ./services/backup/postgresql-backup.nix
   ./services/backup/rsnapshot.nix
   ./services/backup/sitecopy-backup.nix
   ./services/backup/tarsnap.nix
+  ./services/cluster/fleet.nix
+  ./services/cluster/kubernetes.nix
+  ./services/cluster/panamax.nix
+  ./services/computing/torque/server.nix
+  ./services/computing/torque/mom.nix
+  ./services/computing/slurm/slurm.nix
   ./services/continuous-integration/jenkins/default.nix
   ./services/continuous-integration/jenkins/slave.nix
   ./services/databases/4store-endpoint.nix
   ./services/databases/4store.nix
   ./services/databases/couchdb.nix
   ./services/databases/firebird.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 
+  ./services/databases/neo4j.nix
   ./services/databases/openldap.nix
+  ./services/databases/opentsdb.nix
   ./services/databases/postgresql.nix
   ./services/databases/redis.nix
   ./services/databases/virtuoso.nix
@@ -122,21 +143,27 @@
   ./services/desktops/gnome3/seahorse.nix
   ./services/desktops/gnome3/sushi.nix
   ./services/desktops/gnome3/tracker.nix
+  ./services/desktops/profile-sync-daemon.nix
   ./services/desktops/telepathy.nix
   ./services/games/ghost-one.nix
   ./services/games/minecraft-server.nix
+  ./services/games/minetest-server.nix
   ./services/hardware/acpid.nix
   ./services/hardware/amd-hybrid-graphics.nix
   ./services/hardware/bluetooth.nix
+  ./services/hardware/freefall.nix
   ./services/hardware/nvidia-optimus.nix
   ./services/hardware/pcscd.nix
   ./services/hardware/pommed.nix
   ./services/hardware/sane.nix
   ./services/hardware/tcsd.nix
+  ./services/hardware/tlp.nix
   ./services/hardware/thinkfan.nix
   ./services/hardware/udev.nix
   ./services/hardware/udisks2.nix
   ./services/hardware/upower.nix
+  ./services/hardware/thermald.nix
+  ./services/logging/fluentd.nix
   ./services/logging/klogd.nix
   ./services/logging/logcheck.nix
   ./services/logging/logrotate.nix
@@ -145,31 +172,49 @@
   ./services/logging/syslogd.nix
   ./services/logging/syslog-ng.nix
   ./services/mail/dovecot.nix
+  ./services/mail/exim.nix
   ./services/mail/freepops.nix
   ./services/mail/mail.nix
   ./services/mail/mlmmj.nix
   ./services/mail/opensmtpd.nix
   ./services/mail/postfix.nix
   ./services/mail/spamassassin.nix
+  ./services/misc/apache-kafka.nix
   #./services/misc/autofs.nix
+  ./services/misc/canto-daemon.nix
+  ./services/misc/cpuminer-cryptonight.nix
   ./services/misc/cgminer.nix
   ./services/misc/dictd.nix
   ./services/misc/disnix.nix
+  ./services/misc/docker-registry.nix
+  ./services/misc/etcd.nix
   ./services/misc/felix.nix
   ./services/misc/folding-at-home.nix
+  ./services/misc/gitlab.nix
   ./services/misc/gitolite.nix
   ./services/misc/gpsd.nix
+  ./services/misc/mediatomb.nix
+  ./services/misc/mesos-master.nix
+  ./services/misc/mesos-slave.nix
   ./services/misc/nix-daemon.nix
   ./services/misc/nix-gc.nix
   ./services/misc/nixos-manual.nix
   ./services/misc/nix-ssh-serve.nix
+  ./services/misc/parsoid.nix
+  ./services/misc/phd.nix
+  ./services/misc/redmine.nix
   ./services/misc/rippled.nix
+  ./services/misc/ripple-data-api.nix
   ./services/misc/rogue.nix
   ./services/misc/siproxd.nix
   ./services/misc/svnserve.nix
   ./services/misc/synergy.nix
+  ./services/misc/uhub.nix
   ./services/misc/zookeeper.nix
   ./services/monitoring/apcupsd.nix
+  ./services/monitoring/bosun.nix
+  ./services/monitoring/cadvisor.nix
+  ./services/monitoring/collectd.nix
   ./services/monitoring/dd-agent.nix
   ./services/monitoring/graphite.nix
   ./services/monitoring/monit.nix
@@ -177,9 +222,11 @@
   ./services/monitoring/nagios.nix
   ./services/monitoring/riemann.nix
   ./services/monitoring/riemann-dash.nix
+  ./services/monitoring/scollector.nix
   ./services/monitoring/smartd.nix
   ./services/monitoring/statsd.nix
   ./services/monitoring/systemhealth.nix
+  ./services/monitoring/teamviewer.nix
   ./services/monitoring/ups.nix
   ./services/monitoring/uptime.nix
   ./services/monitoring/zabbix-agent.nix
@@ -189,7 +236,12 @@
   ./services/network-filesystems/openafs-client/default.nix
   ./services/network-filesystems/rsyncd.nix
   ./services/network-filesystems/samba.nix
+  ./services/network-filesystems/diod.nix
+  ./services/network-filesystems/u9fs.nix
+  ./services/network-filesystems/yandex-disk.nix
+  ./services/networking/aiccu.nix
   ./services/networking/amuled.nix
+  ./services/networking/atftpd.nix
   ./services/networking/avahi-daemon.nix
   ./services/networking/bind.nix
   ./services/networking/bitlbee.nix
@@ -198,11 +250,14 @@
   ./services/networking/cjdns.nix
   ./services/networking/cntlm.nix
   ./services/networking/connman.nix
+  ./services/networking/consul.nix
   ./services/networking/ddclient.nix
   ./services/networking/dhcpcd.nix
   ./services/networking/dhcpd.nix
+  ./services/networking/dnscrypt-proxy.nix
   ./services/networking/dnsmasq.nix
   ./services/networking/ejabberd.nix
+  ./services/networking/firefox/sync-server.nix
   ./services/networking/firewall.nix
   ./services/networking/flashpolicyd.nix
   ./services/networking/freenet.nix
@@ -212,11 +267,14 @@
   ./services/networking/gvpe.nix
   ./services/networking/haproxy.nix
   ./services/networking/hostapd.nix
+  ./services/networking/i2pd.nix
   ./services/networking/ifplugd.nix
   ./services/networking/iodined.nix
   ./services/networking/ircd-hybrid/default.nix
   ./services/networking/kippo.nix
+  ./services/networking/mailpile.nix
   ./services/networking/minidlna.nix
+  ./services/networking/mstpd.nix
   ./services/networking/murmur.nix
   ./services/networking/nat.nix
   ./services/networking/networkmanager.nix
@@ -225,12 +283,15 @@
   ./services/networking/nsd.nix
   ./services/networking/ntopng.nix
   ./services/networking/ntpd.nix
+  ./services/networking/nylon.nix
   ./services/networking/oidentd.nix
   ./services/networking/openfire.nix
+  ./services/networking/openntpd.nix
   ./services/networking/openvpn.nix
   ./services/networking/polipo.nix
   ./services/networking/prayer.nix
   ./services/networking/privoxy.nix
+  ./services/networking/prosody.nix
   ./services/networking/quassel.nix
   ./services/networking/radicale.nix
   ./services/networking/radvd.nix
@@ -238,14 +299,20 @@
   ./services/networking/rpcbind.nix
   ./services/networking/sabnzbd.nix
   ./services/networking/searx.nix
+  ./services/networking/seeks.nix
   ./services/networking/spiped.nix
+  ./services/networking/sslh.nix
   ./services/networking/ssh/lshd.nix
   ./services/networking/ssh/sshd.nix
+  ./services/networking/strongswan.nix
   ./services/networking/supybot.nix
   ./services/networking/syncthing.nix
   ./services/networking/tcpcrypt.nix
   ./services/networking/teamspeak3.nix
+  ./services/networking/tinc.nix
   ./services/networking/tftpd.nix
+  ./services/networking/tlsdated.nix
+  ./services/networking/tox-bootstrapd.nix
   ./services/networking/unbound.nix
   ./services/networking/unifi.nix
   ./services/networking/vsftpd.nix
@@ -257,23 +324,29 @@
   ./services/networking/znc.nix
   ./services/printing/cupsd.nix
   ./services/scheduling/atd.nix
+  ./services/scheduling/chronos.nix
   ./services/scheduling/cron.nix
   ./services/scheduling/fcron.nix
+  ./services/scheduling/marathon.nix
   ./services/search/elasticsearch.nix
   ./services/search/solr.nix
   ./services/security/clamav.nix
   ./services/security/fail2ban.nix
+  ./services/security/fprintd.nix
   ./services/security/fprot.nix
   ./services/security/frandom.nix
   ./services/security/haveged.nix
+  ./services/security/munge.nix
   ./services/security/torify.nix
   ./services/security/tor.nix
   ./services/security/torsocks.nix
+  ./services/system/cloud-init.nix
   ./services/system/dbus.nix
   ./services/system/kerberos.nix
   ./services/system/nscd.nix
   ./services/system/uptimed.nix
   ./services/torrent/deluge.nix
+  ./services/torrent/peerflix.nix
   ./services/torrent/transmission.nix
   ./services/ttys/agetty.nix
   ./services/ttys/gpm.nix
@@ -287,15 +360,18 @@
   ./services/web-servers/nginx/default.nix
   ./services/web-servers/phpfpm.nix
   ./services/web-servers/tomcat.nix
+  ./services/web-servers/uwsgi.nix
   ./services/web-servers/varnish/default.nix
   ./services/web-servers/winstone.nix
   ./services/web-servers/zope2.nix
+  ./services/x11/unclutter.nix
   ./services/x11/desktop-managers/default.nix
   ./services/x11/display-managers/auto.nix
   ./services/x11/display-managers/default.nix
   ./services/x11/display-managers/gdm.nix
   ./services/x11/display-managers/kdm.nix
   ./services/x11/display-managers/lightdm.nix
+  ./services/x11/display-managers/sddm.nix
   ./services/x11/display-managers/slim.nix
   ./services/x11/hardware/multitouch.nix
   ./services/x11/hardware/synaptics.nix
@@ -320,8 +396,10 @@
   ./system/boot/kernel.nix
   ./system/boot/kexec.nix
   ./system/boot/loader/efi.nix
+  ./system/boot/loader/loader.nix
   ./system/boot/loader/generations-dir/generations-dir.nix
   ./system/boot/loader/grub/grub.nix
+  ./system/boot/loader/grub/ipxe.nix
   ./system/boot/loader/grub/memtest.nix
   ./system/boot/loader/gummiboot/gummiboot.nix
   ./system/boot/loader/init-script/init-script.nix
@@ -335,6 +413,7 @@
   ./system/boot/tmp.nix
   ./system/etc/etc.nix
   ./system/upstart/upstart.nix
+  ./tasks/bcache.nix
   ./tasks/cpu-freq.nix
   ./tasks/encrypted-devices.nix
   ./tasks/filesystems.nix
@@ -342,6 +421,7 @@
   ./tasks/filesystems/cifs.nix
   ./tasks/filesystems/ext.nix
   ./tasks/filesystems/f2fs.nix
+  ./tasks/filesystems/jfs.nix
   ./tasks/filesystems/nfs.nix
   ./tasks/filesystems/reiserfs.nix
   ./tasks/filesystems/unionfs-fuse.nix
@@ -351,6 +431,8 @@
   ./tasks/kbd.nix
   ./tasks/lvm.nix
   ./tasks/network-interfaces.nix
+  ./tasks/network-interfaces-systemd.nix
+  ./tasks/network-interfaces-scripted.nix
   ./tasks/scsi-link-power-management.nix
   ./tasks/swraid.nix
   ./tasks/trackpoint.nix
@@ -359,7 +441,10 @@
   ./virtualisation/containers.nix
   ./virtualisation/docker.nix
   ./virtualisation/libvirtd.nix
-  #./virtualisation/nova.nix
+  ./virtualisation/lxc.nix
+  ./virtualisation/amazon-options.nix
+  ./virtualisation/openvswitch.nix
+  ./virtualisation/parallels-guest.nix
   ./virtualisation/virtualbox-guest.nix
-  #./virtualisation/xen-dom0.nix
+  ./virtualisation/xen-dom0.nix
 ]
diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix
index 6f9e3002f29..457642d82f7 100644
--- a/nixos/modules/profiles/base.nix
+++ b/nixos/modules/profiles/base.nix
@@ -10,6 +10,8 @@
     pkgs.w3m # needed for the manual anyway
     pkgs.testdisk # useful for repairing boot problems
     pkgs.mssys # for writing Microsoft boot sectors / MBRs
+    pkgs.efibootmgr
+    pkgs.efivar
     pkgs.parted
     pkgs.gptfdisk
     pkgs.ddrescue
@@ -34,10 +36,8 @@
     pkgs.xfsprogs
     pkgs.jfsutils
     pkgs.f2fs-tools
-    #pkgs.jfsrec # disabled because of Boost dependency
 
     # Some compression/archiver tools.
-    pkgs.unrar
     pkgs.unzip
     pkgs.zip
     pkgs.dar # disk archiver
diff --git a/nixos/modules/profiles/container.nix b/nixos/modules/profiles/container.nix
new file mode 100644
index 00000000000..dd2e6579a93
--- /dev/null
+++ b/nixos/modules/profiles/container.nix
@@ -0,0 +1,56 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ pkgs2storeContents = l : map (x: { object = x; symlink = "none"; }) l;
+
+in {
+  # Docker image config.
+  imports = [
+    ../installer/cd-dvd/channel.nix
+    ./minimal.nix
+    ./clone-config.nix
+  ];
+
+  # Create the tarball
+  system.build.tarball = import ../../lib/make-system-tarball.nix {
+    inherit (pkgs) stdenv perl xz pathsFromGraph;
+
+    contents = [];
+    extraArgs = "--owner=0";
+
+    # Add init script to image
+    storeContents = [
+      { object = config.system.build.toplevel + "/init";
+        symlink = "/init";
+      }
+    ] ++ (pkgs2storeContents [ pkgs.stdenv ]);
+
+    # Some container managers like lxc need these
+    extraCommands = "mkdir -p proc sys dev";
+  };
+
+  boot.isContainer = true;
+  boot.postBootCommands =
+    ''
+      # After booting, register the contents of the Nix store in the Nix
+      # database.
+      if [ -f /nix-path-registration ]; then
+        ${config.nix.package}/bin/nix-store --load-db < /nix-path-registration &&
+        rm /nix-path-registration
+      fi
+
+      # nixos-rebuild also requires a "system" profile
+      ${config.nix.package}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system
+    '';
+
+  # Disable some features that are not useful in a container.
+  sound.enable = mkDefault false;
+  services.udisks2.enable = mkDefault false;
+
+  # Install new init script
+  system.activationScripts.installInitScript = ''
+    ln -fs $systemConfig/init /init
+  '';
+}
diff --git a/nixos/modules/programs/bash/command-not-found.nix b/nixos/modules/programs/bash/command-not-found.nix
deleted file mode 100644
index 8c86d48b080..00000000000
--- a/nixos/modules/programs/bash/command-not-found.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-# This module provides suggestions of packages to install if the user
-# tries to run a missing command in Bash.  This is implemented using a
-# SQLite database that maps program names to Nix package names (e.g.,
-# "pdflatex" is mapped to "tetex").
-
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  commandNotFound = pkgs.substituteAll {
-    name = "command-not-found";
-    dir = "bin";
-    src = ./command-not-found.pl;
-    isExecutable = true;
-    inherit (pkgs) perl;
-    perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ")
-      [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite ]);
-  };
-
-in
-
-{
-
-  programs.bash.interactiveShellInit =
-    ''
-      # This function is called whenever a command is not found.
-      command_not_found_handle() {
-        local p=/run/current-system/sw/bin/command-not-found
-        if [ -x $p -a -f /nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite ]; then
-          # Run the helper program.
-          $p "$1"
-          # Retry the command if we just installed it.
-          if [ $? = 126 ]; then
-            "$@"
-          else
-            return 127
-          fi
-        else
-          echo "$1: command not found" >&2
-          return 127
-        fi
-      }
-    '';
-
-  environment.systemPackages = [ commandNotFound ];
-
-  # TODO: tab completion for uninstalled commands! :-)
-
-}
diff --git a/nixos/modules/programs/cdemu.nix b/nixos/modules/programs/cdemu.nix
new file mode 100644
index 00000000000..d1b1915eea9
--- /dev/null
+++ b/nixos/modules/programs/cdemu.nix
@@ -0,0 +1,49 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.programs.cdemu;
+in {
+
+  options = {
+    programs.cdemu = {
+      enable = mkOption {
+        default = false;
+        description = "Whether to enable cdemu for users of appropriate group (default cdrom)";
+      };
+      group = mkOption {
+        default = "cdrom";
+        description = "Required group for users of cdemu";
+      };
+      gui = mkOption {
+        default = true;
+        description = "Whether to install cdemu GUI (gCDEmu)";
+      };
+      image-analyzer = mkOption {
+        default = true;
+        description = "Whether to install image analyzer";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    boot = {
+      extraModulePackages = [ pkgs.linuxPackages.vhba ];
+      kernelModules = [ "vhba" ];
+    };
+
+    services = {
+      udev.extraRules = ''
+        KERNEL=="vhba_ctl", MODE="0660", OWNER="root", GROUP="${cfg.group}"
+      '';
+      dbus.packages = [ pkgs.cdemu-daemon ];
+    };
+
+    environment.systemPackages =
+      [ pkgs.cdemu-daemon pkgs.cdemu-client ]
+      ++ optional cfg.gui pkgs.gcdemu
+      ++ optional cfg.image-analyzer pkgs.image-analyzer;
+  };
+
+}
diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix
new file mode 100644
index 00000000000..bead2dcdcf9
--- /dev/null
+++ b/nixos/modules/programs/command-not-found/command-not-found.nix
@@ -0,0 +1,71 @@
+# This module provides suggestions of packages to install if the user
+# tries to run a missing command in Bash.  This is implemented using a
+# SQLite database that maps program names to Nix package names (e.g.,
+# "pdflatex" is mapped to "tetex").
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  commandNotFound = pkgs.substituteAll {
+    name = "command-not-found";
+    dir = "bin";
+    src = ./command-not-found.pl;
+    isExecutable = true;
+    inherit (pkgs) perl;
+    perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ")
+      [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite ]);
+  };
+
+in
+
+{
+
+  programs.bash.interactiveShellInit =
+    ''
+      # This function is called whenever a command is not found.
+      command_not_found_handle() {
+        local p=/run/current-system/sw/bin/command-not-found
+        if [ -x $p -a -f /nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite ]; then
+          # Run the helper program.
+          $p "$1"
+          # Retry the command if we just installed it.
+          if [ $? = 126 ]; then
+            "$@"
+          else
+            return 127
+          fi
+        else
+          echo "$1: command not found" >&2
+          return 127
+        fi
+      }
+    '';
+
+  programs.zsh.interactiveShellInit =
+    ''
+      # This function is called whenever a command is not found.
+      command_not_found_handler() {
+        local p=/run/current-system/sw/bin/command-not-found
+        if [ -x $p -a -f /nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite ]; then
+          # Run the helper program.
+          $p "$1"
+
+          # Retry the command if we just installed it.
+          if [ $? = 126 ]; then
+            "$@"
+          fi
+	else
+          # Indicate than there was an error so ZSH falls back to its default handler
+	  return 127
+        fi
+      }
+    '';
+
+  environment.systemPackages = [ commandNotFound ];
+
+  # TODO: tab completion for uninstalled commands! :-)
+
+}
diff --git a/nixos/modules/programs/bash/command-not-found.pl b/nixos/modules/programs/command-not-found/command-not-found.pl
index 916649059d3..916649059d3 100644
--- a/nixos/modules/programs/bash/command-not-found.pl
+++ b/nixos/modules/programs/command-not-found/command-not-found.pl
diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix
index 4a510805b01..e0379a2c02a 100644
--- a/nixos/modules/programs/environment.nix
+++ b/nixos/modules/programs/environment.nix
@@ -37,26 +37,25 @@ in
         "/run/current-system/sw"
       ];
 
-    # !!! fix environment.profileVariables definition and then move
-    # most of these elsewhere
-    environment.profileVariables = (i:
-      { PATH = [ "${i}/bin" "${i}/sbin" "${i}/lib/kde4/libexec" ];
-        MANPATH = [ "${i}/man" "${i}/share/man" ];
-        INFOPATH = [ "${i}/info" "${i}/share/info" ];
-        PKG_CONFIG_PATH = [ "${i}/lib/pkgconfig" ];
-        TERMINFO_DIRS = [ "${i}/share/terminfo" ];
-        PERL5LIB = [ "${i}/lib/perl5/site_perl" ];
-        ALSA_PLUGIN_DIRS = [ "${i}/lib/alsa-lib" ];
-        GST_PLUGIN_SYSTEM_PATH = [ "${i}/lib/gstreamer-0.10" ];
-        KDEDIRS = [ "${i}" ];
-        STRIGI_PLUGIN_PATH = [ "${i}/lib/strigi/" ];
-        QT_PLUGIN_PATH = [ "${i}/lib/qt4/plugins" "${i}/lib/kde4/plugins" ];
-        QTWEBKIT_PLUGIN_PATH = [ "${i}/lib/mozilla/plugins/" ];
-        GTK_PATH = [ "${i}/lib/gtk-2.0" "${i}/lib/gtk-3.0" ];
-        XDG_CONFIG_DIRS = [ "${i}/etc/xdg" ];
-        XDG_DATA_DIRS = [ "${i}/share" ];
-        MOZ_PLUGIN_PATH = [ "${i}/lib/mozilla/plugins" ];
-      });
+    # TODO: move most of these elsewhere
+    environment.profileRelativeEnvVars =
+      { PATH = [ "/bin" "/sbin" "/lib/kde4/libexec" ];
+        INFOPATH = [ "/info" "/share/info" ];
+        PKG_CONFIG_PATH = [ "/lib/pkgconfig" ];
+        TERMINFO_DIRS = [ "/share/terminfo" ];
+        PERL5LIB = [ "/lib/perl5/site_perl" ];
+        KDEDIRS = [ "" ];
+        STRIGI_PLUGIN_PATH = [ "/lib/strigi/" ];
+        QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" "/lib/qt5/plugins" ];
+        QML_IMPORT_PATH = [ "/lib/qt5/imports" ];
+        QML2_IMPORT_PATH = [ "/lib/qt5/qml" ];
+        QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/plugins/" ];
+        GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ];
+        XDG_CONFIG_DIRS = [ "/etc/xdg" ];
+        XDG_DATA_DIRS = [ "/share" ];
+        MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ];
+        LIBEXEC_PATH = [ "/lib/libexec" ];
+      };
 
     environment.extraInit =
       ''
diff --git a/nixos/modules/programs/ibus.nix b/nixos/modules/programs/ibus.nix
new file mode 100644
index 00000000000..b8702a743d8
--- /dev/null
+++ b/nixos/modules/programs/ibus.nix
@@ -0,0 +1,51 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.ibus;
+in
+{
+  options = {
+
+    programs.ibus = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = "Enable IBus input method";
+      };
+      plugins = mkOption {
+        type = lib.types.listOf lib.types.path;
+        default = [];
+        description = ''
+          IBus plugin packages
+        '';
+      };
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.ibus ];
+
+    gtkPlugins = [ pkgs.ibus ];
+    qtPlugins = [ pkgs.ibus-qt ];
+
+    environment.variables =
+      let
+        env = pkgs.buildEnv {
+          name = "ibus-env";
+          paths = [ pkgs.ibus ] ++ cfg.plugins;
+        };
+      in {
+        GTK_IM_MODULE = "ibus";
+        QT_IM_MODULE = "ibus";
+        XMODIFIERS = "@im=ibus";
+
+        IBUS_COMPONENT_PATH = "${env}/share/ibus/component";
+      };
+
+    services.xserver.displayManager.sessionCommands = "${pkgs.ibus}/bin/ibus-daemon --daemonize --xim --cache=none";
+  };
+}
diff --git a/nixos/modules/programs/light.nix b/nixos/modules/programs/light.nix
new file mode 100644
index 00000000000..09cd1113d9c
--- /dev/null
+++ b/nixos/modules/programs/light.nix
@@ -0,0 +1,26 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.light;
+
+in
+{
+  options = {
+    programs.light = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to install Light backlight control with setuid wrapper.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.light ];
+    security.setuidPrograms = [ "light" ];
+  };
+}
diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix
index 5a467e112c2..895ecb122cb 100644
--- a/nixos/modules/programs/shadow.nix
+++ b/nixos/modules/programs/shadow.nix
@@ -83,7 +83,7 @@ in
     security.pam.services =
       { chsh = { rootOK = true; };
         chfn = { rootOK = true; };
-        su = { rootOK = true; forwardXAuth = true; };
+        su = { rootOK = true; forwardXAuth = true; logFailures = true; };
         passwd = {};
         # Note: useradd, groupadd etc. aren't setuid root, so it
         # doesn't really matter what the PAM config says as long as it
@@ -100,7 +100,7 @@ in
         chgpasswd = { rootOK = true; };
       };
 
-    security.setuidPrograms = [ "passwd" "chfn" "su" "newgrp"
+    security.setuidPrograms = [ "passwd" "chfn" "su" "sg" "newgrp"
       "newuidmap" "newgidmap"  # new in shadow 4.2.x
       ];
 
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index fdb9dfd4b8c..6ca73eea5f6 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -4,8 +4,19 @@
 
 with lib;
 
-let cfg  = config.programs.ssh;
-    cfgd = config.services.openssh;
+let
+
+  cfg  = config.programs.ssh;
+  cfgd = config.services.openssh;
+
+  askPassword = cfg.askPassword;
+
+  askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper"
+    ''
+      #! ${pkgs.stdenv.shell} -e
+      export DISPLAY="$(systemctl --user show-environment | ${pkgs.gnused}/bin/sed 's/^DISPLAY=\(.*\)/\1/; t; d')"
+      exec ${askPassword}
+    '';
 
 in
 {
@@ -15,6 +26,12 @@ in
 
     programs.ssh = {
 
+      askPassword = mkOption {
+        type = types.string;
+        default = "${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass";
+        description = ''Program used by SSH to ask for passwords.'';
+      };
+
       forwardX11 = mkOption {
         type = types.bool;
         default = false;
@@ -59,6 +76,22 @@ in
         '';
       };
 
+      agentTimeout = mkOption {
+        type = types.nullOr types.string;
+        default = null;
+        example = "1h";
+        description = ''
+          How long to keep the private keys in memory. Use null to keep them forever.
+        '';
+      };
+
+      package = mkOption {
+        default = pkgs.openssh;
+        description = ''
+          The package used for the openssh client and daemon.
+        '';
+      };
+
     };
 
   };
@@ -92,12 +125,20 @@ in
         wantedBy = [ "default.target" ];
         serviceConfig =
           { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent";
-            ExecStart = "${pkgs.openssh}/bin/ssh-agent -a %t/ssh-agent";
+            ExecStart =
+                "${cfg.package}/bin/ssh-agent " +
+                optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") +
+                "-a %t/ssh-agent";
             StandardOutput = "null";
             Type = "forking";
             Restart = "on-failure";
             SuccessExitStatus = "0 2";
           };
+        # Allow ssh-agent to ask for confirmation. This requires the
+        # unit to know about the user's $DISPLAY (via ‘systemctl
+        # import-environment’).
+        environment.SSH_ASKPASS = optionalString config.services.xserver.enable askPasswordWrapper;
+        environment.DISPLAY = "fake"; # required to make ssh-agent start $SSH_ASKPASS
       };
 
     environment.extraInit = optionalString cfg.startAgent
@@ -107,5 +148,10 @@ in
         fi
       '';
 
+    environment.interactiveShellInit = optionalString config.services.xserver.enable
+      ''
+        export SSH_ASKPASS=${askPassword}
+      '';
+
   };
 }
diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix
index 34eafd4fa84..7b00efbb468 100644
--- a/nixos/modules/programs/ssmtp.nix
+++ b/nixos/modules/programs/ssmtp.nix
@@ -20,6 +20,7 @@ in
     networking.defaultMailServer = {
 
       directDelivery = mkOption {
+        type = types.bool;
         default = false;
         example = true;
         description = ''
@@ -35,6 +36,7 @@ in
       };
 
       hostName = mkOption {
+        type = types.str;
         example = "mail.example.org";
         description = ''
           The host name of the default mail server to use to deliver
@@ -42,7 +44,17 @@ in
         '';
       };
 
+      root = mkOption {
+        type = types.str;
+        default = "";
+        example = "root@example.org";
+        description = ''
+          The e-mail to which mail for users with UID &lt; 1000 is forwarded.
+        '';
+      };
+
       domain = mkOption {
+        type = types.str;
         default = "";
         example = "example.org";
         description = ''
@@ -51,6 +63,7 @@ in
       };
 
       useTLS = mkOption {
+        type = types.bool;
         default = false;
         example = true;
         description = ''
@@ -60,6 +73,7 @@ in
       };
 
       useSTARTTLS = mkOption {
+        type = types.bool;
         default = false;
         example = true;
         description = ''
@@ -70,6 +84,7 @@ in
       };
 
       authUser = mkOption {
+        type = types.str;
         default = "";
         example = "foo@example.org";
         description = ''
@@ -78,6 +93,7 @@ in
       };
 
       authPass = mkOption {
+        type = types.str;
         default = "";
         example = "correctHorseBatteryStaple";
         description = ''
@@ -96,6 +112,7 @@ in
       ''
         MailHub=${cfg.hostName}
         FromLineOverride=YES
+        ${if cfg.root != "" then "root=${cfg.root}" else ""}
         ${if cfg.domain != "" then "rewriteDomain=${cfg.domain}" else ""}
         UseTLS=${if cfg.useTLS then "YES" else "NO"}
         UseSTARTTLS=${if cfg.useSTARTTLS then "YES" else "NO"}
diff --git a/nixos/modules/programs/uim.nix b/nixos/modules/programs/uim.nix
index 237da3415dc..4bf2f9a1757 100644
--- a/nixos/modules/programs/uim.nix
+++ b/nixos/modules/programs/uim.nix
@@ -1,20 +1,22 @@
-{ config, pkgs, ... }:
+{ config, pkgs, lib, ... }:
 
-with pkgs.lib;
+with lib;
 
 let
   cfg = config.uim;
 in
 {
   options = {
+
     uim = {
       enable = mkOption {
         type = types.bool;
         default = false;
         example = true;
-        description = "enable UIM input method";
+        description = "Enable UIM input method";
       };
     };
+
   };
 
   config = mkIf cfg.enable {
diff --git a/nixos/modules/programs/virtualbox-host.nix b/nixos/modules/programs/virtualbox-host.nix
new file mode 100644
index 00000000000..fc113a08a35
--- /dev/null
+++ b/nixos/modules/programs/virtualbox-host.nix
@@ -0,0 +1,115 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.virtualboxHost;
+  virtualbox = config.boot.kernelPackages.virtualbox.override {
+    inherit (cfg) enableHardening;
+  };
+
+in
+
+{
+  options.services.virtualboxHost = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable host-side support for VirtualBox.
+
+        <note><para>
+          In order to pass USB devices from the host to the guests, the user
+          needs to be in the <literal>vboxusers</literal> group.
+        </para></note>
+      '';
+    };
+
+    addNetworkInterface = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Automatically set up a vboxnet0 host-only network interface.
+      '';
+    };
+
+    enableHardening = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Enable hardened VirtualBox, which ensures that only the binaries in the
+        system path get access to the devices exposed by the kernel modules
+        instead of all users in the vboxusers group.
+
+        <important><para>
+          Disabling this can put your system's security at risk, as local users
+          in the vboxusers group can tamper with the VirtualBox device files.
+        </para></important>
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable (mkMerge [{
+    boot.kernelModules = [ "vboxdrv" "vboxnetadp" "vboxnetflt" ];
+    boot.extraModulePackages = [ virtualbox ];
+    environment.systemPackages = [ virtualbox ];
+
+    security.setuidOwners = let
+      mkSuid = program: {
+        inherit program;
+        source = "${virtualbox}/libexec/virtualbox/${program}";
+        owner = "root";
+        group = "vboxusers";
+        setuid = true;
+      };
+    in mkIf cfg.enableHardening (map mkSuid [
+      "VBoxHeadless"
+      "VBoxNetAdpCtl"
+      "VBoxNetDHCP"
+      "VBoxNetNAT"
+      "VBoxSDL"
+      "VBoxVolInfo"
+      "VirtualBox"
+    ]);
+
+    users.extraGroups.vboxusers.gid = config.ids.gids.vboxusers;
+
+    services.udev.extraRules =
+      ''
+        KERNEL=="vboxdrv",    OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd"
+        KERNEL=="vboxdrvu",   OWNER="root", GROUP="root",      MODE="0666", TAG+="systemd"
+        KERNEL=="vboxnetctl", OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd"
+        SUBSYSTEM=="usb_device", ACTION=="add", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+        SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+        SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
+        SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
+      '';
+
+    # Since we lack the right setuid binaries, set up a host-only network by default.
+  } (mkIf cfg.addNetworkInterface {
+    systemd.services."vboxnet0" =
+      { description = "VirtualBox vboxnet0 Interface";
+        requires = [ "dev-vboxnetctl.device" ];
+        after = [ "dev-vboxnetctl.device" ];
+        wantedBy = [ "network.target" "sys-subsystem-net-devices-vboxnet0.device" ];
+        path = [ virtualbox ];
+        serviceConfig.RemainAfterExit = true;
+        serviceConfig.Type = "oneshot";
+        serviceConfig.PrivateTmp = true;
+        environment.VBOX_USER_HOME = "/tmp";
+        script =
+          ''
+            if ! [ -e /sys/class/net/vboxnet0 ]; then
+              VBoxManage hostonlyif create
+              cat /tmp/VBoxSVC.log >&2
+            fi
+          '';
+        postStop =
+          ''
+            VBoxManage hostonlyif remove vboxnet0
+          '';
+      };
+
+    networking.interfaces.vboxnet0.ip4 = [ { address = "192.168.56.1"; prefixLength = 24; } ];
+  })]);
+}
diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix
index e2dd76219eb..a00b1e5f64d 100644
--- a/nixos/modules/programs/virtualbox.nix
+++ b/nixos/modules/programs/virtualbox.nix
@@ -1,48 +1,8 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let virtualbox = config.boot.kernelPackages.virtualbox; in
-
-{
-  boot.kernelModules = [ "vboxdrv" "vboxnetadp" "vboxnetflt" ];
-  boot.extraModulePackages = [ virtualbox ];
-  environment.systemPackages = [ virtualbox ];
-
-  users.extraGroups.vboxusers.gid = config.ids.gids.vboxusers;
-
-  services.udev.extraRules =
-    ''
-      KERNEL=="vboxdrv",    OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd"
-      KERNEL=="vboxdrvu",   OWNER="root", GROUP="root",      MODE="0666", TAG+="systemd"
-      KERNEL=="vboxnetctl", OWNER="root", GROUP="root",      MODE="0600", TAG+="systemd"
-      SUBSYSTEM=="usb_device", ACTION=="add", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
-      SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
-      SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
-      SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
-    '';
-
-  # Since we lack the right setuid binaries, set up a host-only network by default.
-
-  systemd.services."vboxnet0" =
-    { description = "VirtualBox vboxnet0 Interface";
-      requires = [ "dev-vboxnetctl.device" ];
-      after = [ "dev-vboxnetctl.device" ];
-      wantedBy = [ "network.target" "sys-subsystem-net-devices-vboxnet0.device" ];
-      path = [ virtualbox ];
-      serviceConfig.RemainAfterExit = true;
-      serviceConfig.Type = "oneshot";
-      script =
-        ''
-          if ! [ -e /sys/class/net/vboxnet0 ]; then
-            VBoxManage hostonlyif create
-          fi
-        '';
-      postStop =
-        ''
-          VBoxManage hostonlyif remove vboxnet0
-        '';
-    };
-
-  networking.interfaces.vboxnet0 = { ipAddress = "192.168.56.1"; prefixLength = 24; };
+let
+  msg = "Importing <nixpkgs/nixos/modules/programs/virtualbox.nix> is "
+      + "deprecated, please use `services.virtualboxHost.enable = true' "
+      + "instead.";
+in {
+  config.warnings = [ msg ];
+  config.services.virtualboxHost.enable = true;
 }
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index 1857371ebe8..74dd6af0bdd 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -100,7 +100,7 @@ in
         export HISTSIZE=2000
         export HISTFILE=$HOME/.zsh_history
 
-        setopt HIST_IGNORE_DUPS SHARE_HISTORY
+        setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK
       '';
 
     };
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 0ee2caa28ea..d90cffbd967 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -33,7 +33,8 @@ let
   zipModules = list:
     zipAttrsWith (n: v:
       if tail v != [] then
-        if n == "_type" then (head v)
+        if all (o: isAttrs o && o ? _type) v then mkMerge v
+        else if n == "_type" then head v
         else if n == "warnings" then concatLists v
         else if n == "description" || n == "apply" then
           abort "Cannot rename an option to multiple options."
@@ -55,8 +56,8 @@ let
             apply = x: use (toOf config);
             inherit visible;
           });
-        }
-        { config = setTo (mkMerge (if (fromOf options).isDefined then [ (define (mkMerge (fromOf options).definitions)) ] else []));
+
+          config = setTo (mkAliasAndWrapDefinitions define (fromOf options));
         }
       ];
 
@@ -74,6 +75,7 @@ in zipModules ([]
 ++ obsolete [ "environment" "x11Packages" ] [ "environment" "systemPackages" ]
 ++ obsolete [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ]
 ++ obsolete [ "environment" "nix" ] [ "nix" "package" ]
+++ obsolete [ "fonts" "enableFontConfig" ] [ "fonts" "fontconfig" "enable" ]
 ++ obsolete [ "fonts" "extraFonts" ] [ "fonts" "fonts" ]
 
 ++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ]
@@ -105,11 +107,19 @@ in zipModules ([]
 ++ obsolete [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ]
 ++ obsolete [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ]
 ++ obsolete [ "services" "xserver" "startOpenSSHAgent" ] [ "programs" "ssh" "startAgent" ]
-++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "xbmc" ]
+
+# VirtualBox
+++ obsolete [ "services" "virtualbox" "enable" ] [ "services" "virtualboxGuest" "enable" ]
+
+# Tarsnap
+++ obsolete [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ]
+
+# proxy
+++ obsolete [ "nix" "proxy" ] [ "networking" "proxy" "default" ]
 
 # KDE
-++ deprecated [ "kde" "extraPackages" ] [ "environment" "kdePackages" ]
-# ++ obsolete [ "environment" "kdePackages" ] [ "environment" "systemPackages" ] # !!! doesn't work!
+++ deprecated [ "kde" "extraPackages" ] [ "environment" "systemPackages" ]
+++ obsolete [ "environment" "kdePackages" ] [ "environment" "systemPackages" ]
 
 # Multiple efi bootloaders now
 ++ obsolete [ "boot" "loader" "efi" "efibootmgr" "enable" ] [ "boot" "loader" "efi" "canTouchEfiVariables" ]
@@ -125,9 +135,18 @@ in zipModules ([]
 
 ++ obsolete [ "services" "mysql55" ] [ "services" "mysql" ]
 
+++ obsolete [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]
+
+# XBMC
+++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]
+++ obsolete [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]
+
 # Options that are obsolete and have no replacement.
 ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ]
 ++ obsolete' [ "boot" "initrd" "luks" "enable" ]
 ++ obsolete' [ "programs" "bash" "enable" ]
+++ obsolete' [ "services" "samba" "defaultShare" ]
+++ obsolete' [ "services" "syslog-ng" "serviceName" ]
+++ obsolete' [ "services" "syslog-ng" "listenToJournal" ]
 
 )
diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix
index f29e7a5ad81..4fef62cbffd 100644
--- a/nixos/modules/security/apparmor.nix
+++ b/nixos/modules/security/apparmor.nix
@@ -1,43 +1,49 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
+  inherit (lib) mkIf mkOption types concatMapStrings;
   cfg = config.security.apparmor;
 in
+
 {
-  options = {
-    security.apparmor = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Enable the AppArmor Mandatory Access Control system.";
-      };
+   options = {
+     security.apparmor = {
+       enable = mkOption {
+         type = types.bool;
+         default = false;
+         description = "Enable the AppArmor Mandatory Access Control system.";
+       };
+       profiles = mkOption {
+         type = types.listOf types.path;
+         default = [];
+         description = "List of files containing AppArmor profiles.";
+       };
+     };
+   };
 
-      profiles = mkOption {
-        type = types.listOf types.path;
-        default = [];
-        description = "List of files containing AppArmor profiles.";
-      };
-    };
-  };
+   config = mkIf cfg.enable {
+     environment.systemPackages = [ pkgs.apparmor-utils ];
 
-  config = mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.apparmor ];
-    systemd.services.apparmor = {
-      wantedBy = [ "local-fs.target" ];
-      path     = [ pkgs.apparmor ];
+     systemd.services.apparmor = {
+       wantedBy = [ "local-fs.target" ];
+       serviceConfig = {
+         Type = "oneshot";
+         RemainAfterExit = "yes";
+         ExecStart = concatMapStrings (p:
+           ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv -I ${pkgs.apparmor-profiles}/etc/apparmor.d "${p}" ; ''
+         ) cfg.profiles;
+         ExecStop = concatMapStrings (p:
+           ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}" ; ''
+         ) cfg.profiles;
+       };
+     };
 
-      serviceConfig = {
-        Type = "oneshot";
-        RemainAfterExit = "yes";
-        ExecStart = concatMapStrings (profile:
-          ''${pkgs.apparmor}/sbin/apparmor_parser -rKv -I ${pkgs.apparmor}/etc/apparmor.d/ "${profile}" ; ''
-        ) cfg.profiles;
-        ExecStop = concatMapStrings (profile:
-          ''${pkgs.apparmor}/sbin/apparmor_parser -Rv -I ${pkgs.apparmor}/etc/apparmor.d/ "${profile}" ; ''
-        ) cfg.profiles;
-      };
-    };
-  };
+     security.pam.services.apparmor.text = ''
+       ## AppArmor changes hats according to `order`: first try user, then
+       ## group, and finally fall back to a hat called "DEFAULT"
+       ##
+       ## For now, enable debugging as this is an experimental feature.
+       session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug
+     '';
+   };
 }
diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix
index 8e653cd4284..e60cb5cdb67 100644
--- a/nixos/modules/security/ca.nix
+++ b/nixos/modules/security/ca.nix
@@ -2,21 +2,74 @@
 
 with lib;
 
+let
+
+  caBundle = pkgs.runCommand "ca-bundle.crt"
+    { files =
+        config.security.pki.certificateFiles ++
+        [ (builtins.toFile "extra.crt" (concatStringsSep "\n" config.security.pki.certificates)) ];
+     }
+    ''
+      cat $files > $out
+    '';
+
+in
+
 {
 
+  options = {
+
+    security.pki.certificateFiles = mkOption {
+      type = types.listOf types.path;
+      default = [];
+      example = literalExample "[ \"\${pkgs.cacert}/etc/ca-bundle.crt\" ]";
+      description = ''
+        A list of files containing trusted root certificates in PEM
+        format. These are concatenated to form
+        <filename>/etc/ssl/certs/ca-bundle.crt</filename>, which is
+        used by many programs that use OpenSSL, such as
+        <command>curl</command> and <command>git</command>.
+      '';
+    };
+
+    security.pki.certificates = mkOption {
+      type = types.listOf types.string;
+      default = [];
+      example = singleton ''
+        NixOS.org
+        =========
+        -----BEGIN CERTIFICATE-----
+        MIIGUDCCBTigAwIBAgIDD8KWMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJ
+        TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0
+        ...
+        -----END CERTIFICATE-----
+      '';
+      description = ''
+        A list of trusted root certificates in PEM format.
+      '';
+    };
+
+  };
+
   config = {
 
-    environment.etc =
-      [ { source = "${pkgs.cacert}/etc/ca-bundle.crt";
-          target = "ssl/certs/ca-bundle.crt";
-        }
-      ];
+    security.pki.certificateFiles = [ "${pkgs.cacert}/etc/ca-bundle.crt" ];
+
+    # NixOS canonical location + Debian/Ubuntu/Arch/Gentoo compatibility.
+    environment.etc."ssl/certs/ca-certificates.crt".source = caBundle;
+
+    # Old NixOS compatibility.
+    environment.etc."ssl/certs/ca-bundle.crt".source = caBundle;
+
+    # CentOS/Fedora compatibility.
+    environment.etc."pki/tls/certs/ca-bundle.crt".source = caBundle;
 
     environment.sessionVariables =
-      { SSL_CERT_FILE          = "/etc/ssl/certs/ca-bundle.crt";
+      { SSL_CERT_FILE          = "/etc/ssl/certs/ca-certificates.crt";
+        # FIXME: unneeded - remove eventually.
+        OPENSSL_X509_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt";
         # FIXME: unneeded - remove eventually.
-        OPENSSL_X509_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt";
-        GIT_SSL_CAINFO         = "/etc/ssl/certs/ca-bundle.crt";
+        GIT_SSL_CAINFO         = "/etc/ssl/certs/ca-certificates.crt";
       };
 
   };
diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix
index 9893e63fb24..0e3a54325ca 100644
--- a/nixos/modules/security/duosec.nix
+++ b/nixos/modules/security/duosec.nix
@@ -110,7 +110,7 @@ in
         default = false;
         description = ''
           Print the contents of <literal>/etc/motd</literal> to screen
-          after a succesful login.
+          after a successful login.
         '';
       };
 
@@ -145,7 +145,7 @@ in
 
           When $DUO_PASSCODE is non-empty, it will override
           autopush. The SSH client will need SendEnv DUO_PASSCODE in
-          its configuration, and the SSH server will similarily need
+          its configuration, and the SSH server will similarly need
           AcceptEnv DUO_PASSCODE.
         '';
       };
diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix
index 9e598369137..35974f6890e 100644
--- a/nixos/modules/security/grsecurity.nix
+++ b/nixos/modules/security/grsecurity.nix
@@ -30,7 +30,7 @@ in
         type = types.bool;
         default = false;
         description = ''
-          Enable the stable grsecurity patch, based on Linux 3.2.
+          Enable the stable grsecurity patch, based on Linux 3.14.
         '';
       };
 
@@ -38,59 +38,47 @@ in
         type = types.bool;
         default = false;
         description = ''
-          Enable the testing grsecurity patch, based on Linux 3.13.
+          Enable the testing grsecurity patch, based on Linux 3.19.
         '';
       };
 
       config = {
         mode = mkOption {
-          type = types.str;
+          type = types.enum [ "auto" "custom" ];
           default = "auto";
-          example = "custom";
           description = ''
             grsecurity configuration mode. This specifies whether
             grsecurity is auto-configured or otherwise completely
-            manually configured. Can either be
-            <literal>custom</literal> or <literal>auto</literal>.
-
-            <literal>auto</literal> is recommended.
+            manually configured.
           '';
         };
 
         priority = mkOption {
-          type = types.str;
+          type = types.enum [ "security" "performance" ];
           default = "security";
-          example = "performance";
           description = ''
             grsecurity configuration priority. This specifies whether
             the kernel configuration should emphasize speed or
-            security. Can either be <literal>security</literal> or
-            <literal>performance</literal>.
+            security.
           '';
         };
 
         system = mkOption {
-          type = types.str;
-          default = "";
-          example = "desktop";
+          type = types.enum [ "desktop" "server" ];
+          default = "desktop";
           description = ''
-            grsecurity system configuration. This specifies whether
-            the kernel configuration should be suitable for a Desktop
-            or a Server. Can either be <literal>server</literal> or
-            <literal>desktop</literal>.
+            grsecurity system configuration.
           '';
         };
 
         virtualisationConfig = mkOption {
-          type = types.str;
-          default = "none";
-          example = "host";
+          type = types.nullOr (types.enum [ "host" "guest" ]);
+          default = null;
           description = ''
             grsecurity virtualisation configuration. This specifies
             the virtualisation role of the machine - that is, whether
             it will be a virtual machine guest, a virtual machine
-            host, or neither. Can be one of <literal>none</literal>,
-            <literal>host</literal>, or <literal>guest</literal>.
+            host, or neither.
           '';
         };
 
@@ -106,17 +94,10 @@ in
         };
 
         virtualisationSoftware = mkOption {
-          type = types.str;
-          default = "";
-          example = "kvm";
+          type = types.nullOr (types.enum [ "kvm" "xen" "vmware" "virtualbox" ]);
+          default = null;
           description = ''
-            grsecurity virtualisation software. Set this to the
-            specified virtual machine technology if the machine is
-            running as a guest, or a host.
-
-            Can be one of <literal>kvm</literal>,
-            <literal>xen</literal>, <literal>vmware</literal> or
-            <literal>virtualbox</literal>.
+            Configure grsecurity for use with this virtualisation software.
           '';
         };
 
@@ -156,6 +137,24 @@ in
           '';
         };
 
+        denyUSB = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            If true, then set <literal>GRKERNSEC_DENYUSB y</literal>.
+
+            This enables a sysctl with name
+            <literal>kernel.grsecurity.deny_new_usb</literal>. Setting
+            its value to <literal>1</literal> will prevent any new USB
+            devices from being recognized by the OS.  Any attempted
+            USB device insertion will be logged.
+
+            This option is intended to be used against custom USB
+            devices designed to exploit vulnerabilities in various USB
+            device drivers.
+          '';
+        };
+
         restrictProc = mkOption {
           type = types.bool;
           default = false;
@@ -226,8 +225,8 @@ in
       [ { assertion = cfg.stable || cfg.testing;
           message   = ''
             If grsecurity is enabled, you must select either the
-            stable patch (with kernel 3.2), or the testing patch (with
-            kernel 3.13) to continue.
+            stable patch (with kernel 3.14), or the testing patch (with
+            kernel 3.19) to continue.
           '';
         }
         { assertion = (cfg.stable -> !cfg.testing) || (cfg.testing -> !cfg.stable);
@@ -244,34 +243,23 @@ in
                    && config.boot.kernelPackages.kernel.features.grsecurity;
           message = "grsecurity enabled, but kernel doesn't have grsec support";
         }
-        { assertion = elem cfg.config.mode [ "auto" "custom" ];
-          message = "grsecurity mode must either be 'auto' or 'custom'.";
-        }
-        { assertion = cfg.config.mode == "auto" -> elem cfg.config.system [ "desktop" "server" ];
-          message = "when using auto grsec mode, system must be either 'desktop' or 'server'";
-        }
-        { assertion = cfg.config.mode == "auto" -> elem cfg.config.priority [ "performance" "security" ];
-          message = "when using auto grsec mode, priority must be 'performance' or 'security'.";
-        }
-        { assertion = cfg.config.mode == "auto" -> elem cfg.config.virtualisationConfig [ "host" "guest" "none" ];
-          message = "when using auto grsec mode, 'virt' must be 'host', 'guest' or 'none'.";
-        }
-        { assertion = (cfg.config.mode == "auto" && (elem cfg.config.virtualisationConfig [ "host" "guest" ])) ->
+        { assertion = (cfg.config.mode == "auto" && (cfg.config.virtualisationConfig != null)) ->
               cfg.config.hardwareVirtualisation != null;
           message   = "when using auto grsec mode with virtualisation, you must specify if your hardware has virtualisation extensions";
         }
-        { assertion = (cfg.config.mode == "auto" && (elem cfg.config.virtualisationConfig [ "host" "guest" ])) ->
-              elem cfg.config.virtualisationSoftware [ "kvm" "xen" "virtualbox" "vmware" ];
-          message   = "virtualisation software must be 'kvm', 'xen', 'vmware' or 'virtualbox'";
+        { assertion = (cfg.config.mode == "auto" && (cfg.config.virtualisationConfig != null)) ->
+              cfg.config.virtualisationSoftware != null;
+         message   = "grsecurity configured for virtualisation but no virtualisation software specified";
         }
       ];
 
     systemd.services.grsec-lock = mkIf cfg.config.sysctl {
       description     = "grsecurity sysctl-lock Service";
-      requires        = [ "sysctl.service" ];
+      requires        = [ "systemd-sysctl.service" ];
       wantedBy        = [ "multi-user.target" ];
       serviceConfig.Type = "oneshot";
       serviceConfig.RemainAfterExit = "yes";
+      unitConfig.ConditionPathIsReadWrite = "/proc/sys/kernel/grsecurity/grsec_lock";
       script = ''
         locked=`cat /proc/sys/kernel/grsecurity/grsec_lock`
         if [ "$locked" == "0" ]; then
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index b1b75a0068d..631e8317cb4 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -6,8 +6,9 @@
 with lib;
 
 let
+  parentConfig = config;
 
-  pamOpts = args: {
+  pamOpts = { config, name, ... }: let cfg = config; in let config = parentConfig; in {
 
     options = {
 
@@ -54,6 +55,23 @@ let
         '';
       };
 
+      fprintAuth = mkOption {
+        default = config.services.fprintd.enable;
+        type = types.bool;
+        description = ''
+          If set, fingerprint reader will be used (if exists and
+          your fingerprints are enrolled).
+        '';
+      };
+
+      oathAuth = mkOption {
+        default = config.security.pam.enableOATH;
+        type = types.bool;
+        description = ''
+          If set, the OATH Toolkit will be used.
+        '';
+      };
+
       sshAgentAuth = mkOption {
         default = false;
         type = types.bool;
@@ -113,6 +131,14 @@ let
         '';
       };
 
+      requireWheel = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to permit root access only to members of group wheel.
+        '';
+      };
+
       limits = mkOption {
         description = ''
           Attribute set describing resource limits.  Defaults to the
@@ -126,12 +152,28 @@ let
         description = "Whether to show the message of the day.";
       };
 
+      makeHomeDir = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to try to create home directories for users
+          with <literal>$HOME</literal>s pointing to nonexistent
+          locations on session login.
+        '';
+      };
+
       updateWtmp = mkOption {
         default = false;
         type = types.bool;
         description = "Whether to update <filename>/var/log/wtmp</filename>.";
       };
 
+      logFailures = mkOption {
+        default = false;
+        type = types.bool;
+        description = "Whether to log authentication failures in <filename>/var/log/faillog</filename>.";
+      };
+
       text = mkOption {
         type = types.nullOr types.lines;
         description = "Contents of the PAM service file.";
@@ -139,8 +181,8 @@ let
 
     };
 
-    config = let cfg = args.config; in {
-      name = mkDefault args.name;
+    config = {
+      name = mkDefault name;
       setLoginUid = mkDefault cfg.startSession;
       limits = mkDefault config.security.pam.loginLimits;
 
@@ -159,14 +201,24 @@ let
           # Authentication management.
           ${optionalString cfg.rootOK
               "auth sufficient pam_rootok.so"}
+          ${optionalString cfg.requireWheel
+              "auth required pam_wheel.so use_uid"}
+          ${optionalString cfg.logFailures
+              "auth required pam_tally.so"}
           ${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth)
               "auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=~/.ssh/authorized_keys:~/.ssh/authorized_keys2:/etc/ssh/authorized_keys.d/%u"}
+          ${optionalString cfg.fprintAuth
+              "auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so"}
           ${optionalString cfg.usbAuth
               "auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so"}
           ${optionalString cfg.unixAuth
-              "auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth"}
+              "auth ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth"}
+          ${optionalString config.security.pam.enableEcryptfs
+              "auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
           ${optionalString cfg.otpwAuth
               "auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so"}
+          ${optionalString cfg.oathAuth
+              "auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so window=5 usersfile=/etc/users.oath"}
           ${optionalString config.users.ldap.enable
               "auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"}
           ${optionalString config.krb5.enable ''
@@ -174,9 +226,11 @@ let
             auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass
             auth sufficient ${pam_ccreds}/lib/security/pam_ccreds.so action=store use_first_pass
           ''}
-          auth required   pam_deny.so
+          ${optionalString (! config.security.pam.enableEcryptfs) "auth required pam_deny.so"}
 
           # Password management.
+          ${optionalString config.security.pam.enableEcryptfs
+              "password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
           password requisite pam_unix.so nullok sha512
           ${optionalString config.users.ldap.enable
               "password sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
@@ -192,14 +246,20 @@ let
               "session ${
                 if config.boot.isContainer then "optional" else "required"
               } pam_loginuid.so"}
+          ${optionalString cfg.makeHomeDir
+              "session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022"}
           ${optionalString cfg.updateWtmp
               "session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"}
+          ${optionalString config.security.pam.enableEcryptfs
+              "session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
           ${optionalString config.users.ldap.enable
               "session optional ${pam_ldap}/lib/security/pam_ldap.so"}
           ${optionalString config.krb5.enable
               "session optional ${pam_krb5}/lib/security/pam_krb5.so"}
           ${optionalString cfg.otpwAuth
               "session optional ${pkgs.otpw}/lib/security/pam_otpw.so"}
+          ${optionalString cfg.oathAuth
+              "session optional ${pkgs.oathToolkit}/lib/security/pam_oath.so window=5 usersfile=/etc/users.oath"}
           ${optionalString cfg.startSession
               "session optional ${pkgs.systemd}/lib/security/pam_systemd.so"}
           ${optionalString cfg.forwardXAuth
@@ -297,6 +357,20 @@ in
       '';
     };
 
+    security.pam.enableOATH = mkOption {
+      default = false;
+      description = ''
+        Enable the OATH (one-time password) PAM module.
+      '';
+    };
+
+    security.pam.enableEcryptfs = mkOption {
+      default = false;
+      description = ''
+        Enable eCryptfs PAM module (mounting ecryptfs home directory on login).
+      '';
+    };
+
     users.motd = mkOption {
       default = null;
       example = "Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3178.";
@@ -316,7 +390,12 @@ in
       [ pkgs.pam ]
       ++ optional config.users.ldap.enable pam_ldap
       ++ optionals config.krb5.enable [pam_krb5 pam_ccreds]
-      ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ];
+      ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ]
+      ++ optionals config.security.pam.enableOATH [ pkgs.oathToolkit ]
+      ++ optionals config.security.pam.enableEcryptfs [ pkgs.ecryptfs ];
+
+    security.setuidPrograms =
+        optionals config.security.pam.enableEcryptfs [ "mount.ecryptfs_private" "umount.ecryptfs_private" ];
 
     environment.etc =
       mapAttrsToList (n: v: makePAMService v) config.security.pam.services;
diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix
index 4d8fabc7696..b14ea7a5f27 100644
--- a/nixos/modules/security/rngd.nix
+++ b/nixos/modules/security/rngd.nix
@@ -20,7 +20,7 @@ with lib;
       KERNEL=="random", TAG+="systemd"
       SUBSYSTEM=="cpu", ENV{MODALIAS}=="x86cpu:*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
       KERNEL=="hw_random", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
-      KERNEL=="tmp0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
+      ${if config.services.tcsd.enable then "" else ''KERNEL=="tpm0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"''}
     '';
 
     systemd.services.rngd = {
@@ -32,8 +32,6 @@ with lib;
 
       serviceConfig.ExecStart = "${pkgs.rng_tools}/sbin/rngd -f -v" +
         (if config.services.tcsd.enable then " --no-tpm=1" else "");
-
-      restartTriggers = [ pkgs.rng_tools ];
     };
   };
 }
diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix
index 373afffd3fb..2a289dc402c 100644
--- a/nixos/modules/security/setuid-wrappers.nix
+++ b/nixos/modules/security/setuid-wrappers.nix
@@ -76,8 +76,7 @@ in
 
   config = {
 
-    security.setuidPrograms =
-      [ "fusermount" "wodim" "cdrdao" "growisofs" ];
+    security.setuidPrograms = [ "fusermount" ];
 
     system.activationScripts.setuid =
       let
diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix
index cbd1628caae..bced2a6ed75 100644
--- a/nixos/modules/security/sudo.nix
+++ b/nixos/modules/security/sudo.nix
@@ -46,6 +46,14 @@ in
           <filename>sudoers</filename> file.
         '';
     };
+
+    security.sudo.extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      description = ''
+        Extra configuration text appended to <filename>sudoers</filename>.
+      '';
+    };
   };
 
 
@@ -55,7 +63,8 @@ in
 
     security.sudo.configFile =
       ''
-        # Don't edit this file. Set the NixOS option ‘security.sudo.configFile’ instead.
+        # Don't edit this file. Set the NixOS options ‘security.sudo.configFile’
+        # or ‘security.sudo.extraConfig’ instead.
 
         # Environment variables to keep for root and %wheel.
         Defaults:root,%wheel env_keep+=TERMINFO_DIRS
@@ -68,7 +77,8 @@ in
         root        ALL=(ALL) SETENV: ALL
 
         # Users in the "wheel" group can do anything.
-        %wheel      ALL=(ALL) ${if cfg.wheelNeedsPassword then "" else "NOPASSWD: ALL, "}SETENV: ALL
+        %wheel      ALL=(ALL:ALL) ${if cfg.wheelNeedsPassword then "" else "NOPASSWD: ALL, "}SETENV: ALL
+        ${cfg.extraConfig}
       '';
 
     security.setuidPrograms = [ "sudo" "sudoedit" ];
@@ -80,11 +90,10 @@ in
     environment.etc = singleton
       { source =
           pkgs.runCommand "sudoers"
-	  {src = pkgs.writeText "sudoers-in" cfg.configFile; }
+          { 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.sudo}/sbin/visudo -f $src -c && cp $src $out";
         target = "sudoers";
         mode = "0440";
       };
diff --git a/nixos/modules/services/amqp/rabbitmq.nix b/nixos/modules/services/amqp/rabbitmq.nix
index a930098bfee..780d5daded9 100644
--- a/nixos/modules/services/amqp/rabbitmq.nix
+++ b/nixos/modules/services/amqp/rabbitmq.nix
@@ -31,6 +31,15 @@ in {
           <literal>guest</literal> by default, so you should delete
           this user if you intend to allow external access.
         '';
+        type = types.str;
+      };
+
+      port = mkOption {
+        default = 5672;
+        description = ''
+          Port on which RabbitMQ will listen for AMQP connections.
+        '';
+        type = types.int;
       };
 
       dataDir = mkOption {
@@ -77,6 +86,7 @@ in {
     users.extraUsers.rabbitmq = {
       description = "RabbitMQ server user";
       home = "${cfg.dataDir}";
+      createHome = true;
       group = "rabbitmq";
       uid = config.ids.uids.rabbitmq;
     };
@@ -87,12 +97,16 @@ in {
       description = "RabbitMQ Server";
 
       wantedBy = [ "multi-user.target" ];
-      after = [ "network-interfaces.target" ];
+      after = [ "network.target" ];
+
+      path = [ pkgs.rabbitmq_server pkgs.procps ];
 
       environment = {
         RABBITMQ_MNESIA_BASE = "${cfg.dataDir}/mnesia";
         RABBITMQ_NODE_IP_ADDRESS = cfg.listenAddress;
+        RABBITMQ_NODE_PORT = toString cfg.port;
         RABBITMQ_SERVER_START_ARGS = "-rabbit error_logger tty -rabbit sasl_error_logger false";
+        RABBITMQ_PID_FILE = "${cfg.dataDir}/pid";
         SYS_PREFIX = "";
         RABBITMQ_ENABLED_PLUGINS_FILE = pkgs.writeText "enabled_plugins" ''
           [ ${concatStringsSep "," cfg.plugins} ].
@@ -101,23 +115,21 @@ in {
 
       serviceConfig = {
         ExecStart = "${pkgs.rabbitmq_server}/sbin/rabbitmq-server";
+        ExecStop = "${pkgs.rabbitmq_server}/sbin/rabbitmqctl stop";
         User = "rabbitmq";
         Group = "rabbitmq";
-        PermissionsStartOnly = true;
+        WorkingDirectory = cfg.dataDir;
       };
 
+      postStart = ''
+        rabbitmqctl wait ${cfg.dataDir}/pid
+      '';
+
       preStart = ''
-        mkdir -p ${cfg.dataDir} && chmod 0700 ${cfg.dataDir}
-        if [ "$(id -u)" = 0 ]; then chown rabbitmq:rabbitmq ${cfg.dataDir}; fi
-        
         ${optionalString (cfg.cookie != "") ''
             echo -n ${cfg.cookie} > ${cfg.dataDir}/.erlang.cookie
             chmod 400 ${cfg.dataDir}/.erlang.cookie
-            chown rabbitmq:rabbitmq ${cfg.dataDir}/.erlang.cookie
         ''}
-
-        mkdir -p /var/log/rabbitmq && chmod 0700 /var/log/rabbitmq
-        chown rabbitmq:rabbitmq /var/log/rabbitmq
       '';
     };
 
diff --git a/nixos/modules/services/audio/icecast.nix b/nixos/modules/services/audio/icecast.nix
new file mode 100644
index 00000000000..6a8a0f9975b
--- /dev/null
+++ b/nixos/modules/services/audio/icecast.nix
@@ -0,0 +1,130 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.icecast;
+  configFile = pkgs.writeText "icecast.xml" ''
+    <icecast>
+      <hostname>${cfg.hostname}</hostname>
+
+      <authentication>
+        <admin-user>${cfg.admin.user}</admin-user>
+        <admin-password>${cfg.admin.password}</admin-password>
+      </authentication>
+
+      <paths>
+        <logdir>${cfg.logDir}</logdir>
+        <adminroot>${pkgs.icecast}/share/icecast/admin</adminroot>
+        <webroot>${pkgs.icecast}/share/icecast/web</webroot>
+        <alias source="/" dest="/status.xsl"/>
+      </paths>
+
+      <listen-socket>
+        <port>${toString cfg.listen.port}</port>
+        <bind-address>${cfg.listen.address}</bind-address>
+      </listen-socket>   
+
+      <security>
+        <chroot>0</chroot>
+        <changeowner>
+            <user>${cfg.user}</user>
+            <group>${cfg.group}</group>
+        </changeowner>
+      </security>
+
+      ${cfg.extraConf}
+    </icecast>
+  '';
+in {
+
+  ###### interface
+
+  options = {
+
+    services.icecast = {
+
+      enable = mkEnableOption "Icecast server";
+
+      hostname = mkOption {
+        type = types.str;
+        description = "DNS name or IP address that will be used for the stream directory lookups or possibily the playlist generation if a Host header is not provided.";
+        default = config.networking.domain;
+      };
+
+      admin = {
+        user = mkOption {
+          type = types.str;
+          description = "Username used for all administration functions.";
+          default = "admin";
+        };
+
+        password = mkOption {
+          type = types.str;
+          description = "Password used for all administration functions.";
+        };
+      };
+
+      logDir = mkOption {
+        type = types.path;
+        description = "Base directory used for logging.";
+        default = "/var/log/icecast";
+      };
+      
+      listen = {
+        port = mkOption {
+          type = types.int;
+          description = "TCP port that will be used to accept client connections.";
+          default = 8000;
+        };
+
+        address = mkOption {
+          type = types.str;
+          description = "Address Icecast will listen on.";
+          default = "::";
+        };
+      };
+
+      user = mkOption {
+        type = types.str;
+        description = "User privileges for the server.";
+        default = "nobody";
+      };
+
+      group = mkOption {
+        type = types.str;
+        description = "Group privileges for the server.";
+        default = "nogroup";
+      };
+
+      extraConf = mkOption {
+        type = types.lines;
+        description = "icecast.xml content.";
+        default = "";
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.icecast = {
+      after = [ "network.target" ];
+      description = "Icecast Network Audio Streaming Server";
+      wantedBy = [ "multi-user.target" ];
+
+      preStart = "mkdir -p ${cfg.logDir} && chown ${cfg.user}:${cfg.group} ${cfg.logDir}";
+      serviceConfig = {
+        Type = "simple";
+        ExecStart = "${pkgs.icecast}/bin/icecast -c ${configFile}";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/audio/liquidsoap.nix b/nixos/modules/services/audio/liquidsoap.nix
new file mode 100644
index 00000000000..bf67d2399eb
--- /dev/null
+++ b/nixos/modules/services/audio/liquidsoap.nix
@@ -0,0 +1,74 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  streams = builtins.attrNames config.services.liquidsoap.streams;
+
+  streamService =
+    name:
+    let stream = builtins.getAttr name config.services.liquidsoap.streams; in
+    { inherit name;
+      value = {
+        after = [ "network-online.target" "sound.target" ];
+        description = "${name} liquidsoap stream";
+        wantedBy = [ "multi-user.target" ];
+        path = [ pkgs.wget ];
+        preStart =
+          ''
+            mkdir -p /var/log/liquidsoap
+            chown liquidsoap -R /var/log/liquidsoap
+          '';
+        serviceConfig = {
+          PermissionsStartOnly="true";
+          ExecStart = "${pkgs.liquidsoap}/bin/liquidsoap ${stream}";
+          User = "liquidsoap";
+        };
+      };
+    };
+in
+{
+
+  ##### interface
+
+  options = {
+
+    services.liquidsoap.streams = mkOption {
+
+      description =
+        ''
+          Set of Liquidsoap streams to start,
+          one systemd service per stream.
+        '';
+
+      default = {};
+
+      example = {
+        myStream1 = literalExample "\"/etc/liquidsoap/myStream1.liq\"";
+        myStream2 = literalExample "./myStream2.liq";
+        myStream3 = literalExample "\"out(playlist(\"/srv/music/\"))\"";
+      };
+
+      type = types.attrsOf (types.either types.path types.str);
+    };
+
+  };
+  ##### implementation
+
+  config = mkIf (builtins.length streams != 0) {
+
+    users.extraUsers.liquidsoap = {
+      uid = config.ids.uids.liquidsoap;
+      group = "liquidsoap";
+      extraGroups = [ "audio" ];
+      description = "Liquidsoap streaming user";
+      home = "/var/lib/liquidsoap";
+      createHome = true;
+    };
+
+    users.extraGroups.liquidsoap.gid = config.ids.gids.liquidsoap;
+
+    systemd.services = builtins.listToAttrs ( map streamService streams );
+  };
+
+}
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index 53542e34b14..d9b5bf7b5e6 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -15,53 +15,87 @@ let
     state_file          "${cfg.dataDir}/state"
     sticker_file        "${cfg.dataDir}/sticker.sql"
     log_file            "syslog"
-    user                "mpd"
+    user                "${cfg.user}"
+    group               "${cfg.group}"
+
+    ${optionalString (cfg.network.host != "any") ''bind_to_address "${cfg.network.host}"''}
+    ${optionalString (cfg.network.port != 6600)  ''port "${toString cfg.network.port}"''}
+
     ${cfg.extraConfig}
-  ''; 
+  '';
 
 in {
 
   ###### interface
 
-  options = { 
+  options = {
 
-    services.mpd = { 
+    services.mpd = {
 
       enable = mkOption {
         default = false;
         description = ''
           Whether to enable MPD, the music player daemon.
-        ''; 
-      };  
+        '';
+      };
 
       musicDirectory = mkOption {
         default = "${cfg.dataDir}/music";
         description = ''
-          Extra configuration added to the end of MPD's
-          configuration file, mpd.conf.
-        ''; 
-      };  
+          The directory where mpd reads music from.
+        '';
+      };
 
       extraConfig = mkOption {
-        default = ""; 
+        default = "";
         description = ''
           Extra directives added to to the end of MPD's configuration file,
           mpd.conf. Basic configuration like file location and uid/gid
           is added automatically to the beginning of the file.
-        ''; 
-      };  
+        '';
+      };
 
       dataDir = mkOption {
         default = "/var/lib/mpd";
         description = ''
           The directory where MPD stores its state, tag cache,
           playlists etc.
-        ''; 
-      };  
-
-    };  
+        '';
+      };
+
+      user = mkOption {
+        default = "mpd";
+        description = "User account under which MPD runs.";
+      };
+
+      group = mkOption {
+        default = "mpd";
+        description = "Group account under which MPD runs.";
+      };
+
+      network = {
+
+        host = mkOption {
+          default = "any";
+          description = ''
+            This setting sets the address for the daemon to listen on. Careful attention
+            should be paid if this is assigned to anything other then the default, any.
+            This setting can deny access to control of the daemon.
+          '';
+        };
+
+        port = mkOption {
+          default = 6600;
+          description = ''
+            This setting is the TCP port that is desired for the daemon to get assigned
+            to.
+          '';
+        };
+
+      };
+    };
 
-  };  
+  };
 
 
   ###### implementation
@@ -73,20 +107,27 @@ in {
       description = "Music Player Daemon";
       wantedBy = [ "multi-user.target" ];
       path = [ pkgs.mpd ];
-      preStart = "mkdir -p ${cfg.dataDir} && chown -R mpd:mpd  ${cfg.dataDir}";
+      preStart = "mkdir -p ${cfg.dataDir} && chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}";
       script = "exec mpd --no-daemon ${mpdConf}";
+      serviceConfig = {
+        User = "mpd";
+        PermissionsStartOnly = true;
+      };
     };
 
-    users.extraUsers.mpd = {
+    users.extraUsers = optionalAttrs (cfg.user == "mpd") (singleton {
       inherit uid;
-      group = "mpd";
+      name = "mpd";
+      group = cfg.group;
       extraGroups = [ "audio" ];
       description = "Music Player Daemon user";
       home = "${cfg.dataDir}";
-    };
-
-    users.extraGroups.mpd.gid = gid;
+    });
 
+    users.extraGroups = optionalAttrs (cfg.group == "mpd") (singleton {
+      name = "mpd";
+      gid = gid;
+    });
   };
 
 }
diff --git a/nixos/modules/services/backup/almir.nix b/nixos/modules/services/backup/almir.nix
index 5ce215c5c4b..ec39a997028 100644
--- a/nixos/modules/services/backup/almir.nix
+++ b/nixos/modules/services/backup/almir.nix
@@ -109,6 +109,7 @@ in {
       };
 
       sqlalchemy_engine_url = mkOption {
+        default = "postgresql:///bacula";
         example = ''
           postgresql://bacula:bacula@localhost:5432/bacula
           mysql+mysqlconnector://<user>:<password>@<hostname>/<database>'
diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix
new file mode 100644
index 00000000000..74643d1d463
--- /dev/null
+++ b/nixos/modules/services/backup/crashplan.nix
@@ -0,0 +1,63 @@
+{ config, pkgs, lib, ... }:
+
+let
+  cfg = config.services.crashplan;
+  crashplan = pkgs.crashplan;
+  varDir = "/var/lib/crashplan";
+in
+
+with lib;
+
+{
+  options = {
+    services.crashplan = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Starts crashplan background service.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ crashplan ];
+
+    systemd.services.crashplan = {
+      description = "CrashPlan Backup Engine";
+
+      wantedBy = [ "multi-user.target" ];
+      after    = [ "network.target" ];
+
+      preStart = ''
+        ensureDir() {
+          dir=$1
+          mode=$2
+
+          if ! test -e $dir; then
+            ${pkgs.coreutils}/bin/mkdir -m $mode -p $dir
+          elif [ "$(${pkgs.coreutils}/bin/stat -c %a $dir)" != "$mode" ]; then
+            ${pkgs.coreutils}/bin/chmod $mode $dir
+          fi
+        }
+
+        ensureDir ${crashplan.vardir} 755
+        ensureDir ${crashplan.vardir}/conf 700
+        ensureDir ${crashplan.manifestdir} 700
+        ensureDir ${crashplan.vardir}/cache 700
+        ensureDir ${crashplan.vardir}/backupArchives 700
+        ensureDir ${crashplan.vardir}/log 777
+      '';
+
+      serviceConfig = {
+        Type = "forking";
+        EnvironmentFile = "${crashplan}/bin/run.conf";
+        ExecStart = "${crashplan}/bin/CrashPlanEngine start";
+        ExecStop = "${crashplan}/bin/CrashPlanEngine stop";
+        PIDFile = "${crashplan.vardir}/CrashPlanEngine.pid";
+        WorkingDirectory = crashplan;
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix
index 091b5cfd4d5..fb25bd9dd1e 100644
--- a/nixos/modules/services/backup/rsnapshot.nix
+++ b/nixos/modules/services/backup/rsnapshot.nix
@@ -39,11 +39,20 @@ in
           as retain options.
         '';
       };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.rsnapshot;
+        example = literalExample "pkgs.rsnapshotGit";
+        description = ''
+          RSnapshot package to use.
+        '';
+      };
     };
   };
 
   config = mkIf cfg.enable (let
-    myRsnapshot = pkgs.rsnapshot.override { configFile = rsnapshotCfg; };
+    myRsnapshot = cfg.package.override { configFile = rsnapshotCfg; };
     rsnapshotCfg = with pkgs; writeText "gen-rsnapshot.conf" (''
         config_version	1.2
         cmd_cp	${coreutils}/bin/cp
diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix
index 1b0bcadca15..155161945cd 100644
--- a/nixos/modules/services/backup/tarsnap.nix
+++ b/nixos/modules/services/backup/tarsnap.nix
@@ -12,6 +12,7 @@ let
     keyfile  ${config.services.tarsnap.keyfile}
     ${optionalString cfg.nodump "nodump"}
     ${optionalString cfg.printStats "print-stats"}
+    ${optionalString cfg.printStats "humanize-numbers"}
     ${optionalNullStr cfg.checkpointBytes "checkpoint-bytes "+cfg.checkpointBytes}
     ${optionalString cfg.aggressiveNetworking "aggressive-networking"}
     ${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)}
@@ -27,46 +28,39 @@ in
         type = types.bool;
         default = false;
         description = ''
-          If enabled, NixOS will periodically create backups of the
-          specified directories using the <literal>tarsnap</literal>
-          backup service. This installs a <literal>systemd</literal>
-          service called <literal>tarsnap-backup</literal> which is
-          periodically run by cron, or you may run it on-demand.
-
-          See the Tarsnap <link
-          xlink:href='http://www.tarsnap.com/gettingstarted.html'>Getting
-          Started</link> page.
+          Enable periodic tarsnap backups.
         '';
       };
 
       keyfile = mkOption {
-        type = types.path;
+        type = types.str;
         default = "/root/tarsnap.key";
         description = ''
-          Path to the keyfile which identifies the machine
-          associated with your Tarsnap account. This file can
-          be created using the
-          <literal>tarsnap-keygen</literal> utility, and
-          providing your Tarsnap login credentials.
+          The keyfile which associates this machine with your tarsnap
+          account.
+          Create the keyfile with <command>tarsnap-keygen</command>.
+
+          The keyfile name should be given as a string and not a path, to
+          avoid the key being copied into the Nix store.
         '';
       };
 
       cachedir = mkOption {
-        type    = types.path;
+        type    = types.nullOr types.path;
         default = "/var/cache/tarsnap";
         description = ''
-          Tarsnap operations use a "cache directory" which
-          allows Tarsnap to identify which blocks of data have
-          been previously stored; this directory is specified
-          via the <literal>cachedir</literal> option. If the
-          cache directory is lost or out of date, tarsnap
-          creation/deletion operations will exit with an error
-          message instructing you to run <literal>tarsnap
-          --fsck</literal> to regenerate the cache directory.
+          The cache allows tarsnap to identify previously stored data
+          blocks, reducing archival time and bandwidth usage.
+
+          Should the cache become desynchronized or corrupted, tarsnap
+          will refuse to run until you manually rebuild the cache with
+          <command>tarsnap --fsck</command>.
+
+          Set to <literal>null</literal> to disable caching.
         '';
       };
 
-      config = mkOption {
+      archives = mkOption {
         type = types.attrsOf (types.submodule (
           {
             options = {
@@ -74,41 +68,44 @@ in
                 type = types.bool;
                 default = true;
                 description = ''
-                  If set to <literal>true</literal>, then don't
-                  archive files which have the
-                  <literal>nodump</literal> flag set.
+                  Exclude files with the <literal>nodump</literal> flag.
                 '';
               };
 
               printStats = mkOption {
                 type = types.bool;
                 default = true;
-                description = "Print statistics when creating archives.";
+                description = ''
+                  Print global archive statistics upon completion.
+                  The output is available via
+                  <command>systemctl status tarsnap@archive-name</command>.
+                '';
               };
 
               checkpointBytes = mkOption {
                 type = types.nullOr types.str;
-                default = "1G";
+                default = "1GB";
                 description = ''
-                  Create a checkpoint per a particular amount of
-                  uploaded data. By default, Tarsnap will create
-                  checkpoints once per GB of data uploaded. At
-                  minimum, <literal>checkpointBytes</literal> must be
-                  1GB.
-
-                  Can also be set to <literal>null</literal> to
-                  disable checkpointing.
+                  Create a checkpoint every <literal>checkpointBytes</literal>
+                  of uploaded data (optionally specified using an SI prefix).
+
+                  1GB is the minimum value. A higher value is recommended,
+                  as checkpointing is expensive.
+
+                  Set to <literal>null</literal> to disable checkpointing.
                 '';
               };
 
               period = mkOption {
                 type = types.str;
-                default = "15 01 * * *";
+                default = "01:15";
+                example = "hourly";
                 description = ''
-                  This option defines (in the format used by cron)
-                  when tarsnap is run for backups. The default is to
-                  backup the specified paths at 01:15 at night every
-                  day.
+                  Create archive at this interval.
+
+                  The format is described in
+                  <citerefentry><refentrytitle>systemd.time</refentrytitle>
+                  <manvolnum>7</manvolnum></citerefentry>.
                 '';
               };
 
@@ -116,11 +113,11 @@ in
                 type = types.bool;
                 default = false;
                 description = ''
-                  Aggressive network behaviour: Use multiple TCP
-                  connections when writing archives.  Use of this
-                  option is recommended only in cases where TCP
-                  congestion control is known to be the limiting
-                  factor in upload performance.
+                  Upload data over multiple TCP connections, potentially
+                  increasing tarsnap's bandwidth utilisation at the cost
+                  of slowing down all other network traffic. Not
+                  recommended unless TCP congestion is the dominant
+                  limiting factor.
                 '';
               };
 
@@ -134,8 +131,7 @@ in
                 type = types.listOf types.str;
                 default = [];
                 description = ''
-                  Exclude files and directories matching the specified
-                  patterns.
+                  Exclude files and directories matching these patterns.
                 '';
               };
 
@@ -143,12 +139,10 @@ in
                 type = types.listOf types.str;
                 default = [];
                 description = ''
-                  Include only files and directories matching the
-                  specified patterns.
+                  Include only files and directories matching these
+                  patterns (the empty list includes everything).
 
-                  Note that exclusions specified via
-                  <literal>excludes</literal> take precedence over
-                  inclusions.
+                  Exclusions have precedence over inclusions.
                 '';
               };
 
@@ -156,10 +150,10 @@ in
                 type = types.bool;
                 default = false;
                 description = ''
-                  Attempt to reduce tarsnap memory consumption.  This
-                  option will slow down the process of creating
-                  archives, but may help on systems where the average
-                  size of files being backed up is less than 1 MB.
+                  Reduce memory consumption by not caching small files.
+                  Possibly beneficial if the average file size is smaller
+                  than 1 MB and the number of files is lower than the
+                  total amount of RAM in KB.
                 '';
               };
 
@@ -167,11 +161,9 @@ in
                 type = types.bool;
                 default = false;
                 description = ''
-                  Try even harder to reduce tarsnap memory
-                  consumption.  This can significantly slow down
-                  tarsnap, but reduces its memory usage by an
-                  additional factor of 2 beyond what the
-                  <literal>lowmem</literal> option does.
+                  Reduce memory consumption by a factor of 2 beyond what
+                  <literal>lowmem</literal> does, at the cost of significantly
+                  slowing down the archiving process.
                 '';
               };
             };
@@ -188,25 +180,22 @@ in
 
             gamedata =
               { directories = [ "/var/lib/minecraft "];
-                period      = "*/30 * * * *";
+                period      = "*:30";
               };
           }
         '';
 
         description = ''
-          Configuration of a Tarsnap archive. In the example, your
-          machine will have two tarsnap archives:
-          <literal>gamedata</literal> (backed up every 30 minutes) and
-          <literal>nixos</literal> (backed up at 1:15 AM every night by
-          default). You can control individual archive backups using
-          <literal>systemctl</literal>, using the
-          <literal>tarsnap@nixos</literal> or
-          <literal>tarsnap@gamedata</literal> units. For example,
-          <literal>systemctl start tarsnap@nixos</literal> will
-          immediately create a new NixOS archive. By default, archives
-          are suffixed with the timestamp of when they were started,
-          down to second resolution. This means you can use GNU
-          <literal>sort</literal> to sort output easily.
+          Tarsnap archive configurations. Each attribute names an archive
+          to be created at a given time interval, according to the options
+          associated with it. When uploading to the tarsnap server,
+          archive names are suffixed by a 1 second resolution timestamp.
+
+          For each member of the set is created a timer which triggers the
+          instanced <literal>tarsnap@</literal> service unit. You may use
+          <command>systemctl start tarsnap@archive-name</command> to
+          manually trigger creation of <literal>archive-name</literal> at
+          any time.
         '';
       };
     };
@@ -216,38 +205,45 @@ in
     assertions =
       (mapAttrsToList (name: cfg:
         { assertion = cfg.directories != [];
-          message = "Must specify directories for Tarsnap to back up";
-        }) cfg.config) ++
+          message = "Must specify paths for tarsnap to back up";
+        }) cfg.archives) ++
       (mapAttrsToList (name: cfg:
-        { assertion = cfg.lowmem -> !cfg.verylowmem && (cfg.verylowmem -> !cfg.lowmem);
+        { assertion = !(cfg.lowmem && cfg.verylowmem);
           message = "You cannot set both lowmem and verylowmem";
-        }) cfg.config);
+        }) cfg.archives);
 
     systemd.services."tarsnap@" = {
-      description = "Tarsnap Backup of '%i'";
+      description = "Tarsnap archive '%i'";
       requires    = [ "network.target" ];
 
       path = [ pkgs.tarsnap pkgs.coreutils ];
       scriptArgs = "%i";
       script = ''
-        mkdir -p -m 0755 $(dirname ${cfg.cachedir})
-        mkdir -p -m 0600 ${cfg.cachedir}
+        mkdir -p -m 0755 ${dirOf cfg.cachedir}
+        mkdir -p -m 0700 ${cfg.cachedir}
         DIRS=`cat /etc/tarsnap/$1.dirs`
         exec tarsnap --configfile /etc/tarsnap/$1.conf -c -f $1-$(date +"%Y%m%d%H%M%S") $DIRS
       '';
+
+      serviceConfig = {
+        IOSchedulingClass = "idle";
+        NoNewPrivileges = "true";
+        CapabilityBoundingSet = "CAP_DAC_READ_SEARCH";
+      };
     };
 
-    services.cron.systemCronJobs = mapAttrsToList (name: cfg:
-      "${cfg.period} root ${config.systemd.package}/bin/systemctl start tarsnap@${name}"
-    ) cfg.config;
+    systemd.timers = mapAttrs' (name: cfg: nameValuePair "tarsnap@${name}"
+      { timerConfig.OnCalendar = cfg.period;
+        wantedBy = [ "timers.target" ];
+      }) cfg.archives;
 
     environment.etc =
       (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.conf"
         { text = configFile cfg;
-        }) cfg.config) //
+        }) cfg.archives) //
       (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.dirs"
         { text = concatStringsSep " " cfg.directories;
-        }) cfg.config);
+        }) cfg.archives);
 
     environment.systemPackages = [ pkgs.tarsnap ];
   };
diff --git a/nixos/modules/services/cluster/fleet.nix b/nixos/modules/services/cluster/fleet.nix
new file mode 100644
index 00000000000..04d95fbf186
--- /dev/null
+++ b/nixos/modules/services/cluster/fleet.nix
@@ -0,0 +1,150 @@
+{ 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:4001" ];
+      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 ("ETCD_" + 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;
+        FEELT_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.nix b/nixos/modules/services/cluster/kubernetes.nix
new file mode 100644
index 00000000000..d9ae0454ba5
--- /dev/null
+++ b/nixos/modules/services/cluster/kubernetes.nix
@@ -0,0 +1,508 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.kubernetes;
+
+in {
+
+  ###### interface
+
+  options.services.kubernetes = {
+    package = mkOption {
+      description = "Kubernetes package to use.";
+      type = types.package;
+    };
+
+    verbose = mkOption {
+      description = "Kubernetes enable verbose mode for debugging";
+      default = false;
+      type = types.bool;
+    };
+
+    etcdServers = mkOption {
+      description = "Kubernetes list of etcd servers to watch.";
+      default = [ "127.0.0.1:4001" ];
+      type = types.listOf types.str;
+    };
+
+    roles = mkOption {
+      description = ''
+        Kubernetes role that this machine should take.
+
+        Master role will enable etcd, apiserver, scheduler and controller manager
+        services. Node role will enable etcd, docker, kubelet and proxy services.
+      '';
+      default = [];
+      type = types.listOf (types.enum ["master" "node"]);
+    };
+
+    dataDir = mkOption {
+      description = "Kubernetes root directory for managing kubelet files.";
+      default = "/var/lib/kubernetes";
+      type = types.path;
+    };
+
+    dockerCfg = mkOption {
+      description = "Kubernetes contents of dockercfg file.";
+      default = "";
+      type = types.lines;
+    };
+
+    apiserver = {
+      enable = mkOption {
+        description = "Whether to enable kubernetes apiserver.";
+        default = false;
+        type = types.bool;
+      };
+
+      address = mkOption {
+        description = "Kubernetes apiserver listening address.";
+        default = "127.0.0.1";
+        type = types.str;
+      };
+
+      publicAddress = mkOption {
+        description = ''
+          Kubernetes apiserver public listening address used for read only and
+          secure port.
+        '';
+        default = cfg.apiserver.address;
+        type = types.str;
+      };
+
+      port = mkOption {
+        description = "Kubernets apiserver listening port.";
+        default = 8080;
+        type = types.int;
+      };
+
+      readOnlyPort = mkOption {
+        description = "Kubernets apiserver read-only port.";
+        default = 7080;
+        type = types.int;
+      };
+
+      securePort = mkOption {
+        description = "Kubernetes apiserver secure port.";
+        default = 6443;
+        type = types.int;
+      };
+
+      tlsCertFile = mkOption {
+        description = "Kubernetes apiserver certificate file.";
+        default = "";
+        type = types.str;
+      };
+
+      tlsPrivateKeyFile = mkOption {
+        description = "Kubernetes apiserver private key file.";
+        default = "";
+        type = types.str;
+      };
+
+      tokenAuth = mkOption {
+        description = ''
+          Kubernetes apiserver token authentication file. See
+          <link xlink:href="https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/authentication.md"/>
+        '';
+        default = {};
+        example = literalExample ''
+          {
+            alice = "abc123";
+            bob = "xyz987";
+          }
+        '';
+        type = types.attrsOf types.str;
+      };
+
+      authorizationMode = mkOption {
+        description = ''
+          Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC). See
+          <link xlink:href="https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/authorization.md"/>
+        '';
+        default = "AlwaysAllow";
+        type = types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC"];
+      };
+
+      authorizationPolicy = mkOption {
+        description = ''
+          Kubernetes apiserver authorization policy file. See
+          <link xlink:href="https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/authorization.md"/>
+        '';
+        default = [];
+        example = literalExample ''
+          [
+            {user = "admin";}
+            {user = "scheduler"; readonly = true; kind= "pods";}
+            {user = "scheduler"; kind = "bindings";}
+            {user = "kubelet";  readonly = true; kind = "bindings";}
+            {user = "kubelet"; kind = "events";}
+            {user= "alice"; ns = "projectCaribou";}
+            {user = "bob"; readonly = true; ns = "projectCaribou";}
+          ]
+        '';
+        type = types.listOf types.attrs;
+      };
+
+      allowPrivileged = mkOption {
+        description = "Whether to allow privileged containers on kubernetes.";
+        default = false;
+        type = types.bool;
+      };
+
+      portalNet = mkOption {
+        description = "Kubernetes CIDR notation IP range from which to assign portal IPs";
+        default = "10.10.10.10/16";
+        type = types.str;
+      };
+
+      extraOpts = mkOption {
+        description = "Kubernetes apiserver extra command line options.";
+        default = "";
+        type = types.str;
+      };
+    };
+
+    scheduler = {
+      enable = mkOption {
+        description = "Whether to enable kubernetes scheduler.";
+        default = false;
+        type = types.bool;
+      };
+
+      address = mkOption {
+        description = "Kubernetes scheduler listening address.";
+        default = "127.0.0.1";
+        type = types.str;
+      };
+
+      port = mkOption {
+        description = "Kubernets scheduler listening port.";
+        default = 10251;
+        type = types.int;
+      };
+
+      master = mkOption {
+        description = "Kubernetes apiserver address";
+        default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}";
+        type = types.str;
+      };
+
+      extraOpts = mkOption {
+        description = "Kubernetes scheduler extra command line options.";
+        default = "";
+        type = types.str;
+      };
+    };
+
+    controllerManager = {
+      enable = mkOption {
+        description = "Whether to enable kubernetes controller manager.";
+        default = false;
+        type = types.bool;
+      };
+
+      address = mkOption {
+        description = "Kubernetes controller manager listening address.";
+        default = "127.0.0.1";
+        type = types.str;
+      };
+
+      port = mkOption {
+        description = "Kubernets controller manager listening port.";
+        default = 10252;
+        type = types.int;
+      };
+
+      master = mkOption {
+        description = "Kubernetes apiserver address";
+        default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}";
+        type = types.str;
+      };
+
+      machines = mkOption {
+        description = "Kubernetes controller list of machines to schedule to schedule onto";
+        default = [];
+        type = types.listOf types.str;
+      };
+
+      extraOpts = mkOption {
+        description = "Kubernetes controller extra command line options.";
+        default = "";
+        type = types.str;
+      };
+    };
+
+    kubelet = {
+      enable = mkOption {
+        description = "Whether to enable kubernetes kubelet.";
+        default = false;
+        type = types.bool;
+      };
+
+      address = mkOption {
+        description = "Kubernetes kubelet info server listening address.";
+        default = "0.0.0.0";
+        type = types.str;
+      };
+
+      port = mkOption {
+        description = "Kubernets kubelet info server listening port.";
+        default = 10250;
+        type = types.int;
+      };
+
+      hostname = mkOption {
+        description = "Kubernetes kubelet hostname override";
+        default = config.networking.hostName;
+        type = types.str;
+      };
+
+      allowPrivileged = mkOption {
+        description = "Whether to allow kubernetes containers to request privileged mode.";
+        default = false;
+        type = types.bool;
+      };
+
+      apiServers = mkOption {
+        description = "Kubernetes kubelet list of Kubernetes API servers for publishing events, and reading pods and services.";
+        default = ["${cfg.apiserver.address}:${toString cfg.apiserver.port}"];
+        type = types.listOf types.str;
+      };
+
+      cadvisorPort = mkOption {
+        description = "Kubernetes kubelet local cadvisor port.";
+        default = config.services.cadvisor.port;
+        type = types.int;
+      };
+
+      clusterDns = mkOption {
+        description = "Use alternative dns.";
+        default = "";
+        type = types.str;
+      };
+
+      clusterDomain = mkOption {
+        description = "Use alternative domain.";
+        default = "";
+        type = types.str;
+      };
+
+      extraOpts = mkOption {
+        description = "Kubernetes kubelet extra command line options.";
+        default = "";
+        type = types.str;
+      };
+    };
+
+    proxy = {
+      enable = mkOption {
+        description = "Whether to enable kubernetes proxy.";
+        default = false;
+        type = types.bool;
+      };
+
+      address = mkOption {
+        description = "Kubernetes proxy listening address.";
+        default = "0.0.0.0";
+        type = types.str;
+      };
+
+      extraOpts = mkOption {
+        description = "Kubernetes proxy extra command line options.";
+        default = "";
+        type = types.str;
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkMerge [
+    (mkIf cfg.apiserver.enable {
+      systemd.services.kubernetes-apiserver = {
+        description = "Kubernetes Api Server";
+        wantedBy = [ "multi-user.target" ];
+        requires = ["kubernetes-setup.service"];
+        after = [ "network-interfaces.target" "etcd.service" ];
+        serviceConfig = {
+          ExecStart = let
+            authorizationPolicyFile =
+              pkgs.writeText "kubernetes-policy"
+                (builtins.toJSON cfg.apiserver.authorizationPolicy);
+            tokenAuthFile =
+              pkgs.writeText "kubernetes-auth"
+                (concatImapStringsSep "\n" (i: v: v + "," + (toString i))
+                    (mapAttrsToList (name: token: token + "," + name) cfg.apiserver.tokenAuth));
+          in ''${cfg.package}/bin/kube-apiserver \
+            --etcd_servers=${concatMapStringsSep "," (f: "http://${f}") cfg.etcdServers} \
+            --address=${cfg.apiserver.address} \
+            --port=${toString cfg.apiserver.port} \
+            --read_only_port=${toString cfg.apiserver.readOnlyPort} \
+            --public_address_override=${cfg.apiserver.publicAddress} \
+            --allow_privileged=${if cfg.apiserver.allowPrivileged then "true" else "false"} \
+            ${optionalString (cfg.apiserver.tlsCertFile!="")
+              "--tls_cert_file=${cfg.apiserver.tlsCertFile}"} \
+            ${optionalString (cfg.apiserver.tlsPrivateKeyFile!="")
+              "--tls_private_key_file=${cfg.apiserver.tlsPrivateKeyFile}"} \
+            ${optionalString (cfg.apiserver.tokenAuth!=[])
+              "--token_auth_file=${tokenAuthFile}"} \
+            --authorization_mode=${cfg.apiserver.authorizationMode} \
+            ${optionalString (cfg.apiserver.authorizationMode == "ABAC")
+              "--authorization_policy_file=${authorizationPolicyFile}"} \
+            --secure_port=${toString cfg.apiserver.securePort} \
+            --portal_net=${cfg.apiserver.portalNet} \
+            --logtostderr=true \
+            ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \
+            ${cfg.apiserver.extraOpts}
+          '';
+          User = "kubernetes";
+        };
+        postStart = ''
+          until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.apiserver.address}:${toString cfg.apiserver.port}/'; do
+            sleep 1;
+          done
+        '';
+      };
+    })
+
+    (mkIf cfg.scheduler.enable {
+      systemd.services.kubernetes-scheduler = {
+        description = "Kubernetes Scheduler Service";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" "kubernetes-apiserver.service" ];
+        serviceConfig = {
+          ExecStart = ''${cfg.package}/bin/kube-scheduler \
+            --address=${cfg.scheduler.address} \
+            --port=${toString cfg.scheduler.port} \
+            --master=${cfg.scheduler.master} \
+            --logtostderr=true \
+            ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \
+            ${cfg.scheduler.extraOpts}
+          '';
+          User = "kubernetes";
+        };
+      };
+    })
+
+    (mkIf cfg.controllerManager.enable {
+      systemd.services.kubernetes-controller-manager = {
+        description = "Kubernetes Controller Manager Service";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" "kubernetes-apiserver.service" ];
+        serviceConfig = {
+          ExecStart = ''${cfg.package}/bin/kube-controller-manager \
+            --address=${cfg.controllerManager.address} \
+            --port=${toString cfg.controllerManager.port} \
+            --master=${cfg.controllerManager.master} \
+            --machines=${concatStringsSep "," cfg.controllerManager.machines} \
+            --logtostderr=true \
+            ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \
+            ${cfg.controllerManager.extraOpts}
+          '';
+          User = "kubernetes";
+        };
+      };
+    })
+
+    (mkIf cfg.kubelet.enable {
+      systemd.services.kubernetes-kubelet = {
+        description = "Kubernetes Kubelet Service";
+        wantedBy = [ "multi-user.target" ];
+        requires = ["kubernetes-setup.service"];
+        after = [ "network-interfaces.target" "etcd.service" "docker.service" ];
+        script = ''
+          export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
+          exec ${cfg.package}/bin/kubelet \
+            --etcd_servers=${concatMapStringsSep "," (f: "http://${f}") cfg.etcdServers} \
+            --api_servers=${concatMapStringsSep "," (f: "http://${f}") cfg.kubelet.apiServers}  \
+            --address=${cfg.kubelet.address} \
+            --port=${toString cfg.kubelet.port} \
+            --hostname_override=${cfg.kubelet.hostname} \
+            --allow_privileged=${if cfg.kubelet.allowPrivileged then "true" else "false"} \
+            --root_dir=${cfg.dataDir} \
+            --cadvisor_port=${toString cfg.kubelet.cadvisorPort} \
+            ${optionalString (cfg.kubelet.clusterDns != "")
+                ''--cluster_dns=${cfg.kubelet.clusterDns}''} \
+            ${optionalString (cfg.kubelet.clusterDomain != "")
+                ''--cluster_domain=${cfg.kubelet.clusterDomain}''} \
+            --logtostderr=true \
+            ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \
+            ${cfg.kubelet.extraOpts}
+          '';
+        serviceConfig.WorkingDirectory = cfg.dataDir;
+      };
+    })
+
+    (mkIf cfg.proxy.enable {
+      systemd.services.kubernetes-proxy = {
+        description = "Kubernetes Proxy Service";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" "etcd.service" ];
+        serviceConfig = {
+          ExecStart = ''${cfg.package}/bin/kube-proxy \
+            --etcd_servers=${concatMapStringsSep "," (s: "http://${s}") cfg.etcdServers} \
+            --bind_address=${cfg.proxy.address} \
+            --logtostderr=true \
+            ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \
+            ${cfg.proxy.extraOpts}
+          '';
+        };
+      };
+    })
+
+    (mkIf (any (el: el == "master") cfg.roles) {
+      services.kubernetes.apiserver.enable = mkDefault true;
+      services.kubernetes.scheduler.enable = mkDefault true;
+      services.kubernetes.controllerManager.enable = mkDefault true;
+    })
+
+    (mkIf (any (el: el == "node") cfg.roles) {
+      virtualisation.docker.enable = mkDefault true;
+      services.cadvisor.enable = mkDefault true;
+      services.cadvisor.port = mkDefault 4194;
+      services.kubernetes.kubelet.enable = mkDefault true;
+      services.kubernetes.proxy.enable = mkDefault true;
+    })
+
+    (mkIf (any (el: el == "node" || el == "master") cfg.roles) {
+      services.etcd.enable = mkDefault true;
+    })
+
+    (mkIf (
+        cfg.apiserver.enable ||
+        cfg.scheduler.enable ||
+        cfg.controllerManager.enable ||
+        cfg.kubelet.enable ||
+        cfg.proxy.enable
+    ) {
+      systemd.services.kubernetes-setup = {
+        description = "Kubernetes setup.";
+        serviceConfig.Type = "oneshot";
+        script = ''
+          mkdir -p /var/run/kubernetes
+          chown kubernetes /var/run/kubernetes
+          ln -fs ${pkgs.writeText "kubernetes-dockercfg" cfg.dockerCfg} /var/run/kubernetes/.dockercfg
+        '';
+      };
+
+      services.kubernetes.package = mkDefault pkgs.kubernetes;
+
+      environment.systemPackages = [ cfg.package ];
+
+      users.extraUsers = singleton {
+        name = "kubernetes";
+        uid = config.ids.uids.kubernetes;
+        description = "Kubernetes user";
+        extraGroups = [ "docker" ];
+        group = "kubernetes";
+        home = cfg.dataDir;
+        createHome = true;
+      };
+      users.extraGroups.kubernetes.gid = config.ids.gids.kubernetes;
+    })
+
+  ];
+}
diff --git a/nixos/modules/services/cluster/panamax.nix b/nixos/modules/services/cluster/panamax.nix
new file mode 100644
index 00000000000..b47ff744fc2
--- /dev/null
+++ b/nixos/modules/services/cluster/panamax.nix
@@ -0,0 +1,156 @@
+{ 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:4001";
+      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/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix
new file mode 100644
index 00000000000..019d7fbb16c
--- /dev/null
+++ b/nixos/modules/services/computing/slurm/slurm.nix
@@ -0,0 +1,130 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.slurm;
+  # configuration file can be generated by http://slurm.schedmd.com/configurator.html
+  configFile = pkgs.writeText "slurm.conf" 
+    ''
+      ${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''}
+      ${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
+      ${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''}
+      ${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''}
+      ${cfg.extraConfig}
+    '';
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.slurm = {
+
+      server = {
+        enable = mkEnableOption "slurm control daemon";
+
+      };
+      
+      client = {
+        enable = mkEnableOption "slurm rlient daemon";
+
+      };
+
+      controlMachine = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = null;
+        description = ''
+          The short hostname of the machine where SLURM control functions are
+          executed (i.e. the name returned by the command "hostname -s", use "tux001"
+          rather than "tux001.my.com").
+        '';
+      };
+
+      controlAddr = mkOption {
+        type = types.nullOr types.str;
+        default = cfg.controlMachine;
+        example = null;
+        description = ''
+          Name that ControlMachine should be referred to in establishing a
+          communications path.
+        '';
+      };
+
+      nodeName = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "linux[1-32] CPUs=1 State=UNKNOWN";
+        description = ''
+          Name that SLURM uses to refer to a node (or base partition for BlueGene
+          systems). Typically this would be the string that "/bin/hostname -s"
+          returns. Note that now you have to write node's parameters after the name.
+        '';
+      };
+
+      partitionName = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP";
+        description = ''
+          Name by which the partition may be referenced. Note that now you have
+          to write patrition's parameters after the name.
+        '';
+      };
+
+      extraConfig = mkOption {
+        default = ""; 
+        type = types.lines;
+        description = ''
+          Extra configuration options that will be added verbatim at
+          the end of the slurm configuration file.
+        '';
+      };
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf (cfg.client.enable || cfg.server.enable) {
+
+    environment.systemPackages = [ pkgs.slurm-llnl ];
+
+    systemd.services.slurmd = mkIf (cfg.client.enable) {
+      path = with pkgs; [ slurm-llnl coreutils ];
+
+      wantedBy = [ "multi-user.target" ];
+      after = [ "systemd-tmpfiles-clean.service" ];
+
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${pkgs.slurm-llnl}/bin/slurmd -f ${configFile}";
+        PIDFile = "/run/slurmd.pid";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+
+    systemd.services.slurmctld = mkIf (cfg.server.enable) {
+      path = with pkgs; [ slurm-llnl munge coreutils ];
+      
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "auditd.service" "munged.service" "slurmdbd.service" ];
+      requires = [ "munged.service" ];
+
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${pkgs.slurm-llnl}/bin/slurmctld";
+        PIDFile = "/run/slurmctld.pid";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+      environment = { SLURM_CONF = "${configFile}"; };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/computing/torque/mom.nix b/nixos/modules/services/computing/torque/mom.nix
new file mode 100644
index 00000000000..83772539a7a
--- /dev/null
+++ b/nixos/modules/services/computing/torque/mom.nix
@@ -0,0 +1,63 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.torque.mom;
+  torque = pkgs.torque;
+
+  momConfig = pkgs.writeText "torque-mom-config" ''
+    $pbsserver ${cfg.serverNode}
+    $logevent 225
+  '';
+
+in
+{
+  options = {
+
+    services.torque.mom = {
+      enable = mkEnableOption "torque computing node";
+
+      serverNode = mkOption {
+        type = types.str;
+        description = "Hostname running pbs server.";
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.torque ];
+
+    systemd.services.torque-mom-init = {
+      path = with pkgs; [ torque utillinux procps inetutils ];
+
+      script = ''
+        pbs_mkdirs -v aux
+        pbs_mkdirs -v mom
+        hostname > /var/spool/torque/server_name
+        cp -v ${momConfig} /var/spool/torque/mom_priv/config
+      '';
+
+      serviceConfig.Type = "oneshot";
+      unitConfig.ConditionPathExists = "!/var/spool/torque";
+    };
+
+    systemd.services.torque-mom = {
+      path = [ torque ];
+
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "torque-mom-init.service" ];
+      after = [ "torque-mom-init.service" "network.target" ];
+
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${torque}/bin/pbs_mom";
+        PIDFile = "/var/spool/torque/mom_priv/mom.lock";
+      };
+    };
+
+  };
+}      
diff --git a/nixos/modules/services/computing/torque/server.nix b/nixos/modules/services/computing/torque/server.nix
new file mode 100644
index 00000000000..655d1500497
--- /dev/null
+++ b/nixos/modules/services/computing/torque/server.nix
@@ -0,0 +1,96 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.torque.server;
+  torque = pkgs.torque;
+in
+{
+  options = {
+
+    services.torque.server = {
+
+      enable = mkEnableOption "torque server";
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.torque ];
+
+    systemd.services.torque-server-init = {
+      path = with pkgs; [ torque utillinux procps inetutils ];
+
+      script = ''
+        tmpsetup=$(mktemp -t torque-XXXX)
+        cp -p ${torque}/bin/torque.setup $tmpsetup
+        sed -i $tmpsetup -e 's/pbs_server -t create/pbs_server -f -t create/'
+
+        pbs_mkdirs -v aux
+        pbs_mkdirs -v server
+        hostname > /var/spool/torque/server_name
+        cp -prv ${torque}/var/spool/torque/* /var/spool/torque/
+        $tmpsetup root
+
+        sleep 1
+        rm -f $tmpsetup
+        kill $(pgrep pbs_server) 2>/dev/null
+        kill $(pgrep trqauthd) 2>/dev/null
+      '';
+
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+
+      unitConfig = {
+        ConditionPathExists = "!/var/spool/torque";
+      };
+    };
+
+    systemd.services.trqauthd = {
+      path = [ torque ];
+
+      requires = [ "torque-server-init.service" ];
+      after = [ "torque-server-init.service" ];
+
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${torque}/bin/trqauthd";
+      };
+    };
+
+    systemd.services.torque-server = {
+      path = [ torque ];
+
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "torque-scheduler.service" "trqauthd.service" ];
+      before = [ "trqauthd.service" ];
+      requires = [ "torque-server-init.service" ];
+      after = [ "torque-server-init.service" "network.target" ];
+
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${torque}/bin/pbs_server";
+        ExecStop = "${torque}/bin/qterm";
+        PIDFile = "/var/spool/torque/server_priv/server.lock";
+      };
+    };
+
+    systemd.services.torque-scheduler = {
+      path = [ torque ];
+
+      requires = [ "torque-server-init.service" ];
+      after = [ "torque-server-init.service" ];
+
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${torque}/bin/pbs_sched";
+        PIDFile = "/var/spool/torque/sched_priv/sched.lock";
+      };
+    };
+
+  };
+}      
diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix
index b01b5c3245a..29a81f066ab 100644
--- a/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -15,7 +15,7 @@ in {
 
       user = mkOption {
         default = "jenkins";
-        type = with types; string;
+        type = types.str;
         description = ''
           User the jenkins server should execute under.
         '';
@@ -23,16 +23,25 @@ in {
 
       group = mkOption {
         default = "jenkins";
-        type = with types; string;
+        type = types.str;
         description = ''
           If the default user "jenkins" is configured then this is the primary
           group of that user.
         '';
       };
 
+      extraGroups = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "wheel" "dialout" ];
+        description = ''
+          List of extra groups that the "jenkins" user should be a part of.
+        '';
+      };
+
       home = mkOption {
         default = "/var/lib/jenkins";
-        type = with types; string;
+        type = types.path;
         description = ''
           The path to use as JENKINS_HOME. If the default user "jenkins" is configured then
           this is the home of the "jenkins" user.
@@ -57,12 +66,21 @@ in {
 
       environment = mkOption {
         default = { NIX_REMOTE = "daemon"; };
-        type = with types; attrsOf string;
+        type = with types; attrsOf str;
         description = ''
           Additional environment variables to be passed to the jenkins process.
           The environment will always include JENKINS_HOME.
         '';
       };
+
+      extraOptions = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "--debug=9" "--httpListenAddress=localhost" ];
+        description = ''
+          Additional command line arguments to pass to Jenkins.
+        '';
+      };
     };
   };
 
@@ -78,6 +96,7 @@ in {
       createHome = true;
       home = cfg.home;
       group = cfg.group;
+      extraGroups = cfg.extraGroups;
       useDefaultShell = true;
       uid = config.ids.uids.jenkins;
     };
@@ -94,7 +113,7 @@ in {
       path = cfg.packages;
 
       script = ''
-        ${pkgs.jdk}/bin/java -jar ${pkgs.jenkins} --httpPort=${toString cfg.port}
+        ${pkgs.jdk}/bin/java -jar ${pkgs.jenkins} --httpPort=${toString cfg.port} ${concatStringsSep " " cfg.extraOptions}
       '';
 
       postStart = ''
diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix
index 5836d92a4fc..a0216caf2b5 100644
--- a/nixos/modules/services/continuous-integration/jenkins/slave.nix
+++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix
@@ -23,7 +23,7 @@ in {
 
       user = mkOption {
         default = "jenkins";
-        type = with types; string;
+        type = types.str;
         description = ''
           User the jenkins slave agent should execute under.
         '';
@@ -31,7 +31,7 @@ in {
 
       group = mkOption {
         default = "jenkins";
-        type = with types; string;
+        type = types.str;
         description = ''
           If the default slave agent user "jenkins" is configured then this is
           the primary group of that user.
@@ -40,7 +40,7 @@ in {
 
       home = mkOption {
         default = "/var/lib/jenkins";
-        type = with types; string;
+        type = types.path;
         description = ''
           The path to use as JENKINS_HOME. If the default user "jenkins" is configured then
           this is the home of the "jenkins" user.
diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix
index f2d64b6891d..a0379043371 100644
--- a/nixos/modules/services/databases/4store-endpoint.nix
+++ b/nixos/modules/services/databases/4store-endpoint.nix
@@ -56,14 +56,13 @@ with lib;
       { name = endpointUser;
         uid = config.ids.uids.fourstorehttp;
         description = "4Store SPARQL endpoint user";
-#        home = stateDir;
       };
 
     services.avahi.enable = true;
 
     jobs.fourStoreEndpoint = {
       name = "4store-endpoint";
-      startOn = "filesystem";
+      startOn = "ip-up";
 
       exec = ''
         ${run} '${pkgs.rdf4store}/bin/4s-httpd -D ${cfg.options} ${if cfg.listenAddress!=null then "-H ${cfg.listenAddress}" else "" } -p ${toString cfg.port} ${cfg.database}'
diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix
index 469fef69c95..807317d2745 100644
--- a/nixos/modules/services/databases/4store.nix
+++ b/nixos/modules/services/databases/4store.nix
@@ -54,7 +54,7 @@ with lib;
 
     jobs.fourStore = {
       name = "4store";
-      startOn = "filesystem";
+      startOn = "ip-up";
 
       preStart = ''
         mkdir -p ${stateDir}/
diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix
index e1fe6be6f6a..2b1d07c355e 100644
--- a/nixos/modules/services/databases/couchdb.nix
+++ b/nixos/modules/services/databases/couchdb.nix
@@ -131,8 +131,8 @@ in {
         type = types.string;
         default = "/var/lib/couchdb/couchdb.ini";
         description = ''
-          Custom configuration file. File needs to be readable and writable
-          from couchdb user/group.
+          Configuration file for persisting runtime changes. File
+          needs to be readable and writable from couchdb user/group.
         '';
       };
 
@@ -157,12 +157,15 @@ in {
         mkdir -p ${cfg.databaseDir};
         mkdir -p ${cfg.viewIndexDir};
         touch ${cfg.configFile}
+        touch -a ${cfg.logFile}
 
         if [ "$(id -u)" = 0 ]; then
-          chown ${cfg.user}:${cfg.group} ${cfg.uriFile}
+          chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}`;
+          (-f ${cfg.uriFile} && chown ${cfg.user}:${cfg.group} ${cfg.uriFile}) || true
           chown ${cfg.user}:${cfg.group} ${cfg.databaseDir}
           chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir}
           chown ${cfg.user}:${cfg.group} ${cfg.configFile}
+          chown ${cfg.user}:${cfg.group} ${cfg.logFile}
         fi
         '';
 
diff --git a/nixos/modules/services/databases/hbase.nix b/nixos/modules/services/databases/hbase.nix
new file mode 100644
index 00000000000..ccfabc9de0b
--- /dev/null
+++ b/nixos/modules/services/databases/hbase.nix
@@ -0,0 +1,133 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.hbase;
+
+  configFile = pkgs.writeText "hbase-site.xml" ''
+    <configuration>
+      <property>
+        <name>hbase.rootdir</name>
+        <value>file://${cfg.dataDir}/hbase</value>
+      </property>
+      <property>
+        <name>hbase.zookeeper.property.dataDir</name>
+        <value>${cfg.dataDir}/zookeeper</value>
+      </property>
+    </configuration>
+  '';
+
+  configDir = pkgs.runCommand "hbase-config-dir" {} ''
+    mkdir -p $out
+    cp ${cfg.package}/conf/* $out/
+    rm $out/hbase-site.xml
+    ln -s ${configFile} $out/hbase-site.xml
+  '' ;
+
+in {
+
+  ###### interface
+
+  options = {
+
+    services.hbase = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run HBase.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.hbase;
+        example = literalExample "pkgs.hbase";
+        description = ''
+          HBase package to use.
+        '';
+      };
+
+
+      user = mkOption {
+        type = types.string;
+        default = "hbase";
+        description = ''
+          User account under which HBase runs.
+        '';
+      };
+
+      group = mkOption {
+        type = types.string;
+        default = "hbase";
+        description = ''
+          Group account under which HBase runs.
+        '';
+      };
+
+      dataDir = mkOption {
+        type = types.path;
+        default = "/var/lib/hbase";
+        description = ''
+          Specifies location of HBase database files. This location should be
+          writable and readable for the user the HBase service runs as
+          (hbase by default).
+        '';
+      };
+
+      logDir = mkOption {
+        type = types.path;
+        default = "/var/log/hbase";
+        description = ''
+          Specifies the location of HBase log files.
+        '';
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf config.services.hbase.enable {
+
+    systemd.services.hbase = {
+      description = "HBase Server";
+      wantedBy = [ "multi-user.target" ];
+
+      environment = {
+        JAVA_HOME = "${pkgs.jre}";
+        HBASE_LOG_DIR = cfg.logDir;
+      };
+
+      preStart =
+        ''
+        mkdir -p ${cfg.dataDir};
+        mkdir -p ${cfg.logDir};
+
+        if [ "$(id -u)" = 0 ]; then
+          chown ${cfg.user}:${cfg.group} ${cfg.dataDir}
+          chown ${cfg.user}:${cfg.group} ${cfg.logDir}
+        fi
+        '';
+
+      serviceConfig = {
+        PermissionsStartOnly = true;
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = "${cfg.package}/bin/hbase --config ${configDir} master start";
+      };
+    };
+
+    users.extraUsers.hbase = {
+      description = "HBase Server user";
+      group = "hbase";
+      uid = config.ids.uids.hbase;
+    };
+
+    users.extraGroups.hbase.gid = config.ids.gids.hbase;
+
+  };
+}
diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix
index 61fe96d5d64..b57ccebae16 100644
--- a/nixos/modules/services/databases/influxdb.nix
+++ b/nixos/modules/services/databases/influxdb.nix
@@ -224,6 +224,11 @@ in
         mkdir -m 0770 -p ${cfg.dataDir}
         if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi
       '';
+      postStart = mkBefore ''
+        until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.bindAddress}:${toString cfg.apiPort}/'; do
+          sleep 1;
+        done
+      '';
     };
 
     users.extraUsers = optional (cfg.user == "influxdb") {
diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix
index fe82ca430e1..14ffdad9217 100644
--- a/nixos/modules/services/databases/mongodb.nix
+++ b/nixos/modules/services/databases/mongodb.nix
@@ -15,9 +15,11 @@ let
     bind_ip = ${cfg.bind_ip}
     ${optionalString cfg.quiet "quiet = true"}
     dbpath = ${cfg.dbpath}
-    logpath = ${cfg.logpath}
-    logappend = ${b2s cfg.logappend}
+    syslog = true
+    fork = true
+    pidfilepath = ${cfg.pidFile}
     ${optionalString (cfg.replSetName != "") "replSet = ${cfg.replSetName}"}
+    ${cfg.extraConfig}
   '';
 
 in
@@ -65,14 +67,9 @@ in
         description = "Location where MongoDB stores its files";
       };
 
-      logpath = mkOption {
-        default = "/var/log/mongodb/mongod.log";
-        description = "Location where MongoDB stores its logfile";
-      };
-
-      logappend = mkOption {
-        default = true;
-        description = "Append logfile instead over overwriting";
+      pidFile = mkOption {
+        default = "/var/run/mongodb.pid";
+        description = "Location of MongoDB pid file";
       };
 
       replSetName = mkOption {
@@ -82,6 +79,14 @@ in
           Otherwise, leave empty to run as single node.
         '';
       };
+
+      extraConfig = mkOption {
+        default = "";
+        example = ''
+          nojournal = true
+        '';
+        description = "MongoDB extra configuration";
+      };
     };
 
   };
@@ -99,22 +104,6 @@ in
 
     environment.systemPackages = [ mongodb ];
 
-    systemd.services.mongodb_init =
-      { description = "MongoDB server initialisation";
-
-        wantedBy = [ "mongodb.service" ];
-        before = [ "mongodb.service" ];
-
-        serviceConfig.Type = "oneshot";
-
-        script = ''
-          if ! test -e ${cfg.dbpath}; then
-              install -d -m0700 -o ${cfg.user} ${cfg.dbpath}
-              install -d -m0755 -o ${cfg.user} `dirname ${cfg.logpath}`
-          fi
-        '';
-      };
-
     systemd.services.mongodb =
       { description = "MongoDB server";
 
@@ -124,7 +113,21 @@ in
         serviceConfig = {
           ExecStart = "${mongodb}/bin/mongod --quiet --config ${mongoCnf}";
           User = cfg.user;
+          PIDFile = cfg.pidFile;
+          Type = "forking";
+          TimeoutStartSec=120; # intial creating of journal can take some time
+          PermissionsStartOnly = true;
         };
+
+        preStart = ''
+          rm ${cfg.dbpath}/mongod.lock || true
+          if ! test -e ${cfg.dbpath}; then
+              install -d -m0700 -o ${cfg.user} ${cfg.dbpath}
+          fi
+          if ! test -e ${cfg.pidFile}; then
+              install -D -o ${cfg.user} /dev/null ${cfg.pidFile}
+          fi
+        '';
       };
 
   };
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index b94a3fbf3de..05b13492052 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -8,9 +8,7 @@ let
 
   mysql = cfg.package;
 
-  is55 = mysql.mysqlVersion == "5.5";
-
-  mysqldDir = if is55 then "${mysql}/bin" else "${mysql}/libexec";
+  atLeast55 = versionAtLeast mysql.mysqlVersion "5.5";
 
   pidFile = "${cfg.pidDir}/mysqld.pid";
 
@@ -24,7 +22,7 @@ let
     port = ${toString cfg.port}
     ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"}
     ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"}
-    ${optionalString (cfg.replication.role == "slave" && !is55)
+    ${optionalString (cfg.replication.role == "slave" && !atLeast55)
     ''
       master-host = ${cfg.replication.masterHost}
       master-user = ${cfg.replication.masterUser}
@@ -75,7 +73,7 @@ in
       };
 
       pidDir = mkOption {
-        default = "/var/run/mysql";
+        default = "/run/mysqld";
         description = "Location of the file which stores the PID of the MySQL server";
       };
 
@@ -180,15 +178,19 @@ in
 
             mkdir -m 0700 -p ${cfg.pidDir}
             chown -R ${cfg.user} ${cfg.pidDir}
+
+            # Make the socket directory
+            mkdir -m 0700 -p /run/mysqld
+            chown -R ${cfg.user} /run/mysqld
           '';
 
-        serviceConfig.ExecStart = "${mysqldDir}/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}";
+        serviceConfig.ExecStart = "${mysql}/bin/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}";
 
         postStart =
           ''
             # Wait until the MySQL server is available for use
             count=0
-            while [ ! -e /tmp/mysql.sock ]
+            while [ ! -e /run/mysqld/mysqld.sock ]
             do
                 if [ $count -eq 30 ]
                 then
@@ -222,7 +224,7 @@ in
                     fi
                   '') cfg.initialDatabases}
 
-                ${optionalString (cfg.replication.role == "slave" && is55)
+                ${optionalString (cfg.replication.role == "slave" && atLeast55)
                   ''
                     # Set up the replication master
 
diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix
index 2ef49a95166..575034c93ab 100644
--- a/nixos/modules/services/databases/neo4j.nix
+++ b/nixos/modules/services/databases/neo4j.nix
@@ -19,7 +19,7 @@ let
     org.neo4j.server.webadmin.rrdb.location=${cfg.dataDir}/data/rrd
     org.neo4j.server.webadmin.data.uri=/db/data/
     org.neo4j.server.webadmin.management.uri=/db/manage/
-    org.neo4j.server.db.tuning.properties=${pkgs.neo4j}/share/neo4j/conf/neo4j.properties
+    org.neo4j.server.db.tuning.properties=${cfg.package}/share/neo4j/conf/neo4j.properties
     org.neo4j.server.manage.console_engines=shell
     ${cfg.extraServerConfig}
   '';
@@ -46,6 +46,12 @@ in {
       type = types.uniq types.bool;
     };
 
+    package = mkOption {
+      description = "Neo4j package to use.";
+      default = pkgs.neo4j;
+      type = types.package;
+    };
+
     host = mkOption {
       description = "Neo4j listen address.";
       default = "127.0.0.1";
@@ -119,7 +125,7 @@ in {
       after = [ "network-interfaces.target" ];
       environment = { NEO4J_INSTANCE = cfg.dataDir; };
       serviceConfig = {
-        ExecStart = "${pkgs.neo4j}/bin/neo4j console";
+        ExecStart = "${cfg.package}/bin/neo4j console";
         User = "neo4j";
         PermissionsStartOnly = true;
       };
diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix
index eae4c114fc1..29bdb201752 100644
--- a/nixos/modules/services/databases/openldap.nix
+++ b/nixos/modules/services/databases/openldap.nix
@@ -20,23 +20,49 @@ in
     services.openldap = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
         description = "
           Whether to enable the ldap server.
         ";
+        example = literalExample ''
+          openldap.enable = true;
+          openldap.extraConfig = '''
+            include ''${pkgs.openldap}/etc/openldap/schema/core.schema
+            include ''${pkgs.openldap}/etc/openldap/schema/cosine.schema
+            include ''${pkgs.openldap}/etc/openldap/schema/inetorgperson.schema
+            include ''${pkgs.openldap}/etc/openldap/schema/nis.schema
+
+            database bdb 
+            suffix dc=example,dc=org 
+            rootdn cn=admin,dc=example,dc=org 
+            # NOTE: change after first start
+            rootpw secret
+            directory /var/db/openldap
+          ''';
+        '';
       };
 
       user = mkOption {
+        type = types.string;
         default = "openldap";
         description = "User account under which slapd runs.";
       };
 
       group = mkOption {
+        type = types.string;
         default = "openldap";
         description = "Group account under which slapd runs.";
       };
 
+      dataDir = mkOption {
+        type = types.string;
+        default = "/var/db/openldap";
+        description = "The database directory.";
+      };
+
       extraConfig = mkOption {
+        type = types.lines;
         default = "";
         description = "
           sldapd.conf configuration
@@ -60,22 +86,22 @@ in
       preStart = ''
         mkdir -p /var/run/slapd
         chown -R ${cfg.user}:${cfg.group} /var/run/slapd
-        mkdir -p /var/db/openldap
-        chown -R ${cfg.user}:${cfg.group} /var/db/openldap
+        mkdir -p ${cfg.dataDir}
+        chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
       '';
-      serviceConfig.ExecStart = "${openldap}/libexec/slapd -u openldap -g openldap -d 0 -f ${configFile}";
+      serviceConfig.ExecStart = "${openldap}/libexec/slapd -u ${cfg.user} -g ${cfg.group} -d 0 -f ${configFile}";
     };
 
-    users.extraUsers = optionalAttrs (cfg.user == "openldap") (singleton
-      { name = "openldap";
+    users.extraUsers.openldap =
+      { name = cfg.user;
         group = cfg.group;
         uid = config.ids.uids.openldap;
-      });
+      };
 
-    users.extraGroups = optionalAttrs (cfg.group == "openldap") (singleton
-      { name = "openldap";
+    users.extraGroups.openldap =
+      { name = cfg.group;
         gid = config.ids.gids.openldap;
-     });
+      };
 
   };
 }
diff --git a/nixos/modules/services/databases/opentsdb.nix b/nixos/modules/services/databases/opentsdb.nix
new file mode 100644
index 00000000000..9c9738570e3
--- /dev/null
+++ b/nixos/modules/services/databases/opentsdb.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.opentsdb;
+
+  configFile = pkgs.writeText "opentsdb.conf" ''
+    tsd.core.auto_create_metrics = true
+    tsd.http.request.enable_chunked  = true
+  '';
+
+in {
+
+  ###### interface
+
+  options = {
+
+    services.opentsdb = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run OpenTSDB.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.opentsdb;
+        example = literalExample "pkgs.opentsdb";
+        description = ''
+          OpenTSDB package to use.
+        '';
+      };
+
+      user = mkOption {
+        type = types.string;
+        default = "opentsdb";
+        description = ''
+          User account under which OpenTSDB runs.
+        '';
+      };
+
+      group = mkOption {
+        type = types.string;
+        default = "opentsdb";
+        description = ''
+          Group account under which OpenTSDB runs.
+        '';
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 4242;
+        description = ''
+          Which port OpenTSDB listens on.
+        '';
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf config.services.opentsdb.enable {
+
+    systemd.services.opentsdb = {
+      description = "OpenTSDB Server";
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "hbase.service" ];
+
+      environment.JAVA_HOME = "${pkgs.jre}";
+      path = [ pkgs.gnuplot ];
+
+      preStart =
+        ''
+        COMPRESSION=NONE HBASE_HOME=${config.services.hbase.package} ${cfg.package}/share/opentsdb/tools/create_table.sh
+        '';
+
+      serviceConfig = {
+        PermissionsStartOnly = true;
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = "${cfg.package}/bin/tsdb tsd --staticroot=${cfg.package}/share/opentsdb/static --cachedir=/tmp/opentsdb --port=${toString cfg.port} --config=${configFile}";
+      };
+    };
+
+    users.extraUsers.opentsdb = {
+      description = "OpenTSDB Server user";
+      group = "opentsdb";
+      uid = config.ids.uids.opentsdb;
+    };
+
+    users.extraGroups.opentsdb.gid = config.ids.gids.opentsdb;
+
+  };
+}
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 01c55479b2b..de14c56f797 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -225,14 +225,14 @@ in
         # Wait for PostgreSQL to be ready to accept connections.
         postStart =
           ''
-            while ! psql postgres -c "" 2> /dev/null; do
+            while ! psql --port=${toString cfg.port} postgres -c "" 2> /dev/null; do
                 if ! kill -0 "$MAINPID"; then exit 1; fi
                 sleep 0.1
             done
 
             if test -e "${cfg.dataDir}/.first_startup"; then
               ${optionalString (cfg.initialScript != null) ''
-                cat "${cfg.initialScript}" | psql postgres
+                cat "${cfg.initialScript}" | psql --port=${toString cfg.port} postgres
               ''}
               rm -f "${cfg.dataDir}/.first_startup"
             fi
diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml
index e98b431bd60..a9802694295 100644
--- a/nixos/modules/services/databases/postgresql.xml
+++ b/nixos/modules/services/databases/postgresql.xml
@@ -24,11 +24,11 @@
 
 <programlisting>
 services.postgresql.enable = true;
-services.postgresql.package = pkgs.postgresql93;
+services.postgresql.package = pkgs.postgresql94;
 </programlisting>
 
 Note that you are required to specify the desired version of
-PostgreSQL (e.g. <literal>pkgs.postgresql93</literal>). Since
+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
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index b91c389e90a..f2612d0b43b 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -201,7 +201,7 @@ in
     environment.systemPackages = [ cfg.package ];
 
     systemd.services.redis_init =
-      { description = "Redis server initialisation";
+      { description = "Redis Server Initialisation";
 
         wantedBy = [ "redis.service" ];
         before = [ "redis.service" ];
@@ -216,7 +216,7 @@ in
       };
 
     systemd.services.redis =
-      { description = "Redis server";
+      { description = "Redis Server";
 
         wantedBy = [ "multi-user.target" ];
         after = [ "network.target" ];
diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix
index f955cb74b6b..8a49e13395c 100644
--- a/nixos/modules/services/databases/virtuoso.nix
+++ b/nixos/modules/services/databases/virtuoso.nix
@@ -63,7 +63,7 @@ with lib;
 
     jobs.virtuoso = {
       name = "virtuoso";
-      startOn = "filesystem";
+      startOn = "ip-up";
 
       preStart = ''
 	mkdir -p ${stateDir}
diff --git a/nixos/modules/services/desktops/gnome3/gvfs.nix b/nixos/modules/services/desktops/gnome3/gvfs.nix
index 7e1382b161e..c4f41a6125c 100644
--- a/nixos/modules/services/desktops/gnome3/gvfs.nix
+++ b/nixos/modules/services/desktops/gnome3/gvfs.nix
@@ -1,6 +1,6 @@
 # gvfs backends
 
-{ config, lib, ... }:
+{ config, lib, pkgs, ... }:
 
 with lib;
 
@@ -37,6 +37,8 @@ in
 
     services.dbus.packages = [ gnome3.gvfs ];
 
+    services.udev.packages = [ pkgs.libmtp ];
+
   };
 
 }
diff --git a/nixos/modules/services/desktops/profile-sync-daemon.nix b/nixos/modules/services/desktops/profile-sync-daemon.nix
new file mode 100644
index 00000000000..d66ecef2385
--- /dev/null
+++ b/nixos/modules/services/desktops/profile-sync-daemon.nix
@@ -0,0 +1,139 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.psd;
+
+  configFile = ''
+    ${optionalString (cfg.users != [ ]) ''
+      USERS="${concatStringsSep " " cfg.users}"
+    ''}
+
+    ${optionalString (cfg.browsers != [ ]) ''
+      BROWSERS="${concatStringsSep " " cfg.browsers}"
+    ''}
+
+    ${optionalString (cfg.volatile != "") "VOLATILE=${cfg.volatile}"}
+    ${optionalString (cfg.daemonFile != "") "DAEMON_FILE=${cfg.daemonFile}"}
+  '';
+
+in {
+
+  options.services.psd = with types; {
+    enable = mkOption {
+      type = bool;
+      default = false;
+      description = ''
+        Whether to enable the Profile Sync daemon.
+      '';
+    };
+
+    users = mkOption {
+      type = listOf str;
+      default = [ ];
+      example = [ "demo" ];
+      description = ''
+        A list of users whose browser profiles should be sync'd to tmpfs.
+      '';
+    };
+
+    browsers = mkOption {
+      type = listOf str;
+      default = [ ];
+      example = [ "chromium" "firefox" ];
+      description = ''
+        A list of browsers to sync. Available choices are:
+
+        chromium chromium-dev conkeror.mozdev.org epiphany firefox
+        firefox-trunk google-chrome google-chrome-beta google-chrome-unstable
+        heftig-aurora icecat luakit midori opera opera-developer opera-beta
+        qupzilla palemoon rekonq seamonkey
+
+        An empty list will enable all browsers.
+      '';
+    };
+
+    resyncTimer = mkOption {
+      type = str;
+      default = "1h";
+      example = "1h 30min";
+      description = ''
+        The amount of time to wait before syncing browser profiles back to the
+        disk.
+
+        Takes a systemd.unit time span. The time unit defaults to seconds if
+        omitted.
+      '';
+    };
+
+    volatile = mkOption {
+      type = str;
+      default = "/run/psd-profiles";
+      description = ''
+        The directory where browser profiles should reside(this should be
+        mounted as a tmpfs). Do not include a trailing backslash.
+      '';
+    };
+
+    daemonFile = mkOption {
+      type = str;
+      default = "/run/psd";
+      description = ''
+        Where the pid and backup configuration files will be stored.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd = {
+      services = {
+        psd = {
+          description = "Profile Sync daemon";
+          wants = [ "psd-resync.service" "local-fs.target" ];
+          wantedBy = [ "multi-user.target" ];
+          preStart = "mkdir -p ${cfg.volatile}";
+
+          path = with pkgs; [ glibc rsync gawk ];
+
+          unitConfig = {
+            RequiresMountsFor = [ "/home/" ];
+          };
+
+          serviceConfig = {
+            Type = "oneshot";
+            RemainAfterExit = "yes";
+            ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon sync";
+            ExecStop = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon unsync";
+          };
+        };
+
+        psd-resync = {
+          description = "Timed profile resync";
+          after = [ "psd.service" ];
+          wants = [ "psd-resync.timer" ];
+          partOf = [ "psd.service" ];
+
+          path = with pkgs; [ glibc rsync gawk ];
+
+          serviceConfig = {
+            Type = "oneshot";
+            ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon resync";
+          };
+        };
+      };
+
+      timers.psd-resync = {
+        description = "Timer for profile sync daemon - ${cfg.resyncTimer}";
+        partOf = [ "psd-resync.service" "psd.service" ];
+
+        timerConfig = {
+          OnUnitActiveSec = "${cfg.resyncTimer}";
+        };
+      };
+    };
+
+    environment.etc."psd.conf".text = configFile;
+
+  };
+}
diff --git a/nixos/modules/services/games/minecraft-server.nix b/nixos/modules/services/games/minecraft-server.nix
index 4c734aefa46..d2c8af6de0c 100644
--- a/nixos/modules/services/games/minecraft-server.nix
+++ b/nixos/modules/services/games/minecraft-server.nix
@@ -8,6 +8,7 @@ in
 {
   options = {
     services.minecraft-server = {
+
       enable = mkOption {
         type = types.bool;
         default = false;
@@ -15,7 +16,23 @@ in
           If enabled, start a Minecraft Server. The listening port for
           the server is always <literal>25565</literal>. The server
           data will be loaded from and saved to
-          <literal>/var/lib/minecraft</literal>.
+          <literal>${cfg.dataDir}</literal>.
+        '';
+      };
+
+      dataDir = mkOption {
+        type = types.path;
+        default = "/var/lib/minecraft";
+        description = ''
+          Directory to store minecraft database and other state/data files.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to open ports in the firewall (if enabled) for the server.
         '';
       };
 
@@ -30,7 +47,7 @@ in
   config = mkIf cfg.enable {
     users.extraUsers.minecraft = {
       description     = "Minecraft Server Service user";
-      home            = "/var/lib/minecraft";
+      home            = cfg.dataDir;
       createHome      = true;
       uid             = config.ids.uids.minecraft;
     };
@@ -43,9 +60,14 @@ in
       serviceConfig.Restart = "always";
       serviceConfig.User    = "minecraft";
       script = ''
-        cd /var/lib/minecraft
+        cd ${cfg.dataDir}
         exec ${pkgs.minecraft-server}/bin/minecraft-server ${cfg.jvmOpts}
       '';
     };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedUDPPorts = [ 25565 ];
+      allowedTCPPorts = [ 25565 ];
+    };
   };
 }
diff --git a/nixos/modules/services/games/minetest-server.nix b/nixos/modules/services/games/minetest-server.nix
new file mode 100644
index 00000000000..996e313386f
--- /dev/null
+++ b/nixos/modules/services/games/minetest-server.nix
@@ -0,0 +1,104 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg   = config.services.minetest-server;
+  flag  = val: name: if val != null then "--${name} ${val} " else "";
+  flags = [ 
+    (flag cfg.gameId "gameid") 
+    (flag cfg.world "world") 
+    (flag cfg.configPath "config") 
+    (flag cfg.logPath "logfile") 
+    (flag cfg.port "port") 
+  ];
+in
+{
+  options = {
+    services.minetest-server = {
+      enable = mkOption {
+        type        = types.bool;
+        default     = false;
+        description = "If enabled, starts a Minetest Server.";
+      };
+
+      gameId = mkOption {
+        type        = types.nullOr types.str;
+        default     = null;
+        description = ''
+          Id of the game to use. To list available games run 
+          `minetestserver --gameid list`.
+
+          If only one game exists, this option can be null.
+        '';
+      };
+
+      world = mkOption {
+        type        = types.nullOr types.path;
+        default     = null;
+        description = ''
+          Name of the world to use. To list available worlds run
+          `minetestserver --world list`.
+
+          If only one world exists, this option can be null.
+        '';
+      };
+
+      configPath = mkOption {
+        type        = types.nullOr types.path;
+        default     = null;
+        description = ''
+          Path to the config to use.
+
+          If set to null, the config of the running user will be used:
+          `~/.minetest/minetest.conf`.
+        '';
+      };
+
+      logPath = mkOption {
+        type        = types.nullOr types.path;
+        default     = null;
+        description = ''
+          Path to logfile for logging. 
+
+          If set to null, logging will be output to stdout which means
+          all output will be catched by systemd.
+        '';
+      };
+
+      port = mkOption {
+        type        = types.nullOr types.int;
+        default     = null;
+        description = ''
+          Port number to bind to.
+
+          If set to null, the default 30000 will be used.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    users.extraUsers.minetest = {
+      description     = "Minetest Server Service user";
+      home            = "/var/lib/minetest";
+      createHome      = true;
+      uid             = config.ids.uids.minetest;
+    };
+
+    systemd.services.minetest-server = {
+      description   = "Minetest Server Service";
+      wantedBy      = [ "multi-user.target" ];
+      after         = [ "network.target" ];
+
+      serviceConfig.Restart = "always";
+      serviceConfig.User    = "minetest";
+
+      script = ''
+        cd /var/lib/minetest
+
+        exec ${pkgs.minetest}/bin/minetestserver ${concatStrings flags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/hardware/80-net-name-slot.rules b/nixos/modules/services/hardware/80-net-setup-link.rules
index 18547f170a3..18547f170a3 100644
--- a/nixos/modules/services/hardware/80-net-name-slot.rules
+++ b/nixos/modules/services/hardware/80-net-setup-link.rules
diff --git a/nixos/modules/services/hardware/freefall.nix b/nixos/modules/services/hardware/freefall.nix
new file mode 100644
index 00000000000..6e6960bac49
--- /dev/null
+++ b/nixos/modules/services/hardware/freefall.nix
@@ -0,0 +1,62 @@
+{ config, lib, pkgs, utils, ... }:
+
+with lib;
+
+{
+
+  ###### interface
+
+  options = with types; {
+
+    services.freefall = {
+
+      enable = mkOption {
+        default = false;
+        description = ''
+          Whether to protect HP/Dell laptop hard drives (not SSDs) in free fall.
+        '';
+        type = bool;
+      };
+
+      devices = mkOption {
+        default = [ "/dev/sda" ];
+        description = ''
+          Device paths to all internal spinning hard drives.
+        '';
+        type = listOf string;
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = let
+
+    cfg = config.services.freefall;
+
+    mkService = dev:
+      assert dev != "";
+      let dev' = utils.escapeSystemdPath dev; in
+      nameValuePair "freefall-${dev'}"
+        { description = "Free-fall protection for ${dev}";
+        after = [ "${dev'}.device" ];
+        wantedBy = [ "${dev'}.device" ];
+        path = [ pkgs.freefall ];
+        serviceConfig = {
+          ExecStart = "${pkgs.freefall}/bin/freefall ${dev}";
+          Restart = "on-failure";
+          Type = "forking";
+        };
+      };
+
+  in mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.freefall ];
+
+    systemd.services = listToAttrs (map mkService cfg.devices);
+
+  };
+
+}
diff --git a/nixos/modules/services/hardware/pommed.nix b/nixos/modules/services/hardware/pommed.nix
index 04db46999b0..a24557b40ba 100644
--- a/nixos/modules/services/hardware/pommed.nix
+++ b/nixos/modules/services/hardware/pommed.nix
@@ -4,30 +4,34 @@ with lib;
 
 {
 
-  options.services.hardware.pommed = {
-    enable = mkOption {
-      default = false;
-       description = ''
-        Whether to use the pommed tool to handle Apple laptop keyboard hotkeys.
-      '';
+  options = {
+
+    services.hardware.pommed = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to use the pommed tool to handle Apple laptop keyboard hotkeys.
+        '';
+      };
+
+      configFile = mkOption {
+        type = types.path;
+        description = ''
+          The path to the <filename>pommed.conf</filename> file.
+        '';
+      };
     };
 
-    configFile = mkOption {
-      default = "${pkgs.pommed}/etc/pommed.conf";
-      description = ''
-        The contents of the pommed.conf file.
-      '';
-    };
   };
 
   config = mkIf config.services.hardware.pommed.enable {
     environment.systemPackages = [ pkgs.polkit ];
 
-    environment.etc = [
-      { source = config.services.hardware.pommed.configFile;
-        target = "pommed.conf";
-      }
-    ];
+    environment.etc."pommed.conf".source = config.services.hardware.pommed.configFile;
+
+    services.hardware.pommed.configFile = "${pkgs.pommed}/etc/pommed.conf";
 
     services.dbus.packages = [ pkgs.pommed ];
 
diff --git a/nixos/modules/services/hardware/tcsd.nix b/nixos/modules/services/hardware/tcsd.nix
index d7f6c188feb..220b154bd97 100644
--- a/nixos/modules/services/hardware/tcsd.nix
+++ b/nixos/modules/services/hardware/tcsd.nix
@@ -128,12 +128,12 @@ in
     users.extraUsers = optionalAttrs (cfg.user == "tss") (singleton
       { name = "tss";
         group = "tss";
-        uid = config.ids.uids.nginx;
+        uid = config.ids.uids.tss;
       });
 
     users.extraGroups = optionalAttrs (cfg.group == "tss") (singleton
       { name = "tss";
-        gid = config.ids.gids.nginx;
+        gid = config.ids.gids.tss;
       });
   };
 }
diff --git a/nixos/modules/services/hardware/thermald.nix b/nixos/modules/services/hardware/thermald.nix
index 5233794a20c..88c3f99aed4 100644
--- a/nixos/modules/services/hardware/thermald.nix
+++ b/nixos/modules/services/hardware/thermald.nix
@@ -19,6 +19,8 @@ in {
 
   ###### implementation
   config = mkIf cfg.enable {
+    services.dbus.packages = [ pkgs.thermald ];
+
     systemd.services.thermald = {
       description = "Thermal Daemon Service";
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix
new file mode 100644
index 00000000000..f221c82e2ed
--- /dev/null
+++ b/nixos/modules/services/hardware/tlp.nix
@@ -0,0 +1,93 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+cfg = config.services.tlp;
+
+tlp = pkgs.tlp.override { kmod = config.system.sbin.modprobe; };
+
+confFile = pkgs.writeText "tlp" (builtins.readFile "${tlp}/etc/default/tlp" + cfg.extraConfig);
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.tlp = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable the TLP daemon.";
+      };
+
+      extraConfig = mkOption {
+        type = types.str;
+        default = "";
+        description = "Additional configuration variables for TLP";
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services = {
+      tlp = {
+        description = "TLP system startup/shutdown";
+
+        after = [ "multi-user.target" ];
+        wantedBy = [ "multi-user.target" ];
+        before = [ "shutdown.target" ];
+
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+          ExecStart = "${tlp}/bin/tlp init start";
+          ExecStop = "${tlp}/bin/tlp init stop";
+        };
+      };
+
+      tlp-sleep = {
+        description = "TLP suspend/resume";
+
+        wantedBy = [ "sleep.target" ];
+        before = [ "sleep.target" ];
+
+        unitConfig = {
+          StopWhenUnneeded = true;
+        };
+
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+          ExecStart = "${tlp}/bin/tlp suspend";
+          ExecStop = "${tlp}/bin/tlp resume";
+        };
+      };
+    };
+
+    services.udev.packages = [ tlp ];
+
+    environment.etc = [{ source = confFile;
+                         target = "default/tlp";
+                       }
+                      ] ++ optional tlp.enableRDW {
+                        source = "${tlp}/etc/NetworkManager/dispatcher.d/99tlp-rdw-nm";
+                        target = "NetworkManager/dispatcher.d/99tlp-rdw-nm";
+                      };
+
+    environment.systemPackages = [ tlp ];
+
+  };
+
+}
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 068d14217a2..50588e44958 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -28,9 +28,11 @@ let
   # Perform substitutions in all udev rules files.
   udevRules = stdenv.mkDerivation {
     name = "udev-rules";
+    preferLocalBuild = true;
     buildCommand = ''
       mkdir -p $out
       shopt -s nullglob
+      set +o pipefail
 
       # Set a reasonable $PATH for programs called by udev rules.
       echo 'ENV{PATH}="${udevPath}/bin:${udevPath}/sbin"' > $out/00-path.rules
@@ -87,7 +89,7 @@ let
       done
 
       ${optionalString config.networking.usePredictableInterfaceNames ''
-        cp ${./80-net-name-slot.rules} $out/80-net-name-slot.rules
+        cp ${./80-net-setup-link.rules} $out/80-net-setup-link.rules
       ''}
 
       # If auto-configuration is disabled, then remove
@@ -168,7 +170,6 @@ in
     hardware.firmware = mkOption {
       type = types.listOf types.path;
       default = [];
-      example = [ "/root/my-firmware" ];
       description = ''
         List of directories containing firmware files.  Such files
         will be loaded automatically if the kernel asks for them
@@ -177,10 +178,10 @@ in
         firmware file with the same name, the first path in the list
         takes precedence.  Note that you must rebuild your system if
         you add files to any of these directories.  For quick testing,
-        put firmware files in /root/test-firmware and add that
-        directory to the list.
-        Note that you can also add firmware packages to this
-        list as these are directories in the nix store.
+        put firmware files in <filename>/root/test-firmware</filename>
+        and add that directory to the list.  Note that you can also
+        add firmware packages to this list as these are directories in
+        the nix store.
       '';
       apply = list: pkgs.buildEnv {
         name = "firmware";
@@ -236,7 +237,10 @@ in
 
     system.activationScripts.udevd =
       ''
-        echo "" > /proc/sys/kernel/hotplug
+        # The deprecated hotplug uevent helper is not used anymore
+        if [ -e /proc/sys/kernel/hotplug ]; then
+          echo "" > /proc/sys/kernel/hotplug
+        fi
 
         # Regenerate the hardware database /var/lib/udev/hwdb.bin
         # whenever systemd changes.
@@ -244,6 +248,11 @@ in
           echo "regenerating udev hardware database..."
           ${config.systemd.package}/bin/udevadm hwdb --update && ln -sfn ${config.systemd.package} /var/lib/udev/prev-systemd
         fi
+
+        # Allow the kernel to find our firmware.
+        if [ -e /sys/module/firmware_class/parameters/path ]; then
+          echo -n "${config.hardware.firmware}" > /sys/module/firmware_class/parameters/path
+        fi
       '';
 
     systemd.services.systemd-udevd =
diff --git a/nixos/modules/services/logging/fluentd.nix b/nixos/modules/services/logging/fluentd.nix
new file mode 100644
index 00000000000..61eeec504e0
--- /dev/null
+++ b/nixos/modules/services/logging/fluentd.nix
@@ -0,0 +1,39 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.fluentd;
+in {
+  ###### interface
+
+  options = {
+
+    services.fluentd = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable fluentd.";
+      };
+
+      config = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Fluentd config.";
+      };
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.fluentd = with pkgs; {
+      description = "Fluentd Daemon";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.fluentd}/bin/fluentd -c ${pkgs.writeText "fluentd.conf" cfg.config}";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix
index 6887ab1e805..0186452de95 100644
--- a/nixos/modules/services/logging/logrotate.nix
+++ b/nixos/modules/services/logging/logrotate.nix
@@ -21,6 +21,7 @@ in
 
       config = mkOption {
         default = "";
+        type = types.lines;
         description = ''
           The contents of the logrotate config file
         '';
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index 802dd454878..117ee1c900f 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -4,6 +4,16 @@ with lib;
 
 let
   cfg = config.services.logstash;
+  pluginPath = lib.concatStringsSep ":" cfg.plugins;
+  havePluginPath = lib.length cfg.plugins > 0;
+  ops = lib.optionalString;
+  verbosityFlag = {
+    debug = "--debug";
+    info  = "--verbose";
+    warn  = ""; # intentionally empty
+    error = "--quiet";
+    fatal = "--silent";
+  }."${cfg.logLevel}";
 
 in
 
@@ -11,20 +21,69 @@ in
   ###### interface
 
   options = {
+
     services.logstash = {
+
       enable = mkOption {
+        type = types.bool;
         default = false;
-        description = "Enable logstash";
+        description = "Enable logstash.";
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.logstash;
+        example = literalExample "pkgs.logstash";
+        description = "Logstash package to use.";
+      };
+
+      plugins = mkOption {
+        type = types.listOf types.path;
+        default = [ ];
+        example = literalExample "[ pkgs.logstash-contrib ]";
+        description = "The paths to find other logstash plugins in.";
+      };
+
+      logLevel = mkOption {
+        type = types.enum [ "debug" "info" "warn" "error" "fatal" ];
+        default = "warn";
+        description = "Logging verbosity level.";
+      };
+
+      watchdogTimeout = mkOption {
+        type = types.int;
+        default = 10;
+        description = "Set watchdog timeout value in seconds.";
+      };
+
+      filterWorkers = mkOption {
+        type = types.int;
+        default = 1;
+        description = "The quantity of filter workers to run.";
       };
 
       enableWeb = mkOption {
+        type = types.bool;
         default = false;
-        description = "Enable logstash web interface";
+        description = "Enable the logstash web interface.";
+      };
+
+      address = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        description = "Address on which to start webserver.";
+      };
+
+      port = mkOption {
+        type = types.str;
+        default = "9292";
+        description = "Port on which to start webserver.";
       };
 
       inputConfig = mkOption {
+        type = types.lines;
         default = ''stdin { type => "example" }'';
-        description = "Logstash input configuration";
+        description = "Logstash input configuration.";
         example = ''
           # Read from journal
           pipe {
@@ -35,8 +94,9 @@ in
       };
 
       filterConfig = mkOption {
+        type = types.lines;
         default = ''noop {}'';
-        description = "logstash filter configuration";
+        description = "logstash filter configuration.";
         example = ''
           if [type] == "syslog" {
             # Keep only relevant systemd fields
@@ -52,13 +112,15 @@ in
       };
 
       outputConfig = mkOption {
+        type = types.lines;
         default = ''stdout { debug => true debug_format => "json"}'';
-        description = "Logstash output configuration";
+        description = "Logstash output configuration.";
         example = ''
           redis { host => "localhost" data_type => "list" key => "logstash" codec => json }
           elasticsearch { embedded => true }
         '';
       };
+
     };
   };
 
@@ -71,19 +133,26 @@ in
       wantedBy = [ "multi-user.target" ];
       environment = { JAVA_HOME = jre; };
       serviceConfig = {
-        ExecStart = "${logstash}/bin/logstash agent -f ${writeText "logstash.conf" ''
-          input {
-            ${cfg.inputConfig}
-          }
+        ExecStart =
+          "${cfg.package}/bin/logstash agent " +
+          "-w ${toString cfg.filterWorkers} " +
+          ops havePluginPath "--pluginpath ${pluginPath} " +
+          "${verbosityFlag} " +
+          "--watchdog-timeout ${toString cfg.watchdogTimeout} " +
+          "-f ${writeText "logstash.conf" ''
+            input {
+              ${cfg.inputConfig}
+            }
 
-          filter {
-            ${cfg.filterConfig}
-          }
+            filter {
+              ${cfg.filterConfig}
+            }
 
-          output {
-            ${cfg.outputConfig}
-          }
-        ''} ${optionalString cfg.enableWeb "-- web"}";
+            output {
+              ${cfg.outputConfig}
+            }
+          ''} " +
+          ops cfg.enableWeb "-- web -a ${cfg.address} -p ${cfg.port}";
       };
     };
   };
diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix
index 0b3f0cabb00..2bf6d1ff790 100644
--- a/nixos/modules/services/logging/syslog-ng.nix
+++ b/nixos/modules/services/logging/syslog-ng.nix
@@ -7,8 +7,7 @@ let
   cfg = config.services.syslog-ng;
 
   syslogngConfig = pkgs.writeText "syslog-ng.conf" ''
-    @version: 3.5
-    @include "scl.conf"
+    ${cfg.configHeader}
     ${cfg.extraConfig}
   '';
 
@@ -18,7 +17,7 @@ let
 
   syslogngOptions = [
     "--foreground"
-    "--module-path=${concatStringsSep ":" (["${pkgs.syslogng}/lib/syslog-ng"] ++ cfg.extraModulePaths)}"
+    "--module-path=${concatStringsSep ":" (["${cfg.package}/lib/syslog-ng"] ++ cfg.extraModulePaths)}"
     "--cfgfile=${syslogngConfig}"
     "--control=${ctrlSocket}"
     "--persist-file=${persistFile}"
@@ -37,13 +36,11 @@ in {
           Whether to enable the syslog-ng daemon.
         '';
       };
-      serviceName = mkOption {
-        type = types.str;
-        default = "syslog-ng";
+      package = mkOption {
+        type = types.package;
+        default = pkgs.syslogng;
         description = ''
-          The name of the systemd service that runs syslog-ng. Set this to
-          <literal>syslog</literal> if you want journald to automatically
-          forward all logs to syslog-ng.
+          The package providing syslog-ng binaries.
         '';
       };
       extraModulePaths = mkOption {
@@ -65,19 +62,31 @@ in {
           Configuration added to the end of <literal>syslog-ng.conf</literal>.
         '';
       };
+      configHeader = mkOption {
+        type = types.lines;
+        default = ''
+          @version: 3.6
+          @include "scl.conf"
+        '';
+        description = ''
+          The very first lines of the configuration file. Should usually contain
+          the syslog-ng version header.
+        '';
+      };
     };
   };
 
   config = mkIf cfg.enable {
-    systemd.services."${cfg.serviceName}" = {
-      wantedBy = [ "multi-user.target" ];
+    systemd.services.syslog-ng = {
+      description = "syslog-ng daemon";
       preStart = "mkdir -p /{var,run}/syslog-ng";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "multi-user.target" ]; # makes sure hostname etc is set
       serviceConfig = {
         Type = "notify";
-        Sockets = "syslog.socket";
         StandardOutput = "null";
         Restart = "on-failure";
-        ExecStart = "${pkgs.syslogng}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}";
+        ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}";
       };
     };
   };
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 1fb7102e7f3..50ff1b38db1 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -45,8 +45,6 @@ let
       pop3_uidl_format = %08Xv%08Xu
     '' + cfg.extraConfig;
 
-  confFile = pkgs.writeText "dovecot.conf" dovecotConf;
-
 in
 
 {
@@ -88,6 +86,12 @@ in
         description = "Additional entries to put verbatim into Dovecot's config file.";
       };
 
+      configFile = mkOption {
+        default = null;
+        description = "Config file used for the whole dovecot configuration.";
+        apply = v: if v != null then v else pkgs.writeText "dovecot.conf" dovecotConf;
+      };
+
       mailLocation = mkOption {
         default = "maildir:/var/spool/mail/%u"; /* Same as inbox, as postfix */
         example = "maildir:~/mail:INBOX=/var/spool/mail/%u";
@@ -144,10 +148,11 @@ in
         gid = config.ids.gids.dovecot2;
       };
 
-    jobs.dovecot2 =
+    systemd.services.dovecot2 =
       { description = "Dovecot IMAP/POP3 server";
 
-        startOn = "started networking";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
 
         preStart =
           ''
@@ -155,7 +160,13 @@ in
             ${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} /var/run/dovecot2
           '';
 
-        exec = "${pkgs.dovecot}/sbin/dovecot -F -c ${confFile}";
+        serviceConfig = {
+          ExecStart = "${pkgs.dovecot}/sbin/dovecot -F -c ${cfg.configFile}";
+          Restart = "on-failure";
+          RestartSec = "1s";
+          StartLimitInterval = "1min";
+        };
+
       };
 
     environment.systemPackages = [ pkgs.dovecot ];
diff --git a/nixos/modules/services/mail/exim.nix b/nixos/modules/services/mail/exim.nix
new file mode 100644
index 00000000000..e0890d96a88
--- /dev/null
+++ b/nixos/modules/services/mail/exim.nix
@@ -0,0 +1,111 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib) mkIf mkOption singleton types;
+  inherit (pkgs) coreutils exim;
+  cfg = config.services.exim;
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.exim = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable the Exim mail transfer agent.";
+      };
+
+      config = mkOption {
+        type = types.string;
+        default = "";
+        description = ''
+          Verbatim Exim configuration.  This should not contain exim_user,
+          exim_group, exim_path, or spool_directory.
+        '';
+      };
+
+      user = mkOption {
+        type = types.string;
+        default = "exim";
+        description = ''
+          User to use when no root privileges are required.
+          In particular, this applies when receiving messages and when doing
+          remote deliveries.  (Local deliveries run as various non-root users,
+          typically as the owner of a local mailbox.) Specifying this value
+          as root is not supported.
+        '';
+      };
+
+      group = mkOption {
+        type = types.string;
+        default = "exim";
+        description = ''
+          Group to use when no root privileges are required.
+        '';
+      };
+
+      spoolDir = mkOption {
+        type = types.string;
+        default = "/var/spool/exim";
+        description = ''
+          Location of the spool directory of exim.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    environment = {
+      etc."exim.conf".text = ''
+        exim_user = ${cfg.user}
+        exim_group = ${cfg.group}
+        exim_path = /var/setuid-wrappers/exim
+        spool_directory = ${cfg.spoolDir}
+        ${cfg.config}
+      '';
+      systemPackages = [ exim ];
+    };
+
+    users.extraUsers = singleton {
+      name = cfg.user;
+      description = "Exim mail transfer agent user";
+      uid = config.ids.uids.exim;
+      group = cfg.group;
+    };
+
+    users.extraGroups = singleton {
+      name = cfg.group;
+      gid = config.ids.gids.exim;
+    };
+
+    security.setuidPrograms = [ "exim" ];
+
+    systemd.services.exim = {
+      description = "Exim Mail Daemon";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart   = "${exim}/bin/exim -bdf -q30m";
+        ExecReload  = "${coreutils}/bin/kill -HUP $MAINPID";
+      };
+      preStart = ''
+        if ! test -d ${cfg.spoolDir}; then
+          ${coreutils}/bin/mkdir -p ${cfg.spoolDir}
+          ${coreutils}/bin/chown ${cfg.user}:${cfg.group} ${cfg.spoolDir}
+        fi
+      '';
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix
index 637974f05cd..db3a266d011 100644
--- a/nixos/modules/services/mail/mlmmj.nix
+++ b/nixos/modules/services/mail/mlmmj.nix
@@ -90,7 +90,7 @@ in
       enable = true;
       recipientDelimiter= "+";
       extraMasterConf = ''
-        mlmmj unix - n n - - pipe flags=ORhu user=mlmmj argv=${pkgs.mlmmj}/bin/mlmmj-recieve -F -L ${spoolDir}/$nextHop
+        mlmmj unix - n n - - pipe flags=ORhu user=mlmmj argv=${pkgs.mlmmj}/bin/mlmmj-receive -F -L ${spoolDir}/$nextHop
       '';
 
       extraAliases = concatMapStrings (alias cfg.listDomain) cfg.mailLists;
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index 8f75bd8ab5d..b84c63e6421 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -96,9 +96,9 @@ let
     #  -o smtpd_sasl_auth_enable=yes
     #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
     #  -o milter_macro_daemon_name=ORIGINATING
-    pickup    fifo  n       -       n       60      1       pickup
+    pickup    unix  n       -       n       60      1       pickup
     cleanup   unix  n       -       n       -       0       cleanup
-    qmgr      fifo  n       -       n       300     1       qmgr
+    qmgr      unix  n       -       n       300     1       qmgr
     tlsmgr    unix  -       -       n       1000?   1       tlsmgr
     rewrite   unix  -       -       n       -       -       trivial-rewrite
     bounce    unix  -       -       n       -       0       bounce
diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix
new file mode 100644
index 00000000000..168615153fe
--- /dev/null
+++ b/nixos/modules/services/misc/apache-kafka.nix
@@ -0,0 +1,156 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.apache-kafka;
+
+  serverProperties =
+    if cfg.serverProperties != null then
+      cfg.serverProperties
+    else
+      ''
+        # Generated by nixos
+        broker.id=${toString cfg.brokerId}
+        port=${toString cfg.port}
+        host.name=${cfg.hostname}
+        log.dirs=${concatStringsSep "," cfg.logDirs}
+        zookeeper.connect=${cfg.zookeeper}
+        ${toString cfg.extraProperties}
+      '';
+
+  configDir = pkgs.buildEnv {
+    name = "apache-kafka-conf";
+    paths = [
+      (pkgs.writeTextDir "server.properties" serverProperties)
+      (pkgs.writeTextDir "log4j.properties" cfg.log4jProperties)
+    ];
+  };
+
+in {
+
+  options.services.apache-kafka = {
+    enable = mkOption {
+      description = "Whether to enable Apache Kafka.";
+      default = false;
+      type = types.uniq types.bool;
+    };
+
+    brokerId = mkOption {
+      description = "Broker ID.";
+      default = 0;
+      type = types.int;
+    };
+
+    port = mkOption {
+      description = "Port number the broker should listen on.";
+      default = 9092;
+      type = types.int;
+    };
+
+    hostname = mkOption {
+      description = "Hostname the broker should bind to.";
+      default = "localhost";
+      type = types.string;
+    };
+
+    logDirs = mkOption {
+      description = "Log file directories";
+      default = [ "/tmp/kafka-logs" ];
+      type = types.listOf types.path;
+    };
+    
+    zookeeper = mkOption {
+      description = "Zookeeper connection string";
+      default = "localhost:2181";
+      type = types.string;
+    };
+ 
+    extraProperties = mkOption {
+      description = "Extra properties for server.properties.";
+      type = types.nullOr types.lines;
+      default = null;
+    };
+
+    serverProperties = mkOption {
+      description = ''
+        Complete server.properties content. Other server.properties config
+        options will be ignored if this option is used.
+      '';
+      type = types.nullOr types.lines;
+      default = null;
+    };
+
+    log4jProperties = mkOption {
+      description = "Kafka log4j property configuration.";
+      default = ''
+        log4j.rootLogger=INFO, stdout 
+        
+        log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+        log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
+      '';
+      type = types.lines;
+    };
+
+    jvmOptions = mkOption {
+      description = "Extra command line options for the JVM running Kafka.";
+      default = [
+        "-server"
+        "-Xmx1G"
+        "-Xms1G"
+        "-XX:+UseCompressedOops"
+        "-XX:+UseParNewGC"
+        "-XX:+UseConcMarkSweepGC"
+        "-XX:+CMSClassUnloadingEnabled"
+        "-XX:+CMSScavengeBeforeRemark"
+        "-XX:+DisableExplicitGC"
+        "-Djava.awt.headless=true"
+        "-Djava.net.preferIPv4Stack=true"
+      ];
+      type = types.listOf types.string;
+      example = [
+        "-Djava.net.preferIPv4Stack=true"
+        "-Dcom.sun.management.jmxremote"
+        "-Dcom.sun.management.jmxremote.local.only=true"
+      ];
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [pkgs.apacheKafka];
+
+    users.extraUsers = singleton {
+      name = "apache-kafka";
+      uid = config.ids.uids.apache-kafka;
+      description = "Apache Kafka daemon user";
+      home = head cfg.logDirs;
+    };
+
+    systemd.services.apache-kafka = {
+      description = "Apache Kafka Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-interfaces.target" ];
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.jre}/bin/java \
+            -cp "${pkgs.apacheKafka}/libs/*:${configDir}" \
+            ${toString cfg.jvmOptions} \
+            kafka.Kafka \
+            ${configDir}/server.properties
+        '';
+        User = "apache-kafka";
+        PermissionsStartOnly = true;
+      };
+      preStart = ''
+        mkdir -m 0700 -p ${concatStringsSep " " cfg.logDirs}
+        if [ "$(id -u)" = 0 ]; then
+           chown apache-kafka ${concatStringsSep " " cfg.logDirs};
+        fi
+      '';
+    };
+
+  };
+}
diff --git a/nixos/modules/services/misc/autofs.nix b/nixos/modules/services/misc/autofs.nix
index e645bd25a66..f4a1059d09f 100644
--- a/nixos/modules/services/misc/autofs.nix
+++ b/nixos/modules/services/misc/autofs.nix
@@ -84,7 +84,7 @@ in
         startOn = "started network-interfaces";
         stopOn = "stopping network-interfaces";
 
-        path = [ pkgs.nfsUtils pkgs.sshfsFuse ];
+        path = [ pkgs.nfs-utils pkgs.sshfsFuse ];
 
         preStop =
           ''
diff --git a/nixos/modules/services/misc/canto-daemon.nix b/nixos/modules/services/misc/canto-daemon.nix
new file mode 100644
index 00000000000..db51a263aab
--- /dev/null
+++ b/nixos/modules/services/misc/canto-daemon.nix
@@ -0,0 +1,37 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+cfg = config.services.canto-daemon;
+
+in {
+
+##### interface
+
+  options = {
+
+    services.canto-daemon = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable the canto RSS daemon.";
+      };
+    };
+
+  };
+
+##### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.user.services.canto-daemon = {
+      description = "Canto RSS Daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "default.target" ];
+      serviceConfig.ExecStart = "${pkgs.canto-daemon}/bin/canto-daemon";
+    };
+  };
+
+}
diff --git a/nixos/modules/services/misc/cpuminer-cryptonight.nix b/nixos/modules/services/misc/cpuminer-cryptonight.nix
new file mode 100644
index 00000000000..f31526f8d10
--- /dev/null
+++ b/nixos/modules/services/misc/cpuminer-cryptonight.nix
@@ -0,0 +1,66 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.cpuminer-cryptonight;
+
+  json = builtins.toJSON (
+    cfg // {
+       enable = null;
+       threads =
+         if cfg.threads == 0 then null else toString cfg.threads;
+    }
+  );
+
+  confFile = builtins.toFile "cpuminer.json" json;
+in
+{
+
+  options = {
+
+    services.cpuminer-cryptonight = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable the cpuminer cryptonight miner.
+        '';
+      };
+      url = mkOption {
+        type = types.string;
+        description = "URL of mining server";
+      };
+      user = mkOption {
+        type = types.string;
+        description = "Username for mining server";
+      };
+      pass = mkOption {
+        type = types.string;
+        default = "x";
+        description = "Password for mining server";
+      };
+      threads = mkOption {
+        type = types.int;
+        default = 0;
+        description = "Number of miner threads, defaults to available processors";
+      };
+    };
+
+  };
+
+  config = mkIf config.services.cpuminer-cryptonight.enable {
+
+    systemd.services.cpuminer-cryptonight = {
+      description = "Cryptonight cpuminer";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.cpuminer-multi}/bin/minerd --syslog --config=${confFile}";
+        User = "nobody";
+      };
+    };
+
+  };
+
+}
\ No newline at end of file
diff --git a/nixos/modules/services/misc/defaultUnicornConfig.rb b/nixos/modules/services/misc/defaultUnicornConfig.rb
new file mode 100644
index 00000000000..81abaf336dc
--- /dev/null
+++ b/nixos/modules/services/misc/defaultUnicornConfig.rb
@@ -0,0 +1,206 @@
+# The following was taken from github.com/crohr/syslogger and is BSD
+# licensed.
+require 'syslog'
+require 'logger'
+require 'thread'
+
+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
+
+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
+listen "127.0.0.1:8080", :tcp_nopush => true
+
+timeout 60
+
+logger Syslogger.new
+
+preload_app true
+
+GC.respond_to?(:copy_on_write_friendly=) and
+  GC.copy_on_write_friendly = true
+
+check_client_connection false
+
+after_fork do |server, worker|
+  defined?(ActiveRecord::Base) and
+    ActiveRecord::Base.establish_connection
+end
diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix
index 219c7ed9587..48bb9e4293e 100644
--- a/nixos/modules/services/misc/disnix.nix
+++ b/nixos/modules/services/misc/disnix.nix
@@ -132,7 +132,7 @@ in
 
           restartIfChanged = false;
           
-          path = [ pkgs.nix pkgs.disnix dysnomia ];
+          path = [ pkgs.nix pkgs.disnix dysnomia "/run/current-system/sw" ];
           
           environment = {
             HOME = "/root";
diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix
new file mode 100644
index 00000000000..d25fd13a77d
--- /dev/null
+++ b/nixos/modules/services/misc/docker-registry.nix
@@ -0,0 +1,82 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.dockerRegistry;
+
+in {
+  ###### interface
+
+  options.services.dockerRegistry = {
+    enable = mkOption {
+      description = "Whether to enable docker registry server.";
+      default = false;
+      type = types.bool;
+    };
+
+    host = mkOption {
+      description = "Docker registry host or ip to bind to.";
+      default = "127.0.0.1";
+      type = types.str;
+    };
+
+    port = mkOption {
+      description = "Docker registry port to bind to.";
+      default = 5000;
+      type = types.int;
+    };
+
+    storagePath = mkOption {
+      type = types.path;
+      default = "/var/lib/docker/registry";
+      description = "Docker registry storage path.";
+    };
+
+    extraConfig = mkOption {
+      description = ''
+        Docker extra registry configuration. See
+        <link xlink:href="https://github.com/docker/docker-registry/blob/master/config/config_sample.yml"/>
+      '';
+      default = {};
+      type = types.attrsOf types.str;
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.docker-registry = {
+      description = "Docker Container Registry";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      environment = {
+        REGISTRY_HOST = cfg.host;
+        REGISTRY_PORT = toString cfg.port;
+        GUNICORN_OPTS = "[--preload]"; # see https://github.com/docker/docker-registry#sqlalchemy
+        STORAGE_PATH = cfg.storagePath;
+      } // cfg.extraConfig;
+
+      serviceConfig = {
+        ExecStart = "${pkgs.pythonPackages.docker_registry}/bin/docker-registry";
+        User = "docker-registry";
+        Group = "docker";
+        PermissionsStartOnly = true;
+      };
+
+      preStart = ''
+        mkdir -p ${cfg.storagePath}
+        if [ "$(id -u)" = 0 ]; then
+          chown -R docker-registry:docker ${cfg.storagePath}
+        fi
+      '';
+      postStart = ''
+        until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.host}:${toString cfg.port}/'; do
+          sleep 1;
+        done
+      '';
+    };
+
+    users.extraGroups.docker.gid = mkDefault config.ids.gids.docker;
+    users.extraUsers.docker-registry.uid = config.ids.uids.docker-registry;
+  };
+}
diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix
new file mode 100644
index 00000000000..284361a04d9
--- /dev/null
+++ b/nixos/modules/services/misc/etcd.nix
@@ -0,0 +1,144 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.etcd;
+
+in {
+
+  options.services.etcd = {
+    enable = mkOption {
+      description = "Whether to enable etcd.";
+      default = false;
+      type = types.uniq types.bool;
+    };
+
+    name = mkOption {
+      description = "Etcd unique node name.";
+      default = config.networking.hostName;
+      type = types.str;
+    };
+
+    advertiseClientUrls = mkOption {
+      description = "Etcd list of this member's client URLs to advertise to the rest of the cluster.";
+      default = cfg.listenClientUrls;
+      type = types.listOf types.str;
+    };
+
+    listenClientUrls = mkOption {
+      description = "Etcd list of URLs to listen on for client traffic.";
+      default = ["http://localhost:4001"];
+      type = types.listOf types.str;
+    };
+
+    listenPeerUrls = mkOption {
+      description = "Etcd list of URLs to listen on for peer traffic.";
+      default = ["http://localhost:7001"];
+      type = types.listOf types.str;
+    };
+
+    initialAdvertisePeerUrls = mkOption {
+      description = "Etcd list of this member's peer URLs to advertise to rest of the cluster.";
+      default = cfg.listenPeerUrls;
+      type = types.listOf types.str;
+    };
+
+    initialCluster = mkOption {
+      description = "Etcd initial cluster configuration for bootstrapping.";
+      default = ["${cfg.name}=http://localhost:7001"];
+      type = types.listOf types.str;
+    };
+
+    initialClusterState = mkOption {
+      description = "Etcd initial cluster configuration for bootstrapping.";
+      default = "new";
+      type = types.enum ["new" "existing"];
+    };
+
+    initialClusterToken = mkOption {
+      description = "Etcd initial cluster token for etcd cluster during bootstrap.";
+      default = "etcd-cluster";
+      type = types.str;
+    };
+
+    discovery = mkOption {
+      description = "Etcd discovery url";
+      default = "";
+      type = types.str;
+    };
+
+    extraConf = mkOption {
+      description = ''
+        Etcd extra configuration. See
+        <link xlink:href='https://github.com/coreos/etcd/blob/master/Documentation/configuration.md#environment-variables' />
+      '';
+      type = types.attrsOf types.str;
+      default = {};
+      example = literalExample ''
+        {
+          "CORS": "*",
+          "NAME": "default-name",
+          "MAX_RESULT_BUFFER": "1024",
+          "MAX_CLUSTER_SIZE": "9",
+          "MAX_RETRY_ATTEMPTS": "3"
+        }
+      '';
+    };
+
+    dataDir = mkOption {
+      type = types.path;
+      default = "/var/lib/etcd";
+      description = "Etcd data directory.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.etcd = {
+      description = "Etcd Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-interfaces.target" ];
+
+      environment = {
+        ETCD_NAME = cfg.name;
+        ETCD_DISCOVERY = cfg.discovery;
+        ETCD_DATA_DIR = cfg.dataDir;
+        ETCD_ADVERTISE_CLIENT_URLS = concatStringsSep "," cfg.advertiseClientUrls;
+        ETCD_LISTEN_CLIENT_URLS = concatStringsSep "," cfg.listenClientUrls;
+        ETCD_LISTEN_PEER_URLS = concatStringsSep "," cfg.listenPeerUrls;
+        ETCD_INITIAL_ADVERTISE_PEER_URLS = concatStringsSep "," cfg.initialAdvertisePeerUrls;
+      } // (optionalAttrs (cfg.discovery == ""){
+        ETCD_INITIAL_CLUSTER = concatStringsSep "," cfg.initialCluster;
+        ETCD_INITIAL_CLUSTER_STATE = cfg.initialClusterState;
+        ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken;
+      }) // (mapAttrs' (n: v: nameValuePair "ETCD_${n}" v) cfg.extraConf);
+
+      serviceConfig = {
+        ExecStart = "${pkgs.etcd}/bin/etcd";
+        User = "etcd";
+        PermissionsStartOnly = true;
+      };
+      preStart = ''
+        mkdir -m 0700 -p ${cfg.dataDir}
+        if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi
+      '';
+      postStart = ''
+        until ${pkgs.etcdctl}/bin/etcdctl set /nixos/state 'up'; do
+          sleep 1;
+        done
+        until ${pkgs.etcdctl}/bin/etcdctl get /nixos/state | grep up; do
+          sleep 1;
+        done
+      '';
+    };
+
+    environment.systemPackages = [ pkgs.etcdctl ];
+
+    users.extraUsers = singleton {
+      name = "etcd";
+      uid = config.ids.uids.etcd;
+      description = "Etcd daemon user";
+      home = cfg.dataDir;
+    };
+  };
+}
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
new file mode 100644
index 00000000000..4505c5ceb84
--- /dev/null
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -0,0 +1,300 @@
+{ config, lib, pkgs, ... }:
+
+# TODO: support non-postgresql
+
+with lib;
+
+let
+  cfg = config.services.gitlab;
+
+  ruby = pkgs.gitlab.ruby;
+  bundler = pkgs.bundler;
+
+  gemHome = "${pkgs.gitlab.env}/${ruby.gemPath}";
+
+  databaseYml = ''
+    production:
+      adapter: postgresql
+      database: ${cfg.databaseName}
+      host: ${cfg.databaseHost}
+      password: ${cfg.databasePassword}
+      username: ${cfg.databaseUsername}
+      encoding: utf8
+  '';
+  gitlabShellYml = ''
+    user: gitlab
+    gitlab_url: "http://${cfg.host}:${toString cfg.port}/"
+    http_settings:
+      self_signed_cert: false
+    repos_path: "${cfg.stateDir}/repositories"
+    log_file: "${cfg.stateDir}/log/gitlab-shell.log"
+    redis:
+      bin: ${pkgs.redis}/bin/redis-cli
+      host: 127.0.0.1
+      port: 6379
+      database: 0
+      namespace: resque:gitlab
+  '';
+
+  unicornConfig = builtins.readFile ./defaultUnicornConfig.rb;
+
+  gitlab-runner = pkgs.stdenv.mkDerivation rec {
+    name = "gitlab-runner";
+    buildInputs = [ pkgs.gitlab pkgs.bundler pkgs.makeWrapper ];
+    phases = "installPhase fixupPhase";
+    buildPhase = "";
+    installPhase = ''
+      mkdir -p $out/bin
+      makeWrapper ${bundler}/bin/bundle $out/bin/gitlab-runner\
+          --set RAKEOPT '"-f ${pkgs.gitlab}/share/gitlab/Rakefile"'\
+          --set GEM_HOME '${gemHome}'\
+          --set UNICORN_PATH "${cfg.stateDir}/"\
+          --set GITLAB_PATH "${pkgs.gitlab}/share/gitlab/"\
+          --set GITLAB_APPLICATION_LOG_PATH "${cfg.stateDir}/log/application.log"\
+          --set GITLAB_SATELLITES_PATH "${cfg.stateDir}/satellites"\
+          --set GITLAB_SHELL_PATH "${pkgs.gitlab-shell}"\
+          --set GITLAB_REPOSITORIES_PATH "${cfg.stateDir}/repositories"\
+          --set GITLAB_SHELL_HOOKS_PATH "${cfg.stateDir}/shell/hooks"\
+          --set BUNDLE_GEMFILE "${pkgs.gitlab}/share/gitlab/Gemfile"\
+          --set GITLAB_EMAIL_FROM "${cfg.emailFrom}"\
+          --set GITLAB_SHELL_CONFIG_PATH "${cfg.stateDir}/shell/config.yml"\
+          --set GITLAB_SHELL_SECRET_PATH "${cfg.stateDir}/config/gitlab_shell_secret"\
+          --set GITLAB_HOST "${cfg.host}"\
+          --set GITLAB_PORT "${toString cfg.port}"\
+          --set GITLAB_BACKUP_PATH "${cfg.backupPath}"\
+          --set RAILS_ENV "production"
+    '';
+  };
+
+in {
+
+  options = {
+    services.gitlab = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable the gitlab service.
+        '';
+      };
+
+      satelliteDir = mkOption {
+        type = types.str;
+        default = "/var/gitlab/git-satellites";
+        description = "Gitlab directory to store checked out git trees requires for operation.";
+      };
+
+      stateDir = mkOption {
+        type = types.str;
+        default = "/var/gitlab/state";
+        description = "Gitlab state directory, logs are stored here.";
+      };
+
+      backupPath = mkOption {
+        type = types.str;
+        default = cfg.stateDir + "/backup";
+        description = "Gitlab path for backups.";
+      };
+
+      databaseHost = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        description = "Gitlab database hostname.";
+      };
+
+      databasePassword = mkOption {
+        type = types.str;
+        default = "";
+        description = "Gitlab database user password.";
+      };
+
+      databaseName = mkOption {
+        type = types.str;
+        default = "gitlab";
+        description = "Gitlab database name.";
+      };
+
+      databaseUsername = mkOption {
+        type = types.str;
+        default = "gitlab";
+        description = "Gitlab database user.";
+      };
+
+      emailFrom = mkOption {
+        type = types.str;
+        default = "example@example.org";
+        description = "The source address for emails sent by gitlab.";
+      };
+
+      host = mkOption {
+        type = types.str;
+        default = config.networking.hostName;
+        description = "Gitlab host name. Used e.g. for copy-paste URLs.";
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 8080;
+        description = "Gitlab server listening port.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ gitlab-runner pkgs.gitlab-shell ];
+
+    assertions = [
+      { assertion = cfg.databasePassword != "";
+        message = "databasePassword must be set";
+      }
+    ];
+
+    # Redis is required for the sidekiq queue runner.
+    services.redis.enable = mkDefault true;
+    # We use postgres as the main data store.
+    services.postgresql.enable = mkDefault true;
+    services.postgresql.package = mkDefault pkgs.postgresql;
+    # Use postfix to send out mails.
+    services.postfix.enable = mkDefault true;
+
+    users.extraUsers = [
+      { name = "gitlab";
+        group = "gitlab";
+        home = "${cfg.stateDir}/home";
+        shell = "${pkgs.bash}/bin/bash";
+        uid = config.ids.uids.gitlab;
+      } ];
+
+    users.extraGroups = [
+      { name = "gitlab";
+        gid = config.ids.gids.gitlab;
+      } ];
+
+    systemd.services.gitlab-sidekiq = {
+      after = [ "network.target" "redis.service" ];
+      wantedBy = [ "multi-user.target" ];
+      environment.HOME = "${cfg.stateDir}/home";
+      environment.GEM_HOME = gemHome;
+      environment.UNICORN_PATH = "${cfg.stateDir}/";
+      environment.GITLAB_PATH = "${pkgs.gitlab}/share/gitlab/";
+      environment.GITLAB_APPLICATION_LOG_PATH = "${cfg.stateDir}/log/application.log";
+      environment.GITLAB_SATELLITES_PATH = "${cfg.stateDir}/satellites";
+      environment.GITLAB_SHELL_PATH = "${pkgs.gitlab-shell}";
+      environment.GITLAB_REPOSITORIES_PATH = "${cfg.stateDir}/repositories";
+      environment.GITLAB_SHELL_HOOKS_PATH = "${cfg.stateDir}/shell/hooks";
+      environment.BUNDLE_GEMFILE = "${pkgs.gitlab}/share/gitlab/Gemfile";
+      environment.GITLAB_EMAIL_FROM = "${cfg.emailFrom}";
+      environment.GITLAB_SHELL_CONFIG_PATH = "${cfg.stateDir}/shell/config.yml";
+      environment.GITLAB_SHELL_SECRET_PATH = "${cfg.stateDir}/config/gitlab_shell_secret";
+      environment.GITLAB_HOST = "${cfg.host}";
+      environment.GITLAB_PORT = "${toString cfg.port}";
+      environment.GITLAB_DATABASE_HOST = "${cfg.databaseHost}";
+      environment.GITLAB_DATABASE_PASSWORD = "${cfg.databasePassword}";
+      environment.RAILS_ENV = "production";
+      path = with pkgs; [
+        config.services.postgresql.package
+        gitAndTools.git
+        ruby
+        openssh
+        nodejs
+      ];
+      serviceConfig = {
+        Type = "simple";
+        User = "gitlab";
+        Group = "gitlab";
+        TimeoutSec = "300";
+        WorkingDirectory = "${pkgs.gitlab}/share/gitlab";
+        ExecStart="${bundler}/bin/bundle exec \"sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.stateDir}/tmp/sidekiq.pid\"";
+      };
+    };
+
+    systemd.services.gitlab = {
+      after = [ "network.target" "postgresql.service" "redis.service" ];
+      wantedBy = [ "multi-user.target" ];
+      environment.HOME = "${cfg.stateDir}/home";
+      environment.GEM_HOME = gemHome;
+      environment.UNICORN_PATH = "${cfg.stateDir}/";
+      environment.GITLAB_PATH = "${pkgs.gitlab}/share/gitlab/";
+      environment.GITLAB_APPLICATION_LOG_PATH = "${cfg.stateDir}/log/application.log";
+      environment.GITLAB_SATELLITES_PATH = "${cfg.stateDir}/satellites";
+      environment.GITLAB_SHELL_PATH = "${pkgs.gitlab-shell}";
+      environment.GITLAB_REPOSITORIES_PATH = "${cfg.stateDir}/repositories";
+      environment.GITLAB_SHELL_HOOKS_PATH = "${cfg.stateDir}/shell/hooks";
+      environment.BUNDLE_GEMFILE = "${pkgs.gitlab}/share/gitlab/Gemfile";
+      environment.GITLAB_EMAIL_FROM = "${cfg.emailFrom}";
+      environment.GITLAB_HOST = "${cfg.host}";
+      environment.GITLAB_PORT = "${toString cfg.port}";
+      environment.GITLAB_DATABASE_HOST = "${cfg.databaseHost}";
+      environment.GITLAB_DATABASE_PASSWORD = "${cfg.databasePassword}";
+      environment.RAILS_ENV = "production";
+      path = with pkgs; [
+        config.services.postgresql.package
+        gitAndTools.git
+        ruby
+        openssh
+        nodejs
+      ];
+      preStart = ''
+        # TODO: use env vars
+        mkdir -p ${cfg.stateDir}
+        mkdir -p ${cfg.stateDir}/log
+        mkdir -p ${cfg.stateDir}/satellites
+        mkdir -p ${cfg.stateDir}/repositories
+        mkdir -p ${cfg.stateDir}/shell/hooks
+        mkdir -p ${cfg.stateDir}/tmp/pids
+        mkdir -p ${cfg.stateDir}/tmp/sockets
+        rm -rf ${cfg.stateDir}/config
+        mkdir -p ${cfg.stateDir}/config
+        # TODO: What exactly is gitlab-shell doing with the secret?
+        head -c 20 /dev/urandom > ${cfg.stateDir}/config/gitlab_shell_secret
+        mkdir -p ${cfg.stateDir}/home/.ssh
+        touch ${cfg.stateDir}/home/.ssh/authorized_keys
+
+        cp -rf ${pkgs.gitlab}/share/gitlab/config ${cfg.stateDir}/
+        cp ${pkgs.gitlab}/share/gitlab/VERSION ${cfg.stateDir}/VERSION
+
+        ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.stateDir}/config/database.yml
+        ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.stateDir}/config/unicorn.rb
+
+        chown -R gitlab:gitlab ${cfg.stateDir}/
+        chmod -R 755 ${cfg.stateDir}/
+
+        if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
+          if ! test -e "${cfg.stateDir}/db-created"; then
+            psql postgres -c "CREATE ROLE gitlab WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
+            ${config.services.postgresql.package}/bin/createdb --owner gitlab gitlab || true
+            touch "${cfg.stateDir}/db-created"
+
+            # force=yes disables the manual-interaction yes/no prompt
+            # which breaks without an stdin.
+            force=yes ${bundler}/bin/bundle exec rake -f ${pkgs.gitlab}/share/gitlab/Rakefile gitlab:setup RAILS_ENV=production
+          fi
+        fi
+
+      # Install the shell required to push repositories
+      ln -fs ${pkgs.writeText "config.yml" gitlabShellYml} ${cfg.stateDir}/shell/config.yml
+      export GITLAB_SHELL_CONFIG_PATH=""${cfg.stateDir}/shell/config.yml
+      ${pkgs.gitlab-shell}/bin/install
+
+      # Change permissions in the last step because some of the
+      # intermediary scripts like to create directories as root.
+      chown -R gitlab:gitlab ${cfg.stateDir}/
+      chmod -R 755 ${cfg.stateDir}/
+      '';
+
+      serviceConfig = {
+        PermissionsStartOnly = true; # preStart must be run as root
+        Type = "simple";
+        User = "gitlab";
+        Group = "gitlab";
+        TimeoutSec = "300";
+        WorkingDirectory = "${pkgs.gitlab}/share/gitlab";
+        ExecStart="${bundler}/bin/bundle exec \"unicorn -c ${cfg.stateDir}/config/unicorn.rb -E production\"";
+      };
+
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix
index 84435f92c11..16335c8aca7 100644
--- a/nixos/modules/services/misc/gitolite.nix
+++ b/nixos/modules/services/misc/gitolite.nix
@@ -5,6 +5,7 @@ with lib;
 let
   cfg = config.services.gitolite;
   pubkeyFile = pkgs.writeText "gitolite-admin.pub" cfg.adminPubkey;
+  hooks = lib.concatMapStrings (hook: "${hook} ") cfg.commonHooks;
 in
 {
   options = {
@@ -14,29 +15,53 @@ in
         default = false;
         description = ''
           Enable gitolite management under the
-          <literal>gitolite</literal> user. The Gitolite home
-          directory is <literal>/var/lib/gitolite</literal>. After
+          <literal>gitolite</literal> user. After
           switching to a configuration with Gitolite enabled, you can
           then run <literal>git clone
           gitolite@host:gitolite-admin.git</literal> to manage it further.
         '';
       };
 
+      dataDir = mkOption {
+        type = types.str;
+        default = "/var/lib/gitolite";
+        description = ''
+          Gitolite home directory (used to store all the repositories).
+        '';
+      };
+
       adminPubkey = mkOption {
         type = types.str;
         description = ''
           Initial administrative public key for Gitolite. This should
           be an SSH Public Key. Note that this key will only be used
           once, upon the first initialization of the Gitolite user.
+          The key string cannot have any line breaks in it.
+        '';
+      };
+
+      commonHooks = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        description = ''
+          A list of custom git hooks that get copied to <literal>~/.gitolite/hooks/common</literal>.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "gitolite";
+        description = ''
+          Gitolite user account. This is the username of the gitolite endpoint.
         '';
       };
     };
   };
 
   config = mkIf cfg.enable {
-    users.extraUsers.gitolite = {
+    users.extraUsers.${cfg.user} = {
       description     = "Gitolite user";
-      home            = "/var/lib/gitolite";
+      home            = cfg.dataDir;
       createHome      = true;
       uid             = config.ids.uids.gitolite;
       useDefaultShell = true;
@@ -46,17 +71,21 @@ in
       description = "Gitolite initialization";
       wantedBy    = [ "multi-user.target" ];
 
-      serviceConfig.User = "gitolite";
+      serviceConfig.User = "${cfg.user}";
       serviceConfig.Type = "oneshot";
       serviceConfig.RemainAfterExit = true;
 
       path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ];
       script = ''
-        cd /var/lib/gitolite
+        cd ${cfg.dataDir}
         mkdir -p .gitolite/logs
         if [ ! -d repositories ]; then
           gitolite setup -pk ${pubkeyFile}
         fi
+        if [ -n "${hooks}" ]; then
+          cp ${hooks} .gitolite/hooks/common/
+          chmod +x .gitolite/hooks/common/*
+        fi
         gitolite setup # Upgrade if needed
       '';
     };
diff --git a/nixos/modules/services/misc/mediatomb.nix b/nixos/modules/services/misc/mediatomb.nix
new file mode 100644
index 00000000000..23227548039
--- /dev/null
+++ b/nixos/modules/services/misc/mediatomb.nix
@@ -0,0 +1,282 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  uid = config.ids.uids.mediatomb;
+  gid = config.ids.gids.mediatomb;
+  cfg = config.services.mediatomb;
+
+  mtConf = pkgs.writeText "config.xml" ''
+  <?xml version="1.0" encoding="UTF-8"?>
+  <config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd">
+    <server>
+      <ui enabled="yes" show-tooltips="yes">
+        <accounts enabled="no" session-timeout="30">
+          <account user="mediatomb" password="mediatomb"/>
+        </accounts>
+      </ui>
+      <name>${cfg.serverName}</name>
+      <udn>uuid:${cfg.uuid}</udn>
+      <home>${cfg.dataDir}</home>
+      <webroot>${pkgs.mediatomb}/share/mediatomb/web</webroot>
+      <storage>
+        <sqlite3 enabled="yes">
+          <database-file>mediatomb.db</database-file>
+        </sqlite3>
+      </storage>
+      <protocolInfo extend="${if cfg.ps3Support then "yes" else "no"}"/>
+      ${if cfg.dsmSupport then ''
+      <custom-http-headers>
+        <add header="X-User-Agent: redsonic"/>
+      </custom-http-headers>
+
+      <manufacturerURL>redsonic.com</manufacturerURL>
+      <modelNumber>105</modelNumber>
+      '' else ""}
+      ${if cfg.tg100Support then ''
+      <upnp-string-limit>101</upnp-string-limit>
+      '' else ""}
+      <extended-runtime-options>
+        <mark-played-items enabled="yes" suppress-cds-updates="yes">
+          <string mode="prepend">*</string>
+          <mark>
+            <content>video</content>
+          </mark>
+        </mark-played-items>
+      </extended-runtime-options>
+    </server>
+    <import hidden-files="no">
+      <scripting script-charset="UTF-8">
+        <common-script>/nix/store/cngbzn39vidd6jm4wgzxfafqll74ybfa-mediatomb-0.12.1/share/mediatomb/js/common.js</common-script>
+        <playlist-script>/nix/store/cngbzn39vidd6jm4wgzxfafqll74ybfa-mediatomb-0.12.1/share/mediatomb/js/playlists.js</playlist-script>
+        <virtual-layout type="builtin">
+          <import-script>/nix/store/cngbzn39vidd6jm4wgzxfafqll74ybfa-mediatomb-0.12.1/share/mediatomb/js/import.js</import-script>
+        </virtual-layout>
+      </scripting>
+      <mappings>
+        <extension-mimetype ignore-unknown="no">
+          <map from="mp3" to="audio/mpeg"/>
+          <map from="ogx" to="application/ogg"/>
+          <map from="ogv" to="video/ogg"/>
+          <map from="oga" to="audio/ogg"/>
+          <map from="ogg" to="audio/ogg"/>
+          <map from="ogm" to="video/ogg"/>
+          <map from="asf" to="video/x-ms-asf"/>
+          <map from="asx" to="video/x-ms-asf"/>
+          <map from="wma" to="audio/x-ms-wma"/>
+          <map from="wax" to="audio/x-ms-wax"/>
+          <map from="wmv" to="video/x-ms-wmv"/>
+          <map from="wvx" to="video/x-ms-wvx"/>
+          <map from="wm" to="video/x-ms-wm"/>
+          <map from="wmx" to="video/x-ms-wmx"/>
+          <map from="m3u" to="audio/x-mpegurl"/>
+          <map from="pls" to="audio/x-scpls"/>
+          <map from="flv" to="video/x-flv"/>
+          <map from="mkv" to="video/x-matroska"/>
+          <map from="mka" to="audio/x-matroska"/>
+          ${if cfg.ps3Support then ''
+          <map from="avi" to="video/divx"/>
+          '' else ""}
+          ${if cfg.dsmSupport then ''
+          <map from="avi" to="video/avi"/>
+          '' else ""}
+        </extension-mimetype>
+        <mimetype-upnpclass>
+          <map from="audio/*" to="object.item.audioItem.musicTrack"/>
+          <map from="video/*" to="object.item.videoItem"/>
+          <map from="image/*" to="object.item.imageItem"/>
+        </mimetype-upnpclass>
+        <mimetype-contenttype>
+          <treat mimetype="audio/mpeg" as="mp3"/>
+          <treat mimetype="application/ogg" as="ogg"/>
+          <treat mimetype="audio/ogg" as="ogg"/>
+          <treat mimetype="audio/x-flac" as="flac"/>
+          <treat mimetype="audio/x-ms-wma" as="wma"/>
+          <treat mimetype="audio/x-wavpack" as="wv"/>
+          <treat mimetype="image/jpeg" as="jpg"/>
+          <treat mimetype="audio/x-mpegurl" as="playlist"/>
+          <treat mimetype="audio/x-scpls" as="playlist"/>
+          <treat mimetype="audio/x-wav" as="pcm"/>
+          <treat mimetype="audio/L16" as="pcm"/>
+          <treat mimetype="video/x-msvideo" as="avi"/>
+          <treat mimetype="video/mp4" as="mp4"/>
+          <treat mimetype="audio/mp4" as="mp4"/>
+          <treat mimetype="application/x-iso9660" as="dvd"/>
+          <treat mimetype="application/x-iso9660-image" as="dvd"/>
+        </mimetype-contenttype>
+      </mappings>
+      <online-content>
+        <YouTube enabled="no" refresh="28800" update-at-start="no" purge-after="604800" racy-content="exclude" format="mp4" hd="no">
+          <favorites user="mediatomb"/>
+          <standardfeed feed="most_viewed" time-range="today"/>
+          <playlists user="mediatomb"/>
+          <uploads user="mediatomb"/>
+          <standardfeed feed="recently_featured" time-range="today"/>
+        </YouTube>
+      </online-content>
+    </import>
+    <transcoding enabled="${if cfg.transcoding then "yes" else "no"}">
+      <mimetype-profile-mappings>
+        <transcode mimetype="video/x-flv" using="vlcmpeg"/>
+        <transcode mimetype="application/ogg" using="vlcmpeg"/>
+        <transcode mimetype="application/ogg" using="oggflac2raw"/>
+        <transcode mimetype="audio/x-flac" using="oggflac2raw"/>
+      </mimetype-profile-mappings>
+      <profiles>
+        <profile name="oggflac2raw" enabled="no" type="external">
+          <mimetype>audio/L16</mimetype>
+          <accept-url>no</accept-url>
+          <first-resource>yes</first-resource>
+          <accept-ogg-theora>no</accept-ogg-theora>
+          <agent command="ogg123" arguments="-d raw -o byteorder:big -f %out %in"/>
+          <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
+        </profile>
+        <profile name="vlcmpeg" enabled="no" type="external">
+          <mimetype>video/mpeg</mimetype>
+          <accept-url>yes</accept-url>
+          <first-resource>yes</first-resource>
+          <accept-ogg-theora>yes</accept-ogg-theora>
+          <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
+          <buffer size="14400000" chunk-size="512000" fill-size="120000"/>
+        </profile>
+      </profiles>
+    </transcoding>
+  </config>
+  '';
+
+in {
+
+
+  ###### interface
+
+  options = {
+
+    services.mediatomb = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable the mediatomb DLNA server.
+        '';
+      };
+
+      serverName = mkOption {
+        type = types.string;
+        default = "mediatomb";
+        description = ''
+          How to identify the server on the network.
+        '';
+      };
+
+      ps3Support = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable ps3 specific tweaks.
+          WARNING: incompatible with DSM 320 support.
+        '';
+      };
+
+      dsmSupport = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable D-Link DSM 320 specific tweaks.
+          WARNING: incompatible with ps3 support.
+        '';
+      };
+
+      tg100Support = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable Telegent TG100 specific tweaks.
+        '';
+      };
+
+      transcoding = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable transcoding.
+        '';
+      };
+
+      dataDir = mkOption {
+        type = types.path;
+        default = "/var/lib/mediatomb";
+        description = ''
+          The directory where mediatomb stores its state, data, etc.
+        '';
+      };
+
+      user = mkOption {
+        default = "mediatomb";
+        description = "User account under which mediatomb runs.";
+      };
+
+      group = mkOption {
+        default = "mediatomb";
+        description = "Group account under which mediatomb runs.";
+      };
+
+      port = mkOption {
+        default = 49152;
+        description = ''
+          The network port to listen on.
+        '';
+      };
+
+      uuid = mkOption {
+        default = "fdfc8a4e-a3ad-4c1d-b43d-a2eedb03a687";
+        description = ''
+          A unique (on your network) to identify the server by.
+        '';
+      };
+
+      customCfg = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Allow mediatomb to create and use its own config file inside ${cfg.dataDir}.
+        '';
+      };
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.mediatomb = {
+      description = "MediaTomb media Server";
+      after = [ "local-fs.target" "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.mediatomb ];
+      serviceConfig.ExecStart = "${pkgs.mediatomb}/bin/mediatomb -p ${toString cfg.port} ${if cfg.customCfg then "" else "-c ${mtConf}"} -m ${cfg.dataDir}";
+      serviceConfig.User = "${cfg.user}";
+    };
+
+    users.extraGroups = optionalAttrs (cfg.group == "mediatomb") (singleton {
+      name = "mediatomb";
+      gid = gid;
+    });
+
+    users.extraUsers = optionalAttrs (cfg.user == "mediatomb") (singleton {
+      name = "mediatomb";
+      isSystemUser = true;
+      group = cfg.group;
+      home = "${cfg.dataDir}";
+      createHome = true;
+      description = "Mediatomb DLNA Server User";
+    });
+
+    networking.firewall = {
+      allowedUDPPorts = [ 1900 cfg.port ];
+      allowedTCPPorts = [ cfg.port ];
+    };
+  };
+}
diff --git a/nixos/modules/services/misc/mesos-master.nix b/nixos/modules/services/misc/mesos-master.nix
new file mode 100644
index 00000000000..5609cf75bb5
--- /dev/null
+++ b/nixos/modules/services/misc/mesos-master.nix
@@ -0,0 +1,104 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.mesos.master;
+
+in {
+
+  options.services.mesos = {
+
+    master = {
+      enable = mkOption {
+        description = "Whether to enable the Mesos Master.";
+        default = false;
+        type = types.uniq types.bool;
+      };
+
+      port = mkOption {
+        description = "Mesos Master port";
+        default = 5050;
+        type = types.int;
+      };
+
+      zk = mkOption {
+        description = ''
+          ZooKeeper URL (used for leader election amongst masters).
+          May be one of:
+            zk://host1:port1,host2:port2,.../mesos
+            zk://username:password@host1:port1,host2:port2,.../mesos
+        '';
+        type = types.str;
+      };
+
+      workDir = mkOption {
+        description = "The Mesos work directory.";
+        default = "/var/lib/mesos/master";
+        type = types.str;
+      };
+
+      extraCmdLineOptions = mkOption {
+        description = ''
+	  Extra command line options for Mesos Master.
+
+	  See https://mesos.apache.org/documentation/latest/configuration/
+	'';
+        default = [ "" ];
+        type = types.listOf types.string;
+        example = [ "--credentials=VALUE" ];
+      };
+
+      quorum = mkOption {
+        description = ''
+          The size of the quorum of replicas when using 'replicated_log' based
+          registry. It is imperative to set this value to be a majority of
+          masters i.e., quorum > (number of masters)/2.
+
+          If 0 will fall back to --registry=in_memory.
+        '';
+        default = 0;
+        type = types.int;
+      };
+
+      logLevel = mkOption {
+        description = ''
+          The logging level used. Possible values:
+            'INFO', 'WARNING', 'ERROR'
+        '';
+        default = "INFO";
+        type = types.str;
+      };
+
+    };
+
+
+  };
+
+
+  config = mkIf cfg.enable {
+    systemd.services.mesos-master = {
+      description = "Mesos Master";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-interfaces.target" ];
+      serviceConfig = {
+	ExecStart = ''
+	  ${pkgs.mesos}/bin/mesos-master \
+	    --port=${toString cfg.port} \
+	    --zk=${cfg.zk} \
+	    ${if cfg.quorum == 0 then "--registry=in_memory" else "--registry=replicated_log --quorum=${toString cfg.quorum}"} \
+	    --work_dir=${cfg.workDir} \
+	    --logging_level=${cfg.logLevel} \
+	    ${toString cfg.extraCmdLineOptions}
+	'';
+	Restart = "on-failure";
+	PermissionsStartOnly = true;
+      };
+      preStart = ''
+	mkdir -m 0700 -p ${cfg.workDir}
+      '';
+    };
+  };
+
+}
+
diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix
new file mode 100644
index 00000000000..26fb3fdb00c
--- /dev/null
+++ b/nixos/modules/services/misc/mesos-slave.nix
@@ -0,0 +1,116 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.mesos.slave;
+
+  mkAttributes =
+    attrs: concatStringsSep ";" (mapAttrsToList
+                                   (k: v: "${k}:${v}")
+                                   (filterAttrs (k: v: v != null) attrs));
+  attribsArg = optionalString (cfg.attributes != {})
+                              "--attributes=${mkAttributes cfg.attributes}";
+
+in {
+
+  options.services.mesos = {
+    slave = {
+      enable = mkOption {
+        description = "Whether to enable the Mesos Slave.";
+        default = false;
+        type = types.uniq types.bool;
+      };
+
+      port = mkOption {
+        description = "Mesos Slave port";
+        default = 5051;
+        type = types.int;
+      };
+
+      master = mkOption {
+        description = ''
+          May be one of:
+            zk://host1:port1,host2:port2,.../path
+            zk://username:password@host1:port1,host2:port2,.../path
+        '';
+        type = types.str;
+      };
+
+      withHadoop = mkOption {
+        description = "Add the HADOOP_HOME to the slave.";
+        default = false;
+        type = types.bool;
+      };
+
+      workDir = mkOption {
+        description = "The Mesos work directory.";
+        default = "/var/lib/mesos/slave";
+        type = types.str;
+      };
+
+      extraCmdLineOptions = mkOption {
+        description = ''
+          Extra command line options for Mesos Slave.
+
+          See https://mesos.apache.org/documentation/latest/configuration/
+        '';
+        default = [ "" ];
+        type = types.listOf types.string;
+        example = [ "--gc_delay=3days" ];
+      };
+
+      logLevel = mkOption {
+        description = ''
+          The logging level used. Possible values:
+            'INFO', 'WARNING', 'ERROR'
+        '';
+        default = "INFO";
+        type = types.str;
+      };
+
+      attributes = mkOption {
+        description = ''
+          Machine attributes for the slave instance.
+
+          Use caution when changing this; you may need to manually reset slave
+          metadata before the slave can re-register.
+        '';
+        default = {};
+        type = types.attrsOf types.str;
+        example = { rack = "aa";
+                    host = "aabc123";
+                    os = "nixos"; };
+      };
+    };
+
+  };
+
+
+  config = mkIf cfg.enable {
+    systemd.services.mesos-slave = {
+      description = "Mesos Slave";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-interfaces.target" ];
+      environment.MESOS_CONTAINERIZERS = "docker,mesos";
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.mesos}/bin/mesos-slave \
+            --port=${toString cfg.port} \
+            --master=${cfg.master} \
+            ${optionalString cfg.withHadoop "--hadoop-home=${pkgs.hadoop}"} \
+            ${attribsArg} \
+            --work_dir=${cfg.workDir} \
+            --logging_level=${cfg.logLevel} \
+            --docker=${pkgs.docker}/libexec/docker/docker \
+            ${toString cfg.extraCmdLineOptions}
+        '';
+        PermissionsStartOnly = true;
+      };
+      preStart = ''
+        mkdir -m 0700 -p ${cfg.workDir}
+      '';
+    };
+  };
+
+}
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index c98c0511b56..6d25fef4576 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -20,6 +20,8 @@ let
       extraGroups = [ "nixbld" ];
     };
 
+  nixbldUsers = map makeNixBuildUser (range 1 cfg.nrBuildUsers);
+
   nixConf =
     let
       # If we're using a chroot for builds, then provide /bin/sh in
@@ -36,10 +38,15 @@ let
         # /etc/nixos/configuration.nix.  Do not edit it!
         build-users-group = nixbld
         build-max-jobs = ${toString (cfg.maxJobs)}
+        build-cores = ${toString (cfg.buildCores)}
         build-use-chroot = ${if cfg.useChroot then "true" else "false"}
         build-chroot-dirs = ${toString cfg.chrootDirs} /bin/sh=${sh} $(echo $extraPaths)
         binary-caches = ${toString cfg.binaryCaches}
         trusted-binary-caches = ${toString cfg.trustedBinaryCaches}
+        binary-cache-public-keys = ${toString cfg.binaryCachePublicKeys}
+        ${optionalString cfg.requireSignedBinaryCaches ''
+          signed-binary-caches = *
+        ''}
         $extraOptions
         END
       '';
@@ -66,12 +73,26 @@ in
         type = types.int;
         default = 1;
         example = 64;
-        description = "
+        description = ''
           This option defines the maximum number of jobs that Nix will try
           to build in parallel.  The default is 1.  You should generally
           set it to the number of CPUs in your system (e.g., 2 on an Athlon
           64 X2).
-        ";
+        '';
+      };
+
+      buildCores = mkOption {
+        type = types.int;
+        default = 1;
+        example = 64;
+        description = ''
+          This option defines the maximum number of concurrent tasks during
+          one build. It affects, e.g., -j option for make. The default is 1.
+          The special value 0 means that the builder should use all
+          available CPU cores in the system. Some builds may become
+          non-deterministic with this option; use with care! Packages will
+          only be affected if enableParallelBuilding is set for them.
+        '';
       };
 
       useChroot = mkOption {
@@ -179,17 +200,6 @@ in
         '';
       };
 
-      proxy = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          This option specifies the proxy to use for fetchurl. The real effect
-          is just exporting http_proxy, https_proxy and ftp_proxy with that
-          value.
-        '';
-        example = "http://127.0.0.1:3128";
-      };
-
       # Environment variables for running Nix.
       envVars = mkOption {
         type = types.attrs;
@@ -200,7 +210,6 @@ in
 
       nrBuildUsers = mkOption {
         type = types.int;
-        default = 10;
         description = ''
           Number of <literal>nixbld</literal> user accounts created to
           perform secure concurrent builds.  If you receive an error
@@ -222,7 +231,7 @@ in
 
       binaryCaches = mkOption {
         type = types.listOf types.str;
-        default = [ http://cache.nixos.org/ ];
+        default = [ https://cache.nixos.org/ ];
         description = ''
           List of binary cache URLs used to obtain pre-built binaries
           of Nix packages.
@@ -241,6 +250,33 @@ in
         '';
       };
 
+      requireSignedBinaryCaches = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          If enabled, Nix will only download binaries from binary
+          caches if they are cryptographically signed with any of the
+          keys listed in
+          <option>nix.binaryCachePublicKeys</option>. If disabled (the
+          default), signatures are neither required nor checked, so
+          it's strongly recommended that you use only trustworthy
+          caches and https to prevent man-in-the-middle attacks.
+        '';
+      };
+
+      binaryCachePublicKeys = mkOption {
+        type = types.listOf types.str;
+        example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
+        description = ''
+          List of public keys used to sign binary caches. If
+          <option>nix.requireSignedBinaryCaches</option> is enabled,
+          then Nix will use a binary from a binary cache if and only
+          if it is signed by <emphasis>any</emphasis> of the keys
+          listed here. By default, only the key for
+          <uri>cache.nixos.org</uri> is included.
+        '';
+      };
+
     };
 
   };
@@ -250,6 +286,8 @@ in
 
   config = {
 
+    nix.binaryCachePublicKeys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
+
     environment.etc."nix/nix.conf".source = nixConf;
 
     # List of machines for distributed Nix builds in the format
@@ -278,7 +316,9 @@ in
       { path = [ nix pkgs.openssl pkgs.utillinux pkgs.openssh ]
           ++ optionals cfg.distributedBuilds [ pkgs.gzip ];
 
-        environment = cfg.envVars // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; };
+        environment = cfg.envVars
+          // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; }
+          // config.networking.proxy.envVars;
 
         serviceConfig =
           { Nice = cfg.daemonNiceLevel;
@@ -303,13 +343,6 @@ in
         NIX_BUILD_HOOK = "${nix}/libexec/nix/build-remote.pl";
         NIX_REMOTE_SYSTEMS = "/etc/nix/machines";
         NIX_CURRENT_LOAD = "/run/nix/current-load";
-      }
-
-      # !!! These should not be defined here, but in some general proxy configuration module!
-      // optionalAttrs (cfg.proxy != "") {
-        http_proxy = cfg.proxy;
-        https_proxy = cfg.proxy;
-        ftp_proxy = cfg.proxy;
       };
 
     # Set up the environment variables for running Nix.
@@ -324,7 +357,11 @@ in
         fi
       '';
 
-    users.extraUsers = map makeNixBuildUser (range 1 cfg.nrBuildUsers);
+    nix.nrBuildUsers = mkDefault (lib.max 10 cfg.maxJobs);
+
+    users.extraUsers = nixbldUsers;
+
+    services.xserver.displayManager.hiddenUsers = map ({ name, ... }: name) nixbldUsers;
 
     system.activationScripts.nix = stringAfter [ "etc" "users" ]
       ''
@@ -342,9 +379,6 @@ in
           /nix/var/nix/gcroots/per-user \
           /nix/var/nix/profiles/per-user \
           /nix/var/nix/gcroots/tmp
-
-        ln -sf /nix/var/nix/profiles /nix/var/nix/gcroots/
-        ln -sf /nix/var/nix/manifests /nix/var/nix/gcroots/
       '';
 
   };
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index c0d7885280a..c570a01fb3b 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -3,7 +3,7 @@
 # of the virtual consoles.  The latter is useful for the installation
 # CD.
 
-{ config, lib, pkgs, baseModules, ... } @ extraArgs:
+{ config, lib, pkgs, baseModules, ... }:
 
 with lib;
 
@@ -14,11 +14,12 @@ let
   versionModule =
     { system.nixosVersionSuffix = config.system.nixosVersionSuffix;
       system.nixosRevision = config.system.nixosRevision;
+      nixpkgs.system = config.nixpkgs.system;
     };
 
   eval = evalModules {
     modules = [ versionModule ] ++ baseModules;
-    args = (removeAttrs extraArgs ["config" "options"]) // { modules = [ ]; };
+    args = (config._module.args) // { modules = [ ]; };
   };
 
   manual = import ../../../doc/manual {
diff --git a/nixos/modules/services/misc/parsoid.nix b/nixos/modules/services/misc/parsoid.nix
new file mode 100644
index 00000000000..0844190a549
--- /dev/null
+++ b/nixos/modules/services/misc/parsoid.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.parsoid;
+
+  conf = ''
+    exports.setup = function( parsoidConfig ) {
+      ${toString (mapAttrsToList (name: str: "parsoidConfig.setInterwiki('${name}', '${str}');") cfg.interwikis)}
+
+      parsoidConfig.serverInterface = "${cfg.interface}";
+      parsoidConfig.serverPort = ${toString cfg.port};
+
+      parsoidConfig.useSelser = true;
+
+      ${cfg.extraConfig}
+    };
+  '';
+
+  confFile = builtins.toFile "localsettings.js" conf;
+
+in
+{
+  ##### interface
+
+  options = {
+
+    services.parsoid = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable Parsoid -- bidirectional
+          wikitext parser.
+        '';
+      };
+
+      interwikis = mkOption {
+        type = types.attrsOf types.str;
+        example = { localhost = "http://localhost/api.php"; };
+        description = ''
+          Used MediaWiki API endpoints.
+        '';
+      };
+
+      workers = mkOption {
+        type = types.int;
+        default = 2;
+        description = ''
+          Number of Parsoid workers.
+        '';
+      };
+
+      interface = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        description = ''
+          Interface to listen on.
+        '';
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 8000;
+        description = ''
+          Port to listen on.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Extra configuration to add to parsoid configuration.
+        '';
+      };
+
+    };
+
+  };
+
+  ##### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.parsoid = {
+      description = "Bidirectional wikitext parser";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.nodePackages.parsoid}/lib/node_modules/parsoid/api/server.js -c ${confFile} -n ${toString cfg.workers}";
+      };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/misc/phd.nix b/nixos/modules/services/misc/phd.nix
new file mode 100644
index 00000000000..e605ce5de16
--- /dev/null
+++ b/nixos/modules/services/misc/phd.nix
@@ -0,0 +1,52 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.phd;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.phd = {
+
+      enable = mkOption {
+        default = false;
+        description = "
+          Enable daemons for phabricator.
+        ";
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.phd = {
+      path = [ pkgs.phabricator pkgs.php pkgs.mercurial pkgs.git pkgs.subversion ];
+
+      after = [ "httpd.service" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        ExecStart = "${pkgs.phabricator}/phabricator/bin/phd start";
+        ExecStop = "${pkgs.phabricator}/phabricator/bin/phd stop";
+        User = "wwwrun";
+        RestartSec = "30s";
+        Restart = "always";
+        StartLimitInterval = "1m";
+      };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix
new file mode 100644
index 00000000000..059cc18733b
--- /dev/null
+++ b/nixos/modules/services/misc/redmine.nix
@@ -0,0 +1,221 @@
+{ config, lib, pkgs, ... }:
+
+# TODO: support non-postgresql
+
+with lib;
+
+let
+  cfg = config.services.redmine;
+
+  ruby = pkgs.ruby;
+
+  databaseYml = ''
+    production:
+      adapter: postgresql
+      database: ${cfg.databaseName}
+      host: ${cfg.databaseHost}
+      password: ${cfg.databasePassword}
+      username: ${cfg.databaseUsername}
+      encoding: utf8
+  '';
+
+  configurationYml = ''
+    default:
+      # Absolute path to the directory where attachments are stored.
+      # The default is the 'files' directory in your Redmine instance.
+      # Your Redmine instance needs to have write permission on this
+      # directory.
+      # Examples:
+      # attachments_storage_path: /var/redmine/files
+      # attachments_storage_path: D:/redmine/files
+      attachments_storage_path: ${cfg.stateDir}/files
+
+      # Absolute path to the SCM commands errors (stderr) log file.
+      # The default is to log in the 'log' directory of your Redmine instance.
+      # Example:
+      # scm_stderr_log_file: /var/log/redmine_scm_stderr.log
+      scm_stderr_log_file: ${cfg.stateDir}/redmine_scm_stderr.log
+
+      ${cfg.extraConfig}
+  '';
+
+  unpackTheme = unpack "theme";
+  unpackPlugin = unpack "plugin";
+  unpack = id: (name: source:
+    pkgs.stdenv.mkDerivation {
+      name = "redmine-${id}-${name}";
+      buildInputs = [ pkgs.unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unpackFile ${source}
+      '';
+    });
+
+in {
+
+  options = {
+    services.redmine = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable the redmine service.
+        '';
+      };
+
+      stateDir = mkOption {
+        type = types.str;
+        default = "/var/redmine";
+        description = "The state directory, logs and plugins are stored here";
+      };
+
+      extraConfig = mkOption {
+        type = types.str;
+        default = "";
+        description = "Extra configuration in configuration.yml";
+      };
+
+      themes = mkOption {
+        type = types.attrsOf types.path;
+        default = {};
+        description = "Set of themes";
+      };
+
+      plugins = mkOption {
+        type = types.attrsOf types.path;
+        default = {};
+        description = "Set of plugins";
+      };
+
+      #databaseType = mkOption {
+      #  type = types.str;
+      #  default = "postgresql";
+      #  description = "Type of database";
+      #};
+
+      databaseHost = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        description = "Database hostname";
+      };
+
+      databasePassword = mkOption {
+        type = types.str;
+        default = "";
+        description = "Database user password";
+      };
+
+      databaseName = mkOption {
+        type = types.str;
+        default = "redmine";
+        description = "Database name";
+      };
+
+      databaseUsername = mkOption {
+        type = types.str;
+        default = "redmine";
+        description = "Database user";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = cfg.databasePassword != "";
+        message = "databasePassword must be set";
+      }
+    ];
+
+    users.extraUsers = [
+      { name = "redmine";
+        group = "redmine";
+        uid = config.ids.uids.redmine;
+      } ];
+
+    users.extraGroups = [
+      { name = "redmine";
+        gid = config.ids.gids.redmine;
+      } ];
+
+    systemd.services.redmine = {
+      after = [ "network.target" "postgresql.service" ];
+      wantedBy = [ "multi-user.target" ];
+      environment.RAILS_ENV = "production";
+      environment.RAILS_ETC = "${cfg.stateDir}/config";
+      environment.RAILS_LOG = "${cfg.stateDir}/log";
+      environment.RAILS_VAR = "${cfg.stateDir}/var";
+      environment.RAILS_CACHE = "${cfg.stateDir}/cache";
+      environment.RAILS_PLUGINS = "${cfg.stateDir}/plugins";
+      environment.RAILS_PUBLIC = "${cfg.stateDir}/public";
+      environment.RAILS_TMP = "${cfg.stateDir}/tmp";
+      environment.SCHEMA = "${cfg.stateDir}/cache/schema.db";
+      environment.HOME = "${pkgs.redmine}/share/redmine";
+      environment.REDMINE_LANG = "en";
+      environment.GEM_HOME = "${pkgs.redmine}/share/redmine/vendor/bundle/ruby/1.9.1";
+      environment.GEM_PATH = "${bundler}/${bundler.ruby.gemPath}";
+      path = with pkgs; [
+        imagemagickBig
+        subversion
+        mercurial
+        cvs
+        config.services.postgresql.package
+        bazaar
+        gitAndTools.git
+        # once we build binaries for darc enable it
+        #darcs
+      ];
+      preStart = ''
+        # TODO: use env vars
+        for i in plugins public/plugin_assets db files log config cache var/files tmp; do
+          mkdir -p ${cfg.stateDir}/$i
+        done
+
+        chown -R redmine:redmine ${cfg.stateDir}
+        chmod -R 755 ${cfg.stateDir}
+
+        rm -rf ${cfg.stateDir}/public/*
+        cp -R ${pkgs.redmine}/share/redmine/public/* ${cfg.stateDir}/public/
+        for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do
+          ln -fs $theme/* ${cfg.stateDir}/public/themes/
+        done
+
+        rm -rf ${cfg.stateDir}/plugins/*
+        for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do
+          ln -fs $plugin/* ${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}
+        done
+
+        ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.stateDir}/config/database.yml
+        ln -fs ${pkgs.writeText "configuration.yml" configurationYml} ${cfg.stateDir}/config/configuration.yml
+
+        if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
+          if ! test -e "${cfg.stateDir}/db-created"; then
+            psql postgres -c "CREATE ROLE redmine WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
+            ${config.services.postgresql.package}/bin/createdb --owner redmine redmine || true
+            touch "${cfg.stateDir}/db-created"
+          fi
+        fi
+
+        cd ${pkgs.redmine}/share/redmine/
+        ${ruby}/bin/rake db:migrate
+        ${ruby}/bin/rake redmine:plugins:migrate
+        ${ruby}/bin/rake redmine:load_default_data
+        ${ruby}/bin/rake generate_secret_token
+      '';
+
+      serviceConfig = {
+        PermissionsStartOnly = true; # preStart must be run as root
+        Type = "simple";
+        User = "redmine";
+        Group = "redmine";
+        TimeoutSec = "300";
+        WorkingDirectory = "${pkgs.redmine}/share/redmine";
+        ExecStart="${ruby}/bin/ruby ${pkgs.redmine}/share/redmine/script/rails server webrick -e production -P ${cfg.stateDir}/redmine.pid";
+      };
+
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/misc/ripple-data-api.nix b/nixos/modules/services/misc/ripple-data-api.nix
new file mode 100644
index 00000000000..6e5ac7ab00b
--- /dev/null
+++ b/nixos/modules/services/misc/ripple-data-api.nix
@@ -0,0 +1,168 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.rippleDataApi;
+
+  deployment_env_config = builtins.toJSON {
+    production = {
+      port = toString cfg.port;
+      maxSockets = 150;
+      batchSize = 100;
+      startIndex = 32570;
+      rippleds = cfg.rippleds;
+      redis = {
+        enable = cfg.redis.enable;
+        host = cfg.redis.host;
+        port = cfg.redis.port;
+        options.auth_pass = null;
+      };
+    };
+  };
+
+  db_config = builtins.toJSON {
+    production = {
+      username = optional (cfg.couchdb.pass != "") cfg.couchdb.user;
+      password = optional (cfg.couchdb.pass != "") cfg.couchdb.pass;
+      host = cfg.couchdb.host;
+      port = cfg.couchdb.port;
+      database = cfg.couchdb.db;
+      protocol = "http";
+    };
+  };
+
+in {
+  options = {
+    services.rippleDataApi = {
+      enable = mkEnableOption "Whether to enable ripple data api.";
+
+      port = mkOption {
+        description = "Ripple data api port";
+        default = 5993;
+        type = types.int;
+      };
+
+      redis = {
+        enable = mkOption {
+          description = "Whether to enable caching of ripple data to redis.";
+          default = true;
+          type = types.bool;
+        };
+
+        host = mkOption {
+          description = "Ripple data api redis host.";
+          default = "localhost";
+          type = types.str;
+        };
+
+        port = mkOption {
+          description = "Ripple data api redis port.";
+          default = 5984;
+          type = types.int;
+        };
+      };
+
+      couchdb = {
+        host = mkOption {
+          description = "Ripple data api couchdb host.";
+          default = "localhost";
+          type = types.str;
+        };
+
+        port = mkOption {
+          description = "Ripple data api couchdb port.";
+          default = 5984;
+          type = types.int;
+        };
+
+        db = mkOption {
+          description = "Ripple data api couchdb database.";
+          default = "rippled";
+          type = types.str;
+        };
+
+        user = mkOption {
+          description = "Ripple data api couchdb username.";
+          default = "rippled";
+          type = types.str;
+        };
+
+        pass = mkOption {
+          description = "Ripple data api couchdb password.";
+          default = "";
+          type = types.str;
+        };
+
+        create = mkOption {
+          description = "Whether to create couchdb database needed by ripple data api.";
+          type = types.bool;
+          default = true;
+        };
+      };
+
+      rippleds = mkOption {
+        description = "List of rippleds to be used by ripple data api.";
+        default = [
+          "http://s_east.ripple.com:51234"
+          "http://s_west.ripple.com:51234"
+        ];
+        type = types.listOf types.str;
+      };
+    };
+  };
+
+  config = mkIf (cfg.enable) {
+    services.couchdb.enable = mkDefault true;
+    services.couchdb.bindAddress = mkDefault "0.0.0.0";
+    services.redis.enable = mkDefault true;
+
+    systemd.services.ripple-data-api = {
+      after = [ "couchdb.service" "redis.service" "ripple-data-api-importer.service" ];
+      wantedBy = [ "multi-user.target" ];
+
+      environment = {
+        NODE_ENV = "production";
+        DEPLOYMENT_ENVS_CONFIG = pkgs.writeText "deployment.environment.json" deployment_env_config;
+        DB_CONFIG = pkgs.writeText "db.config.json" db_config;
+      };
+
+      serviceConfig = {
+        ExecStart = "${pkgs.ripple-data-api}/bin/api";
+        User = "ripple-data-api";
+      };
+    };
+
+    systemd.services.ripple-data-importer = {
+      after = [ "couchdb.service" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.curl ];
+
+      environment = {
+        NODE_ENV = "production";
+        DEPLOYMENT_ENVS_CONFIG = pkgs.writeText "deployment.environment.json" deployment_env_config;
+        DB_CONFIG = pkgs.writeText "db.config.json" db_config;
+        LOG_FILE = "/dev/null";
+      };
+
+      serviceConfig = {
+        ExecStart = "${pkgs.ripple-data-api}/bin/importer live debug2";
+        User = "ripple-data-api";
+      };
+
+      preStart = mkMerge [
+        (mkIf (cfg.couchdb.create) ''
+          HOST="http://${optionalString (cfg.couchdb.pass != "") "${cfg.couchdb.user}:${cfg.couchdb.pass}@"}${cfg.couchdb.host}:${toString cfg.couchdb.port}"
+          curl -X PUT $HOST/${cfg.couchdb.db} || true
+        '')
+        "${pkgs.ripple-data-api}/bin/update-views"
+      ];
+    };
+
+    users.extraUsers = singleton
+      { name = "ripple-data-api";
+        description = "Ripple data api user";
+        uid = config.ids.uids.ripple-data-api;
+      };
+  };
+}
diff --git a/nixos/modules/services/misc/rippled.nix b/nixos/modules/services/misc/rippled.nix
index 2c1fec9f6d7..85a1ed8ae9e 100644
--- a/nixos/modules/services/misc/rippled.nix
+++ b/nixos/modules/services/misc/rippled.nix
@@ -1,5 +1,3 @@
-# configuration building is commented out until better tested.
-
 { config, lib, pkgs, ... }:
 
 with lib;
@@ -7,266 +5,366 @@ with lib;
 let
   cfg = config.services.rippled;
 
-  rippledStateCfgFile = "/var/lib/rippled/rippled.cfg";
+  b2i = val: if val then "1" else "0";
+
+  dbCfg = db: ''
+    type=${db.type}
+    path=${db.path}
+    ${optionalString (db.compression != null) ("compression=${b2i db.compression}") }
+    ${optionalString (db.onlineDelete != null) ("online_delete=${toString db.onlineDelete}")}
+    ${optionalString (db.advisoryDelete != null) ("advisory_delete=${toString db.advisoryDelete}")}
+    ${db.extraOpts}
+  '';
 
   rippledCfg = ''
+    [server]
+    ${concatMapStringsSep "\n" (n: "port_${n}") (attrNames cfg.ports)}
+
+    ${concatMapStrings (p: ''
+    [port_${p.name}]
+    ip=${p.ip}
+    port=${toString p.port}
+    protocol=${concatStringsSep "," p.protocol}
+    ${optionalString (p.user != "") "user=${p.user}"}
+    ${optionalString (p.password != "") "user=${p.password}"}
+    admin=${if p.admin then "allow" else "no"}
+    ${optionalString (p.ssl.key != null) "ssl_key=${p.ssl.key}"}
+    ${optionalString (p.ssl.cert != null) "ssl_cert=${p.ssl.cert}"}
+    ${optionalString (p.ssl.chain != null) "ssl_chain=${p.ssl.chain}"}
+    '') (attrValues cfg.ports)}
+
+    [database_path]
+    ${cfg.databasePath}
+
     [node_db]
-    type=HyperLevelDB
-    path=/var/lib/rippled/db/hyperldb
+    ${dbCfg cfg.nodeDb}
 
-    [debug_logfile]
-    /var/log/rippled/debug.log
+    ${optionalString (cfg.tempDb != null) ''
+    [temp_db]
+    ${dbCfg cfg.tempDb}''}
 
-  ''
-  + optionalString (cfg.peerIp != null) ''
-    [peer_ip]
-    ${cfg.peerIp}
+    ${optionalString (cfg.importDb != null) ''
+    [import_db]
+    ${dbCfg cfg.importDb}''}
 
-    [peer_port]
-    ${toString cfg.peerPort}
+    [ips]
+    ${concatStringsSep "\n" cfg.ips}
 
-  ''
-  + cfg.extraConfig;
+    [ips_fixed]
+    ${concatStringsSep "\n" cfg.ipsFixed}
 
-  rippledCfgFile = pkgs.writeText "rippled.cfg" rippledCfg;
-    
-in
+    [validators]
+    ${concatStringsSep "\n" cfg.validators}
 
-{
+    [node_size]
+    ${cfg.nodeSize}
 
-  ###### interface
+    [ledger_history]
+    ${toString cfg.ledgerHistory}
 
-  options = {
+    [fetch_depth]
+    ${toString cfg.fetchDepth}
 
-    services.rippled = {
+    [validation_quorum]
+    ${toString cfg.validationQuorum}
 
-      enable = mkOption {
-        default = false;
-	description = "Whether to enable rippled";
-      };
+    [sntp_servers]
+    ${concatStringsSep "\n" cfg.sntpServers}
 
-      #
-      # Rippled has a simple configuration file layout that is easy to 
-      # build with nix. Many of the options are defined here but are 
-      # commented out until the code to append them to the config above
-      # is written and they are tested.
-      #
-      # If you find a yourself implementing more options, please submit a 
-      # pull request.
-      #
-
-      /*
-      ips = mkOption {
-        default = [ "r.ripple.com 51235" ];
-	example = [ "192.168.0.1" "192.168.0.1 3939" "r.ripple.com 51235" ];
-	description = ''
-	  List of hostnames or ips where the Ripple protocol is served.
-	  For a starter list, you can either copy entries from: 
-	  https://ripple.com/ripple.txt or if you prefer you can let it
-	   default to r.ripple.com 51235
+    [rpc_startup]
+    { "command": "log_level", "severity": "${cfg.logLevel}" }
+  '' + cfg.extraConfig;
 
-	  A port may optionally be specified after adding a space to the 
-	  address. By convention, if known, IPs are listed in from most 
-	  to least trusted.
-	'';
+  portOptions = { name, ...}: {
+    options = {
+      name = mkOption {
+	internal = true;
+	default = name;
       };
 
-      ipsFixed = mkOption {
-        default = null;
-	example = [ "192.168.0.1" "192.168.0.1 3939" "r.ripple.com 51235" ];
-	description = ''
-	  List of IP addresses or hostnames to which rippled should always 
-	  attempt to maintain peer connections with. This is useful for 
-	  manually forming private networks, for example to configure a 
-	  validation server that connects to the Ripple network through a 
-	  public-facing server, or for building a set of cluster peers.
+      ip = mkOption {
+	default = "127.0.0.1";
+	description = "Ip where rippled listens.";
+	type = types.str;
+      };
 
-	  A port may optionally be specified after adding a space to the address
-	'';
+      port = mkOption {
+	description = "Port where rippled listens.";
+	type = types.int;
       };
-      */
 
-      peerIp = mkOption {
-        default = null;
-	example = "0.0.0.0";
-	description = ''
-	  IP address or domain to bind to allow external connections from peers.
-	  Defaults to not binding, which disallows external connections from peers.
-        '';
+      protocol = mkOption {
+	description = "Protocols expose by rippled.";
+	type = types.listOf (types.enum ["http" "https" "ws" "wss" "peer"]);
       };
 
-      peerPort = mkOption {
-	default = 51235;
-	description = ''
-	  If peerIp is supplied, corresponding port to bind to for peer connections.
-	'';
+      user = mkOption {
+	description = "When set, these credentials will be required on HTTP/S requests.";
+	type = types.str;
+	default = "";
       };
 
-      /*
-      peerPortProxy = mkOption {
-        type = types.int;
-	example = 51236;
-	description = ''
-	  An optional, additional listening port number for peers. Incoming
-	  connections on this port will be required to provide a PROXY Protocol
-	  handshake, described in this document (external link):
+      password = mkOption {
+	description = "When set, these credentials will be required on HTTP/S requests.";
+	type = types.str;
+	default = "";
+      };
 
-	    http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt
+      admin = mkOption {
+	description = "Controls whether or not administrative commands are allowed.";
+	type = types.bool;
+	default = false;
+      };
 
-	  The PROXY Protocol is a popular method used by elastic load balancing
-	  service providers such as Amazon, to identify the true IP address and
-	  port number of external incoming connections.
+      ssl = {
+	key = mkOption {
+	  description = ''
+	    Specifies the filename holding the SSL key in PEM format.
+	  '';
+	  default = null;
+	  type = types.nullOr types.path;
+	};
+
+	cert = mkOption {
+	  description = ''
+	    Specifies the path to the SSL certificate file in PEM format.
+	    This is not needed if the chain includes it.
+	  '';
+	  default = null;
+	  type = types.nullOr types.path;
+	};
+
+	chain = mkOption {
+	  description = ''
+	    If you need a certificate chain, specify the path to the
+	    certificate chain here. The chain may include the end certificate.
+	  '';
+	  default = null;
+	  type = types.nullOr types.path;
+	};
 
-	  In addition to enabling this setting, it will also be required to
-	  use your provider-specific control panel or administrative web page
-	  to configure your server instance to receive PROXY Protocol handshakes,
-	  and also to restrict access to your instance to the Elastic Load Balancer.
-	'';
       };
-
-      peerPrivate = mkOption {
-        default = null;
-	example = 0;
-	description = ''
-	 0: Request peers to broadcast your address. Normal outbound peer connections [default]
-	 1: Request peers not broadcast your address. Only connect to configured peers.
-       '';
-     };
-
-     peerSslCipherList = mkOption {
-       default = null;
-       example = "ALL:!LOW:!EXP:!MD5:@STRENGTH";
-       description = ''
-         A colon delimited string with the allowed SSL cipher modes for peer. The
-	 choices for for ciphers are defined by the OpenSSL API function
-	 SSL_CTX_set_cipher_list, documented here (external link):
-
-	  http://pic.dhe.ibm.com/infocenter/tpfhelp/current/index.jsp?topic=%2Fcom.ibm.ztpf-ztpfdf.doc_put.cur%2Fgtpc2%2Fcpp_ssl_ctx_set_cipher_list.html
-
-	The default setting of "ALL:!LOW:!EXP:!MD5:@STRENGTH", which allows
-	non-authenticated peer connections (they are, however, secure).
-      '';
     };
+  };
 
-    nodeSeed = mkOption {
-      default = null;
-      example = "RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE";
-      description = ''
-        This is used for clustering. To force a particular node seed or key, the
-	key can be set here.  The format is the same as the validation_seed field.
-	To obtain a validation seed, use the rippled validation_create command.
-      '';
+  dbOptions = {
+    type = mkOption {
+      description = "Rippled database type.";
+      type = types.enum ["rocksdb" "nudb" "sqlite"];
+      default = "rocksdb";
     };
 
-    clusterNodes = mkOption {
-      default = null;
-      example = [ "n9KorY8QtTdRx7TVDpwnG9NvyxsDwHUKUEeDLY3AkiGncVaSXZi5" ];
-      description = ''
-        To extend full trust to other nodes, place their node public keys here.
-	Generally, you should only do this for nodes under common administration.
-	Node public keys start with an 'n'. To give a node a name for identification
-	place a space after the public key and then the name.
-      '';
+    path = mkOption {
+      description = "Location to store the database.";
+      type = types.path;
+      default = cfg.databasePath;
     };
 
-    sntpServers = mkOption {
+    compression = mkOption {
+      description = "Whether to enable snappy compression.";
+      type = types.nullOr types.bool;
       default = null;
-      example = [ "time.nist.gov" "pool.ntp.org" ];
-      description = ''
-        IP address or domain of NTP servers to use for time synchronization.
-      '';
     };
 
-    # TODO: websocket options
-
-    rpcAllowRemote = mkOption {
-      default = false;
-      description = ''
-        false: Allow RPC connections only from 127.0.0.1. [default]
-	true:  Allow RPC connections from any IP.
-      '';
+    onlineDelete = mkOption {
+      description = "Enable automatic purging of older ledger information.";
+      type = types.addCheck (types.nullOr types.int) (v: v > 256);
+      default = cfg.ledgerHistory;
     };
 
-    rpcAdminAllow = mkOption {
-      example = [ "10.0.0.4" ];
+    advisoryDelete = mkOption {
       description = ''
-        List of IP addresses allowed to have admin access.
+	If set, then require administrative RPC call "can_delete"
+	to enable online deletion of ledger records.
       '';
+      type = types.nullOr types.bool;
+      default = null;
     };
 
-    rpcAdminUser = mkOption {
-      type = types.str;
-      description = ''
-        As a server, require this as the admin user to be specified.  Also, require
-	rpc_admin_user and rpc_admin_password to be checked for RPC admin functions.
-	The request must specify these as the admin_user and admin_password in the
-	request object.
-      '';
+    extraOpts = mkOption {
+      description = "Extra database options.";
+      type = types.lines;
+      default = "";
     };
+  };
 
-    rpcAdminPassword = mkOption {
-      type = types.str;
-      description = ''
-        As a server, require this as the admin pasword to be specified.  Also,
-	require rpc_admin_user and rpc_admin_password to be checked for RPC admin
-	functions.  The request must specify these as the admin_user and
-	admin_password in the request object.
-      '';
-    };
+in
+
+{
+
+  ###### interface
+
+  options = {
+    services.rippled = {
+      enable = mkEnableOption "Whether to enable rippled";
+
+      package = mkOption {
+	description = "Which rippled package to use.";
+	type = types.package;
+	default = pkgs.rippled;
+      };
+
+      ports = mkOption {
+	description = "Ports exposed by rippled";
+	type = types.attrsOf types.optionSet;
+	options = [portOptions];
+	default = {
+	  rpc = {
+	    port = 5005;
+	    admin = true;
+	    protocol = ["http"];
+	  };
+
+	  peer = {
+	    port = 51235;
+	    ip = "0.0.0.0";
+	    protocol = ["peer"];
+	  };
+
+	  ws_public = {
+	    port = 5006;
+	    ip = "0.0.0.0";
+	    protocol = ["ws" "wss"];
+	  };
+	};
+      };
 
-      rpcIp = mkOption {
-        type = types.str;
+      nodeDb = mkOption {
+	description = "Rippled main database options.";
+	type = types.nullOr types.optionSet;
+	options = [dbOptions];
+	default = {
+	  type = "rocksdb";
+	  extraOpts = ''
+	    open_files=2000
+	    filter_bits=12
+	    cache_mb=256
+	    file_size_pb=8
+	    file_size_mult=2;
+	  '';
+	};
+      };
+
+      tempDb = mkOption {
+	description = "Rippled temporary database options.";
+	type = types.nullOr types.optionSet;
+	options = [dbOptions];
+	default = null;
+      };
+
+      importDb = mkOption {
+	description = "Settings for performing a one-time import.";
+	type = types.nullOr types.optionSet;
+	options = [dbOptions];
+	default = null;
+      };
+
+      nodeSize = mkOption {
 	description = ''
-	  IP address or domain to bind to allow insecure RPC connections.
-	  Defaults to not binding, which disallows RPC connections.
+	  Rippled size of the node you are running.
+	  "tiny", "small", "medium", "large", and "huge"
 	'';
+	type = types.enum ["tiny" "small" "medium" "large" "huge"];
+	default = "small";
       };
 
-      rpcPort = mkOption {
-        type = types.int;
-        description = ''
-          If rpcIp is supplied, corresponding port to bind to for peer connections.
-        '';
+      ips = mkOption {
+	description = ''
+	  List of hostnames or ips where the Ripple protocol is served.
+	  For a starter list, you can either copy entries from:
+	  https://ripple.com/ripple.txt or if you prefer you can let it
+	   default to r.ripple.com 51235
+
+	  A port may optionally be specified after adding a space to the
+	  address. By convention, if known, IPs are listed in from most
+	  to least trusted.
+	'';
+	type = types.listOf types.str;
+	default = ["r.ripple.com 51235"];
+      };
+
+      ipsFixed = mkOption {
+	description = ''
+	  List of IP addresses or hostnames to which rippled should always
+	  attempt to maintain peer connections with. This is useful for
+	  manually forming private networks, for example to configure a
+	  validation server that connects to the Ripple network through a
+	  public-facing server, or for building a set of cluster peers.
+
+	  A port may optionally be specified after adding a space to the address
+	'';
+	type = types.listOf types.str;
+	default = [];
+      };
+
+      validators = mkOption {
+	description = ''
+	  List of nodes to always accept as validators. Nodes are specified by domain
+	  or public key.
+	'';
+	type = types.listOf types.str;
+	default = [
+	  "n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7  RL1"
+	  "n9MD5h24qrQqiyBC8aeqqCWvpiBiYQ3jxSr91uiDvmrkyHRdYLUj  RL2"
+	  "n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C  RL3"
+	  "n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS  RL4"
+	  "n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA  RL5"
+	];
       };
 
-      rpcUser = mkOption {
-        type = types.str;
+      databasePath = mkOption {
 	description = ''
-	  Require a this user to specified and require rpcPassword to
-	  be checked for RPC access via the rpcIp and rpcPort. The user and password
-	  must be specified via HTTP's basic authentication method.
-	  As a client, supply this to the server via HTTP's basic authentication
-	  method.
+	  Path to the ripple database.
 	'';
+	type = types.path;
+	default = "/var/lib/rippled/db";
       };
 
-      rpcPassword = mkOption {
-        type = types.str;
+      validationQuorum = mkOption {
 	description = ''
-	  Require a this password to specified and require rpc_user to
-	  be checked for RPC access via the rpcIp and rpcPort. The user and password
-	  must be specified via HTTP's basic authentication method.
-	  As a client, supply this to the server via HTTP's basic authentication
-	  method.
+	  The minimum number of trusted validations a ledger must have before
+	  the server considers it fully validated.
 	'';
+	type = types.int;
+	default = 3;
       };
 
-      rpcStartup = mkOption {
-        example = [ ''"command" : "log_level"'' ''"partition" : "ripplecalc"'' ''"severity" : "trace"'' ];
-	description = "List of RPC commands to run at startup.";
+      ledgerHistory = mkOption {
+	description = ''
+	  The number of past ledgers to acquire on server startup and the minimum
+	  to maintain while running.
+	'';
+	type = types.either types.int (types.enum ["full"]);
+	default = 1296000; # 1 month
       };
 
-      rpcSecure = mkOption {
-        default = false;
+      fetchDepth = mkOption {
 	description = ''
-	  false: Server certificates are not provided for RPC clients using SSL [default]
-	  true:  Client RPC connections wil be provided with SSL certificates.
+	  The number of past ledgers to serve to other peers that request historical
+	  ledger data (or "full" for no limit).
+	'';
+	type = types.either types.int (types.enum ["full"]);
+	default = "full";
+      };
 
-	  Note that if rpc_secure is enabled, it will also be necessasry to configure the
-	  certificate file settings located in rpcSslCert, rpcSslChain, and rpcSslKey
+      sntpServers = mkOption {
+	description = ''
+	  IP address or domain of NTP servers to use for time synchronization.;
 	'';
+	type = types.listOf types.str;
+	default = [
+	  "time.windows.com"
+	  "time.apple.com"
+	  "time.nist.gov"
+	  "pool.ntp.org"
+	];
+      };
+
+      logLevel = mkOption {
+        description = "Logging verbosity.";
+	type = types.enum ["debug" "error" "info"];
+	default = "error";
       };
-      */
 
       extraConfig = mkOption {
         default = "";
@@ -275,8 +373,11 @@ in
 	'';
       };
 
+      config = mkOption {
+	internal = true;
+	default = pkgs.writeText "rippled.conf" rippledCfg;
+      };
     };
-
   };
 
 
@@ -288,27 +389,21 @@ in
       { name = "rippled";
         description = "Ripple server user";
         uid = config.ids.uids.rippled;
-	home = "/var/lib/rippled";
+	home = cfg.databasePath;
+	createHome = true;
       };
 
     systemd.services.rippled = {
-      path = [ pkgs.rippled ];
-
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
-        ExecStart = "${pkgs.rippled}/bin/rippled --fg -q --conf ${rippledStateCfgFile}";
-	WorkingDirectory = "/var/lib/rippled";
+        ExecStart = "${cfg.package}/bin/rippled --fg --conf ${cfg.config}";
+        User = "rippled";
       };
     };
 
-    networking.firewall.allowedTCPPorts = mkIf (cfg.peerIp != null) [ cfg.peerPort ];
+    environment.systemPackages = [ cfg.package ];
 
-    system.activationScripts.rippled = ''
-      mkdir -p /var/{lib,log}/rippled
-      chown -R rippled /var/{lib,log}/rippled
-      ln -sf ${rippledCfgFile} ${rippledStateCfgFile}
-    '';
   };
 }
diff --git a/nixos/modules/services/misc/synergy.nix b/nixos/modules/services/misc/synergy.nix
index 5338b25715c..054df965347 100644
--- a/nixos/modules/services/misc/synergy.nix
+++ b/nixos/modules/services/misc/synergy.nix
@@ -81,27 +81,26 @@ in
 
   ###### implementation
 
-  config = {
-
-    systemd.services."synergy-client" = {
-      enable = cfgC.enable;
-      after = [ "network.target" ];
-      description = "Synergy client";
-      wantedBy = optional cfgC.autoStart "multi-user.target";
-      path = [ pkgs.synergy ];
-      serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergyc -f ${optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}"} ${cfgC.serverAddress}'';
-    };
-
-    systemd.services."synergy-server" = {
-      enable = cfgS.enable;
-      after = [ "network.target" ];
-      description = "Synergy server";
-      wantedBy = optional cfgS.autoStart "multi-user.target";
-      path = [ pkgs.synergy ];
-      serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergys -c ${cfgS.configFile} -f ${optionalString (cfgS.address != "") "-a ${cfgS.address}"} ${optionalString (cfgS.screenName != "") "-n ${cfgS.screenName}" }'';
-    };
-
-  };
+  config = mkMerge [
+    (mkIf cfgC.enable {
+      systemd.services."synergy-client" = {
+        after = [ "network.target" ];
+        description = "Synergy client";
+        wantedBy = optional cfgC.autoStart "multi-user.target";
+        path = [ pkgs.synergy ];
+        serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergyc -f ${optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}"} ${cfgC.serverAddress}'';
+      };
+    })
+    (mkIf cfgS.enable {
+      systemd.services."synergy-server" = {
+        after = [ "network.target" ];
+        description = "Synergy server";
+        wantedBy = optional cfgS.autoStart "multi-user.target";
+        path = [ pkgs.synergy ];
+        serviceConfig.ExecStart = ''${pkgs.synergy}/bin/synergys -c ${cfgS.configFile} -f ${optionalString (cfgS.address != "") "-a ${cfgS.address}"} ${optionalString (cfgS.screenName != "") "-n ${cfgS.screenName}" }'';
+      };
+    })
+  ];
 
 }
 
diff --git a/nixos/modules/services/misc/uhub.nix b/nixos/modules/services/misc/uhub.nix
new file mode 100644
index 00000000000..15071202b9c
--- /dev/null
+++ b/nixos/modules/services/misc/uhub.nix
@@ -0,0 +1,186 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.uhub;
+
+  uhubPkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; };
+
+  pluginConfig = ""
+  + optionalString cfg.plugins.authSqlite.enable ''
+    plugin ${uhubPkg.mod_auth_sqlite}/mod_auth_sqlite.so "file=${cfg.plugins.authSqlite.file}"
+  ''
+  + optionalString cfg.plugins.logging.enable ''
+    plugin ${uhubPkg.mod_logging}/mod_logging.so ${if cfg.plugins.logging.syslog then "syslog=true" else "file=${cfg.plugins.logging.file}"}
+  ''
+  + optionalString cfg.plugins.welcome.enable ''
+    plugin ${uhubPkg.mod_welcome}/mod_welcome.so "motd=${pkgs.writeText "motd.txt"  cfg.plugins.welcome.motd} rules=${pkgs.writeText "rules.txt" cfg.plugins.welcome.rules}"
+  ''
+  + optionalString cfg.plugins.history.enable ''
+    plugin ${uhubPkg.mod_chat_history}/mod_chat_history.so "history_max=${toString cfg.plugins.history.max} history_default=${toString cfg.plugins.history.default} history_connect=${toString cfg.plugins.history.connect}"
+  '';
+
+  uhubConfigFile = pkgs.writeText "uhub.conf" ''
+    file_acl=${pkgs.writeText "users.conf" cfg.aclConfig}
+    file_plugins=${pkgs.writeText "plugins.conf" pluginConfig}
+    server_bind_addr=${cfg.address}
+    server_port=${toString cfg.port}
+    ${lib.optionalString cfg.enableTLS "tls_enable=yes"}
+    ${cfg.hubConfig}
+  '';
+
+in
+
+{
+  options = {
+
+    services.uhub = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+	description = "Whether to enable the uhub ADC hub.";
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 1511;
+	description = "TCP port to bind the hub to.";
+      };
+
+      address = mkOption {
+        type = types.string;
+        default = "any";
+	description = "Address to bind the hub to.";
+      };
+
+      enableTLS = mkOption {
+        type = types.bool;
+        default = false;
+	description = "Whether to enable TLS support.";
+      };
+
+      hubConfig = mkOption {
+        type = types.lines;
+        default = "";
+	description = "Contents of uhub configuration file.";
+      };
+
+      aclConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Contents of user ACL configuration file.";
+      };
+
+      plugins = {
+
+        authSqlite = {
+	  enable = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Whether to enable the Sqlite authentication database plugin";
+	  };
+          file = mkOption {
+            type = types.string;
+            example = "/var/db/uhub-users";
+            description = "Path to user database. Use the uhub-passwd utility to create the database and add/remove users.";
+          };
+        };
+
+        logging = {
+          enable = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Whether to enable the logging plugin.";
+          };
+          file = mkOption {
+            type = types.string;
+            default = "";
+            description = "Path of log file.";
+          };
+          syslog = mkOption {
+            type = types.bool;
+            default = false;
+            description = "If true then the system log is used instead of writing to file.";
+          };
+        };
+
+        welcome = {
+          enable = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Whether to enable the welcome plugin.";
+          };
+          motd = mkOption {
+            default = "";
+            type = types.lines;
+            description = ''
+              Welcome message displayed to clients after connecting 
+              and with the <literal>!motd</literal> command.
+            '';
+          };
+          rules = mkOption {
+            default = "";
+            type = types.lines;
+            description = ''
+              Rules message, displayed to clients with the <literal>!rules</literal> command.
+            '';
+          };
+        };
+
+        history = {
+          enable = mkOption {
+            type = types.bool;
+            default = false;
+            description = "Whether to enable the history plugin.";
+          };
+          max = mkOption {
+            type = types.int;
+            default = 200;
+            description = "The maximum number of messages to keep in history";
+          };
+          default = mkOption {
+            type = types.int;
+            default = 10;
+            description = "When !history is provided without arguments, then this default number of messages are returned.";
+          };
+          connect = mkOption {
+            type = types.int;
+            default = 5;
+            description = "The number of chat history messages to send when users connect (0 = do not send any history).";
+          };
+        };
+
+      };
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    users = {
+      extraUsers = singleton {
+        name = "uhub";
+        uid = config.ids.uids.uhub;
+      };
+      extraGroups = singleton {
+        name = "uhub";
+        gid = config.ids.gids.uhub;
+      };
+    };
+
+    systemd.services.uhub = {
+      description = "high performance peer-to-peer hub for the ADC network";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "notify";
+        ExecStart  = "${uhubPkg}/bin/uhub -c ${uhubConfigFile} -u uhub -g uhub -L";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+    };
+  };
+
+}
\ No newline at end of file
diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix
index 47675b8876c..47675b8876c 100755..100644
--- a/nixos/modules/services/misc/zookeeper.nix
+++ b/nixos/modules/services/misc/zookeeper.nix
diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix
index 6cc0c122ec6..ffa7be7dd30 100644
--- a/nixos/modules/services/monitoring/apcupsd.nix
+++ b/nixos/modules/services/monitoring/apcupsd.nix
@@ -161,6 +161,7 @@ in
         # systemd kills it with SIGKILL.
         TimeoutStopSec = 5;
       };
+      unitConfig.Documentation = "man:apcupsd(8)";
     };
 
     # A special service to tell the UPS to power down/hibernate just before the
diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix
new file mode 100644
index 00000000000..7a53ce17454
--- /dev/null
+++ b/nixos/modules/services/monitoring/bosun.nix
@@ -0,0 +1,136 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.bosun;
+
+  configFile = pkgs.writeText "bosun.conf" ''
+    tsdbHost = ${cfg.opentsdbHost}
+    httpListen = ${cfg.listenAddress}
+    stateFile = ${cfg.stateFile}
+    checkFrequency = 5m
+
+    ${cfg.extraConfig}
+  '';
+
+in {
+
+  options = {
+
+    services.bosun = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run bosun.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        example = literalExample "pkgs.bosun";
+        description = ''
+          bosun binary to use.
+        '';
+      };
+
+      user = mkOption {
+        type = types.string;
+        default = "bosun";
+        description = ''
+          User account under which bosun runs.
+        '';
+      };
+
+      group = mkOption {
+        type = types.string;
+        default = "bosun";
+        description = ''
+          Group account under which bosun runs.
+        '';
+      };
+
+      opentsdbHost = mkOption {
+        type = types.string;
+        default = "localhost:4242";
+        description = ''
+          Host and port of the OpenTSDB database that stores bosun data.
+        '';
+      };
+
+      listenAddress = mkOption {
+        type = types.string;
+        default = ":8070";
+        description = ''
+          The host address and port that bosun's web interface will listen on.
+        '';
+      };
+
+      stateFile = mkOption {
+        type = types.string;
+        default = "/var/lib/bosun/bosun.state";
+        description = ''
+          Path to bosun's state file.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.string;
+        default = "";
+        description = ''
+          Extra configuration options for Bosun. You should describe your
+          desired templates, alerts, macros, etc through this configuration
+          option.
+
+          A detailed description of the supported syntax can be found at-spi2-atk
+          http://bosun.org/configuration.html
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+  
+    services.bosun.package = mkDefault pkgs.bosun; 
+
+    systemd.services.bosun = {
+      description = "bosun metrics collector (part of Bosun)";
+      wantedBy = [ "multi-user.target" ];
+
+      preStart =
+        ''
+        mkdir -p `dirname ${cfg.stateFile}`;
+        touch ${cfg.stateFile}
+        touch ${cfg.stateFile}.tmp
+
+        if [ "$(id -u)" = 0 ]; then
+          chown ${cfg.user}:${cfg.group} ${cfg.stateFile}
+          chown ${cfg.user}:${cfg.group} ${cfg.stateFile}.tmp
+        fi
+        '';
+
+      serviceConfig = {
+        PermissionsStartOnly = true;
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = ''
+          ${cfg.package}/bin/bosun -c ${configFile}
+        '';
+      };
+    };
+
+    users.extraUsers.bosun = {
+      description = "bosun user";
+      group = "bosun";
+      uid = config.ids.uids.bosun;
+    };
+
+    users.extraGroups.bosun.gid = config.ids.gids.bosun;
+
+  };
+
+}
diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix
new file mode 100644
index 00000000000..b6cf397f35c
--- /dev/null
+++ b/nixos/modules/services/monitoring/cadvisor.nix
@@ -0,0 +1,98 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.cadvisor;
+
+in {
+  options = {
+    services.cadvisor = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = "Whether to enable cadvisor service.";
+      };
+
+      host = mkOption {
+        default = "127.0.0.1";
+        type = types.str;
+        description = "Cadvisor listening host";
+      };
+
+      port = mkOption {
+        default = 8080;
+        type = types.int;
+        description = "Cadvisor listening port";
+      };
+
+      storageDriver = mkOption {
+        default = null;
+        type = types.nullOr types.str;
+        example = "influxdb";
+        description = "Cadvisor storage driver.";
+      };
+
+      storageDriverHost = mkOption {
+        default = "localhost:8086";
+        type = types.str;
+        description = "Cadvisor storage driver host.";
+      };
+
+      storageDriverDb = mkOption {
+        default = "root";
+        type = types.str;
+        description = "Cadvisord storage driver database name.";
+      };
+
+      storageDriverUser = mkOption {
+        default = "root";
+        type = types.str;
+        description = "Cadvisor storage driver username.";
+      };
+
+      storageDriverPassword = mkOption {
+        default = "root";
+        type = types.str;
+        description = "Cadvisor storage driver password.";
+      };
+
+      storageDriverSecure = mkOption {
+        default = false;
+        type = types.bool;
+        description = "Cadvisor storage driver, enable secure communication.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.cadvisor = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "docker.service" "influxdb.service" ];
+
+      postStart = mkBefore ''
+        until ${pkgs.curl}/bin/curl -s -o /dev/null 'http://${cfg.host}:${toString cfg.port}/containers/'; do
+          sleep 1;
+        done
+      '';
+
+      serviceConfig = {
+        ExecStart = ''${pkgs.cadvisor}/bin/cadvisor \
+          -logtostderr=true \
+          -listen_ip=${cfg.host} \
+          -port=${toString cfg.port} \
+          ${optionalString (cfg.storageDriver != null) ''
+            -storage_driver ${cfg.storageDriver} \
+            -storage_driver_user ${cfg.storageDriverHost} \
+            -storage_driver_db ${cfg.storageDriverDb} \
+            -storage_driver_user ${cfg.storageDriverUser} \
+            -storage_driver_password ${cfg.storageDriverPassword} \
+            ${optionalString cfg.storageDriverSecure "-storage_driver_secure"}
+          ''}
+        '';
+      };
+    };
+
+    virtualisation.docker.enable = mkDefault true;
+  };
+}
diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix
new file mode 100644
index 00000000000..717c2c48168
--- /dev/null
+++ b/nixos/modules/services/monitoring/collectd.nix
@@ -0,0 +1,116 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.collectd;
+
+  conf = pkgs.writeText "collectd.conf" ''
+    BaseDir "${cfg.dataDir}"
+    PIDFile "${cfg.pidFile}"
+    AutoLoadPlugin ${if cfg.autoLoadPlugin then "true" else "false"}
+    Hostname ${config.networking.hostName}
+
+    LoadPlugin syslog
+    <Plugin "syslog">
+      LogLevel "info"
+      NotifyLevel "OKAY"
+    </Plugin>
+
+    ${concatMapStrings (f: ''
+    Include "${f}"
+    '') cfg.include}
+
+    ${cfg.extraConfig}
+  '';
+
+in {
+  options.services.collectd = with types; {
+    enable = mkOption {
+      default = false;
+      description = ''
+        Whether to enable collectd agent.
+      '';
+      type = bool;
+    };
+
+    user = mkOption {
+      default = "collectd";
+      description = ''
+        User under which to run collectd.
+      '';
+      type = nullOr str;
+    };
+
+    dataDir = mkOption {
+      default = "/var/lib/collectd";
+      description = ''
+        Data directory for collectd agent.
+      '';
+      type = path;
+    };
+
+    pidFile = mkOption {
+      default = "/var/run/collectd.pid";
+      description = ''
+        Location of collectd pid file.
+      '';
+      type = path;
+    };
+
+    autoLoadPlugin = mkOption {
+      default = false;
+      description = ''
+        Enable plugin autoloading.
+      '';
+      type = bool;
+    };
+
+    include = mkOption {
+      default = [];
+      description = ''
+        Additional paths to load config from.
+      '';
+      type = listOf str;
+    };
+
+    extraConfig = mkOption {
+      default = "";
+      description = ''
+        Extra configuration for collectd.
+      '';
+      type = lines;
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.collectd = {
+      description = "Collectd Monitoring Agent";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        ExecStart = "${pkgs.collectd}/sbin/collectd -C ${conf} -P ${cfg.pidFile}";
+        Type = "forking";
+        PIDFile = cfg.pidFile;
+        User = optional (cfg.user!="root") cfg.user;
+        PermissionsStartOnly = true;
+      };
+
+      preStart = ''
+        mkdir -m 0700 -p ${cfg.dataDir}
+        install -D /dev/null ${cfg.pidFile}
+        if [ "$(id -u)" = 0 ]; then
+          chown -R ${cfg.user} ${cfg.dataDir};
+          chown ${cfg.user} ${cfg.pidFile}
+        fi
+      '';
+    }; 
+
+    users.extraUsers = optional (cfg.user == "collectd") {
+      name = "collectd";
+      uid = config.ids.uids.collectd;
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/dd-agent.nix b/nixos/modules/services/monitoring/dd-agent.nix
index deef64d6998..dc51a7c7486 100644
--- a/nixos/modules/services/monitoring/dd-agent.nix
+++ b/nixos/modules/services/monitoring/dd-agent.nix
@@ -140,6 +140,7 @@ in {
         Restart = "always";
         RestartSec = 2;
       };
+      environment.SSL_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt";
       restartTriggers = [ pkgs.dd-agent ddConf postgresqlConfig nginxConfig ];
     };
 
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index dbfe0ee182a..bbbbcbccb9b 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -8,6 +8,24 @@ let
 
   dataDir = cfg.dataDir;
 
+  graphiteApiConfig = pkgs.writeText "graphite-api.yaml" ''
+    time_zone: ${config.time.timeZone}
+    search_index: ${dataDir}/index
+    ${optionalString (cfg.api.finders != []) ''finders:''}
+    ${concatMapStringsSep "\n" (f: "  - " + f.moduleName) cfg.api.finders}
+    ${optionalString (cfg.api.functions != []) ''functions:''}
+    ${concatMapStringsSep "\n" (f: "  - " + f) cfg.api.functions}
+    ${cfg.api.extraConfig}
+  '';
+
+  seyrenConfig = {
+    SEYREN_URL = cfg.seyren.seyrenUrl;
+    MONGO_URL = cfg.seyren.mongoUrl;
+    GRAPHITE_URL = cfg.seyren.graphiteUrl;
+  } // cfg.seyren.extraConfig;
+
+  pagerConfig = pkgs.writeText "alarms.yaml" cfg.pager.alerts;
+
   configDir = pkgs.buildEnv {
     name = "graphite-config";
     paths = lists.filter (el: el != null) [
@@ -65,6 +83,80 @@ in {
       };
     };
 
+    api = {
+      enable = mkOption {
+        description = ''
+          Whether to enable graphite api. Graphite api is lightweight alternative
+          to graphite web, with api and without dashboard. It's advised to use
+          grafana as alternative dashboard and influxdb as alternative to
+          graphite carbon.
+
+          For more information visit
+          <link xlink:href="http://graphite-api.readthedocs.org/en/latest/"/>
+        '';
+        default = false;
+        type = types.uniq types.bool;
+      };
+
+      finders = mkOption {
+        description = "List of finder plugins to load.";
+        default = [];
+        example = [ pkgs.python27Packages.graphite_influxdb ];
+        type = types.listOf types.package;
+      };
+
+      functions = mkOption {
+        description = "List of functions to load.";
+        default = [
+          "graphite_api.functions.SeriesFunctions"
+          "graphite_api.functions.PieFunctions"
+        ];
+        type = types.listOf types.str;
+      };
+
+      host = mkOption {
+        description = "Graphite web service listen address.";
+        default = "127.0.0.1";
+        type = types.str;
+      };
+
+      port = mkOption {
+        description = "Graphite api service port.";
+        default = 8080;
+        type = types.int;
+      };
+
+      package = mkOption {
+        description = "Package to use for graphite api.";
+        default = pkgs.python27Packages.graphite_api;
+        type = types.package;
+      };
+
+      extraConfig = mkOption {
+        description = "Extra configuration for graphite api.";
+        default = ''
+          whisper:
+            directories:
+                - ${dataDir}/whisper
+        '';
+        example = literalExample ''
+          allowed_origins:
+            - dashboard.example.com
+          cheat_times: true
+          influxdb:
+            host: localhost
+            port: 8086
+            user: influxdb
+            pass: influxdb
+            db: metrics
+          cache:
+            CACHE_TYPE: 'filesystem'
+            CACHE_DIR: '/tmp/graphite-api-cache'
+        '';
+        type = types.str;
+      };
+    };
+
     carbon = {
       config = mkOption {
         description = "Content of carbon configuration file.";
@@ -172,122 +264,289 @@ in {
         '';
       };
     };
-  };
 
-  ###### implementation
+    seyren = {
+      enable = mkOption {
+        description = "Whether to enable seyren service.";
+        default = false;
+        type = types.uniq types.bool;
+      };
 
-  config = mkIf (cfg.carbon.enableAggregator || cfg.carbon.enableCache || cfg.carbon.enableRelay || cfg.web.enable) {
-    systemd.services.carbonCache = {
-      enable = cfg.carbon.enableCache;
-      description = "Graphite Data Storage Backend";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network-interfaces.target" ];
-      environment = carbonEnv;
-      serviceConfig = {
-        ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}";
-        User = "graphite";
-        Group = "graphite";
-        PermissionsStartOnly = true;
-      };
-      restartTriggers = [
-        pkgs.pythonPackages.carbon
-        configDir
-      ];
-      preStart = ''
-        mkdir -p ${cfg.dataDir}/whisper
-        chmod 0700 ${cfg.dataDir}/whisper
-        chown -R graphite:graphite ${cfg.dataDir}
-      '';
-    };
+      port = mkOption {
+        description = "Seyren listening port.";
+        default = 8081;
+        type = types.int;
+      };
 
-    systemd.services.carbonAggregator = {
-      enable = cfg.carbon.enableAggregator;
-      description = "Carbon Data Aggregator";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network-interfaces.target" ];
-      environment = carbonEnv;
-      serviceConfig = {
-        ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}";
-        User = "graphite";
-        Group = "graphite";
-      };
-      restartTriggers = [
-        pkgs.pythonPackages.carbon
-        configDir
-      ];
+      seyrenUrl = mkOption {
+        default = "http://localhost:${toString cfg.seyren.port}/";
+        description = "Host where seyren is accessible.";
+        type = types.str;
+      };
+
+      graphiteUrl = mkOption {
+        default = "http://${cfg.web.host}:${toString cfg.web.port}";
+        description = "Host where graphite service runs.";
+        type = types.str;
+      };
+
+      mongoUrl = mkOption {
+        default = "mongodb://${config.services.mongodb.bind_ip}:27017/seyren";
+        description = "Mongodb connection string.";
+        type = types.str;
+      };
+
+      extraConfig = mkOption {
+        default = {};
+        description = ''
+          Extra seyren configuration. See
+          <link xlink:href='https://github.com/scobal/seyren#config' />
+        '';
+        type = types.attrsOf types.str;
+        example = literalExample ''
+          {
+            GRAPHITE_USERNAME = "user";
+            GRAPHITE_PASSWORD = "pass";
+          }
+        '';
+      };
     };
 
-    systemd.services.carbonRelay = {
-      enable = cfg.carbon.enableRelay;
-      description = "Carbon Data Relay";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network-interfaces.target" ];
-      environment = carbonEnv;
-      serviceConfig = {
-        ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}";
-        User = "graphite";
-        Group = "graphite";
-      };
-      restartTriggers = [
-        pkgs.pythonPackages.carbon
-        configDir
-      ];
+    pager = {
+      enable = mkOption {
+        description = ''
+          Whether to enable graphite-pager service. For more information visit
+          <link xlink:href="https://github.com/seatgeek/graphite-pager"/>
+        '';
+        default = false;
+        type = types.uniq types.bool;
+      };
+
+      redisUrl = mkOption {
+        description = "Redis connection string.";
+        default = "redis://localhost:${toString config.services.redis.port}/";
+        type = types.str;
+      };
+
+      graphiteUrl = mkOption {
+        description = "URL to your graphite service.";
+        default = "http://${cfg.web.host}:${toString cfg.web.port}";
+        type = types.str;
+      };
+
+      alerts = mkOption {
+        description = "Alerts configuration for graphite-pager.";
+        default = ''
+          alerts:
+            - target: constantLine(100)
+              warning: 90
+              critical: 200
+              name: Test
+        '';
+        example = literalExample ''
+          pushbullet_key: pushbullet_api_key
+          alerts:
+            - target: stats.seatgeek.app.deal_quality.venue_info_cache.hit
+              warning: .5
+              critical: 1
+              name: Deal quality venue cache hits
+        '';
+        type = types.lines;
+      };
     };
+  };
 
-    systemd.services.graphiteWeb = {
-      enable = cfg.web.enable;
-      description = "Graphite Web Interface";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network-interfaces.target" ];
-      path = [ pkgs.perl ];
-      environment = {
-        PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
-        DJANGO_SETTINGS_MODULE = "graphite.settings";
-        GRAPHITE_CONF_DIR = "/etc/graphite/";
-        GRAPHITE_STORAGE_DIR = dataDir;
-      };
-      serviceConfig = {
-        ExecStart = ''
-          ${pkgs.python27Packages.waitress}/bin/waitress-serve \
-          --host=${cfg.web.host} --port=${toString cfg.web.port} \
-          --call django.core.handlers.wsgi:WSGIHandler'';
-        User = "graphite";
-        Group = "graphite";
-        PermissionsStartOnly = true;
-      };
-      preStart = ''
-        if ! test -e ${dataDir}/db-created; then
-          mkdir -p ${dataDir}/{whisper/,log/webapp/}
-          chmod 0700 ${dataDir}/{whisper/,log/webapp/}
-
-          # populate database
-          ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
-
-          # create index
-          ${pkgs.python27Packages.graphite_web}/bin/build-index.sh
-
-          touch ${dataDir}/db-created
+  ###### implementation
 
+  config = mkMerge [
+    (mkIf cfg.carbon.enableCache {
+      systemd.services.carbonCache = {
+        description = "Graphite Data Storage Backend";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" ];
+        environment = carbonEnv;
+        serviceConfig = {
+          ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}";
+          User = "graphite";
+          Group = "graphite";
+          PermissionsStartOnly = true;
+        };
+        preStart = ''
+          mkdir -p ${cfg.dataDir}/whisper
+          chmod 0700 ${cfg.dataDir}/whisper
           chown -R graphite:graphite ${cfg.dataDir}
-        fi
-      '';
-      restartTriggers = [
-        pkgs.python27Packages.graphite_web
+        '';
+      };
+    })
+
+    (mkIf cfg.carbon.enableAggregator {
+      systemd.services.carbonAggregator = {
+        enable = cfg.carbon.enableAggregator;
+        description = "Carbon Data Aggregator";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" ];
+        environment = carbonEnv;
+        serviceConfig = {
+          ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}";
+          User = "graphite";
+          Group = "graphite";
+        };
+      };
+    })
+
+    (mkIf cfg.carbon.enableRelay {
+      systemd.services.carbonRelay = {
+        description = "Carbon Data Relay";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" ];
+        environment = carbonEnv;
+        serviceConfig = {
+          ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}";
+          User = "graphite";
+          Group = "graphite";
+        };
+      };
+    })
+
+    (mkIf (cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay) {
+      environment.systemPackages = [
+        pkgs.pythonPackages.carbon
       ];
-    };
+    })
+
+    (mkIf cfg.web.enable {
+      systemd.services.graphiteWeb = {
+        description = "Graphite Web Interface";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" ];
+        path = [ pkgs.perl ];
+        environment = {
+          PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
+          DJANGO_SETTINGS_MODULE = "graphite.settings";
+          GRAPHITE_CONF_DIR = configDir;
+          GRAPHITE_STORAGE_DIR = dataDir;
+        };
+        serviceConfig = {
+          ExecStart = ''
+            ${pkgs.python27Packages.waitress}/bin/waitress-serve \
+            --host=${cfg.web.host} --port=${toString cfg.web.port} \
+            --call django.core.handlers.wsgi:WSGIHandler'';
+          User = "graphite";
+          Group = "graphite";
+          PermissionsStartOnly = true;
+        };
+        preStart = ''
+          if ! test -e ${dataDir}/db-created; then
+            mkdir -p ${dataDir}/{whisper/,log/webapp/}
+            chmod 0700 ${dataDir}/{whisper/,log/webapp/}
+
+            # populate database
+            ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
+
+            # create index
+            ${pkgs.python27Packages.graphite_web}/bin/build-index.sh
+
+            touch ${dataDir}/db-created
+
+            chown -R graphite:graphite ${cfg.dataDir}
+          fi
+        '';
+      };
 
-    environment.systemPackages = [
-      pkgs.pythonPackages.carbon
-      pkgs.python27Packages.graphite_web
-      pkgs.python27Packages.waitress
-    ];
+      environment.systemPackages = [ pkgs.python27Packages.graphite_web ];
+    })
+
+    (mkIf cfg.api.enable {
+      systemd.services.graphiteApi = {
+        description = "Graphite Api Interface";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" ];
+        environment = {
+          PYTHONPATH =
+            "${cfg.api.package}/lib/python2.7/site-packages:" +
+            concatMapStringsSep ":" (f: f + "/lib/python2.7/site-packages") cfg.api.finders;
+          GRAPHITE_API_CONFIG = graphiteApiConfig;
+          LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
+        };
+        serviceConfig = {
+          ExecStart = ''
+            ${pkgs.python27Packages.waitress}/bin/waitress-serve \
+            --host=${cfg.api.host} --port=${toString cfg.api.port} \
+            graphite_api.app:app
+          '';
+          User = "graphite";
+          Group = "graphite";
+          PermissionsStartOnly = true;
+        };
+        preStart = ''
+          if ! test -e ${dataDir}/db-created; then
+            mkdir -p ${dataDir}/cache/
+            chmod 0700 ${dataDir}/cache/
+
+            touch ${dataDir}/db-created
+
+            chown -R graphite:graphite ${cfg.dataDir}
+          fi
+        '';
+      };
+    })
+
+    (mkIf cfg.seyren.enable {
+      systemd.services.seyren = {
+        description = "Graphite Alerting Dashboard";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" "mongodb.service" ];
+        environment = seyrenConfig;
+        serviceConfig = {
+          ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}";
+          WorkingDirectory = dataDir;
+          User = "graphite";
+          Group = "graphite";
+        };
+        preStart = ''
+          if ! test -e ${dataDir}/db-created; then
+            mkdir -p ${dataDir}
+            chown -R graphite:graphite ${dataDir}
+          fi
+        '';
+      };
 
-    users.extraUsers = singleton {
-      name = "graphite";
-      uid = config.ids.uids.graphite;
-      description = "Graphite daemon user";
-      home = dataDir;
-    };
-    users.extraGroups.graphite.gid = config.ids.gids.graphite;
-  };
+      services.mongodb.enable = mkDefault true;
+    })
+
+    (mkIf cfg.pager.enable {
+      systemd.services.graphitePager = {
+        description = "Graphite Pager Alerting Daemon";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-interfaces.target" "redis.service" ];
+        environment = {
+          REDIS_URL = cfg.pager.redisUrl;
+          GRAPHITE_URL = cfg.pager.graphiteUrl;
+        };
+        serviceConfig = {
+          ExecStart = "${pkgs.pythonPackages.graphite_pager}/bin/graphite-pager --config ${pagerConfig}";
+          User = "graphite";
+          Group = "graphite";
+        };
+      };
+
+      services.redis.enable = mkDefault true;
+
+      environment.systemPackages = [ pkgs.pythonPackages.graphite_pager ];
+    })
+
+    (mkIf (
+      cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay ||
+      cfg.web.enable || cfg.api.enable ||
+      cfg.seyren.enable || cfg.pager.enable
+     ) {
+      users.extraUsers = singleton {
+        name = "graphite";
+        uid = config.ids.uids.graphite;
+        description = "Graphite daemon user";
+        home = dataDir;
+      };
+      users.extraGroups.graphite.gid = config.ids.gids.graphite;
+    })
+  ];
 }
diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix
index 21840bc67e8..31afa859e25 100644
--- a/nixos/modules/services/monitoring/munin.nix
+++ b/nixos/modules/services/monitoring/munin.nix
@@ -34,10 +34,10 @@ let
         cap=$(sed -nr 's/.*#%#\s+capabilities\s*=\s*(.+)/\1/p' $file)
 
         wrapProgram $file \
-          --set PATH "/run/current-system/sw/bin:/run/current-system/sw/sbin" \
+          --set PATH "/var/setuid-wrappers:/run/current-system/sw/bin:/run/current-system/sw/bin" \
           --set MUNIN_LIBDIR "${pkgs.munin}/lib" \
           --set MUNIN_PLUGSTATE "/var/run/munin"
- 
+
         # munin uses markers to tell munin-node-configure what a plugin can do
         echo "#%# family=$family" >> $file
         echo "#%# capabilities=$cap" >> $file
@@ -57,7 +57,7 @@ let
       rundir    /var/run/munin
 
       ${cronCfg.extraGlobalConfig}
-      
+
       ${cronCfg.hosts}
     '';
 
@@ -72,10 +72,10 @@ let
       group root
       host_name ${config.networking.hostName}
       setsid 0
-  
+
       # wrapped plugins by makeWrapper being with dots
       ignore_file ^\.
-      
+
       allow ^127\.0\.0\.1$
 
       ${nodeCfg.extraConfig}
@@ -97,7 +97,7 @@ in
           See <link xlink:href='http://munin-monitoring.org/wiki/munin-node.conf' />.
         '';
       };
-      
+
       extraConfig = mkOption {
         default = "";
         description = ''
@@ -118,7 +118,7 @@ in
           Enable munin-cron. Takes care of all heavy lifting to collect data from
           nodes and draws graphs to html. Runs munin-update, munin-limits,
           munin-graphs and munin-html in that order.
- 
+
           HTML output is in <filename>/var/www/munin/</filename>, configure your
           favourite webserver to serve static files.
         '';
@@ -138,7 +138,7 @@ in
           };
         '';
       };
-      
+
       extraGlobalConfig = mkOption {
         default = "";
         description = ''
@@ -160,7 +160,7 @@ in
           <link xlink:href='http://munin-monitoring.org/wiki/munin.conf' />
         '';
       };
- 
+
     };
 
   };
@@ -194,7 +194,7 @@ in
 
         mkdir -p /etc/munin/plugins
         rm -rf /etc/munin/plugins/*
-        PATH="/run/current-system/sw/bin:/run/current-system/sw/sbin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash
+        PATH="/var/setuid-wrappers:/run/current-system/sw/bin:/run/current-system/sw/bin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash
       '';
       serviceConfig = {
         ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/";
diff --git a/nixos/modules/services/monitoring/riemann-dash.nix b/nixos/modules/services/monitoring/riemann-dash.nix
index 148dc046805..523f74cb72b 100644
--- a/nixos/modules/services/monitoring/riemann-dash.nix
+++ b/nixos/modules/services/monitoring/riemann-dash.nix
@@ -15,7 +15,7 @@ let
 
   launcher = writeScriptBin "riemann-dash" ''
     #!/bin/sh
-    exec ${rubyLibs.riemann_dash}/bin/riemann-dash ${conf}
+    exec ${pkgs.riemann-dash}/bin/riemann-dash ${conf}
   '';
 
 in {
diff --git a/nixos/modules/services/monitoring/riemann.nix b/nixos/modules/services/monitoring/riemann.nix
index a1935c29a04..ac5d0134a80 100644
--- a/nixos/modules/services/monitoring/riemann.nix
+++ b/nixos/modules/services/monitoring/riemann.nix
@@ -11,11 +11,15 @@ let
     cfg.extraClasspathEntries ++ [ "${riemann}/share/java/riemann.jar" ]
   );
 
+  riemannConfig = concatStringsSep "\n" (
+    [cfg.config] ++ (map (f: ''(load-file "${f}")'') cfg.configFiles)
+  );
+
   launcher = writeScriptBin "riemann" ''
     #!/bin/sh
-    exec ${openjdk}/bin/java ${concatStringsSep "\n" cfg.extraJavaOpts} \
+    exec ${jdk}/bin/java ${concatStringsSep "\n" cfg.extraJavaOpts} \
       -cp ${classpath} \
-      riemann.bin ${writeText "riemann.config" cfg.config}
+      riemann.bin ${writeText "riemann-config.clj" riemannConfig}
   '';
 
 in {
@@ -36,6 +40,16 @@ in {
           Contents of the Riemann configuration file.
         '';
       };
+      configFiles = mkOption {
+        type = with types; listOf path;
+        default = [];
+        description = ''
+          Extra files containing Riemann configuration. These files will be
+          loaded at runtime by Riemann (with Clojure's
+          <literal>load-file</literal> function) at the end of the
+          configuration.
+        '';
+      };
       extraClasspathEntries = mkOption {
         type = with types; listOf str;
         default = [];
diff --git a/nixos/modules/services/monitoring/scollector.nix b/nixos/modules/services/monitoring/scollector.nix
new file mode 100644
index 00000000000..0143d2e327b
--- /dev/null
+++ b/nixos/modules/services/monitoring/scollector.nix
@@ -0,0 +1,125 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.scollector;
+
+  collectors = pkgs.runCommand "collectors" {}
+    ''
+    mkdir -p $out
+    ${lib.concatStringsSep
+        "\n"
+        (lib.mapAttrsToList
+          (frequency: binaries:
+            "mkdir -p $out/${frequency}\n" +
+            (lib.concatStringsSep
+              "\n"
+              (map (path: "ln -s ${path} $out/${frequency}/$(basename ${path})")
+                   binaries)))
+          cfg.collectors)}
+    '';
+
+  cmdLineOpts = concatStringsSep " " (
+    [ "-h=${cfg.bosunHost}" "-c=${collectors}" ] ++ cfg.extraOpts
+  );
+
+in {
+
+  options = {
+
+    services.scollector = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run scollector.
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.scollector;
+        example = literalExample "pkgs.scollector";
+        description = ''
+          scollector binary to use.
+        '';
+      };
+
+      user = mkOption {
+        type = types.string;
+        default = "scollector";
+        description = ''
+          User account under which scollector runs.
+        '';
+      };
+
+      group = mkOption {
+        type = types.string;
+        default = "scollector";
+        description = ''
+          Group account under which scollector runs.
+        '';
+      };
+
+      bosunHost = mkOption {
+        type = types.string;
+        default = "localhost:8070";
+        description = ''
+          Host and port of the bosun server that will store the collected
+          data.
+        '';
+      };
+
+      collectors = mkOption {
+        type = types.attrs;
+        default = {};
+        example = literalExample "{ 0 = [ \"\${postgresStats}/bin/collect-stats\" ]; }";
+        description = ''
+          An attribute set mapping the frequency of collection to a list of
+          binaries that should be executed at that frequency. You can use "0"
+          to run a binary forever.
+        '';
+      };
+
+      extraOpts = mkOption {
+        type = with types; listOf str;
+        default = [];
+        example = [ "-d" ];
+        description = ''
+          Extra scollector command line options
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf config.services.scollector.enable {
+
+    systemd.services.scollector = {
+      description = "scollector metrics collector (part of Bosun)";
+      wantedBy = [ "multi-user.target" ];
+
+      path = [ pkgs.coreutils pkgs.iproute ];
+
+      serviceConfig = {
+        PermissionsStartOnly = true;
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = "${cfg.package}/bin/scollector ${cmdLineOpts}";
+      };
+    };
+
+    users.extraUsers.scollector = {
+      description = "scollector user";
+      group = "scollector";
+      uid = config.ids.uids.scollector;
+    };
+
+    users.extraGroups.scollector.gid = config.ids.gids.scollector;
+
+  };
+
+}
diff --git a/nixos/modules/services/monitoring/statsd.nix b/nixos/modules/services/monitoring/statsd.nix
index 74f3deb4c29..7d7ca27bb2f 100644
--- a/nixos/modules/services/monitoring/statsd.nix
+++ b/nixos/modules/services/monitoring/statsd.nix
@@ -8,13 +8,20 @@ let
 
   configFile = pkgs.writeText "statsd.conf" ''
     {
-      host: "${cfg.host}",
+      address: "${cfg.host}",
       port: "${toString cfg.port}",
       mgmt_address: "${cfg.mgmt_address}",
       mgmt_port: "${toString cfg.mgmt_port}",
-      backends: [${concatMapStrings (el: ''"./backends/${el}",'') cfg.backends}],
-      graphiteHost: "${cfg.graphiteHost}",
-      graphitePort: "${toString cfg.graphitePort}",
+      backends: [${concatMapStringsSep "," (el: if (nixType el) == "string" then ''"./backends/${el}"'' else ''"${head el.names}"'') cfg.backends}],
+      ${optionalString (cfg.graphiteHost!=null) ''graphiteHost: "${cfg.graphiteHost}",''}
+      ${optionalString (cfg.graphitePort!=null) ''graphitePort: "${toString cfg.graphitePort}",''}
+      console: {
+        prettyprint: false
+      },
+      log: {
+        backend: "syslog"
+      },
+      automaticConfigReload: false${optionalString (cfg.extraConfig != null) ","}
       ${cfg.extraConfig}
     }
   '';
@@ -46,7 +53,7 @@ in
     };
 
     mgmt_address = mkOption {
-      description = "Address to run managment TCP interface on";
+      description = "Address to run management TCP interface on";
       default = "127.0.0.1";
       type = types.str;
     };
@@ -58,26 +65,28 @@ in
     };
 
     backends = mkOption {
-      description = "List of backends statsd will use for data persistance";
+      description = "List of backends statsd will use for data persistence";
       default = ["graphite"];
+      example = ["graphite" pkgs.nodePackages."statsd-influxdb-backend"];
+      type = types.listOf (types.either types.str types.package);
     };
 
     graphiteHost = mkOption {
       description = "Hostname or IP of Graphite server";
-      default = config.services.graphite.web.host;
-      type = types.str;
+      default = null;
+      type = types.nullOr types.str;
     };
 
     graphitePort = mkOption {
       description = "Port of Graphite server (i.e. carbon-cache).";
-      default = 2003;
-      type = types.uniq types.int;
+      default = null;
+      type = types.nullOr types.int;
     };
 
     extraConfig = mkOption {
-      default = "";
       description = "Extra configuration options for statsd";
-      type = types.str;
+      default = "";
+      type = types.nullOr types.str;
     };
 
   };
@@ -95,6 +104,9 @@ in
     systemd.services.statsd = {
       description = "Statsd Server";
       wantedBy = [ "multi-user.target" ];
+      environment = {
+        NODE_PATH=concatMapStringsSep ":" (el: "${el}/lib/node_modules") (filter (el: (nixType el) != "string") cfg.backends);
+      };
       serviceConfig = {
         ExecStart = "${pkgs.nodePackages.statsd}/bin/statsd ${configFile}";
         User = "statsd";
diff --git a/nixos/modules/services/monitoring/teamviewer.nix b/nixos/modules/services/monitoring/teamviewer.nix
new file mode 100644
index 00000000000..beba5dcd1b0
--- /dev/null
+++ b/nixos/modules/services/monitoring/teamviewer.nix
@@ -0,0 +1,45 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.teamviewer;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.teamviewer.enable = mkEnableOption "teamviewer daemon";
+      
+  };
+
+  ###### implementation
+
+  config = mkIf (cfg.enable) {
+
+    environment.systemPackages = [ pkgs.teamviewer ];
+
+    systemd.services.teamviewerd = {
+      description = "TeamViewer remote control daemon";
+
+      wantedBy = [ "graphical.target" ];
+      after = [ "NetworkManager-wait-online.service" "network.target" ];
+
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -d";
+        PIDFile = "/run/teamviewerd.pid";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        Restart = "on-abort";
+        StartLimitInterval = "60";
+        StartLimitBurst = "10";
+      };
+    };
+  };
+
+}
diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix
index ca283ea2a99..acd1279ddf4 100644
--- a/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixos/modules/services/monitoring/zabbix-server.nix
@@ -32,6 +32,8 @@ let
       ${optionalString (cfg.dbPassword != "") ''
         DBPassword = ${cfg.dbPassword}
       ''}
+
+      ${config.services.zabbixServer.extraConfig}
     '';
 
   useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == "";
@@ -46,6 +48,7 @@ in
 
     services.zabbixServer.enable = mkOption {
       default = false;
+      type = types.bool;
       description = ''
         Whether to run the Zabbix server on this machine.
       '';
@@ -53,6 +56,7 @@ in
 
     services.zabbixServer.dbServer = mkOption {
       default = "localhost";
+      type = types.str;
       description = ''
         Hostname or IP address of the database server.
         Use an empty string ("") to use peer authentication.
@@ -61,9 +65,18 @@ in
 
     services.zabbixServer.dbPassword = mkOption {
       default = "";
+      type = types.str;
       description = "Password used to connect to the database server.";
     };
 
+    services.zabbixServer.extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      description = ''
+        Configuration that is injected verbatim into the configuration file.
+      '';
+    };
+
   };
 
   ###### implementation
diff --git a/nixos/modules/services/network-filesystems/diod.nix b/nixos/modules/services/network-filesystems/diod.nix
new file mode 100644
index 00000000000..7de7acaa4a0
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/diod.nix
@@ -0,0 +1,160 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.diod;
+
+  diodBool = b: if b then "1" else "0";
+
+  diodConfig = pkgs.writeText "diod.conf" ''
+    allsquash = ${diodBool cfg.allsquash}
+    auth_required = ${diodBool cfg.authRequired}
+    exportall = ${diodBool cfg.exportall}
+    exportopts = "${concatStringsSep "," cfg.exportopts}"
+    exports = { ${concatStringsSep ", " (map (s: ''"${s}"'' ) cfg.exports)} }
+    listen = { ${concatStringsSep ", " (map (s: ''"${s}"'' ) cfg.listen)} }
+    logdest = "${cfg.logdest}"
+    nwthreads = ${toString cfg.nwthreads}
+    squashuser = "${cfg.squashuser}"
+    statfs_passthru = ${diodBool cfg.statfsPassthru}
+    userdb = ${diodBool cfg.userdb}
+    ${cfg.extraConfig}
+  '';
+in
+{
+  options = {
+    services.diod = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable the diod 9P file server.";
+      };
+
+      listen = mkOption {
+        type = types.listOf types.str;
+        default = [ "0.0.0.0:564" ];
+        description = ''
+          [ "IP:PORT" [,"IP:PORT",...] ]
+          List the interfaces and ports that diod should listen on.
+        '';
+      };
+
+      exports = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          List the file systems that clients will be allowed to mount. All paths should
+          be fully qualified. The exports table can include two types of element:
+          a string element (as above),
+          or an alternate table element form { path="/path", opts="ro" }.
+          In the alternate form, the (optional) opts attribute is a comma-separated list
+          of export options. The two table element forms can be mixed in the exports
+          table. Note that although diod will not traverse file system boundaries for a
+          given mount due to inode uniqueness constraints, subdirectories of a file
+          system can be separately exported.
+        '';
+      };
+
+      exportall = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Export all file systems listed in /proc/mounts. If new file systems are mounted
+          after diod has started, they will become immediately mountable. If there is a
+          duplicate entry for a file system in the exports list, any options listed in
+          the exports entry will apply.
+        '';
+      };
+
+      exportopts = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Establish a default set of export options. These are overridden, not appended
+          to, by opts attributes in an "exports" entry.
+        '';
+      };
+
+      nwthreads = mkOption {
+        type = types.int;
+        default = 16;
+        description = ''
+          Sets the (fixed) number of worker threads created to handle 9P
+          requests for a unique aname.
+        '';
+      };
+
+      authRequired = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Allow clients to connect without authentication, i.e. without a valid MUNGE credential.
+        '';
+      };
+
+      userdb = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          This option disables password/group lookups. It allows any uid to attach and
+          assumes gid=uid, and supplementary groups contain only the primary gid.
+        '';
+      };
+
+      allsquash = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Remap all users to "nobody". The attaching user need not be present in the
+          password file.
+        '';
+      };
+
+      squashuser = mkOption {
+        type = types.str;
+        default = "nobody";
+        description = ''
+          Change the squash user. The squash user must be present in the password file.
+        '';
+      };
+
+      logdest = mkOption {
+        type = types.str;
+        default = "syslog:daemon:err";
+        description = ''
+          Set the destination for logging.
+          The value has the form of "syslog:facility:level" or "filename".
+        '';
+      };
+
+
+      statfsPassthru = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          This option configures statfs to return the host file system's type
+          rather than V9FS_MAGIC.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Extra configuration options for diod.conf.";
+      };
+    };
+  };
+
+  config = mkIf config.services.diod.enable {
+    environment.systemPackages = [ pkgs.diod ];
+
+    systemd.services.diod = {
+      description = "diod 9P file server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.diod}/sbin/diod -f -c ${diodConfig}";
+        Capabilities = "cap_net_bind_service+=ep";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/network-filesystems/drbd.nix b/nixos/modules/services/network-filesystems/drbd.nix
index b914724abfe..1bd67206444 100644
--- a/nixos/modules/services/network-filesystems/drbd.nix
+++ b/nixos/modules/services/network-filesystems/drbd.nix
@@ -44,7 +44,7 @@ let cfg = config.services.drbd; in
 
     boot.extraModprobeConfig =
       ''
-        options drbd usermode_helper=/run/current-system/sw/sbin/drbdadm
+        options drbd usermode_helper=/run/current-system/sw/bin/drbdadm
       '';
 
     environment.etc = singleton
diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix
index 2217fec3b0f..33b7ec3d9f1 100644
--- a/nixos/modules/services/network-filesystems/nfsd.nix
+++ b/nixos/modules/services/network-filesystems/nfsd.nix
@@ -56,6 +56,21 @@ in
           default = false;
           description = "Whether to create the mount points in the exports file at startup time.";
         };
+
+        mountdPort = mkOption {
+          default = null;
+          example = 4002;
+          description = ''
+            Use fixed port for rpc.mountd, useful if server is behind firewall.
+          '';
+        };
+
+        lockdPort = mkOption {
+          default = 0;
+          description = ''
+            Fix the lockd port number. This can help setting firewall rules for NFS.
+          '';
+        };
       };
 
     };
@@ -71,7 +86,7 @@ in
 
     boot.supportedFilesystems = [ "nfs" ]; # needed for statd and idmapd
 
-    environment.systemPackages = [ pkgs.nfsUtils ];
+    environment.systemPackages = [ pkgs.nfs-utils ];
 
     environment.etc = singleton
       { source = exports;
@@ -89,13 +104,16 @@ in
         after = [ "rpcbind.service" "mountd.service" "idmapd.service" ];
         before = [ "statd.service" ];
 
-        path = [ pkgs.nfsUtils ];
+        path = [ pkgs.nfs-utils ];
 
         script =
           ''
             # Create a state directory required by NFSv4.
             mkdir -p /var/lib/nfs/v4recovery
 
+            ${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_tcpport=${builtins.toString cfg.lockdPort}
+            ${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_udpport=${builtins.toString cfg.lockdPort}
+
             rpc.nfsd \
               ${if cfg.hostName != null then "-H ${cfg.hostName}" else ""} \
               ${builtins.toString cfg.nproc}
@@ -113,7 +131,7 @@ in
         requires = [ "rpcbind.service" ];
         after = [ "rpcbind.service" ];
 
-        path = [ pkgs.nfsUtils pkgs.sysvtools pkgs.utillinux ];
+        path = [ pkgs.nfs-utils pkgs.sysvtools pkgs.utillinux ];
 
         preStart =
           ''
@@ -138,7 +156,10 @@ in
         restartTriggers = [ exports ];
 
         serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = "@${pkgs.nfsUtils}/sbin/rpc.mountd rpc.mountd";
+        serviceConfig.ExecStart = ''
+          @${pkgs.nfs-utils}/sbin/rpc.mountd rpc.mountd \
+              ${if cfg.mountdPort != null then "-p ${toString cfg.mountdPort}" else ""}
+        '';
         serviceConfig.Restart = "always";
       };
 
diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix
index 19aa7efd2ff..2018bfa14a5 100644
--- a/nixos/modules/services/network-filesystems/rsyncd.nix
+++ b/nixos/modules/services/network-filesystems/rsyncd.nix
@@ -6,113 +6,84 @@ let
 
   cfg = config.services.rsyncd;
 
-  motdFile = pkgs.writeText "rsyncd-motd" cfg.motd;
-
-  rsyncdCfg = ""
-    + optionalString (cfg.motd != "") "motd file = ${motdFile}\n"
-    + optionalString (cfg.address != "") "address = ${cfg.address}\n"
-    + optionalString (cfg.port != 873) "port = ${toString cfg.port}\n"
-    + cfg.extraConfig
-    + "\n"
-    + flip concatMapStrings cfg.modules (m: "[${m.name}]\n\tpath = ${m.path}\n"
-      + optionalString (m.comment != "") "\tcomment = ${m.comment}\n"
-      + m.extraConfig
-      + "\n"
-    );
-
-  rsyncdCfgFile = pkgs.writeText "rsyncd.conf" rsyncdCfg;
-
+  motdFile = builtins.toFile "rsyncd-motd" cfg.motd;
+
+  moduleConfig = name:
+    let module = getAttr name cfg.modules; in
+    "[${name}]\n " + (toString (
+       map
+         (key: "${key} = ${toString (getAttr key module)}\n")
+         (attrNames module)
+    ));
+
+  cfgFile = builtins.toFile "rsyncd.conf"
+    ''
+    ${optionalString (cfg.motd != "") "motd file = ${motdFile}"}
+    ${optionalString (cfg.address != "") "address = ${cfg.address}"}
+    ${optionalString (cfg.port != 873) "port = ${toString cfg.port}"}
+    ${cfg.extraConfig}
+    ${toString (map moduleConfig (attrNames cfg.modules))}
+    '';
 in
 
 {
   options = {
-
     services.rsyncd = {
 
       enable = mkOption {
         default = false;
-	description = "Whether to enable the rsync daemon.";
+        description = "Whether to enable the rsync daemon.";
       };
 
       motd = mkOption {
         type = types.string;
         default = "";
-	description = ''
-	  Message of the day to display to clients on each connect.
-	  This usually contains site information and any legal notices.
-	'';
+        description = ''
+          Message of the day to display to clients on each connect.
+          This usually contains site information and any legal notices.
+        '';
       };
 
       port = mkOption {
         default = 873;
-	type = types.int;
-	description = "TCP port the daemon will listen on.";
+        type = types.int;
+        description = "TCP port the daemon will listen on.";
       };
 
       address = mkOption {
         default = "";
-	example = "192.168.1.2";
-	description = ''
-	  IP address the daemon will listen on; rsyncd will listen on
-	  all addresses if this is not specified.
-	'';
+        example = "192.168.1.2";
+        description = ''
+          IP address the daemon will listen on; rsyncd will listen on
+          all addresses if this is not specified.
+        '';
       };
 
       extraConfig = mkOption {
         type = types.lines;
-	default = "";
-	description = ''
-	  Lines of configuration to add to rsyncd globally.
-	  See <literal>man rsyncd.conf</literal> for more options.
-	'';
+        default = "";
+        description = ''
+            Lines of configuration to add to rsyncd globally.
+            See <command>man rsyncd.conf</command> for options.
+          '';
       };
 
       modules = mkOption {
-        default = [ ];
-	example = [ 
-	  { name = "ftp"; 
-	    path = "/home/ftp"; 
-	    comment = "ftp export area";
-	    extraConfig = ''
-	      secrets file = /etc/rsyncd.secrets
-	    '';
-	  }
-	];
-	description = "The list of file paths to export.";
-	type = types.listOf types.optionSet;
-
-	options = {
-
-	  name = mkOption {
-	    example = "ftp";
-	    type = types.string;
-	    description = "Name of export module.";
-	  };
-
-	  comment = mkOption {
-	    default = "";
-	    description = ''
-	      Description string that is displayed next to the module name
-	      when clients obtain a list of available modules.
-	    '';
-	  };
-
-	  path = mkOption {
-	    example = "/home/ftp";
-	    type = types.string;
-	    description = "Directory to make available in this module.";
-   	  };
-
-          extraConfig = mkOption {
-            type = types.lines;
-	    default = "";
-            description = ''
-	      Lines of configuration to add to this module.
-	      See <literal>man rsyncd.conf</literal> for more options.
-	    '';
+        default = {};
+        description = ''
+            A set describing exported directories.
+            See <command>man rsyncd.conf</command> for options.
+          '';
+        type = types.attrsOf (types.attrsOf types.str);
+        example =
+          { srv =
+             { path = "/srv";
+               "read only" = "yes";
+               comment = "Public rsync share.";
+             };
           };
-	};
       };
+
     };
   };
 
@@ -120,20 +91,16 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.etc = singleton
-    { source = rsyncdCfgFile;
+    environment.etc = singleton {
+      source = cfgFile;
       target = "rsyncd.conf";
     };
 
     systemd.services.rsyncd = {
       description = "Rsync daemon";
       wantedBy = [ "multi-user.target" ];
-
-      path = [ pkgs.rsync ];
-
       serviceConfig.ExecStart = "${pkgs.rsync}/bin/rsync --daemon --no-detach";
     };
 
-    networking.firewall.allowedTCPPorts = [ cfg.port ];
   };
 }
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index 4218b965cd9..d6babb8e9a5 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -6,52 +6,34 @@ let
 
   cfg = config.services.samba;
 
-  user = "smbguest";
-  group = "smbguest";
-
-  logDir = "/var/log/samba";
-  privateDir = "/var/samba/private";
-
-  inherit (pkgs) samba;
+  samba = cfg.package;
 
   setupScript =
     ''
-      if ! test -d /home/smbd ; then
-        mkdir -p /home/smbd
-        chown ${user} /home/smbd
-        chmod a+rwx /home/smbd
-      fi
-
-      if ! test -d /var/samba ; then
-        mkdir -p /var/samba/locks /var/samba/cores/nmbd  /var/samba/cores/smbd /var/samba/cores/winbindd
-      fi
-
-      passwdFile="$(${pkgs.gnused}/bin/sed -n 's/^.*smb[ ]\+passwd[ ]\+file[ ]\+=[ ]\+\(.*\)/\1/p' ${configFile})"
-      if [ -n "$passwdFile" ]; then
-        echo 'INFO: [samba] creating directory containing passwd file'
-        mkdir -p "$(dirname "$passwdFile")"
-      fi
-
-      mkdir -p ${logDir}
-      mkdir -p ${privateDir}
+      mkdir -p /var/lock/samba /var/log/samba /var/cache/samba /var/lib/samba/private
     '';
 
+  shareConfig = name:
+    let share = getAttr name cfg.shares; in
+    "[${name}]\n " + (toString (
+       map
+         (key: "${key} = ${toString (getAttr key share)}\n")
+         (attrNames share)
+    ));
+
   configFile = pkgs.writeText "smb.conf"
+    (if cfg.configText != null then cfg.configText else
     ''
       [ global ]
-      log file = ${logDir}/log.%m
-      private dir = ${privateDir}
-      ${optionalString cfg.syncPasswordsByPam "pam password change = true"}
-
-      ${if cfg.defaultShare.enable then ''
-      [default]
-      path = /home/smbd
-      read only = ${if cfg.defaultShare.writeable then "no" else "yes"}
-      guest ok = ${if cfg.defaultShare.guest then "yes" else "no"}
-      ''else ""}
+      security = ${cfg.securityType}
+      passwd program = /var/setuid-wrappers/passwd %u
+      pam password change = ${if cfg.syncPasswordsByPam then "yes" else "no"}
+      invalid users = ${toString cfg.invalidUsers}
 
       ${cfg.extraConfig}
-    '';
+
+      ${toString (map shareConfig (attrNames cfg.shares))}
+    '');
 
   # This may include nss_ldap, needed for samba if it has to use ldap.
   nssModulesPath = config.system.nssModules.path;
@@ -88,86 +70,65 @@ in
     services.samba = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
-        description = "
+        description = ''
           Whether to enable Samba, which provides file and print
           services to Windows clients through the SMB/CIFS protocol.
-        ";
+        '';
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.samba;
+        example = pkgs.samba4;
+        description = ''
+          Defines which package should be used for the samba server.
+        '';
       };
 
       syncPasswordsByPam = mkOption {
+        type = types.bool;
         default = false;
-        description = "
-          enabling this will add a line directly after pam_unix.so.
+        description = ''
+          Enabling this will add a line directly after pam_unix.so.
           Whenever a password is changed the samba password will be updated as well.
           However you still yave to add the samba password once using smbpasswd -a user
           If you don't want to maintain an extra pwd database you still can send plain text
           passwords which is not secure.
-        ";
+        '';
       };
 
-      extraConfig = mkOption {
-        # !!! Bad default.
-        default = ''
-          # [global] continuing global section here, section is started by nix to set pids etc
-
-            smb passwd file = /etc/samba/passwd
-
-            # is this useful ?
-            domain master = auto
-
-            encrypt passwords = Yes
-            client plaintext auth = No
-
-            # yes: if you use this you probably also want to enable syncPasswordsByPam
-            # no: You can still use the pam password database. However
-            # passwords will be sent plain text on network (discouraged)
-
-            workgroup = Users
-            server string = %h
-            comment = Samba
-            log file = /var/log/samba/log.%m
-            log level = 10
-            max log size = 50000
-            security = ${cfg.securityType}
-
-            client lanman auth = Yes
-            dns proxy = no
-            invalid users = root
-            passdb backend = tdbsam
-            passwd program = /usr/bin/passwd %u
+      invalidUsers = mkOption {
+        type = types.listOf types.str;
+        default = [ "root" ];
+        description = ''
+          List of users who are denied to login via Samba.
         '';
-
-        description = "
-          additional global section and extra section lines go in here.
-        ";
       };
 
-      configFile = mkOption {
-        description = "
-          internal use to pass filepath to samba pam module
-        ";
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Additional global section and extra section lines go in here.
+        '';
       };
 
-      defaultShare = {
-        enable = mkOption {
-          description = "Whether to share /home/smbd as 'default'.";
-          default = false;
-        };
-        writeable = mkOption {
-          description = "Whether to allow write access to default share.";
-          default = false;
-        };
-        guest = mkOption {
-          description = "Whether to allow guest access to default share.";
-          default = true;
-        };
+      configText = mkOption {
+        type = types.nullOr types.lines;
+        default = null;
+        description = ''
+          Verbatim contents of smb.conf. If null (default), use the
+          autogenerated file from NixOS instead.
+        '';
       };
 
       securityType = mkOption {
-        description = "Samba security type";
+        type = types.str;
         default = "user";
         example = "share";
+        description = "Samba security type";
       };
 
       nsswins = mkOption {
@@ -180,6 +141,22 @@ in
         '';
       };
 
+      shares = mkOption {
+        default = {};
+        description = ''
+          A set describing shared resources.
+          See <command>man smb.conf</command> for options.
+        '';
+        type = types.attrsOf (types.attrsOf types.unspecified);
+        example =
+          { srv =
+             { path = "/srv";
+               "read only" = "yes";
+                comment = "Public samba share.";
+             };
+          };
+      };
+
     };
 
   };
@@ -199,14 +176,6 @@ in
 
       (mkIf config.services.samba.enable {
 
-        users.extraUsers.smbguest = {
-          description = "Samba service user";
-          group = group;
-          uid = config.ids.uids.smbguest;
-        };
-
-        users.extraGroups.smbguest.gid = config.ids.uids.smbguest;
-
         system.nssModules = optional cfg.nsswins samba;
 
         systemd = {
@@ -224,7 +193,7 @@ in
             "samba-setup" = {
               description = "Samba Setup Task";
               script = setupScript;
-              unitConfig.RequiresMountsFor = "/home/smbd /var/samba /var/log/samba";
+              unitConfig.RequiresMountsFor = "/var/samba /var/log/samba";
             };
           };
         };
diff --git a/nixos/modules/services/network-filesystems/u9fs.nix b/nixos/modules/services/network-filesystems/u9fs.nix
new file mode 100644
index 00000000000..64809727464
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/u9fs.nix
@@ -0,0 +1,75 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.u9fs;
+in
+{
+
+  options = {
+
+    services.u9fs = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to run the u9fs 9P server for Unix.";
+      };
+
+      listenStreams = mkOption {
+        type = types.listOf types.str;
+        default = [ "564" ];
+        example = [ "192.168.16.1:564" ];
+        description = ''
+          Sockets to listen for clients on.
+          See <command>man 5 systemd.socket</command> for socket syntax.
+        '';
+      };
+
+      extraArgs = mkOption {
+        type = types.str;
+        default = "";
+        example = "-a none -u nobody";
+        description =
+          ''
+            Extra arguments to pass on invocation,
+            see <command>man 4 u9fs</command>
+          '';
+      };
+
+      fsroot = mkOption {
+        type = types.path;
+        default = "/";
+        example = "/srv";
+        description = "File system root to serve to clients.";
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd = {
+      sockets.u9fs = {
+        description = "U9fs Listening Socket";
+        wantedBy = [ "sockets.target" ];
+        inherit (cfg) listenStreams;
+        socketConfig.Accept = "yes";
+      };
+      services."u9fs@" = {
+        description = "9P Protocol Server";
+        reloadIfChanged = true;
+        requires = [ "u9fs.socket" ];
+        serviceConfig =
+          { ExecStart = "-${pkgs.u9fs}/bin/u9fs ${cfg.extraArgs} ${cfg.fsroot}";
+            StandardInput = "socket";
+            StandardError = "journal";
+          };
+      };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix
new file mode 100644
index 00000000000..982b6ca5ea7
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/yandex-disk.nix
@@ -0,0 +1,104 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.yandex-disk;
+
+  dir = "/var/lib/yandex-disk";
+
+  u = if cfg.user != null then cfg.user else "yandexdisk";
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.yandex-disk = {
+
+      enable = mkOption {
+        default = false;
+        description = "
+          Whether to enable Yandex-disk client. See https://disk.yandex.ru/
+        ";
+      };
+
+      username = mkOption {
+        default = "";
+        type = types.string;
+        description = ''
+          Your yandex.com login name.
+        '';
+      };
+
+      password = mkOption {
+        default = "";
+        type = types.string;
+        description = ''
+          Your yandex.com password. Warning: it will be world-readable in /nix/store.
+        '';
+      };
+
+      user = mkOption {
+        default = null;
+        description = ''
+          The user the yandex-disk daemon should run as.
+        '';
+      };
+
+      directory = mkOption {
+        default = "/home/Yandex.Disk";
+        description = "The directory to use for Yandex.Disk storage";
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers = mkIf (cfg.user == null) [ {
+      name = u;
+      uid = config.ids.uids.yandexdisk;
+      group = "nogroup";
+      home = dir;
+    } ];
+
+    systemd.services.yandex-disk = {
+      description = "Yandex-disk server";
+
+      after = [ "network.target" ];
+
+      wantedBy = [ "multi-user.target" ];
+
+      # FIXME: have to specify ${directory} here as well
+      unitConfig.RequiresMountsFor = dir;
+
+      script = ''
+        mkdir -p -m 700 ${dir}
+        chown ${u} ${dir}
+
+        if ! test -d "${cfg.directory}" ; then
+          mkdir -p -m 755 ${cfg.directory} ||
+            exit 1
+        fi
+
+        ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${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} \
+          -c '${pkgs.yandex-disk}/bin/yandex-disk start --no-daemon -a ${dir}/token -d ${cfg.directory}'
+      '';
+
+    };
+  };
+
+}
+
diff --git a/nixos/modules/services/networking/aiccu.nix b/nixos/modules/services/networking/aiccu.nix
new file mode 100644
index 00000000000..4301da28881
--- /dev/null
+++ b/nixos/modules/services/networking/aiccu.nix
@@ -0,0 +1,195 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.aiccu;
+  showBool = b: if b then "true" else "false";
+  notNull = a: ! isNull a;
+  configFile = pkgs.writeText "aiccu.conf" ''
+    ${if notNull cfg.username then "username " + cfg.username else ""}
+    ${if notNull cfg.password then "password " + cfg.password else ""}
+    protocol ${cfg.protocol}
+    server ${cfg.server}
+    ipv6_interface ${cfg.interfaceName}
+    verbose ${showBool cfg.verbose}
+    daemonize true
+    automatic ${showBool cfg.automatic}
+    requiretls ${showBool cfg.requireTLS}
+    pidfile ${cfg.pidFile}
+    defaultroute ${showBool cfg.defaultRoute}
+    ${if notNull cfg.setupScript then cfg.setupScript else ""}
+    makebeats ${showBool cfg.makeHeartBeats}
+    noconfigure ${showBool cfg.noConfigure}
+    behindnat ${showBool cfg.behindNAT}
+    ${if cfg.localIPv4Override then "local_ipv4_override" else ""}
+  '';
+
+in {
+
+  options = {
+
+    services.aiccu = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = "Enable aiccu IPv6 over IPv4 SiXXs tunnel";
+      };
+
+      username = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        example = "FAB5-SIXXS";
+        description = "Login credential";
+      };
+
+      password = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        example = "TmAkRbBEr0";
+        description = "Login credential";
+      };
+
+      protocol = mkOption {
+        type = types.str;
+        default = "tic";
+        example = "tic|tsp|l2tp";
+        description = "Protocol to use for setting up the tunnel";
+      };
+
+      server = mkOption {
+        type = types.str;
+        default = "tic.sixxs.net";
+        example = "enabled.ipv6server.net";
+        description = "Server to use for setting up the tunnel";
+      };
+
+      interfaceName = mkOption {
+        type = types.str;
+        default = "aiccu";
+        example = "sixxs";
+        description = ''
+          The name of the interface that will be used as a tunnel interface.
+          On *BSD the ipv6_interface should be set to gifX (eg gif0) for proto-41 tunnels
+          or tunX (eg tun0) for AYIYA tunnels.
+        '';
+      };
+
+      tunnelID = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        example = "T12345";
+        description = "The tunnel id to use, only required when there are multiple tunnels in the list";
+      };
+
+      verbose = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = "Be verbose?";
+      };
+
+      automatic = mkOption {
+        type = types.bool;
+        default = true;
+        example = false;
+        description = "Automatic Login and Tunnel activation";
+      };
+
+      requireTLS = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = ''
+          When set to true, if TLS is not supported on the server
+          the TIC transaction will fail.
+          When set to false, it will try a starttls, when that is
+          not supported it will continue.
+          In any case if AICCU is build with TLS support it will
+          try to do a 'starttls' to the TIC server to see if that
+          is supported.
+        '';
+      };
+
+      pidFile = mkOption {
+        type = types.path;
+        default = "/run/aiccu.pid";
+        example = "/var/lib/aiccu/aiccu.pid";
+        description = "Location of PID File";
+      };
+
+      defaultRoute = mkOption {
+        type = types.bool;
+        default = true;
+        example = false;
+        description = "Add a default route";
+      };
+
+      setupScript = mkOption {
+        type = with types; nullOr path;
+        default = null;
+        example = "/var/lib/aiccu/fix-subnets.sh";
+        description = "Script to run after setting up the interfaces";
+      };
+
+      makeHeartBeats = mkOption {
+        type = types.bool;
+        default = true;
+        example = false;
+        description = ''
+          In general you don't want to turn this off
+          Of course only applies to AYIYA and heartbeat tunnels not to static ones
+        '';
+      };
+
+      noConfigure = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = "Don't configure anything";
+      };
+
+      behindNAT = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = "Notify the user that a NAT-kind network is detected";
+      };
+
+      localIPv4Override = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = ''
+          Overrides the IPv4 parameter received from TIC
+          This allows one to configure a NAT into "DMZ" mode and then
+          forwarding the proto-41 packets to an internal host.
+
+          This is only needed for static proto-41 tunnels!
+          AYIYA and heartbeat tunnels don't require this.
+        '';
+      };
+
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.aiccu = {
+      description = "Automatic IPv6 Connectivity Client Utility";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.aiccu}/bin/aiccu start ${configFile}";
+        ExecStop = "${pkgs.aiccu}/bin/aiccu stop";
+        Type = "forking";
+        PIDFile = cfg.pidFile;
+        Restart = "no"; # aiccu startup errors are serious, do not pound the tic server or be banned.
+      };
+    };
+
+  };
+}
diff --git a/nixos/modules/services/networking/atftpd.nix b/nixos/modules/services/networking/atftpd.nix
new file mode 100644
index 00000000000..47465ba948a
--- /dev/null
+++ b/nixos/modules/services/networking/atftpd.nix
@@ -0,0 +1,51 @@
+# NixOS module for atftpd TFTP server
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.atftpd;
+
+in
+
+{
+
+  options = {
+
+    services.atftpd = {
+
+      enable = mkOption {
+        default = false;
+        type = types.uniq types.bool;
+        description = ''
+          Whenever to enable the atftpd TFTP server.
+        '';
+      };
+
+      root = mkOption {
+        default = "/var/empty";
+        type = types.uniq types.string;
+        description = ''
+          Document root directory for the atftpd.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.atftpd = {
+      description = "atftpd TFTP server";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      # runs as nobody
+      serviceConfig.ExecStart = "${pkgs.atftp}/sbin/atftpd --daemon --no-fork --bind-address 0.0.0.0 ${cfg.root}";
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/btsync.nix b/nixos/modules/services/networking/btsync.nix
index 5d0e17c293e..8b90f295ed4 100644
--- a/nixos/modules/services/networking/btsync.nix
+++ b/nixos/modules/services/networking/btsync.nix
@@ -4,6 +4,9 @@ with lib;
 
 let
   cfg = config.services.btsync;
+
+  bittorrentSync = cfg.package;
+
   listenAddr = cfg.httpListenAddr + ":" + (toString cfg.httpListenPort);
 
   boolStr = x: if x then "true" else "false";
@@ -57,7 +60,7 @@ let
     ''
       {
         "device_name":     "${cfg.deviceName}",
-        "storage_path":    "/var/lib/btsync",
+        "storage_path":    "${cfg.storagePath}",
         "listening_port":  ${toString cfg.listeningPort},
         "use_gui":         false,
 
@@ -88,7 +91,7 @@ in
           use <literal>systemctl start btsync@user</literal> to start
           the daemon only for user <literal>user</literal>, using the
           configuration file located at
-          <literal>$HOME/.config/btsync.conf</literal>
+          <literal>$HOME/.config/btsync.conf</literal>.
         '';
       };
 
@@ -195,6 +198,23 @@ in
           '';
       };
 
+      package = mkOption {
+        type = types.package;
+        example = literalExample "pkgs.bittorrentSync20";
+        description = ''
+          Branch of bittorrent sync to use.
+        '';
+      };
+
+      storagePath = mkOption {
+        type = types.path;
+        default = "/var/lib/btsync";
+        example = "/var/lib/btsync";
+        description = ''
+          Where to store the bittorrent sync files.
+        '';
+      };
+
       apiKey = mkOption {
         type = types.str;
         default = "";
@@ -223,6 +243,21 @@ in
           --generate-secret</literal>. Note that this secret will be
           put inside the Nix store, so it is realistically not very
           secret.
+
+          If you would like to be able to modify the contents of this
+          directories, it is recommended that you make your user a
+          member of the <literal>btsync</literal> group.
+
+          Directories in this list should be in the
+          <literal>btsync</literal> group, and that group must have
+          write access to the directory. It is also recommended that
+          <literal>chmod g+s</literal> is applied to the directory
+          so that any sub directories created will also belong to
+          the <literal>btsync</literal> group. Also,
+          <literal>setfacl -d -m group:btsync:rwx</literal> and
+          <literal>setfacl -m group:btsync:rwx</literal> should also
+          be applied so that the sub directories are writable by
+          the group.
         '';
       };
     };
@@ -241,19 +276,27 @@ in
         }
       ];
 
+    services.btsync.package = mkOptionDefault pkgs.bittorrentSync14;
+
     users.extraUsers.btsync = {
       description     = "Bittorrent Sync Service user";
-      home            = "/var/lib/btsync";
+      home            = cfg.storagePath;
       createHome      = true;
       uid             = config.ids.uids.btsync;
+      group           = "btsync";
     };
 
+    users.extraGroups = [
+      { name = "btsync";
+      }];
+
     systemd.services.btsync = with pkgs; {
       description = "Bittorrent Sync Service";
       wantedBy    = [ "multi-user.target" ];
       after       = [ "network.target" ];
       serviceConfig = {
         Restart   = "on-abort";
+        UMask     = "0002";
         User      = "btsync";
         ExecStart =
           "${bittorrentSync}/bin/btsync --nodaemon --config ${configFile}";
@@ -271,6 +314,6 @@ in
       };
     };
 
-    environment.systemPackages = [ pkgs.bittorrentSync ];
+    environment.systemPackages = [ cfg.package ];
   };
 }
diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix
index d1684dd9f05..fe062b30e4b 100644
--- a/nixos/modules/services/networking/chrony.nix
+++ b/nixos/modules/services/networking/chrony.nix
@@ -48,9 +48,10 @@ in
 
       servers = mkOption {
         default = [
-          "0.pool.ntp.org"
-          "1.pool.ntp.org"
-          "2.pool.ntp.org"
+          "0.nixos.pool.ntp.org"
+          "1.nixos.pool.ntp.org"
+          "2.nixos.pool.ntp.org"
+          "3.nixos.pool.ntp.org"
         ];
         description = ''
           The set of NTP servers from which to synchronise.
@@ -99,8 +100,8 @@ in
     jobs.chronyd =
       { description = "chrony daemon";
 
-        wantedBy = [ "ip-up.target" ];
-        partOf = [ "ip-up.target" ];
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network.target" ];
 
         path = [ chrony ];
 
diff --git a/nixos/modules/services/networking/cjdns-hosts.sh b/nixos/modules/services/networking/cjdns-hosts.sh
new file mode 100644
index 00000000000..8a2b47e5214
--- /dev/null
+++ b/nixos/modules/services/networking/cjdns-hosts.sh
@@ -0,0 +1,11 @@
+pubs=($pubs)
+hosts=($hosts)
+
+lines="''\n"
+for ((i = 0; i < ${#pubs[*]}; i++)); do
+    addr=$($cjdns/bin/publictoip6 ${pubs[i]})
+    lines="${lines}$addr ${hosts[i]}\n"
+done
+lines="${lines}''"
+
+echo -ne $lines > $out
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix
index 9306ffd5a18..be0acb27324 100644
--- a/nixos/modules/services/networking/cjdns.nix
+++ b/nixos/modules/services/networking/cjdns.nix
@@ -1,56 +1,78 @@
-# You may notice the commented out sections in this file,
-# it would be great to configure cjdns from nix, but cjdns 
-# reads its configuration from stdin, including the private
-# key and admin password, all nested in a JSON structure.
-#
-# Until a good method of storing the keys outside the nix 
-# store and mixing them back into a string is devised
-# (without too much shell hackery), a skeleton of the
-# configuration building lies commented out.
-
 { config, lib, pkgs, ... }:
 
 with lib;
 
 let
 
+  pkg = pkgs.cjdns;
+
   cfg = config.services.cjdns;
 
-  /*
-  # can't keep keys and passwords in the nix store,
-  # but don't want to deal with this stdin quagmire.
-
-  cjdrouteConf = '' {
-    "admin": {"bind": "${cfg.admin.bind}", "password": "\${CJDNS_ADMIN}" },
-    "privateKey": "\${CJDNS_KEY}",
-
-    "interfaces": {
-    ''
-
-    + optionalString (cfg.interfaces.udp.bind.address != null) ''
-      "UDPInterface": [ {
-        "bind": "${cfg.interfaces.udp.bind.address}:"''
-	   ${if cfg.interfaces.upd.bind.port != null
-             then ${toString cfg.interfaces.udp.bind.port}
-	     else ${RANDOM}
-	   fi)
-      + '' } ]''
-
-    + (if cfg.interfaces.eth.bind != null then ''
-      "ETHInterface": [ {
-        "bind": "${cfg.interfaces.eth.bind}",
-        "beacon": ${toString cfg.interfaces.eth.beacon}
-      } ]
-    '' fi )
-    + ''
-    },
-    "router": { "interface": { "type": "TUNInterface" }, },
-    "security": [ { "setuser": "nobody" } ]
-    }
-    '';   
-
-    cjdrouteConfFile = pkgs.writeText "cjdroute.conf" cjdrouteConf
-    */
+  connectToSubmodule =
+  { options, ... }:
+  { options =
+    { password = mkOption {
+      type = types.str;
+      description = "Authorized password to the opposite end of the tunnel.";
+      };
+      publicKey = mkOption {
+        type = types.str;
+        description = "Public key at the opposite end of the tunnel.";
+      };
+      hostname = mkOption {
+        default = "";
+        example = "foobar.hype";
+        type = types.str;
+        description = "Optional hostname to add to /etc/hosts; prevents reverse lookup failures.";
+      };
+    };
+  };
+
+  peers = mapAttrsToList (n: v: v) (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo);
+
+  pubs  = toString (map (p: if p.hostname == "" then "" else p.publicKey) peers);
+  hosts = toString (map (p: if p.hostname == "" then "" else p.hostname)  peers);
+
+  cjdnsHosts =
+    if hosts != "" then
+      import (pkgs.stdenv.mkDerivation {
+        name = "cjdns-hosts";
+        builder = ./cjdns-hosts.sh;
+
+        inherit (pkgs) cjdns;
+        inherit pubs hosts;
+      })
+    else "";
+
+  # would be nice to  merge 'cfg' with a //,
+  # but the json nesting is wacky.
+  cjdrouteConf = builtins.toJSON ( {
+    admin = {
+      bind = cfg.admin.bind;
+      password = "@CJDNS_ADMIN_PASSWORD@";
+    };
+    authorizedPasswords = map (p: { password = p; }) cfg.authorizedPasswords;
+    interfaces = {
+      ETHInterface = if (cfg.ETHInterface.bind != "") then [ cfg.ETHInterface ] else [ ];
+      UDPInterface = if (cfg.UDPInterface.bind != "") then [ cfg.UDPInterface ] else [ ];
+    };
+
+    privateKey = "@CJDNS_PRIVATE_KEY@";
+
+    resetAfterInactivitySeconds = 100;
+
+    router = {
+      interface = { type = "TUNInterface"; };
+      ipTunnel = {
+        allowedConnections = [];
+        outgoingConnections = [];
+      };
+    };
+
+    security = [ { exemptAngel = 1; setuser = "nobody"; } ];
+
+  });
+
 in
 
 {
@@ -60,148 +82,180 @@ in
 
       enable = mkOption {
         type = types.bool;
-	default = false;
+        default = false;
         description = ''
-          Enable this option to start a instance of the 
-          cjdns network encryption and and routing engine.
-          Configuration will be read from <literal>confFile</literal>.
+          Whether to enable the cjdns network encryption
+          and routing engine. A file at /etc/cjdns.keys will
+          be created if it does not exist to contain a random
+          secret key that your IPv6 address will be derived from.
         '';
       };
 
       confFile = mkOption {
-	default = "/etc/cjdroute.conf";
+        type = types.str;
+        default = "";
+        example = "/etc/cjdroute.conf";
         description = ''
-          Configuration file to pipe to cjdroute.
+          Ignore all other cjdns options and load configuration from this file.
         '';
       };
 
-      /*
+      authorizedPasswords = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [
+          "snyrfgkqsc98qh1y4s5hbu0j57xw5s0"
+          "z9md3t4p45mfrjzdjurxn4wuj0d8swv"
+          "49275fut6tmzu354pq70sr5b95qq0vj"
+        ];
+        description = ''
+          Any remote cjdns nodes that offer these passwords on 
+          connection will be allowed to route through this node.
+        '';
+      };
+    
       admin = {
         bind = mkOption {
-	  default = "127.0.0.1:11234";
-	  description = ''
+          type = types.string;
+          default = "127.0.0.1:11234";
+          description = ''
             Bind the administration port to this address and port.
-	  '';
+          '';
         };
+      };
 
-	passwordFile = mkOption {
-	  example = "/root/cjdns.adminPassword";
-	  description = ''
-	    File containing a password to the administration port.
-	  '';
-	};
+      UDPInterface = {
+        bind = mkOption {
+          type = types.string;
+          default = "";
+          example = "192.168.1.32:43211";
+          description = ''
+            Address and port to bind UDP tunnels to.
+          '';
+         };
+        connectTo = mkOption {
+          type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
+          default = { };
+          example = {
+            "192.168.1.1:27313" = {
+              hostname = "homer.hype";
+              password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
+              publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
+            };
+          };
+          description = ''
+            Credentials for making UDP tunnels.
+          '';
+        };
       };
 
-      keyFile = mkOption {
-        type = types.str;
-	example = "/root/cjdns.key";
-	description = ''
-	  Path to a file containing a cjdns private key on a single line.
-	'';
+      ETHInterface = {
+        bind = mkOption {
+        default = "";
+        example = "eth0";
+        description = ''
+          Bind to this device for native ethernet operation.
+        '';
       };
-      
-      passwordsFile = mkOption {
-        type = types.str;
-	default = null;
-	example = "/root/cjdns.authorizedPasswords";
-	description = ''
-	  A file containing a list of json dictionaries with passwords.
-	  For example:
-	    {"password": "s8xf5z7znl4jt05g922n3wpk75wkypk"},
-	    { "name": "nice guy",
-	      "password": "xhthk1mglz8tpjrbbvdlhyc092rhpx5"},
-	    {"password": "3qfxyhmrht7uwzq29pmhbdm9w4bnc8w"}
-	  '';
-	};
-
-      interfaces = {
-        udp = {
-	  bind = { 
-            address = mkOption {
-	      default = "0.0.0.0";
-	      description = ''
-	        Address to bind UDP tunnels to; disable by setting to null;
-	      '';
- 	    };
-	    port = mkOption {
-	      type = types.int;
-	      default = null;
-	      description = ''
-	        Port to bind UDP tunnels to.
-	        A port will be choosen at random if this is not set.
-	        This option is required to act as the server end of 
-	        a tunnel.
-	      '';
- 	    };
-	  };
-	};
-
-	eth = {
-	  bind = mkOption {
-	    default = null;
-	    example = "eth0";
-	    description = ''
-	      Bind to this device and operate with native wire format.
-	    '';
-	  };
-
-	  beacon = mkOption {
-	    default = 2;
-	    description = ''
-	      Auto-connect to other cjdns nodes on the same network.
-	      Options:
-	        0 -- Disabled.
-
-                1 -- Accept beacons, this will cause cjdns to accept incoming
-		     beacon messages and try connecting to the sender.
-
-		2 -- Accept and send beacons, this will cause cjdns to broadcast
-		     messages on the local network which contain a randomly
-		     generated per-session password, other nodes which have this
-                     set to 1 or 2 will hear the beacon messages and connect
-                     automatically.
-            '';
-	  };
-	  
-	  connectTo = mkOption {
-	    type = types.listOf types.str;
-	    default = [];
-	    description = ''
-	      Credentials for connecting look similar to UDP credientials
-              except they begin with the mac address, for example:
-              "01:02:03:04:05:06":{"password":"a","publicKey":"b"}
-	    '';
-	  };
+
+        beacon = mkOption {
+          type = types.int;
+          default = 2;
+          description = ''
+            Auto-connect to other cjdns nodes on the same network.
+            Options:
+              0: Disabled.
+              1: Accept beacons, this will cause cjdns to accept incoming
+                 beacon messages and try connecting to the sender.
+              2: Accept and send beacons, this will cause cjdns to broadcast
+                 messages on the local network which contain a randomly
+                 generated per-session password, other nodes which have this
+                 set to 1 or 2 will hear the beacon messages and connect
+                 automatically.
+          '';
+        };
+
+        connectTo = mkOption {
+          type = types.attrsOf ( types.submodule ( connectToSubmodule ) );
+          default = { };
+          example = {
+            "01:02:03:04:05:06" = {
+              hostname = "homer.hype";
+              password = "5kG15EfpdcKNX3f2GSQ0H1HC7yIfxoCoImnO5FHM";
+              publicKey = "371zpkgs8ss387tmr81q04mp0hg1skb51hw34vk1cq644mjqhup0.k";
+            };
+          };
+          description = ''
+            Credentials for connecting look similar to UDP credientials
+            except they begin with the mac address.
+          '';
         };
       };
-      */
+
     };
+
   };
 
   config = mkIf config.services.cjdns.enable {
 
     boot.kernelModules = [ "tun" ];
 
-    /*
-    networking.firewall.allowedUDPPorts = mkIf (cfg.udp.bind.port != null) [
-      cfg.udp.bind.port
-    ];
-    */
+    # networking.firewall.allowedUDPPorts = ...
 
     systemd.services.cjdns = {
       description = "encrypted networking for everybody";
-      wantedBy = [ "multi-user.target" ];
-      wants = [ "network.target" ];
-      before = [ "network.target" ];
-      path = [ pkgs.cjdns ];
+      wantedBy = [ "network.target" ];
+      after = [ "networkSetup.service" "network-interfaces.target" ];
+
+      preStart = if cfg.confFile != "" then "" else ''
+        [ -e /etc/cjdns.keys ] && source /etc/cjdns.keys
+
+        if [ -z "$CJDNS_PRIVATE_KEY" ]; then
+            shopt -s lastpipe
+            ${pkg}/bin/makekeys | { read private ipv6 public; }
+
+            umask 0077
+            echo "CJDNS_PRIVATE_KEY=$private" >> /etc/cjdns.keys
+            echo -e "CJDNS_IPV6=$ipv6\nCJDNS_PUBLIC_KEY=$public" > /etc/cjdns.public
+
+            chmod 600 /etc/cjdns.keys
+            chmod 444 /etc/cjdns.public
+        fi
+
+        if [ -z "$CJDNS_ADMIN_PASSWORD" ]; then
+            echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \
+                >> /etc/cjdns.keys
+        fi
+      '';
+
+      script = (
+        if cfg.confFile != "" then "${pkg}/bin/cjdroute < ${cfg.confFile}" else
+          ''
+            source /etc/cjdns.keys
+            echo '${cjdrouteConf}' | sed \
+                -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
+                -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
+                | ${pkg}/bin/cjdroute
+         ''
+      );
 
       serviceConfig = {
         Type = "forking";
-	ExecStart = ''
-          ${pkgs.stdenv.shell} -c "${pkgs.cjdns}/sbin/cjdroute < ${cfg.confFile}"
-	'';
-	Restart = "on-failure";
+        Restart = "on-failure";
       };
     };
+
+    networking.extraHosts = "${cjdnsHosts}";
+
+    assertions = [
+      { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile == "" );
+        message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined.";
+      }
+      { assertion = config.networking.enableIPv6;
+        message = "networking.enableIPv6 must be enabled for CJDNS to work";
+      }
+    ];
+
   };
+
 }
diff --git a/nixos/modules/services/networking/consul.nix b/nixos/modules/services/networking/consul.nix
new file mode 100644
index 00000000000..5308fd99508
--- /dev/null
+++ b/nixos/modules/services/networking/consul.nix
@@ -0,0 +1,255 @@
+{ config, lib, pkgs, utils, ... }:
+
+with lib;
+let
+
+  dataDir = "/var/lib/consul";
+  cfg = config.services.consul;
+
+  configOptions = {
+    data_dir = dataDir;
+  }
+  // (if cfg.webUi then { ui_dir = "${pkgs.consul.ui}"; } else { })
+  // cfg.extraConfig;
+
+  configFiles = [ "/etc/consul.json" "/etc/consul-addrs.json" ]
+    ++ cfg.extraConfigFiles;
+
+  devices = attrValues (filterAttrs (_: i: i != null) cfg.interface);
+  systemdDevices = flip map devices
+    (i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device");
+in
+{
+  options = {
+
+    services.consul = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables the consul daemon.
+        '';
+      };
+
+      webUi = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables the web interface on the consul http port.
+        '';
+      };
+
+      leaveOnStop = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          If enabled, causes a leave action to be sent when closing consul.
+          This allows a clean termination of the node, but permanently removes
+          it from the cluster. You probably don't want this option unless you
+          are running a node which going offline in a permanent / semi-permanent
+          fashion.
+        '';
+      };
+
+      joinNodes = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = ''
+          A list of addresses of nodes which should be joined at startup if the
+          current node is in a left state.
+        '';
+      };
+
+      joinRetries = mkOption {
+        type = types.int;
+        default = 10;
+        description = ''
+          The number of times to retry connecting to the join nodes.
+        '';
+      };
+
+      interface = {
+
+        advertise = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The name of the interface to pull the advertise_addr from.
+          '';
+        };
+
+        bind = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The name of the interface to pull the bind_addr from.
+          '';
+        };
+
+      };
+
+      forceIpv4 = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether we should force the interfaces to only pull ipv4 addresses.
+        '';
+      };
+
+      dropPrivileges = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether the consul agent should be run as a non-root consul user.
+        '';
+      };
+
+      extraConfig = mkOption {
+        default = { };
+        description = ''
+          Extra configuration options which are serialized to json and added
+          to the config.json file.
+        '';
+      };
+
+      extraConfigFiles = mkOption {
+        default = [ ];
+        type = types.listOf types.str;
+        description = ''
+          Additional configuration files to pass to consul
+          NOTE: These will not trigger the service to be restarted when altered.
+        '';
+      };
+
+      alerts = {
+        enable = mkEnableOption "Whether to enable consul-alerts";
+
+        listenAddr = mkOption {
+          description = "Api listening address.";
+          default = "localhost:9000";
+          type = types.str;
+        };
+
+        consulAddr = mkOption {
+          description = "Consul api listening adddress";
+          default = "localhost:8500";
+          type = types.str;
+        };
+
+        watchChecks = mkOption {
+          description = "Whether to enable check watcher.";
+          default = true;
+          type = types.bool;
+        };
+
+        watchEvents = mkOption {
+          description = "Whether to enable event watcher.";
+          default = true;
+          type = types.bool;
+        };
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers."consul" = {
+      description = "Consul agent daemon user";
+      uid = config.ids.uids.consul;
+    };
+
+    environment = {
+      etc."consul.json".text = builtins.toJSON configOptions;
+      systemPackages = with pkgs; [ consul ];
+    };
+
+    systemd.services.consul = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ] ++ systemdDevices;
+      bindsTo = systemdDevices;
+      restartTriggers = [ config.environment.etc."consul.json".source ];
+
+      serviceConfig = {
+        ExecStart = "@${pkgs.consul}/bin/consul consul agent"
+          + concatMapStrings (n: " -config-file ${n}") configFiles;
+        ExecReload = "${pkgs.consul}/bin/consul reload";
+        PermissionsStartOnly = true;
+        User = if cfg.dropPrivileges then "consul" else null;
+        TimeoutStartSec = "0";
+      } // (optionalAttrs (cfg.leaveOnStop) {
+        ExecStop = "${pkgs.consul}/bin/consul leave";
+      });
+
+      path = with pkgs; [ iproute gnugrep gawk consul ];
+      preStart = ''
+        mkdir -m 0700 -p ${dataDir}
+        chown -R consul ${dataDir}
+
+        # Determine interface addresses
+        getAddrOnce () {
+          ip addr show dev "$1" \
+            | grep 'inet${optionalString (cfg.forceIpv4) " "}.*scope global' \
+            | awk -F '[ /\t]*' '{print $3}' | head -n 1
+        }
+        getAddr () {
+          ADDR="$(getAddrOnce $1)"
+          LEFT=60 # Die after 1 minute
+          while [ -z "$ADDR" ]; do
+            sleep 1
+            LEFT=$(expr $LEFT - 1)
+            if [ "$LEFT" -eq "0" ]; then
+              echo "Address lookup timed out"
+              exit 1
+            fi
+            ADDR="$(getAddrOnce $1)"
+          done
+          echo "$ADDR"
+        }
+        echo "{" > /etc/consul-addrs.json
+        delim=" "
+      ''
+      + concatStrings (flip mapAttrsToList cfg.interface (name: i:
+        optionalString (i != null) ''
+          echo "$delim \"${name}_addr\": \"$(getAddr "${i}")\"" >> /etc/consul-addrs.json
+          delim=","
+        ''))
+      + ''
+        echo "}" >> /etc/consul-addrs.json
+      '';
+      postStart = ''
+        # Issues joins to nodes which we statically connect to
+        ${flip concatMapStrings cfg.joinNodes (addr: ''
+          for i in {0..${toString cfg.joinRetries}}; do
+            # Try to join the other nodes ${toString cfg.joinRetries} times before failing
+            consul join "${addr}" && break
+            sleep 1
+          done &
+        '')}
+        wait
+        exit 0
+      '';
+    };
+
+    systemd.services.consul-alerts = mkIf (cfg.alerts.enable) {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "consul.service" ];
+
+      path = [ pkgs.consul ];
+
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.consul-alerts}/bin/consul-alerts start \
+            --alert-addr=${cfg.alerts.listenAddr} \
+            --consul-addr=${cfg.alerts.consulAddr} \
+            ${optionalString cfg.alerts.watchChecks "--watch-checks"} \
+            ${optionalString cfg.alerts.watchEvents "--watch-events"}
+        '';
+        User = if cfg.dropPrivileges then "consul" else null;
+      };
+    };
+
+  };
+}
diff --git a/nixos/modules/services/networking/copy-com.nix b/nixos/modules/services/networking/copy-com.nix
new file mode 100644
index 00000000000..36bd29109b8
--- /dev/null
+++ b/nixos/modules/services/networking/copy-com.nix
@@ -0,0 +1,53 @@
+{ config, lib, pkgs, ... }:

+

+with lib;

+

+let

+  

+  cfg = config.services.copy-com;

+

+in 

+

+{

+  options = {

+

+    services.copy-com = {

+	  

+	  enable = mkOption {

+          default = false;

+          description = "

+            Enable the copy.com client.

+

+            The first time copy.com is run, it needs to be configured. Before enabling run 

+            copy_console manually.

+          ";

+      };

+

+      user = mkOption {

+        description = "The user for which copy should run.";

+      };

+

+      debug = mkOption {

+        default = false;

+        description = "Output more.";

+      };

+	  };

+  };

+

+  config = mkIf cfg.enable {

+    environment.systemPackages = [ pkgs.postfix ];

+

+    systemd.services."copy-com-${cfg.user}" = {

+      description = "Copy.com Client";

+      after = [ "network.target" "local-fs.target" ];

+      wantedBy = [ "multi-user.target" ];

+      serviceConfig = {

+        ExecStart = "${pkgs.copy-com}/bin/copy_console ${if cfg.debug then "-consoleOutput -debugToConsole=dirwatch,path-watch,csm_path,csm -debug -console" else ""}";

+        User = "${cfg.user}";

+      };

+

+    };

+  };

+

+}

+

diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix
index bb94a8dacfa..f01deb6ee7c 100644
--- a/nixos/modules/services/networking/ddclient.nix
+++ b/nixos/modules/services/networking/ddclient.nix
@@ -3,24 +3,22 @@
 let
 
   inherit (lib) mkOption mkIf singleton;
-
   inherit (pkgs) ddclient;
 
   stateDir = "/var/spool/ddclient";
-
   ddclientUser = "ddclient";
-
-  ddclientFlags = "-foreground -file ${ddclientCfg}";
-
+  ddclientFlags = "-foreground -verbose -noquiet -file ${ddclientCfg}";
+  ddclientPIDFile = "${stateDir}/ddclient.pid";
   ddclientCfg = pkgs.writeText "ddclient.conf" ''
     daemon=600
     cache=${stateDir}/ddclient.cache
-    pid=${stateDir}/ddclient.pid
-    use=${config.services.ddclient.web}
+    pid=${ddclientPIDFile}
+    use=${config.services.ddclient.use}
     login=${config.services.ddclient.username}
     password=${config.services.ddclient.password}
     protocol=${config.services.ddclient.protocol}
     server=${config.services.ddclient.server}
+    ssl=${if config.services.ddclient.ssl then "yes" else "yes"}
     wildcard=YES
     ${config.services.ddclient.domain}
     ${config.services.ddclient.extraConfig}
@@ -34,10 +32,11 @@ in
 
   options = {
 
-    services.ddclient = {
+    services.ddclient = with lib.types; {
 
       enable = mkOption {
         default = false;
+        type = bool;
         description = ''
           Whether to synchronise your machine's IP address with a dynamic DNS provider (e.g. dyndns.org).
         '';
@@ -45,6 +44,7 @@ in
 
       domain = mkOption {
         default = "";
+        type = str;
         description = ''
           Domain name to synchronize.
         '';
@@ -52,76 +52,93 @@ in
 
       username = mkOption {
         default = "";
+        type = str;
         description = ''
           Username.
         '';
       };
 
       password = mkOption {
-        default = "" ;
+        default = "";
+        type = str;
         description = ''
           Password.
         '';
       };
 
       protocol = mkOption {
-        default = "dyndns2" ;
+        default = "dyndns2";
+        type = str;
         description = ''
-          Protocol to use with dynamic DNS provider. (see also, http://sourceforge.net/apps/trac/ddclient/wiki/Protocols)
+          Protocol to use with dynamic DNS provider (see http://sourceforge.net/apps/trac/ddclient/wiki/Protocols).
         '';
       };
 
       server = mkOption {
-        default = "members.dyndns.org" ;
+        default = "";
+        type = str;
         description = ''
-          Server
+          Server address.
+        '';
+      };
+
+      ssl = mkOption {
+        default = true;
+        type = bool;
+        description = ''
+          Whether to use to use SSL/TLS to connect to dynamic DNS provider.
         '';
       };
 
       extraConfig = mkOption {
-        default = "" ;
+        default = "";
+        type = str;
         description = ''
           Extra configuration. Contents will be added verbatim to the configuration file.
         '';
       };
 
-      web = mkOption {
-        default = "web, web=checkip.dyndns.com/, web-skip='Current IP Address: '" ;
-        description = "";
+      use = mkOption {
+        default = "web, web=checkip.dyndns.com/, web-skip='Current IP Address: '";
+        type = str;
+        description = ''
+          Method to determine the IP address to send to the dymanic DNS provider.
+        '';
       };
-
     };
-
   };
 
 
   ###### implementation
 
   config = mkIf config.services.ddclient.enable {
-  
-    environment.systemPackages = [ ddclient ];
-
-    users.extraUsers = singleton
-      { name = ddclientUser;
-        uid = config.ids.uids.ddclient;
-        description = "ddclient daemon user";
-        home = stateDir;
-      };
-
-    jobs.ddclient =
-      { name = "ddclient";
 
-        startOn = "startup";
+    environment.systemPackages = [ ddclient ];
 
-        preStart =
-          ''
-            mkdir -m 0755 -p ${stateDir}
-            chown ${ddclientUser} ${stateDir}
-          '';
+    users.extraUsers = singleton {
+      name = ddclientUser;
+      uid = config.ids.uids.ddclient;
+      description = "ddclient daemon user";
+      home = stateDir;
+    };
 
-        exec = "${ddclient}/bin/ddclient ${ddclientFlags}";
+    systemd.services.ddclient = {
+      description = "Dynamic DNS Client";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        # This may change back to forking if too many problems occur:
+        type = "simple";
+        User = ddclientUser;
+        Group = "nogroup"; #TODO get this to work
+        PermissionsStartOnly = "true";
+        PIDFile = ddclientPIDFile;
+        ExecStartPre = ''
+          ${pkgs.stdenv.shell} -c "${pkgs.coreutils}/bin/mkdir -m 0755 -p ${stateDir} && ${pkgs.coreutils}/bin/chown ${ddclientUser} ${stateDir}"
+        '';
+        ExecStart = "${ddclient}/bin/ddclient ${ddclientFlags}";
+        #ExecStartPost = "${pkgs.coreutils}/bin/rm -r ${stateDir}"; # Should we have this?
       };
-
+    };
   };
-
 }
diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix
index 89aa9bdb6b6..8552395fdb1 100644
--- a/nixos/modules/services/networking/dhcpcd.nix
+++ b/nixos/modules/services/networking/dhcpcd.nix
@@ -8,15 +8,29 @@ let
 
   cfg = config.networking.dhcpcd;
 
+  interfaces = attrValues config.networking.interfaces;
+
+  enableDHCP = config.networking.useDHCP || any (i: i.useDHCP == true) interfaces;
+
   # Don't start dhcpcd on explicitly configured interfaces or on
   # interfaces that are part of a bridge, bond or sit device.
   ignoredInterfaces =
-    map (i: i.name) (filter (i: i.ipAddress != null) (attrValues config.networking.interfaces))
+    map (i: i.name) (filter (i: if i.useDHCP != null then !i.useDHCP else i.ip4 != [ ] || i.ipAddress != null) interfaces)
     ++ mapAttrsToList (i: _: i) config.networking.sits
     ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges))
     ++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds))
     ++ config.networking.dhcpcd.denyInterfaces;
 
+  arrayAppendOrNull = a1: a2: if a1 == null && a2 == null then null
+    else if a1 == null then a2 else if a2 == null then a1
+      else a1 ++ a2;
+
+  # If dhcp is disabled but explicit interfaces are enabled,
+  # we need to provide dhcp just for those interfaces.
+  allowInterfaces = arrayAppendOrNull cfg.allowInterfaces
+    (if !config.networking.useDHCP && enableDHCP then
+      map (i: i.name) (filter (i: i.useDHCP == true) interfaces) else null);
+
   # Config file adapted from the one that ships with dhcpcd.
   dhcpcdConf = pkgs.writeText "dhcpcd.conf"
     ''
@@ -41,7 +55,7 @@ let
       denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* sit*
 
       # Use the list of allowed interfaces if specified
-      ${optionalString (cfg.allowInterfaces != null) "allowinterfaces ${toString cfg.allowInterfaces}"}
+      ${optionalString (allowInterfaces != null) "allowinterfaces ${toString allowInterfaces}"}
 
       ${cfg.extraConfig}
     '';
@@ -54,8 +68,10 @@ let
           # will actually do something: if ntpd cannot resolve the
           # server hostnames in its config file, then it will never do
           # anything ever again ("couldn't resolve ..., giving up on
-          # it"), so we silently lose time synchronisation.
+          # it"), so we silently lose time synchronisation. This also
+          # applies to openntpd.
           ${config.systemd.package}/bin/systemctl try-restart ntpd.service
+          ${config.systemd.package}/bin/systemctl try-restart openntpd.service
 
           ${config.systemd.package}/bin/systemctl start ip-up.target
       fi
@@ -64,7 +80,7 @@ let
       #    ${config.systemd.package}/bin/systemctl start ip-down.target
       #fi
 
-      ${config.networking.dhcpcd.runHook}
+      ${cfg.runHook}
     '';
 
 in
@@ -75,6 +91,18 @@ in
 
   options = {
 
+    networking.dhcpcd.persistent = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+          Whenever to leave interfaces configured on dhcpcd daemon
+          shutdown. Set to true if you have your root or store mounted
+          over the network or this machine accepts SSH connections
+          through DHCP interfaces and clients should be notified when
+          it shuts down.
+      '';
+    };
+
     networking.dhcpcd.denyInterfaces = mkOption {
       type = types.listOf types.str;
       default = [];
@@ -120,12 +148,15 @@ in
 
   ###### implementation
 
-  config = mkIf config.networking.useDHCP {
+  config = mkIf enableDHCP {
 
     systemd.services.dhcpcd =
       { description = "DHCP Client";
 
         wantedBy = [ "network.target" ];
+        # Work-around to deal with problems where the kernel would remove &
+        # re-create Wifi interfaces early during boot.
+        after = [ "network-interfaces.target" ];
 
         # Stopping dhcpcd during a reconfiguration is undesirable
         # because it brings down the network interfaces configured by
@@ -139,7 +170,7 @@ in
         serviceConfig =
           { Type = "forking";
             PIDFile = "/run/dhcpcd.pid";
-            ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet --config ${dhcpcdConf}";
+            ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet ${optionalString cfg.persistent "--persistent"} --config ${dhcpcdConf}";
             ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind";
             Restart = "always";
           };
@@ -153,7 +184,7 @@ in
         }
       ];
 
-    powerManagement.resumeCommands =
+    powerManagement.resumeCommands = mkIf config.systemd.services.dhcpcd.enable
       ''
         # Tell dhcpcd to rebind its interfaces if it's running.
         ${config.systemd.package}/bin/systemctl reload dhcpcd.service
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix
new file mode 100644
index 00000000000..5cc33f35adb
--- /dev/null
+++ b/nixos/modules/services/networking/dnscrypt-proxy.nix
@@ -0,0 +1,139 @@
+{ config, lib, pkgs, ... }:
+with lib;
+
+let
+  apparmorEnabled = config.security.apparmor.enable;
+  dnscrypt-proxy = pkgs.dnscrypt-proxy;
+  cfg = config.services.dnscrypt-proxy;
+  uid = config.ids.uids.dnscrypt-proxy;
+  daemonArgs =
+    [ "--daemonize"
+      "--user=dnscrypt-proxy"
+      "--local-address=${cfg.localAddress}:${toString cfg.port}"
+      (optionalString cfg.tcpOnly "--tcp-only")
+      "--resolvers-list=${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv"
+      "--resolver-name=${cfg.resolverName}"
+    ];
+in
+
+{
+  ##### interface
+
+  options = {
+
+    services.dnscrypt-proxy = {
+
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Enable dnscrypt-proxy.
+          The proxy relays regular DNS queries to a DNSCrypt enabled
+          upstream resolver.
+          The traffic between the client and the upstream resolver is
+          encrypted and authenticated, which may mitigate the risk of MITM
+          attacks and third-party snooping (assuming the upstream is
+          trustworthy).
+        '';
+      };
+
+      localAddress = mkOption {
+        default = "127.0.0.1";
+        type = types.string;
+        description = ''
+          Listen for DNS queries on this address.
+        '';
+      };
+
+      port = mkOption {
+        default = 53;
+        type = types.int;
+        description = ''
+          Listen on this port.
+        '';
+      };
+
+      resolverName = mkOption {
+        default = "opendns";
+        type = types.string;
+        description = ''
+          The name of the upstream DNSCrypt resolver to use.
+          See <literal>${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv</literal>
+          for alternative resolvers (e.g., if you are concerned about logging
+          and/or server location).
+        '';
+      };
+
+      tcpOnly = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Force sending encrypted DNS queries to the upstream resolver
+          over TCP instead of UDP (on port 443).
+          Enabling this option may help circumvent filtering, but should
+          not be used otherwise.
+        '';
+      };
+
+    };
+
+  };
+
+  ##### implementation
+
+  config = mkIf cfg.enable {
+
+    ### AppArmor profile
+
+    security.apparmor.profiles = mkIf apparmorEnabled [
+      (pkgs.writeText "apparmor-dnscrypt-proxy" ''
+
+        ${dnscrypt-proxy}/bin/dnscrypt-proxy {
+          network inet stream,
+          network inet6 stream,
+          network inet dgram,
+          network inet6 dgram,
+
+          capability ipc_lock,
+          capability net_bind_service,
+          capability net_admin,
+          capability sys_chroot,
+          capability setgid,
+          capability setuid,
+
+          /dev/null rw,
+          /dev/urandom r,
+
+          ${pkgs.glibc}/lib/*.so mr,
+          ${pkgs.tzdata}/share/zoneinfo/** r,
+
+          ${dnscrypt-proxy}/share/dnscrypt-proxy/** r,
+          ${pkgs.gcc.cc}/lib/libssp.so.* mr,
+          ${pkgs.libsodium}/lib/libsodium.so.* mr,
+        }
+      '')
+    ];
+
+    ### User
+
+    users.extraUsers = singleton {
+      inherit uid;
+      name = "dnscrypt-proxy";
+      description = "dnscrypt-proxy daemon user";
+    };
+
+    ### Service definition
+
+    systemd.services.dnscrypt-proxy = {
+      description = "dnscrypt-proxy daemon";
+      after = [ "network.target" ] ++ optional apparmorEnabled "apparmor.service";
+      requires = mkIf apparmorEnabled [ "apparmor.service" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
+      };
+    };
+
+  };
+}
diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix
index d2a8af6ac8b..7ddabf73106 100644
--- a/nixos/modules/services/networking/dnsmasq.nix
+++ b/nixos/modules/services/networking/dnsmasq.nix
@@ -11,7 +11,10 @@ let
       conf-file=/etc/dnsmasq-conf.conf
       resolv-file=/etc/dnsmasq-resolv.conf
     ''}
-      ${cfg.extraConfig}
+    ${flip concatMapStrings cfg.servers (server: ''
+      server=${server}
+    '')}
+    ${cfg.extraConfig}
   '';
 
 in
@@ -43,12 +46,10 @@ in
         default = [];
         example = [ "8.8.8.8" "8.8.4.4" ];
         description = ''
-          The parameter to dnsmasq -S.
+          The DNS servers which dnsmasq should query.
         '';
       };
 
-
-
       extraConfig = mkOption {
         type = types.string;
         default = "";
@@ -67,8 +68,8 @@ in
 
   config = mkIf config.services.dnsmasq.enable {
 
-    environment.systemPackages = [ dnsmasq ]
-      ++ (if cfg.resolveLocalQueries then [ pkgs.openresolv ] else []);
+    networking.nameservers =
+      optional cfg.resolveLocalQueries "127.0.0.1";
 
     services.dbus.packages = [ dnsmasq ];
 
@@ -81,12 +82,16 @@ in
 
     systemd.services.dnsmasq = {
         description = "dnsmasq daemon";
-        after = [ "network.target" ];
+        after = [ "network.target" "systemd-resolved.service" ];
         wantedBy = [ "multi-user.target" ];
+        path = [ dnsmasq ];
+        preStart = ''
+          touch /etc/dnsmasq-{conf,resolv}.conf
+          dnsmasq --test
+        '';
         serviceConfig = {
           Type = "dbus";
           BusName = "uk.org.thekelleys.dnsmasq";
-          ExecStartPre = "${dnsmasq}/bin/dnsmasq --test";
           ExecStart = "${dnsmasq}/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C ${dnsmasqConf}";
           ExecReload = "${dnsmasq}/bin/kill -HUP $MAINPID";
         };
diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix
new file mode 100644
index 00000000000..79f32f3358c
--- /dev/null
+++ b/nixos/modules/services/networking/firefox/sync-server.nix
@@ -0,0 +1,142 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.firefox.syncserver;
+  syncServerIni = pkgs.writeText "syncserver.ini" ''
+    [DEFAULT]
+    overrides = ${cfg.privateConfig}
+
+    [server:main]
+    use = egg:Paste#http
+    host = ${cfg.listen.address}
+    port = ${toString cfg.listen.port}
+
+    [app:main]
+    use = egg:syncserver
+
+    [syncserver]
+    public_url = ${cfg.publicUrl}
+    ${optionalString (cfg.sqlUri != "") "sqluri = ${cfg.sqlUri}"}
+    allow_new_users = ${if cfg.allowNewUsers then "true" else "false"}
+
+    [browserid]
+    backend = tokenserver.verifiers.LocalVerifier
+    audiences = ${removeSuffix "/" cfg.publicUrl}
+  '';
+in
+
+{
+  options = {
+    services.firefox.syncserver = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = ''
+          Whether to enable a Firefox Sync Server, this give the opportunity to
+          Firefox users to store all synchronized data on their own server. To use this
+          server, Firefox users should visit the <option>about:config</option>, and
+          replicate the following change
+
+          <screen>
+          services.sync.tokenServerURI: http://localhost:5000/token/1.0/sync/1.5
+          </screen>
+
+          where <option>http://localhost:5000/</option> corresponds to the
+          public url of the server.
+        '';
+      };
+
+      listen.address = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        example = "0.0.0.0";
+        description = ''
+          Address on which the sync server listen to.
+        '';
+      };
+
+      listen.port = mkOption {
+        type = types.int;
+        default = 5000;
+        description = ''
+          Port on which the sync server listen to.
+        '';
+      };
+
+      publicUrl = mkOption {
+        type = types.str;
+        default = "http://localhost:5000/";
+        example = "http://sync.example.com/";
+        description = ''
+          Public URL with which firefox users can use to access the sync server.
+        '';
+      };
+
+      allowNewUsers = mkOption {
+        type = types.bool;
+        default = true;
+        example = false;
+        description = ''
+          Whether to allow new-user signups on the server. Only request by
+          existing accounts will be honored.
+        '';
+      };
+
+      sqlUri = mkOption {
+        type = types.str;
+        default = "sqlite:////var/db/firefox-sync-server.db";
+        example = "postgresql://scott:tiger@localhost/test";
+        description = ''
+          The location of the database. This URL is composed of
+          <option>dialect[+driver]://user:password@host/dbname[?key=value..]</option>,
+          where <option>dialect</option> is a database name such as
+          <option>mysql</option>, <option>oracle</option>, <option>postgresql</option>,
+          etc., and <option>driver</option> the name of a DBAPI, such as
+          <option>psycopg2</option>, <option>pyodbc</option>, <option>cx_oracle</option>,
+          etc. The <link
+          xlink:href="http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html#database-urls">
+          SQLAlchemy documentation</link> provides more examples and describe the syntax of
+          the expected URL.
+        '';
+      };
+
+      privateConfig = mkOption {
+        type = types.str;
+        default = "/etc/firefox/syncserver-secret.ini";
+        description = ''
+          The private config file is used to extend the generated config with confidential
+          information, such as the <option>syncserver.sqlUri</option> setting if it contains a
+          password, and the <option>syncserver.secret</option> setting is used by the server to
+          generate cryptographically-signed authentication tokens.
+
+          If this file does not exists, then it is created with a generated
+          <option>syncserver.secret</option> settings.
+       '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.syncserver = {
+      after = [ "network.target" ];
+      description = "Firefox Sync Server";
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.pythonPackages.pasteScript pkgs.coreutils ];
+      environment.PYTHONPATH = "${pkgs.pythonPackages.syncserver}/lib/${pkgs.pythonPackages.python.libPrefix}/site-packages";
+      preStart = ''
+        if ! test -e ${cfg.privateConfig}; then
+          umask u=rwx,g=x,o=x
+          mkdir -p $(dirname ${cfg.privateConfig})
+          echo  > ${cfg.privateConfig} '[syncserver]'
+          echo >> ${cfg.privateConfig} "secret = $(head -c 20 /dev/urandom | sha1sum | tr -d ' -')"
+        fi
+      '';
+      serviceConfig.ExecStart = "paster serve ${syncServerIni}";
+    };
+
+  };
+}
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index 42914bfe5d6..b05a640e11f 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -37,6 +37,186 @@ let
       }
     '';
 
+  writeShScript = name: text: let dir = pkgs.writeScriptBin name ''
+    #! ${pkgs.stdenv.shell} -e
+    ${text}
+  ''; in "${dir}/bin/${name}";
+
+  startScript = writeShScript "firewall-start" ''
+    ${helpers}
+
+    # Flush the old firewall rules.  !!! Ideally, updating the
+    # firewall would be atomic.  Apparently that's possible
+    # with iptables-restore.
+    ip46tables -D INPUT -j nixos-fw 2> /dev/null || true
+    for chain in nixos-fw nixos-fw-accept nixos-fw-log-refuse nixos-fw-refuse FW_REFUSE; do
+      ip46tables -F "$chain" 2> /dev/null || true
+      ip46tables -X "$chain" 2> /dev/null || true
+    done
+
+
+    # The "nixos-fw-accept" chain just accepts packets.
+    ip46tables -N nixos-fw-accept
+    ip46tables -A nixos-fw-accept -j ACCEPT
+
+
+    # The "nixos-fw-refuse" chain rejects or drops packets.
+    ip46tables -N nixos-fw-refuse
+
+    ${if cfg.rejectPackets then ''
+      # Send a reset for existing TCP connections that we've
+      # somehow forgotten about.  Send ICMP "port unreachable"
+      # for everything else.
+      ip46tables -A nixos-fw-refuse -p tcp ! --syn -j REJECT --reject-with tcp-reset
+      ip46tables -A nixos-fw-refuse -j REJECT
+    '' else ''
+      ip46tables -A nixos-fw-refuse -j DROP
+    ''}
+
+
+    # The "nixos-fw-log-refuse" chain performs logging, then
+    # jumps to the "nixos-fw-refuse" chain.
+    ip46tables -N nixos-fw-log-refuse
+
+    ${optionalString cfg.logRefusedConnections ''
+      ip46tables -A nixos-fw-log-refuse -p tcp --syn -j LOG --log-level info --log-prefix "rejected connection: "
+    ''}
+    ${optionalString (cfg.logRefusedPackets && !cfg.logRefusedUnicastsOnly) ''
+      ip46tables -A nixos-fw-log-refuse -m pkttype --pkt-type broadcast \
+        -j LOG --log-level info --log-prefix "rejected broadcast: "
+      ip46tables -A nixos-fw-log-refuse -m pkttype --pkt-type multicast \
+        -j LOG --log-level info --log-prefix "rejected multicast: "
+    ''}
+    ip46tables -A nixos-fw-log-refuse -m pkttype ! --pkt-type unicast -j nixos-fw-refuse
+    ${optionalString cfg.logRefusedPackets ''
+      ip46tables -A nixos-fw-log-refuse \
+        -j LOG --log-level info --log-prefix "rejected packet: "
+    ''}
+    ip46tables -A nixos-fw-log-refuse -j nixos-fw-refuse
+
+
+    # The "nixos-fw" chain does the actual work.
+    ip46tables -N nixos-fw
+
+    # Perform a reverse-path test to refuse spoofers
+    # For now, we just drop, as the raw table doesn't have a log-refuse yet
+    ${optionalString (kernelHasRPFilter && cfg.checkReversePath) ''
+      if ! ip46tables -A PREROUTING -t raw -m rpfilter --invert -j DROP; then
+        echo "<2>failed to initialise rpfilter support" >&2
+      fi
+    ''}
+
+    # Accept all traffic on the trusted interfaces.
+    ${flip concatMapStrings cfg.trustedInterfaces (iface: ''
+      ip46tables -A nixos-fw -i ${iface} -j nixos-fw-accept
+    '')}
+
+    # Accept packets from established or related connections.
+    ip46tables -A nixos-fw -m conntrack --ctstate ESTABLISHED,RELATED -j nixos-fw-accept
+
+    # Accept connections to the allowed TCP ports.
+    ${concatMapStrings (port:
+        ''
+          ip46tables -A nixos-fw -p tcp --dport ${toString port} -j nixos-fw-accept
+        ''
+      ) cfg.allowedTCPPorts
+    }
+
+    # Accept connections to the allowed TCP port ranges.
+    ${concatMapStrings (rangeAttr:
+        let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in
+        ''
+          ip46tables -A nixos-fw -p tcp --dport ${range} -j nixos-fw-accept
+        ''
+      ) cfg.allowedTCPPortRanges
+    }
+
+    # Accept packets on the allowed UDP ports.
+    ${concatMapStrings (port:
+        ''
+          ip46tables -A nixos-fw -p udp --dport ${toString port} -j nixos-fw-accept
+        ''
+      ) cfg.allowedUDPPorts
+    }
+
+    # Accept packets on the allowed UDP port ranges.
+    ${concatMapStrings (rangeAttr:
+        let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in
+        ''
+          ip46tables -A nixos-fw -p udp --dport ${range} -j nixos-fw-accept
+        ''
+      ) cfg.allowedUDPPortRanges
+    }
+
+    # Accept IPv4 multicast.  Not a big security risk since
+    # probably nobody is listening anyway.
+    #iptables -A nixos-fw -d 224.0.0.0/4 -j nixos-fw-accept
+
+    # Optionally respond to ICMPv4 pings.
+    ${optionalString cfg.allowPing ''
+      iptables -w -A nixos-fw -p icmp --icmp-type echo-request ${optionalString (cfg.pingLimit != null)
+        "-m limit ${cfg.pingLimit} "
+      }-j nixos-fw-accept
+    ''}
+
+    # Accept all ICMPv6 messages except redirects and node
+    # information queries (type 139).  See RFC 4890, section
+    # 4.4.
+    ${optionalString config.networking.enableIPv6 ''
+      ip6tables -A nixos-fw -p icmpv6 --icmpv6-type redirect -j DROP
+      ip6tables -A nixos-fw -p icmpv6 --icmpv6-type 139 -j DROP
+      ip6tables -A nixos-fw -p icmpv6 -j nixos-fw-accept
+    ''}
+
+    ${cfg.extraCommands}
+
+    # Reject/drop everything else.
+    ip46tables -A nixos-fw -j nixos-fw-log-refuse
+
+
+    # Enable the firewall.
+    ip46tables -A INPUT -j nixos-fw
+  '';
+
+  stopScript = writeShScript "firewall-stop" ''
+    ${helpers}
+
+    # Clean up in case reload fails
+    ip46tables -D INPUT -j nixos-drop 2>/dev/null || true
+
+    # Clean up after added ruleset
+    ip46tables -D INPUT -j nixos-fw 2>/dev/null || true
+
+    ${optionalString (kernelHasRPFilter && cfg.checkReversePath) ''
+      if ! ip46tables -D PREROUTING -t raw -m rpfilter --invert -j DROP; then
+        echo "<2>failed to stop rpfilter support" >&2
+      fi
+    ''}
+
+    ${cfg.extraStopCommands}
+  '';
+
+  reloadScript = writeShScript "firewall-reload" ''
+    ${helpers}
+
+    # Create a unique drop rule
+    ip46tables -D INPUT -j nixos-drop 2>/dev/null || true
+    ip46tables -F nixos-drop 2>/dev/null || true
+    ip46tables -X nixos-drop 2>/dev/null || true
+    ip46tables -N nixos-drop
+    ip46tables -A nixos-drop -j DROP
+
+    # Don't allow traffic to leak out until the script has completed
+    ip46tables -A INPUT -j nixos-drop
+    if ${startScript}; then
+      ip46tables -D INPUT -j nixos-drop 2>/dev/null || true
+    else
+      echo "Failed to reload firewall... Stopping"
+      ${stopScript}
+      exit 1
+    fi
+  '';
+
   kernelPackages = config.boot.kernelPackages;
 
   kernelHasRPFilter = kernelPackages.kernel.features.netfilterRPFilter or false;
@@ -176,7 +356,7 @@ in
         ''
           If pings are allowed, this allows setting rate limits
           on them. If non-null, this option should be in the form
-          of flags like "-limit 1/minute -limit-burst 5"
+          of flags like "--limit 1/minute --limit-burst 5"
         '';
     };
 
@@ -240,6 +420,18 @@ in
         '';
     };
 
+    networking.firewall.extraStopCommands = mkOption {
+      type = types.lines;
+      default = "";
+      example = "iptables -P INPUT ACCEPT";
+      description =
+        ''
+          Additional shell commands executed as part of the firewall
+          shutdown script.  These are executed just after the removal
+          of the nixos input rule, or if the service enters a failed state.
+        '';
+    };
+
   };
 
 
@@ -251,7 +443,7 @@ in
 
     networking.firewall.trustedInterfaces = [ "lo" ];
 
-    environment.systemPackages = [ pkgs.iptables ];
+    environment.systemPackages = [ pkgs.iptables pkgs.ipset ];
 
     boot.kernelModules = map (x: "nf_conntrack_${x}") cfg.connectionTrackingModules;
     boot.extraModprobeConfig = optionalString (!cfg.autoLoadConntrackHelpers) ''
@@ -264,166 +456,29 @@ in
                      message = "This kernel does not support disabling conntrack helpers"; }
                  ];
 
-    systemd.services.firewall =
-      { description = "Firewall";
-
-        wantedBy = [ "network.target" ];
-        after = [ "network-interfaces.target" "systemd-modules-load.service" ];
-
-        path = [ pkgs.iptables ];
-
-        # FIXME: this module may also try to load kernel modules, but
-        # containers don't have CAP_SYS_MODULE. So the host system had
-        # better have all necessary modules already loaded.
-        unitConfig.ConditionCapability = "CAP_NET_ADMIN";
-
-        serviceConfig.Type = "oneshot";
-        serviceConfig.RemainAfterExit = true;
-
-        script =
-          ''
-            ${helpers}
-
-            # Flush the old firewall rules.  !!! Ideally, updating the
-            # firewall would be atomic.  Apparently that's possible
-            # with iptables-restore.
-            ip46tables -D INPUT -j nixos-fw 2> /dev/null || true
-            for chain in nixos-fw nixos-fw-accept nixos-fw-log-refuse nixos-fw-refuse FW_REFUSE; do
-              ip46tables -F "$chain" 2> /dev/null || true
-              ip46tables -X "$chain" 2> /dev/null || true
-            done
-
-
-            # The "nixos-fw-accept" chain just accepts packets.
-            ip46tables -N nixos-fw-accept
-            ip46tables -A nixos-fw-accept -j ACCEPT
-
-
-            # The "nixos-fw-refuse" chain rejects or drops packets.
-            ip46tables -N nixos-fw-refuse
-
-            ${if cfg.rejectPackets then ''
-              # Send a reset for existing TCP connections that we've
-              # somehow forgotten about.  Send ICMP "port unreachable"
-              # for everything else.
-              ip46tables -A nixos-fw-refuse -p tcp ! --syn -j REJECT --reject-with tcp-reset
-              ip46tables -A nixos-fw-refuse -j REJECT
-            '' else ''
-              ip46tables -A nixos-fw-refuse -j DROP
-            ''}
-
-
-            # The "nixos-fw-log-refuse" chain performs logging, then
-            # jumps to the "nixos-fw-refuse" chain.
-            ip46tables -N nixos-fw-log-refuse
-
-            ${optionalString cfg.logRefusedConnections ''
-              ip46tables -A nixos-fw-log-refuse -p tcp --syn -j LOG --log-level info --log-prefix "rejected connection: "
-            ''}
-            ${optionalString (cfg.logRefusedPackets && !cfg.logRefusedUnicastsOnly) ''
-              ip46tables -A nixos-fw-log-refuse -m pkttype --pkt-type broadcast \
-                -j LOG --log-level info --log-prefix "rejected broadcast: "
-              ip46tables -A nixos-fw-log-refuse -m pkttype --pkt-type multicast \
-                -j LOG --log-level info --log-prefix "rejected multicast: "
-            ''}
-            ip46tables -A nixos-fw-log-refuse -m pkttype ! --pkt-type unicast -j nixos-fw-refuse
-            ${optionalString cfg.logRefusedPackets ''
-              ip46tables -A nixos-fw-log-refuse \
-                -j LOG --log-level info --log-prefix "rejected packet: "
-            ''}
-            ip46tables -A nixos-fw-log-refuse -j nixos-fw-refuse
-
-
-            # The "nixos-fw" chain does the actual work.
-            ip46tables -N nixos-fw
-
-            # Perform a reverse-path test to refuse spoofers
-            # For now, we just drop, as the raw table doesn't have a log-refuse yet
-            ${optionalString (kernelHasRPFilter && cfg.checkReversePath) ''
-              if ! ip46tables -A PREROUTING -t raw -m rpfilter --invert -j DROP; then
-                echo "<2>failed to initialise rpfilter support" >&2
-              fi
-            ''}
-
-            # Accept all traffic on the trusted interfaces.
-            ${flip concatMapStrings cfg.trustedInterfaces (iface: ''
-              ip46tables -A nixos-fw -i ${iface} -j nixos-fw-accept
-            '')}
-
-            # Accept packets from established or related connections.
-            ip46tables -A nixos-fw -m conntrack --ctstate ESTABLISHED,RELATED -j nixos-fw-accept
-
-            # Accept connections to the allowed TCP ports.
-            ${concatMapStrings (port:
-                ''
-                  ip46tables -A nixos-fw -p tcp --dport ${toString port} -j nixos-fw-accept
-                ''
-              ) cfg.allowedTCPPorts
-            }
-
-            # Accept connections to the allowed TCP port ranges.
-            ${concatMapStrings (rangeAttr:
-                let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in
-                ''
-                  ip46tables -A nixos-fw -p tcp --dport ${range} -j nixos-fw-accept
-                ''
-              ) cfg.allowedTCPPortRanges
-            }
-
-            # Accept packets on the allowed UDP ports.
-            ${concatMapStrings (port:
-                ''
-                  ip46tables -A nixos-fw -p udp --dport ${toString port} -j nixos-fw-accept
-                ''
-              ) cfg.allowedUDPPorts
-            }
-
-            # Accept packets on the allowed UDP port ranges.
-            ${concatMapStrings (rangeAttr:
-                let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in
-                ''
-                  ip46tables -A nixos-fw -p udp --dport ${range} -j nixos-fw-accept
-                ''
-              ) cfg.allowedUDPPortRanges
-            }
-
-            # Accept IPv4 multicast.  Not a big security risk since
-            # probably nobody is listening anyway.
-            #iptables -A nixos-fw -d 224.0.0.0/4 -j nixos-fw-accept
-
-            # Optionally respond to ICMPv4 pings.
-            ${optionalString cfg.allowPing ''
-              iptables -w -A nixos-fw -p icmp --icmp-type echo-request ${optionalString (cfg.pingLimit != null)
-                "-m limit ${cfg.pingLimit} "
-              }-j nixos-fw-accept
-            ''}
-
-            # Accept all ICMPv6 messages except redirects and node
-            # information queries (type 139).  See RFC 4890, section
-            # 4.4.
-            ${optionalString config.networking.enableIPv6 ''
-              ip6tables -A nixos-fw -p icmpv6 --icmpv6-type redirect -j DROP
-              ip6tables -A nixos-fw -p icmpv6 --icmpv6-type 139 -j DROP
-              ip6tables -A nixos-fw -p icmpv6 -j nixos-fw-accept
-            ''}
-
-            ${cfg.extraCommands}
-
-            # Reject/drop everything else.
-            ip46tables -A nixos-fw -j nixos-fw-log-refuse
-
-
-            # Enable the firewall.
-            ip46tables -A INPUT -j nixos-fw
-          '';
-
-        postStop =
-          ''
-            ${helpers}
-            ip46tables -D INPUT -j nixos-fw || true
-            #ip46tables -P INPUT ACCEPT
-          '';
+    systemd.services.firewall = {
+      description = "Firewall";
+      wantedBy = [ "network-pre.target" ];
+      before = [ "network-pre.target" ];
+      after = [ "systemd-modules-load.service" ];
+
+      path = [ pkgs.iptables pkgs.ipset ];
+
+      # FIXME: this module may also try to load kernel modules, but
+      # containers don't have CAP_SYS_MODULE. So the host system had
+      # better have all necessary modules already loaded.
+      unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+
+      reloadIfChanged = true;
+
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStart = "@${startScript} firewall-start";
+        ExecReload = "@${reloadScript} firewall-reload";
+        ExecStop = "@${stopScript} firewall-stop";
       };
+    };
 
   };
 
diff --git a/nixos/modules/services/networking/git-daemon.nix b/nixos/modules/services/networking/git-daemon.nix
index 5864efaca51..566936a7d0f 100644
--- a/nixos/modules/services/networking/git-daemon.nix
+++ b/nixos/modules/services/networking/git-daemon.nix
@@ -3,7 +3,6 @@ with lib;
 let
 
   cfg = config.services.gitDaemon;
-  gitUser = "git";
 
 in
 {
@@ -14,6 +13,7 @@ in
     services.gitDaemon = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
         description = ''
           Enable Git daemon, which allows public hosting  of git repositories
@@ -28,6 +28,7 @@ in
       };
 
       basePath = mkOption {
+        type = types.str;
         default = "";
         example = "/srv/git/";
         description = ''
@@ -38,6 +39,7 @@ in
       };
 
       exportAll = mkOption {
+        type = types.bool;
         default = false;
         description = ''
           Publish all directories that look like Git repositories (have the objects
@@ -52,6 +54,7 @@ in
       };
 
       repositories = mkOption {
+        type = types.listOf types.str;
         default = [];
         example = [ "/srv/git" "/home/user/git/repo2" ];
         description = ''
@@ -64,21 +67,36 @@ in
       };
 
       listenAddress = mkOption {
+        type = types.str;
         default = "";
         example = "example.com";
         description = "Listen on a specific IP address or hostname.";
       };
 
       port = mkOption {
+        type = types.int;
         default = 9418;
         description = "Port to listen on.";
       };
 
       options = mkOption {
+        type = types.str;
         default = "";
         description = "Extra configuration options to be passed to Git daemon.";
       };
 
+      user = mkOption {
+        type = types.str;
+        default = "git";
+        description = "User under which Git daemon would be running.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "git";
+        description = "Group under which Git daemon would be running.";
+      };
+
     };
   };
 
@@ -86,14 +104,14 @@ in
 
   config = mkIf cfg.enable {
 
-    users.extraUsers = singleton
-      { name = gitUser;
+    users.extraUsers = if cfg.user != "git" then {} else singleton
+      { name = "git";
         uid = config.ids.uids.git;
         description = "Git daemon user";
       };
 
-    users.extraGroups = singleton
-      { name = gitUser;
+    users.extraGroups = if cfg.group != "git" then {} else singleton
+      { name = "git";
         gid = config.ids.gids.git;
       };
 
@@ -103,8 +121,8 @@ in
       exec = "${pkgs.git}/bin/git daemon --reuseaddr "
         + (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ")
         + (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ")
-        + "--port=${toString cfg.port} --user=${gitUser} --group=${gitUser} ${cfg.options} "
-        + "--verbose " + (optionalString cfg.exportAll "--export-all")  + concatStringsSep " " cfg.repositories;
+        + "--port=${toString cfg.port} --user=${cfg.user} --group=${cfg.group} ${cfg.options} "
+        + "--verbose " + (optionalString cfg.exportAll "--export-all ")  + concatStringsSep " " cfg.repositories;
     };
 
   };
diff --git a/nixos/modules/services/networking/gogoclient.nix b/nixos/modules/services/networking/gogoclient.nix
index 41600794197..9d16f0efb43 100644
--- a/nixos/modules/services/networking/gogoclient.nix
+++ b/nixos/modules/services/networking/gogoclient.nix
@@ -76,8 +76,7 @@ in
         exec ${pkgs.gogoclient}/bin/gogoc -y -f /var/lib/gogoc/gogoc.conf
       '';
     } // optionalAttrs cfg.autorun {
-      wantedBy = [ "ip-up.target" ];
-      partOf = [ "ip-up.target" ];
+      wantedBy = [ "multi-user.target" ];
     };
 
   };
diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix
index c2e2c2d7a41..09e48ec4bff 100644
--- a/nixos/modules/services/networking/haproxy.nix
+++ b/nixos/modules/services/networking/haproxy.nix
@@ -9,51 +9,21 @@ with lib;
     services.haproxy = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
-        description = "
-          Enable the HAProxy.
-        ";
+        description = ''
+          Whether to enable HAProxy, the reliable, high performance TCP/HTTP
+          load balancer.
+        '';
       };
 
       config = mkOption {
-        default =
-          ''
-          global
-            log 127.0.0.1 local6
-            maxconn  24000
-            daemon
-            nbproc 1
-
-          defaults
-            mode http
-            option httpclose
-
-            # Remove requests from the queue if people press stop button
-            option abortonclose
-
-            # Try to connect this many times on failure
-            retries 3
-
-            # If a client is bound to a particular backend but it goes down,
-            # send them to a different one
-            option redispatch
-
-            monitor-uri /haproxy-ping
-
-            timeout connect 7s
-            timeout queue   300s
-            timeout client  300s
-            timeout server  300s
-
-            # Enable status page at this URL, on the port HAProxy is bound to
-            stats enable
-            stats uri /haproxy-status
-            stats refresh 5s
-            stats realm Haproxy statistics
-          '';
-        description = "
-          Default configuration.
-        ";
+        type = types.nullOr types.lines;
+        default = null;
+        description = ''
+          Contents of the HAProxy configuration file,
+          <filename>haproxy.conf</filename>.
+        '';
       };
 
     };
@@ -62,16 +32,21 @@ with lib;
 
   config = mkIf cfg.enable {
 
+    assertions = [{
+      assertion = cfg.config != null;
+      message = "You must provide services.haproxy.config.";
+    }];
+
     systemd.services.haproxy = {
       description = "HAProxy";
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
         Type = "forking";
-        PIDFile = "/var/run/haproxy.pid";
+        PIDFile = "/run/haproxy.pid";
         ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -q -f ${haproxyCfg}";
-        ExecStart = "${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /var/run/haproxy.pid";
-        ExecReload = "-${pkgs.bash}/bin/bash -c \"exec ${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /var/run/haproxy.pid -sf $MAINPID\"";
+        ExecStart = "${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid";
+        ExecReload = "-${pkgs.bash}/bin/bash -c \"exec ${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid -sf $MAINPID\"";
       };
     };
 
diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix
new file mode 100644
index 00000000000..7ee78f01d49
--- /dev/null
+++ b/nixos/modules/services/networking/i2pd.nix
@@ -0,0 +1,198 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.i2pd;
+
+  homeDir = "/var/lib/i2pd";
+
+  extip = "EXTIP=\$(${pkgs.curl}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')";
+
+  i2pSh = pkgs.writeScriptBin "i2pd" ''
+    #!/bin/sh
+    ${if isNull cfg.extIp then extip else ""}
+    ${pkgs.i2pd}/bin/i2p --log=1 --daemon=0 --service=0 \
+      --v6=${if cfg.enableIPv6 then "1" else "0"} \
+      --unreachable=${if cfg.unreachable then "1" else "0"} \
+      --host=${if isNull cfg.extIp then "$EXTIP" else cfg.extIp} \
+      ${if isNull cfg.port then "" else "--port=${toString cfg.port}"} \
+      --httpproxyport=${toString cfg.proxy.httpPort} \
+      --socksproxyport=${toString cfg.proxy.socksPort} \
+      --ircport=${toString cfg.irc.port} \
+      --ircdest=${cfg.irc.dest} \
+      --irckeys=${cfg.irc.keyFile} \
+      --eepport=${toString cfg.eep.port} \
+      ${if isNull cfg.sam.port then "" else "--samport=${toString cfg.sam.port}"} \
+      --eephost=${cfg.eep.host} \
+      --eepkeys=${cfg.eep.keyFile}
+  '';
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.i2pd = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables I2Pd as a running service upon activation.
+        '';
+      };
+
+      extIp = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        description = ''
+          Your external IP.
+        '';
+      };
+
+      unreachable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          If the router is declared to be unreachable and needs introduction nodes.
+        '';
+      };
+
+      port = mkOption {
+        type = with types; nullOr int;
+        default = null;
+        description = ''
+          I2P listen port. If no one is given the router will pick between 9111 and 30777.
+        '';
+      };
+
+      enableIPv6 = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables IPv6 connectivity. Disabled by default.
+        '';
+      };
+
+      http = {
+        port = mkOption {
+          type = types.int;
+          default = 7070;
+          description = ''
+            HTTP listen port.
+          '';
+        };
+      };
+
+      proxy = {
+        httpPort = mkOption {
+          type = types.int;
+          default = 4446;
+          description = ''
+            HTTP proxy listen port.
+          '';
+        };
+        socksPort = mkOption {
+          type = types.int;
+          default = 4447;
+          description = ''
+            SOCKS proxy listen port.
+          '';
+        };
+      };
+
+      irc = {
+        dest = mkOption {
+          type = types.str;
+          default = "irc.postman.i2p";
+          description = ''
+            Destination I2P tunnel endpoint address of IRC server. irc.postman.i2p by default.
+          '';
+        };
+        port = mkOption {
+          type = types.int;
+          default = 6668;
+          description = ''
+            Local IRC tunnel endoint port to listen on. 6668 by default.
+          '';
+        };
+        keyFile = mkOption {
+          type = types.str;
+          default = "privKeys.dat";
+          description = ''
+            File name containing destination keys. privKeys.dat by default.
+          '';
+        };
+      };
+
+      eep = {
+        host = mkOption {
+          type = types.str;
+          default = "127.0.0.1";
+          description = ''
+            Address to forward incoming traffic to. 127.0.0.1 by default.
+          '';
+        };
+        port = mkOption {
+          type = types.int;
+          default = 80;
+          description = ''
+            Port to forward incoming traffic to. 80 by default.
+          '';
+        };
+        keyFile = mkOption {
+          type = types.str;
+          default = "privKeys.dat";
+          description = ''
+            File name containing destination keys. privKeys.dat by default.
+          '';
+        };
+      };
+
+      sam = {
+        port = mkOption {
+          type = with types; nullOr int;
+          default = null;
+          description = ''
+            Local SAM tunnel endpoint. Usually 7656. SAM is disabled if not specified.
+          '';
+        };
+      };
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers.i2pd = {
+      group = "i2pd";
+      description = "I2Pd User";
+      home = homeDir;
+      createHome = true;
+      uid = config.ids.uids.i2pd;
+    };
+
+    users.extraGroups.i2pd.gid = config.ids.gids.i2pd;
+
+    systemd.services.i2pd = {
+      description = "Minimal I2P router";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig =
+      {
+        User = "i2pd";
+        WorkingDirectory = homeDir;
+        Restart = "on-abort";
+        ExecStart = "${i2pSh}/bin/i2pd";
+      };
+    };
+  };
+}
+#
diff --git a/nixos/modules/services/networking/mailpile.nix b/nixos/modules/services/networking/mailpile.nix
new file mode 100644
index 00000000000..e164d41483c
--- /dev/null
+++ b/nixos/modules/services/networking/mailpile.nix
@@ -0,0 +1,76 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.mailpile;
+
+  hostname = cfg.hostname;
+  port = cfg.port;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.mailpile = {
+      enable = mkOption {
+        default = false;
+        description = "
+          Whether to enable Mailpile the mail client.
+        ";
+      };
+      hostname = mkOption {
+        default = "localhost";
+        description = "Listen to this hostname or ip.";
+      };
+      port = mkOption {
+        default = "33411";
+        description = "Listen on this port.";
+      };
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf config.services.mailpile.enable {
+
+    users.extraUsers.mailpile =
+      { uid = config.ids.uids.mailpile;
+        description = "Mailpile user";
+        createHome = true;
+        home = "/var/lib/mailpile";
+      };
+
+    users.extraGroups.mailpile =
+      { gid = config.ids.gids.mailpile;
+      };
+
+    systemd.services.mailpile =
+      {
+        description = "Mailpile server.";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          User = "mailpile";
+          ExecStart = "${pkgs.mailpile}/bin/mailpile --www ${hostname}:${port} --wait";
+          # mixed - first send SIGINT to main process,
+          # then after 2min send SIGKILL to whole group if neccessary
+          KillMode = "mixed";
+          KillSignal = "SIGINT";  # like Ctrl+C - safe mailpile shutdown
+          TimeoutSec = 120;  # wait 2min untill SIGKILL
+        };
+        environment.MAILPILE_HOME = "/var/lib/mailpile/.local/share/Mailpile";
+      };
+
+    environment.systemPackages = [ pkgs.mailpile ];
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix
index a519857d6a0..989ee4d91af 100644
--- a/nixos/modules/services/networking/minidlna.nix
+++ b/nixos/modules/services/networking/minidlna.nix
@@ -79,7 +79,7 @@ in
       { description = "MiniDLNA Server";
 
         wantedBy = [ "multi-user.target" ];
-        after = [ "network.target" ];
+        after = [ "network.target" "local-fs.target" ];
 
         preStart =
           ''
diff --git a/nixos/modules/services/networking/mstpd.nix b/nixos/modules/services/networking/mstpd.nix
new file mode 100644
index 00000000000..5d1fc4a6542
--- /dev/null
+++ b/nixos/modules/services/networking/mstpd.nix
@@ -0,0 +1,33 @@
+{ config, lib, pkgs, ... }:
+let
+  cfg = config.services.mstpd;
+in
+with lib;
+{
+  options.services.mstpd = {
+    
+    enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Whether to enable the multiple spanning tree protocol daemon.
+      '';
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.mstpd ];
+
+    systemd.services.mstpd = {
+      description = "Multiple Spanning Tree Protocol Daemon";
+      wantedBy = [ "network.target" ];
+      unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "@${pkgs.mstpd}/bin/mstpd mstpd";
+        PIDFile = "/run/mstpd.pid";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix
index e8d9d00cc0a..9d163e60d5e 100644
--- a/nixos/modules/services/networking/nat.nix
+++ b/nixos/modules/services/networking/nat.nix
@@ -12,6 +12,52 @@ let
 
   dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}";
 
+  flushNat = ''
+    iptables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true
+    iptables -w -t nat -F nixos-nat-pre 2>/dev/null || true
+    iptables -w -t nat -X nixos-nat-pre 2>/dev/null || true
+    iptables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
+    iptables -w -t nat -F nixos-nat-post 2>/dev/null || true
+    iptables -w -t nat -X nixos-nat-post 2>/dev/null || true
+  '';
+
+  setupNat = ''
+    # Create subchain where we store rules
+    iptables -w -t nat -N nixos-nat-pre
+    iptables -w -t nat -N nixos-nat-post
+
+    # We can't match on incoming interface in POSTROUTING, so
+    # mark packets coming from the external interfaces.
+    ${concatMapStrings (iface: ''
+      iptables -w -t nat -A nixos-nat-pre \
+        -i '${iface}' -j MARK --set-mark 1
+    '') cfg.internalInterfaces}
+
+    # NAT the marked packets.
+    ${optionalString (cfg.internalInterfaces != []) ''
+      iptables -w -t nat -A nixos-nat-post -m mark --mark 1 \
+        -o ${cfg.externalInterface} ${dest}
+    ''}
+
+    # NAT packets coming from the internal IPs.
+    ${concatMapStrings (range: ''
+      iptables -w -t nat -A nixos-nat-post \
+        -s '${range}' -o ${cfg.externalInterface} ${dest}
+    '') cfg.internalIPs}
+
+    # NAT from external ports to internal ports.
+    ${concatMapStrings (fwd: ''
+      iptables -w -t nat -A nixos-nat-pre \
+        -i ${cfg.externalInterface} -p tcp \
+        --dport ${builtins.toString fwd.sourcePort} \
+        -j DNAT --to-destination ${fwd.destination}
+    '') cfg.forwardPorts}
+
+    # Append our chains to the nat tables
+    iptables -w -t nat -A PREROUTING -j nixos-nat-pre
+    iptables -w -t nat -A POSTROUTING -j nixos-nat-post
+  '';
+
 in
 
 {
@@ -75,6 +121,31 @@ in
         '';
     };
 
+    networking.nat.forwardPorts = mkOption {
+      type = types.listOf types.optionSet;
+      default = [];
+      example = [ { sourcePort = 8080; destination = "10.0.0.1:80"; } ];
+      options = {
+        sourcePort = mkOption {
+          type = types.int;
+          example = 8080;
+          description = "Source port of the external interface";
+        };
+
+        destination = mkOption {
+          type = types.str;
+          example = "10.0.0.1:80";
+          description = "Forward tcp connection to destination ip:port";
+        };
+      };
+
+      description =
+        ''
+          List of forwarded ports from the external interface to
+          internal destinations by using DNAT.
+        '';
+    };
+
   };
 
 
@@ -84,49 +155,34 @@ in
 
     environment.systemPackages = [ pkgs.iptables ];
 
-    boot.kernelModules = [ "nf_nat_ftp" ];
-
-    jobs.nat =
-      { description = "Network Address Translation";
-
-        startOn = "started network-interfaces";
-
-        path = [ pkgs.iptables ];
-
-        preStart =
-          ''
-            iptables -w -t nat -F PREROUTING
-            iptables -w -t nat -F POSTROUTING
-            iptables -w -t nat -X
-
-            # We can't match on incoming interface in POSTROUTING, so
-            # mark packets coming from the external interfaces.
-            ${concatMapStrings (iface: ''
-              iptables -w -t nat -A PREROUTING \
-                -i '${iface}' -j MARK --set-mark 1
-            '') cfg.internalInterfaces}
-
-            # NAT the marked packets.
-            ${optionalString (cfg.internalInterfaces != []) ''
-              iptables -w -t nat -A POSTROUTING -m mark --mark 1 \
-                -o ${cfg.externalInterface} ${dest}
-            ''}
-
-            # NAT packets coming from the internal IPs.
-            ${concatMapStrings (range: ''
-              iptables -w -t nat -A POSTROUTING \
-                -s '${range}' -o ${cfg.externalInterface} ${dest}
-            '') cfg.internalIPs}
-
-            echo 1 > /proc/sys/net/ipv4/ip_forward
-          '';
-
-        postStop =
-          ''
-            iptables -w -t nat -F PREROUTING
-            iptables -w -t nat -F POSTROUTING
-            iptables -w -t nat -X
-          '';
+    boot = {
+      kernelModules = [ "nf_nat_ftp" ];
+      kernel.sysctl = {
+        "net.ipv4.conf.all.forwarding" = mkOverride 99 true;
+        "net.ipv4.conf.default.forwarding" = mkOverride 99 true;
       };
+    };
+
+    networking.firewall = mkIf config.networking.firewall.enable {
+      extraCommands = mkMerge [ (mkBefore flushNat) setupNat ];
+      extraStopCommands = flushNat;
+    };
+
+    systemd.services = mkIf (!config.networking.firewall.enable) { nat = {
+      description = "Network Address Translation";
+      wantedBy = [ "network.target" ];
+      after = [ "network-interfaces.target" "systemd-modules-load.service" ];
+      path = [ pkgs.iptables ];
+      unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+
+      script = flushNat + setupNat;
+
+      postStop = flushNat;
+    }; };
   };
 }
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index bc1c95d3fd3..f00c5d1f701 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -52,6 +52,7 @@ let
     #!/bin/sh
     if test "$2" = "up"; then
       ${config.systemd.package}/bin/systemctl start ip-up.target
+      ${config.systemd.package}/bin/systemctl start network-online.target
     fi
   '';
 
@@ -70,6 +71,13 @@ let
     ${coreutils}/bin/rm -f $tmp $tmp.ns
   '';
 
+  # pre-up and pre-down hooks were added in NM 0.9.10, but we still use 0.9.0
+  dispatcherTypesSubdirMap = {
+    "basic" = "";
+    /*"pre-up" = "pre-up.d/";
+    "pre-down" = "pre-down.d/";*/
+  };
+
 in {
 
   ###### interface
@@ -117,6 +125,30 @@ in {
         '';
       };
 
+      dispatcherScripts = mkOption {
+        type = types.listOf (types.submodule {
+          options = {
+            source = mkOption {
+              type = types.str;
+              description = ''
+                A script source.
+              '';
+            };
+
+            type = mkOption {
+              type = types.enum (attrNames dispatcherTypesSubdirMap); 
+              default = "basic";
+              description = ''
+                Dispatcher hook type. Only basic hooks are currently available.
+              '';
+            };
+          };
+        });
+        default = [];
+        description = ''
+          A list of scripts which will be executed in response to  network  events.
+        '';
+      };
     };
   };
 
@@ -151,16 +183,24 @@ in {
       { 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";
+      }
     ] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
            { source = overrideNameserversScript;
              target = "NetworkManager/dispatcher.d/02overridedns";
-           };
+           }
+      ++ lib.imap (i: s: {
+        text = s.source;
+        target = "NetworkManager/dispatcher.d/${dispatcherTypesSubdirMap.${s.type}}03userscript${lib.fixedWidthNumber 4 i}";
+      }) cfg.dispatcherScripts;
 
     environment.systemPackages = cfg.packages ++ [
         networkmanager_openvpn
         networkmanager_vpnc
         networkmanager_openconnect
         networkmanager_pptp
+        networkmanager_l2tp
         modemmanager
         ];
 
@@ -177,8 +217,8 @@ in {
     systemd.services."networkmanager-init" = {
       description = "NetworkManager initialisation";
       wantedBy = [ "network.target" ];
-      wants = [ "NetworkManager.service" ];
-      before = [ "NetworkManager.service" ];
+      wants = [ "network-manager.service" ];
+      before = [ "network-manager.service" ];
       script = ''
         mkdir -m 700 -p /etc/NetworkManager/system-connections
         mkdir -m 755 -p ${stateDirs}
@@ -193,7 +233,7 @@ in {
     };
 
     powerManagement.resumeCommands = ''
-      systemctl restart NetworkManager
+      ${config.systemd.package}/bin/systemctl restart network-manager
     '';
 
     security.polkit.extraConfig = polkitConf;
@@ -204,6 +244,7 @@ in {
         networkmanager_vpnc
         networkmanager_openconnect
         networkmanager_pptp
+        networkmanager_l2tp
         modemmanager
         ];
 
diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix
index db8cb122871..36d9f5d2f16 100644
--- a/nixos/modules/services/networking/nsd.nix
+++ b/nixos/modules/services/networking/nsd.nix
@@ -9,17 +9,25 @@ let
   stateDir = "/var/lib/nsd";
   pidFile  = stateDir + "/var/nsd.pid";
 
+  nsdPkg = pkgs.nsd.override {
+    bind8Stats = cfg.bind8Stats;
+    ipv6       = cfg.ipv6;
+    ratelimit  = cfg.ratelimit.enable;
+    rootServer = cfg.rootServer;
+    zoneStats  = length (collect (x: (x.zoneStats or null) != null) cfg.zones) > 0;
+  };
+
   zoneFiles = pkgs.stdenv.mkDerivation {
-      preferLocalBuild = true;
-      name = "nsd-env";
-      buildCommand = concatStringsSep "\n"
-        [ "mkdir -p $out"
-          (concatStrings (mapAttrsToList (zoneName: zoneOptions: ''
-            cat > "$out/${zoneName}" <<_EOF_
-            ${zoneOptions.data}
-            _EOF_
-          '') zoneConfigs))
-        ];
+    preferLocalBuild = true;
+    name = "nsd-env";
+    buildCommand = concatStringsSep "\n"
+      [ "mkdir -p $out"
+        (concatStrings (mapAttrsToList (zoneName: zoneOptions: ''
+          cat > "$out/${zoneName}" <<_EOF_
+          ${zoneOptions.data}
+          _EOF_
+        '') zoneConfigs))
+      ];
   };
 
   configFile = pkgs.writeText "nsd.conf" ''
@@ -33,7 +41,6 @@ let
       # the list of dynamically added zones.
       zonelistfile: "${stateDir}/var/zone.list"
       database:     "${stateDir}/var/nsd.db"
-      logfile:      "${stateDir}/var/nsd.log"
       pidfile:      "${pidFile}"
       xfrdfile:     "${stateDir}/var/xfrd.state"
       xfrdir:       "${stateDir}/tmp"
@@ -105,21 +112,21 @@ let
 
 
   zoneConfigFile = name: zone: ''
-        zone:
-          name:         "${name}"
-          zonefile:     "${stateDir}/zones/${name}"
-          ${maybeString "outgoing-interface: " zone.outgoingInterface}
-        ${forEach     "  rrl-whitelist: "      zone.rrlWhitelist}
-
-        ${forEach     "  allow-notify: "       zone.allowNotify}
-        ${forEach     "  request-xfr: "        zone.requestXFR}
-          allow-axfr-fallback: ${yesOrNo       zone.allowAXFRFallback}
-
-        ${forEach     "  notify: "             zone.notify}
-          notify-retry:                        ${toString zone.notifyRetry}
-        ${forEach     "  provide-xfr: "        zone.provideXFR}
-
-    '';
+    zone:
+      name:         "${name}"
+      zonefile:     "${stateDir}/zones/${name}"
+      ${maybeString "zonestats: "          zone.zoneStats}
+      ${maybeString "outgoing-interface: " zone.outgoingInterface}
+    ${forEach     "  rrl-whitelist: "      zone.rrlWhitelist}
+
+    ${forEach     "  allow-notify: "       zone.allowNotify}
+    ${forEach     "  request-xfr: "        zone.requestXFR}
+      allow-axfr-fallback: ${yesOrNo       zone.allowAXFRFallback}
+
+    ${forEach     "  notify: "             zone.notify}
+      notify-retry:                        ${toString zone.notifyRetry}
+    ${forEach     "  provide-xfr: "        zone.provideXFR}
+  '';
 
   zoneConfigs = zoneConfigs' {} "" { children = cfg.zones; };
 
@@ -130,8 +137,8 @@ let
 
       # fork -> pattern
       else zipAttrsWith (name: head) (
-          mapAttrsToList (name: child: zoneConfigs' (parent // zone // { children = {}; }) name child)
-                         zone.children
+        mapAttrsToList (name: child: zoneConfigs' (parent // zone // { children = {}; }) name child)
+                       zone.children
       );
 
   # fighting infinite recursion
@@ -145,138 +152,148 @@ let
 
   childConfig = x: v: { options.children = { type = types.attrsOf x; visible = v; }; };
 
-  zoneOptionsRaw = types.submodule (
-    { options, ... }:
-    { options = {
-        children = mkOption {
-            default     = {};
-            description = ''
-              Children zones inherit all options of their parents. Attributes
-              defined in a child will overwrite the ones of its parent. Only
-              leaf zones will be actually served. This way it's possible to
-              define maybe zones which share most attributes without
-              duplicating everything. This mechanism replaces nsd's patterns
-              in a save and functional way.
-            '';
-        };
+  zoneOptionsRaw = types.submodule {
+    options = {
+      children = mkOption {
+        default     = {};
+        description = ''
+          Children zones inherit all options of their parents. Attributes
+          defined in a child will overwrite the ones of its parent. Only
+          leaf zones will be actually served. This way it's possible to
+          define maybe zones which share most attributes without
+          duplicating everything. This mechanism replaces nsd's patterns
+          in a save and functional way.
+        '';
+      };
 
-        allowNotify = mkOption {
-          type        = types.listOf types.str;
-          default     = [ ];
-          example     = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name"
-                           "10.0.3.4&255.255.0.0 BLOCKED"
-                        ];
-          description = ''
-            Listed primary servers are allowed to notify this secondary server.
-            <screen><![CDATA[
-            Format: <ip> <key-name | NOKEY | BLOCKED>
-
-            <ip> either a plain IPv4/IPv6 address or range. Valid patters for ranges:
-            * 10.0.0.0/24            # via subnet size
-            * 10.0.0.0&255.255.255.0 # via subnet mask
-            * 10.0.0.1-10.0.0.254    # via range
-
-            A optional port number could be added with a '@':
-            * 2001:1234::1@1234
-
-            <key-name | NOKEY | BLOCKED>
-            * <key-name> will use the specified TSIG key
-            * NOKEY      no TSIG signature is required
-            * BLOCKED    notifies from non-listed or blocked IPs will be ignored
-            * ]]></screen>
-          '';
-        };
+      allowNotify = mkOption {
+        type        = types.listOf types.str;
+        default     = [ ];
+        example     = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name"
+                        "10.0.3.4&255.255.0.0 BLOCKED"
+                      ];
+        description = ''
+          Listed primary servers are allowed to notify this secondary server.
+          <screen><![CDATA[
+          Format: <ip> <key-name | NOKEY | BLOCKED>
+
+          <ip> either a plain IPv4/IPv6 address or range. Valid patters for ranges:
+          * 10.0.0.0/24            # via subnet size
+          * 10.0.0.0&255.255.255.0 # via subnet mask
+          * 10.0.0.1-10.0.0.254    # via range
+
+          A optional port number could be added with a '@':
+          * 2001:1234::1@1234
+
+          <key-name | NOKEY | BLOCKED>
+          * <key-name> will use the specified TSIG key
+          * NOKEY      no TSIG signature is required
+          * BLOCKED    notifies from non-listed or blocked IPs will be ignored
+          * ]]></screen>
+        '';
+      };
 
-        requestXFR = mkOption {
-          type        = types.listOf types.str;
-          default     = [];
-          example     = [];
-          description = ''
-            Format: <code>[AXFR|UDP] &lt;ip-address&gt; &lt;key-name | NOKEY&gt;</code>
-          '';
-        };
+      requestXFR = mkOption {
+        type        = types.listOf types.str;
+        default     = [];
+        example     = [];
+        description = ''
+          Format: <code>[AXFR|UDP] &lt;ip-address&gt; &lt;key-name | NOKEY&gt;</code>
+        '';
+      };
 
-        allowAXFRFallback = mkOption {
-          type        = types.bool;
-          default     = true;
-          description = ''
-            If NSD as secondary server should be allowed to AXFR if the primary
-            server does not allow IXFR.
-          '';
-        };
+      allowAXFRFallback = mkOption {
+        type        = types.bool;
+        default     = true;
+        description = ''
+          If NSD as secondary server should be allowed to AXFR if the primary
+          server does not allow IXFR.
+        '';
+      };
 
-        notify = mkOption {
-          type        = types.listOf types.str;
-          default     = [];
-          example     = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ];
-          description = ''
-            This primary server will notify all given secondary servers about
-            zone changes.
-            <screen><![CDATA[
-            Format: <ip> <key-name | NOKEY>
+      notify = mkOption {
+        type        = types.listOf types.str;
+        default     = [];
+        example     = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ];
+        description = ''
+          This primary server will notify all given secondary servers about
+          zone changes.
+          <screen><![CDATA[
+          Format: <ip> <key-name | NOKEY>
 
-            <ip> a plain IPv4/IPv6 address with on optional port number (ip@port)
+          <ip> a plain IPv4/IPv6 address with on optional port number (ip@port)
 
-            <key-name | NOKEY>
-            * <key-name> sign notifies with the specified key
-            * NOKEY      don't sign notifies
-            ]]></screen>
-          '';
-        };
+          <key-name | NOKEY>
+          * <key-name> sign notifies with the specified key
+          * NOKEY      don't sign notifies
+          ]]></screen>
+        '';
+      };
 
-        notifyRetry = mkOption {
-          type        = types.int;
-          default     = 5;
-          description = ''
-            Specifies the number of retries for failed notifies. Set this along with notify.
-          '';
-        };
+      notifyRetry = mkOption {
+        type        = types.int;
+        default     = 5;
+        description = ''
+          Specifies the number of retries for failed notifies. Set this along with notify.
+        '';
+      };
 
-        provideXFR = mkOption {
-          type        = types.listOf types.str;
-          default     = [];
-          example     = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ];
-          description = ''
-            Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED
-            address range 192.0.2.0/24, 1.2.3.4&amp;255.255.0.0, 3.0.2.20-3.0.2.40
-          '';
-        };
+      provideXFR = mkOption {
+        type        = types.listOf types.str;
+        default     = [];
+        example     = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ];
+        description = ''
+          Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED
+          address range 192.0.2.0/24, 1.2.3.4&amp;255.255.0.0, 3.0.2.20-3.0.2.40
+        '';
+      };
 
-        outgoingInterface = mkOption {
-          type        = types.nullOr types.str;
-          default     = null;
-          example     = "2000::1@1234";
-          description = ''
-            This address will be used for zone-transfere requests if configured
-            as a secondary server or notifications in case of a primary server.
-            Supply either a plain IPv4 or IPv6 address with an optional port
-            number (ip@port).
-          '';
-        };
+      outgoingInterface = mkOption {
+        type        = types.nullOr types.str;
+        default     = null;
+        example     = "2000::1@1234";
+        description = ''
+          This address will be used for zone-transfere requests if configured
+          as a secondary server or notifications in case of a primary server.
+          Supply either a plain IPv4 or IPv6 address with an optional port
+          number (ip@port).
+        '';
+      };
 
-        rrlWhitelist = mkOption {
-          type        = types.listOf types.str;
-          default     = [];
-          description = ''
-            Whitelists the given rrl-types.
-            The RRL classification types are:  nxdomain,  error, referral, any,
-            rrsig, wildcard, nodata, dnskey, positive, all
-          '';
-        };
+      rrlWhitelist = mkOption {
+        type        = types.listOf types.str;
+        default     = [];
+        description = ''
+          Whitelists the given rrl-types.
+          The RRL classification types are:  nxdomain,  error, referral, any,
+          rrsig, wildcard, nodata, dnskey, positive, all
+        '';
+      };
 
-        data = mkOption {
-          type        = types.str;
-          default     = "";
-          example     = "";
-          description = ''
-            The actual zone data. This is the content of your zone file.
-            Use imports or pkgs.lib.readFile if you don't want this data in your config file.
-          '';
-        };
+      data = mkOption {
+        type        = types.str;
+        default     = "";
+        example     = "";
+        description = ''
+          The actual zone data. This is the content of your zone file.
+          Use imports or pkgs.lib.readFile if you don't want this data in your config file.
+        '';
+      };
 
+      zoneStats = mkOption {
+        type        = types.nullOr types.str;
+        default     = null;
+        example     = "%s";
+        description = ''
+          When set to something distinct to null NSD is able to collect
+          statistics per zone. All statistics of this zone(s) will be added
+          to the group specified by this given name. Use "%s" to use the zones
+          name as the group. The groups are output from nsd-control stats
+          and stats_noreset.
+        '';
       };
-    }
-  );
+    };
+  };
 
 in
 {
@@ -291,6 +308,15 @@ in
         '';
       };
 
+      bind8Stats = mkOption {
+        type        = types.bool;
+        default     = false;
+        example     = true;
+        description = ''
+          Wheter to enable BIND8 like statisics.
+        '';
+      };
+
       rootServer = mkOption {
         type        = types.bool;
         default     = false;
@@ -456,191 +482,162 @@ in
       };
 
 
-      ratelimit = mkOption {
-        type = types.submodule (
-          { options, ... }:
-          { options = {
-
-              enable = mkOption {
-                type        = types.bool;
-                default     = false;
-                description = ''
-                  Enable ratelimit capabilities.
-                '';
-              };
-
-              size = mkOption {
-                type        = types.int;
-                default     = 1000000;
-                description = ''
-                  Size of the hashtable. More buckets use more memory but lower
-                  the chance of hash hash collisions.
-                '';
-              };
+      ratelimit = {
+        enable = mkOption {
+          type        = types.bool;
+          default     = false;
+          description = ''
+            Enable ratelimit capabilities.
+          '';
+        };
 
-              ratelimit = mkOption {
-                type        = types.int;
-                default     = 200;
-                description = ''
-                  Max qps allowed from any query source.
-                  0 means unlimited. With an verbosity of 2 blocked and
-                  unblocked subnets will be logged.
-                '';
-              };
+        size = mkOption {
+          type        = types.int;
+          default     = 1000000;
+          description = ''
+            Size of the hashtable. More buckets use more memory but lower
+            the chance of hash hash collisions.
+          '';
+        };
 
-              whitelistRatelimit = mkOption {
-                type        = types.int;
-                default     = 2000;
-                description = ''
-                  Max qps allowed from whitelisted sources.
-                  0 means unlimited. Set the rrl-whitelist option for specific
-                  queries to apply this limit instead of the default to them.
-                '';
-              };
+        ratelimit = mkOption {
+          type        = types.int;
+          default     = 200;
+          description = ''
+            Max qps allowed from any query source.
+            0 means unlimited. With an verbosity of 2 blocked and
+            unblocked subnets will be logged.
+          '';
+        };
 
-              slip = mkOption {
-                type        = types.nullOr types.int;
-                default     = null;
-                description = ''
-                  Number of packets that get discarded before replying a SLIP response.
-                  0 disables SLIP responses. 1 will make every response a SLIP response.
-                '';
-              };
+        whitelistRatelimit = mkOption {
+          type        = types.int;
+          default     = 2000;
+          description = ''
+            Max qps allowed from whitelisted sources.
+            0 means unlimited. Set the rrl-whitelist option for specific
+            queries to apply this limit instead of the default to them.
+          '';
+        };
 
-              ipv4PrefixLength = mkOption {
-                type        = types.nullOr types.int;
-                default     = null;
-                description = ''
-                  IPv4 prefix length. Addresses are grouped by netblock.
-                '';
-              };
+        slip = mkOption {
+          type        = types.nullOr types.int;
+          default     = null;
+          description = ''
+            Number of packets that get discarded before replying a SLIP response.
+            0 disables SLIP responses. 1 will make every response a SLIP response.
+          '';
+        };
 
-              ipv6PrefixLength = mkOption {
-                type        = types.nullOr types.int;
-                default     = null;
-                description = ''
-                  IPv6 prefix length. Addresses are grouped by netblock.
-                '';
-              };
+        ipv4PrefixLength = mkOption {
+          type        = types.nullOr types.int;
+          default     = null;
+          description = ''
+            IPv4 prefix length. Addresses are grouped by netblock.
+          '';
+        };
 
-            };
-          });
-        default = {
+        ipv6PrefixLength = mkOption {
+          type        = types.nullOr types.int;
+          default     = null;
+          description = ''
+            IPv6 prefix length. Addresses are grouped by netblock.
+          '';
         };
-        example = {};
-        description = ''
-        '';
       };
 
 
-      remoteControl = mkOption {
-        type = types.submodule (
-          { config, options, ... }:
-          { options = {
-
-              enable = mkOption {
-                type        = types.bool;
-                default     = false;
-                description = ''
-                  Wheter to enable remote control via nsd-control(8).
-                '';
-              };
-
-              interfaces = mkOption {
-                type        = types.listOf types.str;
-                default     = [ "127.0.0.1" "::1" ];
-                description = ''
-                  Which interfaces NSD should bind to for remote control.
-                '';
-              };
-
-              port = mkOption {
-                type        = types.int;
-                default     = 8952;
-                description = ''
-                  Port number for remote control operations (uses TLS over TCP).
-                '';
-              };
+      remoteControl = {
+        enable = mkOption {
+          type        = types.bool;
+          default     = false;
+          description = ''
+            Wheter to enable remote control via nsd-control(8).
+          '';
+        };
 
-              serverKeyFile = mkOption {
-                type        = types.path;
-                default     = "/etc/nsd/nsd_server.key";
-                description = ''
-                  Path to the server private key, which is used by the server
-                  but not by nsd-control. This file is generated by nsd-control-setup.
-                '';
-              };
+        interfaces = mkOption {
+          type        = types.listOf types.str;
+          default     = [ "127.0.0.1" "::1" ];
+          description = ''
+            Which interfaces NSD should bind to for remote control.
+          '';
+        };
 
-              serverCertFile = mkOption {
-                type        = types.path;
-                default     = "/etc/nsd/nsd_server.pem";
-                description = ''
-                  Path to the server self signed certificate, which is used by the server
-                  but and by nsd-control. This file is generated by nsd-control-setup.
-                '';
-              };
+        port = mkOption {
+          type        = types.int;
+          default     = 8952;
+          description = ''
+            Port number for remote control operations (uses TLS over TCP).
+          '';
+        };
 
-              controlKeyFile = mkOption {
-                type        = types.path;
-                default     = "/etc/nsd/nsd_control.key";
-                description = ''
-                  Path to the client private key, which is used by nsd-control
-                  but not by the server. This file is generated by nsd-control-setup.
-                '';
-              };
+        serverKeyFile = mkOption {
+          type        = types.path;
+          default     = "/etc/nsd/nsd_server.key";
+          description = ''
+            Path to the server private key, which is used by the server
+            but not by nsd-control. This file is generated by nsd-control-setup.
+          '';
+        };
 
-              controlCertFile = mkOption {
-                type        = types.path;
-                default     = "/etc/nsd/nsd_control.pem";
-                description = ''
-                  Path to the client certificate signed with the server certificate.
-                  This file is used by nsd-control and generated by nsd-control-setup.
-                '';
-              };
+        serverCertFile = mkOption {
+          type        = types.path;
+          default     = "/etc/nsd/nsd_server.pem";
+          description = ''
+            Path to the server self signed certificate, which is used by the server
+            but and by nsd-control. This file is generated by nsd-control-setup.
+          '';
+        };
 
-            };
+        controlKeyFile = mkOption {
+          type        = types.path;
+          default     = "/etc/nsd/nsd_control.key";
+          description = ''
+            Path to the client private key, which is used by nsd-control
+            but not by the server. This file is generated by nsd-control-setup.
+          '';
+        };
 
-          });
-        default = {
+        controlCertFile = mkOption {
+          type        = types.path;
+          default     = "/etc/nsd/nsd_control.pem";
+          description = ''
+            Path to the client certificate signed with the server certificate.
+            This file is used by nsd-control and generated by nsd-control-setup.
+          '';
         };
-        example = {};
-        description = ''
-        '';
       };
 
 
       keys = mkOption {
-        type = types.attrsOf (types.submodule (
-          { options, ... }:
-          { options = {
-
-              algorithm = mkOption {
-                type        = types.str;
-                default     = "hmac-sha256";
-                description = ''
-                  Authentication algorithm for this key.
-                '';
-              };
-
-              keyFile = mkOption {
-                type        = types.path;
-                description = ''
-                  Path to the file which contains the actual base64 encoded
-                  key. The key will be copied into "${stateDir}/private" before
-                  NSD starts. The copied file is only accessibly by the NSD
-                  user.
-                '';
-              };
+        type = types.attrsOf (types.submodule {
+          options = {
+            algorithm = mkOption {
+              type        = types.str;
+              default     = "hmac-sha256";
+              description = ''
+                Authentication algorithm for this key.
+              '';
+            };
 
+            keyFile = mkOption {
+              type        = types.path;
+              description = ''
+                Path to the file which contains the actual base64 encoded
+                key. The key will be copied into "${stateDir}/private" before
+                NSD starts. The copied file is only accessibly by the NSD
+                user.
+              '';
             };
-          }));
-        default = {
-        };
+          };
+        });
+        default = {};
         example = {
-            "tsig.example.org" = {
-              algorithm = "hmac-md5";
-              secret    = "aaaaaabbbbbbccccccdddddd";
-            };
+          "tsig.example.org" = {
+            algorithm = "hmac-md5";
+            secret    = "aaaaaabbbbbbccccccdddddd";
+          };
         };
         description = ''
           Define your TSIG keys here.
@@ -651,32 +648,32 @@ in
         type        = types.attrsOf zoneOptions;
         default     = {};
         example     = {
-            "serverGroup1" = {
-                provideXFR = [ "10.1.2.3 NOKEY" ];
-                children = {
-                    "example.com." = {
-                        data = ''
-                          $ORIGIN example.com.
-                          $TTL    86400
-                          @ IN SOA a.ns.example.com. admin.example.com. (
-                          ...
-                        '';
-                    };
-                    "example.org." = {
-                        data = ''
-                          $ORIGIN example.org.
-                          $TTL    86400
-                          @ IN SOA a.ns.example.com. admin.example.com. (
-                          ...
-                        '';
-                    };
-                };
+          "serverGroup1" = {
+            provideXFR = [ "10.1.2.3 NOKEY" ];
+            children = {
+              "example.com." = {
+                data = ''
+                  $ORIGIN example.com.
+                  $TTL    86400
+                  @ IN SOA a.ns.example.com. admin.example.com. (
+                  ...
+                '';
+              };
+              "example.org." = {
+                data = ''
+                  $ORIGIN example.org.
+                  $TTL    86400
+                  @ IN SOA a.ns.example.com. admin.example.com. (
+                  ...
+                '';
+              };
             };
+          };
 
-            "example.net." = {
-                provideXFR = [ "10.3.2.1 NOKEY" ];
-                data = ''...'';
-            };
+          "example.net." = {
+            provideXFR = [ "10.3.2.1 NOKEY" ];
+            data = ''...'';
+          };
         };
         description = ''
           Define your zones here. Zones can cascade other zones and therefore
@@ -693,25 +690,18 @@ in
 
   config = mkIf cfg.enable {
 
-    # this is not working :(
-    nixpkgs.config.nsd = {
-        ipv6       = cfg.ipv6;
-        ratelimit  = cfg.ratelimit.enable;
-        rootServer = cfg.rootServer;
-    };
-
     users.extraGroups = singleton {
-        name = username;
-        gid  = config.ids.gids.nsd;
+      name = username;
+      gid  = config.ids.gids.nsd;
     };
 
     users.extraUsers = singleton {
-        name        = username;
-        description = "NSD service user";
-        home        = stateDir;
-        createHome  = true;
-        uid         = config.ids.uids.nsd;
-        group       = username;
+      name        = username;
+      description = "NSD service user";
+      home        = stateDir;
+      createHome  = true;
+      uid         = config.ids.uids.nsd;
+      group       = username;
     };
 
     systemd.services.nsd = {
@@ -720,10 +710,9 @@ in
       after       = [ "network.target" ];
 
       serviceConfig = {
-        Type      = "forking";
         PIDFile   = pidFile;
         Restart   = "always";
-        ExecStart = "${pkgs.nsd}/sbin/nsd -c ${configFile}";
+        ExecStart = "${nsdPkg}/sbin/nsd -d -c ${configFile}";
       };
 
       preStart = ''
diff --git a/nixos/modules/services/networking/ntpd.nix b/nixos/modules/services/networking/ntpd.nix
index 2f638904406..a9183577d0a 100644
--- a/nixos/modules/services/networking/ntpd.nix
+++ b/nixos/modules/services/networking/ntpd.nix
@@ -11,19 +11,15 @@ let
   ntpUser = "ntp";
 
   configFile = pkgs.writeText "ntp.conf" ''
-    # Keep the drift file in ${stateDir}/ntp.drift.  However, since we
-    # chroot to ${stateDir}, we have to specify it as /ntp.drift.
-    driftfile /ntp.drift
+    driftfile ${stateDir}/ntp.drift
 
-    restrict default kod nomodify notrap nopeer noquery
-    restrict -6 default kod nomodify notrap nopeer noquery
     restrict 127.0.0.1
     restrict -6 ::1
 
     ${toString (map (server: "server " + server + " iburst\n") config.services.ntp.servers)}
   '';
 
-  ntpFlags = "-c ${configFile} -u ${ntpUser}:nogroup -i ${stateDir}";
+  ntpFlags = "-c ${configFile} -u ${ntpUser}:nogroup";
 
 in
 
@@ -45,9 +41,10 @@ in
 
       servers = mkOption {
         default = [
-          "0.pool.ntp.org"
-          "1.pool.ntp.org"
-          "2.pool.ntp.org"
+          "0.nixos.pool.ntp.org"
+          "1.nixos.pool.ntp.org"
+          "2.nixos.pool.ntp.org"
+          "3.nixos.pool.ntp.org"
         ];
         description = ''
           The set of NTP servers from which to synchronise.
@@ -63,7 +60,7 @@ in
 
   config = mkIf config.services.ntp.enable {
 
-    # Make tools such as ntpq available in the system path
+    # Make tools such as ntpq available in the system path.
     environment.systemPackages = [ pkgs.ntp ];
 
     users.extraUsers = singleton
@@ -73,13 +70,10 @@ in
         home = stateDir;
       };
 
-    jobs.ntpd =
+    systemd.services.ntpd =
       { description = "NTP Daemon";
 
-        wantedBy = [ "ip-up.target" ];
-        partOf = [ "ip-up.target" ];
-
-        path = [ ntp ];
+        wantedBy = [ "multi-user.target" ];
 
         preStart =
           ''
@@ -87,7 +81,10 @@ in
             chown ${ntpUser} ${stateDir}
           '';
 
-        exec = "ntpd -g -n ${ntpFlags}";
+        serviceConfig = {
+          ExecStart = "@${ntp}/bin/ntpd ntpd -g ${ntpFlags}";
+          Type = "forking";
+        };
       };
 
   };
diff --git a/nixos/modules/services/networking/nylon.nix b/nixos/modules/services/networking/nylon.nix
new file mode 100644
index 00000000000..da6487dbd49
--- /dev/null
+++ b/nixos/modules/services/networking/nylon.nix
@@ -0,0 +1,139 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.nylon;
+
+  homeDir = "/var/lib/nylon";
+
+  configFile = pkgs.writeText "nylon.conf" ''
+    [General]
+    No-Simultaneous-Conn=${toString cfg.nrConnections}
+    Log=${if cfg.logging then "1" else "0"}
+    Verbose=${if cfg.verbosity then "1" else "0"}
+
+    [Server]
+    Binding-Interface=${cfg.acceptInterface}
+    Connecting-Interface=${cfg.bindInterface}
+    Port=${toString cfg.port}
+    Allow-IP=${concatStringsSep " " cfg.allowedIPRanges}
+    Deny-IP=${concatStringsSep " " cfg.deniedIPRanges}
+  '';
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.nylon = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables nylon as a running service upon activation.
+        '';
+      };
+
+      nrConnections = mkOption {
+        type = types.int;
+        default = 10;
+        description = ''
+          The number of allowed simultaneous connections to the daemon, default 10.
+        '';
+      };
+
+      logging = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable logging, default is no logging.
+        '';
+      };
+
+      verbosity = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable verbose output, default is to not be verbose.
+        '';
+      };
+
+      acceptInterface = mkOption {
+        type = types.string;
+        default = "lo";
+        description = ''
+          Tell nylon which interface to listen for client requests on, default is "lo".
+        '';
+      };
+
+      bindInterface = mkOption {
+        type = types.string;
+        default = "enp3s0f0";
+        description = ''
+          Tell nylon which interface to use as an uplink, default is "enp3s0f0".
+        '';
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 1080;
+        description = ''
+          What port to listen for client requests, default is 1080.
+        '';
+      };
+
+      allowedIPRanges = mkOption {
+        type = with types; listOf string;
+        default = [ "192.168.0.0/16" "127.0.0.1/8" "172.16.0.1/12" "10.0.0.0/8" ];
+        description = ''
+           Allowed client IP ranges are evaluated first, defaults to ARIN IPv4 private ranges:
+             [ "192.168.0.0/16" "127.0.0.0/8" "172.16.0.0/12" "10.0.0.0/8" ]
+        '';
+      };
+
+      deniedIPRanges = mkOption {
+        type = with types; listOf string;
+        default = [ "0.0.0.0/0" ];
+        description = ''
+          Denied client IP ranges, these gets evaluated after the allowed IP ranges, defaults to all IPv4 addresses:
+            [ "0.0.0.0/0" ]
+          To block all other access than the allowed.
+        '';
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers.nylon= {
+      group = "nylon";
+      description = "Nylon SOCKS Proxy";
+      home = homeDir;
+      createHome = true;
+      uid = config.ids.uids.nylon;
+    };
+
+    users.extraGroups.nylon.gid = config.ids.gids.nylon;
+
+    systemd.services.nylon = {
+      description = "Nylon, a lightweight SOCKS proxy server";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig =
+      {
+        User = "nylon";
+        Group = "nylon";
+        WorkingDirectory = homeDir;
+        ExecStart = "${pkgs.nylon}/bin/nylon -f -c ${configFile}";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix
new file mode 100644
index 00000000000..e53fc574fbe
--- /dev/null
+++ b/nixos/modules/services/networking/openntpd.nix
@@ -0,0 +1,72 @@
+{ pkgs, lib, config, options, ... }:
+
+with lib;
+
+let
+  cfg = config.services.openntpd;
+
+  package = pkgs.openntpd_nixos;
+
+  cfgFile = pkgs.writeText "openntpd.conf" ''
+    ${concatStringsSep "\n" (map (s: "server ${s}") cfg.servers)}
+    ${cfg.extraConfig}
+  '';
+in
+{
+  ###### interface
+
+  options.services.openntpd = {
+    enable = mkEnableOption "OpenNTP time synchronization server";
+
+    servers = mkOption {
+      default = config.services.ntp.servers;
+      type = types.listOf types.str;
+      inherit (options.services.ntp.servers) description;
+    };
+
+    extraConfig = mkOption {
+      type = with types; lines;
+      default = "";
+      example = ''
+        listen on 127.0.0.1 
+        listen on ::1 
+      '';
+      description = ''
+        Additional text appended to <filename>openntpd.conf</filename>.
+      '';
+    };
+
+    extraOptions = mkOption {
+      type = with types; string;
+      default = "";
+      example = "-s";
+      description = ''
+        Extra options used when launching openntpd.
+      '';
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    services.ntp.enable = mkForce false;
+
+    # Add ntpctl to the environment for status checking
+    environment.systemPackages = [ package ];
+
+    users.extraUsers = singleton {
+      name = "ntp";
+      uid = config.ids.uids.ntp;
+      description = "OpenNTP daemon user";
+      home = "/var/empty";
+    };
+
+    systemd.services.openntpd = {
+      description = "OpenNTP Server";
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "network-online.target" ];
+      after = [ "dnsmasq.service" "bind.service" "network-online.target" ];
+      serviceConfig.ExecStart = "${package}/sbin/ntpd -d -f ${cfgFile} ${cfg.extraOptions}";
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/polipo.nix b/nixos/modules/services/networking/polipo.nix
index 05ded84625d..51179d9120f 100644
--- a/nixos/modules/services/networking/polipo.nix
+++ b/nixos/modules/services/networking/polipo.nix
@@ -103,12 +103,8 @@ in
       description = "caching web proxy";
       after = [ "network.target" "nss-lookup.target" ];
       wantedBy = [ "multi-user.target"];
-      preStart = ''
-         ${pkgs.coreutils}/bin/chown polipo:polipo /var/cache/polipo -R
-      '';
       serviceConfig = {
         ExecStart  = "${pkgs.polipo}/bin/polipo -c ${polipoConfig}";
-        ExecReload = "${pkgs.coreutils}/bin/kill -USR1 $MAINPID";
         User = "polipo";
       };
     };
diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix
index 950112b2dab..94beb78ef5a 100644
--- a/nixos/modules/services/networking/privoxy.nix
+++ b/nixos/modules/services/networking/privoxy.nix
@@ -6,19 +6,18 @@ let
 
   inherit (pkgs) privoxy;
 
-  stateDir = "/var/spool/privoxy";
-
   privoxyUser = "privoxy";
 
-  privoxyFlags = "--no-daemon --user ${privoxyUser} ${privoxyCfg}";
-
-  privoxyCfg = pkgs.writeText "privoxy.conf" ''
-    listen-address  ${config.services.privoxy.listenAddress}
-    logdir          ${config.services.privoxy.logDir}
-    confdir         ${privoxy}/etc
-    filterfile      default.filter
+  cfg = config.services.privoxy;
 
-    ${config.services.privoxy.extraConfig}
+  confFile = pkgs.writeText "privoxy.conf" ''
+    user-manual ${privoxy}/share/doc/privoxy/user-manual
+    confdir ${privoxy}/etc/
+    listen-address  ${cfg.listenAddress}
+    enable-edit-actions ${if (cfg.enableEditActions == true) then "1" else "0"}
+    ${concatMapStrings (f: "actionsfile ${f}\n") cfg.actionsFiles}
+    ${concatMapStrings (f: "filterfile ${f}\n") cfg.filterFiles}
+    ${cfg.extraConfig}
   '';
 
 in
@@ -32,27 +31,51 @@ in
     services.privoxy = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
         description = ''
-          Whether to run the machine as a HTTP proxy server.
+          Whether to enable the Privoxy non-caching filtering proxy.
         '';
       };
 
       listenAddress = mkOption {
+        type = types.str;
         default = "127.0.0.1:8118";
         description = ''
           Address the proxy server is listening to.
         '';
       };
 
-      logDir = mkOption {
-        default = "/var/log/privoxy" ;
+      actionsFiles = mkOption {
+        type = types.listOf types.str;
+        example = [ "match-all.action" "default.action" "/etc/privoxy/user.action" ];
+        default = [ "match-all.action" "default.action" ];
+        description = ''
+          List of paths to Privoxy action files.
+          These paths may either be absolute or relative to the privoxy configuration directory.
+        '';
+      };
+
+      filterFiles = mkOption {
+        type = types.listOf types.str;
+        example = [ "default.filter" "/etc/privoxy/user.filter" ];
+        default = [ "default.filter" ];
+        description = ''
+          List of paths to Privoxy filter files.
+          These paths may either be absolute or relative to the privoxy configuration directory.
+        '';
+      };
+
+      enableEditActions = mkOption {
+        type = types.bool;
+        default = false;
         description = ''
-          Location for privoxy log files.
+          Whether or not the web-based actions file editor may be used.
         '';
       };
 
       extraConfig = mkOption {
+        type = types.lines;
         default = "" ;
         description = ''
           Extra configuration. Contents will be added verbatim to the configuration file.
@@ -62,33 +85,22 @@ in
 
   };
 
-
   ###### implementation
 
-  config = mkIf config.services.privoxy.enable {
+  config = mkIf cfg.enable {
   
-    environment.systemPackages = [ privoxy ];
-
     users.extraUsers = singleton
       { name = privoxyUser;
         uid = config.ids.uids.privoxy;
         description = "Privoxy daemon user";
-        home = stateDir;
       };
 
-    jobs.privoxy =
-      { name = "privoxy";
-
-        startOn = "startup";
-
-        preStart =
-          ''
-            mkdir -m 0755 -p ${stateDir}
-            chown ${privoxyUser} ${stateDir}
-          '';
-
-        exec = "${privoxy}/sbin/privoxy ${privoxyFlags}";
-      };
+    systemd.services.privoxy = {
+      description = "Filtering web proxy";
+      after = [ "network.target" "nss-lookup.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig.ExecStart = "${privoxy}/sbin/privoxy --no-daemon --user ${privoxyUser} ${confFile}";
+    };
 
   };
 
diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix
new file mode 100644
index 00000000000..f82f8bfddbb
--- /dev/null
+++ b/nixos/modules/services/networking/prosody.nix
@@ -0,0 +1,280 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.prosody;
+
+  sslOpts = { ... }: {
+
+    options = {
+
+      # TODO: require attribute
+      key = mkOption {
+        type = types.str;
+        description = "Path to the key file";
+      };
+
+      # TODO: require attribute
+      cert = mkOption {
+        type = types.str;
+        description = "Path to the certificate file";
+      };
+    };
+  };
+
+  moduleOpts = {
+
+    roster = mkOption {
+      default = true;
+      description = "Allow users to have a roster";
+    };
+
+    saslauth = mkOption {
+      default = true;
+      description = "Authentication for clients and servers. Recommended if you want to log in.";
+    };
+
+    tls = mkOption {
+      default = true;
+      description = "Add support for secure TLS on c2s/s2s connections";
+    };
+
+    dialback = mkOption {
+      default = true;
+      description = "s2s dialback support";
+    };
+
+    disco = mkOption {
+      default = true;
+      description = "Service discovery";
+    };
+
+    legacyauth = mkOption {
+      default = true;
+      description = "Legacy authentication. Only used by some old clients and bots";
+    };
+
+    version = mkOption {
+      default = true;
+      description = "Replies to server version requests";
+    };
+
+    uptime = mkOption {
+      default = true;
+      description = "Report how long server has been running";
+    };
+
+    time = mkOption {
+      default = true;
+      description = "Let others know the time here on this server";
+    };
+
+    ping = mkOption {
+      default = true;
+      description = "Replies to XMPP pings with pongs";
+    };
+
+    console = mkOption {
+      default = false;
+      description = "telnet to port 5582";
+    };
+
+    bosh = mkOption {
+      default = false;
+      description = "Enable BOSH clients, aka 'Jabber over HTTP'";
+    };
+
+    httpserver = mkOption {
+      default = false;
+      description = "Serve static files from a directory over HTTP";
+    };
+
+    websocket = mkOption {
+      default = false;
+      description = "Enable WebSocket support";
+    };
+
+  };
+
+  createSSLOptsStr = o:
+    if o ? key && o ? cert then
+      ''ssl = { key = "${o.key}"; certificate = "${o.cert}"; };''
+    else "";
+
+  vHostOpts = { ... }: {
+
+    options = {
+
+      # TODO: require attribute
+      domain = mkOption {
+        type = types.str;
+        description = "Domain name";
+      };
+
+      enabled = mkOption {
+        default = false;
+        description = "Whether to enable the virtual host";
+      };
+
+      ssl = mkOption {
+        description = "Paths to SSL files";
+        default = null;
+        options = [ sslOpts ];
+      };
+
+      extraConfig = mkOption {
+        default = '''';
+        description = "Additional virtual host specific configuration";
+      };
+
+    };
+
+  };
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.prosody = {
+
+      enable = mkOption {
+        default = false;
+        description = "Whether to enable the prosody server";
+      };
+
+      allowRegistration = mkOption {
+        default = false;
+        description = "Allow account creation";
+      };
+
+      modules = moduleOpts;
+
+      extraModules = mkOption {
+        description = "Enable custom modules";
+        default = [];
+      };
+
+      virtualHosts = mkOption {
+
+        description = "Define the virtual hosts";
+
+        type = types.loaOf types.optionSet;
+
+        example = {
+          myhost = {
+            domain = "my-xmpp-example-host.org";
+            enabled = true;
+          };
+        };
+
+        default = {
+          localhost = {
+            domain = "localhost";
+            enabled = true;
+          };
+        };
+
+        options = [ vHostOpts ];
+      };
+
+      ssl = mkOption {
+        description = "Paths to SSL files";
+        default = null;
+        options = [ sslOpts ];
+      };
+
+      admins = mkOption {
+        description = "List of administrators of the current host";
+        example = [ "admin1@example.com" "admin2@example.com" ];
+        default = [];
+      };
+
+      extraConfig = mkOption {
+        default = '''';
+        description = "Additional prosody configuration";
+      };
+
+    };
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.prosody ];
+
+    environment.etc."prosody/prosody.cfg.lua".text = ''
+
+      pidfile = "/var/lib/prosody/prosody.pid"
+
+
+      log = "*syslog"
+
+      data_path = "/var/lib/prosody"
+
+      allow_registration = ${ if cfg.allowRegistration then "true" else "false" };
+
+      ${ optionalString cfg.modules.console "console_enabled = true;" }
+
+      ${ optionalString  (cfg.ssl != null) (createSSLOptsStr cfg.ssl) }
+
+      admins = { ${lib.concatStringsSep ", " (map (n: "\"${n}\"") cfg.admins) } };
+
+      modules_enabled = {
+
+        ${ lib.concatStringsSep "\n\ \ " (lib.mapAttrsToList
+          (name: val: optionalString val ''"${name}";'')
+        cfg.modules) }
+
+        ${ optionalString cfg.allowRegistration "\"register\"\;" }
+
+        ${ lib.concatStringsSep "\n" (map (x: "\"${x}\";") cfg.extraModules)}
+
+        "posix";
+      };
+
+      ${ cfg.extraConfig }
+
+      ${ lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: ''
+        VirtualHost "${v.domain}"
+          enabled = ${if v.enabled then "true" else "false"};
+          ${ optionalString (v.ssl != null) (createSSLOptsStr v.ssl) }
+          ${ v.extraConfig }
+        '') cfg.virtualHosts) }
+    '';
+
+    users.extraUsers.prosody = {
+      uid = config.ids.uids.prosody;
+      description = "Prosody user";
+      createHome = true;
+      group = "prosody";
+      home = "/var/lib/prosody";
+    };
+
+    users.extraGroups.prosody = {
+      gid = config.ids.gids.prosody;
+    };
+
+    systemd.services.prosody = {
+
+      description = "Prosody XMPP server";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "prosody";
+        PIDFile = "/var/lib/prosody/prosody.pid";
+        ExecStart = "${pkgs.prosody}/bin/prosodyctl start";
+      };
+
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix
index 749e5dcebb6..579d62884c7 100644
--- a/nixos/modules/services/networking/quassel.nix
+++ b/nixos/modules/services/networking/quassel.nix
@@ -74,21 +74,23 @@ in
         gid = config.ids.gids.quassel;
       }];
 
-    jobs.quassel =
+    systemd.services.quassel =
       { description = "Quassel IRC client daemon";
 
-        startOn = "ip-up";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network.target" ];
 
         preStart = ''
-            mkdir -p ${cfg.dataDir}
-            chown ${user} ${cfg.dataDir}
+          mkdir -p ${cfg.dataDir}
+          chown ${user} ${cfg.dataDir}
         '';
 
-        exec = ''
-            ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${user} \
-                -c '${quassel}/bin/quasselcore --listen=${cfg.interface}\
-                    --port=${toString cfg.portNumber} --configdir=${cfg.dataDir}'
-        '';
+        serviceConfig =
+        {
+          ExecStart = "${quassel}/bin/quasselcore --listen=${cfg.interface} --port=${toString cfg.portNumber} --configdir=${cfg.dataDir}";
+          User = user;
+          PermissionsStartOnly = true;
+        };
       };
 
   };
diff --git a/nixos/modules/services/networking/rdnssd.nix b/nixos/modules/services/networking/rdnssd.nix
index 4c1891816e3..95833d31e99 100644
--- a/nixos/modules/services/networking/rdnssd.nix
+++ b/nixos/modules/services/networking/rdnssd.nix
@@ -4,7 +4,12 @@
 { config, lib, pkgs, ... }:
 
 with lib;
-
+let
+  mergeHook = pkgs.writeScript "rdnssd-merge-hook" ''
+    #! ${pkgs.stdenv.shell} -e
+    ${pkgs.openresolv}/bin/resolvconf -u
+  '';
+in
 {
 
   ###### interface
@@ -30,18 +35,39 @@ with lib;
 
   config = mkIf config.services.rdnssd.enable {
 
-    jobs.rdnssd =
-      { description = "RDNSS daemon";
-
-        # Start before the network interfaces are brought up so that
-        # the daemon receives RDNSS advertisements from the kernel.
-        startOn = "starting network-interfaces";
-
-        # !!! Should write to /var/run/rdnssd/resolv.conf and run the daemon under another uid.
-        exec = "${pkgs.ndisc6}/sbin/rdnssd --resolv-file /etc/resolv.conf -u root";
-
-        daemonType = "fork";
+    systemd.services.rdnssd = {
+      description = "RDNSS daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      preStart = ''
+        # Create the proper run directory
+        mkdir -p /run/rdnssd
+        touch /run/rdnssd/resolv.conf
+        chown -R rdnssd /run/rdnssd
+
+        # Link the resolvconf interfaces to rdnssd
+        rm -f /run/resolvconf/interfaces/rdnssd
+        ln -s /run/rdnssd/resolv.conf /run/resolvconf/interfaces/rdnssd
+        ${mergeHook}
+      '';
+
+      postStop = ''
+        rm -f /run/resolvconf/interfaces/rdnssd
+        ${mergeHook}
+      '';
+
+      serviceConfig = {
+        ExecStart = "@${pkgs.ndisc6}/bin/rdnssd rdnssd -p /run/rdnssd/rdnssd.pid -r /run/rdnssd/resolv.conf -u rdnssd -H ${mergeHook}";
+        Type = "forking";
+        PIDFile = "/run/rdnssd/rdnssd.pid";
       };
+    };
+
+    users.extraUsers.rdnssd = {
+      description = "RDNSSD Daemon User";
+      uid = config.ids.uids.rdnssd;
+    };
 
   };
 
diff --git a/nixos/modules/services/networking/sabnzbd.nix b/nixos/modules/services/networking/sabnzbd.nix
index 83db0841b34..77bf64b80d0 100644
--- a/nixos/modules/services/networking/sabnzbd.nix
+++ b/nixos/modules/services/networking/sabnzbd.nix
@@ -39,13 +39,14 @@ in
         }
       ];
 
-    jobs.sabnzbd =
+    systemd.services.sabnzbd =
       { description = "sabnzbd server";
-
-        startOn = "started network-interfaces";
-        stopOn = "stopping network-interfaces";
-
-        exec = "${sabnzbd}/bin/sabnzbd -d -f ${cfg.configFile}";
+        wantedBy    = [ "multi-user.target" ];
+        after = [ "network.target" ];
+        serviceConfig = {
+          Type = "forking";
+          ExecStart = "${sabnzbd}/bin/sabnzbd -d -f ${cfg.configFile}";
+        };
       };
 
   };
diff --git a/nixos/modules/services/networking/seeks.nix b/nixos/modules/services/networking/seeks.nix
new file mode 100644
index 00000000000..155ecbb98ef
--- /dev/null
+++ b/nixos/modules/services/networking/seeks.nix
@@ -0,0 +1,75 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.seeks;
+
+  confDir = cfg.confDir;
+
+  seeks = pkgs.seeks.override { seeks_confDir = confDir; };
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.seeks = {
+
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = "
+          Whether to enable the Seeks server.
+        ";
+      };
+
+      confDir = mkOption {
+        default = "";
+        type = types.str;
+        description = "
+          The Seeks server configuration. If it is not specified,
+          a default configuration is used (${seeks}/etc/seeks).
+        ";
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf config.services.seeks.enable {
+
+    users.extraUsers.seeks =
+      { uid = config.ids.uids.seeks;
+        description = "Seeks user";
+        createHome = true;
+        home = "/var/lib/seeks";
+      };
+
+    users.extraGroups.seeks =
+      { gid = config.ids.gids.seeks;
+      };
+
+    systemd.services.seeks =
+      {
+        description = "Seeks server, the p2p search engine.";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          User = "seeks";
+          ExecStart = "${seeks}/bin/seeks";
+        };
+      };
+
+    environment.systemPackages = [ seeks ];
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index e4b29a0b909..b2740bd33b7 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -9,19 +9,13 @@ let
 
   nssModulesPath = config.system.nssModules.path;
 
-  permitRootLoginCheck = v:
-    v == "yes" ||
-    v == "without-password" ||
-    v == "forced-commands-only" ||
-    v == "no";
-
   knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
 
-  knownHostsFile = pkgs.writeText "ssh_known_hosts" (
-    flip concatMapStrings knownHosts (h: ''
-      ${concatStringsSep "," h.hostNames} ${if h.publicKey != null then h.publicKey else readFile h.publicKeyFile}
-    '')
-  );
+  knownHostsText = flip (concatMapStringsSep "\n") knownHosts
+    (h:
+      concatStringsSep "," h.hostNames + " "
+      + (if h.publicKey != null then h.publicKey else readFile h.publicKeyFile)
+    );
 
   userOptions = {
 
@@ -116,12 +110,9 @@ in
 
       permitRootLogin = mkOption {
         default = "without-password";
-        type = types.addCheck types.str permitRootLoginCheck;
+        type = types.enum ["yes" "without-password" "forced-commands-only" "no"];
         description = ''
-          Whether the root user can login using ssh. Valid values are
-          <literal>yes</literal>, <literal>without-password</literal>,
-          <literal>forced-commands-only</literal> or
-          <literal>no</literal>.
+          Whether the root user can login using ssh.
         '';
       };
 
@@ -144,6 +135,36 @@ in
         '';
       };
 
+      listenAddresses = mkOption {
+        type = types.listOf types.optionSet;
+        default = [];
+        example = [ { addr = "192.168.3.1"; port = 22; } { addr = "0.0.0.0"; port = 64022; } ];
+        description = ''
+          List of addresses and ports to listen on (ListenAddress directive
+          in config). If port is not specified for address sshd will listen
+          on all ports specified by <literal>ports</literal> option.
+          NOTE: this will override default listening on all local addresses and port 22.
+          NOTE: setting this option won't automatically enable given ports
+          in firewall configuration.
+        '';
+        options = {
+          addr = mkOption {
+            type = types.nullOr types.str;
+            default = null;
+            description = ''
+              Host, IPv4 or IPv6 address to listen to.
+            '';
+          };
+          port = mkOption {
+            type = types.nullOr types.int;
+            default = null;
+            description = ''
+              Port to listen to.
+            '';
+          };
+        };
+      };
+
       passwordAuthentication = mkOption {
         type = types.bool;
         default = true;
@@ -165,12 +186,14 @@ in
         default =
           [ { path = "/etc/ssh/ssh_host_dsa_key";
               type = "dsa";
-              bits = 1024;
             }
             { path = "/etc/ssh/ssh_host_ecdsa_key";
               type = "ecdsa";
               bits = 521;
             }
+            { path = "/etc/ssh/ssh_host_ed25519_key";
+              type = "ed25519";
+            }
           ];
         description = ''
           NixOS can automatically generate SSH host keys.  This option
@@ -224,7 +247,10 @@ in
             description = ''
               The public key data for the host. You can fetch a public key
               from a running SSH server with the <command>ssh-keyscan</command>
-              command.
+              command. The public key should not include any host names, only
+              the key type and the key itself. It is allowed to add several
+              lines here, each line will be treated as type/key pair and the
+              host names will be prepended to each line.
             '';
           };
           publicKeyFile = mkOption {
@@ -234,7 +260,9 @@ in
               The path to the public key file for the host. The public
               key file is read at build time and saved in the Nix store.
               You can fetch a public key file from a running SSH server
-              with the <command>ssh-keyscan</command> command.
+              with the <command>ssh-keyscan</command> command. The content
+              of the file should follow the same format as described for
+              the <literal>publicKey</literal> option.
             '';
           };
         };
@@ -261,10 +289,10 @@ in
       };
 
     environment.etc = authKeysFiles ++ [
-      { source = "${pkgs.openssh}/etc/ssh/moduli";
+      { source = "${cfgc.package}/etc/ssh/moduli";
         target = "ssh/moduli";
       }
-      { source = knownHostsFile;
+      { text = knownHostsText;
         target = "ssh/ssh_known_hosts";
       }
     ];
@@ -278,7 +306,7 @@ in
 
             stopIfChanged = false;
 
-            path = [ pkgs.openssh pkgs.gawk ];
+            path = [ cfgc.package pkgs.gawk ];
 
             environment.LD_LIBRARY_PATH = nssModulesPath;
 
@@ -288,14 +316,14 @@ in
 
                 ${flip concatMapStrings cfg.hostKeys (k: ''
                   if ! [ -f "${k.path}" ]; then
-                      ssh-keygen -t "${k.type}" -b "${toString k.bits}" -f "${k.path}" -N ""
+                      ssh-keygen -t "${k.type}" ${if k ? bits then "-b ${toString k.bits}" else ""} -f "${k.path}" -N ""
                   fi
                 '')}
               '';
 
             serviceConfig =
               { ExecStart =
-                  "${pkgs.openssh}/sbin/sshd " + (optionalString cfg.startWhenNeeded "-i ") +
+                  "${cfgc.package}/sbin/sshd " + (optionalString cfg.startWhenNeeded "-i ") +
                   "-f ${pkgs.writeText "sshd_config" cfg.extraConfig}";
                 KillMode = "process";
               } // (if cfg.startWhenNeeded then {
@@ -344,11 +372,17 @@ in
 
         UsePAM yes
 
+        UsePrivilegeSeparation sandbox
+
         AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"}
         ${concatMapStrings (port: ''
           Port ${toString port}
         '') cfg.ports}
 
+        ${concatMapStrings ({ port, addr }: ''
+          ListenAddress ${addr}${if port != null then ":" + toString port else ""}
+        '') cfg.listenAddresses}
+
         ${optionalString cfgc.setXAuthLocation ''
             XAuthLocation ${pkgs.xorg.xauth}/bin/xauth
         ''}
@@ -360,7 +394,7 @@ in
         ''}
 
         ${optionalString cfg.allowSFTP ''
-          Subsystem sftp ${pkgs.openssh}/libexec/sftp-server
+          Subsystem sftp ${cfgc.package}/libexec/sftp-server
         ''}
 
         PermitRootLogin ${cfg.permitRootLogin}
@@ -383,6 +417,10 @@ in
         assertion = (data.publicKey == null && data.publicKeyFile != null) ||
                     (data.publicKey != null && data.publicKeyFile == null);
         message = "knownHost ${name} must contain either a publicKey or publicKeyFile";
+      })
+      ++ flip map cfg.listenAddresses ({ addr, port }: {
+        assertion = addr != null;
+        message = "addr must be specified in each listenAddresses entry";
       });
 
   };
diff --git a/nixos/modules/services/networking/sslh.nix b/nixos/modules/services/networking/sslh.nix
new file mode 100644
index 00000000000..e251571dca3
--- /dev/null
+++ b/nixos/modules/services/networking/sslh.nix
@@ -0,0 +1,89 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.sslh;
+  configFile = pkgs.writeText "sslh.conf" ''
+    verbose: ${if cfg.verbose then "true" else "false"};
+    foreground: true;
+    inetd: false;
+    numeric: false;
+    transparent: false;
+    timeout: "${toString cfg.timeout}";
+    user: "nobody";
+    pidfile: "${cfg.pidfile}";
+
+    listen:
+    (
+      { host: "${cfg.host}"; port: "${toString cfg.port}"; }
+    );
+
+    ${cfg.appendConfig}
+  '';
+  defaultAppendConfig = ''
+    protocols:
+    (
+      { name: "ssh"; service: "ssh"; host: "localhost"; port: "22"; probe: "builtin"; },
+      { name: "openvpn"; host: "localhost"; port: "1194"; probe: "builtin"; },
+      { name: "xmpp"; host: "localhost"; port: "5222"; probe: "builtin"; },
+      { name: "http"; host: "localhost"; port: "80"; probe: "builtin"; },
+      { name: "ssl"; host: "localhost"; port: "443"; probe: "builtin"; },
+      { name: "anyprot"; host: "localhost"; port: "443"; probe: "builtin"; }
+    );
+  '';
+in
+{
+  options = {
+    services.sslh = {
+      enable = mkEnableOption "sslh";
+
+      verbose = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Verbose logs.";
+      };
+
+      timeout = mkOption {
+        type = types.int;
+        default = 2;
+        description = "Timeout in seconds.";
+      };
+
+      pidfile = mkOption {
+        type = types.path;
+        default = "/run/sslh.pid";
+        description = "PID file path for sslh daemon.";
+      };
+
+      host = mkOption {
+        type = types.str;
+        default = config.networking.hostName;
+        description = "Listening hostname.";
+      };
+
+      port = mkOption {
+        type = types.int;
+        default = 443;
+        description = "Listening port.";
+      };
+
+      appendConfig = mkOption {
+        type = types.str;
+        default = defaultAppendConfig;
+        description = "Verbatim configuration file.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.sslh = {
+      description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig.ExecStart = "${pkgs.sslh}/bin/sslh -F ${configFile}";
+      serviceConfig.KillMode = "process";
+      serviceConfig.PIDFile = "${cfg.pidfile}";
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/strongswan.nix b/nixos/modules/services/networking/strongswan.nix
new file mode 100644
index 00000000000..8778b0364f9
--- /dev/null
+++ b/nixos/modules/services/networking/strongswan.nix
@@ -0,0 +1,133 @@
+{ config, lib, pkgs, ... }:
+
+let
+
+  inherit (builtins) toFile;
+  inherit (lib) concatMapStringsSep concatStringsSep mapAttrsToList
+                mkIf mkEnableOption mkOption types;
+
+  cfg = config.services.strongswan;
+
+  ipsecSecrets = secrets: toFile "ipsec.secrets" (
+    concatMapStringsSep "\n" (f: "include ${f}") secrets
+  );
+
+  ipsecConf = {setup, connections, ca}:
+    let
+      # https://wiki.strongswan.org/projects/strongswan/wiki/IpsecConf
+      makeSections = type: sections: concatStringsSep "\n\n" (
+        mapAttrsToList (sec: attrs:
+          "${type} ${sec}\n" +
+            (concatStringsSep "\n" ( mapAttrsToList (k: v: "  ${k}=${v}") attrs ))
+        ) sections
+      );
+      setupConf       = makeSections "config" { inherit setup; };
+      connectionsConf = makeSections "conn" connections;
+      caConf          = makeSections "ca" ca;
+
+    in
+    builtins.toFile "ipsec.conf" ''
+      ${setupConf}
+      ${connectionsConf}
+      ${caConf}
+    '';
+
+  strongswanConf = {setup, connections, ca, secrets}: toFile "strongswan.conf" ''
+    charon {
+      plugins {
+        stroke {
+          secrets_file = ${ipsecSecrets secrets}
+        }
+      }
+    }
+
+    starter {
+      config_file = ${ipsecConf { inherit setup connections ca; }}
+    }
+  '';
+
+in
+{
+  options.services.strongswan = {
+    enable = mkEnableOption "strongSwan";
+
+    secrets = mkOption {
+      type = types.listOf types.path;
+      default = [];
+      example = [ "/run/keys/ipsec-foo.secret" ];
+      description = ''
+        A list of paths to IPSec secret files. These
+        files will be included into the main ipsec.secrets file with
+        the <literal>include</literal> directive. It is safer if these
+        paths are absolute.
+      '';
+    };
+
+    setup = mkOption {
+      type = types.attrsOf types.str;
+      default = {};
+      example = { cachecrls = "yes"; strictcrlpolicy = "yes"; };
+      description = ''
+        A set of options for the ‘config setup’ section of the
+        <filename>ipsec.conf</filename> file. Defines general
+        configuration parameters.
+      '';
+    };
+
+    connections = mkOption {
+      type = types.attrsOf (types.attrsOf types.str);
+      default = {};
+      example = {
+        "%default" = {
+          keyexchange = "ikev2";
+          keyingtries = "1";
+        };
+        roadwarrior = {
+          auto       = "add";
+          leftcert   = "/run/keys/moonCert.pem";
+          leftid     = "@moon.strongswan.org";
+          leftsubnet = "10.1.0.0/16";
+          right      = "%any";
+        };
+      };
+      description = ''
+        A set of connections and their options for the ‘conn xxx’
+        sections of the <filename>ipsec.conf</filename> file.
+      '';
+    };
+
+    ca = mkOption {
+      type = types.attrsOf (types.attrsOf types.str);
+      default = {};
+      example = {
+        strongswan = {
+          auto   = "add";
+          cacert = "/run/keys/strongswanCert.pem";
+          crluri = "http://crl2.strongswan.org/strongswan.crl";
+        };
+      };
+      description = ''
+        A set of CAs (certification authorities) and their options for
+        the ‘ca xxx’ sections of the <filename>ipsec.conf</filename>
+        file.
+      '';
+    };
+  };
+
+  config = with cfg; mkIf enable {
+    systemd.services.strongswan = {
+      description = "strongSwan IPSec Service";
+      wantedBy = [ "multi-user.target" ];
+      path = with pkgs; [ kmod iproute iptables utillinux ]; # XXX Linux
+      wants = [ "keys.target" ];
+      after = [ "network.target" "keys.target" ];
+      environment = {
+        STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secrets; };
+      };
+      serviceConfig = {
+        ExecStart  = "${pkgs.strongswan}/sbin/ipsec start --nofork";
+      };
+    };
+  };
+}
+
diff --git a/nixos/modules/services/networking/tcpcrypt.nix b/nixos/modules/services/networking/tcpcrypt.nix
index 1359006aef4..fbd581cc4b4 100644
--- a/nixos/modules/services/networking/tcpcrypt.nix
+++ b/nixos/modules/services/networking/tcpcrypt.nix
@@ -44,6 +44,8 @@ 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
         sysctl -w net.ipv4.tcp_ecn=0
 
diff --git a/nixos/modules/services/networking/tftpd.nix b/nixos/modules/services/networking/tftpd.nix
index a2f7ff06ea6..9b3cc6b8ec4 100644
--- a/nixos/modules/services/networking/tftpd.nix
+++ b/nixos/modules/services/networking/tftpd.nix
@@ -9,16 +9,18 @@ with lib;
   options = {
 
     services.tftpd.enable = mkOption {
+      type = types.bool;
       default = false;
       description = ''
-        Whether to enable the anonymous FTP user.
+        Whether to enable tftpd, a Trivial File Transfer Protocol server.
       '';
     };
 
     services.tftpd.path = mkOption {
+      type = types.path;
       default = "/home/tftp";
       description = ''
-        Where the tftp server files are stored
+        Where the tftp server files are stored.
       '';
     };
 
diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix
new file mode 100644
index 00000000000..f9ca796ea65
--- /dev/null
+++ b/nixos/modules/services/networking/tinc.nix
@@ -0,0 +1,162 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.tinc;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.tinc = {
+
+      networks = mkOption {
+        default = { };
+        type = types.loaOf types.optionSet;
+        description = ''
+          Defines the tinc networks which will be started.
+          Each network invokes a different daemon.
+        '';
+        options = {
+
+          extraConfig = mkOption {
+            default = "";
+            type = types.lines;
+            description = ''
+              Extra lines to add to the tinc service configuration file.
+            '';
+          };
+
+          name = mkOption {
+            default = null;
+            type = types.nullOr types.str;
+            description = ''
+              The name of the node which is used as an identifier when communicating
+              with the remote nodes in the mesh. If null then the hostname of the system
+              is used.
+            '';
+          };
+
+          debugLevel = mkOption {
+            default = 0;
+            type = types.addCheck types.int (l: l >= 0 && l <= 5);
+            description = ''
+              The amount of debugging information to add to the log. 0 means little
+              logging while 5 is the most logging. <command>man tincd</command> for
+              more details.
+            '';
+          };
+
+          hosts = mkOption {
+            default = { };
+            type = types.loaOf types.lines;
+            description = ''
+              The name of the host in the network as well as the configuration for that host.
+              This name should only contain alphanumerics and underscores.
+            '';
+          };
+
+          interfaceType = mkOption {
+            default = "tun";
+            type = types.addCheck types.str (n: n == "tun" || n == "tap");
+            description = ''
+              The type of virtual interface used for the network connection
+            '';
+          };
+
+          package = mkOption {
+            default = pkgs.tinc_pre;
+            description = ''
+              The package to use for the tinc daemon's binary.
+            '';
+          };
+
+        };
+      };
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf (cfg.networks != { }) {
+
+    environment.etc = fold (a: b: a // b) { }
+      (flip mapAttrsToList cfg.networks (network: data:
+        flip mapAttrs' data.hosts (host: text: nameValuePair
+          ("tinc/${network}/hosts/${host}")
+          ({ mode = "0444"; inherit text; })
+        ) // {
+          "tinc/${network}/tinc.conf" = {
+            mode = "0444";
+            text = ''
+              Name = ${if data.name == null then "$HOST" else data.name}
+              DeviceType = ${data.interfaceType}
+              Device = /dev/net/tun
+              Interface = tinc.${network}
+              ${data.extraConfig}
+            '';
+          };
+        }
+      ));
+
+    networking.interfaces = flip mapAttrs' cfg.networks (network: data: nameValuePair
+      ("tinc.${network}")
+      ({
+        virtual = true;
+        virtualType = "${data.interfaceType}";
+      })
+    );
+
+    systemd.services = flip mapAttrs' cfg.networks (network: data: nameValuePair
+      ("tinc.${network}")
+      ({
+        description = "Tinc Daemon - ${network}";
+        wantedBy = [ "network.target" ];
+        after = [ "network-interfaces.target" ];
+        path = [ data.package ];
+        restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ]
+          ++ mapAttrsToList (host: _ : config.environment.etc."tinc/${network}/hosts/${host}".source) data.hosts;
+        serviceConfig = {
+          Type = "simple";
+          PIDFile = "/run/tinc.${network}.pid";
+        };
+        preStart = ''
+          mkdir -p /etc/tinc/${network}/hosts
+
+          # Determine how we should generate our keys
+          if type tinc >/dev/null 2>&1; then
+            # Tinc 1.1+ uses the tinc helper application for key generation
+
+            # Prefer ED25519 keys (only in 1.1+)
+            [ -f "/etc/tinc/${network}/ed25519_key.priv" ] || tinc -n ${network} generate-ed25519-keys
+
+            # Otherwise use RSA keys
+            [ -f "/etc/tinc/${network}/rsa_key.priv" ] || tinc -n ${network} generate-rsa-keys 4096
+          else
+            # Tinc 1.0 uses the tincd application
+            [ -f "/etc/tinc/${network}/rsa_key.priv" ] || tincd -n ${network} -K 4096
+          fi
+        '';
+        script = ''
+          tincd -D -U tinc.${network} -n ${network} --pidfile /run/tinc.${network}.pid -d ${toString data.debugLevel}
+        '';
+      })
+    );
+
+    users.extraUsers = flip mapAttrs' cfg.networks (network: _:
+      nameValuePair ("tinc.${network}") ({
+        description = "Tinc daemon user for ${network}";
+      })
+    );
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/tlsdated.nix b/nixos/modules/services/networking/tlsdated.nix
new file mode 100644
index 00000000000..f2d0c9f35c9
--- /dev/null
+++ b/nixos/modules/services/networking/tlsdated.nix
@@ -0,0 +1,110 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  inherit (pkgs) coreutils tlsdate;
+
+  cfg = config.services.tlsdated;
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.tlsdated = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable tlsdated daemon.
+        '';
+      };
+
+      extraOptions = mkOption {
+        type = types.string;
+        description = ''
+          Additional command line arguments to pass to tlsdated.
+        '';
+      };
+
+      sources = mkOption {
+        type = types.listOf (types.submodule {
+          options = {
+            host = mkOption {
+              type = types.string;
+              description = ''
+                Remote hostname.
+              '';
+            };
+            port = mkOption {
+              type = types.int;
+              description = ''
+                Remote port.
+              '';
+            };
+            proxy = mkOption {
+              type = types.nullOr types.string;
+              default = null;
+              description = ''
+                The proxy argument expects HTTP, SOCKS4A or SOCKS5 formatted as followed:
+
+                 http://127.0.0.1:8118
+                 socks4a://127.0.0.1:9050
+                 socks5://127.0.0.1:9050
+
+                The proxy support should not leak DNS requests and is suitable for use with Tor.
+              '';
+            };
+          };
+        });
+        default = [
+          {
+            host = "www.ptb.de";
+            port = 443;
+            proxy = null;
+          }
+        ];
+        description = ''
+          You can list one or more sources to fetch time from.
+        '';
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    # Make tools such as tlsdate available in the system path
+    environment.systemPackages = [ tlsdate ];
+
+    systemd.services.tlsdated = {
+      description = "tlsdated daemon";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        # XXX because pkgs.tlsdate is compiled to run as nobody:nogroup, we
+        # hard-code base-path to /tmp and use PrivateTmp.
+        ExecStart = "${tlsdate}/bin/tlsdated -f ${pkgs.writeText "tlsdated.confg" ''
+          base-path /tmp
+
+          ${concatMapStrings (src: ''
+          source
+              host    ${src.host}
+              port    ${toString src.port}
+              proxy   ${if src.proxy == null then "none" else src.proxy}
+          end
+          '') cfg.sources}
+        ''} ${cfg.extraOptions}";
+        PrivateTmp = "yes";
+      };
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/networking/tox-bootstrapd.nix b/nixos/modules/services/networking/tox-bootstrapd.nix
new file mode 100644
index 00000000000..c1f945773e2
--- /dev/null
+++ b/nixos/modules/services/networking/tox-bootstrapd.nix
@@ -0,0 +1,80 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  home = "/var/lib/tox-bootstrapd";
+  PIDFile = "${home}/pid";
+
+  pkg = pkgs.libtoxcore;
+  cfg = config.services.toxBootstrapd;
+  cfgFile = builtins.toFile "tox-bootstrapd.conf"
+    ''
+      port = ${toString cfg.port}
+      keys_file_path = "${home}/keys"
+      pid_file_path = "${PIDFile}"
+      ${cfg.extraConfig}
+    '';
+in
+{
+  options =
+    { services.toxBootstrapd =
+        { enable = mkOption {
+            type = types.bool;
+            default = false;
+            description =
+              ''
+                Whether to enable the Tox DHT bootstrap daemon.
+              '';
+          };
+
+          port = mkOption {
+            type = types.int;
+            default = 33445;
+            description = "Listening port (UDP).";
+          };
+
+          keysFile = mkOption {
+            type = types.str;
+            default = "${home}/keys";
+            description = "Node key file.";
+          };
+
+          extraConfig = mkOption {
+            type = types.lines;
+            default = "";
+            description =
+              ''
+                Configuration for bootstrap daemon.
+                See <link xlink:href="https://github.com/irungentoo/toxcore/blob/master/other/bootstrap_daemon/tox-bootstrapd.conf"/>
+                and <link xlink:href="http://wiki.tox.im/Nodes"/>.
+             '';
+          };
+      };
+
+    };
+
+  config = mkIf config.services.toxBootstrapd.enable {
+
+    users.extraUsers = singleton
+      { name = "tox-bootstrapd";
+        uid = config.ids.uids.tox-bootstrapd;
+        description = "Tox bootstrap daemon user";
+        inherit home;
+        createHome = true;
+      };
+
+    systemd.services.tox-bootstrapd = {
+      description = "Tox DHT bootstrap daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig =
+        { ExecStart = "${pkg}/bin/tox-bootstrapd ${cfgFile}";
+          Type = "forking";
+          inherit PIDFile;
+          User = "tox-bootstrapd";
+        };
+    };
+
+  };
+}
diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix
index 415ff13bdda..73b10c1d561 100644
--- a/nixos/modules/services/networking/unbound.nix
+++ b/nixos/modules/services/networking/unbound.nix
@@ -6,8 +6,6 @@ let
 
   cfg = config.services.unbound;
 
-  username = "unbound";
-
   stateDir = "/var/lib/unbound";
 
   access = concatMapStrings (x: "  access-control: ${x} allow\n") cfg.allowedAccess;
@@ -21,21 +19,13 @@ let
   confFile = pkgs.writeText "unbound.conf" ''
     server:
       directory: "${stateDir}"
-      username: ${username}
-      # make sure unbound can access entropy from inside the chroot.
-      # e.g. on linux the use these commands (on BSD, devfs(8) is used):
-      #      mount --bind -n /dev/random /etc/unbound/dev/random
-      # and  mount --bind -n /dev/log /etc/unbound/dev/log
+      username: unbound
       chroot: "${stateDir}"
-      # logfile: "${stateDir}/unbound.log"  #uncomment to use logfile.
-      pidfile: "${stateDir}/unbound.pid"
-      verbosity: 1      # uncomment and increase to get more logging.
+      pidfile: ""
       ${interfaces}
       ${access}
-
-    ${forward}
-
     ${cfg.extraConfig}
+    ${forward}
   '';
 
 in
@@ -82,7 +72,7 @@ in
     environment.systemPackages = [ pkgs.unbound ];
 
     users.extraUsers = singleton {
-      name = username;
+      name = "unbound";
       uid = config.ids.uids.unbound;
       description = "unbound daemon user";
       home = stateDir;
@@ -96,8 +86,18 @@ in
       wants = [" nss-lookup.target" ];
       wantedBy = [ "multi-user.target" ];
 
-      path = [ pkgs.unbound ];
-      serviceConfig.ExecStart = "${pkgs.unbound}/sbin/unbound -d -c ${confFile}";
+      preStart = ''
+        mkdir -m 0755 -p ${stateDir}/dev/
+	cp ${confFile} ${stateDir}/unbound.conf
+	chown unbound ${stateDir}
+	touch ${stateDir}/dev/random
+        ${pkgs.utillinux}/bin/mount --bind -n /dev/random ${stateDir}/dev/random
+      '';
+
+      serviceConfig = {
+        ExecStart = "${pkgs.unbound}/sbin/unbound -d -c ${stateDir}/unbound.conf";
+        ExecStopPost="${pkgs.utillinux}/bin/umount ${stateDir}/dev/random";
+      };
     };
 
   };
diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix
index 634f760328f..d6c8e0dc7a5 100644
--- a/nixos/modules/services/networking/unifi.nix
+++ b/nixos/modules/services/networking/unifi.nix
@@ -1,9 +1,24 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, utils, ... }:
 with lib;
 let
   cfg = config.services.unifi;
   stateDir = "/var/lib/unifi";
-  cmd = "@${pkgs.icedtea7_jre}/bin/java java -jar ${stateDir}/lib/ace.jar";
+  cmd = "@${pkgs.jre}/bin/java java -jar ${stateDir}/lib/ace.jar";
+  mountPoints = [
+    {
+      what = "${pkgs.unifi}/dl";
+      where = "${stateDir}/dl";
+    }
+    {
+      what = "${pkgs.unifi}/lib";
+      where = "${stateDir}/lib";
+    }
+    {
+      what = "${pkgs.mongodb}/bin";
+      where = "${stateDir}/bin";
+    }
+  ];
+  systemdMountPoints = map (m: "${utils.escapeSystemdPath m.where}.mount") mountPoints;
 in
 {
 
@@ -32,30 +47,20 @@ in
     # to be used as the working directory.
     systemd.mounts = map ({ what, where }: {
         bindsTo = [ "unifi.service" ];
-        requiredBy = [ "unifi.service" ];
-        before = [ "unifi.service" ];
+        partOf = [ "unifi.service" ];
+        unitConfig.RequiresMountsFor = stateDir;
         options = "bind";
         what = what;
         where = where;
-      }) [
-        {
-          what = "${pkgs.unifi}/dl";
-          where = "${stateDir}/dl";
-        }
-        {
-          what = "${pkgs.unifi}/lib";
-          where = "${stateDir}/lib";
-        }
-        {
-          what = "${pkgs.mongodb}/bin";
-          where = "${stateDir}/bin";
-        }
-      ];
+      }) mountPoints;
 
     systemd.services.unifi = {
       description = "UniFi controller daemon";
       wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
+      after = [ "network.target" ] ++ systemdMountPoints;
+      partOf = systemdMountPoints;
+      bindsTo = systemdMountPoints;
+      unitConfig.RequiresMountsFor = stateDir;
 
       preStart = ''
         # Ensure privacy of state
@@ -63,13 +68,14 @@ in
         chmod 0700 "${stateDir}"
 
         # Create the volatile webapps
+        rm -rf "${stateDir}/webapps"
         mkdir -p "${stateDir}/webapps"
         chown unifi "${stateDir}/webapps"
         ln -s "${pkgs.unifi}/webapps/ROOT.war" "${stateDir}/webapps/ROOT.war"
       '';
 
       postStop = ''
-        rm "${stateDir}/webapps/ROOT.war"
+        rm -rf "${stateDir}/webapps"
       '';
 
       serviceConfig = {
diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix
index 62b6027c012..447149552f4 100644
--- a/nixos/modules/services/networking/vsftpd.nix
+++ b/nixos/modules/services/networking/vsftpd.nix
@@ -68,6 +68,11 @@ let
       Only applies if <option>sslEnable</option> is true. Non anonymous (local) users
       must use a secure SSL connection for sending/receiving data on data connection.
     '')
+    (yesNoOption "portPromiscuous" "port_promiscuous" false ''
+      Set to YES if you want to disable the PORT security check that ensures that
+      outgoing data connections can only connect to the client. Only enable if you
+      know what you are doing!
+    '')
     (yesNoOption "ssl_tlsv1" "ssl_tlsv1" true  '' '')
     (yesNoOption "ssl_sslv2" "ssl_sslv2" false '' '')
     (yesNoOption "ssl_sslv3" "ssl_sslv3" false '' '')
diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index 771eeecd772..e2d34ea079c 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -31,12 +31,14 @@ in
         description = ''
           Whether to start <command>wpa_supplicant</command> to scan for
           and associate with wireless networks.  Note: NixOS currently
-          does not generate <command>wpa_supplicant</command>'s
+          does not manage <command>wpa_supplicant</command>'s
           configuration file, <filename>${configFile}</filename>.  You
           should edit this file yourself to define wireless networks,
           WPA keys and so on (see
           <citerefentry><refentrytitle>wpa_supplicant.conf</refentrytitle>
-          <manvolnum>5</manvolnum></citerefentry>).
+          <manvolnum>5</manvolnum></citerefentry>), or use
+          networking.wireless.userControlled.* to allow users to add entries
+          through <command>wpa_cli</command> and <command>wpa_gui</command>.
         '';
       };
 
@@ -62,7 +64,9 @@ in
           default = false;
           description = ''
             Allow normal users to control wpa_supplicant through wpa_gui or wpa_cli.
-            This is useful for laptop users that switch networks a lot.
+            This is useful for laptop users that switch networks a lot and don't want
+            to depend on a large package such as NetworkManager just to pick nearby
+            access points.
 
             When you want to use this, make sure ${configFile} doesn't exist.
             It will be created for you.
diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix
index 2aa63c6e7df..b39aea04521 100644
--- a/nixos/modules/services/networking/znc.nix
+++ b/nixos/modules/services/networking/znc.nix
@@ -25,85 +25,6 @@ let
     paths = cfg.modulePackages;
   };
 
-  confOptions = { ... }: {
-    options = {
-      modules = mkOption {
-        type = types.listOf types.string;
-        default = [ "partyline" "webadmin" "adminlog" "log" ];
-        example = [ "partyline" "webadmin" "adminlog" "log" ];
-        description = ''
-          A list of modules to include in the `znc.conf` file.
-        '';
-      };
-
-      userModules = mkOption {
-        type = types.listOf types.string;
-        default = [ ];
-        example = [ "fish" "push" ];
-        description = ''
-          A list of user modules to include in the `znc.conf` file.
-        '';
-      };
-
-      userName = mkOption {
-        default = defaultUserName;
-        example = "johntron";
-        type = types.string;
-        description = ''
-          The user name to use when generating the `znc.conf` file.
-          This is the user name used by the user logging into the ZNC web admin. 
-        '';
-      };
-
-      nick = mkOption {
-        default = "znc-user";
-        example = "john";
-        type = types.string;
-        description = ''
-          The IRC nick to use when generating the `znc.conf` file.
-        '';
-      };
-
-      passBlock = mkOption {
-        default = defaultPassBlock;
-        example = "Must be the block generated by the `znc --makepass` command.";
-        type = types.string;
-        description = ''
-          The pass block to use when generating the `znc.conf` file.
-          This is the password used by the user logging into the ZNC web admin.
-          This is the block generated by the `znc --makepass` command.
-          !!! If not specified, please change this after starting the service. !!!
-        '';
-      };
-
-      port = mkOption {
-        default = 5000;
-        example = 5000;
-        type = types.int;
-        description = ''
-          Specifies the port on which to listen.
-        '';
-      };
- 
-      useSSL = mkOption {
-        default = true;
-        example = true;
-        type = types.bool;
-        description = ''
-          Indicates whether the ZNC server should use SSL when listening on the specified port.
-        '';
-      };
-
-      extraZncConf = mkOption {
-        default = "";
-        type = types.lines;
-        description = ''
-          Extra config to `znc.conf` file
-        '';
-      };
-    };
-  };
-
   # Keep znc.conf in nix store, then symlink or copy into `dataDir`, depending on `mutable`.
   mkZncConf = confOpts: ''
     // Also check http://en.znc.in/wiki/Configuration
@@ -211,18 +132,91 @@ in
         '';
       };
 
-      confOptions = mkOption {
-        default = {};
-        example = {
-          modules = [ "log" ];
-          userName = "john";
-          nick = "johntron";
+      /* TODO: add to the documentation of the current module:
+
+         Values to use when creating a `znc.conf` file.
+
+           confOptions = {
+             modules = [ "log" ];
+             userName = "john";
+             nick = "johntron";
+           };
+      */
+      confOptions = {
+        modules = mkOption {
+          type = types.listOf types.string;
+          default = [ "partyline" "webadmin" "adminlog" "log" ];
+          example = [ "partyline" "webadmin" "adminlog" "log" ];
+          description = ''
+            A list of modules to include in the `znc.conf` file.
+          '';
+        };
+
+        userModules = mkOption {
+          type = types.listOf types.string;
+          default = [ ];
+          example = [ "fish" "push" ];
+          description = ''
+            A list of user modules to include in the `znc.conf` file.
+          '';
+        };
+
+        userName = mkOption {
+          default = defaultUserName;
+          example = "johntron";
+          type = types.string;
+          description = ''
+            The user name to use when generating the `znc.conf` file.
+            This is the user name used by the user logging into the ZNC web admin.
+          '';
+        };
+
+        nick = mkOption {
+          default = "znc-user";
+          example = "john";
+          type = types.string;
+          description = ''
+            The IRC nick to use when generating the `znc.conf` file.
+          '';
+        };
+
+        passBlock = mkOption {
+          default = defaultPassBlock;
+          example = "Must be the block generated by the `znc --makepass` command.";
+          type = types.string;
+          description = ''
+            The pass block to use when generating the `znc.conf` file.
+            This is the password used by the user logging into the ZNC web admin.
+            This is the block generated by the `znc --makepass` command.
+            !!! If not specified, please change this after starting the service. !!!
+          '';
+        };
+
+        port = mkOption {
+          default = 5000;
+          example = 5000;
+          type = types.int;
+          description = ''
+            Specifies the port on which to listen.
+          '';
+        };
+
+        useSSL = mkOption {
+          default = true;
+          example = true;
+          type = types.bool;
+          description = ''
+            Indicates whether the ZNC server should use SSL when listening on the specified port.
+          '';
+        };
+
+        extraZncConf = mkOption {
+          default = "";
+          type = types.lines;
+          description = ''
+            Extra config to `znc.conf` file
+          '';
         };
-        type = types.optionSet;
-        description = ''
-          Values to use when creating a `znc.conf` file.
-        '';
-        options = confOptions; 
       };
 
       modulePackages = mkOption {
@@ -280,20 +274,16 @@ in
 
         # If mutable, regenerate conf file every time.
         ${optionalString (!cfg.mutable) ''
-          ${pkgs.coreutils}/echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated."
-          ${pkgs.coreutils}/rm -f ${cfg.dataDir}/configs/znc.conf
+          ${pkgs.coreutils}/bin/echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated."
+          ${pkgs.coreutils}/bin/rm -f ${cfg.dataDir}/configs/znc.conf
         ''}
 
         # Ensure essential files exist.
         if [[ ! -f ${cfg.dataDir}/configs/znc.conf ]]; then
-          ${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now."
-          ${if (!cfg.mutable)
-            then "${pkgs.coreutils}/bin/ln --force -s ${zncConfFile} ${cfg.dataDir}/.znc/configs/znc.conf"
-            else ''
-              ${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf
-              ${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf
-              ${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf
-            ''}
+            ${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now."
+            ${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf
+            ${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf
+            ${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf
         fi
 
         if [[ ! -f ${cfg.dataDir}/znc.pem ]]; then
@@ -315,7 +305,6 @@ in
         uid = config.ids.uids.znc;
         home = cfg.dataDir;
         createHome = true;
-        createUser = true;
       };
  
     users.extraGroups = optional (cfg.user == defaultUser)
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index d229c610669..b573a356b35 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -4,27 +4,23 @@ with lib;
 
 let
 
-  inherit (pkgs) cups;
+  inherit (pkgs) cups cups_filters;
 
   cfg = config.services.printing;
 
   additionalBackends = pkgs.runCommand "additional-cups-backends" { }
     ''
       mkdir -p $out
-      if [ ! -e ${pkgs.cups}/lib/cups/backend/smb ]; then
+      if [ ! -e ${cups}/lib/cups/backend/smb ]; then
         mkdir -p $out/lib/cups/backend
         ln -sv ${pkgs.samba}/bin/smbspool $out/lib/cups/backend/smb
       fi
 
       # Provide support for printing via HTTPS.
-      if [ ! -e ${pkgs.cups}/lib/cups/backend/https ]; then
+      if [ ! -e ${cups}/lib/cups/backend/https ]; then
         mkdir -p $out/lib/cups/backend
-        ln -sv ${pkgs.cups}/lib/cups/backend/ipp $out/lib/cups/backend/https
+        ln -sv ${cups}/lib/cups/backend/ipp $out/lib/cups/backend/https
       fi
-
-      # Import filter configuration from Ghostscript.
-      mkdir -p $out/share/cups/mime/
-      ln -v -s "${pkgs.ghostscript}/etc/cups/"* $out/share/cups/mime/
     '';
 
   # Here we can enable additional backends, filters, etc. that are not
@@ -35,8 +31,9 @@ let
   bindir = pkgs.buildEnv {
     name = "cups-progs";
     paths = cfg.drivers;
-    pathsToLink = [ "/lib/cups" "/share/cups" "/bin" ];
+    pathsToLink = [ "/lib/cups" "/share/cups" "/bin" "/etc/cups" ];
     postBuild = cfg.bindirCmds;
+    ignoreCollisions = true;
   };
 
 in
@@ -89,11 +86,61 @@ in
         '';
       };
 
+      cupsFilesConf = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          The contents of the configuration file of the CUPS daemon
+          (<filename>cups-files.conf</filename>).
+        '';
+      };
+
+      extraConf = mkOption {
+        type = types.lines;
+        default = "";
+        example =
+          ''
+            BrowsePoll cups.example.com
+            LogLevel debug
+          '';
+        description = ''
+          Extra contents of the configuration file of the CUPS daemon
+          (<filename>cupsd.conf</filename>).
+        '';
+      };
+
+      clientConf = mkOption {
+        type = types.lines;
+        default = "";
+        example =
+          ''
+            ServerName server.example.com
+            Encryption Never
+          '';
+        description = ''
+          The contents of the client configuration.
+          (<filename>client.conf</filename>)
+        '';
+      };
+
+      browsedConf = mkOption {
+        type = types.lines;
+        default = "";
+        example =
+          ''
+            BrowsePoll cups.example.com
+          '';
+        description = ''
+          The contents of the configuration. file of the CUPS Browsed daemon
+          (<filename>cups-browsed.conf</filename>)
+        '';
+      };
+
       drivers = mkOption {
         type = types.listOf types.path;
         example = literalExample "[ pkgs.splix ]";
         description = ''
-          CUPS drivers to use. Drivers provided by CUPS, Ghostscript
+          CUPS drivers to use. Drivers provided by CUPS, cups-filters, Ghostscript
           and Samba are added unconditionally.
         '';
       };
@@ -124,6 +171,11 @@ in
 
     environment.systemPackages = [ cups ];
 
+    environment.etc."cups/client.conf".text = cfg.clientConf;
+    environment.etc."cups/cups-files.conf".text = cfg.cupsFilesConf;
+    environment.etc."cups/cupsd.conf".text = cfg.cupsdConf;
+    environment.etc."cups/cups-browsed.conf".text = cfg.browsedConf;
+
     services.dbus.packages = [ cups ];
 
     # Cups uses libusb to talk to printers, and does not use the
@@ -131,7 +183,7 @@ in
     # gets loaded, and then cups cannot access the printers.
     boot.blacklistedKernelModules = [ "usblp" ];
 
-    systemd.services.cupsd =
+    systemd.services.cups =
       { description = "CUPS Printing Daemon";
 
         wantedBy = [ "multi-user.target" ];
@@ -149,35 +201,42 @@ in
           '';
 
         serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = "@${cups}/sbin/cupsd cupsd -c ${pkgs.writeText "cupsd.conf" cfg.cupsdConf}";
+        serviceConfig.ExecStart = "@${cups}/sbin/cupsd cupsd";
+
+        restartTriggers =
+          [ config.environment.etc."cups/cups-files.conf".source
+            config.environment.etc."cups/cupsd.conf".source
+          ];
+      };
+
+    systemd.services.cups-browsed =
+      { description = "Make remote CUPS printers available locally";
+
+        wantedBy = [ "multi-user.target" ];
+        wants = [ "cups.service" "avahi-daemon.service" ];
+        after = [ "cups.service" "avahi-daemon.service" ];
+
+        path = [ cups ];
+
+        serviceConfig.ExecStart = "${cups_filters}/bin/cups-browsed";
+
+        restartTriggers =
+          [ config.environment.etc."cups/cups-browsed.conf".source
+          ];
       };
 
     services.printing.drivers =
-      [ pkgs.cups pkgs.cups_pdf_filter pkgs.ghostscript additionalBackends
+      [ cups pkgs.ghostscript pkgs.cups_filters additionalBackends
         pkgs.perl pkgs.coreutils pkgs.gnused pkgs.bc pkgs.gawk pkgs.gnugrep
       ];
 
-    services.printing.cupsdConf =
+    services.printing.cupsFilesConf =
       ''
-        LogLevel info
-
         SystemGroup root wheel
 
-        ${concatMapStrings (addr: ''
-          Listen ${addr}
-        '') cfg.listenAddresses}
-        Listen /var/run/cups/cups.sock
-
-        # Note: we can't use ${cups}/etc/cups as the ServerRoot, since
-        # CUPS will write in the ServerRoot when e.g. adding new printers
-        # through the web interface.
-        ServerRoot /etc/cups
-
         ServerBin ${bindir}/lib/cups
         DataDir ${bindir}/share/cups
 
-        SetEnv PATH ${bindir}/lib/cups/filter:${bindir}/bin:${bindir}/sbin
-
         AccessLog syslog
         ErrorLog syslog
         PageLog syslog
@@ -190,6 +249,18 @@ in
         # these programs to run as `lp' as well.
         User cups
         Group lp
+      '';
+
+    services.printing.cupsdConf =
+      ''
+        LogLevel info
+
+        ${concatMapStrings (addr: ''
+          Listen ${addr}
+        '') cfg.listenAddresses}
+        Listen /var/run/cups/cups.sock
+
+        SetEnv PATH ${bindir}/lib/cups/filter:${bindir}/bin:${bindir}/sbin
 
         Browsing On
         BrowseOrder allow,deny
@@ -235,6 +306,8 @@ in
             Order deny,allow
           </Limit>
         </Policy>
+
+        ${cfg.extraConf}
       '';
 
     security.pam.services.cups = {};
diff --git a/nixos/modules/services/scheduling/chronos.nix b/nixos/modules/services/scheduling/chronos.nix
new file mode 100644
index 00000000000..f36b886a744
--- /dev/null
+++ b/nixos/modules/services/scheduling/chronos.nix
@@ -0,0 +1,54 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.chronos;
+
+in {
+
+  ###### interface
+
+  options.services.chronos = {
+    enable = mkOption {
+      description = "Whether to enable graphite web frontend.";
+      default = false;
+      type = types.uniq types.bool;
+    };
+
+    httpPort = mkOption {
+      description = "Chronos listening port";
+      default = 4400;
+      type = types.int;
+    };
+
+    master = mkOption {
+      description = "Chronos mesos master zookeeper address";
+      default = "zk://${head cfg.zookeeperHosts}/mesos";
+      type = types.str;
+    };
+
+    zookeeperHosts = mkOption {
+      description = "Chronos mesos zookepper addresses";
+      default = [ "localhost:2181" ];
+      type = types.listOf types.str;
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.chronos = {
+      description = "Chronos Service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-interfaces.target" "zookeeper.service" ];
+
+      serviceConfig = {
+        ExecStart = "${pkgs.chronos}/bin/chronos --master ${cfg.master} --zk_hosts ${concatStringsSep "," cfg.zookeeperHosts} --http_port ${toString cfg.httpPort}";
+        User = "chronos";
+      };
+    };
+
+    users.extraUsers.chronos.uid = config.ids.uids.chronos;
+  };
+}
diff --git a/nixos/modules/services/scheduling/cron.nix b/nixos/modules/services/scheduling/cron.nix
index 9ce0bcbec7e..1f42086dc1e 100644
--- a/nixos/modules/services/scheduling/cron.nix
+++ b/nixos/modules/services/scheduling/cron.nix
@@ -25,6 +25,10 @@ let
     sendmailPath = "/var/setuid-wrappers/sendmail";
   };
 
+  allFiles = map (f: "\"${f}\"") (
+    [ "${systemCronJobsFile}" ] ++ config.services.cron.cronFiles
+  );
+
 in
 
 {
@@ -71,6 +75,15 @@ in
         '';
       };
 
+      cronFiles = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        description = ''
+          A list of extra crontab files that will be read and appended to the main
+          crontab file when the cron service starts.
+        '';
+      };
+
     };
 
   };
@@ -78,28 +91,23 @@ in
 
   ###### implementation
 
-  config = mkIf config.services.cron.enable {
-
-    environment.etc = singleton
-      # The system-wide crontab.
-      { source = systemCronJobsFile;
-        target = "crontab";
-        mode = "0600"; # Cron requires this.
-      };
+  config = mkIf (config.services.cron.enable && allFiles != []) {
 
     security.setuidPrograms = [ "crontab" ];
 
     environment.systemPackages = [ cronNixosPkg ];
 
-    jobs.cron =
+    systemd.services.cron =
       { description = "Cron Daemon";
 
-        startOn = "startup";
-
-        path = [ cronNixosPkg ];
+        wantedBy = [ "multi-user.target" ];
 
         preStart =
           ''
+            rm -f /etc/crontab
+            cat ${toString allFiles} > /etc/crontab
+            chmod 0600 /etc/crontab
+
             mkdir -m 710 -p /var/cron
 
             # By default, allow all users to create a crontab.  This
@@ -109,7 +117,8 @@ in
             fi
           '';
 
-        exec = "cron -n";
+        restartTriggers = [ config.environment.etc.localtime.source ];
+        serviceConfig.ExecStart = "${cronNixosPkg}/bin/cron -n";
       };
 
   };
diff --git a/nixos/modules/services/scheduling/marathon.nix b/nixos/modules/services/scheduling/marathon.nix
new file mode 100644
index 00000000000..8513d1174c3
--- /dev/null
+++ b/nixos/modules/services/scheduling/marathon.nix
@@ -0,0 +1,58 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.marathon;
+
+in {
+
+  ###### interface
+
+  options.services.marathon = {
+    enable = mkOption {
+      description = "Whether to enable the marathon mesos framework.";
+      default = false;
+      type = types.uniq types.bool;
+    };
+
+    httpPort = mkOption {
+      description = "Marathon listening port";
+      default = 8080;
+      type = types.int;
+    };
+
+    master = mkOption {
+      description = "Marathon mesos master zookeeper address";
+      default = "zk://${head cfg.zookeeperHosts}/mesos";
+      type = types.str;
+    };
+
+    zookeeperHosts = mkOption {
+      description = "Marathon mesos zookepper addresses";
+      default = [ "localhost:2181" ];
+      type = types.listOf types.str;
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.marathon = {
+      description = "Marathon Service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-interfaces.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ];
+
+      serviceConfig = {
+        ExecStart = "${pkgs.marathon}/bin/marathon --master ${cfg.master} --zk zk://${head cfg.zookeeperHosts}/marathon";
+        User = "marathon";
+      };
+    };
+
+    users.extraUsers.marathon = {
+      uid = config.ids.uids.marathon;
+      description = "Marathon mesos framework user";
+    };
+  };
+}
diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix
index b74ef4370d7..12f163db463 100644
--- a/nixos/modules/services/search/elasticsearch.nix
+++ b/nixos/modules/services/search/elasticsearch.nix
@@ -135,6 +135,11 @@ in {
         rm ${cfg.dataDir}/plugins || true
         ln -s ${esPlugins}/plugins ${cfg.dataDir}/plugins
       '';
+      postStart = mkBefore ''
+        until ${pkgs.curl}/bin/curl -s -o /dev/null ${cfg.host}:${toString cfg.port}; do
+          sleep 1
+        done
+      '';
     };
 
     environment.systemPackages = [ pkgs.elasticsearch ];
diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix
index 38d9dedbe3c..7886d1e2e8e 100644
--- a/nixos/modules/services/search/solr.nix
+++ b/nixos/modules/services/search/solr.nix
@@ -22,7 +22,7 @@ let
       cp common/lib/*.jar $out/lib/
       ln -s ${pkgs.ant}/lib/ant/lib/ant.jar $out/lib/
       ln -s ${cfg.solrPackage}/lib/ext/* $out/lib/
-      ln -s ${pkgs.openjdk}/lib/openjdk/lib/tools.jar $out/lib/
+      ln -s ${pkgs.jdk.home}/lib/tools.jar $out/lib/
     '' + optionalString (cfg.extraJars != []) ''
       for f in ${concatStringsSep " " cfg.extraJars}; do
          cp $f $out/lib
@@ -44,7 +44,7 @@ in {
 
       javaPackage = mkOption {
         type = types.package;
-        default = pkgs.openjre;
+        default = pkgs.jre;
         description = ''
           Which Java derivation to use for running solr.
         '';
diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix
index 057891a6047..a4d54301fc1 100644
--- a/nixos/modules/services/security/clamav.nix
+++ b/nixos/modules/services/security/clamav.nix
@@ -71,10 +71,10 @@ in
             mkdir -m 0755 -p ${stateDir}
             chown ${clamavUser}:${clamavGroup} ${stateDir}
           '';
-          exec = "${pkgs.clamav}/bin/freshclam --config-file=${pkgs.writeText "freshclam.conf" cfg.updater.config}";
+          exec = "${pkgs.clamav}/bin/freshclam --daemon --config-file=${pkgs.writeText "freshclam.conf" cfg.updater.config}";
       }; 
     };
 
   };
 
-}
\ No newline at end of file
+}
diff --git a/nixos/modules/services/security/fail2ban.nix b/nixos/modules/services/security/fail2ban.nix
index 3758652ebdd..6288b1b3ba8 100644
--- a/nixos/modules/services/security/fail2ban.nix
+++ b/nixos/modules/services/security/fail2ban.nix
@@ -40,7 +40,7 @@ in
             socket    = /run/fail2ban/fail2ban.sock
             pidfile   = /run/fail2ban/fail2ban.pid
           '';
-        type = types.string;
+        type = types.lines;
         description =
           ''
             The contents of Fail2ban's main configuration file.  It's
@@ -64,7 +64,7 @@ in
                 maxretry = 5
               '';
           };
-        type = types.attrsOf types.string;
+        type = types.attrsOf types.lines;
         description =
           ''
             The configuration of each Fail2ban “jail”.  A jail
@@ -95,7 +95,7 @@ in
     environment.etc."fail2ban/filter.d".source = "${pkgs.fail2ban}/etc/fail2ban/filter.d/*.conf";
 
     systemd.services.fail2ban =
-      { description = "Fail2ban intrusion prevention system";
+      { description = "Fail2ban Intrusion Prevention System";
 
         wantedBy = [ "multi-user.target" ];
         after = [ "network.target" ];
diff --git a/nixos/modules/services/security/fprintd.nix b/nixos/modules/services/security/fprintd.nix
new file mode 100644
index 00000000000..a35b065ba81
--- /dev/null
+++ b/nixos/modules/services/security/fprintd.nix
@@ -0,0 +1,53 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.fprintd;
+
+in
+
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.fprintd = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable fprintd daemon and PAM module for fingerprint readers handling.
+        '';
+      };
+
+    };
+    
+  };
+  
+  
+  ###### implementation
+  
+  config = mkIf cfg.enable {
+
+    services.dbus.packages = [ pkgs.fprintd ];
+
+    environment.systemPackages = [ pkgs.fprintd ];
+
+    systemd.services.fprintd = {
+      description = "Fingerprint Authentication Daemon";
+
+      serviceConfig = {
+        Type = "dbus";
+        BusName = "net.reactivated.Fprint";
+        ExecStart = "${pkgs.fprintd}/libexec/fprintd";
+      };
+    };
+
+  };
+  
+}
diff --git a/nixos/modules/services/security/haveged.nix b/nixos/modules/services/security/haveged.nix
index 1d52ed55dbd..2aa523bf70a 100644
--- a/nixos/modules/services/security/haveged.nix
+++ b/nixos/modules/services/security/haveged.nix
@@ -46,7 +46,7 @@ in
   
     systemd.services.haveged =
       { description = "Entropy Harvesting Daemon";
-        unitConfig.documentation = "man:haveged(8)";
+        unitConfig.Documentation = "man:haveged(8)";
         wantedBy = [ "multi-user.target" ];
         
         path = [ pkgs.haveged ];
@@ -60,4 +60,4 @@ in
 
   };
   
-}
\ No newline at end of file
+}
diff --git a/nixos/modules/services/security/munge.nix b/nixos/modules/services/security/munge.nix
new file mode 100644
index 00000000000..919c2c2b0e1
--- /dev/null
+++ b/nixos/modules/services/security/munge.nix
@@ -0,0 +1,61 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.munge;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.munge = {
+      enable = mkEnableOption "munge service";
+
+      password = mkOption {
+        default = "/etc/munge/munge.key";
+        type = types.string;
+        description = ''
+          The path to a daemon's secret key.
+        '';
+      };
+
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.munge ];
+
+    systemd.services.munged = { 
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      path = [ pkgs.munge pkgs.coreutils ];
+
+      preStart = ''
+        chmod 0700 ${cfg.password}
+        mkdir -p /var/lib/munge -m 0711
+        mkdir -p /var/log/munge -m 0700
+        mkdir -p /run/munge -m 0755
+      '';
+
+      serviceConfig = {
+        ExecStart = "${pkgs.munge}/bin/munged --syslog --key-file ${cfg.password}";
+        PIDFile = "/run/munge/munged.pid";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+      };
+
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index 582dd124c29..47f863b96df 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -3,120 +3,146 @@
 with lib;
 
 let
-
-  inherit (pkgs) tor privoxy;
-
-  stateDir = "/var/lib/tor";
-  privoxyDir = stateDir+"/privoxy";
-
   cfg = config.services.tor;
-
-  torUser = "tor";
-
-  opt = name: value: if value != "" then "${name} ${value}" else "";
-  optint = name: value: if value != 0 then "${name} ${toString value}" else "";
-
+  torDirectory = "/var/lib/tor";
+
+  opt    = name: value: optionalString (value != null) "${name} ${value}";
+  optint = name: value: optionalString (value != 0)    "${name} ${toString value}";
+
+  torRc = ''
+    User tor
+    DataDirectory ${torDirectory}
+
+    ${optint "ControlPort" cfg.controlPort}
+  ''
+  # Client connection config
+  + optionalString cfg.client.enable  ''
+    SOCKSPort ${cfg.client.socksListenAddress} IsolateDestAddr
+    SOCKSPort ${cfg.client.socksListenAddressFaster}
+    ${opt "SocksPolicy" cfg.client.socksPolicy}
+  ''
+  # Relay config
+  + optionalString cfg.relay.enable ''
+    ORPort ${cfg.relay.portSpec}
+    ${opt "Nickname" cfg.relay.nickname}
+    ${opt "ContactInfo" cfg.relay.contactInfo}
+
+    ${optint "RelayBandwidthRate" cfg.relay.bandwidthRate}
+    ${optint "RelayBandwidthBurst" cfg.relay.bandwidthBurst}
+    ${opt "AccountingMax" cfg.relay.accountingMax}
+    ${opt "AccountingStart" cfg.relay.accountingStart}
+
+    ${if cfg.relay.isExit then
+        opt "ExitPolicy" cfg.relay.exitPolicy
+      else
+        "ExitPolicy reject *:*"}
+
+    ${optionalString cfg.relay.isBridge ''
+      BridgeRelay 1
+      ServerTransportPlugin obfs2,obfs3 exec ${pkgs.pythonPackages.obfsproxy}/bin/obfsproxy managed
+    ''}
+  ''
+  + cfg.extraConfig;
+
+  torRcFile = pkgs.writeText "torrc" torRc;
 in
-
 {
-
-  ###### interface
-
   options = {
-
     services.tor = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable the Tor daemon. By default, the daemon is run without
+          relay, exit, bridge or client connectivity.
+        '';
+      };
 
-      config = mkOption {
+      extraConfig = mkOption {
+        type = types.lines;
         default = "";
         description = ''
           Extra configuration. Contents will be added verbatim to the
-          configuration file.
+          configuration file at the end.
         '';
       };
 
-      client = {
+      controlPort = mkOption {
+        type = types.int;
+        default = 0;
+        example = 9051;
+        description = ''
+          If set, Tor will accept connections on the specified port
+          and allow them to control the tor process.
+        '';
+      };
 
+      client = {
         enable = mkOption {
+          type = types.bool;
           default = false;
           description = ''
-            Whether to enable Tor daemon to route application connections.
-            You might want to disable this if you plan running a dedicated Tor relay.
+            Whether to enable Tor daemon to route application
+            connections.  You might want to disable this if you plan
+            running a dedicated Tor relay.
           '';
         };
 
         socksListenAddress = mkOption {
+          type = types.str;
           default = "127.0.0.1:9050";
           example = "192.168.0.1:9100";
           description = ''
-            Bind to this address to listen for connections from Socks-speaking
-            applications.
+            Bind to this address to listen for connections from
+            Socks-speaking applications. Provides strong circuit
+            isolation, separate circuit per IP address.
           '';
         };
 
         socksListenAddressFaster = mkOption {
+          type = types.str;
           default = "127.0.0.1:9063";
+          example = "192.168.0.1:9101";
           description = ''
-            Same as socksListenAddress but uses weaker circuit isolation to provide
-            performance suitable for a web browser.
-          '';
-        };
+            Bind to this address to listen for connections from
+            Socks-speaking applications. Same as socksListenAddress
+            but uses weaker circuit isolation to provide performance
+            suitable for a web browser.
+           '';
+         };
 
         socksPolicy = mkOption {
-          default = "";
+          type = types.nullOr types.str;
+          default = null;
           example = "accept 192.168.0.0/16, reject *";
           description = ''
-            Entry policies to allow/deny SOCKS requests based on IP address.
-            First entry that matches wins. If no SocksPolicy is set, we accept
-            all (and only) requests from SocksListenAddress.
+            Entry policies to allow/deny SOCKS requests based on IP
+            address.  First entry that matches wins. If no SocksPolicy
+            is set, we accept all (and only) requests from
+            SocksListenAddress.
           '';
         };
 
-        privoxy = {
-
-          enable = mkOption {
-            default = true;
-            description = ''
-              Whether to enable a special instance of privoxy dedicated to Tor.
-              To have anonymity, protocols need to be scrubbed of identifying
-              information.
-              Most people using Tor want to anonymize their web traffic, so by
-              default we enable an special instance of privoxy specifically for
-              Tor.
-              However, if you are only going to use Tor only for other kinds of
-              traffic then you can disable this option.
-            '';
-          };
-
-          listenAddress = mkOption {
-            default = "127.0.0.1:8118";
-            description = ''
-              Address that Tor's instance of privoxy is listening to.
-              *This does not configure the standard NixOS instance of privoxy.*
-              This is for Tor connections only!
-              See services.privoxy.listenAddress to configure the standard NixOS
-              instace of privoxy.
-            '';
-          };
+        privoxy.enable = mkOption {
+          default = true;
+          description = ''
+            Whether to enable and configure the system Privoxy to use Tor's
+            faster port, suitable for HTTP.
 
-          config = mkOption {
-            default = "";
-            description = ''
-              Extra configuration for Tor's instance of privoxy. Contents will be
-              added verbatim to the configuration file.
-              *This does not configure the standard NixOS instance of privoxy.*
-              This is for Tor connections only!
-              See services.privoxy.extraConfig to configure the standard NixOS
-              instace of privoxy.
-            '';
-          };
+            To have anonymity, protocols need to be scrubbed of identifying
+            information, and this can be accomplished for HTTP by Privoxy.
 
+            Privoxy can also be useful for KDE torification. A good setup would be:
+            setting SOCKS proxy to the default Tor port, providing maximum
+            circuit isolation where possible; and setting HTTP proxy to Privoxy
+            to route HTTP traffic over faster, but less isolated port.
+          '';
         };
-
       };
 
       relay = {
-
         enable = mkOption {
+          type = types.bool;
           default = false;
           description = ''
             Whether to enable relaying TOR traffic for others.
@@ -126,16 +152,19 @@ in
         };
 
         isBridge = mkOption {
+          type = types.bool;
           default = false;
           description = ''
-            Bridge relays (or "bridges" ) are Tor relays that aren't listed in the
-            main directory. Since there is no complete public list of them, even if an
-            ISP is filtering connections to all the known Tor relays, they probably
+            Bridge relays (or "bridges") are Tor relays that aren't
+            listed in the main directory. Since there is no complete
+            public list of them, even if an ISP is filtering
+            connections to all the known Tor relays, they probably
             won't be able to block all the bridges.
 
             A bridge relay can't be an exit relay.
 
-            You need to set relay.enable to true for this option to take effect.
+            You need to set relay.enable to true for this option to
+            take effect.
 
             The bridge is set up with an obfuscated transport proxy.
 
@@ -144,25 +173,72 @@ in
         };
 
         isExit = mkOption {
+          type = types.bool;
           default = false;
           description = ''
-            An exit relay allows Tor users to access regular Internet services.
+            An exit relay allows Tor users to access regular Internet
+            services.
 
-            Unlike running a non-exit relay, running an exit relay may expose
-            you to abuse complaints. See https://www.torproject.org/faq.html.en#ExitPolicies for more info.
+            Unlike running a non-exit relay, running an exit relay may
+            expose you to abuse complaints. See
+            https://www.torproject.org/faq.html.en#ExitPolicies for
+            more info.
 
-            You can specify which services Tor users may access via your exit relay using exitPolicy option.
+            You can specify which services Tor users may access via
+            your exit relay using exitPolicy option.
           '';
         };
 
         nickname = mkOption {
+          type = types.str;
           default = "anonymous";
           description = ''
             A unique handle for your TOR relay.
           '';
         };
 
+        contactInfo = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "admin@relay.com";
+          description = ''
+            Contact information for the relay owner (e.g. a mail
+            address and GPG key ID).
+          '';
+        };
+
+        accountingMax = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "450 GBytes";
+          description = ''
+            Specify maximum bandwidth allowed during an accounting
+            period. This allows you to limit overall tor bandwidth
+            over some time period. See the
+            <literal>AccountingMax</literal> option by looking at the
+            tor manual (<literal>man tor</literal>) for more.
+
+            Note this limit applies individually to upload and
+            download; if you specify <literal>"500 GBytes"</literal>
+            here, then you may transfer up to 1 TBytes of overall
+            bandwidth (500 GB upload, 500 GB download).
+          '';
+        };
+
+        accountingStart = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "month 1 1:00";
+          description = ''
+            Specify length of an accounting period. This allows you to
+            limit overall tor bandwidth over some time period. See the
+            <literal>AccountingStart</literal> option by looking at
+            the tor manual (<literal>man tor</literal>) for more.
+          '';
+        };
+
         bandwidthRate = mkOption {
+          type = types.int;
           default = 0;
           example = 100;
           description = ''
@@ -172,6 +248,7 @@ in
         };
 
         bandwidthBurst = mkOption {
+          type = types.int;
           default = cfg.relay.bandwidthRate;
           example = 200;
           description = ''
@@ -181,143 +258,110 @@ in
           '';
         };
 
-        port = mkOption {
-          default = 9001;
-          description = ''
-            What port to advertise for Tor connections.
-          '';
-        };
-
-        listenAddress = mkOption {
-          default = "";
-          example = "0.0.0.0:9090";
+        portSpec = mkOption {
+          type    = types.str;
+          example = "143";
           description = ''
-            Set this if you need to listen on a port other than the one advertised
-            in relayPort (e.g. to advertise 443 but bind to 9090). You'll need to do
-            ipchains or other port forwsarding yourself to make this work.
+            What port to advertise for Tor connections. This corresponds
+            to the <literal>ORPort</literal> section in the Tor manual; see
+            <literal>man tor</literal> for more details.
+
+            At a minimum, you should just specify the port for the
+            relay to listen on; a common one like 143, 22, 80, or 443
+            to help Tor users who may have very restrictive port-based
+            firewalls.
           '';
         };
 
         exitPolicy = mkOption {
-          default = "";
+          type    = types.nullOr types.str;
+          default = null;
           example = "accept *:6660-6667,reject *:*";
           description = ''
-            A comma-separated list of exit policies. They're considered first
-            to last, and the first match wins. If you want to _replace_
-            the default exit policy, end this with either a reject *:* or an
-            accept *:*. Otherwise, you're _augmenting_ (prepending to) the
-            default exit policy. Leave commented to just use the default, which is
-            available in the man page or at https://www.torproject.org/documentation.html
+            A comma-separated list of exit policies. They're
+            considered first to last, and the first match wins. If you
+            want to _replace_ the default exit policy, end this with
+            either a reject *:* or an accept *:*. Otherwise, you're
+            _augmenting_ (prepending to) the default exit
+            policy. Leave commented to just use the default, which is
+            available in the man page or at
+            https://www.torproject.org/documentation.html
 
             Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses
             for issues you might encounter if you use the default exit policy.
 
-            If certain IPs and ports are blocked externally, e.g. by your firewall,
-            you should update your exit policy to reflect this -- otherwise Tor
-            users will be told that those destinations are down.
+            If certain IPs and ports are blocked externally, e.g. by
+            your firewall, you should update your exit policy to
+            reflect this -- otherwise Tor users will be told that
+            those destinations are down.
           '';
         };
-
       };
-
     };
-
   };
 
-
-  ###### implementation
-
-  config = mkIf (cfg.client.enable || cfg.relay.enable) {
-
+  config = mkIf cfg.enable {
     assertions = singleton
-      { assertion = cfg.relay.enable -> !(cfg.relay.isBridge && cfg.relay.isExit);
-        message = "Can't be both an exit and a bridge relay at the same time";
+      { message = "Can't be both an exit and a bridge relay at the same time";
+        assertion =
+          cfg.relay.enable -> !(cfg.relay.isBridge && cfg.relay.isExit);
       };
 
-    users.extraUsers = singleton
-      { name = torUser;
-        uid = config.ids.uids.tor;
-        description = "Tor daemon user";
-        home = stateDir;
+    users.extraGroups.tor.gid = config.ids.gids.tor;
+    users.extraUsers.tor =
+      { description = "Tor Daemon User";
+        createHome  = true;
+        home        = torDirectory;
+        group       = "tor";
+        uid         = config.ids.uids.tor;
       };
 
-    jobs = {
-      tor = { name = "tor";
-
-              startOn = "started network-interfaces";
-              stopOn = "stopping network-interfaces";
-
-              preStart = ''
-                mkdir -m 0755 -p ${stateDir}
-                chown ${torUser} ${stateDir}
-              '';
-              exec = "${tor}/bin/tor -f ${pkgs.writeText "torrc" cfg.config}";
-    }; }
-    // optionalAttrs (cfg.client.privoxy.enable && cfg.client.enable) {
-      torPrivoxy = { name = "tor-privoxy";
-
-                     startOn = "started network-interfaces";
-                     stopOn = "stopping network-interfaces";
-
-                     preStart = ''
-                       mkdir -m 0755 -p ${privoxyDir}
-                       chown ${torUser} ${privoxyDir}
-                     '';
-                     exec = "${privoxy}/sbin/privoxy --no-daemon --user ${torUser} ${pkgs.writeText "torPrivoxy.conf" cfg.client.privoxy.config}";
-    }; };
-
-      services.tor.config = ''
-        DataDirectory ${stateDir}
-        User ${torUser}
-      ''
-      + optionalString cfg.client.enable  ''
-        SOCKSPort ${cfg.client.socksListenAddress} IsolateDestAddr
-        SOCKSPort ${cfg.client.socksListenAddressFaster}
-        ${opt "SocksPolicy" cfg.client.socksPolicy}
-      ''
-      + optionalString cfg.relay.enable ''
-        ORPort ${toString cfg.relay.port}
-        ${opt "ORListenAddress" cfg.relay.listenAddress }
-        ${opt "Nickname" cfg.relay.nickname}
-        ${optint "RelayBandwidthRate" cfg.relay.bandwidthRate}
-        ${optint "RelayBandwidthBurst" cfg.relay.bandwidthBurst}
-        ${if cfg.relay.isExit then opt "ExitPolicy" cfg.relay.exitPolicy else "ExitPolicy reject *:*"}
-        ${if cfg.relay.isBridge then ''
-          BridgeRelay 1
-          ServerTransportPlugin obfs2,obfs3 exec ${pkgs.pythonPackages.obfsproxy}/bin/obfsproxy managed
-        '' else ""}
-      '';
+    systemd.services.tor =
+      { description = "Tor Daemon";
+        path = [ pkgs.tor ];
+
+        wantedBy = [ "multi-user.target" ];
+        after    = [ "network.target" ];
+        restartTriggers = [ torRcFile ];
+
+        # Translated from the upstream contrib/dist/tor.service.in
+        serviceConfig =
+          { Type         = "simple";
+            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";
+            TimeoutSec   = 30;
+            Restart      = "on-failure";
+            LimitNOFILE  = 32768;
+
+            # Hardening
+            # Note: DevicePolicy is set to 'closed', although the
+            # minimal permissions are really:
+            #   DeviceAllow /dev/null rw
+            #   DeviceAllow /dev/urandom r
+            # .. but we can't specify DeviceAllow multiple times. 'closed'
+            # is close enough.
+            PrivateTmp              = "yes";
+            DevicePolicy            = "closed";
+            InaccessibleDirectories = "/home";
+            ReadOnlyDirectories     = "/";
+            ReadWriteDirectories    = torDirectory;
+            NoNewPrivileges         = "yes";
+          };
+      };
 
-      services.tor.client.privoxy.config = ''
-        # Generally, this file goes in /etc/privoxy/config
-        #
-        # Tor listens as a SOCKS4a proxy here:
+    environment.systemPackages = [ pkgs.tor ];
+
+    services.privoxy = mkIf (cfg.client.enable && cfg.client.privoxy.enable) {
+      enable = true;
+      extraConfig = ''
         forward-socks4a / ${cfg.client.socksListenAddressFaster} .
-        confdir ${privoxy}/etc
-        logdir ${privoxyDir}
-        # actionsfile standard  # Internal purpose, recommended
-        actionsfile default.action   # Main actions file
-        actionsfile user.action      # User customizations
-        filterfile default.filter
-
-        # Don't log interesting things, only startup messages, warnings and errors
-        logfile logfile
-        #jarfile jarfile
-        #debug   0    # show each GET/POST/CONNECT request
-        debug   4096 # Startup banner and warnings
-        debug   8192 # Errors - *we highly recommended enabling this*
-
-        user-manual ${privoxy}/doc/privoxy/user-manual
-        listen-address  ${cfg.client.privoxy.listenAddress}
         toggle  1
         enable-remote-toggle 0
         enable-edit-actions 0
         enable-remote-http-toggle 0
-        buffer-limit 4096
-
-        # Extra config goes here
       '';
-
+    };
   };
-
 }
diff --git a/nixos/modules/services/security/torify.nix b/nixos/modules/services/security/torify.nix
index 53f48a714b4..a81cdbbc172 100644
--- a/nixos/modules/services/security/torify.nix
+++ b/nixos/modules/services/security/torify.nix
@@ -5,13 +5,13 @@ let
   cfg = config.services.tor;
 
   torify = pkgs.writeTextFile {
-    name = "torify";
+    name = "tsocks";
     text = ''
         #!${pkgs.stdenv.shell}
-        TSOCKS_CONF_FILE=${pkgs.writeText "tsocks.conf" cfg.torify.config} LD_PRELOAD="${pkgs.tsocks}/lib/libtsocks.so $LD_PRELOAD" "$@"
+        TSOCKS_CONF_FILE=${pkgs.writeText "tsocks.conf" cfg.tsocks.config} LD_PRELOAD="${pkgs.tsocks}/lib/libtsocks.so $LD_PRELOAD" "$@"
     '';
     executable = true;
-    destination = "/bin/torify";
+    destination = "/bin/tsocks";
   };
 
 in
@@ -22,12 +22,12 @@ in
   
   options = {
   
-    services.tor.torify = {
+    services.tor.tsocks = {
 
       enable = mkOption {
-        default = cfg.client.enable;
+        default = cfg.enable && cfg.client.enable;
         description = ''
-          Whether to build torify scipt to relay application traffic via TOR.
+          Whether to build tsocks wrapper script to relay application traffic via TOR.
         '';
       };
 
@@ -53,13 +53,13 @@ in
 
   ###### implementation
 
-  config = mkIf cfg.torify.enable {
+  config = mkIf cfg.tsocks.enable {
 
     environment.systemPackages = [ torify ];  # expose it to the users
 
-    services.tor.torify.config = ''
-      server = ${toString(head (splitString ":" cfg.torify.server))}
-      server_port = ${toString(tail (splitString ":" cfg.torify.server))}
+    services.tor.tsocks.config = ''
+      server = ${toString(head (splitString ":" cfg.tsocks.server))}
+      server_port = ${toString(tail (splitString ":" cfg.tsocks.server))}
 
       local = 127.0.0.0/255.128.0.0
       local = 127.128.0.0/255.192.0.0
diff --git a/nixos/modules/services/security/torsocks.nix b/nixos/modules/services/security/torsocks.nix
index ede6c983677..1b5a05b21e7 100644
--- a/nixos/modules/services/security/torsocks.nix
+++ b/nixos/modules/services/security/torsocks.nix
@@ -1,85 +1,121 @@
 { config, lib, pkgs, ... }:
+
 with lib;
+
 let
+  cfg = config.services.tor.torsocks;
+  optionalNullStr = b: v: optionalString (b != null) v;
 
-  cfg = config.services.tor;
+  configFile = server: ''
+    TorAddress ${toString (head (splitString ":" server))}
+    TorPort    ${toString (tail (splitString ":" server))}
 
-  makeConfig = server: ''
-      server = ${toString(head (splitString ":" server))}
-      server_port = ${toString(tail (splitString ":" server))}
+    OnionAddrRange ${cfg.onionAddrRange}
 
-      local = 127.0.0.0/255.128.0.0
-      local = 127.128.0.0/255.192.0.0
-      local = 169.254.0.0/255.255.0.0
-      local = 172.16.0.0/255.240.0.0
-      local = 192.168.0.0/255.255.0.0
+    ${optionalNullStr cfg.socks5Username
+        "SOCKS5Username ${cfg.socks5Username}"}
+    ${optionalNullStr cfg.socks5Password
+        "SOCKS5Password ${cfg.socks5Password}"}
 
-      ${cfg.torsocks.config}
-    '';
-  makeTorsocks = name: server: pkgs.writeTextFile {
+    AllowInbound ${if cfg.allowInbound then "1" else "0"}
+  '';
+
+  wrapTorsocks = name: server: pkgs.writeTextFile {
     name = name;
     text = ''
         #!${pkgs.stdenv.shell}
-        TORSOCKS_CONF_FILE=${pkgs.writeText "torsocks.conf" (makeConfig server)} LD_PRELOAD="${pkgs.torsocks}/lib/torsocks/libtorsocks.so $LD_PRELOAD" "$@"
+        TORSOCKS_CONF_FILE=${pkgs.writeText "torsocks.conf" (configFile server)} ${pkgs.torsocks}/bin/torsocks "$@"
     '';
     executable = true;
     destination = "/bin/${name}";
   };
 
-  torsocks = makeTorsocks "torsocks" cfg.torsocks.server;
-  torsocksFaster = makeTorsocks "torsocks-faster" cfg.torsocks.serverFaster;
 in
-
 {
-
-  ###### interface
-
   options = {
-
     services.tor.torsocks = {
-
       enable = mkOption {
-        default = cfg.client.enable;
+        type        = types.bool;
+        default     = config.services.tor.enable && config.services.tor.client.enable;
         description = ''
-          Whether to build torsocks scipt to relay application traffic via TOR.
+          Whether to build <literal>/etc/tor/torsocks.conf</literal>
+          containing the specified global torsocks configuration.
         '';
       };
 
       server = mkOption {
-        default = cfg.client.socksListenAddress;
-        example = "192.168.0.20:9050";
+        type    = types.str;
+        default = "127.0.0.1:9050";
+        example = "192.168.0.20:1234";
         description = ''
-          IP address of TOR client to use.
+          IP/Port of the Tor SOCKS server. Currently, hostnames are
+          NOT supported by torsocks.
         '';
       };
 
-      serverFaster = mkOption {
-        default = cfg.client.socksListenAddressFaster;
-        example = "192.168.0.20:9063";
+      fasterServer = mkOption {
+        type    = types.str;
+        default = "127.0.0.1:9063";
+        example = "192.168.0.20:1234";
         description = ''
-          IP address of TOR client to use for applications like web browsers which
-	  need less circuit isolation to achive satisfactory performance.
+          IP/Port of the Tor SOCKS server for torsocks-faster wrapper suitable for HTTP.
+          Currently, hostnames are NOT supported by torsocks.
         '';
       };
 
-      config = mkOption {
-        default = "";
+      onionAddrRange = mkOption {
+        type    = types.str;
+        default = "127.42.42.0/24";
         description = ''
-          Extra configuration. Contents will be added verbatim to torsocks
-          configuration file.
+          Tor hidden sites do not have real IP addresses. This
+          specifies what range of IP addresses will be handed to the
+          application as "cookies" for .onion names.  Of course, you
+          should pick a block of addresses which you aren't going to
+          ever need to actually connect to. This is similar to the
+          MapAddress feature of the main tor daemon.
         '';
       };
 
-    };
+      socks5Username = mkOption {
+        type    = types.nullOr types.str;
+        default = null;
+        example = "bob";
+        description = ''
+          SOCKS5 username. The <literal>TORSOCKS_USERNAME</literal>
+          environment variable overrides this option if it is set.
+        '';
+      };
 
-  };
+      socks5Password = mkOption {
+        type    = types.nullOr types.str;
+        default = null;
+        example = "sekret";
+        description = ''
+          SOCKS5 password. The <literal>TORSOCKS_PASSWORD</literal>
+          environment variable overrides this option if it is set.
+        '';
+      };
 
-  ###### implementation
+      allowInbound = mkOption {
+        type    = types.bool;
+        default = false;
+        description = ''
+          Set Torsocks to accept inbound connections. If set to
+          <literal>true</literal>, listen() and accept() will be
+          allowed to be used with non localhost address.
+        '';
+      };
 
-  config = mkIf cfg.torsocks.enable {
+    };
+  };
 
-    environment.systemPackages = [ torsocks torsocksFaster ];  # expose it to the users
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.torsocks (wrapTorsocks "torsocks-faster" cfg.fasterServer) ];
 
+    environment.etc =
+      [ { source = pkgs.writeText "torsocks.conf" (configFile cfg.server);
+          target = "tor/torsocks.conf";
+        }
+      ];
   };
-
 }
diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix
new file mode 100644
index 00000000000..0ef31ef8a8b
--- /dev/null
+++ b/nixos/modules/services/system/cloud-init.nix
@@ -0,0 +1,152 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.services.cloud-init;
+    path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow dmidecode openssh ];
+    configFile = pkgs.writeText "cloud-init.cfg" ''
+users:
+   - root
+
+disable_root: false
+preserve_hostname: false
+
+cloud_init_modules:
+ - migrator
+ - seed_random
+ - bootcmd
+ - write-files
+ - growpart
+ - resizefs
+ - set_hostname
+ - update_hostname
+ - update_etc_hosts
+ - ca-certs
+ - rsyslog
+ - users-groups
+
+cloud_config_modules:
+ - emit_upstart
+ - disk_setup
+ - mounts
+ - ssh-import-id
+ - set-passwords
+ - timezone
+ - disable-ec2-metadata
+ - runcmd
+ - ssh
+
+cloud_final_modules:
+ - rightscale_userdata
+ - scripts-vendor
+ - scripts-per-once
+ - scripts-per-boot
+ - scripts-per-instance
+ - scripts-user
+ - ssh-authkey-fingerprints
+ - keys-to-console
+ - phone-home
+ - final-message
+ - power-state-change
+'';
+in
+{
+  options = {
+
+    services.cloud-init = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable the cloud-init service. This services reads
+          configuration metadata in a cloud environment and configures
+          the machine according to this metadata.
+
+          This configuration is not completely compatible with the
+          NixOS way of doing configuration, as configuration done by
+          cloud-init might be overriden by a subsequent nixos-rebuild
+          call. However, some parts of cloud-init fall outside of
+          NixOS's responsibility, like filesystem resizing and ssh
+          public key provisioning, and cloud-init is useful for that
+          parts. Thus, be wary that using cloud-init in NixOS might
+          come as some cost.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.cloud-init-local =
+      { description = "Initial cloud-init job (pre-networking)";
+        wantedBy = [ "multi-user.target" ];
+        wants = [ "local-fs.target" ];
+        after = [ "local-fs.target" ];
+        path = path;
+        serviceConfig =
+          { Type = "oneshot";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init --local";
+            RemainAfterExit = "yes";
+            TimeoutSec = "0";
+            StandardOutput = "journal+console";
+          };
+      };
+
+    systemd.services.cloud-init =
+      { description = "Initial cloud-init job (metadata service crawler)";
+        wantedBy = [ "multi-user.target" ];
+        wants = [ "local-fs.target" "cloud-init-local.service" "sshd.service" "sshd-keygen.service" ];
+        after = [ "local-fs.target" "network.target" "cloud-init-local.service" ];
+        before = [ "sshd.service" "sshd-keygen.service" ];
+        requires = [ "network.target "];
+        path = path;
+        serviceConfig =
+          { Type = "oneshot";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} init";
+            RemainAfterExit = "yes";
+            TimeoutSec = "0";
+            StandardOutput = "journal+console";
+          };
+      };
+
+    systemd.services.cloud-config =
+      { description = "Apply the settings specified in cloud-config";
+        wantedBy = [ "multi-user.target" ];
+        wants = [ "network.target" ];
+        after = [ "network.target" "syslog.target" "cloud-config.target" ];
+
+        path = path;
+        serviceConfig =
+          { Type = "oneshot";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=config";
+            RemainAfterExit = "yes";
+            TimeoutSec = "0";
+            StandardOutput = "journal+console";
+          };
+      };
+
+    systemd.services.cloud-final =
+      { description = "Execute cloud user/final scripts";
+        wantedBy = [ "multi-user.target" ];
+        wants = [ "network.target" ];
+        after = [ "network.target" "syslog.target" "cloud-config.service" "rc-local.service" ];
+        requires = [ "cloud-config.target" ];
+        path = path;
+        serviceConfig =
+          { Type = "oneshot";
+            ExecStart = "${pkgs.cloud-init}/bin/cloud-init -f ${configFile} modules --mode=final";
+            RemainAfterExit = "yes";
+            TimeoutSec = "0";
+            StandardOutput = "journal+console";
+          };
+      };
+
+    systemd.targets.cloud-config =
+      { description = "Cloud-config availability";
+        requires = [ "cloud-init-local.service" "cloud-init.service" ];
+      };
+  };
+}
diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix
index 928f16c9448..d40f7d6d05d 100644
--- a/nixos/modules/services/system/dbus.nix
+++ b/nixos/modules/services/system/dbus.nix
@@ -130,6 +130,9 @@ in
         config.system.path
       ];
 
+    # Don't restart dbus-daemon. Bad things tend to happen if we do.
+    systemd.services.dbus.reloadIfChanged = true;
+
     environment.pathsToLink = [ "/etc/dbus-1" "/share/dbus-1" ];
 
   };
diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix
index 5460e962ea2..0879d9b85bd 100644
--- a/nixos/modules/services/system/nscd.nix
+++ b/nixos/modules/services/system/nscd.nix
@@ -62,7 +62,7 @@ in
             mkdir -m 0755 -p /var/db/nscd
           '';
 
-        restartTriggers = [ config.environment.etc.hosts.source ];
+        restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source ];
 
         serviceConfig =
           { ExecStart = "@${pkgs.glibc}/sbin/nscd nscd -f ${cfgFile}";
diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix
new file mode 100644
index 00000000000..0360deac08b
--- /dev/null
+++ b/nixos/modules/services/torrent/peerflix.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.peerflix;
+
+  configFile = pkgs.writeText "peerflix-config.json" ''
+    {
+      "connections": 50,
+      "tmp": "${cfg.downloadDir}"
+    }
+  '';
+
+in {
+
+  ###### interface
+
+  options.services.peerflix = {
+    enable = mkOption {
+      description = "Whether to enable peerflix service.";
+      default = false;
+      type = types.uniq types.bool;
+    };
+
+    stateDir = mkOption {
+      description = "Peerflix state directory.";
+      default = "/var/lib/peerflix";
+      type = types.path;
+    };
+
+    downloadDir = mkOption {
+      description = "Peerflix temporary download directory.";
+      default = "${cfg.stateDir}/torrents";
+      type = types.path;
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.peerflix = {
+      description = "Peerflix Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-interfaces.target" ];
+      environment.HOME = cfg.stateDir;
+
+      preStart = ''
+        mkdir -p "${cfg.stateDir}"/{torrents,.config/peerflix-server}
+        if [ "$(id -u)" = 0 ]; then chown -R peerflix "${cfg.stateDir}"; fi
+        ln -fs "${configFile}" "${cfg.stateDir}/.config/peerflix-server/config.json"
+      '';
+
+      serviceConfig = {
+        ExecStart = "${pkgs.nodePackages.peerflix-server}/bin/peerflix-server";
+        PermissionsStartOnly = true;
+        User = "peerflix";
+      };
+    };
+
+    users.extraUsers.peerflix.uid = config.ids.uids.peerflix;
+  };
+}
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 02db4a7a5b2..135113b3ceb 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -9,28 +9,16 @@ let
   homeDir = "/var/lib/transmission";
   downloadDir = "${homeDir}/Downloads";
   incompleteDir = "${homeDir}/.incomplete";
+  
   settingsDir = "${homeDir}/.config/transmission-daemon";
-  settingsFile = "${settingsDir}/settings.json";
+  settingsFile = pkgs.writeText "settings.json" (builtins.toJSON fullSettings);
 
   # Strings must be quoted, ints and bools must not (for settings.json).
   toOption = x:
     if x == true then "true"
     else if x == false then "false"
     else if isInt x then toString x
-    else toString ''\"${x}\"'';
-
-  # All lines in settings.json end with a ',' (comma), except for the last
-  # line. This is standard JSON. But a comma can also appear *inside* some
-  # fields, notably the "rpc-whitelist" field. This is difficult to handle in
-  # sed so we simply ignore it and say that if you want to change the option at
-  # the last line of settings.json, you have to do it manually. At this time of
-  # writing, the last option is "utp-enable":true.
-  attrsToSedArgs = as:
-    concatStrings (concatLists (mapAttrsToList (name: value:
-      #map (x: '' -e 's=\(\"${name}\":\)[^,]*\(.*\)=\1 ${toOption x}\2=' '') # breaks if comma inside value field
-      map (x: '' -e 's=\(\"${name}\":\).*=\1 ${toOption x},=' '') # always append ',' (breaks last line in settings.json)
-        (if isList value then value else [value]))
-        as));
+    else toString ''"${x}"'';
 
   # for users in group "transmission" to have access to torrents
   fullSettings = cfg.settings // { umask = 2; };
@@ -73,7 +61,7 @@ in
           boolean values must not.
 
           See https://trac.transmissionbt.com/wiki/EditConfigFiles for
-          documentation and/or look at ${settingsFile}.
+          documentation.
         '';
       };
 
@@ -88,14 +76,14 @@ in
   config = mkIf cfg.enable {
     systemd.services.transmission = {
       description = "Transmission BitTorrent Service";
-      after = [ "network.target" ] ++ optional apparmor "apparmor.service";
+      after = [ "local-fs.target" "network.target" ] ++ optional apparmor "apparmor.service";
       requires = mkIf apparmor [ "apparmor.service" ];
       wantedBy = [ "multi-user.target" ];
 
       # 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 "chmod 770 ${homeDir} && mkdir -p ${settingsDir} ${downloadDir} ${incompleteDir} && ${pkgs.transmission}/bin/transmission-daemon -d |& sed ${attrsToSedArgs fullSettings} > ${settingsFile}.tmp && mv ${settingsFile}.tmp ${settingsFile}"
+          ${pkgs.stdenv.shell} -c "chmod 770 ${homeDir} && mkdir -p ${settingsDir} ${downloadDir} ${incompleteDir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json"
       '';
       serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}";
       serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix
index df21ebbd974..3958be33df2 100644
--- a/nixos/modules/services/ttys/agetty.nix
+++ b/nixos/modules/services/ttys/agetty.nix
@@ -66,6 +66,13 @@ with lib;
         restartIfChanged = false;
       };
 
+    systemd.services."console-getty" =
+      { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud console 115200,38400,9600 $TERM";
+        serviceConfig.Restart = "always";
+        restartIfChanged = false;
+	enable = mkDefault config.boot.isContainer;
+      };
+
     environment.etc = singleton
       { # Friendly greeting on the virtual consoles.
         source = pkgs.writeText "issue" ''
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 9ac28373dac..2b5cba68d45 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -109,6 +109,11 @@ let
       "mpm_${mainCfg.multiProcessingModule}"
       "authz_core"
       "unixd"
+      "cache" "cache_disk"
+      "slotmem_shm"
+      "socache_shmcb"
+      # For compatibility with old configurations, the new module mod_access_compat is provided.
+      "access_compat"
     ]
     ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
     ++ optional enableSSL "ssl"
@@ -160,12 +165,15 @@ let
 
 
   sslConf = ''
-    SSLSessionCache shm:${mainCfg.stateDir}/ssl_scache(512000)
+    SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000)
 
-    SSLMutex posixsem
+    ${if version24 then "Mutex" else "SSLMutex"} posixsem
 
     SSLRandomSeed startup builtin
     SSLRandomSeed connect builtin
+
+    SSLProtocol All -SSLv2 -SSLv3
+    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!EXP
   '';
 
 
@@ -208,16 +216,12 @@ let
       </Directory>
     '';
 
-    robotsTxt = pkgs.writeText "robots.txt" ''
-      ${# If this is a vhost, the include the entries for the main server as well.
-        if isMainServer then ""
-        else concatMapStrings (svc: svc.robotsEntries) mainSubservices}
-      ${concatMapStrings (svc: svc.robotsEntries) subservices}
-    '';
-
-    robotsConf = ''
-      Alias /robots.txt ${robotsTxt}
-    '';
+    robotsTxt =
+      concatStringsSep "\n" (filter (x: x != "") (
+        # If this is a vhost, the include the entries for the main server as well.
+        (if isMainServer then [] else [mainCfg.robotsEntries] ++ map (svc: svc.robotsEntries) mainSubservices)
+        ++ [cfg.robotsEntries]
+        ++ (map (svc: svc.robotsEntries) subservices)));
 
   in ''
     ServerName ${serverInfo.canonicalName}
@@ -245,7 +249,9 @@ let
       CustomLog ${mainCfg.logDir}/access_log-${cfg.hostName} ${cfg.logFormat}
     '' else ""}
 
-    ${robotsConf}
+    ${optionalString (robotsTxt != "") ''
+      Alias /robots.txt ${pkgs.writeText "robots.txt" robotsTxt}
+    ''}
 
     ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""}
 
@@ -422,8 +428,7 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.apacheHttpd.override { mpm = mainCfg.multiProcessingModule; };
-        example = literalExample "pkgs.apacheHttpd_2_4";
+        default = pkgs.apacheHttpd;
         description = ''
           Overridable attribute of the Apache HTTP Server package to use.
         '';
@@ -595,11 +600,11 @@ in
   ###### implementation
 
   config = mkIf config.services.httpd.enable {
-  
+
     assertions = [ { assertion = mainCfg.enableSSL == true
                                -> mainCfg.sslServerCert != null
                                     && mainCfg.sslServerKey != null;
-                     message = "SSL is enabled for HTTPD, but sslServerCert and/or sslServerKey haven't been specified."; }
+                     message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; }
                  ];
 
     users.extraUsers = optionalAttrs (mainCfg.user == "wwwrun") (singleton
@@ -680,6 +685,7 @@ in
         serviceConfig.Type = "forking";
         serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid";
         serviceConfig.Restart = "always";
+        serviceConfig.RestartSec = "5s";
       };
 
   };
diff --git a/nixos/modules/services/web-servers/apache-httpd/limesurvey.nix b/nixos/modules/services/web-servers/apache-httpd/limesurvey.nix
new file mode 100644
index 00000000000..6f1f67970f6
--- /dev/null
+++ b/nixos/modules/services/web-servers/apache-httpd/limesurvey.nix
@@ -0,0 +1,196 @@
+{ config, lib, pkgs, serverInfo, php, ... }:
+
+with lib;
+
+let
+
+  httpd = serverInfo.serverConfig.package;
+
+  version24 = !versionOlder httpd.version "2.4";
+
+  allGranted = if version24 then ''
+    Require all granted
+  '' else ''
+    Order allow,deny
+    Allow from all
+  '';
+
+  limesurveyConfig = pkgs.writeText "config.php" ''
+    <?php
+    $config = array();
+    $config['name']  = "${config.siteName}";
+    $config['runtimePath'] = "${config.dataDir}/tmp/runtime";
+    $config['components'] = array();
+    $config['components']['db'] = array();
+    $config['components']['db']['connectionString'] = '${config.dbType}:host=${config.dbHost};port=${toString config.dbPort};user=${config.dbUser};password=${config.dbPassword};dbname=${config.dbName};';
+    $config['components']['db']['username'] = '${config.dbUser}';
+    $config['components']['db']['password'] = '${config.dbPassword}';
+    $config['components']['db']['charset'] = 'utf-8';
+    $config['components']['db']['tablePrefix'] = "prefix_";
+    $config['components']['assetManager'] = array();
+    $config['components']['assetManager']['basePath'] = '${config.dataDir}/tmp/assets';
+    $config['config'] = array();
+    $config['config']['debug'] = 1;
+    $config['config']['tempdir']  = "${config.dataDir}/tmp";
+    $config['config']['tempdir']  = "${config.dataDir}/tmp";
+    $config['config']['uploaddir']  = "${config.dataDir}/upload";
+    $config['config']['force_ssl'] = '${if config.forceSSL then "on" else ""}';
+    $config['config']['defaultlang'] = '${config.defaultLang}';
+    return $config;
+    ?>
+  '';
+
+  limesurveyRoot = "${pkgs.limesurvey}/share/limesurvey/";
+
+in rec {
+
+  extraConfig = ''
+    Alias ${config.urlPrefix}/tmp ${config.dataDir}/tmp
+
+    <Directory ${config.dataDir}/tmp>
+      ${allGranted}
+      Options -Indexes +FollowSymlinks
+    </Directory>
+
+    Alias ${config.urlPrefix}/upload ${config.dataDir}/upload
+
+    <Directory ${config.dataDir}/upload>
+      ${allGranted}
+      Options -Indexes
+    </Directory>
+
+    ${if config.urlPrefix != "" then ''
+      Alias ${config.urlPrefix} ${limesurveyRoot}
+    '' else ''
+      RewriteEngine On
+      RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
+      RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
+    ''}
+
+    <Directory ${limesurveyRoot}>
+      DirectoryIndex index.php
+    </Directory>
+  '';
+
+  globalEnvVars = [
+    { name = "LIMESURVEY_CONFIG"; value = limesurveyConfig; }
+  ];
+
+  documentRoot = if config.urlPrefix == "" then limesurveyRoot else null;
+
+  enablePHP = true;
+
+  options = {
+
+    id = mkOption {
+      default = "main";
+      description = ''
+        A unique identifier necessary to keep multiple owncloud server
+        instances on the same machine apart.  This is used to
+        disambiguate the administrative scripts, which get names like
+        mediawiki-$id-change-password.
+      '';
+    };
+
+    urlPrefix = mkOption {
+      default = "";
+      description = "Url prefix for site.";
+      type = types.str;
+    };
+
+    dbType = mkOption {
+      default = "pgsql";
+      description = "Type of database for limesurvey, for now, only pgsql.";
+      type = types.enum ["pgsql"];
+    };
+
+    dbName = mkOption {
+      default = "limesurvey";
+      description = "Name of the database that holds the limesurvey data.";
+      type = types.str;
+    };
+
+    dbHost = mkOption {
+      default = "localhost";
+      description = "Limesurvey database host.";
+      type = types.str;
+    };
+
+    dbPort = mkOption {
+      default = 5432;
+      description = "Limesurvey database port.";
+      type = types.int;
+    };
+
+    dbUser = mkOption {
+      default = "limesurvey";
+      description = "Limesurvey database user.";
+      type = types.str;
+    };
+
+    dbPassword = mkOption {
+      example = "foobar";
+      description = "Limesurvey database password.";
+      type = types.str;
+    };
+
+    adminUser = mkOption {
+      description = "Limesurvey admin username.";
+      default = "admin";
+      type = types.str;
+    };
+
+    adminPassword = mkOption {
+      description = "Default limesurvey admin password.";
+      default = "admin";
+      type = types.str;
+    };
+
+    adminEmail = mkOption {
+      description = "Limesurvey admin email.";
+      default = "admin@admin.com";
+      type = types.str;
+    };
+
+    forceSSL = mkOption {
+      default = false;
+      description = "Force use of HTTPS connection.";
+      type = types.bool;
+    };
+
+    siteName = mkOption {
+      default = "LimeSurvey";
+      description = "LimeSurvey name of the site.";
+      type = types.str;
+    };
+
+    defaultLang = mkOption {
+      default = "en";
+      description = "LimeSurvey default language.";
+      type = types.str;
+    };
+
+    dataDir = mkOption {
+      default = "/var/lib/limesurvey";
+      description = "LimeSurvey data directory.";
+      type = types.path;
+    };
+  };
+
+  startupScript = pkgs.writeScript "limesurvey_startup.sh" ''
+    if [ ! -f ${config.dataDir}/.created ]; then
+      mkdir -p ${config.dataDir}/{tmp/runtime,tmp/assets,tmp/upload,upload}
+      chmod -R ug+rw ${config.dataDir}
+      chmod -R o-rwx ${config.dataDir}
+      chown -R wwwrun:wwwrun ${config.dataDir}
+
+      ${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
+      ${pkgs.postgresql}/bin/createdb "${config.dbName}" -O "${config.dbUser}" || true
+      ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true
+
+      ${pkgs.limesurvey}/bin/limesurvey-console install '${config.adminUser}' '${config.adminPassword}' '${config.adminUser}' '${config.adminEmail}'
+
+      touch ${config.dataDir}/.created
+    fi
+  '';
+}
diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki-postgresql-fixes.patch b/nixos/modules/services/web-servers/apache-httpd/mediawiki-postgresql-fixes.patch
deleted file mode 100644
index c46d492dc7a..00000000000
--- a/nixos/modules/services/web-servers/apache-httpd/mediawiki-postgresql-fixes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/includes/specials/SpecialActiveusers.php b/includes/specials/SpecialActiveusers.php
-index f739d3b..fdd8db3 100644
---- a/includes/specials/SpecialActiveusers.php
-+++ b/includes/specials/SpecialActiveusers.php
-@@ -112,7 +112,7 @@ class ActiveUsersPager extends UsersPager {
- 		return array(
- 			'tables' => array( 'querycachetwo', 'user', 'recentchanges' ),
- 			'fields' => array( 'user_name', 'user_id', 'recentedits' => 'COUNT(*)', 'qcc_title' ),
--			'options' => array( 'GROUP BY' => array( 'qcc_title' ) ),
-+			'options' => array( 'GROUP BY' => array( 'qcc_title', 'user_name', 'user_id' ) ),
- 			'conds' => $conds
- 		);
- 	}
-@@ -349,7 +349,7 @@ class SpecialActiveUsers extends SpecialPage {
- 			__METHOD__,
- 			array(
- 				'GROUP BY' => array( 'rc_user_text' ),
--				'ORDER BY' => 'NULL' // avoid filesort
-+				'ORDER BY' => 'lastedittime DESC'
- 			)
- 		);
- 		$names = array();
diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
index 76c64f8cb29..c0ed2041639 100644
--- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
@@ -4,6 +4,17 @@ with lib;
 
 let
 
+  httpd = serverInfo.serverConfig.package;
+
+  version24 = !versionOlder httpd.version "2.4";
+
+  allGranted = if version24 then ''
+    Require all granted
+  '' else ''
+    Order allow,deny
+    Allow from all
+  '';
+
   mediawikiConfig = pkgs.writeText "LocalSettings.php"
     ''
       <?php
@@ -72,15 +83,13 @@ let
 
   # Unpack Mediawiki and put the config file in its root directory.
   mediawikiRoot = pkgs.stdenv.mkDerivation rec {
-    name= "mediawiki-1.23.1";
+    name= "mediawiki-1.23.3";
 
     src = pkgs.fetchurl {
       url = "http://download.wikimedia.org/mediawiki/1.23/${name}.tar.gz";
-      sha256 = "07z5j8d988cdg4ml4n0vs9fwmj0p594ibbqdid16faxwqm52dkhl";
+      sha256 = "0l6798jwjwk2khfnm84mgc65ij53a8pnv30wdnn15ys4ivia4bpf";
     };
 
-    patches = [ ./mediawiki-postgresql-fixes.patch ];
-
     skins = config.skins;
 
     buildPhase =
@@ -123,8 +132,7 @@ in
         Alias ${config.urlPrefix}/images ${config.uploadDir}
 
         <Directory ${config.uploadDir}>
-            Order allow,deny
-            Allow from all
+            ${allGranted}
             Options -Indexes
         </Directory>
       ''}
@@ -133,7 +141,7 @@ in
         RewriteEngine On
         RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
         RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
-        ${concatMapStringsSep "\n" (u: "RewriteCond %{REQUEST_URI} !^${u.urlPath}") serverInfo.serverConfig.servedDirs}
+        ${concatMapStringsSep "\n" (u: "RewriteCond %{REQUEST_URI} !^${u.urlPath}") serverInfo.vhostConfig.servedDirs}
         RewriteRule ${if config.enableUploads
           then "!^/images"
           else "^.*\$"
@@ -144,8 +152,7 @@ in
       ''}
 
       <Directory ${mediawikiRoot}>
-          Order allow,deny
-          Allow from all
+          ${allGranted}
           DirectoryIndex index.php
       </Directory>
 
diff --git a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
new file mode 100644
index 00000000000..a5e539bc9ba
--- /dev/null
+++ b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix
@@ -0,0 +1,576 @@
+{ config, lib, pkgs, serverInfo, php, ... }:
+
+with lib;
+
+let
+
+  httpd = serverInfo.serverConfig.package;
+
+  version24 = !versionOlder httpd.version "2.4";
+
+  allGranted = if version24 then ''
+    Require all granted
+  '' else ''
+    Order allow,deny
+    Allow from all
+  '';
+
+  owncloudConfig = pkgs.writeText "config.php"
+    ''
+      <?php
+
+      /* Only enable this for local development and not in productive environments */
+      /* This will disable the minifier and outputs some additional debug informations */
+      define("DEBUG", false);
+
+      $CONFIG = array(
+      /* Flag to indicate ownCloud is successfully installed (true = installed) */
+      "installed" => true,
+
+      /* Type of database, can be sqlite, mysql or pgsql */
+      "dbtype" => "${config.dbType}",
+
+      /* Name of the ownCloud database */
+      "dbname" => "${config.dbName}",
+
+      /* User to access the ownCloud database */
+      "dbuser" => "${config.dbUser}",
+
+      /* Password to access the ownCloud database */
+      "dbpassword" => "${config.dbPassword}",
+
+      /* Host running the ownCloud database. To specify a port use "HOSTNAME:####"; to specify a unix sockets use "localhost:/path/to/socket". */
+      "dbhost" => "${config.dbServer}",
+
+      /* Prefix for the ownCloud tables in the database */
+      "dbtableprefix" => "",
+
+      /* Force use of HTTPS connection (true = use HTTPS) */
+      "forcessl" => ${config.forceSSL},
+
+      /* Blacklist a specific file and disallow the upload of files with this name - WARNING: USE THIS ONLY IF YOU KNOW WHAT YOU ARE DOING. */
+      "blacklisted_files" => array('.htaccess'),
+
+      /* The automatic hostname detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the automatic detection. You can also add a port. For example "www.example.com:88" */
+      "overwritehost" => "${config.overwriteHost}",
+
+      /* The automatic protocol detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the protocol detection. For example "https" */
+      "overwriteprotocol" => "${config.overwriteProtocol}",
+
+      /* The automatic webroot detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the automatic detection. For example "/domain.tld/ownCloud". The value "/" can be used to remove the root. */
+      "overwritewebroot" => "${config.overwriteWebRoot}",
+
+      /* The automatic detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to define a manually override condition as regular expression for the remote ip address. For example "^10\.0\.0\.[1-3]$" */
+      "overwritecondaddr" => "",
+
+      /* A proxy to use to connect to the internet. For example "myproxy.org:88" */
+      "proxy" => "",
+
+      /* The optional authentication for the proxy to use to connect to the internet. The format is: [username]:[password] */
+      "proxyuserpwd" => "",
+
+      /* List of trusted domains, to prevent host header poisoning ownCloud is only using these Host headers */
+      'trusted_domains' => array('${config.trustedDomain}'),
+
+      /* Theme to use for ownCloud */
+      "theme" => "",
+
+      /* Optional ownCloud default language - overrides automatic language detection on public pages like login or shared items. This has no effect on the user's language preference configured under "personal -> language" once they have logged in */
+      "default_language" => "${config.defaultLang}",
+
+      /* Path to the parent directory of the 3rdparty directory */
+      "3rdpartyroot" => "",
+
+      /* URL to the parent directory of the 3rdparty directory, as seen by the browser */
+      "3rdpartyurl" => "",
+
+      /* Default app to open on login.
+       * This can be a comma-separated list of app ids.
+       * If the first app is not enabled for the current user,
+       * it will try with the second one and so on. If no enabled app could be found,
+       * the "files" app will be displayed instead. */
+      "defaultapp" => "${config.defaultApp}",
+
+      /* Enable the help menu item in the settings */
+      "knowledgebaseenabled" => true,
+
+      /* Enable installing apps from the appstore */
+      "appstoreenabled" => ${config.appStoreEnable},
+
+      /* URL of the appstore to use, server should understand OCS */
+      "appstoreurl" => "https://api.owncloud.com/v1",
+
+      /* Domain name used by ownCloud for the sender mail address, e.g. no-reply@example.com */
+      "mail_domain" => "${config.mailFromDomain}",
+
+      /* FROM address used by ownCloud for the sender mail address, e.g. owncloud@example.com
+         This setting overwrites the built in 'sharing-noreply' and 'lostpassword-noreply'
+         FROM addresses, that ownCloud uses
+      */
+      "mail_from_address" => "${config.mailFrom}",
+
+      /* Enable SMTP class debugging */
+      "mail_smtpdebug" => false,
+
+      /* Mode to use for sending mail, can be sendmail, smtp, qmail or php, see PHPMailer docs */
+      "mail_smtpmode" => "${config.SMTPMode}",
+
+      /* Host to use for sending mail, depends on mail_smtpmode if this is used */
+      "mail_smtphost" => "${config.SMTPHost}",
+
+      /* Port to use for sending mail, depends on mail_smtpmode if this is used */
+      "mail_smtpport" => ${config.SMTPPort},
+
+      /* SMTP server timeout in seconds for sending mail, depends on mail_smtpmode if this is used */
+      "mail_smtptimeout" => ${config.SMTPTimeout},
+
+      /* SMTP connection prefix or sending mail, depends on mail_smtpmode if this is used.
+         Can be "", ssl or tls */
+      "mail_smtpsecure" => "${config.SMTPSecure}",
+
+      /* authentication needed to send mail, depends on mail_smtpmode if this is used
+       * (false = disable authentication)
+       */
+      "mail_smtpauth" => ${config.SMTPAuth},
+
+      /* authentication type needed to send mail, depends on mail_smtpmode if this is used
+       * Can be LOGIN (default), PLAIN or NTLM */
+      "mail_smtpauthtype" => "${config.SMTPAuthType}",
+
+      /* Username to use for sendmail mail, depends on mail_smtpauth if this is used */
+      "mail_smtpname" => "${config.SMTPUser}",
+
+      /* Password to use for sendmail mail, depends on mail_smtpauth if this is used */
+      "mail_smtppassword" => "${config.SMTPPass}",
+
+      /* memcached servers (Only used when xCache, APC and APCu are absent.) */
+      "memcached_servers" => array(
+          // hostname, port and optional weight. Also see:
+          // http://www.php.net/manual/en/memcached.addservers.php
+          // http://www.php.net/manual/en/memcached.addserver.php
+          //array('localhost', 11211),
+          //array('other.host.local', 11211),
+      ),
+
+      /* How long should ownCloud keep deleted files in the trash bin, default value:  30 days */
+      'trashbin_retention_obligation' => 30,
+
+      /* Disable/Enable auto expire for the trash bin, by default auto expire is enabled */
+      'trashbin_auto_expire' => true,
+
+      /* allow user to change his display name, if it is supported by the back-end */
+      'allow_user_to_change_display_name' => true,
+
+      /* Check 3rdparty apps for malicious code fragments */
+      "appcodechecker" => true,
+
+      /* Check if ownCloud is up to date */
+      "updatechecker" => true,
+
+      /* Are we connected to the internet or are we running in a closed network? */
+      "has_internet_connection" => true,
+
+      /* Check if the ownCloud WebDAV server is working correctly. Can be disabled if not needed in special situations*/
+      "check_for_working_webdav" => true,
+
+      /* Check if .htaccess protection of data is working correctly. Can be disabled if not needed in special situations*/
+      "check_for_working_htaccess" => true,
+
+      /* Place to log to, can be owncloud and syslog (owncloud is log menu item in admin menu) */
+      "log_type" => "owncloud",
+
+      /* File for the owncloud logger to log to, (default is ownloud.log in the data dir) */
+      "logfile" => "${config.dataDir}/owncloud.log",
+
+      /* Loglevel to start logging at. 0=DEBUG, 1=INFO, 2=WARN, 3=ERROR (default is WARN) */
+      "loglevel" => "2",
+
+      /* date format to be used while writing to the owncloud logfile */
+      'logdateformat' => 'F d, Y H:i:s',
+
+      /* timezone used while writing to the owncloud logfile (default: UTC) */
+      'logtimezone' => '${serverInfo.fullConfig.time.timeZone}',
+
+      /* Append all database queries and parameters to the log file.
+       (watch out, this option can increase the size of your log file)*/
+      "log_query" => false,
+
+      /* Whether ownCloud should log the last successfull cron exec */
+      "cron_log" => true,
+
+      /*
+       * Configure the size in bytes log rotation should happen, 0 or false disables the rotation.
+       * This rotates the current owncloud logfile to a new name, this way the total log usage
+       * will stay limited and older entries are available for a while longer. The
+       * total disk usage is twice the configured size.
+       * WARNING: When you use this, the log entries will eventually be lost.
+       */
+      'log_rotate_size' => "104857600", // 104857600, // 100 MiB
+
+      /* Lifetime of the remember login cookie, default is 15 days */
+      "remember_login_cookie_lifetime" => 1296000,
+
+      /* Life time of a session after inactivity */
+      "session_lifetime" => 86400,
+
+      /*
+       * Enable/disable session keep alive when a user is logged in in the Web UI.
+       * This is achieved by sending a "heartbeat" to the server to prevent
+       * the session timing out.
+       */
+      "session_keepalive" => true,
+
+      /* Custom CSP policy, changing this will overwrite the standard policy */
+      "custom_csp_policy" => "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src *; font-src 'self' data:; media-src *",
+
+      /* Enable/disable X-Frame-Restriction */
+      /* HIGH SECURITY RISK IF DISABLED*/
+      "xframe_restriction" => true,
+
+      /* The directory where the user data is stored, default to data in the owncloud
+       * directory. The sqlite database is also stored here, when sqlite is used.
+       */
+      "datadirectory" => "${config.dataDir}/storage",
+
+      /* The directory where the skeleton files are located. These files will be copied to the data
+       * directory of new users. Leave empty to not copy any skeleton files.
+       */
+      // "skeletondirectory" => "",
+
+      /* Enable maintenance mode to disable ownCloud
+         If you want to prevent users to login to ownCloud before you start doing some maintenance work,
+         you need to set the value of the maintenance parameter to true.
+         Please keep in mind that users who are already logged-in are kicked out of ownCloud instantly.
+      */
+      "maintenance" => false,
+
+      "apps_paths" => array(
+
+      /* Set an array of path for your apps directories
+       key 'path' is for the fs path and the key 'url' is for the http path to your
+       applications paths. 'writable' indicates whether the user can install apps in this folder.
+       You must have at least 1 app folder writable or you must set the parameter 'appstoreenabled' to false
+      */
+          array(
+              'path'=> '${config.dataDir}/apps',
+              'url' => '/apps',
+              'writable' => true,
+          ),
+      ),
+      'user_backends'=>array(
+          /*
+          array(
+              'class'=>'OC_User_IMAP',
+              'arguments'=>array('{imap.gmail.com:993/imap/ssl}INBOX')
+          )
+          */
+      ),
+      //links to custom clients
+      'customclient_desktop' => ''', //http://owncloud.org/sync-clients/
+      'customclient_android' => ''', //https://play.google.com/store/apps/details?id=com.owncloud.android
+      'customclient_ios' => ''', //https://itunes.apple.com/us/app/owncloud/id543672169?mt=8
+
+      // PREVIEW
+      'enable_previews' => true,
+      /* the max width of a generated preview, if value is null, there is no limit */
+      'preview_max_x' => null,
+      /* the max height of a generated preview, if value is null, there is no limit */
+      'preview_max_y' => null,
+      /* the max factor to scale a preview, default is set to 10 */
+      'preview_max_scale_factor' => 10,
+      /* custom path for libreoffice / openoffice binary */
+      'preview_libreoffice_path' => '${config.libreofficePath}',
+      /* cl parameters for libreoffice / openoffice */
+      'preview_office_cl_parameters' => ''',
+
+      /* whether avatars should be enabled */
+      'enable_avatars' => true,
+
+      // Extra SSL options to be used for configuration
+      'openssl' => array(
+          'config' => '/etc/ssl/openssl.cnf',
+      ),
+
+      // default cipher used for file encryption, currently we support AES-128-CFB and AES-256-CFB
+      'cipher' => 'AES-256-CFB',
+
+      /* whether usage of the instance should be restricted to admin users only */
+      'singleuser' => false,
+
+      /* all css and js files will be served by the web server statically in one js file and ons css file*/
+      'asset-pipeline.enabled' => false,
+
+      /* where mount.json file should be stored, defaults to data/mount.json */
+      'mount_file' => ''',
+
+      /*
+       * Location of the cache folder, defaults to "data/$user/cache" where "$user" is the current user.
+       *
+       * When specified, the format will change to "$cache_path/$user" where "$cache_path" is the configured
+       * cache directory and "$user" is the user.
+       *
+       */
+      'cache_path' => ''',
+
+      /* EXPERIMENTAL: option whether to include external storage in quota calculation, defaults to false */
+      'quota_include_external_storage' => false,
+
+      /*
+       * specifies how often the filesystem is checked for changes made outside owncloud
+       * 0 -> never check the filesystem for outside changes, provides a performance increase when it's certain that no changes are made directly to the filesystem
+       * 1 -> check each file or folder at most once per request, recomended for general use if outside changes might happen
+       * 2 -> check every time the filesystem is used, causes a performance hit when using external storages, not recomended for regular use
+       */
+      'filesystem_check_changes' => 1,
+
+      /* If true, prevent owncloud from changing the cache due to changes in the filesystem for all storage */
+      'filesystem_cache_readonly' => false,
+
+      /**
+       * define default folder for shared files and folders
+       */
+      'share_folder' => '/',
+
+      'version' => '${pkgs.owncloud.version}',
+
+      'openssl' => '${pkgs.openssl}/bin/openssl'
+
+      );
+
+    '';
+
+in
+
+rec {
+
+  extraConfig =
+    ''
+      ServerName ${config.siteName}
+      ServerAdmin ${config.adminAddr}
+      DocumentRoot ${documentRoot}
+
+      RewriteEngine On
+      RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
+      RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
+
+      <Directory ${pkgs.owncloud}>
+        ${builtins.readFile "${pkgs.owncloud}/.htaccess"}
+      </Directory>
+    '';
+
+  globalEnvVars = [
+    { name = "OC_CONFIG_PATH"; value = "${config.dataDir}/config/"; }
+  ];
+
+  documentRoot = pkgs.owncloud;
+
+  enablePHP = true;
+
+  options = {
+
+    id = mkOption {
+      default = "main";
+      description = ''
+        A unique identifier necessary to keep multiple owncloud server
+        instances on the same machine apart.  This is used to
+        disambiguate the administrative scripts, which get names like
+        mediawiki-$id-change-password.
+      '';
+    };
+
+    adminUser = mkOption {
+      default = "owncloud";
+      description = "The admin user name for accessing owncloud.";
+    };
+
+    adminPassword = mkOption {
+      description = "The admin password for accessing owncloud.";
+    };
+
+    dbType = mkOption {
+      default = "pgsql";
+      description = "Type of database, in NixOS, for now, only pgsql.";
+    };
+
+    dbName = mkOption {
+      default = "owncloud";
+      description = "Name of the database that holds the owncloud data.";
+    };
+
+    dbServer = mkOption {
+      default = "localhost:5432";
+      description = ''
+        The location of the database server.
+      '';
+    };
+
+    dbUser = mkOption {
+      default = "owncloud";
+      description = "The user name for accessing the database.";
+    };
+
+    dbPassword = mkOption {
+      example = "foobar";
+      description = ''
+        The password of the database user.  Warning: this is stored in
+        cleartext in the Nix store!
+      '';
+    };
+
+    forceSSL = mkOption {
+      default = "false";
+      description = "Force use of HTTPS connection.";
+    };
+
+    adminAddr = mkOption {
+      default = serverInfo.serverConfig.adminAddr;
+      example = "admin@example.com";
+      description = ''
+        Emergency contact e-mail address.  Defaults to the Apache
+        admin address.
+      '';
+    };
+
+    siteName = mkOption {
+      default = "owncloud";
+      example = "Foobar owncloud";
+      description = "Name of the owncloud";
+    };
+
+    trustedDomain = mkOption {
+      default = "";
+      description = "Trusted domain";
+    };
+
+    defaultLang = mkOption {
+      default = "";
+      description = "Default language";
+    };
+
+    defaultApp = mkOption {
+      default = "";
+      description = "Default application";
+    };
+
+    appStoreEnable = mkOption {
+      default = "true";
+      description = "Enable app store";
+    };
+
+    mailFrom = mkOption {
+      default = "no-reply";
+      description = "Mail from";
+    };
+
+    mailFromDomain = mkOption {
+      default = "example.xyz";
+      description = "Mail from domain";
+    };
+
+    SMTPMode = mkOption {
+      default = "smtp";
+      description = "Which mode to use for sending mail: sendmail, smtp, qmail or php.";
+    };
+
+    SMTPHost = mkOption {
+      default = "";
+      description = "SMTP host";
+    };
+
+    SMTPPort = mkOption {
+      default = "25";
+      description = "SMTP port";
+    };
+
+    SMTPTimeout = mkOption {
+      default = "10";
+      description = "SMTP mode";
+    };
+
+    SMTPSecure = mkOption {
+      default = "ssl";
+      description = "SMTP secure";
+    };
+
+    SMTPAuth = mkOption {
+      default = "true";
+      description = "SMTP auth";
+    };
+
+    SMTPAuthType = mkOption {
+      default = "LOGIN";
+      description = "SMTP auth type";
+    };
+
+    SMTPUser = mkOption {
+      default = "";
+      description = "SMTP user";
+    };
+
+    SMTPPass = mkOption {
+      default = "";
+      description = "SMTP pass";
+    };
+
+    dataDir = mkOption {
+      default = "/var/lib/owncloud";
+      description = "Data dir";
+    };
+
+    libreofficePath = mkOption {
+      default = "/usr/bin/libreoffice";
+      description = "Path for LibreOffice/OpenOffice binary.";
+    };
+
+    overwriteHost = mkOption {
+      default = "";
+      description = "The automatic hostname detection of ownCloud can fail in
+        certain reverse proxy and CLI/cron situations. This option allows to
+        manually override the automatic detection. You can also add a port.";
+    };
+
+    overwriteProtocol = mkOption {
+      default = "";
+      description = "The automatic protocol detection of ownCloud can fail in
+        certain reverse proxy and CLI/cron situations. This option allows to
+        manually override the protocol detection.";
+    };
+
+    overwriteWebRoot = mkOption {
+      default = "";
+      description = "The automatic webroot detection of ownCloud can fail in
+        certain reverse proxy and CLI/cron situations. This option allows to
+        manually override the automatic detection.";
+    };
+
+  };
+
+  startupScript = pkgs.writeScript "owncloud_startup.sh" ''
+
+    if [ ! -d ${config.dataDir}/config ]; then
+      mkdir -p ${config.dataDir}/config
+      cp ${owncloudConfig} ${config.dataDir}/config/config.php
+      mkdir -p ${config.dataDir}/storage
+      mkdir -p ${config.dataDir}/apps
+      cp -r ${pkgs.owncloud}/apps/* ${config.dataDir}/apps/
+      chmod -R ug+rw ${config.dataDir}
+      chmod -R o-rwx ${config.dataDir}
+      chown -R wwwrun:wwwrun ${config.dataDir}
+
+      ${pkgs.postgresql}/bin/createuser -s -r postgres
+      ${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole "${config.dbUser}" || true
+      ${pkgs.postgresql}/bin/createdb "${config.dbName}" -O "${config.dbUser}" || true
+      ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -U postgres -d postgres -c "alter user ${config.dbUser} with password '${config.dbPassword}';" || true
+
+      QUERY="CREATE TABLE appconfig (appid VARCHAR( 255 ) NOT NULL ,configkey VARCHAR( 255 ) NOT NULL ,configvalue VARCHAR( 255 ) NOT NULL); GRANT ALL ON appconfig TO ${config.dbUser}; ALTER TABLE appconfig OWNER TO ${config.dbUser};"
+      ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true
+    fi
+
+    ${php}/bin/php ${pkgs.owncloud}/occ upgrade || true
+
+    chown wwwrun:wwwrun ${config.dataDir}/owncloud.log || true
+
+    QUERY="INSERT INTO groups (gid) values('admin'); INSERT INTO users (uid,password) values('${config.adminUser}','${builtins.hashString "sha1" config.adminPassword}'); INSERT INTO group_user (gid,uid) values('admin','${config.adminUser}');"
+    ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || 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 b8e86334539..76f55a63e32 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
@@ -142,9 +142,19 @@ with lib;
     type = types.str;
     default = "common";
     example = "combined";
-    description = "
+    description = ''
       Log format for Apache's log files. Possible values are: combined, common, referer, agent.
-    ";
+    '';
+  };
+
+  robotsEntries = mkOption {
+    type = types.lines;
+    default = "";
+    example = "Disallow: /foo/";
+    description = ''
+      Specification of pages to be ignored by web crawlers. See <link
+      xlink:href='http://www.robotstxt.org/'/> for details.
+    '';
   };
 
 }
diff --git a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix
index c7a9bdf68c5..e4e3aac8d41 100644
--- a/nixos/modules/services/web-servers/apache-httpd/phabricator.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix
@@ -1,35 +1,30 @@
 { config, lib, pkgs, ... }:
+
+with lib;
+
 let
-  phabricatorRoot = pkgs.stdenv.mkDerivation rec {
-    version = "2014-05-12";
-    name = "phabricator-${version}";
-    srcLibphutil = pkgs.fetchgit {
-        url = git://github.com/facebook/libphutil.git;
-        rev = "2f3b5a1cf6ea464a0250d4b1c653a795a90d2716";
-        sha256 = "9598cec400984dc149162f1e648814a54ea0cd34fcd529973dc83f5486fdd9fd";
-    };
-    srcArcanist = pkgs.fetchgit {
-        url = git://github.com/facebook/arcanist.git;
-        rev = "54c377448db8dbc40f0ca86d43c837d30e493485";
-        sha256 = "086db3c0d1154fbad23e7c6def31fd913384ee20247b329515838b669c3028e0";
-    };
-    srcPhabricator = pkgs.fetchgit {
-        url = git://github.com/facebook/phabricator.git;
-        rev = "1644ef185ecf1e9fca3eb6b16351ef46b19d110f";
-        sha256 = "e1135e4ba76d53f48aad4161563035414ed7e878f39a8a34a875a01b41b2a084";
-    };
-    
-    buildCommand = ''
-      mkdir -p $out
-      cp -R ${srcLibphutil} $out/libphutil
-      cp -R ${srcArcanist} $out/arcanist
-      cp -R ${srcPhabricator} $out/phabricator
-    '';
-  };
+  phabricatorRoot = pkgs.phabricator;
 in {
+
   enablePHP = true;
   extraApacheModules = [ "mod_rewrite" ];
   DocumentRoot = "${phabricatorRoot}/phabricator/webroot";
+
+  options = {
+      git = mkOption {
+          default = true;
+          description = "Enable git repositories.";
+      };
+      mercurial = mkOption {
+          default = true;
+          description = "Enable mercurial repositories.";
+      };
+      subversion = mkOption {
+          default = true;
+          description = "Enable subversion repositories.";
+      };
+  };
+
   extraConfig = ''
       DocumentRoot ${phabricatorRoot}/phabricator/webroot
 
@@ -38,4 +33,18 @@ in {
       RewriteRule ^/favicon.ico - [L,QSA]
       RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
   '';
+
+  extraServerPath = [
+      "${pkgs.which}"
+      "${pkgs.diffutils}"
+      ] ++
+      (if config.mercurial then ["${pkgs.mercurial}"] else []) ++
+      (if config.subversion then ["${pkgs.subversion}"] else []) ++
+      (if config.git then ["${pkgs.git}"] else []);
+
+  startupScript = pkgs.writeScript "activatePhabricator" ''
+      mkdir -p /var/repo
+      chown wwwrun /var/repo
+  '';
+
 }
diff --git a/nixos/modules/services/web-servers/fcgiwrap.nix b/nixos/modules/services/web-servers/fcgiwrap.nix
index 7e91e7b60ee..2c5e433003c 100644
--- a/nixos/modules/services/web-servers/fcgiwrap.nix
+++ b/nixos/modules/services/web-servers/fcgiwrap.nix
@@ -4,7 +4,6 @@ with lib;
 
 let
   cfg = config.services.fcgiwrap;
-
 in {
 
   options = {
@@ -21,29 +20,53 @@ in {
         description = "Number of processes to prefork.";
       };
 
-      bindSocket = mkOption {
-        type = types.string;
-        default = "unix:/run/fcgiwrap.sock";
-        description = ''
-          Socket to bind to. Valid socket URLs are:
-            unix:/path/to/socket for Unix sockets
-            tcp:dot.ted.qu.ad:port for IPv4 sockets
-            tcp6:[ipv6_addr]:port for IPv6 sockets
-        '';
+      socketType = mkOption {
+        type = types.addCheck types.str (t: t == "unix" || t == "tcp" || t == "tcp6");
+        default = "unix";
+        description = "Socket type: 'unix', 'tcp' or 'tcp6'.";
+      };
+
+      socketAddress = mkOption {
+        type = types.str;
+        default = "/run/fcgiwrap.sock";
+        example = "1.2.3.4:5678";
+        description = "Socket address. In case of a UNIX socket, this should be its filesystem path.";
+      };
+
+      user = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = "User permissions for the socket.";
+      };
+
+      group = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = "Group permissions for the socket.";
       };
     };
   };
 
   config = mkIf cfg.enable {
-
     systemd.services.fcgiwrap = {
       after = [ "nss-user-lookup.target" ];
-      wantedBy = [ "multi-user.target" ];
+      wantedBy = optional (cfg.socketType != "unix") "multi-user.target";
 
       serviceConfig = {
-        ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} -s ${cfg.bindSocket}";
-      };
+        ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} ${
+          if (cfg.socketType != "unix") then "-s ${cfg.socketType}:${cfg.socketAddress}" else ""
+        }";
+      } // (if cfg.user != null && cfg.group != null then {
+        User = cfg.user;
+        Group = cfg.group;
+      } else { } );
     };
 
+    systemd.sockets = if (cfg.socketType == "unix") then {
+      fcgiwrap = {
+        wantedBy = [ "sockets.target" ];
+        socketConfig.ListenStream = cfg.socketAddress;
+      };
+    } else { };
   };
 }
diff --git a/nixos/modules/services/web-servers/lighttpd/cgit.nix b/nixos/modules/services/web-servers/lighttpd/cgit.nix
index d4663781fd8..34b2fa600ad 100644
--- a/nixos/modules/services/web-servers/lighttpd/cgit.nix
+++ b/nixos/modules/services/web-servers/lighttpd/cgit.nix
@@ -44,6 +44,9 @@ in
     # make the cgitrc manpage available
     environment.systemPackages = [ pkgs.cgit ];
 
+    # declare module dependencies
+    services.lighttpd.enableModules = [ "mod_cgi" "mod_alias" "mod_setenv" ];
+
     services.lighttpd.extraConfig = ''
       $HTTP["url"] =~ "^/cgit" {
           cgi.assign = (
diff --git a/nixos/modules/services/web-servers/lighttpd/default.nix b/nixos/modules/services/web-servers/lighttpd/default.nix
index fc9487ab485..06f310eeb93 100644
--- a/nixos/modules/services/web-servers/lighttpd/default.nix
+++ b/nixos/modules/services/web-servers/lighttpd/default.nix
@@ -8,12 +8,54 @@ let
 
   cfg = config.services.lighttpd;
 
-  needModRedirect = cfg.gitweb.enable;
-  needModAlias = cfg.cgit.enable || cfg.gitweb.enable;
-  needModSetenv = cfg.cgit.enable || cfg.gitweb.enable;
-  needModCgi = cfg.cgit.enable || cfg.gitweb.enable;
-  needModStatus = cfg.mod_status;
-  needModUserdir = cfg.mod_userdir;
+  # List of known lighttpd modules, ordered by how the lighttpd documentation
+  # recommends them being imported:
+  # http://redmine.lighttpd.net/projects/1/wiki/Server_modulesDetails
+  #
+  # Some modules are always imported and should not appear in the config:
+  # disallowedModules = [ "mod_indexfile" "mod_dirlisting" "mod_staticfile" ];
+  #
+  # Get full module list: "ls -1 $lighttpd/lib/*.so"
+  allKnownModules = [
+    "mod_rewrite"
+    "mod_redirect"
+    "mod_alias"
+    "mod_access"
+    "mod_auth"
+    "mod_status"
+    "mod_simple_vhost"
+    "mod_evhost"
+    "mod_userdir"
+    "mod_secdownload"
+    "mod_fastcgi"
+    "mod_proxy"
+    "mod_cgi"
+    "mod_ssi"
+    "mod_compress"
+    "mod_usertrack"
+    "mod_expire"
+    "mod_rrdtool"
+    "mod_accesslog"
+    # Remaining list of modules, order assumed to be unimportant.
+    "mod_cml"
+    "mod_dirlisting"
+    "mod_evasive"
+    "mod_extforward"
+    "mod_flv_streaming"
+    "mod_magnet"
+    "mod_mysql_vhost"
+    "mod_rewrite"
+    "mod_scgi"
+    "mod_setenv"
+    "mod_trigger_b4_dl"
+    "mod_webdav"
+  ];
+
+  maybeModuleString = moduleName:
+    if elem moduleName cfg.enableModules then ''"${moduleName}"'' else "";
+
+  modulesIncludeString = concatStringsSep ",\n"
+    (filter (x: x != "") (map maybeModuleString allKnownModules));
 
   configFile = if cfg.configText != "" then
     pkgs.writeText "lighttpd.conf" ''
@@ -38,13 +80,7 @@ let
       # been loaded already. So if two services were to put the same module in
       # server.modules += (), that would break the lighttpd configuration.
       server.modules = (
-          ${optionalString needModRedirect ''"mod_redirect",''}
-          ${optionalString needModAlias ''"mod_alias",''}
-          ${optionalString needModSetenv ''"mod_setenv",''}
-          ${optionalString needModCgi ''"mod_cgi",''}
-          ${optionalString needModStatus ''"mod_status",''}
-          ${optionalString needModUserdir ''"mod_userdir",''}
-          "mod_accesslog"
+          ${modulesIncludeString}
       )
 
       # Logging (logs end up in systemd journal)
@@ -117,6 +153,19 @@ in
         '';
       };
 
+      enableModules = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "mod_cgi" "mod_status" ];
+        description = ''
+          List of lighttpd modules to enable. Sub-services take care of
+          enabling modules as needed, so this option is mainly for when you
+          want to add custom stuff to
+          <option>services.lighttpd.extraConfig</option> that depends on a
+          certain module.
+        '';
+      };
+
       mod_status = mkOption {
         default = false;
         type = types.uniq types.bool;
@@ -152,6 +201,26 @@ in
 
   config = mkIf cfg.enable {
 
+    assertions = [
+      { assertion = all (x: elem x allKnownModules) cfg.enableModules;
+        message = ''
+          One (or more) modules in services.lighttpd.enableModules are
+          unrecognized.
+
+          Known modules: ${toString allKnownModules}
+
+          services.lighttpd.enableModules: ${toString cfg.enableModules}
+        '';
+      }
+    ];
+
+    services.lighttpd.enableModules = mkMerge
+      [ (mkIf cfg.mod_status [ "mod_status" ])
+        (mkIf cfg.mod_userdir [ "mod_userdir" ])
+        # always load mod_accesslog so that we can log to the journal
+        [ "mod_accesslog" ]
+      ];
+
     systemd.services.lighttpd = {
       description = "Lighttpd Web Server";
       after = [ "network.target" ];
diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
index c407a1d8977..ef7072ecba3 100644
--- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix
+++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
@@ -44,6 +44,9 @@ in
 
   config = mkIf cfg.enable {
 
+    # declare module dependencies
+    services.lighttpd.enableModules = [ "mod_cgi" "mod_redirect" "mod_alias" "mod_setenv" ];
+
     services.lighttpd.extraConfig = ''
       $HTTP["url"] =~ "^/gitweb" {
           cgi.assign = (
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 7c2d3a42973..0f21ef01263 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -23,6 +23,7 @@ in
     services.nginx = {
       enable = mkOption {
         default = false;
+        type = types.bool;
         description = "
           Enable the nginx Web Server.
         ";
@@ -70,11 +71,13 @@ in
       };
 
       user = mkOption {
+        type = types.str;
         default = "nginx";
         description = "User account under which nginx runs.";
       };
 
       group = mkOption {
+        type = types.str;
         default = "nginx";
         description = "Group account under which nginx runs.";
       };
@@ -99,6 +102,9 @@ in
         '';
       serviceConfig = {
         ExecStart = "${nginx}/bin/nginx -c ${configFile} -p ${cfg.stateDir}";
+        Restart = "on-failure";
+        RestartSec = "10s";
+        StartLimitInterval = "1min";
       };
     };
 
diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix
index c2f464014ae..99460a48835 100644
--- a/nixos/modules/services/web-servers/tomcat.nix
+++ b/nixos/modules/services/web-servers/tomcat.nix
@@ -5,7 +5,7 @@ with lib;
 let
 
   cfg = config.services.tomcat;
-  tomcat = pkgs.tomcat6;
+  tomcat = cfg.package;
 in
 
 {
@@ -21,6 +21,15 @@ in
         description = "Whether to enable Apache Tomcat";
       };
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.tomcat7;
+        example = lib.literalExample "pkgs.tomcat8";
+        description = ''
+          Which tomcat package to use.
+        '';
+      };
+
       baseDir = mkOption {
         default = "/var/tomcat";
         description = "Location where Tomcat stores configuration files, webapplications and logfiles";
diff --git a/nixos/modules/services/web-servers/uwsgi.nix b/nixos/modules/services/web-servers/uwsgi.nix
new file mode 100644
index 00000000000..6e454a2dacd
--- /dev/null
+++ b/nixos/modules/services/web-servers/uwsgi.nix
@@ -0,0 +1,112 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.uwsgi;
+
+  python2Pkgs = pkgs.python2Packages.override {
+    python = pkgs.uwsgi.python2;
+    self = python2Pkgs;
+  };
+
+  python3Pkgs = pkgs.python3Packages.override {
+    python = pkgs.uwsgi.python3;
+    self = python3Pkgs;
+  };
+
+  buildCfg = c: if builtins.typeOf c != "set" then builtins.readFile c else builtins.toJSON {
+    uwsgi =
+      if c.type == "normal"
+        then {
+          pythonpath =
+               (if c ? python2Packages
+                then builtins.map (x: "${x}/${pkgs.uwsgi.python2.sitePackages}") (c.python2Packages python2Pkgs)
+                else [])
+            ++ (if c ? python3Packages
+                then builtins.map (x: "${x}/${pkgs.uwsgi.python3.sitePackages}") (c.python3Packages python3Pkgs)
+                else []);
+          plugins = cfg.plugins;
+        } // removeAttrs c [ "type" "python2Packages" "python3Packages" ]
+      else if c.type == "emperor"
+        then {
+          emperor = if builtins.typeOf c.vassals != "set" then c.vassals
+                    else pkgs.buildEnv {
+                      name = "vassals";
+                      paths = mapAttrsToList (n: c: pkgs.writeTextDir "${n}.json" (buildCfg c)) c.vassals;
+                    };
+        } // removeAttrs c [ "type" "vassals" ]
+      else abort "type should be either 'normal' or 'emperor'";
+  };
+
+  uwsgi = pkgs.uwsgi.override {
+    plugins = cfg.plugins;
+  };
+
+in {
+
+  options = {
+    services.uwsgi = {
+      
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable uWSGI";
+      };
+
+      instance = mkOption {
+        type = types.attrs;
+        default = {
+          type = "normal";
+        };
+        example = literalExample ''
+          {
+            type = "emperor";
+            vassals = {
+              moin = {
+                type = "normal";
+                python2Packages = self: with self; [ moinmoin ];
+                socket = "/run/uwsgi.sock";
+              };
+            };
+          }
+        '';
+        description = ''
+          uWSGI configuration. This awaits either a path to file or a set which will be made into one.
+          If given a set, it awaits an attribute <literal>type</literal> which can be either <literal>normal</literal>
+          or <literal>emperor</literal>.
+
+          For <literal>normal</literal> mode you can specify <literal>python2Packages</literal> and
+          <literal>python3Packages</literal> as functions from libraries set into lists of libraries.
+          For <literal>emperor</literal> mode, you should use <literal>vassals</literal> attribute
+          which should be either a set of names and configurations or a path to a directory.
+        '';
+      };
+
+      plugins = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = "Plugins used with uWSGI";
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.uwsgi = {
+      wantedBy = [ "multi-user.target" ];
+      
+      serviceConfig = {
+        Type = "notify";
+        ExecStart = "${uwsgi}/bin/uwsgi --json ${pkgs.writeText "uwsgi.json" (buildCfg cfg.instance)}";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
+        NotifyAccess = "main";
+        KillSignal = "SIGQUIT";
+      };
+
+    };
+  };
+}
diff --git a/nixos/modules/services/web-servers/winstone.nix b/nixos/modules/services/web-servers/winstone.nix
index 7f48012f158..eed16a64f2a 100644
--- a/nixos/modules/services/web-servers/winstone.nix
+++ b/nixos/modules/services/web-servers/winstone.nix
@@ -30,7 +30,7 @@ let
 
       javaPackage = mkOption {
         type = types.package;
-        default = pkgs.openjre;
+        default = pkgs.jre;
         description = ''
           Which Java derivation to use for running Winstone.
         '';
diff --git a/nixos/modules/services/web-servers/zope2.nix b/nixos/modules/services/web-servers/zope2.nix
index 21117118457..bbe4d10f83d 100644
--- a/nixos/modules/services/web-servers/zope2.nix
+++ b/nixos/modules/services/web-servers/zope2.nix
@@ -24,7 +24,7 @@ let
       http_address = mkOption {
         default = "localhost:8080";
         type = types.string;
-        description = "Give a port and adress for the HTTP server.";
+        description = "Give a port and address for the HTTP server.";
       };
 
       user = mkOption {
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index c62beca60d8..998bcd354c5 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,8 +18,8 @@ in
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if KDE is enabled, it supersedes xterm.
   imports = [
-    ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix
-    ./e17.nix ./e18.nix ./gnome3.nix ./xbmc.nix
+    ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde5.nix
+    ./e19.nix ./gnome3.nix ./kodi.nix
   ];
 
   options = {
diff --git a/nixos/modules/services/x11/desktop-managers/e17.nix b/nixos/modules/services/x11/desktop-managers/e17.nix
deleted file mode 100644
index 4cac53c9c75..00000000000
--- a/nixos/modules/services/x11/desktop-managers/e17.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  xcfg = config.services.xserver;
-  cfg = xcfg.desktopManager.e17;
-
-in
-
-{
-  options = {
-
-    services.xserver.desktopManager.e17.enable = mkOption {
-      default = false;
-      example = true;
-      description = "Enable support for the E17 desktop environment.";
-    };
-
-  };
-
-
-  config = mkIf (xcfg.enable && cfg.enable) {
-
-    services.dbus.packages = [ pkgs.e17.ethumb ];
-
-  };
-
-}
diff --git a/nixos/modules/services/x11/desktop-managers/e18.nix b/nixos/modules/services/x11/desktop-managers/e18.nix
deleted file mode 100644
index faafd21b07d..00000000000
--- a/nixos/modules/services/x11/desktop-managers/e18.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-
-  xcfg = config.services.xserver;
-  cfg = xcfg.desktopManager.e18;
-  e18_enlightenment = pkgs.e18.enlightenment.override { set_freqset_setuid = true; };
-
-in
-
-{
-  options = {
-
-    services.xserver.desktopManager.e18.enable = mkOption {
-      default = false;
-      example = true;
-      description = "Enable the E18 desktop environment.";
-    };
-
-  };
-
-  config = mkIf (xcfg.enable && cfg.enable) {
-
-    environment.systemPackages = [
-      pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary e18_enlightenment
-      pkgs.e18.terminology pkgs.e18.econnman
-    ];
-
-    services.xserver.desktopManager.session = [
-    { name = "E18";
-      start = ''
-        ${e18_enlightenment}/bin/enlightenment_start
-        waitPID=$!
-      '';
-    }];
-
-    security.setuidPrograms = [ "e18_freqset" ];
-
-  };
-
-}
diff --git a/nixos/modules/services/x11/desktop-managers/e19.nix b/nixos/modules/services/x11/desktop-managers/e19.nix
new file mode 100644
index 00000000000..2d5c7b192bc
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/e19.nix
@@ -0,0 +1,101 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.e19;
+  e19_enlightenment = pkgs.e19.enlightenment.override { set_freqset_setuid = true; };
+  GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [
+    pkgs.gst_all_1.gst-plugins-base
+    pkgs.gst_all_1.gst-plugins-good
+    pkgs.gst_all_1.gst-plugins-bad
+    pkgs.gst_all_1.gst-libav ];
+
+in
+
+{
+  options = {
+
+    services.xserver.desktopManager.e19.enable = mkOption {
+      default = false;
+      example = true;
+      description = "Enable the E19 desktop environment.";
+    };
+
+  };
+
+  config = mkIf (xcfg.enable && cfg.enable) {
+
+    environment.systemPackages = [
+      pkgs.e19.efl pkgs.e19.evas pkgs.e19.emotion pkgs.e19.elementary e19_enlightenment
+      pkgs.e19.terminology pkgs.e19.econnman
+      pkgs.xorg.xauth # used by kdesu
+      pkgs.gtk # To get GTK+'s themes.
+      pkgs.tango-icon-theme
+      pkgs.shared_mime_info
+      pkgs.gnome.gnomeicontheme
+      pkgs.xorg.xcursorthemes
+    ];
+
+    environment.pathsToLink = [ "/etc/enlightenment" "/etc/xdg" "/share/enlightenment" "/share/elementary" "/share/applications" "/share/locale" "/share/icons" "/share/themes" "/share/mime" "/share/desktop-directories" ];
+
+    services.xserver.desktopManager.session = [
+    { name = "E19";
+      start = ''
+        # Set GTK_DATA_PREFIX so that GTK+ can find the themes
+        export GTK_DATA_PREFIX=${config.system.path}
+        # find theme engines
+        export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
+        export XDG_MENU_PREFIX=enlightenment
+
+        export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}"
+
+        # make available for D-BUS user services
+        #export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}:${config.system.path}/share:${pkgs.e19.efl}/share
+
+        # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
+        ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
+
+        ${e19_enlightenment}/bin/enlightenment_start
+        waitPID=$!
+      '';
+    }];
+
+    security.setuidPrograms = [ "e19_freqset" ];
+
+    environment.etc = singleton
+      { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+        target = "X11/xkb";
+      };
+
+    fonts.fonts = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ];
+
+    services.udisks2.enable = true;
+    services.upower.enable = config.powerManagement.enable;
+
+    #services.dbus.packages = [ pkgs.efl ]; # dbus-1 folder is not in /etc but in /share, so needs fixing first
+
+    systemd.user.services.efreet =
+      { enable = true;
+        description = "org.enlightenment.Efreet";
+        serviceConfig =
+          { ExecStart = "${pkgs.e19.efl}/bin/efreetd";
+            StandardOutput = "null";
+          };
+      };
+
+    systemd.user.services.ethumb =
+      { enable = true;
+        description = "org.enlightenment.Ethumb";
+        serviceConfig =
+          { ExecStart = "${pkgs.e19.efl}/bin/ethumbd";
+            StandardOutput = "null";
+          };
+      };
+
+
+  };
+
+}
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 049c96c54e7..6398a15bfcc 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -44,9 +44,10 @@ in {
     };
 
     environment.gnome3.packageSet = mkOption {
-      default = pkgs.gnome3;
+      default = null;
       example = literalExample "pkgs.gnome3_12";
-      description = "Which Gnome 3 package set to use.";
+      description = "Which GNOME 3 package set to use.";
+      apply = p: if p == null then pkgs.gnome3 else p;
     };
     
     environment.gnome3.excludePackages = mkOption {
@@ -77,11 +78,10 @@ in {
     services.gnome3.tracker.enable = mkDefault true;
     hardware.pulseaudio.enable = mkDefault true;
     services.telepathy.enable = mkDefault true;
-    networking.networkmanager.enable = true;
+    networking.networkmanager.enable = mkDefault true;
     services.upower.enable = config.powerManagement.enable;
-    services.upower.package = gnome3.upower;
 
-    fonts.fonts = [ pkgs.dejavu_fonts ];
+    fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell_fonts ];
 
     services.xserver.desktopManager.session = singleton
       { name = "gnome3";
@@ -114,6 +114,9 @@ in {
           # Let nautilus find extensions
           export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/
 
+          # Find the mouse
+          export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons
+
           # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
           ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
 
diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix
index 669ddbd904f..21b6243ba18 100644
--- a/nixos/modules/services/x11/desktop-managers/kde4.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde4.nix
@@ -7,6 +7,7 @@ let
   xcfg = config.services.xserver;
   cfg = xcfg.desktopManager.kde4;
   xorg = pkgs.xorg;
+  kde_workspace = config.services.xserver.desktopManager.kde4.kdeWorkspacePackage;
 
   # Disable Nepomuk and Strigi by default.  As of KDE 4.7, they don't
   # really work very well (e.g. searching files often fails to find
@@ -61,15 +62,14 @@ in
         example = ["gstreamer" "vlc"];
         description = "Which phonon multimedia backend kde should use";
       };
-    };
 
-    environment.kdePackages = mkOption {
-      default = [];
-      example = literalExample "[ pkgs.kde4.kdesdk ]";
-      type = types.listOf types.package;
-      description = "This option is obsolete.  Please use <option>environment.systemPackages</option> instead.";
+      kdeWorkspacePackage = mkOption {
+        internal = true;
+        default = pkgs.kde4.kde_workspace;
+        type = types.package;
+        description = "Custom kde-workspace, used for NixOS rebranding.";
+      };
     };
-
   };
 
 
@@ -108,13 +108,13 @@ in
             fi
 
             # Start KDE.
-            exec ${pkgs.kde4.kdebase_workspace}/bin/startkde
+            exec ${kde_workspace}/bin/startkde
           '';
       };
 
     security.setuidOwners = singleton
       { program = "kcheckpass";
-        source = "${pkgs.kde4.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
+        source = "${kde_workspace}/lib/kde4/libexec/kcheckpass";
         owner = "root";
         group = "root";
         setuid = true;
@@ -124,7 +124,7 @@ in
         [ pkgs.kde4.kdelibs
 
           pkgs.kde4.kde_baseapps # Splitted kdebase
-          pkgs.kde4.kde_workspace
+          kde_workspace
           pkgs.kde4.kde_runtime
           pkgs.kde4.konsole
           pkgs.kde4.kate
@@ -144,13 +144,21 @@ in
           xorg.xauth # used by kdesu
           pkgs.shared_desktop_ontologies # used by nepomuk
           pkgs.strigi # used by nepomuk
+          pkgs.kde4.akonadi
           pkgs.mysql # used by akonadi
+          pkgs.kde4.kdepim_runtime
         ]
-      ++ [ nepomukConfig ] ++ phononBackendPackages
-      ++ config.environment.kdePackages;
+      ++ lib.optional config.hardware.pulseaudio.enable pkgs.kde4.kmix  # Perhaps this should always be enabled
+      ++ lib.optional config.hardware.bluetooth.enable pkgs.kde4.bluedevil
+      ++ lib.optional config.networking.networkmanager.enable pkgs.kde4.plasma-nm
+      ++ [ nepomukConfig ] ++ phononBackendPackages;
 
     environment.pathsToLink = [ "/share" ];
 
+    environment.profileRelativeEnvVars = mkIf (lib.elem "gstreamer" cfg.phononBackends) {
+      GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
+    };
+
     environment.etc = singleton
       { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
         target = "X11/xkb";
diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix
new file mode 100644
index 00000000000..02e51577e3e
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/kde5.nix
@@ -0,0 +1,138 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.kde5;
+  xorg = pkgs.xorg;
+
+  phononBackends = {
+    gstreamer = [
+      pkgs.phonon_backend_gstreamer
+      pkgs.gst_all.gstreamer
+      pkgs.gst_all.gstPluginsBase
+      pkgs.gst_all.gstPluginsGood
+      pkgs.gst_all.gstPluginsUgly
+      pkgs.gst_all.gstPluginsBad
+      pkgs.gst_all.gstFfmpeg # for mp3 playback
+      pkgs.phonon_qt5_backend_gstreamer
+      pkgs.gst_all_1.gstreamer
+      pkgs.gst_all_1.gst-plugins-base
+      pkgs.gst_all_1.gst-plugins-good
+      pkgs.gst_all_1.gst-plugins-ugly
+      pkgs.gst_all_1.gst-plugins-bad
+      pkgs.gst_all_1.gst-libav # for mp3 playback
+    ];
+
+    vlc = [
+      pkgs.phonon_qt5_backend_vlc
+      pkgs.phonon_backend_vlc
+    ];
+  };
+
+  phononBackendPackages = flip concatMap cfg.phononBackends
+    (name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
+
+  kf5 = plasma5.kf5;
+
+  plasma5 = pkgs.plasma5_stable;
+
+  kdeApps = pkgs.kdeApps_stable;
+
+in
+
+{
+  options = {
+
+    services.xserver.desktopManager.kde5 = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the Plasma 5 (KDE 5) desktop environment.";
+      };
+
+      phononBackends = mkOption {
+        type = types.listOf types.str;
+        default = ["gstreamer"];
+        example = ["gstreamer" "vlc"];
+        description = ''
+          Phonon backends to use in KDE. Only the VLC and GStreamer backends are
+          available. The GStreamer backend is preferred by upstream.
+        '';
+      };
+
+    };
+
+  };
+
+
+  config = mkIf (xcfg.enable && cfg.enable) {
+
+    warnings = optional config.services.xserver.desktopManager.kde4.enable
+      "KDE 4 should not be enabled at the same time as KDE 5";
+
+    services.xserver.desktopManager.session = singleton {
+      name = "kde5";
+      bgSupport = true;
+      start = ''exec ${plasma5.startkde}/bin/startkde;'';
+    };
+
+    security.setuidOwners = singleton {
+      program = "kcheckpass";
+      source = "${plasma5.plasma-workspace}/lib/libexec/kcheckpass";
+      owner = "root";
+      group = "root";
+      setuid = true;
+    };
+
+    environment.systemPackages =
+      filter isDerivation (builtins.attrValues plasma5)
+      ++ filter isDerivation (builtins.attrValues kf5)
+      ++ [
+        pkgs.qt4 # qtconfig is the only way to set Qt 4 theme
+
+        kdeApps.kde-baseapps
+        kdeApps.kde-base-artwork
+        kdeApps.kmix
+        kdeApps.konsole
+        kdeApps.oxygen-icons
+
+        kdeApps.kde-runtime
+
+        pkgs.hicolor_icon_theme
+
+        pkgs.orion # GTK theme, nearly identical to Breeze
+      ] ++ phononBackendPackages;
+
+    environment.pathsToLink = [ "/share" ];
+
+    environment.etc = singleton {
+      source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+      target = "X11/xkb";
+    };
+
+    environment.profileRelativeEnvVars =
+      mkIf (lib.elem "gstreamer" cfg.phononBackends)
+      {
+        GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
+        GST_PLUGIN_SYSTEM_PATH_1_0 = [ "/lib/gstreamer-1.0" ];
+      };
+
+    fonts.fonts = [ plasma5.oxygen-fonts ];
+
+    programs.ssh.askPassword = "${plasma5.ksshaskpass}/bin/ksshaskpass";
+
+    # Enable helpful DBus services.
+    services.udisks2.enable = true;
+    services.upower.enable = config.powerManagement.enable;
+
+    # Extra UDEV rules used by Solid
+    services.udev.packages = [ pkgs.media-player-info ];
+
+    security.pam.services.kde = { allowNullPassword = true; };
+
+  };
+
+}
diff --git a/nixos/modules/services/x11/desktop-managers/kodi.nix b/nixos/modules/services/x11/desktop-managers/kodi.nix
new file mode 100644
index 00000000000..1e30308a513
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/kodi.nix
@@ -0,0 +1,31 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.desktopManager.kodi;
+in
+
+{
+  options = {
+    services.xserver.desktopManager.kodi = {
+      enable = mkOption {
+        default = false;
+        example = true;
+        description = "Enable the kodi multimedia center.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.desktopManager.session = [{
+      name = "kodi";
+      start = ''
+        ${pkgs.kodi}/bin/kodi --lircdev /var/run/lirc/lircd --standalone &
+        waitPID=$!
+      '';
+    }];
+
+    environment.systemPackages = [ pkgs.kodi ];
+  };
+}
\ No newline at end of file
diff --git a/nixos/modules/services/x11/desktop-managers/xbmc.nix b/nixos/modules/services/x11/desktop-managers/xbmc.nix
deleted file mode 100644
index 97e966ca019..00000000000
--- a/nixos/modules/services/x11/desktop-managers/xbmc.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.xserver.desktopManager.xbmc;
-in
-
-{
-  options = {
-    services.xserver.desktopManager.xbmc = {
-      enable = mkOption {
-        default = false;
-        example = true;
-        description = "Enable the xbmc multimedia center.";
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    services.xserver.desktopManager.session = [{
-      name = "xbmc";
-      start = ''
-        ${pkgs.xbmc}/bin/xbmc --lircdev /var/run/lirc/lircd --standalone &
-        waitPID=$!
-      '';
-    }];
-    
-    environment.systemPackages = [ pkgs.xbmc ];
-  };
-}
\ No newline at end of file
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index a72eea76239..fce5bf11f05 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -34,10 +34,6 @@ in
             # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes.
             export GTK_DATA_PREFIX=${config.system.path}
 
-            # Necessary to get xfce4-mixer to find GST's ALSA plugin.
-            # Ugly.
-            export GST_PLUGIN_PATH=${config.system.path}/lib
-
             exec ${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc}
           '';
       };
@@ -50,7 +46,6 @@ in
         pkgs.which # Needed by the xfce's xinitrc script.
         pkgs.xfce.exo
         pkgs.xfce.gtk_xfce_engine
-        pkgs.xfce.libxfcegui4 # For the icons.
         pkgs.xfce.mousepad
         pkgs.xfce.ristretto
         pkgs.xfce.terminal
@@ -60,6 +55,7 @@ in
         pkgs.xfce.xfce4session
         pkgs.xfce.xfce4settings
         pkgs.xfce.xfce4mixer
+        pkgs.xfce.xfce4volumed
         pkgs.xfce.xfce4screenshooter
         pkgs.xfce.xfconf
         pkgs.xfce.xfdesktop
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 6e61576f501..c5012dbb5e3 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -23,6 +23,17 @@ let
     pathsToLink = [ "/" ];
   };
 
+  fontconfig = config.fonts.fontconfig;
+  xresourcesXft = pkgs.writeText "Xresources-Xft" ''
+    ${optionalString (fontconfig.dpi != 0) ''Xft.dpi: ${toString fontconfig.dpi}''}
+    Xft.antialias: ${if fontconfig.antialias then "1" else "0"}
+    Xft.rgba: ${fontconfig.subpixel.rgba}
+    Xft.lcdfilter: lcd${fontconfig.subpixel.lcdfilter}
+    Xft.hinting: ${if fontconfig.hinting.enable then "1" else "0"}
+    Xft.autohint: ${if fontconfig.hinting.autohint then "1" else "0"}
+    Xft.hintstyle: hint${fontconfig.hinting.style}
+  '';
+
   # file provided by services.xserver.displayManager.session.script
   xsession = wm: dm: pkgs.writeScript "xsession"
     ''
@@ -68,18 +79,25 @@ let
       # Start PulseAudio if enabled.
       ${optionalString (config.hardware.pulseaudio.enable) ''
         ${optionalString (!config.hardware.pulseaudio.systemWide)
-          "${pkgs.pulseaudio}/bin/pulseaudio --start"
+          "${config.hardware.pulseaudio.package}/bin/pulseaudio --start"
         }
 
         # Publish access credentials in the root window.
-        ${pkgs.pulseaudio}/bin/pactl load-module module-x11-publish "display=$DISPLAY"
+        ${config.hardware.pulseaudio.package}/bin/pactl load-module module-x11-publish "display=$DISPLAY"
 
         # Keep track of devices.  Mostly useful for Phonon/KDE.
-        ${pkgs.pulseaudio}/bin/pactl load-module module-device-manager "do_routing=1"
+        ${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
       ''}
 
+      # Tell systemd about our $DISPLAY. This is needed by the
+      # ssh-agent unit.
+      ${config.systemd.package}/bin/systemctl --user import-environment DISPLAY
+
       # Load X defaults.
-      if test -e ~/.Xdefaults; then
+      ${xorg.xrdb}/bin/xrdb -merge ${xresourcesXft}
+      if test -e ~/.Xresources; then
+          ${xorg.xrdb}/bin/xrdb -merge ~/.Xresources
+      elif test -e ~/.Xdefaults; then
           ${xorg.xrdb}/bin/xrdb -merge ~/.Xdefaults
       fi
 
@@ -169,14 +187,13 @@ in
 
       xserverBin = mkOption {
         type = types.path;
-        default = "${xorg.xorgserver}/bin/X";
         description = "Path to the X server used by display managers.";
       };
 
       xserverArgs = mkOption {
         type = types.listOf types.str;
         default = [];
-        example = [ "-ac" "-logverbose" "-nolisten tcp" ];
+        example = [ "-ac" "-logverbose" "-verbose" "-nolisten tcp" ];
         description = "List of arguments for the X server.";
         apply = toString;
       };
@@ -191,6 +208,14 @@ in
         description = "Shell commands executed just before the window or desktop manager is started.";
       };
 
+      hiddenUsers = mkOption {
+        type = types.listOf types.str;
+        default = [ "nobody" ];
+        description = ''
+          A list of users which will not be shown in the display manager.
+        '';
+      };
+
       desktopManagerHandlesLidAndPower = mkOption {
         type = types.bool;
         default = true;
@@ -280,4 +305,10 @@ in
 
   };
 
+  config = {
+
+    services.xserver.displayManager.xserverBin = "${xorg.xorgserver}/bin/X";
+
+  };
+
 }
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 9d14fc2e137..a7ebafa28b3 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -5,8 +5,8 @@ with lib;
 let
 
   cfg = config.services.xserver.displayManager;
-  gdm = pkgs.gnome3_12.gdm; # gdm 3.10 not supported
   gnome3 = config.environment.gnome3.packageSet;
+  gdm = gnome3.gdm;
 
 in
 
@@ -55,6 +55,8 @@ in
           GDM_X_SERVER = "${cfg.xserverBin} ${cfg.xserverArgs}";
           GDM_SESSIONS_DIR = "${cfg.session.desktops}";
           XDG_CONFIG_DIRS = "${gnome3.gnome_settings_daemon}/etc/xdg";
+          # Find the mouse
+          XCURSOR_PATH = "~/.icons:${config.system.path}/share/icons";
         };
         execCmd = "exec ${gdm}/sbin/gdm";
       };
@@ -93,15 +95,23 @@ in
 
         auth     required       pam_succeed_if.so uid >= 1000 quiet
         auth     optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so
-        auth     sufficient     pam_unix.so nullok likeauth
-        auth     required       pam_deny.so
+        auth     ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth
+        ${optionalString config.security.pam.enableEcryptfs
+          "auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
+
+        ${optionalString (! config.security.pam.enableEcryptfs)
+          "auth     required       pam_deny.so"}
 
         account  sufficient     pam_unix.so
 
         password requisite      pam_unix.so nullok sha512
+        ${optionalString config.security.pam.enableEcryptfs
+          "password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
 
         session  required       pam_env.so envfile=${config.system.build.pamEnvironment}
         session  required       pam_unix.so
+        ${optionalString config.security.pam.enableEcryptfs
+          "session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
         session  required       pam_loginuid.so
         session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
         session  optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so auto_start
@@ -113,15 +123,22 @@ in
 
         auth     required       pam_succeed_if.so uid >= 1000 quiet
         auth     optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so
-        auth     sufficient     pam_unix.so nullok likeauth
-        auth     required       pam_deny.so 
+        auth     ${if config.security.pam.enableEcryptfs then "required" else "sufficient"} pam_unix.so nullok likeauth
+        ${optionalString config.security.pam.enableEcryptfs
+          "auth required ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
+        ${optionalString (! config.security.pam.enableEcryptfs)
+          "auth     required       pam_deny.so"}
 
         account  sufficient     pam_unix.so
         
         password requisite      pam_unix.so nullok sha512
+        ${optionalString config.security.pam.enableEcryptfs
+          "password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
 
         session  required       pam_env.so envfile=${config.system.build.pamEnvironment}
         session  required       pam_unix.so
+        ${optionalString config.security.pam.enableEcryptfs
+          "session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
         session  required       pam_loginuid.so
         session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
         session  optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so auto_start
diff --git a/nixos/modules/services/x11/display-managers/kdm.nix b/nixos/modules/services/x11/display-managers/kdm.nix
index 7ec489ae3e7..d0b69c5452c 100644
--- a/nixos/modules/services/x11/display-managers/kdm.nix
+++ b/nixos/modules/services/x11/display-managers/kdm.nix
@@ -38,7 +38,7 @@ let
       ''} 
 
       [X-*-Greeter]
-      HiddenUsers=root,nixbld1,nixbld2,nixbld3,nixbld4,nixbld5,nixbld6,nixbld7,nixbld8,nixbld9,nixbld10
+      HiddenUsers=root,${concatStringsSep "," dmcfg.hiddenUsers}
       PluginsLogin=${kdebase_workspace}/lib/kde4/kgreet_classic.so
       ${optionalString (cfg.themeDirectory != null)
       ''
@@ -151,6 +151,9 @@ in
         description = "KDM user";
       };
 
+    environment.systemPackages =
+      [ pkgs.kde4.kde_wallpapers ]; # contains kdm's default background
+
   };
 
 }
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index f8ce06738fe..6a7b810261d 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -18,6 +18,9 @@ let
       exec ${dmcfg.xserverBin} ${dmcfg.xserverArgs}
     '';
 
+  theme = pkgs.gnome3.gnome_themes_standard;
+  icons = pkgs.gnome3.gnome_icon_theme;
+
   # The default greeter provided with this expression is the GTK greeter.
   # Again, we need a few things in the environment for the greeter to run with
   # fonts/icons.
@@ -26,20 +29,16 @@ let
     buildInputs = [ pkgs.makeWrapper ];
 
     buildCommand = ''
-      mkdir -p $out/gtk-3.0/
-
-      # This wrapper ensures that we actually get fonts
+      # This wrapper ensures that we actually get themes
       makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
         $out/greeter \
-        --set XDG_DATA_DIRS ${pkgs.gnome2.gnome_icon_theme}/share \
-        --set FONTCONFIG_FILE /etc/fonts/fonts.conf \
-        --set XDG_CONFIG_HOME $out/
-
-      # We need this to ensure that it actually tries to find icons from gnome-icon-theme
-      cat - > $out/gtk-3.0/settings.ini << EOF
-      [Settings]
-      gtk-icon-theme-name=gnome
-      EOF
+        --prefix PATH : "${pkgs.glibc}/bin" \
+        --set GDK_PIXBUF_MODULE_FILE "$(find ${theme} -name loaders.cache)" \
+        --set GTK_PATH "${theme}:${pkgs.gtk3}" \
+        --set GTK_EXE_PREFIX "${theme}" \
+        --set GTK_DATA_PREFIX "${theme}" \
+        --set XDG_DATA_DIRS "${theme}/share:${icons}/share" \
+        --set XDG_CONFIG_HOME "${theme}/share"
 
       cat - > $out/lightdm-gtk-greeter.desktop << EOF
       [Desktop Entry]
@@ -51,6 +50,14 @@ let
     '';
   };
 
+  usersConf = writeText "users.conf"
+    ''
+      [UserList]
+      minimum-uid=500
+      hidden-users=${concatStringsSep " " dmcfg.hiddenUsers}
+      hidden-shells=/run/current-system/sw/bin/nologin
+    '';
+
   lightdmConf = writeText "lightdm.conf"
     ''
       [LightDM]
@@ -64,10 +71,19 @@ let
       greeter-session = ${cfg.greeter.name}
     '';
 
+  gtkGreeterConf = writeText "lightdm-gtk-greeter.conf"
+    ''
+    [greeter]
+    theme-name = Adwaita
+    icon-theme-name = Adwaita
+    background = ${cfg.background}
+    '';
+
 in
 {
   options = {
     services.xserver.displayManager.lightdm = {
+
       enable = mkOption {
         default = false;
         description = ''
@@ -85,6 +101,14 @@ in
           package = wrappedGtkGreeter;
         };
       };
+
+      background = mkOption {
+        default = "${pkgs.nixos-artwork}/gnome/Gnome_Dark.png";
+        description = ''
+          The background image or color to use.
+        '';
+      };
+
     };
   };
 
@@ -98,10 +122,14 @@ in
       # lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
       execCmd = ''
         export PATH=${lightdm}/sbin:$PATH
-        ${lightdm}/sbin/lightdm --log-dir=/var/log --run-dir=/run --config=${lightdmConf}
+        exec ${lightdm}/sbin/lightdm --log-dir=/var/log --run-dir=/run
       '';
     };
 
+    environment.etc."lightdm/lightdm-gtk-greeter.conf".source = gtkGreeterConf;
+    environment.etc."lightdm/lightdm.conf".source = lightdmConf;
+    environment.etc."lightdm/users.conf".source = usersConf;
+
     services.dbus.enable = true;
     services.dbus.packages = [ lightdm ];
 
@@ -110,7 +138,7 @@ in
 
     users.extraUsers.lightdm = {
       createHome = true;
-      home = "/var/lib/lightdm";
+      home = "/var/lib/lightdm-data";
       group = "lightdm";
       uid = config.ids.uids.lightdm;
     };
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
new file mode 100644
index 00000000000..c44383cc611
--- /dev/null
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -0,0 +1,110 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  xcfg = config.services.xserver;
+  dmcfg = xcfg.displayManager;
+  cfg = dmcfg.sddm;
+  xEnv = config.systemd.services."display-manager".environment;
+
+  xserverWrapper = pkgs.writeScript "xserver-wrapper" ''
+    #!/bin/sh
+    ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)}
+    exec ${dmcfg.xserverBin} ${dmcfg.xserverArgs} "$@"
+  '';
+
+  cfgFile = pkgs.writeText "sddm.conf" ''
+    [General]
+    HaltCommand=${pkgs.systemd}/bin/systemctl poweroff
+    RebootCommand=${pkgs.systemd}/bin/systemctl reboot
+
+    [Theme]
+    Current=${cfg.theme}
+
+    [Users]
+    MaximumUid=${toString config.ids.uids.nixbld}
+    HideUsers=${concatStringsSep "," dmcfg.hiddenUsers}
+    HideShells=/run/current-system/sw/bin/nologin
+
+    [XDisplay]
+    MinimumVT=${toString xcfg.tty}
+    ServerPath=${xserverWrapper}
+    XephyrPath=${pkgs.xorg.xorgserver}/bin/Xephyr
+    SessionCommand=${dmcfg.session.script}
+    SessionDir=${dmcfg.session.desktops}
+    XauthPath=${pkgs.xorg.xauth}/bin/xauth
+  '';
+
+in
+{
+  options = {
+
+    services.xserver.displayManager.sddm = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable sddm as the display manager.
+        '';
+      };
+
+      theme = mkOption {
+        type = types.str;
+        default = "maui";
+        description = ''
+          Greeter theme to use.
+        '';
+      };
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    services.xserver.displayManager.slim.enable = false;
+
+    services.xserver.displayManager.job = {
+      logsXsession = true;
+
+      #execCmd = "${pkgs.sddm}/bin/sddm";
+      execCmd = "exec ${pkgs.sddm}/bin/sddm";
+    };
+
+    security.pam.services = {
+      sddm = {
+        allowNullPassword = true;
+        startSession = true;
+      };
+
+      sddm-greeter.text = ''
+        auth     required       pam_succeed_if.so audit quiet_success user = sddm
+        auth     optional       pam_permit.so
+
+        account  required       pam_succeed_if.so audit quiet_success user = sddm
+        account  sufficient     pam_unix.so
+
+        password required       pam_deny.so
+
+        session  required       pam_succeed_if.so audit quiet_success user = sddm
+        session  required       pam_env.so envfile=${config.system.build.pamEnvironment}
+        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       pam_keyinit.so force revoke
+        session  optional       pam_permit.so
+      '';
+    };
+
+    users.extraUsers.sddm = {
+      createHome = true;
+      home = "/var/lib/sddm";
+      group = "sddm";
+      uid = config.ids.uids.sddm;
+    };
+
+    environment.etc."sddm.conf".source = cfgFile;
+
+    users.extraGroups.sddm.gid = config.ids.gids.sddm;
+
+  };
+}
diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix
index 9ee4e0dc7cb..c7fbfa85e33 100644
--- a/nixos/modules/services/x11/display-managers/slim.nix
+++ b/nixos/modules/services/x11/display-managers/slim.nix
@@ -19,6 +19,7 @@ let
       reboot_cmd ${config.systemd.package}/sbin/shutdown -r now
       ${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)}
       ${optionalString cfg.autoLogin "auto_login yes"}
+      ${cfg.extraConfig}
     '';
 
   # Unpack the SLiM theme, or use the default.
@@ -89,6 +90,15 @@ in
         '';
       };
 
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Extra configuration options for SLiM login manager. Do not
+          add options that can be configured directly.
+        '';
+      };
+
     };
 
   };
diff --git a/nixos/modules/services/x11/hardware/multitouch.nix b/nixos/modules/services/x11/hardware/multitouch.nix
index 6e6e88e6721..f8386b5e333 100644
--- a/nixos/modules/services/x11/hardware/multitouch.nix
+++ b/nixos/modules/services/x11/hardware/multitouch.nix
@@ -2,9 +2,15 @@
 
 with lib;
 
-let cfg = config.services.xserver.multitouch; in
-
-{
+let cfg = config.services.xserver.multitouch;
+    disabledTapConfig = ''
+      Option "MaxTapTime" "0"
+      Option "MaxTapMove" "0"
+      Option "TapButton1" "0"
+      Option "TapButton2" "0"
+      Option "TapButton3" "0"
+    '';
+in {
 
   options = {
 
@@ -30,6 +36,33 @@ let cfg = config.services.xserver.multitouch; in
         description = "Whether to ignore touches detected as being the palm (i.e when typing)";
       };
 
+      tapButtons = mkOption {
+        type = types.bool;
+        default = true;
+        example = false;
+        description = "Whether to enable tap buttons.";
+      };
+
+      buttonsMap = mkOption {
+        type = types.listOf types.int;
+        default = [3 2 0];
+        example = [1 3 2];
+        description = "Remap touchpad buttons.";
+        apply = map toString;
+      };
+
+      additionalOptions = mkOption {
+        type = types.str;
+        default = "";
+        example = ''
+          Option "ScaleDistance" "50"
+          Option "RotateDistance" "60"
+        '';
+        description = ''
+          Additional options for mtrack touchpad driver.
+        '';
+      };
+
     };
 
   };
@@ -46,12 +79,17 @@ let cfg = config.services.xserver.multitouch; in
           Identifier "Touchpads"
           Driver "mtrack"
           Option "IgnorePalm" "${if cfg.ignorePalm then "true" else "false"}"
+          Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}"
+          Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}"
+          Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}"
+          ${optionalString (!cfg.tapButtons) disabledTapConfig}
           ${optionalString cfg.invertScroll ''
             Option "ScrollUpButton" "5"
             Option "ScrollDownButton" "4"
             Option "ScrollLeftButton" "7"
             Option "ScrollRightButton" "6"
           ''}
+          ${cfg.additionalOptions}
         EndSection
       '';
 
diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix
index f5b394b6d98..9e44ce811c3 100644
--- a/nixos/modules/services/x11/hardware/synaptics.nix
+++ b/nixos/modules/services/x11/hardware/synaptics.nix
@@ -7,9 +7,9 @@ let cfg = config.services.xserver.synaptics;
     enabledTapConfig = ''
       Option "MaxTapTime" "180"
       Option "MaxTapMove" "220"
-      Option "TapButton1" "${builtins.elemAt cfg.buttonsMap 0}"
-      Option "TapButton2" "${builtins.elemAt cfg.buttonsMap 1}"
-      Option "TapButton3" "${builtins.elemAt cfg.buttonsMap 2}"
+      Option "TapButton1" "${builtins.elemAt cfg.fingersMap 0}"
+      Option "TapButton2" "${builtins.elemAt cfg.fingersMap 1}"
+      Option "TapButton3" "${builtins.elemAt cfg.fingersMap 2}"
     '';
     disabledTapConfig = ''
       Option "MaxTapTime" "0"
@@ -25,12 +25,14 @@ in {
     services.xserver.synaptics = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
         example = true;
         description = "Whether to enable touchpad support.";
       };
 
       dev = mkOption {
+        type = types.nullOr types.str;
         default = null;
         example = "/dev/input/event0";
         description =
@@ -59,41 +61,56 @@ in {
       };
 
       twoFingerScroll = mkOption {
+        type = types.bool;
         default = false;
         description = "Whether to enable two-finger drag-scrolling.";
       };
 
       vertEdgeScroll = mkOption {
+        type = types.bool;
         default = ! cfg.twoFingerScroll;
         description = "Whether to enable vertical edge drag-scrolling.";
       };
 
       tapButtons = mkOption {
+        type = types.bool;
         default = true;
         example = false;
         description = "Whether to enable tap buttons.";
       };
 
       buttonsMap = mkOption {
+        type = types.listOf types.int;
         default = [1 2 3];
         example = [1 3 2];
         description = "Remap touchpad buttons.";
         apply = map toString;
       };
 
+      fingersMap = mkOption {
+        type = types.listOf types.int;
+        default = [1 2 3];
+        example = [1 3 2];
+        description = "Remap several-fingers taps.";
+        apply = map toString;
+      };
+
       palmDetect = mkOption {
+        type = types.bool;
         default = false;
         example = true;
         description = "Whether to enable palm detection (hardware support required)";
       };
 
       horizontalScroll = mkOption {
+        type = types.bool;
         default = true;
         example = false;
         description = "Whether to enable horizontal scrolling (on touchpad)";
       };
 
       additionalOptions = mkOption {
+        type = types.str;
         default = "";
         example = ''
           Option "RTCornerButton" "2"
diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix
new file mode 100644
index 00000000000..556d9e187fd
--- /dev/null
+++ b/nixos/modules/services/x11/unclutter.nix
@@ -0,0 +1,33 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let cfg = config.services.unclutter;
+in {
+  options = {
+    services.unclutter.enable = mkOption {
+      type = types.bool;
+      default = false;
+      example = true;
+      description = "Enable unclutter to hide your mouse cursor when inactive";
+    };
+
+    services.unclutter.arguments = mkOption {
+      description = "Arguments to pass to unclutter command";
+      default = "-idle 1";
+      type = types.uniq types.string;
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.unclutter = {
+      description = "unclutter";
+      requires = [ "display-manager.service" ];
+      after = [ "display-manager.service" ];
+      wantedBy = [ "graphical.target" ];
+      serviceConfig.ExecStart = ''
+        ${pkgs.unclutter}/bin/unclutter ${cfg.arguments}
+      '';
+      environment = { DISPLAY = ":0"; };
+      serviceConfig.Restart = "always";
+    };
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/afterstep.nix b/nixos/modules/services/x11/window-managers/afterstep.nix
new file mode 100644
index 00000000000..395dabb86b5
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/afterstep.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.afterstep;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.afterstep.enable = mkOption {
+      default = false;
+      description = "Enable the Afterstep window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "afterstep";
+      start = ''
+        ${pkgs.afterstep}/bin/afterstep &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.afterstep ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/awesome.nix b/nixos/modules/services/x11/window-managers/awesome.nix
index 9b2f042a87a..455b3568499 100644
--- a/nixos/modules/services/x11/window-managers/awesome.nix
+++ b/nixos/modules/services/x11/window-managers/awesome.nix
@@ -5,6 +5,7 @@ with lib;
 let
 
   cfg = config.services.xserver.windowManager.awesome;
+  awesome = cfg.package;
 
 in
 
@@ -14,9 +15,24 @@ in
 
   options = {
 
-    services.xserver.windowManager.awesome.enable = mkOption {
-      default = false;
-      description = "Enable the Awesome window manager.";
+    services.xserver.windowManager.awesome = {
+
+      enable = mkEnableOption "Awesome window manager";
+
+      luaModules = mkOption {
+        default = [];
+        type = types.listOf types.package;
+        description = "List of lua packages available for being used in the Awesome configuration.";
+        example = literalExample "[ luaPackages.oocairo ]";
+      };
+
+      package = mkOption {
+        default = null;
+        type = types.nullOr types.package;
+        description = "Package to use for running the Awesome WM.";
+        apply = pkg: if pkg == null then pkgs.awesome else pkg;
+      };
+
     };
 
   };
@@ -30,12 +46,17 @@ in
       { name = "awesome";
         start =
           ''
-            ${pkgs.awesome}/bin/awesome &
+            ${concatMapStrings (pkg: ''
+              export LUA_CPATH=$LUA_CPATH''${LUA_CPATH:+;}${pkg}/lib/lua/${awesome.lua.luaversion}/?.so
+              export LUA_PATH=$LUA_PATH''${LUA_PATH:+;}${pkg}/lib/lua/${awesome.lua.luaversion}/?.lua
+            '') cfg.luaModules}
+
+            ${awesome}/bin/awesome &
             waitPID=$!
           '';
       };
 
-    environment.systemPackages = [ pkgs.awesome ];
+    environment.systemPackages = [ awesome ];
 
   };
 
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 45a4e947e0a..097e4fe70d5 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -7,18 +7,24 @@ let
 in
 
 {
-  imports =
-    [ ./compiz.nix
-      ./openbox.nix
-      ./metacity.nix
-      ./none.nix
-      ./twm.nix
-      ./wmii.nix
-      ./xmonad.nix
-      ./i3.nix
-      ./herbstluftwm.nix
-      ./bspwm.nix
-    ];
+  imports = [
+    ./afterstep.nix
+    ./bspwm.nix
+    ./compiz.nix
+    ./fluxbox.nix
+    ./herbstluftwm.nix
+    ./i3.nix
+    ./metacity.nix
+    ./openbox.nix
+    ./ratpoison.nix
+    ./sawfish.nix
+    ./stumpwm.nix
+    ./spectrwm.nix
+    ./twm.nix
+    ./windowmaker.nix
+    ./wmii.nix
+    ./xmonad.nix
+    ./none.nix ];
 
   options = {
 
diff --git a/nixos/modules/services/x11/window-managers/ratpoison.nix b/nixos/modules/services/x11/window-managers/ratpoison.nix
new file mode 100644
index 00000000000..c203c35cd1b
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/ratpoison.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.ratpoison;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.ratpoison.enable = mkOption {
+      default = false;
+      description = "Enable the Ratpoison window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "ratpoison";
+      start = ''
+        ${pkgs.ratpoison}/bin/ratpoison &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.ratpoison ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/sawfish.nix b/nixos/modules/services/x11/window-managers/sawfish.nix
new file mode 100644
index 00000000000..74a11926020
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/sawfish.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.sawfish;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.sawfish.enable = mkOption {
+      default = false;
+      description = "Enable the Sawfish window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "sawfish";
+      start = ''
+        ${pkgs.sawfish}/bin/sawfish &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.sawfish ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/spectrwm.nix b/nixos/modules/services/x11/window-managers/spectrwm.nix
new file mode 100644
index 00000000000..5db6b41ba8f
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/spectrwm.nix
@@ -0,0 +1,33 @@
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.spectrwm;
+in
+
+{
+  options = {
+    services.xserver.windowManager.spectrwm = {
+      enable = mkOption {
+        default = false;
+        example = true;
+        description = "Enable the spectrwm window manager.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.windowManager = {
+      session = [{
+        name = "spectrwm";
+        start = ''
+          ${pkgs.spectrwm}/bin/spectrwm &
+          waitPID=$!
+        '';
+      }];
+    };
+    environment.systemPackages = [ pkgs.spectrwm ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/stumpwm.nix b/nixos/modules/services/x11/window-managers/stumpwm.nix
new file mode 100644
index 00000000000..a876f13fd21
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/stumpwm.nix
@@ -0,0 +1,30 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.stumpwm;
+in
+
+{
+  options = {
+    services.xserver.windowManager.stumpwm = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = "Enable the stumpwm tiling window manager.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "stumpwm";
+      start = "
+        ${pkgs.stumpwm}/bin/stumpwm
+      ";
+    };
+    environment.systemPackages = [ pkgs.stumpwm ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/windowmaker.nix b/nixos/modules/services/x11/window-managers/windowmaker.nix
new file mode 100644
index 00000000000..27cedb7da0c
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/windowmaker.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.windowmaker;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.windowmaker.enable = mkOption {
+      default = false;
+      description = "Enable the Windowmaker window manager.";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "windowmaker";
+      start = ''
+        ${pkgs.windowmaker}/bin/wmaker &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.windowmaker ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 74acfc21975..c922ca7848d 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -3,11 +3,12 @@
 let
   inherit (lib) mkOption mkIf optionals literalExample;
   cfg = config.services.xserver.windowManager.xmonad;
-  xmonadEnv = cfg.haskellPackages.ghcWithPackages(self: [
-    self.xmonad
-  ] ++ optionals cfg.enableContribAndExtras [ self.xmonadContrib self.xmonadExtras]
-    ++ optionals (cfg.extraPackages != null) (cfg.extraPackages self));
-  xmessage = pkgs.xlibs.xmessage;
+  xmonad = pkgs.xmonad-with-packages.override {
+    ghcWithPackages = cfg.haskellPackages.ghcWithPackages;
+    packages = self: cfg.extraPackages self ++
+                     optionals cfg.enableContribAndExtras
+                     [ self.xmonad-contrib self.xmonad-extras ];
+  };
 in
 {
   options = {
@@ -19,9 +20,9 @@ in
       };
 
       haskellPackages = mkOption {
-        default = pkgs.haskellPackages;
-        defaultText = "pkgs.haskellPackages";
-        example = literalExample "pkgs.haskellPackages_ghc701";
+        default = pkgs.haskellngPackages;
+        defaultText = "pkgs.haskellngPackages";
+        example = literalExample "pkgs.haskell-ng.packages.ghc784";
         description = ''
           haskellPackages used to build Xmonad and other packages.
           This can be used to change the GHC version used to build
@@ -31,17 +32,17 @@ in
       };
 
       extraPackages = mkOption {
-        default = null;
+        default = self: [];
         example = literalExample ''
           haskellPackages: [
-            haskellPackages.xmonadContrib
-            haskellPackages.monadLogger
+            haskellPackages.xmonad-contrib
+            haskellPackages.monad-logger
           ]
         '';
         description = ''
           Extra packages available to ghc when rebuilding Xmonad. The
           value must be a function which receives the attrset defined
-          in <varname>haskellpackages</varname> as the sole argument.
+          in <varname>haskellPackages</varname> as the sole argument.
         '';
       };
 
@@ -58,12 +59,12 @@ in
       session = [{
         name = "xmonad";
         start = ''
-          XMONAD_GHC=${xmonadEnv}/bin/ghc XMONAD_XMESSAGE=${xmessage}/bin/xmessage xmonad &
+          ${xmonad}/bin/xmonad &
           waitPID=$!
         '';
       }];
     };
 
-    environment.systemPackages = [ cfg.haskellPackages.xmonad ];
+    environment.systemPackages = [ xmonad ];
   };
 }
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 21eaf6bb6b7..64e0d4d8050 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -13,7 +13,6 @@ let
 
   # Map video driver names to driver packages. FIXME: move into card-specific modules.
   knownVideoDrivers = {
-    ati_unfree   = { modules = [ kernelPackages.ati_drivers_x11 ]; driverName = "fglrx"; };
     nouveau       = { modules = [ pkgs.xf86_video_nouveau ]; };
     unichrome    = { modules = [ pkgs.xorgVideoUnichrome ]; };
     virtualbox   = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; };
@@ -400,8 +399,8 @@ in
     services.xserver.drivers = flip concatMap cfg.videoDrivers (name:
       let driver =
         attrByPath [name]
-          (if (hasAttr ("xf86video" + name) xorg)
-           then { modules = [(getAttr ("xf86video" + name) xorg) ]; }
+          (if xorg ? ${"xf86video" + name}
+           then { modules = [xorg.${"xf86video" + name}]; }
            else null)
           knownVideoDrivers;
       in optional (driver != null) ({ inherit name; driverName = name; } // driver));
@@ -444,8 +443,7 @@ in
         pkgs.xterm
         pkgs.xdg_utils
       ]
-      ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh
-      ++ optional (elem "ati_unfree" cfg.videoDrivers) kernelPackages.ati_drivers_x11;
+      ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
 
     environment.pathsToLink =
       [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ];
@@ -460,13 +458,11 @@ in
         restartIfChanged = false;
 
         environment =
-          { FONTCONFIG_FILE = "/etc/fonts/fonts.conf"; # !!! cleanup
+          {
             XKB_BINDIR = "${xorg.xkbcomp}/bin"; # Needed for the Xkb extension.
             XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime.
             LD_LIBRARY_PATH = concatStringsSep ":" (
               [ "${xorg.libX11}/lib" "${xorg.libXext}/lib" ]
-              ++ optionals (elem "ati_unfree" cfg.videoDrivers)
-                [ "${kernelPackages.ati_drivers_x11}/lib" "${kernelPackages.ati_drivers_x11}/X11R6/lib64/modules/linux" ]
               ++ concatLists (catAttrs "libPath" cfg.drivers));
           } // cfg.displayManager.job.environment;
 
@@ -487,8 +483,6 @@ in
 
     services.xserver.displayManager.xserverArgs =
       [ "-ac"
-        "-logverbose"
-        "-verbose"
         "-terminate"
         "-logfile" "/var/log/X.${toString cfg.display}.log"
         "-config ${configFile}"
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 12012698efe..7aa4b12a654 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -9,19 +9,21 @@ use Cwd 'abs_path';
 
 my $out = "@out@";
 
+# To be robust against interruption, record what units need to be started etc.
 my $startListFile = "/run/systemd/start-list";
 my $restartListFile = "/run/systemd/restart-list";
 my $reloadListFile = "/run/systemd/reload-list";
 
 my $action = shift @ARGV;
 
-if (!defined $action || ($action ne "switch" && $action ne "boot" && $action ne "test")) {
+if (!defined $action || ($action ne "switch" && $action ne "boot" && $action ne "test" && $action ne "dry-activate")) {
     print STDERR <<EOF;
 Usage: $0 [switch|boot|test]
 
-switch: make the configuration the boot default and activate now
-boot:   make the configuration the boot default
-test:   activate the configuration, but don\'t make it the boot default
+switch:       make the configuration the boot default and activate now
+boot:         make the configuration the boot default
+test:         activate the configuration, but don\'t make it the boot default
+dry-activate: show what would be done if this configuration were activated
 EOF
     exit 1;
 }
@@ -56,8 +58,6 @@ EOF
     exit 100;
 }
 
-syslog(LOG_NOTICE, "switching to system configuration $out");
-
 # Ignore SIGHUP so that we're not killed if we're running on (say)
 # virtual console 1 and we restart the "tty1" unit.
 $SIG{PIPE} = "IGNORE";
@@ -116,6 +116,11 @@ sub boolIsTrue {
     return $s eq "yes" || $s eq "true";
 }
 
+sub recordUnit {
+    my ($fn, $unit) = @_;
+    write_file($fn, { append => 1 }, "$unit\n") if $action ne "dry-activate";
+}
+
 # As a fingerprint for determining whether a unit has changed, we use
 # its absolute path. If it has an override file, we append *its*
 # absolute path as well.
@@ -124,9 +129,20 @@ sub fingerprintUnit {
     return abs_path($s) . (-f "${s}.d/overrides.conf" ? " " . abs_path "${s}.d/overrides.conf" : "");
 }
 
-# Stop all services that no longer exist or have changed in the new
-# configuration.
-my (@unitsToStop, @unitsToSkip);
+# Figure out what units need to be stopped, started, restarted or reloaded.
+my (%unitsToStop, %unitsToSkip, %unitsToStart, %unitsToRestart, %unitsToReload);
+
+my %unitsToFilter; # units not shown
+
+$unitsToStart{$_} = 1 foreach
+    split('\n', read_file($startListFile, err_mode => 'quiet') // "");
+
+$unitsToRestart{$_} = 1 foreach
+    split('\n', read_file($restartListFile, err_mode => 'quiet') // "");
+
+$unitsToReload{$_} = 1 foreach
+    split '\n', read_file($reloadListFile, err_mode => 'quiet') // "";
+
 my $activePrev = getActiveUnits;
 while (my ($unit, $state) = each %{$activePrev}) {
     my $baseUnit = $unit;
@@ -141,7 +157,7 @@ while (my ($unit, $state) = each %{$activePrev}) {
 
     if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) {
         if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") {
-            push @unitsToStop, $unit;
+            $unitsToStop{$unit} = 1;
         }
 
         elsif ($unit =~ /\.target$/) {
@@ -155,7 +171,10 @@ while (my ($unit, $state) = each %{$activePrev}) {
             # should not be the case.  Just ignore it.
             if ($unit ne "suspend.target" && $unit ne "hibernate.target" && $unit ne "hybrid-sleep.target") {
                 unless (boolIsTrue($unitInfo->{'RefuseManualStart'} // "no")) {
-                    write_file($startListFile, { append => 1 }, "$unit\n");
+                    $unitsToStart{$unit} = 1;
+                    recordUnit($startListFile, $unit);
+                    # Don't spam the user with target units that always get started.
+                    $unitsToFilter{$unit} = 1;
                 }
             }
 
@@ -171,7 +190,7 @@ while (my ($unit, $state) = each %{$activePrev}) {
             # (unless there is a PartOf dependency), so this is just a
             # bookkeeping thing to get systemd to do the right thing.
             if (boolIsTrue($unitInfo->{'X-StopOnReconfiguration'} // "no")) {
-                push @unitsToStop, $unit;
+                $unitsToStop{$unit} = 1;
             }
         }
 
@@ -180,16 +199,18 @@ while (my ($unit, $state) = each %{$activePrev}) {
                 # Do nothing.  These cannot be restarted directly.
             } elsif ($unit =~ /\.mount$/) {
                 # Reload the changed mount unit to force a remount.
-                write_file($reloadListFile, { append => 1 }, "$unit\n");
-            } elsif ($unit =~ /\.socket$/ || $unit =~ /\.path$/) {
+                $unitsToReload{$unit} = 1;
+                recordUnit($reloadListFile, $unit);
+            } elsif ($unit =~ /\.socket$/ || $unit =~ /\.path$/ || $unit =~ /\.slice$/) {
                 # FIXME: do something?
             } else {
                 my $unitInfo = parseUnit($newUnitFile);
                 if (boolIsTrue($unitInfo->{'X-ReloadIfChanged'} // "no")) {
-                    write_file($reloadListFile, { append => 1 }, "$unit\n");
+                    $unitsToReload{$unit} = 1;
+                    recordUnit($reloadListFile, $unit);
                 }
                 elsif (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes") || boolIsTrue($unitInfo->{'RefuseManualStop'} // "no") ) {
-                    push @unitsToSkip, $unit;
+                    $unitsToSkip{$unit} = 1;
                 } else {
                     # If this unit is socket-activated, then stop the
                     # socket unit(s) as well, and restart the
@@ -202,8 +223,9 @@ while (my ($unit, $state) = each %{$activePrev}) {
                         }
                         foreach my $socket (@sockets) {
                             if (defined $activePrev->{$socket}) {
-                                push @unitsToStop, $socket;
-                                write_file($startListFile, { append => 1 }, "$socket\n");
+                                $unitsToStop{$unit} = 1;
+                                $unitsToStart{$unit} = 1;
+                                recordUnit($startListFile, $socket);
                                 $socketActivated = 1;
                             }
                         }
@@ -213,7 +235,8 @@ while (my ($unit, $state) = each %{$activePrev}) {
 
                         # This unit should be restarted instead of
                         # stopped and started.
-                        write_file($restartListFile, { append => 1 }, "$unit\n");
+                        $unitsToRestart{$unit} = 1;
+                        recordUnit($restartListFile, $unit);
 
                     } else {
 
@@ -222,10 +245,11 @@ while (my ($unit, $state) = each %{$activePrev}) {
                         # We write this to a file to ensure that the
                         # service gets restarted if we're interrupted.
                         if (!$socketActivated) {
-                            write_file($startListFile, { append => 1 }, "$unit\n");
+                            $unitsToStart{$unit} = 1;
+                            recordUnit($startListFile, $unit);
                         }
 
-                        push @unitsToStop, $unit;
+                        $unitsToStop{$unit} = 1;
 
                     }
                 }
@@ -268,14 +292,16 @@ foreach my $mountPoint (keys %$prevFss) {
     my $unit = pathToUnitName($mountPoint) . ".mount";
     if (!defined $new) {
         # Filesystem entry disappeared, so unmount it.
-        push @unitsToStop, $unit;
+        $unitsToStop{$unit} = 1;
     } elsif ($prev->{fsType} ne $new->{fsType} || $prev->{device} ne $new->{device}) {
         # Filesystem type or device changed, so unmount and mount it.
-        write_file($startListFile, { append => 1 }, "$unit\n");
-        push @unitsToStop, $unit;
+        $unitsToStop{$unit} = 1;
+        $unitsToStart{$unit} = 1;
+        recordUnit($startListFile, $unit);
     } elsif ($prev->{options} ne $new->{options}) {
         # Mount options changes, so remount it.
-        write_file($reloadListFile, { append => 1 }, "$unit\n");
+        $unitsToReload{$unit} = 1;
+        recordUnit($reloadListFile, $unit);
     }
 }
 
@@ -294,14 +320,51 @@ foreach my $device (keys %$prevSwaps) {
     # FIXME: update swap options (i.e. its priority).
 }
 
-if (scalar @unitsToStop > 0) {
-    @unitsToStop = unique(@unitsToStop);
-    print STDERR "stopping the following units: ", join(", ", sort(@unitsToStop)), "\n";
-    system("systemctl", "stop", "--", @unitsToStop); # FIXME: ignore errors?
+
+# Should we have systemd re-exec itself?
+my $restartSystemd = abs_path("/proc/1/exe") ne abs_path("@systemd@/lib/systemd/systemd");
+
+
+sub filterUnits {
+    my ($units) = @_;
+    my @res;
+    foreach my $unit (sort(keys %{$units})) {
+        push @res, $unit if !defined $unitsToFilter{$unit};
+    }
+    return @res;
+}
+
+my @unitsToStopFiltered = filterUnits(\%unitsToStop);
+my @unitsToStartFiltered = filterUnits(\%unitsToStart);
+
+
+# Show dry-run actions.
+if ($action eq "dry-activate") {
+    print STDERR "would stop the following units: ", join(", ", @unitsToStopFiltered), "\n"
+        if scalar @unitsToStopFiltered > 0;
+    print STDERR "would NOT stop the following changed units: ", join(", ", sort(keys %unitsToSkip)), "\n"
+        if scalar(keys %unitsToSkip) > 0;
+    print STDERR "would restart systemd\n" if $restartSystemd;
+    print STDERR "would restart the following units: ", join(", ", sort(keys %unitsToRestart)), "\n"
+        if scalar(keys %unitsToRestart) > 0;
+    print STDERR "would start the following units: ", join(", ", @unitsToStartFiltered), "\n"
+        if scalar @unitsToStartFiltered;
+    print STDERR "would reload the following units: ", join(", ", sort(keys %unitsToReload)), "\n"
+        if scalar(keys %unitsToReload) > 0;
+    exit 0;
+}
+
+
+syslog(LOG_NOTICE, "switching to system configuration $out");
+
+if (scalar (keys %unitsToStop) > 0) {
+    print STDERR "stopping the following units: ", join(", ", @unitsToStopFiltered), "\n"
+        if scalar @unitsToStopFiltered;
+    system("systemctl", "stop", "--", sort(keys %unitsToStop)); # FIXME: ignore errors?
 }
 
-print STDERR "NOT restarting the following units: ", join(", ", sort(@unitsToSkip)), "\n"
-    if scalar @unitsToSkip > 0;
+print STDERR "NOT restarting the following changed units: ", join(", ", sort(keys %unitsToSkip)), "\n"
+    if scalar(keys %unitsToSkip) > 0;
 
 # Activate the new configuration (i.e., update /etc, make accounts,
 # and so on).
@@ -310,7 +373,7 @@ print STDERR "activating the configuration...\n";
 system("$out/activate", "$out") == 0 or $res = 2;
 
 # Restart systemd if necessary.
-if (abs_path("/proc/1/exe") ne abs_path("@systemd@/lib/systemd/systemd")) {
+if ($restartSystemd) {
     print STDERR "restarting systemd...\n";
     system("@systemd@/bin/systemctl", "daemon-reexec") == 0 or $res = 2;
 }
@@ -321,12 +384,19 @@ system("@systemd@/bin/systemctl", "reset-failed");
 # Make systemd reload its units.
 system("@systemd@/bin/systemctl", "daemon-reload") == 0 or $res = 3;
 
+# Reload units that need it. This includes remounting changed mount
+# units.
+if (scalar(keys %unitsToReload) > 0) {
+    print STDERR "reloading the following units: ", join(", ", sort(keys %unitsToReload)), "\n";
+    system("@systemd@/bin/systemctl", "reload", "--", sort(keys %unitsToReload)) == 0 or $res = 4;
+    unlink($reloadListFile);
+}
+
 # Restart changed services (those that have to be restarted rather
 # than stopped and started).
-my @restart = unique(split('\n', read_file($restartListFile, err_mode => 'quiet') // ""));
-if (scalar @restart > 0) {
-    print STDERR "restarting the following units: ", join(", ", sort(@restart)), "\n";
-    system("@systemd@/bin/systemctl", "restart", "--", @restart) == 0 or $res = 4;
+if (scalar(keys %unitsToRestart) > 0) {
+    print STDERR "restarting the following units: ", join(", ", sort(keys %unitsToRestart)), "\n";
+    system("@systemd@/bin/systemctl", "restart", "--", sort(keys %unitsToRestart)) == 0 or $res = 4;
     unlink($restartListFile);
 }
 
@@ -336,22 +406,11 @@ if (scalar @restart > 0) {
 # that are symlinks to other units.  We shouldn't start both at the
 # same time because we'll get a "Failed to add path to set" error from
 # systemd.
-my @start = unique("default.target", "timers.target", "sockets.target", split('\n', read_file($startListFile, err_mode => 'quiet') // ""));
-print STDERR "starting the following units: ", join(", ", sort(@start)), "\n";
-system("@systemd@/bin/systemctl", "start", "--", @start) == 0 or $res = 4;
+print STDERR "starting the following units: ", join(", ", @unitsToStartFiltered), "\n"
+    if scalar @unitsToStartFiltered;
+system("@systemd@/bin/systemctl", "start", "--", sort(keys %unitsToStart)) == 0 or $res = 4;
 unlink($startListFile);
 
-# Reload units that need it.  This includes remounting changed mount
-# units.
-my @reload = unique(split '\n', read_file($reloadListFile, err_mode => 'quiet') // "");
-if (scalar @reload > 0) {
-    print STDERR "reloading the following units: ", join(", ", sort(@reload)), "\n";
-    system("@systemd@/bin/systemctl", "reload", "--", @reload) == 0 or $res = 4;
-    unlink($reloadListFile);
-}
-
-# Signal dbus to reload its configuration.
-system("@systemd@/bin/systemctl", "reload", "dbus.service");
 
 # Print failed and new units.
 my (@failed, @new, @restarting);
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 62999dceee3..d7a1e205b4d 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -88,7 +88,7 @@ let
 
   failed = map (x: x.message) (filter (x: !x.assertion) config.assertions);
 
-  showWarnings = res: fold (w: x: builtins.trace "^[[1;31mwarning: ${w}^[[0m" x) res config.warnings;
+  showWarnings = res: fold (w: x: builtins.trace "warning: ${w}" x) res config.warnings;
 
   # Putting it all together.  This builds a store path containing
   # symlinks to the various parts of the built configuration (the
@@ -147,7 +147,7 @@ in
       default = [];
       description = ''
         Additional configurations to build based on the current
-        configuration which is has a lower priority.
+        configuration which then has a lower priority.
       '';
     };
 
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index 79b173a6ead..0cae9cb844c 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -193,8 +193,9 @@ in
         "ohci_hcd"
         "ohci_pci"
         "xhci_hcd"
+        "xhci_pci"
         "usbhid"
-        "hid_generic"
+        "hid_generic" "hid_lenovo"
         "hid_apple" "hid_logitech_dj" "hid_lenovo_tpkbd" "hid_roccat"
 
         # Unix domain sockets (needed by udev).
diff --git a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix
index 4b5e84f53c1..6153578612c 100644
--- a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix
+++ b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix
@@ -24,6 +24,7 @@ in
 
       enable = mkOption {
         default = false;
+        type = types.bool;
         description = ''
           Whether to create symlinks to the system generations under
           <literal>/boot</literal>.  When enabled,
@@ -42,6 +43,7 @@ in
 
       copyKernels = mkOption {
         default = false;
+        type = types.bool;
         description = "
           Whether copy the necessary boot files into /boot, so
           /nix/store is not needed by the boot loader.
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index bc9a155ac95..585c8854fee 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -6,8 +6,11 @@ let
 
   cfg = config.boot.loader.grub;
 
+  efi = config.boot.loader.efi;
+
   realGrub = if cfg.version == 1 then pkgs.grub
-    else pkgs.grub2.override { zfsSupport = cfg.zfsSupport; };
+    else if cfg.zfsSupport then pkgs.grub2.override { zfsSupport = true; }
+    else pkgs.grub2;
 
   grub =
     # Don't include GRUB if we're only generating a GRUB menu (e.g.,
@@ -16,21 +19,31 @@ let
     then null
     else realGrub;
 
+  grubEfi =
+    # EFI version of Grub v2
+    if (cfg.devices != ["nodev"]) && cfg.efiSupport && (cfg.version == 2)
+    then realGrub.override { efiSupport = cfg.efiSupport; }
+    else null;
+
   f = x: if x == null then "" else "" + x;
 
   grubConfig = pkgs.writeText "grub-config.xml" (builtins.toXML
     { splashImage = f config.boot.loader.grub.splashImage;
       grub = f grub;
+      grubTarget = f (grub.grubTarget or "");
       shell = "${pkgs.stdenv.shell}";
       fullVersion = (builtins.parseDrvName realGrub.name).version;
+      grubEfi = f grubEfi;
+      grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f (grubEfi.grubTarget or "") else "";
+      inherit (efi) efiSysMountPoint canTouchEfiVariables;
       inherit (cfg)
         version extraConfig extraPerEntryConfig extraEntries
         extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels timeout
-        default devices fsIdentifier;
-      path = (makeSearchPath "bin" [
+        default devices fsIdentifier efiSupport;
+      path = (makeSearchPath "bin" ([
         pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfsProgs
-        pkgs.utillinux
-      ]) + ":" + (makeSearchPath "sbin" [
+        pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else [])
+      )) + ":" + (makeSearchPath "sbin" [
         pkgs.mdadm pkgs.utillinux
       ]);
     });
@@ -166,6 +179,7 @@ in
       };
 
       splashImage = mkOption {
+        type = types.nullOr types.path;
         example = literalExample "./my-background.png";
         description = ''
           Background image used for GRUB.  It must be a 640x480,
@@ -196,7 +210,7 @@ in
       };
 
       timeout = mkOption {
-        default = 5;
+        default = if (config.boot.loader.timeout != null) then config.boot.loader.timeout else -1;
         type = types.int;
         description = ''
           Timeout (in seconds) until GRUB boots the default menu item.
@@ -231,6 +245,27 @@ in
         type = types.bool;
         description = ''
           Whether grub should be build against libzfs.
+          ZFS support is only available for GRUB v2.
+          This option is ignored for GRUB v1.
+        '';
+      };
+
+      efiSupport = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether grub should be build with EFI support.
+          EFI support is only available for GRUB v2.
+          This option is ignored for GRUB v1.
+        '';
+      };
+
+      enableCryptodisk = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Enable support for encrypted partitions. Grub should automatically
+          unlock the correct encrypted partition and look for filesystems.
         '';
       };
 
@@ -260,7 +295,8 @@ in
         if cfg.devices == [] then
           throw "You must set the option ‘boot.loader.grub.device’ to make the system bootable."
         else
-          "PERL5LIB=${makePerlPath [ pkgs.perlPackages.XMLLibXML pkgs.perlPackages.XMLSAX ]} " +
+          "PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ListCompare ])} " +
+          (if cfg.enableCryptodisk then "GRUB_ENABLE_CRYPTODISK=y " else "") +
           "${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig}";
 
       system.build.grub = grub;
@@ -277,7 +313,11 @@ in
         '') config.boot.loader.grub.extraFiles);
 
     assertions = [{ assertion = !cfg.zfsSupport || cfg.version == 2;
-                    message = "Only grub version 2 provides zfs support";}];
+                    message = "Only grub version 2 provides zfs support";}]
+      ++ flip map cfg.devices (dev: {
+        assertion = dev == "nodev" || hasPrefix "/" dev;
+        message = "Grub devices must be absolute paths, not ${dev}";
+      });
 
     })
 
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index d8ee8b50097..2ef1fca1983 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -6,6 +6,8 @@ use File::Basename;
 use File::Path;
 use File::stat;
 use File::Copy;
+use File::Slurp;
+require List::Compare;
 use POSIX;
 use Cwd;
 
@@ -38,6 +40,7 @@ sub runCommand {
 
 my $grub = get("grub");
 my $grubVersion = int(get("version"));
+my $grubTarget = get("grubTarget");
 my $extraConfig = get("extraConfig");
 my $extraPrepareConfig = get("extraPrepareConfig");
 my $extraPerEntryConfig = get("extraPerEntryConfig");
@@ -49,6 +52,10 @@ my $copyKernels = get("copyKernels") eq "true";
 my $timeout = int(get("timeout"));
 my $defaultEntry = int(get("default"));
 my $fsIdentifier = get("fsIdentifier");
+my $grubEfi = get("grubEfi");
+my $grubTargetEfi = get("grubTargetEfi");
+my $canTouchEfiVariables = get("canTouchEfiVariables");
+my $efiSysMountPoint = get("efiSysMountPoint");
 $ENV{'PATH'} = get("path");
 
 die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2;
@@ -70,14 +77,50 @@ struct(Fs => {
     type => '$',
     mount => '$',
 });
+sub PathInMount {
+    my ($path, $mount) = @_;
+    my @splitMount = split /\//, $mount;
+    my @splitPath = split /\//, $path;
+    if ($#splitPath < $#splitMount) {
+        return 0;
+    }
+    for (my $i = 0; $i <= $#splitMount; $i++) {
+        if ($splitMount[$i] ne $splitPath[$i]) {
+            return 0;
+        }
+    }
+    return 1;
+}
 sub GetFs {
     my ($dir) = @_;
-    my ($status, @dfOut) = runCommand("df -T $dir");
-    if ($status != 0 || $#dfOut != 1) {
-        die "Failed to retrieve output about $dir from `df`";
+    my $bestFs = Fs->new(device => "", type => "", mount => "");
+    foreach my $fs (read_file("/proc/self/mountinfo")) {
+        chomp $fs;
+        my @fields = split / /, $fs;
+        my $mountPoint = $fields[4];
+        next unless -d $mountPoint;
+        my @mountOptions = split /,/, $fields[5];
+
+        # Skip the optional fields.
+        my $n = 6; $n++ while $fields[$n] ne "-"; $n++;
+        my $fsType = $fields[$n];
+        my $device = $fields[$n + 1];
+        my @superOptions = split /,/, $fields[$n + 2];
+
+        # Skip the read-only bind-mount on /nix/store.
+        next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions);
+        # Skip mount point generated by systemd-efi-boot-generator?
+        next if $fsType eq "autofs";
+
+        # Ensure this matches the intended directory
+        next unless PathInMount($dir, $mountPoint);
+
+        # Is it better than our current match?
+        if (length($mountPoint) > length($bestFs->mount)) {
+            $bestFs = Fs->new(device => $device, type => $fsType, mount => $mountPoint);
+        }
     }
-    my @boot = split(/[ \n\t]+/, $dfOut[1]);
-    return Fs->new(device => $boot[0], type => $boot[1], mount => $boot[6]);
+    return $bestFs;
 }
 struct (Grub => {
     path => '$',
@@ -122,7 +165,7 @@ sub GrubFs {
                 # Based on the type pull in the identifier from the system
                 my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}");
                 if ($status != 0) {
-                    die "Failed to get blkid info for @{[$fs->device]}";
+                    die "Failed to get blkid info for @{[$fs->mount]} on @{[$fs->device]}";
                 }
                 my @matches = join("", @devInfo) =~ m/@{[uc $fsIdentifier]}=([^\n]*)/;
                 if ($#matches != 0) {
@@ -133,15 +176,25 @@ sub GrubFs {
 
             # BTRFS is a special case in that we need to fix the referrenced path based on subvolumes
             if ($fs->type eq 'btrfs') {
-                my ($status, @info) = runCommand("btrfs subvol show @{[$fs->mount]}");
+                my ($status, @id_info) = runCommand("btrfs subvol show @{[$fs->mount]}");
                 if ($status != 0) {
-                    die "Failed to retreive subvolume info for @{[$fs->mount]}";
+                    die "Failed to retrieve subvolume info for @{[$fs->mount]}\n";
                 }
-                my @subvols = join("", @info) =~ m/Name:[ \t\n]*([^ \t\n]*)/;
-                if ($#subvols > 0) {
+                my @ids = join("", @id_info) =~ m/Object ID:[ \t\n]*([^ \t\n]*)/;
+                if ($#ids > 0) {
                     die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n"
-                } elsif ($#subvols == 0) {
-                    $path = "/$subvols[0]$path";
+                } elsif ($#ids == 0) {
+                    my ($status, @path_info) = runCommand("btrfs subvol list @{[$fs->mount]}");
+                    if ($status != 0) {
+                        die "Failed to find @{[$fs->mount]} subvolume id from btrfs\n";
+                    }
+                    my @paths = join("", @path_info) =~ m/ID $ids[0] [^\n]* path ([^\n]*)/;
+                    if ($#paths > 0) {
+                        die "Btrfs returned multiple paths for a single subvolume id, mountpoint @{[$fs->mount]}\n";
+                    } elsif ($#paths != 0) {
+                        die "Btrfs did not return a path for the subvolume at @{[$fs->mount]}\n";
+                    }
+                    $path = "/$paths[0]$path";
                 }
             }
         }
@@ -154,11 +207,9 @@ sub GrubFs {
     return Grub->new(path => $path, search => $search);
 }
 my $grubBoot = GrubFs("/boot");
-my $grubStore = GrubFs("/nix");
-
-# We don't need to copy if we can read the kernels directly
-if ($grubStore->search ne "") {
-	$copyKernels = 0;
+my $grubStore;
+if ($copyKernels == 0) {
+    $grubStore = GrubFs("/nix/store");
 }
 
 # Generate the header.
@@ -176,9 +227,12 @@ if ($grubVersion == 1) {
 }
 
 else {
+    if ($copyKernels == 0) {
+        $conf .= "
+            " . $grubStore->search;
+    }
     $conf .= "
         " . $grubBoot->search . "
-        " . $grubStore->search . "
         if [ -s \$prefix/grubenv ]; then
           load_env
         fi
@@ -235,7 +289,7 @@ mkpath("/boot/kernels", 0, 0755) if $copyKernels;
 
 sub copyToKernelsDir {
     my ($path) = @_;
-    return $grubStore->path . substr($path, length("/nix")) unless $copyKernels;
+    return $grubStore->path . substr($path, length("/nix/store")) unless $copyKernels;
     $path =~ /\/nix\/store\/(.*)/ or die;
     my $name = $1; $name =~ s/\//-/g;
     my $dst = "/boot/kernels/$name";
@@ -275,8 +329,10 @@ sub addEntry {
         $conf .= "  " . ($xen ? "module" : "initrd") . " $initrd\n\n";
     } else {
         $conf .= "menuentry \"$name\" {\n";
-	$conf .= $grubBoot->search . "\n";
-	$conf .= $grubStore->search . "\n";
+        $conf .= $grubBoot->search . "\n";
+        if ($copyKernels == 0) {
+            $conf .= $grubStore->search . "\n";
+        }
         $conf .= "  $extraPerEntryConfig\n" if $extraPerEntryConfig;
         $conf .= "  multiboot $xen $xenParams\n" if $xen;
         $conf .= "  " . ($xen ? "module" : "linux") . " $kernel $kernelParams\n";
@@ -293,8 +349,9 @@ addEntry("NixOS - Default", $defaultConfig);
 
 $conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS;
 
+my $grubBootPath = $grubBoot->path;
 # extraEntries could refer to @bootRoot@, which we have to substitute
-$conf =~ s/\@bootRoot\@/$grubBoot->path/g;
+$conf =~ s/\@bootRoot\@/$grubBootPath/g;
 
 # Emit submenus for all system profiles.
 sub addProfile {
@@ -353,16 +410,116 @@ foreach my $fn (glob "/boot/kernels/*") {
 }
 
 
-# Install GRUB if the version changed from the last time we installed
-# it.  FIXME: shouldn't we reinstall if ‘devices’ changed?
-my $prevVersion = readFile("/boot/grub/version") // "";
-if (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1" || get("fullVersion") ne $prevVersion) {
+#
+# Install GRUB if the parameters changed from the last time we installed it.
+#
+
+struct(GrubState => {
+    version => '$',
+    efi => '$',
+    devices => '$',
+    efiMountPoint => '$',
+});
+sub readGrubState {
+    my $defaultGrubState = GrubState->new(version => "", efi => "", devices => "", efiMountPoint => "" );
+    open FILE, "</boot/grub/state" or return $defaultGrubState;
+    local $/ = "\n";
+    my $version = <FILE>;
+    chomp($version);
+    my $efi = <FILE>;
+    chomp($efi);
+    my $devices = <FILE>;
+    chomp($devices);
+    my $efiMountPoint = <FILE>;
+    chomp($efiMountPoint);
+    close FILE;
+    my $grubState = GrubState->new(version => $version, efi => $efi, devices => $devices, efiMountPoint => $efiMountPoint );
+    return $grubState
+}
+
+sub getDeviceTargets {
+    my @devices = ();
     foreach my $dev ($dom->findnodes('/expr/attrs/attr[@name = "devices"]/list/string/@value')) {
         $dev = $dev->findvalue(".") or die;
+        push(@devices, $dev);
+    }
+    return @devices;
+}
+
+# check whether to install GRUB EFI or not
+sub getEfiTarget {
+    if ($grubVersion == 1) {
+        return "no"
+    } elsif (($grub ne "") && ($grubEfi ne "")) {
+        # EFI can only be installed when target is set;
+        # A target is also required then for non-EFI grub
+        if (($grubTarget eq "") || ($grubTargetEfi eq "")) { die }
+        else { return "both" }
+    } elsif (($grub ne "") && ($grubEfi eq "")) {
+        # TODO: It would be safer to disallow non-EFI grub installation if no taget is given.
+        #       If no target is given, then grub auto-detects the target which can lead to errors.
+        #       E.g. it seems as if grub would auto-detect a EFI target based on the availability
+        #       of a EFI partition.
+        #       However, it seems as auto-detection is currently relied on for non-x86_64 and non-i386
+        #       architectures in NixOS. That would have to be fixed in the nixos modules first.
+        return "no"
+    } elsif (($grub eq "") && ($grubEfi ne "")) {
+        # EFI can only be installed when target is set;
+        if ($grubTargetEfi eq "") { die }
+        else {return "only" }
+    } else {
+        # at least one grub target has to be given
+        die
+    }
+}
+
+my @deviceTargets = getDeviceTargets();
+my $efiTarget = getEfiTarget();
+my $prevGrubState = readGrubState();
+my @prevDeviceTargets = split/:/, $prevGrubState->devices;
+
+my $devicesDiffer = scalar (List::Compare->new( '-u', '-a', \@deviceTargets, \@prevDeviceTargets)->get_symmetric_difference() );
+my $versionDiffer = (get("fullVersion") eq \$prevGrubState->version);
+my $efiDiffer = ($efiTarget eq \$prevGrubState->efi);
+my $efiMountPointDiffer = ($efiSysMountPoint eq \$prevGrubState->efiMountPoint);
+my $requireNewInstall = $devicesDiffer || $versionDiffer || $efiDiffer || $efiMountPointDiffer || (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1");
+
+
+# install non-EFI GRUB
+if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) {
+    foreach my $dev (@deviceTargets) {
         next if $dev eq "nodev";
         print STDERR "installing the GRUB $grubVersion boot loader on $dev...\n";
-        system("$grub/sbin/grub-install", "--recheck", Cwd::abs_path($dev)) == 0
-            or die "$0: installation of GRUB on $dev failed\n";
+        if ($grubTarget eq "") {
+            system("$grub/sbin/grub-install", "--recheck", Cwd::abs_path($dev)) == 0
+                or die "$0: installation of GRUB on $dev failed\n";
+        } else {
+            system("$grub/sbin/grub-install", "--recheck", "--target=$grubTarget", Cwd::abs_path($dev)) == 0
+                or die "$0: installation of GRUB on $dev failed\n";
+        }
     }
-    writeFile("/boot/grub/version", get("fullVersion"));
+}
+
+
+# install EFI GRUB
+if (($requireNewInstall != 0) && ($efiTarget eq "only" || $efiTarget eq "both")) {
+    print STDERR "installing the GRUB $grubVersion EFI boot loader into $efiSysMountPoint...\n";
+    if ($canTouchEfiVariables eq "true") {
+        system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--efi-directory=$efiSysMountPoint") == 0
+                or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n";
+    } else {
+        system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--efi-directory=$efiSysMountPoint", "--no-nvram") == 0
+                or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n";
+    }
+}
+
+
+# update GRUB state file
+if ($requireNewInstall != 0) {
+    open FILE, ">/boot/grub/state" or die "cannot create /boot/grub/state: $!\n";
+    print FILE get("fullVersion"), "\n" or die;
+    print FILE $efiTarget, "\n" or die;
+    print FILE join( ":", @deviceTargets ), "\n" or die;
+    print FILE $efiSysMountPoint, "\n" or die;
+    close FILE or die;
 }
diff --git a/nixos/modules/system/boot/loader/grub/ipxe.nix b/nixos/modules/system/boot/loader/grub/ipxe.nix
new file mode 100644
index 00000000000..9b5097a4cfd
--- /dev/null
+++ b/nixos/modules/system/boot/loader/grub/ipxe.nix
@@ -0,0 +1,64 @@
+# This module adds a scripted iPXE entry to the GRUB boot menu.
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  scripts = builtins.attrNames config.boot.loader.grub.ipxe;
+
+  grubEntry = name:
+    ''
+      menuentry "iPXE - ${name}" {
+        linux16 @bootRoot@/ipxe.lkrn
+        initrd16 @bootRoot@/${name}.ipxe
+      }
+
+    '';
+
+  scriptFile = name:
+    let
+      value = builtins.getAttr name config.boot.loader.grub.ipxe;
+    in
+    if builtins.typeOf value == "path" then value
+    else builtins.toFile "${name}.ipxe" value;
+in
+{
+  options =
+    { boot.loader.grub.ipxe = mkOption {
+        type = types.attrsOf (types.either types.path types.str);
+        description =
+          ''
+            Set of iPXE scripts available for
+            booting from the GRUB boot menu.
+          '';
+        default = { };
+        example = literalExample ''
+          { demo = '''
+              #!ipxe
+              dhcp
+              chain http://boot.ipxe.org/demo/boot.php
+            ''';
+          };
+        '';
+      };
+    };
+
+  config = mkIf (builtins.length scripts != 0) {
+
+    boot.loader.grub.extraEntries =
+      if config.boot.loader.grub.version == 2 then
+        toString (map grubEntry scripts)
+      else
+        throw "iPXE is not supported with GRUB 1.";
+
+    boot.loader.grub.extraFiles =
+      { "ipxe.lkrn" = "${pkgs.ipxe}/ipxe.lkrn"; }
+      //
+      builtins.listToAttrs ( map
+        (name: { name = name+".ipxe"; value = scriptFile name; })
+        scripts
+      );
+  };
+
+}
diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py
index db73544181b..ef431a7732e 100644
--- a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py
+++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py
@@ -63,7 +63,8 @@ def get_generations(profile):
         "@nix@/bin/nix-env",
         "--list-generations",
         "-p",
-        "/nix/var/nix/profiles/%s" % (profile)
+        "/nix/var/nix/profiles/%s" % (profile),
+        "--option", "build-users-group", ""
         ])
     gen_lines = gen_list.split('\n')
     gen_lines.pop()
diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix
index e7a481e90a7..6c201eb8212 100644
--- a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix
+++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix
@@ -16,7 +16,7 @@ let
 
     nix = config.nix.package;
 
-    inherit (cfg) timeout;
+    timeout = if cfg.timeout != null then cfg.timeout else "";
 
     inherit (efi) efiSysMountPoint canTouchEfiVariables;
   };
@@ -31,7 +31,7 @@ in {
     };
 
     timeout = mkOption {
-      default = null;
+      default = if config.boot.loader.timeout == null then 10000 else config.boot.loader.timeout;
 
       example = 4;
 
diff --git a/nixos/modules/system/boot/loader/init-script/init-script.nix b/nixos/modules/system/boot/loader/init-script/init-script.nix
index 3b33d42b4ae..374d9524ff1 100644
--- a/nixos/modules/system/boot/loader/init-script/init-script.nix
+++ b/nixos/modules/system/boot/loader/init-script/init-script.nix
@@ -23,6 +23,7 @@ in
 
       enable = mkOption {
         default = false;
+        type = types.bool;
         description = ''
           Some systems require a /sbin/init script which is started.
           Or having it makes starting NixOS easier.
diff --git a/nixos/modules/system/boot/loader/loader.nix b/nixos/modules/system/boot/loader/loader.nix
new file mode 100644
index 00000000000..28cceafea7c
--- /dev/null
+++ b/nixos/modules/system/boot/loader/loader.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+    options = {
+        boot.loader.timeout =  mkOption {
+            default = 5;
+            type = types.nullOr types.int;
+            description = ''
+              Timeout (in seconds) until loader boots the default menu item. Use null if the loader menu should be displayed indefinitely.
+            '';
+        };
+    };
+}
\ No newline at end of file
diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
index d3f32418a64..1ea3ddd8867 100644
--- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
+++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
@@ -21,6 +21,7 @@ in
 
     boot.loader.raspberryPi.enable = mkOption {
       default = false;
+      type = types.bool;
       description = ''
         Whether to create files with the system generations in
         <literal>/boot</literal>.
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index 68392e3cfe2..20eee8e06e0 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -203,7 +203,7 @@ in
       description = ''
         Unless enabled, encryption keys can be easily recovered by an attacker with physical
         access to any machine with PCMCIA, ExpressCard, ThunderBolt or FireWire port.
-        More information: http://en.wikipedia.org/wiki/DMA_attack
+        More information is available at <link xlink:href="http://en.wikipedia.org/wiki/DMA_attack"/>.
 
         This option blacklists FireWire drivers, but doesn't remove them. You can manually
         load the drivers if you need to use a FireWire device, but don't forget to unload them!
@@ -342,40 +342,39 @@ in
               description = "Path where the ramfs used to update the LUKS key will be mounted in stage-1";
             };
 
-            storage = mkOption {
-              type = types.optionSet;
-              description = "Options related to the storing the salt";
-
-              options = {
-                device = mkOption {
-                  default = "/dev/sda1";
-                  type = types.path;
-                  description = ''
-                    An unencrypted device that will temporarily be mounted in stage-1.
-                    Must contain the current salt to create the challenge for this LUKS device.
-                  '';
-                };
-
-                fsType = mkOption {
-                  default = "vfat";
-                  type = types.string;
-                  description = "The filesystem of the unencrypted device";
-                };
-
-                mountPoint = mkOption {
-                  default = "/crypt-storage";
-                  type = types.string;
-                  description = "Path where the unencrypted device will be mounted in stage-1";
-                };
-
-                path = mkOption {
-                  default = "/crypt-storage/default";
-                  type = types.string;
-                  description = ''
-                    Absolute path of the salt on the unencrypted device with
-                    that device's root directory as "/".
-                  '';
-                };
+            /* TODO: Add to the documentation of the current module:
+
+               Options related to the storing the salt.
+            */
+            storage = {
+              device = mkOption {
+                default = "/dev/sda1";
+                type = types.path;
+                description = ''
+                  An unencrypted device that will temporarily be mounted in stage-1.
+                  Must contain the current salt to create the challenge for this LUKS device.
+                '';
+              };
+
+              fsType = mkOption {
+                default = "vfat";
+                type = types.string;
+                description = "The filesystem of the unencrypted device";
+              };
+
+              mountPoint = mkOption {
+                default = "/crypt-storage";
+                type = types.string;
+                description = "Path where the unencrypted device will be mounted in stage-1";
+              };
+
+              path = mkOption {
+                default = "/crypt-storage/default";
+                type = types.string;
+                description = ''
+                  Absolute path of the salt on the unencrypted device with
+                  that device's root directory as "/".
+                '';
               };
             };
           };
@@ -406,29 +405,19 @@ in
 
     # copy the cryptsetup binary and it's dependencies
     boot.initrd.extraUtilsCommands = ''
-      cp -pdv ${pkgs.cryptsetup}/sbin/cryptsetup $out/bin
-
-      cp -pdv ${pkgs.libgcrypt}/lib/libgcrypt*.so.* $out/lib
-      cp -pdv ${pkgs.libgpgerror}/lib/libgpg-error*.so.* $out/lib
-      cp -pdv ${pkgs.cryptsetup}/lib/libcryptsetup*.so.* $out/lib
-      cp -pdv ${pkgs.popt}/lib/libpopt*.so.* $out/lib
+      copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup
 
       ${optionalString luks.yubikeySupport ''
-      cp -pdv ${pkgs.ykpers}/bin/ykchalresp $out/bin
-      cp -pdv ${pkgs.ykpers}/bin/ykinfo $out/bin
-      cp -pdv ${pkgs.openssl}/bin/openssl $out/bin
-
-      cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o $out/bin/pbkdf2-sha512 -lcrypto
-      strip -s $out/bin/pbkdf2-sha512
+        copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp
+        copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo
+        copy_bin_and_libs ${pkgs.openssl}/bin/openssl
 
-      cp -pdv ${pkgs.libusb1}/lib/libusb*.so.* $out/lib
-      cp -pdv ${pkgs.ykpers}/lib/libykpers*.so.* $out/lib
-      cp -pdv ${pkgs.libyubikey}/lib/libyubikey*.so.* $out/lib
-      cp -pdv ${pkgs.openssl}/lib/libssl*.so.* $out/lib
-      cp -pdv ${pkgs.openssl}/lib/libcrypto*.so.* $out/lib
+        cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
+        strip -s pbkdf2-sha512
+        copy_bin_and_libs pbkdf2-sha512
 
-      mkdir -p $out/etc/ssl
-      cp -pdv ${pkgs.openssl}/etc/ssl/openssl.cnf $out/etc/ssl
+        mkdir -p $out/etc/ssl
+        cp -pdv ${pkgs.openssl}/etc/ssl/openssl.cnf $out/etc/ssl
 
       cat > $out/bin/openssl-wrap <<EOF
 #!$out/bin/sh
diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix
index 652eb046f50..a1feaad6132 100644
--- a/nixos/modules/system/boot/modprobe.nix
+++ b/nixos/modules/system/boot/modprobe.nix
@@ -10,10 +10,18 @@ with lib;
 
     system.sbin.modprobe = mkOption {
       internal = true;
-      default = pkgs.writeTextFile {
+      default = pkgs.stdenv.mkDerivation {
         name = "modprobe";
-        destination = "/sbin/modprobe";
-        executable = true;
+        buildCommand = ''
+          mkdir -p $out/bin
+          for i in ${pkgs.kmod}/sbin/*; do
+            name=$(basename $i)
+            echo "$text" > $out/bin/$name
+            echo 'exec '$i' "$@"' >> $out/bin/$name
+            chmod +x $out/bin/$name
+          done
+          ln -s bin $out/sbin
+        '';
         text =
           ''
             #! ${pkgs.stdenv.shell}
@@ -26,7 +34,6 @@ with lib;
                 MODULE_DIR=/run/booted-system/kernel-modules/lib/modules/
             fi
 
-            exec ${pkgs.kmod}/sbin/modprobe "$@"
           '';
       };
       description = ''
@@ -77,6 +84,11 @@ with lib;
         '')}
         ${config.boot.extraModprobeConfig}
       '';
+    environment.etc."modprobe.d/usb-load-ehci-first.conf".text =
+      ''
+        softdep uhci_hcd pre: ehci_hcd
+        softdep ohci_hcd pre: ehci_hcd
+      '';
 
     environment.systemPackages = [ config.system.sbin.modprobe pkgs.kmod ];
 
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 73fc6ce543c..5af644279e5 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -7,6 +7,8 @@ export LD_LIBRARY_PATH=@extraUtils@/lib
 export PATH=@extraUtils@/bin
 ln -s @extraUtils@/bin /bin
 
+# Stop LVM complaining about fd3
+export LVM_SUPPRESS_FD_WARNINGS=true
 
 fail() {
     if [ -n "$panicOnFail" ]; then exit 1; fi
@@ -34,7 +36,7 @@ EOF
     read reply
 
     if [ -n "$allowShell" -a "$reply" = f ]; then
-        exec setsid @shell@ -c "@shell@ < /dev/$console >/dev/$console 2>/dev/$console"
+        exec setsid @shell@ -c "exec @shell@ < /dev/$console >/dev/$console 2>/dev/$console"
     elif [ -n "$allowShell" -a "$reply" = i ]; then
         echo "Starting interactive shell..."
         setsid @shell@ -c "@shell@ < /dev/$console >/dev/$console 2>/dev/$console" || fail
@@ -56,9 +58,10 @@ echo
 
 
 # Mount special file systems.
-mkdir -p /etc
+mkdir -p /etc/udev
 touch /etc/fstab # to shut up mount
 touch /etc/mtab # to shut up mke2fs
+touch /etc/udev/hwdb.bin # to shut up udev
 touch /etc/initrd-release
 mkdir -p /proc
 mount -t proc proc /proc
@@ -122,6 +125,9 @@ for o in $(cat /proc/cmdline); do
     esac
 done
 
+# Set hostid before modules are loaded.
+# This is needed by the spl/zfs modules.
+@setHostId@
 
 # Load the required kernel modules.
 mkdir -p /lib
@@ -168,9 +174,28 @@ if test -e /sys/power/tuxonice/resume; then
     fi
 fi
 
-if test -n "@resumeDevice@" -a -e /sys/power/resume -a -e /sys/power/disk; then
-    echo "@resumeDevice@" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
-    echo shutdown > /sys/power/disk
+if test -e /sys/power/resume -a -e /sys/power/disk; then
+    if test -n "@resumeDevice@"; then
+        resumeDev="@resumeDevice@"
+        resumeInfo="$(udevadm info -q property "$resumeDev" )"
+    else
+        for sd in @resumeDevices@; do
+            # Try to detect resume device. According to Ubuntu bug:
+            # https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/923326/comments/1
+            # When there are multiple swap devices, we can't know where will hibernate
+            # image reside. We can check all of them for swsuspend blkid.
+            resumeInfo="$(udevadm info -q property "$sd" )"
+            if [ "$(echo "$resumeInfo" | sed -n 's/^ID_FS_TYPE=//p')" = "swsuspend" ]; then
+                resumeDev="$sd"
+                break
+            fi
+        done
+    fi
+    if test -e "$resumeDev"; then
+        resumeMajor="$(echo "$resumeInfo" | sed -n 's/^MAJOR=//p')"
+        resumeMinor="$(echo "$resumeInfo" | sed -n 's/^MINOR=//p')"
+        echo "$resumeMajor:$resumeMinor" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
+    fi
 fi
 
 
@@ -197,6 +222,9 @@ checkFS() {
     # Don't check resilient COWs as they validate the fs structures at mount time
     if [ "$fsType" = btrfs -o "$fsType" = zfs ]; then return 0; fi
 
+    # Skip fsck for inherently readonly filesystems.
+    if [ "$fsType" = squashfs ]; then return 0; fi
+
     # If we couldn't figure out the FS type, then skip fsck.
     if [ "$fsType" = auto ]; then
         echo 'cannot check filesystem with type "auto"!'
@@ -328,7 +356,8 @@ while read -u 3 mountPoint; do
     # that we don't properly recognise.
     if test -z "$pseudoDevice" -a ! -e $device; then
         echo -n "waiting for device $device to appear..."
-        for try in $(seq 1 20); do
+        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
@@ -336,8 +365,12 @@ while read -u 3 mountPoint; do
             udevadm trigger --action=add
             if test -e $device; then break; fi
             echo -n "."
+            try=$((try - 1))
         done
         echo
+        if [ $try -eq 0 ]; then
+          echo "Timed out waiting for device $device, trying to mount anyway."
+        fi
     fi
 
     # Wait once more for the udev queue to empty, just in case it's
@@ -353,6 +386,18 @@ exec 3>&-
 @postMountCommands@
 
 
+# Emit a udev rule for /dev/root to prevent systemd from complaining.
+if [ -e /mnt-root/iso ]; then
+    eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/mnt-root/iso || true)
+else
+    eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=$targetRoot || true)
+fi
+if [ "$ROOT_MAJOR" -a "$ROOT_MINOR" -a "$ROOT_MAJOR" != 0 ]; then
+    mkdir -p /run/udev/rules.d
+    echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$ROOT_MAJOR'", ENV{MINOR}=="'$ROOT_MINOR'", SYMLINK+="root"' > /run/udev/rules.d/61-dev-root-link.rules
+fi
+
+
 # Stop udevd.
 udevadm control --exit || true
 
@@ -371,7 +416,7 @@ echo /sbin/modprobe > /proc/sys/kernel/modprobe
 # Start stage 2.  `switch_root' deletes all files in the ramfs on the
 # current root.  Note that $stage2Init might be an absolute symlink,
 # in which case "-e" won't work because we're not in the chroot yet.
-if ! test -e "$targetRoot/$stage2Init" -o -L "$targetRoot/$stage2Init"; then
+if ! test -e "$targetRoot/$stage2Init" -o ! -L "$targetRoot/$stage2Init"; then
     echo "stage 2 init script ($targetRoot/$stage2Init) not found"
     fail
 fi
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 426da778f43..8b58eccdcec 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -34,49 +34,65 @@ let
       doublePatchelf = pkgs.stdenv.isArm;
     }
     ''
+      set +o pipefail
+
       mkdir -p $out/bin $out/lib
       ln -s $out/bin $out/sbin
 
-      # Copy what we need from Glibc.
-      cp -pv ${pkgs.glibc}/lib/ld*.so.? $out/lib
-      cp -pv ${pkgs.glibc}/lib/libc.so.* $out/lib
-      cp -pv ${pkgs.glibc}/lib/libm.so.* $out/lib
-      cp -pv ${pkgs.glibc}/lib/libpthread.so.* $out/lib
-      cp -pv ${pkgs.glibc}/lib/librt.so.* $out/lib
-      cp -pv ${pkgs.glibc}/lib/libdl.so.* $out/lib
-      cp -pv ${pkgs.gcc.gcc}/lib*/libgcc_s.so.* $out/lib
+      copy_bin_and_libs () {
+        [ -f "$out/bin/$(basename $1)" ] && rm "$out/bin/$(basename $1)"
+        cp -pdv $1 $out/bin
+      }
 
       # Copy BusyBox.
-      cp -pvd ${pkgs.busybox}/bin/* ${pkgs.busybox}/sbin/* $out/bin/
+      for BIN in ${pkgs.busybox}/{s,}bin/*; do
+        copy_bin_and_libs $BIN
+      done
 
       # Copy some utillinux stuff.
-      cp -vf ${pkgs.utillinux}/sbin/blkid $out/bin
-      cp -pdv ${pkgs.utillinux}/lib/libblkid*.so.* $out/lib
-      cp -pdv ${pkgs.utillinux}/lib/libuuid*.so.* $out/lib
+      copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid
 
       # Copy dmsetup and lvm.
-      cp -v ${pkgs.lvm2}/sbin/dmsetup $out/bin/dmsetup
-      cp -v ${pkgs.lvm2}/sbin/lvm $out/bin/lvm
-      cp -v ${pkgs.lvm2}/lib/libdevmapper.so.*.* $out/lib
-      cp -v ${pkgs.systemd}/lib/libsystemd.so.* $out/lib
+      copy_bin_and_libs ${pkgs.lvm2}/sbin/dmsetup
+      copy_bin_and_libs ${pkgs.lvm2}/sbin/lvm
 
       # Add RAID mdadm tool.
-      cp -v ${pkgs.mdadm}/sbin/mdadm $out/bin/mdadm
+      copy_bin_and_libs ${pkgs.mdadm}/sbin/mdadm
 
       # Copy udev.
-      cp -v ${udev}/lib/systemd/systemd-udevd ${udev}/bin/udevadm $out/bin
-      cp -v ${udev}/lib/udev/*_id $out/bin
-      cp -pdv ${udev}/lib/libudev.so.* $out/lib
-      cp -v ${pkgs.kmod}/lib/libkmod.so.* $out/lib
-      cp -v ${pkgs.acl}/lib/libacl.so.* $out/lib
-      cp -v ${pkgs.attr}/lib/libattr.so.* $out/lib
+      copy_bin_and_libs ${udev}/lib/systemd/systemd-udevd
+      copy_bin_and_libs ${udev}/bin/udevadm
+      for BIN in ${udev}/lib/udev/*_id; do
+        copy_bin_and_libs $BIN
+      done
 
       # Copy modprobe.
-      cp -v ${pkgs.kmod}/bin/kmod $out/bin/
+      copy_bin_and_libs ${pkgs.kmod}/bin/kmod
       ln -sf kmod $out/bin/modprobe
 
       ${config.boot.initrd.extraUtilsCommands}
 
+      # Copy ld manually since it isn't detected correctly
+      cp -pv ${pkgs.glibc}/lib/ld*.so.? $out/lib
+
+      # Copy all of the needed libraries for the binaries
+      for BIN in $(find $out/{bin,sbin} -type f); do
+        echo "Copying libs for bin $BIN"
+        LDD="$(ldd $BIN)" || continue
+        LIBS="$(echo "$LDD" | awk '{print $3}' | sed '/^$/d')"
+        for LIB in $LIBS; do
+          [ ! -f "$out/lib/$(basename $LIB)" ] && cp -pdv $LIB $out/lib
+          while [ "$(readlink $LIB)" != "" ]; do
+            LINK="$(readlink $LIB)"
+            if [ "${LINK:0:1}" != "/" ]; then
+              LINK="$(dirname $LIB)/$LINK"
+            fi
+            LIB="$LINK"
+            [ ! -f "$out/lib/$(basename $LIB)" ] && cp -pdv $LIB $out/lib
+          done
+        done
+      done
+
       # Strip binaries further than normal.
       chmod -R u+w $out
       stripDirs "lib bin" "-s"
@@ -98,10 +114,11 @@ let
       echo "testing patched programs..."
       $out/bin/ash -c 'echo hello world' | grep "hello world"
       export LD_LIBRARY_PATH=$out/lib
-      $out/bin/mount --help 2>&1 | grep "BusyBox"
+      $out/bin/mount --help 2>&1 | grep -q "BusyBox"
+      $out/bin/blkid --help 2>&1 | grep -q 'libblkid'
       $out/bin/udevadm --version
-      $out/bin/dmsetup --version 2>&1 | tee -a log | grep "version:"
-      LVM_SYSTEM_DIR=$out $out/bin/lvm version 2>&1 | tee -a log | grep "LVM"
+      $out/bin/dmsetup --version 2>&1 | tee -a log | grep -q "version:"
+      LVM_SYSTEM_DIR=$out $out/bin/lvm version 2>&1 | tee -a log | grep -q "LVM"
       $out/bin/mdadm --version
 
       ${config.boot.initrd.extraUtilsCommandsTest}
@@ -127,7 +144,7 @@ let
       cp -v ${udev}/lib/udev/rules.d/60-persistent-storage.rules $out/
       cp -v ${udev}/lib/udev/rules.d/80-drivers.rules $out/
       cp -v ${pkgs.lvm2}/lib/udev/rules.d/*.rules $out/
-      cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/
+      ${config.boot.initrd.extraUdevRulesCommands}
 
       for i in $out/*.rules; do
           substituteInPlace $i \
@@ -137,7 +154,8 @@ let
             --replace ${pkgs.utillinux}/sbin/blkid ${extraUtils}/bin/blkid \
             --replace /sbin/blkid ${extraUtils}/bin/blkid \
             --replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \
-            --replace /sbin/mdadm ${extraUtils}/bin/mdadm
+            --replace /sbin/mdadm ${extraUtils}/bin/mdadm \
+            --replace /bin/sh ${extraUtils}/bin/sh
       done
 
       # Work around a bug in QEMU, which doesn't implement the "READ
@@ -181,16 +199,28 @@ let
     inherit (config.boot.initrd) checkJournalingFS
       preLVMCommands postDeviceCommands postMountCommands kernelModules;
 
+    resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
+                    (filter (sd: sd ? label || hasPrefix "/dev/" sd.device) config.swapDevices);
+
     fsInfo =
       let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType fs.options ];
       in pkgs.writeText "initrd-fsinfo" (concatStringsSep "\n" (concatMap f fileSystems));
+
+    setHostId = optionalString (config.networking.hostId != null) ''
+      hi="${config.networking.hostId}"
+      ${if pkgs.stdenv.isBigEndian then ''
+        echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > /etc/hostid
+      '' else ''
+        echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > /etc/hostid
+      ''}
+    '';
   };
 
 
   # The closure of the init script of boot stage 1 is what we put in
   # the initial RAM disk.
   initialRamdisk = pkgs.makeInitrd {
-    inherit (config.boot.initrd) compressor;
+    inherit (config.boot.initrd) compressor prepend;
 
     contents =
       [ { object = bootStage1;
@@ -220,13 +250,23 @@ in
   options = {
 
     boot.resumeDevice = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = "8:2";
+      type = types.str;
+      default = "";
+      example = "/dev/sda3";
+      description = ''
+        Device for manual resume attempt during boot. This should be used primarily
+        if you want to resume from file. If left empty, the swap partitions are used.
+        Specify here the device where the file resides.
+        You should also use <varname>boot.kernelParams</varname> to specify
+        <literal><replaceable>resume_offset</replaceable></literal>.
+      '';
+    };
+
+    boot.initrd.prepend = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
       description = ''
-        Device for manual resume attempt during boot, specified using
-        the device's major and minor number as
-        <literal><replaceable>major</replaceable>:<replaceable>minor</replaceable></literal>.
+        Other initrd files to prepend to the final initrd we are building.
       '';
     };
 
@@ -296,9 +336,20 @@ in
       '';
     };
 
+    boot.initrd.extraUdevRulesCommands = mkOption {
+      internal = true;
+      default = "";
+      type = types.lines;
+      description = ''
+        Shell commands to be executed in the builder of the
+        udev-rules derivation.  This can be used to add
+        additional udev rules in the initial ramdisk.
+      '';
+    };
+
     boot.initrd.compressor = mkOption {
       internal = true;
-      default = "gzip -9";
+      default = "gzip -9n";
       type = types.str;
       description = "The compressor to use on the initrd image.";
       example = "xz";
@@ -328,10 +379,17 @@ in
 
   config = mkIf (!config.boot.isContainer) {
 
-    assertions = singleton
+    assertions = [
       { assertion = any (fs: fs.mountPoint == "/") (attrValues config.fileSystems);
         message = "The ‘fileSystems’ option does not specify your root file system.";
-      };
+      }
+      { assertion = let inherit (config.boot) resumeDevice; in
+          resumeDevice == "" || builtins.substring 0 1 resumeDevice == "/";
+        message = "boot.resumeDevice has to be an absolute path."
+          + " Old \"x:y\" style is no longer supported.";
+      }
+    ];
+
 
     system.build.bootStage1 = bootStage1;
     system.build.initialRamdisk = initialRamdisk;
@@ -342,9 +400,6 @@ in
       (isYes "BLK_DEV_INITRD")
     ];
 
-    # Prevent systemd from waiting for the /dev/root symlink.
-    systemd.units."dev-root.device".text = "";
-
     boot.initrd.supportedFilesystems = map (fs: fs.fsType) fileSystems;
 
   };
diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh
index 6fff776f858..173453a17f7 100644
--- a/nixos/modules/system/boot/stage-2-init.sh
+++ b/nixos/modules/system/boot/stage-2-init.sh
@@ -50,8 +50,10 @@ echo "booting system configuration $systemConfig" > /dev/kmsg
 # Make /nix/store a read-only bind mount to enforce immutability of
 # the Nix store.  Note that we can't use "chown root:nixbld" here
 # because users/groups might not exist yet.
-chown 0:30000 /nix/store
-chmod 1775 /nix/store
+# Silence chown/chmod to fail gracefully on a readonly filesystem
+# like squashfs.
+chown -f 0:30000 /nix/store
+chmod -f 1775 /nix/store
 if [ -n "@readOnlyStore@" ]; then
     if ! readonly-mountpoint /nix/store; then
         mount --bind /nix/store /nix/store
@@ -91,6 +93,7 @@ mkdir -m 01777 -p /tmp
 mkdir -m 0755 -p /var /var/log /var/lib /var/db
 mkdir -m 0755 -p /nix/var
 mkdir -m 0700 -p /root
+chmod 0700 /root
 mkdir -m 0755 -p /bin # for the /bin/sh symlink
 mkdir -m 0755 -p /home
 mkdir -m 0755 -p /etc/nixos
@@ -141,8 +144,6 @@ fi
 # Use /etc/resolv.conf supplied by systemd-nspawn, if applicable.
 if [ -n "@useHostResolvConf@" -a -e /etc/resolv.conf ]; then
     cat /etc/resolv.conf | resolvconf -m 1000 -a host
-else
-    touch /etc/resolv.conf
 fi
 
 
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index a6183c47eb1..2f4786c7896 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -4,15 +4,184 @@ with lib;
 
 let
 
-  checkService = v:
-    let assertValueOneOf = name: values: attr:
-          let val = getAttr name attr;
-          in optional ( hasAttr name attr && !elem val values) "Systemd service field `${name}' cannot have value `${val}'.";
-        checkType = assertValueOneOf "Type" ["simple" "forking" "oneshot" "dbus" "notify" "idle"];
-        checkRestart = assertValueOneOf "Restart" ["no" "on-success" "on-failure" "on-abort" "always"];
-        errors = concatMap (c: c v) [checkType checkRestart];
-    in if errors == [] then true
-       else builtins.trace (concatStringsSep "\n" errors) false;
+  boolValues = [true false "yes" "no"];
+
+  assertValueOneOf = name: values: group: attr:
+    optional (attr ? ${name} && !elem attr.${name} values)
+      "Systemd ${group} field `${name}' cannot have value `${attr.${name}}'.";
+
+  assertHasField = name: group: attr:
+    optional (!(attr ? ${name}))
+      "Systemd ${group} field `${name}' must exist.";
+
+  assertOnlyFields = fields: group: attr:
+    let badFields = filter (name: ! elem name fields) (attrNames attr); in
+    optional (badFields != [ ])
+      "Systemd ${group} has extra fields [${concatStringsSep " " badFields}].";
+
+  assertRange = name: min: max: group: attr:
+    optional (attr ? ${name} && !(min <= attr.${name} && max >= attr.${name}))
+      "Systemd ${group} field `${name}' is outside the range [${toString min},${toString max}]";
+
+  digits = map toString (range 0 9);
+
+  isByteFormat = s:
+    let
+      l = reverseList (stringToCharacters s);
+      suffix = head l;
+      nums = tail l;
+    in elem suffix (["K" "M" "G" "T"] ++ digits)
+      && all (num: elem num digits) nums;
+
+  assertByteFormat = name: group: attr:
+    optional (attr ? ${name} && ! isByteFormat attr.${name})
+      "Systemd ${group} field `${name}' must be in byte format [0-9]+[KMGT].";
+
+  hexChars = stringToCharacters "0123456789abcdefABCDEF";
+
+  isMacAddress = s: stringLength s == 17
+    && flip all (splitString ":" s) (bytes:
+      all (byte: elem byte hexChars) (stringToCharacters bytes)
+    );
+
+  assertMacAddress = name: group: attr:
+    optional (attr ? ${name} && ! isMacAddress attr.${name})
+      "Systemd ${group} field `${name}' must be a valid mac address.";
+
+  checkUnitConfig = group: checks: v:
+    let errors = concatMap (c: c group v) checks; in
+    if errors == [] then true
+      else builtins.trace (concatStringsSep "\n" errors) false;
+
+  checkService = checkUnitConfig "Service" [
+    (assertValueOneOf "Type" [
+      "simple" "forking" "oneshot" "dbus" "notify" "idle"
+    ])
+    (assertValueOneOf "Restart" [
+      "no" "on-success" "on-failure" "on-abnormal" "on-abort" "always"
+    ])
+  ];
+
+  checkLink = checkUnitConfig "Link" [
+    (assertOnlyFields [
+      "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name"
+      "MTUBytes" "BitsPerSecond" "Duplex" "WakeOnLan"
+    ])
+    (assertValueOneOf "MACAddressPolicy" ["persistent" "random"])
+    (assertMacAddress "MACAddress")
+    (assertValueOneOf "NamePolicy" [
+      "kernel" "database" "onboard" "slot" "path" "mac"
+    ])
+    (assertByteFormat "MTUBytes")
+    (assertByteFormat "BitsPerSecond")
+    (assertValueOneOf "Duplex" ["half" "full"])
+    (assertValueOneOf "WakeOnLan" ["phy" "magic" "off"])
+  ];
+
+  checkNetdev = checkUnitConfig "Netdev" [
+    (assertOnlyFields [
+      "Description" "Name" "Kind" "MTUBytes" "MACAddress"
+    ])
+    (assertHasField "Name")
+    (assertHasField "Kind")
+    (assertValueOneOf "Kind" [
+      "bridge" "bond" "vlan" "macvlan" "vxlan" "ipip"
+      "gre" "sit" "vti" "veth" "tun" "tap" "dummy"
+    ])
+    (assertByteFormat "MTUBytes")
+    (assertMacAddress "MACAddress")
+  ];
+
+  checkVlan = checkUnitConfig "VLAN" [
+    (assertOnlyFields ["Id"])
+    (assertRange "Id" 0 4094)
+  ];
+
+  checkMacvlan = checkUnitConfig "MACVLAN" [
+    (assertOnlyFields ["Mode"])
+    (assertValueOneOf "Mode" ["private" "vepa" "bridge" "passthru"])
+  ];
+
+  checkVxlan = checkUnitConfig "VXLAN" [
+    (assertOnlyFields ["Id" "Group" "TOS" "TTL" "MacLearning"])
+    (assertRange "TTL" 0 255)
+    (assertValueOneOf "MacLearning" boolValues)
+  ];
+
+  checkTunnel = checkUnitConfig "Tunnel" [
+    (assertOnlyFields ["Local" "Remote" "TOS" "TTL" "DiscoverPathMTU"])
+    (assertRange "TTL" 0 255)
+    (assertValueOneOf "DiscoverPathMTU" boolValues)
+  ];
+
+  checkPeer = checkUnitConfig "Peer" [
+    (assertOnlyFields ["Name" "MACAddress"])
+    (assertMacAddress "MACAddress")
+  ];
+
+  tunTapChecks = [
+    (assertOnlyFields ["OneQueue" "MultiQueue" "PacketInfo" "User" "Group"])
+    (assertValueOneOf "OneQueue" boolValues)
+    (assertValueOneOf "MultiQueue" boolValues)
+    (assertValueOneOf "PacketInfo" boolValues)
+  ];
+
+  checkTun = checkUnitConfig "Tun" tunTapChecks;
+
+  checkTap = checkUnitConfig "Tap" tunTapChecks;
+
+  checkBond = checkUnitConfig "Bond" [
+    (assertOnlyFields [
+      "Mode" "TransmitHashPolicy" "LACPTransmitRate" "MIIMonitorSec"
+      "UpDelaySec" "DownDelaySec"
+    ])
+    (assertValueOneOf "Mode" [
+      "balance-rr" "active-backup" "balance-xor"
+      "broadcast" "802.3ad" "balance-tlb" "balance-alb"
+    ])
+    (assertValueOneOf "TransmitHashPolicy" [
+      "layer2" "layer3+4" "layer2+3" "encap2+3" "802.3ad" "encap3+4"
+    ])
+    (assertValueOneOf "LACPTransmitRate" ["slow" "fast"])
+  ];
+
+  checkNetwork = checkUnitConfig "Network" [
+    (assertOnlyFields [
+      "Description" "DHCP" "DHCPServer" "IPv4LL" "IPv4LLRoute"
+      "LLMNR" "Domains" "Bridge" "Bond"
+    ])
+    (assertValueOneOf "DHCP" ["both" "none" "v4" "v6"])
+    (assertValueOneOf "DHCPServer" boolValues)
+    (assertValueOneOf "IPv4LL" boolValues)
+    (assertValueOneOf "IPv4LLRoute" boolValues)
+    (assertValueOneOf "LLMNR" boolValues)
+  ];
+
+  checkAddress = checkUnitConfig "Address" [
+    (assertOnlyFields ["Address" "Peer" "Broadcast" "Label"])
+    (assertHasField "Address")
+  ];
+
+  checkRoute = checkUnitConfig "Route" [
+    (assertOnlyFields ["Gateway" "Destination" "Metric"])
+    (assertHasField "Gateway")
+  ];
+
+  checkDhcp = checkUnitConfig "DHCP" [
+    (assertOnlyFields [
+      "UseDNS" "UseMTU" "SendHostname" "UseHostname" "UseDomains" "UseRoutes"
+      "CriticalConnections" "VendorClassIdentifier" "RequestBroadcast"
+      "RouteMetric"
+    ])
+    (assertValueOneOf "UseDNS" boolValues)
+    (assertValueOneOf "UseMTU" boolValues)
+    (assertValueOneOf "SendHostname" boolValues)
+    (assertValueOneOf "UseHostname" boolValues)
+    (assertValueOneOf "UseDomains" boolValues)
+    (assertValueOneOf "UseRoutes" boolValues)
+    (assertValueOneOf "CriticalConnections" boolValues)
+    (assertValueOneOf "RequestBroadcast" boolValues)
+  ];
 
   unitOption = mkOptionType {
     name = "systemd option";
@@ -140,6 +309,15 @@ in rec {
       '';
     };
 
+    requisite = mkOption {
+      default = [];
+      type = types.listOf types.str;
+      description = ''
+        Similar to requires. However if the units listed are not started,
+        they will not be started and the transaction will fail.
+      '';
+    };
+
     unitConfig = mkOption {
       default = {};
       example = { RequiresMountsFor = "/data"; };
@@ -230,6 +408,15 @@ in rec {
       '';
     };
 
+    reload = mkOption {
+      type = types.lines;
+      default = "";
+      description = ''
+        Shell commands executed when the service's main process
+        is reloaded.
+      '';
+    };
+
     preStop = mkOption {
       type = types.lines;
       default = "";
@@ -432,4 +619,345 @@ in rec {
 
   targetOptions = commonUnitOptions;
 
+  commonNetworkOptions = {
+
+    enable = mkOption {
+      default = true;
+      type = types.bool;
+      description = ''
+        If set to false, this unit will be a symlink to
+        /dev/null.
+      '';
+    };
+
+    matchConfig = mkOption {
+      default = {};
+      example = { Name = "eth0"; };
+      type = types.attrsOf unitOption;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Match]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        for details.
+      '';
+    };
+
+  };
+
+  linkOptions = commonNetworkOptions // {
+
+    linkConfig = mkOption {
+      default = {};
+      example = { MACAddress = "00:ff:ee:aa:cc:dd"; };
+      type = types.addCheck (types.attrsOf unitOption) checkLink;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Link]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.link</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+  };
+
+  netdevOptions = commonNetworkOptions // {
+
+    netdevConfig = mkOption {
+      default = {};
+      example = { Name = "mybridge"; Kind = "bridge"; };
+      type = types.addCheck (types.attrsOf unitOption) checkNetdev;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Netdev]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    vlanConfig = mkOption {
+      default = {};
+      example = { Id = "4"; };
+      type = types.addCheck (types.attrsOf unitOption) checkVlan;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[VLAN]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    macvlanConfig = mkOption {
+      default = {};
+      example = { Mode = "private"; };
+      type = types.addCheck (types.attrsOf unitOption) checkMacvlan;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[MACVLAN]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    vxlanConfig = mkOption {
+      default = {};
+      example = { Id = "4"; };
+      type = types.addCheck (types.attrsOf unitOption) checkVxlan;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[VXLAN]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    tunnelConfig = mkOption {
+      default = {};
+      example = { Remote = "192.168.1.1"; };
+      type = types.addCheck (types.attrsOf unitOption) checkTunnel;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Tunnel]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    peerConfig = mkOption {
+      default = {};
+      example = { Name = "veth2"; };
+      type = types.addCheck (types.attrsOf unitOption) checkPeer;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Peer]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    tunConfig = mkOption {
+      default = {};
+      example = { User = "openvpn"; };
+      type = types.addCheck (types.attrsOf unitOption) checkTun;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Tun]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    tapConfig = mkOption {
+      default = {};
+      example = { User = "openvpn"; };
+      type = types.addCheck (types.attrsOf unitOption) checkTap;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Tap]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    bondConfig = mkOption {
+      default = {};
+      example = { Mode = "802.3ad"; };
+      type = types.addCheck (types.attrsOf unitOption) checkBond;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Bond]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.netdev</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+  };
+
+  addressOptions = {
+
+    addressConfig = mkOption {
+      default = {};
+      example = { Address = "192.168.0.100/24"; };
+      type = types.addCheck (types.attrsOf unitOption) checkAddress;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Address]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+  };
+
+  routeOptions = {
+
+    routeConfig = mkOption {
+      default = {};
+      example = { Gateway = "192.168.0.1"; };
+      type = types.addCheck (types.attrsOf unitOption) checkRoute;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Route]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+  };
+
+  networkOptions = commonNetworkOptions // {
+
+    networkConfig = mkOption {
+      default = {};
+      example = { Description = "My Network"; };
+      type = types.addCheck (types.attrsOf unitOption) checkNetwork;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Network]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    dhcpConfig = mkOption {
+      default = {};
+      example = { UseDNS = true; UseRoutes = true; };
+      type = types.addCheck (types.attrsOf unitOption) checkDhcp;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[DHCP]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    name = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        The name of the network interface to match against.
+      '';
+    };
+
+    DHCP = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        Whether to enable DHCP on the interfaces matched.
+      '';
+    };
+
+    domains = mkOption {
+      type = types.nullOr (types.listOf types.str);
+      default = null;
+      description = ''
+        A list of domains to pass to the network config.
+      '';
+    };
+
+    address = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of addresses to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    gateway = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of gateways to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    dns = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of dns servers to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    ntp = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of ntp servers to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    vlan = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of vlan interfaces to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    macvlan = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of macvlan interfaces to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    vxlan = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of vxlan interfaces to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    tunnel = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      description = ''
+        A list of tunnel interfaces to be added to the network section of the
+        unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    addresses = mkOption {
+      default = [ ];
+      type = types.listOf types.optionSet;
+      options = [ addressOptions ];
+      description = ''
+        A list of address sections to be added to the unit.  See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    routes = mkOption {
+      default = [ ];
+      type = types.listOf types.optionSet;
+      options = [ routeOptions ];
+      description = ''
+        A list of route sections to be added to the unit.  See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+  };
+
 }
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index e353e9246b0..29c449d4d0b 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -1,7 +1,7 @@
 { config, lib, pkgs, utils, ... }:
 
-with lib;
 with utils;
+with lib;
 with import ./systemd-unit-options.nix { inherit config lib; };
 
 let
@@ -10,15 +10,19 @@ let
 
   systemd = cfg.package;
 
+
   makeUnit = name: unit:
+    let
+      pathSafeName = lib.replaceChars ["@" ":" "\\"] ["-" "-" "-"] name;
+    in
     if unit.enable then
-      pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; }
+      pkgs.runCommand "unit-${pathSafeName}" { preferLocalBuild = true; inherit (unit) text; }
         ''
           mkdir -p $out
           echo -n "$text" > $out/${shellEscape name}
         ''
     else
-      pkgs.runCommand "unit" { preferLocalBuild = true; }
+      pkgs.runCommand "unit-${pathSafeName}-disabled" { preferLocalBuild = true; }
         ''
           mkdir -p $out
           ln -s /dev/null $out/${shellEscape name}
@@ -32,6 +36,7 @@ let
       "graphical.target"
       "multi-user.target"
       "network.target"
+      "network-pre.target"
       "network-online.target"
       "nss-lookup.target"
       "nss-user-lookup.target"
@@ -81,6 +86,7 @@ let
       "systemd-journal-flush.service"
       "systemd-journal-gatewayd.socket"
       "systemd-journal-gatewayd.service"
+      "systemd-journald-dev-log.socket"
       "syslog.socket"
 
       # SysV init compatibility.
@@ -91,6 +97,12 @@ let
       "systemd-modules-load.service"
       "kmod-static-nodes.service"
 
+      # Networking
+      "systemd-networkd.service"
+      "systemd-networkd-wait-online.service"
+      "systemd-resolved.service"
+      "systemd-timesyncd.service"
+
       # Filesystems.
       "systemd-fsck@.service"
       "systemd-fsck-root.service"
@@ -207,6 +219,8 @@ let
           { PartOf = toString config.partOf; }
         // optionalAttrs (config.conflicts != [])
           { Conflicts = toString config.conflicts; }
+        // optionalAttrs (config.requisite != [])
+          { Requisite = toString config.requisite; }
         // optionalAttrs (config.restartTriggers != [])
           { X-Restart-Triggers = toString config.restartTriggers; }
         // optionalAttrs (config.description != "") {
@@ -245,6 +259,12 @@ let
               ${config.postStart}
             '';
           })
+        (mkIf (config.reload != "")
+          { serviceConfig.ExecReload = makeJobScript "${name}-reload" ''
+              #! ${pkgs.stdenv.shell} -e
+              ${config.reload}
+            '';
+          })
         (mkIf (config.preStop != "")
           { serviceConfig.ExecStop = makeJobScript "${name}-pre-stop" ''
               #! ${pkgs.stdenv.shell} -e
@@ -281,6 +301,19 @@ let
     };
   };
 
+  networkConfig = { name, config, ... }: {
+    config = {
+      matchConfig = optionalAttrs (config.name != null) {
+        Name = config.name;
+      };
+      networkConfig = optionalAttrs (config.DHCP != null) {
+        DHCP = config.DHCP;
+      } // optionalAttrs (config.domains != null) {
+        Domains = concatStringsSep " " config.domains;
+      };
+    };
+  };
+
   toOption = x:
     if x == true then "true"
     else if x == false then "false"
@@ -315,7 +348,8 @@ let
           [Service]
           ${let env = cfg.globalEnvironment // def.environment;
             in concatMapStrings (n:
-              let s = "Environment=\"${n}=${getAttr n env}\"\n";
+              let s = optionalString (env."${n}" != null)
+                "Environment=\"${n}=${env.${n}}\"\n";
               in if stringLength s >= 2048 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)}
           ${if def.reloadIfChanged then ''
             X-ReloadIfChanged=true
@@ -373,6 +407,103 @@ let
         '';
     };
 
+  commonMatchText = def: ''
+      [Match]
+      ${attrsToSection def.matchConfig}
+    '';
+
+  linkToUnit = name: def:
+    { inherit (def) enable;
+      text = commonMatchText def +
+        ''
+          [Link]
+          ${attrsToSection def.linkConfig}
+        '';
+    };
+
+  netdevToUnit = name: def:
+    { inherit (def) enable;
+      text = commonMatchText def +
+        ''
+          [NetDev]
+          ${attrsToSection def.netdevConfig}
+
+          ${optionalString (def.vlanConfig != { }) ''
+            [VLAN]
+            ${attrsToSection def.vlanConfig}
+
+          ''}
+          ${optionalString (def.macvlanConfig != { }) ''
+            [MACVLAN]
+            ${attrsToSection def.macvlanConfig}
+
+          ''}
+          ${optionalString (def.vxlanConfig != { }) ''
+            [VXLAN]
+            ${attrsToSection def.vxlanConfig}
+
+          ''}
+          ${optionalString (def.tunnelConfig != { }) ''
+            [Tunnel]
+            ${attrsToSection def.tunnelConfig}
+
+          ''}
+          ${optionalString (def.peerConfig != { }) ''
+            [Peer]
+            ${attrsToSection def.peerConfig}
+
+          ''}
+          ${optionalString (def.tunConfig != { }) ''
+            [Tun]
+            ${attrsToSection def.tunConfig}
+
+          ''}
+          ${optionalString (def.tapConfig != { }) ''
+            [Tap]
+            ${attrsToSection def.tapConfig}
+
+          ''}
+          ${optionalString (def.bondConfig != { }) ''
+            [Bond]
+            ${attrsToSection def.bondConfig}
+
+          ''}
+        '';
+    };
+
+  networkToUnit = name: def:
+    { inherit (def) enable;
+      text = commonMatchText def +
+        ''
+          [Network]
+          ${attrsToSection def.networkConfig}
+          ${concatStringsSep "\n" (map (s: "Address=${s}") def.address)}
+          ${concatStringsSep "\n" (map (s: "Gateway=${s}") def.gateway)}
+          ${concatStringsSep "\n" (map (s: "DNS=${s}") def.dns)}
+          ${concatStringsSep "\n" (map (s: "NTP=${s}") def.ntp)}
+          ${concatStringsSep "\n" (map (s: "VLAN=${s}") def.vlan)}
+          ${concatStringsSep "\n" (map (s: "MACVLAN=${s}") def.macvlan)}
+          ${concatStringsSep "\n" (map (s: "VXLAN=${s}") def.vxlan)}
+          ${concatStringsSep "\n" (map (s: "Tunnel=${s}") def.tunnel)}
+
+          ${optionalString (def.dhcpConfig != { }) ''
+            [DHCP]
+            ${attrsToSection def.dhcpConfig}
+
+          ''}
+          ${flip concatMapStrings def.addresses (x: ''
+            [Address]
+            ${attrsToSection x.addressConfig}
+
+          '')}
+          ${flip concatMapStrings def.routes (x: ''
+            [Route]
+            ${attrsToSection x.routeConfig}
+
+          '')}
+        '';
+    };
+
   generateUnits = type: units: upstreamUnits: upstreamWants:
     pkgs.runCommand "${type}-units" { preferLocalBuild = true; } ''
       mkdir -p $out
@@ -457,8 +588,9 @@ let
         mkdir -p $out/getty.target.wants/
         ln -s ../autovt@tty1.service $out/getty.target.wants/
 
-        ln -s ../local-fs.target ../remote-fs.target ../network.target ../nss-lookup.target \
-              ../nss-user-lookup.target ../swap.target $out/multi-user.target.wants/
+        ln -s ../local-fs.target ../remote-fs.target ../network.target \
+        ../nss-lookup.target ../nss-user-lookup.target ../swap.target \
+        $out/multi-user.target.wants/
       ''}
     ''; # */
 
@@ -551,6 +683,47 @@ in
       '';
     };
 
+    systemd.network.enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Whether to enable networkd or not.
+      '';
+    };
+
+    systemd.network.links = mkOption {
+      default = {};
+      type = types.attrsOf types.optionSet;
+      options = [ linkOptions ];
+      description = "Definition of systemd network links.";
+    };
+
+    systemd.network.netdevs = mkOption {
+      default = {};
+      type = types.attrsOf types.optionSet;
+      options = [ netdevOptions ];
+      description = "Definition of systemd network devices.";
+    };
+
+    systemd.network.networks = mkOption {
+      default = {};
+      type = types.attrsOf types.optionSet;
+      options = [ networkOptions networkConfig ];
+      description = "Definition of systemd networks.";
+    };
+
+    systemd.network.units = mkOption {
+      description = "Definition of networkd units.";
+      default = {};
+      type = types.attrsOf types.optionSet;
+      options = { name, config, ... }:
+        { options = concreteUnitOptions;
+          config = {
+            unit = mkDefault (makeUnit name config);
+          };
+        };
+    };
+
     systemd.defaultUnit = mkOption {
       default = "multi-user.target";
       type = types.str;
@@ -634,6 +807,22 @@ in
       '';
     };
 
+    services.resolved.enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Enables the systemd dns resolver daemon.
+      '';
+    };
+
+    services.timesyncd.enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Enables the systemd ntp client daemon.
+      '';
+    };
+
     systemd.tmpfiles.rules = mkOption {
       type = types.listOf types.str;
       default = [];
@@ -669,6 +858,13 @@ in
       description = "Definition of systemd per-user service units.";
     };
 
+    systemd.user.timers = mkOption {
+      default = {};
+      type = types.attrsOf types.optionSet;
+      options = [ timerOptions unitConfig ];
+      description = "Definition of systemd per-user timer units.";
+    };
+
     systemd.user.sockets = mkOption {
       default = {};
       type = types.attrsOf types.optionSet;
@@ -690,7 +886,7 @@ in
 
   ###### implementation
 
-  config = {
+  config = mkMerge [ {
 
     warnings = concatLists (mapAttrsToList (name: service:
       optional (service.serviceConfig.Type or "" == "oneshot" && service.serviceConfig.Restart or "no" != "no")
@@ -703,6 +899,9 @@ in
     environment.etc."systemd/system".source =
       generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants;
 
+    environment.etc."systemd/network".source =
+      generateUnits "network" cfg.network.units [] [];
+
     environment.etc."systemd/user".source =
       generateUnits "user" cfg.user.units upstreamUserUnits [];
 
@@ -755,6 +954,18 @@ in
         unitConfig.X-StopOnReconfiguration = true;
       };
 
+    systemd.targets.network-online.after = [ "ip-up.target" ];
+
+    systemd.targets.network-pre = {
+      wantedBy = [ "network.target" ];
+      before = [ "network.target" ];
+    };
+
+    systemd.targets.remote-fs-pre = {
+      wantedBy = [ "remote-fs.target" ];
+      before = [ "remote-fs.target" ];
+    };
+
     systemd.units =
       mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets
       // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
@@ -768,9 +979,15 @@ in
                    (v: let n = escapeSystemdPath v.where;
                        in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
 
+    systemd.network.units =
+      mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.network.links
+      // mapAttrs' (n: v: nameValuePair "${n}.netdev" (netdevToUnit n v)) cfg.network.netdevs
+      // mapAttrs' (n: v: nameValuePair "${n}.network" (networkToUnit n v)) cfg.network.networks;
+
     systemd.user.units =
-      mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services
-      // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.user.sockets;
+         mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services
+      // mapAttrs' (n: v: nameValuePair "${n}.socket"  (socketToUnit  n v)) cfg.user.sockets
+      // mapAttrs' (n: v: nameValuePair "${n}.timer"   (timerToUnit   n v)) cfg.user.timers;
 
     system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled
       [ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"
@@ -789,6 +1006,15 @@ in
     users.extraUsers.systemd-journal-gateway.uid = config.ids.uids.systemd-journal-gateway;
     users.extraGroups.systemd-journal-gateway.gid = config.ids.gids.systemd-journal-gateway;
 
+    users.extraUsers.systemd-network.uid = config.ids.uids.systemd-network;
+    users.extraGroups.systemd-network.gid = config.ids.gids.systemd-network;
+
+    users.extraUsers.systemd-resolve.uid = config.ids.uids.systemd-resolve;
+    users.extraGroups.systemd-resolve.gid = config.ids.gids.systemd-resolve;
+
+    users.extraUsers.systemd-timesync.uid = config.ids.uids.systemd-timesync;
+    users.extraGroups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
+
     # Generate timer units for all services that have a ‘startAt’ value.
     systemd.timers =
       mapAttrs (name: service:
@@ -814,6 +1040,11 @@ in
       ''
         # This file is created automatically and should not be modified.
         # Please change the option ‘systemd.tmpfiles.rules’ instead.
+
+        z /var/log/journal 2755 root systemd-journal - -
+        z /var/log/journal/%m 2755 root systemd-journal - -
+        z /var/log/journal/%m/* 0640 root systemd-journal - -
+
         ${concatStringsSep "\n" cfg.tmpfiles.rules}
       '';
 
@@ -822,5 +1053,57 @@ in
     systemd.services.systemd-remount-fs.restartIfChanged = false;
     systemd.services.systemd-journal-flush.restartIfChanged = false;
 
-  };
+  }
+  (mkIf config.systemd.network.enable {
+    systemd.services.systemd-networkd = {
+      wantedBy = [ "multi-user.target" ];
+      before = [ "network-interfaces.target" ];
+      restartTriggers = [ config.environment.etc."systemd/network".source ];
+    };
+
+    systemd.services.systemd-networkd-wait-online = {
+      before = [ "network-online.target" "ip-up.target" ];
+      wantedBy = [ "network-online.target" "ip-up.target" ];
+    };
+
+    systemd.services."systemd-network-wait-online@" = {
+      description = "Wait for Network Interface %I to be Configured";
+      conflicts = [ "shutdown.target" ];
+      requisite = [ "systemd-networkd.service" ];
+      after = [ "systemd-networkd.service" ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I";
+      };
+    };
+
+    services.resolved.enable = mkDefault true;
+    services.timesyncd.enable = mkDefault config.services.ntp.enable;
+  })
+  (mkIf config.services.resolved.enable {
+    systemd.services.systemd-resolved = {
+      wantedBy = [ "multi-user.target" ];
+      restartTriggers = [ config.environment.etc."systemd/resolved.conf".source ];
+    };
+
+    environment.etc."systemd/resolved.conf".text = ''
+      [Resolve]
+      DNS=${concatStringsSep " " config.networking.nameservers}
+    '';
+  })
+  (mkIf config.services.timesyncd.enable {
+    systemd.services.systemd-timesyncd = {
+      wantedBy = [ "sysinit.target" ];
+      restartTriggers = [ config.environment.etc."systemd/timesyncd.conf".source ];
+    };
+
+    environment.etc."systemd/timesyncd.conf".text = ''
+      [Time]
+      NTP=${concatStringsSep " " config.services.ntp.servers}
+    '';
+
+    systemd.services.ntpd.enable = false;
+  })
+  ];
 }
diff --git a/nixos/modules/system/etc/setup-etc.pl b/nixos/modules/system/etc/setup-etc.pl
index d7e15eccefc..89a49b972ff 100644
--- a/nixos/modules/system/etc/setup-etc.pl
+++ b/nixos/modules/system/etc/setup-etc.pl
@@ -12,8 +12,8 @@ sub atomicSymlink {
     my ($source, $target) = @_;
     my $tmp = "$target.tmp";
     unlink $tmp;
-    symlink $source, $tmp or return 1;
-    rename $tmp, $target or return 1;
+    symlink $source, $tmp or return 0;
+    rename $tmp, $target or return 0;
     return 1;
 }
 
diff --git a/nixos/modules/tasks/bcache.nix b/nixos/modules/tasks/bcache.nix
new file mode 100644
index 00000000000..f988ec02af7
--- /dev/null
+++ b/nixos/modules/tasks/bcache.nix
@@ -0,0 +1,11 @@
+{ config, pkgs, ... }:
+
+{
+
+  environment.systemPackages = [ pkgs.bcache-tools ];
+
+  boot.initrd.extraUdevRulesCommands = ''
+    cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/
+  ''; 
+
+}
diff --git a/nixos/modules/tasks/cpu-freq.nix b/nixos/modules/tasks/cpu-freq.nix
index a8c63c13428..70bbee8474e 100644
--- a/nixos/modules/tasks/cpu-freq.nix
+++ b/nixos/modules/tasks/cpu-freq.nix
@@ -30,9 +30,7 @@ in
 
   config = mkIf (!config.boot.isContainer && config.powerManagement.cpuFreqGovernor != null) {
 
-    boot.kernelModules = [ "acpi-cpufreq" "speedstep-lib" "pcc-cpufreq"
-      "cpufreq_${cfg.cpuFreqGovernor}"
-    ];
+    boot.kernelModules = [ "cpufreq_${cfg.cpuFreqGovernor}" ];
 
     environment.systemPackages = [ cpupower ];
 
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index 64a20034f3c..c6f2f072352 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -142,7 +142,10 @@ in
       ++ config.system.fsPackages;
 
     environment.etc.fstab.text =
-      ''
+      let
+        fsToSkipCheck = [ "none" "btrfs" "zfs" "tmpfs" "nfs" ];
+        skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
+      in ''
         # This is a generated file.  Do not edit!
 
         # Filesystems.
@@ -154,7 +157,7 @@ in
             + " " + fs.fsType
             + " " + fs.options
             + " 0"
-            + " " + (if fs.fsType == "none" || fs.device == "none" || fs.fsType == "btrfs" || fs.fsType == "tmpfs" || fs.noCheck then "0" else
+            + " " + (if skipCheck fs then "0" else
                      if fs.mountPoint == "/" then "1" else "2")
             + "\n"
         )}
diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix
index d0a2ac645e0..049f7708d73 100644
--- a/nixos/modules/tasks/filesystems/btrfs.nix
+++ b/nixos/modules/tasks/filesystems/btrfs.nix
@@ -17,13 +17,9 @@ in
 
     boot.initrd.extraUtilsCommands = mkIf inInitrd
       ''
-        mkdir -p $out/bin
-        cp -v ${pkgs.btrfsProgs}/bin/btrfs $out/bin
+        copy_bin_and_libs ${pkgs.btrfsProgs}/bin/btrfs
         ln -sv btrfs $out/bin/btrfsck
         ln -sv btrfsck $out/bin/fsck.btrfs
-        # !!! Increases uncompressed initrd by 240k
-        cp -pv ${pkgs.zlib}/lib/libz.so* $out/lib
-        cp -pv ${pkgs.lzo}/lib/liblzo2.so* $out/lib
       '';
 
     boot.initrd.extraUtilsCommandsTest = mkIf inInitrd
diff --git a/nixos/modules/tasks/filesystems/cifs.nix b/nixos/modules/tasks/filesystems/cifs.nix
index c60f175db84..3932b5c9acf 100644
--- a/nixos/modules/tasks/filesystems/cifs.nix
+++ b/nixos/modules/tasks/filesystems/cifs.nix
@@ -18,7 +18,7 @@ in
 
     boot.initrd.extraUtilsCommands = mkIf inInitrd
       ''
-        cp -v ${pkgs.cifs_utils}/sbin/mount.cifs $out/bin
+        copy_bin_and_libs ${pkgs.cifs_utils}/sbin/mount.cifs
       '';
 
   };
diff --git a/nixos/modules/tasks/filesystems/ext.nix b/nixos/modules/tasks/filesystems/ext.nix
index 24592e9d588..cc9d0ef37d5 100644
--- a/nixos/modules/tasks/filesystems/ext.nix
+++ b/nixos/modules/tasks/filesystems/ext.nix
@@ -10,12 +10,11 @@
     boot.initrd.extraUtilsCommands =
       ''
         # Copy e2fsck and friends.
-        cp -v ${pkgs.e2fsprogs}/sbin/e2fsck $out/bin
-        cp -v ${pkgs.e2fsprogs}/sbin/tune2fs $out/bin
+        copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/e2fsck
+        copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/tune2fs
         ln -sv e2fsck $out/bin/fsck.ext2
         ln -sv e2fsck $out/bin/fsck.ext3
         ln -sv e2fsck $out/bin/fsck.ext4
-        cp -pdv ${pkgs.e2fsprogs}/lib/lib*.so.* $out/lib
       '';
 
   };
diff --git a/nixos/modules/tasks/filesystems/f2fs.nix b/nixos/modules/tasks/filesystems/f2fs.nix
index 1ed7b1b6a62..430ac630a88 100644
--- a/nixos/modules/tasks/filesystems/f2fs.nix
+++ b/nixos/modules/tasks/filesystems/f2fs.nix
@@ -13,9 +13,7 @@ in
     boot.initrd.availableKernelModules = mkIf inInitrd [ "f2fs" ];
 
     boot.initrd.extraUtilsCommands = mkIf inInitrd ''
-      mkdir -p $out/bin $out/lib
-      cp -v   ${pkgs.f2fs-tools}/sbin/fsck.f2fs $out/bin
-      cp -pdv ${pkgs.f2fs-tools}/lib/lib*.so.* $out/lib
+      copy_bin_and_libs ${pkgs.f2fs-tools}/sbin/fsck.f2fs
     '';
   };
 }
diff --git a/nixos/modules/tasks/filesystems/jfs.nix b/nixos/modules/tasks/filesystems/jfs.nix
new file mode 100644
index 00000000000..fc3905c7dc2
--- /dev/null
+++ b/nixos/modules/tasks/filesystems/jfs.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  inInitrd = any (fs: fs == "jfs") config.boot.initrd.supportedFilesystems;
+in
+{
+  config = mkIf (any (fs: fs == "jfs") config.boot.supportedFilesystems) {
+
+    system.fsPackages = [ pkgs.jfsutils ];
+
+    boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ];
+
+    boot.initrd.extraUtilsCommands = mkIf inInitrd ''
+      copy_bin_and_libs ${pkgs.jfsutils}/sbin/fsck.jfs
+    '';
+  };
+}
diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix
index e8c3d8ab56d..79de6556f25 100644
--- a/nixos/modules/tasks/filesystems/nfs.nix
+++ b/nixos/modules/tasks/filesystems/nfs.nix
@@ -13,7 +13,7 @@ let
   idmapdConfFile = pkgs.writeText "idmapd.conf" ''
     [General]
     Pipefs-Directory = ${rpcMountpoint}
-    ${optionalString (config.networking.domain != "")
+    ${optionalString (config.networking.domain != null)
       "Domain = ${config.networking.domain}"}
 
     [Mapping]
@@ -24,9 +24,33 @@ let
     Method = nsswitch
   '';
 
+  cfg = config.services.nfs;
+
 in
 
 {
+  ###### interface
+
+  options = {
+
+    services.nfs = {
+      statdPort = mkOption {
+        default = null;
+        example = 4000;
+        description = ''
+          Use fixed port for rpc.statd, useful if NFS server is behind firewall.
+        '';
+      };
+      lockdPort = mkOption {
+        default = null;
+        example = 4001;
+        description = ''
+          Use fixed port for NFS lock manager kernel module (lockd/nlockmgr),
+          useful if NFS server is behind firewall.
+        '';
+      };
+    };
+  };
 
   ###### implementation
 
@@ -34,7 +58,11 @@ in
 
     services.rpcbind.enable = true;
 
-    system.fsPackages = [ pkgs.nfsUtils ];
+    system.fsPackages = [ pkgs.nfs-utils ];
+
+    boot.extraModprobeConfig = mkIf (cfg.lockdPort != null) ''
+      options lockd nlm_udpport=${toString cfg.lockdPort} nlm_tcpport=${toString cfg.lockdPort}
+    '';
 
     boot.kernelModules = [ "sunrpc" ];
 
@@ -43,12 +71,12 @@ in
     systemd.services.statd =
       { description = "NFSv3 Network Status Monitor";
 
-        path = [ pkgs.nfsUtils pkgs.sysvtools pkgs.utillinux ];
+        path = [ pkgs.nfs-utils pkgs.sysvtools pkgs.utillinux ];
 
-        wantedBy = [ "network-online.target" "multi-user.target" ];
-        before = [ "network-online.target" ];
+        wantedBy = [ "remote-fs-pre.target" ];
+        before = [ "remote-fs-pre.target" ];
         requires = [ "basic.target" "rpcbind.service" ];
-        after = [ "basic.target" "rpcbind.service" "network.target" ];
+        after = [ "basic.target" "rpcbind.service" ];
 
         unitConfig.DefaultDependencies = false; # don't stop during shutdown
 
@@ -60,7 +88,10 @@ in
           '';
 
         serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = "@${pkgs.nfsUtils}/sbin/rpc.statd rpc.statd --no-notify";
+        serviceConfig.ExecStart = ''
+          @${pkgs.nfs-utils}/sbin/rpc.statd rpc.statd --no-notify \
+              ${if cfg.statdPort != null then "-p ${toString statdPort}" else ""}
+        '';
         serviceConfig.Restart = "always";
       };
 
@@ -69,8 +100,8 @@ in
 
         path = [ pkgs.sysvtools pkgs.utillinux ];
 
-        wantedBy = [ "network-online.target" "multi-user.target" ];
-        before = [ "network-online.target" ];
+        wantedBy = [ "remote-fs-pre.target" ];
+        before = [ "remote-fs-pre.target" ];
         requires = [ "rpcbind.service" ];
         after = [ "rpcbind.service" ];
 
@@ -86,7 +117,7 @@ in
           '';
 
         serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = "@${pkgs.nfsUtils}/sbin/rpc.idmapd rpc.idmapd -c ${idmapdConfFile}";
+        serviceConfig.ExecStart = "@${pkgs.nfs-utils}/sbin/rpc.idmapd rpc.idmapd -c ${idmapdConfFile}";
         serviceConfig.Restart = "always";
       };
 
diff --git a/nixos/modules/tasks/filesystems/reiserfs.nix b/nixos/modules/tasks/filesystems/reiserfs.nix
index a3bfb3fed8e..ab4c43e2ab8 100644
--- a/nixos/modules/tasks/filesystems/reiserfs.nix
+++ b/nixos/modules/tasks/filesystems/reiserfs.nix
@@ -17,8 +17,8 @@ in
 
     boot.initrd.extraUtilsCommands = mkIf inInitrd
       ''
-        cp -v ${pkgs.reiserfsprogs}/sbin/reiserfsck $out/bin
-        ln -sv reiserfsck $out/bin/fsck.reiserfs
+        copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck
+        ln -s reiserfsck $out/bin/fsck.reiserfs
       '';
 
   };
diff --git a/nixos/modules/tasks/filesystems/unionfs-fuse.nix b/nixos/modules/tasks/filesystems/unionfs-fuse.nix
index fe195e0db0b..3e38bffa3ba 100644
--- a/nixos/modules/tasks/filesystems/unionfs-fuse.nix
+++ b/nixos/modules/tasks/filesystems/unionfs-fuse.nix
@@ -7,9 +7,8 @@
       boot.initrd.kernelModules = [ "fuse" ];
 
       boot.initrd.extraUtilsCommands = ''
-        cp -v ${pkgs.fuse}/lib/libfuse* $out/lib
-        cp -v ${pkgs.fuse}/sbin/mount.fuse $out/bin
-        cp -v ${pkgs.unionfs-fuse}/bin/unionfs $out/bin
+        copy_bin_and_libs ${pkgs.fuse}/sbin/mount.fuse
+        copy_bin_and_libs ${pkgs.unionfs-fuse}/bin/unionfs
         substitute ${pkgs.unionfs-fuse}/sbin/mount.unionfs-fuse $out/bin/mount.unionfs-fuse \
           --replace '${pkgs.bash}/bin/bash' /bin/sh \
           --replace '${pkgs.fuse}/sbin' /bin \
diff --git a/nixos/modules/tasks/filesystems/vfat.nix b/nixos/modules/tasks/filesystems/vfat.nix
index 4cfe6e208f7..958e27ae8a3 100644
--- a/nixos/modules/tasks/filesystems/vfat.nix
+++ b/nixos/modules/tasks/filesystems/vfat.nix
@@ -17,7 +17,7 @@ in
 
     boot.initrd.extraUtilsCommands = mkIf inInitrd
       ''
-        cp -v ${pkgs.dosfstools}/sbin/dosfsck $out/bin
+        copy_bin_and_libs ${pkgs.dosfstools}/sbin/dosfsck
         ln -sv dosfsck $out/bin/fsck.vfat
       '';
 
diff --git a/nixos/modules/tasks/filesystems/xfs.nix b/nixos/modules/tasks/filesystems/xfs.nix
index 5225b62a88c..d7c3930f4a3 100644
--- a/nixos/modules/tasks/filesystems/xfs.nix
+++ b/nixos/modules/tasks/filesystems/xfs.nix
@@ -17,7 +17,7 @@ in
 
     boot.initrd.extraUtilsCommands = mkIf inInitrd
       ''
-        cp -v ${pkgs.xfsprogs}/sbin/fsck.xfs $out/bin
+        copy_bin_and_libs ${pkgs.xfsprogs}/sbin/fsck.xfs
       '';
 
     # Trick just to set 'sh' after the extraUtils nuke-refs.
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 1c4bbc16b49..d4b10e9ed09 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -1,11 +1,10 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, utils, ... }:
 #
 # todo:
 #   - crontab for scrubs, etc
 #   - zfs tunables
-#   - /etc/zfs/zpool.cache handling
-
 
+with utils;
 with lib;
 
 let
@@ -22,15 +21,30 @@ let
 
   kernel = config.boot.kernelPackages;
 
-  splPkg = if cfgZfs.useGit then kernel.spl_git else kernel.spl;
-  zfsPkg = if cfgZfs.useGit then kernel.zfs_git else kernel.zfs;
+  splKernelPkg = if cfgZfs.useGit then kernel.spl_git else kernel.spl;
+  zfsKernelPkg = if cfgZfs.useGit then kernel.zfs_git else kernel.zfs;
+  zfsUserPkg = if cfgZfs.useGit then pkgs.zfs_git else pkgs.zfs;
 
   autosnapPkg = pkgs.zfstools.override {
-    zfs = zfsPkg;
+    zfs = zfsUserPkg;
   };
 
   zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot";
 
+  datasetToPool = x: elemAt (splitString "/" x) 0;
+
+  fsToPool = fs: datasetToPool fs.device;
+
+  zfsFilesystems = filter (x: x.fsType == "zfs") (attrValues config.fileSystems);
+
+  isRoot = fs: fs.neededForBoot || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ];
+
+  allPools = unique ((map fsToPool zfsFilesystems) ++ cfgZfs.extraPools);
+
+  rootPools = unique (map fsToPool (filter isRoot zfsFilesystems));
+
+  dataPools = unique (filter (pool: !(elem pool rootPools)) allPools);
+
 in
 
 {
@@ -38,28 +52,73 @@ in
   ###### interface
 
   options = {
-    boot.spl.hostid = mkOption {
-      default = "";
-      example = "0xdeadbeef";
-      description = ''
-        ZFS uses a system's hostid to determine if a storage pool (zpool) is
-        native to this system, and should thus be imported automatically.
-        Unfortunately, this hostid can change under linux from boot to boot (by
-        changing network adapters, for instance). Specify a unique 32 bit hostid in
-        hex here for zfs to prevent getting a random hostid between boots and having to
-        manually import pools.
-      '';
-    };
+    boot.zfs = {
+      useGit = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = ''
+          Use the git version of the SPL and ZFS packages.
+          Note that these are unreleased versions, with less testing, and therefore
+          may be more unstable.
+        '';
+      };
+
+      extraPools = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "tank" "data" ];
+        description = ''
+          Name or GUID of extra ZFS pools that you wish to import during boot.
+
+          Usually this is not necessary. Instead, you should set the mountpoint property
+          of ZFS filesystems to <literal>legacy</literal> and add the ZFS filesystems to
+          NixOS's <option>fileSystems</option> option, which makes NixOS automatically
+          import the associated pool.
+
+          However, in some cases (e.g. if you have many filesystems) it may be preferable
+          to exclusively use ZFS commands to manage filesystems. If so, since NixOS/systemd
+          will not be managing those filesystems, you will need to specify the ZFS pool here
+          so that NixOS automatically imports it on every boot.
+        '';
+      };
+
+      forceImportRoot = mkOption {
+        type = types.bool;
+        default = true;
+        example = false;
+        description = ''
+          Forcibly import the ZFS root pool(s) during early boot.
+
+          This is enabled by default for backwards compatibility purposes, but it is highly
+          recommended to disable this option, as it bypasses some of the safeguards ZFS uses
+          to protect your ZFS pools.
+
+          If you set this option to <literal>false</literal> and NixOS subsequently fails to
+          boot because it cannot import the root pool, you should boot with the
+          <literal>zfs_force=1</literal> option as a kernel parameter (e.g. by manually
+          editing the kernel params in grub during boot). You should only need to do this
+          once.
+        '';
+      };
 
-    boot.zfs.useGit = mkOption {
-      type = types.bool;
-      default = false;
-      example = true;
-      description = ''
-        Use the git version of the SPL and ZFS packages.
-        Note that these are unreleased versions, with less testing, and therefore
-        may be more unstable.
-      '';
+      forceImportAll = mkOption {
+        type = types.bool;
+        default = true;
+        example = false;
+        description = ''
+          Forcibly import all ZFS pool(s).
+
+          This is enabled by default for backwards compatibility purposes, but it is highly
+          recommended to disable this option, as it bypasses some of the safeguards ZFS uses
+          to protect your ZFS pools.
+
+          If you set this option to <literal>false</literal> and NixOS subsequently fails to
+          import your non-root ZFS pool(s), you should manually import each pool with
+          "zpool import -f &lt;pool-name&gt;", and then reboot. You should only need to do
+          this once.
+        '';
+      };
     };
 
     services.zfs.autoSnapshot = {
@@ -124,67 +183,113 @@ in
 
   config = mkMerge [
     (mkIf enableZfs {
+      assertions = [
+        {
+          assertion = config.networking.hostId != null;
+          message = "ZFS requires config.networking.hostId to be set";
+        }
+        {
+          assertion = !cfgZfs.forceImportAll || cfgZfs.forceImportRoot;
+          message = "If you enable boot.zfs.forceImportAll, you must also enable boot.zfs.forceImportRoot";
+        }
+      ];
+
       boot = {
         kernelModules = [ "spl" "zfs" ] ;
-        extraModulePackages = [ splPkg zfsPkg ];
-        extraModprobeConfig = mkIf (cfgSpl.hostid != "") ''
-          options spl spl_hostid=${cfgSpl.hostid}
-        '';
+        extraModulePackages = [ splKernelPkg zfsKernelPkg ];
       };
 
       boot.initrd = mkIf inInitrd {
         kernelModules = [ "spl" "zfs" ];
         extraUtilsCommands =
           ''
-            cp -v ${zfsPkg}/sbin/zfs $out/bin
-            cp -v ${zfsPkg}/sbin/zdb $out/bin
-            cp -v ${zfsPkg}/sbin/zpool $out/bin
-            cp -pdv ${zfsPkg}/lib/lib*.so* $out/lib
-            cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib
+            copy_bin_and_libs ${zfsUserPkg}/sbin/zfs
+            copy_bin_and_libs ${zfsUserPkg}/sbin/zdb
+            copy_bin_and_libs ${zfsUserPkg}/sbin/zpool
           '';
-        postDeviceCommands =
+        extraUtilsCommandsTest = mkIf inInitrd
           ''
-            zpool import -f -a
+            $out/bin/zfs --help >/dev/null 2>&1
+            $out/bin/zpool --help >/dev/null 2>&1
           '';
+        postDeviceCommands = concatStringsSep "\n" ([''
+            ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}"
+
+            for o in $(cat /proc/cmdline); do
+              case $o in
+                zfs_force|zfs_force=1)
+                  ZFS_FORCE="-f"
+                  ;;
+              esac
+            done
+            ''] ++ (map (pool: ''
+            echo "importing root ZFS pool \"${pool}\"..."
+            zpool import -N $ZFS_FORCE "${pool}"
+        '') rootPools));
       };
 
       boot.loader.grub = mkIf inInitrd {
         zfsSupport = true;
       };
 
-      systemd.services."zpool-import" = {
-        description = "Import zpools";
-        after = [ "systemd-udev-settle.service" ];
-        serviceConfig = {
-          Type = "oneshot";
-          RemainAfterExit = true;
-          ExecStart = "${zfsPkg}/sbin/zpool import -f -a";
-        };
-        restartIfChanged = false;
+      environment.etc."zfs/zed.d".source = "${zfsUserPkg}/etc/zfs/zed.d/*";
+
+      system.fsPackages = [ zfsUserPkg ];                  # XXX: needed? zfs doesn't have (need) a fsck
+      environment.systemPackages = [ zfsUserPkg ];
+      services.udev.packages = [ zfsUserPkg ];             # to hook zvol naming, etc.
+      systemd.packages = [ zfsUserPkg ];
+
+      systemd.services = let
+        getPoolFilesystems = pool:
+          filter (x: x.fsType == "zfs" && (fsToPool x) == pool) (attrValues config.fileSystems);
+
+        getPoolMounts = pool:
+          let
+            mountPoint = fs: escapeSystemdPath fs.mountPoint;
+          in
+            map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
+
+        createImportService = pool:
+          nameValuePair "zfs-import-${pool}" {
+            description = "Import ZFS pool \"${pool}\"";
+            requires = [ "systemd-udev-settle.service" ];
+            after = [ "systemd-udev-settle.service" "systemd-modules-load.service" ];
+            wantedBy = (getPoolMounts pool) ++ [ "local-fs.target" ];
+            before = (getPoolMounts pool) ++ [ "local-fs.target" ];
+            unitConfig = {
+              DefaultDependencies = "no";
+            };
+            serviceConfig = {
+              Type = "oneshot";
+              RemainAfterExit = true;
+            };
+            script = ''
+              zpool_cmd="${zfsUserPkg}/sbin/zpool"
+              ("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}"
+            '';
+          };
+      in listToAttrs (map createImportService dataPools) // {
+        "zfs-mount" = { after = [ "systemd-modules-load.service" ]; };
+        "zfs-share" = { after = [ "systemd-modules-load.service" ]; };
+        "zed" = { after = [ "systemd-modules-load.service" ]; };
       };
 
-      systemd.services."zfs-mount" = {
-        description = "Mount ZFS Volumes";
-        after = [ "zpool-import.service" ];
-        wantedBy = [ "local-fs.target" ];
-        serviceConfig = {
-          Type = "oneshot";
-          RemainAfterExit = true;
-          ExecStart = "${zfsPkg}/sbin/zfs mount -a";
-          ExecStop = "${zfsPkg}/sbin/zfs umount -a";
-        };
-        restartIfChanged = false;
-      };
+      systemd.targets."zfs-import" =
+        let
+          services = map (pool: "zfs-import-${pool}.service") dataPools;
+        in
+          {
+            requires = services;
+            after = services;
+          };
 
-      system.fsPackages = [ zfsPkg ];                  # XXX: needed? zfs doesn't have (need) a fsck
-      environment.systemPackages = [ zfsPkg ];
-      services.udev.packages = [ zfsPkg ];             # to hook zvol naming, etc.
+      systemd.targets."zfs".wantedBy = [ "multi-user.target" ];
     })
 
     (mkIf enableAutoSnapshots {
       systemd.services."zfs-snapshot-frequent" = {
         description = "ZFS auto-snapshotting every 15 mins";
-        after = [ "zpool-import.service" ];
+        after = [ "zfs-import.target" ];
         serviceConfig = {
           Type = "oneshot";
           ExecStart = "${zfsAutoSnap} frequent ${toString cfgSnapshots.frequent}";
@@ -195,7 +300,7 @@ in
 
       systemd.services."zfs-snapshot-hourly" = {
         description = "ZFS auto-snapshotting every hour";
-        after = [ "zpool-import.service" ];
+        after = [ "zfs-import.target" ];
         serviceConfig = {
           Type = "oneshot";
           ExecStart = "${zfsAutoSnap} hourly ${toString cfgSnapshots.hourly}";
@@ -206,7 +311,7 @@ in
 
       systemd.services."zfs-snapshot-daily" = {
         description = "ZFS auto-snapshotting every day";
-        after = [ "zpool-import.service" ];
+        after = [ "zfs-import.target" ];
         serviceConfig = {
           Type = "oneshot";
           ExecStart = "${zfsAutoSnap} daily ${toString cfgSnapshots.daily}";
@@ -217,7 +322,7 @@ in
 
       systemd.services."zfs-snapshot-weekly" = {
         description = "ZFS auto-snapshotting every week";
-        after = [ "zpool-import.service" ];
+        after = [ "zfs-import.target" ];
         serviceConfig = {
           Type = "oneshot";
           ExecStart = "${zfsAutoSnap} weekly ${toString cfgSnapshots.weekly}";
@@ -228,7 +333,7 @@ in
 
       systemd.services."zfs-snapshot-monthly" = {
         description = "ZFS auto-snapshotting every month";
-        after = [ "zpool-import.service" ];
+        after = [ "zfs-import.target" ];
         serviceConfig = {
           Type = "oneshot";
           ExecStart = "${zfsAutoSnap} monthly ${toString cfgSnapshots.monthly}";
diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix
index 03c42404e5d..8d26998021d 100644
--- a/nixos/modules/tasks/kbd.nix
+++ b/nixos/modules/tasks/kbd.nix
@@ -22,6 +22,7 @@ in
     # FIXME: still needed?
     boot.extraTTYs = mkOption {
       default = [];
+      type = types.listOf types.string;
       example = ["tty8" "tty9"];
       description = ''
         Tty (virtual console) devices, in addition to the consoles on
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
new file mode 100644
index 00000000000..fd545a723e7
--- /dev/null
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -0,0 +1,354 @@
+{ config, lib, pkgs, utils, ... }:
+
+with utils;
+with lib;
+
+let
+
+  cfg = config.networking;
+  interfaces = attrValues cfg.interfaces;
+  hasVirtuals = any (i: i.virtual) interfaces;
+
+  # We must escape interfaces due to the systemd interpretation
+  subsystemDevice = interface:
+    "sys-subsystem-net-devices-${escapeSystemdPath interface}.device";
+
+  interfaceIps = i:
+    i.ip4 ++ optionals cfg.enableIPv6 i.ip6
+    ++ optional (i.ipAddress != null) {
+      address = i.ipAddress;
+      prefixLength = i.prefixLength;
+    } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) {
+      address = i.ipv6Address;
+      prefixLength = i.ipv6PrefixLength;
+    };
+
+  destroyBond = i: ''
+    while true; do
+      UPDATED=1
+      SLAVES=$(ip link | grep 'master ${i}' | awk -F: '{print $2}')
+      for I in $SLAVES; do
+        UPDATED=0
+        ip link set "$I" nomaster
+      done
+      [ "$UPDATED" -eq "1" ] && break
+    done
+    ip link set "${i}" down 2>/dev/null || true
+    ip link del "${i}" 2>/dev/null || true
+  '';
+
+in
+
+{
+
+  config = mkIf (!cfg.useNetworkd) {
+
+    systemd.services =
+      let
+
+        networkLocalCommands = {
+          after = [ "network-setup.service" ];
+          bindsTo = [ "network-setup.service" ];
+        };
+
+        networkSetup =
+          { description = "Networking Setup";
+
+            after = [ "network-interfaces.target" "network-pre.target" ];
+            before = [ "network.target" ];
+            wantedBy = [ "network.target" ];
+
+            unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+
+            path = [ pkgs.iproute ];
+
+            serviceConfig.Type = "oneshot";
+            serviceConfig.RemainAfterExit = true;
+
+            script =
+              ''
+                # Set the static DNS configuration, if given.
+                ${pkgs.openresolv}/sbin/resolvconf -m 1 -a static <<EOF
+                ${optionalString (cfg.nameservers != [] && cfg.domain != null) ''
+                  domain ${cfg.domain}
+                ''}
+                ${optionalString (cfg.search != []) ("search " + concatStringsSep " " cfg.search)}
+                ${flip concatMapStrings cfg.nameservers (ns: ''
+                  nameserver ${ns}
+                '')}
+                EOF
+
+                # Set the default gateway.
+                ${optionalString (cfg.defaultGateway != null && cfg.defaultGateway != "") ''
+                  # FIXME: get rid of "|| true" (necessary to make it idempotent).
+                  ip route add default via "${cfg.defaultGateway}" ${
+                    optionalString (cfg.defaultGatewayWindowSize != null)
+                      "window ${cfg.defaultGatewayWindowSize}"} || true
+                ''}
+                ${optionalString (cfg.defaultGateway6 != null && cfg.defaultGateway6 != "") ''
+                  # FIXME: get rid of "|| true" (necessary to make it idempotent).
+                  ip -6 route add ::/0 via "${cfg.defaultGateway6}" ${
+                    optionalString (cfg.defaultGatewayWindowSize != null)
+                      "window ${cfg.defaultGatewayWindowSize}"} || true
+                ''}
+              '';
+          };
+
+        # For each interface <foo>, create a job ‘network-addresses-<foo>.service"
+        # that performs static address configuration.  It has a "wants"
+        # dependency on ‘<foo>.service’, which is supposed to create
+        # the interface and need not exist (i.e. for hardware
+        # interfaces).  It has a binds-to dependency on the actual
+        # network device, so it only gets started after the interface
+        # has appeared, and it's stopped when the interface
+        # disappears.
+        configureAddrs = i:
+          let
+            ips = interfaceIps i;
+          in
+          nameValuePair "network-addresses-${i.name}"
+          { description = "Addresss configuration of ${i.name}";
+            wantedBy = [ "network-interfaces.target" ];
+            before = [ "network-interfaces.target" ];
+            bindsTo = [ (subsystemDevice i.name) ];
+            after = [ (subsystemDevice i.name) "network-pre.target" ];
+            serviceConfig.Type = "oneshot";
+            serviceConfig.RemainAfterExit = true;
+            path = [ pkgs.iproute ];
+            script =
+              ''
+                echo "bringing up interface..."
+                ip link set "${i.name}" up
+
+                restart_network_interfaces=false
+              '' + flip concatMapStrings (ips) (ip:
+                let
+                  address = "${ip.address}/${toString ip.prefixLength}";
+                in
+                ''
+                  echo "checking ip ${address}..."
+                  if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then
+                    echo "added ip ${address}..."
+                    restart_network_setup=true
+                  elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then
+                    echo "failed to add ${address}"
+                    exit 1
+                  fi
+                '')
+              + optionalString (ips != [ ])
+                ''
+                  if [ "$restart_network_setup" = "true" ]; then
+                    # Ensure that the default gateway remains set.
+                    # (Flushing this interface may have removed it.)
+                    ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service
+                  fi
+                  ${config.systemd.package}/bin/systemctl start ip-up.target
+                '';
+            preStop =
+              ''
+                echo "releasing configured ip's..."
+              '' + flip concatMapStrings (ips) (ip:
+                let
+                  address = "${ip.address}/${toString ip.prefixLength}";
+                in
+                ''
+                  echo -n "Deleting ${address}..."
+                  ip addr del "${address}" dev "${i.name}" >/dev/null 2>&1 || echo -n " Failed"
+                  echo ""
+                '');
+          };
+
+        createTunDevice = i: nameValuePair "${i.name}-netdev"
+          { description = "Virtual Network Interface ${i.name}";
+            requires = [ "dev-net-tun.device" ];
+            after = [ "dev-net-tun.device" "network-pre.target" ];
+            wantedBy = [ "network.target" (subsystemDevice i.name) ];
+            before = [ "network-interfaces.target" (subsystemDevice i.name) ];
+            path = [ pkgs.iproute ];
+            serviceConfig = {
+              Type = "oneshot";
+              RemainAfterExit = true;
+            };
+            script = ''
+              ip tuntap add dev "${i.name}" \
+              ${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \
+              user "${i.virtualOwner}"
+            '';
+            postStop = ''
+              ip link del ${i.name}
+            '';
+          };
+
+        createBridgeDevice = n: v: nameValuePair "${n}-netdev"
+          (let
+            deps = map subsystemDevice v.interfaces;
+          in
+          { description = "Bridge Interface ${n}";
+            wantedBy = [ "network.target" (subsystemDevice n) ];
+            bindsTo = deps ++ optional v.rstp "mstpd.service";
+            partOf = optional v.rstp "mstpd.service";
+            after = [ "network-pre.target" "mstpd.service" ] ++ deps
+              ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces;
+            before = [ "network-interfaces.target" (subsystemDevice n) ];
+            serviceConfig.Type = "oneshot";
+            serviceConfig.RemainAfterExit = true;
+            path = [ pkgs.iproute ];
+            script = ''
+              # Remove Dead Interfaces
+              echo "Removing old bridge ${n}..."
+              ip link show "${n}" >/dev/null 2>&1 && ip link del "${n}"
+
+              echo "Adding bridge ${n}..."
+              ip link add name "${n}" type bridge
+
+              # Enslave child interfaces
+              ${flip concatMapStrings v.interfaces (i: ''
+                ip link set "${i}" master "${n}"
+                ip link set "${i}" up
+              '')}
+
+              # Enable stp on the interface
+              ${optionalString v.rstp ''
+                echo 2 >/sys/class/net/${n}/bridge/stp_state
+              ''}
+
+              ip link set "${n}" up
+            '';
+            postStop = ''
+              ip link set "${n}" down || true
+              ip link del "${n}" || true
+            '';
+          });
+
+        createBondDevice = n: v: nameValuePair "${n}-netdev"
+          (let
+            deps = map subsystemDevice v.interfaces;
+          in
+          { description = "Bond Interface ${n}";
+            wantedBy = [ "network.target" (subsystemDevice n) ];
+            bindsTo = deps;
+            after = [ "network-pre.target" ] ++ deps
+              ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces;
+            before = [ "network-interfaces.target" (subsystemDevice n) ];
+            serviceConfig.Type = "oneshot";
+            serviceConfig.RemainAfterExit = true;
+            path = [ pkgs.iproute pkgs.gawk ];
+            script = ''
+              echo "Destroying old bond ${n}..."
+              ${destroyBond n}
+
+              echo "Creating new bond ${n}..."
+              ip link add name "${n}" type bond \
+                ${optionalString (v.mode != null) "mode ${toString v.mode}"} \
+                ${optionalString (v.miimon != null) "miimon ${toString v.miimon}"} \
+                ${optionalString (v.xmit_hash_policy != null) "xmit_hash_policy ${toString v.xmit_hash_policy}"} \
+                ${optionalString (v.lacp_rate != null) "lacp_rate ${toString v.lacp_rate}"}
+
+              # !!! There must be a better way to wait for the interface
+              while [ ! -d "/sys/class/net/${n}" ]; do sleep 0.1; done;
+
+              # Bring up the bond and enslave the specified interfaces
+              ip link set "${n}" up
+              ${flip concatMapStrings v.interfaces (i: ''
+                ip link set "${i}" down
+                ip link set "${i}" master "${n}"
+              '')}
+            '';
+            postStop = destroyBond n;
+          });
+
+        createMacvlanDevice = n: v: nameValuePair "${n}-netdev"
+          (let
+            deps = [ (subsystemDevice v.interface) ];
+          in
+          { description = "Vlan Interface ${n}";
+            wantedBy = [ "network.target" (subsystemDevice n) ];
+            bindsTo = deps;
+            after = [ "network-pre.target" ] ++ deps;
+            before = [ "network-interfaces.target" (subsystemDevice n) ];
+            serviceConfig.Type = "oneshot";
+            serviceConfig.RemainAfterExit = true;
+            path = [ pkgs.iproute ];
+            script = ''
+              # Remove Dead Interfaces
+              ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
+              ip link add link "${v.interface}" name "${n}" type macvlan \
+                ${optionalString (v.mode != null) "mode ${v.mode}"}
+              ip link set "${n}" up
+            '';
+            postStop = ''
+              ip link delete "${n}"
+            '';
+          });
+
+        createSitDevice = n: v: nameValuePair "${n}-netdev"
+          (let
+            deps = optional (v.dev != null) (subsystemDevice v.dev);
+          in
+          { description = "6-to-4 Tunnel Interface ${n}";
+            wantedBy = [ "network.target" (subsystemDevice n) ];
+            bindsTo = deps;
+            after = [ "network-pre.target" ] ++ deps;
+            before = [ "network-interfaces.target" (subsystemDevice n) ];
+            serviceConfig.Type = "oneshot";
+            serviceConfig.RemainAfterExit = true;
+            path = [ pkgs.iproute ];
+            script = ''
+              # Remove Dead Interfaces
+              ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
+              ip link add name "${n}" type sit \
+                ${optionalString (v.remote != null) "remote \"${v.remote}\""} \
+                ${optionalString (v.local != null) "local \"${v.local}\""} \
+                ${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \
+                ${optionalString (v.dev != null) "dev \"${v.dev}\""}
+              ip link set "${n}" up
+            '';
+            postStop = ''
+              ip link delete "${n}"
+            '';
+          });
+
+        createVlanDevice = n: v: nameValuePair "${n}-netdev"
+          (let
+            deps = [ (subsystemDevice v.interface) ];
+          in
+          { description = "Vlan Interface ${n}";
+            wantedBy = [ "network.target" (subsystemDevice n) ];
+            bindsTo = deps;
+            after = [ "network-pre.target" ] ++ deps;
+            before = [ "network-interfaces.target" (subsystemDevice n) ];
+            serviceConfig.Type = "oneshot";
+            serviceConfig.RemainAfterExit = true;
+            path = [ pkgs.iproute ];
+            script = ''
+              # Remove Dead Interfaces
+              ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
+              ip link add link "${v.interface}" name "${n}" type vlan id "${toString v.id}"
+              ip link set "${n}" up
+            '';
+            postStop = ''
+              ip link delete "${n}"
+            '';
+          });
+
+      in listToAttrs (
+           map configureAddrs interfaces ++
+           map createTunDevice (filter (i: i.virtual) interfaces))
+         // mapAttrs' createBridgeDevice cfg.bridges
+         // mapAttrs' createBondDevice cfg.bonds
+         // mapAttrs' createMacvlanDevice cfg.macvlans
+         // mapAttrs' createSitDevice cfg.sits
+         // mapAttrs' createVlanDevice cfg.vlans
+         // {
+           "network-setup" = networkSetup;
+           "network-local-commands" = networkLocalCommands;
+         };
+
+    services.udev.extraRules =
+      ''
+        KERNEL=="tun", TAG+="systemd"
+      '';
+
+  };
+
+}
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
new file mode 100644
index 00000000000..8223c5a4941
--- /dev/null
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -0,0 +1,179 @@
+{ config, lib, pkgs, utils, ... }:
+
+with utils;
+with lib;
+
+let
+
+  cfg = config.networking;
+  interfaces = attrValues cfg.interfaces;
+
+  interfaceIps = i:
+    i.ip4 ++ optionals cfg.enableIPv6 i.ip6
+    ++ optional (i.ipAddress != null) {
+      address = i.ipAddress;
+      prefixLength = i.prefixLength;
+    } ++ optional (cfg.enableIPv6 && i.ipv6Address != null) {
+      address = i.ipv6Address;
+      prefixLength = i.ipv6PrefixLength;
+    };
+
+  dhcpStr = useDHCP: if useDHCP == true || useDHCP == null then "both" else "none";
+
+  slaves =
+    concatLists (map (bond: bond.interfaces) (attrValues cfg.bonds))
+    ++ concatLists (map (bridge: bridge.interfaces) (attrValues cfg.bridges))
+    ++ map (sit: sit.dev) (attrValues cfg.sits)
+    ++ map (vlan: vlan.interface) (attrValues cfg.vlans);
+
+in
+
+{
+
+  config = mkIf cfg.useNetworkd {
+
+    assertions = [ {
+      assertion = cfg.defaultGatewayWindowSize == null;
+      message = "networking.defaultGatewayWindowSize is not supported by networkd.";
+    } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
+      assertion = !rstp;
+      message = "networking.bridges.${n}.rstp is not supported by networkd.";
+    });
+
+    systemd.services.dhcpcd.enable = mkDefault false;
+
+    systemd.services.network-local-commands = {
+      after = [ "systemd-networkd.service" ];
+      bindsTo = [ "systemd-networkd.service" ];
+    };
+
+    systemd.network =
+      let
+        domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
+        genericNetwork = override: {
+          DHCP = override (dhcpStr cfg.useDHCP);
+        } // optionalAttrs (cfg.defaultGateway != null) {
+          gateway = override [ cfg.defaultGateway ];
+        } // optionalAttrs (cfg.defaultGateway6 != null) {
+          gateway = override [ cfg.defaultGateway6 ];
+        } // optionalAttrs (domains != [ ]) {
+          domains = override domains;
+        };
+      in mkMerge [ {
+        enable = true;
+        networks."99-main" = genericNetwork mkDefault;
+      }
+      (mkMerge (flip map interfaces (i: {
+        netdevs = mkIf i.virtual (
+          let
+            devType = if i.virtualType != null then i.virtualType
+              else (if hasPrefix "tun" i.name then "tun" else "tap");
+          in {
+            "40-${i.name}" = {
+              netdevConfig = {
+                Name = i.name;
+                Kind = devType;
+              };
+              "${devType}Config" = optionalAttrs (i.virtualOwner != null) {
+                User = i.virtualOwner;
+              };
+            };
+          });
+        networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
+          name = mkDefault i.name;
+          DHCP = mkForce (dhcpStr
+            (if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ]));
+          address = flip map (interfaceIps i)
+            (ip: "${ip.address}/${toString ip.prefixLength}");
+        } ];
+      })))
+      (mkMerge (flip mapAttrsToList cfg.bridges (name: bridge: {
+        netdevs."40-${name}" = {
+          netdevConfig = {
+            Name = name;
+            Kind = "bridge";
+          };
+        };
+        networks = listToAttrs (flip map bridge.interfaces (bi:
+          nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
+            DHCP = mkOverride 0 (dhcpStr false);
+            networkConfig.Bridge = name;
+          } ])));
+      })))
+      (mkMerge (flip mapAttrsToList cfg.bonds (name: bond: {
+        netdevs."40-${name}" = {
+          netdevConfig = {
+            Name = name;
+            Kind = "bond";
+          };
+          bondConfig =
+            (optionalAttrs (bond.lacp_rate != null) {
+              LACPTransmitRate = bond.lacp_rate;
+            }) // (optionalAttrs (bond.miimon != null) {
+              MIIMonitorSec = bond.miimon;
+            }) // (optionalAttrs (bond.mode != null) {
+              Mode = bond.mode;
+            }) // (optionalAttrs (bond.xmit_hash_policy != null) {
+              TransmitHashPolicy = bond.xmit_hash_policy;
+            });
+        };
+        networks = listToAttrs (flip map bond.interfaces (bi:
+          nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
+            DHCP = mkOverride 0 (dhcpStr false);
+            networkConfig.Bond = name;
+          } ])));
+      })))
+      (mkMerge (flip mapAttrsToList cfg.macvlans (name: macvlan: {
+        netdevs."40-${name}" = {
+          netdevConfig = {
+            Name = name;
+            Kind = "macvlan";
+          };
+          macvlanConfig = optionalAttrs (macvlan.mode != null) { Mode = macvlan.mode; };
+        };
+        networks."40-${macvlan.interface}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
+          macvlan = [ name ];
+        } ]);
+      })))
+      (mkMerge (flip mapAttrsToList cfg.sits (name: sit: {
+        netdevs."40-${name}" = {
+          netdevConfig = {
+            Name = name;
+            Kind = "sit";
+          };
+          tunnelConfig =
+            (optionalAttrs (sit.remote != null) {
+              Remote = sit.remote;
+            }) // (optionalAttrs (sit.local != null) {
+              Local = sit.local;
+            }) // (optionalAttrs (sit.ttl != null) {
+              TTL = sit.ttl;
+            });
+        };
+        networks = mkIf (sit.dev != null) {
+          "40-${sit.dev}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
+            tunnel = [ name ];
+          } ]);
+        };
+      })))
+      (mkMerge (flip mapAttrsToList cfg.vlans (name: vlan: {
+        netdevs."40-${name}" = {
+          netdevConfig = {
+            Name = name;
+            Kind = "vlan";
+          };
+          vlanConfig.Id = vlan.id;
+        };
+        networks."40-${vlan.interface}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
+          vlan = [ name ];
+        } ]);
+      })))
+    ];
+
+    # We need to prefill the slaved devices with networking options
+    # This forces the network interface creator to initialize slaves.
+    networking.interfaces = listToAttrs (map (i: nameValuePair i { }) slaves);
+
+  };
+
+}
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 7dabe70f00c..71a721abba2 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -1,6 +1,7 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, utils, ... }:
 
 with lib;
+with utils;
 
 let
 
@@ -10,6 +11,64 @@ let
   hasSits = cfg.sits != { };
   hasBonds = cfg.bonds != { };
 
+  slaves = concatMap (i: i.interfaces) (attrValues cfg.bonds)
+    ++ concatMap (i: i.interfaces) (attrValues cfg.bridges);
+
+  slaveIfs = map (i: cfg.interfaces.${i}) (filter (i: cfg.interfaces ? ${i}) slaves);
+
+  rstpBridges = flip filterAttrs cfg.bridges (_: { rstp, ... }: rstp);
+
+  needsMstpd = rstpBridges != { };
+
+  bridgeStp = optional needsMstpd (pkgs.writeTextFile {
+    name = "bridge-stp";
+    executable = true;
+    destination = "/bin/bridge-stp";
+    text = ''
+      #!${pkgs.stdenv.shell} -e
+      export PATH="${pkgs.mstpd}/bin"
+
+      BRIDGES=(${concatStringsSep " " (attrNames rstpBridges)})
+      for BRIDGE in $BRIDGES; do
+        if [ "$BRIDGE" = "$1" ]; then
+          if [ "$2" = "start" ]; then
+            mstpctl addbridge "$BRIDGE"
+            exit 0
+          elif [ "$2" = "stop" ]; then
+            mstpctl delbridge "$BRIDGE"
+            exit 0
+          fi
+          exit 1
+        fi
+      done
+      exit 1
+    '';
+  });
+
+  # We must escape interfaces due to the systemd interpretation
+  subsystemDevice = interface:
+    "sys-subsystem-net-devices-${escapeSystemdPath interface}.device";
+
+  addrOpts = v:
+    assert v == 4 || v == 6;
+    {
+      address = mkOption {
+        type = types.str;
+        description = ''
+          IPv${toString v} address of the interface.  Leave empty to configure the
+          interface using DHCP.
+        '';
+      };
+
+      prefixLength = mkOption {
+        type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128));
+        description = ''
+          Subnet mask of the interface, specified as the number of
+          bits in the prefix (<literal>${if v == 4 then "24" else "64"}</literal>).
+        '';
+      };
+    };
+
   interfaceOpts = { name, ... }: {
 
     options = {
@@ -20,10 +79,46 @@ let
         description = "Name of the interface.";
       };
 
+      useDHCP = mkOption {
+        type = types.nullOr types.bool;
+        default = null;
+        description = ''
+          Whether this interface should be configured with dhcp.
+          Null implies the old behavior which depends on whether ip addresses
+          are specified or not.
+        '';
+      };
+
+      ip4 = mkOption {
+        default = [ ];
+        example = [
+          { address = "10.0.0.1"; prefixLength = 16; }
+          { address = "192.168.1.1"; prefixLength = 24; }
+        ];
+        type = types.listOf types.optionSet;
+        options = addrOpts 4;
+        description = ''
+          List of IPv4 addresses that will be statically assigned to the interface.
+        '';
+      };
+
+      ip6 = mkOption {
+        default = [ ];
+        example = [
+          { address = "fdfd:b3f0:482::1"; prefixLength = 48; }
+          { address = "2001:1470:fffd:2098::e006"; prefixLength = 64; }
+        ];
+        type = types.listOf types.optionSet;
+        options = addrOpts 6;
+        description = ''
+          List of IPv6 addresses that will be statically assigned to the interface.
+        '';
+      };
+
       ipAddress = mkOption {
         default = null;
         example = "10.0.0.1";
-        type = types.nullOr (types.str);
+        type = types.nullOr types.str;
         description = ''
           IP address of the interface.  Leave empty to configure the
           interface using DHCP.
@@ -41,27 +136,23 @@ let
       };
 
       subnetMask = mkOption {
-        default = "";
-        example = "255.255.255.0";
-        type = types.str;
+        default = null;
         description = ''
-          Subnet mask of the interface, specified as a bitmask.
-          This is deprecated; use <option>prefixLength</option>
-          instead.
+          Defunct, supply the prefix length instead.
         '';
       };
 
       ipv6Address = mkOption {
         default = null;
         example = "2001:1470:fffd:2098::e006";
-        type = types.nullOr types.string;
+        type = types.nullOr types.str;
         description = ''
           IPv6 address of the interface.  Leave empty to configure the
           interface using NDP.
         '';
       };
 
-      ipv6prefixLength = mkOption {
+      ipv6PrefixLength = mkOption {
         default = 64;
         example = 64;
         type = types.int;
@@ -96,8 +187,6 @@ let
           Whether this interface is virtual and should be created by tunctl.
           This is mainly useful for creating bridges between a host a virtual
           network such as VPN or a virtual machine.
-
-          Defaults to tap device, unless interface contains "tun" in its name.
         '';
       };
 
@@ -109,6 +198,15 @@ let
         '';
       };
 
+      virtualType = mkOption {
+        default = null;
+        type = types.nullOr (types.addCheck types.str (v: v == "tun" || v == "tap"));
+        description = ''
+          The explicit type of interface to create. Accepts tun or tap strings.
+          Also accepts null to implicitly detect the type of device.
+        '';
+      };
+
       proxyARP = mkOption {
         default = false;
         type = types.bool;
@@ -135,6 +233,10 @@ let
 
   };
 
+  hexChars = stringToCharacters "0123456789abcdef";
+
+  isHexString = s: all (c: elem c hexChars) (stringToCharacters (toLower s));
+
 in
 
 {
@@ -145,27 +247,57 @@ in
 
     networking.hostName = mkOption {
       default = "nixos";
+      type = types.str;
       description = ''
         The name of the machine.  Leave it empty if you want to obtain
         it from a DHCP server (if using DHCP).
       '';
     };
 
+    networking.hostId = mkOption {
+      default = null;
+      example = "4e98920d";
+      type = types.nullOr types.str;
+      description = ''
+        The 32-bit host ID of the machine, formatted as 8 hexadecimal characters.
+
+        You should try to make this ID unique among your machines. You can
+        generate a random 32-bit ID using the following commands:
+
+        <literal>cksum /etc/machine-id | while read c rest; do printf "%x" $c; done</literal>
+        
+        (this derives it from the machine-id that systemd generates) or
+        
+        <literal>head -c4 /dev/urandom | od -A none -t x4</literal>
+      '';
+    };
+
     networking.enableIPv6 = mkOption {
       default = true;
+      type = types.bool;
       description = ''
         Whether to enable support for IPv6.
       '';
     };
 
     networking.defaultGateway = mkOption {
-      default = "";
+      default = null;
       example = "131.211.84.1";
+      type = types.nullOr types.str;
       description = ''
         The default gateway.  It can be left empty if it is auto-detected through DHCP.
       '';
     };
 
+    networking.defaultGateway6 = mkOption {
+      default = null;
+      example = "2001:4d0:1e04:895::1";
+      type = types.nullOr types.str;
+      description = ''
+        The default ipv6 gateway.  It can be left empty if it is auto-detected through DHCP.
+      '';
+    };
+
     networking.defaultGatewayWindowSize = mkOption {
       default = null;
       example = 524288;
@@ -194,8 +326,9 @@ in
     };
 
     networking.domain = mkOption {
-      default = "";
+      default = null;
       example = "home";
+      type = types.nullOr types.str;
       description = ''
         The domain.  It can be left empty if it is auto-detected through DHCP.
       '';
@@ -224,10 +357,10 @@ in
     networking.interfaces = mkOption {
       default = {};
       example =
-        { eth0 = {
-            ipAddress = "131.211.84.78";
-            subnetMask = "255.255.255.128";
-          };
+        { eth0.ip4 = [ {
+            address = "131.211.84.78";
+            prefixLength = 25;
+          } ];
         };
       description = ''
         The configuration for each network interface.  If
@@ -264,6 +397,13 @@ in
             "The physical network interfaces connected by the bridge.";
         };
 
+        rstp = mkOption {
+          example = true;
+          default = false;
+          type = types.bool;
+          description = "Whether the bridge interface should enable rstp.";
+        };
+
       };
 
     };
@@ -291,10 +431,20 @@ in
 
         interfaces = mkOption {
           example = [ "enp4s0f0" "enp4s0f1" "wlan0" ];
-          type = types.listOf types.string;
+          type = types.listOf types.str;
           description = "The interfaces to bond together";
         };
 
+        lacp_rate = mkOption {
+          default = null;
+          example = "fast";
+          type = types.nullOr types.str;
+          description = ''
+            Option specifying the rate in which we'll ask our link partner
+            to transmit LACPDU packets in 802.3ad mode.
+          '';
+        };
+
         miimon = mkOption {
           default = null;
           example = 100;
@@ -310,7 +460,7 @@ in
         mode = mkOption {
           default = null;
           example = "active-backup";
-          type = types.nullOr types.string;
+          type = types.nullOr types.str;
           description = ''
             The mode which the bond will be running. The default mode for
             the bonding driver is balance-rr, optimizing for throughput.
@@ -319,6 +469,47 @@ in
           '';
         };
 
+        xmit_hash_policy = mkOption {
+          default = null;
+          example = "layer2+3";
+          type = types.nullOr types.str;
+          description = ''
+            Selects the transmit hash policy to use for slave selection in
+            balance-xor, 802.3ad, and tlb modes.
+          '';
+        };
+
+      };
+    };
+
+    networking.macvlans = mkOption {
+      type = types.attrsOf types.optionSet;
+      default = { };
+      example = {
+        wan = {
+          interface = "enp2s0";
+          mode = "vepa";
+        };
+      };
+      description = ''
+        This option allows you to define macvlan interfaces which should
+        be automatically created.
+      '';
+      options = {
+
+        interface = mkOption {
+          example = "enp4s0";
+          type = types.string;
+          description = "The interface the macvlan will transmit packets through.";
+        };
+
+        mode = mkOption {
+          default = null;
+          type = types.nullOr types.str;
+          example = "vepa";
+          description = "The mode of the macvlan device.";
+        };
+
       };
     };
 
@@ -431,6 +622,16 @@ in
       '';
     };
 
+    networking.useNetworkd = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Whether we should use networkd as the network configuration backend or
+        the legacy script based system. Note that this option is experimental,
+        enable at your own risk.
+      '';
+    };
+
   };
 
 
@@ -438,6 +639,20 @@ in
 
   config = {
 
+    assertions =
+      (flip map interfaces (i: {
+        assertion = i.subnetMask == null;
+        message = "The networking.interfaces.${i.name}.subnetMask option is defunct. Use prefixLength instead.";
+      })) ++ (flip map slaveIfs (i: {
+        assertion = i.ip4 == [ ] && i.ipAddress == null && i.ip6 == [ ] && i.ipv6Address == null;
+        message = "The networking.interfaces.${i.name} must not have any defined ips when it is a slave.";
+      })) ++ [
+        {
+          assertion = cfg.hostId == null || (stringLength cfg.hostId == 8 && isHexString cfg.hostId);
+          message = "Invalid value given to the networking.hostId option.";
+        }
+      ];
+
     boot.kernelModules = [ ]
       ++ optional cfg.enableIPv6 "ipv6"
       ++ optional hasVirtuals "tun"
@@ -449,6 +664,45 @@ in
       # from being created.
       optionalString hasBonds "options bonding max_bonds=0";
 
+    boot.kernel.sysctl = {
+      "net.net.ipv4.conf.all.promote_secondaries" = true;
+      "net.ipv6.conf.all.disable_ipv6" = mkDefault (!cfg.enableIPv6);
+      "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6);
+      "net.ipv4.conf.all_forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
+      "net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces);
+    } // listToAttrs (concatLists (flip map (filter (i: i.proxyARP) interfaces)
+        (i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true))
+      ));
+
+    security.setuidPrograms = [ "ping" "ping6" ];
+
+    # Set the host and domain names in the activation script.  Don't
+    # clear it if it's not configured in the NixOS configuration,
+    # since it may have been set by dhcpcd in the meantime.
+    system.activationScripts.hostname =
+      optionalString (cfg.hostName != "") ''
+        hostname "${cfg.hostName}"
+      '';
+    system.activationScripts.domain =
+      optionalString (cfg.domain != null) ''
+        domainname "${cfg.domain}"
+      '';
+
+    environment.etc = mkIf (cfg.hostId != null)
+      [
+        {
+          target = "hostid";
+          source = pkgs.runCommand "gen-hostid" {} ''
+            hi="${cfg.hostId}"
+            ${if pkgs.stdenv.isBigEndian then ''
+              echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
+            '' else ''
+              echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out
+            ''}
+          '';
+        }
+      ];
+
     environment.systemPackages =
       [ pkgs.host
         pkgs.iproute
@@ -458,324 +712,56 @@ in
         pkgs.iw
         pkgs.rfkill
         pkgs.openresolv
-      ]
-      ++ optional (cfg.bridges != {}) pkgs.bridge_utils
-      ++ optional hasVirtuals pkgs.tunctl
-      ++ optional cfg.enableIPv6 pkgs.ndisc6;
-
-    security.setuidPrograms = [ "ping" "ping6" ];
+      ] ++ bridgeStp;
 
     systemd.targets."network-interfaces" =
       { description = "All Network Interfaces";
         wantedBy = [ "network.target" ];
+        before = [ "network.target" ];
+        after = [ "network-pre.target" ];
         unitConfig.X-StopOnReconfiguration = true;
       };
 
-    systemd.services =
-      let
-
-        networkSetup =
-          { description = "Networking Setup";
-
-            after = [ "network-interfaces.target" ];
-            before = [ "network.target" ];
-            wantedBy = [ "network.target" ];
-
-            unitConfig.ConditionCapability = "CAP_NET_ADMIN";
-
-            path = [ pkgs.iproute ];
-
-            serviceConfig.Type = "oneshot";
-            serviceConfig.RemainAfterExit = true;
-
-            script =
-              ''
-                # Set the static DNS configuration, if given.
-                ${pkgs.openresolv}/sbin/resolvconf -m 1 -a static <<EOF
-                ${optionalString (cfg.nameservers != [] && cfg.domain != "") ''
-                  domain ${cfg.domain}
-                ''}
-                ${optionalString (cfg.search != []) ("search " + concatStringsSep " " cfg.search)}
-                ${flip concatMapStrings cfg.nameservers (ns: ''
-                  nameserver ${ns}
-                '')}
-                EOF
-
-                # Disable or enable IPv6.
-                ${optionalString (!config.boot.isContainer) ''
-                  if [ -e /proc/sys/net/ipv6/conf/all/disable_ipv6 ]; then
-                    echo ${if cfg.enableIPv6 then "0" else "1"} > /proc/sys/net/ipv6/conf/all/disable_ipv6
-                  fi
-                ''}
-
-                # Set the default gateway.
-                ${optionalString (cfg.defaultGateway != "") ''
-                  # FIXME: get rid of "|| true" (necessary to make it idempotent).
-                  ip route add default via "${cfg.defaultGateway}" ${
-                    optionalString (cfg.defaultGatewayWindowSize != null)
-                      "window ${cfg.defaultGatewayWindowSize}"} || true
-                ''}
-
-                # Turn on forwarding if any interface has enabled proxy_arp.
-                ${optionalString (any (i: i.proxyARP) interfaces) ''
-                  echo 1 > /proc/sys/net/ipv4/ip_forward
-                ''}
-
-                # Run any user-specified commands.
-                ${cfg.localCommands}
-              '';
-          };
-
-        # For each interface <foo>, create a job ‘<foo>-cfg.service"
-        # that performs static configuration.  It has a "wants"
-        # dependency on ‘<foo>.service’, which is supposed to create
-        # the interface and need not exist (i.e. for hardware
-        # interfaces).  It has a binds-to dependency on the actual
-        # network device, so it only gets started after the interface
-        # has appeared, and it's stopped when the interface
-        # disappears.
-        configureInterface = i: nameValuePair "${i.name}-cfg"
-          (let mask =
-                if i.prefixLength != null then toString i.prefixLength else
-                if i.subnetMask != "" then i.subnetMask else "32";
-               staticIPv6 = cfg.enableIPv6 && i.ipv6Address != null;
-          in
-          { description = "Configuration of ${i.name}";
-            wantedBy = [ "network-interfaces.target" ];
-            bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ];
-            after = [ "sys-subsystem-net-devices-${i.name}.device" ];
-            serviceConfig.Type = "oneshot";
-            serviceConfig.RemainAfterExit = true;
-            path = [ pkgs.iproute pkgs.gawk ];
-            script =
-              ''
-                echo "bringing up interface..."
-                ip link set "${i.name}" up
-              ''
-              + optionalString (i.macAddress != null)
-                ''
-                  echo "setting MAC address to ${i.macAddress}..."
-                  ip link set "${i.name}" address "${i.macAddress}"
-                ''
-              + optionalString (i.mtu != null)
-                ''
-                  echo "setting MTU to ${toString i.mtu}..."
-                  ip link set "${i.name}" mtu "${toString i.mtu}"
-                ''
-              + optionalString (i.ipAddress != null)
-                ''
-                  cur=$(ip -4 -o a show dev "${i.name}" | awk '{print $4}')
-                  # Only do a flush/add if it's necessary.  This is
-                  # useful when the Nix store is accessed via this
-                  # interface (e.g. in a QEMU VM test).
-                  if [ "$cur" != "${i.ipAddress}/${mask}" ]; then
-                    echo "configuring interface..."
-                    ip -4 addr flush dev "${i.name}"
-                    ip -4 addr add "${i.ipAddress}/${mask}" dev "${i.name}"
-                    restart_network_setup=true
-                  else
-                    echo "skipping configuring interface"
-                  fi
-                ''
-              + optionalString (staticIPv6)
-                ''
-                  # Only do a flush/add if it's necessary.  This is
-                  # useful when the Nix store is accessed via this
-                  # interface (e.g. in a QEMU VM test).
-                  if ! ip -6 -o a show dev "${i.name}" | grep "${i.ipv6Address}/${toString i.ipv6prefixLength}"; then
-                    echo "configuring interface..."
-                    ip -6 addr flush dev "${i.name}"
-                    ip -6 addr add "${i.ipv6Address}/${toString i.ipv6prefixLength}" dev "${i.name}"
-                    restart_network_setup=true
-                  else
-                    echo "skipping configuring interface"
-                  fi
-                ''
-              + optionalString (i.ipAddress != null || staticIPv6)
-                ''
-                  if [ restart_network_setup = true ]; then
-                    # Ensure that the default gateway remains set.
-                    # (Flushing this interface may have removed it.)
-                    ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service
-                  fi
-                  ${config.systemd.package}/bin/systemctl start ip-up.target
-                ''
-              + optionalString i.proxyARP
-                ''
-                  echo 1 > /proc/sys/net/ipv4/conf/${i.name}/proxy_arp
-                ''
-              + optionalString (i.proxyARP && cfg.enableIPv6)
-                ''
-                  echo 1 > /proc/sys/net/ipv6/conf/${i.name}/proxy_ndp
-                '';
-          });
-
-        createTunDevice = i: nameValuePair "${i.name}"
-          { description = "Virtual Network Interface ${i.name}";
-            requires = [ "dev-net-tun.device" ];
-            after = [ "dev-net-tun.device" ];
-            wantedBy = [ "network.target" ];
-            requiredBy = [ "sys-subsystem-net-devices-${i.name}.device" ];
-            serviceConfig =
-              { Type = "oneshot";
-                RemainAfterExit = true;
-                ExecStart = "${pkgs.tunctl}/bin/tunctl -t '${i.name}' -u '${i.virtualOwner}'";
-                ExecStop = "${pkgs.tunctl}/bin/tunctl -d '${i.name}'";
-              };
-          };
-
-        createBridgeDevice = n: v:
-          let
-            deps = map (i: "sys-subsystem-net-devices-${i}.device") v.interfaces;
-          in
-          { description = "Bridge Interface ${n}";
-            wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ];
-            bindsTo = deps;
-            after = deps;
-            serviceConfig.Type = "oneshot";
-            serviceConfig.RemainAfterExit = true;
-            path = [ pkgs.bridge_utils pkgs.iproute ];
-            script =
-              ''
-                # Remove Dead Interfaces
-                ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
-
-                brctl addbr "${n}"
-
-                # Set bridge's hello time to 0 to avoid startup delays.
-                brctl setfd "${n}" 0
-
-                ${flip concatMapStrings v.interfaces (i: ''
-                  brctl addif "${n}" "${i}"
-                  ip link set "${i}" up
-                  ip addr flush dev "${i}"
-
-                  echo "bringing up network device ${n}..."
-                  ip link set "${n}" up
-                '')}
-
-                # !!! Should delete (brctl delif) any interfaces that
-                # no longer belong to the bridge.
-              '';
-            postStop =
-              ''
-                ip link set "${n}" down
-                brctl delbr "${n}"
-              '';
-          };
-
-        createBondDevice = n: v:
-          let
-            deps = map (i: "sys-subsystem-net-devices-${i}.device") v.interfaces;
-          in
-          { description = "Bond Interface ${n}";
-            wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ];
-            bindsTo = deps;
-            after = deps;
-            serviceConfig.Type = "oneshot";
-            serviceConfig.RemainAfterExit = true;
-            path = [ pkgs.ifenslave pkgs.iproute ];
-            script = ''
-              # Remove Dead Interfaces
-              ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
-
-              ip link add "${n}" type bond
-
-              # !!! There must be a better way to wait for the interface
-              while [ ! -d /sys/class/net/${n} ]; do sleep 0.1; done;
-
-              # Set the miimon and mode options
-              ${optionalString (v.miimon != null)
-                "echo ${toString v.miimon} > /sys/class/net/${n}/bonding/miimon"}
-              ${optionalString (v.mode != null)
-                "echo \"${v.mode}\" > /sys/class/net/${n}/bonding/mode"}
-
-              # Bring up the bridge and enslave the specified interfaces
-              ip link set "${n}" up
-              ${flip concatMapStrings v.interfaces (i: ''
-                ifenslave "${n}" "${i}"
-              '')}
-            '';
-            postStop = ''
-              ip link set "${n}" down
-              ifenslave -d "${n}"
-              ip link delete "${n}"
-            '';
-          };
-
-        createSitDevice = n: v:
-          let
-            deps = optional (v.dev != null) "sys-subsystem-net-devices-${v.dev}.device";
-          in
-          { description = "6-to-4 Tunnel Interface ${n}";
-            wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ];
-            bindsTo = deps;
-            after = deps;
-            serviceConfig.Type = "oneshot";
-            serviceConfig.RemainAfterExit = true;
-            path = [ pkgs.iproute ];
-            script = ''
-              # Remove Dead Interfaces
-              ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
-              ip link add "${n}" type sit \
-                ${optionalString (v.remote != null) "remote \"${v.remote}\""} \
-                ${optionalString (v.local != null) "local \"${v.local}\""} \
-                ${optionalString (v.ttl != null) "ttl ${toString v.ttl}"} \
-                ${optionalString (v.dev != null) "dev \"${v.dev}\""}
-              ip link set "${n}" up
-            '';
-            postStop = ''
-              ip link delete "${n}"
-            '';
-          };
-
-        createVlanDevice = n: v:
-          let
-            deps = [ "sys-subsystem-net-devices-${v.interface}.device" ];
-          in
-          { description = "Vlan Interface ${n}";
-            wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ];
-            bindsTo = deps;
-            after = deps;
-            serviceConfig.Type = "oneshot";
-            serviceConfig.RemainAfterExit = true;
-            path = [ pkgs.iproute ];
-            script = ''
-              # Remove Dead Interfaces
-              ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
-              ip link add link "${v.interface}" "${n}" type vlan id "${toString v.id}"
-              ip link set "${n}" up
-            '';
-            postStop = ''
-              ip link delete "${n}"
-            '';
-          };
-
-      in listToAttrs (
-           map configureInterface interfaces ++
-           map createTunDevice (filter (i: i.virtual) interfaces))
-         // mapAttrs createBridgeDevice cfg.bridges
-         // mapAttrs createBondDevice cfg.bonds
-         // mapAttrs createSitDevice cfg.sits
-         // mapAttrs createVlanDevice cfg.vlans
-         // { "network-setup" = networkSetup; };
-
-    # Set the host and domain names in the activation script.  Don't
-    # clear it if it's not configured in the NixOS configuration,
-    # since it may have been set by dhcpcd in the meantime.
-    system.activationScripts.hostname =
-      optionalString (config.networking.hostName != "") ''
-        hostname "${config.networking.hostName}"
-      '';
-    system.activationScripts.domain =
-      optionalString (config.networking.domain != "") ''
-        domainname "${config.networking.domain}"
-      '';
+    systemd.services = {
+      network-local-commands = {
+        description = "Extra networking commands.";
+        before = [ "network.target" ];
+        wantedBy = [ "network.target" ];
+        after = [ "network-pre.target" ];
+        unitConfig.ConditionCapability = "CAP_NET_ADMIN";
+        path = [ pkgs.iproute ];
+        serviceConfig.Type = "oneshot";
+        serviceConfig.RemainAfterExit = true;
+        script = ''
+          # Run any user-specified commands.
+          ${cfg.localCommands}
+        '';
+      };
+    } // (listToAttrs (flip map interfaces (i:
+      nameValuePair "network-link-${i.name}"
+      { description = "Link configuration of ${i.name}";
+        wantedBy = [ "network-interfaces.target" ];
+        before = [ "network-interfaces.target" ];
+        bindsTo = [ (subsystemDevice i.name) ];
+        after = [ (subsystemDevice i.name) "network-pre.target" ];
+        path = [ pkgs.iproute ];
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+        };
+        script =
+          ''
+            echo "Configuring link..."
+          '' + optionalString (i.macAddress != null) ''
+            echo "setting MAC address to ${i.macAddress}..."
+            ip link set "${i.name}" address "${i.macAddress}"
+          '' + optionalString (i.mtu != null) ''
+            echo "setting MTU to ${toString i.mtu}..."
+            ip link set "${i.name}" mtu "${toString i.mtu}"
+          '';
+      })));
 
-    services.udev.extraRules =
-      ''
-        KERNEL=="tun", TAG+="systemd"
-      '';
+    services.mstpd = mkIf needsMstpd { enable = true; };
 
   };
 
diff --git a/nixos/modules/tasks/swraid.nix b/nixos/modules/tasks/swraid.nix
index 3b4aa9875f2..8e972891971 100644
--- a/nixos/modules/tasks/swraid.nix
+++ b/nixos/modules/tasks/swraid.nix
@@ -8,4 +8,8 @@
 
   boot.initrd.availableKernelModules = [ "md_mod" "raid0" "raid1" "raid456" ];
 
+  boot.initrd.extraUdevRulesCommands = ''
+    cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/
+  '';
+
 }
diff --git a/nixos/modules/tasks/trackpoint.nix b/nixos/modules/tasks/trackpoint.nix
index 5d1bb631b54..778cdc5d30d 100644
--- a/nixos/modules/tasks/trackpoint.nix
+++ b/nixos/modules/tasks/trackpoint.nix
@@ -16,7 +16,7 @@ with lib;
           Enable sensitivity and speed configuration for trackpoints.
         '';
       };
-  
+
       sensitivity = mkOption {
         default = 128;
         example = 255;
@@ -44,7 +44,7 @@ with lib;
           Enable scrolling while holding the middle mouse button.
         '';
       };
-      
+
     };
 
   };
@@ -70,7 +70,7 @@ with lib;
         ''
           Section "InputClass"
             Identifier "Trackpoint Wheel Emulation"
-            MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
+            MatchProduct "Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
             MatchDevicePath "/dev/input/event*"
             Option "EmulateWheel" "true"
             Option "EmulateWheelButton" "2"
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 54a376c9560..f37bbd0246d 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -38,6 +38,11 @@ let kernel = config.boot.kernelPackages.kernel; in
     systemd.services."serial-getty@ttyS0".enable = false;
     systemd.services."serial-getty@hvc0".enable = false;
 
+    # Don't use a pager when executing backdoor actions. Because we
+    # use a tty, commands like systemctl or nix-store get confused
+    # into thinking they're running interactively.
+    environment.variables.PAGER = "";
+
     boot.initrd.postDeviceCommands =
       ''
         # Using acpi_pm as a clock source causes the guest clock to
@@ -98,7 +103,7 @@ let kernel = config.boot.kernelPackages.kernel; in
     networking.usePredictableInterfaceNames = false;
 
     # Make it easy to log in as root when running the test interactively.
-    security.initialRootPassword = mkDefault "";
+    users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
 
   };
 
diff --git a/nixos/modules/virtualisation/amazon-config.nix b/nixos/modules/virtualisation/amazon-config.nix
index e816ed2d183..809cdb4d108 100644
--- a/nixos/modules/virtualisation/amazon-config.nix
+++ b/nixos/modules/virtualisation/amazon-config.nix
@@ -1,5 +1,3 @@
-{ config, pkgs, modulesPath, ... }:
-
 {
-  imports = [ "${modulesPath}/virtualisation/amazon-image.nix" ];
+  imports = [ <nixpkgs/nixos/modules/virtualisation/amazon-image.nix> ];
 }
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index e129e496fe3..600a29f31bc 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -7,17 +7,6 @@ in
 {
   imports = [ ../profiles/headless.nix ./ec2-data.nix ];
 
-  options = {
-    ec2 = {
-      hvm = mkOption {
-        default = false;
-        description = ''
-          Whether the EC2 instance is a HVM instance.
-        '';
-      };
-    };
-  };
-
   config = {
     system.build.amazonImage =
       pkgs.vmTools.runInLinuxVM (
@@ -70,10 +59,10 @@ in
 
             # Register the paths in the Nix database.
             printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
-                chroot /mnt ${config.nix.package}/bin/nix-store --load-db
+                chroot /mnt ${config.nix.package}/bin/nix-store --load-db --option build-users-group ""
 
             # Create the system profile to allow nixos-rebuild to work.
-            chroot /mnt ${config.nix.package}/bin/nix-env \
+            chroot /mnt ${config.nix.package}/bin/nix-env --option build-users-group "" \
                 -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
 
             # `nixos-rebuild' requires an /etc/NIXOS.
@@ -102,6 +91,10 @@ in
     boot.initrd.kernelModules = [ "xen-blkfront" ];
     boot.kernelModules = [ "xen-netfront" ];
 
+    # Prevent the nouveau kernel module from being loaded, as it
+    # interferes with the nvidia/nvidia-uvm modules needed for CUDA.
+    boot.blacklistedKernelModules = [ "nouveau" ];
+
     # Generate a GRUB menu.  Amazon's pv-grub uses this to boot our kernel/initrd.
     boot.loader.grub.version = if cfg.hvm then 2 else 1;
     boot.loader.grub.device = if cfg.hvm then "/dev/xvda" else "nodev";
@@ -172,7 +165,7 @@ in
     boot.initrd.extraUtilsCommands =
       ''
         # We need swapon in the initrd.
-        cp --remove-destination ${pkgs.utillinux}/sbin/swapon $out/bin
+        copy_bin_and_libs ${pkgs.utillinux}/sbin/swapon
       '';
 
     # Don't put old configurations in the GRUB menu.  The user has no
@@ -191,10 +184,5 @@ in
     environment.systemPackages = [ pkgs.cryptsetup ];
 
     boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
-
-    # Prevent logging in as root without a password.  This doesn't really matter,
-    # since the only PAM services that allow logging in with a null
-    # password are local ones that are inaccessible on EC2 machines.
-    security.initialRootPassword = mkDefault "!";
   };
 }
diff --git a/nixos/modules/virtualisation/amazon-options.nix b/nixos/modules/virtualisation/amazon-options.nix
new file mode 100644
index 00000000000..34a50dcab16
--- /dev/null
+++ b/nixos/modules/virtualisation/amazon-options.nix
@@ -0,0 +1,16 @@
+{ config, lib, pkgs, ... }:
+{
+  options = {
+    ec2 = {
+      hvm = lib.mkOption {
+        default = false;
+        internal = true;
+        description = ''
+          Whether the EC2 instance is a HVM instance.
+        '';
+      };
+    };
+  };
+
+  config = {};
+}
diff --git a/nixos/modules/virtualisation/azure-config.nix b/nixos/modules/virtualisation/azure-config.nix
new file mode 100644
index 00000000000..5c9f18ef52a
--- /dev/null
+++ b/nixos/modules/virtualisation/azure-config.nix
@@ -0,0 +1,5 @@
+{ config, pkgs, modulesPath, ... }:
+
+{
+  imports = [ "${modulesPath}/virtualisation/azure-image.nix" ];
+}
diff --git a/nixos/modules/virtualisation/azure-image.nix b/nixos/modules/virtualisation/azure-image.nix
new file mode 100644
index 00000000000..ab5a9c51fa5
--- /dev/null
+++ b/nixos/modules/virtualisation/azure-image.nix
@@ -0,0 +1,164 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  diskSize = "4096";
+in
+{
+  imports = [ ../profiles/headless.nix ];
+
+  system.build.azureImage =
+    pkgs.vmTools.runInLinuxVM (
+      pkgs.runCommand "azure-image"
+        { preVM =
+            ''
+              mkdir $out
+              diskImage=$out/$diskImageBase
+
+              cyl=$(((${diskSize}*1024*1024)/(512*63*255)))
+              size=$(($cyl*255*63*512))              
+              roundedsize=$((($size/(1024*1024)+1)*(1024*1024)))
+              ${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage $roundedsize
+              mv closure xchg/
+            '';
+
+          postVM =
+            ''
+              echo Converting
+              mkdir -p $out
+              ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vpc $diskImage $out/disk.vhd
+              rm $diskImage
+            '';
+          diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
+          buildInputs = [ pkgs.utillinux pkgs.perl ];
+          exportReferencesGraph =
+            [ "closure" config.system.build.toplevel ];
+        }
+        ''
+          # Create partition table
+          ${pkgs.parted}/sbin/parted /dev/vda mklabel msdos
+          ${pkgs.parted}/sbin/parted /dev/vda mkpart primary ext4 1 ${diskSize}M
+          ${pkgs.parted}/sbin/parted /dev/vda print
+          . /sys/class/block/vda1/uevent
+          mknod /dev/vda1 b $MAJOR $MINOR
+
+          # Create an empty filesystem and mount it.
+          ${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda1
+          ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
+
+          mkdir /mnt
+          mount /dev/vda1 /mnt
+
+          # The initrd expects these directories to exist.
+          mkdir /mnt/dev /mnt/proc /mnt/sys
+
+          mount --bind /proc /mnt/proc
+          mount --bind /dev /mnt/dev
+          mount --bind /sys /mnt/sys
+
+          # Copy all paths in the closure to the filesystem.
+          storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
+
+          mkdir -p /mnt/nix/store
+          echo "copying everything (will take a while)..."
+          cp -prd $storePaths /mnt/nix/store/
+
+          echo Register the paths in the Nix database.
+          printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
+              chroot /mnt ${config.nix.package}/bin/nix-store --load-db --option build-users-group ""
+
+          echo Create the system profile to allow nixos-rebuild to work.
+          chroot /mnt ${config.nix.package}/bin/nix-env \
+              -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} --option build-users-group ""
+
+          echo nixos-rebuild requires an /etc/NIXOS.
+          mkdir -p /mnt/etc
+          touch /mnt/etc/NIXOS
+
+          echo switch-to-configuration requires a /bin/sh
+          mkdir -p /mnt/bin
+          ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
+
+          echo Install a configuration.nix.
+          mkdir -p /mnt/etc/nixos /mnt/boot/grub
+          cp ${./azure-config.nix} /mnt/etc/nixos/configuration.nix
+
+          echo Generate the GRUB menu.
+          ln -s vda /dev/sda
+          chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
+
+          echo Almost done
+          umount /mnt/proc /mnt/dev /mnt/sys
+          umount /mnt
+        ''
+    );
+
+  fileSystems."/".device = "/dev/disk/by-label/nixos";
+
+  # Azure metadata is available as a CD-ROM drive.
+  fileSystems."/metadata".device = "/dev/sr0";
+
+  boot.kernelParams = [ "console=ttyS0" "earlyprintk=ttyS0" "rootdelay=300" "panic=1" "boot.panic_on_fail" ];
+  boot.initrd.kernelModules = [ "hv_vmbus" "hv_netvsc" "hv_utils" "hv_storvsc" ];
+
+  # Generate a GRUB menu. 
+  boot.loader.grub.device = "/dev/sda";
+  boot.loader.grub.version = 2;
+  boot.loader.grub.timeout = 0;
+
+  # Don't put old configurations in the GRUB menu.  The user has no
+  # way to select them anyway.
+  boot.loader.grub.configurationLimit = 0;
+
+  # Allow root logins only using the SSH key that the user specified
+  # at instance creation time.
+  services.openssh.enable = true;
+  services.openssh.permitRootLogin = "without-password";
+
+  # Force getting the hostname from Azure
+  networking.hostName = mkDefault "";
+
+  # Always include cryptsetup so that NixOps can use it.
+  environment.systemPackages = [ pkgs.cryptsetup ];
+
+  systemd.services.fetch-ssh-keys =
+    { description = "Fetch host keys and authorized_keys for root user";
+
+      wantedBy = [ "sshd.service" ];
+      before = [ "sshd.service" ];
+      after = [ "local-fs.target" ];
+
+      path  = [ pkgs.coreutils ];
+      script =
+        ''
+          eval "$(base64 --decode /metadata/CustomData.bin)"
+          if ! [ -z "$ssh_host_ecdsa_key" ]; then
+            echo "downloaded ssh_host_ecdsa_key"
+            echo "$ssh_host_ecdsa_key" > /etc/ssh/ssh_host_ecdsa_key
+            chmod 600 /etc/ssh/ssh_host_ecdsa_key
+          fi
+
+          if ! [ -z "$ssh_host_ecdsa_key_pub" ]; then
+            echo "downloaded ssh_host_ecdsa_key_pub"
+            echo "$ssh_host_ecdsa_key_pub" > /etc/ssh/ssh_host_ecdsa_key.pub
+            chmod 644 /etc/ssh/ssh_host_ecdsa_key.pub
+          fi
+
+          if ! [ -z "$ssh_root_auth_key" ]; then
+            echo "downloaded ssh_root_auth_key"
+            mkdir -m 0700 -p /root/.ssh
+            echo "$ssh_root_auth_key" > /root/.ssh/authorized_keys
+            chmod 600 /root/.ssh/authorized_keys
+          fi
+        '';
+      serviceConfig.Type = "oneshot";
+      serviceConfig.RemainAfterExit = true;
+      serviceConfig.StandardError = "journal+console";
+      serviceConfig.StandardOutput = "journal+console";
+     };
+
+  networking.usePredictableInterfaceNames = false;
+
+  #users.extraUsers.root.openssh.authorizedKeys.keys = [ (builtins.readFile <ssh-pub-key>) ];
+
+}
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 35455f17779..da39dda8535 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -10,6 +10,7 @@ let
     isExecutable = true;
     src = ./nixos-container.pl;
     perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl";
+    su = "${pkgs.shadow.su}/bin/su";
     inherit (pkgs) utillinux;
   };
 
@@ -54,6 +55,14 @@ in
       '';
     };
 
+    boot.enableContainers = mkOption {
+      type = types.bool;
+      default = !config.boot.isContainer;
+      description = ''
+        Whether to enable support for nixos containers.
+      '';
+    };
+
     containers = mkOption {
       type = types.attrsOf (types.submodule (
         { config, options, name, ... }:
@@ -111,6 +120,13 @@ in
               '';
             };
 
+            autoStart = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Wether the container is automatically started at boot-time.
+              '';
+            };
           };
 
           config = mkMerge
@@ -157,7 +173,7 @@ in
   };
 
 
-  config = mkIf (!config.boot.isContainer) {
+  config = mkIf (config.boot.enableContainers) {
 
     systemd.services."container@" =
       { description = "Container '%i'";
@@ -187,7 +203,7 @@ in
         script =
           ''
             mkdir -p -m 0755 "$root/etc" "$root/var/lib"
-            mkdir -p -m 0700 "$root/var/lib/private"
+            mkdir -p -m 0700 "$root/var/lib/private" "$root/root" /run/containers
             if ! [ -e "$root/etc/os-release" ]; then
               touch "$root/etc/os-release"
             fi
@@ -196,7 +212,7 @@ in
               "/nix/var/nix/profiles/per-container/$INSTANCE" \
               "/nix/var/nix/gcroots/per-container/$INSTANCE"
 
-            cp -f /etc/resolv.conf "$root/etc/resolv.conf"
+            cp --remove-destination /etc/resolv.conf "$root/etc/resolv.conf"
 
             if [ "$PRIVATE_NETWORK" = 1 ]; then
               extraFlags+=" --network-veth"
@@ -246,16 +262,20 @@ in
               fi
             fi
 
-            # This blocks until the container-startup-done service
-            # writes something to this pipe.  FIXME: it also hangs
-            # until the start timeout expires if systemd-nspawn exits.
-            read x < $root/var/lib/startup-done
-            rm -f $root/var/lib/startup-done
+            # Get the leader PID so that we can signal it in
+            # preStop. We can't use machinectl there because D-Bus
+            # might be shutting down. FIXME: in systemd 219 we can
+            # just signal systemd-nspawn to do a clean shutdown.
+            machinectl show "$INSTANCE" | sed 's/Leader=\(.*\)/\1/;t;d' > "/run/containers/$INSTANCE.pid"
           '';
 
         preStop =
           ''
-            machinectl poweroff "$INSTANCE" || true
+            pid="$(cat /run/containers/$INSTANCE.pid)"
+            if [ -n "$pid" ]; then
+              kill -RTMIN+4 "$pid"
+            fi
+            rm -f "/run/containers/$INSTANCE.pid"
           '';
 
         restartIfChanged = false;
@@ -277,9 +297,12 @@ in
 
           NotifyAccess = "all";
 
-          # Note that on reboot, systemd-nspawn returns 10, so this
+          # Note that on reboot, systemd-nspawn returns 133, so this
           # unit will be restarted. On poweroff, it returns 0, so the
           # unit won't be restarted.
+          RestartForceExitStatus = "133";
+          SuccessExitStatus = "133";
+
           Restart = "on-failure";
 
           # Hack: we don't want to kill systemd-nspawn, since we call
@@ -308,11 +331,12 @@ in
                 LOCAL_ADDRESS=${cfg.localAddress}
               ''}
             ''}
+           ${optionalString cfg.autoStart ''
+             AUTO_START=1
+           ''}
           '';
       }) config.containers;
 
-    # FIXME: auto-start containers.
-
     # Generate /etc/hosts entries for the containers.
     networking.extraHosts = concatStrings (mapAttrsToList (name: cfg: optionalString (cfg.localAddress != null)
       ''
diff --git a/nixos/modules/virtualisation/docker-image.nix b/nixos/modules/virtualisation/docker-image.nix
new file mode 100644
index 00000000000..0195ca5c6dc
--- /dev/null
+++ b/nixos/modules/virtualisation/docker-image.nix
@@ -0,0 +1,19 @@
+{ config, pkgs, ... }:
+
+{
+  imports = [
+    ../profiles/container.nix
+  ];
+
+  boot.postBootCommands =
+    ''
+      # Set virtualisation to docker
+      echo "docker" > /run/systemd/container
+    '';
+
+  # Iptables do not work in Docker.
+  networking.firewall.enable = false;
+
+  # Socket activated ssh presents problem in Docker.
+  services.openssh.startWhenNeeded = false;
+}
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index a0aa6135326..5be76b2682f 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -7,6 +7,8 @@ with lib;
 let
 
   cfg = config.virtualisation.docker;
+  pro = config.networking.proxy.default;
+  proxy_env = optionalAttrs (pro != null) { Environment = "\"http_proxy=${pro}\""; };
 
 in
 
@@ -59,6 +61,7 @@ in
 
   config = mkIf cfg.enable (mkMerge [
     { environment.systemPackages = [ pkgs.docker ];
+      users.extraGroups.docker.gid = config.ids.gids.docker;
     }
     (mkIf cfg.socketActivation {
 
@@ -72,7 +75,7 @@ in
           #  goes in config bundled with docker itself
           LimitNOFILE = 1048576;
           LimitNPROC = 1048576;
-        };
+        } // proxy_env;
       };
 
       systemd.sockets.docker = {
@@ -98,7 +101,13 @@ in
           #  goes in config bundled with docker itself
           LimitNOFILE = 1048576;
           LimitNPROC = 1048576;
-        };
+        } // proxy_env;
+
+        postStart = ''
+          while ! [ -e /var/run/docker.sock ]; do
+            sleep 0.1
+          done
+        '';
 
         # Presumably some containers are running we don't want to interrupt
         restartIfChanged = false;
diff --git a/nixos/modules/virtualisation/ec2-data.nix b/nixos/modules/virtualisation/ec2-data.nix
index 93a83a3e42a..15114b1e76a 100644
--- a/nixos/modules/virtualisation/ec2-data.nix
+++ b/nixos/modules/virtualisation/ec2-data.nix
@@ -44,7 +44,7 @@ with lib;
             # into the image (a Nova feature).
             if ! [ -e /root/.ssh/authorized_keys ]; then
                 echo "obtaining SSH key..."
-                mkdir -p /root/.ssh
+                mkdir -m 0700 -p /root/.ssh
                 $wget http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key > /root/key.pub
                 if [ $? -eq 0 -a -e /root/key.pub ]; then
                     if ! grep -q -f /root/key.pub /root/.ssh/authorized_keys; then
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 697423ac60b..ee5485071a3 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -7,6 +7,9 @@ in
 {
   imports = [ ../profiles/headless.nix ../profiles/qemu-guest.nix ];
 
+  # https://cloud.google.com/compute/docs/tutorials/building-images
+  networking.firewall.enable = mkDefault false;
+
   system.build.googleComputeImage =
     pkgs.vmTools.runInLinuxVM (
       pkgs.runCommand "google-compute-image"
@@ -63,11 +66,12 @@ in
 
           # Register the paths in the Nix database.
           printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
-              chroot /mnt ${config.nix.package}/bin/nix-store --load-db
+              chroot /mnt ${config.nix.package}/bin/nix-store --load-db --option build-users-group ""
 
           # Create the system profile to allow nixos-rebuild to work.
           chroot /mnt ${config.nix.package}/bin/nix-env \
-              -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
+              -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} \
+              --option build-users-group ""
 
           # `nixos-rebuild' requires an /etc/NIXOS.
           mkdir -p /mnt/etc
@@ -94,6 +98,7 @@ in
 
   boot.kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
   boot.initrd.kernelModules = [ "virtio_scsi" ];
+  boot.kernelModules = [ "virtio_pci" "virtio_net" ];
 
   # Generate a GRUB menu.  Amazon's pv-grub uses this to boot our kernel/initrd.
   boot.loader.grub.device = "/dev/sda";
@@ -107,6 +112,7 @@ in
   # at instance creation time.
   services.openssh.enable = true;
   services.openssh.permitRootLogin = "without-password";
+  services.openssh.passwordAuthentication = mkDefault false;
 
   # Force getting the hostname from Google Compute.
   networking.hostName = mkDefault "";
@@ -119,6 +125,8 @@ in
     169.254.169.254 metadata.google.internal metadata
   '';
 
+  services.ntp.servers = [ "metadata.google.internal" ];
+
   networking.usePredictableInterfaceNames = false;
 
   systemd.services.fetch-ssh-keys =
@@ -126,18 +134,18 @@ in
 
       wantedBy = [ "sshd.service" ];
       before = [ "sshd.service" ];
-      after = [ "network-online.target" ];
-      wants = [ "network-online.target" ];
+      after = [ "network-online.target" "ip-up.target" ];
+      wants = [ "network-online.target" "ip-up.target" ];
 
-      path  = [ pkgs.wget ];
-      script =
+      script = let wget = "${pkgs.wget}/bin/wget --retry-connrefused -t 15 --waitretry=10 --header='Metadata-Flavor: Google'"; in
         ''
-          wget="wget --retry-connrefused -t 6 --waitretry=10"
+          # When dealing with cryptographic keys, we want to keep things private.
+          umask 077
           # Don't download the SSH key if it has already been downloaded
           if ! [ -e /root/.ssh/authorized_keys ]; then
                 echo "obtaining SSH key..."
-                mkdir -p /root/.ssh
-                $wget -O /root/authorized-keys-metadata http://metadata/0.1/meta-data/authorized-keys
+                mkdir -m 0700 -p /root/.ssh
+                ${wget} -O /root/authorized-keys-metadata http://metadata.google.internal/0.1/meta-data/authorized-keys
                 if [ $? -eq 0 -a -e /root/authorized-keys-metadata ]; then
                     cat /root/authorized-keys-metadata | cut -d: -f2- > /root/key.pub
                     if ! grep -q -f /root/key.pub /root/.ssh/authorized_keys; then
@@ -145,29 +153,109 @@ in
                         echo "new key added to authorized_keys"
                     fi
                     chmod 600 /root/.ssh/authorized_keys
-                    rm -f /root/key.pub /root/authorized-keys-metadata
                 fi
+                rm -f /root/key.pub /root/authorized-keys-metadata
           fi
 
-          echo "obtaining SSH private host key..."
-          $wget -O /root/ssh_host_ecdsa_key  http://metadata/0.1/meta-data/attributes/ssh_host_ecdsa_key
-          if [ $? -eq 0 -a -e /root/ssh_host_ecdsa_key ]; then
-              mv -f /root/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key
-              echo "downloaded ssh_host_ecdsa_key"
-              chmod 600 /etc/ssh/ssh_host_ecdsa_key
-          fi
+          countKeys=0
+          ${flip concatMapStrings config.services.openssh.hostKeys (k :
+            let kName = baseNameOf k.path; in ''
+              echo "trying to obtain SSH private host key ${kName}"
+              ${wget} -O /root/${kName} http://metadata.google.internal/0.1/meta-data/attributes/${kName} && :
+              if [ $? -eq 0 -a -e /root/${kName} ]; then
+                  countKeys=$((countKeys+1))
+                  mv -f /root/${kName} ${k.path}
+                  echo "downloaded ${k.path}"
+                  chmod 600 ${k.path}
+                  ${config.programs.ssh.package}/bin/ssh-keygen -y -f ${k.path} > ${k.path}.pub
+                  chmod 644 ${k.path}.pub
+              fi
+              rm -f /root/${kName}
+            ''
+          )}
 
-          echo "obtaining SSH public host key..."
-          $wget -O /root/ssh_host_ecdsa_key.pub http://metadata/0.1/meta-data/attributes/ssh_host_ecdsa_key_pub
-          if [ $? -eq 0 -a -e /root/ssh_host_ecdsa_key.pub ]; then
-              mv -f /root/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
-              echo "downloaded ssh_host_ecdsa_key.pub"
-              chmod 644 /etc/ssh/ssh_host_ecdsa_key.pub
+          if [[ $countKeys -le 0 ]]; then
+             echo "failed to obtain any SSH private host keys."
+             false
           fi
         '';
       serviceConfig.Type = "oneshot";
       serviceConfig.RemainAfterExit = true;
       serviceConfig.StandardError = "journal+console";
       serviceConfig.StandardOutput = "journal+console";
-     };
+    };
+
+  # Setings taken from https://cloud.google.com/compute/docs/tutorials/building-images#providedkernel
+  boot.kernel.sysctl = {
+    # enables syn flood protection
+    "net.ipv4.tcp_syncookies" = mkDefault "1";
+
+    # ignores source-routed packets
+    "net.ipv4.conf.all.accept_source_route" = mkDefault "0";
+
+    # ignores source-routed packets
+    "net.ipv4.conf.default.accept_source_route" = mkDefault "0";
+
+    # ignores ICMP redirects
+    "net.ipv4.conf.all.accept_redirects" = mkDefault "0";
+
+    # ignores ICMP redirects
+    "net.ipv4.conf.default.accept_redirects" = mkDefault "0";
+
+    # ignores ICMP redirects from non-GW hosts
+    "net.ipv4.conf.all.secure_redirects" = mkDefault "1";
+
+    # ignores ICMP redirects from non-GW hosts
+    "net.ipv4.conf.default.secure_redirects" = mkDefault "1";
+
+    # don't allow traffic between networks or act as a router
+    "net.ipv4.ip_forward" = mkDefault "0";
+
+    # don't allow traffic between networks or act as a router
+    "net.ipv4.conf.all.send_redirects" = mkDefault "0";
+
+    # don't allow traffic between networks or act as a router
+    "net.ipv4.conf.default.send_redirects" = mkDefault "0";
+
+    # reverse path filtering - IP spoofing protection
+    "net.ipv4.conf.all.rp_filter" = mkDefault "1";
+
+    # reverse path filtering - IP spoofing protection
+    "net.ipv4.conf.default.rp_filter" = mkDefault "1";
+
+    # ignores ICMP broadcasts to avoid participating in Smurf attacks
+    "net.ipv4.icmp_echo_ignore_broadcasts" = mkDefault "1";
+
+    # ignores bad ICMP errors
+    "net.ipv4.icmp_ignore_bogus_error_responses" = mkDefault "1";
+
+    # logs spoofed, source-routed, and redirect packets
+    "net.ipv4.conf.all.log_martians" = mkDefault "1";
+
+    # log spoofed, source-routed, and redirect packets
+    "net.ipv4.conf.default.log_martians" = mkDefault "1";
+
+    # implements RFC 1337 fix
+    "net.ipv4.tcp_rfc1337" = mkDefault "1";
+
+    # randomizes addresses of mmap base, heap, stack and VDSO page
+    "kernel.randomize_va_space" = mkDefault "2";
+
+    # provides protection from ToCToU races
+    "fs.protected_hardlinks" = mkDefault "1";
+
+    # provides protection from ToCToU races
+    "fs.protected_symlinks" = mkDefault "1";
+
+    # makes locating kernel addresses more difficult
+    "kernel.kptr_restrict" = mkDefault "1";
+
+    # set ptrace protections
+    "kernel.yama.ptrace_scope" = mkDefault "1";
+
+    # set perf only available to root
+    "kernel.perf_event_paranoid" = mkDefault "2";
+
+  };
+
 }
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index d7d700d8841..7410609e064 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -7,6 +7,7 @@ with lib;
 let
 
   cfg = config.virtualisation.libvirtd;
+  vswitch = config.virtualisation.vswitch;
   configFile = pkgs.writeText "libvirtd.conf" ''
     unix_sock_group = "libvirtd"
     unix_sock_rw_perms = "0770"
@@ -56,6 +57,20 @@ in
           '';
       };
 
+    virtualisation.libvirtd.onShutdown =
+      mkOption {
+        type = types.enum ["shutdown" "suspend" ];
+        default = "suspend";
+        description =
+          ''
+            When shutting down / restarting the host what method should
+            be used to gracefully halt the guests. Setting to "shutdown"
+            will cause an ACPI shutdown of each guest. "suspend" will
+            attempt to save the state of the guests ready to restore on boot.
+          '';
+      };
+
+
   };
 
 
@@ -73,12 +88,17 @@ in
       { description = "Libvirt Virtual Machine Management Daemon";
 
         wantedBy = [ "multi-user.target" ];
-        after = [ "systemd-udev-settle.service" ];
+        after = [ "systemd-udev-settle.service" ]
+                ++ optional vswitch.enable "vswitchd.service";
 
-        path =
-          [ pkgs.bridge_utils pkgs.dmidecode pkgs.dnsmasq
+        path = [ 
+            pkgs.bridge-utils 
+            pkgs.dmidecode 
+            pkgs.dnsmasq
             pkgs.ebtables
-          ] ++ optional cfg.enableKVM pkgs.qemu_kvm;
+          ] 
+          ++ optional cfg.enableKVM pkgs.qemu_kvm
+          ++ optional vswitch.enable vswitch.package;
 
         preStart =
           ''
@@ -109,12 +129,12 @@ in
             # config file. But this path can unfortunately be garbage collected
             # while still being used by the virtual machine. So update the
             # emulator path on each startup to something valid (re-scan $PATH).
-            for file in /etc/libvirt/qemu/*.xml; do
+            for file in /etc/libvirt/qemu/*.xml /etc/libvirt/lxc/*.xml; do
                 test -f "$file" || continue
                 # get (old) emulator path from config file
                 emulator=$(grep "^[[:space:]]*<emulator>" "$file" | sed 's,^[[:space:]]*<emulator>\(.*\)</emulator>.*,\1,')
                 # get a (definitely) working emulator path by re-scanning $PATH
-                new_emulator=$(command -v $(basename "$emulator"))
+                new_emulator=$(PATH=${pkgs.libvirt}/libexec:$PATH command -v $(basename "$emulator"))
                 # write back
                 sed -i "s,^[[:space:]]*<emulator>.*,    <emulator>$new_emulator</emulator> <!-- WARNING: emulator dirname is auto-updated by the nixos libvirtd module -->," "$file"
             done
@@ -152,7 +172,12 @@ in
             ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests start || true
           '';
 
-        postStop = "${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests stop";
+        postStop = 
+            ''
+            export PATH=${pkgs.gettext}/bin:$PATH
+            export ON_SHUTDOWN=${cfg.onShutdown}
+            ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests stop
+            '';
 
         serviceConfig.Type = "oneshot";
         serviceConfig.RemainAfterExit = true;
diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix
new file mode 100644
index 00000000000..2fa749d542e
--- /dev/null
+++ b/nixos/modules/virtualisation/lxc-container.nix
@@ -0,0 +1,26 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+  imports = [
+    ../profiles/container.nix
+  ];
+
+  # Allow the user to login as root without password.
+  users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
+
+  # Some more help text.
+  services.mingetty.helpLine =
+    ''
+
+      Log in as "root" with an empty password.
+    '';
+
+  # Containers should be light-weight, so start sshd on demand.
+  services.openssh.enable = mkDefault true;
+  services.openssh.startWhenNeeded = mkDefault true;
+
+  # Allow ssh connections
+  networking.firewall.allowedTCPPorts = [ 22 ];
+}
diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix
new file mode 100644
index 00000000000..22da012e414
--- /dev/null
+++ b/nixos/modules/virtualisation/lxc.nix
@@ -0,0 +1,80 @@
+# LXC Configuration
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.virtualisation.lxc;
+
+in
+
+{
+  ###### interface
+
+  options.virtualisation.lxc = {
+    enable =
+      mkOption {
+        type = types.bool;
+        default = false;
+        description =
+          ''
+            This enables Linux Containers (LXC), which provides tools
+            for creating and managing system or application containers
+            on Linux.
+          '';
+      };
+
+    systemConfig =
+      mkOption {
+        type = types.lines;
+        default = "";
+        description =
+          ''
+            This is the system-wide LXC config. See
+            <citerefentry><refentrytitle>lxc.system.conf</refentrytitle>
+            <manvolnum>5</manvolnum></citerefentry>.
+          '';
+      };
+
+    defaultConfig =
+      mkOption {
+        type = types.lines;
+        default = "";
+        description =
+          ''
+            Default config (default.conf) for new containers, i.e. for
+            network config. See <citerefentry><refentrytitle>lxc.container.conf
+            </refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+          '';
+      };
+
+    usernetConfig =
+      mkOption {
+        type = types.lines;
+        default = "";
+        description =
+          ''
+            This is the config file for managing unprivileged user network
+            administration access in LXC. See <citerefentry>
+            <refentrytitle>lxc-user-net</refentrytitle><manvolnum>5</manvolnum>
+            </citerefentry>.
+          '';
+      };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.lxc ];
+
+    environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
+    environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
+    environment.etc."lxc/default.conf".text = cfg.defaultConfig;
+
+  };
+
+}
diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl
index 7403a42f0f1..f1d9e64ee38 100644
--- a/nixos/modules/virtualisation/nixos-container.pl
+++ b/nixos/modules/virtualisation/nixos-container.pl
@@ -8,6 +8,7 @@ use Fcntl ':flock';
 use Getopt::Long qw(:config gnu_getopt);
 
 my $nsenter = "@utillinux@/bin/nsenter";
+my $su = "@su@";
 
 # Ensure a consistent umask.
 umask 0022;
@@ -22,6 +23,7 @@ Usage: nixos-container list
        nixos-container start <container-name>
        nixos-container stop <container-name>
        nixos-container status <container-name>
+       nixos-container update <container-name> [--config <string>]
        nixos-container login <container-name>
        nixos-container root-login <container-name>
        nixos-container run <container-name> -- args...
@@ -104,6 +106,10 @@ if ($action eq "create") {
 
     die "$0: container ‘$containerName’ already exists\n" if -e $confFile;
 
+    # Due to interface name length restrictions, container names must
+    # be restricted too.
+    die "$0: container name ‘$containerName’ is too long\n" if length $containerName > 11;
+
     # Get an unused IP address.
     my %usedIPs;
     foreach my $confFile2 (glob "/etc/containers/*.conf") {
@@ -201,15 +207,32 @@ sub runInContainer {
     die "cannot run ‘nsenter’: $!\n";
 }
 
+# Remove a directory while recursively unmounting all mounted filesystems within
+# that directory and unmounting/removing that directory afterwards as well.
+#
+# NOTE: If the specified path is a mountpoint, its contents will be removed,
+#       only mountpoints underneath that path will be unmounted properly.
+sub safeRemoveTree {
+    my ($path) = @_;
+    system("find", $path, "-mindepth", "1", "-xdev",
+           "(", "-type", "d", "-exec", "mountpoint", "-q", "{}", ";", ")",
+           "-exec", "umount", "-fR", "{}", "+");
+    system("rm", "--one-file-system", "-rf", $path);
+    if (-e $path) {
+        system("umount", "-fR", $path);
+        system("rm", "--one-file-system", "-rf", $path);
+    }
+}
+
 if ($action eq "destroy") {
     die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n"
         unless POSIX::access($confFile, &POSIX::W_OK);
 
     stopContainer if isContainerRunning;
 
-    rmtree($profileDir) if -e $profileDir;
-    rmtree($gcRootsDir) if -e $gcRootsDir;
-    rmtree($root) if -e $root;
+    safeRemoveTree($profileDir) if -e $profileDir;
+    safeRemoveTree($gcRootsDir) if -e $gcRootsDir;
+    safeRemoveTree($root) if -e $root;
     unlink($confFile) or die;
 }
 
@@ -250,14 +273,14 @@ elsif ($action eq "login") {
 }
 
 elsif ($action eq "root-login") {
-    runInContainer("su", "root", "-l");
+    runInContainer("@su@", "root", "-l");
 }
 
 elsif ($action eq "run") {
     shift @ARGV; shift @ARGV;
     # Escape command.
     my $s = join(' ', map { s/'/'\\''/g; "'$_'" } @ARGV);
-    runInContainer("su", "root", "-l", "-c", "exec " . $s);
+    runInContainer("@su@", "root", "-l", "-c", "exec " . $s);
 }
 
 elsif ($action eq "show-ip") {
diff --git a/nixos/modules/virtualisation/nova.nix b/nixos/modules/virtualisation/nova.nix
index 8795b5b52d5..21e060cf266 100644
--- a/nixos/modules/virtualisation/nova.nix
+++ b/nixos/modules/virtualisation/nova.nix
@@ -147,7 +147,7 @@ in
         path =
           [ pkgs.sudo pkgs.vlan pkgs.nettools pkgs.iptables pkgs.qemu_kvm
             pkgs.e2fsprogs pkgs.utillinux pkgs.multipath_tools pkgs.iproute
-            pkgs.bridge_utils
+            pkgs.bridge-utils
           ];
 
         exec = "${nova}/bin/nova-compute --flagfile=${novaConf}";
@@ -163,7 +163,7 @@ in
 
         path =
           [ pkgs.sudo pkgs.vlan pkgs.dnsmasq pkgs.nettools pkgs.iptables
-            pkgs.iproute pkgs.bridge_utils pkgs.radvd
+            pkgs.iproute pkgs.bridge-utils pkgs.radvd
           ];
 
         exec = "${nova}/bin/nova-network --flagfile=${novaConf}";
diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix
new file mode 100644
index 00000000000..c1579d94657
--- /dev/null
+++ b/nixos/modules/virtualisation/openvswitch.nix
@@ -0,0 +1,117 @@
+# Systemd services for openvswitch
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.virtualisation.vswitch;
+
+in
+
+{
+
+  options = {
+
+    virtualisation.vswitch.enable = mkOption {
+      type = types.bool;
+      default = false;
+      description =
+        ''
+        Enable Open vSwitch. A configuration 
+        daemon (ovs-server) will be started.
+        '';
+    };
+
+
+    virtualisation.vswitch.package = mkOption {
+      type = types.package;
+      default = pkgs.openvswitch;
+      description =
+        ''
+        Open vSwitch package to use.
+        '';
+    };
+
+  };
+
+  config = mkIf cfg.enable (let 
+
+    # Where the communication sockets live
+    runDir = "/var/run/openvswitch";
+
+    # Where the config database live (can't be in nix-store)
+    stateDir = "/var/db/openvswitch";
+
+    # The path to the an initialized version of the database 
+    db = pkgs.stdenv.mkDerivation {
+      name = "vswitch.db";
+      unpackPhase = "true";
+      buildPhase = "true";
+      buildInputs = with pkgs; [
+        cfg.package
+      ];
+      installPhase = 
+        ''
+        ensureDir $out/
+        '';
+    };
+
+  in {
+
+    environment.systemPackages = [ cfg.package ]; 
+
+    boot.kernelModules = [ "tun" "openvswitch" ];
+
+    boot.extraModulePackages = [ cfg.package ];
+
+    systemd.services.ovsdb = {
+      description = "Open_vSwitch Database Server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "systemd-udev-settle.service" ];
+      wants = [ "vswitchd.service" ];
+      path = [ cfg.package ];
+      restartTriggers = [ db cfg.package ];
+      # Create the config database
+      preStart = 
+        ''
+        mkdir -p ${runDir}
+        mkdir -p /var/db/openvswitch
+        chmod +w /var/db/openvswitch
+        if [[ ! -e /var/db/openvswitch/conf.db ]]; then
+          ${cfg.package}/bin/ovsdb-tool create \
+            "/var/db/openvswitch/conf.db" \
+            "${cfg.package}/share/openvswitch/vswitch.ovsschema"
+        fi
+        chmod -R +w /var/db/openvswitch
+        '';
+      serviceConfig.ExecStart = 
+        ''
+        ${cfg.package}/bin/ovsdb-server \
+          --remote=punix:${runDir}/db.sock \
+          --private-key=db:Open_vSwitch,SSL,private_key \
+          --certificate=db:Open_vSwitch,SSL,certificate \
+          --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
+          --unixctl=ovsdb.ctl.sock \
+          /var/db/openvswitch/conf.db
+        '';       
+      serviceConfig.Restart = "always";
+      serviceConfig.RestartSec = 3;
+      postStart =
+        ''
+        ${cfg.package}/bin/ovs-vsctl --timeout 3 --retry --no-wait init
+        '';
+
+    };
+
+    systemd.services.vswitchd = {
+      description = "Open_vSwitch Daemon";
+      bindsTo = [ "ovsdb.service" ];
+      after = [ "ovsdb.service" ];
+      path = [ cfg.package ];
+      serviceConfig.ExecStart = ''${cfg.package}/bin/ovs-vswitchd'';
+    };
+
+  });
+
+}
diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix
new file mode 100644
index 00000000000..2f40283b3e1
--- /dev/null
+++ b/nixos/modules/virtualisation/parallels-guest.nix
@@ -0,0 +1,93 @@
+{ config, lib, pkgs, pkgs_i686, ... }:
+
+with lib;
+
+let
+
+  prl-tools = config.boot.kernelPackages.prl-tools;
+
+in
+
+{
+
+  options = {
+    hardware.parallels = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          This enables Parallel Tools for Linux guests, along with provided
+          video, mouse and other hardware drivers.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf config.hardware.parallels.enable {
+
+    services.xserver = {
+      drivers = singleton
+        { name = "prlvideo"; modules = [ prl-tools ]; libPath = [ prl-tools ]; };
+
+      screenSection = ''
+        Option "NoMTRR"
+      '';
+
+      config = ''
+        Section "InputClass"
+          Identifier "prlmouse"
+          MatchIsPointer "on"
+          MatchTag "prlmouse"
+          Driver "prlmouse"
+        EndSection
+      '';
+    };
+
+    hardware.opengl.package = prl-tools;
+    hardware.opengl.package32 = pkgs_i686.linuxPackages.prl-tools.override { libsOnly = true; kernel = null; };
+
+    services.udev.packages = [ prl-tools ];
+
+    environment.systemPackages = [ prl-tools ];
+
+    boot.extraModulePackages = [ prl-tools ];
+
+    boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ];
+
+    services.ntp.enable = false;
+
+    systemd.services.prltoolsd = {
+      description = "Parallels Tools' service";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = "${prl-tools}/bin/prltoolsd -f";
+        PIDFile = "/var/run/prltoolsd.pid";
+      };
+    };
+
+    systemd.services.prlfsmountd = {
+      description = "Parallels Shared Folders Daemon";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = rec {
+        ExecStart = "${prl-tools}/sbin/prlfsmountd ${PIDFile}";
+        ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /media";
+        ExecStopPost = "${prl-tools}/sbin/prlfsmountd -u";
+        PIDFile = "/run/prlfsmountd.pid";
+      };
+    };
+
+    systemd.services.prlshprint = {
+      description = "Parallels Shared Printer Tool";
+      wantedBy = [ "multi-user.target" ];
+      bindsTo = [ "cups.service" ];
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${prl-tools}/bin/prlshprint";
+      };
+    };
+
+  };
+}
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 58386ce5cf5..8c7e840910d 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -36,13 +36,28 @@ let
             ${toString config.virtualisation.diskSize}M || exit 1
       fi
 
-      # Create a directory for exchanging data with the VM.
+      # Create a directory for storing temporary data of the running VM.
       if [ -z "$TMPDIR" -o -z "$USE_TMPDIR" ]; then
           TMPDIR=$(mktemp -d nix-vm.XXXXXXXXXX --tmpdir)
       fi
-      cd $TMPDIR
+      # Create a directory for exchanging data with the VM.
       mkdir -p $TMPDIR/xchg
 
+      ${if cfg.useBootLoader then ''
+        # Create a writable copy/snapshot of the boot disk
+        # A writable boot disk can be booted from automatically
+        ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1
+
+        ${if cfg.useEFIBoot then ''
+          # VM needs a writable flash BIOS
+          cp ${bootDisk}/bios.bin $TMPDIR || exit 1
+          chmod 0644 $TMPDIR/bios.bin || exit 1
+        '' else ''
+        ''}
+      '' else ''
+      ''}
+
+      cd $TMPDIR
       idx=2
       extraDisks=""
       ${flip concatMapStrings cfg.emptyDiskImages (size: ''
@@ -52,20 +67,21 @@ let
       '')}
 
       # Start QEMU.
-      # "-boot menu=on" is there, because I don't know how to make qemu boot from 2nd hd.
       exec ${pkgs.qemu_kvm}/bin/qemu-kvm \
           -name ${vmName} \
           -m ${toString config.virtualisation.memorySize} \
           ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} \
-          -net nic,vlan=0,model=virtio \
-          -net user,vlan=0''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} \
+          ${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=virtio,cache=writeback,werror=report \
-            -drive index=1,id=drive2,file=${bootDisk}/disk.img,if=virtio,readonly \
-            -boot menu=on \
+            -drive index=1,id=drive2,file=$TMPDIR/disk.img,media=disk \
+            ${if cfg.useEFIBoot then ''
+              -pflash $TMPDIR/bios.bin \
+            '' else ''
+            ''}
           '' else ''
             -drive file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \
             -kernel ${config.system.build.toplevel}/kernel \
@@ -75,7 +91,8 @@ let
           $extraDisks \
           ${qemuGraphics} \
           ${toString config.virtualisation.qemu.options} \
-          $QEMU_OPTS
+          $QEMU_OPTS \
+          $@
     '';
 
 
@@ -99,23 +116,44 @@ let
             ''
               mkdir $out
               diskImage=$out/disk.img
-              ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 $diskImage "32M"
+              bootFlash=$out/bios.bin
+              ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 $diskImage "40M"
+              ${if cfg.useEFIBoot then ''
+                cp ${pkgs.OVMF-CSM}/FV/OVMF.fd $bootFlash
+                chmod 0644 $bootFlash
+              '' else ''
+              ''}
             '';
           buildInputs = [ pkgs.utillinux ];
+          QEMU_OPTS = if cfg.useEFIBoot
+                      then "-pflash $out/bios.bin -nographic -serial pty"
+                      else "-nographic -serial pty";
         }
         ''
-          # Create a single /boot partition.
-          ${pkgs.parted}/sbin/parted /dev/vda mklabel msdos
-          ${pkgs.parted}/sbin/parted /dev/vda -- mkpart primary ext2 1M -1s
-          . /sys/class/block/vda1/uevent
-          mknod /dev/vda1 b $MAJOR $MINOR
+          # Create a /boot EFI partition with 40M
+          ${pkgs.gptfdisk}/sbin/sgdisk -G /dev/vda
+          ${pkgs.gptfdisk}/sbin/sgdisk -a 1 -n 1:34:2047 -c 1:"BIOS Boot Partition" -t 1:ef02 /dev/vda
+          ${pkgs.gptfdisk}/sbin/sgdisk -a 512 -N 2 -c 2:"EFI System" -t 2:ef00 /dev/vda
+          ${pkgs.gptfdisk}/sbin/sgdisk -A 1:set:1 /dev/vda
+          ${pkgs.gptfdisk}/sbin/sgdisk -A 2:set:2 /dev/vda
+          ${pkgs.gptfdisk}/sbin/sgdisk -h 2 /dev/vda
+          ${pkgs.gptfdisk}/sbin/sgdisk -C /dev/vda
+          ${pkgs.utillinux}/bin/sfdisk /dev/vda -A 2
+          . /sys/class/block/vda2/uevent
+          mknod /dev/vda2 b $MAJOR $MINOR
           . /sys/class/block/vda/uevent
-          ${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L boot /dev/vda1
-          ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
-
-          # Mount /boot.
+          ${pkgs.dosfstools}/bin/mkfs.fat -F16 /dev/vda2
+          export MTOOLS_SKIP_CHECK=1
+          ${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot
+
+          # Mount /boot; load necessary modules first.
+          ${pkgs.module_init_tools}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko || true
+          ${pkgs.module_init_tools}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko || true
+          ${pkgs.module_init_tools}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/fat.ko || true
+          ${pkgs.module_init_tools}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko || true
+          ${pkgs.module_init_tools}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko || true
           mkdir /boot
-          mount /dev/vda1 /boot
+          mount /dev/vda2 /boot
 
           # This is needed for GRUB 0.97, which doesn't know about virtio devices.
           mkdir /boot/grub
@@ -248,12 +286,31 @@ in
         description = "Primary IP address used in /etc/hosts.";
       };
 
-    virtualisation.qemu.options =
-      mkOption {
-        default = [];
-        example = [ "-vga std" ];
-        description = "Options passed to QEMU.";
-      };
+    virtualisation.qemu = {
+      options =
+        mkOption {
+          default = [];
+          example = [ "-vga std" ];
+          description = "Options passed to QEMU.";
+        };
+
+      networkingOptions =
+        mkOption {
+          default = [
+            "-net nic,vlan=0,model=virtio"
+            "-net user,vlan=0\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
+          ];
+          type = types.listOf types.str;
+          description = ''
+            Networking-related command-line options that should be passed to qemu.
+            The default is to use userspace networking (slirp).
+
+            If you override this option, be advised to keep
+            ''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} (as seen in the default)
+            to keep the default runtime behaviour.
+          '';
+        };
+    };
 
     virtualisation.useBootLoader =
       mkOption {
@@ -269,6 +326,17 @@ in
           '';
       };
 
+    virtualisation.useEFIBoot =
+      mkOption {
+        default = false;
+        description =
+          ''
+            If enabled, the virtual machine will provide a EFI boot
+            manager.
+            useEFIBoot is ignored if useBootLoader == false.
+          '';
+      };
+
   };
 
   config = {
@@ -278,7 +346,7 @@ in
     boot.initrd.extraUtilsCommands =
       ''
         # We need mke2fs in the initrd.
-        cp -f ${pkgs.e2fsprogs}/sbin/mke2fs $out/bin
+        copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/mke2fs
       '';
 
     boot.initrd.postDeviceCommands =
@@ -361,8 +429,8 @@ in
           };
       } // optionalAttrs cfg.useBootLoader
       { "/boot" =
-          { device = "/dev/disk/by-label/boot";
-            fsType = "ext4";
+          { device = "/dev/vdb2";
+            fsType = "vfat";
             options = "ro";
             noCheck = true; # fsck fails on a r/o filesystem
           };
@@ -383,7 +451,7 @@ in
 
     # When building a regular system configuration, override whatever
     # video driver the host uses.
-    services.xserver.videoDrivers = mkVMOverride [ "vesa" ];
+    services.xserver.videoDrivers = mkVMOverride [ "modesetting" ];
     services.xserver.defaultDepth = mkVMOverride 0;
     services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ];
     services.xserver.monitorSection =
@@ -395,6 +463,7 @@ in
 
     # Wireless won't work in the VM.
     networking.wireless.enable = mkVMOverride false;
+    networking.connman.enable = mkVMOverride false;
 
     # Speed up booting by not waiting for ARP.
     networking.dhcpcd.extraConfig = "noarp";
diff --git a/nixos/modules/virtualisation/virtualbox-guest.nix b/nixos/modules/virtualisation/virtualbox-guest.nix
index a5a4db79787..a0e4bd558e0 100644
--- a/nixos/modules/virtualisation/virtualbox-guest.nix
+++ b/nixos/modules/virtualisation/virtualbox-guest.nix
@@ -6,7 +6,7 @@ with lib;
 
 let
 
-  cfg = config.services.virtualbox;
+  cfg = config.services.virtualboxGuest;
   kernel = config.boot.kernelPackages;
 
 in
@@ -17,7 +17,7 @@ in
 
   options = {
 
-    services.virtualbox = {
+    services.virtualboxGuest = {
 
       enable = mkOption {
         default = false;
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index 106b269d9e1..8232f6e50df 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -128,6 +128,6 @@ in {
     boot.loader.grub.version = 2;
     boot.loader.grub.device = "/dev/sda";
   
-    services.virtualbox.enable = true;
+    services.virtualboxGuest.enable = true;
   };
 }
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index 566059472c9..ea9f61aad6a 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -5,18 +5,8 @@
 with lib;
 
 let
-
   cfg = config.virtualisation.xen;
-
   xen = pkgs.xen;
-
-  xendConfig = pkgs.writeText "xend-config.sxp"
-    ''
-      (loglevel DEBUG)
-      (network-script network-bridge)
-      (vif-script vif-bridge)
-    '';
-
 in
 
 {
@@ -58,23 +48,62 @@ in
           '';
       };
 
+    virtualisation.xen.bridge =
+      mkOption {
+        default = "xenbr0";
+        description =
+          ''
+            Create a bridge for the Xen domUs to connect to.
+          '';
+      };
+
+    virtualisation.xen.stored =
+      mkOption {
+        type = types.path;
+        description =
+          ''
+            Xen Store daemon to use. Defaults to oxenstored of the xen package.
+          '';
+      };
+
+    virtualisation.xen.trace =
+      mkOption {
+        default = false;
+        description =
+          ''
+            Enable Xen tracing.
+          '';
+      };
   };
 
 
   ###### implementation
 
   config = mkIf cfg.enable {
+    assertions = [ {
+      assertion = pkgs.stdenv.isx86_64;
+      message = "Xen currently not supported on ${pkgs.stdenv.system}";
+    } {
+      assertion = config.boot.loader.grub.enable && (config.boot.loader.grub.efiSupport == false);
+      message = "Xen currently does not support EFI boot";
+    } ];
+
+    virtualisation.xen.stored = mkDefault "${xen}/bin/oxenstored";
 
     environment.systemPackages = [ xen ];
 
-    # Domain 0 requires a pvops-enabled kernel.
-    boot.kernelPackages = pkgs.linuxPackages_3_2_xen;
+    # Make sure Domain 0 gets the required configuration
+    #boot.kernelPackages = pkgs.boot.kernelPackages.override { features={xen_dom0=true;}; };
 
     boot.kernelModules =
-      [ "xen_evtchn" "xen_gntdev" "xen_blkback" "xen_netback" "xen_pciback"
-        "blktap" "tun"
+      [ "xen-evtchn" "xen-gntdev" "xen-gntalloc" "xen-blkback" "xen-netback"
+        "xen-pciback" "evtchn" "gntdev" "netbk" "blkbk" "xen-scsibk"
+        "usbbk" "pciback" "xen-acpi-processor" "blktap2" "tun" "netxen_nic"
+        "xen_wdt" "xen-acpi-processor" "xen-privcmd" "xen-scsiback"
+        "xenfs"
       ];
 
+
     # The radeonfb kernel module causes the screen to go black as soon
     # as it's loaded, so don't load it.
     boot.blacklistedKernelModules = [ "radeonfb" ];
@@ -87,8 +116,8 @@ in
         options loop max_loop=64
       '';
 
-    virtualisation.xen.bootParams =
-      [ "loglvl=all" "guest_loglvl=all" ] ++
+    virtualisation.xen.bootParams = [] ++
+      optionals cfg.trace [ "loglvl=all" "guest_loglvl=all" ] ++
       optional (cfg.domain0MemorySize != 0) "dom0_mem=${toString cfg.domain0MemorySize}M";
 
     system.extraSystemBuilderCmds =
@@ -101,78 +130,162 @@ in
     system.activationScripts.xen =
       ''
         if [ -d /proc/xen ]; then
-            ${pkgs.sysvtools}/bin/mountpoint -q /proc/xen || \
+            ${pkgs.kmod}/bin/modprobe xenfs 2> /dev/null
+            ${pkgs.utillinux}/bin/mountpoint -q /proc/xen || \
                 ${pkgs.utillinux}/bin/mount -t xenfs none /proc/xen
         fi
       '';
 
-    jobs.xend =
-      { description = "Xen Control Daemon";
-
-        startOn = "stopped udevtrigger";
-
-        path =
-          [ pkgs.bridge_utils pkgs.gawk pkgs.iproute pkgs.nettools
-            pkgs.utillinux pkgs.bash xen pkgs.pciutils pkgs.procps
-          ];
-
-        environment.XENCONSOLED_TRACE = "hv";
-
-        preStart =
-          ''
-            mkdir -p /var/log/xen/console -m 0700
-
-            ${xen}/sbin/xend start
-
-            # Wait until Xend is running.
-            for ((i = 0; i < 60; i++)); do echo "waiting for xend..."; ${xen}/sbin/xend status && break; done
-
-            ${xen}/sbin/xend status || exit 1
-          '';
-
-        postStop = "${xen}/sbin/xend stop";
-      };
-
-    jobs.xendomains =
-      { description = "Automatically starts, saves and restores Xen domains on startup/shutdown";
-
-        startOn = "started xend";
-
-        stopOn = "starting shutdown and stopping xend";
-
-        restartIfChanged = false;
-        
-        path = [ pkgs.xen ];
-
-        environment.XENDOM_CONFIG = "${xen}/etc/sysconfig/xendomains";
-
-        preStart =
-          ''
-            mkdir -p /var/lock/subsys -m 755
-            ${xen}/etc/init.d/xendomains start
-          '';
-
-        postStop = "${xen}/etc/init.d/xendomains stop";
-      };
+    # Domain 0 requires a pvops-enabled kernel.
+    system.requiredKernelConfig = with config.lib.kernelConfig;
+      [ (isYes "XEN")
+        (isYes "X86_IO_APIC")
+        (isYes "ACPI")
+        (isYes "XEN_DOM0")
+        (isYes "PCI_XEN")
+        (isYes "XEN_DEV_EVTCHN")
+        (isYes "XENFS")
+        (isYes "XEN_COMPAT_XENFS")
+        (isYes "XEN_SYS_HYPERVISOR")
+        (isYes "XEN_GNTDEV")
+        (isYes "XEN_BACKEND")
+        (isModule "XEN_NETDEV_BACKEND")
+        (isModule "XEN_BLKDEV_BACKEND")
+        (isModule "XEN_PCIDEV_BACKEND")
+        (isYes "XEN_BALLOON")
+        (isYes "XEN_SCRUB_PAGES")
+      ];
 
-    # To prevent a race between dhcpcd and xend's bridge setup script
-    # (which renames eth* to peth* and recreates eth* as a virtual
-    # device), start dhcpcd after xend.
-    jobs.dhcpcd.startOn = mkOverride 50 "started xend";
 
     environment.etc =
-      [ { source = xendConfig;
-          target = "xen/xend-config.sxp";
-        }
-        { source = "${xen}/etc/xen/scripts";
-          target = "xen/scripts";
+      [ { source = "${xen}/etc/xen/xl.conf";
+          target = "xen/xl.conf";
         }
       ];
 
     # Xen provides udev rules.
     services.udev.packages = [ xen ];
 
-    services.udev.path = [ pkgs.bridge_utils pkgs.iproute ];
+    services.udev.path = [ pkgs.bridge-utils pkgs.iproute ];
+
+    systemd.services.xen-store = {
+      description = "Xen Store Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "xen-store.socket" ];
+      requires = [ "xen-store.socket" ];
+      preStart = ''
+        export XENSTORED_ROOTDIR="/var/lib/xenstored"
+        rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
+
+        mkdir -p /var/run
+        ${optionalString cfg.trace "mkdir -p /var/log/xen"}
+        grep -q control_d /proc/xen/capabilities
+        '';
+      serviceConfig.ExecStart = ''
+        ${cfg.stored}${optionalString cfg.trace " -T /var/log/xen/xenstored-trace.log"} --no-fork
+        '';
+      postStart = ''
+        time=0
+        timeout=30
+        # Wait for xenstored to actually come up, timing out after 30 seconds
+        while [ $time -lt $timeout ] && ! `${pkgs.xen}/bin/xenstore-read -s / >/dev/null 2>&1` ; do
+            time=$(($time+1))
+            sleep 1
+        done
+
+        # Exit if we timed out
+        if ! [ $time -lt $timeout ] ; then
+            echo "Could not start Xenstore Daemon"
+            exit 1
+        fi
+
+        ${pkgs.xen}/bin/xenstore-write "/local/domain/0/name" "Domain-0"
+        ${pkgs.xen}/bin/xenstore-write "/local/domain/0/domid" 0
+        '';
+    };
+
+    systemd.sockets.xen-store = {
+      description = "XenStore Socket for userspace API";
+      wantedBy = [ "sockets.target" ];
+      socketConfig = {
+        ListenStream = [ "/var/run/xenstored/socket" "/var/run/xenstored/socket_ro" ];
+        SocketMode = "0660";
+        SocketUser = "root";
+        SocketGroup = "root";
+      };
+    };
+
+
+    systemd.services.xen-console = {
+      description = "Xen Console Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "xen-store.service" ];
+      preStart = ''
+        mkdir -p /var/run/xen
+        ${optionalString cfg.trace "mkdir -p /var/log/xen"}
+        grep -q control_d /proc/xen/capabilities
+        '';
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.xen}/bin/xenconsoled${optionalString cfg.trace " --log=all --log-dir=/var/log/xen"}
+          '';
+      };
+    };
+
+
+    systemd.services.xen-qemu = {
+      description = "Xen Qemu Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "xen-console.service" ];
+      serviceConfig.ExecStart = ''
+        ${pkgs.xen}/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv \
+           -monitor /dev/null -serial /dev/null -parallel /dev/null
+        '';
+    };
+
+
+    systemd.services.xen-watchdog = {
+      description = "Xen Watchdog Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "xen-qemu.service" ];
+      serviceConfig.ExecStart = "${pkgs.xen}/bin/xenwatchdogd 30 15";
+      serviceConfig.Type = "forking";
+      serviceConfig.RestartSec = "1";
+      serviceConfig.Restart = "on-failure";
+    };
+
+
+    systemd.services.xen-bridge = {
+      description = "Xen bridge";
+      wantedBy = [ "multi-user.target" ];
+      before = [ "xen-domains.service" ];
+      serviceConfig.RemainAfterExit = "yes";
+      serviceConfig.ExecStart = ''
+        ${pkgs.bridge-utils}/bin/brctl addbr ${cfg.bridge}
+        ${pkgs.inetutils}/bin/ifconfig ${cfg.bridge} up
+        '';
+      serviceConfig.ExecStop = ''
+        ${pkgs.inetutils}/bin/ifconfig ${cfg.bridge} down
+        ${pkgs.bridge-utils}/bin/brctl delbr ${cfg.bridge}
+        '';
+    };
+
+    systemd.services.xen-domains = {
+      description = "Xen domains - automatically starts, saves and restores Xen domains";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "xen-bridge.service" "xen-qemu.service" ];
+      ## To prevent a race between dhcpcd and xend's bridge setup script
+      ## (which renames eth* to peth* and recreates eth* as a virtual
+      ## device), start dhcpcd after xend.
+      before = [ "dhcpd.service" ];
+      restartIfChanged = false;
+      serviceConfig.RemainAfterExit = "yes";
+      path = [ pkgs.xen ];
+      environment.XENDOM_CONFIG = "${pkgs.xen}/etc/sysconfig/xendomains";
+      preStart = "mkdir -p /var/lock/subsys -m 755";
+      serviceConfig.ExecStart = "${pkgs.xen}/etc/init.d/xendomains start";
+      serviceConfig.ExecStop = "${pkgs.xen}/etc/init.d/xendomains stop";
+    };
 
   };
 
diff --git a/nixos/modules/virtualisation/xen-domU.nix b/nixos/modules/virtualisation/xen-domU.nix
index 48358966934..2db3190ad13 100644
--- a/nixos/modules/virtualisation/xen-domU.nix
+++ b/nixos/modules/virtualisation/xen-domU.nix
@@ -9,7 +9,10 @@
   boot.loader.grub.device = "nodev";
   boot.loader.grub.extraPerEntryConfig = "root (hd0)";
 
-  boot.initrd.kernelModules = [ "xen-blkfront" ];
+  boot.initrd.kernelModules =
+    [ "xen-blkfront" "xen-tpmfront" "xen-kbdfront" "xen-fbfront"
+      "xen-netfront" "xen-pcifront" "xen-scsifront"
+    ];
 
   # Send syslog messages to the Xen console.
   services.syslogd.tty = "hvc0";
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 23348e1d089..cb1c200ab47 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -1,3 +1,7 @@
+# This jobset defines the main NixOS channels (such as nixos-unstable
+# and nixos-14.04). The channel is updated every time the ‘tested’ job
+# succeeds, and all other jobs have finished (they may fail).
+
 { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
 , supportedSystems ? [ "x86_64-linux" "i686-linux" ]
@@ -18,7 +22,7 @@ let
 in rec {
 
   nixos = removeMaintainers (import ./release.nix {
-    inherit stableBranch;
+    inherit stableBranch supportedSystems;
     nixpkgs = nixpkgsSrc;
   });
 
@@ -27,40 +31,50 @@ in rec {
     nixpkgs = nixpkgsSrc;
   })) [ "unstable" ];
 
-  tested = pkgs.releaseTools.aggregate {
+  tested = pkgs.lib.hydraJob (pkgs.releaseTools.aggregate {
     name = "nixos-${nixos.channel.version}";
     meta = {
-      description = "Release-critical builds for the NixOS unstable channel";
-      maintainers = [ pkgs.lib.maintainers.eelco pkgs.lib.maintainers.shlevy ];
+      description = "Release-critical builds for the NixOS channel";
+      maintainers = [ pkgs.lib.maintainers.eelco ];
     };
     constituents =
-      let all = x: [ x.x86_64-linux x.i686-linux ]; in
+      let all = x: map (system: x.${system}) supportedSystems; in
       [ nixos.channel
+        (all nixos.dummy)
         (all nixos.manual)
 
         (all nixos.iso_minimal)
         (all nixos.iso_graphical)
         (all nixos.ova)
 
-        #(all nixos.tests.efi-installer.simple)
         #(all nixos.tests.containers)
+        (all nixos.tests.chromium)
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
         (all nixos.tests.gnome3)
-        #(all nixos.tests.installer.efi)
-        (all nixos.tests.installer.grub1)
         (all nixos.tests.installer.lvm)
         (all nixos.tests.installer.separateBoot)
         (all nixos.tests.installer.simple)
         (all nixos.tests.installer.simpleLabels)
         (all nixos.tests.installer.simpleProvided)
+        (all nixos.tests.installer.swraid)
         (all nixos.tests.installer.btrfsSimple)
         (all nixos.tests.installer.btrfsSubvols)
+        (all nixos.tests.installer.btrfsSubvolDefault)
         (all nixos.tests.ipv6)
         (all nixos.tests.kde4)
         (all nixos.tests.login)
         (all nixos.tests.misc)
-        (all nixos.tests.nat)
+        (all nixos.tests.nat.firewall)
+        (all nixos.tests.nat.standalone)
+        (all nixos.tests.networking.scripted.static)
+        (all nixos.tests.networking.scripted.dhcpSimple)
+        (all nixos.tests.networking.scripted.dhcpOneIf)
+        (all nixos.tests.networking.scripted.bond)
+        (all nixos.tests.networking.scripted.bridge)
+        (all nixos.tests.networking.scripted.macvlan)
+        (all nixos.tests.networking.scripted.sit)
+        (all nixos.tests.networking.scripted.vlan)
         (all nixos.tests.nfs3)
         (all nixos.tests.openssh)
         (all nixos.tests.printing)
@@ -72,6 +86,6 @@ in rec {
         nixpkgs.tarball
         (all nixpkgs.emacs)
       ];
-  };
+  });
 
 }
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
new file mode 100644
index 00000000000..11155c85369
--- /dev/null
+++ b/nixos/release-small.nix
@@ -0,0 +1,93 @@
+# This jobset is used to generate a NixOS channel that contains a
+# small subset of Nixpkgs, mostly useful for servers that need fast
+# security updates.
+
+{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
+, stableBranch ? false
+, supportedSystems ? [ "x86_64-linux" ] # no i686-linux
+}:
+
+let
+
+  nixpkgsSrc = nixpkgs; # urgh
+
+  pkgs = import ./.. {};
+
+  lib = pkgs.lib;
+
+  nixos' = import ./release.nix {
+    inherit stableBranch supportedSystems;
+    nixpkgs = nixpkgsSrc;
+  };
+
+  nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
+    inherit supportedSystems;
+    nixpkgs = nixpkgsSrc;
+  }) [ "unstable" ];
+
+in rec {
+
+  nixos = {
+    inherit (nixos') channel manual iso_minimal dummy;
+    tests = {
+      inherit (nixos'.tests)
+        containers
+        firewall
+        ipv6
+        login
+        misc
+        nat
+        nfs3
+        openssh
+        proxy
+        simple;
+      installer = {
+        inherit (nixos'.tests.installer)
+          grub1
+          lvm
+          separateBoot
+          simple;
+      };
+    };
+  };
+
+  nixpkgs = {
+    inherit (nixpkgs')
+      apacheHttpd_2_2
+      apacheHttpd_2_4
+      cmake
+      cryptsetup
+      emacs
+      gettext
+      git
+      imagemagick
+      jdk
+      linux
+      mysql51
+      mysql55
+      nginx
+      nodejs
+      openssh
+      php
+      postgresql92
+      postgresql93
+      python
+      rsyslog
+      stdenv
+      subversion
+      tarball
+      vim;
+  };
+
+  tested = lib.hydraJob (pkgs.releaseTools.aggregate {
+    name = "nixos-${nixos.channel.version}";
+    meta = {
+      description = "Release-critical builds for the NixOS channel";
+      maintainers = [ lib.maintainers.eelco ];
+    };
+    constituents =
+      let all = x: map (system: x.${system}) supportedSystems; in
+      [ nixpkgs.tarball ] ++ lib.collect lib.isDerivation nixos;
+  });
+
+}
diff --git a/nixos/release.nix b/nixos/release.nix
index e5a4e7337ab..375b65d040e 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -3,20 +3,20 @@
 , supportedSystems ? [ "x86_64-linux" "i686-linux" ]
 }:
 
+with import ../lib;
+
 let
 
   version = builtins.readFile ../.version;
   versionSuffix =
     (if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
 
-  forAllSystems = pkgs.lib.genAttrs supportedSystems;
+  forAllSystems = genAttrs supportedSystems;
 
-  callTest = fn: args: forAllSystems (system: import fn ({ inherit system; } // args));
+  callTest = fn: args: forAllSystems (system: hydraJob (import fn ({ inherit system; } // args)));
 
   pkgs = import nixpkgs { system = "x86_64-linux"; };
 
-  lib = pkgs.lib;
-
 
   versionModule =
     { system.nixosVersionSuffix = versionSuffix;
@@ -40,10 +40,10 @@ let
 
     in
       # Declare the ISO as a build product so that it shows up in Hydra.
-      runCommand "nixos-iso-${config.system.nixosVersion}"
+      hydraJob (runCommand "nixos-iso-${config.system.nixosVersion}"
         { meta = {
             description = "NixOS installation CD (${description}) - ISO image for ${system}";
-            maintainers = map (x: lib.getAttr x lib.maintainers) maintainers;
+            maintainers = map (x: lib.maintainers.${x}) maintainers;
           };
           inherit iso;
           passthru = { inherit config; };
@@ -51,7 +51,7 @@ let
         ''
           mkdir -p $out/nix-support
           echo "file iso" $iso/iso/*.iso* >> $out/nix-support/hydra-build-products
-        ''; # */
+        ''); # */
 
 
   makeSystemTarball =
@@ -72,20 +72,23 @@ let
       tarball //
         { meta = {
             description = "NixOS system tarball for ${system} - ${stdenv.platform.name}";
-            maintainers = map (x: lib.getAttr x lib.maintainers) maintainers;
+            maintainers = map (x: lib.maintainers.${x}) maintainers;
           };
           inherit config;
         };
 
 
-  makeClosure = module: forAllSystems (system: (import ./lib/eval-config.nix {
+  makeClosure = module: buildFromConfig module (config: config.system.build.toplevel);
+
+
+  buildFromConfig = module: sel: forAllSystems (system: hydraJob (sel (import ./lib/eval-config.nix {
     inherit system;
-    modules = [ module ] ++ lib.singleton
+    modules = [ module versionModule ] ++ singleton
       ({ config, lib, ... }:
-      { fileSystems."/".device  = lib.mkDefault "/dev/sda1";
-        boot.loader.grub.device = lib.mkDefault "/dev/sda";
+      { fileSystems."/".device  = mkDefault "/dev/sda1";
+        boot.loader.grub.device = mkDefault "/dev/sda";
       });
-  }).config.system.build.toplevel);
+  }).config));
 
 
 in rec {
@@ -122,9 +125,14 @@ in rec {
     };
 
 
-  manual = forAllSystems (system: (builtins.getAttr system iso_minimal).config.system.build.manual.manual);
-  manualPDF = iso_minimal.x86_64-linux.config.system.build.manual.manualPDF;
-  manpages = forAllSystems (system: (builtins.getAttr system iso_minimal).config.system.build.manual.manpages);
+  manual = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manual);
+  manualPDF = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manualPDF)).x86_64-linux;
+  manpages = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manpages);
+  options = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
+
+
+  # Build the initial ramdisk so Hydra can keep track of its size over time.
+  initialRamdisk = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.initialRamdisk);
 
 
   iso_minimal = forAllSystems (system: makeIso {
@@ -147,12 +155,6 @@ in rec {
     inherit system;
   });
 
-  iso_graphical_new_kernel = forAllSystems (system: makeIso {
-    module = ./modules/installer/cd-dvd/installation-cd-graphical-new-kernel.nix;
-    type = "graphical-new-kernel";
-    inherit system;
-  });
-
 
   # A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
   ova = forAllSystems (system:
@@ -171,10 +173,10 @@ in rec {
 
     in
       # Declare the OVA as a build product so that it shows up in Hydra.
-      runCommand "nixos-ova-${config.system.nixosVersion}-${system}"
+      hydraJob (runCommand "nixos-ova-${config.system.nixosVersion}-${system}"
         { meta = {
             description = "NixOS VirtualBox appliance (${system})";
-            maintainers = lib.maintainers.eelco;
+            maintainers = maintainers.eelco;
           };
           ova = config.system.build.virtualBoxOVA;
         }
@@ -182,11 +184,24 @@ in rec {
           mkdir -p $out/nix-support
           fn=$(echo $ova/*.ova)
           echo "file ova $fn" >> $out/nix-support/hydra-build-products
-        '' # */
+        '') # */
 
   );
 
 
+  # Ensure that all packages used by the minimal NixOS config end up in the channel.
+  dummy = forAllSystems (system: pkgs.runCommand "dummy"
+    { toplevel = (import lib/eval-config.nix {
+        inherit system;
+        modules = singleton ({ config, pkgs, ... }:
+          { fileSystems."/".device  = mkDefault "/dev/sda1";
+            boot.loader.grub.device = mkDefault "/dev/sda";
+          });
+      }).config.system.build.toplevel;
+    }
+    "mkdir $out; ln -s $toplevel $out/dummy");
+
+
   # Provide a tarball that can be unpacked into an SD card, and easily
   # boot that system from uboot (like for the sheevaplug).
   # The pc variant helps preparing the expression for the system tarball
@@ -196,6 +211,12 @@ in rec {
     inherit system;
   });
 
+  # Provide container tarball for lxc, libvirt-lxc, docker-lxc, ...
+  containerTarball = forAllSystems (system: makeSystemTarball {
+    module = ./modules/virtualisation/lxc-container.nix;
+    inherit system;
+  });
+
   /*
   system_tarball_fuloong2f =
     assert builtins.currentSystem == "mips64-linux";
@@ -218,30 +239,70 @@ in rec {
   # ‘nix-build tests/login.nix -A result’.
   tests.avahi = callTest tests/avahi.nix {};
   tests.bittorrent = callTest tests/bittorrent.nix {};
+  tests.blivet = callTest tests/blivet.nix {};
+  tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
+  tests.chromium = callTest tests/chromium.nix {};
+  tests.cjdns = callTest tests/cjdns.nix {};
   tests.containers = callTest tests/containers.nix {};
+  tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; });
+  tests.dockerRegistry = hydraJob (import tests/docker-registry.nix { system = "x86_64-linux"; });
+  tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; });
   tests.firefox = callTest tests/firefox.nix {};
   tests.firewall = callTest tests/firewall.nix {};
+  tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
+  #tests.gitlab = callTest tests/gitlab.nix {};
   tests.gnome3 = callTest tests/gnome3.nix {};
-  tests.installer = with pkgs.lib;
-    let installer = import tests/installer.nix; in
-    flip mapAttrs (installer { }) (name: _:
-      forAllSystems (system: (installer { system = system; }).${name}.test)
-    );
+  tests.i3wm = callTest tests/i3wm.nix {};
+  tests.installer.grub1 = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).grub1.test);
+  tests.installer.lvm = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).lvm.test);
+  tests.installer.rebuildCD = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).rebuildCD.test);
+  tests.installer.separateBoot = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).separateBoot.test);
+  tests.installer.simple = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).simple.test);
+  tests.installer.simpleLabels = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).simpleLabels.test);
+  tests.installer.simpleProvided = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).simpleProvided.test);
+  tests.installer.swraid = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).swraid.test);
+  tests.installer.btrfsSimple = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).btrfsSimple.test);
+  tests.installer.btrfsSubvols = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).btrfsSubvols.test);
+  tests.installer.btrfsSubvolDefault = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).btrfsSubvolDefault.test);
   tests.influxdb = callTest tests/influxdb.nix {};
   tests.ipv6 = callTest tests/ipv6.nix {};
   tests.jenkins = callTest tests/jenkins.nix {};
   tests.kde4 = callTest tests/kde4.nix {};
+  tests.kubernetes = hydraJob (import tests/kubernetes.nix { system = "x86_64-linux"; });
   tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
   tests.login = callTest tests/login.nix {};
-  tests.logstash = callTest tests/logstash.nix {};
+  #tests.logstash = callTest tests/logstash.nix {};
   tests.misc = callTest tests/misc.nix {};
   tests.mumble = callTest tests/mumble.nix {};
   tests.munin = callTest tests/munin.nix {};
   tests.mysql = callTest tests/mysql.nix {};
   tests.mysqlReplication = callTest tests/mysql-replication.nix {};
-  tests.nat = callTest tests/nat.nix {};
+  tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
+  tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; };
+  tests.networking.networkd.static = callTest tests/networking.nix { networkd = true; test = "static"; };
+  tests.networking.networkd.dhcpSimple = callTest tests/networking.nix { networkd = true; test = "dhcpSimple"; };
+  tests.networking.networkd.dhcpOneIf = callTest tests/networking.nix { networkd = true; test = "dhcpOneIf"; };
+  tests.networking.networkd.bond = callTest tests/networking.nix { networkd = true; test = "bond"; };
+  tests.networking.networkd.bridge = callTest tests/networking.nix { networkd = true; test = "bridge"; };
+  tests.networking.networkd.macvlan = callTest tests/networking.nix { networkd = true; test = "macvlan"; };
+  tests.networking.networkd.sit = callTest tests/networking.nix { networkd = true; test = "sit"; };
+  tests.networking.networkd.vlan = callTest tests/networking.nix { networkd = true; test = "vlan"; };
+  tests.networking.scripted.static = callTest tests/networking.nix { networkd = false; test = "static"; };
+  tests.networking.scripted.dhcpSimple = callTest tests/networking.nix { networkd = false; test = "dhcpSimple"; };
+  tests.networking.scripted.dhcpOneIf = callTest tests/networking.nix { networkd = false; test = "dhcpOneIf"; };
+  tests.networking.scripted.bond = callTest tests/networking.nix { networkd = false; test = "bond"; };
+  tests.networking.scripted.bridge = callTest tests/networking.nix { networkd = false; test = "bridge"; };
+  tests.networking.scripted.macvlan = callTest tests/networking.nix { networkd = false; test = "macvlan"; };
+  tests.networking.scripted.sit = callTest tests/networking.nix { networkd = false; test = "sit"; };
+  tests.networking.scripted.vlan = callTest tests/networking.nix { networkd = false; test = "vlan"; };
+  # TODO: put in networking.nix after the test becomes more complete
+  tests.networkingProxy = callTest tests/networking-proxy.nix {};
   tests.nfs3 = callTest tests/nfs.nix { version = 3; };
+  tests.nfs4 = callTest tests/nfs.nix { version = 4; };
+  tests.nsd = callTest tests/nsd.nix {};
   tests.openssh = callTest tests/openssh.nix {};
+  tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
+  tests.peerflix = callTest tests/peerflix.nix {};
   tests.printing = callTest tests/printing.nix {};
   tests.proxy = callTest tests/proxy.nix {};
   tests.quake3 = callTest tests/quake3.nix {};
@@ -249,7 +310,12 @@ in rec {
   tests.simple = callTest tests/simple.nix {};
   tests.tomcat = callTest tests/tomcat.nix {};
   tests.udisks2 = callTest tests/udisks2.nix {};
+  tests.virtualbox = hydraJob (import tests/virtualbox.nix { system = "x86_64-linux"; });
   tests.xfce = callTest tests/xfce.nix {};
+  tests.bootBiosCdrom = forAllSystems (system: hydraJob (import tests/boot.nix { inherit system; }).bootBiosCdrom);
+  tests.bootBiosUsb = forAllSystems (system: hydraJob (import tests/boot.nix { inherit system; }).bootBiosUsb);
+  tests.bootUefiCdrom = forAllSystems (system: hydraJob (import tests/boot.nix { inherit system; }).bootUefiCdrom);
+  tests.bootUefiUsb = forAllSystems (system: hydraJob (import tests/boot.nix { inherit system; }).bootUefiUsb);
 
 
   /* Build a bunch of typical closures so that Hydra can keep track of
diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix
index 002e012f65f..0d0f00212a0 100644
--- a/nixos/tests/bittorrent.nix
+++ b/nixos/tests/bittorrent.nix
@@ -16,7 +16,7 @@ let
   miniupnpdConf = nodes: pkgs.writeText "miniupnpd.conf"
     ''
       ext_ifname=eth1
-      listening_ip=${nodes.router.config.networking.interfaces.eth2.ipAddress}/24
+      listening_ip=${(pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address}/24
       allow 1024-65535 192.168.2.0/24 1024-65535
     '';
 
@@ -28,7 +28,7 @@ in
   nodes =
     { tracker =
         { config, pkgs, ... }:
-        { environment.systemPackages = [ pkgs.transmission pkgs.bittorrent ];
+        { environment.systemPackages = [ pkgs.transmission pkgs.opentracker ];
 
           # We need Apache on the tracker to serve the torrents.
           services.httpd.enable = true;
@@ -53,7 +53,7 @@ in
         { environment.systemPackages = [ pkgs.transmission ];
           virtualisation.vlans = [ 2 ];
           networking.defaultGateway =
-            nodes.router.config.networking.interfaces.eth2.ipAddress;
+            (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address;
           networking.firewall.enable = false;
         };
 
@@ -81,12 +81,12 @@ in
       # Create the torrent.
       $tracker->succeed("mkdir /tmp/data");
       $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2");
-      $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${nodes.tracker.config.networking.interfaces.eth1.ipAddress}:6969/announce -o /tmp/test.torrent");
+      $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -p -t http://${(pkgs.lib.head nodes.tracker.config.networking.interfaces.eth1.ip4).address}:6969/announce -o /tmp/test.torrent");
       $tracker->succeed("chmod 644 /tmp/test.torrent");
 
       # Start the tracker.  !!! use a less crappy tracker
       $tracker->waitForUnit("network.target");
-      $tracker->succeed("bittorrent-tracker --port 6969 --dfile /tmp/dstate >&2 &");
+      $tracker->succeed("opentracker -p 6969 >&2 &");
       $tracker->waitForOpenPort(6969);
 
       # Start the initial seeder.
diff --git a/nixos/tests/blivet.nix b/nixos/tests/blivet.nix
new file mode 100644
index 00000000000..72c2a33f87e
--- /dev/null
+++ b/nixos/tests/blivet.nix
@@ -0,0 +1,83 @@
+import ./make-test.nix ({ pkgs, ... }: with pkgs.pythonPackages; rec {
+  name = "blivet";
+
+  machine = {
+    environment.systemPackages = [ pkgs.python blivet mock ];
+    boot.supportedFilesystems = [ "btrfs" "jfs" "reiserfs" "xfs" ];
+    virtualisation.memorySize = 768;
+  };
+
+  debugBlivet       = false;
+  debugProgramCalls = false;
+
+  pythonTestRunner = pkgs.writeText "run-blivet-tests.py" ''
+    import sys
+    import logging
+
+    from unittest import TestLoader
+    from unittest.runner import TextTestRunner
+
+    ${pkgs.lib.optionalString debugProgramCalls ''
+      blivet_program_log = logging.getLogger("program")
+      blivet_program_log.setLevel(logging.DEBUG)
+      blivet_program_log.addHandler(logging.StreamHandler(sys.stderr))
+    ''}
+
+    ${pkgs.lib.optionalString debugBlivet ''
+      blivet_log = logging.getLogger("blivet")
+      blivet_log.setLevel(logging.DEBUG)
+      blivet_log.addHandler(logging.StreamHandler(sys.stderr))
+    ''}
+
+    runner = TextTestRunner(verbosity=2, failfast=False, buffer=False)
+    result = runner.run(TestLoader().discover('tests/', pattern='*_test.py'))
+    sys.exit(not result.wasSuccessful())
+  '';
+
+  blivetTest = pkgs.writeScript "blivet-test.sh" ''
+    #!${pkgs.stdenv.shell} -e
+
+    # Use the hosts temporary directory, because we have a tmpfs within the VM
+    # and we don't want to increase the memory size of the VM for no reason.
+    mkdir -p /tmp/xchg/bigtmp
+    TMPDIR=/tmp/xchg/bigtmp
+    export TMPDIR
+
+    cp -Rd "${blivet.src}/tests" .
+
+    # Skip SELinux tests
+    rm -f tests/formats_test/selinux_test.py
+
+    # Race conditions in growing/shrinking during resync
+    rm -f tests/devicelibs_test/mdraid_*
+
+    # Deactivate small BTRFS device test, because it fails with newer btrfsprogs
+    sed -i -e '/^class *BTRFSAsRootTestCase3(/,/^[^ ]/ {
+      /^class *BTRFSAsRootTestCase3(/d
+      /^$/d
+      /^ /d
+    }' tests/devicelibs_test/btrfs_test.py
+
+    # How on earth can these tests ever work even upstream? O_o
+    sed -i -e '/def testDiskChunk[12]/,/^ *[^ ]/{n; s/^ */&return # /}' \
+      tests/partitioning_test.py
+
+    # fix hardcoded temporary directory
+    sed -i \
+      -e '1i import tempfile' \
+      -e 's|_STORE_FILE_PATH = .*|_STORE_FILE_PATH = tempfile.gettempdir()|' \
+      tests/loopbackedtestcase.py
+
+    PYTHONPATH=".:$(< "${pkgs.stdenv.mkDerivation {
+      name = "blivet-pythonpath";
+      buildInputs = [ blivet mock ];
+      buildCommand = "echo \"$PYTHONPATH\" > \"$out\"";
+    }}")" python "${pythonTestRunner}"
+  '';
+
+  testScript = ''
+    $machine->waitForUnit("multi-user.target");
+    $machine->succeed("${blivetTest}");
+    $machine->execute("rm -rf /tmp/xchg/bigtmp");
+  '';
+})
diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix
new file mode 100644
index 00000000000..2fdbb0c00b8
--- /dev/null
+++ b/nixos/tests/boot.nix
@@ -0,0 +1,63 @@
+{ system ? builtins.currentSystem }:
+
+with import ../lib/testing.nix { inherit system; };
+with import ../lib/qemu-flags.nix;
+with pkgs.lib;
+
+let
+
+  iso =
+    (import ../lib/eval-config.nix {
+      inherit system;
+      modules =
+        [ ../modules/installer/cd-dvd/installation-cd-minimal.nix
+          ../modules/testing/test-instrumentation.nix
+          { key = "serial";
+            boot.loader.grub.timeout = mkOverride 0 0;
+
+            # The test cannot access the network, so any sources we
+            # need must be included in the ISO.
+            isoImage.storeContents =
+              [ pkgs.glibcLocales
+                pkgs.sudo
+                pkgs.docbook5
+                pkgs.docbook5_xsl
+                pkgs.grub
+                pkgs.perlPackages.XMLLibXML
+                pkgs.unionfs-fuse
+                pkgs.gummiboot
+              ];
+          }
+        ];
+    }).config.system.build.isoImage;
+
+  makeBootTest = name: machineConfig:
+    makeTest {
+      inherit iso;
+      name = "boot-" + name;
+      nodes = { };
+      testScript =
+        ''
+          my $machine = createMachine({ ${machineConfig}, qemuFlags => '-m 768' });
+          $machine->start;
+          $machine->waitForUnit("multi-user.target");
+          $machine->shutdown;
+        '';
+    };
+in {
+    bootBiosCdrom = makeBootTest "bios-cdrom" ''
+        cdrom => glob("${iso}/iso/*.iso")
+      '';
+    bootBiosUsb = makeBootTest "bios-usb" ''
+        usb => glob("${iso}/iso/*.iso")
+      '';
+    bootUefiCdrom = makeBootTest "uefi-cdrom" ''
+        cdrom => glob("${iso}/iso/*.iso"),
+        bios => '${pkgs.OVMF}/FV/OVMF.fd'
+      '';
+    bootUefiUsb = makeBootTest "uefi-usb" ''
+        usb => glob("${iso}/iso/*.iso"),
+        bios => '${pkgs.OVMF}/FV/OVMF.fd'
+      '';
+  }
+
diff --git a/nixos/tests/cadvisor.nix b/nixos/tests/cadvisor.nix
new file mode 100644
index 00000000000..225bf1a7483
--- /dev/null
+++ b/nixos/tests/cadvisor.nix
@@ -0,0 +1,30 @@
+import ./make-test.nix {
+  name = "cadvisor";
+
+  nodes = {
+    machine = { config, pkgs, ... }: {
+      services.cadvisor.enable = true;
+    };
+
+    influxdb = { config, pkgs, lib, ... }: with lib; {
+      services.cadvisor.enable = true;
+      services.cadvisor.storageDriver = "influxdb";
+      services.influxdb.enable = true;
+      systemd.services.influxdb.postStart = mkAfter ''
+        ${pkgs.curl}/bin/curl -X POST 'http://localhost:8086/db?u=root&p=root' \
+          -d '{"name": "root"}'
+      '';
+    };
+  };
+
+  testScript =
+    ''
+      startAll;
+      $machine->waitForUnit("cadvisor.service");
+      $machine->succeed("curl http://localhost:8080/containers/");
+
+      $influxdb->waitForUnit("influxdb.service");
+      $influxdb->waitForUnit("cadvisor.service");
+      $influxdb->succeed("curl http://localhost:8080/containers/");
+    '';
+}
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix
new file mode 100644
index 00000000000..026433fc7ee
--- /dev/null
+++ b/nixos/tests/chromium.nix
@@ -0,0 +1,170 @@
+import ./make-test.nix (
+{ pkgs
+, channelMap ? {
+    stable = pkgs.chromium;
+    beta   = pkgs.chromiumBeta;
+    dev    = pkgs.chromiumDev;
+  }
+, ...
+}: rec {
+  name = "chromium";
+
+  machine.imports = [ ./common/x11.nix ];
+  machine.virtualisation.memorySize = 1024;
+
+  startupHTML = pkgs.writeText "chromium-startup.html" ''
+    <!DOCTYPE html>
+    <html>
+    <head>
+    <meta charset="UTF-8">
+    <title>Chromium startup notifier</title>
+    </head>
+    <body onload="javascript:document.title='startup done'">
+      <img src="file://${pkgs.fetchurl {
+        url = "http://nixos.org/logo/nixos.svg";
+        sha256 = "0p2iaqcx2cj24xqycfw1pi4i5461gnn0034lafpi99ph435x6z68";
+      }}" />
+    </body>
+    </html>
+  '';
+
+  testScript = let
+    xdo = name: text: let
+      xdoScript = pkgs.writeText "${name}.xdo" text;
+    in "${pkgs.xdotool}/bin/xdotool '${xdoScript}'";
+  in ''
+    sub createNewWin {
+      $machine->nest("creating a new Chromium window", sub {
+        $machine->execute("${xdo "new-window" ''
+          search --onlyvisible --name "startup done"
+          windowfocus --sync
+          windowactivate --sync
+          key Ctrl+n
+        ''}");
+      });
+    }
+
+    sub closeWin {
+      Machine::retry sub {
+        $machine->execute("${xdo "close-window" ''
+          search --onlyvisible --name "new tab"
+          windowfocus --sync
+          windowactivate --sync
+          key Ctrl+w
+        ''}");
+        for (1..20) {
+          my ($status, $out) = $machine->execute("${xdo "wait-for-close" ''
+            search --onlyvisible --name "new tab"
+          ''}");
+          return 1 if $status != 0;
+          $machine->sleep(1);
+        }
+      }
+    }
+
+    sub waitForNewWin {
+      my $ret = 0;
+      $machine->nest("waiting for new Chromium window to appear", sub {
+        for (1..20) {
+          my ($status, $out) = $machine->execute("${xdo "wait-for-window" ''
+            search --onlyvisible --name "new tab"
+            windowfocus --sync
+            windowactivate --sync
+          ''}");
+          if ($status == 0) {
+            $ret = 1;
+            last;
+          }
+          $machine->sleep(1);
+        }
+      });
+      return $ret;
+    }
+
+    sub createAndWaitForNewWin {
+      for (1..3) {
+        createNewWin;
+        return 1 if waitForNewWin;
+      }
+      die "new window didn't appear within 60 seconds";
+    }
+
+    sub testNewWin {
+      my ($desc, $code) = @_;
+      createAndWaitForNewWin;
+      subtest($desc, $code);
+      closeWin;
+    }
+
+    sub chromiumTest {
+      my ($channel, $pkg, $code) = @_;
+      $machine->waitForX;
+
+      my $url = "file://${startupHTML}";
+      my $args = "--user-data-dir=/tmp/chromium-$channel";
+      $machine->execute(
+        "ulimit -c unlimited; ".
+        "$pkg/bin/chromium $args \"$url\" & disown"
+      );
+      $machine->waitUntilSucceeds("${xdo "check-startup" ''
+        search --sync --onlyvisible --name "startup done"
+        # close first start help popup
+        key -delay 1000 Escape
+        # XXX: This is to make sure the popup is closed, but we better do
+        # screenshots to detect visual changes.
+        key -delay 2000 Escape
+        key -delay 3000 Escape
+        key -delay 4000 Escape
+        windowfocus --sync
+        windowactivate --sync
+      ''}");
+
+      createAndWaitForNewWin;
+      $machine->screenshot($channel."_emptywin");
+      closeWin;
+
+      $machine->screenshot($channel."_startup_done");
+
+      subtest("Chromium $channel", $code);
+
+      $machine->shutdown;
+    }
+
+    for (${let
+      mkArray = name: pkg: "[\"${name}\", \"${pkg}\"]";
+      chanArrays = pkgs.lib.mapAttrsToList mkArray channelMap;
+    in pkgs.lib.concatStringsSep ", " chanArrays}) {
+      my ($channel, $pkg) = @$_;
+      chromiumTest $channel, $pkg, sub {
+        testNewWin "check sandbox", sub {
+          $machine->succeed("${xdo "type-url" ''
+            search --sync --onlyvisible --name "new tab"
+            windowfocus --sync
+            type --delay 1000 "chrome://sandbox"
+          ''}");
+
+          $machine->succeed("${xdo "submit-url" ''
+            search --sync --onlyvisible --name "new tab"
+            windowfocus --sync
+            key --delay 1000 Return
+          ''}");
+
+          $machine->screenshot($channel."_sandbox");
+
+          $machine->succeed("${xdo "submit-url" ''
+            search --sync --onlyvisible --name "sandbox status"
+            windowfocus --sync
+            key --delay 1000 Ctrl+a Ctrl+c
+          ''}");
+
+          my $clipboard = $machine->succeed("${pkgs.xclip}/bin/xclip -o");
+          die "sandbox not working properly: $clipboard"
+          unless $clipboard =~ /(?:suid|namespace) sandbox.*yes/mi
+              && $clipboard =~ /pid namespaces.*yes/mi
+              && $clipboard =~ /network namespaces.*yes/mi
+              && $clipboard =~ /seccomp.*sandbox.*yes/mi;
+        };
+      };
+    }
+  '';
+})
diff --git a/nixos/tests/cjdns.nix b/nixos/tests/cjdns.nix
new file mode 100644
index 00000000000..45164234b1b
--- /dev/null
+++ b/nixos/tests/cjdns.nix
@@ -0,0 +1,122 @@
+let
+  carolKey = "2d2a338b46f8e4a8c462f0c385b481292a05f678e19a2b82755258cf0f0af7e2";
+  carolPubKey = "n932l3pjvmhtxxcdrqq2qpw5zc58f01vvjx01h4dtd1bb0nnu2h0.k";
+  carolPassword = "678287829ce4c67bc8b227e56d94422ee1b85fa11618157b2f591de6c6322b52";
+  carolIp4 = "192.168.0.9";
+
+  basicConfig =
+    { config, pkgs, ... }:
+    { services.cjdns.enable = true;
+
+      # Turning off DHCP isn't very realistic but makes
+      # the sequence of address assignment less stochastic.
+      networking.useDHCP = false;
+
+      networking.interfaces.eth1.prefixLength = 24;
+      # CJDNS output is incompatible with the XML log.
+      systemd.services.cjdns.serviceConfig.StandardOutput = "null";
+      #networking.firewall.enable = true;
+      networking.firewall.allowPing = true;
+      #networking.firewall.rejectPackets = true;
+    };
+
+in
+
+import ./make-test.nix {
+  name = "cjdns";
+
+  nodes = rec
+    { # Alice finds peers over over ETHInterface.
+      alice =
+        { config, ... }:
+        { imports = [ basicConfig ];
+
+          services.cjdns.ETHInterface.bind = "eth1";
+
+          services.httpd.enable = true;
+          services.httpd.adminAddr = "foo@example.org";
+          networking.firewall.allowedTCPPorts = [ 80 ];
+        };
+
+      # Bob explicitly connects to Carol over UDPInterface.
+      bob =
+        { config, lib, nodes, ... }:
+
+        let carolIp4 = lib.mkForce nodes.carol.config.networking.interfaces.eth1; in
+
+          { imports = [ basicConfig ];
+
+          networking.interfaces.eth1.ipAddress = "192.168.0.2";
+
+          services.cjdns =
+            { UDPInterface =
+                { bind = "0.0.0.0:1024";
+                  connectTo."192.168.0.1:1024}" =
+                    { password = carolPassword;
+                      publicKey = carolPubKey;
+                    };
+                };
+            };
+        };
+
+      # Carol listens on ETHInterface and UDPInterface,
+      # but knows neither Alice or Bob.
+      carol =
+        { config, lib, nodes, ... }:
+          let
+            carolIp4 = (lib.mkForce nodes.carol.config.networking.interfaces.eth1);
+          in
+          { imports = [ basicConfig ];
+
+          environment.etc."cjdns.keys".text = ''
+            CJDNS_PRIVATE_KEY=${carolKey}
+            CJDNS_ADMIN_PASSWORD=FOOBAR
+          '';
+
+          networking.interfaces.eth1.ipAddress = "192.168.0.1";
+
+          services.cjdns =
+            { authorizedPasswords = [ carolPassword ];
+              ETHInterface.bind = "eth1";
+              UDPInterface.bind = "192.168.0.1:1024";
+            };
+          networking.firewall.allowedUDPPorts = [ 1024 ];
+        };
+
+    };
+
+  testScript =
+    ''
+      startAll;
+
+      $alice->waitForUnit("cjdns.service");
+      $bob->waitForUnit("cjdns.service");
+      $carol->waitForUnit("cjdns.service");
+
+      sub cjdnsIp {
+          my ($machine) = @_;
+          my $ip = (split /[ \/]+/, $machine->succeed("ip -o -6 addr show dev tun0"))[3];
+          $machine->log("has ip $ip");
+          return $ip;
+      }
+
+      my $aliceIp6 = cjdnsIp $alice;
+      my $bobIp6   = cjdnsIp $bob;
+      my $carolIp6 = cjdnsIp $carol;
+
+      # ping a few times each to let the routing table establish itself
+
+      $alice->succeed("ping6 -c 4 $carolIp6");
+      $bob->succeed("ping6 -c 4 $carolIp6");
+
+      $carol->succeed("ping6 -c 4 $aliceIp6");
+      $carol->succeed("ping6 -c 4 $bobIp6");
+
+      $alice->succeed("ping6 -c 4 $bobIp6");
+      $bob->succeed("ping6 -c 4 $aliceIp6");
+
+      $alice->waitForUnit("httpd.service");
+
+      $bob->succeed("curl --fail -g http://[$aliceIp6]");
+    '';
+}
diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix
index a582e23fda0..e40a8100a06 100644
--- a/nixos/tests/containers.nix
+++ b/nixos/tests/containers.nix
@@ -43,7 +43,7 @@ import ./make-test.nix {
       $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
 
       # Make sure we have a NixOS tree (required by ‘nixos-container create’).
-      $machine->succeed("nix-env -qa -A nixos.pkgs.hello >&2");
+      $machine->succeed("PAGER=cat nix-env -qa -A nixos.pkgs.hello >&2");
 
       # Create some containers imperatively.
       my $id1 = $machine->succeed("nixos-container create foo --ensure-unique-name");
@@ -56,23 +56,59 @@ import ./make-test.nix {
 
       die if $id1 eq $id2;
 
+      # Put the root of $id2 into a bind mount.
+      $machine->succeed(
+        "mv /var/lib/containers/$id2 /id2-bindmount",
+        "mount --bind /id2-bindmount /var/lib/containers/$id1"
+      );
+
       my $ip1 = $machine->succeed("nixos-container show-ip $id1");
       chomp $ip1;
       my $ip2 = $machine->succeed("nixos-container show-ip $id2");
       chomp $ip2;
       die if $ip1 eq $ip2;
 
+      # Create a directory and a file we can later check if it still exists
+      # after destruction of the container.
+      $machine->succeed(
+        "mkdir /nested-bindmount",
+        "echo important data > /nested-bindmount/dummy",
+      );
+
+      # Create a directory with a dummy file and bind-mount it into both
+      # containers.
+      foreach ($id1, $id2) {
+        my $importantPath = "/var/lib/containers/$_/very/important/data";
+        $machine->succeed(
+          "mkdir -p $importantPath",
+          "mount --bind /nested-bindmount $importantPath"
+        );
+      }
+
       # Start one of them.
       $machine->succeed("nixos-container start $id1");
 
       # Execute commands via the root shell.
       $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
-      $machine->succeed("nixos-container set-root-password $id1 foobar");
+
+      # Stop and start (regression test for #4989)
+      $machine->succeed("nixos-container stop $id1");
+      $machine->succeed("nixos-container start $id1");
+
+      # Execute commands via the root shell.
+      $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
 
       # Destroy the containers.
       $machine->succeed("nixos-container destroy $id1");
       $machine->succeed("nixos-container destroy $id2");
 
+      $machine->succeed(
+        # Check whether destruction of any container has killed important data
+        "grep -qF 'important data' /nested-bindmount/dummy",
+        # Ensure that the container path is gone
+        "test ! -e /var/lib/containers/$id1"
+      );
+
       # Destroying a declarative container should fail.
       $machine->fail("nixos-container destroy webserver");
     '';
diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix
new file mode 100644
index 00000000000..cc3c4774680
--- /dev/null
+++ b/nixos/tests/docker-registry.nix
@@ -0,0 +1,40 @@
+# This test runs docker-registry and check if it works
+
+import ./make-test.nix {
+  name = "docker-registry";
+
+  nodes = {
+    registry = { config, pkgs, ... }: {
+      services.dockerRegistry.enable = true;
+      services.dockerRegistry.port = 8080;
+      services.dockerRegistry.host = "0.0.0.0";
+      networking.firewall.allowedTCPPorts = [ 8080 ];
+    };
+
+    client1 = { config, pkgs, ...}: {
+      virtualisation.docker.enable = true;
+      virtualisation.docker.extraOptions = "--insecure-registry registry:8080";
+    };
+
+    client2 = { config, pkgs, ...}: {
+      virtualisation.docker.enable = true;
+      virtualisation.docker.extraOptions = "--insecure-registry registry:8080";
+    };
+  };
+
+  testScript = ''
+    $client1->start();
+    $client1->waitForUnit("docker.service");
+    $client1->succeed("tar cv --files-from /dev/null | docker import - scratch");
+    $client1->succeed("docker tag scratch registry:8080/scratch");
+
+    $registry->start();
+    $registry->waitForUnit("docker-registry.service");
+    $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");
+  '';
+}
diff --git a/nixos/tests/docker.nix b/nixos/tests/docker.nix
new file mode 100644
index 00000000000..63c909ff294
--- /dev/null
+++ b/nixos/tests/docker.nix
@@ -0,0 +1,24 @@
+# This test runs docker and checks if simple container starts
+
+import ./make-test.nix {
+  name = "docker";
+
+  nodes = {
+    docker =
+      { config, pkgs, ... }:
+        {
+          virtualisation.docker.enable = true;
+        };
+    };
+
+  testScript = ''
+    startAll;
+
+    $docker->waitForUnit("docker.service");
+    $docker->succeed("tar cv --files-from /dev/null | docker import - scratch");
+    $docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratch /bin/sleep 10");
+    $docker->succeed("docker ps | grep sleeping");
+    $docker->succeed("docker stop sleeping");
+  '';
+
+}
diff --git a/nixos/tests/etcd.nix b/nixos/tests/etcd.nix
new file mode 100644
index 00000000000..ace5e05b170
--- /dev/null
+++ b/nixos/tests/etcd.nix
@@ -0,0 +1,108 @@
+# This test runs etcd as single node, multy node and using discovery
+
+import ./make-test.nix {
+  name = "etcd";
+
+  nodes = {
+    simple =
+      { config, pkgs, nodes, ... }:
+        {
+          services.etcd.enable = true;
+          services.etcd.listenClientUrls = ["http://0.0.0.0:4001"];
+          environment.systemPackages = [ pkgs.curl ];
+          networking.firewall.allowedTCPPorts = [ 4001 ];
+        };
+
+
+    node1 =
+      { config, pkgs, nodes, ... }:
+        {
+          services = {
+            etcd = {
+              enable = true;
+              listenPeerUrls = ["http://0.0.0.0:7001"];
+              initialAdvertisePeerUrls = ["http://node1:7001"];
+              initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"];
+            };
+          };
+
+          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"];
+            };
+          };
+
+          networking.firewall.allowedTCPPorts = [ 7001 ];
+        };
+
+    discovery1 =
+      { config, pkgs, nodes, ... }:
+        {
+          services = {
+            etcd = {
+              enable = true;
+              listenPeerUrls = ["http://0.0.0.0:7001"];
+              initialAdvertisePeerUrls = ["http://discovery1:7001"];
+              discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/";
+            };
+          };
+
+          networking.firewall.allowedTCPPorts = [ 7001 ];
+        };
+
+    discovery2 =
+      { config, pkgs, ... }:
+        {
+          services = {
+            etcd = {
+              enable = true;
+              listenPeerUrls = ["http://0.0.0.0:7001"];
+              initialAdvertisePeerUrls = ["http://discovery2:7001"];
+              discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/";
+            };
+          };
+
+          networking.firewall.allowedTCPPorts = [ 7001 ];
+        };
+    };
+
+  testScript = ''
+    subtest "single node", sub {
+      $simple->start();
+      $simple->waitForUnit("etcd.service");
+      $simple->succeed("etcdctl set /foo/bar 'Hello world'");
+      $simple->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
+    };
+
+    subtest "multy node", sub {
+      $node1->start();
+      $node2->start();
+      $node1->waitForUnit("etcd.service");
+      $node2->waitForUnit("etcd.service");
+      $node1->succeed("etcdctl set /foo/bar 'Hello world'");
+      $node2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
+      $node1->shutdown();
+      $node2->shutdown();
+    };
+
+    subtest "discovery", sub {
+      $simple->succeed("curl -X PUT http://localhost:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/_config/size -d value=2");
+
+      $discovery1->start();
+      $discovery2->start();
+      $discovery1->waitForUnit("etcd.service");
+      $discovery2->waitForUnit("etcd.service");
+      $discovery1->succeed("etcdctl set /foo/bar 'Hello world'");
+      $discovery2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'");
+    };
+  '';
+}
diff --git a/nixos/tests/fleet.nix b/nixos/tests/fleet.nix
new file mode 100644
index 00000000000..c60f596b6f5
--- /dev/null
+++ b/nixos/tests/fleet.nix
@@ -0,0 +1,73 @@
+import ./make-test.nix rec {
+  name = "simple";
+
+  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/gitlab.nix b/nixos/tests/gitlab.nix
new file mode 100644
index 00000000000..27c65fe47e8
--- /dev/null
+++ b/nixos/tests/gitlab.nix
@@ -0,0 +1,21 @@
+# This test runs gitlab and checks if it works
+
+import ./make-test.nix {
+  name = "gitlab";
+
+  nodes = {
+    gitlab = { config, pkgs, ... }: {
+      virtualisation.memorySize = 768;
+      services.gitlab.enable = true;
+      services.gitlab.databasePassword = "gitlab";
+      systemd.services.gitlab.serviceConfig.TimeoutStartSec = "10min";
+    };
+  };
+
+  testScript = ''
+    $gitlab->start();
+    $gitlab->waitForUnit("gitlab.service");
+    $gitlab->waitForUnit("gitlab-sidekiq.service");
+    $gitlab->waitUntilSucceeds("curl http://localhost:8080/users/sign_in");
+  '';
+}
diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix
index 44668f57fc1..6f2925e52fa 100644
--- a/nixos/tests/gnome3.nix
+++ b/nixos/tests/gnome3.nix
@@ -11,6 +11,8 @@ import ./make-test.nix {
       services.xserver.displayManager.auto.enable = true;
       services.xserver.displayManager.auto.user = "alice";
       services.xserver.desktopManager.gnome3.enable = true;
+
+      virtualisation.memorySize = 512;
     };
 
   testScript =
@@ -23,7 +25,7 @@ import ./make-test.nix {
 
       $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
       $machine->waitForWindow(qr/Terminal/);
-      $machine->sleep(10);
+      $machine->sleep(20);
       $machine->screenshot("screen");
     '';
 
diff --git a/nixos/tests/gnome3_12.nix b/nixos/tests/gnome3_12.nix
deleted file mode 100644
index 439674b69d5..00000000000
--- a/nixos/tests/gnome3_12.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-import ./make-test.nix {
-  name = "gnome3_12";
-
-  machine =
-    { config, pkgs, ... }:
-
-    { imports = [ ./common/user-account.nix ];
-
-      services.xserver.enable = true;
-
-      services.xserver.displayManager.auto.enable = true;
-      services.xserver.displayManager.auto.user = "alice";
-      services.xserver.desktopManager.gnome3.enable = true;
-      environment.gnome3.packageSet = pkgs.gnome3_12;
-    };
-
-  testScript =
-    ''
-      $machine->waitForX;
-      $machine->sleep(15);
-
-      # 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->waitForWindow(qr/Terminal/);
-      $machine->sleep(10);
-      $machine->screenshot("screen");
-    '';
-
-}
diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix
new file mode 100644
index 00000000000..0966dba8a3c
--- /dev/null
+++ b/nixos/tests/i3wm.nix
@@ -0,0 +1,28 @@
+import ./make-test.nix {
+  name = "i3wm";
+
+  machine = { lib, pkgs, ... }: {
+    imports = [ ./common/x11.nix ./common/user-account.nix ];
+    services.xserver.displayManager.auto.user = "alice";
+    services.xserver.windowManager.default = lib.mkForce "i3";
+    services.xserver.windowManager.i3.enable = true;
+  };
+
+  testScript = { nodes, ... }: ''
+    $machine->waitForX;
+    $machine->waitForWindow(qr/first configuration/);
+    $machine->sleep(1);
+    $machine->screenshot("started");
+    $machine->sendKeys("ret");
+    $machine->sleep(1);
+    $machine->sendKeys("alt");
+    $machine->sleep(1);
+    $machine->screenshot("configured");
+    $machine->sendKeys("ret");
+    $machine->sleep(2);
+    $machine->sendKeys("alt-ret");
+    $machine->waitForWindow(qr/machine.*alice/);
+    $machine->sleep(1);
+    $machine->screenshot("terminal");
+  '';
+}
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index ef11fcb1001..af87705b927 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -6,13 +6,13 @@ with pkgs.lib;
 
 let
 
-  # Build the ISO.  This is the regular installation CD but with test
-  # instrumentation.
+  # Build the ISO.  This is the regular minimal installation CD but
+  # with test instrumentation.
   iso =
     (import ../lib/eval-config.nix {
       inherit system;
       modules =
-        [ ../modules/installer/cd-dvd/installation-cd-graphical.nix
+        [ ../modules/installer/cd-dvd/installation-cd-minimal.nix
           ../modules/testing/test-instrumentation.nix
           { key = "serial";
             boot.loader.grub.timeout = mkOverride 0 0;
@@ -24,40 +24,52 @@ let
                 pkgs.sudo
                 pkgs.docbook5
                 pkgs.docbook5_xsl
-                pkgs.grub
-                pkgs.perlPackages.XMLLibXML
                 pkgs.unionfs-fuse
+
+                # Bootloader support
+                pkgs.grub
+                pkgs.grub2
+                pkgs.grub2_efi
                 pkgs.gummiboot
+                pkgs.perlPackages.XMLLibXML
+                pkgs.perlPackages.ListCompare
               ];
+
+            # Don't use https://cache.nixos.org since the fake
+            # cache.nixos.org doesn't do https.
+            nix.binaryCaches = [ http://cache.nixos.org/ ];
           }
         ];
     }).config.system.build.isoImage;
 
 
   # The configuration to install.
-  makeConfig = { testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }:
+  makeConfig = { testChannel, grubVersion, grubDevice, grubIdentifier
+    , readOnly ? true, forceGrubReinstallCount ? 0 }:
     pkgs.writeText "configuration.nix" ''
-      { config, pkgs, modulesPath, ... }:
+      { config, lib, pkgs, modulesPath, ... }:
 
       { imports =
           [ ./hardware-configuration.nix
             <nixpkgs/nixos/modules/testing/test-instrumentation.nix>
+            <nixpkgs/nixos/modules/profiles/minimal.nix>
           ];
 
-        ${if useEFI then ''
-          boot.loader.efi.canTouchEfiVariables = true;
-          boot.loader.gummiboot.enable = true;
-        '' else ''
-          boot.loader.grub.version = ${toString grubVersion};
-          ${optionalString (grubVersion == 1) ''
-            boot.loader.grub.splashImage = null;
-          ''}
-          boot.loader.grub.device = "${grubDevice}";
-          boot.loader.grub.extraConfig = "serial; terminal_output.serial";
-          boot.loader.grub.fsIdentifier = "${grubIdentifier}";
+        boot.loader.grub.version = ${toString grubVersion};
+        ${optionalString (grubVersion == 1) ''
+          boot.loader.grub.splashImage = null;
         ''}
+        boot.loader.grub.device = "${grubDevice}";
+        boot.loader.grub.extraConfig = "serial; terminal_output.serial";
+        boot.loader.grub.fsIdentifier = "${grubIdentifier}";
+
+        boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount};
+
+        ${optionalString (!readOnly) "nix.readOnlyStore = false;"}
 
         environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ];
+
+        nix.binaryCaches = [ http://cache.nixos.org/ ];
       }
     '';
 
@@ -65,7 +77,7 @@ let
   # Configuration of a web server that simulates the Nixpkgs channel
   # distribution server.
   webserver =
-    { config, pkgs, ... }:
+    { config, lib, pkgs, ... }:
 
     { services.httpd.enable = true;
       services.httpd.adminAddr = "foo@example.org";
@@ -94,16 +106,14 @@ let
   # disk, and then reboot from the hard disk.  It's parameterized with
   # a test script fragment `createPartitions', which must create
   # partitions and filesystems.
-  testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice, grubIdentifier }:
+  testScriptFun = { createPartitions, testChannel, grubVersion, grubDevice, grubIdentifier }:
     let
       # FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html
-      iface = if useEFI || grubVersion == 1 then "scsi" else "virtio";
+      iface = if grubVersion == 1 then "scsi" else "virtio";
       qemuFlags =
         (if iso.system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
-        (optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ") +
-        (optionalString useEFI ''-L ${efiBios} -hda ''${\(Cwd::abs_path('harddisk'))} '');
-      hdFlags = optionalString (!useEFI)
-        ''hda => "harddisk", hdaInterface => "${iface}", '';
+        (optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ");
+      hdFlags =''hda => "harddisk", hdaInterface => "${iface}", '';
     in
     ''
       createDisk("harddisk", 4 * 1024);
@@ -162,7 +172,7 @@ let
       $machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
 
       $machine->copyFileFromHost(
-          "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice grubIdentifier; } }",
+          "${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; } }",
           "/mnt/etc/nixos/configuration.nix");
 
       # Perform the installation.
@@ -183,29 +193,43 @@ let
       # Did /boot get mounted?
       $machine->waitForUnit("local-fs.target");
 
-      ${if useEFI then ''
-        $machine->succeed("test -e /boot/efi");
-      '' else ''
-        $machine->succeed("test -e /boot/grub");
-      ''}
+      $machine->succeed("test -e /boot/grub");
+
+      # Check whether /root has correct permissions.
+      $machine->succeed("stat -c '%a' /root") =~ /700/ or die;
 
       # Did the swap device get activated?
-      $machine->waitForUnit("swap.target");
-      $machine->succeed("cat /proc/swaps | grep -q /dev");
+      # uncomment once https://bugs.freedesktop.org/show_bug.cgi?id=86930 is resolved
+      #$machine->waitForUnit("swap.target");
+      $machine->waitUntilSucceeds("cat /proc/swaps | grep -q /dev");
 
       # Check whether the channel works.
       $machine->succeed("nix-env -i coreutils >&2");
       $machine->succeed("type -tP ls | tee /dev/stderr") =~ /.nix-profile/
           or die "nix-env failed";
 
+      # We need to a writable nix-store on next boot
+      $machine->copyFileFromHost(
+          "${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 1; } }",
+          "/etc/nixos/configuration.nix");
+
       # Check whether nixos-rebuild works.
       $machine->succeed("nixos-rebuild switch >&2");
 
       # Test nixos-option.
       $machine->succeed("nixos-option boot.initrd.kernelModules | grep virtio_console");
-      $machine->succeed("nixos-option -d boot.initrd.kernelModules | grep 'List of modules'");
-      $machine->succeed("nixos-option -l boot.initrd.kernelModules | grep qemu-guest.nix");
+      $machine->succeed("nixos-option boot.initrd.kernelModules | grep 'List of modules'");
+      $machine->succeed("nixos-option  boot.initrd.kernelModules | grep qemu-guest.nix");
+
+      $machine->shutdown;
 
+      # Check whether a writable store build works
+      $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
+      $machine->waitForUnit("multi-user.target");
+      $machine->copyFileFromHost(
+          "${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 2; } }",
+          "/etc/nixos/configuration.nix");
+      $machine->succeed("nixos-rebuild boot >&2");
       $machine->shutdown;
 
       # And just to be sure, check that the machine still boots after
@@ -217,13 +241,13 @@ let
 
 
   makeInstallerTest = name:
-    { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }:
+    { createPartitions, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }:
     makeTest {
       inherit iso;
       name = "installer-" + name;
       nodes = if testChannel then { inherit webserver; } else { };
       testScript = testScriptFun {
-        inherit createPartitions testChannel useEFI grubVersion grubDevice grubIdentifier;
+        inherit createPartitions testChannel grubVersion grubDevice grubIdentifier;
       };
     };
 
@@ -303,12 +327,12 @@ in {
           $machine->succeed(
               "parted /dev/vda --"
               . " mklabel msdos"
-              . " mkpart primary ext2 1M 30MB" # /boot
-              . " mkpart extended 30M -1s"
-              . " mkpart logical 31M 1531M" # md0 (root), first device
-              . " mkpart logical 1540M 3040M" # md0 (root), second device
-              . " mkpart logical 3050M 3306M" # md1 (swap), first device
-              . " mkpart logical 3320M 3576M", # md1 (swap), second device
+              . " mkpart primary ext2 1M 100MB" # /boot
+              . " mkpart extended 100M -1s"
+              . " mkpart logical 102M 1602M" # md0 (root), first device
+              . " mkpart logical 1603M 3103M" # md0 (root), second device
+              . " mkpart logical 3104M 3360M" # md1 (swap), first device
+              . " mkpart logical 3361M 3617M", # md1 (swap), second device
               "udevadm settle",
               "ls -l /dev/vda* >&2",
               "cat /proc/partitions >&2",
@@ -349,25 +373,6 @@ in {
       grubDevice = "/dev/sda";
     };
 
-  # Test an EFI install.
-  efi = makeInstallerTest "efi"
-    { createPartitions =
-        ''
-          $machine->succeed(
-              "sgdisk -Z /dev/sda",
-              "sgdisk -n 1:0:+256M -n 2:0:+1024M -N 3 -t 1:ef00 -t 2:8200 -t 3:8300 -c 1:boot -c 2:swap -c 3:root /dev/sda",
-              "mkfs.vfat -n BOOT /dev/sda1",
-              "mkswap /dev/sda2 -L swap",
-              "swapon -L swap",
-              "mkfs.ext3 -L nixos /dev/sda3",
-              "mount LABEL=nixos /mnt",
-              "mkdir /mnt/boot",
-              "mount LABEL=BOOT /mnt/boot",
-          );
-        '';
-      useEFI = true;
-    };
-
   # Rebuild the CD configuration with a little modification.
   rebuildCD = makeTest
     { inherit iso;
@@ -397,7 +402,7 @@ in {
     };
 
   # Test using labels to identify volumes in grub
-  simpleLabels = makeInstallerTest {
+  simpleLabels = makeInstallerTest "simpleLabels" {
     createPartitions = ''
       $machine->succeed(
         "sgdisk -Z /dev/vda",
@@ -413,7 +418,7 @@ in {
 
   # Test using the provided disk name within grub
   # TODO: Fix udev so the symlinks are unneeded in /dev/disks
-  simpleProvided = makeInstallerTest {
+  simpleProvided = makeInstallerTest "simpleProvided" {
     createPartitions = ''
       my $UUID = "\$(blkid -s UUID -o value /dev/vda2)";
       $machine->succeed(
@@ -436,7 +441,7 @@ in {
   };
 
   # Simple btrfs grub testing
-  btrfsSimple = makeInstallerTest {
+  btrfsSimple = makeInstallerTest "btrfsSimple" {
     createPartitions = ''
       $machine->succeed(
         "sgdisk -Z /dev/vda",
@@ -450,7 +455,7 @@ in {
   };
 
   # Test to see if we can detect /boot and /nix on subvolumes
-  btrfsSubvols = makeInstallerTest {
+  btrfsSubvols = makeInstallerTest "btrfsSubvols" {
     createPartitions = ''
       $machine->succeed(
         "sgdisk -Z /dev/vda",
@@ -462,11 +467,36 @@ in {
         "mount LABEL=root /mnt",
         "btrfs subvol create /mnt/boot",
         "btrfs subvol create /mnt/nixos",
+        "btrfs subvol create /mnt/nixos/default",
         "umount /mnt",
-        "mount -o defaults,subvol=nixos LABEL=root /mnt",
+        "mount -o defaults,subvol=nixos/default LABEL=root /mnt",
         "mkdir /mnt/boot",
         "mount -o defaults,subvol=boot LABEL=root /mnt/boot",
       );
     '';
   };
+
+  # Test to see if we can detect default and aux subvolumes correctly
+  btrfsSubvolDefault = makeInstallerTest "btrfsSubvolDefault" {
+    createPartitions = ''
+      $machine->succeed(
+        "sgdisk -Z /dev/vda",
+        "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "mkfs.btrfs -L root /dev/vda3",
+        "btrfs device scan",
+        "mount LABEL=root /mnt",
+        "btrfs subvol create /mnt/badpath",
+        "btrfs subvol create /mnt/badpath/boot",
+        "btrfs subvol create /mnt/nixos",
+        "btrfs subvol set-default \$(btrfs subvol list /mnt | grep 'nixos' | awk '{print \$2}') /mnt",
+        "umount /mnt",
+        "mount -o defaults LABEL=root /mnt",
+        "mkdir -p /mnt/badpath/boot", # Help ensure the detection mechanism is actually looking up subvolumes
+        "mkdir /mnt/boot",
+        "mount -o defaults,subvol=badpath/boot LABEL=root /mnt/boot",
+      );
+    '';
+  };
 }
diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix
index 28027c294bc..d737038380d 100644
--- a/nixos/tests/jenkins.nix
+++ b/nixos/tests/jenkins.nix
@@ -16,6 +16,8 @@ import ./make-test.nix {
         services.jenkinsSlave.enable = true;
 
         users.extraUsers.jenkins.extraGroups = [ "users" ];
+
+        systemd.services.jenkins.serviceConfig.TimeoutStartSec = "6min";
       };
 
     slave =
diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix
index 90c37397821..dd2574fd02a 100644
--- a/nixos/tests/kde4.nix
+++ b/nixos/tests/kde4.nix
@@ -32,7 +32,7 @@ import ./make-test.nix ({ pkgs, ... }: {
           pkgs.kde4.kdegraphics
           pkgs.kde4.kdeutils
           pkgs.kde4.kdegames
-          pkgs.kde4.kdeedu
+          #pkgs.kde4.kdeedu
           pkgs.kde4.kdeaccessibility
           pkgs.kde4.kdeadmin
           pkgs.kde4.kdenetwork
@@ -41,8 +41,7 @@ import ./make-test.nix ({ pkgs, ... }: {
         ];
     };
 
-  testScript =
-    ''
+  testScript = '' 
       $machine->waitUntilSucceeds("pgrep plasma-desktop");
       $machine->waitForWindow(qr/plasma-desktop/);
 
@@ -60,7 +59,7 @@ import ./make-test.nix ({ pkgs, ... }: {
 
       $machine->sleep(10);
 
-      $machine->screenshot("screen");
+      $machine->screenshot("screen"); 
     '';
 
 })
diff --git a/nixos/tests/kubernetes.nix b/nixos/tests/kubernetes.nix
new file mode 100644
index 00000000000..0a9eda930ba
--- /dev/null
+++ b/nixos/tests/kubernetes.nix
@@ -0,0 +1,179 @@
+# This test runs two node kubernetes cluster and checks if simple redis pod works
+
+import ./make-test.nix rec {
+  name = "kubernetes";
+
+  redisMaster = builtins.toFile "redis-master-pod.yaml" ''
+      id: redis-master-pod
+      kind: Pod
+      apiVersion: v1beta1
+      desiredState:
+        manifest:
+          version: v1beta1
+          id: redis-master-pod
+          containers:
+            - name: master
+              image: master:5000/nix
+              cpu: 100
+              ports:
+                - name: redis-server
+                  containerPort: 6379
+                  hostPort: 6379
+              volumeMounts:
+                - name: nix-store
+                  mountPath: /nix/store
+                  readOnly: true
+              volumeMounts:
+                - name: system-profile
+                  mountPath: /bin
+                  readOnly: true
+              command:
+                - /bin/redis-server
+          volumes:
+            - name: nix-store
+              source:
+                hostDir:
+                  path: /nix/store
+            - name: system-profile
+              source:
+                hostDir:
+                  path: /run/current-system/sw/bin
+      labels:
+        name: redis
+        role: master
+  '';
+
+  nodes = {
+    master =
+      { config, pkgs, lib, nodes, ... }:
+        {
+          virtualisation.memorySize = 768;
+          services.kubernetes = {
+            roles = ["master" "node"];
+            dockerCfg = ''{"master:5000":{}}'';
+            controllerManager.machines = ["master" "node"];
+            apiserver.address = "0.0.0.0";
+            verbose = true;
+          };
+          virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0 --insecure-registry master:5000";
+
+          services.etcd = {
+            listenPeerUrls = ["http://0.0.0.0:7001"];
+            initialAdvertisePeerUrls = ["http://master:7001"];
+            initialCluster = ["master=http://master:7001" "node=http://node:7001"];
+          };
+          services.dockerRegistry.enable = true;
+          services.dockerRegistry.host = "0.0.0.0";
+          services.dockerRegistry.port = 5000;
+
+          virtualisation.vlans = [ 1 2 ];
+          networking.bridges = {
+            cbr0.interfaces = [ "eth2" ];
+          };
+          networking.interfaces = {
+            cbr0 = {
+              ipAddress = "10.10.0.1";
+              prefixLength = 24;
+            };
+            eth2.ip4 = lib.mkOverride 0 [ ];
+          };
+          networking.localCommands = ''
+            ip route add 10.10.0.0/16 dev cbr0
+            ip route flush cache
+          '';
+          networking.extraHosts = "127.0.0.1 master";
+
+          networking.firewall.enable = false;
+          #networking.firewall.allowedTCPPorts = [ 4001 7001 ];
+
+          environment.systemPackages = [ pkgs.redis ];
+        };
+
+    node =
+      { config, pkgs, lib, nodes, ... }:
+        {
+          services.kubernetes = {
+            roles = ["node"];
+            dockerCfg = ''{"master:5000":{}}'';
+            kubelet.apiServers = ["master:8080"];
+            verbose = true;
+          };
+          virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0 --insecure-registry master:5000";
+          services.etcd = {
+            listenPeerUrls = ["http://0.0.0.0:7001"];
+            initialAdvertisePeerUrls = ["http://node:7001"];
+            initialCluster = ["master=http://master:7001" "node=http://node:7001"];
+          };
+
+          virtualisation.vlans = [ 1 2 ];
+          networking.bridges = {
+            cbr0.interfaces = [ "eth2" ];
+          };
+          networking.interfaces = {
+            cbr0 = {
+              ipAddress = "10.10.1.1";
+              prefixLength = 24;
+            };
+            eth2.ip4 = lib.mkOverride 0 [ ];
+          };
+          networking.localCommands = ''
+            ip route add 10.10.0.0/16 dev cbr0
+            ip route flush cache
+          '';
+          networking.extraHosts = "127.0.0.1 node";
+
+          networking.firewall.enable = false;
+          #networking.firewall.allowedTCPPorts = [ 4001 7001 ];
+
+          environment.systemPackages = [ pkgs.redis ];
+        };
+
+    client =
+      { config, pkgs, nodes, ... }:
+        {
+          virtualisation.docker.enable = true;
+          virtualisation.docker.extraOptions = "--insecure-registry master:5000";
+          environment.systemPackages = [ pkgs.kubernetes ];
+          environment.etc."test/redis-master-pod.yaml".source = redisMaster;
+          environment.etc."test/pause".source = "${pkgs.kubernetes}/bin/kube-pause";
+          environment.etc."test/Dockerfile".source = pkgs.writeText "Dockerfile" ''
+            FROM scratch
+            ADD pause /
+            ENTRYPOINT ["/pause"]
+          '';
+        };
+  };
+
+  testScript = ''
+    startAll;
+
+    $master->waitForUnit("kubernetes-apiserver.service");
+    $master->waitForUnit("kubernetes-scheduler.service");
+    $master->waitForUnit("kubernetes-controller-manager.service");
+    $master->waitForUnit("kubernetes-kubelet.service");
+    $master->waitForUnit("kubernetes-proxy.service");
+
+    $node->waitForUnit("kubernetes-kubelet.service");
+    $node->waitForUnit("kubernetes-proxy.service");
+
+    $master->waitUntilSucceeds("kubectl get minions | grep master");
+    $master->waitUntilSucceeds("kubectl get minions | grep node");
+
+    $client->waitForUnit("docker.service");
+    $client->succeed("tar cv --files-from /dev/null | docker import - nix");
+    $client->succeed("docker tag nix master:5000/nix");
+    $master->waitForUnit("docker-registry.service");
+    $client->succeed("docker push master:5000/nix");
+    $client->succeed("mkdir -p /root/pause");
+    $client->succeed("cp /etc/test/pause /root/pause/");
+    $client->succeed("cp /etc/test/Dockerfile /root/pause/");
+    $client->succeed("cd /root/pause && docker build -t master:5000/pause .");
+    $client->succeed("docker push master:5000/pause");
+
+    subtest "simple pod", sub {
+      $client->succeed("kubectl create -f ${redisMaster} -s http://master:8080");
+      $client->waitUntilSucceeds("kubectl get pods -s http://master:8080 | grep redis-master | grep -i running");
+    }
+
+  '';
+}
diff --git a/nixos/tests/mesos.nix b/nixos/tests/mesos.nix
new file mode 100644
index 00000000000..040f613c596
--- /dev/null
+++ b/nixos/tests/mesos.nix
@@ -0,0 +1,29 @@
+import ./make-test.nix {
+  name = "simple";
+
+  machine = { config, pkgs, ... }: {
+    services.zookeeper.enable = true;
+    virtualisation.docker.enable = true;
+    services.mesos = {
+      slave = {
+        enable = true;
+        master = "zk://localhost:2181/mesos";
+        attributes = {
+          tag1 = "foo";
+          tag2 = "bar";
+        };
+      };
+      master = {
+        enable = true;
+        zk = "zk://localhost:2181/mesos";
+      };
+    };
+  };
+
+  testScript =
+    ''
+      startAll;
+      $machine->waitForUnit("mesos-master.service");
+      $machine->waitForUnit("mesos-slave.service");
+    '';
+}
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index e1830d95b41..b44af5316be 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -102,6 +102,10 @@ import ./make-test.nix {
       subtest "shell-vars", sub {
           $machine->succeed('[ -n "$NIX_PATH" ]');
       };
+
+      subtest "nix-db", sub {
+          $machine->succeed("nix-store -qR /run/current-system | grep nixos-");
+      };
     '';
 
 }
diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix
index 31676c10df1..1e51453df83 100644
--- a/nixos/tests/munin.nix
+++ b/nixos/tests/munin.nix
@@ -18,6 +18,7 @@ import ./make-test.nix {
              '';
            };
           };
+          systemd.services.munin-node.serviceConfig.TimeoutStartSec = "3min";
         };
     };
 
diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix
index 5fdcc0e97ca..c4d2614f785 100644
--- a/nixos/tests/nat.nix
+++ b/nixos/tests/nat.nix
@@ -3,77 +3,81 @@
 # client on the inside network, a server on the outside network, and a
 # router connected to both that performs Network Address Translation
 # for the client.
+import ./make-test.nix ({ withFirewall, ... }:
+  let
+    unit = if withFirewall then "firewall" else "nat";
+  in
+  {
+    name = "nat${if withFirewall then "WithFirewall" else "Standalone"}";
 
-import ./make-test.nix {
-  name = "nat";
+    nodes =
+      { client =
+          { config, pkgs, nodes, ... }:
+          { virtualisation.vlans = [ 1 ];
+            networking.firewall.allowPing = true;
+            networking.defaultGateway =
+              (pkgs.lib.head nodes.router.config.networking.interfaces.eth2.ip4).address;
+          };
 
-  nodes =
-    { client =
-        { config, pkgs, nodes, ... }:
-        { virtualisation.vlans = [ 1 ];
-          networking.firewall.allowPing = true;
-          networking.defaultGateway =
-            nodes.router.config.networking.interfaces.eth2.ipAddress;
-        };
+        router =
+          { config, pkgs, ... }:
+          { virtualisation.vlans = [ 2 1 ];
+            networking.firewall.enable = withFirewall;
+            networking.firewall.allowPing = true;
+            networking.nat.enable = true;
+            networking.nat.internalIPs = [ "192.168.1.0/24" ];
+            networking.nat.externalInterface = "eth1";
+          };
 
-      router =
-        { config, pkgs, ... }:
-        { virtualisation.vlans = [ 2 1 ];
-          networking.firewall.allowPing = true;
-          networking.nat.enable = true;
-          networking.nat.internalIPs = [ "192.168.1.0/24" ];
-          networking.nat.externalInterface = "eth1";
-        };
+        server =
+          { config, pkgs, ... }:
+          { virtualisation.vlans = [ 2 ];
+            networking.firewall.enable = false;
+            services.httpd.enable = true;
+            services.httpd.adminAddr = "foo@example.org";
+            services.vsftpd.enable = true;
+            services.vsftpd.anonymousUser = true;
+          };
+      };
 
-      server =
-        { config, pkgs, ... }:
-        { virtualisation.vlans = [ 2 ];
-          networking.firewall.enable = false;
-          services.httpd.enable = true;
-          services.httpd.adminAddr = "foo@example.org";
-          services.vsftpd.enable = true;
-          services.vsftpd.anonymousUser = true;
-        };
-    };
+    testScript =
+      { nodes, ... }:
+      ''
+        startAll;
 
-  testScript =
-    { nodes, ... }:
-    ''
-      startAll;
+        # The router should have access to the server.
+        $server->waitForUnit("network.target");
+        $server->waitForUnit("httpd");
+        $router->waitForUnit("network.target");
+        $router->succeed("curl --fail http://server/ >&2");
 
-      # The router should have access to the server.
-      $server->waitForUnit("network.target");
-      $server->waitForUnit("httpd");
-      $router->waitForUnit("network.target");
-      $router->succeed("curl --fail http://server/ >&2");
+        # The client should be also able to connect via the NAT router.
+        $router->waitForUnit("${unit}");
+        $client->waitForUnit("network.target");
+        $client->succeed("curl --fail http://server/ >&2");
+        $client->succeed("ping -c 1 server >&2");
 
-      # The client should be also able to connect via the NAT router.
-      $router->waitForUnit("nat");
-      $client->waitForUnit("network.target");
-      $client->succeed("curl --fail http://server/ >&2");
-      $client->succeed("ping -c 1 server >&2");
+        # Test whether passive FTP works.
+        $server->waitForUnit("vsftpd");
+        $server->succeed("echo Hello World > /home/ftp/foo.txt");
+        $client->succeed("curl -v ftp://server/foo.txt >&2");
 
-      # Test whether passive FTP works.
-      $server->waitForUnit("vsftpd");
-      $server->succeed("echo Hello World > /home/ftp/foo.txt");
-      $client->succeed("curl -v ftp://server/foo.txt >&2");
+        # Test whether active FTP works.
+        $client->succeed("curl -v -P - ftp://server/foo.txt >&2");
 
-      # Test whether active FTP works.
-      $client->succeed("curl -v -P - ftp://server/foo.txt >&2");
+        # Test ICMP.
+        $client->succeed("ping -c 1 router >&2");
+        $router->succeed("ping -c 1 client >&2");
 
-      # Test ICMP.
-      $client->succeed("ping -c 1 router >&2");
-      $router->succeed("ping -c 1 client >&2");
+        # If we turn off NAT, the client shouldn't be able to reach the server.
+        $router->succeed("iptables -t nat -D PREROUTING -j nixos-nat-pre");
+        $router->succeed("iptables -t nat -D POSTROUTING -j nixos-nat-post");
+        $client->fail("curl --fail --connect-timeout 5 http://server/ >&2");
+        $client->fail("ping -c 1 server >&2");
 
-      # If we turn off NAT, the client shouldn't be able to reach the server.
-      $router->stopJob("nat");
-      $client->fail("curl --fail --connect-timeout 5 http://server/ >&2");
-      $client->fail("ping -c 1 server >&2");
-
-      # And make sure that restarting the NAT job works.
-      $router->succeed("systemctl start nat");
-      $client->succeed("curl --fail http://server/ >&2");
-      $client->succeed("ping -c 1 server >&2");
-    '';
-
-}
+        # And make sure that reloading the NAT job works.
+        $router->succeed("systemctl restart ${unit}");
+        $client->succeed("curl --fail http://server/ >&2");
+        $client->succeed("ping -c 1 server >&2");
+      '';
+  })
diff --git a/nixos/tests/networking-proxy.nix b/nixos/tests/networking-proxy.nix
new file mode 100644
index 00000000000..30844805ebf
--- /dev/null
+++ b/nixos/tests/networking-proxy.nix
@@ -0,0 +1,109 @@
+# Test whether `networking.proxy' work as expected.
+
+# TODO: use a real proxy node and put this test into networking.nix
+# TODO: test whether nix tools work as expected behind a proxy
+
+let default-config = {
+        imports = [ ./common/user-account.nix ];
+
+        services.xserver.enable = false;
+
+        virtualisation.memorySize = 128;
+      };
+in import ./make-test.nix {
+  name = "networking-proxy";
+
+  nodes = {
+    # no proxy
+    machine =
+      { config, pkgs, ... }:
+
+      default-config;
+
+    # proxy default
+    machine2 =
+      { config, pkgs, ... }:
+
+      default-config // {
+        networking.proxy.default = "http://user:pass@host:port";
+      };
+
+    # specific proxy options
+    machine3 =
+      { config, pkgs, ... }:
+
+      default-config //
+      {
+        networking.proxy = {
+          # useless because overriden by the next options
+          default = "http://user:pass@host:port";
+          # advanced proxy setup
+          httpProxy = "123-http://user:pass@http-host:port";
+          httpsProxy = "456-http://user:pass@https-host:port";
+          rsyncProxy = "789-http://user:pass@rsync-host:port";
+          ftpProxy = "101112-http://user:pass@ftp-host:port";
+          noProxy = "131415-127.0.0.1,localhost,.localdomain";
+        };
+      };
+
+    # mix default + proxy options
+    machine4 =
+      { config, pkgs, ... }:
+
+      default-config // {
+        networking.proxy = {
+          # open for all *_proxy env var
+          default = "000-http://user:pass@default-host:port";
+          # except for those 2
+          rsyncProxy = "123-http://user:pass@http-host:port";
+          noProxy = "131415-127.0.0.1,localhost,.localdomain";
+        };
+      };
+    };
+
+  testScript =
+    ''
+      startAll;
+
+      # no proxy at all
+      print $machine->execute("env | grep -i proxy");
+      print $machine->execute("su - alice -c 'env | grep -i proxy'");
+      $machine->mustFail("env | grep -i proxy");
+      $machine->mustFail("su - alice -c 'env | grep -i proxy'");
+
+      # Use a default proxy option
+      print $machine2->execute("env | grep -i proxy");
+      print $machine2->execute("su - alice -c 'env | grep -i proxy'");
+      $machine2->mustSucceed("env | grep -i proxy");
+      $machine2->mustSucceed("su - alice -c 'env | grep -i proxy'");
+
+      # explicitly set each proxy option
+      print $machine3->execute("env | grep -i proxy");
+      print $machine3->execute("su - alice -c 'env | grep -i proxy'");
+      $machine3->mustSucceed("env | grep -i http_proxy | grep 123");
+      $machine3->mustSucceed("env | grep -i https_proxy | grep 456");
+      $machine3->mustSucceed("env | grep -i rsync_proxy | grep 789");
+      $machine3->mustSucceed("env | grep -i ftp_proxy | grep 101112");
+      $machine3->mustSucceed("env | grep -i no_proxy | grep 131415");
+      $machine3->mustSucceed("su - alice -c 'env | grep -i http_proxy | grep 123'");
+      $machine3->mustSucceed("su - alice -c 'env | grep -i https_proxy | grep 456'");
+      $machine3->mustSucceed("su - alice -c 'env | grep -i rsync_proxy | grep 789'");
+      $machine3->mustSucceed("su - alice -c 'env | grep -i ftp_proxy | grep 101112'");
+      $machine3->mustSucceed("su - alice -c 'env | grep -i no_proxy | grep 131415'");
+
+      # set default proxy option + some other specifics
+      print $machine4->execute("env | grep -i proxy");
+      print $machine4->execute("su - alice -c 'env | grep -i proxy'");
+      $machine4->mustSucceed("env | grep -i http_proxy | grep 000");
+      $machine4->mustSucceed("env | grep -i https_proxy | grep 000");
+      $machine4->mustSucceed("env | grep -i rsync_proxy | grep 123");
+      $machine4->mustSucceed("env | grep -i ftp_proxy | grep 000");
+      $machine4->mustSucceed("env | grep -i no_proxy | grep 131415");
+      $machine4->mustSucceed("su - alice -c 'env | grep -i http_proxy | grep 000'");
+      $machine4->mustSucceed("su - alice -c 'env | grep -i https_proxy | grep 000'");
+      $machine4->mustSucceed("su - alice -c 'env | grep -i rsync_proxy | grep 123'");
+      $machine4->mustSucceed("su - alice -c 'env | grep -i ftp_proxy | grep 000'");
+      $machine4->mustSucceed("su - alice -c 'env | grep -i no_proxy | grep 131415'");
+    '';
+
+}
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
new file mode 100644
index 00000000000..46d0422f9c6
--- /dev/null
+++ b/nixos/tests/networking.nix
@@ -0,0 +1,381 @@
+import ./make-test.nix ({ networkd, test, ... }:
+  let
+    router = { config, pkgs, ... }:
+      with pkgs.lib;
+      let
+        vlanIfs = range 1 (length config.virtualisation.vlans);
+      in {
+        virtualisation.vlans = [ 1 2 3 ];
+        networking = {
+          useDHCP = false;
+          useNetworkd = networkd;
+          firewall.allowPing = true;
+          interfaces = mkOverride 0 (listToAttrs (flip map vlanIfs (n:
+            nameValuePair "eth${toString n}" {
+              ipAddress = "192.168.${toString n}.1";
+              prefixLength = 24;
+            })));
+        };
+        services.dhcpd = {
+          enable = true;
+          interfaces = map (n: "eth${toString n}") vlanIfs;
+          extraConfig = ''
+            option subnet-mask 255.255.255.0;
+          '' + flip concatMapStrings vlanIfs (n: ''
+            subnet 192.168.${toString n}.0 netmask 255.255.255.0 {
+              option broadcast-address 192.168.${toString n}.255;
+              option routers 192.168.${toString n}.1;
+              range 192.168.${toString n}.2 192.168.${toString n}.254;
+            }
+          '');
+        };
+      };
+    testCases = {
+      static = {
+        name = "Static";
+        nodes.router = router;
+        nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ 1 2 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = false;
+            defaultGateway = "192.168.1.1";
+            interfaces.eth1.ip4 = mkOverride 0 [
+              { address = "192.168.1.2"; prefixLength = 24; }
+              { address = "192.168.1.3"; prefixLength = 32; }
+              { address = "192.168.1.10"; prefixLength = 32; }
+            ];
+            interfaces.eth2.ip4 = mkOverride 0 [
+              { address = "192.168.2.2"; prefixLength = 24; }
+            ];
+          };
+        };
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client->waitForUnit("network-interfaces.target");
+            $client->waitForUnit("network.target");
+            $router->waitForUnit("network-interfaces.target");
+            $router->waitForUnit("network.target");
+
+            # Make sure dhcpcd is not started
+            $client->fail("systemctl status dhcpcd.service");
+
+            # Test vlan 1
+            $client->succeed("ping -c 1 192.168.1.1");
+            $client->succeed("ping -c 1 192.168.1.2");
+            $client->succeed("ping -c 1 192.168.1.3");
+            $client->succeed("ping -c 1 192.168.1.10");
+
+            $router->succeed("ping -c 1 192.168.1.1");
+            $router->succeed("ping -c 1 192.168.1.2");
+            $router->succeed("ping -c 1 192.168.1.3");
+            $router->succeed("ping -c 1 192.168.1.10");
+
+            # Test vlan 2
+            $client->succeed("ping -c 1 192.168.2.1");
+            $client->succeed("ping -c 1 192.168.2.2");
+
+            $router->succeed("ping -c 1 192.168.2.1");
+            $router->succeed("ping -c 1 192.168.2.2");
+
+            # Test default gateway
+            $router->succeed("ping -c 1 192.168.3.1");
+            $client->succeed("ping -c 1 192.168.3.1");
+          '';
+      };
+      dhcpSimple = {
+        name = "SimpleDHCP";
+        nodes.router = router;
+        nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ 1 2 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = true;
+            interfaces.eth1.ip4 = mkOverride 0 [ ];
+            interfaces.eth2.ip4 = mkOverride 0 [ ];
+          };
+        };
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client->waitForUnit("network-interfaces.target");
+            $client->waitForUnit("network.target");
+            $router->waitForUnit("network-interfaces.target");
+            $router->waitForUnit("network.target");
+
+            # Wait until we have an ip address on each interface
+            $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
+            $client->succeed("while ! ip addr show dev eth2 | grep '192.168.2'; do true; done");
+
+            # Test vlan 1
+            $client->succeed("ping -c 1 192.168.1.1");
+            $client->succeed("ping -c 1 192.168.1.2");
+
+            $router->succeed("ping -c 1 192.168.1.1");
+            $router->succeed("ping -c 1 192.168.1.2");
+
+            # Test vlan 2
+            $client->succeed("ping -c 1 192.168.2.1");
+            $client->succeed("ping -c 1 192.168.2.2");
+
+            $router->succeed("ping -c 1 192.168.2.1");
+            $router->succeed("ping -c 1 192.168.2.2");
+          '';
+      };
+      dhcpOneIf = {
+        name = "OneInterfaceDHCP";
+        nodes.router = router;
+        nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ 1 2 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = false;
+            interfaces.eth1 = {
+              ip4 = mkOverride 0 [ ];
+              useDHCP = true;
+            };
+            interfaces.eth2.ip4 = mkOverride 0 [ ];
+          };
+        };
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client->waitForUnit("network-interfaces.target");
+            $client->waitForUnit("network.target");
+            $router->waitForUnit("network-interfaces.target");
+            $router->waitForUnit("network.target");
+
+            # Wait until we have an ip address on each interface
+            $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
+
+            # Test vlan 1
+            $client->succeed("ping -c 1 192.168.1.1");
+            $client->succeed("ping -c 1 192.168.1.2");
+
+            $router->succeed("ping -c 1 192.168.1.1");
+            $router->succeed("ping -c 1 192.168.1.2");
+
+            # Test vlan 2
+            $client->succeed("ping -c 1 192.168.2.1");
+            $client->fail("ping -c 1 192.168.2.2");
+
+            $router->succeed("ping -c 1 192.168.2.1");
+            $router->fail("ping -c 1 192.168.2.2");
+          '';
+      };
+      bond = let
+        node = address: { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ 1 2 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = false;
+            bonds.bond = {
+              mode = "balance-rr";
+              interfaces = [ "eth1" "eth2" ];
+            };
+            interfaces.eth1.ip4 = mkOverride 0 [ ];
+            interfaces.eth2.ip4 = mkOverride 0 [ ];
+            interfaces.bond.ip4 = mkOverride 0
+              [ { inherit address; prefixLength = 30; } ];
+          };
+        };
+      in {
+        name = "Bond";
+        nodes.client1 = node "192.168.1.1";
+        nodes.client2 = node "192.168.1.2";
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client1->waitForUnit("network-interfaces.target");
+            $client1->waitForUnit("network.target");
+            $client2->waitForUnit("network-interfaces.target");
+            $client2->waitForUnit("network.target");
+
+            # Test bonding
+            $client1->succeed("ping -c 2 192.168.1.1");
+            $client1->succeed("ping -c 2 192.168.1.2");
+
+            $client2->succeed("ping -c 2 192.168.1.1");
+            $client2->succeed("ping -c 2 192.168.1.2");
+          '';
+      };
+      bridge = let
+        node = { address, vlan }: { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ vlan ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = false;
+            interfaces.eth1.ip4 = mkOverride 0
+              [ { inherit address; prefixLength = 24; } ];
+          };
+        };
+      in {
+        name = "Bridge";
+        nodes.client1 = node { address = "192.168.1.2"; vlan = 1; };
+        nodes.client2 = node { address = "192.168.1.3"; vlan = 2; };
+        nodes.router = { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ 1 2 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = false;
+            bridges.bridge.interfaces = [ "eth1" "eth2" ];
+            interfaces.eth1.ip4 = mkOverride 0 [ ];
+            interfaces.eth2.ip4 = mkOverride 0 [ ];
+            interfaces.bridge.ip4 = mkOverride 0
+              [ { address = "192.168.1.1"; prefixLength = 24; } ];
+          };
+        };
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client1->waitForUnit("network-interfaces.target");
+            $client1->waitForUnit("network.target");
+            $client2->waitForUnit("network-interfaces.target");
+            $client2->waitForUnit("network.target");
+            $router->waitForUnit("network-interfaces.target");
+            $router->waitForUnit("network.target");
+
+            # Test bridging
+            $client1->succeed("ping -c 1 192.168.1.1");
+            $client1->succeed("ping -c 1 192.168.1.2");
+            $client1->succeed("ping -c 1 192.168.1.3");
+
+            $client2->succeed("ping -c 1 192.168.1.1");
+            $client2->succeed("ping -c 1 192.168.1.2");
+            $client2->succeed("ping -c 1 192.168.1.3");
+
+            $router->succeed("ping -c 1 192.168.1.1");
+            $router->succeed("ping -c 1 192.168.1.2");
+            $router->succeed("ping -c 1 192.168.1.3");
+          '';
+      };
+      macvlan = {
+        name = "MACVLAN";
+        nodes.router = router;
+        nodes.client = { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ 1 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = true;
+            macvlans.macvlan.interface = "eth1";
+            interfaces.eth1.ip4 = mkOverride 0 [ ];
+          };
+        };
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client->waitForUnit("network-interfaces.target");
+            $client->waitForUnit("network.target");
+            $router->waitForUnit("network-interfaces.target");
+            $router->waitForUnit("network.target");
+
+            # Wait until we have an ip address on each interface
+            $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
+            $client->succeed("while ! ip addr show dev macvlan | grep '192.168.1'; do true; done");
+
+            # Test macvlan
+            $client->succeed("ping -c 1 192.168.1.1");
+            $client->succeed("ping -c 1 192.168.1.2");
+            $client->succeed("ping -c 1 192.168.1.3");
+
+            $router->succeed("ping -c 1 192.168.1.1");
+            $router->succeed("ping -c 1 192.168.1.2");
+            $router->succeed("ping -c 1 192.168.1.3");
+          '';
+      };
+      sit = let
+        node = { address4, remote, address6 }: { config, pkgs, ... }: with pkgs.lib; {
+          virtualisation.vlans = [ 1 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.enable = false;
+            useDHCP = false;
+            sits.sit = {
+              inherit remote;
+              local = address4;
+              dev = "eth1";
+            };
+            interfaces.eth1.ip4 = mkOverride 0
+              [ { address = address4; prefixLength = 24; } ];
+            interfaces.sit.ip6 = mkOverride 0
+              [ { address = address6; prefixLength = 64; } ];
+          };
+        };
+      in {
+        name = "Sit";
+        nodes.client1 = node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; };
+        nodes.client2 = node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; };
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client1->waitForUnit("network-interfaces.target");
+            $client1->waitForUnit("network.target");
+            $client2->waitForUnit("network-interfaces.target");
+            $client2->waitForUnit("network.target");
+
+            $client1->succeed("ip addr >&2");
+            $client2->succeed("ip addr >&2");
+
+            # Test ipv6
+            $client1->succeed("ping6 -c 1 fc00::1");
+            $client1->succeed("ping6 -c 1 fc00::2");
+
+            $client2->succeed("ping6 -c 1 fc00::1");
+            $client2->succeed("ping6 -c 1 fc00::2");
+          '';
+      };
+      vlan = let
+        node = address: { config, pkgs, ... }: with pkgs.lib; {
+          #virtualisation.vlans = [ 1 ];
+          networking = {
+            useNetworkd = networkd;
+            firewall.allowPing = true;
+            useDHCP = false;
+            vlans.vlan = {
+              id = 1;
+              interface = "eth0";
+            };
+            interfaces.eth0.ip4 = mkOverride 0 [ ];
+            interfaces.eth1.ip4 = mkOverride 0 [ ];
+            interfaces.vlan.ip4 = mkOverride 0
+              [ { inherit address; prefixLength = 24; } ];
+          };
+        };
+      in {
+        name = "vlan";
+        nodes.client1 = node "192.168.1.1";
+        nodes.client2 = node "192.168.1.2";
+        testScript = { nodes, ... }:
+          ''
+            startAll;
+
+            $client1->waitForUnit("network-interfaces.target");
+            $client1->waitForUnit("network.target");
+            $client2->waitForUnit("network-interfaces.target");
+            $client2->waitForUnit("network.target");
+
+            # Test vlan is setup
+            $client1->succeed("ip addr show dev vlan >&2");
+            $client2->succeed("ip addr show dev vlan >&2");
+          '';
+      };
+    };
+    case = testCases.${test};
+  in case // {
+    name = "${case.name}-Networking-${if networkd then "Networkd" else "Scripted"}";
+  })
diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix
index 61b2431c04c..216fea7784a 100644
--- a/nixos/tests/nfs.nix
+++ b/nixos/tests/nfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ version, ... }:
+import ./make-test.nix ({ version ? 4, ... }:
 
 let
 
@@ -38,7 +38,8 @@ in
   testScript =
     ''
       $server->waitForUnit("nfsd");
-      $server->waitForUnit("network.target");
+      $server->succeed("systemctl start network-online.target");
+      $server->waitForUnit("network-online.target");
 
       startAll;
 
diff --git a/nixos/tests/nsd.nix b/nixos/tests/nsd.nix
new file mode 100644
index 00000000000..c2331931cdd
--- /dev/null
+++ b/nixos/tests/nsd.nix
@@ -0,0 +1,83 @@
+let
+  common = { pkgs, ... }: {
+    networking.firewall.enable = false;
+    networking.useDHCP = false;
+    # for a host utility with IPv6 support
+    environment.systemPackages = [ pkgs.bind ];
+  };
+in import ./make-test.nix {
+  name = "nsd";
+
+  nodes = {
+    clientv4 = { lib, nodes, ... }: {
+      imports = [ common ];
+      networking.nameservers = lib.mkForce [
+        nodes.server.config.networking.interfaces.eth1.ipAddress
+      ];
+      networking.interfaces.eth1.ipAddress = "192.168.0.2";
+      networking.interfaces.eth1.prefixLength = 24;
+    };
+
+    clientv6 = { lib, nodes, ... }: {
+      imports = [ common ];
+      networking.nameservers = lib.mkForce [
+        nodes.server.config.networking.interfaces.eth1.ipv6Address
+      ];
+      networking.interfaces.eth1.ipv6Address = "dead:beef::2";
+    };
+
+    server = { lib, ... }: {
+      imports = [ common ];
+      networking.interfaces.eth1.ipAddress = "192.168.0.1";
+      networking.interfaces.eth1.prefixLength = 24;
+      networking.interfaces.eth1.ipv6Address = "dead:beef::1";
+      services.nsd.enable = true;
+      services.nsd.interfaces = lib.mkForce [];
+      services.nsd.zones."example.com.".data = ''
+        @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
+        ipv4 A 1.2.3.4
+        ipv6 AAAA abcd::eeff
+        deleg NS ns.example.com
+        ns A 192.168.0.1
+        ns AAAA dead:beef::1
+      '';
+      services.nsd.zones."deleg.example.com.".data = ''
+        @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600
+        @ A 9.8.7.6
+        @ AAAA fedc::bbaa
+      '';
+    };
+  };
+
+  testScript = ''
+    startAll;
+
+    $clientv4->waitForUnit("network.target");
+    $clientv6->waitForUnit("network.target");
+    $server->waitForUnit("nsd.service");
+
+    sub assertHost {
+      my ($type, $rr, $query, $expected) = @_;
+      my $self = $type eq 4 ? $clientv4 : $clientv6;
+      my $out = $self->succeed("host -$type -t $rr $query");
+      $self->log("output: $out");
+      chomp $out;
+      die "DNS IPv$type query on $query gave '$out' instead of '$expected'"
+        if ($out !~ $expected);
+    }
+
+    foreach (4, 6) {
+      subtest "ipv$_", sub {
+        assertHost($_, "a", "example.com", qr/has no [^ ]+ record/);
+        assertHost($_, "aaaa", "example.com", qr/has no [^ ]+ record/);
+
+        assertHost($_, "soa", "example.com", qr/SOA.*?noc\.example\.com/);
+        assertHost($_, "a", "ipv4.example.com", qr/address 1.2.3.4$/);
+        assertHost($_, "aaaa", "ipv6.example.com", qr/address abcd::eeff$/);
+
+        assertHost($_, "a", "deleg.example.com", qr/address 9.8.7.6$/);
+        assertHost($_, "aaaa", "deleg.example.com", qr/address fedc::bbaa$/);
+      };
+    }
+  '';
+}
diff --git a/nixos/tests/panamax.nix b/nixos/tests/panamax.nix
new file mode 100644
index 00000000000..80af8a19be1
--- /dev/null
+++ b/nixos/tests/panamax.nix
@@ -0,0 +1,18 @@
+import ./make-test.nix {
+  name = "panamax";
+
+  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/partition.nix b/nixos/tests/partition.nix
index 72fd37e041e..5e94b263d5b 100644
--- a/nixos/tests/partition.nix
+++ b/nixos/tests/partition.nix
@@ -67,7 +67,7 @@ in {
 
   machine = { config, pkgs, ... }: {
     environment.systemPackages = [
-      pkgs.pythonPackages.nixpart
+      pkgs.pythonPackages.nixpart0
       pkgs.file pkgs.btrfsProgs pkgs.xfsprogs pkgs.lvm2
     ];
     virtualisation.emptyDiskImages = [ 4096 4096 ];
@@ -209,7 +209,7 @@ in {
       ensurePartition("swap", "swap");
       ensurePartition("boot", "f2fs");
       ensurePartition("root", "f2fs");
-      remoteAndCheck;
+      remountAndCheck;
       ensureMountPoint("/mnt/boot", "f2fs");
     };
 
diff --git a/nixos/tests/peerflix.nix b/nixos/tests/peerflix.nix
new file mode 100644
index 00000000000..739936a10b2
--- /dev/null
+++ b/nixos/tests/peerflix.nix
@@ -0,0 +1,21 @@
+# This test runs peerflix and checks if peerflix starts
+
+import ./make-test.nix {
+  name = "peerflix";
+
+  nodes = {
+    peerflix =
+      { config, pkgs, ... }:
+        {
+          services.peerflix.enable = true;
+        };
+    };
+
+  testScript = ''
+    startAll;
+
+    $peerflix->waitForUnit("peerflix.service");
+    $peerflix->waitUntilSucceeds("curl localhost:9000");
+  '';
+
+}
diff --git a/nixos/tests/phabricator.nix b/nixos/tests/phabricator.nix
index 53038474c91..0fe31f66502 100644
--- a/nixos/tests/phabricator.nix
+++ b/nixos/tests/phabricator.nix
@@ -32,9 +32,16 @@ import ./make-test.nix ({ pkgs, ... }: {
             }];
           };
 
+          phd = {
+            enable = true;
+          };
+
           mysql = {
             enable = true;
             package = pkgs.mysql;
+            extraOptions = ''
+              sql_mode=STRICT_ALL_TABLES
+            '';
           };
         };
 
diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix
index a55e077c269..ba10f23582d 100644
--- a/nixos/tests/printing.nix
+++ b/nixos/tests/printing.nix
@@ -9,7 +9,7 @@ import ./make-test.nix ({pkgs, ... }: {
       { config, pkgs, ... }:
       { services.printing.enable = true;
         services.printing.listenAddresses = [ "*:631" ];
-        services.printing.cupsdConf =
+        services.printing.extraConf =
           ''
             <Location />
               Order allow,deny
@@ -31,8 +31,8 @@ import ./make-test.nix ({pkgs, ... }: {
       startAll;
 
       # Make sure that cups is up on both sides.
-      $server->waitForUnit("cupsd.service");
-      $client->waitForUnit("cupsd.service");
+      $server->waitForUnit("cups.service");
+      $client->waitForUnit("cups.service");
       $client->succeed("lpstat -r") =~ /scheduler is running/ or die;
       $client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die;
       $client->succeed("curl --fail http://localhost:631/");
@@ -40,10 +40,10 @@ import ./make-test.nix ({pkgs, ... }: {
       $server->fail("curl --fail --connect-timeout 2  http://client:631/");
 
       # Add a HP Deskjet printer connected via USB to the server.
-      $server->succeed("lpadmin -p DeskjetLocal -v usb://HP/Deskjet%205400%20series?serial=TH93I152S123XY -m 'drv:///sample.drv/deskjet.ppd' -E");
+      $server->succeed("lpadmin -p DeskjetLocal -E -v usb://foobar/printers/foobar");
 
       # Add it to the client as well via IPP.
-      $client->succeed("lpadmin -p DeskjetRemote -v ipp://server/printers/DeskjetLocal -m 'drv:///sample.drv/deskjet.ppd' -E");
+      $client->succeed("lpadmin -p DeskjetRemote -E -v ipp://server/printers/DeskjetLocal");
       $client->succeed("lpadmin -d DeskjetRemote");
 
       # Do some status checks.
@@ -55,10 +55,10 @@ import ./make-test.nix ({pkgs, ... }: {
       $client->succeed("lpq") =~ /DeskjetRemote is ready.*no entries/s or die;
 
       # Test printing various file types.
-      foreach my $file ("${pkgs.groff}/share/doc/*/examples/mom/typesetting.pdf",
+      foreach my $file ("${pkgs.groff}/share/doc/*/examples/mom/penguin.pdf",
                         "${pkgs.groff}/share/doc/*/meref.ps",
                         "${pkgs.cups}/share/doc/cups/images/cups.png",
-                        "${pkgs.xz}/share/doc/xz/faq.txt")
+                        "${pkgs.pcre}/share/doc/pcre/pcre.txt")
       {
           $file =~ /([^\/]*)$/; my $fn = $1;
 
@@ -72,9 +72,8 @@ import ./make-test.nix ({pkgs, ... }: {
               # (showing that the right filters have been applied).  Of
               # course, since there is no actual USB printer attached, the
               # file will stay in the queue forever.
-              $server->waitForFile("/var/spool/cups/d*-*");
-              $server->succeed("lpq -a") =~ /remroot.*$fn/ or die;
-              $server->succeed("hexdump -C -n2 /var/spool/cups/d*-*") =~ /1b 45/ or die; # 1b 45 = printer reset
+              $server->waitForFile("/var/spool/cups/d00001-001");
+              $server->succeed("lpq -a") =~ /$fn/ or die;
 
               # Delete the job on the client.  It should disappear on the
               # server as well.
diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix
index 01f0f3fe17a..8350bc5c6a4 100644
--- a/nixos/tests/proxy.nix
+++ b/nixos/tests/proxy.nix
@@ -22,20 +22,19 @@ in
 
         { services.httpd.enable = true;
           services.httpd.adminAddr = "bar@example.org";
-          services.httpd.extraModules = ["proxy_balancer"];
+          services.httpd.extraModules = [ "proxy_balancer" "lbmethod_byrequests" ];
 
           services.httpd.extraConfig =
             ''
               ExtendedStatus on
 
               <Location /server-status>
-                Order deny,allow
-                Allow from all
+                Require all granted
                 SetHandler server-status
               </Location>
 
               <Proxy balancer://cluster>
-                Allow from all
+                Require all granted
                 BalancerMember http://${nodes.backend1.config.networking.hostName} retry=0
                 BalancerMember http://${nodes.backend2.config.networking.hostName} retry=0
               </Proxy>
diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix
index b16cb179982..e0e6d6eaadb 100644
--- a/nixos/tests/quake3.nix
+++ b/nixos/tests/quake3.nix
@@ -15,14 +15,14 @@ in
 rec {
   name = "quake3";
 
-  makeCoverageReport = true;
+  # TODO: lcov doesn't work atm
+  #makeCoverageReport = true;
 
   client =
     { config, pkgs, ... }:
 
     { imports = [ ./common/x11.nix ];
       hardware.opengl.driSupport = true;
-      services.xserver.defaultDepth = pkgs.lib.mkOverride 0 16;
       environment.systemPackages = [ pkgs.quake3demo ];
       nixpkgs.config.packageOverrides = overrides;
     };
diff --git a/nixos/tests/run-in-machine.nix b/nixos/tests/run-in-machine.nix
index 7f6e6a6dc57..d1102f8d407 100644
--- a/nixos/tests/run-in-machine.nix
+++ b/nixos/tests/run-in-machine.nix
@@ -2,9 +2,7 @@
 
 with import ../lib/testing.nix { inherit system; };
 
-{
-  test = runInMachine {
-    drv = pkgs.hello;
-    machine = { config, pkgs, ... }: { /* services.sshd.enable = true; */ };
-  };
+runInMachine {
+  drv = pkgs.hello;
+  machine = { config, pkgs, ... }: { /* services.sshd.enable = true; */ };
 }
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
new file mode 100644
index 00000000000..827481879a3
--- /dev/null
+++ b/nixos/tests/virtualbox.nix
@@ -0,0 +1,403 @@
+import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
+
+  debug = false;
+
+  testVMConfig = vmName: attrs: { config, pkgs, ... }: {
+    boot.kernelParams = let
+      miniInit = ''
+        #!${pkgs.stdenv.shell} -xe
+        export PATH="${pkgs.coreutils}/bin:${pkgs.utillinux}/bin"
+
+        ${pkgs.linuxPackages.virtualboxGuestAdditions}/sbin/VBoxService
+        ${(attrs.vmScript or (const "")) pkgs}
+
+        i=0
+        while [ ! -e /mnt-root/shutdown ]; do
+          sleep 10
+          i=$(($i + 10))
+          [ $i -le 120 ] || fail
+        done
+
+        rm -f /mnt-root/boot-done /mnt-root/shutdown
+      '';
+    in [
+      "console=tty0" "console=ttyS0" "ignore_loglevel"
+      "boot.trace" "panic=1" "boot.panic_on_fail"
+      "init=${pkgs.writeScript "mini-init.sh" miniInit}"
+    ];
+
+    fileSystems."/" = {
+      device = "vboxshare";
+      fsType = "vboxsf";
+    };
+
+    services.virtualboxGuest.enable = true;
+
+    boot.initrd.kernelModules = [
+      "af_packet" "vboxsf"
+      "virtio" "virtio_pci" "virtio_ring" "virtio_net" "vboxguest"
+    ];
+
+    boot.initrd.extraUtilsCommands = ''
+      copy_bin_and_libs "${pkgs.linuxPackages.virtualboxGuestAdditions}/sbin/mount.vboxsf"
+      copy_bin_and_libs "${pkgs.utillinux}/bin/unshare"
+      ${(attrs.extraUtilsCommands or (const "")) pkgs}
+    '';
+
+    boot.initrd.postMountCommands = ''
+      touch /mnt-root/boot-done
+      hostname "${vmName}"
+      mkdir -p /nix/store
+      unshare -m "@shell@" -c '
+        mount -t vboxsf nixstore /nix/store
+        exec "$stage2Init"
+      '
+      poweroff -f
+    '';
+
+    system.requiredKernelConfig = with config.lib.kernelConfig; [
+      (isYes "SERIAL_8250_CONSOLE")
+      (isYes "SERIAL_8250")
+    ];
+  };
+
+  mkLog = logfile: tag: let
+    rotated = map (i: "${logfile}.${toString i}") (range 1 9);
+    all = concatMapStringsSep " " (f: "\"${f}\"") ([logfile] ++ rotated);
+    logcmd = "tail -F ${all} 2> /dev/null | logger -t \"${tag}\"";
+  in optionalString debug "$machine->execute(ru '${logcmd} & disown');";
+
+  testVM = vmName: vmScript: let
+    cfg = (import ../lib/eval-config.nix {
+      system = "i686-linux";
+      modules = [
+        ../modules/profiles/minimal.nix
+        (testVMConfig vmName vmScript)
+      ];
+    }).config;
+  in pkgs.vmTools.runInLinuxVM (pkgs.runCommand "virtualbox-image" {
+    preVM = ''
+      mkdir -p "$out"
+      diskImage="$(pwd)/qimage"
+      ${pkgs.vmTools.qemu}/bin/qemu-img create -f raw "$diskImage" 100M
+    '';
+
+    postVM = ''
+      echo "creating VirtualBox disk image..."
+      ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vdi \
+        "$diskImage" "$out/disk.vdi"
+    '';
+
+    buildInputs = [ pkgs.utillinux pkgs.perl ];
+  } ''
+    ${pkgs.parted}/sbin/parted /dev/vda mklabel msdos
+    ${pkgs.parted}/sbin/parted /dev/vda -- mkpart primary ext2 1M -1s
+    . /sys/class/block/vda1/uevent
+    mknod /dev/vda1 b $MAJOR $MINOR
+
+    ${pkgs.e2fsprogs}/sbin/mkfs.ext4 /dev/vda1
+    ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
+    mkdir /mnt
+    mount /dev/vda1 /mnt
+    cp "${cfg.system.build.kernel}/bzImage" /mnt/linux
+    cp "${cfg.system.build.initialRamdisk}/initrd" /mnt/initrd
+
+    ${pkgs.grub2}/bin/grub-install --boot-directory=/mnt /dev/vda
+
+    cat > /mnt/grub/grub.cfg <<GRUB
+    set root=hd0,1
+    linux /linux ${concatStringsSep " " cfg.boot.kernelParams}
+    initrd /initrd
+    boot
+    GRUB
+    umount /mnt
+  '');
+
+  createVM = name: attrs: let
+    mkFlags = concatStringsSep " ";
+
+    sharePath = "/home/alice/vboxshare-${name}";
+
+    createFlags = mkFlags [
+      "--ostype Linux26"
+      "--register"
+    ];
+
+    vmFlags = mkFlags ([
+      "--uart1 0x3F8 4"
+      "--uartmode1 client /run/virtualbox-log-${name}.sock"
+    ] ++ (attrs.vmFlags or []));
+
+    controllerFlags = mkFlags [
+      "--name SATA"
+      "--add sata"
+      "--bootable on"
+      "--hostiocache on"
+    ];
+
+    diskFlags = mkFlags [
+      "--storagectl SATA"
+      "--port 0"
+      "--device 0"
+      "--type hdd"
+      "--mtype immutable"
+      "--medium ${testVM name attrs}/disk.vdi"
+    ];
+
+    sharedFlags = mkFlags [
+      "--name vboxshare"
+      "--hostpath ${sharePath}"
+    ];
+
+    nixstoreFlags = mkFlags [
+      "--name nixstore"
+      "--hostpath /nix/store"
+      "--readonly"
+    ];
+  in {
+    machine = {
+      systemd.sockets = listToAttrs (singleton {
+        name = "vboxtestlog-${name}";
+        value = {
+          description = "VirtualBox Test Machine Log Socket";
+          wantedBy = [ "sockets.target" ];
+          before = [ "multi-user.target" ];
+          socketConfig.ListenStream = "/run/virtualbox-log-${name}.sock";
+          socketConfig.Accept = true;
+        };
+      });
+
+      systemd.services = listToAttrs (singleton {
+        name = "vboxtestlog-${name}@";
+        value = {
+          description = "VirtualBox Test Machine Log";
+          serviceConfig.StandardInput = "socket";
+          serviceConfig.StandardOutput = "syslog";
+          serviceConfig.SyslogIdentifier = "GUEST-${name}";
+          serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
+        };
+      });
+    };
+
+    testSubs = ''
+      sub checkRunning_${name} {
+        my $cmd = 'VBoxManage list runningvms | grep -q "^\"${name}\""';
+        my ($status, $out) = $machine->execute(ru $cmd);
+        return $status == 0;
+      }
+
+      sub cleanup_${name} {
+        $machine->execute(ru "VBoxManage controlvm ${name} poweroff")
+          if checkRunning_${name};
+        $machine->succeed("rm -rf ${sharePath}");
+        $machine->succeed("mkdir -p ${sharePath}");
+        $machine->succeed("chown alice.users ${sharePath}");
+      }
+
+      sub createVM_${name} {
+        vbm("createvm --name ${name} ${createFlags}");
+        vbm("modifyvm ${name} ${vmFlags}");
+        vbm("setextradata ${name} VBoxInternal/PDM/HaltOnReset 1");
+        vbm("storagectl ${name} ${controllerFlags}");
+        vbm("storageattach ${name} ${diskFlags}");
+        vbm("sharedfolder add ${name} ${sharedFlags}");
+        vbm("sharedfolder add ${name} ${nixstoreFlags}");
+        cleanup_${name};
+
+        ${mkLog "$HOME/VirtualBox VMs/${name}/Logs/VBox.log" "HOST-${name}"}
+      }
+
+      sub destroyVM_${name} {
+        cleanup_${name};
+        vbm("unregistervm ${name} --delete");
+      }
+
+      sub waitForVMBoot_${name} {
+        $machine->execute(ru(
+          'set -e; i=0; '.
+          'while ! test -e ${sharePath}/boot-done; do '.
+          'sleep 10; i=$(($i + 10)); [ $i -le 3600 ]; '.
+          'VBoxManage list runningvms | grep -q "^\"${name}\""; '.
+          'done'
+        ));
+      }
+
+      sub waitForIP_${name} ($) {
+        my $property = "/VirtualBox/GuestInfo/Net/$_[0]/V4/IP";
+        my $getip = "VBoxManage guestproperty get ${name} $property | ".
+                    "sed -n -e 's/^Value: //p'";
+        my $ip = $machine->succeed(ru(
+          'for i in $(seq 1000); do '.
+          'if ipaddr="$('.$getip.')" && [ -n "$ipaddr" ]; then '.
+          'echo "$ipaddr"; exit 0; '.
+          'fi; '.
+          'sleep 1; '.
+          'done; '.
+          'echo "Could not get IPv4 address for ${name}!" >&2; '.
+          'exit 1'
+        ));
+        chomp $ip;
+        return $ip;
+      }
+
+      sub waitForStartup_${name} {
+        for (my $i = 0; $i <= 120; $i += 10) {
+          $machine->sleep(10);
+          return if checkRunning_${name};
+          eval { $_[0]->() } if defined $_[0];
+        }
+        die "VirtualBox VM didn't start up within 2 minutes";
+      }
+
+      sub waitForShutdown_${name} {
+        for (my $i = 0; $i <= 120; $i += 10) {
+          $machine->sleep(10);
+          return unless checkRunning_${name};
+        }
+        die "VirtualBox VM didn't shut down within 2 minutes";
+      }
+
+      sub shutdownVM_${name} {
+        $machine->succeed(ru "touch ${sharePath}/shutdown");
+        $machine->waitUntilSucceeds(
+          "test ! -e ${sharePath}/shutdown ".
+          "  -a ! -e ${sharePath}/boot-done"
+        );
+        waitForShutdown_${name};
+      }
+    '';
+  };
+
+  hostonlyVMFlags = [
+    "--nictype1 virtio"
+    "--nictype2 virtio"
+    "--nic2 hostonly"
+    "--hostonlyadapter2 vboxnet0"
+  ];
+
+  dhcpScript = pkgs: ''
+    ${pkgs.dhcp}/bin/dhclient \
+      -lf /run/dhcp.leases \
+      -pf /run/dhclient.pid \
+      -v eth0 eth1
+
+    otherIP="$(${pkgs.netcat}/bin/netcat -clp 1234 || :)"
+    ${pkgs.iputils}/bin/ping -I eth1 -c1 "$otherIP"
+    echo "$otherIP reachable" | ${pkgs.netcat}/bin/netcat -clp 5678 || :
+  '';
+
+  vboxVMs = mapAttrs createVM {
+    simple = {};
+
+    test1.vmFlags = hostonlyVMFlags;
+    test1.vmScript = dhcpScript;
+
+    test2.vmFlags = hostonlyVMFlags;
+    test2.vmScript = dhcpScript;
+  };
+
+in {
+  name = "virtualbox";
+
+  machine = { pkgs, lib, config, ... }: {
+    imports = let
+      mkVMConf = name: val: val.machine // { key = "${name}-config"; };
+      vmConfigs = mapAttrsToList mkVMConf vboxVMs;
+    in [ ./common/user-account.nix ./common/x11.nix ] ++ vmConfigs;
+    virtualisation.memorySize = 768;
+    services.virtualboxHost.enable = true;
+    users.extraUsers.alice.extraGroups = let
+      inherit (config.services.virtualboxHost) enableHardening;
+    in lib.mkIf enableHardening (lib.singleton "vboxusers");
+  };
+
+  testScript = ''
+    sub ru ($) {
+      my $esc = $_[0] =~ s/'/'\\${"'"}'/gr;
+      return "su - alice -c '$esc'";
+    }
+
+    sub vbm {
+      $machine->succeed(ru("VBoxManage ".$_[0]));
+    };
+
+    ${concatStrings (mapAttrsToList (_: getAttr "testSubs") vboxVMs)}
+
+    $machine->waitForX;
+
+    ${mkLog "$HOME/.config/VirtualBox/VBoxSVC.log" "HOST-SVC"}
+
+    createVM_simple;
+
+    subtest "simple-gui", sub {
+      $machine->succeed(ru "VirtualBox &");
+      $machine->waitForWindow(qr/Oracle VM VirtualBox Manager/);
+      $machine->sleep(5);
+      $machine->screenshot("gui_manager_started");
+      $machine->sendKeys("ret");
+      $machine->screenshot("gui_manager_sent_startup");
+      waitForStartup_simple (sub {
+        $machine->sendKeys("ret");
+      });
+      $machine->screenshot("gui_started");
+      waitForVMBoot_simple;
+      $machine->screenshot("gui_booted");
+      shutdownVM_simple;
+      $machine->sleep(5);
+      $machine->screenshot("gui_stopped");
+      $machine->sendKeys("ctrl-q");
+      $machine->sleep(5);
+      $machine->screenshot("gui_manager_stopped");
+    };
+
+    cleanup_simple;
+
+    subtest "simple-cli", sub {
+      vbm("startvm simple");
+      waitForStartup_simple;
+      $machine->screenshot("cli_started");
+      waitForVMBoot_simple;
+      $machine->screenshot("cli_booted");
+      shutdownVM_simple;
+    };
+
+    subtest "privilege-escalation", sub {
+      $machine->fail("test -e '/root/VirtualBox VMs'");
+      $machine->fail("test -e '/root/.config/VirtualBox'");
+      $machine->succeed("test -e '/home/alice/VirtualBox VMs'");
+    };
+
+    destroyVM_simple;
+
+    subtest "net-hostonlyif", sub {
+      createVM_test1;
+      createVM_test2;
+
+      vbm("startvm test1");
+      waitForStartup_test1;
+
+      vbm("startvm test2");
+      waitForStartup_test2;
+
+      waitForVMBoot_test1;
+      waitForVMBoot_test2;
+
+      $machine->screenshot("net_booted");
+
+      my $test1IP = waitForIP_test1 1;
+      my $test2IP = waitForIP_test2 1;
+
+      $machine->succeed("echo '$test2IP' | netcat -c '$test1IP' 1234");
+      $machine->succeed("echo '$test1IP' | netcat -c '$test2IP' 1234");
+
+      $machine->waitUntilSucceeds("netcat -c '$test1IP' 5678 >&2");
+      $machine->waitUntilSucceeds("netcat -c '$test2IP' 5678 >&2");
+
+      shutdownVM_test1;
+      shutdownVM_test2;
+
+      destroyVM_test1;
+      destroyVM_test2;
+    };
+  '';
+})
diff --git a/pkgs/applications/altcoins/bitcoin.nix b/pkgs/applications/altcoins/bitcoin.nix
new file mode 100644
index 00000000000..0e98e234214
--- /dev/null
+++ b/pkgs/applications/altcoins/bitcoin.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
+, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+
+  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  version = "0.10.0";
+
+  src = fetchurl {
+    url = [ "https://bitcoin.org/bin/bitcoin-core-0.10.0/bitcoin-${version}.tar.gz"
+            "mirror://sourceforge/bitcoin/Bitcoin/bitcoin-0.10.0/bitcoin-${version}.tar.gz"
+          ];
+    sha256 = "a516cf6d9f58a117607148405334b35d3178df1ba1c59229609d2bcd08d30624";
+  };
+
+  buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib
+                  miniupnpc utillinux protobuf ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
+                     ++ optionals withGui [ "--with-gui=qt4" ];
+
+  meta = {
+    description = "Peer-to-peer electronic cash system";
+    longDescription= ''
+      Bitcoin is a free open source peer-to-peer electronic cash system that is
+      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.
+    '';
+    homepage = "http://www.bitcoin.org/";
+    maintainers = with maintainers; [ roconnor AndersonTorres ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/altcoins/darkcoin.nix b/pkgs/applications/altcoins/darkcoin.nix
new file mode 100644
index 00000000000..56d22d0b53b
--- /dev/null
+++ b/pkgs/applications/altcoins/darkcoin.nix
@@ -0,0 +1,40 @@
+{ fetchurl, stdenv, pkgconfig
+, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
+, utillinux
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "darkcoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  version = "0.10.99.99";
+
+  src = fetchurl {
+    url = "https://github.com/darkcoin/darkcoin/archive/v${version}.tar.gz";
+    sha256 = "1a05a7l878klg4wqk9ykndkhyknrd7jp75v38k99qgk5fi8wa752";
+  };
+
+  buildInputs = [ pkgconfig glib openssl db48 boost zlib miniupnpc ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+  configurePhase = optional withGui "qmake";
+
+  preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";
+
+  installPhase =
+    if withGui
+    then "install -D darkcoin-qt $out/bin/darkcoin-qt"
+    else "install -D darkcoind $out/bin/darkcoind";
+
+  meta = with stdenv.lib; {
+    description = "A decentralized key/value registration and transfer system";
+    longDescription = ''
+      Darkcoin (DRK) is an open sourced, privacy-centric digital
+      currency. It allows you keep your finances private as you make
+      transactions, similar to cash.
+    '';
+    homepage = http://darkcoin.io;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
new file mode 100644
index 00000000000..a49e4dc9f90
--- /dev/null
+++ b/pkgs/applications/altcoins/default.nix
@@ -0,0 +1,26 @@
+{ callPackage, pkgs }:
+
+rec {
+
+  bitcoin  = callPackage ./bitcoin.nix { withGui = true; };
+  bitcoind = callPackage ./bitcoin.nix { withGui = false; };
+
+  darkcoin  = callPackage ./darkcoin.nix { withGui = true; };
+  darkcoind = callPackage ./darkcoin.nix { withGui = false; };
+
+  dogecoin  = callPackage ./dogecoin.nix { withGui = true; };
+  dogecoind = callPackage ./dogecoin.nix { withGui = false; };
+
+  litecoin  = callPackage ./litecoin.nix { withGui = true; };
+  litecoind = callPackage ./litecoin.nix { withGui = false; };
+
+  memorycoin  = callPackage ./memorycoin.nix { withGui = true; };
+  memorycoind = callPackage ./memorycoin.nix { withGui = false; };
+
+  namecoin  = callPackage ./namecoin.nix  { inherit namecoind; };
+  namecoind = callPackage ./namecoind.nix { };
+
+  primecoin  = callPackage ./primecoin.nix { withGui = true; };
+  primecoind = callPackage ./primecoin.nix { withGui = false; };
+
+}
diff --git a/pkgs/applications/altcoins/dogecoin.nix b/pkgs/applications/altcoins/dogecoin.nix
new file mode 100644
index 00000000000..cf2f25bfeee
--- /dev/null
+++ b/pkgs/applications/altcoins/dogecoin.nix
@@ -0,0 +1,47 @@
+{ stdenv , fetchurl
+, pkgconfig, autoreconfHook
+, db5, openssl, boost, zlib, miniupnpc
+, glib, protobuf, utillinux, qt4, qrencode
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  version = "1.8.2";
+
+  src = fetchurl {
+    url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
+    sha256 = "17jxsxsrsz3qy2hxdpw78vcbnnd0nq614iy42ypzhw4pdpz0s1l7";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig openssl
+                  db5 openssl utillinux protobuf boost zlib miniupnpc ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+  # BSD DB5 location
+  patchPhase = ''
+    sed -i \
+      -e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db5}/include",g' \
+      -e 's,BDB_LIBS=$,BDB_LIBS="-L${db5}/lib",g' \
+      -e 's,bdbdirlist=$,bdbdirlist="${db5}/include",g' \
+      src/m4/dogecoin_find_bdb51.m4
+  '';
+
+  configureFlags = [ "--with-incompatible-bdb"
+                     "--with-boost-libdir=${boost.lib}/lib" ]
+                     ++ optionals withGui [ "--with-gui" ];
+
+  meta = {
+    description = "Wow, such coin, much shiba, very rich";
+    longDescription = ''
+      Dogecoin is a decentralized, peer-to-peer digital currency that
+      enables you to easily send money online. Think of it as "the
+      internet currency."
+      It is named after a famous Internet meme, the "Doge" - a Shiba Inu dog.
+    '';
+    homepage = http://www.dogecoin.com/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ edwtjo offline AndersonTorres ];
+  };
+}
diff --git a/pkgs/applications/altcoins/litecoin.nix b/pkgs/applications/altcoins/litecoin.nix
new file mode 100644
index 00000000000..f2235abaaae
--- /dev/null
+++ b/pkgs/applications/altcoins/litecoin.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl
+, pkgconfig, autoreconfHook
+, openssl, db48, boost, zlib, miniupnpc
+, glib, protobuf, utillinux, qt4, qrencode
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  version = "0.9.3-preview5";
+
+  src = fetchurl {
+    url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
+    sha256 = "0nnfz4s2g28jb5fqy6cabsryp3h2amzlyslr6g6k8r1vmzvx5ym6";
+  };
+
+  buildInputs = [ pkgconfig autoreconfHook openssl
+                  openssl db48 boost zlib miniupnpc glib protobuf utillinux ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
+                     ++ optionals withGui [ "--with-gui=qt4" ];
+
+  meta = with stdenv.lib; {
+    description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
+    longDescription= ''
+      Litecoin is a peer-to-peer Internet currency that enables instant payments
+      to anyone in the world. It is based on the Bitcoin protocol but differs
+      from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
+      Litecoin provides faster transaction confirmations (2.5 minutes on average)
+      and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
+      the regular computers and GPUs most people already have.
+      The Litecoin network is scheduled to produce 84 million currency units.
+    '';
+    homepage = https://litecoin.org/;
+    platforms = platforms.unix;
+    license = licenses.mit;
+    maintainers = with maintainers; [ offline AndersonTorres ];  
+  };
+}
diff --git a/pkgs/applications/altcoins/memorycoin.nix b/pkgs/applications/altcoins/memorycoin.nix
new file mode 100644
index 00000000000..4e5e24e3062
--- /dev/null
+++ b/pkgs/applications/altcoins/memorycoin.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, pkgconfig, openssl, db48, boost
+, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+
+  name = "memorycoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  version = "0.8.5";
+
+  src = fetchurl {
+    url = "https://github.com/memorycoin/memorycoin/archive/v${version}.tar.gz";
+    sha256 = "1iyh6dqrg0mirwci5br5n5qw3ghp2cs23wd8ygr56bh9ml4dr1m8";
+  };
+
+  buildInputs = [ pkgconfig openssl db48 boost zlib
+                  miniupnpc utillinux protobuf ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
+                     ++ optionals withGui [ "--with-gui=qt4" ];
+
+  configurePhase = optional withGui "qmake";
+
+  preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";
+
+  installPhase =
+    if withGui
+    then "install -D bitcoin-qt $out/bin/memorycoin-qt"
+    else "install -D bitcoind $out/bin/memorycoind";
+
+  meta = {
+    description = "Peer-to-peer, CPU-based electronic cash system";
+    longDescription= ''
+      Memorycoin is a cryptocurrency that aims to empower the
+      economically and financially marginalized. It allows individuals
+      to participate in the internet economy even when they live in
+      countries where credit card companies and PayPal(R) refuse to
+      operate. Individuals can store and transfer wealth with just a
+      memorized pass phrase.
+
+      Memorycoin is based on the Bitcoin code, but with some key
+      differences.
+    '';
+    homepage = "http://www.bitcoin.org/";
+    maintainers = with maintainers; [ AndersonTorres ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/altcoins/namecoin.nix b/pkgs/applications/altcoins/namecoin.nix
new file mode 100644
index 00000000000..f2e2aae698e
--- /dev/null
+++ b/pkgs/applications/altcoins/namecoin.nix
@@ -0,0 +1,26 @@
+{ stdenv, db4, boost, openssl, qt4, miniupnpc, unzip, namecoind }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "namecoin-${version}";
+  version = namecoind.version;
+  src = namecoind.src;
+
+  buildInputs = [ db4 boost openssl unzip qt4 miniupnpc ];
+
+  configurePhase = ''
+    qmake USE_UPNP=-
+  '';
+
+  buildPhase = ''
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp namecoin-qt $out/bin
+  '';
+
+  meta = namecoind.meta;
+}
diff --git a/pkgs/applications/altcoins/namecoind.nix b/pkgs/applications/altcoins/namecoind.nix
new file mode 100644
index 00000000000..baf6ba0dbc0
--- /dev/null
+++ b/pkgs/applications/altcoins/namecoind.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, db4, boost, openssl, miniupnpc, unzip }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  version = "0.3.80";
+  name = "namecoind-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/namecoin/namecoin/archive/nc${version}.tar.gz";
+    sha256 = "1755mqxpg91wg9hf0ibpj59sdzfmhh73yrpi7hfi2ipabkwmlpiz";
+  };
+
+  buildInputs = [ db4 boost openssl unzip miniupnpc ];
+
+  patchPhase = ''
+    sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile
+  '';
+
+  buildPhase = ''
+    make -C src INCLUDEPATHS= LIBPATHS=
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/namecoind $out/bin
+  '';
+
+  meta = {
+    description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
+    homepage = http://namecoin.info;
+    license = licenses.mit;
+    maintainers = with maintainers; [ doublec AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/altcoins/primecoin.nix b/pkgs/applications/altcoins/primecoin.nix
new file mode 100644
index 00000000000..11ec35a71bd
--- /dev/null
+++ b/pkgs/applications/altcoins/primecoin.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, pkgconfig, openssl, db48, boost
+, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+
+  name = "primecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  version = "0.8.6";
+
+  src = fetchurl {
+    url =  "https://github.com/primecoin/primecoin/archive/v${version}.tar.gz";
+    sha256 = "0cixnkici74204s9d5iqj5sccib5a8dig2p2fp1axdjifpg787i3";
+  };
+
+  buildInputs = [ pkgconfig openssl db48 boost zlib
+                  miniupnpc utillinux protobuf ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
+                     ++ optionals withGui [ "--with-gui=qt4" ];
+
+  configurePhase = optional withGui "qmake";
+
+  preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";
+
+  installPhase =
+    if withGui
+    then "install -D bitcoin-qt $out/bin/primecoin-qt"
+    else "install -D bitcoind $out/bin/primecoind";
+
+  meta = {
+    description = "A new type cryptocurrency which is proof-of-work based on searching for prime numbers.";
+    longDescription= ''
+      Primecoin is an innovative cryptocurrency, a form of digital
+      currency secured by cryptography and issued through a
+      decentralized mining market. Derived from Satoshi Nakamoto's
+      Bitcoin, Primecoin introduces an unique form of proof-of-work
+      based on prime numbers.
+
+      The innovative prime proof-of-work in Primecoin not only
+      provides security and minting to the network, but also generates
+      a special form of prime number chains of interest to mathematical
+      research. Thus primecoin network is energy-multiuse, compared to
+      bitcoin.
+    '';
+    homepage = http://primecoin.io/;
+    maintainers = with maintainers; [ AndersonTorres ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix
index 38192311ccf..218a0f8c6d9 100644
--- a/pkgs/applications/audio/a2jmidid/default.nix
+++ b/pkgs/applications/audio/a2jmidid/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, alsaLib, dbus, jack2, pkgconfig, python }:
+{ stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, jack2
+, python, pythonDBus }:
 
 stdenv.mkDerivation rec {
   name = "a2jmidid-${version}";
@@ -9,13 +10,16 @@ stdenv.mkDerivation rec {
     sha256 = "0pzm0qk5ilqhwz74pydg1jwrds27vm47185dakdrxidb5bv3b5ia";
   };
 
-  buildInputs = [ alsaLib dbus jack2 pkgconfig python ];
+  buildInputs = [ makeWrapper pkgconfig alsaLib dbus jack2 python pythonDBus ];
 
   configurePhase = "python waf configure --prefix=$out";
 
   buildPhase = "python waf";
 
-  installPhase = "python waf install";
+  installPhase = ''
+    python waf install
+    wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://home.gna.org/a2jmidid;
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index b1bcfe869f7..6ecdc1f98d4 100644
--- a/pkgs/applications/audio/amarok/default.nix
+++ b/pkgs/applications/audio/amarok/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
 
   QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
 
-  buildInputs = [ qtscriptgenerator stdenv.gcc.libc gettext curl
-    libxml2 mysql taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
+  buildInputs = [ qtscriptgenerator stdenv.cc.libc gettext curl
+    libxml2 mysql.lib taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
     soprano qca2 libmtp liblastfm libgpod pkgconfig qjson ffmpeg libofa nepomuk_core ];
 
   cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";
diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix
index dd23504d3fa..0001f0a9292 100644
--- a/pkgs/applications/audio/ams-lv2/default.nix
+++ b/pkgs/applications/audio/ams-lv2/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, cairo, gtk, gtkmm, lv2, lvtk, pkgconfig, python }:
+{ stdenv, fetchurl, cairo, fftw, gtk, gtkmm, lv2, lvtk, pkgconfig, python }:
 
 stdenv.mkDerivation  rec {
   name = "ams-lv2-${version}";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "https://github.com/blablack/ams-lv2/archive/v${version}.tar.gz";
-    sha256 = "0fa1ghf6qahbhj9j1ciyw0hr6nngwksa37hbs651mlz0fn7lz4xm";
+    sha256 = "1kqbl7rc3zrs27c5ga0frw3mlpx15sbxzhf04sfbrd9l60535fd5";
   };
 
-  buildInputs = [ cairo gtk gtkmm lv2 lvtk pkgconfig python ];
+  buildInputs = [ cairo fftw gtk gtkmm lv2 lvtk pkgconfig python ];
 
   configurePhase = "python waf configure --prefix=$out";
 
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index 62b88cbe077..3142b2c52fc 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -6,7 +6,21 @@
 , perl, pkgconfig, python, serd, sord, sratom, suil }:
 
 let
-  tag = "3.5.380";
+
+  # Ardour git repo uses a mix of annotated and lightweight tags. Annotated
+  # tags are used for MAJOR.MINOR versioning, and lightweight tags are used
+  # in-between; MAJOR.MINOR.REV where REV is the number of commits since the
+  # last annotated tag. A slightly different version string format is needed
+  # for the 'revision' info that is built into the binary; it is the format of
+  # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH.
+
+  # Version to build.
+  tag = "3.5.403";
+
+  # Version info that is built into the binary. Keep in sync with 'tag'. The
+  # last 8 digits is a (fake) commit id.
+  revision = "3.5-403-00000000";
+
 in
 
 stdenv.mkDerivation rec {
@@ -15,7 +29,7 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     url = git://git.ardour.org/ardour/ardour.git;
     rev = "refs/tags/${tag}";
-    sha256 = "dbcbb2d9143e196d079c27b15266e47d24b81cb7591fe64b717f3485965ded7b";
+    sha256 = "0k1z8sbjf88dqn12kf9cykrqj38vkr879n2g6b4adk6cghn8wz3x";
   };
 
   buildInputs = 
@@ -27,10 +41,7 @@ stdenv.mkDerivation rec {
     ];
 
   patchPhase = ''
-    # The funny revision number is from `git describe rev`
-    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-g2f6065b\"; }\n' > libs/ardour/revision.cc
-    # Note the different version number
-    sed -i '33i rev = \"3.5-380-g2f6065b\"' wscript
+    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${revision}\"; }\n' > libs/ardour/revision.cc
     sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
     sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings
     sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
diff --git a/pkgs/applications/audio/ario/default.nix b/pkgs/applications/audio/ario/default.nix
new file mode 100644
index 00000000000..3840d06dd46
--- /dev/null
+++ b/pkgs/applications/audio/ario/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, gettext, gtk2, expat, intltool, libgcrypt,
+  libunique, gnutls, libxml2, curl, mpd_clientlib, dbus_glib, libnotify,
+  libsoup, avahi, taglib
+  }:
+
+stdenv.mkDerivation rec {
+  version = "1.5.1";
+  name = "ario-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ario-player/${name}.tar.gz";
+    sha256 = "07n97618jv1ilxnm5c6qj9zjz0imw3p304mn4hjbjkk3p0d2hc88";
+  };
+
+  patches = [ ./glib-single-include.patch ];
+
+  buildInputs = [
+    pkgconfig gettext gtk2 expat intltool libgcrypt libunique gnutls
+    libxml2 curl mpd_clientlib dbus_glib libnotify libsoup avahi taglib
+  ];
+
+  meta = {
+    description = "GTK2 client for MPD (Music player daemon)";
+    homepage = "http://ario-player.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.garrison ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/audio/ario/glib-single-include.patch b/pkgs/applications/audio/ario/glib-single-include.patch
new file mode 100644
index 00000000000..45e0a1738f8
--- /dev/null
+++ b/pkgs/applications/audio/ario/glib-single-include.patch
@@ -0,0 +1,40 @@
+From: Michael Biebl <biebl@debian.org>
+Origin: vendor
+Bug-Debian: http://bugs.debian.org/665506
+Subject: Including individual glib headers no longer supported
+
+--- a/src/ario-profiles.h
++++ b/src/ario-profiles.h
+@@ -20,7 +20,7 @@
+ #ifndef __ARIO_PROFILES_H
+ #define __ARIO_PROFILES_H
+ 
+-#include <glib/gslist.h>
++#include <glib.h>
+ #include "servers/ario-server.h"
+ 
+ G_BEGIN_DECLS
+--- a/src/plugins/ario-plugin-info.c
++++ b/src/plugins/ario-plugin-info.c
+@@ -27,7 +27,7 @@
+ 
+ #include <string.h>
+ #include <glib/gi18n.h>
+-#include <glib/gkeyfile.h>
++#include <glib.h>
+ 
+ #include "plugins/ario-plugin-info-priv.h"
+ #include "ario-debug.h"
+--- a/src/ario-util.h
++++ b/src/ario-util.h
+@@ -18,8 +18,8 @@
+  */
+ 
+ #include "servers/ario-server.h"
+-#include "glib/gslist.h"
+-#include "gdk/gdkpixbuf.h"
++#include <glib.h>
++#include <gdk/gdkpixbuf.h>
+ 
+ /* Number of covers used to generate the drag & drop image */
+ #define MAX_COVERS_IN_DRAG 3
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index 409a831727b..3ab113c92e8 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -1,28 +1,28 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs
 , gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg
 , libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper
+, mpg123, neon, faad2
 }:
 
-let
-  version = "3.4.3";
-in
+let version = "3.5.2"; in
+
 stdenv.mkDerivation {
   name = "audacious-${version}";
 
   src = fetchurl {
     url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
-    sha256 = "04lzwdr1lx6ghbfxzygvnbmdl420w6rm453ds5lyb0hlvzs58d0q";
+    sha256 = "0mhrdj76h0g6q197wgp8rxk6gqsrirrw49hfidcb5b7q5rlvj59r";
   };
 
   pluginsSrc = fetchurl {
     url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
-    sha256 = "00r88q9fs9a0gicdmk2svcans7igcqgacrw303a5bn44is7pmrmy";
+    sha256 = "1nacd8n46q3pqnwavq3i2ayls609gvxfcp3qqpcsfcdfz3bh15hp";
   };
 
   buildInputs =
     [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib
       libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio
-      libcddb ffmpeg makeWrapper
+      libcddb ffmpeg makeWrapper mpg123 neon faad2
     ];
 
   # Here we build bouth audacious and audacious-plugins in one
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 7308d84e098..6f25693f734 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   preConfigure = /* we prefer system-wide libs */ ''
     mv lib-src lib-src-rm
     mkdir lib-src
-    mv lib-src-rm/{Makefile*,lib-widget-extra,portaudio-v19,portmixer,portsmf,FileDialog,sbsms} lib-src/
+    mv lib-src-rm/{Makefile*,lib-widget-extra,portaudio-v19,portmixer,portsmf,FileDialog,sbsms,libnyquist} lib-src/
     rm -r lib-src-rm/
   '';
 
diff --git a/pkgs/applications/audio/aumix/default.nix b/pkgs/applications/audio/aumix/default.nix
index 41edd51e5f2..f5f0711ecac 100644
--- a/pkgs/applications/audio/aumix/default.nix
+++ b/pkgs/applications/audio/aumix/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.jpj.net/~trevor/aumix.html;
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
index 88931520c42..b23384e9293 100644
--- a/pkgs/applications/audio/cantata/default.nix
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, cmake
-, withQt4 ? true, qt4
-, withQt5 ? false, qt5
+, withQt4 ? false, qt4
+, withQt5 ? true, qt5
 
 # I'm unable to make KDE work here, crashes at runtime so I simply
 # make Qt4 the default until someone who wants KDE can figure it out.
@@ -39,7 +39,7 @@ assert withOnlineServices -> withTaglib;
 assert withReplaygain -> withTaglib;
 
 let
-  version = "1.4.1";
+  version = "1.5.1";
   pname = "cantata";
   fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF");
   fstats = x: map (fstat x);
@@ -50,14 +50,14 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     inherit name;
-    url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60eXhuZ1Z3bGM2bjQ";
-    sha256 = "b0d5a1798efd275d72dffb87bc0f016fc865dbd1384b7c9af039cebdffe0cca3";
+    url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60UktwaTRMTjRIUW8";
+    sha256 = "0y7y3nbiqgh1ghb47n4lfyp163wvazvhavlshb1c18ik03fkn5sp";
   };
 
   buildInputs =
     [ cmake ]
     ++ stdenv.lib.optional withQt4 qt4
-    ++ stdenv.lib.optional withQt5 qt5
+    ++ stdenv.lib.optionals withQt5 (with qt5; [ base svg tools ])
     ++ stdenv.lib.optional withKDE4 kde4.kdelibs
     ++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
     ++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
@@ -92,8 +92,8 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://code.google.com/p/cantata/";
-    description = "A graphical client for MPD.";
+    homepage = http://code.google.com/p/cantata/;
+    description = "A graphical client for MPD";
     license = licenses.gpl3;
 
     # Technically Cantata can run on Windows so if someone wants to
diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix
new file mode 100644
index 00000000000..24613d4dd96
--- /dev/null
+++ b/pkgs/applications/audio/caudec/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, makeWrapper, bash, bc, findutils, flac, lame, opusTools, procps, sox }:
+
+let
+  version = "1.7.5";
+in
+
+stdenv.mkDerivation rec {
+  name = "caudec-${version}";
+
+  src = fetchurl {
+    url = "http://caudec.net/downloads/caudec-${version}.tar.gz";
+    sha256 = "5d1f5ab3286bb748bd29cbf45df2ad2faf5ed86070f90deccf71c60be832f3d5";
+  };
+
+  preBuild = ''
+    patchShebangs ./install.sh
+  '';
+
+  buildInputs = [ bash makeWrapper ];
+
+  installPhase = ''
+    ./install.sh --prefix=$out/bin
+  '';
+
+  postFixup = ''
+    for executable in $(cd $out/bin && ls); do
+	wrapProgram $out/bin/$executable \
+	  --prefix PATH : "${bc}/bin:${findutils}/bin:${sox}/bin:${procps}/bin:${opusTools}/bin:${lame}/bin:${flac}/bin"
+    done
+  '';
+
+   meta = with stdenv.lib; {
+    homepage = http://caudec.net/;
+    description = "A multiprocess audio converter that supports many formats (FLAC, MP3, Ogg Vorbis, Windows codecs and many more)";
+    license     = licenses.gpl3;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ _1126 ];
+  };
+}
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
new file mode 100644
index 00000000000..c1b5aef333b
--- /dev/null
+++ b/pkgs/applications/audio/cava/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, alsaLib, fftw }:
+
+stdenv.mkDerivation rec {
+  name = "cava-${version}";
+  version = "27dbdf47daae44c780db9998c760007b3bf63738";
+
+  buildInputs = [ alsaLib fftw ];
+
+  src = fetchgit {
+    url = "https://github.com/karlstav/cava";
+    rev = version;
+    sha256 = "1a61e2c869376276cf78e6446cd1cc7f96b3e378fa8bc0bc4c5ca81945429909";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp cava $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Console-based Audio Visualizer for Alsa";
+    homepage = https://github.com/karlstav/cava;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index 6bd9e0b376e..5c5416b79e1 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -7,6 +7,8 @@ stdenv.mkDerivation rec {
     url = "http://downloads.xiph.org/releases/cdparanoia/${name}.src.tgz";
     sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80";
   };
+
+  preConfigure = "unset CC";
   
   meta = {
     homepage = http://xiph.org/paranoia;
diff --git a/pkgs/applications/audio/chuck/darwin-limits.patch b/pkgs/applications/audio/chuck/darwin-limits.patch
new file mode 100644
index 00000000000..3387f725544
--- /dev/null
+++ b/pkgs/applications/audio/chuck/darwin-limits.patch
@@ -0,0 +1,13 @@
+--- a/src/util_string.cpp	2014-10-27 22:52:11.875981552 +0100
++++ b/src/util_string.cpp	2014-10-27 22:54:18.613001994 +0100
+@@ -40,6 +40,10 @@
+ #include <linux/limits.h>
+ #endif // __PLATFORM_LINUX__
+ 
++#ifdef __PLATFORM_MACOSX__
++#include <limits.h>
++#endif // __PLATFORM_MACOSX__
++
+ #include <stdio.h>
+ using namespace std;
+ 
diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix
new file mode 100644
index 00000000000..7725ba1e4c8
--- /dev/null
+++ b/pkgs/applications/audio/chuck/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, alsaLib, bison, flex, libsndfile, which }:
+
+stdenv.mkDerivation rec {
+  version = "1.3.4.0";
+  name = "chuck-${version}";
+
+  src = fetchurl {
+    url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz";
+    sha256 = "0cwbk8b1i18nkh2nxwzk2prranw83lgglxw7ccnp6b0r2b2yfpmn";
+  };
+
+  buildInputs = [ bison flex libsndfile which ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
+
+  patches = [ ./darwin-limits.patch ];
+
+  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"
+  '';
+
+  buildPhase =
+    stdenv.lib.optionals stdenv.isLinux  ["make -C src linux-alsa"] ++
+    stdenv.lib.optionals stdenv.isDarwin ["make -C src osx"];
+
+  installPhase = ''
+    install -Dm755 ./src/chuck $out/bin/chuck
+  '';
+
+  meta = {
+    description = "Programming language for real-time sound synthesis and music creation";
+    homepage = http://chuck.cs.princeton.edu;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    maintainers = with stdenv.lib.maintainers; [ ftrvxmtrx ];
+  };
+}
diff --git a/pkgs/applications/audio/clementine/clementine-dbus-namespace.patch b/pkgs/applications/audio/clementine/clementine-dbus-namespace.patch
new file mode 100644
index 00000000000..2240debd0e4
--- /dev/null
+++ b/pkgs/applications/audio/clementine/clementine-dbus-namespace.patch
@@ -0,0 +1,36 @@
+From ec580cb815c16ec1ab43a469d5af7d51d8d03082 Mon Sep 17 00:00:00 2001
+From: Chocobozzz <florian.chocobo@gmail.com>
+Date: Wed, 16 Jul 2014 15:57:25 +0200
+Subject: [PATCH] No namespaces for DBus interfaces. Fixes #4401
+
+---
+ src/CMakeLists.txt | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 650fa74..775b0a5 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -892,11 +892,6 @@ optional_source(LINUX SOURCES widgets/osd_x11.cpp)
+ if(HAVE_DBUS)
+   file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dbus)
+ 
+-  # Hack to get it to generate interfaces without namespaces - required
+-  # because otherwise org::freedesktop::UDisks and
+-  # org::freedesktop::UDisks::Device conflict.
+-  list(APPEND QT_DBUSXML2CPP_EXECUTABLE -N)
+-
+   # MPRIS DBUS interfaces
+   qt4_add_dbus_adaptor(SOURCES
+       dbus/org.freedesktop.MediaPlayer.player.xml
+@@ -964,6 +959,10 @@ if(HAVE_DBUS)
+ 
+   # DeviceKit DBUS interfaces
+   if(HAVE_DEVICEKIT)
++    set_source_files_properties(dbus/org.freedesktop.UDisks.xml
++        PROPERTIES NO_NAMESPACE dbus/udisks)
++    set_source_files_properties(dbus/org.freedesktop.UDisks.Device.xml
++        PROPERTIES NO_NAMESPACE dbus/udisksdevice)
+     qt4_add_dbus_interface(SOURCES
+         dbus/org.freedesktop.UDisks.xml
+         dbus/udisks)
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 604c35f46ce..538f54fbaf8 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base
+, gst_plugins_good, gst_plugins_bad, gst_plugins_ugly, gst_ffmpeg
 , liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist
 , usbmuxd, libmtp, gvfs, libcdio, protobuf, libspotify, qca2, pkgconfig
-, sparsehash, config }:
+, sparsehash, config, makeWrapper }:
 
 let withSpotify = config.clementine.spotify or false;
 in
@@ -13,7 +14,11 @@ stdenv.mkDerivation {
     sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx";
   };
 
-  patches = [ ./clementine-1.2.1-include-paths.patch ];
+  patches =
+    [
+      ./clementine-1.2.1-include-paths.patch
+      ./clementine-dbus-namespace.patch
+    ];
 
   buildInputs = [
     boost
@@ -22,6 +27,9 @@ stdenv.mkDerivation {
     gettext
     glew
     gst_plugins_base
+    gst_plugins_good
+    gst_plugins_ugly
+    gst_ffmpeg
     gstreamer
     gvfs
     libcdio
@@ -29,6 +37,7 @@ stdenv.mkDerivation {
     liblastfm
     libmtp
     libplist
+    makeWrapper
     pkgconfig
     protobuf
     qca2
@@ -42,6 +51,11 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    wrapProgram $out/bin/clementine \
+      --set GST_PLUGIN_SYSTEM_PATH "$GST_PLUGIN_SYSTEM_PATH"
+  '';
+
   meta = with stdenv.lib; {
     homepage = "http://www.clementine-player.org";
     description = "A multiplatform music player";
diff --git a/pkgs/applications/audio/cmus/default.nix b/pkgs/applications/audio/cmus/default.nix
index 4f9c491a3a5..fd252754d66 100644
--- a/pkgs/applications/audio/cmus/default.nix
+++ b/pkgs/applications/audio/cmus/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, ffmpeg, libvorbis, mpc, mp4v2 }:
+{ stdenv, fetchgit, ncurses, pkgconfig, alsaLib, flac, libmad, ffmpeg, libvorbis, libmpc, mp4v2, libcue, pulseaudio}:
 
 stdenv.mkDerivation rec {
   name = "cmus-${version}";
-  version = "2.5.0";
+  version = "2.6.0";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/cmus/cmus-v${version}.tar.bz2";
-    sha256 = "1pwd3jifv12yr0yr77hsv5c9y8ay6kn2b5a3s5i8v2c882vgl890";
+  src = fetchgit {
+    url = https://github.com/cmus/cmus.git;
+    rev = "46b71032da827d22d4fae5bf2afcc4c9afef568c";
+    sha256 = "1hkqifll5ryf3ljp3w1dxz1p8m6rk34fpazc6vwavis6ga310hka";
   };
 
   configurePhase = "./configure prefix=$out";
 
-  buildInputs = [ ncurses pkgconfig alsaLib flac libmad ffmpeg libvorbis mpc mp4v2 ];
+  buildInputs = [ ncurses pkgconfig alsaLib flac libmad ffmpeg libvorbis libmpc mp4v2 libcue pulseaudio ];
 
   meta = {
     description = "Small, fast and powerful console music player for Linux and *BSD";
-    homepage = http://cmus.sourceforge.net;
+    homepage = https://cmus.github.io/;
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 19c590330f6..64f3f3586a3 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -12,13 +12,13 @@
 }:
 
 stdenv.mkDerivation {
-  name = "csound-5.19.01";
+  name = "csound-6.03.2";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = mirror://sourceforge/csound/Csound5.19.01.tar.gz;
-    sha256 = "078i69jwgadmxwa5ffn8h1py7cmd9asa8swnh38fyp56lzgzn669";
+    url = mirror://sourceforge/csound/Csound6.03.2.tar.gz;
+    sha256 = "0w6ij57dbfjljpf05bb9r91jphwaq1v63rh0713vl2n11d73dy7m";
   };
 
   buildInputs = [ cmake libsndfile flex bison alsaLib pulseaudio tcltk ];
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
new file mode 100644
index 00000000000..ca8ce453e63
--- /dev/null
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -0,0 +1,98 @@
+{ stdenv, fetchurl, intltool, pkgconfig
+# deadbeef can use either gtk2 or gtk3
+, gtk2Support ? true, gtk2 ? null
+, gtk3Support ? false, gtk3 ? null, gsettings_desktop_schemas ? null, makeWrapper ? null
+# input plugins
+, vorbisSupport ? true, libvorbis ? null
+, mp123Support ? true, libmad ? null
+, flacSupport ? true, flac ? null
+, wavSupport ? true, libsndfile ? null
+, cdaSupport ? true, libcdio ? null, libcddb ? null
+, aacSupport ? true, faad2 ? null
+, wavpackSupport ? false, wavpack ? null
+, ffmpegSupport ? false, ffmpeg ? null
+# misc plugins
+, zipSupport ? true, libzip ? null
+, artworkSupport ? true, imlib2 ? null
+, hotkeysSupport ? true, libX11 ? null
+, osdSupport ? true, dbus ? null
+# output plugins
+, alsaSupport ? true, alsaLib ? null
+, pulseSupport ? true, pulseaudio ? null
+# effect plugins
+, resamplerSupport ? true, libsamplerate ? null
+, overloadSupport ? true, zlib ? null
+# transports
+, remoteSupport ? true, curl ? null
+}:
+
+assert gtk2Support || gtk3Support;
+assert gtk2Support -> gtk2 != null;
+assert gtk3Support -> gtk3 != null && gsettings_desktop_schemas != null && makeWrapper != null;
+assert vorbisSupport -> libvorbis != null;
+assert mp123Support -> libmad != null;
+assert flacSupport -> flac != null;
+assert wavSupport -> libsndfile != null;
+assert cdaSupport -> (libcdio != null && libcddb != null);
+assert aacSupport -> faad2 != null;
+assert zipSupport -> libzip != null;
+assert ffmpegSupport -> ffmpeg != null;
+assert artworkSupport -> imlib2 != null;
+assert hotkeysSupport -> libX11 != null;
+assert osdSupport -> dbus != null;
+assert alsaSupport -> alsaLib != null;
+assert pulseSupport -> pulseaudio != null;
+assert resamplerSupport -> libsamplerate != null;
+assert overloadSupport -> zlib != null;
+assert wavpackSupport -> wavpack != null;
+assert remoteSupport -> curl != null;
+
+stdenv.mkDerivation rec {
+  name = "deadbeef-0.6.2";
+
+  src = fetchurl {
+    url = "http://garr.dl.sourceforge.net/project/deadbeef/${name}.tar.bz2";
+    sha256 = "06jfsqyakpvq0xhah7dlyvdzh5ym3hhb4yfczczw11ijd1kbjcrl";
+  };
+
+  buildInputs = with stdenv.lib;
+       optional gtk2Support gtk2
+    ++ optionals gtk3Support [gtk3 gsettings_desktop_schemas]
+    ++ optional vorbisSupport libvorbis
+    ++ optional mp123Support libmad
+    ++ optional flacSupport flac
+    ++ optional wavSupport libsndfile
+    ++ optionals cdaSupport [libcdio libcddb]
+    ++ optional aacSupport faad2
+    ++ optional zipSupport libzip
+    ++ optional ffmpegSupport ffmpeg
+    ++ optional artworkSupport imlib2
+    ++ optional hotkeysSupport libX11
+    ++ optional osdSupport dbus
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseSupport pulseaudio
+    ++ optional resamplerSupport libsamplerate
+    ++ optional overloadSupport zlib
+    ++ optional wavpackSupport wavpack
+    ++ optional remoteSupport curl
+    ;
+
+  nativeBuildInputs = with stdenv.lib; [ intltool pkgconfig ]
+    ++ optional gtk3Support makeWrapper;
+
+  enableParallelBuilding = true;
+
+  postInstall = if !gtk3Support then "" else ''
+    wrapProgram "$out/bin/deadbeef" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Ultimate Music Player for GNU/Linux";
+    homepage = http://deadbeef.sourceforge.net/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.abbradar ];
+    repositories.git = https://github.com/Alexey-Yakovenko/deadbeef;
+  };
+}
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index aa3a76c3af1..a8c710f2099 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -1,16 +1,13 @@
 { stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jack2
 , libxslt, lv2, pkgconfig, premake3, xlibs }:
 
-let
-  rev = "99efbf0b";
-in
 stdenv.mkDerivation rec {
-  name = "distrho-${rev}";
+  name = "distrho-ports-git-2015-01-28";
 
   src = fetchgit {
-    url = "https://github.com/falkTX/DISTRHO.git";
-    inherit rev;
-    sha256 = "ed26a6edca19ebb8260b3dc042f69c32162e1d91179fb9d22da42ec7131936f9";
+    url = "https://github.com/DISTRHO/DISTRHO-Ports.git";
+    rev = "b4e2dc24802fe6804c60fcd2559a0bca46b7709c";
+    sha256 = "661ff6f7cda71a8dd08cbcea3f560e99f0fc2232053cbc9a2aaba854137805c6";
   };
 
   patchPhase = ''
@@ -50,5 +47,9 @@ stdenv.mkDerivation rec {
     '';
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+
+    # The old repo was removed and split into multiple repos. More
+    # work is required to get everything to build and work.
+    broken = true;
   };
 }
diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix
new file mode 100644
index 00000000000..2daafda554e
--- /dev/null
+++ b/pkgs/applications/audio/drumgizmo/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, alsaLib, expat, glib, jack2, libX11, libpng
+, libpthreadstubs, libsmf, libsndfile, lv2, pkgconfig
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.9.6";
+  name = "drumgizmo-${version}";
+
+  src = fetchurl {
+    url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
+    sha256 = "1qs8aa1v8cw5zgfzcnr2dc4w0y5yzsgrywlnx2hfvx2si3as0mw4";
+  };
+
+  configureFlags = [ "--enable-lv2" ];
+
+  buildInputs = [
+    alsaLib expat glib jack2 libX11 libpng libpthreadstubs libsmf
+    libsndfile lv2 pkgconfig
+  ];
+
+  meta = with stdenv.lib; {
+    description = "An LV2 sample based drum plugin";
+    homepage = http://www.drumgizmo.org;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 775cf5ca606..e27b95c81e5 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.5.0";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
-    sha256 = "16bjkp22hfpmzj5di98dddzslavgvhw5z7pgjzmjqz9dxvbqwq1k";
+    sha256 = "1y3imsh059y9sihr92f3drwmcby4x3krmhly111ahwkydb94kphw";
   };
 
   buildInputs = [ jack2 libsndfile lv2 qt4 ];
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index c421dcc60cb..2d738f55c28 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -1,32 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, glib, libid3tag, id3lib, taglib
-, libvorbis, libogg, flac
+{ stdenv, fetchurl, pkgconfig, intltool, gtk3, glib, libid3tag, id3lib, taglib
+, libvorbis, libogg, flac, itstool, libxml2, gsettings_desktop_schemas
+, makeWrapper, gnome_icon_theme, dconf
 }:
 
 stdenv.mkDerivation rec {
   name = "easytag-${version}";
-  version = "2.1.8";
+  version = "2.3.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/easytag/2.1/${name}.tar.xz";
-    sha256 = "1ab5iv0a83cdf07qzi81ydfk5apay06nxags9m07msqalz4pabqs";
+    url = "mirror://gnome/sources/easytag/2.3/${name}.tar.xz";
+    sha256 = "0bj3sj4yzlnhan38j84acs7qv27fl3xy4rdrfq6dnpz4q6qccm84";
   };
 
-  preConfigure = ''
-    # pkg-config v0.23 should be enough.
-    sed -i -e '/_pkg_min_version=0.24/s/24/23/' \
-           -e 's/have_mp3=no/have_mp3=yes/' \
-           -e 's/ID3TAG_DEPS="id3tag"/ID3TAG_DEPS=""/' configure
+  preFixup = ''
+    wrapProgram $out/bin/easytag \
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" \
+      --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
   '';
 
   NIX_LDFLAGS = "-lid3tag -lz";
 
+  nativeBuildInputs = [ makeWrapper ];
   buildInputs = [
-    pkgconfig intltool gtk glib libid3tag id3lib taglib libvorbis libogg flac
+    pkgconfig intltool gtk3 glib libid3tag id3lib taglib libvorbis libogg flac
+    itstool libxml2 gsettings_desktop_schemas gnome_icon_theme dconf
   ];
 
   meta = {
     description = "View and edit tags for various audio files";
     homepage = "http://projects.gnome.org/easytag/";
     license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/audio/faust/default.nix b/pkgs/applications/audio/faust/default.nix
new file mode 100644
index 00000000000..722c762b7b4
--- /dev/null
+++ b/pkgs/applications/audio/faust/default.nix
@@ -0,0 +1,209 @@
+{ stdenv
+, coreutils
+, fetchgit
+, makeWrapper
+, pkgconfig
+}:
+
+with stdenv.lib.strings;
+
+let
+
+  version = "8-1-2015";
+
+  src = fetchgit {
+    url = git://git.code.sf.net/p/faudiostream/code;
+    rev = "4db76fdc02b6aec8d15a5af77fcd5283abe963ce";
+    sha256 = "f1ac92092ee173e4bcf6b2cb1ac385a7c390fb362a578a403b2b6edd5dc7d5d0";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://faust.grame.fr/;
+    downloadPage = http://sourceforge.net/projects/faudiostream/files/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ magnetophon pmahoney ];
+  };
+
+  faust = stdenv.mkDerivation {
+
+    name = "faust-${version}";
+
+    inherit src;
+
+    buildInputs = [ makeWrapper ];
+
+    passthru = {
+      inherit wrap wrapWithBuildEnv;
+    };
+
+    preConfigure = ''
+      makeFlags="$makeFlags prefix=$out"
+
+      # The faust makefiles use 'system ?= $(shell uname -s)' but nix
+      # defines 'system' env var, so undefine that so faust detects the
+      # correct system.
+      unset system
+    '';
+
+    # Remove most faust2appl scripts since they won't run properly
+    # without additional paths setup. See faust.wrap,
+    # faust.wrapWithBuildEnv.
+    postInstall = ''
+      # syntax error when eval'd directly
+      pattern="faust2!(svg)"
+      (shopt -s extglob; rm "$out"/bin/$pattern)
+    '';
+
+    postFixup = ''
+      # Set faustpath explicitly.
+      substituteInPlace "$out"/bin/faustpath \
+        --replace "/usr/local /usr /opt /opt/local" "$out"
+
+      # The 'faustoptflags' is 'source'd into other faust scripts and
+      # not used as an executable, so patch 'uname' usage directly
+      # rather than use makeWrapper.
+      substituteInPlace "$out"/bin/faustoptflags \
+        --replace uname "${coreutils}/bin/uname"
+
+      # wrapper for scripts that don't need faust.wrap*
+      for script in "$out"/bin/faust2*; do
+        wrapProgram "$script" \
+          --prefix PATH : "$out"/bin
+      done
+    '';
+
+    meta = meta // {
+      description = "A functional programming language for realtime audio signal processing";
+      longDescription = ''
+        FAUST (Functional Audio Stream) is a functional programming
+        language specifically designed for real-time signal processing
+        and synthesis. FAUST targets high-performance signal processing
+        applications and audio plug-ins for a variety of platforms and
+        standards.
+        The Faust compiler translates DSP specifications into very
+        efficient C++ code. Thanks to the notion of architecture,
+        FAUST programs can be easily deployed on a large variety of
+        audio platforms and plugin formats (jack, alsa, ladspa, maxmsp,
+        puredata, csound, supercollider, pure, vst, coreaudio) without
+        any change to the FAUST code.
+
+        This package has just the compiler, libraries, and headers.
+        Install faust2* for specific faust2appl scripts.
+      '';
+    };
+
+  };
+
+  # Default values for faust2appl.
+  faust2ApplBase =
+    { baseName
+    , dir ? "tools/faust2appls"
+    , scripts ? [ baseName ]
+    , ...
+    }@args:
+
+    args // {
+      name = "${baseName}-${version}";
+
+      inherit src;
+
+      configurePhase = ":";
+
+      buildPhase = ":";
+
+      installPhase = ''
+        runHook preInstall
+
+        mkdir -p "$out/bin"
+        for script in ${concatStringsSep " " scripts}; do
+          cp "${dir}/$script" "$out/bin/"
+        done
+
+        runHook postInstall
+      '';
+
+      postInstall = ''
+        # For the faust2appl script, change 'faustpath' and
+        # 'faustoptflags' to absolute paths.
+        for script in "$out"/bin/*; do
+          substituteInPlace "$script" \
+            --replace ". faustpath" ". '${faust}/bin/faustpath'" \
+            --replace ". faustoptflags" ". '${faust}/bin/faustoptflags'"
+        done
+      '';
+
+      meta = meta // {
+        description = "The ${baseName} script, part of faust functional programming language for realtime audio signal processing";
+      };
+    };
+
+  # Some 'faust2appl' scripts, such as faust2alsa, run faust to
+  # generate cpp code, then invoke the c++ compiler to build the code.
+  # This builder wraps these scripts in parts of the stdenv such that
+  # when the scripts are called outside any nix build, they behave as
+  # if they were running inside a nix build in terms of compilers and
+  # paths being configured (e.g. rpath is set so that compiled
+  # binaries link to the libs inside the nix store)
+  #
+  # The function takes two main args: the appl name (e.g.
+  # 'faust2alsa') and an optional list of propagatedBuildInputs. It
+  # returns a derivation that contains only the bin/${appl} script,
+  # wrapped up so that it will run as if it was inside a nix build
+  # with those build inputs.
+  #
+  # The build input 'faust' is automatically added to the
+  # propagatedBuildInputs.
+  wrapWithBuildEnv =
+    { baseName
+    , propagatedBuildInputs ? [ ]
+    , ...
+    }@args:
+
+    stdenv.mkDerivation ((faust2ApplBase args) // {
+
+      buildInputs = [ makeWrapper pkgconfig ];
+
+      propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs;
+
+      postFixup = ''
+
+        # export parts of the build environment
+        for script in "$out"/bin/*; do
+          wrapProgram "$script" \
+            --set FAUST_LIB_PATH "${faust}/lib/faust" \
+            --prefix PATH : "$PATH" \
+            --prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \
+            --set NIX_CFLAGS_COMPILE "\"$NIX_CFLAGS_COMPILE\"" \
+            --set NIX_LDFLAGS "\"$NIX_LDFLAGS\""
+        done
+      '';
+    });
+
+  # Builder for 'faust2appl' scripts, such as faust2firefox that
+  # simply need to be wrapped with some dependencies on PATH.
+  #
+  # The build input 'faust' is automatically added to the PATH.
+  wrap =
+    { baseName
+    , runtimeInputs ? [ ]
+    , ...
+    }@args:
+
+    let
+
+      runtimePath = concatStringsSep ":" (map (p: "${p}/bin") ([ faust ] ++ runtimeInputs));
+
+    in stdenv.mkDerivation ((faust2ApplBase args) // {
+
+      buildInputs = [ makeWrapper ];
+
+      postFixup = ''
+        for script in "$out"/bin/*; do
+          wrapProgram "$script" --prefix PATH : "${runtimePath}"
+        done
+      '';
+
+    });
+
+in faust
diff --git a/pkgs/applications/audio/faust/faust2alqt.nix b/pkgs/applications/audio/faust/faust2alqt.nix
new file mode 100644
index 00000000000..8ac26e488b3
--- /dev/null
+++ b/pkgs/applications/audio/faust/faust2alqt.nix
@@ -0,0 +1,15 @@
+{ faust
+, alsaLib
+, qt4
+}:
+
+faust.wrapWithBuildEnv {
+
+  baseName = "faust2alqt";
+
+  propagatedBuildInputs = [
+    alsaLib
+    qt4
+  ];
+
+}
diff --git a/pkgs/applications/audio/faust/faust2alsa.nix b/pkgs/applications/audio/faust/faust2alsa.nix
new file mode 100644
index 00000000000..2fe03d73a23
--- /dev/null
+++ b/pkgs/applications/audio/faust/faust2alsa.nix
@@ -0,0 +1,29 @@
+{ faust
+, alsaLib
+, atk
+, cairo
+, fontconfig
+, freetype
+, gdk_pixbuf
+, glib
+, gtk
+, pango
+}:
+
+faust.wrapWithBuildEnv {
+
+  baseName = "faust2alsa";
+
+  propagatedBuildInputs = [
+    alsaLib
+    atk
+    cairo
+    fontconfig
+    freetype
+    gdk_pixbuf
+    glib
+    gtk
+    pango
+  ];
+
+}
diff --git a/pkgs/applications/audio/faust/faust2csound.nix b/pkgs/applications/audio/faust/faust2csound.nix
new file mode 100644
index 00000000000..eb5e5831cdd
--- /dev/null
+++ b/pkgs/applications/audio/faust/faust2csound.nix
@@ -0,0 +1,20 @@
+{ faust
+, csound
+}:
+
+faust.wrapWithBuildEnv {
+
+  baseName = "faust2csound";
+
+  propagatedBuildInputs = [
+    csound
+  ];
+
+  # faust2csound generated .cpp files have
+  #   #include "csdl.h"
+  # but that file is in the csound/ subdirectory
+  preFixup = ''
+    NIX_CFLAGS_COMPILE="$(printf '%s' "$NIX_CFLAGS_COMPILE" | sed 's%${csound}/include%${csound}/include/csound%')"
+  '';
+
+}
diff --git a/pkgs/applications/audio/faust/faust2firefox.nix b/pkgs/applications/audio/faust/faust2firefox.nix
new file mode 100644
index 00000000000..b2cc6f46457
--- /dev/null
+++ b/pkgs/applications/audio/faust/faust2firefox.nix
@@ -0,0 +1,14 @@
+{ faust
+, xdg_utils
+}:
+
+# This just runs faust2svg, then attempts to open a browser using
+# 'xdg-open'.
+
+faust.wrap {
+
+  baseName = "faust2firefox";
+
+  runtimeInputs = [ xdg_utils ];
+
+}
diff --git a/pkgs/applications/audio/faust/faust2jack.nix b/pkgs/applications/audio/faust/faust2jack.nix
new file mode 100644
index 00000000000..bec523ad021
--- /dev/null
+++ b/pkgs/applications/audio/faust/faust2jack.nix
@@ -0,0 +1,23 @@
+{ faust
+, gtk
+, jack2
+, opencv
+}:
+
+faust.wrapWithBuildEnv {
+
+  baseName = "faust2jack";
+
+  scripts = [
+    "faust2jack"
+    "faust2jackinternal"
+    "faust2jackconsole"
+  ];
+
+  propagatedBuildInputs = [
+    gtk
+    jack2
+    opencv
+  ];
+
+}
diff --git a/pkgs/applications/audio/faust/faust2jaqt.nix b/pkgs/applications/audio/faust/faust2jaqt.nix
new file mode 100644
index 00000000000..3590bc6860d
--- /dev/null
+++ b/pkgs/applications/audio/faust/faust2jaqt.nix
@@ -0,0 +1,22 @@
+{ faust
+, jack2
+, opencv
+, qt4
+}:
+
+faust.wrapWithBuildEnv {
+
+  baseName = "faust2jaqt";
+
+  scripts = [
+    "faust2jaqt"
+    "faust2jackserver"
+  ];
+
+  propagatedBuildInputs = [
+    jack2
+    opencv
+    qt4
+  ];
+
+}
diff --git a/pkgs/applications/audio/faust/faust2lv2.nix b/pkgs/applications/audio/faust/faust2lv2.nix
new file mode 100644
index 00000000000..4d11395e738
--- /dev/null
+++ b/pkgs/applications/audio/faust/faust2lv2.nix
@@ -0,0 +1,11 @@
+{ faust
+, lv2
+}:
+
+faust.wrapWithBuildEnv {
+
+  baseName = "faust2lv2";
+
+  propagatedBuildInputs = [ lv2 ];
+
+}
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index 0256eacc436..80e4e49fb18 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libogg }:
 
 stdenv.mkDerivation rec {
-  name = "flac-1.3.0";
+  name = "flac-1.3.1";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/flac/${name}.tar.xz";
-    sha256 = "1p0hh190kqvpkbk1bbajd81jfbmkyl4fn2i7pggk2zppq6m68bgs";
+    sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c";
   };
 
   buildInputs = [ libogg ];
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = http://xiph.org/flac/;
     description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
     platforms = platforms.all;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix
index e78095a9c5d..5a4793a09c1 100644
--- a/pkgs/applications/audio/fldigi/default.nix
+++ b/pkgs/applications/audio/fldigi/default.nix
@@ -2,13 +2,13 @@
   libsamplerate, pulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
 
 stdenv.mkDerivation rec {
-  version = "3.21.82";
+  version = "3.22.02";
   pname = "fldigi";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.w1hkj.com/downloads/${pname}/${name}.tar.gz";
-    sha256 = "1q2fc1zm9kfsjir4g6fh95vmjdq984iyxfcs6q4gjqy1znhqcyqs";
+    sha256 = "1gry3r133j2x99h0ji56v6yjxzvbi0hb18p1lbkr9djzjvf591j3";
   };
 
   buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio
diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix
new file mode 100644
index 00000000000..0c12778089b
--- /dev/null
+++ b/pkgs/applications/audio/fmit/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, alsaLib, cmake, fftw, freeglut, jack2, libXmu, qt4 }:
+
+stdenv.mkDerivation rec {
+  version = "0.99.5";
+  name = "fmit-${version}";
+
+  src = fetchurl {
+    url = "http://download.gna.org/fmit/${name}-Source.tar.bz2";
+    sha256 = "1rc84gi27jmq2smhk0y0p2xyypmsz878vi053iqns21k848g1491";
+  };
+
+  # Also update longDescription when adding/removing sound libraries
+  buildInputs = [ alsaLib cmake fftw freeglut jack2 libXmu qt4 ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Free Musical Instrument Tuner";
+    longDescription = ''
+      Software for tuning musical instruments. Uses Qt as GUI library and
+      ALSA or JACK as sound input library.
+    '';
+    homepage = http://home.gna.org/fmit/index.html;
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/applications/audio/freewheeling/am_path_sdl.patch b/pkgs/applications/audio/freewheeling/am_path_sdl.patch
new file mode 100644
index 00000000000..2bc3b4f45ac
--- /dev/null
+++ b/pkgs/applications/audio/freewheeling/am_path_sdl.patch
@@ -0,0 +1,40 @@
+--- code-r100/configure.ac	2014-09-25 23:44:41.059174904 +0200
++++ code-r100.new/configure.ac	2014-09-26 01:37:18.507017390 +0200
+@@ -44,6 +44,8 @@
+   [AC_MSG_ERROR(CONFIG: You need libxml2-dev installed.
+ 	        http://www.xmlsoft.org/)])
+ 
++PKG_CHECK_MODULES([libxml], [libxml-2.0])
++
+ AC_CHECK_LIB([m], [sqrt], , [AC_MSG_ERROR(CORE: You need libm installed)])
+ AC_CHECK_LIB([pthread], [pthread_self], , [AC_MSG_ERROR(CORE: You need libpthread installed)])
+ 
+@@ -79,12 +81,12 @@
+    echo "--- Enabling USB LCD display --";
+ fi
+ 
+-#SDL_VERSION=1.2.4
+-#AM_PATH_SDL($SDL_VERSION,
+-#            :,
+-#	    AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found!
+-#		          http://www.libsdl.org/])
+-#)
++SDL_VERSION=1.2.4
++AM_PATH_SDL($SDL_VERSION,
++            :,
++	    AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found!
++		          http://www.libsdl.org/])
++)
+ 
+ AC_CHECK_LIB([vorbis], [main], , 
+   [AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed.
+@@ -95,6 +97,9 @@
+ AC_CHECK_LIB([vorbisenc], [main], , 
+   [AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed.
+ 		http://www.xiph.org/ogg/vorbis/)])
++AC_CHECK_LIB([ogg], [main], , 
++  [AC_MSG_ERROR(AUDIO: You need libogg-dev installed.
++		http://www.xiph.org/ogg/)])
+ 
+ AC_CHECK_LIB([sndfile], [main], , 
+   [AC_MSG_ERROR(AUDIO: you need libsndfile installed.
diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix
new file mode 100644
index 00000000000..a3f356e75c4
--- /dev/null
+++ b/pkgs/applications/audio/freewheeling/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchsvn, pkgconfig, autoconf, automake, gnutls, freetype
+, SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsaLib, jack2, libvorbis
+, libsndfile, libogg
+}:
+
+stdenv.mkDerivation {
+  name = "freewheeling-100";
+
+  src = fetchsvn {
+    url = svn://svn.code.sf.net/p/freewheeling/code;
+    rev = 100;
+    sha256 = "1m6z7p93xyha25qma9bazpzbp04pqdv5h3yrv6851775xsyvzksv";
+  };
+
+  buildInputs = [
+    pkgconfig autoconf automake gnutls freetype SDL SDL_gfx SDL_ttf
+    liblo libxml2 jack2 alsaLib libvorbis libsndfile libogg
+  ];
+
+  preConfigure = "autoreconf -vfi";
+
+  patches = [ ./am_path_sdl.patch ./xml.patch ];
+
+  meta = {
+    description = "A live looping instrument with JACK and MIDI support";
+    longDescription = ''
+        Freewheeling allows us to build repetitive grooves
+        by sampling and directing loops from within spirited improvisation.
+
+        It works because, down to the core, it's built around
+        improv. We leave mice and menus, and dive into our own process
+        of making sound.
+
+        Freewheeling runs under Mac OS X and Linux, and is open source
+        software, released under the GNU GPL license.
+    '' ;
+
+    version = "r100";
+    homepage = "http://freewheeling.sourceforge.net";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.sepi ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/freewheeling/xml.patch b/pkgs/applications/audio/freewheeling/xml.patch
new file mode 100644
index 00000000000..fd9d4fb39fe
--- /dev/null
+++ b/pkgs/applications/audio/freewheeling/xml.patch
@@ -0,0 +1,13 @@
+--- code-r100/src/Makefile.am	2014-09-25 23:44:41.043174832 +0200
++++ code-r100.new/src/Makefile.am	2014-09-26 01:21:03.750015888 +0200
+@@ -24,7 +24,8 @@
+ 
+ fweelindir = $(datadir)/fweelin
+ 
+-FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 -I/usr/include/libxml2 -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9
++XML_CFLAGS = `xml2-config --cflags`
++FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 $(XML_CFLAGS) -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9
+ 
+ AM_CFLAGS = $(CFLAGS) $(FWEELIN_CFLAGS)
+-AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS)
++AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS) ${libxml2_CFLAGS}
diff --git a/pkgs/applications/audio/game-music-emu/default.nix b/pkgs/applications/audio/game-music-emu/default.nix
new file mode 100644
index 00000000000..60d9c0e7b12
--- /dev/null
+++ b/pkgs/applications/audio/game-music-emu/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  version = "0.6.0";
+  name = "game-music-emu-${version}";
+
+  src = fetchurl {
+    url = "https://game-music-emu.googlecode.com/files/${name}.tar.bz2";
+    sha256 = "11s9l938nxbrk7qb2k1ppfgizcz00cakbxgv0gajc6hyqv882vjh";
+  };
+
+  buildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    homepage = https://code.google.com/p/game-music-emu/;
+    description = "A collection of video game music file emulators";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.all;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index 728155c02bd..7cc8aeda367 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, libtool, intltool, pkgconfig, glib
 , gtk, curl, mpd_clientlib, libsoup, gob2, vala, libunique
+, libSM, libICE, sqlite
 }:
 
 stdenv.mkDerivation rec {
@@ -12,6 +13,7 @@ stdenv.mkDerivation rec {
       url = http://download.sarine.nl/Programs/gmpc/11.8/libmpd-11.8.17.tar.gz;
       sha256 = "10vspwsgr8pwf3qp2bviw6b2l8prgdiswgv7qiqiyr0h1mmk487y";
     };
+    patches = [ ./libmpd-11.8.17-remove-strndup.patch ];
     buildInputs = [ pkgconfig glib ];
   };
 
@@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libtool intltool pkgconfig glib gtk curl mpd_clientlib libsoup
-    libunique libmpd gob2 vala
+    libunique libmpd gob2 vala libSM libICE sqlite
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/gmpc/libmpd-11.8.17-remove-strndup.patch b/pkgs/applications/audio/gmpc/libmpd-11.8.17-remove-strndup.patch
new file mode 100644
index 00000000000..ad4fdc02ef3
--- /dev/null
+++ b/pkgs/applications/audio/gmpc/libmpd-11.8.17-remove-strndup.patch
@@ -0,0 +1,15 @@
+diff --git a/src/libmpd-internal.h b/src/libmpd-internal.h
+index c84c3a4..51be441 100644
+--- a/src/libmpd-internal.h
++++ b/src/libmpd-internal.h
+@@ -206,10 +206,6 @@ int mpd_unlock_conn(MpdObj *mi);
+ MpdData * mpd_misc_sort_tag_list(MpdData *data);
+ 
+ 
+-#ifndef HAVE_STRNDUP
+-char * 		strndup					(const char *s, size_t n);
+-#endif
+-
+ int mpd_server_get_allowed_commands(MpdObj *mi);
+ typedef enum _MpdSearchType {
+ 	MPD_SEARCH_TYPE_NONE,
diff --git a/pkgs/applications/audio/gnaural/default.nix b/pkgs/applications/audio/gnaural/default.nix
new file mode 100644
index 00000000000..c9746590566
--- /dev/null
+++ b/pkgs/applications/audio/gnaural/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, gtk2, libsndfile, portaudio }:
+
+stdenv.mkDerivation rec {
+  name = "gnaural-1.0.20110606";
+  buildInputs = [ pkgconfig gtk2 libsndfile portaudio ];
+  src = fetchurl {
+    url = "mirror://sourceforge/gnaural/Gnaural/${name}.tar.gz";
+    sha256 = "0p9rasz1jmxf16vnpj17g3vzdjygcyz3l6nmbq6wr402l61f1vy5";
+  };
+  meta = with stdenv.lib;
+    { description = "Auditory binaural-beat generator";
+      homepage = http://gnaural.sourceforge.net/;
+      licenses = licenses.gpl2;
+      maintainers = [ maintainers.emery ];
+      platforms = platforms.linux;
+    };
+}
diff --git a/pkgs/applications/audio/google-musicmanager/default.nix b/pkgs/applications/audio/google-musicmanager/default.nix
index 8cff94c25d9..e7c513febf5 100644
--- a/pkgs/applications/audio/google-musicmanager/default.nix
+++ b/pkgs/applications/audio/google-musicmanager/default.nix
@@ -4,8 +4,8 @@
 assert stdenv.system == "x86_64-linux" || stdenv.system == "1686-linux";
 
 stdenv.mkDerivation rec {
-  debversion = "beta_1.0.84.1107-r0";
-  version = "1.0.84.1107-beta-r0"; # friendly to nix-env version sorting algo
+  debversion = "beta_1.0.129.6633-r0";
+  version = "beta_1.0.129.6633-r0"; # friendly to nix-env version sorting algo
   product = "google-musicmanager";
   name    = "${product}-${version}";
 
@@ -16,12 +16,12 @@ stdenv.mkDerivation rec {
 
   src = if stdenv.system == "x86_64-linux"
     then fetchurl {
-      url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/${product}-beta/${product}-${debversion}_amd64.deb";
-      sha256 = "0irlrspw508b1s9i5d1mddpp2x9w1ny3svf27gxf8pmwbiyd1cyi";
+      url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/google-musicmanager-${version}_amd64.deb";
+      sha256 = "1fq2p721mzv8nd4dq6i9xiqvvqd5ak3v142vsxchg6yn14a9kbvr";
     }
     else fetchurl {
-       url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/${product}-beta/${product}-${debversion}_i386.deb";
-       sha256 = "13pfsjvaygap6axrlbfhyk1h8377xmwi47x4af6j57qq6z7329rg";
+        url    = "http://dl.google.com/linux/musicmanager/deb/pool/main/g/google-musicmanager-beta/google-musicmanager-${version}_i386.deb";
+        sha256 = "7914e3e6e2adb2e952ebaf383db5e04727c29cfa83401007f29977f6c5ff6873";
     };
 
   unpackPhase = ''
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      --set-rpath "$out/opt/google/musicmanager:${readline}/lib:${ncurses}/lib:${stdenv.gcc.libc}/lib:${qt48}/lib:${stdenv.gcc.gcc}/lib:${libidn}/lib:${expat}/lib:${flac}/lib:${libvorbis}/lib" opt/google/musicmanager/MusicManager
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "$out/opt/google/musicmanager:${readline}/lib:${ncurses}/lib:${stdenv.cc.libc}/lib:${qt48}/lib:${stdenv.cc.cc}/lib:${libidn}/lib:${expat}/lib:${flac}/lib:${libvorbis}/lib" opt/google/musicmanager/MusicManager
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 19b61ebc76d..e8c14a9c763 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,5 +1,5 @@
 { pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
-  ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "" }:
+  ipodSupport ? true, libgpod, gnome3, hicolor_icon_theme }:
 
 with pkgs.lib;
 
@@ -7,16 +7,23 @@ let
   inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3;
 
 in buildPythonPackage rec {
-  name = "gpodder-3.7.0";
+  name = "gpodder-3.8.3";
 
   src = fetchurl {
     url = "http://gpodder.org/src/${name}.tar.gz";
-    sha256 = "fa90ef4bdd3fd9eef95404f7f43f70912ae3ab4f8d24078484a2f3e11b14dc47";
+    sha256 = "8ac120a6084bded6bc88ecadbbc9df54a85f44ef4507f73a76de1d7a5574303c";
   };
 
-  buildInputs = [ coverage feedparser minimock sqlite3 mygpoclient intltool ];
+  buildInputs = [
+    coverage feedparser minimock sqlite3 mygpoclient intltool
+    gnome3.gnome_themes_standard gnome3.gnome_icon_theme
+    gnome3.gnome_icon_theme_symbolic hicolor_icon_theme
+    gnome3.gsettings_desktop_schemas
+  ];
 
-  propagatedBuildInputs = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+
+  pythonPath = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
     ++ stdenv.lib.optional ipodSupport libgpod;
 
   postPatch = "sed -ie 's/PYTHONPATH=src/PYTHONPATH=\$(PYTHONPATH):src/' makefile";
@@ -25,8 +32,29 @@ in buildPythonPackage rec {
 
   preFixup = ''
     wrapProgram $out/bin/gpodder \
-      ${optionalString (gpodderHome != "") "--set GPODDER_HOME ${gpodderHome}"} \
-      ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"}
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  # The `wrapPythonPrograms` script in the postFixup phase breaks gpodder. The
+  # easiest way to fix this is to call wrapPythonPrograms and then to clean up
+  # the wrapped file.
+  postFixup = ''
+    wrapPythonPrograms
+
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+
+    createBuildInputsPth build-inputs "$buildInputStrings"
+    for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
+      if test -e $out/nix-support/$inputsfile; then
+          createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
+      fi
+    done
+
+    sed -i "$out/bin/..gpodder-wrapped-wrapped" -e '{
+        /import sys; sys.argv/d
+    }'
   '';
 
   installPhase = "DESTDIR=/ PREFIX=$out make install";
@@ -38,7 +66,7 @@ in buildPythonPackage rec {
       for you. Listen directly on your computer or on your mobile devices.
     '';
     homepage = "http://gpodder.org/";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = [ stdenv.lib.maintainers.skeidel ];
   };
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index 80a7cf52cd8..9c08b2ab6d7 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -1,11 +1,8 @@
 { stdenv, fetchurl, pkgconfig, makeWrapper, intltool, libgpod, curl, flac,
-  gnome3_12, gtk3, glib, gettext, perl, perlXMLParser , libglade, flex, libid3tag,
+  gnome, gtk3, glib, gettext, perl, perlXMLParser, flex, libglade, libid3tag,
   libvorbis, hicolor_icon_theme, gdk_pixbuf }:
 
-let
-  gnome = gnome3_12;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   version = "2.1.4";
   name = "gtkpod-${version}";
 
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index 777c0ddb2e3..984d666ab95 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -1,26 +1,43 @@
-{ stdenv, fetchurl, avahi, boost, fftw, gettext, glib, glibmm, gtk
-, gtkmm, intltool, jack2, ladspaH, librdf, libsndfile, lv2
-, pkgconfig, python }:
+{ stdenv, fetchurl, gettext, intltool, pkgconfig, python
+, avahi, bluez, boost, eigen, fftw, glib, glibmm, gtk, gtkmm, jack2
+, ladspaH, librdf, libsndfile, lilv, lv2, serd, sord, sratom
+, optimizationSupport ? false # Enable support for native CPU extensions
+}:
+
+let
+  inherit (stdenv.lib) optional;
+in
 
 stdenv.mkDerivation rec {
   name = "guitarix-${version}";
-  version = "0.28.3";
+  version = "0.32.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
-    sha256 = "0ks5avylyicqfj9l1wf4gj62i8m6is2jmp0h11h5l2wbg3xiwxjd";
+    sha256 = "1ybc5jk7fj6n8qh9ajzl1f6fzdmzab4nwjrh4fsylm94dn1jv0if";
   };
 
+  nativeBuildInputs = [ gettext intltool pkgconfig python ];
+
   buildInputs = [
-    avahi boost fftw gettext glib glibmm gtk gtkmm intltool jack2
-    ladspaH librdf libsndfile lv2 pkgconfig python
+    avahi bluez boost eigen fftw glib glibmm gtk gtkmm jack2
+    ladspaH librdf libsndfile lilv lv2 serd sord sratom
   ];
 
-  configurePhase = "python waf configure --prefix=$out";
+  configureFlags = [
+    "--shared-lib"
+    "--no-desktop-update"
+    "--no-faust" # Need to package a release of faust, 0.9.58 or 0.9.65
+    "--enable-nls"
+    "--includeresampler" # Zita-resampler not packaged, use vendored version
+    "--includeconvolver" # Zita-convolver not packaged, use vendored version
+  ] ++ optional optimizationSupport "--optimization";
+
+  configurePhase = ''python waf configure --prefix=$out $configureFlags'';
 
-  buildPhase = "python waf build";
+  buildPhase = ''python waf build'';
 
-  installPhase = "python waf install";
+  installPhase = ''python waf install'';
 
   meta = with stdenv.lib; { 
     description = "A virtual guitar amplifier for Linux running with JACK";
diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix
index 10f15f5882c..434f683bd5c 100644
--- a/pkgs/applications/audio/hydrogen/default.nix
+++ b/pkgs/applications/audio/hydrogen/default.nix
@@ -1,35 +1,19 @@
-{ stdenv, fetchurl, alsaLib, boost, glib, jack2, ladspaPlugins
-, libarchive, liblrdf , libsndfile, pkgconfig, qt4, scons, subversion }:
+{ stdenv, fetchurl, alsaLib, boost, cmake, glib, jack2, libarchive
+, liblrdf, libsndfile, pkgconfig, qt4 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.5.1";
+  version = "0.9.6.1";
   name = "hydrogen-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/hydrogen/hydrogen-${version}.tar.gz";
-    sha256 = "1fvyp6gfzcqcc90dmaqbm11p272zczz5pfz1z4lj33nfr7z0bqgb";
+    url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz";
+    sha256 = "0vxnaqfmcv7hhk0cj67imdcqngspnck7f0wfmvhfgfqa7x1xznll";
   };
 
   buildInputs = [ 
-    alsaLib boost glib jack2 ladspaPlugins libarchive liblrdf
-    libsndfile pkgconfig qt4 scons subversion
+    alsaLib boost cmake glib jack2 libarchive liblrdf libsndfile pkgconfig qt4
   ];
 
-  patches = [ ./scons-env.patch ];
-
-  postPatch = ''
-    sed -e 's#/usr/lib/ladspa#${ladspaPlugins}/lib/ladspa#' -i libs/hydrogen/src/preferences.cpp
-    sed '/\/usr/d' -i libs/hydrogen/src/preferences.cpp
-    sed "s#pkg_ver.rstrip().split('.')#pkg_ver.rstrip().split('.')[:3]#" -i Sconstruct
-  '';
-
-  # why doesn't scons find librdf?
-  buildPhase = ''
-    scons prefix=$out libarchive=1 lrdf=0 install
-  '';
-
-  installPhase = ":";
-
   meta = with stdenv.lib; {
     description = "Advanced drum machine";
     homepage = http://www.hydrogen-music.org;
diff --git a/pkgs/applications/audio/hydrogen/scons-env.patch b/pkgs/applications/audio/hydrogen/scons-env.patch
deleted file mode 100644
index ebc17f67872..00000000000
--- a/pkgs/applications/audio/hydrogen/scons-env.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- hydrogen-0.9.5/Sconstruct	2011-03-15 13:22:35.000000000 +0100
-+++ hydrogen-0.9.5/Sconstruct	2011-04-17 16:06:54.000000000 +0200
-@@ -178,7 +178,7 @@
- 
- 	includes.append( "libs/hydrogen/include" )
- 	
--	env = Environment( options = opts ) 
-+	env = Environment( options = opts, ENV = os.environ ) 
- 
- 
- 	#location of qt4.py
-@@ -298,7 +298,6 @@
- 
-         for N in glob.glob('./data/i18n/hydrogen.*'):
-             env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data/i18n', source=N))
--	env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data', source="./data/img"))
- 
- 	#add every img in ./data/img to the install list. 
- 	os.path.walk("./data/img/",install_images,env) 
-@@ -379,7 +379,7 @@
- 
- includes, a , b = get_platform_flags( opts )
- 
--env = Environment(options = opts, CPPPATH = includes)
-+env = Environment(options = opts, ENV = os.environ)
- 
- 
- Help(opts.GenerateHelpText(env))
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
index ac46ff6140c..d4abbbe0083 100644
--- a/pkgs/applications/audio/ingen/default.nix
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -1,27 +1,37 @@
 { stdenv, fetchsvn, boost, ganv, glibmm, gtk, gtkmm, jack2, lilv
-, lv2, pkgconfig, python, raul, serd, sord, sratom, suil
+, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
+, suil
 }:
 
 stdenv.mkDerivation  rec {
   name = "ingen-svn-${rev}";
-  rev = "5317";
+  rev = "5490";
 
   src = fetchsvn {
     url = "http://svn.drobilla.net/lad/trunk/ingen";
     rev = rev;
-    sha256 = "0zm3wbv9qsingjyr95nwin3khmnf3wq3fz2xa6p420dpcy6qnl4x";
+    sha256 = "09h2mrkzpwzhhyqy21xr7jhfbl82gmqfyj0lzhnjsrab8z56yzk6";
   };
 
   buildInputs = [
-    boost ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
-    raul serd sord sratom suil
+    boost ganv glibmm gtk gtkmm jack2 lilv lv2 makeWrapper pkgconfig
+    python raul serd sord sratom suil
   ];
 
   configurePhase = "python waf configure --prefix=$out";
 
+  propagatedBuildInputs = [ rdflib ];
+
   buildPhase = "python waf";
 
-  installPhase = "python waf install";
+  installPhase = ''
+    python waf install
+    for program in ingenams ingenish
+    do
+      wrapProgram $out/bin/$program \
+        --prefix PYTHONPATH : $out/lib/python${python.majorVersion}/site-packages:$PYTHONPATH
+    done
+  '';
 
   meta = with stdenv.lib; {
     description = "A modular audio processing system using JACK and LV2 or LADSPA plugins";
diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix
index 70ef5bdec5c..bf01fe1a935 100644
--- a/pkgs/applications/audio/jalv/default.nix
+++ b/pkgs/applications/audio/jalv/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation  rec {
   name = "jalv-${version}";
-  version = "1.4.4";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1iql1r52rmf87q6jkxhcxa3lpq7idzzg55ma91wphywyvh29q7lf";
+    sha256 = "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix
new file mode 100644
index 00000000000..dca72f22b49
--- /dev/null
+++ b/pkgs/applications/audio/keyfinder-cli/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, libav, libkeyfinder }:
+
+let version = "20150130"; in
+stdenv.mkDerivation rec {
+  name = "keyfinder-cli-${version}";
+
+  src = fetchFromGitHub {
+    repo = "keyfinder-cli";
+    owner = "EvanPurkhiser";
+    rev = "e8a20e73f8a465a6c3c9e71dabf4b636244a9b0c";
+    sha256 = "0x198ijr6wgzq24642s4pz5zxn4gvcc7dxmb6d1bfn3dwzi3j8lp";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Musical key detection for digital audio (command-line tool)";
+    longDescription = ''
+      This small utility is the automation-oriented DJ's best friend. By making
+      use of Ibrahim Sha'ath's high quality libKeyFinder library, it can be
+      used to estimate the musical key of many different audio formats.
+    '';
+    homepage = https://github.com/EvanPurkhiser/keyfinder-cli;
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ libav libkeyfinder ];
+
+  makeFlagsArray = "PREFIX=$(out)";
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix
new file mode 100644
index 00000000000..33ce627e56e
--- /dev/null
+++ b/pkgs/applications/audio/keyfinder/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, libav_0_8, libkeyfinder, qt5, taglib }:
+
+stdenv.mkDerivation rec {
+  version = "1.25-17-gf670607";
+  name = "keyfinder-${version}";
+
+  src = fetchFromGitHub {
+    repo = "is_KeyFinder";
+    owner = "ibsh";
+    rev = "f6706074435ac14c5238ee3f0dd22ac22d72af9c";
+    sha256 = "1sfnywc6jdpm03344i6i4pz13mqa4i5agagj4k6252m63cqmjkrc";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Musical key detection for digital audio (graphical UI)";
+    longDescription = ''
+      KeyFinder is an open source key detection tool, for DJs interested in
+      harmonic and tonal mixing. Designed primarily for electronic and dance
+      music, it is highly configurable and can be applied to many genres. It
+      supports a huge range of codecs thanks to LibAV, and writes to metadata
+      tags using TagLib. It's intended to be very focused: no library
+      management, no track suggestions, no media player. Just a fast,
+      efficient workflow tool.
+    '';
+    homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  # TODO: upgrade libav when "Audio sample format conversion failed" is fixed
+  buildInputs = [ libav_0_8 libkeyfinder qt5.base qt5.xmlpatterns taglib ];
+
+  configurePhase = ''
+    substituteInPlace is_KeyFinder.pro \
+       --replace "keyfinder.0" "keyfinder" \
+       --replace '$$[QT_INSTALL_PREFIX]' "$out"
+    qmake
+  '';
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
new file mode 100644
index 00000000000..58a64758c35
--- /dev/null
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -0,0 +1,74 @@
+{ stdenv, fetchurl
+, pkgconfig, cmake, perl, ffmpeg
+, docbook_xml_dtd_45, docbook_xsl, libxslt
+, phonon, automoc4, chromaprint, id3lib
+, taglib, mp4v2, flac, libogg, libvorbis
+, qt, zlib, readline
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "kid3-${version}";
+  version = "3.1.2";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/kid3/kid3/${version}/${name}.tar.gz";
+    sha256 = "0ik2bxg2im7nwcgi85g2dj148n80mfhks20rsxnzazl7afk9fl08";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig cmake perl ffmpeg docbook_xml_dtd_45 docbook_xsl libxslt
+    phonon automoc4 chromaprint id3lib taglib mp4v2 flac libogg libvorbis
+    qt zlib readline makeWrapper ];
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DWITH_APPS=Qt;CLI" ];
+  NIX_LDFLAGS = "-lm -lpthread";
+
+  preConfigure = ''
+    export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/"
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple and powerful audio tag editor";
+    longDescription = ''
+      If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC,
+      MP4/AAC, MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF
+      files (e.g. full albums) without typing the same information
+      again and again and have control over both ID3v1 and ID3v2 tags,
+      then Kid3 is the program you are looking for.
+
+      With Kid3 you can:
+      - Edit ID3v1.1 tags;
+      - Edit all ID3v2.3 and ID3v2.4 frames;
+      - Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags
+      - Edit tags in MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, MP2, Opus,
+        Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker
+        modules (MOD, S3M, IT, XM);
+      -  Edit tags of multiple files, e.g. the artist, album, year and
+         genre of all files of an album typically have the same values
+         and can be set together;
+      - Generate tags from filenames;
+      - Generate tags from the contents of tag fields;
+      - Generate filenames from tags;
+      - Rename and create directories from tags;
+      - Generate playlist files;
+      - Automatically convert upper and lower case and replace strings;
+      - Import from gnudb.org, TrackType.org, MusicBrainz, Discogs,
+        Amazon and other sources of album data;
+      - Export tags as CSV, HTML, playlists, Kover XML and in other
+        formats;
+      - Edit synchronized lyrics and event timing codes, import and
+        export LRC files
+    '';
+    homepage = http://kid3.sourceforge.net/;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
+
+# TODO: Qt5 support
diff --git a/pkgs/applications/audio/lame/default.nix b/pkgs/applications/audio/lame/default.nix
deleted file mode 100644
index 09b553a099c..00000000000
--- a/pkgs/applications/audio/lame/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl, nasm}:
-
-stdenv.mkDerivation rec {
-  name = "lame-3.99.5";
-  src = fetchurl {
-    url = "mirror://sourceforge/lame/${name}.tar.gz";
-    sha256 = "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14";
-  };
-
-  buildInputs = [ nasm ];
-
-  configureFlags = [ "--enable-nasm" ];
-
-  # Either disable static, or fix the rpath of 'lame' for it to point
-  # properly to the libmp3lame shared object.
-  dontDisableStatic = true;
-}
diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix
index dd0649811bb..6d28c038f23 100644
--- a/pkgs/applications/audio/lmms/default.nix
+++ b/pkgs/applications/audio/lmms/default.nix
@@ -1,24 +1,22 @@
-{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, jack2, libogg
-, libsamplerate, libsndfile, pkgconfig, pulseaudio, qt4, freetype
+{ stdenv, fetchurl, SDL, alsaLib, cmake, fftwSinglePrec, fluidsynth
+, fltk13, jack2, libvorbis , libsamplerate, libsndfile, pkgconfig
+, pulseaudio, qt4, freetype
 }:
 
 stdenv.mkDerivation  rec {
   name = "lmms-${version}";
-  version = "0.4.15";
+  version = "1.1.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/lmms/${name}.tar.bz2";
-    sha256 = "02q2gbsqwk3hf9kvzz58a5bxmlb4cfr2mzy41wdvbxxdm2pcl101";
+    url = "https://github.com/LMMS/lmms/archive/v${version}.tar.gz";
+    sha256 = "1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr";
   };
 
   buildInputs = [
-    SDL alsaLib cmake fftwSinglePrec jack2 libogg libsamplerate
-    libsndfile pkgconfig pulseaudio qt4
+    SDL alsaLib cmake fftwSinglePrec fltk13 fluidsynth jack2
+    libsamplerate libsndfile libvorbis pkgconfig pulseaudio qt4
   ];
 
-  # work around broken build system of 0.4.*
-  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix
new file mode 100644
index 00000000000..3b7a5bc685c
--- /dev/null
+++ b/pkgs/applications/audio/meters_lv2/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, pkgconfig
+, lv2, mesa, gtk2, cairo, pango, fftw }:
+
+let
+  version = "0.8.1";
+  name = "meters.lv2-${version}";
+
+  # robtk submodule is pegged to this version
+  robtkVersion = "0.3.0";
+  robtkName = "robtk-${robtkVersion}";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz";
+    sha256 = "142dg0j34mv5b0agajj2x1n9kgsmkfh08n1cjzk0j8n4xk2wb6ri";
+  };
+
+  robtkSrc = fetchurl {
+    name = "${robtkName}.tar.gz";
+    url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz";
+    sha256 = "1ny89i2sgga56k7fxskp9y8sb7pfhp6wgw5mni842p19z6q7h8rq";
+  };
+
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  buildInputs = [ pkgconfig lv2 mesa gtk2 cairo pango fftw ];
+
+  srcs = [ src robtkSrc ];
+  sourceRoot = name;
+
+  postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */
+
+  postPatch = "sed -i 's/fftw3f/fftw3/' Makefile";
+
+  preConfigure = "makeFlagsArray=( PREFIX=$out )";
+  meter_VERSION = version;
+
+  meta = with stdenv.lib;
+    { description = "Collection of audio level meters with GUI in LV2 plugin format";
+      homepage = http://x42.github.io/meters.lv2/;
+      maintainers = with maintainers; [ emery ];
+      license = licenses.gpl2;
+      platforms = platforms.linux;
+    };
+}
diff --git a/pkgs/applications/audio/mikmod/default.nix b/pkgs/applications/audio/mikmod/default.nix
index f38ff469731..58a83dafe69 100644
--- a/pkgs/applications/audio/mikmod/default.nix
+++ b/pkgs/applications/audio/mikmod/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, libmikmod, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "mikmod-3.2.2";
+  name = "mikmod-3.2.6";
+
   src = fetchurl {
-    url = "http://mikmod.shlomifish.org/files/${name}.tar.gz";
-    sha256 = "105vl1kyah588wpbpq6ck1wlr0jj55l2ps72q5i01gs9px8ncmp8";
+    url = "http://downloads.sourceforge.net/project/mikmod/mikmod/3.2.6/mikmod-3.2.6.tar.gz";
+    sha256 = "0wr61raj10rpl64mk3x9g3rwys898fbzyg93c6mrz89nvc74wm04";
   };
 
   buildInputs = [ libmikmod ncurses ];
diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix
index eadbaabcf56..d5d7ea7be76 100644
--- a/pkgs/applications/audio/milkytracker/default.nix
+++ b/pkgs/applications/audio/milkytracker/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ SDL alsaLib autoconf automake jack2 perl zlib zziplib ];
 
   meta = {
-    description = "Music tracker application, similar to Fasttracker II.";
+    description = "Music tracker application, similar to Fasttracker II";
     homepage = http://milkytracker.org;
     license = stdenv.lib.licenses.gpl3Plus;
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/pkgs/applications/audio/mimms/default.nix b/pkgs/applications/audio/mimms/default.nix
new file mode 100644
index 00000000000..b337dbf6d82
--- /dev/null
+++ b/pkgs/applications/audio/mimms/default.nix
@@ -0,0 +1,31 @@
+{ fetchurl, stdenv, pythonPackages, libmms }:
+
+let version = "3.2";
+in
+  pythonPackages.buildPythonPackage {
+    name = "mimms-${version}";
+    src = fetchurl {
+      url = "http://download.savannah.gnu.org/releases/mimms/mimms-${version}.tar.bz2";
+      sha256 = "0zmcd670mpq85cs3nvdq3i805ba0d1alqahfy1m9cpf7kxrivfml";
+    };
+
+    postInstall = ''
+      wrapProgram $out/bin/mimms \
+        --prefix LD_LIBRARY_PATH : ${libmms}/lib
+    '';
+
+    meta = {
+      homepage = https://savannah.nongnu.org/projects/mimms/;
+      license = stdenv.lib.licenses.gpl3;
+      description = "An mms (e.g. mms://) stream downloader";
+
+      longDescription = ''
+        mimms is a program designed to allow you to download streams
+        using the MMS protocol and save them to your computer, as
+        opposed to watching them live. Similar functionality is
+        available in full media player suites such as Xine, MPlayer,
+        and VLC, but mimms is quick and easy to use and, for the time
+        being, remains a useful program.
+      '';
+    };
+  }
diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
index 5c6a1d6ac54..a87e74dc87c 100644
--- a/pkgs/applications/audio/moc/default.nix
+++ b/pkgs/applications/audio/moc/default.nix
@@ -1,27 +1,27 @@
 { stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg
-, libvorbis, mpc, libsndfile, jack2, db, libmodplug, timidity, libid3tag
+, libvorbis, libmpc, libsndfile, jack2, db, libmodplug, timidity, libid3tag
 , libtool
 }:
 
 stdenv.mkDerivation rec {
   name = "moc-${version}";
-  version = "2.5.0-beta2";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "http://ftp.daper.net/pub/soft/moc/unstable/moc-${version}.tar.bz2";
-    sha256 = "486d50584c3fb0067b8c03af54e44351633a7740b18dc3b7358322051467034c";
+    url = "http://ftp.daper.net/pub/soft/moc/stable/moc-${version}.tar.bz2";
+    sha256 = "14b0g9jn12jzxsf292g64dc6frlxv99kaagsasmc8xmg80iab7nj";
   };
 
-  configurePhase = "./configure prefix=$out";
-
   buildInputs = [
     ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis
-    mpc libsndfile jack2 db libmodplug timidity libid3tag libtool
+    libmpc libsndfile jack2 db libmodplug timidity libid3tag libtool
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An ncurses console audio player designed to be powerful and easy to use";
     homepage = http://moc.daper.net/;
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub jagajaga ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index 08aa7e017b2..d1c6ed6379a 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/audio/mopidy-moped/default.nix b/pkgs/applications/audio/mopidy-moped/default.nix
index c50a1798b47..a96a5c9d898 100644
--- a/pkgs/applications/audio/mopidy-moped/default.nix
+++ b/pkgs/applications/audio/mopidy-moped/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-moped-${version}";
 
-  version = "0.3.3";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "https://github.com/martijnboland/moped/archive/v${version}.tar.gz";
-    sha256 = "19f3asqx7wmla53nhrxzdwj6qlkjv2rcwh34jxp27bz7nkhn0ihv";
+    sha256 = "1bkx0c4yi48nxm1vzacdil9scn0ilwkbd1rgiga34p77lcg16qb2";
   };
 
   propagatedBuildInputs = [ mopidy ];
diff --git a/pkgs/applications/audio/mopidy-mopify/default.nix b/pkgs/applications/audio/mopidy-mopify/default.nix
new file mode 100644
index 00000000000..2dd4c19f0e0
--- /dev/null
+++ b/pkgs/applications/audio/mopidy-mopify/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pythonPackages, mopidy }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "mopidy-mopify-${version}";
+
+  version = "1.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/dirkgroenen/mopidy-mopify/archive/${version}.tar.gz";
+    sha256 = "1i752vnkgqfps5vym63rbsh1xm141z8r68d80bi076zr6zbzdjj9";
+  };
+
+  propagatedBuildInputs = [ mopidy ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dirkgroenen/mopidy-mopify;
+    description = "A mopidy webclient based on the Spotify webbased interface.";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.Gonzih ];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy-spotify/default.nix b/pkgs/applications/audio/mopidy-spotify/default.nix
index 6223ffb0d81..14818e60cca 100644
--- a/pkgs/applications/audio/mopidy-spotify/default.nix
+++ b/pkgs/applications/audio/mopidy-spotify/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-spotify-${version}";
 
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/mopidy/mopidy-spotify/archive/v${version}.tar.gz";
-    sha256 = "1fgxakylsx0nggis11v6bxfy8h3dl1n1v86liyfcj0xazb1mx69m";
+    sha256 = "0pwgg9xw86sjhv6w735fm0k81v0lv3gqlidgw90hr47hc4wajnzx";
   };
 
   propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
@@ -16,7 +16,7 @@ pythonPackages.buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.mopidy.com/;
-    description = "Mopidy extension for playing music from Spotify.";
+    description = "Mopidy extension for playing music from Spotify";
     license = licenses.asl20;
     maintainers = [ maintainers.rickynils ];
     hydraPlatforms = [];
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index bbdd1f05fde..08ccfc13302 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -5,11 +5,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-${version}";
 
-  version = "0.19.3";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
-    sha256 = "0rjq69vqak1d6fhvih259wmwp50xgr6x0x5nd0hl6hlkbbysc8dp";
+    sha256 = "15cz6mqw8ihqxhlssnbbssl3bi1xxbmq7krf3hv0zmmdj73ilsd6";
   };
 
   propagatedBuildInputs = with pythonPackages; [
@@ -28,7 +28,7 @@ pythonPackages.buildPythonPackage rec {
     homepage = http://www.mopidy.com/;
     description = ''
       An extensible music server that plays music from local disk, Spotify,
-      SoundCloud, Google Play Music, and more.
+      SoundCloud, Google Play Music, and more
     '';
     license = licenses.asl20;
     maintainers = [ maintainers.rickynils ];
diff --git a/pkgs/applications/audio/morituri/default.nix b/pkgs/applications/audio/morituri/default.nix
new file mode 100644
index 00000000000..6498f48351d
--- /dev/null
+++ b/pkgs/applications/audio/morituri/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, python, pythonPackages, cdparanoia, cdrdao
+, pygobject, gst_python, gst_plugins_base, gst_plugins_good
+, setuptools, utillinux, makeWrapper, substituteAll }:
+
+stdenv.mkDerivation rec {
+  name = "morituri-${version}";
+  version = "0.2.3";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "http://thomas.apestaart.org/download/morituri/${name}.tar.bz2";
+    sha256 = "1b30bs1y8azl04izsrl01gw9ys0lhzkn5afxi4p8qbiri2h4v210";
+  };
+
+  pythonPath = [
+    pygobject gst_python pythonPackages.musicbrainzngs
+    pythonPackages.pycdio pythonPackages.pyxdg setuptools
+  ];
+
+  buildInputs = [
+    python cdparanoia cdrdao utillinux makeWrapper
+    gst_plugins_base gst_plugins_good
+  ] ++ pythonPath;
+
+  patches = [
+    (substituteAll {
+      src = ./paths.patch;
+      inherit cdrdao cdparanoia python utillinux;
+    })
+  ];
+
+  # This package contains no binaries to patch or strip.
+  dontPatchELF = true;
+  dontStrip = true;
+
+  postInstall = ''
+    wrapProgram "$out/bin/rip" \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://thomas.apestaart.org/morituri/trac/;
+    description = "A CD ripper aiming for accuracy over speed";
+    maintainers = [ maintainers.rycee ];
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/audio/morituri/paths.patch b/pkgs/applications/audio/morituri/paths.patch
new file mode 100644
index 00000000000..efabc1d200c
--- /dev/null
+++ b/pkgs/applications/audio/morituri/paths.patch
@@ -0,0 +1,91 @@
+diff -Nurp morituri-0.2.3-orig/doc/Makefile.in morituri-0.2.3/doc/Makefile.in
+--- morituri-0.2.3-orig/doc/Makefile.in	2014-12-23 12:44:46.222410092 +0100
++++ morituri-0.2.3/doc/Makefile.in	2014-12-23 12:46:49.619756940 +0100
+@@ -486,7 +486,7 @@ morituri.ics: $(top_srcdir)/morituri.doa
+ 	-moap doap -f $(top_srcdir)/morituri.doap ical > morituri.ics
+ 
+ rip.1: $(top_srcdir)/morituri/extern/python-command/scripts/help2man $(top_srcdir)/morituri
+-	PYTHONPATH=$(top_srcdir) $(PYTHON) $(top_srcdir)/morituri/extern/python-command/scripts/help2man morituri.rip.main.Rip rip > rip.1
++	PYTHONPATH=$(top_srcdir):$(PYTHONPATH) $(PYTHON) $(top_srcdir)/morituri/extern/python-command/scripts/help2man morituri.rip.main.Rip rip > rip.1
+ 
+ clean-local:
+ 	@rm -rf reference
+diff -Nurp morituri-0.2.3-orig/morituri/common/program.py morituri-0.2.3/morituri/common/program.py
+--- morituri-0.2.3-orig/morituri/common/program.py	2014-12-23 12:44:46.218410048 +0100
++++ morituri-0.2.3/morituri/common/program.py	2014-12-23 12:46:49.647757245 +0100
+@@ -92,13 +92,13 @@ class Program(log.Loggable):
+         """
+         Load the given device.
+         """
+-        os.system('eject -t %s' % device)
++        os.system('@utillinux@/bin/eject -t %s' % device)
+ 
+     def ejectDevice(self, device):
+         """
+         Eject the given device.
+         """
+-        os.system('eject %s' % device)
++        os.system('@utillinux@/bin/eject %s' % device)
+ 
+     def unmountDevice(self, device):
+         """
+@@ -112,7 +112,7 @@ class Program(log.Loggable):
+         proc = open('/proc/mounts').read()
+         if device in proc:
+             print 'Device %s is mounted, unmounting' % device
+-            os.system('umount %s' % device)
++            os.system('@utillinux@/bin/umount %s' % device)
+ 
+     def getFastToc(self, runner, toc_pickle, device):
+         """
+diff -Nurp morituri-0.2.3-orig/morituri/extern/python-command/scripts/help2man morituri-0.2.3/morituri/extern/python-command/scripts/help2man
+--- morituri-0.2.3-orig/morituri/extern/python-command/scripts/help2man	2014-12-23 12:44:46.206409916 +0100
++++ morituri-0.2.3/morituri/extern/python-command/scripts/help2man	2014-12-23 12:46:49.631757074 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!@python@/bin/python
+ 
+ # -*- Mode: Python -*-
+ # vi:si:et:sw=4:sts=4:ts=4
+diff -Nurp morituri-0.2.3-orig/morituri/program/cdparanoia.py morituri-0.2.3/morituri/program/cdparanoia.py
+--- morituri-0.2.3-orig/morituri/program/cdparanoia.py	2014-12-23 12:44:46.202409873 +0100
++++ morituri-0.2.3/morituri/program/cdparanoia.py	2014-12-23 12:46:49.659757376 +0100
+@@ -278,7 +278,7 @@ class ReadTrackTask(log.Loggable, task.T
+             stopTrack, stopOffset)
+ 
+         bufsize = 1024
+-        argv = ["cdparanoia", "--stderr-progress",
++        argv = ["@cdparanoia@/bin/cdparanoia", "--stderr-progress",
+             "--sample-offset=%d" % self._offset, ]
+         if self._device:
+             argv.extend(["--force-cdrom-device", self._device, ])
+@@ -551,7 +551,7 @@ _VERSION_RE = re.compile(
+ 
+ def getCdParanoiaVersion():
+     getter = common.VersionGetter('cdparanoia',
+-        ["cdparanoia", "-V"],
++        ["@cdparanoia@/bin/cdparanoia", "-V"],
+         _VERSION_RE,
+         "%(version)s %(release)s")
+ 
+diff -Nurp morituri-0.2.3-orig/morituri/program/cdrdao.py morituri-0.2.3/morituri/program/cdrdao.py
+--- morituri-0.2.3-orig/morituri/program/cdrdao.py	2014-12-23 12:44:46.202409873 +0100
++++ morituri-0.2.3/morituri/program/cdrdao.py	2014-12-23 12:46:49.667757463 +0100
+@@ -257,7 +257,7 @@ class CDRDAOTask(ctask.PopenTask):
+ 
+     def start(self, runner):
+         self.debug('Starting cdrdao with options %r', self.options)
+-        self.command = ['cdrdao', ] + self.options
++        self.command = ['@cdrdao@/bin/cdrdao', ] + self.options
+ 
+         ctask.PopenTask.start(self, runner)
+ 
+@@ -515,7 +515,7 @@ _VERSION_RE = re.compile(
+ 
+ def getCDRDAOVersion():
+     getter = common.VersionGetter('cdrdao',
+-        ["cdrdao"],
++        ["@cdrdao@/bin/cdrdao"],
+         _VERSION_RE,
+         "%(version)s")
+ 
diff --git a/pkgs/applications/audio/mp3gain/default.nix b/pkgs/applications/audio/mp3gain/default.nix
new file mode 100644
index 00000000000..3fef8398e9c
--- /dev/null
+++ b/pkgs/applications/audio/mp3gain/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation {
+  name = "mp3gain-1.5.2";
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/mp3gain/mp3gain-1_5_2-src.zip";
+    sha256 = "1jkgry59m8cnnfq05b9y1h4x4wpy3iq8j68slb9qffwa3ajcgbfv";
+  };
+
+  buildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  buildFlags = [ "OSTYPE=linux" ];
+
+  installPhase = ''
+    install -vD mp3gain "$out/bin/mp3gain"
+  '';
+
+  meta = {
+    description = "Lossless mp3 normalizer with statistical analysis";
+    homepage = http://mp3gain.sourceforge.net/;
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/audio/mp3info/default.nix b/pkgs/applications/audio/mp3info/default.nix
index ede31ac9beb..e4c45c613ee 100644
--- a/pkgs/applications/audio/mp3info/default.nix
+++ b/pkgs/applications/audio/mp3info/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/mp3splt/default.nix b/pkgs/applications/audio/mp3splt/default.nix
index b1970a998d5..08d91498cc0 100644
--- a/pkgs/applications/audio/mp3splt/default.nix
+++ b/pkgs/applications/audio/mp3splt/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "utility to split mp3, ogg vorbis and FLAC files without decoding";
     homepage = http://sourceforge.net/projects/mp3splt/;
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.bosu ];
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index 54ae5476efd..9224e21185b 100755..100644
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, mpd_clientlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.25";
+  version = "0.26";
   name = "mpc-${version}";
 
   src = fetchurl {
     url = "http://www.musicpd.org/download/mpc/0/${name}.tar.xz";
-    sha256 = "095gmik5vrnab5a1g92qiznn48w7499fr0gldp3s6xd26kvs9kvh";
+    sha256 = "0hp2qv6w2v902dhrmck5hg32s1ai6xiv9n61a3n6prfcfdqmywr0";
   };
-	
-  buildInputs = [ mpd_clientlib ]; 
-  
+
+  buildInputs = [ mpd_clientlib ];
+
   preConfigure =
     ''
       export LIBMPDCLIENT_LIBS=${mpd_clientlib}/lib/libmpdclient.so.${mpd_clientlib.majorVersion}.0.${mpd_clientlib.minorVersion}
diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix
index 939c9f79e4d..489831dc464 100644
--- a/pkgs/applications/audio/mpg321/default.nix
+++ b/pkgs/applications/audio/mpg321/default.nix
@@ -1,20 +1,28 @@
-{stdenv, fetchurl, libao, libmad, libid3tag, zlib}:
+{stdenv, fetchurl, libao, libmad, libid3tag, zlib, alsaLib}:
 
 stdenv.mkDerivation rec {
-  name = "mpg321-0.2.13-2";
+  name = "mpg321-${version}";
+  version = "0.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mpg321/0.2.13/${name}.tar.gz";
-    sha256 = "0zx9xyr97frlyrwyk2msm9h1sn2b84vqaxcy5drbzcd2n585lwlx";
+    url = "mirror://sourceforge/mpg321/${version}/mpg321_${version}.orig.tar.gz";
+    sha256 = "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5";
   };
 
-  buildInputs = [libao libid3tag libmad zlib];
+  configureFlags = [
+    ("--enable-alsa=" + (if stdenv.isLinux then "yes" else "no"))
+  ];
 
-  meta = {
+  buildInputs = [libao libid3tag libmad zlib]
+    ++ stdenv.lib.optional stdenv.isLinux alsaLib;
+
+  installTargets = "install install-man";
+
+  meta = with stdenv.lib; {
     description = "Command-line MP3 player";
     homepage = http://mpg321.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.rycee ];
+    platforms = platforms.gnu;
   };
 }
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
new file mode 100644
index 00000000000..a0bb8789658
--- /dev/null
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, makeWrapper, cmake, qt4, pkgconfig, alsaLib, portaudio, jack2, libsndfile}:
+
+stdenv.mkDerivation rec {
+  name = "musescore-1.3";
+
+  src = fetchurl {
+    url = "http://ftp.osuosl.org/pub/musescore/releases/MuseScore-1.3/mscore-1.3.tar.bz2";
+    sha256 = "a0b60cc892ac0266c58fc6392be72c0a21c3aa7fd0b6e4f1dddad1c8b36be683";
+  };
+
+  buildInputs = [ makeWrapper cmake qt4 pkgconfig alsaLib portaudio jack2 libsndfile ];
+
+  configurePhase = ''
+    cd mscore;
+    mkdir build;
+    cd build;
+    cmake -DCMAKE_INSTALL_PREFIX=$out -DQT_PLUGINS_DIR=$out/lib/qt4/plugins -DCMAKE_BUILD_TYPE=Release ..'';
+
+  preBuild = ''make lrelease;'';
+
+  postInstall = ''
+    wrapProgram $out/bin/mscore --prefix QT_PLUGIN_PATH : $out/lib/qt4/plugins
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Qt-based score editor";
+    homepage = http://musescore.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.vandenoever ];
+    repositories.git = https://github.com/musescore/MuseScore;
+  };
+}
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 94fa50a8883..b5f84f536d0 100755..100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  version = "0.23";
+  version = "0.24";
   name = "ncmpc-${version}";
 
   src = fetchurl {
     url = "http://www.musicpd.org/download/ncmpc/0/ncmpc-${version}.tar.xz";
-    sha256 = "d7b30cefaf5c74a5d8ab18ab8275e0102ae12e8ee6d6f8144f8e4cc9a97b5de4";
+    sha256 = "1sf3nirs3mcx0r5i7acm9bsvzqzlh730m0yjg6jcyj8ln6r7cvqf";
   };
 
   buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
+  configureFlags = [
+    "--enable-colors"
+    "--enable-lyrics-screen"
+  ];
+
   meta = with stdenv.lib; {
     description = "Curses-based interface for MPD (music player daemon)";
     homepage    = http://www.musicpd.org/clients/ncmpc/;
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index 186c5265433..bf437584559 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -1,24 +1,45 @@
-{ stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig
-, libiconvOrEmpty }:
+{ stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkgconfig, readline
+, libiconv
+, outputsSupport ? false # outputs screen
+, visualizerSupport ? false, fftw ? null # visualizer screen
+, clockSupport ? false # clock screen
+, unicodeSupport ? true # utf8 support
+, curlSupport ? true, curl ? null # allow fetching lyrics from the internet
+, taglibSupport ? true, taglib ? null # tag editor
+}:
 
+assert visualizerSupport -> (fftw != null);
+assert curlSupport -> (curl != null);
+assert taglibSupport -> (taglib != null);
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  version = "0.5.10";
   name = "ncmpcpp-${version}";
+  version = "0.6.3";
 
   src = fetchurl {
-    url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
-    sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8";
+    url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2";
+    sha256 = "00r2f7psd2jym2lxf3q3lz2lskz7091pz9glnxqam2bznwnlyxyp";
   };
 
-  buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ]
-    ++ libiconvOrEmpty;
+  configureFlags = [ "BOOST_LIB_SUFFIX=" ]
+    ++ optional outputsSupport "--enable-outputs"
+    ++ optional visualizerSupport "--enable-visualizer --with-fftw"
+    ++ optional clockSupport "--enable-clock"
+    ++ optional unicodeSupport "--enable-unicode"
+    ++ optional curlSupport "--with-curl"
+    ++ optional taglibSupport "--with-taglib";
+
+  buildInputs = [ boost mpd_clientlib ncurses pkgconfig readline libiconv ]
+    ++ optional curlSupport curl
+    ++ optional visualizerSupport fftw
+    ++ optional taglibSupport taglib;
 
-  meta = with stdenv.lib; {
-    description = "Curses-based interface for MPD (music player daemon)";
-    homepage    = http://unkart.ovh.org/ncmpcpp/;
+  meta = {
+    description = "A featureful ncurses based MPD client inspired by ncmpc";
+    homepage    = http://ncmpcpp.rybczak.net/;
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 mornfall ];
+    maintainers = with maintainers; [ lovek323 mornfall koral ];
     platforms   = platforms.all;
   };
 }
-
diff --git a/pkgs/applications/audio/nova-filters/default.nix b/pkgs/applications/audio/nova-filters/default.nix
new file mode 100644
index 00000000000..f49f756ce3a
--- /dev/null
+++ b/pkgs/applications/audio/nova-filters/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, scons, boost, ladspaH, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "0.2-2";
+  name = "nova-filters-${version}";
+
+  src = fetchurl {
+    url = http://klingt.org/~tim/nova-filters/nova-filters_0.2-2.tar.gz;
+    sha256 = "16064vvl2w5lz4xi3lyjk4xx7fphwsxc14ajykvndiz170q32s6i";
+  };
+
+  buildInputs = [ scons boost ladspaH pkgconfig ];
+
+  patchPhase = ''
+    # remove TERM:
+    sed -i -e '4d' SConstruct
+    sed -i "s@mfpmath=sse@mfpmath=sse -I ${boost.dev}/include@g" SConstruct
+    sed -i "s@ladspa.h@${ladspaH}/include/ladspa.h@g" filters.cpp
+    sed -i "s/= check/= detail::filter_base<internal_type, checked>::check/" nova/source/dsp/filter.hpp
+  '';
+
+  buildPhase = ''
+    scons
+  '';
+
+  installPhase = ''
+    scons $sconsFlags "prefix=$out" install
+  '';
+
+  meta = {
+    homepage = http://klingt.org/~tim/nova-filters/;
+    description = "LADSPA plugins based on filters of nova";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix
index 791763ced36..fb32674d3b4 100644
--- a/pkgs/applications/audio/opus-tools/default.nix
+++ b/pkgs/applications/audio/opus-tools/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, libogg, libao, pkgconfig, libopus, flac}:
 
 stdenv.mkDerivation rec {
-  name = "opus-tools-0.1.8";
+  name = "opus-tools-0.1.9";
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
-    sha256 = "1xm2lhdz92n9zmk496lyagisyzja46kx8q340vay9i51krbqiqg4";
+    sha256 = "0fk4nknvl111k89j5yckmyrh6b2wvgyhrqfncp7rig3zikbkv1xi";
   };
 
   buildInputs = [ libogg libao pkgconfig libopus flac ];
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tools to work with opus encoded audio streams";
     homepage = http://www.opus-codec.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
index 50df35b974f..314ecc95c3f 100644
--- a/pkgs/applications/audio/opusfile/default.nix
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, pkgconfig, openssl, libogg, libopus}:
 
 stdenv.mkDerivation rec {
-  name = "opusfile-0.4";
+  name = "opusfile-0.6";
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
-    sha256 = "0h4iwyqgid0cibqwzckz3r94qfp09099nk1cx5nz6i3cf08yldlq";
+    sha256 = "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14";
   };
 
   buildInputs = [ pkgconfig openssl libogg libopus ];
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "High-level API for decoding and seeking in .opus files";
     homepage = http://www.opus-codec.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/audio/paprefs/default.nix b/pkgs/applications/audio/paprefs/default.nix
new file mode 100644
index 00000000000..f05c4068a60
--- /dev/null
+++ b/pkgs/applications/audio/paprefs/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm, libglademm
+, dbus_glib, gconfmm, intltool }:
+
+stdenv.mkDerivation rec {
+  name = "paprefs-0.9.10";
+
+  src = fetchurl {
+    url = "http://freedesktop.org/software/pulseaudio/paprefs/${name}.tar.xz";
+    sha256 = "1c5b3sb881szavly220q31g7rvpn94wr7ywlk00hqb9zaikml716";
+  };
+
+  buildInputs = [ pulseaudio gtkmm libglademm dbus_glib gconfmm ];
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  configureFlags = [ "--disable-lynx" ];
+
+  meta = with stdenv.lib; {
+    description = "PulseAudio Preferences";
+
+    longDescription = ''
+      PulseAudio Preferences (paprefs) is a simple GTK based configuration
+      dialog for the PulseAudio sound server.
+    '';
+
+    homepage = http://freedesktop.org/software/pulseaudio/paprefs/ ;
+
+    license = licenses.gpl2Plus;
+
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix
index ca08624e98f..8e4c31302e2 100644
--- a/pkgs/applications/audio/pavucontrol/default.nix
+++ b/pkgs/applications/audio/pavucontrol/default.nix
@@ -1,20 +1,27 @@
-{ fetchurl, stdenv, pkgconfig, pulseaudio, gtkmm3
-, libcanberra_gtk3, intltool, gettext }:
+{ fetchurl, stdenv, pkgconfig, intltool, pulseaudio, gtkmm3
+, libcanberra_gtk3, makeWrapper, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "pavucontrol-2.0";
+  name = "pavucontrol-3.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
-    sha256 = "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2";
+    sha256 = "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk";
   };
 
-  buildInputs = [ pkgconfig pulseaudio gtkmm3 libcanberra_gtk3
-    intltool gettext ];
+  preFixup = ''
+    wrapProgram "$out/bin/pavucontrol" \
+     --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
+  '';
 
-  configureFlags = "--disable-lynx";
+  buildInputs = [ pulseaudio gtkmm3 libcanberra_gtk3 makeWrapper
+                  gnome3.gnome_icon_theme ];
 
-  meta = {
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  configureFlags = [ "--disable-lynx" ];
+
+  meta = with stdenv.lib; {
     description = "PulseAudio Volume Control";
 
     longDescription = ''
@@ -27,7 +34,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/pd-plugins/cyclone/default.nix b/pkgs/applications/audio/pd-plugins/cyclone/default.nix
new file mode 100644
index 00000000000..b90c6a0ea36
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/cyclone/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, puredata }:
+
+stdenv.mkDerivation rec {
+  name = "cyclone-${version}";
+  version = "0.1-alpha55";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/pure-data/libraries/cyclone/${name}.tar.gz";
+    sha256 = "1yys9xrlz09xgnqk2gqdl8vw6xj6l9d7km2lkihidgjql0jx5b5i";
+  };
+
+  buildInputs = [ puredata ];
+
+  patchPhase = ''
+    for file in `grep -r -l g_canvas.h`
+      do
+        sed -i 's|#include "g_canvas.h"|#include "${puredata}/include/pd/g_canvas.h"|g' $file
+      done
+    for file in `grep -r -l m_imp.h`
+      do
+        sed -i 's|#include "m_imp.h"|#include "${puredata}/include/pd/m_imp.h"|g' $file
+      done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/cyclone
+    cp -r bin/* $out/cyclone
+  '';
+
+  meta = {
+    description = "A library of PureData classes, bringing some level of compatibility between Max/MSP and Pd environments";
+    homepage = http://puredata.info/downloads/cyclone;
+    license = stdenv.lib.licenses.tcltk;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pd-plugins/helmholtz/default.nix b/pkgs/applications/audio/pd-plugins/helmholtz/default.nix
new file mode 100644
index 00000000000..9046ec0a87f
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/helmholtz/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, unzip, puredata }:
+
+stdenv.mkDerivation rec {
+  name = "helmholtz";
+
+  src = fetchurl {
+    url = "http://www.katjaas.nl/helmholtz/helmholtz~.zip";
+    name = "helmholtz.zip";
+    sha256 = "0h1fj7lmvq9j6rmw33rb8k0byxb898bi2xhcwkqalb84avhywgvs";
+  };
+
+  buildInputs = [ unzip puredata ];
+
+  unpackPhase = ''
+    unzip $src
+    mv helmholtz~/src/helmholtz\~.cpp .
+    mv helmholtz~/src/Helmholtz.cpp .
+    mv helmholtz~/src/include/ .
+    mv helmholtz~/src/Makefile .
+    rm -rf helmholtz~/src/
+    rm helmholtz~/helmholtz~.pd_darwin
+    rm helmholtz~/helmholtz~.dll
+    rm -rf __MACOSX
+  '';
+
+  patchPhase = ''
+    sed -i "s@current: pd_darwin@current: pd_linux@g" Makefile
+    sed -i "s@-Wl@@g" Makefile
+  '';
+
+  installPhase = ''
+    cp -r helmholtz~/ $out/
+  '';
+
+  meta = {
+    description = "Time domain pitch tracker for Pure Data";
+    homepage = http://www.katjaas.nl/helmholtz/helmholtz.html;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pd-plugins/maxlib/default.nix b/pkgs/applications/audio/pd-plugins/maxlib/default.nix
new file mode 100644
index 00000000000..dc4d0375961
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/maxlib/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, puredata }:
+
+stdenv.mkDerivation rec {
+  name = "maxlib-${version}";
+  version = "1.5.5";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/pure-data/libraries/maxlib/${name}.tar.gz";
+    sha256 = "0vxl9s815dnay5r0067rxsfh8f6jbk61f0nxrydzjydfycza7p1w";
+  };
+
+  buildInputs = [ puredata ];
+
+  patchPhase = ''
+    for i in ${puredata}/include/pd/*; do
+      ln -s $i .
+    done
+    sed -i "s@/usr@$out@g" Makefile
+  '';
+
+  postInstall = ''
+    mv $out/local/lib/pd-externals/maxlib/ $out
+    rm -rf $out/local/
+  '';
+
+  meta = {
+    description = "A library of non-tilde externals for puredata, by Miller Puckette";
+    homepage = http://puredata.info/downloads/maxlib;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pd-plugins/mrpeach/default.nix b/pkgs/applications/audio/pd-plugins/mrpeach/default.nix
new file mode 100644
index 00000000000..5f76b208e14
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/mrpeach/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl, puredata }:
+
+stdenv.mkDerivation rec {
+  name = "mrpeach-${version}";
+  version = "1.1";
+
+  # this was to only usable url I could find:
+  # - The main url changes hash: http://pure-data.cvs.sourceforge.net/viewvc/pure-data/externals/mrpeach/?view=tar
+  # - There are lot's of places where this SW is available as part of a big pkg: pd-extended, pd-l2ork
+  # - It's just 211K
+
+  src = fetchurl {
+    url = "http://slackonly.com/pub/korgie/sources/pd_mrpeach-2011.10.21.tar.gz";
+    sha256 = "12jqba3jsdrk20ib9wc2wiivki88ypcd4mkzgsri9siywbbz9w8x";
+  };
+
+  buildInputs = [puredata ];
+
+  patchPhase = ''
+    for D in net osc
+    do
+      sed -i "s@prefix = /usr/local@prefix = $out@g" $D/Makefile
+      for i in ${puredata}/include/pd/*; do
+        ln -s $i $D/
+      done
+    done
+  '';
+
+  buildPhase = ''
+    for D in net osc
+    do
+      cd $D
+      make
+      cd ..
+    done
+  '';
+
+  installPhase = ''
+    for D in net osc
+    do
+      cd $D
+      make install
+      cd ..
+    done
+  '';
+
+  fixupPhase = ''
+    mv $out/lib/pd-externals/net $out
+    mv $out/lib/pd-externals/osc $out
+    rm -rf $out/lib
+  '';
+
+  meta = {
+    description = "A collection of Pd objectclasses for OSC-messages";
+    homepage = http://puredata.info/downloads/osc;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pd-plugins/puremapping/default.nix b/pkgs/applications/audio/pd-plugins/puremapping/default.nix
new file mode 100644
index 00000000000..fc7fc5ee3d0
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/puremapping/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, unzip, puredata }:
+
+stdenv.mkDerivation rec {
+  name = "puremapping";
+
+  src = fetchurl {
+    url = "http://www.chnry.net/ch/IMG/zip/puremapping-libdir-generic.zip";
+    name = "puremapping";
+    sha256 = "1ygzxsfj3rnzjkpmgi4wch810q8s5vm1gdam6a938hbbvamafgvc";
+  };
+
+  buildInputs = [ unzip puredata ];
+
+  unpackPhase = ''
+    unzip $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/puremapping
+    mv puremapping/ $out
+  '';
+
+  meta = {
+    description = "Set of externals to facilitate the use of sensors within Pure Data and to create complex relations between input and output of a dynamic system";
+    homepage = http://www.chnry.net/ch/?090-Pure-Mapping&lang=en;
+    license = stdenv.lib.licenses.gpl1;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pd-plugins/timbreid/default.nix b/pkgs/applications/audio/pd-plugins/timbreid/default.nix
new file mode 100644
index 00000000000..f8a25256bb0
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/timbreid/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, unzip, puredata }:
+
+stdenv.mkDerivation rec {
+  version = "0.6.0";
+  name = "timbreid-${version}";
+
+  src = fetchurl {
+    url = "http://williambrent.conflations.com/pd/timbreID-${version}-src.zip";
+    sha256 = "02rnkb0vpjxrr60c3hryv7zhyjpci2mi9dk27kjxpj5zp26gjk0p";
+  };
+
+  buildInputs = [ unzip puredata ];
+
+  unpackPhase = ''
+    unzip $src
+    mv timbreID-0.6.0-src/tID/* .
+    rm -rf timbreID-0.6.0-src/tID/
+    rm -rf timbreID-0.6.0-src/INSTALL.txt
+  '';
+
+  installPhase = ''
+    mkdir -p $out/
+    cp -r *.pd $out/
+    cp -r *.pd_linux $out/
+    cp -r *.wav $out/
+  '';
+
+  meta = {
+    description = "A collection of audio feature analysis externals for puredata";
+    homepage = http://williambrent.conflations.com/pages/research.html;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/pd-plugins/zexy/default.nix b/pkgs/applications/audio/pd-plugins/zexy/default.nix
new file mode 100644
index 00000000000..68996e9e6e4
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/zexy/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, autoconf, automake, puredata }:
+
+stdenv.mkDerivation rec {
+  name = "zexy-${version}";
+  version = "2.2.4";
+
+  src = fetchurl {
+    url = "http://puredata.info/downloads/zexy/releases/${version}/${name}.tar.gz";
+    sha256 = "1xpgl82c2lc6zfswjsa7z10yhv5jb7a4znzh3nc7ffrzm1z8vylp";
+  };
+
+  buildInputs = [ autoconf automake puredata ];
+
+  patchPhase = ''
+    cd src/
+    for i in ${puredata}/include/pd/*; do
+      ln -s $i .
+    done
+    patchShebangs
+    ./bootstrap.sh
+    ./configure --enable-lpt=no --prefix=$out
+  '';
+
+  postInstall = ''
+    mv $out/lib/pd/extra/zexy $out
+    rm -rf $out/lib
+  '';
+
+  meta = {
+    description = "The swiss army knife for puredata";
+    homepage = http://puredata.info/downloads/zexy;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix
index 152ee442761..197a0aa1bbe 100644
--- a/pkgs/applications/audio/petrifoo/default.nix
+++ b/pkgs/applications/audio/petrifoo/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchgit, alsaLib, cmake, gtk, jack2, libgnomecanvas
+{ stdenv, fetchurl, alsaLib, cmake, gtk, jack2, libgnomecanvas
 , libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2
 , pkgconfig }:
 
 stdenv.mkDerivation  rec {
-  name = "petri-foo";
+  name = "petri-foo-${version}";
+  version = "0.1.87";
 
-  src = fetchgit {
-    url = https://github.com/licnep/Petri-Foo.git;
-    rev = "eef3b6efebe842d2fa18ed32b881fea4562b84e0";
-    sha256 = "a20c3f1a633500a65c099c528c7dc2405daa60738b64d881bb8f2036ae59913c";
+  src = fetchurl {
+    url =  "mirror://sourceforge/petri-foo/${name}.tar.bz2";
+    sha256 = "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh";
   };
 
   buildInputs =
@@ -16,8 +16,6 @@ stdenv.mkDerivation  rec {
      libsamplerate libsndfile libtool libxml2 pkgconfig
    ];
 
-  dontUseCmakeBuildDir=true;
-
   meta = with stdenv.lib; {
     description = "MIDI controllable audio sampler";
     longDescription = "a fork of Specimen";
diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix
index a9f4b02fa08..3e7bcb9d912 100644
--- a/pkgs/applications/audio/pianobar/default.nix
+++ b/pkgs/applications/audio/pianobar/default.nix
@@ -1,15 +1,15 @@
-{ fetchurl, stdenv, pkgconfig, libao, faad2, libmad, readline, json_c, libgcrypt, gnutls }:
+{ fetchurl, stdenv, pkgconfig, libao, readline, json_c, libgcrypt, gnutls, libav }:
 
 stdenv.mkDerivation rec {
-  name = "pianobar-2013.05.19";
+  name = "pianobar-2014.09.28";
 
   src = fetchurl {
     url = "http://6xq.net/projects/pianobar/${name}.tar.bz2";
-    sha256 = "cf88e82663d2b0aa4d73e761506eac4f3e7bc789b57d92377acd994d785e1046";
+    sha256 = "6bd10218ad5d68c4c761e02c729627d2581b4a6db559190e7e52dc5df177e68f";
   };
 
   buildInputs = [
-    pkgconfig libao faad2 libmad json_c libgcrypt gnutls
+    pkgconfig libao json_c libgcrypt gnutls libav
   ];
 
   makeFlags="PREFIX=$(out)";
@@ -17,10 +17,13 @@ stdenv.mkDerivation rec {
   CC = "gcc";
   CFLAGS = "-std=c99";
 
+  configurePhase = "export CC=${CC}";
+
   meta = {
     description = "A console front-end for Pandora.com";
     homepage = "http://6xq.net/projects/pianobar/";
     platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.unfree;
+    license = stdenv.lib.licenses.mit; # expat version
+    maintainers = stdenv.lib.maintainers.eduarrrd;
   };
 }
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 235a81a6a32..3d0114352a1 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -1,26 +1,18 @@
-{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
-, pkgconfig, libdiscid, libofa, ffmpeg, chromaprint
+{ stdenv, buildPythonPackage, fetchurl, gettext
+, pkgconfig, libofa, ffmpeg, chromaprint
+, pyqt4, mutagen, python-libdiscid
 }:
 
-pythonPackages.buildPythonPackage rec {
+let version = "1.3.2"; in
+buildPythonPackage {
   name = "picard-${version}";
   namePrefix = "";
-  version = "1.2";
 
   src = fetchurl {
-    url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
-    sha256 = "0sbsf8hzxhxcnnjqvsd6mc23lmk7w33nln0f3w72f89mjgs6pxm6";
+    url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/picard-${version}.tar.gz";
+    sha256 = "0821xb7gyg0rhch8s3qkzmak90wjpcxkv9a364yv6bmqc12j6a77";
   };
 
-  postPatch = let
-    discid = "${libdiscid}/lib/libdiscid.so.0";
-    fpr = "${chromaprint}/bin/fpcalc";
-  in ''
-    substituteInPlace picard/disc.py --replace libdiscid.so.0 ${discid}
-    substituteInPlace picard/const.py \
-        --replace "FPCALC_NAMES = [" "FPCALC_NAMES = ['${fpr}',"
-  '';
-
   buildInputs = [
     pkgconfig
     ffmpeg
@@ -29,19 +21,11 @@ pythonPackages.buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    pythonPackages.mutagen
     pyqt4
-    libdiscid
+    mutagen
+    python-libdiscid
   ];
 
-  configurePhase = ''
-    python setup.py config
-  '';
-
-  buildPhase = ''
-    python setup.py build
-  '';
-
   installPhase = ''
     python setup.py install --prefix="$out"
   '';
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index 86c68d087b7..354a3e43616 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
 
+let version = "5401"; in
 stdenv.mkDerivation {
-  name = "praat-5365";
+  name = "praat-${version}";
 
   src = fetchurl {
-    url = http://www.fon.hum.uva.nl/praat/praat5365_sources.tar.gz;
-    sha256 = "1w3mcq0mipx88i7ckhvzhmdj0p67nhppnn7kbkp21d01yyyz5rgq";
+    url = "http://www.fon.hum.uva.nl/praat/praat${version}_sources.tar.gz";
+    sha256 = "1hx0simc0hp5w5scyaiw8h8lrpafra4h1zy1jn1kzb0299yd06n3";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/puredata/wrapper.nix b/pkgs/applications/audio/puredata/wrapper.nix
new file mode 100644
index 00000000000..0a30037b226
--- /dev/null
+++ b/pkgs/applications/audio/puredata/wrapper.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildEnv, puredata, makeWrapper, plugins }:
+
+let
+puredataFlags = map (x: "-path ${x}/") plugins;
+drv = buildEnv {
+  name = "puredata-with-plugins-" + (builtins.parseDrvName puredata.name).version;
+
+  paths = [ puredata ] ++ plugins;
+
+  postBuild = ''
+    # TODO: This could be avoided if buildEnv could be forced to create all directories
+    if [ -L $out/bin ]; then
+      rm $out/bin
+      mkdir $out/bin
+      for i in ${puredata}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    wrapProgram $out/bin/pd \
+      --add-flags "${toString puredataFlags}"
+  '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix
index ba875255d4a..9b87dd53bf6 100644
--- a/pkgs/applications/audio/qjackctl/default.nix
+++ b/pkgs/applications/audio/qjackctl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, qt4, alsaLib, jack2, dbus }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.11";
+  version = "0.3.12";
   name = "qjackctl-${version}";
 
   # some dependencies such as killall have to be installed additionally
 
   src = fetchurl {
     url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
-    sha256 = "1wjzrgx3n2asyxk6cnfcm34msaw84qvsqy08bd4qnghrgpl96hwl";
+    sha256 = "14yvnc4k3hwsjflg8b2d04bc63pdl0gyqjc7vl6rdn29nbr23zwc";
   };
 
   buildInputs = [ qt4 alsaLib jack2 dbus ];
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index a18ef97dd60..0622194d2c2 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -28,11 +28,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-0.7.6";
+  name = "qmmp-0.8.2";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "1hq08ii06lyfg516jrvxdfcjj509gvglvdlsr96aqi1fh8v4k5p9";
+    sha256 = "1vwjy3bv1gj6k5kqkhw2q7aspashw6x4lxccl28iydjfzk7d7cd4";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index 4177dbeeb0c..0ae0c1ef3c8 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -3,12 +3,12 @@
 , libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.2";
+  version = "0.6.5";
   name = "qtractor-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/qtractor/${name}.tar.gz";
-    sha256 = "08cr4lgm8bkkmsvfljszcqij3i52n989s7ncrbrn17n61rmgf8yw";
+    sha256 = "0znhm0p9azknmhga6m0qp01qaiahlnfzxya1jf9r05jn9hx5lzf0";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix
index 0cbdfa6973d..28473ca365b 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.5.0";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/samplv1/${name}.tar.gz";
-    sha256 = "02mm5y1yzklvs5bpxl86y3dqcg7migfybmin8llk91pws6rl9b41";
+    sha256 = "0fbkdb2dqw7v6n8j1h6pjz2019ylli9rmz8awywv2ycm8blr5pf0";
   };
 
   buildInputs = [ jack2 libsndfile lv2 qt4 ];
diff --git a/pkgs/applications/audio/schismtracker/default.nix b/pkgs/applications/audio/schismtracker/default.nix
new file mode 100644
index 00000000000..1a448c74b47
--- /dev/null
+++ b/pkgs/applications/audio/schismtracker/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, alsaLib, python, SDL }:
+
+stdenv.mkDerivation rec {
+  version = "20120105";
+  name = "schismtracker-${version}";
+
+  src = fetchurl {
+    url = "http://schismtracker.org/dl/${name}.tar.bz2";
+    sha256 = "1ny7wv2wxm1av299wvpskall6438wjjpadphmqc7c0h6d0zg5kii";
+  };
+
+  configureFlags = "--enable-dependency-tracking";
+
+  buildInputs = [ alsaLib python SDL ];
+
+  meta = {
+    description = "Music tracker application, free reimplementation of Impulse Tracker";
+    homepage = "http://schismtracker.org/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.ftrvxmtrx ];
+  };
+}
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 52cd2ad35ce..6048ff88c35 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,17 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-14.3";
-
-  meta = {
-    description = "Sound editor";
-    homepage = http://ccrma.stanford.edu/software/snd;
-    platforms = stdenv.lib.platforms.linux;
-  };
+  name = "snd-15.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "04shk34pza507kvm40dc6sdz5jz533z4q2h7m9hgqvw1r3f57ms6";
+    sha256 = "1dari02ind445h5hpb6dhi0kix1vmlk64lyxwv1zrqagw3ajmpwh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,4 +17,14 @@ stdenv.mkDerivation rec {
     gtk2 alsaLib
     fftw gsl
   ];
+
+  meta = {
+    description = "Sound editor";
+    homepage = http://ccrma.stanford.edu/software/snd;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.free;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+
+
 }
diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix
index 42c39062042..7bda4fb2767 100644
--- a/pkgs/applications/audio/sonic-visualiser/default.nix
+++ b/pkgs/applications/audio/sonic-visualiser/default.nix
@@ -8,12 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "sonic-visualiser-${version}";
-  version = "2.3";
+  version = "2.4.1";
 
   src = fetchurl {
-
-    url = "http://code.soundsoftware.ac.uk/attachments/download/918/${name}.tar.gz";
-    sha256 = "1f06w2rin4r2mbi00bg3nmqdi2xdy9vq4jcmfanxzj3ld66ik40c";
+    url = "http://code.soundsoftware.ac.uk/attachments/download/1185/${name}.tar.gz";
+    sha256 = "06nlha70kgrby16nyhngrv5q846xagnxdinv608v7ga7vpywwmyb";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/sooperlooper/default.nix b/pkgs/applications/audio/sooperlooper/default.nix
new file mode 100644
index 00000000000..b40e2187175
--- /dev/null
+++ b/pkgs/applications/audio/sooperlooper/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, liblo, libxml2, jack2, libsndfile, wxGTK, libsigcxx
+,libsamplerate, rubberband, pkgconfig, ncurses
+}:
+
+stdenv.mkDerivation rec {
+  name = "sooperlooper-${version}";
+  version = "1.7.3";
+  src = fetchurl {
+    url = "http://essej.net/sooperlooper/${name}.tar.gz";
+    sha256 = "0n2gdxw1fx8nxxnpzf4sj0kp6k6zi1yq59cbz6qqzcnsnpnvszbs";
+  };
+
+  buildInputs = [
+   liblo libxml2 jack2 libsndfile wxGTK libsigcxx
+   libsamplerate rubberband pkgconfig ncurses
+  ];
+
+  meta = {
+    description = "A live looping sampler capable of immediate loop recording, overdubbing, multiplying, reversing and more";
+    longDescription = ''
+      It allows for multiple simultaneous multi-channel loops limited only by your computer's available memory.
+      The application is a standalone JACK client with an engine controllable via OSC and MIDI.
+      It also includes a GUI which communicates with the engine via OSC (even over a network) for user-friendly control on a desktop.
+      However, this kind of live performance looping tool is most effectively used via hardware (midi footpedals, etc)
+      and the engine can be run standalone on a computer without a monitor.
+    '';
+
+    version = "${version}";
+    homepage = "http://essej.net/sooperlooper/index.html";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix
new file mode 100644
index 00000000000..f7f5998846b
--- /dev/null
+++ b/pkgs/applications/audio/sound-juicer/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, pkgconfig, gtk3, intltool, itstool, libxml2, brasero
+, libcanberra_gtk3, gnome3, gst_all_1, libmusicbrainz5, libdiscid, isocodes
+, makeWrapper }:
+
+let
+  major = "3.15";
+  minor = "92";
+  GST_PLUGIN_PATH = stdenv.lib.makeSearchPath "lib/gstreamer-1.0" [
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-libav ];
+
+in stdenv.mkDerivation rec {
+  version = "${major}.${minor}";
+  name = "sound-juicer-${version}";
+
+  src = fetchurl {
+    url = "http://download.gnome.org/sources/sound-juicer/${major}/${name}.tar.xz";
+    sha256 = "b1420f267a4c553f6ca242d3b6082b60682c3d7b431ac3c979bd1ccfbf2687dd";
+  };
+
+  buildInputs = [ pkgconfig gtk3 intltool itstool libxml2 brasero libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas libmusicbrainz5 libdiscid isocodes
+                  makeWrapper gnome3.dconf
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
+                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
+
+  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 : "${gnome3.dconf}/lib/gio/modules" \
+        --prefix GST_PLUGIN_PATH : "${GST_PLUGIN_PATH}"
+    done
+  '';
+
+  postInstall = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Gnome CD Ripper";
+    homepage = https://wiki.gnome.org/Apps/SoundJuicer;
+    maintainers = [ maintainers.bdimcheff ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/spek/default.nix b/pkgs/applications/audio/spek/default.nix
new file mode 100644
index 00000000000..32aac686043
--- /dev/null
+++ b/pkgs/applications/audio/spek/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchzip, autoconf, automake, intltool, pkgconfig, ffmpeg, wxGTK }:
+
+stdenv.mkDerivation rec {
+  name = "spek-${version}";
+  version = "0.8.3";
+
+  src = fetchzip {
+    name = "${name}-src";
+    url = "https://github.com/alexkay/spek/archive/v${version}.tar.gz";
+    sha256 = "0y4hlhswpqkqpsglrhg5xbfy1a6f9fvasgdf336vhwcjqsc3k2xv";
+  };
+
+  buildInputs = [ autoconf automake intltool pkgconfig ffmpeg wxGTK ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Analyse your audio files by showing their spectrogram";
+    homepage = http://spek.cc/;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 47919a7d7f8..d66029199ce 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype
 , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
-, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev, fontconfig
+, libgcrypt, chromium, udev, fontconfig
 , dbus, expat }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -8,21 +8,7 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 let
   version = if stdenv.system == "i686-linux"
     then "0.9.4.183.g644e24e.428"
-    else "0.9.11.27.g2b1a638.81";
-
-  qt4webkit =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        name = "libqtwebkit4_2.3.2_i386.deb";
-        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_i386.deb;
-        sha256 = "0q4abhczx91ma57fjss0gn8j6nkfbfsbsh6kxhykzj88dih2s8rn";
-      }
-    else
-      fetchurl {
-        name = "libqtwebkit4_2.3.2_amd64.deb";
-        url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_amd64.deb;
-        sha256 = "0sac88avfivwkfhmd6fik7ili8fdznqas6741dbspf9mfnawbwch";
-      };
+    else "0.9.17.1.g9b85d43.7";
 
   deps = [
     alsaLib
@@ -36,16 +22,13 @@ let
     GConf
     gdk_pixbuf
     glib
-    gst_plugins_base
-    gstreamer
     gtk
     libgcrypt
     libpng
     nss
     pango
     qt4
-    sqlite
-    stdenv.gcc.gcc
+    stdenv.cc.cc
     xlibs.libX11
     xlibs.libXcomposite
     xlibs.libXdamage
@@ -56,7 +39,6 @@ let
     xlibs.libXrender
     xlibs.libXrender
     xlibs.libXScrnSaver
-    #xlibs.libXss
   ];
 
 in
@@ -73,7 +55,7 @@ stdenv.mkDerivation {
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}-1_amd64.deb";
-        sha256 = "0yfljiw01kssj3qaz8m0ppgrpjs6xrhzlr2wccp64bsnmin7g4sg";
+        sha256 = "0x87q7gd2997sgppsm4lmdiz1cm11x5vnd5c34nqb5d4ry5qfyki";
       }
     else throw "Spotify not supported on this platform.";
 
@@ -83,54 +65,50 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      mkdir -p $out
+      libdir=$out/lib/spotify
+      mkdir -p $libdir
       dpkg-deb -x $src $out
       mv $out/opt/spotify/* $out/
       rm -rf $out/usr $out/opt
 
       # Work around Spotify referring to a specific minor version of
       # OpenSSL.
-      mkdir $out/lib
 
-      ln -s ${nss}/lib/libnss3.so $out/lib/libnss3.so.1d
-      ln -s ${nss}/lib/libnssutil3.so $out/lib/libnssutil3.so.1d
-      ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d
+      ln -s ${nss}/lib/libnss3.so $libdir/libnss3.so.1d
+      ln -s ${nss}/lib/libnssutil3.so $libdir/libnssutil3.so.1d
+      ln -s ${nss}/lib/libsmime3.so $libdir/libsmime3.so.1d
 
       ${if stdenv.system == "x86_64-linux" then ''
-      ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.1.0.0
-      ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
-      ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so
-      ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so
+      ln -s ${openssl}/lib/libssl.so $libdir/libssl.so.1.0.0
+      ln -s ${openssl}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0
+      ln -s ${nspr}/lib/libnspr4.so $libdir/libnspr4.so
+      ln -s ${nspr}/lib/libplc4.so $libdir/libplc4.so
       '' else ''
-      ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8
-      ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8
-      ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d
-      ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d
+      ln -s ${openssl}/lib/libssl.so $libdir/libssl.so.0.9.8
+      ln -s ${openssl}/lib/libcrypto.so $libdir/libcrypto.so.0.9.8
+      ln -s ${nspr}/lib/libnspr4.so $libdir/libnspr4.so.0d
+      ln -s ${nspr}/lib/libplc4.so $libdir/libplc4.so.0d
       ''}
 
-      # Work around Spotify trying to open libudev.so.0 (which we don't have)
-      ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0
+      # Work around Spotify trying to open libudev.so.1 (which we don't have)
+      ln -s ${udev}/lib/libudev.so.1 $libdir/libudev.so.1
 
       mkdir -p $out/bin
 
-      rpath="$out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.gcc.gcc}/lib64"
+      rpath="$out/spotify-client/Data:$libdir:$out/spotify-client:${stdenv.cc.cc}/lib64"
 
       ln -s $out/spotify-client/spotify $out/bin/spotify
 
       patchelf \
-        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath $rpath $out/spotify-client/spotify
 
       patchelf \
-        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath $rpath $out/spotify-client/Data/SpotifyHelper
 
-      dpkg-deb -x ${qt4webkit} ./
-      mkdir -p $out/lib/
-      cp -v usr/lib/*/* $out/lib/
-
       preload=$out/libexec/spotify/libpreload.so
-      librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib"
+      librarypath="${stdenv.lib.makeLibraryPath deps}:$libdir"
       mkdir -p $out/libexec/spotify
       gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
 
@@ -150,6 +128,6 @@ stdenv.mkDerivation {
     homepage = https://www.spotify.com/;
     description = "Play music from the Spotify music service";
     license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    maintainers = with stdenv.lib.maintainers; [ eelco ftrvxmtrx ];
   };
 }
diff --git a/pkgs/applications/audio/swh-lv2/default.nix b/pkgs/applications/audio/swh-lv2/default.nix
index 9b18ab31abf..2955a9371ff 100644
--- a/pkgs/applications/audio/swh-lv2/default.nix
+++ b/pkgs/applications/audio/swh-lv2/default.nix
@@ -1,15 +1,12 @@
 { stdenv, fetchgit, fftwSinglePrec, libxslt, lv2, pkgconfig }:
 
-let
-  rev = "ec6b85e19e24ed";
-in
 stdenv.mkDerivation rec {
-  name = "swh-lv2-${rev}";
+  name = "swh-lv2-git-2013-05-17";
 
   src = fetchgit {
-    url = "git://github.com/swh/lv2.git";
-    inherit rev;
-    sha256 = "d0d918ee642cd9649215737fcc008ce2bf55f4ea893a1897138b33775ea60d17";
+    url = "https://github.com/swh/lv2.git";
+    rev = "978d5d8f549fd22048157a6d044af0faeaacbd7f";
+    sha256 = "3a9c042785b856623339aedafa5bc019b41beb8034d8594c7bbd6c9c26368065";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index c6c464b9ad7..83ce2fd66fa 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.5.0";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${name}.tar.gz";
-    sha256 = "011kjccrdwb62rpck5gb8h4kvvm8rk6n77lj78ykxz4pxip5hf14";
+    sha256 = "07570mi7rjwkkvfzdw1jcbhpkpxpjp69xj7wfzng92rk2gz7yi8m";
   };
 
   buildInputs = [ qt4 jack2 lv2 ];
diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix
new file mode 100644
index 00000000000..60e66b9f591
--- /dev/null
+++ b/pkgs/applications/audio/tomahawk/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest
+, liblastfm, lucenepp, phonon, phonon_backend_vlc, qca2, qjson, qt4
+, qtkeychain, quazip, sparsehash, taglib, websocketpp, makeWrapper
+
+, enableXMPP      ? true,  libjreen     ? null
+, enableKDE       ? false, kdelibs      ? null
+, enableTelepathy ? false, telepathy_qt ? null
+}:
+
+assert enableXMPP      -> libjreen     != null;
+assert enableKDE       -> kdelibs      != null;
+assert enableTelepathy -> telepathy_qt != null;
+
+let
+  quazipQt4 = quazip.override { qt = qt4; };
+in stdenv.mkDerivation rec {
+  name = "tomahawk-${version}";
+  version = "0.8.2";
+
+  src = fetchurl {
+    url = "http://download.tomahawk-player.org/${name}.tar.bz2";
+    sha256 = "1bmkkpqhflpm42sn6zf7hxv3936h3p0kdiqzmj88jm7qfgw2wbaj";
+  };
+
+  cmakeFlags = [
+    "-DLUCENEPP_INCLUDE_DIR=${lucenepp}/include"
+    "-DLUCENEPP_LIBRARY_DIR=${lucenepp}/lib"
+  ];
+
+  buildInputs = [
+    cmake pkgconfig attica boost gnutls libechonest liblastfm lucenepp phonon
+    qca2 qjson qt4 qtkeychain quazipQt4 sparsehash taglib websocketpp
+    makeWrapper
+  ] ++ stdenv.lib.optional enableXMPP      libjreen
+    ++ stdenv.lib.optional enableKDE       kdelibs
+    ++ stdenv.lib.optional enableTelepathy telepathy_qt;
+
+  postInstall = let
+    pluginPath = stdenv.lib.concatStringsSep ":" [
+      "${phonon_backend_vlc}/lib/kde4/plugins"
+    ];
+  in ''
+    for i in "$out"/bin/*; do
+      wrapProgram "$i" --prefix QT_PLUGIN_PATH : "${pluginPath}"
+    done
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A multi-source music player";
+    homepage = "http://tomahawk-player.org/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.aszlig ];
+  };
+}
diff --git a/pkgs/applications/audio/transcode/default.nix b/pkgs/applications/audio/transcode/default.nix
index c414992a12d..f47c8fa2eec 100644
--- a/pkgs/applications/audio/transcode/default.nix
+++ b/pkgs/applications/audio/transcode/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Suite of command line utilities for transcoding video and audio codecs, and for converting beween different container formats";
+    description = "Suite of command line utilities for transcoding video and audio codecs, and for converting between different container formats";
     homepage = http://www.transcoding.org/;
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix
index 3e365cae8e9..71a07f18e08 100755..100644
--- a/pkgs/applications/audio/vimpc/default.nix
+++ b/pkgs/applications/audio/vimpc/default.nix
@@ -26,9 +26,9 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A vi/vim inspired client for the Music Player Daemon (mpd).";
+    description = "A vi/vim inspired client for the Music Player Daemon (mpd)";
     homepage = https://github.com/boysetsfrog/vimpc;
-    license = "GPL3";
+    license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/vimus/default.nix b/pkgs/applications/audio/vimus/default.nix
new file mode 100644
index 00000000000..7118f1876dc
--- /dev/null
+++ b/pkgs/applications/audio/vimus/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, c2hs, dataDefault, deepseq, filepath, hspec
+, hspecExpectations, libmpd, mtl, ncurses, QuickCheck, time
+, transformers, utf8String, wcwidth
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vimus";
+  version = "0.2.0";
+  sha256 = "0s7hfyil9rnr9rmjb08g1l1sxybx3qdkw2f59p433fkdjp2m140h";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    dataDefault deepseq filepath libmpd mtl time utf8String wcwidth
+  ];
+  testDepends = [
+    dataDefault hspec hspecExpectations mtl QuickCheck transformers
+    wcwidth
+  ];
+  buildTools = [ c2hs ];
+  extraLibraries = [ ncurses ];
+  meta = {
+    description = "An MPD client with vim-like key bindings";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ jzellner ];
+    broken = self.stdenv.isLinux && self.stdenv.isi686;
+  };
+})
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index 67edc7f521d..5277bf6f68c 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk
-, jack2, libsndfile, mesa, minixml, pkgconfig, zlib
+, jack2, libsndfile, lv2, mesa, minixml, pkgconfig, zlib, xorg
 }:
 
 assert stdenv ? glibc;
 
 stdenv.mkDerivation  rec {
   name = "yoshimi-${version}";
-  version = "1.2.3";
+  version = "1.3.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
-    sha256 = "00bp699k8gnilin2rvgj35334s9jrizp82qwlmzzvvfliwcgqlqw";
+    sha256 = "0f37xjkay3800fbx0iwjca005b1hrjbhszrzn0xg662vf8mj44nv";
   };
 
   buildInputs = [
-    alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile mesa
-    minixml zlib
+    alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile lv2 mesa
+    minixml zlib xorg.libpthreadstubs
   ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix
index a5aa7d5c8d9..3a89b406742 100644
--- a/pkgs/applications/audio/zynaddsubfx/default.nix
+++ b/pkgs/applications/audio/zynaddsubfx/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, minixml
-, pkgconfig, zlib
+{ stdenv, fetchurl, alsaLib, cmake, jack2, fftw, fltk13, libjpeg
+, minixml, pkgconfig, zlib
 }:
 
 stdenv.mkDerivation  rec {
   name = "zynaddsubfx-${version}";
-  version = "2.4.3";
+  version = "2.4.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/zynaddsubfx/ZynAddSubFX-${version}.tar.bz2";
-    sha256 = "0kgmwyh4rhyqdfrdzhbzjjk2hzggkp9c4aac6sy3xv6cc1b5jjxq";
+    url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.xz";
+    sha256 = "15byz08p5maf3v8l1zz11xan6s0qcfasjf1b81xc8rffh13x5f53";
   };
 
-  buildInputs = [ alsaLib jack2 fftw fltk13 minixml zlib ];
+  buildInputs = [ alsaLib jack2 fftw fltk13 libjpeg minixml zlib ];
   nativeBuildInputs = [ cmake pkgconfig ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch b/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch
new file mode 100644
index 00000000000..00516484890
--- /dev/null
+++ b/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch
@@ -0,0 +1,8 @@
+--- ./scripts/CrashPlanDesktop    2014-12-18 09:51:14.050804325 +0100
++++ ./scripts/CrashPlanDesktop-1  2014-12-18 09:51:32.271009382 +0100
+@@ -9,4 +9,4 @@
+ 
+ cd ${TARGETDIR}
+ 
+-${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log &
++${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop &
diff --git a/pkgs/applications/backup/crashplan/CrashPlanEngine.patch b/pkgs/applications/backup/crashplan/CrashPlanEngine.patch
new file mode 100644
index 00000000000..de2afe2da68
--- /dev/null
+++ b/pkgs/applications/backup/crashplan/CrashPlanEngine.patch
@@ -0,0 +1,37 @@
+--- ./scripts/CrashPlanEngine	2014-02-19 23:17:19.000000000 +0000
++++ ./scripts/CrashPlanEngine.1	2014-07-24 17:36:37.330333581 +0100
+@@ -11,7 +11,7 @@
+ 	
+ 	cd $TARGETDIR
+ 		
+-	nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log & 
++	nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log & 
+ 	
+ 	if [[ $! -gt 0 ]]; then
+ 		echo $! > $PIDFILE
+@@ -26,7 +26,7 @@
+ 
+ 	echo "Using Ubuntu 9.04 startup"
+ 	
+-	start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log
++	start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log
+ 	
+ 	# This test isn't as useful as one might like; start-stop-daemon can't accurately report the state of child processes when --background is used.
+ 	# We use this mainly to report the specific error value returned by start-stop-daemon if something goes wrong, but be aware that a return value
+@@ -91,7 +91,6 @@
+ DESC="CrashPlan Engine"
+ NAME=CrashPlanEngine
+ DAEMON=$TARGETDIR/lib/com.backup42.desktop.jar
+-PIDFILE="$TARGETDIR/${NAME}.pid"
+ 
+ if [[ -f $TARGETDIR/install.vars ]]; then
+ 	. $TARGETDIR/install.vars
+@@ -100,6 +99,8 @@
+ 	exit 1
+ fi
+ 
++PIDFILE="$VARDIR/${NAME}.pid"
++
+ if [[ ! -f $DAEMON ]]; then
+ 	echo "Could not find JAR file $DAEMON"
+ 	exit 0
diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix
new file mode 100644
index 00000000000..5a0e8c7cfbd
--- /dev/null
+++ b/pkgs/applications/backup/crashplan/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
+
+let version = "3.6.4";
+
+in stdenv.mkDerivation rec {
+  name = "crashplan-${version}";
+
+  crashPlanArchive = fetchurl {
+    url = "http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
+    sha256 = "0xmzpxfm8vghk552jy167wg1nky1pp93dqds1p922hn73g0x5cv3";
+  };
+
+  srcs = [ crashPlanArchive ];
+
+  meta = with stdenv.lib; {
+    description = "An online/offline backup solution";
+    homepage = "http://www.crashplan.org";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ sztupi iElectric ];
+  };
+
+  buildInputs = [ makeWrapper cpio ];
+
+  vardir = "/var/lib/crashplan";
+
+  manifestdir = "${vardir}/manifest";
+
+  patches = [ ./CrashPlanEngine.patch ./CrashPlanDesktop.patch ];
+
+  installPhase = ''
+    mkdir $out
+    zcat -v CrashPlan_${version}.cpi | (cd $out; cpio -i -d -v --no-preserve-owner)
+
+    # sed -i "s|<manifestPath>manifest</manifestPath>|<manifestPath>${manifestdir}</manifestPath>|g" $out/conf/default.service.xml
+
+    # Fix for encoding troubles (CrashPlan ticket 178827)
+    # Make sure the daemon is running using the same localization as
+    # the (installing) user
+    echo "" >> run.conf
+    echo "export LC_ALL=en_US.UTF-8" >> run.conf
+
+    install -d -m 755 unpacked $out
+
+    install -D -m 644 EULA.txt $out/EULA.txt
+    install -D -m 644 run.conf $out/bin/run.conf
+    install -D -m 755 scripts/CrashPlanDesktop $out/bin/CrashPlanDesktop
+    install -D -m 755 scripts/CrashPlanEngine $out/bin/CrashPlanEngine
+    install -D -m 644 scripts/CrashPlan.desktop $out/share/applications/CrashPlan.desktop
+
+    rm -r $out/log
+    ln -s $vardir/log $out/log
+    ln -s $vardir/cache $out/cache
+    ln -s $vardir/backupArchives $out/backupArchives
+    ln -s $vardir/conf/service.model $out/conf/service.model
+    ln -s $vardir/conf/my.service.xml $out/conf/my.service.xml
+
+    echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars
+    echo "APP_BASENAME=CrashPlan" >> $out/install.vars
+    echo "TARGETDIR=$out" >> $out/install.vars
+    echo "BINSDIR=$out/bin" >> $out/install.vars
+    echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars
+    echo "VARDIR=${vardir}" >> $out/install.vars
+    echo "INITDIR=" >> $out/install.vars
+    echo "RUNLVLDIR=" >> $out/install.vars
+    echo "INSTALLDATE=" >> $out/install.vars
+  '';
+
+  postFixup = ''
+    for f in $out/bin/CrashPlanDesktop $out/bin/CrashPlanEngine; do
+      echo "substitutions in $f"
+      substituteInPlace $f --replace /bin/ps  ${procps}/bin/ps
+      substituteInPlace $f --replace awk      ${gawk}/bin/awk
+      substituteInPlace $f --replace sed      ${gnused}/bin/sed
+      substituteInPlace $f --replace grep     ${gnugrep}/bin/grep
+    done
+    
+    substituteInPlace $out/share/applications/CrashPlan.desktop \
+      --replace /usr/local  $out \
+      --replace crashplan/skin skin
+
+    wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${gtk2}/lib:${glib}/lib:${libXtst}/lib"
+  '';
+}
diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
index 69f1eef9cec..2ae6b2aeb26 100644
--- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
@@ -6,45 +6,42 @@
 #ToDo: bad icons with gtk2;
 #  avatar icon is missing in standard hicolor theme, I don't know where gtk3 takes it from
 
-#ToDo: Failed to open sessions directory: Error opening directory '${lightdm}/share/lightdm/remote-sessions': No such file or directory
-
 let
-  ver_branch = "1.6";
-  version = "1.6.1";
+  ver_branch = "2.0";
+  version = "2.0.0";
 in
 stdenv.mkDerivation rec {
   name = "lightdm-gtk-greeter-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz";
-    sha256 = "1nb8ljrbrp1zga083g3b633xi3izxxm4jipw1qgial1x16mqc0hz";
+    sha256 = "1134q8qd7gr34jkivqxckdnwbpa8pl7dhjpdi9fci0pcs4hh22jc";
   };
 
-  patches = [
-    ./lightdm-gtk-greeter.patch
-    (fetchurl { # CVE-2014-0979, https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1266449
-      url = "https://launchpadlibrarian.net/161796033/07_fix-NULL-username.patch";
-      sha256 = "1sqkhsz1z10k6vlmlrqrfx452lznv30885fmnzc73p2zxdlw9q1a";
-    })
-  ];
-  patchFlags = "-p1";
+  buildInputs = [ pkgconfig lightdm intltool makeWrapper ]
+    ++ (if useGTK2 then [ gtk2 ] else [ gtk3 ]);
 
-  buildInputs = [ pkgconfig lightdm intltool ]
-    ++ (if useGTK2 then [ gtk2 makeWrapper ] else [ gtk3 ]);
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+  ] ++ stdenv.lib.optional useGTK2 "--with-gtk2";
 
-  configureFlags = stdenv.lib.optional useGTK2 "--with-gtk2";
+  installFlags = [
+    "localstatedir=\${TMPDIR}"
+    "sysconfdir=\${out}/etc"
+  ];
 
   postInstall = ''
-      substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
-        --replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
-    '' + stdenv.lib.optionalString useGTK2 ''
-      wrapProgram "$out/sbin/lightdm-gtk-greeter" \
-        --prefix XDG_DATA_DIRS ":" "${hicolor_icon_theme}/share"
-    '';
-
-  meta = {
+    substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
+      --replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
+    wrapProgram "$out/sbin/lightdm-gtk-greeter" \
+      --prefix XDG_DATA_DIRS ":" "${hicolor_icon_theme}/share"
+  '';
+
+  meta = with stdenv.lib; {
     homepage = http://launchpad.net/lightdm-gtk-greeter;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ocharles wkennington ];
   };
 }
diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch b/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch
deleted file mode 100644
index ea9e0eaec93..00000000000
--- a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c
-index cc5f9e1..d615dc1 100644
---- a/src/lightdm-gtk-greeter.c
-+++ b/src/lightdm-gtk-greeter.c
-@@ -1716,7 +1716,7 @@ main (int argc, char **argv)
-     gtk_container_add (GTK_CONTAINER (menuitem), image);
-     gtk_widget_show (GTK_WIDGET (menuitem));
-     
--    items = lightdm_get_sessions ();
-+    items = lightdm_get_sessions (greeter);
-     GSList *sessions = NULL;
-     for (item = items; item; item = item->next)
-     {
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index d4c6f24d69a..79163945c0c 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,32 +1,41 @@
 { stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
-, intltool, x11, libxklavier, libgcrypt, dbus/*for tests*/ }:
+, intltool, x11, libxklavier, libgcrypt
+, qt4 ? null, qt5 ? null
+}:
 
 let
-  ver_branch = "1.8";
-  version = "1.8.6";
+  ver_branch = "1.14";
+  version = "1.14.0";
 in
 stdenv.mkDerivation rec {
   name = "lightdm-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
-    sha256 = "17ivc0c4dbnc0fzd581j53cn6hdav34zz2hswjzy8aczbpk605qi";
+    sha256 = "0fkbzqncx34dhylrg5328fih7xywmsqj2p40smnx33nyf047jdgc";
   };
 
-  patches = [ ./lightdm.patch ];
-  patchFlags = "-p1";
-
   buildInputs = [
     pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
-  ] ++ stdenv.lib.optional doCheck dbus.daemon;
+    qt4 qt5
+  ];
 
-  configureFlags = [ "--enable-liblightdm-gobject" "--localstatedir=/var" ];
+  configureFlags = [
+    "--enable-liblightdm-gobject"
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+  ] ++ stdenv.lib.optional (qt4 != null) "--enable-liblightdm-qt"
+    ++ stdenv.lib.optional (qt5 != null) "--enable-liblightdm-qt5";
 
-  doCheck = false; # some tests fail, don't know why
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://launchpad.net/lightdm;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ocharles wkennington ];
   };
 }
diff --git a/pkgs/applications/display-managers/lightdm/lightdm.patch b/pkgs/applications/display-managers/lightdm/lightdm.patch
deleted file mode 100644
index d81e0aae56d..00000000000
--- a/pkgs/applications/display-managers/lightdm/lightdm.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-diff --git a/liblightdm-gobject/greeter.c b/liblightdm-gobject/greeter.c
-index 9387118..635cea0 100644
---- a/liblightdm-gobject/greeter.c
-+++ b/liblightdm-gobject/greeter.c
-@@ -567,6 +567,21 @@ lightdm_greeter_get_default_session_hint (LightDMGreeter *greeter)
- }
- 
- /**
-+ * lightdm_greeter_get_config_path
-+ * @greeter: A #LightDMGreeter
-+ *
-+ * Get the config path to LightDM.
-+ *
-+ * Return value: The path to the current LightDM configuration file.
-+ **/
-+const gchar *
-+lightdm_greeter_get_config_path (LightDMGreeter *greeter)
-+{
-+    g_return_val_if_fail (LIGHTDM_IS_GREETER (greeter), NULL);
-+    return lightdm_greeter_get_hint (greeter, "config-path");
-+}
-+
-+/**
-  * lightdm_greeter_get_hide_users_hint:
-  * @greeter: A #LightDMGreeter
-  *
-diff --git a/liblightdm-gobject/lightdm/greeter.h b/liblightdm-gobject/lightdm/greeter.h
-index 7d8988f..2b54909 100644
---- a/liblightdm-gobject/lightdm/greeter.h
-+++ b/liblightdm-gobject/lightdm/greeter.h
-@@ -93,6 +93,8 @@ gboolean lightdm_greeter_get_select_guest_hint (LightDMGreeter *greeter);
- 
- const gchar *lightdm_greeter_get_autologin_user_hint (LightDMGreeter *greeter);
- 
-+const gchar *lightdm_greeter_get_config_path (LightDMGreeter *greeter);
-+
- gboolean lightdm_greeter_get_autologin_guest_hint (LightDMGreeter *greeter);
- 
- gint lightdm_greeter_get_autologin_timeout_hint (LightDMGreeter *greeter);
-diff --git a/liblightdm-gobject/lightdm/session.h b/liblightdm-gobject/lightdm/session.h
-index 13ddcd9..cdb2fd6 100644
---- a/liblightdm-gobject/lightdm/session.h
-+++ b/liblightdm-gobject/lightdm/session.h
-@@ -12,6 +12,7 @@
- #define LIGHTDM_SESSION_H_
- 
- #include <glib-object.h>
-+#include "greeter.h"
- 
- G_BEGIN_DECLS
- 
-@@ -42,9 +43,9 @@ typedef struct
- 
- GType lightdm_session_get_type (void);
- 
--GList *lightdm_get_sessions (void);
-+GList *lightdm_get_sessions (LightDMGreeter *greeter);
- 
--GList *lightdm_get_remote_sessions (void);
-+GList *lightdm_get_remote_sessions (LightDMGreeter *greeter);
- 
- const gchar *lightdm_session_get_key (LightDMSession *session);
- 
-diff --git a/liblightdm-gobject/session.c b/liblightdm-gobject/session.c
-index 949778f..db5e18a 100644
---- a/liblightdm-gobject/session.c
-+++ b/liblightdm-gobject/session.c
-@@ -11,6 +11,7 @@
- #include <string.h>
- #include <gio/gdesktopappinfo.h>
- 
-+#include "lightdm/greeter.h"
- #include "lightdm/session.h"
- 
- enum {
-@@ -189,7 +190,7 @@ load_sessions (const gchar *sessions_dir)
- }
- 
- static void
--update_sessions (void)
-+update_sessions (LightDMGreeter *greeter)
- {
-     GKeyFile *config_key_file = NULL;
-     gchar *config_path = NULL;
-@@ -205,8 +206,7 @@ update_sessions (void)
-     remote_sessions_dir = g_strdup (REMOTE_SESSIONS_DIR);
- 
-     /* Use session directory from configuration */
--    /* FIXME: This should be sent in the greeter connection */
--    config_path = g_build_filename (CONFIG_DIR, "lightdm.conf", NULL);
-+    config_path = g_strdup (lightdm_greeter_get_config_path (greeter));
-     config_key_file = g_key_file_new ();
-     result = g_key_file_load_from_file (config_key_file, config_path, G_KEY_FILE_NONE, &error);
-     if (error && !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
-@@ -250,9 +250,9 @@ update_sessions (void)
-  * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession
-  **/
- GList *
--lightdm_get_sessions (void)
-+lightdm_get_sessions (LightDMGreeter *greeter)
- {
--    update_sessions ();
-+    update_sessions (greeter);
-     return local_sessions;
- }
- 
-@@ -264,9 +264,9 @@ lightdm_get_sessions (void)
-  * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession
-  **/
- GList *
--lightdm_get_remote_sessions (void)
-+lightdm_get_remote_sessions (LightDMGreeter *greeter)
- {
--    update_sessions ();
-+    update_sessions (greeter);
-     return remote_sessions;
- }
- 
-diff --git a/src/lightdm.c b/src/lightdm.c
-index 7d35034..910164c 100644
---- a/src/lightdm.c
-+++ b/src/lightdm.c
-@@ -1142,6 +1142,9 @@ main (int argc, char **argv)
-         }
-     }
-     g_clear_error (&error);
-+
-+    config_set_string (config_get_instance (), "SeatDefaults", "config-path", config_path);
-+
-     g_free (config_path);
- 
-     /* Set default values */
-diff --git a/src/seat.c b/src/seat.c
-index e2b9c2c..a950ea2 100644
---- a/src/seat.c
-+++ b/src/seat.c
-@@ -1137,6 +1137,7 @@ create_greeter_session (Seat *seat)
-     greeter_set_hint (greeter_session, "show-manual-login", seat_get_boolean_property (seat, "greeter-show-manual-login") ? "true" : "false");
-     greeter_set_hint (greeter_session, "show-remote-login", seat_get_boolean_property (seat, "greeter-show-remote-login") ? "true" : "false");
-     greeter_set_hint (greeter_session, "has-guest-account", seat_get_allow_guest (seat) && seat_get_boolean_property (seat, "greeter-allow-guest") ? "true" : "false");
-+    greeter_set_hint (greeter_session, "config-path", seat_get_string_property (seat, "config-path"));
- 
-     g_object_unref (session_config);
- 
diff --git a/pkgs/applications/display-managers/sddm/cmake_paths.patch b/pkgs/applications/display-managers/sddm/cmake_paths.patch
new file mode 100644
index 00000000000..7deb3e2e1bd
--- /dev/null
+++ b/pkgs/applications/display-managers/sddm/cmake_paths.patch
@@ -0,0 +1,55 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4d6e0a9..df4ad28 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -77,7 +77,9 @@ find_package(Qt5LinguistTools REQUIRED)
+ 
+ # find qt5 imports dir
+ get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
+-exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR)
++if(NOT QT_IMPORTS_DIR)
++    exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR)
++endif()
+ 
+ # Set components version
+ set(COMPONENTS_VERSION 2.0)
+diff --git a/data/man/sddm.conf.rst.in b/data/man/sddm.conf.rst.in
+index 6a28224..798bc5c 100644
+--- a/data/man/sddm.conf.rst.in
++++ b/data/man/sddm.conf.rst.in
+@@ -65,6 +65,10 @@ OPTIONS
+ 	Path of the X server.
+ 	Default value is "/usr/bin/X".
+ 
++`XephyrPath=`
++	Path of the Xephyr.
++	Default value is "/usr/bin/Xephyr".
++
+ `XauthPath=`
+ 	Path of the Xauth.
+ 	Default value is "/usr/bin/xauth".
+diff --git a/src/common/Configuration.h b/src/common/Configuration.h
+index 72aa6f4..854cc22 100644
+--- a/src/common/Configuration.h
++++ b/src/common/Configuration.h
+@@ -54,6 +54,7 @@ namespace SDDM {
+         // TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal
+         Section(XDisplay,
+             Entry(ServerPath,          QString,     _S("/usr/bin/X"),                           _S("X server path"));
++            Entry(XephyrPath,          QString,     _S("/usr/bin/Xephyr"),                      _S("Xephyr path"));
+             Entry(XauthPath,           QString,     _S("/usr/bin/xauth"),                       _S("Xauth path"));
+             Entry(SessionDir,          QString,     _S("/usr/share/xsessions"),                 _S("Session description directory"));
+             Entry(SessionCommand,      QString,     _S(SESSION_COMMAND),                        _S("Xsession script path\n"
+diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
+index f10ad82..cb9de3f 100644
+--- a/src/daemon/XorgDisplayServer.cpp
++++ b/src/daemon/XorgDisplayServer.cpp
+@@ -136,7 +136,7 @@ namespace SDDM {
+         if (daemonApp->testing()) {
+             QStringList args;
+             args << m_display << "-ac" << "-br" << "-noreset" << "-screen" << "800x600";
+-            process->start("/usr/bin/Xephyr", args);
++            process->start(mainConfig.XDisplay.XephyrPath.get(), args);
+         } else {
+             // set process environment
+             QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix
new file mode 100644
index 00000000000..73a188af0cf
--- /dev/null
+++ b/pkgs/applications/display-managers/sddm/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchpatch, makeWrapper, fetchFromGitHub, cmake, pkgconfig, libxcb, libpthreadstubs
+, libXdmcp, libXau, qt5, pam, systemd }:
+
+let
+  version = "0.11.0";
+in
+stdenv.mkDerivation rec {
+  name = "sddm-${version}";
+
+  src = fetchFromGitHub {
+    owner = "sddm";
+    repo = "sddm";
+    rev = "v${version}";
+    sha256 = "1s1gm0xvgwzrpxgni3ngdj8phzg21gkk1jyiv2l2i5ayl0jdm7ig";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig qt5.tools makeWrapper ];
+
+  buildInputs = [ libxcb libpthreadstubs libXdmcp libXau qt5.base pam systemd ];
+
+  patches = [ (fetchpatch {
+                url = "https://github.com/sddm/sddm/commit/9bc21ee7da5de6b2531d47d1af4d7b0a169990b9.patch";
+                sha256 = "1pda0wf4xljdadja7iyh5c48h0347imadg9ya1dw5slgb7w1d94l";
+              })
+              ./cmake_paths.patch
+            ];
+
+  cmakeFlags = [ "-DCONFIG_FILE=/etc/sddm.conf" ];
+
+  preConfigure = ''
+    export cmakeFlags="$cmakeFlags -DQT_IMPORTS_DIR=$out/lib/qt5/qml -DCMAKE_INSTALL_SYSCONFDIR=$out/etc -DSYSTEMD_SYSTEM_UNIT_DIR=$out/lib/systemd/system"
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/sddm-greeter \
+      --set QML2_IMPORT_PATH "${qt5.declarative}/lib/qt5/qml/"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "QML based X11 display manager";
+    homepage = http://launchpad.net/lightdm;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/applications/display-managers/slim/themes.nix b/pkgs/applications/display-managers/slim/themes.nix
new file mode 100644
index 00000000000..0c69f101885
--- /dev/null
+++ b/pkgs/applications/display-managers/slim/themes.nix
@@ -0,0 +1,183 @@
+{ stdenv, fetchurl, slim }:
+
+# Inspired on aspell buildDict expression
+
+let
+  buildTheme =
+    {fullName, src, version ? "testing"}:
+
+    stdenv. mkDerivation rec {
+      name = "${fullName}-${version}";
+
+      inherit src;
+
+      buildInputs = [ slim ];
+
+      dontBuild = true;
+
+      installPhase = ''
+        install -dm755 $out/share/slim/themes/${name}
+        install -m644 * $out/share/slim/themes/${name}
+      '';
+
+      meta = {
+        description = "Slim theme for ${fullName}";
+        platforms = stdenv.lib.platforms.linux;
+      };
+    };
+
+in {
+
+  archlinuxSimple = buildTheme {
+    fullName = "archlinux-simple";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-archlinux-simple.tar.gz";
+      sha256 = "7d60d6782fa86302646fe67253467c04692d247f89bdbe87178f690f32b270db";
+    };
+  };
+
+  capernoited = buildTheme {
+    fullName = "capernoited";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-capernoited.tar.gz";
+      sha256 = "fb9163c6a2656d60f088dc4f2173aa7556a6794495122acfa7d3be7182f16b41";
+    };
+  };
+
+  debianMoreblue = buildTheme {
+    fullName = "debian-moreblue";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-debian-moreblue.tar.bz2";
+      sha256 = "5b76929827d4a4d604ddca4f42668cca3309b6f7bd659901021c6f49d6d2c481";
+    };
+  };
+
+  fingerprint = buildTheme {
+    fullName = "fingerprint";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-fingerprint.tar.gz";
+      sha256 = "48b703f84ce7b814cda0824f65cafebf695cd71a14166b481bb44616097d3144";
+    };
+  };
+
+  flat = buildTheme {
+    fullName = "flat";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-flat.tar.gz";
+      sha256 = "0092d531540f9da8ef07ad173e527c4ef9c088d04962d142be3c11f0c5c0c5e9";
+    };
+  };
+
+  flower2 = buildTheme {
+    fullName = "flower2";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-flower2.tar.gz";
+      sha256 = "840faf6459ffd6c2c363160c85cb98000717f9a425102976336f5d8f68ed95ee";
+    };
+  };
+
+  gentooSimple = buildTheme {
+    fullName = "gentoo-simple";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-gentoo-simple.tar.bz2";
+      sha256 = "27c8614cc930ca200acf81f1192febc102501744939d5cbe997141e37c96d8c2";
+    };
+  };
+
+  lake = buildTheme {
+    fullName = "lake";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-lake.tar.gz";
+      sha256 = "f7d662e37068a6c64cbf910adf3c192f1b50724baa427a8c9487cb9f7ed95851";
+    };
+  };
+
+  lunar = buildTheme {
+    fullName = "lunar-0.4";
+    version = "";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-lunar-0.4.tar.bz2";
+      sha256 = "1543eb45e4d664377e0dd4f7f954aba005823034ba9692624398b3d58be87d76";
+    };
+  };
+
+  mindlock = buildTheme {
+    fullName = "mindlock";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-mindlock.tar.gz";
+      sha256 = "99a6e6acd55bf55ece18a3f644299517b71c1adc49efd87ce2d7e654fb67033c";
+    };
+  };
+
+  parallelDimensions = buildTheme {
+    fullName = "parallel-dimensions";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-parallel-dimensions.tar.gz";
+      sha256 = "2b17c3e6d3967a6a0744e20e6e05c9d3938f4ef04c62d49ddbd416bc4743046f";
+    };
+  };
+
+  previous = buildTheme {
+    fullName = "previous";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-previous.tar.gz";
+      sha256 = "1f2a69f8fc0dc8ed8eb86a4c1d1087ba7be486973fb81efab52a63c661d726f8";
+    };
+  };
+
+  rainbow = buildTheme {
+    fullName = "rainbow";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-rainbow.tar.gz";
+      sha256 = "d83e3afdb05be50cff7da037bb31208b2c152539d1a009740b13857f5f910072";
+    };
+  };
+
+  rear-window = buildTheme {
+    fullName = "rear-window";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-rear-window.tar.gz";
+      sha256 = "0b123706ccb67e94f626c183530ec5732b209bab155bc661d6a3f5cd5ee39511";
+    };
+  };
+
+  scotlandRoad = buildTheme {
+    fullName = "scotland-road";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-scotland-road.tar.gz";
+      sha256 = "fd60a434496ed39b968ffa1e5457b36cd12f64a4e2ecedffc675f97ca3f3bba1";
+    };
+  };
+
+  subway = buildTheme {
+    fullName = "subway";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-subway.tar.gz";
+      sha256 = "0205568e3e157973b113a83b26d8829ce9962a85ef7eb8a33d3ae2f3f9292253";
+    };
+  };
+
+  wave = buildTheme {
+    fullName = "wave";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
+      sha256 = "be75676da5bf8670daa48379bb9cc1be0b9a5faa09adbea967dfd7125320b959";
+    };
+  };
+
+  zenwalk = buildTheme {
+    fullName = "zenwalk";
+    src = fetchurl {
+      url = "mirror://sourceforge/slim.berlios/slim-zenwalk.tar.gz";
+      sha256 = "f0f41d17ea505b0aa96a036e978fabaf673a51d3f81a919cb0d43364d4bc7a57";
+    };
+  };
+
+  nixosSlim = buildTheme {
+    fullName = "nixos-slim";
+    src = fetchurl {
+      url = "https://github.com/jagajaga/nixos-slim-theme/archive/1.1.tar.gz";
+      sha256 = "66c3020a6716130a20c3898567339b990fbd7888a3b7bbcb688f6544d1c05c31";
+    };
+  };
+}
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 51844f64179..a3cdbb6afb9 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -1,61 +1,46 @@
 { stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
 , dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
-, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xlibs
+, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xlibs, libcap
 }:
 
 let
   atomEnv = buildEnv {
     name = "env-atom";
     paths = [
-      stdenv.gcc.gcc zlib glib dbus gtk atk pango freetype libgnome_keyring3
+      stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3
       fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
       xlibs.libXrender xlibs.libX11 xlibs.libXext xlibs.libXdamage xlibs.libXtst
-      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes
+      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes xlibs.libXrandr
+      xlibs.libXcursor libcap
     ];
   };
 in stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "0.99.0";
+  version = "0.187.0";
 
   src = fetchurl {
-      url = https://github.com/hotice/webupd8/raw/master/atom-linux64-0.99.0~git20140525.tar.xz;
-      sha256 = "55c2415c96e1182ae1517751cbea1db64e9962683b384cfe5e182aec10aebecd";
-      name = "${name}.tar.xz";
-  };
-
-  iconsrc = fetchurl {
-    url = https://raw.githubusercontent.com/atom/atom/master/resources/atom.png;
-    sha256 = "66dc0b432eed7bcd738b7c1b194e539178a83d427c78f103041981f2b840e030";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = "atom";
-    exec = "atom";
-    icon = iconsrc;
-    comment = "A hackable text editor for the 21st Century";
-    desktopName = "Atom";
-    genericName = "Text editor";
-    categories = "Development;TextEditor";
+    url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
+    sha256 = "0s6173dg5m52zc8kqwlgjn113d84cskrv9v29fb0nrvwvkv2xzmw";
+    name = "${name}.deb";
   };
 
   buildInputs = [ atomEnv makeWrapper ];
 
-  phases = [ "installPhase" ];
+  phases = [ "installPhase" "fixupPhase" ];
 
   installPhase = ''
-    mkdir -p $out/share/atom
-    mkdir -p $out/bin
-    tar -C $out/share/atom -xvf $src
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    mkdir -p $out
+    ar p $src data.tar.gz | tar -C $out -xz ./usr
+    mv $out/usr/* $out/
+    rm -r $out/usr/
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       $out/share/atom/atom
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      $out/share/atom/resources/app/apm/node_modules/atom-package-manager/bin/node
-    makeWrapper $out/share/atom/atom $out/bin/atom \
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $out/share/atom/resources/app/apm/bin/node
+    wrapProgram $out/bin/atom \
+      --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
+    wrapProgram $out/bin/apm \
       --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
-
-    # Create a desktop item.
-    mkdir -p "$out/share/applications"
-    cp "${desktopItem}"/share/applications/* "$out/share/applications/"  
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix
new file mode 100644
index 00000000000..25538df0384
--- /dev/null
+++ b/pkgs/applications/editors/bluefish/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, intltool, pkgconfig , gtk, libxml2
+, enchant, gucharmap, python
+}:
+
+stdenv.mkDerivation rec {
+  name = "bluefish-2.2.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
+    sha256 = "1psqx3ljz13ylqs4zkaxv9lv1hgzld6904kdp0alwx99p5rlnlr3";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk libxml2
+    enchant gucharmap python ];
+
+  meta = with stdenv.lib; {
+    description = "A powerful editor targeted towards programmers and webdevelopers";
+    homepage = http://bluefish.openoffice.nl/;
+    license = licenses.gpl3Plus;
+    maintainers = [maintainers.vbgl];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix
index e598fa19c5e..f3f44f769a9 100644
--- a/pkgs/applications/editors/bvi/default.nix
+++ b/pkgs/applications/editors/bvi/default.nix
@@ -1,18 +1,21 @@
 { stdenv, fetchurl, ncurses }:
 
-stdenv.mkDerivation {
-  name = "bvi-1.3.2";
+stdenv.mkDerivation rec {
+  name = "bvi-${version}";
+  version = "1.4.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/bvi/bvi-1.3.2.src.tar.gz;
-    sha256 = "110wxqnyianqamxq4y53drqqxb9vp4k2fcvic45qggvlqkqhlfgz";
+    url = "mirror://sourceforge/bvi/${name}.src.tar.gz";
+    sha256 = "00pq9rv7s8inqxq2m3xshxi58691i3pxw9smibcrgh6768l3qnh1";
   };
 
   buildInputs = [ ncurses ];
 
-  meta = { 
+  meta = with stdenv.lib; {
     description = "Hex editor with vim style keybindings";
     homepage = http://bvi.sourceforge.net/download.html;
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix
index 1bf4bb1f8e6..750234b6399 100644
--- a/pkgs/applications/editors/codeblocks/default.nix
+++ b/pkgs/applications/editors/codeblocks/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   patches = [ ./writable-projects.patch ];
   preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-  postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig";
+  postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc}/sbin/ldconfig";
   configureFlags = [ "--enable-pch=no" ]
     ++ optional contribPlugins "--with-contrib-plugins";
 
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index b32981ccb94..41be00bdb63 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, makeDesktopItem, makeWrapper
 , freetype, fontconfig, libX11, libXext, libXrender, zlib
 , glib, gtk, libXtst, jre
+, webkitgtk2 ? null  # for internal web browser
 }:
 
 assert stdenv ? glibc;
@@ -44,7 +45,7 @@ let
         
         makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
           --prefix PATH : ${jre}/bin \
-          --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib \
+          --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib${stdenv.lib.optionalString (webkitgtk2 != null) ":${webkitgtk2}/lib"} \
           --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
 
         # Create desktop item.
@@ -191,6 +192,23 @@ in {
           sha256 = "0d6jlj7hwz8blx6csrlyi2h2prql0wckbh7ihwjmgclwpcpj84g6";
         };
   };
+  
+   eclipse_cpp_44 = buildEclipse {
+    name = "eclipse-cpp-4.4";
+    description = "Eclipse IDE for C/C++ Developers";
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk-x86_64.tar.gz;
+          md5 = "b0a6ee33e8108a7ff4682ab911271b04";
+        }
+      else
+        fetchurl {
+          url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk.tar.gz;
+          md5 = "5000f93cecf6ef9af112f0df6e8c87f3";
+        };
+  };
+
 
   eclipse_sdk_421 = buildEclipse {
     name = "eclipse-sdk-4.2.1";
@@ -228,11 +246,11 @@ in {
     description = "Eclipse Classic";
     sources = {
       "x86_64-linux" = fetchurl {
-          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk-x86_64.tar.gz;
+          url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk-x86_64.tar.gz;
           sha256 = "0ncm56ylwxw9z8rk8ccgva68c2yr9yrf1kcr1zkgw6p87xh1yczd";
         };
       "i686-linux" = fetchurl {
-          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk.tar.gz;
+          url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk.tar.gz;
           sha256 = "1zxsh838khny7mvl01h28xna6xdh01yi4mvls28zj22v0340lgsg";
         };
     };
@@ -243,14 +261,29 @@ in {
     description = "Eclipse Classic";
     sources = {
       "x86_64-linux" = fetchurl {
-          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk-x86_64.tar.gz;
+          url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk-x86_64.tar.gz;
           sha256 = "14hdkijsjq0hhzi9ijpwjjkhz7wm0pry86l3dniy5snlh3l5bsb2";
         };
       "i686-linux" = fetchurl {
-          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk.tar.gz;
+          url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk.tar.gz;
           sha256 = "0hjc4zrsmik6vff851p0a4ydnx99840j2xrx8348kk6h0af8vx6z";
         };
     };
   };
 
+  eclipse_sdk_442 = buildEclipse {
+    name = "eclipse-sdk-4.4.2";
+    description = "Eclipse Classic";
+    sources = {
+      "x86_64-linux" = fetchurl {
+          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz;
+          sha256 = "0g00alsixfaakmn4khr0m9fxvkrbhbg6qqfa27xr6a9np6gzg98l";
+
+        };
+      "i686-linux" = fetchurl {
+          url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk.tar.gz;
+          sha256 = "9f4238ce9f887a1a57bbc6c6898e43357d14a6d74f59385327813c5e82aa735d";
+        };
+    };
+  };
 }
diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix
new file mode 100644
index 00000000000..8fdc198f45c
--- /dev/null
+++ b/pkgs/applications/editors/edbrowse/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, spidermonkey_24, unzip, curl, pcre, readline, openssl }:
+stdenv.mkDerivation rec {
+  name = "edbrowse-3.5.2";
+  buildInputs = [ unzip curl pcre readline openssl spidermonkey_24 ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${spidermonkey_24}/include/mozjs-24"
+    '';
+  installPhase = "installBin src/edbrowse";
+  src = fetchurl {
+    url = "http://the-brannons.com/edbrowse/${name}.zip";
+    sha256 = "5f1ac927d126b8c8fd411231cffa9eba5405013e64994e55e1864b2f85d52714";
+  };
+  meta = {
+    description = "Edbrowse, a Command Line Editor Browser";
+    longDescription = ''
+      Edbrowse is a combination editor, browser, and mail client that is 100% text based.
+      The interface is similar to /bin/ed, though there are many more features, such as editing multiple files simultaneously, and rendering html.
+      This program was originally written for blind users, but many sighted users have taken advantage of the unique scripting capabilities of this program, which can be found nowhere else.
+      A batch job, or cron job, can access web pages on the internet, submit forms, and send email, with no human intervention whatsoever.
+      edbrowse can also tap into databases through odbc. It was primarily written by Karl Dahlke.
+      '';
+    license = stdenv.lib.licenses.gpl1Plus;
+    homepage = http://the-brannons.com/edbrowse/;
+    maintainers = [ stdenv.lib.maintainers.schmitthenner ];
+  };
+}
diff --git a/pkgs/applications/editors/elvis/default.nix b/pkgs/applications/editors/elvis/default.nix
index e1d2ad69b1d..0850dd0e7be 100644
--- a/pkgs/applications/editors/elvis/default.nix
+++ b/pkgs/applications/editors/elvis/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://elvis.vi-editor.org/;
     description = "A vi clone for Unix and other operating systems";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/applications/editors/emacs-24/at-fdcwd.patch b/pkgs/applications/editors/emacs-24/at-fdcwd.patch
new file mode 100644
index 00000000000..1f99d4e1809
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/at-fdcwd.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/careadlinkat.h b/lib/careadlinkat.h
+index 5cdb813..7a272e8 100644
+--- a/lib/careadlinkat.h
++++ b/lib/careadlinkat.h
+@@ -23,6 +23,8 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ 
++#define AT_FDCWD -2
++
+ struct allocator;
+ 
+ /* Assuming the current directory is FD, get the symbolic link value
diff --git a/pkgs/applications/editors/emacs-24/builder.sh b/pkgs/applications/editors/emacs-24/builder.sh
index c472d2b1a64..984a61df6f3 100644
--- a/pkgs/applications/editors/emacs-24/builder.sh
+++ b/pkgs/applications/editors/emacs-24/builder.sh
@@ -5,13 +5,17 @@ source $stdenv/setup
 # *our* versions, not the ones found in the system, as it would do by default.
 # On other platforms, this appears to be unnecessary.
 preConfigure() {
+    for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
+        substituteInPlace $i --replace /bin/pwd pwd
+    done
+
     case "${system}" in
 	x86_64-linux)	glibclibdir=lib64 ;;
 	i686-linux)	glibclibdir=lib ;;
         *)              return;
     esac
 
-    libc=$(cat ${NIX_GCC}/nix-support/orig-libc)
+    libc=$(cat ${NIX_CC}/nix-support/orig-libc)
     echo "libc: $libc"
 
     for i in src/s/*.h src/m/*.h; do
@@ -23,7 +27,9 @@ preConfigure() {
             --replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \
             --replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o
     done
+}
 
+preInstall () {
     for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
         substituteInPlace $i --replace /bin/pwd pwd
     done
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 3bfee481c9c..83774206b5c 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -9,16 +9,19 @@ assert (libXft != null) -> libpng != null;	# probably a bug
 assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
 
 stdenv.mkDerivation rec {
-  name = "emacs-24.3";
+  name = "emacs-24.4";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url    = "mirror://gnu/emacs/${name}.tar.xz";
-    sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
+    sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
   };
 
-  patches = [ ./darwin-new-sections.patch ];
+  patches = stdenv.lib.optionals stdenv.isDarwin [
+    ./darwin-new-sections.patch
+    ./at-fdcwd.patch
+  ];
 
   buildInputs =
     [ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo ]
@@ -35,25 +38,14 @@ stdenv.mkDerivation rec {
         [ "--with-x-toolkit=lucid" "--with-xft" ]
       else
         [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
-          "--with-gif=no" "--with-tiff=no" ] ) )
-    # On NixOS, help Emacs find `crt*.o'.
-    ++ stdenv.lib.optional (stdenv ? glibc)
-         [ "--with-crt-dir=${stdenv.glibc}/lib" ];
+          "--with-gif=no" "--with-tiff=no" ] ) );
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
     "-I${cairo}/include/cairo";
 
   postInstall = ''
-    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
-    ;; nixos specific load-path
-    (when (getenv "NIX_PROFILES") (setq load-path
-                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                                                   (split-string (getenv "NIX_PROFILES"))))
-                           load-path)))
-        
-    ;; make tramp work for NixOS machines
-    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
-    EOF
+    mkdir -p $out/share/emacs/site-lisp/
+    cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el
   '';
 
   doCheck = true;
@@ -65,6 +57,9 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ chaoflow lovek323 simons the-kenny ];
     platforms   = platforms.all;
 
+    # So that Exuberant ctags is preferred
+    priority = 1;
+
     longDescription = ''
       GNU Emacs is an extensible, customizable text editor—and more.  At its
       core is an interpreter for Emacs Lisp, a dialect of the Lisp
diff --git a/pkgs/applications/editors/emacs-24/macport.nix b/pkgs/applications/editors/emacs-24/macport-24.3.nix
index d9b32351040..d9b32351040 100644
--- a/pkgs/applications/editors/emacs-24/macport.nix
+++ b/pkgs/applications/editors/emacs-24/macport-24.3.nix
diff --git a/pkgs/applications/editors/emacs-24/macport-24.4.nix b/pkgs/applications/editors/emacs-24/macport-24.4.nix
new file mode 100644
index 00000000000..802faf44c64
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/macport-24.4.nix
@@ -0,0 +1,103 @@
+{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  emacsName = "emacs-24.4";
+  name = "${emacsName}-mac-5.3";
+
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/emacs/${emacsName}.tar.xz";
+    sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
+  };
+
+  macportSrc = fetchurl {
+    url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
+    sha256 = "0qzzqnql0z0a2p3ciccy8gq79v0s7s717lchcprn3wlaqcrk2g1p";
+  };
+
+  patches = [ ./darwin-new-sections.patch ];
+
+  buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
+
+  postUnpack = ''
+    mv $emacsName $name
+    tar xzf $macportSrc
+    mv $name $emacsName
+  '';
+
+  preConfigure = ''
+    substituteInPlace Makefile.in --replace "/bin/pwd" "pwd"
+    substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd"
+
+    patch -p0 < patch-mac
+
+    # The search for 'tputs' will fail because it's in ncursesw within the
+    # ncurses package, yet Emacs' configure script only looks in ncurses.
+    # Further, we need to make sure that the -L option occurs before mention
+    # of the library, so that it finds it within the Nix store.
+    sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
+    ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
+    sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
+    sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
+
+    configureFlagsArray=(
+      LDFLAGS=-L${ncurses}/lib
+      --with-xml2=yes
+      --with-gnutls=yes
+      --with-mac
+      --enable-mac-app=$out/Applications
+    )
+    makeFlagsArray=(
+      CFLAGS=-O3
+      LDFLAGS="-O3 -L${ncurses}/lib"
+    );
+  '';
+
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+    ;; nixos specific load-path
+    (when (getenv "NIX_PROFILES") (setq load-path
+                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                             (split-string (getenv "NIX_PROFILES"))))
+                    load-path)))
+
+    ;; make tramp work for NixOS machines
+    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
+    EOF
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "GNU Emacs 24, the extensible, customizable text editor";
+    homepage    = http://www.gnu.org/software/emacs/;
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jwiegley ];
+    platforms   = platforms.darwin;
+
+    longDescription = ''
+      GNU Emacs is an extensible, customizable text editor—and more.  At its
+      core is an interpreter for Emacs Lisp, a dialect of the Lisp
+      programming language with extensions to support text editing.
+
+      The features of GNU Emacs include: content-sensitive editing modes,
+      including syntax coloring, for a wide variety of file types including
+      plain text, source code, and HTML; complete built-in documentation,
+      including a tutorial for new users; full Unicode support for nearly all
+      human languages and their scripts; highly customizable, using Emacs
+      Lisp code or a graphical interface; a large number of extensions that
+      add other functionality, including a project planner, mail and news
+      reader, debugger interface, calendar, and more.  Many of these
+      extensions are distributed with GNU Emacs; others are available
+      separately.
+
+      This is "Mac port" addition to GNU Emacs 24. This provides a native
+      GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
+      already contain the official GUI support via the NS (Cocoa) port for
+      Mac OS X 10.4 and later. So if it is good enough for you, then you
+      don't need to try this.
+    '';
+  };
+}
diff --git a/pkgs/applications/editors/emacs-24/site-start.el b/pkgs/applications/editors/emacs-24/site-start.el
new file mode 100644
index 00000000000..023d6412ed8
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/site-start.el
@@ -0,0 +1,17 @@
+;; NixOS specific load-path
+(setq load-path
+      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                               (split-string (or (getenv "NIX_PROFILES") ""))))
+              load-path))
+
+;;; Make `woman' find the man pages
+(eval-after-load 'woman
+  '(setq woman-manpath
+         (append (reverse (mapcar (lambda (x) (concat x "/share/man/"))
+                                  (split-string (or (getenv "NIX_PROFILES") ""))))
+                 woman-manpath)))
+
+;; Make tramp work for remote NixOS machines
+;;; NOTE: You might want to add 
+(eval-after-load 'tramp
+  '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
diff --git a/pkgs/applications/editors/emacs-modes/cask/default.nix b/pkgs/applications/editors/emacs-modes/cask/default.nix
new file mode 100644
index 00000000000..90c32f0e2bc
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/cask/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchgit, emacs, python }:
+
+stdenv.mkDerivation rec {
+  name = "cask-0.7.2";
+
+  src = fetchgit {
+    url = "https://github.com/cask/cask.git";
+    rev = "8d667e1ce3f3aa817a7b996f02058b2441f83958";
+    sha256 = "08brrdyz7zsw134zwf4dyj6bj2glflszssfq8vya3mh01s38mfri";
+  };
+
+  buildInputs = [ emacs python ];
+
+  # byte-compiling emacs files automatically triggers cask's bootstrap
+  # mechanism, what we don't want.
+  dontBuild = true;
+
+  installPhase = ''
+    install -d "$out/share/emacs/site-lisp"
+    install cask*.el* "$out/share/emacs/site-lisp"
+
+    install -d "$out/bin"
+    install bin/cask "$out/bin"
+
+    # In order to work with cask's hard coded file paths (during bootstrap),
+    # we have to create these links.
+    ln -s "$out/share/emacs/site-lisp/"* "$out"
+
+    # This file disables cask's self-updating function.
+    touch "$out/.no-upgrade"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Project management tool for Emacs";
+    longDescription =
+      ''
+        Cask is a project management tool for Emacs that helps automate the
+        package development cycle; development, dependencies, testing,
+        building, packaging and more. Cask can also be used to manage
+        dependencies for your local Emacs configuration.
+      '';
+    homepage = "https://github.com/cask/cask";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.jgeerds ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/d/default.nix b/pkgs/applications/editors/emacs-modes/d/default.nix
new file mode 100644
index 00000000000..28736acded2
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/d/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, emacs}:
+
+# Note: Don't have a version, using date as fallback.
+let version = "20150111";
+
+in stdenv.mkDerivation {
+  name = "emacs-d-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/archive/53efec4d83c7cee8227597f010fe7fc400ff05f1.tar.gz";
+    sha256 = "0vb0za51lc6qf1qgqisap4vzk36caa5k17zajjn034rhjsqfw0w7";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "Major mode for editing D code";
+    homepage = https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
+  };
+
+}
diff --git a/pkgs/applications/editors/emacs-modes/darcsum/default.nix b/pkgs/applications/editors/emacs-modes/darcsum/default.nix
index 349146dbdd8..0a1c2c77b2a 100644
--- a/pkgs/applications/editors/emacs-modes/darcsum/default.nix
+++ b/pkgs/applications/editors/emacs-modes/darcsum/default.nix
@@ -26,8 +26,8 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A pcl-cvs like interface for managing darcs patches.";
-    homepage = "http://hub.darcs.net/simon/darcsum";
+    description = "A pcl-cvs like interface for managing darcs patches";
+    homepage = http://hub.darcs.net/simon/darcsum;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.falsifian ];
   };
diff --git a/pkgs/applications/editors/emacs-modes/dash/default.nix b/pkgs/applications/editors/emacs-modes/dash/default.nix
new file mode 100644
index 00000000000..aacc33c9b51
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/dash/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.5.0";
+
+in stdenv.mkDerivation {
+  name = "emacs-dash-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/magnars/dash.el/archive/${version}.tar.gz";
+    sha256 = "0c6jknzy306vn22vqlabxkwxfnllrd33spymi74fkirbxaxvp8kp";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix
index af031a6e1a1..aa0bac9a010 100644
--- a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix
@@ -1,4 +1,4 @@
-{ clangStdenv, fetchgit, llvm, clang }:
+{ clangStdenv, fetchgit, llvmPackages, clang }:
 
 clangStdenv.mkDerivation {
   name = "emacs-clang-complete-async-20130218";
@@ -8,7 +8,12 @@ clangStdenv.mkDerivation {
     sha256 = "1c8zqi6axbsb951azz9iqx3j52j30nd9ypv396hvids3g02cirrf";
   };
 
-  buildInputs = [ llvm clang.clang ];
+  buildInputs = [ llvmPackages.llvm ];
+
+  patches = [ ./fix-build.patch ];
+
+  CFLAGS = "-I${llvmPackages.clang}/include";
+  LDFLAGS = "-L${llvmPackages.clang}/lib";
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/fix-build.patch b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/fix-build.patch
new file mode 100644
index 00000000000..89de339a436
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/fix-build.patch
@@ -0,0 +1,10 @@
+--- old/src/completion.h	2014-11-16 16:58:16.625150124 +0100
++++ new/src/completion.h	2014-11-16 16:58:28.020207508 +0100
+@@ -3,6 +3,7 @@
+ 
+ 
+ #include <clang-c/Index.h>
++#include <stdio.h>
+ 
+ 
+ typedef struct __completion_Session_struct
diff --git a/pkgs/applications/editors/emacs-modes/emms/default.nix b/pkgs/applications/editors/emacs-modes/emms/default.nix
index a44be28399d..1e9843447d9 100644
--- a/pkgs/applications/editors/emacs-modes/emms/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emms/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.unix;
     broken = true;
   };
diff --git a/pkgs/applications/editors/emacs-modes/ensime/default.nix b/pkgs/applications/editors/emacs-modes/ensime/default.nix
new file mode 100644
index 00000000000..d776103a662
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/ensime/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s, scalaMode2, sbtMode }:
+
+stdenv.mkDerivation {
+  name = "emacs-ensime-2014-09-04";
+
+  src = fetchurl {
+    url = "https://github.com/ensime/ensime-emacs/archive/d3820a3f362975f6e14b817988ec07bfef2b4dad.zip";
+    sha256 = "0gwr0r92z2hh2x8g0hpxaar2vvfk1b91cp6v04gaasw0fvl5i7g5";
+  };
+
+  buildInputs = [ emacs unzip ];
+  propagatedUserEnvPkgs = [ autoComplete dash s scalaMode2 sbtMode ];
+
+  buildPhase = ''
+    emacs -L . -L ${autoComplete}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/ess/default.nix b/pkgs/applications/editors/emacs-modes/ess/default.nix
index 46e20a58ee6..a2c73907115 100644
--- a/pkgs/applications/editors/emacs-modes/ess/default.nix
+++ b/pkgs/applications/editors/emacs-modes/ess/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, emacs, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "ess-13.09";
+  name = "ess-14.09";
 
   src = fetchurl {
     url = "http://ess.r-project.org/downloads/ess/${name}.tgz";
-    sha256 = "1lki3vb6p7cw98zqq0gaia68flpqrjkd6dcl85fs0cc8qf55yqnh";
+    sha256 = "0wa507jfmq3k7x0vigd2yzb4j2190ix4wnnpv7ql4bjy0vfvmwdn";
   };
 
   buildInputs = [ emacs texinfo ];
diff --git a/pkgs/applications/editors/emacs-modes/flycheck/default.nix b/pkgs/applications/editors/emacs-modes/flycheck/default.nix
new file mode 100644
index 00000000000..98eab4d477c
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/flycheck/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, emacs, let-alist, dash, texinfo }:
+
+stdenv.mkDerivation {
+  name = "flycheck-0.22-64-g90dbc2d";
+
+  src = fetchFromGitHub {
+    owner = "flycheck";
+    repo = "flycheck";
+    rev = "90dbc2d";
+    sha256 = "08bg4jps6hjldbcrvqarrwdv4xzirm5pns5s0331wm0sc47yvbli";
+  };
+
+  buildInputs = [ emacs texinfo ];
+
+  buildPhase = ''
+    emacs -L ${let-alist}/share/emacs/site-lisp -L ${dash}/share/emacs/site-lisp --batch -f batch-byte-compile flycheck.el
+    makeinfo --force --no-split -o doc/flycheck.info doc/flycheck.texi
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp $out/share/info
+    mv flycheck.el flycheck.elc $out/share/emacs/site-lisp/
+    mv "doc/"*.info $out/share/info/
+  '';
+
+  meta = {
+    homepage = "https://github.com/magit/git-modes";
+    description = "Emacs modes for various Git-related files";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ simons ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/git-modes/default.nix b/pkgs/applications/editors/emacs-modes/git-modes/default.nix
new file mode 100644
index 00000000000..8a2ca6eb909
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/git-modes/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, emacs }:
+
+let
+  version = "0.15.0-8-g4e10851";
+in
+stdenv.mkDerivation {
+  name = "git-modes-${version}";
+
+  src = fetchFromGitHub {
+    owner = "magit";
+    repo = "git-modes";
+    rev = "4e10851843145e0c05fc665683d3b487a57ad114";
+    sha256 = "13j794a2p4ql9dnw2z0c1m0ybclxsicbk8cmmfqcchs4ygiyc6ag";
+  };
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    mv *.el *.elc $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    homepage = "https://github.com/magit/git-modes";
+    description = "Emacs modes for various Git-related files";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ simons ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/haskell/default.nix b/pkgs/applications/editors/emacs-modes/haskell/default.nix
index 3f4b93dc638..7f4373c41ba 100644
--- a/pkgs/applications/editors/emacs-modes/haskell/default.nix
+++ b/pkgs/applications/editors/emacs-modes/haskell/default.nix
@@ -1,18 +1,25 @@
 { stdenv, fetchurl, emacs, texinfo }:
 
-stdenv.mkDerivation rec {
-  name = "haskell-mode-13.10";
+let
+  version = "13.10";
+in
+stdenv.mkDerivation {
+  name = "haskell-mode-${version}";
 
   src = fetchurl {
-    url = "https://github.com/haskell/haskell-mode/archive/v13.10.tar.gz";
+    url = "https://github.com/haskell/haskell-mode/archive/v${version}.tar.gz";
     sha256 = "0hcg7wpalcdw8j36m8vd854zrrgym074r7m903rpwfrhx9mlg02b";
   };
 
   buildInputs = [ emacs texinfo ];
 
+  makeFlags = "VERSION=${version} GIT_VERSION=${version}";
+
   installPhase = ''
-    mkdir -p "$out/share/emacs/site-lisp"
-    cp *.el *.elc *.hs "$out/share/emacs/site-lisp/"
+    mkdir -p $out/share/emacs/site-lisp
+    cp *.el *.elc *.hs $out/share/emacs/site-lisp/
+    mkdir -p $out/share/info
+    cp -v *.info* $out/share/info/
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/emacs-modes/haskell/git.nix b/pkgs/applications/editors/emacs-modes/haskell/git.nix
new file mode 100644
index 00000000000..20de1cae4d3
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/haskell/git.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, emacs, texinfo }:
+
+let
+  version = "13.10-361-gfa09425";      # git describe --tags
+in
+stdenv.mkDerivation {
+  name = "haskell-mode-${version}";
+
+  src = fetchFromGitHub {
+    owner = "haskell";
+    repo = "haskell-mode";
+    rev = "v${version}";
+    sha256 = "1bq4gddzwjy2w1hbsmwxcamcy87amz7ksy1vmpwg0qij88fk4av9";
+  };
+
+  buildInputs = [ emacs texinfo ];
+
+  makeFlags = "VERSION=v${version} GIT_VERSION=v${version}";
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp *.el *.elc *.hs $out/share/emacs/site-lisp/
+    mkdir -p $out/share/info
+    cp -v *.info* $out/share/info/
+  '';
+
+  # The test suite must run *after* copying the generated files to $out
+  # because "make check" implies "make clean".
+  doInstallCheck = true;
+  installCheckTarget = "check";
+
+  meta = {
+    homepage = "http://github.com/haskell/haskell-mode";
+    description = "Haskell mode for Emacs";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/hsc3/default.nix b/pkgs/applications/editors/emacs-modes/hsc3/default.nix
new file mode 100644
index 00000000000..150bd3593fd
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/hsc3/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, emacs }:
+
+# this package installs the emacs-mode which
+# resides in the hsc3 sources.
+
+let version = "0.15";
+
+in stdenv.mkDerivation {
+  name = "hsc3-mode-${version}";
+  src = fetchurl {
+    url = http://hackage.haskell.org/package/hsc3-0.15/hsc3-0.15.tar.gz;
+    sha256 = "2f3b15655419cf8ebe25ab1c6ec22993b2589b4ffca7c3a75ce478ca78a0bde6";
+  }; 
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    mkdir -p "$out/share/emacs/site-lisp"
+    cp "emacs/hsc3.el" "$out/share/emacs/site-lisp"
+  '';
+
+  meta = {
+    homepage = http://rd.slavepianos.org/?t=hsc3;
+    description = "hsc3 mode package for Emacs";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/icicles/default.nix b/pkgs/applications/editors/emacs-modes/icicles/default.nix
new file mode 100644
index 00000000000..820e959a357
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/icicles/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, emacs }:
+
+let
+  modules = [
+    { name = "icicles.el"; sha256 = "175g8w620vy73pp3zyasfjspgljk6g0lki71kdnvw5z88w3s9d1n"; }
+    { name = "icicles-chg.el"; sha256 = "1bx5xdhirvnrjqk4pk0sjp9bpj1syymsjnckklsw04gv6y0x8zik"; }
+    { name = "icicles-cmd1.el"; sha256 = "1ff0mndin9zxrswwwq3a7b1s879rr6gy8rzxanr7kxg1ppciafad"; }
+    { name = "icicles-cmd2.el"; sha256 = "1a44l86jacp9nsy4z260azz6y672drjw3w5a0jsc8w26fgsrnx1k"; }
+    { name = "icicles-doc1.el"; sha256 = "0s3r4z3y06hd1nxp18wd0b8b88z2a7ryy0j8sx5fzibbmp58ars1"; }
+    { name = "icicles-doc2.el"; sha256 = "0c10jg91qxyrg1zwiyi4m57dbw3yf43jdrpi4nnby3pkzh6i37ic"; }
+    { name = "icicles-face.el"; sha256 = "0n0vcbhwgd2lyj7anq1zpwja28xry018qxbm8sprxkh6y3vlw8d2"; }
+    { name = "icicles-fn.el"; sha256 = "1i10593a7hp465bxd86h7h7gwrdyqxx0d13in53z4jnab8icp3d4"; }
+    { name = "icicles-mac.el"; sha256 = "1piq0jk8nz0hz9wwci7dkxnfxscdpygjzpj5zg3310vs22l7rrsz"; }
+    { name = "icicles-mcmd.el"; sha256 = "0c4325yp84i46605nlxmjm6n0f4fh69shsihvd0wb9ryg0a8qa65"; }
+    { name = "icicles-mode.el"; sha256 = "069wx5clqpsq2c9aavgd9xihvlad3g00iwwrc3cpl47v64dvlipq"; }
+    { name = "icicles-opt.el"; sha256 = "16487l3361ca8l6il2c0z892843sc5l9v4gr7lx5fxbmrlsswvvn"; }
+    { name = "icicles-var.el"; sha256 = "1a9cwxpi10x44fngxa7qnrg8hqfvdjb8s8k47gnn1rbh63blkkry"; }
+  ];
+
+  forAll = f: map f modules;
+in
+stdenv.mkDerivation {
+  name = "icicles-2014-11-06";
+
+  srcs = forAll ({name, sha256}: fetchurl { url = "http://www.emacswiki.org/emacs-en/download/${name}"; inherit sha256; });
+
+  buildInputs = [ emacs ];
+
+  unpackPhase = "for m in $srcs; do cp $m $(echo $m | cut -d- -f2-); done";
+
+  buildPhase = "emacs --batch -L . -f batch-byte-compile *.el";
+
+  installPhase = "mkdir -p $out/share/emacs/site-lisp; cp *.el *.elc $out/share/emacs/site-lisp/";
+
+  meta = {
+    homepage = "http://www.emacswiki.org/emacs/Icicles";
+    description = "Enhance Emacs minibuffer input with cycling and powerful completion.";
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    maintainers = with stdenv.lib.maintainers; [ simons ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix
index 4e9d1cfd77c..a631939b55c 100644
--- a/pkgs/applications/editors/emacs-modes/idris/default.nix
+++ b/pkgs/applications/editors/emacs-modes/idris/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "idris-mode";
-  version = "0.9.14";
+  version = "0.9.15";
 
   src = fetchurl {
     url = "https://github.com/idris-hackers/${pname}/archive/${version}.tar.gz";
-    sha256 = "1qlkbf14mcibp6h5r84fp5xdjspyaw1xdmnkmaxbypwjhhjg4s83";
+    sha256 = "0ag7qqsv64rifk9ncdxv4gyylfbw6c8y2wq610l4pabqv2qrlh9r";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/js2/default.nix b/pkgs/applications/editors/emacs-modes/js2/default.nix
index 00123bfc8c7..ba9fb4f8d6f 100644
--- a/pkgs/applications/editors/emacs-modes/js2/default.nix
+++ b/pkgs/applications/editors/emacs-modes/js2/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, emacs }:
 
 stdenv.mkDerivation {
-  name = "js2-mode-0-20140114";
+  name = "js2-mode-0-20141118";
 
   src = fetchgit {
     url = "git://github.com/mooz/js2-mode.git";
-    rev = "b250efaad886dd07b8c69d4573425d095c6652e2";
-    sha256 = "30e61e7d364e9175d408bdaf57fda886a4eea22cf5cbd97abb5c307c52b05918";
+    rev = "3abcd90ddc2f446ddf0fb874dd79ba870c26ad2d";
+    sha256 = "c0aaab4eeb8d60cfd5c382c3e30d4725e5ec492720d573e663ea69ee43aa73a8";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/let-alist/default.nix b/pkgs/applications/editors/emacs-modes/let-alist/default.nix
new file mode 100644
index 00000000000..863e9f95d95
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/let-alist/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, emacs }:
+
+stdenv.mkDerivation rec {
+  name = "let-alist-1.0.3";
+
+  src = fetchurl {
+    url = "http://elpa.gnu.org/packages/let-alist-1.0.3.el";
+    sha256 = "12n1cmjc7hzyy0jmsdxqz1hqzg4ri4nvvi0p9mw1d6v44xzfm0mx";
+  };
+
+  buildInputs = [ emacs ];
+
+  unpackPhase = "cp -v ${src} let-alist.el";
+  buildPhase = "emacs --batch -f batch-byte-compile let-alist.el";
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    mv -v *.el *.elc $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    homepage = "http://elpa.gnu.org/packages/let-alist.html";
+    description = "Easily let-bind values of an assoc-list by their names";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ simons ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix
index 076caf5235b..676a86985f8 100644
--- a/pkgs/applications/editors/emacs-modes/magit/default.nix
+++ b/pkgs/applications/editors/emacs-modes/magit/default.nix
@@ -1,25 +1,32 @@
-{ stdenv, fetchurl, emacs, texinfo }:
+{ stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }:
 
-let
-  version = "1.2.0";
-in
 stdenv.mkDerivation rec {
-  name = "magit-${version}";
+  name = "magit-90141025";
 
-  src = fetchurl {
-    url = "https://github.com/downloads/magit/magit/${name}.tar.gz";
-    sha256 = "1a8vvilhd5y5vmlpsh194qpl4qlg0a1brylfscxcacpfp0cmhlzg";
+  src = fetchFromGitHub {
+    owner = "magit";
+    repo = "magit";
+    rev = "50c08522c8a3c67e0f3b821fe4df61e8bd456ff9";
+    sha256 = "0mzyx72pidzvla1x2qszn3c60n2j0n8i5k875c4difvd1n4p0vsk";
   };
 
-  buildInputs = [ emacs texinfo ];
+  buildInputs = [ emacs texinfo git ];
+  propagatedUserEnvPkgs = [ gitModes ];
 
-  configurePhase = "makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )";
+  configurePhase = ''
+    makeFlagsArray=(
+      PREFIX="$out"
+      EFLAGS="-L ${gitModes}/share/emacs/site-lisp"
+      lispdir="$out/share/emacs/site-lisp"
+    )
+  '';
+
+  doCheck = true;
+  checkTarget = "test";
 
-  # Add (require 'magit-site-init) to your ~/.emacs file to set-up magit mode.
   postInstall = ''
-    mv $out/etc/emacs/site-start.d/50magit.el $out/share/emacs/site-lisp/magit-site-init.el
-    sed -i -e 's|50magit|magit-site-init|' $out/share/emacs/site-lisp/magit-site-init.el
-    rmdir $out/etc/emacs/site-start.d $out/etc/emacs $out/etc
+    mkdir -p $out/bin
+    mv "bin/"* $out/bin/
   '';
 
   meta = {
@@ -39,7 +46,6 @@ stdenv.mkDerivation rec {
       save you from learning Git itself.
     '';
 
-    platforms = stdenv.lib.platforms.all;
     maintainers = with stdenv.lib.maintainers; [ simons ];
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/nyan-mode/default.nix b/pkgs/applications/editors/emacs-modes/nyan-mode/default.nix
new file mode 100644
index 00000000000..ab94dbae950
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/nyan-mode/default.nix
@@ -0,0 +1,31 @@
+{trivialBuild, fetchFromGitHub}:
+
+trivialBuild rec {
+  pname    = "nyan-mode";
+  version  = "20150128";
+
+  src = fetchFromGitHub {
+    owner  = "TeMPOraL";
+    repo   = pname;
+    rev    = "41faa2c809da7b2cb3e6f8fadefae3f338ced3f2";
+    sha256 = "1idaac7sjc8hhbf5zif61ncg1pvg28c0qfihavdx61albww0ll7f";
+  };
+
+  patches = [ ./directory.patch ];
+
+  preBuild = ''
+    substituteInPlace nyan-mode.el \
+      --replace "@OUT@" "$out/"
+  '';
+
+  postInstall = ''
+    cp -r img $out
+    cp -r mus $out
+  '';
+
+  meta = {
+    description = "An analog indicator of the position in the buffer";
+    homepage = https://github.com/TeMPOraL/nyan-mode/;
+    license = "GPLv3+";
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/nyan-mode/directory.patch b/pkgs/applications/editors/emacs-modes/nyan-mode/directory.patch
new file mode 100644
index 00000000000..b471531ec34
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/nyan-mode/directory.patch
@@ -0,0 +1,13 @@
+diff --git a/nyan-mode.el b/nyan-mode.el
+index 939a25a..3d0b983 100644
+--- a/nyan-mode.el
++++ b/nyan-mode.el
+@@ -106,7 +106,7 @@ This can be t or nil."
+   :group 'nyan)

+ 

+ 

+-(defconst +nyan-directory+ (file-name-directory (or load-file-name buffer-file-name)))

++(defconst +nyan-directory+ "@OUT@")

+ 

+ (defconst +nyan-cat-size+ 3)

+ 

diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index d5a7b0ded8a..c7ad1c7049b 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -2,11 +2,11 @@
 , texLiveAggregationFun }:
 
 stdenv.mkDerivation rec {
-  name = "org-8.2.7c";
+  name = "org-8.2.10";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "0qqf58xqw1kkgjxm9z40s6h7xd209rx3933klla22lryv3yclc1k";
+    sha256 = "1xm8n8zwr3676rl4pd32k61rd7rimlihhrw5a7r4z7r154c4a2fz";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
index 3a492dc0c7f..96d7619d387 100644
--- a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
+{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake, enableDoc ? false }:
 
 stdenv.mkDerivation (rec {
   name = "ProofGeneral-4.3pre131011";
@@ -10,7 +10,7 @@ stdenv.mkDerivation (rec {
 
   sourceRoot = name;
 
-  buildInputs = [ emacs texinfo texLive perl which ];
+  buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
 
   prePatch =
     '' sed -i "Makefile" \
@@ -25,15 +25,20 @@ stdenv.mkDerivation (rec {
        sed -i '96d' doc/ProofGeneral.texi
     '';
 
+  patches = [ ./pg.patch ];
+
   preBuild = ''
     make clean;
   '';
 
   installPhase =
+    if enableDoc
+    then
     # Copy `texinfo.tex' in the right place so that `texi2pdf' works.
     '' cp -v "${automake}/share/"automake-*/texinfo.tex doc
        make install install-doc
-    '';
+    ''
+    else "make install";
 
   meta = {
     description = "Proof General, an Emacs front-end for proof assistants";
@@ -42,7 +47,7 @@ stdenv.mkDerivation (rec {
       interactive theorem provers), based on the customizable text editor Emacs.
     '';
     homepage = http://proofgeneral.inf.ed.ac.uk;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;  # arbitrary choice
   };
 })
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch b/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch
new file mode 100644
index 00000000000..c733911118d
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/pg.patch
@@ -0,0 +1,16 @@
+diff -r c7d8bfff4c0a bin/proofgeneral
+--- a/bin/proofgeneral	Sat Sep 27 02:25:15 2014 +0100
++++ b/bin/proofgeneral	Sat Sep 27 02:28:16 2014 +0100
+@@ -73,11 +73,7 @@
+ 
+ # Try to find Proof General directory
+ if [ -z "$PGHOME" ] || [ ! -d "$PGHOME" ]; then
+-    # default relative to this script, otherwise PGHOMEDEFAULT
+-    MYDIR="`readlink --canonicalize "$0" | sed -ne 's,/bin/proofgeneral$,,p'`"
+-    if [ -d "$MYDIR" ]; then
+-	PGHOME="$MYDIR"
+-    elif [ -d "$PGHOMEDEFAULT" ]; then
++    if [ -d "$PGHOMEDEFAULT" ]; then
+ 	PGHOME="$PGHOMEDEFAULT"
+     else
+ 	echo "Cannot find the Proof General lisp files: Set PGHOME or use --pghome."
diff --git a/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
new file mode 100644
index 00000000000..2b4223cdc1f
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/rainbow-delimiters/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.3.13";
+
+in stdenv.mkDerivation {
+  name = "emacs-rainbow-delimiters-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/jlr/rainbow-delimiters/archive/${version}.tar.gz";
+    sha256 = "075j3nsk4jm0rs5671n28c1wksrfbvpl9a4f89kzcd7sk1h6ncvl";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/s/default.nix b/pkgs/applications/editors/emacs-modes/s/default.nix
new file mode 100644
index 00000000000..b818348939e
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/s/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, emacs}:
+
+let version = "1.9.0";
+
+in stdenv.mkDerivation {
+  name = "emacs-s-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/magnars/s.el/archive/${version}.tar.gz";
+    sha256 = "1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    emacs -L . --batch -f batch-byte-compile *.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+  '';
+}
diff --git a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
index 13d3f4b00d1..75861b0a988 100644
--- a/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
+++ b/pkgs/applications/editors/emacs-modes/scala-mode/v2.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
 
-  name = "scala-mode2-2014-06-05";
+  name = "scala-mode2-2014-07-01";
 
   src = fetchurl {
-    url = "https://github.com/hvesalai/scala-mode2/archive/af2dc30226c890ff7d49d727450f8006b90781df.zip";
-    sha256 = "1jj08li9lfg5291jzj170wa3cmyf3g2a0j80cy5307l0mdawp9vx";
+    url = "https://github.com/hvesalai/scala-mode2/archive/c154f1623f4696d26e1c88d19170e67bf6825837.zip";
+    sha256 = "0fyxdpwz55n4c87v4ijqlbv6w1rybg5qrgsc40f6bs6sd747scy5";
   };
 
   buildInputs = [ unzip emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
index a9c2478d451..b8838fac980 100644
--- a/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
+++ b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "structured-haskell-mode";
-  version = "1.0.3";
-  sha256 = "0axmw8bj51q8v0wd4jp6giw9dnv0mp7kp8yd16s4nm4hcqgrh5h2";
+  version = "1.0.4";
+  sha256 = "1402wx27py7292ad7whsb13ywv71k36501jpfrn2p0v7knzknj8z";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ haskellSrcExts haskellMode ];
diff --git a/pkgs/applications/editors/emacs-modes/tuareg/default.nix b/pkgs/applications/editors/emacs-modes/tuareg/default.nix
index 3fd592f3dba..364daed439d 100644
--- a/pkgs/applications/editors/emacs-modes/tuareg/default.nix
+++ b/pkgs/applications/editors/emacs-modes/tuareg/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, emacs }:
+{ stdenv, fetchzip, emacs }:
 
 # this package installs the emacs-mode which
 # resides in the ocaml compiler sources.
 
-let version = "2.0.6";
+let version = "2.0.9";
 
 in stdenv.mkDerivation {
   name = "tuareg-mode-${version}";
-  src = fetchurl {
-    url = https://forge.ocamlcore.org/frs/download.php/882/tuareg-2.0.6.tar.gz;
-    sha256 = "ea79ac24623b82ab8047345f8504abca557a537e639d16ce1ac3e5b27f5b1189";
+  src = fetchzip {
+    url = "https://github.com/ocaml/tuareg/releases/download/${version}/tuareg-${version}.tar.gz";
+    sha256 = "1rd7ai1wn476zfkkxv2xk72bbzi4d9c17gngd35882q4b5vzp756";
   }; 
 
   buildInputs = [ emacs ];
@@ -20,8 +20,9 @@ in stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://caml.inria.fr;
+    homepage =  https://github.com/ocaml/tuareg;
     description = "OCaml mode package for Emacs";
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/writegood/default.nix b/pkgs/applications/editors/emacs-modes/writegood/default.nix
index d196c3fee80..6d0631a4cb8 100644
--- a/pkgs/applications/editors/emacs-modes/writegood/default.nix
+++ b/pkgs/applications/editors/emacs-modes/writegood/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, emacs}:
 
-let version = "2.0";
+let version = "2.0.2";
 
 in stdenv.mkDerivation {
   name = "writegood-mode-${version}";
   src = fetchurl {
     url = "https://github.com/bnbeckwith/writegood-mode/archive/v${version}.tar.gz";
-    sha256 = "0wf7bj9d00ggy3xigym885a3njfr98i3aqrrawf8x6lgbfc56dgp";
+    sha256 = "1ilbqj24vzpfh9n1wph7idj0914ga290jkpv9kr1pff3a0v5hf6k";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix
index d9f62216fac..640b06d2807 100644
--- a/pkgs/applications/editors/flpsed/default.nix
+++ b/pkgs/applications/editors/flpsed/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, fltk13, ghostscript}:
 
 stdenv.mkDerivation {
-  name = "flpsed-0.7.1";
+  name = "flpsed-0.7.2";
 
   src = fetchurl {
-    url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.1.tar.gz";
-    sha256 = "16i3mjc1cdx2wiwfhnv3z2ywmjma9785vwl3l31izx9l51w7ngj3";
+    url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.2.tar.gz";
+    sha256 = "1132nlganr6x4f4lzcp9l0xihg2ky1l7xk8vq7r2l2qxs97vbif8";
   };
 
   buildInputs = [ fltk13 ghostscript ];
@@ -15,5 +15,6 @@ stdenv.mkDerivation {
     homepage = "http://http://flpsed.org/flpsed.html";
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.mesaPlatforms;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
new file mode 100644
index 00000000000..bc9163e63cb
--- /dev/null
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, qt4, pkgconfig, hunspell}:
+
+stdenv.mkDerivation rec {
+  name = "focuswriter-${version}";
+  version = "1.5.3";
+
+  src = fetchurl {
+    url = http://gottcode.org/focuswriter/focuswriter-1.5.3-src.tar.bz2;
+    sha256 = "1i58jxbiy95ijf81g8c3gwxhcg3irzssna3wv7vhrd57g4lcfj0w";
+  };
+
+  buildInputs = [ qt4 pkgconfig hunspell ];
+  
+  configurePhase = "qmake PREFIX=/";
+
+  installPhase = "make install INSTALL_ROOT=$out";
+
+  meta = {
+    description = "Simple, distraction-free writing environment";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    platforms = stdenv.lib.platforms.all;
+    homepage = "http://gottcode.org/focuswriter/";
+  };
+}
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index d7ed048cdaa..8d4002c9ef8 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool }:
+{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }:
 
 let
-  version = "1.23.1";
+  version = "1.24.1";
 in
 
 stdenv.mkDerivation rec {
@@ -9,15 +9,17 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.geany.org/${name}.tar.bz2";
-    sha256 = "1bcgjxywggsljs9kq22kr9xpzrq5xr7pb9d1b71rwryqb5pb25c8";
+    sha256 = "0cwci8876dpgcn60dfvjlciqr8x68iv86psjj148grhzn3chbdbz";
   };
 
-  buildInputs = [ gtk2 which pkgconfig intltool ];
+  buildInputs = [ gtk2 which pkgconfig intltool file ];
 
   doCheck = true;
 
   enableParallelBuilding = true;
 
+  patchPhase = "patchShebangs .";
+
   # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
   # It have no reasons to exist in a redistribuable package
   postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix
index 5ef19874531..c023da0bc95 100644
--- a/pkgs/applications/editors/gobby/default.nix
+++ b/pkgs/applications/editors/gobby/default.nix
@@ -9,10 +9,10 @@ let
   
 in stdenv.mkDerivation rec {
 
-  name = "gobby-0.4.94";
+  name = "gobby-0.5.0";
   src = fetchurl {
     url = "http://releases.0x539.de/gobby/${name}.tar.gz";
-    sha256 = "b9798808447cd94178430f0fb273d0e45d0ca30ab04560e3790bac469e03bb00";
+    sha256 = "165x0r668ma5blziisvbr8qig3jw9hf7i6w8r7wwvz3wsac3bswc";
   };
 
   buildInputs = [ pkgconfig gtkmm gsasl gtksourceview libxmlxx libinf intltool ]
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index caa9523af6f..0d6851a79e8 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -1,105 +1,319 @@
 { stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip, jdk
-, coreutils, gnugrep, which, git
+, coreutils, gnugrep, which, git, python, unzip, androidsdk
 }:
 
 assert stdenv.isLinux;
 
 let
 
-  buildIdea =
-  { name, version, build, src, description, longDescription, license }:
-
-  stdenv.mkDerivation rec {
-    inherit name build src;
-    ideaItem = makeDesktopItem {
-      name = "IDEA";
-      exec = "idea";
-      comment = "Integrated Development Environment";
-      desktopName = "IntelliJ IDEA";
-      genericName = "Integrated Development Environment";
+  mkIdeaProduct = with stdenv.lib;
+  { name, product, version, build, src, meta }:
+
+  let loName = toLower product;
+      hiName = toUpper product;
+      execName = concatStringsSep "-" (init (splitString "-" name));
+  in
+
+  with stdenv; lib.makeOverridable mkDerivation rec {
+    inherit name build src meta;
+    desktopItem = makeDesktopItem {
+      name = execName;
+      exec = execName;
+      comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
+      desktopName = product;
+      genericName = meta.description;
       categories = "Application;Development;";
+      icon = execName;
     };
 
-    buildInputs = [ makeWrapper patchelf p7zip ];
+    buildInputs = [ makeWrapper patchelf p7zip unzip ];
 
-    buildCommand = ''
-      tar xvzf $src
-      mkdir -p $out
-      cp -a idea-$build $out
+    patchPhase = ''
+        get_file_size() {
+          local fname="$1"
+          echo $(ls -l $fname | cut -d ' ' -f5)
+        }
 
-      interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+        munge_size_hack() {
+          local fname="$1"
+          local size="$2"
+          strip $fname
+          truncate --size=$size $fname
+        }
 
-      7z x $out/idea-$build/lib/snappy-java-1.0.5.jar
-      rm $out/idea-$build/lib/snappy-java-1.0.5.jar
-      if [ "${stdenv.system}" == "x86_64-linux" ];then
-        patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier64
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ org/xerial/snappy/native/Linux/amd64/libsnappyjava.so
-      else
-        patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ org/xerial/snappy/native/Linux/i386/libsnappyjava.so
-      fi
-      7z a -tzip $out/idea-$build/lib/snappy-java-1.0.5.jar .
+        interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+        if [ "${stdenv.system}" == "x86_64-linux" ]; then
+          target_size=$(get_file_size bin/fsnotifier64)
+          patchelf --set-interpreter "$interpreter" bin/fsnotifier64
+          munge_size_hack bin/fsnotifier64 $target_size
+        else
+          target_size=$(get_file_size bin/fsnotifier)
+          patchelf --set-interpreter "$interpreter" bin/fsnotifier
+          munge_size_hack bin/fsnotifier $target_size
+        fi
+    '';
 
-      mkdir -p $out/bin
+    installPhase = ''
+      mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
+      cp -a . $out/$name
+      ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${execName}.png
+      mv bin/fsnotifier* $out/libexec/${name}/.
 
-      jdk=${jdk}/lib/openjdk
+      jdk=${jdk.home}
+      item=${desktopItem}
 
-      makeWrapper $out/idea-$build/bin/idea.sh $out/bin/idea \
-        --prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \
-        --prefix LD_RUN_PATH : ${stdenv.gcc.gcc}/lib/ \
-        --prefix JDK_HOME : $jdk \
-        --prefix IDEA_JDK : $jdk
+      makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}" \
+        --prefix PATH : "$out/libexec/${name},${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
+        --prefix JDK_HOME : "$jdk" \
+        --prefix ${hiName}_JDK : "$jdk"
 
-        mkdir -p $out/share/applications
-        cp "${ideaItem}/share/applications/"* $out/share/applications
-        patchShebangs $out
+      ln -s "$item/share/applications" $out/share
     '';
 
-    meta = {
-      homepage = http://www.jetbrains.com/idea/;
-      inherit description;
-      inherit longDescription;
-      inherit license;
-      maintainers = [ stdenv.lib.maintainers.edwtjo ];
-      platforms = stdenv.lib.platforms.linux;
+  };
+
+  buildAndroidStudio = { name, version, build, src, license, description }:
+    let drv = (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "Studio";
+      meta = with stdenv.lib; {
+        homepage = https://developer.android.com/sdk/installing/studio.html;
+        inherit description license;
+        longDescription = ''
+          Android development environment based on IntelliJ
+          IDEA providing new features and improvements over
+          Eclipse ADT and will be the official Android IDE
+          once it's ready.
+        '';
+        platforms = platforms.linux;
+        maintainers = with maintainers; [ edwtjo ];
+      };
+    });
+    in stdenv.lib.overrideDerivation drv (x : {
+      buildInputs = x.buildInputs ++ [ makeWrapper ];
+      installPhase = x.installPhase +  ''
+        wrapProgram "$out/bin/android-studio" \
+          --set ANDROID_HOME "${androidsdk}/libexec/android-sdk-linux/"
+      '';
+    });
+
+  buildClion = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "CLion";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/clion/";
+        inherit description license;
+        longDescription = ''
+          Enhancing productivity for every C and C++
+          developer on Linux, OS X and Windows.
+        '';
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildIdea = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "IDEA";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/idea/";
+        inherit description license;
+        longDescription = ''
+          IDE for Java SE, Groovy & Scala development Powerful
+          environment for building Google Android apps Integration
+          with JUnit, TestNG, popular SCMs, Ant & Maven.
+        '';
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildRubyMine = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "RubyMine";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/ruby/";
+        inherit description license;
+        longDescription = description;
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildPhpStorm = { name, version, build, src, license, description }:
+    (mkIdeaProduct {
+      inherit name version build src;
+      product = "PhpStorm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/phpstorm/";
+        inherit description license;
+        longDescription = ''
+          PhpStorm provides an editor for PHP, HTML and JavaScript
+          with on-the-fly code analysis, error prevention and
+          automated refactorings for PHP and JavaScript code.
+        '';
+        maintainers = with maintainers; [ schristo ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildWebStorm = { name, version, build, src, license, description }:
+    (mkIdeaProduct {
+      inherit name version build src;
+      product = "WebStorm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/webstorm/";
+        inherit description license;
+        longDescription = ''
+          WebStorm provides an editor for HTML, JavaScript (incl. Node.js),
+          and CSS with on-the-fly code analysis, error prevention and
+          automated refactorings for JavaScript code.
+        '';
+        maintainers = with maintainers; [ abaldeau ];
+        platforms = platforms.linux;
+      };
+    });
+
+  buildPycharm = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "PyCharm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/pycharm/";
+        inherit description license;
+        longDescription = ''
+          Python IDE with complete set of tools for productive
+          development with Python programming language. In addition, the
+          IDE provides high-class capabilities for professional Web
+          development with Django framework and Google App Engine. It
+          has powerful coding assistance, navigation, a lot of
+          refactoring features, tight integration with various Version
+          Control Systems, Unit testing, powerful all-singing
+          all-dancing Debugger and entire customization. PyCharm is
+          developer driven IDE. It was developed with the aim of
+          providing you almost everything you need for your comfortable
+          and productive development!
+        '';
+        maintainers = with maintainers; [ jgeerds ];
+        platforms = platforms.linux;
+      };
+    }).override {
+      propagatedUserEnvPkgs = [ python ];
+    };
+
+in
+
+{
+
+  android-studio = buildAndroidStudio rec {
+    name = "android-studio-${version}";
+    version = "1.1.0";
+    build = "135.1740770";
+    description = "Android development environment based on IntelliJ IDEA";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
+            "/android-studio-ide-${build}-linux.zip";
+      sha256 = "1r2hrld3yfaxq3mw2xmzhvrrhc7w5xlv3d18rv758hy9n40c2nr1";
     };
   };
 
-in {
+  clion = buildClion rec {
+    name = "clion-${build}";
+    version = "eap";
+    build = "141.102.4";
+    description  = "C/C++ IDE. New. Intelligent. Cross-platform.";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/cpp/${name}.tar.gz";
+      sha256 = "0qjm8wxqn171wfd7yqf5ys1g4mwl0iyhlbry29jkgkikxp7h9dym";
+    };
+  };
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "13.1.4b";
-    build = "IC-135.1230";
+    version = "14.1";
+    build = "IC-141.177.4";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
-    longDescription = ''
-      Lightweight IDE for Java SE, Groovy & Scala development
-      Powerful environment for building Google Android apps
-      Integration with JUnit, TestNG, popular SCMs, Ant & Maven
-      Free, open-source, Apache 2 licensed.
-    '';
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
-      url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "8b4ee25fd2934e06b87230b50e1474183ed4b331c1626a7fee69b96294d9616d";
+      url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
+      sha256 = "05irkxhmx6pisvghjalw8hcf9v3n4wn0n0zc92ahivzxlicylpr6";
     };
   };
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "13.1.4b";
-    build = "IU-135.1230";
+    version = "14.1";
+    build = "IU-141.177.4";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
-    longDescription = ''
-      Full-featured IDE for JVM-based and polyglot development
-      Java EE, Spring/Hibernate and other technologies support
-      Deployment and debugging with most application servers
-      Duplicate code search, dependency structure matrix, etc.
-    '';
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
-      url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "84660d97c9c3e4e7cfd6c2708f4685dc7322157f1e1c2888feac64df119f0606";
+      url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
+      sha256 = "10zv3m44ci7gl7163yp4wxnjy7c0g5zl34c2ibnx4c6ds6l4di2p";
+    };
+  };
+
+  ruby-mine = buildRubyMine rec {
+    name = "ruby-mine-${version}";
+    version = "7.0.4";
+    build = "139.1231";
+    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 = "08b0iwccb5w9b1yk0kbs99r5mxkcyxqs9mkr57wb5j71an80yx38";
+    };
+  };
+
+  pycharm-community = buildPycharm rec {
+    name = "pycharm-community-${version}";
+    version = "4.0.5";
+    build = "139.1547";
+    description = "PyCharm 4.0 Community Edition";
+    license = stdenv.lib.licenses.asl20;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "16na04sp9q7z10kjx8wpf9k9bv9vgv7rmd9jnrn72nhwd7bp0n1i";
+    };
+  };
+
+  pycharm-professional = buildPycharm rec {
+    name = "pycharm-professional-${version}";
+    version = "4.0.5";
+    build = "139.1547";
+    description = "PyCharm 4.0 Professional Edition";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "17cxznv7q47isym6l7kbp3jdzdgj02jayygy42x4bwjmg579v1gg";
+    };
+  };
+
+  phpstorm = buildPhpStorm rec {
+    name = "phpstorm-${version}";
+    version = "8.0.3";
+    build = "PS-139.1348";
+    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 = "1x67nfr3nap93cx7yhdrp02xvp1v6g74zy7hdmhx41sal7hzy49b";
+    };
+  };
+
+  webstorm = buildWebStorm rec {
+    name = "webstorm-${version}";
+    version = "9.0.3";
+    build = "139.1112";
+    description = "Professional IDE for Web and JavaScript devlopment";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
+      sha256 = "e4cfe7b5f1220b68d880c4f236df9c9df2b1efcc04775afad6149d949f45f0aa";
     };
   };
 
diff --git a/pkgs/applications/editors/idea/pycharm.nix b/pkgs/applications/editors/idea/pycharm.nix
deleted file mode 100644
index 6a2064549bb..00000000000
--- a/pkgs/applications/editors/idea/pycharm.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip, jdk
-, coreutils, gnugrep, which, git, python
-}:
-
-let
-
-  buildPycharm =
-  { name, version, build, src, description, license }:
-
-  stdenv.mkDerivation rec {
-    inherit name build src;
-    desktopItem = makeDesktopItem {
-      name = "pycharm";
-      exec = "pycharm";
-      comment = "Powerful Python and Django IDE";
-      desktopName = "PyCharm";
-      genericName = "Powerful Python and Django IDE";
-      categories = "Application;Development;";
-      icon = "pycharm";
-    };
-
-    buildInputs = [ makeWrapper patchelf p7zip ];
-
-    propagatedUserEnvPkgs = [ python ];
-
-    patchPhase = ''
-      interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)"
-      snappyPath="lib/snappy-java-1.0.5"
-
-      7z x -o"$snappyPath" "$snappyPath.jar"
-      if [ "${stdenv.system}" == "x86_64-linux" ]; then
-        patchelf --set-interpreter "$interpreter" bin/fsnotifier64
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ "$snappyPath/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so"
-      else
-        patchelf --set-interpreter "$interpreter" bin/fsnotifier
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ "$snappyPath/org/xerial/snappy/native/Linux/i386/libsnappyjava.so"
-      fi
-      7z a -tzip "$snappyPath.jar" ./"$snappyPath"/*
-      rm -vr "$snappyPath"
-    '';
-
-    installPhase = ''
-      mkdir -vp "$out/bin" "$out/$name" "$out/share/pixmaps"
-      cp -va . "$out/$name"
-      ln -s "$out/$name/bin/pycharm.png" "$out/share/pixmaps/"
-
-      jdk="${jdk}/lib/openjdk"
-      makeWrapper "$out/$name/bin/pycharm.sh" "$out/bin/pycharm" \
-        --prefix PATH : "${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
-        --prefix LD_RUN_PATH : "${stdenv.gcc.gcc}/lib/" \
-        --prefix JDK_HOME : "$jdk" \
-        --prefix PYCHARM_JDK : "$jdk"
-
-      cp -a "${desktopItem}"/* "$out"
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = "https://www.jetbrains.com/pycharm/";
-      inherit description;
-      inherit license;
-      maintainers = [ maintainers.jgeerds ];
-      platforms = platforms.linux;
-    };
-  };
-
-in {
-
-  pycharm-community-313 = buildPycharm rec {
-    name = "pycharm-community-${version}";
-    version = "3.1.3";
-    build = "133.1347";
-    description = "PyCharm 3.1 Community Edition";
-    license = stdenv.lib.licenses.asl20;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "f671ee4c99207c179f168b5b98fa23afe90a94c3a3914367b95a46b0c2881b23";
-    };
-  };
-
-  pycharm-community-341 = buildPycharm rec {
-    name = "pycharm-community-${version}";
-    version = "3.4.1";
-    build = "135.1057";
-    description = "PyCharm 3.4 Community Edition";
-    license = stdenv.lib.licenses.asl20;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "96427b1e842e7c09141ec4d3ede627c5ca7d821c0d6c98169b56a34f9035ef64";
-    };
-  };
-
-  pycharm-professional-313 = buildPycharm rec {
-    name = "pycharm-professional-${version}";
-    version = "3.1.3";
-    build = "133.1347";
-    description = "PyCharm 3.1 Professional Edition";
-    license = stdenv.lib.licenses.unfree;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "e0c2db8f18cb825a95de6ddc4b0b9f93c5643bf34cca9f1b3c2fa37fd7c14f11";
-    };
-  };
-
-  pycharm-professional-341 = buildPycharm rec {
-    name = "pycharm-professional-${version}";
-    version = "3.4.1";
-    build = "135.1057";
-    description = "PyCharm 3.4 Professional Edition";
-    license = stdenv.lib.licenses.unfree;
-    src = fetchurl {
-      url = "http://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "e4f85f3248e8985ac9f8c326543f979b47ba1d7ac6b128a2cf2b3eb8ec545d2b";
-    };
-  };
-}
diff --git a/pkgs/applications/editors/jedit/build.xml.patch b/pkgs/applications/editors/jedit/build.xml.patch
new file mode 100644
index 00000000000..2f630f18ab7
--- /dev/null
+++ b/pkgs/applications/editors/jedit/build.xml.patch
@@ -0,0 +1,257 @@
+--- a/build.xml	2015-02-04 08:47:37.000000000 +0100
++++ b/build.xml	2015-02-17 14:06:42.455283148 +0100
+@@ -43,16 +43,6 @@
+ 	<property name="textAreaPackage"
+ 		  location="../textarea"/>
+ 
+-	<!-- Ivy Properties -->
+-	<property name="config.ivy.version"
+-		  value="2.2.0"/>
+-	<property name="ivy.jar.dir"
+-		  location="${lib.dir}/ivy"/>
+-	<property name="ivy.jar.filename"
+-		  value="ivy-${config.ivy.version}.jar"/>
+-	<property name="ivy.jar.file"
+-		  location="${ivy.jar.dir}/${ivy.jar.filename}"/>
+-
+ 	<!-- Miscellaneous -->
+ 	<property name="jar.filename"
+ 		  value="${ant.project.name}.jar"/>
+@@ -90,51 +80,8 @@
+ 			  value="true"/>
+ 	</target>
+ 
+-	<target name="check-ivy"
+-		depends="init">
+-		<available property="ivy.jar.present"
+-			   file="${ivy.jar.file}"
+-			   type="file"/>
+-	</target>
+-
+-	<target name="download-ivy"
+-		depends="init,check-ivy"
+-		unless="ivy.jar.present">
+-		<mkdir dir="${ivy.jar.dir}"/>
+-		<get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${config.ivy.version}/ivy-${config.ivy.version}.jar"
+-		     dest="${ivy.jar.file}"
+-		     usetimestamp="true"/>
+-	</target>
+-
+-	<target name="init-ivy"
+-		depends="init,download-ivy"
+-		unless="ivy.done">
+-		<property name="ivy.retrieve.pattern"
+-			  value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/>
+-		<taskdef resource="org/apache/ivy/ant/antlib.xml"
+-			 classpath="${ivy.jar.file}"
+-			 loaderref="ivy.loader"
+-			 uri="antlib:org.apache.ivy.ant"/>
+-		<ivy:settings file="ivysettings.xml"/>
+-	</target>
+-
+-	<target name="retrieve"
+-		description="retrieve the dependencies"
+-		depends="init,init-ivy"
+-		unless="ivy.done">
+-		<ivy:retrieve sync="true"/>
+-		<ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]"
+-			      organisation="org.apache.ivy"
+-			      module="ivy"
+-			      revision="${config.ivy.version}"
+-			      conf="default"
+-			      inline="true"/>
+-		<property name="ivy.done"
+-			  value="true"/>
+-	</target>
+-
+ 	<target name="setup"
+-		depends="init,retrieve">
++		depends="init">
+ 		<taskdef resource="net/sf/antcontrib/antlib.xml"
+ 			 uri="antlib:net.sf.antcontrib">
+ 			<classpath>
+@@ -239,37 +186,6 @@
+ 		</javac>
+ 	</target>
+ 
+-	<target name="compile-test"
+-		depends="init,retrieve,compile">
+-		<mkdir dir="${classes.dir}/test"/>
+-		<depend srcDir="${basedir}/test"
+-			destDir="${classes.dir}/test"
+-			cache="${classes.dir}"/>
+-		<dependset>
+-			<srcfilelist files="build.xml"/>
+-			<srcfilelist files="ivy.xml"/>
+-			<targetfileset dir="${classes.dir}/test"/>
+-		</dependset>
+-		<javac srcdir="test"
+-		       destdir="${classes.dir}/test"
+-		       debug="true"
+-		       debuglevel="${config.build.debuglevel}"
+-		       nowarn="${config.build.nowarn}"
+-		       deprecation="${config.build.deprecation}"
+-		       source="${target.java.version}"
+-		       target="${target.java.version}"
+-		       compiler="modern"
+-		       encoding="UTF-8"
+-		       includeAntRuntime="false">
+-			<classpath id="classpath.test">
+-				<fileset dir="${lib.dir}/test"
+-					 includes="*.jar"/>
+-				<pathelement location="${classes.dir}/core"/>
+-			</classpath>
+-			<compilerarg line="${config.build.compilerarg}"/>
+-		</javac>
+-	</target>
+-
+ 	<target name="prepare-textArea"
+ 		depends="init">
+ 		<delete includeemptydirs="true"
+@@ -423,33 +339,8 @@
+ 		</javac>
+ 	</target>
+ 
+-	<target name="test"
+-		depends="init,retrieve,compile,compile-test"
+-		description="run unit tests"
+-		unless="skip.tests">
+-		<delete dir="${build.dir}/test/raw-reports"/>
+-		<mkdir dir="${build.dir}/test/raw-reports"/>
+-		<junit printsummary="true"
+-		       failureproperty="tests.failed"
+-		       enabletestlistenerevents="true">
+-			<classpath refid="classpath.test"/>
+-			<classpath location="${classes.dir}/test"/>
+-			<formatter type="xml"/>
+-			<batchtest todir="${build.dir}/test/raw-reports">
+-				<fileset dir="test"/>
+-			</batchtest>
+-		</junit>
+-		<mkdir dir="${build.dir}/test/merged-reports"/>
+-		<junitreport todir="${build.dir}/test/merged-reports">
+-			<fileset dir="${build.dir}/test/raw-reports"/>
+-			<report todir="${build.dir}/test/reports"/>
+-		</junitreport>
+-		<fail message="Unit test(s) failed! See reports at ${build.dir}/test/reports/index.html"
+-		      if="tests.failed"/>
+-	</target>
+-
+ 	<target name="build"
+-		depends="init,retrieve,setup,compile"
++		depends="init,setup,compile"
+ 		description="build the jEdit JAR-file with full debug-information">
+ 		<mkdir dir="${jar.location}"/>
+ 		<jar destfile="${jar.location}/${jar.filename}"
+@@ -504,11 +395,10 @@
+ 				</copy>
+ 			</contrib:then>
+ 		</contrib:if>
+-		<antcall target="test" />
+ 	</target>
+ 
+ 	<target name="build-exe-launcher"
+-		depends="init,retrieve,setup,filter-package-files"
++		depends="init,setup,filter-package-files"
+ 		description="build the EXE launcher">
+ 		<contrib:if>
+ 			<os family="windows"/>
+@@ -622,7 +512,7 @@
+ 	</target>
+ 
+ 	<target name="unpack-docbook-xsl"
+-		depends="init,retrieve">
++		depends="init">
+ 		<unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip"
+ 		       dest="${build.dir}/docbook-xsl/"/>
+ 	</target>
+@@ -668,7 +558,7 @@
+ 	</presetdef>
+ 
+ 	<target name="generate-doc-faq"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<dependset.html>
+ 			<srcfileset dir="doc/FAQ"/>
+ 			<targetfileset dir="${jar.location}/doc/FAQ"/>
+@@ -692,7 +582,7 @@
+ 	</target>
+ 
+ 	<target name="generate-doc-news"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<dependset.html>
+ 			<srcfileset dir="doc/whatsnew"/>
+ 			<targetfileset dir="${jar.location}/doc/whatsnew"/>
+@@ -716,7 +606,7 @@
+ 	</target>
+ 
+ 	<target name="generate-doc-users-guide"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<dependset.html>
+ 			<srcfileset dir="doc/users-guide"/>
+ 			<targetfileset dir="${jar.location}/doc/users-guide"/>
+@@ -851,7 +741,7 @@
+ 	</target>
+ 
+ 	<target name="generate-pdf-users-guide"
+-		depends="init,retrieve,setup,unpack-docbook-xsl">
++		depends="init,setup,unpack-docbook-xsl">
+ 		<fail message="Please set the property &quot;paper.type&quot;"
+ 		      unless="paper.type"/>
+ 		<contrib:switch value="${paper.type}">
+@@ -1154,7 +1044,7 @@
+ 	</target>
+ 
+ 	<target name="compile-jarbundler"
+-		depends="init,retrieve">
++		depends="init">
+ 		<mkdir dir="${classes.dir}/jarbundler"/>
+ 		<depend srcDir="${basedir}"
+ 			destDir="${classes.dir}/jarbundler"
+@@ -1180,7 +1070,7 @@
+ 	</target>
+ 
+ 	<target name="dist-mac-finish"
+-		depends="init,retrieve,setup"
++		depends="init,setup"
+ 		description="finish building the Mac OS X disk image (DMG-file) on Mac OS X">
+ 		<fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently">
+ 			<condition>
+@@ -1295,7 +1185,7 @@
+ 	</target>
+ 
+ 	<target name="dist-mac"
+-		depends="init,retrieve,setup,prepare-dist-files"
++		depends="init,setup,prepare-dist-files"
+ 		description="build the Mac OS X disk image (DMG-file)">
+ 		<antcall target="compile-jarbundler">
+ 			<param name="config.build.debuglevel"
+@@ -1411,7 +1301,7 @@
+ 	</target>
+ 
+ 	<target name="prepare-dist-files"
+-		depends="init,retrieve,setup">
++		depends="init,setup">
+ 		<antcall target="build">
+ 			<param name="config.build.debuglevel"
+ 			       value="lines,source"/>
+@@ -1592,7 +1482,7 @@
+ 	</target>
+ 
+ 	<target name="dist-deb"
+-		depends="init,retrieve,setup,prepare-dist-files"
++		depends="init,setup,prepare-dist-files"
+ 		description="build the DEB Package">
+ 		<antcall target="compile-ar">
+ 			<param name="config.build.debuglevel"
+@@ -1838,7 +1728,7 @@
+ 	</target>
+ 
+ 	<target name="dist-sign-deb-Release"
+-		depends="init,retrieve,setup"
++		depends="init,setup"
+ 		description="sign the DEB Release file">
+ 		<contrib:if>
+ 			<not>
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index 8a57f650fb4..7dfb651d7d3 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,32 +1,47 @@
-{ stdenv, fetchurl, ant, jdk }:
+{ stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging }:
 
-let version = "4.4.2"; in
+let
+  version = "5.2.0";
+  bsh = fetchurl {
+    url = http://www.beanshell.org/bsh-2.0b4.jar;
+    sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci";
+  };
+  bcpg = fetchurl {
+    url = http://central.maven.org/maven2/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar;
+    sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
+  };
+  jsr305 = fetchurl {
+    url = http://central.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar;
+    sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
+  };
+in
 
 stdenv.mkDerivation {
   name = "jedit-${version}";
-
   src = fetchurl {
     url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
-    sha256 = "5e9ad9c32871b77ef0b9fe46dcfcea57ec52558d36113b7280194a33430b8ceb";
+    sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x";
   };
 
-  buildInputs = [ ant jdk ];
+  buildInputs = [ ant jdk commonsBsf commonsLogging ];
+
+  # This patch removes from the build process:
+  #  - the automatic download of dependencies (see configurePhase);
+  #  - the tests
+  patches = [ ./build.xml.patch ];
 
-  sourceRoot = "jEdit";
+  configurePhase = ''
+    mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins
+    cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/
+    cp ${bsh} ${bcpg} lib/scripting/
+    cp ${jsr305} lib/compile/
+  '';
 
   buildPhase = "ant build";
 
   installPhase = ''
     mkdir -p $out/share/jEdit
-    cp build/jedit.jar $out/share/jEdit
-    mkdir -p $out/share/jEdit/modes
-    cp -r modes/* $out/share/jEdit/modes
-    mkdir -p $out/share/jEdit/icons
-    cp -r icons/* $out/share/jEdit/icons
-    mkdir -p $out/share/jEdit/macros
-    cp -r macros/* $out/share/jEdit/macros
-    mkdir -p $out/share/jEdit/doc
-    cp -r doc/* $out/share/jEdit/doc
+    cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit
 
     sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
     mkdir -p $out/share/applications
@@ -35,7 +50,7 @@ stdenv.mkDerivation {
     patch package-files/linux/jedit << EOF
     5a6,8
     > # specify the correct JAVA_HOME
-    > JAVA_HOME=${jdk.jre}/lib/openjdk/jre
+    > JAVA_HOME=${jdk.jre.home}/jre
     > 
     EOF
     sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit
@@ -44,9 +59,11 @@ stdenv.mkDerivation {
     chmod +x $out/bin/jedit
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Mature programmer's text editor (Java based)";
     homepage = http://www.jedit.org;
-    license = "GPL";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index b815b052347..b0ac24ee61a 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info,
-  kdebase_workspace, gettext, perl, okteta, qjson }:
+  kdebase_workspace, gettext, perl, okteta, qjson, kate, konsole, kde_runtime, oxygen_icons }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "4.6.0";
+  version = "4.7.1";
   pname = "kdevelop";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "1ee9e7b8c46f575dd29d920cfd6284130f2e738a2e1f52dfd97b075fab2e4c73";
+    sha256 = "e3ad5377f53739a67216d37cda3f88c03f8fbb0c96e2a9ef4056df3c124e95c1";
   };
 
   buildInputs = [ kdevplatform kdebase_workspace okteta qjson ];
 
   nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
 
+  propagatedUserEnvPkgs = [ kdevplatform kate konsole kde_runtime oxygen_icons ];
+
   NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/leafpad/default.nix b/pkgs/applications/editors/leafpad/default.nix
new file mode 100644
index 00000000000..fc35a993bad
--- /dev/null
+++ b/pkgs/applications/editors/leafpad/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk }:
+
+stdenv.mkDerivation rec {
+  version = "0.8.18.1";
+  name = "leafpad-${version}";
+  src = fetchurl {
+    url = "http://download.savannah.gnu.org/releases/leafpad/${name}.tar.gz";
+    sha256 = "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk ];
+
+  configureFlags = [
+    "--enable-chooser"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A notepad clone for GTK+ 2.0";
+    homepage = http://tarot.freeshell.org/leafpad;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flosse ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix
index b5ab1950e2b..d4fa56898c3 100644
--- a/pkgs/applications/editors/lighttable/default.nix
+++ b/pkgs/applications/editors/lighttable/default.nix
@@ -5,7 +5,7 @@
 
 let
   libPath = stdenv.lib.makeLibraryPath [
-      stdenv.gcc.gcc zlib glib dbus gtk atk pango freetype libgnome_keyring3 nss
+      stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3 nss
       fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gnome3.gconf
       xlibs.libXrender xlibs.libX11 xlibs.libXext xlibs.libXdamage xlibs.libXtst
       xlibs.libXcomposite xlibs.libXi xlibs.libXfixes
@@ -14,21 +14,21 @@ in
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
-  name = "LightTable-${version}";
-  version = "0.6.7";
+  name = "lighttable-${version}";
+  version = "0.7.2";
 
   src = 
     if stdenv.system == "i686-linux" then
       fetchurl {
         name = "LightTableLinux.tar.gz";
-        url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux.tar.gz;
-        sha256 = "3b09f9665ed1b4abb7c1ca16286ac7222caf6dc124059be6db4cb9f5fd041e73";
+        url = "https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/${version}/LightTableLinux.tar.gz";
+        sha256 = "1q5m50r319xn9drfv3cyfja87b7dfhni9d9gmz9733idq3l5fl9i";
       }
     else
       fetchurl {
         name = "LightTableLinux64.tar.gz";
-        url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux64.tar.gz;
-        sha256 = "710d670ccc30aadba521ccb723388679ee6404aac662297a005432c811d59e82";
+        url = "https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/${version}/LightTableLinux64.tar.gz";
+        sha256 = "1jnn103v5qrplkb5ik9p8whfqclcq2r1qv666hp3jaiwb46vhf3c";
       };
 
   buildInputs = [ makeWrapper ];
@@ -40,11 +40,11 @@ stdenv.mkDerivation rec {
     mv LightTable $out/
 
     patchelf \
-      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
+      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
       $out/LightTable/ltbin
 
-    ln -s ${udev}/lib/libudev.so.1 $out/LightTable/libudev.so.0
+    ln -sf ${udev}/lib/libudev.so.1 $out/LightTable/libudev.so.0
 
     makeWrapper $out/LightTable/ltbin $out/bin/lighttable \
       --prefix "LD_LIBRARY_PATH" : $out/LightTable
diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix
index 6901aed774b..45a527c7484 100644
--- a/pkgs/applications/editors/mg/default.nix
+++ b/pkgs/applications/editors/mg/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://homepage.boetes.org/software/mg/;
     description = "Micro GNU/emacs, a portable version of the mg maintained by the OpenBSD team";
-    license = "public domain";
+    license = stdenv.lib.licenses.publicDomain;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/monodevelop/builder.sh b/pkgs/applications/editors/monodevelop/builder.sh
deleted file mode 100644
index c069edb3a6d..00000000000
--- a/pkgs/applications/editors/monodevelop/builder.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-source $stdenv/setup
-source $makeWrapper
-
-export MONO_GAC_PREFIX=$monodoc:$gtksharp
-
-postInstall() {
-    mv $out/bin $out/bin-orig
-    mkdir $out/bin
-
-    moz=$(ls $mozilla/lib/*/libgtkembedmoz.so)
-
-    for i in $out/bin-orig/*; do
-        echo "wrapping $(basename $i)"
-        # !!! TODO: figure out the MONO_GAC_PREFIX automatically
-        makeWrapper "$i" "$out/bin/$(basename $i)" \
-            --suffix PATH ':' "$(dirname $(type -p mono))" \
-            --suffix PATH ':' "$(dirname $(type -p mono))" \
-            --suffix LD_LIBRARY_PATH ':' "$gtksharp/lib" \
-            --suffix MONO_GAC_PREFIX ':' "$gtksharp" \
-            --suffix MONO_GAC_PREFIX ':' "$gtkmozembedsharp" \
-            --suffix MONO_GAC_PREFIX ':' "$gtksourceviewsharp" \
-            --suffix MONO_GAC_PREFIX ':' "$monodoc" \
-            --set MOZILLA_FIVE_HOME "$(dirname $moz)"
-    done
-}
-
-genericBuild
-
diff --git a/pkgs/applications/editors/monodevelop/default.nix b/pkgs/applications/editors/monodevelop/default.nix
index aad6325fa44..4e8e6079ff1 100644
--- a/pkgs/applications/editors/monodevelop/default.nix
+++ b/pkgs/applications/editors/monodevelop/default.nix
@@ -1,26 +1,83 @@
-{ stdenv, fetchurl, file, mono, gtksharp, gtksourceviewsharp
-, gtkmozembedsharp, monodoc
-, perl, perlXMLParser, pkgconfig
-, glib, gtk, GConf, gnome_vfs, libbonobo, libglade, libgnome
-, mozilla, makeWrapper
+{ stdenv, fetchurl, fetchgit
+, autoconf, automake, pkgconfig, shared_mime_info, intltool
+, glib, mono, gtk-sharp, gnome, gnome-sharp, unzip
 }:
 
-stdenv.mkDerivation {
-  name = "monodevelop-0.6-pre2315";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  version = "5.7.0.660";
+  revision = "6a74f9bdb90d9415b597064d815c9be38b401fee";
+  name = "monodevelop-${version}";
 
-  src = fetchurl {
-    url = http://tarballs.nixos.org/monodevelop-0.6-pre2315.tar.bz2;
-    md5 = "8c33df5629b0676b7ab552854c1de6fd";
-  };
+  srcs = [
+    (fetchurl {
+      url = "http://download.mono-project.com/sources/monodevelop/${name}.tar.bz2";
+      sha256 = "0i9fpjkcys991dhxh02zf9imar3aj6fldk9ymy09vmr10f4d7vbf";
+    })
+    (fetchurl {
+      url = "https://launchpadlibrarian.net/153448659/NUnit-2.6.3.zip";
+      sha256 = "0vzbziq44zy7fyyhb44mf9ypfi7gvs17rxpg8c9d9lvvdpkshhcp";
+    })
+    (fetchurl {
+      url = "https://launchpadlibrarian.net/68057829/NUnit-2.5.10.11092.zip";
+      sha256 = "0k5h5bz1p2v3d0w0hpkpbpvdkcszgp8sr9ik498r1bs72w5qlwnc";
+    })
+    (fetchgit {
+      url = "https://github.com/mono/nuget-binary.git";
+      rev = "ecb27dd49384d70b6c861d28763906f2b25b7c8";
+      sha256 = "0dj0yglgwn07xw2crr66vl0vcgnr6m041pynyq0kdd0z8nlp92ki";
+    })
+  ];
+
+  sourceRoot = "monodevelop-5.7";
+
+  postPatch = ''
+    # From https://bugzilla.xamarin.com/show_bug.cgi?id=23696#c19
+
+    # it seems parts of MonoDevelop 5.2+ need NUnit 2.6.4, which isn't included
+    # (?), so download it and put it in the right place in the tree
+    mkdir -v -p packages/NUnit.2.6.3/lib
+    cp -vfR ../NUnit-2.6.3/bin/framework/* packages/NUnit.2.6.3/lib
+    mkdir -v -p packages/NUnit.Runners.2.6.3/tools/lib
+    cp -vfR ../NUnit-2.6.3/bin/lib/* packages/NUnit.Runners.2.6.3/tools/lib
+
+    # cecil needs NUnit 2.5.10 - this is also missing from the tar
+    cp -vfR ../NUnit-2.5.10.11092/bin/net-2.0/framework/* external/cecil/Test/libs/nunit-2.5.10
+
+    # the tar doesn't include the nuget binary, so grab it from github and copy it
+    # into the right place
+    cp -vfR ../nuget-binary-*/* external/nuget-binary/
+    '';
 
-  patches = [./prefix.patch];
-  
   buildInputs = [
-    file mono gtksharp gtksourceviewsharp perl perlXMLParser pkgconfig
-    glib gtk GConf gnome_vfs libbonobo libglade libgnome
-    gtkmozembedsharp monodoc
+    autoconf automake pkgconfig shared_mime_info intltool
+    mono gtk-sharp gnome-sharp unzip
   ];
-  
-  inherit mozilla monodoc gtksharp gtkmozembedsharp gtksourceviewsharp makeWrapper;
+
+  preConfigure = "patchShebangs ./configure";
+  preBuild = ''
+    cat > ./buildinfo <<EOF
+    Release ID: ${version}
+    Git revision: ${revision}
+    Build date: 1970-01-01 00:00:01
+    EOF
+  '';
+
+  postInstall = ''
+    for prog in monodevelop mdtool; do
+    patch -p 0 $out/bin/$prog <<EOF
+    2a3,5
+    > export MONO_GAC_PREFIX=${gnome-sharp}:${gtk-sharp}:\$MONO_GAC_PREFIX
+    > export PATH=${mono}/bin:\$PATH
+    > export LD_LIBRARY_PATH=${glib}/lib:${gnome.libgnomeui}/lib:${gnome.gnome_vfs}/lib:${gnome-sharp}/lib:${gtk-sharp}/lib:${gtk-sharp.gtk}/lib:\$LD_LIBRARY_PATH
+    > 
+    EOF
+    done
+  '';
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ obadz ];
+  };
 }
diff --git a/pkgs/applications/editors/monodevelop/prefix.patch b/pkgs/applications/editors/monodevelop/prefix.patch
deleted file mode 100644
index 5ab0b4042dd..00000000000
--- a/pkgs/applications/editors/monodevelop/prefix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -rc MonoDevelop-orig/Makefile.in MonoDevelop/Makefile.in
-*** MonoDevelop-orig/Makefile.in	2005-03-09 17:43:58.000000000 +0100
---- MonoDevelop/Makefile.in	2005-03-09 18:10:20.000000000 +0100
-***************
-*** 298,304 ****
-  # (mkdir ../../build/bin/ hack)
-  SUBDIRS = Core build po Extras
-  bin_SCRIPTS = monodevelop
-! gnome_data = @gnome_prefix@/share
-  desktopdir = $(gnome_data)/applications
-  desktop_DATA = monodevelop.desktop
-  pixmapdir = $(gnome_data)/pixmaps
---- 298,304 ----
-  # (mkdir ../../build/bin/ hack)
-  SUBDIRS = Core build po Extras
-  bin_SCRIPTS = monodevelop
-! gnome_data = @prefix@/share
-  desktopdir = $(gnome_data)/applications
-  desktop_DATA = monodevelop.desktop
-  pixmapdir = $(gnome_data)/pixmaps
-***************
-*** 809,818 ****
-  all:
-  
-  install-data-hook:
-! 	$(UPDATE_MIME_DB) $(gnome_data)/mime
-  
-  uninstall-hook:
-! 	$(UPDATE_MIME_DB) $(gnome_data)/mime
-  
-  run: runmd
-  
---- 809,818 ----
-  all:
-  
-  install-data-hook:
-! #	$(UPDATE_MIME_DB) $(gnome_data)/mime
-  
-  uninstall-hook:
-! #	$(UPDATE_MIME_DB) $(gnome_data)/mime
-  
-  run: runmd
-  
-Only in MonoDevelop: Makefile.in~
diff --git a/pkgs/applications/editors/monodoc/builder.sh b/pkgs/applications/editors/monodoc/builder.sh
deleted file mode 100644
index bcea7a7a89a..00000000000
--- a/pkgs/applications/editors/monodoc/builder.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-source $stdenv/setup
-source $makeWrapper
-
-postInstall() {
-    mv $out/bin $out/bin-orig
-    mkdir $out/bin
-
-    for i in $out/bin-orig/*; do
-        echo "wrapping $(basename $i)"
-        # !!! TODO: figure out the MONO_GAC_PREFIX automatically
-        makeWrapper "$i" "$out/bin/$(basename $i)" \
-            --suffix PATH ':' "$(dirname $(type -p mono))" \
-            --suffix MONO_GAC_PREFIX ':' "$gtksharp" \
-            --suffix MONO_GAC_PREFIX ':' "$out"
-    done
-}
-
-genericBuild
-
-
diff --git a/pkgs/applications/editors/monodoc/default.nix b/pkgs/applications/editors/monodoc/default.nix
deleted file mode 100644
index 0e8421646a8..00000000000
--- a/pkgs/applications/editors/monodoc/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{stdenv, fetchurl, mono, gtksharp, pkgconfig, makeWrapper}:
-
-stdenv.mkDerivation {
-  name = "monodoc-1.0.6";
-
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://tarballs.nixos.org/monodoc-1.0.6.tar.gz;
-    md5 = "f2fc27e8e4717d90dc7efa2450625693";
-  };
-
-  buildInputs = [mono gtksharp pkgconfig];
-
-  inherit gtksharp makeWrapper;
-}
diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix
new file mode 100644
index 00000000000..768842a3875
--- /dev/null
+++ b/pkgs/applications/editors/music/tuxguitar/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, swt, jdk, makeWrapper, alsaLib }:
+
+let metadata = assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+  if stdenv.system == "i686-linux" then
+    { arch = "x86"; sha256 = "1qmb51k0538pn7gv4nsvhfv33xik4l4af0qmpllkzrikmj8wvzlb"; }
+  else
+    { arch = "x86_64"; sha256 = "12af47jhlrh9aq5b3d13l7cdhlndgnfpy61gz002hajbq7i00ixh"; };
+in stdenv.mkDerivation rec {
+  version = "1.2";
+  name = "tuxguitar-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tuxguitar/${name}-linux-${metadata.arch}.tar.gz";
+    sha256 = metadata.sha256;
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r lib share $out/
+    cp tuxguitar $out/bin/tuxguitar
+    cp tuxguitar.jar $out/lib
+
+    ln -s $out/share $out/bin/share
+
+    wrapProgram $out/bin/tuxguitar \
+      --set JAVA "${jdk}/bin/java" \
+      --prefix LD_LIBRARY_PATH : "$out/lib/:${swt}/lib:${alsaLib}/lib" \
+      --prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A multitrack guitar tablature editor";
+    longDescription = ''
+      TuxGuitar is a multitrack guitar tablature editor and player written
+      in Java-SWT. It can open GuitarPro, PowerTab and TablEdit files.
+    '';
+    homepage = http://www.tuxguitar.com.ar/;
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.ardumont ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index caea8758d95..e7b96bd4b7d 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -1,22 +1,37 @@
-{ stdenv, fetchurl, ncurses, gettext }:
+{ stdenv, fetchurl
+, ncurses
+, gettext ? null
+, enableNls ? true
+, enableTiny ? false
+}:
 
-stdenv.mkDerivation (rec {
-  pname = "nano";
-  version = "2.3.6";
+assert enableNls -> (gettext != null);
 
-  name = "${pname}-${version}";
+with stdenv.lib;
 
+stdenv.mkDerivation rec {
+  name = "nano-${version}";
+  version = "2.4.0";
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.gz";
-    sha256 = "a74bf3f18b12c1c777ae737c0e463152439e381aba8720b4bc67449f36a09534";
+    sha256 = "1gbm9bcv4k55y01r5q8a8a9s3yrrgq3z5jxxiij3wl404r8gnxjh";
   };
+  buildInputs = [ ncurses ] ++ optional enableNls gettext;
+  configureFlags = ''
+    --sysconfdir=/etc
+    ${optionalString (!enableNls) "--disable-nls"}
+    ${optionalString enableTiny "--enable-tiny"}
+  '';
 
-  buildInputs = [ ncurses gettext ];
-
-  configureFlags = "sysconfdir=/etc";
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/text.c --replace "__time_t" "time_t"
+  '';
 
   meta = {
     homepage = http://www.nano-editor.org/;
     description = "A small, user-friendly console text editor";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ joachifm ];
+    platforms = platforms.all;
   };
-})
+}
diff --git a/pkgs/applications/editors/nedit/builder.sh b/pkgs/applications/editors/nedit/builder.sh
deleted file mode 100644
index 15706b0c37d..00000000000
--- a/pkgs/applications/editors/nedit/builder.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-source $stdenv/setup
-
-export NIX_CFLAGS_COMPILE="-DBUILD_UNTESTED_NEDIT -L$motif/lib $NIX_CFLAGS_COMPILE"
-
-installPhase() {
-    mkdir -p $out/bin
-    cp -p source/nedit source/nc $out/bin
-}
-
-genericBuild
diff --git a/pkgs/applications/editors/nedit/default.nix b/pkgs/applications/editors/nedit/default.nix
index bd53f8d81d0..a4dfc4719dc 100644
--- a/pkgs/applications/editors/nedit/default.nix
+++ b/pkgs/applications/editors/nedit/default.nix
@@ -1,22 +1,26 @@
-{stdenv, fetchurl, x11, motif, libXpm}:
+{ stdenv, fetchurl, x11, motif, libXpm }:
 
 assert stdenv.isLinux;
 
-stdenv.mkDerivation {
-  name = "nedit-5.5";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  name = "nedit-5.6";
   
   src = fetchurl {
-    url = http://nl.nedit.org/ftp/v5_5/nedit-5.5-src.tar.bz2;
-    md5 = "48cb3dce52d44988f3a4d7c6f47b6bbe";
+    url = "mirror://sourceforge/nedit/nedit-source/${name}-src.tar.gz";
+    sha256 = "023hwpqc57mnzvg6p7jda6193afgjzxzajlhwhqvk3jq2kdv6zna";
   };
-  patches = [./dynamic.patch];
 
-  inherit motif;
-  buildInputs = [x11 motif libXpm];
+  buildInputs = [ x11 motif libXpm ];
 
   buildFlags = if stdenv.isLinux then "linux" else "";
 
+  NIX_CFLAGS_COMPILE="-DBUILD_UNTESTED_NEDIT -L${motif}/lib";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -p source/nedit source/nc $out/bin
+  '';
+
   meta = {
     homepage = http://www.nedit.org;
   };
diff --git a/pkgs/applications/editors/nedit/dynamic.patch b/pkgs/applications/editors/nedit/dynamic.patch
deleted file mode 100644
index adb2cbc2592..00000000000
--- a/pkgs/applications/editors/nedit/dynamic.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -rc nedit-5.5-orig/makefiles/Makefile.linux nedit-5.5/makefiles/Makefile.linux
-*** nedit-5.5-orig/makefiles/Makefile.linux	2003-05-20 02:27:56.000000000 +0200
---- nedit-5.5/makefiles/Makefile.linux	2005-12-03 00:42:23.000000000 +0100
-***************
-*** 17,27 ****
-  # To test if the Motif library exports the runtime version
-  # add -DHAVE__XMVERSIONSTRING to CFLAGS
-  #
-! CFLAGS=-O -I/usr/X11R6/include -DUSE_DIRENT -DUSE_LPR_PRINT_CMD
-  
-  ARFLAGS=-urs
-  
-! LIBS= -L/usr/X11R6/lib -Wl,-Bstatic -lXm -Wl,-Bdynamic -lXp -lXpm -lXext -lXt -lSM -lICE -lX11 -lm
-  
-  include Makefile.common
-  
---- 17,27 ----
-  # To test if the Motif library exports the runtime version
-  # add -DHAVE__XMVERSIONSTRING to CFLAGS
-  #
-! CFLAGS=-O -DUSE_DIRENT -DUSE_LPR_PRINT_CMD
-  
-  ARFLAGS=-urs
-  
-! LIBS= -lXm -lXp -lXpm -lXext -lXt -lSM -lICE -lX11 -lm
-  
-  include Makefile.common
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
new file mode 100644
index 00000000000..1c1c050b000
--- /dev/null
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchgit, fetchurl, unzip, callPackage, ncurses, gettext, pkgconfig,
+cmake, pkgs, lpeg, lua, luajit, luaMessagePack, luabitop }:
+
+stdenv.mkDerivation rec {
+  name = "neovim-nightly";
+
+  version = "nightly";
+
+  src = fetchgit {
+    url = "https://github.com/neovim/neovim";
+    rev = "68fcd8b696dae33897303c9f8265629a31afbf17";
+    sha256 = "0hxkcy641jpn4qka44gfvhmb6q3dkjx6lvn9748lcl2gx2d36w4i";
+  };
+
+  libmsgpack = stdenv.mkDerivation rec {
+    version = "0.5.9";
+    name = "libmsgpack-${version}";
+
+    src = fetchgit {
+      rev = "ecf4b09acd29746829b6a02939db91dfdec635b4";
+      url = "https://github.com/msgpack/msgpack-c";
+      sha256 = "076ygqgxrc3vk2l20l8x2cgcv05py3am6mjjkknr418pf8yav2ww";
+    };
+
+    buildInputs = [ cmake ];
+
+    meta = with stdenv.lib; {
+      description = "MessagePack implementation for C and C++";
+      homepage = http://msgpack.org;
+      maintainers = [ maintainers.manveru ];
+      license = licenses.asl20;
+      platforms = platforms.all;
+    };
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    ncurses
+    pkgconfig
+    cmake
+    pkgs.libuvVersions.v0_11_29
+    luajit
+    lua
+    lpeg
+    luaMessagePack
+    luabitop
+    libmsgpack
+  ];
+  nativeBuildInputs = [ gettext ];
+
+  LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;${luabitop}/lib/lua/5.2/?.so";
+  LUA_PATH="${luaMessagePack}/share/lua/5.1/?.lua";
+  cmakeFlags = [
+    "-DUSE_BUNDLED_MSGPACK=ON"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Aggressive refactor of Vim";
+    homepage    = http://www.neovim.org;
+    maintainers = with maintainers; [ manveru ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index 5a2afebdd5c..79dbb589d23 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -26,8 +26,8 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \
       --prefix PATH : ${jdk}/bin:${which}/bin \
-      --prefix JAVA_HOME : ${jdk}/lib/openjdk \
-      --add-flags "--jdkhome ${jdk}/lib/openjdk"
+      --prefix JAVA_HOME : ${jdk.home} \
+      --add-flags "--jdkhome ${jdk.home}"
       
     # Create desktop item, so we can pick it from the KDE/GNOME menu
     mkdir -p $out/share/applications
diff --git a/pkgs/applications/editors/nvi/default.nix b/pkgs/applications/editors/nvi/default.nix
index 81e0dd35db9..ee9b775453c 100644
--- a/pkgs/applications/editors/nvi/default.nix
+++ b/pkgs/applications/editors/nvi/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.bostic.com/vi/;
     description = "The Berkeley Vi Editor";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
new file mode 100644
index 00000000000..fda51dc2401
--- /dev/null
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchurl, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk }:
+
+let
+  version = "0.98.110";
+  ginVer = "1.5";
+  gwtVer = "2.5.1";
+in
+stdenv.mkDerivation {
+  name = "RStudio-${version}";
+
+  buildInputs = [ cmake boost155 zlib openssl R qt4 libuuid unzip ant jdk ];
+
+  src = fetchurl {
+    url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz";
+    sha256 = "0wybbvl5libki8z2ywgcd0hg0py1az484r95lhwh3jbrwfx7ri2z";
+  };
+
+  # Hack RStudio to only use the input R.
+  patches = [ ./r-location.patch ];
+  postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}";
+
+  inherit ginVer;
+  ginSrc = fetchurl {
+    url = "https://s3.amazonaws.com/rstudio-buildtools/gin-${ginVer}.zip";
+    sha256 = "155bjrgkf046b8ln6a55x06ryvm8agnnl7l8bkwwzqazbpmz8qgm";
+  };
+
+  inherit gwtVer;
+  gwtSrc = fetchurl {
+    url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip";
+    sha256 = "0fjr2rcr8lnywj54mzhg9i4xz1b6fh8yv12p5i2q5mgfld2xymy4";
+  };
+
+  hunspellDicts = builtins.attrValues hunspellDicts;
+
+  mathJaxSrc = fetchurl {
+    url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-20.zip;
+    sha256 = "1ikg3fhharsfrh2fv8c53fdawqajj24nif89400l3klw1hyq4zal";
+  };
+
+  preConfigure =
+    ''
+      GWT_LIB_DIR=src/gwt/lib
+
+      mkdir -p $GWT_LIB_DIR/gin/$ginVer
+      unzip $ginSrc -d $GWT_LIB_DIR/gin/$ginVer
+
+      unzip $gwtSrc
+      mkdir -p $GWT_LIB_DIR/gwt
+      mv gwt-$gwtVer $GWT_LIB_DIR/gwt/$gwtVer
+
+      mkdir dependencies/common/dictionaries
+      for dict in $hunspellDicts; do
+          for i in "$dict/share/hunspell/"*
+	  do ln -sv $i dependencies/common/dictionaries/
+	  done
+      done
+
+      unzip $mathJaxSrc -d dependencies/common/mathjax
+    '';
+
+  cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" ];
+
+  meta = with stdenv.lib;
+    { description = "Set of integrated tools for the R language";
+      homepage = http://www.rstudio.com/;
+      license = licenses.agpl3;
+      maintainers = [ maintainers.emery ];
+      platforms = platforms.linux;
+    };
+}
diff --git a/pkgs/applications/editors/rstudio/r-location.patch b/pkgs/applications/editors/rstudio/r-location.patch
new file mode 100644
index 00000000000..a1ec84a5475
--- /dev/null
+++ b/pkgs/applications/editors/rstudio/r-location.patch
@@ -0,0 +1,24 @@
+diff -ur rstudio-0.98.110-old/src/cpp/core/CMakeLists.txt rstudio-0.98.110-new/src/cpp/core/CMakeLists.txt
+--- rstudio-0.98.110-old/src/cpp/core/r_util/REnvironmentPosix.cpp	2013-04-28 10:02:14.000000000 -0400
++++ rstudio-0.98.110-new/src/cpp/core/r_util/REnvironmentPosix.cpp	2015-03-23 15:06:35.533400807 -0400
+@@ -84,9 +84,7 @@
+ {
+    // define potential paths
+    std::vector<std::string> rScriptPaths;
+-   rScriptPaths.push_back("/usr/bin/R");
+-   rScriptPaths.push_back("/usr/local/bin/R");
+-   rScriptPaths.push_back("/opt/local/bin/R");
++   rScriptPaths.push_back("@R@/bin/R");
+    return scanForRScript(rScriptPaths, pErrMsg);
+ }
+
+@@ -220,8 +218,7 @@
+       // scan in standard locations as a fallback
+       std::string scanErrMsg;
+       std::vector<std::string> rScriptPaths;
+-      rScriptPaths.push_back("/usr/local/bin/R");
+-      rScriptPaths.push_back("/usr/bin/R");
++      rScriptPaths.push_back("@R@/bin/R");
+       FilePath scriptPath = scanForRScript(rScriptPaths, &scanErrMsg);
+       if (scriptPath.empty())
+       {
diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix
index 234ee1f065e..b2ac66c1e08 100644
--- a/pkgs/applications/editors/scite/default.nix
+++ b/pkgs/applications/editors/scite/default.nix
@@ -30,6 +30,6 @@ in stdenv.mkDerivation {
     description = "SCIntilla based Text Editor";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.rszibele;
+    maintainers = [ stdenv.lib.maintainers.rszibele ];
   };
 }
diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix
new file mode 100644
index 00000000000..2af662ded7f
--- /dev/null
+++ b/pkgs/applications/editors/sigil/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, unzip, cmake, pkgconfig, makeWrapper
+, hunspell, minizip, boost, xercesc, qt5
+}:
+
+let
+  version = "0.7.4";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "sigil-${version}";
+
+  src = fetchurl {
+    url = "https://sigil.googlecode.com/files/Sigil-${version}-Code.zip";
+    sha256 = "68c7ca15ea8611921af0c435369563f55c6afd2ef1fb0945cf6c4a47429b0fb5";
+  };
+
+  buildInputs = [
+    unzip cmake pkgconfig
+    hunspell minizip boost xercesc qt5.base qt5.tools qt5.webkit qt5.xmlpatterns
+  ];
+
+  # XXX: the compiler seems to treat the .h file inappropriately:
+  #
+  #    COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
+  #            ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
+  #           -o ${header_name}.h.gch
+  #
+  #  but using -c or -x c++-header seems to work:
+  #
+  #    COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
+  #            -c ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
+  #            -o ${header_name}.h.gch
+  #
+  #    COMMAND ${CMAKE_CXX_COMPILER} ${compile_flags} \
+  #            -x c++-header ${CMAKE_CURRENT_SOURCE_DIR}/${header_name}.h \
+  #            -o ${header_name}.h.gch
+  #
+  # Might be related to:
+  #
+  #   http://permalink.gmane.org/gmane.comp.gcc.bugs/361195
+  buildCommand = ''
+    mkdir -pv $out
+    mkdir -pv ${name}/src ${name}/build ${name}/run
+    cd ${name}/src
+    unzip -n ${src}
+    sed -i \
+        -e 's|\(COMMAND\) \([^ ]\+\) \([^ ]\+\) \(.*\)|\1 \2 \3 -c \4|' \
+        cmake_extras/CustomPCH.cmake
+    cd ../build
+    cmake -G "Unix Makefiles" \
+        -DCMAKE_INSTALL_PREFIX=$out \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DCMAKE_SKIP_BUILD_RPATH=ON \
+        ../src
+    make
+    make install
+  '';
+
+  meta = {
+    description = "Free, open source, multi-platform ebook (ePub) editor";
+    homepage = https://code.google.com/p/sigil/;
+    license = stdenv.lib.licenses.gpl3;
+    inherit version;
+  };
+}
diff --git a/pkgs/applications/editors/sublime/default.nix b/pkgs/applications/editors/sublime/default.nix
index 0c967e05ba1..ffa1c4eed34 100644
--- a/pkgs/applications/editors/sublime/default.nix
+++ b/pkgs/applications/editors/sublime/default.nix
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
 
     echo ${libPath}
     patchelf \
-      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
+      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
       $out/sublime/sublime_text
   '';
 
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
index 3ef557cef4b..1764c85ca7d 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -1,9 +1,9 @@
-{ fetchurl, stdenv, glib, xlibs, cairo, gtk, pango, makeWrapper}:
+{ fetchurl, stdenv, glib, xlibs, cairo, gtk, pango, makeWrapper, openssl, bzip2 }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 let
-  build = "3059";
+  build = "3083";
   libPath = stdenv.lib.makeLibraryPath [glib xlibs.libX11 gtk cairo pango];
 in let
   # package with just the binaries
@@ -13,15 +13,15 @@ in let
     src =
       if stdenv.system == "i686-linux" then
         fetchurl {
-          name = "sublimetext-3.0.59.tar.bz2";
+          name = "sublimetext-3.0.83.tar.bz2";
           url = "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_${build}_x32.tar.bz2";
-          sha256 = "5ee7b42b5db057108e97b86fd408124fc3f7b56662b2851f59d91f8f0c288088";
+          sha256 = "0r9irk2gdwdx0dk7lgssr4krfvf3lf71pzaz5hyjc704zaxf5s49";
         }
       else
         fetchurl {
-          name = "sublimetext-3.0.59.tar.bz2";
+          name = "sublimetext-3.0.83.tar.bz2";
           url = "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_${build}_x64.tar.bz2";
-          sha256 = "da3039687664d33a734cea0151b2291ece9c7f35e5b73df5b2b5eac28a20b972";
+          sha256 = "1vhlrqz7xscmjnxpz60mdpvflanl26d7673ml7psd75n0zvcfra5";
         };
 
     dontStrip = true;
@@ -31,17 +31,21 @@ in let
     buildPhase = ''
       for i in sublime_text plugin_host crash_reporter; do
         patchelf \
-          --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
+          --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
           $i
       done
     '';
 
     installPhase = ''
+      # Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text
+      sed -e 's,/opt/sublime_text/sublime_text,sublime,' -i sublime_text.desktop
+
       mkdir -p $out
       cp -prvd * $out/
+
       # Without this, plugin_host crashes, even though it has the rpath
-      wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1
+      wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl}/lib/libssl.so:${bzip2}/lib/libbz2.so
     '';
   };
 in stdenv.mkDerivation {
@@ -52,11 +56,16 @@ in stdenv.mkDerivation {
     mkdir -p $out/bin
     ln -s ${sublime}/sublime_text $out/bin/sublime
     ln -s ${sublime}/sublime_text $out/bin/sublime3
+    mkdir -p $out/share/applications
+    ln -s ${sublime}/sublime_text.desktop $out/share/applications/sublime_text.desktop
+    ln -s ${sublime}/Icon/256x256/ $out/share/icons
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Sophisticated text editor for code, markup and prose";
-    maintainers = stdenv.lib.maintainers.wmertens;
-    license = stdenv.lib.licenses.unfree;
+    homepage = https://www.sublimetext.com/;
+    maintainers = with maintainers; [ wmertens ];
+    license = licenses.unfree;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix
index 16335a55065..4df2dc8cac1 100644
--- a/pkgs/applications/editors/texmaker/default.nix
+++ b/pkgs/applications/editors/texmaker/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt4, popplerQt4, zlib, pkgconfig, poppler}:
+{ stdenv, fetchurl, qt4, poppler_qt4, zlib, pkgconfig, poppler}:
 
 stdenv.mkDerivation rec {
   pname = "texmaker";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1h5rxdq6f05wk3lnlw96fxwrb14k77cx1mwy648127h2c8nsgw4z";
   };
 
-  buildInputs = [ qt4 popplerQt4 zlib ];
+  buildInputs = [ qt4 poppler_qt4 zlib ];
 
   nativeBuildInputs = [ pkgconfig poppler ];
 
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index cd7f0b78c23..5cb31af797d 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt4, popplerQt4, zlib}:
+{ stdenv, fetchurl, qt4, poppler_qt4, zlib}:
 
 stdenv.mkDerivation rec {
   pname = "texstudio";
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "167d78nfk265jjvl129nr70v8ladb2rav2qyhw7ngr6m54gak831";
   };
 
-  buildInputs = [ qt4 popplerQt4 zlib ];
+  buildInputs = [ qt4 poppler_qt4 zlib ];
 
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${popplerQt4}/include/poppler/qt4) "
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${poppler_qt4}/include/poppler/qt4) "
     qmake PREFIX=$out texstudio.pro
   '';
 
diff --git a/pkgs/applications/editors/tiled-qt/default.nix b/pkgs/applications/editors/tiled-qt/default.nix
deleted file mode 100644
index 05020df01a0..00000000000
--- a/pkgs/applications/editors/tiled-qt/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, qt }:
-
-stdenv.mkDerivation rec {
-  name = "tiled-qt-0.9.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/tiled/${name}.tar.gz";
-    sha256 = "09xm6ry56zsqbfl9fvlvc5kq9ikzdskm283r059q6rlc7crzhs38";
-  };
-
-  buildInputs = [ qt ];
-
-  preConfigure = "qmake -r PREFIX=$out";
-
-  meta = {
-    description = "A free, easy to use and flexible tile map editor";
-    homepage = "http://www.mapeditor.org/";
-    # libtiled and tmxviewer is licensed under 2-calause BSD license.
-    # The rest is GPL2 or later.
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
-  };
-}
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
new file mode 100644
index 00000000000..92cd5071306
--- /dev/null
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, qt }:
+
+stdenv.mkDerivation rec {
+  name = "tiled-0.11.0";
+
+  src = fetchurl {
+    url = "https://github.com/bjorn/tiled/archive/v0.11.0.tar.gz";
+    sha256 = "03a15vbzjfwc8dpifbjvd0gnr208mzmdkgs2nlc8zq6z0a4h4jqd";
+  };
+
+  buildInputs = [ qt ];
+
+  preConfigure = "qmake -r PREFIX=$out";
+
+  meta = {
+    description = "A free, easy to use and flexible tile map editor";
+    homepage = "http://www.mapeditor.org/";
+    # libtiled and tmxviewer is licensed under 2-calause BSD license.
+    # The rest is GPL2 or later.
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+  };
+}
diff --git a/pkgs/applications/editors/vanubi/default.nix b/pkgs/applications/editors/vanubi/default.nix
new file mode 100644
index 00000000000..692a728b12e
--- /dev/null
+++ b/pkgs/applications/editors/vanubi/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, vala, which, autoconf, automake
+, libtool, glib, gtk3, gnome3, libwnck3, asciidoc, python3Packages }:
+
+stdenv.mkDerivation rec {
+  name = "vanubi-${version}";
+  version = "0.0.14";
+
+  src = fetchurl {
+    url = "https://github.com/vanubi/vanubi/archive/v${version}.tar.gz";
+    sha256 = "0cd45zm54j6xz1a31qllg2w7l77sncv7mrpfx9bjzdiqpmzsdypl";
+  };
+
+  buildInputs = [ pkgconfig vala which autoconf automake
+                  libtool glib gtk3 libwnck3 asciidoc
+                  gnome3.gtksourceview gnome3.vte python3Packages.pygments ];
+
+  configureScript = "./autogen.sh";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://vanubi.github.io/vanubi;
+    description = "Programming editor for GTK+ inspired by Emacs";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 710ceb7d31f..e6c2cacc49a 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -31,13 +31,9 @@ let inherit (args.composableDerivation) composableDerivation edf;
   '';
 in
 composableDerivation {
-  # use gccApple to compile on darwin
-  mkDerivation = ( if stdenv.isDarwin
-                   then stdenvAdapters.overrideGCC stdenv gccApple
-                   else stdenv ).mkDerivation;
 } (fix: {
 
-    name = "vim_configurable-7.4.335";
+    name = "vim_configurable-7.4.516";
 
     enableParallelBuilding = true; # test this
 
@@ -46,9 +42,9 @@ composableDerivation {
       "default" =
         # latest release
       args.fetchhg {
-            url = "https://vim.googlecode.com/hg/";
-            rev = "v7-4-335";
-            sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
+            url = "http://vim.googlecode.com/hg/";
+            rev = "v7-4-516";
+            sha256 = "0a3b5qaywfn7jjr7fjpl8y8jx4wjj2630wxfjnmn3hi1l7iiz4z8";
       };
 
       "vim-nox" =
@@ -91,7 +87,7 @@ composableDerivation {
       // edf { name = "darwin"; } #Disable Darwin (Mac OS X) support.
       // edf { name = "xsmp"; } #Disable XSMP session management
       // edf { name = "xsmp_interact"; } #Disable XSMP interaction
-      // edf { name = "mzscheme"; } #Include MzScheme interpreter.
+      // edf { name = "mzscheme"; feat = "mzschemeinterp";} #Include MzScheme interpreter.
       // edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
 
       // edf {
@@ -106,7 +102,20 @@ composableDerivation {
         };
       }
 
-      // edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
+      // edf {
+        name = "python3";
+        feat = "python3interp";
+        enable = {
+          nativeBuildInputs = [ pkgs.python3 ];
+        } // lib.optionalAttrs stdenv.isDarwin {
+          configureFlags
+            = [ "--enable-python3interp=yes"
+                "--with-python3-config-dir=${pkgs.python3}/lib"
+                "--disable-pythoninterp" ];
+        };
+      }
+
+      // edf { name = "tcl"; feat = "tclinterp"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
       // edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
       // edf {
         name = "lua";
@@ -135,11 +144,12 @@ composableDerivation {
   cfg = {
     luaSupport       = config.vim.lua or true;
     pythonSupport    = config.vim.python or true;
+    python3Support   = config.vim.python3 or false;
     rubySupport      = config.vim.ruby or true;
     nlsSupport       = config.vim.nls or false;
     tclSupport       = config.vim.tcl or false;
     multibyteSupport = config.vim.multibyte or false;
-    cscopeSupport    = config.vim.cscope or false;
+    cscopeSupport    = config.vim.cscope or true;
     netbeansSupport  = config.netbeans or true; # eg envim is using it
 
     # by default, compile with darwin support if we're compiling on darwin, but
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 95f654eb8ca..4f14aade5a5 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "vim-${version}";
 
-  version = "7.4.335";
+  version = "7.4.683";
 
   src = fetchhg {
-    url = "https://vim.googlecode.com/hg/";
-    rev = "v7-4-335";
-    sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
+    url = "https://code.google.com/p/vim/";
+    rev = "v7-4-663";
+    sha256 = "1z0qarf6a2smab28g9dnxklhfayn85wx48bnddmyhb9kqzjgqgjc";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch
index ed508784813..cbbe1ccb212 100644
--- a/pkgs/applications/editors/vim/ft-nix-support.patch
+++ b/pkgs/applications/editors/vim/ft-nix-support.patch
@@ -23,39 +23,42 @@ new file mode 100644
 index 0000000..a2f9918
 --- /dev/null
 +++ b/runtime/syntax/nix.vim
-@@ -0,0 +1,47 @@
+@@ -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:	2007 Dec
++" 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
 +
-+syn keyword	nixKeyword	let in rec assert inherit import true false null with ...
-+syn keyword	nixBuiltin	import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation
++
++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 match nixAttr "[a-zA-Z0-9-_]\+\ze\s*="
-+syn match nixFuncArg "\zs[a-zA-Z0-9-_]\+\ze\s*:"
-+syn region nixStringParam start=+\${+ end=+}+
++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 "#.*$"
-+syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
-+syn region nixString         start=+"+ skip=+\\"+ end=+"+ contains=nixStringParam
 +
 +hi def link nixKeyword       Keyword
-+hi def link nixBuiltin       Function
 +hi def link nixConditional   Conditional
 +hi def link nixBrace         Special
 +hi def link nixString        String
@@ -67,9 +70,20 @@ index 0000000..a2f9918
 +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 iElectric
 +" 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/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index feafa7b9977..784be80ecf4 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -1,18 +1,15 @@
-{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext,
+{ stdenv, fetchurl, ncurses, gettext,
   pkgconfig, cscope, python, ruby, tcl, perl, luajit
 }:
 
-let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation;
-in mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "macvim-${version}";
 
-  version = "7.4.355";
+  version = "7.4.479";
 
-  src = fetchFromGitHub {
-    owner = "genoma";
-    repo = "macvim";
-    rev = "c18a61f9723565664ffc2eda9179e96c95860e25";
-    sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
+  src = fetchurl {
+    url = "https://github.com/genoma/macvim/archive/g-snapshot-21.tar.gz";
+    sha256 = "1s86dpb8bcxh309gikiz8gm9ygv3d2jy6i4qlnxarbvcdk65fzv4";
   };
 
   enableParallelBuilding = true;
@@ -46,6 +43,7 @@ in mkDerivation rec {
       "--enable-perlinterp=dynamic"
       "--enable-rubyinterp=dynamic"
       "--enable-tclinterp=yes"
+      "--without-local-dir"
       "--with-luajit"
       "--with-lua-prefix=${luajit}"
       "--with-ruby-command=${ruby}/bin/ruby"
@@ -54,6 +52,8 @@ in mkDerivation rec {
       "--with-compiledby=Nix"
   ];
 
+  makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
+
   preConfigure = ''
     DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer
     configureFlagsArray+=(
diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch
index a789b9952d2..a42ebd4cc03 100644
--- a/pkgs/applications/editors/vim/macvim.patch
+++ b/pkgs/applications/editors/vim/macvim.patch
@@ -187,3 +187,36 @@ index bc9f074..9b9125e 100755
    # Use ||, not &&, to avoid exiting from the if with $? = 1, which
    # would make configure fail if this is the last instruction.
    $ac_cs_success || as_fn_exit 1
+
+diff --git a/src/Makefile b/src/Makefile
+index 1c4d104..fff2015 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1298,7 +1298,7 @@ MACVIMGUI_SRC	= gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
+ 		  MacVim/MacVim.m
+ MACVIMGUI_OBJ	= objects/gui.o objects/gui_beval.o objects/pty.o \
+ 		  objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
+-MACVIMGUI_DEFS	= -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
++MACVIMGUI_DEFS	= -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
+ MACVIMGUI_IPATH	=
+ MACVIMGUI_LIBS_DIR =
+ MACVIMGUI_LIBS1	= -framework Cocoa -framework Carbon
+
+diff --git a/src/if_python.c b/src/if_python.c
+index b356bf7..b7bfa78 100644
+--- a/src/if_python.c
++++ b/src/if_python.c
+@@ -55,11 +55,7 @@
+ 
+ #define PY_SSIZE_T_CLEAN
+ 
+-#ifdef FEAT_GUI_MACVIM
+-# include <Python/Python.h>
+-#else
+-# include <Python.h>
+-#endif
++#include <Python.h>
+ 
+ #if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000
+ # undef PY_SSIZE_T_CLEAN
+ MACVIMGUI_LIBS1	= -framework Cocoa -framework Carbon
diff --git a/pkgs/applications/editors/vim/qvim.nix b/pkgs/applications/editors/vim/qvim.nix
index 2357e23bf01..b9e3d668d62 100644
--- a/pkgs/applications/editors/vim/qvim.nix
+++ b/pkgs/applications/editors/vim/qvim.nix
@@ -1,22 +1,21 @@
 args@{...}: with args;
 
+let tag = "20140827";
+    sha256 = "02adf2212872db3c5d133642d2c12fbfc28b506e4c0c42552e3d079756f63f65";
+in
 
 let inherit (args.composableDerivation) composableDerivation edf; in
 composableDerivation {
-  # use gccApple to compile on darwin
-  mkDerivation = ( if stdenv.isDarwin
-                   then stdenvAdapters.overrideGCC stdenv gccApple
-                   else stdenv ).mkDerivation;
 } (fix: {
 
-    name = "qvim-7.4";
+    name = "qvim-7.4." + tag;
 
     enableParallelBuilding = true; # test this
 
     src = fetchgit {
       url = https://bitbucket.org/equalsraf/vim-qt.git ;
-      rev = "4160bfd5c1380e899d2f426b494fc4f1cf6ae85e";
-      sha256 = "1qa3xl1b9gqw66p71h53l7ibs4y3zfyj553jss70ybxaxchbhi5b";
+      rev = "refs/tags/package-" + tag;
+      inherit sha256;
     };
 
     # FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
@@ -119,7 +118,7 @@ composableDerivation {
   meta = with stdenv.lib; {
     description = "The most popular clone of the VI editor (Qt GUI fork)";
     homepage    = https://bitbucket.org/equalsraf/vim-qt/wiki/Home;
-    maintainers = with maintainers; [ smironov ];
+    maintainers = with maintainers; [ smironov ttuegel ];
     platforms   = platforms.linux;
   };
 })
diff --git a/pkgs/applications/editors/wxhexeditor/default.nix b/pkgs/applications/editors/wxhexeditor/default.nix
new file mode 100644
index 00000000000..de423987c02
--- /dev/null
+++ b/pkgs/applications/editors/wxhexeditor/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, wxGTK, autoconf, automake, libtool, python, gettext, bash }:
+
+stdenv.mkDerivation rec {
+  name = "wxHexEditor-${version}";
+  version = "v0.22";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/wxhexeditor/${name}-src.tar.bz2";
+    sha256 = "15ir038g4lyw1q5bsay974hvj0nkg2yd9kccwxz808cd45fp411w";
+  };
+
+  buildInputs = [ wxGTK autoconf automake libtool python gettext ];
+
+  patchPhase = ''
+    substituteInPlace Makefile --replace "/usr/local" "$out"
+    substituteInPlace Makefile --replace "mhash; ./configure" "mhash; ./configure --prefix=$out"
+    substituteInPlace udis86/autogen.sh --replace "/bin/bash" "${bash}/bin/bash"
+  '';
+
+  buildPhase = ''
+    make OPTFLAGS="-fopenmp"
+
+  '';
+
+  meta = {
+    description = "Hex Editor / Disk Editor for Huge Files or Devices";
+    longDescription = ''
+      This is not an ordinary hex editor, but could work as low level disk editor too.
+      If you have problems with your HDD or partition, you can recover your data from HDD or
+      from partition via editing sectors in raw hex.
+      You can edit your partition tables or you could recover files from File System by hand
+      with help of wxHexEditor.
+      Or you might want to analyze your big binary files, partitions, devices... If you need
+      a good reverse engineer tool like a good hex editor, you welcome.
+      wxHexEditor could edit HDD/SDD disk devices or partitions in raw up to exabyte sizes.
+    '';
+    homepage = "http://www.wxhexeditor.org/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix
deleted file mode 100644
index 2678f0a0048..00000000000
--- a/pkgs/applications/editors/yi/yi-contrib.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, filepath, lens, mtl, split, time, transformersBase, yi }:
-
-cabal.mkDerivation (self: {
-  pname = "yi-contrib";
-  version = "0.8.2";
-  sha256 = "17rbgrra1ghlywiraadf16n7igxp1k8jqqmb0iw8sc15y7825qqm";
-  buildDepends = [
-    filepath lens mtl split time transformersBase yi
-  ];
-  meta = {
-    homepage = "http://haskell.org/haskellwiki/Yi";
-    description = "Add-ons to Yi, the Haskell-Scriptable Editor";
-    license = "GPL";
-    broken = true;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
-  };
-})
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
new file mode 100644
index 00000000000..cf1ab25da03
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
@@ -0,0 +1,24 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to <http://unlicense.org>
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
new file mode 100644
index 00000000000..d9ffbb8e481
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
@@ -0,0 +1,17 @@
+name:           yi-custom
+version:        0.0.0.1
+category:       Yi
+synopsis:       Convenience wrapper for nix
+description:    Convenience wrapper for nix
+license:        PublicDomain
+license-file:   LICENSE
+author:         Mateusz Kowalczyk
+maintainer:     fuuzetsu@fuuzetsu.co.uk
+Cabal-Version:  >= 1.10
+build-type:     Simple
+
+library
+  hs-source-dirs: .
+  default-language: Haskell2010
+  build-depends: base, yi
+  ghc-options: -threaded
diff --git a/pkgs/applications/editors/yi/yi-custom.nix b/pkgs/applications/editors/yi/yi-custom.nix
new file mode 100644
index 00000000000..3dbd4611998
--- /dev/null
+++ b/pkgs/applications/editors/yi/yi-custom.nix
@@ -0,0 +1,40 @@
+# This is a manually-written expression over an in-tree cabal file.
+# It's awkward but this way allows the package user to pass in
+# extraPackages without much extra hassle on their end, similarly how
+# the XMonad service handles it: the difference is that we don't have
+# anything like XMONAD_GHC…
+#
+# The idea is that the user changes their configs using any libraries
+# he likes and then builds it using this expression. Once that's done,
+# ‘reload’ and similar functions should all work as long as the user
+# doesn't need new libraries at which point they should add them to
+# extraPackages and rebuild from the expression.
+{ cabal, yi, extraPackages, makeWrapper, ghcWithPackages }:
+let
+  w = ghcWithPackages (self: [ yi ] ++ extraPackages self);
+  wrappedGhc = w.override { ignoreCollisions = true; };
+in
+cabal.mkDerivation (self: rec {
+  pname = "yi-custom";
+  version = "0.0.0.1";
+  src = ./yi-custom-cabal;
+  isLibrary = true;
+  buildDepends = [ yi ];
+  buildTools = [ makeWrapper ];
+  noHaddock = true;
+  doCheck = false;
+
+  postInstall = ''
+    makeWrapper ${yi}/bin/yi $out/bin/yi \
+      --set NIX_GHC ${wrappedGhc}/bin/ghc \
+      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${self.ghc.version}
+  '';
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Yi";
+    description = "Wrapper over user-specified Haskell libraries for use in Yi config";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+
+})
\ No newline at end of file
diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix
index 9b9287a50f1..a63375adfd1 100644
--- a/pkgs/applications/editors/yi/yi.nix
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -1,65 +1,39 @@
-{ cabal, alex, binary, Cabal, cautiousFile, concreteTyperep
-, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree
-, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec
-, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe
-, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase
-, uniplate, unixCompat, unorderedContainers, utf8String, vty
-, xdgBasedir
-, withPango ? true
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-# User may need extra dependencies for their configuration file so we
-# want to specify it here to have them available when wrapping the
-# produced binary.
-, extraDepends ? [ ]
+{ cabal, binary, Cabal, cautiousFile, dataDefault, derive, dlist
+, dynamicState, dyre, exceptions, filepath, glib, gtk, hashable
+, hint, HUnit, lens, mtl, ooPrototypes, pango, parsec, pointedlist
+, QuickCheck, random, regexBase, regexTdfa, safe, semigroups, split
+, tagged, tasty, tastyHunit, tastyQuickcheck, text, time
+, transformersBase, unixCompat, unorderedContainers, utf8String
+, vty, wordTrie, xdgBasedir, yiLanguage, yiRope
 }:
 
 cabal.mkDerivation (self: {
   pname = "yi";
-  version = "0.8.2";
-  sha256 = "18rnyswsdzkh0jdcqfg8pr90mpm6xf11siv598svqkxg12d2qql9";
+  version = "0.11.1";
+  sha256 = "15m1wwrxmszl930az79lpgyz5rxg72gy8vi17ibpac1cszfdx192";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    binary Cabal cautiousFile concreteTyperep dataDefault derive Diff
-    dlist dyre filepath fingertree hashable hint lens mtl
-    parsec pointedlist QuickCheck random regexBase regexTdfa safe
-    split time transformersBase uniplate unixCompat unorderedContainers
-    utf8String vty xdgBasedir
-  ] ++ (if withPango then [ pango gtk glib ] else [ ]) ++ extraDepends;
+    binary Cabal cautiousFile dataDefault derive dlist dynamicState
+    dyre exceptions filepath glib gtk hashable hint lens mtl
+    ooPrototypes pango parsec pointedlist QuickCheck random regexBase
+    regexTdfa safe semigroups split tagged text time transformersBase
+    unixCompat unorderedContainers utf8String vty wordTrie xdgBasedir
+    yiLanguage yiRope
+  ];
   testDepends = [
-    filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck
+    filepath HUnit lens QuickCheck semigroups tasty tastyHunit
+    tastyQuickcheck text yiLanguage yiRope
   ];
-  buildTools = [ alex ];
-  configureFlags = if withPango then "-fpango" else "-f-pango";
-  doCheck = false;
-
-  # https://ghc.haskell.org/trac/ghc/ticket/9170
-  noHaddock = self.ghc.version == "7.6.3";
-
-  # Allows Yi to find the libraries it needs at runtime.
-  postInstall = ''
-    mv $out/bin/yi $out/bin/.yi-wrapped
-    cat - > $out/bin/yi <<EOF
-    #! ${self.stdenv.shell}
-    # Trailing : is necessary for it to pick up Prelude &c.
-    export GHC_PACKAGE_PATH=$(${self.ghc.GHCGetPackages} ${self.ghc.version} \
-                              | sed 's/-package-db\ //g' \
-                              | sed 's/^\ //g' \
-                              | sed 's/\ /:/g')\
-    :$out/lib/ghc-${self.ghc.version}/package.conf.d/yi-$version.installedconf:
-
-    eval exec $out/bin/.yi-wrapped "\$@"
-    EOF
-    chmod +x $out/bin/yi
-  '';
-
+  configureFlags = "-fpango -fvty";
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.8";
   meta = {
     homepage = "http://haskell.org/haskellwiki/Yi";
     description = "The Haskell-Scriptable Editor";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.fuuzetsu ];
-    broken = true;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
index 585a3a58d5f..e46cb66de56 100644
--- a/pkgs/applications/editors/zed/default.nix
+++ b/pkgs/applications/editors/zed/default.nix
@@ -1,19 +1,9 @@
-{ stdenv, buildEnv, fetchgit, xlibs, glib, gtk2, atk, pango, gdk_pixbuf,
-  cairo, freetype, fontconfig, nss, nspr, gnome, alsaLib, expat, dbus, udev,
-  makeWrapper, writeScript, fetchurl, zip, pkgs, node_webkit }:
+{ stdenv, buildEnv, fetchgit, makeWrapper, writeScript, fetchurl, zip, pkgs
+, node_webkit }:
 
 let
   name = "zed-${version}";
-  version = "0.12";
-
-  rpath_env = buildEnv {
-    name = "rpath_env";
-    paths = [ xlibs.libX11 xlibs.libXrender glib xlibs.libXtst gtk2 atk pango
-      gdk_pixbuf cairo freetype fontconfig xlibs.libXi xlibs.libXcomposite
-      nss nspr gnome.GConf xlibs.libXext xlibs.libXfixes alsaLib
-      xlibs.libXdamage expat dbus stdenv.gcc ];
-    pathsToLink = [ "/lib" "/lib64" ];
-  };
+  version = "1.0.0";
 
   # When upgrading node.nix / node packages:
   #   fetch package.json from Zed's repository
@@ -29,8 +19,10 @@ let
 
   node_env = buildEnv {
     name = "node_env";
-    paths = [ nodePackages.tar nodePackages.request ];
+    paths = [ nodePackages."body-parser" nodePackages.express
+      nodePackages.request nodePackages.tar nodePackages.ws ];
     pathsToLink = [ "/lib" ];
+    ignoreCollisions = true;
   };
 
   zed = stdenv.mkDerivation rec {
@@ -39,7 +31,7 @@ let
     src = fetchgit {
         url = "git://github.com/zedapp/zed";
         rev = "refs/tags/v${version}";
-        sha256 = "1l1adj4p916km626vxg1lv0bapzay4z5nq005pxsbjbcycrhds59";
+        sha256 = "1kdvj9mvdwm4cswqw6nn9j6kgqvs4d7vycpsmmfha9a2rkryw9zh";
       };
 
     buildInputs = [ makeWrapper zip ];
@@ -62,14 +54,7 @@ let
     '';
 
     postFixup = ''
-      patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/zed/zed-bin
-      patchelf --set-rpath "${rpath_env}/lib:${rpath_env}/lib64" $out/zed/zed-bin
-
-      mkdir -p $out/lib
-      ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0
-
       wrapProgram $out/zed/zed-bin \
-        --prefix LD_LIBRARY_PATH : $out/lib \
         --prefix NODE_PATH : ${node_env}/lib/node_modules
     '';
   };
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
index b4a7cec4269..cd75f2d58fa 100644
--- a/pkgs/applications/editors/zed/node.nix
+++ b/pkgs/applications/editors/zed/node.nix
@@ -1,6 +1,27 @@
 { self, fetchurl, fetchgit ? null, lib }:
 
 {
+  by-spec."accepts"."~1.1.0" =
+    self.by-version."accepts"."1.1.1";
+  by-version."accepts"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-accepts-1.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/accepts/-/accepts-1.1.1.tgz";
+        name = "accepts-1.1.1.tgz";
+        sha1 = "3b40bf6abc3fe3bc004534f4672ae1efd0063a96";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."accepts" or []);
+    deps = [
+      self.by-version."mime-types"."2.0.2"
+      self.by-version."negotiator"."0.4.8"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "accepts" ];
+  };
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
   by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
@@ -97,6 +118,34 @@
     ];
     passthru.names = [ "block-stream" ];
   };
+  by-spec."body-parser"."^1.6.3" =
+    self.by-version."body-parser"."1.9.0";
+  by-version."body-parser"."1.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-body-parser-1.9.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.9.0.tgz";
+        name = "body-parser-1.9.0.tgz";
+        sha1 = "95d72943b1a4f67f56bbac9e0dcc837b68703605";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."body-parser" or []);
+    deps = [
+      self.by-version."bytes"."1.0.0"
+      self.by-version."depd"."1.0.0"
+      self.by-version."iconv-lite"."0.4.4"
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."qs"."2.2.4"
+      self.by-version."raw-body"."1.3.0"
+      self.by-version."type-is"."1.5.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "body-parser" ];
+  };
+  "body-parser" = self.by-version."body-parser"."1.9.0";
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
   by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
@@ -117,6 +166,27 @@
     ];
     passthru.names = [ "boom" ];
   };
+  by-spec."bytes"."1" =
+    self.by-version."bytes"."1.0.0";
+  by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-bytes-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        name = "bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."bytes"."1.0.0" =
+    self.by-version."bytes"."1.0.0";
   by-spec."combined-stream"."~0.0.4" =
     self.by-version."combined-stream"."0.0.5";
   by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -137,6 +207,82 @@
     ];
     passthru.names = [ "combined-stream" ];
   };
+  by-spec."commander"."~2.1.0" =
+    self.by-version."commander"."2.1.0";
+  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-commander-2.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        name = "commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-0.1.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        name = "cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-cookie-signature-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+        name = "cookie-signature-1.0.5.tgz";
+        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."crc"."3.0.0" =
+    self.by-version."crc"."3.0.0";
+  by-version."crc"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-crc-3.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crc/-/crc-3.0.0.tgz";
+        name = "crc-3.0.0.tgz";
+        sha1 = "d11e97ec44a844e5eb15a74fa2c7875d0aac4b22";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crc" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "crc" ];
+  };
   by-spec."cryptiles"."0.2.x" =
     self.by-version."cryptiles"."0.2.2";
   by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
@@ -176,6 +322,26 @@
     ];
     passthru.names = [ "ctype" ];
   };
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-debug-2.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = [
+      self.by-version."ms"."0.6.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
   by-spec."delayed-stream"."0.0.5" =
     self.by-version."delayed-stream"."0.0.5";
   by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
@@ -195,6 +361,185 @@
     ];
     passthru.names = [ "delayed-stream" ];
   };
+  by-spec."depd"."0.4.5" =
+    self.by-version."depd"."0.4.5";
+  by-version."depd"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-depd-0.4.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/depd/-/depd-0.4.5.tgz";
+        name = "depd-0.4.5.tgz";
+        sha1 = "1a664b53388b4a6573e8ae67b5f767c693ca97f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."depd" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "depd" ];
+  };
+  by-spec."depd"."~1.0.0" =
+    self.by-version."depd"."1.0.0";
+  by-version."depd"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-depd-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/depd/-/depd-1.0.0.tgz";
+        name = "depd-1.0.0.tgz";
+        sha1 = "2fda0d00e98aae2845d4991ab1bf1f2a199073d5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."depd" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "depd" ];
+  };
+  by-spec."destroy"."1.0.3" =
+    self.by-version."destroy"."1.0.3";
+  by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-destroy-1.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        name = "destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."destroy" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "destroy" ];
+  };
+  by-spec."ee-first"."1.0.5" =
+    self.by-version."ee-first"."1.0.5";
+  by-version."ee-first"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ee-first-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+        name = "ee-first-1.0.5.tgz";
+        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ee-first" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ee-first" ];
+  };
+  by-spec."escape-html"."1.0.1" =
+    self.by-version."escape-html"."1.0.1";
+  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-escape-html-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        name = "escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."escape-html" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "escape-html" ];
+  };
+  by-spec."etag"."~1.4.0" =
+    self.by-version."etag"."1.4.0";
+  by-version."etag"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-etag-1.4.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/etag/-/etag-1.4.0.tgz";
+        name = "etag-1.4.0.tgz";
+        sha1 = "3050991615857707c04119d075ba2088e0701225";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."etag" or []);
+    deps = [
+      self.by-version."crc"."3.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "etag" ];
+  };
+  by-spec."express"."^4.8.3" =
+    self.by-version."express"."4.9.5";
+  by-version."express"."4.9.5" = lib.makeOverridable self.buildNodePackage {
+    name = "node-express-4.9.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/express/-/express-4.9.5.tgz";
+        name = "express-4.9.5.tgz";
+        sha1 = "7f62aa84ac8f5e96acfb98e2944dde0bf1cf8688";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."express" or []);
+    deps = [
+      self.by-version."accepts"."1.1.1"
+      self.by-version."cookie-signature"."1.0.5"
+      self.by-version."debug"."2.0.0"
+      self.by-version."depd"."0.4.5"
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."etag"."1.4.0"
+      self.by-version."finalhandler"."0.2.0"
+      self.by-version."fresh"."0.2.4"
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."methods"."1.1.0"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."parseurl"."1.3.0"
+      self.by-version."path-to-regexp"."0.1.3"
+      self.by-version."proxy-addr"."1.0.3"
+      self.by-version."qs"."2.2.4"
+      self.by-version."range-parser"."1.0.2"
+      self.by-version."send"."0.9.3"
+      self.by-version."serve-static"."1.6.3"
+      self.by-version."type-is"."1.5.2"
+      self.by-version."vary"."1.0.0"
+      self.by-version."cookie"."0.1.2"
+      self.by-version."merge-descriptors"."0.0.2"
+      self.by-version."utils-merge"."1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "express" ];
+  };
+  "express" = self.by-version."express"."4.9.5";
+  by-spec."finalhandler"."0.2.0" =
+    self.by-version."finalhandler"."0.2.0";
+  by-version."finalhandler"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-finalhandler-0.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.2.0.tgz";
+        name = "finalhandler-0.2.0.tgz";
+        sha1 = "794082424b17f6a4b2a0eda39f9db6948ee4be8d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."finalhandler" or []);
+    deps = [
+      self.by-version."debug"."2.0.0"
+      self.by-version."escape-html"."1.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "finalhandler" ];
+  };
   by-spec."forever-agent"."~0.5.0" =
     self.by-version."forever-agent"."0.5.2";
   by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
@@ -236,15 +581,53 @@
     ];
     passthru.names = [ "form-data" ];
   };
+  by-spec."forwarded"."~0.1.0" =
+    self.by-version."forwarded"."0.1.0";
+  by-version."forwarded"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-forwarded-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+        name = "forwarded-0.1.0.tgz";
+        sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."forwarded" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "forwarded" ];
+  };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fresh-0.2.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+        name = "fresh-0.2.4.tgz";
+        sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fresh" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "fresh" ];
+  };
   by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.29";
-  by-version."fstream"."0.1.29" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-0.1.29";
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "node-fstream-0.1.31";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.29.tgz";
-        name = "fstream-0.1.29.tgz";
-        sha1 = "34d04023ebc91a9df47bd31ab97e4704b4db413f";
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        name = "fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
       })
     ];
     buildInputs =
@@ -252,7 +635,7 @@
     deps = [
       self.by-version."graceful-fs"."3.0.2"
       self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mkdirp"."0.5.0"
       self.by-version."rimraf"."2.2.8"
     ];
     peerDependencies = [
@@ -342,6 +725,25 @@
     ];
     passthru.names = [ "http-signature" ];
   };
+  by-spec."iconv-lite"."0.4.4" =
+    self.by-version."iconv-lite"."0.4.4";
+  by-version."iconv-lite"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-iconv-lite-0.4.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+        name = "iconv-lite-0.4.4.tgz";
+        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."iconv-lite" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "iconv-lite" ];
+  };
   by-spec."inherits"."2" =
     self.by-version."inherits"."2.0.1";
   by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
@@ -363,6 +765,25 @@
   };
   by-spec."inherits"."~2.0.0" =
     self.by-version."inherits"."2.0.1";
+  by-spec."ipaddr.js"."0.1.3" =
+    self.by-version."ipaddr.js"."0.1.3";
+  by-version."ipaddr.js"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ipaddr.js-0.1.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.3.tgz";
+        name = "ipaddr.js-0.1.3.tgz";
+        sha1 = "27a9ca37f148d2102b0ef191ccbf2c51a8f025c6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ipaddr.js" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ipaddr.js" ];
+  };
   by-spec."json-stringify-safe"."~5.0.0" =
     self.by-version."json-stringify-safe"."5.0.0";
   by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
@@ -382,7 +803,64 @@
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  by-spec."mime"."~1.2.11" =
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-media-typer-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        name = "media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."media-typer" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "media-typer" ];
+  };
+  by-spec."merge-descriptors"."0.0.2" =
+    self.by-version."merge-descriptors"."0.0.2";
+  by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-merge-descriptors-0.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        name = "merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."merge-descriptors" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "merge-descriptors" ];
+  };
+  by-spec."methods"."1.1.0" =
+    self.by-version."methods"."1.1.0";
+  by-version."methods"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-methods-1.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+        name = "methods-1.1.0.tgz";
+        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  by-spec."mime"."1.2.11" =
     self.by-version."mime"."1.2.11";
   by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "node-mime-1.2.11";
@@ -401,27 +879,145 @@
     ];
     passthru.names = [ "mime" ];
   };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.9" =
     self.by-version."mime"."1.2.11";
-  by-spec."mkdirp"."0.3" =
-    self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.5";
+  by-spec."mime-db"."~1.1.0" =
+    self.by-version."mime-db"."1.1.0";
+  by-version."mime-db"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-db-1.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.1.0.tgz";
+        name = "mime-db-1.1.0.tgz";
+        sha1 = "4613f418ab995450bf4bda240cd0ab38016a07a9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-db" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-db" ];
+  };
+  by-spec."mime-types"."~2.0.2" =
+    self.by-version."mime-types"."2.0.2";
+  by-version."mime-types"."2.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-mime-types-2.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.2.tgz";
+        name = "mime-types-2.0.2.tgz";
+        sha1 = "c74b779f2896c367888622bd537aaaad4c0a2c08";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-types" or []);
+    deps = [
+      self.by-version."mime-db"."1.1.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-types" ];
+  };
+  by-spec."minimist"."0.0.8" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-minimist-0.0.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        name = "minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimist" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimist" ];
+  };
+  by-spec."mkdirp"."0.5" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        name = "mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+        name = "mkdirp-0.5.0.tgz";
+        sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
       })
     ];
     buildInputs =
       (self.nativeDeps."mkdirp" or []);
     deps = [
+      self.by-version."minimist"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-ms-0.6.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        name = "ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ms" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ms" ];
+  };
+  by-spec."nan"."~1.0.0" =
+    self.by-version."nan"."1.0.0";
+  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-nan-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+        name = "nan-1.0.0.tgz";
+        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nan" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "nan" ];
+  };
+  by-spec."negotiator"."0.4.8" =
+    self.by-version."negotiator"."0.4.8";
+  by-version."negotiator"."0.4.8" = lib.makeOverridable self.buildNodePackage {
+    name = "node-negotiator-0.4.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.8.tgz";
+        name = "negotiator-0.4.8.tgz";
+        sha1 = "96010b23b63c387f47a4bed96762a831cda39eab";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
   by-spec."node-uuid"."~1.4.0" =
     self.by-version."node-uuid"."1.4.1";
   by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
@@ -460,15 +1056,115 @@
     ];
     passthru.names = [ "oauth-sign" ];
   };
+  by-spec."on-finished"."2.1.0" =
+    self.by-version."on-finished"."2.1.0";
+  by-version."on-finished"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-on-finished-2.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+        name = "on-finished-2.1.0.tgz";
+        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."on-finished" or []);
+    deps = [
+      self.by-version."ee-first"."1.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "on-finished" ];
+  };
+  by-spec."on-finished"."~2.1.0" =
+    self.by-version."on-finished"."2.1.0";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.6";
+  by-version."options"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "node-options-0.0.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
+        name = "options-0.0.6.tgz";
+        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."options" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "options" ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-parseurl-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+        name = "parseurl-1.3.0.tgz";
+        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."parseurl" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "parseurl" ];
+  };
+  by-spec."path-to-regexp"."0.1.3" =
+    self.by-version."path-to-regexp"."0.1.3";
+  by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-path-to-regexp-0.1.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+        name = "path-to-regexp-0.1.3.tgz";
+        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."path-to-regexp" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "path-to-regexp" ];
+  };
+  by-spec."proxy-addr"."~1.0.3" =
+    self.by-version."proxy-addr"."1.0.3";
+  by-version."proxy-addr"."1.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-proxy-addr-1.0.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.3.tgz";
+        name = "proxy-addr-1.0.3.tgz";
+        sha1 = "17d824aac844707441249da6d1ea5e889007cdd6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."proxy-addr" or []);
+    deps = [
+      self.by-version."forwarded"."0.1.0"
+      self.by-version."ipaddr.js"."0.1.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "proxy-addr" ];
+  };
   by-spec."punycode".">=0.2.0" =
-    self.by-version."punycode"."1.3.0";
-  by-version."punycode"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.3.0";
+    self.by-version."punycode"."1.3.1";
+  by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-punycode-1.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.0.tgz";
-        name = "punycode-1.3.0.tgz";
-        sha1 = "7f5009ef539b9444be5c7a19abd2c3ca49e1731c";
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
+        name = "punycode-1.3.1.tgz";
+        sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
       })
     ];
     buildInputs =
@@ -479,6 +1175,25 @@
     ];
     passthru.names = [ "punycode" ];
   };
+  by-spec."qs"."2.2.4" =
+    self.by-version."qs"."2.2.4";
+  by-version."qs"."2.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "node-qs-2.2.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-2.2.4.tgz";
+        name = "qs-2.2.4.tgz";
+        sha1 = "2e9fbcd34b540e3421c924ecd01e90aa975319c8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
   by-spec."qs"."~0.6.0" =
     self.by-version."qs"."0.6.6";
   by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
@@ -498,6 +1213,46 @@
     ];
     passthru.names = [ "qs" ];
   };
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-range-parser-1.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+        name = "range-parser-1.0.2.tgz";
+        sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."range-parser" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "range-parser" ];
+  };
+  by-spec."raw-body"."1.3.0" =
+    self.by-version."raw-body"."1.3.0";
+  by-version."raw-body"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-raw-body-1.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+        name = "raw-body-1.3.0.tgz";
+        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."raw-body" or []);
+    deps = [
+      self.by-version."bytes"."1.0.0"
+      self.by-version."iconv-lite"."0.4.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "raw-body" ];
+  };
   by-spec."request"."~2.34.0" =
     self.by-version."request"."2.34.0";
   by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
@@ -549,6 +1304,58 @@
     ];
     passthru.names = [ "rimraf" ];
   };
+  by-spec."send"."0.9.3" =
+    self.by-version."send"."0.9.3";
+  by-version."send"."0.9.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-send-0.9.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/send/-/send-0.9.3.tgz";
+        name = "send-0.9.3.tgz";
+        sha1 = "b43a7414cd089b7fbec9b755246f7c37b7b85cc0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."send" or []);
+    deps = [
+      self.by-version."debug"."2.0.0"
+      self.by-version."depd"."0.4.5"
+      self.by-version."destroy"."1.0.3"
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."etag"."1.4.0"
+      self.by-version."fresh"."0.2.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."ms"."0.6.2"
+      self.by-version."on-finished"."2.1.0"
+      self.by-version."range-parser"."1.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "send" ];
+  };
+  by-spec."serve-static"."~1.6.3" =
+    self.by-version."serve-static"."1.6.3";
+  by-version."serve-static"."1.6.3" = lib.makeOverridable self.buildNodePackage {
+    name = "node-serve-static-1.6.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.3.tgz";
+        name = "serve-static-1.6.3.tgz";
+        sha1 = "b214235d4d4516db050ea9f7b429b46212e79132";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."serve-static" or []);
+    deps = [
+      self.by-version."escape-html"."1.0.1"
+      self.by-version."parseurl"."1.3.0"
+      self.by-version."send"."0.9.3"
+      self.by-version."utils-merge"."1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "serve-static" ];
+  };
   by-spec."sntp"."0.2.x" =
     self.by-version."sntp"."0.2.4";
   by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
@@ -584,7 +1391,7 @@
       (self.nativeDeps."tar" or []);
     deps = [
       self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.29"
+      self.by-version."fstream"."0.1.31"
       self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
@@ -592,6 +1399,25 @@
     passthru.names = [ "tar" ];
   };
   "tar" = self.by-version."tar"."0.1.20";
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-tinycolor-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        name = "tinycolor-0.0.1.tgz";
+        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tinycolor" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "tinycolor" ];
+  };
   by-spec."tough-cookie".">=0.12.0" =
     self.by-version."tough-cookie"."0.12.1";
   by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
@@ -606,7 +1432,7 @@
     buildInputs =
       (self.nativeDeps."tough-cookie" or []);
     deps = [
-      self.by-version."punycode"."1.3.0"
+      self.by-version."punycode"."1.3.1"
     ];
     peerDependencies = [
     ];
@@ -631,4 +1457,87 @@
     ];
     passthru.names = [ "tunnel-agent" ];
   };
+  by-spec."type-is"."~1.5.1" =
+    self.by-version."type-is"."1.5.2";
+  by-version."type-is"."1.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "node-type-is-1.5.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/type-is/-/type-is-1.5.2.tgz";
+        name = "type-is-1.5.2.tgz";
+        sha1 = "8291bbe845a904acfaffd05a41fdeb234bfa9e5f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."type-is" or []);
+    deps = [
+      self.by-version."media-typer"."0.3.0"
+      self.by-version."mime-types"."2.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "type-is" ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-utils-merge-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        name = "utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."utils-merge" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "utils-merge" ];
+  };
+  by-spec."vary"."~1.0.0" =
+    self.by-version."vary"."1.0.0";
+  by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-vary-1.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
+        name = "vary-1.0.0.tgz";
+        sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."vary" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "vary" ];
+  };
+  by-spec."ws"."~0.4.32" =
+    self.by-version."ws"."0.4.32";
+  by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
+    name = "ws-0.4.32";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+        name = "ws-0.4.32.tgz";
+        sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ws" or []);
+    deps = [
+      self.by-version."commander"."2.1.0"
+      self.by-version."nan"."1.0.0"
+      self.by-version."tinycolor"."0.0.1"
+      self.by-version."options"."0.0.6"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ws" ];
+  };
+  "ws" = self.by-version."ws"."0.4.32";
 }
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index 32d30cd4745..48839246600 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, ncurses, boehmgc, perl, help2man }:
+{ fetchurl, stdenv, pkgconfig, ncurses, boehmgc, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "zile-2.4.9";
+  name = "zile-2.4.11";
 
   src = fetchurl {
     url = "mirror://gnu/zile/${name}.tar.gz";
-    sha256 = "0j801c28ypm924rw3lqyb6khxyslg6ycrv16wmmwcam0mk3mj6f7";
+    sha256 = "1k593y1xzvlj52q0gyhcx2lllws4sg84b8r9pcginjb1vjypplhz";
   };
 
-  buildInputs = [ ncurses boehmgc ];
+  buildInputs = [ pkgconfig ncurses boehmgc ];
   nativeBuildInputs = [ help2man perl ];
 
   # `help2man' wants to run Zile, which fails when cross-compiling.
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   # XXX: Work around cross-compilation-unfriendly `gl_FUNC_FSTATAT' macro.
   preConfigure = "export gl_cv_func_fstatat_zero_flag=yes";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Lightweight Emacs clone";
 
     longDescription = ''
@@ -45,8 +45,10 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/zile/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    maintainers = [ ];
+    maintainers = with maintainers; [ pSub ];
+
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix
new file mode 100644
index 00000000000..8e36ec9b168
--- /dev/null
+++ b/pkgs/applications/gis/qgis/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, x11, sqlite, gsl,
+  pyqt4, qwt, fcgi, pythonPackages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "qgis-2.6.1";
+
+  buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt qscintilla
+    fcgi libspatialindex libspatialite postgresql ] ++
+    (with pythonPackages; [ numpy psycopg2 ]);
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+
+  # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
+  #enableParallelBuilding = true;
+
+  # To handle the lack of 'local' RPATH; required, as they call one of
+  # their built binaries requiring their libs, in the build process.
+  preBuild = ''
+    export LD_LIBRARY_PATH=`pwd`/output/lib:$LD_LIBRARY_PATH
+  '';
+
+  src = fetchurl {
+    url = "http://qgis.org/downloads/${name}.tar.bz2";
+    sha256 = "1avw9mnhrcxsdalqr2yhyif1cacl4dsgcpfc31axkv7vj401djnl";
+  };
+
+  postInstall = ''
+    wrapProgram $out/bin/qgis \
+      --prefix PYTHONPATH : $PYTHONPATH
+  '';
+
+  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];
+  };
+}
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
new file mode 100644
index 00000000000..bb31b24bf5e
--- /dev/null
+++ b/pkgs/applications/gis/saga/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma, jasper,
+  libharu, opencv, vigra, postgresql }:
+
+stdenv.mkDerivation rec {
+  name = "saga-2.1.4";
+
+  buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ];
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+    url = "http://sourceforge.net/projects/saga-gis/files/SAGA%20-%202.1/SAGA%202.1.4/saga_2.1.4.tar.gz";
+    sha256 = "694e4102f592f512c635328c40fdeff33493f74698d9466bb654baf3247e7b76";
+  };
+
+  meta = {
+    description = "System for Automated Geoscientific Analyses";
+    homepage = http://www.saga-gis.org;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.michelk ];
+    platforms = ["x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 64b1f5b3b2c..7ae24b38c01 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -1,54 +1,95 @@
-{ stdenv
-, fetchurl
-, pkgconfig
-, bzip2
-, fontconfig
-, freetype
-, ghostscript ? null
-, libjpeg
-, libpng
-, libtiff
-, libxml2
-, zlib
-, libtool
-, jasper
-, libX11
-, tetex ? null
-, librsvg ? null
+{ stdenv, fetchurl, pkgconfig, libtool
+, libcl ? null, perl ? null, jemalloc ? null, bzip2 ? null, zlib ? null
+, libX11 ? null, libXext ? null, libXt ? null, dejavu_fonts ? null, fftw ? null
+, libfpx ? null, djvulibre ? null, fontconfig ? null, freetype ? null
+, ghostscript ? null, graphviz ? null, jbigkit ? null, libjpeg ? null
+, lcms2 ? null, openjpeg ? null, liblqr1 ? null, xz ? null, openexr ? null
+, pango ? null, libpng ? null, librsvg ? null, libtiff ? null, libwebp ? null
+, libxml2 ? null
 }:
 
 let
-  version = "6.8.9-0";
+
+  version = "6.9.1-0";
+
+  arch =
+    if stdenv.system == "i686-linux" then "i686"
+    else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
+    else throw "ImageMagick is not supported on this platform.";
+
+  mkFlag = trueStr: falseStr: cond: val: "--${if cond then trueStr else falseStr}-${val}";
+  mkWith = mkFlag "with" "without";
+  mkEnable = mkFlag "enable" "disable";
+
+  hasX11 = libX11 != null && libXext != null && libXt != null;
+
 in
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "ImageMagick-${version}";
+  name = "imagemagick-${version}";
 
   src = fetchurl {
-    url = "mirror://imagemagick/${name}.tar.xz";
-    sha256 = "1lapn2798fkc2wn81slpms5p21kq4dsyg45khsk7n8p69cvrmw2b";
+    url = "mirror://imagemagick/releases/ImageMagick-${version}.tar.xz";
+    sha256 = "03lvj6rxv16xk0dpsbzvm2gq5bggkwff9wqbpkq0znihzijpax1j";
   };
 
   enableParallelBuilding = true;
 
-  preConfigure = if tetex != null then
-    ''
-      export DVIDecodeDelegate=${tetex}/bin/dvips
-    '' else "";
-
-  configureFlags = "" + stdenv.lib.optionalString (stdenv.system != "x86_64-darwin") ''
-    --with-gs-font-dir=${ghostscript}/share/ghostscript/fonts
-    --with-gslib
-  '' + ''
-    --with-frozenpaths
-    ${if librsvg != null then "--with-rsvg" else ""}
-  '';
+  configureFlags = [
+    (mkEnable (libcl != null)        "opencl")
+    (mkWith   true                   "modules")
+    (mkWith   true                   "gcc-arch=${arch}")
+    #(mkEnable true                   "hdri") This breaks some dependencies
+    (mkWith   (perl != null)         "perl")
+    (mkWith   (jemalloc != null)     "jemalloc")
+    (mkWith   true                   "frozenpaths")
+    (mkWith   (bzip2 != null)        "bzlib")
+    (mkWith   hasX11                 "x")
+    (mkWith   (zlib != null)         "zlib")
+    (mkWith   false                  "dps")
+    (mkWith   (fftw != null)         "fftw")
+    (mkWith   (libfpx != null)       "fpx")
+    (mkWith   (djvulibre != null)    "djvu")
+    (mkWith   (fontconfig != null)   "fontconfig")
+    (mkWith   (freetype != null)     "freetype")
+    (mkWith   (ghostscript != null)  "gslib")
+    (mkWith   (graphviz != null)     "gvc")
+    (mkWith   (jbigkit != null)      "jbig")
+    (mkWith   (libjpeg != null)      "jpeg")
+    (mkWith   (lcms2 != null)        "lcms2")
+    (mkWith   false                  "lcms")
+    (mkWith   (openjpeg != null)     "openjp2")
+    (mkWith   (liblqr1 != null)      "lqr")
+    (mkWith   (xz != null)           "lzma")
+    (mkWith   (openexr != null)      "openexr")
+    (mkWith   (pango != null)        "pango")
+    (mkWith   (libpng != null)       "png")
+    (mkWith   (librsvg != null)      "rsvg")
+    (mkWith   (libtiff != null)      "tiff")
+    (mkWith   (libwebp != null)      "webp")
+    (mkWith   (libxml2 != null)      "xml")
+  ] ++ optional (dejavu_fonts != null) "--with-dejavu-font-dir=${dejavu_fonts}/share/fonts/truetype/"
+    ++ optional (ghostscript != null) "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts/";
 
-  propagatedBuildInputs =
-    [ bzip2 fontconfig freetype libjpeg libpng libtiff libxml2 zlib librsvg
-      libtool jasper libX11
-    ] ++ stdenv.lib.optional (stdenv.system != "x86_64-darwin") ghostscript;
+  buildInputs = [
+    pkgconfig libtool libcl perl jemalloc bzip2 zlib libX11 libXext libXt fftw
+    libfpx djvulibre fontconfig freetype ghostscript graphviz jbigkit libjpeg
+    lcms2 openjpeg liblqr1 xz openexr pango libpng librsvg libtiff libwebp
+    libxml2
+  ];
 
-  buildInputs = [ tetex pkgconfig ];
+  propagatedBuildInputs = []
+    ++ (stdenv.lib.optional (lcms2 != null) lcms2)
+    ++ (stdenv.lib.optional (liblqr1 != null) liblqr1)
+    ++ (stdenv.lib.optional (fftw != null) fftw)
+    ++ (stdenv.lib.optional (libtool != null) libtool)
+    ++ (stdenv.lib.optional (jemalloc != null) jemalloc)
+    ++ (stdenv.lib.optional (libXext != null) libXext)
+    ++ (stdenv.lib.optional (libX11 != null) libX11)
+    ++ (stdenv.lib.optional (libXt != null) libXt)
+    ++ (stdenv.lib.optional (bzip2 != null) bzip2)
+    ;
 
   postInstall = ''(cd "$out/include" && ln -s ImageMagick* ImageMagick)'';
 
@@ -56,6 +97,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.imagemagick.org/;
     description = "A software suite to create, edit, compose, or convert bitmap images";
     platforms = platforms.linux ++ [ "x86_64-darwin" ];
-    maintainers = with maintainers; [ the-kenny ];
+    maintainers = with maintainers; [ the-kenny wkennington ];
   };
 }
diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix
index 3e01dc7b2db..17bf7d54670 100644
--- a/pkgs/applications/graphics/PythonMagick/default.nix
+++ b/pkgs/applications/graphics/PythonMagick/default.nix
@@ -1,11 +1,17 @@
 {stdenv, fetchurl, python, boost, pkgconfig, imagemagick}:
 
-stdenv.mkDerivation {
-  name = "PythonMagick-0.7";
+let
+
+  version = "0.9.11";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "pythonmagick-${version}";
 
   src = fetchurl {
-    url = http://www.imagemagick.org/download/python/PythonMagick-0.7.tar.gz;
-    sha256 = "1553kyzdcysii2qhbpbgs0icmfpm6s2lp3zchgs73cxfnfym8lz1";
+    url = "http://www.imagemagick.org/download/python/releases/PythonMagick-${version}.tar.gz";
+    sha256 = "01z01mlqkk0lvrh2jsmf84qjw29sq4rpj0653x7nqy7mrszwwp2v";
   };
 
   buildInputs = [python boost pkgconfig imagemagick];
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
new file mode 100644
index 00000000000..c2f963f001b
--- /dev/null
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit, cmake, python, libX11, qt4 }:
+
+stdenv.mkDerivation {
+  name = "apitrace-09519af205";
+
+  src = fetchgit {
+    url = git://github.com/apitrace/apitrace.git;
+    rev = "09519af2056879ce0ea59f7085ac4b282c7d01d0";
+    sha256 = "1ka34fhl85k90r7kvp89awlqb6prkbqx0kg1whb3535rnvficxdv";
+  };
+
+  buildInputs = [ cmake python libX11 qt4 ];
+
+  buildPhase = ''
+    cmake
+    make
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://apitrace.github.io;
+    description = "A set of tools to trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
index 41a4b102a6f..f1ca27eed80 100644
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ b/pkgs/applications/graphics/cinepaint/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.cinepaint.org/;
-    license = "free";
+    license = stdenv.lib.licenses.free;
     description = "Image editor which supports images over 8bpp and ICC profiles";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index c4e2a7534af..8aefbb9429c 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -9,12 +9,12 @@
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "1.4.2";
+  version = "1.6.3";
   name = "darktable-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz";
-    sha256 = "02875rnabw5m9aqfls59901889iyxkmm4xk445fvh1v06dp1lcf1";
+    url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
+    sha256 = "13gj5z9dz1847wlbn2cqpkvr64ds8yrn5hacs5wvbqmh0z9v6aw5";
   };
 
   buildInputs =
@@ -46,9 +46,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Virtual lighttable and darkroom for photographers";
-    homepage = http://darktable.sourceforge.net;
+    homepage = http://www.darktable.org;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu maintainers.rickynils ];
+    maintainers = [ maintainers.goibhniu maintainers.rickynils maintainers.flosse ];
   };
 }
diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix
index da683888063..6200048c41d 100644
--- a/pkgs/applications/graphics/dia/default.nix
+++ b/pkgs/applications/graphics/dia/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, fetchurlGnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
+{stdenv, fetchurl, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
 , python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl
 , withGNOME ? false, libgnomeui }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "dia-${minVer}.3";
+  minVer = "0.97";
 
-  src = fetchurlGnome {
-    project = "dia";
-    major = "0"; minor = "97"; patchlevel = "2"; extension = "xz";
-    sha256 = "1qgawm7rrf4wd1yc0fp39ywv8gbz4ry1s16k00dzg5w6p67lfqd7";
+  src = fetchurl {
+    url = "mirror://gnome/sources/dia/${minVer}/${name}.tar.xz";
+    sha256 = "0d3x6w0l6fwd0l8xx06y1h56xf8ss31yzia3a6xr9y28xx44x492";
   };
 
   correctPersistence = fetchurl {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = stdenv.lib.optionalString withGNOME "--enable-gnome";
 
-  patches = [ ./glib-top-level-header.patch ];
+  patches = [ ];
 
   # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
   # It have no reasons to exist in a redistribuable package
diff --git a/pkgs/applications/graphics/dia/glib-top-level-header.patch b/pkgs/applications/graphics/dia/glib-top-level-header.patch
deleted file mode 100644
index 80460ae9d72..00000000000
--- a/pkgs/applications/graphics/dia/glib-top-level-header.patch
+++ /dev/null
@@ -1,471 +0,0 @@
-diff -Naur dia-0.97.2-orig/app/app_procs.c dia-0.97.2/app/app_procs.c
---- dia-0.97.2-orig/app/app_procs.c	2011-03-20 07:18:13.000000000 -0400
-+++ dia-0.97.2/app/app_procs.c	2012-07-15 10:49:08.192726306 -0400
-@@ -50,7 +50,7 @@
- #include <libxml/parser.h>
- #include <libxml/xmlerror.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "app_procs.h"
-diff -Naur dia-0.97.2-orig/app/dia-win-remote.c dia-0.97.2/app/dia-win-remote.c
---- dia-0.97.2-orig/app/dia-win-remote.c	2010-08-03 11:35:35.000000000 -0400
-+++ dia-0.97.2/app/dia-win-remote.c	2012-07-15 10:49:08.159726316 -0400
-@@ -35,7 +35,7 @@
- #include <shellapi.h>
- #include <Shlwapi.h>
- #include <glib.h>
--#include <glib/gprintf.h>
-+#include <glib.h>
- 
- /**
-  * PROTOTYPES:
-diff -Naur dia-0.97.2-orig/app/filedlg.c dia-0.97.2/app/filedlg.c
---- dia-0.97.2-orig/app/filedlg.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/app/filedlg.c	2012-07-15 10:49:08.227726294 -0400
-@@ -28,7 +28,7 @@
- #include <unistd.h>
- #endif
- #include <stdio.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #undef GTK_DISABLE_DEPRECATED /* gtk_file_chooser_dialog_new_with_backend */
- #include <gtk/gtk.h>
-diff -Naur dia-0.97.2-orig/app/load_save.c dia-0.97.2/app/load_save.c
---- dia-0.97.2-orig/app/load_save.c	2011-09-25 07:55:11.000000000 -0400
-+++ dia-0.97.2/app/load_save.c	2012-07-15 10:49:08.203726303 -0400
-@@ -30,7 +30,7 @@
- #include <string.h>
- 
- #include <glib.h>
--#include <glib/gstdio.h> /* g_access() and friends */
-+#include <glib.h> /* g_access() and friends */
- #include <errno.h>
- 
- #ifndef W_OK
-diff -Naur dia-0.97.2-orig/app/sheets_dialog_callbacks.c dia-0.97.2/app/sheets_dialog_callbacks.c
---- dia-0.97.2-orig/app/sheets_dialog_callbacks.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/app/sheets_dialog_callbacks.c	2012-07-15 10:49:08.201726302 -0400
-@@ -44,7 +44,7 @@
- #endif
- #endif
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- #include <gmodule.h>
- 
- #undef GTK_DISABLE_DEPRECATED /* GtkOptionMenu */
-diff -Naur dia-0.97.2-orig/ChangeLog.pre-git dia-0.97.2/ChangeLog.pre-git
---- dia-0.97.2-orig/ChangeLog.pre-git	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/ChangeLog.pre-git	2012-07-15 10:49:08.384726247 -0400
-@@ -4137,7 +4137,7 @@
- 	  plug-ins/vdx/vdx-export.c plug-ins/vdx/vdx-import.c 
- 	  plug-ins/wmf/wmf.cpp plug-ins/wpg/wpg.c 
- 	  plug-ins/xfig/xfig-export.c plug-ins/xfig/xfig-import.c
--	  plug-ins/xslt/xslt.c : use <glib/gstdio.h> to match GLib's filename
-+	  plug-ins/xslt/xslt.c : use <glib.h> to match GLib's filename
- 	encoding to the io functions used, that is: g_open, g_fopen, g_stat, 
- 	g_unlink, g_mkdir, g_rename (, g_access, g_lstat, g_remove, g_freopen, 
- 	g_chdir, g_rmdir). Also replace gzopen() with gzdopen(g_open(), ...)
-@@ -5995,7 +5995,7 @@
- 	Also special case strings starting with \tex - i.e. dont escape them -
- 	to keep the use-case of direct tex input.
- 	
--	* lib/debug.c : #include <glib/gprintf.h> not just <gprintf.h>
-+	* lib/debug.c : #include <glib.h>
- 
- 
- 2006-01-14  Hans Breuer  <hans@breuer.org>
-@@ -6207,7 +6207,7 @@
- 	* lib/makefile.msc : build debug.obj
- 
- 	* plug-ins/makefile.msc : building pgf in the right alphabetical order
--	* plug-ins/pgf/render_pgf.c : include <glib/gprintf.h>
-+	* plug-ins/pgf/render_pgf.c : include <glib.h>
- 	
- 2005-12-08  Lars Clausen  <lars@raeder.dk>
- 
-diff -Naur dia-0.97.2-orig/lib/debug.c dia-0.97.2/lib/debug.c
---- dia-0.97.2-orig/lib/debug.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/lib/debug.c	2012-07-15 10:49:06.813726730 -0400
-@@ -21,7 +21,7 @@
- #include <config.h>
- 
- #include <stdio.h>
--#include <glib/gprintf.h>
-+#include <glib.h>
- #include <stdarg.h>
- 
- #include "debug.h"
-diff -Naur dia-0.97.2-orig/lib/dia_dirs.c dia-0.97.2/lib/dia_dirs.c
---- dia-0.97.2-orig/lib/dia_dirs.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/lib/dia_dirs.c	2012-07-15 10:49:06.740726750 -0400
-@@ -30,7 +30,7 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #endif
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- /** Get the name of a subdirectory of our data directory.
-  *  This function does not create the subdirectory, just make the correct name.
-diff -Naur dia-0.97.2-orig/lib/dia_xml.c dia-0.97.2/lib/dia_xml.c
---- dia-0.97.2-orig/lib/dia_xml.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/lib/dia_xml.c	2012-07-15 10:49:06.770726743 -0400
-@@ -25,7 +25,7 @@
- #include <fcntl.h>
- 
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include <libxml/parser.h>
- #include <libxml/parserInternals.h>
-diff -Naur dia-0.97.2-orig/objects/custom/shape_typeinfo.c dia-0.97.2/objects/custom/shape_typeinfo.c
---- dia-0.97.2-orig/objects/custom/shape_typeinfo.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/objects/custom/shape_typeinfo.c	2012-07-15 10:49:06.639726783 -0400
-@@ -27,8 +27,8 @@
- #include "custom_util.h"
- #include <string.h>
- #include <stdarg.h>
--#include <glib/gstrfuncs.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
-+#include <glib.h>
- #include <libxml/parser.h>
- 
- /*
-diff -Naur dia-0.97.2-orig/objects/SISSI/sissi.c dia-0.97.2/objects/SISSI/sissi.c
---- dia-0.97.2-orig/objects/SISSI/sissi.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/objects/SISSI/sissi.c	2012-07-15 10:49:06.570726804 -0400
-@@ -42,7 +42,7 @@
- #include "dia_xml_libxml.h"
- 
- #include <string.h>
--#include <glib/gprintf.h>
-+#include <glib.h>
- 
- #define DEFAULT_WIDTH  1.0
- #define DEFAULT_HEIGHT 1.0
-diff -Naur dia-0.97.2-orig/objects/standard/image.c dia-0.97.2/objects/standard/image.c
---- dia-0.97.2-orig/objects/standard/image.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/objects/standard/image.c	2012-07-15 10:49:06.683726770 -0400
-@@ -25,7 +25,7 @@
- #ifdef HAVE_UNIST_H
- #include <unistd.h>
- #endif
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo.c dia-0.97.2/plug-ins/cairo/diacairo.c
---- dia-0.97.2-orig/plug-ins/cairo/diacairo.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/cairo/diacairo.c	2012-07-15 10:49:06.433726846 -0400
-@@ -28,7 +28,7 @@
- #include <errno.h>
- #define G_LOG_DOMAIN "DiaCairo"
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- /*
-  * To me the following looks rather suspicious. Why do we need to compile
-diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c dia-0.97.2/plug-ins/cairo/diacairo-renderer.c
---- dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c	2011-01-07 06:54:21.000000000 -0500
-+++ dia-0.97.2/plug-ins/cairo/diacairo-renderer.c	2012-07-15 10:49:06.435726846 -0400
-@@ -28,7 +28,7 @@
- #include <errno.h>
- #define G_LOG_DOMAIN "DiaCairo"
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #ifdef HAVE_PANGOCAIRO_H
- #include <pango/pangocairo.h>
-diff -Naur dia-0.97.2-orig/plug-ins/cgm/cgm.c dia-0.97.2/plug-ins/cgm/cgm.c
---- dia-0.97.2-orig/plug-ins/cgm/cgm.c	2009-12-27 11:22:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/cgm/cgm.c	2012-07-15 10:49:06.425726846 -0400
-@@ -31,7 +31,7 @@
- #include <glib.h>
- #include <errno.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/drs/dia-render-script.c dia-0.97.2/plug-ins/drs/dia-render-script.c
---- dia-0.97.2-orig/plug-ins/drs/dia-render-script.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/drs/dia-render-script.c	2012-07-15 10:49:06.427726848 -0400
-@@ -54,7 +54,7 @@
- 
- #define G_LOG_DOMAIN "DiaRenderScript"
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "filter.h"
-diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-export.c dia-0.97.2/plug-ins/dxf/dxf-export.c
---- dia-0.97.2-orig/plug-ins/dxf/dxf-export.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/dxf/dxf-export.c	2012-07-15 10:49:06.421726850 -0400
-@@ -29,7 +29,7 @@
- #include <math.h>
- #include <glib.h>
- #include <errno.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "autocad_pal.h"
- 
-diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-import.c dia-0.97.2/plug-ins/dxf/dxf-import.c
---- dia-0.97.2-orig/plug-ins/dxf/dxf-import.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/dxf/dxf-import.c	2012-07-15 10:49:06.419726851 -0400
-@@ -30,7 +30,7 @@
- #include <string.h>
- #include <math.h>
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/hpgl/hpgl.c dia-0.97.2/plug-ins/hpgl/hpgl.c
---- dia-0.97.2-orig/plug-ins/hpgl/hpgl.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/hpgl/hpgl.c	2012-07-15 10:49:06.487726830 -0400
-@@ -37,7 +37,7 @@
- #include <errno.h>
- 
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/libart/export_png.c dia-0.97.2/plug-ins/libart/export_png.c
---- dia-0.97.2-orig/plug-ins/libart/export_png.c	2011-07-03 06:56:08.000000000 -0400
-+++ dia-0.97.2/plug-ins/libart/export_png.c	2012-07-15 10:49:06.415726849 -0400
-@@ -29,7 +29,7 @@
- #include <errno.h>
- #include <stdlib.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- #include <gtk/gtk.h>
- 
- #include "intl.h"
-diff -Naur dia-0.97.2-orig/plug-ins/metapost/render_metapost.c dia-0.97.2/plug-ins/metapost/render_metapost.c
---- dia-0.97.2-orig/plug-ins/metapost/render_metapost.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/metapost/render_metapost.c	2012-07-15 10:49:06.396726857 -0400
-@@ -43,7 +43,7 @@
- #endif
- #include <errno.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "render_metapost.h"
-diff -Naur dia-0.97.2-orig/plug-ins/pgf/render_pgf.c dia-0.97.2/plug-ins/pgf/render_pgf.c
---- dia-0.97.2-orig/plug-ins/pgf/render_pgf.c	2011-01-07 07:11:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/pgf/render_pgf.c	2012-07-15 10:49:06.445726842 -0400
-@@ -61,8 +61,8 @@
- #endif
- #include <errno.h>
- 
--#include <glib/gprintf.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "render_pgf.h"
-diff -Naur dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c dia-0.97.2/plug-ins/postscript/paginate_psprint.c
---- dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/postscript/paginate_psprint.c	2012-07-15 10:49:06.451726838 -0400
-@@ -31,7 +31,7 @@
- #include <errno.h>
- #include <sys/stat.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/postscript/render_eps.c dia-0.97.2/plug-ins/postscript/render_eps.c
---- dia-0.97.2-orig/plug-ins/postscript/render_eps.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/postscript/render_eps.c	2012-07-15 10:49:06.451726838 -0400
-@@ -55,7 +55,7 @@
- #include <locale.h>
- #include <errno.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "render_eps.h"
-diff -Naur dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c dia-0.97.2/plug-ins/pstricks/render_pstricks.c
---- dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c	2011-01-07 07:11:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/pstricks/render_pstricks.c	2012-07-15 10:49:06.410726853 -0400
-@@ -50,7 +50,7 @@
- #endif
- #include <errno.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "render_pstricks.h"
-diff -Naur dia-0.97.2-orig/plug-ins/python/pydia-render.c dia-0.97.2/plug-ins/python/pydia-render.c
---- dia-0.97.2-orig/plug-ins/python/pydia-render.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/python/pydia-render.c	2012-07-15 10:49:06.503726822 -0400
-@@ -21,7 +21,7 @@
- 
- #include <Python.h>
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include <locale.h>
- 
-diff -Naur dia-0.97.2-orig/plug-ins/shape/shape-export.c dia-0.97.2/plug-ins/shape/shape-export.c
---- dia-0.97.2-orig/plug-ins/shape/shape-export.c	2009-11-08 06:14:56.000000000 -0500
-+++ dia-0.97.2/plug-ins/shape/shape-export.c	2012-07-15 10:49:06.489726827 -0400
-@@ -40,7 +40,7 @@
- #include <unistd.h>
- #endif
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- /* the dots per centimetre to render this diagram at */
- /* this matches the setting `100%' setting in dia. */
-diff -Naur dia-0.97.2-orig/plug-ins/svg/render_svg.c dia-0.97.2/plug-ins/svg/render_svg.c
---- dia-0.97.2-orig/plug-ins/svg/render_svg.c	2011-12-17 11:30:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/svg/render_svg.c	2012-07-15 10:49:06.392726859 -0400
-@@ -30,7 +30,7 @@
- #endif
- 
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include <libxml/entities.h>
- #include <libxml/tree.h>
-diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-export.c dia-0.97.2/plug-ins/vdx/vdx-export.c
---- dia-0.97.2-orig/plug-ins/vdx/vdx-export.c	2009-12-27 11:22:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/vdx/vdx-export.c	2012-07-15 10:55:17.066579728 -0400
-@@ -32,11 +32,12 @@
- 
- #include <string.h>
- #include <math.h>
-+#include <sys/stat.h>
- #include <glib.h>
- #include <stdlib.h>
- #include <errno.h>
- #include <locale.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-import.c dia-0.97.2/plug-ins/vdx/vdx-import.c
---- dia-0.97.2-orig/plug-ins/vdx/vdx-import.c	2009-12-27 11:22:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/vdx/vdx-import.c	2012-07-15 10:49:06.466726836 -0400
-@@ -28,7 +28,7 @@
- #include <string.h>
- #include <math.h>
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- #include <stdlib.h>
- #include <ctype.h>
- #include <libxml/tree.h>
-diff -Naur dia-0.97.2-orig/plug-ins/wmf/wmf.cpp dia-0.97.2/plug-ins/wmf/wmf.cpp
---- dia-0.97.2-orig/plug-ins/wmf/wmf.cpp	2011-03-13 09:07:48.000000000 -0400
-+++ dia-0.97.2/plug-ins/wmf/wmf.cpp	2012-07-15 10:49:06.482726831 -0400
-@@ -25,7 +25,7 @@
- #include <string.h>
- #include <math.h>
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/wpg/wpg.c dia-0.97.2/plug-ins/wpg/wpg.c
---- dia-0.97.2-orig/plug-ins/wpg/wpg.c	2009-11-07 09:28:34.000000000 -0500
-+++ dia-0.97.2/plug-ins/wpg/wpg.c	2012-07-15 10:49:06.406726855 -0400
-@@ -40,7 +40,7 @@
- #include <errno.h>
- 
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-export.c dia-0.97.2/plug-ins/xfig/xfig-export.c
---- dia-0.97.2-orig/plug-ins/xfig/xfig-export.c	2011-12-17 11:30:38.000000000 -0500
-+++ dia-0.97.2/plug-ins/xfig/xfig-export.c	2012-07-15 10:49:06.400726856 -0400
-@@ -16,7 +16,7 @@
- #include <locale.h>
- 
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-import.c dia-0.97.2/plug-ins/xfig/xfig-import.c
---- dia-0.97.2-orig/plug-ins/xfig/xfig-import.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/xfig/xfig-import.c	2012-07-15 10:49:06.402726853 -0400
-@@ -40,7 +40,7 @@
- #include <locale.h>
- 
- #include <glib.h>
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "intl.h"
- #include "message.h"
-diff -Naur dia-0.97.2-orig/plug-ins/xslt/xslt.c dia-0.97.2/plug-ins/xslt/xslt.c
---- dia-0.97.2-orig/plug-ins/xslt/xslt.c	2009-11-07 12:13:53.000000000 -0500
-+++ dia-0.97.2/plug-ins/xslt/xslt.c	2012-07-15 10:49:06.440726844 -0400
-@@ -27,7 +27,7 @@
- #include <string.h>
- #include <errno.h>
- 
--#include <glib/gstdio.h>
-+#include <glib.h>
- 
- #include "filter.h"
- #include "intl.h"
-diff -Naur dia-0.97.2-orig/tests/test-boundingbox.c dia-0.97.2/tests/test-boundingbox.c
---- dia-0.97.2-orig/tests/test-boundingbox.c	2009-11-07 09:28:35.000000000 -0500
-+++ dia-0.97.2/tests/test-boundingbox.c	2012-07-15 10:49:06.986726677 -0400
-@@ -29,7 +29,7 @@
- #include <glib-object.h>
- 
- #if GLIB_CHECK_VERSION(2,16,0)
--#include <glib/gtestutils.h>
-+#include <glib.h>
- #endif
- #include "dialib.h"
- 
-diff -Naur dia-0.97.2-orig/tests/test-objects.c dia-0.97.2/tests/test-objects.c
---- dia-0.97.2-orig/tests/test-objects.c	2009-11-07 09:28:35.000000000 -0500
-+++ dia-0.97.2/tests/test-objects.c	2012-07-15 10:49:06.985726677 -0400
-@@ -29,7 +29,7 @@
- #include <glib-object.h>
- 
- #if GLIB_CHECK_VERSION(2,16,0)
--#include <glib/gtestutils.h>
-+#include <glib.h>
- #endif
- 
- #include "object.h"
diff --git a/pkgs/applications/graphics/digikam/2.nix b/pkgs/applications/graphics/digikam/2.nix
index be991772d39..c239827633f 100644
--- a/pkgs/applications/graphics/digikam/2.nix
+++ b/pkgs/applications/graphics/digikam/2.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff
     jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw
-    opencv libkexiv2 libkipi boost shared_desktop_ontologies marble mysql ];
+    opencv libkexiv2 libkipi boost shared_desktop_ontologies marble mysql.lib ];
 
   # Make digikam find some FindXXXX.cmake
   KDEDIRS="${marble}:${qjson}";
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 5bc409d10e5..70966196b07 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -1,32 +1,40 @@
-{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, qimageblitz, qca2, eigen,
-lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, libjpeg, libtiff,
-liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost,
-shared_desktop_ontologies, marble, mysql }:
+{ stdenv, fetchurl, automoc4, boost, shared_desktop_ontologies, cmake
+, eigen, lcms, gettext, jasper, kdelibs, kdepimlibs, lensfun
+, libgphoto2, libjpeg, libkdcraw, libkexiv2, libkipi, libpgf, libtiff
+, libusb1, liblqr1, marble, mysql, opencv, phonon, pkgconfig, qca2
+, qimageblitz, qjson, qt4, soprano
+}:
 
 stdenv.mkDerivation rec {
-  name = "digikam-3.5.0";
+  name = "digikam-4.6.0";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/digikam/${name}.tar.bz2";
-    sha256 = "0an4awlg0b8pwl6v8p5zfl3aghgnxck2pc322cyk6i6yznj2mgap";
+    sha256 = "0id3anikki8c3rzqzapdbg00h577qwybknvkbz1kdq0348bs6ixh";
   };
 
   nativeBuildInputs = [ cmake automoc4 pkgconfig ];
 
-  buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff
-    jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw
-    opencv libkexiv2 libkipi boost shared_desktop_ontologies marble mysql ];
+  buildInputs = [
+    boost eigen gettext jasper kdelibs kdepimlibs lcms lensfun
+    libgphoto2 libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf
+    libtiff marble mysql.lib opencv phonon qca2 qimageblitz qjson qt4
+    shared_desktop_ontologies soprano
+  ];
 
   # Make digikam find some FindXXXX.cmake
   KDEDIRS="${marble}:${qjson}";
 
+  # Help digiKam find libusb, otherwise gphoto2 support is disabled
+  cmakeFlags = "-DLIBUSB_LIBRARIES=${libusb1}/lib -DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0";
+
   enableParallelBuilding = true;
 
   meta = {
     description = "Photo Management Program";
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2;
     homepage = http://www.digikam.org;
-    maintainers = with stdenv.lib.maintainers; [ viric urkud ];
+    maintainers = with stdenv.lib.maintainers; [ goibhniu viric urkud ];
     inherit (kdelibs.meta) platforms;
   };
 }
diff --git a/pkgs/applications/graphics/f-spot/builder.sh b/pkgs/applications/graphics/f-spot/builder.sh
deleted file mode 100644
index 252c4f91e0c..00000000000
--- a/pkgs/applications/graphics/f-spot/builder.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-source $stdenv/setup
-source $makeWrapper
-
-postInstall() {
-    mv $out/bin $out/bin-orig
-    mkdir $out/bin
-
-    for i in $out/bin-orig/*; do
-        echo "wrapping $(basename $i)"
-        # !!! TODO: figure out the MONO_GAC_PREFIX automatically
-        makeWrapper "$i" "$out/bin/$(basename $i)" \
-            --prefix PATH ':' "$(dirname $(type -p mono))" \
-            --prefix LD_LIBRARY_PATH ':' "$sqlite/lib" \
-            --prefix LD_LIBRARY_PATH ':' "$libgnomeui/lib/libglade/2.0" \
-            --prefix MONO_GAC_PREFIX ':' "$gtksharp"
-    done
-    
-    # !!! hack
-    export ALL_INPUTS="$out $pkgs"
-
-    find $out -name "*.dll.config" -o -name "*.exe.config" | while read configFile; do
-        echo "modifying config file $configFile"
-        $monoDLLFixer "$configFile"
-    done
-}
-
-genericBuild
diff --git a/pkgs/applications/graphics/f-spot/default.nix b/pkgs/applications/graphics/f-spot/default.nix
deleted file mode 100644
index 8ecfc0df162..00000000000
--- a/pkgs/applications/graphics/f-spot/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, perl, perlXMLParser, pkgconfig, mono, libexif
-, libgnome, libgnomeui, gtksharp, libjpeg, sqlite, lcms, libgphoto2
-, monoDLLFixer
-, makeWrapper
-}:
-
-stdenv.mkDerivation {
-  name = "f-spot-0.0.10";
-
-  builder = ./builder.sh;
-  
-  inherit makeWrapper;
-
-  src = fetchurl {
-    url = http://tarballs.nixos.org/f-spot-0.0.10.tar.bz2;
-    md5 = "19cc6e067ccc261b0502ff6189b79832";
-  };
-
-  patches = [./dllmap.patch];
-
-  buildInputs = [
-    perl perlXMLParser pkgconfig mono libexif
-    libgnome libgnomeui gtksharp libjpeg sqlite
-    lcms libgphoto2
-  ];
-
-  inherit monoDLLFixer gtksharp sqlite libgnomeui;
-
-  meta = {
-    homepage = http://f-spot.org;
-  };
-}
diff --git a/pkgs/applications/graphics/f-spot/dllmap.patch b/pkgs/applications/graphics/f-spot/dllmap.patch
deleted file mode 100644
index 956c75c0d23..00000000000
--- a/pkgs/applications/graphics/f-spot/dllmap.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -rc f-spot-0.0.10-orig/libgphoto2-sharp/libgphoto2-sharp.dll.config f-spot-0.0.10/libgphoto2-sharp/libgphoto2-sharp.dll.config
-*** f-spot-0.0.10-orig/libgphoto2-sharp/libgphoto2-sharp.dll.config	2005-02-27 19:25:09.000000000 +0100
---- f-spot-0.0.10/libgphoto2-sharp/libgphoto2-sharp.dll.config	2005-03-11 12:13:12.000000000 +0100
-***************
-*** 1,3 ****
-  <configuration>
-!   <dllmap dll="libgphoto2.so" target="/usr/lib/libgphoto2.so.2"/>
-  </configuration>
---- 1,3 ----
-  <configuration>
-!   <dllmap dll="libgphoto2.so" target="libgphoto2.so.2"/>
-  </configuration>
-diff -rc f-spot-0.0.10-orig/src/f-spot.exe.config.in f-spot-0.0.10/src/f-spot.exe.config.in
-*** f-spot-0.0.10-orig/src/f-spot.exe.config.in	2005-02-27 18:03:02.000000000 +0100
---- f-spot-0.0.10/src/f-spot.exe.config.in	2005-03-11 12:48:03.000000000 +0100
-***************
-*** 9,13 ****
-    <dllmap dll="libfspoteog" target="@prefix@/lib/f-spot/libfspoteog.so.0"/>
-    <dllmap dll="libfspotjpeg" target="@prefix@/lib/f-spot/libfspotjpg.so.0"/>
-    <dllmap dll="liblcms-1.0.0.dll" target="liblcms.so.1"/>
-!   <dllmap dll="libexif.dll" target="libexif.so.@EXIF_SOVERSION@"/>
-  </configuration>
---- 9,13 ----
-    <dllmap dll="libfspoteog" target="@prefix@/lib/f-spot/libfspoteog.so.0"/>
-    <dllmap dll="libfspotjpeg" target="@prefix@/lib/f-spot/libfspotjpg.so.0"/>
-    <dllmap dll="liblcms-1.0.0.dll" target="liblcms.so.1"/>
-!   <dllmap dll="libexif.dll" target="libexif.so"/>
-  </configuration>
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index d23f42fdbf9..5b6d745f0e9 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -1,5 +1,5 @@
 { stdenv, makeWrapper, fetchurl, x11, imlib2, libjpeg, libpng
-, libXinerama, curl }:
+, libXinerama, curl, libexif }:
 
 stdenv.mkDerivation rec {
   name = "feh-2.12";
@@ -9,10 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "0ckhidmsms2l5jycp0qf71jzmb3bpbhjq3bcgfpvfvszah7pmq30";
   };
 
-  buildInputs = [makeWrapper x11 imlib2 libjpeg libpng libXinerama curl];
+  buildInputs = [ makeWrapper x11 imlib2 libjpeg libpng libXinerama curl libexif ];
 
   preBuild = ''
-    makeFlags="PREFIX=$out"
+    makeFlags="PREFIX=$out exif=1"
   '';
 
   postInstall = ''
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A light-weight image viewer";
     homepage = https://derf.homelinux.org/projects/feh/;
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index a7665177046..57dd49f7eb7 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   # This should work on both x86_64, and i686 linux
   preBuild = ''
-    export NIX_LDFLAGS="-L${gfortran.gcc}/lib64 -L${gfortran.gcc}/lib $NIX_LDFLAGS";
+    export NIX_LDFLAGS="-L${gfortran.cc}/lib64 -L${gfortran.cc}/lib $NIX_LDFLAGS";
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index de906e3d844..e1eb7bb5a7b 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,37 +1,32 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libpng, exiv2, lcms
-, intltool, gettext, libchamplain_0_6, fbida }:
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, gtk, libpng, exiv2
+, lcms, intltool, gettext, fbida
+}:
 
 stdenv.mkDerivation rec {
-  name = "geeqie-1.1";
+  name = "geeqie-${version}";
+  version = "1.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/geeqie/${name}.tar.gz";
-    sha256 = "1kzy39z9505xkayyx7rjj2wda76xy3ch1s5z35zn8yli54ffhi2m";
+    url = "mirror://debian/pool/main/g/geeqie/geeqie_${version}.orig.tar.gz";
+    sha256 = "0wkcpyh3f6ig36x1q6h9iqgq225w37visip48m72j8rpghmv1rn3";
   };
 
-  preConfigure =
-    # XXX: Trick to have Geeqie use the version we have.
-    '' sed -i "configure" \
-           -e 's/champlain-0.4/champlain-0.6/g ;
-               s/champlain-gtk-0.4/champlain-gtk-0.6/g'
-    '';
+  preConfigure = "./autogen.sh";
 
   configureFlags = [ "--enable-gps" ];
 
-  buildInputs =
-    [ pkgconfig gtk libpng exiv2 lcms intltool gettext
-      libchamplain_0_6
-    ];
+  buildInputs = [
+    pkgconfig autoconf automake gtk libpng exiv2 lcms intltool gettext
+  ];
 
-  postInstall =
-    ''
-      # Allow geeqie to find exiv2 and exiftran, necessary to
-      # losslessly rotate JPEG images.
-      sed -i $out/lib/geeqie/geeqie-rotate \
-          -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
-    '';
+  postInstall = ''
+    # Allow geeqie to find exiv2 and exiftran, necessary to
+    # losslessly rotate JPEG images.
+    sed -i $out/lib/geeqie/geeqie-rotate \
+        -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Lightweight GTK+ based image viewer";
 
     longDescription =
@@ -45,11 +40,11 @@ stdenv.mkDerivation rec {
         initially based on GQview.
       '';
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
     homepage = http://geeqie.sourceforge.net;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.gnu;
   };
 }
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index bd155c59c6b..83f409457fb 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -28,12 +28,13 @@ stdenv.mkDerivation rec {
   #configureFlags = [ "--disable-print" ];
 
   # "screenshot" needs this.
-  NIX_LDFLAGS = "-rpath ${xlibs.libX11}/lib";
+  NIX_LDFLAGS = "-rpath ${xlibs.libX11}/lib"
+    + stdenv.lib.optionalString stdenv.isDarwin " -lintl";
 
   meta = {
     description = "The GNU Image Manipulation Program";
     homepage = http://www.gimp.org/;
-    license = "GPL";
-    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 7139bc71f3c..5f43abfcfc1 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -59,7 +59,7 @@ rec {
       sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \
        -e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure
     '';
-    meta = { 
+    meta = {
       description = "The GIMP Animation Package";
       homepage = http://www.gimp.org;
       # The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
@@ -174,10 +174,10 @@ rec {
       sourceRoot = "${name}/src";
       buildPhase = "make gimp";
       installPhase = "installPlugins gmic_gimp";
-      meta = { 
+      meta = {
         description = "script language for image processing which comes with its open-source interpreter";
         homepage = http://gmic.sourceforge.net/repository.shtml;
-        license = "CeCILL FREE SOFTWARE LICENSE AGREEMENT";
+        license = stdenv.lib.licenses.cecill20;
         /*
         The purpose of this Free Software license agreement is to grant users
         the right to modify and redistribute the software governed by this
@@ -197,7 +197,7 @@ rec {
       # --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-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";
@@ -237,7 +237,7 @@ rec {
       homepage = http://lensfun.sebastiankraft.net/;
 
       license = stdenv.lib.licenses.gpl3Plus;
-      maintainers = [ stdenv.lib.maintainers.ludo ];
+      maintainers = [ ];
       platforms = stdenv.lib.platforms.gnu;
     };
   };
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 38ceefa4523..ca52a4f2766 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -1,20 +1,27 @@
 { stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gtk, libXft
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
-, gsl, python, pyxml, lxml, poppler, imagemagick, libwpg }:
+, gsl, python, pyxml, lxml, poppler, imagemagick, libwpg, librevenge
+, libvisio, libcdr, libexif
+}:
 
 stdenv.mkDerivation rec {
-  name = "inkscape-0.48.5";
+  name = "inkscape-0.91";
 
   src = fetchurl {
-    url = "mirror://sourceforge/inkscape/${name}.tar.bz2";
-    sha256 = "0sfr7a1vr1066rrkkqbqvcqs3gawalj68ralnhd6k87jz62fcv1b";
+    url = "https://inkscape.global.ssl.fastly.net/media/resources/file/"
+        + "${name}.tar.bz2";
+    sha256 = "06ql3x732x2rlnanv0a8aharsnj91j5kplksg574090rks51z42d";
   };
 
-  patches = [ ./configure-python-libs.patch ];
-
-  postPatch = stdenv.lib.optionalString doCheck
-    ''sed -i 's:#include "../../src:#include "src:' src/cxxtests.cpp'';
+  postPatch = ''
+    patchShebangs share/extensions
+  ''
+  # Clang gets misdetected, so hardcode the right answer
+  + stdenv.lib.optionalString (stdenv.cc.cc.isClang or false) ''
+    substituteInPlace src/ui/tool/node.h \
+      --replace "#if __cplusplus >= 201103L" "#if true"
+  '';
 
   propagatedBuildInputs = [
     # Python is used at run-time to execute scripts, e.g., those from
@@ -25,14 +32,12 @@ stdenv.mkDerivation rec {
   buildInputs = [
     pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext
-    makeWrapper intltool gsl poppler imagemagick libwpg
+    makeWrapper intltool gsl poppler imagemagick libwpg librevenge
+    libvisio libcdr libexif
   ];
 
-  configureFlags = "--with-python";
-
   enableParallelBuilding = true;
   doCheck = true;
-  checkFlags = "-j1";
 
   postInstall = ''
     # Make sure PyXML modules can be found at run-time.
@@ -43,11 +48,9 @@ stdenv.mkDerivation rec {
        --prefix PATH : ${python}/bin ||  \
         exit 2
     done
-    rm $out/share/icons/hicolor/icon-theme.cache
+    rm "$out/share/icons/hicolor/icon-theme.cache"
   '';
 
-  NIX_LDFLAGS = "-lX11";
-
   meta = with stdenv.lib; {
     license = "GPL";
     homepage = http://www.inkscape.org;
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 35f3bed866d..f204114a581 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -1,38 +1,33 @@
-{stdenv, fetchurl
+{ stdenv, fetchurl, unzip, ftgl, glew, asciidoc
 , cmake, mesa, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
 , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff
-, gettext, intltool, perl, gtkmm, glibmm, gtkglext
-}:
+, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat, libXmu }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.0.2";
+  version = "0.8.0.3";
   name = "k3d-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/k3d/k3d-source-0.8.0.2.tar.bz2";
-    sha256 = "01fd2qb0zddif3wz1a2wdmwyzn81cf73678qp2gjs8iikmdz6w7x";
+    url = "https://github.com/K-3D/k3d/archive/${name}.zip";
+    sha256 = "09ywwvlk8hh1357pnal96kc40ma4jq7776hqk0609rgz13s6babp";
   };
-
-  patches = [
-    # debian package source
-    ./disable_mutable_in_boost_gil.patch
-    ./k3d_gtkmm224.patch
-    # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-gfx/k3d/files/k3d-0.7.11.0-libpng14.patch
-    ./k3d-0.7.11.0-libpng14.patch
-  ];
+  
+  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 -fpermissive -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE  -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
   '';
 
   buildInputs = [
      cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng
-     boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff gettext
-     intltool perl
-     gtkmm glibmm gtkglext
+     boost boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
+     gettext intltool perl unzip ftgl glew asciidoc
+     gtkmm glibmm gtkglext pangox_compat libXmu
     ];
 
-  doCheck = false;
+  #doCheck = false;
+
+  enableParallelBuilding = true;
 
   meta = {
     description = "A 3D editor with support for procedural editing";
diff --git a/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch b/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch
deleted file mode 100644
index 1774328c618..00000000000
--- a/pkgs/applications/graphics/k3d/disable_mutable_in_boost_gil.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp
-+++ b/k3dsdk/gil/boost/gil/extension/dynamic_image/apply_operation_base.hpp
-@@ -114,7 +114,7 @@
-     template <typename T2, typename Op>
-     struct reduce_bind1 {
-         const T2& _t2;
--        mutable Op&  _op;
-+        Op&  _op;
- 
-         typedef typename Op::result_type result_type;
- 
-@@ -127,7 +127,7 @@
-     struct reduce_bind2 {
-         const Bits1& _bits1;
-         std::size_t _index1;
--        mutable Op&  _op;
-+        Op&  _op;
- 
-         typedef typename Op::result_type result_type;
- 
diff --git a/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch b/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch
deleted file mode 100644
index b54168227b4..00000000000
--- a/pkgs/applications/graphics/k3d/k3d-0.7.11.0-libpng14.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ur k3d-source-0.7.11.0.orig/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp k3d-source-0.7.11.0/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp
---- k3d-source-0.7.11.0.orig/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp	2009-03-19 22:28:53.000000000 +0200
-+++ k3d-source-0.7.11.0/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp	2010-05-12 12:21:50.000000000 +0300
-@@ -148,12 +148,12 @@
-         // allocate/initialize the image information data
-         _info_ptr = png_create_info_struct(_png_ptr);
-         if (_info_ptr == NULL) {
--            png_destroy_read_struct(&_png_ptr,png_infopp_NULL,png_infopp_NULL);
-+            png_destroy_read_struct(&_png_ptr,NULL,NULL);
-             io_error("png_get_file_size: fail to call png_create_info_struct()");
-         }
-         if (setjmp(png_jmpbuf(_png_ptr))) {
-             //free all of the memory associated with the png_ptr and info_ptr
--            png_destroy_read_struct(&_png_ptr, &_info_ptr, png_infopp_NULL);
-+            png_destroy_read_struct(&_png_ptr, &_info_ptr, NULL);
-             io_error("png_get_file_size: fail to call setjmp()");
-         }
-         png_init_io(_png_ptr, get());
-@@ -165,7 +165,7 @@
-     png_reader(const char* filename) : file_mgr(filename, "rb") { init(); }
- 
-     ~png_reader() {
--        png_destroy_read_struct(&_png_ptr,&_info_ptr,png_infopp_NULL);
-+        png_destroy_read_struct(&_png_ptr,&_info_ptr,NULL);
-     }
-     point2<std::ptrdiff_t> get_dimensions() {
-         return point2<std::ptrdiff_t>(png_get_image_width(_png_ptr,_info_ptr),
-@@ -177,7 +177,7 @@
-         int bit_depth, color_type, interlace_type;
-         png_get_IHDR(_png_ptr, _info_ptr,
-                      &width, &height,&bit_depth,&color_type,&interlace_type,
--                     int_p_NULL, int_p_NULL);
-+                     (int *) NULL, (int *) NULL);
-         io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height),
-                     "png_read_view: input view size does not match PNG file size");
-         
-@@ -219,7 +219,7 @@
-         int bit_depth, color_type, interlace_type;
-         png_get_IHDR(_png_ptr, _info_ptr,
-                      &width, &height,&bit_depth,&color_type,&interlace_type,
--                     int_p_NULL, int_p_NULL);
-+                     (int *) NULL, (int *) NULL);
-         io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height),
-                     "png_reader_color_convert::apply(): input view size does not match PNG file size");
-         switch (color_type) {
-@@ -308,7 +308,7 @@
-         io_error_if(!_png_ptr,"png_write_initialize: fail to call png_create_write_struct()");
-         _info_ptr = png_create_info_struct(_png_ptr);
-         if (!_info_ptr) {
--            png_destroy_write_struct(&_png_ptr,png_infopp_NULL);
-+            png_destroy_write_struct(&_png_ptr,NULL);
-             io_error("png_write_initialize: fail to call png_create_info_struct()");
-         }
-         if (setjmp(png_jmpbuf(_png_ptr))) {
diff --git a/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch b/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch
deleted file mode 100644
index 2484994531f..00000000000
--- a/pkgs/applications/graphics/k3d/k3d_gtkmm224.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/k3dsdk/ngui/main_document_window.cpp
-+++ b/k3dsdk/ngui/main_document_window.cpp
-@@ -1371,7 +1371,7 @@
- 			Gtk::HBox import_box(false, 5);
- 			Gtk::Label import_label(_("Choose import plugin:"));
- 
--			Gtk::ComboBox import_combo(model);
-+			Gtk::ComboBox import_combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 			import_combo.pack_start(columns.icon, false);
- 			import_combo.pack_start(columns.label);
- 			import_combo.set_active(0);
-@@ -1461,7 +1461,7 @@
- 			Gtk::HBox export_box(false, 5);
- 			Gtk::Label export_label(_("Choose export plugin:"));
- 
--			Gtk::ComboBox export_combo(model);
-+			Gtk::ComboBox export_combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 			export_combo.pack_start(columns.icon, false);
- 			export_combo.pack_start(columns.label);
- 			export_combo.set_active(0);
---- a/k3dsdk/ngui/render.cpp
-+++ b/k3dsdk/ngui/render.cpp
-@@ -169,7 +169,7 @@
- 		row[columns.separator] = false;
- 	}
- 
--	Gtk::ComboBox combo(model);
-+	Gtk::ComboBox combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 
- 	combo.pack_start(columns.icon, false);
- 
-@@ -295,7 +295,7 @@
- 		row[columns.separator] = false;
- 	}
- 
--	Gtk::ComboBox combo(model);
-+	Gtk::ComboBox combo((Glib::RefPtr<Gtk::TreeModel> &) model);
- 
- 	combo.pack_start(columns.icon, false);
- 
diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix
new file mode 100644
index 00000000000..21caf8f8002
--- /dev/null
+++ b/pkgs/applications/graphics/kgraphviewer/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, kdelibs, automoc4, boost, pkgconfig, graphviz, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "kgraphviewer-${version}";
+  version = "2.1.90";
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/kgraphviewer/${version}/src/${name}.tar.xz";
+    sha256 = "13zhjs57xavzrj4nrlqs35n35ihvzij7hgbszf5fhlp2a4d4rrqs";
+  };
+
+  buildInputs = [ kdelibs automoc4 boost pkgconfig graphviz gettext ];
+
+  meta = with stdenv.lib; {
+    description = "A Graphviz dot graph viewer for KDE";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
+
diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix
new file mode 100644
index 00000000000..eaaf047c9bb
--- /dev/null
+++ b/pkgs/applications/graphics/leocad/default.nix
@@ -0,0 +1,28 @@
+/*
+To use aditional parts libraries
+set the variable LEOCAD_LIB=/path/to/libs/ or use option -l /path/to/libs/
+*/
+
+{ stdenv, fetchsvn, qt4, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "leocad-${version}";
+  version = "0.81";
+
+  src = fetchsvn {
+    url = "http://svn.leocad.org/tags/${name}";
+    sha256 = "1190gb437ls51hhfiwa79fq131026kywpy3j3k4fkdgfr8a9v3q8";
+  };
+
+  buildInputs = [ qt4 zlib ];
+
+  prefixKey="INSTALL_PREFIX=";
+  configureScript = "qmake leocad.pro";
+
+  meta = with stdenv.lib; {
+    description = "CAD program for creating virtual LEGO models";
+    homepage = http://www.leocad.org/;
+    license = licenses.gpl2;
+    inherit (qt4.meta) platforms;
+  };
+}
diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix
index 7558b0aef4b..5e7835b3549 100644
--- a/pkgs/applications/graphics/luminance-hdr/default.nix
+++ b/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, fetchurl, pkgconfig, qt5, boost, exiv2, fftwFloat, gsl
+{ stdenv, cmake, fetchurl, fetchpatch, pkgconfig, qt5, boost, exiv2, fftwFloat, gsl
 , ilmbase, lcms2, libraw, libtiff, openexr
 }:
 
@@ -10,9 +10,20 @@ stdenv.mkDerivation rec {
     sha256 = "00fldbcizrx8jcnjgq74n3zmbm27dxzl96fxa7q49689mfnlw08l";
   };
 
+  patches = [(fetchpatch {
+    name = "fix-qt53-build.diff";
+    url = "http://anonscm.debian.org/cgit/pkg-phototools/luminance-hdr.git/"
+      + "plain/debian/patches/51_qt5_printsupport.diff?id=00c869a860062dac181303f2c03a3513c0e210bc";
+    sha256 = "0nzvfxd3ybxx61rj6vxcaaxfrsxrl9af3h8jj7pr3rncisnl9gkl";
+  })];
+
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
-  buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
+  buildInputs =
+    [
+      qt5.base qt5.declarative qt5.tools qt5.webkit
+      boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr
+    ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
index cc1fe8c3a22..5c22854512a 100644
--- a/pkgs/applications/graphics/mcomix/default.nix
+++ b/pkgs/applications/graphics/mcomix/default.nix
@@ -2,15 +2,13 @@
 
 buildPythonPackage rec {
     namePrefix = "";
-    name = "mcomix-0.98";
+    name = "mcomix-1.01";
 
     src = fetchurl {
       url = "mirror://sourceforge/mcomix/${name}.tar.bz2";
-      sha256 = "93805b6c8540bd673ac4a6ef6e952f00f8fc10e59a63c7e163324a64db2a6b03";
+      sha256 = "0k3pqbvk08kb1nr0qldaj9bc7ca6rvcycgfi2n7gqmsirq5kscys";
     };
 
-    doCheck = false;
-
     pythonPath = [ pygtk pil python27Packages.sqlite3 ];
 
     meta = {
@@ -28,7 +26,7 @@ buildPythonPackage rec {
       '';
 
       homepage = http://mcomix.sourceforge.net/;
-
       license = stdenv.lib.licenses.gpl2;
+      maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
     };
 }
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
index 201b59ad5e1..b4becafdb0b 100644
--- a/pkgs/applications/graphics/ocrad/default.nix
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -1,16 +1,18 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, lzip, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "ocrad-0.21";
+  name = "ocrad-0.24";
 
   src = fetchurl {
-    url = "mirror://gnu/ocrad/${name}.tar.gz";
-    sha256 = "1k58ha70r0cqahssx67hfgyzia9ymf691yay06n7nrkbklii3isf";
+    url = "mirror://gnu/ocrad/${name}.tar.lz";
+    sha256 = "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv";
   };
 
+  buildInputs = [ lzip texinfo ];
+
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Optical character recognition (OCR) program & library";
 
     longDescription =
@@ -26,9 +28,9 @@ stdenv.mkDerivation rec {
          backend to other programs.
       '';
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index d0a1fb38e0c..473db68dc27 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,15 +4,16 @@
 
 stdenv.mkDerivation rec {
   name = "oiio-${version}";
-  version = "1.4";
+  version = "1.4.15";
 
   src = fetchurl {
-    url = "https://github.com/OpenImageIO/oiio/archive/RB-${version}.zip";
-    sha256 = "0ldj3hwpz363l1zyzf6c62wc5d2cpbiszlpjvv5w6rrsx2ddbbn1";
+    url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
+    sha256 = "1fc5v3qmrzf9qx765fd15r2dc3ccrz4xf4f9q4cwsrspmaxqyqzs";
   };
 
   buildInputs = [
-    boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr unzip
+    boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr
+    unzip
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index d831df5d7b6..e6d5ee5528f 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib pkgconfig
+    qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib
+    pkgconfig
   ];
 
   configurePhase = ''
diff --git a/pkgs/applications/graphics/panotools/default.nix b/pkgs/applications/graphics/panotools/default.nix
index 8e5204ac638..9ca90d2f5df 100644
--- a/pkgs/applications/graphics/panotools/default.nix
+++ b/pkgs/applications/graphics/panotools/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libjpeg, libpng, libtiff, perl }:
 
 stdenv.mkDerivation rec {
-  name = "libpano13-2.9.18";
+  name = "libpano13-2.9.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/panotools/${name}.tar.gz";
-    sha256 = "0wm1r9waa47n482yrl3hnphicdahr581rahgbklk0d2wy51lwpfy";
+    sha256 = "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3";
   };
 
   buildInputs = [ perl libjpeg libpng libtiff ];
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index cc42e1c4046..0973893bbec 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -29,6 +29,9 @@ stdenv.mkDerivation rec {
     "-DPARAVIEW_INSTALL_DEVELOPMENT=ON"
   ];
 
+  # https://bugzilla.redhat.com/show_bug.cgi?id=1138466
+  NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
+
   enableParallelBuilding = true;
 
   buildInputs = [ cmake qt4 hdf5 mpich2 python libxml2 mesa libXt ];
@@ -36,9 +39,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.paraview.org/";
     description = "3D Data analysis and visualization application";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric guibert];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
-
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
index 737baf375d1..1e51aa136fe 100644
--- a/pkgs/applications/graphics/pencil/default.nix
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -1,33 +1,32 @@
 { stdenv, fetchurl, xulrunner }:
 
 stdenv.mkDerivation rec {
-  name = "pencil-2.0.5";
+  version = "2.0.9";
+  name = "pencil-${version}";
 
   src = fetchurl {
-    url = "http://evoluspencil.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0rn5nb08p8wph5s5gajkil6y06zgrm86p4gnjdgv76czx1fqazm0";
+    url = "https://github.com/prikhi/pencil/releases/download/v${version}/Pencil-${version}-linux-pkg.tar.gz";
+    sha256 = "a109d28a695919d2da979de6a6d0baeb4e2820ff795aecd75ba08322f21ed3ee";
   };
 
-  # Pre-built package
-  buildPhase = "true";
+  buildPhase = "";
 
   installPhase = ''
     mkdir -p "$out"
     cp -r usr/* "$out"
-    cp COPYING "$out/share/pencil"
     sed -e "s|/usr/bin/xulrunner|${xulrunner}/bin/xulrunner|" \
-        -e "s|/usr/share/pencil|$out/share/pencil|" \
+        -e "s|/usr/share/evolus-pencil|$out/share/evolus-pencil|" \
         -i "$out/bin/pencil"
     sed -e "s|/usr/bin/pencil|$out/bin/pencil|" \
-        -e "s|Icon=.*|Icon=$out/share/pencil/skin/classic/icon.svg|" \
+        -e "s|Icon=.*|Icon=$out/share/evolus-pencil/skin/classic/icon.svg|" \
         -i "$out/share/applications/pencil.desktop"
   '';
 
   meta = with stdenv.lib; {
     description = "GUI prototyping/mockup tool";
-    homepage = http://pencil.evolus.vn/;
+    homepage = http://github.com/prikhi/pencil;
     license = licenses.gpl2; # Commercial license is also available
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor prikhi ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix
index 156966ac46c..12816ba96af 100644
--- a/pkgs/applications/graphics/photivo/default.nix
+++ b/pkgs/applications/graphics/photivo/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       platforms = platforms.linux;
-      maintainers = maintainers.mornfall;
+      maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/graphics/photoqt/default.nix b/pkgs/applications/graphics/photoqt/default.nix
new file mode 100644
index 00000000000..9e2c3a18a63
--- /dev/null
+++ b/pkgs/applications/graphics/photoqt/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, cmake, qt5, exiv2, graphicsmagick }:
+
+let
+  version = "1.1.0.1";
+in
+stdenv.mkDerivation rec {
+  name = "photoqt-${version}";
+  src = fetchurl {
+    url = "http://photoqt.org/pkgs/photoqt-${version}.tar.gz";
+    sha256 = "1y59ys1dgjppahs7v7kxwva7ik23s0x7j2f6glv6sn23l9cfq9rp";
+  };
+
+  buildInputs = [ cmake qt5.base qt5.tools exiv2 graphicsmagick ];
+
+  patches = [ ./graphicsmagick-path.patch ];
+
+  preConfigure = ''
+    export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
+  '';
+
+  meta = {
+    homepage = "http://photoqt.org/";
+    description = "Simple, yet powerful and good looking image viewer";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.eduarrrd ];
+  };
+}
diff --git a/pkgs/applications/graphics/photoqt/graphicsmagick-path.patch b/pkgs/applications/graphics/photoqt/graphicsmagick-path.patch
new file mode 100644
index 00000000000..da9b70e31ed
--- /dev/null
+++ b/pkgs/applications/graphics/photoqt/graphicsmagick-path.patch
@@ -0,0 +1,46 @@
+--- a/CMake/FindMagick.cmake	2014-10-13 19:24:30.000000000 +0200
++++ b/CMake/FindMagick.cmake	2014-12-27 18:54:19.611759021 +0100
+@@ -19,28 +19,11 @@
+ SET(MAGICK++_FOUND "NO" )
+ 
+ FIND_PATH( MAGICK_INCLUDE_DIR magick/magick.h
+-  "$ENV{MAGICK_LOCATION}/magick"
+-  "$ENV{MAGICK_LOCATION}/include/magick"
+-  "$ENV{MAGICK_HOME}/include/magick"
+-  /usr/include/magick
+-  /usr/include/
+-  /usr/include/GraphicsMagick
+-  /opt/local/include/GraphicsMagick/magick
+-  /opt/local/include/GraphicsMagick
++  "$ENV{MAGICK_LOCATION}"
+   )
+ 
+ FIND_PATH( MAGICK++_INCLUDE_DIR Magick++.h
+-  "$ENV{MAGICK++_LOCATION}/Magick++"
+-  "$ENV{MAGICK++_LOCATION}/include/"
+-  "$ENV{MAGICK_LOCATION}/Magick++"
+-  "$ENV{MAGICK_LOCATION}/include/Magick++"
+-  "$ENV{MAGICK_LOCATION}/include/"
+-  "$ENV{MAGICK_HOME}/include/"
+-  /usr/include/Magick++
+-  /usr/include/GraphicsMagick
+-  /usr/include/
+-  /opt/local/include/GraphicsMagick/Magick++
+-  /opt/local/include/GraphicsMagick
++  "$ENV{MAGICK_LOCATION}"
+   )
+   
+ FIND_LIBRARY( Magick GraphicsMagick
+@@ -55,12 +38,7 @@
+ 
+ FIND_LIBRARY( Magick++ GraphicsMagick++
+   PATHS 
+-  "$ENV{MAGICK++_LOCATION}/.libs"
+-  "$ENV{MAGICK_LOCATION}/.libs"
+-  "$ENV{MAGICK++_LOCATION}/lib"
+   "$ENV{MAGICK_LOCATION}/lib"
+-  "$ENV{MAGICK_HOME}/lib"
+-  /opt/local/lib
+   DOC   "GraphicsMagick Magick++ library"
+ )
+ 
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
new file mode 100644
index 00000000000..ecce0e260bb
--- /dev/null
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -0,0 +1,39 @@
+{ fetchurl, stdenv, ant, jre, 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 jre 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 : "${jre}/bin:${which}/bin" \
+     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+   makeWrapper $out/${name}/processing-java $out/bin/processing-java \
+     --prefix PATH : "${jre}/bin:${which}/bin" \
+     --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
+   ln -s ${jre} $out/${name}/java
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A language and IDE for electronic arts";
+    homepage = http://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
new file mode 100644
index 00000000000..8f6a5e2018e
--- /dev/null
+++ b/pkgs/applications/graphics/processing/use-nixpkgs-jre.patch
@@ -0,0 +1,88 @@
+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/qtpfsgui/default.nix b/pkgs/applications/graphics/qtpfsgui/default.nix
index cd8c76dc42c..efa245cc7e9 100644
--- a/pkgs/applications/graphics/qtpfsgui/default.nix
+++ b/pkgs/applications/graphics/qtpfsgui/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index 2ff82412409..701ad47985b 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchgit, qt4, cgal, boost, gmp, mpfr, flex, bison, dxflib}: 
+{stdenv, fetchgit, qt5, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline }: 
 
 stdenv.mkDerivation rec {
-  version = "0.8.0";
+  version = "0.9.5";
   name = "rapcad-${version}";
 
   src = fetchgit {
     url = "https://github.com/GilesBathgate/RapCAD.git";
     rev = "refs/tags/v${version}";
-    sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
+    sha256 = "15c18jvgbwyrfhv7r35ih0gzx35vjlsbi984h1sckgh2z17hjq8l";
   };
   
-  buildInputs = [qt4 cgal boost gmp mpfr flex bison dxflib];
+  buildInputs = [qt5.base cgal boost gmp mpfr flex bison dxflib readline ];
 
   configurePhase = ''
     qmake;
diff --git a/pkgs/applications/graphics/sane/backends.nix b/pkgs/applications/graphics/sane/backends.nix
index 28d2f1e200b..74321549318 100644
--- a/pkgs/applications/graphics/sane/backends.nix
+++ b/pkgs/applications/graphics/sane/backends.nix
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
   postInstall = ''
     if test "$udevSupport" = "1"; then
       mkdir -p $out/etc/udev/rules.d/
-      ./tools/sane-desc -m udev > $out/etc/udev/rules.d/60-libsane.rules || \
-      cp tools/udev/libsane.rules $out/etc/udev/rules.d/60-libsane.rules
+      ./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \
+      cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules
     fi
   '';
 
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index 221a4340dce..9bca047a7cf 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/xsane-back-gtk.c
+    chmod a+rX -R .
   '';
 
   buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ]
diff --git a/pkgs/applications/graphics/scantailor/default.nix b/pkgs/applications/graphics/scantailor/default.nix
new file mode 100644
index 00000000000..36f7545a053
--- /dev/null
+++ b/pkgs/applications/graphics/scantailor/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, qt4, cmake, libjpeg, libtiff, boost }:
+
+stdenv.mkDerivation rec {
+  name = "scantailor-0.9.11.1";
+
+  src = fetchurl {
+    url = "https://github.com/scantailor/scantailor/archive/RELEASE_0_9_11_1.tar.gz";
+    sha256 = "1z06yg228r317m8ab3mywg0wbpj0x2llqj187bh4g3k4xc2fcm8m";
+  };
+
+  buildInputs = [ qt4 cmake libjpeg libtiff boost ];
+
+  meta = {
+    homepage = http://scantailor.org/;
+    description = "Interactive post-processing tool for scanned pages";
+
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 1953f951d16..629126503c9 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkit
+{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkitgtk24x
 , pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib, gettext, desktop_file_utils
-, lcms2, gdk_pixbuf, librsvg, makeWrapper, gnome_doc_utils }:
+, lcms2, gdk_pixbuf, librsvg, makeWrapper, gnome_doc_utils, hicolor_icon_theme }:
 
 # for dependencies see http://www.yorba.org/projects/shotwell/install/
 
@@ -18,12 +18,12 @@ let
     buildInputs = [ pkgconfig glib libsoup ];
   };
 in stdenv.mkDerivation rec {
-  version = "0.18.0";
+  version = "0.20.2";
   name = "shotwell-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/shotwell/0.18/${name}.tar.xz";
-    sha256 = "0cq0zs13f3f4xyz46yvj4qfpm5nh4ypds7r53pkqm4a3n8ybf5v7";
+    url = "mirror://gnome/sources/shotwell/0.20/${name}.tar.xz";
+    sha256 = "0h5pdczsrkplvlvq54zk3am4kjmfpd6pn2sz0ky8lfq1fngwiqip";
   };
 
   NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include";
@@ -42,15 +42,17 @@ in stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram "$out/bin/shotwell" \
      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-     --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
+     --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
+     --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
   '';
 
 
-  buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkit pkgconfig
+  buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk24x pkgconfig
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev gnome3.gexiv2
                   libraw rest json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg
-                  makeWrapper gnome_doc_utils ];
+                  makeWrapper gnome_doc_utils
+                  gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+                  hicolor_icon_theme ];
 
   meta = with stdenv.lib; {
     description = "Popular photo organizer for the GNOME desktop";
diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix
new file mode 100644
index 00000000000..b47a8215fd4
--- /dev/null
+++ b/pkgs/applications/graphics/simple-scan/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, cairo, colord, glib, gtk3, intltool, itstool, libxml2
+, makeWrapper, pkgconfig, saneBackends, systemd, vala }:
+
+let version = "3.16.0.1"; in
+stdenv.mkDerivation rec {
+  name = "simple-scan-${version}";
+
+  src = fetchurl {
+    sha256 = "0p1knmbrdwrnjjk5x0szh3ja2lfamaaynj2ai92zgci2ma5xh2ma";
+    url = "https://launchpad.net/simple-scan/3.16/${version}/+download/${name}.tar.xz";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple scanning utility";
+    longDescription = ''
+      A really easy way to scan both documents and photos. You can crop out the
+      bad parts of a photo and rotate it if it is the wrong way round. You can
+      print your scans, export them to pdf, or save them in a range of image
+      formats. Basically a frontend for SANE - which is the same backend as
+      XSANE uses. This means that all existing scanners will work and the
+      interface is well tested.
+    '';
+    homepage = https://launchpad.net/simple-scan;
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ cairo colord glib gtk3 intltool itstool libxml2 makeWrapper
+    pkgconfig saneBackends systemd vala ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  preFixup = ''
+    wrapProgram "$out/bin/simple-scan" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+}
diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix
new file mode 100644
index 00000000000..cba69c476b5
--- /dev/null
+++ b/pkgs/applications/graphics/solvespace/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchgit,autoconf, automake, gcc, fltk13
+, libjpeg, libpng, libtool, mesa, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "solvespace-2.0";
+  src = fetchgit {
+    url = "https://gitorious.org/solvespace/solvespace.git";
+    sha256 = "0sakxkmj2f0k27f67wy1xz2skpnwzg15yqrf7av97pgc5s8xb3da";
+    rev = "e587d0e";
+  };
+
+  # e587d0e fails with undefined reference errors if make is called
+  # twice. Ugly workaround: Build while installing.
+  dontBuild = true;
+  enableParallelBuilding = false;
+
+  buildInputs = [        
+    autoconf
+    automake
+    gcc
+    fltk13
+    libjpeg
+    libpng
+    libtool
+    mesa
+    pkgconfig
+    stdenv
+  ];
+
+  preConfigure = ''
+    aclocal
+    libtoolize
+    
+    autoreconf -i
+    automake --add-missing
+  '';
+
+  meta = {
+    description = "A parametric 3d CAD program";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = http://solvespace.com;
+  };
+}
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index 30513577d04..45813bbdb20 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchurl, libX11, imlib2, giflib }:
+{ stdenv, fetchgit, libX11, imlib2, giflib, libexif }:
 
 stdenv.mkDerivation {
-  name = "sxiv-1.1.1";
+  name = "sxiv-2015.03.25";
 
-  src = fetchurl {
-    url = "https://github.com/muennich/sxiv/archive/v1.1.1.tar.gz";
-    name = "sxiv-1.1.tar.gz";
-    sha256 = "07r8125xa8d5q71ql71s4i1dx4swy8hypxh2s5h7z2jnn5y9nmih";
+  src = fetchgit {
+    url = "https://github.com/muennich/sxiv.git";
+    rev = "01ed483b50f506fcba928af43e2ca017897e7c77";
+    sha256 = "18s64l3dvibqg9biznzy4mdkkn9qmmpqxpdx7ljx7c0832aqy94k";
   };
 
-  buildInputs = [ libX11 imlib2 giflib ];
-
-  prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+  postUnpack = ''
+    substituteInPlace $sourceRoot/Makefile \
+      --replace /usr/local $out
+  '';
 
+  buildInputs = [ libX11 imlib2 giflib libexif ];
   meta = {
     description = "Simple X Image Viewer";
     homepage = "https://github.com/muennich/sxiv";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
index ba7a916e3fe..9fa624435ed 100644
--- a/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "0.64.1";
+  version = "0.64.3";
 
   ETL = stdenv.mkDerivation rec {
     name = "ETL-0.04.17";
 
     src = fetchurl {
        url = "mirror://sourceforge/synfig/${name}.tar.gz";
-       sha256 = "13kpiswgcpsif9fwcplqr0405aqavqn390cjnivkn3pxv0d2q8iy";
+       sha256 = "0rb9czkgan41q6xlck97kh77g176vjm1wnq620sqky7k2hiahr3s";
     };
   };
 
@@ -20,36 +20,46 @@ let
 
     src = fetchurl {
        url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz";
-       sha256 = "1b4ksxnqbaq4rxlvasmrvk7z4jvjbsg4ns3cns2qcnz64dyvbgda";
+       sha256 = "0p4wqjidb4k3viahck4wzbh777f5ifpivn4vxhxs5fbq8nsvqksh";
     };
 
+    configureFlags = [
+      "--with-boost=${boost.dev}"
+      "--with-boost-libdir=${boost.lib}/lib"
+    ];
+
     patches = [ ./synfig-cstring.patch ];
 
     buildInputs = [
       ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango
       pkgconfig
     ];
-
-    configureFlags = [ "--with-boost-libdir=${boost}/lib" ];
   };
 in
 stdenv.mkDerivation rec {
   name = "synfigstudio-${version}";
 
   src = fetchurl {
-       url = "mirror://sourceforge/synfig/${name}.tar.gz";
-       sha256 = "0nl6vpsn5dcjd5qhbrmd0j4mr3wddvymkg9414m77cdpz4l8b9v2";
-    };
+    url = "mirror://sourceforge/synfig/${name}.tar.gz";
+    sha256 = "1li3ac8qvg25h9fgym0zywnq5bg3sgbv162xs4c6pwksn75i6gsv";
+  };
 
   buildInputs = [
-    ETL boost cairo fontsConf gettext glibmm gtk gtkmm imagemagick intltool
+    ETL boost cairo gettext glibmm gtk gtkmm imagemagick intltool
     intltool libsigcxx libtool libxmlxx pkgconfig synfig
   ];
 
+  configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.lib}/lib"
+  ];
+
   preBuild = ''
     export FONTCONFIG_FILE=${fontsConf}
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A 2D animation program";
     homepage = http://www.synfig.org;
diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix
index dbfda4e5819..3de3d6cdd5a 100644
--- a/pkgs/applications/graphics/ufraw/default.nix
+++ b/pkgs/applications/graphics/ufraw/default.nix
@@ -2,12 +2,12 @@
 , libjpeg, libtiff, cfitsio, exiv2, lcms, gtkimageview, lensfun }:
 
 stdenv.mkDerivation rec {
-  name = "ufraw-0.19.2";
+  name = "ufraw-0.20";
 
   src = fetchurl {
     # XXX: These guys appear to mutate uploaded tarballs!
     url = "mirror://sourceforge/ufraw/${name}.tar.gz";
-    sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
+    sha256 = "1q51p0ynzayxwfpilj0s38aapgkfga00gbl7xi0ndx9q6bvk1kbd";
   };
 
   buildInputs =
diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix
index 1f1c26c1152..162a6748c06 100644
--- a/pkgs/applications/graphics/xournal/default.nix
+++ b/pkgs/applications/graphics/xournal/default.nix
@@ -4,11 +4,11 @@
 , pango, libX11, xproto, zlib, poppler, poppler_data
 , autoconf, automake, libtool, pkgconfig}:
 stdenv.mkDerivation rec {
-  version = "0.4.5";
+  version = "0.4.8";
   name = "xournal-" + version;
   src = fetchurl {
     url = "mirror://sourceforge/xournal/${name}.tar.gz";
-    sha256 = "1lamfzhby06w2pg56lpv1symdixcwmg6wvi7g6br6la4ak5w5mx7";
+    sha256 = "0c7gjcqhygiyp0ypaipdaxgkbivg6q45vhsj8v5jsi9nh6iqff13";
   };
 
   buildInputs = [
@@ -19,14 +19,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
 
-  # Build with poppler-0.18.x
-  patchFlags = "-p0";
-
-  patches = [ (fetchurl {
-      url = "https://api.opensuse.org/public/source/X11:Utilities/xournal/xournal-poppler-0.18.patch?rev=eca1c0b24f5bc78111147ab8f4688455";
-      sha256 = "1q565kqb4bklncriq4dlhp1prhidv88wmxr9k3laykiia0qjmfyj";
-    })];
-
   NIX_LDFLAGS="-lX11 -lz";
 
   meta = {
diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix
new file mode 100644
index 00000000000..6e9a1fdeb09
--- /dev/null
+++ b/pkgs/applications/graphics/yed/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, makeWrapper, unzip, jre }:
+
+stdenv.mkDerivation rec {
+  name = "yEd-3.14.1";
+
+  src = fetchurl {
+    url = "http://www.yworks.com/products/yed/demo/${name}.zip";
+    sha256 = "09zik3pjs5x0vc0jvndm762blk85y44lxac3vdfqqbinwd9gfnm2";
+  };
+
+  nativeBuildInputs = [ unzip makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/yed
+    cp -r * $out/yed
+    mkdir -p $out/bin
+
+    makeWrapper ${jre}/bin/java $out/bin/yed \
+      --add-flags "-jar $out/yed/yed.jar --"
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.unfreeRedistributable;
+    homepage = http://www.yworks.com/en/products/yfiles/yed/;
+    description = "A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams";
+    platforms = jre.meta.platforms;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index 4eefd5749b6..a6c299d1ab3 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, jre, unzip}:
 stdenv.mkDerivation rec {
-  version = "0.8.2";
+  version = "0.9.0";
   pname = "zgrviewer";
   name="${pname}-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip";
-    sha256 = "a76b9865c1490a6cfc08911592a19c15fe5972bf58e017cb31db580146f069bb";
+    sha256 = "1yg2rck81sqqrgfi5kn6c1bz42dr7d0zqpcsdjhicssi1y159f23";
   };
   buildInputs = [jre unzip];
   buildPhase = "";
diff --git a/pkgs/applications/ike/default.nix b/pkgs/applications/ike/default.nix
deleted file mode 100644
index 48f277ad4c9..00000000000
--- a/pkgs/applications/ike/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ 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"
-
-# NOTE: my testings reveal that kernels 3.11.10 and 3.12.6 won't let the traffic through the tunnel,
-# so I'm sticking with 3.4
-
-stdenv.mkDerivation rec {
-  name = "ike-2.2.1";
-
-  src = fetchurl {
-    url = "https://www.shrew.net/download/ike/${name}-release.tgz";
-    sha256 = "0fhyr2psd93b0zf7yfb72q3nqnh65mymgq5jpjcsj9jv5kfr6l8y";
-  };
-
-  buildInputs = [ cmake openssl libedit flex bison qt4 makeWrapper nettools iproute ];
-
-  configurePhase = ''
-    mkdir -p $out/{bin,sbin,lib}
-    cmake -DQTGUI=YES -DETCDIR=$out/etc -DLIBDIR=$out/lib -DSBINDIR=$out/sbin -DBINDIR=$out/bin \
-          -DKRNINC="${linuxHeaders}/include/" -DTESTS=YES \
-          -DMANDIR=$out/man -DNATT=YES -DCMAKE_INSTALL_PREFIX:BOOL=$out
-  '';
-
-  buildPhase = ''
-    make
-  '';
-
-  installPhase = ''
-    make install
-    for file in "$out"/bin/* "$out"/sbin/*; do
-        wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl}/lib:${gcc.gcc}/lib:${stdenv.glibc}/lib::${gcc.gcc}/lib64:${stdenv.glibc}/lib64:${libedit}/lib:${qt4}/lib"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://www.shrew.net/software;
-    description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems";
-    platforms = platforms.unix;
-    maintainers = [ maintainers.iElectric ];
-    license = licenses.sleepycat;
-  };
-}
diff --git a/pkgs/applications/inferno/default.nix b/pkgs/applications/inferno/default.nix
index c5a40fcbf5b..0d61d5635a5 100644
--- a/pkgs/applications/inferno/default.nix
+++ b/pkgs/applications/inferno/default.nix
@@ -46,10 +46,10 @@ stdenv.mkDerivation rec {
     mk install
     mkdir -p $out/bin
     makeWrapper $out/share/inferno/Linux/386/bin/emu $out/bin/emu \
-      --suffix LD_LIBRARY_PATH ':' "${gcc46.gcc}/lib" \
+      --suffix LD_LIBRARY_PATH ':' "${gcc46.cc}/lib" \
       --suffix PATH ':' "$out/share/inferno/Linux/386/bin"
     makeWrapper $infernoWrapper $out/bin/inferno \
-      --suffix LD_LIBRARY_PATH ':' "${gcc46.gcc}/lib" \
+      --suffix LD_LIBRARY_PATH ':' "${gcc46.cc}/lib" \
       --suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
       --set INFERNO_ROOT "$out/share/inferno"
   '';
diff --git a/pkgs/applications/kde-apps-14.12/default.nix b/pkgs/applications/kde-apps-14.12/default.nix
new file mode 100644
index 00000000000..96f1aea6875
--- /dev/null
+++ b/pkgs/applications/kde-apps-14.12/default.nix
@@ -0,0 +1,324 @@
+# Maintainer's Notes:
+#
+# Minor updates:
+#  1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
+#     releases updates that include only the changed packages; in this case,
+#     multiple URLs can be provided and the results will be merged.
+#  2. Run ./manifest.sh and ./dependencies.sh.
+#  3. Build and enjoy.
+#
+# Major updates:
+#  We prefer not to immediately overwrite older versions with major updates, so
+#  make a copy of this directory first. After copying, be sure to delete ./tmp
+#  if it exists. Then follow the minor update instructions.
+
+{ autonix, symlinkJoin, kde4, kf5, pkgs, qt4, qt5, stdenv, debug ? false }:
+
+with stdenv.lib; with autonix;
+
+let kf5Orig = kf5; in
+
+let
+
+  kf5 = kf5Orig.override { inherit debug qt5; };
+
+  mirror = "mirror://kde";
+
+  renames =
+    (builtins.removeAttrs
+      (import ./renames.nix {})
+      ["Backend" "CTest"])
+    // {
+      "KDE4" = "kdelibs";
+      "Kexiv2" = "libkexiv2";
+      "Kdcraw" = "libkdcraw";
+      "Kipi" = "libkipi";
+      "LibKMahjongg" = "libkmahjongg";
+      "LibKonq" = "kde-baseapps";
+    };
+
+  mkDerivation = drv: kf5.mkDerivation (drv // {
+    preHook = (drv.preHook or "") + ''
+      addQt4Plugins() {
+        if [[ -d "$1/lib/qt4/plugins" ]]; then
+            propagatedUserEnvPkgs+=" $1"
+        fi
+
+        if [[ -d "$1/lib/kde4/plugins" ]]; then
+            propagatedUserEnvPkgs+=" $1"
+        fi
+      }
+
+      envHooks+=(addQt4Plugins)
+    '';
+  });
+
+  scope =
+    # packages in this collection
+    (mapAttrs (dep: name: kdeApps."${name}") renames) //
+    # packages from KDE Frameworks 5
+    kf5.scope //
+    # packages from nixpkgs
+    (with pkgs;
+      {
+        ACL = acl;
+        Akonadi = kde4.akonadi;
+        Alsa = alsaLib;
+        Automoc4 = automoc4;
+        Avahi = avahi;
+        BISON = bison;
+        Baloo = kde4.baloo;
+        Boost = boost156;
+        Canberra = libcanberra;
+        Cdparanoia = cdparanoia;
+        CUPS = cups;
+        DBusMenuQt = libdbusmenu_qt;
+        DjVuLibre = djvulibre;
+        ENCHANT = enchant;
+        EPub = ebook_tools;
+        Eigen2 = eigen2;
+        Eigen3 = eigen;
+        Exiv2 = exiv2;
+        FAM = fam;
+        FFmpeg = ffmpeg;
+        Flac = flac;
+        FLEX = flex;
+        Freetype = freetype;
+        GMP = gmp;
+        Gettext = gettext;
+        Gpgme = gpgme;
+        Gphoto2 = libgphoto2;
+        Grantlee = grantlee;
+        GSL = gsl;
+        HUNSPELL = hunspell;
+        HUpnp = herqq;
+        Jasper = jasper;
+        KActivities = kde4.kactivities;
+        LCMS2 = lcms2;
+        Ldap = openldap;
+        LibAttica = attica;
+        LibGcrypt = libgcrypt;
+        LibSSH = libssh;
+        LibSpectre = libspectre;
+        LibVNCServer = libvncserver;
+        Libical = libical;
+        MusicBrainz3 = libmusicbrainz;
+        NetworkManager = networkmanager;
+        OggVorbis = libvorbis;
+        OpenAL = openal;
+        OpenEXR = openexr;
+        Poppler = poppler_qt4;
+        Prison = prison;
+        PulseAudio = pulseaudio;
+        PythonLibrary = python;
+        Qalculate = libqalculate;
+        QCA2 = qca2;
+        QImageBlitz = qimageblitz;
+        QJSON = qjson;
+        Qt4 = qt4;
+        Samba = samba;
+        Sasl2 = cyrus_sasl;
+        SharedDesktopOntologies = shared_desktop_ontologies;
+        SndFile = libsndfile;
+        Speechd = speechd;
+        TIFF = libtiff;
+        Taglib = taglib;
+        TelepathyQt4 = telepathy_qt;
+        TunePimp = libtunepimp;
+        UDev = udev;
+        USB = libusb;
+        Xscreensaver = xscreensaver;
+        Xsltproc = libxslt;
+      }
+    );
+
+  qt5Only = tgt:
+    let qt4Deps = [ "KDE4" "Phonon" ];
+    in mapAttrs (name: if name == tgt then removePkgDeps qt4Deps else id);
+
+  preResolve = super:
+    fold (f: x: f x) super
+      [
+        (qt5Only "kmix")
+        (userEnvPkg "SharedMimeInfo")
+        (userEnvPkg "SharedDesktopOntologies")
+        (blacklist ["artikulate"]) # build failure, wrong boost?
+        (blacklist ["kde-dev-scripts" "kde-dev-utils"]) # docbook errors
+        (blacklist ["kdewebdev"]) # unknown build failure
+      ];
+
+  l10nPkgQt4 = orig:
+    let drvName = builtins.parseDrvName orig.name; in
+    mkDerivation {
+      name = "${drvName.name}-qt4-${drvName.version}";
+      inherit (orig) src;
+      buildInputs = [ kdeApps.kdelibs ];
+      nativeBuildInputs = with pkgs; [ cmake gettext perl ];
+      preConfigure = ''
+        cd 4/
+      '';
+    };
+
+  l10nPkgQt5 = orig:
+    let drvName = builtins.parseDrvName orig.name; in
+    mkDerivation {
+      name = "${drvName.name}-qt5-${drvName.version}";
+      inherit (orig) src;
+      buildInputs = with kf5; [ kdoctools ki18n ];
+      nativeBuildInputs = with pkgs; [ cmake kf5.extra-cmake-modules gettext perl ];
+      preConfigure = ''
+        cd 5/
+      '';
+    };
+
+  l10nPkg = name: orig: symlinkJoin orig.name [(l10nPkgQt4 orig) (l10nPkgQt5 orig)];
+
+  removeL10nPkgs = filterAttrs (n: v: !(hasPrefix "kde-l10n") n);
+
+  postResolve = super:
+    (removeL10nPkgs super) // {
+
+      ark = with pkgs; super.ark // {
+        buildInputs = (super.ark.buildInputs or []) ++ [ makeWrapper ];
+        postInstall = ''
+          wrapProgram $out/bin/ark --prefix PATH : "${unzipNLS}/bin"
+        '';
+      };
+
+      ffmpegthumbs = with pkgs; super.ffmpegthumbs // {
+        nativeBuildInputs = super.ffmpegthumbs.nativeBuildInputs ++ [pkgconfig];
+      };
+
+      kalzium = with pkgs; super.kalzium // {
+        nativeBuildInputs = super.kalzium.nativeBuildInputs ++ [pkgconfig];
+      };
+
+      kde-runtime = with pkgs; super.kde-runtime // {
+        buildInputs =
+          super.kde-runtime.buildInputs ++ [libcanberra];
+        nativeBuildInputs =
+          super.kde-runtime.nativeBuildInputs ++ [pkgconfig];
+        NIX_CFLAGS_COMPILE =
+          (super.kde-runtime.NIX_CFLAGS_COMPILE or "")
+          + " -I${ilmbase}/include/OpenEXR";
+        meta = { priority = 10; };
+      };
+
+      kde-workspace = with pkgs; super.kde-workspace // {
+        buildInputs = with xlibs;
+          super.kde-workspace.buildInputs
+          ++
+          [
+            libxkbfile libXcomposite xcbutilimage xcbutilkeysyms
+            xcbutilrenderutil
+          ];
+        nativeBuildInputs =
+          super.kde-workspace.nativeBuildInputs
+          ++ [ pkgconfig ];
+        meta = { priority = 10; };
+      };
+
+      kdelibs = with pkgs; super.kdelibs // {
+        buildInputs =
+          super.kdelibs.buildInputs ++ [ attr libxslt polkit_qt4 xz ];
+
+        nativeBuildInputs =
+          super.kdelibs.nativeBuildInputs ++ [ pkgconfig ];
+
+        NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+        propagatedBuildInputs =
+          super.kdelibs.propagatedBuildInputs ++ [ qt4 soprano phonon strigi ];
+
+        propagatedNativeBuildInputs =
+          super.kdelibs.propagatedNativeBuildInputs
+          ++ [ automoc4 cmake perl shared_mime_info ];
+
+        patches = [ ./kdelibs/polkit-install.patch ];
+
+        cmakeFlags = [
+          "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+          "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+          "-DHUPNP_ENABLED=ON"
+          "-DWITH_SOLID_UDISKS2=ON"
+          "-DKDE_DEFAULT_HOME=.kde"
+        ];
+      };
+
+      kdepim = with pkgs; super.kdepim // {
+        buildInputs =
+          super.kdepim.buildInputs ++ [ gpgme libassuan ];
+        nativeBuildInputs =
+          super.kdepim.nativeBuildInputs ++ [ pkgconfig ];
+      };
+
+      kdepimlibs = with pkgs; super.kdepimlibs // {
+        nativeBuildInputs =
+          super.kdepimlibs.nativeBuildInputs ++ [ pkgconfig ];
+      };
+
+      kdesdk-thumbnailers = with pkgs; super.kdesdk-thumbnailers // {
+        nativeBuildInputs =
+          super.kdesdk-thumbnailers.nativeBuildInputs
+          ++ [gettext];
+      };
+
+      kgpg = with pkgs; super.kgpg // {
+        buildInputs = super.kgpg.buildInputs ++ [boost];
+      };
+
+      kmix = with pkgs; super.kmix // {
+        nativeBuildInputs = super.kmix.nativeBuildInputs ++ [pkgconfig];
+        cmakeFlags = [ "-DKMIX_KF5_BUILD=ON" ];
+      };
+
+      kmousetool = with pkgs; super.kmousetool // {
+        buildInputs = with xlibs;
+          super.kmousetool.buildInputs
+          ++ [libXtst libXt];
+      };
+
+      kremotecontrol = with pkgs; super.kremotecontrol // {
+        buildInputs = super.kremotecontrol.buildInputs ++ [xlibs.libXtst];
+      };
+
+      krfb = super.krfb // {
+        buildInputs =
+          super.krfb.buildInputs
+          ++ [pkgs.xlibs.libXtst kde4.telepathy.common_internals];
+      };
+
+      libkdcraw = with pkgs; super.libkdcraw // {
+        buildInputs = super.libkdcraw.buildInputs ++ [scope.KDE4 libraw];
+        nativeBuildInputs = super.libkdcraw.nativeBuildInputs ++ [pkgconfig];
+      };
+
+      libkexiv2 = with pkgs; super.libkexiv2 // {
+        buildInputs = super.libkexiv2.buildInputs ++ [exiv2 scope.KDE4];
+      };
+
+      libkface = with pkgs; super.libkface // {
+        buildInputs = super.libkface.buildInputs ++ [scope.KDE4 opencv];
+      };
+
+      libkipi = with pkgs; super.libkipi // {
+        buildInputs = super.libkipi.buildInputs ++ [scope.KDE4];
+      };
+
+      libksane = with pkgs; super.libksane // {
+        buildInputs = super.libksane.buildInputs ++ [scope.KDE4 saneBackends];
+      };
+
+    };
+
+  l10nManifest =
+    filterAttrs
+      (n: v: hasPrefix "kde-l10n" n)
+      (importManifest ./manifest.nix { inherit mirror; });
+
+  kdeApps = generateCollection ./. {
+    inherit mkDerivation;
+    inherit mirror preResolve postResolve renames scope;
+  };
+
+in kdeApps // (mapAttrs l10nPkg l10nManifest)
diff --git a/pkgs/applications/kde-apps-14.12/dependencies.nix b/pkgs/applications/kde-apps-14.12/dependencies.nix
new file mode 100644
index 00000000000..ee820b7ac74
--- /dev/null
+++ b/pkgs/applications/kde-apps-14.12/dependencies.nix
@@ -0,0 +1,1676 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+  amor = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  analitza = {
+    buildInputs = [ "ECM" "Eigen3" "GLEW" "OpenGL" "Qt5" "Qt5NO_MODULE" "Qt5OpenGL" "Qt5Qml" "Qt5Quick" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ark = {
+    buildInputs = [ "BZip2" "KDE4" "LibArchive" "LibKonq" "LibLZMA" "QJSON" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  artikulate = {
+    buildInputs = [ "KDE4" "KDeclarative" "QtGStreamer" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  audiocd-kio = {
+    buildInputs = [ "Cdparanoia" "Flac" "KDE4" "Libkcddb" "Libkcompactdisc" "OggVorbis" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  blinken = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  bomber = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  bovo = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  cantor = {
+    buildInputs = [ "Analitza" "KDE4" "LibSpectre" "LuaJIT" "PythonLibs" "Qalculate" "R" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  cervisia = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  dolphin-plugins = {
+    buildInputs = [ "KDE4" "LibKonq" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  dragon = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ffmpegthumbs = {
+    buildInputs = [ "FFmpeg" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  filelight = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  granatier = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  gwenview = {
+    buildInputs = [ "ECM" "Exiv2" "JPEG" "KF5" "KF5Activities" "KF5Baloo" "KF5KDELibs4Support" "KF5KIO" "Kdcraw" "Kipi" "LCMS2" "PNG" "Phonon4Qt5" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5DBus" "Qt5OpenGL" "Qt5QUIET" "Qt5Script" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  jovie = {
+    buildInputs = [ "KDE4" "Qt4" "Speechd" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  juk = {
+    buildInputs = [ "KDE4" "Taglib" "TunePimp" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kaccessible = {
+    buildInputs = [ "KDE4" "Qt4" "Speechd" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kajongg = {
+    buildInputs = [ "KDE4" "Twisted" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kalgebra = {
+    buildInputs = [ "Analitza5" "Curses" "ECM" "KF5ConfigWidgets" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5WidgetsAddons" "OpenGL" "Qt5" "Qt5NO_MODULE" "Qt5OpenGL" "Qt5PrintSupport" "Qt5Qml" "Qt5Quick" "Qt5Svg" "Qt5Test" "Qt5WebKitWidgets" "Qt5Xml" "Readline" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kalzium = {
+    buildInputs = [ "KDE4" "KDEWIN32" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kamera = {
+    buildInputs = [ "Gphoto2" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kanagram = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5NewStuff" "KF5Sonnet" "LibKEduVocDocument" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5OPTIONAL_COMPONENTS" "Qt5OpenGL" "Qt5PrintSupport" "Qt5Qml" "Qt5Quick" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kapman = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kapptemplate = {
+    buildInputs = [ "ECM" "KDE4" "KF5" "KF5Archive" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5XmlGui" "KdepimLibs" "Qt5" "Qt5Core" "Qt5Gui" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "RBKCONFIG_COMPILER4" "RBUIC4" "XSLTPROC_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kate = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5DBusAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5Init" "KF5ItemModels" "KF5JobWidgets" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5OPTIONAL_COMPONENTS" "KF5Parts" "KF5Plasma" "KF5Service" "KF5TextEditor" "KF5ThreadWeaver" "KF5Wallet" "KF5WindowSystem" "KF5XmlGui" "LibGit2" "PyKDE4" "PyQt4" "PythonLibrary" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Sql" "Qt5Test" "Qt5Widgets" "SIP" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  katomic = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kblackbox = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kblocks = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbounce = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbreakout = {
+    buildInputs = [ "KDE4" "KDEGames" "KDeclarative" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbruch = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcachegrind = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcalc = {
+    buildInputs = [ "GMP" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcharselect = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcolorchooser = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcron = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-base-artwork = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-baseapps = {
+    buildInputs = [ "Baloo" "BalooWidgets" "GLIB2" "KActivities" "KDE4" "KFileMetaData" "LibTidy" "X11" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-dev-scripts = {
+    buildInputs = [ "ECM" "KDE4" "KF5DocTools" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-dev-utils = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ar = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-bg = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-bs = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ca = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ca_valencia = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-cs = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-da = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-de = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-el = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-en_gb = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-es = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-et = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-eu = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-fa = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-fi = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-fr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ga = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-gl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-he = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-hi = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-hr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-hu = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ia = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-id = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-is = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-it = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ja = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-kk = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-km = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ko = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-lt = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-lv = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-mr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nb = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nds = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nn = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pa = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pt = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pt_br = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ro = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ru = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sk = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sv = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-tr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ug = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-uk = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-wa = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-zh_cn = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-zh_tw = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-runtime = {
+    buildInputs = [ "Alsa" "BZip2" "Exiv2" "GLIB2" "Gpgme" "JPEG" "KActivities" "KDE4" "KDeclarative" "KdepimLibs" "LibAttica" "LibGcrypt" "LibLZMA" "LibSSH" "NepomukCore" "NetworkManager" "OpenEXR" "PulseAudio" "QCA2" "QGpgme" "QNtrack" "SLP" "Samba" "SharedMimeInfo" "Soprano" ];
+    nativeBuildInputs = [ "MD5SUM_EXECUTABLE" "WINDRES_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kde-wallpapers = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-workspace = {
+    buildInputs = [ "Akonadi" "Boost" "DBusMenuQt" "Fontconfig" "Freetype" "GLIB2" "JPEG" "KActivities" "KDE4" "KDeclarative" "KdepimLibs" "NepomukCore" "OpenGL" "OpenGLES" "PCIUTILS" "PNG" "Prison" "PythonLibrary" "QImageBlitz" "QJSON" "Qalculate" "Qt4" "RAW1394" "Sensors" "Soprano" "Strigi" "UDev" "USB" "Wayland" "X11" "X11_XCB" "XCB" "Xmms" "ZLIB" "libgps" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdeartwork = {
+    buildInputs = [ "Eigen3" "KDE4" "KDE4Workspace" "Kexiv2" "OpenGL" "Xscreensaver" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdeedu-data = {
+    buildInputs = [ "ECM" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdegraphics-mobipocket = {
+    buildInputs = [ "KDE4" "Strigi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdegraphics-strigi-analyzer = {
+    buildInputs = [ "KDE4" "OpenEXR" "Strigi" "TIFF" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdegraphics-thumbnailers = {
+    buildInputs = [ "KDE4" "Kdcraw" "Kexiv2" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdelibs = {
+    buildInputs = [ "ACL" "AGG" "ASPELL" "Automoc4" "Avahi" "BZip2" "Blitz" "BlueZ" "Carbon" "DBusMenuQt" "DNSSD" "DocBookXML" "DocBookXSL" "ENCHANT" "Eigen2" "FAM" "FFmpeg" "Flac" "Flex" "GIF" "GObject" "GSSAPI" "GStreamer" "Grantlee" "HSPELL" "HUNSPELL" "HUpnp" "IOKit" "JPEG" "Jasper" "KDE4" "KDE4Internal" "LCMS" "LibArt" "LibAttica" "LibXml2" "Libintl" "OpenEXR" "OpenSSL" "PCRE" "PNG" "QCA2" "QImageBlitz" "Qt4" "SharedDesktopOntologies" "SharedMimeInfo" "Soprano" "Sqlite" "Strigi" "UDev" "USB" "Xine" "Xmms" "ZLIB" ];
+    nativeBuildInputs = [ "BISON" "FLEX" "LibXslt" "Perl" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kdenetwork-filesharing = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdenetwork-strigi-analyzers = {
+    buildInputs = [ "Boost" "KDE4" "Strigi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdepim = {
+    buildInputs = [ "Akonadi" "Baloo" "Boost" "Git" "Grantlee" "KDE4" "KdepimLibs" "LibKGAPI2" "Prison" "QGpgme" "QJSON" "Sasl2" "Xsltproc" "ZLIB" ];
+    nativeBuildInputs = [ "DBLATEX_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdepim-runtime = {
+    buildInputs = [ "AccountsQt" "Akonadi" "Boost" "KDE4" "KdepimLibs" "LibKFbAPI" "LibKGAPI2" "Libkolab" "Libkolabxml" "QJSON" "Qt4" "Sasl2" "SharedMimeInfo" "SignOnQt" "Xsltproc" ];
+    nativeBuildInputs = [ "_testrunner" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kdepimlibs = {
+    buildInputs = [ "Akonadi" "Boost" "Gpgme" "KDE4" "Ldap" "LibXml2" "Libical" "Prison" "QJSON" "Sasl2" "SharedMimeInfo" "Xsltproc" ];
+    nativeBuildInputs = [ "LibXslt" "PERL_EXECUTABLE" "_testrunner" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kdesdk-kioslaves = {
+    buildInputs = [ "KDE4" "SVN" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesdk-strigi-analyzers = {
+    buildInputs = [ "KDE4" "Strigi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesdk-thumbnailers = {
+    buildInputs = [ "GettextPO" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdewebdev = {
+    buildInputs = [ "KDE4" "KdepimLibs" "LibTidy" "RUBY" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdf = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdiamond = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kfloppy = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kfourinline = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgamma = {
+    buildInputs = [ "KDE4" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgeography = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kget = {
+    buildInputs = [ "Boost" "KDE4" "KDE4Workspace" "KTorrent" "LibMms" "NepomukCore" "NepomukWidgets" "QCA2" "QGpgme" "SharedDesktopOntologies" "Soprano" "Sqlite" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgoldrunner = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgpg = {
+    buildInputs = [ "Gpgme" "KDE4" "KdepimLibs" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  khangman = {
+    buildInputs = [ "ECM" "KDE4" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5NewStuff" "KF5Notifications" "KF5XmlGui" "LibKEduVocDocument" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5Svg" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kig = {
+    buildInputs = [ "BoostPython" "ECM" "KF5Archive" "KF5ConfigWidgets" "KF5DocTools" "KF5Emoticons" "KF5I18n" "KF5IconThemes" "KF5ItemModels" "KF5KDELibs4Support" "KF5Parts" "KF5TextEditor" "KF5XmlGui" "Qt5PrintSupport" "Qt5Svg" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kigo = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  killbots = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kiriki = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kiten = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjumpingcube = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  klettres = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  klickety = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  klines = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmag = {
+    buildInputs = [ "KDE4" "QAccessibilityClient" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmahjongg = {
+    buildInputs = [ "KDE4" "KDEGames" "LibKMahjongg" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmines = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmix = {
+    buildInputs = [ "Alsa" "Canberra" "ECM" "GLIB2" "KDE4" "KF5" "KF5ConfigWidgets" "KF5DBusAddons" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDELibs4Support" "KF5XmlGui" "Phonon" "PulseAudio" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmousetool = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmouth = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmplot = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knavalbattle = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knetwalk = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kolf = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kollision = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kolourpaint = {
+    buildInputs = [ "KDE4" "QImageBlitz" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kompare = {
+    buildInputs = [ "KDE4" "LibKompareDiff2" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  konquest = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  konsole = {
+    buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5KDELibs4Support" "KF5KIO" "KF5Konq" "KF5Notifications" "KF5NotifyConfig" "KF5Parts" "KF5Pty" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Test" "Qt5Widgets" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kopete = {
+    buildInputs = [ "Alsa" "Boost" "Expat" "GIF" "GLIB2" "IDN" "Jasper" "JsonCpp" "KDE4" "KdepimLibs" "Kleopatra" "LibMeanwhile" "LibOTR" "LibV4L2" "LibXml2" "Libgadu" "Libmsn" "LiboRTP" "Mediastreamer" "OpenSSL" "QCA2" "QGpgme" "QImageBlitz" "Qt4" "Qt5Core" "Qt5Network" "Qt5QUIET" "SRTP" "Speex" "Sqlite" "Xmms" "ZLIB" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kpat = {
+    buildInputs = [ "KDE4" "KDEGames" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kppp = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kqtquickcharts = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  krdc = {
+    buildInputs = [ "KDE4" "LibNXCL" "LibVNCServer" "TelepathyQt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kremotecontrol = {
+    buildInputs = [ "KDE4" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kreversi = {
+    buildInputs = [ "KDE4" "KDEGames" "KDeclarative" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  krfb = {
+    buildInputs = [ "KDE4" "KTp" "LibVNCServer" "TelepathyQt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kruler = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksaneplugin = {
+    buildInputs = [ "KDE4" "KSane" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kscd = {
+    buildInputs = [ "Alsa" "KDE4" "MusicBrainz3" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kshisen = {
+    buildInputs = [ "KDE4" "KDEGames" "LibKMahjongg" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksirk = {
+    buildInputs = [ "KDE4" "KDEGames" "QCA2" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksnakeduel = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksnapshot = {
+    buildInputs = [ "KDE4" "Kipi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kspaceduel = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksquares = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kstars = {
+    buildInputs = [ "AstrometryNet" "CFitsio" "Eigen3" "INDI" "KDE4" "OpenGL" "PyKDE4" "QJSON" "WCSLIB" "Xplanet" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksudoku = {
+    buildInputs = [ "KDE4" "KDEGames" "OpenGL" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksystemlog = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kteatime = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktimer = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktouch = {
+    buildInputs = [ "KDE4" "KDeclarative" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktuberling = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kturtle = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktux = {
+    buildInputs = [ "KDE4" "KDE4Workspace" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kubrick = {
+    buildInputs = [ "KDE4" "KDEGames" "OpenGL" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kuser = {
+    buildInputs = [ "KDE4" "KdepimLibs" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwalletmanager = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwordquiz = {
+    buildInputs = [ "KDE4" "LibKdeEdu" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkcddb = {
+    buildInputs = [ "KDE4" "MusicBrainz5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkcompactdisc = {
+    buildInputs = [ "Alsa" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkdcraw = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkdeedu = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkdegames = {
+    buildInputs = [ "KDE4" "KDeclarative" "OpenAL" "SndFile" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkeduvocdocument = {
+    buildInputs = [ "ECM" "KF5" "KF5Archive" "KF5I18n" "KF5KIO" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkexiv2 = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkface = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkipi = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkmahjongg = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkomparediff2 = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libksane = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  lokalize = {
+    buildInputs = [ "HUNSPELL" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  lskat = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  marble = {
+    buildInputs = [ "KDE4" "Phonon" "Protobuf" "PyQt4" "PythonLibrary" "QextSerialPort" "Qt4" "Qt5Concurrent" "Qt5Core" "Qt5Designer" "Qt5Network" "Qt5PrintSupport" "Qt5Quick" "Qt5Script" "Qt5Sql" "Qt5Svg" "Qt5Test" "Qt5WebKitWidgets" "Qt5Widgets" "Qt5Xml" "QtLocation" "SIP" "SharedMimeInfo" "ZLIB" "libgps" "liblocation" "libshp" "libwlocate" "quazip" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  mplayerthumbs = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  okteta = {
+    buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5ConfigWidgets" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "KF5Parts" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qca-qt5" "Qt5" "Qt5Core" "Qt5Designer" "Qt5NO_MODULE" "Qt5Network" "Qt5PrintSupport" "Qt5QUIET" "Qt5Script" "Qt5ScriptTools" "Qt5Test" "Qt5Widgets" "Qt5Xml" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  okular = {
+    buildInputs = [ "ActiveApp" "CHM" "DjVuLibre" "EPub" "Freetype" "JPEG" "KActivities" "KDE4" "Kexiv2" "LibKScreen" "LibSpectre" "Poppler" "QCA2" "QImageBlitz" "QMobipocket" "TIFF" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  oxygen-icons = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  pairs = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  palapeli = {
+    buildInputs = [ "KDE4" "KDEGames" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "QVORONOI_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  parley = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5KCMUtils" "KF5KHtml" "KF5KIO" "KF5Kross" "KF5MODULE" "KF5NewStuff" "KF5Notifications" "KF5Sonnet" "KF5XmlGui" "KF5docbook" "KF5produce" "KF5the" "LibAttica" "LibKEduVocDocument" "LibXml2" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Multimedia" "Qt5Svg" "Qt5Test" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  picmi = {
+    buildInputs = [ "KDE4" "KDEGames" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  poxml = {
+    buildInputs = [ "Gettext" "GettextPO" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  print-manager = {
+    buildInputs = [ "CUPS" "KDE4" "KDE4Internal" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  rocs = {
+    buildInputs = [ "Boost" "Grantlee" "KDE4" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  step = {
+    buildInputs = [ "Eigen2" "GSL" "KDE4" "Qalculate" "Qt4" ];
+    nativeBuildInputs = [ "PythonInterp" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  superkaramba = {
+    buildInputs = [ "KDE4" "PythonLibs" "QImageBlitz" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  svgpart = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  sweeper = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  umbrello = {
+    buildInputs = [ "KDE4" "LibXml2" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  zeroconf-ioslave = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+}
diff --git a/pkgs/applications/kde-apps-14.12/dependencies.sh b/pkgs/applications/kde-apps-14.12/dependencies.sh
new file mode 100755
index 00000000000..e00c7770ab8
--- /dev/null
+++ b/pkgs/applications/kde-apps-14.12/dependencies.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+manifestXML=$(nix-build -E 'with (import ../../.. {}); autonix.writeManifestXML ./manifest.nix')
+
+autonixDepsKf5=""
+if [[ -z $1 ]]; then
+    autonixDepsKF5=$(nix-build ../../.. -A haskellngPackages.autonix-deps-kf5)/bin
+else
+    autonixDepsKF5="$1/dist/build/kf5-deps"
+fi
+
+exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"
diff --git a/pkgs/desktops/kde-4.12/files/polkit-install.patch b/pkgs/applications/kde-apps-14.12/kdelibs/polkit-install.patch
index d2ecac663ec..d2ecac663ec 100644
--- a/pkgs/desktops/kde-4.12/files/polkit-install.patch
+++ b/pkgs/applications/kde-apps-14.12/kdelibs/polkit-install.patch
diff --git a/pkgs/applications/kde-apps-14.12/manifest.nix b/pkgs/applications/kde-apps-14.12/manifest.nix
new file mode 100644
index 00000000000..88069b6702a
--- /dev/null
+++ b/pkgs/applications/kde-apps-14.12/manifest.nix
@@ -0,0 +1,5665 @@
+# This file is generated automatically. DO NOT EDIT!
+{ stdenv, fetchurl, mirror }:
+[
+  {
+    name = stdenv.lib.nameFromURL "pairs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/fsaycjsmkm1g92j3syc2a8nwdgfgs99g-pairs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/pairs-14.12.1.tar.xz";
+      sha256 = "13byliibd6fwa8bsgka8hc64jkprmgsnqh9sks36w7ic22f32qhx";
+      name = "pairs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgamma-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4ggxl3vnlngg1p6irixa42as7gyp3c8k-kgamma-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgamma-14.12.1.tar.xz";
+      sha256 = "1ad2c1l2lbc2pdybavnnj834ww82rbm91k0wjgz25xc3l3gkrg9i";
+      name = "kgamma-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktux-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n68cvnv9h371cx7q5jqfqs2bdj1rqvyi-ktux-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktux-14.12.1.tar.xz";
+      sha256 = "00x5jm26w1a214chdg1fkzki1z3h1dbw5qagal4lkcb98fi5sbcq";
+      name = "ktux-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "analitza-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n8ayxw5rwzlyc015ff1lzwnd2wa3ss4x-analitza-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/analitza-14.12.1.tar.xz";
+      sha256 = "0jgmjda5n5935v37jgaichk5hif67mzlyvxqmr19wwmbiqfbazx8";
+      name = "analitza-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kubrick-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hz00x8miy3gw4gm2ylw0v90d8xnxxqml-kubrick-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kubrick-14.12.1.tar.xz";
+      sha256 = "0c2ixhd3763pzy92z1ck638wggmq3h4jvnax5ralfhhvn9r2f5bj";
+      name = "kubrick-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksirk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/fv5vdi5m80l7hzkhkidyk5rd1srghl8x-ksirk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksirk-14.12.1.tar.xz";
+      sha256 = "1sdd117xhn9jclqiczh1cr8apy0akwncmbj82gwm7i1qx31i55fx";
+      name = "ksirk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "katomic-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9wa79ygill8gb5n281cybrmj4zv627h9-katomic-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/katomic-14.12.1.tar.xz";
+      sha256 = "1mjzm4v80cva7kfakjpjkd4sw4fdcyin5f2srck7fl0pnqdpnhqz";
+      name = "katomic-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "jovie-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/w4b045lmp2viqrvifkm11n282l5khwbd-jovie-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/jovie-14.12.1.tar.xz";
+      sha256 = "1xkmybfgn6mbrp6lx8ri0dzmz1nsvg9cxlxan4n5bzwd3zjpycjd";
+      name = "jovie-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeartwork-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ky4vpsb0mm22raiq0r6jfxjsdr5c0vmv-kdeartwork-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdeartwork-14.12.1.tar.xz";
+      sha256 = "0jrdyy787wnqx31nrgmf7amhy5ix9w7anfnqrdn4w8yydpvghhqw";
+      name = "kdeartwork-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapman-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/l5xwmjgcw6rbmmhy2m5z55hxcf9d12hv-kapman-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kapman-14.12.1.tar.xz";
+      sha256 = "0bkpcjdcax6b3dp236ybaakpxz5b1vkrmmxpczvg6hf2cqwmlsv5";
+      name = "kapman-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkomparediff2-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/aixz1c1q6rnpqxm805xdirlqg47kw1kr-libkomparediff2-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkomparediff2-14.12.1.tar.xz";
+      sha256 = "0fjqsa83sqd7gcpm818yirnm077g6q616rh9676dzwv0cmc334zx";
+      name = "libkomparediff2-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-wallpapers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/kx7kv61rc3ddz7gmm5k5cwp9zh3k70nk-kde-wallpapers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-wallpapers-14.12.1.tar.xz";
+      sha256 = "1q28rb8a4rw6v5wvwri3aslc8xwbn0324b07lnkvn58alpmdga8v";
+      name = "kde-wallpapers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ark-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c21hgh72czi1nqr3lci8lynvsd3qkvzh-ark-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ark-14.12.1.tar.xz";
+      sha256 = "1fimg9f4l373l31kr59fvvsavssvn3ljdrxrgnl6a66v1gwgjsdp";
+      name = "ark-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-thumbnailers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b867ygwgvr9g8j54s3gya7c2wpr9gwf8-kdesdk-thumbnailers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdesdk-thumbnailers-14.12.1.tar.xz";
+      sha256 = "1p3abcnidk07jgr9qn03zfnhqci27683gz25wy271v6gl7b0wp6c";
+      name = "kdesdk-thumbnailers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-wa-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hp6x10injwcygbd5zqvkkg2k85n62drw-kde-l10n-wa-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-wa-14.12.1.tar.xz";
+      sha256 = "0aq5n0n0saqkllkwpf9a5scjpsv4bxzx89z2a048kh76i8h9zr5p";
+      name = "kde-l10n-wa-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-it-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/j8x84jy2x4fw72a2mj7zgzkbd2v430np-kde-l10n-it-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-it-14.12.1.tar.xz";
+      sha256 = "13z9gmaziyvw112phzxc7893lz6wh8q92gb3fj3hmdmzj0vfqv4r";
+      name = "kde-l10n-it-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-km-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/yccjbanz6ijsf5rdd0n53cwygbv5jm4m-kde-l10n-km-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-km-14.12.1.tar.xz";
+      sha256 = "0fdns3fifr4ypz5mi798xc18miwlb7lqz22f18gnrza22vnzwi09";
+      name = "kde-l10n-km-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mzfjypmyhmp3s7mnxk0mwf57s3l440c2-kde-l10n-pt-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pt-14.12.1.tar.xz";
+      sha256 = "13pzz23zf9nnl3a65nrpmwlpnkvr490vfs7yfvvr5w0nrqfwzhp6";
+      name = "kde-l10n-pt-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ru-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pjdp04f6m3ghqr23lyzxw7w0fgg5i6ll-kde-l10n-ru-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ru-14.12.1.tar.xz";
+      sha256 = "1a5ygssdwkm9iqakl1w4pza70g1gwh7mzi6jzhbd4jsn740ykw0r";
+      name = "kde-l10n-ru-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-de-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4j1r5xz2fslwv0di0dn9x8n49hrxizg4-kde-l10n-de-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-de-14.12.1.tar.xz";
+      sha256 = "1iavp7xr2qv8i97sl1kpl9kasi21br91l3mdah382ayhaz5khnlb";
+      name = "kde-l10n-de-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-uk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dz1zi3jrw92cgci5zc8nia3xzq1zykdf-kde-l10n-uk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-uk-14.12.1.tar.xz";
+      sha256 = "1228lpwggkwz9rwnmrmrw4f72hcbng40g1q1bfhjzw078s7j6nxr";
+      name = "kde-l10n-uk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ja-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ylf7xmqdh9yrz37yaq4f8nddap1gfanc-kde-l10n-ja-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ja-14.12.1.tar.xz";
+      sha256 = "191whr3i7qkqj2wjzjqgagb1vs391x9sp688w56ynjjmh58vrvq1";
+      name = "kde-l10n-ja-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-kk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b6n06i5p82k6fq4p4rpl7bf0cyklazxb-kde-l10n-kk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-kk-14.12.1.tar.xz";
+      sha256 = "01ivq7g550i9ik18xnibn7xl5mmm237wrsksjm0xni18s89wwz8b";
+      name = "kde-l10n-kk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ysarksjh5lcm2yhbphrsqhyzmlp6qclr-kde-l10n-pl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pl-14.12.1.tar.xz";
+      sha256 = "0ni41lp6l4l3pa1xf6kkim2k5qcvapm2g65nh5hryiwx9dpgkimv";
+      name = "kde-l10n-pl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sv-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/zpq7ayj7ihr1xw4ihcnckqvnagl28lk0-kde-l10n-sv-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sv-14.12.1.tar.xz";
+      sha256 = "1r84629cv7c0lkfxii0q133cl710rgiqp5iylb3w32h7c1ji4x19";
+      name = "kde-l10n-sv-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/g5pcas9cz1yq6qz9883l2djfpb77li8a-kde-l10n-ca-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ca-14.12.1.tar.xz";
+      sha256 = "1xprgp7l1h7wkfjh6v3yya9xw3r60vhsyk3ly38vcwxy5b6fjigd";
+      name = "kde-l10n-ca-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-da-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/v6hb004qp3i0p4vp1yslnmz4clb66p8d-kde-l10n-da-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-da-14.12.1.tar.xz";
+      sha256 = "0b38wgm8f23l9ya9h67m6zm785fmqi7737xfphjmrjh2i13gxpbl";
+      name = "kde-l10n-da-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-he-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/33f2k043b8gi64mr4wwrs6pwp5b9bq7h-kde-l10n-he-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-he-14.12.1.tar.xz";
+      sha256 = "0ynvsrczdraf55gaiwbv9nzwy548zkkbdh475frqfmalzh9b7jww";
+      name = "kde-l10n-he-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lv-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/7hlk5vyd3pl9rdp22ybsj868w6s7sfz0-kde-l10n-lv-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-lv-14.12.1.tar.xz";
+      sha256 = "0x3rlallirrzgn8gfyssyvaj3zaji672n6hfacp2djpfzbfwqq6l";
+      name = "kde-l10n-lv-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hu-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b2v25j4hlsl7lqb77wk7sj1j5z9q7ldm-kde-l10n-hu-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-hu-14.12.1.tar.xz";
+      sha256 = "061kyzz24f6bink3sm4p7q959977ril3m86lm8fa1ddnccw7ya46";
+      name = "kde-l10n-hu-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8a3pmbwm8k7g951yi5d3mv57y9vxn84z-kde-l10n-sr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sr-14.12.1.tar.xz";
+      sha256 = "16kcpilb4mp4cfgklc4dr6y389hlmzvwx8wp0y3i2w1r18nwd8m8";
+      name = "kde-l10n-sr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-is-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/l4fy9j1aix7fyisan5f2pa4273misph2-kde-l10n-is-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-is-14.12.1.tar.xz";
+      sha256 = "14r5wrkr39cipx40hqqcx12cvv0vql829689yiy97ypcg4bqndma";
+      name = "kde-l10n-is-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-mr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vk6fz8gixl7wv6w20h4inn984839lkkk-kde-l10n-mr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-mr-14.12.1.tar.xz";
+      sha256 = "1nvaxd38c4f9kkhkrv4bb1aczi1iv1bp16kmm47s1y6kzb93zq9h";
+      name = "kde-l10n-mr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xdh9f96r2l1fnj1z7dl4321aj362kjph-kde-l10n-ca_valencia-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ca_valencia-14.12.1.tar.xz";
+      sha256 = "10r6zkisnm4rcyzdxs0jbilbqg78qr9rzj5901q16kz01nm2fpfq";
+      name = "kde-l10n-ca_valencia-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-gl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0f4agkrcrb1cn6sdgdpj1bwln6f2ra5i-kde-l10n-gl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-gl-14.12.1.tar.xz";
+      sha256 = "1xjh19c7rjd5k3v3c7g0ljz1kz5vv3zhji4rm84j30z12cks3nhh";
+      name = "kde-l10n-gl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-cs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/3nk8pxfypvnwbcszm33fn3j7f0kmgdji-kde-l10n-cs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-cs-14.12.1.tar.xz";
+      sha256 = "1qg9y5173374fpf6yk4v8mlsqdjzp8inirp08qx0lh33jd6rpddb";
+      name = "kde-l10n-cs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-en_GB-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/i5vsmw062i49ki35qqyi0ix6x5fl4jvg-kde-l10n-en_GB-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-en_GB-14.12.1.tar.xz";
+      sha256 = "04b7amh2247ksr414m3x7bc4p22xm6kxncsax9ggapx613flb2zc";
+      name = "kde-l10n-en_GB-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p2jc4kci6k5kn1ihy9yv5inp4p4g01n9-kde-l10n-sk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sk-14.12.1.tar.xz";
+      sha256 = "0ic2y081699mv16hpkb3ivdvd4ph51wz3md5bz65pfz404gn7krf";
+      name = "kde-l10n-sk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ga-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4kbdmqqmv1slh4z56rifg8sw0a9980m4-kde-l10n-ga-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ga-14.12.1.tar.xz";
+      sha256 = "0794p0dqa1nnkwwc2ipslzhaakcx3r4b6s03hf7m14r58wmvws28";
+      name = "kde-l10n-ga-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hdyxfm2wnigh8wb3ay8y8v7psjrbijy7-kde-l10n-sl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sl-14.12.1.tar.xz";
+      sha256 = "0nv2yrk99dkvb49ww6l6za0czy89p1nsilm56f4mdgbvrgzwk9zp";
+      name = "kde-l10n-sl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nb-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ln3d7jpln9kl947fhgknbhg0rh6lnxds-kde-l10n-nb-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nb-14.12.1.tar.xz";
+      sha256 = "0zj66ydg5pwlx3hwwdxz6i8m330wz0w2l2p4fvf4kjvy49cafrmd";
+      name = "kde-l10n-nb-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ko-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vw8kpmpiyrrqch5wb4164yv0jhkdkpkk-kde-l10n-ko-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ko-14.12.1.tar.xz";
+      sha256 = "08q0d0q2cm2bmdwwmyavzb07wlbnf5lpl071gjm146kzk0y1kmpg";
+      name = "kde-l10n-ko-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ro-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/87kmgghdnkmzvdbk611qmv2nav8m2f0p-kde-l10n-ro-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ro-14.12.1.tar.xz";
+      sha256 = "0xprq9jw94i38aaq1drkv1qpgf3rf75745zlagzb430jr1a285lb";
+      name = "kde-l10n-ro-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ug-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/h8wfla9jsbhfjvjfnca6yjwpcc90nb5m-kde-l10n-ug-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ug-14.12.1.tar.xz";
+      sha256 = "1am6yr3qq4l2wgpphxhqfj8ydndvjxmc3cl4gz6zlkddaw4pv5kr";
+      name = "kde-l10n-ug-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mja592hds8ajqsx96wb1zxph1n0pxqb0-kde-l10n-hr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-hr-14.12.1.tar.xz";
+      sha256 = "0hjhzf77mckh9xqqxn54w47lsn3fwl2p4rfk22ijlliglrylpajv";
+      name = "kde-l10n-hr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pa-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9vay8airc00fg0d91lpp84l21akqxn27-kde-l10n-pa-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pa-14.12.1.tar.xz";
+      sha256 = "0sr6pygs0lk1ar2zn6966ngaf9vjfy207i1bgg6gr3559v5wkx8x";
+      name = "kde-l10n-pa-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-id-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/sx4w67x5xq87ragvsysg4jwcpvrk674p-kde-l10n-id-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-id-14.12.1.tar.xz";
+      sha256 = "018yvdp7l9qjaj7niyjas87dhna1xr0mikpdycw5dbwchpizlr53";
+      name = "kde-l10n-id-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/l9cx18xxg7ly9nrsfi1lj9vxzg19h9sq-kde-l10n-bs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-bs-14.12.1.tar.xz";
+      sha256 = "0ybh9wyhym05rlc3s0kl9lh07y96nyl3p4lifj13lcqi975mgnp9";
+      name = "kde-l10n-bs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt_BR-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/59bsq0cq07hc9apbfdmaa66jg5n8wlwg-kde-l10n-pt_BR-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pt_BR-14.12.1.tar.xz";
+      sha256 = "1wbgns7pq0jxjffgvr6hgfg3san1k2c7wppsvn2cpjiph0v4azz9";
+      name = "kde-l10n-pt_BR-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9xiaf2c0lbxy65vrx6hdh884ky6h2s79-kde-l10n-bg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-bg-14.12.1.tar.xz";
+      sha256 = "0m404hxz8dskbdsni021703vdn4lvwpf88hwrdrfnhcv06jazjiq";
+      name = "kde-l10n-bg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nds-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/m8ahg0qxpv2hskl9dl7dgch10adxfia5-kde-l10n-nds-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nds-14.12.1.tar.xz";
+      sha256 = "09r79l4ngcsnya6kqj5hj69xq00bf4ndxgkkplwiq137zqamqcfl";
+      name = "kde-l10n-nds-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_TW-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mq5v891rzj692h61aak71g71iy963ayw-kde-l10n-zh_TW-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-zh_TW-14.12.1.tar.xz";
+      sha256 = "1azwmzg47pk4b23hpnpic3c8phnfz4iy3n6lv50sz98b9whkmf0s";
+      name = "kde-l10n-zh_TW-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nn-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gprdva58d383n4ka677pdbpaz8l05w8i-kde-l10n-nn-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nn-14.12.1.tar.xz";
+      sha256 = "1xp44glwk6nnnavw0lrl7ssl5miqfd7b093chfz35g2g92nyaa3g";
+      name = "kde-l10n-nn-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ia-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jhv6zy04igavcq0dxsg9kk3vfh2063m9-kde-l10n-ia-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ia-14.12.1.tar.xz";
+      sha256 = "1kjjg4z4y0fh4kyzy9vzxlw47xkiirh207d7x0b94nksxzbqwg67";
+      name = "kde-l10n-ia-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-tr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hy0v61dnnmpbj84a4imvgxqx3y0fd5qg-kde-l10n-tr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-tr-14.12.1.tar.xz";
+      sha256 = "1kdxps75gv2vlf98f958llkk161z2y908bg1fdq4rgdh1n3bylkh";
+      name = "kde-l10n-tr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ar-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jmjbgfmqvcqd1sxdj0a7c73a9yqyzvpz-kde-l10n-ar-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ar-14.12.1.tar.xz";
+      sha256 = "121dblyh53fb3qirg7s9givqcn0xswdj2hrnqc8s2x2qas74v6a9";
+      name = "kde-l10n-ar-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_CN-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b9dqgb7nsfgyzhr4vw7fnl287spyjigg-kde-l10n-zh_CN-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-zh_CN-14.12.1.tar.xz";
+      sha256 = "0cyi0g55xln8smnlnhl0vfpi0jrihnfp3vrv6j2gz30zzfgkw9dp";
+      name = "kde-l10n-zh_CN-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-es-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0ycvh7sgyhjqffzq5ff5mjnv0y4f8pxy-kde-l10n-es-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-es-14.12.1.tar.xz";
+      sha256 = "11i4xmsigmi9mqbc5x9l96vsrfh6709fbbfpqa6b28a5jif9anmr";
+      name = "kde-l10n-es-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-et-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9rbki0767k1hirpx7530lqcw74bfy2b1-kde-l10n-et-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-et-14.12.1.tar.xz";
+      sha256 = "0c8vhbi1bi29krh1sway8z0536cn507i1lp8jffb4mk953mm5y9n";
+      name = "kde-l10n-et-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pq8r37pcg05p9rc5prcy9r2f5mby7m0z-kde-l10n-fr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-fr-14.12.1.tar.xz";
+      sha256 = "1s2glywjbrr2q6ssmalblschrgny4rk3q3aws2ffrrlkanx0qyva";
+      name = "kde-l10n-fr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fa-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/k0amn3lcd7xcssqh8fs46swa9jmksv9x-kde-l10n-fa-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-fa-14.12.1.tar.xz";
+      sha256 = "0pj3klcdlash8wgvz75nw009jz63rblv038yhrh1qsidjw4vsl85";
+      name = "kde-l10n-fa-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lt-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/cqbsi6sr0mcl3pnzlk0w52disg2xgm1i-kde-l10n-lt-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-lt-14.12.1.tar.xz";
+      sha256 = "0k4m1ixlnmmgbznhgvbmfss0c1fynd492sylcvbsrnqcawq3fqdz";
+      name = "kde-l10n-lt-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8pw7v2ccr5vgl6ic7dnlm5xcqgkbvxyr-kde-l10n-nl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nl-14.12.1.tar.xz";
+      sha256 = "0m0hwib0v5j2bmgkgwjzhbhqnyk8gcm46969rr2qf51snrvynlax";
+      name = "kde-l10n-nl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-eu-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vplfymrx36jk65b0xjmzh2g4l9ky7dfm-kde-l10n-eu-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-eu-14.12.1.tar.xz";
+      sha256 = "0wcax8gnnk6rwpfl6ph8z5i013rmh08pr159nxpakdsvbcn5ma5v";
+      name = "kde-l10n-eu-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xdh9f96r2l1fnj1z7dl4321aj362kjph-kde-l10n-ca_valencia-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ca@valencia-14.12.1.tar.xz";
+      sha256 = "10r6zkisnm4rcyzdxs0jbilbqg78qr9rzj5901q16kz01nm2fpfq";
+      name = "kde-l10n-ca_valencia-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-el-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p9a3lyi934i4pc5p8433firhkcs0ybn3-kde-l10n-el-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-el-14.12.1.tar.xz";
+      sha256 = "022kr5cvlz8hxj3s74my680ghp23lj8amykzgr5z9i996q2hs6ps";
+      name = "kde-l10n-el-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9f3cb3yksriwphrnkmn1knrq0108ka4p-kde-l10n-fi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-fi-14.12.1.tar.xz";
+      sha256 = "1sxs5z3dkx7hb8l7ilrhzvl2ip02fsb24iqgh0gadqwdfj46gwjn";
+      name = "kde-l10n-fi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pfswxr29nz9qylmb7n83cnap95khz248-kde-l10n-hi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-hi-14.12.1.tar.xz";
+      sha256 = "0a5ilahwh6wpxg4mb3wqg079qfvcxg7zqblwyx6mdwh4d2ly5y1f";
+      name = "kde-l10n-hi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "granatier-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ychwcs2gn4mgmhza315nmf2z35c0ibb7-granatier-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/granatier-14.12.1.tar.xz";
+      sha256 = "0lifihkssp0g30kv3iigbpr9ghdwwykmzfiv4qwsxaxadil9qqlm";
+      name = "granatier-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kamera-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c1n1s1hbj8q4smgxnd4kka9qidh0rvvw-kamera-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kamera-14.12.1.tar.xz";
+      sha256 = "1avmsy622rnyyvsx9zwspqx9g4mb5wzc74mvcjrivi3c3mcz2ng6";
+      name = "kamera-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfloppy-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/bl5csvnm20xxaqz5p7d3ymnkbd0df1p1-kfloppy-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kfloppy-14.12.1.tar.xz";
+      sha256 = "1ky8n0zk07d3cnap8f3zw5qck2kw4l0dql0fnbk3s58r982af2fd";
+      name = "kfloppy-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepimlibs-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/v157pqk6clf9yn21cdbvxxvh0sn892rd-kdepimlibs-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdepimlibs-4.14.4.tar.xz";
+      sha256 = "04c53ms91r8bpxgn305zzvagi30jli7217kvgdy4z4il6wnvns8r";
+      name = "kdepimlibs-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkipi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/7amx4gdg85lw28amb0v3nd92hk71lphs-libkipi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkipi-14.12.1.tar.xz";
+      sha256 = "01bpjh40p5cwli018sgyn6jgis1l83icikabcw6vxkp8vsn3q6yg";
+      name = "libkipi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khangman-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jyx0msd02v7iikj7czv3y8ckw79rahpa-khangman-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/khangman-14.12.1.tar.xz";
+      sha256 = "1574cdbq5lyq4hl84xwia5z15az4zzh6zvasxvaa5bz94cjkpyns";
+      name = "khangman-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konsole-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0wy6dhhq6gn6h58vi324yiqa2f5ni5py-konsole-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/konsole-14.12.1.tar.xz";
+      sha256 = "0i7mccspglppz0sx2zqfn0861h6ibxkwrcscivqk7yxpq44nb58j";
+      name = "konsole-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "killbots-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/yg7gb0aidvcxh4i1z0ja8nvs23vhdf22-killbots-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/killbots-14.12.1.tar.xz";
+      sha256 = "0i006gjysfbf9wn0qgbv47fvx8z4v49ikcaqg9y83pl72shnsa1j";
+      name = "killbots-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kturtle-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/s16w00cgm430r315d2v2a041hivc5a1q-kturtle-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kturtle-14.12.1.tar.xz";
+      sha256 = "0sn74w413xx5y3kh0fqf7f47pklz4v22nnv6x11kpkcyx1xmghh9";
+      name = "kturtle-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kajongg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/j2qlvd878dlxkaps9v61dw9k1n6nmh4p-kajongg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kajongg-14.12.1.tar.xz";
+      sha256 = "0690jlsnj3s2l51nmx3an75q0m6xv0rssdmshrmbxgp2cqx5b455";
+      name = "kajongg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bomber-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8v0k2n5pkvv6wg3q957zqclasmsw2a7c-bomber-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/bomber-14.12.1.tar.xz";
+      sha256 = "0g4cb3jwva9saddf9m2j4k3y1gybh2bv8dxzfb1xqy5cv20qlrfc";
+      name = "bomber-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kruler-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c61iqdbq71kb6wvnzfq7436hni8anrrn-kruler-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kruler-14.12.1.tar.xz";
+      sha256 = "0rag54kg5jzgj32fnf4xmawb0hnk52rhjf7i2y5f3156x3iraxxx";
+      name = "kruler-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmag-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/r2c1gika9sw2m5i1mmj3b47n7g19715k-kmag-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmag-14.12.1.tar.xz";
+      sha256 = "1wlz3n3z9qcsqvs7rz3a76bh6rkrq0g9p797axcsfp7wzjfilj5c";
+      name = "kmag-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwalletmanager-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rqrykz2vvj59w1563dgcjpi8fmkwdnm5-kwalletmanager-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kwalletmanager-14.12.1.tar.xz";
+      sha256 = "16pd2iym8v9xxdmazn2i7vq61c9m805h9a7awy8wha8bfdinazvi";
+      name = "kwalletmanager-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krfb-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/x147kkpbjm9mmdbapxs040cvb8fci9ab-krfb-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/krfb-14.12.1.tar.xz";
+      sha256 = "15kxapi1mwjpbj995k8rxla0h1wwvhd406pbwkpak3a9szljsv72";
+      name = "krfb-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcddb-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ar6s1pn0lfgs1iw6q5akr0l5dcrd1x2a-libkcddb-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkcddb-14.12.1.tar.xz";
+      sha256 = "1vb8rmb1j0nh2dh8ch19v1qpdxhc4c0am7k11lld45kamg3az0gd";
+      name = "libkcddb-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klettres-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dbf3r79p85w5v6jihmqndcb631kqpb7m-klettres-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/klettres-14.12.1.tar.xz";
+      sha256 = "1bj5s3js6v3641s2kgrl6a5bgr25g9lgbvsfzqrp0pil2nx1g6h1";
+      name = "klettres-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klines-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xwj5di67f0swj1w0c2235vrbany8ffgn-klines-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/klines-14.12.1.tar.xz";
+      sha256 = "1hxjqpc1z47dj1ryp116hdzkla4h1awnlmyzq7yjhki2viw32n3f";
+      name = "klines-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksystemlog-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/aj1drn165rirvr5wjmqfnzsfknnb32gj-ksystemlog-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksystemlog-14.12.1.tar.xz";
+      sha256 = "15a92f873vybp3m9icjshbqs8nl6xm4cl9ca3cghmdlcqrn7f92x";
+      name = "ksystemlog-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klickety-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/y8p216blw2zrld7mj5c1ji9nwqhrbqsf-klickety-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/klickety-14.12.1.tar.xz";
+      sha256 = "071y9khz57mrw12dvwxhs03jn56j06hw38hcf8d4r4wksbwr3j87";
+      name = "klickety-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lokalize-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5c1isv8y9s4k7153i5y41jdps6zsp8gl-lokalize-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/lokalize-14.12.1.tar.xz";
+      sha256 = "1ala2pfqh0a0kqxiyfpp11rcn805g6gcn0m9qjbmdqhl9wviij9h";
+      name = "lokalize-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-thumbnailers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/d315k9787k4c5ww7zp0341cybnwwsy2j-kdegraphics-thumbnailers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdegraphics-thumbnailers-14.12.1.tar.xz";
+      sha256 = "198m7iw621azbcp4abv3izq5p29yz9s2apr6ivxpp1iqzpz2x70g";
+      name = "kdegraphics-thumbnailers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-base-artwork-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6v8hm7rgdvfkvakv1jfq3g7jk3zq7x3z-kde-base-artwork-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-base-artwork-14.12.1.tar.xz";
+      sha256 = "0zd298ii8a3lnfh6lxgw6nmf91kx3days1nqk5arilkbrf7b4952";
+      name = "kde-base-artwork-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "artikulate-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xaibvsd6g0xnwpnayb0jxhah9hmb3xin-artikulate-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/artikulate-14.12.1.tar.xz";
+      sha256 = "021hyprapc6fjhls55yn69sndm13krfriwj1vmq5mvqxzr0aid2k";
+      name = "artikulate-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccessible-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/s6j8nymsygqkh4vfgkgqwcg6xigda53d-kaccessible-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kaccessible-14.12.1.tar.xz";
+      sha256 = "0gp49jxkscdqd35xqmzhr17smiwyxgx8xbr7hkvbm10dzn9kx6x7";
+      name = "kaccessible-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konquest-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wxk5v878fibdxxd9m9f6phyc99a56psc-konquest-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/konquest-14.12.1.tar.xz";
+      sha256 = "006an4bpfsnzcpm086xjyryd1xlzw0yz2knbzkvsdf3jr9kpmnrr";
+      name = "konquest-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "superkaramba-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p3yhp4gg9pfbmnlb6jqk6xhaz2yllx9w-superkaramba-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/superkaramba-14.12.1.tar.xz";
+      sha256 = "10dlnn4knlvkz38c98613x9px85a8dhlfwpp4231r3v5va03xszj";
+      name = "superkaramba-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-kioslaves-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ga54jhkjav5i83vmir8j6l51d3gv1cs1-kdesdk-kioslaves-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdesdk-kioslaves-14.12.1.tar.xz";
+      sha256 = "06f8xxzldsqmch9acmfd95lr48rm94d6qll62bj5zi0bs5qjygbw";
+      name = "kdesdk-kioslaves-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cantor-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xhdgix591fkzqdzw0pch0vv8wk2kkhz5-cantor-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/cantor-14.12.1.tar.xz";
+      sha256 = "100yscp21w7amqmwzh4zsk7kmyn5pf3swlkwipz857wi3wajkm75";
+      name = "cantor-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-mobipocket-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pvk5701kz79m2bn13n45ffwy0zjng838-kdegraphics-mobipocket-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdegraphics-mobipocket-14.12.1.tar.xz";
+      sha256 = "0qa0bpfvgbq3x3wlgi1cp3v8xn1wayyjrc07ffdr63w1gfi10mg1";
+      name = "kdegraphics-mobipocket-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-runtime-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/yd2zzjmb762dkjbkhjxdsnbg38k53f65-kde-runtime-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-runtime-14.12.1.tar.xz";
+      sha256 = "0cy2dhxw2cvbgqrknb3iy97rip2dcd7nrq3pj649mpq9a3r3cg17";
+      name = "kde-runtime-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiriki-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hxk0628k5s042wcxwd1v7vy951bsjqxp-kiriki-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kiriki-14.12.1.tar.xz";
+      sha256 = "00j95hcyrnw2li2abkwqsd0dp8ph4wlqzy0d3gzfnkal19j2x2m2";
+      name = "kiriki-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwordquiz-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6a5bi2hpxmry12zq6qkwk2hzlv5h7qkz-kwordquiz-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kwordquiz-14.12.1.tar.xz";
+      sha256 = "1c03ab89lnnin81lvq3mbcw2d10k3rjlk2fpplcbbnsryq35bivi";
+      name = "kwordquiz-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kate-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ykssldwmik1x7njph3rmzh9d14n7f0mi-kate-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kate-14.12.1.tar.xz";
+      sha256 = "0c3diy846drf5nihvhzhpsp8pl2kviyn6ian61myy2147smkany5";
+      name = "kate-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "parley-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/3k84f0vl6l7l65hmbbdlfp2zg348kcmi-parley-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/parley-14.12.1.tar.xz";
+      sha256 = "0awzpa9bl1j9gzy3596dhpsg3pqbmmdh87n52z7cjyk8sw0ikk19";
+      name = "parley-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdegames-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/clfp83sn2pg1jr82j79szwkx0aysl9a3-libkdegames-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkdegames-14.12.1.tar.xz";
+      sha256 = "0af15lbsjc7w5p3s3nxsb08cvyg7dncjmpw7z1vhgqykzmwpyp56";
+      name = "libkdegames-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcompactdisc-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ghjddljclnsn3z0rflrrxanbkzxn46m5-libkcompactdisc-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkcompactdisc-14.12.1.tar.xz";
+      sha256 = "10zpv05wmqs1lrby95d5bgvwiqcmkd3ndrdsr6cpayg2lw9nq86d";
+      name = "libkcompactdisc-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmplot-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/k78l2m24w71dbczia8bnwi3fhpqghj6b-kmplot-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmplot-14.12.1.tar.xz";
+      sha256 = "0p0iv3m2648vyr1imzwdfs73rc2q39nl8r7w31z5dhm65rq2zi27";
+      name = "kmplot-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kuser-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/lpdpdbbbgfyib95cq1m1db5fdym6wjxz-kuser-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kuser-14.12.1.tar.xz";
+      sha256 = "1zgik2i9z0n58m3fm8g0kgjm9aqa6v1f3331r8nrjir9vd9vr8g7";
+      name = "kuser-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kspaceduel-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p1lzq3dbil7klabykd2995j65qwqfldd-kspaceduel-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kspaceduel-14.12.1.tar.xz";
+      sha256 = "1zihp0nc6gs4xymyykldjw22zrxm8qznjaya4z1fw07hwndijvia";
+      name = "kspaceduel-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "gwenview-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/agnpfa5vjjfq79j3x2nf3nfwvvxjl28i-gwenview-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/gwenview-14.12.1.tar.xz";
+      sha256 = "04g3qkz1g27ph6ha1zrbqpr827vhx9n2nigr0dy95a61qw1m0jww";
+      name = "gwenview-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-icons-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wfnbykydc5zl9d678mpw7hpc1nscynmg-oxygen-icons-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/oxygen-icons-14.12.1.tar.xz";
+      sha256 = "1z27id29s98h20dg27wr28w2qpb25ii1xsrgjk6r33nhj2y39jmg";
+      name = "oxygen-icons-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kppp-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/q4fxwbxh1rl3icjzhcyij7wwbchc0xzn-kppp-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kppp-14.12.1.tar.xz";
+      sha256 = "0lvcanlskjgra2wn3k1j5jx9vy5k0g381ycg79fazkczsr8is5wf";
+      name = "kppp-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmouth-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9ny33z3srhnwz8p9fd7i6klmm9y9j08k-kmouth-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmouth-14.12.1.tar.xz";
+      sha256 = "0a3fhlgy8z84n83v59safl71v29px9783dndlqgh1dk8lmki7dmd";
+      name = "kmouth-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kig-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/iwj5hwmm9p278b7yi510fh38710w96rr-kig-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kig-14.12.1.tar.xz";
+      sha256 = "0qs89kpms9ch2r9xj4scvjscn7b7bh5k1nxaln1z654mgp1rl4f8";
+      name = "kig-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkexiv2-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/z8w5hn03zzpbpg7mjdmykylcbvhcd2ac-libkexiv2-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkexiv2-14.12.1.tar.xz";
+      sha256 = "0qpfccasra3ffq5iz7dpxpzcyk13ywjdaz32n1wfsylfv158w9sg";
+      name = "libkexiv2-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcron-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ixgf55ccq4gyyazhnbrrrg1qhpgh048s-kcron-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcron-14.12.1.tar.xz";
+      sha256 = "0czcxajsdx7xal9cvy9cd4drhvaivx68mhymj5k3n90cka7qda2x";
+      name = "kcron-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnapshot-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vjc105v5nsibh4pfvrvsjck78f2645lx-ksnapshot-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksnapshot-14.12.1.tar.xz";
+      sha256 = "02g48b3i7xglrgp1nxvpbsrq7kqg81s4mf6k9rhfn312n45g1arg";
+      name = "ksnapshot-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "marble-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/543lrxwg6zz77yz58ihn3dvf9rhy3xzg-marble-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/marble-14.12.1.tar.xz";
+      sha256 = "13plghz8d5a8gdkq3nr7m0bvp2p0smqnj987bmsi1cldvliwiijl";
+      name = "marble-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpat-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/2ssmxyy2vhlipyrh6cs5qgms20cicmhy-kpat-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kpat-14.12.1.tar.xz";
+      sha256 = "02bh34553r7k0vf7sb5nsr6zgmh1xfgyjfyfc22yvknpmz2zz8wb";
+      name = "kpat-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "poxml-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n8504ljfha2rq1r0lrpz0gyyh59rpjln-poxml-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/poxml-14.12.1.tar.xz";
+      sha256 = "1r0iqqszmqmjnkq41xv87sc601fm8s94ga9pn37alni7f7qddfrs";
+      name = "poxml-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "umbrello-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/m7ia6872rxwbpx88zidqanf1wqni1az6-umbrello-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/umbrello-14.12.1.tar.xz";
+      sha256 = "0kr60kdfg2pl049n4rkksfs6160jijxdwymx60gj44h8w2dxrx6c";
+      name = "umbrello-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krdc-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/qlj342akja4fh4yp2fib4v4bm3kn2bmg-krdc-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/krdc-14.12.1.tar.xz";
+      sha256 = "0jqq60spxb64m9y37q2wd7w1z3h0c0hcjvd6wi694v0zhblg5622";
+      name = "krdc-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktimer-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/39r333hqffzycjszw3wbash4p8cs4vrc-ktimer-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktimer-14.12.1.tar.xz";
+      sha256 = "1p4y1kx3w6rqwjnhpjx17246w8gp7l8q2212x7khs8karnfyvxh2";
+      name = "ktimer-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kremotecontrol-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p9al8bnc7cy61ccnbmw5vzbvg36rq3yl-kremotecontrol-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kremotecontrol-14.12.1.tar.xz";
+      sha256 = "0rvf73bj6l7cgbjcpn2bgy00zpdw4sj5zcchgl42xldl75zzr6mc";
+      name = "kremotecontrol-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-utils-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/qsdvwqqp7pwbh2vdi5p3w56snysf94f8-kde-dev-utils-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-dev-utils-14.12.1.tar.xz";
+      sha256 = "1wpiarm8h4y5yjrdrxkmndps06h08vql70n63aai8crdvgwixdqy";
+      name = "kde-dev-utils-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knavalbattle-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6ic12j8bm99jckl82p347717mrhl5v6r-knavalbattle-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/knavalbattle-14.12.1.tar.xz";
+      sha256 = "1jd4b2kmlknh1xz055xysasfs90810m8sg4iwyzqv2j5kj8i4x4l";
+      name = "knavalbattle-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksane-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/72jv9b0id1ql2pbz8vdcm77n7s7br3vk-libksane-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libksane-14.12.1.tar.xz";
+      sha256 = "0a4hp2d0h26nkggmkiswywlw0aj5wkk8c6s9wy2h7m7qcmyq4gk0";
+      name = "libksane-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdcraw-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/j4y0bpk9zir6270cmxmfxn10bphgbdw8-libkdcraw-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkdcraw-14.12.1.tar.xz";
+      sha256 = "0svalln7g862d6f5k76vdggqc1h1x9gagm6v56yzr9dypz81y40m";
+      name = "libkdcraw-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "blinken-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xl2fn6zcfr99ir7l10y8dd79ns4msgyp-blinken-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/blinken-14.12.1.tar.xz";
+      sha256 = "1fvgq57qhx305qxmhzm628p283dyk9nnp33q5vgcxxfw726mi5pq";
+      name = "blinken-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "step-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1v6hadh7m1i58hc62c6z2qs2ycsi02rw-step-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/step-14.12.1.tar.xz";
+      sha256 = "15wlgig9b932ck1hwdld0q8nh74rh820wj4nc6ifys83wv43jnzh";
+      name = "step-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-strigi-analyzer-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0invqcgsx7scwmihagccpgdfq3aa52w8-kdegraphics-strigi-analyzer-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdegraphics-strigi-analyzer-14.12.1.tar.xz";
+      sha256 = "03lajpwia7fmlnr9l0g44knwghz8b2i70i659nkvypw6qd89cccr";
+      name = "kdegraphics-strigi-analyzer-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-baseapps-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rjsmd2babmjdbwvr5n5gv1f9wcag4iln-kde-baseapps-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-baseapps-14.12.1.tar.xz";
+      sha256 = "0l31842mmriirkcqsdmj7s31yjwr5im8di7z7dfjgjqy0j1q1jzc";
+      name = "kde-baseapps-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-scripts-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/h2hcdrv66b95ajbj5wrz1aspq4fr85pd-kde-dev-scripts-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-dev-scripts-14.12.1.tar.xz";
+      sha256 = "0g3i26vm3n2jc69mpwy94b60ff9c6fsr4yrl1h4f3408f4g4sjj4";
+      name = "kde-dev-scripts-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kollision-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8kf7fxqm2avmamkdidsglx7rvl30cj1n-kollision-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kollision-14.12.1.tar.xz";
+      sha256 = "1l2c34l95kj4f8y156yirc35vfb2yblnkkjq1bfkmiavsb6vzhd5";
+      name = "kollision-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgoldrunner-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/82jk65vx3xpg2ydn3fzg6v2w07xgihhc-kgoldrunner-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgoldrunner-14.12.1.tar.xz";
+      sha256 = "0sgr2034mr5gmmg81qp9sqjw2sn2cgdw8bl9dq2iid43czih5zbw";
+      name = "kgoldrunner-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolf-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/y7m9zzkm4wz23myj568sdjpn86f6m4iy-kolf-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kolf-14.12.1.tar.xz";
+      sha256 = "0arxis9q9qzbv35qq52pl4j5xzqhdwypjhxwdiqammqksdnln8lw";
+      name = "kolf-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okular-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8ipl9g3hgm04x1xpvyy8ahlbvjq6birx-okular-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/okular-14.12.1.tar.xz";
+      sha256 = "1my3d91lm6wz8gh9g7pw4rrdxkc22vr9v02b22qqvxb2z8mdq5cb";
+      name = "okular-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkmahjongg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jl34m0f1m497dpwnmmw2svy9ig9x7x5q-libkmahjongg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkmahjongg-14.12.1.tar.xz";
+      sha256 = "00s4akfgr33n1bg2bds1fxccnig9hybm95qq95ii6ky4jyjc6b78";
+      name = "libkmahjongg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbreakout-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ab28gj1xwh9calkkf87xqnh84x8cjq08-kbreakout-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kbreakout-14.12.1.tar.xz";
+      sha256 = "1cvqjch9ymjii7xmlg1clscbv6245m5bnf77dxz6nkzsrcy4khbx";
+      name = "kbreakout-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgpg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8bfm6nbnd3clpdy108yab44vv7552c1i-kgpg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgpg-14.12.1.tar.xz";
+      sha256 = "0cfhmlp200dbhdkckf7xvfbfsz985zw7vp6vin4w378dzyw55lmb";
+      name = "kgpg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscd-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/lfsycaw8n7kjsbnkga24cfqmpr0rpff8-kscd-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kscd-14.12.1.tar.xz";
+      sha256 = "0ag9i649ah627b5xsacvz1q05pijfrbwrg34bpcc61px9zsgk18l";
+      name = "kscd-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcalc-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5avv44x780sz0v874cl781k7camn6xcj-kcalc-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcalc-14.12.1.tar.xz";
+      sha256 = "0qsfllwhn1gd675k5fxbfcfflnn86cbh3nzn70bc2lmxmwrlzbj2";
+      name = "kcalc-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfourinline-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/qbgn1hkh15gv93wbrfg2bh14zsfgxfva-kfourinline-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kfourinline-14.12.1.tar.xz";
+      sha256 = "0mhykajapvbcrasadyjjjz7sps3vmmw1hhijfjbswkb62ikmwc6k";
+      name = "kfourinline-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "picmi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/s1m8hz32vjf2v38p2rkznrx4mgn6rzr3-picmi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/picmi-14.12.1.tar.xz";
+      sha256 = "0nrg4qza4h99k59w92v3qy68xlkdslqrlqi62fg94i88rl9l6ypq";
+      name = "picmi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebdev-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9mqr7imp19hgjl7bn5sbp2d3xmgrr3p1-kdewebdev-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdewebdev-14.12.1.tar.xz";
+      sha256 = "0iv2r5vxkk8bg8p2zpq2dqnq0vvwhmjls0gdg30gyc4w04a7jcqr";
+      name = "kdewebdev-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmines-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/nx62f1snc9d786yi1vsh0vzixkgrv9gr-kmines-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmines-14.12.1.tar.xz";
+      sha256 = "13f070kh0rfs5pmw3lnlwxwvx2ph2q8n1vm9lvr6kw1ablngiacm";
+      name = "kmines-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "filelight-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/syf2l3yk3wga82cyak82janjsjhgvbd5-filelight-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/filelight-14.12.1.tar.xz";
+      sha256 = "1dzcgric6rxhxhi84lgbsmkfk6s6b96px8019njnp744jys2ikv8";
+      name = "filelight-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "amor-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5nkk3cqvi177qd3mq0n687r5swcrixfd-amor-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/amor-14.12.1.tar.xz";
+      sha256 = "0p0fgp3j6x1f83kxdvmkcy4ladhg206m261fbpa92zyxp2ylnl0a";
+      name = "amor-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdiamond-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6pbb85yp6xhd3x5w0a5ql6ms10yj1pj3-kdiamond-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdiamond-14.12.1.tar.xz";
+      sha256 = "12frpi62f4w86ygxa68dvx1nj8n7w7lsgizfdyc6lix6l5vfzn7x";
+      name = "kdiamond-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kteatime-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/89l402jmb83ji7xvkz82kz024l012yaz-kteatime-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kteatime-14.12.1.tar.xz";
+      sha256 = "0my0fjiblkkfy2148axc7gp1nsx5lr2y8zn6d2labai2f6dy1bpf";
+      name = "kteatime-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "juk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gjxwckkx3mikzkpxs7vzk830nj42fj6q-juk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/juk-14.12.1.tar.xz";
+      sha256 = "0wzjrk5w5y0f6bc98pr7xni1j8krdyjsk3agcwkhb4d4c0aa5gka";
+      name = "juk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "mplayerthumbs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/kdk1frzcpvc11ln0vamc6m0m7h1xfnj5-mplayerthumbs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/mplayerthumbs-14.12.1.tar.xz";
+      sha256 = "0z9iw1syv61y4fb4dlr9n8w78ri7wpznys5bd5sn0hxbkwnavs6b";
+      name = "mplayerthumbs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kget-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/v34rq3l61yyxsml99xp18adg85ki53r1-kget-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kget-14.12.1.tar.xz";
+      sha256 = "1jr15bcc09pypihva7pjsq6rlj0kqqhqvprxdggmwa7fnyyjxrg4";
+      name = "kget-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkface-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8l4frnslphg2rbpmaikwi0j7w4hfw56r-libkface-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkface-14.12.1.tar.xz";
+      sha256 = "198z0n286qnngrln24s1dfghkddz5zy7qr8af0jkywxdj3j2ks3a";
+      name = "libkface-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcolorchooser-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ygwdm76ijc39y3blkfl7s6g21328dk1p-kcolorchooser-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcolorchooser-14.12.1.tar.xz";
+      sha256 = "1yw1cxg2caddncnhqyck1fh7g43svgcb8pb15wp5rz7qqs0p65mf";
+      name = "kcolorchooser-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dragon-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/2iwy70md4cqg461x92sbxwbfzmj4y1xz-dragon-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/dragon-14.12.1.tar.xz";
+      sha256 = "0wqmjb7zl883mcmx4x8ss0x64r79wrphfxkyva6sifcy596y2wxh";
+      name = "dragon-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjumpingcube-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5n1arbyl0fjp5b5xdlgyha4nwpxbczyz-kjumpingcube-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kjumpingcube-14.12.1.tar.xz";
+      sha256 = "1h7nypr5b8b5az7c2gszihlhq9k2dn92cabjmif9rlkrvl6nahcy";
+      name = "kjumpingcube-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapptemplate-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/fxh9hhx7z5bv151xrxw26h91pz09lw9z-kapptemplate-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kapptemplate-14.12.1.tar.xz";
+      sha256 = "00df6ckfaglnnxizzqmci10h8hiqjv0fgi8xb3x4d3aszb049k1y";
+      name = "kapptemplate-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksquares-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/16zwzi9y1215imff1phggjza00j9y4br-ksquares-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksquares-14.12.1.tar.xz";
+      sha256 = "0b1av02srxfd9ji51f2pcb5phmlqdz2lzik1n97yzn6f0xh19h9y";
+      name = "ksquares-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bovo-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gfficdhz1w80xmvn9842jx1fwpd81lqi-bovo-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/bovo-14.12.1.tar.xz";
+      sha256 = "08in3ppksxp7zdgrv5lvjxzlvc6srfjcicagqbj2r8nrfmngjlim";
+      name = "bovo-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksaneplugin-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pafvmq1gg81mjpwyf388k311qwf7pgcj-ksaneplugin-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksaneplugin-14.12.1.tar.xz";
+      sha256 = "00bsd58kfvhp36rbwsmbk3yqjx8gca3r42q5z3fvd0jpf7y8xxip";
+      name = "ksaneplugin-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "rocs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n25f8hphjdbwbk9z488i4bjmfai5vzsx-rocs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/rocs-14.12.1.tar.xz";
+      sha256 = "033irmbjs6d8q7zdvz7vzx61d0gmgxb96cypwlwjmww1czgy9zcg";
+      name = "rocs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kompare-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ikirdy65sp1w2w38p28nkzic0zhw5iyp-kompare-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kompare-14.12.1.tar.xz";
+      sha256 = "1js49gfffbv6nplr907dkcq3j6xi6h1276n0fbkpd7y31cca6mi7";
+      name = "kompare-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalzium-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4zh8mah5lsisbnv07nas6wqv6xvsqzy4-kalzium-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kalzium-14.12.1.tar.xz";
+      sha256 = "180qq9h046hax0jl13iy9mzbzhn66y41p8cj5447qgrnjbdk5qa8";
+      name = "kalzium-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksudoku-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1pbw74v9j5r9x36b2r7yq5k8n9fbcvwz-ksudoku-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksudoku-14.12.1.tar.xz";
+      sha256 = "1majccia02g7icqh8pad3m91nj94j228s66v25szlwacg2zc86zr";
+      name = "ksudoku-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cervisia-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/2ifpmknn9aw760hsz4j7cf7kc6x704hl-cervisia-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/cervisia-14.12.1.tar.xz";
+      sha256 = "1xgvk1qar2mg5awkwsc0wzyzmskgv9r6bgbczyy0fjjd9xh0mp75";
+      name = "cervisia-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcharselect-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/3qpkmwxn855x58k5za6r67rniyzkj006-kcharselect-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcharselect-14.12.1.tar.xz";
+      sha256 = "0rb4dr7ygiks45c73nwab9wg9zdn1xgq93yhkpp23bkfq9ca7z4f";
+      name = "kcharselect-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbruch-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mvjdshn07gw1jn31y7igfzrzdmkpw98d-kbruch-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kbruch-14.12.1.tar.xz";
+      sha256 = "180gbax6lrn5qr1l7x1c3i0i2kh1by4j80bif66jxwra505by50z";
+      name = "kbruch-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knetwalk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/y0pg73qfkvfdrk3r7xz7yfgzl2s24vg5-knetwalk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/knetwalk-14.12.1.tar.xz";
+      sha256 = "00b2zkiv3i99k6ri3xljas2fc2ihri84cmckgwrzvpxbdha8wpj8";
+      name = "knetwalk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "palapeli-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/7vjjf69hw3kkwxmnlxfcg44wh7yy1s5i-palapeli-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/palapeli-14.12.1.tar.xz";
+      sha256 = "1zdbhn7dfrzb18k3rjgm934gjib5kazkgblsl15jxlzw2yfy458i";
+      name = "palapeli-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okteta-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mk87jrnhqgcarmc658k4f2fpm1181i3g-okteta-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/okteta-14.12.1.tar.xz";
+      sha256 = "1mw32cjj2kw36frki26nycwi48p1s0wi2v9h85v9dwgk6235i7d8";
+      name = "okteta-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnakeduel-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1mbdk8jijasnkhrzavpv89mzbfrz9b6n-ksnakeduel-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksnakeduel-14.12.1.tar.xz";
+      sha256 = "14ryx9ydwi23lhf5xr5mn77ixzkirwdg43mrh2cc0rnq440mzalv";
+      name = "ksnakeduel-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/nky571v70dk45hy9jfvii63amga1qx55-kdelibs-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdelibs-4.14.4.tar.xz";
+      sha256 = "0h255hhl46r7ax9hm9sr7qddljwzfky2ssh695ml3svfwg52mihl";
+      name = "kdelibs-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-strigi-analyzers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6sfiw6s55wnsnsyh0sas9s3f8fbpwnw4-kdesdk-strigi-analyzers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdesdk-strigi-analyzers-14.12.1.tar.xz";
+      sha256 = "1bsf1dgb2039jjzqy6pr66yw08kxbn5xpna0bfmrbiw4pprlmbi4";
+      name = "kdesdk-strigi-analyzers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "svgpart-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hcxrbw696pca5z4p95ws7373x55bi9lj-svgpart-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/svgpart-14.12.1.tar.xz";
+      sha256 = "18r6n6wh8yg5wmd5wyc8sf6k994ghfknanlp7l1pcqwqa6wfv6rx";
+      name = "svgpart-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-filesharing-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dazj5495njhw8bdyizpx0af9r20bvj5a-kdenetwork-filesharing-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdenetwork-filesharing-14.12.1.tar.xz";
+      sha256 = "0id8qmr432ygkfmcq3mfr3zv0w58393w0z5pd86k8nnkz43nh208";
+      name = "kdenetwork-filesharing-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ffmpegthumbs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/11nyk47q1i4qh92kdzw3l6gi5nqhja5b-ffmpegthumbs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ffmpegthumbs-14.12.1.tar.xz";
+      sha256 = "1q6ayhxrsq3y5yvrawsvr88pzl7vcz5ms6dq0sgd4mad83kwl5yj";
+      name = "ffmpegthumbs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmix-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5y3gdnaa0a8nhpd5a2abp3ixcdnmg9im-kmix-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmix-14.12.1.tar.xz";
+      sha256 = "1zk1c1m1zihb4wih2330a95gd1skakwsx0vccxp8np3nsh71z3fa";
+      name = "kmix-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "audiocd-kio-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6h2dlw28xi87axxdglbkjz2jyjl78ijv-audiocd-kio-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/audiocd-kio-14.12.1.tar.xz";
+      sha256 = "1wi3mwx9v7lh71ciar29c1bprwh2lgq46yq3kx5gq7wz20cx54hh";
+      name = "audiocd-kio-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lskat-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/awrjks0ihywpqygz8aqwrxn53yd8sljb-lskat-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/lskat-14.12.1.tar.xz";
+      sha256 = "19q5qzfh1dczkdz612hw21849h438dhl21ghbfm5hi5m04vmn8rc";
+      name = "lskat-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmahjongg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/kk2rlvdl5hm4b0ms3i5pvs1r6lh5ipbh-kmahjongg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmahjongg-14.12.1.tar.xz";
+      sha256 = "1pbq9f6zb96v98sz94kz979z5scpqzvc5fp4nxs2dg1rx1la8qxl";
+      name = "kmahjongg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-workspace-4.11.15.tar.xz" ".tar";
+    store = "/nix/store/pmn8vgwjdszsl46pra65vn5i7pxfj7g4-kde-workspace-4.11.15.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-workspace-4.11.15.tar.xz";
+      sha256 = "1y7df6mar72lzy1dan7v5wwgf2w669b0hkrdb6ai1s3whmqr611a";
+      name = "kde-workspace-4.11.15.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdeedu-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1l6fwf3bb28myf3k3hsiv27gk8ar6gz1-libkdeedu-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkdeedu-14.12.1.tar.xz";
+      sha256 = "03jic27ghfz2gpbn2nb69qiiip4vgy3y4as8qx328cl39l5vh8d4";
+      name = "libkdeedu-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktouch-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wvgsj2m324xic0rjr6kyi7pfwqnfpmzq-ktouch-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktouch-14.12.1.tar.xz";
+      sha256 = "07z1nkyc4hxjd39pczkv1z6dxdjn3334wnv778mdrf98lm77vjxd";
+      name = "ktouch-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblocks-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wgjmvym6jg44xr5mzgw3pb77w1ya8s2h-kblocks-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kblocks-14.12.1.tar.xz";
+      sha256 = "0qk5g5karl29g4hbpl7lfgahv71as3mj6j604cpd2wiwma05qa2s";
+      name = "kblocks-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kqtquickcharts-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5ppmqjmqizw31x1yjnzmicybln433l9a-kqtquickcharts-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kqtquickcharts-14.12.1.tar.xz";
+      sha256 = "026am7l64m721vv3l79z6v3avxq94z1vrzx1ifwf8p001inf4ydy";
+      name = "kqtquickcharts-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sweeper-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1nwklpfvdggaxadjc3396j8qgwdl619h-sweeper-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/sweeper-14.12.1.tar.xz";
+      sha256 = "0c3kqnjwi5q24k7b05dr5mygd3ps0r1s9cbs49r9zikswz7gky1d";
+      name = "sweeper-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kopete-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gcj1qvbh1m7hbbyfdsl1nypc07nzy0yn-kopete-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kopete-14.12.1.tar.xz";
+      sha256 = "1pkgzlq7scz0pvmn2dis128rh2hdfxhbg6imn4mwrizmlpaycb98";
+      name = "kopete-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbounce-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/w5dhnrmkm982i7kw1j9j5rf09z22cka9-kbounce-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kbounce-14.12.1.tar.xz";
+      sha256 = "1x726x5x6cpdnig0wmam7zzigj33afwswdmxxgspnpimkybwpy0f";
+      name = "kbounce-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kanagram-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/cxxfxxpmnk70i9cx0cgx7k6jdg32s73f-kanagram-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kanagram-14.12.1.tar.xz";
+      sha256 = "07lz09armwr4j594pn30d617ngxcn8n3yxikm79ck5020gx4wvgx";
+      name = "kanagram-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "zeroconf-ioslave-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5jhzsqxdfzh1zw1d103np2rm34jdj945-zeroconf-ioslave-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/zeroconf-ioslave-14.12.1.tar.xz";
+      sha256 = "12ri1dbbzc9dwx2n843979yvh93a9yrzpprk9jdmjr1hkna8rgmy";
+      name = "zeroconf-ioslave-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkeduvocdocument-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/zcxv7zv41p63pij7d37wdp4hcll77ldc-libkeduvocdocument-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkeduvocdocument-14.12.1.tar.xz";
+      sha256 = "0nqjcddjmapgadlkv97banjk5fh7p355hfxcbspksyndsgplz1hv";
+      name = "libkeduvocdocument-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmousetool-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dv7j6rb4688zzlp36l45f2h0vzykvybj-kmousetool-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmousetool-14.12.1.tar.xz";
+      sha256 = "0k38qj2hv9k846fba4sxdg1biplbdn5hfmfhx5qmc6g6h8xrs2dr";
+      name = "kmousetool-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolourpaint-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dqi11m0gnkyrfppdlibvgv2gbycpjqm6-kolourpaint-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kolourpaint-14.12.1.tar.xz";
+      sha256 = "15vkd7i35myfi9m11p52g8x7dlkvf06fa400r9vbw321fza2gyjc";
+      name = "kolourpaint-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgeography-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/zl0qg5scvgmzsq6c7l4s2rs4dh6v243h-kgeography-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgeography-14.12.1.tar.xz";
+      sha256 = "04g2sw2r1i8kc85n9igk15kmk3hc8gdci52lxk4ca04bxcif7061";
+      name = "kgeography-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dolphin-plugins-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1cknwl7y4djaq1cwjj3g38k8w8gi6zwc-dolphin-plugins-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/dolphin-plugins-14.12.1.tar.xz";
+      sha256 = "0sjfm5ry54h56vbbch11js50a70pvwbkinyxxgyvs6g260ngpkx2";
+      name = "dolphin-plugins-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kreversi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rbc1h7c1v7bdzgwxqw5xs2x19rn4z9q4-kreversi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kreversi-14.12.1.tar.xz";
+      sha256 = "1011262n5zh6hji7xxgq3k2hkgh0hqhpvk9krw22plda4nww2xwc";
+      name = "kreversi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-runtime-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/rwsx6c3s4nc7vkcfk0c39jbp7f5f0rvp-kdepim-runtime-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdepim-runtime-4.14.4.tar.xz";
+      sha256 = "08axhahiqv77cr6ssvh1cadqjvv1064w5l94wxadnyq3vz8kl6kz";
+      name = "kdepim-runtime-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdf-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5caacq7s0yh79mqykwj5wydj3b5gyl83-kdf-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdf-14.12.1.tar.xz";
+      sha256 = "1cvd7ydk277crv1wiw7sn72mv9lf5pqk56gylfmzr63mr7dyj5iz";
+      name = "kdf-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiten-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8dl8yv38wpv199jjgw3kdl8rajxnnc77-kiten-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kiten-14.12.1.tar.xz";
+      sha256 = "0518zbvgn3w00b7lxfivrgrp8xrpb09rf9cf9zdxdl2z37gxmvmv";
+      name = "kiten-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-strigi-analyzers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1widcjdd8hzy1dnabg9px06yjc0k7ncf-kdenetwork-strigi-analyzers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdenetwork-strigi-analyzers-14.12.1.tar.xz";
+      sha256 = "1xdb3hm7iad2wvbwqaa5bbqzgg6xdbbv68xfjajpx8k9cn20kh9r";
+      name = "kdenetwork-strigi-analyzers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcachegrind-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/k4y83g821js66c35bc6x2r8m1924vd4f-kcachegrind-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcachegrind-14.12.1.tar.xz";
+      sha256 = "01fa9b73ymym5qyd5lirb4cf6c37x02a1a9ls2qgzswflm557d49";
+      name = "kcachegrind-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kstars-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/plbszpr250pr7x41578a4b5n329wgl4l-kstars-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kstars-14.12.1.tar.xz";
+      sha256 = "08px9765vl6hpmy39wyhlbm4d3y5wh82w33g2fppx4d9bxmpz166";
+      name = "kstars-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/shap58rcwhg13766v7zm28nxr6rn09gw-kdepim-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdepim-4.14.4.tar.xz";
+      sha256 = "0jpbc84xv07j2qynkn4mhmwlldbmjg6v7dqc1028kfk7sbcahhf2";
+      name = "kdepim-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktuberling-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c4m2nwfbjwqgc9ydq6macg4zkmrsd7v6-ktuberling-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktuberling-14.12.1.tar.xz";
+      sha256 = "1ghymw6ljvkd9wi4j0f1n8gjkhxfkqvmb8n36lasrfr27v57z68v";
+      name = "ktuberling-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblackbox-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rnz72ryzp7mcxk83l71rw7br3k6hamr9-kblackbox-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kblackbox-14.12.1.tar.xz";
+      sha256 = "0cxyzlsvhw9rg3b9c558zbqr3ijbzyx5as9g92ald8w7qjja5jnv";
+      name = "kblackbox-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalgebra-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c3gmynlqgyhdx3nghhwgk8i85qqysjsj-kalgebra-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kalgebra-14.12.1.tar.xz";
+      sha256 = "0pn4scp7y7ih60jaq39kanwgsc2aslb41v9xw8322kk8q4gyc8g4";
+      name = "kalgebra-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeedu-data-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/53ksfs7gxzr33sgdbfxk4ydjzzl2c7y3-kdeedu-data-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdeedu-data-14.12.1.tar.xz";
+      sha256 = "0hyqwkva7bgi43fgad4caz8q4pcb9kx5czpc3d8nksk5q28a1llg";
+      name = "kdeedu-data-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kigo-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ggvs29ryi85ig0r9z3jq259kvyq1k1h0-kigo-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kigo-14.12.1.tar.xz";
+      sha256 = "100rrip6w08ld2xgwdm2dryk8qa92dssdz0a0iykgklddq6dvxr1";
+      name = "kigo-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "print-manager-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p445xkdbm1dqqb3p2x10rag6xccidp9c-print-manager-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/print-manager-14.12.1.tar.xz";
+      sha256 = "1ad9a23cfivyzfgajg1bn10n2glp2ks8yqkl5f0xk5alyldzbir6";
+      name = "print-manager-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kshisen-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1hx5ws8bbzh0lnmjp0x8ln1s7rv3x62a-kshisen-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kshisen-14.12.1.tar.xz";
+      sha256 = "1b0csn1ngpcwcl8iwv02hy1gb6hk13453khzgya6ckixk5szcdy7";
+      name = "kshisen-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lskat-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/w24lqbmni5n7w2xdmw1khzixg9f2p64m-lskat-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/lskat-14.12.2.tar.xz";
+      sha256 = "0c5zg0lkzcgf7ff1hqy6rh8cq5z4935p7rmm463pl933djpbl5bn";
+      name = "lskat-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpat-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1w6n38dac3mslyfl5blf1cas013m9h8g-kpat-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kpat-14.12.2.tar.xz";
+      sha256 = "1rhs752b3ncbpbmrc9zknww0dsihh3lvwvh629v1s6xc0vqvcar4";
+      name = "kpat-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-strigi-analyzers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/738qaln8qxvsdnqiy6adk9sh28rfjkgy-kdesdk-strigi-analyzers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdesdk-strigi-analyzers-14.12.2.tar.xz";
+      sha256 = "08db2nhkw265i2dfbka5q6vm7bxbjywk1p52hhjc57a2qvqfb5ww";
+      name = "kdesdk-strigi-analyzers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "zeroconf-ioslave-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fl2nm7vv3k36vyf2wml8pv4sskh53ycr-zeroconf-ioslave-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/zeroconf-ioslave-14.12.2.tar.xz";
+      sha256 = "0jx35018amdcgmxi9c7alc4c80qywzakqdrzyq5i7jxjcl3y1ly0";
+      name = "zeroconf-ioslave-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmix-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jrmw028qjd86q4mjyasx64iyssaj7wk7-kmix-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmix-14.12.2.tar.xz";
+      sha256 = "1jx2mkrdx5jgrjr02snb199xradpxaw42dw8y7icbpmkihxmxry1";
+      name = "kmix-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmag-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g87b5njzgp7jrydvwvc2xwpnwv0p33kd-kmag-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmag-14.12.2.tar.xz";
+      sha256 = "0bcrr67v6h9vc69341b662z7dbgxm3yrazfkfsdlxp1ahqspl6w5";
+      name = "kmag-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "mplayerthumbs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/35izrbqhb52zlfs2x1qsjc0k1l2d1pkk-mplayerthumbs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/mplayerthumbs-14.12.2.tar.xz";
+      sha256 = "1kwpd3j64zm78qwn42q3kgipywdlcpvibng06x032yv6i8wmi6m1";
+      name = "mplayerthumbs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbreakout-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hqsma0ww8philxqp1hk22sk3lf711y4i-kbreakout-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kbreakout-14.12.2.tar.xz";
+      sha256 = "12y03rbm13pg1c8xpgclklin5vjzsidyaiamhh5bqpqsxsqcnh5n";
+      name = "kbreakout-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kreversi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cixkkb370365vic33rl9n9846ll44rqx-kreversi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kreversi-14.12.2.tar.xz";
+      sha256 = "05zkwswpy5sw9ab3gc012pgvl0wq8f2lb0qhdr96rvxgp8m273j5";
+      name = "kreversi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "jovie-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xmvafr9hszzwndqazdzsn9i90cwi0afs-jovie-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/jovie-14.12.2.tar.xz";
+      sha256 = "0yfn5n3n3knacvpr3cqiii0hldbxc6m09k1g53hlksay61s2r56v";
+      name = "jovie-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yhs96yv9mv61pp521mpay8i0dgqlmm1y-kde-l10n-sr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sr-14.12.2.tar.xz";
+      sha256 = "07f8x34q8bdcsvc3a76zpd0sjxnq5ja6ghl3d9a0a4ix0hyyv8zd";
+      name = "kde-l10n-sr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/l2499bc6hfv5x284cs4bjvqbmbxr0aij-kde-l10n-hi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-hi-14.12.2.tar.xz";
+      sha256 = "12ky5zmds18n2sgivrnpds8qjkd64397ia9h8h9s5s9l3cwgipb2";
+      name = "kde-l10n-hi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-tr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kpcnzwp6wg76slwd2zdmzmg09iydims6-kde-l10n-tr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-tr-14.12.2.tar.xz";
+      sha256 = "1d326cxhfx0434x45lq9wgn5csvmclgd6fmyqzwlax88vm57gg62";
+      name = "kde-l10n-tr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/p36g7i6w8hgsz3wdax3ldxzv3djmw258-kde-l10n-pl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pl-14.12.2.tar.xz";
+      sha256 = "0knjhk0941qf28l4izz2ssfri88s09k0vxd3d6xblg51r6m0b2sk";
+      name = "kde-l10n-pl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-km-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/iyab41x341l7b1acprqv7azbdbxbd0lw-kde-l10n-km-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-km-14.12.2.tar.xz";
+      sha256 = "108pcxflcbhisixivg6153sm8rrbdrrh6rbvxib307dh1q1sl7ix";
+      name = "kde-l10n-km-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-eu-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/sqlfyy4bhzgnv75msvyv2m7sx8vwhb0g-kde-l10n-eu-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-eu-14.12.2.tar.xz";
+      sha256 = "0x8dihag23ljyw50qpg3bqyhfg8p4f6k1daz2102wkqdbwhzk1ch";
+      name = "kde-l10n-eu-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nds-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/63qi174y5jw1cs3q0wzb5jk4j64q4zqp-kde-l10n-nds-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nds-14.12.2.tar.xz";
+      sha256 = "1nyz71cpin9cqffjaca9wv9s5v9n358agb1ncamg5iqj176cxvrl";
+      name = "kde-l10n-nds-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-et-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/f4jmy4xgm9a50a4r6nlvjz61ihw3w14j-kde-l10n-et-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-et-14.12.2.tar.xz";
+      sha256 = "1a4kih4lb4sqwasvqhqj06r37rj00vjlhwihlr7jk8z373yg6kk3";
+      name = "kde-l10n-et-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ko-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/j4jf2n3bikb23kzg55i538jjhz7gn2jx-kde-l10n-ko-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ko-14.12.2.tar.xz";
+      sha256 = "0vv4xdis64nc66i81fnilnkl8max6wm07kzwiqahdnrbrza8vqab";
+      name = "kde-l10n-ko-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-kk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ha5w0palyj9b7ajwd5xdqppgjnx1vsv0-kde-l10n-kk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-kk-14.12.2.tar.xz";
+      sha256 = "0bvghaggmzm8a12gl2z6ykgf8qabiagjmmddiqihbnvdi27ia78c";
+      name = "kde-l10n-kk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hu-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9cjm0q29zj5p7if67m6ax4vp9bsp1xmq-kde-l10n-hu-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-hu-14.12.2.tar.xz";
+      sha256 = "0s2h123kbylc9ijxv6yfj5l593zgy5ar843rn82jjpvfbq3qj11n";
+      name = "kde-l10n-hu-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/v1zrvmd2lvn0y3brh0j4h5k97sgqj6jn-kde-l10n-ca_valencia-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ca@valencia-14.12.2.tar.xz";
+      sha256 = "0ivr9rxk220rxdw37yx5ipdd8ik43jn43b50cbanw6hx3h39bpiv";
+      name = "kde-l10n-ca_valencia-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/l1nsi3pqrb0wv2v650sa8xax75kpinxx-kde-l10n-fr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-fr-14.12.2.tar.xz";
+      sha256 = "01lkgx857vmxl90si1b55gyz27iqdbk7qkn5v40n356zzaicrxva";
+      name = "kde-l10n-fr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qmf7y72b47pnq0b0gmxhw3slsgmy2awf-kde-l10n-sk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sk-14.12.2.tar.xz";
+      sha256 = "0diajsp56l6dg96m9nij834dmky1gh48wd8ji5zs37fvpmdc96r0";
+      name = "kde-l10n-sk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-es-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/var4wc2isqx94ay6lq8fnnynb1566sgm-kde-l10n-es-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-es-14.12.2.tar.xz";
+      sha256 = "01ha5db71rzkr3a0mlq80ag0fagivvjh26ck0y8da101lgl01i4r";
+      name = "kde-l10n-es-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3h7wyirznwm4zh6flqq1j2hacayvm423-kde-l10n-ca-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ca-14.12.2.tar.xz";
+      sha256 = "1gcypc9l95iry45vh4pl1i7hwrdnm4lgnwnfnw1l7016lhgfjr8m";
+      name = "kde-l10n-ca-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/v1zrvmd2lvn0y3brh0j4h5k97sgqj6jn-kde-l10n-ca_valencia-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ca_valencia-14.12.2.tar.xz";
+      sha256 = "0ivr9rxk220rxdw37yx5ipdd8ik43jn43b50cbanw6hx3h39bpiv";
+      name = "kde-l10n-ca_valencia-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-cs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/mi03yzrjslab56mj7qw22d2lzl2kk4pj-kde-l10n-cs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-cs-14.12.2.tar.xz";
+      sha256 = "0rb6wnw0944zpllm4cac063r7hl5rq28x3b5a6has0cz4mqk9jw9";
+      name = "kde-l10n-cs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ar-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9lw0j1h2pwvl1zpcl8cjba2xqc7lwkp9-kde-l10n-ar-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ar-14.12.2.tar.xz";
+      sha256 = "0nkv2pj4f3hjrv25l8kqm9cqv0j7h3crrzyqzq026zzz6znlq190";
+      name = "kde-l10n-ar-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ix18mmzjf395q3wj2qcbpm1z9jvywm4k-kde-l10n-nl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nl-14.12.2.tar.xz";
+      sha256 = "0izpvjmlh8yk1nnzpxa59n6lv4fk7575j8nwjapy0ynrknps4fff";
+      name = "kde-l10n-nl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-de-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xa7h417v8b57fzimvggiyfx7hys197kz-kde-l10n-de-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-de-14.12.2.tar.xz";
+      sha256 = "1y54csccymc7hpbsm8kjw4v9ypgvxqcqahwvan2x84fvn7p80inb";
+      name = "kde-l10n-de-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fa-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/44rprv2vwz090i48pnykzws4blyryxw8-kde-l10n-fa-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-fa-14.12.2.tar.xz";
+      sha256 = "04qxb6qaj1cb174m6svd83m34fv8hwws8v4a20igkh09b5bl3dsx";
+      name = "kde-l10n-fa-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-wa-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5051arszznb40q77d34zcwnaaxwv5wx1-kde-l10n-wa-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-wa-14.12.2.tar.xz";
+      sha256 = "08il92kssd4d1zdkks4777pk8l2n3k4abv589x8rja4rlmpxrscq";
+      name = "kde-l10n-wa-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nb-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hvcw01d444zkmyw1zpds2mnw7xmx4wca-kde-l10n-nb-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nb-14.12.2.tar.xz";
+      sha256 = "1q461np49d0n0zhby9dd8knf7y3w9vi1r49bzlqwd1y4hb3alnms";
+      name = "kde-l10n-nb-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-uk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xqqsvrfab53ybxfm0hq63bnlqpn6pz62-kde-l10n-uk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-uk-14.12.2.tar.xz";
+      sha256 = "0avr2c9drnkv7ndz9mqjayf6pivk6hbghmj6rli91lvqavjp6vlb";
+      name = "kde-l10n-uk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ug-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kc6d1lkncc3djfn8zybhz6xzz7nzickb-kde-l10n-ug-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ug-14.12.2.tar.xz";
+      sha256 = "17jizdwkfh3gfi9ykpszqw49fzswgps7xlbq9j8pjflyk36rya9i";
+      name = "kde-l10n-ug-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_TW-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/35mka79zjlplbis7b6dhiz48wls25gc6-kde-l10n-zh_TW-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-zh_TW-14.12.2.tar.xz";
+      sha256 = "0h3nfp51w7r601d6rpi55nzrmpywp3dalwqjwx4a6rnlawf3s2hr";
+      name = "kde-l10n-zh_TW-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qs4xzws3s0vamj17m98fxcqqvp8hyyw7-kde-l10n-fi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-fi-14.12.2.tar.xz";
+      sha256 = "1q8j8v7i7lz3qk22adr1cj0bs6qw36540bj0vdzpa3390fn3i2ra";
+      name = "kde-l10n-fi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-el-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yz0rzw7m437glx49xdxp4zz7ic51g5nq-kde-l10n-el-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-el-14.12.2.tar.xz";
+      sha256 = "0wcbzs0s1nqafa0hi0abb17yw3jnxcq2mxyk4h5p9g7q7pkvh6s8";
+      name = "kde-l10n-el-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fcqsn91fsip4bi7y763y07i3ii4ji8zs-kde-l10n-bg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-bg-14.12.2.tar.xz";
+      sha256 = "099af2qdxjy8whfaw0hzmlywb7l7bmpssga90xyahr7nh6l8vwnz";
+      name = "kde-l10n-bg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lt-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nbb6gg7pc3yzjxs3gj7l0363i5d1bq1h-kde-l10n-lt-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-lt-14.12.2.tar.xz";
+      sha256 = "1lkjmcj77mmk6lvh1h51k8i9nn33b0q9vgbampj33qgax1d7a4mk";
+      name = "kde-l10n-lt-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pa-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/92dr7l2vrh1j4bxj2zy21prpfb1v9ba6-kde-l10n-pa-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pa-14.12.2.tar.xz";
+      sha256 = "1fagcrjjm7s0kpkfflkjx6rbgzprf7qidpbgwzw3jjf501vfdpkn";
+      name = "kde-l10n-pa-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2iqdi982l5gbh3ajibgznzxg6ryjn49p-kde-l10n-hr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-hr-14.12.2.tar.xz";
+      sha256 = "11dabhhz676ria4nwvkx49igzm481fl9996j3p6rzd4kbhrksgq0";
+      name = "kde-l10n-hr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rfkj26fa9pi0mraxd8mgnh758dhp0m7n-kde-l10n-bs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-bs-14.12.2.tar.xz";
+      sha256 = "1x4m0cksbiy25s8pynskmasy7kkzm8i8mp5dvsx3wsh0msf4pg1i";
+      name = "kde-l10n-bs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ga-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/sw87zcl7ddd68wlws5689h7r7g5bbcgl-kde-l10n-ga-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ga-14.12.2.tar.xz";
+      sha256 = "0ayambdzdfnky6bwnk5ghnch18y4ran6inrb8v4i1c407zn74ydx";
+      name = "kde-l10n-ga-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_CN-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/id89acc90qgfqjcidjfsx1sn62yk7c56-kde-l10n-zh_CN-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-zh_CN-14.12.2.tar.xz";
+      sha256 = "0876r1bp36w0iljrlhlnxfizapvw0h2qmpjnf5s7vf5iisrvsbrb";
+      name = "kde-l10n-zh_CN-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ru-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rki0855bdgqwi8ajwmnl9jdm1hgn18xs-kde-l10n-ru-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ru-14.12.2.tar.xz";
+      sha256 = "0i2fb0fa1drg99m5k5d8sdv04g809c3dz507wlrb9bnmarapahhn";
+      name = "kde-l10n-ru-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-gl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xhqd4bxhv3p1mwr4j7h59858dc782ycs-kde-l10n-gl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-gl-14.12.2.tar.xz";
+      sha256 = "1mpzxlk93bf50ajk3m9ly19fdn34rnpznap6bad05zj9wczin9km";
+      name = "kde-l10n-gl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-da-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/8p2ygqhbbzxmnrjjxyris3281bdklbm9-kde-l10n-da-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-da-14.12.2.tar.xz";
+      sha256 = "1lqs9fpp1dj8r0mpnjy8m7aa9jg8iv30k7wdpxpcf634m2p06911";
+      name = "kde-l10n-da-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gdrvx87d6y9q47alc0s2251dzm04wpdi-kde-l10n-sl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sl-14.12.2.tar.xz";
+      sha256 = "01yj9wh5zr72vgxman2j49ihhcyxr2yw820g2cz68bbqh829riiq";
+      name = "kde-l10n-sl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-id-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qcs4fdkjrkgva632nqyi1z24h517fvl7-kde-l10n-id-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-id-14.12.2.tar.xz";
+      sha256 = "1cc1yfps29fakra3xfnnzf6blqsydx4r9scsd0w0f8xxk3mr87j7";
+      name = "kde-l10n-id-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ja-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/klsqxbpagy7jj2ha51hqr7h9qpd4qg9s-kde-l10n-ja-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ja-14.12.2.tar.xz";
+      sha256 = "0i7x21yvj3ipg96jmfqs7kaixqa82f5s58mpi34vyypcc1ap4731";
+      name = "kde-l10n-ja-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/lmg22mpi05l0944ihv9z72jg1i8xs2zc-kde-l10n-pt-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pt-14.12.2.tar.xz";
+      sha256 = "123j4h4bhy0xdhazl18yccp17283k98s4f09f24r5b54yzw5cs0k";
+      name = "kde-l10n-pt-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-mr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/pgw29ki339a22l9c7incm93qvmjhvwif-kde-l10n-mr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-mr-14.12.2.tar.xz";
+      sha256 = "02z4hq74gxgvcnx0za74zlyx01m407bc3219wiqb88ly5b6g59af";
+      name = "kde-l10n-mr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-he-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/4p5v5j7l1j5xvz83jilwmmg22v5pl1y0-kde-l10n-he-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-he-14.12.2.tar.xz";
+      sha256 = "02lmsvdyw878hk55r5dqm065n3f1czgq0icspi25ibxgvhf0nmji";
+      name = "kde-l10n-he-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-it-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/pzpmizw0hsfczli3wk7mihsad2ziwnjy-kde-l10n-it-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-it-14.12.2.tar.xz";
+      sha256 = "09sfiv36q40sy9w3nqld89lgmpd8kba6xav683a28a1i0ipsjjbc";
+      name = "kde-l10n-it-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ia-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/7gphdvwvll05pn6dn3wxydy66d4an0hc-kde-l10n-ia-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ia-14.12.2.tar.xz";
+      sha256 = "03jkjrbgp59xiwrbj9hp55y3qhpcyg1gxwv0vcbvxaxpg1zg7s1x";
+      name = "kde-l10n-ia-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nn-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6xryf5sf70rqzsp6zirfc85hbq8mq93q-kde-l10n-nn-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nn-14.12.2.tar.xz";
+      sha256 = "1wr73m10liqvd7fkq3gqh4y2ibwgm200cbk6dv58xr25jjh1ji2l";
+      name = "kde-l10n-nn-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ro-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zjdd8bp4639ylb7wr2h0a6zl4ka4hv5j-kde-l10n-ro-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ro-14.12.2.tar.xz";
+      sha256 = "0p4b7bngb3j2xsixk3s5wks7050famwbh00cgdpq8gd02i01iplc";
+      name = "kde-l10n-ro-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-is-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hm9hivcnjbbhxnr2k1p95lfa57y9qpa0-kde-l10n-is-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-is-14.12.2.tar.xz";
+      sha256 = "1fz1azj7z127zpf257hzavsd0r3k7j1gd3wgw5i9prr3n0xp589j";
+      name = "kde-l10n-is-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-en_GB-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hp26lgcf3jrgcqsrai43kvimlpq9gs48-kde-l10n-en_GB-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-en_GB-14.12.2.tar.xz";
+      sha256 = "1vmgrbx31683j47na433h2sps961h5av1rkqrmspdpls32g3hjq4";
+      name = "kde-l10n-en_GB-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sv-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/y18jr4kswbh1qlhw83xyig9rri07yya3-kde-l10n-sv-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sv-14.12.2.tar.xz";
+      sha256 = "1a702cyyhg5dk9bmfxmpsyj4h9lk2hrm8rcdzwy6lmhvclgc4iqj";
+      name = "kde-l10n-sv-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt_BR-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bcssbybfddwdy45n5sfr8aw2a6xxpn27-kde-l10n-pt_BR-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pt_BR-14.12.2.tar.xz";
+      sha256 = "0lvjzcpv6j4i3xavkcbjbz17mxzj59rqiq9gxhvqnk6wihzwr3d1";
+      name = "kde-l10n-pt_BR-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lv-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xszl4r8c43w086w15mf61lis5ar4ig24-kde-l10n-lv-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-lv-14.12.2.tar.xz";
+      sha256 = "1i8xd2apf8gr657w8jzc2vj4s7izh1kpqnz1n75yk2b8gbr0aiqq";
+      name = "kde-l10n-lv-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktimer-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5bknljgh37bx5v4c0vnmigasa3xq3cka-ktimer-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktimer-14.12.2.tar.xz";
+      sha256 = "15bar1j2var6i1jawq0nc4zkifl1qghciqyqavx39sm1cxphqirf";
+      name = "ktimer-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksirk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xmalh942dl6rygwk4jxpirabx2l8n0j4-ksirk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksirk-14.12.2.tar.xz";
+      sha256 = "0ab8vbk5640jaq6r0f0f5nidf0xx62lb140hq42flmid0hw6ls57";
+      name = "ksirk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-strigi-analyzers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hl424krxwgahhhykhwhq2lxmrjdvfrxh-kdenetwork-strigi-analyzers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdenetwork-strigi-analyzers-14.12.2.tar.xz";
+      sha256 = "1802iy6w5wchj2lj6b7yp32nj4pbh1pn44v2pvhafg0nj49rn0iv";
+      name = "kdenetwork-strigi-analyzers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cantor-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/sv2xx8whd4smmx447iaxg3akivyk74gs-cantor-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/cantor-14.12.2.tar.xz";
+      sha256 = "0hcxr28083qadm7b6pjqh959dvj79dvymkigxv851ainvspr82km";
+      name = "cantor-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdeedu-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ka3asqxgpas752w1h3agc2c1ka3brp19-libkdeedu-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkdeedu-14.12.2.tar.xz";
+      sha256 = "0w7wkcr46fp3gidfgm4gp3q26vxp4szfbqmk4624ysrdi85aa6br";
+      name = "libkdeedu-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bomber-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dw2kr8sgmcrw2p3vy1cqdq2jk93i7rmr-bomber-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/bomber-14.12.2.tar.xz";
+      sha256 = "12ff8rikxb1x7j4b5jg41ph5pgp60vn133npzalq5vsldmrgj3h9";
+      name = "bomber-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kopete-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/iifrjlqyrylq47kvmb7idgig4y05yp69-kopete-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kopete-14.12.2.tar.xz";
+      sha256 = "025pwhvcidszg4mv8hw8hya9xvgw08yvkzigxsk4pjn5vm49y16i";
+      name = "kopete-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-icons-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/c1s7763fzbnnslcn95spcv0swp6gx3xb-oxygen-icons-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/oxygen-icons-14.12.2.tar.xz";
+      sha256 = "0dc0zkl7ivigcf5vf72gqnijm8p64bq4ibqkr02k8yv7yqq123wz";
+      name = "oxygen-icons-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmplot-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ff917gin734l0i1w84xdq2s6hjkjjmwp-kmplot-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmplot-14.12.2.tar.xz";
+      sha256 = "1j7fnqi02pqwc0pgv0qgykm2hih5ncg7pbkwyskj5sds8xs86f55";
+      name = "kmplot-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmahjongg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jv7gpjyhacvmdvbdy5j34nrm06zk2aig-kmahjongg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmahjongg-14.12.2.tar.xz";
+      sha256 = "0dc9majrsg2fgl8s8wqyhyjl3d40qf4m7wxx9m7076sa2h8hj4g9";
+      name = "kmahjongg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolf-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/x3c14mkaxp4swyxaa7js7yq1rgrx7gvf-kolf-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kolf-14.12.2.tar.xz";
+      sha256 = "1yiq1sw6a74s8pq7cs4rl8rvawcb3rrw2kbwdgcaqvq0krgnlc8h";
+      name = "kolf-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bovo-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/habi2k9mvpz6l5lj2i2yfig6ghxrkf5g-bovo-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/bovo-14.12.2.tar.xz";
+      sha256 = "0z20lywx4x4pqdbqqhz0m84vzml6kxn53sl17z0lgnf74zh0vqam";
+      name = "bovo-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "audiocd-kio-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qjs07i14179wq2gj40gcj99q0i7fgsmr-audiocd-kio-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/audiocd-kio-14.12.2.tar.xz";
+      sha256 = "1lix6yzradscrr79b4fj5lqs1f6wlrzyr0qwk5mvb9g326p8c4sr";
+      name = "audiocd-kio-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccessible-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/byi9jaq7vijdfqzbqyyl8plk0mgb6cf2-kaccessible-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kaccessible-14.12.2.tar.xz";
+      sha256 = "1xq40cl7pqm65k9h3yvhn7zjb80z3lpqyp823wm6nz6qld4hr4bg";
+      name = "kaccessible-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konquest-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/47visnxvfz3h8wa0485wiq5659y5li8k-konquest-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/konquest-14.12.2.tar.xz";
+      sha256 = "1h9ql9alyprh8ykfzfgj3nkch40hdp1vyfkshm5kaab15b657bgy";
+      name = "konquest-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdegames-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ccx7yrjpgljpv0f61jlczmx738y7skpd-libkdegames-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkdegames-14.12.2.tar.xz";
+      sha256 = "1pxq9gzw5m5i8d1v1d34mvmfr138hwfvq5z9pg2h9zw5y3hs9g7s";
+      name = "libkdegames-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dragon-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/swpywmriiwy1npn7k3gcazisra9gfzqb-dragon-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/dragon-14.12.2.tar.xz";
+      sha256 = "0gd9zr9fj4r2789bi6f836y7m6df08p05vizdy04cf9s2hjkr9wy";
+      name = "dragon-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "juk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nsrq6d9bini4804hkkzsny91rfxcgp01-juk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/juk-14.12.2.tar.xz";
+      sha256 = "08brdx7hfm48hmhc0rg0r3c4brb3mkb0r23j2ps0y210pwarkwh0";
+      name = "juk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cervisia-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vjbvvbnqg3fjghc19159ikqm6yii6z30-cervisia-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/cervisia-14.12.2.tar.xz";
+      sha256 = "120a8brfllk6jybn4zpyj0w5bpv2dvibcqbh37qh9ld2h6v9rrr2";
+      name = "cervisia-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-kioslaves-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1nli1nsr1a3j7wprpjhwmmy418l6ibx4-kdesdk-kioslaves-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdesdk-kioslaves-14.12.2.tar.xz";
+      sha256 = "14vk4aqdwny4iidsvznfzss51k1376lp4v65bmqbpwf2kg6mis2s";
+      name = "kdesdk-kioslaves-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/cr9ncrb5lfgi7nyrdqlrh2c3xlj2a5rp-kdelibs-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdelibs-4.14.5.tar.xz";
+      sha256 = "1jizh61vz83za06mb23hhakx99jf2c59c02fz5kld9mnxzzl5fgm";
+      name = "kdelibs-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmousetool-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9vi7j77n4x5qpl4jphl3cc52cc34wymq-kmousetool-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmousetool-14.12.2.tar.xz";
+      sha256 = "06ifiay1mxcfb0bzzcf14xkvd4iwy9va37x3jm0xxhy9641cxq7i";
+      name = "kmousetool-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalgebra-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/4v4hcxa9v1hykiypb159p0618nf0dij9-kalgebra-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kalgebra-14.12.2.tar.xz";
+      sha256 = "10iz0vjn8mscgkb0vra8ac0rbdyw45xzz5rydlkczr9w3hxnccyy";
+      name = "kalgebra-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "granatier-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ilynhcqbrfbhafhvmbag1j7nrkiicszs-granatier-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/granatier-14.12.2.tar.xz";
+      sha256 = "16v0pyjby6yyrqm64p4a0lkxf0bb50smkz680b1yp3mcc5nm22mw";
+      name = "granatier-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klines-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/64fb2pidpaccqzk5wddvvxma515fk6nl-klines-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/klines-14.12.2.tar.xz";
+      sha256 = "10km97mbz9z816ki12jki46mb0h2829l24spiai9pk8mbvkyqx3w";
+      name = "klines-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmines-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1g8n4bq8p2dn5mvncb6a046kjmndgfpy-kmines-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmines-14.12.2.tar.xz";
+      sha256 = "04axmsgq3wcim5fs9jgwgbb9z7p0a96qxhm50s5dwk4lv6fhzzv9";
+      name = "kmines-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "superkaramba-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/l32ji88v0j54mhvsqdg7ysqqalnwjx4p-superkaramba-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/superkaramba-14.12.2.tar.xz";
+      sha256 = "0y3ld6hpbjjqkpmrpbxmznv5vjdiyh3rw6dqbygap33qvw6b3d0d";
+      name = "superkaramba-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdiamond-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/67i12gxqd5p15vdl8b5a87xl28fn9aqv-kdiamond-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdiamond-14.12.2.tar.xz";
+      sha256 = "0g3al1p68q4ypdjrnq6sf738w84x3a2l71fpg7qb5kgpaixpspjj";
+      name = "kdiamond-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kigo-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/inss9axxxz7szp7icfwsrms9jyc4c855-kigo-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kigo-14.12.2.tar.xz";
+      sha256 = "09b5hdfh46mi5qpgq0j02qw2wfrsach6lw9ydg0ybplyfvmp27l5";
+      name = "kigo-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-filesharing-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5dh19ycmzai2k5xwgiwmpi05nn60k089-kdenetwork-filesharing-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdenetwork-filesharing-14.12.2.tar.xz";
+      sha256 = "08parv67kilxh2nzgbmj3q9g6pzncjjr23rl6ylh3vv8p2vr2v5h";
+      name = "kdenetwork-filesharing-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kajongg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/px8xd5vjs7y6g7h4vyyiksn818waffy0-kajongg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kajongg-14.12.2.tar.xz";
+      sha256 = "1863hczxmzrwvkv2y7kj2anf56fpwih70plsa25mkmli6l5x120q";
+      name = "kajongg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepimlibs-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/670zy2wyah5qw0rp7kmzdv9q3hl2cl25-kdepimlibs-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdepimlibs-4.14.5.tar.xz";
+      sha256 = "12p03dljr6sldl4pxww4gb18mrvdi61r85ippmljknr4sq26kd8m";
+      name = "kdepimlibs-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksystemlog-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nqwz22sa222dkr9a6mmgyc2k9xahbv8h-ksystemlog-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksystemlog-14.12.2.tar.xz";
+      sha256 = "1j22944ham5x3y8qf7gka81nnq66f81lwrc65zmzvbf7vyj813kq";
+      name = "ksystemlog-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kturtle-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/aw9ahw1ywy5m8k8j0a2l5qfg0n2n2yn6-kturtle-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kturtle-14.12.2.tar.xz";
+      sha256 = "087wfff2qpl2shxjwj30lna480skx8j1z4rlvkbyywc645gd0afb";
+      name = "kturtle-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kppp-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6w3pnklzw2kd761dfg3ya4k0xawnyp27-kppp-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kppp-14.12.2.tar.xz";
+      sha256 = "1hdywnsvpybfc5hcja2msfdim9g37pgggkjp4kkahc9gv62z1m0i";
+      name = "kppp-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-base-artwork-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bbi9jdxjb1hm2cd6flh08h7ql90m9ppw-kde-base-artwork-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-base-artwork-14.12.2.tar.xz";
+      sha256 = "16jg0pm6wqqsl5g8hf55iacgxjh5x92shmf9263xpc1fiq29770c";
+      name = "kde-base-artwork-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "artikulate-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/iq6qjaw0n37gq49r4lmkjzyasvghcss5-artikulate-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/artikulate-14.12.2.tar.xz";
+      sha256 = "09jvjal3r6bl77aby1wzbpyr4rxqmghc759yrg1rbqca1filzd5w";
+      name = "artikulate-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdcraw-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dawjc253wxbw6624zjr0v2yrq9i47v75-libkdcraw-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkdcraw-14.12.2.tar.xz";
+      sha256 = "0xj3dhyz7mf65dqiw2zz6mp3xmfaczmr7axhy0h6z1ynbyl1vkcm";
+      name = "libkdcraw-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeartwork-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zb2sqh3qjd53nmqhs9m24kag1f3dxiah-kdeartwork-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdeartwork-14.12.2.tar.xz";
+      sha256 = "1svw3ah03g751iy37i06kw4d6jzgc8yy9cjayf3xp80m37fpjlws";
+      name = "kdeartwork-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klickety-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dmi1azffqm3c8gjk1d300a0a2jps2j4v-klickety-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/klickety-14.12.2.tar.xz";
+      sha256 = "0rlp4bgzg7i892a89zrgaj0m1zwbb2g8ap9np3dpqljaf2la9rg3";
+      name = "klickety-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kspaceduel-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/f5ycj631mpfnyb8mngzxmvgngyk6lsw8-kspaceduel-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kspaceduel-14.12.2.tar.xz";
+      sha256 = "175n2jbx9m3yhsp10bj1fk9d2vfv2dlqd1qw7l3kmca5nr7ripzb";
+      name = "kspaceduel-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kate-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/49b5c3cm0ysi2w89a161ysmirpmckcls-kate-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kate-14.12.2.tar.xz";
+      sha256 = "0n6b5jcyb428gx9xflsqjs1jhk51n12yxyfzl6cvg29vai453fff";
+      name = "kate-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgpg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ddc07v0j09547gnspl7c7fgcrbvv0fk0-kgpg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgpg-14.12.2.tar.xz";
+      sha256 = "1ihxkcx162jp4b2qgpwa65iq90n1bz21l6fli1z530247h7vzlbw";
+      name = "kgpg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khangman-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jvxwahcgixjygdvvyiprgwhi1c70cb5k-khangman-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/khangman-14.12.2.tar.xz";
+      sha256 = "0piyyqvfawgk3mbm51saigaswcpbk86my5v8mvha220sgzamnj9l";
+      name = "khangman-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgoldrunner-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/whd0iampjk6i5fm234gcsly38sxh5nb6-kgoldrunner-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgoldrunner-14.12.2.tar.xz";
+      sha256 = "1ijykdnfslp2vp3y0ji0bbf9zj83rbcywvg0kgiza963vzhf7rcw";
+      name = "kgoldrunner-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-thumbnailers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bvj41rw9x0014q6k67d2f6w8xqwpf9zi-kdesdk-thumbnailers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdesdk-thumbnailers-14.12.2.tar.xz";
+      sha256 = "1jyn507y7h2j8cb6nblc2lcf16ld9rn9cvi4xhj4sq9ccz0w7vz1";
+      name = "kdesdk-thumbnailers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "amor-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kpv805bhwfkn95rnp8hzl42c26h8678l-amor-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/amor-14.12.2.tar.xz";
+      sha256 = "0wqh3csi0isfj3zpmsay5p38sbajfbrhkv6lms5nqr4k81kcpq55";
+      name = "amor-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktux-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jfkymr2flr7p986z1larn1i2qndrij8i-ktux-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktux-14.12.2.tar.xz";
+      sha256 = "1pml908z08y0ik4d0rncavrg26lqvchza113kxmyxc7ak95bwypd";
+      name = "ktux-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "rocs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vn70b248ilfjrxv9sz30c4m1czb5n6fl-rocs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/rocs-14.12.2.tar.xz";
+      sha256 = "1nb0xq051081wps0i3g6p6vawj89vaa27di1hi2nhm1y0hx95m1j";
+      name = "rocs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcachegrind-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fxn7qcaa57vxyc2qfnxycfv8hpvqn190-kcachegrind-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcachegrind-14.12.2.tar.xz";
+      sha256 = "17v1ap9jfzlk30xhx9m5456bqky4m0iywvq34r8zpwkbg4a49la9";
+      name = "kcachegrind-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktouch-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bishs7m7snrvyrvcxhly4p4d148rmfxy-ktouch-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktouch-14.12.2.tar.xz";
+      sha256 = "1c7mi9cs17z72hg9v44yki85lqsnl96vgrckz5qcvca2b4w3bjd3";
+      name = "ktouch-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "svgpart-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3l7a1yydrkd824xfjsxla8swzcv7r8rx-svgpart-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/svgpart-14.12.2.tar.xz";
+      sha256 = "1zkc6p8ycpm4pa2p9yq4ajkcnqi8m3mmv8ghdgi2q3a58fvf2zz5";
+      name = "svgpart-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmouth-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xwq02smnzwz54i165vpgm8aaamcy02xp-kmouth-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmouth-14.12.2.tar.xz";
+      sha256 = "0qmh1kpl1asy5av976461i9fp81qan00jbqvfhi5dnli9zfrfmb9";
+      name = "kmouth-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-strigi-analyzer-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vv15hxdzvvgj3xhw5pig0kbzm3206j72-kdegraphics-strigi-analyzer-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdegraphics-strigi-analyzer-14.12.2.tar.xz";
+      sha256 = "1acfdcg0h9kb6171lqqrnihvgynrp0har6frq0igpkz475crmkid";
+      name = "kdegraphics-strigi-analyzer-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kruler-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g13aw9ppjbwj5rcyy46ccp9yw81bxa2d-kruler-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kruler-14.12.2.tar.xz";
+      sha256 = "08rwsmjbbaapgn98avagn8i3qmvw5fzq84snxy4a74dzf14aph5z";
+      name = "kruler-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kollision-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/lzky584al80dy5xrwvax7xs974p5s5xq-kollision-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kollision-14.12.2.tar.xz";
+      sha256 = "0v6hq3biiybrdd4lblzcadh5kpy21kjlkb5iqga95h7xxm6vd4dq";
+      name = "kollision-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcompactdisc-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g6zkyj2i5s910qb9snnabr4ivklvgajn-libkcompactdisc-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkcompactdisc-14.12.2.tar.xz";
+      sha256 = "0xi1yrls8nsq9flll9250yfqx076p0xdxrywpiivx3yv64znjz7h";
+      name = "libkcompactdisc-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcharselect-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fcm4sghdd7dl98zagm7xfg7lfcbhpi6p-kcharselect-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcharselect-14.12.2.tar.xz";
+      sha256 = "0fsmh3wsiz49wgc2l1p8caclhx03mmf4q7v7l72yf59c3pczh74c";
+      name = "kcharselect-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "umbrello-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/r7gzmhlg6wlbhhxyx11n88pnd3qs1nbg-umbrello-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/umbrello-14.12.2.tar.xz";
+      sha256 = "1p9sdwalzi5j59xplzzd96m8dsvzc1r1isbljgj55h8pc3sn1am2";
+      name = "umbrello-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapman-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1dqlriz6zxb6ss4gq2ccswn6swzxk1fp-kapman-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kapman-14.12.2.tar.xz";
+      sha256 = "00qdq5fabm6pljclchiqi0wa3cxdfxbiqs5vw86190ki23qgqfkw";
+      name = "kapman-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "marble-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hwhbjrqg3qycpsq6kxd17fmmic1iv1ls-marble-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/marble-14.12.2.tar.xz";
+      sha256 = "04khv00h3w0i6igp8b4zh0xyyl7a3aqhbszj2qlpydghr1ghz2js";
+      name = "marble-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knavalbattle-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/b17whbxz6q409ghxcxaia83v95adkdrg-knavalbattle-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/knavalbattle-14.12.2.tar.xz";
+      sha256 = "07a9z0s12v2f5irs3d93pqjsrwv4zs7sckgvsbgaklbxwar1p26n";
+      name = "knavalbattle-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klettres-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/krcpms45cvn7dnv22rp9bdri7v76bcvd-klettres-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/klettres-14.12.2.tar.xz";
+      sha256 = "0ca23y3d2s2m4mzqvw3jknsns0da3gzhqa7g4hicl35v4cbi8w7z";
+      name = "klettres-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkipi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/b247bpgxvgl1msrrfah432n99hi6h4h2-libkipi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkipi-14.12.2.tar.xz";
+      sha256 = "0dp3n4awc4glwlnygq8k6119hxl2lq0l66a8a2m84bhgf1xqn05j";
+      name = "libkipi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "step-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/djjlbx20jk6pv82jrk626k183hkn65qx-step-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/step-14.12.2.tar.xz";
+      sha256 = "1r11csc1hlkrydrznprdvq5sxnmhlpb1v08ns96bs27nxbz29zw4";
+      name = "step-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kompare-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/n3w571knhskpnv263dv67vncy1h4613i-kompare-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kompare-14.12.2.tar.xz";
+      sha256 = "0ma1kwn7psrffs2fn80did8gmv3cr527lb40n1jrvksq15fcfl5k";
+      name = "kompare-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krdc-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/r4q34i2lsi4dcpqvpqzc8c628l99nrh1-krdc-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/krdc-14.12.2.tar.xz";
+      sha256 = "069gp9ahq78pl2ax77c4k0sfvb3g70gl9ph8ariarhh3f5lvzh25";
+      name = "krdc-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbounce-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/0wq7q4n2xxkw0vn49ajjv07b9yc316b8-kbounce-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kbounce-14.12.2.tar.xz";
+      sha256 = "1iw6gwy01ri7kqc5qkk296rzbz3j1swhshxkv05vqpv69vwnfxpp";
+      name = "kbounce-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolourpaint-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kbkrcfralyq2hal04r5qbsc9cw40yf2d-kolourpaint-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kolourpaint-14.12.2.tar.xz";
+      sha256 = "1r0xs4pisaqg53nc6zgn7bh95346wsb9756d9lq6zgp8jf2lcs4h";
+      name = "kolourpaint-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiten-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nb1lzzscqr6g5m770aw8zjqxmng6c23s-kiten-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kiten-14.12.2.tar.xz";
+      sha256 = "1y1anhvdmcflkmhya24my80c2hfpnhw8w1b2mqqr4xyjbl0plaqs";
+      name = "kiten-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkomparediff2-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/la8lyk56j0crfjfj1h9yjxgws3f9shbl-libkomparediff2-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkomparediff2-14.12.2.tar.xz";
+      sha256 = "122078hvi34zg183r8i2ni37xi00bzv7nr5251lhgh0fd45d565i";
+      name = "libkomparediff2-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscd-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/h9n5pglbgwqxiwdpxf0zrkyfcnqvjgyh-kscd-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kscd-14.12.2.tar.xz";
+      sha256 = "055fdr9l79xjcrl33sxmk82dsbchjjwgmd75dw0sbhwfxs99dvif";
+      name = "kscd-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-scripts-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ah46p15xxk89lrydhxzvyl83q3jjs5mr-kde-dev-scripts-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-dev-scripts-14.12.2.tar.xz";
+      sha256 = "1fclm5wvz58565fx366sia4cjqrb2cr843skw4jpzhh4wb1v9v8i";
+      name = "kde-dev-scripts-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ark-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/v5cdrabvrfx1dvjibhzj6a1m200p53ks-ark-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ark-14.12.2.tar.xz";
+      sha256 = "1aj7dshigv25qki93drpfwgzdycvvh3kl52a0im7g2k6aj1yjg6b";
+      name = "ark-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kamera-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jgnxszypng4x7wlhz0rg8390bkh87lgf-kamera-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kamera-14.12.2.tar.xz";
+      sha256 = "16zjdx7b1nqh0nfbz0qplvqhl2jnl6l0jc3lfxifiqxsbzr9wlrr";
+      name = "kamera-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapptemplate-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/mfrl2pk66facvk13mm0609ign7ilympz-kapptemplate-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kapptemplate-14.12.2.tar.xz";
+      sha256 = "18dpbvdhi8qpfxhrcjkk71cr4b7gf6achg24gn6i4rcq8bbbv07m";
+      name = "kapptemplate-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkexiv2-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nqh3y6b9y2zgrkb07yrs07sqcxqmwwsv-libkexiv2-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkexiv2-14.12.2.tar.xz";
+      sha256 = "0fjrvk2dcd4xzbs5v6nrabchkqbvf4qhljlc10797a378sdc8znp";
+      name = "libkexiv2-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-mobipocket-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cf4mzk51419c0v7ld561gb8jk496qgaw-kdegraphics-mobipocket-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdegraphics-mobipocket-14.12.2.tar.xz";
+      sha256 = "1n2n2pd8ca5lnyv2r98jr4k9sm7lsvc5plw11xy28q829aayg8jj";
+      name = "kdegraphics-mobipocket-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksquares-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yl49rnhq8zxyprh004g1qnqiw148x8kj-ksquares-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksquares-14.12.2.tar.xz";
+      sha256 = "11hznb7jdamq8hnbxggdj33jrhdnxzrhapc1rsj1ms546z01flnb";
+      name = "ksquares-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kget-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ahgf7lvgcy0fzg9wzwc0agi77bj652lx-kget-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kget-14.12.2.tar.xz";
+      sha256 = "1jadb5x8bn80gwviw73cq715sw9hzx8lpj33d19vv18l2sqyb449";
+      name = "kget-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-baseapps-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cv1vcvvi2nfic2p51vv6jf1nc2dwv7jm-kde-baseapps-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-baseapps-14.12.2.tar.xz";
+      sha256 = "05j034g5h9cd2xw64h5zyjl8biq66p3b0z4z0z0i4min4hp52f7w";
+      name = "kde-baseapps-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcolorchooser-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2rxc1y0r19zx61g6n9kgfp1rzgbs44xw-kcolorchooser-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcolorchooser-14.12.2.tar.xz";
+      sha256 = "063ahsbzd1mfrkc45gjsnhj11v68x7d1a718lxsabkjjx59qpbck";
+      name = "kcolorchooser-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okular-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dg4a3cj0wssfw3z10bwqxqrkjk3dmqaj-okular-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/okular-14.12.2.tar.xz";
+      sha256 = "1ahw7a8i1hxa8hw0407f9x1s02zn659nprx9bfi1mvxhcn5zbwq8";
+      name = "okular-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "killbots-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/x89vahdh994ax46rl3mx3dxyigph3zq4-killbots-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/killbots-14.12.2.tar.xz";
+      sha256 = "1zvjwimbjld408hplb439f4k8rm6aanlvycpmf4fdiwrcg4zjq6c";
+      name = "killbots-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krfb-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3d0583a63pwkq8sszvl172d69j648gnq-krfb-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/krfb-14.12.2.tar.xz";
+      sha256 = "112bv9yyhg7zyhkqavjqgvkzbjm54hw4nfqrj3jmcwbjbnlzkkxm";
+      name = "krfb-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfloppy-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6sm1200z80xxra4ibjmpgi5b626is1kc-kfloppy-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kfloppy-14.12.2.tar.xz";
+      sha256 = "0a738m6r54g4ibinxwh70d7sp736r8lr63ca8hx90a1yl5samr1b";
+      name = "kfloppy-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblackbox-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/i36hvnhadldbxl9yl9sgwzgbmip6nazh-kblackbox-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kblackbox-14.12.2.tar.xz";
+      sha256 = "1j9d33k8732dbwdnv85kr51jmjvnlcljya5q2zp6m97cy7xrf3n5";
+      name = "kblackbox-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalzium-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hnk7d2fjhvzd1j1c0pjc4kqh3a4zv7bv-kalzium-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kalzium-14.12.2.tar.xz";
+      sha256 = "16ngwp9lf15l06yzazymrdbszkq9sx14wh4k8w1sydryl15xl77n";
+      name = "kalzium-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkface-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/a6cidm1dwqxq34q0wffn8b553xwg3sxv-libkface-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkface-14.12.2.tar.xz";
+      sha256 = "1mp19n7jhs9x74b8rlnrdc7ig1dx0v5pjvl6b4fmzfglk9akhh7v";
+      name = "libkface-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kremotecontrol-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zi3aqkz4w4s4ldzscvwby1r6xkldxpdb-kremotecontrol-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kremotecontrol-14.12.2.tar.xz";
+      sha256 = "1sbzycb2b4s7v1lr6d7g4xqadwcxh5jlsl01jl3dpni83phxzk3q";
+      name = "kremotecontrol-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblocks-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bpi59fwiqf4rn8xgkzkhyzr6ajv1d2la-kblocks-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kblocks-14.12.2.tar.xz";
+      sha256 = "0wcb6sgbr7gm9hh3gb31zmw6rqmflzis44ry1zb7yql0kf95y5ka";
+      name = "kblocks-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ffmpegthumbs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g4xg6d0syp06k3znj4xyiyv9ykiq64pf-ffmpegthumbs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ffmpegthumbs-14.12.2.tar.xz";
+      sha256 = "1261dkxyj07gjs6rk7wh8vkxk9554b675d68w4yfzf4agb8kdb8b";
+      name = "ffmpegthumbs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-runtime-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/0s00l7a87bg4qzbd43z7yp6pqff1icn4-kdepim-runtime-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdepim-runtime-4.14.5.tar.xz";
+      sha256 = "00pmiifhf6km9v2hn3xiapr4vwrrijnvyjirprs99p8h39kifblc";
+      name = "kdepim-runtime-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "print-manager-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1cdzh2b6wq0nmkvjx6spl70pj3538sl9-print-manager-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/print-manager-14.12.2.tar.xz";
+      sha256 = "02vz69aj56hx9jdckacjd7yzr1cmwmlqd7b3n92zmn9bx152sx86";
+      name = "print-manager-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdf-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vk3f3512rv381dpcwihmxgx4av3d92af-kdf-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdf-14.12.2.tar.xz";
+      sha256 = "14dgcrmny2gvi3m4y95di6w3gv1bld6pbj5i5qaphhxk5gl489a0";
+      name = "kdf-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-wallpapers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rslsx2zc6zf7hls6l1m598a04r6l2h7k-kde-wallpapers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-wallpapers-14.12.2.tar.xz";
+      sha256 = "1q9p1ay2n4anr822wx7lc45hwwyyl1328ick704x6kd1rz1qwjiq";
+      name = "kde-wallpapers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-thumbnailers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2zkg1fh4kr78r8qg5nrn72k431vxd96z-kdegraphics-thumbnailers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdegraphics-thumbnailers-14.12.2.tar.xz";
+      sha256 = "0kvqbdmjnrn5fx9ci9f4fnwk8b20d9cvxdb966cwrzz6x6rik7ww";
+      name = "kdegraphics-thumbnailers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sweeper-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/pb6xr7b484aszpwr3pvd2pywliij31y0-sweeper-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/sweeper-14.12.2.tar.xz";
+      sha256 = "1k0brig6m5y5pv05lmpmc0m6wiz981jyx1brhy3ixv40bivm4cf6";
+      name = "sweeper-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "picmi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6im1sz3rqm53siyfapz4p518vaa05nvz-picmi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/picmi-14.12.2.tar.xz";
+      sha256 = "1xnxsvpigsf4mjnxxp5w5nvp817az7c7p11z960z5f18adxg7frr";
+      name = "picmi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnakeduel-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qprvh7y50d15356kdspb4cxqvm9xc30i-ksnakeduel-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksnakeduel-14.12.2.tar.xz";
+      sha256 = "1gw9sv67jnwcxsm4qw21hjbv3fbnxw6ibr4l8zrcccahlz3lc8x1";
+      name = "ksnakeduel-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnapshot-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yak0kczv35nhxbgr15mqr6zy9ncvg5jh-ksnapshot-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksnapshot-14.12.2.tar.xz";
+      sha256 = "15ka0h8bc7n5023ghwgxvq36bjaipimcs09nrg3z4nvdzds6xsfr";
+      name = "ksnapshot-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgamma-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xz6x2nvcwz2k7df7p8s8wx42309a2rhd-kgamma-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgamma-14.12.2.tar.xz";
+      sha256 = "1lzvgdqh3i8klnj243rfak6sksnh3z10diki65zzl8wsjyagizq9";
+      name = "kgamma-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okteta-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ydd7za8ax4jb54rap067rzkwfv2ars7y-okteta-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/okteta-14.12.2.tar.xz";
+      sha256 = "1xdyg54zzylj8s6zr4z5npi9pvqx3bjma68j3p7ymqvaa71a1c0n";
+      name = "okteta-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgeography-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/99n02c3v71ycxvywrqn14zrsjgli2nkz-kgeography-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgeography-14.12.2.tar.xz";
+      sha256 = "10bzwbxg4k487700mnkmk642b5jzvpadcmd8y3h3af91syd0v7zp";
+      name = "kgeography-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knetwalk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6z45z434l9dw981lqixg0jw7mb2s1j47-knetwalk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/knetwalk-14.12.2.tar.xz";
+      sha256 = "102bd37i3z57xkq6rs7l2s4qlwayaky4qb07bh3c589g2s9nxl28";
+      name = "knetwalk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkeduvocdocument-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ypdsbibg2isd991n9bmdkgi5wi59ibnk-libkeduvocdocument-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkeduvocdocument-14.12.2.tar.xz";
+      sha256 = "1rf2signnpx7ik3p7vrvlkbv0g3m280pc1qz1fxzw2kjn9ais2r7";
+      name = "libkeduvocdocument-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeedu-data-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/i5wnc7wqbmnac1awgd45iz9d91b7misv-kdeedu-data-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdeedu-data-14.12.2.tar.xz";
+      sha256 = "09ch89pghjipxsr9j50a58xww6cxhrkh9z7ns6bh5kg9b6hc47rq";
+      name = "kdeedu-data-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "parley-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/lix9qbdd1ganlhwap696qdcyhq3awjgz-parley-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/parley-14.12.2.tar.xz";
+      sha256 = "0kq0nm732x723f1yml0cq3w1p7ah5m3q0lj0pvrvg5z393a1ki14";
+      name = "parley-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/b3kdfd6nv23lziv5nf21g00wl7di3vz9-kdepim-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdepim-4.14.5.tar.xz";
+      sha256 = "07bg60b96wg107sn49h4phks55z6h69kdsznpfr09dsxf53vl2sc";
+      name = "kdepim-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "blinken-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/aip7i17kab1fcv43qx999cxwr8b05gdp-blinken-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/blinken-14.12.2.tar.xz";
+      sha256 = "1dkdgfmpccbpb4i4h34dg407q6h18mq7x4k2d66bly0pkwhkwkbw";
+      name = "blinken-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dolphin-plugins-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hc68363pfz7k528lcv6p8gfj4r3bi061-dolphin-plugins-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/dolphin-plugins-14.12.2.tar.xz";
+      sha256 = "0lc6l84p3ixk2wzj4hbxwgvsmin3kw8xw40b3jrq2w1y21zbvf3h";
+      name = "dolphin-plugins-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwalletmanager-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6ycc8cckv9ybw5fj6qwn53ccn5dghcz0-kwalletmanager-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kwalletmanager-14.12.2.tar.xz";
+      sha256 = "0bynykq9j6xh0a712934vyvq3yr94676xhdvf1iazky1cwwmiryi";
+      name = "kwalletmanager-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfourinline-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vd8smizcfqw4zsks5sbf03chbxk9dqiq-kfourinline-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kfourinline-14.12.2.tar.xz";
+      sha256 = "14s4lb9kygaa16sq4xfmmabv31kg3rw7dw7k2f4vwqqh3s1168yc";
+      name = "kfourinline-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksudoku-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rvr5bpfppyd168gfqimfavs9g4ys2412-ksudoku-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksudoku-14.12.2.tar.xz";
+      sha256 = "10c148lksrh49mfvlx7q5i7xxjanhngm2s9d7ifx5xyqlpik2zcv";
+      name = "ksudoku-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcddb-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/j2pwfcwc6n5r8klnbxf0gpal2pinan7g-libkcddb-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkcddb-14.12.2.tar.xz";
+      sha256 = "088hhnnm09xfqkc0j2l252qgl7nlqmsdbchbr5cninf8n9ivz99d";
+      name = "libkcddb-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkmahjongg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gz25xkmky3kpl4hw2x9ahzr5xp3113f9-libkmahjongg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkmahjongg-14.12.2.tar.xz";
+      sha256 = "0min3bpd2h0lch4412ybryk1bn3rs2s4936kcjn6mn0412xyjvdf";
+      name = "libkmahjongg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcalc-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g7hglkwmv8kdw0cjly5pysb3i4piapkx-kcalc-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcalc-14.12.2.tar.xz";
+      sha256 = "0vm861cd9y8ax7mfnv2aszip2z0grmjvhzp10x5f7gq1fhm1db64";
+      name = "kcalc-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksaneplugin-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/m69i89q12sb8mpc1bhs0a2miyrkfnq7y-ksaneplugin-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksaneplugin-14.12.2.tar.xz";
+      sha256 = "1scgp9p2jb5vwwdvbgmsbr3mmijiq40m5x7nd9qx7scwn2wqjvq9";
+      name = "ksaneplugin-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "palapeli-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cynl1ai536dqs4cnlji5db1jybpzh7s6-palapeli-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/palapeli-14.12.2.tar.xz";
+      sha256 = "1fg2ikq19g92bqfp3j27mawl284xqiwd1nr8dg94khbb111210r7";
+      name = "palapeli-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksane-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/4qwqpcwraxr0a8wy81plb3l3ij3jh3s5-libksane-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libksane-14.12.2.tar.xz";
+      sha256 = "07nw3mjc645angwyllzff0hb7i7lp6wl3fw88zqd380w5j13a46h";
+      name = "libksane-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-workspace-4.11.16.tar.xz" ".tar";
+    store = "/nix/store/afz1vd72namq3xca96zx1c9l6n8jzk4p-kde-workspace-4.11.16.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-workspace-4.11.16.tar.xz";
+      sha256 = "11mzr55vr7x2yym4gdaj9bcvp2qpbs3vlbfmhs74r5n08vmsdq3s";
+      name = "kde-workspace-4.11.16.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kqtquickcharts-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/wbjy41ymgplkg26cm94k6vny2vjl6160-kqtquickcharts-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kqtquickcharts-14.12.2.tar.xz";
+      sha256 = "0v5ng9spcbv22lhpx4hzfg3n56wfrjdxg6nls6sw52zbq12lagqn";
+      name = "kqtquickcharts-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lokalize-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zl8sxjy6mp1z6r3dajvf5ly5zsiasxjd-lokalize-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/lokalize-14.12.2.tar.xz";
+      sha256 = "04jmsysvx6ysyl3126bq7xg76y7ppzjfd55j7q7i18nrkcgw4y4i";
+      name = "lokalize-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kig-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/0sf32n3kd0fyvp4sdyv5yk4abn8gy54w-kig-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kig-14.12.2.tar.xz";
+      sha256 = "0c137jnkzpzv43yf7crymghybgz70d6q6mlfww53if2119sznzd4";
+      name = "kig-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kanagram-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gscz4fvz0xh0szcs0jr95xiif4115vj2-kanagram-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kanagram-14.12.2.tar.xz";
+      sha256 = "1s2zn876b3css74r79acq6wys4qlq9xgb3z376xfl71rzadvisvf";
+      name = "kanagram-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "katomic-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/mljg8qpz9axmnzw9jarzz82a4qarvbwn-katomic-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/katomic-14.12.2.tar.xz";
+      sha256 = "0ns6apxaild1iiix03vjzvz45ba442agn4aqkbgik9x9wdr9yr7l";
+      name = "katomic-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "filelight-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3mm64rsb14p9cyhw31jzvqbs6nppva9x-filelight-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/filelight-14.12.2.tar.xz";
+      sha256 = "047bki2gnwvflb57vij1576d12ml4ga9b1q44dz9rq97wwfbwqnj";
+      name = "filelight-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcron-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9whfiwhxk7v4cfj1s863w6i789kgcbpf-kcron-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcron-14.12.2.tar.xz";
+      sha256 = "02s782x69xrymv3wbjcfm52v246gn3illdga7g1rmhs7kmi6q7rg";
+      name = "kcron-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kuser-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dj7svyjh962g9c3j2bgprhmmnyi45pbj-kuser-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kuser-14.12.2.tar.xz";
+      sha256 = "0p2qwv24qxzx637v5fjwzscvxa7j84j91s4c4gj5hq8939anx7q2";
+      name = "kuser-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kteatime-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/8zydgf0ncr96fgvyya9rg32ahavxm4c0-kteatime-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kteatime-14.12.2.tar.xz";
+      sha256 = "1vq21jw50w56i9bwx91hlw6a2m46q83mz2mg11cdc1nxk5gm1359";
+      name = "kteatime-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "analitza-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/im52lp4p99k9fn2ja5hch6m6glmlk7da-analitza-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/analitza-14.12.2.tar.xz";
+      sha256 = "0sjlsh8x4qzyg59zkvmrd312qvbhmf17349l0b989xm0m1nwmqfx";
+      name = "analitza-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-utils-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5rmimmbz973alzhx2xm4r80lf556v14c-kde-dev-utils-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-dev-utils-14.12.2.tar.xz";
+      sha256 = "007w4761cv2wxqhkk7mz2pgk7zmvzkfbmy0biriy836vx99xjdky";
+      name = "kde-dev-utils-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-runtime-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/91wk4lximnfqs5ly2q340rqn87h84axl-kde-runtime-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-runtime-14.12.2.tar.xz";
+      sha256 = "0cs07gbx7v6ilrbp4bgl20h1yrbh07sbrrf167pyd4lfx5rz9cgk";
+      name = "kde-runtime-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "pairs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/whl3f2bs6018bg3i10akdsjvky2wgvwd-pairs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/pairs-14.12.2.tar.xz";
+      sha256 = "0gs76fgyszs9lrvszi57vldx6avfyiz8hdg5axb7nmyikiqnislm";
+      name = "pairs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiriki-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/adksl0r448kybmvhs10crw43isw90i3y-kiriki-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kiriki-14.12.2.tar.xz";
+      sha256 = "0r7i6fh9apjhxc7khqb4lachqr95ypiagk7cr52kwpl8bd9zcz2p";
+      name = "kiriki-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwordquiz-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qz2v6fj2akwll4s904z638pzwpyf18yx-kwordquiz-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kwordquiz-14.12.2.tar.xz";
+      sha256 = "03isbq1dbq5w0pd8jpb93hp6z4nwi28q5ccszvldisfna5abpkjf";
+      name = "kwordquiz-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjumpingcube-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jhh4r8rqhcx1jbqycy1i0x5x4ivqgjhg-kjumpingcube-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kjumpingcube-14.12.2.tar.xz";
+      sha256 = "1a030z8bcxyj70in7g574p80hsm32b8s7mqnl3abmw4315dc43kf";
+      name = "kjumpingcube-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konsole-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ahyi8a1vsdyr3zdkiljrwmjz73dxknwi-konsole-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/konsole-14.12.2.tar.xz";
+      sha256 = "06rrhmmx8sdq084wb2a2pgvmi43fkjbmjsikr695c548qp76yzig";
+      name = "konsole-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebdev-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gm8jph57vbjm15f2w0k2qijghdm9v9yw-kdewebdev-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdewebdev-14.12.2.tar.xz";
+      sha256 = "0n4p7jflrrjq47wcy20avgjiz1c5qgwmw8nqxmaaxj8vnwk2vx37";
+      name = "kdewebdev-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kstars-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/s6n79j8914ms33xvjrx74s22axlh20b3-kstars-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kstars-14.12.2.tar.xz";
+      sha256 = "0fwfpjmr4i9kh1f3360ahhk01m8zrkipvdj0wn16a3mxvghr6vki";
+      name = "kstars-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kubrick-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kqvqadr6n5n2200w3gr5h978y6376gbv-kubrick-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kubrick-14.12.2.tar.xz";
+      sha256 = "0r7w6787gc2kcvjgddr0lw0liihis4a5s8rim3ycjlmh60bfw2ac";
+      name = "kubrick-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kshisen-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2m09vphyfk4wfl4pzxns8lgh00nin1pa-kshisen-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kshisen-14.12.2.tar.xz";
+      sha256 = "110fv7iqbv63sw0q8m1fj0x45ivmmhw2v32sx7my0hvch4rxif1f";
+      name = "kshisen-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "gwenview-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/aq90r77wq4qs67j8dvw89zppbrj5rhgz-gwenview-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/gwenview-14.12.2.tar.xz";
+      sha256 = "0ky9f8v3473f7ic2gaymc89f6yqnpi6vsbwlnqgjfwbq8ry47w4n";
+      name = "gwenview-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbruch-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/29vsbhggrymqqgvs490jxykrf6mhvmhg-kbruch-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kbruch-14.12.2.tar.xz";
+      sha256 = "12gs4l5wazkym3krcfc0sjzx9kji6ca3blmprw7hfwk1yqgd36rk";
+      name = "kbruch-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktuberling-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ccqbkxaxm7swcm1qf9rkvjs6fgfiafay-ktuberling-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktuberling-14.12.2.tar.xz";
+      sha256 = "0y5icsgkypcr2z9w8zbhn9z877dak2kjf0if5ag1lpmjlj0y397h";
+      name = "ktuberling-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "poxml-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/8i8lf5v6bi77ijr3b8xwny3yrapqnxrg-poxml-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/poxml-14.12.2.tar.xz";
+      sha256 = "0d2iqgpxxfzvi9aim2xsz96gjpy1zcjr0f5fsha0hns6m6mdp1lh";
+      name = "poxml-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkexiv2-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wx9ll48ipram4w163143ixab3lcdn9iq-libkexiv2-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkexiv2-14.12.3.tar.xz";
+      sha256 = "1rj7ac318rxl995cz70vdivk065mpsxk3sw0zqj7y0a2cgg67qrl";
+      name = "libkexiv2-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbruch-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w2bqk35id2iwy0hx56a4fqlj9hmzwn6z-kbruch-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kbruch-14.12.3.tar.xz";
+      sha256 = "0vrs1mn701jydqjzlshwjq2366c65qwiz2gf37l31ha0nk8lxcxh";
+      name = "kbruch-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-scripts-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/14cmjnxm524ik9dmjb5p08c9hpr0xzlv-kde-dev-scripts-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-dev-scripts-14.12.3.tar.xz";
+      sha256 = "17xwh4gwbagzdyfxb0wbl6hplrza7mj82mf1dhz5b6p1jjlfji96";
+      name = "kde-dev-scripts-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeartwork-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/r9f281gb1312wvy0dg8g8g5gd4f29mlv-kdeartwork-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdeartwork-14.12.3.tar.xz";
+      sha256 = "14m5hb1rzki0h4fdpg5bm9s4bm6lfx2i939jncjvxik8l5rk8wkh";
+      name = "kdeartwork-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkipi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w8s7d4pm150c4m392plhax8y1aawr8c3-libkipi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkipi-14.12.3.tar.xz";
+      sha256 = "1k20q3f5vgvndny7zj90r6xxdvilh1qg9vksvqn1vydz9wn15by4";
+      name = "libkipi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okteta-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/388ffmw8i1b8bwdkwyr697fhq5cwghg7-okteta-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/okteta-14.12.3.tar.xz";
+      sha256 = "1wlimwi9j5x9y0j4zsx6d4c8xl8k7sr4wclbm6bi42fk34w27f56";
+      name = "okteta-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "analitza-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0ar4zk7r20w3xgnvv79n6kcx3p0fjvai-analitza-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/analitza-14.12.3.tar.xz";
+      sha256 = "1xlv47lgybw0wkmws6fkgjzskdmyzgrwgsfkixi2jj9yh8wj7jpi";
+      name = "analitza-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/kbi014f4cakyzj22fviawpqzqkfdc2f8-kdepim-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdepim-4.14.6.tar.xz";
+      sha256 = "1c1mcxj10cirxwkzb71y2sik0xk45j2a1yhkpl5lgs1k6xwivslv";
+      name = "kdepim-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kteatime-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w2m3n25m9xjnig9q4vqbwg00li866lsg-kteatime-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kteatime-14.12.3.tar.xz";
+      sha256 = "0k35gmpkmsc7fqp31l7jf5as0f25lk8kqpj300alryyr9m5i960d";
+      name = "kteatime-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "pairs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xgcvm6ic3xjzlbd8xblayybdjz5f8ah0-pairs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/pairs-14.12.3.tar.xz";
+      sha256 = "1460wvjl17vzak74x5wgnx44db1vv900whl45hm6fjjciqpanb77";
+      name = "pairs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kreversi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1q3i7f47j4mx8nrm0hl5hjjljn478a35-kreversi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kreversi-14.12.3.tar.xz";
+      sha256 = "1l0pmaqwcdlzi48dcyywzlrswfr3jkywcpv93zdgxx9fba5iyhpj";
+      name = "kreversi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcachegrind-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8wiir69l2blpqd1w4b7mcmylsm8j2q15-kcachegrind-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcachegrind-14.12.3.tar.xz";
+      sha256 = "1xgn2a3ahwnx00fish7n5djx2ci89shf8mjrrq8lkg3grka6cv6m";
+      name = "kcachegrind-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmouth-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hcy2r6snkvxxmnkr93y8yb5nhrzvk8a2-kmouth-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmouth-14.12.3.tar.xz";
+      sha256 = "1awkwq4h89qp04fid6d6df03b7fj7rdk0vjs683rpkz52qq8xwny";
+      name = "kmouth-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcron-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7sxzmrmp6y6xn4nq7zfqbjg2cf8y4zhb-kcron-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcron-14.12.3.tar.xz";
+      sha256 = "0w33d82253yasrhzswmpccc75mrjyrick2s6s3gibskcy3c9rx5a";
+      name = "kcron-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/q54chzx2w5p1ifvkh3dkmqwxz6q35m0m-kde-l10n-sk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sk-14.12.3.tar.xz";
+      sha256 = "0nfikvbf10gklcn33pmwamiix1rcgdxgxk84a360rkahafw3xb1l";
+      name = "kde-l10n-sk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-mr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yn6w6h0ypqv34595f10l0jd76v8r3mdh-kde-l10n-mr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-mr-14.12.3.tar.xz";
+      sha256 = "0wmkg9rwl60q354y4kz0qmbwbv892v12ybps2wj4mplwq333d03m";
+      name = "kde-l10n-mr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-et-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/6azx1w8qq6g0aqz3jgz971k12va1si42-kde-l10n-et-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-et-14.12.3.tar.xz";
+      sha256 = "1zpj0w3v1hwxpkfmba9k46w37qi41yndhm3ymdrgyl5xgfbajdrg";
+      name = "kde-l10n-et-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_TW-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nx1jxyya8da77jg1l5jrlb46xwdn9fbp-kde-l10n-zh_TW-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-zh_TW-14.12.3.tar.xz";
+      sha256 = "0qwykxa72c6pdzdd7kpwigrjv4l7d7kb1h06rwrcg9kk5q9hn31q";
+      name = "kde-l10n-zh_TW-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ga-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/sajpc2529bhnd5p86sn0k35wyqj302ip-kde-l10n-ga-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ga-14.12.3.tar.xz";
+      sha256 = "17mqxz2dpqyi1ngi1p2ivxg1qixivlkhzzd1id7ihff1i50f5gdf";
+      name = "kde-l10n-ga-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m3gp02jxirgh246njwsslprfq627d13y-kde-l10n-hr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-hr-14.12.3.tar.xz";
+      sha256 = "0zv3rvrfn5khmbd495iqnsr579m6igz3fr6h729wcwmizm03kl7p";
+      name = "kde-l10n-hr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-uk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ghlk4l1xill1v93qnv6sp4d9ybm2m2p1-kde-l10n-uk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-uk-14.12.3.tar.xz";
+      sha256 = "0jh17m47783vrv3c9wf7j67r937ni4xc670m758casjccwy9ldcb";
+      name = "kde-l10n-uk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fa-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/g4l10q0rg746928lmy4jfk63aa0y063r-kde-l10n-fa-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-fa-14.12.3.tar.xz";
+      sha256 = "1imx7nmxx9p8xi290llyhh2hcaax6y458hlz8sid6kq0cl7y5w79";
+      name = "kde-l10n-fa-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/lsw2ss8v9p5ryiszbfp46p1zqckqag5a-kde-l10n-pt-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pt-14.12.3.tar.xz";
+      sha256 = "0wh5dgg53aic5n3h260f1908dfirp0k53hakn2kv53m3p572ck74";
+      name = "kde-l10n-pt-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ar-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ga5jirz4ggm0qacl4rzj4rlassiswls2-kde-l10n-ar-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ar-14.12.3.tar.xz";
+      sha256 = "1ybmp4id3y9xrxcx2grmv8w3412h1qmwzawrzixfiixazbg8jgfa";
+      name = "kde-l10n-ar-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rgsdz47748cn77nmnkysf1vhz5sgzwf5-kde-l10n-ca-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ca-14.12.3.tar.xz";
+      sha256 = "14749nzfld9b97bk062d6pdpjdcfhga62n2yh1j1b0g5xqc1x0cp";
+      name = "kde-l10n-ca-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-cs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nja0qv4yh272pjvwbbzk75zzdjn75dgk-kde-l10n-cs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-cs-14.12.3.tar.xz";
+      sha256 = "1prhlp42vnpspj98kbdshv4liixhxak84xzr58mc8ij7whggi820";
+      name = "kde-l10n-cs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-is-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/avwqrqad41ryhdbx9dbr5m67nn6vqphw-kde-l10n-is-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-is-14.12.3.tar.xz";
+      sha256 = "17gw5isal9xk4iz5dr7qqvqx8j06nb2wzsxkkdxk5qgnqsxdn3d4";
+      name = "kde-l10n-is-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ia-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/cmp30mff1j0jq0srvvlhl28jr3jhdrwb-kde-l10n-ia-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ia-14.12.3.tar.xz";
+      sha256 = "0qgdy7b5gs04bszpp2byj9hx3mhy18y3l859si437i0jd3aa4b75";
+      name = "kde-l10n-ia-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-wa-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4x1jjabkfwy5yk0ig70pn72awx9f1c7y-kde-l10n-wa-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-wa-14.12.3.tar.xz";
+      sha256 = "0h23mnlhd53cpayhi3kpz7abj7786cf41n41m43b09ln3bw8d8i9";
+      name = "kde-l10n-wa-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sv-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/z06s7w5m81vy7q7lm5vybpnlq75s69jz-kde-l10n-sv-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sv-14.12.3.tar.xz";
+      sha256 = "14n0i4g484rxs2qx73jb0jh0a138anhj55x49inq7s0cigq2y1k4";
+      name = "kde-l10n-sv-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nn-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y978vl8sv6l0ls2kh6hkcj77cnz3kcvh-kde-l10n-nn-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nn-14.12.3.tar.xz";
+      sha256 = "037z0c6zy5vbzbg0i1fnyi2b88by2r65a9vyihznr2k72yzgbl53";
+      name = "kde-l10n-nn-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-it-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/b15q4v2zmbc030xb1mdw746llfq2vq0y-kde-l10n-it-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-it-14.12.3.tar.xz";
+      sha256 = "0rmy7cnsbfgzmfhq3lvap7x0q1b97np2x1kz65qy1lkdwfvqlafg";
+      name = "kde-l10n-it-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt_BR-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/pzn66c19cgkxlwk4dc7p14pvsagh5bks-kde-l10n-pt_BR-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pt_BR-14.12.3.tar.xz";
+      sha256 = "0p2lfgf29432x7srx6piyi73gbqnwfcb6mrbgb5cbrlxmhazd0x1";
+      name = "kde-l10n-pt_BR-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-el-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/dykqy8mnwk56zyqscjsbc5l0v3caxcm9-kde-l10n-el-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-el-14.12.3.tar.xz";
+      sha256 = "1l9zjgq4mg1rsdk58csdm1bbvjfblh56isp275jm7fg05izc7idz";
+      name = "kde-l10n-el-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ro-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vfw1xmdblc7ryz4iyddkx04n6bpsmi1p-kde-l10n-ro-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ro-14.12.3.tar.xz";
+      sha256 = "1an38a8kq5b5xzjxflr4fpwq3ld6ryb36p2fv5ks3cgp14vs9bhc";
+      name = "kde-l10n-ro-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/i8h2ydglwf8j89g22ppja7waljid0an5-kde-l10n-fi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-fi-14.12.3.tar.xz";
+      sha256 = "1v8kv7ack9l8w7pcy918vc5crhd43y35m1zkp87zdaqg9svsj893";
+      name = "kde-l10n-fi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/s3dxzagxplipcrfh3sz9vhxsbwlvd7v8-kde-l10n-sr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sr-14.12.3.tar.xz";
+      sha256 = "03ddq090ihma7y19l2ryjf69mbmqwigrxmhsyphkrpvkcch995vv";
+      name = "kde-l10n-sr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-da-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5r0zswdk5p3ais2gwwknzqh1y70v98rr-kde-l10n-da-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-da-14.12.3.tar.xz";
+      sha256 = "1nl2wvy1vg76rci4jkkgpp5ii49x6s348ps4mpj3ad46a1nxldfa";
+      name = "kde-l10n-da-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-es-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/a9nqy8yh51xmprzq7g806hpp85djxci6-kde-l10n-es-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-es-14.12.3.tar.xz";
+      sha256 = "12bj9jp6l03skx8pn2b3hrbd598kg4zm4qj88nbf6l9mzjm2pjb0";
+      name = "kde-l10n-es-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-he-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zdrqq64485q0zz3m3mh11canxyn48i6x-kde-l10n-he-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-he-14.12.3.tar.xz";
+      sha256 = "0bsjnlnn703s5s3k8p68ic591zf2k6lcdizhm75dirrc2ydwld2p";
+      name = "kde-l10n-he-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ja-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nxiv4m0827jvvh9pl5adani2f83jd0pa-kde-l10n-ja-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ja-14.12.3.tar.xz";
+      sha256 = "05gl706zmw0jhw7ahdg61q0swy65459j6p6qzx4g6albrxqjr2ks";
+      name = "kde-l10n-ja-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ug-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y9sx89dk7qf8mdl18ga9s99kga8j50v1-kde-l10n-ug-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ug-14.12.3.tar.xz";
+      sha256 = "0pl9fs7gdsxafgiky7k2a6xz07xd02k3glpfd5wxa9ya6l0970nm";
+      name = "kde-l10n-ug-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3flzizssjcyxgsdp1diq0xw5is5xdxzr-kde-l10n-bs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-bs-14.12.3.tar.xz";
+      sha256 = "19f6s5vylir9a695l0wx8fi63an2kgynmdpz3xadq197m1j8wd8d";
+      name = "kde-l10n-bs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/id2z95s1zn6v733fyh3wazrbfy40hyvx-kde-l10n-bg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-bg-14.12.3.tar.xz";
+      sha256 = "1hp1sa8cxsgifr7vaw7iqf8bydcnb7qnz9nnac0a7sx95ypvjmlg";
+      name = "kde-l10n-bg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_CN-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d51bwij9xq5wh9scl66y66g5cwd27dai-kde-l10n-zh_CN-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-zh_CN-14.12.3.tar.xz";
+      sha256 = "1f5zqflfhw077zlhwdf3his89dq8g0c8blpd8rkh7sbbyqgxgcbx";
+      name = "kde-l10n-zh_CN-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wqrvb9c3daz3hc650q212j7j6aysxs52-kde-l10n-fr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-fr-14.12.3.tar.xz";
+      sha256 = "09jriffxnkmlcwmwplspy9znbz5fa8ad06pkapl35337cisyrdqh";
+      name = "kde-l10n-fr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-de-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/477qqq2pd57y9wb83kj2yhclvr8r6ixr-kde-l10n-de-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-de-14.12.3.tar.xz";
+      sha256 = "1y71jjigz5qg3cz16j1vrikddw94zzg00kc6ziw2dxk6sx8j7vxi";
+      name = "kde-l10n-de-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-kk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bpw0gllnd9asq0qkzksrvfni25ai7kaj-kde-l10n-kk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-kk-14.12.3.tar.xz";
+      sha256 = "117125baj789y88l533jpgfggz5g4i0j19qrqybqql2hys7vhvib";
+      name = "kde-l10n-kk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-eu-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/37lal5izk34xpsw4ba5i3fh7klr8s3sm-kde-l10n-eu-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-eu-14.12.3.tar.xz";
+      sha256 = "15albwrdigyk9fzgvqd23njxks0ri72j2n5isbh218gcpp3k6z3b";
+      name = "kde-l10n-eu-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lt-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/isl6qfzmn18flary4fdcz4nnfh4v8wpx-kde-l10n-lt-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-lt-14.12.3.tar.xz";
+      sha256 = "0z8qpy7r22rijhyfaidxvmafbbpha90imx0zk1cg8d96qn5iz1ri";
+      name = "kde-l10n-lt-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pa-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/34jssw40n5qml1s21bsdqw3an7g02g4w-kde-l10n-pa-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pa-14.12.3.tar.xz";
+      sha256 = "17ra2abhgbh1igd36rxkdx7n30qcmcbn85sy54zig8rdcznq4bjk";
+      name = "kde-l10n-pa-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-tr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bydiajxpa21jawxl5yd2fhdy4ha9ad43-kde-l10n-tr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-tr-14.12.3.tar.xz";
+      sha256 = "1mwzryf00x2yaz6c4pm2459svs3hdjddms4xx3vv1r9aq7aavjqb";
+      name = "kde-l10n-tr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3s8gz9b9mhymdiq262w8f1skyvz25c0x-kde-l10n-nl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nl-14.12.3.tar.xz";
+      sha256 = "0jm7z2m5ngb1z1nx2g1vwgkzj46yzm0a37br5jba9yka9dmr15mw";
+      name = "kde-l10n-nl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d3i513r1568j9pvqznjr94ygmpgb8zp8-kde-l10n-ca_valencia-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ca@valencia-14.12.3.tar.xz";
+      sha256 = "1ybsw0r60gkxy3fshm2da5w4mlwfmanwjfwpjnwj40ydlgdi8by5";
+      name = "kde-l10n-ca_valencia-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-id-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/90rfd4hdzch06plw672qfxzljqnk7x71-kde-l10n-id-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-id-14.12.3.tar.xz";
+      sha256 = "0kxss6f349mbhwafahwdv2zgfmsg5v9wp668q9xf0649d1h2w0ww";
+      name = "kde-l10n-id-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lv-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/qb61jvp0gf8a76nkw1wqzq32mg2i926i-kde-l10n-lv-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-lv-14.12.3.tar.xz";
+      sha256 = "11x1csh4f4mmkbhdmk0dibqvl8cddr8y3m9jyrgs980k7kd9617f";
+      name = "kde-l10n-lv-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x9jkn1ngspshcja4z0h4zrlmrqbfc1a0-kde-l10n-pl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pl-14.12.3.tar.xz";
+      sha256 = "17gbg4zb51alcp5g1bx6lbmbkzz0fzl8sbhswwc71yhkq4h9ifpc";
+      name = "kde-l10n-pl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nds-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zbrn541qzdcpsy20kf4mah7rqy64xwwv-kde-l10n-nds-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nds-14.12.3.tar.xz";
+      sha256 = "1mqhc2174g58180l13qygwifqxai78m7prvrd4nnmc22b86cb0i1";
+      name = "kde-l10n-nds-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-km-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7shjylawg8f357xm52zc2qxssqind29q-kde-l10n-km-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-km-14.12.3.tar.xz";
+      sha256 = "1244bjxs2kl7hmaj4v7bfw98vawcc5ipl73payn2ygxqiqmb2jgr";
+      name = "kde-l10n-km-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hu-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ab3swg0pgzwiihfn3vkqiw29gawrlfgf-kde-l10n-hu-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-hu-14.12.3.tar.xz";
+      sha256 = "1cjfy1wash2jvvr0l9s4am9s7ny1zvabbim536b6lmqhyk5bm452";
+      name = "kde-l10n-hu-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ko-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/grsgaxij3fp3kqwlgfaqv0hzh0d6k3zf-kde-l10n-ko-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ko-14.12.3.tar.xz";
+      sha256 = "1chkk4zr7jqb0vbn3bhqpfvirpn5zqrih0124cyrfxmv4a19cz8v";
+      name = "kde-l10n-ko-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/27lgir5h7a95dgr1khc5gvk7rqmhvsnq-kde-l10n-hi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-hi-14.12.3.tar.xz";
+      sha256 = "16pmyi73yfr885xv31rfwq9ingm4cfd2p04wvrxs056yimip2hgz";
+      name = "kde-l10n-hi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ru-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d1ydfg70nkp219vhcc6pi62kxv275121-kde-l10n-ru-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ru-14.12.3.tar.xz";
+      sha256 = "1x89kap46by47ra278r5inps9ab8mncfw76a2scpz7db9g0vfvf3";
+      name = "kde-l10n-ru-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nb-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xc5zsjaiyy9fzf8wdzz15g593xlkgzzb-kde-l10n-nb-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nb-14.12.3.tar.xz";
+      sha256 = "14fgxrld2q9y7w50kn9952115fviyqb66sxvi2501b6kf3xnrpp1";
+      name = "kde-l10n-nb-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-en_GB-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m11758s3nr89b0rzfw492ljzwkqkn30i-kde-l10n-en_GB-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-en_GB-14.12.3.tar.xz";
+      sha256 = "1fbn5rih063wgmnzzsdq5dzmw4vx4cf8jpqd0zjdp4jcja7a7z7h";
+      name = "kde-l10n-en_GB-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-gl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rg1m42j06j7sp2sm33107krg0b655hzg-kde-l10n-gl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-gl-14.12.3.tar.xz";
+      sha256 = "0gm2z3va0lxnk9k3mnw0crlaf946cd2v1nygzbmc74r986aiyrla";
+      name = "kde-l10n-gl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yidz4dma1zm6rx4axqpk37irpvmf96a8-kde-l10n-sl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sl-14.12.3.tar.xz";
+      sha256 = "17vlwgsab5jq9r8vs5q7gwk77p9li8qk8d4997p75z9rmf95jx35";
+      name = "kde-l10n-sl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kate-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1p0y7hq9pqw8qjy9a5nyrjlirxkxayrs-kate-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kate-14.12.3.tar.xz";
+      sha256 = "0czcni5wfw56ar0r5p05j1wrmah98qv1wca95l5mya8fb17wcmnc";
+      name = "kate-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolourpaint-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ad9jhnfb216r0x6dicjx3px17mqnxhzr-kolourpaint-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kolourpaint-14.12.3.tar.xz";
+      sha256 = "1rcln9nqqzhzb0qlkdx81k0zspyyf266s3sa12npil2g9n1yh12h";
+      name = "kolourpaint-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kruler-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9g2fg6167fghd9v5nz92sadiyyac6zmv-kruler-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kruler-14.12.3.tar.xz";
+      sha256 = "0px10ilji6blpfyp44f66m53y5dhcw9s2534pwhbx9xfkal1pprj";
+      name = "kruler-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktimer-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/gg40xflg0y9c38rcg1q1m352zknrvmci-ktimer-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktimer-14.12.3.tar.xz";
+      sha256 = "198gx9j0x556m1vbwmyfgvayjpbws380pmrz4m58ylsvg5mcgwib";
+      name = "ktimer-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksquares-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/z6ql801ixafs2n59gb6fa8z2zr8wq79h-ksquares-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksquares-14.12.3.tar.xz";
+      sha256 = "0fyqs9b4bsgnaadcc0zhvsljmm83mc8brz1gsc7iz4pm3dnz74fr";
+      name = "ksquares-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksystemlog-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/q5rjxayccrra40ahwj8g8q3splvw10sn-ksystemlog-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksystemlog-14.12.3.tar.xz";
+      sha256 = "0a29n39jyrlgfijn99v48z3za4nnz6bambakyri8j9da1zzwn6hy";
+      name = "ksystemlog-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kshisen-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bfj7740qpfw5i6cjml9xf9648s9vj7wh-kshisen-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kshisen-14.12.3.tar.xz";
+      sha256 = "0h5l3m6xxq91v2fzc8p213iglvc78shqa3q0bfy3xbrnd3c8gkm2";
+      name = "kshisen-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksudoku-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/l294adqj7slk00ns53dr6p28jzbjz29b-ksudoku-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksudoku-14.12.3.tar.xz";
+      sha256 = "1scyqlfwxgkdwh93h80wzp7a55vvy0j0zxi9fl0ihsjsh20iv0bm";
+      name = "ksudoku-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkomparediff2-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h4x11ry35314s0max9aqh47k1pyfr22l-libkomparediff2-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkomparediff2-14.12.3.tar.xz";
+      sha256 = "1829sxn3y906hsfj6hqllx0hhwk2qngw9lvrgkcyqygb99ngg2bx";
+      name = "libkomparediff2-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kamera-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/18ywxpzrac8brdqp56vm3jbly49dis8f-kamera-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kamera-14.12.3.tar.xz";
+      sha256 = "1hrvc6l4q69npxyafznhg5i8mybg1c7z4iwp98q5rzsdw5zppvs8";
+      name = "kamera-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscd-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nkz7204dhnfjvjvqqp9id19l5xgzxzrx-kscd-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kscd-14.12.3.tar.xz";
+      sha256 = "1inl4sksyd27rp9g75h0900hs1hr6cb779zf92wsfflmk12gin7j";
+      name = "kscd-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-mobipocket-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/dix33an8h17r8h03vnwml2fym44hrq5l-kdegraphics-mobipocket-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdegraphics-mobipocket-14.12.3.tar.xz";
+      sha256 = "1ff6bbrhwa1jp3icz6mv9m9xl7f7b786yvg8dmc795wmm5hzr721";
+      name = "kdegraphics-mobipocket-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnapshot-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/qnqwzdhg87x5dahx3avxcnys0j3k1qil-ksnapshot-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksnapshot-14.12.3.tar.xz";
+      sha256 = "13a5cri4dqn111p8q0idfgbahlx4ks2xjgvvgcwxd2srxifld825";
+      name = "ksnapshot-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnakeduel-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/972ra01nd7jywn427qj5jz3gwibd2cyy-ksnakeduel-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksnakeduel-14.12.3.tar.xz";
+      sha256 = "0cjylhpsl33zgav8dyhrdl8qvi7yjafsf30drgjsc9jizhmn8hdz";
+      name = "ksnakeduel-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "filelight-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/a3rr545r48ykp0rxfk2b643w683p0af0-filelight-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/filelight-14.12.3.tar.xz";
+      sha256 = "0am2qi6v2mr1rbl4jfjc4jaxg75511n2dvfr9zlsbhglfmzagmj8";
+      name = "filelight-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "step-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wfrkxk4f5hnvfwdraamqci3xap593sh5-step-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/step-14.12.3.tar.xz";
+      sha256 = "0pkj25jb7ydvghbx3187fjddsmck24k1kk4mms1hxp2i8xa11b1l";
+      name = "step-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kompare-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/027r3fzd86qx6rfsc5lfas02cmn60283-kompare-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kompare-14.12.3.tar.xz";
+      sha256 = "1vjq7fdbdskhymwrl8i9945qbd0xaqgcrp95p8qpmafcc88nxvdl";
+      name = "kompare-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblocks-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/kxpwjjlwa41agz76z15jbwb7b4s6x7ck-kblocks-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kblocks-14.12.3.tar.xz";
+      sha256 = "0y5f55z1i9fywfsspiyy467r2f11v7szwzhjrvacqf2g208mncwv";
+      name = "kblocks-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knetwalk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5j6v68g4gc7jvqrypk9s1m0grng8rpyn-knetwalk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/knetwalk-14.12.3.tar.xz";
+      sha256 = "1bakk8linrmgzn5zn79kj9bhfn43krpdahd989ba8ldfyz9d0hcc";
+      name = "knetwalk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "killbots-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/pgg1zvpidxgv1dacj7ncn62mizwjz0m9-killbots-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/killbots-14.12.3.tar.xz";
+      sha256 = "1b5chz21wxpmvi43iyr5gn2dh7azahamd8fwnjsdb49znyy5ab19";
+      name = "killbots-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-wallpapers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m3sl4zcjky2smf0vky7lwvw8g79n2idw-kde-wallpapers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-wallpapers-14.12.3.tar.xz";
+      sha256 = "0cdaj33xim3rvq7ihwpv338g4s51xb36b6jszpfa9hnzxsxa146f";
+      name = "kde-wallpapers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bomber-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/syx3k30s7j3s4v1hcb4azh176m4n7082-bomber-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/bomber-14.12.3.tar.xz";
+      sha256 = "0bhy5rjisq9f9ai36a0m9vhagdxj6jdyw0hlylpjl1ayy3qly1mc";
+      name = "bomber-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjumpingcube-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y1nrp3nf81v1v6khr86xdp9bjn7fnaya-kjumpingcube-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kjumpingcube-14.12.3.tar.xz";
+      sha256 = "16fgz0jicalls8c25p1hnd92rj3vwbbdli9wi1ljdv0f799h3z9w";
+      name = "kjumpingcube-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfourinline-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jahrwl1157161xh4dgjcnd0hnfq8x28c-kfourinline-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kfourinline-14.12.3.tar.xz";
+      sha256 = "026kvydxlrk7r91k9ffc27bsj0792shpziynh845ycbx9dy3nspk";
+      name = "kfourinline-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwordquiz-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/l3zj17f3n998w3b3mf4v8jjib0a0p3yy-kwordquiz-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kwordquiz-14.12.3.tar.xz";
+      sha256 = "1r8ms2d59aa64wnmdv8psjn4bbypjzcpb982jpc6kfrwj391q2ig";
+      name = "kwordquiz-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "palapeli-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y8lsccnmrc8r451j1b1igjxyrnvqpbys-palapeli-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/palapeli-14.12.3.tar.xz";
+      sha256 = "1wwnsvccshg2y55zcfpy2kvyplkjjbv96nacdfhln3yilbakwv1f";
+      name = "palapeli-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdcraw-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1nwhjxi7hmywfqiig8b60qaywwqircqh-libkdcraw-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkdcraw-14.12.3.tar.xz";
+      sha256 = "0fw025nas8x70ji534j59d6vcsvqzr7yfcyls0yznlz5ppy4g9rz";
+      name = "libkdcraw-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sweeper-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9pj5rh11mpnr3grriz5x4c3ar5whn52g-sweeper-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/sweeper-14.12.3.tar.xz";
+      sha256 = "1y8yvjpd6v8s7xzgwkaa9sc4k715n53l01182j48lcyhfx6gbh98";
+      name = "sweeper-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "zeroconf-ioslave-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/cjd95qf5ppz9msqy2ggisilhhl4h0nvy-zeroconf-ioslave-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/zeroconf-ioslave-14.12.3.tar.xz";
+      sha256 = "0x858q6w1llcyy3933sqpdi53p8h2l1rbic1v1xyqbl4zdz9ixpp";
+      name = "zeroconf-ioslave-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalgebra-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/cbndc9qfgqbksmfq1q00lhw1a6qz52wk-kalgebra-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kalgebra-14.12.3.tar.xz";
+      sha256 = "0pm2dshg73yc4h16sjm37j1003zs6hrp92lkr1679541z02m2f2l";
+      name = "kalgebra-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccessible-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bfpnby19d3qgqhkw3fb102v8j4qh9vi0-kaccessible-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kaccessible-14.12.3.tar.xz";
+      sha256 = "02h56bykzpkvk17snm88mb8cxsy2nmhjz1by18rg4cc2gf61qk74";
+      name = "kaccessible-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-runtime-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/91s8bj9j78cmwj5ijb8536ykmnh3k1fg-kdepim-runtime-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdepim-runtime-4.14.6.tar.xz";
+      sha256 = "1jnwgfy7052fzlz3mic7cy5jp1v5j81f28h205x56h6p7nswk29a";
+      name = "kdepim-runtime-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmix-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bm5pazc7ch4k130xj2ikmdcz69490xl6-kmix-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmix-14.12.3.tar.xz";
+      sha256 = "132k71ymd2pbbsbcw91haaalxljxzyirfw33ppk5w9d9m46h7gk8";
+      name = "kmix-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbreakout-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yw3v6jwj76v2savll4mwsvy8bh9n3iv9-kbreakout-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kbreakout-14.12.3.tar.xz";
+      sha256 = "1kzwdz0njqggy6h208lllswaqsrwr7hid4pi1f69hnh9c27a1vbl";
+      name = "kbreakout-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkmahjongg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vv1vfxq2dd88qhz563dbzmd8gisrhdb9-libkmahjongg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkmahjongg-14.12.3.tar.xz";
+      sha256 = "0kizdr1xn58wxblkkq5swy4vqap24cdcxl092aswvi7ql85zn2hy";
+      name = "libkmahjongg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmahjongg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8m2kvp5j83yw25smfh55ka4x73bp3sli-kmahjongg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmahjongg-14.12.3.tar.xz";
+      sha256 = "08y03hszmnmf7wawrznhqhak00gd5mcrbfndb538j44k5am60ddb";
+      name = "kmahjongg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdeedu-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/smk5qi7815a13m4c6xb7vzz18vz5n6qf-libkdeedu-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkdeedu-14.12.3.tar.xz";
+      sha256 = "0bja8qc2sbfq3ikhxk70fg72cj4hwbw4l7ag4zc9lq312jbzvkii";
+      name = "libkdeedu-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kstars-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/mi979pdj5cm4sz1qbbdvzr75731xjfbx-kstars-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kstars-14.12.3.tar.xz";
+      sha256 = "1gg96zny1vgsm1cyzxqlp617ly862r6ywv21vr99fismrasj919z";
+      name = "kstars-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "granatier-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0661bdzswm2n96vgix2vq8rp48jg2a1d-granatier-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/granatier-14.12.3.tar.xz";
+      sha256 = "182z9lnvrxhfp1jp4lb33ij07bvzvi79xi3ncicyb9p015s9mlsg";
+      name = "granatier-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "juk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d6kz07a661dlyr950zmrirgsb52i8c5z-juk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/juk-14.12.3.tar.xz";
+      sha256 = "1zaw82px1qacfy612b9bxfgksyyvhlqrn0sv6p5dqzz01kg66xwy";
+      name = "juk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepimlibs-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/24hs45qvjc6ixw77rjl226y0mldn14z0-kdepimlibs-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdepimlibs-4.14.6.tar.xz";
+      sha256 = "03fnxg2as2rri27ajkzm2wjma25pqd97h91bxka07b3fwcqimvbh";
+      name = "kdepimlibs-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdegames-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2x4jzjdy5k10dcn15q3jfnlbbaihbp2q-libkdegames-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkdegames-14.12.3.tar.xz";
+      sha256 = "0dj39kzhix9h79mnw25535n0swpb04sdl1n4l9jnj306daf16g27";
+      name = "libkdegames-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktuberling-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/id1jxy17a8g7kwbhgk0h60f8rsvf1zz3-ktuberling-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktuberling-14.12.3.tar.xz";
+      sha256 = "0svfdfpvmwghv656rmip5y0c997pl6mlnq9ns88akqdjl45nywkm";
+      name = "ktuberling-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "poxml-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8myygl0hkb6l20xqj8wfynfx3zx45c9h-poxml-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/poxml-14.12.3.tar.xz";
+      sha256 = "1xw1dc9zc0wnn8h7dk115zapf8kgvm57nh2zrgmahy6ppza112bd";
+      name = "poxml-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmag-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/banw9x2cffxi8a0lal0x26v0c0vlypwi-kmag-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmag-14.12.3.tar.xz";
+      sha256 = "12aiyv848cdy0jkhbcj4ha3cg781ndjcffkl871ah7qy0sgcnkw9";
+      name = "kmag-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-runtime-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1361pwj0m3rxysay6njg9dz04in7k1sk-kde-runtime-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-runtime-14.12.3.tar.xz";
+      sha256 = "08ndk21mq547fw26gfa7vy88vxf78v8anbvjrym2k5f59fdx2aai";
+      name = "kde-runtime-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lokalize-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jns1ws94d4cklkzn7n9hk0a6zsbwyg6n-lokalize-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/lokalize-14.12.3.tar.xz";
+      sha256 = "0cy3zyzszbka19hy624rgxc07bh4hyfins4j2cwlivkszbssh8r2";
+      name = "lokalize-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kopete-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y692wcc35c9dr5v9h1yjv33b0s87k3p3-kopete-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kopete-14.12.3.tar.xz";
+      sha256 = "1cdqcbafmmfq357n2kybzkfjwq926wb5lslpxbbpdnhiid23k8xp";
+      name = "kopete-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "parley-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/31mxjkglzynxwi3h928n52mi6ldszww2-parley-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/parley-14.12.3.tar.xz";
+      sha256 = "0vzqsbr26l39akpch7f1xr1xwsdybszvd1f9rrdmy4rg9swc692v";
+      name = "parley-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "svgpart-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w58yam9l13rjzh0cc4a16qkn9xzrl72m-svgpart-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/svgpart-14.12.3.tar.xz";
+      sha256 = "0jrhyb2ji2ii1pq7fmnyln12zhrqb9ahwpdq1x8ya56bws49qira";
+      name = "svgpart-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-strigi-analyzers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/i6l7hapmsfcga8b9agdi0ld2sss2maqy-kdenetwork-strigi-analyzers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdenetwork-strigi-analyzers-14.12.3.tar.xz";
+      sha256 = "1w8alhwkbffvwjfpja5pw881min6mv7vc1ag1qiblrzirsx4zhvh";
+      name = "kdenetwork-strigi-analyzers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ffmpegthumbs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m7vz5qmkwxbbs0f2251a0bbrl8g2jjw5-ffmpegthumbs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ffmpegthumbs-14.12.3.tar.xz";
+      sha256 = "1kni6fc1nb1n5zjqx736mlfcv08jp9nrchs7qkb2krzn4n5m0aji";
+      name = "ffmpegthumbs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-kioslaves-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5zhbmw2i3xb7axfyvq45qkp7dhf6xya0-kdesdk-kioslaves-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdesdk-kioslaves-14.12.3.tar.xz";
+      sha256 = "0w7ish8xpd7s26xmc9j9gxxy7b0lllv5px95g5dn4876qqcqpsks";
+      name = "kdesdk-kioslaves-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kremotecontrol-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x2m1gbmqsq6zd48sbpmp2dz64d5m2nm5-kremotecontrol-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kremotecontrol-14.12.3.tar.xz";
+      sha256 = "0wy2jb9dx3bf8x22l0x7bqn8n45mn6jclnsb3saq7cns5905b68m";
+      name = "kremotecontrol-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-filesharing-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7ckqs96cigik5syqj0ka0xk3m9ybphhx-kdenetwork-filesharing-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdenetwork-filesharing-14.12.3.tar.xz";
+      sha256 = "1icg45a2qsv1n19gsfg7w3wa2ysa4rkbx3w8maq8c7x673qs5kcp";
+      name = "kdenetwork-filesharing-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "audiocd-kio-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m2p9ipvfj9cdznrc736fjhbvyj3g3yz1-audiocd-kio-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/audiocd-kio-14.12.3.tar.xz";
+      sha256 = "1103f1ic5niy0zs4zvz841aaa6r4q0x0db4apnyvwbx51zi7qzsb";
+      name = "audiocd-kio-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konsole-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4anl6k756x5n7j58rafxyx04sgxjlc20-konsole-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/konsole-14.12.3.tar.xz";
+      sha256 = "0apz7dn9lza69fgnylhy3md47palj3qzjhpihfr0qsgn6gzg6f7a";
+      name = "konsole-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "mplayerthumbs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rv12zii0hdwh4fb5mv08nf0qid79miy5-mplayerthumbs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/mplayerthumbs-14.12.3.tar.xz";
+      sha256 = "01hisifj8j88wz31q4dhj0qinzz0yw9fz0lm16qp3yxv7r7p82cr";
+      name = "mplayerthumbs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-utils-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/6lgsi6phi4p3lyh7qvw3bqkixfad0fl8-kde-dev-utils-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-dev-utils-14.12.3.tar.xz";
+      sha256 = "0i6m5vs42c5mvznayh9rzjdp5rkcbl3aar909j3ir9kc3v3mi2ns";
+      name = "kde-dev-utils-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krdc-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2ckqwp8l6cy1c35bvcbs4x26z1czsdc4-krdc-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/krdc-14.12.3.tar.xz";
+      sha256 = "1q8s1wdmblfx8jj8acnkkyhx3rrn1ampskd9wx39jid8vznvkwpy";
+      name = "krdc-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klickety-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0hyjdsihgm0sn0gv2xsrijhqbgaqqn6z-klickety-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/klickety-14.12.3.tar.xz";
+      sha256 = "1cz7aam2azgqilvz6jsbkfy3dpimh86f64vmkvlk3n42zkksp7hm";
+      name = "klickety-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdiamond-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/sw2cca4mpa4y2dq1f0wjkqiqdxcjqkcn-kdiamond-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdiamond-14.12.3.tar.xz";
+      sha256 = "1cm793801nysqp90dcyvfvwxc9h212qrq3lhg7621h9fhq0946a5";
+      name = "kdiamond-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ark-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rb4li4dqgv2mw1w732pkhkxpvjxdb50g-ark-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ark-14.12.3.tar.xz";
+      sha256 = "0a6ggjg6x9kdlhm2n8l3dw4nn765lj78gn11yxgj37riq9yhg5xx";
+      name = "ark-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfloppy-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zpk335imsalsxqa7bfa6wcllxgcdipln-kfloppy-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kfloppy-14.12.3.tar.xz";
+      sha256 = "1b1zskwch7zz7iqfz3fa14q0bkrr2yjckr1h5fvn9k7q79x7xph6";
+      name = "kfloppy-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "picmi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/c9z5wpwzpnvp5fiv5zbjg4fm8p8xrn7m-picmi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/picmi-14.12.3.tar.xz";
+      sha256 = "0vlyn2f2j1p4734rcmqyjh03h4a2m79z9swfmlahh12gq5ka81im";
+      name = "picmi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konquest-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/mfysg0babfpbzvpnh8b3a9kzk6n29ssh-konquest-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/konquest-14.12.3.tar.xz";
+      sha256 = "1il757w6xzvkaadangwfpkz14qx02wwdlflzffw9jis2lbz19qnh";
+      name = "konquest-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalzium-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/dn3vmyqlm2qsi52bhfl1cyafza31b6y9-kalzium-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kalzium-14.12.3.tar.xz";
+      sha256 = "1mnkhp5wlc3rmxyw4lli5smb419vzkv52aqpwakyncrz7nxkyk24";
+      name = "kalzium-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-base-artwork-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/fi9lq4lqwclvr627x32q8lr4cwcxbgng-kde-base-artwork-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-base-artwork-14.12.3.tar.xz";
+      sha256 = "06v3javkhkchpjc3sv7x5mk2jgb1366mi18dzwg63h2ca8740wn1";
+      name = "kde-base-artwork-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "blinken-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2fq724w1bqmiz9hqqmhds1f0zj18k8dz-blinken-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/blinken-14.12.3.tar.xz";
+      sha256 = "0k4a5r4rq5brh5xv2lm6ldwfv1qy5wiqnj0ycp55p974isbdgqsb";
+      name = "blinken-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcharselect-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vqyn4qdsgnai9a9w944g0jqpmvzqg5b9-kcharselect-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcharselect-14.12.3.tar.xz";
+      sha256 = "1ycx0y82f4ah5fg9ki62fwnnhyly1sqs52zs4519hnmyqn7h7q1v";
+      name = "kcharselect-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "umbrello-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x66xrvdlnwcs8g6l3f4iz9fvxhw61v28-umbrello-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/umbrello-14.12.3.tar.xz";
+      sha256 = "0f5qn6h89hj4n25p2nkcgqb0xk4qvlwi115n5qlsmbc3icj2j7cy";
+      name = "umbrello-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kget-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ah3xdqjxw5h29qmjc4wdb1c5i9zdsl40-kget-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kget-14.12.3.tar.xz";
+      sha256 = "04wf6qncq1xdfrp9j5cnhdii9hj83wjkp5i168flzi292sqyw9ia";
+      name = "kget-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kuser-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/68ps9qh0w9mq4qawdzzjyy1h1y33wfqs-kuser-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kuser-14.12.3.tar.xz";
+      sha256 = "1xgd3g2fdanl28sar3mgcsnld69nczcdanvaqslil4vc7d8r1xim";
+      name = "kuser-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kigo-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/60ipws592hnlygalmkzgzmlwnhmkvjg4-kigo-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kigo-14.12.3.tar.xz";
+      sha256 = "093bm60yaj8v8g6n7x4ysjbxph6xgh9ylarhdxsrjpmq268wql31";
+      name = "kigo-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dolphin-plugins-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zk9mrrc8vkzq41bx7sfyjc3lx73jzlqm-dolphin-plugins-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/dolphin-plugins-14.12.3.tar.xz";
+      sha256 = "16kxzpnfy8cxy8v1idwsisqq0p13n14zcid9a5n1sv02w91c02rj";
+      name = "dolphin-plugins-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "katomic-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/z8kgww8c0mqwx6cfsfqm8yd58k71xvrl-katomic-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/katomic-14.12.3.tar.xz";
+      sha256 = "0rbhf8j8if5r20l1cryl4irgd8p94ikbsz6456y7v8fzv5mf6kgn";
+      name = "katomic-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "rocs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jqamjiig020rvvyqwjarbxqj29ix93yi-rocs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/rocs-14.12.3.tar.xz";
+      sha256 = "14k5yx0vfpf0fllqi5f72vz2135qag6gb7hs7523jaavxkb23d1p";
+      name = "rocs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcddb-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9vhmysfqpabx7cwrqsmkpgh4hinjqh39-libkcddb-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkcddb-14.12.3.tar.xz";
+      sha256 = "1i8n63jpckc3fa27rcqyrf10cz8zsyjyvrpa7fgmggsf91k1c144";
+      name = "libkcddb-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebdev-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bz14zb6rlkwgmj0l8q9nffar2443zcaq-kdewebdev-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdewebdev-14.12.3.tar.xz";
+      sha256 = "17qy41gww688klpv2cgnk1r3cnd9sq72bsga82d7dnk0v6dinlxz";
+      name = "kdewebdev-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krfb-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/iq7fn9lp4fh2s74lrb2r4v39n66c8a7v-krfb-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/krfb-14.12.3.tar.xz";
+      sha256 = "0258ffj2wx25cycpw3cmvnw9ig874jpi6yw711w6d8nfy66ribpb";
+      name = "krfb-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-baseapps-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yv1ixn2gwc8vv32m3y5axy3dn1p3sbrv-kde-baseapps-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-baseapps-14.12.3.tar.xz";
+      sha256 = "1zcjbhnxzqxjn4xs6pwb8cvcnjypa4yh09jr4frd82nfhdsq7nyd";
+      name = "kde-baseapps-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cantor-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7f8qlf08l8fwykz677xywlfdsf8j1pml-cantor-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/cantor-14.12.3.tar.xz";
+      sha256 = "106k9gp4r2241yh6np8mbq587chwkicxk7ssbpvvvg2m126idz9y";
+      name = "cantor-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/24zfmzbi9q832p6i91i71sms1vk3rfg2-kdelibs-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdelibs-4.14.6.tar.xz";
+      sha256 = "165xn2bv03j2g4j7m287add40kwhccvp2ci5hrar2xfd9sgl24xk";
+      name = "kdelibs-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kubrick-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xl12n09yvf5j7di78mrkxxhfnn6axijy-kubrick-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kubrick-14.12.3.tar.xz";
+      sha256 = "1g9ls282qy6s0xsaa50ck0gkiz980cx50zjjhq4yimlhp1gswmj0";
+      name = "kubrick-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpat-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hq79f56cq1gqw7nfxcfliqi4k8kjpkd5-kpat-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kpat-14.12.3.tar.xz";
+      sha256 = "1787qymlsxyi7dm2q8axpjl3n62qx9xv7diyg8627kkjm1a1xw9r";
+      name = "kpat-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "marble-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/inai3p0228fmjcr8vkbnbhnvpznwvrgz-marble-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/marble-14.12.3.tar.xz";
+      sha256 = "1ylhc3278yqdcsli6yw7bnci6mdx01g0r97m78bs74l5biz4yql4";
+      name = "marble-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcolorchooser-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/szdzjvc2h3w5dpp154m0kqh5i0spk771-kcolorchooser-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcolorchooser-14.12.3.tar.xz";
+      sha256 = "1v8mgv5pjl3g6igxs92qd3zn8qr3qip046pb77856qhn3d9s4pqj";
+      name = "kcolorchooser-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkface-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rfk8bxw07690a9kncmcdmlqjx7qkrld2-libkface-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkface-14.12.3.tar.xz";
+      sha256 = "0zp48mlkqkjc6wk81kcf1q980196q0m153kzfjahi5w4vlslzgam";
+      name = "libkface-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbounce-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w2gc6778llzkl8qbzdl582ay45rwn6wn-kbounce-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kbounce-14.12.3.tar.xz";
+      sha256 = "1hn09ghhmj2dk47vnkqkvrm87n50m506mmzq058cccjlfdah5iin";
+      name = "kbounce-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-strigi-analyzer-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jplhnd96n48zih1mbf6bx96xl5b35kdp-kdegraphics-strigi-analyzer-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdegraphics-strigi-analyzer-14.12.3.tar.xz";
+      sha256 = "135dcs9ppa8lv5va8bqmccfxj0hf5f65qprx7l02k74xj4k70yki";
+      name = "kdegraphics-strigi-analyzer-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcalc-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5aykxgy1by52pcfmv1z990kz6xpwjj18-kcalc-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcalc-14.12.3.tar.xz";
+      sha256 = "0w5pl11vw0d2g3pnxb3ffig209r0bjg135163crnic9akfbfa9s5";
+      name = "kcalc-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lskat-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1lk25ql2cgisdm7yhjyn1ac416h8qdc0-lskat-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/lskat-14.12.3.tar.xz";
+      sha256 = "0k5wq5naj0ahmnwpvdrif2clzxjwr9jk6p40igakzanpp23i6p9k";
+      name = "lskat-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "amor-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vvbs6wghnrbrq9yd9v647l227bzsiyaa-amor-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/amor-14.12.3.tar.xz";
+      sha256 = "1y9cia887lqbcs6nr08mbrxr8shb895wvxf5jg8w6iic6pwy516c";
+      name = "amor-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klines-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/sxi3wlcwn3gbkmcama2vx4dg45xwm7sx-klines-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/klines-14.12.3.tar.xz";
+      sha256 = "1xsrkbjdnw4icchbr5y7w64y6szfv8qdzndwd2bgrw0yvyjg5w7x";
+      name = "klines-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiriki-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0al1vmsjw3a94arnw19k59gajw3kpxdd-kiriki-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kiriki-14.12.3.tar.xz";
+      sha256 = "11c76kq2pji07xfbyf2621h76sjx9pqdj3qqzydzbwdinxy0bgz0";
+      name = "kiriki-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgpg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4bw6lkbzy88kl09gk9sv494xw4a004a9-kgpg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgpg-14.12.3.tar.xz";
+      sha256 = "00qjgkgy1d8wygc298z3v7y37j47w16pjzp8ssnsdkmx88h1dp3i";
+      name = "kgpg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolf-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/97i8x4wydz1z4p2dfg2c04xvvblpdds0-kolf-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kolf-14.12.3.tar.xz";
+      sha256 = "12h4817ky9xwwrdqgba515dw87314ijci4lwqvcqmm7rq44qac8g";
+      name = "kolf-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "superkaramba-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/k35761pidfd258y0fjbcr1c22y5lwzhf-superkaramba-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/superkaramba-14.12.3.tar.xz";
+      sha256 = "1q6qpmwyics1mb44l55vy5wyjd0d5mbsm780kj4y9l6mp98b47c0";
+      name = "superkaramba-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapman-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h55lr5qacws82h167r142367mldrq50z-kapman-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kapman-14.12.3.tar.xz";
+      sha256 = "1i3ci8qpx8njr250pgkz7zlfihyi3k6vc2vnw7dcv09qfby466qb";
+      name = "kapman-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khangman-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y0xl8ckan6cwmz35mvzsjv35a55s45s9-khangman-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/khangman-14.12.3.tar.xz";
+      sha256 = "1y11jwsb1ba55hc2sx0adffvrck1mrn43wna16zkrh1sxk7fk8r5";
+      name = "khangman-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksane-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rdh9ivzb5i8xilvp5v05k6szxv9nhv40-libksane-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libksane-14.12.3.tar.xz";
+      sha256 = "162bi5d6kbx7zlb4waha82ldg2j40rwcg1gikfahkjsprm6npmh3";
+      name = "libksane-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgoldrunner-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h4if4axrpc0sdn6xmazgn2d5xhkbpr0x-kgoldrunner-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgoldrunner-14.12.3.tar.xz";
+      sha256 = "1kg9mskg3aj0bp8h8y5bfkapmw4iys42aw3sa7f8zfkqp993zsw8";
+      name = "kgoldrunner-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bovo-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/30xn0rg0g32p4d00i9z4xs95lp504six-bovo-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/bovo-14.12.3.tar.xz";
+      sha256 = "021pmar0g7s0p7qrzimp2x54idy9pdg22y8mgi26xrk9n7i5yybp";
+      name = "bovo-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgamma-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3ajn3gyhisbdny0q3qskhn6r9wkw0aly-kgamma-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgamma-14.12.3.tar.xz";
+      sha256 = "1ywpkg7zbh9xy50a53dmlz1rsli5gdc52l50v14gm1sdjl2sfjpm";
+      name = "kgamma-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kajongg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/fhr2zhxsxlc5fl15l9fil414jaxw98hz-kajongg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kajongg-14.12.3.tar.xz";
+      sha256 = "0fdvwv5jbmc42wzc2j5y4adjqqwzq6hvl8b7nzaknphvpk7257hj";
+      name = "kajongg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kppp-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7q3rq4gjjkwxjlliqy76x14h45xxzhhf-kppp-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kppp-14.12.3.tar.xz";
+      sha256 = "00517rl2b5zaf42sziar2cj878dcii6jr1mx8jicq293f171krn7";
+      name = "kppp-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmplot-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jdxf1cy03k03r51kqa1klb3ib5jvd8jy-kmplot-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmplot-14.12.3.tar.xz";
+      sha256 = "1fq8m07pgmcfp1cr7q0y90ngaj282nz1pw5mqdfjh9syfradli0i";
+      name = "kmplot-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdf-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wrk2mg2h2y34s0gysr095d713wim7brw-kdf-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdf-14.12.3.tar.xz";
+      sha256 = "1dd35frqxgqmhakc6f7xs6sck061271cnfym9bsd5q6fxv9s8vdp";
+      name = "kdf-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knavalbattle-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8wa0nvqryc7gzxfk2sgbsavk1q6p3jpi-knavalbattle-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/knavalbattle-14.12.3.tar.xz";
+      sha256 = "1jl5f2ndgnffhmgpcc4in6rryshph3p12d1xa2ixw36xyr45hcki";
+      name = "knavalbattle-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksirk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/macznkbfj12i3nfcks2fr29fy24vlda7-ksirk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksirk-14.12.3.tar.xz";
+      sha256 = "1h3dgp2j7lz13j16k1j5b7wyg0g4x08svw1v2pc15llakr39p88m";
+      name = "ksirk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "print-manager-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ja14bgwgs1wp8831ipa39s9zhayjfqdl-print-manager-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/print-manager-14.12.3.tar.xz";
+      sha256 = "1n1m5w3p4r97y7jp76q35z8g39ipfaldkgbfbz47i89bc33zaxy5";
+      name = "print-manager-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "artikulate-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/44frkjvk64qwj15g2pfh8a1ficag137d-artikulate-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/artikulate-14.12.3.tar.xz";
+      sha256 = "1rv51nk2lqvxfgwsxyzq9cd1qq68nr6z7r5xis83smc4gnaczajh";
+      name = "artikulate-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeedu-data-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9pd7p5vl53w6i6m324km5xkp6v967l53-kdeedu-data-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdeedu-data-14.12.3.tar.xz";
+      sha256 = "1q1vw5dprvqj7yyg9w39ndy8nvnnhkbladylv0kyh1491ba2a3kb";
+      name = "kdeedu-data-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kturtle-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x30qa0vibvxxza1pqy9a4ddnj4w2xhcw-kturtle-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kturtle-14.12.3.tar.xz";
+      sha256 = "0hxnc8lfqrfs5njaym54kl4vf2q6jakgif90saxfm50irjbwlg34";
+      name = "kturtle-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klettres-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/734ajz153q37a4pzyh464q9aip528d77-klettres-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/klettres-14.12.3.tar.xz";
+      sha256 = "01irm9pgh46rghbmmwwrdb85ys2gv23h46qaicv4zp73bl6mhn5c";
+      name = "klettres-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkeduvocdocument-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bj1igafd6x86fay8syr6d573b05472mc-libkeduvocdocument-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkeduvocdocument-14.12.3.tar.xz";
+      sha256 = "060p8sh3rbbajykjw1z2ba3xnv1bq8ns86yfwx2lv2jyaqpkkgyk";
+      name = "libkeduvocdocument-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcompactdisc-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hbrdr0fizjfwyf4p317gwgii4ckxr9bx-libkcompactdisc-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkcompactdisc-14.12.3.tar.xz";
+      sha256 = "0957qd9zzbnksi1zxw1av4zxwzi48pq80jpk5h1id7cdhlfrsxz7";
+      name = "libkcompactdisc-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-strigi-analyzers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m37c7klxvf2nz3byv04b763sls4j6h8r-kdesdk-strigi-analyzers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdesdk-strigi-analyzers-14.12.3.tar.xz";
+      sha256 = "13q7cy274ibsisvchfagb5mh4iq2wpm12zriwn625ciajy1zbq1r";
+      name = "kdesdk-strigi-analyzers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiten-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5ibmcrrhacqq7qn5zfq7fp1y3qwj90jn-kiten-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kiten-14.12.3.tar.xz";
+      sha256 = "0iy508g6mp7gibzv3m59hjjcvl32h03pzfqj8k6pgq0jya0bqvvd";
+      name = "kiten-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwalletmanager-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/q2v3p0k65zzhmzphawir64a3x8k7qmbn-kwalletmanager-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kwalletmanager-14.12.3.tar.xz";
+      sha256 = "1sbbgvwh8d5pv4p5z89gk29lz2snp4glinpa3y2dg9s9chnn0qj4";
+      name = "kwalletmanager-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kanagram-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hcpxv7a1j4r0pavak6zqps9kb4mlgj1a-kanagram-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kanagram-14.12.3.tar.xz";
+      sha256 = "0j8l5cx251wvb2s6xzdsx45cgwzpy8a97lbss8lhhfrqwqn62lh4";
+      name = "kanagram-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kspaceduel-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/v5rwasilq989vbmqqnj14cqq87gmvpsr-kspaceduel-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kspaceduel-14.12.3.tar.xz";
+      sha256 = "1z1p5wy39xkyplhdq8z3p61flnyzh03yhi28yc0f79iqx22psvjb";
+      name = "kspaceduel-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kig-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/amjyaqjvc88397nj2g54z6djs5rj5mgm-kig-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kig-14.12.3.tar.xz";
+      sha256 = "0vhamrasgazjn110ahh09a402vhsgqh8h5v1qqmvi49f6v44bxbb";
+      name = "kig-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "jovie-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4fzqz8h97hnn7v0q2gadc1mp4xhssl3x-jovie-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/jovie-14.12.3.tar.xz";
+      sha256 = "12ky24hkpqm0bhi9x8fm6bf0nfqclpr5yv7n054995k3irygz9lz";
+      name = "jovie-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cervisia-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/81d3gi968mqnzps5v56lfi4dzkq7vfkw-cervisia-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/cervisia-14.12.3.tar.xz";
+      sha256 = "094x08jf21h5f0vjx28bqj207csh56rc293bs4sl8lg9d1h0gbax";
+      name = "cervisia-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dragon-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2wh0xa17ikpsbm0addwb502rvld07ici-dragon-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/dragon-14.12.3.tar.xz";
+      sha256 = "0fngv700yhlh0q73njwfl6szf9v57csyf0gpqf1hyl9wvv2mwswj";
+      name = "dragon-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kqtquickcharts-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/a3lgzwlizzj1yp4n1v0k80h45rzml2bz-kqtquickcharts-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kqtquickcharts-14.12.3.tar.xz";
+      sha256 = "01017d0mww3ai4i8ik29kfwkakyp92ngrjm6704015i0wili09i0";
+      name = "kqtquickcharts-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblackbox-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/r5721x8a5aasszaw7hnj91iy90sy0007-kblackbox-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kblackbox-14.12.3.tar.xz";
+      sha256 = "1kmdxiy30cm3jrgi6kdg15rrwyyxgnrb51w3bfcgaqr48kz73id6";
+      name = "kblackbox-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapptemplate-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xgnk2fv1a5q0xsy80xwn2p57vn10w3z7-kapptemplate-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kapptemplate-14.12.3.tar.xz";
+      sha256 = "0gwx51df5qms1vy1b6csbllcjy5xs55xmscz4i2n75ba7dsw9ivy";
+      name = "kapptemplate-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgeography-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/409f1vaf4n42mhdyxmjw0vf670frpgwg-kgeography-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgeography-14.12.3.tar.xz";
+      sha256 = "098j76mk1lc7wjvwybvyb04zaysmmn9zl9y35r4yhr11lv2v2idf";
+      name = "kgeography-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksaneplugin-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h3c8xaj4wybcpndp90x5qfr9602l6cr2-ksaneplugin-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksaneplugin-14.12.3.tar.xz";
+      sha256 = "143j3ck5cy4678fx9d0jv3y8zvbkvjxc8kyx3n8hmm4plin54lah";
+      name = "ksaneplugin-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okular-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/fsviwbz3j2lx8d9hnscq7i6ncm1svq2j-okular-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/okular-14.12.3.tar.xz";
+      sha256 = "07snh1z38s1ycwfsirkzh91dw13hkf0lq79das75qjjladv3v9d7";
+      name = "okular-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-thumbnailers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/062pw1fc4w3nsflchjnzr33agfr5zpaa-kdesdk-thumbnailers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdesdk-thumbnailers-14.12.3.tar.xz";
+      sha256 = "1vaw2p5y9q44yfcs34f501baga1rhswgawn2brglfada6y2b89jk";
+      name = "kdesdk-thumbnailers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-workspace-4.11.17.tar.xz" ".tar";
+    store = "/nix/store/hgca7dsswq9axlaalvs1ci8zh0sl8j4k-kde-workspace-4.11.17.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-workspace-4.11.17.tar.xz";
+      sha256 = "0pkn49wis90v8ky8hasa80x6ji59sswlb5ib3hzr67mk191vhlhx";
+      name = "kde-workspace-4.11.17.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktux-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/kap125hfflfrp7nb58b7vv3w2kp3r6wh-ktux-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktux-14.12.3.tar.xz";
+      sha256 = "0yg3a9wnn4rdbainypq8v6hw57flgsqsq8h8rzb6iy6hwnw8pc8p";
+      name = "ktux-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmousetool-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/li6azfrf8qsi5ai8vfrfq0md8cw581p7-kmousetool-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmousetool-14.12.3.tar.xz";
+      sha256 = "14n79dlfiyd3pz3gi6sg71nd2p5vp18sk99bh7qz1dyid27v6z08";
+      name = "kmousetool-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-icons-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/mlpp2nwbyg3dscicj50795c4bxbmzcqq-oxygen-icons-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/oxygen-icons-14.12.3.tar.xz";
+      sha256 = "0apfpfrpxjrnxf6c4bxxfhys9k7wif74yx9bbysrrndw4bvv0nx6";
+      name = "oxygen-icons-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktouch-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3hpc3hmys0i16sh7aqmlw46flk6r110y-ktouch-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktouch-14.12.3.tar.xz";
+      sha256 = "1z084yi4s1i5nqir2izdaa5gca3216gqb00mr06044pc2h059j6h";
+      name = "ktouch-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kollision-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/lvsdhfw8c30z36yyjfcxprcw3ik3jb2s-kollision-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kollision-14.12.3.tar.xz";
+      sha256 = "1gfzya87q202az63dvrfpyf70khc27vh9nj5hriyql0kzyqy0xgf";
+      name = "kollision-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-thumbnailers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0vnr7sljdzsxpkdyzz08yspr6kcbj0vn-kdegraphics-thumbnailers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdegraphics-thumbnailers-14.12.3.tar.xz";
+      sha256 = "023b1la31qc2b8rfmc3nxi29pd3jld6p2ivi1sdl1pybcillzpax";
+      name = "kdegraphics-thumbnailers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "gwenview-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/lrkq8yk3wr9gwivm2177vqv5y2sh7zcf-gwenview-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/gwenview-14.12.3.tar.xz";
+      sha256 = "14kwdayzffsc8nk20xl86gqspbvrwja9x8h2dc498cqag0l60hcw";
+      name = "gwenview-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmines-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/qgxz0771xbp8zvqplrv3g8rc89025xqa-kmines-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmines-14.12.3.tar.xz";
+      sha256 = "1xbpdq8250srbg2c10iz44aa6i19srk4x0f0bcsjhc53r8680g0f";
+      name = "kmines-14.12.3.tar.xz";
+    };
+  }
+]
diff --git a/pkgs/applications/kde-apps-14.12/manifest.sh b/pkgs/applications/kde-apps-14.12/manifest.sh
new file mode 100755
index 00000000000..7e3038275b8
--- /dev/null
+++ b/pkgs/applications/kde-apps-14.12/manifest.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+if [ $# -eq 0 ]; then
+
+  # The extra slash at the end of the URL is necessary to stop wget
+  # from recursing over the whole server! (No, it's not a bug.)
+  $(nix-build ../../.. -A autonix.manifest) \
+      http://download.kde.org/stable/applications/14.12.1/ \
+      http://download.kde.org/stable/applications/14.12.2/ \
+      http://download.kde.org/stable/applications/14.12.3/ \
+      -A '*.tar.xz'
+
+else
+
+  $(nix-build ../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
+
+fi
diff --git a/pkgs/applications/kde-apps-14.12/renames.nix b/pkgs/applications/kde-apps-14.12/renames.nix
new file mode 100644
index 00000000000..011cb77337b
--- /dev/null
+++ b/pkgs/applications/kde-apps-14.12/renames.nix
@@ -0,0 +1,23 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+"Analitza5" = "analitza";
+"Backend" = "kde-workspace";
+"CTest" = "sweeper";
+"ECM" = "extra-cmake-modules";
+"Gpgmepp" = "kdepimlibs";
+"JDns" = "kopete";
+"KDE4Workspace" = "kde-workspace";
+"KDEGames" = "libkdegames";
+"KDeclarative" = "kdelibs";
+"KSane" = "libksane";
+"KdepimLibs" = "kdepimlibs";
+"LibKEduVocDocument" = "libkeduvocdocument";
+"LibKdeEdu" = "libkdeedu";
+"LibKompareDiff2" = "libkomparediff2";
+"Libkcddb" = "libkcddb";
+"Libkcompactdisc" = "libkcompactdisc";
+"Okular" = "okular";
+"QJDns" = "kopete";
+"QMobipocket" = "kdegraphics-mobipocket";
+}
diff --git a/pkgs/applications/kde-apps-14.12/setup-hook.sh b/pkgs/applications/kde-apps-14.12/setup-hook.sh
new file mode 100644
index 00000000000..a8d9b7e0e36
--- /dev/null
+++ b/pkgs/applications/kde-apps-14.12/setup-hook.sh
@@ -0,0 +1 @@
+addToSearchPath XDG_DATA_DIRS @out@/share
diff --git a/pkgs/applications/kde-apps-15.04/default.nix b/pkgs/applications/kde-apps-15.04/default.nix
new file mode 100644
index 00000000000..96f1aea6875
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/default.nix
@@ -0,0 +1,324 @@
+# Maintainer's Notes:
+#
+# Minor updates:
+#  1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
+#     releases updates that include only the changed packages; in this case,
+#     multiple URLs can be provided and the results will be merged.
+#  2. Run ./manifest.sh and ./dependencies.sh.
+#  3. Build and enjoy.
+#
+# Major updates:
+#  We prefer not to immediately overwrite older versions with major updates, so
+#  make a copy of this directory first. After copying, be sure to delete ./tmp
+#  if it exists. Then follow the minor update instructions.
+
+{ autonix, symlinkJoin, kde4, kf5, pkgs, qt4, qt5, stdenv, debug ? false }:
+
+with stdenv.lib; with autonix;
+
+let kf5Orig = kf5; in
+
+let
+
+  kf5 = kf5Orig.override { inherit debug qt5; };
+
+  mirror = "mirror://kde";
+
+  renames =
+    (builtins.removeAttrs
+      (import ./renames.nix {})
+      ["Backend" "CTest"])
+    // {
+      "KDE4" = "kdelibs";
+      "Kexiv2" = "libkexiv2";
+      "Kdcraw" = "libkdcraw";
+      "Kipi" = "libkipi";
+      "LibKMahjongg" = "libkmahjongg";
+      "LibKonq" = "kde-baseapps";
+    };
+
+  mkDerivation = drv: kf5.mkDerivation (drv // {
+    preHook = (drv.preHook or "") + ''
+      addQt4Plugins() {
+        if [[ -d "$1/lib/qt4/plugins" ]]; then
+            propagatedUserEnvPkgs+=" $1"
+        fi
+
+        if [[ -d "$1/lib/kde4/plugins" ]]; then
+            propagatedUserEnvPkgs+=" $1"
+        fi
+      }
+
+      envHooks+=(addQt4Plugins)
+    '';
+  });
+
+  scope =
+    # packages in this collection
+    (mapAttrs (dep: name: kdeApps."${name}") renames) //
+    # packages from KDE Frameworks 5
+    kf5.scope //
+    # packages from nixpkgs
+    (with pkgs;
+      {
+        ACL = acl;
+        Akonadi = kde4.akonadi;
+        Alsa = alsaLib;
+        Automoc4 = automoc4;
+        Avahi = avahi;
+        BISON = bison;
+        Baloo = kde4.baloo;
+        Boost = boost156;
+        Canberra = libcanberra;
+        Cdparanoia = cdparanoia;
+        CUPS = cups;
+        DBusMenuQt = libdbusmenu_qt;
+        DjVuLibre = djvulibre;
+        ENCHANT = enchant;
+        EPub = ebook_tools;
+        Eigen2 = eigen2;
+        Eigen3 = eigen;
+        Exiv2 = exiv2;
+        FAM = fam;
+        FFmpeg = ffmpeg;
+        Flac = flac;
+        FLEX = flex;
+        Freetype = freetype;
+        GMP = gmp;
+        Gettext = gettext;
+        Gpgme = gpgme;
+        Gphoto2 = libgphoto2;
+        Grantlee = grantlee;
+        GSL = gsl;
+        HUNSPELL = hunspell;
+        HUpnp = herqq;
+        Jasper = jasper;
+        KActivities = kde4.kactivities;
+        LCMS2 = lcms2;
+        Ldap = openldap;
+        LibAttica = attica;
+        LibGcrypt = libgcrypt;
+        LibSSH = libssh;
+        LibSpectre = libspectre;
+        LibVNCServer = libvncserver;
+        Libical = libical;
+        MusicBrainz3 = libmusicbrainz;
+        NetworkManager = networkmanager;
+        OggVorbis = libvorbis;
+        OpenAL = openal;
+        OpenEXR = openexr;
+        Poppler = poppler_qt4;
+        Prison = prison;
+        PulseAudio = pulseaudio;
+        PythonLibrary = python;
+        Qalculate = libqalculate;
+        QCA2 = qca2;
+        QImageBlitz = qimageblitz;
+        QJSON = qjson;
+        Qt4 = qt4;
+        Samba = samba;
+        Sasl2 = cyrus_sasl;
+        SharedDesktopOntologies = shared_desktop_ontologies;
+        SndFile = libsndfile;
+        Speechd = speechd;
+        TIFF = libtiff;
+        Taglib = taglib;
+        TelepathyQt4 = telepathy_qt;
+        TunePimp = libtunepimp;
+        UDev = udev;
+        USB = libusb;
+        Xscreensaver = xscreensaver;
+        Xsltproc = libxslt;
+      }
+    );
+
+  qt5Only = tgt:
+    let qt4Deps = [ "KDE4" "Phonon" ];
+    in mapAttrs (name: if name == tgt then removePkgDeps qt4Deps else id);
+
+  preResolve = super:
+    fold (f: x: f x) super
+      [
+        (qt5Only "kmix")
+        (userEnvPkg "SharedMimeInfo")
+        (userEnvPkg "SharedDesktopOntologies")
+        (blacklist ["artikulate"]) # build failure, wrong boost?
+        (blacklist ["kde-dev-scripts" "kde-dev-utils"]) # docbook errors
+        (blacklist ["kdewebdev"]) # unknown build failure
+      ];
+
+  l10nPkgQt4 = orig:
+    let drvName = builtins.parseDrvName orig.name; in
+    mkDerivation {
+      name = "${drvName.name}-qt4-${drvName.version}";
+      inherit (orig) src;
+      buildInputs = [ kdeApps.kdelibs ];
+      nativeBuildInputs = with pkgs; [ cmake gettext perl ];
+      preConfigure = ''
+        cd 4/
+      '';
+    };
+
+  l10nPkgQt5 = orig:
+    let drvName = builtins.parseDrvName orig.name; in
+    mkDerivation {
+      name = "${drvName.name}-qt5-${drvName.version}";
+      inherit (orig) src;
+      buildInputs = with kf5; [ kdoctools ki18n ];
+      nativeBuildInputs = with pkgs; [ cmake kf5.extra-cmake-modules gettext perl ];
+      preConfigure = ''
+        cd 5/
+      '';
+    };
+
+  l10nPkg = name: orig: symlinkJoin orig.name [(l10nPkgQt4 orig) (l10nPkgQt5 orig)];
+
+  removeL10nPkgs = filterAttrs (n: v: !(hasPrefix "kde-l10n") n);
+
+  postResolve = super:
+    (removeL10nPkgs super) // {
+
+      ark = with pkgs; super.ark // {
+        buildInputs = (super.ark.buildInputs or []) ++ [ makeWrapper ];
+        postInstall = ''
+          wrapProgram $out/bin/ark --prefix PATH : "${unzipNLS}/bin"
+        '';
+      };
+
+      ffmpegthumbs = with pkgs; super.ffmpegthumbs // {
+        nativeBuildInputs = super.ffmpegthumbs.nativeBuildInputs ++ [pkgconfig];
+      };
+
+      kalzium = with pkgs; super.kalzium // {
+        nativeBuildInputs = super.kalzium.nativeBuildInputs ++ [pkgconfig];
+      };
+
+      kde-runtime = with pkgs; super.kde-runtime // {
+        buildInputs =
+          super.kde-runtime.buildInputs ++ [libcanberra];
+        nativeBuildInputs =
+          super.kde-runtime.nativeBuildInputs ++ [pkgconfig];
+        NIX_CFLAGS_COMPILE =
+          (super.kde-runtime.NIX_CFLAGS_COMPILE or "")
+          + " -I${ilmbase}/include/OpenEXR";
+        meta = { priority = 10; };
+      };
+
+      kde-workspace = with pkgs; super.kde-workspace // {
+        buildInputs = with xlibs;
+          super.kde-workspace.buildInputs
+          ++
+          [
+            libxkbfile libXcomposite xcbutilimage xcbutilkeysyms
+            xcbutilrenderutil
+          ];
+        nativeBuildInputs =
+          super.kde-workspace.nativeBuildInputs
+          ++ [ pkgconfig ];
+        meta = { priority = 10; };
+      };
+
+      kdelibs = with pkgs; super.kdelibs // {
+        buildInputs =
+          super.kdelibs.buildInputs ++ [ attr libxslt polkit_qt4 xz ];
+
+        nativeBuildInputs =
+          super.kdelibs.nativeBuildInputs ++ [ pkgconfig ];
+
+        NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+        propagatedBuildInputs =
+          super.kdelibs.propagatedBuildInputs ++ [ qt4 soprano phonon strigi ];
+
+        propagatedNativeBuildInputs =
+          super.kdelibs.propagatedNativeBuildInputs
+          ++ [ automoc4 cmake perl shared_mime_info ];
+
+        patches = [ ./kdelibs/polkit-install.patch ];
+
+        cmakeFlags = [
+          "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+          "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+          "-DHUPNP_ENABLED=ON"
+          "-DWITH_SOLID_UDISKS2=ON"
+          "-DKDE_DEFAULT_HOME=.kde"
+        ];
+      };
+
+      kdepim = with pkgs; super.kdepim // {
+        buildInputs =
+          super.kdepim.buildInputs ++ [ gpgme libassuan ];
+        nativeBuildInputs =
+          super.kdepim.nativeBuildInputs ++ [ pkgconfig ];
+      };
+
+      kdepimlibs = with pkgs; super.kdepimlibs // {
+        nativeBuildInputs =
+          super.kdepimlibs.nativeBuildInputs ++ [ pkgconfig ];
+      };
+
+      kdesdk-thumbnailers = with pkgs; super.kdesdk-thumbnailers // {
+        nativeBuildInputs =
+          super.kdesdk-thumbnailers.nativeBuildInputs
+          ++ [gettext];
+      };
+
+      kgpg = with pkgs; super.kgpg // {
+        buildInputs = super.kgpg.buildInputs ++ [boost];
+      };
+
+      kmix = with pkgs; super.kmix // {
+        nativeBuildInputs = super.kmix.nativeBuildInputs ++ [pkgconfig];
+        cmakeFlags = [ "-DKMIX_KF5_BUILD=ON" ];
+      };
+
+      kmousetool = with pkgs; super.kmousetool // {
+        buildInputs = with xlibs;
+          super.kmousetool.buildInputs
+          ++ [libXtst libXt];
+      };
+
+      kremotecontrol = with pkgs; super.kremotecontrol // {
+        buildInputs = super.kremotecontrol.buildInputs ++ [xlibs.libXtst];
+      };
+
+      krfb = super.krfb // {
+        buildInputs =
+          super.krfb.buildInputs
+          ++ [pkgs.xlibs.libXtst kde4.telepathy.common_internals];
+      };
+
+      libkdcraw = with pkgs; super.libkdcraw // {
+        buildInputs = super.libkdcraw.buildInputs ++ [scope.KDE4 libraw];
+        nativeBuildInputs = super.libkdcraw.nativeBuildInputs ++ [pkgconfig];
+      };
+
+      libkexiv2 = with pkgs; super.libkexiv2 // {
+        buildInputs = super.libkexiv2.buildInputs ++ [exiv2 scope.KDE4];
+      };
+
+      libkface = with pkgs; super.libkface // {
+        buildInputs = super.libkface.buildInputs ++ [scope.KDE4 opencv];
+      };
+
+      libkipi = with pkgs; super.libkipi // {
+        buildInputs = super.libkipi.buildInputs ++ [scope.KDE4];
+      };
+
+      libksane = with pkgs; super.libksane // {
+        buildInputs = super.libksane.buildInputs ++ [scope.KDE4 saneBackends];
+      };
+
+    };
+
+  l10nManifest =
+    filterAttrs
+      (n: v: hasPrefix "kde-l10n" n)
+      (importManifest ./manifest.nix { inherit mirror; });
+
+  kdeApps = generateCollection ./. {
+    inherit mkDerivation;
+    inherit mirror preResolve postResolve renames scope;
+  };
+
+in kdeApps // (mapAttrs l10nPkg l10nManifest)
diff --git a/pkgs/applications/kde-apps-15.04/dependencies.nix b/pkgs/applications/kde-apps-15.04/dependencies.nix
new file mode 100644
index 00000000000..08ceda442d5
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/dependencies.nix
@@ -0,0 +1,1804 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+  amor = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  analitza = {
+    buildInputs = [ "ECM" "Eigen3" "GLEW" "OpenGL" "Qt5" "Qt5NO_MODULE" "Qt5OpenGL" "Qt5Qml" "Qt5Quick" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ark = {
+    buildInputs = [ "BZip2" "KDE4" "LibArchive" "LibKonq" "LibLZMA" "QJSON" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  artikulate = {
+    buildInputs = [ "KDE4" "KDeclarative" "QtGStreamer" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  audiocd-kio = {
+    buildInputs = [ "Cdparanoia" "Flac" "KDE4" "Libkcddb" "Libkcompactdisc" "OggVorbis" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  blinken = {
+    buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  bomber = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5KDEGames" "KF5KIO" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  bovo = {
+    buildInputs = [ "ECM" "KF5" "KF5CoreAddons" "KF5Declarative" "KF5KDEGames" "KF5NewStuff" "KF5XmlGui" "Qt5" "Qt5Concurrent" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  cantor = {
+    buildInputs = [ "Analitza5" "ECM" "KDE4" "KF5" "KF5Archive" "KF5Config" "KF5CoreAddons" "KF5KDELibs4Support" "KF5NewStuff" "KF5Parts" "KF5Pty" "KF5TextEditor" "LibSpectre" "LuaJIT" "PythonLibs" "PythonLibs3" "Qalculate" "Qt5" "Qt5Core" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5Xml" "Qt5XmlPatterns" "R" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  cervisia = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  dolphin-plugins = {
+    buildInputs = [ "KDE4" "LibKonq" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  dragon = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ffmpegthumbs = {
+    buildInputs = [ "FFmpeg" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  filelight = {
+    buildInputs = [ "ECM" "KF5" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5Parts" "KF5Solid" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  granatier = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDEGames" "KF5KIO" "KF5NewStuff" "KF5NotifyConfig" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  gwenview = {
+    buildInputs = [ "ECM" "Exiv2" "JPEG" "KF5" "KF5Activities" "KF5Baloo" "KF5KDELibs4Support" "KF5KDcraw" "KF5KIO" "KF5Kipi" "LCMS2" "PNG" "Phonon4Qt5" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5DBus" "Qt5OpenGL" "Qt5QUIET" "Qt5Script" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  jovie = {
+    buildInputs = [ "KDE4" "Qt4" "Speechd" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  juk = {
+    buildInputs = [ "KDE4" "Taglib" "TunePimp" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kaccessible = {
+    buildInputs = [ "KDE4" "Qt4" "Speechd" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kaccounts-integration = {
+    buildInputs = [ "AccountsQt5" "ECM" "KF5" "KF5Akonadi" "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KIO" "KF5Wallet" "KF5WidgetsAddons" "Qt5" "Qt5Core" "Qt5Test" "Qt5Widgets" "SignOnQt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "AccountsQt5" "KF5CoreAddons" "Qt5Widgets" "SignOnQt5" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kaccounts-providers = {
+    buildInputs = [ "AccountsFileDir" "ECM" "Intltool" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kajongg = {
+    buildInputs = [ "KDE4" "Twisted" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kalgebra = {
+    buildInputs = [ "Analitza5" "Curses" "ECM" "KF5ConfigWidgets" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5WidgetsAddons" "OpenGL" "Qt5" "Qt5NO_MODULE" "Qt5OpenGL" "Qt5PrintSupport" "Qt5Qml" "Qt5Quick" "Qt5Svg" "Qt5Test" "Qt5WebKitWidgets" "Qt5Xml" "Readline" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kalzium = {
+    buildInputs = [ "KDE4" "KDEWIN32" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kamera = {
+    buildInputs = [ "Gphoto2" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kanagram = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5NewStuff" "KF5Sonnet" "LibKEduVocDocument" "Qt5" "Qt5Core" "Qt5OPTIONAL_COMPONENTS" "Qt5OpenGL" "Qt5QUIET" "Qt5Qml" "Qt5Quick" "Qt5TextToSpeech" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kapman = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5KDEGames" "KF5KIO" "KF5NotifyConfig" "KF5WindowSystem" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kapptemplate = {
+    buildInputs = [ "ECM" "KDE4" "KF5" "KF5Archive" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5Plasma" "KF5XmlGui" "KdepimLibs" "Qt5" "Qt5Core" "Qt5Gui" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "RBKCONFIG_COMPILER4" "RBUIC4" "XSLTPROC_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kate = {
+    buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "LibGit2" "PyKDE4" "PyQt4" "PythonLibrary" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Sql" "Qt5Test" "Qt5Widgets" "SIP" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  katomic = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDEGames" "KF5KIO" "KF5NewStuff" "KF5NotifyConfig" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kblackbox = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KDEGames" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kblocks = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5ItemModels" "KF5KDEGames" "KF5KIO" "KF5NewStuff" "KF5NotifyConfig" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbounce = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KDEGames" "KF5KIO" "KF5NotifyConfig" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbreakout = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5JobWidgets" "KF5KDEGames" "KF5KIO" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbruch = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcachegrind = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcalc = {
+    buildInputs = [ "ECM" "GMP" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5Init" "KF5Notifications" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcharselect = {
+    buildInputs = [ "ECM" "KF5" "KF5DocTools" "KF5I18n" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcolorchooser = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcron = {
+    buildInputs = [ "ECM" "KF5" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5PrintSupport" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-base-artwork = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-baseapps = {
+    buildInputs = [ "Baloo" "BalooWidgets" "GLIB2" "KActivities" "KDE4" "KFileMetaData" "LibTidy" "X11" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-dev-scripts = {
+    buildInputs = [ "ECM" "KDE4" "KF5DocTools" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-dev-utils = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ar = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-bg = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-bs = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ca = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ca_valencia = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-cs = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-da = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-de = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-el = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-en_gb = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-es = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-et = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-eu = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-fa = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-fi = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-fr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ga = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-gl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-he = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-hi = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-hr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-hu = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ia = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-id = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-is = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-it = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ja = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-kk = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-km = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ko = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-lt = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-lv = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-mr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nb = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nds = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-nn = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pa = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pt = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-pt_br = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ro = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ru = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sk = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sl = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-sv = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-tr = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-ug = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-uk = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-wa = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-zh_cn = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-l10n-zh_tw = {
+    buildInputs = [ "ECM" "Gettext" "KDE4" "KF5DocTools" "KF5I18n" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-runtime = {
+    buildInputs = [ "Alsa" "BZip2" "Exiv2" "GLIB2" "Gpgme" "JPEG" "KActivities" "KDE4" "KDeclarative" "KdepimLibs" "LibAttica" "LibGcrypt" "LibLZMA" "LibSSH" "NepomukCore" "NetworkManager" "OpenEXR" "PulseAudio" "QCA2" "QGpgme" "QNtrack" "SLP" "Samba" "SharedMimeInfo" "Soprano" ];
+    nativeBuildInputs = [ "MD5SUM_EXECUTABLE" "WINDRES_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kde-wallpapers = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-workspace = {
+    buildInputs = [ "Akonadi" "Boost" "DBusMenuQt" "Fontconfig" "Freetype" "GLIB2" "JPEG" "KActivities" "KDE4" "KDeclarative" "KdepimLibs" "NepomukCore" "OpenGL" "OpenGLES" "PCIUTILS" "PNG" "Prison" "PythonLibrary" "QImageBlitz" "QJSON" "Qalculate" "Qt4" "RAW1394" "Sensors" "Soprano" "Strigi" "UDev" "USB" "Wayland" "X11" "X11_XCB" "XCB" "Xmms" "ZLIB" "libgps" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdeartwork = {
+    buildInputs = [ "Eigen3" "KDE4" "KDE4Workspace" "Kexiv2" "OpenGL" "Xscreensaver" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdeedu-data = {
+    buildInputs = [ "ECM" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdegraphics-mobipocket = {
+    buildInputs = [ "KDE4" "Strigi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdegraphics-strigi-analyzer = {
+    buildInputs = [ "KDE4" "OpenEXR" "Strigi" "TIFF" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdegraphics-thumbnailers = {
+    buildInputs = [ "KDE4" "Kdcraw" "Kexiv2" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdelibs = {
+    buildInputs = [ "ACL" "AGG" "ASPELL" "Automoc4" "Avahi" "BZip2" "Blitz" "BlueZ" "Carbon" "DBusMenuQt" "DNSSD" "DocBookXML" "DocBookXSL" "ENCHANT" "Eigen2" "FAM" "FFmpeg" "Flac" "Flex" "GIF" "GObject" "GSSAPI" "GStreamer" "Grantlee" "HSPELL" "HUNSPELL" "HUpnp" "IOKit" "JPEG" "Jasper" "KDE4" "KDE4Internal" "LCMS" "LibArt" "LibAttica" "LibXml2" "Libintl" "OpenEXR" "OpenSSL" "PCRE" "PNG" "QCA2" "QImageBlitz" "Qt4" "SharedDesktopOntologies" "SharedMimeInfo" "Soprano" "Sqlite" "Strigi" "UDev" "USB" "Xine" "Xmms" "ZLIB" ];
+    nativeBuildInputs = [ "BISON" "FLEX" "LibXslt" "Perl" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kdenetwork-filesharing = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdenetwork-strigi-analyzers = {
+    buildInputs = [ "Boost" "KDE4" "Strigi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdenlive = {
+    buildInputs = [ "ECM" "Git" "KF5" "KF5Archive" "KF5Bookmarks" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DocTools" "KF5GuiAddons" "KF5IconThemes" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5NotifyConfig" "KF5Plotting" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "LibV4L2" "MLT" "OpenGL" "Qt5" "Qt5Core" "Qt5DBus" "Qt5OpenGL" "Qt5Script" "Qt5Svg" "Qt5Test" "Qt5Widgets" "SDL" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kdepim = {
+    buildInputs = [ "Akonadi" "Baloo" "Boost" "Git" "Grantlee" "KDE4" "KdepimLibs" "LibKGAPI2" "Prison" "QGpgme" "QJSON" "Sasl2" "Xsltproc" "ZLIB" ];
+    nativeBuildInputs = [ "DBLATEX_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdepim-runtime = {
+    buildInputs = [ "AccountsQt" "Akonadi" "Boost" "KDE4" "KdepimLibs" "LibKFbAPI" "LibKGAPI2" "Libkolab" "Libkolabxml" "QJSON" "Qt4" "Sasl2" "SharedMimeInfo" "SignOnQt" "Xsltproc" ];
+    nativeBuildInputs = [ "_testrunner" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kdepimlibs = {
+    buildInputs = [ "Akonadi" "Boost" "Gpgme" "KDE4" "Ldap" "LibXml2" "Libical" "Prison" "QJSON" "Sasl2" "SharedMimeInfo" "Xsltproc" ];
+    nativeBuildInputs = [ "LibXslt" "PERL_EXECUTABLE" "_testrunner" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kdesdk-kioslaves = {
+    buildInputs = [ "KDE4" "SVN" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesdk-strigi-analyzers = {
+    buildInputs = [ "KDE4" "Strigi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesdk-thumbnailers = {
+    buildInputs = [ "GettextPO" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdewebdev = {
+    buildInputs = [ "KDE4" "KdepimLibs" "LibTidy" "RUBY" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdf = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdiamond = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KDEGames" "KF5NotifyConfig" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kfloppy = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kfourinline = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DNSSD" "KF5Declarative" "KF5I18n" "KF5IconThemes" "KF5ItemModels" "KF5ItemViews" "KF5KDEGames" "KF5KDELibs4Support" "KF5KIO" "KF5NotifyConfig" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgamma = {
+    buildInputs = [ "KDE4" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgeography = {
+    buildInputs = [ "ECM" "KF5" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kget = {
+    buildInputs = [ "Boost" "KDE4" "KDE4Workspace" "KTorrent" "LibMms" "NepomukCore" "NepomukWidgets" "QCA2" "QGpgme" "SharedDesktopOntologies" "Soprano" "Sqlite" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgoldrunner = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kgpg = {
+    buildInputs = [ "Gpgme" "KDE4" "KdepimLibs" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  khangman = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5NewStuff" "KF5Notifications" "KF5XmlGui" "LibKEduVocDocument" "Qt5" "Qt5Core" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kig = {
+    buildInputs = [ "BoostPython" "ECM" "KF5Archive" "KF5ConfigWidgets" "KF5DocTools" "KF5Emoticons" "KF5I18n" "KF5IconThemes" "KF5ItemModels" "KF5KDELibs4Support" "KF5Parts" "KF5TextEditor" "KF5XmlGui" "Qt5PrintSupport" "Qt5Svg" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kigo = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  killbots = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDEGames" "KF5KIO" "KF5NotifyConfig" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kiriki = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kiten = {
+    buildInputs = [ "ECM" "KF5" "KF5Archive" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5KHtml" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjumpingcube = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5ItemModels" "KF5KDEGames" "KF5KDELibs4Support" "KF5KIO" "KF5NewStuff" "KF5NotifyConfig" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  klettres = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5Emoticons" "KF5I18n" "KF5ItemModels" "KF5KDELibs4Support" "KF5NewStuff" "KF5WidgetsAddons" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  klickety = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  klines = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDEGames" "KF5KIO" "KF5NewStuff" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmag = {
+    buildInputs = [ "KDE4" "QAccessibilityClient" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmahjongg = {
+    buildInputs = [ "KDE4" "KDEGames" "LibKMahjongg" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmines = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5KDEGames" "KF5KIO" "KF5NotifyConfig" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmix = {
+    buildInputs = [ "Alsa" "Canberra" "ECM" "GLIB2" "KDE4" "KF5" "KF5ConfigWidgets" "KF5DBusAddons" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDELibs4Support" "KF5XmlGui" "Phonon" "PulseAudio" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmousetool = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmouth = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmplot = {
+    buildInputs = [ "ECM" "KF5" "KF5GuiAddons" "KF5I18n" "KF5KDELibs4Support" "KF5Parts" "KF5WidgetsAddons" "Qt5" "Qt5Core" "Qt5Gui" "Qt5PrintSupport" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knavalbattle = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knetwalk = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDEGames" "KF5KIO" "KF5NotifyConfig" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kolf = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kollision = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5KDEGames" "KF5KIO" "KF5NewStuff" "KF5NotifyConfig" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kolourpaint = {
+    buildInputs = [ "KDE4" "QImageBlitz" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kompare = {
+    buildInputs = [ "ECM" "KF5" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5DocTools" "KF5IconThemes" "KF5JobWidgets" "KF5Parts" "KF5TextEditor" "KF5WidgetsAddons" "LibKompareDiff2" "Qt5" "Qt5Core" "Qt5PrintSupport" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  konquest = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  konsole = {
+    buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5KDELibs4Support" "KF5KIO" "KF5Notifications" "KF5NotifyConfig" "KF5Parts" "KF5Pty" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Test" "Qt5Widgets" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kopete = {
+    buildInputs = [ "Alsa" "Boost" "Expat" "GIF" "GLIB2" "IDN" "Jasper" "JsonCpp" "KDE4" "KdepimLibs" "Kleopatra" "LibMeanwhile" "LibOTR" "LibV4L2" "LibXml2" "Libgadu" "Libmsn" "LiboRTP" "Mediastreamer" "OpenSSL" "QCA2" "QGpgme" "QImageBlitz" "Qt4" "Qt5Core" "Qt5Network" "Qt5QUIET" "SRTP" "Speex" "Sqlite" "Xmms" "ZLIB" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kpat = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDEGames" "KF5KIO" "KF5NewStuff" "KF5NotifyConfig" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kppp = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kqtquickcharts = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  krdc = {
+    buildInputs = [ "KDE4" "LibNXCL" "LibVNCServer" "TelepathyQt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kremotecontrol = {
+    buildInputs = [ "KDE4" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kreversi = {
+    buildInputs = [ "KDE4" "KDEGames" "KDeclarative" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  krfb = {
+    buildInputs = [ "KDE4" "KTp" "LibVNCServer" "TelepathyQt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kruler = {
+    buildInputs = [ "ECM" "KF5" "KF5DocTools" "KF5I18n" "KF5Notifications" "KF5WindowSystem" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksaneplugin = {
+    buildInputs = [ "KDE4" "KSane" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kscd = {
+    buildInputs = [ "Alsa" "KDE4" "MusicBrainz3" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kshisen = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5DNSSD" "KF5Declarative" "KF5DocTools" "KF5KDEGames" "KF5KIO" "KF5KMahjongglib" "KF5NewStuff" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5Gui" "Qt5NO_MODULE" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksirk = {
+    buildInputs = [ "KDE4" "KDEGames" "QCA2" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksnakeduel = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksnapshot = {
+    buildInputs = [ "KDE4" "Kipi" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kspaceduel = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksquares = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDEGames" "KF5KIO" "KF5NotifyConfig" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kstars = {
+    buildInputs = [ "AstrometryNet" "CFitsio" "ECM" "Eigen3" "INDI" "KF5" "KF5Config" "KF5DBusAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5JobWidgets" "KF5KIO" "KF5NewStuff" "KF5Plotting" "KF5TextEditor" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "OpenGL" "Qt5" "Qt5Gui" "Qt5Multimedia" "Qt5OpenGL" "Qt5PrintSupport" "Qt5Qml" "Qt5Quick" "Qt5Sql" "Qt5Svg" "Qt5Test" "Qt5Xml" "WCSLIB" "Xplanet" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksudoku = {
+    buildInputs = [ "KDE4" "KDEGames" "OpenGL" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksystemlog = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kteatime = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5Notifications" "KF5NotifyConfig" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktimer = {
+    buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Notifications" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktouch = {
+    buildInputs = [ "KDE4" "KDeclarative" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-accounts-kcm = {
+    buildInputs = [ "AccountsFileDir" "AccountsQt5" "ECM" "Intltool" "KAccounts" "KF5" "KF5Codecs" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KCMUtils" "KF5KIO" "KF5WidgetsAddons" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Widgets" "SignOnQt5" "TelepathyQt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-approver = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5DBusAddons" "KF5I18n" "KF5Notifications" "KF5Service" "Qt5" "Qt5Network" "Qt5Widgets" "TelepathyQt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-auth-handler = {
+    buildInputs = [ "AccountsQt5" "ECM" "KAccounts" "KF5" "KF5I18n" "KF5KIO" "KF5Wallet" "KF5WebKit" "KF5WidgetsAddons" "KTp" "Qca-qt5" "Qca-qt5-ossl" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Gui" "Qt5Network" "SignOnQt5" "TelepathyQt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-common-internals = {
+    buildInputs = [ "AccountsQt5" "Doxygen" "ECM" "KAccounts" "KF5" "KF5Config" "KF5CoreAddons" "KF5IconThemes" "KF5KCMUtils" "KF5KIO" "KF5Notifications" "KF5NotifyConfig" "KF5People" "KF5TextEditor" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "LibOTR" "Libgcrypt" "Qt5" "Qt5Qml" "Qt5Sql" "Qt5Test" "TelepathyLoggerQt" "TelepathyQt5" "TelepathyQt5Service" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Wallet" "TelepathyLoggerQt" "TelepathyQt5" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-contact-list = {
+    buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KIO" "KF5Notifications" "KF5NotifyConfig" "KF5People" "KF5WindowSystem" "KF5XmlGui" "KTp" "Qt5" "Qt5Widgets" "Qt5Xml" "TelepathyQt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-contact-runner = {
+    buildInputs = [ "ECM" "KF5" "KF5I18n" "KF5Runner" "KF5Service" "KTp" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Network" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-desktop-applets = {
+    buildInputs = [ "ECM" "KF5" "KF5Plasma" "KF5WindowSystem" "Qt5" "Qt5Qml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-filetransfer-handler = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5KIO" "KTp" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-kded-module = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5DBusAddons" "KF5I18n" "KF5IdleTime" "KF5KCMUtils" "KF5KIO" "KF5Notifications" "KF5WidgetsAddons" "KTp" "Qt5" "Qt5Concurrent" "Qt5Network" "Qt5Sql" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-send-file = {
+    buildInputs = [ "ECM" "KF5" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KIO" "KTp" "Qt5" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktp-text-ui = {
+    buildInputs = [ "ECM" "KF5" "KF5Archive" "KF5Emoticons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KCMUtils" "KF5KIO" "KF5Notifications" "KF5NotifyConfig" "KF5People" "KF5Service" "KF5Sonnet" "KF5TextWidgets" "KF5WebKit" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "KTp" "Qt5" "Qt5WebKitWidgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktuberling = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kturtle = {
+    buildInputs = [ "ECM" "KF5" "KF5I18n" "KF5KDELibs4Support" "KF5KIO" "KF5NewStuff" "Qt5" "Qt5Core" "Qt5Gui" "Qt5Svg" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktux = {
+    buildInputs = [ "KDE4" "KDE4Workspace" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kubrick = {
+    buildInputs = [ "KDE4" "KDEGames" "OpenGL" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kuser = {
+    buildInputs = [ "KDE4" "KdepimLibs" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwalletmanager = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwordquiz = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDELibs4Support" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5NotifyConfig" "KF5Sonnet" "KF5XmlGui" "LibKEduVocDocument" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5PrintSupport" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkcddb = {
+    buildInputs = [ "KDE4" "MusicBrainz5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkcompactdisc = {
+    buildInputs = [ "Alsa" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkdcraw = {
+    buildInputs = [ "KDE4" "LibRaw" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkdeedu = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkdegames = {
+    buildInputs = [ "ECM" "KF5" "KF5Archive" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DNSSD" "KF5Declarative" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5JobWidgets" "KF5KDELibs4Support" "KF5KIO" "KF5NewStuff" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "OpenAL" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" "SndFile" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5KDELibs4Support" "KF5WidgetsAddons" "Qt5Network" "Qt5Qml" "Qt5QuickWidgets" "Qt5Widgets" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkeduvocdocument = {
+    buildInputs = [ "ECM" "KF5" "KF5Archive" "KF5I18n" "KF5KIO" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkexiv2 = {
+    buildInputs = [ "Exiv2" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkface = {
+    buildInputs = [ "KDE4" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkgeomap = {
+    buildInputs = [ "KDE4" "Marble" "MarbleWidget" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkipi = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkmahjongg = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5WidgetsAddons" "Qt5" "Qt5Core" "Qt5Gui" "Qt5NO_MODULE" "Qt5Svg" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5ConfigWidgets" "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkomparediff2 = {
+    buildInputs = [ "ECM" "KF5" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5KIO" "KF5Parts" "KF5XmlGui" "Qt5Core" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libksane = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  lokalize = {
+    buildInputs = [ "ECM" "HUNSPELL" "KF5" "KF5Config" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5Kross" "KF5Notifications" "KF5Sonnet" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Sql" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  lskat = {
+    buildInputs = [ "KDE4" "KDEGames" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  marble = {
+    buildInputs = [ "KDE4" "Phonon" "Protobuf" "PyQt4" "PythonLibrary" "QextSerialPort" "Qt4" "Qt5Concurrent" "Qt5Core" "Qt5Designer" "Qt5Network" "Qt5PrintSupport" "Qt5Quick" "Qt5Script" "Qt5Sql" "Qt5Svg" "Qt5Test" "Qt5WebKitWidgets" "Qt5Widgets" "Qt5Xml" "QtLocation" "SIP" "SharedMimeInfo" "ZLIB" "libgps" "liblocation" "libshp" "libwlocate" "quazip" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  mplayerthumbs = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  okteta = {
+    buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5ConfigWidgets" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "KF5Parts" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qca-qt5" "Qt5" "Qt5Core" "Qt5Designer" "Qt5NO_MODULE" "Qt5Network" "Qt5PrintSupport" "Qt5QUIET" "Qt5Script" "Qt5ScriptTools" "Qt5Test" "Qt5Widgets" "Qt5Xml" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5KIO" "KastenCore" "KastenGui" "OktetaCore" "OktetaGui" "OktetaKastenCore" "OktetaKastenGui" "Qt5Core" "Qt5Gui" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  okular = {
+    buildInputs = [ "ActiveApp" "CHM" "DjVuLibre" "EPub" "Freetype" "JPEG" "KActivities" "KDE4" "Kexiv2" "LibKScreen" "LibSpectre" "Poppler" "QCA2" "QImageBlitz" "QMobipocket" "TIFF" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  oxygen-icons = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  pairs = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  palapeli = {
+    buildInputs = [ "KDE4" "KDEGames" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "QVORONOI_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  parley = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5KCMUtils" "KF5KHtml" "KF5KIO" "KF5Kross" "KF5MODULE" "KF5NewStuff" "KF5Notifications" "KF5Sonnet" "KF5XmlGui" "KF5docbook" "KF5produce" "KF5the" "LibAttica" "LibKEduVocDocument" "LibXml2" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Multimedia" "Qt5Svg" "Qt5Test" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  picmi = {
+    buildInputs = [ "KDE4" "KDEGames" "Qt4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  poxml = {
+    buildInputs = [ "Gettext" "GettextPO" "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  print-manager = {
+    buildInputs = [ "CUPS" "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KCMUtils" "KF5KIO" "KF5Notifications" "KF5Plasma" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Network" "Qt5Qml" "Qt5Quick" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  rocs = {
+    buildInputs = [ "Boost" "ECM" "Grantlee5" "KF5" "KF5Archive" "KF5Config" "KF5CoreAddons" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5ItemViews" "KF5TextEditor" "KF5XmlGui" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Gui" "Qt5NO_MODULE" "Qt5QUIET" "Qt5QuickWidgets" "Qt5Script" "Qt5ScriptTools" "Qt5Svg" "Qt5Test" "Qt5WebKit" "Qt5WebKitWidgets" "Qt5Widgets" "Qt5XmlPatterns" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  signon-kwallet-extension = {
+    buildInputs = [ "ECM" "KF5" "KF5Wallet" "Qt5" "Qt5Core" "Qt5DBus" "Qt5QUIET" "Qt5Test" "SignOnExtension" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  step = {
+    buildInputs = [ "ECM" "Eigen3" "GSL" "KF5" "KF5Config" "KF5DocTools" "KF5KDELibs4Support" "KF5KHtml" "KF5NewStuff" "KF5Plotting" "Qalculate" "Qt5" "Qt5NO_MODULE" "Qt5OpenGL" "Qt5PrintSupport" "Qt5QUIET" "Qt5Qml" "Qt5Quick" "Qt5Svg" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "PythonInterp" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  superkaramba = {
+    buildInputs = [ "KDE4" "PythonLibs" "QImageBlitz" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  svgpart = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  sweeper = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  umbrello = {
+    buildInputs = [ "KDE4" "LibXml2" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  zeroconf-ioslave = {
+    buildInputs = [ "KDE4" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+}
diff --git a/pkgs/applications/kde-apps-15.04/dependencies.sh b/pkgs/applications/kde-apps-15.04/dependencies.sh
new file mode 100755
index 00000000000..e00c7770ab8
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/dependencies.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+manifestXML=$(nix-build -E 'with (import ../../.. {}); autonix.writeManifestXML ./manifest.nix')
+
+autonixDepsKf5=""
+if [[ -z $1 ]]; then
+    autonixDepsKF5=$(nix-build ../../.. -A haskellngPackages.autonix-deps-kf5)/bin
+else
+    autonixDepsKF5="$1/dist/build/kf5-deps"
+fi
+
+exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"
diff --git a/pkgs/applications/kde-apps-15.04/kdelibs/polkit-install.patch b/pkgs/applications/kde-apps-15.04/kdelibs/polkit-install.patch
new file mode 100644
index 00000000000..d2ecac663ec
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/kdelibs/polkit-install.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
+--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake	2011-05-20 22:24:54.000000000 +0200
++++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake	2011-07-12 14:03:00.000000000 +0200
+@@ -139,7 +139,7 @@
+         ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
+         ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
+ 
+-    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING 
++    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING 
+         "Where policy files generated by KAuth will be installed" FORCE)
+ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
+     set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
diff --git a/pkgs/applications/kde-apps-15.04/manifest.nix b/pkgs/applications/kde-apps-15.04/manifest.nix
new file mode 100644
index 00000000000..9475b54c571
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/manifest.nix
@@ -0,0 +1,7636 @@
+# This file is generated automatically. DO NOT EDIT!
+{ stdenv, fetchurl, mirror }:
+[
+  {
+    name = stdenv.lib.nameFromURL "pairs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/fsaycjsmkm1g92j3syc2a8nwdgfgs99g-pairs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/pairs-14.12.1.tar.xz";
+      sha256 = "13byliibd6fwa8bsgka8hc64jkprmgsnqh9sks36w7ic22f32qhx";
+      name = "pairs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgamma-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4ggxl3vnlngg1p6irixa42as7gyp3c8k-kgamma-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgamma-14.12.1.tar.xz";
+      sha256 = "1ad2c1l2lbc2pdybavnnj834ww82rbm91k0wjgz25xc3l3gkrg9i";
+      name = "kgamma-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktux-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n68cvnv9h371cx7q5jqfqs2bdj1rqvyi-ktux-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktux-14.12.1.tar.xz";
+      sha256 = "00x5jm26w1a214chdg1fkzki1z3h1dbw5qagal4lkcb98fi5sbcq";
+      name = "ktux-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "analitza-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n8ayxw5rwzlyc015ff1lzwnd2wa3ss4x-analitza-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/analitza-14.12.1.tar.xz";
+      sha256 = "0jgmjda5n5935v37jgaichk5hif67mzlyvxqmr19wwmbiqfbazx8";
+      name = "analitza-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kubrick-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hz00x8miy3gw4gm2ylw0v90d8xnxxqml-kubrick-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kubrick-14.12.1.tar.xz";
+      sha256 = "0c2ixhd3763pzy92z1ck638wggmq3h4jvnax5ralfhhvn9r2f5bj";
+      name = "kubrick-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksirk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/fv5vdi5m80l7hzkhkidyk5rd1srghl8x-ksirk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksirk-14.12.1.tar.xz";
+      sha256 = "1sdd117xhn9jclqiczh1cr8apy0akwncmbj82gwm7i1qx31i55fx";
+      name = "ksirk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "katomic-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9wa79ygill8gb5n281cybrmj4zv627h9-katomic-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/katomic-14.12.1.tar.xz";
+      sha256 = "1mjzm4v80cva7kfakjpjkd4sw4fdcyin5f2srck7fl0pnqdpnhqz";
+      name = "katomic-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "jovie-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/w4b045lmp2viqrvifkm11n282l5khwbd-jovie-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/jovie-14.12.1.tar.xz";
+      sha256 = "1xkmybfgn6mbrp6lx8ri0dzmz1nsvg9cxlxan4n5bzwd3zjpycjd";
+      name = "jovie-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeartwork-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ky4vpsb0mm22raiq0r6jfxjsdr5c0vmv-kdeartwork-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdeartwork-14.12.1.tar.xz";
+      sha256 = "0jrdyy787wnqx31nrgmf7amhy5ix9w7anfnqrdn4w8yydpvghhqw";
+      name = "kdeartwork-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapman-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/l5xwmjgcw6rbmmhy2m5z55hxcf9d12hv-kapman-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kapman-14.12.1.tar.xz";
+      sha256 = "0bkpcjdcax6b3dp236ybaakpxz5b1vkrmmxpczvg6hf2cqwmlsv5";
+      name = "kapman-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkomparediff2-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/aixz1c1q6rnpqxm805xdirlqg47kw1kr-libkomparediff2-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkomparediff2-14.12.1.tar.xz";
+      sha256 = "0fjqsa83sqd7gcpm818yirnm077g6q616rh9676dzwv0cmc334zx";
+      name = "libkomparediff2-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-wallpapers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/kx7kv61rc3ddz7gmm5k5cwp9zh3k70nk-kde-wallpapers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-wallpapers-14.12.1.tar.xz";
+      sha256 = "1q28rb8a4rw6v5wvwri3aslc8xwbn0324b07lnkvn58alpmdga8v";
+      name = "kde-wallpapers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ark-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c21hgh72czi1nqr3lci8lynvsd3qkvzh-ark-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ark-14.12.1.tar.xz";
+      sha256 = "1fimg9f4l373l31kr59fvvsavssvn3ljdrxrgnl6a66v1gwgjsdp";
+      name = "ark-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-thumbnailers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b867ygwgvr9g8j54s3gya7c2wpr9gwf8-kdesdk-thumbnailers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdesdk-thumbnailers-14.12.1.tar.xz";
+      sha256 = "1p3abcnidk07jgr9qn03zfnhqci27683gz25wy271v6gl7b0wp6c";
+      name = "kdesdk-thumbnailers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-wa-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hp6x10injwcygbd5zqvkkg2k85n62drw-kde-l10n-wa-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-wa-14.12.1.tar.xz";
+      sha256 = "0aq5n0n0saqkllkwpf9a5scjpsv4bxzx89z2a048kh76i8h9zr5p";
+      name = "kde-l10n-wa-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-it-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/j8x84jy2x4fw72a2mj7zgzkbd2v430np-kde-l10n-it-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-it-14.12.1.tar.xz";
+      sha256 = "13z9gmaziyvw112phzxc7893lz6wh8q92gb3fj3hmdmzj0vfqv4r";
+      name = "kde-l10n-it-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-km-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/yccjbanz6ijsf5rdd0n53cwygbv5jm4m-kde-l10n-km-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-km-14.12.1.tar.xz";
+      sha256 = "0fdns3fifr4ypz5mi798xc18miwlb7lqz22f18gnrza22vnzwi09";
+      name = "kde-l10n-km-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mzfjypmyhmp3s7mnxk0mwf57s3l440c2-kde-l10n-pt-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pt-14.12.1.tar.xz";
+      sha256 = "13pzz23zf9nnl3a65nrpmwlpnkvr490vfs7yfvvr5w0nrqfwzhp6";
+      name = "kde-l10n-pt-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ru-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pjdp04f6m3ghqr23lyzxw7w0fgg5i6ll-kde-l10n-ru-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ru-14.12.1.tar.xz";
+      sha256 = "1a5ygssdwkm9iqakl1w4pza70g1gwh7mzi6jzhbd4jsn740ykw0r";
+      name = "kde-l10n-ru-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-de-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4j1r5xz2fslwv0di0dn9x8n49hrxizg4-kde-l10n-de-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-de-14.12.1.tar.xz";
+      sha256 = "1iavp7xr2qv8i97sl1kpl9kasi21br91l3mdah382ayhaz5khnlb";
+      name = "kde-l10n-de-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-uk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dz1zi3jrw92cgci5zc8nia3xzq1zykdf-kde-l10n-uk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-uk-14.12.1.tar.xz";
+      sha256 = "1228lpwggkwz9rwnmrmrw4f72hcbng40g1q1bfhjzw078s7j6nxr";
+      name = "kde-l10n-uk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ja-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ylf7xmqdh9yrz37yaq4f8nddap1gfanc-kde-l10n-ja-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ja-14.12.1.tar.xz";
+      sha256 = "191whr3i7qkqj2wjzjqgagb1vs391x9sp688w56ynjjmh58vrvq1";
+      name = "kde-l10n-ja-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-kk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b6n06i5p82k6fq4p4rpl7bf0cyklazxb-kde-l10n-kk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-kk-14.12.1.tar.xz";
+      sha256 = "01ivq7g550i9ik18xnibn7xl5mmm237wrsksjm0xni18s89wwz8b";
+      name = "kde-l10n-kk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ysarksjh5lcm2yhbphrsqhyzmlp6qclr-kde-l10n-pl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pl-14.12.1.tar.xz";
+      sha256 = "0ni41lp6l4l3pa1xf6kkim2k5qcvapm2g65nh5hryiwx9dpgkimv";
+      name = "kde-l10n-pl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sv-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/zpq7ayj7ihr1xw4ihcnckqvnagl28lk0-kde-l10n-sv-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sv-14.12.1.tar.xz";
+      sha256 = "1r84629cv7c0lkfxii0q133cl710rgiqp5iylb3w32h7c1ji4x19";
+      name = "kde-l10n-sv-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/g5pcas9cz1yq6qz9883l2djfpb77li8a-kde-l10n-ca-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ca-14.12.1.tar.xz";
+      sha256 = "1xprgp7l1h7wkfjh6v3yya9xw3r60vhsyk3ly38vcwxy5b6fjigd";
+      name = "kde-l10n-ca-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-da-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/v6hb004qp3i0p4vp1yslnmz4clb66p8d-kde-l10n-da-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-da-14.12.1.tar.xz";
+      sha256 = "0b38wgm8f23l9ya9h67m6zm785fmqi7737xfphjmrjh2i13gxpbl";
+      name = "kde-l10n-da-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-he-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/33f2k043b8gi64mr4wwrs6pwp5b9bq7h-kde-l10n-he-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-he-14.12.1.tar.xz";
+      sha256 = "0ynvsrczdraf55gaiwbv9nzwy548zkkbdh475frqfmalzh9b7jww";
+      name = "kde-l10n-he-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lv-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/7hlk5vyd3pl9rdp22ybsj868w6s7sfz0-kde-l10n-lv-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-lv-14.12.1.tar.xz";
+      sha256 = "0x3rlallirrzgn8gfyssyvaj3zaji672n6hfacp2djpfzbfwqq6l";
+      name = "kde-l10n-lv-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hu-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b2v25j4hlsl7lqb77wk7sj1j5z9q7ldm-kde-l10n-hu-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-hu-14.12.1.tar.xz";
+      sha256 = "061kyzz24f6bink3sm4p7q959977ril3m86lm8fa1ddnccw7ya46";
+      name = "kde-l10n-hu-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8a3pmbwm8k7g951yi5d3mv57y9vxn84z-kde-l10n-sr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sr-14.12.1.tar.xz";
+      sha256 = "16kcpilb4mp4cfgklc4dr6y389hlmzvwx8wp0y3i2w1r18nwd8m8";
+      name = "kde-l10n-sr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-is-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/l4fy9j1aix7fyisan5f2pa4273misph2-kde-l10n-is-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-is-14.12.1.tar.xz";
+      sha256 = "14r5wrkr39cipx40hqqcx12cvv0vql829689yiy97ypcg4bqndma";
+      name = "kde-l10n-is-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-mr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vk6fz8gixl7wv6w20h4inn984839lkkk-kde-l10n-mr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-mr-14.12.1.tar.xz";
+      sha256 = "1nvaxd38c4f9kkhkrv4bb1aczi1iv1bp16kmm47s1y6kzb93zq9h";
+      name = "kde-l10n-mr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-gl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0f4agkrcrb1cn6sdgdpj1bwln6f2ra5i-kde-l10n-gl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-gl-14.12.1.tar.xz";
+      sha256 = "1xjh19c7rjd5k3v3c7g0ljz1kz5vv3zhji4rm84j30z12cks3nhh";
+      name = "kde-l10n-gl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-cs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/3nk8pxfypvnwbcszm33fn3j7f0kmgdji-kde-l10n-cs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-cs-14.12.1.tar.xz";
+      sha256 = "1qg9y5173374fpf6yk4v8mlsqdjzp8inirp08qx0lh33jd6rpddb";
+      name = "kde-l10n-cs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-en_GB-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/i5vsmw062i49ki35qqyi0ix6x5fl4jvg-kde-l10n-en_GB-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-en_GB-14.12.1.tar.xz";
+      sha256 = "04b7amh2247ksr414m3x7bc4p22xm6kxncsax9ggapx613flb2zc";
+      name = "kde-l10n-en_GB-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p2jc4kci6k5kn1ihy9yv5inp4p4g01n9-kde-l10n-sk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sk-14.12.1.tar.xz";
+      sha256 = "0ic2y081699mv16hpkb3ivdvd4ph51wz3md5bz65pfz404gn7krf";
+      name = "kde-l10n-sk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ga-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4kbdmqqmv1slh4z56rifg8sw0a9980m4-kde-l10n-ga-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ga-14.12.1.tar.xz";
+      sha256 = "0794p0dqa1nnkwwc2ipslzhaakcx3r4b6s03hf7m14r58wmvws28";
+      name = "kde-l10n-ga-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hdyxfm2wnigh8wb3ay8y8v7psjrbijy7-kde-l10n-sl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-sl-14.12.1.tar.xz";
+      sha256 = "0nv2yrk99dkvb49ww6l6za0czy89p1nsilm56f4mdgbvrgzwk9zp";
+      name = "kde-l10n-sl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nb-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ln3d7jpln9kl947fhgknbhg0rh6lnxds-kde-l10n-nb-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nb-14.12.1.tar.xz";
+      sha256 = "0zj66ydg5pwlx3hwwdxz6i8m330wz0w2l2p4fvf4kjvy49cafrmd";
+      name = "kde-l10n-nb-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ko-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vw8kpmpiyrrqch5wb4164yv0jhkdkpkk-kde-l10n-ko-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ko-14.12.1.tar.xz";
+      sha256 = "08q0d0q2cm2bmdwwmyavzb07wlbnf5lpl071gjm146kzk0y1kmpg";
+      name = "kde-l10n-ko-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ro-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/87kmgghdnkmzvdbk611qmv2nav8m2f0p-kde-l10n-ro-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ro-14.12.1.tar.xz";
+      sha256 = "0xprq9jw94i38aaq1drkv1qpgf3rf75745zlagzb430jr1a285lb";
+      name = "kde-l10n-ro-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ug-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/h8wfla9jsbhfjvjfnca6yjwpcc90nb5m-kde-l10n-ug-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ug-14.12.1.tar.xz";
+      sha256 = "1am6yr3qq4l2wgpphxhqfj8ydndvjxmc3cl4gz6zlkddaw4pv5kr";
+      name = "kde-l10n-ug-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mja592hds8ajqsx96wb1zxph1n0pxqb0-kde-l10n-hr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-hr-14.12.1.tar.xz";
+      sha256 = "0hjhzf77mckh9xqqxn54w47lsn3fwl2p4rfk22ijlliglrylpajv";
+      name = "kde-l10n-hr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pa-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9vay8airc00fg0d91lpp84l21akqxn27-kde-l10n-pa-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pa-14.12.1.tar.xz";
+      sha256 = "0sr6pygs0lk1ar2zn6966ngaf9vjfy207i1bgg6gr3559v5wkx8x";
+      name = "kde-l10n-pa-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-id-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/sx4w67x5xq87ragvsysg4jwcpvrk674p-kde-l10n-id-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-id-14.12.1.tar.xz";
+      sha256 = "018yvdp7l9qjaj7niyjas87dhna1xr0mikpdycw5dbwchpizlr53";
+      name = "kde-l10n-id-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/l9cx18xxg7ly9nrsfi1lj9vxzg19h9sq-kde-l10n-bs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-bs-14.12.1.tar.xz";
+      sha256 = "0ybh9wyhym05rlc3s0kl9lh07y96nyl3p4lifj13lcqi975mgnp9";
+      name = "kde-l10n-bs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt_BR-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/59bsq0cq07hc9apbfdmaa66jg5n8wlwg-kde-l10n-pt_BR-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-pt_BR-14.12.1.tar.xz";
+      sha256 = "1wbgns7pq0jxjffgvr6hgfg3san1k2c7wppsvn2cpjiph0v4azz9";
+      name = "kde-l10n-pt_BR-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9xiaf2c0lbxy65vrx6hdh884ky6h2s79-kde-l10n-bg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-bg-14.12.1.tar.xz";
+      sha256 = "0m404hxz8dskbdsni021703vdn4lvwpf88hwrdrfnhcv06jazjiq";
+      name = "kde-l10n-bg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nds-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/m8ahg0qxpv2hskl9dl7dgch10adxfia5-kde-l10n-nds-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nds-14.12.1.tar.xz";
+      sha256 = "09r79l4ngcsnya6kqj5hj69xq00bf4ndxgkkplwiq137zqamqcfl";
+      name = "kde-l10n-nds-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_TW-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mq5v891rzj692h61aak71g71iy963ayw-kde-l10n-zh_TW-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-zh_TW-14.12.1.tar.xz";
+      sha256 = "1azwmzg47pk4b23hpnpic3c8phnfz4iy3n6lv50sz98b9whkmf0s";
+      name = "kde-l10n-zh_TW-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nn-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gprdva58d383n4ka677pdbpaz8l05w8i-kde-l10n-nn-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nn-14.12.1.tar.xz";
+      sha256 = "1xp44glwk6nnnavw0lrl7ssl5miqfd7b093chfz35g2g92nyaa3g";
+      name = "kde-l10n-nn-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ia-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jhv6zy04igavcq0dxsg9kk3vfh2063m9-kde-l10n-ia-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ia-14.12.1.tar.xz";
+      sha256 = "1kjjg4z4y0fh4kyzy9vzxlw47xkiirh207d7x0b94nksxzbqwg67";
+      name = "kde-l10n-ia-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-tr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hy0v61dnnmpbj84a4imvgxqx3y0fd5qg-kde-l10n-tr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-tr-14.12.1.tar.xz";
+      sha256 = "1kdxps75gv2vlf98f958llkk161z2y908bg1fdq4rgdh1n3bylkh";
+      name = "kde-l10n-tr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ar-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jmjbgfmqvcqd1sxdj0a7c73a9yqyzvpz-kde-l10n-ar-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ar-14.12.1.tar.xz";
+      sha256 = "121dblyh53fb3qirg7s9givqcn0xswdj2hrnqc8s2x2qas74v6a9";
+      name = "kde-l10n-ar-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_CN-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/b9dqgb7nsfgyzhr4vw7fnl287spyjigg-kde-l10n-zh_CN-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-zh_CN-14.12.1.tar.xz";
+      sha256 = "0cyi0g55xln8smnlnhl0vfpi0jrihnfp3vrv6j2gz30zzfgkw9dp";
+      name = "kde-l10n-zh_CN-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-es-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0ycvh7sgyhjqffzq5ff5mjnv0y4f8pxy-kde-l10n-es-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-es-14.12.1.tar.xz";
+      sha256 = "11i4xmsigmi9mqbc5x9l96vsrfh6709fbbfpqa6b28a5jif9anmr";
+      name = "kde-l10n-es-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-et-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9rbki0767k1hirpx7530lqcw74bfy2b1-kde-l10n-et-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-et-14.12.1.tar.xz";
+      sha256 = "0c8vhbi1bi29krh1sway8z0536cn507i1lp8jffb4mk953mm5y9n";
+      name = "kde-l10n-et-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fr-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pq8r37pcg05p9rc5prcy9r2f5mby7m0z-kde-l10n-fr-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-fr-14.12.1.tar.xz";
+      sha256 = "1s2glywjbrr2q6ssmalblschrgny4rk3q3aws2ffrrlkanx0qyva";
+      name = "kde-l10n-fr-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fa-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/k0amn3lcd7xcssqh8fs46swa9jmksv9x-kde-l10n-fa-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-fa-14.12.1.tar.xz";
+      sha256 = "0pj3klcdlash8wgvz75nw009jz63rblv038yhrh1qsidjw4vsl85";
+      name = "kde-l10n-fa-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lt-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/cqbsi6sr0mcl3pnzlk0w52disg2xgm1i-kde-l10n-lt-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-lt-14.12.1.tar.xz";
+      sha256 = "0k4m1ixlnmmgbznhgvbmfss0c1fynd492sylcvbsrnqcawq3fqdz";
+      name = "kde-l10n-lt-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nl-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8pw7v2ccr5vgl6ic7dnlm5xcqgkbvxyr-kde-l10n-nl-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-nl-14.12.1.tar.xz";
+      sha256 = "0m0hwib0v5j2bmgkgwjzhbhqnyk8gcm46969rr2qf51snrvynlax";
+      name = "kde-l10n-nl-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-eu-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vplfymrx36jk65b0xjmzh2g4l9ky7dfm-kde-l10n-eu-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-eu-14.12.1.tar.xz";
+      sha256 = "0wcax8gnnk6rwpfl6ph8z5i013rmh08pr159nxpakdsvbcn5ma5v";
+      name = "kde-l10n-eu-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xdh9f96r2l1fnj1z7dl4321aj362kjph-kde-l10n-ca_valencia-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-ca@valencia-14.12.1.tar.xz";
+      sha256 = "10r6zkisnm4rcyzdxs0jbilbqg78qr9rzj5901q16kz01nm2fpfq";
+      name = "kde-l10n-ca_valencia-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-el-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p9a3lyi934i4pc5p8433firhkcs0ybn3-kde-l10n-el-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-el-14.12.1.tar.xz";
+      sha256 = "022kr5cvlz8hxj3s74my680ghp23lj8amykzgr5z9i996q2hs6ps";
+      name = "kde-l10n-el-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9f3cb3yksriwphrnkmn1knrq0108ka4p-kde-l10n-fi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-fi-14.12.1.tar.xz";
+      sha256 = "1sxs5z3dkx7hb8l7ilrhzvl2ip02fsb24iqgh0gadqwdfj46gwjn";
+      name = "kde-l10n-fi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pfswxr29nz9qylmb7n83cnap95khz248-kde-l10n-hi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-l10n/kde-l10n-hi-14.12.1.tar.xz";
+      sha256 = "0a5ilahwh6wpxg4mb3wqg079qfvcxg7zqblwyx6mdwh4d2ly5y1f";
+      name = "kde-l10n-hi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "granatier-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ychwcs2gn4mgmhza315nmf2z35c0ibb7-granatier-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/granatier-14.12.1.tar.xz";
+      sha256 = "0lifihkssp0g30kv3iigbpr9ghdwwykmzfiv4qwsxaxadil9qqlm";
+      name = "granatier-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kamera-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c1n1s1hbj8q4smgxnd4kka9qidh0rvvw-kamera-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kamera-14.12.1.tar.xz";
+      sha256 = "1avmsy622rnyyvsx9zwspqx9g4mb5wzc74mvcjrivi3c3mcz2ng6";
+      name = "kamera-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfloppy-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/bl5csvnm20xxaqz5p7d3ymnkbd0df1p1-kfloppy-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kfloppy-14.12.1.tar.xz";
+      sha256 = "1ky8n0zk07d3cnap8f3zw5qck2kw4l0dql0fnbk3s58r982af2fd";
+      name = "kfloppy-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepimlibs-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/v157pqk6clf9yn21cdbvxxvh0sn892rd-kdepimlibs-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdepimlibs-4.14.4.tar.xz";
+      sha256 = "04c53ms91r8bpxgn305zzvagi30jli7217kvgdy4z4il6wnvns8r";
+      name = "kdepimlibs-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkipi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/7amx4gdg85lw28amb0v3nd92hk71lphs-libkipi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkipi-14.12.1.tar.xz";
+      sha256 = "01bpjh40p5cwli018sgyn6jgis1l83icikabcw6vxkp8vsn3q6yg";
+      name = "libkipi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khangman-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jyx0msd02v7iikj7czv3y8ckw79rahpa-khangman-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/khangman-14.12.1.tar.xz";
+      sha256 = "1574cdbq5lyq4hl84xwia5z15az4zzh6zvasxvaa5bz94cjkpyns";
+      name = "khangman-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konsole-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0wy6dhhq6gn6h58vi324yiqa2f5ni5py-konsole-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/konsole-14.12.1.tar.xz";
+      sha256 = "0i7mccspglppz0sx2zqfn0861h6ibxkwrcscivqk7yxpq44nb58j";
+      name = "konsole-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "killbots-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/yg7gb0aidvcxh4i1z0ja8nvs23vhdf22-killbots-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/killbots-14.12.1.tar.xz";
+      sha256 = "0i006gjysfbf9wn0qgbv47fvx8z4v49ikcaqg9y83pl72shnsa1j";
+      name = "killbots-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kturtle-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/s16w00cgm430r315d2v2a041hivc5a1q-kturtle-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kturtle-14.12.1.tar.xz";
+      sha256 = "0sn74w413xx5y3kh0fqf7f47pklz4v22nnv6x11kpkcyx1xmghh9";
+      name = "kturtle-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kajongg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/j2qlvd878dlxkaps9v61dw9k1n6nmh4p-kajongg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kajongg-14.12.1.tar.xz";
+      sha256 = "0690jlsnj3s2l51nmx3an75q0m6xv0rssdmshrmbxgp2cqx5b455";
+      name = "kajongg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bomber-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8v0k2n5pkvv6wg3q957zqclasmsw2a7c-bomber-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/bomber-14.12.1.tar.xz";
+      sha256 = "0g4cb3jwva9saddf9m2j4k3y1gybh2bv8dxzfb1xqy5cv20qlrfc";
+      name = "bomber-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kruler-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c61iqdbq71kb6wvnzfq7436hni8anrrn-kruler-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kruler-14.12.1.tar.xz";
+      sha256 = "0rag54kg5jzgj32fnf4xmawb0hnk52rhjf7i2y5f3156x3iraxxx";
+      name = "kruler-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmag-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/r2c1gika9sw2m5i1mmj3b47n7g19715k-kmag-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmag-14.12.1.tar.xz";
+      sha256 = "1wlz3n3z9qcsqvs7rz3a76bh6rkrq0g9p797axcsfp7wzjfilj5c";
+      name = "kmag-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwalletmanager-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rqrykz2vvj59w1563dgcjpi8fmkwdnm5-kwalletmanager-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kwalletmanager-14.12.1.tar.xz";
+      sha256 = "16pd2iym8v9xxdmazn2i7vq61c9m805h9a7awy8wha8bfdinazvi";
+      name = "kwalletmanager-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krfb-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/x147kkpbjm9mmdbapxs040cvb8fci9ab-krfb-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/krfb-14.12.1.tar.xz";
+      sha256 = "15kxapi1mwjpbj995k8rxla0h1wwvhd406pbwkpak3a9szljsv72";
+      name = "krfb-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcddb-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ar6s1pn0lfgs1iw6q5akr0l5dcrd1x2a-libkcddb-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkcddb-14.12.1.tar.xz";
+      sha256 = "1vb8rmb1j0nh2dh8ch19v1qpdxhc4c0am7k11lld45kamg3az0gd";
+      name = "libkcddb-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klettres-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dbf3r79p85w5v6jihmqndcb631kqpb7m-klettres-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/klettres-14.12.1.tar.xz";
+      sha256 = "1bj5s3js6v3641s2kgrl6a5bgr25g9lgbvsfzqrp0pil2nx1g6h1";
+      name = "klettres-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klines-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xwj5di67f0swj1w0c2235vrbany8ffgn-klines-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/klines-14.12.1.tar.xz";
+      sha256 = "1hxjqpc1z47dj1ryp116hdzkla4h1awnlmyzq7yjhki2viw32n3f";
+      name = "klines-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksystemlog-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/aj1drn165rirvr5wjmqfnzsfknnb32gj-ksystemlog-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksystemlog-14.12.1.tar.xz";
+      sha256 = "15a92f873vybp3m9icjshbqs8nl6xm4cl9ca3cghmdlcqrn7f92x";
+      name = "ksystemlog-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klickety-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/y8p216blw2zrld7mj5c1ji9nwqhrbqsf-klickety-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/klickety-14.12.1.tar.xz";
+      sha256 = "071y9khz57mrw12dvwxhs03jn56j06hw38hcf8d4r4wksbwr3j87";
+      name = "klickety-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lokalize-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5c1isv8y9s4k7153i5y41jdps6zsp8gl-lokalize-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/lokalize-14.12.1.tar.xz";
+      sha256 = "1ala2pfqh0a0kqxiyfpp11rcn805g6gcn0m9qjbmdqhl9wviij9h";
+      name = "lokalize-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-thumbnailers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/d315k9787k4c5ww7zp0341cybnwwsy2j-kdegraphics-thumbnailers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdegraphics-thumbnailers-14.12.1.tar.xz";
+      sha256 = "198m7iw621azbcp4abv3izq5p29yz9s2apr6ivxpp1iqzpz2x70g";
+      name = "kdegraphics-thumbnailers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-base-artwork-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6v8hm7rgdvfkvakv1jfq3g7jk3zq7x3z-kde-base-artwork-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-base-artwork-14.12.1.tar.xz";
+      sha256 = "0zd298ii8a3lnfh6lxgw6nmf91kx3days1nqk5arilkbrf7b4952";
+      name = "kde-base-artwork-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "artikulate-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xaibvsd6g0xnwpnayb0jxhah9hmb3xin-artikulate-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/artikulate-14.12.1.tar.xz";
+      sha256 = "021hyprapc6fjhls55yn69sndm13krfriwj1vmq5mvqxzr0aid2k";
+      name = "artikulate-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccessible-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/s6j8nymsygqkh4vfgkgqwcg6xigda53d-kaccessible-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kaccessible-14.12.1.tar.xz";
+      sha256 = "0gp49jxkscdqd35xqmzhr17smiwyxgx8xbr7hkvbm10dzn9kx6x7";
+      name = "kaccessible-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konquest-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wxk5v878fibdxxd9m9f6phyc99a56psc-konquest-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/konquest-14.12.1.tar.xz";
+      sha256 = "006an4bpfsnzcpm086xjyryd1xlzw0yz2knbzkvsdf3jr9kpmnrr";
+      name = "konquest-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "superkaramba-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p3yhp4gg9pfbmnlb6jqk6xhaz2yllx9w-superkaramba-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/superkaramba-14.12.1.tar.xz";
+      sha256 = "10dlnn4knlvkz38c98613x9px85a8dhlfwpp4231r3v5va03xszj";
+      name = "superkaramba-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-kioslaves-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ga54jhkjav5i83vmir8j6l51d3gv1cs1-kdesdk-kioslaves-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdesdk-kioslaves-14.12.1.tar.xz";
+      sha256 = "06f8xxzldsqmch9acmfd95lr48rm94d6qll62bj5zi0bs5qjygbw";
+      name = "kdesdk-kioslaves-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cantor-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xhdgix591fkzqdzw0pch0vv8wk2kkhz5-cantor-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/cantor-14.12.1.tar.xz";
+      sha256 = "100yscp21w7amqmwzh4zsk7kmyn5pf3swlkwipz857wi3wajkm75";
+      name = "cantor-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-mobipocket-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pvk5701kz79m2bn13n45ffwy0zjng838-kdegraphics-mobipocket-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdegraphics-mobipocket-14.12.1.tar.xz";
+      sha256 = "0qa0bpfvgbq3x3wlgi1cp3v8xn1wayyjrc07ffdr63w1gfi10mg1";
+      name = "kdegraphics-mobipocket-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-runtime-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/yd2zzjmb762dkjbkhjxdsnbg38k53f65-kde-runtime-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-runtime-14.12.1.tar.xz";
+      sha256 = "0cy2dhxw2cvbgqrknb3iy97rip2dcd7nrq3pj649mpq9a3r3cg17";
+      name = "kde-runtime-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiriki-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hxk0628k5s042wcxwd1v7vy951bsjqxp-kiriki-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kiriki-14.12.1.tar.xz";
+      sha256 = "00j95hcyrnw2li2abkwqsd0dp8ph4wlqzy0d3gzfnkal19j2x2m2";
+      name = "kiriki-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwordquiz-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6a5bi2hpxmry12zq6qkwk2hzlv5h7qkz-kwordquiz-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kwordquiz-14.12.1.tar.xz";
+      sha256 = "1c03ab89lnnin81lvq3mbcw2d10k3rjlk2fpplcbbnsryq35bivi";
+      name = "kwordquiz-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kate-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ykssldwmik1x7njph3rmzh9d14n7f0mi-kate-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kate-14.12.1.tar.xz";
+      sha256 = "0c3diy846drf5nihvhzhpsp8pl2kviyn6ian61myy2147smkany5";
+      name = "kate-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "parley-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/3k84f0vl6l7l65hmbbdlfp2zg348kcmi-parley-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/parley-14.12.1.tar.xz";
+      sha256 = "0awzpa9bl1j9gzy3596dhpsg3pqbmmdh87n52z7cjyk8sw0ikk19";
+      name = "parley-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdegames-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/clfp83sn2pg1jr82j79szwkx0aysl9a3-libkdegames-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkdegames-14.12.1.tar.xz";
+      sha256 = "0af15lbsjc7w5p3s3nxsb08cvyg7dncjmpw7z1vhgqykzmwpyp56";
+      name = "libkdegames-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcompactdisc-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ghjddljclnsn3z0rflrrxanbkzxn46m5-libkcompactdisc-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkcompactdisc-14.12.1.tar.xz";
+      sha256 = "10zpv05wmqs1lrby95d5bgvwiqcmkd3ndrdsr6cpayg2lw9nq86d";
+      name = "libkcompactdisc-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmplot-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/k78l2m24w71dbczia8bnwi3fhpqghj6b-kmplot-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmplot-14.12.1.tar.xz";
+      sha256 = "0p0iv3m2648vyr1imzwdfs73rc2q39nl8r7w31z5dhm65rq2zi27";
+      name = "kmplot-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kuser-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/lpdpdbbbgfyib95cq1m1db5fdym6wjxz-kuser-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kuser-14.12.1.tar.xz";
+      sha256 = "1zgik2i9z0n58m3fm8g0kgjm9aqa6v1f3331r8nrjir9vd9vr8g7";
+      name = "kuser-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kspaceduel-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p1lzq3dbil7klabykd2995j65qwqfldd-kspaceduel-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kspaceduel-14.12.1.tar.xz";
+      sha256 = "1zihp0nc6gs4xymyykldjw22zrxm8qznjaya4z1fw07hwndijvia";
+      name = "kspaceduel-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "gwenview-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/agnpfa5vjjfq79j3x2nf3nfwvvxjl28i-gwenview-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/gwenview-14.12.1.tar.xz";
+      sha256 = "04g3qkz1g27ph6ha1zrbqpr827vhx9n2nigr0dy95a61qw1m0jww";
+      name = "gwenview-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-icons-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wfnbykydc5zl9d678mpw7hpc1nscynmg-oxygen-icons-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/oxygen-icons-14.12.1.tar.xz";
+      sha256 = "1z27id29s98h20dg27wr28w2qpb25ii1xsrgjk6r33nhj2y39jmg";
+      name = "oxygen-icons-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kppp-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/q4fxwbxh1rl3icjzhcyij7wwbchc0xzn-kppp-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kppp-14.12.1.tar.xz";
+      sha256 = "0lvcanlskjgra2wn3k1j5jx9vy5k0g381ycg79fazkczsr8is5wf";
+      name = "kppp-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmouth-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9ny33z3srhnwz8p9fd7i6klmm9y9j08k-kmouth-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmouth-14.12.1.tar.xz";
+      sha256 = "0a3fhlgy8z84n83v59safl71v29px9783dndlqgh1dk8lmki7dmd";
+      name = "kmouth-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kig-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/iwj5hwmm9p278b7yi510fh38710w96rr-kig-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kig-14.12.1.tar.xz";
+      sha256 = "0qs89kpms9ch2r9xj4scvjscn7b7bh5k1nxaln1z654mgp1rl4f8";
+      name = "kig-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkexiv2-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/z8w5hn03zzpbpg7mjdmykylcbvhcd2ac-libkexiv2-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkexiv2-14.12.1.tar.xz";
+      sha256 = "0qpfccasra3ffq5iz7dpxpzcyk13ywjdaz32n1wfsylfv158w9sg";
+      name = "libkexiv2-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcron-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ixgf55ccq4gyyazhnbrrrg1qhpgh048s-kcron-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcron-14.12.1.tar.xz";
+      sha256 = "0czcxajsdx7xal9cvy9cd4drhvaivx68mhymj5k3n90cka7qda2x";
+      name = "kcron-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnapshot-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/vjc105v5nsibh4pfvrvsjck78f2645lx-ksnapshot-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksnapshot-14.12.1.tar.xz";
+      sha256 = "02g48b3i7xglrgp1nxvpbsrq7kqg81s4mf6k9rhfn312n45g1arg";
+      name = "ksnapshot-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "marble-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/543lrxwg6zz77yz58ihn3dvf9rhy3xzg-marble-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/marble-14.12.1.tar.xz";
+      sha256 = "13plghz8d5a8gdkq3nr7m0bvp2p0smqnj987bmsi1cldvliwiijl";
+      name = "marble-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpat-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/2ssmxyy2vhlipyrh6cs5qgms20cicmhy-kpat-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kpat-14.12.1.tar.xz";
+      sha256 = "02bh34553r7k0vf7sb5nsr6zgmh1xfgyjfyfc22yvknpmz2zz8wb";
+      name = "kpat-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "poxml-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n8504ljfha2rq1r0lrpz0gyyh59rpjln-poxml-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/poxml-14.12.1.tar.xz";
+      sha256 = "1r0iqqszmqmjnkq41xv87sc601fm8s94ga9pn37alni7f7qddfrs";
+      name = "poxml-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "umbrello-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/m7ia6872rxwbpx88zidqanf1wqni1az6-umbrello-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/umbrello-14.12.1.tar.xz";
+      sha256 = "0kr60kdfg2pl049n4rkksfs6160jijxdwymx60gj44h8w2dxrx6c";
+      name = "umbrello-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krdc-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/qlj342akja4fh4yp2fib4v4bm3kn2bmg-krdc-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/krdc-14.12.1.tar.xz";
+      sha256 = "0jqq60spxb64m9y37q2wd7w1z3h0c0hcjvd6wi694v0zhblg5622";
+      name = "krdc-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktimer-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/39r333hqffzycjszw3wbash4p8cs4vrc-ktimer-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktimer-14.12.1.tar.xz";
+      sha256 = "1p4y1kx3w6rqwjnhpjx17246w8gp7l8q2212x7khs8karnfyvxh2";
+      name = "ktimer-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kremotecontrol-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p9al8bnc7cy61ccnbmw5vzbvg36rq3yl-kremotecontrol-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kremotecontrol-14.12.1.tar.xz";
+      sha256 = "0rvf73bj6l7cgbjcpn2bgy00zpdw4sj5zcchgl42xldl75zzr6mc";
+      name = "kremotecontrol-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-utils-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/qsdvwqqp7pwbh2vdi5p3w56snysf94f8-kde-dev-utils-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-dev-utils-14.12.1.tar.xz";
+      sha256 = "1wpiarm8h4y5yjrdrxkmndps06h08vql70n63aai8crdvgwixdqy";
+      name = "kde-dev-utils-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knavalbattle-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6ic12j8bm99jckl82p347717mrhl5v6r-knavalbattle-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/knavalbattle-14.12.1.tar.xz";
+      sha256 = "1jd4b2kmlknh1xz055xysasfs90810m8sg4iwyzqv2j5kj8i4x4l";
+      name = "knavalbattle-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksane-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/72jv9b0id1ql2pbz8vdcm77n7s7br3vk-libksane-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libksane-14.12.1.tar.xz";
+      sha256 = "0a4hp2d0h26nkggmkiswywlw0aj5wkk8c6s9wy2h7m7qcmyq4gk0";
+      name = "libksane-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdcraw-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/j4y0bpk9zir6270cmxmfxn10bphgbdw8-libkdcraw-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkdcraw-14.12.1.tar.xz";
+      sha256 = "0svalln7g862d6f5k76vdggqc1h1x9gagm6v56yzr9dypz81y40m";
+      name = "libkdcraw-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "blinken-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/xl2fn6zcfr99ir7l10y8dd79ns4msgyp-blinken-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/blinken-14.12.1.tar.xz";
+      sha256 = "1fvgq57qhx305qxmhzm628p283dyk9nnp33q5vgcxxfw726mi5pq";
+      name = "blinken-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "step-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1v6hadh7m1i58hc62c6z2qs2ycsi02rw-step-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/step-14.12.1.tar.xz";
+      sha256 = "15wlgig9b932ck1hwdld0q8nh74rh820wj4nc6ifys83wv43jnzh";
+      name = "step-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-strigi-analyzer-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/0invqcgsx7scwmihagccpgdfq3aa52w8-kdegraphics-strigi-analyzer-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdegraphics-strigi-analyzer-14.12.1.tar.xz";
+      sha256 = "03lajpwia7fmlnr9l0g44knwghz8b2i70i659nkvypw6qd89cccr";
+      name = "kdegraphics-strigi-analyzer-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-baseapps-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rjsmd2babmjdbwvr5n5gv1f9wcag4iln-kde-baseapps-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-baseapps-14.12.1.tar.xz";
+      sha256 = "0l31842mmriirkcqsdmj7s31yjwr5im8di7z7dfjgjqy0j1q1jzc";
+      name = "kde-baseapps-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-scripts-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/h2hcdrv66b95ajbj5wrz1aspq4fr85pd-kde-dev-scripts-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-dev-scripts-14.12.1.tar.xz";
+      sha256 = "0g3i26vm3n2jc69mpwy94b60ff9c6fsr4yrl1h4f3408f4g4sjj4";
+      name = "kde-dev-scripts-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kollision-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8kf7fxqm2avmamkdidsglx7rvl30cj1n-kollision-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kollision-14.12.1.tar.xz";
+      sha256 = "1l2c34l95kj4f8y156yirc35vfb2yblnkkjq1bfkmiavsb6vzhd5";
+      name = "kollision-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgoldrunner-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/82jk65vx3xpg2ydn3fzg6v2w07xgihhc-kgoldrunner-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgoldrunner-14.12.1.tar.xz";
+      sha256 = "0sgr2034mr5gmmg81qp9sqjw2sn2cgdw8bl9dq2iid43czih5zbw";
+      name = "kgoldrunner-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolf-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/y7m9zzkm4wz23myj568sdjpn86f6m4iy-kolf-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kolf-14.12.1.tar.xz";
+      sha256 = "0arxis9q9qzbv35qq52pl4j5xzqhdwypjhxwdiqammqksdnln8lw";
+      name = "kolf-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okular-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8ipl9g3hgm04x1xpvyy8ahlbvjq6birx-okular-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/okular-14.12.1.tar.xz";
+      sha256 = "1my3d91lm6wz8gh9g7pw4rrdxkc22vr9v02b22qqvxb2z8mdq5cb";
+      name = "okular-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkmahjongg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/jl34m0f1m497dpwnmmw2svy9ig9x7x5q-libkmahjongg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkmahjongg-14.12.1.tar.xz";
+      sha256 = "00s4akfgr33n1bg2bds1fxccnig9hybm95qq95ii6ky4jyjc6b78";
+      name = "libkmahjongg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbreakout-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ab28gj1xwh9calkkf87xqnh84x8cjq08-kbreakout-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kbreakout-14.12.1.tar.xz";
+      sha256 = "1cvqjch9ymjii7xmlg1clscbv6245m5bnf77dxz6nkzsrcy4khbx";
+      name = "kbreakout-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgpg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8bfm6nbnd3clpdy108yab44vv7552c1i-kgpg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgpg-14.12.1.tar.xz";
+      sha256 = "0cfhmlp200dbhdkckf7xvfbfsz985zw7vp6vin4w378dzyw55lmb";
+      name = "kgpg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscd-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/lfsycaw8n7kjsbnkga24cfqmpr0rpff8-kscd-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kscd-14.12.1.tar.xz";
+      sha256 = "0ag9i649ah627b5xsacvz1q05pijfrbwrg34bpcc61px9zsgk18l";
+      name = "kscd-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcalc-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5avv44x780sz0v874cl781k7camn6xcj-kcalc-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcalc-14.12.1.tar.xz";
+      sha256 = "0qsfllwhn1gd675k5fxbfcfflnn86cbh3nzn70bc2lmxmwrlzbj2";
+      name = "kcalc-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfourinline-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/qbgn1hkh15gv93wbrfg2bh14zsfgxfva-kfourinline-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kfourinline-14.12.1.tar.xz";
+      sha256 = "0mhykajapvbcrasadyjjjz7sps3vmmw1hhijfjbswkb62ikmwc6k";
+      name = "kfourinline-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "picmi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/s1m8hz32vjf2v38p2rkznrx4mgn6rzr3-picmi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/picmi-14.12.1.tar.xz";
+      sha256 = "0nrg4qza4h99k59w92v3qy68xlkdslqrlqi62fg94i88rl9l6ypq";
+      name = "picmi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebdev-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/9mqr7imp19hgjl7bn5sbp2d3xmgrr3p1-kdewebdev-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdewebdev-14.12.1.tar.xz";
+      sha256 = "0iv2r5vxkk8bg8p2zpq2dqnq0vvwhmjls0gdg30gyc4w04a7jcqr";
+      name = "kdewebdev-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmines-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/nx62f1snc9d786yi1vsh0vzixkgrv9gr-kmines-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmines-14.12.1.tar.xz";
+      sha256 = "13f070kh0rfs5pmw3lnlwxwvx2ph2q8n1vm9lvr6kw1ablngiacm";
+      name = "kmines-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "filelight-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/syf2l3yk3wga82cyak82janjsjhgvbd5-filelight-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/filelight-14.12.1.tar.xz";
+      sha256 = "1dzcgric6rxhxhi84lgbsmkfk6s6b96px8019njnp744jys2ikv8";
+      name = "filelight-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "amor-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5nkk3cqvi177qd3mq0n687r5swcrixfd-amor-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/amor-14.12.1.tar.xz";
+      sha256 = "0p0fgp3j6x1f83kxdvmkcy4ladhg206m261fbpa92zyxp2ylnl0a";
+      name = "amor-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdiamond-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6pbb85yp6xhd3x5w0a5ql6ms10yj1pj3-kdiamond-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdiamond-14.12.1.tar.xz";
+      sha256 = "12frpi62f4w86ygxa68dvx1nj8n7w7lsgizfdyc6lix6l5vfzn7x";
+      name = "kdiamond-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kteatime-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/89l402jmb83ji7xvkz82kz024l012yaz-kteatime-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kteatime-14.12.1.tar.xz";
+      sha256 = "0my0fjiblkkfy2148axc7gp1nsx5lr2y8zn6d2labai2f6dy1bpf";
+      name = "kteatime-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "juk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gjxwckkx3mikzkpxs7vzk830nj42fj6q-juk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/juk-14.12.1.tar.xz";
+      sha256 = "0wzjrk5w5y0f6bc98pr7xni1j8krdyjsk3agcwkhb4d4c0aa5gka";
+      name = "juk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "mplayerthumbs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/kdk1frzcpvc11ln0vamc6m0m7h1xfnj5-mplayerthumbs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/mplayerthumbs-14.12.1.tar.xz";
+      sha256 = "0z9iw1syv61y4fb4dlr9n8w78ri7wpznys5bd5sn0hxbkwnavs6b";
+      name = "mplayerthumbs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kget-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/v34rq3l61yyxsml99xp18adg85ki53r1-kget-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kget-14.12.1.tar.xz";
+      sha256 = "1jr15bcc09pypihva7pjsq6rlj0kqqhqvprxdggmwa7fnyyjxrg4";
+      name = "kget-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkface-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8l4frnslphg2rbpmaikwi0j7w4hfw56r-libkface-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkface-14.12.1.tar.xz";
+      sha256 = "198z0n286qnngrln24s1dfghkddz5zy7qr8af0jkywxdj3j2ks3a";
+      name = "libkface-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcolorchooser-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ygwdm76ijc39y3blkfl7s6g21328dk1p-kcolorchooser-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcolorchooser-14.12.1.tar.xz";
+      sha256 = "1yw1cxg2caddncnhqyck1fh7g43svgcb8pb15wp5rz7qqs0p65mf";
+      name = "kcolorchooser-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dragon-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/2iwy70md4cqg461x92sbxwbfzmj4y1xz-dragon-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/dragon-14.12.1.tar.xz";
+      sha256 = "0wqmjb7zl883mcmx4x8ss0x64r79wrphfxkyva6sifcy596y2wxh";
+      name = "dragon-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjumpingcube-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5n1arbyl0fjp5b5xdlgyha4nwpxbczyz-kjumpingcube-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kjumpingcube-14.12.1.tar.xz";
+      sha256 = "1h7nypr5b8b5az7c2gszihlhq9k2dn92cabjmif9rlkrvl6nahcy";
+      name = "kjumpingcube-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapptemplate-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/fxh9hhx7z5bv151xrxw26h91pz09lw9z-kapptemplate-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kapptemplate-14.12.1.tar.xz";
+      sha256 = "00df6ckfaglnnxizzqmci10h8hiqjv0fgi8xb3x4d3aszb049k1y";
+      name = "kapptemplate-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksquares-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/16zwzi9y1215imff1phggjza00j9y4br-ksquares-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksquares-14.12.1.tar.xz";
+      sha256 = "0b1av02srxfd9ji51f2pcb5phmlqdz2lzik1n97yzn6f0xh19h9y";
+      name = "ksquares-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bovo-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gfficdhz1w80xmvn9842jx1fwpd81lqi-bovo-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/bovo-14.12.1.tar.xz";
+      sha256 = "08in3ppksxp7zdgrv5lvjxzlvc6srfjcicagqbj2r8nrfmngjlim";
+      name = "bovo-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksaneplugin-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/pafvmq1gg81mjpwyf388k311qwf7pgcj-ksaneplugin-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksaneplugin-14.12.1.tar.xz";
+      sha256 = "00bsd58kfvhp36rbwsmbk3yqjx8gca3r42q5z3fvd0jpf7y8xxip";
+      name = "ksaneplugin-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "rocs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/n25f8hphjdbwbk9z488i4bjmfai5vzsx-rocs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/rocs-14.12.1.tar.xz";
+      sha256 = "033irmbjs6d8q7zdvz7vzx61d0gmgxb96cypwlwjmww1czgy9zcg";
+      name = "rocs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kompare-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ikirdy65sp1w2w38p28nkzic0zhw5iyp-kompare-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kompare-14.12.1.tar.xz";
+      sha256 = "1js49gfffbv6nplr907dkcq3j6xi6h1276n0fbkpd7y31cca6mi7";
+      name = "kompare-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalzium-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/4zh8mah5lsisbnv07nas6wqv6xvsqzy4-kalzium-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kalzium-14.12.1.tar.xz";
+      sha256 = "180qq9h046hax0jl13iy9mzbzhn66y41p8cj5447qgrnjbdk5qa8";
+      name = "kalzium-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksudoku-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1pbw74v9j5r9x36b2r7yq5k8n9fbcvwz-ksudoku-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksudoku-14.12.1.tar.xz";
+      sha256 = "1majccia02g7icqh8pad3m91nj94j228s66v25szlwacg2zc86zr";
+      name = "ksudoku-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cervisia-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/2ifpmknn9aw760hsz4j7cf7kc6x704hl-cervisia-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/cervisia-14.12.1.tar.xz";
+      sha256 = "1xgvk1qar2mg5awkwsc0wzyzmskgv9r6bgbczyy0fjjd9xh0mp75";
+      name = "cervisia-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcharselect-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/3qpkmwxn855x58k5za6r67rniyzkj006-kcharselect-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcharselect-14.12.1.tar.xz";
+      sha256 = "0rb4dr7ygiks45c73nwab9wg9zdn1xgq93yhkpp23bkfq9ca7z4f";
+      name = "kcharselect-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbruch-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mvjdshn07gw1jn31y7igfzrzdmkpw98d-kbruch-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kbruch-14.12.1.tar.xz";
+      sha256 = "180gbax6lrn5qr1l7x1c3i0i2kh1by4j80bif66jxwra505by50z";
+      name = "kbruch-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knetwalk-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/y0pg73qfkvfdrk3r7xz7yfgzl2s24vg5-knetwalk-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/knetwalk-14.12.1.tar.xz";
+      sha256 = "00b2zkiv3i99k6ri3xljas2fc2ihri84cmckgwrzvpxbdha8wpj8";
+      name = "knetwalk-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "palapeli-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/7vjjf69hw3kkwxmnlxfcg44wh7yy1s5i-palapeli-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/palapeli-14.12.1.tar.xz";
+      sha256 = "1zdbhn7dfrzb18k3rjgm934gjib5kazkgblsl15jxlzw2yfy458i";
+      name = "palapeli-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okteta-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/mk87jrnhqgcarmc658k4f2fpm1181i3g-okteta-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/okteta-14.12.1.tar.xz";
+      sha256 = "1mw32cjj2kw36frki26nycwi48p1s0wi2v9h85v9dwgk6235i7d8";
+      name = "okteta-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnakeduel-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1mbdk8jijasnkhrzavpv89mzbfrz9b6n-ksnakeduel-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ksnakeduel-14.12.1.tar.xz";
+      sha256 = "14ryx9ydwi23lhf5xr5mn77ixzkirwdg43mrh2cc0rnq440mzalv";
+      name = "ksnakeduel-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/nky571v70dk45hy9jfvii63amga1qx55-kdelibs-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdelibs-4.14.4.tar.xz";
+      sha256 = "0h255hhl46r7ax9hm9sr7qddljwzfky2ssh695ml3svfwg52mihl";
+      name = "kdelibs-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-strigi-analyzers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6sfiw6s55wnsnsyh0sas9s3f8fbpwnw4-kdesdk-strigi-analyzers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdesdk-strigi-analyzers-14.12.1.tar.xz";
+      sha256 = "1bsf1dgb2039jjzqy6pr66yw08kxbn5xpna0bfmrbiw4pprlmbi4";
+      name = "kdesdk-strigi-analyzers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "svgpart-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/hcxrbw696pca5z4p95ws7373x55bi9lj-svgpart-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/svgpart-14.12.1.tar.xz";
+      sha256 = "18r6n6wh8yg5wmd5wyc8sf6k994ghfknanlp7l1pcqwqa6wfv6rx";
+      name = "svgpart-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-filesharing-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dazj5495njhw8bdyizpx0af9r20bvj5a-kdenetwork-filesharing-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdenetwork-filesharing-14.12.1.tar.xz";
+      sha256 = "0id8qmr432ygkfmcq3mfr3zv0w58393w0z5pd86k8nnkz43nh208";
+      name = "kdenetwork-filesharing-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ffmpegthumbs-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/11nyk47q1i4qh92kdzw3l6gi5nqhja5b-ffmpegthumbs-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ffmpegthumbs-14.12.1.tar.xz";
+      sha256 = "1q6ayhxrsq3y5yvrawsvr88pzl7vcz5ms6dq0sgd4mad83kwl5yj";
+      name = "ffmpegthumbs-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmix-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5y3gdnaa0a8nhpd5a2abp3ixcdnmg9im-kmix-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmix-14.12.1.tar.xz";
+      sha256 = "1zk1c1m1zihb4wih2330a95gd1skakwsx0vccxp8np3nsh71z3fa";
+      name = "kmix-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "audiocd-kio-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/6h2dlw28xi87axxdglbkjz2jyjl78ijv-audiocd-kio-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/audiocd-kio-14.12.1.tar.xz";
+      sha256 = "1wi3mwx9v7lh71ciar29c1bprwh2lgq46yq3kx5gq7wz20cx54hh";
+      name = "audiocd-kio-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lskat-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/awrjks0ihywpqygz8aqwrxn53yd8sljb-lskat-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/lskat-14.12.1.tar.xz";
+      sha256 = "19q5qzfh1dczkdz612hw21849h438dhl21ghbfm5hi5m04vmn8rc";
+      name = "lskat-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmahjongg-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/kk2rlvdl5hm4b0ms3i5pvs1r6lh5ipbh-kmahjongg-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmahjongg-14.12.1.tar.xz";
+      sha256 = "1pbq9f6zb96v98sz94kz979z5scpqzvc5fp4nxs2dg1rx1la8qxl";
+      name = "kmahjongg-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-workspace-4.11.15.tar.xz" ".tar";
+    store = "/nix/store/pmn8vgwjdszsl46pra65vn5i7pxfj7g4-kde-workspace-4.11.15.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kde-workspace-4.11.15.tar.xz";
+      sha256 = "1y7df6mar72lzy1dan7v5wwgf2w669b0hkrdb6ai1s3whmqr611a";
+      name = "kde-workspace-4.11.15.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdeedu-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1l6fwf3bb28myf3k3hsiv27gk8ar6gz1-libkdeedu-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkdeedu-14.12.1.tar.xz";
+      sha256 = "03jic27ghfz2gpbn2nb69qiiip4vgy3y4as8qx328cl39l5vh8d4";
+      name = "libkdeedu-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktouch-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wvgsj2m324xic0rjr6kyi7pfwqnfpmzq-ktouch-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktouch-14.12.1.tar.xz";
+      sha256 = "07z1nkyc4hxjd39pczkv1z6dxdjn3334wnv778mdrf98lm77vjxd";
+      name = "ktouch-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblocks-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/wgjmvym6jg44xr5mzgw3pb77w1ya8s2h-kblocks-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kblocks-14.12.1.tar.xz";
+      sha256 = "0qk5g5karl29g4hbpl7lfgahv71as3mj6j604cpd2wiwma05qa2s";
+      name = "kblocks-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kqtquickcharts-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5ppmqjmqizw31x1yjnzmicybln433l9a-kqtquickcharts-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kqtquickcharts-14.12.1.tar.xz";
+      sha256 = "026am7l64m721vv3l79z6v3avxq94z1vrzx1ifwf8p001inf4ydy";
+      name = "kqtquickcharts-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sweeper-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1nwklpfvdggaxadjc3396j8qgwdl619h-sweeper-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/sweeper-14.12.1.tar.xz";
+      sha256 = "0c3kqnjwi5q24k7b05dr5mygd3ps0r1s9cbs49r9zikswz7gky1d";
+      name = "sweeper-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kopete-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/gcj1qvbh1m7hbbyfdsl1nypc07nzy0yn-kopete-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kopete-14.12.1.tar.xz";
+      sha256 = "1pkgzlq7scz0pvmn2dis128rh2hdfxhbg6imn4mwrizmlpaycb98";
+      name = "kopete-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbounce-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/w5dhnrmkm982i7kw1j9j5rf09z22cka9-kbounce-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kbounce-14.12.1.tar.xz";
+      sha256 = "1x726x5x6cpdnig0wmam7zzigj33afwswdmxxgspnpimkybwpy0f";
+      name = "kbounce-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kanagram-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/cxxfxxpmnk70i9cx0cgx7k6jdg32s73f-kanagram-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kanagram-14.12.1.tar.xz";
+      sha256 = "07lz09armwr4j594pn30d617ngxcn8n3yxikm79ck5020gx4wvgx";
+      name = "kanagram-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "zeroconf-ioslave-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5jhzsqxdfzh1zw1d103np2rm34jdj945-zeroconf-ioslave-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/zeroconf-ioslave-14.12.1.tar.xz";
+      sha256 = "12ri1dbbzc9dwx2n843979yvh93a9yrzpprk9jdmjr1hkna8rgmy";
+      name = "zeroconf-ioslave-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkeduvocdocument-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/zcxv7zv41p63pij7d37wdp4hcll77ldc-libkeduvocdocument-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/libkeduvocdocument-14.12.1.tar.xz";
+      sha256 = "0nqjcddjmapgadlkv97banjk5fh7p355hfxcbspksyndsgplz1hv";
+      name = "libkeduvocdocument-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmousetool-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dv7j6rb4688zzlp36l45f2h0vzykvybj-kmousetool-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kmousetool-14.12.1.tar.xz";
+      sha256 = "0k38qj2hv9k846fba4sxdg1biplbdn5hfmfhx5qmc6g6h8xrs2dr";
+      name = "kmousetool-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolourpaint-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/dqi11m0gnkyrfppdlibvgv2gbycpjqm6-kolourpaint-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kolourpaint-14.12.1.tar.xz";
+      sha256 = "15vkd7i35myfi9m11p52g8x7dlkvf06fa400r9vbw321fza2gyjc";
+      name = "kolourpaint-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgeography-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/zl0qg5scvgmzsq6c7l4s2rs4dh6v243h-kgeography-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kgeography-14.12.1.tar.xz";
+      sha256 = "04g2sw2r1i8kc85n9igk15kmk3hc8gdci52lxk4ca04bxcif7061";
+      name = "kgeography-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dolphin-plugins-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1cknwl7y4djaq1cwjj3g38k8w8gi6zwc-dolphin-plugins-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/dolphin-plugins-14.12.1.tar.xz";
+      sha256 = "0sjfm5ry54h56vbbch11js50a70pvwbkinyxxgyvs6g260ngpkx2";
+      name = "dolphin-plugins-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kreversi-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rbc1h7c1v7bdzgwxqw5xs2x19rn4z9q4-kreversi-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kreversi-14.12.1.tar.xz";
+      sha256 = "1011262n5zh6hji7xxgq3k2hkgh0hqhpvk9krw22plda4nww2xwc";
+      name = "kreversi-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-runtime-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/rwsx6c3s4nc7vkcfk0c39jbp7f5f0rvp-kdepim-runtime-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdepim-runtime-4.14.4.tar.xz";
+      sha256 = "08axhahiqv77cr6ssvh1cadqjvv1064w5l94wxadnyq3vz8kl6kz";
+      name = "kdepim-runtime-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdf-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/5caacq7s0yh79mqykwj5wydj3b5gyl83-kdf-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdf-14.12.1.tar.xz";
+      sha256 = "1cvd7ydk277crv1wiw7sn72mv9lf5pqk56gylfmzr63mr7dyj5iz";
+      name = "kdf-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiten-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/8dl8yv38wpv199jjgw3kdl8rajxnnc77-kiten-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kiten-14.12.1.tar.xz";
+      sha256 = "0518zbvgn3w00b7lxfivrgrp8xrpb09rf9cf9zdxdl2z37gxmvmv";
+      name = "kiten-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-strigi-analyzers-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1widcjdd8hzy1dnabg9px06yjc0k7ncf-kdenetwork-strigi-analyzers-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdenetwork-strigi-analyzers-14.12.1.tar.xz";
+      sha256 = "1xdb3hm7iad2wvbwqaa5bbqzgg6xdbbv68xfjajpx8k9cn20kh9r";
+      name = "kdenetwork-strigi-analyzers-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcachegrind-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/k4y83g821js66c35bc6x2r8m1924vd4f-kcachegrind-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kcachegrind-14.12.1.tar.xz";
+      sha256 = "01fa9b73ymym5qyd5lirb4cf6c37x02a1a9ls2qgzswflm557d49";
+      name = "kcachegrind-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kstars-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/plbszpr250pr7x41578a4b5n329wgl4l-kstars-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kstars-14.12.1.tar.xz";
+      sha256 = "08px9765vl6hpmy39wyhlbm4d3y5wh82w33g2fppx4d9bxmpz166";
+      name = "kstars-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-4.14.4.tar.xz" ".tar";
+    store = "/nix/store/shap58rcwhg13766v7zm28nxr6rn09gw-kdepim-4.14.4.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdepim-4.14.4.tar.xz";
+      sha256 = "0jpbc84xv07j2qynkn4mhmwlldbmjg6v7dqc1028kfk7sbcahhf2";
+      name = "kdepim-4.14.4.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktuberling-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c4m2nwfbjwqgc9ydq6macg4zkmrsd7v6-ktuberling-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/ktuberling-14.12.1.tar.xz";
+      sha256 = "1ghymw6ljvkd9wi4j0f1n8gjkhxfkqvmb8n36lasrfr27v57z68v";
+      name = "ktuberling-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblackbox-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/rnz72ryzp7mcxk83l71rw7br3k6hamr9-kblackbox-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kblackbox-14.12.1.tar.xz";
+      sha256 = "0cxyzlsvhw9rg3b9c558zbqr3ijbzyx5as9g92ald8w7qjja5jnv";
+      name = "kblackbox-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalgebra-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/c3gmynlqgyhdx3nghhwgk8i85qqysjsj-kalgebra-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kalgebra-14.12.1.tar.xz";
+      sha256 = "0pn4scp7y7ih60jaq39kanwgsc2aslb41v9xw8322kk8q4gyc8g4";
+      name = "kalgebra-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeedu-data-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/53ksfs7gxzr33sgdbfxk4ydjzzl2c7y3-kdeedu-data-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kdeedu-data-14.12.1.tar.xz";
+      sha256 = "0hyqwkva7bgi43fgad4caz8q4pcb9kx5czpc3d8nksk5q28a1llg";
+      name = "kdeedu-data-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kigo-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/ggvs29ryi85ig0r9z3jq259kvyq1k1h0-kigo-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kigo-14.12.1.tar.xz";
+      sha256 = "100rrip6w08ld2xgwdm2dryk8qa92dssdz0a0iykgklddq6dvxr1";
+      name = "kigo-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "print-manager-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/p445xkdbm1dqqb3p2x10rag6xccidp9c-print-manager-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/print-manager-14.12.1.tar.xz";
+      sha256 = "1ad9a23cfivyzfgajg1bn10n2glp2ks8yqkl5f0xk5alyldzbir6";
+      name = "print-manager-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kshisen-14.12.1.tar.xz" ".tar";
+    store = "/nix/store/1hx5ws8bbzh0lnmjp0x8ln1s7rv3x62a-kshisen-14.12.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.1/src/kshisen-14.12.1.tar.xz";
+      sha256 = "1b0csn1ngpcwcl8iwv02hy1gb6hk13453khzgya6ckixk5szcdy7";
+      name = "kshisen-14.12.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lskat-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/w24lqbmni5n7w2xdmw1khzixg9f2p64m-lskat-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/lskat-14.12.2.tar.xz";
+      sha256 = "0c5zg0lkzcgf7ff1hqy6rh8cq5z4935p7rmm463pl933djpbl5bn";
+      name = "lskat-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpat-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1w6n38dac3mslyfl5blf1cas013m9h8g-kpat-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kpat-14.12.2.tar.xz";
+      sha256 = "1rhs752b3ncbpbmrc9zknww0dsihh3lvwvh629v1s6xc0vqvcar4";
+      name = "kpat-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-strigi-analyzers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/738qaln8qxvsdnqiy6adk9sh28rfjkgy-kdesdk-strigi-analyzers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdesdk-strigi-analyzers-14.12.2.tar.xz";
+      sha256 = "08db2nhkw265i2dfbka5q6vm7bxbjywk1p52hhjc57a2qvqfb5ww";
+      name = "kdesdk-strigi-analyzers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "zeroconf-ioslave-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fl2nm7vv3k36vyf2wml8pv4sskh53ycr-zeroconf-ioslave-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/zeroconf-ioslave-14.12.2.tar.xz";
+      sha256 = "0jx35018amdcgmxi9c7alc4c80qywzakqdrzyq5i7jxjcl3y1ly0";
+      name = "zeroconf-ioslave-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmix-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jrmw028qjd86q4mjyasx64iyssaj7wk7-kmix-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmix-14.12.2.tar.xz";
+      sha256 = "1jx2mkrdx5jgrjr02snb199xradpxaw42dw8y7icbpmkihxmxry1";
+      name = "kmix-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmag-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g87b5njzgp7jrydvwvc2xwpnwv0p33kd-kmag-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmag-14.12.2.tar.xz";
+      sha256 = "0bcrr67v6h9vc69341b662z7dbgxm3yrazfkfsdlxp1ahqspl6w5";
+      name = "kmag-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "mplayerthumbs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/35izrbqhb52zlfs2x1qsjc0k1l2d1pkk-mplayerthumbs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/mplayerthumbs-14.12.2.tar.xz";
+      sha256 = "1kwpd3j64zm78qwn42q3kgipywdlcpvibng06x032yv6i8wmi6m1";
+      name = "mplayerthumbs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbreakout-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hqsma0ww8philxqp1hk22sk3lf711y4i-kbreakout-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kbreakout-14.12.2.tar.xz";
+      sha256 = "12y03rbm13pg1c8xpgclklin5vjzsidyaiamhh5bqpqsxsqcnh5n";
+      name = "kbreakout-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kreversi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cixkkb370365vic33rl9n9846ll44rqx-kreversi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kreversi-14.12.2.tar.xz";
+      sha256 = "05zkwswpy5sw9ab3gc012pgvl0wq8f2lb0qhdr96rvxgp8m273j5";
+      name = "kreversi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "jovie-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xmvafr9hszzwndqazdzsn9i90cwi0afs-jovie-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/jovie-14.12.2.tar.xz";
+      sha256 = "0yfn5n3n3knacvpr3cqiii0hldbxc6m09k1g53hlksay61s2r56v";
+      name = "jovie-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yhs96yv9mv61pp521mpay8i0dgqlmm1y-kde-l10n-sr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sr-14.12.2.tar.xz";
+      sha256 = "07f8x34q8bdcsvc3a76zpd0sjxnq5ja6ghl3d9a0a4ix0hyyv8zd";
+      name = "kde-l10n-sr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/l2499bc6hfv5x284cs4bjvqbmbxr0aij-kde-l10n-hi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-hi-14.12.2.tar.xz";
+      sha256 = "12ky5zmds18n2sgivrnpds8qjkd64397ia9h8h9s5s9l3cwgipb2";
+      name = "kde-l10n-hi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-tr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kpcnzwp6wg76slwd2zdmzmg09iydims6-kde-l10n-tr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-tr-14.12.2.tar.xz";
+      sha256 = "1d326cxhfx0434x45lq9wgn5csvmclgd6fmyqzwlax88vm57gg62";
+      name = "kde-l10n-tr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/p36g7i6w8hgsz3wdax3ldxzv3djmw258-kde-l10n-pl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pl-14.12.2.tar.xz";
+      sha256 = "0knjhk0941qf28l4izz2ssfri88s09k0vxd3d6xblg51r6m0b2sk";
+      name = "kde-l10n-pl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-km-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/iyab41x341l7b1acprqv7azbdbxbd0lw-kde-l10n-km-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-km-14.12.2.tar.xz";
+      sha256 = "108pcxflcbhisixivg6153sm8rrbdrrh6rbvxib307dh1q1sl7ix";
+      name = "kde-l10n-km-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-eu-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/sqlfyy4bhzgnv75msvyv2m7sx8vwhb0g-kde-l10n-eu-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-eu-14.12.2.tar.xz";
+      sha256 = "0x8dihag23ljyw50qpg3bqyhfg8p4f6k1daz2102wkqdbwhzk1ch";
+      name = "kde-l10n-eu-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nds-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/63qi174y5jw1cs3q0wzb5jk4j64q4zqp-kde-l10n-nds-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nds-14.12.2.tar.xz";
+      sha256 = "1nyz71cpin9cqffjaca9wv9s5v9n358agb1ncamg5iqj176cxvrl";
+      name = "kde-l10n-nds-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-et-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/f4jmy4xgm9a50a4r6nlvjz61ihw3w14j-kde-l10n-et-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-et-14.12.2.tar.xz";
+      sha256 = "1a4kih4lb4sqwasvqhqj06r37rj00vjlhwihlr7jk8z373yg6kk3";
+      name = "kde-l10n-et-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ko-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/j4jf2n3bikb23kzg55i538jjhz7gn2jx-kde-l10n-ko-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ko-14.12.2.tar.xz";
+      sha256 = "0vv4xdis64nc66i81fnilnkl8max6wm07kzwiqahdnrbrza8vqab";
+      name = "kde-l10n-ko-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-kk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ha5w0palyj9b7ajwd5xdqppgjnx1vsv0-kde-l10n-kk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-kk-14.12.2.tar.xz";
+      sha256 = "0bvghaggmzm8a12gl2z6ykgf8qabiagjmmddiqihbnvdi27ia78c";
+      name = "kde-l10n-kk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hu-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9cjm0q29zj5p7if67m6ax4vp9bsp1xmq-kde-l10n-hu-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-hu-14.12.2.tar.xz";
+      sha256 = "0s2h123kbylc9ijxv6yfj5l593zgy5ar843rn82jjpvfbq3qj11n";
+      name = "kde-l10n-hu-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/v1zrvmd2lvn0y3brh0j4h5k97sgqj6jn-kde-l10n-ca_valencia-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ca@valencia-14.12.2.tar.xz";
+      sha256 = "0ivr9rxk220rxdw37yx5ipdd8ik43jn43b50cbanw6hx3h39bpiv";
+      name = "kde-l10n-ca_valencia-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/l1nsi3pqrb0wv2v650sa8xax75kpinxx-kde-l10n-fr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-fr-14.12.2.tar.xz";
+      sha256 = "01lkgx857vmxl90si1b55gyz27iqdbk7qkn5v40n356zzaicrxva";
+      name = "kde-l10n-fr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qmf7y72b47pnq0b0gmxhw3slsgmy2awf-kde-l10n-sk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sk-14.12.2.tar.xz";
+      sha256 = "0diajsp56l6dg96m9nij834dmky1gh48wd8ji5zs37fvpmdc96r0";
+      name = "kde-l10n-sk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-es-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/var4wc2isqx94ay6lq8fnnynb1566sgm-kde-l10n-es-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-es-14.12.2.tar.xz";
+      sha256 = "01ha5db71rzkr3a0mlq80ag0fagivvjh26ck0y8da101lgl01i4r";
+      name = "kde-l10n-es-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3h7wyirznwm4zh6flqq1j2hacayvm423-kde-l10n-ca-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ca-14.12.2.tar.xz";
+      sha256 = "1gcypc9l95iry45vh4pl1i7hwrdnm4lgnwnfnw1l7016lhgfjr8m";
+      name = "kde-l10n-ca-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-cs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/mi03yzrjslab56mj7qw22d2lzl2kk4pj-kde-l10n-cs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-cs-14.12.2.tar.xz";
+      sha256 = "0rb6wnw0944zpllm4cac063r7hl5rq28x3b5a6has0cz4mqk9jw9";
+      name = "kde-l10n-cs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ar-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9lw0j1h2pwvl1zpcl8cjba2xqc7lwkp9-kde-l10n-ar-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ar-14.12.2.tar.xz";
+      sha256 = "0nkv2pj4f3hjrv25l8kqm9cqv0j7h3crrzyqzq026zzz6znlq190";
+      name = "kde-l10n-ar-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ix18mmzjf395q3wj2qcbpm1z9jvywm4k-kde-l10n-nl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nl-14.12.2.tar.xz";
+      sha256 = "0izpvjmlh8yk1nnzpxa59n6lv4fk7575j8nwjapy0ynrknps4fff";
+      name = "kde-l10n-nl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-de-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xa7h417v8b57fzimvggiyfx7hys197kz-kde-l10n-de-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-de-14.12.2.tar.xz";
+      sha256 = "1y54csccymc7hpbsm8kjw4v9ypgvxqcqahwvan2x84fvn7p80inb";
+      name = "kde-l10n-de-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fa-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/44rprv2vwz090i48pnykzws4blyryxw8-kde-l10n-fa-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-fa-14.12.2.tar.xz";
+      sha256 = "04qxb6qaj1cb174m6svd83m34fv8hwws8v4a20igkh09b5bl3dsx";
+      name = "kde-l10n-fa-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-wa-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5051arszznb40q77d34zcwnaaxwv5wx1-kde-l10n-wa-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-wa-14.12.2.tar.xz";
+      sha256 = "08il92kssd4d1zdkks4777pk8l2n3k4abv589x8rja4rlmpxrscq";
+      name = "kde-l10n-wa-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nb-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hvcw01d444zkmyw1zpds2mnw7xmx4wca-kde-l10n-nb-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nb-14.12.2.tar.xz";
+      sha256 = "1q461np49d0n0zhby9dd8knf7y3w9vi1r49bzlqwd1y4hb3alnms";
+      name = "kde-l10n-nb-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-uk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xqqsvrfab53ybxfm0hq63bnlqpn6pz62-kde-l10n-uk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-uk-14.12.2.tar.xz";
+      sha256 = "0avr2c9drnkv7ndz9mqjayf6pivk6hbghmj6rli91lvqavjp6vlb";
+      name = "kde-l10n-uk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ug-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kc6d1lkncc3djfn8zybhz6xzz7nzickb-kde-l10n-ug-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ug-14.12.2.tar.xz";
+      sha256 = "17jizdwkfh3gfi9ykpszqw49fzswgps7xlbq9j8pjflyk36rya9i";
+      name = "kde-l10n-ug-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_TW-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/35mka79zjlplbis7b6dhiz48wls25gc6-kde-l10n-zh_TW-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-zh_TW-14.12.2.tar.xz";
+      sha256 = "0h3nfp51w7r601d6rpi55nzrmpywp3dalwqjwx4a6rnlawf3s2hr";
+      name = "kde-l10n-zh_TW-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qs4xzws3s0vamj17m98fxcqqvp8hyyw7-kde-l10n-fi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-fi-14.12.2.tar.xz";
+      sha256 = "1q8j8v7i7lz3qk22adr1cj0bs6qw36540bj0vdzpa3390fn3i2ra";
+      name = "kde-l10n-fi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-el-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yz0rzw7m437glx49xdxp4zz7ic51g5nq-kde-l10n-el-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-el-14.12.2.tar.xz";
+      sha256 = "0wcbzs0s1nqafa0hi0abb17yw3jnxcq2mxyk4h5p9g7q7pkvh6s8";
+      name = "kde-l10n-el-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fcqsn91fsip4bi7y763y07i3ii4ji8zs-kde-l10n-bg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-bg-14.12.2.tar.xz";
+      sha256 = "099af2qdxjy8whfaw0hzmlywb7l7bmpssga90xyahr7nh6l8vwnz";
+      name = "kde-l10n-bg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lt-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nbb6gg7pc3yzjxs3gj7l0363i5d1bq1h-kde-l10n-lt-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-lt-14.12.2.tar.xz";
+      sha256 = "1lkjmcj77mmk6lvh1h51k8i9nn33b0q9vgbampj33qgax1d7a4mk";
+      name = "kde-l10n-lt-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pa-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/92dr7l2vrh1j4bxj2zy21prpfb1v9ba6-kde-l10n-pa-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pa-14.12.2.tar.xz";
+      sha256 = "1fagcrjjm7s0kpkfflkjx6rbgzprf7qidpbgwzw3jjf501vfdpkn";
+      name = "kde-l10n-pa-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2iqdi982l5gbh3ajibgznzxg6ryjn49p-kde-l10n-hr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-hr-14.12.2.tar.xz";
+      sha256 = "11dabhhz676ria4nwvkx49igzm481fl9996j3p6rzd4kbhrksgq0";
+      name = "kde-l10n-hr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rfkj26fa9pi0mraxd8mgnh758dhp0m7n-kde-l10n-bs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-bs-14.12.2.tar.xz";
+      sha256 = "1x4m0cksbiy25s8pynskmasy7kkzm8i8mp5dvsx3wsh0msf4pg1i";
+      name = "kde-l10n-bs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ga-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/sw87zcl7ddd68wlws5689h7r7g5bbcgl-kde-l10n-ga-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ga-14.12.2.tar.xz";
+      sha256 = "0ayambdzdfnky6bwnk5ghnch18y4ran6inrb8v4i1c407zn74ydx";
+      name = "kde-l10n-ga-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_CN-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/id89acc90qgfqjcidjfsx1sn62yk7c56-kde-l10n-zh_CN-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-zh_CN-14.12.2.tar.xz";
+      sha256 = "0876r1bp36w0iljrlhlnxfizapvw0h2qmpjnf5s7vf5iisrvsbrb";
+      name = "kde-l10n-zh_CN-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ru-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rki0855bdgqwi8ajwmnl9jdm1hgn18xs-kde-l10n-ru-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ru-14.12.2.tar.xz";
+      sha256 = "0i2fb0fa1drg99m5k5d8sdv04g809c3dz507wlrb9bnmarapahhn";
+      name = "kde-l10n-ru-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-gl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xhqd4bxhv3p1mwr4j7h59858dc782ycs-kde-l10n-gl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-gl-14.12.2.tar.xz";
+      sha256 = "1mpzxlk93bf50ajk3m9ly19fdn34rnpznap6bad05zj9wczin9km";
+      name = "kde-l10n-gl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-da-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/8p2ygqhbbzxmnrjjxyris3281bdklbm9-kde-l10n-da-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-da-14.12.2.tar.xz";
+      sha256 = "1lqs9fpp1dj8r0mpnjy8m7aa9jg8iv30k7wdpxpcf634m2p06911";
+      name = "kde-l10n-da-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sl-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gdrvx87d6y9q47alc0s2251dzm04wpdi-kde-l10n-sl-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sl-14.12.2.tar.xz";
+      sha256 = "01yj9wh5zr72vgxman2j49ihhcyxr2yw820g2cz68bbqh829riiq";
+      name = "kde-l10n-sl-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-id-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qcs4fdkjrkgva632nqyi1z24h517fvl7-kde-l10n-id-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-id-14.12.2.tar.xz";
+      sha256 = "1cc1yfps29fakra3xfnnzf6blqsydx4r9scsd0w0f8xxk3mr87j7";
+      name = "kde-l10n-id-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ja-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/klsqxbpagy7jj2ha51hqr7h9qpd4qg9s-kde-l10n-ja-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ja-14.12.2.tar.xz";
+      sha256 = "0i7x21yvj3ipg96jmfqs7kaixqa82f5s58mpi34vyypcc1ap4731";
+      name = "kde-l10n-ja-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/lmg22mpi05l0944ihv9z72jg1i8xs2zc-kde-l10n-pt-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pt-14.12.2.tar.xz";
+      sha256 = "123j4h4bhy0xdhazl18yccp17283k98s4f09f24r5b54yzw5cs0k";
+      name = "kde-l10n-pt-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-mr-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/pgw29ki339a22l9c7incm93qvmjhvwif-kde-l10n-mr-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-mr-14.12.2.tar.xz";
+      sha256 = "02z4hq74gxgvcnx0za74zlyx01m407bc3219wiqb88ly5b6g59af";
+      name = "kde-l10n-mr-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-he-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/4p5v5j7l1j5xvz83jilwmmg22v5pl1y0-kde-l10n-he-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-he-14.12.2.tar.xz";
+      sha256 = "02lmsvdyw878hk55r5dqm065n3f1czgq0icspi25ibxgvhf0nmji";
+      name = "kde-l10n-he-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-it-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/pzpmizw0hsfczli3wk7mihsad2ziwnjy-kde-l10n-it-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-it-14.12.2.tar.xz";
+      sha256 = "09sfiv36q40sy9w3nqld89lgmpd8kba6xav683a28a1i0ipsjjbc";
+      name = "kde-l10n-it-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ia-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/7gphdvwvll05pn6dn3wxydy66d4an0hc-kde-l10n-ia-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ia-14.12.2.tar.xz";
+      sha256 = "03jkjrbgp59xiwrbj9hp55y3qhpcyg1gxwv0vcbvxaxpg1zg7s1x";
+      name = "kde-l10n-ia-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nn-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6xryf5sf70rqzsp6zirfc85hbq8mq93q-kde-l10n-nn-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-nn-14.12.2.tar.xz";
+      sha256 = "1wr73m10liqvd7fkq3gqh4y2ibwgm200cbk6dv58xr25jjh1ji2l";
+      name = "kde-l10n-nn-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ro-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zjdd8bp4639ylb7wr2h0a6zl4ka4hv5j-kde-l10n-ro-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-ro-14.12.2.tar.xz";
+      sha256 = "0p4b7bngb3j2xsixk3s5wks7050famwbh00cgdpq8gd02i01iplc";
+      name = "kde-l10n-ro-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-is-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hm9hivcnjbbhxnr2k1p95lfa57y9qpa0-kde-l10n-is-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-is-14.12.2.tar.xz";
+      sha256 = "1fz1azj7z127zpf257hzavsd0r3k7j1gd3wgw5i9prr3n0xp589j";
+      name = "kde-l10n-is-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-en_GB-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hp26lgcf3jrgcqsrai43kvimlpq9gs48-kde-l10n-en_GB-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-en_GB-14.12.2.tar.xz";
+      sha256 = "1vmgrbx31683j47na433h2sps961h5av1rkqrmspdpls32g3hjq4";
+      name = "kde-l10n-en_GB-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sv-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/y18jr4kswbh1qlhw83xyig9rri07yya3-kde-l10n-sv-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-sv-14.12.2.tar.xz";
+      sha256 = "1a702cyyhg5dk9bmfxmpsyj4h9lk2hrm8rcdzwy6lmhvclgc4iqj";
+      name = "kde-l10n-sv-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt_BR-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bcssbybfddwdy45n5sfr8aw2a6xxpn27-kde-l10n-pt_BR-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-pt_BR-14.12.2.tar.xz";
+      sha256 = "0lvjzcpv6j4i3xavkcbjbz17mxzj59rqiq9gxhvqnk6wihzwr3d1";
+      name = "kde-l10n-pt_BR-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lv-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xszl4r8c43w086w15mf61lis5ar4ig24-kde-l10n-lv-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-l10n/kde-l10n-lv-14.12.2.tar.xz";
+      sha256 = "1i8xd2apf8gr657w8jzc2vj4s7izh1kpqnz1n75yk2b8gbr0aiqq";
+      name = "kde-l10n-lv-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktimer-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5bknljgh37bx5v4c0vnmigasa3xq3cka-ktimer-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktimer-14.12.2.tar.xz";
+      sha256 = "15bar1j2var6i1jawq0nc4zkifl1qghciqyqavx39sm1cxphqirf";
+      name = "ktimer-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksirk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xmalh942dl6rygwk4jxpirabx2l8n0j4-ksirk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksirk-14.12.2.tar.xz";
+      sha256 = "0ab8vbk5640jaq6r0f0f5nidf0xx62lb140hq42flmid0hw6ls57";
+      name = "ksirk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-strigi-analyzers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hl424krxwgahhhykhwhq2lxmrjdvfrxh-kdenetwork-strigi-analyzers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdenetwork-strigi-analyzers-14.12.2.tar.xz";
+      sha256 = "1802iy6w5wchj2lj6b7yp32nj4pbh1pn44v2pvhafg0nj49rn0iv";
+      name = "kdenetwork-strigi-analyzers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cantor-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/sv2xx8whd4smmx447iaxg3akivyk74gs-cantor-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/cantor-14.12.2.tar.xz";
+      sha256 = "0hcxr28083qadm7b6pjqh959dvj79dvymkigxv851ainvspr82km";
+      name = "cantor-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdeedu-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ka3asqxgpas752w1h3agc2c1ka3brp19-libkdeedu-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkdeedu-14.12.2.tar.xz";
+      sha256 = "0w7wkcr46fp3gidfgm4gp3q26vxp4szfbqmk4624ysrdi85aa6br";
+      name = "libkdeedu-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bomber-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dw2kr8sgmcrw2p3vy1cqdq2jk93i7rmr-bomber-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/bomber-14.12.2.tar.xz";
+      sha256 = "12ff8rikxb1x7j4b5jg41ph5pgp60vn133npzalq5vsldmrgj3h9";
+      name = "bomber-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kopete-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/iifrjlqyrylq47kvmb7idgig4y05yp69-kopete-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kopete-14.12.2.tar.xz";
+      sha256 = "025pwhvcidszg4mv8hw8hya9xvgw08yvkzigxsk4pjn5vm49y16i";
+      name = "kopete-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-icons-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/c1s7763fzbnnslcn95spcv0swp6gx3xb-oxygen-icons-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/oxygen-icons-14.12.2.tar.xz";
+      sha256 = "0dc0zkl7ivigcf5vf72gqnijm8p64bq4ibqkr02k8yv7yqq123wz";
+      name = "oxygen-icons-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmplot-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ff917gin734l0i1w84xdq2s6hjkjjmwp-kmplot-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmplot-14.12.2.tar.xz";
+      sha256 = "1j7fnqi02pqwc0pgv0qgykm2hih5ncg7pbkwyskj5sds8xs86f55";
+      name = "kmplot-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmahjongg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jv7gpjyhacvmdvbdy5j34nrm06zk2aig-kmahjongg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmahjongg-14.12.2.tar.xz";
+      sha256 = "0dc9majrsg2fgl8s8wqyhyjl3d40qf4m7wxx9m7076sa2h8hj4g9";
+      name = "kmahjongg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolf-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/x3c14mkaxp4swyxaa7js7yq1rgrx7gvf-kolf-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kolf-14.12.2.tar.xz";
+      sha256 = "1yiq1sw6a74s8pq7cs4rl8rvawcb3rrw2kbwdgcaqvq0krgnlc8h";
+      name = "kolf-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bovo-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/habi2k9mvpz6l5lj2i2yfig6ghxrkf5g-bovo-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/bovo-14.12.2.tar.xz";
+      sha256 = "0z20lywx4x4pqdbqqhz0m84vzml6kxn53sl17z0lgnf74zh0vqam";
+      name = "bovo-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "audiocd-kio-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qjs07i14179wq2gj40gcj99q0i7fgsmr-audiocd-kio-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/audiocd-kio-14.12.2.tar.xz";
+      sha256 = "1lix6yzradscrr79b4fj5lqs1f6wlrzyr0qwk5mvb9g326p8c4sr";
+      name = "audiocd-kio-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccessible-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/byi9jaq7vijdfqzbqyyl8plk0mgb6cf2-kaccessible-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kaccessible-14.12.2.tar.xz";
+      sha256 = "1xq40cl7pqm65k9h3yvhn7zjb80z3lpqyp823wm6nz6qld4hr4bg";
+      name = "kaccessible-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konquest-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/47visnxvfz3h8wa0485wiq5659y5li8k-konquest-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/konquest-14.12.2.tar.xz";
+      sha256 = "1h9ql9alyprh8ykfzfgj3nkch40hdp1vyfkshm5kaab15b657bgy";
+      name = "konquest-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdegames-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ccx7yrjpgljpv0f61jlczmx738y7skpd-libkdegames-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkdegames-14.12.2.tar.xz";
+      sha256 = "1pxq9gzw5m5i8d1v1d34mvmfr138hwfvq5z9pg2h9zw5y3hs9g7s";
+      name = "libkdegames-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dragon-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/swpywmriiwy1npn7k3gcazisra9gfzqb-dragon-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/dragon-14.12.2.tar.xz";
+      sha256 = "0gd9zr9fj4r2789bi6f836y7m6df08p05vizdy04cf9s2hjkr9wy";
+      name = "dragon-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "juk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nsrq6d9bini4804hkkzsny91rfxcgp01-juk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/juk-14.12.2.tar.xz";
+      sha256 = "08brdx7hfm48hmhc0rg0r3c4brb3mkb0r23j2ps0y210pwarkwh0";
+      name = "juk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cervisia-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vjbvvbnqg3fjghc19159ikqm6yii6z30-cervisia-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/cervisia-14.12.2.tar.xz";
+      sha256 = "120a8brfllk6jybn4zpyj0w5bpv2dvibcqbh37qh9ld2h6v9rrr2";
+      name = "cervisia-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-kioslaves-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1nli1nsr1a3j7wprpjhwmmy418l6ibx4-kdesdk-kioslaves-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdesdk-kioslaves-14.12.2.tar.xz";
+      sha256 = "14vk4aqdwny4iidsvznfzss51k1376lp4v65bmqbpwf2kg6mis2s";
+      name = "kdesdk-kioslaves-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/cr9ncrb5lfgi7nyrdqlrh2c3xlj2a5rp-kdelibs-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdelibs-4.14.5.tar.xz";
+      sha256 = "1jizh61vz83za06mb23hhakx99jf2c59c02fz5kld9mnxzzl5fgm";
+      name = "kdelibs-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmousetool-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9vi7j77n4x5qpl4jphl3cc52cc34wymq-kmousetool-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmousetool-14.12.2.tar.xz";
+      sha256 = "06ifiay1mxcfb0bzzcf14xkvd4iwy9va37x3jm0xxhy9641cxq7i";
+      name = "kmousetool-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalgebra-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/4v4hcxa9v1hykiypb159p0618nf0dij9-kalgebra-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kalgebra-14.12.2.tar.xz";
+      sha256 = "10iz0vjn8mscgkb0vra8ac0rbdyw45xzz5rydlkczr9w3hxnccyy";
+      name = "kalgebra-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "granatier-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ilynhcqbrfbhafhvmbag1j7nrkiicszs-granatier-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/granatier-14.12.2.tar.xz";
+      sha256 = "16v0pyjby6yyrqm64p4a0lkxf0bb50smkz680b1yp3mcc5nm22mw";
+      name = "granatier-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klines-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/64fb2pidpaccqzk5wddvvxma515fk6nl-klines-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/klines-14.12.2.tar.xz";
+      sha256 = "10km97mbz9z816ki12jki46mb0h2829l24spiai9pk8mbvkyqx3w";
+      name = "klines-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmines-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1g8n4bq8p2dn5mvncb6a046kjmndgfpy-kmines-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmines-14.12.2.tar.xz";
+      sha256 = "04axmsgq3wcim5fs9jgwgbb9z7p0a96qxhm50s5dwk4lv6fhzzv9";
+      name = "kmines-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "superkaramba-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/l32ji88v0j54mhvsqdg7ysqqalnwjx4p-superkaramba-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/superkaramba-14.12.2.tar.xz";
+      sha256 = "0y3ld6hpbjjqkpmrpbxmznv5vjdiyh3rw6dqbygap33qvw6b3d0d";
+      name = "superkaramba-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdiamond-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/67i12gxqd5p15vdl8b5a87xl28fn9aqv-kdiamond-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdiamond-14.12.2.tar.xz";
+      sha256 = "0g3al1p68q4ypdjrnq6sf738w84x3a2l71fpg7qb5kgpaixpspjj";
+      name = "kdiamond-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kigo-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/inss9axxxz7szp7icfwsrms9jyc4c855-kigo-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kigo-14.12.2.tar.xz";
+      sha256 = "09b5hdfh46mi5qpgq0j02qw2wfrsach6lw9ydg0ybplyfvmp27l5";
+      name = "kigo-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-filesharing-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5dh19ycmzai2k5xwgiwmpi05nn60k089-kdenetwork-filesharing-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdenetwork-filesharing-14.12.2.tar.xz";
+      sha256 = "08parv67kilxh2nzgbmj3q9g6pzncjjr23rl6ylh3vv8p2vr2v5h";
+      name = "kdenetwork-filesharing-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kajongg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/px8xd5vjs7y6g7h4vyyiksn818waffy0-kajongg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kajongg-14.12.2.tar.xz";
+      sha256 = "1863hczxmzrwvkv2y7kj2anf56fpwih70plsa25mkmli6l5x120q";
+      name = "kajongg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepimlibs-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/670zy2wyah5qw0rp7kmzdv9q3hl2cl25-kdepimlibs-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdepimlibs-4.14.5.tar.xz";
+      sha256 = "12p03dljr6sldl4pxww4gb18mrvdi61r85ippmljknr4sq26kd8m";
+      name = "kdepimlibs-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksystemlog-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nqwz22sa222dkr9a6mmgyc2k9xahbv8h-ksystemlog-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksystemlog-14.12.2.tar.xz";
+      sha256 = "1j22944ham5x3y8qf7gka81nnq66f81lwrc65zmzvbf7vyj813kq";
+      name = "ksystemlog-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kturtle-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/aw9ahw1ywy5m8k8j0a2l5qfg0n2n2yn6-kturtle-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kturtle-14.12.2.tar.xz";
+      sha256 = "087wfff2qpl2shxjwj30lna480skx8j1z4rlvkbyywc645gd0afb";
+      name = "kturtle-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kppp-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6w3pnklzw2kd761dfg3ya4k0xawnyp27-kppp-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kppp-14.12.2.tar.xz";
+      sha256 = "1hdywnsvpybfc5hcja2msfdim9g37pgggkjp4kkahc9gv62z1m0i";
+      name = "kppp-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-base-artwork-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bbi9jdxjb1hm2cd6flh08h7ql90m9ppw-kde-base-artwork-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-base-artwork-14.12.2.tar.xz";
+      sha256 = "16jg0pm6wqqsl5g8hf55iacgxjh5x92shmf9263xpc1fiq29770c";
+      name = "kde-base-artwork-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "artikulate-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/iq6qjaw0n37gq49r4lmkjzyasvghcss5-artikulate-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/artikulate-14.12.2.tar.xz";
+      sha256 = "09jvjal3r6bl77aby1wzbpyr4rxqmghc759yrg1rbqca1filzd5w";
+      name = "artikulate-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdcraw-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dawjc253wxbw6624zjr0v2yrq9i47v75-libkdcraw-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkdcraw-14.12.2.tar.xz";
+      sha256 = "0xj3dhyz7mf65dqiw2zz6mp3xmfaczmr7axhy0h6z1ynbyl1vkcm";
+      name = "libkdcraw-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeartwork-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zb2sqh3qjd53nmqhs9m24kag1f3dxiah-kdeartwork-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdeartwork-14.12.2.tar.xz";
+      sha256 = "1svw3ah03g751iy37i06kw4d6jzgc8yy9cjayf3xp80m37fpjlws";
+      name = "kdeartwork-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klickety-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dmi1azffqm3c8gjk1d300a0a2jps2j4v-klickety-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/klickety-14.12.2.tar.xz";
+      sha256 = "0rlp4bgzg7i892a89zrgaj0m1zwbb2g8ap9np3dpqljaf2la9rg3";
+      name = "klickety-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kspaceduel-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/f5ycj631mpfnyb8mngzxmvgngyk6lsw8-kspaceduel-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kspaceduel-14.12.2.tar.xz";
+      sha256 = "175n2jbx9m3yhsp10bj1fk9d2vfv2dlqd1qw7l3kmca5nr7ripzb";
+      name = "kspaceduel-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kate-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/49b5c3cm0ysi2w89a161ysmirpmckcls-kate-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kate-14.12.2.tar.xz";
+      sha256 = "0n6b5jcyb428gx9xflsqjs1jhk51n12yxyfzl6cvg29vai453fff";
+      name = "kate-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgpg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ddc07v0j09547gnspl7c7fgcrbvv0fk0-kgpg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgpg-14.12.2.tar.xz";
+      sha256 = "1ihxkcx162jp4b2qgpwa65iq90n1bz21l6fli1z530247h7vzlbw";
+      name = "kgpg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khangman-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jvxwahcgixjygdvvyiprgwhi1c70cb5k-khangman-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/khangman-14.12.2.tar.xz";
+      sha256 = "0piyyqvfawgk3mbm51saigaswcpbk86my5v8mvha220sgzamnj9l";
+      name = "khangman-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgoldrunner-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/whd0iampjk6i5fm234gcsly38sxh5nb6-kgoldrunner-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgoldrunner-14.12.2.tar.xz";
+      sha256 = "1ijykdnfslp2vp3y0ji0bbf9zj83rbcywvg0kgiza963vzhf7rcw";
+      name = "kgoldrunner-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-thumbnailers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bvj41rw9x0014q6k67d2f6w8xqwpf9zi-kdesdk-thumbnailers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdesdk-thumbnailers-14.12.2.tar.xz";
+      sha256 = "1jyn507y7h2j8cb6nblc2lcf16ld9rn9cvi4xhj4sq9ccz0w7vz1";
+      name = "kdesdk-thumbnailers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "amor-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kpv805bhwfkn95rnp8hzl42c26h8678l-amor-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/amor-14.12.2.tar.xz";
+      sha256 = "0wqh3csi0isfj3zpmsay5p38sbajfbrhkv6lms5nqr4k81kcpq55";
+      name = "amor-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktux-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jfkymr2flr7p986z1larn1i2qndrij8i-ktux-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktux-14.12.2.tar.xz";
+      sha256 = "1pml908z08y0ik4d0rncavrg26lqvchza113kxmyxc7ak95bwypd";
+      name = "ktux-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "rocs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vn70b248ilfjrxv9sz30c4m1czb5n6fl-rocs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/rocs-14.12.2.tar.xz";
+      sha256 = "1nb0xq051081wps0i3g6p6vawj89vaa27di1hi2nhm1y0hx95m1j";
+      name = "rocs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcachegrind-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fxn7qcaa57vxyc2qfnxycfv8hpvqn190-kcachegrind-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcachegrind-14.12.2.tar.xz";
+      sha256 = "17v1ap9jfzlk30xhx9m5456bqky4m0iywvq34r8zpwkbg4a49la9";
+      name = "kcachegrind-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktouch-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bishs7m7snrvyrvcxhly4p4d148rmfxy-ktouch-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktouch-14.12.2.tar.xz";
+      sha256 = "1c7mi9cs17z72hg9v44yki85lqsnl96vgrckz5qcvca2b4w3bjd3";
+      name = "ktouch-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "svgpart-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3l7a1yydrkd824xfjsxla8swzcv7r8rx-svgpart-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/svgpart-14.12.2.tar.xz";
+      sha256 = "1zkc6p8ycpm4pa2p9yq4ajkcnqi8m3mmv8ghdgi2q3a58fvf2zz5";
+      name = "svgpart-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmouth-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xwq02smnzwz54i165vpgm8aaamcy02xp-kmouth-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kmouth-14.12.2.tar.xz";
+      sha256 = "0qmh1kpl1asy5av976461i9fp81qan00jbqvfhi5dnli9zfrfmb9";
+      name = "kmouth-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-strigi-analyzer-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vv15hxdzvvgj3xhw5pig0kbzm3206j72-kdegraphics-strigi-analyzer-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdegraphics-strigi-analyzer-14.12.2.tar.xz";
+      sha256 = "1acfdcg0h9kb6171lqqrnihvgynrp0har6frq0igpkz475crmkid";
+      name = "kdegraphics-strigi-analyzer-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kruler-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g13aw9ppjbwj5rcyy46ccp9yw81bxa2d-kruler-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kruler-14.12.2.tar.xz";
+      sha256 = "08rwsmjbbaapgn98avagn8i3qmvw5fzq84snxy4a74dzf14aph5z";
+      name = "kruler-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kollision-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/lzky584al80dy5xrwvax7xs974p5s5xq-kollision-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kollision-14.12.2.tar.xz";
+      sha256 = "0v6hq3biiybrdd4lblzcadh5kpy21kjlkb5iqga95h7xxm6vd4dq";
+      name = "kollision-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcompactdisc-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g6zkyj2i5s910qb9snnabr4ivklvgajn-libkcompactdisc-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkcompactdisc-14.12.2.tar.xz";
+      sha256 = "0xi1yrls8nsq9flll9250yfqx076p0xdxrywpiivx3yv64znjz7h";
+      name = "libkcompactdisc-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcharselect-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/fcm4sghdd7dl98zagm7xfg7lfcbhpi6p-kcharselect-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcharselect-14.12.2.tar.xz";
+      sha256 = "0fsmh3wsiz49wgc2l1p8caclhx03mmf4q7v7l72yf59c3pczh74c";
+      name = "kcharselect-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "umbrello-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/r7gzmhlg6wlbhhxyx11n88pnd3qs1nbg-umbrello-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/umbrello-14.12.2.tar.xz";
+      sha256 = "1p9sdwalzi5j59xplzzd96m8dsvzc1r1isbljgj55h8pc3sn1am2";
+      name = "umbrello-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapman-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1dqlriz6zxb6ss4gq2ccswn6swzxk1fp-kapman-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kapman-14.12.2.tar.xz";
+      sha256 = "00qdq5fabm6pljclchiqi0wa3cxdfxbiqs5vw86190ki23qgqfkw";
+      name = "kapman-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "marble-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hwhbjrqg3qycpsq6kxd17fmmic1iv1ls-marble-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/marble-14.12.2.tar.xz";
+      sha256 = "04khv00h3w0i6igp8b4zh0xyyl7a3aqhbszj2qlpydghr1ghz2js";
+      name = "marble-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knavalbattle-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/b17whbxz6q409ghxcxaia83v95adkdrg-knavalbattle-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/knavalbattle-14.12.2.tar.xz";
+      sha256 = "07a9z0s12v2f5irs3d93pqjsrwv4zs7sckgvsbgaklbxwar1p26n";
+      name = "knavalbattle-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klettres-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/krcpms45cvn7dnv22rp9bdri7v76bcvd-klettres-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/klettres-14.12.2.tar.xz";
+      sha256 = "0ca23y3d2s2m4mzqvw3jknsns0da3gzhqa7g4hicl35v4cbi8w7z";
+      name = "klettres-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkipi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/b247bpgxvgl1msrrfah432n99hi6h4h2-libkipi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkipi-14.12.2.tar.xz";
+      sha256 = "0dp3n4awc4glwlnygq8k6119hxl2lq0l66a8a2m84bhgf1xqn05j";
+      name = "libkipi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "step-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/djjlbx20jk6pv82jrk626k183hkn65qx-step-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/step-14.12.2.tar.xz";
+      sha256 = "1r11csc1hlkrydrznprdvq5sxnmhlpb1v08ns96bs27nxbz29zw4";
+      name = "step-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kompare-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/n3w571knhskpnv263dv67vncy1h4613i-kompare-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kompare-14.12.2.tar.xz";
+      sha256 = "0ma1kwn7psrffs2fn80did8gmv3cr527lb40n1jrvksq15fcfl5k";
+      name = "kompare-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krdc-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/r4q34i2lsi4dcpqvpqzc8c628l99nrh1-krdc-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/krdc-14.12.2.tar.xz";
+      sha256 = "069gp9ahq78pl2ax77c4k0sfvb3g70gl9ph8ariarhh3f5lvzh25";
+      name = "krdc-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbounce-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/0wq7q4n2xxkw0vn49ajjv07b9yc316b8-kbounce-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kbounce-14.12.2.tar.xz";
+      sha256 = "1iw6gwy01ri7kqc5qkk296rzbz3j1swhshxkv05vqpv69vwnfxpp";
+      name = "kbounce-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolourpaint-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kbkrcfralyq2hal04r5qbsc9cw40yf2d-kolourpaint-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kolourpaint-14.12.2.tar.xz";
+      sha256 = "1r0xs4pisaqg53nc6zgn7bh95346wsb9756d9lq6zgp8jf2lcs4h";
+      name = "kolourpaint-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiten-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nb1lzzscqr6g5m770aw8zjqxmng6c23s-kiten-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kiten-14.12.2.tar.xz";
+      sha256 = "1y1anhvdmcflkmhya24my80c2hfpnhw8w1b2mqqr4xyjbl0plaqs";
+      name = "kiten-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkomparediff2-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/la8lyk56j0crfjfj1h9yjxgws3f9shbl-libkomparediff2-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkomparediff2-14.12.2.tar.xz";
+      sha256 = "122078hvi34zg183r8i2ni37xi00bzv7nr5251lhgh0fd45d565i";
+      name = "libkomparediff2-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscd-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/h9n5pglbgwqxiwdpxf0zrkyfcnqvjgyh-kscd-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kscd-14.12.2.tar.xz";
+      sha256 = "055fdr9l79xjcrl33sxmk82dsbchjjwgmd75dw0sbhwfxs99dvif";
+      name = "kscd-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-scripts-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ah46p15xxk89lrydhxzvyl83q3jjs5mr-kde-dev-scripts-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-dev-scripts-14.12.2.tar.xz";
+      sha256 = "1fclm5wvz58565fx366sia4cjqrb2cr843skw4jpzhh4wb1v9v8i";
+      name = "kde-dev-scripts-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ark-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/v5cdrabvrfx1dvjibhzj6a1m200p53ks-ark-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ark-14.12.2.tar.xz";
+      sha256 = "1aj7dshigv25qki93drpfwgzdycvvh3kl52a0im7g2k6aj1yjg6b";
+      name = "ark-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kamera-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jgnxszypng4x7wlhz0rg8390bkh87lgf-kamera-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kamera-14.12.2.tar.xz";
+      sha256 = "16zjdx7b1nqh0nfbz0qplvqhl2jnl6l0jc3lfxifiqxsbzr9wlrr";
+      name = "kamera-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapptemplate-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/mfrl2pk66facvk13mm0609ign7ilympz-kapptemplate-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kapptemplate-14.12.2.tar.xz";
+      sha256 = "18dpbvdhi8qpfxhrcjkk71cr4b7gf6achg24gn6i4rcq8bbbv07m";
+      name = "kapptemplate-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkexiv2-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/nqh3y6b9y2zgrkb07yrs07sqcxqmwwsv-libkexiv2-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkexiv2-14.12.2.tar.xz";
+      sha256 = "0fjrvk2dcd4xzbs5v6nrabchkqbvf4qhljlc10797a378sdc8znp";
+      name = "libkexiv2-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-mobipocket-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cf4mzk51419c0v7ld561gb8jk496qgaw-kdegraphics-mobipocket-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdegraphics-mobipocket-14.12.2.tar.xz";
+      sha256 = "1n2n2pd8ca5lnyv2r98jr4k9sm7lsvc5plw11xy28q829aayg8jj";
+      name = "kdegraphics-mobipocket-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksquares-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yl49rnhq8zxyprh004g1qnqiw148x8kj-ksquares-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksquares-14.12.2.tar.xz";
+      sha256 = "11hznb7jdamq8hnbxggdj33jrhdnxzrhapc1rsj1ms546z01flnb";
+      name = "ksquares-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kget-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ahgf7lvgcy0fzg9wzwc0agi77bj652lx-kget-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kget-14.12.2.tar.xz";
+      sha256 = "1jadb5x8bn80gwviw73cq715sw9hzx8lpj33d19vv18l2sqyb449";
+      name = "kget-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-baseapps-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cv1vcvvi2nfic2p51vv6jf1nc2dwv7jm-kde-baseapps-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-baseapps-14.12.2.tar.xz";
+      sha256 = "05j034g5h9cd2xw64h5zyjl8biq66p3b0z4z0z0i4min4hp52f7w";
+      name = "kde-baseapps-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcolorchooser-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2rxc1y0r19zx61g6n9kgfp1rzgbs44xw-kcolorchooser-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcolorchooser-14.12.2.tar.xz";
+      sha256 = "063ahsbzd1mfrkc45gjsnhj11v68x7d1a718lxsabkjjx59qpbck";
+      name = "kcolorchooser-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okular-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dg4a3cj0wssfw3z10bwqxqrkjk3dmqaj-okular-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/okular-14.12.2.tar.xz";
+      sha256 = "1ahw7a8i1hxa8hw0407f9x1s02zn659nprx9bfi1mvxhcn5zbwq8";
+      name = "okular-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "killbots-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/x89vahdh994ax46rl3mx3dxyigph3zq4-killbots-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/killbots-14.12.2.tar.xz";
+      sha256 = "1zvjwimbjld408hplb439f4k8rm6aanlvycpmf4fdiwrcg4zjq6c";
+      name = "killbots-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krfb-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3d0583a63pwkq8sszvl172d69j648gnq-krfb-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/krfb-14.12.2.tar.xz";
+      sha256 = "112bv9yyhg7zyhkqavjqgvkzbjm54hw4nfqrj3jmcwbjbnlzkkxm";
+      name = "krfb-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfloppy-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6sm1200z80xxra4ibjmpgi5b626is1kc-kfloppy-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kfloppy-14.12.2.tar.xz";
+      sha256 = "0a738m6r54g4ibinxwh70d7sp736r8lr63ca8hx90a1yl5samr1b";
+      name = "kfloppy-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblackbox-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/i36hvnhadldbxl9yl9sgwzgbmip6nazh-kblackbox-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kblackbox-14.12.2.tar.xz";
+      sha256 = "1j9d33k8732dbwdnv85kr51jmjvnlcljya5q2zp6m97cy7xrf3n5";
+      name = "kblackbox-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalzium-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hnk7d2fjhvzd1j1c0pjc4kqh3a4zv7bv-kalzium-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kalzium-14.12.2.tar.xz";
+      sha256 = "16ngwp9lf15l06yzazymrdbszkq9sx14wh4k8w1sydryl15xl77n";
+      name = "kalzium-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkface-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/a6cidm1dwqxq34q0wffn8b553xwg3sxv-libkface-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkface-14.12.2.tar.xz";
+      sha256 = "1mp19n7jhs9x74b8rlnrdc7ig1dx0v5pjvl6b4fmzfglk9akhh7v";
+      name = "libkface-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kremotecontrol-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zi3aqkz4w4s4ldzscvwby1r6xkldxpdb-kremotecontrol-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kremotecontrol-14.12.2.tar.xz";
+      sha256 = "1sbzycb2b4s7v1lr6d7g4xqadwcxh5jlsl01jl3dpni83phxzk3q";
+      name = "kremotecontrol-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblocks-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/bpi59fwiqf4rn8xgkzkhyzr6ajv1d2la-kblocks-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kblocks-14.12.2.tar.xz";
+      sha256 = "0wcb6sgbr7gm9hh3gb31zmw6rqmflzis44ry1zb7yql0kf95y5ka";
+      name = "kblocks-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ffmpegthumbs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g4xg6d0syp06k3znj4xyiyv9ykiq64pf-ffmpegthumbs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ffmpegthumbs-14.12.2.tar.xz";
+      sha256 = "1261dkxyj07gjs6rk7wh8vkxk9554b675d68w4yfzf4agb8kdb8b";
+      name = "ffmpegthumbs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-runtime-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/0s00l7a87bg4qzbd43z7yp6pqff1icn4-kdepim-runtime-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdepim-runtime-4.14.5.tar.xz";
+      sha256 = "00pmiifhf6km9v2hn3xiapr4vwrrijnvyjirprs99p8h39kifblc";
+      name = "kdepim-runtime-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "print-manager-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/1cdzh2b6wq0nmkvjx6spl70pj3538sl9-print-manager-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/print-manager-14.12.2.tar.xz";
+      sha256 = "02vz69aj56hx9jdckacjd7yzr1cmwmlqd7b3n92zmn9bx152sx86";
+      name = "print-manager-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdf-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vk3f3512rv381dpcwihmxgx4av3d92af-kdf-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdf-14.12.2.tar.xz";
+      sha256 = "14dgcrmny2gvi3m4y95di6w3gv1bld6pbj5i5qaphhxk5gl489a0";
+      name = "kdf-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-wallpapers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rslsx2zc6zf7hls6l1m598a04r6l2h7k-kde-wallpapers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-wallpapers-14.12.2.tar.xz";
+      sha256 = "1q9p1ay2n4anr822wx7lc45hwwyyl1328ick704x6kd1rz1qwjiq";
+      name = "kde-wallpapers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-thumbnailers-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2zkg1fh4kr78r8qg5nrn72k431vxd96z-kdegraphics-thumbnailers-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdegraphics-thumbnailers-14.12.2.tar.xz";
+      sha256 = "0kvqbdmjnrn5fx9ci9f4fnwk8b20d9cvxdb966cwrzz6x6rik7ww";
+      name = "kdegraphics-thumbnailers-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sweeper-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/pb6xr7b484aszpwr3pvd2pywliij31y0-sweeper-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/sweeper-14.12.2.tar.xz";
+      sha256 = "1k0brig6m5y5pv05lmpmc0m6wiz981jyx1brhy3ixv40bivm4cf6";
+      name = "sweeper-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "picmi-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6im1sz3rqm53siyfapz4p518vaa05nvz-picmi-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/picmi-14.12.2.tar.xz";
+      sha256 = "1xnxsvpigsf4mjnxxp5w5nvp817az7c7p11z960z5f18adxg7frr";
+      name = "picmi-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnakeduel-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qprvh7y50d15356kdspb4cxqvm9xc30i-ksnakeduel-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksnakeduel-14.12.2.tar.xz";
+      sha256 = "1gw9sv67jnwcxsm4qw21hjbv3fbnxw6ibr4l8zrcccahlz3lc8x1";
+      name = "ksnakeduel-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnapshot-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/yak0kczv35nhxbgr15mqr6zy9ncvg5jh-ksnapshot-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksnapshot-14.12.2.tar.xz";
+      sha256 = "15ka0h8bc7n5023ghwgxvq36bjaipimcs09nrg3z4nvdzds6xsfr";
+      name = "ksnapshot-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgamma-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/xz6x2nvcwz2k7df7p8s8wx42309a2rhd-kgamma-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgamma-14.12.2.tar.xz";
+      sha256 = "1lzvgdqh3i8klnj243rfak6sksnh3z10diki65zzl8wsjyagizq9";
+      name = "kgamma-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okteta-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ydd7za8ax4jb54rap067rzkwfv2ars7y-okteta-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/okteta-14.12.2.tar.xz";
+      sha256 = "1xdyg54zzylj8s6zr4z5npi9pvqx3bjma68j3p7ymqvaa71a1c0n";
+      name = "okteta-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgeography-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/99n02c3v71ycxvywrqn14zrsjgli2nkz-kgeography-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kgeography-14.12.2.tar.xz";
+      sha256 = "10bzwbxg4k487700mnkmk642b5jzvpadcmd8y3h3af91syd0v7zp";
+      name = "kgeography-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knetwalk-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6z45z434l9dw981lqixg0jw7mb2s1j47-knetwalk-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/knetwalk-14.12.2.tar.xz";
+      sha256 = "102bd37i3z57xkq6rs7l2s4qlwayaky4qb07bh3c589g2s9nxl28";
+      name = "knetwalk-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkeduvocdocument-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ypdsbibg2isd991n9bmdkgi5wi59ibnk-libkeduvocdocument-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkeduvocdocument-14.12.2.tar.xz";
+      sha256 = "1rf2signnpx7ik3p7vrvlkbv0g3m280pc1qz1fxzw2kjn9ais2r7";
+      name = "libkeduvocdocument-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeedu-data-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/i5wnc7wqbmnac1awgd45iz9d91b7misv-kdeedu-data-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdeedu-data-14.12.2.tar.xz";
+      sha256 = "09ch89pghjipxsr9j50a58xww6cxhrkh9z7ns6bh5kg9b6hc47rq";
+      name = "kdeedu-data-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "parley-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/lix9qbdd1ganlhwap696qdcyhq3awjgz-parley-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/parley-14.12.2.tar.xz";
+      sha256 = "0kq0nm732x723f1yml0cq3w1p7ah5m3q0lj0pvrvg5z393a1ki14";
+      name = "parley-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-4.14.5.tar.xz" ".tar";
+    store = "/nix/store/b3kdfd6nv23lziv5nf21g00wl7di3vz9-kdepim-4.14.5.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdepim-4.14.5.tar.xz";
+      sha256 = "07bg60b96wg107sn49h4phks55z6h69kdsznpfr09dsxf53vl2sc";
+      name = "kdepim-4.14.5.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "blinken-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/aip7i17kab1fcv43qx999cxwr8b05gdp-blinken-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/blinken-14.12.2.tar.xz";
+      sha256 = "1dkdgfmpccbpb4i4h34dg407q6h18mq7x4k2d66bly0pkwhkwkbw";
+      name = "blinken-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dolphin-plugins-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/hc68363pfz7k528lcv6p8gfj4r3bi061-dolphin-plugins-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/dolphin-plugins-14.12.2.tar.xz";
+      sha256 = "0lc6l84p3ixk2wzj4hbxwgvsmin3kw8xw40b3jrq2w1y21zbvf3h";
+      name = "dolphin-plugins-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwalletmanager-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/6ycc8cckv9ybw5fj6qwn53ccn5dghcz0-kwalletmanager-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kwalletmanager-14.12.2.tar.xz";
+      sha256 = "0bynykq9j6xh0a712934vyvq3yr94676xhdvf1iazky1cwwmiryi";
+      name = "kwalletmanager-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfourinline-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/vd8smizcfqw4zsks5sbf03chbxk9dqiq-kfourinline-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kfourinline-14.12.2.tar.xz";
+      sha256 = "14s4lb9kygaa16sq4xfmmabv31kg3rw7dw7k2f4vwqqh3s1168yc";
+      name = "kfourinline-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksudoku-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/rvr5bpfppyd168gfqimfavs9g4ys2412-ksudoku-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksudoku-14.12.2.tar.xz";
+      sha256 = "10c148lksrh49mfvlx7q5i7xxjanhngm2s9d7ifx5xyqlpik2zcv";
+      name = "ksudoku-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcddb-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/j2pwfcwc6n5r8klnbxf0gpal2pinan7g-libkcddb-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkcddb-14.12.2.tar.xz";
+      sha256 = "088hhnnm09xfqkc0j2l252qgl7nlqmsdbchbr5cninf8n9ivz99d";
+      name = "libkcddb-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkmahjongg-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gz25xkmky3kpl4hw2x9ahzr5xp3113f9-libkmahjongg-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libkmahjongg-14.12.2.tar.xz";
+      sha256 = "0min3bpd2h0lch4412ybryk1bn3rs2s4936kcjn6mn0412xyjvdf";
+      name = "libkmahjongg-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcalc-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/g7hglkwmv8kdw0cjly5pysb3i4piapkx-kcalc-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcalc-14.12.2.tar.xz";
+      sha256 = "0vm861cd9y8ax7mfnv2aszip2z0grmjvhzp10x5f7gq1fhm1db64";
+      name = "kcalc-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksaneplugin-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/m69i89q12sb8mpc1bhs0a2miyrkfnq7y-ksaneplugin-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ksaneplugin-14.12.2.tar.xz";
+      sha256 = "1scgp9p2jb5vwwdvbgmsbr3mmijiq40m5x7nd9qx7scwn2wqjvq9";
+      name = "ksaneplugin-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "palapeli-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/cynl1ai536dqs4cnlji5db1jybpzh7s6-palapeli-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/palapeli-14.12.2.tar.xz";
+      sha256 = "1fg2ikq19g92bqfp3j27mawl284xqiwd1nr8dg94khbb111210r7";
+      name = "palapeli-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksane-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/4qwqpcwraxr0a8wy81plb3l3ij3jh3s5-libksane-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/libksane-14.12.2.tar.xz";
+      sha256 = "07nw3mjc645angwyllzff0hb7i7lp6wl3fw88zqd380w5j13a46h";
+      name = "libksane-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-workspace-4.11.16.tar.xz" ".tar";
+    store = "/nix/store/afz1vd72namq3xca96zx1c9l6n8jzk4p-kde-workspace-4.11.16.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-workspace-4.11.16.tar.xz";
+      sha256 = "11mzr55vr7x2yym4gdaj9bcvp2qpbs3vlbfmhs74r5n08vmsdq3s";
+      name = "kde-workspace-4.11.16.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kqtquickcharts-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/wbjy41ymgplkg26cm94k6vny2vjl6160-kqtquickcharts-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kqtquickcharts-14.12.2.tar.xz";
+      sha256 = "0v5ng9spcbv22lhpx4hzfg3n56wfrjdxg6nls6sw52zbq12lagqn";
+      name = "kqtquickcharts-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lokalize-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/zl8sxjy6mp1z6r3dajvf5ly5zsiasxjd-lokalize-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/lokalize-14.12.2.tar.xz";
+      sha256 = "04jmsysvx6ysyl3126bq7xg76y7ppzjfd55j7q7i18nrkcgw4y4i";
+      name = "lokalize-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kig-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/0sf32n3kd0fyvp4sdyv5yk4abn8gy54w-kig-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kig-14.12.2.tar.xz";
+      sha256 = "0c137jnkzpzv43yf7crymghybgz70d6q6mlfww53if2119sznzd4";
+      name = "kig-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kanagram-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gscz4fvz0xh0szcs0jr95xiif4115vj2-kanagram-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kanagram-14.12.2.tar.xz";
+      sha256 = "1s2zn876b3css74r79acq6wys4qlq9xgb3z376xfl71rzadvisvf";
+      name = "kanagram-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "katomic-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/mljg8qpz9axmnzw9jarzz82a4qarvbwn-katomic-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/katomic-14.12.2.tar.xz";
+      sha256 = "0ns6apxaild1iiix03vjzvz45ba442agn4aqkbgik9x9wdr9yr7l";
+      name = "katomic-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "filelight-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/3mm64rsb14p9cyhw31jzvqbs6nppva9x-filelight-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/filelight-14.12.2.tar.xz";
+      sha256 = "047bki2gnwvflb57vij1576d12ml4ga9b1q44dz9rq97wwfbwqnj";
+      name = "filelight-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcron-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/9whfiwhxk7v4cfj1s863w6i789kgcbpf-kcron-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kcron-14.12.2.tar.xz";
+      sha256 = "02s782x69xrymv3wbjcfm52v246gn3illdga7g1rmhs7kmi6q7rg";
+      name = "kcron-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kuser-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/dj7svyjh962g9c3j2bgprhmmnyi45pbj-kuser-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kuser-14.12.2.tar.xz";
+      sha256 = "0p2qwv24qxzx637v5fjwzscvxa7j84j91s4c4gj5hq8939anx7q2";
+      name = "kuser-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kteatime-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/8zydgf0ncr96fgvyya9rg32ahavxm4c0-kteatime-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kteatime-14.12.2.tar.xz";
+      sha256 = "1vq21jw50w56i9bwx91hlw6a2m46q83mz2mg11cdc1nxk5gm1359";
+      name = "kteatime-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "analitza-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/im52lp4p99k9fn2ja5hch6m6glmlk7da-analitza-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/analitza-14.12.2.tar.xz";
+      sha256 = "0sjlsh8x4qzyg59zkvmrd312qvbhmf17349l0b989xm0m1nwmqfx";
+      name = "analitza-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-utils-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/5rmimmbz973alzhx2xm4r80lf556v14c-kde-dev-utils-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-dev-utils-14.12.2.tar.xz";
+      sha256 = "007w4761cv2wxqhkk7mz2pgk7zmvzkfbmy0biriy836vx99xjdky";
+      name = "kde-dev-utils-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-runtime-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/91wk4lximnfqs5ly2q340rqn87h84axl-kde-runtime-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kde-runtime-14.12.2.tar.xz";
+      sha256 = "0cs07gbx7v6ilrbp4bgl20h1yrbh07sbrrf167pyd4lfx5rz9cgk";
+      name = "kde-runtime-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "pairs-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/whl3f2bs6018bg3i10akdsjvky2wgvwd-pairs-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/pairs-14.12.2.tar.xz";
+      sha256 = "0gs76fgyszs9lrvszi57vldx6avfyiz8hdg5axb7nmyikiqnislm";
+      name = "pairs-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiriki-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/adksl0r448kybmvhs10crw43isw90i3y-kiriki-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kiriki-14.12.2.tar.xz";
+      sha256 = "0r7i6fh9apjhxc7khqb4lachqr95ypiagk7cr52kwpl8bd9zcz2p";
+      name = "kiriki-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwordquiz-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/qz2v6fj2akwll4s904z638pzwpyf18yx-kwordquiz-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kwordquiz-14.12.2.tar.xz";
+      sha256 = "03isbq1dbq5w0pd8jpb93hp6z4nwi28q5ccszvldisfna5abpkjf";
+      name = "kwordquiz-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjumpingcube-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/jhh4r8rqhcx1jbqycy1i0x5x4ivqgjhg-kjumpingcube-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kjumpingcube-14.12.2.tar.xz";
+      sha256 = "1a030z8bcxyj70in7g574p80hsm32b8s7mqnl3abmw4315dc43kf";
+      name = "kjumpingcube-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konsole-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ahyi8a1vsdyr3zdkiljrwmjz73dxknwi-konsole-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/konsole-14.12.2.tar.xz";
+      sha256 = "06rrhmmx8sdq084wb2a2pgvmi43fkjbmjsikr695c548qp76yzig";
+      name = "konsole-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebdev-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/gm8jph57vbjm15f2w0k2qijghdm9v9yw-kdewebdev-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kdewebdev-14.12.2.tar.xz";
+      sha256 = "0n4p7jflrrjq47wcy20avgjiz1c5qgwmw8nqxmaaxj8vnwk2vx37";
+      name = "kdewebdev-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kstars-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/s6n79j8914ms33xvjrx74s22axlh20b3-kstars-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kstars-14.12.2.tar.xz";
+      sha256 = "0fwfpjmr4i9kh1f3360ahhk01m8zrkipvdj0wn16a3mxvghr6vki";
+      name = "kstars-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kubrick-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/kqvqadr6n5n2200w3gr5h978y6376gbv-kubrick-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kubrick-14.12.2.tar.xz";
+      sha256 = "0r7w6787gc2kcvjgddr0lw0liihis4a5s8rim3ycjlmh60bfw2ac";
+      name = "kubrick-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kshisen-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/2m09vphyfk4wfl4pzxns8lgh00nin1pa-kshisen-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kshisen-14.12.2.tar.xz";
+      sha256 = "110fv7iqbv63sw0q8m1fj0x45ivmmhw2v32sx7my0hvch4rxif1f";
+      name = "kshisen-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "gwenview-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/aq90r77wq4qs67j8dvw89zppbrj5rhgz-gwenview-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/gwenview-14.12.2.tar.xz";
+      sha256 = "0ky9f8v3473f7ic2gaymc89f6yqnpi6vsbwlnqgjfwbq8ry47w4n";
+      name = "gwenview-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbruch-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/29vsbhggrymqqgvs490jxykrf6mhvmhg-kbruch-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/kbruch-14.12.2.tar.xz";
+      sha256 = "12gs4l5wazkym3krcfc0sjzx9kji6ca3blmprw7hfwk1yqgd36rk";
+      name = "kbruch-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktuberling-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/ccqbkxaxm7swcm1qf9rkvjs6fgfiafay-ktuberling-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/ktuberling-14.12.2.tar.xz";
+      sha256 = "0y5icsgkypcr2z9w8zbhn9z877dak2kjf0if5ag1lpmjlj0y397h";
+      name = "ktuberling-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "poxml-14.12.2.tar.xz" ".tar";
+    store = "/nix/store/8i8lf5v6bi77ijr3b8xwny3yrapqnxrg-poxml-14.12.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.2/src/poxml-14.12.2.tar.xz";
+      sha256 = "0d2iqgpxxfzvi9aim2xsz96gjpy1zcjr0f5fsha0hns6m6mdp1lh";
+      name = "poxml-14.12.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkexiv2-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wx9ll48ipram4w163143ixab3lcdn9iq-libkexiv2-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkexiv2-14.12.3.tar.xz";
+      sha256 = "1rj7ac318rxl995cz70vdivk065mpsxk3sw0zqj7y0a2cgg67qrl";
+      name = "libkexiv2-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbruch-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w2bqk35id2iwy0hx56a4fqlj9hmzwn6z-kbruch-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kbruch-14.12.3.tar.xz";
+      sha256 = "0vrs1mn701jydqjzlshwjq2366c65qwiz2gf37l31ha0nk8lxcxh";
+      name = "kbruch-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-scripts-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/14cmjnxm524ik9dmjb5p08c9hpr0xzlv-kde-dev-scripts-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-dev-scripts-14.12.3.tar.xz";
+      sha256 = "17xwh4gwbagzdyfxb0wbl6hplrza7mj82mf1dhz5b6p1jjlfji96";
+      name = "kde-dev-scripts-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeartwork-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/r9f281gb1312wvy0dg8g8g5gd4f29mlv-kdeartwork-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdeartwork-14.12.3.tar.xz";
+      sha256 = "14m5hb1rzki0h4fdpg5bm9s4bm6lfx2i939jncjvxik8l5rk8wkh";
+      name = "kdeartwork-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkipi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w8s7d4pm150c4m392plhax8y1aawr8c3-libkipi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkipi-14.12.3.tar.xz";
+      sha256 = "1k20q3f5vgvndny7zj90r6xxdvilh1qg9vksvqn1vydz9wn15by4";
+      name = "libkipi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okteta-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/388ffmw8i1b8bwdkwyr697fhq5cwghg7-okteta-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/okteta-14.12.3.tar.xz";
+      sha256 = "1wlimwi9j5x9y0j4zsx6d4c8xl8k7sr4wclbm6bi42fk34w27f56";
+      name = "okteta-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "analitza-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0ar4zk7r20w3xgnvv79n6kcx3p0fjvai-analitza-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/analitza-14.12.3.tar.xz";
+      sha256 = "1xlv47lgybw0wkmws6fkgjzskdmyzgrwgsfkixi2jj9yh8wj7jpi";
+      name = "analitza-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/kbi014f4cakyzj22fviawpqzqkfdc2f8-kdepim-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdepim-4.14.6.tar.xz";
+      sha256 = "1c1mcxj10cirxwkzb71y2sik0xk45j2a1yhkpl5lgs1k6xwivslv";
+      name = "kdepim-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kteatime-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w2m3n25m9xjnig9q4vqbwg00li866lsg-kteatime-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kteatime-14.12.3.tar.xz";
+      sha256 = "0k35gmpkmsc7fqp31l7jf5as0f25lk8kqpj300alryyr9m5i960d";
+      name = "kteatime-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "pairs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xgcvm6ic3xjzlbd8xblayybdjz5f8ah0-pairs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/pairs-14.12.3.tar.xz";
+      sha256 = "1460wvjl17vzak74x5wgnx44db1vv900whl45hm6fjjciqpanb77";
+      name = "pairs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kreversi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1q3i7f47j4mx8nrm0hl5hjjljn478a35-kreversi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kreversi-14.12.3.tar.xz";
+      sha256 = "1l0pmaqwcdlzi48dcyywzlrswfr3jkywcpv93zdgxx9fba5iyhpj";
+      name = "kreversi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcachegrind-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8wiir69l2blpqd1w4b7mcmylsm8j2q15-kcachegrind-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcachegrind-14.12.3.tar.xz";
+      sha256 = "1xgn2a3ahwnx00fish7n5djx2ci89shf8mjrrq8lkg3grka6cv6m";
+      name = "kcachegrind-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmouth-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hcy2r6snkvxxmnkr93y8yb5nhrzvk8a2-kmouth-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmouth-14.12.3.tar.xz";
+      sha256 = "1awkwq4h89qp04fid6d6df03b7fj7rdk0vjs683rpkz52qq8xwny";
+      name = "kmouth-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcron-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7sxzmrmp6y6xn4nq7zfqbjg2cf8y4zhb-kcron-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcron-14.12.3.tar.xz";
+      sha256 = "0w33d82253yasrhzswmpccc75mrjyrick2s6s3gibskcy3c9rx5a";
+      name = "kcron-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/q54chzx2w5p1ifvkh3dkmqwxz6q35m0m-kde-l10n-sk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sk-14.12.3.tar.xz";
+      sha256 = "0nfikvbf10gklcn33pmwamiix1rcgdxgxk84a360rkahafw3xb1l";
+      name = "kde-l10n-sk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-mr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yn6w6h0ypqv34595f10l0jd76v8r3mdh-kde-l10n-mr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-mr-14.12.3.tar.xz";
+      sha256 = "0wmkg9rwl60q354y4kz0qmbwbv892v12ybps2wj4mplwq333d03m";
+      name = "kde-l10n-mr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-et-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/6azx1w8qq6g0aqz3jgz971k12va1si42-kde-l10n-et-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-et-14.12.3.tar.xz";
+      sha256 = "1zpj0w3v1hwxpkfmba9k46w37qi41yndhm3ymdrgyl5xgfbajdrg";
+      name = "kde-l10n-et-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_TW-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nx1jxyya8da77jg1l5jrlb46xwdn9fbp-kde-l10n-zh_TW-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-zh_TW-14.12.3.tar.xz";
+      sha256 = "0qwykxa72c6pdzdd7kpwigrjv4l7d7kb1h06rwrcg9kk5q9hn31q";
+      name = "kde-l10n-zh_TW-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ga-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/sajpc2529bhnd5p86sn0k35wyqj302ip-kde-l10n-ga-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ga-14.12.3.tar.xz";
+      sha256 = "17mqxz2dpqyi1ngi1p2ivxg1qixivlkhzzd1id7ihff1i50f5gdf";
+      name = "kde-l10n-ga-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m3gp02jxirgh246njwsslprfq627d13y-kde-l10n-hr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-hr-14.12.3.tar.xz";
+      sha256 = "0zv3rvrfn5khmbd495iqnsr579m6igz3fr6h729wcwmizm03kl7p";
+      name = "kde-l10n-hr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-uk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ghlk4l1xill1v93qnv6sp4d9ybm2m2p1-kde-l10n-uk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-uk-14.12.3.tar.xz";
+      sha256 = "0jh17m47783vrv3c9wf7j67r937ni4xc670m758casjccwy9ldcb";
+      name = "kde-l10n-uk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fa-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/g4l10q0rg746928lmy4jfk63aa0y063r-kde-l10n-fa-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-fa-14.12.3.tar.xz";
+      sha256 = "1imx7nmxx9p8xi290llyhh2hcaax6y458hlz8sid6kq0cl7y5w79";
+      name = "kde-l10n-fa-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/lsw2ss8v9p5ryiszbfp46p1zqckqag5a-kde-l10n-pt-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pt-14.12.3.tar.xz";
+      sha256 = "0wh5dgg53aic5n3h260f1908dfirp0k53hakn2kv53m3p572ck74";
+      name = "kde-l10n-pt-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ar-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ga5jirz4ggm0qacl4rzj4rlassiswls2-kde-l10n-ar-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ar-14.12.3.tar.xz";
+      sha256 = "1ybmp4id3y9xrxcx2grmv8w3412h1qmwzawrzixfiixazbg8jgfa";
+      name = "kde-l10n-ar-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rgsdz47748cn77nmnkysf1vhz5sgzwf5-kde-l10n-ca-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ca-14.12.3.tar.xz";
+      sha256 = "14749nzfld9b97bk062d6pdpjdcfhga62n2yh1j1b0g5xqc1x0cp";
+      name = "kde-l10n-ca-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-cs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nja0qv4yh272pjvwbbzk75zzdjn75dgk-kde-l10n-cs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-cs-14.12.3.tar.xz";
+      sha256 = "1prhlp42vnpspj98kbdshv4liixhxak84xzr58mc8ij7whggi820";
+      name = "kde-l10n-cs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-is-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/avwqrqad41ryhdbx9dbr5m67nn6vqphw-kde-l10n-is-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-is-14.12.3.tar.xz";
+      sha256 = "17gw5isal9xk4iz5dr7qqvqx8j06nb2wzsxkkdxk5qgnqsxdn3d4";
+      name = "kde-l10n-is-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ia-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/cmp30mff1j0jq0srvvlhl28jr3jhdrwb-kde-l10n-ia-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ia-14.12.3.tar.xz";
+      sha256 = "0qgdy7b5gs04bszpp2byj9hx3mhy18y3l859si437i0jd3aa4b75";
+      name = "kde-l10n-ia-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-wa-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4x1jjabkfwy5yk0ig70pn72awx9f1c7y-kde-l10n-wa-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-wa-14.12.3.tar.xz";
+      sha256 = "0h23mnlhd53cpayhi3kpz7abj7786cf41n41m43b09ln3bw8d8i9";
+      name = "kde-l10n-wa-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sv-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/z06s7w5m81vy7q7lm5vybpnlq75s69jz-kde-l10n-sv-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sv-14.12.3.tar.xz";
+      sha256 = "14n0i4g484rxs2qx73jb0jh0a138anhj55x49inq7s0cigq2y1k4";
+      name = "kde-l10n-sv-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nn-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y978vl8sv6l0ls2kh6hkcj77cnz3kcvh-kde-l10n-nn-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nn-14.12.3.tar.xz";
+      sha256 = "037z0c6zy5vbzbg0i1fnyi2b88by2r65a9vyihznr2k72yzgbl53";
+      name = "kde-l10n-nn-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-it-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/b15q4v2zmbc030xb1mdw746llfq2vq0y-kde-l10n-it-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-it-14.12.3.tar.xz";
+      sha256 = "0rmy7cnsbfgzmfhq3lvap7x0q1b97np2x1kz65qy1lkdwfvqlafg";
+      name = "kde-l10n-it-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt_BR-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/pzn66c19cgkxlwk4dc7p14pvsagh5bks-kde-l10n-pt_BR-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pt_BR-14.12.3.tar.xz";
+      sha256 = "0p2lfgf29432x7srx6piyi73gbqnwfcb6mrbgb5cbrlxmhazd0x1";
+      name = "kde-l10n-pt_BR-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-el-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/dykqy8mnwk56zyqscjsbc5l0v3caxcm9-kde-l10n-el-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-el-14.12.3.tar.xz";
+      sha256 = "1l9zjgq4mg1rsdk58csdm1bbvjfblh56isp275jm7fg05izc7idz";
+      name = "kde-l10n-el-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ro-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vfw1xmdblc7ryz4iyddkx04n6bpsmi1p-kde-l10n-ro-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ro-14.12.3.tar.xz";
+      sha256 = "1an38a8kq5b5xzjxflr4fpwq3ld6ryb36p2fv5ks3cgp14vs9bhc";
+      name = "kde-l10n-ro-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/i8h2ydglwf8j89g22ppja7waljid0an5-kde-l10n-fi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-fi-14.12.3.tar.xz";
+      sha256 = "1v8kv7ack9l8w7pcy918vc5crhd43y35m1zkp87zdaqg9svsj893";
+      name = "kde-l10n-fi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/s3dxzagxplipcrfh3sz9vhxsbwlvd7v8-kde-l10n-sr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sr-14.12.3.tar.xz";
+      sha256 = "03ddq090ihma7y19l2ryjf69mbmqwigrxmhsyphkrpvkcch995vv";
+      name = "kde-l10n-sr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-da-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5r0zswdk5p3ais2gwwknzqh1y70v98rr-kde-l10n-da-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-da-14.12.3.tar.xz";
+      sha256 = "1nl2wvy1vg76rci4jkkgpp5ii49x6s348ps4mpj3ad46a1nxldfa";
+      name = "kde-l10n-da-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-es-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/a9nqy8yh51xmprzq7g806hpp85djxci6-kde-l10n-es-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-es-14.12.3.tar.xz";
+      sha256 = "12bj9jp6l03skx8pn2b3hrbd598kg4zm4qj88nbf6l9mzjm2pjb0";
+      name = "kde-l10n-es-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-he-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zdrqq64485q0zz3m3mh11canxyn48i6x-kde-l10n-he-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-he-14.12.3.tar.xz";
+      sha256 = "0bsjnlnn703s5s3k8p68ic591zf2k6lcdizhm75dirrc2ydwld2p";
+      name = "kde-l10n-he-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ja-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nxiv4m0827jvvh9pl5adani2f83jd0pa-kde-l10n-ja-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ja-14.12.3.tar.xz";
+      sha256 = "05gl706zmw0jhw7ahdg61q0swy65459j6p6qzx4g6albrxqjr2ks";
+      name = "kde-l10n-ja-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ug-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y9sx89dk7qf8mdl18ga9s99kga8j50v1-kde-l10n-ug-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ug-14.12.3.tar.xz";
+      sha256 = "0pl9fs7gdsxafgiky7k2a6xz07xd02k3glpfd5wxa9ya6l0970nm";
+      name = "kde-l10n-ug-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3flzizssjcyxgsdp1diq0xw5is5xdxzr-kde-l10n-bs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-bs-14.12.3.tar.xz";
+      sha256 = "19f6s5vylir9a695l0wx8fi63an2kgynmdpz3xadq197m1j8wd8d";
+      name = "kde-l10n-bs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/id2z95s1zn6v733fyh3wazrbfy40hyvx-kde-l10n-bg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-bg-14.12.3.tar.xz";
+      sha256 = "1hp1sa8cxsgifr7vaw7iqf8bydcnb7qnz9nnac0a7sx95ypvjmlg";
+      name = "kde-l10n-bg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_CN-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d51bwij9xq5wh9scl66y66g5cwd27dai-kde-l10n-zh_CN-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-zh_CN-14.12.3.tar.xz";
+      sha256 = "1f5zqflfhw077zlhwdf3his89dq8g0c8blpd8rkh7sbbyqgxgcbx";
+      name = "kde-l10n-zh_CN-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wqrvb9c3daz3hc650q212j7j6aysxs52-kde-l10n-fr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-fr-14.12.3.tar.xz";
+      sha256 = "09jriffxnkmlcwmwplspy9znbz5fa8ad06pkapl35337cisyrdqh";
+      name = "kde-l10n-fr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-de-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/477qqq2pd57y9wb83kj2yhclvr8r6ixr-kde-l10n-de-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-de-14.12.3.tar.xz";
+      sha256 = "1y71jjigz5qg3cz16j1vrikddw94zzg00kc6ziw2dxk6sx8j7vxi";
+      name = "kde-l10n-de-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-kk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bpw0gllnd9asq0qkzksrvfni25ai7kaj-kde-l10n-kk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-kk-14.12.3.tar.xz";
+      sha256 = "117125baj789y88l533jpgfggz5g4i0j19qrqybqql2hys7vhvib";
+      name = "kde-l10n-kk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-eu-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/37lal5izk34xpsw4ba5i3fh7klr8s3sm-kde-l10n-eu-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-eu-14.12.3.tar.xz";
+      sha256 = "15albwrdigyk9fzgvqd23njxks0ri72j2n5isbh218gcpp3k6z3b";
+      name = "kde-l10n-eu-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lt-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/isl6qfzmn18flary4fdcz4nnfh4v8wpx-kde-l10n-lt-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-lt-14.12.3.tar.xz";
+      sha256 = "0z8qpy7r22rijhyfaidxvmafbbpha90imx0zk1cg8d96qn5iz1ri";
+      name = "kde-l10n-lt-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pa-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/34jssw40n5qml1s21bsdqw3an7g02g4w-kde-l10n-pa-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pa-14.12.3.tar.xz";
+      sha256 = "17ra2abhgbh1igd36rxkdx7n30qcmcbn85sy54zig8rdcznq4bjk";
+      name = "kde-l10n-pa-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-tr-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bydiajxpa21jawxl5yd2fhdy4ha9ad43-kde-l10n-tr-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-tr-14.12.3.tar.xz";
+      sha256 = "1mwzryf00x2yaz6c4pm2459svs3hdjddms4xx3vv1r9aq7aavjqb";
+      name = "kde-l10n-tr-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3s8gz9b9mhymdiq262w8f1skyvz25c0x-kde-l10n-nl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nl-14.12.3.tar.xz";
+      sha256 = "0jm7z2m5ngb1z1nx2g1vwgkzj46yzm0a37br5jba9yka9dmr15mw";
+      name = "kde-l10n-nl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d3i513r1568j9pvqznjr94ygmpgb8zp8-kde-l10n-ca_valencia-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ca@valencia-14.12.3.tar.xz";
+      sha256 = "1ybsw0r60gkxy3fshm2da5w4mlwfmanwjfwpjnwj40ydlgdi8by5";
+      name = "kde-l10n-ca_valencia-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-id-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/90rfd4hdzch06plw672qfxzljqnk7x71-kde-l10n-id-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-id-14.12.3.tar.xz";
+      sha256 = "0kxss6f349mbhwafahwdv2zgfmsg5v9wp668q9xf0649d1h2w0ww";
+      name = "kde-l10n-id-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lv-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/qb61jvp0gf8a76nkw1wqzq32mg2i926i-kde-l10n-lv-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-lv-14.12.3.tar.xz";
+      sha256 = "11x1csh4f4mmkbhdmk0dibqvl8cddr8y3m9jyrgs980k7kd9617f";
+      name = "kde-l10n-lv-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x9jkn1ngspshcja4z0h4zrlmrqbfc1a0-kde-l10n-pl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-pl-14.12.3.tar.xz";
+      sha256 = "17gbg4zb51alcp5g1bx6lbmbkzz0fzl8sbhswwc71yhkq4h9ifpc";
+      name = "kde-l10n-pl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nds-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zbrn541qzdcpsy20kf4mah7rqy64xwwv-kde-l10n-nds-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nds-14.12.3.tar.xz";
+      sha256 = "1mqhc2174g58180l13qygwifqxai78m7prvrd4nnmc22b86cb0i1";
+      name = "kde-l10n-nds-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-km-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7shjylawg8f357xm52zc2qxssqind29q-kde-l10n-km-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-km-14.12.3.tar.xz";
+      sha256 = "1244bjxs2kl7hmaj4v7bfw98vawcc5ipl73payn2ygxqiqmb2jgr";
+      name = "kde-l10n-km-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hu-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ab3swg0pgzwiihfn3vkqiw29gawrlfgf-kde-l10n-hu-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-hu-14.12.3.tar.xz";
+      sha256 = "1cjfy1wash2jvvr0l9s4am9s7ny1zvabbim536b6lmqhyk5bm452";
+      name = "kde-l10n-hu-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ko-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/grsgaxij3fp3kqwlgfaqv0hzh0d6k3zf-kde-l10n-ko-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ko-14.12.3.tar.xz";
+      sha256 = "1chkk4zr7jqb0vbn3bhqpfvirpn5zqrih0124cyrfxmv4a19cz8v";
+      name = "kde-l10n-ko-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/27lgir5h7a95dgr1khc5gvk7rqmhvsnq-kde-l10n-hi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-hi-14.12.3.tar.xz";
+      sha256 = "16pmyi73yfr885xv31rfwq9ingm4cfd2p04wvrxs056yimip2hgz";
+      name = "kde-l10n-hi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ru-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d1ydfg70nkp219vhcc6pi62kxv275121-kde-l10n-ru-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-ru-14.12.3.tar.xz";
+      sha256 = "1x89kap46by47ra278r5inps9ab8mncfw76a2scpz7db9g0vfvf3";
+      name = "kde-l10n-ru-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nb-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xc5zsjaiyy9fzf8wdzz15g593xlkgzzb-kde-l10n-nb-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-nb-14.12.3.tar.xz";
+      sha256 = "14fgxrld2q9y7w50kn9952115fviyqb66sxvi2501b6kf3xnrpp1";
+      name = "kde-l10n-nb-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-en_GB-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m11758s3nr89b0rzfw492ljzwkqkn30i-kde-l10n-en_GB-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-en_GB-14.12.3.tar.xz";
+      sha256 = "1fbn5rih063wgmnzzsdq5dzmw4vx4cf8jpqd0zjdp4jcja7a7z7h";
+      name = "kde-l10n-en_GB-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-gl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rg1m42j06j7sp2sm33107krg0b655hzg-kde-l10n-gl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-gl-14.12.3.tar.xz";
+      sha256 = "0gm2z3va0lxnk9k3mnw0crlaf946cd2v1nygzbmc74r986aiyrla";
+      name = "kde-l10n-gl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sl-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yidz4dma1zm6rx4axqpk37irpvmf96a8-kde-l10n-sl-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-l10n/kde-l10n-sl-14.12.3.tar.xz";
+      sha256 = "17vlwgsab5jq9r8vs5q7gwk77p9li8qk8d4997p75z9rmf95jx35";
+      name = "kde-l10n-sl-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kate-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1p0y7hq9pqw8qjy9a5nyrjlirxkxayrs-kate-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kate-14.12.3.tar.xz";
+      sha256 = "0czcni5wfw56ar0r5p05j1wrmah98qv1wca95l5mya8fb17wcmnc";
+      name = "kate-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolourpaint-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ad9jhnfb216r0x6dicjx3px17mqnxhzr-kolourpaint-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kolourpaint-14.12.3.tar.xz";
+      sha256 = "1rcln9nqqzhzb0qlkdx81k0zspyyf266s3sa12npil2g9n1yh12h";
+      name = "kolourpaint-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kruler-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9g2fg6167fghd9v5nz92sadiyyac6zmv-kruler-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kruler-14.12.3.tar.xz";
+      sha256 = "0px10ilji6blpfyp44f66m53y5dhcw9s2534pwhbx9xfkal1pprj";
+      name = "kruler-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktimer-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/gg40xflg0y9c38rcg1q1m352zknrvmci-ktimer-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktimer-14.12.3.tar.xz";
+      sha256 = "198gx9j0x556m1vbwmyfgvayjpbws380pmrz4m58ylsvg5mcgwib";
+      name = "ktimer-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksquares-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/z6ql801ixafs2n59gb6fa8z2zr8wq79h-ksquares-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksquares-14.12.3.tar.xz";
+      sha256 = "0fyqs9b4bsgnaadcc0zhvsljmm83mc8brz1gsc7iz4pm3dnz74fr";
+      name = "ksquares-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksystemlog-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/q5rjxayccrra40ahwj8g8q3splvw10sn-ksystemlog-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksystemlog-14.12.3.tar.xz";
+      sha256 = "0a29n39jyrlgfijn99v48z3za4nnz6bambakyri8j9da1zzwn6hy";
+      name = "ksystemlog-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kshisen-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bfj7740qpfw5i6cjml9xf9648s9vj7wh-kshisen-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kshisen-14.12.3.tar.xz";
+      sha256 = "0h5l3m6xxq91v2fzc8p213iglvc78shqa3q0bfy3xbrnd3c8gkm2";
+      name = "kshisen-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksudoku-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/l294adqj7slk00ns53dr6p28jzbjz29b-ksudoku-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksudoku-14.12.3.tar.xz";
+      sha256 = "1scyqlfwxgkdwh93h80wzp7a55vvy0j0zxi9fl0ihsjsh20iv0bm";
+      name = "ksudoku-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkomparediff2-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h4x11ry35314s0max9aqh47k1pyfr22l-libkomparediff2-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkomparediff2-14.12.3.tar.xz";
+      sha256 = "1829sxn3y906hsfj6hqllx0hhwk2qngw9lvrgkcyqygb99ngg2bx";
+      name = "libkomparediff2-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kamera-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/18ywxpzrac8brdqp56vm3jbly49dis8f-kamera-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kamera-14.12.3.tar.xz";
+      sha256 = "1hrvc6l4q69npxyafznhg5i8mybg1c7z4iwp98q5rzsdw5zppvs8";
+      name = "kamera-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscd-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/nkz7204dhnfjvjvqqp9id19l5xgzxzrx-kscd-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kscd-14.12.3.tar.xz";
+      sha256 = "1inl4sksyd27rp9g75h0900hs1hr6cb779zf92wsfflmk12gin7j";
+      name = "kscd-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-mobipocket-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/dix33an8h17r8h03vnwml2fym44hrq5l-kdegraphics-mobipocket-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdegraphics-mobipocket-14.12.3.tar.xz";
+      sha256 = "1ff6bbrhwa1jp3icz6mv9m9xl7f7b786yvg8dmc795wmm5hzr721";
+      name = "kdegraphics-mobipocket-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnapshot-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/qnqwzdhg87x5dahx3avxcnys0j3k1qil-ksnapshot-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksnapshot-14.12.3.tar.xz";
+      sha256 = "13a5cri4dqn111p8q0idfgbahlx4ks2xjgvvgcwxd2srxifld825";
+      name = "ksnapshot-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnakeduel-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/972ra01nd7jywn427qj5jz3gwibd2cyy-ksnakeduel-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksnakeduel-14.12.3.tar.xz";
+      sha256 = "0cjylhpsl33zgav8dyhrdl8qvi7yjafsf30drgjsc9jizhmn8hdz";
+      name = "ksnakeduel-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "filelight-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/a3rr545r48ykp0rxfk2b643w683p0af0-filelight-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/filelight-14.12.3.tar.xz";
+      sha256 = "0am2qi6v2mr1rbl4jfjc4jaxg75511n2dvfr9zlsbhglfmzagmj8";
+      name = "filelight-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "step-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wfrkxk4f5hnvfwdraamqci3xap593sh5-step-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/step-14.12.3.tar.xz";
+      sha256 = "0pkj25jb7ydvghbx3187fjddsmck24k1kk4mms1hxp2i8xa11b1l";
+      name = "step-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kompare-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/027r3fzd86qx6rfsc5lfas02cmn60283-kompare-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kompare-14.12.3.tar.xz";
+      sha256 = "1vjq7fdbdskhymwrl8i9945qbd0xaqgcrp95p8qpmafcc88nxvdl";
+      name = "kompare-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblocks-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/kxpwjjlwa41agz76z15jbwb7b4s6x7ck-kblocks-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kblocks-14.12.3.tar.xz";
+      sha256 = "0y5f55z1i9fywfsspiyy467r2f11v7szwzhjrvacqf2g208mncwv";
+      name = "kblocks-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knetwalk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5j6v68g4gc7jvqrypk9s1m0grng8rpyn-knetwalk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/knetwalk-14.12.3.tar.xz";
+      sha256 = "1bakk8linrmgzn5zn79kj9bhfn43krpdahd989ba8ldfyz9d0hcc";
+      name = "knetwalk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "killbots-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/pgg1zvpidxgv1dacj7ncn62mizwjz0m9-killbots-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/killbots-14.12.3.tar.xz";
+      sha256 = "1b5chz21wxpmvi43iyr5gn2dh7azahamd8fwnjsdb49znyy5ab19";
+      name = "killbots-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-wallpapers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m3sl4zcjky2smf0vky7lwvw8g79n2idw-kde-wallpapers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-wallpapers-14.12.3.tar.xz";
+      sha256 = "0cdaj33xim3rvq7ihwpv338g4s51xb36b6jszpfa9hnzxsxa146f";
+      name = "kde-wallpapers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bomber-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/syx3k30s7j3s4v1hcb4azh176m4n7082-bomber-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/bomber-14.12.3.tar.xz";
+      sha256 = "0bhy5rjisq9f9ai36a0m9vhagdxj6jdyw0hlylpjl1ayy3qly1mc";
+      name = "bomber-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjumpingcube-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y1nrp3nf81v1v6khr86xdp9bjn7fnaya-kjumpingcube-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kjumpingcube-14.12.3.tar.xz";
+      sha256 = "16fgz0jicalls8c25p1hnd92rj3vwbbdli9wi1ljdv0f799h3z9w";
+      name = "kjumpingcube-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfourinline-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jahrwl1157161xh4dgjcnd0hnfq8x28c-kfourinline-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kfourinline-14.12.3.tar.xz";
+      sha256 = "026kvydxlrk7r91k9ffc27bsj0792shpziynh845ycbx9dy3nspk";
+      name = "kfourinline-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwordquiz-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/l3zj17f3n998w3b3mf4v8jjib0a0p3yy-kwordquiz-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kwordquiz-14.12.3.tar.xz";
+      sha256 = "1r8ms2d59aa64wnmdv8psjn4bbypjzcpb982jpc6kfrwj391q2ig";
+      name = "kwordquiz-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "palapeli-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y8lsccnmrc8r451j1b1igjxyrnvqpbys-palapeli-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/palapeli-14.12.3.tar.xz";
+      sha256 = "1wwnsvccshg2y55zcfpy2kvyplkjjbv96nacdfhln3yilbakwv1f";
+      name = "palapeli-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdcraw-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1nwhjxi7hmywfqiig8b60qaywwqircqh-libkdcraw-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkdcraw-14.12.3.tar.xz";
+      sha256 = "0fw025nas8x70ji534j59d6vcsvqzr7yfcyls0yznlz5ppy4g9rz";
+      name = "libkdcraw-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sweeper-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9pj5rh11mpnr3grriz5x4c3ar5whn52g-sweeper-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/sweeper-14.12.3.tar.xz";
+      sha256 = "1y8yvjpd6v8s7xzgwkaa9sc4k715n53l01182j48lcyhfx6gbh98";
+      name = "sweeper-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "zeroconf-ioslave-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/cjd95qf5ppz9msqy2ggisilhhl4h0nvy-zeroconf-ioslave-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/zeroconf-ioslave-14.12.3.tar.xz";
+      sha256 = "0x858q6w1llcyy3933sqpdi53p8h2l1rbic1v1xyqbl4zdz9ixpp";
+      name = "zeroconf-ioslave-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalgebra-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/cbndc9qfgqbksmfq1q00lhw1a6qz52wk-kalgebra-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kalgebra-14.12.3.tar.xz";
+      sha256 = "0pm2dshg73yc4h16sjm37j1003zs6hrp92lkr1679541z02m2f2l";
+      name = "kalgebra-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccessible-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bfpnby19d3qgqhkw3fb102v8j4qh9vi0-kaccessible-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kaccessible-14.12.3.tar.xz";
+      sha256 = "02h56bykzpkvk17snm88mb8cxsy2nmhjz1by18rg4cc2gf61qk74";
+      name = "kaccessible-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepim-runtime-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/91s8bj9j78cmwj5ijb8536ykmnh3k1fg-kdepim-runtime-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdepim-runtime-4.14.6.tar.xz";
+      sha256 = "1jnwgfy7052fzlz3mic7cy5jp1v5j81f28h205x56h6p7nswk29a";
+      name = "kdepim-runtime-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmix-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bm5pazc7ch4k130xj2ikmdcz69490xl6-kmix-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmix-14.12.3.tar.xz";
+      sha256 = "132k71ymd2pbbsbcw91haaalxljxzyirfw33ppk5w9d9m46h7gk8";
+      name = "kmix-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbreakout-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yw3v6jwj76v2savll4mwsvy8bh9n3iv9-kbreakout-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kbreakout-14.12.3.tar.xz";
+      sha256 = "1kzwdz0njqggy6h208lllswaqsrwr7hid4pi1f69hnh9c27a1vbl";
+      name = "kbreakout-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkmahjongg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vv1vfxq2dd88qhz563dbzmd8gisrhdb9-libkmahjongg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkmahjongg-14.12.3.tar.xz";
+      sha256 = "0kizdr1xn58wxblkkq5swy4vqap24cdcxl092aswvi7ql85zn2hy";
+      name = "libkmahjongg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmahjongg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8m2kvp5j83yw25smfh55ka4x73bp3sli-kmahjongg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmahjongg-14.12.3.tar.xz";
+      sha256 = "08y03hszmnmf7wawrznhqhak00gd5mcrbfndb538j44k5am60ddb";
+      name = "kmahjongg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdeedu-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/smk5qi7815a13m4c6xb7vzz18vz5n6qf-libkdeedu-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkdeedu-14.12.3.tar.xz";
+      sha256 = "0bja8qc2sbfq3ikhxk70fg72cj4hwbw4l7ag4zc9lq312jbzvkii";
+      name = "libkdeedu-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kstars-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/mi979pdj5cm4sz1qbbdvzr75731xjfbx-kstars-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kstars-14.12.3.tar.xz";
+      sha256 = "1gg96zny1vgsm1cyzxqlp617ly862r6ywv21vr99fismrasj919z";
+      name = "kstars-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "granatier-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0661bdzswm2n96vgix2vq8rp48jg2a1d-granatier-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/granatier-14.12.3.tar.xz";
+      sha256 = "182z9lnvrxhfp1jp4lb33ij07bvzvi79xi3ncicyb9p015s9mlsg";
+      name = "granatier-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "juk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/d6kz07a661dlyr950zmrirgsb52i8c5z-juk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/juk-14.12.3.tar.xz";
+      sha256 = "1zaw82px1qacfy612b9bxfgksyyvhlqrn0sv6p5dqzz01kg66xwy";
+      name = "juk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdepimlibs-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/24hs45qvjc6ixw77rjl226y0mldn14z0-kdepimlibs-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdepimlibs-4.14.6.tar.xz";
+      sha256 = "03fnxg2as2rri27ajkzm2wjma25pqd97h91bxka07b3fwcqimvbh";
+      name = "kdepimlibs-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdegames-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2x4jzjdy5k10dcn15q3jfnlbbaihbp2q-libkdegames-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkdegames-14.12.3.tar.xz";
+      sha256 = "0dj39kzhix9h79mnw25535n0swpb04sdl1n4l9jnj306daf16g27";
+      name = "libkdegames-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktuberling-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/id1jxy17a8g7kwbhgk0h60f8rsvf1zz3-ktuberling-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktuberling-14.12.3.tar.xz";
+      sha256 = "0svfdfpvmwghv656rmip5y0c997pl6mlnq9ns88akqdjl45nywkm";
+      name = "ktuberling-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "poxml-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8myygl0hkb6l20xqj8wfynfx3zx45c9h-poxml-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/poxml-14.12.3.tar.xz";
+      sha256 = "1xw1dc9zc0wnn8h7dk115zapf8kgvm57nh2zrgmahy6ppza112bd";
+      name = "poxml-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmag-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/banw9x2cffxi8a0lal0x26v0c0vlypwi-kmag-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmag-14.12.3.tar.xz";
+      sha256 = "12aiyv848cdy0jkhbcj4ha3cg781ndjcffkl871ah7qy0sgcnkw9";
+      name = "kmag-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-runtime-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1361pwj0m3rxysay6njg9dz04in7k1sk-kde-runtime-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-runtime-14.12.3.tar.xz";
+      sha256 = "08ndk21mq547fw26gfa7vy88vxf78v8anbvjrym2k5f59fdx2aai";
+      name = "kde-runtime-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lokalize-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jns1ws94d4cklkzn7n9hk0a6zsbwyg6n-lokalize-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/lokalize-14.12.3.tar.xz";
+      sha256 = "0cy3zyzszbka19hy624rgxc07bh4hyfins4j2cwlivkszbssh8r2";
+      name = "lokalize-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kopete-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y692wcc35c9dr5v9h1yjv33b0s87k3p3-kopete-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kopete-14.12.3.tar.xz";
+      sha256 = "1cdqcbafmmfq357n2kybzkfjwq926wb5lslpxbbpdnhiid23k8xp";
+      name = "kopete-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "parley-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/31mxjkglzynxwi3h928n52mi6ldszww2-parley-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/parley-14.12.3.tar.xz";
+      sha256 = "0vzqsbr26l39akpch7f1xr1xwsdybszvd1f9rrdmy4rg9swc692v";
+      name = "parley-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "svgpart-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w58yam9l13rjzh0cc4a16qkn9xzrl72m-svgpart-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/svgpart-14.12.3.tar.xz";
+      sha256 = "0jrhyb2ji2ii1pq7fmnyln12zhrqb9ahwpdq1x8ya56bws49qira";
+      name = "svgpart-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-strigi-analyzers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/i6l7hapmsfcga8b9agdi0ld2sss2maqy-kdenetwork-strigi-analyzers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdenetwork-strigi-analyzers-14.12.3.tar.xz";
+      sha256 = "1w8alhwkbffvwjfpja5pw881min6mv7vc1ag1qiblrzirsx4zhvh";
+      name = "kdenetwork-strigi-analyzers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ffmpegthumbs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m7vz5qmkwxbbs0f2251a0bbrl8g2jjw5-ffmpegthumbs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ffmpegthumbs-14.12.3.tar.xz";
+      sha256 = "1kni6fc1nb1n5zjqx736mlfcv08jp9nrchs7qkb2krzn4n5m0aji";
+      name = "ffmpegthumbs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-kioslaves-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5zhbmw2i3xb7axfyvq45qkp7dhf6xya0-kdesdk-kioslaves-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdesdk-kioslaves-14.12.3.tar.xz";
+      sha256 = "0w7ish8xpd7s26xmc9j9gxxy7b0lllv5px95g5dn4876qqcqpsks";
+      name = "kdesdk-kioslaves-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kremotecontrol-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x2m1gbmqsq6zd48sbpmp2dz64d5m2nm5-kremotecontrol-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kremotecontrol-14.12.3.tar.xz";
+      sha256 = "0wy2jb9dx3bf8x22l0x7bqn8n45mn6jclnsb3saq7cns5905b68m";
+      name = "kremotecontrol-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-filesharing-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7ckqs96cigik5syqj0ka0xk3m9ybphhx-kdenetwork-filesharing-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdenetwork-filesharing-14.12.3.tar.xz";
+      sha256 = "1icg45a2qsv1n19gsfg7w3wa2ysa4rkbx3w8maq8c7x673qs5kcp";
+      name = "kdenetwork-filesharing-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "audiocd-kio-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m2p9ipvfj9cdznrc736fjhbvyj3g3yz1-audiocd-kio-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/audiocd-kio-14.12.3.tar.xz";
+      sha256 = "1103f1ic5niy0zs4zvz841aaa6r4q0x0db4apnyvwbx51zi7qzsb";
+      name = "audiocd-kio-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konsole-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4anl6k756x5n7j58rafxyx04sgxjlc20-konsole-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/konsole-14.12.3.tar.xz";
+      sha256 = "0apz7dn9lza69fgnylhy3md47palj3qzjhpihfr0qsgn6gzg6f7a";
+      name = "konsole-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "mplayerthumbs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rv12zii0hdwh4fb5mv08nf0qid79miy5-mplayerthumbs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/mplayerthumbs-14.12.3.tar.xz";
+      sha256 = "01hisifj8j88wz31q4dhj0qinzz0yw9fz0lm16qp3yxv7r7p82cr";
+      name = "mplayerthumbs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-utils-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/6lgsi6phi4p3lyh7qvw3bqkixfad0fl8-kde-dev-utils-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-dev-utils-14.12.3.tar.xz";
+      sha256 = "0i6m5vs42c5mvznayh9rzjdp5rkcbl3aar909j3ir9kc3v3mi2ns";
+      name = "kde-dev-utils-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krdc-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2ckqwp8l6cy1c35bvcbs4x26z1czsdc4-krdc-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/krdc-14.12.3.tar.xz";
+      sha256 = "1q8s1wdmblfx8jj8acnkkyhx3rrn1ampskd9wx39jid8vznvkwpy";
+      name = "krdc-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klickety-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0hyjdsihgm0sn0gv2xsrijhqbgaqqn6z-klickety-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/klickety-14.12.3.tar.xz";
+      sha256 = "1cz7aam2azgqilvz6jsbkfy3dpimh86f64vmkvlk3n42zkksp7hm";
+      name = "klickety-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdiamond-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/sw2cca4mpa4y2dq1f0wjkqiqdxcjqkcn-kdiamond-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdiamond-14.12.3.tar.xz";
+      sha256 = "1cm793801nysqp90dcyvfvwxc9h212qrq3lhg7621h9fhq0946a5";
+      name = "kdiamond-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ark-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rb4li4dqgv2mw1w732pkhkxpvjxdb50g-ark-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ark-14.12.3.tar.xz";
+      sha256 = "0a6ggjg6x9kdlhm2n8l3dw4nn765lj78gn11yxgj37riq9yhg5xx";
+      name = "ark-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfloppy-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zpk335imsalsxqa7bfa6wcllxgcdipln-kfloppy-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kfloppy-14.12.3.tar.xz";
+      sha256 = "1b1zskwch7zz7iqfz3fa14q0bkrr2yjckr1h5fvn9k7q79x7xph6";
+      name = "kfloppy-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "picmi-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/c9z5wpwzpnvp5fiv5zbjg4fm8p8xrn7m-picmi-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/picmi-14.12.3.tar.xz";
+      sha256 = "0vlyn2f2j1p4734rcmqyjh03h4a2m79z9swfmlahh12gq5ka81im";
+      name = "picmi-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konquest-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/mfysg0babfpbzvpnh8b3a9kzk6n29ssh-konquest-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/konquest-14.12.3.tar.xz";
+      sha256 = "1il757w6xzvkaadangwfpkz14qx02wwdlflzffw9jis2lbz19qnh";
+      name = "konquest-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalzium-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/dn3vmyqlm2qsi52bhfl1cyafza31b6y9-kalzium-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kalzium-14.12.3.tar.xz";
+      sha256 = "1mnkhp5wlc3rmxyw4lli5smb419vzkv52aqpwakyncrz7nxkyk24";
+      name = "kalzium-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-base-artwork-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/fi9lq4lqwclvr627x32q8lr4cwcxbgng-kde-base-artwork-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-base-artwork-14.12.3.tar.xz";
+      sha256 = "06v3javkhkchpjc3sv7x5mk2jgb1366mi18dzwg63h2ca8740wn1";
+      name = "kde-base-artwork-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "blinken-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2fq724w1bqmiz9hqqmhds1f0zj18k8dz-blinken-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/blinken-14.12.3.tar.xz";
+      sha256 = "0k4a5r4rq5brh5xv2lm6ldwfv1qy5wiqnj0ycp55p974isbdgqsb";
+      name = "blinken-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcharselect-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vqyn4qdsgnai9a9w944g0jqpmvzqg5b9-kcharselect-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcharselect-14.12.3.tar.xz";
+      sha256 = "1ycx0y82f4ah5fg9ki62fwnnhyly1sqs52zs4519hnmyqn7h7q1v";
+      name = "kcharselect-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "umbrello-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x66xrvdlnwcs8g6l3f4iz9fvxhw61v28-umbrello-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/umbrello-14.12.3.tar.xz";
+      sha256 = "0f5qn6h89hj4n25p2nkcgqb0xk4qvlwi115n5qlsmbc3icj2j7cy";
+      name = "umbrello-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kget-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ah3xdqjxw5h29qmjc4wdb1c5i9zdsl40-kget-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kget-14.12.3.tar.xz";
+      sha256 = "04wf6qncq1xdfrp9j5cnhdii9hj83wjkp5i168flzi292sqyw9ia";
+      name = "kget-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kuser-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/68ps9qh0w9mq4qawdzzjyy1h1y33wfqs-kuser-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kuser-14.12.3.tar.xz";
+      sha256 = "1xgd3g2fdanl28sar3mgcsnld69nczcdanvaqslil4vc7d8r1xim";
+      name = "kuser-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kigo-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/60ipws592hnlygalmkzgzmlwnhmkvjg4-kigo-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kigo-14.12.3.tar.xz";
+      sha256 = "093bm60yaj8v8g6n7x4ysjbxph6xgh9ylarhdxsrjpmq268wql31";
+      name = "kigo-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dolphin-plugins-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/zk9mrrc8vkzq41bx7sfyjc3lx73jzlqm-dolphin-plugins-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/dolphin-plugins-14.12.3.tar.xz";
+      sha256 = "16kxzpnfy8cxy8v1idwsisqq0p13n14zcid9a5n1sv02w91c02rj";
+      name = "dolphin-plugins-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "katomic-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/z8kgww8c0mqwx6cfsfqm8yd58k71xvrl-katomic-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/katomic-14.12.3.tar.xz";
+      sha256 = "0rbhf8j8if5r20l1cryl4irgd8p94ikbsz6456y7v8fzv5mf6kgn";
+      name = "katomic-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "rocs-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jqamjiig020rvvyqwjarbxqj29ix93yi-rocs-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/rocs-14.12.3.tar.xz";
+      sha256 = "14k5yx0vfpf0fllqi5f72vz2135qag6gb7hs7523jaavxkb23d1p";
+      name = "rocs-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcddb-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9vhmysfqpabx7cwrqsmkpgh4hinjqh39-libkcddb-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkcddb-14.12.3.tar.xz";
+      sha256 = "1i8n63jpckc3fa27rcqyrf10cz8zsyjyvrpa7fgmggsf91k1c144";
+      name = "libkcddb-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebdev-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bz14zb6rlkwgmj0l8q9nffar2443zcaq-kdewebdev-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdewebdev-14.12.3.tar.xz";
+      sha256 = "17qy41gww688klpv2cgnk1r3cnd9sq72bsga82d7dnk0v6dinlxz";
+      name = "kdewebdev-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krfb-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/iq7fn9lp4fh2s74lrb2r4v39n66c8a7v-krfb-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/krfb-14.12.3.tar.xz";
+      sha256 = "0258ffj2wx25cycpw3cmvnw9ig874jpi6yw711w6d8nfy66ribpb";
+      name = "krfb-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-baseapps-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/yv1ixn2gwc8vv32m3y5axy3dn1p3sbrv-kde-baseapps-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-baseapps-14.12.3.tar.xz";
+      sha256 = "1zcjbhnxzqxjn4xs6pwb8cvcnjypa4yh09jr4frd82nfhdsq7nyd";
+      name = "kde-baseapps-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cantor-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7f8qlf08l8fwykz677xywlfdsf8j1pml-cantor-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/cantor-14.12.3.tar.xz";
+      sha256 = "106k9gp4r2241yh6np8mbq587chwkicxk7ssbpvvvg2m126idz9y";
+      name = "cantor-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs-4.14.6.tar.xz" ".tar";
+    store = "/nix/store/24zfmzbi9q832p6i91i71sms1vk3rfg2-kdelibs-4.14.6.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdelibs-4.14.6.tar.xz";
+      sha256 = "165xn2bv03j2g4j7m287add40kwhccvp2ci5hrar2xfd9sgl24xk";
+      name = "kdelibs-4.14.6.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kubrick-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xl12n09yvf5j7di78mrkxxhfnn6axijy-kubrick-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kubrick-14.12.3.tar.xz";
+      sha256 = "1g9ls282qy6s0xsaa50ck0gkiz980cx50zjjhq4yimlhp1gswmj0";
+      name = "kubrick-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpat-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hq79f56cq1gqw7nfxcfliqi4k8kjpkd5-kpat-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kpat-14.12.3.tar.xz";
+      sha256 = "1787qymlsxyi7dm2q8axpjl3n62qx9xv7diyg8627kkjm1a1xw9r";
+      name = "kpat-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "marble-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/inai3p0228fmjcr8vkbnbhnvpznwvrgz-marble-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/marble-14.12.3.tar.xz";
+      sha256 = "1ylhc3278yqdcsli6yw7bnci6mdx01g0r97m78bs74l5biz4yql4";
+      name = "marble-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcolorchooser-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/szdzjvc2h3w5dpp154m0kqh5i0spk771-kcolorchooser-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcolorchooser-14.12.3.tar.xz";
+      sha256 = "1v8mgv5pjl3g6igxs92qd3zn8qr3qip046pb77856qhn3d9s4pqj";
+      name = "kcolorchooser-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkface-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rfk8bxw07690a9kncmcdmlqjx7qkrld2-libkface-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkface-14.12.3.tar.xz";
+      sha256 = "0zp48mlkqkjc6wk81kcf1q980196q0m153kzfjahi5w4vlslzgam";
+      name = "libkface-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbounce-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/w2gc6778llzkl8qbzdl582ay45rwn6wn-kbounce-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kbounce-14.12.3.tar.xz";
+      sha256 = "1hn09ghhmj2dk47vnkqkvrm87n50m506mmzq058cccjlfdah5iin";
+      name = "kbounce-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-strigi-analyzer-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jplhnd96n48zih1mbf6bx96xl5b35kdp-kdegraphics-strigi-analyzer-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdegraphics-strigi-analyzer-14.12.3.tar.xz";
+      sha256 = "135dcs9ppa8lv5va8bqmccfxj0hf5f65qprx7l02k74xj4k70yki";
+      name = "kdegraphics-strigi-analyzer-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcalc-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5aykxgy1by52pcfmv1z990kz6xpwjj18-kcalc-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kcalc-14.12.3.tar.xz";
+      sha256 = "0w5pl11vw0d2g3pnxb3ffig209r0bjg135163crnic9akfbfa9s5";
+      name = "kcalc-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lskat-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/1lk25ql2cgisdm7yhjyn1ac416h8qdc0-lskat-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/lskat-14.12.3.tar.xz";
+      sha256 = "0k5wq5naj0ahmnwpvdrif2clzxjwr9jk6p40igakzanpp23i6p9k";
+      name = "lskat-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "amor-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/vvbs6wghnrbrq9yd9v647l227bzsiyaa-amor-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/amor-14.12.3.tar.xz";
+      sha256 = "1y9cia887lqbcs6nr08mbrxr8shb895wvxf5jg8w6iic6pwy516c";
+      name = "amor-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klines-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/sxi3wlcwn3gbkmcama2vx4dg45xwm7sx-klines-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/klines-14.12.3.tar.xz";
+      sha256 = "1xsrkbjdnw4icchbr5y7w64y6szfv8qdzndwd2bgrw0yvyjg5w7x";
+      name = "klines-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiriki-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0al1vmsjw3a94arnw19k59gajw3kpxdd-kiriki-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kiriki-14.12.3.tar.xz";
+      sha256 = "11c76kq2pji07xfbyf2621h76sjx9pqdj3qqzydzbwdinxy0bgz0";
+      name = "kiriki-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgpg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4bw6lkbzy88kl09gk9sv494xw4a004a9-kgpg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgpg-14.12.3.tar.xz";
+      sha256 = "00qjgkgy1d8wygc298z3v7y37j47w16pjzp8ssnsdkmx88h1dp3i";
+      name = "kgpg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolf-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/97i8x4wydz1z4p2dfg2c04xvvblpdds0-kolf-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kolf-14.12.3.tar.xz";
+      sha256 = "12h4817ky9xwwrdqgba515dw87314ijci4lwqvcqmm7rq44qac8g";
+      name = "kolf-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "superkaramba-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/k35761pidfd258y0fjbcr1c22y5lwzhf-superkaramba-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/superkaramba-14.12.3.tar.xz";
+      sha256 = "1q6qpmwyics1mb44l55vy5wyjd0d5mbsm780kj4y9l6mp98b47c0";
+      name = "superkaramba-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapman-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h55lr5qacws82h167r142367mldrq50z-kapman-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kapman-14.12.3.tar.xz";
+      sha256 = "1i3ci8qpx8njr250pgkz7zlfihyi3k6vc2vnw7dcv09qfby466qb";
+      name = "kapman-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khangman-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/y0xl8ckan6cwmz35mvzsjv35a55s45s9-khangman-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/khangman-14.12.3.tar.xz";
+      sha256 = "1y11jwsb1ba55hc2sx0adffvrck1mrn43wna16zkrh1sxk7fk8r5";
+      name = "khangman-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksane-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/rdh9ivzb5i8xilvp5v05k6szxv9nhv40-libksane-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libksane-14.12.3.tar.xz";
+      sha256 = "162bi5d6kbx7zlb4waha82ldg2j40rwcg1gikfahkjsprm6npmh3";
+      name = "libksane-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgoldrunner-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h4if4axrpc0sdn6xmazgn2d5xhkbpr0x-kgoldrunner-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgoldrunner-14.12.3.tar.xz";
+      sha256 = "1kg9mskg3aj0bp8h8y5bfkapmw4iys42aw3sa7f8zfkqp993zsw8";
+      name = "kgoldrunner-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bovo-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/30xn0rg0g32p4d00i9z4xs95lp504six-bovo-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/bovo-14.12.3.tar.xz";
+      sha256 = "021pmar0g7s0p7qrzimp2x54idy9pdg22y8mgi26xrk9n7i5yybp";
+      name = "bovo-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgamma-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3ajn3gyhisbdny0q3qskhn6r9wkw0aly-kgamma-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgamma-14.12.3.tar.xz";
+      sha256 = "1ywpkg7zbh9xy50a53dmlz1rsli5gdc52l50v14gm1sdjl2sfjpm";
+      name = "kgamma-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kajongg-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/fhr2zhxsxlc5fl15l9fil414jaxw98hz-kajongg-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kajongg-14.12.3.tar.xz";
+      sha256 = "0fdvwv5jbmc42wzc2j5y4adjqqwzq6hvl8b7nzaknphvpk7257hj";
+      name = "kajongg-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kppp-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/7q3rq4gjjkwxjlliqy76x14h45xxzhhf-kppp-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kppp-14.12.3.tar.xz";
+      sha256 = "00517rl2b5zaf42sziar2cj878dcii6jr1mx8jicq293f171krn7";
+      name = "kppp-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmplot-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/jdxf1cy03k03r51kqa1klb3ib5jvd8jy-kmplot-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmplot-14.12.3.tar.xz";
+      sha256 = "1fq8m07pgmcfp1cr7q0y90ngaj282nz1pw5mqdfjh9syfradli0i";
+      name = "kmplot-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdf-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/wrk2mg2h2y34s0gysr095d713wim7brw-kdf-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdf-14.12.3.tar.xz";
+      sha256 = "1dd35frqxgqmhakc6f7xs6sck061271cnfym9bsd5q6fxv9s8vdp";
+      name = "kdf-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knavalbattle-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/8wa0nvqryc7gzxfk2sgbsavk1q6p3jpi-knavalbattle-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/knavalbattle-14.12.3.tar.xz";
+      sha256 = "1jl5f2ndgnffhmgpcc4in6rryshph3p12d1xa2ixw36xyr45hcki";
+      name = "knavalbattle-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksirk-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/macznkbfj12i3nfcks2fr29fy24vlda7-ksirk-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksirk-14.12.3.tar.xz";
+      sha256 = "1h3dgp2j7lz13j16k1j5b7wyg0g4x08svw1v2pc15llakr39p88m";
+      name = "ksirk-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "print-manager-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/ja14bgwgs1wp8831ipa39s9zhayjfqdl-print-manager-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/print-manager-14.12.3.tar.xz";
+      sha256 = "1n1m5w3p4r97y7jp76q35z8g39ipfaldkgbfbz47i89bc33zaxy5";
+      name = "print-manager-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "artikulate-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/44frkjvk64qwj15g2pfh8a1ficag137d-artikulate-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/artikulate-14.12.3.tar.xz";
+      sha256 = "1rv51nk2lqvxfgwsxyzq9cd1qq68nr6z7r5xis83smc4gnaczajh";
+      name = "artikulate-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeedu-data-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/9pd7p5vl53w6i6m324km5xkp6v967l53-kdeedu-data-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdeedu-data-14.12.3.tar.xz";
+      sha256 = "1q1vw5dprvqj7yyg9w39ndy8nvnnhkbladylv0kyh1491ba2a3kb";
+      name = "kdeedu-data-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kturtle-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/x30qa0vibvxxza1pqy9a4ddnj4w2xhcw-kturtle-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kturtle-14.12.3.tar.xz";
+      sha256 = "0hxnc8lfqrfs5njaym54kl4vf2q6jakgif90saxfm50irjbwlg34";
+      name = "kturtle-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klettres-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/734ajz153q37a4pzyh464q9aip528d77-klettres-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/klettres-14.12.3.tar.xz";
+      sha256 = "01irm9pgh46rghbmmwwrdb85ys2gv23h46qaicv4zp73bl6mhn5c";
+      name = "klettres-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkeduvocdocument-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/bj1igafd6x86fay8syr6d573b05472mc-libkeduvocdocument-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkeduvocdocument-14.12.3.tar.xz";
+      sha256 = "060p8sh3rbbajykjw1z2ba3xnv1bq8ns86yfwx2lv2jyaqpkkgyk";
+      name = "libkeduvocdocument-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcompactdisc-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hbrdr0fizjfwyf4p317gwgii4ckxr9bx-libkcompactdisc-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/libkcompactdisc-14.12.3.tar.xz";
+      sha256 = "0957qd9zzbnksi1zxw1av4zxwzi48pq80jpk5h1id7cdhlfrsxz7";
+      name = "libkcompactdisc-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-strigi-analyzers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/m37c7klxvf2nz3byv04b763sls4j6h8r-kdesdk-strigi-analyzers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdesdk-strigi-analyzers-14.12.3.tar.xz";
+      sha256 = "13q7cy274ibsisvchfagb5mh4iq2wpm12zriwn625ciajy1zbq1r";
+      name = "kdesdk-strigi-analyzers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiten-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/5ibmcrrhacqq7qn5zfq7fp1y3qwj90jn-kiten-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kiten-14.12.3.tar.xz";
+      sha256 = "0iy508g6mp7gibzv3m59hjjcvl32h03pzfqj8k6pgq0jya0bqvvd";
+      name = "kiten-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwalletmanager-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/q2v3p0k65zzhmzphawir64a3x8k7qmbn-kwalletmanager-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kwalletmanager-14.12.3.tar.xz";
+      sha256 = "1sbbgvwh8d5pv4p5z89gk29lz2snp4glinpa3y2dg9s9chnn0qj4";
+      name = "kwalletmanager-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kanagram-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/hcpxv7a1j4r0pavak6zqps9kb4mlgj1a-kanagram-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kanagram-14.12.3.tar.xz";
+      sha256 = "0j8l5cx251wvb2s6xzdsx45cgwzpy8a97lbss8lhhfrqwqn62lh4";
+      name = "kanagram-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kspaceduel-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/v5rwasilq989vbmqqnj14cqq87gmvpsr-kspaceduel-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kspaceduel-14.12.3.tar.xz";
+      sha256 = "1z1p5wy39xkyplhdq8z3p61flnyzh03yhi28yc0f79iqx22psvjb";
+      name = "kspaceduel-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kig-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/amjyaqjvc88397nj2g54z6djs5rj5mgm-kig-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kig-14.12.3.tar.xz";
+      sha256 = "0vhamrasgazjn110ahh09a402vhsgqh8h5v1qqmvi49f6v44bxbb";
+      name = "kig-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "jovie-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/4fzqz8h97hnn7v0q2gadc1mp4xhssl3x-jovie-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/jovie-14.12.3.tar.xz";
+      sha256 = "12ky24hkpqm0bhi9x8fm6bf0nfqclpr5yv7n054995k3irygz9lz";
+      name = "jovie-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cervisia-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/81d3gi968mqnzps5v56lfi4dzkq7vfkw-cervisia-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/cervisia-14.12.3.tar.xz";
+      sha256 = "094x08jf21h5f0vjx28bqj207csh56rc293bs4sl8lg9d1h0gbax";
+      name = "cervisia-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dragon-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/2wh0xa17ikpsbm0addwb502rvld07ici-dragon-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/dragon-14.12.3.tar.xz";
+      sha256 = "0fngv700yhlh0q73njwfl6szf9v57csyf0gpqf1hyl9wvv2mwswj";
+      name = "dragon-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kqtquickcharts-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/a3lgzwlizzj1yp4n1v0k80h45rzml2bz-kqtquickcharts-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kqtquickcharts-14.12.3.tar.xz";
+      sha256 = "01017d0mww3ai4i8ik29kfwkakyp92ngrjm6704015i0wili09i0";
+      name = "kqtquickcharts-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblackbox-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/r5721x8a5aasszaw7hnj91iy90sy0007-kblackbox-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kblackbox-14.12.3.tar.xz";
+      sha256 = "1kmdxiy30cm3jrgi6kdg15rrwyyxgnrb51w3bfcgaqr48kz73id6";
+      name = "kblackbox-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapptemplate-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/xgnk2fv1a5q0xsy80xwn2p57vn10w3z7-kapptemplate-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kapptemplate-14.12.3.tar.xz";
+      sha256 = "0gwx51df5qms1vy1b6csbllcjy5xs55xmscz4i2n75ba7dsw9ivy";
+      name = "kapptemplate-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgeography-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/409f1vaf4n42mhdyxmjw0vf670frpgwg-kgeography-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kgeography-14.12.3.tar.xz";
+      sha256 = "098j76mk1lc7wjvwybvyb04zaysmmn9zl9y35r4yhr11lv2v2idf";
+      name = "kgeography-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksaneplugin-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/h3c8xaj4wybcpndp90x5qfr9602l6cr2-ksaneplugin-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ksaneplugin-14.12.3.tar.xz";
+      sha256 = "143j3ck5cy4678fx9d0jv3y8zvbkvjxc8kyx3n8hmm4plin54lah";
+      name = "ksaneplugin-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okular-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/fsviwbz3j2lx8d9hnscq7i6ncm1svq2j-okular-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/okular-14.12.3.tar.xz";
+      sha256 = "07snh1z38s1ycwfsirkzh91dw13hkf0lq79das75qjjladv3v9d7";
+      name = "okular-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-thumbnailers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/062pw1fc4w3nsflchjnzr33agfr5zpaa-kdesdk-thumbnailers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdesdk-thumbnailers-14.12.3.tar.xz";
+      sha256 = "1vaw2p5y9q44yfcs34f501baga1rhswgawn2brglfada6y2b89jk";
+      name = "kdesdk-thumbnailers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-workspace-4.11.17.tar.xz" ".tar";
+    store = "/nix/store/hgca7dsswq9axlaalvs1ci8zh0sl8j4k-kde-workspace-4.11.17.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kde-workspace-4.11.17.tar.xz";
+      sha256 = "0pkn49wis90v8ky8hasa80x6ji59sswlb5ib3hzr67mk191vhlhx";
+      name = "kde-workspace-4.11.17.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktux-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/kap125hfflfrp7nb58b7vv3w2kp3r6wh-ktux-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktux-14.12.3.tar.xz";
+      sha256 = "0yg3a9wnn4rdbainypq8v6hw57flgsqsq8h8rzb6iy6hwnw8pc8p";
+      name = "ktux-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmousetool-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/li6azfrf8qsi5ai8vfrfq0md8cw581p7-kmousetool-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmousetool-14.12.3.tar.xz";
+      sha256 = "14n79dlfiyd3pz3gi6sg71nd2p5vp18sk99bh7qz1dyid27v6z08";
+      name = "kmousetool-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-icons-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/mlpp2nwbyg3dscicj50795c4bxbmzcqq-oxygen-icons-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/oxygen-icons-14.12.3.tar.xz";
+      sha256 = "0apfpfrpxjrnxf6c4bxxfhys9k7wif74yx9bbysrrndw4bvv0nx6";
+      name = "oxygen-icons-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktouch-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/3hpc3hmys0i16sh7aqmlw46flk6r110y-ktouch-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/ktouch-14.12.3.tar.xz";
+      sha256 = "1z084yi4s1i5nqir2izdaa5gca3216gqb00mr06044pc2h059j6h";
+      name = "ktouch-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kollision-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/lvsdhfw8c30z36yyjfcxprcw3ik3jb2s-kollision-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kollision-14.12.3.tar.xz";
+      sha256 = "1gfzya87q202az63dvrfpyf70khc27vh9nj5hriyql0kzyqy0xgf";
+      name = "kollision-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-thumbnailers-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/0vnr7sljdzsxpkdyzz08yspr6kcbj0vn-kdegraphics-thumbnailers-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kdegraphics-thumbnailers-14.12.3.tar.xz";
+      sha256 = "023b1la31qc2b8rfmc3nxi29pd3jld6p2ivi1sdl1pybcillzpax";
+      name = "kdegraphics-thumbnailers-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "gwenview-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/lrkq8yk3wr9gwivm2177vqv5y2sh7zcf-gwenview-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/gwenview-14.12.3.tar.xz";
+      sha256 = "14kwdayzffsc8nk20xl86gqspbvrwja9x8h2dc498cqag0l60hcw";
+      name = "gwenview-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmines-14.12.3.tar.xz" ".tar";
+    store = "/nix/store/qgxz0771xbp8zvqplrv3g8rc89025xqa-kmines-14.12.3.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/14.12.3/src/kmines-14.12.3.tar.xz";
+      sha256 = "1xbpdq8250srbg2c10iz44aa6i19srk4x0f0bcsjhc53r8680g0f";
+      name = "kmines-14.12.3.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-accounts-kcm-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/fzwlsgxvxd1xp98ba1ksfbwjn20da65v-ktp-accounts-kcm-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-accounts-kcm-15.03.97.tar.xz";
+      sha256 = "1m9z8h2dvbwj9rxqp5kj24ndqp070nhi2qk1k07qc7shcivmcpzb";
+      name = "ktp-accounts-kcm-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cervisia-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jszqrw79x8cxbpckhg73npzirli3axjq-cervisia-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/cervisia-15.03.97.tar.xz";
+      sha256 = "0aqfxbs1ssdpijvrw51qy131mns6br18mgv0nvys6l83ssanpn9v";
+      name = "cervisia-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmahjongg-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ygn36njvhb5vcy560z70ppzv13ilbb99-kmahjongg-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kmahjongg-15.03.97.tar.xz";
+      sha256 = "0x5qm94a3q2r0kq0k6n8iylbzq9binbkwbb0gbcm9hnylyl4chki";
+      name = "kmahjongg-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "killbots-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/38n1ajabh2s6sq3xlvxkv8r759fd8xwl-killbots-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/killbots-15.03.97.tar.xz";
+      sha256 = "0l0xjhc7vxmycn8j88h42lirl6rbn29x4rc670kcgm6ly8la5zki";
+      name = "killbots-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-common-internals-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/9zzgdr465wngzkgjplykk9l8d5shcicx-ktp-common-internals-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-common-internals-15.03.97.tar.xz";
+      sha256 = "1b813w17k013gik8i2ji2bb0m6pa8mab4bcqwsx95mv72l25ld4i";
+      name = "ktp-common-internals-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmines-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/a07306c2bs073jkq27d8kcd97cyp153r-kmines-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kmines-15.03.97.tar.xz";
+      sha256 = "089y8jzqcd1s0q0cfv9i7hcj18rj7vhmiw1rwr0pwfmnixjrn2hl";
+      name = "kmines-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kspaceduel-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6vq7sl95pb7bh7w2gk7z1sgsl6zinrsv-kspaceduel-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kspaceduel-15.03.97.tar.xz";
+      sha256 = "1jfszdx6lj57c74zmvrqgzxvzqfd6zkl7irf6b3dxjg3damsfsjz";
+      name = "kspaceduel-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkgeomap-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/3vpnb3007jxrmhr21k52nln8f73dn8lh-libkgeomap-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkgeomap-15.03.97.tar.xz";
+      sha256 = "04q45hfhck8v4hxyw7fszvz48gch4pz2aqql98ynhshx19aj4c0w";
+      name = "libkgeomap-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kruler-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/vkrpkcplvfa7mrfdjv0is8w52fzlldiz-kruler-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kruler-15.03.97.tar.xz";
+      sha256 = "0f6z9ii72dkkx8jkmf18k2mlxnflpd2n5qb36s0rzndli7n71x9n";
+      name = "kruler-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksystemlog-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/v1qxds25w9yk7m0ym2xjgdhj5ag8g9zn-ksystemlog-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ksystemlog-15.03.97.tar.xz";
+      sha256 = "1mvj308sf17ljs74y7xc1ynnqblvgjzblblfnihmg6wlbigri3sb";
+      name = "ksystemlog-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "analitza-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/4xmy1jf4ng641bshcgczy4vq1jlz4dc7-analitza-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/analitza-15.03.97.tar.xz";
+      sha256 = "0p98dcynn33yssc84j5aykhiiwdd5hgg7jdpvdzbwcqdnbnkwp11";
+      name = "analitza-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kompare-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/idhczh8j0f8h7ibbcprmrj8z45hmya0c-kompare-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kompare-15.03.97.tar.xz";
+      sha256 = "12whm20jxhcqcpx7br7m54dcbjl1z0ngjq42zn2ldp43lgd5hjpa";
+      name = "kompare-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcron-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/1svwivcnq60pbnv11wwcq0vhlbyydcri-kcron-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kcron-15.03.97.tar.xz";
+      sha256 = "18z3kn8ay69nk1anawm6k08xl4xng7rpzvqmxwiyp102bvbxv6xr";
+      name = "kcron-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kppp-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/n1ix532hcm0m1agsknsvxhmghir7zfr0-kppp-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kppp-15.03.97.tar.xz";
+      sha256 = "12jibm5xihq44kxgv7g1zfyhvp9nbv0dyxnb2gwarngqa0yv20sy";
+      name = "kppp-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ar-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/dv34q5wny1n7xwz590xcn1j3k1k3s1lf-kde-l10n-ar-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ar-15.03.97.tar.xz";
+      sha256 = "1jzal66wlkdqd85dj4rp5akrrbd80iw72swdnav3zbwlmcs53val";
+      name = "kde-l10n-ar-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sk-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/dhp5j6702hjdjyl0im5sq4pcsmyc4m6h-kde-l10n-sk-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-sk-15.03.97.tar.xz";
+      sha256 = "1sm9axz2mwgvw2gws2bmr2c2nj7fk1gnmry19432b7sf7khil9as";
+      name = "kde-l10n-sk-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sl-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/q0ldpyshshs6grvdpm73d533dkdscizc-kde-l10n-sl-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-sl-15.03.97.tar.xz";
+      sha256 = "1077lzin7ygjbcfb613c2lj83jiqxn85zchlcmxbkz2fmh3ycwy8";
+      name = "kde-l10n-sl-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lv-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/cbydlyizpj9nncj80a2my7anydmw11if-kde-l10n-lv-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-lv-15.03.97.tar.xz";
+      sha256 = "1x36i97a8hpkbqgxd6cfcqvyx3a1i7cl0s4bhz94kjvncmn5f55r";
+      name = "kde-l10n-lv-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-is-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/lzzcc3d64wy83rci6pkdirbgbjpfvg1b-kde-l10n-is-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-is-15.03.97.tar.xz";
+      sha256 = "0rk8km86n1iv1id9whjz6rnpzi2ncpckws9kzzk2s9lfrf5sq0wv";
+      name = "kde-l10n-is-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-km-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/hrhsn3g0rn9l7zn9664harxvd8yjcvhm-kde-l10n-km-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-km-15.03.97.tar.xz";
+      sha256 = "1kyklr6m42jc9k6py5d0f79vmc6gs0iajzsx71jpc98amqm40dvc";
+      name = "kde-l10n-km-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-uk-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/3g2xlsklwbfzx2gzjxfg053gw0gssi5y-kde-l10n-uk-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-uk-15.03.97.tar.xz";
+      sha256 = "0kfvdq6ggc52hd5d1y9xmrp985magfszs9bvvv9pi3j3aawp0nr3";
+      name = "kde-l10n-uk-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ug-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/wyp8qzfx2p2nxacv85c4yg7f5bkzqs8v-kde-l10n-ug-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ug-15.03.97.tar.xz";
+      sha256 = "0ysy6548wdf6k44bylbk969cakla8zk6n2laaajxrb0ydqdy8ryf";
+      name = "kde-l10n-ug-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ro-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/k2622ylc5rq0vzcaxs2qzxw19z1lf47m-kde-l10n-ro-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ro-15.03.97.tar.xz";
+      sha256 = "032rpjnh8b0idcvcnc5lc9kkgzvivk45sw4rg2b84rlwhnvs4yxq";
+      name = "kde-l10n-ro-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-el-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/q3ibkqyra322i3q042m1nwaaxjk7vy7x-kde-l10n-el-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-el-15.03.97.tar.xz";
+      sha256 = "0f6l2j743r98j6axn2f1rn76fibcjgy3n2lw15ahiik584gjmm3c";
+      name = "kde-l10n-el-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fr-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/hsjrf139kiykjcg4x6h7j4z6m0fhh6yq-kde-l10n-fr-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-fr-15.03.97.tar.xz";
+      sha256 = "1mv781g64w8vw8fx2jiavh8kdb21p0jzc3cnxgwphpz2igphs2i5";
+      name = "kde-l10n-fr-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-cs-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/dgkb5dgb9gdgy7q5bicn2lmdpd891hdr-kde-l10n-cs-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-cs-15.03.97.tar.xz";
+      sha256 = "1xqj92xk69csifq0hzx367zwvck1d89izdrggcqqki5rblgywixs";
+      name = "kde-l10n-cs-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pa-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/hxdn5gs171wjz2grpbdh1x4405bj0m8h-kde-l10n-pa-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-pa-15.03.97.tar.xz";
+      sha256 = "09sqxglpzkf4ai0kph4wybb2z7ccwkwgkz5n7k0iplv4c0calk4c";
+      name = "kde-l10n-pa-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-es-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/74s8g8x9znrx83ys4vqfmnf1fk0yw48v-kde-l10n-es-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-es-15.03.97.tar.xz";
+      sha256 = "0qqvqz7jcnzlw8l8wh4ngl54dnhj2hmdvha10yqh4jg93492161w";
+      name = "kde-l10n-es-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ia-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/xalqsk1g1inbk6wxirfbnjymzmf7lidy-kde-l10n-ia-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ia-15.03.97.tar.xz";
+      sha256 = "0k5gc5hf5nf6yizqdwkdwrhkhcs6hkansilr3hkwxjyl4rgn3xgn";
+      name = "kde-l10n-ia-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-it-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/n2k0lbnmwvzd6g62wm1fr451kapmdd3p-kde-l10n-it-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-it-15.03.97.tar.xz";
+      sha256 = "1d23k78pw8z17m1bwy9hnjdrfh3xsndbizir65slg7nhz3yn7zvs";
+      name = "kde-l10n-it-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-he-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/kcyax5wp8kfc52h1zhwd9kn8ix57v0ky-kde-l10n-he-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-he-15.03.97.tar.xz";
+      sha256 = "0lwbpnn3cl5069c3cqnx8g3n5k7wh1i89nj3s2qqwch13c1ri4qh";
+      name = "kde-l10n-he-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nn-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/f36j585s3fcxi3ddbnbwjcxn6dpm8g8c-kde-l10n-nn-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-nn-15.03.97.tar.xz";
+      sha256 = "1s319pjkd4xlk6qjvd0smzb462dxffbldj1ls8lbq3b66qj922nb";
+      name = "kde-l10n-nn-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/l532av8373imngcmnf1zl6mixl0wjpwz-kde-l10n-pt-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-pt-15.03.97.tar.xz";
+      sha256 = "0cxcp0n6qqwvnyrv595mkfvvrp09n8d07rwk2fcfyzcbiir619ip";
+      name = "kde-l10n-pt-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fa-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/k83ryjj4g5ksvwkx1ldhcp982srl4hrr-kde-l10n-fa-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-fa-15.03.97.tar.xz";
+      sha256 = "07ckz57ihr90filnl37dvvnpi7snax9i21bnblmw3lckhdd9yaj0";
+      name = "kde-l10n-fa-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hi-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/00lm3069ynks9d5w2mm1nf5psya0xmc1-kde-l10n-hi-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-hi-15.03.97.tar.xz";
+      sha256 = "0cw2x3p6llys54zlv2a1v383vbmyfjff9bwffs0dcxnvwpk2xbw2";
+      name = "kde-l10n-hi-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-da-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jhsjymvl9wqpxc0wjvn37h8px16v36bg-kde-l10n-da-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-da-15.03.97.tar.xz";
+      sha256 = "0yb780ciap47sa61pz66q3w4na7yqhvj1idb3vv28zh583yzhwjq";
+      name = "kde-l10n-da-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ko-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/drhl1i7qb41n9r5767adxx7jw21x5jxn-kde-l10n-ko-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ko-15.03.97.tar.xz";
+      sha256 = "19xwgs383kcypkz90q3d05szj8s8mw96xh0vy4v492hln6vrbw5w";
+      name = "kde-l10n-ko-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-eu-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/szl8g0yvc72cy83a2mzknkd0fpncyagh-kde-l10n-eu-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-eu-15.03.97.tar.xz";
+      sha256 = "07f987zsignkvgh63nn67qrspxs60nlyjgd0hjnnjagnvmm5n3nl";
+      name = "kde-l10n-eu-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/cd7lglrrq1a3d4paqlinxps93gvil3ai-kde-l10n-ca-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ca-15.03.97.tar.xz";
+      sha256 = "0rdmmbj2rfjfbpdanfwrfx5mz8a1b7yibqanwsnfjmxg2x7g2amk";
+      name = "kde-l10n-ca-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sv-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jiw90iwzrbdldkj606x598fl7ymj30qi-kde-l10n-sv-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-sv-15.03.97.tar.xz";
+      sha256 = "0v9q1hd14vx658swvirlrpzlsz56563nsfykwgpwpvp4nmsy4ryj";
+      name = "kde-l10n-sv-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hu-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/j7hl9spj7dg85hdylhzv7mfjj9fs35fb-kde-l10n-hu-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-hu-15.03.97.tar.xz";
+      sha256 = "084wvhsig3vdza8ik6cr7sicdhyyr0i1rp5y90mpgk9w4cpc4hdb";
+      name = "kde-l10n-hu-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-sr-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/vyim28mkvi3i41ij6jv3j0ma53mczxx5-kde-l10n-sr-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-sr-15.03.97.tar.xz";
+      sha256 = "0f76ynprvszvq1m2pycggfpng727dh3007hm9nfcdnic7riix7cs";
+      name = "kde-l10n-sr-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nl-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/5zg8z85gx4xbg85bv60bzq5ggiwsp6sz-kde-l10n-nl-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-nl-15.03.97.tar.xz";
+      sha256 = "1k7pb79r29fc4qdq9qsiv9ngycbl47nxnsy5hhig0mijnlyjafcg";
+      name = "kde-l10n-nl-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bs-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/zgrr858247hggw2zapfqy7r6dnjk7jal-kde-l10n-bs-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-bs-15.03.97.tar.xz";
+      sha256 = "0cpv16ss70pxlmmpk6gqf7ym7lgxyyc80np1c7rqh19wi4fyyhsw";
+      name = "kde-l10n-bs-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-id-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/52y7ar13x8k9j6r6lam9lfl44ic3gnlp-kde-l10n-id-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-id-15.03.97.tar.xz";
+      sha256 = "135jh54f39c28k0x8s6r0m0zzmbxyxav9br0n963501w0xxajprq";
+      name = "kde-l10n-id-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ru-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/xiqp0z906kdvbhwv5qvpzsz2b1x6035f-kde-l10n-ru-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ru-15.03.97.tar.xz";
+      sha256 = "1jh78m3hdzplwb9min9dxzp6f0qlksrlkv1maf6145g282xyx5z0";
+      name = "kde-l10n-ru-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-fi-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ck99fha1k79n8w31mj86h7ars0aj48l7-kde-l10n-fi-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-fi-15.03.97.tar.xz";
+      sha256 = "155ignyq0mmcvckam8dn6hg0hfj6gvcdcnvvp30wxg6v8grk85za";
+      name = "kde-l10n-fi-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-kk-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/w3d62n11mdpws1l6k33kwzssiwdj6jpm-kde-l10n-kk-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-kk-15.03.97.tar.xz";
+      sha256 = "0hb9kbz1kxdhl853jkqmxpspbrzwhg2kgns197sm0vqlzz8arjqh";
+      name = "kde-l10n-kk-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-wa-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/fybjx6l20cvkb8i1dnjbrvwai7dh84n5-kde-l10n-wa-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-wa-15.03.97.tar.xz";
+      sha256 = "0n4f7lllgjhii3jzw4jk969hrkhjx89j7s12f68jsxl7b74pwxni";
+      name = "kde-l10n-wa-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/hzv99y7kv4cgf2l3yjr4kc16pr6b0fjr-kde-l10n-ca_valencia-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ca_valencia-15.03.97.tar.xz";
+      sha256 = "0pxknkbj73a99q5ahpg2k1h2i0pdy53n4qsvc5v2k49ymb8av93l";
+      name = "kde-l10n-ca_valencia-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-bg-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6smzivm13xpsxzprjhh9jqm5v4dmlvah-kde-l10n-bg-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-bg-15.03.97.tar.xz";
+      sha256 = "0bw7bvjrn2j099nzg9yls89cf0i45hv17jnqdva75c3p4jll1jhb";
+      name = "kde-l10n-bg-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ga-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/zygnw1vxl5g44ckc4bvl0kqsaa2r1n1k-kde-l10n-ga-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ga-15.03.97.tar.xz";
+      sha256 = "14irxcprdg7zwca3d3653kpkp4xvi8h8gfi12gd4db3mr1pp680d";
+      name = "kde-l10n-ga-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nb-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/9fqz3hl48r057jf602hypf75lm83fp6x-kde-l10n-nb-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-nb-15.03.97.tar.xz";
+      sha256 = "0z6dfxyi5g223f7ljpdbn5zz3zfrh3s2zi7r7pi46bzx6xi4m596";
+      name = "kde-l10n-nb-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-mr-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/b2p6jnj81j8my15ms8wcirjlpspaxngg-kde-l10n-mr-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-mr-15.03.97.tar.xz";
+      sha256 = "1f89jw179s9wgrg05n6xzizdhkyxk8571rnmvczbzs11bdqkaa1y";
+      name = "kde-l10n-mr-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-en_GB-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/rg5h97vycf8sdp0jmrsvzr0mx1lnx3s1-kde-l10n-en_GB-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-en_GB-15.03.97.tar.xz";
+      sha256 = "0j30nphbqfq0r2m6vnv0xyybqqpnxx9py0vs76kdy6v0dwqbjk9j";
+      name = "kde-l10n-en_GB-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_TW-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jswff8i15pxlhj6m16hfscg7c9i77n0i-kde-l10n-zh_TW-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-zh_TW-15.03.97.tar.xz";
+      sha256 = "0ln5dam8mhbqsvdqk6h0r01f6yw7vrncb90d9ks5qr1q636w0c2s";
+      name = "kde-l10n-zh_TW-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-tr-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6civ9la05x0bdxm8l0d6ipyqwx5bf0q6-kde-l10n-tr-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-tr-15.03.97.tar.xz";
+      sha256 = "08msarjafiz3dnjw1a9x43ka780z3mpzxvil91gpbqkhypf00912";
+      name = "kde-l10n-tr-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-et-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/fbyglhlbacqjg4wfm1hny326n678iimh-kde-l10n-et-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-et-15.03.97.tar.xz";
+      sha256 = "09vpyq8i1nghpd9v27bija5fdrb4ifi90dhm8xsk22py21p7spzv";
+      name = "kde-l10n-et-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-hr-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/8jn5vknwcwd2fwb2ndv7lgb96jibf26h-kde-l10n-hr-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-hr-15.03.97.tar.xz";
+      sha256 = "1lvglcqwplz5nq1444dyjbnfz1g2v843hkh4nicsx98dghgsy4yz";
+      name = "kde-l10n-hr-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pt_BR-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/c5w8fkhy6qjd6zvhfkzmpvn54lh1pc78-kde-l10n-pt_BR-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-pt_BR-15.03.97.tar.xz";
+      sha256 = "0a95b9sdpwyzisb4whw9w08h1q2jdnz11lclj5zjwz1k6hwa7q2h";
+      name = "kde-l10n-pt_BR-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-pl-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ymrsrgbslqdf5q9r2yk6fshl37d6mz98-kde-l10n-pl-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-pl-15.03.97.tar.xz";
+      sha256 = "0gqicbckcxvpv5pcb73r91n294l6wya6xgqisybvms43afiqd1gh";
+      name = "kde-l10n-pl-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-gl-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/vpgh062m2rfrdd9q4ix7dmkbdipwnapr-kde-l10n-gl-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-gl-15.03.97.tar.xz";
+      sha256 = "198sldry5k941z928vp9vqmfs7ar7n50nybl56xh5w6b4b3qvxf2";
+      name = "kde-l10n-gl-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ca_valencia-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/hzv99y7kv4cgf2l3yjr4kc16pr6b0fjr-kde-l10n-ca_valencia-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ca@valencia-15.03.97.tar.xz";
+      sha256 = "0pxknkbj73a99q5ahpg2k1h2i0pdy53n4qsvc5v2k49ymb8av93l";
+      name = "kde-l10n-ca_valencia-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-ja-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/gp0zgzv913f244aba7549b47mrpc1y74-kde-l10n-ja-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-ja-15.03.97.tar.xz";
+      sha256 = "1l87jq4hl07vwvq8fqh9i0prw9y66fr4k2sdfbwhylzr187bh92n";
+      name = "kde-l10n-ja-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-zh_CN-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/cj4ipjrmmrx45026mifhm1sirmp9xjah-kde-l10n-zh_CN-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-zh_CN-15.03.97.tar.xz";
+      sha256 = "12f7m016fmas5ljjfiw6ws6cjv1g21w3aq5n91f2mk5c6q8y7k54";
+      name = "kde-l10n-zh_CN-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-lt-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/325p1547avvvjq5ccfpdrwnqcvs01wi0-kde-l10n-lt-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-lt-15.03.97.tar.xz";
+      sha256 = "0xb33a27ajx4674vm3mavmgdd46mk23gcnj1y1zbb52nhkmn659p";
+      name = "kde-l10n-lt-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-nds-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/dksx9raabi1kxan2ihy8iyzfixfymia2-kde-l10n-nds-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-nds-15.03.97.tar.xz";
+      sha256 = "1lv2mmyilpfrh3nszmzhc1cq10g088cgh34yy18wvr75zvjxy03s";
+      name = "kde-l10n-nds-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-l10n-de-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/sn20qqpfq5mhi9xzs12j91kbanp6lp07-kde-l10n-de-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-l10n/kde-l10n-de-15.03.97.tar.xz";
+      sha256 = "14w35wnh5j0x3wm69pys9ndjmfyf9066l6jc1ysas2hcqgn5mlzk";
+      name = "kde-l10n-de-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksirk-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/gi9avd4hsvl99xg9bwlaxagd2p4bmmaj-ksirk-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ksirk-15.03.97.tar.xz";
+      sha256 = "1ffg4l5gmk9p635xzk05vlhsmrksc1x0dlhwkniyndnn6bw9hxpw";
+      name = "ksirk-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-strigi-analyzers-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/gy96gs8knilv4zncq9hwby6z6ipbjmj4-kdesdk-strigi-analyzers-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdesdk-strigi-analyzers-15.03.97.tar.xz";
+      sha256 = "0zvcma4cwdq18sy0min65gp2b0my9dmwi09vfyrlkscr7v566vm2";
+      name = "kdesdk-strigi-analyzers-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccounts-providers-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/5ximj5vm43gvzspn0gj85608k7ii53m1-kaccounts-providers-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kaccounts-providers-15.03.97.tar.xz";
+      sha256 = "03xqddswyil1g66yrn8fndq1jsmmhas96ij9f8i5y4zp9w8gzbnc";
+      name = "kaccounts-providers-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgeography-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ygckwgrmiwh09kf1g8dryljmbn8l8vp3-kgeography-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kgeography-15.03.97.tar.xz";
+      sha256 = "06hm0gbpdf72y1dvfahf0yykhvlwpkx5zmfjgj7m4hhs3fng1268";
+      name = "kgeography-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "amor-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jb27xg2g2fnm1ricqi9f5kj66pxdagql-amor-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/amor-15.03.97.tar.xz";
+      sha256 = "1786pl826145d92wsll2l4wkx72ki8463avknz2y61gdyrzs37ka";
+      name = "amor-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krfb-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/lr5g99ymh78s05ivdp5dn4bsv5bhzpi8-krfb-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/krfb-15.03.97.tar.xz";
+      sha256 = "1dqzwmm64hbs8cbzy5mfm8kla0xsj9mia5ysl2nikpg32xw9wppg";
+      name = "krfb-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ark-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/n516a5jcj3dkqzm5p4bgz8igw78x29v3-ark-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ark-15.03.97.tar.xz";
+      sha256 = "0lrnbrw0gfmfqqybayqwbjy4vkdvlgflb7x8ssqv4jfxhwxbcq93";
+      name = "ark-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kteatime-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jj6cqd38jpyvnni1494z39zy9klpzlyh-kteatime-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kteatime-15.03.97.tar.xz";
+      sha256 = "0znna564iaw9f9z3jnsv5r0323gg460cpya5c2adpkgzb2h1q4rl";
+      name = "kteatime-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfloppy-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/8j8csh2z1s6k602y9dq446d5w4dk9mkn-kfloppy-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kfloppy-15.03.97.tar.xz";
+      sha256 = "0dpwdgzwdxi4591qp90zgxrh91pv259q0rz8ni695vb2zmjmad9q";
+      name = "kfloppy-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krdc-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/r2b93kzslw0h8ha58xxz01hyv4jnyvrg-krdc-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/krdc-15.03.97.tar.xz";
+      sha256 = "1bk410qp0rkpksywlmgl57kn1jral1g07bdqk6iy1bfsi8qrxz0i";
+      name = "krdc-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "print-manager-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/0a5g4rrhzsl42imcy2ajg2rffwh2cc83-print-manager-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/print-manager-15.03.97.tar.xz";
+      sha256 = "01xhvdm2nx2jmf0czi1jhdg6dlwhxga3562rbvsw3s2viwppy86r";
+      name = "print-manager-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccounts-integration-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/svp29501l2ihyb3zrdhfcxdzsz6kcad5-kaccounts-integration-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kaccounts-integration-15.03.97.tar.xz";
+      sha256 = "04f326jwppgcyhslrd1w3rlahg3cjm5jb7xnbv8r987yk6avr1wi";
+      name = "kaccounts-integration-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "granatier-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/qfsrsrz4nr018bs1gsflj1aps92g616j-granatier-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/granatier-15.03.97.tar.xz";
+      sha256 = "01fp13cgblm3rvpxl3ivvh07ip8hg7qw8iqcsnndg9xwcl2anj0f";
+      name = "granatier-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-approver-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/im6h9m6jfpz2c5p9b0ihz26347f7lj3j-ktp-approver-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-approver-15.03.97.tar.xz";
+      sha256 = "0rz6nzv4fxh80x5rrjygmy22wsrpfdnz12z9in0ssdni679gbpwm";
+      name = "ktp-approver-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolourpaint-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/bgy5rbcwi14p955dskr5yrd5kd4ywz57-kolourpaint-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kolourpaint-15.03.97.tar.xz";
+      sha256 = "0r9fwrkg2bcp6rww76iicc9nk1c99pi78y23r5ixhrgpggqhd9qn";
+      name = "kolourpaint-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscd-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/072vh5hkamljgjns6ayadkrj3d19ascd-kscd-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kscd-15.03.97.tar.xz";
+      sha256 = "1pp40y8bbixl0cyjahdb47057djff54bqad2y0zi62y0zwrdirsk";
+      name = "kscd-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdeedu-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/alp170k1qvl2azvm87anll8hblfi5d9w-libkdeedu-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkdeedu-15.03.97.tar.xz";
+      sha256 = "0ss0csdrnyjd1nb71hn9xwbfgh0hihpqa3hbylv7hwdr7zs9kk8g";
+      name = "libkdeedu-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kajongg-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/z93xrrq1jbxmw9a16wy3mvr03rnjv1ws-kajongg-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kajongg-15.03.97.tar.xz";
+      sha256 = "16m6mgzzhd4vjnznppqaiz9wly5x7l730j60k7vgrhy5fv8x2n0i";
+      name = "kajongg-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-kioslaves-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/maldvj3ir6n7rldvds9qi8pv8i4xxbv3-kdesdk-kioslaves-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdesdk-kioslaves-15.03.97.tar.xz";
+      sha256 = "0zk81h6w1ypvmzg7jkmmyy80drdbqldxqadzyvj9spi4s5ix2izk";
+      name = "kdesdk-kioslaves-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-strigi-analyzer-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ymx5ccf6rj3vrxrd7m4ilip3q6n1fw45-kdegraphics-strigi-analyzer-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdegraphics-strigi-analyzer-15.03.97.tar.xz";
+      sha256 = "1jl5kljqrp3jifca58kf0a79j5rdvmm49skzwggxjkdiig52hfi6";
+      name = "kdegraphics-strigi-analyzer-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konquest-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/j4fv1r2bq7rpbay99612d54q9acyrpay-konquest-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/konquest-15.03.97.tar.xz";
+      sha256 = "024as4191idnnqp98nbbzwlfpdh09fk0hkqcjc8bx3f6k1ijgm68";
+      name = "konquest-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kig-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/17kzr6sx4qj2j6v98km0dyds6vakp4yn-kig-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kig-15.03.97.tar.xz";
+      sha256 = "0gzrdla005flqgz8lgdskh5p4gczm7682mx2csqji74pmam4cz8k";
+      name = "kig-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kamera-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/na94hwvpdpssdfk0pgyy2b48k4xslnwl-kamera-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kamera-15.03.97.tar.xz";
+      sha256 = "0bd5dj81c75yl5d23nlih5hwjj0w3rd7r48iyrbc6f6jf5n2wbxq";
+      name = "kamera-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "palapeli-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/s60dj8yc70gk2iaybn9g6gb8qh3fis5i-palapeli-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/palapeli-15.03.97.tar.xz";
+      sha256 = "0wk5rwhijkg13hqyjj9nxd3yfqpq3czrsqsvd7qam5wndz9qvcln";
+      name = "palapeli-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbruch-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/0sfm45adnxqzqj1y39yvhvraaw1ym14n-kbruch-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kbruch-15.03.97.tar.xz";
+      sha256 = "1ph2wvc236gnvc1m66dsamfplxy013q3l5yhyn32q7zdnsf70c8x";
+      name = "kbruch-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lokalize-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/26fkssl1j9hxcf4a1sz7bna65w0h4qnx-lokalize-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/lokalize-15.03.97.tar.xz";
+      sha256 = "1d2i96laj0lykxgxyrpgsa4847jxm5sr8r3fx902fzww1jrnym78";
+      name = "lokalize-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kget-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/lxx2qmp8i27f5w7ywg5zxzwir4vvnvw3-kget-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kget-15.03.97.tar.xz";
+      sha256 = "0d815w9lxq352h13kgglacf2j9vq6f097ds25f892hhxbndrp8nk";
+      name = "kget-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwalletmanager-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/y9lvm079ijqwxb8ccjkyfn3w72vkb3ql-kwalletmanager-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kwalletmanager-15.03.97.tar.xz";
+      sha256 = "17f792q6n7n9wmkbjl0dlc7h30gnxgwli5b25zfgxja8zg0jpj22";
+      name = "kwalletmanager-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kolf-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/63qjz32hnqjbrffrwmqf1yff5ypndqka-kolf-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kolf-15.03.97.tar.xz";
+      sha256 = "0p8c2bl4qpghfgkbl6iqjr5b38ndf6afjciaivi14mximbyzbh0r";
+      name = "kolf-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktimer-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/7m91r3kgb0wig6sfwd3bbgs0jg6g605y-ktimer-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktimer-15.03.97.tar.xz";
+      sha256 = "185d6rx5pamkiw66k67fmq2bzi2a47784l9hr21dj303vw8i47wm";
+      name = "ktimer-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kigo-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/fvyllq15h7lrwnsq783pk544x80mnyy2-kigo-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kigo-15.03.97.tar.xz";
+      sha256 = "0dz1zy4l2dkbnv57yhcy3m85d8smb66jj1l0gxyk7az72v84gkai";
+      name = "kigo-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcddb-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/2yqqhcg2rwrjdzmqrsyws0r98w5lzfll-libkcddb-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkcddb-15.03.97.tar.xz";
+      sha256 = "1mq8gjdyswdxgsa8h9kiq86qr79wm2c4xbd39x42k574ld3a9hb1";
+      name = "libkcddb-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapman-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/bsw2jxhivvp72fxjsbbr7vh05dbwnq4n-kapman-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kapman-15.03.97.tar.xz";
+      sha256 = "18lvjb4kw4jghxnqd70qnwm6nizmhpyqb196mjdgca1b4yccxagz";
+      name = "kapman-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-mobipocket-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6s4rvbx5kmrcrp87dxlq89yqphc3s0i2-kdegraphics-mobipocket-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdegraphics-mobipocket-15.03.97.tar.xz";
+      sha256 = "0rrir6ljzapfx13mag1xg7953r1lkbm8ghi9vh317qb1qcc3r6gn";
+      name = "kdegraphics-mobipocket-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kuser-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/qnqf58icdkspgy9lrnb5sgxhvd4cgi5i-kuser-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kuser-15.03.97.tar.xz";
+      sha256 = "1d6gcxpjxwkcywfw0kshc5h9f9hwc3wj5mr2i08qa8jwc9r2givg";
+      name = "kuser-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdiamond-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/a2l33j3d8az9pyzxwj91jsi8fxdxca7q-kdiamond-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdiamond-15.03.97.tar.xz";
+      sha256 = "0hfp2qfrkwm9ikk9vixdcfam61zgkhzaf38vqcb4bgshikvr1p21";
+      name = "kdiamond-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "mplayerthumbs-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/qmk99gqqfi65mw645d42g50dhc5x04bj-mplayerthumbs-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/mplayerthumbs-15.03.97.tar.xz";
+      sha256 = "1i621i1blh6xsvxk5xqgzgad1w8wld2qdlv4ywh5ab1glhzkm85i";
+      name = "mplayerthumbs-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-baseapps-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/k38m1i2v10lg56hz55v5nsq0xr782kq7-kde-baseapps-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-baseapps-15.03.97.tar.xz";
+      sha256 = "0bd3axrxnr7ydhl06skvb1v0254gx0nws7lcl3p41ymd3flkygbc";
+      name = "kde-baseapps-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-filetransfer-handler-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/4ayjbvs3jq9fdkfxp93bgx8fj3amkzip-ktp-filetransfer-handler-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-filetransfer-handler-15.03.97.tar.xz";
+      sha256 = "0dw696s1sp8g5n8j54zg743kf3l6iaanqw7q6yawvawx6h7pq8hz";
+      name = "ktp-filetransfer-handler-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktux-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/9gvqvglrrdlqs66w7bqbbhk23hyb7q9m-ktux-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktux-15.03.97.tar.xz";
+      sha256 = "1qydzqsr3xaxdgp6fck9qfzn5sn7k7gqs9pnj0j79kxsj5kqmxby";
+      name = "ktux-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-utils-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/45rkyfima16qf8m5i33pgjhhm899f3kq-kde-dev-utils-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-dev-utils-15.03.97.tar.xz";
+      sha256 = "19ks03y8n8ld5d0pwsgcs8znlpsvczdgf07lg286rv4qd337bn9d";
+      name = "kde-dev-utils-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "pairs-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/k5v5aqiw9irbz8vn2shsfyy12fziz80r-pairs-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/pairs-15.03.97.tar.xz";
+      sha256 = "07ayicd59jk0fz0jzigdnx0xsqaml9wc85k2xwl7171ly19gmdl8";
+      name = "pairs-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dolphin-plugins-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/0zxs3hp9y23566xjspk0k9h74bygxam9-dolphin-plugins-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/dolphin-plugins-15.03.97.tar.xz";
+      sha256 = "01zkpkn741pnmnamf42p0i43j4z2mv8x9xclsbxq4x56jdclpi1b";
+      name = "dolphin-plugins-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kstars-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/plq1hcmz2yv44sqxlfnrg2rfny0cn13n-kstars-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kstars-15.03.97.tar.xz";
+      sha256 = "14r7d5cwx52lbh2dp4rqvvq53g93zjp11kh8jknibfh3rx2j1g3g";
+      name = "kstars-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khangman-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/qw1fzl3g5ax1xbhs02ys9axnpi6ycwqx-khangman-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/khangman-15.03.97.tar.xz";
+      sha256 = "1kryg8c9vj5z1jcjgmj5x7s2jxhlb6jrdvyb5jpmsc00kkbiq55f";
+      name = "khangman-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "superkaramba-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/9rgk4ahf3vp7g56vhwkf0h20llzi0q5i-superkaramba-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/superkaramba-15.03.97.tar.xz";
+      sha256 = "13cqka2l6lnlk3z6650rdw36pfislsnm8j82qakm2w88x0czmygb";
+      name = "superkaramba-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiten-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/f3b6vzsaqpxs76g2qr748m1lbkp5w2x7-kiten-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kiten-15.03.97.tar.xz";
+      sha256 = "10vjhhivy06nrd3iqcqny2misg878q6i6ikig2a0spsjqxsykivf";
+      name = "kiten-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sweeper-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/2g0zw9y5fq2wkfdbws58hbbz824ck59l-sweeper-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/sweeper-15.03.97.tar.xz";
+      sha256 = "0p4hmjz36znr2w3a9b01mx9pygwbnsbmybc0lr6w1hjk66006slj";
+      name = "sweeper-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "konsole-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/y3405ndszj3rwsll7n265wwk7b4zs2wr-konsole-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/konsole-15.03.97.tar.xz";
+      sha256 = "0gjv58sz55jybcq15pl1nnd3y9xw41rmw9ql7h155rxyyr1sicfg";
+      name = "konsole-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcachegrind-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/kw8g49szvz2q8sr2rw8gkgk3njjr2hai-kcachegrind-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kcachegrind-15.03.97.tar.xz";
+      sha256 = "09lqqwknzgwnx3wy2kbdh1ci971vpjq5zpnyhlfrq7ngb471469y";
+      name = "kcachegrind-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "katomic-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/1d2pfw38a4pbvw12a0py52c31a07mf6y-katomic-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/katomic-15.03.97.tar.xz";
+      sha256 = "04qcarmkzm914rwfwc2jpgp3p5kdv158k066kpmhfg83sbd5nicy";
+      name = "katomic-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalgebra-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/hq5ln85966sl8azjlmqk3r42niy2w7hz-kalgebra-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kalgebra-15.03.97.tar.xz";
+      sha256 = "0sd1fl57xli8gwn8g1byshyc74mbqp949h5jq0r1pwcvvcxn4zih";
+      name = "kalgebra-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knavalbattle-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/kjrn2cxkzkhnc5fdsvhbailmn1amag6a-knavalbattle-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/knavalbattle-15.03.97.tar.xz";
+      sha256 = "0p6h0c2msg930yvx6fy0xa5is9y8dhrzahiir6rk5mp3i4iiczsw";
+      name = "knavalbattle-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmag-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/dxzhs1qgzsyjs1ryrajdyynszh2vc829-kmag-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kmag-15.03.97.tar.xz";
+      sha256 = "0a5ibbzxj6dxxnafmgs5rfxmg80hg7kviqadkam7argv2kqqqyf7";
+      name = "kmag-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-contact-list-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/hip8z67xgz9c6il2km70jjyj1ffybzdb-ktp-contact-list-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-contact-list-15.03.97.tar.xz";
+      sha256 = "1q9m91a5caxill86pzx05wkqb57vgxpcgvjjwfdk80xy1jfjl0mj";
+      name = "ktp-contact-list-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kollision-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/yhh09c7kvvsbla8ml2s1x0vxmshqkqv5-kollision-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kollision-15.03.97.tar.xz";
+      sha256 = "1pck211yp3z93ypmi6iglvbjjm76hd8c5862zh32z04wf9flj67c";
+      name = "kollision-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "svgpart-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/zxw8q532b6iakic511m1p4rqxlwszmcy-svgpart-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/svgpart-15.03.97.tar.xz";
+      sha256 = "1vs5pnnwjawvyw44mh0bhjb1nf432jfv2a5d8q8yfh17dw7yc4n4";
+      name = "svgpart-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdf-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/z45gsfngyzihcfsr1fxv72l0pclxj4wv-kdf-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdf-15.03.97.tar.xz";
+      sha256 = "15kjbgl1ddwpmcrmc1gv1zd2kvywicy866ib1ab413w90h8ch6pc";
+      name = "kdf-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "signon-kwallet-extension-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/f6gzb36gsgkpwfyz9vf125fc80hsd8h7-signon-kwallet-extension-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/signon-kwallet-extension-15.03.97.tar.xz";
+      sha256 = "1jn7bn3asd3z6zdw9f8kmw5qrd6qc3xkb9hwzfdiyzvnx4mkphkl";
+      name = "signon-kwallet-extension-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "gwenview-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/k4kw8xlacdm3cszh21a8kcznj5qw0szx-gwenview-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/gwenview-15.03.97.tar.xz";
+      sha256 = "1qznk4aw8bp0d5hqqmrwfgjdmlwzp71dckik0xw5kcl19y2yb50j";
+      name = "gwenview-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "dragon-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/5m5q8y2xyvcl81k1rsqivv4w1hki8rp8-dragon-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/dragon-15.03.97.tar.xz";
+      sha256 = "1vv7k807kpfyfkj2hckdx9i83br1w87q0c280q79c0867kqz93ly";
+      name = "dragon-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnakeduel-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/2q9z23rlgzgliqdd9ay7213diwpwp4n2-ksnakeduel-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ksnakeduel-15.03.97.tar.xz";
+      sha256 = "0pfadpsg35dwy5gxb0w8f2kwam1hsr1hxhnk59rck42a00vgm9a5";
+      name = "ksnakeduel-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiriki-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/p4ya7jqqlhdhvw889qfy31x03akxpsh1-kiriki-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kiriki-15.03.97.tar.xz";
+      sha256 = "1a589bnqfl678mpah6lxm6cif3gn1drsb9d9mfq8azsxa9385hm0";
+      name = "kiriki-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkomparediff2-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/0a3yw0r25hp00j0k9y2qafysiwss7382-libkomparediff2-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkomparediff2-15.03.97.tar.xz";
+      sha256 = "0g2ivgpxmjfk5grqiw4y5j9k6bzrkyyrghq2kf8s6598k78cr6r0";
+      name = "libkomparediff2-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdegraphics-thumbnailers-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/b8fy5jqvnrnqga38g2srsd3yh8hm1m0v-kdegraphics-thumbnailers-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdegraphics-thumbnailers-15.03.97.tar.xz";
+      sha256 = "00knd3apdy6x3p2sp8qqlhamk8p1wgzikximx4qqfnkpjxh13bhp";
+      name = "kdegraphics-thumbnailers-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-base-artwork-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/nrfkmwagh0q5p3f5qjr3yyzzwjisqnyb-kde-base-artwork-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-base-artwork-15.03.97.tar.xz";
+      sha256 = "0zqs8bmnl8lzw9a9830bgxpx9jf03wp2c21f5jd8d1fg1pps0z0i";
+      name = "kde-base-artwork-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "poxml-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/rqwxd5519acl8q2672iq88vs2zqsrkl8-poxml-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/poxml-15.03.97.tar.xz";
+      sha256 = "1lsyld927xcqi875r8q7gvcy0jx1zbizwnfiwax5hjmk8qcv92h9";
+      name = "poxml-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-kded-module-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/j80ahh8qk9yyp3aim9ng7hddw2rk9bin-ktp-kded-module-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-kded-module-15.03.97.tar.xz";
+      sha256 = "1gxk9i4yf8x4kivkji0850i64vqqir1rpmv7mi31ka0lxrnh9426";
+      name = "ktp-kded-module-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-auth-handler-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/z9kvvyqq45jyj4waqw62nwsqglh179bn-ktp-auth-handler-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-auth-handler-15.03.97.tar.xz";
+      sha256 = "1pgh1700iq0l9ayn09vfwbqcaz430r1p452fhsawa9cqhh5fb7y0";
+      name = "ktp-auth-handler-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblocks-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/pviq202zvlr66w44nryi7sy8n2345rn9-kblocks-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kblocks-15.03.97.tar.xz";
+      sha256 = "0ix8fxrkppp5vx0gp8pmcx9cckbnp3v06mwq98ca3pfdm63g6ld3";
+      name = "kblocks-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesdk-thumbnailers-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/rc1kfmfq3y62m7sxirpnds1afwhg5618-kdesdk-thumbnailers-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdesdk-thumbnailers-15.03.97.tar.xz";
+      sha256 = "0dw2g7rxb02sky91k86bk59ihwzzadbm89gj6kizzibj31dfgza7";
+      name = "kdesdk-thumbnailers-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksane-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/76wzxhdcg2wpl5fbm2d8vphnv5wm592m-libksane-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libksane-15.03.97.tar.xz";
+      sha256 = "0p7mpk2sfiq85v6f7cr1wffrgnpw33dy8x3g8vv8xbh0bry0f6vj";
+      name = "libksane-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "zeroconf-ioslave-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6bc8lg99jgzzix5py3kmzn5s23nzb543-zeroconf-ioslave-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/zeroconf-ioslave-15.03.97.tar.xz";
+      sha256 = "11m3212np5i0mifzxcw8g21mbighf4512whwaipizrr5pkmiqaq0";
+      name = "zeroconf-ioslave-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kreversi-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/bn905pbkkw9pfk1zi4ibgvgbvqmmg3bh-kreversi-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kreversi-15.03.97.tar.xz";
+      sha256 = "060l13gvg40sb35ysf3s3b6rf9dcqxbg7lxq1mrkq9b41gnnwffs";
+      name = "kreversi-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapptemplate-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/4mszqip3y5nxh2sdicrljgkahzd4g76p-kapptemplate-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kapptemplate-15.03.97.tar.xz";
+      sha256 = "0ydp2dllzcm1clxlmlbz7das9kgxlgy10qazs9bqmciydz3s67qf";
+      name = "kapptemplate-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "picmi-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/dazflxly4rz3bcg7np3nkzkm1rv835kn-picmi-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/picmi-15.03.97.tar.xz";
+      sha256 = "0wrk1clrg7k3fb48bx11kbp3a71riw9ghjvmjwsvliv5iry6lijf";
+      name = "picmi-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebdev-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/gs44r2c2nxj0dy367xjyqx5k7x952wb9-kdewebdev-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdewebdev-15.03.97.tar.xz";
+      sha256 = "1g15jvpismsya39j27ikwhm7gy36kshxfdzfg6s53vgfh7kxba3s";
+      name = "kdewebdev-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "cantor-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/m2qzkyb1yry7a9qia5vys08smymzh1fx-cantor-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/cantor-15.03.97.tar.xz";
+      sha256 = "0zy8pc55j63y4m7zkg700rr1561gvq5iq5g729csaaj5rxrs0qma";
+      name = "cantor-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-text-ui-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/5fdsd7z8lwn3i9iq17zcvjxqglw7d2m5-ktp-text-ui-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-text-ui-15.03.97.tar.xz";
+      sha256 = "0crv5y7c01v5s5y9mfbaz862kiyabii6ys1mv7zd1y9j1jlncmbc";
+      name = "ktp-text-ui-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbreakout-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/h6p7mjbmvzilnh64sgssy5ibk59niqck-kbreakout-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kbreakout-15.03.97.tar.xz";
+      sha256 = "1a226j933pb338i61zhfbj4qbfim47ac660g35ka49r9pd2r97h7";
+      name = "kbreakout-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "marble-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/0gjp7ilj861p1gcyabcd593ai1fsb5cm-marble-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/marble-15.03.97.tar.xz";
+      sha256 = "1saifm5y1ldyrbmqqbl42cyybxh830rs6v33pxx9ra29ynir3pnh";
+      name = "marble-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-filesharing-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ycrpyyiz3x1x9m4fkvryqad2bhgwzlr1-kdenetwork-filesharing-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdenetwork-filesharing-15.03.97.tar.xz";
+      sha256 = "0wcg17p1wqqrxqmhqa216aps78r9w061s0a62243k1avfag4mn5d";
+      name = "kdenetwork-filesharing-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-dev-scripts-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/m4d76q6jhxiy16nchx1bxfwavr3947q6-kde-dev-scripts-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-dev-scripts-15.03.97.tar.xz";
+      sha256 = "1nfanhgv8kzzak76brg71vwdbdz8nbhc457a5a21x3qa6q8y9cfv";
+      name = "kde-dev-scripts-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-contact-runner-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/nb1h1vyf5yic9dbf02lz8x6j54x9qjcl-ktp-contact-runner-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-contact-runner-15.03.97.tar.xz";
+      sha256 = "1pddmcmmlpan5ahykisfbijg5lkl1bffcc60xxlcanxb5s6f2f7i";
+      name = "ktp-contact-runner-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenetwork-strigi-analyzers-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/spp4d4shq598fzvlz27gcvzkj1wd5nk8-kdenetwork-strigi-analyzers-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdenetwork-strigi-analyzers-15.03.97.tar.xz";
+      sha256 = "1a084dxal4l2h92mnzi6brwj5fy0393jwk53ph6lh4nc7902jsjn";
+      name = "kdenetwork-strigi-analyzers-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdegames-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/him1cfdfb128nr9l2aa4qj8bzrh3vmp6-libkdegames-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkdegames-15.03.97.tar.xz";
+      sha256 = "05s0yab89mw6997akr12jlx0zfx4365g5y96929np0qrc1vmysv3";
+      name = "libkdegames-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkipi-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/rnyfpdin4s3a0gksi82h8gyq7fkx750f-libkipi-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkipi-15.03.97.tar.xz";
+      sha256 = "1ckvjc528p2899sszw0z7z9cn6ayimcq2d7grp7bnlkrri1dwgm4";
+      name = "libkipi-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "juk-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6hvijhzrxkky1nxw88zmc5gaw16k26b9-juk-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/juk-15.03.97.tar.xz";
+      sha256 = "1749dn860vzzxbix3rnwlmg8gsa8fgjzy3dry6zv2hrwzvdd0x2c";
+      name = "juk-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "audiocd-kio-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/1qkh8akfvjmllbzz06jszpq6yqp4504q-audiocd-kio-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/audiocd-kio-15.03.97.tar.xz";
+      sha256 = "12djfs6dnvqjpmjjp32rls76l2fh43snd7d351qcyvylg1xzszzk";
+      name = "audiocd-kio-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeedu-data-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ykqy9kcqmsiqnm3f4i3dd4yn6a4ckac4-kdeedu-data-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdeedu-data-15.03.97.tar.xz";
+      sha256 = "0a31pwim66i5581kxqa9zp96n7ynbm9q133mmp6mznrkh719wmmq";
+      name = "kdeedu-data-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-icons-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/l5m57r1rs0dnd44snj35idjrxclz3c30-oxygen-icons-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/oxygen-icons-15.03.97.tar.xz";
+      sha256 = "0b3m1wsv21pfsls7xgrbdydskspy4sfyd36hisd3yq2m4l2rzhla";
+      name = "oxygen-icons-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfourinline-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/gi0k7kp0aw1f8bp5jyqg9zhzzcgd53ch-kfourinline-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kfourinline-15.03.97.tar.xz";
+      sha256 = "0bzp31i2lk14p17rzmdgia3wb1sl52a16rkigf7bixsxh0kpmjp8";
+      name = "kfourinline-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkdcraw-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/s9vvyqnqqyqxw5xf3hmhrkv2ql6h1xl0-libkdcraw-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkdcraw-15.03.97.tar.xz";
+      sha256 = "1v0klb3p8g05r4g0nmnw606cjr5pcm79wbf2sxcx3a62h8hfd1ab";
+      name = "libkdcraw-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdenlive-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6h09z9zvai18h5i6mcd1h1qixjn7rv7z-kdenlive-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdenlive-15.03.97.tar.xz";
+      sha256 = "078jwsi6zgxz8g9wzgsx58px019y62vwizx1f4mdb1l59zz4qs66";
+      name = "kdenlive-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "artikulate-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6ll6l4smmasjf6v6ilcyqfiqcyfv9lqc-artikulate-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/artikulate-15.03.97.tar.xz";
+      sha256 = "08zlxxjq2axfv7q6hvm90yppc19rslic43lwj7v3rlbpzafg6bfw";
+      name = "artikulate-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktouch-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/57fg1nxpfmx0g2v7z99gz88h9krgzx6v-ktouch-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktouch-15.03.97.tar.xz";
+      sha256 = "0kvd8lps9mwrj829jyjnm30nvv45k7v9bdrfjbign9qzncchfyzn";
+      name = "ktouch-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kopete-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/xsak17jj48is7x0cn7qc2ivlfldvssbh-kopete-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kopete-15.03.97.tar.xz";
+      sha256 = "0cqi4r6ks8320cl2ndjmlhvbbz0g5xjkrn8h5vhvhcx6hzllqfjz";
+      name = "kopete-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klines-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ga4495j41nv294455zi3kjyd8f81klim-klines-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/klines-15.03.97.tar.xz";
+      sha256 = "0pchlv45y3bga30fka4sa81hp6wpb9n4bsjcfisivwcq9l1x2xx3";
+      name = "klines-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmix-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/ln69lwqgwrlj6lvgz7rndxi5f979blph-kmix-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kmix-15.03.97.tar.xz";
+      sha256 = "043gc9dnc6lrpgnqqkqzc2ybp5wj9xkpwb53r7bzvr02aivci85i";
+      name = "kmix-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcolorchooser-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/lz6spcw13ab1ac21hc3bkg1v7rgkjzh9-kcolorchooser-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kcolorchooser-15.03.97.tar.xz";
+      sha256 = "0d2y21frbmq9ga4aqhr0x1bkjdx10564f8xadaymh6q8wvygizmy";
+      name = "kcolorchooser-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksaneplugin-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/r4cdj27zvlsi1w0989l97v8h02j66aif-ksaneplugin-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ksaneplugin-15.03.97.tar.xz";
+      sha256 = "0zng7rxy5qf3lrds90a652s1qjd8rrzc2b895i08kf85p4mqi5k2";
+      name = "ksaneplugin-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksudoku-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/iv657wf7d2jzdcyagpih9i1zjak1x4q1-ksudoku-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ksudoku-15.03.97.tar.xz";
+      sha256 = "09z4jk68cakp68rnz0q1xwfyxa1ykphyl639nmqzm2djfs98kph9";
+      name = "ksudoku-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kubrick-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/f310bqpghnfsszcmz1mijr768pb75cwn-kubrick-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kubrick-15.03.97.tar.xz";
+      sha256 = "12q81gggxfd7s2pwziw3z9p18kd4lapplc6cvg6wycf62gv7zxj0";
+      name = "kubrick-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okteta-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/i0xk4a4bsg33lz0hi2ppbjmkv135kayr-okteta-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/okteta-15.03.97.tar.xz";
+      sha256 = "14pd1zag13qqd5nq25shq46hrgh7m45ch06w5hb5cqg3zc6zv5lm";
+      name = "okteta-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgamma-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/zq9mxrmdsrdnwi3wzx53xnz67907wpa3-kgamma-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kgamma-15.03.97.tar.xz";
+      sha256 = "18h006i0fm997i9k1r4il5pj217klhd8xgan0jpx56kbvh0csd19";
+      name = "kgamma-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpat-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/nx9ifsjl88y9r84zki7hm7d0ss7fmxyz-kpat-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kpat-15.03.97.tar.xz";
+      sha256 = "1yz5sv3j2fjw89qdrm96xqr04fxrnpnsa1y6i5y5381hcd9r9j6m";
+      name = "kpat-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkeduvocdocument-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/j3y9bi6k3ljsbgd1wclylq6scqq12xn4-libkeduvocdocument-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkeduvocdocument-15.03.97.tar.xz";
+      sha256 = "1sayd4pipx2hgafxw03pjigjmqk5vkz2cbc3wjvwzsaanphg5sr1";
+      name = "libkeduvocdocument-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgoldrunner-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/syj9kp9rm42nnl9zr90y3fdkjmmmx3gr-kgoldrunner-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kgoldrunner-15.03.97.tar.xz";
+      sha256 = "1rcvd6dmdnwr44w8aq4bg9z88byz398dqq5ljjnb7g205khwkq70";
+      name = "kgoldrunner-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmouth-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/xj18z9g22xdwj527i6jmimh5f48966zc-kmouth-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kmouth-15.03.97.tar.xz";
+      sha256 = "0m8fl816g49ffg65rff1ml15hp4zdgny3j2s4wwyr7csnh1cyx9s";
+      name = "kmouth-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkcompactdisc-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/vgnd6d8h7ljsyw1c3d3amfndy648mhhh-libkcompactdisc-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkcompactdisc-15.03.97.tar.xz";
+      sha256 = "0by16b1c99xnf4cif909yxgfbd4kwxp2x0wbgsrvmhrrll18ahrx";
+      name = "libkcompactdisc-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klettres-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/qh7laq9bq945p4nwkgl9cczfa67c3k8d-klettres-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/klettres-15.03.97.tar.xz";
+      sha256 = "0rc3sgnzv4lvkbp3bf1lgqzffvpnv88c21m95y1anl357yfqhpll";
+      name = "klettres-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "lskat-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/kznx0jnx85vmkkhag5nzdylghaham14l-lskat-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/lskat-15.03.97.tar.xz";
+      sha256 = "0ml5r1p8x6sgxjk3fkqsvyrwaqnyyjxjy4jrsxq29z5bcsxwkdwl";
+      name = "lskat-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-runtime-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/y1l5d03ds6c9mi1hq0k85aslncls27zx-kde-runtime-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-runtime-15.03.97.tar.xz";
+      sha256 = "1f008crhnx58h28hn3mjm8ggqwwix42jg3vbch3zg6qf3y5g8pbl";
+      name = "kde-runtime-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ffmpegthumbs-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/licjww29xgrhn22ic9s5zcm6321d8jdl-ffmpegthumbs-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ffmpegthumbs-15.03.97.tar.xz";
+      sha256 = "0116dd6lijy943hq854x0ksywqxpswvn1sijmd32bii65i4w4jkf";
+      name = "ffmpegthumbs-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjumpingcube-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/84bklrq71nsbw458czr4s9i0s612j3b1-kjumpingcube-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kjumpingcube-15.03.97.tar.xz";
+      sha256 = "1gdfgi3sqx2ix91qc1xbb2njsc92qqs70qg1y1i58hxd6y9zcba4";
+      name = "kjumpingcube-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kqtquickcharts-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/xk3c4d55xm6b67n5gxip9b14cinlyhzi-kqtquickcharts-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kqtquickcharts-15.03.97.tar.xz";
+      sha256 = "19q714d93il100qrdyq368jdr9cdrspm597rnw70wns0yh4yxla6";
+      name = "kqtquickcharts-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "okular-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/rxdcw4768763s3665d971315dp0h6khy-okular-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/okular-15.03.97.tar.xz";
+      sha256 = "1jvppqlq94n81shh41dx1q53d321fiy5wg6gai96klyk5apnavr7";
+      name = "okular-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeartwork-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/3s350sis8fvm65dza217jj8ahmawwjs9-kdeartwork-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kdeartwork-15.03.97.tar.xz";
+      sha256 = "0fg261vrygxr97rn4yy8n8150icvnj8alkvva5s1hff46z1pjpn2";
+      name = "kdeartwork-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knetwalk-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/dzp0xprdjz6fvxp0pd2msxdi296yxnxy-knetwalk-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/knetwalk-15.03.97.tar.xz";
+      sha256 = "0pf658hdzzm5ax9753iyhxdq54y2rkwb22i31iqrq01m56mlqflk";
+      name = "knetwalk-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmousetool-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/s7zbpyk892flqfyr7b8h9qxg97wdsmbj-kmousetool-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kmousetool-15.03.97.tar.xz";
+      sha256 = "0slvrl6wn5c213wfpjpdcbq89rml2afcvfhrq7vw4kxc6xv57811";
+      name = "kmousetool-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktuberling-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/gssrywn435h5z1xk2lplll0gvkxlihd2-ktuberling-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktuberling-15.03.97.tar.xz";
+      sha256 = "1i6k3kpsn58bjj6187q0lay29xyknfn9k69qr4i8ry81j73qbm77";
+      name = "ktuberling-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kalzium-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/1wb93a12gm4ygqfdhwn83s1z5ma2y69n-kalzium-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kalzium-15.03.97.tar.xz";
+      sha256 = "1wz9mksqk3d8n0pgj1sxfrdxgann8d6v4dj2vfl6l600ip0mzycw";
+      name = "kalzium-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "filelight-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/c135ykjfry7k6fk5khr1sicwkckvp52a-filelight-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/filelight-15.03.97.tar.xz";
+      sha256 = "0c30n68mbrp2cnqwbrh2r15vm4nppcrfxizsqc4gnfhrl1p3yyiz";
+      name = "filelight-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kate-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/9c2rnwlc8j3k0yjbi83j7p44c3kgpfz1-kate-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kate-15.03.97.tar.xz";
+      sha256 = "0ccfrp346yb677fyjlqs3s30400z461cj841pmvi94cjnqlydvkb";
+      name = "kate-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkface-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jbdz7p1hl659yyrziql6aqynh8353p9a-libkface-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkface-15.03.97.tar.xz";
+      sha256 = "1gd719gxcrg88hnbdd01zflkphlrkfk3vl29w566vfg9wgdh93fj";
+      name = "libkface-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksquares-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/8gjxjvxh20x22wcwxpli2zkj9bjcwbn6-ksquares-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ksquares-15.03.97.tar.xz";
+      sha256 = "0ylpnhcccfxbkkjhzs907saq9rmqkin41ynzn1pik6y4g8asgjgf";
+      name = "ksquares-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bomber-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/2yg9z2ayyi77z7czj2phpbjdbdx2mdmv-bomber-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/bomber-15.03.97.tar.xz";
+      sha256 = "08hgj0gpkqj644nl9c9jcrqkzrz9dhh91rkvzkn0c9080s21xqhn";
+      name = "bomber-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kaccessible-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/y7ga3ldhk55z9r2iji8vr1xwypl5w5sd-kaccessible-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kaccessible-15.03.97.tar.xz";
+      sha256 = "0gm4nyx8w2dz6631mryqkznqnaag8fslr1x703nd9bvx6nbaf973";
+      name = "kaccessible-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-send-file-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/mirisvq9ddryfyqiixr90pqqcbwfmssw-ktp-send-file-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-send-file-15.03.97.tar.xz";
+      sha256 = "0sbq0xsw0g0vh268021csf22igyqhziy4j0imqziza3p708h1hx9";
+      name = "ktp-send-file-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kanagram-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/1c46ll16k2didp2gqw8931l4975h4a0k-kanagram-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kanagram-15.03.97.tar.xz";
+      sha256 = "1798s8hb4ikzy1bczylywjcglwc8wqwakn5chaqaiyazl4m40gdx";
+      name = "kanagram-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmplot-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/zigxsksdg9sy843b5grwa6rw7v6dzgpl-kmplot-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kmplot-15.03.97.tar.xz";
+      sha256 = "1irra5rncpsvhiapxs38340bxzn1z86fgj3jqypv1b95imgd1j4l";
+      name = "kmplot-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktp-desktop-applets-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/sgq7pvdskhmwjrrdy4szvn0am8mm8p85-ktp-desktop-applets-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ktp-desktop-applets-15.03.97.tar.xz";
+      sha256 = "0yprnnjjjx60zi9g1wf0ngwrqsnzdbvgqlnpy53ypmsmk44mmpvq";
+      name = "ktp-desktop-applets-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kshisen-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/rgr55x43xyzsxl142xzp5qdxal628k5i-kshisen-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kshisen-15.03.97.tar.xz";
+      sha256 = "0v9nh6bl22khc79fxlq2ywa9f50hb261m0fa1xinddq2p1vkgh1a";
+      name = "kshisen-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwordquiz-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/sry2sq14f7xaa4923mq3hhhsn9asxvb1-kwordquiz-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kwordquiz-15.03.97.tar.xz";
+      sha256 = "0l5vibrp632r47vycxzz2sprgz9z8gvrwgw8wa1j6rj77n5df0ji";
+      name = "kwordquiz-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksnapshot-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/9fbhvnrkqdyp67cq4djszrwi1ap1alqr-ksnapshot-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/ksnapshot-15.03.97.tar.xz";
+      sha256 = "0ps703b3xrkm9rk07kn3bf7df17wpy9syr4vqz8clvqkkvpminjk";
+      name = "ksnapshot-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kturtle-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/xwy4rkjppksz5yjj5d4i6gf0rm588rhg-kturtle-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kturtle-15.03.97.tar.xz";
+      sha256 = "02rrs9b4ynbch14r3yknnf31mgksv9wi61yj7zb1a3n0lysv6rzx";
+      name = "kturtle-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcalc-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/6n5aqymfc5ry8vpzgqg8pdf9g98093jl-kcalc-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kcalc-15.03.97.tar.xz";
+      sha256 = "04xbym3jqcqyly2pv5m3v4z9x8r3bg66x0z862pj8y8i1n79lwgd";
+      name = "kcalc-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bovo-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/np48z8sc9sb5szhbxxgxh0s9pczvk6jy-bovo-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/bovo-15.03.97.tar.xz";
+      sha256 = "1n2wqp6zgg46kmr5lc605371vm8dbida922jfjjfn0g32b66g4zp";
+      name = "bovo-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kremotecontrol-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/mb6b6aj1zdx2l6q1g0cyvjb20q5znrlp-kremotecontrol-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kremotecontrol-15.03.97.tar.xz";
+      sha256 = "0rckl38br7paj0bwhc86j2hq3xl48xh9539byxqsr66p2d6rkf81";
+      name = "kremotecontrol-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcharselect-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/pd4lin2281pz6hbm7hb3nfxaqn201w7r-kcharselect-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kcharselect-15.03.97.tar.xz";
+      sha256 = "1wybg9qfk59425sfj5rkrb1hn3kkgfrv2nxln8yf4215zwasivvd";
+      name = "kcharselect-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kgpg-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/43pag9nl9m1ij7q3nl4plahd0ivpjkx7-kgpg-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kgpg-15.03.97.tar.xz";
+      sha256 = "0y9jg4p1x2vq9mfxlh2g64bxlrkm6s9qzb2mrzm3b660plhq8ain";
+      name = "kgpg-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "parley-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/q9vp14gqi2sa052n2300z4zx6g7ia1gy-parley-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/parley-15.03.97.tar.xz";
+      sha256 = "0vayhq39afw25g1pns79f5jczr29z4kyzi7as6lhggpp0fx5gzrh";
+      name = "parley-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "klickety-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/rk00agcks0cwszrrd4dhv4pwnbngyp9n-klickety-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/klickety-15.03.97.tar.xz";
+      sha256 = "0n8bfdzmmzdb8ywfpjy4rqyj0lyw00lz16dyqhg65b501g4xfx1n";
+      name = "klickety-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "jovie-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/xzfgswd8bwwpbbv2dkxkjhahxa0wxkcz-jovie-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/jovie-15.03.97.tar.xz";
+      sha256 = "053lhawgljh99fn3s48grl1ybqpa3pbmmw1ay22yprm0m0k3hbdm";
+      name = "jovie-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbounce-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/0jnr85v0cwj0si80dybb147w5pgwc2av-kbounce-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kbounce-15.03.97.tar.xz";
+      sha256 = "1n9n1ijai7prgihncz6817fccaxbawdkncn7cwbm79cdr291g5vs";
+      name = "kbounce-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "step-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/24sryfai0wy46fvp5xalsf4xaczicnih-step-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/step-15.03.97.tar.xz";
+      sha256 = "1m5lxgf3f6m9j257dg0dgvxx5xj5hfdsb16qqhqvyyvka125k9j3";
+      name = "step-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "umbrello-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/k97rbdbywsq7ddax8shrqghvzwl7la0w-umbrello-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/umbrello-15.03.97.tar.xz";
+      sha256 = "0i3iiy2krd50iib20api9sdm6pbw8ixczr31l2xhsa7508wvdfjg";
+      name = "umbrello-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kblackbox-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/45b72yj5m5cn88z4wm2b9w3wd21pyib1-kblackbox-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kblackbox-15.03.97.tar.xz";
+      sha256 = "0vp49qgw7m1ikb1s1vq359lxc9bzwip68j2qix16c9w89mgzcwas";
+      name = "kblackbox-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkexiv2-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/vp3v5dp9930az3jm9gzrk4kl9km1him0-libkexiv2-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkexiv2-15.03.97.tar.xz";
+      sha256 = "1k7lxr3sdx8qnpr8hwvykdp589677c59qahsr3xg72658jiliyzz";
+      name = "libkexiv2-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "rocs-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/1srxr5sy3apaa33n603mshps9rz0r3k4-rocs-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/rocs-15.03.97.tar.xz";
+      sha256 = "0ynaqahwr0j06hfjzsya1z9zcdp4m3bg62bc55k54iygydhkwf8n";
+      name = "rocs-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkmahjongg-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/jqap4lnyi6dij0lm11xvfcydchz25gg2-libkmahjongg-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/libkmahjongg-15.03.97.tar.xz";
+      sha256 = "0lcykfziqaw3k84as85pgar2a5jvy67qd4v0w7riyyp5ndnqdfb6";
+      name = "libkmahjongg-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-wallpapers-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/lw3288r7mjnn6yc16gjr79mvpfamj5dp-kde-wallpapers-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/kde-wallpapers-15.03.97.tar.xz";
+      sha256 = "11qb8rli0jazxfjwv2k2n5ya39n1spgdj525fnpc2gzxyp3pwdg2";
+      name = "kde-wallpapers-15.03.97.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "blinken-15.03.97.tar.xz" ".tar";
+    store = "/nix/store/n1n0by4sqvsvvm2nq6k3d7m5cvya76h9-blinken-15.03.97.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.03.97/src/blinken-15.03.97.tar.xz";
+      sha256 = "1nbcl5fjpw8w2hyiwx4qksf1x1w3nij9rssvjiccn6clz006jcrs";
+      name = "blinken-15.03.97.tar.xz";
+    };
+  }
+]
diff --git a/pkgs/applications/kde-apps-15.04/manifest.sh b/pkgs/applications/kde-apps-15.04/manifest.sh
new file mode 100755
index 00000000000..a8e3591c202
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/manifest.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+if [ $# -eq 0 ]; then
+
+  # The extra slash at the end of the URL is necessary to stop wget
+  # from recursing over the whole server! (No, it's not a bug.)
+  $(nix-build ../../.. -A autonix.manifest) \
+      # We need 14.12 for some packages in LTS that are not released in beta.
+      # Remove 14.12 when 15.04 is out of beta.
+      http://download.kde.org/stable/applications/14.12.1/ \
+      http://download.kde.org/stable/applications/14.12.2/ \
+      http://download.kde.org/stable/applications/14.12.3/ \
+      http://download.kde.org/unstable/applications/15.03.97/ \
+      -A '*.tar.xz'
+
+else
+
+  $(nix-build ../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
+
+fi
diff --git a/pkgs/applications/kde-apps-15.04/renames.nix b/pkgs/applications/kde-apps-15.04/renames.nix
new file mode 100644
index 00000000000..37b4ef4f8be
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/renames.nix
@@ -0,0 +1,34 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+"Analitza5" = "analitza";
+"Backend" = "kde-workspace";
+"CTest" = "sweeper";
+"ECM" = "extra-cmake-modules";
+"Gpgmepp" = "kdepimlibs";
+"JDns" = "kopete";
+"KAccounts" = "kaccounts-integration";
+"KDE4Workspace" = "kde-workspace";
+"KDEGames" = "libkdegames";
+"KDeclarative" = "kdelibs";
+"KF5KMahjongglib" = "libkmahjongg";
+"KSane" = "libksane";
+"KTp" = "ktp-common-internals";
+"KastenControllers" = "okteta";
+"KastenCore" = "okteta";
+"KastenGui" = "okteta";
+"KdepimLibs" = "kdepimlibs";
+"LibKEduVocDocument" = "libkeduvocdocument";
+"LibKdeEdu" = "libkdeedu";
+"LibKompareDiff2" = "libkomparediff2";
+"Libkcddb" = "libkcddb";
+"Libkcompactdisc" = "libkcompactdisc";
+"OktetaCore" = "okteta";
+"OktetaGui" = "okteta";
+"OktetaKastenControllers" = "okteta";
+"OktetaKastenCore" = "okteta";
+"OktetaKastenGui" = "okteta";
+"Okular" = "okular";
+"QJDns" = "kopete";
+"QMobipocket" = "kdegraphics-mobipocket";
+}
diff --git a/pkgs/applications/kde-apps-15.04/setup-hook.sh b/pkgs/applications/kde-apps-15.04/setup-hook.sh
new file mode 100644
index 00000000000..a8d9b7e0e36
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.04/setup-hook.sh
@@ -0,0 +1 @@
+addToSearchPath XDG_DATA_DIRS @out@/share
diff --git a/pkgs/applications/misc/3dfsb/default.nix b/pkgs/applications/misc/3dfsb/default.nix
new file mode 100644
index 00000000000..96bcfbd6bfe
--- /dev/null
+++ b/pkgs/applications/misc/3dfsb/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, makeWrapper, glibc, fetchgit, pkgconfig, SDL, SDL_image, SDL_stretch,
+  mesa, mesa_glu, freeglut, gst_all_1, gtk2, file, imagemagick }:
+
+stdenv.mkDerivation {
+  name = "3dfsb-1.0";
+
+  meta = with stdenv.lib; {
+    description = "3D File System Browser - cleaned up and improved fork of the old tdfsb which runs on GNU/Linux and should also run on BeOS/Haiku and FreeBSD";
+    homepage = "https://github.com/tomvanbraeckel/3dfsb";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ eduarrrd ];
+  };
+
+  src = fetchgit {
+    url = "git://github.com/tomvanbraeckel/3dfsb.git";
+    rev = "a69a9dfad42acbe2816328d11b58b65f4186c4c5";
+    sha256 = "191ndg4vfanjfx4qh186sszyy4pphx3l41rchins9mg8y5rm5ffp";
+  };
+
+  buildInputs = with gst_all_1; [ makeWrapper glibc pkgconfig SDL SDL_image SDL_stretch mesa_glu freeglut gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gtk2 file imagemagick ];
+
+  buildPhase = "sh ./compile.sh";
+  dontStrip = true;
+
+  installPhase = "mkdir $out/bin/ && cp 3dfsb $out/bin/";
+
+  preFixup = ''
+    wrapProgram $out/bin/3dfsb \
+     --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
+    '';
+}
diff --git a/pkgs/applications/misc/adobe-reader/builder.sh b/pkgs/applications/misc/adobe-reader/builder.sh
index 6024734dc44..41281385c99 100644
--- a/pkgs/applications/misc/adobe-reader/builder.sh
+++ b/pkgs/applications/misc/adobe-reader/builder.sh
@@ -17,7 +17,7 @@ rm $p/Reader/intellinux/plug_ins/PPKLite.api
 # More pointless files.
 rm $p/bin/UNINSTALL
 
-patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
     --set-rpath $libPath \
     $p/Reader/intellinux/bin/acroread
 
diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix
index 85bc89f7755..6bb16a02402 100644
--- a/pkgs/applications/misc/adobe-reader/default.nix
+++ b/pkgs/applications/misc/adobe-reader/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   # versions.
 
   libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc libX11 zlib libxml2 cups pango atk gtk glib gdk_pixbuf ];
+    [ stdenv.cc.cc libX11 zlib libxml2 cups pango atk gtk glib gdk_pixbuf ];
 
   meta = {
     description = "Adobe Reader, a viewer for PDF documents";
diff --git a/pkgs/applications/misc/arbtt/default.nix b/pkgs/applications/misc/arbtt/default.nix
index 27f6c122374..cd3df455c38 100644
--- a/pkgs/applications/misc/arbtt/default.nix
+++ b/pkgs/applications/misc/arbtt/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "arbtt";
-  version = "0.8.1.2";
-  sha256 = "074vb84vkygxamvq7xnwlpgbch6qkbhyzbakc343230p1ryxf62q";
+  version = "0.8.1.4";
+  sha256 = "15ydb425nvqfzajx09q713wy5xa7awbzfjlsidk17vf7qbhfjn7z";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/misc/audio/sox/0001-Check-for-minimum-size-sphere-headers.patch b/pkgs/applications/misc/audio/sox/0001-Check-for-minimum-size-sphere-headers.patch
new file mode 100644
index 00000000000..f01fec390d4
--- /dev/null
+++ b/pkgs/applications/misc/audio/sox/0001-Check-for-minimum-size-sphere-headers.patch
@@ -0,0 +1,28 @@
+From 55e33019afcb3256cccedf606548b86816f6da59 Mon Sep 17 00:00:00 2001
+From: Chris Bagwell <chris@cnpbagwell.com>
+Date: Sat, 13 Dec 2014 12:48:37 -0600
+Subject: [PATCH 1/2] Check for minimum size sphere headers
+
+---
+ src/sphere.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/sphere.c b/src/sphere.c
+index 479a552..a3fd1c6 100644
+--- a/src/sphere.c
++++ b/src/sphere.c
+@@ -47,6 +47,11 @@ static int start_read(sox_format_t * ft)
+ 
+   /* Determine header size, and allocate a buffer large enough to hold it. */
+   sscanf(fldsval, "%lu", &header_size_ul);
++  if (header_size_ul < 16) {
++    lsx_fail_errno(ft, SOX_EHDR, "Error reading Sphere header");
++    return (SOX_EOF);
++  }
++
+   buf = lsx_malloc(header_size = header_size_ul);
+ 
+   /* Skip what we have read so far */
+-- 
+2.1.0
+
diff --git a/pkgs/applications/misc/audio/sox/0002-More-checks-for-invalid-MS-ADPCM-blocks.patch b/pkgs/applications/misc/audio/sox/0002-More-checks-for-invalid-MS-ADPCM-blocks.patch
new file mode 100644
index 00000000000..72c2d765a94
--- /dev/null
+++ b/pkgs/applications/misc/audio/sox/0002-More-checks-for-invalid-MS-ADPCM-blocks.patch
@@ -0,0 +1,28 @@
+From ebb64cddde59ecc9cedf3741ce2337c72148cc0c Mon Sep 17 00:00:00 2001
+From: Chris Bagwell <chris@cnpbagwell.com>
+Date: Sat, 13 Dec 2014 12:49:55 -0600
+Subject: [PATCH 2/2] More checks for invalid MS ADPCM blocks.
+
+If block doesn't exacty match blockAlign then do not allow
+number of samples in invalid size block to ever be more than
+what WAV header defined as samplesPerBlock.
+---
+ src/wav.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/wav.c b/src/wav.c
+index 61d5908..5202556 100644
+--- a/src/wav.c
++++ b/src/wav.c
+@@ -168,7 +168,7 @@ static unsigned short  AdpcmReadBlock(sox_format_t * ft)
+         /* work with partial blocks.  Specs say it should be null */
+         /* padded but I guess this is better than trailing quiet. */
+         samplesThisBlock = lsx_ms_adpcm_samples_in((size_t)0, (size_t)ft->signal.channels, bytesRead, (size_t)0);
+-        if (samplesThisBlock == 0)
++        if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock)
+         {
+             lsx_warn("Premature EOF on .wav input file");
+             return 0;
+-- 
+2.1.0
+
diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix
index 0663937c479..07dbde2939b 100644
--- a/pkgs/applications/misc/audio/sox/default.nix
+++ b/pkgs/applications/misc/audio/sox/default.nix
@@ -4,6 +4,8 @@
 , enableLame ? false, lame ? null
 , enableLibmad ? true, libmad ? null
 , enableLibogg ? true, libogg ? null, libvorbis ? null
+, enableFLAC ? true, flac ? null
+, enablePNG ? true, libpng ? null
 }:
 
 with stdenv.lib;
@@ -16,16 +18,25 @@ stdenv.mkDerivation rec {
     sha256 = "16x8gykfjdhxg0kdxwzcwgwpm5caa08y2mx18siqsq0ywmpjr34s";
   };
 
+  patches = [
+    # Patches for CVE-2014-8145, found via RedHat bug 1174792.  It was not
+    # clear whether these address a NULL deref and a division by zero.
+    ./0001-Check-for-minimum-size-sphere-headers.patch
+    ./0002-More-checks-for-invalid-MS-ADPCM-blocks.patch
+  ];
+
   buildInputs =
     optional (enableAlsa && stdenv.isLinux) alsaLib ++
     optional enableLibao libao ++
     optional enableLame lame ++
     optional enableLibmad libmad ++
-    optionals enableLibogg [ libogg libvorbis ];
+    optionals enableLibogg [ libogg libvorbis ] ++
+    optional enableFLAC flac ++
+    optional enablePNG libpng;
 
   meta = {
     description = "Sample Rate Converter for audio";
-    homepage = http://www.mega-nerd.com/SRC/index.html;
+    homepage = http://sox.sourceforge.net/;
     maintainers = [ lib.maintainers.marcweber lib.maintainers.shlevy ];
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
diff --git a/pkgs/applications/misc/audio/soxr/default.nix b/pkgs/applications/misc/audio/soxr/default.nix
index 73cdbb37616..084a95b962a 100644
--- a/pkgs/applications/misc/audio/soxr/default.nix
+++ b/pkgs/applications/misc/audio/soxr/default.nix
@@ -8,7 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw";
   };
 
-  preConfigure = ''export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/build/src'';
+  preConfigure = if stdenv.isDarwin then ''
+    export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:"`pwd`/build/src
+  '' else ''
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/build/src
+  '';
 
   buildInputs = [ cmake ];
 
diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix
new file mode 100644
index 00000000000..a2b3c15f044
--- /dev/null
+++ b/pkgs/applications/misc/batti/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl
+, pkgconfig, gettext, python
+, gtk, pygtk, dbus_python
+, gdk_pixbuf, upower
+, makeWrapper }:
+
+stdenv.mkDerivation rec {
+
+  name = "batti-${version}";
+  version = "0.3.8";
+
+  src = fetchurl {
+    url = "https://batti-gtk.googlecode.com/files/${name}.tar.gz";
+    sha256 = "072d92gpsiiin631589nj77i2w1425p6db0qxyml7myscfy9jgx6";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig gettext python gtk pygtk dbus_python gdk_pixbuf upower makeWrapper ];
+
+  configurePhase = "true";
+
+  buildPhase = ''
+    python setup.py build
+  '';
+
+  installPhase = ''
+    python setup.py install --prefix $out
+    wrapProgram "$out/bin/batti" \
+      --set PYTHONPATH "$PYTHONPATH:$(toPythonPath $out)" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+
+  meta = with stdenv.lib; {
+    description = "An {UPower,GTK}-based battery monitor for the system tray";
+    longDescription = ''
+      Batti is a simple battery monitor for the system tray. Batti
+      uses UPower, and if that is missing DeviceKit.Power, for it's
+      power information.
+    '';
+    homepage = http://batti-gtk.googlecode.com/;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+    broken = true;  # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520 
+  };
+}
+
+# TODO: fix the "icon not found" problems...
diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix
deleted file mode 100644
index 2b99bad58da..00000000000
--- a/pkgs/applications/misc/bitcoin/altcoins.nix
+++ /dev/null
@@ -1,100 +0,0 @@
-{ fetchurl, stdenv, pkgconfig
-, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf, utillinux }:
-
-with stdenv.lib;
-
-let
-  buildAltcoin = makeOverridable ({walletName, gui ? true, ...}@a:
-    stdenv.mkDerivation ({
-      name = "${walletName}${toString (optional (!gui) "d")}-${a.version}";
-      buildInputs = [ openssl db48 boost zlib miniupnpc ]
-        ++ optionals gui [ qt4 qrencode ] ++ a.extraBuildInputs or [];
-
-      configurePhase = optional gui "qmake";
-
-      preBuild = optional (!gui) "cd src";
-      makefile = optional (!gui) "makefile.unix";
-
-      installPhase = if gui then ''
-        install -D "${walletName}-qt" "$out/bin/${walletName}-qt"
-      '' else ''
-        install -D "${walletName}d" "$out/bin/${walletName}d"
-      '';
-
-      passthru.walletName = walletName;
-
-      meta = {
-        platforms = platforms.unix;
-        license = license.mit;
-        maintainers = [ maintainers.offline ];
-      };
-    } // a)
-  );
-
-in rec {
-  inherit buildAltcoin;
-
-  litecoin = buildAltcoin rec {
-    walletName = "litecoin";
-    version = "0.8.5.3-rc3";
-
-    src = fetchurl {
-      url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
-      sha256 = "1z4a7bm3z9kd7n0s38kln31z8shsd32d5d5v3br5p0jlnr5g3lk7";
-    };
-
-    meta = {
-      description = "Litecoin is a lite version of Bitcoin using scrypt as a proof-of-work algorithm.";
-      longDescription= ''
-        Litecoin is a peer-to-peer Internet currency that enables instant payments
-        to anyone in the world. It is based on the Bitcoin protocol but differs
-        from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
-        Litecoin provides faster transaction confirmations (2.5 minutes on average)
-        and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
-        the regular computers and GPUs most people already have.
-        The Litecoin network is scheduled to produce 84 million currency units.
-      '';
-      homepage = https://litecoin.org/;
-    };
-  };
-  litecoind = litecoin.override { gui = false; };
-
-  namecoin = buildAltcoin rec {
-    walletName = "namecoin";
-    version = "0.3.51.00";
-    gui = false;
-
-    src = fetchurl {
-      url = "https://github.com/namecoin/namecoin/archive/nc${version}.tar.gz";
-      sha256 = "0r6zjzichfjzhvpdy501gwy9h3zvlla3kbgb38z1pzaa0ld9siyx";
-    };
-
-    patches = [ ./namecoin_dynamic.patch ];
-
-    extraBuildInputs = [ glib ];
-
-    meta = {
-      description = "Namecoin is a decentralized key/value registration and transfer system based on Bitcoin technology.";
-      homepage = http://namecoin.info;
-    };
-  };
-
-  dogecoin = buildAltcoin rec {
-    walletName = "dogecoin";
-    version = "1.4";
-
-    src = fetchurl {
-      url = "https://github.com/dogecoin/dogecoin/archive/1.4.tar.gz";
-      sha256 = "4af983f182976c98f0e32d525083979c9509b28b7d6faa0b90c5bd40b71009cc";
-    };
-
-    meta = {
-      description = "Wow, such coin, much shiba, very rich";
-      longDescription = "wow";
-      homepage = http://www.dogecoin.com/;
-      maintainers = [ maintainers.offline maintainers.edwtjo ];
-    };
-  };
-  dogecoind = dogecoin.override { gui = false; };
-
-}
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
deleted file mode 100644
index 2b68c58b12d..00000000000
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ fetchurl, stdenv, openssl, db48, boost, zlib, miniupnpc, qt4, utillinux
-, pkgconfig, protobuf, qrencode, gui ? true }:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  version = "0.9.2.1";
-  name = "bitcoin${toString (optional (!gui) "d")}-${version}";
-
-  src = fetchurl {
-    url = "https://bitcoin.org/bin/${version}/bitcoin-${version}-linux.tar.gz";
-    sha256 = "0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54";
-  };
-
-  # hexdump from utillinux is required for tests
-  buildInputs = [
-    openssl db48 boost zlib miniupnpc utillinux pkgconfig protobuf 
-  ] ++ optionals gui [ qt4 qrencode ];
-
-  unpackPhase = ''
-    mkdir tmp-extract && (cd tmp-extract && tar xf $src)
-    tar xf tmp-extract/bitcoin*/src/bitcoin*.tar*
-    cd bitcoin*
-  '';
-
-  configureFlags = [
-    "--with-boost=${boost}"
-  ];
-
-  preCheck = ''
-    # At least one test requires writing in $HOME
-    HOME=$TMPDIR
-  '';
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  passthru.walletName = "bitcoin";
-
-  meta = {
-      description = "Peer-to-peer electronic cash system";
-      longDescription= ''
-        Bitcoin is a free open source peer-to-peer electronic cash system that is
-        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.
-      '';
-      homepage = "http://www.bitcoin.org/";
-      maintainers = [ maintainers.roconnor ];
-      license = licenses.mit;
-  };
-}
diff --git a/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch b/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch
deleted file mode 100644
index ef4184ede73..00000000000
--- a/pkgs/applications/misc/bitcoin/namecoin_dynamic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -u -r a/src/makefile.unix b/src/makefile.unix
---- a/src/makefile.unix	2014-01-22 22:07:59.801601964 -0800
-+++ b/src/makefile.unix	2014-01-22 22:08:07.980332839 -0800
-@@ -12,7 +12,6 @@
- 
- # for boost 1.37, add -mt to the boost libraries
- LIBS= \
-- -Wl,-Bstatic \
-    -l boost_system \
-    -l boost_filesystem \
-    -l boost_program_options \
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 24a3fcd4cea..5e746716119 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -3,26 +3,30 @@
 , libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python
 , zlib, fftw
 , jackaudioSupport ? false, jack2
-, cudaSupport ? false, cudatoolkit6
+, cudaSupport ? false, cudatoolkit65
+, colladaSupport ? true, opencollada
 }:
 
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "blender-2.71";
+  name = "blender-2.74";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "12aqdrpl86xjk2xdwj2nbfcmdzyv61n443gw6j2japffm1kmlz8x";
+    sha256 = "178i19pz7jl79b4wn92869j6qymawsa0kaw1dxaprbjnqsvcx8qc";
   };
 
+  patches = [ ./sm52.patch ];
+
   buildInputs =
     [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
       libjpeg libpng libsamplerate libsndfile libtiff mesa openal
       opencolorio openexr openimageio /* openjpeg */ python zlib fftw
     ]
     ++ optional jackaudioSupport jack2
-    ++ optional cudaSupport cudatoolkit6;
+    ++ optional cudaSupport cudatoolkit65
+    ++ optional colladaSupport opencollada;
 
   postUnpack =
     ''
@@ -30,19 +34,23 @@ stdenv.mkDerivation rec {
     '';
 
   cmakeFlags =
-    [ "-DOPENEXR_INC=${openexr}/include/OpenEXR"
-      "-DWITH_OPENCOLLADA=OFF"
-      "-DWITH_MOD_OCEANSIM=ON"
+    [ "-DWITH_MOD_OCEANSIM=ON"
       "-DWITH_CODEC_FFMPEG=ON"
       "-DWITH_CODEC_SNDFILE=ON"
       "-DWITH_INSTALL_PORTABLE=OFF"
+      "-DWITH_FFTW3=ON"
+      "-DWITH_SDL=ON"
+      "-DWITH_GAMEENGINE=ON"
+      "-DWITH_OPENCOLORIO=ON"
+      "-DWITH_PLAYER=ON"
       "-DPYTHON_LIBRARY=python${python.majorVersion}m"
       "-DPYTHON_LIBPATH=${python}/lib"
       "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"
       "-DPYTHON_VERSION=${python.majorVersion}"
     ]
     ++ optional jackaudioSupport "-DWITH_JACK=ON"
-    ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON";
+    ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"
+    ++ optional colladaSupport "-DWITH_OPENCOLLADA=ON";
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}m";
 
diff --git a/pkgs/applications/misc/blender/sm52.patch b/pkgs/applications/misc/blender/sm52.patch
new file mode 100644
index 00000000000..7cb86c53bdd
--- /dev/null
+++ b/pkgs/applications/misc/blender/sm52.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' blender-2.73a-orig/CMakeLists.txt blender-2.73a/CMakeLists.txt
+--- blender-2.73a-orig/CMakeLists.txt	2015-01-21 13:31:24.000000000 +0100
++++ blender-2.73a/CMakeLists.txt	2015-03-01 23:14:22.962585422 +0100
+@@ -351,7 +351,7 @@
+ option(WITH_CYCLES_STANDALONE_GUI	"Build cycles standalone with GUI" OFF)
+ option(WITH_CYCLES_OSL				"Build Cycles with OSL support" ${_init_CYCLES_OSL})
+ option(WITH_CYCLES_CUDA_BINARIES	"Build cycles CUDA binaries" OFF)
+-set(CYCLES_CUDA_BINARIES_ARCH sm_20 sm_21 sm_30 sm_35 sm_50 CACHE STRING "CUDA architectures to build binaries for")
++set(CYCLES_CUDA_BINARIES_ARCH sm_20 sm_21 sm_30 sm_35 sm_50 sm_52 CACHE STRING "CUDA architectures to build binaries for")
+ mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
+ unset(PLATFORM_DEFAULT)
+ option(WITH_CYCLES_LOGGING	"Build cycles with logging support" ON)
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 190b57e1070..d5a231ac7bd 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-2.0.0";
+  name = "calibre-2.23.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "1fpn8icfyag2ybj2ywd81sva56ycsin56gyap5m9j5crx63p4c91";
+    sha256 = "0n99la1pacrw4ahb3wk0p68120p7j7v76mvpaf4qnkxy1vfdif7d";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/camlistore/default.nix b/pkgs/applications/misc/camlistore/default.nix
index 9adac335c0c..a39a46222f1 100644
--- a/pkgs/applications/misc/camlistore/default.nix
+++ b/pkgs/applications/misc/camlistore/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, go, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "0.7";
+  version = "0.8";
   name = "camlistore-${version}";
 
   src = fetchurl {
-    url = "https://github.com/bradfitz/camlistore/archive/0.7.tar.gz";
-    sha256 = "0lc35x2b9llrnma0m5czivly0c3l4lh3ldw9hwn83lkh8n0bzn11";
+    url = "https://github.com/bradfitz/camlistore/archive/${version}.tar.gz";
+    sha256 = "03y5zs4i9lx93apqqqfgmbxamk06z3w1q763qp0lvb15mq45gdv1";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix
new file mode 100644
index 00000000000..78cd08e212c
--- /dev/null
+++ b/pkgs/applications/misc/cbatticon/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, gtk, libnotify, unzip, glib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+
+  name = "cbatticon-${version}";
+  version = "1.4.2";
+
+  src = fetchurl {
+    url = "https://github.com/valr/cbatticon/archive/${version}.zip";
+    sha256 = "1jkaar987ayydgghl8s8f1yy41mcmhqvgw897jv4y8yliskn0604";
+  };
+
+  makeFlags = "PREFIX=$(out)";
+
+  buildInputs =  [ gtk libnotify unzip glib pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight and fast battery icon that sits in your system tray";
+    homepage = https://github.com/valr/cbatticon;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.iElectric ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/cdrtools/default.nix b/pkgs/applications/misc/cdrtools/default.nix
index d1b3b284052..14ab69ebd2f 100644
--- a/pkgs/applications/misc/cdrtools/default.nix
+++ b/pkgs/applications/misc/cdrtools/default.nix
@@ -1,31 +1,23 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cdrtools-2.01";
+  name = "cdrtools-3.00";
 
-  configurePhase = "prefix=$out";
-
-  #hack, I'm getting "chown: invalid user: `bin" error, so replace chown by a nop dummy script
-  preInstall = ''
-    mkdir "$TMP/bin"
-    for i in chown chgrp; do
-      echo '#!/bin/sh' >> "$TMP/bin/$i"
-      chmod +x "$TMP/bin/$i"
-      PATH="$TMP/bin:$PATH"
-    done
-  '';
+  configurePhase = "true";
 
   src = fetchurl {
     url = "mirror://sourceforge/cdrtools/${name}.tar.bz2";
-    md5 = "d44a81460e97ae02931c31188fe8d3fd";
+    sha256 = "0ga2fdwn3898jas5mabb6cc2al9acqb2yyzph2w76m85414bd73z";
   };
 
-  patches = [./cdrtools-2.01-install.patch];
+  patches = [ ./cdrtools-2.01-install.patch ];
 
   meta = {
     homepage = http://sourceforge.net/projects/cdrtools/;
     description = "Highly portable CD/DVD/BluRay command line recording software";
-    broken = true;              # Build errors, probably because the source
-                                # can't deal with recent versions of gcc.
+    # Licensing issues: This package contains code licensed under CDDL, GPL2
+    # and LGPL2. There is debate regarding the legality of this licensing.
+    # Marked as unfree to avoid any possible legal issues.
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix
new file mode 100644
index 00000000000..fa5ae99f4fb
--- /dev/null
+++ b/pkgs/applications/misc/cherrytree/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, python, pythonPackages, gettext, pygtksourceview, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "cherrytree-0.35.7";
+
+  src = fetchurl {
+    url = "http://www.giuspen.com/software/${name}.tar.xz";
+    sha256 = "03p3bx7skc361rmh0axhm0fa0inmxv4bpa9l566wskb3zq4sy4g3";
+  };
+
+  propagatedBuildInputs = [ pythonPackages.sqlite3 ];
+
+  buildInputs = with pythonPackages; [ python gettext wrapPython pygtk dbus pygtksourceview ];
+
+  pythonPath = with pythonPackages; [ pygtk dbus pygtksourceview ];
+
+  patches = [ ./subprocess.patch ];
+
+  installPhase = ''
+    python setup.py install --prefix="$out"
+
+    for file in "$out"/bin/*; do
+        wrapProgram "$file" \
+            --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
+    done
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "A hierarchical note taking application, featuring rich text and syntax highlighting, storing data in a single xml or sqlite file";
+    homepage = http://www.giuspen.com/cherrytree;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/cherrytree/subprocess.patch b/pkgs/applications/misc/cherrytree/subprocess.patch
new file mode 100644
index 00000000000..cff357a5693
--- /dev/null
+++ b/pkgs/applications/misc/cherrytree/subprocess.patch
@@ -0,0 +1,15 @@
+diff -Naur cherrytree-0.35.6-orig/setup.py cherrytree-0.35.6/setup.py
+--- cherrytree-0.35.6-orig/setup.py     2014-05-30 23:25:11.000000000 +0200
++++ cherrytree-0.35.6/setup.py  2015-01-29 07:35:32.785904009 +0100
+@@ -205,4 +205,9 @@
+           },
+        distclass=CherryTreeDist
+     )
+-    subprocess.call("update-desktop-database")
++    try:
++        subprocess.check_call(['update-desktop-database'])
++    except subprocess.CalledProcessError:
++        pass # handle errors in the called executable
++    except OSError:
++        pass # executable not found
+
diff --git a/pkgs/applications/misc/cool-old-term/default.nix b/pkgs/applications/misc/cool-old-term/default.nix
deleted file mode 100644
index 76d78f00402..00000000000
--- a/pkgs/applications/misc/cool-old-term/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ stdenv, fetchFromGitHub, qt53 }:
-
-stdenv.mkDerivation rec {
-  version = "0.9";
-  name = "cool-old-term-${version}";
-
-  src = fetchFromGitHub {
-    owner = "Swordifish90";
-    repo = "cool-old-term";
-    rev = "2494bc05228290545df8c59c05624a4b903e9068";
-    sha256 = "8462f3eded7b2219acc143258544b0dfac32d81e10cac61ff14276d426704c93";
-  };
-
-  buildInputs = [ qt53 ];
-
-  buildPhase = ''
-    pushd ./konsole-qml-plugin
-    qmake konsole-qml-plugin.pro PREFIX=$out
-    make
-    popd
-  '';
-
-  installPhase = ''
-    pushd ./konsole-qml-plugin
-    make install
-    popd
-
-    install -d $out/bin $out/lib/cool-old-term $out/share/cool-old-term
-    cp -a ./imports $out/lib/cool-old-term/
-    cp -a ./app     $out/share/cool-old-term/
-
-    cat > $out/bin/cool-old-term <<EOF
-    #!${stdenv.shell}
-    ${qt53}/bin/qmlscene -I $out/lib/cool-old-term/imports $out/share/cool-old-term/app/main.qml
-    EOF
-    chmod a+x $out/bin/cool-old-term
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Terminal emulator which mimics the old cathode display";
-    longDescription = ''
-      cool-old-term is a terminal emulator which tries to mimic the look and
-      feel of the old cathode tube screens. It has been designed to be
-      eye-candy, customizable, and reasonably lightweight.
-    '';
-    homepage = "https://github.com/Swordifish90/cool-old-term";
-    licenses = with stdenv.lib.licenses; [ gpl2 gpl3 ];
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ skeidel ];
-  };
-}
diff --git a/pkgs/applications/misc/cool-retro-term/default.nix b/pkgs/applications/misc/cool-retro-term/default.nix
new file mode 100644
index 00000000000..bdc13f554b4
--- /dev/null
+++ b/pkgs/applications/misc/cool-retro-term/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchgit, makeWrapper, qt5, qmltermwidget }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.0";
+  name = "cool-retro-term-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/Swordfish90/cool-retro-term.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "042ikarg6n0c09niwrm987pkzi8xjxxdrg2nqvk9pj7lgmmkkfn1";
+    fetchSubmodules = false;
+  };
+
+  patchPhase = ''
+    sed -i -e '/qmltermwidget/d' cool-retro-term.pro
+  '';
+
+  buildInputs = [ makeWrapper qt5.base qt5.quick1 qmltermwidget ];
+
+  configurePhase = "qmake PREFIX=$out";
+
+  installPhase = "make -j $NIX_BUILD_CORES INSTALL_ROOT=$out install";
+
+  preFixup = ''
+    mv $out/usr/share $out/share
+    mv $out/usr/bin $out/bin
+    rmdir $out/usr
+
+    wrapProgram $out/bin/cool-retro-term \
+      --prefix QML2_IMPORT_PATH : "${qmltermwidget}/lib/qml/"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Terminal emulator which mimics the old cathode display";
+    longDescription = ''
+      cool-retro-term is a terminal emulator which tries to mimic the look and
+      feel of the old cathode tube screens. It has been designed to be
+      eye-candy, customizable, and reasonably lightweight.
+    '';
+    homepage = "https://github.com/Swordifish90/cool-retro-term";
+    licenses = with stdenv.lib.licenses; [ gpl2 gpl3 ];
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ skeidel ];
+  };
+}
diff --git a/pkgs/applications/misc/cortex/default.nix b/pkgs/applications/misc/cortex/default.nix
new file mode 100644
index 00000000000..79d19f45a25
--- /dev/null
+++ b/pkgs/applications/misc/cortex/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, python3 }:
+
+stdenv.mkDerivation {
+  name = "cortex";
+
+  src = fetchgit {
+    url = "https://github.com/gglucas/cortex";
+    rev = "e749de6c21aae02386f006fd0401d22b9dcca424";
+    sha256 = "d5d59c5257107344122c701eb370f3740f9957b6b898ac798d797a4f152f614c";
+  };
+
+  buildInputs = [ stdenv python3 ];
+
+  prePatch = ''
+    substituteInPlace cortex --replace "/usr/bin/env python3" "${python3}/bin/python3"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp cortex $out/bin/
+    chmod +x $out/bin/cortex
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://cortex.glacicle.org";
+    description = "An ncurses reddit browser and monitor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+
+}
diff --git a/pkgs/applications/misc/ctodo/default.nix b/pkgs/applications/misc/ctodo/default.nix
new file mode 100644
index 00000000000..3978a369d06
--- /dev/null
+++ b/pkgs/applications/misc/ctodo/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, cmake, fetchurl, ncurses }:
+
+let
+  version = "1.1";
+in
+stdenv.mkDerivation {
+  name = "ctodo-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Acolarh/ctodo/archive/v1.1.tar.gz";
+    sha256 = "1sv5p1b08pp73qshakz4qy4pjglxz2pvx2cjfx52i3532hd3xcaf";
+  };
+
+  buildInputs = [ stdenv cmake ncurses ];
+
+  configurePhase = ''
+    cmake -DCMAKE_INSTALL_PREFIX=$out .
+  '';
+
+  meta = {
+    homepage = "http://ctodo.apakoh.dk/";
+    description = "A simple ncurses-based task list manager.";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index 937025c0840..a13004ecd02 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchgit }:
+{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchurl }:
 let
-    py = python27Packages;
+  py = python27Packages;
+  version = "15.02.1";
 in
 stdenv.mkDerivation rec {
-  name = "cura";
+  name = "cura-${version}";
 
-  src = fetchgit {
-    url = "https://github.com/daid/Cura";
-    rev = "58414695269d60ca9b165e8cbc3424933ed79403";
-    sha256 = "1nxrrz8sjjx9i9cyvz15vay6yarnywp3vlk7qzr65sw88lzxgq23";
-    fetchSubmodules = false;
+  src = fetchurl {
+    url = "https://github.com/daid/Cura/archive/${version}.tar.gz";
+    sha256 = "18pb31vd9786q522i1i780wpzr6vih9gg9d8k508gh2d5yr4aal6";
   };
 
   desktopItem = makeDesktopItem {
@@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
     categories = "GNOME;GTK;Utility;";
   };
 
-  python_deps = [ py.pyopengl py.pyserial py.numpy py.wxPython30 py.power py.setuptools ];
+  python_deps = with py; [ pyopengl pyserial numpy wxPython30 power setuptools ];
 
   pythonPath = python_deps;
 
@@ -67,5 +66,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/daid/Cura;
     license = licenses.agpl3;
     platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index 256d337f679..bbd94406635 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchurl }:
+let
+  version = "15.02.1";
+in
 stdenv.mkDerivation {
-    name = "curaengine";
+  name = "curaengine-${version}";
 
-    src = fetchgit {
-        url = "https://github.com/Ultimaker/CuraEngine";
-        rev = "62667ff2e7479b55d75e3d1dc9136242adf4a6a0";
-        sha256 = "0c68xmnq4c49vzg2cyqb375kc72rcnghj21wp3919w8sfwil00vr";
-    };
+  src = fetchurl {
+    url = "https://github.com/Ultimaker/CuraEngine/archive/${version}.tar.gz";
+    sha256 = "18fxh910b66s45757zqh8bm5kdxjgvxispjqknqkwl1nrllzmx53";
+  };
 
-    installPhase = ''
-        mkdir -p $out/bin
-        cp CuraEngine $out/bin/
-    '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp build/CuraEngine $out/bin/
+  '';
 
-    meta = with stdenv.lib; {
-        description = "Engine for processing 3D models into 3D printing instructions";
-        homepage = https://github.com/Ultimaker/CuraEngine;
-        license = licenses.agpl3;
-        platforms = platforms.linux;
-    };
+  meta = with stdenv.lib; {
+    description = "Engine for processing 3D models into 3D printing instructions";
+    homepage = https://github.com/Ultimaker/CuraEngine;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+  };
 }
diff --git a/pkgs/applications/misc/d4x/default.nix b/pkgs/applications/misc/d4x/default.nix
index d6ca3939d13..3c146249dd0 100644
--- a/pkgs/applications/misc/d4x/default.nix
+++ b/pkgs/applications/misc/d4x/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "d4x-2.5.7.1";
-  
+
   inherit boost;
 
   src = fetchurl {
@@ -10,15 +10,11 @@ stdenv.mkDerivation {
     sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m";
   };
 
-  configurePhase = "./configure --prefix=\$out "
-    + " --with-boost-libdir=\$boost/lib"
-    + " --with-boost-includedir=\$boost/include";
-    
   buildInputs = [ gtk glib pkgconfig openssl boost ];
 
-  meta = { 
+  meta = {
     description = "Graphical download manager";
     homepage = http://www.krasu.ru/soft/chuchelo/;
-    license = "perl";
+    license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
   };
 }
diff --git a/pkgs/applications/misc/djvulibre/default.nix b/pkgs/applications/misc/djvulibre/default.nix
index 59dfd2d891e..b0f89cc5ea0 100644
--- a/pkgs/applications/misc/djvulibre/default.nix
+++ b/pkgs/applications/misc/djvulibre/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl, libjpeg, libtiff, librsvg, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  name = "djvulibre-3.5.25.3";
+  name = "djvulibre-3.5.27";
 
   src = fetchurl {
     url = "mirror://sourceforge/djvu/${name}.tar.gz";
-    sha256 = "1q5i5ha4zmj2ahjfhi8cv1rah80vm43m9ads46ji38rgvpb7x3c9";
+    sha256 = "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6";
   };
 
   buildInputs = [ libjpeg libtiff librsvg ] ++ libintlOrEmpty;
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library and viewer for the DJVU file format for scanned images";
     homepage = http://djvu.sourceforge.net;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ urkud ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/dmenu2/default.nix b/pkgs/applications/misc/dmenu2/default.nix
new file mode 100644
index 00000000000..1637586eb47
--- /dev/null
+++ b/pkgs/applications/misc/dmenu2/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchhg, libX11, libXinerama, libXft, zlib}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "dmenu2";
+
+  src = fetchhg {
+    url = "https://bitbucket.org/melek/dmenu2";
+    rev = "36cb94a16edf928bdaaa636123392517ed469be0";
+    sha256 = "1b17z5ypg6ij7zz3ncp3irc87raccna10y4w490c872a99lp23lv";
+  };
+
+  buildInputs = [ libX11 libXinerama zlib libXft ];
+
+  postPatch = ''
+    sed -ri -e 's!\<(dmenu|stest)\>!'"$out/bin"'/&!g' dmenu_run
+  '';
+
+  preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ];
+
+  meta = {
+      description = "A patched fork of the original dmenu - an efficient dynamic menu for X";
+      homepage = https://bitbucket.org/melek/dmenu2;
+      license = stdenv.lib.licenses.mit;
+      maintainers = with maintainers; [ cstrahan ];
+      platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/applications/misc/doomseeker/default.nix b/pkgs/applications/misc/doomseeker/default.nix
new file mode 100644
index 00000000000..8ceb7f41c4e
--- /dev/null
+++ b/pkgs/applications/misc/doomseeker/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, cmake, fetchurl, pkgconfig, qt4, zlib, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name = "doomseeker-1.0";
+  src = fetchurl {
+    url = "http://doomseeker.drdteam.org/files/${name}_src.tar.bz2";
+    sha256 = "172ybxg720r64hp6aah0hqvxklqv1cf8v7kwx0ng5ap0h20jydbw";
+  };
+
+  cmakeFlags = ''
+    -DCMAKE_BUILD_TYPE=Release
+  '';
+
+  buildInputs = [ cmake pkgconfig qt4 zlib bzip2 ];
+
+  enableParallelBuilding = true;
+
+  patchPhase = ''
+    sed -e 's#/usr/share/applications#$out/share/applications#' -i src/core/CMakeLists.txt
+  '';
+
+  meta = {
+    homepage = http://doomseeker.drdteam.org/;
+    description = "Multiplayer server browser for many Doom source ports";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
+
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 039b4ac688b..33371c93b86 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -12,11 +12,6 @@ stdenv.mkDerivation rec {
     sha256 = "0x95f57s0a96c4lifxdpf73v706iggwmdw8742mabbjnxq55l1qs";
   };
 
-  patchPhase = ''
-    substituteInPlace "settings.c" \
-      --replace "xdgConfigOpen(\"dunst/dunstrc\", \"r\", &xdg" "fopen(\"$out/share/dunst/dunstrc\", \"r\""
-  '';
-
   buildInputs =
   [ coreutils unzip which pkgconfig dbus freetype libnotify gdk_pixbuf
     xdg_utils libXext glib pango cairo libX11 libxdg_basedir
diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index ea9383a6e10..db613cd4922 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, perl, libX11, libjpeg, libpng, libtiff, pkgconfig,
-librsvg, glib, gtk, libXext, libXxf86vm, poppler }:
+librsvg, glib, gtk, libXext, libXxf86vm, poppler, xineLib }:
 
 stdenv.mkDerivation rec {
-  name = "eaglemode-0.85.0";
+  name = "eaglemode-0.86.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/eaglemode/${name}.tar.bz2";
-    sha256 = "0mz4rg2k36wvcv55dg0a5znaczpl5h4gwkkb34syj89xk8jlbwsc";
+    sha256 = "1a2hzyck95g740qg4p4wd4fjwsmlknh75i9sbx5r5v9pyr4i3m4f";
   };
 
   buildInputs = [ perl libX11 libjpeg libpng libtiff pkgconfig
-    librsvg glib gtk libXxf86vm libXext poppler ];
+    librsvg glib gtk libXxf86vm libXext poppler xineLib ];
 
   # The program tries to dlopen both Xxf86vm and Xext, so we use the
   # trick on NIX_LDFLAGS and dontPatchELF to make it find them.
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   #  http://sourceforge.net/projects/eaglemode/forums/forum/808824/topic/5115261
   buildPhase = ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -lXxf86vm -lXext"
-    yes y | perl make.pl build
+    perl make.pl build
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index c35a2c7ff82..0f7b85e055b 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -1,32 +1,43 @@
-{ stdenv, fetchurl, pythonPackages, slowaes, ecdsa, pyqt4 }:
+{ stdenv, fetchurl, buildPythonPackage, pythonPackages, slowaes }:
 
-pythonPackages.buildPythonPackage rec {
+buildPythonPackage rec {
   name = "electrum-${version}";
-  version = "1.9.8";
+  version = "2.0.4";
 
   src = fetchurl {
     url = "https://download.electrum.org/Electrum-${version}.tar.gz";
-    sha256 = "8fc144a32013e4a747fea27fff981762a6b9e14cde9ffb405c4c721975d846ff";
+    sha256 = "0q9vrrzy2iypfg2zvs3glzvqyq65dnwn1ijljvfqfwrkpvpp0zxp";
   };
 
-  buildInputs = [ slowaes ecdsa ];
-
-  propagatedBuildInputs = [ 
-    slowaes
+  propagatedBuildInputs = with pythonPackages; [
+    dns
     ecdsa
+    pbkdf2
+    protobuf
+    pyasn1
+    pyasn1-modules
     pyqt4
+    qrcode
+    requests
+    slowaes
+    tlslite
   ];
 
-  postPatch = ''
+  preInstall = ''
     mkdir -p $out/share
     sed -i 's@usr_share = .*@usr_share = os.getenv("out")+"/share"@' setup.py
   '';
 
-  meta = {
-    description = "Bitcoin thin-wallet";
-    long-description = "Electrum is an easy to use Bitcoin client. It protects you from losing coins in a backup mistake or computer failure, because your wallet can be recovered from a secret phrase that you can write on paper or learn by heart. There is no waiting time when you start the client, because it does not download the Bitcoin blockchain.";
-    homepage = "https://electrum.org";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ "emery@vfemail.net" ];
+  meta = with stdenv.lib; {
+    description = "Bitcoin thin-client";
+    longDescription = ''
+      An easy-to-use Bitcoin client featuring wallets generated from
+      mnemonic seeds (in addition to other, more advanced, wallet options)
+      and the ability to perform transactions without downloading a copy
+      of the blockchain.
+    '';
+    homepage = https://electrum.org;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ emery joachifm ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/misc/epdfview/default.nix b/pkgs/applications/misc/epdfview/default.nix
index d79162289c3..da198e6d88b 100644
--- a/pkgs/applications/misc/epdfview/default.nix
+++ b/pkgs/applications/misc/epdfview/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, poppler }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk, poppler }:
 stdenv.mkDerivation rec {
   name = "epdfview-0.1.8";
   src = fetchurl {
@@ -6,7 +6,17 @@ stdenv.mkDerivation rec {
     sha256 = "1w7qybh8ssl4dffi5qfajq8mndw7ipsd92vkim03nywxgjp4i1ll";
   };
   buildInputs = [ pkgconfig gtk poppler ];
-  patches = [ ./glib-top-level-header.patch ];
+  patches = [ (fetchpatch {
+                name = "epdfview-0.1.8-glib2-headers.patch";
+                url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk/epdfview-0.1.8-glib2-headers.patch?h=packages/epdfview&id=40ba115c860bdec31d03a30fa594a7ec2864d634";
+                sha256 = "17df6s1zij5ficj67xszq6kd88cy620az3ic55065ccnmsd73f8h";
+              })
+              (fetchpatch {
+                name = "epdfview-0.1.8-modern-cups.patch";
+                url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk/epdfview-0.1.8-modern-cups.patch?h=packages/epdfview&id=40ba115c860bdec31d03a30fa594a7ec2864d634";
+                sha256 = "07yvgvai2bvbr5fa1mv6lg7nqr0qyryjn1xyjlh8nidg9k9vv001";
+              })
+            ];
   meta = {
     homepage = http://trac.emma-soft.com/epdfview/;
     description = "A lightweight PDF document viewer using Poppler and GTK+";
diff --git a/pkgs/applications/misc/epdfview/glib-top-level-header.patch b/pkgs/applications/misc/epdfview/glib-top-level-header.patch
deleted file mode 100644
index a321ad3a2b6..00000000000
--- a/pkgs/applications/misc/epdfview/glib-top-level-header.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur epdfview-0.1.8-orig/src/gtk/StockIcons.h epdfview-0.1.8/src/gtk/StockIcons.h
---- epdfview-0.1.8-orig/src/gtk/StockIcons.h	2011-05-28 06:24:57.000000000 -0400
-+++ epdfview-0.1.8/src/gtk/StockIcons.h	2012-07-15 11:02:43.946339253 -0400
-@@ -18,7 +18,7 @@
- #if !defined (__STOCK_ICONS_H__)
- #define __STOCK_ICONS_H__
- 
--#include <glib/gmacros.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
diff --git a/pkgs/applications/misc/evopedia/default.nix b/pkgs/applications/misc/evopedia/default.nix
index 5ad82c9239c..b7403d4826b 100644
--- a/pkgs/applications/misc/evopedia/default.nix
+++ b/pkgs/applications/misc/evopedia/default.nix
@@ -1,12 +1,13 @@
 {stdenv, fetchgit, bzip2, qt4, libX11}:
 
 stdenv.mkDerivation rec {
-  name = "evopedia-0.4.2";
+  name = "evopedia-${version}";
+  version = "0.4.4";
 
   src = fetchgit {
-    url = git://gitorious.org/evopedia/evopedia.git;
-    rev = "v0.4.2" ;
-    md5 = "a2f19ed6e4d936c28cee28d44387b682";
+    url = https://github.com/evopedia/evopedia_qt;
+    rev = "refs/tags/v${version}";
+    sha256 = "1biq9zaj8nhxx1pixidsn97iwp9qy1yslgl0znpa4d4p35jcg48g";
   };
 
   configurePhase = ''
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
     description = "Offline Wikipedia Viewer";
     homepage = http://www.evopedia.info;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ qknight ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/evtest/default.nix b/pkgs/applications/misc/evtest/default.nix
index 638f254364e..bccfd95e32b 100644
--- a/pkgs/applications/misc/evtest/default.nix
+++ b/pkgs/applications/misc/evtest/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, autoconf, automake, pkgconfig, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "evtest-1.31";
+  name = "evtest-1.32";
 
   preConfigure = "autoreconf -iv";
 
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "git://anongit.freedesktop.org/evtest";
-    rev = "871371806017301373b8b0e5b7e8f168ce1ea13f";
-    sha256 = "1hxldlldlrb9lnnybn839a97fpqd1cixbmci2wzgr0rzhjbwhcgp";
+    rev = "refs/tags/evtest-1.32";
+    sha256 = "150lb7d2gnkcqgfw1hcnb8lcvdb52fpig9j9qxjizp6irhlw2a31";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/finalterm/default.nix b/pkgs/applications/misc/finalterm/default.nix
index 0c084f9d018..e4b0675aa94 100644
--- a/pkgs/applications/misc/finalterm/default.nix
+++ b/pkgs/applications/misc/finalterm/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper
+{ stdenv, lib, fetchgit, makeWrapper
 , pkgconfig, cmake, libxml2, vala, intltool, libmx, gnome3, gtk3, gtk_doc
 , keybinder3, clutter_gtk, libnotify
 , libxkbcommon, xlibs, udev
 , bashInteractive
 }:
 
-let rev = "5ccde4e8f2c02a398f9172e07c25262ecf954626";
-in stdenv.mkDerivation {
-  name = "finalterm-git-${builtins.substring 0 8 rev}";
+stdenv.mkDerivation {
+  name = "finalterm-git-2014-11-15";
 
-  src = fetchFromGitHub {
-    owner = "p-e-w";
-    repo = "finalterm";
-    inherit rev;
-    sha256 = "1gw6nc19whfjd4xj0lc0fmjypn8d7nasif79671859ymnfizyq4f";
+  src = fetchgit {
+    url = "https://github.com/p-e-w/finalterm.git";
+    rev = "39b078b2a96a5c3c9e74f92b1929f383d220ca8b";
+    sha256 = "c3ec9b36692b66a3aaa3125b2947c83beda4705b6d6f4a10b9bde9d8db8367c5";
   };
 
   buildInputs = [
@@ -34,6 +32,11 @@ in stdenv.mkDerivation {
     )
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/gsettings-schemas/$name
+    mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
+  '';
+
   postFixup = ''
     wrapProgram "$out/bin/finalterm" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
diff --git a/pkgs/applications/misc/fme/default.nix b/pkgs/applications/misc/fme/default.nix
new file mode 100644
index 00000000000..685c0ecb4ed
--- /dev/null
+++ b/pkgs/applications/misc/fme/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, gettext
+, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx }:
+
+stdenv.mkDerivation rec{
+
+  name = "fme-${version}";
+  version = "1.1.3";
+  
+  src = fetchurl {
+    url = "https://github.com/rdehouss/fme/archive/v${version}.tar.gz";
+    sha256 = "d1c81a6a38c0faad02943ad65d6d0314bd205c6de841669a2efe43e4c503e63d";
+  };
+
+  buildInputs = [ pkgconfig autoconf automake gettext fluxbox bc gtkmm glibmm libglademm libsigcxx ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Editor for Fluxbox menus";
+    longDescription = ''
+      Fluxbox Menu Editor is a menu editor for the Window Manager Fluxbox written in C++
+      with the libraries Gtkmm, Glibmm, libglademm and gettext for internationalization.
+      Its user-friendly interface will help you to edit, delete, move (Drag and Drop)
+      a row, a submenu, etc very easily.
+    '';
+    homepage = https://github.com/rdehouss/fme/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/galculator/default.nix b/pkgs/applications/misc/galculator/default.nix
index 010f75a575e..5dcee439ef9 100644
--- a/pkgs/applications/misc/galculator/default.nix
+++ b/pkgs/applications/misc/galculator/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchurl
-, intltool, pkgconfig, gtk
- }:
+, intltool, pkgconfig, gtk }:
 
 stdenv.mkDerivation rec {
   
@@ -14,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ intltool pkgconfig gtk ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A GTK 2/3 algebraic and RPN calculator";
     longDescription = ''
       galculator is a GTK 2 / GTK 3 based calculator. Its main features include:
@@ -29,7 +28,8 @@ stdenv.mkDerivation rec {
       - Quad-precision floating point arithmetic, and 112-bit binary arithmetic
     '';
     homepage = http://galculator.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gammu/default.nix b/pkgs/applications/misc/gammu/default.nix
index 56e45b11c70..36e45bd0485 100644
--- a/pkgs/applications/misc/gammu/default.nix
+++ b/pkgs/applications/misc/gammu/default.nix
@@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./bashcomp-dir.patch ];
 
-  buildInputs = [ python pkgconfig cmake bluez libusb1 curl libiconv
-    gettext sqlite ];
+  buildInputs = [ python pkgconfig cmake bluez libusb1 curl gettext sqlite libiconv ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/garmin-plugin/default.nix b/pkgs/applications/misc/garmin-plugin/default.nix
new file mode 100644
index 00000000000..613c56efcfd
--- /dev/null
+++ b/pkgs/applications/misc/garmin-plugin/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, garmintools, libgcrypt, libusb, pkgconfig, tinyxml, zlib }:
+stdenv.mkDerivation {
+  name = "garmin-plugin-0.3.26";
+  src = fetchurl {
+    url = https://github.com/adiesner/GarminPlugin/archive/V0.3.26.tar.gz;
+    sha256 = "15gads1fj4sj970m5960dgnhys41ksi4cm53ldkf67wn8dc9i4k0";
+  };
+  sourceRoot = "GarminPlugin-0.3.26/src";
+  buildInputs = [ garmintools libusb libgcrypt pkgconfig tinyxml zlib ];
+  configureFlags = [
+    "--with-libgcrypt-prefix=${libgcrypt}"
+    "--with-garmintools-incdir=${garmintools}/include"
+    "--with-garmintools-libdir=${garmintools}/lib"
+  ];
+  installPhase = ''
+    mkdir -p $out/lib/mozilla/plugins
+    cp npGarminPlugin.so $out/lib/mozilla/plugins
+  '';
+  meta = {
+    homepage = http://www.andreas-diesner.de/garminplugin;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+  };
+}
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index b25d347ec87..c7c110a978a 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -1,16 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, gtk, gettext }:
+{ stdenv, fetchurl, pkgconfig, gtk, gettext, withBuildColors ? true, ncurses ? null}:
 
+assert withBuildColors -> ncurses != null;
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "girara-0.2.2";
+  name = "girara-${version}";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
-    sha256 = "0lv6wqhx2avdxj6yx111jfs4j32r0xzmmkhy7pgzxpf73kgxz0k3";
+    sha256 = "1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh";
   };
 
+  preConfigure = ''
+    sed -i 's/ifdef TPUT_AVAILABLE/ifneq ($(TPUT_AVAILABLE), 0)/' colors.mk
+  '';
+
   buildInputs = [ pkgconfig gtk gettext ];
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ]
+    ++ optional withBuildColors "TPUT=${ncurses}/bin/tput"
+    ++ optional (!withBuildColors) "TPUT_AVAILABLE=0"
+    ;
 
   meta = {
     homepage = http://pwmt.org/projects/girara/;
@@ -19,9 +30,8 @@ stdenv.mkDerivation rec {
       girara is a library that implements a GTK+ based VIM-like user interface
       that focuses on simplicity and minimalism.
     '';
-    license = stdenv.lib.licenses.zlib;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.garbas ];
   };
 }
-
diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/applications/misc/gkrellm/default.nix
index 81f74847c2f..934a7c69c99 100644
--- a/pkgs/applications/misc/gkrellm/default.nix
+++ b/pkgs/applications/misc/gkrellm/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     homepage = http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html;
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
index 2e9d74c2441..ec48a9da92f 100644
--- a/pkgs/applications/misc/gnuradio-osmosdr/default.nix
+++ b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
@@ -7,12 +7,12 @@ assert pythonSupport -> python != null && swig != null;
 
 stdenv.mkDerivation rec {
   name = "gnuradio-osmosdr-${version}";
-  version = "0.1.0";
+  version = "0.1.4";
 
   src = fetchgit {
     url = "git://git.osmocom.org/gr-osmosdr";
     rev = "refs/tags/v${version}";
-    sha256 = "112zfvnr6fjvhdc06ihi2sb0dp441qy7jq8rvr81nbyv3r8jspj4";
+    sha256 = "0vyzr4fhkblf2v3d7m0ch5hws4c493jw3ydl4y6b2dfbfzchhsz8";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 1a0dea586d0..888d39c3732 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -23,16 +23,16 @@
 
 stdenv.mkDerivation rec {
   name = "gnuradio-${version}";
-  version = "3.7.3";
+  version = "3.7.5.1";
 
   src = fetchurl {
     url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
-    sha256 = "0caj7dqppav53nhn0ima106hpsn0sakw57v1ihac9fk7ka0x2w8w";
+    sha256 = "0gg4i8s1z5pcfk8d7n7baxv3lx2cjcizimvbziraj27lcbvpmwar";
   };
 
   buildInputs = [
-    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4 qwt
-    alsaLib SDL libusb1 uhd gsl makeWrapper
+    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4
+    qwt alsaLib SDL libusb1 uhd gsl makeWrapper
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index ea577beb592..1e6caa93b2d 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [
     glibc
     glib
-    stdenv.gcc.gcc
+    stdenv.cc.cc
     libSM 
     libICE 
     libXi 
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
       fullPath=$fullPath:$i/lib
     done
           
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath $fullPath \
       $out/opt/googleearth/googleearth-bin
 
diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix
index e93e2be85e3..43631ecdb24 100644
--- a/pkgs/applications/misc/gosmore/default.nix
+++ b/pkgs/applications/misc/gosmore/default.nix
@@ -1,34 +1,30 @@
-a@{fetchsvn, libxml2, gtk, curl, pkgconfig, lib, ...} :  
-let 
-  fetchsvn = a.fetchsvn;
+{ stdenv, fetchsvn, libxml2, gtk, curl, pkgconfig } :
 
-  buildInputs = with a; [
-    libxml2 gtk curl pkgconfig
-  ];
+let
+  version = "30811";
 in
-rec {
+stdenv.mkDerivation {
+  name = "gosmore-r${version}";
   src = fetchsvn {
     url = http://svn.openstreetmap.org/applications/rendering/gosmore;
-    sha256 = "0ds61gl75rnzvm0hj9papl5sfcgdv4310df9ch7x9rifssfli9zm";
-    rev = "24178";
-  } + "/";
+    sha256 = "0d8ddfa0nhz51ambwj9y5jjbizl9y9w44sviisk3ysqvn8q0phds";
+    rev = "${version}";
+  };
 
-  inherit buildInputs;
-  configureFlags = [];
+  buildInputs = [ libxml2 gtk curl ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["fixCurlIncludes" "doConfigure" "doMakeInstall"];
+  nativeBuildInputs = [ pkgconfig ];
 
-  fixCurlIncludes = a.fullDepEntry ''
+  prePatch = ''
     sed -e '/curl.types.h/d' -i *.{c,h,hpp,cpp}
-  '' ["minInit" "doUnpack"];
+  '';
       
-  name = "gosmore-r21657";
-  meta = {
+  meta = with stdenv.lib; {
     description = "Open Street Map viewer";
-    maintainers = [
-      a.lib.maintainers.raskin
+    homepage = http://sourceforge.net/projects/gosmore/;
+    maintainers = with maintainers; [
+      raskin
     ];
-    platforms = a.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix
new file mode 100644
index 00000000000..3e737544d18
--- /dev/null
+++ b/pkgs/applications/misc/gpa/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk, gpgme, libgpgerror, libassuan }:
+
+stdenv.mkDerivation rec {
+  
+  name = "gpa-0.9.7";
+
+  src = fetchurl {
+    url = "mirror://gnupg/gpa/${name}.tar.bz2";
+    sha256 = "1r8pnvfw66b2m9lhajlarbxx9172c1gzripdij01bawgbrhwp33y";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk gpgme libgpgerror libassuan ];
+
+  meta = with stdenv.lib; {
+    description = "Graphical user interface for the GnuPG";
+    homepage = https://www.gnupg.org/related_software/gpa/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index 7ff253fd4e8..eafa5c10405 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.3";
+  name = "gphoto2-2.5.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "0i6qjyvgn3aaspiblmiwv51mfy92gm73xpbd3z41ki8mw7plg53i";
+    sha256 = "1d0lvp5gsrss72597wixhgh8prcw4g7izfg3zdzzsswjgnlsxsal";
   };
 
   nativeBuildInputs = [ pkgconfig gettext ];
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index 5d4c2634952..6cd50406ed7 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
   };
 }
diff --git a/pkgs/applications/misc/gqrx/default.nix b/pkgs/applications/misc/gqrx/default.nix
index a5208107750..169331ceb73 100644
--- a/pkgs/applications/misc/gqrx/default.nix
+++ b/pkgs/applications/misc/gqrx/default.nix
@@ -8,11 +8,11 @@ assert pulseaudioSupport -> pulseaudio != null;
 
 stdenv.mkDerivation rec {
   name = "gqrx-${version}";
-  version = "2.2.0";
+  version = "2.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/gqrx/${version}/${name}-src.tar.gz";
-    sha256 = "15ncx2shh43skph7sj3jvmkls9cbbbysld49c8xd23fhdsxanj9x";
+    url = "mirror://sourceforge/project/gqrx/${version}/${name}.tar.xz";
+    sha256 = "1vfqqa976xlbapqkpc9nka364zydvsy18xiwfqjy015kpasshdz1";
   };
 
   buildInputs = [
@@ -21,6 +21,14 @@ stdenv.mkDerivation rec {
 
   configurePhase = ''qmake PREFIX="$out"'';
 
+  postInstall = ''
+    mkdir -p "$out/share/applications"
+    mkdir -p "$out/share/icons"
+
+    cp gqrx.desktop "$out/share/applications/"
+    cp icons/gqrx.svg "$out/share/icons/"
+  '';
+
   meta = with stdenv.lib; {
     description = "Software defined radio (SDR) receiver";
     longDescription = ''
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
new file mode 100644
index 00000000000..31cdb8d1786
--- /dev/null
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, gtk3, pythonPackages, python, pycairo, pygobject3, intltool,
+  pango, gsettings_desktop_schemas }:
+
+pythonPackages.buildPythonPackage rec {
+  version = "4.1.1";
+  name = "gramps-${version}";
+  namePrefix = "";
+
+  buildInputs = [ intltool gtk3 ];
+
+  # Currently broken
+  doCheck = false;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gramps/Stable/${version}/${name}.tar.gz";
+    sha256 = "0jdps7yx2mlma1hdj64wssvnqd824xdvw0bmn2dnal5fn3h7h060";
+  };
+
+  pythonPath = [ pygobject3 pango pycairo pythonPackages.bsddb ];
+
+  # Same installPhase as in buildPythonPackage but without --old-and-unmanageble
+  # install flag.
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --prefix="$out"
+
+    eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+    if [ -e "$eapth" ]; then
+        # move colliding easy_install.pth to specifically named one
+        mv "$eapth" $(dirname "$eapth")/${name}.pth
+    fi
+
+    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+    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;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/misc/grass/default.nix b/pkgs/applications/misc/grass/default.nix
index 6abf6da4a69..9875b3abf01 100644
--- a/pkgs/applications/misc/grass/default.nix
+++ b/pkgs/applications/misc/grass/default.nix
@@ -87,10 +87,10 @@ a.composableDerivation.composableDerivation {} (fix: {
   // wwf {
     name = "mysql";
     enable = {
-      buildInputs = [ a.mysql ];
+      buildInputs = [ a.mysql.lib ];
       configureFlags = [
-        "--with-mysql-libs=${a.mysql}/lib/mysql"
-        "--with-mysql-includes=${a.mysql}/include/mysql"
+        "--with-mysql-libs=${a.mysql.lib}/lib/mysql"
+        "--with-mysql-includes=${a.mysql.lib}/include/mysql"
       ];
     };
   }
@@ -177,6 +177,7 @@ a.composableDerivation.composableDerivation {} (fix: {
     description = "free Geographic Information System (GIS) software used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization";
     homepage = http://grass.itc.it/index.php;
     license = [ "GPL" ];
+    broken = true;
   };
 
 })
diff --git a/pkgs/applications/misc/gtk2fontsel/default.nix b/pkgs/applications/misc/gtk2fontsel/default.nix
new file mode 100644
index 00000000000..ea3f4b8f2b9
--- /dev/null
+++ b/pkgs/applications/misc/gtk2fontsel/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, pkgconfig, gtk }:
+
+stdenv.mkDerivation rec {
+  version = "0.1";
+  name = "gtk2fontsel-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gtk2fontsel/${name}.tar.gz";
+    sha256 = "0s2sj19n8ys92q9832hkn36ld91bb4qavicc6nygkry6qdpkkmjw";
+  };
+
+  buildInputs = [ stdenv pkgconfig gtk ];
+
+  preferLocalBuild = true;
+
+  meta = with stdenv.lib; {
+    description = "A font selection program for X11 using the GTK2 toolkit";
+    longDescription = ''
+      Font selection tool similar to xfontsel implemented using GTK+ 2.
+      Trivial, but useful nonetheless.
+    '';
+    homepage = http://gtk2fontsel.sourceforge.net/;
+    downloadPage = http://sourceforge.net/projects/gtk2fontsel/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.prikhi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/hello/ex-2/default.nix b/pkgs/applications/misc/hello/ex-2/default.nix
index 71c9777ff9b..8a31c591b29 100644
--- a/pkgs/applications/misc/hello/ex-2/default.nix
+++ b/pkgs/applications/misc/hello/ex-2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hello-2.9";
+  name = "hello-2.10";
 
   src = fetchurl {
     url = "mirror://gnu/hello/${name}.tar.gz";
-    sha256 = "19qy37gkasc4csb1d3bdiz9snn8mir2p3aj0jgzmfv0r2hi7mfzc";
+    sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
   };
 
   doCheck = true;
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.gnu.org/software/hello/manual/;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix
new file mode 100644
index 00000000000..f4d4af0e12d
--- /dev/null
+++ b/pkgs/applications/misc/hstr/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, readline, ncurses }:
+
+let
+  version = "1.16";
+in
+stdenv.mkDerivation rec {
+
+  name = "hstr-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/dvorka/hstr/releases/download/${version}/hh-${version}-src.tgz";
+    sha256 = "1hl3fn6kravx5gsdsr0l824vnkj5aiz0dybhd3ak932v95b5knyg";
+  };
+
+  buildInputs = [ readline ncurses ];
+
+  meta = {
+    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 ];
+    platforms = with stdenv.lib.platforms; linux; # Cannot test others
+  };
+
+}
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index fab492d5c09..a076a2bb7cf 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20140227";
+  version = "3.20150107";
 
   lib = stdenv.lib;
 in
@@ -31,8 +31,8 @@ stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
-    url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
-    sha256 = "1bbpqs4c1la1yqcxcxj3xip3wadjnjq0wawv19j6d6baymm66cr3";
+    url = "https://github.com/joeyh/ikiwiki/archive/debian/${version}.tar.gz";
+    sha256 = "12kiqjxrh93gysdp7bhglnks2md9davl8jgzqlj0m8xs5rf1972n";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
     sed -i /ENV{PATH}/d ikiwiki.in
     # State the gcc dependency, and make the cgi use our wrapper
     sed -i -e 's@$0@"'$out/bin/ikiwiki'"@' \
-        -e "s@'cc'@'${stdenv.gcc}/bin/gcc'@" IkiWiki/Wrapper.pm
+        -e "s@'cc'@'${stdenv.cc}/bin/gcc'@" IkiWiki/Wrapper.pm
   '';
 
   configurePhase = "perl Makefile.PL PREFIX=$out";
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
new file mode 100644
index 00000000000..9c592fcbb2d
--- /dev/null
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -0,0 +1,111 @@
+# Build procedure lifted from https://aur.archlinux.org/packages/k2/k2pdfopt/PKGBUILD
+{ stdenv, fetchzip, fetchurl, writeScript, libX11, libXext, autoconf, automake, libtool
+      , leptonica, libpng, libtiff, zlib, openjpeg, freetype, jbig2dec, djvulibre
+      , openssl }:
+
+let
+  mupdf_src = fetchurl {
+    url = http://www.mupdf.com/downloads/archive/mupdf-1.5-source.tar.gz;
+    sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
+  };
+
+  tess_src = fetchurl {
+    url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz;
+    sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96";
+  };
+
+  gocr_src = fetchurl {
+    url = http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz;
+    sha256 = "06hpzp7rkkwfr1fvmc8kcfz9v490i9yir7f7imh13gmka0fr6afc";
+  };
+
+in stdenv.mkDerivation rec {
+  name = "k2pdfopt-${version}";
+  version = "2.30";
+  src = fetchzip {
+    url = "http://www.willus.com/k2pdfopt/src/k2pdfopt_v${version}_src.zip";
+    sha256 = "1fjjznkplrbyrg48wbij4kqgkz9i5icq7savl6brsf9haahdz6q5";
+  };
+
+  buildInputs = [ libX11 libXext autoconf automake libtool leptonica libpng libtiff zlib
+                    openjpeg freetype jbig2dec djvulibre openssl ];
+  NIX_LDFLAGS = "-lX11 -lXext";
+
+  k2_pa = ./k2pdfopt.patch;
+  tess_pa = ./tesseract.patch;
+
+  builder = writeScript "builder.sh" ''
+    . ${stdenv}/setup
+    set -e
+
+    plibs=`pwd`/patched_libraries
+
+    tar zxf ${mupdf_src}
+    cp $src/mupdf_mod/font.c $src/mupdf_mod/string.c mupdf-1.5-source/source/fitz/
+    cp $src/mupdf_mod/pdf-* mupdf-1.5-source/source/pdf
+
+    tar zxf ${tess_src}
+    cp $src/tesseract_mod/dawg.cpp tesseract-ocr/dict
+    cp $src/tesseract_mod/tessdatamanager.cpp tesseract-ocr/ccutil
+    cp $src/tesseract_mod/tessedit.cpp tesseract-ocr/ccmain
+    cp $src/tesseract_mod/tesscapi.cpp tesseract-ocr/api
+    cp $src/include_mod/tesseract.h $src/include_mod/leptonica.h tesseract-ocr/api
+
+    cp -a $src k2pdfopt_v2.21
+    chmod -R +w k2pdfopt_v2.21
+
+    patch -p0 -i $tess_pa
+    patch -p0 -i $k2_pa
+
+    cd tesseract-ocr
+    ./autogen.sh
+    substituteInPlace "configure" \
+            --replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \
+            'LIBLEPT_HEADERSDIR=${leptonica}/include'
+    ./configure --prefix=$plibs --disable-shared
+    make install
+
+    cd ..
+    tar zxf ${gocr_src}
+    cd gocr-0.49
+    ./configure
+    cp src/{gocr.h,pnm.h,unicode.h,list.h} $plibs/include
+    cp include/config.h $plibs/include
+    make libs
+    cp src/libPgm2asc.a $plibs/lib
+
+    cd ../mupdf-1.5-source
+    make prefix=$plibs install
+    install -Dm644 build/debug/libmujs.a $plibs/lib
+
+    cd ../k2pdfopt_v2.21/k2pdfoptlib
+    gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include \
+        -I . -I ../willuslib
+    ar rcs libk2pdfopt.a *.o
+
+    cd ../willuslib
+    gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include
+    ar rcs libwillus.a *.o
+
+    cd ..
+    gcc -Wall -Ofast -o k2pdfopt.o -c k2pdfopt.c -I k2pdfoptlib/ -I willuslib/ \
+            -I include_mod/ -I $plibs/include
+    g++ -Ofast k2pdfopt.o -o k2pdfopt -I willuslib/ -I k2pdfoptlib/ -I include_mod/ \
+            -I $plibs/include -L $plibs/lib/ \
+            -L willuslib/ -L k2pdfoptlib/ -lk2pdfopt -lwillus -ldjvulibre -lz -lmupdf  \
+            -ljbig2dec -ljpeg -lopenjp2 -lpng -lfreetype -lpthread -lmujs \
+            -lPgm2asc -llept -ltesseract -lcrypto
+
+    mkdir -p $out/bin 
+    cp k2pdfopt $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Optimizes PDF/DJVU files for mobile e-readers (e.g. the Kindle) and smartphones";
+    homepage = http://www.willus.com/k2pdfopt;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bosu ];
+  };
+}
+
diff --git a/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch b/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
new file mode 100644
index 00000000000..00ac5770ea4
--- /dev/null
+++ b/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
@@ -0,0 +1,95 @@
+diff -aur k2pdfopt_v2.21/willuslib/array.c k2pdfopt_v2.21.new/willuslib/array.c
+--- k2pdfopt_v2.21/willuslib/array.c	2014-05-23 16:29:58.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/array.c	2014-07-26 11:35:49.829825567 -0300
+@@ -1055,7 +1055,7 @@
+ void arrayf_sort(float *a,int n)
+ 
+     {
+-    sort(a,(long)n);
++    willus_sort(a,(long)n);
+     }
+ 
+ 
+diff -aur k2pdfopt_v2.21/willuslib/math.c k2pdfopt_v2.21.new/willuslib/math.c
+--- k2pdfopt_v2.21/willuslib/math.c	2013-08-15 21:33:50.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/math.c	2014-07-26 11:36:02.853170659 -0300
+@@ -532,7 +532,7 @@
+ 
+ 
+ 
+-void sort(float *x,int n)
++void willus_sort(float *x,int n)
+ 
+     {
+     int top,n1;
+diff -aur k2pdfopt_v2.21/willuslib/ocrjocr.c k2pdfopt_v2.21.new/willuslib/ocrjocr.c
+--- k2pdfopt_v2.21/willuslib/ocrjocr.c	2012-11-12 13:09:42.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/ocrjocr.c	2014-07-26 11:36:46.699837185 -0300
+@@ -29,6 +29,8 @@
+ #ifdef HAVE_GOCR_LIB
+ #include <gocr.h>
+ 
++job_t *JOB;
++
+ /*
+ ** bmp8 must be grayscale
+ ** (x1,y1) and (x2,y2) from top left of bitmap
+@@ -66,6 +68,7 @@
+     h=y2-y1+1;
+     dh=h+bw*2;
+     job=&_job;
++    JOB=job;
+     job_init(job);
+     job_init_image(job);
+     // willus_mem_alloc_warn((void **)&job->src.p.p,w*h,funcname,10);
+diff -aur k2pdfopt_v2.21/willuslib/string.c k2pdfopt_v2.21.new/willuslib/string.c
+--- k2pdfopt_v2.21/willuslib/string.c	2014-02-03 00:37:44.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/string.c	2014-07-26 11:37:01.766506277 -0300
+@@ -81,7 +81,7 @@
+ ** Returns NULL if EOF, otherwise returns pointer to the string.
+ **
+ */
+-char *get_line(char *buf,int max,FILE *f)
++char *willus_get_line(char *buf,int max,FILE *f)
+ 
+     {
+     int     i;
+diff -aur k2pdfopt_v2.21/willuslib/willus.h k2pdfopt_v2.21.new/willuslib/willus.h
+--- k2pdfopt_v2.21/willuslib/willus.h	2014-07-25 15:03:51.000000000 -0300
++++ k2pdfopt_v2.21.new/willuslib/willus.h	2014-07-26 11:37:56.316506038 -0300
+@@ -214,9 +214,6 @@
+ ** CMAKE handles the defines, not this source
+ ** (Mod from Dirk Thierbach, 31-Dec-2013)
+ */
+-#ifdef USE_CMAKE
+-#include "config.h"
+-#else /* USE_CMAKE */
+ 
+ #ifndef HAVE_Z_LIB
+ #define HAVE_Z_LIB
+@@ -268,7 +265,6 @@
+ #undef HAVE_GSL_LIB
+ #endif
+ 
+-#endif /* USE_CMAKE */
+ /*
+ ** Consistency check
+ */
+@@ -533,7 +529,7 @@
+                       int *n,FILE *err);
+ int    readxyz_ex    (char *filename,double **x,double **y,double **z,
+                       int *n,FILE *err,int ignore_after_semicolon);
+-void   sort          (float *x,int n);
++void   willus_sort          (float *x,int n);
+ void   sortd         (double *x,int n);
+ void   sorti         (int *x,int n);
+ void   sortxy        (float *x,float *y,int n);
+@@ -602,7 +598,7 @@
+ /* string.c */
+ void   clean_line    (char *buf);
+ void   clean_line_end(char *buf);
+-char  *get_line      (char *buf,int max,FILE *f);
++char  *willus_get_line      (char *buf,int max,FILE *f);
+ char  *get_line_cf   (char *buf,int max,FILE *f);
+ int   mem_get_line_cf(char *buf,int maxlen,char *cptr,long *cindex,long csize);
+ int    in_string     (char *buffer,char *pattern);
diff --git a/pkgs/applications/misc/k2pdfopt/tesseract.patch b/pkgs/applications/misc/k2pdfopt/tesseract.patch
new file mode 100644
index 00000000000..5cb6e0fe317
--- /dev/null
+++ b/pkgs/applications/misc/k2pdfopt/tesseract.patch
@@ -0,0 +1,12 @@
+diff -aur tesseract-ocr/api/Makefile.am tesseract-ocr.new/api/Makefile.am
+--- tesseract-ocr/api/Makefile.am	2012-10-09 14:18:39.000000000 -0300
++++ tesseract-ocr.new/api/Makefile.am	2014-03-20 18:43:13.926030341 -0300
+@@ -36,7 +36,7 @@
+ if VISIBILITY
+ libtesseract_api_la_CPPFLAGS += -DTESS_EXPORTS
+ endif
+-libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp
++libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp tesscapi.cpp
+ 
+ lib_LTLIBRARIES += libtesseract.la
+ libtesseract_la_LDFLAGS = 
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index 06565065ce5..7730402a795 100644
--- a/pkgs/applications/misc/k3b/default.nix
+++ b/pkgs/applications/misc/k3b/default.nix
@@ -1,25 +1,36 @@
-{ stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
+{ stdenv, fetchurl, makeWrapper, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
 , flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
+, transcode, cdrdao, cdrtools, dvdplusrwtools, vcdimager, cdparanoia
 , kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null
 }:
 
 stdenv.mkDerivation rec {
-  name = "k3b-2.0.2";
+  name = "k3b-2.0.3a";
   
   src = fetchurl {
-    url = "mirror://sourceforge/k3b/${name}.tar.bz2";
-    sha256 = "1kdpylz3w9bg02jg4mjhqz8bq1yb4xi4fqfl9139qcyjq4lny5xg";
+    url = "http://download.kde.org/stable/k3b/${name}.tar.xz";
+    sha256 = "10f07465g9860chfnvrp9w3m686g6j9f446xgnnx7h82d1sb42rd";
   };
 
   buildInputs =
     [ cmake qt4 perl shared_mime_info libvorbis taglib
       flac libsamplerate libdvdread lame libsndfile
-      libmad gettext stdenv.gcc.libc
+      libmad gettext stdenv.cc.libc
       kdelibs kdemultimedia automoc4 phonon
-      libkcddb
+      libkcddb makeWrapper cdparanoia
     ];
 
   enableParallelBuilding = true;
+
+  # at runtime, k3b needs the executables cdrdao, cdrecord, dvd+rw-format,
+  # eMovix, growisofs, mkisofs, normalize, readcd, transcode, vcdxbuild,
+  # vcdxminfo, and vcdxrip
+  propagatedUserEnvPkgs = [ cdrdao cdrtools dvdplusrwtools transcode vcdimager ];
+
+  postInstall = ''
+    wrapProgram $out/bin/k3b \
+      --prefix LD_LIBRARY_PATH ":" "${cdparanoia}/lib"
+  '';
                   
   meta = with stdenv.lib; {
     description = "CD/DVD Burning Application for KDE";
diff --git a/pkgs/applications/misc/kde-wacomtablet/default.nix b/pkgs/applications/misc/kde-wacomtablet/default.nix
index ee93f57eafc..1b71989f8b6 100644
--- a/pkgs/applications/misc/kde-wacomtablet/default.nix
+++ b/pkgs/applications/misc/kde-wacomtablet/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, kdelibs, gettext, xf86_input_wacom }:
 
 stdenv.mkDerivation rec {
-  name = "wacomtablet-2.0.2";
+  name = "wacomtablet-2.1.0";
 
   src = fetchurl {
-    url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-2.0.2.tar.xz";
-    sha256 = "13k5f5xpka5cbgl24a3j9khqcmp96x1vhynn9v558ag6dg9ch2hw";
+    url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-2.1.0.tar.xz";
+    sha256 = "17n1p5v2yx517hkqd13pyl3wnrdnh6pfzwf2y2csrfckyndhwk8w";
   };
 
   buildInputs = [ kdelibs xf86_input_wacom ];
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index 663ce872e22..51b7b90ca4e 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, fetchurl, gettext, kdelibs, libXtst, makeWrapper, qca2, qca2_ossl, qjson }:
+{ stdenv, fetchurl, gettext, kdelibs, libXtst, libfakekey, makeWrapper, pkgconfig, qca2
+, qjson
+}:
 
 stdenv.mkDerivation rec {
   name = "kdeconnect-${version}";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchurl {
     url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz";
-    sha256 = "1v7sicgy39n8pn7nzq9f7lkmwbcvavhy3b66agyhxwmyzz6mcd4g";
+    sha256 = "1vrr047bq5skxvibv5pb9ch9dxh005zmar017jzbyb9hilxr8kg4";
   };
 
-  buildInputs = [ gettext kdelibs libXtst makeWrapper qca2 qca2_ossl qjson ];
-
-  postInstall = ''
-    wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins
-  '';
+  buildInputs = [ gettext kdelibs libXtst libfakekey makeWrapper pkgconfig qca2 qjson ];
 
   meta = with stdenv.lib; {
     description = "A tool to connect and sync your devices with KDE";
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 89f794850d2..e47e87d6338 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "keepass-${version}";
-  version = "2.22";
+  version = "2.28";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
-    sha256 = "0mman7r1jmirfwzix5qww0yn4rrgzcg7546basxjvvfc8flp43j0";
+    sha256 = "0rlll6qriflaibqpw9qqfgqqr7cvhl404c3ph6n2i22j7xn5mizh";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix
index 1a79af7cb57..c39c72398f7 100644
--- a/pkgs/applications/misc/keepassx/2.0.nix
+++ b/pkgs/applications/misc/keepassx/2.0.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }:
 
 stdenv.mkDerivation {
-  name = "keepassx2-2.0alpha5";
+  name = "keepassx2-2.0alpha6";
   src = fetchurl {
-    url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz";
-    sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm";
+    url = "https://github.com/keepassx/keepassx/archive/2.0-alpha6.tar.gz";
+    sha256 = "592f9995b13c4f84724fb24a0078162246397eedccd467daaf0fd3608151f2b0";
   };
 
   buildInputs = [ cmake libgcrypt qt4 xlibs.libXtst ];
diff --git a/pkgs/applications/misc/keybase-node-client/default.nix b/pkgs/applications/misc/keybase-node-client/default.nix
new file mode 100644
index 00000000000..048b42159b8
--- /dev/null
+++ b/pkgs/applications/misc/keybase-node-client/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, makeWrapper, callPackage, gnupg, utillinux }:
+
+with stdenv.lib;
+
+let 
+  nodePackages = callPackage (import <nixpkgs/pkgs/top-level/node-packages.nix>) {
+    neededNatives = [] ++ optional (stdenv.isLinux) utillinux;
+    self = nodePackages;
+    generated = ./package.nix;
+  };
+
+in nodePackages.buildNodePackage rec {
+  name = "keybase-node-client-${version}";
+  version = "0.7.7";
+
+  src = [(fetchurl {
+    url = "https://github.com/keybase/node-client/archive/v${version}.tar.gz";
+    sha256 = "1p2plxz4lf5pbrvl5sql00lk459lnxcz7cxc4cdhfzc6h4ql425f";
+  })];
+
+  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+  buildInputs = [ makeWrapper gnupg ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/keybase" --set NODE_PATH "$out/lib/node_modules/keybase/node_modules/"
+  '';
+
+  passthru.names = ["keybase"];
+
+  meta = {
+    description = "CLI for keybase.io written in/for Node.js";
+    license = licenses.mit;
+    homepage = https://keybase.io/docs/command_line;
+    maintainers = with maintainers; [manveru];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/keybase-node-client/package.nix b/pkgs/applications/misc/keybase-node-client/package.nix
new file mode 100644
index 00000000000..2835fe81b98
--- /dev/null
+++ b/pkgs/applications/misc/keybase-node-client/package.nix
@@ -0,0 +1,2076 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."CSSselect"."~0.4.0" =
+    self.by-version."CSSselect"."0.4.1";
+  by-version."CSSselect"."0.4.1" = self.buildNodePackage {
+    name = "CSSselect-0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
+      name = "CSSselect-0.4.1.tgz";
+      sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
+    };
+    deps = {
+      "CSSwhat-0.4.7" = self.by-version."CSSwhat"."0.4.7";
+      "domutils-1.4.3" = self.by-version."domutils"."1.4.3";
+    };
+    peerDependencies = [];
+  };
+  by-spec."CSSwhat"."0.4" =
+    self.by-version."CSSwhat"."0.4.7";
+  by-version."CSSwhat"."0.4.7" = self.buildNodePackage {
+    name = "CSSwhat-0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
+      name = "CSSwhat-0.4.7.tgz";
+      sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."argparse"."0.1.15" =
+    self.by-version."argparse"."0.1.15";
+  by-version."argparse"."0.1.15" = self.buildNodePackage {
+    name = "argparse-0.1.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
+      name = "argparse-0.1.15.tgz";
+      sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+    };
+    deps = {
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+    };
+    peerDependencies = [];
+  };
+  "argparse" = self.by-version."argparse"."0.1.15";
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = self.buildNodePackage {
+    name = "asn1-0.1.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+      name = "asn1-0.1.11.tgz";
+      sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."assert-plus"."^0.1.5" =
+    self.by-version."assert-plus"."0.1.5";
+  by-version."assert-plus"."0.1.5" = self.buildNodePackage {
+    name = "assert-plus-0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+      name = "assert-plus-0.1.5.tgz";
+      sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."async"."0.2.x" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = self.buildNodePackage {
+    name = "async-0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+      name = "async-0.2.10.tgz";
+      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.0";
+  by-version."async"."0.9.0" = self.buildNodePackage {
+    name = "async-0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+      name = "async-0.9.0.tgz";
+      sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = self.buildNodePackage {
+    name = "aws-sign2-0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+      name = "aws-sign2-0.5.0.tgz";
+      sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."badnode"."^1.0.1" =
+    self.by-version."badnode"."1.0.1";
+  by-version."badnode"."1.0.1" = self.buildNodePackage {
+    name = "badnode-1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/badnode/-/badnode-1.0.1.tgz";
+      name = "badnode-1.0.1.tgz";
+      sha1 = "3f14123363badf4bed1acc8ed839ee99b27ad7e0";
+    };
+    deps = {
+      "semver-4.3.1" = self.by-version."semver"."4.3.1";
+    };
+    peerDependencies = [];
+  };
+  "badnode" = self.by-version."badnode"."1.0.1";
+  by-spec."balanced-match"."^0.2.0" =
+    self.by-version."balanced-match"."0.2.0";
+  by-version."balanced-match"."0.2.0" = self.buildNodePackage {
+    name = "balanced-match-0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz";
+      name = "balanced-match-0.2.0.tgz";
+      sha1 = "38f6730c03aab6d5edbb52bd934885e756d71674";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."bitcoyne".">=0.0.6" =
+    self.by-version."bitcoyne"."1.0.1";
+  by-version."bitcoyne"."1.0.1" = self.buildNodePackage {
+    name = "bitcoyne-1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bitcoyne/-/bitcoyne-1.0.1.tgz";
+      name = "bitcoyne-1.0.1.tgz";
+      sha1 = "5a775f93ccb8c4b7b26d4c2a44c25916783cf40e";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "kbpgp-2.0.8" = self.by-version."kbpgp"."2.0.8";
+      "pgp-utils-0.0.27" = self.by-version."pgp-utils"."0.0.27";
+    };
+    peerDependencies = [];
+  };
+  "bitcoyne" = self.by-version."bitcoyne"."1.0.1";
+  by-spec."bn"."^1.0.0" =
+    self.by-version."bn"."1.0.1";
+  by-version."bn"."1.0.1" = self.buildNodePackage {
+    name = "bn-1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bn/-/bn-1.0.1.tgz";
+      name = "bn-1.0.1.tgz";
+      sha1 = "a153825e6b1eb2c2db7726149b047a07ce0a3bb3";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."bn"."^1.0.1" =
+    self.by-version."bn"."1.0.1";
+  "bn" = self.by-version."bn"."1.0.1";
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = self.buildNodePackage {
+    name = "boom-0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+      name = "boom-0.4.2.tgz";
+      sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."brace-expansion"."^1.0.0" =
+    self.by-version."brace-expansion"."1.1.0";
+  by-version."brace-expansion"."1.1.0" = self.buildNodePackage {
+    name = "brace-expansion-1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz";
+      name = "brace-expansion-1.1.0.tgz";
+      sha1 = "c9b7d03c03f37bc704be100e522b40db8f6cfcd9";
+    };
+    deps = {
+      "balanced-match-0.2.0" = self.by-version."balanced-match"."0.2.0";
+      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."cheerio"."0.13.0" =
+    self.by-version."cheerio"."0.13.0";
+  by-version."cheerio"."0.13.0" = self.buildNodePackage {
+    name = "cheerio-0.13.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cheerio/-/cheerio-0.13.0.tgz";
+      name = "cheerio-0.13.0.tgz";
+      sha1 = "44f5112044e0e0148300dd16bf8bbd7755ce65f1";
+    };
+    deps = {
+      "htmlparser2-3.4.0" = self.by-version."htmlparser2"."3.4.0";
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "entities-0.5.0" = self.by-version."entities"."0.5.0";
+      "CSSselect-0.4.1" = self.by-version."CSSselect"."0.4.1";
+    };
+    peerDependencies = [];
+  };
+  "cheerio" = self.by-version."cheerio"."0.13.0";
+  by-spec."cli"."0.4.x" =
+    self.by-version."cli"."0.4.5";
+  by-version."cli"."0.4.5" = self.buildNodePackage {
+    name = "cli-0.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cli/-/cli-0.4.5.tgz";
+      name = "cli-0.4.5.tgz";
+      sha1 = "78f9485cd161b566e9a6c72d7170c4270e81db61";
+    };
+    deps = {
+      "glob-5.0.0" = self.by-version."glob"."5.0.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."cliff"."0.1.x" =
+    self.by-version."cliff"."0.1.10";
+  by-version."cliff"."0.1.10" = self.buildNodePackage {
+    name = "cliff-0.1.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz";
+      name = "cliff-0.1.10.tgz";
+      sha1 = "53be33ea9f59bec85609ee300ac4207603e52013";
+    };
+    deps = {
+      "colors-1.0.3" = self.by-version."colors"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "winston-0.8.3" = self.by-version."winston"."0.8.3";
+    };
+    peerDependencies = [];
+  };
+  by-spec."codesign"."0.0.9" =
+    self.by-version."codesign"."0.0.9";
+  by-version."codesign"."0.0.9" = self.buildNodePackage {
+    name = "codesign-0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/codesign/-/codesign-0.0.9.tgz";
+      name = "codesign-0.0.9.tgz";
+      sha1 = "2da6b703f1d1cf2a76e8b1d48f44fa922e21b55f";
+    };
+    deps = {
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-logger-0.0.6" = self.by-version."iced-logger"."0.0.6";
+      "glob-to-regexp-0.0.2" = self.by-version."glob-to-regexp"."0.0.2";
+      "tablify-0.1.5" = self.by-version."tablify"."0.1.5";
+    };
+    peerDependencies = [];
+  };
+  "codesign" = self.by-version."codesign"."0.0.9";
+  by-spec."colors"."0.6.2" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = self.buildNodePackage {
+    name = "colors-0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+      name = "colors-0.6.2.tgz";
+      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "colors" = self.by-version."colors"."0.6.2";
+  by-spec."colors"."0.6.x" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors".">=0.6.2" =
+    self.by-version."colors"."1.0.3";
+  by-version."colors"."1.0.3" = self.buildNodePackage {
+    name = "colors-1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz";
+      name = "colors-1.0.3.tgz";
+      sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."colors"."~0.6.2" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors"."~1.0.3" =
+    self.by-version."colors"."1.0.3";
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.7";
+  by-version."combined-stream"."0.0.7" = self.buildNodePackage {
+    name = "combined-stream-0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+      name = "combined-stream-0.0.7.tgz";
+      sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+    };
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    peerDependencies = [];
+  };
+  by-spec."commander".">= 0.5.2" =
+    self.by-version."commander"."2.6.0";
+  by-version."commander"."2.6.0" = self.buildNodePackage {
+    name = "commander-2.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
+      name = "commander-2.6.0.tgz";
+      sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."commander"."~2.1.0" =
+    self.by-version."commander"."2.1.0";
+  by-version."commander"."2.1.0" = self.buildNodePackage {
+    name = "commander-2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+      name = "commander-2.1.0.tgz";
+      sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."concat-map"."0.0.1" =
+    self.by-version."concat-map"."0.0.1";
+  by-version."concat-map"."0.0.1" = self.buildNodePackage {
+    name = "concat-map-0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+      name = "concat-map-0.0.1.tgz";
+      sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.1";
+  by-version."core-util-is"."1.0.1" = self.buildNodePackage {
+    name = "core-util-is-1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+      name = "core-util-is-1.0.1.tgz";
+      sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = self.buildNodePackage {
+    name = "cryptiles-0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+      name = "cryptiles-0.2.2.tgz";
+      sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+    };
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."ctype"."0.5.3" =
+    self.by-version."ctype"."0.5.3";
+  by-version."ctype"."0.5.3" = self.buildNodePackage {
+    name = "ctype-0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+      name = "ctype-0.5.3.tgz";
+      sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."cycle"."1.0.x" =
+    self.by-version."cycle"."1.0.3";
+  by-version."cycle"."1.0.3" = self.buildNodePackage {
+    name = "cycle-1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+      name = "cycle-1.0.3.tgz";
+      sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."deep-equal"."0.2.1" =
+    self.by-version."deep-equal"."0.2.1";
+  by-version."deep-equal"."0.2.1" = self.buildNodePackage {
+    name = "deep-equal-0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
+      name = "deep-equal-0.2.1.tgz";
+      sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "deep-equal" = self.by-version."deep-equal"."0.2.1";
+  by-spec."deep-equal".">=0.2.1" =
+    self.by-version."deep-equal"."1.0.0";
+  by-version."deep-equal"."1.0.0" = self.buildNodePackage {
+    name = "deep-equal-1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-1.0.0.tgz";
+      name = "deep-equal-1.0.0.tgz";
+      sha1 = "d4564f07d2f0ab3e46110bec16592abd7dc2e326";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."deep-equal"."~0.2.1" =
+    self.by-version."deep-equal"."0.2.2";
+  by-version."deep-equal"."0.2.2" = self.buildNodePackage {
+    name = "deep-equal-0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz";
+      name = "deep-equal-0.2.2.tgz";
+      sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+      name = "delayed-stream-0.0.5.tgz";
+      sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."docco"."~0.6.2" =
+    self.by-version."docco"."0.6.3";
+  by-version."docco"."0.6.3" = self.buildNodePackage {
+    name = "docco-0.6.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/docco/-/docco-0.6.3.tgz";
+      name = "docco-0.6.3.tgz";
+      sha1 = "c47b5823d79563d6fc3abd49f3de48986e5522ee";
+    };
+    deps = {
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+      "marked-0.3.3" = self.by-version."marked"."0.3.3";
+      "fs-extra-0.16.4" = self.by-version."fs-extra"."0.16.4";
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+      "highlight.js-8.4.0" = self.by-version."highlight.js"."8.4.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."domelementtype"."1" =
+    self.by-version."domelementtype"."1.3.0";
+  by-version."domelementtype"."1.3.0" = self.buildNodePackage {
+    name = "domelementtype-1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
+      name = "domelementtype-1.3.0.tgz";
+      sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."domhandler"."2.2" =
+    self.by-version."domhandler"."2.2.1";
+  by-version."domhandler"."2.2.1" = self.buildNodePackage {
+    name = "domhandler-2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz";
+      name = "domhandler-2.2.1.tgz";
+      sha1 = "59df9dcd227e808b365ae73e1f6684ac3d946fc2";
+    };
+    deps = {
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."domutils"."1.3" =
+    self.by-version."domutils"."1.3.0";
+  by-version."domutils"."1.3.0" = self.buildNodePackage {
+    name = "domutils-1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz";
+      name = "domutils-1.3.0.tgz";
+      sha1 = "9ad4d59b5af6ca684c62fe6d768ef170e70df192";
+    };
+    deps = {
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."domutils"."1.4" =
+    self.by-version."domutils"."1.4.3";
+  by-version."domutils"."1.4.3" = self.buildNodePackage {
+    name = "domutils-1.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
+      name = "domutils-1.4.3.tgz";
+      sha1 = "0865513796c6b306031850e175516baf80b72a6f";
+    };
+    deps = {
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."entities"."0.x" =
+    self.by-version."entities"."0.5.0";
+  by-version."entities"."0.5.0" = self.buildNodePackage {
+    name = "entities-0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/entities/-/entities-0.5.0.tgz";
+      name = "entities-0.5.0.tgz";
+      sha1 = "f611cb5ae221050e0012c66979503fd7ae19cc49";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."eyes"."0.1.x" =
+    self.by-version."eyes"."0.1.8";
+  by-version."eyes"."0.1.8" = self.buildNodePackage {
+    name = "eyes-0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+      name = "eyes-0.1.8.tgz";
+      sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."eyes"."~0.1.8" =
+    self.by-version."eyes"."0.1.8";
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = self.buildNodePackage {
+    name = "forever-agent-0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+      name = "forever-agent-0.5.2.tgz";
+      sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.4";
+  by-version."form-data"."0.1.4" = self.buildNodePackage {
+    name = "form-data-0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+      name = "form-data-0.1.4.tgz";
+      sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."framed-msgpack-rpc"."1.1.4" =
+    self.by-version."framed-msgpack-rpc"."1.1.4";
+  by-version."framed-msgpack-rpc"."1.1.4" = self.buildNodePackage {
+    name = "framed-msgpack-rpc-1.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/framed-msgpack-rpc/-/framed-msgpack-rpc-1.1.4.tgz";
+      name = "framed-msgpack-rpc-1.1.4.tgz";
+      sha1 = "54bfc5fbdf0c7c1b7691f20ffb31ef955c185db2";
+    };
+    deps = {
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "purepack-1.0.1" = self.by-version."purepack"."1.0.1";
+    };
+    peerDependencies = [];
+  };
+  "framed-msgpack-rpc" = self.by-version."framed-msgpack-rpc"."1.1.4";
+  by-spec."fs-extra".">= 0.6.0" =
+    self.by-version."fs-extra"."0.16.4";
+  by-version."fs-extra"."0.16.4" = self.buildNodePackage {
+    name = "fs-extra-0.16.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.16.4.tgz";
+      name = "fs-extra-0.16.4.tgz";
+      sha1 = "3e3d3cd6f388e2acbc0fc2e0202f0533ec0507b1";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "jsonfile-2.0.0" = self.by-version."jsonfile"."2.0.0";
+      "rimraf-2.3.1" = self.by-version."rimraf"."2.3.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."glob".">= 3.1.4" =
+    self.by-version."glob"."5.0.0";
+  by-version."glob"."5.0.0" = self.buildNodePackage {
+    name = "glob-5.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-5.0.0.tgz";
+      name = "glob-5.0.0.tgz";
+      sha1 = "bb00d4e340932eb101dc2a30e4127ddd51ed15ed";
+    };
+    deps = {
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."glob"."^4.4.2" =
+    self.by-version."glob"."4.5.0";
+  by-version."glob"."4.5.0" = self.buildNodePackage {
+    name = "glob-4.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-4.5.0.tgz";
+      name = "glob-4.5.0.tgz";
+      sha1 = "d6511322e9d5c9bc689f20eb7348f00489723882";
+    };
+    deps = {
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."glob-to-regexp".">=0.0.1" =
+    self.by-version."glob-to-regexp"."0.0.2";
+  by-version."glob-to-regexp"."0.0.2" = self.buildNodePackage {
+    name = "glob-to-regexp-0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.0.2.tgz";
+      name = "glob-to-regexp-0.0.2.tgz";
+      sha1 = "82cb3c797594b47890f180f015c1773601374b91";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."gpg-wrapper".">=1.0.3" =
+    self.by-version."gpg-wrapper"."1.0.3";
+  by-version."gpg-wrapper"."1.0.3" = self.buildNodePackage {
+    name = "gpg-wrapper-1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gpg-wrapper/-/gpg-wrapper-1.0.3.tgz";
+      name = "gpg-wrapper-1.0.3.tgz";
+      sha1 = "826260e7ae53932f80574e04240bbb8999227cd1";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "iced-spawn-1.0.0" = self.by-version."iced-spawn"."1.0.0";
+      "iced-utils-0.1.22" = self.by-version."iced-utils"."0.1.22";
+      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
+      "spotty-1.0.0" = self.by-version."spotty"."1.0.0";
+    };
+    peerDependencies = [];
+  };
+  "gpg-wrapper" = self.by-version."gpg-wrapper"."1.0.3";
+  by-spec."graceful-fs"."^3.0.5" =
+    self.by-version."graceful-fs"."3.0.5";
+  by-version."graceful-fs"."3.0.5" = self.buildNodePackage {
+    name = "graceful-fs-3.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz";
+      name = "graceful-fs-3.0.5.tgz";
+      sha1 = "4a880474bdeb716fe3278cf29792dec38dfac418";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."hawk"."~1.0.0" =
+    self.by-version."hawk"."1.0.0";
+  by-version."hawk"."1.0.0" = self.buildNodePackage {
+    name = "hawk-1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+      name = "hawk-1.0.0.tgz";
+      sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    peerDependencies = [];
+  };
+  by-spec."highlight.js".">= 8.0.x" =
+    self.by-version."highlight.js"."8.4.0";
+  by-version."highlight.js"."8.4.0" = self.buildNodePackage {
+    name = "highlight.js-8.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/highlight.js/-/highlight.js-8.4.0.tgz";
+      name = "highlight.js-8.4.0.tgz";
+      sha1 = "dc0d05b8dc9b110f13bce52cb96fd1e0c6bc791c";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = self.buildNodePackage {
+    name = "hoek-0.9.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+      name = "hoek-0.9.1.tgz";
+      sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."htmlparser2"."~3.4.0" =
+    self.by-version."htmlparser2"."3.4.0";
+  by-version."htmlparser2"."3.4.0" = self.buildNodePackage {
+    name = "htmlparser2-3.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.4.0.tgz";
+      name = "htmlparser2-3.4.0.tgz";
+      sha1 = "a1cd65f5823ad285e19d63b085ad722d0a51eae7";
+    };
+    deps = {
+      "domhandler-2.2.1" = self.by-version."domhandler"."2.2.1";
+      "domutils-1.3.0" = self.by-version."domutils"."1.3.0";
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    peerDependencies = [];
+  };
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.1";
+  by-version."http-signature"."0.10.1" = self.buildNodePackage {
+    name = "http-signature-0.10.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+      name = "http-signature-0.10.1.tgz";
+      sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+    };
+    deps = {
+      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
+    };
+    peerDependencies = [];
+  };
+  by-spec."iced-coffee-script"."~1.7.1-c" =
+    self.by-version."iced-coffee-script"."1.7.1-g";
+  by-version."iced-coffee-script"."1.7.1-g" = self.buildNodePackage {
+    name = "iced-coffee-script-1.7.1-g";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-coffee-script/-/iced-coffee-script-1.7.1-g.tgz";
+      name = "iced-coffee-script-1.7.1-g.tgz";
+      sha1 = "41f9ccabe113bade608d519c10a41406a62c170b";
+    };
+    deps = {
+      "docco-0.6.3" = self.by-version."docco"."0.6.3";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
+    peerDependencies = [];
+  };
+  "iced-coffee-script" = self.by-version."iced-coffee-script"."1.7.1-g";
+  by-spec."iced-data-structures"."0.0.5" =
+    self.by-version."iced-data-structures"."0.0.5";
+  by-version."iced-data-structures"."0.0.5" = self.buildNodePackage {
+    name = "iced-data-structures-0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-data-structures/-/iced-data-structures-0.0.5.tgz";
+      name = "iced-data-structures-0.0.5.tgz";
+      sha1 = "21de124f847fdeeb88f32cf232d3e3e600e05db4";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "iced-data-structures" = self.by-version."iced-data-structures"."0.0.5";
+  by-spec."iced-db"."0.0.4" =
+    self.by-version."iced-db"."0.0.4";
+  by-version."iced-db"."0.0.4" = self.buildNodePackage {
+    name = "iced-db-0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-db/-/iced-db-0.0.4.tgz";
+      name = "iced-db-0.0.4.tgz";
+      sha1 = "355bf9808998076013a0850ee33c6905dfb85a00";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "iced-utils-0.1.22" = self.by-version."iced-utils"."0.1.22";
+    };
+    peerDependencies = [];
+  };
+  "iced-db" = self.by-version."iced-db"."0.0.4";
+  by-spec."iced-error"."0.0.9" =
+    self.by-version."iced-error"."0.0.9";
+  by-version."iced-error"."0.0.9" = self.buildNodePackage {
+    name = "iced-error-0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-error/-/iced-error-0.0.9.tgz";
+      name = "iced-error-0.0.9.tgz";
+      sha1 = "c7c3057614c0a187d96b3d18c6d520e6b872ed37";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "iced-error" = self.by-version."iced-error"."0.0.9";
+  by-spec."iced-error".">=0.0.8" =
+    self.by-version."iced-error"."0.0.9";
+  by-spec."iced-error".">=0.0.9" =
+    self.by-version."iced-error"."0.0.9";
+  by-spec."iced-error"."~0.0.8" =
+    self.by-version."iced-error"."0.0.9";
+  by-spec."iced-expect"."0.0.3" =
+    self.by-version."iced-expect"."0.0.3";
+  by-version."iced-expect"."0.0.3" = self.buildNodePackage {
+    name = "iced-expect-0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-expect/-/iced-expect-0.0.3.tgz";
+      name = "iced-expect-0.0.3.tgz";
+      sha1 = "206f271f27b200b9b538e2c0ca66a70209be1238";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "iced-expect" = self.by-version."iced-expect"."0.0.3";
+  by-spec."iced-lock"."^1.0.1" =
+    self.by-version."iced-lock"."1.0.1";
+  by-version."iced-lock"."1.0.1" = self.buildNodePackage {
+    name = "iced-lock-1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-lock/-/iced-lock-1.0.1.tgz";
+      name = "iced-lock-1.0.1.tgz";
+      sha1 = "0914a61a4d3dec69db8f871ef40f95417fa38986";
+    };
+    deps = {
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  "iced-lock" = self.by-version."iced-lock"."1.0.1";
+  by-spec."iced-logger"."0.0.5" =
+    self.by-version."iced-logger"."0.0.5";
+  by-version."iced-logger"."0.0.5" = self.buildNodePackage {
+    name = "iced-logger-0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-logger/-/iced-logger-0.0.5.tgz";
+      name = "iced-logger-0.0.5.tgz";
+      sha1 = "501852a410691cf7e9542598e04dfbfdadc51486";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+    };
+    peerDependencies = [];
+  };
+  "iced-logger" = self.by-version."iced-logger"."0.0.5";
+  by-spec."iced-logger".">=0.0.3" =
+    self.by-version."iced-logger"."0.0.6";
+  by-version."iced-logger"."0.0.6" = self.buildNodePackage {
+    name = "iced-logger-0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-logger/-/iced-logger-0.0.6.tgz";
+      name = "iced-logger-0.0.6.tgz";
+      sha1 = "3f38081e4df4742aab09b86bb0adf8ea6c12de82";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."iced-runtime".">=0.0.1" =
+    self.by-version."iced-runtime"."1.0.2";
+  by-version."iced-runtime"."1.0.2" = self.buildNodePackage {
+    name = "iced-runtime-1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-runtime/-/iced-runtime-1.0.2.tgz";
+      name = "iced-runtime-1.0.2.tgz";
+      sha1 = "a949a7cf49451175d3f6168d84997da27c4e6b70";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "iced-runtime" = self.by-version."iced-runtime"."1.0.2";
+  by-spec."iced-runtime".">=0.0.1 <2.0.0-0" =
+    self.by-version."iced-runtime"."1.0.2";
+  by-spec."iced-runtime"."^1.0.0" =
+    self.by-version."iced-runtime"."1.0.2";
+  by-spec."iced-runtime"."^1.0.1" =
+    self.by-version."iced-runtime"."1.0.2";
+  by-spec."iced-runtime"."^1.0.2" =
+    self.by-version."iced-runtime"."1.0.2";
+  by-spec."iced-spawn".">=0.0.8" =
+    self.by-version."iced-spawn"."1.0.0";
+  by-version."iced-spawn"."1.0.0" = self.buildNodePackage {
+    name = "iced-spawn-1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-spawn/-/iced-spawn-1.0.0.tgz";
+      name = "iced-spawn-1.0.0.tgz";
+      sha1 = "dab91968cb46f9c05baadd126a5abb53c5d7d1df";
+    };
+    deps = {
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "semver-4.3.1" = self.by-version."semver"."4.3.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."iced-spawn".">=1.0.0" =
+    self.by-version."iced-spawn"."1.0.0";
+  "iced-spawn" = self.by-version."iced-spawn"."1.0.0";
+  by-spec."iced-test".">=0.0.16" =
+    self.by-version."iced-test"."0.0.21";
+  by-version."iced-test"."0.0.21" = self.buildNodePackage {
+    name = "iced-test-0.0.21";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-test/-/iced-test-0.0.21.tgz";
+      name = "iced-test-0.0.21.tgz";
+      sha1 = "8e7c347aa744eb4dddd786fcd430913be8bd83c7";
+    };
+    deps = {
+      "colors-1.0.3" = self.by-version."colors"."1.0.3";
+      "deep-equal-1.0.0" = self.by-version."deep-equal"."1.0.0";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+    };
+    peerDependencies = [];
+  };
+  "iced-test" = self.by-version."iced-test"."0.0.21";
+  by-spec."iced-utils"."0.1.20" =
+    self.by-version."iced-utils"."0.1.20";
+  by-version."iced-utils"."0.1.20" = self.buildNodePackage {
+    name = "iced-utils-0.1.20";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-utils/-/iced-utils-0.1.20.tgz";
+      name = "iced-utils-0.1.20.tgz";
+      sha1 = "923cbc3c080511cb6cc8e3ccde6609548d2db3e8";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  "iced-utils" = self.by-version."iced-utils"."0.1.20";
+  by-spec."iced-utils".">=0.1.11" =
+    self.by-version."iced-utils"."0.1.22";
+  by-version."iced-utils"."0.1.22" = self.buildNodePackage {
+    name = "iced-utils-0.1.22";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iced-utils/-/iced-utils-0.1.22.tgz";
+      name = "iced-utils-0.1.22.tgz";
+      sha1 = "931925d9d39655a392fd337cefb2e111f503bb15";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."iced-utils".">=0.1.16" =
+    self.by-version."iced-utils"."0.1.22";
+  by-spec."iced-utils".">=0.1.18" =
+    self.by-version."iced-utils"."0.1.22";
+  by-spec."inflight"."^1.0.4" =
+    self.by-version."inflight"."1.0.4";
+  by-version."inflight"."1.0.4" = self.buildNodePackage {
+    name = "inflight-1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
+      name = "inflight-1.0.4.tgz";
+      sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
+    };
+    deps = {
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = self.buildNodePackage {
+    name = "inherits-2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+      name = "inherits-2.0.1.tgz";
+      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."ipv6"."~3.1.1" =
+    self.by-version."ipv6"."3.1.1";
+  by-version."ipv6"."3.1.1" = self.buildNodePackage {
+    name = "ipv6-3.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipv6/-/ipv6-3.1.1.tgz";
+      name = "ipv6-3.1.1.tgz";
+      sha1 = "46da0e260af36fd9beb41297c987b7c21a2d9e1c";
+    };
+    deps = {
+      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
+      "cli-0.4.5" = self.by-version."cli"."0.4.5";
+      "cliff-0.1.10" = self.by-version."cliff"."0.1.10";
+    };
+    peerDependencies = [];
+  };
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = self.buildNodePackage {
+    name = "isarray-0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+      name = "isarray-0.0.1.tgz";
+      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."isstream"."0.1.x" =
+    self.by-version."isstream"."0.1.1";
+  by-version."isstream"."0.1.1" = self.buildNodePackage {
+    name = "isstream-0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isstream/-/isstream-0.1.1.tgz";
+      name = "isstream-0.1.1.tgz";
+      sha1 = "48332c5999893996ba253c81c7bd6e7ae0905c4f";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = self.buildNodePackage {
+    name = "json-stringify-safe-5.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+      name = "json-stringify-safe-5.0.0.tgz";
+      sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."jsonfile"."^2.0.0" =
+    self.by-version."jsonfile"."2.0.0";
+  by-version."jsonfile"."2.0.0" = self.buildNodePackage {
+    name = "jsonfile-2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonfile/-/jsonfile-2.0.0.tgz";
+      name = "jsonfile-2.0.0.tgz";
+      sha1 = "c3944f350bd3c078b392e0aa1633b44662fcf06b";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."kbpgp".">=1.0.2" =
+    self.by-version."kbpgp"."2.0.8";
+  by-version."kbpgp"."2.0.8" = self.buildNodePackage {
+    name = "kbpgp-2.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kbpgp/-/kbpgp-2.0.8.tgz";
+      name = "kbpgp-2.0.8.tgz";
+      sha1 = "5ede9539bce3564a53f8be72a75c7619414b6e08";
+    };
+    deps = {
+      "bn-1.0.1" = self.by-version."bn"."1.0.1";
+      "deep-equal-1.0.0" = self.by-version."deep-equal"."1.0.0";
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "keybase-compressjs-1.0.1-c" = self.by-version."keybase-compressjs"."1.0.1-c";
+      "keybase-ecurve-1.0.0" = self.by-version."keybase-ecurve"."1.0.0";
+      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
+      "purepack-1.0.1" = self.by-version."purepack"."1.0.1";
+      "triplesec-3.0.19" = self.by-version."triplesec"."3.0.19";
+      "tweetnacl-0.12.2" = self.by-version."tweetnacl"."0.12.2";
+    };
+    peerDependencies = [];
+  };
+  "kbpgp" = self.by-version."kbpgp"."2.0.8";
+  by-spec."kbpgp"."^1.0.2" =
+    self.by-version."kbpgp"."1.2.0";
+  by-version."kbpgp"."1.2.0" = self.buildNodePackage {
+    name = "kbpgp-1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kbpgp/-/kbpgp-1.2.0.tgz";
+      name = "kbpgp-1.2.0.tgz";
+      sha1 = "4305a67a740fb31843b4313b60a6137f2b93ddba";
+    };
+    deps = {
+      "bn-1.0.1" = self.by-version."bn"."1.0.1";
+      "deep-equal-1.0.0" = self.by-version."deep-equal"."1.0.0";
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "keybase-compressjs-1.0.1-c" = self.by-version."keybase-compressjs"."1.0.1-c";
+      "keybase-ecurve-1.0.0" = self.by-version."keybase-ecurve"."1.0.0";
+      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
+      "purepack-1.0.1" = self.by-version."purepack"."1.0.1";
+      "triplesec-3.0.19" = self.by-version."triplesec"."3.0.19";
+      "tweetnacl-0.12.2" = self.by-version."tweetnacl"."0.12.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."kbpgp"."^2.0.0" =
+    self.by-version."kbpgp"."2.0.8";
+  by-spec."keybase-compressjs"."^1.0.1-c" =
+    self.by-version."keybase-compressjs"."1.0.1-c";
+  by-version."keybase-compressjs"."1.0.1-c" = self.buildNodePackage {
+    name = "keybase-compressjs-1.0.1-c";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keybase-compressjs/-/keybase-compressjs-1.0.1-c.tgz";
+      name = "keybase-compressjs-1.0.1-c.tgz";
+      sha1 = "dc664a7f5d95584a534622a260297532f3ce9f9f";
+    };
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."keybase-ecurve"."^1.0.0" =
+    self.by-version."keybase-ecurve"."1.0.0";
+  by-version."keybase-ecurve"."1.0.0" = self.buildNodePackage {
+    name = "keybase-ecurve-1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keybase-ecurve/-/keybase-ecurve-1.0.0.tgz";
+      name = "keybase-ecurve-1.0.0.tgz";
+      sha1 = "c6bc72adda4603fd3184fee7e99694ed8fd69ad2";
+    };
+    deps = {
+      "bn-1.0.1" = self.by-version."bn"."1.0.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."keybase-path"."0.0.15" =
+    self.by-version."keybase-path"."0.0.15";
+  by-version."keybase-path"."0.0.15" = self.buildNodePackage {
+    name = "keybase-path-0.0.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keybase-path/-/keybase-path-0.0.15.tgz";
+      name = "keybase-path-0.0.15.tgz";
+      sha1 = "94b95448fc4edf73e096366279bd28a469d5f72f";
+    };
+    deps = {
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  "keybase-path" = self.by-version."keybase-path"."0.0.15";
+  by-spec."keybase-proofs"."^2.0.13" =
+    self.by-version."keybase-proofs"."2.0.15";
+  by-version."keybase-proofs"."2.0.15" = self.buildNodePackage {
+    name = "keybase-proofs-2.0.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keybase-proofs/-/keybase-proofs-2.0.15.tgz";
+      name = "keybase-proofs-2.0.15.tgz";
+      sha1 = "d9e0c265e005095f749058825a7f0db3ab5bcedc";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-lock-1.0.1" = self.by-version."iced-lock"."1.0.1";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
+      "triplesec-3.0.19" = self.by-version."triplesec"."3.0.19";
+    };
+    peerDependencies = [];
+  };
+  "keybase-proofs" = self.by-version."keybase-proofs"."2.0.15";
+  by-spec."libkeybase"."^0.0.6" =
+    self.by-version."libkeybase"."0.0.6";
+  by-version."libkeybase"."0.0.6" = self.buildNodePackage {
+    name = "libkeybase-0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/libkeybase/-/libkeybase-0.0.6.tgz";
+      name = "libkeybase-0.0.6.tgz";
+      sha1 = "03d19afe7ca48ca041d962f0885d373faca2e90e";
+    };
+    deps = {
+      "iced-lock-1.0.1" = self.by-version."iced-lock"."1.0.1";
+      "iced-logger-0.0.5" = self.by-version."iced-logger"."0.0.5";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "kbpgp-1.2.0" = self.by-version."kbpgp"."1.2.0";
+      "tweetnacl-0.12.2" = self.by-version."tweetnacl"."0.12.2";
+    };
+    peerDependencies = [];
+  };
+  "libkeybase" = self.by-version."libkeybase"."0.0.6";
+  by-spec."marked".">= 0.2.7" =
+    self.by-version."marked"."0.3.3";
+  by-version."marked"."0.3.3" = self.buildNodePackage {
+    name = "marked-0.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/marked/-/marked-0.3.3.tgz";
+      name = "marked-0.3.3.tgz";
+      sha1 = "08bad9cac13736f6cceddc202344f1b0bf255390";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."merkle-tree"."0.0.12" =
+    self.by-version."merkle-tree"."0.0.12";
+  by-version."merkle-tree"."0.0.12" = self.buildNodePackage {
+    name = "merkle-tree-0.0.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/merkle-tree/-/merkle-tree-0.0.12.tgz";
+      name = "merkle-tree-0.0.12.tgz";
+      sha1 = "c8d6f0e9489b828c1d02942b24514311bac5e30f";
+    };
+    deps = {
+      "deep-equal-0.2.2" = self.by-version."deep-equal"."0.2.2";
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "iced-utils-0.1.22" = self.by-version."iced-utils"."0.1.22";
+    };
+    peerDependencies = [];
+  };
+  "merkle-tree" = self.by-version."merkle-tree"."0.0.12";
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = self.buildNodePackage {
+    name = "mime-1.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+      name = "mime-1.2.11.tgz";
+      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."mime"."~1.2.9" =
+    self.by-version."mime"."1.2.11";
+  by-spec."minimatch"."^2.0.1" =
+    self.by-version."minimatch"."2.0.1";
+  by-version."minimatch"."2.0.1" = self.buildNodePackage {
+    name = "minimatch-2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-2.0.1.tgz";
+      name = "minimatch-2.0.1.tgz";
+      sha1 = "6c3760b45f66ed1cd5803143ee8d372488f02c37";
+    };
+    deps = {
+      "brace-expansion-1.1.0" = self.by-version."brace-expansion"."1.1.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."minimist".">=0.0.8" =
+    self.by-version."minimist"."1.1.0";
+  by-version."minimist"."1.1.0" = self.buildNodePackage {
+    name = "minimist-1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz";
+      name = "minimist-1.1.0.tgz";
+      sha1 = "cdf225e8898f840a258ded44fc91776770afdc93";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."minimist"."~0.0.1" =
+    self.by-version."minimist"."0.0.10";
+  by-version."minimist"."0.0.10" = self.buildNodePackage {
+    name = "minimist-0.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+      name = "minimist-0.0.10.tgz";
+      sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."mkdirp"."0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
+    name = "mkdirp-0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+      name = "mkdirp-0.3.5.tgz";
+      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "mkdirp" = self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."more-entropy".">=0.0.7" =
+    self.by-version."more-entropy"."0.0.7";
+  by-version."more-entropy"."0.0.7" = self.buildNodePackage {
+    name = "more-entropy-0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/more-entropy/-/more-entropy-0.0.7.tgz";
+      name = "more-entropy-0.0.7.tgz";
+      sha1 = "67bfc6f7a86f26fbc37aac83fd46d88c61d109b5";
+    };
+    deps = {
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
+  by-version."mute-stream"."0.0.4" = self.buildNodePackage {
+    name = "mute-stream-0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
+      name = "mute-stream-0.0.4.tgz";
+      sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."network-byte-order"."~0.2.0" =
+    self.by-version."network-byte-order"."0.2.0";
+  by-version."network-byte-order"."0.2.0" = self.buildNodePackage {
+    name = "network-byte-order-0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/network-byte-order/-/network-byte-order-0.2.0.tgz";
+      name = "network-byte-order-0.2.0.tgz";
+      sha1 = "6ac11bf44bf610daeddbe90a09a5c817c6e0d2b3";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.3";
+  by-version."node-uuid"."1.4.3" = self.buildNodePackage {
+    name = "node-uuid-1.4.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
+      name = "node-uuid-1.4.3.tgz";
+      sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = self.buildNodePackage {
+    name = "oauth-sign-0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+      name = "oauth-sign-0.3.0.tgz";
+      sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."once"."^1.3.0" =
+    self.by-version."once"."1.3.1";
+  by-version."once"."1.3.1" = self.buildNodePackage {
+    name = "once-1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/once/-/once-1.3.1.tgz";
+      name = "once-1.3.1.tgz";
+      sha1 = "f3f3e4da5b7d27b5c732969ee3e67e729457b31f";
+    };
+    deps = {
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."optimist"."0.6.1" =
+    self.by-version."optimist"."0.6.1";
+  by-version."optimist"."0.6.1" = self.buildNodePackage {
+    name = "optimist-0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+      name = "optimist-0.6.1.tgz";
+      sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+    };
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
+    peerDependencies = [];
+  };
+  "optimist" = self.by-version."optimist"."0.6.1";
+  by-spec."pgp-utils"."0.0.27" =
+    self.by-version."pgp-utils"."0.0.27";
+  by-version."pgp-utils"."0.0.27" = self.buildNodePackage {
+    name = "pgp-utils-0.0.27";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.27.tgz";
+      name = "pgp-utils-0.0.27.tgz";
+      sha1 = "3c9afdc0c5d0674bd78ed5009e2d0aec20be32b3";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."pgp-utils".">=0.0.21" =
+    self.by-version."pgp-utils"."0.0.28";
+  by-version."pgp-utils"."0.0.28" = self.buildNodePackage {
+    name = "pgp-utils-0.0.28";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.28.tgz";
+      name = "pgp-utils-0.0.28.tgz";
+      sha1 = "fe29f874cb3f32d75daac79a33661b831a2e3add";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."pgp-utils".">=0.0.22" =
+    self.by-version."pgp-utils"."0.0.28";
+  "pgp-utils" = self.by-version."pgp-utils"."0.0.28";
+  by-spec."pgp-utils".">=0.0.25" =
+    self.by-version."pgp-utils"."0.0.28";
+  by-spec."pgp-utils".">=0.0.28" =
+    self.by-version."pgp-utils"."0.0.28";
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = self.buildNodePackage {
+    name = "pkginfo-0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+      name = "pkginfo-0.3.0.tgz";
+      sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."progress"."1.1.3" =
+    self.by-version."progress"."1.1.3";
+  by-version."progress"."1.1.3" = self.buildNodePackage {
+    name = "progress-1.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/progress/-/progress-1.1.3.tgz";
+      name = "progress-1.1.3.tgz";
+      sha1 = "42f89c5fc3b6f0408a0bdd68993b174f96aababf";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "progress" = self.by-version."progress"."1.1.3";
+  by-spec."progress"."~1.1.2" =
+    self.by-version."progress"."1.1.8";
+  by-version."progress"."1.1.8" = self.buildNodePackage {
+    name = "progress-1.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
+      name = "progress-1.1.8.tgz";
+      sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."punycode".">=0.2.0" =
+    self.by-version."punycode"."1.3.2";
+  by-version."punycode"."1.3.2" = self.buildNodePackage {
+    name = "punycode-1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+      name = "punycode-1.3.2.tgz";
+      sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."purepack"."1.0.1" =
+    self.by-version."purepack"."1.0.1";
+  by-version."purepack"."1.0.1" = self.buildNodePackage {
+    name = "purepack-1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/purepack/-/purepack-1.0.1.tgz";
+      name = "purepack-1.0.1.tgz";
+      sha1 = "9592f35bc22279a777885d3de04acc3555994f68";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "purepack" = self.by-version."purepack"."1.0.1";
+  by-spec."purepack".">=1" =
+    self.by-version."purepack"."1.0.1";
+  by-spec."purepack".">=1.0.1" =
+    self.by-version."purepack"."1.0.1";
+  by-spec."qs"."~0.6.0" =
+    self.by-version."qs"."0.6.6";
+  by-version."qs"."0.6.6" = self.buildNodePackage {
+    name = "qs-0.6.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+      name = "qs-0.6.6.tgz";
+      sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."read"."keybase/read" =
+    self.by-version."read"."1.0.5";
+  by-version."read"."1.0.5" = self.buildNodePackage {
+    name = "read-1.0.5";
+    bin = false;
+    src = fetchgit {
+      url = "git://github.com/keybase/read";
+      rev = "740ae6a1a72a96984ae3527eb0ce0066c9fc8d47";
+      sha256 = "927ce6e6e88c80c54b434261afb5717630568b6979afffc6828c4fc0335e22ec";
+    };
+    deps = {
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+    };
+    peerDependencies = [];
+  };
+  "read" = self.by-version."read"."1.0.5";
+  by-spec."readable-stream"."1.1" =
+    self.by-version."readable-stream"."1.1.13";
+  by-version."readable-stream"."1.1.13" = self.buildNodePackage {
+    name = "readable-stream-1.1.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
+      name = "readable-stream-1.1.13.tgz";
+      sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."request"."2.30.0" =
+    self.by-version."request"."2.30.0";
+  by-version."request"."2.30.0" = self.buildNodePackage {
+    name = "request-2.30.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz";
+      name = "request-2.30.0.tgz";
+      sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861";
+    };
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "tough-cookie-0.9.15" = self.by-version."tough-cookie"."0.9.15";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+    };
+    peerDependencies = [];
+  };
+  "request" = self.by-version."request"."2.30.0";
+  by-spec."rimraf"."^2.2.8" =
+    self.by-version."rimraf"."2.3.1";
+  by-version."rimraf"."2.3.1" = self.buildNodePackage {
+    name = "rimraf-2.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.3.1.tgz";
+      name = "rimraf-2.3.1.tgz";
+      sha1 = "f83df78c168d5daf9f021e8e092e7a165898ee75";
+    };
+    deps = {
+      "glob-4.5.0" = self.by-version."glob"."4.5.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."semver".">=2.2.1" =
+    self.by-version."semver"."4.3.1";
+  by-version."semver"."4.3.1" = self.buildNodePackage {
+    name = "semver-4.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-4.3.1.tgz";
+      name = "semver-4.3.1.tgz";
+      sha1 = "beb0129575b95f76110b29af08d370fd9eeb34bf";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."semver"."^4.0.0" =
+    self.by-version."semver"."4.3.1";
+  "semver" = self.by-version."semver"."4.3.1";
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = self.buildNodePackage {
+    name = "sntp-0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+      name = "sntp-0.2.4.tgz";
+      sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [];
+  };
+  by-spec."socks5-client"."0.x" =
+    self.by-version."socks5-client"."0.3.6";
+  by-version."socks5-client"."0.3.6" = self.buildNodePackage {
+    name = "socks5-client-0.3.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socks5-client/-/socks5-client-0.3.6.tgz";
+      name = "socks5-client-0.3.6.tgz";
+      sha1 = "4205b5791f2df77cf07527222558fe4e46aca2f1";
+    };
+    deps = {
+      "ipv6-3.1.1" = self.by-version."ipv6"."3.1.1";
+      "network-byte-order-0.2.0" = self.by-version."network-byte-order"."0.2.0";
+    };
+    peerDependencies = [];
+  };
+  by-spec."socks5-client"."^0.3.6" =
+    self.by-version."socks5-client"."0.3.6";
+  "socks5-client" = self.by-version."socks5-client"."0.3.6";
+  by-spec."socks5-client"."~0.3.4" =
+    self.by-version."socks5-client"."0.3.6";
+  by-spec."socks5-http-client"."^0.1.6" =
+    self.by-version."socks5-http-client"."0.1.6";
+  by-version."socks5-http-client"."0.1.6" = self.buildNodePackage {
+    name = "socks5-http-client-0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socks5-http-client/-/socks5-http-client-0.1.6.tgz";
+      name = "socks5-http-client-0.1.6.tgz";
+      sha1 = "a915ba75573787876e5d3756ee4a81d60cd4b69b";
+    };
+    deps = {
+      "socks5-client-0.3.6" = self.by-version."socks5-client"."0.3.6";
+    };
+    peerDependencies = [];
+  };
+  "socks5-http-client" = self.by-version."socks5-http-client"."0.1.6";
+  by-spec."socks5-https-client"."^0.2.2" =
+    self.by-version."socks5-https-client"."0.2.2";
+  by-version."socks5-https-client"."0.2.2" = self.buildNodePackage {
+    name = "socks5-https-client-0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socks5-https-client/-/socks5-https-client-0.2.2.tgz";
+      name = "socks5-https-client-0.2.2.tgz";
+      sha1 = "b855e950e97c4fa6bca72a108f00278d33ac91d1";
+    };
+    deps = {
+      "socks5-client-0.3.6" = self.by-version."socks5-client"."0.3.6";
+      "starttls-0.2.1" = self.by-version."starttls"."0.2.1";
+    };
+    peerDependencies = [];
+  };
+  "socks5-https-client" = self.by-version."socks5-https-client"."0.2.2";
+  by-spec."spotty"."^1.0.0" =
+    self.by-version."spotty"."1.0.0";
+  by-version."spotty"."1.0.0" = self.buildNodePackage {
+    name = "spotty-1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/spotty/-/spotty-1.0.0.tgz";
+      name = "spotty-1.0.0.tgz";
+      sha1 = "05bb5152b3dd0744a341764db5fcf8e47943e678";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+    };
+    peerDependencies = [];
+  };
+  "spotty" = self.by-version."spotty"."1.0.0";
+  by-spec."sprintf"."0.1.x" =
+    self.by-version."sprintf"."0.1.5";
+  by-version."sprintf"."0.1.5" = self.buildNodePackage {
+    name = "sprintf-0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.5.tgz";
+      name = "sprintf-0.1.5.tgz";
+      sha1 = "8f83e39a9317c1a502cb7db8050e51c679f6edcf";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.9";
+  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
+    name = "stack-trace-0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+      name = "stack-trace-0.0.9.tgz";
+      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."starttls"."0.x" =
+    self.by-version."starttls"."0.2.1";
+  by-version."starttls"."0.2.1" = self.buildNodePackage {
+    name = "starttls-0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/starttls/-/starttls-0.2.1.tgz";
+      name = "starttls-0.2.1.tgz";
+      sha1 = "b98d3e5e778d46f199c843a64f889f0347c6d19a";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+      name = "string_decoder-0.10.31.tgz";
+      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."tablify"."0.1.5" =
+    self.by-version."tablify"."0.1.5";
+  by-version."tablify"."0.1.5" = self.buildNodePackage {
+    name = "tablify-0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tablify/-/tablify-0.1.5.tgz";
+      name = "tablify-0.1.5.tgz";
+      sha1 = "47160ce2918be291d63cecceddb5254dd72982c7";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "tablify" = self.by-version."tablify"."0.1.5";
+  by-spec."tablify".">=0.1.5" =
+    self.by-version."tablify"."0.1.5";
+  by-spec."timeago"."0.1.0" =
+    self.by-version."timeago"."0.1.0";
+  by-version."timeago"."0.1.0" = self.buildNodePackage {
+    name = "timeago-0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timeago/-/timeago-0.1.0.tgz";
+      name = "timeago-0.1.0.tgz";
+      sha1 = "21176a84d469be35ee431c5c48c0b6aba1f72464";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  "timeago" = self.by-version."timeago"."0.1.0";
+  by-spec."tough-cookie"."~0.9.15" =
+    self.by-version."tough-cookie"."0.9.15";
+  by-version."tough-cookie"."0.9.15" = self.buildNodePackage {
+    name = "tough-cookie-0.9.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz";
+      name = "tough-cookie-0.9.15.tgz";
+      sha1 = "75617ac347e3659052b0350131885829677399f6";
+    };
+    deps = {
+      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+    };
+    peerDependencies = [];
+  };
+  by-spec."triplesec".">=3.0.16" =
+    self.by-version."triplesec"."3.0.19";
+  by-version."triplesec"."3.0.19" = self.buildNodePackage {
+    name = "triplesec-3.0.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/triplesec/-/triplesec-3.0.19.tgz";
+      name = "triplesec-3.0.19.tgz";
+      sha1 = "1cf858ccfcc133a3e884ff7d37aedf3b306c32f9";
+    };
+    deps = {
+      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
+      "iced-lock-1.0.1" = self.by-version."iced-lock"."1.0.1";
+      "iced-runtime-1.0.2" = self.by-version."iced-runtime"."1.0.2";
+      "more-entropy-0.0.7" = self.by-version."more-entropy"."0.0.7";
+      "progress-1.1.8" = self.by-version."progress"."1.1.8";
+    };
+    peerDependencies = [];
+  };
+  "triplesec" = self.by-version."triplesec"."3.0.19";
+  by-spec."triplesec".">=3.0.19" =
+    self.by-version."triplesec"."3.0.19";
+  by-spec."tunnel-agent"."~0.3.0" =
+    self.by-version."tunnel-agent"."0.3.0";
+  by-version."tunnel-agent"."0.3.0" = self.buildNodePackage {
+    name = "tunnel-agent-0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+      name = "tunnel-agent-0.3.0.tgz";
+      sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."tweetnacl"."^0.12.0" =
+    self.by-version."tweetnacl"."0.12.2";
+  by-version."tweetnacl"."0.12.2" = self.buildNodePackage {
+    name = "tweetnacl-0.12.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tweetnacl/-/tweetnacl-0.12.2.tgz";
+      name = "tweetnacl-0.12.2.tgz";
+      sha1 = "bd59f890507856fb0a1136acc3a8b44547e29ddb";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."tweetnacl"."^0.12.2" =
+    self.by-version."tweetnacl"."0.12.2";
+  by-spec."underscore".">= 1.0.0" =
+    self.by-version."underscore"."1.8.2";
+  by-version."underscore"."1.8.2" = self.buildNodePackage {
+    name = "underscore-1.8.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.8.2.tgz";
+      name = "underscore-1.8.2.tgz";
+      sha1 = "64df2eb590899de950782f3735190ba42ebf311d";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."underscore"."~1.4" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = self.buildNodePackage {
+    name = "underscore-1.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+      name = "underscore-1.4.4.tgz";
+      sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."underscore"."~1.4.3" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore.string"."~2.3.1" =
+    self.by-version."underscore.string"."2.3.3";
+  by-version."underscore.string"."2.3.3" = self.buildNodePackage {
+    name = "underscore.string-2.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
+      name = "underscore.string-2.3.3.tgz";
+      sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."winston"."0.8.x" =
+    self.by-version."winston"."0.8.3";
+  by-version."winston"."0.8.3" = self.buildNodePackage {
+    name = "winston-0.8.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.8.3.tgz";
+      name = "winston-0.8.3.tgz";
+      sha1 = "64b6abf4cd01adcaefd5009393b1d8e8bec19db0";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "isstream-0.1.1" = self.by-version."isstream"."0.1.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    peerDependencies = [];
+  };
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.2";
+  by-version."wordwrap"."0.0.2" = self.buildNodePackage {
+    name = "wordwrap-0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+      name = "wordwrap-0.0.2.tgz";
+      sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+  by-spec."wrappy"."1" =
+    self.by-version."wrappy"."1.0.1";
+  by-version."wrappy"."1.0.1" = self.buildNodePackage {
+    name = "wrappy-1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
+      name = "wrappy-1.0.1.tgz";
+      sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
+    };
+    deps = {
+    };
+    peerDependencies = [];
+  };
+}
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
new file mode 100644
index 00000000000..85720f64483
--- /dev/null
+++ b/pkgs/applications/misc/khal/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgs, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  version = "0.4.0";
+  name = "khal-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/geier/khal/archive/v${version}.tar.gz";
+    sha256 = "0d32miq55cly4q3raxkw3xpq4d5y3hvzaqvy066nv35bdlpafxi1";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [
+    atomicwrites
+    click
+    configobj
+    dateutil
+    icalendar
+    lxml
+    pkgs.vdirsyncer
+    pytz
+    pyxdg
+    requests_toolbelt
+    tzlocal
+    urwid
+  ];
+
+  meta = {
+    homepage = http://lostpackets.de/khal/;
+    description = "CLI calendar application";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
+  };
+}
+
diff --git a/pkgs/applications/misc/librecad/2.0.nix b/pkgs/applications/misc/librecad/2.0.nix
index 8b7a9a40c87..6cc775b72d3 100644
--- a/pkgs/applications/misc/librecad/2.0.nix
+++ b/pkgs/applications/misc/librecad/2.0.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   '';
 
   configurePhase = ''
-    qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost}
+    qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost.dev}
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix
index c87b6a8bc0a..2fe07d8c5dd 100644
--- a/pkgs/applications/misc/lilyterm/default.nix
+++ b/pkgs/applications/misc/lilyterm/default.nix
@@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
     --enable-safe-mode
   '';
 
-    meta = {
+  meta = with stdenv.lib; {
     description = "A fast, lightweight terminal emulator";
     longDescription = ''
-    LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
+      LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
     '';
     homepage = http://lilyterm.luna.com.tw/;
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index e04898fba29..f2e23e0babf 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,75 +1,43 @@
-{ stdenv, fetchgit, ocaml, mupdf, lablgl, mesa
-, libX11, libXext, gtk3, freetype, zlib, openjpeg
-, jbig2dec, libjpeg, ncurses }:
+{ stdenv, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
+, gtk3, openjpeg, jbig2dec, mujs, xsel }:
 
-stdenv.mkDerivation {
-  name = "llpp-2014-05-26";
+let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
+in stdenv.mkDerivation rec {
+  name = "llpp-${version}";
+  version = "21";
 
   src = fetchgit {
     url = "git://repo.or.cz/llpp.git";
-    rev  = "902143de64d86b5714b3a59d2cc7085083b87249";
-    sha256 = "038xl4gbvm57na2lz1fw36sf43zaxq407zi2d53985vc33677j9s";
+    rev  = "refs/tags/v${version}";
+    sha256 = "0rxdq6j3bs4drnhlxgm0gcwkhxi98vmxm22lnkpic7h67lgsz51q";
   };
 
-  buildInputs = [ ocaml mupdf lablgl mesa libX11 libXext gtk3
-                  freetype jbig2dec libjpeg openjpeg zlib ncurses ];
+  buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl
+                  gtk3 jbig2dec openjpeg mujs ];
 
-  # The build phase was extracted from buildall.sh, because that script
-  # fetched the dependencies on its own.
-  buildPhase = ''
-    ccopt="-O"
-    ccopt="$ccopt -I ${jbig2dec}/include"
-    ccopt="$ccopt -I ${libjpeg}/include"
-    ccopt="$ccopt -I ${freetype}/include/freetype2"
-    ccopt="$ccopt -I ${openjpeg}/include"
-    ccopt="$ccopt -I ${zlib}/include"
-    ccopt="$ccopt -I ${mupdf}/include"
-    ccopt="$ccopt -include ft2build.h"
-    ccopt="$ccopt -D_GNU_SOURCE"
-
-    cclib="$cclib -lmupdf"
-    cclib="$cclib -lz -ljpeg -lopenjp2 -ljbig2dec -lfreetype -lpthread"
-    cclib="$cclib -lX11"
-    cclib="$cclib -lfreetype"
-
-    comp=ocamlc.opt
-    cmsuf=cmo
-
-    sh mkhelp.sh keystoml.ml KEYS > help.ml
-
-    $comp -c -o link.o -ccopt "$ccopt" link.c
-    $comp -c -o help.$cmsuf help.ml
-    $comp -c -o utils.$cmsuf utils.ml
-    $comp -c -o wsi.cmi wsi.mli
-    $comp -c -o wsi.$cmsuf wsi.ml
-    $comp -c -o parser.$cmsuf parser.ml
-    $comp -c -o main.$cmsuf -I ${lablgl}/lib/ocaml/4.01.0/site-lib/lablgl main.ml
-
-    $comp -custom -o llpp           \
-          -I ${lablgl}/lib/ocaml/4.01.0/site-lib/lablgl \
-          str.cma unix.cma lablgl.cma \
-          link.o                      \
-          -cclib "$cclib"             \
-          help.cmo                    \
-          utils.cmo                   \
-          parser.cmo                  \
-          wsi.cmo                     \
-          main.cmo
+  configurePhase = ''
+      sh configure.sh -O -F ${mupdf}
+      sed -i 's;-lopenjpeg;-lopenjp2;g' .config
+      sed -i 's;$builddir/link\.so;link.so;g' build.ninja
   '';
 
-  # Binary fails with 'No bytecode file specified.' if stripped.
-  dontStrip = true;
+  buildPhase = "${ninja}/bin/ninja";
 
   installPhase = ''
-    install -d $out/bin
-    install llpp llppac $out/bin
+    install -d $out/bin $out/lib
+    install build/llpp $out/bin
+    install link.so $out/lib
+    wrapProgram $out/bin/llpp \
+        --prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
+        --prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \
+        --prefix PATH ":" "${xsel}/bin"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://repo.or.cz/w/llpp.git;
     description = "A MuPDF based PDF pager written in OCaml";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.pSub ];
-    license = "GPL";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index da7be68be54..27830b9baee 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.1";
+  version = "2.1.3";
   name = "lyx-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.lyx.org/pub/lyx/stable/2.1.x/${name}.tar.xz";
-    sha256 = "1fir1dzzy7c92jf3a3psnd10c6widslk0852xk4svpl6phcg4nya";
+    sha256 = "10jnqz7ilxppv60h0hpkq7wgc3fbcm3z19xhnqz9hwp3brz2xm9g";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix
new file mode 100644
index 00000000000..2e94414235d
--- /dev/null
+++ b/pkgs/applications/misc/mdp/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub, ncurses }:
+
+stdenv.mkDerivation {
+  name = "mdp-0.93";
+
+  src = fetchFromGitHub {
+    owner = "visit1985";
+    repo = "mdp";
+    rev = "09d6bd1a8a33fac75a999f0822ec10cb77fbc072";
+    sha256 = "0ksa0zqzv1yb8nspxp2vww7bp9y99pcma1vx3cixd3qb5y5ljn1n";
+  };
+
+  makeFlags = "PREFIX=$(out)";
+
+  buildInputs = [ ncurses ];
+
+  meta = {
+    homepage = https://github.com/visit1985/mdp;
+    description = "A command-line based markdown presentation tool";
+  };
+}
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
new file mode 100644
index 00000000000..a1ed7b252a2
--- /dev/null
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, wxGTK, desktop_file_utils, libSM, imagemagick }:
+
+stdenv.mkDerivation rec {
+  version = "0.7.72";
+  name = "mediainfo-gui-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.bz2";
+    sha256 = "04sqm2cziqvnghbla89f83vy46bmsfcvlq7f4m4kfcs24bjzfwr1";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo wxGTK desktop_file_utils libSM imagemagick ];
+
+  sourceRoot = "./MediaInfo/Project/GNU/GUI/";
+
+  preConfigure = "sh autogen";
+
+  meta = {
+    description = "Supplies technical and tag information about a video or audio file (GUI version)";
+    longDescription = ''
+      MediaInfo is a convenient unified display of the most relevant technical
+      and tag data for video and audio files.
+    '';
+    homepage = http://mediaarea.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
new file mode 100644
index 00000000000..de83cf22e04
--- /dev/null
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "0.7.72";
+  name = "mediainfo-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.bz2";
+    sha256 = "04sqm2cziqvnghbla89f83vy46bmsfcvlq7f4m4kfcs24bjzfwr1";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo zlib ];
+
+  sourceRoot = "./MediaInfo/Project/GNU/CLI/";
+
+  configureFlags = [ "--with-libmediainfo=${libmediainfo}" ];
+  preConfigure = "sh autogen";
+
+  meta = {
+    description = "Supplies technical and tag information about a video or audio file";
+    longDescription = ''
+      MediaInfo is a convenient unified display of the most relevant technical
+      and tag data for video and audio files.
+    '';
+    homepage = http://mediaarea.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
new file mode 100644
index 00000000000..6af9b7dc267
--- /dev/null
+++ b/pkgs/applications/misc/monero/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, cmake, boost }:
+
+let
+  version = "0.8.8.4";
+in
+stdenv.mkDerivation {
+  name = "monero-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/monero-project/bitmonero/archive/v${version}.tar.gz";
+    sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy";
+  };
+
+  buildInputs = [ cmake boost ];
+
+  # these tests take a long time and don't
+  # always complete in the build environment
+  postPatch = "sed -i '/add_subdirectory(tests)/d' CMakeLists.txt";
+
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
+  doCheck = false;
+  checkTarget = "test-release"; # this would be the target
+
+  installPhase = ''
+    installBin \
+        src/bitmonerod \
+        src/connectivity_tool \
+        src/simpleminer \
+        src/simplewallet
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Private, secure, untraceable currency";
+    homepage = http://monero.cc/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.emery ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index aa7c14634d1..416913b7a55 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
 , libX11, libXext }:
 stdenv.mkDerivation rec {
-  version = "1.5";
+  version = "1.6";
   name = "mupdf-${version}";
 
   src = fetchurl {
     url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
-    sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
+    sha256 = "0qx51rj6alzcagcixm59rvdpm54w6syrwr4184v439jh14ryw4wq";
   };
 
   buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index 91fd1da1014..4f2c2fba97c 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ autoconf automake boost file gettext glib glibc libgnome_keyring gtk gtkmm intltool
     libctemplate libglade libgnome libiodbc libsigcxx libtool libuuid libxml2 libzip lua makeWrapper mesa
-    mysql paramiko pcre pexpect pkgconfig pycrypto python sqlite ];
+    mysql.lib paramiko pcre pexpect pkgconfig pycrypto python sqlite ];
 
   preConfigure = ''
     substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc}/bin/catchsegv"
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram "$out/bin/mysql-workbench" \
       --prefix LD_LIBRARY_PATH : "${python}/lib" \
-      --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64" \
+      --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64" \
       --prefix PATH : "${gnome_keyring}/bin" \
       --prefix PATH : "${python}/bin" \
       --set PYTHONPATH $PYTHONPATH \
diff --git a/pkgs/applications/misc/nanoblogger/default.nix b/pkgs/applications/misc/nanoblogger/default.nix
new file mode 100644
index 00000000000..e910c9ed22e
--- /dev/null
+++ b/pkgs/applications/misc/nanoblogger/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, bash }:
+
+stdenv.mkDerivation rec {
+  version = "3.5-rc1";
+  name = "nanoblogger-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/nanoblogger/${name}.tar.gz";
+    sha256 = "09mv52a5f0h3das8x96irqyznm69arfskx472b7w3b9q4a2ipxbq";
+  };
+
+  buildInputs = [ ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r * $out
+    cat > $out/bin/nb << EOF 
+    #!${bash}/bin/bash
+    $out/nb "\$@"
+    EOF
+    chmod 755 $out/bin/nb
+  '';
+
+  meta = {
+    description = "Small weblog engine written in Bash for the command line";
+    homepage = http://nanoblogger.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/misc/notify-osd/default.nix b/pkgs/applications/misc/notify-osd/default.nix
new file mode 100644
index 00000000000..dfeae77d343
--- /dev/null
+++ b/pkgs/applications/misc/notify-osd/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, glib, libwnck3, libnotify, dbus_glib, makeWrapper, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "notify-osd-${version}";
+  version = "0.9.34";
+
+  src = fetchurl {
+    url = "https://launchpad.net/notify-osd/precise/${version}/+download/notify-osd-${version}.tar.gz";
+    sha256 = "0g5a7a680b05x27apz0y1ldl5csxpp152wqi42s107jymbp0s20j";
+  };
+
+  buildInputs = [
+    pkgconfig glib libwnck3 libnotify dbus_glib makeWrapper
+    gnome3.gsettings_desktop_schemas
+  ];
+
+  configureFlags = "--libexecdir=$(out)/bin";
+
+  preFixup = ''
+    wrapProgram "$out/bin/notify-osd" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Daemon that displays passive pop-up notifications";
+    homepage = https://launchpad.net/notify-osd;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.bodil ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/openbox-menu/default.nix b/pkgs/applications/misc/openbox-menu/default.nix
new file mode 100644
index 00000000000..6055997b28e
--- /dev/null
+++ b/pkgs/applications/misc/openbox-menu/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, glib, gtk, menu-cache }:
+
+stdenv.mkDerivation rec {
+  name = "openbox-menu-0.5.1";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/fabriceT/openbox-menu/downloads/${name}.tar.bz2";
+    sha256 = "11v3nlhqcnks5vms1a7rrvwvj8swc9axgjkp7z0r97lijsg6d3rj";
+  };
+
+  buildInputs = [ pkgconfig glib gtk menu-cache ];
+
+  patches = [ ./with-svg.patch ];
+
+  installPhase = "make install prefix=$out";
+
+  meta = {
+    description = "Dynamic XDG menu generator for Openbox";
+    homepage = "http://mimasgpc.free.fr/openbox-menu.html";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+    platforms   = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/openbox-menu/with-svg.patch b/pkgs/applications/misc/openbox-menu/with-svg.patch
new file mode 100644
index 00000000000..dd6710f5cfc
--- /dev/null
+++ b/pkgs/applications/misc/openbox-menu/with-svg.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.old	2013-12-11 06:39:44.397358610 +0100
++++ b/Makefile	2013-12-11 06:39:51.082275037 +0100
+@@ -7,7 +7,7 @@
+ CFLAGS+=-DWITH_ICONS
+ # Uncomment this line if Openbox can display SVG icons 
+ # Check SVG support with '$ ldd /usr/bin/openbox | grep svg', librsvg must appear..
+-# CFLAGS+=-DWITH_SVG
++CFLAGS+=-DWITH_SVG
+ 
+ prefix= /usr/local
+ DESTDIR ?= $(prefix)
diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix
index f7180097961..b245a6aace7 100644
--- a/pkgs/applications/misc/pcmanfm/default.nix
+++ b/pkgs/applications/misc/pcmanfm/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }:
 
 stdenv.mkDerivation {
-  name = "pcmanfm-1.2.0";
+  name = "pcmanfm-1.2.3";
   src = fetchurl {
-    url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.0.tar.xz";
-    sha256 = "1cmskj7dpjgrrn89z7cc1h1nsmd6qq3bakf207ldrhrxxv3fxl2j";
+    url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.3.tar.xz";
+    sha256 = "1033rw5jd7nlzbcdpx3bik7347kyh1sg1gkla424gq9vqqpxia6g";
   };
 
   buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ];
diff --git a/pkgs/applications/misc/pgadmin/default.nix b/pkgs/applications/misc/pgadmin/default.nix
index f26326f4d4e..bace31b1b1a 100644
--- a/pkgs/applications/misc/pgadmin/default.nix
+++ b/pkgs/applications/misc/pgadmin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pgadmin3-${version}";
-  version = "1.18.1";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "http://ftp.postgresql.org/pub/pgadmin3/release/v${version}/src/pgadmin3-${version}.tar.gz";
-    sha256 = "1h6bqslw53q44vy7z1q7wmxkgqdzxacfs8pfm2fxm8vcd8lkxb17";
+    sha256 = "133bcbx9a322adldd1498h8bn2wfk45v1sbj9269jylwda1dfwq7";
   };
 
   buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix
index d8dba39ccb5..658ff410d37 100644
--- a/pkgs/applications/misc/pinfo/default.nix
+++ b/pkgs/applications/misc/pinfo/default.nix
@@ -1,12 +1,23 @@
-{stdenv, fetchurl, ncurses, readline}:
+{ stdenv, fetchurl, autoreconfHook, gettext, texinfo, ncurses, readline }:
 
 stdenv.mkDerivation {
-  name = "pinfo-0.6.9";
+  name = "pinfo-0.6.10";
+
   src = fetchurl {
-    url = https://alioth.debian.org/frs/download.php/1498/pinfo-0.6.9.tar.bz2;
-    sha256 = "1rbsz1y7nyz6ax9xfkw5wk6pnrhvwz2xcm0wnfnk4sb2wwq760q3";
+    # homepage needed you to login to download the tarball
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2"
+      + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2";
+    sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j";
   };
-  buildInputs = [ncurses readline];
 
-  configureFlags = "--with-curses=${ncurses} --with-readline=${readline}";
+  buildInputs = [ autoreconfHook gettext texinfo ncurses readline ];
+
+  configureFlags = [ "--with-curses=${ncurses}" "--with-readline=${readline}" ];
+
+  meta = with stdenv.lib; {
+    description = "A viewer for info files";
+    homepage = https://alioth.debian.org/projects/pinfo/;
+    license = licenses.gpl2Plus;
+  };
 }
+
diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix
index dc258d65328..d6a0bfcd120 100644
--- a/pkgs/applications/misc/printrun/default.nix
+++ b/pkgs/applications/misc/printrun/default.nix
@@ -7,11 +7,12 @@ py.buildPythonPackage rec {
 
   src = fetchgit {
     url = "https://github.com/kliment/Printrun";
-    rev = "0a7f2335d0c02c3cc283200867b41f8b337b1387";
-    sha256 = "1zvh5ih89isv51sraljm29z9k00srrdnklwkyp27ymxzlbcwq6gv";
+    rev = "2299962bb338d3f4335b97211ee609ebaea008f7"; # printrun-20140801
+    sha256 = "19nay7xclm36x56hpm87gw4ca6rnygpqaw5ypbmrz0hyxx140abj";
   };
 
-  propagatedBuildInputs = [ py.wxPython py.pyserial py.dbus py.psutil ];
+  propagatedBuildInputs = with py; [ wxPython30 pyserial dbus psutil
+    numpy pyopengl pyglet cython ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/procmail/CVE-2014-3618.patch b/pkgs/applications/misc/procmail/CVE-2014-3618.patch
new file mode 100644
index 00000000000..e3aa5600e40
--- /dev/null
+++ b/pkgs/applications/misc/procmail/CVE-2014-3618.patch
@@ -0,0 +1,18 @@
+From http://seclists.org/oss-sec/2014/q3/495 (with whitespace corrected).
+
+--- a/src/formisc.c 2013-08-04 00:13:33.000000000 -0700
++++ b/src/formisc.c 2014-09-03 11:42:25.986002396 -0700
+@@ -84,12 +84,11 @@
+ 	case '"':*target++=delim='"';start++;
+       }
+      ;{ int i;
+-	do
++	while(*start)
+ 	   if((i= *target++= *start++)==delim)	 /* corresponding delimiter? */
+ 	      break;
+ 	   else if(i=='\\'&&*start)		    /* skip quoted character */
+ 	      *target++= *start++;
+-	while(*start);						/* anything? */
+       }
+      hitspc=2;
+    }
diff --git a/pkgs/applications/misc/procmail/default.nix b/pkgs/applications/misc/procmail/default.nix
index 7b25f9fc5c7..f4980cb2c6b 100644
--- a/pkgs/applications/misc/procmail/default.nix
+++ b/pkgs/applications/misc/procmail/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "procmail-3.22";
 
-  buildInputs = [ stdenv.gcc.libc ];
+  buildInputs = [ stdenv.cc.libc ];
 
   # getline is defined differently in glibc now. So rename it.
   installPhase = "
@@ -15,10 +15,14 @@ stdenv.mkDerivation {
     make DESTDIR=\$out install
    ";
 
-  phases = "unpackPhase installPhase";
+  phases = "unpackPhase patchPhase installPhase";
+
+  patches = [ ./CVE-2014-3618.patch ];
 
   src = fetchurl {
     url = ftp://ftp.fu-berlin.de/pub/unix/mail/procmail/procmail-3.22.tar.gz;
     sha256 = "05z1c803n5cppkcq99vkyd5myff904lf9sdgynfqngfk9nrpaz08";
   };
+
+  meta.homepage = "http://www.procmail.org/";
 }
diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix
index d4ffe2a4afd..e11e920fdd4 100644
--- a/pkgs/applications/misc/pstree/default.nix
+++ b/pkgs/applications/misc/pstree/default.nix
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
 
   unpackPhase = "unpackFile \$src; sourceRoot=.";
 
-  buildPhase = "pwd; gcc -o pstree pstree.c";
+  buildPhase = "pwd; $CC -o pstree pstree.c";
   installPhase = "mkdir -p \$out/bin; cp pstree \$out/bin";
 
   meta = {
     description = "Show the set of running processes as a tree";
     license = "GPL";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
new file mode 100644
index 00000000000..a1538c69932
--- /dev/null
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchurl, wxGTK, libuuid, xercesc, zip , libXt, libXtst
+, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, ykpers
+}:
+
+stdenv.mkDerivation rec {
+  name = "pwsafe-${version}";
+  version = "0.95";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/passwordsafe/pwsafe-${version}BETA-src.tgz";
+    sha256 = "f0b081bc358fee97fce20f352e360960d2813989023b837102b90ba6ed787d46";
+  };
+
+  makefile = "Makefile.linux";
+  makeFlags = "YBPERS_LIBPATH=${ykpers}/lib";
+
+  buildFlags = "unicoderelease";
+  buildInputs = [ wxGTK libuuid gettext perl zip
+                  xercesc libXt libXtst libXi xextproto
+                  pkgconfig libyubikey ykpers ];
+
+  postPatch = ''
+    # Fix perl scripts used during the build.
+    for f in `find . -type f -name '*.pl'`; do
+      patchShebangs $f
+    done
+
+    # Fix hard coded paths.
+    for f in `grep -Rl /usr/share/ src`; do
+      substituteInPlace $f --replace /usr/share/ $out/share/
+    done
+
+    for f in `grep -Rl /usr/bin/ .`; do
+      substituteInPlace $f --replace /usr/bin/ ""
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin \
+             $out/share/applications \
+             $out/share/pwsafe/xml \
+             $out/share/icons/hicolor/48x48/apps \
+             $out/share/doc/passwordsafe/help \
+             $out/share/man/man1 \
+             $out/share/locale
+
+    (cd help && make -f Makefile.linux)
+    cp help/help.zip $out/share/doc/passwordsafe/help
+
+    (cd src/ui/wxWidgets/I18N && make mos)
+    cp -dr src/ui/wxWidgets/I18N/mos/* $out/share/locale/
+    # */
+
+    cp README.txt docs/ReleaseNotes.txt docs/ChangeLog.txt \
+      LICENSE install/copyright $out/share/doc/passwordsafe
+
+    cp src/ui/wxWidgets/GCCUnicodeRelease/pwsafe $out/bin/
+    cp install/graphics/pwsafe.png $out/share/icons/hicolor/48x48/apps
+    cp docs/pwsafe.1 $out/share/man/man1
+    cp xml/* $out/share/pwsafe/xml
+    #  */
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Password Safe is a password database utility";
+
+    longDescription = ''
+      Password Safe is a password database utility. Like many other
+      such products, commercial and otherwise, it stores your
+      passwords in an encrypted file, allowing you to remember only
+      one password (the "safe combination"), instead of all the
+      username/password combinations that you use.
+    '';
+
+    homepage = http://passwordsafe.sourceforge.net/;
+    maintainers = with maintainers; [ pjones ];
+    platforms = platforms.linux;
+    license = licenses.artistic2;
+  };
+}
diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix
new file mode 100644
index 00000000000..843d0ab93d8
--- /dev/null
+++ b/pkgs/applications/misc/pytrainer/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, pythonPackages, sqlite, gpsbabel }:
+
+let
+
+  # Pytrainer needs a matplotlib with GTK backend. Also ensure we are
+  # using the pygtk with glade support as needed by pytrainer.
+  matplotlibGtk = pythonPackages.matplotlib.override {
+    enableGtk2 = true;
+    pygtk = pythonPackages.pyGtkGlade;
+  };
+
+in
+
+pythonPackages.buildPythonPackage rec {
+  name = "pytrainer-${version}";
+  version = "1.10.0";
+
+  src = fetchurl {
+    url = "https://github.com/pytrainer/pytrainer/archive/v${version}.tar.gz";
+    sha256 = "0l42p630qhymgrcvxgry8chrpzcp6nr3d1vd7vhifh2npfq9l09y";
+  };
+
+  namePrefix = "";
+
+  # The existing use of pywebkitgtk shows raw HTML text instead of
+  # map. This patch solves the problems by showing the file from a
+  # string, which allows setting an explicit MIME type.
+  patches = [ ./pytrainer-webkit.patch ];
+
+  pythonPath = with pythonPackages; [
+    dateutil lxml matplotlibGtk pyGtkGlade pywebkitgtk
+    sqlalchemy sqlalchemy_migrate
+  ];
+
+  buildInputs = [gpsbabel sqlite] ++ pythonPath;
+
+  # This package contains no binaries to patch or strip.
+  dontPatchELF = true;
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pytrainer/pytrainer/wiki;
+    description = "Application for logging and graphing sporting excursions";
+    maintainers = [ maintainers.rycee ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/pytrainer/pytrainer-webkit.patch b/pkgs/applications/misc/pytrainer/pytrainer-webkit.patch
new file mode 100644
index 00000000000..0f894c46a53
--- /dev/null
+++ b/pkgs/applications/misc/pytrainer/pytrainer-webkit.patch
@@ -0,0 +1,14 @@
+diff -Nurp pytrainer-1.10.0-orig/pytrainer/extensions/mapviewer.py pytrainer-1.10.0/pytrainer/extensions/mapviewer.py
+--- pytrainer-1.10.0-orig/pytrainer/extensions/mapviewer.py	2013-03-31 12:28:29.000000000 +0200
++++ pytrainer-1.10.0/pytrainer/extensions/mapviewer.py	2014-12-22 11:44:44.367032126 +0100
+@@ -46,7 +46,9 @@ class MapViewer:
+ 		logging.debug(">>")
+ 		if htmlfile is None:
+ 			htmlfile = self.createErrorHtml()
+-		self.wkview.load_uri("file://%s" % (htmlfile))
++		content = open(htmlfile, 'r').read()
++		self.wkview.load_string(content, 'text/html', 'UTF-8', 'file:///')
++		#self.wkview.load_uri("file://%s" % (htmlfile))
+ 		#self.box.show_all()
+ 		logging.debug("<<")
+ 
diff --git a/pkgs/applications/misc/qgis/default.nix b/pkgs/applications/misc/qgis/default.nix
deleted file mode 100644
index 9a41bcc36ec..00000000000
--- a/pkgs/applications/misc/qgis/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, x11, sqlite, gsl,
-  pyqt4, qwt, fcgi, python, libspatialindex, libspatialite, sip }:
-
-stdenv.mkDerivation rec {
-  name = "qgis-2.4.0";
-
-  buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 sip qwt
-    fcgi libspatialindex libspatialite ];
-
-  nativeBuildInputs = [ cmake python ];
-
-  enableParallelBuilding = true;
-
-  # To handle the lack of 'local' RPATH; required, as they call one of
-  # their built binaries requiring their libs, in the build process.
-  preBuild = ''
-    export LD_LIBRARY_PATH=`pwd`/output/lib:$LD_LIBRARY_PATH
-  '';
-
-  src = fetchurl {
-    url = "http://qgis.org/downloads/${name}.tar.bz2";
-    sha256 = "711b7d81ddff45b083a21f05c8aa5093a6a38a0ee42dfcc873234fcef1fcdd76";
-    
-
-  };
-
-  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];
-  };
-}
diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix
new file mode 100644
index 00000000000..1cf6d76b892
--- /dev/null
+++ b/pkgs/applications/misc/qpdfview/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, qt4, pkgconfig, poppler_qt4, djvulibre, libspectre, cups
+, file, ghostscript
+}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="qpdfview";
+    version = "0.4.14";
+    name="${baseName}-${version}";
+    url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
+    sha256 = "15d88xzqvrcp9szmz8d1lj65yrdx90j6fp78gia5c8kra2z8bik9";
+  };
+  buildInputs = [
+    qt4 poppler_qt4 pkgconfig djvulibre libspectre cups file ghostscript
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  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*
+  '';
+  meta = {
+    inherit (s) version;
+    description = "A tabbed document viewer";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://launchpad.net/qpdfview";
+    updateWalker = true;
+  };
+}
diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix
index 38606d79873..06a7e3bcd7e 100644
--- a/pkgs/applications/misc/qtbitcointrader/default.nix
+++ b/pkgs/applications/misc/qtbitcointrader/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchurl, qt4 }:
+{ stdenv, fetchFromGitHub, qt }:
 
 let
-  version = "1.07.98";
+  version = "1.08.03";
 in
 stdenv.mkDerivation {
   name = "qtbitcointrader-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/bitcointrader/SRC/QtBitcoinTrader-${version}.tar.gz";
-    sha256 = "1irz17q71fx64dfkmgajlyva7d1wifv4bxgb2iwz7d69rvhzaqzx";
+  src = fetchFromGitHub {
+    owner = "JulyIGHOR";
+    repo = "QtBitcoinTrader";
+    rev = "ee30cf158fa8535f2155a387558d3b8994728c28";
+    sha256 = "0kxb0n11agqid0nyqdspfndm03b8l0nl8x4yx2hsrizs6m5z08h4";
   };
 
-  buildInputs = [ qt4 ];
+  buildInputs = [ qt ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/src";
 
@@ -23,11 +25,11 @@ stdenv.mkDerivation {
         QtBitcoinTrader_Desktop.pro
   '';
 
-  meta = {
-    description = "Secure bitcoin trading client";
-    homepage = http://qtopentrader.com;
-    license = stdenv.lib.licenses.lgpl21Plus;
-    platforms = stdenv.lib.platforms.linux;  # arbitrary choice
-    maintainers = [ stdenv.lib.maintainers.emery ];
-  };
-}
\ No newline at end of file
+  meta = with stdenv.lib;
+    { description = "Secure bitcoin trading client";
+      homepage = https://centrabit.com/;
+      license = licenses.lgpl3;
+      platforms = qt.meta.platforms;
+      maintainers = [ maintainers.emery ];
+    };
+}
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index abf55aa22b9..6070c560815 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -3,11 +3,11 @@
 , GConf, dbus, dbus_glib, makeWrapper, gtk, pygtk, pyxdg, geoclue }:
 
 stdenv.mkDerivation rec {
-  version = "1.8";
+  version = "1.9.1";
   name = "redshift-${version}";
   src = fetchurl {
     url = "https://github.com/jonls/redshift/archive/v${version}.tar.gz";
-    sha256 = "1srj2dwy32h71iqikb4ysv5ipclym80i9lys2ns8vjmclg7hj3vi";
+    sha256 = "0rj7lyg4ikwpk1hr1k2bgk9gjqvvv51z8hydsgpx2k2lqdv6lqri";
   };
 
   buildInputs = [
@@ -38,8 +38,8 @@ stdenv.mkDerivation rec {
       temperature to allow your eyes to slowly adapt.
       '';
     license = stdenv.lib.licenses.gpl3Plus;
-    homepage = "http://jonls.dk/redshift";
+    homepage = http://jonls.dk/redshift;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   }; 
 }
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
new file mode 100644
index 00000000000..bb0cf451957
--- /dev/null
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, lib, fetchurl, dpkg, patchelf, qt4, libXtst, libXext, libX11, makeWrapper, libXScrnSaver }:
+
+let
+  src =
+    if stdenv.system == "i686-linux" then fetchurl {
+      name = "rescuetime-installer.deb";
+      url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb";
+      sha256 = "03dj0ivavxlcvx7dv7y6zllwqkclfyxkfax691zv2qclmk5gf8wz";
+    } else fetchurl {
+      name = "rescuetime-installer.deb";
+      url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
+      sha256 = "11by4lkij1ryv8h3mz55hj3ssrikl697rs5b7mlg3g058gr2v3wl";
+    };
+
+in
+
+stdenv.mkDerivation {
+  name = "rescuetime-2.8.6.1015";
+  inherit src;
+  buildInputs = [ dpkg makeWrapper ];
+  unpackPhase = ''
+    mkdir pkg
+    dpkg-deb -x $src pkg
+    sourceRoot=pkg
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp usr/bin/rescuetime $out/bin
+
+    ${patchelf}/bin/patchelf \
+      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $out/bin/rescuetime
+
+    wrapProgram $out/bin/rescuetime \
+      --prefix LD_PRELOAD : ${qt4}/lib/libQtGui.so.4:${qt4}/lib/libQtCore.so.4:${libXtst}/lib/libXtst.so.6:${libXext}/lib/libXext.so.6:${libX11}/lib/libX11.so.6:${libXScrnSaver}/lib/libXss.so.1
+  '';
+  meta = with lib; {
+    description = "Helps you understand your daily habits so you can focus and be more productive";
+    homepage    = "https://www.rescuetime.com";
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.unfree;
+    platforms   = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix
index 8b0ba581612..80424a308d7 100644
--- a/pkgs/applications/misc/robomongo/default.nix
+++ b/pkgs/applications/misc/robomongo/default.nix
@@ -9,10 +9,14 @@ stdenv.mkDerivation {
   };
 
   patches = [ ./robomongo.patch ];
-  
+
+  postPatch = ''
+    rm ./cmake/FindOpenSSL.cmake # remove outdated bundled CMake file
+  '';
+
   NIX_CFLAGS_COMPILE = "-fno-stack-protector";
 
-  buildInputs = [ cmake boost scons qt5 openssl python pcre bzip2 ];
+  buildInputs = [ cmake boost scons qt5.base openssl python pcre bzip2 ];
 
   meta = {
     homepage = "http://robomongo.org/";
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
new file mode 100644
index 00000000000..1bbe026cfeb
--- /dev/null
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig
+, libX11, libXinerama, libXft, pango
+, i3Support ? false, i3
+}:
+
+stdenv.mkDerivation rec {
+  name = "rofi-${version}";
+  version = "0.15.2";
+
+  src = fetchFromGitHub {
+    repo = "rofi";
+    owner = "DaveDavenport";
+    rev = "${version}";
+    sha256 = "0b8k5g2fpqrz1yac09kmfk4caxcc107qq4yhncnl159xdxw66vz8";
+  };
+
+  buildInputs = [ autoconf automake pkgconfig libX11 libXinerama libXft pango
+                ] ++ stdenv.lib.optional i3Support i3;
+
+  preConfigure = ''
+    autoreconf -vif
+  '';
+
+  meta = {
+      description = "Window switcher, run dialog and dmenu replacement";
+      homepage = https://davedavenport.github.io/rofi;
+      license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/applications/misc/roxterm/default.nix b/pkgs/applications/misc/roxterm/default.nix
new file mode 100644
index 00000000000..60322c2b911
--- /dev/null
+++ b/pkgs/applications/misc/roxterm/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, docbook_xsl, dbus_libs, dbus_glib, expat, gettext
+, gsettings_desktop_schemas, gdk_pixbuf, gtk2, gtk3, hicolor_icon_theme
+, imagemagick, itstool, librsvg, libtool, libxslt, lockfile, makeWrapper
+, pkgconfig, pythonFull, pythonPackages, vte }:
+
+# TODO: Still getting following warning.
+# WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
+# Seems related to this:
+# https://forums.gentoo.org/viewtopic-t-947210-start-0.html
+
+let version = "2.9.4";
+in stdenv.mkDerivation rec {
+  name = "roxterm-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/roxterm/${name}.tar.bz2";
+    sha256 = "0djfiwfmnqqp6930kswzr2rss0mh40vglcdybwpxrijcw4n8j21x";
+  };
+
+  buildInputs =
+    [ docbook_xsl expat imagemagick itstool librsvg libtool libxslt
+      makeWrapper pkgconfig pythonFull pythonPackages.lockfile ];
+
+  propagatedBuildInputs =
+    [ dbus_libs dbus_glib gdk_pixbuf gettext gsettings_desktop_schemas gtk2 gtk3 hicolor_icon_theme vte ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
+                         "-I${dbus_libs}/include/dbus-1.0"
+                         "-I${dbus_libs}/lib/dbus-1.0/include" ];
+
+  # Fix up python path so the lockfile library is on it.
+  PYTHONPATH = stdenv.lib.makeSearchPath "lib/${pythonFull.libPrefix}/site-packages" [
+    pythonPackages.curses pythonPackages.lockfile
+  ];
+
+  buildPhase = ''
+    # Fix up the LD_LIBRARY_PATH so that expat is on it
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${expat}/lib"
+
+    python mscript.py configure --prefix="$out"
+    python mscript.py build
+  '';
+
+  installPhase = ''
+    python mscript.py install
+
+    wrapProgram "$out/bin/roxterm" \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://roxterm.sourceforge.net/;
+    license = licenses.gpl3;
+    description = "Tabbed, VTE-based terminal emulator";
+    longDescription = ''
+      Tabbed, VTE-based terminal emulator.  Similar to gnome-terminal without the dependencies on Gnome.
+    '';
+    maintainers = with maintainers; [ cdepillabout ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix
index e6e76249388..defe6eb2df1 100644
--- a/pkgs/applications/misc/rtl-sdr/default.nix
+++ b/pkgs/applications/misc/rtl-sdr/default.nix
@@ -12,12 +12,18 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake pkgconfig libusb1 ];
 
-  # Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to
-  # /etc/udev/rules.d/, and there is no option to install elsewhere. So install
-  # rules manually.
+  # TODO: get these fixes upstream:
+  # * Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to
+  #   /etc/udev/rules.d/, and there is no option to install elsewhere. So install
+  #   rules manually.
+  # * Propagate libusb-1.0 dependency in pkg-config file.
   postInstall = ''
     mkdir -p "$out/etc/udev/rules.d/"
     cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules"
+
+    pcfile="$out"/lib/pkgconfig/librtlsdr.pc
+    grep -q "Requires:" "$pcfile" && { echo "Upstream has added 'Requires:' in $(basename "$pcfile"); update nix expression."; exit 1; }
+    echo "Requires: libusb-1.0" >> "$pcfile"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix
new file mode 100644
index 00000000000..c0cc702c986
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-perls/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "urxvt-perls";
+
+  src = fetchgit {
+    url = "git://github.com/muennich/urxvt-perls";
+    rev = "e4dbde31edd19e2f4c2b6c91117ee91e2f83ddd7";
+    sha256 = "1f8a27c3d54377fdd4ab0be2f4efb8329d4900bb1c792b306dc23b5ee59260b1";
+  };
+
+  installPhase = ''
+    mkdir -p $out/lib/urxvt/perl
+    cp clipboard \
+       keyboard-select \
+       url-select \
+    $out/lib/urxvt/perl
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Perl extensions for the rxvt-unicode terminal emulator";
+    homepage = "https://github.com/muennich/urxvt-perls";
+    license = licenses.gpl2;
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix
new file mode 100644
index 00000000000..a636c3bcfe5
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "urxvt-tabbedex";
+
+  src = fetchgit {
+    url = "https://github.com/mina86/urxvt-tabbedex";
+    rev = "54c8d6beb4d65278ed6db24693ca56e1ee65bb42";
+    sha256 = "f8734ee289e1cfc517d0699627191c98d32ae3549e0f1935af2a5ccb86d4dc1e";
+  };
+
+  installPhase = ''
+    install -D tabbedex $out/lib/urxvt/perl/tabbedex
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tabbed plugin for rxvt-unicode with many enhancements (mina86's fork)";
+    homepage = "https://github.com/mina86/urxvt-tabbedex";
+    maintainers = maintainers.abbradar;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index 7392123673a..12eeb62dc04 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -28,7 +28,8 @@ stdenv.mkDerivation (rec {
   patches = [
     ./rxvt-unicode-9.06-font-width.patch
     ./rxvt-unicode-256-color-resources.patch
-  ];
+  ]
+  ++ stdenv.lib.optional stdenv.isDarwin ./rxvt-unicode-makefile-phony.patch;
 
   preConfigure =
     ''
@@ -47,6 +48,6 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "A clone of the well-known terminal emulator rxvt";
     homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 })
diff --git a/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-makefile-phony.patch b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-makefile-phony.patch
new file mode 100644
index 00000000000..5e42e17c156
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-makefile-phony.patch
@@ -0,0 +1,10 @@
+--- a/Makefile.in	2015-01-13 08:52:30.000000000 +0100
++++ b/Makefile.in	2015-01-13 08:52:58.000000000 +0100
+@@ -30,6 +30,7 @@
+ subdirs = src doc
+ 
+ RECURSIVE_TARGETS = all allbin alldoc tags clean distclean realclean install
++.PHONY: $(RECURSIVE_TARGETS)
+ 
+ #-------------------------------------------------------------------------
+ 
diff --git a/pkgs/applications/misc/rxvt_unicode/wrapper.nix b/pkgs/applications/misc/rxvt_unicode/wrapper.nix
new file mode 100644
index 00000000000..2f68e4ec5f1
--- /dev/null
+++ b/pkgs/applications/misc/rxvt_unicode/wrapper.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildEnv, rxvt_unicode, makeWrapper, plugins }:
+
+let
+  rxvt = rxvt_unicode.override {
+    perlSupport = true;
+  };
+
+  drv = buildEnv {
+    name = "${rxvt.name}-with-plugins";
+
+    paths = [ rxvt ] ++ plugins;
+
+    postBuild = ''
+      # TODO: This could be avoided if buildEnv could be forced to create all directories
+      if [ -L $out/bin ]; then
+        rm $out/bin
+        mkdir $out/bin
+        for i in ${rxvt}/bin/*; do
+          ln -s $i $out/bin
+        done
+      fi
+      wrapProgram $out/bin/urxvt \
+        --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
+      wrapProgram $out/bin/urxvtd \
+        --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
+    '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix
index 151b8a077d5..3febcfb17fb 100644
--- a/pkgs/applications/misc/sakura/default.nix
+++ b/pkgs/applications/misc/sakura/default.nix
@@ -1,15 +1,24 @@
-{ stdenv, fetchurl, cmake, pkgconfig, gtk, vte, pixman, gettext, perl }:
+{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte }:
+
 stdenv.mkDerivation rec {
   name = "sakura-${version}";
-  version = "2.4.2";
+  version = "3.2.0";
+
   src = fetchurl {
     url = "http://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2";
-    sha256 = "1mpsjsk7dgz56h7yagd9aq0d92vj59yrz4ri6za3mfmglhn29rn5";
+    sha256 = "1pfvc35kckrzik5wx8ywhkhclr52rfp2syg46ix2nsdm72q6dl90";
   };
-  buildInputs = [ cmake pkgconfig gtk vte pixman gettext perl ];
-  meta = {
-    homepage = "http://www.pleyades.net/david/sakura.php";
+
+  nativeBuildInputs = [ cmake perl pkgconfig ];
+
+  buildInputs = [ gtk3 vte ];
+
+  meta = with stdenv.lib; {
     description = "A terminal emulator based on GTK and VTE";
+    homepage    = http://www.pleyades.net/david/projects/sakura;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ astsmtl codyopel ];
+    platforms   = platforms.linux;
     longDescription = ''
       sakura is a terminal emulator based on GTK and VTE. It's a terminal
       emulator with few dependencies, so you don't need a full GNOME desktop
@@ -20,8 +29,5 @@ stdenv.mkDerivation rec {
       terminals in one window and adds a contextual menu with some basic
       options. No more no less.
     '';
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/scim/default.nix b/pkgs/applications/misc/scim/default.nix
new file mode 100644
index 00000000000..ef1bb0bed1d
--- /dev/null
+++ b/pkgs/applications/misc/scim/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, yacc, ncurses, libxml2 }:
+
+let
+  version = "0.1.8";
+in
+stdenv.mkDerivation rec {
+
+  name = "scim-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/andmarti1424/scim/archive/v${version}.tar.gz";
+    sha256 = "0qjixb1hzbdrypbmzwb2iaw5wp57kn7fmm1zpjp4gzjyanrhazs2";
+  };
+
+  buildInputs = [ yacc ncurses libxml2 ];
+
+  buildPhase = ''
+    cd src
+
+    sed "s,prefix=/usr,prefix=$out," Makefile
+    sed "s,-I/usr/include/libxml2,-I$libxml2," Makefile
+
+    make
+    export DESTDIR=$out
+  '';
+
+  installPhase = ''
+    make install prefix=
+  '';
+
+  meta = {
+    homepage = "https://github.com/andmarti1424/scim";
+    description = "SCIM - Spreadsheet Calculator Improvised - SC fork";
+    license = {
+      fullName = "SCIM License";
+      url = "https://github.com/andmarti1424/scim/raw/master/LICENSE";
+    };
+    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+    platforms = with stdenv.lib.platforms; linux; # Cannot test others
+  };
+
+}
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index 06a5cca94a8..36669dd8ae8 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -3,21 +3,20 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.7";
+  version = "1.2.6";
   name = "slic3r-${version}";
 
-  # Slic3r doesn't put out tarballs, only a git repository is available
   src = fetchgit {
     url = "git://github.com/alexrj/Slic3r";
     rev = "refs/tags/${version}";
-    sha256 = "0hss90iw4xwca08d03wrz0fds5nqwb9zjqii2n6rgpcl4km69fka";
+    sha256 = "1ymk2n9dw1mpizwg6bxbzq60mg1cwljxlncaasdyakqrkkr22r8k";
   };
 
   buildInputs = with perlPackages; [ perl makeWrapper which
-    EncodeLocale MathClipper ExtUtilsXSpp BoostGeometryUtils
+    EncodeLocale MathClipper ExtUtilsXSpp threads
     MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
     IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX
-    ExtUtilsMakeMaker
+    ExtUtilsMakeMaker OpenGL WxGLCanvas
   ];
 
   desktopItem = makeDesktopItem {
@@ -34,12 +33,16 @@ stdenv.mkDerivation rec {
     export SLIC3R_NO_AUTO=true
     export PERL5LIB="./xs/blib/arch/:./xs/blib/lib:$PERL5LIB"
 
+    substituteInPlace Build.PL \
+      --replace "0.9918" "0.9923" \
+      --replace "eval" ""
+
     pushd xs
       perl Build.PL
       perl Build
     popd
 
-    perl Build.PL
+    perl Build.PL --gui
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/misc/slic3r/fix-no-display.patch b/pkgs/applications/misc/slic3r/fix-no-display.patch
new file mode 100644
index 00000000000..b5aeca3a416
--- /dev/null
+++ b/pkgs/applications/misc/slic3r/fix-no-display.patch
@@ -0,0 +1,59 @@
+diff --git a/Build.PL b/Build.PL
+index 8b21c15..fd3aff0 100644
+--- a/Build.PL
++++ b/Build.PL
+@@ -33,9 +33,6 @@ my $sudo    = grep { $_ eq '--sudo' } @ARGV;
+ my $gui     = grep { $_ eq '--gui' } @ARGV;
+ my $xs_only = grep { $_ eq '--xs' }  @ARGV;
+ if ($gui) {
+-    %prereqs = qw(
+-    Wx                              0.9918
+-    );
+     %recommends = qw(
+     Growl::GNTP                     0.15
+     Wx::GLCanvas                    0
+diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm
+index 842ff44..ea0af64 100644
+--- a/lib/Slic3r/GUI.pm
++++ b/lib/Slic3r/GUI.pm
+@@ -26,7 +26,7 @@ use Slic3r::GUI::OptionsGroup::Field;
+ use Slic3r::GUI::SimpleTab;
+ use Slic3r::GUI::Tab;
+ 
+-our $have_OpenGL = eval "use Slic3r::GUI::PreviewCanvas; 1";
++our $have_OpenGL = 0;
+ 
+ use Wx 0.9901 qw(:bitmap :dialog :icon :id :misc :systemsettings :toplevelwindow
+     :filedialog);
+diff --git a/lib/Slic3r/GUI/Plater/2DToolpaths.pm b/lib/Slic3r/GUI/Plater/2DToolpaths.pm
+index 8e48a72..7bed973 100644
+--- a/lib/Slic3r/GUI/Plater/2DToolpaths.pm
++++ b/lib/Slic3r/GUI/Plater/2DToolpaths.pm
+@@ -90,18 +90,20 @@ sub set_z {
+ package Slic3r::GUI::Plater::2DToolpaths::Canvas;
+ 
+ use Wx::Event qw(EVT_PAINT EVT_SIZE EVT_ERASE_BACKGROUND EVT_IDLE EVT_MOUSEWHEEL EVT_MOUSE_EVENTS);
+-use OpenGL qw(:glconstants :glfunctions :glufunctions);
+-use base qw(Wx::GLCanvas Class::Accessor);
+-use Wx::GLCanvas qw(:all);
+ use List::Util qw(min first);
+ use Slic3r::Geometry qw(scale unscale epsilon);
+ 
+ __PACKAGE__->mk_accessors(qw(print z layers color init dirty bb));
+ 
+-# make OpenGL::Array thread-safe
+-{
+-    no warnings 'redefine';
+-    *OpenGL::Array::CLONE_SKIP = sub { 1 };
++if ($Slic3r::GUI::have_OpenGL) {
++    use OpenGL qw(:glconstants :glfunctions :glufunctions);
++    use Wx::GLCanvas qw(:all);
++    use base qw(Wx::GLCanvas Class::Accessor);
++    # make OpenGL::Array thread-safe
++    {
++        no warnings 'redefine';
++        *OpenGL::Array::CLONE_SKIP = sub { 1 };
++    }
+ }
+ 
+ sub new {
diff --git a/pkgs/applications/misc/slmenu/default.nix b/pkgs/applications/misc/slmenu/default.nix
new file mode 100644
index 00000000000..193bcf205f5
--- /dev/null
+++ b/pkgs/applications/misc/slmenu/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchhg}:
+let
+  s = 
+  rec {
+    baseName = "slmenu";
+    version = "hg-${date}";
+    date = "2012-02-01";
+    name = "${baseName}-${version}";
+    url = "https://bitbucket.org/rafaelgg/slmenu/";
+    rev = "7e74fa5db73e8b018da48d50dbbaf11cb5c62d13";
+    sha256 = "0zb7mm8344d3xmvrl62psazcabfk75pp083jqkmywdsrikgjagv6";
+  };
+  buildInputs = [
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchhg {
+    inherit (s) url sha256;
+  };
+  makeFlags = ''PREFIX=$(out)'';
+  meta = {
+    inherit (s) version;
+    description = ''A console dmenu-like tool'';
+    license = stdenv.lib.licenses.mit;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index 7dbe723d9eb..b88e4c567cc 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -3,14 +3,14 @@
 }:
 
 let
-  version = "0.9.4";
+  version = "0.9.2";
 
 in stdenv.mkDerivation rec {
   name = "spacefm-${version}";
 
   src = fetchurl {
     url = "https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true";
-    sha256 = "0marwa031jk24q8hy90dr7yw6rv5hn1shar404zpb1k57v4nr23m";
+    sha256 = "3767137d74aa78597ffb42a6121784e91a4276efcd5d718b3793b9790f82268c";
   };
 
   buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ];
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customizable menu system, and bash integration.";
+    description = "Multi-panel tabbed file and desktop manager for Linux with built-in VFS, udev- or HAL-based device manager, customizable menu system, and bash integration";
     platforms = pkgs.lib.platforms.linux;
     license = pkgs.lib.licenses.gpl3;
   };
diff --git a/pkgs/applications/misc/sqliteman/default.nix b/pkgs/applications/misc/sqliteman/default.nix
new file mode 100644
index 00000000000..f655a0f8c26
--- /dev/null
+++ b/pkgs/applications/misc/sqliteman/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, cmake, qt4, qscintilla }:
+
+stdenv.mkDerivation rec {
+  name = "sqliteman";
+  version = "1.2.0-c41b89e1";
+
+  src = fetchurl {
+    url = https://github.com/pvanek/sqliteman/archive/1.2.0.tar.gz;
+    sha256 = "1x4ppwf01jdnz3a4ycia6vv5qf3w2smbqx690z1pnkwbvk337akm";
+  };
+
+  buildInputs = [ cmake qt4 qscintilla ];
+
+  prePatch = ''
+    sed -i 's,m_file(0),m_file(QString()),' Sqliteman/sqliteman/main.cpp
+  '';
+
+  preConfigure = ''
+    cd Sqliteman
+    sed -i 's,/usr/include/Qsci,${qscintilla}/include/Qsci,' cmake/modules/FindQScintilla.cmake
+    sed -i 's,PATHS ''${QT_LIBRARY_DIR},PATHS ${qscintilla}/libs,' cmake/modules/FindQScintilla.cmake
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple but powerful Sqlite3 GUI database manager";
+    homepage = http://sqliteman.yarpen.cz/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.eikek ];
+  };
+}
diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix
new file mode 100644
index 00000000000..8856e5be52f
--- /dev/null
+++ b/pkgs/applications/misc/stag/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit, curses }:
+
+stdenv.mkDerivation {
+  name = "stag-1.0";
+
+  src = fetchgit {
+    url = https://github.com/seenaburns/stag.git;
+    rev = "90e2964959ea8242349250640d24cee3d1966ad6";
+    sha256 = "88628dfa07a0772c7eca0cc66ef2d8f3e20297deec021c776a82fe1323bafb0f";
+  };
+
+  buildInputs = [ stdenv curses ];
+
+  installPhase = ''
+    make install PREFIX=$out
+  '';
+
+  meta = {
+    homepage = "https://github.com/seenaburns/stag";
+    description = "Terminal streaming bar graph passed through stdin";
+    license = stdenv.lib.licenses.bsdOriginal;
+    maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
+  };
+}
diff --git a/pkgs/applications/misc/stardict/stardict.nix b/pkgs/applications/misc/stardict/stardict.nix
index d4c41edde30..600642f488a 100644
--- a/pkgs/applications/misc/stardict/stardict.nix
+++ b/pkgs/applications/misc/stardict/stardict.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
     sha256 = "0wrb8xqy6x9piwrn0vw5alivr9h3b70xlf51qy0jpl6d7mdhm8cv";
   };
 
-  buildInputs = [ pkgconfig gtk glib zlib libxml2 intltool gnome_doc_utils libgnomeui scrollkeeper mysql pcre which libxslt];
+  buildInputs = [ pkgconfig gtk glib zlib libxml2 intltool gnome_doc_utils libgnomeui scrollkeeper mysql.lib pcre which libxslt];
 
   postPatch = ''
     # mysql hacks: we need dynamic linking as there is no libmysqlclient.a
-    substituteInPlace tools/configure --replace '/usr/local/include/mysql' '${mysql}/include/mysql/'
+    substituteInPlace tools/configure --replace '/usr/local/include/mysql' '${mysql.lib}/include/mysql/'
     substituteInPlace tools/configure --replace 'AC_FIND_FILE([libmysqlclient.a]' 'AC_FIND_FILE([libmysqlclient.so]'
-    substituteInPlace tools/configure --replace '/usr/local/lib/mysql' '${mysql}/lib/mysql/'
+    substituteInPlace tools/configure --replace '/usr/local/lib/mysql' '${mysql.lib}/lib/mysql/'
     substituteInPlace tools/configure --replace 'for y in libmysqlclient.a' 'for y in libmysqlclient.so'
     substituteInPlace tools/configure --replace 'libmysqlclient.a' 'libmysqlclient.so'
 
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index ab7a8240ebf..0c9b6e8c08a 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -1,36 +1,37 @@
 { stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
-, p7zip }:
+, gtk3, gsettings_desktop_schemas, p7zip }:
 
 let
 
   mkSweetHome3D =
-  { name, module, version, src, license, description }:
+  { name, module, version, src, license, description, icon }:
 
   stdenv.mkDerivation rec {
-    inherit name version src description;
+    inherit name version src description icon;
     exec = stdenv.lib.toLower module;
     sweethome3dItem = makeDesktopItem {
-      inherit name exec;
+      inherit name exec icon;
       comment =  description;
       desktopName = name;
       genericName = "Computer Aided (Interior) Design";
       categories = "Application;CAD;";
     };
 
-    buildInputs = [ ant jdk jre makeWrapper p7zip ];
+    buildInputs = [ ant jdk jre makeWrapper p7zip gtk3 gsettings_desktop_schemas ];
 
     buildPhase = ''
       ant furniture textures help
       mkdir -p $out/share/{java,applications}
-      mv build/*.jar $out/share/java/.
+      mv "build/"*.jar $out/share/java/.
       ant
     '';
 
     installPhase = ''
       mkdir -p $out/bin
       cp install/${module}-${version}.jar $out/share/java/.
-      cp ${sweethome3dItem}/share/applications/* $out/share/applications
+      cp "${sweethome3dItem}/share/applications/"* $out/share/applications
       makeWrapper ${jre}/bin/java $out/bin/$exec \
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
     '';
 
@@ -50,17 +51,21 @@ let
 in rec {
 
   application = mkSweetHome3D rec {
-    version = "4.3.1";
+    version = "4.6.2";
     module = "SweetHome3D";
     name = stdenv.lib.toLower module + "-application-" + version;
     description = "Design and visualize your future home";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchcvs {
       cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "0jn3xamghz8rsmzvpd57cvz32yk8mni8dyx15xizjcki0450bp3f";
+      sha256 = "0pm0rl5y90cjwyjma7g6nnaz6dv4bqcy8vl3zzxfj0q02ww01gbz";
       module = module;
       tag = "V_" + d2u version;
     };
+    icon = fetchurl {
+      url = "http://sweethome3d.cvs.sourceforge.net/viewvc/sweethome3d/SweetHome3D/src/com/eteks/sweethome3d/viewcontroller/resources/help/images/sweethome3d.png";
+      sha256 = "0lnv2sz2d3m8jx25hz92gzardf0iblykhy5q0q2cyb7mw2qb2p92";
+    };
   };
 
 }
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index 9eca1df59f5..87da1c6643b 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
-, p7zip, sweethome3dApp }:
+, gtk3, gsettings_desktop_schemas, p7zip, sweethome3dApp }:
 
 let
 
@@ -24,7 +24,7 @@ let
       categories = "Application;CAD;";
     };
 
-    buildInputs = [ ant jre jdk makeWrapper ];
+    buildInputs = [ ant jre jdk makeWrapper gtk3 gsettings_desktop_schemas ];
 
     patchPhase = ''
       sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
@@ -38,8 +38,9 @@ let
       mkdir -p $out/bin
       mkdir -p $out/share/{java,applications}
       cp ${module}-${version}.jar $out/share/java/.
-      cp ${editorItem}/share/applications/* $out/share/applications
+      cp "${editorItem}/share/applications/"* $out/share/applications
       makeWrapper ${jre}/bin/java $out/bin/$exec \
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-jar $out/share/java/${module}-${version}.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
     '';
 
@@ -57,31 +58,31 @@ let
 
   d2u = stdenv.lib.replaceChars ["."] ["_"];
 
-in rec {
+in {
 
   textures-editor = mkEditorProject rec {
-    version = "1.3";
+    version = "1.4";
     module = "TexturesLibraryEditor";
     name = sweetName module version;
     description = "Easily create SH3T files and edit the properties of the texture images it contain";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchcvs {
       cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "1caf1hmf87bj5dr7w2swnlbvkb3q1jdjr1zgjn1k07d0fxh0ikbx";
+      sha256 = "1j1ygb32dca48hng5bsna9f84vyin5qc3ds44xi39057izmw8499";
       module = module;
       tag = "V_" + d2u version;
     };
   };
 
   furniture-editor = mkEditorProject rec {
-    version = "1.13";
+    version = "1.16";
     module = "FurnitureLibraryEditor";
     name = sweetName module version;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = stdenv.lib.licenses.gpl2;
     src = fetchcvs {
       cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "1nll5589rc0g71zd86cwmzl4p2icynykj106schmxric9v17jbv5";
+      sha256 = "09dmb0835kncs1ngszhyp1pgvj7vqjjrp9q405gakm8ylrzym374";
       module = module;
       tag = "V_" + d2u version;
     };
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index 8d914c26221..746b5e5ef46 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput, curl
-, cryptopp ? null, unzip }:
+{ stdenv, fetchFromGitHub, cmake, x11, libX11, libXi, libXtst, libXrandr
+, xinput, curl, cryptopp ? null, unzip }:
 
 assert stdenv.isLinux -> cryptopp != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "synergy-1.5.0";
-
-  src = fetchurl {
-    url = "http://synergy-project.org/files/packages/synergy-1.5.0-r2278-Source.tar.gz";
-    sha256 = "097hk9v01lwzs7ly6ynadxmjh7ad68l5si7w4qmjn6z7l8b61gv6";
+  name = "synergy-${version}";
+  version = "1.6.2";
+
+  src = fetchFromGitHub {
+    owner = "synergy";
+    repo = "synergy";
+    rev = version;
+    sha256 = "0himg6c50x5wz5nc6rgd54rph1w6nin6j9f08pa4spsxn9b5h8ks";
   };
 
   patches = optional stdenv.isLinux ./cryptopp.patch;
diff --git a/pkgs/applications/misc/taffybar/default.nix b/pkgs/applications/misc/taffybar/default.nix
index 09eb186013f..8f2f95193fb 100644
--- a/pkgs/applications/misc/taffybar/default.nix
+++ b/pkgs/applications/misc/taffybar/default.nix
@@ -1,21 +1,22 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, cairo, dbus, dyre, enclosedExceptions, filepath, gtk
-, gtkTraymanager, HStringTemplate, HTTP, mtl, network, parsec, safe
-, split, stm, text, time, transformers, utf8String, X11, xdgBasedir
-, xmonad, xmonadContrib
+, gtkTraymanager, HStringTemplate, HTTP, mtl, network, networkUri
+, parsec, safe, split, stm, text, time, transformers, utf8String
+, X11, xdgBasedir, xmonad, xmonadContrib
 }:
 
 cabal.mkDerivation (self: {
   pname = "taffybar";
-  version = "0.4.1";
-  sha256 = "0b4x78sq5x1w0xnc5fk4ixpbkl8cwjfyb4fq8vy21shf4n0fri26";
+  version = "0.4.4";
+  sha256 = "046nfp878mqj9acsid94mqp8q1yqnm1hsdkv88m5qpmn182xljwh";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     cairo dbus dyre enclosedExceptions filepath gtk gtkTraymanager
-    HStringTemplate HTTP mtl network parsec safe split stm text time
-    transformers utf8String X11 xdgBasedir xmonad xmonadContrib
+    HStringTemplate HTTP mtl network networkUri parsec safe split stm
+    text time transformers utf8String X11 xdgBasedir xmonad
+    xmonadContrib
   ];
   pkgconfigDepends = [ gtk ];
   meta = {
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 998c34e5610..fa8b11adbf8 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -1,17 +1,22 @@
-{ stdenv, fetchurl, cmake, libuuid }:
+{ stdenv, fetchurl, cmake, libuuid, gnutls }:
 
 stdenv.mkDerivation rec {
   name = "taskwarrior-${version}";
-  version = "2.3.0";
+  version = "2.4.0";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
     url = "http://www.taskwarrior.org/download/task-${version}.tar.gz";
-    sha256 = "0wxcfq0n96vmcbwrlk2x377k8cc5k4i64ca6p02y74g6168ji6ib";
+    sha256 = "17hiv7zld06zb5xmyp96bw9xl6vp178fhffs660fxxpxn3srb9bg";
   };
 
-  nativeBuildInputs = [ cmake libuuid ];
+  nativeBuildInputs = [ cmake libuuid gnutls ];
+
+  postInstall = ''
+    mkdir -p "$out/etc/bash_completion.d"
+    ln -s "../../share/doc/task/scripts/bash/task.sh" "$out/etc/bash_completion.d/"
+  '';
 
   meta = {
     description = "GTD (getting things done) implementation";
diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix
new file mode 100644
index 00000000000..94655614023
--- /dev/null
+++ b/pkgs/applications/misc/terminal-notifier/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "terminal-notifier-${version}";
+
+  version = "1.5.0";
+
+  src = fetchzip {
+    url = "https://github.com/alloy/terminal-notifier/releases/download/${version}/terminal-notifier-${version}.zip";
+    sha256 = "09x7vl0kddivqq3pyrk6sg1f0sv5l7nj0bmblq222zk3b09bgg8p";
+  };
+
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p $out/Applications
+    mkdir -p $out/bin
+    cp -r terminal-notifier.app $out/Applications
+    ln -s $out/Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier $out/bin/terminal-notifier
+  '';
+
+  meta = with lib; {
+    maintainers = with maintainers; [ cstrahan ];
+    platforms   = with platforms; darwin;
+  };
+}
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix
new file mode 100644
index 00000000000..7c1fe5fc5cb
--- /dev/null
+++ b/pkgs/applications/misc/termite/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, pkgconfig, vte, gtk, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "termite-${version}";
+  version = "9";
+
+  src = fetchgit {
+    url = "https://github.com/thestinger/termite";
+    rev = "refs/tags/v${version}";
+    sha256 = "0bnzfjk5yl5i96v5jnlvrz0d1jcp5lal6ppl7y8wx13166i6sdnh";
+  };
+
+  makeFlags = "VERSION=v${version}";
+
+  buildInputs = [pkgconfig vte gtk ncurses];
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "A simple VTE-based terminal";
+    license = licenses.lgpl2Plus;
+    homepage = https://github.com/thestinger/termite/;
+    maintainers = [ maintainers.koral ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/tessel/default.nix b/pkgs/applications/misc/tessel/default.nix
new file mode 100644
index 00000000000..6a11713c750
--- /dev/null
+++ b/pkgs/applications/misc/tessel/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, callPackage, libusb1, pkgconfig, python, utillinux }:
+
+with stdenv.lib;
+
+let 
+  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
+    neededNatives =  [ libusb1 pkgconfig python utillinux ];
+    self = nodePackages;
+    generated = ./package.nix;
+  };
+
+in nodePackages.buildNodePackage rec {
+  name = "tessel-0.3.16";
+  bin = true;
+  
+  src = [
+    (fetchurl {
+      url = "http://registry.npmjs.org/tessel/-/tessel-0.3.16.tgz";
+      name = "tessel-0.3.16.tgz";
+      sha1 = "900a8d897ba03d7a9d5927697180284772d70738";
+    })
+  ];
+
+  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+
+  postInstall = ''
+    mkdir -p $out/etc/udev/rules.d
+    cp $out/lib/node_modules/tessel/install/85-tessel.rules $out/etc/udev/rules.d/
+  '';
+  
+  passthru.names = [ "tessel" ];
+
+  meta = {
+    description = "Command line tools and programmatic access library for Tessel devices";
+    homepage = https://tessel.io;
+    license = licenses.mit;
+    maintainers = with maintainers; [ goibhniu ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/tessel/package.nix b/pkgs/applications/misc/tessel/package.nix
new file mode 100644
index 00000000000..d388387ccaf
--- /dev/null
+++ b/pkgs/applications/misc/tessel/package.nix
@@ -0,0 +1,1974 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."abbrev"."1" =
+    self.by-version."abbrev"."1.0.5";
+  by-version."abbrev"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "abbrev-1.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
+        name = "abbrev-1.0.5.tgz";
+        sha1 = "5d8257bd9ebe435e698b2fa431afde4fe7b10b03";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."abbrev" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "abbrev" ];
+  };
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "asn1-0.1.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        name = "asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."asn1" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "asn1" ];
+  };
+  by-spec."assert-plus"."0.1.2" =
+    self.by-version."assert-plus"."0.1.2";
+  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "assert-plus-0.1.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+        name = "assert-plus-0.1.2.tgz";
+        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."assert-plus" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "assert-plus" ];
+  };
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "async-0.2.10";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+        name = "async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."async" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "async" ];
+  };
+  "async" = self.by-version."async"."0.2.10";
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.0";
+  by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "async-0.9.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+        name = "async-0.9.0.tgz";
+        sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."async" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "async" ];
+  };
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sign2-0.5.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        name = "aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."aws-sign2" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "aws-sign2" ];
+  };
+  by-spec."bindings-shyp"."~0.2.3" =
+    self.by-version."bindings-shyp"."0.2.3";
+  by-version."bindings-shyp"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "bindings-shyp-0.2.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bindings-shyp/-/bindings-shyp-0.2.3.tgz";
+        name = "bindings-shyp-0.2.3.tgz";
+        sha1 = "909151c14c701f350eb6be8ad14784ad79813671";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bindings-shyp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bindings-shyp" ];
+  };
+  by-spec."block-stream"."*" =
+    self.by-version."block-stream"."0.0.7";
+  by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "block-stream-0.0.7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+        name = "block-stream-0.0.7.tgz";
+        sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."block-stream" or []);
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "block-stream" ];
+  };
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "boom-0.4.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        name = "boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."boom" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "boom" ];
+  };
+  by-spec."buffer-equal"."~0.0.0" =
+    self.by-version."buffer-equal"."0.0.1";
+  by-version."buffer-equal"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "buffer-equal-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz";
+        name = "buffer-equal-0.0.1.tgz";
+        sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffer-equal" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "buffer-equal" ];
+  };
+  by-spec."bunker"."0.1.X" =
+    self.by-version."bunker"."0.1.2";
+  by-version."bunker"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "bunker-0.1.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz";
+        name = "bunker-0.1.2.tgz";
+        sha1 = "c88992464a8e2a6ede86930375f92b58077ef97c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bunker" or []);
+    deps = {
+      "burrito-0.2.12" = self.by-version."burrito"."0.2.12";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bunker" ];
+  };
+  by-spec."burrito".">=0.2.5 <0.3" =
+    self.by-version."burrito"."0.2.12";
+  by-version."burrito"."0.2.12" = lib.makeOverridable self.buildNodePackage {
+    name = "burrito-0.2.12";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz";
+        name = "burrito-0.2.12.tgz";
+        sha1 = "d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."burrito" or []);
+    deps = {
+      "traverse-0.5.2" = self.by-version."traverse"."0.5.2";
+      "uglify-js-1.1.1" = self.by-version."uglify-js"."1.1.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "burrito" ];
+  };
+  by-spec."charm"."0.1.x" =
+    self.by-version."charm"."0.1.2";
+  by-version."charm"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "charm-0.1.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
+        name = "charm-0.1.2.tgz";
+        sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."charm" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "charm" ];
+  };
+  by-spec."colony-compiler"."~0.6.21" =
+    self.by-version."colony-compiler"."0.6.23";
+  by-version."colony-compiler"."0.6.23" = lib.makeOverridable self.buildNodePackage {
+    name = "colony-compiler-0.6.23";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colony-compiler/-/colony-compiler-0.6.23.tgz";
+        name = "colony-compiler-0.6.23.tgz";
+        sha1 = "0bef9e899e1ae928f6fe5e0dcca6cab4d47ab448";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colony-compiler" or []);
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "optimist-0.5.2" = self.by-version."optimist"."0.5.2";
+      "nan-1.0.0" = self.by-version."nan"."1.0.0";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "bindings-shyp-0.2.3" = self.by-version."bindings-shyp"."0.2.3";
+      # "colony-compiler-shyp-win32-ia32-0.6.17-1" = self.by-version."colony-compiler-shyp-win32-ia32"."0.6.17-1";
+      # "colony-compiler-shyp-win32-x64-0.6.17-0" = self.by-version."colony-compiler-shyp-win32-x64"."0.6.17-0";
+      # "colony-compiler-shyp-darwin-x64-0.6.17-0" = self.by-version."colony-compiler-shyp-darwin-x64"."0.6.17-0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "colony-compiler" ];
+  };
+  "colony-compiler" = self.by-version."colony-compiler"."0.6.23";
+  by-spec."colony-compiler-shyp-darwin-x64"."0.6.x" =
+    self.by-version."colony-compiler-shyp-darwin-x64"."0.6.17-0";
+  by-version."colony-compiler-shyp-darwin-x64"."0.6.17-0" = lib.makeOverridable self.buildNodePackage {
+    name = "colony-compiler-shyp-darwin-x64-0.6.17-0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colony-compiler-shyp-darwin-x64/-/colony-compiler-shyp-darwin-x64-0.6.17-0.tgz";
+        name = "colony-compiler-shyp-darwin-x64-0.6.17-0.tgz";
+        sha1 = "33eedbee7ff8679fde69ba03bf27777110113732";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colony-compiler-shyp-darwin-x64" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "colony-compiler-shyp-darwin-x64" ];
+  };
+  by-spec."colony-compiler-shyp-win32-ia32"."0.6.x" =
+    self.by-version."colony-compiler-shyp-win32-ia32"."0.6.17-1";
+  by-version."colony-compiler-shyp-win32-ia32"."0.6.17-1" = lib.makeOverridable self.buildNodePackage {
+    name = "colony-compiler-shyp-win32-ia32-0.6.17-1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colony-compiler-shyp-win32-ia32/-/colony-compiler-shyp-win32-ia32-0.6.17-1.tgz";
+        name = "colony-compiler-shyp-win32-ia32-0.6.17-1.tgz";
+        sha1 = "6e11a978be5df7be00112d2a349d5e34925f443a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colony-compiler-shyp-win32-ia32" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "colony-compiler-shyp-win32-ia32" ];
+  };
+  by-spec."colony-compiler-shyp-win32-x64"."0.6.x" =
+    self.by-version."colony-compiler-shyp-win32-x64"."0.6.17-0";
+  by-version."colony-compiler-shyp-win32-x64"."0.6.17-0" = lib.makeOverridable self.buildNodePackage {
+    name = "colony-compiler-shyp-win32-x64-0.6.17-0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colony-compiler-shyp-win32-x64/-/colony-compiler-shyp-win32-x64-0.6.17-0.tgz";
+        name = "colony-compiler-shyp-win32-x64-0.6.17-0.tgz";
+        sha1 = "cd30416df0ab52e49c74e81d69bd23329983d005";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colony-compiler-shyp-win32-x64" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "colony-compiler-shyp-win32-x64" ];
+  };
+  by-spec."colors"."0.5.x" =
+    self.by-version."colors"."0.5.1";
+  by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "colors-0.5.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
+        name = "colors-0.5.1.tgz";
+        sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colors" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "colors" ];
+  };
+  by-spec."colors"."~0.6.0-1" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "colors-0.6.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+        name = "colors-0.6.2.tgz";
+        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colors" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "colors" ];
+  };
+  "colors" = self.by-version."colors"."0.6.2";
+  by-spec."colors"."~0.6.1" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colorsafeconsole"."0.0.4" =
+    self.by-version."colorsafeconsole"."0.0.4";
+  by-version."colorsafeconsole"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "colorsafeconsole-0.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colorsafeconsole/-/colorsafeconsole-0.0.4.tgz";
+        name = "colorsafeconsole-0.0.4.tgz";
+        sha1 = "dc10508bb000e51964fb485fd8557faa169effbe";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colorsafeconsole" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "colorsafeconsole" ];
+  };
+  "colorsafeconsole" = self.by-version."colorsafeconsole"."0.0.4";
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.7";
+  by-version."combined-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
+    name = "combined-stream-0.0.7";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+        name = "combined-stream-0.0.7.tgz";
+        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."combined-stream" or []);
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "combined-stream" ];
+  };
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "cryptiles-0.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        name = "cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cryptiles" or []);
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cryptiles" ];
+  };
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "ctype-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+        name = "ctype-0.5.2.tgz";
+        sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ctype" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ctype" ];
+  };
+  by-spec."debug"."^0.8.1" =
+    self.by-version."debug"."0.8.1";
+  by-version."debug"."0.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-0.8.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
+        name = "debug-0.8.1.tgz";
+        sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
+  "debug" = self.by-version."debug"."0.8.1";
+  by-spec."deep-equal"."~0.0.0" =
+    self.by-version."deep-equal"."0.0.0";
+  by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "deep-equal-0.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+        name = "deep-equal-0.0.0.tgz";
+        sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."deep-equal" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "deep-equal" ];
+  };
+  by-spec."deep-equal"."~0.2.0" =
+    self.by-version."deep-equal"."0.2.1";
+  by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "deep-equal-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
+        name = "deep-equal-0.2.1.tgz";
+        sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."deep-equal" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "deep-equal" ];
+  };
+  by-spec."deep-is"."0.1.x" =
+    self.by-version."deep-is"."0.1.3";
+  by-version."deep-is"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "deep-is-0.1.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+        name = "deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."deep-is" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "deep-is" ];
+  };
+  by-spec."defined"."~0.0.0" =
+    self.by-version."defined"."0.0.0";
+  by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "defined-0.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
+        name = "defined-0.0.0.tgz";
+        sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."defined" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "defined" ];
+  };
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        name = "delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."delayed-stream" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "delayed-stream" ];
+  };
+  by-spec."difflet"."~0.2.0" =
+    self.by-version."difflet"."0.2.6";
+  by-version."difflet"."0.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "difflet-0.2.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz";
+        name = "difflet-0.2.6.tgz";
+        sha1 = "ab23b31f5649b6faa8e3d2acbd334467365ca6fa";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."difflet" or []);
+    deps = {
+      "traverse-0.6.6" = self.by-version."traverse"."0.6.6";
+      "charm-0.1.2" = self.by-version."charm"."0.1.2";
+      "deep-is-0.1.3" = self.by-version."deep-is"."0.1.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "difflet" ];
+  };
+  by-spec."effess"."~0.0.2" =
+    self.by-version."effess"."0.0.5";
+  by-version."effess"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "effess-0.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/effess/-/effess-0.0.5.tgz";
+        name = "effess-0.0.5.tgz";
+        sha1 = "d328fd03929c168c02a63d9d3d889657dc9499db";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."effess" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "effess" ];
+  };
+  by-spec."effess"."~0.0.5" =
+    self.by-version."effess"."0.0.5";
+  "effess" = self.by-version."effess"."0.0.5";
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "forever-agent-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        name = "forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."forever-agent" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "forever-agent" ];
+  };
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.4";
+  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "form-data-0.1.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        name = "form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."form-data" or []);
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "form-data" ];
+  };
+  by-spec."fstream"."~0.1.25" =
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "fstream-0.1.31";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        name = "fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fstream" or []);
+    deps = {
+      "graceful-fs-3.0.4" = self.by-version."graceful-fs"."3.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "fstream" ];
+  };
+  "fstream" = self.by-version."fstream"."0.1.31";
+  by-spec."fstream"."~0.1.28" =
+    self.by-version."fstream"."0.1.31";
+  by-spec."glob"."~3.2.1" =
+    self.by-version."glob"."3.2.11";
+  by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+        name = "glob-3.2.11.tgz";
+        sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."glob" or []);
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "glob" ];
+  };
+  by-spec."glob"."~3.2.9" =
+    self.by-version."glob"."3.2.11";
+  by-spec."graceful-fs"."~1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "graceful-fs-1.2.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+        name = "graceful-fs-1.2.3.tgz";
+        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."graceful-fs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "graceful-fs" ];
+  };
+  by-spec."graceful-fs"."~3.0.2" =
+    self.by-version."graceful-fs"."3.0.4";
+  by-version."graceful-fs"."3.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "graceful-fs-3.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.4.tgz";
+        name = "graceful-fs-3.0.4.tgz";
+        sha1 = "a0306d9b0940e0fc512d33b5df1014e88e0637a3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."graceful-fs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "graceful-fs" ];
+  };
+  by-spec."hardware-resolve"."~0.1.3" =
+    self.by-version."hardware-resolve"."0.1.6";
+  by-version."hardware-resolve"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "hardware-resolve-0.1.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hardware-resolve/-/hardware-resolve-0.1.6.tgz";
+        name = "hardware-resolve-0.1.6.tgz";
+        sha1 = "b03f5077ab1b4b185ecd9486a3ba754f4b46e02a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hardware-resolve" or []);
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "effess-0.0.5" = self.by-version."effess"."0.0.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "hardware-resolve" ];
+  };
+  "hardware-resolve" = self.by-version."hardware-resolve"."0.1.6";
+  by-spec."hawk"."~1.0.0" =
+    self.by-version."hawk"."1.0.0";
+  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        name = "hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hawk" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "hawk" ];
+  };
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "hoek-0.9.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        name = "hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hoek" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "hoek" ];
+  };
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-signature-0.10.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+        name = "http-signature-0.10.0.tgz";
+        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."http-signature" or []);
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "http-signature" ];
+  };
+  by-spec."humanize"."0.0.9" =
+    self.by-version."humanize"."0.0.9";
+  by-version."humanize"."0.0.9" = lib.makeOverridable self.buildNodePackage {
+    name = "humanize-0.0.9";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
+        name = "humanize-0.0.9.tgz";
+        sha1 = "1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."humanize" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "humanize" ];
+  };
+  "humanize" = self.by-version."humanize"."0.0.9";
+  by-spec."inherits"."*" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "inherits-2.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        name = "inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."inherits" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "inherits" ];
+  };
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."inherits"."~2.0.0" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "json-stringify-safe-5.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+        name = "json-stringify-safe-5.0.0.tgz";
+        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."json-stringify-safe" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "json-stringify-safe" ];
+  };
+  by-spec."keypress"."~0.2.1" =
+    self.by-version."keypress"."0.2.1";
+  by-version."keypress"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "keypress-0.2.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz";
+        name = "keypress-0.2.1.tgz";
+        sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."keypress" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "keypress" ];
+  };
+  "keypress" = self.by-version."keypress"."0.2.1";
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.5.0";
+  by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lru-cache-2.5.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+        name = "lru-cache-2.5.0.tgz";
+        sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lru-cache" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lru-cache" ];
+  };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-1.2.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        name = "mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime" ];
+  };
+  by-spec."mime"."~1.2.9" =
+    self.by-version."mime"."1.2.11";
+  by-spec."minimatch"."0.3" =
+    self.by-version."minimatch"."0.3.0";
+  by-version."minimatch"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
+        name = "minimatch-0.3.0.tgz";
+        sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch" or []);
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
+  by-spec."minimatch"."~0.2.14" =
+    self.by-version."minimatch"."0.2.14";
+  by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.2.14";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+        name = "minimatch-0.2.14.tgz";
+        sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch" or []);
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
+  by-spec."minimist"."0.0.8" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "minimist-0.0.8";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        name = "minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimist" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimist" ];
+  };
+  by-spec."mkdirp"."0.5" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.5.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+        name = "mkdirp-0.5.0.tgz";
+        sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  by-spec."mkdirp"."~0.3 || 0.4 || 0.5" =
+    self.by-version."mkdirp"."0.5.0";
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.3.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+        name = "mkdirp-0.3.5.tgz";
+        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  "mkdirp" = self.by-version."mkdirp"."0.3.5";
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
+  by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "mute-stream-0.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
+        name = "mute-stream-0.0.4.tgz";
+        sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mute-stream" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mute-stream" ];
+  };
+  by-spec."my-local-ip"."~1.0.0" =
+    self.by-version."my-local-ip"."1.0.0";
+  by-version."my-local-ip"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "my-local-ip-1.0.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/my-local-ip/-/my-local-ip-1.0.0.tgz";
+        name = "my-local-ip-1.0.0.tgz";
+        sha1 = "37585555a4ff1985309edac7c2a045a466be6c32";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."my-local-ip" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "my-local-ip" ];
+  };
+  "my-local-ip" = self.by-version."my-local-ip"."1.0.0";
+  by-spec."nan"."~1.0.0" =
+    self.by-version."nan"."1.0.0";
+  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "nan-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+        name = "nan-1.0.0.tgz";
+        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nan" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "nan" ];
+  };
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uuid-1.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+        name = "node-uuid-1.4.1.tgz";
+        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."node-uuid" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "node-uuid" ];
+  };
+  by-spec."nomnom"."~1.6.2" =
+    self.by-version."nomnom"."1.6.2";
+  by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "nomnom-1.6.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
+        name = "nomnom-1.6.2.tgz";
+        sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nomnom" or []);
+    deps = {
+      "colors-0.5.1" = self.by-version."colors"."0.5.1";
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "nomnom" ];
+  };
+  "nomnom" = self.by-version."nomnom"."1.6.2";
+  by-spec."nopt"."~2" =
+    self.by-version."nopt"."2.2.1";
+  by-version."nopt"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "nopt-2.2.1";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
+        name = "nopt-2.2.1.tgz";
+        sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nopt" or []);
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "nopt" ];
+  };
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "oauth-sign-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+        name = "oauth-sign-0.3.0.tgz";
+        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."oauth-sign" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "oauth-sign" ];
+  };
+  by-spec."object-inspect"."~0.4.0" =
+    self.by-version."object-inspect"."0.4.0";
+  by-version."object-inspect"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "object-inspect-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz";
+        name = "object-inspect-0.4.0.tgz";
+        sha1 = "f5157c116c1455b243b06ee97703392c5ad89fec";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."object-inspect" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "object-inspect" ];
+  };
+  by-spec."optimist"."~0.5.2" =
+    self.by-version."optimist"."0.5.2";
+  by-version."optimist"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "optimist-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/optimist/-/optimist-0.5.2.tgz";
+        name = "optimist-0.5.2.tgz";
+        sha1 = "85c8c1454b3315e4a78947e857b1df033450bfbc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."optimist" or []);
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "optimist" ];
+  };
+  by-spec."osenv"."0.0.3" =
+    self.by-version."osenv"."0.0.3";
+  by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "osenv-0.0.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
+        name = "osenv-0.0.3.tgz";
+        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."osenv" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "osenv" ];
+  };
+  by-spec."punycode".">=0.2.0" =
+    self.by-version."punycode"."1.3.2";
+  by-version."punycode"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "punycode-1.3.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+        name = "punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."punycode" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "punycode" ];
+  };
+  by-spec."qs"."~0.6.0" =
+    self.by-version."qs"."0.6.6";
+  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-0.6.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+        name = "qs-0.6.6.tgz";
+        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."read"."^1.0.5" =
+    self.by-version."read"."1.0.5";
+  by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "read-1.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+        name = "read-1.0.5.tgz";
+        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."read" or []);
+    deps = {
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "read" ];
+  };
+  "read" = self.by-version."read"."1.0.5";
+  by-spec."request"."~2.33.0" =
+    self.by-version."request"."2.33.0";
+  by-version."request"."2.33.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.33.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request/-/request-2.33.0.tgz";
+        name = "request-2.33.0.tgz";
+        sha1 = "5167878131726070ec633752ea230a2379dc65ff";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request" or []);
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "request" ];
+  };
+  "request" = self.by-version."request"."2.33.0";
+  by-spec."resumer"."~0.0.0" =
+    self.by-version."resumer"."0.0.0";
+  by-version."resumer"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "resumer-0.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz";
+        name = "resumer-0.0.0.tgz";
+        sha1 = "f1e8f461e4064ba39e82af3cdc2a8c893d076759";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."resumer" or []);
+    deps = {
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "resumer" ];
+  };
+  by-spec."rimraf"."2" =
+    self.by-version."rimraf"."2.2.8";
+  by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
+    name = "rimraf-2.2.8";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+        name = "rimraf-2.2.8.tgz";
+        sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."rimraf" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "rimraf" ];
+  };
+  by-spec."rimraf"."~2.1.4" =
+    self.by-version."rimraf"."2.1.4";
+  by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "rimraf-2.1.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
+        name = "rimraf-2.1.4.tgz";
+        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."rimraf" or []);
+    deps = {
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "rimraf" ];
+  };
+  by-spec."runforcover"."~0.0.2" =
+    self.by-version."runforcover"."0.0.2";
+  by-version."runforcover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "runforcover-0.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz";
+        name = "runforcover-0.0.2.tgz";
+        sha1 = "344f057d8d45d33aebc6cc82204678f69c4857cc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."runforcover" or []);
+    deps = {
+      "bunker-0.1.2" = self.by-version."bunker"."0.1.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "runforcover" ];
+  };
+  by-spec."semver"."^2.3.0" =
+    self.by-version."semver"."2.3.2";
+  by-version."semver"."2.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.3.2";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
+        name = "semver-2.3.2.tgz";
+        sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."semver" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "semver" ];
+  };
+  "semver" = self.by-version."semver"."2.3.2";
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.0";
+  by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "sigmund-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+        name = "sigmund-1.0.0.tgz";
+        sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sigmund" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sigmund" ];
+  };
+  by-spec."slide"."*" =
+    self.by-version."slide"."1.1.6";
+  by-version."slide"."1.1.6" = lib.makeOverridable self.buildNodePackage {
+    name = "slide-1.1.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+        name = "slide-1.1.6.tgz";
+        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."slide" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "slide" ];
+  };
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "sntp-0.2.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        name = "sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sntp" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sntp" ];
+  };
+  by-spec."structured-clone"."~0.2.2" =
+    self.by-version."structured-clone"."0.2.2";
+  by-version."structured-clone"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "structured-clone-0.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/structured-clone/-/structured-clone-0.2.2.tgz";
+        name = "structured-clone-0.2.2.tgz";
+        sha1 = "ac92b6be31958a643db30f1335abc6a1b02dfdc2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."structured-clone" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "structured-clone" ];
+  };
+  "structured-clone" = self.by-version."structured-clone"."0.2.2";
+  by-spec."tap"."~0.4.8" =
+    self.by-version."tap"."0.4.13";
+  by-version."tap"."0.4.13" = lib.makeOverridable self.buildNodePackage {
+    name = "tap-0.4.13";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tap/-/tap-0.4.13.tgz";
+        name = "tap-0.4.13.tgz";
+        sha1 = "3986134d6759727fc2223e61126eeb87243accbc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tap" or []);
+    deps = {
+      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "difflet-0.2.6" = self.by-version."difflet"."0.2.6";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "runforcover-0.0.2" = self.by-version."runforcover"."0.0.2";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "yamlish-0.0.6" = self.by-version."yamlish"."0.0.6";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tap" ];
+  };
+  "tap" = self.by-version."tap"."0.4.13";
+  by-spec."tape"."~2.12.3" =
+    self.by-version."tape"."2.12.3";
+  by-version."tape"."2.12.3" = lib.makeOverridable self.buildNodePackage {
+    name = "tape-2.12.3";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tape/-/tape-2.12.3.tgz";
+        name = "tape-2.12.3.tgz";
+        sha1 = "5559d5454050292627537c012991ec6971f66156";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tape" or []);
+    deps = {
+      "deep-equal-0.2.1" = self.by-version."deep-equal"."0.2.1";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "object-inspect-0.4.0" = self.by-version."object-inspect"."0.4.0";
+      "resumer-0.0.0" = self.by-version."resumer"."0.0.0";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tape" ];
+  };
+  "tape" = self.by-version."tape"."2.12.3";
+  by-spec."tar"."~0.1.18" =
+    self.by-version."tar"."0.1.20";
+  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
+    name = "tar-0.1.20";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+        name = "tar-0.1.20.tgz";
+        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tar" or []);
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tar" ];
+  };
+  "tar" = self.by-version."tar"."0.1.20";
+  by-spec."temp"."~0.6.0" =
+    self.by-version."temp"."0.6.0";
+  by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "temp-0.6.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
+        name = "temp-0.6.0.tgz";
+        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."temp" or []);
+    deps = {
+      "rimraf-2.1.4" = self.by-version."rimraf"."2.1.4";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "temp" ];
+  };
+  "temp" = self.by-version."temp"."0.6.0";
+  by-spec."through"."~2.3.4" =
+    self.by-version."through"."2.3.6";
+  by-version."through"."2.3.6" = lib.makeOverridable self.buildNodePackage {
+    name = "through-2.3.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/through/-/through-2.3.6.tgz";
+        name = "through-2.3.6.tgz";
+        sha1 = "26681c0f524671021d4e29df7c36bce2d0ecf2e8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."through" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "through" ];
+  };
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."0.12.1";
+  by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "tough-cookie-0.12.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+        name = "tough-cookie-0.12.1.tgz";
+        sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tough-cookie" or []);
+    deps = {
+      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tough-cookie" ];
+  };
+  by-spec."traverse"."0.6.x" =
+    self.by-version."traverse"."0.6.6";
+  by-version."traverse"."0.6.6" = lib.makeOverridable self.buildNodePackage {
+    name = "traverse-0.6.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
+        name = "traverse-0.6.6.tgz";
+        sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."traverse" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "traverse" ];
+  };
+  by-spec."traverse"."~0.5.1" =
+    self.by-version."traverse"."0.5.2";
+  by-version."traverse"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "traverse-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz";
+        name = "traverse-0.5.2.tgz";
+        sha1 = "e203c58d5f7f0e37db6e74c0acb929bb09b61d85";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."traverse" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "traverse" ];
+  };
+  by-spec."tunnel-agent"."~0.3.0" =
+    self.by-version."tunnel-agent"."0.3.0";
+  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "tunnel-agent-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+        name = "tunnel-agent-0.3.0.tgz";
+        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tunnel-agent" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tunnel-agent" ];
+  };
+  by-spec."uglify-js"."~1.1.1" =
+    self.by-version."uglify-js"."1.1.1";
+  by-version."uglify-js"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-1.1.1";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz";
+        name = "uglify-js-1.1.1.tgz";
+        sha1 = "ee71a97c4cefd06a1a9b20437f34118982aa035b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uglify-js" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "uglify-js" ];
+  };
+  by-spec."underscore"."~1.4.4" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore-1.4.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        name = "underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore" ];
+  };
+  by-spec."usb"."~0.3.11" =
+    self.by-version."usb"."0.3.11";
+  by-version."usb"."0.3.11" = lib.makeOverridable self.buildNodePackage {
+    name = "usb-0.3.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/usb/-/usb-0.3.11.tgz";
+        name = "usb-0.3.11.tgz";
+        sha1 = "ee61d114181fd1de8738053920cde069d0aa428e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."usb" or []);
+    deps = {
+      "bindings-shyp-0.2.3" = self.by-version."bindings-shyp"."0.2.3";
+      # "usb-shyp-win32-x64-0.3.11-0" = self.by-version."usb-shyp-win32-x64"."0.3.11-0";
+      # "usb-shyp-win32-ia32-0.3.11-0" = self.by-version."usb-shyp-win32-ia32"."0.3.11-0";
+      # "usb-shyp-darwin-x64-0.3.11-0" = self.by-version."usb-shyp-darwin-x64"."0.3.11-0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "usb" ];
+  };
+  "usb" = self.by-version."usb"."0.3.11";
+  by-spec."usb-shyp-darwin-x64"."0.3.x" =
+    self.by-version."usb-shyp-darwin-x64"."0.3.11-0";
+  by-version."usb-shyp-darwin-x64"."0.3.11-0" = lib.makeOverridable self.buildNodePackage {
+    name = "usb-shyp-darwin-x64-0.3.11-0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/usb-shyp-darwin-x64/-/usb-shyp-darwin-x64-0.3.11-0.tgz";
+        name = "usb-shyp-darwin-x64-0.3.11-0.tgz";
+        sha1 = "8e6c98e5dff676576dac02c8a0465f1eae833285";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."usb-shyp-darwin-x64" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "usb-shyp-darwin-x64" ];
+  };
+  by-spec."usb-shyp-win32-ia32"."0.3.x" =
+    self.by-version."usb-shyp-win32-ia32"."0.3.11-0";
+  by-version."usb-shyp-win32-ia32"."0.3.11-0" = lib.makeOverridable self.buildNodePackage {
+    name = "usb-shyp-win32-ia32-0.3.11-0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/usb-shyp-win32-ia32/-/usb-shyp-win32-ia32-0.3.11-0.tgz";
+        name = "usb-shyp-win32-ia32-0.3.11-0.tgz";
+        sha1 = "365babb7f648cb8aff12f70c65445e1b0958bbbb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."usb-shyp-win32-ia32" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "usb-shyp-win32-ia32" ];
+  };
+  by-spec."usb-shyp-win32-x64"."0.3.x" =
+    self.by-version."usb-shyp-win32-x64"."0.3.11-0";
+  by-version."usb-shyp-win32-x64"."0.3.11-0" = lib.makeOverridable self.buildNodePackage {
+    name = "usb-shyp-win32-x64-0.3.11-0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/usb-shyp-win32-x64/-/usb-shyp-win32-x64-0.3.11-0.tgz";
+        name = "usb-shyp-win32-x64-0.3.11-0.tgz";
+        sha1 = "561417f00ab33c9d990a56e3a4ee446a21a3fcbe";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."usb-shyp-win32-x64" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "usb-shyp-win32-x64" ];
+  };
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.2";
+  by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "wordwrap-0.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        name = "wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."wordwrap" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "wordwrap" ];
+  };
+  by-spec."yamlish"."*" =
+    self.by-version."yamlish"."0.0.6";
+  by-version."yamlish"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "yamlish-0.0.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/yamlish/-/yamlish-0.0.6.tgz";
+        name = "yamlish-0.0.6.tgz";
+        sha1 = "c5df8f7661731351e39eb52223f83a46659452e3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."yamlish" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "yamlish" ];
+  };
+}
diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix
new file mode 100644
index 00000000000..187ab039014
--- /dev/null
+++ b/pkgs/applications/misc/tilda/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig
+, autoreconfHook, gettext, expat
+, confuse, vte, gtk
+, makeWrapper }:
+
+stdenv.mkDerivation rec {
+
+  name = "tilda-${version}";
+  version = "1.2.2";
+
+  src = fetchurl {
+    url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz";
+    sha256 = "1mzly0llsrxpc2yd1hml3gmwm023my2j3aszjw383pp34dab2nl5";
+  };
+
+  buildInputs = [ pkgconfig autoreconfHook gettext confuse vte gtk makeWrapper ];
+
+  LD_LIBRARY_PATH = "${expat}/lib"; # ugly hack for xgettext to work during build
+
+  postInstall = ''
+    wrapProgram "$out/bin/tilda" \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Gtk based drop down terminal for Linux and Unix";
+    homepage = https://github.com/lanoxx/tilda/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix
index 65c2ccb5ff0..e2a21822acd 100644
--- a/pkgs/applications/misc/twmn/default.nix
+++ b/pkgs/applications/misc/twmn/default.nix
@@ -1,19 +1,20 @@
-{ fetchurl, stdenv, fetchgit, qt4, pkgconfig, boost, dbus }:
+{ fetchurl, stdenv, fetchgit, qt5, pkgconfig, boost }:
 
 stdenv.mkDerivation rec {
-  rev = "9f52882688ba03d7aaab2e3fd83cb05cfbf1a374";
-  name = "twmn-${rev}";
+  name = "twmn-git-2014-09-23";
 
   src = fetchgit {
-    inherit rev;
     url = "https://github.com/sboli/twmn.git";
-    sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
+    rev = "9492a47e25547e602dd57efd807033677c90b150";
+    sha256 = "9c91e9d3d6d7f9d90d34da6f1a4b9f3dee65605c1e43729417d6921c54dded6b";
   };
 
-  buildInputs = [ qt4 pkgconfig boost ];
-  propagatedBuildInputs = [ dbus ];
+  buildInputs = [ qt5.base qt5.x11extras pkgconfig boost ];
 
-  configurePhase = "qmake";
+  configurePhase = ''
+    sed -i s/-Werror// twmnd/twmnd.pro
+    qmake
+  '';
 
   installPhase = ''
     mkdir -p "$out/bin"
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 5abf57ae1fc..5ff010005e4 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -1,18 +1,18 @@
-{ pkgs, fetchurl, stdenv, ncurses, utillinux, file, libX11 }:
+{ pkgs, fetchurl, stdenv, ncurses, utillinux, file, libX11, which, groff }:
 
 let
   name = "vifm-${version}";
-  version = "0.7.7";
+  version = "0.7.8";
 
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
-    sha256 = "1lflmkd5q7qqi9d44py0y41pcx5bsadkihn3gc0x5cka04f2gh0d";
+    sha256 = "00vnkr60ci6qwh95kzx399xm97g26svxl9i0y77qv99q41nb5ysx";
   };
 
-  buildInputs = [ utillinux ncurses file libX11 ];
+  buildInputs = [ utillinux ncurses file libX11 which groff ];
 
   meta = {
     description = "A vi-like file manager";
diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix
index 542f11f6e67..5133ad3c29e 100644
--- a/pkgs/applications/misc/vue/default.nix
+++ b/pkgs/applications/misc/vue/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , jre, unzip
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -32,11 +32,11 @@ rec {
   doDeploy = a.fullDepEntry ''
     mkdir -p "$out"/{share/vue,bin}
     cp ${src} "$out/share/vue/vue.jar"
-    echo '#!${a.stdenv.shell}' >> "$out/bin/vue" 
-    echo '${a.jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue" 
+    echo '#!${a.stdenv.shell}' >> "$out/bin/vue"
+    echo '${a.jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue"
     chmod a+x "$out/bin/vue"
   '' ["addInputs" "defEnsureDir"];
-      
+
   meta = {
     description = "Visual Understanding Environment - mind mapping software";
     maintainers = with a.lib.maintainers;
@@ -45,7 +45,6 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "free-noncopyleft"; # Apache License fork, actually
+    license = a.lib.licenses.free; # Apache License fork, actually
   };
 }) x
-
diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix
index c23be51c3e8..b1cfbd5d9ac 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     qmake PREFIX="$out"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A mind-mapping software";
     longDescription = ''
       VYM (View Your Mind) is a tool to generate and manipulate maps which show your thoughts.
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
       vym offers much more features to work with such maps.
     '';
     homepage = http://www.insilmaril.de/vym/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainer = stdenv.lib.maintainers.AndersonTorres;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
new file mode 100644
index 00000000000..f0f0b00c927
--- /dev/null
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, autoconf, automake, gettext, intltool, libtool, pkgconfig,
+  libXtst, cheetah, libXScrnSaver,
+  glib, glibmm,
+  gtk, gtkmm,
+  atk,
+  pango, pangomm,
+  cairo, cairomm,
+  dbus, dbus_glib,
+  GConf, gconfmm,
+  gdome2, gstreamer, libsigcxx }:
+
+stdenv.mkDerivation rec {
+  version = "v1_10_6";
+  name = "workrave-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/rcaelers/workrave/archive/${version}.tar.gz";
+    sha256 = "0q2p83n33chbqzdcdm7ykfsy73frfi6drxzm4qidxwzpzsxrysgq";
+  };
+
+  buildInputs = [
+    autoconf automake gettext intltool libtool pkgconfig libXtst cheetah
+    libXScrnSaver
+
+    glib glibmm gtk gtkmm atk pango pangomm cairo cairomm
+    dbus dbus_glib GConf gconfmm gdome2 gstreamer libsigcxx
+  ];
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    description = "A program to help prevent Repetitive Strain Injury";
+    longDescription = ''
+      Workrave is a program that assists in the recovery and prevention of
+      Repetitive Strain Injury (RSI). The program frequently alerts you to
+      take micro-pauses, rest breaks and restricts you to your daily limit.
+    '';
+    homepage = http://www.workrave.org/;
+    downloadPage = https://github.com/rcaelers/workrave/releases;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ prikhi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/xca/0001-Fix-for-openssl-1.0.1i.patch b/pkgs/applications/misc/xca/0001-Fix-for-openssl-1.0.1i.patch
new file mode 100644
index 00000000000..9bfe3831c4a
--- /dev/null
+++ b/pkgs/applications/misc/xca/0001-Fix-for-openssl-1.0.1i.patch
@@ -0,0 +1,57 @@
+From abd9d530776e8bb6d8f05312fc3ae3044796139c Mon Sep 17 00:00:00 2001
+From: Oliver Winker <oliver@oli1170.net>
+Date: Tue, 12 Aug 2014 19:08:05 +0200
+Subject: [PATCH] Fix for openssl 1.0.1i
+
+Fixes following application error
+---
+Errors
+error:0D0C40D8:asn1 encoding routines:c2i_ASN1_OBJECT:invalid object encoding error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error error:0D0C40D8:asn1 encoding routines:c2i_ASN1_OBJECT:invalid object encoding error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error error:0D0C40D8:asn1 encoding routines:c2i_ASN1_OBJECT:invalid object encoding error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error error:0D0C40D8:asn1 encoding routines:c2i_ASN1_OBJECT:invalid object encoding error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error error:0D0C40D8:asn1 encoding routines:c2i_ASN1_OBJECT:invalid object encoding error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
+---
+
+Due to openssl 1.0.1i change:
+---
+commit 03b04ddac162c7b7fa3c57eadccc5a583a00d291
+Author: Emilia Kasper <emilia@openssl.org>
+Date:   Wed Jul 2 19:02:33 2014 +0200
+
+    Fix OID handling:
+
+    - Upon parsing, reject OIDs with invalid base-128 encoding.
+    - Always NUL-terminate the destination buffer in OBJ_obj2txt printing function.
+
+    CVE-2014-3508
+
+    Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
+    Reviewed-by: Kurt Roeckx <kurt@openssl.org>
+    Reviewed-by: Tim Hudson <tjh@openssl.org>
+---
+---
+ lib/x509v3ext.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lib/x509v3ext.cpp b/lib/x509v3ext.cpp
+index cf74c32..d94cbda 100644
+--- a/lib/x509v3ext.cpp
++++ b/lib/x509v3ext.cpp
+@@ -27,6 +27,8 @@ x509v3ext::x509v3ext(const X509_EXTENSION *n)
+ x509v3ext::x509v3ext(const x509v3ext &n)
+ {
+ 	ext = NULL;
++	if (!n.isValid())
++		return;
+ 	set(n.ext);
+ }
+ 
+@@ -743,7 +745,7 @@ X509_EXTENSION *x509v3ext::get() const
+ 
+ bool x509v3ext::isValid() const
+ {
+-	return ext->value->length > 0 &&
++	return ext && ext->value && ext->value->length > 0 &&
+ 		OBJ_obj2nid(ext->object) != NID_undef;
+ }
+ 
+-- 
+2.0.1
+
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index 09edb086c9f..d5fa5e5ec56 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fn6kh8mdy65rrgjif7j9wn3mxg1mrrcnhzpi86hfy24ic6bahk8";
   };
 
+  patches = [ ./0001-Fix-for-openssl-1.0.1i.patch ];
+
   configurePhase = ''
     export PATH=$PATH:${which}/bin
     export QTDIR=${qt4}
@@ -17,7 +19,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/bin/xca" \
-      --prefix LD_LIBRARY_PATH : "${qt4}/lib:${gcc.gcc}/lib:${gcc.gcc}/lib64:${openssl}/lib:${libtool}/lib"
+      --prefix LD_LIBRARY_PATH : "${qt4}/lib:${gcc.cc}/lib:${gcc.cc}/lib64:${openssl}/lib:${libtool}/lib"
   '';
 
   buildInputs = [ openssl qt4 libtool gcc makeWrapper ];
@@ -28,6 +30,5 @@ stdenv.mkDerivation rec {
     homepage = http://xca.sourceforge.net/;
     platforms = platforms.all;
     license = licenses.bsd3;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix
index e216b19fab5..5055ac50089 100644
--- a/pkgs/applications/misc/xfe/default.nix
+++ b/pkgs/applications/misc/xfe/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fox, pkgconfig, gettext, x11, gcc, intltool, file, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "xfe-1.34";
+  name = "xfe-1.37";
 
   src = fetchurl {
     url = "mirror://sourceforge/xfe/${name}.tar.gz";
-    sha256 = "0y6gi8vdvw1prz7dv7wadf7v8gl6g75jrlrl5jnsb71l1431ncay";
+    sha256 = "1g9a0bpny2m7ixgxpqjh0wvh2x6d0lpj6682zn5dfqwan4j2xfsd";
   };
 
   buildInputs = [ fox pkgconfig gettext x11 gcc intltool file libpng ];
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index 2bb05fe44e0..15d054c2be2 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Allows testing the fonts available in an X server";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix
new file mode 100644
index 00000000000..78d49939677
--- /dev/null
+++ b/pkgs/applications/misc/xiphos/default.nix
@@ -0,0 +1,60 @@
+{stdenv, fetchurl, pkgconfig
+, python
+, intltool
+, docbook2x, docbook_xml_dtd_412, libxslt
+, sword, clucene_core
+, gnome_doc_utils
+, libgsf, gconf
+, gtkhtml, libgtkhtml, libglade, scrollkeeper
+, webkitgtk
+, dbus_glib, enchant, isocodes, libuuid
+}:
+
+stdenv.mkDerivation rec {
+  name = "xiphos-${version}";  
+  version = "4.0.0";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/gnomesword/Xiphos/${version}/${name}.tar.gz";
+    sha256 = "0rk9xhnaqm17af9ppjf2yqpy9p8s0z7m5ax586b7p16lylcqjh68";
+  };
+
+  buildInputs = [ pkgconfig python intltool docbook2x docbook_xml_dtd_412 libxslt
+                  sword clucene_core gnome_doc_utils libgsf gconf gtkhtml libgtkhtml
+                  libglade scrollkeeper webkitgtk dbus_glib enchant isocodes libuuid ];
+
+  prePatch = ''
+    patchShebangs .;
+  '';
+
+  preConfigure =  ''
+    export CLUCENE_HOME=${clucene_core};
+    export SWORD_HOME=${sword};
+  '';
+  
+  configurePhase = ''
+    python waf configure --prefix=$out    
+  '';
+  
+  buildPhase = ''
+    python waf build
+  '';
+
+  installPhase = ''
+    python waf install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A GTK Bible study tool";
+    longDescription = ''
+    Xiphos (formerly known as GnomeSword) is a Bible study tool
+    written for Linux, UNIX, and Windows using GTK, offering a rich
+    and featureful environment for reading, study, and research using
+    modules from The SWORD Project and elsewhere.
+    '';
+    homepage = http://www.xiphos.org/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/xkblayout-state/default.nix b/pkgs/applications/misc/xkblayout-state/default.nix
new file mode 100644
index 00000000000..4ff838db653
--- /dev/null
+++ b/pkgs/applications/misc/xkblayout-state/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "xkblayout-state-${version}";
+  version = "1b";
+
+  src = fetchurl {
+    url = "https://github.com/nonpop/${name}/archive/v${version}.tar.gz";
+    sha256 = "1m1nnplrdb2mclhj0881wf78ckvdnyk24g4k4p5s5gpd96cxxwnx";
+  };
+
+  buildInputs = [ qt4 ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp xkblayout-state $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A small command-line program to get/set the current XKB keyboard layout";
+    homepage = https://github.com/nonpop/xkblayout-state;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.jagajaga ];
+  };
+}
diff --git a/pkgs/applications/misc/xlsfonts/default.nix b/pkgs/applications/misc/xlsfonts/default.nix
index 06b09154ba5..7584ebf72fb 100644
--- a/pkgs/applications/misc/xlsfonts/default.nix
+++ b/pkgs/applications/misc/xlsfonts/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Lists the fonts available in the X server";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 8d73dfebb18..65201f2495b 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,23 +1,23 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, alsaCore, alsaMixer, dbus, filepath, hinotify, HTTP
-, libmpd, libXrandr, mtl, parsec, regexCompat, stm, time
-, timezoneOlson, timezoneSeries, utf8String, wirelesstools, X11
-, X11Xft
+, libmpd, libXpm, libXrandr, mtl, parsec, regexCompat, stm, time
+, timezoneOlson, timezoneSeries, transformers, utf8String
+, wirelesstools, X11, X11Xft
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmobar";
-  version = "0.21";
-  sha256 = "1h0gsb808zm4j4kmw7fl4339wllc16ldy1ki96l8w3fvj30bcxpm";
+  version = "0.22.1";
+  sha256 = "0mnwwcfk0xf4fi3cnw19s6lxcg8sbsdlvg7zwvf5xf0y9q365swz";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     alsaCore alsaMixer dbus filepath hinotify HTTP libmpd mtl parsec
-    regexCompat stm time timezoneOlson timezoneSeries utf8String X11
-    X11Xft
+    regexCompat stm time timezoneOlson timezoneSeries transformers
+    utf8String X11 X11Xft
   ];
-  extraLibraries = [ libXrandr wirelesstools ];
+  extraLibraries = [ libXpm libXrandr wirelesstools ];
   configureFlags = "-fall_extensions";
   meta = {
     homepage = "http://xmobar.org";
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index fdcdd4770d0..2e690dcce09 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -1,5 +1,5 @@
 { enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false
-, stdenv, fetchurl, x11 ? null, motif ? null, freetype ? null, t1lib ? null
+, stdenv, fetchurl, zlib, libpng, x11 ? null, motif ? null, freetype ? null, t1lib ? null
 , base14Fonts ? null
 }:
 
@@ -10,14 +10,14 @@ assert useT1Lib -> t1lib != null;
 assert !useT1Lib; # t1lib has multiple unpatched security vulnerabilities
 
 stdenv.mkDerivation {
-  name = "xpdf-3.03";
+  name = "xpdf-3.04";
 
   src = fetchurl {
-    url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.03.tar.gz;
-    sha256 = "1jnfzdqc54wa73lw28kjv0m7120mksb0zkcn81jdlvijyvc67kq2";
+    url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.04.tar.gz;
+    sha256 = "1rbp54mr3z2x3a3a1qmz8byzygzi223vckfam9ib5g1sfds0qf8i";
   };
 
-  buildInputs =
+  buildInputs = [ zlib libpng ] ++
     stdenv.lib.optionals enableGUI [x11 motif] ++
     stdenv.lib.optional useT1Lib t1lib ++
     stdenv.lib.optional enablePDFtoPPM freetype;
diff --git a/pkgs/applications/misc/xrandr-invert-colors/default.nix b/pkgs/applications/misc/xrandr-invert-colors/default.nix
new file mode 100644
index 00000000000..e9bb722dcab
--- /dev/null
+++ b/pkgs/applications/misc/xrandr-invert-colors/default.nix
@@ -0,0 +1,26 @@
+{ fetchurl, stdenv, libXrandr}:
+
+stdenv.mkDerivation rec {
+  version = "v0.01";
+  name = "xrandr-invert-colors-${version}";
+  src = fetchurl {
+    url = "https://github.com/zoltanp/xrandr-invert-colors/archive/${version}.tar.gz";
+    sha256 = "1z4hxn56rlflvqanb8ncqa1xqawnda85b1b37w6r2iqs8rw52d75";
+  };
+
+  buildInputs = [ libXrandr ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv xrandr-invert-colors.bin xrandr-invert-colors
+    install xrandr-invert-colors $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Inverts the colors of your screen";
+    license = stdenv.lib.licenses.gpl3Plus;
+    homepage = https://github.com/zoltanp/xrandr-invert-colors;
+    maintainers = [stdenv.lib.maintainers.magnetophon ];
+    platforms = platforms.linux;
+  }; 
+}
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index 00e9ab0c810..1caa78d580d 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-303";
+  name = "xterm-317";
 
   src = fetchurl {
     url = "ftp://invisible-island.net/xterm/${name}.tgz";
-    sha256 = "0n7hay16aam9kfn642ri0wj5yzilbjm3l8znxc2p5dx9pn3rkwla";
+    sha256 = "0v9mirqws1vb8wxbdgn1w166ln7xmapg1913c7kzjs3mwkdv1rfj";
   };
 
   buildInputs =
@@ -13,12 +13,16 @@ stdenv.mkDerivation rec {
       ncurses freetype fontconfig pkgconfig xorg.libXft xorg.luit
     ];
 
-  configureFlags =
-    ''
-      --enable-wide-chars --enable-256-color
-      --enable-load-vt-fonts --enable-i18n --enable-doublechars --enable-luit
-      --enable-mini-luit --with-tty-group=tty
-    '';
+  configureFlags = [
+    "--enable-wide-chars"
+    "--enable-256-color"
+    "--enable-load-vt-fonts"
+    "--enable-i18n"
+    "--enable-doublechars"
+    "--enable-luit"
+    "--enable-mini-luit"
+    "--with-tty-group=tty"
+  ];
 
   # Work around broken "plink.sh".
   NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11 -lfontconfig";
diff --git a/pkgs/applications/misc/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix
index c781a5619ae..323782d60fe 100644
--- a/pkgs/applications/misc/yakuake/default.nix
+++ b/pkgs/applications/misc/yakuake/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kdelibs, gettext }:
+{ stdenv, fetchurl, kdelibs, gettext, konsole }:
 
 let
   pname = "yakuake";
@@ -16,6 +16,10 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ gettext ];
 
+  patchPhase = ''
+    substituteInPlace app/terminal.cpp --replace \"konsolepart\" "\"${konsole}/lib/kde4/libkonsolepart.so\""
+  '';
+
   meta = {
     homepage = http://yakuake.kde.org;
     description = "Quad-style terminal emulator for KDE";
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index 5f44f79ebcd..5f9b3850ad7 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,17 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper, zathura_icon }:
+{ stdenv, fetchurl, pkgconfig, gtk, girara, ncurses, gettext, docutils, file, makeWrapper, zathura_icon, sqlite }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.9";
+  version = "0.3.2";
   name = "zathura-core-${version}";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
-    sha256 = "17z05skjk95115ajp6459k1djadza1w8kck7jn1qnd697r01s1rc";
+    sha256 = "1qk5s7cyqp4l673yhma5igk9g24p5jyqyy81fdk7q7xjqlym19px";
   };
 
-  buildInputs = [ pkgconfig file gtk girara gettext makeWrapper ];
+  buildInputs = [ pkgconfig file gtk girara gettext makeWrapper sqlite ];
 
-  makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ];
+  makeFlags = [
+    "PREFIX=$(out)"
+    "RSTTOMAN=${docutils}/bin/rst2man.py"
+    "VERBOSE=1"
+    "TPUT=${ncurses}/bin/tput"
+  ];
 
   postInstall = ''
     wrapProgram "$out/bin/zathura" \
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index 1a4ab3d772c..6f1b5f400dd 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,7 +1,7 @@
-{ callPackage, pkgs, fetchurl, useMupdf }:
+{ callPackage, pkgs, fetchurl, stdenv, useMupdf }:
 
 rec {
-  inherit (pkgs) stdenv;
+  inherit stdenv;
 
   icon = ./icon.xpm;
 
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
index 1a2347f2727..00c5464b7d1 100644
--- a/pkgs/applications/misc/zathura/djvu/default.nix
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "zathura-djvu-0.2.3";
+  name = "zathura-djvu-0.2.4";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "12gd8kb0al5mknh4rlvxzgzwz3vhjggqjh8ws27phaq14paq4vn1";
+    sha256 = "1g1lafmrjbx0xv7fljdmyqxx0k334sq4q6jy4a0q5xfrgz0bh45c";
   };
 
   buildInputs = [ pkgconfig djvulibre gettext zathura_core gtk girara ];
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/config.patch b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
index c7d172c9263..6445fab2298 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch
@@ -1,10 +1,10 @@
---- zathura-pdf-mupdf-0.2.6/config.mk
-+++ zathura-pdf-mupdf-0.2.6/config.mk
+--- zathura-pdf-mupdf-0.2.7/config.mk
++++ zathura-pdf-mupdf-0.2.7/config.mk
 @@ -32,10 +32,11 @@
  OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
  OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
  
--MUPDF_LIB ?= -lmupdf -lmupdf-js-none
+-MUPDF_LIB ?= -lmupdf -lmujs
 +MUPDF_INC ?= $(shell pkg-config --cflags mupdf)
 +MUPDF_LIB ?= $(shell pkg-config --libs mupdf)
  
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 4e585d852a2..a6f12a64cf0 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, openjpeg, libjpeg, jbig2dec }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.6";
+  version = "0.2.7";
   name = "zathura-pdf-mupdf-${version}";
 
   src = fetchurl {
     url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
-    sha256 = "5df94b6f906008b5f3bca770a552da6d2917d6b8d3e4b3049cb7001302041b20";
+    sha256 = "0gr5kkk75hn7sz9kmzynhhcdd9xb9sz5gdb8p1iz9g0fjhskyd5i";
   };
 
   buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf openjpeg libjpeg jbig2dec ];
diff --git a/pkgs/applications/networking/bittorrentsync/1.4.x.nix b/pkgs/applications/networking/bittorrentsync/1.4.x.nix
new file mode 100644
index 00000000000..1b439daa853
--- /dev/null
+++ b/pkgs/applications/networking/bittorrentsync/1.4.x.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, patchelf }:
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "x64"
+    else if stdenv.system == "i686-linux" then "i386"
+    else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
+
+  sha256 = if stdenv.system == "x86_64-linux" then "1b9f6qxpvyrzf23l71hw42qyg4i27by3hs91sm34drm24z7m7fpd"
+    else if stdenv.system == "i686-linux" then "0caqwaxd6i8cap35kpzkwy5dknk7iaxf5fbfjy46cbwylgcpsc2x"
+    else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
+
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
+in
+stdenv.mkDerivation rec {
+  name = "btsync-${version}";
+  version = "1.4.110";
+
+  src  = fetchurl {
+    url  = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz";
+    inherit sha256;
+  };
+
+  dontStrip   = true; # Don't strip, otherwise patching the rpaths breaks
+  sourceRoot  = ".";
+  buildInputs = [ patchelf ];
+
+  installPhase = ''
+    mkdir -p "$out/bin/"
+    cp -r "btsync" "$out/bin/"
+
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath} "$out/bin/btsync"
+  '';
+
+  meta = {
+    description = "Automatically sync files via secure, distributed technology";
+    homepage    = "http://www.bittorrent.com/sync";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/networking/bittorrentsync/2.0.x.nix b/pkgs/applications/networking/bittorrentsync/2.0.x.nix
new file mode 100644
index 00000000000..9a7c07c322e
--- /dev/null
+++ b/pkgs/applications/networking/bittorrentsync/2.0.x.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, patchelf }:
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "x64"
+    else if stdenv.system == "i686-linux" then "i386"
+    else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
+
+  sha256 = if stdenv.system == "x86_64-linux" then "cbce76f73f47c23d9073644504fa454976629450d008354bd8faef1bddf368fd"
+    else if stdenv.system == "i686-linux" then "d3e8583c8a54cbeb34ea3621daf0498316a959d944b30f24aa4e518a851ecdeb"
+    else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
+
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
+in
+stdenv.mkDerivation rec {
+  name = "btsync-${version}";
+  version = "2.0.93";
+
+  src  = fetchurl {
+    url  = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz";
+    inherit sha256;
+  };
+
+  dontStrip   = true; # Don't strip, otherwise patching the rpaths breaks
+  sourceRoot  = ".";
+  buildInputs = [ patchelf ];
+
+  installPhase = ''
+    mkdir -p "$out/bin/"
+    cp -r "btsync" "$out/bin/"
+
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath} "$out/bin/btsync"
+  '';
+
+  meta = {
+    description = "Automatically sync files via secure, distributed technology";
+    homepage    = "http://www.bittorrent.com/sync";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice cwoac ];
+  };
+}
diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix
deleted file mode 100644
index 989ceb235b0..00000000000
--- a/pkgs/applications/networking/bittorrentsync/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, patchelf }:
-
-let
-  arch = if stdenv.system == "x86_64-linux" then "x64"
-    else if stdenv.system == "i686-linux" then "i386"
-    else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
-
-  sha256 = if stdenv.system == "x86_64-linux" then "1xba0wv45w4kg84i5sywkfk44vj9wxkr7f1vga2mpz86j8vq25iy"
-    else if stdenv.system == "i686-linux" then "10ml1wclix9236zcb4mh60hdm9vvfaarlb62z7fdrwk6ikqbm7fk"
-    else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
-
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
-in
-stdenv.mkDerivation rec {
-  name = "btsync-${version}";
-  version = "1.3.94";
-
-  src  = fetchurl {
-    url  = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz";
-    inherit sha256;
-  };
-
-  dontStrip   = true; # Don't strip, otherwise patching the rpaths breaks
-  sourceRoot  = ".";
-  buildInputs = [ patchelf ];
-
-  installPhase = ''
-    mkdir -p "$out/bin/"
-    cp -r "btsync" "$out/bin/"
-
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      --set-rpath ${libPath} "$out/bin/btsync"
-  '';
-
-  meta = {
-    description = "Automatically sync files via secure, distributed technology";
-    homepage    = "http://www.bittorrent.com/sync";
-    license     = stdenv.lib.licenses.unfreeRedistributable;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index daab75c74ff..41617d0182a 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -9,11 +9,13 @@ mkChromiumDerivation (base: rec {
 
   installPhase = ''
     mkdir -p "$libExecPath"
-    cp -v "$buildPath/"*.pak "$libExecPath/"
+    cp -v "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
     cp -v "$buildPath/icudtl.dat" "$libExecPath/"
     cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
-    cp -v $buildPath/libffmpegsumo.so "$libExecPath/"
-
+    cp -v "$buildPath/libffmpegsumo.so" "$libExecPath/"
+    ${optionalString (versionOlder base.version "42.0.0.0") ''
+      cp -v "$buildPath/libpdf.so" "$libExecPath/"
+    ''}
     cp -v "$buildPath/chrome" "$libExecPath/$packageName"
 
     mkdir -vp "$out/share/man/man1"
@@ -35,7 +37,7 @@ mkChromiumDerivation (base: rec {
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ goibhniu chaoflow aszlig wizeman ];
+    maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 46dadd280c9..14d53357b89 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -8,12 +8,12 @@
 , libusb1, libexif, pciutils
 
 , python, pythonPackages, perl, pkgconfig
-, nspr, udev, krb5
+, nspr, udev, kerberos
 , utillinux, alsaLib
 , bison, gperf
 , glib, gtk, dbus_glib
 , libXScrnSaver, libXcursor, libXtst, mesa
-, protobuf, speechd, libXdamage
+, protobuf, speechd, libXdamage, cups
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
@@ -25,8 +25,9 @@
 , gnomeSupport ? false, gnome ? null
 , gnomeKeyringSupport ? false, libgnome_keyring3 ? null
 , proprietaryCodecs ? true
-, cupsSupport ? false
+, cupsSupport ? true
 , pulseSupport ? false, pulseaudio ? null
+, hiDPISupport ? false
 
 , source
 , plugins
@@ -68,7 +69,7 @@ let
     use_system_xdg_utils = true;
     use_system_yasm = true;
     use_system_zlib = false;
-    use_system_protobuf = true;
+    use_system_protobuf = false; # needs newer protobuf
 
     use_system_harfbuzz = false;
     use_system_icu = false; # Doesn't support ICU 52 yet.
@@ -108,7 +109,7 @@ let
       nspr udev
       (if useOpenSSL then openssl else nss)
       utillinux alsaLib
-      bison gperf krb5
+      bison gperf kerberos
       glib gtk dbus_glib
       libXScrnSaver libXcursor libXtst mesa
       pciutils protobuf speechd libXdamage
@@ -116,7 +117,7 @@ let
     ] ++ optional gnomeKeyringSupport libgnome_keyring3
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optional enableSELinux libselinux
-      ++ optional cupsSupport libgcrypt
+      ++ optionals cupsSupport [ libgcrypt cups ]
       ++ optional pulseSupport pulseaudio;
 
     # XXX: Wait for https://crbug.com/239107 and https://crbug.com/239181 to
@@ -134,14 +135,20 @@ let
         -exec chmod u+w {} +
     '';
 
-    postPatch = ''
+    postPatch = optionalString (versionOlder version "42.0.0.0") ''
       sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \
         sandbox_binary = base::FilePath(getenv("CHROMIUM_SANDBOX_BINARY_PATH"));
       ' sandbox/linux/suid/client/setuid_sandbox_client.cc
-
+    '' + ''
       sed -i -e '/module_path *=.*libexif.so/ {
         s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
       }' chrome/utility/media_galleries/image_metadata_extractor.cc
+
+      sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${udev}/lib/\1!' \
+        device/udev_linux/udev?_loader.cc
+
+      sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
+        gpu/config/gpu_info_collector_linux.cc
     '';
 
     gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
@@ -159,9 +166,12 @@ let
       use_openssl = useOpenSSL;
       selinux = enableSELinux;
       use_cups = cupsSupport;
+    } // optionalAttrs (versionOlder version "42.0.0.0") {
       linux_sandbox_chrome_path="${libExecPath}/${packageName}";
+    } // {
       werror = "";
       clang = false;
+      enable_hidpi = hiDPISupport;
 
       # Google API keys, see:
       #   http://www.chromium.org/developers/how-tos/api-keys
@@ -184,6 +194,9 @@ let
     } // (extraAttrs.gypFlags or {}));
 
     configurePhase = ''
+      # Precompile .pyc files to prevent race conditions during build
+      python -m compileall -q -f . || : # ignore errors
+
       # This is to ensure expansion of $out.
       libExecPath="${libExecPath}"
       python build/linux/unbundle/replace_gyp_files.py ${gypFlags}
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 4dfdca882bc..85b2e9b8051 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -9,9 +9,10 @@
 , gnomeKeyringSupport ? false
 , proprietaryCodecs ? true
 , enablePepperFlash ? false
-, enablePepperPDF ? false
-, cupsSupport ? false
+, enableWideVine ? false
+, cupsSupport ? true
 , pulseSupport ? false
+, hiDPISupport ? false
 }:
 
 let
@@ -27,14 +28,14 @@ let
     mkChromiumDerivation = callPackage ./common.nix {
       inherit enableSELinux enableNaCl useOpenSSL gnomeSupport
               gnomeKeyringSupport proprietaryCodecs cupsSupport
-              pulseSupport;
+              pulseSupport hiDPISupport;
     };
 
     browser = callPackage ./browser.nix { };
     sandbox = callPackage ./sandbox.nix { };
 
     plugins = callPackage ./plugins.nix {
-      inherit enablePepperFlash enablePepperPDF;
+      inherit enablePepperFlash enableWideVine;
     };
   };
 
@@ -54,26 +55,37 @@ let
       "x-scheme-handler/ftp"
       "x-scheme-handler/mailto"
       "x-scheme-handler/webcal"
+      "x-scheme-handler/about"
+      "x-scheme-handler/unknown"
     ];
     categories = "Network;WebBrowser";
   };
 
+  suffix = if channel != "stable" then "-" + channel else "";
+
 in stdenv.mkDerivation {
-  name = "chromium-${channel}-${chromium.browser.version}";
+  name = "chromium${suffix}-${chromium.browser.version}";
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ makeWrapper ] ++ chromium.plugins.enabledPlugins;
 
   buildCommand = let
     browserBinary = "${chromium.browser}/libexec/chromium/chromium";
     sandboxBinary = "${chromium.sandbox}/bin/chromium-sandbox";
-  in ''
+    mkEnvVar = key: val: "--set '${key}' '${val}'";
+    envVars = chromium.plugins.settings.envVars or {};
+    isVer42 = !stdenv.lib.versionOlder chromium.browser.version "42.0.0.0";
+    flags = chromium.plugins.settings.flags or [];
+    setBinPath = "--set CHROMIUM_SANDBOX_BINARY_PATH \"${sandboxBinary}\"";
+  in with stdenv.lib; ''
     mkdir -p "$out/bin" "$out/share/applications"
 
     ln -s "${chromium.browser}/share" "$out/share"
     makeWrapper "${browserBinary}" "$out/bin/chromium" \
-      --set CHROMIUM_SANDBOX_BINARY_PATH "${sandboxBinary}" \
-      --add-flags "${chromium.plugins.flagsEnabled}"
+      ${optionalString (!isVer42) setBinPath} \
+      ${concatStrings (mapAttrsToList mkEnvVar envVars)} \
+      --add-flags "${concatStringsSep " " flags}"
 
+    ln -s "$out/bin/chromium" "$out/bin/chromium-browser"
     ln -s "${chromium.browser}/share/icons" "$out/share/icons"
     cp -v "${desktopItem}/share/applications/"* "$out/share/applications"
   '';
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index e0c45f91075..b4766cee434 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -1,6 +1,6 @@
 { stdenv
 , enablePepperFlash ? false
-, enablePepperPDF ? false
+, enableWideVine ? false
 
 , source
 }:
@@ -14,18 +14,20 @@ let
     # XXX: Only temporary and has to be version-specific
     src = source.plugins;
 
-    phases = [ "unpackPhase" "patchPhase" "checkPhase" "installPhase" ];
-    outputs = [ "pdf" "flash" ];
+    phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
+    outputs = [ "flash" "widevine" ];
 
     unpackCmd = let
       chan = if source.channel == "dev"    then "chrome-unstable"
         else if source.channel == "stable" then "chrome"
         else "chrome-${source.channel}";
+      cext = if versionOlder source.version "41.0.0.0" then "lzma" else "xz";
     in ''
       mkdir -p plugins
-      ar p "$src" data.tar.lzma | tar xJ -C plugins --strip-components=4 \
+      ar p "$src" data.tar.${cext} | tar xJ -C plugins --strip-components=4 \
         ./opt/google/${chan}/PepperFlash \
-        ./opt/google/${chan}/libpdf.so
+        ./opt/google/${chan}/libwidevinecdm.so \
+        ./opt/google/${chan}/libwidevinecdmadapter.so
     '';
 
     doCheck = true;
@@ -34,29 +36,26 @@ let
     '';
 
     patchPhase = let
-      rpaths = [ stdenv.gcc.gcc ];
+      rpaths = [ stdenv.cc.cc ];
       mkrpath = p: "${makeSearchPath "lib64" p}:${makeSearchPath "lib" p}";
     in ''
-      for sofile in PepperFlash/libpepflashplayer.so libpdf.so; do
+      for sofile in PepperFlash/libpepflashplayer.so \
+                    libwidevinecdm.so libwidevinecdmadapter.so; do
         chmod +x "$sofile"
         patchelf --set-rpath "${mkrpath rpaths}" "$sofile"
       done
+
+      patchelf --set-rpath "$widevine/lib:${mkrpath rpaths}" \
+        libwidevinecdmadapter.so
     '';
 
     installPhase = let
-      pdfName = "Chrome PDF Viewer";
-      pdfDescription = "Portable Document Format";
-      pdfMimeTypes = concatStringsSep ";" [
-        "application/pdf"
-        "application/x-google-chrome-print-preview-pdf"
-      ];
-      pdfInfo = "#${pdfName}#${pdfDescription};${pdfMimeTypes}";
+      wvName = "Widevine Content Decryption Module";
+      wvDescription = "Playback of encrypted HTML audio/video content";
+      wvMimeTypes = "application/x-ppapi-widevine-cdm";
+      wvModule = "$widevine/lib/libwidevinecdmadapter.so";
+      wvInfo = "#${wvName}#${wvDescription}:${wvMimeTypes}";
     in ''
-      install -vD libpdf.so "$pdf/lib/libpdf.so"
-      mkdir -p "$pdf/nix-support"
-      echo "--register-pepper-plugins='$pdf/lib/libpdf.so${pdfInfo}'" \
-        > "$pdf/nix-support/chromium-flags"
-
       flashVersion="$(
         sed -n -r 's/.*"version": "([^"]+)",.*/\1/p' PepperFlash/manifest.json
       )"
@@ -64,15 +63,39 @@ let
       install -vD PepperFlash/libpepflashplayer.so \
         "$flash/lib/libpepflashplayer.so"
       mkdir -p "$flash/nix-support"
-      echo "--ppapi-flash-path='$flash/lib/libpepflashplayer.so'" \
-           "--ppapi-flash-version=$flashVersion" \
-           > "$flash/nix-support/chromium-flags"
+      cat > "$flash/nix-support/chromium-plugin.nix" <<NIXOUT
+        { flags = [
+            "--ppapi-flash-path='$flash/lib/libpepflashplayer.so'"
+            "--ppapi-flash-version=$flashVersion"
+          ];
+        }
+      NIXOUT
+
+      install -vD libwidevinecdm.so \
+        "$widevine/lib/libwidevinecdm.so"
+      install -vD libwidevinecdmadapter.so \
+        "$widevine/lib/libwidevinecdmadapter.so"
+      mkdir -p "$widevine/nix-support"
+      cat > "$widevine/nix-support/chromium-plugin.nix" <<NIXOUT
+        { flags = [ "--register-pepper-plugins='${wvModule}${wvInfo}'" ];
+          envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "$widevine/lib";
+        }
+      NIXOUT
     '';
 
-    passthru.flagsEnabled = let
+    passthru = let
       enabledPlugins = optional enablePepperFlash plugins.flash
-                    ++ optional enablePepperPDF   plugins.pdf;
-      getFlags = plugin: "$(< ${plugin}/nix-support/chromium-flags)";
-    in concatStringsSep " " (map getFlags enabledPlugins);
+                    ++ optional enableWideVine    plugins.widevine;
+      getNix = plugin: import "${plugin}/nix-support/chromium-plugin.nix";
+      mergeAttrsets = let
+        f = v: if all isAttrs v then mergeAttrsets v
+          else if all isList  v then concatLists   v
+          else if tail v == []  then head          v
+          else head (tail v);
+      in fold (l: r: zipAttrsWith (_: f) [ l r ]) {};
+    in {
+      inherit enabledPlugins;
+      settings = mergeAttrsets (map getNix enabledPlugins);
+    };
   };
 in plugins
diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix
index d7ccc412fa4..54430bb5be9 100644
--- a/pkgs/applications/networking/browsers/chromium/source/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/default.nix
@@ -9,63 +9,75 @@ with (import ./update.nix {
   inherit (stdenv) system;
 }).getChannel channel;
 
-stdenv.mkDerivation {
+let
+  transform = flags: concatStringsSep ";" (map (subst: subst + flags) [
+    "s,^[^/]+(.*)$,$main\\1,"
+    "s,$main/(build|tools)(/.*)?$,$out/\\1\\2,"
+    "s,$main/third_party(/.*)?$,$bundled\\1,"
+    "s,$main/sandbox(/.*)?$,$sandbox\\1,"
+    "s,^/,,"
+  ]);
+
+  pre42 = versionOlder version "42.0.0.0";
+
+in stdenv.mkDerivation {
   name = "chromium-source-${version}";
 
   src = fetchurl main;
 
   buildInputs = [ python ]; # cannot patch shebangs otherwise
 
-  phases = [ "unpackPhase" "patchPhase" "installPhase" ];
+  phases = [ "unpackPhase" "patchPhase" ];
+  outputs = [ "out" "sandbox" "bundled" "main" ];
+
+  unpackPhase = ''
+    tar xf "$src" -C / \
+      --transform="${transform "xS"}" \
+      --anchored \
+      --no-wildcards-match-slash \
+      --exclude='*/tools/gyp' \
+      --exclude='*/.*'
+  '';
 
   opensslPatches = optional useOpenSSL openssl.patches;
 
-  prePatch = "patchShebangs .";
+  prePatch = ''
+    for i in $outputs; do
+      eval patchShebangs "\$$i"
+    done
+  '';
 
-  patches = singleton ./sandbox_userns_36.patch;
+  patches = if pre42 then [
+    ./sandbox_userns_36.patch ./nix_plugin_paths.patch
+  ] else [
+    ./nix_plugin_paths_42.patch
+  ];
+
+  patchPhase = let
+    diffmod = sym: "/^${sym} /{s/^${sym} //;${transform ""};s/^/${sym} /}";
+    allmods = "${diffmod "---"};${diffmod "\\+\\+\\+"}";
+    sedexpr = "/^(---|\\+\\+\\+) *\\/dev\\/null/b;${allmods}";
+  in ''
+    runHook prePatch
+    for i in $patches; do
+      header "applying patch $i" 3
+      sed -r -e "${sedexpr}" "$i" | patch -d / -p0
+      stopNest
+    done
+    runHook postPatch
+  '';
 
   postPatch = ''
     sed -i -r \
       -e 's/-f(stack-protector)(-all)?/-fno-\1/' \
       -e 's|/bin/echo|echo|' \
       -e "/python_arch/s/: *'[^']*'/: '""'/" \
-      build/common.gypi chrome/chrome_tests.gypi
-  '' + optionalString (versionOlder version "38.0.0.0") ''
-    sed -i -e '/not RunGN/,+1d' -e '/import.*depot/d' build/gyp_chromium
-    sed -i -e 's|/usr/bin/gcc|gcc|' \
-      third_party/WebKit/Source/build/scripts/scripts.gypi \
-      third_party/WebKit/Source/build/scripts/preprocessor.pm
+      "$out/build/common.gypi" "$main/chrome/chrome_tests.gypi"
   '' + optionalString useOpenSSL ''
-    cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
-  '';
-
-  outputs = [ "out" "sandbox" "bundled" "main" ];
-  installPhase = ''
-    mkdir -p "$out" "$sandbox" "$bundled" "$main"
-
-    header "copying browser main sources to $main"
-    find . -mindepth 1 -maxdepth 1 \
-      \! -path ./sandbox \
-      \! -path ./third_party \
-      \! -path ./build \
-      \! -path ./tools \
-      \! -name '.*' \
-      -print | xargs cp -rt "$main"
-    stopNest
-
-    header "copying sandbox components to $sandbox"
-    cp -rt "$sandbox" sandbox/*
-    stopNest
-
-    header "copying third party sources to $bundled"
-    cp -rt "$bundled" third_party/*
-    stopNest
-
-    header "copying build requisites to $out"
-    cp -rt "$out" build tools
-    stopNest
-
-    rm -rf "$out/tools/gyp" # XXX: Don't even copy it in the first place.
+    cat $opensslPatches | patch -p1 -d "$bundled/openssl/openssl"
+  '' + optionalString (!pre42) ''
+    sed -i -e '/LOG.*no_suid_error/d' \
+      "$main/content/browser/browser_main_loop.cc"
   '';
 
   preferLocalBuild = true;
diff --git a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths.patch b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths.patch
new file mode 100644
index 00000000000..0220d042941
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths.patch
@@ -0,0 +1,99 @@
+diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
+index 8a205a6..d5c24e1 100644
+--- a/chrome/common/chrome_paths.cc
++++ b/chrome/common/chrome_paths.cc
+@@ -97,21 +97,14 @@ static base::LazyInstance<base::FilePath>
+     g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
+ 
+ // Gets the path for internal plugins.
+-bool GetInternalPluginsDirectory(base::FilePath* result) {
+-#if defined(OS_MACOSX) && !defined(OS_IOS)
+-  // If called from Chrome, get internal plugins from a subdirectory of the
+-  // framework.
+-  if (base::mac::AmIBundled()) {
+-    *result = chrome::GetFrameworkBundlePath();
+-    DCHECK(!result->empty());
+-    *result = result->Append("Internet Plug-Ins");
+-    return true;
+-  }
+-  // In tests, just look in the module directory (below).
+-#endif
+-
+-  // The rest of the world expects plugins in the module directory.
+-  return PathService::Get(base::DIR_MODULE, result);
++bool GetInternalPluginsDirectory(base::FilePath* result,
++                                 const std::string& ident) {
++  std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
++  const char* value = getenv(full_env.c_str());
++  if (value == NULL)
++      return PathService::Get(base::DIR_MODULE, result);
++  else
++      *result = base::FilePath(value);
+ }
+ 
+ }  // namespace
+@@ -248,11 +241,11 @@ bool PathProvider(int key, base::FilePath* result) {
+       create_dir = true;
+       break;
+     case chrome::DIR_INTERNAL_PLUGINS:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "ALL"))
+         return false;
+       break;
+     case chrome::DIR_PEPPER_FLASH_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
+         return false;
+       cur = cur.Append(kPepperFlashBaseDirectory);
+       break;
+@@ -285,7 +278,7 @@ bool PathProvider(int key, base::FilePath* result) {
+       cur = cur.Append(FILE_PATH_LITERAL("script.log"));
+       break;
+     case chrome::FILE_FLASH_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "FILEFLASH"))
+         return false;
+       cur = cur.Append(kInternalFlashPluginFileName);
+       break;
+@@ -295,12 +288,12 @@ bool PathProvider(int key, base::FilePath* result) {
+       cur = cur.Append(chrome::kPepperFlashPluginFilename);
+       break;
+     case chrome::FILE_PDF_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "PDF"))
+         return false;
+       cur = cur.Append(kInternalPDFPluginFileName);
+       break;
+     case chrome::FILE_EFFECTS_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "FILE_EFFECTS"))
+         return false;
+       cur = cur.Append(kEffectsPluginFileName);
+       break;
+@@ -308,7 +301,7 @@ bool PathProvider(int key, base::FilePath* result) {
+     // We currently need a path here to look up whether the plugin is disabled
+     // and what its permissions are.
+     case chrome::FILE_NACL_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "NACL"))
+         return false;
+       cur = cur.Append(kInternalNaClPluginFileName);
+       break;
+@@ -343,7 +336,7 @@ bool PathProvider(int key, base::FilePath* result) {
+         cur = cur.DirName();
+       }
+ #else
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "PNACL"))
+         return false;
+ #endif
+       cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
+@@ -372,7 +365,7 @@ bool PathProvider(int key, base::FilePath* result) {
+     // In the component case, this is the source adapter. Otherwise, it is the
+     // actual Pepper module that gets loaded.
+     case chrome::FILE_WIDEVINE_CDM_ADAPTER:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "WIDEVINE"))
+         return false;
+       cur = cur.AppendASCII(kWidevineCdmAdapterFileName);
+       break;
diff --git a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_42.patch b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_42.patch
new file mode 100644
index 00000000000..fb09763c997
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_42.patch
@@ -0,0 +1,93 @@
+diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
+index 8a205a6..d5c24e1 100644
+--- a/chrome/common/chrome_paths.cc
++++ b/chrome/common/chrome_paths.cc
+@@ -97,21 +97,14 @@ static base::LazyInstance<base::FilePath>
+     g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
+ 
+ // Gets the path for internal plugins.
+-bool GetInternalPluginsDirectory(base::FilePath* result) {
+-#if defined(OS_MACOSX) && !defined(OS_IOS)
+-  // If called from Chrome, get internal plugins from a subdirectory of the
+-  // framework.
+-  if (base::mac::AmIBundled()) {
+-    *result = chrome::GetFrameworkBundlePath();
+-    DCHECK(!result->empty());
+-    *result = result->Append("Internet Plug-Ins");
+-    return true;
+-  }
+-  // In tests, just look in the module directory (below).
+-#endif
+-
+-  // The rest of the world expects plugins in the module directory.
+-  return PathService::Get(base::DIR_MODULE, result);
++bool GetInternalPluginsDirectory(base::FilePath* result,
++                                 const std::string& ident) {
++  std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
++  const char* value = getenv(full_env.c_str());
++  if (value == NULL)
++      return PathService::Get(base::DIR_MODULE, result);
++  else
++      *result = base::FilePath(value);
+ }
+ 
+ }  // namespace
+@@ -248,11 +241,11 @@ bool PathProvider(int key, base::FilePath* result) {
+       create_dir = true;
+       break;
+     case chrome::DIR_INTERNAL_PLUGINS:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "ALL"))
+         return false;
+       break;
+     case chrome::DIR_PEPPER_FLASH_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
+         return false;
+       cur = cur.Append(kPepperFlashBaseDirectory);
+       break;
+@@ -285,7 +278,7 @@ bool PathProvider(int key, base::FilePath* result) {
+       cur = cur.Append(FILE_PATH_LITERAL("script.log"));
+       break;
+     case chrome::FILE_FLASH_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "FILEFLASH"))
+         return false;
+       cur = cur.Append(kInternalFlashPluginFileName);
+       break;
+@@ -295,7 +288,7 @@ bool PathProvider(int key, base::FilePath* result) {
+       cur = cur.Append(chrome::kPepperFlashPluginFilename);
+       break;
+     case chrome::FILE_EFFECTS_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "FILE_EFFECTS"))
+         return false;
+       cur = cur.Append(kEffectsPluginFileName);
+       break;
+@@ -308,7 +301,7 @@ bool PathProvider(int key, base::FilePath* result) {
+     // We currently need a path here to look up whether the plugin is disabled
+     // and what its permissions are.
+     case chrome::FILE_NACL_PLUGIN:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "NACL"))
+         return false;
+       cur = cur.Append(kInternalNaClPluginFileName);
+       break;
+@@ -343,7 +336,7 @@ bool PathProvider(int key, base::FilePath* result) {
+         cur = cur.DirName();
+       }
+ #else
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "PNACL"))
+         return false;
+ #endif
+       cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
+@@ -372,7 +365,7 @@ bool PathProvider(int key, base::FilePath* result) {
+     // In the component case, this is the source adapter. Otherwise, it is the
+     // actual Pepper module that gets loaded.
+     case chrome::FILE_WIDEVINE_CDM_ADAPTER:
+-      if (!GetInternalPluginsDirectory(&cur))
++      if (!GetInternalPluginsDirectory(&cur, "WIDEVINE"))
+         return false;
+       cur = cur.AppendASCII(kWidevineCdmAdapterFileName);
+       break;
diff --git a/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch
index 57f5992a3fa..6f5d52b72af 100644
--- a/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch
+++ b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch
@@ -272,3 +272,16 @@ index 9345287..2db659e 100644
  
  static const long kSUIDSandboxApiNumber = 1;
  static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
+diff --git a/sandbox/linux/suid/sandbox.c b/sandbox/linux/suid/sandbox.c
+index 7410b71..a83593d 100644
+--- a/sandbox/linux/suid/sandbox.c
++++ b/sandbox/linux/suid/sandbox.c
+@@ -330,7 +330,7 @@ static bool DropRoot() {
+     return false;
+   }
+ 
+-  if (setresgid(rgid, rgid, rgid)) {
++  if (egid != rgid && setresgid(rgid, rgid, rgid)) {
+     perror("setresgid");
+     return false;
+   }
diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix
index 71c825188c3..e1144a44afb 100644
--- a/pkgs/applications/networking/browsers/chromium/source/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix
@@ -1,21 +1,21 @@
 # This file is autogenerated from update.sh in the parent directory.
 {
   dev = {
-    version = "38.0.2125.8";
-    sha256 = "1h3vkp0mgznqv48ksnsndlh7ywh3jby25x6dxxd7py445pg6y3c6";
-    sha256bin32 = "1ynqm5yp7m8j3mwgqaa2vvw835g9ifn3dfniqh9z9n0swha27a69";
-    sha256bin64 = "1vdm4wffkvj3jwrb2nihghxkxcvp81xcc5wygpd1w495vrhy4bpf";
+    version = "43.0.2327.5";
+    sha256 = "0k9jpzm1n7d3zv6f77vz33jcvmnbxnl6plabvlrf8w83kbzhi76n";
+    sha256bin32 = "1dm4xp0x02kqj82giw45qd2z12wf22h2bs0d3hnlz050innxgcb6";
+    sha256bin64 = "1b13g44y704llsnw68840zmaahj1hwzram50v8fqmff44w1b0bxb";
   };
   beta = {
-    version = "37.0.2062.94";
-    sha256 = "0cz5kivimxcaiml6x5mysarjyfvvanbw02qz2d1y3jvl1dc1jz6j";
-    sha256bin32 = "0pa209sjdfb0y96kicvp4lnn1inwdcgj8kpmn28cmi8l1cr8yy3b";
-    sha256bin64 = "0kk2dm2gwvzvrrp03k7cw6zzp3197lrq2p1si3pr2wbgm8sb5dk5";
+    version = "42.0.2311.39";
+    sha256 = "0qiyg8bg9f1daf8v2jlrv54lis7156h44ak42jdx96xanvj2rvj0";
+    sha256bin32 = "0v4dr2a3n51dais2mg0dml0rmqfmalfj0zgp20a4kkarbpih1x0v";
+    sha256bin64 = "19638ik9qgfmxpzdry0qwkwpzvhlbs2h2nn1kwsjja5j49817ksx";
   };
   stable = {
-    version = "37.0.2062.94";
-    sha256 = "0cz5kivimxcaiml6x5mysarjyfvvanbw02qz2d1y3jvl1dc1jz6j";
-    sha256bin32 = "0vszphfz4mnw08yc6bid4g6q2w4f5smvfhlzyb2vvv65ndr64b8k";
-    sha256bin64 = "0h4fb7v0b1w9d47iy6fk5g0fpzgczps7nzmknyk7vx68ybi39ssw";
+    version = "41.0.2272.89";
+    sha256 = "1saxcyqp8pz496qwdgl4dqxll6l9icbljm56w1rrkxgwrrvl4iwk";
+    sha256bin32 = "19srg0isp1k4fwixwjxm1j88bnqx9sb349n992i038c3h8raa1v4";
+    sha256bin64 = "1fb8ffgbsjsij7bd1qawa03z9pybasfig1cmdzwybmlwg2fdlvfv";
   };
 }
diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix
index 47381f06d68..f6e3cd3cf8d 100644
--- a/pkgs/applications/networking/browsers/conkeror/default.nix
+++ b/pkgs/applications/networking/browsers/conkeror/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchgit, unzip, xulrunner, makeWrapper }:
+{ stdenv, fetchgit, unzip, firefox, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "conkeror-1.0pre-20140616";
+  name = "conkeror-1.0pre-20150319";
 
   src = fetchgit {
     url = git://repo.or.cz/conkeror.git;
-    rev = "8a26fff5896a3360549e2adfbf06b1d57e909266";
-    sha256 = "56f1c71ca1753a63d7599d3e8bf52277711b2693e7709ed7c146f34940441cb4";
+    rev = "6450632b3f0c315f79e7a9856658083fe8fc9c29";
+    sha256 = "18cqz1n2n6aimmgd69mdrgmkjf4207k7yz11wihka6b5z1hfiv64";
   };
 
   buildInputs = [ unzip makeWrapper ];
@@ -15,8 +15,8 @@ stdenv.mkDerivation {
     mkdir -p $out/libexec/conkeror
     cp -r * $out/libexec/conkeror
 
-    makeWrapper ${xulrunner}/bin/xulrunner $out/bin/conkeror \
-      --add-flags $out/libexec/conkeror/application.ini
+    makeWrapper ${firefox}/bin/firefox $out/bin/conkeror \
+      --add-flags "-app $out/libexec/conkeror/application.ini"
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix
index 0cf23f38b0f..c6c86263888 100644
--- a/pkgs/applications/networking/browsers/dillo/default.nix
+++ b/pkgs/applications/networking/browsers/dillo/default.nix
@@ -3,8 +3,7 @@
 , openssl
 , libjpeg, libpng
 , perl
-, libXcursor, libXi, libXinerama
-}:
+, libXcursor, libXi, libXinerama }:
 
 stdenv.mkDerivation rec {
   version = "3.0.4";
@@ -22,10 +21,13 @@ stdenv.mkDerivation rec {
 
   configureFlags =  "--enable-ssl";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.dillo.org/;
     description = "A fast graphical web browser with a small footprint";
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    longDescription = ''
+      Dillo is a small, fast web browser, tailored for older machines.
+    '';
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
index ecb57d6fe6c..f4b36d5e756 100644
--- a/pkgs/applications/networking/browsers/dwb/default.nix
+++ b/pkgs/applications/networking/browsers/dwb/default.nix
@@ -2,12 +2,12 @@
   m4, glib_networking, gsettings_desktop_schemas, dconf }:
 
 stdenv.mkDerivation {
-  name = "dwb-2014-07-03";
+  name = "dwb-2014-12-15";
 
   src = fetchgit {
-    url = "https://bitbucket.org/portix/dwb.git";
-    rev = "6224470489eb5ba92987e01396269f8b7cd78ada";
-    sha256 = "04p9frsnh1qz067cw36anvr41an789fba839svdjrdva0f2751g8";
+    url = "https://bitbucket.org/0mark/dwb_collect";
+    rev = "b94785470b11a0b6b52eecfc3bae276796b83a0d";
+    sha256 = "09xbifj223mflj62rfhi6q7cvnkpkzkwyyqhkm8w067pdscdhyvs";
   };
 
   buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkitgtk2 gtk2 gnutls json_c m4 ];
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 56ba95c661f..23726f5c3d1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -1,8 +1,3 @@
-# This file is generated from generate_nix.rb
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
 { stdenv, fetchurl, config
 , alsaLib
 , atk
@@ -21,7 +16,10 @@
 , gtk
 , libX11
 , libXScrnSaver
+, libXcomposite
+, libXdamage
 , libXext
+, libXfixes
 , libXinerama
 , libXrender
 , libXt
@@ -39,189 +37,10 @@
 
 assert stdenv.isLinux;
 
-let
-  version = "31.0";
-  sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "8372c1227b75486e297fd914bac530a45b22b789e627638e010d4c25337f350f"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "e01412aa570a462a3bb1ba851cd7133014b3299c0ad349c15534edc35c6d6397"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "e75bd2d41de60483ed1eadcf03d9cd57146210ff9fdfe04e984404ce4bca29f7"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "32697271215a0e63b7d0b25398d27772da5d53e88d020df24f170ebc341e5394"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "3a590702183a86283e4de415eefdeed6f95f1e5d48c64456c4d6db8f84dcfb68"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "98d35a6a2f0875a9723ed9511f3bea65f58da3196db3f75aaf7420d45bde33ad"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "e632f104442b725cf8e0e25c9a924b166289e1fab601a70aee0a81394632423c"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "603a054ceb36645881f52042e556572252e898bfa78cec04811e65f27b9db026"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "05e64b9113f450bfbfa1b99c9580dbb2442af35d6cc20dec0c7af379dd5d37db"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "85b57a101afd0c4aae040bb1f3523ddda3079d46ac8abe9cad826939fd274353"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "5df5eb0db623b42d9a2c9be58807ec66f43a26dd1365d44202d4b0db50d6a6f0"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "6faac3f3637bd68d6c20c73dd84c554afdaa136c4e142c26eb8142b7ab00895f"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "4a87051df26ddb3fd2cf7c2beabc2d403cbc4d2f2e7e0802fb11566722171b57"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "8194b851ed7f9559b78f63711df598ed094783eb2cc288fbd1e880d53118dde5"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "f6f903529d3276d1aa55968d4978fe5977d45076db0ee99d87199d59a9441ad5"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "bce34ee8ec314db0f7abfeddf491d15642dcedea125dc9bb7d7dda3915054940"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "9bd0e37ddf9a222263ca90308245e2078f45d754d8a2b0bc1e4dea13a5e7b581"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "debb3a9983e4219b6632cdfd09d04ab95314ba4e0bd7ff36fd89f0a748d25cdd"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "ea2c9d29f4a3dfe8e0f146979c47ccba835b81cb1f1ed6e95124a837918590fa"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "b2bf8e36ac1ca1afeae463bf95a289db7cf2d2fa303083ab405497cca2993b57"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "b4b9d2828e5387a65d0f63b2149400626cd47fc81b97b912eda11b3fe31d4604"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "c3af78f1215ffc1e9b6c193ba87d17e2f08e1a24856ee68aabf95b3ee7804ea9"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "7930f10d5d43e4504b9f347bcb2a2ef451be4418cee86c199b3e98c38587a20d"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "ee31279d2acf7286c9a59c99e68fdd1692b96247585230df20ea2bea5ee30ba2"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "f22f7964180ad27a122e56f070c6a2a0e3b044fe15ec5046b04db03877a3b7c7"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "84e8675f9613d1a8a49a760ee46d4625b88092cfc542e6b750384d0d5a0a465f"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "bed550a83c763a8147ef862cca7ca36106bfc5b34ea81f008c94886b86a3dde2"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "8bf76f388c6286a1b91cf460325b98c2dd08842031288617d9141b1368b5f62c"; }
-    { locale = "csb"; arch = "linux-i686"; sha256 = "2420bf49ff3429b3f186b17555b8b3250d44579b5ff7ce616914af646b5996be"; }
-    { locale = "csb"; arch = "linux-x86_64"; sha256 = "a0ee304a61b12ec1dd3caf5d876acbd9d2ad4443f9b96e73ecc1de8a1e16206f"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "603a66c237e95534d2dbd004e7fd77b69d5b99b73cba797c7825aaca6d849c61"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "69f68c024d6e9999b5a846d12c5a61ca63d962f6bd21737769d1fe5519916dad"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "da8ed391e8ae9729cf2af35700aff3f6900af208fee9eab6a6bd0fcb303abd09"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "7e3cc63eb61289e1006f683581345caaffe3ae39f7a636ff4f451b1e77a8ffb6"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "f191e74047cdddd43fa72242b1dce15a28160f62b4b8eae08ad117f4b27d6e0f"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "a81165d446cab525645ca2b18ef28cf253c6ee6267086d692a3904c79f7e5be0"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "eb0757aafd2a1c4bb9abeab01a3960d3ac21b92879f8dc7d24f485a43d305957"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "900f64bad286393f6d96f0ff00c6e78ae6cce998046cf506e2b3ec7a7b8e76c0"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "99284b229b7bfcc44cce3ebeee523e49bd5d9c7d860345ad3e242af4f9848683"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "9a4e003441556422375d4bede21da27a03d31b5ec452ff467abcfffdfe363f4a"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "13b4297db52ef851b38f292eba2b2136e4c2f1453e004012fe8b1fbcf000abce"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "ce87f081c4867b9968a2695341001854aa6c1f4f19073d13f54f333cfed236fc"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "849584baf4c6dd330bf9c798e3e8923004a3a381642d4f684b5de3fb5b4fd895"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "635d0cb43a2b5f7f0401f961fd88fc0d6735223ad421ec0ef92a4ee16b29727f"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "91da9571212dc82f5d7140e4de073189018f7f895a3b263a4f8840401b4b10bb"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "77f39ab0168efe9070ecd881dbd2884fe5f35eeea17a63ad8d957398f6eef40d"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "f4ec6f07e67195981c12b5cbc3a6289a6e9d29539014c034039bd498a40f9301"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "3f24135fd1a6fd2207bf1d80fc79cb34536b109e195e43a3a13eba0b68548c0e"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "de3672a512473cc6edc48bb775bc9a405d0c9effccdb0cd46af5ce2593d67613"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "770134c2bd8bc9f2e629e355b8e3b0949f67dd2ecd1b3a1d513bff364e53b734"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "4eeb5854427cde599468b90af70ae3e04eb9aff5132659f6e1ddb2f859f0be74"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "eb91e2e9b80cab85e6ab75e78a9b206a18bb647ffb247c0d5ed324ee219dccd9"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "0aa0c85a51a50adb9eca5e5a1eda0ca11ddc15ad12b2d930ebe769f10d535433"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "3f340072c80c95283b17e797bf4fdbde9d1de55b5f10f1c9e8193f8426c6157d"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "4719961e58e755ea2d9b94ff7439e1f9e858b0dacbd8631f98fadebca36c72a1"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "70aa1a76414c50b00fc85be87a07b936c7f60d83037f13716862e8491ec8d609"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "ea450d11b0cd3b4381797bf6ca48d74fb18d661864eccb365bc2d51b872b101a"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "d543e7fdd4c27875d30a1d527219e257296c6010e80dc0d5529722aa82cc666f"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "4b8aaf0d27f10474c6ec4eeec1418ffb08338475c5433199ac2db79aab5273b2"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "df10d71c7a762696ee682ca705052b15031dc7e84aa396f67fa26463e3dcd353"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "acdfec7656b48e5502692c408cd8c7543add80181130bdd2e0ec66ac44219a06"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "a9a0041cba2f80b09a2f22da6f1e9bfdfc1cbf0f5c324a427a1758174901fc27"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "304e90020134af5564d5c90c5d9fee6264aa871e82419408f5b0e9d97f8f8ff1"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "bfb86547ea4e0a5650a152070a7651a7f63b0df366fa4aed7f890033332e64a5"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "1ccef0f95df1571b9e378d97122303982f93251bd3ed70d0af93babc3459bad2"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "93ffcc3bbba8b7e0941fe674f6a67ed378e75b37c3e52debbef2434ea75f2b09"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "20ae7baa888fdcb467388313fa51104f8ba77ca31b2bcd731e2d65a46ff75c3f"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "33a028be0c63dc892efc93bd03375c8c4f9be38acb96a2bc516300c204086b3d"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "ddf134c692d321744bd787b7833ccc9b06ef130865c8f8ee816d35ff55c344a7"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e76e18b18a7468ee6a550e837abf04b79833ae084210f723d0781f2b81e3077e"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "3c361e322be79ffaec9a382aacf3b9cc90f03fa664e35e283cd8572e66d3b8b0"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "5e95305321ff373d9cc6eee522dbd5ee948e6c298f2fb38d655965ec1de448e0"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "99b9dbf38f50f5385072d72d14684e980aead6125c4c91cfa8e69bd5c7f1aa0e"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "372bf1395f96be3b41d05630267354f7a6c0706e90f5e21320ab5ebd5d411d41"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "0b8429553052c8e23d3aaf1210d53b51fac2250d1d526311a22757ebd85ca54f"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "da6a7d7292965a0c1eaf58564d9bf85192719831208e8762d06c7082ee9824d7"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "78ac97da0515eb5a94455dcbf4cbd9a8d1ddbf03d4b8d29bad7b9e8fdbf5ef12"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "c0d853c639cfa7b14ce10ee50776f3aebf0c84807bb59d9ec6e0e20554ae8ed2"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "82376fe3005c56d2e895e1ffa0e9233f3885700117a73d1c49d67d742e324752"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "0ed6234fa9c5d449437d133c83f572ceca3dd82df6cbee8573c9f137c50bcf9c"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "10ff3539c27dc49763fe322e9540878d421bdf590d9a307fecc6c158472889c3"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "f97d7e3b290b0fc6a9116198da7fc7eb32895da74a3ad572d29577e14ab12f20"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "bba1a949823e70d1b5f4a0bec27437b6fc11638fa67b2ca286a833a0d44f5ef8"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "5efaf3ec7f7b5d94df17d2fe0d5877a35442d33ccbf141fcf30e11351f9b4000"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "88a86463f2a47e38886cd2e8b470702623c772086b71d55e61de80e1c1be4fb3"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "967ff3bb62c8dbc93a25f75bec73803428b3fe5024841d3e2d97e444c1d27304"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "4bac63a8b8fea36c3dab794dff933972f9adff7f91a7d3957d4edc3c60534016"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9c26a2438462429f96b2d8bb8c4566b1b1f7d03200ed68aaca4eb6602342c33c"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "e36cd7195d5cd21afd97f31a5108af5999ade8a97f92db3e00067f3cfc31cd72"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "191e47625a6764670bfbab673989e5b2e6ad45ad1c3a0544a129afe8cb963171"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "c839d21d4e16b05bd9aa995ff2124b6b8418ca1405a8f3bfc70fb65b5710488b"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "16d8df9867e6a13a2be7408f459e2c67d449a47105cf9709e4a743abed8229a9"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "7f9c3909cda97d9a40f2630af4f11e6dd8e29f45ab949348123c4334f6aee8fe"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "52f95491dbf4ee9a1f2ee552feb8a30b8196b6747064e45d5a98d0fecfa11f67"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "6586fd1d792feea4e98442736f06eab15d7de526667db6a3ce7de1afac9fdaec"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "0ef883bdf3d415a5795bd613af05b16a406b3af3415ac1c1ebc646dd76f76467"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "39167c7ee9f0e9b62308fcaba0f061bda0eaac9d3bb707c6556f71085c7ddd54"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "ec2c9ae1f5daba1e3b0c8a4f24737b0968bc818748b682418f02983e25302703"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "797747aa402ad42b6addd04d69995b0ea5c628da71f2cce15c8e612d15461189"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "fd75e5fbba75dd8a6cdafdb1c4983bfd4336f300df559518d3fff0e6e7e482d6"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "fada07e5679bcf174078e0c596cd121301f72c307401922e5772c6fa79eeedbe"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "d9cbb3dc02e3db54ea691dc09c882fcd65fd99bb1d0250e29e3d0a37df72179b"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "22bd8b1dec10117579a267d5bb9b10f460c27c9419305aa1cc4456b09fcd7df5"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "0e9da5e79ebb149a62606e002202b70908d329a26c213df35480962fb05a9f7c"; }
-    { locale = "ku"; arch = "linux-i686"; sha256 = "e5f55ab5112ca3a137c4df37460304ff7e33471e3e95e2709ace1cb32ef88084"; }
-    { locale = "ku"; arch = "linux-x86_64"; sha256 = "224385ae3a9da1fbbbc0d309eba0de6f64e29da4de29299cb1c778cb5a57c968"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "e39f5edc61e25f490dcae7ea4fdc91033f5e868cbcaf848180c40bd920455f17"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "f6e9725f368ce4df3be078a1ad268a29cfeba01e5606de85fbe2e375b3a5e263"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "46b2c694c60540ded3d3f6cb504bc5b7a709cc0940ff6b3223f05d7b8e1f7309"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "51d10f5c63e377b0f9e46d7ee12ea8552b8df57d6e8d9334555b7fbab617c8a4"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "8e224c3efcca9864255332b7f7c089c0c04b0eb2dfe60cd04d7dd6a61d807852"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "e53090be92e7557be5d38aed25ac0a2fb1006d15bb38d61141473f4b38c6e26c"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "479795f542d17476bb721d3e7c7fef565617528016085976a63b9e5864b4dd31"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "8daa2882e27a19894ded43885e868dd7203f506cb1bd25ede1d36328fffbbe0d"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "78f6fa53d5fda46fbe54b9978acaa75faaf094d2d3b8e464539609253da07c52"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "47a147a93dc7d1e683a57f0d7ddd7fbe3d944145932e0773be8dab6a7a0b4b01"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "6ac6a36596db8bf675df76abc629fc99ff019455f8c08842668a08cb40b67e9a"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "c4d4bed760c429c5db1d5c42682127794f81e20182aed0fc37f4c9aaf7bc582c"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "a2fc483f2aca2cbb7bdff42e4b27b711fdf27f46bee707d1c6d664c391c95def"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "5209926b3130b8b75d933287872af62ac752fc9e3fc170b540a2f0bc49d97bdf"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "926944ef9a3807b3379bba4b2fff05d8c2776cc4e3239b0b2bd2e5424151e6ee"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "20cf8557fa41119febc99bbc6de10ea7e97d3c1abc2245241db862ca8a735db1"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "5a2778d9e93ae4371ad29737904aaecacf494855b45e5e79cfe773410f6600f6"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "8cfe4c778ee258dcd511990fd71eefcda46ab73c4448705e3815c5c371ee6ea1"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "350efbbaeb3ef9eee16a398ce482c2a3790f5b85dda6177857d7448de03af9e1"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "6d1310f7e2ebe5fc846f966bfa930a2bf3cd0877260de40b01496cb860630c37"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6447690e509ec0d1306bbfa484df82e62dd5909603b43440443c28bf2f489f24"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "6e71ad4fe85b02f8745e6b3b39a6f69f13fff45fd555704747d1f59fcf64447a"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "71866d15af41df9d98716544d25d8fc2069a9a8f92cdd8180731e3b3fb3c3492"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "22ace7c20948526f1011e16581c870a919c4d8002bd0c3210ae8f702d1f8a03f"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "12eabc66d39bd767c129c1a1777a6a13812efa0bc3df430dd7940908f53094ec"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "54501bca85e231e9fab0aa894a6e566966fdbd172fc45888d97eb828e248d105"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "e16acf44c5ab2ee708ba0f74301106a5fc0c36cd65ebd302043af09803f30138"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "a1532684d5d0e9e2091a5d42202dc6b49ee8c21df14600f0772e1f0f53f6d638"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9827bfda689b01e795d4ddf7ab1169e25cc1728175af74e8a08fa3e8ef40e40c"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "bfe02180011d564fe8deff4d3f3f8e3a6bfde05469738b5b2f8849a2ee485ba8"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "83fcda599d09946da8a968d903fa12b93502a23337f019d3217cc80f81607fe7"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "533050be56e6dbf06a5631a5b7a7db2da4f5514f224cb787600671c79c020379"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "62906af16b8e179be3015f6be9cf4b9481fcc506044c053373f9bc2e315729fa"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "f968ed9ba8ed43d0d52b02db23b2badf6e6a2544d105f23d6b09b80a07a28ee3"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "503fc4cf0de24ff5b1658d09264f8bb3b131c678f61c554ddf1006633ff2d336"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "514625ffbf4af4519a7671896f2f2797a1b17057dea356f7c17fa52a17736358"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "01521832ab38fd46751578691b82c0283d9c7a68459ab7225328afa285699b01"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "16b780ed767ff0537ec4619453d8cd3ebdcf124704d03d1741b5501007078dee"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "35ee6cded95ea13c8c480a46ffc9398f50d172aff2030611d6713b04ddc1c54d"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "c4ad9cec257bacffbcf3b4c84c63ec52e1ce830754b5be0b622a44ab223919ad"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "53a6bc5aebe5edf4bad34e163a54a3bed30a7c74ff883463caf057793ac3f58e"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "5110806bb3f02317b542bb79ce34c6bffeef68982807a5e53614958fb9adc779"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "3a58652b394fc2ffe1abcc1e89596f3e9357a2455cda8a0c76a44ff20331ada2"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "fb733f327080e5b4e2ae079a5cdbdb645fde1c9388368c13fcc6af4d3d91da7a"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "56a262e4411404e94747312858ae1e7ca99ea48171361f03cdc660f8b0da0da2"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "db77a5cab885f96efcbaae8e9f284ad30ab78aae1a405a5f1c2ac7d4d2e43498"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "fde7c85f09997ab3f7918072a9577f8d70947c5fafcc70782d684759146941bd"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "9865054be5d0a3913e4fa16aafdacd345607955b1d733d978033a2825d926c32"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "87f9f7d46a211b9205df5258f551b7c42264fdb81c70f836a37b3d5a821c4c03"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "ed03914c382efdec2f218e87e8efdd2b761e16ad0cc2a646b02050f27503161b"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "1e28e39ac45177607a2ff3c71d3317b8b777679bc9e8dad2236991f05c6823ca"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "81c2fdc5ec9f338b1dc3cd5d2e8dd62cf106c4cf759826be8eb7f3f3f550c49e"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "8e27ba1c8079745a93bebf6f7e4dbfa9ffc32b91d6dfa12975497466f3ec1550"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "c244aeff11608d6f1a8513045ab53d4909af02915761b15ff34ddbbc9995dcbe"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "32e404eeeebeb521d909cc64fe1ba3c0b40130f7a4b4ae742a48ba61e8b668d4"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "83b5cefddc6308050c24d9fb30818fa1fb3c1d4ba9a2de9d8fc99878b01855b4"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "009cb39521635c1c89717b3d526a59c05e7ab82082ec31f0fd482800f01d3e8b"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "1fe31902ef44e7049e9efa4774098c00d3ecad0a4c4f585716cb4bec158e3b88"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "e54ee04479b9891420af6fc1d639da121b677660a5bf1dfd8565792c9e1cdbdf"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "bdfae1142a7714a0be9bd24b02582a9ab9913c17d130cf0b2928deb657f8bebc"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "b2d6b518e86c3bae1068f7a6d7cdc975f3b0f99e514c5d3d18dbe5e62d15dbce"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "71bd0518b69c911dbb21297cd676ed66231a3b7bc59090a9f6a85d6882263277"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "390fb219da7169d69a7aca1df883750d56bf34f0f7b6b49781d6f3c6b8962962"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "1c5af9f646ced5533223bca6dd36f364c0ca9d3f02ba93797aa8b091144cf7e2"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "5d0d04c7c84ffc51b11f99205ae767954b78d98c3a2d18bfcceca1cb292fcd9a"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "5fafe2b375ee0935da52ec9037c4f515d1be5cf783548215d289a300e06bb9de"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "1361b7cfc08d4d000107a244ec2a163ab27616b1d1db13917f34acc4d4167d34"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "66aa04a7b5240df285afd37608c816b7c09cb365c6d0cd5aa4dbe8a7be61d824"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "c0e3d9b584ba10e2a67a904253b2d93ab3546465e69619f932b566ad6b04a003"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "6a24f9f3631bc0bcc15de6a124c0f7dbcee6d0099e2f0b0622a18e54c04620a9"; }
-    { locale = "zu"; arch = "linux-i686"; sha256 = "7fa59f6ee26d48f992015b0bb667a0c230cea854eafa67d7c4e51d38e1a267d3"; }
-    { locale = "zu"; arch = "linux-x86_64"; sha256 = "4af969f1e0d0703e83d903fc2a30739ae2ab42cc3a24219be8bfd152490970c5"; }
-  ];
+# imports `version` and `sources`
+with (import ./sources.nix);
 
+let
   arch = if stdenv.system == "i686-linux"
     then "linux-i686"
     else "linux-x86_64";
@@ -245,13 +64,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
-    inherit (source) sha256;
+    inherit (source) sha1;
   };
 
   phases = "unpackPhase installPhase";
 
   libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc
+    [ stdenv.cc.cc
       alsaLib
       atk
       cairo
@@ -269,7 +88,10 @@ stdenv.mkDerivation {
       gtk
       libX11
       libXScrnSaver
+      libXcomposite
+      libXdamage
       libXext
+      libXfixes
       libXinerama
       libXrender
       libXt
@@ -284,7 +106,7 @@ stdenv.mkDerivation {
       pulseaudio
       systemd
     ] + ":" + stdenv.lib.makeSearchPath "lib64" [
-      stdenv.gcc.gcc
+      stdenv.cc.cc
     ];
 
   # "strip" after "patchelf" may break binaries.
@@ -300,15 +122,15 @@ stdenv.mkDerivation {
       ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
 
       for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
+        firefox firefox-bin plugin-container \
         updater crashreporter webapprt-stub
       do
-        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           "$out/usr/lib/firefox-bin-${version}/$executable"
       done
 
       for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
+        firefox firefox-bin plugin-container \
         updater crashreporter webapprt-stub libxul.so
       do
         patchelf --set-rpath "$libPath" \
@@ -329,11 +151,10 @@ stdenv.mkDerivation {
     '';
 
   meta = with stdenv.lib; {
-    description = "Mozilla Firefox, free web browser";
+    description = "Mozilla Firefox, free web browser (binary package)";
     homepage = http://www.mozilla.org/firefox/;
     license = {
-      shortName = "unfree"; # not sure
-      fullName = "unfree";
+      free = false;
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
deleted file mode 100644
index a768b1f8dff..00000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
+++ /dev/null
@@ -1,217 +0,0 @@
-# TODO share code with thunderbird-bin/generate_nix.rb
-
-version = if ARGV.empty?
-            "latest"
-          else
-            ARGV[0]
-          end
-
-base_path = "download-installer.cdn.mozilla.net/pub/firefox/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
-  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
-  File.basename(path)
-end.sort
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-# real version number, e.g. "30.0" instead of "latest".
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
-  arches.map do |arch|
-    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
-
-    [locale, arch, path]
-  end
-end
-
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
-
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
-  input.each_line.map do |line|
-    $stderr.puts(line)
-
-    line.match(/^[0-9a-f]*/)[0]
-  end
-end
-
-
-puts(<<"EOH")
-# This file is generated from generate_nix.rb
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
-{ stdenv, fetchurl, config
-, alsaLib
-, atk
-, cairo
-, cups
-, dbus_glib
-, dbus_libs
-, fontconfig
-, freetype
-, gconf
-, gdk_pixbuf
-, glib
-, glibc
-, gst_plugins_base
-, gstreamer
-, gtk
-, libX11
-, libXScrnSaver
-, libXext
-, libXinerama
-, libXrender
-, libXt
-, libcanberra
-, libgnome
-, libgnomeui
-, mesa
-, nspr
-, nss
-, pango
-, heimdal
-, pulseaudio
-, systemd
-}:
-
-let
-  version = "#{real_version}";
-  sources = [
-EOH
-
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
-  locale, arch, path = tuple
-
-  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
-end
-
-puts(<<'EOF')
-  ];
-
-  arch = if stdenv.system == "i686-linux"
-    then "linux-i686"
-    else "linux-x86_64";
-
-  isPrefixOf = prefix: string:
-    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
-
-  sourceMatches = locale: source:
-      (isPrefixOf source.locale locale) && source.arch == arch;
-
-  systemLocale = config.i18n.defaultLocale or "en-US";
-
-  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
-
-  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
-
-in
-
-stdenv.mkDerivation {
-  name = "firefox-bin-${version}";
-
-  src = fetchurl {
-    url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
-    inherit (source) sha256;
-  };
-
-  phases = "unpackPhase installPhase";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc
-      alsaLib
-      atk
-      cairo
-      cups
-      dbus_glib
-      dbus_libs
-      fontconfig
-      freetype
-      gconf
-      gdk_pixbuf
-      glib
-      glibc
-      gst_plugins_base
-      gstreamer
-      gtk
-      libX11
-      libXScrnSaver
-      libXext
-      libXinerama
-      libXrender
-      libXt
-      libcanberra
-      libgnome
-      libgnomeui
-      mesa
-      nspr
-      nss
-      pango
-      heimdal
-      pulseaudio
-      systemd
-    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
-      stdenv.gcc.gcc
-    ];
-
-  # "strip" after "patchelf" may break binaries.
-  # See: https://github.com/NixOS/patchelf/issues/10
-  dontStrip = 1;
-
-  installPhase =
-    ''
-      mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
-      cp -r * "$prefix/usr/lib/firefox-bin-${version}"
-
-      mkdir -p "$out/bin"
-      ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
-
-      for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
-        updater crashreporter webapprt-stub
-      do
-        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          "$out/usr/lib/firefox-bin-${version}/$executable"
-      done
-
-      for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
-        updater crashreporter webapprt-stub libxul.so
-      do
-        patchelf --set-rpath "$libPath" \
-          "$out/usr/lib/firefox-bin-${version}/$executable"
-      done
-
-      # Create a desktop item.
-      mkdir -p $out/share/applications
-      cat > $out/share/applications/firefox.desktop <<EOF
-      [Desktop Entry]
-      Type=Application
-      Exec=$out/bin/firefox
-      Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
-      Name=Firefox
-      GenericName=Web Browser
-      Categories=Application;Network;
-      EOF
-    '';
-
-  meta = with stdenv.lib; {
-    description = "Mozilla Firefox, free web browser";
-    homepage = http://www.mozilla.org/firefox/;
-    license = {
-      shortName = "unfree"; # not sure
-      fullName = "unfree";
-      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
-    };
-    platforms = platforms.linux;
-  };
-}
-EOF
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
new file mode 100644
index 00000000000..eabff067f75
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
@@ -0,0 +1,48 @@
+# TODO share code with thunderbird-bin/generate_sources.rb
+
+require "open-uri"
+
+version = if ARGV.empty?
+            "latest"
+          else
+            ARGV[0]
+          end
+
+base_path = "http://download-installer.cdn.mozilla.net/pub/firefox/releases"
+
+Source = Struct.new(:hash, :arch, :locale, :filename)
+
+sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
+  input.readlines
+end.select do |line|
+  /\/firefox-.*\.tar\.bz2$/ === line && !(/source/ === line)
+end.map do |line|
+  hash, name = line.chomp.split(/ +/)
+  Source.new(hash, *(name.split("/")))
+end.sort_by do |source|
+  [source.locale, source.arch]
+end
+
+real_version = sources[0].filename.match(/firefox-([0-9.]*)\.tar\.bz2/)[1]
+
+arches = ["linux-i686", "linux-x86_64"]
+
+puts(<<"EOH")
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "#{real_version}";
+  sources = [
+EOH
+
+sources.each do |source|
+  puts(%Q|    { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+end
+
+puts(<<'EOF')
+  ];
+}
+EOF
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
new file mode 100644
index 00000000000..4978ba0faeb
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -0,0 +1,188 @@
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "37.0.1";
+  sources = [
+    { locale = "ach"; arch = "linux-i686"; sha1 = "179a537f1260b8e30b7449c5505b94b37f0d41e3"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha1 = "ae21b72d13a77cb0e573dc22ab3db0c5ed2fffec"; }
+    { locale = "af"; arch = "linux-i686"; sha1 = "b30cae46606cb15a631e30cf546784ae5bbe6ae1"; }
+    { locale = "af"; arch = "linux-x86_64"; sha1 = "7877dbf9eb3326065396cf89d6915d2e4ede8df3"; }
+    { locale = "an"; arch = "linux-i686"; sha1 = "7b6162cb4cdc708be730342d302663bba9bfd599"; }
+    { locale = "an"; arch = "linux-x86_64"; sha1 = "d9e94f06d3ce3d8effeb1621f34409e55394d355"; }
+    { locale = "ar"; arch = "linux-i686"; sha1 = "df11def71fa21f35c56850d8e2f78d4613e6b3d9"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "992c0493f14b560fae2abeedbc89947af5e77b01"; }
+    { locale = "as"; arch = "linux-i686"; sha1 = "48cc7960eb1b7359dcb2ef764e7e46de1af7d764"; }
+    { locale = "as"; arch = "linux-x86_64"; sha1 = "fc352ac4830922c958def4a4a15440958435f396"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "43a11793cb0ccb23414d6a512d1482a484704794"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "8606132de8acc56a78a2f6453f154c77f2f30384"; }
+    { locale = "az"; arch = "linux-i686"; sha1 = "b437824b2bdebf7b776fa79630c774c2d4e20929"; }
+    { locale = "az"; arch = "linux-x86_64"; sha1 = "1cf7549ab160f5bdce07d69f16e79ed687ed9520"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "289bccea6a881fbd8df27cf97864019fd5ef2cd9"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "ea4eb7de6639c45f4890555d893213051bdb9a7a"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "3117f051ec7c13726d058559239845703be18fa4"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "f1803a5012b336b245bffb03ca5b2020b8173373"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "c99b3170636d5010e9a1392d0038d491766b9612"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "60c696a3a99ab7d3b632025994f807eef230fb88"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha1 = "7cce3dfd5433b5d84eab3fa66fd053be799dc12e"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "fe100cbdb83edb573397c7d9e1fe4c025bd0e44f"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "ec0ae6c4aad9cb9387a2250e983658bc900364ce"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "8e9ffba6ffe45ee90e0496807832fcb67f953417"; }
+    { locale = "bs"; arch = "linux-i686"; sha1 = "158719e9e4c1d3cb7409e3cdd976b93e69157521"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha1 = "92d0be401e919366029c45f6c2faf06716a42b95"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "2107d600ef72ced48fa9c57356eeceb745ad3f4b"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "7bd119c52b7f15ed309250bee3c9e950be973373"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "21fb6a32d8812e33cae87c57a734a388dcaab659"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "d5a380fa2b03f94913c8286635582f448bb10f18"; }
+    { locale = "cy"; arch = "linux-i686"; sha1 = "c5da1b20a262a4047d68ec5fa918ed0c34fd9319"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha1 = "afcf20e60c3e009e2fb4b63067794a5e10b3125c"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "29b13a3c401d23e7fc3e53c771c09a1646f1c2bd"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "fa2b458839cd002f29196fb011d898eb31f39591"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "3264268b5e8cae1e19db0270414a2124c6aa37c0"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "efd1ca985a514e706b8f6cacf067834539e01687"; }
+    { locale = "dsb"; arch = "linux-i686"; sha1 = "b439d609b77bc8471b1225772431d0045250872a"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "2541f627b0d70a0e82048fcd5d27314f2570e57e"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "f83a2c3b182850f0a42bb23bd59b3e0cd010f4a4"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "11152704a3317a8643765971081fd164a1fd412b"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "1fa9ecc9fca6843c43d7acf10f747ad7bccad1af"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "b0780f9ba0bd6192ac7bfb646221d1354044992d"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "78a696320ac627c92cdf8002d2ee64fc9ff91298"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "6cdef8a3ecf19adba73dff406a6e2347773145ea"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha1 = "6549568f0ccc153c9054f79eb3333c4a767b9acc"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "f606267a84ed0283faeed88984998a8b345ad2b7"; }
+    { locale = "eo"; arch = "linux-i686"; sha1 = "8599d080063494131520abac51b8fe36015da47e"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha1 = "5bc6516b5bbcbc350c638facf02c48cb6422d4f3"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "affd50b2b4faedea658c054b15c68c30a101abd6"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "f968320f1e03edff75551832fc100f8926ab2cda"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha1 = "2d29f0f0e3c1a7cbdf9152a90a23f382f3ff33fc"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "1655f713a798ac64e208bc645892ac1a9730c42f"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "394fb56f9fe9e92d8d0462d26c1f23100cdfbbcb"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "3102debd55fdf4460a53e044628045296264fb26"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha1 = "1ff59b283608606766fc3f8170fed562990e28ef"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "faedfce978aaa04bc6b5b3e531307c2bf6911d92"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "383294c3debd1171cecbe7b9e69db918477057d3"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "be5c77971bea3a0ba520656264eafe23693d04eb"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "0e7dabd66975d5e8212da141c2eb36625ad8c583"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "d6d5cdf2c9a05916158016817f84229c6a24307b"; }
+    { locale = "fa"; arch = "linux-i686"; sha1 = "6c066ba7a4bb05445bb4ce82e9515aeeaf25dab7"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha1 = "c343770fea544d5221d8af5899f0b8e6ad8f657a"; }
+    { locale = "ff"; arch = "linux-i686"; sha1 = "264e2396bebafb6ab6a41481c7f33e3270769dff"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha1 = "78b2060ebabce282ed5bf7655ee9faf1696268c7"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "9c1a45b22d8fef51e101e4789200305cb38422a4"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "be45b36bf6bf913cee472d511e8bb6bfa03cb6d1"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "5d0caa1dd35e0388f70966b74582efb36bd290c1"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "3a5cc6d7f59e8e62d065edc4e6db3290228d067c"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "a35e82ebcf94bf9df32628c3d5e38ac1bf322f25"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "c02ab4bf770fe5bb1118aa7b6c826bd707255e79"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "4cd407afbb5f117e54da4749d75da9e604314f3b"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "c01a19d7beab0cb221197ad9d441e6858bb7c3d4"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "11d4ad74f036dc24537623fe6b756679dfffa065"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "9e06f955e80fbf3f39f7b0e96aef0278c3d6cde3"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "6f2a82aae2d23a8f61413ad0db962498ce270015"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "03172a2c69014f3f6f1f2f3e1d5a911a765b7f63"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha1 = "39b2be58e0f86f8a63d64bca60e0e49d8cf269ba"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "8221c5423b6de5f8db50cdf452c6cb7c05213940"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "a39006387ad757f704e3630fca2569d1d287d05a"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "ef6ee8fa645fb2b4c6513b09b3b989589ac82148"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha1 = "69cd720b5783c30588ae1d8de6dd8adf4457f6d7"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "484b891931cfe7f5612b2b996cf71803da79ebae"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "da5d22d99afd0555a3e63bd42338fc1b819cdba7"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "95461441c10107f9bec5e3876ebb904a095d65c5"; }
+    { locale = "hsb"; arch = "linux-i686"; sha1 = "b55f4b75c3d2237728d368fe7257231de1d43e62"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "c8cfd162a1e59ff05a16f1426aee7142cbe4c55c"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "f0036a02921312d219fe77fb9ecc3fbbf1252796"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "1e322d3e0f113e03f3c2aaa4b324b5e26401a2a8"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "d1dfc555a751e48ecc9c91a98cd9e4b8df9cc66f"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "3275da78c36df0ca6f1fc4754c2139d74fafea4d"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "63744d3b0e9eaa4d0e93f7b378882329e8f75c97"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "c36ae3ae88e3e7f6e0ab6e18648b2b165ac5a330"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "a65b62900cb3d0e24eff5d429995a01064b3aae2"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "092428e22d92d7f056339e3e79eb53463f01021b"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "79b528e45efc78b086a6d50789a4fc5e3c3ab0b9"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "ea0451cf50efe053e53a08085fa28de422f95c02"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "5ed262b081e2ac9bebf04a5b573a1260492263cb"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "ff41ad0691963bb19890905a4863d787725d2631"; }
+    { locale = "kk"; arch = "linux-i686"; sha1 = "748146b26ed457344f9221c1cd9e58d59db6bf80"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha1 = "3758b66e89576150b4895256a3906a928fe69a20"; }
+    { locale = "km"; arch = "linux-i686"; sha1 = "b65a6e7e928c8d52cd2a78c94ded54a56d3c91cf"; }
+    { locale = "km"; arch = "linux-x86_64"; sha1 = "6dc34498250dea567811a8db9a0c52ebbc6fce35"; }
+    { locale = "kn"; arch = "linux-i686"; sha1 = "90e6721fdfd1309d03c7ec7f8a083f555a33e535"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha1 = "6cafee1e4db15da7c291b0ce097c69258c664bf2"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "0af800c16d56132c57aa0f33e653e02ed6f1a8f8"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "ab2b7b49b970f2c6f5609d3874af5f7c9e0be28f"; }
+    { locale = "lij"; arch = "linux-i686"; sha1 = "f0e53f8bc7b45bfdc4701f9cf7db245b648759cd"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha1 = "0463eddc64c8c85caf93b03d98ac39ee6f98ebab"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "aeca5283a62d0f7f13a9f58f9217fb97b7866b78"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "43a5ef9908a7141a710275e369dab51b08081673"; }
+    { locale = "lv"; arch = "linux-i686"; sha1 = "c356c78e037807077161350b922d5a19357ec57f"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha1 = "d482e599c1de50bb99d819c9fa591fedc7d7f842"; }
+    { locale = "mai"; arch = "linux-i686"; sha1 = "7b53ad61f5c0753307088053948459ac33e9f85d"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha1 = "ef7612a38e11aaa665eff285001bfb28f291471a"; }
+    { locale = "mk"; arch = "linux-i686"; sha1 = "3f2d34b946dd8faaac6ffc4ad30a7df97d4a8ebf"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha1 = "222da5ce6f403935cbeff6162d28ba9d2b2f29bc"; }
+    { locale = "ml"; arch = "linux-i686"; sha1 = "a86756be94c91d4a68010ec8ef150a8ff6203b66"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha1 = "a1f8f2f7205152c1fa14da8929ed8448d6aeaf9a"; }
+    { locale = "mr"; arch = "linux-i686"; sha1 = "f6fb36516e34fdc3b768bec7183ebceea692608a"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha1 = "3b963c905a3c8236866fd5434e886aac79211831"; }
+    { locale = "ms"; arch = "linux-i686"; sha1 = "1115c894abb78dfd344ca47754fed1d6b491f7b9"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha1 = "abf7305a7ab69b4b030e66d2893f092cf61b1497"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "7ac1d330dbe7eed29bf84d3bcb6f96092fdf1f3d"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "1acb6fb37b2b14b5516a5f156100afd21b29490f"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "119b92b8553aaa5cb568631cdb36127d27768de3"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "3495b2263d92763975ddf4c643774295c9066e22"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "da9628a56892b5b254326f5fc06ffa144871cbb4"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "dfc0931bc426e1230a3efd1d33e22f2fd3e1849a"; }
+    { locale = "or"; arch = "linux-i686"; sha1 = "87508f44b0b94e4a5565d7d78463ad9a38ff2686"; }
+    { locale = "or"; arch = "linux-x86_64"; sha1 = "b0fc5e86738ff973766671e34916f6a7d824b971"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "daa29d6040d813fa5218bb419a5cf68358dd477b"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "614f733bfeb6ec6bbcc2cad1e1ff107fc9e2edab"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "751738d7a999293e45f41876d9ce9df019b14552"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "814968337f9f0f8b115d6d5415c48486c321a5bc"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "7b4f7dd33edd25e70de793772f9c9072baf351d5"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "8c243f2e0dc99400aed67c761dfd80a2f500f749"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "8edad0149c5a69515be113a399a9ea94459acb54"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "fb946da0f7620122aa31b8d16de54ce76d46ad42"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "43cdec3845b7051f36c432d48f20863ab2526272"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "46149817fe93b954acb284431d03b60cb91913b8"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "57c08ee9dfa72e15572ca6a698562b23a76b098e"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "79da06ee88fab7f6b947a14ee5eac79b0f8c9e6e"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "b91f1723e7811d89cc35a8b765dc69eee57a0655"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "55d456daa6525500d5e75a84d3206c395ebfa130"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "260cefb8b0057551b7b57e7b8c3bae2745a661b7"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "b9746f9bee2bbb166f165652207ab6820154947d"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "a2de5c4f49ea17a1ccda856ab44ad4dcb4d81bf2"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "aaaaa26ca608a519fc9f4176209b8c97d5993322"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "25582122ff73ced434f4e8f5a2c36eac2fef3d9b"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "d3f04f7942dd6d7013441fdbc2ff344a805c8e13"; }
+    { locale = "son"; arch = "linux-i686"; sha1 = "0a0e84c24d653e2931a24086518b09c88e9eaaec"; }
+    { locale = "son"; arch = "linux-x86_64"; sha1 = "60055d988359074dd464d1c5a58aad5bf77d363c"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "929f66a3e0789ea364af2dd50b23bf8b3eb2dc2e"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "c39f6fd009055f452a383f4fca0ec584de149488"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "782bf37d1f9de7c2453b6eac8531e50a011ef9fe"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "f9487559d2d958c7adc75d7a5004ee41b220ba3e"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "55934039ec798ae48b722c53b0556764e02f01fa"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "d3208d099c0f91a7bd51dc658ff92b686062aae4"; }
+    { locale = "ta"; arch = "linux-i686"; sha1 = "6907ec5b393467d4025a771191ab8e8a5aa6c60d"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha1 = "3d982f8acca0983ace02ed50cf7705613aa4a4bc"; }
+    { locale = "te"; arch = "linux-i686"; sha1 = "463653494603fe52b078df637821cdfee275d7df"; }
+    { locale = "te"; arch = "linux-x86_64"; sha1 = "01319af6358d4acecf364c9c291cab8aa0d87245"; }
+    { locale = "th"; arch = "linux-i686"; sha1 = "16155e79b6bfdd08917e97d1fe362f1e1bba5d20"; }
+    { locale = "th"; arch = "linux-x86_64"; sha1 = "726bff6d145a8f7584b8da90e27649a0da8bcbc9"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "27c67d2697e2b3d30ea8b241329eee79a03dc698"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "0f7f67506517dd1196a9ca6f8cb66a78e87e32e9"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "40f2ae51e1f29511b7e7d97e92a5369ba392ac93"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "85ad767ada8a472b373dae5a0b72219860ca5cab"; }
+    { locale = "uz"; arch = "linux-i686"; sha1 = "b0c41b4ac658b137505438fc79b4fba2518026ce"; }
+    { locale = "uz"; arch = "linux-x86_64"; sha1 = "4192ad7e58ee26da69e7f634a272bf16c13b0f88"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "05d301387623e73ff8e47c55862b5a282a1da4bd"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "9db1bb46e9dd1326f1396c9f29a4607a9e0fd3ee"; }
+    { locale = "xh"; arch = "linux-i686"; sha1 = "9fefd4b8b9082a7793d7e1a79d70ad85ea7a7b5e"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha1 = "1cd465d67089c9a85c18228a3f831e1359d16179"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "5a197ab692ecfa0e665cf3c03a29ff452c7dcad3"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "7637c196d5a8be4eefd805c088ef3ff33825603f"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "490b8af899c762e03608f37116293717b29e08f9"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "021ec599c4c9fc15dd88d4a7f5cc67ea5add17eb"; }
+  ];
+}
diff --git a/pkgs/applications/networking/browsers/firefox/13.0.nix b/pkgs/applications/networking/browsers/firefox/13.0.nix
deleted file mode 100644
index 1717a476e9c..00000000000
--- a/pkgs/applications/networking/browsers/firefox/13.0.nix
+++ /dev/null
@@ -1,188 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
-, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip, makeWrapper
-
-, # If you want the resulting program to call itself "Firefox" instead
-  # of "Shiretoko" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-}:
-
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
-
-rec {
-
-  firefoxVersion = "13.0.1";
-  
-  xulVersion = "13.0.1"; # this attribute is used by other packages
-
-  
-  src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha256 = "1qwvs3rdmrnkjnjvhi3vh4mjdpxr43zcm7llc6z5qws9n9yx15n1";
-  };
-  
-  commonConfigureFlags =
-    [ "--enable-optimize"
-      "--disable-debug"
-      "--enable-strip"
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
-      # "--enable-system-cairo" # disabled for the moment because our Cairo is too old
-      "--enable-system-sqlite"
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-installer" 
-      "--disable-updater"
-    ];
-
-
-  xulrunner = stdenv.mkDerivation rec {
-    name = "xulrunner-${xulVersion}";
-    
-    inherit src;
-
-    buildInputs =
-      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
-        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
-        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
-        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
-        xlibs.libXScrnSaver xlibs.scrnsaverproto
-        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
-      ];
-
-    configureFlags =
-      [ "--enable-application=xulrunner"
-        "--disable-javaxpcom"
-      ] ++ commonConfigureFlags;
-
-    enableParallelBuilding = true;
-      
-    # Hack to work around make's idea of -lbz2 dependency
-    preConfigure =
-      ''
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":" 
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-
-        mkdir ../objdir
-        cd ../objdir
-        configureScript=../mozilla-release/configure
-      ''; # */
-
-    # !!! Temporary hack.
-    preBuild =
-      ''
-        export NIX_ENFORCE_PURITY=
-      '';
-
-    installFlags = "SKIP_GRE_REGISTRATION=1";
-
-    postInstall = ''
-      # Fix some references to /bin paths in the Xulrunner shell script.
-      substituteInPlace $out/bin/xulrunner \
-          --replace /bin/pwd "$(type -tP pwd)" \
-          --replace /bin/ls "$(type -tP ls)"
-
-      # Fix run-mozilla.sh search
-      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
-      echo libDir: $libDir
-      test -n "$libDir"
-      cd $out/bin
-      mv xulrunner ../lib/$libDir/
-
-      for i in $out/lib/$libDir/*; do 
-          file $i;
-          if file $i | grep executable &>/dev/null; then 
-              echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
-              chmod a+x "$out/bin/$(basename "$i")";
-          fi;
-      done
-      for i in $out/lib/$libDir/*.so; do
-          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done
-      for i in $out/lib/$libDir/{xpcshell,plugin-container}; do
-          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
-      done
-      rm -f $out/bin/run-mozilla.sh
-    ''; # */
-
-    meta = {
-      description = "Mozilla Firefox XUL runner";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-    };
-
-    passthru = { inherit gtk; version = xulVersion; };
-  };
-
-
-  firefox = stdenv.mkDerivation rec {
-    name = "firefox-${firefoxVersion}";
-
-    inherit src;
-
-    enableParallelBuilding = true;
-      
-    buildInputs =
-      [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
-        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
-        xlibs.pixman yasm mesa sqlite file unzip
-      ];
-
-    propagatedBuildInputs = [xulrunner];
-
-    configureFlags =
-      [ "--enable-application=browser"
-        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
-        "--enable-chrome-format=jar"
-        "--disable-elf-hack"
-      ]
-      ++ commonConfigureFlags
-      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-    # Hack to work around make's idea of -lbz2 dependency
-    preConfigure =
-      ''
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":" 
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-      '';
-
-    postInstall =
-      ''
-        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        for j in $out/bin/*; do 
-	    i="$(readlink "$j")";
-            file $i;
-            if file $i | grep executable &>/dev/null; then 
-	        rm "$out/bin/$(basename "$i")"
-                echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
-                chmod a+x "$out/bin/$(basename "$i")"
-            fi;
-        done;
-      ''; # */
-
-    meta = {
-      description = "Mozilla Firefox - the browser, reloaded";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-    };
-
-    passthru = {
-      inherit gtk xulrunner nspr;
-      isFirefox3Like = true;
-    };
-  };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/30.nix b/pkgs/applications/networking/browsers/firefox/30.nix
deleted file mode 100644
index 1e2c3e2cfb1..00000000000
--- a/pkgs/applications/networking/browsers/firefox/30.nix
+++ /dev/null
@@ -1,211 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
-, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
-, hunspell, libevent, libstartup_notification, libvpx
-, cairo, gstreamer, gst_plugins_base, icu
-, debugBuild ? false
-, # If you want the resulting program to call itself "Firefox" instead
-  # of "Shiretoko" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-}:
-
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
-
-rec {
-
-  firefoxVersion = "30.0";
-
-  xulVersion = "30.0"; # this attribute is used by other packages
-
-
-  src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
-  };
-
-  commonConfigureFlags =
-    [ "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      "--with-system-nss"
-      "--with-system-libevent"
-      "--with-system-libvpx"
-      "--with-system-png"
-      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
-      "--enable-system-ffi"
-      "--enable-system-hunspell"
-      "--enable-system-pixman"
-      "--enable-system-sqlite"
-      "--enable-system-cairo"
-      "--enable-gstreamer"
-      "--enable-startup-notification"
-      # "--enable-content-sandbox"            # available since 26.0, but not much info available
-      # "--enable-content-sandbox-reporter"   # keeping disabled for now
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-installer"
-      "--disable-updater"
-      "--disable-pulseaudio"
-    ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
-                        else [ "--disable-debug" "--enable-release"
-                               "--enable-optimize" "--enable-strip" ]);
-
-
-  xulrunner = stdenv.mkDerivation rec {
-    name = "xulrunner-${xulVersion}";
-
-    inherit src;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
-        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
-        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
-        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
-        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
-        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base icu
-      ];
-
-    configureFlags =
-      [ "--enable-application=xulrunner"
-        "--disable-javaxpcom"
-      ] ++ commonConfigureFlags;
-
-    #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282
-
-    preConfigure =
-      ''
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-
-        mkdir ../objdir
-        cd ../objdir
-        configureScript=../mozilla-release/configure
-      ''; # */
-
-    #installFlags = "SKIP_GRE_REGISTRATION=1";
-
-    preInstall = ''
-      # The following is needed for startup cache creation on grsecurity kernels
-      paxmark m ../objdir/dist/bin/xpcshell
-    '';
-
-    postInstall = ''
-      # Fix run-mozilla.sh search
-      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
-      echo libDir: $libDir
-      test -n "$libDir"
-      cd $out/bin
-      rm xulrunner
-
-      for i in $out/lib/$libDir/*; do
-          file $i;
-          if file $i | grep executable &>/dev/null; then
-              echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
-              chmod a+x "$out/bin/$(basename "$i")";
-          fi;
-      done
-      for i in $out/lib/$libDir/*.so; do
-          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done
-
-      # For grsecurity kernels
-      paxmark m $out/lib/$libDir/{plugin-container,xulrunner}
-
-      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
-          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
-      done
-
-      rm -f $out/bin/run-mozilla.sh
-    ''; # */
-
-    meta = {
-      description = "Mozilla Firefox XUL runner";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-    };
-
-    passthru = { inherit gtk; version = xulVersion; };
-  };
-
-
-  firefox = stdenv.mkDerivation rec {
-    name = "firefox-${firefoxVersion}";
-
-    inherit src;
-
-    enableParallelBuilding = true;
-
-    buildInputs =
-      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
-        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
-        xlibs.pixman yasm mesa sqlite file unzip pysqlite
-        hunspell libevent libstartup_notification libvpx cairo
-        gstreamer gst_plugins_base icu
-      ];
-
-    patches = [
-      ./disable-reporter.patch # fixes "search box not working when built on xulrunner"
-      ./xpidl.patch
-    ];
-
-    propagatedBuildInputs = [xulrunner];
-
-    configureFlags =
-      [ "--enable-application=browser"
-        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
-        "--enable-chrome-format=jar"
-      ]
-      ++ commonConfigureFlags
-      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-    makeFlags = [
-      "SYSTEM_LIBXUL=1"
-    ];
-
-    # Because preConfigure runs configure from a subdirectory.
-    configureScript = "../configure";
-
-    preConfigure =
-      ''
-        # Hack to work around make's idea of -lbz2 dependency
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":"
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-
-        # Building directly in the main source directory is not allowed.
-        mkdir obj_dir
-        cd obj_dir
-      '';
-
-    postInstall =
-      ''
-        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        cd "$out/lib/"firefox-*
-        rm firefox
-        echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
-        chmod a+x firefox
-
-        # Put chrome.manifest etc. in the right place.
-        mv browser/* .
-        rmdir browser
-      ''; # */
-
-    meta = {
-      description = "Mozilla Firefox - the browser, reloaded";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-      maintainers = with stdenv.lib.maintainers; [ eelco wizeman ];
-    };
-
-    passthru = {
-      inherit gtk xulrunner nspr;
-      isFirefox3Like = true;
-    };
-  };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index e23a6d94ec1..03316b3ee71 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -13,16 +13,16 @@
   enableOfficialBranding ? false
 }:
 
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+assert stdenv.cc ? libc && stdenv.cc.libc != null;
 
-let version = "31.0"; in
+let version = "37.0.1"; in
 
 stdenv.mkDerivation rec {
   name = "firefox-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
-    sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
+    sha1 = "8bbffaa3cb81916bb44e11773d3f05fc4f2b9f36";
   };
 
   buildInputs =
@@ -66,7 +66,8 @@ stdenv.mkDerivation rec {
     ]
     ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
                       else [ "--disable-debug" "--enable-release"
-                             "--enable-optimize" "--enable-strip" ])
+                             "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
+                             "--enable-strip" ])
     ++ lib.optional enableOfficialBranding "--enable-official-branding";
 
   enableParallelBuilding = true;
@@ -87,7 +88,7 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       # For grsecurity kernels
-      paxmark m $out/lib/*/{plugin-container,xulrunner}
+      paxmark m $out/lib/${name}/{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-*
@@ -96,7 +97,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Web browser";
     homepage = http://www.mozilla.com/en-US/firefox/;
-    maintainers = with lib.maintainers; [ eelco wizeman ];
+    maintainers = with lib.maintainers; [ eelco ];
     platforms = lib.platforms.linux;
   };
 
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 6a00dfcd8c1..c8457427945 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, browser, makeDesktopItem, makeWrapper, plugins, libs, gtk_modules
-, browserName, desktopName, nameSuffix, icon
+{ stdenv, lib, browser, makeDesktopItem, makeWrapper, plugins, gst_plugins, libs, gtk_modules
+, browserName, desktopName, nameSuffix, icon, libtrick ? true
 }:
 
 let p = builtins.parseDrvName browser.name; in
@@ -10,14 +10,23 @@ stdenv.mkDerivation {
   desktopItem = makeDesktopItem {
     name = browserName;
     exec = browserName + " %U";
-    icon = icon;
+    icon = browserName;
     comment = "";
     desktopName = desktopName;
     genericName = "Web Browser";
     categories = "Application;Network;WebBrowser;";
+    mimeType = stdenv.lib.concatStringsSep ";" [
+      "text/html"
+      "text/xml"
+      "application/xhtml+xml"
+      "application/vnd.mozilla.xul+xml"
+      "x-scheme-handler/http"
+      "x-scheme-handler/https"
+      "x-scheme-handler/ftp"
+    ];
   };
 
-  buildInputs = [makeWrapper];
+  buildInputs = [makeWrapper] ++ gst_plugins;
 
   buildCommand = ''
     if [ ! -x "${browser}/bin/${browserName}" ]
@@ -32,7 +41,25 @@ stdenv.mkDerivation {
         --suffix-each LD_LIBRARY_PATH ':' "$libs" \
         --suffix-each GTK_PATH ':' "$gtk_modules" \
         --suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
-        --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))"
+        --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
+        --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
+        --set MOZ_OBJDIR "$(ls -d "${browser}/lib/${browserName}*")"
+
+    ${ lib.optionalString libtrick
+    ''
+    sed -e "s@exec @exec -a '$out/bin/${browserName}${nameSuffix}' @" -i "$out/bin/${browserName}${nameSuffix}"
+    libdirname="$(echo "${browser}/lib/${browserName}"*)"
+    libdirbasename="$(basename "$libdirname")"
+    mkdir -p "$out/lib/$libdirbasename"
+    ln -s "$libdirname"/* "$out/lib/$libdirbasename"
+    script_location="$(mktemp "$out/lib/$libdirbasename/${browserName}${nameSuffix}.XXXXXX")"
+    mv "$out/bin/${browserName}${nameSuffix}" "$script_location"
+    ln -s "$script_location" "$out/bin/${browserName}${nameSuffix}"
+    ''
+    }
+
+    mkdir -p $out/share/icons
+    ln -s $out/lib/${browserName}/browser/icons/mozicon128.png $out/share/icons/${browserName}.png
 
     mkdir -p $out/share/applications
     cp $desktopItem/share/applications/* $out/share/applications
diff --git a/pkgs/applications/networking/browsers/jumanji/default.nix b/pkgs/applications/networking/browsers/jumanji/default.nix
new file mode 100644
index 00000000000..ff4fea90bff
--- /dev/null
+++ b/pkgs/applications/networking/browsers/jumanji/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, pkgconfig, girara, gtk, webkitgtk, glib_networking, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "jumanji-${version}";
+  version = "20140622";
+
+  src = fetchgit {
+    url = git://pwmt.org/jumanji.git;
+    rev = "8f40487304a6a931487c411b25001f2bb5cf8d4f";
+    sha256 = "1hdk09rayyv2knxzn4n7d41dvh34gdk9ra75x7g9n985w13pkinv";
+  };
+
+  buildInputs = [ girara pkgconfig gtk webkitgtk makeWrapper ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  preFixup=''
+    wrapProgram "$out/bin/jumanji" \
+     --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Minimal web browser";
+    homepage = http://pwmt.org/projects/jumanji/;
+    platforms = platforms.all;
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/kwebkitpart/CVE-2014-8600.diff b/pkgs/applications/networking/browsers/kwebkitpart/CVE-2014-8600.diff
new file mode 100644
index 00000000000..0c65e68f216
--- /dev/null
+++ b/pkgs/applications/networking/browsers/kwebkitpart/CVE-2014-8600.diff
@@ -0,0 +1,33 @@
+--- a/src/webpage.cpp
++++ b/src/webpage.cpp
+@@ -226,23 +226,26 @@
+     doc += QL1S( "<h3>" );
+     doc += i18n( "Details of the Request:" );
+     doc += QL1S( "</h3><ul><li>" );
+-    doc += i18n( "URL: %1", reqUrl.url() );
++    // escape URL twice: once for i18n, and once for HTML.
++    doc += i18n( "URL: %1", Qt::escape( Qt::escape( reqUrl.prettyUrl() ) ) );
+     doc += QL1S( "</li><li>" );
+ 
+     const QString protocol (reqUrl.protocol());
+     if ( !protocol.isNull() ) {
+-        doc += i18n( "Protocol: %1", protocol );
++        // escape protocol twice: once for i18n, and once for HTML.
++        doc += i18n( "Protocol: %1", Qt::escape( Qt::escape( protocol ) ) );
+         doc += QL1S( "</li><li>" );
+     }
+ 
+     doc += i18n( "Date and Time: %1",
+                  KGlobal::locale()->formatDateTime(QDateTime::currentDateTime(), KLocale::LongDate) );
+     doc += QL1S( "</li><li>" );
+-    doc += i18n( "Additional Information: %1" ,  text );
++    // escape text twice: once for i18n, and once for HTML.
++    doc += i18n( "Additional Information: %1", Qt::escape( Qt::escape( text ) ) );
+     doc += QL1S( "</li></ul><h3>" );
+     doc += i18n( "Description:" );
+     doc += QL1S( "</h3><p>" );
+-    doc += description;
++    doc += Qt::escape( description );
+     doc += QL1S( "</p>" );
+ 
+     if ( causes.count() ) {
diff --git a/pkgs/applications/networking/browsers/kwebkitpart/default.nix b/pkgs/applications/networking/browsers/kwebkitpart/default.nix
index 5ced048fe64..cb3a0e9eac4 100644
--- a/pkgs/applications/networking/browsers/kwebkitpart/default.nix
+++ b/pkgs/applications/networking/browsers/kwebkitpart/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "0kszffgg3zpf319lmzlmdba5gq8kdr5xwb69xwy4s2abc9nvwvbi";
   };
 
+  patches = [ ./CVE-2014-8600.diff ];
+
   buildInputs = [ kdelibs ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/browsers/links/default.nix b/pkgs/applications/networking/browsers/links/default.nix
index 6bbd0fc800c..8e78a0bd89c 100644
--- a/pkgs/applications/networking/browsers/links/default.nix
+++ b/pkgs/applications/networking/browsers/links/default.nix
@@ -4,6 +4,6 @@ stdenv.mkDerivation {
   name = "links-1.00pre15";
   src = fetchurl {
     url = http://artax.karlin.mff.cuni.cz/~mikulas/links/download/links-1.00pre15.tar.gz;
-    md5 = "f64823b9a1ac2d79df578a991dfae8b8";
+    sha256 = "0yzgzc6jm9vhv7rgbj5s9zwxn9fnf4nyap9l6dzgpwsn7m18vprv";
   };
 }
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
new file mode 100644
index 00000000000..a3edaad37d4
--- /dev/null
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -0,0 +1,55 @@
+{ stdenv , fetchurl , git , glib_networking , gsettings_desktop_schemas , gtk,
+help2man , libunique , lua5 , luafilesystem , luajit , luasqlite3, makeWrapper,
+pkgconfig , sqlite , webkit }:
+
+let
+  lualibs       = [ luafilesystem luasqlite3 ];
+  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 {
+
+  name = "luakit-2012.09.13";
+
+  meta = with stdenv.lib; {
+    description = "Fast, small, webkit based browser framework extensible in Lua";
+    homepage    = "http://luakit.org";
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ matthiasbeyer ];
+    platforms   = platforms.linux; # I only tested linux
+  };
+
+  src = fetchurl {
+    url = "https://github.com/mason-larobina/luakit/archive/2012.09.13-r1.tar.gz";
+    sha256 = "067g3bp5w20jypc8rx54dpbn3ysbgxzchgpq7sld5yh2z36s1l52";
+  };
+
+  buildInputs = [ git gsettings_desktop_schemas gtk help2man libunique lua5
+    luafilesystem luajit luasqlite3 makeWrapper pkgconfig sqlite webkit ];
+
+  postPatch = ''
+    sed -i -e "s/DESTDIR/INSTALLDIR/" ./Makefile
+    sed -i -e "s|/etc/xdg/luakit/|$out/etc/xdg/luakit/|" lib/lousy/util.lua
+    patchShebangs ./build-utils
+  '';
+
+  buildPhase = ''
+    make DEVELOPMENT_PATHS=0 USE_LUAJIT=1 INSTALLDIR=$out DESTDIR=$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 DESTDIR=$out PREFIX=$out USE_GTK3=1 install
+    wrapProgram $out/bin/luakit                                         \
+      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/usr/share/:$out/share/:$GSETTINGS_SCHEMAS_PATH"     \
+      --prefix XDG_CONFIG_DIRS : "$out/etc/xdg"                         \
+      --set LUA_PATH '"${luaKitPath};${luaPath};"'                      \
+      --set LUA_CPATH '"${luaCPath};"'
+  '';
+
+}
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index 11a17709ade..d398cdd2942 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig, intltool, vala, makeWrapper
-, gtk3, webkitgtk, librsvg, libnotify
+, gtk3, webkitgtk, librsvg, libnotify, sqlite
 , glib_networking, gsettings_desktop_schemas
 }:
 
@@ -11,14 +11,18 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Lightweight WebKitGTK+ web browser";
-    homepage = "http://www.midori-browser.org";
+    homepage = "http://midori-browser.org";
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ raskin iyzsong ];
   };
 
   src = fetchurl {
-    url = "${meta.homepage}/downloads/midori_${version}_all_.tar.bz2";
+    urls = [
+      "${meta.homepage}/downloads/midori_${version}_all_.tar.bz2"
+      "http://mirrors-ru.go-parts.com/blfs/conglomeration/midori/midori_${version}_all_.tar.bz2"
+    ];
+    name = "midori_${version}_all_.tar.bz2";
     sha256 = "10ckm98rfqfbwr84b8mc1ssgj84wjgkr4dadvx2l7c64sigi66dg";
   };
 
@@ -26,7 +30,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cmake pkgconfig intltool vala makeWrapper
-    webkitgtk librsvg libnotify
+    webkitgtk librsvg libnotify sqlite
   ];
 
   cmakeFlags = ''
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index d39dfe3582e..26ba5c51480 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -36,7 +36,7 @@
 
 let
   # -> http://get.adobe.com/flashplayer/
-  version = "11.2.202.394";
+  version = "11.2.202.451";
 
   src =
     if stdenv.system == "x86_64-linux" then
@@ -47,18 +47,20 @@ let
       else rec {
         inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "1w82kmda91xdsrqpkrbcbrzswnbfszy0x9hvf9wf2h14isimdknx";
+        sha256 = "0jlk3bgpv998ajm5wlxngxy82h3mcd847wm8mkvmyfmjn4x9dv7z";
       }
     else if stdenv.system == "i686-linux" then
-      if debug then {
+      if debug then
+        throw "flash debugging version is outdated and probably broken" /* {
         # The debug version also contains a player
         version = "11.1";
         url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
-        sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
-      } else rec {
+        sha256 = "0jn7klq2cyqasj6nxfka2l8nsf7sn7hi6443nv6dd2sb3g7m6x92";
+      }*/
+      else rec {
         inherit version;
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "0c8wp4qn6k224krihxb08g7727wlklk9bl4h7nqp3cpp85x9hg97";
+        sha256 = "1lpvx6dz3hdf3jhs3xdf09jyh1563msq0icr832432d4a1jgqkds";
       }
     else throw "Flash Player is not supported on this platform";
 
@@ -88,7 +90,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Adobe Flash Player browser plugin";
     homepage = http://www.adobe.com/products/flashplayer/;
-    maintainers = with stdenv.lib.maintainers; [ wizeman ];
     license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
index 229aa4f23ba..3b473019600 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     ./ipc-lazytrace.patch
     ];
 
+  postPatch = "substituteInPlace plugin/pluginutil.c --replace strndup strndup_";
+
   passthru.mozillaPlugin = "/lib/mozilla/plugins";
 
   meta = {
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix
index 66309dc7f19..d707f326745 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/gmtk/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk, GConf, alsaLib }:
 
 stdenv.mkDerivation rec {
-  name = "gmtk-1.0.8";
+  name = "gmtk-1.0.9b";
 
   src = fetchurl {
     url = "http://gmtk.googlecode.com/files/${name}.tar.gz";
-    sha256 = "034b02nplb2bp01yn4p19345jh3yibhn4lcxznrzcsmsyj2vlzq0";
+    sha256 = "07y5hd94qhvlk9a9vhrpznqaml013j3rq52r3qxmrj74gg4yf4zc";
   };
 
   buildInputs = [ intltool pkgconfig gtk GConf alsaLib ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index afe0600d6f7..bdccb932e1c 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -13,6 +13,7 @@ let
     [ mesa
       xorg.libXt
       xorg.libX11
+      xorg.libXrender
       cairo
       libpng
       gtk
@@ -31,7 +32,7 @@ let
       xorg.libXfixes
       xorg.libXrender
       xorg.libXrandr
-      stdenv.gcc.gcc
+      stdenv.cc.cc
       alsaLib
       pulseaudio
       dbus_glib
@@ -47,20 +48,20 @@ stdenv.mkDerivation rec {
   name = "google-talk-plugin-${version}";
 
   # You can get the upstream version and SHA-1 hash from the following URLs:
-  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages
-  # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages
-  version = "5.1.5.0";
+  # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA1'
+  # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages | grep -E 'Version|SHA1'
+  version = "5.4.2.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha1 = "fc830f4c7f5816f4578ec73e6d4aef059ad4a0b1";
+        sha1 = "d75fad757750b4830c4e401ade92b4993e2a4ab2";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha1 = "9b7043c3585b3479ba11aabb7b8af755a61df963";
+        sha1 = "410872377b0bdac06b580c5e1755a3a3c712144b";
       }
     else throw "Google Talk does not support your platform.";
 
@@ -72,26 +73,22 @@ stdenv.mkDerivation rec {
     ''
       plugins=$out/lib/mozilla/plugins
       mkdir -p $plugins
-      cp opt/google/talkplugin/libnp*.so $plugins
+      cp opt/google/talkplugin/*.so $plugins
 
-      patchelf --set-rpath "${makeLibraryPath [ stdenv.gcc.gcc xorg.libX11 ]}:${stdenv.gcc.gcc}/lib64" \
-        $plugins/libnpgoogletalk.so
+      for i in libnpgoogletalk.so libppgoogletalk.so libppo1d.so; do
+        patchelf --set-rpath "${makeLibraryPath [ stdenv.cc.cc xorg.libX11 ]}:${stdenv.cc.cc}/lib64" $plugins/$i
+      done
 
-      patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.gcc.gcc}/lib64" \
-        $plugins/libnpgtpo3dautoplugin.so
+      for i in libgoogletalkremoting.so libnpo1d.so; do
+        patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.cc.cc}/lib64" $plugins/$i
+      done
 
       mkdir -p $out/libexec/google/talkplugin
-      cp -prd opt/google/talkplugin/{GoogleTalkPlugin,locale,windowpicker.glade} $out/libexec/google/talkplugin/
-
-      mkdir -p $out/libexec/google/talkplugin/lib
-      cp opt/google/talkplugin/lib/libCg* $out/libexec/google/talkplugin/lib/
-
-      patchelf --set-rpath "$out/libexec/google/talkplugin/lib" \
-        $out/libexec/google/talkplugin/lib/libCgGL.so
+      cp -prd opt/google/talkplugin/{data,GoogleTalkPlugin,locale,remoting24x24.png,windowpicker.glade} $out/libexec/google/talkplugin/
 
       patchelf \
-        --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-        --set-rpath "${rpathProgram}:${stdenv.gcc.gcc}/lib64" \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${rpathProgram}:${stdenv.cc.cc}/lib64" \
         $out/libexec/google/talkplugin/GoogleTalkPlugin
 
       # Generate an LD_PRELOAD wrapper to redirect execvp() calls to
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix
new file mode 100644
index 00000000000..10b2ffaff5b
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, dpkg, zlib }:
+
+assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
+
+stdenv.mkDerivation {
+  name = "TREZOR-bridge-1.0.5";
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url    = https://mytrezor.com/data/plugin/1.0.5/browser-plugin-trezor_1.0.5_amd64.deb;
+        sha256 = "0097h4v88yca4aayzprrh4pk03xvvj7ncz2mi83chm81gsr2v67z";
+      }
+    else
+      fetchurl {
+        url    = https://mytrezor.com/data/plugin/1.0.5/browser-plugin-trezor_1.0.5_i386.deb;
+        sha256 = "0xzbq78s3ivg00f0bj6gyjgf47pvjx2l4mm05jjmdar60bf1xr1n";
+      };
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  unpackPhase = "${dpkg}/bin/dpkg-deb -x $src .";
+
+  installPhase = ''
+    mkdir -p $out/etc/udev/rules.d/ $out/lib/mozilla/plugins
+    cp ./lib/udev/rules.d/51-trezor-udev.rules $out/etc/udev/rules.d/
+    cp ./usr/lib/mozilla/plugins/npBitcoinTrezorPlugin.so $out/lib/mozilla/plugins
+  '';
+
+  meta = with stdenv.lib;
+    { description = "Plugin for browser to TREZOR device communication";
+      homepage = https://mytrezor.com;
+      license = licenses.unfree;
+      maintainers = with maintainers; [ emery ];
+    };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/mozilla/builder.sh b/pkgs/applications/networking/browsers/mozilla/builder.sh
deleted file mode 100644
index 483585dd170..00000000000
--- a/pkgs/applications/networking/browsers/mozilla/builder.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-source $stdenv/setup
-
-preConfigure() {
-    cat > .mozconfig <<EOF
-#. \$topsrcdir/browser/config/mozconfig
-ac_add_options --prefix=$out
-ac_add_options --enable-optimize
-ac_add_options --disable-debug
-ac_add_options --enable-xft
-ac_add_options --disable-freetype2
-#ac_add_options --enable-swg
-ac_add_options --enable-strip
-ac_add_options --enable-default-toolkit=gtk2
-#ac_add_options --disable-shared
-#ac_add_options --enable-static
-#ac_add_options --with-system-jpeg
-#ac_add_options --with-system-png
-#ac_add_options --with-system-zlib
-EOF
-}
-
-postInstall() {
-
-    # Strip some more stuff
-    strip -S $out/lib/*/* || true
-
-    # We don't need this (do we?)
-#    rm -rf $out/include
-
-    # This fixes starting Firefox when there already is a running
-    # instance.  The `firefox' wrapper script actually expects to be
-    # in the same directory as `run-mozilla.sh', apparently.
-    cd $out/bin
-    mv firefox ../lib/firefox-*/
-    ln -s ../lib/firefox-*/firefox .
-
-    # Register extension etc.
-    echo "running firefox -register..."
-    (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
-
-    echo "running regxpcom..."
-    (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regxpcom) || false
-    
-#    echo "running regchrome..."
-#    (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regchrome) || false
-    
-}
-
-buildFlags="-f client.mk build"
-
-genericBuild
diff --git a/pkgs/applications/networking/browsers/mozilla/default.nix b/pkgs/applications/networking/browsers/mozilla/default.nix
deleted file mode 100644
index a2c667fa968..00000000000
--- a/pkgs/applications/networking/browsers/mozilla/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi}:
-
-# !!! assert libIDL.glib == gtk.glib;
-
-stdenv.mkDerivation {
-  name = "mozilla-1.7.12";
-
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.12/source/mozilla-1.7.12-source.tar.bz2;
-    md5 = "f1ad6adbbc0510eb76d352c94c801fac";
-  };
-
-  buildInputs = [pkgconfig gtk perl zip libIDL libXi];
-  inherit gtk;
-
-  #patches = [./writable-copies.patch];
-  meta = {
-    homepage = http://www.mozilla.org;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/haru.nix b/pkgs/applications/networking/browsers/netsurf/haru.nix
index 47f0c2f6455..7aa362c613f 100644
--- a/pkgs/applications/networking/browsers/netsurf/haru.nix
+++ b/pkgs/applications/networking/browsers/netsurf/haru.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation {
 
   installPhase = "make PREFIX=$out install";
 
-  meta = { 
+  meta = {
     description = "cross platform, open source library for generating PDF files";
     homepage = http://libharu.org/wiki/Main_Page;
-    license = "ZLIB/LIBPNG"; # see README.
+    license = with stdenv.lib.licenses; [ libpng zlib ];
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
     broken = true;
diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
index 300e9965092..1e9f74a1ffd 100644
--- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
@@ -7,6 +7,8 @@ stdenv.mkDerivation {
                (fetchurl { url = "http://mawercer.de/~nix/repos/libsvgtiny-9721.tar.gz"; sha256 = "0c4c8e357c220218a32ef789eb2ba8226a403d4c2b550d7c65f351a0af5d1a71"; });
   # END
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   installPhase = "make PREFIX=$out install";
   buildInputs = [pkgconfig gperf libxml2];
 
diff --git a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
index 8d19d1c1ef2..5aa15d7b80d 100644
--- a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
@@ -7,6 +7,8 @@ stdenv.mkDerivation {
                (fetchurl { url = "http://mawercer.de/~nix/repos/libwapcaplet-9721.tar.gz"; sha256 = "7f9f32ca772c939d67f3bc8bf0705544c2b2950760da3fe6a4e069ad0f77d91a"; });
   # END
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   installPhase = "make PREFIX=$out install";
   buildInputs = [];
 
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 201a6b947c1..ced16da5f7e 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -6,25 +6,25 @@
 , kdeSupport ? false, qt4, kdelibs
 }:
 
-assert stdenv.isLinux && stdenv.gcc.gcc != null && stdenv.gcc.libc != null;
+assert stdenv.isLinux && stdenv.cc.cc.isGNU or false && stdenv.cc.libc != null;
 
 let
   mirror = http://get.geo.opera.com/pub/opera;
 in
 
 stdenv.mkDerivation rec {
-  name = "opera-12.12-1707";
+  name = "opera-12.16-1860";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "${mirror}/linux/1212/${name}.i386.linux.tar.xz";
-        sha256 = "1jkrhxjxa5kz4bhyma0zlnsszdn84sq4pks3x8bfcayn12m6yxkz";
+        url = "${mirror}/linux/1216/${name}.i386.linux.tar.xz";
+        sha256 = "df640656a52b7c714faf25de92d84992116ce8f82b7a67afc1121eb3c428489d";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "${mirror}/linux/1212/${name}.x86_64.linux.tar.xz";
-        sha256 = "0acizxgyqblcvl91dwmvi937fi1kw6whz5qgxyl1fkygbayji90v";
+        url = "${mirror}/linux/1216/${name}.x86_64.linux.tar.xz";
+        sha256 = "b3b5cada3829d2b3b0e2da25e9444ce9dff73dc6692586ce72cfd4f6431e639e";
       }
     else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
 
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     '';
 
   buildInputs =
-    [ stdenv.gcc.gcc stdenv.gcc.libc zlib libX11 libXt libXext libSM libICE
+    [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE
       libXft freetype fontconfig libXrender libuuid expat
       gstreamer libxml2 gst_plugins_base
     ]
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
       elif [ $type == "EXEC" ]; then
         echo "patching $f executable <<"
         patchelf \
-            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
             --set-rpath "${libPath}" \
             "$f"
       elif [ $type == "DYN" ]; then
@@ -82,5 +82,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.opera.com;
     description = "Web browser";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix
index 3deabd42e01..ce36e26d6fc 100644
--- a/pkgs/applications/networking/browsers/rekonq/default.nix
+++ b/pkgs/applications/networking/browsers/rekonq/default.nix
@@ -3,11 +3,11 @@
 assert builtins.compareVersions "4.8.3" kde4.release != 1; # https://bugs.kde.org/show_bug.cgi?id=306077
 
 stdenv.mkDerivation rec {
-  name = "rekonq-1.80"; # >=1.80 need kde >=4.9.0
+  name = "rekonq-2.4.2"; # >=1.80 need kde >=4.9.0
 
   src = fetchurl {
-    url = "mirror://sourceforge/rekonq/${name}.tar.bz2";
-    sha256 = "1lzmg8psy1j1v8vrmsyw609jv9scgnigdivx97fb4spb7x6sxn4g";
+    url = "mirror://sourceforge/rekonq/${name}.tar.xz";
+    sha256 = "09jihyf4xl7bwfwahwwbx6f11h3zqljccchnpl4mijljylr5p079";
   };
 
   buildInputs = [ kde4.kdelibs qca2 qoauth ];
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 996bda67323..b30b2e260e3 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,16 +4,16 @@
 
 stdenv.mkDerivation rec {
   name = "vimb-${version}";
-  version = "2.7";
+  version = "2.9";
 
   src = fetchurl {
     url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
-    sha256 = "05i5p9827rgga4h27qy3qh4ps8aynkcr55j681ddhn16ci3dk8zr";
+    sha256 = "0h9m5qfs09lb0dz8a79yccmm3a5rv6z8gi5pkyfh8fqkgkh2940p";
   };
 
   # Nixos default ca bundle
   patchPhase = ''
-    sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, src/setting.c
+    sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, src/config.def.h
   '';
 
   buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit gsettings_desktop_schemas ];
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index 5f046f7b732..bf14e7e5341 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://w3m.sourceforge.net/;
     description = "A text-mode web browser";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/chronos/chronos-deps.nix b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix
new file mode 100644
index 00000000000..d258c493aa1
--- /dev/null
+++ b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix
@@ -0,0 +1,18 @@
+{stdenv, curl}:
+
+stdenv.mkDerivation {
+  name = "chronos-maven-deps";
+  builder = ./fetch-chronos-deps.sh;
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0mm2sb1p5zz6b0z2s4zhdlix6fafydsxmqjy8zbkwzw4f6lazzyl";
+
+  buildInputs = [ curl ];
+
+  # We borrow these environment variables from the caller to allow
+  # easy proxy configuration.  This is impure, but a fixed-output
+  # derivation like fetchurl is allowed to do so since its result is
+  # by definition pure.
+  impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
+}
diff --git a/pkgs/applications/networking/cluster/chronos/default.nix b/pkgs/applications/networking/cluster/chronos/default.nix
new file mode 100644
index 00000000000..14f5d251240
--- /dev/null
+++ b/pkgs/applications/networking/cluster/chronos/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, makeWrapper, fetchgit, curl, jdk, maven, nodejs, mesos }:
+
+stdenv.mkDerivation rec {
+  name = "chronos-${version}";
+  version = "286b2ccb8e4695f8e413406ceca85b60d3a87e22";
+
+  src = fetchgit {
+    url = "https://github.com/airbnb/chronos";
+    rev = version;
+    sha256 = "6c463c30530dc82276d30087e7ab08d6964b884232c0a93f691cef9fa1ff2651";
+  };
+
+  buildInputs = [ makeWrapper curl jdk maven nodejs mesos ];
+
+  mavenRepo = import ./chronos-deps.nix { inherit stdenv curl; };
+
+  buildPhase = ''
+    ln -s $mavenRepo .m2
+    mvn package -Dmaven.repo.local=$(pwd)/.m2
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,libexec/chronos}
+    cp target/chronos*.jar $out/libexec/chronos/${name}.jar
+
+    makeWrapper ${jdk.jre}/bin/java $out/bin/chronos \
+      --add-flags "-Xmx384m -Xms384m -cp $out/libexec/chronos/${name}.jar com.airbnb.scheduler.Main" \
+      --prefix "MESOS_NATIVE_LIBRARY" : "$MESOS_NATIVE_LIBRARY"
+  '';
+
+  meta = with lib; {
+    homepage    = http://airbnb.github.io/chronos;
+    license     = licenses.asl20;
+    description = "Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules";
+    maintainers = with maintainers; [ offline ];
+    platforms   = with platforms; unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/chronos/fetch-chronos-deps.sh b/pkgs/applications/networking/cluster/chronos/fetch-chronos-deps.sh
new file mode 100644
index 00000000000..2e337076107
--- /dev/null
+++ b/pkgs/applications/networking/cluster/chronos/fetch-chronos-deps.sh
@@ -0,0 +1,1672 @@
+source $stdenv/setup
+header "fetching Chronos maven repo"
+
+function fetchArtifact {
+  repoPath="$1"
+  echo "fetching $repoPath"
+  mkdir -p $(dirname $out/$repoPath)
+  curl --fail --location --insecure --max-redirs 20 "http://repo.maven.apache.org/maven2/$repoPath" --output "$out/$repoPath" ||
+  curl --fail --location --insecure --max-redirs 20 "https://repository.apache.org/content/repositories/release/$repoPath" --output "$out/$repoPath" ||
+  curl --fail --location --insecure --max-redirs 20 "http://downloads.mesosphere.io/maven/$repoPath" --output "$out/$repoPath"
+}
+
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.pom
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.jar
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.jar.sha1
+fetchArtifact commons-io/commons-io/2.2/commons-io-2.2.pom.sha1
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.jar
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.pom.sha1
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.pom
+fetchArtifact aopalliance/aopalliance/1.0/aopalliance-1.0.jar.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar
+fetchArtifact net/kencochrane/raven/raven-all/4.1.2/raven-all-4.1.2.pom
+fetchArtifact net/kencochrane/raven/raven-all/4.1.2/raven-all-4.1.2.pom.sha1
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.jar
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.pom
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.jar.sha1
+fetchArtifact net/kencochrane/raven/raven/4.1.2/raven-4.1.2.pom.sha1
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.jar.sha1
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.jar
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.pom.sha1
+fetchArtifact net/kencochrane/raven/raven-getsentry/4.1.2/raven-getsentry-4.1.2.pom
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.jar.sha1
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.pom
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.jar
+fetchArtifact net/liftweb/lift-markdown_2.11/2.6-M4/lift-markdown_2.11-2.6-M4.pom.sha1
+fetchArtifact net/java/jvnet-parent/4/jvnet-parent-4.pom
+fetchArtifact net/java/jvnet-parent/4/jvnet-parent-4.pom.sha1
+fetchArtifact net/java/jvnet-parent/1/jvnet-parent-1.pom
+fetchArtifact net/java/jvnet-parent/1/jvnet-parent-1.pom.sha1
+fetchArtifact net/java/jvnet-parent/3/jvnet-parent-3.pom.sha1
+fetchArtifact net/java/jvnet-parent/3/jvnet-parent-3.pom
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.jar.sha1
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.pom.sha1
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.pom
+fetchArtifact net/alchim31/maven/scala-maven-plugin/3.1.0/scala-maven-plugin-3.1.0.jar
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.jar
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.pom
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.jar.sha1
+fetchArtifact net/jpountz/lz4/lz4/1.2.0/lz4-1.2.0.pom.sha1
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
+fetchArtifact xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.pom.sha1
+fetchArtifact xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.pom
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.jar
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.jar.sha1
+fetchArtifact io/dropwizard/metrics/metrics-core/3.1.0/metrics-core-3.1.0.pom.sha1
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.jar.sha1
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.jar
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.pom.sha1
+fetchArtifact io/dropwizard/metrics/metrics-graphite/3.1.0/metrics-graphite-3.1.0.pom
+fetchArtifact io/dropwizard/metrics/metrics-parent/3.1.0/metrics-parent-3.1.0.pom.sha1
+fetchArtifact io/dropwizard/metrics/metrics-parent/3.1.0/metrics-parent-3.1.0.pom
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.jar.sha1
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.pom
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.jar
+fetchArtifact io/netty/netty/3.7.0.Final/netty-3.7.0.Final.pom.sha1
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.pom.sha1
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.jar
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.pom
+fetchArtifact io/netty/netty/3.9.0.Final/netty-3.9.0.Final.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.jar.sha1
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.pom.sha1
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.jar
+fetchArtifact log4j/log4j/1.2.16/log4j-1.2.16.pom
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.pom.sha1
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.jar
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.jar.sha1
+fetchArtifact log4j/log4j/1.2.17/log4j-1.2.17.pom
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
+fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
+fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom
+fetchArtifact com/google/inject/guice-parent/3.0/guice-parent-3.0.pom.sha1
+fetchArtifact com/google/inject/guice-parent/3.0/guice-parent-3.0.pom
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.pom.sha1
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar.sha1
+fetchArtifact com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.pom
+fetchArtifact com/google/inject/extensions/extensions-parent/3.0/extensions-parent-3.0.pom.sha1
+fetchArtifact com/google/inject/extensions/extensions-parent/3.0/extensions-parent-3.0.pom
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.jar
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.jar.sha1
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.pom.sha1
+fetchArtifact com/google/inject/guice/3.0/guice-3.0.pom
+fetchArtifact com/google/google/1/google-1.pom
+fetchArtifact com/google/google/1/google-1.pom.sha1
+fetchArtifact com/google/google/5/google-5.pom.sha1
+fetchArtifact com/google/google/5/google-5.pom
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar.sha1
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar
+fetchArtifact com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
+fetchArtifact com/google/guava/guava-parent/15.0/guava-parent-15.0.pom
+fetchArtifact com/google/guava/guava-parent/15.0/guava-parent-15.0.pom.sha1
+fetchArtifact com/google/guava/guava-parent/13.0.1/guava-parent-13.0.1.pom.sha1
+fetchArtifact com/google/guava/guava-parent/13.0.1/guava-parent-13.0.1.pom
+fetchArtifact com/google/guava/guava-parent/17.0/guava-parent-17.0.pom.sha1
+fetchArtifact com/google/guava/guava-parent/17.0/guava-parent-17.0.pom
+fetchArtifact com/google/guava/guava-parent/16.0.1/guava-parent-16.0.1.pom
+fetchArtifact com/google/guava/guava-parent/16.0.1/guava-parent-16.0.1.pom.sha1
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1
+fetchArtifact com/google/guava/guava/15.0/guava-15.0.pom.sha1
+fetchArtifact com/google/guava/guava/15.0/guava-15.0.pom
+fetchArtifact com/google/guava/guava/13.0.1/guava-13.0.1.pom
+fetchArtifact com/google/guava/guava/13.0.1/guava-13.0.1.pom.sha1
+fetchArtifact com/google/guava/guava/17.0/guava-17.0.pom
+fetchArtifact com/google/guava/guava/17.0/guava-17.0.pom.sha1
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.pom.sha1
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.pom
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.jar
+fetchArtifact com/google/guava/guava/16.0.1/guava-16.0.1.jar.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.pom
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.pom.sha1
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.jar
+fetchArtifact com/github/spullara/mustache/java/compiler/0.8.12/compiler-0.8.12.jar.sha1
+fetchArtifact com/github/spullara/mustache/java/mustache.java/0.8.12/mustache.java-0.8.12.pom
+fetchArtifact com/github/spullara/mustache/java/mustache.java/0.8.12/mustache.java-0.8.12.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-servlets/3.0.2/metrics-servlets-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-annotation/3.0.2/metrics-annotation-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-jvm/3.0.2/metrics-jvm-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-json/3.0.2/metrics-json-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-jersey/3.0.2/metrics-jersey-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-jetty8/3.0.2/metrics-jetty8-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.jar.sha1
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.jar
+fetchArtifact com/codahale/metrics/metrics-healthchecks/3.0.2/metrics-healthchecks-3.0.2.pom
+fetchArtifact com/codahale/metrics/metrics-parent/3.0.2/metrics-parent-3.0.2.pom.sha1
+fetchArtifact com/codahale/metrics/metrics-parent/3.0.2/metrics-parent-3.0.2.pom
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.4.1/jackson-jaxrs-base-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.4.1/jackson-jaxrs-json-provider-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-providers/2.4.1/jackson-jaxrs-providers-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/jaxrs/jackson-jaxrs-providers/2.4.1/jackson-jaxrs-providers-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.1/jackson-annotations-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.0/jackson-annotations-2.4.0.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.4.0/jackson-annotations-2.4.0.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.2.2/jackson-annotations-2.2.2.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-annotations/2.2.2/jackson-annotations-2.2.2.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1/jackson-databind-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1/jackson-databind-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.jar
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.4.1.1/jackson-databind-2.4.1.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.2.2/jackson-databind-2.2.2.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-databind/2.2.2/jackson-databind-2.2.2.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.jar.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.3.0/jackson-core-2.3.0.jar
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.4.1/jackson-core-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.4.1/jackson-core-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.2.2/jackson-core-2.2.2.pom
+fetchArtifact com/fasterxml/jackson/core/jackson-core/2.2.2/jackson-core-2.2.2.pom.sha1
+fetchArtifact com/fasterxml/jackson/jackson-parent/2.4/jackson-parent-2.4.pom
+fetchArtifact com/fasterxml/jackson/jackson-parent/2.4/jackson-parent-2.4.pom.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.pom
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-scala_2.11/2.4.1/jackson-module-scala_2.11-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.jar
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.pom.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.jar.sha1
+fetchArtifact com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.4.1/jackson-module-jaxb-annotations-2.4.1.pom
+fetchArtifact com/fasterxml/oss-parent/16/oss-parent-16.pom
+fetchArtifact com/fasterxml/oss-parent/16/oss-parent-16.pom.sha1
+fetchArtifact com/fasterxml/oss-parent/11/oss-parent-11.pom.sha1
+fetchArtifact com/fasterxml/oss-parent/11/oss-parent-11.pom
+fetchArtifact com/fasterxml/oss-parent/10/oss-parent-10.pom.sha1
+fetchArtifact com/fasterxml/oss-parent/10/oss-parent-10.pom
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.pom.sha1
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.pom
+fetchArtifact com/fasterxml/classmate/1.0.0/classmate-1.0.0.jar.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.jar
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.pom.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.pom
+fetchArtifact com/datastax/cassandra/cassandra-driver-core/2.1.0/cassandra-driver-core-2.1.0.jar.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-parent/2.1.0/cassandra-driver-parent-2.1.0.pom.sha1
+fetchArtifact com/datastax/cassandra/cassandra-driver-parent/2.1.0/cassandra-driver-parent-2.1.0.pom
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0.pom.sha1
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0-sources.jar
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0.pom
+fetchArtifact com/typesafe/sbt/compiler-interface/0.12.0/compiler-interface-0.12.0-sources.jar.sha1
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.jar.sha1
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.jar
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.pom
+fetchArtifact com/typesafe/sbt/sbt-interface/0.12.0/sbt-interface-0.12.0.pom.sha1
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.jar.sha1
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.pom.sha1
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.jar
+fetchArtifact com/typesafe/sbt/incremental-compiler/0.12.0/incremental-compiler-0.12.0.pom
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.pom.sha1
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.jar.sha1
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.pom
+fetchArtifact com/typesafe/config/1.2.1/config-1.2.1.jar
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.jar
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.pom.sha1
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.pom
+fetchArtifact com/typesafe/zinc/zinc/0.1.0/zinc-0.1.0.jar.sha1
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.pom.sha1
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.jar.sha1
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.pom
+fetchArtifact com/typesafe/akka/akka-actor_2.11/2.3.6/akka-actor_2.11-2.3.6.jar
+fetchArtifact com/thoughtworks/paranamer/paranamer-parent/2.6/paranamer-parent-2.6.pom.sha1
+fetchArtifact com/thoughtworks/paranamer/paranamer-parent/2.6/paranamer-parent-2.6.pom
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.pom
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.jar.sha1
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.pom.sha1
+fetchArtifact com/thoughtworks/paranamer/paranamer/2.6/paranamer-2.6.jar
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-server/1.18.1/jersey-server-1.18.1.jar
+fetchArtifact com/sun/jersey/jersey-server/1.17.1/jersey-server-1.17.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-server/1.17.1/jersey-server-1.17.1.pom
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.jar
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-servlet/1.18.1/jersey-servlet-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.jar
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-core/1.18.1/jersey-core-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/jersey-core/1.17.1/jersey-core-1.17.1.pom
+fetchArtifact com/sun/jersey/jersey-core/1.17.1/jersey-core-1.17.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-project/1.18.1/jersey-project-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-project/1.18.1/jersey-project-1.18.1.pom
+fetchArtifact com/sun/jersey/jersey-project/1.17.1/jersey-project-1.17.1.pom.sha1
+fetchArtifact com/sun/jersey/jersey-project/1.17.1/jersey-project-1.17.1.pom
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.pom.sha1
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.jar.sha1
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.jar
+fetchArtifact com/sun/jersey/contribs/jersey-guice/1.18.1/jersey-guice-1.18.1.pom
+fetchArtifact com/sun/jersey/contribs/jersey-contribs/1.18.1/jersey-contribs-1.18.1.pom
+fetchArtifact com/sun/jersey/contribs/jersey-contribs/1.18.1/jersey-contribs-1.18.1.pom.sha1
+fetchArtifact com/sun/mail/all/1.4.5/all-1.4.5.pom
+fetchArtifact com/sun/mail/all/1.4.5/all-1.4.5.pom.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.jar
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.pom
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.pom.sha1
+fetchArtifact jgraph/jgraph/5.13.0.0/jgraph-5.13.0.0.jar.sha1
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1
+fetchArtifact asm/asm-parent/3.1/asm-parent-3.1.pom.sha1
+fetchArtifact asm/asm-parent/3.1/asm-parent-3.1.pom
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1
+fetchArtifact asm/asm/3.1/asm-3.1.pom.sha1
+fetchArtifact asm/asm/3.1/asm-3.1.pom
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.pom
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.pom.sha1
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.jar.sha1
+fetchArtifact jline/jline/0.9.94/jline-0.9.94.jar
+fetchArtifact xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.pom
+fetchArtifact xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.jar
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.jar.sha1
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.pom
+fetchArtifact org/vafer/jdependency/0.9/jdependency-0.9.pom.sha1
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.jar.sha1
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.jar
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.pom
+fetchArtifact org/joda/joda-convert/1.7/joda-convert-1.7.pom.sha1
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.pom
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.jar.sha1
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.pom.sha1
+fetchArtifact org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.jar
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.pom.sha1
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.pom
+fetchArtifact org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.pom.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.jar
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.pom
+fetchArtifact org/javabits/jgrapht/jgrapht-ext/0.9.1/jgrapht-ext-0.9.1.jar.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.pom
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.jar
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.jar.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht-core/0.9.1/jgrapht-core-0.9.1.pom.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht/0.9.1/jgrapht-0.9.1.pom.sha1
+fetchArtifact org/javabits/jgrapht/jgrapht/0.9.1/jgrapht-0.9.1.pom
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.pom
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.jar.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.jar
+fetchArtifact org/scala-lang/scala-compiler/2.11.2/scala-compiler-2.11.2.pom.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.jar.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.jar
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.pom.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.11.0-RC3/scala-compiler-2.11.0-RC3.pom
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.jar
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.pom.sha1
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.pom
+fetchArtifact org/scala-lang/scala-compiler/2.9.2/scala-compiler-2.9.2.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.pom
+fetchArtifact org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.pom
+fetchArtifact org/scala-lang/scala-library/2.11.2/scala-library-2.11.2.jar
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.pom
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.jar
+fetchArtifact org/scala-lang/scala-library/2.11.0-RC3/scala-library-2.11.0-RC3.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.pom
+fetchArtifact org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.pom.sha1
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.pom
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.jar.sha1
+fetchArtifact org/scala-lang/scala-library/2.9.2/scala-library-2.9.2.jar
+fetchArtifact org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.pom
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.jar
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.jar.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.pom
+fetchArtifact org/scala-lang/scala-reflect/2.11.2/scala-reflect-2.11.2.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.jar.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.pom
+fetchArtifact org/scala-lang/scala-reflect/2.11.0-RC3/scala-reflect-2.11.0-RC3.jar
+fetchArtifact org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.pom.sha1
+fetchArtifact org/scala-lang/scala-reflect/2.11.0/scala-reflect-2.11.0.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-xml_2.11.0-RC3/1.0.1/scala-xml_2.11.0-RC3-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11.0-RC3/1.0.1/scala-parser-combinators_2.11.0-RC3-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.jar
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-parser-combinators_2.11/1.0.2/scala-parser-combinators_2.11-1.0.2.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.jar
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.1/scala-xml_2.11-1.0.1.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.pom.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar.sha1
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.pom
+fetchArtifact org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.jar.sha1
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.pom.sha1
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.pom
+fetchArtifact org/scala-sbt/test-interface/1.0/test-interface-1.0.jar
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.jar.sha1
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.pom.sha1
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.pom
+fetchArtifact org/specs2/specs2_2.11.0-RC3/2.3.10/specs2_2.11.0-RC3-2.3.10.jar
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.jar
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.pom
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.jar.sha1
+fetchArtifact org/specs2/classycle/1.4.3/classycle-1.4.3.pom.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1
+fetchArtifact org/jboss/shrinkwrap/shrinkwrap-bom/1.0.1/shrinkwrap-bom-1.0.1.pom
+fetchArtifact org/jboss/shrinkwrap/shrinkwrap-bom/1.0.1/shrinkwrap-bom-1.0.1.pom.sha1
+fetchArtifact org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-3/shrinkwrap-descriptors-bom-2.0.0-alpha-3.pom.sha1
+fetchArtifact org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-bom/2.0.0-alpha-3/shrinkwrap-descriptors-bom-2.0.0-alpha-3.pom
+fetchArtifact org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/1.0.0-beta-7/shrinkwrap-resolver-bom-1.0.0-beta-7.pom
+fetchArtifact org/jboss/shrinkwrap/resolver/shrinkwrap-resolver-bom/1.0.0-beta-7/shrinkwrap-resolver-bom-1.0.0-beta-7.pom.sha1
+fetchArtifact org/jboss/jboss-parent/9/jboss-parent-9.pom.sha1
+fetchArtifact org/jboss/jboss-parent/9/jboss-parent-9.pom
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.pom
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar.sha1
+fetchArtifact org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.pom.sha1
+fetchArtifact org/jboss/arquillian/arquillian-bom/1.0.2.Final/arquillian-bom-1.0.2.Final.pom
+fetchArtifact org/jboss/arquillian/arquillian-bom/1.0.2.Final/arquillian-bom-1.0.2.Final.pom.sha1
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.jar.sha1
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.pom
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.pom.sha1
+fetchArtifact org/rogach/scallop_2.11/0.9.5/scallop_2.11-0.9.5.jar
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.pom
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.jar.sha1
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.jar
+fetchArtifact org/scalacheck/scalacheck_2.11.0-RC3/1.11.3/scalacheck_2.11.0-RC3-1.11.3.pom.sha1
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.jar.sha1
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.pom
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.jar
+fetchArtifact org/tinyjee/jgraphx/jgraphx/2.0.0.1/jgraphx-2.0.0.1.pom.sha1
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.jar
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.pom
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.jar.sha1
+fetchArtifact org/hibernate/hibernate-validator/5.1.2.Final/hibernate-validator-5.1.2.Final.pom.sha1
+fetchArtifact org/hibernate/hibernate-validator-parent/5.1.2.Final/hibernate-validator-parent-5.1.2.Final.pom.sha1
+fetchArtifact org/hibernate/hibernate-validator-parent/5.1.2.Final/hibernate-validator-parent-5.1.2.Final.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar.sha1
+fetchArtifact org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.pom
+fetchArtifact org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.pom
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.pom.sha1
+fetchArtifact org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar.sha1
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.jar.sha1
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.pom.sha1
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.pom
+fetchArtifact org/slf4j/jul-to-slf4j/1.7.7/jul-to-slf4j-1.7.7.jar
+fetchArtifact org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom
+fetchArtifact org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom.sha1
+fetchArtifact org/slf4j/slf4j-parent/1.7.7/slf4j-parent-1.7.7.pom
+fetchArtifact org/slf4j/slf4j-parent/1.7.7/slf4j-parent-1.7.7.pom.sha1
+fetchArtifact org/slf4j/slf4j-parent/1.7.6/slf4j-parent-1.7.6.pom.sha1
+fetchArtifact org/slf4j/slf4j-parent/1.7.6/slf4j-parent-1.7.6.pom
+fetchArtifact org/slf4j/slf4j-parent/1.6.1/slf4j-parent-1.6.1.pom
+fetchArtifact org/slf4j/slf4j-parent/1.6.1/slf4j-parent-1.6.1.pom.sha1
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.pom
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar.sha1
+fetchArtifact org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom
+fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom
+fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar.sha1
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.pom
+fetchArtifact org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.pom.sha1
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.jar
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.pom.sha1
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.pom
+fetchArtifact org/apache/ant/ant/1.8.2/ant-1.8.2.jar.sha1
+fetchArtifact org/apache/ant/ant-parent/1.8.2/ant-parent-1.8.2.pom.sha1
+fetchArtifact org/apache/ant/ant-parent/1.8.2/ant-parent-1.8.2.pom
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.jar
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.jar
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.3/maven-shade-plugin-2.3.pom
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.pom
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.pom
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.jar
+fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/25/maven-plugins-25.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.pom
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.jar
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-report-plugin/2.14.1/maven-surefire-report-plugin-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.jar
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.14.1/maven-surefire-plugin-2.14.1.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.pom
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom
+fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.pom
+fetchArtifact org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.10/maven-artifact-manager-2.0.10.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.10/maven-artifact-manager-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.11/maven-artifact-manager-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.11/maven-artifact-manager-2.0.11.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-tools/3.2/maven-plugin-tools-3.2.pom
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-tools/3.2/maven-plugin-tools-3.2.pom.sha1
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.pom.sha1
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.jar
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.pom
+fetchArtifact org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.10/maven-profile-2.0.10.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.10/maven-profile-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.11/maven-profile-2.0.11.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.11/maven-profile-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.10/maven-project-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.10/maven-project-2.0.10.pom
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
+fetchArtifact org/apache/maven/maven-project/2.0.11/maven-project-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.11/maven-project-2.0.11.pom
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.10/maven-model-2.0.10.pom
+fetchArtifact org/apache/maven/maven-model/2.0.10/maven-model-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.11/maven-model-2.0.11.pom
+fetchArtifact org/apache/maven/maven-model/2.0.11/maven-model-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire/2.14.1/surefire-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire/2.14.1/surefire-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-report-parser/2.14.1/surefire-report-parser-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-junit4/2.14.1/surefire-junit4-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.14.1/maven-surefire-common-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.14.1/surefire-booter-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.pom
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.jar
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-api/2.14.1/surefire-api-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-providers/2.14.1/surefire-providers-2.14.1.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-providers/2.14.1/surefire-providers-2.14.1.pom
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.10/maven-repository-metadata-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.10/maven-repository-metadata-2.0.10.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.11/maven-repository-metadata-2.0.11.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.11/maven-repository-metadata-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom
+fetchArtifact org/apache/maven/maven/2.0.10/maven-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.10/maven-2.0.10.pom
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.11/maven-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.11/maven-2.0.11.pom
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.10/maven-artifact-2.0.10.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.10/maven-artifact-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.11/maven-artifact-2.0.11.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.11/maven-artifact-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.10/maven-settings-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.10/maven-settings-2.0.10.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.11/maven-settings-2.0.11.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.11/maven-settings-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.10/maven-plugin-registry-2.0.10.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.10/maven-plugin-registry-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.11/maven-plugin-registry-2.0.11.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.11/maven-plugin-registry-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/4/maven-parent-4.pom
+fetchArtifact org/apache/maven/maven-parent/4/maven-parent-4.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/22/maven-parent-22.pom
+fetchArtifact org/apache/maven/maven-parent/22/maven-parent-22.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/24/maven-parent-24.pom
+fetchArtifact org/apache/maven/maven-parent/24/maven-parent-24.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/12/maven-parent-12.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/12/maven-parent-12.pom
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.1/maven-reporting-impl-2.1.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.10/maven-plugin-api-2.0.10.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.10/maven-plugin-api-2.0.10.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.11/maven-plugin-api-2.0.11.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.11/maven-plugin-api-2.0.11.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.4/doxia-modules-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.4/doxia-modules-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.1.2/doxia-modules-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.4/doxia-decoration-model-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.2/doxia-decoration-model-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.1.2/doxia-decoration-model-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.4/doxia-module-fml-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.2/doxia-module-fml-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.1.2/doxia-module-fml-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.4/doxia-sitetools-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.4/doxia-sitetools-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.2/doxia-sitetools-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.1.2/doxia-sitetools-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.4/doxia-core-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.2/doxia-core-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.1.2/doxia-core-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.4/doxia-logging-api-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.1.2/doxia-logging-api-1.1.2.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.4/doxia-sink-api-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.1.2/doxia-sink-api-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.4/doxia-module-xhtml-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.2/doxia-module-xhtml-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.1.2/doxia-module-xhtml-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.1.4/doxia-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.1.4/doxia-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.1.2/doxia-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.4/doxia-site-renderer-1.1.4.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.2/doxia-site-renderer-1.1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.1.2/doxia-site-renderer-1.1.2.pom.sha1
+fetchArtifact org/apache/apache/7/apache-7.pom
+fetchArtifact org/apache/apache/7/apache-7.pom.sha1
+fetchArtifact org/apache/apache/4/apache-4.pom
+fetchArtifact org/apache/apache/4/apache-4.pom.sha1
+fetchArtifact org/apache/apache/1/apache-1.pom
+fetchArtifact org/apache/apache/1/apache-1.pom.sha1
+fetchArtifact org/apache/apache/9/apache-9.pom
+fetchArtifact org/apache/apache/9/apache-9.pom.sha1
+fetchArtifact org/apache/apache/14/apache-14.pom.sha1
+fetchArtifact org/apache/apache/14/apache-14.pom
+fetchArtifact org/apache/apache/13/apache-13.pom
+fetchArtifact org/apache/apache/13/apache-13.pom.sha1
+fetchArtifact org/apache/apache/3/apache-3.pom
+fetchArtifact org/apache/apache/3/apache-3.pom.sha1
+fetchArtifact org/apache/apache/5/apache-5.pom
+fetchArtifact org/apache/apache/5/apache-5.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom
+fetchArtifact org/apache/apache/11/apache-11.pom
+fetchArtifact org/apache/apache/11/apache-11.pom.sha1
+fetchArtifact org/apache/apache/10/apache-10.pom
+fetchArtifact org/apache/apache/10/apache-10.pom.sha1
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.pom
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.pom.sha1
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.jar.sha1
+fetchArtifact org/apache/mesos/mesos/0.20.1/mesos-0.20.1.jar
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.pom
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.pom.sha1
+fetchArtifact org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar.sha1
+fetchArtifact org/apache/curator/apache-curator/2.6.0/apache-curator-2.6.0.pom
+fetchArtifact org/apache/curator/apache-curator/2.6.0/apache-curator-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.jar
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.pom
+fetchArtifact org/apache/curator/curator-framework/2.6.0/curator-framework-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.jar
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-client/2.6.0/curator-client-2.6.0.pom
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.jar
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.pom
+fetchArtifact org/apache/curator/curator-test/2.6.0/curator-test-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.jar.sha1
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.pom.sha1
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.pom
+fetchArtifact org/apache/curator/curator-recipes/2.6.0/curator-recipes-2.6.0.jar
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar.sha1
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
+fetchArtifact org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom.sha1
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.jar.sha1
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.pom
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.jar
+fetchArtifact org/apache/commons/commons-math/2.2/commons-math-2.2.pom.sha1
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.jar
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.jar.sha1
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.pom.sha1
+fetchArtifact org/apache/commons/commons-email/1.3.2/commons-email-1.3.2.pom
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.jar
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.pom.sha1
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.pom
+fetchArtifact org/apache/commons/commons-exec/1.0.1/commons-exec-1.0.1.jar.sha1
+fetchArtifact org/apache/commons/commons-parent/28/commons-parent-28.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/28/commons-parent-28.pom
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom
+fetchArtifact org/apache/commons/commons-parent/22/commons-parent-22.pom
+fetchArtifact org/apache/commons/commons-parent/22/commons-parent-22.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom
+fetchArtifact org/apache/commons/commons-parent/24/commons-parent-24.pom
+fetchArtifact org/apache/commons/commons-parent/24/commons-parent-24.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom
+fetchArtifact org/apache/commons/commons-parent/32/commons-parent-32.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/32/commons-parent-32.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/18/commons-parent-18.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/18/commons-parent-18.pom
+fetchArtifact org/apache/commons/commons-parent/11/commons-parent-11.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/11/commons-parent-11.pom
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.pom.sha1
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar.sha1
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar
+fetchArtifact org/apache/commons/commons-math3/3.2/commons-math3-3.2.pom
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.pom
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.jar
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.pom.sha1
+fetchArtifact org/codehaus/jackson/jackson-mapper-asl/1.6.1/jackson-mapper-asl-1.6.1.jar.sha1
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.jar
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.pom.sha1
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.pom
+fetchArtifact org/codehaus/jackson/jackson-core-asl/1.6.1/jackson-core-asl-1.6.1.jar.sha1
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.8.1/plexus-compilers-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.8.1/plexus-compilers-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.1/plexus-interpolation-1.1.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.8.1/plexus-compiler-1.8.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.8.1/plexus-compiler-1.8.1.pom.sha1
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.pom.sha1
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.pom
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.jar.sha1
+fetchArtifact org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.jar
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.jar
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.jar.sha1
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.pom
+fetchArtifact org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.11.v20130520/jetty-server-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.11.v20130520/jetty-server-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-server/8.1.15.v20140411/jetty-server-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.11.v20130520/jetty-continuation-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.11.v20130520/jetty-continuation-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-continuation/8.1.15.v20140411/jetty-continuation-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-security/8.1.15.v20140411/jetty-security-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.11.v20130520/jetty-util-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.11.v20130520/jetty-util-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-util/8.1.15.v20140411/jetty-util-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.11.v20130520/jetty-project-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.11.v20130520/jetty-project-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.15.v20140411/jetty-project-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-project/8.1.15.v20140411/jetty-project-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.11.v20130520/jetty-http-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.11.v20130520/jetty-http-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-http/8.1.15.v20140411/jetty-http-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/20/jetty-parent-20.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-parent/20/jetty-parent-20.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/18/jetty-parent-18.pom
+fetchArtifact org/eclipse/jetty/jetty-parent/18/jetty-parent-18.pom.sha1
+fetchArtifact org/eclipse/jetty/orbit/jetty-orbit/1/jetty-orbit-1.pom
+fetchArtifact org/eclipse/jetty/orbit/jetty-orbit/1/jetty-orbit-1.pom.sha1
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.pom.sha1
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar.sha1
+fetchArtifact org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.pom
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.jar.sha1
+fetchArtifact org/eclipse/jetty/jetty-servlet/8.1.15.v20140411/jetty-servlet-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.11.v20130520/jetty-io-8.1.11.v20130520.pom
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.11.v20130520/jetty-io-8.1.11.v20130520.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.pom
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.pom.sha1
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.jar
+fetchArtifact org/eclipse/jetty/jetty-io/8.1.15.v20140411/jetty-io-8.1.15.v20140411.jar.sha1
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.pom.sha1
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.pom
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.jar
+fetchArtifact org/scalaz/scalaz-core_2.11.0-RC3/7.0.6/scalaz-core_2.11.0-RC3-7.0.6.jar.sha1
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.jar.sha1
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.pom.sha1
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.jar
+fetchArtifact org/scalaz/scalaz-effect_2.11.0-RC3/7.0.6/scalaz-effect_2.11.0-RC3-7.0.6.pom
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.jar
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.pom
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.jar.sha1
+fetchArtifact org/scalaz/scalaz-concurrent_2.11.0-RC3/7.0.6/scalaz-concurrent_2.11.0-RC3-7.0.6.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
+fetchArtifact org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+fetchArtifact org/sonatype/oss/oss-parent/5/oss-parent-5.pom
+fetchArtifact org/sonatype/oss/oss-parent/5/oss-parent-5.pom.sha1
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom
+fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.pom
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.pom.sha1
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar.sha1
+fetchArtifact org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar
+fetchArtifact org/ow2/asm/asm-parent/5.0.2/asm-parent-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-parent/5.0.2/asm-parent-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-parent/4.1/asm-parent-4.1.pom
+fetchArtifact org/ow2/asm/asm-parent/4.1/asm-parent-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-analysis/5.0.2/asm-analysis-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.pom
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.jar
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.pom
+fetchArtifact org/ow2/asm/asm/5.0.2/asm-5.0.2.jar
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.pom
+fetchArtifact org/ow2/asm/asm/4.1/asm-4.1.jar
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-util/5.0.2/asm-util-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.jar
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.pom
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-util/4.1/asm-util-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-tree/5.0.2/asm-tree-5.0.2.pom.sha1
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.jar
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.pom.sha1
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.jar.sha1
+fetchArtifact org/ow2/asm/asm-tree/4.1/asm-tree-4.1.pom
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.pom
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.jar
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.jar.sha1
+fetchArtifact org/ow2/asm/asm-commons/5.0.2/asm-commons-5.0.2.pom.sha1
+fetchArtifact org/ow2/ow2/1.3/ow2-1.3.pom.sha1
+fetchArtifact org/ow2/ow2/1.3/ow2-1.3.pom
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.jar.sha1
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.jar
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.pom
+fetchArtifact org/glassfish/web/javax.el/2.2.5/javax.el-2.2.5.pom.sha1
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.jar.sha1
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.pom
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.pom.sha1
+fetchArtifact org/pegdown/pegdown/1.2.1/pegdown-1.2.1.jar
+fetchArtifact junit/junit/4.11/junit-4.11.jar
+fetchArtifact junit/junit/4.11/junit-4.11.pom
+fetchArtifact junit/junit/4.11/junit-4.11.jar.sha1
+fetchArtifact junit/junit/4.11/junit-4.11.pom.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.pom
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.jar.sha1
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.jar
+fetchArtifact joda-time/joda-time/2.3/joda-time-2.3.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.pom
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.jar
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.jar.sha1
+fetchArtifact javax/inject/javax.inject/1/javax.inject-1.pom.sha1
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.pom.sha1
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.jar.sha1
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.jar
+fetchArtifact javax/el/javax.el-api/2.2.4/javax.el-api-2.2.4.pom
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.pom
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar.sha1
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.pom.sha1
+fetchArtifact javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.pom.sha1
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.jar
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.pom
+fetchArtifact javax/mail/mail/1.4.5/mail-1.4.5.jar.sha1
+fetchArtifact javax/activation/activation/1.1/activation-1.1.pom.sha1
+fetchArtifact javax/activation/activation/1.1/activation-1.1.pom
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.jar.sha1
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.pom
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.jar
+fetchArtifact javax/activation/activation/1.1.1/activation-1.1.1.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.jar
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.pom
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.jar.sha1
+fetchArtifact mesosphere/chaos_2.11/0.6.1/chaos_2.11-0.6.1.pom.sha1
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.jar.sha1
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.pom
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.pom.sha1
+fetchArtifact mesosphere/mesos-utils_2.11/0.20.1-1/mesos-utils_2.11-0.20.1-1.jar
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index f6e86c6289c..baa13254f23 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     for n in "bin/"* "sbin/"*; do
       sed -i $n -e "s|#!/usr/bin/env bash|#! ${bash}/bin/bash|"
     done
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" bin/container-executor
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" bin/container-executor
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
new file mode 100644
index 00000000000..c89ad0a5168
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, which, go, makeWrapper, iptables, rsync, utillinux, coreutils }:
+
+stdenv.mkDerivation rec {
+  name = "kubernetes-${version}";
+  version = "0.12.1";
+
+  src = fetchFromGitHub {
+    owner = "GoogleCloudPlatform";
+    repo = "kubernetes";
+    rev = "v${version}";
+    sha256 = "1891wpssfp04nkk1h4y3cdgn096b0kq16pc0m2fzilbh3daa6pml";
+  };
+
+  buildInputs = [ makeWrapper which go iptables rsync ];
+
+  preBuild = "patchShebangs ./hack";
+
+  postBuild = ''go build --ldflags '-extldflags "-static" -s' build/pause/pause.go'';
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp _output/local/go/bin/* "$out/bin/"
+    cp pause $out/bin/kube-pause
+  '';
+
+  preFixup = ''
+    wrapProgram "$out/bin/kube-proxy" --prefix PATH : "${iptables}/bin"
+    wrapProgram "$out/bin/kubelet" --prefix PATH : "${utillinux}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open source implementation of container cluster management.";
+    license = licenses.asl20;
+    homepage = https://github.com/GoogleCloudPlatform;
+    maintainers = with maintainers; [offline];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/marathon/default.nix b/pkgs/applications/networking/cluster/marathon/default.nix
new file mode 100644
index 00000000000..36ce79aaf34
--- /dev/null
+++ b/pkgs/applications/networking/cluster/marathon/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, makeWrapper, jdk, mesos, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "marathon-v${version}";
+  version = "0.8.0";
+
+  src = fetchurl {
+    url = "https://downloads.mesosphere.com/marathon/v${version}/marathon-${version}.tgz";
+    sha256 = "794c915e205aebd8273f2b40c6faea1517fc683cdc0169194c4a67ce8779fa41";
+  };
+
+  buildInputs = [ makeWrapper jdk mesos ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,libexec/marathon}
+    cp target/scala-*/marathon*.jar $out/libexec/marathon/${name}.jar
+
+    makeWrapper ${jdk.jre}/bin/java $out/bin/marathon \
+      --add-flags "-Xmx512m -jar $out/libexec/marathon/${name}.jar" \
+      --prefix "MESOS_NATIVE_LIBRARY" : "$MESOS_NATIVE_LIBRARY"
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = https://mesosphere.github.io/marathon;
+    description = "Cluster-wide init and control system for services in cgroups or Docker containers.";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rushmorem ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/mesos/darwin.patch b/pkgs/applications/networking/cluster/mesos/darwin.patch
deleted file mode 100644
index 118129f1723..00000000000
--- a/pkgs/applications/networking/cluster/mesos/darwin.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 1ebd196..a49d7d4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -463,11 +463,6 @@ __EOF__
-   fi
- 
-   # Determine linker flags for Java if not set.
--  if test "$OS_NAME" = "darwin"; then
--    dir="$JAVA_HOME/jre/lib/server"
--    JAVA_TEST_LDFLAGS="-framework JavaVM"
--    JAVA_JVM_LIBRARY=$dir/libjvm.dylib
--  elif test "$OS_NAME" = "linux"; then
-     for arch in amd64 i386; do
-       dir="$JAVA_HOME/jre/lib/$arch/server"
-       if test -e "$dir"; then
-@@ -477,7 +472,6 @@ __EOF__
- 	break;
-       fi
-     done
--  fi
- 
-   if test -z "$JAVA_TEST_LDFLAGS"; then
-     AC_MSG_ERROR([failed to determine linker flags for using Java \
-@@ -488,26 +482,6 @@ __EOF__
-   # flags as necessary (provided JAVA_CPPFLAGS was not set).
-   AC_MSG_CHECKING([whether or not we can build with JNI])
-   if test -z "$JAVA_CPPFLAGS"; then
--    if test "$OS_NAME" = "darwin"; then
--      while true; do # Loop until sucessful (via break) or exhausted options.
--        m4_foreach([java_cppflags],
--                   [["-I$JAVA_HOME/include -I$JAVA_HOME/include/$OS_NAME"],
--                    ["-I/System/Library/Frameworks/JavaVM.framework/Headers"]],
--                   [JAVA_CPPFLAGS=java_cppflags
--                    TRY_LINK_JNI([break])])
--        # Exhausted options.
--        AC_MSG_ERROR([failed to build with JNI
--  -------------------------------------------------------------------
--  It appears we were unable to compile against the JNI. This is most
--  likely due to one of the following issues:
--    1. You do not have a JDK installed on your system.
--    2. All JDKs installed on your system have deprecated JNI headers.
--  It is advised to install OpenJDK on your system, as the JDK that
--  ships with OS X has deprecated JNI headers.
--  -------------------------------------------------------------------
--        ])
--      done
--    else
-       while true; do # Loop until sucessful (via break) or exhausted options.
-         m4_foreach([java_cppflags],
-                    [["-I$JAVA_HOME/include -I$JAVA_HOME/include/$OS_NAME"]],
-@@ -516,7 +490,6 @@ __EOF__
-         # Exhausted options.
-         AC_MSG_ERROR([failed to build with JNI])
-       done
--    fi
-   else
-     TRY_LINK_JNI([], [AC_MSG_ERROR([failed to build with JNI])])
-   fi
-@@ -760,20 +733,6 @@ libcurl is required for mesos to build.
- if test "x$with_cxx11" = "xyes"; then
-   AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
- 
--  case "$host_os" in
--  darwin* )
--    # If we're using clang, we need to pass -stdlib=libc++ too.
--    if test "x$CLANG" = "xyes"; then
--      CXXFLAGS="$CXXFLAGS -stdlib=libc++"
--    fi
--
--    # GTEST on OSX needs its own tr1 tuple.
--    # TODO(dhamon): Update to gmock 1.7 and pass GTEST_LANG_CXX11 when in
--    # c++11 mode.
--    CXXFLAGS="$CXXFLAGS -DGTEST_USE_OWN_TR1_TUPLE=1"
--    ;;
--  esac
--
-   # Also pass the flags to 3rdparty libraries.
-   CONFIGURE_ARGS="$CONFIGURE_ARGS CXXFLAGS='$CXXFLAGS'"
- fi
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 4329308ba04..b298fb55901 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, lib, makeWrapper, fetchurl, fetchzip, curl, sasl, openssh, autoconf
+{ stdenv, lib, makeWrapper, fetchurl, curl, sasl, openssh, autoconf
 , automake, libtool, unzip, gnutar, jdk, maven, python, wrapPython
-, setuptools, distutils-cfg, boto, pythonProtobuf
+, setuptools, distutils-cfg, boto, pythonProtobuf, apr, subversion
+, leveldb, glog
 }:
 
-let version = "0.19.1";
+let version = "0.21.0";
 in stdenv.mkDerivation {
   dontDisableStatic = true;
 
@@ -11,14 +12,13 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.apache.org/dist/mesos/${version}/mesos-${version}.tar.gz";
-    sha256 = "12li5xqfcw3124qg3h2cji3yhrc7gbx91lj45zfliicwgjkbmyf1";
+    sha256 = "01ap8blrb046w26zf3i4r7vvnnhjsbfi20vz5yinmncqbzjjyx6i";
   };
 
-  patches = [ ./darwin.patch ];
-
   buildInputs = [
     makeWrapper autoconf automake libtool curl sasl jdk maven
-    python wrapPython boto distutils-cfg
+    python wrapPython boto distutils-cfg setuptools leveldb
+    subversion apr glog
   ];
 
   propagatedBuildInputs = [
@@ -41,11 +41,11 @@ in stdenv.mkDerivation {
 
   configureFlags = [
     "--sbindir=\${out}/bin"
-    "--with-python-headers=${python}/include"
-    "--with-webui"
-    "--with-java-home=${jdk}"
-    "--with-java-headers=${jdk}/include"
-    "--with-included-zookeeper"
+    "--with-apr=${apr}"
+    "--with-svn=${subversion}"
+    "--with-leveldb=${leveldb}"
+    "--with-glog=${glog}"
+    "--disable-python-dependency-install"
   ];
 
   postInstall = ''
@@ -101,7 +101,7 @@ in stdenv.mkDerivation {
     homepage    = "http://mesos.apache.org";
     license     = licenses.asl20;
     description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan offline ];
     platforms   = with platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
index c58c9f2e3d6..3fafc427bbc 100644
--- a/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
+++ b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh
@@ -3,1240 +3,1241 @@ header "fetching Apache Mesos maven repo"
 
 function fetchArtifact {
   repoPath="$1"
+  echo "Fetching $repoPath"
   url="http://repo.maven.apache.org/maven2/$repoPath"
   mkdir -p $(dirname $out/$repoPath)
   curl --fail --location --insecure --retry 3 --max-redirs 20 "$url" --output "$out/$repoPath"
 }
 
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom
-fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1
-fetchArtifact asm/asm/3.2/asm-3.2.pom
-fetchArtifact asm/asm/3.2/asm-3.2.pom.sha1
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom
-fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar.sha1
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom
-fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom.sha1
-fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom
-fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom.sha1
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar.sha1
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
-fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom.sha1
-fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom
-fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom.sha1
-fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
-fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1
-fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom
-fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom.sha1
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar.sha1
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
-fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom.sha1
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar.sha1
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom
-fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom.sha1
-fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom
-fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
-fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1
-fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom
-fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1
-fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
-fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
-fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1
-fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom
-fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1
-fetchArtifact com/google/google/1/google-1.pom
-fetchArtifact com/google/google/1/google-1.pom.sha1
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
-fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1
-fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
-fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom
-fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar.sha1
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom
-fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom.sha1
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar.sha1
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom
-fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom.sha1
-fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
-fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
-fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1
 fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar
-fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1
-fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom
 fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom.sha1
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom
-fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar.sha1
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom
-fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom
-fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1
-fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom
-fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1
-fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom
-fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1
-fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom
+fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom.sha1
+fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar
 fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar.sha1
-fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar
 fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1
-fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar
+fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom
+fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1
 fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar.sha1
 fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom
-fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1
-fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
+fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1
 fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1
 fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom
-fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom
-fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom
-fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar.sha1
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
-fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1
-fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar
+fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom
+fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1
 fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar.sha1
 fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom
+fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar
 fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom.sha1
 fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar
-fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1
-fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom
 fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom.sha1
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom
-fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom
-fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom
+fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1
+fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom
+fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1
+fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom
+fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom
+fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1
+fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
+fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1
 fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar
 fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar.sha1
 fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom
 fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom.sha1
-fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar
+fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1
 fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1
+fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar
 fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom
-fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom
-fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom
+fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom
+fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom.sha1
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom
+fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar.sha1
 fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
 fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
-fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1
 fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
 fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1
-fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom
+fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom
 fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1
 fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
-fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1
 fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
-fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1
+fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1
 fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom
 fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
-fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom
-fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar.sha1
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom
-fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom.sha1
-fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
-fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.sha1
-fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom
-fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom
-fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom
-fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1
-fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom
-fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1
-fetchArtifact junit/junit/4.10/junit-4.10.pom
-fetchArtifact junit/junit/4.10/junit-4.10.pom.sha1
-fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom
-fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1
-fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar
-fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar.sha1
-fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom
-fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom.sha1
-fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom
-fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1
-fetchArtifact org/apache/apache/10/apache-10.pom
-fetchArtifact org/apache/apache/10/apache-10.pom.sha1
-fetchArtifact org/apache/apache/11/apache-11.pom
-fetchArtifact org/apache/apache/11/apache-11.pom.sha1
-fetchArtifact org/apache/apache/13/apache-13.pom
-fetchArtifact org/apache/apache/13/apache-13.pom.sha1
-fetchArtifact org/apache/apache/2/apache-2.pom
-fetchArtifact org/apache/apache/2/apache-2.pom.sha1
-fetchArtifact org/apache/apache/3/apache-3.pom
-fetchArtifact org/apache/apache/3/apache-3.pom.sha1
-fetchArtifact org/apache/apache/4/apache-4.pom
-fetchArtifact org/apache/apache/4/apache-4.pom.sha1
-fetchArtifact org/apache/apache/5/apache-5.pom
-fetchArtifact org/apache/apache/5/apache-5.pom.sha1
-fetchArtifact org/apache/apache/6/apache-6.pom
-fetchArtifact org/apache/apache/6/apache-6.pom.sha1
-fetchArtifact org/apache/apache/7/apache-7.pom
-fetchArtifact org/apache/apache/7/apache-7.pom.sha1
-fetchArtifact org/apache/apache/9/apache-9.pom
-fetchArtifact org/apache/apache/9/apache-9.pom.sha1
-fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar
-fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar.sha1
-fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom
-fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom
-fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom
-fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom
-fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom
-fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1
-fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom
-fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
-fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar.sha1
+fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1
+fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom
+fetchArtifact com/google/google/1/google-1.pom
+fetchArtifact com/google/google/1/google-1.pom.sha1
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom
+fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1
+fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom
+fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar
+fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar.sha1
+fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1
+fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
+fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom
+fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1
+fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom
+fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom.sha1
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom
+fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1
+fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1
+fetchArtifact asm/asm/3.2/asm-3.2.pom
+fetchArtifact asm/asm/3.2/asm-3.2.pom.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom.sha1
+fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom.sha1
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom
+fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar.sha1
+fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom
+fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom.sha1
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar.sha1
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar
+fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom.sha1
+fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom.sha1
+fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom
+fetchArtifact velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
+fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
+fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1
+fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom
+fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1
+fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar.sha1
+fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar
+fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar.sha1
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar
+fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1
+fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1
+fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
+fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1
+fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
 fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1
 fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
+fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
 fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom
-fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1
-fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
-fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1
-fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom
-fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1
-fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom
+fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom
 fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1
+fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom
 fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom
 fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar.sha1
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom.sha1
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom
-fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom
-fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom
-fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom
-fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom
-fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom
-fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom
-fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom
-fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom
-fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom
-fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom
-fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
-fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom
-fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom
-fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom
-fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
-fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom
-fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
-fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
-fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
-fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
-fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
-fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom
-fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom
-fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom
-fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom
-fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom
-fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom
-fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom
-fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom
-fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
-fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom
-fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
-fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
-fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom
-fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
-fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom
-fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom
-fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom
-fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom
-fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom
-fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom
-fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom
-fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom
-fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom
-fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom
-fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom
-fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom
-fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom
-fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom
-fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom
-fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom
-fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1
-fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom
-fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
-fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
-fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
-fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
-fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom
-fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
-fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom
-fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom
-fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom
-fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
-fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom
-fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
-fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
-fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom
-fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom
-fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
-fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
-fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
-fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1
-fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom
-fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1
-fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom
-fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
-fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1
+fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom.sha1
+fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom
+fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar
+fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom
+fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar
+fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom
+fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar
+fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom.sha1
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
+fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar
+fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar.sha1
 fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
 fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
 fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar.sha1
 fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom
 fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
+fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
 fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar
 fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
 fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
 fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar
 fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar.sha1
 fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom
 fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
-fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom
-fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom
-fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom
-fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom.sha1
 fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
 fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom
 fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom
 fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom
-fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom
-fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom
-fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom
-fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar.sha1
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom
-fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom.sha1
-fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom
+fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom.sha1
 fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar.sha1
 fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom
-fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom
-fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom
-fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom
-fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
-fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom
-fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1
+fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom
+fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom
+fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1
 fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
 fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar.sha1
 fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom
 fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
 fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar
 fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom
 fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom
 fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar
 fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom
 fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom.sha1
 fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
 fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom
-fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
+fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1
 fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar
 fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar.sha1
 fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom
-fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1
 fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar
+fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom.sha1
 fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar.sha1
 fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom
-fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar.sha1
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom
-fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom
-fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1
-fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
-fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1
 fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom
 fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.sha1
-fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom
+fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar
+fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar.sha1
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.sha1
+fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom
+fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom
+fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
+fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom
+fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom
+fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom
+fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom
+fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom
+fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom
+fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom
+fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom
+fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom
+fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom
+fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom.sha1
 fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar
 fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom
 fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom.sha1
-fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom
-fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar.sha1
+fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar
 fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar
-fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar.sha1
 fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom
+fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar.sha1
 fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom.sha1
-fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar
-fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar.sha1
-fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom
-fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom
-fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
-fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
-fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom
+fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom
+fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom
+fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom
+fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom
+fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom
+fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom
+fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom
+fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom
+fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom
+fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom
+fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom
+fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom
+fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom
+fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom
+fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom
+fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1
+fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom
+fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1
 fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom
 fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
-fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
 fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom
-fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom.sha1
-fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar
-fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar.sha1
-fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
 fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar.sha1
+fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar
+fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1
+fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
+fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1
 fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar
 fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar.sha1
 fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom
 fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom.sha1
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom
-fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1
-fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom
-fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom.sha1
-fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom
-fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom
-fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom
-fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom
-fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1
-fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom
-fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar.sha1
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom
-fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom.sha1
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom
-fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom.sha1
-fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom
-fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1
-fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom
-fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1
-fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom
-fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom
-fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1
-fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
-fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1
-fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar
-fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom.sha1
+fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom
+fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom
+fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom
+fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar
+fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1
+fetchArtifact org/apache/apache/7/apache-7.pom
+fetchArtifact org/apache/apache/7/apache-7.pom.sha1
+fetchArtifact org/apache/apache/2/apache-2.pom
+fetchArtifact org/apache/apache/2/apache-2.pom.sha1
+fetchArtifact org/apache/apache/4/apache-4.pom
+fetchArtifact org/apache/apache/4/apache-4.pom.sha1
+fetchArtifact org/apache/apache/9/apache-9.pom
+fetchArtifact org/apache/apache/9/apache-9.pom.sha1
+fetchArtifact org/apache/apache/13/apache-13.pom
+fetchArtifact org/apache/apache/13/apache-13.pom.sha1
+fetchArtifact org/apache/apache/3/apache-3.pom
+fetchArtifact org/apache/apache/3/apache-3.pom.sha1
+fetchArtifact org/apache/apache/5/apache-5.pom
+fetchArtifact org/apache/apache/5/apache-5.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom.sha1
+fetchArtifact org/apache/apache/6/apache-6.pom
+fetchArtifact org/apache/apache/11/apache-11.pom
+fetchArtifact org/apache/apache/11/apache-11.pom.sha1
+fetchArtifact org/apache/apache/10/apache-10.pom
+fetchArtifact org/apache/apache/10/apache-10.pom.sha1
+fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar
+fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar.sha1
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom
+fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom
+fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom
+fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1
+fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom
+fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom
+fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom
+fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1
+fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar.sha1
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom
+fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom.sha1
+fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar.sha1
+fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom
 fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom
 fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom.sha1
-fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar
+fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar.sha1
 fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
-fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
-fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
-fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom
-fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
-fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
-fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
-fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom
-fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
-fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom
-fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
-fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom
-fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom
+fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
+fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
 fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom
 fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom
 fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom
 fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom
 fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom
-fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
-fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom
 fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
 fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom
+fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom
 fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom
-fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
-fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom
 fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom
-fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom
+fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
+fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom
+fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
 fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
 fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom
 fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
-fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom
 fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
 fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom
-fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom
-fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom
-fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom
-fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
+fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1
 fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar.sha1
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom
 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom.sha1
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom
+fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom
+fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
+fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
+fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
+fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom
+fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom
+fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
+fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom.sha1
 fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar
 fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar.sha1
 fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom
-fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom.sha1
-fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
-fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1
+fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom
+fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom
+fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
 fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
 fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1
-fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom
-fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1
+fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom
 fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom
 fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom.sha1
-fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
-fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1
+fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1
+fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1
+fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom
 fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
 fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1
-fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1
+fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
 fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom
-fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar.sha1
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom
-fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom.sha1
-fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar
-fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar.sha1
-fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom
-fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom.sha1
-fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom
-fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1
-fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom
-fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom
-fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1
-fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom
-fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom.sha1
-fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar
-fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar.sha1
-fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom
-fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom
-fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1
-fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
-fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1
-fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
-fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1
-fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
-fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1
-fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
+fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom.sha1
+fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom
 fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom
 fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
 fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1
-fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
 fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom
-fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom
-fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom
-fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom
-fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1
-fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom
-fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1
-fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom
-fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom.sha1
-fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom
-fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1
-fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
-fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1
-fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom
-fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1
-fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
-fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1
-fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
-fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1
-fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
-fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1
-fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
-fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1
-fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
-fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1
+fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom
+fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
+fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1
 fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom
 fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom
+fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
 fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1
-fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
 fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom
-fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
+fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom
 fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1
+fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
 fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom
 fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom
-fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1
-fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom
-fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1
-fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom
-fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1
-fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom
-fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1
 fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom
 fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1
-fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom
 fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom
-fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1
-fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar
-fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1
+fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom
+fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1
+fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom
+fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom
+fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
+fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom
+fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1
+fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom
+fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1
+fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1
+fetchArtifact junit/junit/4.10/junit-4.10.pom.sha1
+fetchArtifact junit/junit/4.10/junit-4.10.pom
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom
+fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1
+fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1
+fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar
+fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
+fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1
+fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.sha1
+fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
+fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom
+fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
+fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
+fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1
+fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1
 fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1
 fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom.sha1
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom
-fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1
-fetchArtifact velocity/velocity/1.5/velocity-1.5.jar
-fetchArtifact velocity/velocity/1.5/velocity-1.5.jar.sha1
-fetchArtifact velocity/velocity/1.5/velocity-1.5.pom
-fetchArtifact velocity/velocity/1.5/velocity-1.5.pom.sha1
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom
-fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
-fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
-fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1
-fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
-fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1
+fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar
 
 stopNest
diff --git a/pkgs/applications/networking/cluster/panamax/api/Gemfile b/pkgs/applications/networking/cluster/panamax/api/Gemfile
new file mode 100644
index 00000000000..82085aa6db0
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/api/Gemfile
@@ -0,0 +1,23 @@
+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
new file mode 100644
index 00000000000..597c691700a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock
@@ -0,0 +1,164 @@
+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
new file mode 100644
index 00000000000..6cbec878a48
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/api/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD
+, ruby, libxslt, libxml2, sqlite, openssl, cacert, docker
+, dataDir ? "/var/lib/panamax-api" }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "panamax-api-${version}";
+  version = "0.2.16";
+
+  env = bundlerEnv {
+    name = "panamax-api-gems-${version}";
+    inherit ruby;
+    gemset = ./gemset.nix;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    buildInputs = [ openssl ];
+  };
+  bundler = bundler_HEAD.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 = "1g75y25asj33gcczpb9iwnk6f7afm1xjqyw803rr3y2h7dm6jivy";
+  };
+
+  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 "OPENSSL_X509_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" \
+      --prefix "SSL_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" \
+      --prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}"
+  '';
+
+  meta = with stdenv.lib; {
+    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
new file mode 100644
index 00000000000..8182543a2bb
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/api/gemset.nix
@@ -0,0 +1,568 @@
+{
+  "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
new file mode 100644
index 00000000000..6f7dc59d04d
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/ui/Gemfile
@@ -0,0 +1,31 @@
+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
new file mode 100644
index 00000000000..e1dfc0d4a3d
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock
@@ -0,0 +1,226 @@
+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.7)
+    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
new file mode 100644
index 00000000000..572deb62ba0
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/ui/default.nix
@@ -0,0 +1,72 @@
+{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD
+, ruby, rubygemsFun, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "panamax-ui-${version}";
+  version = "0.2.14";
+
+  env = bundlerEnv {
+    name = "panamax-ui-gems-${version}";
+    inherit ruby;
+    gemset = ./gemset.nix;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    buildInputs = [ openssl ];
+  };
+
+  bundler = bundler_HEAD.override { inherit ruby; };
+
+  src = fetchgit {
+    rev = "refs/tags/v${version}";
+    url = "git://github.com/CenturyLinkLabs/panamax-ui";
+    sha256 = "0vwy0gazfx3zkf2bx862jspidgn5p97d3jaq99x38qfhxp554sn9";
+  };
+
+  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"
+  '';
+
+  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; {
+    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
new file mode 100644
index 00000000000..cfb2b6f460f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/panamax/ui/gemset.nix
@@ -0,0 +1,789 @@
+{
+  "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.7";
+    source = {
+      type = "gem";
+      sha256 = "0dv5q5n5nf6b8h3fybwmsr3vkj70w4g1jpf6661j3hsv9vp0g4qq";
+    };
+  };
+  "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"
+    ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/rq/default.nix b/pkgs/applications/networking/cluster/rq/default.nix
index 8935aeb2771..fdf11adfb6c 100644
--- a/pkgs/applications/networking/cluster/rq/default.nix
+++ b/pkgs/applications/networking/cluster/rq/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    license = "Ruby";
+    license = stdenv.lib.licenses.ruby;
     homepage = "http://www.codeforpeople.com/lib/ruby/rq/";
     description = "Simple cluster queue runner";
     longDescription = "rq creates instant linux clusters by managing priority work queues, even on a multi-core single machine. This cluster runner is easy to install and easy to manage, contrasting with the common complicated solutions.";
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 1e9fe918a2e..1852f21d27a 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -1,128 +1,46 @@
-{ stdenv, fetchurl, jre, bash, simpleBuildTool, python27Packages }:
+{ stdenv, fetchurl, makeWrapper, jre, pythonPackages
+, mesosSupport ? true, mesos
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name    = "spark-${version}";
-  version = "0.9.1";
+  version = "1.1.1";
 
   src = fetchurl {
     url    = "http://d3kbcqa49mib13.cloudfront.net/${name}-bin-cdh4.tgz";
-    sha256 = "1k3954srx3km3ckmfi6wn8rldrljxc039g0pf5m3azgkmaz0gld5";
+    sha256 = "1k0lw8aq5is3gnsrm8q24s0knga6kb3c9xsca20g11fy8b0y4nvk";
   };
 
-  unpackPhase = ''tar zxf $src'';
+  buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
+    ++ optional mesosSupport [ mesos ];
 
   untarDir = "${name}-bin-cdh4";
   installPhase = ''
-    set -x
-    mkdir -p $out/lib $out/bin
-    mv ${untarDir} $out/lib
-
-    cat > $out/bin/spark-class <<EOF
-    #!${bash}/bin/bash
-    export JAVA_HOME=${jre}
-    export SPARK_HOME=$out/lib/${untarDir}
-
-    if [ -z "\$1" ]; then
-      echo "Usage: spark-class <class> [<args>]" >&2
-      exit 1
-    fi
-
-    export SPARK_MEM=\''${SPARK_MEM:-1024m}
-
-    JAVA_OPTS=""
-    JAVA_OPTS="\$JAVA_OPTS -Djava.library.path=\"\$SPARK_LIBRARY_PATH\""
-    JAVA_OPTS="\$JAVA_OPTS -Xms\$SPARK_MEM -Xmx\$SPARK_MEM"
-    export JAVA_OPTS
-
-    CLASSPATH=\`$out/lib/${untarDir}/bin/compute-classpath.sh\`
-    export CLASSPATH
-
-    exec ${jre}/bin/java -cp "\$CLASSPATH" \$JAVA_OPTS "\$@"
+    mkdir -p $out/{lib/${untarDir}/conf,bin}
+    mv * $out/lib/${untarDir}
+
+    cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF
+    export JAVA_HOME="${jre}"
+    export SPARK_HOME="$out/lib/${untarDir}"
+    export PYSPARK_PYTHON="${pythonPackages.python}/bin/${pythonPackages.python.executable}"
+    export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH"
+    ${optionalString mesosSupport
+      ''export MESOS_NATIVE_LIBRARY="$MESOS_NATIVE_LIBRARY"''}
     EOF
-    chmod +x $out/bin/spark-class
 
-    cat > $out/bin/spark-shell <<EOF
-    #!${bash}/bin/bash
-    set -o posix
-    export JAVA_HOME=${jre}
-    export SPARK_HOME=$out/lib/${untarDir}
-    for o in "\$@"; do
-      if [ "\$1" = "-c" -o "\$1" = "--cores" ]; then
-        shift
-        if [ -n "\$1" ]; then
-          OPTIONS="-Dspark.cores.max=\$1"
-          shift
-        fi
-      fi
+    for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do
+      makeWrapper "$n" "$out/bin/$(basename $n)"
     done
-
-    exit_status=127
-    saved_stty=""
-
-    function restoreSttySettings() {
-      stty \$saved_stty
-      saved_stty=""
-    }
-
-    function onExit() {
-      if [[ "\$saved_stty" != "" ]]; then
-        restoreSttySettings
-      fi
-      exit \$exit_status
-    }
-
-    trap onExit INT
-
-    saved_stty=\$(stty -g 2>/dev/null)
-    if [[ ! \$? ]]; then
-      saved_stty=""
-    fi
-
-    $out/bin/spark-class \$OPTIONS org.apache.spark.repl.Main "\$@"
-
-    exit_status=\$?
-    onExit
-    EOF
-    chmod +x $out/bin/spark-shell
-
-    cat > $out/bin/pyspark <<EOF
-    #!${bash}/bin/bash
-    export JAVA_HOME=${jre}
-    export SPARK_HOME=$out/lib/${untarDir}
-    export PYTHONPATH=$out/lib/${untarDir}/python:\$PYTHONPATH
-    export OLD_PYTHONSTARTUP=\$PYTHONSTARTUP
-    export PYTHONSTARTUP=$out/lib/${untarDir}/python/pyspark/shell.py
-    export SPARK_MEM=\''${SPARK_MEM:-1024m}
-    exec ${python27Packages.ipythonLight}/bin/ipython \$@
-    EOF
-    chmod +x $out/bin/pyspark
-
-    cat > $out/bin/spark-upload-scala <<EOF
-    #!${bash}/bin/bash
-    export JAVA_HOME=${jre}
-    export SPARK_HOME=$out/lib/${untarDir}
-    export SPARK_MEM=\''${SPARK_MEM:-1024m}
-
-    CLASS=\$1; shift
-    exec ${simpleBuildTool}/bin/sbt package "run-main \$CLASS \$@"
-    EOF
-    chmod +x $out/bin/spark-upload-scala
-
-    cat > $out/bin/spark-upload-python <<EOF
-    #!${bash}/bin/bash
-    exec $out/bin/pyspark \$@
-    EOF
-    chmod +x $out/bin/spark-upload-python
   '';
 
-  phases = "unpackPhase installPhase";
-
   meta = {
     description      = "Lightning-fast cluster computing";
     homepage         = "http://spark.apache.org";
     license          = stdenv.lib.licenses.asl20;
     platforms        = stdenv.lib.platforms.all;
-    maintainers      = [ stdenv.lib.maintainers.thoughtpolice ];
+    maintainers      = with maintainers; [ thoughtpolice offline ];
     repositories.git = git://git.apache.org/spark.git;
   };
 }
diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix
new file mode 100644
index 00000000000..9ef8caafa98
--- /dev/null
+++ b/pkgs/applications/networking/copy-com/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, coreutils, fetchurl, patchelf, gcc }:
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "x86_64"
+    else if stdenv.system == "i686-linux" then "x86"
+    else if stdenv.system == "armv6-linux" then "armv6h"
+    else throw "Copy.com 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 if stdenv.system == "armv6-linux" then "ld-linux.so.2"
+    else throw "Copy.com client for: ${stdenv.system} not supported!";
+
+  appdir = "opt/copy";
+  
+in stdenv.mkDerivation {
+  
+  name = "copy-com-1.47.0410";
+
+  src = fetchurl {
+    # Note: copy.com doesn't version this file. Annoying.
+    url = "https://copy.com/install/linux/Copy.tgz";
+    sha256 = "a48c69f6798f888617cfeef5359829e619057ae0e6edf3940b4ea6c81131012a";
+  };
+
+  buildInputs = [ coreutils patchelf ];
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    mkdir -p $out/opt
+    cp -r ${arch} "$out/${appdir}"
+    ensureDir "$out/bin"
+    ln -s "$out/${appdir}/CopyConsole" "$out/bin/copy_console"
+    ln -s "$out/${appdir}/CopyAgent" "$out/bin/copy_agent"
+    ln -s "$out/${appdir}/CopyCmd" "$out/bin/copy_cmd"
+    patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
+      "$out/${appdir}/CopyConsole"
+
+    RPATH=${gcc.cc}/lib:$out/${appdir}
+    echo "updating rpaths to: $RPATH"
+    find "$out/${appdir}" -type f -a -perm +0100 \
+      -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
+
+
+
+  '';
+
+  meta = {
+    homepage = http://copy.com;
+    description = "Copy.com Client";
+    # Closed Source unfortunately.
+    license = stdenv.lib.licenses.unfree;
+    maintainers = with stdenv.lib.maintainers; [ nathan-gs ];
+    # NOTE: Copy.com itself only works on linux, so this is ok.
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix
index 3639f50c439..37d4870d181 100644
--- a/pkgs/applications/networking/davmail/default.nix
+++ b/pkgs/applications/networking/davmail/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, jre, glib, libXtst, gtk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "davmail-4.5.0";
+  name = "davmail-4.6.1";
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/davmail/davmail/4.5.0/davmail-linux-x86_64-4.5.0-2292.tgz";
-    sha256 = "0ixg26s8535b4xf4i8jr0v3acwvaslmi2dvcxg2nmzkicvh6rfd4";
+    url = "mirror://sourceforge/davmail/davmail-linux-x86_64-4.6.1-2343.tgz";
+    sha256 = "15kpbrmw9pcifxj4k4m3q0azbl95kfgwvgb8bc9aj00q0yi3wgiq";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/dropbox-cli/default.nix b/pkgs/applications/networking/dropbox-cli/default.nix
index 51f3ae2ac8d..1a9c7e0aa2f 100644
--- a/pkgs/applications/networking/dropbox-cli/default.nix
+++ b/pkgs/applications/networking/dropbox-cli/default.nix
@@ -1,13 +1,14 @@
 { stdenv, pkgconfig, fetchurl, python, dropbox }:
 let
-  version = "1.6.2";
+  version = "2.10.0";
+  dropboxd = "${dropbox}/bin/dropbox";
 in
 stdenv.mkDerivation {
   name = "dropbox-cli-${version}";
 
   src = fetchurl {
     url = "https://linux.dropbox.com/packages/nautilus-dropbox-${version}.tar.bz2";
-    sha256 = "1r1kqvnf5a0skby6rr8bmxg128z97fz4gb1n7zlc1vyhqw4k3mb3";
+    sha256 = "0f765rpp357vy7zvn1jq6q48d10fi4v13yb7vv3qx3az3f3472lg";
   };
 
   buildInputs = [ pkgconfig python ];
@@ -22,7 +23,7 @@ stdenv.mkDerivation {
       --replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \
       --replace '@IMAGEDATA16@' '"too-lazy-to-fix"' \
       --replace '@IMAGEDATA64@' '"too-lazy-to-fix"'
-
+    sed -i 's:db_path = .*:db_path = "${dropboxd}":' $out/bin/dropbox
     chmod +x "$out/bin/"*
     patchShebangs "$out/bin"
   '';
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 9ddcc5629b1..bd557a27ec0 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -1,8 +1,6 @@
-{ stdenv, fetchurl, makeDesktopItem
-, libSM, libX11, libXext, libXcomposite, libXcursor, libXdamage
-, libXfixes, libXi, libXinerama, libXrandr, libXrender
-, dbus, dbus_glib, fontconfig, gcc, patchelf
-, atk, glib, gdk_pixbuf, gtk, pango, zlib
+{ stdenv, fetchurl, makeDesktopItem, makeWrapper
+, dbus_libs, gcc, glib, libdrm, libffi, libICE, libSM
+, libX11, libXmu, ncurses, popt, qt5, zlib
 }:
 
 # this package contains the daemon version of dropbox
@@ -11,10 +9,13 @@
 # note: the resulting program has to be invoced as
 # 'dropbox' because the internal python engine takes
 # uses the name of the program as starting point.
-#
-# todo: dropbox is shipped with some copies of libraries.
-# replace these libraries with the appropriate ones in
-# nixpkgs.
+
+# Dropbox ships with its own copies of some libraries.
+# Unfortunately, upstream makes changes to the source of
+# some libraries, rendering them incompatible with the
+# open-source versions. Wherever possible, we must try
+# to make the bundled libraries work, rather than replacing
+# them with our own.
 
 let
   arch = if stdenv.system == "x86_64-linux" then "x86_64"
@@ -25,22 +26,19 @@ let
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
-  version = "2.10.28";
-  sha256 = if stdenv.system == "x86_64-linux" then "0jrg9xy03yc7npjhng9wiyzidbq7s5n8g4fwynnm1yqfd69r3yac"
-    else if stdenv.system == "i686-linux" then "17vbikhdp5l2s8cnqmk8dln4dfzvrvgqls7av3ngf71bx3bj0fij"
+  version = "3.2.9";
+  sha256 = if stdenv.system == "x86_64-linux" then "1w1xqizd4xhf9d3gwg9wwys2rdbacs390zf4a7z76m9h5r2lz049"
+    else if stdenv.system == "i686-linux" then "0lzrb0b7hi22ij7fmn7i3wkzbzv99858ah7w8ysg65za0c8qwksc"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
   # relative location where the dropbox libraries are stored
   appdir = "opt/dropbox";
 
-  # Libraries referenced by dropbox binary.
-  # Be aware that future versions of the dropbox binary may refer
-  # to different versions than are currently in these packages.
-  ldpath = stdenv.lib.makeSearchPath "lib" [
-      libSM libX11 libXext libXcomposite libXcursor libXdamage
-      libXfixes libXi libXinerama libXrandr libXrender
-      atk dbus dbus_glib glib fontconfig gcc gdk_pixbuf
-      gtk pango zlib
+  ldpath = stdenv.lib.makeSearchPath "lib"
+    [
+      dbus_libs gcc glib libdrm libffi libICE libSM libX11
+      libXmu ncurses popt qt5.base qt5.declarative qt5.webkit
+      zlib
     ];
 
   desktopItem = makeDesktopItem {
@@ -56,7 +54,6 @@ in stdenv.mkDerivation {
   name = "dropbox-${version}-bin";
   src = fetchurl {
     name = "dropbox-${version}.tar.gz";
-    
     url = "https://dl-web.dropbox.com/u/17/dropbox-lnx.${arch}-${version}.tar.gz";
     inherit sha256;
   };
@@ -67,26 +64,55 @@ in stdenv.mkDerivation {
     rm -f .dropbox-dist/dropboxd
   '';
 
+  buildInputs = [ makeWrapper ];
+
   installPhase = ''
     mkdir -p "$out/${appdir}"
     cp -r ".dropbox-dist/dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
-    mkdir -p "$out/bin"
-    ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
 
-    patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
-      "$out/${appdir}/dropbox"
-    
-    RPATH=${ldpath}:${gcc.gcc}/lib:$out/${appdir}
+    rm "$out/${appdir}/libdrm.so.2"
+    rm "$out/${appdir}/libffi.so.6"
+    rm "$out/${appdir}/libicudata.so.42"
+    rm "$out/${appdir}/libicui18n.so.42"
+    rm "$out/${appdir}/libicuuc.so.42"
+    rm "$out/${appdir}/libGL.so.1"
+    rm "$out/${appdir}/libpopt.so.0"
+    rm "$out/${appdir}/libQt5Core.so.5"
+    rm "$out/${appdir}/libQt5DBus.so.5"
+    rm "$out/${appdir}/libQt5Gui.so.5"
+    rm "$out/${appdir}/libQt5Network.so.5"
+    rm "$out/${appdir}/libQt5OpenGL.so.5"
+    rm "$out/${appdir}/libQt5PrintSupport.so.5"
+    rm "$out/${appdir}/libQt5Qml.so.5"
+    rm "$out/${appdir}/libQt5Quick.so.5"
+    rm "$out/${appdir}/libQt5Sql.so.5"
+    rm "$out/${appdir}/libQt5WebKit.so.5"
+    rm "$out/${appdir}/libQt5WebKitWidgets.so.5"
+    rm "$out/${appdir}/libQt5Widgets.so.5"
+    rm "$out/${appdir}/libX11-xcb.so.1"
+
+    rm "$out/${appdir}/qt.conf"
+    rm -fr "$out/${appdir}/plugins"
+
+    find "$out/${appdir}" -type f -a -perm +0100 \
+      -print -exec patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} {} \;
+
+    RPATH=${ldpath}:${gcc.cc}/lib:$out/${appdir}
     echo "updating rpaths to: $RPATH"
     find "$out/${appdir}" -type f -a -perm +0100 \
       -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 
     mkdir -p "$out/share/applications"
     cp "${desktopItem}/share/applications/"* $out/share/applications
+
+    mkdir -p "$out/bin"
+    makeWrapper "$out/${appdir}/dropbox" "$out/bin/dropbox" \
+      --prefix LD_LIBRARY_PATH : "${ldpath}"
   '';
 
   meta = {
     homepage = "http://www.dropbox.com";
     description = "Online stored folders (daemon version)";
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/applications/networking/enhanced-ctorrent/default.nix b/pkgs/applications/networking/enhanced-ctorrent/default.nix
new file mode 100644
index 00000000000..fedbfeb957c
--- /dev/null
+++ b/pkgs/applications/networking/enhanced-ctorrent/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+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";
+  };
+
+  meta = {
+    description = "BitTorrent client written in C++";
+    longDescription = ''
+      CTorrent, a BitTorrent client implemented in C++, with bugfixes and
+      performance enhancements.
+    '';
+    homepage = http://www.rahul.net/dholmes/ctorrent/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/networking/feedreaders/canto-curses/default.nix b/pkgs/applications/networking/feedreaders/canto-curses/default.nix
new file mode 100644
index 00000000000..ae4746a3f1e
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/canto-curses/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, python34Packages, readline, ncurses, canto-daemon }:
+
+python34Packages.buildPythonPackage rec {
+  version = "0.9.1";
+  name = "canto-curses-${version}";
+
+  src = fetchFromGitHub {
+    owner = "themoken";
+    repo = "canto-curses";
+    rev = "v${version}";
+    sha256 = "1vb5g0vdkp233r09qv0g4rgz7nprr2a625lf6nf6a51wpimdwgdy";
+  };
+
+  buildInputs = [ readline ncurses canto-daemon ];
+  propagatedBuildInputs = [ canto-daemon ];
+
+  meta = {
+    description = "An ncurses-based console Atom/RSS feed reader";
+    longDescription = ''
+      Canto is an Atom/RSS feed reader for the console that is meant to be
+      quick, concise, and colorful. It's meant to allow you to crank through
+      feeds like you've never cranked before by providing a minimal, yet
+      information packed interface. No navigating menus. No dense blocks of
+      unreadable white text. An interface with almost infinite customization
+      and extensibility using the excellent Python programming language.
+    '';
+    homepage = http://codezen.org/canto-ng/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/networking/feedreaders/canto-daemon/default.nix b/pkgs/applications/networking/feedreaders/canto-daemon/default.nix
new file mode 100644
index 00000000000..bf564dd4327
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/canto-daemon/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, python34Packages, }:
+
+python34Packages.buildPythonPackage rec {
+  version = "0.9.1";
+  name = "canto-daemon-${version}";
+  namePrefix = "";
+
+  src = fetchFromGitHub {
+    owner = "themoken";
+    repo = "canto-next";
+    rev = "v${version}";
+    sha256 = "14lh6x0yz2asspwdi1ims01589r79q0dv77vq61gfjk5wiwfbdwa";
+  };
+
+  propagatedBuildInputs = with python34Packages; [ feedparser ];
+
+  meta = {
+    description = "Daemon for the canto Atom/RSS feed reader";
+    longDescription = ''
+      Canto is an Atom/RSS feed reader for the console that is meant to be
+      quick, concise, and colorful. It's meant to allow you to crank through
+      feeds like you've never cranked before by providing a minimal, yet
+      information packed interface. No navigating menus. No dense blocks of
+      unreadable white text. An interface with almost infinite customization
+      and extensibility using the excellent Python programming language.
+    '';
+    homepage = http://codezen.org/canto-ng/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
index e5f18f72ced..183df058eff 100644
--- a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
-, gettext, libiconvOrEmpty, makeWrapper, perl }:
+, gettext, libiconv, makeWrapper, perl }:
 
 stdenv.mkDerivation rec {
   name = "newsbeuter-2.8";
@@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
   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 ]
-      ++ libiconvOrEmpty
+    = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl libiconv ]
       ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
 
   preBuild = ''
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix
index 4390360ff9e..a254535dd70 100644
--- a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix
+++ b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
-, gettext, libiconvOrEmpty, makeWrapper, perl }:
+, gettext, libiconv, makeWrapper, perl }:
 
 stdenv.mkDerivation rec {
   name = "newsbeuter-dev-20140309";
@@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
   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 ]
-      ++ libiconvOrEmpty
+    = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl libiconv ]
       ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
 
   preBuild = ''
diff --git a/pkgs/applications/networking/feedreaders/rawdog/default.nix b/pkgs/applications/networking/feedreaders/rawdog/default.nix
new file mode 100644
index 00000000000..fc494c6aebc
--- /dev/null
+++ b/pkgs/applications/networking/feedreaders/rawdog/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "rawdog-2.20";
+
+  src = fetchurl {
+    url = "http://offog.org/files/${name}.tar.gz";
+    sha256 = "0a63b26cc111b0deca441f498177b49be0330760c5c0e24584cdb9ba1e7fd5a6";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ feedparser ];
+
+  namePrefix = "";
+  
+  meta = {
+    homepage = "http://offog.org/code/rawdog/";
+    description = "an RSS Aggregator Without Delusions Of Grandeur.";
+    license = stdenv.lib.licenses.gpl2;
+    platform = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 5f695f80b19..bf8f9234f5a 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, dbus, gnutls, wxGTK28, libidn, tinyxml, gettext
+{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite }:
 
-let version = "3.8.1"; in
+let version = "3.9.0.6"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "0kqyz8yb15kbzx02l3riswg95prbp402k4672nwxrzs35049rg36";
+    sha256 = "1dxhj4ijpl5m2r5f9p04kbaqcvivy3lrb1kdn5axqngshfrmczyf";
   };
 
   configureFlags = [
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    dbus gnutls wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
+    dbus gnutls wxGTK30 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
new file mode 100644
index 00000000000..db2934785eb
--- /dev/null
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, ocamlPackages, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "google-drive-ocamlfuse-0.5.12";
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1489/${name}.tar.gz";
+    sha256 = "0yfzzrv4h7vplw6qjm9viymy51jaqqari012agar96zwa86fsrdr";
+  };
+
+  buildInputs = [ zlib ] ++ (with ocamlPackages; [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";
+
+  meta = {
+    
+  };
+}
diff --git a/pkgs/applications/networking/ids/bro/default.nix b/pkgs/applications/networking/ids/bro/default.nix
index d60d39ac028..c3641903a75 100644
--- a/pkgs/applications/networking/ids/bro/default.nix
+++ b/pkgs/applications/networking/ids/bro/default.nix
@@ -1,22 +1,21 @@
 {stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl, geoip, gperftools }:
 
 stdenv.mkDerivation rec {
-  name = "bro-2.1";
+  name = "bro-2.3.2";
   
   src = fetchurl {
     url = "http://www.bro.org/downloads/release/${name}.tar.gz";
-    sha256 = "1q2mm7rbgjcn01na2wm5fdfdm9pggzgljxj0n127s93fip3vg0qd";
+    sha256 = "16y6924brh7sw6l0nry6y4q8sif2lkcpymkd26aabdc61bdgpr9g";
   };
   
   buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools ];
 
-  USER="something";
-
   enableParallelBuilding = true;
   
-  meta = {
+  meta = with stdenv.lib; {
     description = "Powerful network analysis framework that is much different from the typical IDS you may know";
     homepage = http://www.bro.org/;
-    license = "BSD";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/applications/networking/ids/daq/default.nix b/pkgs/applications/networking/ids/daq/default.nix
index 36571809a37..287a4239c2c 100644
--- a/pkgs/applications/networking/ids/daq/default.nix
+++ b/pkgs/applications/networking/ids/daq/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, flex, bison, libpcap}:
 
 stdenv.mkDerivation rec {
-  name = "daq-2.0.0";
+  name = "daq-2.0.4";
   
   src = fetchurl {
     name = "${name}.tar.gz";
-    url = http://www.snort.org/downloads/2311;
-    sha256 = "0f0w5jfmx0n2sms4f2mfg984a27r7qh927vkd7fclvx9cbiwibzv";
+    url = "http://www.snort.org/downloads/snort/${name}.tar.gz";
+    sha256 = "0g15kny0s6mpqfc723jxv7mgjfh45izhwcidhjzh52fd04ysm552";
   };
   
   buildInputs = [ flex bison libpcap ];
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Data AcQuisition library (DAQ), for packet I/O";
     homepage = http://www.snort.org;
+    maintainers = with stdenv.lib.maintainers; [ aycanirican ];
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index 580591c18ad..257b676686b 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -1,12 +1,13 @@
 {stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}:
 
 stdenv.mkDerivation rec {
-  name = "snort-2.9.4.6";
+  version = "2.9.7.2";
+  name = "snort-${version}";
   
   src = fetchurl {
     name = "${name}.tar.gz";
-    url = http://www.snort.org/downloads/2320;
-    sha256 = "1g5kn36l67a5m95h2shqwqbbjb6rgl3sf1bciakal2l4n6857ang";
+    url = "http://www.snort.org/downloads/snort/${name}.tar.gz";
+    sha256 = "1gmlrh9ygpd5h6nnrr4090wk5n2yq2yrvwi7q6xbm6lxj4rcamyv";
   };
   
   buildInputs = [ libpcap pcre libdnet daq zlib flex bison ];
@@ -14,6 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Network intrusion prevention and detection system (IDS/IPS)";
     homepage = http://www.snort.org;
+    maintainers = with stdenv.lib.maintainers; [ aycanirican ];
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/networking/ike/default.nix b/pkgs/applications/networking/ike/default.nix
new file mode 100644
index 00000000000..56341b64d6c
--- /dev/null
+++ b/pkgs/applications/networking/ike/default.nix
@@ -0,0 +1,47 @@
+{ 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"
+
+# NOTE: my testings reveal that kernels 3.11.10 and 3.12.6 won't let the traffic through the tunnel,
+# so I'm sticking with 3.4
+
+stdenv.mkDerivation rec {
+  name = "ike-2.2.1";
+
+  src = fetchurl {
+    url = "https://www.shrew.net/download/ike/${name}-release.tgz";
+    sha256 = "0fhyr2psd93b0zf7yfb72q3nqnh65mymgq5jpjcsj9jv5kfr6l8y";
+  };
+
+  buildInputs = [ cmake openssl libedit flex bison qt4 makeWrapper nettools iproute ];
+
+  configurePhase = ''
+    mkdir -p $out/{bin,sbin,lib}
+    cmake -DQTGUI=YES -DETCDIR=$out/etc -DLIBDIR=$out/lib -DSBINDIR=$out/sbin -DBINDIR=$out/bin \
+          -DKRNINC="${linuxHeaders}/include/" -DTESTS=YES \
+          -DMANDIR=$out/man -DNATT=YES -DCMAKE_INSTALL_PREFIX:BOOL=$out
+  '';
+
+  buildPhase = ''
+    make
+  '';
+
+  installPhase = ''
+    make install
+    for file in "$out"/bin/* "$out"/sbin/*; do
+        wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl}/lib:${gcc.cc}/lib:${stdenv.glibc}/lib::${gcc.cc}/lib64:${stdenv.glibc}/lib64:${libedit}/lib:${qt4}/lib"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.shrew.net/software;
+    description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems";
+    platforms = platforms.unix;
+    maintainers = [ maintainers.iElectric ];
+    license = licenses.sleepycat;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index b878427e876..db24670d969 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -4,11 +4,11 @@
 , gsm, speex, portaudio, spandsp, libuuid
 }:
 stdenv.mkDerivation rec {
-  version = "0.4.11";
+  version = "0.4.12";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "1ql5h9ily9jncp9w302v3b2ldx613kc60zlqv0v0ln8hsm8q6bc5";
+    sha256 = "0f4jfpyvlgvq47yha3ys3kbrpd6c20yxaqki70hl6b91jbhmq9i2";
   };
   buildInputs = [zlib openssl libre librem pkgconfig
     cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
     "USE_BV32=" "USE_COREAUDIO=" "USE_G711=" "USE_G722=" "USE_G722_1=" 
     "USE_ILBC=" "USE_OPUS=" "USE_SILK=" 
   ]
-  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
-  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
+  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
   ;
   NIX_CFLAGS_COMPILE='' -I${librem}/include/rem -I${gsm}/include/gsm '';
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index cf10c1e6fe2..805a47fc058 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -1,19 +1,23 @@
 { fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "bitlbee-3.2";
+  name = "bitlbee-3.2.2";
 
   src = fetchurl {
     url = "mirror://bitlbee/src/${name}.tar.gz";
-    sha256 = "1b43828e906f5450993353f2ebecc6c038f0261c4dc3f1722ebafa6ea3e62030";
+    sha256 = "13jmcxxgli82wb2n4hs091159xk8rgh7nb02f478lgpjh6996f5s";
   };
 
   buildInputs = [ gnutls glib pkgconfig libotr ]
-    ++ stdenv.lib.optional doCheck check;
+    ++ optional doCheck check;
 
-  configureFlags = [ "--otr=1" ];
+  configureFlags = [
+    "--gcov=1"
+    "--otr=1"
+    "--ssl=gnutls"
+  ];
 
-  preCheck = "mkdir tests/.depend";
   doCheck = true;
 
   meta = {
@@ -31,9 +35,9 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.bitlbee.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix
new file mode 100644
index 00000000000..00a881c0c67
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pythonPackages, pyqt4, cython, libvncserver, zlib, twisted, gnutls }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "blink-${version}";
+  version = "1.2.2";
+  
+  src = fetchurl {
+    url = "http://download.ag-projects.com/BlinkQt/${name}.tar.gz";
+    sha256 = "0z7bhfz2775cm7c7s794s5ighp5q7fb6jn8dw025m49vlgqzr78c";
+  };
+
+  patches = [ ./pythonpath.patch ];
+  postPatch = ''
+    sed -i 's|@out@|'"''${out}"'|g' blink/resources.py
+  '';
+
+  propagatedBuildInputs = [ pyqt4 pythonPackages.cjson pythonPackages.sipsimple twisted ];
+
+  buildInputs = [ cython zlib libvncserver ];
+
+  postInstall = ''
+    wrapProgram $out/bin/blink \
+      --prefix LD_LIBRARY_PATH : ${gnutls}/lib
+  '';
+
+  meta = {
+    homepage = http://icanblink.com/;
+    description = "A state of the art, easy to use SIP client";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch b/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
new file mode 100644
index 00000000000..723e097ea82
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
@@ -0,0 +1,20 @@
+diff -rupN a/blink/resources.py b/blink/resources.py
+--- a/blink/resources.py	2015-03-17 03:24:06.000000000 -0600
++++ b/blink/resources.py	2015-04-07 22:52:06.101096413 -0600
+@@ -60,14 +60,7 @@ class Resources(object):
+     @classproperty
+     def directory(cls):
+         if cls._cached_directory is None:
+-            if sys.path[0] == '':
+-                application_directory = os.path.realpath('') # executed in interactive interpreter
+-            else:
+-                binary_directory = os.path.dirname(os.path.realpath(sys.argv[0]))
+-                if os.path.basename(binary_directory) == 'bin':
+-                    application_directory = os.path.dirname(binary_directory)
+-                else:
+-                    application_directory = binary_directory
++            application_directory = '@out@'
+             if os.path.exists(os.path.join(application_directory, 'resources', 'blink.ui')):
+                 cls._cached_directory = os.path.join(application_directory, 'resources').decode(sys.getfilesystemencoding())
+             else:
+Binary files a/blink/.resources.py.swp and b/blink/.resources.py.swp differ
diff --git a/pkgs/applications/networking/instant-messengers/choqok/default.nix b/pkgs/applications/networking/instant-messengers/choqok/default.nix
new file mode 100644
index 00000000000..9b16404b620
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/choqok/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, cmake, qt4, perl, gettext, libXScrnSaver
+, kdelibs, kdepimlibs, automoc4, pkgconfig, phonon, qca2, qjson, qoauth }:
+
+let
+  pn = "choqok";
+  v = "1.5";
+in
+
+stdenv.mkDerivation rec {
+  name = "${pn}-${v}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/choqok/Choqok/choqok-1.5.tar.xz";
+    sha256 = "5cb97ac4cdf9db4699bb7445a9411393073d213fea649ab0713f659f1308efe4";
+  };
+
+  buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs
+    automoc4 pkgconfig phonon qca2 qjson qoauth ];
+
+  meta = with stdenv.lib; {
+    description = "A KDE microblogging client";
+    repositories.git = git://anongit.kde.org/choqok;
+    license = "GPL";
+    inherit (kdelibs.meta) maintainers platforms;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index e46956f3cca..cae9fe294f3 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
+{ stdenv, glib, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
 , perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook
 , libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
 , pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme
@@ -15,10 +15,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
                   perl perlXMLParser evolution_data_server gnome_doc_utils avahi
                   libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
-                  gnome3.libsoup
-                  hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook
-                  pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
-                  libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
+                  gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
+                  hicolor_icon_theme gnome3.gnome_icon_theme boost
+                  autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
+                  nss zlib libsecret libXrandr randrproto which libxslt libtasn1
+                  gmp nettle makeWrapper ];
 
   preAutoreconf = ''
     substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 ""
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-ldap-dir=${openldap}"
     "--with-libsasl2-dir=${cyrus_sasl}"
-    "--with-boost-libdir=${boost}/lib"
+    "--with-boost-libdir=${boost.lib}/lib"
     "--disable-gconf"
   ];
 
@@ -37,7 +38,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out"/bin/ekiga \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index cdbc4233cf4..cc90c9c125c 100644
--- a/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
@@ -1,51 +1,42 @@
-x@{builderDefsPackage
-  , guile, pkgconfig, glib, loudmouth, gmp, libidn, readline, libtool
-  , libunwind, ncurses
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchgit
+, guile, pkgconfig, glib, loudmouth, gmp, libidn, readline, libtool
+, libunwind, ncurses, curl, jansson, texinfo
+, automake, autoconf
+}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
+let
+  s = rec {
     baseName="freetalk";
-    version="3.2";
+    version="4.0rc6";
     name="${baseName}-${version}";
-    url="mirror://savannah/${baseName}/${name}.tar.gz";
-    hash="12dn7yj9k5xsrrjlnma77wzpvsdxjccwla1q0wy3lacl5l2p0jms";
+    url="https://github.com/GNUFreetalk/freetalk";
+    rev = "refs/tags/v${version}";
+    sha256="0vh6snkd66gdzimdiyy9idhsip60d5xc7qh4w48k7n8h93ydrb2b";
   };
+  buildInputs = [
+    guile pkgconfig glib loudmouth gmp libidn readline libtool
+    libunwind ncurses curl jansson texinfo
+    autoconf automake
+  ];
 in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
+stdenv.mkDerivation {
+  inherit (s) name version;
   inherit buildInputs;
+  src = fetchgit {
+    inherit (s) url rev sha256;
+  };
 
-  patches = [./01_callbacks_const_fix.diff];
+  preConfigure = ''
+    patchShebangs .
+    ./autogen.sh
+  '';
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
-      
   meta = {
-    description = "Console XMPP client";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl3Plus;
+    inherit (s) version;
+    description =  "Console XMPP client";
+    license = stdenv.lib.licenses.gpl3Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = "http://www.gnu.org/software/freetalk/";
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.gnu.org/software/freetalk/";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/applications/networking/instant-messengers/fuze/default.nix b/pkgs/applications/networking/instant-messengers/fuze/default.nix
index 41ffb421f8e..bc9246d8845 100644
--- a/pkgs/applications/networking/instant-messengers/fuze/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fuze/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   libPath =
     stdenv.lib.makeLibraryPath [
       openssl alsaLib libXext libXfixes libXrandr libjpeg curl_custom
-      libX11 libXmu libXv qt4 libXtst mesa stdenv.gcc.gcc zlib
+      libX11 libXmu libXv qt4 libXtst mesa stdenv.cc.cc zlib
       gnome.GConf libidn rtmpdump c-ares openldap
     ];
   buildCommand = ''
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     cp -R usr/lib/fuzebox $out/lib
 
     patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath $out/lib/fuzebox:$libPath \
       $out/lib/fuzebox/FuzeLinuxApp
 
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index d5902d14359..fbd9954d3aa 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python, intltool, pkgconfig, libX11, gtk
-, ldns, pyopenssl, pythonDBus, pythonPackages
+, ldns, pythonDBus, pythonPackages
 
 , enableJingle ? true, farstream ? null, gst_plugins_bad ? null
 ,                      libnice ? null
@@ -22,21 +22,15 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gajim-${version}";
-  version = "0.15.4";
+  version = "0.16.1";
 
   src = fetchurl {
-    url = "http://www.gajim.org/downloads/0.15/gajim-${version}.tar.gz";
-    sha256 = "1g4m5j777vqqdwqvr2m6l09ljjx65ilag45d5kfc78z7frm0cz7g";
+    url = "http://www.gajim.org/downloads/0.16/gajim-${version}.tar.bz2";
+    sha256 = "1gp8mdn6sz2pks5irsf563zbz98ldqksfky84ga9fzqndmq35bi6";
   };
 
   patches = [
     (fetchurl {
-      name = "gajim-drill-srv.patch";
-      url = "https://projects.archlinux.org/svntogit/packages.git/"
-          + "plain/trunk/gajim-drill.patch?h=packages/gajim";
-      sha256 = "1k8zz3ns0l0kriffq41jgkv5ym6jvyd24171l7s98v9d81prdw1w";
-    })
-    (fetchurl {
       name = "gajim-icon-index.patch";
       url = "http://hg.gajim.org/gajim/raw-rev/b9ec78663dfb";
       sha256 = "0w54hr5dq9y36val55kmh8d6cid7h4fs2nghx09714jylz2nyxxv";
@@ -69,7 +63,8 @@ stdenv.mkDerivation rec {
     pythonPackages.pygobject pythonPackages.pyGtkGlade
     pythonPackages.sqlite3 pythonPackages.pyasn1
     pythonPackages.pyxdg
-    pyopenssl pythonDBus
+    pythonPackages.nbxmpp
+    pythonPackages.pyopenssl pythonDBus
   ] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ]
     ++ optional enableE2E pythonPackages.pycrypto
     ++ optional enableRST pythonPackages.docutils
@@ -88,5 +83,7 @@ stdenv.mkDerivation rec {
     description = "Jabber client written in PyGTK";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.raskin maintainers.aszlig ];
+    downloadPage = "http://gajim.org/downloads.php";
+    updateWalker = true;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/gtmess/default.nix b/pkgs/applications/networking/instant-messengers/gtmess/default.nix
index 64021c93bc8..3e16a58f54b 100644
--- a/pkgs/applications/networking/instant-messengers/gtmess/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gtmess/default.nix
@@ -1,17 +1,15 @@
 {stdenv, fetchurl, ncurses, openssl, tcl, tk}:
 
 stdenv.mkDerivation {
-  name = "gtmess-0.96";
+  name = "gtmess-0.97";
 
   src = fetchurl {
-    url = mirror://sourceforge/gtmess/gtmess-0.96.tar.gz;
-    sha256 = "0w29wyshx32485c7wazj51lvk2j9k1kn2jmwpf916r4513hwplvm";
+    url = mirror://sourceforge/gtmess/gtmess-0.97.tar.gz;
+    sha256 = "1ipmqsrj0r1ssbgs2fpr4x5vnzlxlqhx9jrnadp1jw7s0sxpjqv0";
   };
 
   buildInputs = [ ncurses openssl tcl tk];
 
-  patches = [ ./va_list.patch ];
-
   meta = {
     description = "Console MSN Messenger client for Linux and other unix systems";
     homepage = http://gtmess.sourceforge.net/;
diff --git a/pkgs/applications/networking/instant-messengers/gtmess/va_list.patch b/pkgs/applications/networking/instant-messengers/gtmess/va_list.patch
deleted file mode 100644
index 7d4821279b2..00000000000
--- a/pkgs/applications/networking/instant-messengers/gtmess/va_list.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/client/screen.c b/src/client/screen.c
-index e8fa75f..d3842ac 100644
---- a/src/client/screen.c
-+++ b/src/client/screen.c
-@@ -255,7 +255,7 @@ void msg(int attr, const char *fmt, ...)
-     va_start(ap, fmt);
-     r = vmsg(attr, SML, fmt, ap);
-     va_end(ap);
--    if (r) vmsg(C_ERR, SML, "msg(): output truncated\n", NULL);
-+    if (r) msgn(C_ERR, SML, "msg(): output truncated\n");
- }
- 
- void msgn(int attr, int size, const char *fmt, ...)
-@@ -266,7 +266,7 @@ void msgn(int attr, int size, const char *fmt, ...)
-     va_start(ap, fmt);
-     r = vmsg(attr, size, fmt, ap);
-     va_end(ap);
--    if (r) vmsg(C_ERR, SML, "msgn(): output truncated\n", NULL);
-+    if (r) msgn(C_ERR, SML, "msgn(): output truncated\n");
- }
- 
- int screen_shut()
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index cf4c2e22ad6..b9f9667ad3b 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libtool, xlibs, freetype, fontconfig, openssl, glib
 , mesa, gstreamer, gst_plugins_base, dbus, alsaLib, zlib, libuuid
 , libxml2, libxslt, sqlite, libogg, libvorbis, xz, libcanberra
-, makeWrapper, libredirect, xkeyboard_config }:
+, makeWrapper, libredirect, xkeyboard_config, xcbutilkeysyms }:
 
 let
 
-  version = "2.2.1107";
+  version = "2.2.1287";
 
   rpath = stdenv.lib.makeSearchPath "lib" [
     stdenv.glibc
@@ -40,18 +40,19 @@ let
     libvorbis
     xz
     libcanberra
-  ] + ":${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
+    xcbutilkeysyms
+  ] + ":${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
-        sha256 = "0lf780pxbh40m2i48cki072lrm75924cz3zgkmaxddmar3y13bwa";
+        sha256 = "170izy3v18rgriz84h4gyf9354jvjrsbkgg53czq9l0scyz8x55b";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
-        sha256 = "1k33670rpigdpy9jcacryc1i05ykp5yffcplmbm5q29ng54cn0zv";
+        sha256 = "150q7pxg5vs14is5qf36yfsf7r70g49q9xr1d1rknmc5m4qa5rc5";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
@@ -74,10 +75,8 @@ stdenv.mkDerivation {
     mv opt/HipChat/lib/ $d
     mv usr/share $out
 
-    patchShebangs $out/bin
-
     for file in $(find $d -type f); do
-        patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $file || true
+        patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $file || true
         patchelf --set-rpath ${rpath}:\$ORIGIN $file || true
     done
 
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index a74460c3e39..44cf13e2917 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation {
 
-  name = "kadu-0.12.2";
+  name = "kadu-0.12.3";
 
   src = fetchurl {
-    url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2;
-    sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1";
+    url = http://download.kadu.im/stable/kadu-0.12.3.tar.bz2;
+    sha256 = "1a5q5b8pm253cwg6ahahjdm8jxj0pv41apyi1nvvy08bs38bn1yn";
   };
 
   buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index e10b4f9c83c..f9bd941b2f6 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -1,33 +1,36 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, libosip, libexosip
-, speex, readline, mediastreamer, libsoup, udev, libnotify }:
+{ stdenv, fetchurl, intltool, pkgconfig, readline, openldap, cyrus_sasl, libupnp
+, zlib, libxml2, gtk2, libnotify, speex, ffmpeg, libX11, polarssl, libsoup, udev
+, ortp, mediastreamer, sqlite, belle-sip, libosip, libexosip
+}:
 
 stdenv.mkDerivation rec {
-  name = "linphone-3.6.1";
+  name = "linphone-3.8.1";
 
   src = fetchurl {
-    url = "mirror://savannah/linphone/3.6.x/sources/${name}.tar.gz";
-    sha256 = "186jm4nd4ggb0j8cs8wnpm4sy9cr7chq0c6kx2yc6y4k7qi83fh5";
+    url = "mirror://savannah/linphone/3.8.x/sources/${name}.tar.gz";
+    sha256 = "19xwar8z5hyp1bap1s437ipv90gspmjwcq5zznds55d7r6gbqicd";
   };
 
-  buildInputs = [ gtk libglade libosip libexosip readline mediastreamer speex libsoup udev
-    libnotify ];
+  buildInputs = [
+    readline openldap cyrus_sasl libupnp zlib libxml2 gtk2 libnotify speex ffmpeg libX11
+    polarssl libsoup udev ortp mediastreamer sqlite belle-sip libosip libexosip
+  ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
-  preConfigure = ''
-    rm -r mediastreamer2 oRTP
-    sed -i s,/bin/echo,echo, coreapi/Makefile*
-  '';
+  configureFlags = [
+    "--enable-ldap"
+    "--with-ffmpeg=${ffmpeg}"
+    "--with-polarssl=${polarssl}"
+    "--enable-lime"
+    "--enable-external-ortp"
+    "--enable-external-mediastreamer"
+  ];
 
-  configureFlags = "--enable-external-ortp --enable-external-mediastreamer";
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # I'm lazy to fix these for them
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.linphone.org/;
     description = "Open Source video SIP softphone";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.gnu;
-    broken = true;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
index cae0213c6be..6c7e4797841 100644
--- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
@@ -1,19 +1,24 @@
-{stdenv, fetchurl, openssl, ncurses, pkgconfig, glib, loudmouth}:
+{ stdenv, fetchurl, openssl, ncurses, pkgconfig, glib, loudmouth, libotr
+, gpgme
+}:
 
-stdenv.mkDerivation {
-
-  name = "mcabber-0.10.1";
+stdenv.mkDerivation rec {
+  name = "mcabber-${version}";
+  version = "0.10.3";
 
   src = fetchurl {
-    url = "http://mcabber.com/files/mcabber-0.10.1.tar.bz2";
-    sha256 = "1248cgci1v2ypb90wfhyipwdyp1wskn3gzh78af5ai1a4w5rrjq0";
+    url = "http://mcabber.com/files/mcabber-${version}.tar.bz2";
+    sha256 = "0vgsqw6yn0lzzcnr4fql4ycgf3gwqj6w4p0l4nqnvhkc94w62ikp";
   };
 
-  meta = { homepage = "http://mcabber.com/";
-           description = "Small Jabber console client";
-         };
-
-  buildInputs = [openssl ncurses pkgconfig glib loudmouth];
+  buildInputs = [ openssl ncurses pkgconfig glib loudmouth libotr gpgme ];
 
-  configureFlags = "--with-openssl=${openssl}";
+  configureFlags = "--with-openssl=${openssl} --enable-modules --enable-otr";
+  
+  meta = with stdenv.lib; {
+    homepage = http://mcabber.com/;
+    description = "Small Jabber console client";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+  };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
index 7cbc38ea0dc..c290975152c 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchurl, libotr, pidgin, intltool } :
 
 stdenv.mkDerivation rec {
-  name = "pidgin-otr-4.0.0";
+  name = "pidgin-otr-4.0.1";
   src = fetchurl {
     url = "http://www.cypherpunks.ca/otr/${name}.tar.gz";
-    sha256 = "14a6vxvlkm8wazng9aj7p82dr12857fx5is1frcyd7my5l4kysym";
+    sha256 = "02pkkf86fh5jvzsdn9y78impsgzj1n0p81kc2girvk3vq941yy0v";
   };
 
   postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-otr";
 
   buildInputs = [ libotr pidgin intltool ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.cypherpunks.ca/otr;
     description = "Plugin for Pidgin 2.x which implements OTR Messaging";
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainters = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
index ba3f041738a..c9b8a959bf9 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
@@ -1,46 +1,32 @@
-{ stdenv, fetchurl, pidgin, imagemagick, ghostscript
-, pkgconfig, glib, gtk, texLive
-}:
-        
+{ stdenv, fetchurl, pkgconfig, pidgin, texLive, imagemagick, glib, gtk }:
+
+let version = "1.5.0";
+in
 stdenv.mkDerivation {
-  name = "pidgin-latex";
+  name = "pidgin-latex-${version}";
 
   src = fetchurl {
-    url = http://tapas.affenbande.org/pidgin-latex/pidgin-latex-0.9.tgz;
-    sha256 = "1yqd3qgxd3n8hm60qg7yv7j1crr6f3d4yrdpgwdpw2pyf92p8nxp";
+    url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
+    sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
   };
 
-  preBuild = ''
-    sed -e '/^PREFIX/d' -i Makefile ; 
-    sed -e 's@/usr/bin/latex@${texLive}/bin/pdflatex@g' -i pidgin-latex.h
-    sed -e 's@/usr/bin/convert@${imagemagick}/bin/convert@g' -i pidgin-latex.h
-    sed -e 's@.*convert_path.*@const gchar *convert = CONVERT_PATH;@'
-    sed -e 's@.*latex_path.*@const gchar *convert = LATEX_PATH;@'
-    sed -e 's/%s.dvi/%s.pdf/' -i pidgin-latex.c
-    sed -e 's/latex_system\(.*\)FALSE/latex_system\1TRUE/' -i pidgin-latex.c
-  '';
-
-  makeFlags = "PREFIX=\$(out)";
+  nativeBuildInputs = [pkgconfig];
+  buildInputs = [gtk glib pidgin];
+  makeFlags = "PREFIX=$(out)";
 
-  preInstall = "mkdir -p $out/lib/pidgin $out/bin";
-  
-  postInstall = ''
-    mkdir -p $out/share/pidgin-latex
-    ln -s $out/lib/pidgin/pidgin-latex.so $out/share/pidgin-latex/
+  postPatch = ''
+    sed -e 's/-Wl,-soname//' -i Makefile
   '';
 
-  buildInputs = [pidgin imagemagick ghostscript pkgconfig glib gtk texLive];
+  passthru = {
+    wrapArgs = "--prefix PATH ':' ${texLive}/bin:${imagemagick}/bin";
+  };
 
-  meta = {
-    longDescription = ''
-      Pidgin-LaTeX is a pidgin plugin that cuts everything inside \$\$
-      .. \$\$ and feeds to LaTeX. A bit of conversion (automated, of
-      course) - and you see every formula that occurs in conversation
-      in pretty graphical form.  There are some glitches - when a
-      formula fails to compile, you can see just previous formula..
-      Enable it for user by linking to ~/.purple/plugins - from
-      sw/share/pidgin-latex , not from store of course.
-    '';
-    homepage = http://tapas.affenbande.org/wordpress/?page_id=70;
+  meta = with stdenv.lib; {
+    homepage = http://sourceforge.net/projects/pidgin-latex/;
+    description = "LaTeX rendering plugin for Pidgin IM";
+    licenses = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = maintainers.abbradar;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
deleted file mode 100644
index 840416b7d17..00000000000
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-args : with args;
-let version = "1.5.0";
-in
-rec {
-  src = fetchurl {
-    url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
-    sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
-  };
-
-  buildInputs = [texLive pkgconfig gtk imagemagick glib pidgin which];
-  configureFlags = [];
-  installFlags = [
-    "PREFIX=$out"
-  ];
-
-  preBuild = fullDepEntry (''
-    mkdir -p $out/bin
-    ln -s $(which convert) $out/bin
-    ln -s $(which xelatex) $out/bin
-    ln -s $(which dvips) $out/bin
-
-    sed -e 's/-Wl,-soname//' -i Makefile
-    sed -e 's/\(PATH("\)latex/\1xelatex/' -i LaTeX.c
-    sed -e 's/|| execute(cmddvips, dvipsopts, 10) //' -i LaTeX.c
-    sed -e 's/  strcat([*]file_ps, "[.]ps");/  strcat(*file_ps, ".pdf");/' -i LaTeX.c
-    sed -e 's/\([*]convertopts\[5\]=[{]"\)\(\\"",\)/\1 -trim \2/' -i LaTeX.c
-    sed -e 's/\(#define HEADER ".*\)12pt\(.*\)"/\116pt\2\\\\usepackage{fontspec}\\\\usepackage{xunicode}"/' -i LaTeX.h
-  '') ["minInit" "addInputs" "defEnsureDir" "doUnpack"];
-
-  postInstall = fullDepEntry (''
-    mkdir -p $out/lib
-    mkdir -p $out/share/pidgin-latex
-    ln -s ../../lib/pidgin/LaTeX.so  $out/share/pidgin-latex 
-  '') ["minInit" "defEnsureDir" "doMakeInstall"];
-
-  /* doConfigure should be specified separately */
-  phaseNames = [ "preBuild" "doMakeInstall" "postInstall"];
-
-  name = "pidgin-latex-${version}";
-  meta = {
-    description = "LaTeX rendering plugin for Pidgin IM";
-    priority = "10";
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
index 348802fe16e..7cfa12eccb4 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, libtoxcore, pidgin, autoconf, automake, libtool, libsodium } :
+{ stdenv, fetchFromGitHub, libtoxcore, pidgin, autoconf, automake, libtool
+, libsodium } :
 
 let
-  version = "17a3fd9199";
-  date = "20131012";
+  version = "dd181722ea";
+  date = "20141202";
 in
 stdenv.mkDerivation rec {
   name = "tox-prpl-${date}-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/jin-eld/tox-prpl/tarball/${version}";
-    name = "${name}.tar.gz";
-    sha256 = "0sz5wkyfwmhaj652xpsxq4p252cmmfa1vy6mp3jfyn145c758v9n";
+  src = fetchFromGitHub {
+    owner = "jin-eld";
+    repo = "tox-prpl";
+    rev = "${version}";
+    sha256 = "0wzyvg11h4ym28zqd24p35lza3siwm2519ga0yhk98rv458zks0v";
   };
 
   NIX_LDFLAGS = "-lssp -lsodium";
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix
new file mode 100644
index 00000000000..37b2a1f0c62
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/window-merge/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pidgin } :
+
+stdenv.mkDerivation rec {
+  name = "pidgin-window-merge-${version}";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "https://github.com/downloads/dm0-/window_merge/window_merge-${version}.tar.gz";
+    sha256 = "0cb5rvi7jqvm345g9mlm4wpq0240kcybv81jpw5wlx7hz0lwi478";
+  };
+
+  buildInputs = [ pidgin ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dm0-/window_merge;
+    description = "Pidgin plugin that merges the Buddy List window with a conversation window";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jgeerds ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch b/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch
new file mode 100644
index 00000000000..b0758777186
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin/add-search-path.patch
@@ -0,0 +1,20 @@
+diff --git a/libpurple/plugin.c b/libpurple/plugin.c
+index 4f2b402..fda9add 100644
+--- a/libpurple/plugin.c
++++ b/libpurple/plugin.c
+@@ -1181,8 +1181,15 @@ purple_plugins_get_handle(void) {
+ void
+ purple_plugins_init(void) {
+ 	void *handle = purple_plugins_get_handle();
++	gchar **paths, **p;
+ 
+ 	purple_plugins_add_search_path(LIBDIR);
++	paths = g_strsplit(g_getenv("PURPLE_PLUGIN_PATH"), ":", -1);
++	if (paths) {
++		for (p = paths; *p; ++p)
++			if (**p) purple_plugins_add_search_path(*p);
++	}
++	g_strfreev(paths);
+ 
+ 	purple_signal_register(handle, "plugin-load",
+ 						 purple_marshal_VOID__POINTER,
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index 814a191c457..5e8f266930f 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -1,56 +1,59 @@
-/**
- * Possible missing configuration:
- *
- * - silcclient
- * - libebook-1.2
- * - libedata-book-1.2
- * - checking for XScreenSaverRegister in -lXext... no
- * - checking for XScreenSaverRegister in -lXss... no
- * - ao
- * - audiofile-config
- * - doxygen
- */
-{ stdenv, fetchurl, pkgconfig, gtk, gtkspell, aspell,
-  gstreamer, gst_plugins_base, startupnotification, gettext,
-  perl, perlXMLParser, libxml2, nss, nspr, farsight2,
-  libXScrnSaver, ncurses, avahi, dbus, dbus_glib, intltool, libidn
-  , lib, python
-  , openssl ? null
-  , gnutls ? null
-  , libgcrypt ? null
-} :
+{ stdenv, fetchurl, pkgconfig, gtk, gtkspell, aspell
+, gstreamer, gst_plugins_base, startupnotification, gettext
+, perl, perlXMLParser, libxml2, nss, nspr, farsight2
+, libXScrnSaver, ncurses, avahi, dbus, dbus_glib, intltool, libidn
+, lib, python, libICE, libXext, libSM
+, openssl ? null
+, gnutls ? null
+, libgcrypt ? null
+}:
+
+# FIXME: clean the mess around choosing the SSL library (nss by default)
 
 stdenv.mkDerivation rec {
-  name = "pidgin-2.10.9";
+  name = "pidgin-${version}";
+  majorVersion = "2";
+  version = "${majorVersion}.10.11";
+
   src = fetchurl {
     url = "mirror://sourceforge/pidgin/${name}.tar.bz2";
-    sha256 = "06gka47myl9f5x0flkq74ml75akkf28rx9sl8pm3wqkzazc2wdnw";
+    sha256 = "01s0q30qrjlzj7kkz6f8lvrwsdd55a9yjh2xjjwyyxzw849j3bpj";
   };
 
   inherit nss ncurses;
+
   buildInputs = [
     gtkspell aspell
     gstreamer gst_plugins_base startupnotification
-    libxml2] 
-  ++ (lib.optional (openssl != null) openssl)
-  ++ (lib.optional (gnutls != null) gnutls)
-  ++ (lib.optional (libgcrypt != null) libgcrypt)
-  ++
-  [nss nspr farsight2
+    libxml2 nss nspr farsight2
     libXScrnSaver ncurses python
     avahi dbus dbus_glib intltool libidn
+    libICE libXext libSM
   ]
-  ;
+  ++ (lib.optional (openssl != null) openssl)
+  ++ (lib.optional (gnutls != null) gnutls)
+  ++ (lib.optional (libgcrypt != null) libgcrypt);
 
   propagatedBuildInputs = [
     pkgconfig gtk perl perlXMLParser gettext
   ];
 
-  patches = [./pidgin-makefile.patch ];
+  patches = [./pidgin-makefile.patch ./add-search-path.patch ];
+
+  configureFlags = [
+    "--with-nspr-includes=${nspr}/include/nspr"
+    "--with-nspr-libs=${nspr}/lib"
+    "--with-nss-includes=${nss}/include/nss"
+    "--with-nss-libs=${nss}/lib"
+    "--with-ncurses-headers=${ncurses}/include"
+    "--disable-meanwhile"
+    "--disable-nm"
+    "--disable-tcl"
+  ]
+  ++ (lib.optionals (gnutls != null) ["--enable-gnutls=yes" "--enable-nss=no"]);
+
+  enableParallelBuilding = true;
 
-  configureFlags="--with-nspr-includes=${nspr}/include/nspr --with-nspr-libs=${nspr}/lib --with-nss-includes=${nss}/include/nss --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include --disable-meanwhile --disable-nm --disable-tcl"
-  + (lib.optionalString (gnutls != null) " --enable-gnutls=yes --enable-nss=no")
-  ;
   meta = with stdenv.lib; {
     description = "Multi-protocol instant messaging client";
     homepage = http://pidgin.im;
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix
new file mode 100644
index 00000000000..7e637c767cf
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin/wrapper.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildEnv, pidgin, makeWrapper, plugins }:
+
+let
+extraArgs = map (x: x.wrapArgs or "") plugins;
+drv = buildEnv {
+  name = "pidgin-with-plugins-" + (builtins.parseDrvName pidgin.name).version;
+
+  paths = [ pidgin ] ++ plugins;
+
+  postBuild = ''
+    # TODO: This could be avoided if buildEnv could be forced to create all directories
+    if [ -L $out/bin ]; then
+      rm $out/bin
+      mkdir $out/bin
+      for i in ${pidgin}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    wrapProgram $out/bin/pidgin \
+      --suffix-each PURPLE_PLUGIN_PATH ':' "$out/lib/purple-${pidgin.majorVersion} $out/lib/pidgin" \
+      ${toString extraArgs}
+  '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
new file mode 100644
index 00000000000..1a9f8f8feab
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, automake, autoconf, pkgconfig, glib, openssl, expat
+, ncurses, libotr, curl, libstrophe
+
+, autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null
+, notifySupport ? false,   libnotify ? null, gdk_pixbuf ? null
+}:
+
+assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
+assert notifySupport   -> libnotify != null && gdk_pixbuf != null;
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "profanity-${version}";
+  version = "0.4.6";
+
+  src = fetchurl {
+    url = "http://www.profanity.im/profanity-${version}.tar.gz";
+    sha256 = "17ra53c1m0w0lzm5bj63y1ysx8bv119z5h0csisxsn4r85z6cwln";
+  };
+
+  buildInputs = [
+    automake autoconf pkgconfig
+    glib openssl expat ncurses libotr curl libstrophe
+  ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
+    ++ optionals notifySupport   [ libnotify gdk_pixbuf ];
+
+  preConfigure = "sh bootstrap.sh";
+
+  meta = {
+    description = "A console based XMPP client";
+    longDescription = ''
+      Profanity is a console based XMPP client written in C using ncurses and
+      libstrophe, inspired by Irssi.
+    '';
+    homepage = http://profanity.im/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/psi/default.nix b/pkgs/applications/networking/instant-messengers/psi/default.nix
index 5750476cc5c..784bda5e0cd 100644
--- a/pkgs/applications/networking/instant-messengers/psi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM
-, libICE, qca2, pkgconfig, qca2_ossl, liboil, speex, callPackage, which, glib
+, libICE, qca2, pkgconfig, liboil, speex, callPackage, which, glib
 , libXScrnSaver, scrnsaverproto
 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ aspell qt4 zlib sox libX11 xproto libSM libICE
-      qca2 qca2_ossl pkgconfig which glib scrnsaverproto libXScrnSaver
+      qca2 pkgconfig which glib scrnsaverproto libXScrnSaver
     ];
 
   NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto";
@@ -32,9 +32,6 @@ stdenv.mkDerivation rec {
     PSI_PLUGINS="$out/lib/psi/plugins"
     mkdir -p "$PSI_PLUGINS"
     ln -s "${psiMedia}"/share/psi/plugins/*.so "$PSI_PLUGINS"
-    PSI_QT_PLUGINS="$out/share/psi"
-    mkdir -p "$PSI_QT_PLUGINS"/crypto
-    ln -s "${qca2_ossl}"/lib/qt4/plugins/crypto/*.so "$PSI_QT_PLUGINS"/crypto
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
new file mode 100644
index 00000000000..9771f29c770
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore, qt5, openalSoft, opencv
+, libsodium, libXScrnSaver }:
+
+let
+
+  filteraudio = stdenv.mkDerivation rec {
+    name = "filter_audio-20150128";
+
+    src = fetchFromGitHub {
+      owner = "irungentoo";
+      repo = "filter_audio";
+      rev = "76428a6cda";
+      sha256 = "0c4wp9a7dzbj9ykfkbsxrkkyy0nz7vyr5map3z7q8bmv9pjylbk9";
+    };
+
+    doCheck = false;
+
+    makeFlags = "PREFIX=$(out)";
+  };
+
+in stdenv.mkDerivation rec {
+  name = "qtox-dev-20150130";
+
+  src = fetchFromGitHub {
+    owner = "tux3";
+    repo = "qTox";
+    rev = "7574569b3d";
+    sha256 = "0a7zkhl4w2r5ifzs7vwws2lpplp6q5c4jllyf4ld64njgiz6jzip";
+  };
+
+  buildInputs =
+    [
+      libtoxcore openalSoft opencv libsodium filteraudio
+      qt5.base qt5.tools libXScrnSaver
+    ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  configurePhase = "qmake";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp qtox $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "QT Tox client";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ viric jgeerds ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/ratox/default.nix b/pkgs/applications/networking/instant-messengers/ratox/default.nix
new file mode 100644
index 00000000000..4635814e11c
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/ratox/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, libtoxcore
+, conf ? null }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "ratox-0.2.1";
+
+  src = fetchurl {
+    url = "nix-prefetch-url http://git.2f30.org/ratox/snapshot/${name}.tar.gz";
+    sha256 = "1fm9b3clvnc2nf0pd1z8g08kfszwhk1ij1lyx57wl8vd51z4xsi5";
+  };
+
+  buildInputs = [ libtoxcore ];
+
+  configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
+  preConfigure = optionalString (conf!=null) "cp ${configFile} config.def.h";
+
+  preBuild = "makeFlags=PREFIX=$out";
+
+  meta =
+    { description = "FIFO based tox client";
+      homepage = http://ratox.2f30.org/;
+      license = licenses.isc;
+      maintainers = with maintainers; [ emery ];
+      platforms = platforms.linux;
+    };
+}
diff --git a/pkgs/applications/networking/instant-messengers/silc-client/default.nix b/pkgs/applications/networking/instant-messengers/silc-client/default.nix
index 4ce098e6ca4..133a15aebf8 100644
--- a/pkgs/applications/networking/instant-messengers/silc-client/default.nix
+++ b/pkgs/applications/networking/instant-messengers/silc-client/default.nix
@@ -5,19 +5,19 @@
 # http://marc.info/?l=silc-devel&m=125610477802211
 
 let
-  basename = "silc-client-1.1.8";
+  basename = "silc-client-1.1.11";
 in
 stdenv.mkDerivation {
   name = basename + stdenv.lib.optionalString enablePlugin "-irssi-plugin";
 
   src = fetchurl {
-    url = "http://silcnet.org/download/client/sources/${basename}.tar.bz2";
-    sha256 = "1qnk35g8sbnfps3bq2k9sy0ymlsijh5n8z59m2ccq4pkmqbfqgv2";
+    url = "mirror://sourceforge/silc/silc/client/sources/${basename}.tar.bz2";
+    sha256 = "13cp3fmdnj8scjak0d2xal3bfvs2k7ssrwdhp0zl6jar5rwc7prn";
   };
 
-  dontDisableStatic = true;
+  enableParallelBuilding = true;
 
-  patches = [ ./server_setup.patch ];
+  dontDisableStatic = true;
 
   configureFlags = "--with-ncurses=${ncurses}";
 
diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix
index 32755306cc7..218e7303807 100644
--- a/pkgs/applications/networking/instant-messengers/skype/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     stdenv.glibc
-    stdenv.gcc.gcc
+    stdenv.cc.cc
     libXv
     libXext
     libX11
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
       fullPath=$fullPath''${fullPath:+:}$i/lib
     done
 
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "$fullPath" $out/libexec/skype/skype
 
     cat > $out/bin/skype << EOF
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index d7dc755e9ab..df4f7054ad3 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, zlib, glib, libpng, freetype, xorg, fontconfig, alsaLib, makeWrapper, xlibs
-,  qt5, pulseaudio ? null, qt4, xkeyboard_config, libredirect }:
+{ stdenv, fetchurl, makeWrapper, zlib, glib, libpng, freetype, xorg
+, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, pulseaudio ? null
+, libredirect, quazip, less, which
+}:
 
 let
 
@@ -9,8 +11,8 @@ let
 
   deps =
     [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender
-      xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama xlibs.libxcb
-      fontconfig xorg.libXext xorg.libX11 alsaLib qt5 pulseaudio
+      xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
+      xlibs.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qt5.base pulseaudio
     ];
 
 in
@@ -31,11 +33,11 @@ stdenv.mkDerivation rec {
                 else "1b3nbvfpd8lx3dig8z5yk6zjkbmsy6y938dhj1f562wc8adixciz";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ makeWrapper less which ];
 
   unpackPhase =
     ''
-      yes | sh $src
+      echo -e 'q\ny' | sh -xe $src
       cd TeamSpeak*
     '';
 
@@ -44,8 +46,8 @@ stdenv.mkDerivation rec {
       mv ts3client_linux_${arch} ts3client
       echo "patching ts3client..."
       patchelf \
-        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-        --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
+        --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_CC/nix-support/orig-cc)/${libDir} \
         --force-rpath \
         ts3client
     '';
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
   installPhase =
     ''
       # Delete unecessary libraries - these are provided by nixos.
-      rm libQt*.so.*
+      rm *.so.*
       rm qt.conf
 
       # Install files.
@@ -65,7 +67,7 @@ stdenv.mkDerivation rec {
       ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client
 
       wrapProgram $out/bin/ts3client \
-        --set LD_PRELOAD "${libredirect}/lib/libredirect.so:$out/lib/teamspeak/libquazip.so.1" \
+        --set LD_PRELOAD "${libredirect}/lib/libredirect.so:${quazip}/lib/libquazip.so" \
         --set QT_PLUGIN_PATH "$out/lib/teamspeak/platforms" \
         --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
     '';
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index 7a57cb8ad62..1da719845a3 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -29,8 +29,8 @@ stdenv.mkDerivation {
       mv ts3server_linux_${arch} ts3server
       echo "patching ts3server"
       patchelf \
-        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-        --set-rpath $(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \
+        --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/${libDir} \
         --force-rpath \
         ts3server
     '';
diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
index b0302ba8e0b..812f00829e2 100644
--- a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libconfig lua5_2 openssl readline zlib ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # CPPFunction
+
   installPhase = ''
     mkdir -p $out/bin
     cp ./telegram $out/bin/telegram-wo-key
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
new file mode 100644
index 00000000000..16a31f6f3ba
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, glib, pkgconfig, dbus_glib, telepathy_glib, libxslt }:
+
+stdenv.mkDerivation rec {
+  pname = "telepathy-idle";
+  version = "0.2.0";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
+    sha256 = "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh";
+  };
+
+  buildInputs = [ pkgconfig glib telepathy_glib dbus_glib libxslt ];
+
+  meta = {
+    description = "IRC connection manager for the Telepathy framework";
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.5.3.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.5.3.nix
deleted file mode 100644
index eb0543aa5b0..00000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.5.3.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-[
-{name="ktp-accounts-kcm";key="accounts_kcm";sha256="0nmjwbm7ycy5awwlx359889am7qbvs64gk0bd1800a9jl2lhvw56";}
-{name="ktp-approver";key="approver";sha256="0n0a2abbz7xvzp3p4l6khgbhbjylppvskcyma440fmfv3j3jdc12";}
-{name="ktp-auth-handler";key="auth_handler";sha256="11vfim3ck60cy22x84bz6cw0267kf884qa00nbm033kpwjbx4zr6";}
-{name="ktp-call-ui";key="call_ui";sha256="0gmppn4f5a9yd3pnzga3sdwz37c7qpmx586914r64jbkii196xg4";}
-{name="ktp-common-internals";key="common_internals";sha256="1lkmaym8bv5ijy7sksbihr63qify9b9vrhrikck6q23n8sk112n9";}
-{name="ktp-contact-applet";key="contact_applet";sha256="0gsf1m276mhvysy30qqw1h7ssdipyyjh43jbf2lx4bb934by9wby";}
-{name="ktp-contact-list";key="contact_list";sha256="19nlzs650lwmzr30lrviv0qw1xd061pdrk17cm512ldvzibc70ab";}
-{name="ktp-contact-runner";key="contact_runner";sha256="0x3zkk11x9npx30w330s8n49ybqlyhgcndvqizg4sbj1lfbrmhn1";}
-{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="0w90hsypzgakqx96xkf0wk2qqns6v5ji814gvc3rf9ajcwh0d024";}
-{name="ktp-kded-integration-module";key="kded_integration_module";sha256="0sz0d1yfj35q5r1gc4m6v2c8r0cik2vzvkqfx9pqy8g97d7q1nmj";}
-{name="ktp-presence-applet";key="presence_applet";sha256="081jas1vzh6nwj3w60bw3w95gpdbi74pdi9rdxv0wvra5w76s4i6";}
-{name="ktp-send-file";key="send_file";sha256="19nlm4sfa0m0y856nzs3hrncbznc35zwbsxavssd9wrbb8p9cns6";}
-{name="ktp-text-ui";key="text_ui";sha256="0g8114adqyvzsdm8ldhidf2gyxkv0bnky71zg70gmhkdmzcfssyn";}
-{name="telepathy-logger-qt";key="telepathy_logger_qt";sha256="17bfkbxc7gfcspmjd5w6vn9a75f36qinj7illqafb7k0jqqz2nq6";}
-]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix
new file mode 100644
index 00000000000..6beebef1c72
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix
@@ -0,0 +1,14 @@
+[
+{name="ktp-accounts-kcm";key="accounts_kcm";sha256="08b873k455jbs9vd5nsb222pr1kb7gjx3qky769654j696rad5bc";}
+{name="ktp-approver";key="approver";sha256="07qsjxvcjr9i0v7g7cdx3rky1fa8aany5fyfav488kq6nc13fjb1";}
+{name="ktp-auth-handler";key="auth_handler";sha256="00gq5gq7imv7rv8xivl2s1n0k39llpmd5z46rvhai76z7hp8sj4l";}
+{name="ktp-call-ui";key="call_ui";sha256="1dwsq2ixci95byfg1ayy6g2zv0dbc0273r9wb395f220dgqpz7b4";}
+{name="ktp-common-internals";key="common_internals";sha256="049hh045p6nccyrjvagfw183vfa857xdl96q2w1vrj6frimniz9q";}
+{name="ktp-contact-list";key="contact_list";sha256="0xydyyla48y7q8pf84i12l7fx13p0gi8k4jl7nl7jxjsflzidscp";}
+{name="ktp-contact-runner";key="contact_runner";sha256="1bfb772cyzrbwjkglr3bvawp44dcqr59kkgvb6irgha8w7adic3b";}
+{name="ktp-desktop-applets";key="desktop_applets";sha256="150mpk7vq2w47vz2yffhj676k84fn3h8g77xklmyqm1y3f21dx01";}
+{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="07jgfydhr5hh7z0wkrz6k4gh3li9nmyxhjvxcxsayxrc7gnhazja";}
+{name="ktp-kded-integration-module";key="kded_integration_module";sha256="0axjqsk1h9c71hxpcy8ls7jsb0dsmsm75wdgwx71xrdb9hpqwn9f";}
+{name="ktp-send-file";key="send_file";sha256="0wiqrwhrmccx3ic0aaqlq539jcznkgsrwyn9hdizwsc8f33rxmri";}
+{name="ktp-text-ui";key="text_ui";sha256="0ch6sqvj9hpx3823c1wmziqy6g9v97sj1hihbaf8z8wyb84f0wbl";}
+]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
index d41db2e4498..564952480f2 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, fetchgit, telepathy_qt, kdelibs, kde_workspace, gettext, dbus_libs
-, pkgconfigUpstream , qt_gstreamer, telepathy_glib, telepathy_logger, qjson, flex, bison }:
+{ stdenv, fetchurl, fetchgit, telepathy_qt, kdelibs, kde_workspace, gettext, dbus_libs, farstream
+, pkgconfigUpstream , qt_gstreamer1, telepathy_glib, telepathy_logger, qjson, flex, bison, qca2 }:
 
 let
   pkgconfig = pkgconfigUpstream;
-  version = "0.5.3";
+  version = "0.8.80";
   manifest = import (./. + "/${version}.nix");
 
   overrides = {
@@ -13,11 +13,12 @@ let
   };
 
   extraBuildInputs = {
-    auth_handler = [ qjson ];
-    call_ui = [ qt_gstreamer telepathy_glib ];
+    auth_handler = [ qjson qca2 ];
+    call_ui = [ qt_gstreamer1 telepathy_glib farstream ];
     contact_applet = [ kde_workspace ];
-    telepathy_logger_qt = [ telepathy_logger qt_gstreamer ];
-    text_ui = [ ktp.telepathy_logger_qt qt_gstreamer telepathy_logger ];
+    telepathy_logger_qt = [ telepathy_logger qt_gstreamer1 ];
+    text_ui = [ qt_gstreamer1 telepathy_logger qjson ];
+    common_internals = [ telepathy_qt ];
   };
 
   extraNativeBuildInputs = {
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index b463ff2f230..aab7f84f467 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl, pkgconfig, telepathy_glib, libxslt, makeWrapper, upower }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-5.16.2";
+  name = "${pname}-5.16.3";
   pname = "telepathy-mission-control";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "1sk8f9jfaxgbsniz0n5hmrcwvxla3x8axjcnjbppg7nidk9gijrx";
+    sha256 = "0zcbx69k0d3p2pjh3g7sa3q2zkd5xchxkqsmlfn3fwxaz0pmsmvi";
   };
 
-  buildInputs = [ telepathy_glib makeWrapper upower ]; # ToDo: optional stuff missing
+  buildInputs = [ telepathy_glib makeWrapper /*upower*/ ]; # ToDo: optional stuff missing
+  # 5.16.3 won't build with upower-0.99. Arch and Debian choose to disable it
 
   nativeBuildInputs = [ pkgconfig libxslt ];
 
diff --git a/pkgs/applications/networking/instant-messengers/tkabber/default.nix b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
index 8b6b3893311..2b3703bc279 100644
--- a/pkgs/applications/networking/instant-messengers/tkabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
@@ -7,16 +7,16 @@
 with stdenv.lib;
 
 let
-  version = "1.0";
+  version = "1.1";
 
   main = {
     name = "tkabber";
-    sha256 = "49ee6e897dfe52ebac256531b54955e6b39223f606a9b8ad63a52475389db206";
+    sha256 = "1ip0mi2icqkjxiam4qj1qcynnz9ck1ggzcbcqyjj132hakd855a2";
   };
 
   plugins = {
     name = "tkabber-plugins";
-    sha256 = "d61251dc664f0bfa8534e578096dede9a7bb7d4f2620489f8d2c43d36cd61ba9";
+    sha256 = "1dr12rh4vs1w1bga45k4ijgxs39801c1k4z3b892pn1dwv84il5y";
   };
 
   tclLibraries = [ bwidget tcllib tcltls tclgpg ];
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index f7d1a010ed8..f733acf4133 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -1,28 +1,30 @@
-{ stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses
+{ stdenv, fetchFromGitHub, autoconf, libtool, automake, libsodium, ncurses
 , libtoxcore, openal, libvpx, freealut, libconfig, pkgconfig }:
 
-let
-  version = "0.4.7";
-in stdenv.mkDerivation rec {
-  name = "toxic-${version}";
+stdenv.mkDerivation rec {
+  name = "toxic-dev-20150125";
 
-  src = fetchurl {
-    url = "https://github.com/Tox/toxic/archive/v${version}.tar.gz";
-    sha256 = "0rcrcqzvicz7787fa4b7f68qnwq6wqbyrm8ii850f1w7vnxq9dkq";
+  src = fetchFromGitHub {
+    owner = "Tox";
+    repo = "toxic";
+    rev = "4badc983ea";
+    sha256 = "01zk6316v51f1zvp5ss53ay49h3nnaq5snlk0gxmsrmwg71bsnm6";
   };
 
-  makeFlags = [ "-Cbuild" "VERSION=${version}" ];
+  makeFlags = [ "-Cbuild" "PREFIX=$(out)" ];
   installFlags = [ "PREFIX=$(out)" ];
 
   buildInputs = [
-    autoconf libtool automake libtoxcore libsodium ncurses openal libvpx
-    freealut libconfig pkgconfig
+    autoconf libtool automake libtoxcore libsodium ncurses
+    libconfig pkgconfig
+  ] ++ stdenv.lib.optionals (!stdenv.isArm) [
+    openal libvpx freealut
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Reference CLI for Tox";
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = with stdenv.lib.maintainers; [ viric ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ viric jgeerds ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 2e6b904c134..b096023eaa4 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig autoreconfHook commoncpp2 openssl boost libsndfile
-      libxml2 libjpeg readline qt3 perl file
+      libxml2 libjpeg readline qt3 perl file ccrtp
       # optional ? :
       alsaLib speex
       libzrtpcpp xorg.libX11 xorg.libXaw xorg.libICE xorg.libXext
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_LINK = "-Wl,--as-needed -lboost_regex -lasound -lzrtpcpp -lspeex -lspeexdsp";
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; # fatal error: messageform.h: No such file or directory
 
   meta = with stdenv.lib; {
     homepage = http://www.twinklephone.com/;
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index b49d5f40a86..17a7f11ccce 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -1,28 +1,44 @@
 { stdenv, fetchFromGitHub, pkgconfig, libtoxcore, dbus, libvpx, libX11, openal, freetype, libv4l
 , libXrender, fontconfig, libXext, libXft }:
 
+let
 
-stdenv.mkDerivation rec {
-  name = "utox-dev";
+  filteraudio = stdenv.mkDerivation rec {
+    name = "filter_audio-20150128";
+
+    src = fetchFromGitHub {
+      owner = "irungentoo";
+      repo = "filter_audio";
+      rev = "76428a6cda";
+      sha256 = "0c4wp9a7dzbj9ykfkbsxrkkyy0nz7vyr5map3z7q8bmv9pjylbk9";
+    };
+
+    doCheck = false;
+
+    makeFlags = "PREFIX=$(out)";
+  };
+
+in stdenv.mkDerivation rec {
+  name = "utox-dev-20150130";
 
   src = fetchFromGitHub {
     owner = "notsecure";
     repo = "uTox";
-    rev = "a840b459210694fdf02671567bf33845a11d4c83";
-    sha256 = "0jr0xajkv5vkq8gxspnq09k4bzc98fr3hflnz8a3lrwajyhrnpvp";
+    rev = "cb7b8d09b08";
+    sha256 = "0vg9h07ipwyf7p54p43z9bcymy0skiyjbm7zvyjg7r5cvqxv1vpa";
   };
 
   buildInputs = [ pkgconfig libtoxcore dbus libvpx libX11 openal freetype
-                  libv4l libXrender fontconfig libXext libXft ];
+                  libv4l libXrender fontconfig libXext libXft filteraudio ];
 
   doCheck = false;
   
-  makeFlags = "DESTDIR=$(out)";
+  makeFlags = "PREFIX=$(out)";
 
   meta = with stdenv.lib; {
     description = "Lightweight Tox client";
     license = licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ iElectric ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ iElectric jgeerds ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
index ad8b677a2ec..205c21adab4 100644
--- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
@@ -12,17 +12,17 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="1.2.3";
+    version="1.2.4";
     baseName="vacuum-im";
     name="${baseName}-${version}";
-    url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz";
-    hash="037k2b2kkp2ywkrshqa0fj18mkd2jq60x4x62kzbrsvb85qcbbxh";
+    url="https://googledrive.com/host/0B7A5K_290X8-d1hjQmJaSGZmTTA/vacuum-1.2.4.tar.gz";
+    sha256="10qxpfbbaagqcalhk0nagvi5irbbz5hk31w19lba8hxf6pfylrhf";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = sourceInfo.sha256;
   };
 
   inherit (sourceInfo) name version;
diff --git a/pkgs/applications/networking/iptraf/default.nix b/pkgs/applications/networking/iptraf/default.nix
index db1f2011f11..11655d0e28d 100644
--- a/pkgs/applications/networking/iptraf/default.nix
+++ b/pkgs/applications/networking/iptraf/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   
   src = fetchurl {
     url = ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.1.tar.gz;
-    md5 = "004c2c005a1b78739e22bc49d33e244d";
+    sha256 = "12n059j9iihhpf6spmlaspqzxz3wqan6kkpnhmlj08jdijpnk84m";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix
index 2010d064f0d..765066bb437 100644
--- a/pkgs/applications/networking/irc/chatzilla/default.nix
+++ b/pkgs/applications/networking/irc/chatzilla/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, unzip, xulrunner, makeWrapper }:
+{ stdenv, fetchurl, unzip, firefox, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "chatzilla-0.9.90.1";
+  name = "chatzilla-0.9.91";
 
   src = fetchurl {
     # Obtained from http://chatzilla.rdmsoft.com/xulrunner/.
     url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}.en-US.xulapp";
-    sha256 = "0z38jig91h10cb14rvs30rpg2pgn3v890nyxyy8lxzbv5ncxmngw";
+    sha256 = "1bmjw2wvp8gh7fdl8czkxc55iari6dy672446hps20xixrh8hl8r";
   };
 
   buildInputs = [ unzip makeWrapper ];
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
     mkdir -p $out/libexec/chatzilla
     unzip $src -d $out/libexec/chatzilla
 
-    makeWrapper ${xulrunner}/bin/xulrunner $out/bin/chatzilla \
-      --add-flags $out/libexec/chatzilla/application.ini
+    makeWrapper ${firefox}/bin/firefox $out/bin/chatzilla \
+      --add-flags "-app $out/libexec/chatzilla/application.ini"
 
     sed -i $out/libexec/chatzilla/application.ini -e 's/.*MaxVersion.*/MaxVersion=99.*/'
   '';
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 67e06be0883..47754db1f2d 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  name = "irssi-0.8.15";
+  name = "irssi-0.8.17";
   
   src = fetchurl {
     url = "http://irssi.org/files/${name}.tar.bz2";
-    sha256 = "19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1";
+    sha256 = "01v82q2pfiimx6lh271kdvgp8hl4pahc3srg04fqzxgdsb5015iw";
   };
   
   buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix
index 7554ad7d1a8..cbe4e3be28d 100644
--- a/pkgs/applications/networking/irc/konversation/default.nix
+++ b/pkgs/applications/networking/irc/konversation/default.nix
@@ -3,7 +3,7 @@
 
 let
   pn = "konversation";
-  v = "1.5";
+  v = "1.5.1";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.xz";
-    sha256 = "0vsl34kiar7kbsgncycwd7f66f493fip6d635qlprqn1gqhycb9q";
+    sha256 = "11hrjrq4r6v1v14ybx9llgzmrl3a45z26n292nb0q887rg1qv0wp";
   };
 
   buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index ba3d7b8c368..343e53bc947 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -5,40 +5,49 @@
 , ssl ? true # enable SSL support
 , previews ? false # enable webpage previews on hovering over URLs
 , tag ? "" # tag added to the package name
-, stdenv, fetchurl, cmake, makeWrapper, qt4, kdelibs, automoc4, phonon, dconf }:
+, kdelibs ? null # optional
+, useQt5 ? false
+, phonon_qt5, libdbusmenu_qt5
+, stdenv, fetchurl, cmake, makeWrapper, qt, automoc4, phonon, dconf }:
+
+assert monolithic -> !client && !daemon;
+assert client || daemon -> !monolithic;
+assert withKDE -> kdelibs != null;
 
 let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
 
 in with stdenv; mkDerivation rec {
 
-  version = "0.10.0";
+  version = "0.11.0";
   name = "quassel${tag}-${version}";
 
   src = fetchurl {
     url = "http://quassel-irc.org/pub/quassel-${version}.tar.bz2";
-    sha256 = "08vwxkwnzlgnxn0wi6ga9fk8qgc6nklb236hsfnr5ad37bi8q8k8";
+    sha256 = "01251y5i1fvm6s2g9acxaczk2jdyw1byr45q41q0yh9apjw938cr";
   };
 
   enableParallelBuilding = true;
 
-  buildInputs = [ cmake makeWrapper qt4 ]
+  buildInputs = [ cmake makeWrapper ]
+    ++ (if useQt5 then [ qt.base ] else [ qt ])
+    ++ (if useQt5 && (monolithic || daemon) then [ qt.script ] else [])
+    ++ (if useQt5 && previews then [ qt.webkit qt.webkitwidgets ] else [])
     ++ lib.optional withKDE kdelibs
     ++ lib.optional withKDE automoc4
-    ++ lib.optional withKDE phonon;
+    ++ lib.optional withKDE phonon
+    ++ lib.optional useQt5 phonon_qt5
+    ++ lib.optional useQt5 libdbusmenu_qt5;
 
   cmakeFlags = [
-    "-DWITH_DBUS=OFF"
-    "-DWITH_LIBINDICATE=OFF"
     "-DEMBED_DATA=OFF"
-    "-DSTATIC=OFF"
-    "-DWITH_PHONON=ON" ]
+    "-DSTATIC=OFF" ]
     ++ edf monolithic "WANT_MONO"
     ++ edf daemon "WANT_CORE"
     ++ edf client "WANT_QTCLIENT"
     ++ edf withKDE "WITH_KDE"
-    ++ edf ssl "WITH_OPENSSL"
-    ++ edf previews "WITH_WEBKIT"  ;
+    ++ edf previews "WITH_WEBKIT"
+    ++ edf useQt5 "USE_QT5";
 
   preFixup =
     lib.optionalString client ''
@@ -52,17 +61,17 @@ in with stdenv; mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://quassel-irc.org/;
-    description = "Qt4/KDE4 distributed IRC client suppporting a remote daemon";
+    description = "Qt4/KDE4/Qt5 distributed IRC client suppporting a remote daemon";
     longDescription = ''
       Quassel IRC is a cross-platform, distributed IRC client,
       meaning that one (or multiple) client(s) can attach to
       and detach from a central core -- much like the popular
       combination of screen and a text-based IRC client such
-      as WeeChat, but graphical (based on Qt4/KDE4).
+      as WeeChat, but graphical (based on Qt4/KDE4 or Qt5).
     '';
     license = stdenv.lib.licenses.gpl3;
-    maintainers = [ maintainers.phreedom ];
+    maintainers = with maintainers; [ phreedom ttuegel ];
     repositories.git = https://github.com/quassel/quassel.git;
-    inherit (qt4.meta) platforms;
+    inherit ((if useQt5 then qt.base else qt).meta) platforms;
   };
 }
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 245619fddf0..d5cc3fb7718 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -1,32 +1,30 @@
 { stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
 , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
-, pythonPackages, cacert, cmake, makeWrapper }:
+, pythonPackages, cacert, cmake, makeWrapper
+, extraBuildInputs ? [] }:
 
 stdenv.mkDerivation rec {
-  version = "1.0";
+  version = "1.1.1";
   name = "weechat-${version}";
 
   src = fetchurl {
-    url = "http://weechat.org/files/src/${name}.tar.gz";
-    sha256 = "1z17wyrl5fp697qp44srpmzk79w37f5hm1r0krffbmga6sbzdj3x";
+    url = "http://weechat.org/files/src/weechat-${version}.tar.gz";
+    sha256 = "0j8kc2zsv7ybgq6wi0r8siyd3adl3528gymgmidijd78smbpwbx3";
   };
 
   buildInputs = 
     [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
       libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
       cacert cmake ]
-    ++ stdenv.lib.optional stdenv.isDarwin pythonPackages.pync;
+    ++ extraBuildInputs;
 
-  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}";
+  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=${cacert}/etc/ca-bundle.crt";
 
   postInstall = ''
     NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    NIX_PYTHONPATH+="${pythonPackages.pync}/lib/${python.libPrefix}/site-packages"
-  '' + ''
-     wrapProgram "$out/bin/weechat" \
-       --prefix PYTHONPATH : "$PYTHONPATH" \
-       --prefix PYTHONPATH : "$NIX_PYTHONPATH"
+    wrapProgram "$out/bin/weechat" \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PYTHONPATH : "$NIX_PYTHONPATH"
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/irc/weechat/devel.nix b/pkgs/applications/networking/irc/weechat/devel.nix
deleted file mode 100644
index 34ca4b4d7c6..00000000000
--- a/pkgs/applications/networking/irc/weechat/devel.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchgit, ncurses, openssl, perl, python, aspell, gnutls
-, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
-, pythonPackages, cacert, cmake, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  rev = "124b2668fe4e97e3926caea85ed2c9f7082c4df9";
-  version = "1.0-rev${rev}";
-  name = "weechat-${version}";
-
-  src = fetchgit {
-    inherit rev;
-    url = "git://github.com/weechat/weechat.git";
-    sha256 = "1xl5scyrxmyqaycpalhl3j50s65w2gjdm43vahd618yyykdffr8b";
-  };
-
-  buildInputs = 
-    [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
-      libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
-      cacert cmake ]
-    ++ stdenv.lib.optional stdenv.isDarwin pythonPackages.pync;
-
-  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}";
-
-  postInstall = ''
-    NIX_PYTHON_PATH="$out/lib/${python.libPrefix}/site-packages"
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    NIX_PYTHON_PATH+="${pythonPackages.pync}/lib/${python.libPrefix}/site-packages"
-  '' + ''
-     wrapProgram "$out/bin/weechat" \
-       --prefix PYTHONPATH : "$PYTHONPATH" \
-       --prefix PYTHONPATH : "$NIX_PYTHONPATH"
-  '';
-
-  meta = {
-    homepage    = http://www.weechat.org/;
-    description = "A fast, light and extensible chat client";
-    license     = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ];
-    platforms   = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix
index 77aeb64478f..4f936f2677e 100644
--- a/pkgs/applications/networking/jmeter/default.nix
+++ b/pkgs/applications/networking/jmeter/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "jmeter-2.11";
   src = fetchurl {
-    url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-${name}.tgz";
+    url = "http://archive.apache.org/dist/jmeter/binaries/apache-${name}.tgz";
     sha256 = "1fr3sw06qncb6yygcf2lbnkxma4v1dbigpf39ajrm0isxbpyv944";
   };
 
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
new file mode 100644
index 00000000000..2b4c5f564be
--- /dev/null
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, qt5, pkgconfig, boost, wirelesstools, iw }:
+
+stdenv.mkDerivation rec {
+  name = "linssid-${version}";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/linssid/LinSSID_${version}/linssid_${version}.orig.tar.gz";
+    sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
+  };
+
+  buildInputs = [ qt5 pkgconfig boost ];
+
+  postPatch = ''
+    sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
+    sed -e 's|^LIBS .*= .*libboost_regex.a|LIBS += -lboost_regex|' \
+        -e "s|/usr|$out|g" \
+        -i linssid-app/linssid-app.pro linssid-app/linssid.desktop
+    sed -e "s|\.\./\.\./\.\./\.\./usr|$out|g" -i linssid-app/*.ui
+
+    sed -e "s|iwlist|${wirelesstools}/sbin/iwlist|g" -i linssid-app/Getter.cpp
+    sed -e "s|iw dev|${iw}/sbin/iw dev|g" -i linssid-app/MainForm.cpp
+  '';
+
+  configurePhase = "qmake linssid.pro";
+
+  meta = with stdenv.lib; {
+    description = "Graphical wireless scanning for Linux";
+    homepage = http://sourceforge.net/projects/linssid/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/alpine/default.nix b/pkgs/applications/networking/mailreaders/alpine/default.nix
new file mode 100644
index 00000000000..87e824a977d
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/alpine/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, ncurses, tcl, openssl, pam, pkgconfig, gettext, kerberos
+, openldap
+}:
+let
+  s = 
+  rec {
+    version = "2.00";
+    url = "ftp://ftp.cac.washington.edu/alpine/alpine-${version}.tar.bz2";
+    sha256 = "19m2w21dqn55rhxbh5lr9qarc2fqa9wmpj204jx7a0zrb90bhpf8";
+    baseName = "alpine";
+    name = "${baseName}-${version}";
+  };
+  buildInputs = [
+    ncurses tcl openssl pam kerberos openldap
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  configureFlags = [
+    "--with-ssl-include-dir=${openssl}/include/openssl"
+    "--with-tcl-lib=tcl8.5"
+    ];
+  preConfigure = ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
+  '';
+  meta = {
+    inherit (s) version;
+    description = ''Console mail reader'';
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://www.washington.edu/alpine/";
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
new file mode 100644
index 00000000000..c22c1a275c3
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -0,0 +1,81 @@
+{ fetchurl, stdenv
+, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive
+, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap
+, perl, pkgconfig, poppler, python, webkitgtk2
+
+# Build options
+# TODO: A flag to build the manual.
+# TODO: Plugins that complain about their missing dependencies, even when
+#       provided:
+#         gdata requires libgdata
+#         geolocation requires libchamplain
+#         python requires python
+, enableLdap ? false
+, enableNetworkManager ? false
+, enablePgp ? false
+, enablePluginArchive ? false
+, enablePluginFancy ? false
+, enablePluginNotificationDialogs ? true
+, enablePluginNotificationSounds ? true
+, enablePluginPdf ? false
+, enablePluginRavatar ? false
+, enablePluginRssyl ? false
+, enablePluginSmime ? false
+, enablePluginSpamassassin ? false
+, enablePluginSpamReport ? false
+, enablePluginVcalendar ? false
+, enableSpellcheck ? false
+}:
+
+with stdenv.lib;
+
+let version = "3.11.1"; in
+
+stdenv.mkDerivation {
+  name = "claws-mail-${version}";
+
+  meta = {
+    description = "The user-friendly, lightweight, and fast email client";
+    homepage = http://www.claws-mail.org/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/claws-mail/Claws%20Mail/${version}/claws-mail-${version}.tar.bz2";
+    sha256 = "0w13xzri9d3165qsxf1dig1f0gxn3ib4lysfc9pgi4zpyzd0zgrw";
+  };
+
+  buildInputs =
+    [ curl dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ]
+    ++ optional enableSpellcheck enchant
+    ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
+    ++ optional enablePluginArchive libarchive
+    ++ optional enablePluginNotificationSounds libcanberra
+    ++ optional enablePluginNotificationDialogs libnotify
+    ++ optional enablePluginFancy libsoup
+    ++ optional enablePluginRssyl libxml2
+    ++ optional enableNetworkManager networkmanager
+    ++ optional enableLdap openldap
+    ++ optional enablePluginPdf poppler
+    ++ optional enablePluginFancy webkitgtk2;
+
+  configureFlags =
+    optional (!enableLdap) "--disable-ldap"
+    ++ optional (!enableNetworkManager) "--disable-networkmanager"
+    ++ optionals (!enablePgp) [
+      "--disable-pgpcore-plugin"
+      "--disable-pgpinline-plugin"
+      "--disable-pgpmime-plugin"
+    ]
+    ++ optional (!enablePluginArchive) "--disable-archive-plugin"
+    ++ optional (!enablePluginFancy) "--disable-fancy-plugin"
+    ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
+    ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
+    ++ optional (!enablePluginRssyl) "--disable-rssyl-plugin"
+    ++ optional (!enablePluginSmime) "--disable-smime-plugin"
+    ++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin"
+    ++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin"
+    ++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
+    ++ optional (!enableSpellcheck) "--disable-enchant";
+}
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index 821de027d28..d7aff753e23 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -1,15 +1,21 @@
 { stdenv, fetchurl, openssl, lua, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "imapfilter-2.5.4";
-  
+  name = "imapfilter-2.5.7";
+
   src = fetchurl {
-    url = "https://github.com/lefcha/imapfilter/archive/v2.5.4.tar.gz";
-    sha256 = "e5a9ee0e57e16d02ff2cbb37b67202a514121d2eb7fc63863174644ca8248769";
+    url = "https://github.com/lefcha/imapfilter/archive/v2.5.7.tar.gz";
+    sha256 = "1l7sg7pyw1i8cxqnyb5xv983fakj8mxq6w44qd7w3kc7l6ixd4n7";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
-  
   propagatedBuildInputs = [ openssl pcre lua ];
-}
 
+  meta = {
+    homepage = "https://github.com/lefcha/imapfilter";
+    description = "Mail filtering utility";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mailcheck/default.nix b/pkgs/applications/networking/mailreaders/mailcheck/default.nix
new file mode 100644
index 00000000000..05e78485655
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/mailcheck/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mailcheck-${version}";
+  version = "1.91.2";
+
+  patches = [ ./mailcheck-Makefile.patch ];
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mailcheck/mailcheck_${version}.tar.gz";
+    sha256 = "0p0azaxsnjvjbg41ycicc1i0kzw6jiynq8k49cfkdhlckxfdm9kc";
+  };
+
+  meta = {
+    description = "Simple command line tool to check for new messages";
+    homepage    = http://mailcheck.sourceforge.net/;
+    license     = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ kovirobi ];
+    platforms   = stdenv.lib.platforms.linux;
+    inherit version;
+
+    longDescription = ''
+      A simple command line tool to check for new mail in local mbox and
+      maildir and remote POP3 and IMAP mailboxes.
+    '';
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mailcheck/mailcheck-Makefile.patch b/pkgs/applications/networking/mailreaders/mailcheck/mailcheck-Makefile.patch
new file mode 100644
index 00000000000..46b3bff4f7a
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/mailcheck/mailcheck-Makefile.patch
@@ -0,0 +1,22 @@
+diff -u a/Makefile b/Makefile
+--- a/Makefile	2015-04-05 19:31:41.871227295 +0100
++++ b/Makefile	2015-04-05 19:42:49.743517508 +0100
+@@ -1,3 +1,5 @@
++prefix=$(out)
++
+ all: mailcheck
+ 
+ debug: mailcheck.c netrc.c netrc.h socket.c
+@@ -7,8 +9,10 @@
+ 	$(CC) -Wall -O2 mailcheck.c netrc.c socket.c -s -o mailcheck
+ 
+ install: mailcheck
+-	install mailcheck $(prefix)/usr/bin
+-	install -m 644 mailcheckrc $(prefix)/etc
++	[ -d $(prefix)/bin ] || mkdir $(prefix)/bin
++	[ -d $(prefix)/etc ] || mkdir $(prefix)/etc
++	install mailcheck $(prefix)/bin/
++	install -m 644 mailcheckrc $(prefix)/etc/
+ 
+ distclean: clean
+ 
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
index 1e68d2e90b8..695e2b38157 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -1,16 +1,28 @@
-{ stdenv, fetchgit, buildPythonPackage, pythonPackages }:
+{ stdenv, fetchgit, pythonPackages, gnupg1orig, makeWrapper, openssl }:
 
-buildPythonPackage rec {
-  name = "mailpile-dev";
+pythonPackages.buildPythonPackage rec {
+  name = "mailpile-${version}";
+  version = "0.4.1";
 
   src = fetchgit {
-    url = "https://github.com/pagekite/Mailpile.git";
-    rev = "6e19c1942541dbdefb5155db5f2583bf3ed22aeb";
-    sha256 = "04idlbjkasigq3vslcv33kg21rjyklm2yl8pyrf5h94lzabbl1fs";
+    url = "git://github.com/pagekite/Mailpile";
+    rev = "refs/tags/${version}";
+    sha256 = "0h84cc9kwb0m4admqjkpg4pllxlh095rmzvrql45kz71fpnxs780";
   };
 
+  patchPhase = ''
+    substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${pythonPackages.python.libPrefix}/site-packages/' + dir"
+  '';
+
   propagatedBuildInputs = with pythonPackages; [
-    pillow jinja2 spambayes pythonPackages."lxml-2.3.6" python.modules.readline or null];
+    makeWrapper pillow jinja2 spambayes pythonPackages.lxml
+    python.modules.readline pgpdump gnupg1orig
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/mailpile \
+      --prefix PATH ":" "${gnupg1orig}/bin:${openssl}/bin"
+  '';
 
   meta = with stdenv.lib; {
     description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
diff --git a/pkgs/applications/networking/mailreaders/mutt-kz/default.nix b/pkgs/applications/networking/mailreaders/mutt-kz/default.nix
new file mode 100644
index 00000000000..a162df9f33b
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/mutt-kz/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, ncurses, which, perl, autoreconfHook, autoconf, automake, notmuch
+, sslSupport ? true
+, imapSupport ? true
+, headerCache ? true
+, saslSupport ? true
+, gpgmeSupport ? true
+, gdbm ? null
+, openssl ? null
+, cyrus_sasl ? null
+, gpgme ? null
+}:
+
+assert headerCache -> gdbm != null;
+assert sslSupport -> openssl != null;
+assert saslSupport -> cyrus_sasl != null;
+assert gpgmeSupport -> gpgme != null;
+
+let
+  version = "1.5.23.1-rc1";
+in
+stdenv.mkDerivation rec {
+  name = "mutt-kz-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/karelzak/mutt-kz/archive/v${version}.tar.gz";
+    sha256 = "1m4bnn8psyrx2wy8ribannmp5qf75lv1gz116plji2z37z015zny";
+  };
+
+  buildInputs = with stdenv.lib;
+    [ ncurses which perl autoreconfHook autoconf automake notmuch]
+    ++ optional headerCache gdbm
+    ++ optional sslSupport openssl
+    ++ optional saslSupport cyrus_sasl
+    ++ optional gpgmeSupport gpgme;
+
+configureFlags = [
+    "--with-mailpath=" "--enable-smtp"
+
+    # This allows calls with "-d N", that output debug info into ~/.muttdebug*
+    "--enable-debug"
+
+    "--enable-pop" "--enable-imap"
+
+    "--enable-notmuch"
+
+    # The next allows building mutt without having anything setgid
+    # set by the installer, and removing the need for the group 'mail'
+    # I set the value 'mailbox' because it is a default in the configure script
+    "--with-homespool=mailbox"
+    (if headerCache then "--enable-hcache" else "--disable-hcache")
+    (if sslSupport then "--with-ssl" else "--without-ssl")
+    (if imapSupport then "--enable-imap" else "--disable-imap")
+    (if saslSupport then "--with-sasl" else "--without-sasl")
+    (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme")
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A small but very powerful text-based mail client, forked to support notmuch";
+    homepage = https://github.com/karelzak/mutt-kz/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ magnetophon ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 9c397f27c46..7c60864b486 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, which, perl
+{ stdenv, fetchurl, ncurses, which, perl, autoreconfHook
 , sslSupport ? true
 , imapSupport ? true
 , headerCache ? true
@@ -8,31 +8,34 @@
 , openssl ? null
 , cyrus_sasl ? null
 , gpgme ? null
+, withSidebar ? false
 }:
 
 assert headerCache -> gdbm != null;
 assert sslSupport -> openssl != null;
 assert saslSupport -> cyrus_sasl != null;
+assert gpgmeSupport -> gpgme != null;
 
 let
   version = "1.5.23";
 in
 stdenv.mkDerivation rec {
-  name = "mutt-${version}";
-  
+  name = "mutt${stdenv.lib.optionalString withSidebar "-with-sidebar"}-${version}";
+
   src = fetchurl {
-    url = "mirror://sourceforge/mutt/${name}.tar.gz";
+    url = "mirror://sourceforge/mutt/mutt-${version}.tar.gz";
     sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s";
   };
 
-  buildInputs = [
-    ncurses which perl
-    (if headerCache then gdbm else null)
-    (if sslSupport then openssl else null)
-    (if saslSupport then cyrus_sasl else null)
-    (if gpgmeSupport then gpgme else null)
-  ];
-  
+  buildInputs = with stdenv.lib;
+    [ ncurses which perl ]
+    ++ optional headerCache gdbm
+    ++ optional sslSupport openssl
+    ++ optional saslSupport cyrus_sasl
+    ++ optional gpgmeSupport gpgme;
+
+  nativeBuildInputs = stdenv.lib.optional withSidebar autoreconfHook;
+
   configureFlags = [
     "--with-mailpath=" "--enable-smtp"
 
@@ -52,6 +55,13 @@ stdenv.mkDerivation rec {
     (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme")
   ];
 
+  # Adding the sidebar
+  patches = [] ++
+    (stdenv.lib.optional withSidebar (fetchurl {
+      url = http://lunar-linux.org/~tchan/mutt/patch-1.5.23.sidebar.20140412.txt;
+      sha256 = "1i2r7dj0pd1k0z3jjxn2szi6sf0k28i8dwhr4f65pn8r2lh3wisz";
+    }));
+
   meta = with stdenv.lib; {
     description = "A small but very powerful text-based mail client";
     homepage = http://www.mutt.org;
diff --git a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch b/pkgs/applications/networking/mailreaders/mutt/mailpath.patch
deleted file mode 100644
index 3fb9c7a5f7f..00000000000
--- a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -r 8f62001989cc configure.ac
---- a/configure.ac	Sat Feb 08 10:24:22 2014 -0800
-+++ b/configure.ac	Wed Jul 02 12:34:40 2014 +0200
-@@ -473,6 +473,8 @@
-                                 mutt_cv_mailpath=/usr/spool/mail
-                         elif test -d /usr/mail; then
-                                 mutt_cv_mailpath=/usr/mail
-+                        elif test -d /tmp; then
-+                               mutt_cv_mailpath=/tmp
-                         fi])
-                 ])
-         if test "$mutt_cv_mailpath" = no; then
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 75ccb93ca95..4304520383e 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -1,60 +1,30 @@
-{ fetchurl, stdenv, bash, emacs, gdb, glib, gmime, gnupg,
-  pkgconfig, talloc, xapian
+{ fetchurl, stdenv, bash, emacs, fixDarwinDylibNames
+, gdb, glib, gmime, gnupg
+, pkgconfig, talloc, xapian
+, sphinx, python
 }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.18.1";
+  name = "notmuch-0.19";
+
+  passthru = {
+    pythonSourceRoot = "${name}/bindings/python";
+  };
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj";
+    sha256 = "1szf6c44g209pcjq5nvfhlp3nzcm3lrcwv4spsxmwy13hiaccvrr";
   };
 
-  buildInputs = [ bash emacs gdb glib gmime gnupg pkgconfig talloc xapian ];
+  buildInputs = [ bash emacs glib gmime gnupg pkgconfig talloc xapian sphinx python ]
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames
+    ++ stdenv.lib.optional (!stdenv.isDarwin) gdb;
 
   patchPhase = ''
-    (cd test && for prg in \
-        aggregate-results.sh \
-        argument-parsing \
-        atomicity \
-        author-order \
-        basic \
-        crypto \
-        count \
-        dump-restore \
-        emacs \
-        emacs-large-search-buffer \
-        encoding \
-        from-guessing \
-        help-test \
-        hooks \
-        json \
-        long-id \
-        maildir-sync \
-        multipart \
-        new \
-        notmuch-test \
-        python \
-        raw \
-        reply \
-        search \
-        search-by-folder \
-        search-insufficient-from-quoting \
-        search-folder-coherence \
-        search-limiting \
-        search-output \
-        search-position-overlap-bug \
-        symbol-hiding \
-        tagging \
-        test-lib.sh \
-        test-verbose \
-        thread-naming \
-        thread-order \
-        uuencode \
-    ;do
-      substituteInPlace "$prg" \
-        --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
-    done)
+    find test -type f -exec \
+      sed -i \
+        "1s_#!/usr/bin/env bash_#!${bash}/bin/bash_" \
+        "{}" ";"
 
     for src in \
       crypto.c \
@@ -65,6 +35,20 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  postInstall = ''
+    make install-man
+  '';
+
+  preFixup = if stdenv.isDarwin then
+    ''
+      prg="$out/bin/notmuch"
+      target="libnotmuch.3.dylib"
+      echo "$prg: fixing link to $target"
+      install_name_tool -change "$target" "$out/lib/$target" "$prg"
+    ''
+  else
+    "";
+
   # XXX: emacs tests broken
   doCheck = false;
   checkTarget = "test";
diff --git a/pkgs/applications/networking/mailreaders/realpine/default.nix b/pkgs/applications/networking/mailreaders/realpine/default.nix
new file mode 100644
index 00000000000..11097672ae7
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/realpine/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, ncurses, tcl, openssl, pam, pkgconfig, gettext, kerberos
+, openldap
+}:
+let
+  s = 
+  rec {
+    version = "2.03";
+    url = "mirror://sourceforge/re-alpine/re-alpine-${version}.tar.bz2";
+    sha256 = "11xspzbk9cwmklmcw6rxsan7j71ysd4m9c7qldlc59ck595k5nbh";
+    baseName = "re-alpine";
+    name = "${baseName}-${version}";
+  };
+  buildInputs = [
+    ncurses tcl openssl pam kerberos openldap
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  configureFlags = [
+    "--with-ssl-include-dir=${openssl}/include/openssl"
+    "--with-tcl-lib=tcl8.5"
+    ];
+  preConfigure = ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
+  '';
+  meta = {
+    inherit (s) version;
+    description = ''Console mail reader'';
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://re-alpine.sf.net/";
+    downloadPage = "http://sourceforge.net/projects/re-alpine/files/";
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/sup/.bundix/cache b/pkgs/applications/networking/mailreaders/sup/.bundix/cache
new file mode 100644
index 00000000000..5894e96022c
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/sup/.bundix/cache
@@ -0,0 +1,4 @@
+---
+gem:
+  https://rubygems.org/downloads/mini_portile-0.6.0.gem: 09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn
+  https://rubygems.org/downloads/gpgme-2.0.7.gem: 1p84zhiri2ihcld7py9mwc2kg5xs5da8fk11zhndrhmw05yvf5mr
diff --git a/pkgs/applications/networking/mailreaders/sup/Gemfile b/pkgs/applications/networking/mailreaders/sup/Gemfile
new file mode 100644
index 00000000000..a57feb5d21f
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/sup/Gemfile
@@ -0,0 +1,8 @@
+source "https://rubygems.org"
+
+gem 'sup'
+gem 'gpgme'
+
+# Sup tries to `xapian-ruby` in its extconf instead of listing it as a
+# dependency.
+gem 'xapian-ruby', "~> 1.2.15"
diff --git a/pkgs/applications/networking/mailreaders/sup/Gemfile.lock b/pkgs/applications/networking/mailreaders/sup/Gemfile.lock
new file mode 100644
index 00000000000..fe8746b9f72
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/sup/Gemfile.lock
@@ -0,0 +1,34 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    chronic (0.9.1)
+    gpgme (2.0.7)
+      mini_portile (>= 0.5.0, <= 0.6.0)
+    highline (1.6.21)
+    locale (2.1.0)
+    lockfile (2.1.3)
+    mime-types (1.25.1)
+    mini_portile (0.6.0)
+    ncursesw (1.4.9)
+    rmail-sup (1.0.1)
+    sup (0.20.0)
+      chronic (~> 0.9.1)
+      highline
+      locale (~> 2.0)
+      lockfile
+      mime-types (~> 1.0)
+      ncursesw (~> 1.4.0)
+      rmail-sup (~> 1.0.1)
+      trollop (>= 1.12)
+      unicode (~> 0.4.4)
+    trollop (2.1.1)
+    unicode (0.4.4.2)
+    xapian-ruby (1.2.19.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  gpgme
+  sup
+  xapian-ruby (~> 1.2.15)
diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix
index 3d537d83f43..19715d7b255 100644
--- a/pkgs/applications/networking/mailreaders/sup/default.nix
+++ b/pkgs/applications/networking/mailreaders/sup/default.nix
@@ -1,79 +1,19 @@
-{ stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
-, xapian_ruby, gpgme, libiconvOrEmpty, mime_types, chronic, trollop, lockfile
-, gettext, iconv, locale, text, highline, rmail_sup, unicode, gnupg, which
-, bundler, git }:
+{ stdenv, lib, bundlerEnv, gpgme, ruby, ncurses, writeText, zlib, xapian
+, pkgconfig, which }:
 
-stdenv.mkDerivation rec {
-  version = "0.18.0";
-  name    = "sup-${version}";
+bundlerEnv {
+  name = "sup-0.20.0";
 
-  meta = {
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  meta = with lib; {
     description = "A curses threads-with-tags style email client";
     homepage    = http://supmua.org;
-    license     = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
-    platforms   = stdenv.lib.platforms.unix;
-    broken = true;
-  };
-
-  dontStrip = true;
-
-  src = fetchurl {
-    url    = "https://github.com/sup-heliotrope/sup/archive/release-${version}.tar.gz";
-    sha256 = "1dhg0i2v0ddhwi32ih5lc56x00kbaikd2wdplgzlshq0nljr9xy0";
+    license     = with licenses; gpl2;
+    maintainers = with maintainers; [ cstrahan lovek323 ];
+    platforms   = platforms.unix;
   };
-
-  buildInputs =
-    [ rake ruby rubygems makeWrapper gpgme ncursesw_sup xapian_ruby
-      libiconvOrEmpty git ];
-
-  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
-
-  buildPhase = ''
-    # the builder uses git to get a listing of the files
-    export EMAIL="nobody@in.here"
-    git init >/dev/null
-    git add .
-    git commit -m "message" >/dev/null
-    gem build sup.gemspec
-  '';
-
-  installPhase = ''
-    export HOME=$TMP/home; mkdir -pv "$HOME"
-
-    GEM_PATH="$GEM_PATH:$out/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${chronic}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${gettext}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${gpgme}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${highline}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${iconv}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${locale}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${lockfile}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${mime_types}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${ncursesw_sup}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${rmail_sup}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${text}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${trollop}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${unicode}/${ruby.gemPath}"
-    GEM_PATH="$GEM_PATH:${xapian_ruby}/${ruby.gemPath}"
-
-    # Don't install some dependencies -- we have already installed
-    # the dependencies but gem doesn't acknowledge this
-    gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
-        --bindir "$out/bin" --no-rdoc --no-ri sup-${version}.gem \
-        --ignore-dependencies >/dev/null
-
-    # specify ruby interpreter explicitly
-    sed -i '1 s|^.*$|#!${ruby}/bin/ruby|' bin/sup-sync-back-maildir
-
-    cp bin/sup-sync-back-maildir "$out/bin"
-
-    for prog in $out/bin/*; do
-      wrapProgram "$prog" --prefix GEM_PATH : "$GEM_PATH" --prefix PATH : "${gnupg}/bin:${which}/bin"
-    done
-
-    for prog in $out/gems/*/bin/*; do
-      [[ -e "$out/bin/$(basename $prog)" ]]
-    done
-  '';
 }
diff --git a/pkgs/applications/networking/mailreaders/sup/gemset.nix b/pkgs/applications/networking/mailreaders/sup/gemset.nix
new file mode 100644
index 00000000000..e39da3dac85
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/sup/gemset.nix
@@ -0,0 +1,107 @@
+{
+  "chronic" = {
+    version = "0.9.1";
+    source = {
+      type = "gem";
+      sha256 = "0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk";
+    };
+  };
+  "gpgme" = {
+    version = "2.0.7";
+    source = {
+      type = "gem";
+      sha256 = "1p84zhiri2ihcld7py9mwc2kg5xs5da8fk11zhndrhmw05yvf5mr";
+    };
+    dependencies = [
+      "mini_portile"
+    ];
+  };
+  "highline" = {
+    version = "1.6.21";
+    source = {
+      type = "gem";
+      sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
+    };
+  };
+  "locale" = {
+    version = "2.1.0";
+    source = {
+      type = "gem";
+      sha256 = "18bb0g24flq9dr8qv4j7pm7w9i2vmvmqrbmry95ibf1r1c4s60yj";
+    };
+  };
+  "lockfile" = {
+    version = "2.1.3";
+    source = {
+      type = "gem";
+      sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr";
+    };
+  };
+  "mime-types" = {
+    version = "1.25.1";
+    source = {
+      type = "gem";
+      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+    };
+  };
+  "mini_portile" = {
+    version = "0.6.0";
+    source = {
+      type = "gem";
+      sha256 = "09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn";
+    };
+  };
+  "ncursesw" = {
+    version = "1.4.9";
+    source = {
+      type = "gem";
+      sha256 = "154cls3b237imdbhih7rni5p85nw6mpbpkzdw08jxzvqaml7q093";
+    };
+  };
+  "rmail-sup" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g";
+    };
+  };
+  "sup" = {
+    version = "0.20.0";
+    source = {
+      type = "gem";
+      sha256 = "1lpqgrqkv29xr1h1142qsbmknlshpgys7fc3w1nkyhib8s3ikamg";
+    };
+    dependencies = [
+      "chronic"
+      "highline"
+      "locale"
+      "lockfile"
+      "mime-types"
+      "ncursesw"
+      "rmail-sup"
+      "trollop"
+      "unicode"
+    ];
+  };
+  "trollop" = {
+    version = "2.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0z5dvh7glwqjprlihsjx67hfzy4whsjfhqj9akyyrby9q5va1i4k";
+    };
+  };
+  "unicode" = {
+    version = "0.4.4.2";
+    source = {
+      type = "gem";
+      sha256 = "15fggljzan8zvmr8h12b5m7pcj1gvskmmnx367xs4p0rrpnpil8g";
+    };
+  };
+  "xapian-ruby" = {
+    version = "1.2.19.1";
+    source = {
+      type = "gem";
+      sha256 = "1crfrmc8kf6qq1xcfcmgf213zg66badpg4d86n7y9x3i1f5lxlbv";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index 70d01f5df3e..ac7846836ff 100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -1,8 +1,9 @@
-{ sslSupport ? true
-, gpgSupport ? false
-, stdenv, fetchurl, pkgconfig, gtk
+{ stdenv, fetchurl, pkgconfig, gtk
+
 , openssl ? null
 , gpgme ? null
+, sslSupport ? true
+, gpgSupport ? true
 }:
 
 with stdenv.lib;
@@ -25,7 +26,8 @@ stdenv.mkDerivation {
     ++ optional sslSupport openssl
     ++ optional gpgSupport gpgme;
 
-  configureFlags = optionalString sslSupport "--enable-ssl";
+  configureFlags = optional sslSupport "--enable-ssl"
+                ++ optional gpgSupport "--enable-gpgme";
 
   meta = {
     homepage = http://sylpheed.sraoss.jp/en/;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 6add41edf7c..be276a4cfa2 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -1,8 +1,3 @@
-# This file is generated from generate_nix.rb
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
 { stdenv, fetchurl, config
 , gconf
 , alsaLib
@@ -39,121 +34,10 @@
 
 assert stdenv.isLinux;
 
-let
-  version = "31.0";
-  sources = [
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "a1e9954236de1d0581342fbb894b721528bc51a208d3bbedd4d8defbcc1cb50f"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "0fe9c22ad8cf575813ae8e476d985a3b951174df5beda67fd98e261f831252aa"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "35fb5c44bc3ed25beec4f6172c44f75426579f27bd2302361870615bb1f62194"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "3b04ffd5e1640c0138e5dab63a1059bd0342fff9f44547c6b34fbe6da810f911"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "2e8a1b96820216fda11c234d80a74d7326b49d7ac3f595f646aa10dccde61940"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "006f25951b4ac90b8d8d32491d260900dfcfb24c10cd4a10dbadf3840b4bcd4e"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "839e95de15a4e0287cfe36d70e07d1d40a1708016f615244a84553794ac76b4c"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "592a353df70c368c3c9855ead6d3b68433e7ebaaf42169108b9e74a83517230b"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "890bc1ee046ebf67079bd39ecb761a78fbf8cee8f72b32958ad18a0c3184b23b"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "7b52dfc2cea5bedae2ccfe11b0ec2d66edb81b76c2272c60f4bb247970384c9f"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "6ab1e46650ff296719e498a1b9e5dad5c2f32e6be9d6fec12d1ab917a5f76872"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "fdb170e3f546de759ef8a8aa85f6c3bf5152e121739cc27797c3065f4f85c183"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "208be79ce95d45f4f69d8bf53d4e2f457410653a81117b4bd4d42bf14a1485dc"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "2e562f9f59457d484ccfb1beb0129e2ca3ba4e5cbf5c955a65480836dc2e6567"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "07c7836bac31fa835c244dbe5eff19bad5dc5a9339cb8a94bd07d88f8590c867"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "7124de1e3cff7a5c17506f8e175aab1aaf96d4c9fd57824d6c0af110f47b1fbc"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "5d4e7f1f82b53161e84abf45f4a7210f0304399efed2df621c2e24cd5f1e1db0"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "814798f7dd066228ae73ce6bfdf430db4f0c4e905ce8a6670c73f894865dbf4e"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "35727d874cdeca69e18cedc109b6c3540c8dbb7450b2158cb1209cf00272cc38"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "0aa2232adc0e06c0a841a11155c2cd8f317b2f12b0e02c239ebe6150ad3bc278"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "b45871e531b18a35f60240dc0417e5a9f08f8c9e3ea762a36e938425505df8b0"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "a32dd96a41ed33a81c240c60c3538db45c1c4357ceaf37c8482a378a526c5454"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "3162753876da622895175afb60cd89be1ee343a10a45f9ac3feb3b306e161838"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "7c8d26a07d239f18f94f14696036974317ac1186072ba4482c315d02dcb97e5f"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "8cfaf98f3702b418bfd7692373b9f6e99a4b06e47a75a2df602e98d8f6acf761"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "6bd9ab36402f3391abc2e96f8786e16407736cf04d524e562736ac47279e2a26"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "0a3e7c130197d4abcbf4d37eef51a946c11cf72707686f8c7a0caa9cc21e75c8"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "8d4003960a8a7a496662b59834118c8712443761b867e5f54f3bf4a683715d22"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "5db77f9d117071feeddb5eadf74ea6332ccf9abaa441ba4d7b0a5f0f3781452d"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "46995a9f269f0385fc9ac9d31ee65d84e79ac81bd61892adaeb1afff991bcc82"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "73071beb9caa24aaac8eec9cfb01f7e333dc6ac438ab36e7f5afa7d850dbeb8e"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "a17cc26a51bbcff44837d74bdb35ba0ae10def6f4b536c4a67e9169221bd0afb"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "4782b1f56c1f5fb1f802385d693a96b5013503e97e4d73e43fb90c3331aec839"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "dbba59d0c697e6dc05bc2b554eed2c6040642cb1246a4119cd7c37b0451c6d4e"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "b37a5eaf187d1c026990f55a3e993594a49bb689f1643d2f944c7f3c7cfd6819"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "629132c5cc5f937fb504542662bb8aa7570eee1ae648087dbfb0c6dedadfa53c"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "89e818736957569f91f7f329118b09a27b072c6d7c89f601eb02cd1d870c4088"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "6a3a358227972a0eb60b1b531f322ebb2e604805bfb50b55d88cb8447b443105"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "794b1e0be4bd6f8facebe3aa44f66a139a660d4fe75891f463adb5d7da7b32cb"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "81b51a607844b229d026d9acec4ea1739c365a890857871260b6eca92a176e04"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "924c5c47c76fc09f5a46176ef1a6e3466d783b8a4c08a5e660a03e0e84459116"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "c46c2285a6f1c825e52ea6cd7dda31d6f67be15668ecf71883c55c9fa21a3fd5"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "58a53bf3ad217b36beb9795f34349cfa3f10b7a39044f024c547be31b033ee28"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "21d1f89810a284818c0a73e8abd5b51a9ea58b7db2b9bf6dd5e0119f4bfc13a3"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "67cb3d38230d24c2a7615468ae2465e6f768904e3735ce31833dcba7b98023c5"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "9e6b5351e96b9b2c57ce04fddaf9656adf84bc2a961a8ca614cec2f830d4e2a7"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "80d0a09d93362f7eff9c7a20025080207a14c43e56b132c3962dd1d795d2a85c"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "07d92405612e1000bc0b401481e94548877511ce224f19b23aa4fa192f21d489"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "0d70e52c8dc5bf6f13c8ea2a5762cb94534ec54548c792ae181febc3d23c01cb"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "2962de1886753b81684360ffbf97afa4d4371662a6f467ebc369e225d335745d"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "6eacb202078be4de4a86c3fc957dbf482e32ab28805d719aa5d0d7f4fd832f48"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "83ed10b7d9d74a28f9982a9d11840522f214ccb53ed599f9fce6ae26bd9d2298"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "227140594d1e12f2edf4e942327a8c64ab922796f7bda324eead8a299a6082ab"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "bc219c6795389fbdf20c4a84a61c350f376374285eff9aaedbc4893fdcbbdc24"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "4ac7de0edc1d2b084f38058f8c55e8c2fad0782a1f7f7ac69af5c6f28e2a71f9"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "cf026ebca03f6eb59b81073f754b9989f2023bb61d8dfaacbb28da3372abf43b"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "001f67664b02736aa757fa99ec00c8df023ead8f94113d1040092057031c4557"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "39fdd81738e0cea77c0f860f0e5253416daa6bd13f1e9feab4c6a52c6dd981f9"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "0a5a830078e0774e81154f07055613d4b6dd6875be4ac976ac70883cfa0ed9cc"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "a33890be6ac154862b7b80f864990b3bbad2db8adbf1d26bf2cd61b175db673e"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "6f837f1c640c46dd99c4ab691ec6964e40b6d931830d4da604d4329c6d1ecde2"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "a37294fbf0b358e5b9619aa36a20f92fc637a6b0697b8d607b958d256ce81225"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "2bbb5800b9a6d03545ca3dfc8f99f9f30c11e474ea360481f1f7e9610b0a87b0"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "e2a68f359f48a19437605b581bf9a8cf911feabfb2b15ec3724c60d1cbfe15ec"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "976fbb88b1c75dc402b9eea76aef4d8a0886ee76bcf65d798a6ae8234b2b297a"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "190679f7638b3697b236d971014f0da938aa2d664afb93e7f4d1c0fb51bfb46e"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "530b19e48b0e49047746b2f5dd486cfb19930b1064478c465ce2acb21eac66ba"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "0fe30abe10b4c97aef9ee40550205e0f269c5cfe76c08a36c8cf886a5af78558"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "3f2d2784e3aa75cbd3ca0579d660b50b31e488253e52fedbfefc7c5448803967"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "83e64293ed8d1ecf509e2617a71fed9583e4d4c3de3ae5b50175ad8c0f8322ae"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "aa282b17eeeb185734f33d2ed9f287958d8a48ed82653d197426e3e3091ecba3"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "c17db84f0cfd5525e4b8a08e300cabbbcd2bc45f59eb886e180eef0f8c4e45ef"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "909ae64789280db1a07b3b57dfa1a5d337fecd3bd59bacd3bab2eb72dbecb04f"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "9021a15bda3d4947e1ed6ee6666a252e3541b020d8d7eb58e854e426719f8d6d"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "a3536d7e8bb429d562e7731fea8675dc9d442ca8e59cc72eb1b404da12d1d53a"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "99cb049415e4837e615e1946409d1fd62966ae8eb843d89dfb61a6675b5b363f"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "06a17ca2ee8f44098252f24dae17589f32c80bd35e127a093c18161751a581fc"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "b8537b39f3e1242e3ed705ff919b01eb89ac72cf7c15ef0c44d258069c8ea317"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "f2f1e9babb37f79121034f9b8cbc90fbf9f0fa1c152a7f0d7162aff6f6e33f1a"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "60bc6bd468c820066e00f8108e0912df57a941b4150c06797a7958ec684c4969"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "a88591a1850b56c68dd75b4ecff79a32d46dcb42f788d66bb46d45cd0f0d5672"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "2bb7656dde363f3c3d3c8c8b4dbdb306f7e618491c917bc7c1b6e6f41d30fbf0"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "b396c752f7652e5ee31d6bec4bfb70b2d86438d966051f91e4d7a77ce5a924dc"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "1f0595e6953b0b6aa09577f180897760f8f85ba15e00e6ae3b12105c705cdac4"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "4d3a4d283705889759dcb321e4b700896b132634005590e546bf6744e6187260"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "456252e7bb5f29ef3c76afb2df0f406fcf93ef1c6df56d0f209bb85e91c8acce"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "ee93df33057576bd55bc80b71aeec7c6f487028f0fe52f679614811be5c71bae"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "7f7189250d76f970bfc1879b2ac6fe2d42bdcf3a652614fa4e080dcc636bbd4c"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "cb389bd9712def87c06ffab3fc50b8fa58c773c6725fd0e0befec3e2ac957ef5"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "8f9bf916357e7385dec5de9e4d58f6dfbe3c7fc6d2b66298304c3630189833e6"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "f89251f74b85c22a9f7b97b844a118e498698e205f733f1fb0d7a98787f973ee"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "019a15e1e83b6810de6a4d64deb3eba1a9c2a0c6f1c382582e356445e40d5bda"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "ae1d03ddf4b424edc59e08c65a9fb20107311289e4faf8f06f14bc471b00d35f"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "a19dce910ba5be35c0fd51be50bd96be3b3db84587f749ed9a108a14a3b732b7"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "8cb4cb6a99955209026224a4cbbcab7b37b0b9fc38147eeaa439631be7750c08"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "4520a3ae24cc7056eb87d48280999c2c3da6aa76b9182c291512dc80363efb27"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "8803a9477f6ac963bdacfd82f6e6b8aabb217fa6c39b311645e461f38cda3757"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c8eae521293986be6d626302d91abbb88a12855565fd41c3614f7a5d7534f0cd"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9ea7f173533757c99a9c2dfdceab5cc58e583f929a2e7db95184823a00319a0a"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "6b9775f8142273d118870887da2728da4732609395897513739df7b352a4989c"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "bcaeea579405f015fcdb78e16cfd92e4c0895614c5966a1a7049a4fe310b1c46"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "7de3a89ece968819fcd7f438aaa2f5762f9d936b20fb3c364467ac123b24182e"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "af7f04ef648264f56dcb62e7e473586f3c5b13d3ecd2918278962f335dda7966"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "8477854792552b471e4eb11f71c79b14544cf438e795feae3082c0f3a31e0c8a"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "21db7e27557670796db9282174e7da04afe3a0c89b31e042f7bbd3992e4e08be"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "8f05b160d346b45308ba0c7dbe531bce043f22abffd2a4d1200628669a3b4aa0"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "5e77c23bdb52dba7b663b574520972e2b78588e5143922c1e1837c0e0bd71a86"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "35e663dad586cce929baa1ec501b149ff586df15a687eb41a8cc619c542a625c"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "211322939ab3b4bfc3e6f0548356c9479db5deb687e1e2232f527462017dcd2d"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "0d50802a6fd7d9256591076c267759d39af91f680025b03ec6925e21c20494e4"; }
-  ];
+# imports `version` and `sources`
+with (import ./sources.nix);
 
+let
   arch = if stdenv.system == "i686-linux"
     then "linux-i686"
     else "linux-x86_64";
@@ -177,13 +61,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
-    inherit (source) sha256;
+    inherit (source) sha1;
   };
 
   phases = "unpackPhase installPhase";
 
   libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc
+    [ stdenv.cc.cc
       gconf
       alsaLib
       at_spi2_atk
@@ -216,7 +100,7 @@ stdenv.mkDerivation {
       nss
       pango
     ] + ":" + stdenv.lib.makeSearchPath "lib64" [
-      stdenv.gcc.gcc
+      stdenv.cc.cc
     ];
 
   installPhase =
@@ -231,7 +115,7 @@ stdenv.mkDerivation {
         thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
         updater
       do
-        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           "$out/usr/lib/thunderbird-bin-${version}/$executable"
       done
 
@@ -257,13 +141,13 @@ stdenv.mkDerivation {
     '';
 
   meta = with stdenv.lib; {
-    description = "Mozilla Thunderbird, a full-featured email client";
+    description = "Mozilla Thunderbird, a full-featured email client (binary package)";
     homepage = http://www.mozilla.org/thunderbird/;
     license = {
-      shortName = "unfree"; # not sure
-      fullName = "unfree";
+      free = false;
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
deleted file mode 100644
index e19425c8e17..00000000000
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
+++ /dev/null
@@ -1,210 +0,0 @@
-version = if ARGV.empty?
-            "latest"
-          else
-            ARGV[0]
-          end
-
-base_path = "download-installer.cdn.mozilla.net/pub/thunderbird/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
-  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
-  File.basename(path)
-end
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/thunderbird-*")[0].match(/thunderbird-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
-  arches.map do |arch|
-    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/thunderbird-*")[0]
-
-    [locale, arch, path]
-  end
-end
-
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
-
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
-  input.each_line.map do |line|
-    $stderr.puts(line)
-
-    line.match(/^[0-9a-f]*/)[0]
-  end
-end
-
-
-puts(<<"EOH")
-# This file is generated from generate_nix.rb
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
-{ stdenv, fetchurl, config
-, gconf
-, alsaLib
-, at_spi2_atk
-, atk
-, cairo
-, cups
-, curl
-, dbus_glib
-, dbus_libs
-, fontconfig
-, freetype
-, gdk_pixbuf
-, glib
-, glibc
-, gst_plugins_base
-, gstreamer
-, gtk
-, kerberos
-, libX11
-, libXScrnSaver
-, libXext
-, libXinerama
-, libXrender
-, libXt
-, libcanberra
-, libgnome
-, libgnomeui
-, mesa
-, nspr
-, nss
-, pango
-}:
-
-let
-  version = "#{real_version}";
-  sources = [
-EOH
-
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
-  locale, arch, path = tuple
-
-  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
-end
-
-puts(<<'EOF')
-  ];
-
-  arch = if stdenv.system == "i686-linux"
-    then "linux-i686"
-    else "linux-x86_64";
-
-  isPrefixOf = prefix: string:
-    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
-
-  sourceMatches = locale: source:
-      (isPrefixOf source.locale locale) && source.arch == arch;
-
-  systemLocale = config.i18n.defaultLocale or "en-US";
-
-  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
-
-  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
-
-in
-
-stdenv.mkDerivation {
-  name = "thunderbird-bin-${version}";
-
-  src = fetchurl {
-    url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
-    inherit (source) sha256;
-  };
-
-  phases = "unpackPhase installPhase";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc
-      gconf
-      alsaLib
-      at_spi2_atk
-      atk
-      cairo
-      cups
-      curl
-      dbus_glib
-      dbus_libs
-      fontconfig
-      freetype
-      gdk_pixbuf
-      glib
-      glibc
-      gst_plugins_base
-      gstreamer
-      gtk
-      kerberos
-      libX11
-      libXScrnSaver
-      libXext
-      libXinerama
-      libXrender
-      libXt
-      libcanberra
-      libgnome
-      libgnomeui
-      mesa
-      nspr
-      nss
-      pango
-    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
-      stdenv.gcc.gcc
-    ];
-
-  installPhase =
-    ''
-      mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
-      cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
-
-      mkdir -p "$out/bin"
-      ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
-
-      for executable in \
-        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
-        updater
-      do
-        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          "$out/usr/lib/thunderbird-bin-${version}/$executable"
-      done
-
-      for executable in \
-        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
-        updater libxul.so
-      do
-        patchelf --set-rpath "$libPath" \
-          "$out/usr/lib/thunderbird-bin-${version}/$executable"
-      done
-
-      # Create a desktop item.
-      mkdir -p $out/share/applications
-      cat > $out/share/applications/thunderbird.desktop <<EOF
-      [Desktop Entry]
-      Type=Application
-      Exec=$out/bin/thunderbird
-      Icon=$out/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
-      Name=Thunderbird
-      GenericName=Mail Reader
-      Categories=Application;Network;
-      EOF
-    '';
-
-  meta = with stdenv.lib; {
-    description = "Mozilla Thunderbird, a full-featured email client";
-    homepage = http://www.mozilla.org/thunderbird/;
-    license = {
-      shortName = "unfree"; # not sure
-      fullName = "unfree";
-      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
-    };
-    platforms = platforms.linux;
-  };
-}
-EOF
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb
new file mode 100644
index 00000000000..72b9d1599e0
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb
@@ -0,0 +1,46 @@
+require "open-uri"
+
+version = if ARGV.empty?
+            "latest"
+          else
+            ARGV[0]
+          end
+
+base_path = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases"
+
+Source = Struct.new(:hash, :arch, :locale, :filename)
+
+sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
+  input.readlines
+end.select do |line|
+  /\/thunderbird-.*\.tar\.bz2$/ === line && !(/source/ === line)
+end.map do |line|
+  hash, name = line.chomp.split(/ +/)
+  Source.new(hash, *(name.split("/")))
+end.sort_by do |source|
+  [source.locale, source.arch]
+end
+
+real_version = sources[0].filename.match(/thunderbird-([0-9.]*)\.tar\.bz2/)[1]
+
+arches = ["linux-i686", "linux-x86_64"]
+
+puts(<<"EOH")
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "#{real_version}";
+  sources = [
+EOH
+
+sources.each do |source|
+  puts(%Q|    { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+end
+
+puts(<<'EOF')
+  ];
+}
+EOF
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
new file mode 100644
index 00000000000..991f8cbd53b
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -0,0 +1,120 @@
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "31.6.0";
+  sources = [
+    { locale = "ar"; arch = "linux-i686"; sha1 = "4c0c50d5c315f438d09b8bf2ba821c7148552076"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "d0361df60873c787ebcb487acb65e9e4e7bf6c97"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "84e0ab9f62afbf1c673383a6c6c0d07ce369b360"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "b590ca477b00dd2080a887ee4451d06d59da5e6c"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "06812c96cbd62c07180062fca293171cf4177d77"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "1cf6501aa77adfa41ad48316f471201f2c2e1976"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "322654ebdf12a9d60738e0a5f30dfde77e095951"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "00fa9855d81a59f7340d69ef25389503b3374c5b"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "efd6f1afc8787295071f1577e043fe8ed4824604"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "0163078b1edc17b3df86d9d80d2dcf1b14e289c5"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "1051e4faa171ea762dd0d4c79d1f7b6d59fa1343"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "cad5ff8a920a90e79c1e343022aba0d95347a9a6"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "1801969f47164e9e40fe611b2b11c664541ea619"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "8427fdbf5149c7e0a96e6037f3b7690cc43684f1"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "8ae6c4b5e97b1a129c178c17ddb787b8a499bbbf"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "422d73aa8d853afd219c4be983e9d0b0c165d3a7"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "ee6239de012bb2d581c42e4271736b3565932d2d"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "3e24c6d239e5d55ffefdecab5c280668d36f3c14"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "474f1b4ce9b6cf635c60ab32dc99268f30bd906b"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "7327c84c0b447cbeb00a57790334dbd4df02441a"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "a1cced1eb8d290f8f7668839af68a42b47172fda"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "c7a41b26bee1bcf1a1012ab122036983c42223ed"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "73309ee5d0304762b24b040fea3be934b0193b76"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "79466a14532bac1c5db7de4f1aacd97538b12ccd"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "1886939dd4fa0bd720f209a9280bdd48f2805144"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "18090d7adbb45350d47d796ee0d4a52da68629b4"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "6d5b993c8c5f9a311e128520a2eb1115a1004d72"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "04afb8826d04dc6511a77377d78f9dcdd67bb73f"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "c49c2175842d40698128da293305317c5d986561"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "65e6d24657a47d69cec4820fc699b948ef7235df"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "4a066d35ab922587ed1000b770becbaeafb91d39"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "fad64bc6cdf1bbc03ef0e6fd4fac96e0ddd26578"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "ac90f02584bedfe3b958020c37d3677b2312b203"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "7152187af874799ca22dffca1d85afc0346a5f7c"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "797c494042986578e79290a827056ee56ad32526"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "5fec8fc94b8296c5189be29fdc0f43f074c88722"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "2f90216459e8bd24fe775bc84f3d3371c64c705e"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "07176c2825be793521e11dde8a73ead970c58385"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "0e7f95afef9fc01667b0e2ee33e2620069662b4b"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "ff9a84cb2ca4e222a6d75b5591e5337b3b5e3b3b"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "a392c2287a3907b5b79c443c67dfb4d8e6624ebf"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "766035560552bb26b1d9a6c98357acab515153e3"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "5f9dcab41f522ca84833cf5dc566ee9679efcc01"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "46ced4f5c67f560b15341db70dc04d1a19e176cc"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "66f1b772f981ce5bbd3c7c2a73d260d2243887a9"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "2c087b2ba065f06aa4e4e491d92864ef679f14c2"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "b157e04413ee246304f30b0dc68eeed3e00d5cf3"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "72e77175705052c6102405897edc1c5887f94c58"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "f515c41dda71a69974b67d70ca1980987ab895ba"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "9b560bc16985e8610d11c1aa1df6a8b29a650528"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "24b0e2555617b1b0e7dcb601b3f7a8c54bf64524"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "a1cf5c244fd98a024b2987b72b95671a90c7e0f9"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "20a07254d51cc94be8153426e472d8c7b077a014"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "3e5c41c5239da37ee52070c043b5de2f16859055"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "bbbc669ead8c716725ad162247dbb35f6b6d3376"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "30c73fff969d9d94e6a24b27fa5b03285104ed38"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "d8ede481d0f04237b1a36356880d76a5439e6796"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "d5c70452102f0c1f513a45b3b05339b171e7e149"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "00bad56fb3a4bcc4032b204471a66dc64a9976e9"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "cd15137766f9bdb693743401d14e69c4c990aeab"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "eb51ca9c4d5d22ff178c45c99ba35270d9f006d1"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "ec7bdce8ecba50aa4c6f0495ec4737b032e85688"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "ce2a6f518fe69b6cf87ba6a2d5ff7e32f676e516"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "614808276829835d81f6a330154c3dbf617109e2"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "95da07c69121bf0e22b480f3e4df9db3e7676a8b"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "02dee38474393cf86c78aacfb2c546bfd2130e0a"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "cd8b7dc6eda97de0ec1c8a5dde36f4afd60b720a"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "748030706822a80156e5ffcfbaed413b3905280a"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "eafd2b7fa376f58fd5320a8e67bd76c9eb17819e"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "f04672081b0281dec909fd110f1c1dc8f340cc40"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "c51c6a23f5e99181cd2aa6e324165a523c7e7c41"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "29adc20bbdb3b1de7b0c1a325ded1159f7627478"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "b94fc235c3644455ca19238aed9e2e4cff4ce7d2"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "78bd45bf21196cc4bb400d10d19151931e390681"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "0b921d11a43968bc12a31be48baa962fb084be3d"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "b975d958fdb152c942cf68ed6dbde8df6b6cfe09"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "5384bc8f899d1ba75c96b11276dd98cb5049896a"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "dbd5db203127f01b1ec46259f9b668aa2dec8d63"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "eb6590aecd509ee02b02fd6d39aec32a77616b59"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "750f9d25164f2aae4d5bb3147738cb604c131b94"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "5dc246fc1c661d5a965da6eed7d0b57dacbcc643"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "ca3d7a76564552cab92cf1c3f2098bbb740e6315"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "ceb0264ab40dc437c2a44fa03c2f9a3ff18b667c"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "d2200d241c26059136169850a5ad4f702c273301"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "678bae69497e2ab6c4d895192b5093a0d120ddc1"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "9ca3af62babeeda8a46609ffd265ff0cc059349a"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "46376507d77af110a63de24a7a136c43b2d6cb1b"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "d43e51c5e504bfa1a0f7370e1cea3bda247b81e0"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "e97bc9017953f91f4fc9a158dca36ae1217a8a97"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "f80a0473ff265295f3eaa8ed8b8fe99a0a71b049"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "449cf3770e4eaa4289bac9abbf7f655bbdcdf8ca"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "ef1092cdef4dd2d4ebf62b29654da4ad08c7a6e0"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "0d856fdb66ca1208a08eef5073744f66de7c94f5"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "346888cbc1428897df1b50651a263ae5cc449475"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "3252ea6a0706813d4c536cab9251ec707a46fe47"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "ea55159965bc8b5fb5c692efc1a30ac3ddd74a48"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "5191f311d6324e1fbc98763e80316bb7584999ba"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "4c8387f5db87776ae6ba322fa81983f7bab14690"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "e1fa5437760c8964aa312ed296454c0736009479"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "1e277512366a60745cfdc409530943e42bb62b11"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "8907cb5f77b0dafd6c2c69d63b6f9b72ab58d7d1"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "b101b37f7fe86686db1813786cbf2ee994bf33c3"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "ab0e84cd69808d12efa28f5062372ba8983b8c42"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "bce4718c183c9fc62f38025f7f9329999ba1f8a4"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "7a05e5dd98215dab96746166fe46c96592e8768a"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "c2c54c1831199ac8b5ba0bbebb564e9dc2ff2563"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "3c2a7f6096eb16a00451d1ec71f6ff382910bf43"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "e3d43d6aa007419d057da99d06fdd200faf8d9c5"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "97bc53d2216eb24ad6c0496fed4698da4e481c38"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "3e5fcc5058646ee326f4b6b1ef885999222ab0b8"; }
+  ];
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index c0c11ff1f1c..5124b78d071 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, m4, gtk, pango, perl, python, zip, libIDL
+{ stdenv, fetchurl, pkgconfig, which, m4, gtk, pango, perl, python, zip, libIDL
 , libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
 , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
@@ -13,7 +13,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "31.0"; in
+let version = "31.4.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -21,11 +21,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
-    sha1 = "0fe6666fddd4db82ec2e389f30c5ea11d4f72be5";
+    sha1 = "00b55e28f55b84e3cd257407d797e07a363aeef8";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
-    [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
+    [ pkgconfig which libpng gtk perl zip libIDL libjpeg zlib bzip2
       python dbus dbus_glib pango freetype fontconfig xlibs.libXi
       xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
       alsaLib nspr nss libnotify xlibs.pixman yasm mesa
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
       hunspell libevent libstartup_notification cairo icu
     ] ++ [ m4 ];
 
-  configureFlags = [ "--enable-application=mail" ]
+  configurePhase = let configureFlags = [ "--enable-application=mail" ]
     # from firefox30Pkgs.commonConfigureFlags, but without gstreamer and libvpx
     ++ [
       "--with-system-jpeg"
@@ -63,28 +63,33 @@ stdenv.mkDerivation rec {
       "--disable-pulseaudio"
     ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
                         else [ "--disable-debug" "--enable-release"
+                               "--disable-debug-symbols"
                                "--enable-optimize" "--enable-strip" ])
     ++ [
       "--disable-javaxpcom"
       "--enable-stdcxx-compat" # Avoid dependency on libstdc++ 4.7
     ]
     ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-  configurePhase = ''
-    patchShebangs .
-
+  in ''
+    mkdir -p objdir/mozilla
+    cd objdir
     echo '${stdenv.lib.concatMapStrings (s : "ac_add_options ${s}\n") configureFlags}' > .mozconfig
-    echo "ac_add_options --prefix='$out'" >> .mozconfig
-    echo "mk_add_options MOZ_MAKE_FLAGS='-j$NIX_BUILD_CORES'" >> .mozconfig
+    echo 'ac_add_options --prefix="'"$out"'"' >> .mozconfig
+    echo 'mk_add_options MOZ_MAKE_FLAGS="-j'"$NIX_BUILD_CORES"'"' >> .mozconfig
+    echo 'mk_add_options MOZ_OBJDIR="'`pwd`'"' >> .mozconfig
 
-    make ${makeFlags} configure
+    export MOZCONFIG=`realpath ./.mozconfig`
+
+    patchShebangs ../mozilla/mach
+    ../mozilla/mach configure
   '';
 
-  makeFlags = "-f client.mk";
-  buildFlags = "build";
+  buildPhase =  "../mozilla/mach build";
 
-  postInstall =
+  installPhase =
     ''
+      ../mozilla/mach install
+
       rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
 
       # Create a desktop item.
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index 2b42a275d8c..86ad4031622 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -1,15 +1,21 @@
 { stdenv, fetchurl, openssl, pkgconfig, gnutls, gsasl, libidn }:
 
 stdenv.mkDerivation rec {
-  name = "msmtp-1.4.32";
+  version = "1.6.1";
+  name = "msmtp-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/msmtp/${name}.tar.bz2";
-    sha256 = "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b";
+    url = "mirror://sourceforge/msmtp/${name}.tar.xz";
+    sha256 = "1ws6hdpm8vfq4vwxjwgd8xndx5ax1ppnmxn0fhzlwj3pvkr4fpf4";
   };
 
   buildInputs = [ openssl pkgconfig gnutls gsasl libidn ];
 
+  postInstall = ''
+    cp scripts/msmtpq/msmtp-queue scripts/msmtpq/msmtpq $prefix/bin/
+    chmod +x $prefix/bin/msmtp-queue $prefix/bin/msmtpq
+  '';
+
   meta = {
       description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
       homepage = "http://msmtp.sourceforge.net/";
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index 7b9396ff5ff..358a0bb1228 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, qt4, boost, protobuf, libsndfile
-, speex, libopus, avahi, pkgconfig
-, jackSupport ? false
-, jack2 ? null
-, speechdSupport ? false
-, speechd ? null
+{ stdenv, fetchurl, pkgconfig
+, avahi, boost, libopus, libsndfile, protobuf, qt4, speex
+, jackSupport ? false, jack2 ? null
+, speechdSupport ? false, speechd ? null
+, pulseSupport ? false, pulseaudio ? null
 }:
 
 assert jackSupport -> jack2 != null;
 assert speechdSupport -> speechd != null;
+assert pulseSupport -> pulseaudio != null;
 
 let
   optional = stdenv.lib.optional;
@@ -15,40 +15,55 @@ let
 in
 stdenv.mkDerivation rec {
   name = "mumble-" + version;
-  version = "1.2.7";
+  version = "1.2.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/mumble/${name}.tar.gz";
-    sha256 = "0zjqkkdkcvgmqic6np87hj6b6f851lkzyd6y3cqj6zzacjvps31d";
+    sha256 = "0ng1xd7i0951kqnd9visf84y2dcwia79a1brjwfvr1wnykgw6bsc";
   };
 
   patches = optional jackSupport ./mumble-jack-support.patch;
 
+  configureFlags = [
+    "CONFIG+=shared"
+    "CONFIG+=no-g15"
+    "CONFIG+=packaged"
+    "CONFIG+=no-update"
+    "CONFIG+=no-server"
+    "CONFIG+=no-embed-qt-translations"
+    "CONFIG+=bundled-celt"
+    "CONFIG+=no-bundled-opus"
+    "CONFIG+=no-bundled-speex"
+  ] ++ optional (!speechdSupport) "CONFIG+=no-speechd"
+    ++ optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio";
+
   configurePhase = ''
-    qmake CONFIG+=no-g15 CONFIG+=no-update CONFIG+=no-server \
-      CONFIG+=no-embed-qt-translations CONFIG+=packaged \
-      CONFIG+=bundled-celt CONFIG+=no-bundled-opus \
-      ${optionalString (!speechdSupport) "CONFIG+=no-speechd"} \
-      ${optionalString jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"} \
-      CONFIG+=no-bundled-speex
+    qmake $configureFlags
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ qt4 boost protobuf libsndfile speex
-    libopus avahi pkgconfig ]
-    ++ (optional jackSupport jack2)
-    ++ (optional speechdSupport speechd);
+  buildInputs = [ avahi boost libopus libsndfile protobuf qt4 speex ]
+    ++ optional jackSupport jack2
+    ++ optional speechdSupport speechd
+    ++ optional pulseSupport pulseaudio;
 
   installPhase = ''
     mkdir -p $out
     cp -r ./release $out/bin
+
+    mkdir -p $out/share/applications
+    cp scripts/mumble.desktop $out/share/applications
+
+    mkdir -p $out/share/icons
+    cp icons/mumble.svg $out/share/icons
   '';
 
-  meta = with stdenv.lib; { 
-    homepage = "http://mumble.sourceforge.net/";
+  meta = with stdenv.lib; {
     description = "Low-latency, high quality voice chat software";
+    homepage = "http://mumble.sourceforge.net/";
     license = licenses.bsd3;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mumble/murmur.nix b/pkgs/applications/networking/mumble/murmur.nix
index 17254aa2fdd..1c06392f60b 100644
--- a/pkgs/applications/networking/mumble/murmur.nix
+++ b/pkgs/applications/networking/mumble/murmur.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "murmur-" + version;
-  version = "1.2.6";
+  version = "1.2.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/mumble/mumble-${version}.tar.gz";
-    sha256 = "1zxnbwbd81p7lvscghlpkad8kynh9gbf1nhc092sp64pp37xwv47";
+    sha256 = "0ng1xd7i0951kqnd9visf84y2dcwia79a1brjwfvr1wnykgw6bsc";
   };
 
   patchPhase = optional iceSupport ''
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index a5216b2902a..904f6904979 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -6,14 +6,14 @@
 }:
 
 let pname = "liferea";
-    version = "1.10.10";
+    version = "1.10.14";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
-    sha256 = "0y01lhw0fn5m0j9ykz8x7i0wchjqbxp33cvvprsfxfwzz4x31jm4";
+    sha256 = "0szazfknarw6ivnr4flr928ar309pz2mv6alc6pk6l1i9jchcnfs";
   };
 
   buildInputs = with gst_all_1; [
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index c9965a784e0..9ca5ace2caf 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation {
     description = "A GTK+-based Usenet newsreader good at both text and binaries";
     homepage = http://pan.rebelbase.com/;
     maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/newsreaders/slrn/default.nix b/pkgs/applications/networking/newsreaders/slrn/default.nix
index fe13c756bd7..84cf023776e 100644
--- a/pkgs/applications/networking/newsreaders/slrn/default.nix
+++ b/pkgs/applications/networking/newsreaders/slrn/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchurl,
-slang, ncurses
-}:
+{ stdenv, fetchurl
+, slang, ncurses }:
 
-let version = "1.0.1"; in
+let version = "1.0.2"; in
 
 stdenv.mkDerivation {
   name = "slrn-${version}";
 
   src = fetchurl {
-    url = "http://www.jedsoft.org/slrn/download/slrn-1.0.1.tar.gz";
-    sha256 = "1rmaprfwvshzkv0c5vi43839cz3laqjpl306b9z0ghwyjdha1d06";
+    url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.gz";
+    sha256 = "1gn6m2zha2nnnrh9lz3m3nrqk6fgfij1wc53pg25j7sdgvlziv12";
   };
 
   preConfigure = ''
@@ -23,9 +22,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ slang ncurses ];
 
-  meta = {
-    description = "Text-based newsreader";
+  meta = with stdenv.lib; {
+    description = "The slrn (S-Lang read news) newsreader";
     homepage = http://slrn.sourceforge.net/index.html;
-    license = stdenv.lib.licenses.gpl2;
+    maintainers = with maintainers; [ emery ];
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/networking/notbit/default.nix b/pkgs/applications/networking/notbit/default.nix
index 8a7d7d3aedc..aa5d47730a4 100644
--- a/pkgs/applications/networking/notbit/default.nix
+++ b/pkgs/applications/networking/notbit/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, autoconf, automake, pkgconfig, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "notbit-git-faf0930";
+  name = "notbit-git-6f1ca59";
 
   src = fetchgit {
     url = "git://github.com/bpeel/notbit";
-    rev = "faf09304bf723e75f3d98cca93cf45236ee9d6b6";
-    sha256 = "b229f87c4c5e901bfd8b13dffe31157126d98ed02118fff6553e8b58eb9ed030";
+    rev = "6f1ca5987c7f217c9c3dd27adf6ac995004c29a1";
+    sha256 = "0h9nzm248pw9wrdsfkr580ghiqvh6mk6vx7r2r752awrc13wvgis";
   };
 
   buildInputs = [ autoconf automake pkgconfig openssl ];
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
new file mode 100644
index 00000000000..5841fe7c512
--- /dev/null
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, cmake, qt4, pkgconfig, neon, qtkeychain, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "owncloud-client" + "-" + version;
+
+  version = "1.7.1";
+
+  src = fetchurl {
+    url = "https://download.owncloud.com/desktop/stable/mirall-${version}.tar.bz2";
+    sha256 = "0n9gv97jqval7xjyix2lkywvmvvfv052s0bd1i8kybdl9rwca6yf";
+  };
+
+  buildInputs =
+    [ cmake qt4 pkgconfig neon qtkeychain sqlite];
+
+  #configurePhase = ''
+  #  mkdir build
+  #  cd build
+  #  cmake -DBUILD_WITH_QT4=on \
+  #        -DCMAKE_INSTALL_PREFIX=$out \
+  #        -DCMAKE_BUILD_TYPE=Release \
+  #        ..
+  #'';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Synchronise your ownCloud with your computer using this desktop client";
+    homepage = https://owncloud.org;
+    maintainers = with stdenv.lib.maintainers; [ qknight ];
+    meta.platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix
new file mode 100644
index 00000000000..434a2c78550
--- /dev/null
+++ b/pkgs/applications/networking/p2p/frostwire/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, jre }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "6.0.0";
+  name = "frostwire-${version}";
+
+  src = fetchurl {
+    url = "http://dl.frostwire.com/frostwire/${version}/frostwire-${version}.x86_64.tar.gz";
+    sha256 = "16rpfh235jj75vm4rx6qqw25ax3rk2p21l6lippbm0pi13lp2pdh";
+  };
+
+  inherit jre;
+
+  installPhase = ''
+    jar=$(ls */*.jar)
+    
+    mkdir -p $out/share/java
+    mv $jar $out/share/java
+    
+    mkdir -p $out/bin
+    cat > $out/bin/frostwire <<EOF
+    #! $SHELL -e
+    exec $out/share/java/frostwire
+    EOF
+    chmod +x $out/bin/frostwire
+  '';
+
+  meta = {
+    homepage = http://www.frostwire.com/;
+    description = "BitTorrent Client and Cloud File Downloader";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.gavin ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 052c5311253..54e042f17b9 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ ludo viric ];
+    maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix
index 25a51b3c936..be385c5bc8b 100644
--- a/pkgs/applications/networking/p2p/gnunet/svn.nix
+++ b/pkgs/applications/networking/p2p/gnunet/svn.nix
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ ludo viric ];
+    maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/networking/p2p/mldonkey/default.nix b/pkgs/applications/networking/p2p/mldonkey/default.nix
index 57ea6248531..9813393c4b5 100644
--- a/pkgs/applications/networking/p2p/mldonkey/default.nix
+++ b/pkgs/applications/networking/p2p/mldonkey/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "Client for many p2p networks, with multiple frontends";
     homepage = http://mldonkey.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
   };
 
   buildInputs = [ ocaml zlib ncurses bzip2 file gd libpng ];
diff --git a/pkgs/applications/networking/p2p/opentracker/default.nix b/pkgs/applications/networking/p2p/opentracker/default.nix
new file mode 100644
index 00000000000..32ceeb6fc8d
--- /dev/null
+++ b/pkgs/applications/networking/p2p/opentracker/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit, libowfat, zlib }:
+
+stdenv.mkDerivation {
+  name = "opentracker";
+  src = fetchgit {
+    url = "https://github.com/masroore/opentracker.git";
+    rev = "9a26b3d203755577879315ecc2b515d0e22793cb";
+    sha256 = "74a7a6cbe80932fefb1698524809ce89be696f0fe3afd38fcb2b99fa59c9c891";
+  };
+  
+  buildInputs = [ libowfat zlib ];
+  
+  installPhase = ''
+    mkdir -p $out/bin
+    cp opentracker $out/bin
+  '';
+  
+  meta = with stdenv.lib; {
+    homepage = https://github.com/masroore/opentracker;
+    license = "beer-ware";
+    platforms = platforms.linux;
+    description = "Bittorrent tracker project aiminf for minimal resource usage and is intended to run at your wlan router";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 0ba160c8a91..f0e5a1c13e1 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -1,25 +1,42 @@
-{ stdenv, fetchurl, qt4, which, dbus_libs, boost, libtorrentRasterbar
-, pkgconfig }:
+{ stdenv, fetchurl, pkgconfig, which
+, boost, libtorrentRasterbar, qt4
+, debugSupport ? false # Debugging
+, guiSupport ? true, dbus_libs ? null # GUI (disable to run headless)
+, webuiSupport ? true # WebUI
+}:
 
+assert guiSupport -> (dbus_libs != null);
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "qbittorrent-3.1.3";
+  name = "qbittorrent-${version}";
+  version = "3.1.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "16m3l8qjcj63brzrdn82cbijvz8fcxfgpibi4g5g6sbissjkwsww";
+    sha256 = "0qvz8ifk01b9sw9x5yh3b5kmssx5yi026zvgvabdvfaqkvcmw43i";
   };
 
-  buildInputs = [ qt4 which dbus_libs boost libtorrentRasterbar
-    pkgconfig ];
+  nativeBuildInputs = [ pkgconfig which ];
+
+  buildInputs = [ boost libtorrentRasterbar qt4 ]
+    ++ optional guiSupport dbus_libs;
 
-  configureFlags = "--with-libboost-inc=${boost}/include "
-    + "--with-libboost-lib=${boost}/lib";
+  configureFlags = [
+    "--with-libboost-lib=${boost.lib}/lib"
+    "--with-libboost-inc=${boost.dev}/include"
+    (if guiSupport then "" else "--disable-gui")
+    (if webuiSupport then "" else "--disable-webui")
+  ] ++ optional debugSupport "--enable-debug";
 
-  enableParallelBuilding = true;
+  # https://github.com/qbittorrent/qBittorrent/issues/1992 
+  enableParallelBuilding = false;
 
   meta = {
     description = "Free Software alternative to µtorrent";
-    homepage = http://www.qbittorrent.org/;
-    maintainers = with stdenv.lib.maintainers; [ viric ];
+    homepage    = http://www.qbittorrent.org/;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ viric ];
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index 8fa5cb6c2ee..01ba9ff47ea 100644
--- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -17,7 +17,11 @@ stdenv.mkDerivation rec {
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
-  meta = {
-   description = "GTK remote control for the Transmission BitTorrent client";
-  };
+  meta = with stdenv.lib;
+    { description = "GTK remote control for the Transmission BitTorrent client";
+      homepage = http://code.google.com/p/transmission-remote-gtk/;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.emery ];
+      platforms = platforms.linux;
+    };
 }
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 874de7d5192..bf659816c4f 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "transmission-" + optionalString enableGTK3 "gtk-" + version;
 
   src = fetchurl {
-    url = "http://download.transmissionbt.com/files/transmission-${version}.tar.xz";
+    url = "https://transmission.cachefly.net/transmission-${version}.tar.xz";
     sha256 = "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59";
   };
 
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
index 36f83a0611b..c762edb857b 100644
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ b/pkgs/applications/networking/p2p/twister/default.nix
@@ -26,7 +26,6 @@ in stdenv.mkDerivation rec {
   configureFlags = [
     "--with-libgeoip"
     "--with-libiconv"
-    "--with-boost=${boost}"
     "--disable-deprecated-functions"
     "--enable-tests"
     "--enable-python-binding"
@@ -34,7 +33,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     autoconf automake libtool pkgconfig python
-    boost db openssl geoip libiconv miniupnpc
+    boost db openssl geoip miniupnpc libiconv
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/networking/pond/default.nix b/pkgs/applications/networking/pond/default.nix
new file mode 100644
index 00000000000..59e381e9e22
--- /dev/null
+++ b/pkgs/applications/networking/pond/default.nix
@@ -0,0 +1,30 @@
+{ lib, goPackages, fetchgit, trousers }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "f4e441c77a2039814046ff8219629c547fe8b689";
+  name = "pond-${lib.strings.substring 0 7 rev}";
+  goPackagePath = "github.com/agl/pond";
+  src = fetchgit {
+    inherit rev;
+    url = "git://github.com/agl/pond.git";
+    sha256 = "f2dfc6cb96cc4b8ae732e41d1958b62036f40cb346df2e14f27b5964a1416026";
+  };
+
+  subPackages = [ "client" ];
+
+  buildInputs = [ trousers net crypto protobuf ed25519 ];
+    
+  buildFlags = "--tags nogui";
+
+  dontInstallSrc = true;
+
+  meta = with lib; {
+    description = "Forward secure, asynchronous messaging for the discerning";
+    homepage = https://pond.imperialviolet.org;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 8785837fbb9..092e6f53e49 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.freerdp.com/;
 
-    license = "free-non-copyleft";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff b/pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff
new file mode 100644
index 00000000000..2037ad6acb9
--- /dev/null
+++ b/pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff
@@ -0,0 +1,25 @@
+*** FreeRDP-1.2.0-beta1+android7-src/winpr/libwinpr/smartcard/smartcard_pcsc.c.orig	2015-01-25 19:10:03.971628580 -0800
+--- FreeRDP-1.2.0-beta1+android7-src/winpr/libwinpr/smartcard/smartcard_pcsc.c	2015-01-25 19:55:05.453980544 -0800
+***************
+*** 2807,2816 ****
+  #ifdef __MACOSX__
+  	g_PCSCModule = LoadLibraryA("/System/Library/Frameworks/PCSC.framework/PCSC");
+  #else
+! 	g_PCSCModule = LoadLibraryA("libpcsclite.so.1");
+  
+  	if (!g_PCSCModule)
+! 		g_PCSCModule = LoadLibraryA("libpcsclite.so");
+  #endif
+  
+  	if (!g_PCSCModule)
+--- 2807,2816 ----
+  #ifdef __MACOSX__
+  	g_PCSCModule = LoadLibraryA("/System/Library/Frameworks/PCSC.framework/PCSC");
+  #else
+! 	g_PCSCModule = LoadLibraryA("@pcsclite@/lib/libpcsclite.so.1");
+  
+  	if (!g_PCSCModule)
+! 		g_PCSCModule = LoadLibraryA("@pcsclite@/lib/libpcsclite.so");
+  #endif
+  
+  	if (!g_PCSCModule)
diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix
index a8388b4829a..e66f78f2602 100644
--- a/pkgs/applications/networking/remote/freerdp/unstable.nix
+++ b/pkgs/applications/networking/remote/freerdp/unstable.nix
@@ -1,77 +1,54 @@
-{ stdenv
-, fetchgit
-, cmake
-, openssl
-, printerSupport ? true, cups
-, pkgconfig
-, zlib
-, libX11
-, libXcursor
-, libXdamage
-, libXext
-, alsaLib
-, ffmpeg
-, libxkbfile
-#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
-, libXinerama
-#, directfb
-#, cunit
-, libXv
-, pulseaudioSupport ? true, pulseaudio
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, zlib, libX11, libXcursor
+, libXdamage, libXext, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv
+, substituteAll
+, pulseaudio ? null, cups ? null, pcsclite ? null
+, buildServer ? true, optimize ? true
 }:
 
-assert printerSupport -> cups != null;
-
-let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
-
 stdenv.mkDerivation rec {
-  name = "freerdp-1.1pre-${stdenv.lib.strings.substring 0 7 rev}";
+  name = "freerdp-1.2.0-beta1";
 
-  src = fetchgit {
-    url = git://github.com/FreeRDP/FreeRDP.git;
-    inherit rev;
-    sha256 = "4e5af9a6769c4b34c6b75dffe83a385d1d86068c523ea9f62fabc651a2958455";
+  src = fetchFromGitHub {
+    owner = "FreeRDP";
+    repo = "FreeRDP";
+    rev = "1.2.0-beta1+android7";
+    sha256 = "08nn18jydblrif1qs92pakzd3ww7inr0i378ssn1bjp09lm1bkk0";
   };
 
+  patches = [
+  ] ++ stdenv.lib.optional (pcsclite != null)
+      (substituteAll {
+        src = ./dlopen-absolute-paths.diff;
+        inherit pcsclite;
+      });
+
   buildInputs = [
-    cmake
-    openssl
-    pkgconfig
-    zlib
-    libX11
-    libXcursor
-    libXdamage
-    libXext
-#    directfb
-#    cunit
-    alsaLib
-    ffmpeg
-    libxkbfile
-#    xmlto docbook_xml_dtd_412 docbook_xml_xslt
-    libXinerama
-    libXv
-  ] ++ stdenv.lib.optional printerSupport cups;
+    cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext glib
+    alsaLib ffmpeg libxkbfile libXinerama libXv cups pulseaudio pcsclite
+  ];
 
   doCheck = false;
 
-  checkPhase = ''LD_LIBRARY_PATH="libfreerdp-cache:libfreerdp-chanman:libfreerdp-common:libfreerdp-core:libfreerdp-gdi:libfreerdp-kbd:libfreerdp-rail:libfreerdp-rfx:libfreerdp-utils" cunit/test_freerdp'';
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DWITH_CUNIT=OFF"
+  ] ++ stdenv.lib.optional (pulseaudio != null) "-DWITH_PULSE=ON"
+    ++ stdenv.lib.optional (cups != null) "-DWITH_CUPS=ON"
+    ++ stdenv.lib.optional (pcsclite != null) "-DWITH_PCSC=ON"
+    ++ stdenv.lib.optional buildServer "-DWITH_SERVER=ON"
+    ++ stdenv.lib.optional optimize "-DWITH_SSE2=ON";
 
-  cmakeFlags = [ "-DWITH_DIRECTFB=OFF" "-DWITH_CUNIT=OFF" "-DWITH_MANPAGES=OFF" 
-  ] ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A Remote Desktop Protocol Client";
-
     longDescription = ''
       FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
       following the Microsoft Open Specifications.
     '';
-
     homepage = http://www.freerdp.com/;
-
-    license = "free-non-copyleft";
-
-    broken = true;  # fails to build
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix
index e35f8c739c5..fe89ce61604 100644
--- a/pkgs/applications/networking/remote/putty/default.nix
+++ b/pkgs/applications/networking/remote/putty/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchsvn, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut
-, libtool }:
- 
-let
-  rev = 9690;
-in
-stdenv.mkDerivation {
-  name = "putty-${toString rev}";
-  # builder = ./builder.sh;
+{ stdenv, fetchurl, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut, libtool }:
+
+stdenv.mkDerivation rec {
+  version = "0.64";
+  name = "putty-${version}";
+
+  src = fetchurl {
+    url = "http://the.earth.li/~sgtatham/putty/latest/${name}.tar.gz";
+    sha256 = "089qbzd7w51sc9grm2x3lcbj61jdqsnakb4j4gnf6i2131xcjiia";
+  };
 
   preConfigure = ''
     perl mkfiles.pl
@@ -17,14 +18,17 @@ stdenv.mkDerivation {
     ./mkauto.sh
     cd unix
   '';
-  
-  # The hash is going to change on new snapshot.
-  # I don't know of any better URL
-  src = fetchsvn {
-    url = svn://svn.tartarus.org/sgt/putty;
-    rev = rev;
-    sha256 = "e1fb49766e0724a12776ec3d6cd0bd420e03ebdc3383a01a12dbfd30983f81ef";
-  };
 
   buildInputs = [ gtk ncurses pkgconfig autoconf automake perl halibut libtool ];
+
+  meta = with stdenv.lib; {
+    description = "A Free Telnet/SSH Client";
+    longDescription = ''
+      PuTTY is a free implementation of Telnet and SSH for Windows and Unix
+      platforms, along with an xterm terminal emulator.
+      It is written and maintained primarily by Simon Tatham.
+    '';
+    homepage = http://www.chiark.greenend.org.uk/~sgtatham/putty/;
+    license = licenses.mit;
+  };
 }
diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix
index 09c20618d66..2e844fdeab4 100644
--- a/pkgs/applications/networking/remote/rdesktop/default.nix
+++ b/pkgs/applications/networking/remote/rdesktop/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation (rec {
   pname = "rdesktop";
-  version = "1.8.1";
+  version = "1.8.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "0il248cdsxvwjsl4bswf27ld9r1a7d48jf6bycr86kf3i55q7k3n";
+    sha256 = "1r7c1rjmw2xzq8fw0scyb453gy9z19774z1z8ldmzzsfndb03cl8";
   };
 
   buildInputs = [openssl libX11];
@@ -20,5 +20,8 @@ stdenv.mkDerivation (rec {
 
   meta = {
     description = "Open source client for Windows Terminal Services";
+    homepage = http://www.rdesktop.org/;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
   };
 })
diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix
index f142395aa57..fad7ef90ceb 100644
--- a/pkgs/applications/networking/remote/ssvnc/default.nix
+++ b/pkgs/applications/networking/remote/ssvnc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, imake, zlib, openjdk, libX11, libXt, libXmu
+{ stdenv, fetchurl, imake, zlib, jdk, libX11, libXt, libXmu
 , libXaw, libXext, libXpm, openjpeg, openssl, tcl, tk }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "74df32eb8eaa68b07c9693a232ebe42154617c7f3cbe1d4e68d3fe7c557d618d";
   };
 
-  buildInputs = [ imake zlib openjdk libX11 libXt libXmu libXaw libXext libXpm openjpeg openssl ];
+  buildInputs = [ imake zlib jdk libX11 libXt libXmu libXaw libXext libXpm openjpeg openssl ];
 
   configurePhase = "makeFlags=PREFIX=$out";
 
diff --git a/pkgs/applications/networking/remote/teamviewer/10.nix b/pkgs/applications/networking/remote/teamviewer/10.nix
new file mode 100644
index 00000000000..6a54a0e7ff0
--- /dev/null
+++ b/pkgs/applications/networking/remote/teamviewer/10.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
+, bash, patchelf, config }:
+
+let
+  topath = "${wineUnstable}/bin";
+
+  toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib") 
+    [ stdenv.cc.cc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
+in
+stdenv.mkDerivation {
+  name = "teamviewer-10.0.37742";
+  src = fetchurl {
+    url = config.teamviewer10.url or "http://download.teamviewer.com/download/teamviewer_amd64.deb";
+    sha256 = config.teamviewer10.sha256 or "1j3zbvyj003gk8mm9sv1dld9x30l6fswwlhdyk46mixsqq5ayp6c";
+  };
+
+  buildInputs = [ makeWrapper patchelf ];
+
+  unpackPhase = ''
+    ar x $src
+    tar xf data.tar.gz
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/teamviewer $out/bin
+    cp -a opt/teamviewer/* $out/share/teamviewer
+    rm -R $out/share/teamviewer/tv_bin/wine/{bin,lib,share}
+
+    cat > $out/bin/teamviewer << EOF
+    #!${bash}/bin/sh
+    export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
+    export PATH=${topath}\''${PATH:+:\$PATH}
+    $out/share/teamviewer/tv_bin/script/teamviewer "\$@"
+    EOF
+    chmod +x $out/bin/teamviewer
+
+    patchelf --set-rpath "${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer/tv_bin/teamviewerd
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/teamviewer/tv_bin/teamviewerd
+    ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin/
+  '';
+
+  meta = {
+    homepage = "http://www.teamviewer.com";
+    license = stdenv.lib.licenses.unfree;
+    description = "Desktop sharing application, providing remote support and online meetings";
+  };
+}
diff --git a/pkgs/applications/networking/remote/teamviewer/8.nix b/pkgs/applications/networking/remote/teamviewer/8.nix
index 459ae9fab82..28b272045b7 100644
--- a/pkgs/applications/networking/remote/teamviewer/8.nix
+++ b/pkgs/applications/networking/remote/teamviewer/8.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
-, bash, patchelf }:
+, bash, patchelf, config }:
 
 let
   topath = "${wineUnstable}/bin";
 
   toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib") 
-    [ stdenv.gcc.gcc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
+    [ stdenv.cc.cc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
 in
 stdenv.mkDerivation {
   name = "teamviewer-8.0.17147";
   src = fetchurl {
-    url = "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb";
-    sha256 = "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
+    url = config.teamviewer8.url or "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb";
+    sha256 = config.teamviewer8.sha256 or "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
   };
 
   buildInputs = [ makeWrapper patchelf ];
@@ -34,8 +34,8 @@ stdenv.mkDerivation {
     EOF
     chmod +x $out/bin/teamviewer
 
-    patchelf --set-rpath "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer8/tv_bin/teamviewerd
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/share/teamviewer8/tv_bin/teamviewerd
+    patchelf --set-rpath "${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer8/tv_bin/teamviewerd
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/teamviewer8/tv_bin/teamviewerd
     ln -s $out/share/teamviewer8/tv_bin/teamviewerd $out/bin/
   '';
 
diff --git a/pkgs/applications/networking/remote/teamviewer/9.nix b/pkgs/applications/networking/remote/teamviewer/9.nix
new file mode 100644
index 00000000000..9b272a618b5
--- /dev/null
+++ b/pkgs/applications/networking/remote/teamviewer/9.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
+, bash, patchelf, config }:
+
+let
+  topath = "${wineUnstable}/bin";
+
+  toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib") 
+    [ stdenv.cc.cc libX11 libXtst libXext libXdamage libXfixes wineUnstable ]);
+in
+stdenv.mkDerivation {
+  name = "teamviewer-9.0.32150";
+  src = fetchurl {
+    url = config.teamviewer9.url or "http://download.teamviewer.com/download/version_9x/teamviewer_linux_x64.deb";
+    sha256 = config.teamviewer9.sha256 or "0wpwbx0xzn3vlzavszxhfvfcaj3pijlpwvlz5m7w19mb6cky3q13";
+  };
+
+  buildInputs = [ makeWrapper patchelf ];
+
+  unpackPhase = ''
+    ar x $src
+    tar xf data.tar.gz
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/teamviewer9 $out/bin
+    cp -a opt/teamviewer9/* $out/share/teamviewer9
+    rm -R $out/share/teamviewer9/tv_bin/wine/{bin,lib,share}
+
+    cat > $out/bin/teamviewer << EOF
+    #!${bash}/bin/sh
+    export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
+    export PATH=${topath}\''${PATH:+:\$PATH}
+    $out/share/teamviewer9/tv_bin/script/teamviewer "\$@"
+    EOF
+    chmod +x $out/bin/teamviewer
+
+    patchelf --set-rpath "${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer9/tv_bin/teamviewerd
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/teamviewer9/tv_bin/teamviewerd
+    ln -s $out/share/teamviewer9/tv_bin/teamviewerd $out/bin/
+  '';
+
+  meta = {
+    homepage = "http://www.teamviewer.com";
+    license = stdenv.lib.licenses.unfree;
+    description = "Desktop sharing application, providing remote support and online meetings";
+  };
+}
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
deleted file mode 100644
index 65ddd7305c8..00000000000
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wine, makeWrapper
-, bash, findutils, coreutils }:
-
-assert stdenv.system == "i686-linux";
-let
-  topath = "${wine}/bin";
-
-  toldpath = stdenv.lib.concatStringsSep ":" (map (x: "${x}/lib") 
-    [ stdenv.gcc.gcc libX11 libXtst libXext libXdamage libXfixes wine ]);
-in
-stdenv.mkDerivation {
-  name = "teamviewer-7.0.9377";
-  src = fetchurl {
-    url = "http://download.teamviewer.com/download/version_7x/teamviewer_linux.tar.gz";
-    sha256 = "1f8934jqj093m1z56yl6k2ah6njkk6pz1rjvpqnryi29pp5piaiy";
-  };
-
-  buildInputs = [ makeWrapper ];
-
-  # I need patching, mainly for it not try to use its own 'wine' (in the tarball).
-  installPhase = ''
-    mkdir -p $out/share/teamviewer $out/bin
-    cp -a .tvscript/* $out/share/teamviewer
-    cp -a .wine/drive_c $out/share/teamviewer
-    sed -i -e 's/^tv_Run//' \
-      -e 's/^  setup_tar_env//' \
-      -e 's/^  setup_env//' \
-      -e 's,^  TV_Wine_dir=.*,  TV_Wine_dir=${wine},' \
-      -e 's,progsrc=.*drive_c,progsrc='$out'"/share/teamviewer/drive_c,' \
-      $out/share/teamviewer/wrapper
-
-    cat > $out/bin/teamviewer << EOF
-    #!${bash}/bin/sh
-    # Teamviewer puts symlinks to nix store paths in ~/.teamviewer. When those
-    # paths become garbage collected, teamviewer crashes upon start because of
-    # those broken symlinks. An easy workaround to this behaviour is simply to
-    # delete all symlinks before we start teamviewer. Teamviewer will fixup the
-    # symlinks, just like it did the first time the user ran it.
-    ${findutils}/bin/find "\$HOME"/.teamviewer/*/*/"Program Files/TeamViewer/" -type l -print0 | ${findutils}/bin/xargs -0 ${coreutils}/bin/rm
-
-    export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
-    export PATH=${topath}\''${PATH:+:\$PATH}
-    $out/share/teamviewer/wrapper wine "c:\Program Files\TeamViewer\Version7\TeamViewer.exe" "\$@"
-    EOF
-    chmod +x $out/bin/teamviewer
-  '';
-
-  meta = {
-    homepage = "http://www.teamviewer.com";
-    license = stdenv.lib.licenses.unfree;
-    description = "Desktop sharing application, providing remote support and online meetings";
-  };
-}
diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix
new file mode 100644
index 00000000000..8544ccc0f79
--- /dev/null
+++ b/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, cups, libssh, libXpm, nxproxy, openldap, makeWrapper, qt4 }:
+
+let version = "4.0.3.2"; in
+stdenv.mkDerivation rec {
+  name = "x2goclient-${version}";
+
+  src = fetchurl {
+    url = "http://code.x2go.org/releases/source/x2goclient/${name}.tar.gz";
+    sha256 = "0vqcz9kmnbvlj8kns68zl60019fdz97rydz4wsgnsgdf7r370npn";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Graphical NoMachine NX3 remote desktop client";
+    homepage = http://x2go.org/;
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ cups libssh libXpm nxproxy openldap makeWrapper qt4 ];
+
+  patchPhase = ''
+     substituteInPlace Makefile \
+       --replace "lrelease-qt4" "${qt4}/bin/lrelease" \
+       --replace "qmake-qt4" "${qt4}/bin/qmake" \
+       --replace "-o root -g root" ""
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" "ETCDIR=$(out)/etc" ];
+
+  enableParallelBuilding = true;
+
+  installTargets = [ "install_client" "install_man" ];
+  postInstall = ''
+    wrapProgram "$out/bin/x2goclient" --suffix PATH : "${nxproxy}/bin";
+  '';
+}
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index e9036ba9261..63bec355f22 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec
 {
-  version = "3.0.4";
+  version = "4.0.6";
   name = "seafile-client-${version}";
 
   src = fetchurl
   {
     url = "https://github.com/haiwen/seafile-client/archive/v${version}.tar.gz";
-    sha256 = "10iz45y8j5f9smi0srxw62frb97vhr0w938v8w3rsjcw9qq366a2";
+    sha256 = "0hx8zjmgj4ki2p5fkdyz32fy8db60p6rvi3my9l59j7fslv71k1z";
   };
 
   buildInputs = [ pkgconfig cmake qt4 seafile-shared makeWrapper ];
diff --git a/pkgs/applications/networking/sipcmd/default.nix b/pkgs/applications/networking/sipcmd/default.nix
new file mode 100644
index 00000000000..e45f8c4f84c
--- /dev/null
+++ b/pkgs/applications/networking/sipcmd/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, opal, ptlib }:
+
+stdenv.mkDerivation rec {
+
+  rev = "3090e9f";
+
+  name = "sipcmd-${rev}";
+  
+  src = fetchgit {
+    url = "https://github.com/tmakkonen/sipcmd";
+    rev = "${rev}";
+    sha256 = "072h9qapmz46r8pxbzkfmc4ikd7dv9g8cgrfrw21q942icbrvq2c";
+  };
+
+  buildInputs = [ opal ptlib ];
+
+  buildPhase = ''
+    make IFLAGS="-I${opal}/include/opal -I${ptlib}/include -Isrc/ -L${opal}/lib -L${ptlib}/lib"
+  '';
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    cp sipcmd $out/bin/sipcmd
+  '';
+
+  meta = {
+    homepage = https://github.com/tmakkonen/sipcmd;
+    description = "sipcmd - the command line SIP/H.323/RTP softphone";
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
+
diff --git a/pkgs/applications/networking/sniffers/ettercap/default.nix b/pkgs/applications/networking/sniffers/ettercap/default.nix
index 3994563cf3e..3ff12c274d5 100644
--- a/pkgs/applications/networking/sniffers/ettercap/default.nix
+++ b/pkgs/applications/networking/sniffers/ettercap/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl, cmake, libpcap, libnet, zlib, curl, pcre,
+{ stdenv, fetchFromGitHub, cmake, libpcap, libnet, zlib, curl, pcre,
   openssl, ncurses, glib, gtk, atk, pango, flex, bison }:
 
 stdenv.mkDerivation rec {
   name = "ettercap-${version}";
-  version = "0.8.0";
+  version = "0.8.2";
 
-  src = fetchurl {
-    url = "https://github.com/Ettercap/ettercap/archive/v${version}.tar.gz";
-    sha256 = "1g69782wk2hag8h76jqy81szw5jhvqqnn3m4v0wjkbv9zjxy44w0";
+  src = fetchFromGitHub {
+    owner = "Ettercap";
+    repo = "ettercap";
+    rev = "v${version}";
+    sha256 = "1kvrzv2f8kxy7pndfadkzv10cs5wsyfkaa1ski20r2mq4wrvd0cd";
   };
 
   buildInputs = [
@@ -16,7 +18,8 @@ stdenv.mkDerivation rec {
   ];
 
   preConfigure = ''
-    substituteInPlace CMakeLists.txt --replace /etc \$\{INSTALL_PREFIX\}/etc
+    substituteInPlace CMakeLists.txt --replace /etc \$\{INSTALL_PREFIX\}/etc \
+                                     --replace /usr \$\{INSTALL_PREFIX\}
   '';
 
   cmakeFlags = [
@@ -24,10 +27,11 @@ stdenv.mkDerivation rec {
     "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include"
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Comprehensive suite for man in the middle attacks";
     homepage = http://ettercap.github.io/ettercap/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 272bae14a12..8afe5650ca8 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,30 +1,41 @@
 { stdenv, fetchurl, pkgconfig, perl, flex, bison, libpcap, libnl, c-ares
-, gnutls, libgcrypt, geoip, heimdal, lua5, gtk, makeDesktopItem, python
-, libcap
+, gnutls, libgcrypt, geoip, heimdal, lua5, makeDesktopItem, python, libcap, glib
+, withGtk ? false, gtk ? null
+, withQt ? false, qt4 ? null
 }:
 
-let version = "1.11.2"; in
+assert withGtk -> !withQt && gtk != null;
+assert withQt -> !withGtk && qt4 != null;
+
+with stdenv.lib;
+
+let
+  version = "1.12.3";
+  variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
+in
 
 stdenv.mkDerivation {
-  name = "wireshark-${version}";
+  name = "wireshark-${variant}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
-    sha256 = "077hjnmqn44s8dx3pc38bxps5liicjnhzrnf6ky2x60m2cp7ngr3";
+    url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2";
+    sha256 = "1sikmjslxl68i3psxikghpff0znjfd6mb07nnn10jqqsrffhp5b9";
   };
 
   buildInputs = [
     bison flex perl pkgconfig libpcap lua5 heimdal libgcrypt gnutls
-    geoip libnl c-ares gtk python libcap
-  ];
+    geoip libnl c-ares python libcap glib
+  ] ++ optional withQt qt4
+    ++ optional withGtk gtk;
 
   patches = [ ./wireshark-lookup-dumpcap-in-path.patch ];
 
-  preConfigure = ''
-    sed -re 's/g_memmove/memmove/' -i $(grep -rl g_memmove .)
-  '';
-
-  configureFlags = "--disable-usr-local --disable-silent-rules --with-gtk2 --without-gtk3 --without-qt --with-ssl";
+  configureFlags = "--disable-usr-local --disable-silent-rules --with-ssl"
+    + (if withGtk then
+         " --with-gtk2 --without-gtk3 --without-qt"
+       else if withQt then
+         " --without-gtk2 --without-gtk3 --with-qt"
+       else " --disable-wireshark");
 
   desktopItem = makeDesktopItem {
     name = "Wireshark";
@@ -36,18 +47,20 @@ stdenv.mkDerivation {
     categories = "Network;System";
   };
 
-  postInstall = ''
+  postInstall = optionalString (withQt || withGtk) ''
     mkdir -p "$out"/share/applications/
     mkdir -p "$out"/share/icons/
     cp "$desktopItem/share/applications/"* "$out/share/applications/"
     cp image/wsicon.svg "$out"/share/icons/wireshark.svg
+  '' + optionalString withQt ''
+    mv "$out/bin/wireshark-qt" "$out/bin/wireshark"
   '';
 
   enableParallelBuilding = true;
 
   meta = {
     homepage = http://www.wireshark.org/;
-    description = "a powerful network protocol analyzer";
+    description = "Powerful network protocol analyzer";
     license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
diff --git a/pkgs/applications/networking/sync/akunambol/default.nix b/pkgs/applications/networking/sync/akunambol/default.nix
deleted file mode 100644
index 2aedfd7f833..00000000000
--- a/pkgs/applications/networking/sync/akunambol/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchgit, kdepimlibs, funambol, liblikeback }:
-
-stdenv.mkDerivation rec {
-  name = "akunambol-20110304";
-
-  src = fetchgit {
-    url = git://anongit.kde.org/akunambol.git;
-    rev = "1d832bbbce84f474e3f1e5d2f9fa8a4079b0c8e5";
-    sha256 = "1d2x42lbw32qyawri7z0mrbafz36r035w5bxjpq51awyqjwkbb2d";
-  };
-
-  buildInputs = [ kdepimlibs funambol liblikeback ];
-  KDEDIRS = liblikeback;
-
-  patches = [ ./non-latin.diff ];
-}
diff --git a/pkgs/applications/networking/sync/akunambol/non-latin.diff b/pkgs/applications/networking/sync/akunambol/non-latin.diff
deleted file mode 100644
index 905a6a894bd..00000000000
--- a/pkgs/applications/networking/sync/akunambol/non-latin.diff
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/qtgui/standardsourcesettings.cpp b/qtgui/standardsourcesettings.cpp
-index a14a737..5d4712e 100644
---- a/qtgui/standardsourcesettings.cpp
-+++ b/qtgui/standardsourcesettings.cpp
-@@ -83,9 +83,9 @@ void StandardSourceSettings::populateCollections()
-     foreach( const Collection &collection, colls ) {
-         if (collection.contentMimeTypes().contains(source->getAkonadiMimeType())) {
-             i++;
--            const char* dn = collection.name().toUtf8();
--            LOG.debug("Adding collection id %lld named %s", collection.id(), dn);
--            collections->addItem(dn);
-+            LOG.debug("Adding collection id %lld named %s", collection.id(),
-+                      collection.name().toLocal8Bit().data());
-+            collections->addItem(collection.name());
-             idList.append(collection.id());
-         }
-     }
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
new file mode 100644
index 00000000000..b6535ad7310
--- /dev/null
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -0,0 +1,42 @@
+{stdenv, fetchurl, makeWrapper, gettext, python3, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }:
+
+stdenv.mkDerivation rec {
+  version = "1.1.4";
+
+  name = "backintime-common-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/backintime/1.1/${version}/+download/backintime-${version}.tar.gz";
+    sha256 = "0w57b7xygwx83azz463fd4y7fxz0z6dy74f70ixhvhlsdpxw2ks3";
+  };
+
+  buildInputs = [ makeWrapper gettext python3 python3Packages.dbus python3Packages.keyring openssh cron rsync sshfsFuse encfs ];
+
+  installFlags = [ "DEST=$(out)" ];
+
+  preConfigure = "cd common";
+
+  dontAddPrefix = true;
+
+  preFixup =
+    ''
+    substituteInPlace "$out/bin/backintime" \
+      --replace "=\"/usr/share" "=\"$prefix/share"
+    wrapProgram "$out/bin/backintime" \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PATH : "$prefix/bin:$PATH"
+    '';
+
+  meta = {
+    homepage = https://launchpad.net/backintime;
+    description = "Simple backup tool for Linux";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    platforms = stdenv.lib.platforms.all;
+    longDescription = ''
+      Back In Time is a simple backup tool (on top of rsync) for Linux
+      inspired from “flyback project” and “TimeVault”. The backup is
+      done by taking snapshots of a specified set of directories.
+    '';
+  };
+}
diff --git a/pkgs/applications/networking/sync/backintime/qt4.nix b/pkgs/applications/networking/sync/backintime/qt4.nix
new file mode 100644
index 00000000000..ef8f0282749
--- /dev/null
+++ b/pkgs/applications/networking/sync/backintime/qt4.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, makeWrapper, gettext, pkgconfig, libtool, backintime-common, python3, python3Packages }:
+
+stdenv.mkDerivation rec {
+  inherit (backintime-common) version src installFlags meta;
+
+  name = "backintime-qt4-${version}";
+
+  buildInputs = [ makeWrapper gettext python3 python3Packages.pyqt4 backintime-common python3 ];
+
+  preConfigure = "cd qt4";
+  configureFlags = [  ];
+
+  dontAddPrefix = true;
+
+  preFixup =
+      ''
+      substituteInPlace "$out/bin/backintime-qt4" \
+        --replace "=\"/usr/share" "=\"$prefix/share"
+
+      wrapProgram "$out/bin/backintime-qt4" \
+        --prefix PYTHONPATH : "${backintime-common}/share/backintime/common:$PYTHONPATH" \
+        --prefix PATH : "${backintime-common}/bin:$PATH"
+    '';
+
+}
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index 00a00530df4..5e29e3cfd0d 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -7,37 +7,33 @@ assert enableACLs -> acl != null;
 
 stdenv.mkDerivation rec {
   name = "rsync-${version}";
-  version = "3.1.0";
+  version = "3.1.1";
 
   mainSrc = fetchurl {
-    url = "http://rsync.samba.org/ftp/rsync/src/rsync-${version}.tar.gz";
-    sha256 = "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1";
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
+    url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
+    sha256 = "0896iah6w72q5izpxgkai75bn40dqkqifi2ivcxjzr2zrx7kdr3x";
   };
 
   patchesSrc = fetchurl {
-    url = "http://rsync.samba.org/ftp/rsync/rsync-patches-${version}.tar.gz";
-    sha256 = "0sl8aadpjblvbb05vgais40z90yzhr09rwz0cykjdiv452gli75p";
+    # signed with key 0048 C8B0 26D4 C96F 0E58  9C2F 6C85 9FB1 4B96 A8C5
+    url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
+    sha256 = "0iij996xbyn20yr4w3kv3rw3cx4jwkg2k85x6w5hb5xlgsis8zjl";
   };
 
   srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
-  patches = [(fetchurl {
-      url = "https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=0dedfbce2c1b851684ba658861fe9d620636c56a";
-      sha256 = "0j1pqmwsqc5mh815x28izi4baki2y2r5q8k7ma1sgs4xsgjc4rk8";
-      name = "CVE-2014-2855.patch";
-    })]
-    ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
+  patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
 
   buildInputs = stdenv.lib.optional enableACLs acl;
   nativeBuildInputs = [perl];
 
   configureFlags = "--with-nobody-group=nogroup";
 
-  meta = {
-    homepage = http://samba.anu.edu.au/rsync/;
+  meta = with stdenv.lib; {
+    homepage = http://rsync.samba.org/;
     description = "A fast incremental file transfer utility";
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.emery ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ simons emery ];
   };
 }
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 4ac5e8300ca..475d0ae466c 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "unison-2.40.102";
+  name = "unison-2.48.3";
   src = fetchurl {
     url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/${name}.tar.gz";
-    sha256 = "0m78q5vnsric1virvkmxxx32ipaq0cnj0kbirdbg36395gq94jix";
+    sha256 = "10sln52rnnsj213jy3166m0q97qpwnrwl6mm529xfy10x3xkq3gl";
   };
 
   buildInputs = [ ocaml makeWrapper ncurses ];
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 64bf287b44f..430ab70caa1 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,45 +1,32 @@
-{ stdenv, fetchurl, fetchgit, go }:
+{ lib, fetchgit, goPackages }:
 
-stdenv.mkDerivation rec {
-  name = "syncthing-${version}";
-  version = "0.8.15";
+with goPackages;
 
+buildGoPackage rec {
+  name = "syncthing-${version}";
+  version = "0.10.30";
+  goPackagePath = "github.com/syncthing/syncthing";
   src = fetchgit {
-    url = "git://github.com/calmh/syncthing.git";
+    url = "git://github.com/syncthing/syncthing.git";
     rev = "refs/tags/v${version}";
-    sha256 = "0xv8kaji60zqxws72srh5hdi9fyvaipdcsawp6gcyahhr3cz0ddq";
+    sha256 = "bd554d42586c85e0a5e766b6a6e87ccc6047f30e189753a1e68e44fd54ca506a";
   };
 
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    mkdir -p "./dependencies/src/github.com/calmh/syncthing"
-
-    for a in auto buffers cid discover files lamport protocol scanner \
-            logger beacon config xdr upnp model osutil versioner; do
-        cp -r "./$a" "./dependencies/src/github.com/calmh/syncthing"
-    done
-
-    export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies"
+  subPackages = [ "cmd/syncthing" ];
 
-    go test -cpu=1,2,4 ./...
+  buildFlagsArray = "-ldflags=-w -X main.Version v${version}";
 
-    mkdir ./bin
+  preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
 
-    go build -o ./bin/syncthing -ldflags "-w -X main.Version v${version}" ./cmd/syncthing
-    go build -o ./bin/stcli -ldflags "-w -X main.Version v${version}" ./cmd/stcli
-  '';
+  doCheck = true;
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -r ./bin $out
-  '';
+  dontInstallSrc = true;
 
   meta = {
     homepage = http://syncthing.net/;
     description = "Replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized";
-    license = with stdenv.lib.licenses; mit;
-    maintainers = with stdenv.lib.maintainers; [ matejc ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = with lib.licenses; mit;
+    maintainers = with lib.maintainers; [ matejc ];
+    platforms = with lib.platforms; unix;
   };
 }
diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix
index 1f08b9873d4..7e7d58c9a32 100644
--- a/pkgs/applications/networking/umurmur/default.nix
+++ b/pkgs/applications/networking/umurmur/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, openssl, protobufc, libconfig }:
+{ stdenv, fetchFromGitHub, autoreconfHook, openssl, protobufc, libconfig }:
 
 stdenv.mkDerivation rec {
-  name = "umurmur-0.2.13";
+  name = "umurmur-${version}";
+  version = "0.2.15";
   
-  src = fetchurl {
-    url = "http://umurmur.googlecode.com/files/${name}.tar.gz";
-    sha1 = "c9345b67213f52688fef2113132c62d2edbf4bea";
+  src = fetchFromGitHub {
+    owner = "fatbob313";
+    repo = "umurmur";
+    rev = version;
+    sha256 = "0q0apnnb3pszhpsbadw52k6mhdc0hk38rk7vnn7dl4fsisfhgmx2";
   };
   
-  buildInputs = [ openssl protobufc libconfig ];
+  buildInputs = [ autoreconfHook openssl protobufc libconfig ];
 
   configureFlags = "--with-ssl=openssl";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Minimalistic Murmur (Mumble server)";
-    license = "BSD";
+    license = licenses.bsd3;
     homepage = http://code.google.com/p/umurmur/;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index 6d4306044a4..d3ee682329d 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "vnstat-1.11";
+  name = "vnstat-1.13";
 
   src = fetchurl {
     url = "http://humdi.net/vnstat/${name}.tar.gz";
-    sha256 = "09p0mlf49zzmh6jzwyvzd9k3jv7bl8i6w8xl65ns3dmv2zc7c65p";
+    sha256 = "1kcrxpvp3al1j6kh7k69vwva6kd1ba32wglx95gv55dixfcjakkg";
   };
 
   installPhase = ''
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     homepage = http://humdi.net/vnstat/;
     license = stdenv.lib.licenses.gpl2Plus;
     description = "Console-based network statistics utility for Linux";
+    maintainers = with stdenv.lib.maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index fdd02aac0b5..11681cfefd0 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -7,11 +7,11 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "znc-1.4";
+  name = "znc-1.6.0";
 
   src = fetchurl {
     url = "http://znc.in/releases/${name}.tar.gz";
-    sha256 = "0lkv58pq4d5lzcyx8v8anzinx0sx0zw0js4jij13jb8qxp88zsc6";
+    sha256 = "df622aeae34d26193c738dff6499e56ad669ec654484e19623738d84cc80aba7";
   };
 
   buildInputs = [ openssl pkgconfig ]
diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix
index 478900bae4c..9836d1fbb3b 100644
--- a/pkgs/applications/networking/znc/modules.nix
+++ b/pkgs/applications/networking/znc/modules.nix
@@ -53,4 +53,21 @@ in rec {
     };
   };
 
+  privmsg = zncDerivation rec {
+    name        = "znc-privmsg-c9f98690be";
+    module_name = "privmsg";
+
+    src = fetchgit {
+      url    = meta.repositories.git;
+      rev    = "c9f98690beb4e3a7681468d5421ff11dc8e1ee8b";
+      sha256 = "dfeb28878b12b98141ab204191288cb4c3f7df153a01391ebf6ed6a32007247f";
+    };
+
+    meta = {
+      description = "ZNC privmsg module";
+      homepage = https://github.com/kylef/znc-contrib;
+      repositories.git = https://github.com/kylef/znc-contrib.git;
+    };
+  };
+
 }
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index d9b3627507e..2aaf1e8f032 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -1,30 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libglade, libgnomecanvas, fribidi
-, libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg
+{ stdenv, fetchurl, pkgconfig, gtk3, libglade, libgnomecanvas, fribidi
+, libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl
+, boost, libxslt
 }:
 
-stdenv.mkDerivation {
-  name = "abiword-2.8.6";
+stdenv.mkDerivation rec {
+  name = "abiword-${version}";
+  version = "3.0.1";
 
   src = fetchurl {
-    url = http://www.abisource.org/downloads/abiword/2.8.6/source/abiword-2.8.6.tar.gz;
-    sha256 = "059sd2apxdmcacc4pll880i7vm18h0kyjsq299m1mz3c7ak8k46r";
+    url = "http://www.abisource.org/downloads/abiword/${version}/source/${name}.tar.gz";
+    sha256 = "1ik591rx15nn3n1297cwykl8wvrlgj78i528id9wbidgy3xzd570";
   };
 
-  prePatch = ''
-    sed -i -e '/#include <glib\/gerror.h>/d' src/af/util/xp/ut_go_file.h
-    sed -i -e 's|#include <glib/gmacros.h>|#include <glib.h>|' \
-      goffice-bits/goffice/app/goffice-app.h
-    sed -i -e 's/ptr->jmpbuf/jmpbuf(png_ptr)/' src/af/util/xp/ut_png.cpp
-    sed -i -e 's/\(m_pPNG\)->\(jmpbuf\)/png_\2(\1)/' \
-      src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp
-    sed -i -e 's/--no-undefined //' src/Makefile*
-  '';
-
   enableParallelBuilding = true;
 
   buildInputs =
-    [ pkgconfig gtk libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
-      libgsf enchant wv libjpeg
+    [ pkgconfig gtk3 libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
+      libgsf enchant wv libjpeg perl boost libxslt
     ];
 
   meta = with stdenv.lib; {
@@ -32,5 +24,6 @@ stdenv.mkDerivation {
     homepage = http://www.abisource.com/;
     license = licenses.gpl3;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch b/pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch
new file mode 100644
index 00000000000..ebf2f0900d9
--- /dev/null
+++ b/pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch
@@ -0,0 +1,18 @@
+Description: Add check for buffer overflow with malformed input files
+Author: <eriks@debian.org>
+Bug-Debian: http://bugs.debian.org/407015
+Last-Update: 2009-06-03
+
+--- antiword-0.37~/wordole.c	2005-08-26 21:49:57.000000000 +0200
++++ antiword-0.37/wordole.c	2009-06-03 22:31:15.948014682 +0200
+@@ -259,6 +259,10 @@
+ 		}
+ 		tNameSize = (size_t)usGetWord(0x40, aucBytes);
+ 		tNameSize = (tNameSize + 1) / 2;
++		if ( tNameSize > sizeof(atPPSlist[iIndex].szName)) {
++			werr(0, "Name Size of PPS %d is too large", iIndex);
++			tNameSize = sizeof(atPPSlist[iIndex].szName);
++		}
+ 		vName2String(atPPSlist[iIndex].szName, aucBytes, tNameSize);
+ 		atPPSlist[iIndex].ucType = ucGetByte(0x42, aucBytes);
+ 		if (atPPSlist[iIndex].ucType == 5) {
diff --git a/pkgs/applications/office/antiword/default.nix b/pkgs/applications/office/antiword/default.nix
index f889490a862..ea36d59eea7 100644
--- a/pkgs/applications/office/antiword/default.nix
+++ b/pkgs/applications/office/antiword/default.nix
@@ -11,10 +11,12 @@ stdenv.mkDerivation {
     sha256 = "1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f";
   };
 
-  patchPhase = ''
+  preInstall = ''
     sed -i -e "s|/usr/local/bin|$out/bin|g" -e "s|/usr/share|$out/share|g" Makefile antiword.h
   '';
 
+  patches = [ ./10_fix_buffer_overflow_wordole_c.patch ];
+
   installTargets = "global_install";
 
   meta = {
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index e87053d5326..00f27bfc93c 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -1,36 +1,38 @@
 { stdenv, fetchurl, cmake, kdelibs, attica, perl, zlib, libpng, boost, mesa
 , kdepimlibs, createresources ? null, eigen, qca2, exiv2, soprano, marble, lcms2
-, fontconfig, freetype, sqlite, icu, libwpd, libwpg, pkgconfig, popplerQt4
+, fontconfig, freetype, sqlite, icu, libwpd, libwpg, pkgconfig, poppler_qt4
 , libkdcraw, libxslt, fftw, glew, gsl, shared_desktop_ontologies, okular
 , libvisio, kactivities, mysql, postgresql, freetds, xbase, openexr, ilmbase
+, libodfgen, opencolorio, openjpeg, pstoedit, librevenge
  }:
 
 stdenv.mkDerivation rec {
-  name = "calligra-2.7.5";
+  name = "calligra-2.8.7";
 
   src = fetchurl {
     url = "mirror://kde/stable/${name}/${name}.tar.xz";
-    sha256 = "0png8ac10xywxsml1z18as18kc9k9162l6an67hi6lgx0rv27ldi";
+    sha256 = "1d8fx0xn8n8y6jglw8hhpk7kr6kbhsbaxqwqlfzmnzh7x9s8nsxg";
   };
 
   nativeBuildInputs = [ cmake perl pkgconfig ];
 
-#  patches = [ ./fix-kde4.10-build.patch ];
-
-# TODO: package Vc, libWPS, OCIO, OpenShiva, QtShiva, Spnav, m2mml
-# TODO: not found popplerQt4
+# TODO: package Vc, libWPS, Spnav, m2mml, LibEtonyek, poppler-qt4-xpdf-headers
+# not found: xbase, openjpeg(too new)
 
   buildInputs = [ kdelibs attica zlib libpng boost mesa kdepimlibs
     createresources eigen qca2 exiv2 soprano marble lcms2 fontconfig freetype
-    sqlite icu libwpd libwpg popplerQt4 libkdcraw libxslt fftw glew gsl
-    shared_desktop_ontologies okular 
-    libvisio kactivities mysql postgresql freetds xbase openexr
-];
+    sqlite icu libwpd libwpg poppler_qt4 libkdcraw libxslt fftw glew gsl
+    shared_desktop_ontologies okular libodfgen opencolorio openjpeg
+    libvisio kactivities mysql.lib postgresql freetds xbase openexr pstoedit
+    librevenge
+  ];
+
+  patches = [ ./librevenge.patch ];
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
   meta = {
-    description = "A Qt/KDE office suite, formely known as koffice";
+    description = "Calligra Suite is a set of applications written to help you to accomplish your work. Calligra includes efficient and capable office components: Words for text processing,  Sheets for computations, Stage for presentations, Plan for planning, Flow for flowcharts, Kexi for database creation, Krita for painting and raster drawing, and Karbon for vector graphics.";
     homepage = http://calligra.org;
     maintainers = with stdenv.lib.maintainers; [ urkud phreedom ];
     inherit (kdelibs.meta) platforms;
diff --git a/pkgs/applications/office/calligra/fix-kde4.10-build.patch b/pkgs/applications/office/calligra/fix-kde4.10-build.patch
deleted file mode 100644
index e41d6a28f9d..00000000000
--- a/pkgs/applications/office/calligra/fix-kde4.10-build.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From: Andre Woebbeking <Woebbeking@kde.org>
-Date: Sun, 13 Jan 2013 15:10:38 +0000
-Subject: compile with kdelibs 4.10 (tests are enabled by default)
-X-Git-Url: http://quickgit.kde.org/?p=calligra.git&a=commitdiff&h=39fdda6757cbbb35480dec98eac419eb1879cb31
----
-compile with kdelibs 4.10 (tests are enabled by default)
----
-
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -96,11 +96,6 @@
-     set(SHOULD_BUILD_ACTIVE FALSE)
- ENDIF()
- 
--if(KDE4_BUILD_TESTS)
--    # only with this definition will the FOO_TEST_EXPORT macro do something
--    add_definitions(-DCOMPILING_TESTS)
--endif(KDE4_BUILD_TESTS)
--
-  ########################
- #########################
- ## Look for KDE and Qt ##
-@@ -146,6 +141,11 @@
- endif(NOT ${KDE_VERSION} VERSION_GREATER 4.6.4)
- 
- macro_ensure_out_of_source_build("Compiling Calligra inside the source directory is not possible. Please refer to the build instruction http://community.kde.org/Calligra/Building/Building_Calligra")
-+
-+if(KDE4_BUILD_TESTS)
-+    # only with this definition will the FOO_TEST_EXPORT macro do something
-+    add_definitions(-DCOMPILING_TESTS)
-+endif(KDE4_BUILD_TESTS)
- 
-  ###########################
- ############################
-
diff --git a/pkgs/applications/office/calligra/librevenge.patch b/pkgs/applications/office/calligra/librevenge.patch
new file mode 100644
index 00000000000..ced0ff07407
--- /dev/null
+++ b/pkgs/applications/office/calligra/librevenge.patch
@@ -0,0 +1,882 @@
+From 8e8f99cc314435f100d367f41c110becd19d3885 Mon Sep 17 00:00:00 2001
+From: David Tardon <dtardon@redhat.com>
+Date: Tue, 27 May 2014 16:15:52 +0200
+Subject: [PATCH] switch to librevenge-based import libs
+
+---
+ CMakeLists.txt                                  | 10 ++++++
+ cmake/modules/FindLibEtonyek.cmake              |  6 ++--
+ cmake/modules/FindLibOdfGen.cmake               |  6 ++--
+ cmake/modules/FindLibRevenge.cmake              | 37 +++++++++++++++++++++
+ cmake/modules/FindLibVisio.cmake                |  6 ++--
+ cmake/modules/FindLibWpd.cmake                  | 22 +++----------
+ cmake/modules/FindLibWpg.cmake                  |  6 ++--
+ cmake/modules/FindLibWps.cmake                  |  6 ++--
+ filters/flow/visio/import/CMakeLists.txt        |  3 +-
+ filters/flow/visio/import/VSDXImport.cpp        |  9 ++---
+ filters/flow/wpg/import/CMakeLists.txt          |  3 +-
+ filters/flow/wpg/import/WPGImport.cpp           |  9 ++---
+ filters/karbon/wpg/CMakeLists.txt               |  4 +--
+ filters/karbon/wpg/WPGImport.cpp                | 39 ++++++++--------------
+ filters/libodfhandler/DiskDocumentHandler.cxx   | 13 ++++----
+ filters/libodfhandler/DiskDocumentHandler.hxx   |  8 ++---
+ filters/libodfhandler/OutputFileHelper.cxx      |  6 ++--
+ filters/libodfhandler/OutputFileHelper.hxx      |  9 ++---
+ filters/libodfhandler/StdOutHandler.cxx         | 13 ++++----
+ filters/libodfhandler/StdOutHandler.hxx         |  8 ++---
+ filters/stage/keynote/import/CMakeLists.txt     |  5 +--
+ filters/stage/keynote/import/KeyImport.cpp      | 15 +++++----
+ filters/words/wordperfect/import/CMakeLists.txt |  3 +-
+ filters/words/wordperfect/import/WPDImport.cpp  | 44 ++++++++++++++-----------
+ filters/words/works/import/CMakeLists.txt       |  3 +-
+ filters/words/works/import/WPSImport.cpp        | 18 +++++-----
+ 26 files changed, 177 insertions(+), 134 deletions(-)
+ create mode 100644 cmake/modules/FindLibRevenge.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5b6b764..c337864 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -697,6 +697,16 @@ macro_optional_find_package(Okular)
+ macro_log_feature(OKULAR_FOUND "Okular" "Okular ODP Plugin" "http://okular.kde.org/" FALSE "" "Required to build the Okular OpenDocument Presenter plugin")
+ 
+ ##
++## Test for librevenge
++##
++macro_optional_find_package(LibRevenge)
++macro_log_feature(LIBREVENGE_FOUND "LibRevenge"
++                  "A base library for writing document import filters"
++                  "http://sf.net/p/libwpd/librevenge/" FALSE ""
++                  "Required by various import filters"
++)
++
++##
+ ## Test for libodfgen
+ ##
+ macro_optional_find_package(LibOdfGen)
+diff --git a/cmake/modules/FindLibEtonyek.cmake b/cmake/modules/FindLibEtonyek.cmake
+index 5b78964..ad10d79 100644
+--- a/cmake/modules/FindLibEtonyek.cmake
++++ b/cmake/modules/FindLibEtonyek.cmake
+@@ -10,16 +10,16 @@
+ 
+ include(LibFindMacros)
+ libfind_package(LIBETONYEK LibWpd)
+-libfind_pkg_check_modules(LIBETONYEK_PKGCONF libetonyek-0.0)
++libfind_pkg_check_modules(LIBETONYEK_PKGCONF libetonyek-0.1)
+ 
+ find_path(LIBETONYEK_INCLUDE_DIR
+     NAMES libetonyek/libetonyek.h
+     HINTS ${LIBETONYEK_PKGCONF_INCLUDE_DIRS} ${LIBETONYEK_PKGCONF_INCLUDEDIR}
+-    PATH_SUFFIXES libetonyek-0.0
++    PATH_SUFFIXES libetonyek-0.1
+ )
+ 
+ find_library(LIBETONYEK_LIBRARY
+-    NAMES etonyek etonyek-0.0
++    NAMES etonyek etonyek-0.1
+     HINTS ${LIBETONYEK_PKGCONF_LIBRARY_DIRS} ${LIBETONYEK_PKGCONF_LIBDIR}
+ )
+ 
+diff --git a/cmake/modules/FindLibOdfGen.cmake b/cmake/modules/FindLibOdfGen.cmake
+index 9ab80d1..355c345 100644
+--- a/cmake/modules/FindLibOdfGen.cmake
++++ b/cmake/modules/FindLibOdfGen.cmake
+@@ -9,16 +9,16 @@
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ 
+ include(LibFindMacros)
+-libfind_pkg_check_modules(LIBODFGEN_PKGCONF libodfgen-0.0)
++libfind_pkg_check_modules(LIBODFGEN_PKGCONF libodfgen-0.1)
+ 
+ find_path(LIBODFGEN_INCLUDE_DIR
+     NAMES libodfgen/libodfgen.hxx
+     HINTS ${LIBODFGEN_PKGCONF_INCLUDE_DIRS} ${LIBODFGEN_PKGCONF_INCLUDEDIR}
+-    PATH_SUFFIXES libodfgen-0.0
++    PATH_SUFFIXES libodfgen-0.1
+ )
+ 
+ find_library(LIBODFGEN_LIBRARY
+-    NAMES odfgen-0.0
++    NAMES odfgen-0.1
+     HINTS ${LIBODFGEN_PKGCONF_LIBRARY_DIRS} ${LIBODFGEN_PKGCONF_LIBDIR}
+ )
+ 
+diff --git a/cmake/modules/FindLibRevenge.cmake b/cmake/modules/FindLibRevenge.cmake
+new file mode 100644
+index 0000000..8ed18b1
+--- /dev/null
++++ b/cmake/modules/FindLibRevenge.cmake
+@@ -0,0 +1,37 @@
++# - Try to find the librevenge
++# Once done this will define
++#
++#  LIBREVENGE_FOUND - system has LIBREVENGE
++#  LIBREVENGE_INCLUDE_DIRS - the LIBREVENGE include directory
++#  LIBREVENGE_LIBRARIES - Link these to use LIBREVENGE
++#  LIBREVENGE_DEFINITIONS - Compiler switches required for using LIBREVENGE
++#
++
++include(LibFindMacros)
++libfind_pkg_check_modules(REVENGE_PKGCONF librevenge-0.0)
++
++find_path(REVENGE_INCLUDE_DIR
++    NAMES librevenge/librevenge.h
++    HINTS ${REVENGE_PKGCONF_INCLUDE_DIRS} ${REVENGE_PKGCONF_INCLUDEDIR}
++    PATH_SUFFIXES librevenge-0.0
++)
++
++find_path(REVENGE_STREAM_INCLUDE_DIR
++    NAMES librevenge-stream/librevenge-stream.h
++    HINTS ${REVENGE_STREAM_PKGCONF_INCLUDE_DIRS} ${REVENGE_STREAM_PKGCONF_INCLUDEDIR}
++    PATH_SUFFIXES librevenge-0.0
++)
++
++find_library(REVENGE_LIBRARY
++    NAMES revenge librevenge revenge-0.0 librevenge-0.0
++    HINTS ${REVENGE_STREAM_PKGCONF_LIBRARY_DIRS} ${REVENGE_STREAM_PKGCONF_LIBDIR}
++)
++
++find_library(REVENGE_STREAM_LIBRARY
++    NAMES revenge-stream librevenge-stream revenge-stream-0.0 librevenge-stream-0.0
++    HINTS ${REVENGE_PKGCONF_LIBRARY_DIRS} ${REVENGE_PKGCONF_LIBDIR}
++)
++
++set(LIBREVENGE_PROCESS_LIBS REVENGE_LIBRARY REVENGE_STREAM_LIBRARY)
++set(LIBREVENGE_PROCESS_INCLUDES REVENGE_INCLUDE_DIR REVENGE_STREAM_INCLUDE_DIR)
++libfind_process(LIBREVENGE)
+diff --git a/cmake/modules/FindLibVisio.cmake b/cmake/modules/FindLibVisio.cmake
+index a8533ee..49871b3 100644
+--- a/cmake/modules/FindLibVisio.cmake
++++ b/cmake/modules/FindLibVisio.cmake
+@@ -12,16 +12,16 @@
+ include(LibFindMacros)
+ libfind_package(LIBWPD LibWpd)
+ libfind_package(LIBWPG LibWpg)
+-libfind_pkg_check_modules(LIBVISIO_PKGCONF libvisio-0.0)
++libfind_pkg_check_modules(LIBVISIO_PKGCONF libvisio-0.1)
+ 
+ find_path(LIBVISIO_INCLUDE_DIR
+     NAMES libvisio/libvisio.h
+     HINTS ${LIBVISIO_PKGCONF_INCLUDE_DIRS} ${LIBVISIO_PKGCONF_INCLUDEDIR}
+-    PATH_SUFFIXES libvisio-0.0
++    PATH_SUFFIXES libvisio-0.1
+ )
+ 
+ find_library(LIBVISIO_LIBRARY
+-    NAMES visio visio-0.0
++    NAMES visio visio-0.1
+     HINTS ${LIBVISIO_PKGCONF_LIBRARY_DIRS} ${LIBVISIO_PKGCONF_LIBDIR}
+ )
+ 
+diff --git a/cmake/modules/FindLibWpd.cmake b/cmake/modules/FindLibWpd.cmake
+index 2a324cc..ed9bc26 100644
+--- a/cmake/modules/FindLibWpd.cmake
++++ b/cmake/modules/FindLibWpd.cmake
+@@ -8,31 +8,19 @@
+ #
+ 
+ include(LibFindMacros)
+-libfind_pkg_check_modules(WPD_PKGCONF libwpd-0.9)
+-libfind_pkg_check_modules(WPD_STREAM_PKGCONF libwpd-stream-0.9)
++libfind_pkg_check_modules(WPD_PKGCONF libwpd-0.10)
+ 
+ find_path(WPD_INCLUDE_DIR
+     NAMES libwpd/libwpd.h
+     HINTS ${WPD_PKGCONF_INCLUDE_DIRS} ${WPD_PKGCONF_INCLUDEDIR}
+-    PATH_SUFFIXES libwpd-0.9
+-)
+-
+-find_path(WPD_STREAM_INCLUDE_DIR
+-    NAMES libwpd-stream/libwpd-stream.h
+-    HINTS ${WPD_STREAM_PKGCONF_INCLUDE_DIRS} ${WPD_STREAM_PKGCONF_INCLUDEDIR}
+-    PATH_SUFFIXES libwpd-0.9
++    PATH_SUFFIXES libwpd-0.10
+ )
+ 
+ find_library(WPD_LIBRARY
+-    NAMES wpd libwpd wpd-0.9 libwpd-0.9
++    NAMES wpd libwpd wpd-0.10 libwpd-0.10
+     HINTS ${WPD_PKGCONF_LIBRARY_DIRS} ${WPD_PKGCONF_LIBDIR}
+ )
+ 
+-find_library(WPD_STREAM_LIBRARY
+-    NAMES wpd-stream libwpd-stream wpd-stream-0.9 libwpd-stream-0.9
+-    HINTS ${WPD_STREAM_PKGCONF_LIBRARY_DIRS} ${WPD_STREAM_PKGCONF_LIBDIR}
+-)
+-
+-set(LIBWPD_PROCESS_LIBS WPD_LIBRARY WPD_STREAM_LIBRARY)
+-set(LIBWPD_PROCESS_INCLUDES WPD_INCLUDE_DIR WPD_STREAM_INCLUDE_DIR)
++set(LIBWPD_PROCESS_LIBS WPD_LIBRARY)
++set(LIBWPD_PROCESS_INCLUDES WPD_INCLUDE_DIR)
+ libfind_process(LIBWPD)
+diff --git a/cmake/modules/FindLibWpg.cmake b/cmake/modules/FindLibWpg.cmake
+index 56d9302..16c2a1c 100644
+--- a/cmake/modules/FindLibWpg.cmake
++++ b/cmake/modules/FindLibWpg.cmake
+@@ -11,16 +11,16 @@
+ 
+ include(LibFindMacros)
+ libfind_package(LIBWPG LibWpd)
+-libfind_pkg_check_modules(LIBWPG_PKGCONF libwpg-0.2)
++libfind_pkg_check_modules(LIBWPG_PKGCONF libwpg-0.3)
+ 
+ find_path(LIBWPG_INCLUDE_DIR
+     NAMES libwpg/libwpg.h
+     HINTS ${LIBWPG_PKGCONF_INCLUDE_DIRS} ${LIBWPG_PKGCONF_INCLUDEDIR}
+-    PATH_SUFFIXES libwpg-0.2
++    PATH_SUFFIXES libwpg-0.3
+ )
+ 
+ find_library(LIBWPG_LIBRARY
+-    NAMES wpg wpg-0.2
++    NAMES wpg wpg-0.3
+     HINTS ${LIBWPG_PKGCONF_LIBRARY_DIRS} ${LIBWPG_PKGCONF_LIBDIR}
+ )
+ 
+diff --git a/cmake/modules/FindLibWps.cmake b/cmake/modules/FindLibWps.cmake
+index 149f34c..f8c8225 100644
+--- a/cmake/modules/FindLibWps.cmake
++++ b/cmake/modules/FindLibWps.cmake
+@@ -10,16 +10,16 @@
+ 
+ include(LibFindMacros)
+ libfind_package(LIBWPS LibWpd)
+-libfind_pkg_check_modules(LIBWPS_PKGCONF libwps-0.2)
++libfind_pkg_check_modules(LIBWPS_PKGCONF libwps-0.3)
+ 
+ find_path(LIBWPS_INCLUDE_DIR
+     NAMES libwps/libwps.h
+     HINTS ${LIBWPS_PKGCONF_INCLUDE_DIRS} ${LIBWPS_PKGCONF_INCLUDEDIR}
+-    PATH_SUFFIXES libwps-0.2
++    PATH_SUFFIXES libwps-0.3
+ )
+ 
+ find_library(LIBWPS_LIBRARY
+-    NAMES wps wps-0.2
++    NAMES wps wps-0.3
+     HINTS ${LIBWPS_PKGCONF_LIBRARY_DIRS} ${LIBWPS_PKGCONF_LIBDIR}
+ )
+ 
+diff --git a/filters/flow/visio/import/CMakeLists.txt b/filters/flow/visio/import/CMakeLists.txt
+index 1de4385..4c2a391 100644
+--- a/filters/flow/visio/import/CMakeLists.txt
++++ b/filters/flow/visio/import/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ include_directories(
+     ../../../libodfhandler/
+     ${LIBODFGEN_INCLUDE_DIRS}
++    ${LIBREVENGE_INCLUDE_DIRS}
+     ${LIBVISIO_INCLUDE_DIRS}
+     ${KOMAIN_INCLUDES}
+ )
+@@ -15,7 +16,7 @@ set(vsdx2odg_PART_SRCS
+ 
+ kde4_add_plugin(calligra_filter_vsdx2odg ${vsdx2odg_PART_SRCS})
+ 
+-target_link_libraries(calligra_filter_vsdx2odg komain ${LIBODFGEN_LIBRARIES} ${LIBVISIO_LIBRARIES})
++target_link_libraries(calligra_filter_vsdx2odg komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBVISIO_LIBRARIES})
+ 
+ install(TARGETS calligra_filter_vsdx2odg DESTINATION ${PLUGIN_INSTALL_DIR})
+ install(FILES calligra_filter_vsdx2odg.desktop DESTINATION ${SERVICES_INSTALL_DIR})
+diff --git a/filters/flow/visio/import/VSDXImport.cpp b/filters/flow/visio/import/VSDXImport.cpp
+index 70a54d9..eb3a208 100644
+--- a/filters/flow/visio/import/VSDXImport.cpp
++++ b/filters/flow/visio/import/VSDXImport.cpp
+@@ -17,7 +17,7 @@
+ #include "VSDXImport.h"
+ 
+ #include <libvisio/libvisio.h>
+-#include <libodfgen/OdgGenerator.hxx>
++#include <libodfgen/libodfgen.hxx>
+ 
+ #include "OutputFileHelper.hxx"
+ #include <KoFilterChain.h>
+@@ -39,7 +39,7 @@ public:
+     ~OdgOutputFileHelper() {}
+ 
+ private:
+-    bool _isSupportedFormat(WPXInputStream *input, const char * /* password */)
++    bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char * /* password */)
+     {
+         if (!libvisio::VisioDocument::isSupported(input))
+         {
+@@ -49,9 +49,10 @@ private:
+         return true;
+     }
+ 
+-    bool _convertDocument(WPXInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType)
++    bool _convertDocument(librevenge::RVNGInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType)
+     {
+-        OdgGenerator exporter(handler, streamType);
++        OdgGenerator exporter;
++        exporter.addDocumentHandler(handler, streamType);
+         return libvisio::VisioDocument::parse(input, &exporter);
+     }
+ };
+diff --git a/filters/flow/wpg/import/CMakeLists.txt b/filters/flow/wpg/import/CMakeLists.txt
+index 524d1b1..e2ee2a5 100644
+--- a/filters/flow/wpg/import/CMakeLists.txt
++++ b/filters/flow/wpg/import/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ include_directories(
+     ../../../libodfhandler/
+     ${LIBODFGEN_INCLUDE_DIRS}
++    ${LIBREVENGE_INCLUDE_DIRS}
+     ${LIBVISIO_INCLUDE_DIRS}
+     ${KOMAIN_INCLUDES}
+ )
+@@ -15,7 +16,7 @@ set(wpg2odg_PART_SRCS
+ 
+ kde4_add_plugin(calligra_filter_wpg2odg ${wpg2odg_PART_SRCS})
+ 
+-target_link_libraries(calligra_filter_wpg2odg komain ${LIBODFGEN_LIBRARIES} ${LIBWPG_LIBRARIES})
++target_link_libraries(calligra_filter_wpg2odg komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBWPG_LIBRARIES})
+ 
+ install(TARGETS calligra_filter_wpg2odg DESTINATION ${PLUGIN_INSTALL_DIR})
+ install(FILES calligra_filter_wpg2odg.desktop DESTINATION ${SERVICES_INSTALL_DIR})
+diff --git a/filters/flow/wpg/import/WPGImport.cpp b/filters/flow/wpg/import/WPGImport.cpp
+index b4e0fa7..563ae6e 100644
+--- a/filters/flow/wpg/import/WPGImport.cpp
++++ b/filters/flow/wpg/import/WPGImport.cpp
+@@ -17,7 +17,7 @@
+ #include "WPGImport.h"
+ 
+ #include <libwpg/libwpg.h>
+-#include <libodfgen/OdgGenerator.hxx>
++#include <libodfgen/libodfgen.hxx>
+ 
+ #include "OutputFileHelper.hxx"
+ #include <KoFilterChain.h>
+@@ -39,7 +39,7 @@ public:
+     ~OdgOutputFileHelper() {}
+ 
+ private:
+-    bool _isSupportedFormat(WPXInputStream *input, const char * /* password */)
++    bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char * /* password */)
+     {
+         if (!libwpg::WPGraphics::isSupported(input))
+         {
+@@ -49,9 +49,10 @@ private:
+         return true;
+     }
+ 
+-    bool _convertDocument(WPXInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType)
++    bool _convertDocument(librevenge::RVNGInputStream *input, const char * /* password */, OdfDocumentHandler *handler, OdfStreamType streamType)
+     {
+-        OdgGenerator exporter(handler, streamType);
++        OdgGenerator exporter;
++        exporter.addDocumentHandler(handler, streamType);
+         return libwpg::WPGraphics::parse(input, &exporter);
+     }
+ };
+diff --git a/filters/karbon/wpg/CMakeLists.txt b/filters/karbon/wpg/CMakeLists.txt
+index 5f578e9..ffa7742 100644
+--- a/filters/karbon/wpg/CMakeLists.txt
++++ b/filters/karbon/wpg/CMakeLists.txt
+@@ -1,11 +1,11 @@
+ 
+-include_directories(${CMAKE_BINARY_DIR}/filters/ ${LIBWPD_INCLUDE_DIRS} ${LIBWPG_INCLUDE_DIR}/)
++include_directories(${CMAKE_BINARY_DIR}/filters/ ${LIBREVENGE_INCLUDE_DIRS} ${LIBWPG_INCLUDE_DIR}/)
+ 
+ set(wpg2svg_PART_SRCS WPGImport.cpp)
+ 
+ kde4_add_plugin(calligra_filter_wpg2svg ${wpg2svg_PART_SRCS})
+ 
+-target_link_libraries(calligra_filter_wpg2svg komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES} ${LIBWPD_LIBRARIES})
++target_link_libraries(calligra_filter_wpg2svg komain ${LIBWPG_LIBRARIES} ${LIBREVENGE_LIBRARIES})
+ 
+ install(TARGETS calligra_filter_wpg2svg DESTINATION ${PLUGIN_INSTALL_DIR})
+ install(FILES calligra_filter_wpg2svg.desktop DESTINATION ${SERVICES_INSTALL_DIR})
+diff --git a/filters/karbon/wpg/WPGImport.cpp b/filters/karbon/wpg/WPGImport.cpp
+index f1852ee..4457bec 100644
+--- a/filters/karbon/wpg/WPGImport.cpp
++++ b/filters/karbon/wpg/WPGImport.cpp
+@@ -32,14 +32,12 @@
+ #include <QString>
+ #include <QFile>
+ 
++#include <librevenge/librevenge.h>
++#include <librevenge-stream/librevenge-stream.h>
++
+ #include <libwpg/libwpg.h>
+-#if LIBWPG_VERSION_MINOR<2
+-#include <libwpg/WPGStreamImplementation.h>
+-#else
+-#include <libwpd-stream/libwpd-stream.h>
+-#include <libwpd/libwpd.h>
+-#endif
+ 
++#include <cassert>
+ #include <iostream>
+ 
+ K_PLUGIN_FACTORY(WPGImportFactory, registerPlugin<WPGImport>();)
+@@ -63,39 +61,29 @@ KoFilter::ConversionStatus WPGImport::convert(const QByteArray& from, const QByt
+     if (to != "image/svg+xml")
+         return KoFilter::NotImplemented;
+ 
+-#if LIBWPG_VERSION_MINOR<2
+-    WPXInputStream* input = new libwpg::WPGFileStream(m_chain->inputFile().toLocal8Bit());
+-    if (input->isOLEStream()) {
+-        WPXInputStream* olestream = input->getDocumentOLEStream();
+-        if (olestream) {
+-            delete input;
+-            input = olestream;
+-        }
+-    }
+-    libwpg::WPGString output;
+-#else
+-    WPXInputStream* input = new WPXFileStream(m_chain->inputFile().toLocal8Bit());
+-    if (input->isOLEStream()) {
+-        WPXInputStream* olestream = input->getDocumentOLEStream("Anything");
++    librevenge::RVNGInputStream* input = new librevenge::RVNGFileStream(m_chain->inputFile().toLocal8Bit());
++    if (input->isStructured()) {
++        librevenge::RVNGInputStream* olestream = input->getSubStreamByName("Anything");
+         if (olestream) {
+             delete input;
+             input = olestream;
+         }
+      }
+-     ::WPXString output;
+-#endif
+-
+     if (!libwpg::WPGraphics::isSupported(input)) {
+         kWarning() << "ERROR: Unsupported file format (unsupported version) or file is encrypted!";
+         delete input;
+         return KoFilter::NotImplemented;
+     }
+ 
+-    if (!libwpg::WPGraphics::generateSVG(input, output)) {
++     ::librevenge::RVNGStringVector output;
++     librevenge::RVNGSVGDrawingGenerator generator(output, "");
++
++    if (!libwpg::WPGraphics::parse(input, &generator)) {
+         kWarning() << "ERROR: SVG Generation failed!";
+         delete input;
+         return KoFilter::ParsingError;
+     }
++    assert(1 == output.size());
+ 
+     delete input;
+ 
+@@ -104,7 +92,8 @@ KoFilter::ConversionStatus WPGImport::convert(const QByteArray& from, const QByt
+         kWarning() << "ERROR: Could not open output file" << m_chain->outputFile();
+         return KoFilter::InternalError;
+     }
+-    outputFile.write(output.cstr());
++    outputFile.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n");
++    outputFile.write(output[0].cstr());
+     outputFile.close();
+ 
+     return KoFilter::OK;
+diff --git a/filters/libodfhandler/DiskDocumentHandler.cxx b/filters/libodfhandler/DiskDocumentHandler.cxx
+index e035fdc..f8ca273 100644
+--- a/filters/libodfhandler/DiskDocumentHandler.cxx
++++ b/filters/libodfhandler/DiskDocumentHandler.cxx
+@@ -37,7 +37,7 @@ DiskOdfDocumentHandler::DiskOdfDocumentHandler(FemtoZip *pOutput) :
+ {
+ }
+ 
+-void DiskOdfDocumentHandler::startElement(const char *psName, const WPXPropertyList &xPropList)
++void DiskOdfDocumentHandler::startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList)
+ {
+ 	if (mbIsTagOpened)
+ 	{
+@@ -46,11 +46,11 @@ void DiskOdfDocumentHandler::startElement(const char *psName, const WPXPropertyL
+ 	}
+ 	PUTSTRING("<");
+ 	PUTSTRING(psName);
+-	WPXPropertyList::Iter i(xPropList);
++	librevenge::RVNGPropertyList::Iter i(xPropList);
+ 	for (i.rewind(); i.next(); )
+ 	{
+-		// filter out libwpd elements
+-		if (strncmp(i.key(), "libwpd", 6) != 0)
++		// filter out librevenge properties
++		if (strncmp(i.key(), "librevenge", 10) != 0)
+ 		{
+ 			PUTSTRING(" ");
+ 			PUTSTRING(i.key());
+@@ -91,14 +91,15 @@ void DiskOdfDocumentHandler::endElement(const char *psName)
+ 	}
+ }
+ 
+-void DiskOdfDocumentHandler::characters(const WPXString &sCharacters)
++void DiskOdfDocumentHandler::characters(const librevenge::RVNGString &sCharacters)
+ {
+ 	if (mbIsTagOpened)
+ 	{
+ 		PUTSTRING(">");
+ 		mbIsTagOpened = false;
+ 	}
+-	WPXString sEscapedCharacters(sCharacters, true);
++	librevenge::RVNGString sEscapedCharacters;
++	sEscapedCharacters.appendEscapedXML(sCharacters);
+ 	if (sEscapedCharacters.len() > 0)
+ 		PUTSTRING(sEscapedCharacters.cstr());
+ }
+diff --git a/filters/libodfhandler/DiskDocumentHandler.hxx b/filters/libodfhandler/DiskDocumentHandler.hxx
+index 17f7eb7..d52a256 100644
+--- a/filters/libodfhandler/DiskDocumentHandler.hxx
++++ b/filters/libodfhandler/DiskDocumentHandler.hxx
+@@ -23,7 +23,7 @@
+ #ifndef _DISKDOCUMENTHANDLER_H
+ #define _DISKDOCUMENTHANDLER_H
+ 
+-#include <libodfgen/OdfDocumentHandler.hxx>
++#include <libodfgen/libodfgen.hxx>
+ 
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+@@ -45,9 +45,9 @@ public:
+ #endif
+ 	virtual void startDocument() {}
+ 	virtual void endDocument();
+-	virtual void startElement(const char *psName, const WPXPropertyList &xPropList);
++	virtual void startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList);
+ 	virtual void endElement(const char *psName);
+-	virtual void characters(const WPXString &sCharacters);
++	virtual void characters(const librevenge::RVNGString &sCharacters);
+ 
+ private:
+ 	DiskOdfDocumentHandler(DiskOdfDocumentHandler const &);
+@@ -58,7 +58,7 @@ private:
+ 	FemtoZip *mpOutput;
+ #endif
+ 	bool mbIsTagOpened;
+-	WPXString msOpenedTagName;
++	librevenge::RVNGString msOpenedTagName;
+ };
+ #endif
+ 
+diff --git a/filters/libodfhandler/OutputFileHelper.cxx b/filters/libodfhandler/OutputFileHelper.cxx
+index 8786d4c..61e48e9 100644
+--- a/filters/libodfhandler/OutputFileHelper.cxx
++++ b/filters/libodfhandler/OutputFileHelper.cxx
+@@ -37,7 +37,7 @@
+ 
+ #include "DiskDocumentHandler.hxx"
+ #include "StdOutHandler.hxx"
+-#include <libwpd-stream/WPXStreamImplementation.h>
++#include <librevenge-stream/librevenge-stream.h>
+ 
+ struct OutputFileHelperImpl
+ {
+@@ -197,12 +197,12 @@ bool OutputFileHelper::writeChildFile(const char *childFileName, const char *str
+ 
+ bool OutputFileHelper::writeConvertedContent(const char *childFileName, const char *inFileName, const OdfStreamType streamType)
+ {
+-	WPXFileStream input(inFileName);
++	librevenge::RVNGFileStream input(inFileName);
+ 
+ 	if (!_isSupportedFormat(&input, m_impl->mpPassword))
+ 		return false;
+ 
+-	input.seek(0, WPX_SEEK_SET);
++	input.seek(0, librevenge::RVNG_SEEK_SET);
+ 
+ 	OdfDocumentHandler *pHandler;
+ #ifdef USE_GSF_OUTPUT
+diff --git a/filters/libodfhandler/OutputFileHelper.hxx b/filters/libodfhandler/OutputFileHelper.hxx
+index a61b9a0..d2632a9 100644
+--- a/filters/libodfhandler/OutputFileHelper.hxx
++++ b/filters/libodfhandler/OutputFileHelper.hxx
+@@ -22,9 +22,10 @@
+ #ifndef _OUTPUTFILEHELPER_HXX
+ #define _OUTPUTFILEHELPER_HXX
+ 
+-#include <libodfgen/OdfDocumentHandler.hxx>
++#include <libodfgen/libodfgen.hxx>
++
++#include <librevenge-stream/librevenge-stream.h>
+ 
+-class WPXInputStream;
+ struct OutputFileHelperImpl;
+ 
+ class OutputFileHelper
+@@ -38,8 +39,8 @@ public:
+ 	bool writeConvertedContent(const char *childFileName, const char *inFileName, const OdfStreamType streamType);
+ 
+ private:
+-	virtual bool _isSupportedFormat(WPXInputStream *input, const char *password) = 0;
+-	virtual bool _convertDocument(WPXInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType) = 0;
++	virtual bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char *password) = 0;
++	virtual bool _convertDocument(librevenge::RVNGInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType) = 0;
+ 	OutputFileHelperImpl *m_impl;
+ 
+ private:
+diff --git a/filters/libodfhandler/StdOutHandler.cxx b/filters/libodfhandler/StdOutHandler.cxx
+index 6864266..16e19f0 100644
+--- a/filters/libodfhandler/StdOutHandler.cxx
++++ b/filters/libodfhandler/StdOutHandler.cxx
+@@ -31,7 +31,7 @@ StdOutHandler::StdOutHandler() :
+ 	printf("<?xml version=\"1.0\"?>\n");
+ }
+ 
+-void StdOutHandler::startElement(const char *psName, const WPXPropertyList &xPropList)
++void StdOutHandler::startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList)
+ {
+ 	if (mbIsTagOpened)
+ 	{
+@@ -39,11 +39,11 @@ void StdOutHandler::startElement(const char *psName, const WPXPropertyList &xPro
+ 		mbIsTagOpened = false;
+ 	}
+ 	printf("<%s", psName);
+-	WPXPropertyList::Iter i(xPropList);
++	librevenge::RVNGPropertyList::Iter i(xPropList);
+ 	for (i.rewind(); i.next(); )
+ 	{
+-		// filter out libwpd elements
+-		if (strncmp(i.key(), "libwpd", 6) != 0)
++		// filter out librevenge properties
++		if (strncmp(i.key(), "librevenge", 10) != 0)
+ 			printf(" %s=\"%s\"", i.key(), i()->getStr().cstr());
+ 	}
+ 	mbIsTagOpened = true;
+@@ -73,15 +73,14 @@ void StdOutHandler::endElement(const char *psName)
+ 	}
+ }
+ 
+-void StdOutHandler::characters(const WPXString &sCharacters)
++void StdOutHandler::characters(const librevenge::RVNGString &sCharacters)
+ {
+ 	if (mbIsTagOpened)
+ 	{
+ 		printf(">");
+ 		mbIsTagOpened = false;
+ 	}
+-	WPXString sEscapedCharacters(sCharacters, true);
+-	printf("%s", sEscapedCharacters.cstr());
++	printf("%s", librevenge::RVNGString::escapeXML(sCharacters).cstr());
+ }
+ 
+ void StdOutHandler::endDocument()
+diff --git a/filters/libodfhandler/StdOutHandler.hxx b/filters/libodfhandler/StdOutHandler.hxx
+index a18189a..44fa1e7 100644
+--- a/filters/libodfhandler/StdOutHandler.hxx
++++ b/filters/libodfhandler/StdOutHandler.hxx
+@@ -23,7 +23,7 @@
+ #ifndef _STDOUTHANDLER_H
+ #define _STDOUTHANDLER_H
+ 
+-#include <libodfgen/OdfDocumentHandler.hxx>
++#include <libodfgen/libodfgen.hxx>
+ 
+ class StdOutHandler : public OdfDocumentHandler
+ {
+@@ -31,12 +31,12 @@ public:
+ 	StdOutHandler();
+ 	virtual void startDocument() {}
+ 	virtual void endDocument();
+-	virtual void startElement(const char *psName, const WPXPropertyList &xPropList);
++	virtual void startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList);
+ 	virtual void endElement(const char *psName);
+-	virtual void characters(const WPXString &sCharacters);
++	virtual void characters(const librevenge::RVNGString &sCharacters);
+ private:
+ 	bool mbIsTagOpened;
+-	WPXString msOpenedTagName;
++	librevenge::RVNGString msOpenedTagName;
+ };
+ #endif
+ 
+diff --git a/filters/words/wordperfect/import/CMakeLists.txt b/filters/words/wordperfect/import/CMakeLists.txt
+index 6a0e2d7..ffb3c70 100644
+--- a/filters/words/wordperfect/import/CMakeLists.txt
++++ b/filters/words/wordperfect/import/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ include_directories(
+     ../../../libodfhandler/
+     ${LIBODFGEN_INCLUDE_DIRS}
++    ${LIBREVENGE_INCLUDE_DIRS}
+     ${LIBWPD_INCLUDE_DIRS}
+     ${LIBWPG_INCLUDE_DIRS}
+     ${KOMAIN_INCLUDES}
+@@ -17,7 +18,7 @@ set(wpd2odt_PART_SRCS
+ kde4_add_plugin(calligra_filter_wpd2odt ${wpd2odt_PART_SRCS})
+ 
+ target_link_libraries(calligra_filter_wpd2odt
+-    komain ${LIBODFGEN_LIBRARIES} ${LIBWPD_LIBRARIES} ${LIBWPG_LIBRARIES})
++    komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBWPD_LIBRARIES} ${LIBWPG_LIBRARIES})
+ 
+ install(TARGETS calligra_filter_wpd2odt DESTINATION ${PLUGIN_INSTALL_DIR})
+ 
+diff --git a/filters/words/wordperfect/import/WPDImport.cpp b/filters/words/wordperfect/import/WPDImport.cpp
+index af9d9b6..edf1c91 100644
+--- a/filters/words/wordperfect/import/WPDImport.cpp
++++ b/filters/words/wordperfect/import/WPDImport.cpp
+@@ -18,8 +18,7 @@
+ 
+ #include <libwpd/libwpd.h>
+ #include <libwpg/libwpg.h>
+-#include <libodfgen/OdtGenerator.hxx>
+-#include <libodfgen/OdgGenerator.hxx>
++#include <libodfgen/libodfgen.hxx>
+ 
+ #include <OutputFileHelper.hxx>
+ #include <KoFilterChain.h>
+@@ -31,6 +30,7 @@
+ #include <QString>
+ #include <QByteArray>
+ 
++#include <cassert>
+ #include <stdio.h>
+ 
+ class OdtOutputFileHelper : public OutputFileHelper
+@@ -41,20 +41,20 @@ public:
+     ~OdtOutputFileHelper() {};
+ 
+ private:
+-    bool _isSupportedFormat(WPXInputStream *input, const char *password)
++    bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char *password)
+     {
+-        WPDConfidence confidence = WPDocument::isFileFormatSupported(input);
+-        if (WPD_CONFIDENCE_EXCELLENT != confidence && WPD_CONFIDENCE_SUPPORTED_ENCRYPTION != confidence)
++        libwpd::WPDConfidence confidence = libwpd::WPDocument::isFileFormatSupported(input);
++        if (libwpd::WPD_CONFIDENCE_EXCELLENT != confidence && libwpd::WPD_CONFIDENCE_SUPPORTED_ENCRYPTION != confidence)
+         {
+             fprintf(stderr, "ERROR: We have no confidence that you are giving us a valid WordPerfect document.\n");
+             return false;
+         }
+-        if (WPD_CONFIDENCE_SUPPORTED_ENCRYPTION == confidence && !password)
++        if (libwpd::WPD_CONFIDENCE_SUPPORTED_ENCRYPTION == confidence && !password)
+         {
+             fprintf(stderr, "ERROR: The WordPerfect document is encrypted and you did not give us a password.\n");
+             return false;
+         }
+-        if (confidence == WPD_CONFIDENCE_SUPPORTED_ENCRYPTION && password && (WPD_PASSWORD_MATCH_OK != WPDocument::verifyPassword(input, password)))
++        if (confidence == libwpd::WPD_CONFIDENCE_SUPPORTED_ENCRYPTION && password && (libwpd::WPD_PASSWORD_MATCH_OK != libwpd::WPDocument::verifyPassword(input, password)))
+         {
+             fprintf(stderr, "ERROR: The WordPerfect document is encrypted and we either\n");
+             fprintf(stderr, "ERROR: don't know how to decrypt it or the given password is wrong.\n");
+@@ -64,41 +64,47 @@ private:
+         return true;
+     }
+ 
+-    static bool handleEmbeddedWPGObject(const WPXBinaryData &data, OdfDocumentHandler *pHandler,  const OdfStreamType streamType)
++    static bool handleEmbeddedWPGObject(const librevenge::RVNGBinaryData &data, OdfDocumentHandler *pHandler,  const OdfStreamType streamType)
+     {
+-        OdgGenerator exporter(pHandler, streamType);
++        OdgGenerator exporter;
++        exporter.addDocumentHandler(pHandler, streamType);
+ 
+         libwpg::WPGFileFormat fileFormat = libwpg::WPG_AUTODETECT;
+ 
+-        if (!libwpg::WPGraphics::isSupported(const_cast<WPXInputStream *>(data.getDataStream())))
++        if (!libwpg::WPGraphics::isSupported(const_cast<librevenge::RVNGInputStream *>(data.getDataStream())))
+             fileFormat = libwpg::WPG_WPG1;
+ 
+-        return libwpg::WPGraphics::parse(const_cast<WPXInputStream *>(data.getDataStream()), &exporter, fileFormat);
++        return libwpg::WPGraphics::parse(const_cast<librevenge::RVNGInputStream *>(data.getDataStream()), &exporter, fileFormat);
+     }
+ 
+-    static bool handleEmbeddedWPGImage(const WPXBinaryData &input, WPXBinaryData &output)
++    static bool handleEmbeddedWPGImage(const librevenge::RVNGBinaryData &input, librevenge::RVNGBinaryData &output)
+     {
+-        WPXString svgOutput;
+         libwpg::WPGFileFormat fileFormat = libwpg::WPG_AUTODETECT;
+ 
+-        if (!libwpg::WPGraphics::isSupported(const_cast<WPXInputStream *>(input.getDataStream())))
++        if (!libwpg::WPGraphics::isSupported(const_cast<librevenge::RVNGInputStream *>(input.getDataStream())))
+             fileFormat = libwpg::WPG_WPG1;
+ 
+-        if (!libwpg::WPGraphics::generateSVG(const_cast<WPXInputStream *>(input.getDataStream()), svgOutput, fileFormat))
++        librevenge::RVNGStringVector svgOutput;
++        librevenge::RVNGSVGDrawingGenerator generator(svgOutput, "");
++        if (!libwpg::WPGraphics::parse(const_cast<librevenge::RVNGInputStream *>(input.getDataStream()), &generator, fileFormat))
+             return false;
++        assert(1 == svgOutput.size());
+ 
+         output.clear();
+-        output.append((unsigned char *)svgOutput.cstr(), strlen(svgOutput.cstr()));
++        const librevenge::RVNGString svgPrefix("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n");
++        output.append((unsigned char *)svgPrefix.cstr(), svgPrefix.size());
++        output.append((unsigned char *)svgOutput[0].cstr(), svgOutput[0].size());
+ 
+         return true;
+     }
+ 
+-    bool _convertDocument(WPXInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType)
++    bool _convertDocument(librevenge::RVNGInputStream *input, const char *password, OdfDocumentHandler *handler, const OdfStreamType streamType)
+     {
+-        OdtGenerator collector(handler, streamType);
++        OdtGenerator collector;
++        collector.addDocumentHandler(handler, streamType);
+         collector.registerEmbeddedObjectHandler("image/x-wpg", &handleEmbeddedWPGObject);
+         collector.registerEmbeddedImageHandler("image/x-wpg", &handleEmbeddedWPGImage);
+-        if (WPD_OK == WPDocument::parse(input, &collector, password))
++        if (libwpd::WPD_OK == libwpd::WPDocument::parse(input, &collector, password))
+             return true;
+         return false;
+     }
+diff --git a/filters/words/works/import/CMakeLists.txt b/filters/words/works/import/CMakeLists.txt
+index 76317ae..2c51937 100644
+--- a/filters/words/works/import/CMakeLists.txt
++++ b/filters/words/works/import/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ include_directories(
+     ../../../libodfhandler/
+     ${LIBODFGEN_INCLUDE_DIRS}
++    ${LIBREVENGE_INCLUDE_DIRS}
+     ${LIBWPS_INCLUDE_DIRS}
+     ${KOMAIN_INCLUDES}
+ )
+@@ -15,7 +16,7 @@ set(wps2odt_PART_SRCS
+ 
+ kde4_add_plugin(calligra_filter_wps2odt ${wps2odt_PART_SRCS})
+ 
+-target_link_libraries(calligra_filter_wps2odt komain ${LIBODFGEN_LIBRARIES} ${LIBWPS_LIBRARIES})
++target_link_libraries(calligra_filter_wps2odt komain ${LIBODFGEN_LIBRARIES} ${LIBREVENGE_LIBRARIES} ${LIBWPS_LIBRARIES})
+ 
+ install(TARGETS calligra_filter_wps2odt DESTINATION ${PLUGIN_INSTALL_DIR})
+ install(FILES calligra_filter_wps2odt.desktop DESTINATION ${SERVICES_INSTALL_DIR})
+diff --git a/filters/words/works/import/WPSImport.cpp b/filters/words/works/import/WPSImport.cpp
+index c2058e5..545daf3 100644
+--- a/filters/words/works/import/WPSImport.cpp
++++ b/filters/words/works/import/WPSImport.cpp
+@@ -16,9 +16,9 @@
+ 
+ #include "WPSImport.h"
+ 
+-#include <libwpd/libwpd.h>
++#include <librevenge/librevenge.h>
+ #include <libwps/libwps.h>
+-#include <libodfgen/OdtGenerator.hxx>
++#include <libodfgen/libodfgen.hxx>
+ 
+ #include "OutputFileHelper.hxx"
+ #include <KoFilterChain.h>
+@@ -40,10 +40,11 @@ public:
+     ~OdtOutputFileHelper() {};
+ 
+ private:
+-    bool _isSupportedFormat(WPXInputStream *input, const char * /* password */)
++    bool _isSupportedFormat(librevenge::RVNGInputStream *input, const char * /* password */)
+     {
+-        WPSConfidence confidence = WPSDocument::isFileFormatSupported(input);
+-        if (confidence == WPS_CONFIDENCE_NONE || confidence == WPS_CONFIDENCE_POOR)
++        libwps::WPSKind kind = libwps::WPS_TEXT;
++        libwps::WPSConfidence confidence = libwps::WPSDocument::isFileFormatSupported(input, kind);
++        if ((libwps::WPS_TEXT != kind) || (confidence != libwps::WPS_CONFIDENCE_EXCELLENT))
+         {
+             fprintf(stderr, "ERROR: We have no confidence that you are giving us a valid Microsoft Works document.\n");
+             return false;
+@@ -52,10 +53,11 @@ private:
+         return true;
+     }
+ 
+-    bool _convertDocument(WPXInputStream *input, const char * /* password */, OdfDocumentHandler *handler, const OdfStreamType streamType)
++    bool _convertDocument(librevenge::RVNGInputStream *input, const char * /* password */, OdfDocumentHandler *handler, const OdfStreamType streamType)
+     {
+-        OdtGenerator collector(handler, streamType);
+-        if (WPS_OK == WPSDocument::parse(input, &collector))
++        OdtGenerator collector;
++        collector.addDocumentHandler(handler, streamType);
++        if (libwps::WPS_OK == libwps::WPSDocument::parse(input, &collector))
+             return true;
+         return false;
+     }
+-- 
+1.9.3
+
+
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 8d6de404f98..3f3bedb546d 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
         --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
     done
+
+    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   # The following settings fix failures in the test suite. It's not required otherwise.
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 2b2fd87cf43..e82ce2d7b9e 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser
-, goffice, makeWrapper, gtk3, gnome_icon_theme
+, goffice, makeWrapper, gtk3, gnome_icon_theme, gnome3
 }:
 
 stdenv.mkDerivation rec {
-  name = "gnumeric-1.12.12";
+  name = "gnumeric-1.12.18";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
-    sha256 = "096i9x6b4i6x24vc4lsxx8fg2n2pjs2jb6x3bkg3ppa2c60w1jq0";
+    sha256 = "402224f858cfa4e91503ab1be0491fa3322713dabe56b6eae171def8b736d9e9";
   };
 
   preConfigure = ''sed -i 's/\(SUBDIRS.*\) doc/\1/' Makefile.in''; # fails when installing docs
@@ -23,7 +23,8 @@ stdenv.mkDerivation rec {
   preFixup = ''
     for f in "$out"/bin/gnumeric-*; do
       wrapProgram $f \
-        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+        --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
     done
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
diff --git a/pkgs/applications/office/hledger-interest/default.nix b/pkgs/applications/office/hledger-interest/default.nix
index 2cff99dcc27..393bc9cc4c7 100644
--- a/pkgs/applications/office/hledger-interest/default.nix
+++ b/pkgs/applications/office/hledger-interest/default.nix
@@ -1,14 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, Cabal, hledgerLib, mtl, time }:
+{ cabal, Cabal, Decimal, hledgerLib, mtl, time }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-interest";
-  version = "1.4.3";
-  sha256 = "1nj50zi4p6rs0nl4656rr0vkbh7kdi49z1l53nypfqs3rmjgicsn";
+  version = "1.4.4";
+  sha256 = "16knk1cwrpg5jn6vgcab7hqpjzg33ysz57x1f2glrmhhv1slmbfn";
   isLibrary = false;
   isExecutable = true;
-  buildDepends = [ Cabal hledgerLib mtl time ];
+  buildDepends = [ Cabal Decimal hledgerLib mtl time ];
   meta = {
     homepage = "http://github.com/peti/hledger-interest";
     description = "computes interest for a given account";
diff --git a/pkgs/applications/office/hledger-irr/default.nix b/pkgs/applications/office/hledger-irr/default.nix
index e6a7b2a72c2..6274797f609 100644
--- a/pkgs/applications/office/hledger-irr/default.nix
+++ b/pkgs/applications/office/hledger-irr/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "computes the internal rate of return of an investment";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
+    broken = true;
   };
 })
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 007e093378d..8ab2d8fedcc 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,7 +2,7 @@
 
 let
    download_root = "http://homebank.free.fr/public/";
-   name = "homebank-4.5.5";
+   name = "homebank-5.0.0";
    lastrelease = download_root + name + ".tar.gz";
    oldrelease = download_root + "old/" + name + ".tar.gz";
 in
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     urls = [ lastrelease oldrelease ];
-    sha256 = "05k4497qsb6fzr662h9yxz1amsavd287wh0sabrpr9jdbh3jcfkg";
+    sha256 = "062r61ryn2v1sxyw6zymhxnvnhk19wsr4nyzmiiwx5wrk0nk9m18";
   };
 
   buildInputs = [ pkgconfig gtk libofx intltool ];
diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix
index fad2167fb7a..8cc7e9b3253 100644
--- a/pkgs/applications/office/impressive/default.nix
+++ b/pkgs/applications/office/impressive/default.nix
@@ -2,7 +2,7 @@
 , xpdf, pil, pyopengl, pygame
 , setuptools, mesa, freeglut }:
 
-let version = "0.10.3";
+let version = "0.10.5";
 in
  stdenv.mkDerivation {
     # This project was formerly known as KeyJNote.
@@ -12,7 +12,7 @@ in
 
     src = fetchurl {
       url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
-      sha256 = "0ppr9bckswpi3gav56dhrk91ibxvqbfhpxmm0zikzpxhdlvnaj5v";
+      sha256 = "0fz1zahxlfjang53wn06svy4s4aw28c79v24gwadvjvv3h1g5wam";
     };
 
     # Note: We need to have `setuptools' in the path to be able to use
@@ -73,7 +73,7 @@ in
 
       license = stdenv.lib.licenses.gpl2;
 
-      maintainers = [ stdenv.lib.maintainers.ludo ];
+      maintainers = [ ];
       platforms = stdenv.lib.platforms.mesaPlatforms;
     };
   }
diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix
new file mode 100644
index 00000000000..5f32077104e
--- /dev/null
+++ b/pkgs/applications/office/jabref/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, makeWrapper, makeDesktopItem, ant, jdk, jre }:
+
+stdenv.mkDerivation rec {
+  version = "2.10";
+  name = "jabref-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/jabref/${version}/JabRef-${version}-src.tar.bz2";
+    sha256 = "09b57afcfeb1730b58a887dc28f0f4c803e9c00fade1f57245ab70e2a98ce6ad";
+  };
+
+  desktopItem = makeDesktopItem {
+    comment =  meta.description;
+    name = "jabref";
+    desktopName = "JabRef";
+    genericName = "Bibliography manager";
+    categories = "Application;Office;";
+    icon = "jabref";
+    exec = "jabref";
+  };
+
+  buildInputs = [ ant jdk makeWrapper ];
+
+  buildPhase = ''ant'';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/java $out/share/icons
+    cp -r ${desktopItem}/share/applications $out/share/
+    cp build/lib/JabRef-${version}.jar $out/share/java/
+    cp src/images/JabRef-icon-mac.svg $out/share/icons/jabref.svg
+    makeWrapper ${jre}/bin/java $out/bin/jabref \
+      --add-flags "-jar $out/share/java/JabRef-${version}.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open source bibliography reference manager";
+    homepage = http://jabref.sourceforge.net;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.gebner ];
+  };
+}
diff --git a/pkgs/applications/office/kbibtex/default.nix b/pkgs/applications/office/kbibtex/default.nix
index ba0d719a049..b3e62b8e051 100644
--- a/pkgs/applications/office/kbibtex/default.nix
+++ b/pkgs/applications/office/kbibtex/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kdelibs, libxslt, popplerQt4 }:
+{ stdenv, fetchurl, kdelibs, libxslt, poppler_qt4 }:
 
 stdenv.mkDerivation rec {
   pname = "kbibtex";
@@ -14,5 +14,5 @@ stdenv.mkDerivation rec {
     sed -e '25i#include <QModelIndex>' -i src/gui/preferences/settingsabstractwidget.h
     '';
 
-  buildInputs = [ kdelibs libxslt popplerQt4 ];
+  buildInputs = [ kdelibs libxslt poppler_qt4 ];
 }
diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/3.0.nix
deleted file mode 100644
index 21f77ea1ea4..00000000000
--- a/pkgs/applications/office/ledger/3.0.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python
-, texinfo, gnused }:
-
-let
-  rev = "a0c5addbbd";
-in
-
-stdenv.mkDerivation {
-  name = "ledger-3.0.2.${rev}";
-
-  src = fetchgit {
-    url = "git://github.com/ledger/ledger.git";
-    inherit rev;
-    sha256 = "1yr4i8gpby67j4vl7xk109dwb14z8a424nwgva8rbms8115w4ps5";
-  };
-
-  buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ];
-
-  enableParallelBuilding = true;
-
-  # Skip byte-compiling of emacs-lisp files because this is currently
-  # broken in ledger...
-  postInstall = ''
-    mkdir -p $out/share/emacs/site-lisp/
-    cp -v "$src/lisp/"*.el $out/share/emacs/site-lisp/
-  '';
-
-  meta = {
-    homepage = "http://ledger-cli.org/";
-    description = "A double-entry accounting system with a command-line reporting interface";
-    license = "BSD";
-
-    longDescription = ''
-      Ledger is a powerful, double-entry accounting system that is accessed
-      from the UNIX command-line. This may put off some users, as there is
-      no flashy UI, but for those who want unparalleled reporting access to
-      their data, there really is no alternative.
-    '';
-
-    platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ simons the-kenny jwiegley ];
-  };
-}
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
new file mode 100644
index 00000000000..350bb4d713c
--- /dev/null
+++ b/pkgs/applications/office/ledger/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python
+, texinfo, gnused }:
+
+let
+  version = "3.1";
+in
+
+stdenv.mkDerivation {
+  name = "ledger-${version}";
+
+  # NOTE: fetchgit because ledger has submodules not included in the
+  # default github tarball.
+  src = fetchgit {
+    url = "https://github.com/ledger/ledger.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "1l5y4k830jyw7n1nnhssci3qahq091fj5cxcr77znk20nclz851s";
+  };
+
+  buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ];
+
+  enableParallelBuilding = true;
+
+  # Skip byte-compiling of emacs-lisp files because this is currently
+  # broken in ledger...
+  postInstall = ''
+    mkdir -p $out/share/emacs/site-lisp/
+    cp -v "$src/lisp/"*.el $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    homepage = "http://ledger-cli.org/";
+    description = "A double-entry accounting system with a command-line reporting interface";
+    license = stdenv.lib.licenses.bsd3;
+
+    longDescription = ''
+      Ledger is a powerful, double-entry accounting system that is accessed
+      from the UNIX command-line. This may put off some users, as there is
+      no flashy UI, but for those who want unparalleled reporting access to
+      their data, there really is no alternative.
+    '';
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ simons the-kenny jwiegley ];
+  };
+}
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 63d4db20af3..464b0016764 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -10,22 +10,22 @@
 , bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg
 , openssl, gperf, cppunit, GConf, ORBit2, poppler
-, librsvg, gnome_vfs, gstreamer, gst_plugins_base, mesa
+, librsvg, gnome_vfs, mesa
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus_glib, glibc, qt4, kde4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, saneBackends, mythes, libexttextcat, libvisio
 , fontsConf, pkgconfig, libzip, bluez5, libtool, maven
-, libatomic_ops, graphite2, harfbuzz
-, librevenge, libe-book, libmwaw, glm, glew
+, libatomic_ops, graphite2, harfbuzz, libodfgen
+, librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" ]
 }:
 
 let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
   major = "4";
-  minor = "3";
-  patch = "0";
-  tweak = "4";
+  minor = "4";
+  patch = "2";
+  tweak = "2";
   subdir = "${major}.${minor}.${patch}";
   version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
 
@@ -40,9 +40,9 @@ let
        sha256 = "10amvz7fzr1kcy3svfspkdykmspqgpjdmk44cyr406wi7v4lwnf9";
      };
 
-     configureFlags = "--with-boost=${boost}";
-
      buildInputs = [ boost mdds pkgconfig ];
+
+     configureFlags = [ "--with-boost=${boost.dev}" ];
   };
 
   fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
@@ -60,9 +60,10 @@ let
       (x: x.name == "${name}.tar.bz2")
       ("Error: update liborcus version inside LO expression")
       (import ./libreoffice-srcs.nix));
-    configureFlags = "--with-boost=${boost}";
 
-    buildInputs = [ boost mdds pkgconfig zlib libixion ];
+    buildInputs = [ boost mdds pkgconfig zlib /*libixion*/ ];
+
+    configureFlags = [ "--with-boost=${boost.dev}" ];
   };
 
   fetchSrc = {name, sha256}: fetchurl {
@@ -79,14 +80,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "1l445284mih0c7d6v3ps1piy5pbjvisyrjjvlrqizvwxqm7bxpr1";
+      sha256 = "0m1a09vzgh5mz0dgx2ji3fwmsqr7xymr0hhrrhf75nd1dr0blv2s";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0avsc11d4nmycsxvadr0xcd8z9506sjcc89hgmliqlmhmw48ax7y";
+      sha256 = "06i2c143dpqm4w1a9nba0gn1ayrvrhdrcm2kydzapvljgljqswkh";
     };
 
   };
@@ -96,7 +97,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1r605nwjdq20qd96chqic1bjkw7y36wmpg2lzzvv5sz6gw12rzi8";
+    sha256 = "0dif783zbh9qb4636mm055clwwsv8j6pmb8msi9lr183drnaw73x";
   };
 
   # Openoffice will open libcups dynamically, so we link it directly
@@ -113,9 +114,7 @@ stdenv.mkDerivation rec {
   '' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
   + ''
     ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
-    tar xf $sourceRoot/src/${srcs.help.name} -C $sourceRoot/../
-    ln -sv ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
-    tar xf $sourceRoot/src/${srcs.translations.name} -C $sourceRoot/../
+    ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
   '';
 
   patchPhase = ''
@@ -177,12 +176,19 @@ stdenv.mkDerivation rec {
 
     ln -s $out/lib/libreoffice/share/xdg $out/share/applications
     for f in $out/share/applications/*.desktop; do
-      substituteInPlace "$f" --replace "Exec=libreoffice4.0" "Exec=$out/bin/soffice"
+      substituteInPlace "$f" --replace "Exec=libreofficedev${major}.${minor}" "Exec=$out/bin/soffice"
+      substituteInPlace "$f" --replace "Exec=libreoffice${major}.${minor}" "Exec=$out/bin/soffice"
       substituteInPlace "$f" --replace "Exec=libreoffice" "Exec=$out/bin/soffice"
     done
+
+    mkdir -p "$out/share/desktop"
+    cp -r sysui/desktop/icons  "$out/share/desktop"
+    sed -re 's@Icon=libreofficedev[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
   '';
 
   configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.lib}/lib"
     "--with-vendor=NixOS"
 
     # Without these, configure does not finish
@@ -198,7 +204,6 @@ stdenv.mkDerivation rec {
     "--with-system-headers"
     "--with-system-openssl"
     "--with-system-openldap"
-    "--with-boost-libdir=${boost}/lib"
     "--without-system-libwps"  # TODO
     "--without-doxygen"
 
@@ -206,13 +211,12 @@ stdenv.mkDerivation rec {
     # Modified on every upgrade, though
     "--disable-kde"
     "--disable-postgresql-sdbc"
-    "--with-package-format=native"
+    "--with-package-format=installed"
     "--enable-epm"
-    "--with-jdk-home=${jdk}/lib/openjdk"
+    "--with-jdk-home=${jdk.home}"
     "--with-ant-home=${ant}/lib/ant"
     "--without-fonts"
     "--without-myspell-dicts"
-    "--without-ppds"
     "--without-system-beanshell"
     "--without-system-hsqldb"
     "--without-system-jars"
@@ -223,11 +227,16 @@ stdenv.mkDerivation rec {
 
     "--without-system-libetonyek"
     "--without-system-libfreehand"
-    "--without-system-libodfgen"
     "--without-system-libabw"
     "--without-system-firebird"
     "--without-system-liblangtag"
     "--without-system-libmspub"
+
+    "--without-system-libpagemaker"
+    "--without-system-coinmp"
+    "--without-system-libgltf"
+
+    "--without-system-orcus"
   ];
 
   checkPhase = ''
@@ -238,17 +247,18 @@ stdenv.mkDerivation rec {
   buildInputs = with xorg;
     [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
       CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
-      freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
+      freetype GConf getopt gnome_vfs gperf gtk
       hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs mesa mythes
+      libXdmcp libpthreadstubs mesa mythes gst_all_1.gstreamer 
+      gst_all_1.gst-plugins-base
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler
       python3 sablotron saneBackends tcsh unzip vigra which zip zlib
-      mdds bluez5 glibc libixion
+      mdds bluez5 glibc /*libixion*/
       libxshmfence libatomic_ops graphite2 harfbuzz
       librevenge libe-book libmwaw glm glew
-      liborcus
+      /*liborcus*/ libodfgen
     ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 4e7dacfe0a9..2cb20027b4c 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -1,7 +1,7 @@
 [
 {
-  name = "libabw-0.1.0.tar.bz2";
-  md5 = "9317e967c8fa8ff50e049744c4b33c87";
+  name = "libabw-0.1.1.tar.bz2";
+  md5 = "7a3815b506d064313ba309617b6f5a0b";
   brief = true;
 }
 {
@@ -35,6 +35,16 @@
   brief = false;
 }
 {
+  name = "commons-httpclient-3.1-src.tar.gz";
+  md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
+  brief = false;
+}
+{
+  name = "commons-logging-1.2-src.tar.gz";
+  md5 = "ce977548f1cbf46918e93cd38ac35163";
+  brief = true;
+}
+{
   name = "apr-1.4.8.tar.gz";
   md5 = "eff9d741b0999a9bbab96862dd2a2a3d";
   brief = true;
@@ -60,8 +70,8 @@
   brief = false;
 }
 {
-  name = "libcdr-0.1.0.tar.bz2";
-  md5 = "0e2f56934c8872ec4a254cd4bb1d7cf6";
+  name = "libcdr-0.1.1.tar.bz2";
+  md5 = "b33fd0be3befdd1b37777e08ce058bd9";
   brief = true;
 }
 {
@@ -70,8 +80,8 @@
   brief = false;
 }
 {
-  name = "libcmis-0.4.1.tar.gz";
-  md5 = "22f8a85daf4a012180322e1f52a7563b";
+  name = "libcmis-0.5.0.tar.gz";
+  md5 = "5821b806a98e6c38370970e682ce76e8";
   brief = false;
 }
 {
@@ -85,9 +95,9 @@
   brief = false;
 }
 {
-  name = "cppunit-1.13.1.tar.gz";
-  md5 = "ac4781e01619be13461bb2d562b94a7b";
-  brief = false;
+  name = "cppunit-1.13.2.tar.gz";
+  md5 = "d1c6bdd5a76c66d2c38331e2d287bc01";
+  brief = true;
 }
 {
   name = "ConvertTextToNumber-1.3.2.oxt";
@@ -100,8 +110,8 @@
   brief = true;
 }
 {
-  name = "libe-book-0.1.1.tar.bz2";
-  md5 = "c25a881d21abc5b4da19205db513cc22";
+  name = "libe-book-0.1.2.tar.bz2";
+  md5 = "6b48eda57914e6343efebc9381027b78";
   brief = true;
 }
 {
@@ -180,8 +190,8 @@
   brief = false;
 }
 {
-  name = "source-sans-font-1.036.tar.gz";
-  md5 = "1e9ddfe25ac9577da709d7b2ea36f939";
+  name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
+  md5 = "edc4d741888bc0d38e32dbaa17149596";
   brief = false;
 }
 {
@@ -220,13 +230,13 @@
   brief = false;
 }
 {
-  name = "hunspell-1.3.2.tar.gz";
-  md5 = "3121aaf3e13e5d88dfff13fb4a5f1ab8";
+  name = "hunspell-1.3.3.tar.gz";
+  md5 = "4967da60b23413604c9e563beacc63b4";
   brief = false;
 }
 {
-  name = "hyphen-2.8.4.tar.gz";
-  md5 = "a2f6010987e1c601274ab5d63b72c944";
+  name = "hyphen-2.8.8.tar.gz";
+  md5 = "5ade6ae2a99bc1e9e57031ca88d36dad";
   brief = false;
 }
 {
@@ -295,8 +305,13 @@
   brief = true;
 }
 {
-  name = "language-subtag-registry-2014-04-10.tar.bz2";
-  md5 = "49c94710f7858b1969d74ff72e6aac84";
+  name = "libjpeg-turbo-1.3.1.tar.gz";
+  md5 = "2c3a68129dac443a72815ff5bb374b05";
+  brief = true;
+}
+{
+  name = "language-subtag-registry-2014-12-03.tar.bz2";
+  md5 = "0f2677ec23bb43ddc7355d1b4cc8ed45";
   brief = true;
 }
 {
@@ -320,14 +335,14 @@
   brief = true;
 }
 {
-  name = "libexttextcat-3.4.3.tar.bz2";
-  md5 = "ae330b9493bd4503ac390106ff6060d7";
+  name = "libexttextcat-3.4.4.tar.bz2";
+  md5 = "10d61fbaa6a06348823651b1bd7940fe";
   brief = false;
 }
 {
-  name = "libgltf-0.0.0.tar.bz2";
-  md5 = "3d9ea1f2828c46f8ba94b88a87b3326d";
-  brief = false;
+  name = "libgltf-0.0.2.tar.bz2";
+  md5 = "d63a9f47ab048f5009d90693d6aa6424";
+  brief = true;
   subDir = "libgltf/";
 }
 {
@@ -356,18 +371,18 @@
   brief = false;
 }
 {
-  name = "mariadb-native-client-1.0.0.tar.bz2";
-  md5 = "05f84c95b610c21c5fd510d10debcabf";
+  name = "mariadb_client-2.0.0-src.tar.gz";
+  md5 = "a233181e03d3c307668b4c722d881661";
   brief = false;
 }
 {
-  name = "mdds_0.10.3.tar.bz2";
-  md5 = "aa5ca9d1ed1082890835afab26400a39";
+  name = "mdds_0.11.2.tar.bz2";
+  md5 = "cb4207cb913c7a5a8bfa5b91234618ee";
   brief = false;
 }
 {
-  name = "libmspub-0.1.1.tar.bz2";
-  md5 = "1d489c4932109e72495b1df8b69e5f11";
+  name = "libmspub-0.1.2.tar.bz2";
+  md5 = "ff9d0f9dd8fbc523408ea1953d5bde41";
   brief = true;
 }
 {
@@ -376,13 +391,13 @@
   brief = true;
 }
 {
-  name = "mysql-connector-c++-1.1.0.tar.gz";
-  md5 = "0981bda6548a8c8233ffce2b6e4b2a23";
+  name = "mysql-connector-c++-1.1.4.tar.gz";
+  md5 = "7239a4430efd4d0189c4f24df67f08e5";
   brief = false;
 }
 {
-  name = "mythes-1.2.3.tar.gz";
-  md5 = "46e92b68e31e858512b680b3b61dc4c1";
+  name = "mythes-1.2.4.tar.gz";
+  md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6";
   brief = false;
 }
 {
@@ -391,8 +406,8 @@
   brief = false;
 }
 {
-  name = "nss-3.15.3-with-nspr-4.10.2.tar.gz";
-  md5 = "06beb053e257d9e22641339c905c6eba";
+  name = "nss-3.16.5-with-nspr-4.10.6.tar.gz";
+  md5 = "b279551b7638d0e36d1199548124c247";
   brief = false;
 }
 {
@@ -411,9 +426,9 @@
   brief = false;
 }
 {
-  name = "openssl-1.0.1h.tar.gz";
-  md5 = "8d6d684a9430d5cc98a62a5d8fbda8cf";
-  brief = false;
+  name = "openssl-1.0.1j.tar.gz";
+  md5 = "f7175c9cd3c39bb1907ac8bba9df8ed3";
+  brief = true;
 }
 {
   name = "liborcus-0.7.0.tar.bz2";
@@ -421,6 +436,11 @@
   brief = false;
 }
 {
+  name = "libpagemaker-0.0.2.tar.bz2";
+  md5 = "795cc7a59ace4db2b12586971d668671";
+  brief = true;
+}
+{
   name = "pixman-0.24.4.tar.bz2";
   md5 = "c63f411b3ad147db2bcce1bf262a0e02";
   brief = false;
@@ -431,9 +451,9 @@
   brief = true;
 }
 {
-  name = "poppler-0.22.5.tar.gz";
-  md5 = "1cd27460f7e3379d1eb109cfd7bcdb39";
-  brief = false;
+  name = "poppler-0.26.4.tar.gz";
+  md5 = "35c0660065d023365e9854c13e289d12";
+  brief = true;
 }
 {
   name = "postgresql-9.2.1.tar.bz2";
@@ -461,8 +481,8 @@
   brief = false;
 }
 {
-  name = "librevenge-0.0.1.tar.bz2";
-  md5 = "69c367c6b0a360411965a1c409a0b6c1";
+  name = "librevenge-0.0.2.tar.bz2";
+  md5 = "2d4183bf17aea1a71842468a71a68c47";
   brief = true;
 }
 {
@@ -491,8 +511,8 @@
   brief = false;
 }
 {
-  name = "libvisio-0.1.0.tar.bz2";
-  md5 = "931588332ba44682c9cd5eefbd358ab4";
+  name = "libvisio-0.1.1.tar.bz2";
+  md5 = "726c1f5be65eb7d649e0d48b63d920e7";
   brief = true;
 }
 {
@@ -506,8 +526,8 @@
   brief = true;
 }
 {
-  name = "libwps-0.3.0.tar.bz2";
-  md5 = "d4d77d08b9048bae3b8ec8df11f80efd";
+  name = "libwps-0.3.1.tar.bz2";
+  md5 = "a111d9ef5a0dab564e9aec0f2cf8d218";
   brief = true;
 }
 {
@@ -520,4 +540,10 @@
   md5 = "44d667c142d7cda120332623eab69f40";
   brief = true;
 }
+{
+  name = "libgltf-0.0.0.tar.bz2";
+  md5 = "ca5436e916bfe70694adfe2607782786";
+  brief = true;
+  subDir = "libgltf/";
+}
 ]
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
new file mode 100644
index 00000000000..b0c3e58cfbb
--- /dev/null
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -0,0 +1,66 @@
+{ fetchurl, stdenv, dpkg, makeWrapper, which
+,gcc, xlibs, qt4, zlib
+, ...}:
+
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+let
+  arch32 = "i686-linux";
+  arch64 = "x86_64-linux";
+
+  arch = if stdenv.system == arch32
+    then "i386"
+    else "amd64";
+
+  shortVersion = "1.13.1-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 "21491da1608daf58da23e7e5eb7619b494b10192acc0f81575daff2a38720f50"
+    else "8db101b26dd2978e991421260a2e55d849014f64005930b2528080bbbaa78600";
+
+  deps = [
+    gcc.cc
+    qt4
+    xlibs.libX11
+    zlib
+  ];
+
+in
+
+stdenv.mkDerivation {
+  name = "mendeley-${version}";
+
+  src = fetchurl {
+    url = url;
+    sha256 = sha256;
+  };
+
+  buildInputs = [ dpkg makeWrapper which ];
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    dpkg-deb -x $src $out
+    mv $out/opt/mendeleydesktop/{bin,lib,plugins,share} $out
+
+    interpreter=$(patchelf --print-interpreter $(readlink -f $(which patchelf)))
+    patchelf --set-interpreter $interpreter $out/bin/mendeleydesktop
+
+    librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib:$out/lib/qt"
+    wrapProgram $out/bin/mendeleydesktop --prefix LD_LIBRARY_PATH : "$librarypath"
+  '';
+
+  dontStrip = true;
+  dontPatchElf = true;
+
+  meta = {
+    homepage = http://www.mendeley.com;
+    description = "A reference manager and academic social network";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix
new file mode 100644
index 00000000000..0c3297ccc93
--- /dev/null
+++ b/pkgs/applications/office/pinpoint/default.nix
@@ -0,0 +1,19 @@
+{ fetchurl, stdenv, pkgconfig, autoconf, automake, clutter, clutter-gst
+, gdk_pixbuf, cairo }:
+
+stdenv.mkDerivation rec {
+  name = "pinpoint-${version}";
+  version = "0.1.4";
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${name}.tar.bz2";
+    sha256 = "26df7ba171d13f697c30c272460989b0f1b45e70c797310878a589ed5a6a47de";
+  };
+  buildInputs = [ pkgconfig autoconf automake clutter clutter-gst gdk_pixbuf
+                  cairo ];
+
+  meta = {
+    homepage = https://wiki.gnome.org/action/show/Apps/Pinpoint;
+    description = "A tool for making hackers do excellent presentations";
+    license = stdenv.lib.licenses.lgpl21;
+  };
+}
diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix
index 4026031de08..d0d6fd136ef 100644
--- a/pkgs/applications/office/scribus/default.nix
+++ b/pkgs/applications/office/scribus/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2
 , libart_lgpl, qt4, python, cups, fontconfig, libjpeg
-, zlib, libpng, xorg, cairo, podofo, aspell, boostHeaders, cmake }:
+, zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "scribus-1.4.3";
+  name = "scribus-1.4.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/scribus/scribus/${name}.tar.xz";
-    sha256 = "1zxgl2g299rllfy5ihs5skicpv7zcmz149ahraami69gqcag6bn7";
+    sha256 = "1bhp09x8rgdhyq8b516226nn0p7pxd2arkfkf2vvvklca5arsfx4";
   };
 
   enableParallelBuilding = true;
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     [ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt4
       python cups fontconfig
       libjpeg zlib libpng podofo aspell cairo
-      boostHeaders # for internal 2geom library
+      boost # for internal 2geom library
       libXaw libXext libX11 libXtst libXi libXinerama
       libpthreadstubs libXau libXdmcp
     ];
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index dfb4c243c8c..52dd08e1e0d 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, kdelibs, grantlee, qca2, libofx, gettext }:
+{ stdenv, fetchurl, libxslt, kdelibs, kdepimlibs, grantlee, qjson, qca2, libofx, sqlite, gettext, boost }:
 
 stdenv.mkDerivation rec {
-  name = "skrooge-1.3.2";
+  name = "skrooge-1.10.0";
 
   src = fetchurl {
-    url = "http://skrooge.org/files/${name}.tar.bz2";
-    sha256 = "18j36yamxzfwpnnnjiach22q9088c2nlcilzh2p24gjhgnnd0v6r";
+    url = "http://download.kde.org/stable/skrooge/${name}.tar.bz2";
+    sha256 = "0rsw2xdgws5bvnf3h4hg16liahigcxgaxls7f8hzr9wipxx5xqda";
   };
 
-  buildInputs = [ kdelibs grantlee qca2 libofx ];
+  buildInputs = [ libxslt kdelibs kdepimlibs grantlee qjson qca2 libofx sqlite boost ];
 
   nativeBuildInputs = [ gettext ];
 
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     inherit (kdelibs.meta) platforms;
     description = "A personal finance manager for KDE";
     maintainers = [ stdenv.lib.maintainers.urkud ];
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/office/tagainijisho/default.nix b/pkgs/applications/office/tagainijisho/default.nix
new file mode 100644
index 00000000000..9283ee1274c
--- /dev/null
+++ b/pkgs/applications/office/tagainijisho/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, qt4, cmake, sqlite }:
+
+stdenv.mkDerivation {
+  name = "tagainijisho-1.0.3";
+  src = fetchurl {
+    url = https://github.com/Gnurou/tagainijisho/releases/download/1.0.3/tagainijisho-1.0.3.tar.gz;
+    sha256 = "0kmg1940yiqfm4vpifyj680283ids4nsij9s750nrshwxiwwbqvg";
+  };
+
+  buildInputs = [ qt4 cmake sqlite ];
+
+  meta = with stdenv.lib; {
+    description = "A free, open-source Japanese dictionary and kanji lookup tool";
+    homepage = http://www.tagaini.net/;
+    license = with licenses; [
+      /* program */ gpl3Plus
+      /* data */ cc-by-sa-30
+    ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
new file mode 100644
index 00000000000..ac8059fc1d1
--- /dev/null
+++ b/pkgs/applications/office/zim/default.nix
@@ -0,0 +1,105 @@
+{ stdenv, lib, fetchurl, buildPythonPackage, pythonPackages, pygtk, pygobject, python }:
+
+#
+# TODO: Declare configuration options for the following optional dependencies:
+#  -  File stores: hg, git, bzr
+#  -  Included plugins depenencies: dot, ditaa, dia, any other?
+#  -  pyxdg: Need to make it work first (see setupPyInstallFlags).
+#
+
+buildPythonPackage rec {
+  name = "zim-${version}";
+  version = "0.62";
+  namePrefix = "";
+  
+  src = fetchurl {
+    url = "http://zim-wiki.org/downloads/${name}.tar.gz";
+    sha256 = "1hmx24jjazqvs3z6h10jl8wrqxyvvk0wc807v222vaf1sbmjmmhr";
+  };
+
+  propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk /*pythonPackages.pyxdg*/ pygobject ];
+
+  preBuild = ''
+    mkdir -p /tmp/home
+    export HOME="/tmp/home"
+  '';
+  
+  setupPyInstallFlags = ["--skip-xdg-cmd"];
+  
+  #
+  # Exactly identical to buildPythonPackage's version but for the
+  # `--old-and-unmanagable`, which I removed. This was removed because
+  # this is a setuptools specific flag and as zim is overriding 
+  # the install step, setuptools could not perform its monkey
+  # patching trick for the command. Alternate solutions were to
+  #
+  #  -  Remove the custom install step (tested as working but
+  #	also remove the possibility of performing the xdg-cmd
+  #     stuff).
+  #  -  Explicitly replace distutils import(s) by their setuptools
+  #	equivalent (untested). 
+  #
+  # Both solutions were judged unsatisfactory as altering the code
+  # would be required.
+  #
+  # Note that a improved solution would be to expose the use of 
+  # the `--old-and-unmanagable` flag as an option of passed to the
+  # buildPythonPackage function.
+  #
+  # Also note that I stripped all comments.
+  #
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --prefix="$out" ${lib.concatStringsSep " " setupPyInstallFlags}
+
+    eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+    if [ -e "$eapth" ]; then
+	# move colliding easy_install.pth to specifically named one
+	mv "$eapth" $(dirname "$eapth")/${name}.pth
+    fi
+
+    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+    runHook postInstall
+  '';
+
+  # FIXME: this is quick and dirty hack, because zim expects the
+  # path to the executable in argv[0] therefore the wrapper is
+  # modified accordingly.
+  postFixup = ''
+    wrapProgram "$out/bin/zim" \
+      --prefix XDG_DATA_DIRS : "$out/share"
+
+    wrapPythonPrograms
+
+    sed -i "s#sys\.argv\[0\] = '.zim-wrapped'#sys.argv[0] = '$out/bin/zim'#g" \
+      $out/bin/..zim-wrapped-wrapped
+
+    if test -e $out/nix-support/propagated-build-inputs; then
+        ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+    fi
+
+    createBuildInputsPth build-inputs "$buildInputStrings"
+    for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
+      if test -e $out/nix-support/$inputsfile; then
+          createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
+      fi
+    done
+  '';
+  
+  # Testing fails.
+  doCheck = false;
+
+  meta = {
+      description = "A desktop wiki";
+      homepage = http://zim-wiki.org;
+      license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 0a5ef909904..9283072c0c1 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -1,30 +1,68 @@
-{ stdenv, fetchurl, bash, xulrunner }:
-
-assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
+{ stdenv, fetchurl, bash, firefox, perl, unzipNLS, xlibs }:
 
 let
-  version = "4.0.21.2";
-  arch = if stdenv.system == "x86_64-linux"
-           then "linux-x86_64"
-           else "linux-i686";
+
+  xpi = fetchurl {
+    url = "https://download.zotero.org/extension/zotero-${version}.xpi";
+    sha256 = "15wdbwnaxs748psjnxw40wld45npjjmvwx70c0jx2p63y6ks2gcx";
+  };
+
+  version = "4.0.26";
+
 in
 stdenv.mkDerivation {
   name = "zotero-${version}";
+  inherit version;
 
   src = fetchurl {
-    url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
-    sha256 = if stdenv.system == "x86_64-linux"
-               then "1df101j2qwdp001m8x3ihbzz2j23x43804k8ww749y09d1ydb4dx"
-               else "1bcrpl6gdxlygd5ppyrhw42q24kjcakma3qv6mpzgp91phkf6g30";
+    url = "https://github.com/zotero/zotero-standalone-build/archive/${version}.tar.gz";
+    sha256 = "11gbislxkhfycnii05v6d8h9qdp5rk5xag7kdnsih67gicnn467g";
   };
 
-  # Strip the bundled xulrunner
-  prePatch = ''rm -fr run-zotero.sh zotero xulrunner/'';
+  nativeBuildInputs = [ perl unzipNLS ];
+
+  inherit bash firefox;
+
+  phases = "unpackPhase installPhase fixupPhase";
 
-  inherit bash xulrunner;
   installPhase = ''
     mkdir -p "$out/libexec/zotero"
-    cp -vR * "$out/libexec/zotero/"
+    unzip "${xpi}" -d "$out/libexec/zotero"
+
+    BUILDID=`date +%Y%m%d`
+    GECKO_VERSION="${firefox.passthru.version}"
+    UPDATE_CHANNEL="default"
+
+    # Copy branding
+    cp -R assets/branding "$out/libexec/zotero/chrome/branding"
+
+    # Adjust chrome.manifest
+    echo "" >> "$out/libexec/zotero/chrome.manifest"
+    cat assets/chrome.manifest >> "$out/libexec/zotero/chrome.manifest"
+
+    # Copy updater.ini
+    cp assets/updater.ini "$out/libexec/zotero"
+
+    # Adjust connector pref
+    perl -pi -e 's/pref\("extensions\.zotero\.httpServer\.enabled", false\);/pref("extensions.zotero.httpServer.enabled", true);/g' "$out/libexec/zotero/defaults/preferences/zotero.js"
+    perl -pi -e 's/pref\("extensions\.zotero\.connector\.enabled", false\);/pref("extensions.zotero.connector.enabled", true);/g' "$out/libexec/zotero/defaults/preferences/zotero.js"
+
+    # Copy icons
+    cp -r assets/icons "$out/libexec/zotero/chrome/icons"
+
+    # Copy application.ini and modify
+    cp assets/application.ini "$out/libexec/zotero/application.ini"
+    perl -pi -e "s/{{VERSION}}/$version/" "$out/libexec/zotero/application.ini"
+    perl -pi -e "s/{{BUILDID}}/$BUILDID/" "$out/libexec/zotero/application.ini"
+    perl -pi -e "s/^MaxVersion.*\$/MaxVersion=$GECKO_VERSION/" "$out/libexec/zotero/application.ini"
+
+    # Copy prefs.js and modify
+    cp assets/prefs.js "$out/libexec/zotero/defaults/preferences"
+    perl -pi -e 's/pref\("app\.update\.channel", "[^"]*"\);/pref\("app\.update\.channel", "'"$UPDATE_CHANNEL"'");/' "$out/libexec/zotero/defaults/preferences/prefs.js"
+    perl -pi -e 's/%GECKO_VERSION%/'"$GECKO_VERSION"'/g' "$out/libexec/zotero/defaults/preferences/prefs.js"
+
+    # Add platform-specific standalone assets
+    cp -R assets/unix "$out/libexec/zotero"
 
     mkdir -p "$out/bin"
     substituteAll "${./zotero.sh}" "$out/bin/zotero"
diff --git a/pkgs/applications/office/zotero/firefox-bin/default.nix b/pkgs/applications/office/zotero/firefox-bin/default.nix
new file mode 100644
index 00000000000..0018f00a366
--- /dev/null
+++ b/pkgs/applications/office/zotero/firefox-bin/default.nix
@@ -0,0 +1,162 @@
+{ stdenv, fetchurl, config
+, alsaLib
+, atk
+, cairo
+, cups
+, dbus_glib
+, dbus_libs
+, fontconfig
+, freetype
+, gconf
+, gdk_pixbuf
+, glib
+, glibc
+, gst_plugins_base
+, gstreamer
+, gtk
+, libX11
+, libXScrnSaver
+, libXcomposite
+, libXdamage
+, libXext
+, libXfixes
+, libXinerama
+, libXrender
+, libXt
+, libcanberra
+, libgnome
+, libgnomeui
+, mesa
+, nspr
+, nss
+, pango
+, heimdal
+, pulseaudio
+, systemd
+}:
+
+assert stdenv.isLinux;
+
+# imports `version` and `sources`
+with (import ./sources.nix);
+
+let
+  arch = if stdenv.system == "i686-linux"
+    then "linux-i686"
+    else "linux-x86_64";
+
+  isPrefixOf = prefix: string:
+    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
+
+  sourceMatches = locale: source:
+      (isPrefixOf source.locale locale) && source.arch == arch;
+
+  systemLocale = config.i18n.defaultLocale or "en-US";
+
+  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
+
+  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
+
+in
+
+stdenv.mkDerivation {
+  name = "firefox-bin-${version}";
+
+  src = fetchurl {
+    url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
+    inherit (source) sha1;
+  };
+
+  phases = "unpackPhase installPhase";
+
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.cc.cc
+      alsaLib
+      atk
+      cairo
+      cups
+      dbus_glib
+      dbus_libs
+      fontconfig
+      freetype
+      gconf
+      gdk_pixbuf
+      glib
+      glibc
+      gst_plugins_base
+      gstreamer
+      gtk
+      libX11
+      libXScrnSaver
+      libXcomposite
+      libXdamage
+      libXext
+      libXfixes
+      libXinerama
+      libXrender
+      libXt
+      libcanberra
+      libgnome
+      libgnomeui
+      mesa
+      nspr
+      nss
+      pango
+      heimdal
+      pulseaudio
+      systemd
+    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
+      stdenv.cc.cc
+    ];
+
+  # "strip" after "patchelf" may break binaries.
+  # See: https://github.com/NixOS/patchelf/issues/10
+  dontStrip = 1;
+
+  installPhase =
+    ''
+      mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
+      cp -r * "$prefix/usr/lib/firefox-bin-${version}"
+
+      mkdir -p "$out/bin"
+      ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
+
+      for executable in \
+        firefox mozilla-xremote-client firefox-bin plugin-container \
+        updater crashreporter webapprt-stub
+      do
+        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          "$out/usr/lib/firefox-bin-${version}/$executable"
+      done
+
+      for executable in \
+        firefox mozilla-xremote-client firefox-bin plugin-container \
+        updater crashreporter webapprt-stub libxul.so
+      do
+        patchelf --set-rpath "$libPath" \
+          "$out/usr/lib/firefox-bin-${version}/$executable"
+      done
+
+      # Create a desktop item.
+      mkdir -p $out/share/applications
+      cat > $out/share/applications/firefox.desktop <<EOF
+      [Desktop Entry]
+      Type=Application
+      Exec=$out/bin/firefox
+      Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
+      Name=Firefox
+      GenericName=Web Browser
+      Categories=Application;Network;
+      EOF
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla Firefox, free web browser (binary package)";
+    homepage = http://www.mozilla.org/firefox/;
+    license = {
+      free = false;
+      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
+    };
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/office/zotero/firefox-bin/generate_sources.rb b/pkgs/applications/office/zotero/firefox-bin/generate_sources.rb
new file mode 100644
index 00000000000..eabff067f75
--- /dev/null
+++ b/pkgs/applications/office/zotero/firefox-bin/generate_sources.rb
@@ -0,0 +1,48 @@
+# TODO share code with thunderbird-bin/generate_sources.rb
+
+require "open-uri"
+
+version = if ARGV.empty?
+            "latest"
+          else
+            ARGV[0]
+          end
+
+base_path = "http://download-installer.cdn.mozilla.net/pub/firefox/releases"
+
+Source = Struct.new(:hash, :arch, :locale, :filename)
+
+sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
+  input.readlines
+end.select do |line|
+  /\/firefox-.*\.tar\.bz2$/ === line && !(/source/ === line)
+end.map do |line|
+  hash, name = line.chomp.split(/ +/)
+  Source.new(hash, *(name.split("/")))
+end.sort_by do |source|
+  [source.locale, source.arch]
+end
+
+real_version = sources[0].filename.match(/firefox-([0-9.]*)\.tar\.bz2/)[1]
+
+arches = ["linux-i686", "linux-x86_64"]
+
+puts(<<"EOH")
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "#{real_version}";
+  sources = [
+EOH
+
+sources.each do |source|
+  puts(%Q|    { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+end
+
+puts(<<'EOF')
+  ];
+}
+EOF
diff --git a/pkgs/applications/office/zotero/firefox-bin/sources.nix b/pkgs/applications/office/zotero/firefox-bin/sources.nix
new file mode 100644
index 00000000000..c052a007beb
--- /dev/null
+++ b/pkgs/applications/office/zotero/firefox-bin/sources.nix
@@ -0,0 +1,192 @@
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "33.1";
+  sources = [
+    { locale = "ach"; arch = "linux-i686"; sha1 = "f6ecc5e1d1470a4d79d0f680f3a194857674c5a1"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha1 = "d28450930e53f168c11e7e0c4e7df46c20d50882"; }
+    { locale = "af"; arch = "linux-i686"; sha1 = "2865493140bd8838e7981749f9fe7a734fa59745"; }
+    { locale = "af"; arch = "linux-x86_64"; sha1 = "8f94c2be8ba8e496ff917f78206ab9a9294e4de1"; }
+    { locale = "an"; arch = "linux-i686"; sha1 = "3f6ecaab216f91759a39e255571edaf9b48d4733"; }
+    { locale = "an"; arch = "linux-x86_64"; sha1 = "ae0fce83ae2aa416dc3acda327dec98f2c7c0b98"; }
+    { locale = "ar"; arch = "linux-i686"; sha1 = "aeaed8574b13046d1afb129ad9d3cc0ee22b2bff"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "997495abb13611591ce9ab5ea81cc65dd7ee579a"; }
+    { locale = "as"; arch = "linux-i686"; sha1 = "84193f01192c8341905a0f8d2e7b3d198c39e113"; }
+    { locale = "as"; arch = "linux-x86_64"; sha1 = "f7e9278e9d4b0d3b45f453a16b5840bb84598ccc"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "e52fb5a1e813e1d91ec7562bd7e94632f661c5a4"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "89f13d927c9d8596899ed09f8c9f7d97c26d78f5"; }
+    { locale = "az"; arch = "linux-i686"; sha1 = "bc0972e18db99f9d6fdbe100dd09d62bb2c3afbd"; }
+    { locale = "az"; arch = "linux-x86_64"; sha1 = "4552aa92a799086b7f79178eb8d846a84e77e094"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "4c2577170f9df45a313c6728076cc35504f7ad80"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "dea774633ab5c1ab5c74380984253b0597d53d2c"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "5f770c719895ddec1a8c27bda298361341b2e924"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "5581f70176eb35cf01d5ebb368741130420b505e"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "f0853164e4d1497be6dcffd6dd365eaf56b6582b"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "0ccb11141eb9c339cfe652aee6e902ed0cd700e4"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha1 = "36448e2198e3650f0e5a107af3ae10dbdc8273ce"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "804668a7692b378f6686ea56dae3b9e047bce4a1"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "396a845931ee25c79baaa2147c94b7eea6c8505f"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "87d9567073d22f09abe6c45a044fd3b4ee4d925b"; }
+    { locale = "bs"; arch = "linux-i686"; sha1 = "e3263e2215862dad2268686242a2374e460d1868"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha1 = "714597790f46b03289a4a91e20f797c82672f849"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "0dfc5d9abcac90e5ab254bb72ae20d987ff206f3"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "2eac6e7cb6eae8ca0714dd219eb08b3f7d846191"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "505764e55d673a282d38c3bca7db4ac29325ead1"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "bd32e999d5c61b20bb3a5983032227ff2a7d6d84"; }
+    { locale = "csb"; arch = "linux-i686"; sha1 = "ae5065363647da475901fb7cc156a4ecdecc528b"; }
+    { locale = "csb"; arch = "linux-x86_64"; sha1 = "df0de3d7e5b2aa84e37097b5f65168d732bfd3de"; }
+    { locale = "cy"; arch = "linux-i686"; sha1 = "3e1e7991983277f4c07486d1f2896e2a192d5f85"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha1 = "20232e85c69830eb08b4387f69e3d26637b3d06c"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "1a3a3913876fe8eea20b4b6d33b939b9e531fd34"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "f89864c28eb750655fb212d77569fcfdfbd38ee9"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "da97ff54467b5d0cad8142158e01514a1e75f457"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "988c4cd52388368d21cfb1e6002c28f3e8fb57b1"; }
+    { locale = "dsb"; arch = "linux-i686"; sha1 = "0997a81282c73a8faf8a784a296bbe9102c823bd"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "d6573147c354d29f0ba928888916882aafb92268"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "df53cedb977f9f1cff6b43351fa19801c51e53d9"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "e124b8586af6fb23371c006be0fbe3525dafc8a9"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "738a7335b42e4d324bb3c8411666c3d64e481f85"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "788abe682ac80e08739edf0fabfd4f160eee44da"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "9aeaab7265640c4dfdde57b0ef7eebac26c1d1ec"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "e4bdb638b0a4c90ecb664a9b64351a31ad237ee5"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha1 = "381749003d0755cec8dbf29cd1d4ebfa806576f8"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "518c307bb0b23592ff711943594ea76ffdf0d0c3"; }
+    { locale = "eo"; arch = "linux-i686"; sha1 = "f570024c9c665b36bd8646f44b2b27ff7021f590"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha1 = "fb777076f2a2a7d911a381a0561c02701dd54878"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "20cac134a4312d5cee8ad1f144b2c44108e96b8e"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "d4757bfb61d84d6d3e4b484377f1037b1ff2728c"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha1 = "0416114a667fbc9144186d9a74ce2cf3e09944cc"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "73eeff57047143e8d4217bb22a3831555f87341f"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "66d8288cb4af4d4e8584dcebefc14d9aaf46f4bc"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "d0830ffc8634ab47033b932dcac51e7d042c4f19"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha1 = "592df3f8ee6e6a6fc56991a7b1e9f55a1ea1b8e8"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "cf0d2afac587dbb4f640ea672ea01190f2425905"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "441a5dbb69fe61e28e06ec3ed29f34d067ec2ade"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "633b25f83507b61829a934385766628c8764544e"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "f8f6ddf346afb5bb0420ab092463d61e5e6abfe7"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "cc7cfc43d8e6db5ac08f846e81a416e5a75b37b6"; }
+    { locale = "fa"; arch = "linux-i686"; sha1 = "796ee1d052e97372a870f113390ef25f26047203"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha1 = "3810bd3727a7de7474070e329ddeabfb98f4aeee"; }
+    { locale = "ff"; arch = "linux-i686"; sha1 = "436b6732f58bb6a128c6e3027358089bca0d753e"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha1 = "ed7e3e1a90d31e40cd47645474246adba30eaa1d"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "1d7909cbfe55f6234b6789addae5c9a2dbcf1e49"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "d7734ee040a5ff56aa6d7149d6d5a78541f533fb"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "a8614ef406ed6d4ce7f64f14335b5c4a13fd1ee2"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "98d5e3476784ee4d759b7995e2ff936910a1b213"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "3c7a1c5e1fb9e0f2320a33771bde1cbd774eb6bf"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "10178c5fc56dd8f510f80748767e7e5961bac6ff"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "235c5016eb77c9369ee10e51514961a6986f3c78"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "023c3aafa794faa30cc25576e411f2482cc83131"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "e86c734f2afb872f407f78e867735ecda7ceb622"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "29b695a5c8291f23b22871dcec4d6e66f918e21c"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "c13ac4e21e70e5d3bcf0b2149bfc3e6090c383ce"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "70116ba4463b6937382dc9c7c8da465f5aa78c07"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha1 = "7b687b19b72543d411c9eeb4055015c4e4ebaa4b"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "d2cc38aafa2311808d92f1c927b6b6fd86c35d59"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "24027663a19be1d27379167585936591ffe01650"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "0ab9ec52df1e0debad953b2c658c16396a7c336d"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha1 = "d72b91be0e392a853d3b894f2809bb16d4ed77f5"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "560a3562b66a46f7b5c235e5f0c9a37518dc60f4"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "319c19a36f1d9f087f59470cb14ad0b9429cb751"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "2c98ac830fb0eff611cb82690d068dc61fa6fb21"; }
+    { locale = "hsb"; arch = "linux-i686"; sha1 = "f8b2f8a85b7e5d8d4c551f0e64340cfe491695c4"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "5b6533ac4222a3e18c3d4ba74e0aa459bfa413d1"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "93308746df2c99182d2919fece807b47db688b3d"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "9fd5cd46a04bed5b8fb079aeb59050664c5d93e0"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "d889d18ccef0c7c25dc2e1fc71b9eaa6aaeb4229"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "2ef01a1c2f01825d80d6a0846d59ff6ad77e90e1"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "1c5cb9d1d4b20b2060a8fd07d2851067a4b71d6a"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "82c871d7554fe8411d8f6fccf5e3c7f0d7798885"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "1e697fa5802915b826e29ea73805b7101a32312c"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "44b0d19bc285462f305abf8137aefd9477715e8f"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "16e00713bd355373c676e05a032933d9c210ba87"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "c32e8d9e9dde6c61092e4b72a3192f50e70bcfa9"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "d2d4d0a2c32769ae9fb6d27dfb71e52f146824c3"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "271d50bcf97440e61bf7b952a48fe3992c40faf0"; }
+    { locale = "kk"; arch = "linux-i686"; sha1 = "bc1e2c28b01b7bffde01d88e6aa6aec1a8868f3d"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha1 = "94a66d608cec6de58fb8d72b116395c77198494d"; }
+    { locale = "km"; arch = "linux-i686"; sha1 = "99fdf2ae88c34db6fe9234d236caffeb50cbb843"; }
+    { locale = "km"; arch = "linux-x86_64"; sha1 = "78645872859dc627c5d12e6aa86aef6e3528b3d9"; }
+    { locale = "kn"; arch = "linux-i686"; sha1 = "ef5dcee189c685ee5b71a76cb19138e65f22a0be"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha1 = "87b064a5ce23ffd1397b8a480e6a158b1de4cd67"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "95e6290a38025af724c34272f8e2a4d531e4f06a"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "e989184dfda401f19a895275519f729597a27e97"; }
+    { locale = "ku"; arch = "linux-i686"; sha1 = "c1004b96937b848d9e1e53f9fe4a8507d218572d"; }
+    { locale = "ku"; arch = "linux-x86_64"; sha1 = "a4e61d630ab6ce54a06ff1a90c7df3b76b235181"; }
+    { locale = "lij"; arch = "linux-i686"; sha1 = "be5da1e0d17c7b51da616c082932d8190a33a74e"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha1 = "35e29b7825124dd5c68d02e7c1a15e9cdefaec22"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "c09c5cf5f25eac88f90f4aeb48495f688d78d80d"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "7f4f6511d9cf4b70e34b37c823c12bd13409a7e8"; }
+    { locale = "lv"; arch = "linux-i686"; sha1 = "7fc81c00badbbd877a67d5e1998f16560dd41f3e"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha1 = "5edb8fac36c755db3e3270a0cf4320970696ff4c"; }
+    { locale = "mai"; arch = "linux-i686"; sha1 = "4d49ecb2e195c9c65382155128ff02d857937703"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha1 = "96d0dac8116f20972469e527757d17cf7c22792b"; }
+    { locale = "mk"; arch = "linux-i686"; sha1 = "b72b07ab4d69430d62fb9c497c047f2987636ea1"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha1 = "441918ac58ff166851921bf1566e7dda24ce2377"; }
+    { locale = "ml"; arch = "linux-i686"; sha1 = "b7947f50a0618ba9b8fb5fa9f1adff13dbfc0147"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha1 = "3c98db55a6b9c707957786cc40a03d69e9b4e619"; }
+    { locale = "mr"; arch = "linux-i686"; sha1 = "f1e5109a2fe72d1c7d8a32f83918064d607efa1a"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha1 = "820f056eb3413fc0e1979f192e9542db0c9e0e79"; }
+    { locale = "ms"; arch = "linux-i686"; sha1 = "6a9f01f286fbe0b63f6c171f0171f2883fa5b474"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha1 = "f8cccf1c87845947693c631fd60300d1a5ec7436"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "2dbe61442b310777b427d27159ee767d82a4b254"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "b7a437552fc540966478832bf89a85dc81b16766"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "36f65d56954e59bd758b4a1c09abec85872eb140"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "0c1ed8b52afdd3d15f163fc8899e14caeb0a4497"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "729144a52c95cbcb2665da00e953cbdb269c0665"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "5298026198b8d6c7eb0b816ca29bbd26f0f65907"; }
+    { locale = "or"; arch = "linux-i686"; sha1 = "33aaf77833a3c3a504559c399a270061a582ffbb"; }
+    { locale = "or"; arch = "linux-x86_64"; sha1 = "a2dca791375b174d0f888ce56555fe21e5b2eaf4"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "3670a8492dde8b19e1f5fba10d54eabd003183e1"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "376576536d6a7d373ec5c453e107f63261819cf1"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "53af2036a170d77f828e80d455edf6cddf826cfb"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "01e04cf2530c1b51bd9e8ee5114ac9ba5317e0e4"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "0fec2a4ea90ecb6d7e09041d45a4b0647c37ebe0"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "f7f1dd1f7d78b3647cb77f282b87a3d7224ec567"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "cf46849b5fbd06b51c468f2dc6dab3eb9e8ffde1"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "e6bae39233b0c3735fb122b9e56ac4e82d435749"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "41ed6d9c3816647069b0416d1b7edda97fe1abff"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "36a83ca4594ba79a3b01ee21a5cfde45b13b323e"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "d70284aea6297688eb25835a482d9ca349eac313"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "78079d94b0ad83e6cd687433c335b7e0012c8cb8"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "354fb775dbddfe9f87e78982e7456f20d01476bb"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "30a29bb1cbf967fb24e5bbc6abefcdf074b316cc"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "b20089f3f2ef670426a29e409426a9cd3569090a"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "bee5b374f0ca41a858e9b61fe0b43a56bf303180"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "6c9d83b2cef140bdf513c7226854fc991d087785"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "57595905385b6b7e77eee34f54a40562d041169d"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "63b3edf9aec8a6beabdf1a4b4a9fb0fb835345fc"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "3afafa985ee73cfe378e39881665d2242a6943c9"; }
+    { locale = "son"; arch = "linux-i686"; sha1 = "e6b6b56ebee586bb10511d197b11d93aefae6316"; }
+    { locale = "son"; arch = "linux-x86_64"; sha1 = "f95cb4b571fa389df4e182632b12216699cc9f0a"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "18dfa5b40bd31a0d23884f6e9af357b0be01c4b2"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "f9d026e9d5a85eaad008d65b736ae8c63cb5064d"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "a5ed16491244d9ab6237546e241335005572c1c0"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "2ed29dec3a28949b93f82d0652a38a5539fb2304"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "594eae45b36645a47b12d9579826789e3255b275"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "0cec1133910c8ae87878ca56fd63b610651f99ca"; }
+    { locale = "ta"; arch = "linux-i686"; sha1 = "86da5bfa06e670359b831226822db6a40a7ec7c3"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha1 = "86b3749d396a7be3628face4bf7ed7278b98c5ab"; }
+    { locale = "te"; arch = "linux-i686"; sha1 = "7020a27e9173b52a54c8e442e8e2ffc60a888e2c"; }
+    { locale = "te"; arch = "linux-x86_64"; sha1 = "417ea3e749a9f7309b11d50f99bd5c1b916a0c77"; }
+    { locale = "th"; arch = "linux-i686"; sha1 = "539293f4f6183ec2941fa83705f7c91bf5e65776"; }
+    { locale = "th"; arch = "linux-x86_64"; sha1 = "362d3c39936725437d63576f2c8ee6deaf9429ea"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "eb0d205cf6eac45a8405d072b89856293d4cb63e"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "84c19d6ec3446ecbe03f0751822501d3628699a8"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "5ef72696a4180c91483f406627ea040bede2f30c"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "9de7bcc3ff254234e1844860c3bc907317c02ae6"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "3338130b87e4dd9ee7b8e7120dd158065a772290"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "53ebf9890f9b4ccdc786fa65dcae739fae7b8f7c"; }
+    { locale = "xh"; arch = "linux-i686"; sha1 = "83ae4b1f84c64733d196b9bec58ab1468b126577"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha1 = "da5b9dca0277dd2be1027251c96f7524e0204f2f"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "bc3e12000156a886e00a64bf536c5b2c35bb727d"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "1ac45fd506eb1d5bb92a86ee3a9686e8c93b5c9e"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "5377236c138066df6f67083ae8ed348c6d611a81"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "8733a47e10d1bd025507c09a443acf80dd614643"; }
+    { locale = "zu"; arch = "linux-i686"; sha1 = "a653e724fe28431b2b5ca5f2553654da4ffa526f"; }
+    { locale = "zu"; arch = "linux-x86_64"; sha1 = "81c967fc251d77a38de24519dba0f4465326fcd8"; }
+  ];
+}
diff --git a/pkgs/applications/office/zotero/zotero.sh b/pkgs/applications/office/zotero/zotero.sh
index c80d5e8189e..8941097fc42 100644
--- a/pkgs/applications/office/zotero/zotero.sh
+++ b/pkgs/applications/office/zotero/zotero.sh
@@ -1,3 +1,3 @@
 #!@bash@/bin/bash
 
-exec "@xulrunner@/bin/xulrunner" "@out@/libexec/zotero/application.ini" "${@}"
+exec "@firefox@/bin/firefox" -app "@out@/libexec/zotero/application.ini" "${@}"
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 1be1328da27..85339a86733 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, SDL, SDL_ttf, SDL_image, mesa, libpng, lua5, automake, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "gravit-0.5.0";
+  name = "gravit-0.5.1";
 
   src = fetchurl {
     url = "http://gravit.slowchop.com/media/downloads/${name}.tgz";
-    sha256 = "0lyw0skrkb04s16vgz7ggswjrdxk1h23v5s85s09gjxzjp1xd3xp";
+    sha256 = "14vf7zj2bgrl96wsl3f1knsggc8h9624354ajzd72l46y09x5ky7";
   };
 
   buildInputs = [mesa SDL SDL_ttf SDL_image lua5 automake autoconf libpng];
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 6b84143d013..ddcf5ba7152 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv }:
+{ stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt5, perl
+, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "stellarium-0.12.4";
+  name = "stellarium-0.13.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/stellarium/${name}.tar.gz";
-    sha256 = "11367hv9niyz9v47lf31vjsqkgc8da0vy2nhiyxgmk1i49p1pbhg";
+    sha256 = "1asrq1v6vjzxd2zz92brdfs5f5b1qf8zwd7k2dpg3dl4shl8wwg5";
   };
 
-  buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ];
+  buildInputs = [ cmake freetype libpng mesa gettext openssl qt5.base qt5.quick1 perl libiconv ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/astronomy/xplanet/giflib.patch b/pkgs/applications/science/astronomy/xplanet/giflib.patch
index aaf024198fb..653b9c8dc7d 100644
--- a/pkgs/applications/science/astronomy/xplanet/giflib.patch
+++ b/pkgs/applications/science/astronomy/xplanet/giflib.patch
@@ -1,6 +1,6 @@
-diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c
+diff -wbBur xplanet-1.3.0/src/libimage/gif.c xplanet-1.3.0.my/src/libimage/gif.c
 --- xplanet-1.3.0/src/libimage/gif.c	2006-03-26 01:50:51.000000000 +0300
-+++ /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c	2013-07-30 18:21:17.412474692 +0400
++++ xplanet-1.3.0.my/src/libimage/gif.c	2014-05-29 18:59:14.830652716 +0400
 @@ -20,7 +20,7 @@
  
  #include <stdio.h>
@@ -59,6 +59,15 @@ diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686
                      return(0);
                  }
              }
+@@ -154,7 +154,7 @@
+     
+     free(buffer);
+ 
+-    DGifCloseFile(infile);
++    DGifCloseFile(infile, NULL);
+     return(1);
+ }
+ 
 @@ -178,7 +178,7 @@
          return(0);
      }
@@ -119,11 +128,13 @@ diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686
              return(0);
          }
          ptr += width;
-@@ -233,7 +233,7 @@
+@@ -232,8 +232,8 @@
+ 
      EGifSpew(outfile);
  
-     if (EGifCloseFile(outfile) == GIF_ERROR) 
+-    if (EGifCloseFile(outfile) == GIF_ERROR) 
 -        PrintGifError();
++    if (EGifCloseFile(outfile, NULL) == GIF_ERROR) 
 +        printf("%s\n", GifErrorString(GIF_ERROR));
  
      free(buffer);
diff --git a/pkgs/applications/science/electronics/eagle/default.nix b/pkgs/applications/science/electronics/eagle/default.nix
index 8693e45ce10..e4cb4685f16 100644
--- a/pkgs/applications/science/electronics/eagle/default.nix
+++ b/pkgs/applications/science/electronics/eagle/default.nix
@@ -59,11 +59,11 @@ stdenv.mkDerivation rec {
     gcc -shared -fPIC -DEAGLE_PATH=\"$out/eagle-${version}\" ${./eagle_fixer.c} -o "$out"/lib/eagle_fixer.so -ldl
 
     # Make wrapper script
-    dynlinker="$(cat $NIX_GCC/nix-support/dynamic-linker)"
+    dynlinker="$(cat $NIX_CC/nix-support/dynamic-linker)"
     mkdir -p "$out"/bin
     cat > "$out"/bin/eagle << EOF
     #!${stdenv.shell}
-    export LD_LIBRARY_PATH="${stdenv.gcc.gcc}/lib:${libPath}"
+    export LD_LIBRARY_PATH="${stdenv.cc.cc}/lib:${libPath}"
     export LD_PRELOAD="$out/lib/eagle_fixer.so"
     exec "$dynlinker" "$out/eagle-${version}/bin/eagle" "\$@"
     EOF
diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix
new file mode 100644
index 00000000000..f5a835423bd
--- /dev/null
+++ b/pkgs/applications/science/electronics/fritzing/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, qt5, boost }:
+
+stdenv.mkDerivation rec {
+
+  version = "0.9.0b";
+  name = "fritzing";
+
+  src = fetchurl {
+    url = "http://fritzing.org/download/${version}/source-tarball/fritzing-${version}.source.tar_1.bz2";
+    sha256 = "181qnknq1j5x075icpw2qk0sc4wcj9f2hym533vs936is0wxp2gk";
+  };
+
+  unpackPhase = ''
+    tar xjf ${src}
+  '';
+
+  buildInputs = [ qt5.base qt5.svg boost ];
+
+  configurePhase = ''
+    cd fritzing-${version}.source
+    echo $PATH
+    qmake PREFIX=$out phoenix.pro
+  '';
+
+  meta = {
+    description = "An open source prototyping tool for Arduino-based projects";
+    homepage = http://fritzing.org/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.robberer ];
+  }; 
+}
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index c761f619642..1a5b1f92276 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
 stdenv.mkDerivation rec {
-  name = "gtkwave-3.3.53";
+  name = "gtkwave-3.3.64";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1jmrk2p2azjca250h2bi4c8v0cp1gqd3c027dx18sxy3cgw1fsp1";
+    sha256 = "05bisdh82rsbs0pj0687dzbp0s30p3wzq4gypb9bbjaxwnrmdsfs";
   };
 
   buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];
diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix
index dd3eaecc744..6d89d9e5271 100644
--- a/pkgs/applications/science/electronics/qucs/default.nix
+++ b/pkgs/applications/science/electronics/qucs/default.nix
@@ -1,17 +1,16 @@
-{stdenv, fetchurl, qt3, libX11}:
+{stdenv, fetchurl, flex, bison, qt4, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "qucs-0.0.16";
+  name = "qucs-0.0.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/qucs/${name}.tar.gz";
-    sha256 = "1h8ba84k06rix5zl5p9p414zj2facbnlf1vxwh4a1sp4h9dbfnzy";
+    sha256 = "3609a18b57485dc9f19886ac6694667f3251702175bd1cbbbea37981b2c482a7";
   };
 
-  patches = [ ./tr1-complex.patch ];
-  patchFlags = "-p0";
+  QTDIR=qt4;
 
-  buildInputs = [ qt3 libX11 ];
+  buildInputs = [ flex bison qt4 libX11 ];
 
   meta = {
     description = "Integrated circuit simulator";
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 30c36ae29dc..174dfe8f2b2 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -2,15 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "abc-verifier-${version}";
-  version = "140509"; # YYMMDD
+  version = "20150406";
 
   src = fetchhg {
     url    = "https://bitbucket.org/alanmi/abc";
-    rev    = "03e221443d71e49e56cbc37f1907ee3b0ff3e7c9";
-    sha256 = "0ahrqg718y7xpv939f6x8w1kqh7wsja4pw8hca7j67j0qjdgb4lm";
+    rev    = "7d9c50a17d8676ad0c9792bb87102d7cb4b10667";
+    sha256 = "1gg5jjfjjnv0fl7jsz37hzd9dpv58r8p0q8qvms0r289fcdxalcx";
   };
 
   buildInputs = [ readline ];
+  preBuild = ''
+    export buildFlags="CC=$CC CXX=$CXX LD=$CXX"
+  '';
   enableParallelBuilding = true;
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/science/logic/abella/default.nix b/pkgs/applications/science/logic/abella/default.nix
new file mode 100644
index 00000000000..1c3e8e412f8
--- /dev/null
+++ b/pkgs/applications/science/logic/abella/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, rsync, ocaml }:
+
+stdenv.mkDerivation rec {
+  name = "abella-${version}";
+  version = "2.0.2";
+
+  src = fetchurl {
+    url = "http://abella-prover.org/distributions/${name}.tar.gz";
+    sha256 = "b56d865ebdb198111f1dcd5b6fbcc0d7fc6dd1294f7601903ba4e3c3322c099c";
+  };
+
+  buildInputs = [ rsync ocaml ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    rsync -av abella    $out/bin/
+
+    mkdir -p $out/share/emacs/site-lisp/abella/
+    rsync -av emacs/    $out/share/emacs/site-lisp/abella/
+
+    mkdir -p $out/share/abella/examples
+    rsync -av examples/ $out/share/abella/examples/
+  '';
+
+  meta = {
+    description = "Interactive theorem prover";
+    longDescription = ''
+      Abella is an interactive theorem prover based on lambda-tree syntax.
+      This means that Abella is well-suited for reasoning about the meta-theory
+      of programming languages and other logical systems which manipulate
+      objects with binding.
+    '';
+    homepage = http://abella-prover.org/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ bcdarwin ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix
new file mode 100644
index 00000000000..41c6cf75f32
--- /dev/null
+++ b/pkgs/applications/science/logic/acgtk/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, ocaml, findlib, dypgen, bolt, ansiterminal,
+  buildBytecode ? true,
+  buildNative ? true,
+  installExamples ? true,
+  installEmacsMode ? true }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast
+                         optionals optionalString; in
+
+assert versionAtLeast (getVersion ocaml) "3.07";
+assert versionAtLeast (getVersion dypgen) "20080925";
+assert versionAtLeast (getVersion bolt) "1.4";
+
+assert buildBytecode || buildNative;
+
+stdenv.mkDerivation {
+
+  name = "acgtk-1.1";
+
+  src = fetchurl {
+    url = "http://www.loria.fr/equipes/calligramme/acg/software/acg-1.1-20140905.tar.gz";
+    sha256 = "1k1ldqg34bwmgdpmi9gry9czlsk85ycjxnkd25fhlf3mmgg4n9p6";
+  };
+
+  buildInputs = [ ocaml findlib dypgen bolt ansiterminal ];
+
+  patches = [ ./install-emacs-to-site-lisp.patch
+              ./use-nix-ocaml-byteflags.patch ];
+
+  # The bytecode executable is dependent on the dynamic library provided by
+  # ANSITerminal. We can use the -dllpath flag of ocamlc (analogous to
+  # -rpath) to make sure that ocamlrun is able to link the library at
+  # runtime and that Nix detects a runtime dependency.
+  NIX_OCAML_BYTEFLAGS = "-dllpath ${ansiterminal}/lib/ocaml/${getVersion ocaml}/site-lib/ANSITerminal";
+
+  buildFlags = optionalString buildBytecode "byte"
+             + " "
+             + optionalString buildNative "opt";
+
+  installTargets = "install"
+                 + " " + optionalString installExamples "install-examples"
+                 + " " + optionalString installEmacsMode "install-emacs";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.loria.fr/equipes/calligramme/acg";
+    description = "A toolkit for developing ACG signatures and lexicon";
+    license = licenses.cecill20;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch b/pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch
new file mode 100644
index 00000000000..43ddd20b4a3
--- /dev/null
+++ b/pkgs/applications/science/logic/acgtk/install-emacs-to-site-lisp.patch
@@ -0,0 +1,23 @@
+--- acg-1.1-20140905/Makefile.in	2014-10-24 15:21:39.442287208 +0200
++++ acg-1.1-20140905/Makefile.in.new	2014-10-24 15:24:58.557117228 +0200
+@@ -35,6 +35,7 @@
+ ACGC_DIR=src/acg-data
+ 
+ DATA_DIR=@datarootdir@/acgtk
++EMACS_DIR=@prefix@/share/emacs/site-lisp
+ 
+ 
+ 
+@@ -82,10 +83,10 @@
+ 	rm -r $(DATA_DIR)
+ 
+ install-emacs:
+-	mkdir -p $(DATA_DIR) && cp -r emacs $(DATA_DIR)/.
++	mkdir -p $(EMACS_DIR) && cp emacs/acg.el $(EMACS_DIR)
+ 
+ uninstall-emacs:
+-	rm -rf $(DATA_DIR)/emacs
++	rm -rf $(EMACS_DIR)/emacs
+ 
+ install-examples:
+ 	mkdir -p $(DATA_DIR) && cp -r examples $(DATA_DIR)/.
diff --git a/pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch b/pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch
new file mode 100644
index 00000000000..26ade37e452
--- /dev/null
+++ b/pkgs/applications/science/logic/acgtk/use-nix-ocaml-byteflags.patch
@@ -0,0 +1,11 @@
+--- acg-1.1-20140905/src/Makefile.master.in	2014-10-27 10:59:42.263382081 +0100
++++ acg-1.1-20140905/src/Makefile.master.in.new	2014-10-27 10:59:59.683597972 +0100
+@@ -23,7 +23,7 @@
+ # All warnings are treated as errors
+ WARNINGS = @OCAML09WARNINGS@ -warn-error A
+ COMMONFLAGS= $(WARNINGS) @TYPES@
+-BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG)
++BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG) $(NIX_OCAML_BYTEFLAGS)
+ OPTFLAGS = $(COMMONFLAGS)
+ LFLAGS= -a
+ 
diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix
index 62359baf2bc..3bbcda9de11 100644
--- a/pkgs/applications/science/logic/alt-ergo/default.nix
+++ b/pkgs/applications/science/logic/alt-ergo/default.nix
@@ -1,17 +1,17 @@
-{ fetchurl, stdenv, ocaml, ocamlPackages, gmp }:
+{ fetchurl, stdenv, ocaml, ocamlPackages }:
 
 stdenv.mkDerivation rec {
   name = "alt-ergo-${version}";
-  version = "0.95.2";
+  version = "0.99.1";
 
   src = fetchurl {
     url    = "http://alt-ergo.ocamlpro.com/download_manager.php?target=${name}.tar.gz";
     name   = "${name}.tar.gz";
-    sha256 = "1b7f0rh3jgm67g0x2m3wv7gnnqmz9cjlrfm136z56ihlkhsd8v2s";
+    sha256 = "0lnlf56ysisa45dxvbwzhl4fgyxyfz35psals2kv9x8gyq54zwpm";
   };
 
   buildInputs = with ocamlPackages;
-    [ ocaml findlib ocamlgraph zarith lablgtk gmp ];
+    [ ocaml findlib ocamlgraph zarith lablgtk ];
 
   meta = {
     description = "High-performance theorem prover and SMT solver";
diff --git a/pkgs/applications/science/logic/coq/8.3.nix b/pkgs/applications/science/logic/coq/8.3.nix
index f23622de8a0..63aaa02e67a 100644
--- a/pkgs/applications/science/logic/coq/8.3.nix
+++ b/pkgs/applications/science/logic/coq/8.3.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
    cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/
   '' else "";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Coq proof assistant";
     longDescription = ''
       Coq is a formal proof management system.  It provides a formal language
@@ -63,7 +63,8 @@ stdenv.mkDerivation {
       machine-checked proofs.
     '';
     homepage = "http://coq.inria.fr";
-    license = "LGPL";
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    license = licenses.lgpl21;
+    branch = "8.3";
+    maintainers = with maintainers; [ roconnor vbgl ];
   };
 }
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
index ed922b3aedb..7b5d1ce62b4 100644
--- a/pkgs/applications/science/logic/coq/HEAD.nix
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -1,23 +1,24 @@
 # - coqide compilation can be disabled by setting lablgtk to null;
 
-{stdenv, fetchgit, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
+{stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
-let 
-  version = "8.5pre-c70d5b2";
+let
+  version = "8.5pre-0c999f02";
+  coq-version = "8.5";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
-  idePath = if buildIde then ''
-    CAML_LD_LIBRARY_PATH=${lablgtk}/lib/ocaml/3.12.1/site-lib/stublibs
-  '' else "";
 in
 
 stdenv.mkDerivation {
   name = "coq-${version}";
 
+  inherit coq-version;
+  inherit ocaml camlp5;
+
   src = fetchgit {
     url = git://scm.gforge.inria.fr/coq/coq.git;
-    rev = "c70d5b27ad5872c74e20b6c997383fb4462a68dc";
-    sha256 = "02wks2aivgjcf4h3ss9rn683vyawz8gl8rbysdq7awxh062316l2";
+    rev = "0c999f02ffcd61fcace0cc2d045056a82992a100";
+    sha256 = "1wk9lxdmw152665hr5cvnnzgnbbq7kg2845qkb4ag99nnfpsi26s";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
@@ -32,8 +33,17 @@ stdenv.mkDerivation {
     substituteInPlace Makefile.build --replace "ifeq (\$(ARCH),Darwin)" "ifeq (\$(ARCH),Darwinx)"
   '';
 
+  setupHook = writeText "setupHook.sh" ''
+    addCoqPath () {
+      if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then
+        export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
+      fi
+    }
+
+    envHooks=(''${envHooks[@]} addCoqPath)
+  '';
+
   preConfigure = ''
-    buildFlagsArray=(${idePath})
     configureFlagsArray=(
       -opt
       ${ideFlags}
@@ -44,7 +54,7 @@ stdenv.mkDerivation {
 
   buildFlags = "revision coq coqide";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Coq proof assistant";
     longDescription = ''
       Coq is a formal proof management system.  It provides a formal language
@@ -53,8 +63,9 @@ stdenv.mkDerivation {
       machine-checked proofs.
     '';
     homepage = "http://coq.inria.fr";
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21;
+    branch = coq-version;
+    maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index da77a4c5a9a..391dba244ef 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -1,22 +1,23 @@
 # - coqide compilation can be disabled by setting lablgtk to null;
 
-{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
+{stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
-let 
-  version = "8.4pl4";
+let
+  version = "8.4pl5";
+  coq-version = "8.4";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
-  idePath = if buildIde then ''
-    CAML_LD_LIBRARY_PATH=${lablgtk}/lib/ocaml/3.12.1/site-lib/stublibs
-  '' else "";
 in
 
 stdenv.mkDerivation {
   name = "coq-${version}";
 
+  inherit coq-version;
+  inherit ocaml camlp5;
+
   src = fetchurl {
     url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
-    sha256 = "00bzf4kfbd0g279jrr8ynzvb9wqcly3wi577bkrxivhrg2msxhq6";
+    sha256 = "0iajsabyrgypk1ncm0kqcxqv02k24xa1bayaxacjgmsqiavmm09m";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
@@ -31,7 +32,6 @@ stdenv.mkDerivation {
   '';
 
   preConfigure = ''
-    buildFlagsArray=(${idePath})
     configureFlagsArray=(
       -opt
       -camldir ${ocaml}/bin
@@ -44,7 +44,17 @@ stdenv.mkDerivation {
 
   buildFlags = "revision coq coqide";
 
-  meta = {
+  setupHook = writeText "setupHook.sh" ''
+    addCoqPath () {
+      if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then
+        export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
+      fi
+    }
+
+    envHooks=(''${envHooks[@]} addCoqPath)
+  '';
+
+  meta = with stdenv.lib; {
     description = "Formal proof management system";
     longDescription = ''
       Coq is a formal proof management system.  It provides a formal language
@@ -53,8 +63,9 @@ stdenv.mkDerivation {
       machine-checked proofs.
     '';
     homepage = "http://coq.inria.fr";
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21;
+    branch = coq-version;
+    maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/cvc3/default.nix b/pkgs/applications/science/logic/cvc3/default.nix
index 07b87e3cf07..ce6e039c5b1 100644
--- a/pkgs/applications/science/logic/cvc3/default.nix
+++ b/pkgs/applications/science/logic/cvc3/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , flex, bison, gmp, perl
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     ["gmp"];
 
   buildInputs = (map (n: builtins.getAttr n x)
@@ -33,7 +33,7 @@ rec {
     sed -e "s@ /bin/bash@bash@g" -i Makefile.std
     find . -exec sed -e "s@/usr/bin/perl@${perl}/bin/perl@g" -i '{}' ';'
   '') ["minInit" "doUnpack"];
-      
+
   meta = {
     description = "A prover for satisfiability modulo theory (SMT)";
     maintainers = with a.lib.maintainers;
@@ -42,7 +42,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "free-noncopyleft";
+    license = a.lib.licenses.free;
     homepage = "http://www.cs.nyu.edu/acsys/cvc3/index.html";
   };
   passthru = {
@@ -51,4 +51,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/applications/science/logic/cvc4/default.nix b/pkgs/applications/science/logic/cvc4/default.nix
new file mode 100644
index 00000000000..5b2e9c54d6f
--- /dev/null
+++ b/pkgs/applications/science/logic/cvc4/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, gmp, libantlr3c, boost}:
+
+stdenv.mkDerivation {
+  name = "cvc4-1.4";
+  src = fetchurl {
+    url = http://cvc4.cs.nyu.edu/builds/src/cvc4-1.4.tar.gz;
+    sha256 = "093h7zgv4z4ad503j30dpn8k2pz9m90pvd7gi5axdmwsxgwlzzkn";
+  };
+
+  buildInputs = [ gmp libantlr3c boost ];
+
+  preConfigure = "patchShebangs ./src/";
+
+  doChecks = true;
+
+  meta = with stdenv.lib; {
+    description = "An efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems";
+    homepage = http://cvc4.cs.nyu.edu/web/;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index dc8e975ce1d..a7cdf7f3097 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -69,6 +69,6 @@ stdenv.mkDerivation {
       checking.
     '';
     homepage = "http://hol.sourceforge.net/";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index 3e6440ea977..212da932c28 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -7,14 +7,15 @@ let
     exec ${ocaml}/bin/ocaml -I \`${camlp5}/bin/camlp5 -where\` -init make.ml
   '';
 in
+
 stdenv.mkDerivation rec {
   name     = "hol_light-${version}";
-  version  = "189";
+  version  = "218";
 
   src = fetchsvn {
     url = http://hol-light.googlecode.com/svn/trunk;
     rev = version;
-    sha256 = "1v10l64rs7da2kag3wlb651i09pn83icy9n5z84j8h1iwlxzajdh";
+    sha256 = "0lidcadyjpyqd2iw90gfrm8hb6g9gpabp54c0ps6z0lb6hdzln74";
   };
 
   buildInputs = [ ocaml findlib camlp5 ];
@@ -26,11 +27,11 @@ stdenv.mkDerivation rec {
     chmod a+x "$out/bin/hol_light"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Interactive theorem prover based on Higher-Order Logic";
     homepage    = http://www.cl.cam.ac.uk/~jrh13/hol-light/;
-    license     = stdenv.lib.licenses.bsd2;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    license     = licenses.bsd2;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice z77z vbgl ];
   };
 }
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index a7c1420cb54..88bbe820e2f 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, fetchurl, perl, nettools, polyml, proofgeneral }:
+{ stdenv, fetchurl, perl, nettools, java, polyml, proofgeneral }:
 # nettools needed for hostname
 
 let
-  dirname = "Isabelle2013";
+  dirname = "Isabelle2014";
   theories = ["HOL" "FOL" "ZF"];
 in
 
 stdenv.mkDerivation {
-  name = "isabelle-2013";
+  name = "isabelle-2014";
   inherit dirname theories;
 
-  src = fetchurl {
-    url = http://isabelle.in.tum.de/dist/Isabelle2013_linux.tar.gz;
-    sha256 = "0l17s41hwzma0q2glpxrzic8i6mqd9b7awlpwhz0jkli7fj6ny7b";
-  };
+  src = if stdenv.isDarwin
+    then fetchurl {
+      url = http://isabelle.in.tum.de/dist/Isabelle2014_macos.tar.gz;
+      sha256 = "1aa3vz2nnkkyd4mlsqbs69jqfxlll5h0k5fj9m1j9wqiddqwvwcf";
+    }
+    else fetchurl {
+      url = http://isabelle.in.tum.de/dist/Isabelle2014_linux.tar.gz;
+      sha256 = "0z81pwwllavka4r57fx6yi9kbpbb9xbanp8dsjix49qpyj2a72jy";
+    };
 
-  buildInputs = [ perl polyml nettools ];
+  buildInputs = [ perl polyml ]
+             ++ stdenv.lib.optionals (!stdenv.isDarwin) [ nettools java ];
 
   sourceRoot = dirname;
 
-  patches = [ ./settings.patch ];
-
   postPatch = ''
     ENV=$(type -p env)
     patchShebangs "."
@@ -28,22 +32,25 @@ stdenv.mkDerivation {
       --replace /usr/bin/env $ENV
     substituteInPlace lib/Tools/install \
       --replace /usr/bin/env $ENV
-    substituteInPlace src/Pure/IsaMakefile \
-      --replace /bin/bash /bin/sh
     substituteInPlace etc/settings \
       --subst-var-by ML_HOME "${polyml}/bin" \
       --subst-var-by PROOFGENERAL_HOME "${proofgeneral}/share/emacs/site-lisp/ProofGeneral"
+    substituteInPlace contrib/jdk/etc/settings \
+      --replace ISABELLE_JDK_HOME= '#ISABELLE_JDK_HOME='
+    substituteInPlace contrib/polyml-5.5.2-1/etc/settings \
+      --replace 'ML_HOME="$POLYML_HOME/$ML_PLATFORM"' \
+                "ML_HOME=\"${polyml}/bin\""
   '';
 
   buildPhase = ''
-    ./build $theories
+    ISABELLE_JDK_HOME=${java} ./bin/isabelle build -s $theories
   '';
 
   installPhase = ''
     mkdir -p $out/bin
     mv $TMP/$dirname $out
     cd $out/$dirname
-    bin/isabelle install -p $out/bin
+    bin/isabelle install $out/bin
   '';
 
   meta = {
@@ -56,5 +63,6 @@ stdenv.mkDerivation {
     '';
     homepage = http://isabelle.in.tum.de/;
     license = "LGPL";
+    maintainers = [ stdenv.lib.maintainers.jwiegley ];
   };
 }
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
new file mode 100644
index 00000000000..4d391379e81
--- /dev/null
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, luajit, boost, python
+, gperftools, ninja }:
+
+stdenv.mkDerivation rec {
+  name = "lean-20150328";
+
+  src = fetchFromGitHub {
+    owner  = "leanprover";
+    repo   = "lean";
+    rev    = "1b15036dba469020d37f7d6b77b88974d8a36cb1";
+    sha256 = "0w38g83gp7d3ybfiz9jpl2jz3ljad70bxmar0dnnv45wx42clg96";
+  };
+
+  buildInputs = [ gmp mpfr luajit boost cmake python gperftools ninja ];
+  enableParallelBuilding = true;
+
+  preConfigure = "cd src";
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+
+  meta = {
+    description = "Automatic and interactive theorem prover";
+    homepage    = "http://leanprover.github.io";
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix
index 8f673eb0f15..95012f90a94 100644
--- a/pkgs/applications/science/logic/leo2/default.nix
+++ b/pkgs/applications/science/logic/leo2/default.nix
@@ -55,7 +55,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "BSD";
+    license = a.lib.licenses.bsd3;
     inherit (sourceInfo) version;
     homepage = "http://page.mi.fu-berlin.de/cbenzmueller/leo/";
     downloadPage = "http://page.mi.fu-berlin.de/cbenzmueller/leo/download.html";
diff --git a/pkgs/applications/science/logic/matita/130312.nix b/pkgs/applications/science/logic/matita/130312.nix
index 9e98c8db394..5117ba62e21 100644
--- a/pkgs/applications/science/logic/matita/130312.nix
+++ b/pkgs/applications/science/logic/matita/130312.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://matita.cs.unibo.it/sources/${pname}_130312.tar.gz"; 
+    url = "http://matita.cs.unibo.it/sources/${pname}_130312.tar.gz";
     sha256 = "13mjvvldv53dcdid6wmc6g8yn98xca26xq2rgq2jg700lqsni59s";
   };
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   '';
 
   prePatch = ''
-   autoreconf -fvi 
+   autoreconf -fvi
   '';
 
   buildInputs = [ocaml findlib gdome2 ocaml_expat gmetadom ocaml_http lablgtk ocaml_mysql ocamlnet ulex08 camlzip ocaml_pcre automake autoconf];
@@ -62,5 +62,6 @@ stdenv.mkDerivation {
     description = "Matita is an experimental, interactive theorem prover";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix
new file mode 100644
index 00000000000..293381d2888
--- /dev/null
+++ b/pkgs/applications/science/logic/ott/default.nix
@@ -0,0 +1,43 @@
+# - coqide compilation can be disabled by setting lablgtk to null;
+
+{stdenv, fetchurl, pkgconfig, ocaml, camlp5}:
+
+stdenv.mkDerivation rec {
+  name = "ott-${version}";
+  version = "0.25";
+
+  src = fetchurl {
+    url = "http://www.cl.cam.ac.uk/~pes20/ott/ott_distro_${version}.tar.gz";
+    sha256 = "0i8ad1yrz9nrrgpi8db4z0aii5s0sy35mmzdfw5nq183mvbx8qqd";
+  };
+
+  buildInputs = [ pkgconfig ocaml camlp5 ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/ott.opt $out/bin
+    ln -s $out/bin/ott.opt $out/bin/ott
+
+    mkdir -p $out/share/emacs/site-lisp
+    cp emacs/ottmode.el $out/share/emacs/site-lisp
+    '';
+
+  meta = {
+    description = "Ott: tool for the working semanticist";
+    longDescription = ''
+      Ott is a tool for writing definitions of programming languages and
+      calculi. It takes as input a definition of a language syntax and
+      semantics, in a concise and readable ASCII notation that is close to
+      what one would write in informal mathematics. It generates LaTeX to
+      build a typeset version of the definition, and Coq, HOL, and Isabelle
+      versions of the definition. Additionally, it can be run as a filter,
+      taking a LaTeX/Coq/Isabelle/HOL source file with embedded (symbolic)
+      terms of the defined language, parsing them and replacing them by
+      target-system terms.
+    '';
+    homepage = http://www.cl.cam.ac.uk/~pes20/ott;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ jwiegley ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix
index 2126a4d76d6..89a214c3f47 100644
--- a/pkgs/applications/science/logic/satallax/default.nix
+++ b/pkgs/applications/science/logic/satallax/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , sbcl, zlib
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -47,11 +47,11 @@ rec {
 
     sbcl --load make.lisp
     ! ( ./test | grep ERROR )
-    
+
     mkdir -p "$out/bin"
     cp bin/satallax "$out/bin"
   '') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
-      
+
   meta = {
     description = "A higher-order logic prover";
     maintainers = with a.lib.maintainers;
@@ -60,7 +60,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       unix;
-    license = "free-noncopyleft";
+    license = a.lib.licenses.free;
     homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
   };
   passthru = {
@@ -69,4 +69,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/applications/science/logic/spass/default.nix b/pkgs/applications/science/logic/spass/default.nix
index 2c6144baf0e..5327ed6a42a 100644
--- a/pkgs/applications/science/logic/spass/default.nix
+++ b/pkgs/applications/science/logic/spass/default.nix
@@ -38,7 +38,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "BSD";
+    license = a.lib.licenses.bsd2;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/applications/science/logic/ssreflect/default.nix b/pkgs/applications/science/logic/ssreflect/default.nix
deleted file mode 100644
index a784e5fe1b6..00000000000
--- a/pkgs/applications/science/logic/ssreflect/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-# TODO:
-# - coq needs to be invoked with the explicit path to the ssreflect theory
-#   e.g. coqide -R ~/.nix-profile/lib/coq/user-contrib/ ''
-
-{stdenv, fetchurl, ocaml, camlp5, coq, makeWrapper}:
-
-let
-  pname = "ssreflect";
-  version = "1.5";
-  name = "${pname}-${version}";
-  webpage = http://www.msr-inria.inria.fr/Projects/math-components;
-in
-
-stdenv.mkDerivation {
-  inherit name;
-
-  src = fetchurl {
-    url = "http://ssr.msr-inria.inria.fr/FTP/${name}.tar.gz";
-    sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds";
-  };
-
-  buildInputs = [ ocaml camlp5 coq makeWrapper ];
-
-  patches = [ ./static.patch ];
-
-  installPhase = ''
-    COQLIB=$out/lib/coq/ make -f Makefile.coq install -e
-    mkdir -p $out/bin
-    cp bin/* $out/bin
-    for i in $out/bin/*; do
-      wrapProgram "$i" \
-        --add-flags "-R" \
-        --add-flags "$out/lib/coq/user-contrib/Ssreflect" \
-        --add-flags "Ssreflect"
-    done
-    makeWrapper "${coq}/bin/coqide" "$out/bin/ssrcoqide" --add-flags "-coqtop" --add-flags "$out/bin/ssrcoq"
-  '';
-
-  meta = {
-    description = "Small Scale Reflection extension for Coq";
-    longDescription = ''
-      Small Scale Reflection (ssreflect) is an extension of the Coq Theorem
-      Prover which enable a formal proof methodology based on the pervasive
-      use of computation with symbolic representation
-    '';
-    homepage = webpage;
-    license = "CeCILL B FREE SOFTWARE LICENSE or CeCILL FREE SOFTWARE LICENSE";
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
-  };
-}
diff --git a/pkgs/applications/science/logic/ssreflect/static.patch b/pkgs/applications/science/logic/ssreflect/static.patch
deleted file mode 100644
index 2211d880258..00000000000
--- a/pkgs/applications/science/logic/ssreflect/static.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- ssreflect1.4-coq8.4/Make	(revision 3823)
-+++ ssreflect1.4-coq8.4/Make	(working copy)
-@@ -1,10 +1,10 @@
--### Uncomment for static linking
--##
--#-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -opt -o bin/ssrcoq src/ssrmatching.cmx src/ssreflect.cmx" "src/ssrmatching.cmx src/ssreflect.cmx" bin/ssrcoq
--#-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -o bin/ssrcoq.byte src/ssrmatching.cmo src/ssreflect.cmo" "src/ssrmatching.cmo src/ssreflect.cmo" bin/ssrcoq.byte
--#-custom "$(SSRCOQ) $(COQFLAGS) -compile $*" "%.v $(SSRCOQ)" "%.vo"
--#SSRCOQ = bin/ssrcoq
--##
-+## Uncomment for static linking
-+#
-+-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -opt -o bin/ssrcoq src/ssrmatching.cmx src/ssreflect.cmx" "src/ssrmatching.cmx src/ssreflect.cmx" bin/ssrcoq
-+-custom "$(COQBIN)coqmktop -coqlib `$(COQBIN)coqtop -where` -o bin/ssrcoq.byte src/ssrmatching.cmo src/ssreflect.cmo" "src/ssrmatching.cmo src/ssreflect.cmo" bin/ssrcoq.byte
-+-custom "$(SSRCOQ) $(COQFLAGS) -compile $*" "%.v $(SSRCOQ)" "%.vo"
-+SSRCOQ = bin/ssrcoq
-+#
- 
- ## What follows should be left untouched by the final user of ssreflect
- -R theories Ssreflect
-
diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix
index ef00b135c27..d4c62858753 100644
--- a/pkgs/applications/science/logic/tptp/default.nix
+++ b/pkgs/applications/science/logic/tptp/default.nix
@@ -11,14 +11,14 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="TPTP";
-    version="6.0.0";
+    version="6.1.0";
     name="${baseName}-${version}";
     urls=
     [
     "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz"
     "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}/TPTP-v${version}.tgz"
     ];
-    hash="0jnjkqdz937c7mkxvh9wc3byw5h1k19jss058fbzdxxc2hkwq1af";
+    hash="054p0kx9qh619ixslxpb4qcwvcqr4kan154b3a87b546b78k7kv4";
   };
 in
 rec {
diff --git a/pkgs/applications/science/logic/twelf/default.nix b/pkgs/applications/science/logic/twelf/default.nix
index f9680b47579..7d5724967c1 100644
--- a/pkgs/applications/science/logic/twelf/default.nix
+++ b/pkgs/applications/science/logic/twelf/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    rsync -av bin/* $out/bin/
+    rsync -av bin/{*,.heap} $out/bin/
+    bin/.mkexec ${smlnj}/bin/sml $out/ twelf-server twelf-server
 
     mkdir -p $out/share/emacs/site-lisp/twelf/
     rsync -av emacs/ $out/share/emacs/site-lisp/twelf/
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
       Standard ML.
     '';
     homepage = http://twelf.org/wiki/Main_Page;
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ jwiegley ];
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix
index 2685f5e53d0..c0619ab5f49 100644
--- a/pkgs/applications/science/logic/verifast/default.nix
+++ b/pkgs/applications/science/logic/verifast/default.nix
@@ -5,12 +5,12 @@ assert stdenv.isLinux;
 
 let
   libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.libc stdenv.gcc.gcc gtk gdk_pixbuf atk pango glib cairo
+    [ stdenv.cc.libc stdenv.cc.cc gtk gdk_pixbuf atk pango glib cairo
       freetype fontconfig libxml2 gnome2.gtksourceview
-    ] + ":${stdenv.gcc.gcc}/lib64";
+    ] + ":${stdenv.cc.cc}/lib64";
 
   patchExe = x: ''
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath ${libPath} ${x}
   '';
 in
diff --git a/pkgs/applications/science/logic/verit/default.nix b/pkgs/applications/science/logic/verit/default.nix
new file mode 100644
index 00000000000..16a45cca644
--- /dev/null
+++ b/pkgs/applications/science/logic/verit/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, gmp, flex, bison }:
+
+stdenv.mkDerivation rec {
+  name = "veriT-${version}";
+  version = "201410";
+
+  src = fetchurl {
+    url = "http://www.verit-solver.org/distrib/${name}.tar.gz";
+    sha256 = "0b31rl3wjn3b09jpka93lx83d26m8a5pixa216vq8pmjach8q5a3";
+  };
+
+  buildInputs = [ gmp flex bison ];
+
+  enableParallelBuilding = false;
+
+  makeFlags = [
+    "EXTERN=" # use system copy of gmp
+  ];
+
+  installPhase = ''
+    install -D -m0755 veriT $out/bin/veriT
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An open, trustable and efficient SMT-solver";
+    homepage = http://www.verit-solver.org/;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.gebner ];
+  };
+}
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 71ff1cc7fb4..228d1a7c4d4 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   name    = "why3-${version}";
-  version = "0.83";
+  version = "0.85";
 
   src = fetchurl {
-    url    = "https://gforge.inria.fr/frs/download.php/33490/${name}.tar.gz";
-    sha256 = "1jcs5vj91ppbgh4q4hch89b63wgakjhg35pm3r4jwhp377lnggya";
+    url    = "https://gforge.inria.fr/frs/download.php/34074/why3-0.85.tar.gz";
+    sha256 = "0sj1pd50lqvnvyss1f8ysgigdi64s91rrpdrmp7crmcy1npa8apf";
   };
 
   buildInputs = with ocamlPackages;
-    [ coq ocaml findlib lablgtk ocamlgraph zarith ];
+    [ coq coq.camlp5 ocaml findlib lablgtk ocamlgraph zarith ];
 
-  meta = {
-    description = "why is a software verification platform";
+  meta = with stdenv.lib; {
+    description = "A platform for deductive program verification";
     homepage    = "http://why3.lri.fr/";
-    license     = stdenv.lib.licenses.lgpl21;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    license     = licenses.lgpl21;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice vbgl ];
   };
 }
diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix
index b6b34d96d15..e181ecfd0e1 100644
--- a/pkgs/applications/science/logic/yices/default.nix
+++ b/pkgs/applications/science/logic/yices/default.nix
@@ -3,7 +3,7 @@
 assert stdenv.isLinux;
 
 let
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
 in
 stdenv.mkDerivation rec {
   name    = "yices-${version}";
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index 7a87cb5e8be..2296a28444b 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -1,23 +1,20 @@
-{ stdenv, fetchurl, python, unzip, autoreconfHook }:
+{ stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
   name = "z3-${version}";
-  version = "4.3.1";
-  src = fetchurl {
-    url    = "http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx\?ProjectName\=z3\&changeSetId\=89c1785b73225a1b363c0e485f854613121b70a7";
-    name   = "${name}.zip";
-    sha256 = "3b94465c52ec174350d8707dd6a1fb0cef42f0fa23f148cc1808c14f3c2c7f76";
+  version = "4.3.2";
+
+  src = fetchFromGitHub {
+    owner  = "Z3Prover";
+    repo   = "z3";
+    rev    = "ac21ffebdf1512da2a77dc46c47bde87cc3850f3";
+    sha256 = "1y86akhpy41wx3gx7r8gvf7xbax7dj36ikj6gqh5a7p6r6maz9ci";
   };
 
-  buildInputs = [ python unzip autoreconfHook ];
+  buildInputs = [ python ];
   enableParallelBuilding = true;
 
-  # The zip file doesn't unpack a directory, just the code itself.
-  unpackPhase = "mkdir ${name} && cd ${name} && unzip $src";
-  postConfigure = ''
-    python scripts/mk_make.py
-    cd build
-  '';
+  configurePhase = "python scripts/mk_make.py --prefix=$out && cd build";
 
   # z3's install phase is stupid because it tries to calculate the
   # python package store location itself, meaning it'll attempt to
@@ -25,21 +22,19 @@ stdenv.mkDerivation rec {
   soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so";
   installPhase = ''
     mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include
-    cp ../src/api/z3.h        $out/include
-    cp ../src/api/z3_api.h    $out/include
-    cp ../src/api/z3_v1.h     $out/include
-    cp ../src/api/z3_macros.h $out/include
-    cp ../src/api/c++/z3++.h  $out/include
+    cp ../src/api/z3*.h       $out/include
+    cp ../src/api/c++/z3*.h   $out/include
     cp z3                     $out/bin
     cp libz3${soext}          $out/lib
     cp libz3${soext}          $out/lib/${python.libPrefix}/site-packages
     cp z3*.pyc                $out/lib/${python.libPrefix}/site-packages
+    cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages
   '';
 
   meta = {
-    description = "Z3 is a high-performance theorem prover and SMT solver";
-    homepage    = "http://z3.codeplex.com";
-    license     = stdenv.lib.licenses.msrla;
+    description = "A high-performance theorem prover and SMT solver";
+    homepage    = "http://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/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index edba65146a6..0bd6f5a35c3 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.1.0";
+  name = "R-3.1.3";
 
   src = fetchurl {
     url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "1qjzbw341bvi1h4jwbvdkvq8j0z9l3m85mpgrlfw0n2cz2806s4a";
+    sha256 = "04kk6wd55bi0f0qsp98ckjxh95q2990vkgq4j83kiajvjciq7s87";
   };
 
   buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
       CXX=$(type -p g++)
       FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran"
       JAVA_HOME="${jdk}"
-      LDFLAGS="-L${gfortran.gcc}/lib"
+      LDFLAGS="-L${gfortran.cc}/lib"
       RANLIB=$(type -p ranlib)
       R_SHELL="${stdenv.shell}"
     )
@@ -84,7 +84,9 @@ stdenv.mkDerivation rec {
       user-defined recursive functions and input and output facilities.
     '';
 
+    platforms = stdenv.lib.platforms.all;
     hydraPlatforms = stdenv.lib.platforms.linux;
+
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
index 6e187843404..98012934f38 100644
--- a/pkgs/applications/science/math/fricas/default.nix
+++ b/pkgs/applications/science/math/fricas/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd3;
 
     hydraPlatforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.sprock;
+    maintainers = [ stdenv.lib.maintainers.sprock ];
   };
 }
diff --git a/pkgs/applications/science/math/mathematica/9.nix b/pkgs/applications/science/math/mathematica/9.nix
new file mode 100644
index 00000000000..c9357d7352f
--- /dev/null
+++ b/pkgs/applications/science/math/mathematica/9.nix
@@ -0,0 +1,124 @@
+{ stdenv
+, coreutils
+, patchelf
+, requireFile
+, alsaLib
+, fontconfig
+, freetype
+, gcc
+, glib
+, libpng
+, ncurses
+, opencv
+, openssl
+, unixODBC
+, xlibs
+, zlib
+}:
+
+let
+  platform =
+    if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then
+      "Linux"
+    else
+      throw "Mathematica requires i686-linux or x86_64 linux";
+in
+stdenv.mkDerivation rec {
+
+  name = "mathematica-9.0.0";
+
+  src = requireFile rec {
+    name = "Mathematica_9.0.0_LINUX.sh";
+    message = '' 
+      This nix expression requires that Mathematica_9.0.0_LINUX.sh 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 = "106zfaplhwcfdl9rdgs25x83xra9zcny94gb22wncbfxvrsk3a4q";
+  };
+
+  buildInputs = [
+    coreutils
+    patchelf
+    alsaLib
+    coreutils
+    fontconfig
+    freetype
+    gcc.cc
+    gcc.libc
+    glib
+    ncurses
+    opencv
+    openssl
+    unixODBC
+  ] ++ (with xlibs; [
+    libX11
+    libXext
+    libXtst
+    libXi
+    libXmu
+    libXrender
+    libxcb
+  ]);
+
+  ldpath = stdenv.lib.makeLibraryPath buildInputs
+    + stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
+      (":" + stdenv.lib.makeSearchPath "lib64" buildInputs);
+
+  phases = "unpackPhase installPhase fixupPhase";
+
+  unpackPhase = ''
+    echo "=== Extracting makeself archive ==="
+    # find offset from file
+    offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
+    dd if="$src" ibs=$offset skip=1 | tar -xf -
+    cd Unix
+  '';
+
+  installPhase = ''
+    cd Installer
+    # don't restrict PATH, that has already been done
+    sed -i -e 's/^PATH=/# PATH=/' MathInstaller
+
+    echo "=== Running MathInstaller ==="
+    ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -platforms=${platform} -silent
+  '';
+
+  preFixup = ''
+    echo "=== PatchElfing away ==="
+    find $out/libexec/Mathematica/SystemFiles -type f -perm +100 | while read f; do
+      type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/')
+      if [ -z "$type" ]; then
+        :
+      elif [ "$type" == "EXEC" ]; then
+        echo "patching $f executable <<"
+        patchelf \
+            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+            --set-rpath "${ldpath}" \
+            "$f"
+        patchelf --shrink-rpath "$f"
+      elif [ "$type" == "DYN" ]; then
+        echo "patching $f library <<"
+        patchelf \
+          --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
+          "$f" \
+          && patchelf --shrink-rpath "$f" \
+          || echo unable to patch ... ignoring 1>&2
+      else
+        echo "not patching $f <<: unknown elf type"
+      fi
+    done
+  '';
+
+  # all binaries are already stripped
+  dontStrip = true;
+
+  # we did this in prefixup already
+  dontPatchELF = true;
+
+  meta = {
+    description = "Wolfram Mathematica computational software system";
+    homepage = "http://www.wolfram.com/mathematica/";
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index d4d352c95bb..5fc70417883 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -14,6 +14,8 @@
 , unixODBC
 , xlibs
 , zlib
+, libxml2
+, libuuid
 }:
 
 let
@@ -24,17 +26,18 @@ let
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
 stdenv.mkDerivation rec {
+  version = "10.0.2";
 
-  name = "mathematica-9.0.0";
+  name = "mathematica-${version}";
 
   src = requireFile rec {
-    name = "Mathematica_9.0.0_LINUX.sh";
+    name = "Mathematica_${version}_LINUX.sh";
     message = '' 
-      This nix expression requires that Mathematica_9.0.0_LINUX.sh is
+      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 = "106zfaplhwcfdl9rdgs25x83xra9zcny94gb22wncbfxvrsk3a4q";
+    sha256 = "1d2yaiaikzcacjamlw64g3xkk81m3pb4vz4an12cv8nb7kb20x9l";
   };
 
   buildInputs = [
@@ -44,13 +47,15 @@ stdenv.mkDerivation rec {
     coreutils
     fontconfig
     freetype
-    gcc.gcc
+    gcc.cc
     gcc.libc
     glib
     ncurses
     opencv
     openssl
     unixODBC
+    libxml2
+    libuuid
   ] ++ (with xlibs; [
     libX11
     libXext
@@ -59,6 +64,11 @@ stdenv.mkDerivation rec {
     libXmu
     libXrender
     libxcb
+    libXcursor
+    libXfixes
+    libXrandr
+    libICE
+    libSM
   ]);
 
   ldpath = stdenv.lib.makeLibraryPath buildInputs
@@ -92,11 +102,13 @@ stdenv.mkDerivation rec {
         :
       elif [ "$type" == "EXEC" ]; then
         echo "patching $f executable <<"
-        patchelf \
-            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-            --set-rpath "${ldpath}" \
-            "$f"
         patchelf --shrink-rpath "$f"
+        patchelf \
+	  --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \
+          "$f" \
+          && patchelf --shrink-rpath "$f" \
+          || echo unable to patch ... ignoring 1>&2
       elif [ "$type" == "DYN" ]; then
         echo "patching $f library <<"
         patchelf \
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 3277d94d99b..ffc16a33054 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -2,7 +2,7 @@
 
 let
   name    = "maxima";
-  version = "5.33.0";
+  version = "5.35.1";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2";
+    sha256 = "1wwqvay9z6gal7bsyyyhhcwh0fy5ak4h2a446ali0x6zmybaklcy";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
@@ -29,10 +29,9 @@ stdenv.mkDerivation {
     ln -s ../maxima/${version}/doc $out/share/doc/maxima
   '';
 
-  # Failures in the regression test suite are not going to abort the
-  # build process. We run the suite mostly 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>.
+  # 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.
   doCheck = true;
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index 576a28b054f..0dbab841a81 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  name = "pari-2.5.5";
+  version = "2.7.3";
+  name = "pari-${version}";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    sha256 = "058nw1fhggy7idii4f124ami521lv3izvngs9idfz964aks8cvvn";
+    sha256 = "02k54m7p47r54lgxqanxvf7pdrss17n8if1qwk5wx0j1px22j0rq";
   };
 
   buildInputs = [gmp readline];
@@ -21,5 +22,9 @@ stdenv.mkDerivation rec {
     license     = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [ertes raskin];
     platforms   = stdenv.lib.platforms.linux;
+
+    inherit version;
+    downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
+    updateWalker = true;
   };
 }
diff --git a/pkgs/applications/science/math/pcalc/default.nix b/pkgs/applications/science/math/pcalc/default.nix
new file mode 100644
index 00000000000..c291c0ce6e5
--- /dev/null
+++ b/pkgs/applications/science/math/pcalc/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, bison2, flex }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "pcalc-${version}";
+  version = "20141224";
+
+  src = fetchgit {
+    url = git://git.code.sf.net/p/pcalc/code;
+    rev = "181d60d3c880da4344fef7138065943eb3b9255f";
+    sha256 = "0n60m3p4kkqvvswjf50mnfaaacmzi1lss8vgy63mrgzwi9v6yb4l";
+  };
+
+  makeFlags = [ "DESTDIR= BINDIR=$(out)/bin" ];
+  buildInputs = [ bison2 flex ];
+
+  meta = {
+    homepage = http://pcalc.sourceforge.net/;
+    description = "Programmer's calculator";
+    license = licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ ftrvxmtrx ];
+    platforms = stdenv.lib.platforms.linux;
+    inherit version;
+  };
+}
diff --git a/pkgs/applications/science/math/pssp/default.nix b/pkgs/applications/science/math/pssp/default.nix
index 0a9e0e4735d..6a8f9e59000 100644
--- a/pkgs/applications/science/math/pssp/default.nix
+++ b/pkgs/applications/science/math/pssp/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pspp-0.8.2";
+  name = "pspp-0.8.3";
 
   src = fetchurl {
     url = "mirror://gnu/pspp/${name}.tar.gz";
-    sha256 = "1w7h3dglgx0jlq1wb605b8pgfsk2vr1q2q2rj7bsajh9ihbcsixr";
+    sha256 = "0vri2pzvmm38qaihfvwlry30f40lcnps4blg59ixic4q20ldxf5d";
   };
 
   buildInputs = [ libxml2 readline zlib perl cairo gtk gsl pkgconfig
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index ced8b6f95bb..a27a93dd2c6 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "sage-6.1.1";
 
   src = fetchurl {
-    url = "http://mirrors.xmission.com/sage/src/sage-6.1.1.tar.gz";
+    url = "mirror://sagemath/${name}.tar.gz";
     sha256 = "0kbzs0l9q7y34jv3f8rd1c2mrjsjkdgaw6mfdwjlpg9g4gghmq5y";
   };
 
@@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://www.scilab.org/;
-    description = "Scientific software package for numerical computations (Matlab lookalike)";
-    # see http://www.scilab.org/legal
-    license = "SciLab";
+    homepage = "http://www.sagemath.org";
+    description = "A free open source mathematics software system";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/science/math/sloane/default.nix b/pkgs/applications/science/math/sloane/default.nix
index b3bde7874ca..644ec3be569 100644
--- a/pkgs/applications/science/math/sloane/default.nix
+++ b/pkgs/applications/science/math/sloane/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "sloane";
-  version = "1.9.1";
-  sha256 = "0scnvir7il8ldy3g846xmrdkk2rxnlsiyqak0jvcarf2qi251x5i";
+  version = "1.9.3";
+  sha256 = "0xl3dmi6czwfbi17742hqxf3d6sl9dci08qszrkdmasnvivakg78";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -23,6 +23,6 @@ cabal.mkDerivation (self: {
     description = "A command line interface to Sloane's On-Line Encyclopedia of Integer Sequences";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.akc ];
+    maintainers = with self.stdenv.lib.maintainers; [ akc ];
   };
 })
diff --git a/pkgs/applications/science/math/weka/default.nix b/pkgs/applications/science/math/weka/default.nix
index 66609fa5834..3d59898098c 100644
--- a/pkgs/applications/science/math/weka/default.nix
+++ b/pkgs/applications/science/math/weka/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, jre, unzip }:
 
 stdenv.mkDerivation {
-  name = "weka-3.6.9";
+  name = "weka-3.6.12";
   
   src = fetchurl {
-    url = "mirror://sourceforge/weka/weka-3-6-9.zip";
-    sha256 = "0rnis4vvihhdcdvpp79hkmklcnn897paa0qrs95cbjnpgvxzbczs";
+    url = "mirror://sourceforge/weka/weka-3-6-12.zip";
+    sha256 = "0sdhiv1nr5rxgjry05srsnynsydkyny79zvaxdj6dk8m1768qksh";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 75448b6965c..a73e3dbcec0 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -2,14 +2,14 @@
 
 let
   name    = "wxmaxima";
-  version = "13.04.2";
+  version = "14.12.1";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${name}/wxMaxima/${version}/wxMaxima-${version}.tar.gz";
-    sha256 = "1sylvr0kfdzxxc3qsb0c6ff3lg0bzm1ib5xh78wjgzykbnvjsd99";
+    url = "mirror://sourceforge/${name}/wxMaxima/${version}/wxmaxima-${version}.tar.gz";
+    sha256 = "0sjxvh0y5w5p2xdq3qzz3yhlsigrg3ynib9dkymhynpfnb51x82z";
   };
 
   buildInputs = [wxGTK maxima makeWrapper];
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 7020de0bca8..0898b458593 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -3,12 +3,12 @@ mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil,
 sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 stdenv.mkDerivation rec {
-  name = "boinc-7.2.42";
+  name = "boinc-7.4.14";
 
   src = fetchgit {
     url = "git://boinc.berkeley.edu/boinc-v2.git";
-    rev = "dd0d630882547c123ca0f8fda7a62e058d60f6a9";
-    sha256 = "1zifpi3mjgaj68fba6kammp3x7z8n2x164zz6fj91xfiapnan56j";
+    rev = "fb31ab18f94f3b5141bea03e8537d76c606cd276";
+    sha256 = "1465zl8l87fm1ps5f2may6mcc3pp40mpd6wphpxnwwk1lmv48x96";
   };
 
   buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi
diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix
index 4c93eef2b1c..7a534fce4f6 100644
--- a/pkgs/applications/science/misc/fityk/default.nix
+++ b/pkgs/applications/science/misc/fityk/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Curve fitting and peak fitting software";
-    license = "GPL2";
+    license = stdenv.lib.licenses.gpl2;
     homepage = http://fityk.nieto.pl/;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index 9d198cd5c7f..63a0be47c47 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -1,41 +1,45 @@
-x@{builderDefsPackage,
-  wxGTK, perl, python, zlib
-  , ...}:
-builderDefsPackage
-(a :
+{stdenv, fetchurl, wxGTK, perl, python, zlib}:
 let
-  s = import ./src-for-default.nix;
-  helperArgNames = ["builderDefsPackage"] ++
-    [];
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  s = # Generated upstream information
+  rec {
+    baseName="golly";
+    version="2.6";
+    name="${baseName}-${version}";
+    hash="1n1k3yf23ymlwq4k6p4v2g04qd29pg2rabr4l7m9bj2b2j1zkqhz";
+    url="mirror://sourceforge/project/golly/golly/golly-2.6/golly-2.6-src.tar.gz";
+    sha256="1n1k3yf23ymlwq4k6p4v2g04qd29pg2rabr4l7m9bj2b2j1zkqhz";
+  };
+  buildInputs = [
+    wxGTK perl python zlib
+  ];
 in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
-
-  inherit (s) name;
+stdenv.mkDerivation rec {
+  inherit (s) name version;
   inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+
+  sourceRoot="${name}-src/gui-wx/configure";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doConfigure" "doMakeInstall"];
-  setVars = a.noDepEntry ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lperl -L$(echo "${perl}"/lib/perl5/5*/*/CORE)"
-    pythonLib="$(echo "${python}"/lib/libpython*.so)"
-    pythonLib="''${pythonLib##*/lib}"
-    pythonLib="''${pythonLib%%.so}"
-    export NIX_LDFLAGS="$NIX_LDFLAGS -l$pythonLib"
-    echo "Flags: $NIX_LDFLAGS"
+  # Link against Python explicitly as it is needed for scripts
+  makeFlags=[
+    "AM_LDFLAGS="
+  ];
+  NIX_LDFLAGS="-lpython${python.majorVersion} -lperl";
+  preConfigure=''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -L$(dirname "$(find ${perl} -name libperl.so)")"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
+      -DPYTHON_SHLIB=$(basename "$(
+        readlink -f ${python}/lib/libpython*.so)")"
   '';
 
   meta = {
+    inherit (s) version;
     description = "Cellular automata simulation program";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = with a.lib.licenses;
-      gpl2;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = "http://sourceforge.net/projects/golly/files/golly";
   };
-}) x
+}
diff --git a/pkgs/applications/science/misc/golly/default.upstream b/pkgs/applications/science/misc/golly/default.upstream
new file mode 100644
index 00000000000..57881e5de35
--- /dev/null
+++ b/pkgs/applications/science/misc/golly/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/golly/files/golly/
+version_link '[-][0-9.]+/$'
+SF_version_tarball
+SF_redirect
diff --git a/pkgs/applications/science/misc/golly/src-for-default.nix b/pkgs/applications/science/misc/golly/src-for-default.nix
deleted file mode 100644
index 50d3d41a8ba..00000000000
--- a/pkgs/applications/science/misc/golly/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="2.4";
-   name="golly-2.4";
-   hash="06vajm019q4q4wfy6pc1669fbjqdb4jaxcc419bk0vzky40anl9w";
-   url="mirror://sourceforge/golly/golly-2.4-src.tar.gz";
-   advertisedUrl="http://downloads.sourceforge.net/project/golly/golly/golly-2.4/golly-2.4-src.tar.gz";
-  
-  
-}
diff --git a/pkgs/applications/science/misc/golly/src-info-for-default.nix b/pkgs/applications/science/misc/golly/src-info-for-default.nix
deleted file mode 100644
index a83b929f018..00000000000
--- a/pkgs/applications/science/misc/golly/src-info-for-default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  downloadPage = "http://sourceforge.net/projects/golly/files/golly";
-  method="fetchSFdirs";
-  fileSuffix="-src.tar.gz";
-}
diff --git a/pkgs/applications/science/misc/root/cmake.patch b/pkgs/applications/science/misc/root/cmake.patch
index b6efd7444fe..6d2d4cdc70d 100644
--- a/pkgs/applications/science/misc/root/cmake.patch
+++ b/pkgs/applications/science/misc/root/cmake.patch
@@ -1,5 +1,5 @@
---- cmake/modules/RootBuildOptions.cmake	1969-12-31 20:30:01.000000000 -0330
-+++ cmake/modules/RootBuildOptions.cmake	2014-01-10 14:09:29.424937408 -0330
+--- a/cmake/modules/RootBuildOptions.cmake	1969-12-31 20:30:01.000000000 -0330
++++ b/cmake/modules/RootBuildOptions.cmake	2014-01-10 14:09:29.424937408 -0330
 @@ -149,7 +149,7 @@
  
  #---General Build options----------------------------------------------------------------------
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 1227e76ac0c..57d9fc40ab5 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, cmake, mesa, libX11, gfortran, libXpm, libXft, libXext, zlib }:
+{ stdenv, fetchurl, fetchpatch, cmake, mesa, gfortran
+, libX11,libXpm, libXft, libXext, zlib }:
 
 stdenv.mkDerivation rec {
   name = "root-${version}";
@@ -14,8 +15,15 @@ stdenv.mkDerivation rec {
   # CMAKE_INSTALL_RPATH_USE_LINK_PATH is set to FALSE in
   # <rootsrc>/cmake/modules/RootBuildOptions.cmake.
   # This patch sets it to TRUE.
-  patches = [ ./cmake.patch ];
-  patchFlags = "-p0";
+  patches = [
+    ./cmake.patch
+    (fetchpatch {
+      name = "fix-tm_t-member.diff";
+      url = "https://github.com/root-mirror/root/commit/"
+        + "08b08412bafc24fa635b0fdb832097a3aa2fa1d2.diff";
+      sha256 = "0apbp51pk8471gl06agx3i88dn76p6gpkgf1ssfhcyam0bjl8907";
+    })
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 2e25ff582ee..510c56b66c8 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -2,10 +2,10 @@
 
 # ViTE 1.1 has several bugs, so use the SVN version.
 let
-  rev = "1143";
+  rev = "1543";
   externals = fetchsvn {
     url = "svn://scm.gforge.inria.fr/svn/vite/externals";
-    sha256 = "0wg3yh5q8gx7189rvkd8achld7bzp0i7qqn6c77pg767b4b8dh1a";
+    sha256 = "1a422n3dp72v4visq5b1i21cf8sj12903sgg5v2hah3sgk02dnyz";
     inherit rev;
   };
 in
@@ -14,16 +14,14 @@ stdenv.mkDerivation {
 
   src = fetchsvn {
     url = "svn://scm.gforge.inria.fr/svn/vite/trunk";
-    sha256 = "0cy9b6isiwqwnv9gk0cg97x370fpwyccljadds4a118k5gh58zw4";
+    sha256 = "02479dv96h29d0w0svp42mjjrxhmv8lkkqp30w7mlx5gr2g0v7lf";
     inherit rev;
   };
 
-  preConfigure =
-    '' rm -v externals
-       ln -sv "${externals}" externals
-    '';
-
-  patches = [ ./larger-line-buffer.patch ];
+  preConfigure = ''
+    rm -rv externals
+    ln -sv "${externals}" externals
+  '';
 
   buildInputs = [ cmake qt4 mesa ];
 
@@ -32,19 +30,15 @@ stdenv.mkDerivation {
   meta = {
     description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces";
 
-    longDescription =
-      '' ViTE is a trace explorer. It is a tool to visualize execution traces
-         in Pajé or OTF format for debugging and profiling parallel or
-         distributed applications.
-      '';
+    longDescription = ''
+      ViTE is a trace explorer. It is a tool to visualize execution
+      traces in Pajé or OTF format for debugging and profiling
+      parallel or distributed applications.
+    '';
 
     homepage = http://vite.gforge.inria.fr/;
-
-    license = "CeCILL-A";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-
-    broken = true;
+    license = stdenv.lib.licenses.cecill20;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/misc/vite/larger-line-buffer.patch b/pkgs/applications/science/misc/vite/larger-line-buffer.patch
deleted file mode 100644
index 7934c0085c1..00000000000
--- a/pkgs/applications/science/misc/vite/larger-line-buffer.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-ViTE has an arbitrary restriction on the length of lines read by the parser.
-Make it larger.
-
---- a/src/parser/PajeFileManager.hpp
-+++ b/src/parser/PajeFileManager.hpp
-@@ -67,7 +67,7 @@
-  
- #include <string.h>
- 
--#define _PAJE_BUFSIZE  256
-+#define _PAJE_BUFSIZE  16384
- #define _PAJE_NBMAXTKS  16
- 
- /**
diff --git a/pkgs/applications/science/programming/plm/default.nix b/pkgs/applications/science/programming/plm/default.nix
new file mode 100644
index 00000000000..0e35a0b2264
--- /dev/null
+++ b/pkgs/applications/science/programming/plm/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchurl, makeWrapper, jre, gcc, valgrind}:
+# gcc and valgrind are not strict dependencies, they could be made
+# optional. They are here because plm can only help you learn C if you
+# have them installed.
+stdenv.mkDerivation rec {
+  major = "2";
+  minor = "5";
+  version = "${major}-${minor}";
+  name = "plm-${version}";
+
+  src = fetchurl {
+    url = "http://webloria.loria.fr/~quinson/Teaching/PLM/plm-${major}_${minor}.jar";
+    sha256 = "0m17cxa3nxi2cbswqvlfzp0mlfi3wrkw8ry2xhkxy6aqzm2mlgcc";
+    name = "${name}.jar";
+  };
+
+  buildInputs = [ makeWrapper jre gcc valgrind ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p "$prefix/bin"
+
+    makeWrapper ${jre}/bin/java $out/bin/plm \
+      --add-flags "-jar $src" \
+      --prefix PATH : "$PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Free cross-platform programming exerciser";
+    Homepage = http://webloria.loria.fr/~quinson/Teaching/PLM/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.DamienCassou ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index 6bfa7c7905b..4274f73c7e5 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl
 , qt4, xapian, file, python
 , djvulibre, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx
-, ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconvOrLibc }:
+, ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconv }:
 
 assert stdenv.system != "powerpc-linux";
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       substituteInPlace  $f --replace grep          ${gnugrep}/bin/grep
       substituteInPlace  $f --replace groff         ${groff}/bin/groff
       substituteInPlace  $f --replace gunzip        ${gzip}/bin/gunzip
-      substituteInPlace  $f --replace iconv         ${libiconvOrLibc}/bin/iconv
+      substituteInPlace  $f --replace iconv         ${libiconv}/bin/iconv
       substituteInPlace  $f --replace lyx           ${lyx}/bin/lyx
       substituteInPlace  $f --replace pdftotext     ${xpdf}/bin/pdftotext
       substituteInPlace  $f --replace pstotext      ${ghostscript}/bin/ps2ascii 
diff --git a/pkgs/applications/taxes/aangifte-2006/builder.sh b/pkgs/applications/taxes/aangifte-2006/builder.sh
index 8d284176d44..1b709b613bd 100644
--- a/pkgs/applications/taxes/aangifte-2006/builder.sh
+++ b/pkgs/applications/taxes/aangifte-2006/builder.sh
@@ -3,7 +3,7 @@ source $stdenv/setup
 buildPhase() {
     for i in bin/*; do
         patchelf \
-            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
             --set-rpath $libX11/lib:$libXext/lib \
             $i
     done
diff --git a/pkgs/applications/taxes/aangifte-2007/builder.sh b/pkgs/applications/taxes/aangifte-2007/builder.sh
index f400f1b8855..79e5b309769 100644
--- a/pkgs/applications/taxes/aangifte-2007/builder.sh
+++ b/pkgs/applications/taxes/aangifte-2007/builder.sh
@@ -1,12 +1,12 @@
 source $stdenv/setup
 
-echo $NIX_GCC
+echo $NIX_CC
 
 buildPhase() {
     for i in bin/*; do
         patchelf \
-            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+            --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
 }
diff --git a/pkgs/applications/taxes/aangifte-2008/builder.sh b/pkgs/applications/taxes/aangifte-2008/builder.sh
index f400f1b8855..79e5b309769 100644
--- a/pkgs/applications/taxes/aangifte-2008/builder.sh
+++ b/pkgs/applications/taxes/aangifte-2008/builder.sh
@@ -1,12 +1,12 @@
 source $stdenv/setup
 
-echo $NIX_GCC
+echo $NIX_CC
 
 buildPhase() {
     for i in bin/*; do
         patchelf \
-            --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+            --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
 }
diff --git a/pkgs/applications/taxes/aangifte-2009/default.nix b/pkgs/applications/taxes/aangifte-2009/default.nix
index 9aa7a817271..c944fc3d68b 100644
--- a/pkgs/applications/taxes/aangifte-2009/default.nix
+++ b/pkgs/applications/taxes/aangifte-2009/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
     ''
       for i in bin/*; do
           patchelf \
-              --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+              --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
     '';
diff --git a/pkgs/applications/taxes/aangifte-2010/default.nix b/pkgs/applications/taxes/aangifte-2010/default.nix
index 23338c01ec3..b5a85415c37 100644
--- a/pkgs/applications/taxes/aangifte-2010/default.nix
+++ b/pkgs/applications/taxes/aangifte-2010/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
     ''
       for i in bin/*; do
           patchelf \
-              --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+              --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
     '';
diff --git a/pkgs/applications/taxes/aangifte-2011/default.nix b/pkgs/applications/taxes/aangifte-2011/default.nix
index e5bc233affa..a38bc4254bb 100644
--- a/pkgs/applications/taxes/aangifte-2011/default.nix
+++ b/pkgs/applications/taxes/aangifte-2011/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
     ''
       for i in bin/*; do
           patchelf \
-              --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+              --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
     '';
diff --git a/pkgs/applications/taxes/aangifte-2012/default.nix b/pkgs/applications/taxes/aangifte-2012/default.nix
index 544fe4ec55f..2e51ef9ed4c 100644
--- a/pkgs/applications/taxes/aangifte-2012/default.nix
+++ b/pkgs/applications/taxes/aangifte-2012/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
     ''
       for i in bin/*; do
           patchelf \
-              --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+              --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
     '';
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
       mkdir -p $out
       cp -prvd * $out/
       wrapProgram $out/bin/ib2012ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_GCC/nix-support/orig-gcc)/lib/libgcc_s.so.1
+                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
     '';
 
   meta = {
diff --git a/pkgs/applications/taxes/aangifte-2013/default.nix b/pkgs/applications/taxes/aangifte-2013/default.nix
index 5cf90320adc..3cf85961a9b 100644
--- a/pkgs/applications/taxes/aangifte-2013/default.nix
+++ b/pkgs/applications/taxes/aangifte-2013/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
     ''
       for i in bin/*; do
           patchelf \
-              --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+              --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
     '';
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
       mkdir -p $out
       cp -prvd * $out/
       wrapProgram $out/bin/ib2013ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_GCC/nix-support/orig-gcc)/lib/libgcc_s.so.1
+                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
     '';
 
   meta = {
diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix
deleted file mode 100644
index ff5c3456e22..00000000000
--- a/pkgs/applications/version-management/darcs/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, curl, extensibleExceptions, filepath, hashedStorage
-, haskeline, html, HTTP, mmap, mtl, network, networkUri, parsec
-, random, regexCompat, tar, terminfo, text, utf8String, vector
-, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "darcs";
-  version = "2.8.5";
-  sha256 = "16g3ayw0wwhkjpprlkzi971ibs4dp152bmaa487512cwb3ni0hq6";
-  isLibrary = true;
-  isExecutable = true;
-  doCheck = false;
-  buildDepends = [
-    extensibleExceptions filepath hashedStorage haskeline html HTTP
-    mmap mtl network networkUri parsec random regexCompat tar terminfo
-    text utf8String vector zlib
-  ];
-  extraLibraries = [ curl ];
-  postInstall = ''
-    mkdir -p $out/etc/bash_completion.d
-    mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
-  '';
-  meta = {
-    homepage = "http://darcs.net/";
-    description = "a distributed, interactive, smart revision control system";
-    license = "GPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
index 92cdddd8dcb..2bd4b584724 100644
--- a/pkgs/applications/version-management/diffuse/default.nix
+++ b/pkgs/applications/version-management/diffuse/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python, pygtk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.7";
+  version = "0.4.8";
   name = "diffuse-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/diffuse/diffuse/${version}/${name}.tar.bz2";
-    sha256 = "1b1riy9wix2gby78v9i30ijycjhkcyqsllggjakbkx26sb5nmxdh";
+    sha256 = "0ayz8bywmk1z3zicb0a7hbxliqpc7xym60s0mawzqllkpadvgly1";
   };
 
   buildInputs = [ python pygtk makeWrapper ];
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index c2793190e89..1093bbe0d02 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -1,11 +1,15 @@
 {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite, withJson ? true}:
 
-stdenv.mkDerivation {
-  name = "fossil-1.28";
+stdenv.mkDerivation rec {
+  name = "fossil-1.32";
 
   src = fetchurl {
-    url = http://www.fossil-scm.org/download/fossil-src-20140127173344.tar.gz;
-    sha256 = "105a3f3wiqshmkw8q7f7ask3nm0jkjf0h3h2283qiqlsqfkwb9xc";
+    urls = 
+      [
+        "https://www.fossil-scm.org/fossil/tarball/Fossil-6c40678e.tar.gz?uuid=6c40678e9114c41a50f73cc43f6f942ace0408ec"
+        ];
+    name = "${name}.tar.gz";
+    sha256 = "0f1rvqiy630z2q1q8r3kgdd0c6sxjx8c8pm46yabn238xvf3bfnr";
   };
 
   buildInputs = [ zlib openssl readline sqlite ];
@@ -40,7 +44,7 @@ stdenv.mkDerivation {
       from the others by being extremely simple to setup and operate.
     '';
     homepage = http://www.fossil-scm.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
     platforms = with stdenv.lib.platforms; all;
     maintainers = [ #Add your name here!
       stdenv.lib.maintainers.z77z
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 fb7232794c5..6cde64b3090 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "cgit-${version}";
-  version = "0.10.1";
+  version = "0.11.2";
 
   src = fetchurl {
     url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz";
-    sha256 = "0bci1p9spf79wirc4lk36cndcx2b9wj0fq1l58rlp6r563is77l3";
+    sha256 = "0fryh56kyah7v9a8zzhbhwlyy2j116w87sxmgrn2kmwk0rvnw4if";
   };
 
   # cgit is tightly coupled with git and needs a git source tree to build.
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   # NOTE: as of 0.10.1, the git version is compatible from 1.9.0 to
   # 1.9.2 (see the repository history)
   gitSrc = fetchurl {
-    url    = "https://www.kernel.org/pub/software/scm/git/git-1.9.2.tar.xz";
-    sha256 = "1x4rb06vw4ckdflmn01r5l9spvn7cng4i5mm3sbd0n8cz0n6xz13";
+    url    = "mirror://kernel/software/scm/git/git-2.3.2.tar.xz";
+    sha256 = "09gqijsjfnxlbsxbxzlvllg37bfs9f4jwa2plqsanmba09i89sqq";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index fd548296220..b206fc671b5 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -8,7 +8,7 @@ let
   gitBase = lib.makeOverridable (import ./git) {
     inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep
       asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl
-      tk makeWrapper subversionClient gzip;
+      tk makeWrapper subversionClient gzip libiconv;
     texinfo = texinfo5;
     svnSupport = false;		# for git-svn support
     guiSupport = false;		# requires tcl/tk
@@ -46,7 +46,7 @@ rec {
     sendEmailSupport = !stdenv.isDarwin;
   };
 
-  gitAnnex = pkgs.haskellPackages.gitAnnex;
+  gitAnnex = pkgs.haskellngPackages.git-annex;
 
   qgit = import ./qgit {
     inherit fetchurl stdenv;
@@ -68,13 +68,12 @@ rec {
     inherit stdenv fetchurl;
   };
 
-  tig = import ./tig {
-    inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45 readline;
-  };
+  tig = callPackage ./tig { };
 
   hub = import ./hub {
-    inherit (rubyLibs) rake;
-    inherit stdenv fetchurl groff makeWrapper;
+    inherit go;
+    inherit stdenv fetchgit;
+    inherit (darwin) Security;
   };
 
   gitFastExport = import ./fast-export {
@@ -98,4 +97,9 @@ rec {
 
   git-remote-hg = callPackage ./git-remote-hg { };
 
+  gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
+
+  git-extras = callPackage ./git-extras { };
+
+  git-cola = callPackage ./git-cola { };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
index dcfcce1fcf6..5bd6995d204 100644
--- a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
@@ -1,12 +1,13 @@
 {stdenv, fetchgit, mercurial, coreutils, git, makeWrapper, subversion}:
 
+with stdenv.lib;
 stdenv.mkDerivation {
   name = "fast-export";
 
   src = fetchgit {
-    url = "git://repo.or.cz/fast-export.git";
-    rev = "aaccfba";
-    sha256 = "c9d1498e31d32b8271c1e651175794718611f93b4843dea569d831005de0a750";
+    url = git://repo.or.cz/fast-export.git;
+    rev = "d202200fd9daa75cdb37d4cf067d4ca00e269535";
+    sha256 = "1ci0jbprs7hqqzq4mqi5b9vlc43lmk2bn2kjx49bdjkqajvlicd7";
   };
 
   buildInputs = [mercurial.python mercurial makeWrapper subversion];
@@ -30,10 +31,10 @@ stdenv.mkDerivation {
     done
   '';
 
-  # usage: 
   meta = {
-      description = "import svn, mercurial into git";
-      homepage = "http://repo.or.cz/w/fast-export.git";
-      license = "?"; # the .py file is GPLv2
+    description = "Import svn, mercurial into git";
+    homepage = http://repo.or.cz/w/fast-export.git;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.koral ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index 62132271ec9..d4d627d6154 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -1,44 +1,45 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, async, blazeBuilder, bloomfilter, bup, byteable
-, caseInsensitive, clientsession, cryptoApi, cryptohash, curl
-, dataDefault, dataenc, DAV, dbus, dlist, dns, editDistance
-, exceptions, fdoNotify, feed, filepath, git, gnupg1, gnutls
-, hamlet, hinotify, hS3, hslogger, httpClient, httpConduit
-, httpTypes, IfElse, json, lsof, MissingH, monadControl, mtl
-, network, networkInfo, networkMulticast, networkProtocolXmpp
-, openssh, optparseApplicative, pathPieces, perl, QuickCheck
-, random, regexTdfa, rsync, SafeSemaphore, securemem, SHA
-, shakespeare, stm, tasty, tastyHunit, tastyQuickcheck, tastyRerun
-, text, time, transformers, unixCompat, utf8String, uuid, wai
-, waiExtra, warp, warpTls, which, xmlTypes, yesod, yesodCore
-, yesodDefault, yesodForm, yesodStatic
+{ cabal, aeson, async, aws, blazeBuilder, bloomfilter, bup
+, byteable, caseInsensitive, clientsession, conduit, conduitExtra
+, cryptoApi, cryptohash, curl, dataDefault, dataenc, DAV, dbus
+, dlist, dns, editDistance, exceptions, fdoNotify, feed, filepath
+, git, gnupg1, gnutls, hamlet, hinotify, hslogger, httpClient
+, httpConduit, httpTypes, IfElse, json, lsof, MissingH
+, monadControl, mtl, network, networkInfo, networkMulticast
+, networkProtocolXmpp, networkUri, openssh, optparseApplicative
+, pathPieces, perl, QuickCheck, random, regexTdfa, resourcet, rsync
+, SafeSemaphore, securemem, SHA, shakespeare, stm, tasty
+, tastyHunit, tastyQuickcheck, tastyRerun, text, time, torrent
+, transformers, unixCompat, utf8String, uuid, wai, waiExtra, warp
+, warpTls, wget, which, xmlTypes, yesod, yesodCore, yesodDefault
+, yesodForm, yesodStatic
 }:
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20140817";
-  sha256 = "0cly19rd250qiikzszgad2r5xz570kr00vcb8ij6icbm53pw3hxc";
+  version = "5.20141231";
+  sha256 = "0rrwaclc3mpn39087fs5pgn0axjp5mki0nhj9a3fjjchdwd8wzyf";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    aeson async blazeBuilder bloomfilter byteable caseInsensitive
-    clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus
-    dlist dns editDistance exceptions fdoNotify feed filepath gnutls
-    hamlet hinotify hS3 hslogger httpClient httpConduit httpTypes
-    IfElse json MissingH monadControl mtl network networkInfo
-    networkMulticast networkProtocolXmpp optparseApplicative pathPieces
-    QuickCheck random regexTdfa SafeSemaphore securemem SHA shakespeare
-    stm tasty tastyHunit tastyQuickcheck tastyRerun text time
-    transformers unixCompat utf8String uuid wai waiExtra warp warpTls
-    xmlTypes yesod yesodCore yesodDefault yesodForm yesodStatic
+    aeson async aws blazeBuilder bloomfilter byteable caseInsensitive
+    clientsession conduit conduitExtra cryptoApi cryptohash dataDefault
+    dataenc DAV dbus dlist dns editDistance exceptions fdoNotify feed
+    filepath gnutls hamlet hinotify hslogger httpClient httpConduit
+    httpTypes IfElse json MissingH monadControl mtl network networkInfo
+    networkMulticast networkProtocolXmpp networkUri optparseApplicative
+    pathPieces QuickCheck random regexTdfa resourcet SafeSemaphore
+    securemem SHA shakespeare stm tasty tastyHunit tastyQuickcheck
+    tastyRerun text time torrent transformers unixCompat utf8String
+    uuid wai waiExtra warp warpTls xmlTypes yesod yesodCore
+    yesodDefault yesodForm yesodStatic
+  ];
+  buildTools = [
+    bup curl git gnupg1 lsof openssh perl rsync wget which
   ];
-  buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
   configureFlags = "-fAssistant -fProduction";
-  preConfigure = ''
-    export HOME="$NIX_BUILD_TOP/tmp"
-    mkdir "$HOME"
-  '';
+  preConfigure = "export HOME=$TEMPDIR";
   installPhase = "./Setup install";
   checkPhase = ''
     cp dist/build/git-annex/git-annex git-annex
diff --git a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
index 4c4ff62901e..4015867b0eb 100644
--- a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
       git-bz is a tool for integrating the Git command line with the
       Bugzilla bug-tracking system. Operations such as attaching patches to
       bugs, applying patches in bugs to your current tree, and closing bugs
-      once you've pushed the fixes publically can be done completely from
+      once you've pushed the fixes publicly can be done completely from
       the command line without having to go to your web browser.
 
       Authentication for git-bz is done by reading the cookies for the
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
new file mode 100644
index 00000000000..eee17911cea
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, python, pythonPackages, makeWrapper, gettext }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "git-cola-${version}";
+  version = "2.1.1";
+
+  src = fetchurl {
+    url = "https://github.com/git-cola/git-cola/archive/v${version}.tar.gz";
+    sha256 = "0fpi5nvhyqkx67ak5pfcpgxbc3m19dqlvdh2c9igv2j0vp5rzkj1";
+  };
+
+  buildInputs = [ makeWrapper gettext ];
+  propagatedBuildInputs = with pythonPackages; [ pyqt4 sip pyinotify ];
+
+  # HACK: wrapPythonPrograms adds 'import sys; sys.argv[0] = "git-cola"', but
+  # "import __future__" must be placed above that. This removes the argv[0] line.
+  postFixup = ''
+    wrapPythonPrograms
+
+    sed -i "$out/bin/.git-dag-wrapped" -e '{
+      /import sys; sys.argv/d
+    }'
+    
+    sed -i "$out/bin/.git-cola-wrapped" -e '{
+      /import sys; sys.argv/d
+    }'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/git-cola/git-cola;
+    description = "A sleek and powerful Git GUI";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bobvanderlinden ];
+  };
+}
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
new file mode 100644
index 00000000000..3392c1c0021
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "git-extras-${version}";
+  version = "2.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
+    sha256 = "0qwgaj0r9lsmwricpnma9rm7llfrcqarcfk5iq3ilxkns8a334va";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  makeFlags = "DESTDIR=$(out) PREFIX=";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/tj/git-extras;
+    description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.spwhitt ];
+  };
+}
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
new file mode 100644
index 00000000000..0f4e143324c
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, docutils }:
+
+stdenv.mkDerivation {
+  name = "git-remote-gcrypt-20140715";
+
+  # Use joeyh's branch that works better with git-annex
+  src = fetchgit {
+    url = "https://github.com/joeyh/git-remote-gcrypt.git";
+    rev = "5dcc77f507d497fe4023e94a47b6a7a1f1146bce";
+    sha256 = "d509efde143cfec4898872b5bb423d52d5d1c940b6a1e21b8444c904bdb250c2";
+  };
+
+  # Required for rst2man.py
+  buildInputs = [ docutils ];
+
+  # The install.sh script expects rst2man, but here it's named rst2man.py
+  patchPhase = ''
+    sed -i 's/rst2man/rst2man.py/g' install.sh
+  '';
+
+  installPhase = ''
+    prefix="$out" ./install.sh
+  '';
+
+  meta = {
+    homepage = "https://github.com/joeyh/git-remote-gcrypt";
+    description = "GNU Privacy Guard-encrypted git remote";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ ellis ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
index ffeb299f49b..a60d7d2a49b 100644
--- a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  rev = "185852eac44c25ae2e8d3b3fb6c9630e754e6363";
-  version = "v0.2-185852eac44c25ae2e8d3b3fb6c9630e754e6363";
+  rev = "e716a9e1a9e460a45663694ba4e9e8894a8452b2";
+  version = "v0.2-e716a9e1a9e460a45663694ba4e9e8894a8452b2";
   name = "git-remote-hg-${version}";
 
   src = fetchgit {
     inherit rev;
-    url = "git://github.com/felipec/git-remote-hg.git";
-    sha256 = "1hc65nvxq7if1imwffyxia0i6vnkbax09gfcl9vq9yffzi8xzzfy";
+    url = "git://github.com/fingolfin/git-remote-hg.git";
+    sha256 = "7c61c8f2be47d96c4244f0f8a3c8f9b994994b15dbe1754581f746888d705463";
   };
 
   buildInputs = [ mercurial.python mercurial makeWrapper
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 877c65afccf..1ea9d967cd1 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio, gnugrep, gzip
 , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
-, libxslt, tcl, tk, makeWrapper
+, libxslt, tcl, tk, makeWrapper, libiconv
 , svnSupport, subversionClient, perlLibs, smtpPerlLibs
 , guiSupport
 , withManual ? true
@@ -9,11 +9,8 @@
 }:
 
 let
-
-  version = "2.1.0";
-
+  version = "2.3.5";
   svn = subversionClient.override { perlBindings = true; };
-
 in
 
 stdenv.mkDerivation {
@@ -21,12 +18,17 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "19q1as2bjh4yifmgw6cciwfw0dswxppaf5iq8h8934i33bf15mwd";
+    sha256 = "0nk4q7r6dj5a2my10483z9wmzv3zw465ck8ydp2b8hcdllj16wfp";
   };
 
-  patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ];
+  patches = [
+    ./docbook2texi.patch
+    ./symlinks-in-bin.patch
+    ./cert-path.patch
+    ./ssl-cert-file.patch
+  ];
 
-  buildInputs = [curl openssl zlib expat gettext cpio makeWrapper]
+  buildInputs = [curl openssl zlib expat gettext cpio makeWrapper libiconv]
     ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
          docbook_xsl docbook_xml_dtd_45 libxslt ]
     ++ stdenv.lib.optionals guiSupport [tcl tk];
@@ -55,7 +57,7 @@ stdenv.mkDerivation {
       # Install git-subtree.
       pushd contrib/subtree
       make
-      make install install-doc
+      make install ${stdenv.lib.optionalString withManual "install-doc"}
       popd
       rm -rf contrib/subtree
 
@@ -142,6 +144,6 @@ stdenv.mkDerivation {
     '';
 
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ simons the-kenny ];
+    maintainers = with stdenv.lib.maintainers; [ simons the-kenny wmertens ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch b/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
new file mode 100644
index 00000000000..dd216b7bf6f
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
@@ -0,0 +1,13 @@
+This patch adds support for the OpenSSL SSL_CERT_FILE environment variable.
+GIT_SSL_CAINFO still takes precedence.
+
+--- git-orig/http.c.orig	2014-11-25 23:27:56.000000000 +0100
++++ git-orig/http.c	2014-11-25 23:28:48.000000000 +0100
+@@ -433,6 +433,7 @@
+ #if LIBCURL_VERSION_NUM >= 0x070908
+ 	set_from_env(&ssl_capath, "GIT_SSL_CAPATH");
+ #endif
++	set_from_env(&ssl_cainfo, "SSL_CERT_FILE");
+ 	set_from_env(&ssl_cainfo, "GIT_SSL_CAINFO");
+ 
+ 	set_from_env(&user_agent, "GIT_HTTP_USER_AGENT");
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index ca329eddc66..39af61f5bb5 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -1,19 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, extensibleExceptions, filepath, git, github, hslogger
-, IfElse, MissingH, mtl, network, optparseApplicative, prettyShow
-, text, unixCompat
+{ cabal, exceptions, filepath, git, github, hslogger, IfElse
+, MissingH, mtl, network, networkUri, optparseApplicative
+, prettyShow, text, transformers, unixCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "github-backup";
-  version = "1.20140721";
-  sha256 = "0bnkfmgpk1iaaqck4ppn461fzk3s2761w2nxfrvw10gc934lhrxc";
+  version = "1.20141204";
+  sha256 = "0asj0ix81k6vi95rwlhs7ikk936lzfsav4gw0gvyzf31ggmf4j4c";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    extensibleExceptions filepath github hslogger IfElse MissingH mtl
-    network optparseApplicative prettyShow text unixCompat
+    exceptions filepath github hslogger IfElse MissingH mtl network
+    networkUri optparseApplicative prettyShow text transformers
+    unixCompat
   ];
   buildTools = [ git ];
   meta = {
@@ -21,7 +22,5 @@ cabal.mkDerivation (self: {
     description = "backs up everything github knows about a repository, to the repository";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 28484322d35..15874922725 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -1,27 +1,48 @@
-{ stdenv, fetchurl, groff, rake, makeWrapper }:
+{ stdenv, fetchgit, go, Security }:
 
 stdenv.mkDerivation rec {
   name = "hub-${version}";
-  version = "1.12.0";
+  version = "2.2.0-rc1";
 
-  src = fetchurl {
-    url = "https://github.com/github/hub/archive/v${version}.tar.gz";
-    sha256 = "1lbl4dl7483q320qw4jm6mqq4dbbk3xncypxgg86zcdigxvw6igv";
+  src = fetchgit {
+    url = https://github.com/github/hub.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "1f6r8vlwnmqmr85drfv24vhqx1aacz6s83c2i804v9997n0wrwfm";
   };
 
-  buildInputs = [ rake makeWrapper ];
 
-  installPhase = ''
-    rake install "prefix=$out"
+  buildInputs = [ go ] ++ stdenv.lib.optional stdenv.isDarwin Security;
+
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+
+  buildPhase = ''
+    patchShebangs .
+    sh script/build
   '';
 
-  fixupPhase = ''
-    wrapProgram $out/bin/hub --prefix PATH : ${groff}/bin
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp hub "$out/bin/"
+
+    mkdir -p "$out/share/man/man1"
+    cp "man/hub.1" "$out/share/man/man1/"
+
+    mkdir -p "$out/share/zsh/site-functions"
+    cp "etc/hub.zsh_completion" "$out/share/zsh/site-functions/_hub"
+
+# Broken: https://github.com/github/hub/issues/592
+#    mkdir -p "$out/etc/bash_completion.d"
+#    cp "etc/hub.bash_completion.sh" "$out/etc/bash_completion.d/"
+
+# Should we also install provided git-hooks?
+# ?
   '';
 
-  meta = {
-    description = "A GitHub specific wrapper for git";
-    homepage = "http://defunkt.io/hub/";
-    license = stdenv.lib.licenses.mit;
+  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 ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
index b0cfcaeb110..f30a47a78b9 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, ruby, makeWrapper, git }:
 
 let
-  version = "2.2.5";
+  version = "2.3.2";
 in
 stdenv.mkDerivation {
   name = "svn2git-${version}";
 
   src = fetchurl {
     url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz";
-    sha256 = "1afmrr80357pg3kawyghhc55z1pszaq8fyrrjmxa6nr9dcrqjwwh";
+    sha256 = "1484mpcabqf9kr6xdpdgb1npkqav1bcah3w5lxj2djjx4bjf2g3y";
   };
 
   buildInputs = [ ruby makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 239fa87d32c..c8973e4a660 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,26 +1,31 @@
 { stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45
-, readline
+, readline, makeWrapper, git
 }:
 
 stdenv.mkDerivation rec {
-  name = "tig-2.0.2";
+  name = "tig-2.1";
 
   src = fetchurl {
     url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
-    sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r";
+    sha256 = "1c1w6w39a1dwx4whrg0ga1mhrlz095hz875z7ajn6xgmhkv8fqih";
   };
 
-  buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline ];
+  buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline git makeWrapper ];
 
   preConfigure = ''
     export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml'
   '';
 
+  enableParallelBuilding = true;
+
   installPhase = ''
     make install
     make install-doc
     mkdir -p $out/etc/bash_completion.d/
     cp contrib/tig-completion.bash $out/etc/bash_completion.d/
+
+    wrapProgram $out/bin/tig \
+      --prefix PATH ':' "${git}/bin"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/topgit/default.nix b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
index 195f6f3a463..6ffcad27dc7 100644
--- a/pkgs/applications/version-management/git-and-tools/topgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     description = "TopGit manages large amount of interdependent topic branches";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ marcweber ludo simons ];
+    maintainers = with stdenv.lib.maintainers; [ marcweber simons ];
   };
 }
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 7f8091067cb..a697aaa08a1 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation {
-  name = "git-repo-1.20";
+  name = "git-repo-1.21";
   src = fetchurl {
-    # I could not find a versioned url for the 1.20 version. In case
+    # I could not find a versioned url for the 1.21 version. In case
     # the sha mismatches, check the homepage for new version and sha.
     url = "http://commondatastorage.googleapis.com/git-repo-downloads/repo";
-    sha1 = "e197cb48ff4ddda4d11f23940d316e323b29671c";
+    sha1 = "b8bd1804f432ecf1bab730949c82b93b0fc5fede";
   };
 
   unpackPhase = "true";
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
new file mode 100644
index 00000000000..467e39f7141
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, ruby, bundler, fetchgit }:
+
+stdenv.mkDerivation rec {
+  version = "2.1.0";
+  name = "gitlab-shell-${version}";
+
+  srcs = fetchgit {
+    url = "https://gitlab.com/gitlab-org/gitlab-shell.git";
+    rev = "823aba63e444afa2f45477819770fec3cb5f0159";
+    sha256 = "0ppf547xs9pvmk49v4h043d0j93k5n4q0yx3b9ssrc4qf2smflgq";
+  };
+
+  buildInputs = [
+    ruby bundler
+  ];
+
+  installPhase = ''
+    mkdir -p $out/
+    cp -R . $out/
+
+    # Nothing to install ATM for non-development but keeping the
+    # install command anyway in case that changes in the future:
+    export HOME=$(pwd)
+    bundle install -j4 --verbose --local --deployment --without development test
+  '';
+
+  # gitlab-shell will try to read its config relative to the source
+  # 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']"
+    substituteInPlace lib/gitlab_net.rb --replace\
+       "File.read File.join(ROOT_PATH, '.gitlab_shell_secret')"\
+       "File.read ENV['GITLAB_SHELL_SECRET_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\
+        "auth_line = \"command=\\\"#{ROOT_PATH}/bin/gitlab-shell"\
+        "auth_line = \"command=\\\"GITLAB_SHELL_CONFIG_PATH=#{ENV['GITLAB_SHELL_CONFIG_PATH']} GITLAB_SHELL_SECRET_PATH=#{ENV['GITLAB_SHELL_SECRET_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)"
+  '';
+
+}
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
new file mode 100644
index 00000000000..f6f3607cbd1
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -0,0 +1,258 @@
+source "https://rubygems.org"
+
+def darwin_only(require_as)
+  RUBY_PLATFORM.include?('darwin') && require_as
+end
+
+def linux_only(require_as)
+  RUBY_PLATFORM.include?('linux') && require_as
+end
+
+gem "rails", "~> 4.1.0"
+
+# Make links from text
+gem 'rails_autolink', '~> 1.1'
+
+# Default values for AR models
+gem "default_value_for", "~> 3.0.0"
+
+# Supported DBs
+gem "mysql2", group: :mysql
+gem "pg", group: :postgres
+
+# Auth
+gem "devise", '3.2.4'
+gem "devise-async", '0.9.0'
+gem 'omniauth', "~> 1.1.3"
+gem 'omniauth-google-oauth2'
+gem 'omniauth-twitter'
+gem 'omniauth-github'
+gem 'omniauth-shibboleth'
+
+# Extracting information from a git repository
+# Provide access to Gitlab::Git library
+gem "gitlab_git", '7.0.0.rc10'
+
+# Ruby/Rack Git Smart-HTTP Server Handler
+gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack'
+
+# LDAP Auth
+gem 'gitlab_omniauth-ldap', '1.1.0', require: "omniauth-ldap"
+
+# Git Wiki
+gem 'gollum-lib', '~> 3.0.0'
+
+# Language detection
+gem "gitlab-linguist", "~> 3.0.0", require: "linguist"
+
+# API
+gem "grape", "~> 0.6.1"
+gem "grape-entity", "~> 0.4.2"
+gem 'rack-cors', require: 'rack/cors'
+
+# Format dates and times
+# based on human-friendly examples
+gem "stamp"
+
+# Enumeration fields
+gem 'enumerize'
+
+# Pagination
+gem "kaminari", "~> 0.15.1"
+
+# HAML
+gem "haml-rails"
+
+# Files attachments
+gem "carrierwave"
+
+# Drag and Drop UI
+gem 'dropzonejs-rails'
+
+# for aws storage
+gem "fog", "~> 1.14"
+gem "unf"
+
+# Authorization
+gem "six"
+
+# Seed data
+gem "seed-fu"
+
+# Markup pipeline for GitLab
+gem 'html-pipeline-gitlab', '~> 0.1.0'
+
+# Markdown to HTML
+gem "github-markup"
+
+# Required markup gems by github-markdown
+gem 'redcarpet', '~> 3.1.2'
+gem 'RedCloth'
+gem 'rdoc', '~>3.6'
+gem 'org-ruby', '= 0.9.9'
+gem 'creole', '~>0.3.6'
+gem 'wikicloth', '=0.8.1'
+gem 'asciidoctor', '= 0.1.4'
+
+# Diffs
+gem 'diffy', '~> 3.0.3'
+
+# Application server
+group :unicorn do
+  gem "unicorn", '~> 4.6.3'
+  gem 'unicorn-worker-killer'
+end
+
+# State machine
+gem "state_machine"
+
+# Issue tags
+gem "acts-as-taggable-on"
+
+# Background jobs
+gem 'slim'
+gem 'sinatra', require: nil
+gem 'sidekiq', '2.17.0'
+
+# HTTP requests
+gem "httparty"
+
+# Colored output to console
+gem "colored"
+
+# GitLab settings
+gem 'settingslogic'
+
+# Misc
+gem "foreman"
+gem 'version_sorter'
+
+# Cache
+gem "redis-rails"
+
+# Campfire integration
+gem 'tinder', '~> 1.9.2'
+
+# HipChat integration
+gem "hipchat", "~> 0.14.0"
+
+# Flowdock integration
+gem "gitlab-flowdock-git-hook", "~> 0.4.2"
+
+# Gemnasium integration
+gem "gemnasium-gitlab-service", "~> 0.2"
+
+# Slack integration
+gem "slack-notifier", "~> 0.3.2"
+
+# d3
+gem "d3_rails", "~> 3.1.4"
+
+# underscore-rails
+gem "underscore-rails", "~> 1.4.4"
+
+# Sanitize user input
+gem "sanitize", '~> 2.0'
+
+# Protect against bruteforcing
+gem "rack-attack"
+
+# Ace editor
+gem 'ace-rails-ap'
+
+# Keyboard shortcuts
+gem 'mousetrap-rails'
+
+# Semantic UI Sass for Sidebar
+gem 'semantic-ui-sass', '~> 0.16.1.0'
+
+gem "sass-rails", '~> 4.0.2'
+gem "coffee-rails"
+gem "uglifier"
+gem "therubyracer"
+gem 'turbolinks'
+gem 'jquery-turbolinks'
+
+gem 'select2-rails'
+gem 'jquery-atwho-rails', "~> 0.3.3"
+gem "jquery-rails"
+gem "jquery-ui-rails"
+gem "jquery-scrollto-rails"
+gem "raphael-rails", "~> 2.1.2"
+gem 'bootstrap-sass', '~> 3.0'
+gem "font-awesome-rails", '~> 4.2'
+gem "gitlab_emoji", "~> 0.0.1.1"
+gem "gon", '~> 5.0.0'
+gem 'nprogress-rails'
+gem 'request_store'
+gem "virtus"
+
+group :development do
+  gem "annotate", "~> 2.6.0.beta2"
+  gem "letter_opener"
+  gem 'quiet_assets', '~> 1.0.1'
+  gem 'rack-mini-profiler', require: false
+
+  # Better errors handler
+  gem 'better_errors'
+  gem 'binding_of_caller'
+
+  gem 'rails_best_practices'
+
+  # Docs generator
+  gem "sdoc"
+
+  # thin instead webrick
+  gem 'thin'
+end
+
+group :development, :test do
+  gem 'coveralls', require: false
+  # gem 'rails-dev-tweaks'
+  gem 'spinach-rails'
+  gem "rspec-rails"
+  gem "capybara", '~> 2.2.1'
+  gem "pry"
+  gem "awesome_print"
+  gem "database_cleaner"
+  gem "launchy"
+  gem 'factory_girl_rails'
+
+  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
+  gem 'minitest', '~> 5.3.0'
+
+  # Generate Fake data
+  gem "ffaker"
+
+  # Guard
+  gem 'guard-rspec'
+  gem 'guard-spinach'
+
+  # Notification
+  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
+  gem 'growl',      require: darwin_only('growl')
+  gem 'rb-inotify', require: linux_only('rb-inotify')
+
+  # PhantomJS driver for Capybara
+  gem 'poltergeist', '~> 1.5.1'
+
+  gem 'jasmine', '2.0.2'
+
+  gem "spring", '1.1.3'
+  gem "spring-commands-rspec", '1.0.1'
+  gem "spring-commands-spinach", '1.0.0'
+end
+
+group :test do
+  gem "simplecov", require: false
+  gem "shoulda-matchers", "~> 2.1.0"
+  gem 'email_spec'
+  gem "webmock"
+  gem 'test_after_commit'
+end
+
+group :production do
+  gem "gitlab_meta", '7.0'
+end
+
+gem "newrelic_rpm"
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
new file mode 100644
index 00000000000..314884fa36e
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -0,0 +1,712 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    RedCloth (4.2.9)
+    ace-rails-ap (2.0.1)
+    actionmailer (4.1.1)
+      actionpack (= 4.1.1)
+      actionview (= 4.1.1)
+      mail (~> 2.5.4)
+    actionpack (4.1.1)
+      actionview (= 4.1.1)
+      activesupport (= 4.1.1)
+      rack (~> 1.5.2)
+      rack-test (~> 0.6.2)
+    actionview (4.1.1)
+      activesupport (= 4.1.1)
+      builder (~> 3.1)
+      erubis (~> 2.7.0)
+    activemodel (4.1.1)
+      activesupport (= 4.1.1)
+      builder (~> 3.1)
+    activerecord (4.1.1)
+      activemodel (= 4.1.1)
+      activesupport (= 4.1.1)
+      arel (~> 5.0.0)
+    activesupport (4.1.1)
+      i18n (~> 0.6, >= 0.6.9)
+      json (~> 1.7, >= 1.7.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.1)
+      tzinfo (~> 1.1)
+    acts-as-taggable-on (2.4.1)
+      rails (>= 3, < 5)
+    addressable (2.3.5)
+    annotate (2.6.0)
+      activerecord (>= 2.3.0)
+      rake (>= 0.8.7)
+    arel (5.0.1.20140414130214)
+    asciidoctor (0.1.4)
+    awesome_print (1.2.0)
+    axiom-types (0.0.5)
+      descendants_tracker (~> 0.0.1)
+      ice_nine (~> 0.9)
+    bcrypt (3.1.7)
+    better_errors (1.0.1)
+      coderay (>= 1.0.0)
+      erubis (>= 2.6.6)
+    binding_of_caller (0.7.2)
+      debug_inspector (>= 0.0.1)
+    bootstrap-sass (3.0.3.0)
+      sass (~> 3.2)
+    builder (3.2.2)
+    capybara (2.2.1)
+      mime-types (>= 1.16)
+      nokogiri (>= 1.3.3)
+      rack (>= 1.0.0)
+      rack-test (>= 0.5.4)
+      xpath (~> 2.0)
+    carrierwave (0.9.0)
+      activemodel (>= 3.2.0)
+      activesupport (>= 3.2.0)
+      json (>= 1.7)
+    celluloid (0.15.2)
+      timers (~> 1.1.0)
+    charlock_holmes (0.6.9.4)
+    cliver (0.3.2)
+    code_analyzer (0.4.3)
+      sexp_processor
+    coderay (1.1.0)
+    coercible (1.0.0)
+      descendants_tracker (~> 0.0.1)
+    coffee-rails (4.0.1)
+      coffee-script (>= 2.2.0)
+      railties (>= 4.0.0, < 5.0)
+    coffee-script (2.2.0)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.6.3)
+    colored (1.2)
+    colorize (0.5.8)
+    connection_pool (1.2.0)
+    coveralls (0.7.0)
+      multi_json (~> 1.3)
+      rest-client
+      simplecov (>= 0.7)
+      term-ansicolor
+      thor
+    crack (0.4.1)
+      safe_yaml (~> 0.9.0)
+    creole (0.3.8)
+    d3_rails (3.1.10)
+      railties (>= 3.1.0)
+    daemons (1.1.9)
+    database_cleaner (1.3.0)
+    debug_inspector (0.0.2)
+    default_value_for (3.0.0)
+      activerecord (>= 3.2.0, < 5.0)
+    descendants_tracker (0.0.3)
+    devise (3.2.4)
+      bcrypt (~> 3.0)
+      orm_adapter (~> 0.1)
+      railties (>= 3.2.6, < 5)
+      thread_safe (~> 0.1)
+      warden (~> 1.2.3)
+    devise-async (0.9.0)
+      devise (~> 3.2)
+    diff-lcs (1.2.5)
+    diffy (3.0.3)
+    docile (1.1.5)
+    dotenv (0.9.0)
+    dropzonejs-rails (0.4.14)
+      rails (> 3.1)
+    email_spec (1.5.0)
+      launchy (~> 2.1)
+      mail (~> 2.2)
+    emoji (1.0.1)
+      json
+    enumerize (0.7.0)
+      activesupport (>= 3.2)
+    equalizer (0.0.8)
+    erubis (2.7.0)
+    escape_utils (0.2.4)
+    eventmachine (1.0.3)
+    excon (0.32.1)
+    execjs (2.0.2)
+    expression_parser (0.9.0)
+    factory_girl (4.3.0)
+      activesupport (>= 3.0.0)
+    factory_girl_rails (4.3.0)
+      factory_girl (~> 4.3.0)
+      railties (>= 3.0.0)
+    faraday (0.8.9)
+      multipart-post (~> 1.2.0)
+    faraday_middleware (0.9.0)
+      faraday (>= 0.7.4, < 0.9)
+    ffaker (1.22.1)
+    ffi (1.9.3)
+    fog (1.21.0)
+      fog-brightbox
+      fog-core (~> 1.21, >= 1.21.1)
+      fog-json
+      nokogiri (~> 1.5, >= 1.5.11)
+    fog-brightbox (0.0.1)
+      fog-core
+      fog-json
+    fog-core (1.21.1)
+      builder
+      excon (~> 0.32)
+      formatador (~> 0.2.0)
+      mime-types
+      net-scp (~> 1.1)
+      net-ssh (>= 2.1.3)
+    fog-json (1.0.0)
+      multi_json (~> 1.0)
+    font-awesome-rails (4.2.0.0)
+      railties (>= 3.2, < 5.0)
+    foreman (0.63.0)
+      dotenv (>= 0.7)
+      thor (>= 0.13.6)
+    formatador (0.2.4)
+    gemnasium-gitlab-service (0.2.2)
+      rugged (~> 0.19)
+    gherkin-ruby (0.3.1)
+      racc
+    github-markup (1.1.0)
+    gitlab-flowdock-git-hook (0.4.2.2)
+      gitlab-grit (>= 2.4.1)
+      multi_json
+    gitlab-grack (2.0.0.pre)
+      rack (~> 1.5.1)
+    gitlab-grit (2.6.12)
+      charlock_holmes (~> 0.6)
+      diff-lcs (~> 1.1)
+      mime-types (~> 1.15)
+      posix-spawn (~> 0.3)
+    gitlab-linguist (3.0.0)
+      charlock_holmes (~> 0.6.6)
+      escape_utils (~> 0.2.4)
+      mime-types (~> 1.19)
+    gitlab_emoji (0.0.1.1)
+      emoji (~> 1.0.1)
+    gitlab_git (7.0.0.rc10)
+      activesupport (~> 4.0)
+      charlock_holmes (~> 0.6)
+      gitlab-linguist (~> 3.0)
+      rugged (~> 0.21.0)
+    gitlab_meta (7.0)
+    gitlab_omniauth-ldap (1.1.0)
+      net-ldap (~> 0.7.0)
+      omniauth (~> 1.0)
+      pyu-ruby-sasl (~> 0.0.3.1)
+      rubyntlm (~> 0.1.1)
+    gollum-lib (3.0.0)
+      github-markup (~> 1.1.0)
+      gitlab-grit (~> 2.6.5)
+      nokogiri (~> 1.6.1)
+      rouge (~> 1.3.3)
+      sanitize (~> 2.1.0)
+      stringex (~> 2.5.1)
+    gon (5.0.1)
+      actionpack (>= 2.3.0)
+      json
+    grape (0.6.1)
+      activesupport
+      builder
+      hashie (>= 1.2.0)
+      multi_json (>= 1.3.2)
+      multi_xml (>= 0.5.2)
+      rack (>= 1.3.0)
+      rack-accept
+      rack-mount
+      virtus (>= 1.0.0)
+    grape-entity (0.4.2)
+      activesupport
+      multi_json (>= 1.3.2)
+    growl (1.0.3)
+    guard (2.2.4)
+      formatador (>= 0.2.4)
+      listen (~> 2.1)
+      lumberjack (~> 1.0)
+      pry (>= 0.9.12)
+      thor (>= 0.18.1)
+    guard-rspec (4.2.0)
+      guard (>= 2.1.1)
+      rspec (>= 2.14, < 4.0)
+    guard-spinach (0.0.2)
+      guard (>= 1.1)
+      spinach
+    haml (4.0.5)
+      tilt
+    haml-rails (0.5.3)
+      actionpack (>= 4.0.1)
+      activesupport (>= 4.0.1)
+      haml (>= 3.1, < 5.0)
+      railties (>= 4.0.1)
+    hashie (2.1.2)
+    hike (1.2.3)
+    hipchat (0.14.0)
+      httparty
+      httparty
+    html-pipeline (1.11.0)
+      activesupport (>= 2)
+      nokogiri (~> 1.4)
+    html-pipeline-gitlab (0.1.5)
+      actionpack (~> 4)
+      gitlab_emoji (~> 0.0.1)
+      html-pipeline (~> 1.11.0)
+      sanitize (~> 2.1)
+    http_parser.rb (0.5.3)
+    httparty (0.13.0)
+      json (~> 1.8)
+      multi_xml (>= 0.5.2)
+    httpauth (0.2.1)
+    i18n (0.6.11)
+    ice_nine (0.10.0)
+    jasmine (2.0.2)
+      jasmine-core (~> 2.0.0)
+      phantomjs
+      rack (>= 1.2.1)
+      rake
+    jasmine-core (2.0.0)
+    jquery-atwho-rails (0.3.3)
+    jquery-rails (3.1.0)
+      railties (>= 3.0, < 5.0)
+      thor (>= 0.14, < 2.0)
+    jquery-scrollto-rails (1.4.3)
+      railties (> 3.1, < 5.0)
+    jquery-turbolinks (2.0.1)
+      railties (>= 3.1.0)
+      turbolinks
+    jquery-ui-rails (4.2.1)
+      railties (>= 3.2.16)
+    json (1.8.1)
+    jwt (0.1.13)
+      multi_json (>= 1.5)
+    kaminari (0.15.1)
+      actionpack (>= 3.0.0)
+      activesupport (>= 3.0.0)
+    kgio (2.8.1)
+    launchy (2.4.2)
+      addressable (~> 2.3)
+    letter_opener (1.1.2)
+      launchy (~> 2.2)
+    libv8 (3.16.14.3)
+    listen (2.3.1)
+      celluloid (>= 0.15.2)
+      rb-fsevent (>= 0.9.3)
+      rb-inotify (>= 0.9)
+    lumberjack (1.0.4)
+    mail (2.5.4)
+      mime-types (~> 1.16)
+      treetop (~> 1.4.8)
+    method_source (0.8.2)
+    mime-types (1.25.1)
+    mini_portile (0.6.0)
+    minitest (5.3.5)
+    mousetrap-rails (1.4.6)
+    multi_json (1.10.1)
+    multi_xml (0.5.5)
+    multipart-post (1.2.0)
+    mysql2 (0.3.16)
+    net-ldap (0.7.0)
+    net-scp (1.1.2)
+      net-ssh (>= 2.6.5)
+    net-ssh (2.8.0)
+    newrelic_rpm (3.9.4.245)
+    nokogiri (1.6.2.1)
+      mini_portile (= 0.6.0)
+    nprogress-rails (0.1.2.3)
+    oauth (0.4.7)
+    oauth2 (0.8.1)
+      faraday (~> 0.8)
+      httpauth (~> 0.1)
+      jwt (~> 0.1.4)
+      multi_json (~> 1.0)
+      rack (~> 1.2)
+    omniauth (1.1.4)
+      hashie (>= 1.2, < 3)
+      rack
+    omniauth-github (1.1.1)
+      omniauth (~> 1.0)
+      omniauth-oauth2 (~> 1.1)
+    omniauth-google-oauth2 (0.2.5)
+      omniauth (> 1.0)
+      omniauth-oauth2 (~> 1.1)
+    omniauth-oauth (1.0.1)
+      oauth
+      omniauth (~> 1.0)
+    omniauth-oauth2 (1.1.1)
+      oauth2 (~> 0.8.0)
+      omniauth (~> 1.0)
+    omniauth-shibboleth (1.1.1)
+      omniauth (>= 1.0.0)
+    omniauth-twitter (1.0.1)
+      multi_json (~> 1.3)
+      omniauth-oauth (~> 1.0)
+    org-ruby (0.9.9)
+      rubypants (~> 0.2)
+    orm_adapter (0.5.0)
+    pg (0.15.1)
+    phantomjs (1.9.2.0)
+    poltergeist (1.5.1)
+      capybara (~> 2.1)
+      cliver (~> 0.3.1)
+      multi_json (~> 1.0)
+      websocket-driver (>= 0.2.0)
+    polyglot (0.3.4)
+    posix-spawn (0.3.9)
+    pry (0.9.12.4)
+      coderay (~> 1.0)
+      method_source (~> 0.8)
+      slop (~> 3.4)
+    pyu-ruby-sasl (0.0.3.3)
+    quiet_assets (1.0.2)
+      railties (>= 3.1, < 5.0)
+    racc (1.4.10)
+    rack (1.5.2)
+    rack-accept (0.4.5)
+      rack (>= 0.4)
+    rack-attack (2.3.0)
+      rack
+    rack-cors (0.2.9)
+    rack-mini-profiler (0.9.0)
+      rack (>= 1.1.3)
+    rack-mount (0.8.3)
+      rack (>= 1.0.0)
+    rack-protection (1.5.1)
+      rack
+    rack-test (0.6.2)
+      rack (>= 1.0)
+    rails (4.1.1)
+      actionmailer (= 4.1.1)
+      actionpack (= 4.1.1)
+      actionview (= 4.1.1)
+      activemodel (= 4.1.1)
+      activerecord (= 4.1.1)
+      activesupport (= 4.1.1)
+      bundler (>= 1.3.0, < 2.0)
+      railties (= 4.1.1)
+      sprockets-rails (~> 2.0)
+    rails_autolink (1.1.6)
+      rails (> 3.1)
+    rails_best_practices (1.14.4)
+      activesupport
+      awesome_print
+      code_analyzer (>= 0.4.3)
+      colored
+      erubis
+      i18n
+      require_all
+      ruby-progressbar
+    railties (4.1.1)
+      actionpack (= 4.1.1)
+      activesupport (= 4.1.1)
+      rake (>= 0.8.7)
+      thor (>= 0.18.1, < 2.0)
+    raindrops (0.12.0)
+    rake (10.3.2)
+    raphael-rails (2.1.2)
+    rb-fsevent (0.9.3)
+    rb-inotify (0.9.2)
+      ffi (>= 0.5.0)
+    rdoc (3.12.2)
+      json (~> 1.4)
+    redcarpet (3.1.2)
+    redis (3.0.6)
+    redis-actionpack (4.0.0)
+      actionpack (~> 4)
+      redis-rack (~> 1.5.0)
+      redis-store (~> 1.1.0)
+    redis-activesupport (4.0.0)
+      activesupport (~> 4)
+      redis-store (~> 1.1.0)
+    redis-namespace (1.4.1)
+      redis (~> 3.0.4)
+    redis-rack (1.5.0)
+      rack (~> 1.5)
+      redis-store (~> 1.1.0)
+    redis-rails (4.0.0)
+      redis-actionpack (~> 4)
+      redis-activesupport (~> 4)
+      redis-store (~> 1.1.0)
+    redis-store (1.1.4)
+      redis (>= 2.2)
+    ref (1.0.5)
+    request_store (1.0.5)
+    require_all (1.3.2)
+    rest-client (1.6.7)
+      mime-types (>= 1.16)
+    rinku (1.7.3)
+    rouge (1.3.3)
+    rspec (2.14.1)
+      rspec-core (~> 2.14.0)
+      rspec-expectations (~> 2.14.0)
+      rspec-mocks (~> 2.14.0)
+    rspec-core (2.14.7)
+    rspec-expectations (2.14.4)
+      diff-lcs (>= 1.1.3, < 2.0)
+    rspec-mocks (2.14.4)
+    rspec-rails (2.14.0)
+      actionpack (>= 3.0)
+      activesupport (>= 3.0)
+      railties (>= 3.0)
+      rspec-core (~> 2.14.0)
+      rspec-expectations (~> 2.14.0)
+      rspec-mocks (~> 2.14.0)
+    ruby-progressbar (1.2.0)
+    rubyntlm (0.1.1)
+    rubypants (0.2.0)
+    rugged (0.21.0)
+    safe_yaml (0.9.7)
+    sanitize (2.1.0)
+      nokogiri (>= 1.4.4)
+    sass (3.2.19)
+    sass-rails (4.0.3)
+      railties (>= 4.0.0, < 5.0)
+      sass (~> 3.2.0)
+      sprockets (~> 2.8, <= 2.11.0)
+      sprockets-rails (~> 2.0)
+    sdoc (0.3.20)
+      json (>= 1.1.3)
+      rdoc (~> 3.10)
+    seed-fu (2.3.1)
+      activerecord (>= 3.1, < 4.2)
+      activesupport (>= 3.1, < 4.2)
+    select2-rails (3.5.2)
+      thor (~> 0.14)
+    semantic-ui-sass (0.16.1.0)
+      sass (~> 3.2)
+    settingslogic (2.0.9)
+    sexp_processor (4.4.0)
+    shoulda-matchers (2.1.0)
+      activesupport (>= 3.0.0)
+    sidekiq (2.17.0)
+      celluloid (>= 0.15.2)
+      connection_pool (>= 1.0.0)
+      json
+      redis (>= 3.0.4)
+      redis-namespace (>= 1.3.1)
+    simple_oauth (0.1.9)
+    simplecov (0.9.0)
+      docile (~> 1.1.0)
+      multi_json
+      simplecov-html (~> 0.8.0)
+    simplecov-html (0.8.0)
+    sinatra (1.4.4)
+      rack (~> 1.4)
+      rack-protection (~> 1.4)
+      tilt (~> 1.3, >= 1.3.4)
+    six (0.2.0)
+    slack-notifier (0.3.2)
+    slim (2.0.2)
+      temple (~> 0.6.6)
+      tilt (>= 1.3.3, < 2.1)
+    slop (3.4.7)
+    spinach (0.8.7)
+      colorize (= 0.5.8)
+      gherkin-ruby (>= 0.3.1)
+    spinach-rails (0.2.1)
+      capybara (>= 2.0.0)
+      railties (>= 3)
+      spinach (>= 0.4)
+    spring (1.1.3)
+    spring-commands-rspec (1.0.1)
+      spring (>= 0.9.1)
+    spring-commands-spinach (1.0.0)
+      spring (>= 0.9.1)
+    sprockets (2.11.0)
+      hike (~> 1.2)
+      multi_json (~> 1.0)
+      rack (~> 1.0)
+      tilt (~> 1.1, != 1.3.0)
+    sprockets-rails (2.1.3)
+      actionpack (>= 3.0)
+      activesupport (>= 3.0)
+      sprockets (~> 2.8)
+    stamp (0.5.0)
+    state_machine (1.2.0)
+    stringex (2.5.1)
+    temple (0.6.7)
+    term-ansicolor (1.2.2)
+      tins (~> 0.8)
+    test_after_commit (0.2.2)
+    therubyracer (0.12.0)
+      libv8 (~> 3.16.14.0)
+      ref
+    thin (1.6.1)
+      daemons (>= 1.0.9)
+      eventmachine (>= 1.0.0)
+      rack (>= 1.0.0)
+    thor (0.19.1)
+    thread_safe (0.3.4)
+    tilt (1.4.1)
+    timers (1.1.0)
+    tinder (1.9.3)
+      eventmachine (~> 1.0)
+      faraday (~> 0.8)
+      faraday_middleware (~> 0.9)
+      hashie (>= 1.0, < 3)
+      json (~> 1.8.0)
+      mime-types (~> 1.19)
+      multi_json (~> 1.7)
+      twitter-stream (~> 0.1)
+    tins (0.13.1)
+    treetop (1.4.15)
+      polyglot
+      polyglot (>= 0.3.1)
+    turbolinks (2.0.0)
+      coffee-rails
+    twitter-stream (0.1.16)
+      eventmachine (>= 0.12.8)
+      http_parser.rb (~> 0.5.1)
+      simple_oauth (~> 0.1.4)
+    tzinfo (1.2.2)
+      thread_safe (~> 0.1)
+    uglifier (2.3.2)
+      execjs (>= 0.3.0)
+      json (>= 1.8.0)
+    underscore-rails (1.4.4)
+    unf (0.1.4)
+      unf_ext
+    unf_ext (0.0.6)
+    unicorn (4.6.3)
+      kgio (~> 2.6)
+      rack
+      raindrops (~> 0.7)
+    unicorn-worker-killer (0.4.2)
+      unicorn (~> 4)
+    version_sorter (1.1.0)
+    virtus (1.0.1)
+      axiom-types (~> 0.0.5)
+      coercible (~> 1.0)
+      descendants_tracker (~> 0.0.1)
+      equalizer (~> 0.0.7)
+    warden (1.2.3)
+      rack (>= 1.0)
+    webmock (1.16.0)
+      addressable (>= 2.2.7)
+      crack (>= 0.3.2)
+    websocket-driver (0.3.3)
+    wikicloth (0.8.1)
+      builder
+      expression_parser
+      rinku
+    xpath (2.0.0)
+      nokogiri (~> 1.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  RedCloth
+  ace-rails-ap
+  acts-as-taggable-on
+  annotate (~> 2.6.0.beta2)
+  asciidoctor (= 0.1.4)
+  awesome_print
+  better_errors
+  binding_of_caller
+  bootstrap-sass (~> 3.0)
+  capybara (~> 2.2.1)
+  carrierwave
+  coffee-rails
+  colored
+  coveralls
+  creole (~> 0.3.6)
+  d3_rails (~> 3.1.4)
+  database_cleaner
+  default_value_for (~> 3.0.0)
+  devise (= 3.2.4)
+  devise-async (= 0.9.0)
+  diffy (~> 3.0.3)
+  dropzonejs-rails
+  email_spec
+  enumerize
+  factory_girl_rails
+  ffaker
+  fog (~> 1.14)
+  font-awesome-rails (~> 4.2)
+  foreman
+  gemnasium-gitlab-service (~> 0.2)
+  github-markup
+  gitlab-flowdock-git-hook (~> 0.4.2)
+  gitlab-grack (~> 2.0.0.pre)
+  gitlab-linguist (~> 3.0.0)
+  gitlab_emoji (~> 0.0.1.1)
+  gitlab_git (= 7.0.0.rc10)
+  gitlab_meta (= 7.0)
+  gitlab_omniauth-ldap (= 1.1.0)
+  gollum-lib (~> 3.0.0)
+  gon (~> 5.0.0)
+  grape (~> 0.6.1)
+  grape-entity (~> 0.4.2)
+  growl
+  guard-rspec
+  guard-spinach
+  haml-rails
+  hipchat (~> 0.14.0)
+  html-pipeline-gitlab (~> 0.1.0)
+  httparty
+  jasmine (= 2.0.2)
+  jquery-atwho-rails (~> 0.3.3)
+  jquery-rails
+  jquery-scrollto-rails
+  jquery-turbolinks
+  jquery-ui-rails
+  kaminari (~> 0.15.1)
+  launchy
+  letter_opener
+  minitest (~> 5.3.0)
+  mousetrap-rails
+  mysql2
+  newrelic_rpm
+  nprogress-rails
+  omniauth (~> 1.1.3)
+  omniauth-github
+  omniauth-google-oauth2
+  omniauth-shibboleth
+  omniauth-twitter
+  org-ruby (= 0.9.9)
+  pg
+  poltergeist (~> 1.5.1)
+  pry
+  quiet_assets (~> 1.0.1)
+  rack-attack
+  rack-cors
+  rack-mini-profiler
+  rails (~> 4.1.0)
+  rails_autolink (~> 1.1)
+  rails_best_practices
+  raphael-rails (~> 2.1.2)
+  rb-fsevent
+  rb-inotify
+  rdoc (~> 3.6)
+  redcarpet (~> 3.1.2)
+  redis-rails
+  request_store
+  rspec-rails
+  sanitize (~> 2.0)
+  sass-rails (~> 4.0.2)
+  sdoc
+  seed-fu
+  select2-rails
+  semantic-ui-sass (~> 0.16.1.0)
+  settingslogic
+  shoulda-matchers (~> 2.1.0)
+  sidekiq (= 2.17.0)
+  simplecov
+  sinatra
+  six
+  slack-notifier (~> 0.3.2)
+  slim
+  spinach-rails
+  spring (= 1.1.3)
+  spring-commands-rspec (= 1.0.1)
+  spring-commands-spinach (= 1.0.0)
+  stamp
+  state_machine
+  test_after_commit
+  therubyracer
+  thin
+  tinder (~> 1.9.2)
+  turbolinks
+  uglifier
+  underscore-rails (~> 1.4.4)
+  unf
+  unicorn (~> 4.6.3)
+  unicorn-worker-killer
+  version_sorter
+  virtus
+  webmock
+  wikicloth (= 0.8.1)
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
new file mode 100644
index 00000000000..4f75bb94a29
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, lib, bundler, fetchgit, bundlerEnv, defaultGemConfig, libiconv, ruby
+, tzdata, git
+}:
+
+let
+  gitlab = fetchgit {
+    url = "https://github.com/gitlabhq/gitlabhq.git";
+    rev = "477743a154e85c411e8a533980abce460b5669fc";
+    fetchSubmodules = false;
+    sha256 = "1gk77j886w6zvw5cawpgja6f87qirmjx7y4g5i3psxm4j67llxdp";
+  };
+
+  env = bundlerEnv {
+    name = "gitlab";
+    inherit ruby;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+    meta = with lib; {
+      homepage = http://www.gitlab.com/;
+      platforms = platforms.linux;
+      maintainers = [ ];
+      license = licenses.mit;
+    };
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "gitlab-${version}";
+  version = "7.4.2";
+  buildInputs = [ ruby bundler tzdata git ];
+  unpackPhase = ''
+    runHook preUnpack
+    cp -r ${gitlab}/* .
+    chmod -R +w .
+    cp ${./Gemfile} Gemfile
+    cp ${./Gemfile.lock} Gemfile.lock
+    runHook postUnpack
+  '';
+  patches = [
+    ./remove-hardcoded-locations.patch
+  ];
+  postPatch = ''
+    # For reasons I don't understand "bundle exec" ignores the
+    # RAILS_ENV causing tests to be executed that fail because we're
+    # not installing development and test gems above. Deleting the
+    # tests works though.:
+    rm lib/tasks/test.rake
+
+    mv config/gitlab.yml.example config/gitlab.yml
+
+    # required for some gems:
+    cat > config/database.yml <<EOF
+      production:
+        adapter: postgresql
+        database: gitlab
+        host: <%= ENV["GITLAB_DATABASE_HOST"] || "127.0.0.1" %>
+        password: <%= ENV["GITLAB_DATABASE_PASSWORD"] || "blerg" %>
+        username: gitlab
+        encoding: utf8
+    EOF
+  '';
+  buildPhase = ''
+    export GEM_HOME=${env}/${ruby.gemPath}
+    bundle exec rake assets:precompile RAILS_ENV=production
+  '';
+  installPhase = ''
+    mkdir -p $out/share
+    cp -r . $out/share/gitlab
+  '';
+  passthru = {
+    inherit env;
+    inherit ruby;
+  };
+}
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
new file mode 100644
index 00000000000..392550daae5
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -0,0 +1,2398 @@
+{
+  "RedCloth" = {
+    version = "4.2.9";
+    source = {
+      type = "gem";
+      sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
+    };
+  };
+  "ace-rails-ap" = {
+    version = "2.0.1";
+    source = {
+      type = "gem";
+      sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
+    };
+  };
+  "actionmailer" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "14mbmlwyrxccmf2svhxmvrv0ypcq53xyyqzh4a2r2azmxjb1zxnx";
+    };
+    dependencies = [
+      "actionpack"
+      "actionview"
+      "mail"
+    ];
+  };
+  "actionpack" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "078iqmjay787xg76zibnvk485y29d57wffiv9nj0nmzb89jfa6y1";
+    };
+    dependencies = [
+      "actionview"
+      "activesupport"
+      "rack"
+      "rack-test"
+    ];
+  };
+  "actionview" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0wlhsy9hqzpi3xylphx71i9bd5x6dd03qzrh4nnc8mimzjbv14jq";
+    };
+    dependencies = [
+      "activesupport"
+      "builder"
+      "erubis"
+    ];
+  };
+  "activemodel" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0cijxp7n0zv1j2bh5jyirlcwi24j9xlwfsmn7icr0zsybgc0in61";
+    };
+    dependencies = [
+      "activesupport"
+      "builder"
+    ];
+  };
+  "activerecord" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "180kxb98097nh8dprqrm5d1ab6xaqv8kxqdbm1p84y87w0kj57yz";
+    };
+    dependencies = [
+      "activemodel"
+      "activesupport"
+      "arel"
+    ];
+  };
+  "activesupport" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "11dsdfrdqqfhpgigb960a4xrs1k7ix5brbsw034nijn8d4fq0hkk";
+    };
+    dependencies = [
+      "i18n"
+      "json"
+      "minitest"
+      "thread_safe"
+      "tzinfo"
+    ];
+  };
+  "acts-as-taggable-on" = {
+    version = "2.4.1";
+    source = {
+      type = "gem";
+      sha256 = "0gbmxx6nk109i6c4686vr5wpf89xiiys7s2lwf7z68dpgi1dsxab";
+    };
+    dependencies = [
+      "rails"
+    ];
+  };
+  "addressable" = {
+    version = "2.3.5";
+    source = {
+      type = "gem";
+      sha256 = "11hv69v6h39j7m4v51a4p7my7xwjbhxbsg3y7ja156z7by10wkg7";
+    };
+  };
+  "annotate" = {
+    version = "2.6.0";
+    source = {
+      type = "gem";
+      sha256 = "0min6rmiqjnp6irjd9mjlz8k13qzx4g51d8v6vn8zn8hdnfbjanr";
+    };
+    dependencies = [
+      "activerecord"
+      "rake"
+    ];
+  };
+  "arel" = {
+    version = "5.0.1.20140414130214";
+    source = {
+      type = "gem";
+      sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
+    };
+  };
+  "asciidoctor" = {
+    version = "0.1.4";
+    source = {
+      type = "gem";
+      sha256 = "14ngw7c8sq5ydh0xz6b5jgvs5vbk2sx1vf75fjf0q81ixnd6yb9a";
+    };
+  };
+  "awesome_print" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
+    };
+  };
+  "axiom-types" = {
+    version = "0.0.5";
+    source = {
+      type = "gem";
+      sha256 = "0k6mf132n2f5z8xwcwfjayrxfqsd8yyzj2cgxv5phvr7szlqfyzn";
+    };
+    dependencies = [
+      "descendants_tracker"
+      "ice_nine"
+    ];
+  };
+  "bcrypt" = {
+    version = "3.1.7";
+    source = {
+      type = "gem";
+      sha256 = "00jpjl2v0y8dsfhxx3l3sp2pnflkxbbywnda46n1w5f7a8qrac0w";
+    };
+  };
+  "better_errors" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
+    };
+    dependencies = [
+      "coderay"
+      "erubis"
+    ];
+  };
+  "binding_of_caller" = {
+    version = "0.7.2";
+    source = {
+      type = "gem";
+      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
+    };
+    dependencies = [
+      "debug_inspector"
+    ];
+  };
+  "bootstrap-sass" = {
+    version = "3.0.3.0";
+    source = {
+      type = "gem";
+      sha256 = "1isljqrlasq9n7cxj4ldf0cjjhkwzsbl8lj6rf5z9farwjx6k4iz";
+    };
+    dependencies = [
+      "sass"
+    ];
+  };
+  "builder" = {
+    version = "3.2.2";
+    source = {
+      type = "gem";
+      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
+    };
+  };
+  "capybara" = {
+    version = "2.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1sydb3mnznqn23s2cqb0ysdml0dgl06fzdvx8aqbbx1km9pgz080";
+    };
+    dependencies = [
+      "mime-types"
+      "nokogiri"
+      "rack"
+      "rack-test"
+      "xpath"
+    ];
+  };
+  "carrierwave" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
+    };
+    dependencies = [
+      "activemodel"
+      "activesupport"
+      "json"
+    ];
+  };
+  "celluloid" = {
+    version = "0.15.2";
+    source = {
+      type = "gem";
+      sha256 = "0lpa97m7f4p5hgzaaa47y1d5c78n8pp4xd8qb0sn5llqd0klkd9b";
+    };
+    dependencies = [
+      "timers"
+    ];
+  };
+  "charlock_holmes" = {
+    version = "0.6.9.4";
+    source = {
+      type = "gem";
+      sha256 = "1vyzsr3r2bwig9knyhay1m7i828w9x5zhma44iajyrbs1ypvfbg5";
+    };
+  };
+  "cliver" = {
+    version = "0.3.2";
+    source = {
+      type = "gem";
+      sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
+    };
+  };
+  "code_analyzer" = {
+    version = "0.4.3";
+    source = {
+      type = "gem";
+      sha256 = "1v8b6sbsyw1612wilfc2bsjbr41gf46apjqmlqbishmkhywi1di7";
+    };
+    dependencies = [
+      "sexp_processor"
+    ];
+  };
+  "coderay" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
+    };
+  };
+  "coercible" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
+    };
+    dependencies = [
+      "descendants_tracker"
+    ];
+  };
+  "coffee-rails" = {
+    version = "4.0.1";
+    source = {
+      type = "gem";
+      sha256 = "12nqw61xfs43qap4bxp123q4fgj41gvxirdal95ymdd2qzr3cvig";
+    };
+    dependencies = [
+      "coffee-script"
+      "railties"
+    ];
+  };
+  "coffee-script" = {
+    version = "2.2.0";
+    source = {
+      type = "gem";
+      sha256 = "133cp4znfp44wwnv12myw8s0z6qws74ilqmw88iwzkshg689zpdc";
+    };
+    dependencies = [
+      "coffee-script-source"
+      "execjs"
+    ];
+  };
+  "coffee-script-source" = {
+    version = "1.6.3";
+    source = {
+      type = "gem";
+      sha256 = "0p33h0rdj1n8xhm2d5hzqbb8br6wn4rx0gk4hyhc6rxkaxsy79b4";
+    };
+  };
+  "colored" = {
+    version = "1.2";
+    source = {
+      type = "gem";
+      sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx";
+    };
+  };
+  "colorize" = {
+    version = "0.5.8";
+    source = {
+      type = "gem";
+      sha256 = "1rfzvscnk2js87zzwjgg2lk6h6mrv9448z5vx3b8vnm9yrb2qg8g";
+    };
+  };
+  "connection_pool" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1ffw78r39b3gn121ghi65fsrkzjjv7h0mxag6ilphsas1kzz3h21";
+    };
+  };
+  "coveralls" = {
+    version = "0.7.0";
+    source = {
+      type = "gem";
+      sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4";
+    };
+    dependencies = [
+      "multi_json"
+      "rest-client"
+      "simplecov"
+      "term-ansicolor"
+      "thor"
+    ];
+  };
+  "crack" = {
+    version = "0.4.1";
+    source = {
+      type = "gem";
+      sha256 = "0wb2s4nidabcgn2k65ydhx0f9758py79p615qph99117csy915jg";
+    };
+    dependencies = [
+      "safe_yaml"
+    ];
+  };
+  "creole" = {
+    version = "0.3.8";
+    source = {
+      type = "gem";
+      sha256 = "1wwqk5ij4r5rhzbzhnpqwbn9ck56qgyjs02pjmi2wh46gs8dmkl8";
+    };
+  };
+  "d3_rails" = {
+    version = "3.1.10";
+    source = {
+      type = "gem";
+      sha256 = "1n94vwn51v1dfqjqmdkb11mgyvq6dfmf5cjwa9w1nj3785yvkii8";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "daemons" = {
+    version = "1.1.9";
+    source = {
+      type = "gem";
+      sha256 = "1j1m64pirsldhic6x6sg4lcrmp1bs1ihpd49xm8m1b2rc1c3irzy";
+    };
+  };
+  "database_cleaner" = {
+    version = "1.3.0";
+    source = {
+      type = "gem";
+      sha256 = "19w25yda684pg29bggq26wy4lpyjvzscwg2hx3hmmmpysiwfnxgn";
+    };
+  };
+  "debug_inspector" = {
+    version = "0.0.2";
+    source = {
+      type = "gem";
+      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
+    };
+  };
+  "default_value_for" = {
+    version = "3.0.0";
+    source = {
+      type = "gem";
+      sha256 = "08bhk2dzxpvsk891y415man42vn3f9cvysysywh1iavxbv5qkg8z";
+    };
+    dependencies = [
+      "activerecord"
+    ];
+  };
+  "descendants_tracker" = {
+    version = "0.0.3";
+    source = {
+      type = "gem";
+      sha256 = "0819j80k85j62qjg90v8z8s3h4nf3v6afxxz73hl6iqxr2dhgmq1";
+    };
+  };
+  "devise" = {
+    version = "3.2.4";
+    source = {
+      type = "gem";
+      sha256 = "1za4082iacq2n0g0v5s1vmn402wj4bwvqqd55phc9da922j4awx3";
+    };
+    dependencies = [
+      "bcrypt"
+      "orm_adapter"
+      "railties"
+      "thread_safe"
+      "warden"
+    ];
+  };
+  "devise-async" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
+    };
+    dependencies = [
+      "devise"
+    ];
+  };
+  "diff-lcs" = {
+    version = "1.2.5";
+    source = {
+      type = "gem";
+      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
+    };
+  };
+  "diffy" = {
+    version = "3.0.3";
+    source = {
+      type = "gem";
+      sha256 = "0qldyp6m5vlagiaiwdixbj64ynr5ghz58xsrxykas7581qdxk88m";
+    };
+  };
+  "docile" = {
+    version = "1.1.5";
+    source = {
+      type = "gem";
+      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
+    };
+  };
+  "dotenv" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1gl0m6s8d6m72wcm4p86kzzjdihyryi5mh6v70qkqd0dl1gj73l3";
+    };
+  };
+  "dropzonejs-rails" = {
+    version = "0.4.14";
+    source = {
+      type = "gem";
+      sha256 = "0aqjij9dvazz7vq9c8m9fxjc3vnkfagqgnq94whzgrm2ikszb1ny";
+    };
+    dependencies = [
+      "rails"
+    ];
+  };
+  "email_spec" = {
+    version = "1.5.0";
+    source = {
+      type = "gem";
+      sha256 = "0gshv8ylfr1nf6mhgriyzlm5rv5c44yxlgmxva8gpdqsyibfa1r6";
+    };
+    dependencies = [
+      "launchy"
+      "mail"
+    ];
+  };
+  "emoji" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "01fgzkwfsfcvcgrxb6x58w8rpcv0hq6x761iws0xqv0rzz3a8x1a";
+    };
+    dependencies = [
+      "json"
+    ];
+  };
+  "enumerize" = {
+    version = "0.7.0";
+    source = {
+      type = "gem";
+      sha256 = "0rg6bm3xv7p4i5gs4796v8gc49mzakphwv4kdbhn0wjm690h6226";
+    };
+    dependencies = [
+      "activesupport"
+    ];
+  };
+  "equalizer" = {
+    version = "0.0.8";
+    source = {
+      type = "gem";
+      sha256 = "1nh9i4khg7z2nsay8i1i43yk6ml2hwsf7cl179z22p4kwvn04vfn";
+    };
+  };
+  "erubis" = {
+    version = "2.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+    };
+  };
+  "escape_utils" = {
+    version = "0.2.4";
+    source = {
+      type = "gem";
+      sha256 = "0mg5pgaa02w1bxh0166d367f2ll6fizyrs5dsirrcnw4g17ba54g";
+    };
+  };
+  "eventmachine" = {
+    version = "1.0.3";
+    source = {
+      type = "gem";
+      sha256 = "09sqlsb6x9ddlgfw5gsw7z0yjg5m2qfjiqkz2fx70zsizj3lqhil";
+    };
+  };
+  "excon" = {
+    version = "0.32.1";
+    source = {
+      type = "gem";
+      sha256 = "0yazh0228ldyxrbrj5pqw06rs5sk3disp24v5bw4h8mp3ibih45a";
+    };
+  };
+  "execjs" = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs";
+    };
+  };
+  "expression_parser" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
+    };
+  };
+  "factory_girl" = {
+    version = "4.3.0";
+    source = {
+      type = "gem";
+      sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
+    };
+    dependencies = [
+      "activesupport"
+    ];
+  };
+  "factory_girl_rails" = {
+    version = "4.3.0";
+    source = {
+      type = "gem";
+      sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
+    };
+    dependencies = [
+      "factory_girl"
+      "railties"
+    ];
+  };
+  "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"
+    ];
+  };
+  "ffaker" = {
+    version = "1.22.1";
+    source = {
+      type = "gem";
+      sha256 = "17zpqhf1kq831jg9rdrpx58mwnrnrvy5g97rxg3hzgy5j09kxq0q";
+    };
+  };
+  "ffi" = {
+    version = "1.9.3";
+    source = {
+      type = "gem";
+      sha256 = "0873h6jp3v65mll7av9bxlzp9m9l1cc66j0krg0llchwbh4pv5sp";
+    };
+  };
+  "fog" = {
+    version = "1.21.0";
+    source = {
+      type = "gem";
+      sha256 = "14hbq573gl5x8zrcx5jz9d7m6rnn0vk8ypgn77hrhjh0wyxb0a7f";
+    };
+    dependencies = [
+      "fog-brightbox"
+      "fog-core"
+      "fog-json"
+      "nokogiri"
+    ];
+  };
+  "fog-brightbox" = {
+    version = "0.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0j1bpfa8in3h69habl46zmm1540w46348gd246bamrs5gi4zfqkk";
+    };
+    dependencies = [
+      "fog-core"
+      "fog-json"
+    ];
+  };
+  "fog-core" = {
+    version = "1.21.1";
+    source = {
+      type = "gem";
+      sha256 = "1wcxilb537ibfl06r8h73ilj5xxvd18cc21nzwbh6fp2ip527q34";
+    };
+    dependencies = [
+      "builder"
+      "excon"
+      "formatador"
+      "mime-types"
+      "net-scp"
+      "net-ssh"
+    ];
+  };
+  "fog-json" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1517sm8bl0bmaw2fbaf5ra6midq3wzgkpm55lb9rw6jm5ys23lyw";
+    };
+    dependencies = [
+      "multi_json"
+    ];
+  };
+  "font-awesome-rails" = {
+    version = "4.2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1r6x34lswqcm6s6y5fvx34afsydpdly0123m75m1f5vx30l81jh0";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "foreman" = {
+    version = "0.63.0";
+    source = {
+      type = "gem";
+      sha256 = "0yqyjix9jm4iwyc4f3wc32vxr28rpjcw1c9ni5brs4s2a24inzlk";
+    };
+    dependencies = [
+      "dotenv"
+      "thor"
+    ];
+  };
+  "formatador" = {
+    version = "0.2.4";
+    source = {
+      type = "gem";
+      sha256 = "0pgmk1h6i6m3cslnfyjqld06a4c2xbbvmngxg2axddf39xwz6f12";
+    };
+  };
+  "gemnasium-gitlab-service" = {
+    version = "0.2.2";
+    source = {
+      type = "gem";
+      sha256 = "0a3jy2z1xkgxaqxhsclsfkn52iccdga5zznfk00s69gn0bpvdfc2";
+    };
+    dependencies = [
+      "rugged"
+    ];
+  };
+  "gherkin-ruby" = {
+    version = "0.3.1";
+    source = {
+      type = "gem";
+      sha256 = "10plcj47ky078dvg78abf0asv29g6ba1zs9mgrza1161cxyj0mlq";
+    };
+    dependencies = [
+      "racc"
+    ];
+  };
+  "github-markup" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "06zsljgavpkwafw32zx69xblhrhz1r2mjbhgpvn51c2qa0rmsd7g";
+    };
+  };
+  "gitlab-flowdock-git-hook" = {
+    version = "0.4.2.2";
+    source = {
+      type = "gem";
+      sha256 = "0r6hwkzkcdv53ib9ispjs38njxmmca7kz8kj5mjadqvdwiak9nwv";
+    };
+    dependencies = [
+      "gitlab-grit"
+      "multi_json"
+    ];
+  };
+  "gitlab-grack" = {
+    version = "2.0.0.pre";
+    source = {
+      type = "gem";
+      sha256 = "197qdlymn6cf0qk3698kn0miizv7x9hr1429g9l900rnc85a5rdb";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "gitlab-grit" = {
+    version = "2.6.12";
+    source = {
+      type = "gem";
+      sha256 = "00yghwc3ggg34vdkz7v8mq27fc8h47kydahbqzaby5s0w70nx6c8";
+    };
+    dependencies = [
+      "charlock_holmes"
+      "diff-lcs"
+      "mime-types"
+      "posix-spawn"
+    ];
+  };
+  "gitlab-linguist" = {
+    version = "3.0.0";
+    source = {
+      type = "gem";
+      sha256 = "0g2nv7lb33354nb8clwjrgxk09vr3wjn4rpyllmq6s01vx660lk6";
+    };
+    dependencies = [
+      "charlock_holmes"
+      "escape_utils"
+      "mime-types"
+    ];
+  };
+  "gitlab_emoji" = {
+    version = "0.0.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0cqxhbq5c3mvkxbdcwcl4pa0cwlvnjsphs7hp2dz63h82ggwa3vn";
+    };
+    dependencies = [
+      "emoji"
+    ];
+  };
+  "gitlab_git" = {
+    version = "7.0.0.rc10";
+    source = {
+      type = "gem";
+      sha256 = "0kjljz76wh4344z05mv3wiad7qdf6nwaa0yl1jls1j0hk9i4bb4k";
+    };
+    dependencies = [
+      "activesupport"
+      "charlock_holmes"
+      "gitlab-linguist"
+      "rugged"
+    ];
+  };
+  "gitlab_meta" = {
+    version = "7.0";
+    source = {
+      type = "gem";
+      sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
+    };
+  };
+  "gitlab_omniauth-ldap" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0bpsh8z8fl03fwgz82wn53ibrc7714hmx16s5zxfbq1xk70r3pq7";
+    };
+    dependencies = [
+      "net-ldap"
+      "omniauth"
+      "pyu-ruby-sasl"
+      "rubyntlm"
+    ];
+  };
+  "gollum-lib" = {
+    version = "3.0.0";
+    source = {
+      type = "gem";
+      sha256 = "18g74hl0zm285jszsk4414qvd106j0gkydg134my8hylwv59c23s";
+    };
+    dependencies = [
+      "github-markup"
+      "gitlab-grit"
+      "nokogiri"
+      "rouge"
+      "sanitize"
+      "stringex"
+    ];
+  };
+  "gon" = {
+    version = "5.0.1";
+    source = {
+      type = "gem";
+      sha256 = "19ga6y4375iakccg089f7789r9n87gh16cdmhaa0qsk1m1dx34zm";
+    };
+    dependencies = [
+      "actionpack"
+      "json"
+    ];
+  };
+  "grape" = {
+    version = "0.6.1";
+    source = {
+      type = "gem";
+      sha256 = "1sjlk0pmgqbb3piz8yb0xjcm7liimrr17y5xflm40amv36pg2gz8";
+    };
+    dependencies = [
+      "activesupport"
+      "builder"
+      "hashie"
+      "multi_json"
+      "multi_xml"
+      "rack"
+      "rack-accept"
+      "rack-mount"
+      "virtus"
+    ];
+  };
+  "grape-entity" = {
+    version = "0.4.2";
+    source = {
+      type = "gem";
+      sha256 = "15vvpj7hw2n84glrvh5p3il8h3nnqg5gzgk6knavhamc7gj09g4k";
+    };
+    dependencies = [
+      "activesupport"
+      "multi_json"
+    ];
+  };
+  "growl" = {
+    version = "1.0.3";
+    source = {
+      type = "gem";
+      sha256 = "0s0y7maljnalpbv2q1j5j5hvb4wcc31y9af0n7x1q2l0fzxgc9n9";
+    };
+  };
+  "guard" = {
+    version = "2.2.4";
+    source = {
+      type = "gem";
+      sha256 = "0z427rkcpzy82g21cgq7i5sn1vxn8hm8j4d78kj9vlaqgilcybhq";
+    };
+    dependencies = [
+      "formatador"
+      "listen"
+      "lumberjack"
+      "pry"
+      "thor"
+    ];
+  };
+  "guard-rspec" = {
+    version = "4.2.0";
+    source = {
+      type = "gem";
+      sha256 = "0n4159cw88y0va5v2yvhjphwlgwhqbc3mplj7p92irbj045xsc8n";
+    };
+    dependencies = [
+      "guard"
+      "rspec"
+    ];
+  };
+  "guard-spinach" = {
+    version = "0.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1fsh6yifiywvnzrk6wbgssxr5bshp38gbhs96hbfzhvzfiff0xid";
+    };
+    dependencies = [
+      "guard"
+      "spinach"
+    ];
+  };
+  "haml" = {
+    version = "4.0.5";
+    source = {
+      type = "gem";
+      sha256 = "1xmzb0k5q271090crzmv7dbw8ss4289bzxklrc0fhw6pw3kcvc85";
+    };
+    dependencies = [
+      "tilt"
+    ];
+  };
+  "haml-rails" = {
+    version = "0.5.3";
+    source = {
+      type = "gem";
+      sha256 = "0fg4dh1gb7f4h2571wm5qxli02mgg3r8ikp5vwkww12a431vk625";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "haml"
+      "railties"
+    ];
+  };
+  "hashie" = {
+    version = "2.1.2";
+    source = {
+      type = "gem";
+      sha256 = "08w9ask37zh5w989b6igair3zf8gwllyzix97rlabxglif9f9qd9";
+    };
+  };
+  "hike" = {
+    version = "1.2.3";
+    source = {
+      type = "gem";
+      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
+    };
+  };
+  "hipchat" = {
+    version = "0.14.0";
+    source = {
+      type = "gem";
+      sha256 = "1y3bi5aj21iay138027i8y9b022hpsfw54k7k31argp2gppc8y0n";
+    };
+    dependencies = [
+      "httparty"
+      "httparty"
+    ];
+  };
+  "html-pipeline" = {
+    version = "1.11.0";
+    source = {
+      type = "gem";
+      sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
+    };
+    dependencies = [
+      "activesupport"
+      "nokogiri"
+    ];
+  };
+  "html-pipeline-gitlab" = {
+    version = "0.1.5";
+    source = {
+      type = "gem";
+      sha256 = "1gih8j7sq45244v21z5rc19mi21achiy11l5sc8a4xfkvq5gldng";
+    };
+    dependencies = [
+      "actionpack"
+      "gitlab_emoji"
+      "html-pipeline"
+      "sanitize"
+    ];
+  };
+  "http_parser.rb" = {
+    version = "0.5.3";
+    source = {
+      type = "gem";
+      sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
+    };
+  };
+  "httparty" = {
+    version = "0.13.0";
+    source = {
+      type = "gem";
+      sha256 = "1qda6yhxwh1riddnib8knhqc0ja5h26i75kaxnywfldx9rkd32jw";
+    };
+    dependencies = [
+      "json"
+      "multi_xml"
+    ];
+  };
+  "httpauth" = {
+    version = "0.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1ydlaf1nvs3g7b4xp9445m01qyjbwnbbh2f7gvialipyipj92j8d";
+    };
+  };
+  "i18n" = {
+    version = "0.6.11";
+    source = {
+      type = "gem";
+      sha256 = "0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk";
+    };
+  };
+  "ice_nine" = {
+    version = "0.10.0";
+    source = {
+      type = "gem";
+      sha256 = "0hjcn06xgrmpz3zyg0yirx6r7xb2m6akhn29p4yn4698ncw7b3qh";
+    };
+  };
+  "jasmine" = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1v0z5a5m4np12m0lmf0vl63qdxbh6zxnxbnzx3xjwky723inqhir";
+    };
+    dependencies = [
+      "jasmine-core"
+      "phantomjs"
+      "rack"
+      "rake"
+    ];
+  };
+  "jasmine-core" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1frr9ndyrawag8c4rhd0yxl3318s5xwb3dqvz3i6z8nc936gwfzj";
+    };
+  };
+  "jquery-atwho-rails" = {
+    version = "0.3.3";
+    source = {
+      type = "gem";
+      sha256 = "1f8w1kqy46s4qzfhlh08qb1l1czl6randcccxpknaw9pzf367fvs";
+    };
+  };
+  "jquery-rails" = {
+    version = "3.1.0";
+    source = {
+      type = "gem";
+      sha256 = "130a8gn67b2zn47yyqshf48d46na885v4g3mh2rrchd5ma1jy6cx";
+    };
+    dependencies = [
+      "railties"
+      "thor"
+    ];
+  };
+  "jquery-scrollto-rails" = {
+    version = "1.4.3";
+    source = {
+      type = "gem";
+      sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "jquery-turbolinks" = {
+    version = "2.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0d6av6cc0g8ym5zlkc8f00zxmnqchs95h7hqnrs2yrfz9nj856kd";
+    };
+    dependencies = [
+      "railties"
+      "turbolinks"
+    ];
+  };
+  "jquery-ui-rails" = {
+    version = "4.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "json" = {
+    version = "1.8.1";
+    source = {
+      type = "gem";
+      sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn";
+    };
+  };
+  "jwt" = {
+    version = "0.1.13";
+    source = {
+      type = "gem";
+      sha256 = "03c8sy54nhvvb0ksphk15p5yfkd601ncs55k4h32hjqbm9vgnlsn";
+    };
+    dependencies = [
+      "multi_json"
+    ];
+  };
+  "kaminari" = {
+    version = "0.15.1";
+    source = {
+      type = "gem";
+      sha256 = "1m67ghp55hr16k1njhd00f225qys67n60qa3jz69kzqvrp6qg33d";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+    ];
+  };
+  "kgio" = {
+    version = "2.8.1";
+    source = {
+      type = "gem";
+      sha256 = "0vpw3nk35mh8mda4gn0qklq51znxxgv3852g6mxifi6hjwxrmrcj";
+    };
+  };
+  "launchy" = {
+    version = "2.4.2";
+    source = {
+      type = "gem";
+      sha256 = "0i1nmlrqpnk2q6f7iq85cqaa7b8fw4bmqm57w60g92lsfmszs8iv";
+    };
+    dependencies = [
+      "addressable"
+    ];
+  };
+  "letter_opener" = {
+    version = "1.1.2";
+    source = {
+      type = "gem";
+      sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
+    };
+    dependencies = [
+      "launchy"
+    ];
+  };
+  "libv8" = {
+    version = "3.16.14.3";
+    source = {
+      type = "gem";
+      sha256 = "1arjjbmr9zxkyv6pdrihsz1p5cadzmx8308vgfvrhm380ccgridm";
+    };
+  };
+  "listen" = {
+    version = "2.3.1";
+    source = {
+      type = "gem";
+      sha256 = "081pv5nw79nl1251prh11v3ywghcmb660xm990rbp5bs6c3vcjam";
+    };
+    dependencies = [
+      "celluloid"
+      "rb-fsevent"
+      "rb-inotify"
+    ];
+  };
+  "lumberjack" = {
+    version = "1.0.4";
+    source = {
+      type = "gem";
+      sha256 = "1mj6m12hnmkvzl4w2yh04ak3z45pwksj6ra7v30za8snw9kg919d";
+    };
+  };
+  "mail" = {
+    version = "2.5.4";
+    source = {
+      type = "gem";
+      sha256 = "0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4";
+    };
+    dependencies = [
+      "mime-types"
+      "treetop"
+    ];
+  };
+  "method_source" = {
+    version = "0.8.2";
+    source = {
+      type = "gem";
+      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
+    };
+  };
+  "mime-types" = {
+    version = "1.25.1";
+    source = {
+      type = "gem";
+      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+    };
+  };
+  "mini_portile" = {
+    version = "0.6.0";
+    source = {
+      type = "gem";
+      sha256 = "09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn";
+    };
+  };
+  "minitest" = {
+    version = "5.3.5";
+    source = {
+      type = "gem";
+      sha256 = "18lkfjr0p26x5qxaficwlnhvjrf5bqwl244qdx4pvr5clrvv17xr";
+    };
+  };
+  "mousetrap-rails" = {
+    version = "1.4.6";
+    source = {
+      type = "gem";
+      sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
+    };
+  };
+  "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";
+    };
+  };
+  "mysql2" = {
+    version = "0.3.16";
+    source = {
+      type = "gem";
+      sha256 = "0ikg892bvyviqvxsyn0v6vj9ndhgdbc1339488n8y4s9zh35y71f";
+    };
+  };
+  "net-ldap" = {
+    version = "0.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1d54cm02w8xi5nylss5b9vmzsscflcrbwg5qv1rp5frak4f397fk";
+    };
+  };
+  "net-scp" = {
+    version = "1.1.2";
+    source = {
+      type = "gem";
+      sha256 = "0xsr5gka2y14i5pa6h2lgkdzvmlviqq2qbmgaw76gdzrcf7q9n7k";
+    };
+    dependencies = [
+      "net-ssh"
+    ];
+  };
+  "net-ssh" = {
+    version = "2.8.0";
+    source = {
+      type = "gem";
+      sha256 = "0l89a01199ag77vvbm47fdpmx4fp2dk9jsvwvrsqryxqqhzwbxa2";
+    };
+  };
+  "newrelic_rpm" = {
+    version = "3.9.4.245";
+    source = {
+      type = "gem";
+      sha256 = "0r1x16wwmiqsf1gj2a1lgc0fq1v0x4yv40k5wgb00gs439vgzyin";
+    };
+  };
+  "nokogiri" = {
+    version = "1.6.2.1";
+    source = {
+      type = "gem";
+      sha256 = "0dj8ajm9hlfpa71qz1xn5prqy5qdi32ll74qh8ssjwknp1a35cnz";
+    };
+    dependencies = [
+      "mini_portile"
+    ];
+  };
+  "nprogress-rails" = {
+    version = "0.1.2.3";
+    source = {
+      type = "gem";
+      sha256 = "16gqajynqzfvzcyc8b9bjn8xf6j7y80li00ajicxwvb6my2ag304";
+    };
+  };
+  "oauth" = {
+    version = "0.4.7";
+    source = {
+      type = "gem";
+      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
+    };
+  };
+  "oauth2" = {
+    version = "0.8.1";
+    source = {
+      type = "gem";
+      sha256 = "18gk2m42l4dmhiq394mmj1md2l5va5m236lkwy62pwk526lhi271";
+    };
+    dependencies = [
+      "faraday"
+      "httpauth"
+      "jwt"
+      "multi_json"
+      "rack"
+    ];
+  };
+  "omniauth" = {
+    version = "1.1.4";
+    source = {
+      type = "gem";
+      sha256 = "1ggg6nrlbpj67q59s5lyrpi6lnwv6wp3y7y5njbqr6y5y7d34wfl";
+    };
+    dependencies = [
+      "hashie"
+      "rack"
+    ];
+  };
+  "omniauth-github" = {
+    version = "1.1.1";
+    source = {
+      type = "gem";
+      sha256 = "1hnsindjhy4ihgjl96iwlf26vdv7v2cikagpqpkv25nc97mipd4l";
+    };
+    dependencies = [
+      "omniauth"
+      "omniauth-oauth2"
+    ];
+  };
+  "omniauth-google-oauth2" = {
+    version = "0.2.5";
+    source = {
+      type = "gem";
+      sha256 = "1pgbc21y5kjna1ac2fwaaimv1a4a6wdpy6y5wmvrl6pr631s248w";
+    };
+    dependencies = [
+      "omniauth"
+      "omniauth-oauth2"
+    ];
+  };
+  "omniauth-oauth" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0ng7zcsfx0hv4yqwj80y1yc6wh5511p07lihaf9j7a3bzqqgn6wz";
+    };
+    dependencies = [
+      "oauth"
+      "omniauth"
+    ];
+  };
+  "omniauth-oauth2" = {
+    version = "1.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0s7bhlbz9clg1qxjrrcssyp5kxry1zp0lhsfgw735m7ap5vvmf3j";
+    };
+    dependencies = [
+      "oauth2"
+      "omniauth"
+    ];
+  };
+  "omniauth-shibboleth" = {
+    version = "1.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0xljj8mpdbr243ddqcd3bmr2jc674lj9iv0v1z3rczg4q45jmadh";
+    };
+    dependencies = [
+      "omniauth"
+    ];
+  };
+  "omniauth-twitter" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "060gnfc9im786llgi7vlrfhar1b7jlk19bjjc5d50lwrah0hh4fd";
+    };
+    dependencies = [
+      "multi_json"
+      "omniauth-oauth"
+    ];
+  };
+  "org-ruby" = {
+    version = "0.9.9";
+    source = {
+      type = "gem";
+      sha256 = "1r978d8rsmln1jz44in6ll61ii84r81wb2mmic633h0agm62s9za";
+    };
+    dependencies = [
+      "rubypants"
+    ];
+  };
+  "orm_adapter" = {
+    version = "0.5.0";
+    source = {
+      type = "gem";
+      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
+    };
+  };
+  "pg" = {
+    version = "0.15.1";
+    source = {
+      type = "gem";
+      sha256 = "1lwyb542avqfav3814n5b3pssyih1ghzchs58vyzh5061r02fs5s";
+    };
+  };
+  "phantomjs" = {
+    version = "1.9.2.0";
+    source = {
+      type = "gem";
+      sha256 = "0cvg8c9b85bhl00wg1fbkbr129sdxlh9gm61fqq3hal3c6sxbws2";
+    };
+  };
+  "poltergeist" = {
+    version = "1.5.1";
+    source = {
+      type = "gem";
+      sha256 = "08va59swiyvppb020xy6k9sqpnf5s6rjm1ycsbkv2abp37080ifv";
+    };
+    dependencies = [
+      "capybara"
+      "cliver"
+      "multi_json"
+      "websocket-driver"
+    ];
+  };
+  "polyglot" = {
+    version = "0.3.4";
+    source = {
+      type = "gem";
+      sha256 = "0jcnabyh7iirz78db1g713iyhshmw4j0nw7q6nbd67vfffgrsh05";
+    };
+  };
+  "posix-spawn" = {
+    version = "0.3.9";
+    source = {
+      type = "gem";
+      sha256 = "042i1afggy1sv2jmdjjjhyffas28xp2r1ylj5xfv3hchy3b4civ3";
+    };
+  };
+  "pry" = {
+    version = "0.9.12.4";
+    source = {
+      type = "gem";
+      sha256 = "0ndihrzirbfypf5pkqqcqhml6qpq66wbafkpc5jhjqjc6jc1llis";
+    };
+    dependencies = [
+      "coderay"
+      "method_source"
+      "slop"
+    ];
+  };
+  "pyu-ruby-sasl" = {
+    version = "0.0.3.3";
+    source = {
+      type = "gem";
+      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
+    };
+  };
+  "quiet_assets" = {
+    version = "1.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1a1gdaaglcpl583x9ma8la8cpls0lbc0l6qhv66dahia8ql8gg1z";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "racc" = {
+    version = "1.4.10";
+    source = {
+      type = "gem";
+      sha256 = "10xm27dic2y8d53rw3yqw6jkdhrlgq11kbf5p8wiskiz28gzd0k2";
+    };
+  };
+  "rack" = {
+    version = "1.5.2";
+    source = {
+      type = "gem";
+      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
+    };
+  };
+  "rack-accept" = {
+    version = "0.4.5";
+    source = {
+      type = "gem";
+      sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-attack" = {
+    version = "2.3.0";
+    source = {
+      type = "gem";
+      sha256 = "177l9q3gi5lypcxs7141mw62cmg4l20i84dzhvhcfz2blp8fa47r";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-cors" = {
+    version = "0.2.9";
+    source = {
+      type = "gem";
+      sha256 = "0z88pbbasr86z6h0965cny0gvrnj7zwv31s506xbpivk4vd6n9as";
+    };
+  };
+  "rack-mini-profiler" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "0js0s422j7qqjbr3zay48hw82m3z7ddf3qvwcp2m8yz1g438fxqw";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-mount" = {
+    version = "0.8.3";
+    source = {
+      type = "gem";
+      sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-protection" = {
+    version = "1.5.1";
+    source = {
+      type = "gem";
+      sha256 = "0qxq5ld15nljxzdcx2wmbc3chw8nb6la1ap838vf263lnjcpx3dd";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-test" = {
+    version = "0.6.2";
+    source = {
+      type = "gem";
+      sha256 = "01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rails" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "199agdsvidzk2g3zd50vkwnlr6gjk3s1qhligiik3rqr4ij7a8k0";
+    };
+    dependencies = [
+      "actionmailer"
+      "actionpack"
+      "actionview"
+      "activemodel"
+      "activerecord"
+      "activesupport"
+      "railties"
+      "sprockets-rails"
+    ];
+  };
+  "rails_autolink" = {
+    version = "1.1.6";
+    source = {
+      type = "gem";
+      sha256 = "0wanqb979j9zf60g6r6mdlsvrdmbj4ppc0clyi2dr98wwyz1fk1q";
+    };
+    dependencies = [
+      "rails"
+    ];
+  };
+  "rails_best_practices" = {
+    version = "1.14.4";
+    source = {
+      type = "gem";
+      sha256 = "14f6qwrzvk2dai56h32jg42z1h7hiphy6b01wwrnmzpwcgzp34w5";
+    };
+    dependencies = [
+      "activesupport"
+      "awesome_print"
+      "code_analyzer"
+      "colored"
+      "erubis"
+      "i18n"
+      "require_all"
+      "ruby-progressbar"
+    ];
+  };
+  "railties" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "1rlfbwrcg1qzyv5972wjx3vj40i0k9vgn2zzqavgcha7smmpivqc";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "rake"
+      "thor"
+    ];
+  };
+  "raindrops" = {
+    version = "0.12.0";
+    source = {
+      type = "gem";
+      sha256 = "16k8gb6f6y368wqf7s8n0lcm8c2krkrpf3p2qixn7nfs2x0g4xr0";
+    };
+  };
+  "rake" = {
+    version = "10.3.2";
+    source = {
+      type = "gem";
+      sha256 = "0nvpkjrpsk8xxnij2wd1cdn6arja9q11sxx4aq4fz18bc6fss15m";
+    };
+  };
+  "raphael-rails" = {
+    version = "2.1.2";
+    source = {
+      type = "gem";
+      sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
+    };
+  };
+  "rb-fsevent" = {
+    version = "0.9.3";
+    source = {
+      type = "gem";
+      sha256 = "0bdnxwdxj4r1kdxfi5nszbsb126njrr81p912g64xxs2bgxd1bp1";
+    };
+  };
+  "rb-inotify" = {
+    version = "0.9.2";
+    source = {
+      type = "gem";
+      sha256 = "0752fhgfrx370b2jnhxzs8sjv2l8yrnwqj337kx9v100igd1c7iv";
+    };
+    dependencies = [
+      "ffi"
+    ];
+  };
+  "rdoc" = {
+    version = "3.12.2";
+    source = {
+      type = "gem";
+      sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
+    };
+    dependencies = [
+      "json"
+    ];
+  };
+  "redcarpet" = {
+    version = "3.1.2";
+    source = {
+      type = "gem";
+      sha256 = "076p52lkns90hqs27rs4kns2bg7maz8qxr87bl34yd6in319flzz";
+    };
+  };
+  "redis" = {
+    version = "3.0.6";
+    source = {
+      type = "gem";
+      sha256 = "1ha2h422rvbf0wk96bp7k0ibl0jyg7v101jsj7z0r7pvzcx21j73";
+    };
+  };
+  "redis-actionpack" = {
+    version = "4.0.0";
+    source = {
+      type = "gem";
+      sha256 = "0mad0v3qanw3xi9zs03f4w8sn1qb3x501k3235ck8m5i8vgjk474";
+    };
+    dependencies = [
+      "actionpack"
+      "redis-rack"
+      "redis-store"
+    ];
+  };
+  "redis-activesupport" = {
+    version = "4.0.0";
+    source = {
+      type = "gem";
+      sha256 = "18mlzjchj7sh1jm2icx2idf2hcir3agpd6i01q0gnf36f432v06d";
+    };
+    dependencies = [
+      "activesupport"
+      "redis-store"
+    ];
+  };
+  "redis-namespace" = {
+    version = "1.4.1";
+    source = {
+      type = "gem";
+      sha256 = "0fb6i98mhfxn26bqr5vdzhfjyda36cpaxh0dgxynp1y3m301khf7";
+    };
+    dependencies = [
+      "redis"
+    ];
+  };
+  "redis-rack" = {
+    version = "1.5.0";
+    source = {
+      type = "gem";
+      sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
+    };
+    dependencies = [
+      "rack"
+      "redis-store"
+    ];
+  };
+  "redis-rails" = {
+    version = "4.0.0";
+    source = {
+      type = "gem";
+      sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
+    };
+    dependencies = [
+      "redis-actionpack"
+      "redis-activesupport"
+      "redis-store"
+    ];
+  };
+  "redis-store" = {
+    version = "1.1.4";
+    source = {
+      type = "gem";
+      sha256 = "0ja2h1rdyjga8bqb02w3sk3a1m78dsfg96b842s6mkkbpifpxd4z";
+    };
+    dependencies = [
+      "redis"
+    ];
+  };
+  "ref" = {
+    version = "1.0.5";
+    source = {
+      type = "gem";
+      sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la";
+    };
+  };
+  "request_store" = {
+    version = "1.0.5";
+    source = {
+      type = "gem";
+      sha256 = "1ky19wb6mpq6dxb81a0h4hnzx7a4ka99n9ay2syi68djbr4bkbbh";
+    };
+  };
+  "require_all" = {
+    version = "1.3.2";
+    source = {
+      type = "gem";
+      sha256 = "16l08r6asr8nif6ah75w57i7y728132n8ns62rlrf78sh4lmfkhx";
+    };
+  };
+  "rest-client" = {
+    version = "1.6.7";
+    source = {
+      type = "gem";
+      sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853";
+    };
+    dependencies = [
+      "mime-types"
+    ];
+  };
+  "rinku" = {
+    version = "1.7.3";
+    source = {
+      type = "gem";
+      sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
+    };
+  };
+  "rouge" = {
+    version = "1.3.3";
+    source = {
+      type = "gem";
+      sha256 = "0l82xyfdpir2hdm94dw8hy01ngghhas1jm8r3lp3kvyw6z7ph4ml";
+    };
+  };
+  "rspec" = {
+    version = "2.14.1";
+    source = {
+      type = "gem";
+      sha256 = "134y4wzk1prninb5a0bhxgm30kqfzl8dg06af4js5ylnhv2wd7sg";
+    };
+    dependencies = [
+      "rspec-core"
+      "rspec-expectations"
+      "rspec-mocks"
+    ];
+  };
+  "rspec-core" = {
+    version = "2.14.7";
+    source = {
+      type = "gem";
+      sha256 = "0j23ca2hkf0ac708afvi5nxjn75g0mani6m17if52bjrxcgn4577";
+    };
+  };
+  "rspec-expectations" = {
+    version = "2.14.4";
+    source = {
+      type = "gem";
+      sha256 = "0figi31xg100yc90p04n16p1n8q9nlnqyncyl0f34mks8bc4zdrw";
+    };
+    dependencies = [
+      "diff-lcs"
+    ];
+  };
+  "rspec-mocks" = {
+    version = "2.14.4";
+    source = {
+      type = "gem";
+      sha256 = "12vbv0firjkxlinxgg81j6qnwq8mmz48y4iv3ml9j411vqav4ig7";
+    };
+  };
+  "rspec-rails" = {
+    version = "2.14.0";
+    source = {
+      type = "gem";
+      sha256 = "1s9mszadqjmbcahyjgazygvkj8m7pzg7jpgx8m4wl0vxjxg3gr3f";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "railties"
+      "rspec-core"
+      "rspec-expectations"
+      "rspec-mocks"
+    ];
+  };
+  "ruby-progressbar" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "16vxr5n8q87gvdc2px4vzjkasiadzi0c18ynqc8x61352hl5f9ll";
+    };
+  };
+  "rubyntlm" = {
+    version = "0.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0w48h3n8jzndqwmxxbj72j4gwma07f0x07ppsiv1qlygq2n9nyx0";
+    };
+  };
+  "rubypants" = {
+    version = "0.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
+    };
+  };
+  "rugged" = {
+    version = "0.21.0";
+    source = {
+      type = "gem";
+      sha256 = "0abmh5l1j7pp7vwq8vrqmgv07pc2wq0m97hm1sb0k0ghsx9yqdp5";
+    };
+  };
+  "safe_yaml" = {
+    version = "0.9.7";
+    source = {
+      type = "gem";
+      sha256 = "0y34vpak8gim18rq02rgd144jsvk5is4xni16wm3shbhivzqb4hk";
+    };
+  };
+  "sanitize" = {
+    version = "2.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
+    };
+    dependencies = [
+      "nokogiri"
+    ];
+  };
+  "sass" = {
+    version = "3.2.19";
+    source = {
+      type = "gem";
+      sha256 = "1b5z55pmban9ry7k572ghmpcz9h04nbrdhdfpcz8zaldv5v7vkfx";
+    };
+  };
+  "sass-rails" = {
+    version = "4.0.3";
+    source = {
+      type = "gem";
+      sha256 = "1j1f7zhn1ywkmgp5m1rdi7n404vd3j53wp9ngq9n7w33bzwnaxmm";
+    };
+    dependencies = [
+      "railties"
+      "sass"
+      "sprockets"
+      "sprockets-rails"
+    ];
+  };
+  "sdoc" = {
+    version = "0.3.20";
+    source = {
+      type = "gem";
+      sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
+    };
+    dependencies = [
+      "json"
+      "rdoc"
+    ];
+  };
+  "seed-fu" = {
+    version = "2.3.1";
+    source = {
+      type = "gem";
+      sha256 = "1nw1pic6nxbqfwakykamaxm2rgz699yzwf1y64ms4ijgazmwy2gb";
+    };
+    dependencies = [
+      "activerecord"
+      "activesupport"
+    ];
+  };
+  "select2-rails" = {
+    version = "3.5.2";
+    source = {
+      type = "gem";
+      sha256 = "0zlzkqr4xjd9k317wkw26m8nficp5cdf5ghl1h47ajgrj9pjvbnw";
+    };
+    dependencies = [
+      "thor"
+    ];
+  };
+  "semantic-ui-sass" = {
+    version = "0.16.1.0";
+    source = {
+      type = "gem";
+      sha256 = "18bivcl0a1pzd0sdxlnpwfb6fdai52f94kwzx68ky818mk1zgaal";
+    };
+    dependencies = [
+      "sass"
+    ];
+  };
+  "settingslogic" = {
+    version = "2.0.9";
+    source = {
+      type = "gem";
+      sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
+    };
+  };
+  "sexp_processor" = {
+    version = "4.4.0";
+    source = {
+      type = "gem";
+      sha256 = "1rvbxsnjqy82mq0ah6jbmakhr18kfp47gls698pf3dcrvbdisnbi";
+    };
+  };
+  "shoulda-matchers" = {
+    version = "2.1.0";
+    source = {
+      type = "gem";
+      sha256 = "1ilz8hsc8n8snd1q6l54mkrcm1zgvc3bxdrhinldz9bh17hyhk6s";
+    };
+    dependencies = [
+      "activesupport"
+    ];
+  };
+  "sidekiq" = {
+    version = "2.17.0";
+    source = {
+      type = "gem";
+      sha256 = "0lqcl5b3x1k9m78ry2yl1vq6b4schxwcywqkwzl7cw8w642pxic1";
+    };
+    dependencies = [
+      "celluloid"
+      "connection_pool"
+      "json"
+      "redis"
+      "redis-namespace"
+    ];
+  };
+  "simple_oauth" = {
+    version = "0.1.9";
+    source = {
+      type = "gem";
+      sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
+    };
+  };
+  "simplecov" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1dwyb1q6mn4cy76s9givrakf5x439jmvny46qpa0ywzkli95f82g";
+    };
+    dependencies = [
+      "docile"
+      "multi_json"
+      "simplecov-html"
+    ];
+  };
+  "simplecov-html" = {
+    version = "0.8.0";
+    source = {
+      type = "gem";
+      sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9";
+    };
+  };
+  "sinatra" = {
+    version = "1.4.4";
+    source = {
+      type = "gem";
+      sha256 = "12iy0f92d3zyk4759flgcracrbzc3x6cilpgdkzhzgjrsm9aa5hs";
+    };
+    dependencies = [
+      "rack"
+      "rack-protection"
+      "tilt"
+    ];
+  };
+  "six" = {
+    version = "0.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
+    };
+  };
+  "slack-notifier" = {
+    version = "0.3.2";
+    source = {
+      type = "gem";
+      sha256 = "0126im7nm7qw03xgls5qmbldls94yjgv8fzhrnqy7140a51n65k4";
+    };
+  };
+  "slim" = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1sm78ai5xvqqh7zpv6c2c4iy2lakmrqfmmnyr5ha768vjxzzdk87";
+    };
+    dependencies = [
+      "temple"
+      "tilt"
+    ];
+  };
+  "slop" = {
+    version = "3.4.7";
+    source = {
+      type = "gem";
+      sha256 = "1x3dwljqvkzj314rwn2bxgim9xvgwnfipzg5g0kwwxfn90fpv2sn";
+    };
+  };
+  "spinach" = {
+    version = "0.8.7";
+    source = {
+      type = "gem";
+      sha256 = "036zrwf31iq5fh2qgins51nh9756aqyz4almznq2p36yfylihdx4";
+    };
+    dependencies = [
+      "colorize"
+      "gherkin-ruby"
+    ];
+  };
+  "spinach-rails" = {
+    version = "0.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
+    };
+    dependencies = [
+      "capybara"
+      "railties"
+      "spinach"
+    ];
+  };
+  "spring" = {
+    version = "1.1.3";
+    source = {
+      type = "gem";
+      sha256 = "1ibj1d1490wys76ng4g7q8q2rglh37yqxkz2c3vv087cizr8ralj";
+    };
+  };
+  "spring-commands-rspec" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "1z6ghbyndpaz9pm6mw97jpgc1zvz79y3ijidji3z4ygx98imxmv1";
+    };
+    dependencies = [
+      "spring"
+    ];
+  };
+  "spring-commands-spinach" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
+    };
+    dependencies = [
+      "spring"
+    ];
+  };
+  "sprockets" = {
+    version = "2.11.0";
+    source = {
+      type = "gem";
+      sha256 = "082rrn7nsy18ky095zm6a9b4zfbikf60gaakplyqmkjclxk4lsmh";
+    };
+    dependencies = [
+      "hike"
+      "multi_json"
+      "rack"
+      "tilt"
+    ];
+  };
+  "sprockets-rails" = {
+    version = "2.1.3";
+    source = {
+      type = "gem";
+      sha256 = "12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "sprockets"
+    ];
+  };
+  "stamp" = {
+    version = "0.5.0";
+    source = {
+      type = "gem";
+      sha256 = "1w54kxm4sd4za9rhrkl5lqjbsalhziq95sr3nnwr1lqc00nn5mhs";
+    };
+  };
+  "state_machine" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1vf25h443b1s98d2lhd1w3rgam86pjsjhz632f3yrfkn374xvz40";
+    };
+  };
+  "stringex" = {
+    version = "2.5.1";
+    source = {
+      type = "gem";
+      sha256 = "178ppbdm70hzadrgq55q83c3hwv6b7wixacg9kk4v6cxnns5dmfv";
+    };
+  };
+  "temple" = {
+    version = "0.6.7";
+    source = {
+      type = "gem";
+      sha256 = "09makksvllkzrm0vfb91xm46pq5qdp2c04cqid9i2immqcwz6x1k";
+    };
+  };
+  "term-ansicolor" = {
+    version = "1.2.2";
+    source = {
+      type = "gem";
+      sha256 = "1b41q1q6mqcgzq9fhzhmjvfg5sfs5v7gkb8z57r4hajcp89lflxr";
+    };
+    dependencies = [
+      "tins"
+    ];
+  };
+  "test_after_commit" = {
+    version = "0.2.2";
+    source = {
+      type = "gem";
+      sha256 = "13zsag1lbkabwkaxbwhf06d4za5r4nb0fam95rqnx3yxnyshkq4b";
+    };
+  };
+  "therubyracer" = {
+    version = "0.12.0";
+    source = {
+      type = "gem";
+      sha256 = "185k2kvn2q9xznrij3swf9xp3d13h3hdc4w4ldhbrjkg7k1139q6";
+    };
+    dependencies = [
+      "libv8"
+      "ref"
+    ];
+  };
+  "thin" = {
+    version = "1.6.1";
+    source = {
+      type = "gem";
+      sha256 = "065xsmjb7s0gfhx0zhh6wpjxvq26n6d7vq479df9llnk68b0xf50";
+    };
+    dependencies = [
+      "daemons"
+      "eventmachine"
+      "rack"
+    ];
+  };
+  "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";
+    };
+  };
+  "timers" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0x3vnkxy3bg9f6v1nhkfqkajr19glrzkmqd5a1wy8hrylx8rdfrv";
+    };
+  };
+  "tinder" = {
+    version = "1.9.3";
+    source = {
+      type = "gem";
+      sha256 = "0ixxyrlr1ynj9bki515byqg7j45vkvfm4s49n614whpdf8mgs1hb";
+    };
+    dependencies = [
+      "eventmachine"
+      "faraday"
+      "faraday_middleware"
+      "hashie"
+      "json"
+      "mime-types"
+      "multi_json"
+      "twitter-stream"
+    ];
+  };
+  "tins" = {
+    version = "0.13.1";
+    source = {
+      type = "gem";
+      sha256 = "0c7gqgj7z1frab4r9i8dbf111l3jyd44npraz8fdds1b8qvz4fy5";
+    };
+  };
+  "treetop" = {
+    version = "1.4.15";
+    source = {
+      type = "gem";
+      sha256 = "1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz";
+    };
+    dependencies = [
+      "polyglot"
+      "polyglot"
+    ];
+  };
+  "turbolinks" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1zz8ff6v1chsv1clixapcmw1w62pqa1xlxlvlgxasvkscbqxhbyr";
+    };
+    dependencies = [
+      "coffee-rails"
+    ];
+  };
+  "twitter-stream" = {
+    version = "0.1.16";
+    source = {
+      type = "gem";
+      sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
+    };
+    dependencies = [
+      "eventmachine"
+      "http_parser.rb"
+      "simple_oauth"
+    ];
+  };
+  "tzinfo" = {
+    version = "1.2.2";
+    source = {
+      type = "gem";
+      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
+    };
+    dependencies = [
+      "thread_safe"
+    ];
+  };
+  "uglifier" = {
+    version = "2.3.2";
+    source = {
+      type = "gem";
+      sha256 = "1w5cc90wzs4jdpvfrhqjgf4gwsg517cwz15a31p4z7hxs412z52y";
+    };
+    dependencies = [
+      "execjs"
+      "json"
+    ];
+  };
+  "underscore-rails" = {
+    version = "1.4.4";
+    source = {
+      type = "gem";
+      sha256 = "1xg3dfym38gj5zsjxpf1v5cz4j6gysirv9bgc5ls37krixkajag2";
+    };
+  };
+  "unf" = {
+    version = "0.1.4";
+    source = {
+      type = "gem";
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
+    };
+    dependencies = [
+      "unf_ext"
+    ];
+  };
+  "unf_ext" = {
+    version = "0.0.6";
+    source = {
+      type = "gem";
+      sha256 = "07zbmkzcid6pzdqgla3456ipfdka7j1v4hsx1iaa8rbnllqbmkdg";
+    };
+  };
+  "unicorn" = {
+    version = "4.6.3";
+    source = {
+      type = "gem";
+      sha256 = "0rj9lwqwaklyk5vy0lqj4x7fcqb027j240waya5zvb14i8a142zx";
+    };
+    dependencies = [
+      "kgio"
+      "rack"
+      "raindrops"
+    ];
+  };
+  "unicorn-worker-killer" = {
+    version = "0.4.2";
+    source = {
+      type = "gem";
+      sha256 = "12y7lsqyfca9dxy387hfx4c3xjd22sj4b9xxrmdzcksighs1ja3d";
+    };
+    dependencies = [
+      "unicorn"
+    ];
+  };
+  "version_sorter" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0wvqjkj0z5yi29f6907f1jzfszq8zgrq74mapmmi9csgvqkybsmf";
+    };
+  };
+  "virtus" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "19j4ssjxn4ag8i08v4andlz1rnhd2dwfxh2qn2a3hq3s6xjivn03";
+    };
+    dependencies = [
+      "axiom-types"
+      "coercible"
+      "descendants_tracker"
+      "equalizer"
+    ];
+  };
+  "warden" = {
+    version = "1.2.3";
+    source = {
+      type = "gem";
+      sha256 = "0ykzsgwml0pdqn6vdjjaix12gpcgn8b126z9fx7yq3r3bmdrwxlp";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "webmock" = {
+    version = "1.16.0";
+    source = {
+      type = "gem";
+      sha256 = "1y2pm64qah6n9c203c90vlw8jkvbjv703y8qr2z6ikwblp8cxs49";
+    };
+    dependencies = [
+      "addressable"
+      "crack"
+    ];
+  };
+  "websocket-driver" = {
+    version = "0.3.3";
+    source = {
+      type = "gem";
+      sha256 = "0f3nx6yfd7q8xz78zfc3zbkj2rwfm4ri9viqjy1dmnkhwg0h96jf";
+    };
+  };
+  "wikicloth" = {
+    version = "0.8.1";
+    source = {
+      type = "gem";
+      sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
+    };
+    dependencies = [
+      "builder"
+      "expression_parser"
+      "rinku"
+    ];
+  };
+  "xpath" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
+    };
+    dependencies = [
+      "nokogiri"
+    ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
new file mode 100644
index 00000000000..f5532bbd67c
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -0,0 +1,109 @@
+diff --git a/config/environments/production.rb b/config/environments/production.rb
+index 78bf543..9b37122 100644
+--- a/config/environments/production.rb
++++ b/config/environments/production.rb
+@@ -66,10 +66,10 @@ Gitlab::Application.configure do
+ 
+   config.action_mailer.delivery_method = :sendmail
+   # Defaults to:
+-  # # config.action_mailer.sendmail_settings = {
+-  # #   location: '/usr/sbin/sendmail',
+-  # #   arguments: '-i -t'
+-  # # }
++  config.action_mailer.sendmail_settings = {
++    location: '/var/setuid-wrappers/sendmail',
++    arguments: '-i -t'
++  }
+   config.action_mailer.perform_deliveries = true
+   config.action_mailer.raise_delivery_errors = true
+ 
+diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
+index e7a8d08..834ecaf 100644
+--- a/config/gitlab.yml.example
++++ b/config/gitlab.yml.example
+@@ -17,8 +17,8 @@ production: &base
+   ## GitLab settings
+   gitlab:
+     ## Web server settings (note: host is the FQDN, do not include http://)
+-    host: localhost
+-    port: 80 # Set to 443 if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
++    host: <%= ENV['GITLAB_HOST'] || 'localhost' %>
++    port: <%= ENV['GITLAB_PORT'] || 80 %>
+     https: false # Set to true if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
+ 
+     # Uncommment this line below if your ssh host is different from HTTP/HTTPS one
+@@ -31,11 +31,11 @@ production: &base
+     # relative_url_root: /gitlab
+ 
+     # Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
+-    # user: git
++    user: gitlab
+ 
+     ## Email settings
+     # Email address used in the "From" field in mails sent by GitLab
+-    email_from: example@example.com
++    email_from: <%= ENV['GITLAB_EMAIL_FROM'] %>
+ 
+     # Email server smtp settings are in [a separate file](initializers/smtp_settings.rb.sample).
+ 
+@@ -230,12 +230,12 @@ production: &base
+   # GitLab Satellites
+   satellites:
+     # Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
+-    path: /home/git/gitlab-satellites/
++    path: <%= ENV['GITLAB_SATELLITES_PATH'] %>
+     timeout: 30
+ 
+   ## Backup settings
+   backup:
+-    path: "tmp/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)
++    path: <%= ENV['GITLAB_BACKUP_PATH'] %>
+     # keep_time: 604800   # default: 0 (forever) (in seconds)
+     # upload:
+     #   # Fog storage connection settings, see http://fog.io/storage/ .
+@@ -249,11 +249,11 @@ production: &base
+ 
+   ## GitLab Shell settings
+   gitlab_shell:
+-    path: /home/git/gitlab-shell/
++    path: <%= ENV['GITLAB_SHELL_PATH'] %>
+ 
+     # REPOS_PATH MUST NOT BE A SYMLINK!!!
+-    repos_path: /home/git/repositories/
+-    hooks_path: /home/git/gitlab-shell/hooks/
++    repos_path: <%= ENV['GITLAB_REPOSITORIES_PATH'] %>
++    hooks_path: <%= ENV['GITLAB_SHELL_HOOKS_PATH'] %>
+ 
+     # Git over HTTP
+     upload_pack: true
+@@ -266,7 +266,7 @@ production: &base
+   # CAUTION!
+   # Use the default values unless you really know what you are doing
+   git:
+-    bin_path: /usr/bin/git
++    bin_path: git
+     # The next value is the maximum memory size grit can use
+     # Given in number of bytes per git object (e.g. a commit)
+     # This value can be increased if you have very large commits
+@@ -299,7 +299,7 @@ test:
+   gravatar:
+     enabled: true
+   gitlab:
+-    host: localhost
++    host: <%= ENV['GITLAB_HOST'] %>
+     port: 80
+ 
+     # When you run tests we clone and setup gitlab-shell
+diff --git a/lib/gitlab/app_logger.rb b/lib/gitlab/app_logger.rb
+index 8e4717b..abfe2e4 100644
+--- a/lib/gitlab/app_logger.rb
++++ b/lib/gitlab/app_logger.rb
+@@ -1,7 +1,7 @@
+ module Gitlab
+   class AppLogger < Gitlab::Logger
+     def self.file_name
+-      'application.log'
++      ENV["GITLAB_APPLICATION_LOG_PATH"]
+     end
+ 
+     def format_message(severity, timestamp, progname, msg)
diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix
index 67e3cba70ca..72640662ead 100644
--- a/pkgs/applications/version-management/gitolite/default.nix
+++ b/pkgs/applications/version-management/gitolite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gitolite-${version}";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://github.com/sitaramc/gitolite/archive/v${version}.tar.gz";
-    sha256 = "0sizzv705aypasi9vf9kmdbzcl3gmyfxg9dwdl5prn64biqkvq3y";
+    sha256 = "1gsgzi9ayb4rablki3mqr11b0h8db4xg43df660marfpacmkfb01";
   };
 
   buildInputs = [ perl git ];
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 13c55476774..82b3f7aed09 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -3,25 +3,28 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gource-0.40";
+  version = "0.43";
+  name = "gource-${version}";
 
   src = fetchurl {
-    url = "http://gource.googlecode.com/files/${name}.tar.gz";
-    sha256 = "04nirh07xjslqsph557as4s50nlf91bi6v2l7vmbifmkdf90m2cw";
+    url = "https://github.com/acaudwell/Gource/releases/download/${name}/${name}.tar.gz";
+    sha256 = "1r5x9ai86f609hf584n0xaf5hxkbilj5qihn89v7ghpmwk40m945";
   };
 
   buildInputs = [
-    glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa boost glm
+    glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa
+    boost glm
   ];
 
-  configureFlags = "--with-boost-libdir=${boost}/lib";
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
 
-  NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
+  NIX_CFLAGS_COMPILE = "-fpermissive " + # fix build with newer gcc versions
+                       "-std=c++11"; # fix build with glm >= 0.9.6.0
 
-  meta = {
-    homepage = "http://code.google.com/p/gource/";
-    description = "software version control visualization tool";
-    license = stdenv.lib.licenses.gpl3Plus;
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/gource/;
+    description = "A Software version control visualization tool";
+    license = licenses.gpl3Plus;
     longDescription = ''
       Software projects are displayed by Gource as an animated tree with
       the root directory of the project at its centre. Directories
@@ -32,6 +35,7 @@ stdenv.mkDerivation rec {
       Mercurial and Bazaar and SVN. Gource can also parse logs produced
       by several third party tools for CVS repositories.
     '';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/applications/version-management/guitone/default.nix b/pkgs/applications/version-management/guitone/default.nix
index a396765e918..135e7c7e1ef 100644
--- a/pkgs/applications/version-management/guitone/default.nix
+++ b/pkgs/applications/version-management/guitone/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchmtn, qt4 }:
+{ stdenv, fetchurl, fetchmtn, qt4, pkgconfig, graphviz }:
 
 let version = "1.0-mtn-head"; in
 stdenv.mkDerivation rec {
@@ -11,12 +11,12 @@ stdenv.mkDerivation rec {
 
   src = fetchmtn {
     dbs = ["mtn://code.monotone.ca/guitone"];
-    selector = "2777cdef424c65df93fa1ff181f02ee30d4901ab";
-    sha256 = "918d36a83060b84efa0ee0fe0fd058f1c871c91156d91366e2e979c886ff4271";
+    selector = "3a728afdbd3943b1d86c2a249b1e2ede7bf64c27";
+    sha256 = "01vs8m00phs5pl75mjkpdarynfpkqrg0qf4rsn95czi3q6nxiaq5";
     branch = "net.venge.monotone.guitone";
   };
 
-  buildInputs = [ qt4 ];
+  buildInputs = [ qt4 pkgconfig graphviz ];
 
   prefixKey="PREFIX=";
   configureScript = "qmake guitone.pro";
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 951ea29a7fc..a892d7decc0 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,33 +1,57 @@
-{stdenv, fetchurl, pygtk, python, intltool, scrollkeeper, makeWrapper }:
+{ stdenv, fetchurl, itstool, buildPythonPackage, python27, intltool, makeWrapper
+, libxml2, pygobject3, gobjectIntrospection, gtk3, gnome3, pycairo, cairo
+}:
+
 
 let
-  minor = "1.8";
-  version = "${minor}.6";
+  minor = "3.12";
+  version = "${minor}.3";
 in
 
-stdenv.mkDerivation {
+buildPythonPackage rec {
   name = "meld-${version}";
+  namePrefix = "";
 
   src = fetchurl {
     url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
-    sha256 = "19g86rksrs77hd58zhs3zwbjmmhqc98v2ly8451avwsbiwmni5mg";
+    sha256 = "1zg6qhm53j0vxmjj3pcj2hwi8c12dxzmlh98zks0jnwhqv2p4dfv";
   };
 
-  buildInputs = [ pygtk python intltool scrollkeeper makeWrapper ];
+  buildInputs = [
+    python27 intltool makeWrapper itstool libxml2
+    gnome3.gtksourceview gnome3.gsettings_desktop_schemas pycairo cairo
+  ];
+  propagatedBuildInputs = [ gobjectIntrospection pygobject3 gtk3 ];
 
-  patchPhase = ''
-    sed -e s,/usr/local,$out, -i INSTALL
-    sed -e 's,#!.*,#!${python}/bin/python,' -i bin/meld
+  installPhase = ''
+    mkdir -p "$out/lib/${python27.libPrefix}/site-packages"
+
+    export PYTHONPATH="$out/lib/${python27.libPrefix}/site-packages:$PYTHONPATH"
+
+    ${python27}/bin/${python27.executable} setup.py install \
+      --install-lib=$out/lib/${python27.libPrefix}/site-packages \
+      --prefix="$out"
+
+    mkdir -p $out/share/gsettings-schemas/$name
+    mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
   '';
 
-  postInstall = ''
-    wrapProgram $out/bin/meld --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0
+  preFixup = ''
+    wrapProgram $out/bin/meld \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
   '';
 
+  patchPhase = ''
+    sed -e 's,#!.*,#!${python27}/bin/python27,' -i bin/meld
+  '';
+
+  pythonPath = [ gtk3 ];
+
   meta = with stdenv.lib; {
     description = "Visual diff and merge tool";
     homepage = http://meld.sourceforge.net;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 8237a5517c7..a9fbd89f3fa 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -2,7 +2,7 @@
 , guiSupport ? false, tk ? null, curses }:
 
 let
-  version = "3.1";
+  version = "3.3.3";
   name = "mercurial-${version}";
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://mercurial.selenic.com/release/${name}.tar.gz";
-    sha256 = "1r6hdxka867lpsq2jq3vz662m3ywflg4yylayc9g0s9gmiww5pgi";
+    sha256 = "04xfzwb7jabzsfv2r18c3w6vwag7cjrl79xzg5i3mbyb1mzkcid4";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix
index 29fafc4db74..d52802e42f1 100644
--- a/pkgs/applications/version-management/mr/default.nix
+++ b/pkgs/applications/version-management/mr/default.nix
@@ -1,56 +1,31 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-
-  version = "1.13";
-  name = "mr-" + version;
+  version = "1.20141024";
+  name = "mr-${version}";
 
   src = fetchurl {
-    url = "http://ftp.de.debian.org/debian/pool/main/m/mr/mr_${version}.tar.gz";
-    sha256 = "1q3qxk8dwbv30v2xxh852wnwl1msgkvk5cgxyicpqj8kh5b96zlz";
+    url = "https://github.com/joeyh/myrepos/archive/${version}.tar.gz";
+    sha256 = "7b68183476867d15d6f111fc9678335b94824dcfa09f07c761a72d64cdf5ad4a";
   };
 
-  buildInputs = [perl];
-
-  buildPhase = ''
-    make build
-  '';
+  buildInputs = [ perl ];
 
-  installPhase = ''
-    mkdir -pv $out/bin $out/share/man/man1 $out/share/mr
-    cp -v mr $out/bin
-    cp -v webcheckout $out/bin
-    cp -v mr.1 $out/share/man/man1
-    cp -v webcheckout.1 $out/share/man/man1
-    cp -v lib/* $out/share/mr
-  '';
+  makeFlags = "PREFIX=$(out)";
 
   meta = {
     description = "Multiple Repository management tool";
-    longDescription = ''The mr(1) command can checkout, update, or perform other actions on a
-      set of repositories as if they were one combined respository. It
-      supports any combination of subversion, git, cvs, mercurial, bzr,
-      darcs, cvs, vcsh, fossil and veracity repositories, and support for
-      other revision control systems can easily be added. (There are
-      extensions adding support for unison and git-svn.)
-
-      It is extremely configurable via simple shell scripting. Some examples
-      of things it can do include:
-
-        - Update a repository no more frequently than once every twelve
-          hours.
-        - Run an arbitrary command before committing to a
-          repository.
-        - When updating a git repository, pull from two
-          different upstreams and merge the two together.
-        - Run several repository updates in parallel, greatly speeding
-          up the update process.
-        - Remember actions that failed due to a laptop being
-          offline, so they can be retried when it comes back online.
+    longDescription = ''
+      mr is a tool to manage all your version control repos. It can
+      checkout, update, or perform other actions on a set of
+      repositories as if they were one combined repository. It
+      supports any combination of subversion, git, cvs, mercurial,
+      bzr, darcs, fossil and veracity repositories, and support for
+      other version control systems can easily be added.
     '';
-    homepage = http://joeyh.name/code/mr/;
+    homepage = http://myrepos.branchable.com/;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.antono ];
+    maintainers = with stdenv.lib.maintainers; [ antono henrytill ];
   };
 }
diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix
index 823638669b6..266ab81777b 100644
--- a/pkgs/applications/version-management/rcs/default.nix
+++ b/pkgs/applications/version-management/rcs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ed }:
 
 stdenv.mkDerivation rec {
-  name = "rcs-5.9.2";
+  name = "rcs-5.9.4";
 
   src = fetchurl {
     url = "mirror://gnu/rcs/${name}.tar.xz";
-    sha256 = "0wdmmplga9k05d9k7wjqv4zb6xvvzsli8hmn206pvangki1g66k5";
+    sha256 = "1zsx7bb0rgvvvisiy4zlixf56ay8wbd9qqqcp1a1g0m1gl6mlg86";
   };
 
   buildInputs = [ ed ];
diff --git a/pkgs/applications/version-management/redmine/2002_FHS_through_env_vars.patch b/pkgs/applications/version-management/redmine/2002_FHS_through_env_vars.patch
new file mode 100644
index 00000000000..889b8c930e7
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/2002_FHS_through_env_vars.patch
@@ -0,0 +1,100 @@
+Description: FHS through env vars
+Forwarded: not-needed
+Author: Jérémy Lal <kapouer@melix.org>
+Last-Update: 2013-09-28
+--- redmine.orig/app/models/attachment.rb
++++ redmine/app/models/attachment.rb
+@@ -46,10 +46,10 @@ class Attachment < ActiveRecord::Base
+                                                         "LEFT JOIN #{Project.table_name} ON #{Document.table_name}.project_id = #{Project.table_name}.id"}
+ 
+   cattr_accessor :storage_path
+-  @@storage_path = Redmine::Configuration['attachments_storage_path'] || File.join(Rails.root, "files")
++  @@storage_path = Redmine::Configuration['attachments_storage_path'] || ENV['RAILS_VAR'] ? File.join(ENV['RAILS_VAR'], "files") : File.join(Rails.root, "files")
+ 
+   cattr_accessor :thumbnails_storage_path
+-  @@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails")
++  @@thumbnails_storage_path = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], "thumbnails") : File.join(Rails.root, "tmp", "thumbnails")
+ 
+   before_save :files_to_final_location
+   after_destroy :delete_from_disk
+--- redmine.orig/lib/redmine/configuration.rb
++++ redmine/lib/redmine/configuration.rb
+@@ -32,7 +32,7 @@ module Redmine
+       # * <tt>:file</tt>: the configuration file to load (default: config/configuration.yml)
+       # * <tt>:env</tt>: the environment to load the configuration for (default: Rails.env)
+       def load(options={})
+-        filename = options[:file] || File.join(Rails.root, 'config', 'configuration.yml')
++        filename = options[:file] || ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'configuration.yml') : File.join(Rails.root, 'config', 'configuration.yml')
+         env = options[:env] || Rails.env
+ 
+         @config = @defaults.dup
+@@ -103,7 +103,7 @@ module Redmine
+       end
+ 
+       def load_deprecated_email_configuration(env)
+-        deprecated_email_conf = File.join(Rails.root, 'config', 'email.yml')
++        deprecated_email_conf = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'email.yml') : File.join(Rails.root, 'config', 'email.yml')
+         if File.file?(deprecated_email_conf)
+           warn "Storing outgoing emails configuration in config/email.yml is deprecated. You should now store it in config/configuration.yml using the email_delivery setting."
+           @config.merge!({'email_delivery' => load_from_yaml(deprecated_email_conf, env)})
+--- redmine.orig/lib/redmine/export/pdf.rb
++++ redmine/lib/redmine/export/pdf.rb
+@@ -38,7 +38,7 @@ module Redmine
+         attr_accessor :footer_date
+ 
+         def initialize(lang, orientation='P')
+-          @@k_path_cache = Rails.root.join('tmp', 'pdf')
++          @@k_path_cache = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'pdf') : Rails.root.join('tmp', 'pdf')
+           FileUtils.mkdir_p @@k_path_cache unless File::exist?(@@k_path_cache)
+           set_language_if_valid lang
+           pdf_encoding = l(:general_pdf_encoding).upcase
+--- redmine.orig/config/application.rb
++++ redmine/config/application.rb
+@@ -52,8 +63,21 @@ module RedmineApp
+     # Do not include all helpers
+     config.action_controller.include_all_helpers = false
+ 
++    # move tmp directory to RAILS_TMP
++    config.paths['tmp'] = ENV['RAILS_TMP']
++
+     config.session_store :cookie_store, :key => '_redmine_session'
+ 
++    # log path
++    config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']
++
++    config.paths['public'] = ENV['RAILS_PUBLIC'] unless !ENV['RAILS_PUBLIC']
++
++    config.cache_store = :file_store, File.join(ENV['RAILS_TMP'], "cache")
++
++    # Set Active Record's database.yml path
++    config.paths['config/database'] = File.join(ENV['RAILS_ETC'], 'database.yml') unless !ENV['RAILS_ETC']
++
+     if File.exists?(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
+       instance_eval File.read(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
+     end
+--- redmine.orig/lib/plugins/rfpdf/lib/tcpdf.rb
++++ redmine/lib/plugins/rfpdf/lib/tcpdf.rb
+@@ -89,10 +89,10 @@ class TCPDF
+   @@k_small_ratio = 2/3.0
+   
+   cattr_accessor :k_path_cache
+-  @@k_path_cache = Rails.root.join('tmp')
++  @@k_path_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
+   
+   cattr_accessor :k_path_url_cache
+-  @@k_path_url_cache = Rails.root.join('tmp')
++  @@k_path_url_cache = ENV['RAILS_TMP'] ? ENV['RAILS_TMP'] : Rails.root.join('tmp')
+   
+ 	attr_accessor :barcode
+ 	
+--- redmine.orig/lib/redmine/scm/adapters/abstract_adapter.rb
++++ redmine/lib/redmine/scm/adapters/abstract_adapter.rb
+@@ -222,7 +222,7 @@ module Redmine
+           if @stderr_log_file.nil?
+             writable = false
+             path = Redmine::Configuration['scm_stderr_log_file'].presence
+-            path ||= Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
++            path ||= ENV['RAILS_LOG'] ? File.join(ENV['RAILS_LOG'], "#{Rails.env}.scm.stderr.log").to_s : Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s
+             if File.exists?(path)
+               if File.file?(path) && File.writable?(path) 
+                 writable = true
diff --git a/pkgs/applications/version-management/redmine/2003_externalize_session_config.patch b/pkgs/applications/version-management/redmine/2003_externalize_session_config.patch
new file mode 100644
index 00000000000..39af8e02e55
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/2003_externalize_session_config.patch
@@ -0,0 +1,72 @@
+Description: Externalize session config to yml in /etc
+Forwarded: not-needed
+Author: Jérémy Lal <kapouer@melix.org>
+Last-Update: 2010-01-10
+--- redmine.orig/lib/tasks/initializers.rake
++++ redmine/lib/tasks/initializers.rake
+@@ -1,11 +1,12 @@
+ desc 'Generates a secret token for the application.'
++task :generate_secret_token do
+ 
+-file 'config/initializers/secret_token.rb' do
+-  path = File.join(Rails.root, 'config', 'initializers', 'secret_token.rb')
+-  secret = SecureRandom.hex(40)
+-  File.open(path, 'w') do |f|
+-    f.write <<"EOF"
+-# This file was generated by 'rake generate_secret_token', and should
++filename = ENV['YML_SESSION_FILENAME'] ? ENV['YML_SESSION_FILENAME'] : 'session.yml'
++path = File.join(ENV['RAILS_ETC'] ? ENV['RAILS_ETC'] : File.join(Rails.root, 'config'), filename)
++secret = SecureRandom.hex(40)
++File.open(path, 'w') do |f|
++  f.write <<"EOF"
++# This file was generated by 'rake generate_session_store',
+ # not be made visible to public.
+ # If you have a load-balancing Redmine cluster, you will need to use the
+ # same version of this file on each machine. And be sure to restart your
+@@ -15,10 +18,18 @@ file 'config/initializers/secret_token.r
+ # change this key, all old sessions will become invalid! Make sure the
+ # secret is at least 30 characters and all random, no regular words or
+ # you'll be exposed to dictionary attacks.
+-RedmineApp::Application.config.secret_token = '#{secret}'
++
++production:
++  key: _redmine_
++  secret: #{secret}
++
++development:
++  key: _redmine_
++  secret: #{secret}
++
++test:
++  key: _redmine_
++  secret: #{secret}
+ EOF
+   end
+ end
+-
+-desc 'Generates a secret token for the application.'
+-task :generate_secret_token => ['config/initializers/secret_token.rb']
+--- redmine.orig/config/application.rb
++++ redmine/config/application.rb
+@@ -66,7 +66,20 @@ module RedmineApp
+     # move tmp directory to RAILS_TMP
+     config.paths['tmp'] = ENV['RAILS_TMP']
+ 
+-    config.session_store :cookie_store, :key => '_redmine_session'
++    # loads cookie based session session and secret keys
++    # this is needed here because initializers are loaded after plugins,
++    # and some plugins initialize ActionController which requires a secret to be set.
++    # crash if file not found
++    relativeUrlRoot = ENV['RAILS_RELATIVE_URL_ROOT']
++    filename = ENV['RAILS_ETC'] ? File.join(ENV['RAILS_ETC'], 'session.yml') : File.join(File.dirname(__FILE__), '..', 'session.yml')
++    if File.exists?(filename)
++      sessionconfig = YAML::load_file(filename)
++      config.session_store :cookie_store, :key => sessionconfig[Rails.env]['key'], :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
++      config.secret_token = sessionconfig[Rails.env]['secret']
++    else
++      # temporary settings before session.yml is created
++      config.session_store :cookie_store, :key => '_redmine_session', :path => (relativeUrlRoot.blank?) ? '/' : relativeUrlRoot
++    end
+ 
+     # log path
+     config.paths['log'] = File.join(ENV['RAILS_LOG'], "#{Rails.env}.log") unless !ENV['RAILS_LOG']
diff --git a/pkgs/applications/version-management/redmine/2004_FHS_plugins_assets.patch b/pkgs/applications/version-management/redmine/2004_FHS_plugins_assets.patch
new file mode 100644
index 00000000000..d9a6844a6a3
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/2004_FHS_plugins_assets.patch
@@ -0,0 +1,11 @@
+--- redmine.orig/lib/redmine/plugin.rb
++++ redmine/lib/redmine/plugin.rb
+@@ -47,7 +47,7 @@ module Redmine #:nodoc:
+     self.directory = File.join(Rails.root, 'plugins')
+ 
+     cattr_accessor :public_directory
+-    self.public_directory = File.join(Rails.root, 'public', 'plugin_assets')
++    self.public_directory = ENV['RAILS_TMP'] ? File.join(ENV['RAILS_TMP'], 'plugin_assets') : File.join(Rails.root, 'public', 'plugin_assets')
+ 
+     @registered_plugins = {}
+     class << self
diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock
new file mode 100644
index 00000000000..7d83583c019
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -0,0 +1,152 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    actionmailer (3.2.19)
+      actionpack (= 3.2.19)
+      mail (~> 2.5.4)
+    actionpack (3.2.19)
+      activemodel (= 3.2.19)
+      activesupport (= 3.2.19)
+      builder (~> 3.0.0)
+      erubis (~> 2.7.0)
+      journey (~> 1.0.4)
+      rack (~> 1.4.5)
+      rack-cache (~> 1.2)
+      rack-test (~> 0.6.1)
+      sprockets (~> 2.2.1)
+    activemodel (3.2.19)
+      activesupport (= 3.2.19)
+      builder (~> 3.0.0)
+    activerecord (3.2.19)
+      activemodel (= 3.2.19)
+      activesupport (= 3.2.19)
+      arel (~> 3.0.2)
+      tzinfo (~> 0.3.29)
+    activeresource (3.2.19)
+      activemodel (= 3.2.19)
+      activesupport (= 3.2.19)
+    activesupport (3.2.19)
+      i18n (~> 0.6, >= 0.6.4)
+      multi_json (~> 1.0)
+    arel (3.0.3)
+    awesome_nested_set (2.1.6)
+      activerecord (>= 3.0.0)
+    builder (3.0.0)
+    capybara (2.1.0)
+      mime-types (>= 1.16)
+      nokogiri (>= 1.3.3)
+      rack (>= 1.0.0)
+      rack-test (>= 0.5.4)
+      xpath (~> 2.0)
+    childprocess (0.5.5)
+      ffi (~> 1.0, >= 1.0.11)
+    coderay (1.1.0)
+    erubis (2.7.0)
+    fastercsv (1.5.5)
+    ffi (1.9.5)
+    hike (1.2.3)
+    i18n (0.6.11)
+    journey (1.0.4)
+    jquery-rails (2.0.3)
+      railties (>= 3.1.0, < 5.0)
+      thor (~> 0.14)
+    json (1.8.1)
+    mail (2.5.4)
+      mime-types (~> 1.16)
+      treetop (~> 1.4.8)
+    metaclass (0.0.4)
+    mime-types (1.25.1)
+    mini_portile (0.6.0)
+    mocha (1.0.0)
+      metaclass (~> 0.0.1)
+    multi_json (1.10.1)
+    net-ldap (0.3.1)
+    nokogiri (1.6.3.1)
+      mini_portile (= 0.6.0)
+    pg (0.17.1)
+    polyglot (0.3.5)
+    rack (1.4.5)
+    rack-cache (1.2)
+      rack (>= 0.4)
+    rack-openid (1.4.2)
+      rack (>= 1.1.0)
+      ruby-openid (>= 2.1.8)
+    rack-ssl (1.3.4)
+      rack
+    rack-test (0.6.2)
+      rack (>= 1.0)
+    rails (3.2.19)
+      actionmailer (= 3.2.19)
+      actionpack (= 3.2.19)
+      activerecord (= 3.2.19)
+      activeresource (= 3.2.19)
+      activesupport (= 3.2.19)
+      bundler (~> 1.0)
+      railties (= 3.2.19)
+    railties (3.2.19)
+      actionpack (= 3.2.19)
+      activesupport (= 3.2.19)
+      rack-ssl (~> 1.3.2)
+      rake (>= 0.8.7)
+      rdoc (~> 3.4)
+      thor (>= 0.14.6, < 2.0)
+    rake (10.1.1)
+    rdoc (3.12.2)
+      json (~> 1.4)
+    redcarpet (2.3.0)
+    rmagick (2.13.3)
+    ruby-openid (2.3.0)
+    rubyzip (1.1.6)
+    selenium-webdriver (2.43.0)
+      childprocess (~> 0.5)
+      multi_json (~> 1.0)
+      rubyzip (~> 1.0)
+      websocket (~> 1.0)
+    shoulda (3.3.2)
+      shoulda-context (~> 1.0.1)
+      shoulda-matchers (~> 1.4.1)
+    shoulda-context (1.0.2)
+    shoulda-matchers (1.4.1)
+      activesupport (>= 3.0.0)
+    sprockets (2.2.2)
+      hike (~> 1.2)
+      multi_json (~> 1.0)
+      rack (~> 1.0)
+      tilt (~> 1.1, != 1.3.0)
+    thor (0.19.1)
+    tilt (1.4.1)
+    treetop (1.4.15)
+      polyglot
+      polyglot (>= 0.3.1)
+    tzinfo (0.3.41)
+    websocket (1.2.1)
+    xpath (2.0.0)
+      nokogiri (~> 1.3)
+    yard (0.8.7.4)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  activerecord-jdbc-adapter (~> 1.3.2)
+  activerecord-jdbcpostgresql-adapter
+  awesome_nested_set (= 2.1.6)
+  builder (= 3.0.0)
+  capybara (~> 2.1.0)
+  coderay (~> 1.1.0)
+  fastercsv (~> 1.5.0)
+  jquery-rails (~> 2.0.2)
+  mime-types
+  mocha (~> 1.0.0)
+  net-ldap (~> 0.3.1)
+  pg (>= 0.11.0)
+  rack-openid
+  rails (= 3.2.19)
+  rake (~> 10.1.1)
+  rdoc (>= 2.4.2)
+  redcarpet (~> 2.3.0)
+  rmagick (>= 2.0.0)
+  ruby-openid (~> 2.3.0)
+  selenium-webdriver
+  shoulda (~> 3.3.2)
+  yard
diff --git a/pkgs/applications/version-management/redmine/Gemfile.nix b/pkgs/applications/version-management/redmine/Gemfile.nix
new file mode 100644
index 00000000000..a7339097b14
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/Gemfile.nix
@@ -0,0 +1,332 @@
+[
+{
+name = "actionmailer";
+hash = "cd9f0b22f755b0adeae13cf949adaf63fa1c068c72d0a100572c6a11aecd3ba7";
+url = "http://rubygems.org/downloads/actionmailer-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "actionpack";
+hash = "c58ca2342aff2062f4f478551ce46d81918ac93200bc62d099764d2cd7499fcd";
+url = "http://rubygems.org/downloads/actionpack-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activemodel";
+hash = "4ea3abf790eca9ee8228e9e2a465350e258294270a639b63f0e1dfad236fe70e";
+url = "http://rubygems.org/downloads/activemodel-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activerecord";
+hash = "052945ad510744aaa3e35a817a6f515a2316e7dd96df6460f75b36067bb60372";
+url = "http://rubygems.org/downloads/activerecord-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activeresource";
+hash = "8617d24537ca937cc67aac46aaa29782510d66136605426d0a23a3585a839daf";
+url = "http://rubygems.org/downloads/activeresource-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "activesupport";
+hash = "2c837a59250da14b12a6b0cfb6774f0afae90aa749fd96ad4347344d8417ad3d";
+url = "http://rubygems.org/downloads/activesupport-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "arel";
+hash = "c0006e2169deee3b8cc2d258296388822eeb2db59832450b9b7316e1387d0da4";
+url = "http://rubygems.org/downloads/arel-3.0.3.gem";
+version = "3.0.3";
+}
+{
+name = "awesome_nested_set";
+hash = "0dcd801aea5048f5ab907b62b4174b6763b191eaa4e1e11bb83f996f01349af8";
+url = "http://rubygems.org/downloads/awesome_nested_set-2.1.6.gem";
+version = "2.1.6";
+}
+{
+name = "builder";
+hash = "fbd3e15e5de02245f7d649b3415b2c2875cdc9a14dccde89aa30fc14a314618e";
+url = "http://rubygems.org/downloads/builder-3.0.0.gem";
+version = "3.0.0";
+}
+{
+name = "capybara";
+hash = "a9a19f8d6bb2dfcb1f05ea3e1727cb556d1cba0d234d1712b481e8d4f7bbb91e";
+url = "http://rubygems.org/downloads/capybara-2.1.0.gem";
+version = "2.1.0";
+}
+{
+name = "childprocess";
+hash = "9b583295a11932d2eeffa1e8f5b8fb2fb0064a2f0111ad98c3b752b94f80bf33";
+url = "http://rubygems.org/downloads/childprocess-0.5.5.gem";
+version = "0.5.5";
+}
+{
+name = "coderay";
+hash = "5a943c59e36f7ef9dd2677855735656413af02e3f302431e9c548aabe89f3c15";
+url = "http://rubygems.org/downloads/coderay-1.1.0.gem";
+version = "1.1.0";
+}
+{
+name = "erubis";
+hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba";
+url = "http://rubygems.org/downloads/erubis-2.7.0.gem";
+version = "2.7.0";
+}
+{
+name = "fastercsv";
+hash = "d098199e62e4e10eec436a9ea9b8c189dacd5c06f2825f00d1e0f1c29fdbc3b5";
+url = "http://rubygems.org/downloads/fastercsv-1.5.5.gem";
+version = "1.5.5";
+}
+{
+name = "ffi";
+hash = "0d2ef90163eef8545689e8dfc27fb1245a2d82e3500d587de1e38290629e662f";
+url = "http://rubygems.org/downloads/ffi-1.9.5.gem";
+version = "1.9.5";
+}
+{
+name = "hike";
+hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44";
+url = "http://rubygems.org/downloads/hike-1.2.3.gem";
+version = "1.2.3";
+}
+{
+name = "i18n";
+hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b";
+url = "http://rubygems.org/downloads/i18n-0.6.11.gem";
+version = "0.6.11";
+}
+{
+name = "journey";
+hash = "7454b8612530784000fbb17ea2df749a71b70702a0ac8ebef4a1e7f05aecc10f";
+url = "http://rubygems.org/downloads/journey-1.0.4.gem";
+version = "1.0.4";
+}
+{
+name = "jquery-rails";
+hash = "cc4eab342fb3b1fcbb2fc1c9a61b09ecd86d795b1f74d607994b0bc6fd5ef444";
+url = "http://rubygems.org/downloads/jquery-rails-2.0.3.gem";
+version = "2.0.3";
+}
+{
+name = "json";
+hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200";
+url = "http://rubygems.org/downloads/json-1.8.1.gem";
+version = "1.8.1";
+}
+{
+name = "mail";
+hash = "446585c38b062121252688dcc9cc70af1f470822e30db021bb97d185969e257c";
+url = "http://rubygems.org/downloads/mail-2.5.4.gem";
+version = "2.5.4";
+}
+{
+name = "metaclass";
+hash = "8569685c902108b1845be4e5794d646f2a8adcb0280d7651b600dab0844fe942";
+url = "http://rubygems.org/downloads/metaclass-0.0.4.gem";
+version = "0.0.4";
+}
+{
+name = "mime-types";
+hash = "88ef3c596481678710ffd4018fa40f1999b02d97babea39682ba7d5badd21f56";
+url = "http://rubygems.org/downloads/mime-types-1.25.1.gem";
+version = "1.25.1";
+}
+{
+name = "mini_portile";
+hash = "762b3e241362de24b2eb2bb1b98638399b931e9e51bece5f8e2df7611eb16c26";
+url = "http://rubygems.org/downloads/mini_portile-0.6.0.gem";
+version = "0.6.0";
+}
+{
+name = "mocha";
+hash = "788fd93c8009a7e0eebd155509953e5987f4681902aad666a294283baa09899a";
+url = "http://rubygems.org/downloads/mocha-1.0.0.gem";
+version = "1.0.0";
+}
+{
+name = "multi_json";
+hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2";
+url = "http://rubygems.org/downloads/multi_json-1.10.1.gem";
+version = "1.10.1";
+}
+{
+name = "net-ldap";
+hash = "953551665fb0d398740a72a26314c6d34bd70fa35419c96dc58351f17d9a5081";
+url = "http://rubygems.org/downloads/net-ldap-0.3.1.gem";
+version = "0.3.1";
+}
+{
+name = "nokogiri";
+hash = "91761a654439406b5bed71adf6092d49829e26332b4c0e7c8a23a2e628442585";
+url = "http://rubygems.org/downloads/nokogiri-1.6.3.1.gem";
+version = "1.6.3.1";
+}
+{
+name = "pg";
+hash = "e7933e8f7f184c28e820ed85ddfb3ad8a13933b2b2ab8656aa8f81cb0aa610a6";
+url = "http://rubygems.org/downloads/pg-0.17.1.gem";
+version = "0.17.1";
+}
+{
+name = "polyglot";
+hash = "59d66ef5e3c166431c39cb8b7c1d02af419051352f27912f6a43981b3def16af";
+url = "http://rubygems.org/downloads/polyglot-0.3.5.gem";
+version = "0.3.5";
+}
+{
+name = "rack";
+hash = "f7bf3faa8e09a2ff26475372de36a724e7470d6bdc33d189a0ec34b49605f308";
+url = "http://rubygems.org/downloads/rack-1.4.5.gem";
+version = "1.4.5";
+}
+{
+name = "rack-cache";
+hash = "02bfed05f8b3266db804f2fa445801636ca2c6d211a3137ec796f88af5756e1c";
+url = "http://rubygems.org/downloads/rack-cache-1.2.gem";
+version = "1.2";
+}
+{
+name = "rack-openid";
+hash = "8cd2305e738463a7da98791f9ac4df4cf3f6ed27908d982350430694ac2fe869";
+url = "http://rubygems.org/downloads/rack-openid-1.4.2.gem";
+version = "1.4.2";
+}
+{
+name = "rack-ssl";
+hash = "d703764fa2a0d44a2163d6add65be89f5dba4477d1959b90d3727682a9c37dcf";
+url = "http://rubygems.org/downloads/rack-ssl-1.3.4.gem";
+version = "1.3.4";
+}
+{
+name = "rack-test";
+hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306";
+url = "http://rubygems.org/downloads/rack-test-0.6.2.gem";
+version = "0.6.2";
+}
+{
+name = "rails";
+hash = "33b64cf78dfcf3206d961ce03e8fe6d260081da696e60da39d0b2a4a160fe22b";
+url = "http://rubygems.org/downloads/rails-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "railties";
+hash = "c569009ee5c005190d208ac228087fdc094b10c6f0cf209f1d12c552b447cc10";
+url = "http://rubygems.org/downloads/railties-3.2.19.gem";
+version = "3.2.19";
+}
+{
+name = "rake";
+hash = "85e446590871dd3469c80dfe70a0296c20b76a9006af6b728c1f47d0b460412d";
+url = "http://rubygems.org/downloads/rake-10.1.1.gem";
+version = "10.1.1";
+}
+{
+name = "rdoc";
+hash = "a8e2b78f7e5ec4cc4716cd863975645f2f2377dc6db267a15e427e5fae2633ed";
+url = "http://rubygems.org/downloads/rdoc-3.12.2.gem";
+version = "3.12.2";
+}
+{
+name = "redcarpet";
+hash = "5c9bcc307fba97ff5a25eec74f08365c17e929d2a5c707db32d6fc99ec81f0b9";
+url = "http://rubygems.org/downloads/redcarpet-2.3.0.gem";
+version = "2.3.0";
+}
+{
+name = "rmagick";
+hash = "109f3b8be90afdea9abbdd2a79a955cd808b5cad65d937ed12676da22870d3b4";
+url = "http://rubygems.org/downloads/rmagick-2.13.3.gem";
+version = "2.13.3";
+}
+{
+name = "ruby-openid";
+hash = "f69ed004e95f7094e23bfd8bc9ebfb1dc88a7b46637252ca2907a1189870ea7b";
+url = "http://rubygems.org/downloads/ruby-openid-2.3.0.gem";
+version = "2.3.0";
+}
+{
+name = "rubyzip";
+hash = "a996435ee9698be6a09d3748f4d23ee15aaf45cbfef1749def165af6ea3c0a9e";
+url = "http://rubygems.org/downloads/rubyzip-1.1.6.gem";
+version = "1.1.6";
+}
+{
+name = "selenium-webdriver";
+hash = "09fe4374d1541cb45403ad1238c2d88129f3afb985218635af087a06c99a521a";
+url = "http://rubygems.org/downloads/selenium-webdriver-2.43.0.gem";
+version = "2.43.0";
+}
+{
+name = "shoulda";
+hash = "52e70b71cbfb7c01dace14e268a62d86c21ddd1e5ec0116c8b1e632d8e04e412";
+url = "http://rubygems.org/downloads/shoulda-3.3.2.gem";
+version = "3.3.2";
+}
+{
+name = "shoulda-context";
+hash = "ee5559aa13248c70fdec6868a3c144adf7438c904c59d1a76b04a002e5151de5";
+url = "http://rubygems.org/downloads/shoulda-context-1.0.2.gem";
+version = "1.0.2";
+}
+{
+name = "shoulda-matchers";
+hash = "c35693cbfa84213212dffbc2c87487427ef364927340151329a842f0a06086b9";
+url = "http://rubygems.org/downloads/shoulda-matchers-1.4.1.gem";
+version = "1.4.1";
+}
+{
+name = "sprockets";
+hash = "fae893b7e86e83c1936f6f2a64db3550510f86eabdd5fa9f0f23fb25d7e0cf96";
+url = "http://rubygems.org/downloads/sprockets-2.2.2.gem";
+version = "2.2.2";
+}
+{
+name = "thor";
+hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522";
+url = "http://rubygems.org/downloads/thor-0.19.1.gem";
+version = "0.19.1";
+}
+{
+name = "tilt";
+hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903";
+url = "http://rubygems.org/downloads/tilt-1.4.1.gem";
+version = "1.4.1";
+}
+{
+name = "treetop";
+hash = "ffa68f201c0f62c26b0a1d13233d73194400596964696843f87ebb5d812f12ff";
+url = "http://rubygems.org/downloads/treetop-1.4.15.gem";
+version = "1.4.15";
+}
+{
+name = "tzinfo";
+hash = "381b22fd1744a35d0a0239f563f505773681e626e6d900063b14cb9b1b68e98c";
+url = "http://rubygems.org/downloads/tzinfo-0.3.41.gem";
+version = "0.3.41";
+}
+{
+name = "websocket";
+hash = "e626c8c3e8593735d900265fb1fc3439fd06b394069860177d8f40733b12ae9e";
+url = "http://rubygems.org/downloads/websocket-1.2.1.gem";
+version = "1.2.1";
+}
+{
+name = "xpath";
+hash = "9ca4a1cc88d9ab16c591468cce7b5d00ee06a8a76b841f8438970c7a44c86c12";
+url = "http://rubygems.org/downloads/xpath-2.0.0.gem";
+version = "2.0.0";
+}
+{
+name = "yard";
+hash = "e65a26f9b9dc6e2aa9b1d1d2e1a45bee3edf540a6a7e6c30fa6aa1df7f7a29b4";
+url = "http://rubygems.org/downloads/yard-0.8.7.4.gem";
+version = "0.8.7.4";
+}
+]
diff --git a/pkgs/applications/version-management/redmine/README b/pkgs/applications/version-management/redmine/README
new file mode 100644
index 00000000000..1cc4772568a
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/README
@@ -0,0 +1,6 @@
+to regenerate Gemfile.nix and Gemfile.lock you need to
+
+  % nix-build bootstrap.nix
+  % cp result/Gemfile.nix ./
+  % cp result/Gemfile.lock ./
+
diff --git a/pkgs/applications/version-management/redmine/bootstrap.nix b/pkgs/applications/version-management/redmine/bootstrap.nix
new file mode 100644
index 00000000000..5971f2e9cdd
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/bootstrap.nix
@@ -0,0 +1,45 @@
+{ pkgs ? import <nixpkgs> {}
+}:
+
+with pkgs;
+
+let
+
+in stdenv.mkDerivation rec {
+  version = "2.5.2";
+  name = "redmine-${version}";
+  __noChroot = true;
+  src = fetchurl {
+    url = "http://www.redmine.org/releases/${name}.tar.gz";
+    sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
+  };
+  buildInputs = [
+    ruby bundler libiconv libxslt libxml2 pkgconfig
+    libffi imagemagickBig postgresql which stdenv
+  ];
+  installPhase = ''
+    unset http_proxy
+    unset ftp_proxy
+
+    cp -R . $out
+    cp ${./generate_nix_requirements.rb} $out/generate_nix_requirements.rb
+    cd $out
+
+    cat > config/database.yml <<EOF
+    production:
+      adapter: postgresql
+    EOF
+
+    bundle config --local build.nokogiri --use-system-libraries \
+      --with-iconv-dir=${libiconv} \
+      --with-xslt-dir=${libxslt} \
+      --with-xml2-dir=${libxml2} \
+      --with-pkg-config \
+      --with-pg-config=${postgresql}/bin/pg_config
+
+    bundle install --verbose --without development test rmagick --path /tmp/redmine-${version}
+
+    HOME="/tmp/redmine-${version}" ruby generate_nix_requirements.rb
+    rm -R /tmp/gems
+  '';
+}
diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix
new file mode 100644
index 00000000000..26ca2ad9748
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/default.nix
@@ -0,0 +1,74 @@
+{ stdenv, fetchurl, ruby, bundler, libiconv, libxslt, libxml2, pkgconfig, libffi, glibc, imagemagickBig, postgresql }:
+
+let
+  gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix);
+in stdenv.mkDerivation rec {
+  version = "2.5.2";
+  name = "redmine-${version}";
+
+  src = fetchurl {
+    url = "http://www.redmine.org/releases/${name}.tar.gz";
+    sha256 = "0x0zwxyj4dwbk7l64s3lgny10mjf0ba8jwrbafsm4d72sncmacv0";
+  };
+
+  # taken from redmine (2.5.1-2~bpo70+3) in debian wheezy-backports
+  # needed to separate run-time and build-time directories
+  patches = [
+    ./2002_FHS_through_env_vars.patch
+    ./2004_FHS_plugins_assets.patch
+    ./2003_externalize_session_config.patch
+  ];
+  postPatch = ''
+    substituteInPlace lib/redmine/plugin.rb --replace "File.join(Rails.root, 'plugins')" "ENV['RAILS_PLUGINS']"
+    substituteInPlace lib/redmine/plugin.rb --replace "File.join(Rails.root, 'plugins', id.to_s, 'db', 'migrate')" "File.join(ENV['RAILS_PLUGINS'], id.to_s, 'db', 'migrate')"
+    substituteInPlace config/routes.rb --replace '"plugins/*", Rails.root' 'ENV["RAILS_PLUGINS"] + "/*"'
+  '';
+
+  buildInputs = [
+    ruby bundler libiconv
+    libxslt libxml2 pkgconfig libffi
+    imagemagickBig postgresql
+  ];
+
+  installPhase = ''
+    mkdir -p $out/share/redmine/
+    cp -R . $out/share/redmine/
+    cd $out/share/redmine
+    ln -s ${./Gemfile.lock} Gemfile.lock
+    export HOME=$(pwd)
+
+    cat > config/database.yml <<EOF
+      production:
+        adapter: postgresql
+    EOF
+
+    mkdir -p vendor/cache
+    ${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)}
+
+    bundle config build.nokogiri \
+      --use-system-libraries \
+      --with-iconv-dir=${libiconv} \
+      --with-xslt-dir=${libxslt} \
+      --with-xml2-dir=${libxml2} \
+      --with-pkg-config \
+      --with-pg-config=${postgresql}/bin/pg_config
+
+    bundle install --verbose --local --deployment
+
+    # make sure we always load pg package
+    echo "gem \"pg\"" >> Gemfile
+
+    # make rails server happy
+    mkdir -p tmp/pids
+
+    # cleanup
+    rm config/database.yml
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.redmine.org/;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.garbas ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/version-management/redmine/generate_nix_requirements.rb b/pkgs/applications/version-management/redmine/generate_nix_requirements.rb
new file mode 100644
index 00000000000..ed47d52c9c1
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/generate_nix_requirements.rb
@@ -0,0 +1,56 @@
+#!/usr/bin/env ruby
+
+require 'rubygems'
+require 'bundler'
+require 'fileutils'
+require 'net/http'
+require 'net/https'
+require 'uri'
+
+TMP_DIR = "/tmp/gems"
+
+FileUtils.rm_rf(TMP_DIR) if File.exists?(TMP_DIR)
+FileUtils.mkdir TMP_DIR
+
+GEMSERVER = "http://rubygems.org"
+
+# inspect Gemfile.lock
+lockfile = Bundler::LockfileParser.new(Bundler.read_file("Gemfile.lock"))
+
+to_mirror = {}
+
+uri = URI(GEMSERVER)
+http = Net::HTTP.new(uri.host, uri.port)
+http.use_ssl = uri.scheme == 'https'
+
+requirements = {}
+
+lockfile.specs.each do |s|
+  possible_gem_name = "#{s.name}-#{s.version.to_s}.gem"
+
+  Dir.chdir TMP_DIR do
+    filename = `gem fetch #{s.name} -v #{s.version.to_s}`.split()[1]
+    hash = `sha256sum #{filename}.gem`
+    url = "#{GEMSERVER}/downloads/#{filename}.gem"
+    puts url
+    requirements[s.name] = { :version => s.version.to_s, 
+                             :hash => hash.split().first,
+                             :url => url,}
+    
+  end
+end
+
+filename = 'Gemfile.nix'
+
+File.open(filename, 'w') do |file|
+  file.puts "["
+  requirements.each do |name, info|
+    file.puts "{"
+    file.puts ['name = ', '"', name, '";'].join('')
+    file.puts ['hash = ', '"', info[:hash], '";'].join('')
+    file.puts ['url = ', '"', info[:url], '";'].join('')
+    file.puts ['version = ', '"', info[:version], '";'].join('')
+    file.puts "}"
+  end
+  file.puts "]"
+end
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
new file mode 100644
index 00000000000..5bb201b60d0
--- /dev/null
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, lib, makeWrapper
+, jre
+, gtk, glib
+, libXtst
+, git, mercurial, subversion
+, which
+}:
+
+let
+  the_version = "6_5_3";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "smartgithg-${the_version}";
+
+  src = fetchurl {
+    url = "http://www.syntevo.com/download/smartgit/" +
+          "smartgit-generic-${the_version}.tar.gz";
+    sha256 = "0hz1y29ipls58fizr27w6rbv7v7qbbc1h70xvjjd8c94k9ajmav9";
+  };
+
+  buildInputs = [
+    makeWrapper
+    jre
+  ];
+
+  buildCommand = let
+    pkg_path = "$out/${name}";
+    bin_path = "$out/bin";
+    runtime_paths = lib.makeSearchPath "bin" [
+      jre
+      git mercurial subversion
+      which
+    ];
+    runtime_lib_paths = lib.makeLibraryPath [
+      gtk glib
+      libXtst
+    ];
+  in ''
+    tar xvzf $src
+    mkdir -pv $out
+    mkdir -pv ${pkg_path}
+    # unpacking should have produced a dir named 'smartgit'
+    cp -a smartgit/* ${pkg_path}
+    mkdir -pv ${bin_path}
+    jre=${jre.home}
+    makeWrapper ${pkg_path}/bin/smartgit.sh ${bin_path}/smartgit \
+      --prefix PATH : ${runtime_paths} \
+      --prefix LD_LIBRARY_PATH : ${runtime_lib_paths} \
+      --prefix JRE_HOME : ${jre} \
+      --prefix JAVA_HOME : ${jre} \
+      --prefix SMARTGITHG_JAVA_HOME : ${jre}
+    patchShebangs $out
+    cp ${bin_path}/smartgit ${bin_path}/smartgithg
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI for Git, Mercurial, Subversion";
+    homepage = http://www.syntevo.com/smartgit/;
+    license = licenses.unfree;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
new file mode 100644
index 00000000000..ced82dd45c0
--- /dev/null
+++ b/pkgs/applications/version-management/src/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, python, rcs, git }:
+
+stdenv.mkDerivation rec {
+  name = "src-0.13";
+
+  src = fetchurl {
+    url = "http://www.catb.org/~esr/src/${name}.tar.gz";
+    sha256 = "03x0slgi6bnzgfn7f9qbl6jma0pj7357kwdh832l3v8zafk41p51";
+  };
+
+  buildInputs = [ python ];
+
+  patches = [ ./path.patch ];
+
+  postPatch = ''
+    sed -i \
+      -e 's|@python@|${python}|' \
+      -e 's|@rcs@|${rcs}|' \
+      -e 's|@git@|${git}|' \
+      src srctest
+  '';
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Simple single-file revision control";
+
+    homepage = http://www.catb.org/~esr/src/;
+
+    license = [ stdenv.lib.licenses.bsd3 ];
+
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/version-management/src/path.patch b/pkgs/applications/version-management/src/path.patch
new file mode 100644
index 00000000000..ef500c8e04e
--- /dev/null
+++ b/pkgs/applications/version-management/src/path.patch
@@ -0,0 +1,30 @@
+diff -Naur src-0.13-orig/src src-0.13/src
+--- src-0.13-orig/src	2014-11-24 03:56:16.000000000 -0500
++++ src-0.13/src	2014-11-26 16:32:32.925151003 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!@python@/bin/python
+ #
+ # src - simple revision control.
+ #
+@@ -51,6 +51,8 @@
+ 
+ import sys, os, subprocess, time, calendar, stat, glob, shutil, hashlib
+ 
++os.environ['PATH'] = "@rcs@/bin:@git@/bin:" + os.environ['PATH']
++
+ version="0.13"
+ 
+ def rfc3339(t):
+diff -Naur src-0.13-orig/srctest src-0.13/srctest
+--- src-0.13-orig/srctest	2014-11-21 08:12:00.000000000 -0500
++++ src-0.13/srctest	2014-11-26 16:33:13.627715388 -0500
+@@ -12,7 +12,7 @@
+ 
+ # Set the PATH to include the current directory, so the repository
+ # head version of src can always be tested.
+-PATH="$(pwd)":$PATH
++PATH="$(pwd)":@git@/bin:$PATH
+ 
+ trap "rm -fr $SANDBOX" 0 1 2 15
+ 
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 6e3d2f3d4d5..ef400af7308 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -6,24 +6,24 @@
 , javahlBindings ? false
 , saslSupport ? false
 , stdenv, fetchurl, apr, aprutil, zlib, sqlite
-, httpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
+, apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
 , sasl ? null, serf ? null
 }:
 
 assert bdbSupport -> aprutil.bdbSupport;
-assert httpServer -> httpd != null;
+assert httpServer -> apacheHttpd != null;
 assert pythonBindings -> swig != null && python != null;
 assert javahlBindings -> jdk != null && perl != null;
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
 
-  version = "1.8.10";
+  version = "1.8.13";
 
   name = "subversion-${version}";
 
   src = fetchurl {
     url = "mirror://apache/subversion/${name}.tar.bz2";
-    sha1 = "d6896d94bb53c1b4c6e9c5bb1a5c466477b19b2b";
+    sha1 = "aa0bd14ac6a8f0fb178cc9ff325387de01cd7452";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
@@ -34,20 +34,18 @@ stdenv.mkDerivation rec {
 
   configureFlags = ''
     ${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"}
-    ${if httpServer then "--with-apxs=${httpd}/bin/apxs" else "--without-apxs"}
+    ${if httpServer then "--with-apxs=${apacheHttpd}/bin/apxs" else "--without-apxs"}
     ${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"}
     ${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
     ${if stdenv.isDarwin then "--enable-keychain" else "--disable-keychain"}
-    ${if saslSupport then "--enable-sasl --with-sasl=${sasl}" else "--disable-sasl"}
-    ${if httpSupport then "--enable-serf --with-serf=${serf}" else "--disable-serf"}
+    ${if saslSupport then "--with-sasl=${sasl}" else "--without-sasl"}
+    ${if httpSupport then "--with-serf=${serf}" else "--without-serf"}
     --with-zlib=${zlib}
     --with-sqlite=${sqlite}
   '';
 
   preBuild = ''
     makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules)
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    substituteInPlace configure --replace "-no-cpp-precomp" ""
   '';
 
   postInstall = ''
@@ -73,14 +71,15 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # Hack to build on Mac OS X. The system header files use C99-style
-  # comments, but Subversion passes -std=c90.
-  NIX_CFLAGS_COMPILE = "-std=c99";
-
   meta = {
     description = "A version control system intended to be a compelling replacement for CVS in the open source community";
     homepage = http://subversion.apache.org/;
     maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
     hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
-}
+} // stdenv.lib.optionalAttrs stdenv.isDarwin {
+  CXX = "clang++";
+  CC = "clang";
+  CPP = "clang -E";
+  CXXCPP = "clang++ -E";
+})
diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix
index d438cb1bc6c..af849668875 100644
--- a/pkgs/applications/version-management/vcsh/default.nix
+++ b/pkgs/applications/version-management/vcsh/default.nix
@@ -1,14 +1,12 @@
-{stdenv, fetchgit}:
+{stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  rev = "75c4c554eefbefb714fabd356933858edbce3b1e";
-  version = "1.20131229";
-  name = "vcsh-${version}_${rev}";
+  version = "1.20141026-1";
+  name = "vcsh-${version}";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/RichiH/vcsh";
-    sha256 = "0rc82a8vnnk9q6q88z9s10873gqgdpppbpwy2yw8a7hydqrpn0hs";
+  src = fetchurl {
+    url = "https://github.com/RichiH/vcsh/archive/v${version}.tar.gz";
+    sha256 = "1wgrmkygsbmk8zj88kjx9aim2fc44hh2d1a83h4mn2j714pffh33";
   };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
@@ -18,11 +16,11 @@ stdenv.mkDerivation rec {
     cp vcsh $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Version Control System for $HOME";
     homepage = https://github.com/RichiH/vcsh;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ garbas ttuegel ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index c06aa0a036c..9d54ac99273 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, libX11, gettext, wxGTK
+, libX11, wxGTK
 , libiconv, fontconfig, freetype
 , mesa
 , libass, fftw, ffms
@@ -10,8 +10,7 @@
 , openalSupport ? false, openal ? null
 , alsaSupport ? true, alsaLib ? null
 , pulseaudioSupport ? true, pulseaudio ? null
-, portaudioSupport ? false, portaudio ? null
-}:
+, portaudioSupport ? false, portaudio ? null }:
 
 assert spellChecking -> (hunspell != null);
 assert automationSupport -> (lua != null);
@@ -22,28 +21,27 @@ assert portaudioSupport -> (portaudio != null);
 
 stdenv.mkDerivation rec {
   name = "aegisub-${version}";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchurl {
     url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz";
-    sha256 = "0nciw5p1aq94qwz5j4vbc06fywdjhazgh4qs6qr9iqj3n94gvrfr";
+    sha256 = "1p7qdnxyyyrlpvxdrrp15b5967d7bzpjl3vdy0q66g4aabr2h6ln";
   };
 
-  nativeBuildInputs = [ intltool ];
-
   buildInputs = with stdenv.lib;
-  [ libX11 gettext wxGTK libiconv fontconfig freetype mesa libass fftw ffms ffmpeg pkgconfig zlib icu boost ]
-  ++ optional spellChecking hunspell
-  ++ optional automationSupport lua
-  ++ optional openalSupport openal
-  ++ optional alsaSupport alsaLib
-  ++ optional pulseaudioSupport pulseaudio
-  ++ optional portaudioSupport portaudio
-  ;
+  [ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa
+    libass fftw ffms ffmpeg zlib icu boost boost.lib libiconv
+  ]
+    ++ optional spellChecking hunspell
+    ++ optional automationSupport lua
+    ++ optional openalSupport openal
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseaudioSupport pulseaudio
+    ++ optional portaudioSupport portaudio
+    ;
 
-  NIX_LDFLAGS = "-liconv -lavutil -lavformat -lavcodec -lswscale -lz -lm -lGL";
 
-  configureFlags = "--with-boost-libdir=${boost}/lib/";
+  enableParallelBuilding = true;
 
   postInstall = "ln -s $out/bin/aegisub-* $out/bin/aegisub";
 
@@ -62,6 +60,5 @@ stdenv.mkDerivation rec {
               # - so the resulting program will be GPL
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
-
   };
 }
diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix
new file mode 100644
index 00000000000..83fb7546a3b
--- /dev/null
+++ b/pkgs/applications/video/bomi/default.nix
@@ -0,0 +1,96 @@
+{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python3, which
+, libX11, libxcb, qt5, mesa
+, ffmpeg
+, libchardet
+, mpg123
+, libass
+, libdvdread
+, libdvdnav
+, icu
+, libquvi
+, alsaLib
+, libvdpau, libva
+, libbluray
+, jackSupport ? false, jack ? null
+, portaudioSupport ? false, portaudio ? null
+, pulseSupport ? true, pulseaudio ? null
+, cddaSupport ? false, libcdda ? null
+}:
+
+assert jackSupport -> jack != null;
+assert portaudioSupport -> portaudio != null;
+assert pulseSupport -> pulseaudio != null;
+assert cddaSupport -> libcdda != null;
+
+let
+  waf = fetchurl {
+    url = http://ftp.waf.io/pub/release/waf-1.8.4;
+    sha256 = "1a7skwgpl91adhcwlmdr76xzdpidh91hvcmj34zz6548bpx3a87h";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "bomi-${version}";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "xylosper";
+    repo = "bomi";
+    rev = "v${version}";
+    sha256 = "1pf82dp7v18yd7knsjl853sfzhq4rqc3sq15jgqiw37096gp0sll";
+  };
+
+  buildInputs = with stdenv.lib;
+                [ libX11 libxcb mesa
+                  qt5.base qt5.quick1 qt5.x11extras
+                  ffmpeg
+                  libchardet
+                  mpg123
+                  libass
+                  libdvdread
+                  libdvdnav
+                  icu
+                  libquvi
+                  alsaLib
+                  libvdpau
+                  libva
+                  libbluray
+                ]
+                ++ optional jackSupport jack
+                ++ optional portaudioSupport portaudio
+                ++ optional pulseSupport pulseaudio
+                ++ optional cddaSupport libcdda
+                ;
+
+  preConfigure = ''
+    patchShebangs configure
+    # src/mpv/waf build-mpv; do
+  '';
+
+  preBuild = ''
+    patchShebangs build-mpv
+    install -m755 ${waf} src/mpv/waf
+    sed -i '1 s,.*,#!${python3.interpreter},' src/mpv/waf
+  '';
+
+  configureFlags = with stdenv.lib;
+                   [ "--qmake=qmake" ]
+                   ++ optional jackSupport "--enable-jack"
+                   ++ optional portaudioSupport "--enable-portaudio"
+                   ++ optional pulseSupport "--enable-pulseaudio"
+                   ++ optional cddaSupport "--enable-cdda"
+                   ;
+
+  nativeBuildInputs = [ pkgconfig perl which ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Powerful and easy-to-use multimedia player";
+    homepage = https://bomi-player.github.io/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/byzanz/add-amflags.patch b/pkgs/applications/video/byzanz/add-amflags.patch
new file mode 100644
index 00000000000..aeaa195798a
--- /dev/null
+++ b/pkgs/applications/video/byzanz/add-amflags.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile.am b/Makefile.am
+index 6eedb51..7b54313 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,7 @@
+ SUBDIRS = macros data gifenc src po
+ 
++ACLOCAL_AMFLAGS = -I macros
++
+ EXTRA_DIST = \
+ 	MAINTAINERS \
+ 	depcomp \
diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix
new file mode 100644
index 00000000000..69b0ffbe131
--- /dev/null
+++ b/pkgs/applications/video/byzanz/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, which, gnome3_12, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1 }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.3.alpha";
+  name = "byzanz-${version}";
+
+  src = fetchgit {
+    url = git://github.com/GNOME/byzanz;
+    rev = "1875a7f6a3903b83f6b1d666965800f47db9286a";
+    sha256 = "1b7hyilwj9wf2ri5zq63889bvskagdnqjc91hvyjmx1aj7vdkzd4";
+  };
+
+  patches = [ ./add-amflags.patch ];
+
+  preBuild = ''
+    ./autogen.sh --prefix=$out
+  '';
+
+  buildInputs = [ which gnome3_12.gnome_common glib intltool pkgconfig libtool cairo gtk3 gst_all_1.gstreamer gst_all_1.gst-plugins-base ];
+
+  meta = with stdenv.lib; {
+    description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser";
+    homepage = https://github.com/GNOME/byzanz;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.DamienCassou ];
+  };
+}
diff --git a/pkgs/applications/video/cc1394/default.nix b/pkgs/applications/video/cc1394/default.nix
index d555e1b7885..1040f8e009a 100644
--- a/pkgs/applications/video/cc1394/default.nix
+++ b/pkgs/applications/video/cc1394/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.alliedvisiontec.com/us/products/software/linux/avt-fire4linux.html;
     description = "AVT Viewer application for AVT cameras";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
     hydraPlatforms = []; # because libdc1394avt is broken
diff --git a/pkgs/applications/video/cinelerra/default.nix b/pkgs/applications/video/cinelerra/default.nix
index 8287cb9121e..94ec79e70d6 100644
--- a/pkgs/applications/video/cinelerra/default.nix
+++ b/pkgs/applications/video/cinelerra/default.nix
@@ -4,7 +4,7 @@
 , libtiff, freetype, mjpegtools, x264, gettext, openexr
 , libXext, libXxf86vm, libXv, libXi, libX11, xextproto, libtheora, libpng
 , libdv, libuuid, file, nasm, perl }:
-        
+
 stdenv.mkDerivation {
   name = "cinelerra-git";
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   # # END
 
   src = fetchgit {
-    url = "git://git.cinelerra.org/j6t/cinelerra.git";
+    url = "git://git.cinelerra-cv.org/j6t/cinelerra.git";
     rev = "01dc4375a0fb65d10dd95151473d0e195239175f";
     sha256 = "afb406a5637e4d0afad94e62ffd3af5b61e39f75aba9c08521523d00a0a5fec5";
   };
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
       perl
     ];
 
-  meta = { 
+  meta = {
     description = "Video Editor";
     homepage = http://www.cinelerra.org;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
new file mode 100644
index 00000000000..675f0a3a2f6
--- /dev/null
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, makeDesktopItem, qt4 }:
+
+let version = "3.4.9"; in
+stdenv.mkDerivation rec {
+  name = "clipgrab-${version}";
+
+  src = fetchurl {
+    sha256 = "0valq3cgx7yz11zcscz1vdjmppwbicvg0id61dcar22pyp2zkap1";
+    url = "http://download.clipgrab.de/${name}.tar.bz2";
+  };
+
+  meta = with stdenv.lib; {
+    inherit version;
+    description = "Video downloader for YouTube and other sites";
+    longDescription = ''
+      ClipGrab is a free downloader and converter for YouTube, Vimeo, Metacafe,
+      Dailymotion and many other online video sites. It converts downloaded
+      videos to MPEG4, MP3 or other formats in just one easy step.
+    '';
+    homepage = http://clipgrab.org/;
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ qt4 ];
+
+  configurePhase = ''
+    qmake clipgrab.pro
+  '';
+
+  enableParallelBuilding = true;
+
+  desktopItem = makeDesktopItem rec {
+    name = "clipgrab";
+    exec = name;
+    icon = name;
+    desktopName = "ClipGrab";
+    comment = "A friendly downloader for YouTube and other sites";
+    genericName = "Web video downloader";
+    categories = "Qt;AudioVideo;Audio;Video";
+  };
+
+  installPhase = ''
+    install -Dm755 clipgrab $out/bin/clipgrab
+    install -Dm644 icon.png $out/share/pixmaps/clipgrab.png
+    cp -r ${desktopItem}/share/applications $out/share
+  '';
+}
diff --git a/pkgs/applications/video/devede/default.nix b/pkgs/applications/video/devede/default.nix
new file mode 100644
index 00000000000..b48f0f42936
--- /dev/null
+++ b/pkgs/applications/video/devede/default.nix
@@ -0,0 +1,30 @@
+{ pkgs, stdenv, fetchurl, pythonPackages, buildPythonPackage, pygtk, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor }:
+
+let
+  inherit (pythonPackages) dbus;
+
+in buildPythonPackage rec {
+  name = "devede-3.23.0";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "http://www.rastersoft.com/descargas/${name}.tar.bz2";
+    sha256 = "9e217ca46f5f275cb0c3cadbe8c830fa1fde774c004bd95a343d1255be6f25e1";
+  };
+
+  buildInputs = [ ffmpeg ];
+
+  pythonPath = [ pygtk dbus ffmpeg mplayer dvdauthor vcdimager cdrkit ];
+
+  postPatch = ''
+    substituteInPlace devede --replace "/usr/share/devede" "$out/share/devede"
+
+  '';
+
+  meta = with stdenv.lib; {
+    description = "DVD Creator for Linux";
+    homepage = http://www.rastersoft.com/programas/devede.html;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.bdimcheff ];
+  };
+}
diff --git a/pkgs/applications/video/dvdauthor/default.nix b/pkgs/applications/video/dvdauthor/default.nix
index 6889e4d9ef8..cab7b4112d0 100644
--- a/pkgs/applications/video/dvdauthor/default.nix
+++ b/pkgs/applications/video/dvdauthor/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, imagemagick, libdvdread, libxml2, freetype, fribidi, libpng, zlib, pkgconfig }:
+{ stdenv, fetchurl, imagemagick, libdvdread, libxml2, freetype, fribidi, libpng, zlib, pkgconfig
+, flex, bison }:
 
 stdenv.mkDerivation rec{
   name = "dvdauthor-0.7.1";
@@ -8,9 +9,15 @@ stdenv.mkDerivation rec{
     sha256 = "1s8zqlim0s3hk5sbdsilip3qqh0yv05l1jwx49d9rsy614dv27sh";
   };
 
-  buildInputs = [ libpng freetype libdvdread libxml2 zlib fribidi imagemagick ];
+  buildInputs = [ libpng freetype libdvdread libxml2 zlib fribidi imagemagick flex bison];
   nativeBuildInputs = [ pkgconfig ];
 
+  patches = [
+    ./dvdauthor-0.7.1-automake-1.13.patch
+    ./dvdauthor-0.7.1-mga-strndup.patch
+    ./dvdauthor-imagemagick-0.7.0.patch
+  ];
+
   meta = {
     description = "Tools for generating DVD files to be played on standalone DVD players";
     homepage = http://dvdauthor.sourceforge.net/;
diff --git a/pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-automake-1.13.patch b/pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-automake-1.13.patch
new file mode 100644
index 00000000000..786f0c96855
--- /dev/null
+++ b/pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-automake-1.13.patch
@@ -0,0 +1,10 @@
+--- dvdauthor/configure.ac~	2013-01-04 08:27:40.713197029 +0800
++++ dvdauthor/configure.ac	2013-01-04 08:27:53.273525273 +0800
+@@ -1,6 +1,6 @@
+ AC_INIT(DVDAuthor,0.7.1,dvdauthor-users@lists.sourceforge.net)
+ 
+-AM_CONFIG_HEADER(src/config.h)
++AC_CONFIG_HEADERS(src/config.h)
+ AC_CONFIG_AUX_DIR(autotools)
+ 
+ AM_INIT_AUTOMAKE
diff --git a/pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-mga-strndup.patch b/pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-mga-strndup.patch
new file mode 100644
index 00000000000..5f77a68081a
--- /dev/null
+++ b/pkgs/applications/video/dvdauthor/dvdauthor-0.7.1-mga-strndup.patch
@@ -0,0 +1,24 @@
+Index: dvdauthor/src/dvdvml.l
+===================================================================
+--- dvdauthor/src/dvdvml.l
++++ dvdauthor/src/dvdvml.l      2014-09-14 19:36:05.098847465 +0000
+@@ -19,6 +19,7 @@
+  * USA
+  */
+ 
++#include "config.h"
+ #include "compat.h" /* needed for bool */
+ #include "dvdvm.h"
+ #include "dvdvmy.h"
+Index: dvdauthor/src/dvdvmy.y
+===================================================================
+--- dvdauthor/src/dvdvmy.y
++++ dvdauthor/src/dvdvmy.y      2014-09-14 19:36:28.251618378 +0000
+@@ -19,6 +19,7 @@
+  * USA
+  */
+ 
++#include "config.h"
+ #include "compat.h" /* needed for bool */
+ #include "dvdvm.h"
+ 
diff --git a/pkgs/applications/video/dvdauthor/dvdauthor-imagemagick-0.7.0.patch b/pkgs/applications/video/dvdauthor/dvdauthor-imagemagick-0.7.0.patch
new file mode 100644
index 00000000000..52b6cc44cd5
--- /dev/null
+++ b/pkgs/applications/video/dvdauthor/dvdauthor-imagemagick-0.7.0.patch
@@ -0,0 +1,11 @@
+--- dvdauthor/configure.ac.orig	2010-10-23 04:26:49.000000000 +0200
++++ dvdauthor/configure.ac	2010-10-24 14:37:45.489064778 +0200
+@@ -31,7 +31,7 @@
+ 
+ usemagick=0
+ 
+-AC_CHECK_PROGS(MAGICKCONFIG, [Magick-config])
++AC_CHECK_PROGS(MAGICKCONFIG, [MagickCore-config])
+ if test -n "$MAGICKCONFIG"; then
+     ac_save_CPPFLAGS="$CPPFLAGS"
+     ac_save_LIBS="$LIBS"
diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix
index 515e2591461..fc773211f69 100644
--- a/pkgs/applications/video/gnash/default.nix
+++ b/pkgs/applications/video/gnash/default.nix
@@ -30,12 +30,11 @@ stdenv.mkDerivation rec {
     patch -p1 < ${patch_CVE}
 
     # Add all libs to `macros/libslist', a list of library search paths.
-    for lib in ${lib.concatStringsSep " "
-                                      (map (lib: "\"${lib}\"/lib")
-                                           (buildInputs ++ [stdenv.glibc]))}
-    do
+    libs=$(echo "$NIX_LDFLAGS" | tr ' ' '\n' | sed -n 's/.*-L\(.*\).*/\1/p')
+    for lib in $libs; do
       echo -n "$lib " >> macros/libslist
     done
+    echo -n "${stdenv.glibc}/lib" >> macros/libslist
 
     # Make sure to honor $TMPDIR, for chroot builds.
     for file in configure gui/Makefile.in Makefile.in
@@ -116,7 +115,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;
   };
 } // {mozillaPlugin = "/plugins";}
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index 297da6738ee..be10cc7744a 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -52,8 +52,7 @@ stdenv.mkDerivation rec {
 
 
   src = fetchurl {
-    name = "HandBrake-${version}.tar.bz2";
-    url = "http://handbrake.fr/rotation.php?file=HandBrake-${version}.tar.bz2";
+    url = "http://download.handbrake.fr/releases/${version}/HandBrake-${version}.tar.bz2";
     sha256 = "1crmm1c32vx60jfl2bqzg59q4qqx6m83b08snp7h1njc21sdf7d7";
   };
 
diff --git a/pkgs/applications/video/kdenlive/default.nix b/pkgs/applications/video/kdenlive/default.nix
index 8c51c4f35a3..f29ad00ea9e 100644
--- a/pkgs/applications/video/kdenlive/default.nix
+++ b/pkgs/applications/video/kdenlive/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, frei0r, lib, cmake, qt4, perl, kdelibs, automoc4
 , phonon , makeWrapper, mlt, gettext , qimageblitz, qjson
 , shared_mime_info, soprano, pkgconfig, shared_desktop_ontologies
-, libv4l
+, libv4l, oxygen_icons
 }:
 
 stdenv.mkDerivation rec {
   name = "kdenlive-${version}";
-  version = "0.9.8";
+  version = "0.9.10";
 
   src = fetchurl {
     url = "mirror://kde/stable/kdenlive/${version}/src/${name}.tar.bz2";
-    sha256 = "17x5srgywcwlbpbs598jwwc62l8313n4dbqx3sdk7p6lyvwk3jln";
+    sha256 = "0qxpxnfbr8g6xq0h32skgqqi2xylrv2bnmyx5x1cws9y2wwxp3zn";
   };
 
   buildInputs = [
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     shared_mime_info soprano
   ];
 
+  propagatedUserEnvPkgs = [ oxygen_icons ];
+
   enableParallelBuilding = true;
 
   postInstall = ''
diff --git a/pkgs/applications/video/kino/default.nix b/pkgs/applications/video/kino/default.nix
index 7dd089537b7..2f3193a5617 100644
--- a/pkgs/applications/video/kino/default.nix
+++ b/pkgs/applications/video/kino/default.nix
@@ -52,7 +52,7 @@
 
 { stdenv, fetchurl, gtk, libglade, libxml2, libraw1394, libsamplerate, libdv
 , pkgconfig, perl, perlXMLParser, libavc1394, libiec61883, libXv, gettext
-, libX11, glib, cairo, intltool, ffmpeg
+, libX11, glib, cairo, intltool, ffmpeg, libv4l
 }:
 
 stdenv.mkDerivation {
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ gtk libglade libxml2 libraw1394 libsamplerate libdv 
-      pkgconfig perl perlXMLParser libavc1394 libiec61883 intltool libXv gettext libX11 glib cairo ffmpeg ]; # TODOoptional packages 
+      pkgconfig perl perlXMLParser libavc1394 libiec61883 intltool libXv gettext libX11 glib cairo ffmpeg libv4l ]; # TODOoptional packages 
 
   configureFlags = "--enable-local-ffmpeg=no";
   #preConfigure = "
@@ -72,6 +72,9 @@ stdenv.mkDerivation {
   #  ex
   #";
 
+  patches = [ ./kino-1.3.4-v4l1.patch ./kino-1.3.4-libav-0.7.patch ./kino-1.3.4-libav-0.8.patch ]; #./kino-1.3.4-libavcodec-pkg-config.patch ];
+
+
   postInstall = "
     rpath=`patchelf --print-rpath \$out/bin/kino`;
     for i in $\buildInputs; do
diff --git a/pkgs/applications/video/kino/kino-1.3.4-libav-0.7.patch b/pkgs/applications/video/kino/kino-1.3.4-libav-0.7.patch
new file mode 100644
index 00000000000..65c5bc38276
--- /dev/null
+++ b/pkgs/applications/video/kino/kino-1.3.4-libav-0.7.patch
@@ -0,0 +1,60 @@
+--- kino-1.3.4.orig/src/frame.cc	2011-07-17 14:54:59.089481638 +0200
++++ kino-1.3.4/src/frame.cc	2011-07-17 15:09:23.199481714 +0200
+@@ -1063,7 +1063,12 @@
+ 	AVPicture dest;
+ 	int got_picture;
+ 
+-	avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
++	AVPacket pkt;
++	av_init_packet(&pkt);
++	pkt.data = data;
++	pkt.size = GetFrameSize();
++
++	avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+ 	if ( got_picture )
+ 	{
+ 		avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), PIX_FMT_RGB24, GetWidth(), GetHeight() );
+@@ -1123,7 +1128,12 @@
+ 	AVPicture output;
+ 	int got_picture;
+ 
+-	avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
++	AVPacket pkt;
++	av_init_packet(&pkt);
++	pkt.data = data;
++	pkt.size = GetFrameSize();
++
++	avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+ 	if ( got_picture )
+ 	{
+ 		avpicture_fill( &output, static_cast<uint8_t*>( yuv ), PIX_FMT_YUV422, GetWidth(), GetHeight() );
+@@ -1156,7 +1166,12 @@
+ 	AVFrame *frame = avcodec_alloc_frame();
+ 	int got_picture;
+ 
+-	avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
++        AVPacket pkt;
++        av_init_packet(&pkt);
++        pkt.data = data;
++        pkt.size = GetFrameSize();
++
++        avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
+ 
+ 	int width = GetWidth(), height = GetHeight();
+ 
+@@ -1319,12 +1334,12 @@
+ #if defined(HAVE_LIBAVCODEC)
+ 	if ( avformatEncoder == NULL )
+ 	{
+-		avformatEncoder = av_alloc_format_context();
++		avformatEncoder = avformat_alloc_context();
+ 		if ( avformatEncoder )
+ 		{
+-			avformatEncoder->oformat = guess_format( "dv", NULL, NULL );
++			avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
+ 			AVStream* vst = av_new_stream( avformatEncoder, 0 );
+-			vst->codec->codec_type = CODEC_TYPE_VIDEO;
++			vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			vst->codec->codec_id = CODEC_ID_DVVIDEO;
+ 			vst->codec->bit_rate = 25000000;
+			vst->start_time = 0;
diff --git a/pkgs/applications/video/kino/kino-1.3.4-libav-0.8.patch b/pkgs/applications/video/kino/kino-1.3.4-libav-0.8.patch
new file mode 100644
index 00000000000..f98cbda0bc4
--- /dev/null
+++ b/pkgs/applications/video/kino/kino-1.3.4-libav-0.8.patch
@@ -0,0 +1,57 @@
+--- kino-1.3.4.orig/src/frame.cc	2012-05-14 19:55:42.153772418 -0700
++++ kino-1.3.4/src/frame.cc	2012-05-14 20:28:34.448838653 -0700
+@@ -101,8 +101,9 @@
+ #if defined(HAVE_LIBAVCODEC)
+ 	pthread_mutex_lock( &avcodec_mutex );
+ 	av_register_all();
+-	libavcodec = avcodec_alloc_context();
+-	avcodec_open( libavcodec, avcodec_find_decoder( CODEC_ID_DVVIDEO ) );
++	libavcodec = avcodec_alloc_context3(NULL);
++	avcodec_open2( libavcodec,
++                       avcodec_find_decoder( CODEC_ID_DVVIDEO ), NULL );
+ 	pthread_mutex_unlock( &avcodec_mutex );
+ 	data = ( unsigned char* ) av_mallocz( 144000 );
+ #if defined(HAVE_SWSCALE)
+@@ -1338,7 +1339,7 @@
+ 		if ( avformatEncoder )
+ 		{
+ 			avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
+-			AVStream* vst = av_new_stream( avformatEncoder, 0 );
++			AVStream* vst = avformat_new_stream( avformatEncoder, NULL );
+ 			vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			vst->codec->codec_id = CODEC_ID_DVVIDEO;
+ 			vst->codec->bit_rate = 25000000;
+@@ -1364,12 +1365,10 @@
+ 			vst->sample_aspect_ratio = avcodecEncoder->sample_aspect_ratio;
+ #endif
+ 			avcodecEncoder->thread_count = 2;
+-			avcodec_thread_init( avcodecEncoder, avcodecEncoder->thread_count );
+ 			avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
+ 			avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
+ 			avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
+-			av_set_parameters( avformatEncoder, NULL );
+-			avcodec_open( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ) );
++			avcodec_open2( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ), NULL );
+ 			av_new_packet( &avpacketEncoder, 144000 );
+ 			tempImage = ( uint8_t* ) av_malloc(
+ 				avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
+@@ -1475,16 +1474,16 @@
+ 
+ 			// Encode
+ 			bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
+-			url_open_buf( &avformatEncoder->pb, data, bytesInFrame, URL_WRONLY );
++                        avformatEncoder->pb = avio_alloc_context(data, bytesInFrame, 0, NULL, NULL, NULL, NULL);
+ 			avpacketEncoder.size = bytesInFrame;
+ 			if ( !isEncoderHeaderWritten )
+ 			{
+-				av_write_header( avformatEncoder );
++				avformat_write_header( avformatEncoder, NULL );
+ 				isEncoderHeaderWritten = true;
+ 			}
+ 			av_write_frame( avformatEncoder, &avpacketEncoder );
+ #if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
+-			url_close_buf( avformatEncoder->pb );
++			avio_close( avformatEncoder->pb );
+ #else
+ 			url_close_buf( &avformatEncoder->pb );
+ #endif
diff --git a/pkgs/applications/video/kino/kino-1.3.4-libavcodec-pkg-config.patch b/pkgs/applications/video/kino/kino-1.3.4-libavcodec-pkg-config.patch
new file mode 100644
index 00000000000..d6a8953cf00
--- /dev/null
+++ b/pkgs/applications/video/kino/kino-1.3.4-libavcodec-pkg-config.patch
@@ -0,0 +1,11 @@
+--- a/kino-1.3.4/configure.in	2009-09-08 02:35:23.000000000 -0400
++++ b/kino-1.3.4/configure.in	2014-01-27 14:53:01.366063037 -0500
+@@ -221,7 +221,7 @@
+ 		if (test "x$avcodec_include" != x) || (test "x$avcodec_lib" != x) ; then
+ 			local_legacy_ffmpeg_test
+ 		else
+-			PKG_CHECK_MODULES(AVCODEC, libavformat,
++			PKG_CHECK_MODULES(AVCODEC, [libavcodec libavformat libavutil],
+ 			[
+ 				AC_DEFINE(HAVE_LIBAVCODEC, 1, [Enable FFMPEG libavcodec])
+ 				AC_SUBST(AVCODEC_LIBS)
diff --git a/pkgs/applications/video/kino/kino-1.3.4-v4l1.patch b/pkgs/applications/video/kino/kino-1.3.4-v4l1.patch
new file mode 100644
index 00000000000..05ec7386709
--- /dev/null
+++ b/pkgs/applications/video/kino/kino-1.3.4-v4l1.patch
@@ -0,0 +1,21 @@
+no-1.3.3.orig/ffmpeg/libavdevice/v4l.c	2011-05-17 02:20:37.161004916 +0400
++++ kino-1.3.3.orig/ffmpeg/libavdevice/v4l.c	2011-05-17 02:21:57.302377529 +0400
+@@ -26,7 +26,7 @@ 
+ #include <sys/mman.h>
+ #include <sys/time.h>
+ #define _LINUX_TIME_H 1
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ #include <time.h>
+ 
+ typedef struct {
+--- kino-1.3.3.orig/src/v4l.h	2011-05-17 02:20:38.896969666 +0400
++++ kino-1.3.3.orig/src/v4l.h	2011-05-17 02:21:39.922730395 +0400
+@@ -40,7 +40,7 @@ 
+ 
+ #define _DEVICE_H_
+ #define _LINUX_TIME_H
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+ 
+ #include "displayer.h"
diff --git a/pkgs/applications/video/kmplayer/default.nix b/pkgs/applications/video/kmplayer/default.nix
index 553b86a3801..8d4a328cc09 100644
--- a/pkgs/applications/video/kmplayer/default.nix
+++ b/pkgs/applications/video/kmplayer/default.nix
@@ -6,7 +6,8 @@ stdenv.mkDerivation {
   name = "kmplayer-0.11.3d";
 
   src = fetchurl {
-    url = http://kmplayer.kde.org/pkgs/kmplayer-0.11.3d.tar.bz2;
+    #url = http://kmplayer.kde.org/pkgs/kmplayer-0.11.3d.tar.bz2;
+    url = "mirror://gentoo/distfiles/kmplayer-0.11.3d.tar.bz2";
     sha256 = "1yvbkb1hh5y7fqfvixjf2rryzm0fm0fpkx4lmvhi7k7d0v4wpgky";
   };
 
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
new file mode 100644
index 00000000000..0b18705e6fb
--- /dev/null
+++ b/pkgs/applications/video/kodi/default.nix
@@ -0,0 +1,122 @@
+{ stdenv, lib, fetchurl, makeWrapper
+, pkgconfig, cmake, gnumake, yasm, pythonFull
+, boost, avahi, libdvdcss, lame, autoreconfHook
+, gettext, pcre, yajl, fribidi, which
+, openssl, gperf, tinyxml2, taglib, libssh, swig, jre
+, libX11, xproto, inputproto, libxml2
+, libXt, libXmu, libXext, xextproto
+, libXinerama, libXrandr, randrproto
+, libXtst, libXfixes, fixesproto, systemd
+, SDL, SDL_image, SDL_mixer, alsaLib
+, mesa, glew, fontconfig, freetype, ftgl
+, libjpeg, jasper, libpng, libtiff
+, libmpeg2, libsamplerate, libmad
+, libogg, libvorbis, flac, libxslt
+, lzo, libcdio, libmodplug, libass, libbluray
+, sqlite, mysql, nasm, gnutls, libva, wayland
+, curl, bzip2, zip, unzip, glxinfo, xdpyinfo
+, dbus_libs ? null, dbusSupport ? true
+, udev, udevSupport ? true
+, libusb ? null, usbSupport ? false
+, samba ? null, sambaSupport ? true
+, libmicrohttpd, bash
+# TODO: would be nice to have nfsSupport (needs libnfs library)
+# TODO: librtmp
+, libvdpau ? null, vdpauSupport ? true
+, pulseaudio ? null, pulseSupport ? true
+, libcec ? null, cecSupport ? true
+}:
+
+assert dbusSupport  -> dbus_libs != null;
+assert udevSupport  -> udev != null;
+assert usbSupport   -> libusb != null && ! udevSupport; # libusb won't be used if udev is avaliable
+assert sambaSupport -> samba != null;
+assert vdpauSupport -> libvdpau != null;
+assert pulseSupport -> pulseaudio != null;
+assert cecSupport   -> libcec != null;
+
+let
+  rel = "Helix";
+  ffmpeg_2_4_6 = fetchurl {
+    url = "https://github.com/xbmc/FFmpeg/archive/2.4.6-${rel}.tar.gz";
+    sha256 = "1kxp2z2zgcbplm5398zrfgwcfacfzvbg9y9wwrmm8vgwfmj32wh8";
+  };
+in stdenv.mkDerivation rec {
+    name = "kodi-" + version;
+    version = "14.2";
+
+    src = fetchurl {
+      url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
+      sha256 = "1x37l8db6xrvdw933p804lnwvkcm4vdb9gm5i6vmz4ha8f88bjyr";
+    };
+
+    buildInputs = [
+      makeWrapper libxml2 gnutls
+      pkgconfig cmake gnumake yasm pythonFull
+      boost libmicrohttpd autoreconfHook
+      gettext pcre yajl fribidi libva
+      openssl gperf tinyxml2 taglib libssh swig jre
+      libX11 xproto inputproto which
+      libXt libXmu libXext xextproto
+      libXinerama libXrandr randrproto
+      libXtst libXfixes fixesproto
+      SDL SDL_image SDL_mixer alsaLib
+      mesa glew fontconfig freetype ftgl
+      libjpeg jasper libpng libtiff wayland
+      libmpeg2 libsamplerate libmad
+      libogg libvorbis flac libxslt systemd
+      lzo libcdio libmodplug libass libbluray
+      sqlite mysql.lib nasm avahi libdvdcss lame
+      curl bzip2 zip unzip glxinfo xdpyinfo
+    ]
+    ++ lib.optional dbusSupport dbus_libs
+    ++ lib.optional udevSupport udev
+    ++ lib.optional usbSupport libusb
+    ++ lib.optional sambaSupport samba
+    ++ lib.optional vdpauSupport libvdpau
+    ++ lib.optional pulseSupport pulseaudio
+    ++ lib.optional cecSupport libcec;
+
+    dontUseCmakeConfigure = true;
+
+    postPatch = ''
+      substituteInPlace xbmc/linux/LinuxTimezone.cpp \
+        --replace 'usr/share/zoneinfo' 'etc/zoneinfo'
+      substituteInPlace tools/depends/target/ffmpeg/autobuild.sh \
+        --replace "/bin/bash" "${bash}/bin/bash -ex"
+      cp ${ffmpeg_2_4_6} tools/depends/target/ffmpeg/ffmpeg-2.4.6-${rel}.tar.gz
+    '';
+
+    preConfigure = ''
+      ./bootstrap
+    '';
+
+    configureFlags = [
+      "--enable-external-libraries"
+    ]
+    ++ lib.optional (!sambaSupport) "--disable-samba"
+    ++ lib.optional vdpauSupport "--enable-vdpau"
+    ++ lib.optional pulseSupport "--enable-pulse";
+
+    postInstall = ''
+      for p in $(ls $out/bin/) ; do
+        wrapProgram $out/bin/$p \
+          --prefix PATH ":" "${pythonFull}/bin" \
+          --prefix PATH ":" "${glxinfo}/bin" \
+          --prefix PATH ":" "${xdpyinfo}/bin" \
+          --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${libcec}/lib"
+      done
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://kodi.tv/;
+      description = "Media center";
+      license = stdenv.lib.licenses.gpl2;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ iElectric titanous edwtjo ];
+    };
+}
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
new file mode 100644
index 00000000000..f41d0e839ac
--- /dev/null
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -0,0 +1,108 @@
+{ stdenv, fetchFromGitHub, kodi }:
+
+let
+
+  pluginDir = "/lib/kodi/plugin";
+
+  mkKodiPlugin = { plugin, namespace, version, src, meta, ... }:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+    inherit src meta;
+    name = "kodi-plugin-${plugin}-${version}";
+    passthru = {
+      kodiPlugin = pluginDir;
+      namespace = namespace;
+    };
+    dontStrip = true;
+    installPhase = ''
+      d=$out${pluginDir}/${namespace}
+      mkdir -p $d
+      sauce="."
+      [ -d ${namespace} ] && sauce=${namespace}
+      cp -R "$sauce/"* $d
+    '';
+  };
+
+in
+{
+
+  advanced-launcher = mkKodiPlugin rec {
+
+    plugin = "advanced-launcher";
+    namespace = "plugin.program.advanced.launcher";
+    version = "2.5.8";
+
+    src = fetchFromGitHub {
+      owner = "Angelscry";
+      repo = namespace;
+      rev = "bb380b6e8b664246a791f553ddc856cbc60dae1f";
+      sha256 = "0g4kk68zjl5rf6mll4g4cywq70s267471dp5r1qp3bpfpzkn0vf2";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.kodi.tv/showthread.php?tid=85724";
+      description = "A program launcher for Kodi";
+      longDescription = ''
+        Advanced Launcher allows you to start any Linux, Windows and
+        OS X external applications (with command line support or not)
+        directly from the Kodi GUI. Advanced Launcher also give you
+        the possibility to edit, download (from Internet resources)
+        and manage all the meta-data (informations and images) related
+        to these applications.
+      '';
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+  genesis = mkKodiPlugin rec {
+
+    plugin = "genesis";
+    namespace = "plugin.video.genesis";
+    version = "4.0.1";
+
+    src = fetchFromGitHub {
+      owner = "lambda81";
+      repo = "lambda-addons";
+      rev = "34af083980598177684eeb6e1e73da336b84575a";
+      sha256 = "1fh3j4ymkrx9flpvnlyjp1q4avfmjv5a6yfwl3cmqnslkkp6kn9n";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forums.tvaddons.ag/forums/148-lambda-s-kodi-addons";
+      description = "The origins of streaming";
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+  svtplay = mkKodiPlugin rec {
+
+    plugin = "svtplay";
+    namespace = "plugin.video.svtplay";
+    version = "4.0.14";
+
+    src = fetchFromGitHub {
+      owner = "nilzen";
+      repo = "xbmc-" + plugin;
+      rev = "a6041aa6cf8f8461c0ebb093d901320822539094";
+      sha256 = "1nxa2855i1if4vsflhb88i9s12flp2yzgan2wzdv2117cmll4pvd";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.kodi.tv/showthread.php?tid=67110";
+      description = "Watch content from SVT Play";
+      longDescription = ''
+        With this addon you can stream content from SVT Play
+        (svtplay.se). The plugin fetches the video URL from the SVT
+        Play website and feeds it to the Kodi video player. HLS (m3u8)
+        is the preferred video format by the plugin.
+      '';
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix
new file mode 100644
index 00000000000..9f7a87f9987
--- /dev/null
+++ b/pkgs/applications/video/kodi/wrapper.nix
@@ -0,0 +1,53 @@
+{ stdenv, lib, makeWrapper, kodi, plugins }:
+
+let
+
+  p = builtins.parseDrvName kodi.name;
+
+in
+
+stdenv.mkDerivation {
+
+  name = "kodi-" + p.version;
+  version = p.version;
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/share/kodi/addons/packages
+    ${stdenv.lib.concatMapStrings
+        (plugin: "ln -s ${plugin.out
+                            + plugin.kodiPlugin
+                            + "/" + plugin.namespace
+                          } $out/share/kodi/addons/.;") plugins}
+    $(for plugin in ${kodi}/share/kodi/addons/*
+    do
+      $(ln -s $plugin/ $out/share/kodi/addons/.)
+    done)
+    $(for share in ${kodi}/share/kodi/*
+    do
+      $(ln -s $share $out/share/kodi/.)
+    done)
+    $(for passthrough in icons xsessions applications
+    do
+      ln -s ${kodi}/share/$passthrough $out/share/
+    done)
+    $(for exe in kodi{,-standalone}
+    do
+    makeWrapper ${kodi}/bin/$exe $out/bin/$exe \
+      --prefix KODI_HOME : $out/share/kodi;
+    done)
+  '';
+
+  preferLocalBuilds = true;
+
+  meta = with kodi.meta; {
+    inherit license homepage;
+    description = description
+                + " (with plugins: "
+                + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) plugins))
+                + ")";
+
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/video/makemkv/builder.sh b/pkgs/applications/video/makemkv/builder.sh
index e4cfcf3d906..416d5c0f0b0 100644
--- a/pkgs/applications/video/makemkv/builder.sh
+++ b/pkgs/applications/video/makemkv/builder.sh
@@ -4,6 +4,7 @@ set -x
 lib=" \
   makemkv-oss-${ver}/out/libdriveio.so.0 \
   makemkv-oss-${ver}/out/libmakemkv.so.1 \
+  makemkv-oss-${ver}/out/libmmbd.so.0 \
   "
 
 bin=" \
@@ -16,7 +17,8 @@ tar xzf ${src_oss}
 
 (
   cd makemkv-oss-${ver}
-  make -f makefile.linux
+  ./configure --prefix=$out
+  make
 )
 
 chmod +x ${bin}
@@ -25,7 +27,7 @@ libPath="${libPath}:${out}/lib" # XXX: der. This should be in the nix file?
 
 for i in ${bin} ; do
   patchelf \
-    --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
     --set-rpath $libPath \
     ${i}
 done 
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index bec9d85aefd..583c800a8b4 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -1,28 +1,28 @@
 { stdenv, fetchurl
-, openssl, qt4, mesa, zlib
+, openssl, qt4, mesa, zlib, pkgconfig, libav
 }:
 
 stdenv.mkDerivation rec {
   name = "makemkv-${ver}";
-  ver = "1.8.0";
+  ver = "1.9.2";
   builder = ./builder.sh;
 
   src_bin = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz";
-    sha256 = "1f465rdv5ibnh5hnfmvmlid0yyzkansjw8l1mi5qd3bc6ca4k30c";
+    sha256 = "0hjby7imja9sg2h68al81n4zl72mc3y3fqmf61sf1sad4njs9bkj";
   };
 
-  src_oss = fetchurl { 
+  src_oss = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz";
-    sha256 = "0kj1mpkzz2cvi0ibdgdzfwbh9k2jfj3ra5m3hd7iyc5ng21v4sk3";
+    sha256 = "074scfz835jynzmb28i8q44hc6ixvfg3crgirmy02bbpxakyp1v6";
   };
 
-  buildInputs = [openssl qt4 mesa zlib];
+  buildInputs = [openssl qt4 mesa zlib pkgconfig libav];
 
-  libPath = stdenv.lib.makeLibraryPath [stdenv.gcc.gcc openssl mesa qt4 zlib ] 
-          + ":" + stdenv.gcc.gcc + "/lib64";
+  libPath = stdenv.lib.makeLibraryPath [stdenv.cc.cc openssl mesa qt4 zlib ]
+          + ":" + stdenv.cc.cc + "/lib64";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "convert blu-ray and dvd to mkv";
     longDescription = ''
       makemkv is a one-click QT application that transcodes an encrypted
@@ -33,7 +33,8 @@ stdenv.mkDerivation rec {
       can always download the latest version from makemkv.com that will reset the
       expiration date.
     '';
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfree;
     homepage = http://makemkv.com;
+    maintainers = [ maintainers.titanous ];
   };
 }
diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix
index 7572bedc1e0..6585306b289 100644
--- a/pkgs/applications/video/miro/default.nix
+++ b/pkgs/applications/video/miro/default.nix
@@ -1,10 +1,15 @@
 { stdenv, fetchurl, python, buildPythonPackage, pythonPackages, pkgconfig
 , pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkitgtk2, libsoup, pygtk
-, taglib, pysqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk
+, taglib, sqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk
 , libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
 , gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg
+, enableBonjour ? false, avahi ? null
 }:
 
+assert enableBonjour -> avahi != null;
+
+with stdenv.lib;
+
 buildPythonPackage rec {
   name = "miro-${version}";
   namePrefix = "";
@@ -37,6 +42,9 @@ buildPythonPackage rec {
                  c RESOURCE_ROOT = '"'$out/share/miro/resources/'"'
                }' \
            plat/resources.py
+  '' + optionalString enableBonjour ''
+    sed -i -e 's|ctypes.cdll.LoadLibrary( *|ctypes.CDLL("${avahi}/lib/" +|' \
+      ../lib/libdaap/pybonjour.py
   '';
 
   # Disabled for now, because it requires networking and even if we skip those
@@ -62,20 +70,20 @@ buildPythonPackage rec {
 
   buildInputs = [
     pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup
-    pygtk taglib gsettings_desktop_schemas
+    pygtk taglib gsettings_desktop_schemas sqlite
   ];
 
   propagatedBuildInputs = [
     pygobject pygtk pycurl python.modules.sqlite3 mutagen pycairo pythonDBus
     pywebkitgtk libtorrentRasterbar
     gst_python gst_plugins_base gst_plugins_good gst_ffmpeg
-  ];
+  ] ++ optional enableBonjour avahi;
 
   meta = {
     homepage = "http://www.getmiro.com/";
     description = "Video and audio feed aggregator";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.aszlig ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.aszlig ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/mjpg-streamer/default.nix b/pkgs/applications/video/mjpg-streamer/default.nix
new file mode 100644
index 00000000000..7cacc4fcf05
--- /dev/null
+++ b/pkgs/applications/video/mjpg-streamer/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchsvn, pkgconfig, libjpeg, imagemagick, libv4l}:
+
+stdenv.mkDerivation rec {
+  rev = "182";
+  name = "mjpg-streamer-${rev}";
+
+  src = fetchsvn {
+    url = https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer/mjpg-streamer;
+    inherit rev;
+    sha256 = "008k2wk6xagprbiwk8fvzbz4dd6i8kzrr9n62gj5i1zdv7zcb16q";
+  };
+
+  patchPhase = ''
+    substituteInPlace Makefile "make -C plugins\/input_gspcav1" "# make -C plugins\/input_gspcav1"
+    substituteInPlace Makefile "cp plugins\/input_gspcav1\/input_gspcav1.so" "# cp plugins\/input_gspcav1\/input_gspcav1.so"
+  '';
+
+  postFixup = ''
+    patchelf --set-rpath "$(patchelf --print-rpath $out/bin/mjpg_streamer):$out/lib:$out/lib/plugins" $out/bin/mjpg_streamer
+  '';
+
+  makeFlags = "DESTDIR=$(out)";
+
+  preInstall = ''
+    mkdir -p $out/{bin,lib}
+  '';
+
+  buildInputs = [ pkgconfig libjpeg imagemagick libv4l ];
+  
+  meta = {
+    homepage = http://sourceforge.net/projects/mjpg-streamer/;
+    description = "MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem or other input plugins and streams them as M-JPEG via HTTP to webbrowsers, VLC and other software";
+  };
+}
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index ed64448c13a..01d96542c2e 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -6,6 +6,7 @@
 , boost
 , xdg_utils
 , expat
+, withGUI ? true
 , wxGTK
 , zlib
 , ruby
@@ -14,17 +15,23 @@
 , curl
 }:
 
+assert withGUI -> wxGTK != null;
+
 stdenv.mkDerivation rec {
-  name = "mkvtoolnix-6.5.0";
+  version = "7.8.0";
+  name = "mkvtoolnix-${version}";
 
   src = fetchurl {
     url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
-    sha256 = "0a3h878bsjbpb2r7b528xzyqzl8r82yhrniry9bnhmw7rcl53bd8";
+    sha256 = "0m7y9115bkfsm95hv2nq0hnd9w73jymsm071jm798w11vdskm8af";
   };
 
-  buildInputs = [ libmatroska flac libvorbis file boost xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ];
+  buildInputs = [
+    libmatroska flac libvorbis file boost xdg_utils
+    expat zlib ruby gettext pkgconfig curl
+    ] ++ stdenv.lib.optional withGUI wxGTK;
 
-  configureFlags = "--with-boost-libdir=${boost}/lib";
+  configureFlags = "--with-boost-libdir=${boost.lib}/lib";
   buildPhase = ''
     ruby ./drake
   '';
@@ -36,5 +43,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Cross-platform tools for Matroska";
     homepage = http://www.bunkus.org/videotools/mkvtoolnix/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 07bcb26569e..ac106431240 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, pkgconfig, freetype, yasm
+, aalibSupport ? true, aalib ? null
 , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
 , fribidiSupport ? true, fribidi ? null
 , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null
@@ -21,6 +22,7 @@
 , bs2bSupport ? false, libbs2b ? null
 # For screenshots
 , libpngSupport ? true, libpng ? null
+, libjpegSupport ? true, libjpeg ? null
 , useUnfreeCodecs ? false
 }:
 
@@ -46,6 +48,7 @@ assert jackaudioSupport -> jack2 != null;
 assert pulseSupport -> pulseaudio != null;
 assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
+assert libjpegSupport -> libjpeg != null;
 
 let
 
@@ -101,6 +104,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with stdenv.lib;
     [ pkgconfig freetype ]
+    ++ optional aalibSupport aalib
     ++ optional fontconfigSupport fontconfig
     ++ optional fribidiSupport fribidi
     ++ optionals x11Support [ libX11 libXext mesa ]
@@ -121,6 +125,7 @@ stdenv.mkDerivation rec {
     ++ optional vdpauSupport libvdpau
     ++ optional speexSupport speex
     ++ optional libpngSupport libpng
+    ++ optional libjpegSupport libjpeg
     ++ optional bs2bSupport libbs2b
     ;
 
@@ -149,7 +154,7 @@ stdenv.mkDerivation rec {
       ${if speexSupport then "--enable-speex" else "--disable-speex"}
       ${if theoraSupport then "--enable-theora" else "--disable-theora"}
       ${if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc"}
-      ${if jackaudioSupport then "--enable-jack" else "--disable-jack"}
+      ${if jackaudioSupport then "" else "--disable-jack"}
       ${if pulseSupport then "--enable-pulse" else "--disable-pulse"}
       ${optionalString (useUnfreeCodecs && codecs != null) "--codecsdir=${codecs}"}
       ${optionalString (stdenv.isi686 || stdenv.isx86_64) "--enable-runtime-cpudetection"}
diff --git a/pkgs/applications/video/mplayer2/default.nix b/pkgs/applications/video/mplayer2/default.nix
deleted file mode 100644
index d8ada6372b1..00000000000
--- a/pkgs/applications/video/mplayer2/default.nix
+++ /dev/null
@@ -1,137 +0,0 @@
-{ stdenv, fetchurl, fetchgit, freetype, pkgconfig, yasm, freefont_ttf, ffmpeg, libass
-, python3, docutils, which
-, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null
-, xineramaSupport ? true, libXinerama ? null
-, xvSupport ? true, libXv ? null
-, alsaSupport ? true, alsaLib ? null
-, screenSaverSupport ? true, libXScrnSaver ? null
-, vdpauSupport ? true, libvdpau ? null
-, dvdnavSupport ? true, libdvdnav ? null
-, bluraySupport ? true, libbluray ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, jackaudioSupport ? false, jack2 ? null
-, pulseSupport ? true, pulseaudio ? null
-, bs2bSupport ? false, libbs2b ? null
-# For screenshots
-, libpngSupport ? true, libpng ? null
-, useUnfreeCodecs ? false
-}:
-
-assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
-assert xineramaSupport -> (libXinerama != null && x11Support);
-assert xvSupport -> (libXv != null && x11Support);
-assert alsaSupport -> alsaLib != null;
-assert screenSaverSupport -> libXScrnSaver != null;
-assert vdpauSupport -> libvdpau != null;
-assert dvdnavSupport -> libdvdnav != null;
-assert bluraySupport -> libbluray != null;
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert jackaudioSupport -> jack2 != null;
-assert pulseSupport -> pulseaudio != null;
-assert bs2bSupport -> libbs2b != null;
-assert libpngSupport -> libpng != null;
-
-let
-
-  codecs_src =
-    let
-      dir = http://www.mplayerhq.hu/MPlayer/releases/codecs/;
-    in
-    if stdenv.system == "i686-linux" then fetchurl {
-      url = "${dir}/essential-20071007.tar.bz2";
-      sha256 = "18vls12n12rjw0mzw4pkp9vpcfmd1c21rzha19d7zil4hn7fs2ic";
-    } else if stdenv.system == "x86_64-linux" then fetchurl {
-      url = "${dir}/essential-amd64-20071007.tar.bz2";
-      sha256 = "13xf5b92w1ra5hw00ck151lypbmnylrnznq9hhb0sj36z5wz290x";
-    } else if stdenv.system == "powerpc-linux" then fetchurl {
-      url = "${dir}/essential-ppc-20071007.tar.bz2";
-      sha256 = "18mlj8dp4wnz42xbhdk1jlz2ygra6fbln9wyrcyvynxh96g1871z";
-    } else null;
-
-  codecs = if codecs_src != null then stdenv.mkDerivation {
-    name = "MPlayer-codecs-essential-20071007";
-
-    src = codecs_src;
-
-    installPhase = ''
-      mkdir $out
-      cp -prv * $out
-    '';
-
-    meta.license = stdenv.lib.licenses.unfree;
-  } else null;
-
-in
-
-stdenv.mkDerivation rec {
-  name = "mplayer2-20130428";
-
-  src = fetchgit {
-    url = "git://git.mplayer2.org/mplayer2.git";
-    rev = "6c87a981baa4972fd71c25dfddea017b5a972e89";
-    sha256 = "b09c1331141dd0939dfa424ae14dc0bdf82c8a72bb32c78e3ad15e3ee1d2c851";
-  };
-
-  prePatch = ''
-    sed -i /^_install_strip/d configure
-
-    sed -i '/stdlib/a#include <ctype.h>/' sub/sub*.c
-  '';
-
-  buildInputs = with stdenv.lib;
-    [ freetype pkgconfig ffmpeg libass docutils which ]
-    ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
-    ++ optional alsaSupport alsaLib
-    ++ optional xvSupport libXv
-    ++ optional theoraSupport libtheora
-    ++ optional xineramaSupport libXinerama
-    ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
-    ++ optional bluraySupport libbluray
-    ++ optional jackaudioSupport jack2
-    ++ optional pulseSupport pulseaudio
-    ++ optional screenSaverSupport libXScrnSaver
-    ++ optional vdpauSupport libvdpau
-    ++ optional speexSupport speex
-    ++ optional bs2bSupport libbs2b
-    ++ optional libpngSupport libpng
-    ;
-
-  nativeBuildInputs = [ yasm python3 ];
-
-  postConfigure = ''
-    patchShebangs TOOLS
-  '';
-
-  configureFlags = with stdenv.lib;
-    ''
-      ${optionalString (useUnfreeCodecs && codecs != null) "--codecsdir=${codecs}"}
-      ${optionalString (stdenv.isi686 || stdenv.isx86_64) "--enable-runtime-cpudetection"}
-      ${optionalString dvdnavSupport "--extra-ldflags=-ldvdread"}
-      ${if xvSupport then "--enable-xv" else "--disable-xv"}
-      ${if x11Support then "--enable-x11 --enable-gl --extra-cflags=-I{libx11}/include"
-		else "--disable-x11 --disable-gl"}
-      --disable-xvid
-      --disable-ossaudio
-    '';
-
-  NIX_LDFLAGS = stdenv.lib.optionalString x11Support "-lX11 -lXext";
-
-  enableParallelBuilding = true;
-
-  # Provide a reasonable standard font.  Maybe we should symlink here.
-  postInstall =
-    ''
-      mkdir -p $out/share/mplayer
-      cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf
-    '';
-
-  meta = {
-    description = "A movie player that supports many video formats (MPlayer fork)";
-    homepage = "http://mplayer2.org";
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index db1ced49166..464f5130b67 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -20,7 +20,7 @@
 # For screenshots
 , libpngSupport ? true, libpng ? null
 # for Youtube support
-, quviSupport ? false, libquvi ? null
+, youtubeSupport ? false, youtubeDL ? null
 , cacaSupport ? false, libcaca ? null
 , vaapiSupport ? false, libva ? null
 }:
@@ -41,7 +41,7 @@ assert jackaudioSupport -> jack2 != null;
 assert pulseSupport -> pulseaudio != null;
 assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
-assert quviSupport -> libquvi != null;
+assert youtubeSupport -> youtubeDL != null;
 assert cacaSupport -> libcaca != null;
 
 # Purity problem: Waf needed to be is downloaded by bootstrap.py
@@ -50,23 +50,24 @@ assert cacaSupport -> libcaca != null;
 
 let
   waf = fetchurl {
-    url = https://waf.googlecode.com/files/waf-1.7.15;
-    sha256 = "e5ae7028f9b2d8ce1acb9fe1092e8010a90ba764d3ac065ea4e846743290b1d6";
+    url = http://ftp.waf.io/pub/release/waf-1.8.5;
+    sha256 = "0gh266076pd9fzwkycskyd3kkv2kds9613blpxmn9w4glkiwmmh5";
   };
 
 in
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "mpv-${version}";
-  version = "0.5.0";
+  version = "0.8.3";
 
   src = fetchurl {
     url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
-    sha256 = "17mmc6xm8yir2p379h00q3wy7rplz2s31h6sxswmzbh72xf10g96";
+    sha256 = "1kw9hr957cxqgm2i94bgqc6sskm6bwhm0akzckilhs460b43h409";
   };
 
-  buildInputs = with stdenv.lib;
-    [ waf freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ]
+  buildInputs = 
+    [ python3 lua perl freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ]
     ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
     ++ optional alsaSupport alsaLib
     ++ optional xvSupport libXv
@@ -82,15 +83,12 @@ stdenv.mkDerivation rec {
     ++ optional speexSupport speex
     ++ optional bs2bSupport libbs2b
     ++ optional libpngSupport libpng
-    ++ optional quviSupport libquvi
+    ++ optional youtubeSupport youtubeDL
     ++ optional sdl2Support SDL2
     ++ optional cacaSupport libcaca
     ++ optional vaapiSupport libva
     ;
 
-  nativeBuildInputs = [ python3 lua perl ];
-
-
 # There are almost no need of "configure flags", but some libraries
 # weren't detected; see the TODO comments below
 
@@ -114,21 +112,20 @@ stdenv.mkDerivation rec {
     ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
     '';
 
-  meta = {
+  meta = with stdenv.lib;{
     description = "A movie player that supports many video formats (MPlayer and mplayer2 fork)";
     longDescription = ''
-    mpv is a free and open-source general-purpose video player, based on the MPlayer and mplayer2 projects, with great improvements above both.
+      mpv is a free and open-source general-purpose video player,
+      based on the MPlayer and mplayer2 projects, with great
+      improvements above both.
     '';
-    homepage = "http://mpv.io";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = http://mpv.io;
+    license = licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ AndersonTorres fuuzetsu ];
+    platforms = platforms.linux;
   };
 }
 
-# Many thanks @matejc for this update: 0.5.0 and vaapi (experimental)
-
 # TODO: Wayland support
-# TODO: investigate libquvi problems (related to Youtube support)
 # TODO: investigate caca support
 # TODO: investigate lua5_sockets bug
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index a4fe07b2d05..2bc635d510e 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -1,22 +1,32 @@
 { stdenv, fetchurl, which, qt4, x11, pulseaudio, fftwSinglePrec
 , lame, zlib, mesa, alsaLib, freetype, perl, pkgconfig
 , libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm, libXmu
+, yasm, libuuid, taglib, libtool, autoconf, automake, file
 }:
 
 stdenv.mkDerivation rec {
-  name = "mythtv-0.24.2";
+  name = "mythtv-${version}";
+  version = "0.27.4";
 
   src = fetchurl {
-    url = "http://ftp.osuosl.org/pub/mythtv/${name}.tar.bz2";
-    sha256 = "14mkyf2b26pc9spx6lg15mml0nqyg1r3qnq8m9dz3110h771y2db";
+    url = "https://github.com/MythTV/mythtv/archive/v${version}.tar.gz";
+    sha256 = "0nrn4fbkkzh43n7jgbv21i92sb4z4yacwj9yj6m3hjbffzy4ywqz";
   };
 
+  sourceRoot = "${name}/mythtv";
+
   buildInputs = [
     freetype qt4 lame zlib x11 mesa perl alsaLib pulseaudio fftwSinglePrec
     libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu
+    libuuid taglib
   ];
+  nativeBuildInputs = [ pkgconfig which yasm libtool autoconf automake file ];
 
-  nativeBuildInputs = [ pkgconfig which ];
-
-  patches = [ ./settings.patch ];
+  meta = with stdenv.lib; {
+    homepage = "https://www.mythtv.org/";
+    description = "Open Source DVR";
+    license = licenses.gpl2;
+    meta.platforms = platforms.linux;
+    maintainers = [ maintainers.titanous ];
+  };
 }
diff --git a/pkgs/applications/video/mythtv/settings.patch b/pkgs/applications/video/mythtv/settings.patch
deleted file mode 100644
index ec1e7009792..00000000000
--- a/pkgs/applications/video/mythtv/settings.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 05db819..383036d 100644
---- a/Makefile
-+++ b/Makefile
-@@ -53,7 +53,7 @@ i18n/Makefile: i18n/i18n.pro
- locales/Makefile: locales/locales.pro
- 
- $(addsuffix /Makefile,$(QT_SUBDIRS)): %/Makefile :
--	cd $*; $(QMAKE) QMAKE=$(QMAKE) -o $(@F) $(<F)
-+	cd $*; $(QMAKE) QMAKE=$(QMAKE) PREFIX=${PREFIX} -o $(@F) $(<F)
- 
- $(SUBDIRS): $(addsuffix /Makefile,$(SUBDIRS)) version.cpp
- 	$(MAKE) -C $@
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
new file mode 100644
index 00000000000..87e3047ed19
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchurl
+, cmake
+, ffmpeg
+, jansson
+, libxkbcommon
+, qt5
+, libv4l
+, x264
+}:
+
+stdenv.mkDerivation rec {
+  name = "obs-studio-${version}";
+  version = "0.9.1";
+
+  src = fetchurl {
+    url = "https://github.com/jp9000/obs-studio/archive/${version}.tar.gz";
+    sha256 = "198ymfdrg58i3by58fs68df835rkpnpagnvyzlilmn9ypvpa8h81";
+  };
+
+  buildInputs = [ cmake
+                  ffmpeg
+                  jansson
+                  libv4l
+                  libxkbcommon
+                  qt5
+                  x264
+                ];
+
+  # obs attempts to dlopen libobs-opengl, it fails unless we make sure
+  # DL_OPENGL is an explicit path. Not sure if there's a better way
+  # to handle this.
+  cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-DDL_OPENGL=\\\"$(out)/lib/libobs-opengl.so\\\"" ];
+
+  meta = with stdenv.lib; {
+    description = "Free and open source software for video recording and live streaming";
+    longDescription = ''
+      This project is a rewrite of what was formerly known as "Open Broadcaster
+      Software", software originally designed for recording and streaming live
+      video content, efficiently
+    '';
+    homepage = "https://obsproject.com";
+    maintainers = with maintainers; [ jb55 ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/video/omxplayer/default.nix b/pkgs/applications/video/omxplayer/default.nix
index 3add2646ad9..449190cfaa1 100644
--- a/pkgs/applications/video/omxplayer/default.nix
+++ b/pkgs/applications/video/omxplayer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, raspberrypifw, pcre, boostHeaders, freetype, zlib }:
+{ stdenv, fetchurl, raspberrypifw, pcre, boost, freetype, zlib }:
 
 let
   ffmpeg = stdenv.mkDerivation rec {
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp omxplayer.bin $out/bin
   '';
-  buildInputs = [ raspberrypifw ffmpeg pcre boostHeaders freetype zlib ];
+  buildInputs = [ raspberrypifw ffmpeg pcre boost freetype zlib ];
 
   meta = {
     homepage = https://github.com/huceke/omxplayer;
diff --git a/pkgs/applications/video/p2pvc/default.nix b/pkgs/applications/video/p2pvc/default.nix
new file mode 100644
index 00000000000..c9cffe3fa96
--- /dev/null
+++ b/pkgs/applications/video/p2pvc/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, pkgconfig, fetchFromGitHub, opencv, ncurses, portaudio }:
+
+stdenv.mkDerivation {
+  name = "p2pvc";
+
+  buildInputs = [ pkgconfig opencv ncurses portaudio ];
+
+  enableParallelBuilding = true;
+
+  installPhase = "mkdir -p $out/bin; cp p2pvc $out/bin/";
+
+  src = fetchFromGitHub {
+    owner = "mofarrell";
+    repo = "p2pvc";
+    rev = "d7b1c70288a7750fc8f9a22dbddbe51d34b5b9e5";
+    sha256 = "0d4vvrsjad5gk4rrjwgydn9ffj12jfb4aksw2px6jw75hp9pzmka";
+  };
+
+  meta = {
+    description = "A point to point color terminal video chat";
+    homepage = "https://github.com/mofarrell/p2pvc";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ trino ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index 7f53aa07db6..5b77ec916b0 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper
-, pythonPackages, gst, clutter-gst, clutter-gtk
-, gobjectIntrospection, clutter, gtk3, librsvg
-, gnome_icon_theme, gnome_icon_theme_symbolic, gnome3
+, pythonPackages, gst, clutter-gst, clutter-gtk, hicolor_icon_theme
+, gobjectIntrospection, clutter, gtk3, librsvg, gnome3, libnotify
 }:
 
 let
@@ -30,27 +29,22 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ];
 
   buildInputs = [
-    gobjectIntrospection clutter-gst clutter-gtk librsvg
+    gobjectIntrospection clutter-gst clutter-gtk librsvg gnome3.gnome_desktop
+    hicolor_icon_theme gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    gnome3.gsettings_desktop_schemas libnotify
   ] ++ (with gst; [
-    gst-python gst-editing-services
+    gstreamer gst-python gst-editing-services
     gst-plugins-base gst-plugins-good
     gst-plugins-bad gst-plugins-ugly gst-libav
   ]) ++ (with pythonPackages; [
     python pygobject3 pyxdg numpy pycairo sqlite3
   ]);
 
-  preFixup = with stdenv.lib; with gst; let
-    libraryPath = makeLibraryPath [
-      gstreamer gst-editing-services
-      clutter-gst clutter-gtk clutter gtk3
-      gnome3.gnome_desktop
-    ];
-  in ''
+  preFixup = ''
     wrapProgram "$out/bin/pitivi" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix LD_LIBRARY_PATH : "${libraryPath}" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix XDG_DATA_DIRS : "\$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
 }
diff --git a/pkgs/applications/video/qarte/default.nix b/pkgs/applications/video/qarte/default.nix
new file mode 100644
index 00000000000..a7e8cd8c1b9
--- /dev/null
+++ b/pkgs/applications/video/qarte/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchbzr, python, pyqt4, sip, rtmpdump, makeWrapper }:
+
+stdenv.mkDerivation {
+  name = "qarte-2.2.0";
+  src = fetchbzr {
+    url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk;
+    rev = "146";
+    sha256 = "0vqhxrzb3d7id81sr02h78hn0m7k2x0yxk9cl36pr5vx3vjnsyi9";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv qarte $out/bin/
+    substituteInPlace $out/bin/qarte \
+      --replace '/usr/bin/python' "${python.interpreter}" \
+      --replace '/usr/share' "$out/share"
+    wrapProgram $out/bin/qarte \
+      --prefix PYTHONPATH : "${pyqt4}/lib/${python.libPrefix}/site-packages:${sip}/lib/${python.libPrefix}/site-packages" \
+      --prefix PATH : "${rtmpdump}/bin"
+
+    mkdir -p $out/share/man/man1/
+    mv qarte.1 $out/share/man/man1/
+
+    mkdir -p $out/share/qarte
+    mv * $out/share/qarte/
+  '';
+
+  meta = {
+    homepage = https://launchpad.net/qarte;
+    description = "A recorder for Arte TV Guide and Arte Concert";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix
index 0fdd78fe106..3fa426d9f6f 100644
--- a/pkgs/applications/video/quvi/library.nix
+++ b/pkgs/applications/video/quvi/library.nix
@@ -11,12 +11,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig lua5 curl quvi_scripts libproxy libgcrypt ];
 
-  meta = { 
+  meta = {
     description = "Web video downloader";
     homepage = http://quvi.sf.net;
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.mornfall ]; 
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
-
diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix
index 68b61fc453d..cdc53367d11 100644
--- a/pkgs/applications/video/quvi/scripts.nix
+++ b/pkgs/applications/video/quvi/scripts.nix
@@ -11,12 +11,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig ];
 
-  meta = { 
+  meta = {
     description = "Web video downloader";
     homepage = http://quvi.sf.net;
-    license = "LGPLv2.1+";
+    license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.mornfall ]; 
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
-
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 51baa32f61e..9ad739a361d 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "shotcut-${version}";
-  version = "14.08";
+  version = "14.09";
 
   src = fetchurl {
     url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
-    sha256 = "0klcvpgp2l6xcdjy1gg7a5s8mx0mm347zdf26q6kk685pldlvkyj";
+    sha256 = "1504ds3ppqmpg84nb2gb74qndqysjwn3xw7n8xv19kd1pppnr10f";
   };
 
   buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qt5 ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A free, open source, cross-platform video editor";
     longDescription = ''
-      An offical binary for Shotcut, which includes all the
+      An official binary for Shotcut, which includes all the
       dependencies pinned to specific versions, is provided on
       http://shotcut.org.
 
@@ -34,5 +34,9 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+
+    # after qt5 bump it probably needs to be updated,
+    # but newer versions seem to need newer than the latest stable mlt
+    broken = true;
   };
 }
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 4c58262a5f1..7320a7f6d74 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "simplescreenrecorder-${version}";
-  version = "0.3.0";
+  version = "0.3.3";
 
   src = fetchurl {
     url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
-    sha256 = "0caal8jq47d56ld57cdf2lr1ji350v09j5chgvgxv2pbqmqga4p5";
+    sha256 = "09mcmvqbzq2blv404pklv6fc8ci3a9090p42rdsgmlr775bdyxfb";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/video/smplayer/basegui.cpp.patch b/pkgs/applications/video/smplayer/basegui.cpp.patch
new file mode 100644
index 00000000000..05664ee96e6
--- /dev/null
+++ b/pkgs/applications/video/smplayer/basegui.cpp.patch
@@ -0,0 +1,11 @@
+--- a/src/basegui.cpp	2014-08-20 01:04:51.000000000 +0100
++++ b/src/basegui.cpp	2014-10-11 10:25:57.561983556 +0100
+@@ -5235,7 +5235,7 @@
+ #ifdef YOUTUBE_SUPPORT
+ void BaseGui::showTubeBrowser() {
+ 	qDebug("BaseGui::showTubeBrowser");
+-	QString exec = Paths::appPath() + "/smtube";
++	QString exec = "smtube";
+ 	qDebug("BaseGui::showTubeBrowser: '%s'", exec.toUtf8().constData());
+ 	if (!QProcess::startDetached(exec, QStringList())) {
+ 		QMessageBox::warning(this, "SMPlayer",
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index 018be742a16..22935064c4b 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "smplayer-14.3.0";
+  name = "smplayer-14.9.0.6690";
 
   src = fetchurl {
     url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "9b8db20043d1528ee5c6054526779e88a172d2c757429bd7095c794d65ecbc18";
+    sha256 = "0nmw69kg8rqvl9icyx1r1v1pyxg6560363l0kyqyja18j79a3j2y";
   };
 
+  patches = [ ./basegui.cpp.patch ];
+
   buildInputs = [ qt4 ];
 
   preConfigure = ''
diff --git a/pkgs/applications/video/smtube/default.nix b/pkgs/applications/video/smtube/default.nix
new file mode 100644
index 00000000000..128227d8765
--- /dev/null
+++ b/pkgs/applications/video/smtube/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "smtube-15.1.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
+    sha256 = "0l87afj1fwhq8lnhv0djqdc8fy0kvs4q4jrvyiz46ifq7q10qyaf";
+  };
+
+  buildInputs = [ qt4 ];
+
+  preConfigure = ''
+    makeFlags="PREFIX=$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Play and download Youtube videos";
+    homepage = http://smplayer.sourceforge.net/smtube.php;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ vbgl ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index c1c11357ca0..7c42aebf2bc 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       '';
     homepage = http://home.gna.org/subtitleeditor;
     license = stdenv.lib.licenses.gpl3;
-    maintainers = stdenv.lib.maintainers.plcplc;
+    maintainers = [ stdenv.lib.maintainers.plcplc ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 71db3d40a46..e25f833eabc 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -1,32 +1,39 @@
 { stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray
 , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
-, pkgconfig, dbus, fribidi, qt4, freefont_ttf, libebml, libmatroska
+, pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska
 , libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
 , libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg
 , mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image
 , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
 , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
 , libvdpau
+, onlyLibVLC ? false
+, qt4 ? null, qt5 ? null, withQt5 ? false
 }:
 
+with stdenv.lib;
+
+assert (withQt5 -> qt5 != null);
+assert (!withQt5 -> qt4 != null);
+
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.1.5";
+  version = "2.2.0";
 
   src = fetchurl {
-    url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
-    sha256 = "0whzbn7ahn5maarcwl1yhk9lq10b0q0y9w5pjl9kh3frdjmncrbg";
+    url = "http://download.videolan.org/vlc/${version}/${name}.tar.xz";
+    sha256 = "05smn9hqdp7iscc1dj4cxp1mrlad7b50lhlnlqisfzf493i2f2jy";
   };
 
   buildInputs =
     [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
-      libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt
+      libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt
       libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec
       udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib
       libkate libtiger libv4l samba liboggz libass libdvbpsi libva
       xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
       libdc1394 libraw1394 libopus libebml libmatroska libvdpau
-    ];
+    ] ++ (if withQt5 then with qt5; [ base ] else [qt4]);
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -36,7 +43,8 @@ stdenv.mkDerivation rec {
       "--enable-dc1394"
       "--enable-ncurses"
       "--enable-vdpau"
-    ];
+    ]
+    ++ optional onlyLibVLC  "--disable-vlc";
 
   preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure'';
 
diff --git a/pkgs/applications/video/wxcam/default.nix b/pkgs/applications/video/wxcam/default.nix
new file mode 100644
index 00000000000..561ab151682
--- /dev/null
+++ b/pkgs/applications/video/wxcam/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl
+, pkgconfig
+, intltool
+, libX11, libXv, libSM
+, gtk, libglade
+, wxGTK
+, perlXMLParser
+, xvidcore
+, mjpegtools
+, alsaLib
+, libv4l
+, cimg }:
+
+stdenv.mkDerivation rec {
+
+  name = "wxcam-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/wxcam/wxcam/${version}/${name}.tar.gz";
+    sha256 = "1765bvc65fpzn9ycnnj5hais9xkx9v0sm6a878d35x54bpanr859";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig intltool libX11 libXv libSM gtk libglade wxGTK perlXMLParser xvidcore mjpegtools alsaLib libv4l cimg ];
+
+  NIX_CFLAGS_COMPILE="-I ${cimg}/include/cimg";
+
+  postUnpack = ''
+    sed -ie 's|/usr/share/|'"$out/share/"'|g' $sourceRoot/Makefile.in
+  '';
+
+  installPhase = ''
+    make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam"
+  '';    
+  
+  meta = with stdenv.lib; {
+    description = "An open-source, wxGTK-based webcam app for Linux"; 
+    longDescription = ''
+    wxCam is a webcam application for linux. It supports video recording
+    (avi uncompressed and Xvid formats), snapshot taking, and some special
+    commands for philips webcams, so you can also use it for astronomy purposes.
+    It supports both video4linux 1 and 2 drivers,
+    so it should work on a very large number of devices.
+    '';
+    homepage = http://wxcam.sourceforge.net/;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix
deleted file mode 100644
index 875ed48c102..00000000000
--- a/pkgs/applications/video/xbmc/default.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ stdenv, lib, fetchurl, makeWrapper
-, pkgconfig, cmake, gnumake, yasm, pythonFull
-, boost, avahi, libdvdcss, lame, autoreconfHook
-, gettext, pcre, yajl, fribidi, which
-, openssl, gperf, tinyxml2, taglib, libssh, swig, jre
-, libX11, xproto, inputproto, libxml2
-, libXt, libXmu, libXext, xextproto
-, libXinerama, libXrandr, randrproto
-, libXtst, libXfixes, fixesproto, systemd
-, SDL, SDL_image, SDL_mixer, alsaLib
-, mesa, glew, fontconfig, freetype, ftgl
-, libjpeg, jasper, libpng, libtiff
-, ffmpeg, libmpeg2, libsamplerate, libmad
-, libogg, libvorbis, flac, libxslt
-, lzo, libcdio, libmodplug, libass, libbluray
-, sqlite, mysql, nasm, gnutls, libva
-, curl, bzip2, zip, unzip, glxinfo, xdpyinfo
-, dbus_libs ? null, dbusSupport ? true
-, udev, udevSupport ? true
-, libusb ? null, usbSupport ? false
-, samba ? null, sambaSupport ? true
-, libmicrohttpd
-# TODO: would be nice to have nfsSupport (needs libnfs library)
-# TODO: librtmp
-, libvdpau ? null, vdpauSupport ? true
-, pulseaudio ? null, pulseSupport ? true
-}:
-
-assert dbusSupport  -> dbus_libs != null;
-assert udevSupport  -> udev != null;
-assert usbSupport   -> libusb != null && ! udevSupport; # libusb won't be used if udev is avaliable
-assert sambaSupport -> samba != null;
-assert vdpauSupport -> libvdpau != null && ffmpeg.vdpauSupport;
-assert pulseSupport -> pulseaudio != null;
-
-stdenv.mkDerivation rec {
-    name = "xbmc-13.2";
-
-    src = fetchurl {
-      url = "https://github.com/xbmc/xbmc/archive/13.2-Gotham.tar.gz";
-      sha256 = "11g5a3h6kxz1vmnhagfjhg9nqf11wy0wzqqf4h338jh3lgzmvgxc";
-    };
-
-    buildInputs = [
-      makeWrapper libxml2 gnutls
-      pkgconfig cmake gnumake yasm pythonFull
-      boost libmicrohttpd autoreconfHook
-      gettext pcre yajl fribidi libva
-      openssl gperf tinyxml2 taglib libssh swig jre
-      libX11 xproto inputproto which
-      libXt libXmu libXext xextproto
-      libXinerama libXrandr randrproto
-      libXtst libXfixes fixesproto
-      SDL SDL_image SDL_mixer alsaLib
-      mesa glew fontconfig freetype ftgl
-      libjpeg jasper libpng libtiff
-      ffmpeg libmpeg2 libsamplerate libmad
-      libogg libvorbis flac libxslt systemd
-      lzo libcdio libmodplug libass libbluray
-      sqlite mysql nasm avahi libdvdcss lame
-      curl bzip2 zip unzip glxinfo xdpyinfo
-    ]
-    ++ lib.optional dbusSupport dbus_libs
-    ++ lib.optional udevSupport udev
-    ++ lib.optional usbSupport libusb
-    ++ lib.optional sambaSupport samba
-    ++ lib.optional vdpauSupport libvdpau
-    ++ lib.optional pulseSupport pulseaudio;
-
-    dontUseCmakeConfigure = true;
-
-    preConfigure = ''
-      substituteInPlace xbmc/linux/LinuxTimezone.cpp \
-        --replace 'usr/share/zoneinfo' 'etc/zoneinfo'
-      ./bootstrap
-    '';
-
-    configureFlags = [
-      "--enable-external-libraries"
-    ]
-    ++ lib.optional (! sambaSupport) "--disable-samba"
-    ++ lib.optional vdpauSupport "--enable-vdpau"
-    ++ lib.optional pulseSupport "--enable-pulse";
-
-    postInstall = ''
-      for p in $(ls $out/bin/) ; do
-        wrapProgram $out/bin/$p \
-          --prefix PATH ":" "${pythonFull}/bin" \
-          --prefix PATH ":" "${glxinfo}/bin" \
-          --prefix PATH ":" "${xdpyinfo}/bin" \
-          --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \
-          --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \
-          --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib"
-      done
-    '';
-
-    meta = {
-      homepage = http://xbmc.org/;
-      description = "Media center";
-      license = "GPLv2";
-      platforms = stdenv.lib.platforms.linux; 
-      maintainers = [ stdenv.lib.maintainers.iElectric ];
-    };
-}
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix
index 9307b9e1d1b..6ae4100c827 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.7";
+  name = "xine-ui-0.99.9";
   
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.xz";
-    sha256 = "1i3byriqav06b55kwzs4dkzrjw7mmmcv0rc7jzb52hn8qp8xz34x";
+    sha256 = "18liwmkbj75xs9bipw3vr67a7cwmdfcp04v5lph7nsjlkwhq1lcd";
   };
   
   nativeBuildInputs = [ pkgconfig shared_mime_info ];
diff --git a/pkgs/applications/video/xvidcap/default.nix b/pkgs/applications/video/xvidcap/default.nix
index 83b5c778f86..ade840dc021 100644
--- a/pkgs/applications/video/xvidcap/default.nix
+++ b/pkgs/applications/video/xvidcap/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, perl, perlXMLParser, pkgconfig, gtk
-, scrollkeeper, libglade, libXmu, libX11, libXext, gettext, lame, libXfixes, libXdamage}:
+, scrollkeeper, libglade, libXmu, libX11, libXext, gettext
+, lame, libXfixes, libXdamage }:
 
 stdenv.mkDerivation {
   name = "xvidcap-1.1.7";
@@ -10,14 +11,18 @@ stdenv.mkDerivation {
   };
 
   patches = [ ./xlib.patch ];
-  buildInputs = [perl perlXMLParser pkgconfig gtk scrollkeeper libglade libXmu gettext lame libXdamage libXfixes libXext libX11];
+  buildInputs = [
+    perl perlXMLParser pkgconfig gtk scrollkeeper
+    libglade libXmu gettext lame libXdamage libXfixes libXext libX11
+  ];
 
   # !!! don't know why this is necessary
   NIX_LDFLAGS = "-lXext -lX11 -lz -lgcc_s";
 
-  meta = { 
+  meta = with stdenv.lib; { 
     description = "screencast video catpuring tool";
     homepage = http://xvidcap.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/zdfmediathk/default.nix b/pkgs/applications/video/zdfmediathk/default.nix
new file mode 100644
index 00000000000..06342075182
--- /dev/null
+++ b/pkgs/applications/video/zdfmediathk/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, unzip, jre }:
+
+with stdenv;
+
+mkDerivation rec {
+
+  version = "9";
+  name = "zdfmediathk-${version}";
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/zdfmediathk/Mediathek/Mediathek%209/MediathekView_${version}.zip";
+    sha256 = "1wff0igr33z9p1mjw7yvb6658smdwnp22dv8klz0y8qg116wx7a4";
+  };
+
+  buildInputs = [ unzip ];
+
+  unpackPhase = "unzip $src";
+
+  installPhase = ''
+    mkdir -p $out/{lib,bin,share/{doc,licenses}}
+    install -m644 MediathekView.jar $out/
+    install -m644 -t $out/lib lib/*
+    install -m755 bin/flv.sh $out/bin/
+    install -m644 -t $out/share/doc Anleitung/*.pdf
+    install -m644 -t $out/share/licenses Copyright/{*.*,_copyright}
+    bin="$out/bin/mediathek"
+    cat >> "$bin" << EOF
+    #!/bin/sh
+    exec ${jre}/bin/java -cp "$out/lib/*" -Xms128M -Xmx1G -jar "$out/MediathekView.jar" "\$@"
+    EOF
+    chmod +x "$bin"
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";
+    homepage = "http://zdfmediathk.sourceforge.net/";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.flosse ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix
index a16f052f622..15d98dc9be5 100644
--- a/pkgs/applications/virtualization/8086tiny/default.nix
+++ b/pkgs/applications/virtualization/8086tiny/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl
 , localBios ? true, nasm ? null
-, sdlSupport ? true, SDL ? null
-}:
+, sdlSupport ? true, SDL ? null }:
 
 assert sdlSupport -> (SDL != null);
 
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 54d697d4275..e29ab11947f 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, edk2 }:
+{ stdenv, edk2, nasm, iasl, seabios, openssl, secureBoot ? false }:
 
 let
 
@@ -12,20 +12,43 @@ let
 in
 
 stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
-  name = "OVMF-2014-02-01";
+  name = "OVMF-2014-12-10";
+
+  # TODO: properly include openssl for secureBoot
+  buildInputs = [nasm iasl] ++ stdenv.lib.optionals (secureBoot == true) [ openssl ];
 
   unpackPhase = ''
     for file in \
-      "${edk2.src}"/{OvmfPkg,UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg};
+      "${edk2.src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg};
     do
       ln -sv "$file" .
     done
-  '';
+
+    ${if (seabios == false) then ''
+        ln -sv ${edk2.src}/OvmfPkg .
+      '' else ''
+        cp -r ${edk2.src}/OvmfPkg .
+        chmod +w OvmfPkg/Csm/Csm16
+        cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin
+      ''}
+
+    ${if (secureBoot == true) then ''
+        ln -sv ${edk2.src}/SecurityPkg .
+        ln -sv ${edk2.src}/CryptoPkg .
+      '' else ''
+      ''}
+    '';
+
+  buildPhase = if (seabios == false) then ''
+      build ${if secureBoot then "-DSECURE_BOOT_ENABLE=TRUE" else ""}
+    '' else ''
+      build -D CSM_ENABLE -D FD_SIZE_2MB ${if secureBoot then "-DSECURE_BOOT_ENABLE=TRUE" else ""}
+    '';
 
   meta = {
     description = "Sample UEFI firmware for QEMU and KVM";
     homepage = http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
     maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = ["x86_64-linux" "i686-linux"];
   };
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 74ce7bdfcaa..914114467e6 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl
-, pkgconfig, gtk
-, libX11 , mesa
-, sdlSupport ? true, SDL ? null
-, termSupport ? true , ncurses ? null, readline ? null
-, wxSupport ? false, wxGTK ? null
+{ stdenv, fetchurl, config
+, pkgconfig, libtool
+, gtk, mesa, readline, libX11, libXpm
+, docbook_xml_dtd_45, docbook_xsl
+, sdlSupport ? true, SDL2 ? null
+, termSupport ? true , ncurses ? null
+, wxSupport ? false, wxGTK ? null # Warning! Broken
+# Optional, undocumented dependencies
 , wgetSupport ? false, wget ? null
 , curlSupport ? false, curl ? null
 }:
 
-assert sdlSupport -> (SDL != null);
-assert termSupport -> (ncurses != null&& readline != null);
+assert sdlSupport -> (SDL2 != null);
+assert termSupport -> (ncurses != null);
 assert wxSupport -> (gtk != null && wxGTK != null);
 assert wgetSupport -> (wget != null);
 assert curlSupport -> (curl != null);
@@ -17,50 +19,148 @@ assert curlSupport -> (curl != null);
 stdenv.mkDerivation rec {
 
   name = "bochs-${version}";
-  version = "2.6.6";
+  version = "2.6.7";
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/project/bochs/bochs/${version}/${name}.tar.gz";
-    sha256 = "0nlrl218x93vz97n46aw2szsalx97r020mn43fjsif100v7zix6f";
+    sha256 = "10l2pgzwnmng0rd44kqv7y46nwpcc18j53h3kf3dlqlnd7mlwdd4";
   };
 
+  # The huge list of configurable options
+  # Blatantly based on ffmpeg expressions
+
+  termSupport = config.bochs.termSupport or true;
+  sdlSupport = config.bochs.sdlSupport or true;
+  wxSupport = config.bochs.wxSupport or false;
+  largefile = config.bochs.largefile or true;
+  idleHack = config.bochs.idleHack or true;
+  plugins = config.bochs.plugins or false; # Warning! Broken
+  a20Pin = config.bochs.a20Pin or true;
+  emulate64Bits = config.bochs.emulate64Bits or false;
+  smp = config.bochs.smp or false;
+  largeRamfile = config.bochs.largeRamfile or true;
+  repeatSpeedups = config.bochs.repeatSpeedups or false;
+  handlersChaining = config.bochs.handlersChaining or false;
+  traceLinking = config.bochs.traceLinking or false;
+  configurableMSRegs = config.bochs.configurableMSRegs or false;
+  showIPS = config.bochs.showIPS or true;
+  debugger = config.bochs.debugger or false;
+  disasm = config.bochs.disasm or false;
+  debuggerGui = config.bochs.debuggerGui or false;
+  gdbStub = config.bochs.gdbStub or false;
+  IODebug = config.Bochs.IODebug or false;
+  fpu = config.bochs.fpu or true;
+  svm = config.bochs.svm or false;
+  avx = config.bochs.avx or false;
+  evex = config.bochs.evex or false;
+  x86Debugger = config.bochs.x86Debugger or false;
+  pci = config.bochs.pci or true;
+  uhci = config.bochs.uhci or false;
+  ohci = config.bochs.ohci or false;
+  ne2k = config.bochs.ne2k or true;
+  pNIC = config.bochs.pNIC or true;
+  e1000 = config.bochs.e1000 or true;
+  clgd54xx = config.bochs.clgd54xx or true;
+  voodoo = config.bochs.voodoo or true;
+  cdrom = config.bochs.cdrom or true;
+  sb16 = config.bochs.sb16 or true;
+  es1370 = config.bochs.es1370 or true;
+  gameport = config.bochs.gameport or true;
+  busMouse = config.bochs.busMouse or false;
+
   buildInputs = with stdenv.lib;
-  [ pkgconfig gtk libX11 mesa ]
-  ++ optionals sdlSupport [ SDL ]
-  ++ optionals termSupport [ readline ncurses ]
+  [ pkgconfig libtool gtk mesa readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
+  ++ optionals termSupport [ ncurses ]
+  ++ optionals sdlSupport [ SDL2 ]
   ++ optionals wxSupport [ wxGTK ]
   ++ optionals wgetSupport [ wget ]
   ++ optionals curlSupport [ curl ];
 
-  configureFlags = ''
-    --with-x11
-    --with-term=${if termSupport then "yes" else "no"}
-    --with-sdl=${if sdlSupport then "yes" else "no"}
-    --with-svga=no
-    --with-wx=${if wxSupport then "yes" else "no"}
-    --enable-readline
-    --enable-plugins=no
-    --enable-disasm
-    --enable-debugger
-    --enable-ne2000
-    --enable-e1000
-    --enable-sb16
-    --enable-voodoo
-    --enable-usb
-    --enable-pnic
-'';
+  configureFlags = [
+    "--with-x=yes"
+    "--with-x11=yes"
+
+    "--with-rfb=no"
+    "--with-vncsrv=no"
+    "--with-svga=no" # it doesn't compile on NixOS
+    "--with-wx=no"
+
+    # These will always be "yes" on NixOS
+    "--enable-ltdl-install=yes"
+    "--enable-readline=yes"
+    "--enable-all-optimizations=yes"
+    "--enable-logging=yes"
+    "--enable-xpm=yes"
 
-  NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/";
+    # ... whereas these, always "no"!
+    "--enable-cpp=no"
+    "--enable-instrumentation=no"
+
+    "--enable-docbook=no" # Broken - it requires docbook2html
+
+    # Dangerous options - they are marked as "incomplete/experimental" on Bochs documentation
+    "--enable-3dnow=no"
+    "--enable-usb-xhci=no"
+    "--enable-monitor-mwait=no"
+    "--enable-raw-serial=no" ]
+    # Boolean flags
+    ++ stdenv.lib.optional termSupport "--with-term"
+    ++ stdenv.lib.optional sdlSupport "--with-sdl2"
+    ++ stdenv.lib.optional wxSupport "--with-wx"
+    ++ stdenv.lib.optional largefile "--enable-largefile"
+    ++ stdenv.lib.optional idleHack "--enable-idle-hack"
+    ++ stdenv.lib.optional plugins "--enable-plugins"
+    ++ stdenv.lib.optional a20Pin "--enable-a20-pin"
+    ++ stdenv.lib.optional emulate64Bits "--enable-x86-64"
+    ++ stdenv.lib.optional smp "--enable-smp"
+    ++ stdenv.lib.optional largeRamfile "--enable-large-ramfile"
+    ++ stdenv.lib.optional repeatSpeedups "--enable-repeat-speedups"
+    ++ stdenv.lib.optional handlersChaining "--enable-handlers-chaining"
+    ++ stdenv.lib.optional traceLinking "--enable-trace-linking"
+    ++ stdenv.lib.optional configurableMSRegs "--enable-configurable-msrs"
+    ++ stdenv.lib.optional showIPS "--enable-show-ips"
+    ++ stdenv.lib.optional debugger "--enable-debugger"
+    ++ stdenv.lib.optional disasm "--enable-disasm"
+    ++ stdenv.lib.optional debuggerGui "--enable-debugger-gui"
+    ++ stdenv.lib.optional gdbStub "--enable-gdb-stub"
+    ++ stdenv.lib.optional IODebug "--enable-iodebug"
+    ++ stdenv.lib.optional fpu "--enable-fpu"
+    ++ stdenv.lib.optional svm "--enable-svm"
+    ++ stdenv.lib.optional avx "--enable-avx"
+    ++ stdenv.lib.optional evex "--enable-evex"
+    ++ stdenv.lib.optional x86Debugger "--enable-x86-debugger"
+    ++ stdenv.lib.optional pci "--enable-pci"
+    ++ stdenv.lib.optional uhci "--enable-usb"
+    ++ stdenv.lib.optional ohci "--enable-usb-ohci"
+    ++ stdenv.lib.optional ne2k "--enable-ne2000"
+    ++ stdenv.lib.optional pNIC "--enable-pnic"
+    ++ stdenv.lib.optional e1000 "--enable-e1000"
+    ++ stdenv.lib.optional clgd54xx "--enable-clgd54xx"
+    ++ stdenv.lib.optional voodoo "--enable-voodoo"
+    ++ stdenv.lib.optional cdrom "--enable-cdrom"
+    ++ stdenv.lib.optional sb16 "--enable-sb16"
+    ++ stdenv.lib.optional es1370 "--enable-es1370"
+    ++ stdenv.lib.optional busMouse "--enable-busmouse"
+    ;
+
+  NIX_CFLAGS_COMPILE="-I${gtk}/include/gtk-2.0/ -I${libtool}/include/";
+  NIX_LDFLAGS="-L${libtool}/lib";
 	
-  meta = {
+  meta = with stdenv.lib; {
     description = "An open-source IA-32 (x86) PC emulator";
     longDescription = ''
-    Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS.
+    Bochs is an open-source (LGPL), highly portable IA-32 PC emulator,
+    written in C++, that runs on most popular platforms. It includes
+    emulation of the Intel x86 CPU, common I/O devices, and a custom
+    BIOS.
     '';
     homepage = http://bochs.sourceforge.net/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.lgpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
+
 # TODO: study config.bochs.* implementation (like config.ffmpeg.* options)
+# TODO: investigate the wxWidgets problem (maybe upstream devteam didn't update wxGTK GUI)
+# TODO: investigate svga support - the Bochs sources explicitly cite /usr/include/svga.h
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index f4d329221ff..c456c9aa9f2 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,30 +1,30 @@
-{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper,
-btrfsProgs, iptables, bash, e2fsprogs}:
+{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge-utils, devicemapper,
+btrfsProgs, iptables, bash, e2fsprogs, xz}:
 
 stdenv.mkDerivation rec {
   name = "docker-${version}";
-  version = "1.2.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz";
-    sha256 = "1nk74p9k17bllgw4992ixx7z3w87icp2wabbpbgfyi20k2q9mayp";
+    sha256 = "0j1wlh0jj84ly3iykp2iqvm01g5il5v56fvlrfvx6qsslyrs35yg";
   };
 
-  buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables e2fsprogs];
+  buildInputs = [ makeWrapper go sqlite lxc iproute bridge-utils devicemapper btrfsProgs iptables e2fsprogs ];
 
   dontStrip = true;
 
   buildPhase = ''
-    patchShebangs ./hack
+    patchShebangs ./project
     export AUTO_GOPATH=1
-    export DOCKER_GITCOMMIT="fa7b24f"
-    ./hack/make.sh dynbinary
+    export DOCKER_GITCOMMIT="c78088f"
+    ./project/make.sh dynbinary
   '';
 
   installPhase = ''
-    install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker
-    install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit
-    wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin"
+    install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker
+    install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit
+    makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin"
 
     # systemd
     install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
diff --git a/pkgs/applications/virtualization/qemu/cve-2014-0150.patch b/pkgs/applications/virtualization/qemu/cve-2014-0150.patch
deleted file mode 100644
index a086b369321..00000000000
--- a/pkgs/applications/virtualization/qemu/cve-2014-0150.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-
-diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
-index 439477b..33bd233 100644
---- a/hw/net/virtio-net.c
-+++ b/hw/net/virtio-net.c
- <at>  <at>  -677,7 +677,7  <at>  <at>  static int virtio_net_handle_mac(VirtIONet *n, uint8_t cmd,
-         goto error;
-     }
-
--    if (in_use + mac_data.entries <= MAC_TABLE_ENTRIES) {
-+    if (mac_data.entries <= MAC_TABLE_ENTRIES - in_use) {
-         s = iov_to_buf(iov, iov_cnt, 0, &macs[in_use * ETH_ALEN],
-                        mac_data.entries * ETH_ALEN);
-         if (s != mac_data.entries * ETH_ALEN) {
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 1d668c4a28c..69888e22a01 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -1,40 +1,55 @@
 { stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman
-, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison
+, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
+, libseccomp, libaio, libcap_ng, gnutls
 , makeWrapper
+, pulseSupport ? true, pulseaudio
 , sdlSupport ? true, SDL
 , vncSupport ? true, libjpeg, libpng
 , spiceSupport ? true, spice, spice_protocol, usbredir
 , x86Only ? false
 }:
 
-let n = "qemu-2.0.0"; in
+with stdenv.lib;
+let
+  n = "qemu-2.2.1";
+  audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
+    + optionalString pulseSupport "pa,"
+    + optionalString sdlSupport "sdl,";
+in
 
 stdenv.mkDerivation rec {
   name = n + (if x86Only then "-x86-only" else "");
 
   src = fetchurl {
     url = "http://wiki.qemu.org/download/${n}.tar.bz2";
-    sha256 = "0frsahiw56jr4cqr9m6s383lyj4ar9hfs2wp3y4yr76krah1mk30";
+    sha256 = "181m2ddsg3adw8y5dmimsi8x678imn9f6i5p20zbhi7pdr61a5s6";
   };
 
-  patches = [ ./cve-2014-0150.patch ];
-
   buildInputs =
     [ python zlib pkgconfig glib ncurses perl pixman attr libcap
-      vde2 alsaLib texinfo libuuid flex bison makeWrapper
+      vde2 texinfo libuuid flex bison makeWrapper lzo snappy libseccomp
+      libcap_ng gnutls
     ]
-    ++ stdenv.lib.optionals sdlSupport [ SDL ]
-    ++ stdenv.lib.optionals vncSupport [ libjpeg libpng ]
-    ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice usbredir ];
+    ++ optionals pulseSupport [ pulseaudio ]
+    ++ optionals sdlSupport [ SDL ]
+    ++ optionals vncSupport [ libjpeg libpng ]
+    ++ optionals spiceSupport [ spice_protocol spice usbredir ]
+    ++ optionals (hasSuffix "linux" stdenv.system) [ alsaLib libaio ];
 
   enableParallelBuilding = true;
 
+  patches = [ ./no-etc-install.patch ];
+
   configureFlags =
-    [ "--audio-drv-list=alsa"
+    [ "--enable-seccomp"
       "--smbd=smbd" # use `smbd' from $PATH
+      "--audio-drv-list=${audio}"
+      "--sysconfdir=/etc"
+      "--localstatedir=/var"
     ]
-    ++ stdenv.lib.optional spiceSupport "--enable-spice"
-    ++ stdenv.lib.optional x86Only "--target-list=i386-softmmu,x86_64-softmmu";
+    ++ optional spiceSupport "--enable-spice"
+    ++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
+    ++ optional (hasSuffix "linux" stdenv.system) "--enable-linux-aio";
 
   postInstall =
     ''
diff --git a/pkgs/applications/virtualization/qemu/no-etc-install.patch b/pkgs/applications/virtualization/qemu/no-etc-install.patch
new file mode 100644
index 00000000000..81d29feea3d
--- /dev/null
+++ b/pkgs/applications/virtualization/qemu/no-etc-install.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile b/Makefile
+index d6b9dc1..ce7c493 100644
+--- a/Makefile
++++ b/Makefile
+@@ -384,8 +384,7 @@ install-confdir:
+ install-sysconfig: install-datadir install-confdir
+ 	$(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(qemu_confdir)"
+ 
+-install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig \
+-install-datadir install-localstatedir
++install: all $(if $(BUILD_DOCS),install-doc) install-datadir
+ ifneq ($(TOOLS),)
+ 	$(call install-prog,$(TOOLS),$(DESTDIR)$(bindir))
+ endif
diff --git a/pkgs/applications/virtualization/remotebox/default.nix b/pkgs/applications/virtualization/remotebox/default.nix
new file mode 100644
index 00000000000..a257ef27e9f
--- /dev/null
+++ b/pkgs/applications/virtualization/remotebox/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, perl, perlPackages }:
+
+stdenv.mkDerivation rec {
+  version = "1.9";
+  name = "remotebox-${version}";
+
+  src = fetchurl {
+    url = "${meta.homepage}/downloads/RemoteBox-${version}.tar.bz2";
+    sha256 = "0vsfz2qmha9nz60fyksgqqyrw4lz9z2d5isnwqc6afn8z3i1qmkp";
+  };
+
+  buildInputs = [ perl perlPackages.Gtk2 perlPackages.SOAPLite ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a docs/ share/ $out
+
+    substituteInPlace remotebox --replace "\$Bin/" "\$Bin/../"
+    install -t $out/bin remotebox
+
+    mkdir -p $out/share/applications
+    cp -p packagers-readme/*.desktop $out/share/applications
+  '';
+
+  meta = with stdenv.lib; {
+    description = "VirtualBox client with remote management";
+    homepage = http://remotebox.knobgoblin.org.uk/;
+    license = with licenses; gpl2Plus;
+    longDescription = ''
+      VirtualBox is traditionally considered to be a virtualization solution
+      aimed at the desktop.  While it is certainly possible to install
+      VirtualBox on a server, it offers few remote management features beyond
+      using the vboxmanage command line.
+      RemoteBox aims to fill this gap by providing a graphical VirtualBox
+      client which is able to manage a VirtualBox server installation.
+    '';
+    maintainers = with maintainers; [ nckx ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/applications/virtualization/seabios/default.nix b/pkgs/applications/virtualization/seabios/default.nix
new file mode 100644
index 00000000000..8e6a7fcb0d2
--- /dev/null
+++ b/pkgs/applications/virtualization/seabios/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, iasl, python }:
+
+stdenv.mkDerivation rec {
+
+  name = "seabios-${version}";
+  version = "1.7.5.2";
+
+  src = fetchurl {
+    url = "http://code.coreboot.org/p/seabios/downloads/get/${name}.tar.gz";
+    sha256 = "1syd3gi5gq0gj2pjvmdis64xc3j1xf0jgy49ngymap0pdpm0cmh0";
+  };
+
+  buildInputs = [ iasl python ];
+
+  configurePhase = ''
+    # build SeaBIOS for CSM
+    cat > .config << EOF
+    CONFIG_CSM=y
+    CONFIG_QEMU_HARDWARE=y
+    CONFIG_PERMIT_UNALIGNED_PCIROM=y
+    EOF
+
+    make olddefconfig
+    '';
+
+  installPhase = ''
+    mkdir $out
+    cp out/Csm16.bin $out/Csm16.bin
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Open source implementation of a 16bit X86 BIOS";
+    longDescription = ''
+      SeaBIOS is an open source implementation of a 16bit X86 BIOS.
+      It can run in an emulator or it can run natively on X86 hardware with the use of coreboot.
+      SeaBIOS is the default BIOS for QEMU and KVM.
+    '';
+    homepage = http://www.seabios.org;
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.tstrobel ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index d4d680f05fa..67e3f9ade98 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python
 , makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte
 , gtk3, gobjectIntrospection, libvirt-glib, gsettings_desktop_schemas, glib
-, avahi, dconf, spiceSupport ? true, spice_gtk
+, avahi, dconf, spiceSupport ? true, spice_gtk, libosinfo
 }:
 
 with stdenv.lib;
@@ -9,12 +9,12 @@ with pythonPackages;
 
 buildPythonPackage rec {
   name = "virt-manager-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz";
-    sha256 = "1n248kack1fni8y17ysgq5xhvffcgy4l62hnd0zvr4kjw0579qq8";
+    sha256 = "0hbr1wf4byfvbqlbq3w6s71ckhn626i4rb497y4z2cm12p5hc2db";
   };
 
   propagatedBuildInputs =
@@ -22,7 +22,7 @@ buildPythonPackage rec {
       paste_deploy m2crypto ipy twisted sqlalchemy_migrate
       distutils_extra simplejson readline glance cheetah lockfile httplib2
       urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3
-      libvirt libxml2Python ipaddr vte
+      libvirt libxml2Python ipaddr vte libosinfo
     ] ++ optional spiceSupport spice_gtk;
 
   buildInputs =
@@ -34,6 +34,7 @@ buildPythonPackage rec {
       avahi
       glib
       gobjectIntrospection
+      gsettings_desktop_schemas
     ];
 
   configurePhase = ''
@@ -51,7 +52,7 @@ buildPythonPackage rec {
             --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
             --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \
             --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \
-            --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
+            --prefix XDG_DATA_DIRS : "$out/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
     done
 
     ${glib}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index a5d7c775412..2fe7e0bcc23 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -1,16 +1,20 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, libxml2, gtk3, gtkvnc, gmp
-, libgcrypt, gnupg, cyrus_sasl, spiceSupport ? true, spice_gtk, shared_mime_info
-, libvirt, libcap_ng, yajl
+, libgcrypt, gnupg, cyrus_sasl, shared_mime_info, libvirt, libcap_ng, yajl
+, gsettings_desktop_schemas, makeWrapper
+, spiceSupport ? true, spice_gtk ? null, spice_protocol ? null, libcap ? null, gdbm ? null
 }:
 
+assert spiceSupport ->
+  spice_gtk != null && spice_protocol != null && libcap != null && gdbm != null;
+
 with stdenv.lib;
 
 let sourceInfo = rec {
     baseName="virt-viewer";
-    version="0.6.0";
+    version="2.0";
     name="${baseName}-${version}";
     url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
-    hash="0svalnr6k8rjadysnxixygk3bdx04asmwx75bhrbljyicba216v6";
+    hash="0dylhpk5rq9jz0l1cxs50q2s74z0wingygm1m33bmnmcnny87ig9";
 }; in
 
 stdenv.mkDerivation  {
@@ -23,12 +27,18 @@ stdenv.mkDerivation  {
 
   buildInputs = [ 
     pkgconfig intltool glib libxml2 gtk3 gtkvnc gmp libgcrypt gnupg cyrus_sasl
-    shared_mime_info libvirt libcap_ng yajl
-  ] ++ optional spiceSupport spice_gtk;
+    shared_mime_info libvirt libcap_ng yajl gsettings_desktop_schemas makeWrapper
+  ] ++ optionals spiceSupport [ spice_gtk spice_protocol libcap gdbm ];
+
+  postInstall = ''
+    for f in "$out"/bin/*; do
+        wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    done
+  '';
 
   meta = {
     description = "A viewer for remote virtual machines";
-    maintainers = maintainers.raskin;
+    maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
     license = licenses.gpl2;
   };
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index f3e7bea3ca9..842985dce5b 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,43 +1,47 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
 , libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
-, which, alsaLib, curl, libvpx, gawk
-, xorriso, makeself, perl, pkgconfig
+, which, alsaLib, curl, libvpx, gawk, nettools
+, xorriso, makeself, perl, pkgconfig, nukeReferences
 , javaBindings ? false, jdk ? null
 , pythonBindings ? false, python ? null
-, enableExtensionPack ? false, requireFile ? null, patchelf ? null
+, enableExtensionPack ? false, requireFile ? null, patchelf ? null, fakeroot ? null
+, pulseSupport ? false, pulseaudio ? null
+, enableHardening ? false
 }:
 
 with stdenv.lib;
 
 let
+  buildType = "release";
 
-  version = "4.3.14"; # changes ./guest-additions as well
+  version = "4.3.26"; # changes ./guest-additions as well
 
   forEachModule = action: ''
     for mod in \
-      $sourcedir/out/linux.*/release/bin/src/vboxdrv \
-      $sourcedir/out/linux.*/release/bin/src/vboxpci \
-      $sourcedir/out/linux.*/release/bin/src/vboxnetadp \
-      $sourcedir/out/linux.*/release/bin/src/vboxnetflt
+      out/linux.*/${buildType}/bin/src/vboxdrv \
+      out/linux.*/${buildType}/bin/src/vboxpci \
+      out/linux.*/${buildType}/bin/src/vboxnetadp \
+      out/linux.*/${buildType}/bin/src/vboxnetflt
     do
       if [ "x$(basename "$mod")" != xvboxdrv -a ! -e "$mod/Module.symvers" ]
       then
-        cp -v $sourcedir/out/linux.*/release/bin/src/vboxdrv/Module.symvers \
-              "$mod/Module.symvers"
+        cp -v out/linux.*/${buildType}/bin/src/vboxdrv/Module.symvers \
+          "$mod/Module.symvers"
       fi
       INSTALL_MOD_PATH="$out" INSTALL_MOD_DIR=misc \
-      make -C "$MODULES_BUILD_DIR" "M=$mod" DEPMOD=/do_not_use_depmod ${action}
+      make -C "$MODULES_BUILD_DIR" DEPMOD=/do_not_use_depmod \
+        "M=\$(PWD)/$mod" BUILD_TYPE="${buildType}" ${action}
     done
   '';
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
-  extpackRevision = "95030";
+  extpackRevision = "98988";
   extensionPack = requireFile rec {
     name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
     # IMPORTANT: Hash must be base16 encoded because it's used as an input to
     # VBoxExtPackHelperApp!
     # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
-    sha256 = "b965c3565e7933bc61019d2992f4da084944cfd9e809fbeaff330f4743d47537";
+    sha256 = "4e39a6d0da23799a31c3f6a4022b144ef3ddfe30c523e51b21bf7d9ebade62ce";
     message = ''
       In order to use the extension pack, you need to comply with the VirtualBox Personal Use
       and Evaluation License (PUEL) by downloading the related binaries from:
@@ -56,15 +60,16 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "bc893adde4449a2d35d8b4d0b8b247f0f2ac62a434fd8a8f7c54f613a100855a";
+    sha256 = "e2949c250a1de30997e658de9e3d8545e71318a9844d80536137d76db4f08961";
   };
 
   buildInputs =
     [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
       libcap glib lvm2 python alsaLib curl libvpx pam xorriso makeself perl
-      pkgconfig which libXmu ]
+      pkgconfig which libXmu nukeReferences ]
     ++ optional javaBindings jdk
-    ++ optional pythonBindings python;
+    ++ optional pythonBindings python
+    ++ optional pulseSupport pulseaudio;
 
   prePatch = ''
     set -x
@@ -75,49 +80,68 @@ in stdenv.mkDerivation {
         -i configure
     ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2
     ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
-    find . -type f | xargs sed 's/depmod -a/true/' -i
+    find . -type f -iname '*makefile*' -exec sed -i -e 's/depmod -a/:/g' {} +
+    sed -e 's@"libasound.so.2"@"${alsaLib}/lib/libasound.so.2"@g' -i src/VBox/Main/xml/Settings.cpp src/VBox/Devices/Audio/alsa_stubs.c
     export USER=nix
     set +x
   '';
 
+  patches = optional enableHardening ./hardened.patch;
+
+  postPatch = ''
+    sed -i -e 's|/sbin/ifconfig|${nettools}/bin/ifconfig|' \
+      src/apps/adpctl/VBoxNetAdpCtl.cpp
+  '';
+
   configurePhase = ''
-    sourcedir="$(pwd)"
+    cat >> LocalConfig.kmk <<LOCAL_CONFIG
+    VBOX_WITH_TESTCASES            :=
+    VBOX_WITH_TESTSUITE            :=
+    VBOX_WITH_VALIDATIONKIT        :=
+    VBOX_WITH_DOCS                 :=
+    VBOX_WITH_WARNINGS_AS_ERRORS   :=
+
+    VBOX_WITH_ORIGIN               :=
+    VBOX_PATH_APP_PRIVATE_ARCH_TOP := $out/share/virtualbox
+    VBOX_PATH_APP_PRIVATE_ARCH     := $out/libexec/virtualbox
+    VBOX_PATH_SHARED_LIBS          := $out/libexec/virtualbox
+    VBOX_WITH_RUNPATH              := $out/libexec/virtualbox
+    VBOX_PATH_APP_PRIVATE          := $out/share/virtualbox
+    VBOX_PATH_APP_DOCS             := $out/doc
+    ${optionalString javaBindings ''
+    VBOX_JAVA_HOME                 := ${jdk}
+    ''}
+    LOCAL_CONFIG
+
     ./configure --with-qt4-dir=${qt4} \
       ${optionalString (!javaBindings) "--disable-java"} \
       ${optionalString (!pythonBindings) "--disable-python"} \
-      --disable-pulse --disable-hardening --disable-kmods \
-      --with-mkisofs=${xorriso}/bin/xorrisofs
+      ${optionalString (!pulseSupport) "--disable-pulse"} \
+      ${optionalString (!enableHardening) "--disable-hardening"} \
+      --disable-kmods --with-mkisofs=${xorriso}/bin/xorrisofs
     sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
         -i AutoConfig.kmk
     sed -e 's@arch/x86/@@' \
         -i Config.kmk
     substituteInPlace Config.kmk --replace "VBOX_WITH_TESTCASES = 1" "#"
-    cat >> AutoConfig.kmk << END_PATHS
-    VBOX_PATH_APP_PRIVATE := $out
-    VBOX_PATH_APP_DOCS := $out/doc
-    ${optionalString javaBindings ''
-      VBOX_JAVA_HOME := ${jdk}
-    ''}
-    END_PATHS
-    echo "VBOX_WITH_DOCS :=" >> LocalConfig.kmk
-    echo "VBOX_WITH_WARNINGS_AS_ERRORS :=" >> LocalConfig.kmk
   '';
 
   enableParallelBuilding = true;
 
   buildPhase = ''
     source env.sh
-    kmk
+    kmk BUILD_TYPE="${buildType}"
     ${forEachModule "modules"}
   '';
 
   installPhase = ''
-    libexec=$out/libexec/virtualbox
+    libexec="$out/libexec/virtualbox"
+    share="${if enableHardening then "$out/share/virtualbox" else "$libexec"}"
 
     # Install VirtualBox files
-    cd out/linux.*/release/bin
-    mkdir -p $libexec
-    cp -av * $libexec
+    mkdir -p "$libexec"
+    find out/linux.*/${buildType}/bin -mindepth 1 -maxdepth 1 \
+      -name src -o -exec cp -avt "$libexec" {} +
 
     # Install kernel modules
     ${forEachModule "modules_install"}
@@ -129,12 +153,15 @@ in stdenv.mkDerivation {
     done
 
     ${optionalString enableExtensionPack ''
+      mkdir -p "$share"
+      "${fakeroot}/bin/fakeroot" "${stdenv.shell}" <<EXTHELPER
       "$libexec/VBoxExtPackHelperApp" install \
-        --base-dir "$libexec/ExtensionPacks" \
-        --cert-dir "$libexec/ExtPackCertificates" \
+        --base-dir "$share/ExtensionPacks" \
+        --cert-dir "$share/ExtPackCertificates" \
         --name "Oracle VM VirtualBox Extension Pack" \
         --tarball "${extensionPack}" \
         --sha-256 "${extensionPack.outputHash}"
+      EXTHELPER
     ''}
 
     # Create and fix desktop item
@@ -147,6 +174,9 @@ in stdenv.mkDerivation {
       mkdir -p $out/share/icons/hicolor/$size/apps
       ln -s $libexec/icons/$size/*.png $out/share/icons/hicolor/$size/apps
     done
+
+    # Get rid of a reference to linux.dev.
+    nuke-refs $out/lib/modules/*/misc/*.ko
   '';
 
   passthru = { inherit version; /* for guest additions */ };
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index f168c0d5725..e63f69ca230 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "c76dd5ec86f61ad72263ab6d2405723b06badfc2fae57f83ffa5de96f553400d";
+    sha256 = "c5e46533a6ff8df177ed5c9098624f6cec46ca392bab16de2017195580088670";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/*/build";
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
         ''
         else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
         }
-        patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${dbus}/lib:${libX11}/lib:${libXt}/lib:${libXext}/lib:${libXmu}/lib:${libXfixes}/lib:${libXrandr}/lib:${libXcursor}/lib $i
+        patchelf --set-rpath ${stdenv.cc.cc}/lib:${dbus}/lib:${libX11}/lib:${libXt}/lib:${libXext}/lib:${libXmu}/lib:${libXfixes}/lib:${libXrandr}/lib:${libXcursor}/lib $i
     done
 
     for i in lib/VBoxOGL*.so
@@ -78,6 +78,10 @@ stdenv.mkDerivation {
         patchelf --set-rpath $out/lib:${dbus}/lib $i
     done
 
+    # FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions
+    # NixOS module) to 98vboxadd-xclient. For now, just work around it:
+    mv lib/VBoxGuestAdditions/98vboxadd-xclient bin/VBoxClient-all
+
     # Remove references to /usr from various scripts and files
     sed -i -e "s|/usr/bin|$out/bin|" share/VBoxGuestAdditions/vboxclient.desktop
     sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all
diff --git a/pkgs/applications/virtualization/virtualbox/hardened.patch b/pkgs/applications/virtualization/virtualbox/hardened.patch
new file mode 100644
index 00000000000..3df41228ae5
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/hardened.patch
@@ -0,0 +1,207 @@
+diff --git a/include/iprt/mangling.h b/include/iprt/mangling.h
+index 70c596a..78972ed 100644
+--- a/include/iprt/mangling.h
++++ b/include/iprt/mangling.h
+@@ -1068,6 +1068,7 @@
+ # define RTPathStripSuffix                              RT_MANGLER(RTPathStripSuffix)
+ # define RTPathStripFilename                            RT_MANGLER(RTPathStripFilename)
+ # define RTPathStripTrailingSlash                       RT_MANGLER(RTPathStripTrailingSlash)
++# define RTPathSuidDir                                  RT_MANGLER(RTPathSuidDir)
+ # define RTPathTemp                                     RT_MANGLER(RTPathTemp)
+ # define RTPathTraverseList                             RT_MANGLER(RTPathTraverseList)
+ # define RTPathUnlink                                   RT_MANGLER(RTPathUnlink)
+@@ -1105,6 +1106,7 @@
+ # define RTProcGetAffinityMask                          RT_MANGLER(RTProcGetAffinityMask)
+ # define RTProcGetExecutablePath                        RT_MANGLER(RTProcGetExecutablePath)
+ # define RTProcGetPriority                              RT_MANGLER(RTProcGetPriority)
++# define RTProcGetSuidPath                              RT_MANGLER(RTProcGetSuidPath)
+ # define RTProcIsRunningByName                          RT_MANGLER(RTProcIsRunningByName)
+ # define RTProcQueryParent                              RT_MANGLER(RTProcQueryParent)
+ # define RTProcQueryUsername                            RT_MANGLER(RTProcQueryUsername)
+diff --git a/include/iprt/path.h b/include/iprt/path.h
+index 7e42754..b4de4c8 100644
+--- a/include/iprt/path.h
++++ b/include/iprt/path.h
+@@ -1049,6 +1049,15 @@ RTDECL(int) RTPathCalcRelative(char *pszPathDst, size_t cbPathDst,
+ RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath);
+ 
+ /**
++ * Gets the path to the NixOS setuid wrappers directory.
++ *
++ * @returns iprt status code.
++ * @param   pszPath     Buffer where to store the path.
++ * @param   cchPath     Buffer size in bytes.
++ */
++RTDECL(int) RTPathSuidDir(char *pszPath, size_t cchPath);
++
++/**
+  * Gets the user home directory.
+  *
+  * @returns iprt status code.
+diff --git a/include/iprt/process.h b/include/iprt/process.h
+index 2760306..0ce6c92 100644
+--- a/include/iprt/process.h
++++ b/include/iprt/process.h
+@@ -313,6 +313,16 @@ RTR3DECL(const char *) RTProcShortName(void);
+ RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath);
+ 
+ /**
++ * Gets the path to the NixOS setuid wrappers directory.
++ *
++ * @returns pszExecPath on success. NULL on buffer overflow or other errors.
++ *
++ * @param   pszExecPath     Where to store the path.
++ * @param   cbExecPath      The size of the buffer.
++ */
++RTR3DECL(char *) RTProcGetSuidPath(char *pszExecPath, size_t cbExecPath);
++
++/**
+  * Daemonize the current process, making it a background process.
+  *
+  * The way this work is that it will spawn a detached / backgrounded /
+diff --git a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
+index c39d2f7..896b352 100644
+--- a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
++++ b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
+@@ -1415,18 +1415,19 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
+         NOREF(fRelaxed);
+ #else
+         NOREF(fRelaxed);
+-        bool fBad = true;
++        bool fBad = !(fDir && pFsObjState->Stat.st_mode & S_ISVTX && !suplibHardenedStrCmp(pszPath, "/nix/store"));
+ #endif
+-        if (fBad)
++        if (fBad && suplibHardenedStrCmp(pszPath, "/nix/store"))
+             return supR3HardenedSetError3(VERR_SUPLIB_WRITE_NON_SYS_GROUP, pErrInfo,
+                                           "An unknown (and thus untrusted) group has write access to '", pszPath,
+                                           "' and we therefore cannot trust the directory content or that of any subdirectory");
+     }
+ 
+     /*
+-     * World must not have write access.  There is no relaxing this rule.
++     * World must not have write access.
++     * There is no relaxing this rule, except when it comes to the Nix store.
+      */
+-    if (pFsObjState->Stat.st_mode & S_IWOTH)
++    if (pFsObjState->Stat.st_mode & S_IWOTH && suplibHardenedStrCmp(pszPath, "/nix/store"))
+         return supR3HardenedSetError3(VERR_SUPLIB_WORLD_WRITABLE, pErrInfo,
+                                       "World writable: '", pszPath, "'");
+ 
+diff --git a/src/VBox/Main/src-server/MachineImpl.cpp b/src/VBox/Main/src-server/MachineImpl.cpp
+index 95dc9a7..39170bc 100644
+--- a/src/VBox/Main/src-server/MachineImpl.cpp
++++ b/src/VBox/Main/src-server/MachineImpl.cpp
+@@ -7326,7 +7326,7 @@ HRESULT Machine::i_launchVMProcess(IInternalSessionControl *aControl,
+ 
+     /* get the path to the executable */
+     char szPath[RTPATH_MAX];
+-    RTPathAppPrivateArch(szPath, sizeof(szPath) - 1);
++    RTStrCopy(szPath, sizeof(szPath) - 1, "/var/setuid-wrappers");
+     size_t cchBufLeft = strlen(szPath);
+     szPath[cchBufLeft++] = RTPATH_DELIMITER;
+     szPath[cchBufLeft] = 0;
+diff --git a/src/VBox/Main/src-server/NATNetworkServiceRunner.cpp b/src/VBox/Main/src-server/NATNetworkServiceRunner.cpp
+index 090018e..7dcfc7a 100644
+--- a/src/VBox/Main/src-server/NATNetworkServiceRunner.cpp
++++ b/src/VBox/Main/src-server/NATNetworkServiceRunner.cpp
+@@ -75,7 +75,7 @@ int NATNetworkServiceRunner::start()
+ 
+     /* get the path to the executable */
+     char exePathBuf[RTPATH_MAX];
+-    const char *exePath = RTProcGetExecutablePath(exePathBuf, RTPATH_MAX);
++    const char *exePath = RTProcGetSuidPath(exePathBuf, RTPATH_MAX);
+     char *substrSl = strrchr(exePathBuf, '/');
+     char *substrBs = strrchr(exePathBuf, '\\');
+     char *suffix = substrSl ? substrSl : substrBs;
+diff --git a/src/VBox/Main/src-server/NetworkServiceRunner.cpp b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
+index e9e1ba62..4d1c1e1 100644
+--- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
++++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
+@@ -79,7 +79,7 @@ int NetworkServiceRunner::start()
+ 
+     /* get the path to the executable */
+     char exePathBuf[RTPATH_MAX];
+-    const char *exePath = RTProcGetExecutablePath(exePathBuf, RTPATH_MAX);
++    const char *exePath = RTProcGetSuidPath(exePathBuf, RTPATH_MAX);
+     char *substrSl = strrchr(exePathBuf, '/');
+     char *substrBs = strrchr(exePathBuf, '\\');
+     char *suffix = substrSl ? substrSl : substrBs;
+diff --git a/src/VBox/Main/src-server/generic/NetIf-generic.cpp b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
+index 8559d2a..2177f27 100644
+--- a/src/VBox/Main/src-server/generic/NetIf-generic.cpp
++++ b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
+@@ -47,7 +47,7 @@ static int NetIfAdpCtl(const char * pcszIfName, const char *pszAddr, const char
+     const char *args[] = { NULL, pcszIfName, pszAddr, pszOption, pszMask, NULL };
+ 
+     char szAdpCtl[RTPATH_MAX];
+-    int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
++    int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
+     if (RT_FAILURE(rc))
+     {
+         LogRel(("NetIfAdpCtl: failed to get program path, rc=%Rrc.\n", rc));
+@@ -90,7 +90,7 @@ static int NetIfAdpCtl(HostNetworkInterface * pIf, const char *pszAddr, const ch
+ int NetIfAdpCtlOut(const char * pcszName, const char * pcszCmd, char *pszBuffer, size_t cBufSize)
+ {
+     char szAdpCtl[RTPATH_MAX];
+-    int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " ") - strlen(pcszCmd));
++    int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " ") - strlen(pcszCmd));
+     if (RT_FAILURE(rc))
+     {
+         LogRel(("NetIfAdpCtlOut: Failed to get program path, rc=%Rrc\n", rc));
+@@ -202,7 +202,7 @@ int NetIfCreateHostOnlyNetworkInterface(VirtualBox *pVirtualBox,
+             progress.queryInterfaceTo(aProgress);
+ 
+             char szAdpCtl[RTPATH_MAX];
+-            int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
++            int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
+             if (RT_FAILURE(rc))
+             {
+                 progress->i_notifyComplete(E_FAIL,
+diff --git a/src/VBox/Runtime/r3/path.cpp b/src/VBox/Runtime/r3/path.cpp
+index be2ad8f..7ddf105 100644
+--- a/src/VBox/Runtime/r3/path.cpp
++++ b/src/VBox/Runtime/r3/path.cpp
+@@ -81,6 +81,12 @@ RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath)
+ }
+ 
+ 
++RTDECL(int) RTPathSuidDir(char *pszPath, size_t cchPath)
++{
++    return RTStrCopy(pszPath, cchPath, "/var/setuid-wrappers");
++}
++
++
+ RTDECL(int) RTPathAppPrivateNoArch(char *pszPath, size_t cchPath)
+ {
+ #if !defined(RT_OS_WINDOWS) && defined(RTPATH_APP_PRIVATE)
+diff --git a/src/VBox/Runtime/r3/process.cpp b/src/VBox/Runtime/r3/process.cpp
+index 7bde6af..2656cae 100644
+--- a/src/VBox/Runtime/r3/process.cpp
++++ b/src/VBox/Runtime/r3/process.cpp
+@@ -111,6 +111,26 @@ RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath)
+     return NULL;
+ }
+ 
++/*
++ * Note the / at the end! This is important, because the functions using this
++ * will cut off everything after the rightmost / as this function is analogous
++ * to RTProcGetExecutablePath().
++ */
++#define SUIDDIR "/var/setuid-wrappers/"
++
++RTR3DECL(char *) RTProcGetSuidPath(char *pszExecPath, size_t cbExecPath)
++{
++    if (cbExecPath >= sizeof(SUIDDIR))
++    {
++        memcpy(pszExecPath, SUIDDIR, sizeof(SUIDDIR));
++        pszExecPath[sizeof(SUIDDIR)] = '\0';
++        return pszExecPath;
++    }
++
++    AssertMsgFailed(("Buffer too small (%zu <= %zu)\n", cbExecPath, sizeof(SUIDDIR)));
++    return NULL;
++}
++
+ 
+ RTR3DECL(const char *) RTProcShortName(void)
+ {
diff --git a/pkgs/applications/virtualization/xen/4.4.1.nix b/pkgs/applications/virtualization/xen/4.4.1.nix
new file mode 100644
index 00000000000..a13a51a1d4e
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/4.4.1.nix
@@ -0,0 +1,46 @@
+{ callPackage, fetchurl, ... } @ args:
+
+let
+  # Xen 4.4.1
+  xenConfig = {
+    name = "xen-4.4.1";
+    version = "4.4.1";
+
+    src = fetchurl {
+      url = "http://bits.xensource.com/oss-xen/release/4.4.1/xen-4.4.1.tar.gz";
+      sha256 = "09gaqydqmy64s5pqnwgjyzhd3wc61xyghpqjfl97kmvm8ly9vd2m";
+    };
+
+    # Sources needed to build the xen tools and tools/firmware.
+    toolsGits =
+      [ # tag qemu-xen-4.4.1
+        { name = "qemu-xen";
+          url = git://xenbits.xen.org/qemu-upstream-4.4-testing.git;
+          rev = "65fc9b78ba3d868a26952db0d8e51cecf01d47b4";
+          sha256 = "e24fb58f773fd9134c5aae6d3ca7e9f754dc9822de92b1eb2cedc76faf911f18";
+        }
+        # tag xen-4.4.1
+        {  name = "qemu-xen-traditional";
+          url = git://xenbits.xen.org/qemu-xen-4.4-testing.git;
+          rev = "6ae4e588081620b141071eb010ec40aca7e12876";
+          sha256 = "b1ed1feb92fbe658273a8d6d38d6ea60b79c1658413dd93979d6d128d8554ded";
+        }
+      ];
+
+    firmwareGits =
+      [ # tag 1.7.3.1
+        { name = "seabios";
+          url = git://xenbits.xen.org/seabios.git;
+          rev = "7d9cbe613694924921ed1a6f8947d711c5832eee";
+          sha256 = "c071282bbcb1dd0d98536ef90cd1410f5d8da19648138e0e3863bc540d954a87";
+        }
+        { name = "ovmf";
+          url = git://xenbits.xen.org/ovmf.git;
+          rev = "447d264115c476142f884af0be287622cd244423";
+          sha256 = "7086f882495a8be1497d881074e8f1005dc283a5e1686aec06c1913c76a6319b";
+        }
+      ];
+
+  };
+
+in callPackage ./generic.nix (args // { xenConfig=xenConfig; })
diff --git a/pkgs/applications/virtualization/xen/4.5.0.nix b/pkgs/applications/virtualization/xen/4.5.0.nix
new file mode 100644
index 00000000000..176e15ea2c7
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/4.5.0.nix
@@ -0,0 +1,58 @@
+{ callPackage, fetchurl, fetchgit, ... } @ args:
+
+let
+  # Xen 4.5.0
+  xenConfig = {
+    name = "xen-4.5.0";
+    version = "4.5.0";
+
+    src = fetchurl {
+      url = "http://bits.xensource.com/oss-xen/release/4.5.0/xen-4.5.0.tar.gz";
+      sha256 = "0fvg00d596gh6cfm51xr8kj2mghcyivrf6np3dafnbldnbi41nsv";
+    };
+
+    # Sources needed to build the xen tools and tools/firmware.
+    firmwareGits =
+      [ # tag 1.7.5
+        { name = "seabios";
+          url = git://xenbits.xen.org/seabios.git;
+          rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2";
+          sha256 = "b96a0b9f31cab0f3993d007dcbe5f1bd69ad02b0a23eb2dc8a3ed1aafe7985cb";
+        }
+        { name = "ovmf";
+          url = git://xenbits.xen.org/ovmf.git;
+          rev = "447d264115c476142f884af0be287622cd244423";
+          sha256 = "7086f882495a8be1497d881074e8f1005dc283a5e1686aec06c1913c76a6319b";
+        }
+      ];
+
+    toolsGits =
+      [ # tag qemu-xen-4.5.0
+        { name = "qemu-xen";
+          url = git://xenbits.xen.org/qemu-upstream-4.5-testing.git;
+          rev = "1ebb75b1fee779621b63e84fefa7b07354c43a99";
+          sha256 = "1j312q2mqvkvby9adkkxf7f1pn3nz85g5mr9nbg4qpf2y9cg122z";
+        }
+        # tag xen-4.5.0
+        { name = "qemu-xen-traditional";
+          url = git://xenbits.xen.org/qemu-xen-4.5-testing.git;
+          rev = "b0d42741f8e9a00854c3b3faca1da84bfc69bf22";
+          sha256 = "ce52b5108936c30ab85ec0c9554f88d5e7b34896f3acb666d56765b49c86f2af";
+        }
+      ];
+
+    xenserverPatches = let
+      patches = {
+        url = https://github.com/ts468/xen-4.5.pg.git;
+        rev = "3442b65b490f43c817cbc53369220d0b1ab9b785";
+        sha256 = "31436c15def0a300b3ea1a63b2208c4a3bcbb143db5c6488d4db370b3ceeb845";
+      };
+      in ''
+        cp -r ${fetchgit patches}/master patches
+        quilt push -a
+        substituteInPlace tools/xenguest/Makefile --replace "_BSD_SOURCE" "_DEFAULT_SOURCE"
+        '';
+  };
+
+in callPackage ./generic.nix (args // { xenConfig=xenConfig; })
+
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
deleted file mode 100644
index 55ef8390148..00000000000
--- a/pkgs/applications/virtualization/xen/default.nix
+++ /dev/null
@@ -1,141 +0,0 @@
-{ stdenv, fetchurl, which, zlib, pkgconfig, SDL, openssl
-, libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2, xz
-, lvm2, utillinux, procps, texinfo, perl, pythonPackages }:
-
-with stdenv.lib;
-
-let
-
-  version = "4.0.3";
-
-  libDir = if stdenv.is64bit then "lib64" else "lib";
-
-  # Sources needed to build the stubdoms.
-
-  stubdomSrcs =
-    [ { url = http://xenbits.xensource.com/xen-extfiles/lwip-1.3.0.tar.gz;
-        sha256 = "13wlr85s1hnvia6a698qpryyy12lvmqw0a05xmjnd0h71ralsbkp";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/zlib-1.2.3.tar.gz;
-        sha256 = "0pmh8kifb6sfkqfxc23wqp3f2wzk69sl80yz7w8p8cd4cz8cg58p";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/newlib-1.16.0.tar.gz;
-        sha256 = "01rxk9js833mwadq92jx0flvk9jyjrnwrq93j39c2j2wjsa66hnv";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/grub-0.97.tar.gz;
-        sha256 = "02r6b52r0nsp6ryqfiqchnl7r1d9smm80sqx24494gmx5p8ia7af";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/pciutils-2.2.9.tar.bz2;
-        sha256 = "092v4q478i1gc7f3s2wz6p4xlf1wb4gs5shbkn21vnnmzcffc2pn";
-      }
-    ];
-
-in
-
-stdenv.mkDerivation {
-  name = "xen-${version}";
-
-  src = fetchurl {
-    url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
-    sha256 = "0p4i7mm8cdsr8i9z3dij6nriyvz6la2rhm7jkyk2n8h62nnxi1b5";
-  };
-
-  patches =
-    [ # Xen looks for headers in /usr/include and for libraries using
-      # ldconfig.  Don't do that.
-      ./has-header.patch
-
-      # GCC 4.5 compatibility.
-      ./gcc-4.5.patch
-    ];
-
-  buildInputs =
-    [ which zlib pkgconfig SDL openssl libuuid gettext ncurses
-      dev86 iasl pciutils bzip2 xz texinfo perl
-      pythonPackages.python pythonPackages.wrapPython
-    ];
-
-  pythonPath = [ pythonPackages.curses ];
-
-  makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc";
-
-  buildFlags = "xen tools stubdom";
-
-  preBuild =
-    ''
-      substituteInPlace tools/libfsimage/common/fsimage_plugin.c \
-        --replace /usr $out
-
-      substituteInPlace tools/blktap2/lvm/lvm-util.c \
-        --replace /usr/sbin/vgs ${lvm2}/sbin/vgs \
-        --replace /usr/sbin/lvs ${lvm2}/sbin/lvs
-
-      substituteInPlace tools/hotplug/Linux/network-bridge \
-        --replace /usr/bin/logger ${utillinux}/bin/logger
-
-      substituteInPlace tools/xenmon/xenmon.py \
-        --replace /usr/bin/pkill ${procps}/bin/pkill
-
-      substituteInPlace tools/xenstat/Makefile \
-        --replace /usr/include/curses.h ${ncurses}/include/curses.h
-
-      substituteInPlace tools/ioemu-qemu-xen/xen-hooks.mak \
-        --replace /usr/include/pci ${pciutils}/include/pci
-
-      # Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
-      # print the GCC version number properly.
-      substituteInPlace xen/Makefile \
-        --replace '$(CC) $(CFLAGS) -v' '$(CC) -v'
-
-      substituteInPlace tools/python/xen/xend/server/BlktapController.py \
-        --replace /usr/sbin/tapdisk2 $out/sbin/tapdisk2
-
-      substituteInPlace tools/python/xen/xend/XendQCoWStorageRepo.py \
-        --replace /usr/sbin/qcow-create $out/sbin/qcow-create
-
-      substituteInPlace tools/python/xen/remus/save.py \
-        --replace /usr/lib/xen/bin/xc_save $out/${libDir}/xen/bin/xc_save
-
-      substituteInPlace tools/python/xen/remus/device.py \
-        --replace /usr/lib/xen/bin/imqebt $out/${libDir}/xen/bin/imqebt
-
-      # Allow the location of the xendomains config file to be
-      # overriden at runtime.
-      substituteInPlace tools/hotplug/Linux/init.d/xendomains \
-        --replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
-        --replace /bin/ls ls
-
-      # Xen's stubdoms need various sources that it usually fetches at
-      # build time using wget.  We can't have that.
-      ${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
-        cp ${src} stubdom/${src.name}
-      '')}
-
-      # Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
-      mkdir -p tools/include/gnu
-      touch tools/include/gnu/stubs-32.h
-    '';
-
-  postBuild =
-    ''
-      make -C docs man-pages
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd dist/install/nix/store/*/* $out/
-      cp -prvd dist/install/boot $out/boot
-      cp -prvd dist/install/etc $out/etc
-      cp -dR docs/man1 docs/man5 $out/share/man/
-      wrapPythonPrograms
-    ''; # */
-
-  meta = {
-    homepage = http://www.xen.org/;
-    description = "Xen hypervisor and management tools for Dom0";
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/virtualization/xen/gcc-4.5.patch b/pkgs/applications/virtualization/xen/gcc-4.5.patch
deleted file mode 100644
index a8412d69fd3..00000000000
--- a/pkgs/applications/virtualization/xen/gcc-4.5.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-http://lists.xensource.com/archives/html/xen-devel/2010-07/msg01276.html
-
-diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c xen-4.0.1//extras/mini-os/arch/x86/mm.c
---- xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c	2010-08-25 12:22:07.000000000 +0200
-+++ xen-4.0.1//extras/mini-os/arch/x86/mm.c	2010-12-22 20:10:05.000000000 +0100
-@@ -281,7 +281,7 @@
- /*
-  * Mark portion of the address space read only.
-  */
--extern void shared_info;
-+extern char shared_info[PAGE_SIZE]; 
- static void set_readonly(void *text, void *etext)
- {
-     unsigned long start_address =
-diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/minios.mk xen-4.0.1//extras/mini-os/minios.mk
---- xen-4.0.1-orig//extras/mini-os/minios.mk	2010-08-25 12:22:07.000000000 +0200
-+++ xen-4.0.1//extras/mini-os/minios.mk	2010-12-22 20:03:11.000000000 +0100
-@@ -10,6 +10,7 @@
- DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
- DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
- DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
-+DEF_CFLAGS += -Wno-uninitialized
- DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
- 
- DEF_ASFLAGS += -D__ASSEMBLY__
-diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/netfront.c xen-4.0.1//extras/mini-os/netfront.c
---- xen-4.0.1-orig//extras/mini-os/netfront.c	2010-08-25 12:22:07.000000000 +0200
-+++ xen-4.0.1//extras/mini-os/netfront.c	2010-12-22 19:56:59.000000000 +0100
-@@ -25,8 +25,8 @@
- 
- 
- 
--#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE)
--#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE)
-+#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE)
-+#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE)
- #define GRANT_INVALID_REF 0
- 
- 
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
new file mode 100644
index 00000000000..711fd505efa
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -0,0 +1,205 @@
+{ stdenv, fetchurl, which, zlib, pkgconfig, SDL, openssl
+, libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2
+, lvm2, utillinux, procps, texinfo, perl, pythonPackages
+, glib, bridge-utils, xlibs, pixman, iproute, udev, bison
+, flex, cmake, ocaml, ocamlPackages, figlet, libaio, yajl
+, checkpolicy, transfig, glusterfs, fetchgit, xz, spice
+, spice_protocol, usbredir, alsaLib, quilt
+, coreutils, gawk, gnused, gnugrep, diffutils, multipath_tools
+, inetutils, iptables, openvswitch, nbd, drbd, xenConfig
+, xenserverPatched ? false, ... }:
+
+with stdenv.lib;
+
+let
+
+  libDir = if stdenv.is64bit then "lib64" else "lib";
+
+  # Sources needed to build the stubdoms and tools
+  # These sources are already rather old and probably do not change frequently
+  xenExtfiles = [
+      { url = http://xenbits.xensource.com/xen-extfiles/lwip-1.3.0.tar.gz;
+        sha256 = "13wlr85s1hnvia6a698qpryyy12lvmqw0a05xmjnd0h71ralsbkp";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/zlib-1.2.3.tar.gz;
+        sha256 = "0pmh8kifb6sfkqfxc23wqp3f2wzk69sl80yz7w8p8cd4cz8cg58p";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/newlib-1.16.0.tar.gz;
+        sha256 = "01rxk9js833mwadq92jx0flvk9jyjrnwrq93j39c2j2wjsa66hnv";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/grub-0.97.tar.gz;
+        sha256 = "02r6b52r0nsp6ryqfiqchnl7r1d9smm80sqx24494gmx5p8ia7af";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/pciutils-2.2.9.tar.bz2;
+        sha256 = "092v4q478i1gc7f3s2wz6p4xlf1wb4gs5shbkn21vnnmzcffc2pn";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/tpm_emulator-0.7.4.tar.gz;
+        sha256 = "0nd4vs48j0zfzv1g5jymakxbjqf9ss6b2jph3b64356xhc6ylj2f";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/tboot-20090330.tar.gz;
+        sha256 = "0rl1b53g019w2c268pyxhjqsj9ls37i4p74bdv1hdi2yvs0r1y81";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz;
+        sha256 = "0p206zaxlhda60ci33h9gipi5gm46fvvsm6k5c0w7b6cjg0yhb33";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/polarssl-1.1.4-gpl.tgz;
+        sha256 = "1dl4fprpwagv9akwqpb62qwqvh24i50znadxwvd2kfnhl02gsa9d";
+      }
+      { url = http://xenbits.xensource.com/xen-extfiles/gmp-4.3.2.tar.bz2;
+        sha256 = "0x8prpqi9amfcmi7r4zrza609ai9529pjaq0h4aw51i867064qck";
+      }
+    ];
+
+  scriptEnvPath = stdenv.lib.concatStrings (stdenv.lib.intersperse ":" (map (x: "${x}/bin")
+    [ coreutils gawk gnused gnugrep which perl diffutils utillinux multipath_tools
+      iproute inetutils iptables bridge-utils openvswitch nbd drbd ]));
+in
+
+
+
+stdenv.mkDerivation {
+  inherit (xenConfig) name version src;
+
+  dontUseCmakeConfigure = true;
+
+  buildInputs =
+    [ which zlib pkgconfig SDL openssl libuuid gettext ncurses
+      dev86 iasl pciutils bzip2 xz texinfo perl yajl
+      pythonPackages.python pythonPackages.wrapPython
+      glib bridge-utils pixman iproute udev bison xlibs.libX11
+      flex ocaml ocamlPackages.findlib figlet libaio
+      checkpolicy pythonPackages.markdown transfig
+      glusterfs cmake spice spice_protocol usbredir
+      alsaLib quilt
+    ];
+
+  pythonPath = [ pythonPackages.curses ];
+
+  patchPhase = if ((xenserverPatched == true) && (builtins.hasAttr "xenserverPatches" xenConfig))
+    then xenConfig.xenserverPatches
+    else "";
+
+  preConfigure = ''
+    # Fake wget: copy prefetched downloads instead
+    mkdir wget
+    echo "#!/bin/sh" > wget/wget
+    echo "echo ===== Not fetching \$*, copy pre-fetched file instead" >> wget/wget
+    echo "cp \$4 \$3" >> wget/wget
+    chmod +x wget/wget
+    export PATH=$PATH:$PWD/wget
+  '';
+
+  # TODO: If multiple arguments are given with with-extra-qemuu,
+  #       then the configuration aborts; the reason is unclear.
+  #       If you know how to fix it, please let me know! :)
+  #configureFlags = "--with-extra-qemuu-configure-args='--enable-spice --enable-usb-redir --enable-linux-aio'";
+
+  # TODO: Flask needs more testing before enabling it by default.
+  #makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
+  makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
+
+  buildFlags = "xen tools stubdom";
+
+  preBuild =
+    ''
+      substituteInPlace tools/libfsimage/common/fsimage_plugin.c \
+        --replace /usr $out
+
+      substituteInPlace tools/blktap2/lvm/lvm-util.c \
+        --replace /usr/sbin/vgs ${lvm2}/sbin/vgs \
+        --replace /usr/sbin/lvs ${lvm2}/sbin/lvs
+
+      substituteInPlace tools/hotplug/Linux/network-bridge \
+        --replace /usr/bin/logger ${utillinux}/bin/logger
+
+      substituteInPlace tools/xenmon/xenmon.py \
+        --replace /usr/bin/pkill ${procps}/bin/pkill
+
+      substituteInPlace tools/xenstat/Makefile \
+        --replace /usr/include/curses.h ${ncurses}/include/curses.h
+
+      substituteInPlace tools/ioemu-qemu-xen/xen-hooks.mak \
+        --replace /usr/include/pci ${pciutils}/include/pci
+
+      substituteInPlace tools/hotplug/Linux/xen-backend.rules \
+        --replace /etc/xen/scripts $out/etc/xen/scripts
+
+      # blktap is not provided by xen, but by xapi
+      sed -i '/blktap/d' tools/hotplug/Linux/xen-backend.rules
+
+      # Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
+      # print the GCC version number properly.
+      substituteInPlace xen/Makefile \
+        --replace '$(CC) $(CFLAGS) -v' '$(CC) -v'
+
+      substituteInPlace tools/python/xen/xend/server/BlktapController.py \
+        --replace /usr/sbin/tapdisk2 $out/sbin/tapdisk2
+
+      substituteInPlace tools/python/xen/xend/XendQCoWStorageRepo.py \
+        --replace /usr/sbin/qcow-create $out/sbin/qcow-create
+
+      substituteInPlace tools/python/xen/remus/save.py \
+        --replace /usr/lib/xen/bin/xc_save $out/${libDir}/xen/bin/xc_save
+
+      substituteInPlace tools/python/xen/remus/device.py \
+        --replace /usr/lib/xen/bin/imqebt $out/${libDir}/xen/bin/imqebt
+
+      # Allow the location of the xendomains config file to be
+      # overriden at runtime.
+      substituteInPlace tools/hotplug/Linux/init.d/xendomains \
+        --replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
+        --replace 'XENDOM_CONFIG=/etc/default/xendomains' "" \
+        --replace /etc/xen/scripts/hotplugpath.sh $out/etc/xen/scripts/hotplugpath.sh \
+        --replace /bin/ls ls
+
+      # Xen's tools and firmares need various git repositories that it
+      # usually checks out at time using git.  We can't have that.
+      ${flip concatMapStrings xenConfig.toolsGits (x: let src = fetchgit x; in ''
+        cp -r ${src} tools/${src.name}-dir-remote
+        chmod +w tools/${src.name}-dir-remote
+      '')}
+      ${flip concatMapStrings xenConfig.firmwareGits (x: let src = fetchgit x; in ''
+        cp -r ${src} tools/firmware/${src.name}-dir-remote
+        chmod +w tools/firmware/${src.name}-dir-remote
+      '')}
+
+      # Xen's stubdoms and firmwares need various sources that are usually fetched
+      # at build time using wget. We can't have that, so we prefetch Xen's ext_files.
+      mkdir xen_ext_files
+      ${flip concatMapStrings xenExtfiles (x: let src = fetchurl x; in ''
+        cp ${src} xen_ext_files/${src.name}
+      '')}
+
+      # Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
+      mkdir -p tools/include/gnu
+      touch tools/include/gnu/stubs-32.h
+    '';
+
+  postBuild =
+    ''
+      make -C docs man-pages
+    '';
+
+  installPhase =
+    ''
+      mkdir -p $out $out/share
+      cp -prvd dist/install/nix/store/*/* $out/
+      cp -prvd dist/install/boot $out/boot
+      cp -prvd dist/install/etc $out
+      cp -dR docs/man1 docs/man5 $out/share/man/
+      wrapPythonPrograms
+      substituteInPlace $out/etc/xen/scripts/hotplugpath.sh --replace SBINDIR=\"$out/sbin\" SBINDIR=\"$out/bin\"
+
+      shopt -s extglob
+      for i in $out/etc/xen/scripts/!(*.sh); do
+        sed -i '2s@^@export PATH=$out/bin:${scriptEnvPath}@' $i
+      done
+    '';
+
+  meta = {
+    homepage = http://www.xen.org/;
+    description = "Xen hypervisor and management tools for Dom0";
+    platforms = [ "x86_64-linux" ];
+    maintainers = with stdenv.lib.maintainers; [ eelco tstrobel ];
+  };
+}
diff --git a/pkgs/applications/virtualization/xen/has-header.patch b/pkgs/applications/virtualization/xen/has-header.patch
deleted file mode 100644
index b59dd7ea5af..00000000000
--- a/pkgs/applications/virtualization/xen/has-header.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ru --exclude '*~' xen-4.0.1-orig/tools/check/funcs.sh xen-4.0.1/tools/check/funcs.sh
---- xen-4.0.1-orig/tools/check/funcs.sh	2010-08-25 12:22:07.000000000 +0200
-+++ xen-4.0.1/tools/check/funcs.sh	2010-09-09 17:47:20.000000000 +0200
-@@ -25,33 +25,13 @@
- }
- 
- has_header() {
--	case $1 in
--		/*) ;;
--		*) set -- "/usr/include/$1" ;;
--	esac
--
--	check_sys_root || return 1
--
--	test -r "$CROSS_SYS_ROOT$1"
--	return $?
-+	echo "#include <$1>" | gcc -E - > /dev/null && return 0
-+	return 1
- }
- 
- has_lib() {
- 	check_sys_root || return 1
--
--	# subshell to prevent pollution of caller's environment
--	(
--	PATH=/sbin:$PATH        # for ldconfig
--
--	# This relatively common in a sys-root; libs are installed but
--	# ldconfig hasn't run there, so ldconfig -p won't work.
--	if [ "$OS" = Linux -a ! -f "$CROSS_SYS_ROOT/etc/ld.so.cache" ]; then
--	    echo "Please run ldconfig -r \"$CROSS_SYS_ROOT\" to generate ld.so.cache"
--	    # fall through; ldconfig test below should fail
--	fi
--	ldconfig -p ${CROSS_SYS_ROOT+-r "$CROSS_SYS_ROOT"} | grep -Fq "$1"
--	return $?
--	)
-+	return 0
- }
- 
- test_link() {
diff --git a/pkgs/applications/window-managers/afterstep/default.nix b/pkgs/applications/window-managers/afterstep/default.nix
new file mode 100644
index 00000000000..962942905db
--- /dev/null
+++ b/pkgs/applications/window-managers/afterstep/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig
+, libjpeg, libtiff, libpng, freetype
+, fltk, gtk
+, libX11, libXext, libICE
+, dbus, dbus_libs
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "afterstep-${version}";
+  version = "2.2.12";
+  sourceName = "AfterStep-${version}";
+
+  src = fetchurl {
+    urls = [ "ftp://ftp.afterstep.org/stable/${sourceName}.tar.bz2" ];
+    sha256 = "1j7vkx1ig4kzwffdxnkqv3kld9qi3sam4w2nhq18waqjsi8xl5gz";
+  };
+
+  buildInputs = [ pkgconfig libjpeg libtiff libpng freetype fltk gtk libX11 libXext libICE dbus dbus_libs ];
+
+  # A strange type of bug: dbus is not immediately found by pkgconfig
+  preConfigure = ''
+     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A NEXTStep-inspired window manager";
+    longDescription = ''
+      AfterStep is a window manager for the Unix X Window
+      System. Originally based on the look and feel of the NeXTStep
+      interface, it provides end users with a consistent, clean, and
+      elegant desktop. The goal of AfterStep development is to provide
+      for flexibility of desktop configuration, improving aestetics,
+      and efficient use of system resources.
+    '';
+    homepage = http://www.afterstep.org/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/window-managers/awesome/3.4.nix b/pkgs/applications/window-managers/awesome/3.4.nix
index 3db2bde6540..961296c6eec 100644
--- a/pkgs/applications/window-managers/awesome/3.4.nix
+++ b/pkgs/applications/window-managers/awesome/3.4.nix
@@ -47,4 +47,9 @@ stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
+
+  passthru = {
+    inherit lua;
+  };
+
 }
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 26987565636..3541743057c 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, lua, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
+{ stdenv, fetchurl, luaPackages, cairo, cmake, imagemagick, pkgconfig, gdk_pixbuf
 , xlibs, libstartup_notification, libxdg_basedir, libpthreadstubs
-, xcb-util-cursor, lgi, makeWrapper, pango, gobjectIntrospection, unclutter
-, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, rxvt_unicode
-, which, dbus, nettools, git, asciidoc, doxygen }:
+, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
+, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
+, which, dbus, nettools, git, asciidoc, doxygen
+#, xmlto, docbook_xml_dtd_45 , docbook_xsl
+}:
 
 let
-  version = "3.5.5";
-in
+  version = "3.5.6";
+in with luaPackages;
 
 stdenv.mkDerivation rec {
   name = "awesome-${version}";
- 
+
   src = fetchurl {
     url    = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
-    sha256 = "0iwd4pjvq0akm9dbipbl4m4fm24m017l06arasr445v2qkbxnc5z";
+    sha256 = "1ms6a3l1i2jdhzrd1zr25cqckznmb44qgz4n635jam42hzhrvx1p";
   };
 
   meta = with stdenv.lib; {
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.linux;
   };
- 
+
   buildInputs = [
     asciidoc
     cairo
@@ -31,6 +33,7 @@ stdenv.mkDerivation rec {
     dbus
     doxygen
     gdk_pixbuf
+    gobjectIntrospection
     git
     imagemagick
     lgi
@@ -52,22 +55,29 @@ stdenv.mkDerivation rec {
     xlibs.xcbutilkeysyms
     xlibs.xcbutilrenderutil
     xlibs.xcbutilwm
+    #xmlto docbook_xml_dtd_45 docbook_xsl
   ];
 
+  #cmakeFlags = "-DGENERATE_MANPAGES=ON";
+
   LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib";
   GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0";
-  LUA_CPATH = "${lgi}/lib/lua/5.1/?.so";
-  LUA_PATH  = "${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua";
+  LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
+  LUA_PATH  = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
 
   postInstall = ''
     wrapProgram $out/bin/awesome \
-      --set LUA_CPATH '"${lgi}/lib/lua/5.1/?.so"' \
-      --set LUA_PATH '"${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua"' \
-      --set GI_TYPELIB_PATH "${pango}/lib/girepository-1.0" \
+      --prefix LUA_CPATH ";" '"${lgi}/lib/lua/${lua.luaversion}/?.so"' \
+      --prefix LUA_PATH ";" '"${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"' \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --prefix LD_LIBRARY_PATH : "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib" \
-      --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl}/bin:${alsaUtils}/bin:${findutils}/bin:${rxvt_unicode}/bin"
+      --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl}/bin:${alsaUtils}/bin:${findutils}/bin:${xterm}/bin"
 
     wrapProgram $out/bin/awesome-client \
       --prefix PATH : "${which}/bin"
   '';
+
+  passthru = {
+    inherit lua;
+  };
 }
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix
index bee774d10da..46a19b90b8b 100644
--- a/pkgs/applications/window-managers/bar/default.nix
+++ b/pkgs/applications/window-managers/bar/default.nix
@@ -17,8 +17,8 @@ in
   
     meta = {
       description = "A lightweight xcb based bar";
-      homepage = "https://github.com/LemonBoy/bar";
-      maintainers = stdenv.lib.maintainers.meisternu;
+      homepage = https://github.com/LemonBoy/bar;
+      maintainers = [ stdenv.lib.maintainers.meisternu ];
       license = "Custom";   
       platforms = stdenv.lib.platforms.linux;
     };
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
index 24789f37ba7..c17107ae97b 100644
--- a/pkgs/applications/window-managers/bspwm/default.nix
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -21,9 +21,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A tiling window manager based on binary space partitioning";
-    homepage = "http://github.com/baskerville/bspwm";
-    maintainers = stdenv.lib.maintainers.meisternu;
-    license = "BSD";
+    homepage = http://github.com/baskerville/bspwm;
+    maintainers = [ stdenv.lib.maintainers.meisternu ];
+    license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/compiz/default.nix b/pkgs/applications/window-managers/compiz/default.nix
index b73d636aaa5..6b9a579a08b 100644
--- a/pkgs/applications/window-managers/compiz/default.nix
+++ b/pkgs/applications/window-managers/compiz/default.nix
@@ -15,11 +15,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="compiz";
-    version="0.9.11.2";
+    version="0.9.12.1";
     name="${baseName}-${version}";
-    hash="1czk4snv9j9l7b587nwf2y305lkn112zspm7f9l7yfk7jmkx1hqy";
-    url="https://launchpad.net/compiz/0.9.11/0.9.11.2/+download/compiz-0.9.11.2.tar.bz2";
-    sha256="1czk4snv9j9l7b587nwf2y305lkn112zspm7f9l7yfk7jmkx1hqy";
+    hash="0kl5im3zq0rjlxbgz5cyk38qzssahrljc67z1n16pjc1qmr6m7cb";
+    url="https://launchpad.net/compiz/0.9.12/0.9.12.1/+download/compiz-0.9.12.1.tar.bz2";
+    sha256="0kl5im3zq0rjlxbgz5cyk38qzssahrljc67z1n16pjc1qmr6m7cb";
   };
   buildInputs = [cmake pkgconfig
     libXrender renderproto gtk libwnck pango cairo
diff --git a/pkgs/applications/window-managers/fluxbox/default.nix b/pkgs/applications/window-managers/fluxbox/default.nix
index af6545b6151..36e081ccfcf 100644
--- a/pkgs/applications/window-managers/fluxbox/default.nix
+++ b/pkgs/applications/window-managers/fluxbox/default.nix
@@ -2,32 +2,34 @@
 , freetype, fribidi
 , libXext, libXft, libXpm, libXrandr, libXrender, xextproto
 , libXinerama
-, imlib2
-}:
+, imlib2 }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "fluxbox-${version}";
-  version = "1.3.5";
+  version = "1.3.7";
 
   buildInputs = [ pkgconfig freetype fribidi libXext libXft libXpm libXrandr libXrender xextproto libXinerama imlib2 ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/fluxbox/${name}.tar.bz2";
-    sha256 = "164dd7bf59791d09a1e729a4fcd5e7347a1004ba675629860a5cf1a271c32983";
+    url = "mirror://sourceforge/fluxbox/${name}.tar.xz";
+    sha256 = "1h1f70y40qd225dqx937vzb4k2cz219agm1zvnjxakn5jkz7b37w";
   };
 
   meta = {
     description = "Full-featured, light-resource X window manager";
     longDescription = ''
-      Fluxbox is a X window manager based on Blackbox 0.61.1 window manager sources.
-      It is very light on resources and easy to handle but yet full of features to make an easy,
-      and extremely fast, desktop experience. It is written in C++ and licensed under MIT license.
+      Fluxbox is a X window manager based on Blackbox 0.61.1 window
+      manager sources.  It is very light on resources and easy to
+      handle but yet full of features to make an easy, and extremely
+      fast, desktop experience. It is written in C++ and licensed
+      under MIT license.
     '';
     homepage = http://fluxbox.org/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
 # Many thanks Jack Ryan from Nix-dev mailing list!
diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix
index 7c4cb4934c9..c4b265f4b41 100644
--- a/pkgs/applications/window-managers/herbstluftwm/default.nix
+++ b/pkgs/applications/window-managers/herbstluftwm/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A manual tiling window manager for X";
     homepage = "http://herbstluftwm.org/";
-    license = "BSD"; # Simplified BSD License
+    license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index b5869ccaf8d..a8d2b42bb3b 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -1,18 +1,18 @@
-{ fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutil,
-  xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl,
-  xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy }:
+{ fetchurl, stdenv, which, pkgconfig, makeWrapper, libxcb, xcbutilkeysyms
+, xcbutil, xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl
+, xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy, libxkbcommon }:
 
 stdenv.mkDerivation rec {
   name = "i3-${version}";
-  version = "4.8";
+  version = "4.9.1";
 
   src = fetchurl {
     url = "http://i3wm.org/downloads/${name}.tar.bz2";
-    sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h";
+    sha256 = "0hyw2rdxigiklqvv7fbhcdqdxkgcxvx56vk4r5v55l674zqfy3dp";
   };
 
   buildInputs = [
-    which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm
+    which pkgconfig makeWrapper libxcb xcbutilkeysyms xcbutil xcbutilwm libxkbcommon
     libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango
     perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun
     perlPackages.ExtUtilsPkgConfig perlPackages.TestMore perlPackages.InlineC
@@ -24,7 +24,8 @@ stdenv.mkDerivation rec {
 
   doCheck = stdenv.system == "x86_64-linux";
 
-  checkPhase = ''
+  checkPhase = stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
+  ''
     ln -sf "${xdummy}/bin/xdummy" testcases/Xdummy
     (cd testcases && perl complete-run.pl -p 1)
     ! grep -q '^not ok' testcases/latest/complete-run.log
@@ -32,6 +33,15 @@ stdenv.mkDerivation rec {
 
   configurePhase = "makeFlags=PREFIX=$out";
 
+  postInstall = ''
+    wrapProgram "$out/bin/i3-save-tree" --prefix PERL5LIB ":" "$PERL5LIB"
+    mkdir -p $out/man/man1
+    cp man/*.1 $out/man/man1
+    for program in $out/bin/i3-sensible-*; do
+      sed -i 's/which/command -v/' $program
+    done
+  '';
+
   meta = with stdenv.lib; {
     description = "A tiling window manager";
     homepage    = "http://i3wm.org";
diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix
index 5af4519af03..b9d5ac168b2 100644
--- a/pkgs/applications/window-managers/i3/lock.nix
+++ b/pkgs/applications/window-managers/i3/lock.nix
@@ -14,13 +14,17 @@ stdenv.mkDerivation rec {
 
   makeFlags = "all";
   installFlags = "PREFIX=\${out} SYSCONFDIR=\${out}/etc";
+  postInstall = ''
+    mkdir -p $out/share/man/man1
+    cp *.1 $out/share/man/man1
+  '';
 
-  meta = {
-    description = "i3 is a tiling window manager";
-    homepage = http://i3wm.org;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.all;
+  meta = with stdenv.lib; {
+    description = "i3lock is a simple screen locker like slock";
+    homepage = http://i3wm.org/i3lock/;
+    maintainers = with maintainers; [ garbas malyn ];
+    license = licenses.bsd3;
+    platforms = platforms.all;
   };
 
 }
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 3b1c3b4ad37..f3d88c55c58 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -2,7 +2,7 @@
 , fontconfig, xlibs, automake, pkgconfig, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
-  name = "icewm-1.3.7";
+  name = "icewm-1.3.8";
 
   buildInputs =
     [ gettext libjpeg libtiff libungif libpng
@@ -13,11 +13,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/icewm/${name}.tar.gz";
-    sha256 = "0yw813d8amrl0n1fvdiyznxah92wcylj9kj1qhjc6h73d827h6na";
+    sha256 = "066d1mw0vm9ygxnyxksfi6k4vzclvnlkvj04pj3kbcmv1fg8sn0p";
   };
 
-  patches = [ ./deprecated.patch ];
-
   NIX_LDFLAGS = "-lfontconfig";
 
   # The fuloong2f is not supported by 1.3.6 still
diff --git a/pkgs/applications/window-managers/icewm/deprecated.patch b/pkgs/applications/window-managers/icewm/deprecated.patch
deleted file mode 100644
index 7d22dfe719b..00000000000
--- a/pkgs/applications/window-managers/icewm/deprecated.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-wm/icewm/files/icewm-1.2.37-libX11-1.5.0-deprecated.patch?revision=1.1
-
-Description: Don't use "deprecated" as identifier, will FTBFS if another
- library defines functions as deprecated.
-Author: Andreas Moog <amoog@ubuntu.com>
-Bug: https://sourceforge.net/tracker/?func=detail&aid=3494034&group_id=31&atid=100031
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/935179
-Forwarded: Yes
-
---- icewm-1.3.7.orig/src/base.h
-+++ icewm-1.3.7/src/base.h
-@@ -2,9 +2,9 @@
- #define __BASE_H
- 
- #if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
--#define deprecated __attribute__((deprecated))
-+#define ICEWM_deprecated __attribute__((deprecated))
- #else
--#define deprecated
-+#define ICEWM_deprecated
- #endif
- 
- /*** Atomar Data Types ********************************************************/
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 73c5e5df81a..f019ba9751b 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "jwm-2.2.2";
   
   src = fetchurl {
-     url = "http://www.joewing.net/programs/jwm/releases/${name}.tar.xz";
+     url = "http://www.joewing.net/projects/jwm/releases/${name}.tar.xz";
      sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln";
   };
 
diff --git a/pkgs/applications/window-managers/larswm/default.nix b/pkgs/applications/window-managers/larswm/default.nix
index e3fa4f9fc71..c88603892b5 100644
--- a/pkgs/applications/window-managers/larswm/default.nix
+++ b/pkgs/applications/window-managers/larswm/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://larswm.fnurt.net/;
     description = "9wm-like tiling window manager";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index fad5b8010ea..2756525b2b0 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -17,8 +17,16 @@ stdenv.mkDerivation rec {
     sha256 = "0cxgb334zj6aszwiki9g10i56sm18i7w1kw52vdnwgzq27pv93qj";
   };
 
+  setlayoutSrc = fetchurl {
+    url = "http://openbox.org/dist/tools/setlayout.c";
+    sha256 = "1ci9lq4qqhl31yz1jwwjiawah0f7x0vx44ap8baw7r6rdi00pyiv";
+  };
+
+  postBuild = "gcc -O2 -o setlayout $(pkg-config --cflags --libs x11) $setlayoutSrc";
+
   # Openbox needs XDG_DATA_DIRS set or it can't find its default theme
   postInstall = ''
+    cp -a setlayout "$out"/bin
     wrapProgram "$out/bin/openbox" --prefix XDG_DATA_DIRS : "$out/share"
     wrapProgram "$out/bin/openbox-session" --prefix XDG_DATA_DIRS : "$out/share"
     wrapProgram "$out/bin/openbox-gnome-session" --prefix XDG_DATA_DIRS : "$out/share"
diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix
index 0eb28464e59..e550f9fdd83 100644
--- a/pkgs/applications/window-managers/ratpoison/default.nix
+++ b/pkgs/applications/window-managers/ratpoison/default.nix
@@ -1,32 +1,26 @@
-{ stdenv, fetchurl, libX11, inputproto, libXt, libXpm, libXft, fontconfig, freetype
-, libXtst, xextproto, readline, libXi, pkgconfig, perl, autoconf, automake }:
+{ stdenv, fetchurl, pkgconfig, perl, autoconf, automake
+, libX11, inputproto, libXt, libXpm, libXft, libXtst, xextproto, libXi
+, fontconfig, freetype, readline
+}:
 
 stdenv.mkDerivation rec {
-  name = "ratpoison-1.4.6";
+  name = "ratpoison-${version}";
+  version = "1.4.8";
 
   src = fetchurl {
-    url = "mirror://savannah/ratpoison/${name}.tar.gz";
-    sha256 = "1y1b38bng0naxfy50asshzg5xr1b2rn88mcgbds42y72d7y9d0za";
+    url = "mirror://savannah/ratpoison/${name}.tar.xz";
+    sha256 = "1w502z55vv7zs45l80nsllqh9fvfwjfdfi11xy1qikhzdmirains";
   };
 
   buildInputs =
-    [ libX11 inputproto libXt libXpm libXft fontconfig freetype libXtst
-      xextproto readline libXi pkgconfig perl autoconf automake
-    ];
+    [ pkgconfig perl autoconf automake
+      libX11 inputproto libXt libXpm libXft libXtst xextproto libXi
+      fontconfig freetype readline ];
 
-  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; # urgh
-
-  preConfigure = "autoreconf -vf";      # needed because of the patch above
-
-  postInstall = ''
-    mkdir -p $out/share/emacs/site-lisp
-    mv "$out/share/ratpoison/"*.el $out/share/emacs/site-lisp/
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.nongnu.org/ratpoison/";
     description = "Simple mouse-free tiling window manager";
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
     longDescription = ''
        Ratpoison is a simple window manager with no fat library
@@ -43,7 +37,7 @@ stdenv.mkDerivation rec {
        cripples Emacs and other quality pieces of software.
     '';
 
-    hydraPlatforms = stdenv.lib.platforms.linux;
-    maintainers = [ ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/applications/window-managers/sawfish/default.nix b/pkgs/applications/window-managers/sawfish/default.nix
new file mode 100644
index 00000000000..4281eb99dd0
--- /dev/null
+++ b/pkgs/applications/window-managers/sawfish/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchgit, pkgconfig, which, autoreconfHook, rep-gtk, pango, gdk_pixbuf, libXinerama, libXrandr, libXtst, imlib, gettext, texinfo, makeWrapper }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "sawfish-git-2015-02-15";
+
+  src = fetchgit {
+    url = "https://github.com/SawfishWM/sawfish.git";
+    rev = "44729f44017e6779b4b66a7ecdbd63a98731f668";
+    sha256 = "bd3f42f1604f37ecb2515008341cac4f6965840b2d6a6639dd1f3f2459f68e73";
+  };
+
+  buildInputs = [ pkgconfig which autoreconfHook rep-gtk pango gdk_pixbuf libXinerama libXrandr libXtst imlib gettext texinfo makeWrapper ];
+
+  patchPhase = ''
+    sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in
+    sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in
+  '';
+
+  postInstall = ''
+    for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about  $out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do
+      wrapProgram $i \
+        --prefix REP_DL_LOAD_PATH "$out/lib/rep" \
+	--set REP_LOAD_PATH "$out/share/sawfish/lisp"
+    done
+  '';
+  
+  meta = {
+    description = "An extensible, Lisp-based window manager";
+    longDescription = ''
+      Sawfish is an extensible window manager using a Lisp-based scripting language.
+      Its policy is very minimal compared to most window managers. Its aim is simply
+      to manage windows in the most flexible and attractive manner possible.
+      All high-level WM functions are implemented in Lisp for future extensibility
+      or redefinition.
+    '';
+    homepage = http://sawfish.wikia.com;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/applications/window-managers/spectrwm/default.nix b/pkgs/applications/window-managers/spectrwm/default.nix
new file mode 100644
index 00000000000..ad6fcddf5be
--- /dev/null
+++ b/pkgs/applications/window-managers/spectrwm/default.nix
@@ -0,0 +1,59 @@
+{ fetchurl
+, coreutils
+, libX11
+, libXrandr
+, libXcursor
+, libXft
+, libXt
+, libxcb
+, xcbutil
+, xcb-util-cursor
+, xcbutilkeysyms
+, xcbutilwm
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  name = "spectrwm-${version}";
+  version = "2.6.2";
+
+  src = fetchurl {
+    url = "https://github.com/conformal/spectrwm/archive/SPECTRWM_2_6_2.tar.gz";
+    sha256 = "1pc9p3vwa4bsv76myqkqhp4cxspr72s5igi7cs9xrpd4xx6xc90s";
+  };
+
+  buildInputs = [
+    libX11
+    libxcb
+    libXrandr
+    libXcursor
+    libXft
+    libXt
+    xcbutil
+    xcb-util-cursor
+    xcbutilkeysyms
+    xcbutilwm
+  ];
+
+  sourceRoot = "spectrwm-SPECTRWM_2_6_2/linux";
+  makeFlags="PREFIX=$(out)";
+  installPhase = "PREFIX=$out make install";
+
+  meta = with stdenv.lib; {
+    description = "A tiling window manager";
+    homepage    = "https://github.com/conformal/spectrwm";
+    maintainers = with maintainers; [ jb55 ];
+    license     = licenses.isc;
+    platforms   = platforms.all;
+
+    longDescription = ''
+      spectrwm is a small dynamic tiling window manager for X11. It
+      tries to stay out of the way so that valuable screen real estate
+      can be used for much more important stuff. It has sane defaults
+      and does not require one to learn a language to do any
+      configuration. It was written by hackers for hackers and it
+      strives to be small, compact and fast.
+    '';
+  };
+
+}
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
new file mode 100644
index 00000000000..fe62b8250ae
--- /dev/null
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, pkgs, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4
+, makeWrapper , rlwrap, gnused, gnugrep, coreutils, xprop
+, extraModulePaths ? [] }:
+
+let
+  version = "0.9.9";
+  contrib = (fetchgit {
+    url = "https://github.com/stumpwm/stumpwm-contrib.git";
+    rev = "e139885fffcedaeba4b263e4575daae4364cad52";
+    sha256 = "fe75bb27538a56f2d213fb21e06a8983699e129a10da7014ddcf6eed5cd965f8";
+  });
+in
+stdenv.mkDerivation rec {
+  name = "stumpwm-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/stumpwm/stumpwm";
+    rev = "refs/tags/${version}";
+    sha256 = "05fkng2wlmhy3kb9zhrrv9zpa16g2p91p5y0wvmwkppy04cw04ps";
+  };
+
+  buildInputs = [
+    texinfo4 makeWrapper autoconf
+    sbcl
+    lispPackages.clx
+    lispPackages.cl-ppcre
+    xdpyinfo
+  ];
+
+  # NOTE: The patch needs an update for the next release.
+  # `(stumpwm:set-module-dir "@MODULE_DIR@")' needs to be in it.
+  patches = [ ./fix-module-path.patch ];
+
+  # Stripping destroys the generated SBCL image
+  dontStrip = true;
+
+  configurePhase = ''
+    ./autogen.sh
+    ./configure --prefix=$out --with-module-dir=$out/share/stumpwm/modules
+  '';
+
+  preBuild = ''
+    cp -r --no-preserve=mode ${contrib} modules
+  '';
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    make install
+
+    mkdir -p $out/share/stumpwm/modules
+    cp -r modules/* $out/share/stumpwm/modules/
+    for d in ${stdenv.lib.concatStringsSep " " extraModulePaths}; do
+      cp -r --no-preserve=mode "$d" $out/share/stumpwm/modules/
+    done
+
+    # Copy stumpish;
+    cp $out/share/stumpwm/modules/util/stumpish/stumpish $out/bin/
+    chmod +x $out/bin/stumpish
+    wrapProgram $out/bin/stumpish \
+      --prefix PATH ":" "${rlwrap}/bin:${gnused}/bin:${gnugrep}/bin:${coreutils}/bin:${xprop}/bin"
+
+    # Paths in the compressed image $out/bin/stumpwm are not
+    # recognized by Nix. Add explicit reference here.
+    mkdir $out/nix-support
+    echo ${xdpyinfo} > $out/nix-support/xdpyinfo
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tiling window manager for X11";
+    homepage    = https://github.com/stumpwm/;
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ _1126 the-kenny ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/stumpwm/fix-module-path.patch b/pkgs/applications/window-managers/stumpwm/fix-module-path.patch
new file mode 100644
index 00000000000..79bfaad3dec
--- /dev/null
+++ b/pkgs/applications/window-managers/stumpwm/fix-module-path.patch
@@ -0,0 +1,16 @@
+diff --git a/make-image.lisp.in b/make-image.lisp.in
+index 121e9d6..2210242 100644
+--- a/make-image.lisp.in
++++ b/make-image.lisp.in
+@@ -2,7 +2,10 @@
+ 
+ (load "load-stumpwm.lisp")
+ 
+-#-ecl (stumpwm:set-module-dir "@CONTRIB_DIR@")
++(setf asdf::*immutable-systems*
++      (uiop:list-to-hash-set (asdf:already-loaded-systems)))
++
++#-ecl (stumpwm:set-module-dir "@MODULE_DIR@")
+ 
+ #+sbcl
+ (sb-ext:save-lisp-and-die "stumpwm" :toplevel (lambda ()
diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix
index 03563a4f812..af368d0a042 100644
--- a/pkgs/applications/window-managers/sxhkd/default.nix
+++ b/pkgs/applications/window-managers/sxhkd/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Simple X hotkey daemon";
     homepage = "http://github.com/baskerville/sxhkd";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/trayer/default.nix b/pkgs/applications/window-managers/trayer/default.nix
index 43a1d2b8e79..b7f1d9adad1 100644
--- a/pkgs/applications/window-managers/trayer/default.nix
+++ b/pkgs/applications/window-managers/trayer/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     description = "A lightweight GTK2-based systray for UNIX desktop";
     platforms = platforms.linux;
-    maintainer = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub ];
   };
 }
 
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 73a6412afab..9b88400ef53 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,33 +1,46 @@
-{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon
-, cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev
-, libjpeg, pam, autoconf, automake, libtool, dbus }:
-
-let version = "1.5.0"; in
+{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, cairo, libxcb
+, libXcursor, x11, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput
+, pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null
+, libwebp ? null, xwayland ? null
+# beware of null defaults, as the parameters *are* supplied by callPackage by default
+}:
 
 stdenv.mkDerivation rec {
-  name = "weston-${version}";
+  name = "weston-${wayland.version}";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "113nig2dmbgrjhi79k0zw77vicnx8vkaihawd0nsg6n79ah8nf06";
+    sha256 = "1kb6a494j56sh7iy43xwkjlr3bh0nnkq4bkimwj6qirzbya12i8w";
   };
 
-  #ToDo: libinput can be split away
   buildInputs = [
-    pkgconfig wayland mesa libxkbcommon
-    cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam dbus.libs
+    pkgconfig wayland mesa libxkbcommon cairo libxcb libXcursor x11 udev libdrm
+    mtdev libjpeg pam dbus.libs libinput pango libunwind freerdp vaapi libva
+    libwebp
   ];
 
-  NIX_CFLAGS_COMPILE = "-I${libdrm}/include/libdrm";
-
   configureFlags = [
+    "--enable-x11-compositor"
+    "--enable-drm-compositor"
+    "--enable-wayland-compositor"
+    "--enable-headless-compositor"
+    "--enable-fbdev-compositor"
+    "--enable-screen-sharing"
+    "--enable-clients"
+    "--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.optionals (xwayland != null) [
+        "--enable-xwayland"
+        "--with-xserver-path=${xwayland}/bin/Xwayland"
+      ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Reference implementation of a Wayland compositor";
     homepage = http://wayland.freedesktop.org/;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/applications/window-managers/windowmaker/default.nix b/pkgs/applications/window-managers/windowmaker/default.nix
index bbb6c038825..c5ecefdcfc8 100644
--- a/pkgs/applications/window-managers/windowmaker/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/default.nix
@@ -1,20 +1,42 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXft, libXmu }:
+{ stdenv, fetchurl, pkgconfig
+, libX11, libXext, libXft, libXmu, libXinerama, libXrandr, libXpm
+, imagemagick, libpng, libjpeg, libexif, libtiff, libungif, libwebp }:
 
 stdenv.mkDerivation rec {
   name = "windowmaker-${version}";
-  version = "0.95.5";
+  version = "0.95.6";
+  srcName = "WindowMaker-${version}";
 
   src = fetchurl {
-    url = "http://windowmaker.org/pub/source/release/"
-        + "WindowMaker-${version}.tar.gz";
-    sha256 = "1l3hmx4jzf6vp0zclqx9gsqrlwh4rvqm1g1zr5ha0cp0zmsg89ab";
+    url = "http://windowmaker.org/pub/source/release/${srcName}.tar.gz";
+    sha256 = "1i3dw1yagsa3rs9x2na2ynqlgmbahayws0kz4vl00fla6550nns3";
   };
 
-  buildInputs = [ pkgconfig libX11 libXft libXmu ];
+  buildInputs = [ pkgconfig
+                  libX11 libXext libXft libXmu libXinerama libXrandr libXpm
+                  imagemagick libpng libjpeg libexif libtiff libungif libwebp ];
 
-  meta = {
-    homepage = "http://windowmaker.org/";
+  configureFlags = [
+    "--with-x"
+    "--enable-modelock"
+    "--enable-randr"
+    "--enable-magick"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://windowmaker.org/;
     description = "NeXTSTEP-like window manager";
-    license = stdenv.lib.licenses.gpl2Plus;
+    longDescription = ''
+      Window Maker is an X11 window manager originally designed to
+      provide integration support for the GNUstep Desktop
+      Environment. In every way possible, it reproduces the elegant look
+      and feel of the NEXTSTEP user interface. It is fast, feature rich,
+      easy to configure, and easy to use. It is also free software, with
+      contributions being made by programmers from around the world.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
+
+# TODO: investigate support for WEBP (its autodetection is failing)
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
new file mode 100644
index 00000000000..11e5460fecb
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, pkgconfig, libX11, libXpm, libXext, alsaLib }:
+
+stdenv.mkDerivation {
+  name = "alsamixer.app-0.2.1";
+  src = fetchgit {
+     url = git://repo.or.cz/dockapps.git;
+     rev = "38c74350b02f35824554ce0c4f0f251d71762040";
+     sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl";
+  };
+
+  buildInputs = [ pkgconfig libX11 libXpm libXext alsaLib ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/AlsaMixer.app";
+
+  installPhase = ''
+    mkdir -pv $out/bin;
+    cp AlsaMixer.app $out/bin/AlsaMixer;
+    '';
+
+  meta = {
+    description = "Alsa mixer application for Windowmaker";
+    homepage = "http://windowmaker.org/dockapps/?name=AlsaMixer.app";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
new file mode 100644
index 00000000000..1d2683c40fd
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
+
+stdenv.mkDerivation {
+  name = "wmCalClock-1.25";
+  src = fetchurl {
+     url = http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/files/wmCalClock-1.25.tar.gz;
+     sha256 = "4b42b55bb7c1d7c58b5ee1f0058c683d3e4f3e3380d3a69c54a50b983c7c1b3f";
+  };
+
+  buildInputs = [ pkgconfig libX11 libXpm libXext ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/Src";
+
+  buildPhase=''
+    make prefix=$out
+  '';
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    mkdir -pv $out/man/man1
+    make DESTDIR=$out install
+  '';
+
+  meta = {
+    description = "Clock for Windowmaker";
+    homepage = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/time.html#wmcalclock";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
new file mode 100644
index 00000000000..6fe49745fa7
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
+
+stdenv.mkDerivation {
+  name = "wmsm.app-0.2.1";
+  src = fetchurl {
+     url = http://linux-bsd-unix.strefa.pl/wmsm.app-0.2.1.tar.bz2;
+     sha256 = "369a8f2e5673c6b7ab0cf85166f38fbf553dd966c3c1cfeec0e32837defd32c7";
+  };
+
+  buildInputs = [ pkgconfig libX11 libXpm libXext ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/wmsm";
+
+  installPhase = ''
+    substituteInPlace Makefile --replace "PREFIX	= /usr/X11R6/bin" "" --replace "/usr/bin/install" "install"
+    mkdir -pv $out/bin;
+    make PREFIX=$out/bin install;
+    '';
+
+  meta = {
+    description = "System monitor for Windowmaker";
+    homepage = "http://linux-bsd-unix.strefa.pl";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
new file mode 100644
index 00000000000..358f3d22f39
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext, libXfixes, libXmu }:
+
+stdenv.mkDerivation {
+  name = "wmsystemtray-1.4";
+  src = fetchurl {
+     url = http://sourceforge.net/projects/wmsystemtray/files/wmsystemtray/wmsystemtray-1.4.tar.gz;
+     sha256 = "8edef43691e9fff071000e29166c7c1ad420c0956e9068151061e881c8ac97e9";
+  };
+
+  buildInputs = [ pkgconfig libX11 libXpm libXext libXfixes libXmu ];
+
+  meta = {
+    description = "Systemtray for Windowmaker";
+    homepage = "http://wmsystemtray.sourceforge.net";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/xmonad-log-applet/default.nix b/pkgs/applications/window-managers/xmonad-log-applet/default.nix
new file mode 100644
index 00000000000..f27e7a953dd
--- /dev/null
+++ b/pkgs/applications/window-managers/xmonad-log-applet/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, glib, dbus_glib
+, desktopSupport
+, gtk2, gnome2_panel, GConf2
+, libxfce4util, xfce4panel
+}:
+
+assert desktopSupport == "gnome2" || desktopSupport == "gnome3" || desktopSupport == "xfce4";
+
+stdenv.mkDerivation rec {
+  version = "2.1.0";
+  pname = "xmonad-log-applet";
+  name = "${pname}-${version}-${desktopSupport}";
+
+  src = fetchFromGitHub {
+    owner = "alexkay";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "1g1fisyaw83v72b25fxfjln8f4wlw3rm6nyk27mrqlhsc1spnb5p";
+  };
+
+  buildInputs =  with stdenv.lib;
+                 [ glib dbus_glib ]
+              ++ 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 ]
+              ;
+  
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  
+  configureFlags =  [ "--with-panel=${desktopSupport}" ];
+  
+  patches = [ ./fix-paths.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/alexkay/xmonad-log-applet;
+    license = licenses.bsd3;
+    description = "An applet that will display XMonad log information (${desktopSupport} version)";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+
+    broken = desktopSupport == "gnome3";
+  };
+}
+
diff --git a/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch b/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch
new file mode 100644
index 00000000000..031843afb17
--- /dev/null
+++ b/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch
@@ -0,0 +1,50 @@
+diff --git a/Makefile.am b/Makefile.am
+index 619012d..dcc6d3c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,5 @@
+ plugindir = $(PLUGIN_DIR)
++SESSION_BUS_SERVICES_DIR = $(prefix)/share/dbus-1/services
+ plugin_PROGRAMS = xmonad-log-applet
+ 
+ xmonad_log_applet_SOURCES = main.c
+diff --git a/configure.ac b/configure.ac
+index ad4cffb..110c953 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,28 +27,28 @@ AC_ARG_WITH(
+ AS_IF(
+     [test "x$panel" = xgnome2],
+         [PKG_CHECK_MODULES(LIBPANEL, libpanelapplet-3.0 >= 2.32.0)]
+-        LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-3.0`/share/gnome-panel/applets
+-        PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-3.0`/libexec
++        LIBPANEL_APPLET_DIR=${prefix}/share/gnome-panel/applets
++        PLUGIN_DIR=${prefix}/libexec
+         [AC_DEFINE(PANEL_GNOME, 1, [panel type])]
+         [AC_DEFINE(PANEL_GNOME2, 1, [panel type])]
+         ,
+     [test "x$panel" = xgnome3],
+         [PKG_CHECK_MODULES(LIBPANEL, libpanelapplet-4.0 >= 3.0.0)]
+         LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=libpanel_applet_dir libpanelapplet-4.0`
+-        PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libpanelapplet-4.0`/libexec
++        PLUGIN_DIR=${prefix}/libexec
+         [AC_DEFINE(PANEL_GNOME, 1, [panel type])]
+         [AC_DEFINE(PANEL_GNOME3, 1, [panel type])]
+         ,
+     [test "x$panel" = xmate],
+         [PKG_CHECK_MODULES(LIBPANEL, libmatepanelapplet-3.0 >= 1.4.0)]
+-        LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-3.0`/share/mate-panel/applets
+-        PLUGIN_DIR=`$PKG_CONFIG --variable=prefix libmatepanelapplet-3.0`/libexec
++        LIBPANEL_APPLET_DIR=${prefix}/share/mate-panel/applets
++        PLUGIN_DIR=${prefix}/libexec
+         [AC_DEFINE(PANEL_MATE, 1, [panel type])]
+         ,
+     [test "x$panel" = xxfce4],
+         [PKG_CHECK_MODULES(LIBPANEL, libxfce4panel-1.0 >= 4.6.0)]
+-        LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=prefix libxfce4panel-1.0`/share/xfce4/panel-plugins
+-        PLUGIN_DIR=`$PKG_CONFIG --variable=libdir libxfce4panel-1.0`/xfce4/panel/plugins
++        LIBPANEL_APPLET_DIR=${prefix}/share/xfce4/panel-plugins
++        PLUGIN_DIR=${prefix}/lib/xfce4/panel/plugins
+         [AC_DEFINE(PANEL_XFCE4, 1, [panel type])]
+         ,
+     [AC_MSG_ERROR([Unknown panel type, use gnome2, gnome3, mate or xfce4])]
diff --git a/pkgs/applications/window-managers/xmonad/default.nix b/pkgs/applications/window-managers/xmonad/default.nix
index 08b85a5530f..16b0ac365a2 100644
--- a/pkgs/applications/window-managers/xmonad/default.nix
+++ b/pkgs/applications/window-managers/xmonad/default.nix
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
   '';
   patches = [
     # Patch to make xmonad use XMONAD_{GHC,XMESSAGE} (if available).
-    ./xmonad_ghc_var_0.11.patch
+    ../../../development/haskell-modules/xmonad-nix.patch
   ];
   meta = {
     homepage = "http://xmonad.org";
diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix
new file mode 100644
index 00000000000..cb02a214d5b
--- /dev/null
+++ b/pkgs/applications/window-managers/xmonad/wrapper.nix
@@ -0,0 +1,16 @@
+{ stdenv, ghcWithPackages, xmessage, makeWrapper, packages }:
+
+let
+xmonadEnv = ghcWithPackages (self: [ self.xmonad ] ++ packages self);
+in stdenv.mkDerivation {
+  name = "xmonad-with-packages";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    makeWrapper ${xmonadEnv}/bin/xmonad $out/bin/xmonad \
+      --set NIX_GHC "${xmonadEnv}/bin/ghc" \
+      --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage"
+  '';
+}
diff --git a/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch b/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch
deleted file mode 100644
index f0785773cc1..00000000000
--- a/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- xmonad-0.11/XMonad/Core.hs	2013-01-01 01:31:47.000000000 +0000
-+++ new-xmonad/XMonad/Core.hs	2013-12-23 17:36:40.862146910 +0000
-@@ -47,6 +47,7 @@
- import System.Process
- import System.Directory
- import System.Exit
-+import System.Environment (lookupEnv)
- import Graphics.X11.Xlib
- import Graphics.X11.Xlib.Extras (Event)
- import Data.Typeable
-@@ -452,6 +453,7 @@
-         err  = base ++ ".errors"
-         src  = base ++ ".hs"
-         lib  = dir </> "lib"
-+    ghc <- fromMaybe "ghc" <$> liftIO (lookupEnv "XMONAD_GHC")
-     libTs <- mapM getModTime . Prelude.filter isSource =<< allFiles lib
-     srcT <- getModTime src
-     binT <- getModTime bin
-@@ -460,7 +462,7 @@
-         -- temporarily disable SIGCHLD ignoring:
-         uninstallSignalHandlers
-         status <- bracket (openFile err WriteMode) hClose $ \h ->
--            waitForProcess =<< runProcess "ghc" ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-v0", "-o",binn] (Just dir)
-+            waitForProcess =<< runProcess ghc ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-v0", "-o",binn] (Just dir)
-                                     Nothing Nothing Nothing (Just h)
- 
-         -- re-enable SIGCHLD:
-@@ -469,6 +471,7 @@
-         -- now, if it fails, run xmessage to let the user know:
-         when (status /= ExitSuccess) $ do
-             ghcErr <- readFile err
-+            xmessage <- fromMaybe "xmessage" <$> liftIO (lookupEnv "XMONAD_XMESSAGE")
-             let msg = unlines $
-                     ["Error detected while loading xmonad configuration file: " ++ src]
-                     ++ lines (if null ghcErr then show status else ghcErr)
-@@ -476,7 +479,7 @@
-             -- nb, the ordering of printing, then forking, is crucial due to
-             -- lazy evaluation
-             hPutStrLn stderr msg
--            forkProcess $ executeFile "xmessage" True ["-default", "okay", msg] Nothing
-+            forkProcess $ executeFile xmessage True ["-default", "okay", msg] Nothing
-             return ()
-         return (status == ExitSuccess)
-       else return True
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
new file mode 100644
index 00000000000..cb6059e00cd
--- /dev/null
+++ b/pkgs/build-support/agda/default.nix
@@ -0,0 +1,95 @@
+# Builder for Agda packages. Mostly inspired by the cabal builder.
+#
+# Contact: stdenv.lib.maintainers.fuuzetsu
+
+{ stdenv, Agda, glibcLocales
+, writeScriptBin
+, extension ? (self: super: {})
+}:
+
+let
+  optionalString = stdenv.lib.optionalString;
+  filter = stdenv.lib.filter;
+  concatMapStringsSep = stdenv.lib.strings.concatMapStringsSep;
+  concatMapStrings = stdenv.lib.strings.concatMapStrings;
+  unwords = stdenv.lib.strings.concatStringsSep " ";
+  mapInside = xs: unwords (map (x: x + "/*") xs);
+in
+{ mkDerivation = args:
+    let
+      postprocess = x: x // {
+        sourceDirectories = filter (y: !(y == null)) x.sourceDirectories;
+        propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
+        propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
+        extraBuildFlags = filter (y : ! (y == null)) x.extraBuildFlags;
+        everythingFile = if x.everythingFile == "" then "Everything.agda" else x.everythingFile;
+      };
+
+      defaults = self : {
+        # There is no Hackage for Agda so we require src.
+        inherit (self) src name;
+
+        buildInputs = [ Agda ] ++ self.buildDepends;
+        buildDepends = [];
+        # Not much choice here ;)
+        LANG = "en_US.UTF-8";
+        LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
+
+        everythingFile = "Everything.agda";
+
+        propagatedBuildInputs = self.buildDepends ++ self.buildTools;
+        propagatedUserEnvPkgs = self.buildDepends;
+
+        # Immediate source directories under which modules can be found.
+        sourceDirectories = [ ];
+
+        # This is used if we have a top-level element that only serves
+        # as the container for the source and we only care about its
+        # contents. The directories put here will have their
+        # *contents* copied over as opposed to sourceDirectories which
+        # would make a direct copy of the whole thing.
+        topSourceDirectories = [ "src" ];
+
+        buildTools = [];
+
+        # Extra stuff to pass to the Agda binary.
+        extraBuildFlags = [ "-i ." ];
+        buildFlags = let r = map (x: "-i " + x + "/share/agda") self.buildDepends;
+                         d = map (x : "-i " + x) (self.sourceDirectories ++ self.topSourceDirectories);
+                     in unwords (r ++ d ++ self.extraBuildFlags);
+
+        # We expose this as a mere convenience for any tools.
+        AGDA_PACKAGE_PATH = concatMapStrings (x: x + ":") self.buildDepends;
+
+        # Makes a wrapper available to the user. Very useful in
+        # nix-shell where all dependencies are -i'd.
+        agdaWrapper = writeScriptBin "agda" ''
+          ${Agda}/bin/agda ${self.buildFlags} "$@"
+        '';
+
+        # configurePhase is idempotent
+        configurePhase = ''
+          eval "$preConfigure"
+          export AGDA_PACKAGE_PATH=${self.AGDA_PACKAGE_PATH};
+          export PATH="${self.agdaWrapper}/bin:$PATH"
+          eval "$postConfigure"
+        '';
+
+        buildPhase = ''
+          eval "$preBuild"
+          ${Agda}/bin/agda ${self.buildFlags} ${self.everythingFile}
+          eval "$postBuild"
+        '';
+
+        installPhase = ''
+          eval "$preInstall"
+          mkdir -p $out/share/agda
+          cp -pR ${unwords self.sourceDirectories} ${mapInside self.topSourceDirectories} $out/share/agda
+          eval "$postInstall"
+        '';
+      };
+    in stdenv.mkDerivation
+         (postprocess (let super = defaults self // args self;
+                           self  = super // extension self super;
+                       in self));
+}
diff --git a/pkgs/build-support/autonix/default.nix b/pkgs/build-support/autonix/default.nix
new file mode 100644
index 00000000000..02862abca49
--- /dev/null
+++ b/pkgs/build-support/autonix/default.nix
@@ -0,0 +1,179 @@
+{ bash, callPackage, coreutils, fetchurl, findutils, nix, runCommand, stdenv
+, substituteAll, wget, writeText }:
+
+/* autonix is a collection of tools to automate packaging large collections
+ * of software, particularly KDE. It consists of three components:
+ *   1. a script (manifest) to download and hash the packages
+ *   2. a dependency scanner (autonix-deps) written in Haskell that examines
+ *      the package sources and tries to guess their dependencies
+ *   3. a library of Nix routines (generateCollection) to generate Nix
+ *      expressions from the output of the previous steps.
+ */
+
+with stdenv.lib;
+
+let
+
+  /* Download the packages into the Nix store, compute their hashes,
+   * and generate a package manifest in ./manifest.nix.
+   */
+  manifest =
+    let
+      script =
+        substituteAll
+          {
+            src = ./manifest.sh;
+            inherit bash coreutils findutils nix wget;
+          };
+    in
+      runCommand "autonix-manifest" {}
+        ''
+          cp ${script} $out
+          chmod +x $out
+        '';
+
+  /* Convert a manifest.nix file to XML to be read by autonix-deps. */
+  writeManifestXML = filename:
+    let
+      generateStores = mapAttrs (n: pkg: pkg.store);
+      manifest = importManifest filename { mirror = ""; };
+      stores = generateStores manifest;
+    in
+      writeText "manifest.xml" (builtins.toXML stores);
+
+  /* Generate a set of Nix expressions for the collection, given a
+   * manifest.nix, dependencies.nix, and renames.nix in the same directory.
+   */
+  generateCollection = dir: # path to directory
+    { mirror # mirror to download packages from
+    , mkDerivation ? mkDerivation
+    , preResolve ? id # modify package set before dependency resolution
+    , postResolve ? id # modify package set after dependency resolution
+    , renames ? {}
+    , scope ? {}
+    }:
+    let
+
+      fix = f: let x = f x; in x;
+
+      resolvePkg = name:
+        mapAttrs (attr: if isDepAttr attr then resolveDeps scope else id);
+
+      resolve = mapAttrs resolvePkg;
+
+      derive = mapAttrs (name: mkDerivation);
+
+      renames_ =
+        if renames == {} then (import (dir + "/renames.nix") {}) else renames;
+
+      packages = importPackages dir renames_ { inherit mirror; };
+
+    in derive (postResolve (resolve (preResolve packages)));
+
+  pkgAttrName = pkg: (builtins.parseDrvName pkg.name).name;
+  pkgVersion = pkg: (builtins.parseDrvName pkg.name).version;
+
+  depAttrNames = [
+    "buildInputs" "nativeBuildInputs"
+    "propagatedBuildInputs" "propagatedNativeBuildInputs"
+    "propagatedUserEnvPkgs"
+  ];
+
+  isDepAttr = name: builtins.elem name depAttrNames;
+
+  removePkgDeps = deps:
+    let removeDepsIfDepAttr = attr: value:
+          if isDepAttr attr then fold remove value deps else value;
+    in mapAttrs removeDepsIfDepAttr;
+
+  hasDep = dep: pkg:
+    let depAttrs = attrValues (filterAttrs (n: v: isDepAttr n) pkg);
+        allDeps = concatLists depAttrs;
+    in elem dep allDeps;
+
+  importManifest = path: { mirror }:
+    let
+      uniqueNames = manifest:
+        unique (map pkgAttrName manifest);
+
+      versionsOf = manifest: name:
+        filter (pkg: pkgAttrName pkg == name) manifest;
+
+      bestVersions = manifest:
+        let best = versions:
+              let
+                strictlyLess = a: b:
+                  builtins.compareVersions (pkgVersion a) (pkgVersion b) > 0;
+                sorted = sort strictlyLess versions;
+              in head sorted;
+        in map (name: best (versionsOf manifest name)) (uniqueNames manifest);
+
+      withNames = manifest:
+        builtins.listToAttrs
+          (map (p: nameValuePair (toLower (pkgAttrName p)) p) manifest);
+
+      orig = import path { inherit stdenv fetchurl mirror; };
+    in
+      fold (f: x: f x) orig [ withNames bestVersions ];
+
+  importPackages = path: renames: manifestScope:
+    let
+
+      # Do not allow any package to depend on itself.
+      breakRecursion =
+        let removeSelfDep = pkg:
+              mapAttrs
+                (n: if isDepAttr n
+                      then filter (dep: dep != pkg && renamed dep != pkg)
+                    else id);
+        in mapAttrs removeSelfDep;
+
+      renamed = dep: renames."${dep}" or dep;
+
+      manifest = importManifest (path + "/manifest.nix") manifestScope;
+
+      deps = import (path + "/dependencies.nix") {};
+
+      mkPkg = name: manifest:
+        {
+          inherit (manifest) name src;
+          inherit (deps."${name}")
+            buildInputs nativeBuildInputs propagatedBuildInputs
+            propagatedNativeBuildInputs propagatedUserEnvPkgs;
+        };
+
+    in breakRecursion (mapAttrs mkPkg manifest);
+
+  mkDerivation = drv: stdenv.mkDerivation (drv // { src = fetchurl drv.src; });
+
+  resolveDeps = scope:
+    let resolveDeps_go = dep:
+          let res = scope."${dep}" or [];
+          in if isList res then res else [res];
+    in concatMap resolveDeps_go;
+
+  userEnvPkg = dep:
+    mapAttrs
+      (name: pkg: pkg // {
+        propagatedUserEnvPkgs =
+          (pkg.propagatedUserEnvPkgs or [])
+          ++ optional (hasDep dep pkg) dep;
+      });
+
+in
+{
+  inherit generateCollection;
+  inherit importManifest;
+  inherit isDepAttr;
+  inherit manifest;
+  inherit removePkgDeps;
+  inherit resolveDeps;
+  inherit userEnvPkg;
+  inherit writeManifestXML;
+
+  blacklist = names: pkgs:
+    let
+      removeDeps = deps: mapAttrs (name: removePkgDeps deps);
+      removePkgs = names: pkgs: builtins.removeAttrs pkgs names;
+    in removeDeps names (removePkgs names pkgs);
+}
diff --git a/pkgs/build-support/autonix/manifest.sh b/pkgs/build-support/autonix/manifest.sh
new file mode 100755
index 00000000000..df0f52a73b5
--- /dev/null
+++ b/pkgs/build-support/autonix/manifest.sh
@@ -0,0 +1,41 @@
+#!@bash@/bin/bash
+
+@coreutils@/bin/mkdir tmp; cd tmp
+
+@wget@/bin/wget -nH -r -c --no-parent $*
+
+cat >../manifest.nix <<EOF
+# This file is generated automatically. DO NOT EDIT!
+{ stdenv, fetchurl, mirror }:
+[
+EOF
+
+workdir=$(pwd)
+
+@findutils@/bin/find . | while read path; do
+    if [[ -f "${path}" ]]; then
+        url="${path:2}"
+        # Sanitize file name
+        name=$(@coreutils@/bin/basename "${path}" | tr '@' '_')
+        dirname=$(@coreutils@/bin/dirname "${path}")
+        mv "${workdir}/${path}" "${workdir}/${dirname}/${name}"
+        # Prefetch and hash source file
+        sha256=$(@nix@/bin/nix-prefetch-url "file://${workdir}/${dirname}/${name}")
+        store=$(@nix@/bin/nix-store --print-fixed-path sha256 "$sha256" "$name")
+        cat >>../manifest.nix <<EOF
+  {
+    name = stdenv.lib.nameFromURL "${name}" ".tar";
+    store = "${store}";
+    src = fetchurl {
+      url = "\${mirror}/${url}";
+      sha256 = "${sha256}";
+      name = "${name}";
+    };
+  }
+EOF
+    fi
+done
+
+echo "]" >>../manifest.nix
+
+cd ..
diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix
index e807a04628a..461f4762aba 100644
--- a/pkgs/build-support/build-fhs-chrootenv/default.nix
+++ b/pkgs/build-support/build-fhs-chrootenv/default.nix
@@ -1,83 +1,44 @@
-{stdenv, glibc, glibcLocales, gcc, coreutils, diffutils, findutils, gnused, gnugrep, gnutar, gzip, bzip2, 
-bashInteractive, xz, shadow, gawk, less, buildEnv}:
-{name, pkgs ? [], profile ? ""}:
+{ stdenv } : { env } :
 
 let
-  basePkgs = [
-    glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar
-    gzip bzip2 bashInteractive xz shadow gawk less
-  ];
-
-  # Compose a global profile for the chroot environment
-  profilePkg = stdenv.mkDerivation {
-    name = "${name}-chrootenv-profile";
-    buildCommand = ''
-      mkdir -p $out/etc
-      cat >> $out/etc/profile << "EOF"
-      export PS1='${name}-chrootenv:\u@\h:\w\$ '
-      ${profile}
-      EOF
-    '';
-  };
-
-  paths = basePkgs ++ [ profilePkg ] ++ pkgs;
-
-  # Composes a /usr like directory structure
-  staticUsrProfile = buildEnv {
-    name = "system-profile";
-    inherit paths;
-  };
-  
   # References to shell scripts that set up or tear down the environment
-  initSh = ./init.sh.in;
-  mountSh = ./mount.sh.in;
-  loadSh = ./load.sh.in;
-  umountSh = ./umount.sh.in;
+  initSh    = ./init.sh.in;
+  mountSh   = ./mount.sh.in;
+  loadSh    = ./load.sh.in;
+  umountSh  = ./umount.sh.in;
   destroySh = ./destroy.sh.in;
-in
-stdenv.mkDerivation {
+
+  name = env.pname;
+
+in stdenv.mkDerivation {
   name = "${name}-chrootenv";
+  preferLocalBuild = true;
   buildCommand = ''
-    mkdir -p $out/sw
-    cd $out/sw
-    
-    for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var}
-    do
-        if [ -x "$i" ]
-        then
-            ln -s "$i"
-        fi
-    done
-    
-    ln -s ${staticUsrProfile} usr
-    
-    cd ..
-    
-    mkdir -p bin
-    cd bin
-    
-    sed -e "s|@chrootEnv@|$out|g" \
+    mkdir -p $out/bin
+    cd $out/bin
+
+    sed -e "s|@chrootEnv@|${env}|g" \
         -e "s|@name@|${name}|g" \
         -e "s|@shell@|${stdenv.shell}|g" \
         ${initSh} > init-${name}-chrootenv
     chmod +x init-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${mountSh} > mount-${name}-chrootenv
     chmod +x mount-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${loadSh} > load-${name}-chrootenv
     chmod +x load-${name}-chrootenv
-    
+
     sed -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${umountSh} > umount-${name}-chrootenv
     chmod +x umount-${name}-chrootenv
-    
-    sed -e "s|@chrootEnv@|$out|g" \
+
+    sed -e "s|@chrootEnv@|${env}|g" \
         -e "s|@shell@|${stdenv.shell}|g" \
         -e "s|@name@|${name}|g" \
         ${destroySh} > destroy-${name}-chrootenv
diff --git a/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in b/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
index 30b51cb5068..015f742d85a 100644
--- a/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/destroy.sh.in
@@ -3,19 +3,20 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Remove bind mount points
-rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run}
+rmdir $chrootenvDest/{dev,nix/store,nix,proc,sys,host-etc,home,var,run,tmp}
 
 # Remove symlinks to the software that should be part of the chroot system profile
-for i in @chrootEnv@/sw/*
+for i in @chrootEnv@/*
 do
-    if [ "$i" != "@chrootEnv@/sw/etc" ] && [ "$i" != "@chrootEnv@/sw/var" ]
+    if [ "$i" != "@chrootEnv@/etc" ] && [ "$i" != "@chrootEnv@/var" ]
     then
         rm $chrootenvDest/$(basename $i)
     fi
 done
 
 # Remove the remaining folders
-rm -Rf $chrootenvDest/{etc,root,tmp}
+rm -Rf $chrootenvDest/{etc,root}
+rm -Rf /tmp/chrootenv-@name@
 
 # Remove the chroot environment folder
 rmdir $chrootenvDest
diff --git a/pkgs/build-support/build-fhs-chrootenv/env.nix b/pkgs/build-support/build-fhs-chrootenv/env.nix
new file mode 100644
index 00000000000..d80e2869e5e
--- /dev/null
+++ b/pkgs/build-support/build-fhs-chrootenv/env.nix
@@ -0,0 +1,217 @@
+{ nixpkgs, nixpkgs_i686, system
+} :
+{ name, pkgs ? [], profile ? ""
+, targetPkgs ? null, multiPkgs ? null
+, extraBuildCommands ? "", extraBuildCommandsMulti ? ""
+}:
+
+assert pkgs       != []   -> targetPkgs == null && multiPkgs == null;
+assert targetPkgs != null -> multiPkgs  != null;
+assert multiPkgs  != null -> targetPkgs != null;
+assert targetPkgs != null -> pkgs       == [];
+
+
+# HOWTO:
+# If pkgs is defined buildFHSEnv will run in legacy mode. This means
+# it will build all pkgs contained in pkgs and basePkgs and then just merge
+# all of their contents together via buildEnv.
+#
+# The new way is to define both targetPkgs and multiPkgs. These two are
+# functions which get a pkgs environment supplied and should then return a list
+# of packages based this environment.
+# For example: targetPkgs = pkgs: [ pkgs.nmap ];
+#
+# All packages (most likely programs) placed in targetPkgs will only be
+# installed once--matching the hosts architecture (64bit on x86_64 and 32bit on
+# x86). These packages will populate the chroot directory tree.
+#
+# Packages (most likeley libraries) defined in multiPkgs will be installed once
+# on x86 systems and twice on x86_64 systems.
+# On x86 they will just be merge with the packages defined in targetPkgs.
+# On x86_64 they will be added to targetPkgs and in addition their 32bit
+# versions will also be installed. The final directory should look as follows:
+# /lib will include 32bit libraries from multiPkgs
+# /lib32 will link to /lib
+# /lib64 will include 64bit libraries from multiPkgs and targetPkgs
+# /x86 will contain a complete 32bit environment composed by multiPkgs
+
+let
+  is64Bit       = system == "x86_64-linux";
+  # enable multi builds on x86_64 hosts if pakgs_target/multi are defined
+  isMultiBuild  = is64Bit && targetPkgs != null;
+  isTargetBuild = !isMultiBuild;
+
+  # list of packages (usually programs) which will only be installed for the
+  # hosts architecture
+  targetPaths = if targetPkgs == null
+                  then pkgs
+                  else targetPkgs nixpkgs ++ multiPkgs nixpkgs;
+
+  # list of pckages which should be build for both x86 and x86_64 on x86_64
+  # systems
+  multiPaths = if isMultiBuild
+                  then multiPkgs nixpkgs_i686
+                  else [];
+
+  # base packages of the chroot
+  # these match the hosts architecture, gcc/glibc_multi will be choosen
+  # on multi builds
+  chosenGcc = if isMultiBuild then nixpkgs.gcc_multi else nixpkgs.gcc;
+  basePkgs = with nixpkgs;
+    [ (if isMultiBuild then glibc_multi else glibc)
+      chosenGcc
+      bashInteractive coreutils less shadow su
+      gawk diffutils findutils gnused gnugrep
+      gnutar gzip bzip2 xz glibcLocales
+    ];
+
+  # Compose a global profile for the chroot environment
+  profilePkg = nixpkgs.stdenv.mkDerivation {
+    name         = "${name}-chrootenv-profile";
+    buildCommand = ''
+      mkdir -p $out/etc
+      cat >> $out/etc/profile << "EOF"
+      export PS1='${name}-chrootenv:\u@\h:\w\$ '
+      export LOCALE_ARCHIVE='/usr/lib${if is64Bit then "64" else ""}/locale/locale-archive'
+      export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib:/lib32:/lib64
+      export PATH='/bin:/sbin'
+      ${profile}
+      EOF
+    '';
+  };
+
+  # Composes a /usr like directory structure
+  staticUsrProfileTarget = nixpkgs.buildEnv {
+    name = "system-profile-target";
+    paths = basePkgs ++ [ profilePkg ] ++ targetPaths;
+    ignoreCollisions = true;
+  };
+
+  staticUsrProfileMulti = nixpkgs.buildEnv {
+    name = "system-profile-multi";
+    paths = multiPaths;
+    ignoreCollisions = true;
+  };
+
+  linkProfile = profile: ''
+    for i in ${profile}/{bin,sbin,share,var}; do
+        if [ -x "$i" ]
+        then
+            ln -s "$i"
+        fi
+    done
+  '';
+
+  # the target profile is the actual profile that will be used for the chroot
+  setupTargetProfile = ''
+    ${linkProfile staticUsrProfileTarget}
+    ${setupLibDirs}
+
+    mkdir -m0755 usr
+    cd usr
+    ${linkProfile staticUsrProfileTarget}
+    ${setupLibDirs}
+    cd ..
+  '';
+
+  # this will happen on x86_64 host:
+  # /x86         -> links to the whole profile defined by multiPaths
+  # /lib, /lib32 -> links to 32bit binaries
+  # /lib64       -> links to 64bit binaries
+  # /usr/lib*    -> same as above
+  setupMultiProfile = if isTargetBuild then "" else ''
+    mkdir -m0755 x86
+    cd x86
+    ${linkProfile staticUsrProfileMulti}
+    cd ..
+  '';
+
+  setupLibDirs = if isTargetBuild then setupLibDirs_target
+                                  else setupLibDirs_multi;
+
+  # setup library paths only for the targeted architecture
+  setupLibDirs_target = ''
+    mkdir -m0755 lib
+
+    # copy content of targetPaths
+    cp -rsf ${staticUsrProfileTarget}/lib/* lib/ && chmod u+w -R lib/
+  '';
+
+  # setup /lib, /lib32 and /lib64
+  setupLibDirs_multi = ''
+    mkdir -m0755 lib
+    mkdir -m0755 lib64
+    ln -s lib lib32
+
+    # copy glibc stuff
+    cp -rsf ${staticUsrProfileTarget}/lib/32/* lib/
+
+    # copy content of multiPaths (32bit libs)
+    [ -d ${staticUsrProfileMulti}/lib ] && cp -rsf ${staticUsrProfileMulti}/lib/* lib/ && chmod u+w -R lib/
+
+    # copy content of targetPaths (64bit libs)
+    cp -rsf ${staticUsrProfileTarget}/lib/* lib64/ && chmod u+w -R lib64/
+
+    # most 64bit only libs put their stuff into /lib
+    # some pkgs (like gcc_multi) put 32bit libs into and /lib 64bit libs into /lib64
+    # by overwriting these we will hopefully catch all these cases
+    # in the end /lib should only contain 32bit and /lib64 only 64bit libs
+    cp -rsf ${staticUsrProfileTarget}/lib64/* lib64/ && chmod u+w -R lib64/
+
+    # copy gcc libs (and may overwrite exitsting wrongly placed libs)
+    cp -rsf ${chosenGcc.cc}/lib/*   lib/
+    cp -rsf ${chosenGcc.cc}/lib64/* lib64/
+  '';
+
+  setupEtc = ''
+    mkdir -m0755 etc
+
+    # copy profile content
+    cp -rsf ${staticUsrProfileTarget}/etc/* etc/ && chmod u+w -R etc/
+    [ -d ${staticUsrProfileMulti}/etc ] && cp -rsf ${staticUsrProfileMulti}/etc/* etc/ && chmod u+w -R etc/
+
+    # compatibility with NixOS
+    ln -s /host-etc/static etc/static
+
+    # symlink some NSS stuff
+    ln -s /host-etc/passwd etc/passwd
+    ln -s /host-etc/group etc/group
+    ln -s /host-etc/shadow etc/shadow
+    ln -s /host-etc/hosts etc/hosts
+    ln -s /host-etc/resolv.conf etc/resolv.conf
+    ln -s /host-etc/nsswitch.conf etc/nsswitch.conf
+
+    # symlink other core stuff
+    ln -s /host-etc/localtime etc/localtime
+    ln -s /host-etc/machine-id etc/machine-id
+
+    # symlink PAM stuff
+    rm -rf etc/pam.d
+    ln -s /host-etc/pam.d etc/pam.d
+
+    # symlink fonts stuff
+    rm -rf etc/fonts
+    ln -s /host-etc/fonts etc/fonts
+
+    # symlink ALSA stuff
+    ln -s /host-etc/asound.conf etc/asound.conf
+  '';
+
+in nixpkgs.stdenv.mkDerivation {
+  name         = "${name}-fhs";
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    ${setupTargetProfile}
+    ${setupMultiProfile}
+    ${setupEtc}
+    cd $out
+    ${extraBuildCommands}
+    cd $out
+    ${if isMultiBuild then extraBuildCommandsMulti else ""}
+  '';
+  preferLocalBuild = true;
+  passthru = {
+    pname = name;
+  };
+}
diff --git a/pkgs/build-support/build-fhs-chrootenv/init.sh.in b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
index 5b0ab94bc4e..9078a31fe46 100644
--- a/pkgs/build-support/build-fhs-chrootenv/init.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/init.sh.in
@@ -6,43 +6,17 @@ chrootenvDest=/run/chrootenv/@name@
 mkdir -p $chrootenvDest/{nix/store,dev,proc,sys,host-etc,home,var,run}
 
 # Symlink the software that should be part of the chroot system profile
-for i in @chrootEnv@/sw/*
+for i in @chrootEnv@/*
 do
-    if [ "$i" != "@chrootEnv@/sw/etc" ] && [ "$i" != "@chrootEnv@/sw/var" ]
+    if [ "$i" != "@chrootEnv@/var" ]
     then
         ln -s "$i" "$chrootenvDest"
     fi
 done
 
-# Symlink the contents of the chroot software's /etc
-
-mkdir $chrootenvDest/etc
-
-for i in @chrootEnv@/sw/etc/*
-do
-    ln -s "$i" $chrootenvDest/etc
-done
-
-# Symlink some NSS stuff
-ln -s ../host-etc/passwd $chrootenvDest/etc/passwd
-ln -s ../host-etc/group $chrootenvDest/etc/group
-ln -s ../host-etc/shadow $chrootenvDest/etc/shadow
-ln -s ../host-etc/hosts $chrootenvDest/etc/hosts
-ln -s ../host-etc/resolv.conf $chrootenvDest/etc/resolv.conf
-ln -s ../host-etc/nsswitch.conf $chrootenvDest/etc/nsswitch.conf
-
-# Symlink PAM stuff
-rm $chrootenvDest/etc/pam.d
-ln -s ../host-etc/static/pam.d $chrootenvDest/etc/pam.d
-
-# Symlink Font stuff
-mkdir -p $chrootenvDest/etc/fonts
-ln -s ../../host-etc/static/fonts/fonts.conf $chrootenvDest/etc/fonts
-mkdir -p $chrootenvDest/etc/fonts/conf.d
-ln -s ../../../host-etc/static/fonts/conf.d/00-nixos.conf $chrootenvDest/etc/fonts/conf.d
-
 # Create root folder
 mkdir $chrootenvDest/root
 
 # Create tmp folder
-mkdir -m1777 $chrootenvDest/tmp
+mkdir -m1777    $chrootenvDest/tmp
+mkdir -m1777 -p /tmp/chrootenv-@name@
diff --git a/pkgs/build-support/build-fhs-chrootenv/load.sh.in b/pkgs/build-support/build-fhs-chrootenv/load.sh.in
index 6089fa27585..99da20c34b2 100644
--- a/pkgs/build-support/build-fhs-chrootenv/load.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/load.sh.in
@@ -3,4 +3,10 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Enter the LFS chroot environment
-sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="$HOME" PATH="/bin:/sbin" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" /bin/bash --login
+sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i \
+     TERM="$TERM" \
+     DISPLAY="$DISPLAY" \
+     HOME="$HOME" \
+     XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \
+     LANG="$LANG" \
+     /bin/bash --login
diff --git a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
index 225d9dbc4f7..ef2cac21c21 100644
--- a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in
@@ -21,3 +21,6 @@ mount --rbind /run $chrootenvDest/run
 
 # Bind mount the host system's /etc
 mount --bind /etc $chrootenvDest/host-etc
+
+# Bind mount /tmp
+mount --bind /tmp/chrootenv-@name@ $chrootenvDest/tmp
diff --git a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
index 5089141c0aa..b8222a4121a 100644
--- a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
+++ b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in
@@ -3,4 +3,4 @@
 chrootenvDest=/run/chrootenv/@name@
 
 # Unmount all (r)bind mounts
-umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run}
+umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,tmp,run}
diff --git a/pkgs/build-support/build-fhs-userenv/chroot-user.rb b/pkgs/build-support/build-fhs-userenv/chroot-user.rb
new file mode 100755
index 00000000000..3e140fac97e
--- /dev/null
+++ b/pkgs/build-support/build-fhs-userenv/chroot-user.rb
@@ -0,0 +1,157 @@
+#!/usr/bin/env ruby
+
+# Bind mounts hierarchy: [from, to (relative)]
+# If 'to' is nil, path will be the same
+mounts = [ ['/nix/store', nil],
+           ['/dev', nil],
+           ['/proc', nil],
+           ['/sys', nil],
+           ['/etc', 'host-etc'],
+           ['/home', nil],
+           ['/var', nil],
+           ['/run', nil],
+           ['/root', nil],
+         ].map! { |x| [ x[0], x[1].nil? ? x[0].sub(/^\/*/, '') : x[1] ] }
+
+# Create directories
+mkdirs = ['tmp',
+         ]
+
+require 'tmpdir'
+require 'fileutils'
+require 'pathname'
+require 'set'
+require 'fiddle'
+
+def write_file(path, str)
+  File.open(path, 'w') { |file| file.write str }
+end
+
+# Import C standard library and several needed calls
+$libc = Fiddle.dlopen nil
+
+def make_fcall(name, args, output)
+  c = Fiddle::Function.new $libc[name], args, output
+  lambda do |*args|
+    ret = c.call *args
+    raise SystemCallError.new Fiddle.last_error if ret < 0
+    return ret
+  end
+end
+
+$fork = make_fcall 'fork', [], Fiddle::TYPE_INT
+
+CLONE_NEWNS   = 0x00020000
+CLONE_NEWUSER = 0x10000000
+$unshare = make_fcall 'unshare', [Fiddle::TYPE_INT], Fiddle::TYPE_INT
+
+MS_BIND = 0x1000
+MS_REC  = 0x4000
+$mount = make_fcall 'mount', [Fiddle::TYPE_VOIDP,
+                              Fiddle::TYPE_VOIDP,
+                              Fiddle::TYPE_VOIDP,
+                              Fiddle::TYPE_LONG,
+                              Fiddle::TYPE_VOIDP],
+                    Fiddle::TYPE_INT
+
+# Read command line args
+abort "Usage: chrootenv swdir program args..." unless ARGV.length >= 2
+swdir = Pathname.new ARGV[0]
+execp = ARGV.drop 1
+
+# Create temporary directory for root and chdir
+root = Dir.mktmpdir 'chrootenv'
+
+# Fork process; we need this to do a proper cleanup because
+# child process will chroot into temporary directory.
+# We use imported 'fork' instead of native to overcome
+# CRuby's meddling with threads; this should be safe because
+# we don't use threads at all.
+$cpid = $fork.call
+if $cpid == 0
+  # Save user UID and GID
+  uid = Process.uid
+  gid = Process.gid
+
+  # Create new mount and user namespaces
+  # CLONE_NEWUSER requires a program to be non-threaded, hence
+  # native fork above.
+  $unshare.call CLONE_NEWNS | CLONE_NEWUSER
+
+  # Map users and groups to the parent namespace
+  begin
+    # setgroups is only available since Linux 3.19
+    write_file '/proc/self/setgroups', 'deny'
+  rescue
+  end
+  write_file '/proc/self/uid_map', "#{uid} #{uid} 1"
+  write_file '/proc/self/gid_map', "#{gid} #{gid} 1"
+
+  # Do mkdirs
+  mkdirs.each { |x| FileUtils.mkdir_p x }
+
+  # Do rbind mounts.
+  mounts.each do |x|
+    to = "#{root}/#{x[1]}"
+    FileUtils.mkdir_p to
+    $mount.call x[0], to, nil, MS_BIND | MS_REC, nil
+  end
+
+  # Chroot!
+  Dir.chroot root
+  Dir.chdir '/'
+
+  # Symlink swdir hierarchy
+  mount_dirs = Set.new mounts.map { |x| Pathname.new x[1] }
+  link_swdir = lambda do |swdir, prefix|
+    swdir.find do |path|
+      rel = prefix.join path.relative_path_from(swdir)
+      # Don't symlink anything in binded or symlinked directories
+      Find.prune if mount_dirs.include? rel or rel.symlink?
+      if not rel.directory?
+        # File does not exist; make a symlink and bail out
+        rel.make_symlink path
+        Find.prune
+      end
+      # Recursively follow symlinks
+      link_swdir.call path.readlink, rel if path.symlink?
+    end
+  end
+  link_swdir.call swdir, Pathname.new('')
+
+  # New environment
+  ENV.replace({ 'TERM' => ENV['TERM'],
+                'DISPLAY' => ENV['DISPLAY'],
+                'HOME' => ENV['HOME'],
+                'XDG_RUNTIME_DIR' => ENV['XDG_RUNTIME_DIR'],
+                'LANG' => ENV['LANG'],
+              })
+
+  # Finally, exec!
+  exec *execp
+end
+
+# Wait for a child. If we catch a signal, resend it to child and continue
+# waiting.
+def wait_child
+  begin
+    Process.wait
+
+    # Return child's exit code
+    if $?.exited?
+      exit $?.exitstatus
+      else
+      exit 1
+    end
+  rescue SignalException => e
+    Process.kill e.signo, $cpid
+    wait_child
+  end
+end
+
+begin
+  wait_child
+ensure
+  # Cleanup
+  FileUtils.rm_rf root, secure: true
+end
diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix
new file mode 100644
index 00000000000..67484857ee1
--- /dev/null
+++ b/pkgs/build-support/build-fhs-userenv/default.nix
@@ -0,0 +1,37 @@
+{ writeTextFile, stdenv, ruby } : { env, runScript } :
+
+let
+  name = env.pname;
+
+  # Sandboxing script
+  chroot-user = writeTextFile {
+    name = "chroot-user";
+    executable = true;
+    destination = "/bin/chroot-user";
+    text = ''
+      #! ${ruby}/bin/ruby
+      ${builtins.readFile ./chroot-user.rb}
+    '';
+  };
+
+in stdenv.mkDerivation {
+  name = "${name}-userenv";
+  buildInputs = [ ruby ];
+  preferLocalBuild = true;
+  buildCommand = ''
+    mkdir -p $out/bin
+    cat > $out/bin/${name} <<EOF
+    #! ${stdenv.shell}
+    exec ${chroot-user}/bin/chroot-user ${env} $out/libexec/run "\$@"
+    EOF
+    chmod +x $out/bin/${name}
+
+    mkdir -p $out/libexec
+    cat > $out/libexec/run <<EOF
+    #! ${stdenv.shell}
+    source /etc/profile
+    ${runScript} "\$@"
+    EOF
+    chmod +x $out/libexec/run
+  '';
+}
diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix
index 135b68186f3..5837d413abc 100644
--- a/pkgs/build-support/build-pecl.nix
+++ b/pkgs/build-support/build-pecl.nix
@@ -20,4 +20,6 @@ stdenv.mkDerivation (args // {
   makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
 
   autoreconfPhase = "phpize";
+
+  preConfigure = "touch unix.h";
 })
diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix
index 5c9ec402d4b..42d8f35b076 100644
--- a/pkgs/build-support/builder-defs/builder-defs.nix
+++ b/pkgs/build-support/builder-defs/builder-defs.nix
@@ -23,6 +23,7 @@ let inherit (builtins) head tail trace; in
                 else if hasSuffixHack ".tar.Z" s then "tZ" 
                 else if hasSuffixHack ".tar.lzma" s then "tar.lzma"
                 else if hasSuffixHack ".tar.xz" s then "tar.xz"
+                else if hasSuffixHack ".rar" s then "rar"
                 else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip"
                 else if hasSuffixHack "-cvs-export" s then "cvs-dir"
                 else if hasSuffixHack "-git-export" s then "git-dir"
@@ -100,13 +101,13 @@ let inherit (builtins) head tail trace; in
                 ${stdenv.preHook}
                 
                 set -e
-                NIX_GCC=${stdenv.gcc}
+                NIX_CC=${stdenv.cc}
                 export SHELL=${stdenv.shell}
                 PATH_DELIMITER=':'
                 
                 # Set up the initial path.
                 PATH=
-                for i in \$NIX_GCC ${toString stdenv.initialPath}; do
+                for i in \$NIX_CC ${toString stdenv.initialPath}; do
                     PATH=\$PATH\${PATH:+\"\${PATH_DELIMITER}\"}\$i/bin
                 done
 
@@ -138,7 +139,7 @@ let inherit (builtins) head tail trace; in
                 }
 
                 pkgs=\"\"
-                for i in \$NIX_GCC ${toString realBuildInputs}; do
+                for i in \$NIX_CC ${toString realBuildInputs}; do
                     findInputs \$i
                 done
 
@@ -213,6 +214,9 @@ let inherit (builtins) head tail trace; in
         " else if (archiveType s) == "tar.xz" then "
                 xz -d -c <'${s}' | tar xv
                 cd \"\$(xz -d -c <'${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
+        " else if (archiveType s) == "rar" then "
+                unrar x '${s}'
+                cd \"$(unrar lb '${s}' | tail -1 | sed -e 's@/.*@@' )\"
         " else if (archiveType s) == "zip" then "
                 unzip '${s}'
                 cd \"$( unzip -lqq '${s}' | tail -1 | 
diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix
index d73b4a1f364..bf88a0d48e2 100644
--- a/pkgs/build-support/cabal/default.nix
+++ b/pkgs/build-support/cabal/default.nix
@@ -1,13 +1,14 @@
 # generic builder for Cabal packages
 
 { stdenv, fetchurl, lib, pkgconfig, ghc, Cabal, jailbreakCabal, glibcLocales
-, gnugrep, coreutils, hscolour
+, gnugrep, coreutils, hscolour, cpphs
 , enableLibraryProfiling ? false
 , enableSharedLibraries ? false
 , enableSharedExecutables ? false
 , enableStaticLibraries ? true
 , enableCheckPhase ? stdenv.lib.versionOlder "7.4" ghc.version
 , enableHyperlinkSource ? true
+, enableCpphs ? false
 , extension ? (self : super : {})
 }:
 
@@ -56,7 +57,15 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
                 propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
                 propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
                 doCheck               = enableCheckPhase && x.doCheck;
+                useCpphs              = enableCpphs && x.useCpphs;
                 hyperlinkSource       = enableHyperlinkSource && x.hyperlinkSource;
+                # Disable Darwin builds: <https://github.com/NixOS/nixpkgs/issues/2689>.
+                meta                  = let meta = x.meta or {};
+                                            hydraPlatforms = meta.hydraPlatforms or meta.platforms or [];
+                                            noElem         = p: ps: !stdenv.lib.elem p ps;
+                                            noDarwin       = p: noElem p stdenv.lib.platforms.darwin;
+                                        in
+                                        meta // { hydraPlatforms = filter noDarwin hydraPlatforms; };
               };
 
         defaults =
@@ -98,6 +107,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
             extraBuildInputs = self.buildTools ++
                                (optionals self.doCheck self.testDepends) ++
                                (optional self.hyperlinkSource hscolour) ++
+                               (optional self.useCpphs cpphs) ++
                                (if self.pkgconfigDepends == [] then [] else [pkgconfig]) ++
                                (if self.isLibrary then [] else self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends);
 
@@ -146,6 +156,10 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
             # and run any regression test suites the package might have
             doCheck = enableCheckPhase;
 
+            # force cpphs instead of the C compiler's preprocessor; sometimes
+            # needed due to clang's wacky behavior
+            useCpphs = false;
+
             # pass the '--hyperlink-source' flag to ./Setup haddock
             hyperlinkSource = enableHyperlinkSource;
 
@@ -182,12 +196,21 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
             configurePhase = ''
               eval "$preConfigure"
 
-              ${optionalString self.jailbreak "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
+              ${let newCabalFile = fetchurl {
+                      url = "http://hackage.haskell.org/package/${self.fname}/${self.pname}.cabal";
+                      sha256 = self.editedCabalFile;
+                    };
+                in
+                  optionalString (self.editedCabalFile or "" != "") ''
+                    echo "Replace Cabal file with edited version ${newCabalFile}."
+                    cp ${newCabalFile} ${self.pname}.cabal
+                  ''
+              }${optionalString self.jailbreak "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
 
               for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
                 test -f $i && break
               done
-              ghc --make -o Setup -odir $TMPDIR $i
+              ghc --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
 
               for p in $extraBuildInputs $propagatedNativeBuildInputs; do
                 if [ -d "$p/lib/ghc-${ghc.ghc.version}/package.conf.d" ]; then
@@ -204,15 +227,24 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
                 done
               done
 
+              configureFlags+=" --with-gcc=$CC"
+
               ${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) ''
                 configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"
               ''}
               ${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
                 configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"
               ''}
-              ${optionalString (versionOlder "7.8" ghc.version) ''
+              ${optionalString (versionOlder "7.8" ghc.version && !self.isLibrary) ''
                 configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
               ''}
+              ${optionalString self.useCpphs ''
+                configureFlags+=" --ghc-option=-pgmPcpphs --ghc-option=-optP--cpp"
+              ''}
+
+              ${optionalString self.stdenv.isDarwin ''
+                configureFlags+=" --with-gcc=clang"
+              ''}
 
               echo "configure flags: $extraConfigureFlags $configureFlags"
               ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
@@ -236,7 +268,11 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
 
               export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
               test -n "$noHaddock" || ./Setup haddock --html --hoogle \
-                  ${optionalString self.hyperlinkSource "--hyperlink-source"}
+                  ${optionalString (stdenv.lib.versionOlder "6.12" ghc.version) "--ghc-options=-optP-P"} \
+                  ${optionalString self.hyperlinkSource "--hyperlink-source"} \
+                  ${optionalString self.useCpphs ''
+                    --haddock-options="--optghc=-pgmPcpphs --optghc=-optP--cpp"
+                  ''}
 
               eval "$postBuild"
             '';
diff --git a/pkgs/build-support/cc-wrapper/add-flags b/pkgs/build-support/cc-wrapper/add-flags
new file mode 100644
index 00000000000..d4836153904
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/add-flags
@@ -0,0 +1,28 @@
+# `-B@out@/bin' forces gcc to use ld-wrapper.sh when calling ld.
+export NIX_CFLAGS_COMPILE="-B@out@/bin/ $NIX_CFLAGS_COMPILE"
+
+if [ -e @out@/nix-support/libc-cflags ]; then
+    export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE"
+fi
+
+if [ -e @out@/nix-support/gcc-cflags ]; then
+    export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE"
+fi
+
+if [ -e @out@/nix-support/gnat-cflags ]; then
+    export NIX_GNATFLAGS_COMPILE="$(cat @out@/nix-support/gnat-cflags) $NIX_GNATFLAGS_COMPILE"
+fi
+
+if [ -e @out@/nix-support/libc-ldflags ]; then
+    export NIX_LDFLAGS+=" $(cat @out@/nix-support/libc-ldflags)"
+fi
+
+if [ -e @out@/nix-support/gcc-ldflags ]; then
+    export NIX_LDFLAGS+=" $(cat @out@/nix-support/cc-ldflags)"
+fi
+
+if [ -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/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
new file mode 100644
index 00000000000..e374e1656a4
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -0,0 +1,152 @@
+#! @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
+
+if [[ "@prog@" = *++ ]]; then
+    if  echo "$@" | grep -qv -- -nostdlib; then
+        NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${NIX_CXXSTDLIB_COMPILE-@default_cxx_stdlib_compile@}"
+        NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK $NIX_CXXSTDLIB_LINK"
+    fi
+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"'
+        -Wno-builtin-macro-redefined)
+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/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
new file mode 100644
index 00000000000..c26cac24b2f
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -0,0 +1,275 @@
+# The Nixpkgs CC 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. So we use a wrapper
+# script that sets up the right environment variables so that the
+# compiler and the linker just "work".
+
+{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
+, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
+, zlib ? null, extraPackages ? []
+, dyld ? null # TODO: should this be a setup-hook on dyld?
+, setupHook ? ./setup-hook.sh
+}:
+
+with stdenv.lib;
+
+assert nativeTools -> nativePrefix != "";
+assert !nativeTools -> cc != null && binutils != null && coreutils != null;
+assert !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
+
+  ccVersion = (builtins.parseDrvName cc.name).version;
+  ccName = (builtins.parseDrvName cc.name).name;
+
+  libc_bin = if nativeLibc then null else libc.bin or libc;
+  libc_dev = if nativeLibc then null else libc.dev or libc;
+  binutils_bin = if nativeTools then null else binutils.bin or binutils;
+  # The wrapper scripts use 'cat', so we may need coreutils.
+  coreutils_bin = if nativeTools then null else coreutils.bin or coreutils;
+in
+
+stdenv.mkDerivation {
+  name =
+    (if name != "" then name else ccName + "-wrapper") +
+    (if cc != null && ccVersion != "" then "-" + ccVersion else "");
+
+  preferLocalBuild = true;
+
+  inherit cc shell libc_bin libc_dev binutils_bin coreutils_bin;
+
+  passthru = { inherit libc nativeTools nativeLibc nativePrefix; };
+
+  buildCommand =
+    ''
+      mkdir -p $out/bin $out/nix-support
+
+      wrap() {
+        local dst="$1"
+        local wrapper="$2"
+        export prog="$3"
+        substituteAll "$wrapper" "$out/bin/$dst"
+        chmod +x "$out/bin/$dst"
+      }
+    ''
+
+    + optionalString (!nativeLibc) (if (!stdenv.isDarwin) then ''
+      dynamicLinker="${libc}/lib/$dynamicLinker"
+      echo $dynamicLinker > $out/nix-support/dynamic-linker
+
+      if [ -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 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
+    '' else ''
+      echo $dynamicLinker > $out/nix-support/dynamic-linker
+
+      echo "export LD_DYLD_PATH=\"$dynamicLinker\"" >> $out/nix-support/setup-hook
+    '')
+
+    + optionalString (!nativeLibc) ''
+      # 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 $cc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags
+
+      echo "-L${libc}/lib" > $out/nix-support/libc-ldflags
+
+      echo "${libc}" > $out/nix-support/orig-libc
+    ''
+
+    + (if nativeTools then ''
+      ccPath="${if stdenv.isDarwin then cc else nativePrefix}/bin"
+      ldPath="${nativePrefix}/bin"
+    '' else ''
+      echo $cc > $out/nix-support/orig-cc
+
+      # GCC shows $cc/lib in `gcc -print-search-dirs', but not
+      # $cc/lib64 (even though it does actually search there...)..
+      # This confuses libtool.  So add it to the compiler tool search
+      # path explicitly.
+      if [ -e "$cc/lib64" -a ! -L "$cc/lib64" ]; then
+        ccLDFlags+=" -L$cc/lib64"
+        ccCFlags+=" -B$cc/lib64"
+      fi
+      ccLDFlags+=" -L$cc/lib"
+
+      ${optionalString cc.langVhdl or false ''
+        ccLDFlags+=" -L${zlib}/lib"
+      ''}
+
+      # Find the gcc libraries path (may work only without multilib).
+      ${optionalString cc.langAda or false ''
+        basePath=`echo $cc/lib/*/*/*`
+        ccCFlags+=" -B$basePath -I$basePath/adainclude"
+        gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib"
+        echo "$gnatCFlags" > $out/nix-support/gnat-cflags
+      ''}
+
+      if [ -e $ccPath/clang ]; then
+        # Need files like crtbegin.o from gcc
+        # It's unclear if these will ever be provided by an LLVM project
+        ccCFlags="$ccCFlags -B$basePath"
+        ccCFlags="$ccCFlags -isystem$cc/lib/clang/$ccVersion/include"
+      fi
+
+      echo "$ccLDFlags" > $out/nix-support/cc-ldflags
+      echo "$ccCFlags" > $out/nix-support/cc-cflags
+
+      ccPath="$cc/bin"
+      ldPath="${binutils_bin}/bin"
+
+      # 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).
+      echo ${cc} ${binutils_bin} ${libc_bin} > $out/nix-support/propagated-user-env-packages
+
+      echo ${toString extraPackages} > $out/nix-support/propagated-native-build-inputs
+    ''
+
+    + optionalString (stdenv.isSunOS && nativePrefix != "") ''
+      # Solaris needs an additional ld wrapper.
+      ldPath="${nativePrefix}/bin"
+      ld="$out/bin/ld-solaris"
+      wrap ld-solaris ${./ld-solaris-wrapper.sh}
+    '')
+
+    + ''
+      # Create a symlink to as (the assembler).  This is useful when a
+      # cc-wrapper is installed in a user environment, as it ensures that
+      # the right assembler is called.
+      if [ -e $ldPath/as ]; then
+        ln -s $ldPath/as $out/bin/as
+      fi
+
+      wrap ld ${./ld-wrapper.sh} ''${ld:-$ldPath/ld}
+
+      if [ -e ${binutils_bin}/bin/ld.gold ]; then
+        wrap ld.gold ${./ld-wrapper.sh} ${binutils_bin}/bin/ld.gold
+      fi
+
+      if [ -e ${binutils_bin}/bin/ld.bfd ]; then
+        wrap ld.bfd ${./ld-wrapper.sh} ${binutils_bin}/bin/ld.bfd
+      fi
+
+      export real_cc=cc
+      export real_cxx=c++
+      export default_cxx_stdlib_compile="${
+        if stdenv.isLinux && !(cc.isGNU or false)
+          then "-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)"
+          else ""
+      }"
+
+      if [ -e $ccPath/gcc ]; then
+        wrap gcc ${./cc-wrapper.sh} $ccPath/gcc
+        ln -s gcc $out/bin/cc
+        export real_cc=gcc
+        export real_cxx=g++
+      elif [ -e $ccPath/clang ]; then
+        wrap clang ${./cc-wrapper.sh} $ccPath/clang
+        ln -s clang $out/bin/cc
+        export real_cc=clang
+        export real_cxx=clang++
+      fi
+
+      if [ -e $ccPath/g++ ]; then
+        wrap g++ ${./cc-wrapper.sh} $ccPath/g++
+        ln -s g++ $out/bin/c++
+      elif [ -e $ccPath/clang++ ]; then
+        wrap clang++ ${./cc-wrapper.sh} $ccPath/clang++
+        ln -s clang++ $out/bin/c++
+      fi
+
+      if [ -e $ccPath/cpp ]; then
+        wrap cpp ${./cc-wrapper.sh} $ccPath/cpp
+      fi
+    ''
+
+    + optionalString cc.langFortran or false ''
+      wrap gfortran ${./cc-wrapper.sh} $ccPath/gfortran
+      ln -sv gfortran $out/bin/g77
+      ln -sv gfortran $out/bin/f77
+    ''
+
+    + optionalString cc.langJava or false ''
+      wrap gcj ${./cc-wrapper.sh} $ccPath/gcj
+    ''
+
+    + optionalString cc.langGo or false ''
+      wrap gccgo ${./cc-wrapper.sh} $ccPath/gccgo
+    ''
+
+    + optionalString cc.langAda or false ''
+      wrap gnatgcc ${./cc-wrapper.sh} $ccPath/gnatgcc
+      wrap gnatmake ${./gnat-wrapper.sh} $ccPath/gnatmake
+      wrap gnatbind ${./gnat-wrapper.sh} $ccPath/gnatbind
+      wrap gnatlink ${./gnatlink-wrapper.sh} $ccPath/gnatlink
+    ''
+
+    + optionalString cc.langVhdl or false ''
+      ln -s $ccPath/ghdl $out/bin/ghdl
+    ''
+
+    + ''
+      substituteAll ${setupHook} $out/nix-support/setup-hook.tmp
+      cat $out/nix-support/setup-hook.tmp >> $out/nix-support/setup-hook
+      rm $out/nix-support/setup-hook.tmp
+
+      substituteAll ${./add-flags} $out/nix-support/add-flags.sh
+      cp -p ${./utils.sh} $out/nix-support/utils.sh
+    '';
+
+  # The dynamic linker has different names on different Linux platforms.
+  dynamicLinker =
+    if !nativeLibc then
+      (if stdenv.system == "i686-linux" then "ld-linux.so.2" else
+       if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
+       # ARM with a wildcard, which can be "" or "-armhf".
+       if stdenv.isArm then "ld-linux*.so.3" else
+       if stdenv.system == "powerpc-linux" then "ld.so.1" else
+       if stdenv.system == "mips64el-linux" then "ld.so.1" else
+       if stdenv.system == "x86_64-darwin" then "${dyld}/lib/dyld" else
+       abort "Don't know the name of the dynamic linker for this platform.")
+    else "";
+
+  crossAttrs = {
+    shell = shell.crossDrv + shell.crossDrv.shellPath;
+    libc = stdenv.ccCross.libc;
+    coreutils = coreutils.crossDrv;
+    binutils = binutils.crossDrv;
+    cc = cc.crossDrv;
+    #
+    # This is not the best way to do this. I think the reference should be
+    # the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
+    # do this sufficient if/else.
+    dynamicLinker =
+      (if stdenv.cross.arch == "arm" then "ld-linux.so.3" else
+       if stdenv.cross.arch == "mips" then "ld.so.1" else
+       if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else
+       abort "don't know the name of the dynamic linker for this platform");
+  };
+
+  meta =
+    let cc_ = if cc != null then cc else {}; in
+    (if cc_ ? meta then removeAttrs cc.meta ["priority"] else {}) //
+    { description =
+        stdenv.lib.attrByPath ["meta" "description"] "System C compiler" cc_
+        + " (wrapper script)";
+    };
+}
diff --git a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh
new file mode 100644
index 00000000000..3514ccd6732
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh
@@ -0,0 +1,103 @@
+#! @shell@ -e
+
+if [ -n "$NIX_GNAT_WRAPPER_START_HOOK" ]; then
+    source "$NIX_GNAT_WRAPPER_START_HOOK"
+fi
+
+if [ -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 [ "$i" = -c ]; then
+        dontLink=1
+    elif [ "$i" = -M ]; then
+        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:0:3}" = -I/ ] && badPath "${p:2}"; then
+            skip $p
+        elif [ "${p:0:4}" = -aI/ ] && badPath "${p:3}"; then
+            skip $p
+        elif [ "${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 [ -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_GNAT_WRAPPER_EXEC_HOOK" ]; then
+    source "$NIX_GNAT_WRAPPER_EXEC_HOOK"
+fi
+
+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
new file mode 100644
index 00000000000..c9958dbbb41
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh
@@ -0,0 +1,33 @@
+#! @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 [ -n "$NIX_DEBUG" ]; then
+  echo "original flags to @prog@:" >&2
+  for i in "$@"; 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_GNAT_WRAPPER_EXEC_HOOK" ]; then
+    source "$NIX_GNAT_WRAPPER_EXEC_HOOK"
+fi
+
+exec @prog@ ${extraBefore[@]} "$@" ${extraAfter[@]}
diff --git a/pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh
new file mode 100644
index 00000000000..9216ea3198d
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/ld-solaris-wrapper.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+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="@prog@ -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/cc-wrapper/ld-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-wrapper.sh
new file mode 100644
index 00000000000..30c531b7647
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/ld-wrapper.sh
@@ -0,0 +1,166 @@
+#! @shell@ -e
+
+if [ -n "$NIX_LD_WRAPPER_START_HOOK" ]; then
+    source "$NIX_LD_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
+
+
+# Optionally filter out paths not refering to the store.
+params=("$@")
+if [ "$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 [ $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" = -rpath ] && badPath "$p2"; then
+            n=$((n + 1)); skip $p2
+        elif [ "$p" = -dynamic-linker ] && badPath "$p2"; then
+            n=$((n + 1)); skip $p2
+        elif [ "${p:0:1}" = / ] && badPath "$p"; then
+            # We cannot skip this; barf.
+            echo "impure path \`$p' used in link" >&2
+            exit 1
+        elif [ "${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 [ -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 [ "$NIX_DONT_SET_RPATH" != 1 ]; then
+
+    libPath=""
+    addToLibPath() {
+        local path="$1"
+        if [ "${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 [ "${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 [ $n -lt ${#allParams[*]} ]; do
+        p=${allParams[n]}
+        p2=${allParams[$((n+1))]}
+        if [ "${p:0:3}" = -L/ ]; then
+            addToLibPath ${p:2}
+        elif [ "$p" = -L ]; then
+            addToLibPath ${p2}
+            n=$((n + 1))
+        elif [ "$p" = -l ]; then
+            addToLibs ${p2}
+            n=$((n + 1))
+        elif [ "${p:0:2}" = -l ]; then
+            addToLibs ${p:2}
+        elif [ "$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 [ -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 [ -n "$NIX_DEBUG" ]; then
+  echo "original flags to @prog@:" >&2
+  for i in "${params[@]}"; do
+      echo "  $i" >&2
+  done
+  echo "extra flags to @prog@:" >&2
+  for i in ${extra[@]}; do
+      echo "  $i" >&2
+  done
+fi
+
+if [ -n "$NIX_LD_WRAPPER_EXEC_HOOK" ]; then
+    source "$NIX_LD_WRAPPER_EXEC_HOOK"
+fi
+
+exec @prog@ ${extraBefore[@]} "${params[@]}" ${extra[@]}
diff --git a/pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh b/pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh
new file mode 100644
index 00000000000..0ddf759ec7d
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh
@@ -0,0 +1,44 @@
+# This is an alternate setup hook for gcc-wrapper that uses the -I flag to
+# add include search paths instead of -isystem. We need this for some packages
+# because -isystem can change the search order specified by prior -I flags.
+# Changing the search order can point gcc to the wrong package's headers.
+# The -I flag will never change the order of prior flags.
+
+export NIX_CC=@out@
+
+addCVars () {
+    if [ -d $1/include ]; then
+        export NIX_CFLAGS_COMPILE+=" -I $1/include"
+    fi
+
+    if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
+        export NIX_LDFLAGS+=" -L$1/lib64"
+    fi
+
+    if [ -d $1/lib ]; then
+        export NIX_LDFLAGS+=" -L$1/lib"
+    fi
+}
+
+envHooks+=(addCVars)
+
+# Note: these come *after* $out in the PATH (see setup.sh).
+
+if [ -n "@gcc@" ]; then
+    addToSearchPath PATH @gcc@/bin
+fi
+
+if [ -n "@binutils_bin@" ]; then
+    addToSearchPath PATH @binutils_bin@/bin
+fi
+
+if [ -n "@libc_bin@" ]; then
+    addToSearchPath PATH @libc_bin@/bin
+fi
+
+if [ -n "@coreutils_bin@" ]; then
+    addToSearchPath PATH @coreutils_bin@/bin
+fi
+
+export CC=gcc
+export CXX=g++
diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh
new file mode 100644
index 00000000000..e8ab44b3d6f
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -0,0 +1,47 @@
+export NIX_CC=@out@
+
+addCVars () {
+    if [ -d $1/include ]; then
+        export NIX_CFLAGS_COMPILE+=" -isystem $1/include"
+    fi
+
+    if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
+        export NIX_LDFLAGS+=" -L$1/lib64"
+    fi
+
+    if [ -d $1/lib ]; then
+        export NIX_LDFLAGS+=" -L$1/lib"
+    fi
+
+    if test -d $1/Library/Frameworks; then
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -F$1/Library/Frameworks"
+    fi
+}
+
+envHooks+=(addCVars)
+
+# Note: these come *after* $out in the PATH (see setup.sh).
+
+if [ -n "@cc@" ]; then
+    addToSearchPath PATH @cc@/bin
+fi
+
+if [ -n "@binutils_bin@" ]; then
+    addToSearchPath PATH @binutils_bin@/bin
+fi
+
+if [ -n "@libc_bin@" ]; then
+    addToSearchPath PATH @libc_bin@/bin
+fi
+
+if [ -n "@coreutils_bin@" ]; then
+    addToSearchPath PATH @coreutils_bin@/bin
+fi
+
+if [ -z "$crossConfig" ]; then
+    export CC=@real_cc@
+    export CXX=@real_cxx@
+else
+    export BUILD_CC=@real_cc@
+    export BUILD_CXX=@real_cxx@
+fi
diff --git a/pkgs/build-support/cc-wrapper/utils.sh b/pkgs/build-support/cc-wrapper/utils.sh
new file mode 100644
index 00000000000..3ab512d85c4
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/utils.sh
@@ -0,0 +1,24 @@
+skip () {
+    if [ -n "$NIX_DEBUG" ]; 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 [ "${p:0:1}" != / ]; then return 1; fi
+
+    # 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/clang-wrapper/add-flags b/pkgs/build-support/clang-wrapper/add-flags
deleted file mode 100644
index 7a9711290aa..00000000000
--- a/pkgs/build-support/clang-wrapper/add-flags
+++ /dev/null
@@ -1,24 +0,0 @@
-# `-B@out@/bin' forces clang 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/clang-cflags; then
-    export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/clang-cflags) $NIX_CFLAGS_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/clang-ldflags; then
-    export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/clang-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_GCC_WRAPPER_FLAGS_SET=1
diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh
deleted file mode 100644
index 0cdb2b96135..00000000000
--- a/pkgs/build-support/clang-wrapper/builder.sh
+++ /dev/null
@@ -1,137 +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 clang 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.)
-    echo "-B$libc/lib/ -idirafter $libc/include" > $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 clang/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
-    clangPath="$nativePrefix/bin"
-    ldPath="$nativePrefix/bin"
-else
-    basePath=`echo $gcc/lib/*/*/*`
-    # Need libgcc until the llvm compiler-rt library is complete
-    clangLDFlags="$clangLDFlags -L$basePath"
-    if test -e "$gcc/lib64"; then
-        clangLDFlags="$clangLDFlags -L$gcc/lib64"
-    else
-        clangLDFlags="$clangLDFlags -L$gcc/lib"
-    fi
-
-    clangLDFlags="$clangLDFlags -L$clang/lib"
-    echo "$clangLDFlags" > $out/nix-support/clang-ldflags
-
-    # Need files like crtbegin.o from gcc
-    # It's unclear if these will ever be provided by an LLVM project
-    clangCFlags="$clangCFlags -B$basePath"
-
-    clangCFlags="$clangCFlags -isystem$clang/lib/clang/$clangVersion/include"
-    echo "$clangCFlags" > $out/nix-support/clang-cflags
-    
-    clangPath="$clang/bin"
-    ldPath="$binutils/bin"
-fi
-
-
-doSubstitute() {
-    local src=$1
-    local dst=$2
-    local uselibcxx=
-    local uselibcxxabi=
-    if test -n "$libcxx" && echo $dst | fgrep ++; then uselibcxx=$libcxx; fi
-    if test -n "$libcxxabi" && echo $dst | fgrep ++; then uselibcxxabi=$libcxxabi; 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^@libcxx@^$uselibcxx^g" \
-        -e "s^@libcxxabi@^$uselibcxxabi^g" \
-        -e "s^@clang@^$clang^g" \
-        -e "s^@clangProg@^$clangProg^g" \
-        -e "s^@binutils@^$binutils^g" \
-        -e "s^@coreutils@^$coreutils^g" \
-        -e "s^@libc@^$libc^g" \
-        -e "s^@ld@^$ldPath/ld^g" \
-        < "$src" > "$dst" 
-}
-
-
-# Make wrapper scripts around clang and clang++.  Also make symlinks
-# cc and c++
-mkClangWrapper() {
-    local dst=$1
-    local src=$2
-
-    if ! test -f "$src"; then
-        echo "$src does not exist (skipping)"
-        return 1
-    fi
-
-    clangProg="$src"
-    doSubstitute "$clangWrapper" "$dst"
-    chmod +x "$dst"
-}
-
-if mkClangWrapper $out/bin/clang $clangPath/clang
-then
-    ln -sv clang $out/bin/cc
-fi
-
-if mkClangWrapper $out/bin/clang++ $clangPath/clang++
-then
-    ln -sv clang++ $out/bin/c++
-fi
-
-
-# Create a symlink to as (the assembler).  This is useful when a
-# clang-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"
-
-
-# Emit a setup hook.  Also store the path to the original Clang and
-# libc.
-test -n "$clang" && echo $clang > $out/nix-support/orig-clang
-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 clang so that if you install the wrapper, you get
-# llvm tools, the manpages, etc. as well (including for binutils
-# and Glibc).
-if test -z "$nativeTools"; then
-    echo $clang $binutils $libc > $out/nix-support/propagated-user-env-packages
-fi
diff --git a/pkgs/build-support/clang-wrapper/clang-wrapper.sh b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
deleted file mode 100644
index 57715274f1e..00000000000
--- a/pkgs/build-support/clang-wrapper/clang-wrapper.sh
+++ /dev/null
@@ -1,150 +0,0 @@
-#! @shell@ -e
-
-if test -n "$NIX_GCC_WRAPPER_START_HOOK"; then
-    source "$NIX_GCC_WRAPPER_START_HOOK"
-fi
-
-if test -z "$NIX_GCC_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.  Clang prints annoying
-# warnings when they are not needed. (does it really? Copied from gcc-wrapper)
-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 clang 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 "clang" (should just print
-# "clang: no input files") and "clang -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[@]}")
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE --sysroot=/var/empty"
-fi
-
-if test -n "@libcxx@"; then
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem@libcxx@/include/c++/v1 -stdlib=libc++"
-    NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -L@libcxx@/lib -stdlib=libc++ -L@libcxxabi@/lib -lc++abi"
-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 `clang -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 @clangProg@:" >&2
-  for i in "${params[@]}"; do
-      echo "  $i" >&2
-  done
-  echo "extraBefore flags to @clangProg@:" >&2
-  for i in ${extraBefore[@]}; do
-      echo "  $i" >&2
-  done
-  echo "extraAfter flags to @clangProg@:" >&2
-  for i in ${extraAfter[@]}; do
-      echo "  $i" >&2
-  done
-fi
-
-if test -n "$NIX_CLANG_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_CLANG_WRAPPER_EXEC_HOOK"
-fi
-
-# Call the real `clang'.  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_CLANG_NEEDS_GREP"; then
-    @clangProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
-else
-    (@clangProg@ ${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/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix
deleted file mode 100644
index 7a5d87127d9..00000000000
--- a/pkgs/build-support/clang-wrapper/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-# The Nix `clang' 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, nativeTools, nativeLibc, nativePrefix ? ""
-, clang ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
-, zlib ? null, libcxx ? null
-}:
-
-assert nativeTools -> nativePrefix != "";
-assert !nativeTools -> clang != null && binutils != null && coreutils != null;
-assert !nativeLibc -> libc != null;
-
-let
-
-  clangVersion = (builtins.parseDrvName clang.name).version;
-  clangName = (builtins.parseDrvName clang.name).name;
-
-in
-
-stdenv.mkDerivation {
-  name =
-    (if name != "" then name else clangName + "-wrapper") +
-    (if clang != null && clangVersion != "" then "-" + clangVersion else "");
-
-  builder = ./builder.sh;
-  setupHook = ./setup-hook.sh;
-  clangWrapper = ./clang-wrapper.sh;
-  ldWrapper = ../gcc-wrapper/ld-wrapper.sh;
-  utils = ../gcc-wrapper/utils.sh;
-  addFlags = ./add-flags;
-
-  inherit nativeTools nativeLibc nativePrefix clang clangVersion libcxx;
-
-  libcxxabi = libcxx.abi or null;
-
-  gcc = clang.gcc;
-  libc = if nativeLibc then null else libc;
-  binutils = if nativeTools then null else binutils;
-  # The wrapper scripts use 'cat', so we may need coreutils
-  coreutils = if nativeTools then null else coreutils;
-
-  langC = true;
-  langCC = true;
-  shell = if shell == "" then stdenv.shell else
-    if builtins.isAttrs shell then (shell + shell.shellPath)
-    else shell;
-
-  crossAttrs = {
-    shell = shell.crossDrv + shell.crossDrv.shellPath;
-    libc = libc.crossDrv;
-    coreutils = coreutils.crossDrv;
-    binutils = binutils.crossDrv;
-    clang = clang.crossDrv;
-    #
-    # This is not the best way to do this. I think the reference should be
-    # the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
-    # do this sufficient if/else.
-    dynamicLinker =
-      (if stdenv.cross.arch == "arm" then "ld-linux.so.3" else
-       if stdenv.cross.arch == "mips" then "ld.so.1" else
-       if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else
-       abort "don't know the name of the dynamic linker for this platform");
-  };
-
-  meta =
-    let clang_ = if clang != null then clang else {}; in
-    (if clang_ ? meta then removeAttrs clang.meta ["priority"] else {}) //
-    { description =
-        stdenv.lib.attrByPath ["meta" "description"] "System C compiler" clang_
-        + " (wrapper script)";
-    };
-
-  # The dynamic linker has different names on different Linux platforms.
-  dynamicLinker =
-    if !nativeLibc then
-      (if stdenv.system == "i686-linux" then "ld-linux.so.2" else
-       if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
-       if stdenv.isArm then "ld-linux.so.3" else
-       if stdenv.system == "powerpc-linux" then "ld.so.1" else
-       if stdenv.system == "mips64el-linux" then "ld.so.1" else
-       abort "don't know the name of the dynamic linker for this platform")
-    else "";
-
-  preferLocalBuild = true;
-}
diff --git a/pkgs/build-support/clang-wrapper/setup-hook.sh b/pkgs/build-support/clang-wrapper/setup-hook.sh
deleted file mode 100644
index 0bd531050c4..00000000000
--- a/pkgs/build-support/clang-wrapper/setup-hook.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-export NIX_GCC=@out@
-
-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
-}
-
-envHooks+=(addCVars)
-
-# Note: these come *after* $out in the PATH (see setup.sh).
-
-if test -n "@clang@"; then
-    addToSearchPath PATH @clang@/bin
-fi
-
-if test -n "@binutils@"; then
-    addToSearchPath PATH @binutils@/bin
-fi
-
-if test -n "@libc@"; then
-    addToSearchPath PATH @libc@/bin
-fi
-
-if test -n "@coreutils@"; then
-    addToSearchPath PATH @coreutils@/bin
-fi
-
-: ${CXX:=clang++}
-export CXX
diff --git a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in b/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
index abad090ebcb..abad090ebcb 100755..100644
--- a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
+++ b/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
diff --git a/pkgs/build-support/emacs/generic.nix b/pkgs/build-support/emacs/generic.nix
new file mode 100644
index 00000000000..be81e93e32a
--- /dev/null
+++ b/pkgs/build-support/emacs/generic.nix
@@ -0,0 +1,41 @@
+# generic builder for Emacs packages
+
+{ lib, stdenv, emacs, texinfo }:
+
+with lib;
+
+{ pname
+, version ? null
+
+, buildInputs ? []
+, packageRequires ? []
+
+, meta ? {}
+
+, ...
+}@args:
+
+let
+  defaultMeta = {
+    broken = false;
+    platforms = emacs.meta.platforms;
+  };
+in
+
+stdenv.mkDerivation ({
+  name = "emacs-${pname}${optionalString (version != null) "-${version}"}";
+
+  buildInputs = [emacs texinfo] ++ packageRequires ++ buildInputs;
+  propagatedBuildInputs = packageRequires;
+  propagatedUserEnvPkgs = packageRequires;
+
+  setupHook = ./setup-hook.sh;
+
+  doCheck = false;
+
+  meta = defaultMeta // meta;
+}
+
+// removeAttrs args [ "buildInputs" "packageRequires"
+                      "meta"
+                    ])
diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix
new file mode 100644
index 00000000000..607a1b4a5ef
--- /dev/null
+++ b/pkgs/build-support/emacs/melpa.nix
@@ -0,0 +1,67 @@
+# builder for Emacs packages built for packages.el
+# using MELPA package-build.el
+
+{ lib, stdenv, fetchurl, emacs, texinfo }:
+
+with lib;
+
+{ pname
+, version
+
+, files ? null
+, fileSpecs ? [ "*.el" "*.el.in" "dir"
+                "*.info" "*.texi" "*.texinfo"
+                "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo"
+              ]
+
+, meta ? {}
+
+, ...
+}@args:
+
+let
+
+  packageBuild = fetchurl {
+    url = https://raw.githubusercontent.com/milkypostman/melpa/12a862e5c5c62ce627dab83d7cf2cca6e8b56c47/package-build.el;
+    sha256 = "1nviyyprypz7nmam9rwli4yv3kxh170glfbznryrp4czxkrjjdhk";
+  };
+
+  fname = "${pname}-${version}";
+
+  targets = concatStringsSep " " (if files == null then fileSpecs else files);
+
+  defaultMeta = {
+    homepage = "http://melpa.org/#/${pname}";
+  };
+
+in
+
+import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
+  inherit packageBuild;
+
+  buildPhase = ''
+    runHook preBuild
+
+    emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
+      -f melpa2nix-build-package \
+      ${pname} ${version} ${targets}
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
+      -f melpa2nix-install-package \
+      ${fname}.* $out/share/emacs/site-lisp/elpa
+
+    runHook postInstall
+  '';
+
+  meta = defaultMeta // meta;
+}
+
+// removeAttrs args [ "files" "fileSpecs"
+                      "meta"
+                    ])
diff --git a/pkgs/build-support/emacs/melpa2nix.el b/pkgs/build-support/emacs/melpa2nix.el
new file mode 100644
index 00000000000..d54e9d21e25
--- /dev/null
+++ b/pkgs/build-support/emacs/melpa2nix.el
@@ -0,0 +1,36 @@
+(require 'package)
+(package-initialize)
+
+(require 'package-build)
+
+(setq package-build-working-dir (expand-file-name ".")
+      package-build-archive-dir (expand-file-name "."))
+
+(defun melpa2nix-install-package ()
+  (if (not noninteractive)
+      (error "`melpa2nix-install-package' is to be used only with -batch"))
+  (pcase command-line-args-left
+    (`(,archive ,elpa)
+     (progn (setq package-user-dir elpa)
+            (package-install-file archive)))))
+
+(defun melpa2nix-build-package ()
+  (if (not noninteractive)
+      (error "`melpa2nix-build-package' is to be used only with -batch"))
+  (pcase command-line-args-left
+    (`(,package ,version . ,files)
+     (melpa2nix-package-build-archive package version files))))
+
+(defun melpa2nix-package-build-archive (name version files)
+  "Build a package archive for package NAME."
+  (pb/message "\n;;; %s\n" name)
+  (let* ((start-time (current-time))
+         (archive-entry (package-build-package name
+                                               version
+                                               files
+                                               package-build-working-dir
+                                               package-build-archive-dir)))
+    
+    (pb/message "Built in %.3fs, finished at %s"
+                (time-to-seconds (time-since start-time))
+                (current-time-string))))
diff --git a/pkgs/build-support/emacs/setup-hook.sh b/pkgs/build-support/emacs/setup-hook.sh
new file mode 100644
index 00000000000..defef45b55f
--- /dev/null
+++ b/pkgs/build-support/emacs/setup-hook.sh
@@ -0,0 +1,7 @@
+addEmacsVars () {
+  if test -d $1/share/emacs/site-lisp; then
+      export EMACSLOADPATH="$1/share/emacs/site-lisp:$EMACSLOADPATH"
+  fi
+}
+
+envHooks+=(addEmacsVars)
diff --git a/pkgs/build-support/emacs/trivial.nix b/pkgs/build-support/emacs/trivial.nix
new file mode 100644
index 00000000000..9c97e8bf951
--- /dev/null
+++ b/pkgs/build-support/emacs/trivial.nix
@@ -0,0 +1,34 @@
+# trivial builder for Emacs packages
+
+{ lib, ... }@envargs:
+
+with lib;
+
+args:
+
+import ./generic.nix envargs ({
+  #preConfigure = ''
+  #  export LISPDIR=$out/share/emacs/site-lisp
+  #  export VERSION_SPECIFIC_LISPDIR=$out/share/emacs/site-lisp
+  #'';
+
+  buildPhase = ''
+    eval "$preBuild"
+
+    emacs -L . --batch -f batch-byte-compile *.el
+
+    eval "$postBuild"
+  '';
+
+  installPhase = ''
+    eval "$preInstall"
+
+    LISPDIR=$out/share/emacs/site-lisp
+    install -d $LISPDIR
+    install *.el *.elc $LISPDIR
+
+    eval "$postInstall"
+  '';
+}
+
+// args)
diff --git a/pkgs/build-support/fetchadc/builder.sh b/pkgs/build-support/fetchadc/builder.sh
new file mode 100644
index 00000000000..ceeaa9213d6
--- /dev/null
+++ b/pkgs/build-support/fetchadc/builder.sh
@@ -0,0 +1,7 @@
+source $stdenv/setup
+
+loginpage=`curl --insecure -s -L -b cookies.txt "$url"`
+
+[[ $loginpage =~ form[^\>]+action=\"([^\"]+)\" ]] && loginurl=${BASH_REMATCH[1]}
+
+curl  --insecure -s --output "$out" -L -b cookies.txt --data "appleId=${adc_user}&accountPassword=${adc_pass}" "https://idmsa.apple.com/IDMSWebAuth/${loginurl}"
diff --git a/pkgs/build-support/fetchadc/default.nix b/pkgs/build-support/fetchadc/default.nix
new file mode 100644
index 00000000000..ac7a442de31
--- /dev/null
+++ b/pkgs/build-support/fetchadc/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, curl, adc_user, adc_pass }:
+
+let
+  impureEnvVars = [
+    # We borrow these environment variables from the caller to allow
+    # easy proxy configuration.  This is impure, but a fixed-output
+    # derivation like fetchurl is allowed to do so since its result is
+    # by definition pure.
+    "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
+  ];
+in
+
+{ # Path to fetch.
+  path
+
+  # Hash of the downloaded file
+, sha256
+
+, # Additional curl options needed for the download to succeed.
+  curlOpts ? ""
+
+, # Name of the file.  If empty, use the basename of `path'.
+  name ? ""
+}:
+
+stdenv.mkDerivation {
+  url = "https://developer.apple.com/downloads/download.action?path=${path}";
+
+  name    = if name != "" then name else baseNameOf path;
+  builder = ./builder.sh;
+
+  buildInputs = [ curl ];
+
+  meta = {
+    # Password-guarded files from ADC are certainly unfree, as far as we're concerned!
+    license = stdenv.lib.licenses.unfree;
+  };
+
+  outputHashAlgo = "sha256";
+  outputHash     =  sha256;
+  outputHashMode = "flat";
+
+  inherit curlOpts adc_user adc_pass;
+
+  preferLocalBuild = true;
+}
diff --git a/pkgs/build-support/fetchegg/builder.sh b/pkgs/build-support/fetchegg/builder.sh
new file mode 100644
index 00000000000..20466106309
--- /dev/null
+++ b/pkgs/build-support/fetchegg/builder.sh
@@ -0,0 +1,9 @@
+source $stdenv/setup
+
+header "exporting egg ${eggName} (version $version) into $out"
+
+mkdir -p $out
+chicken-install -r "${eggName}:${version}"
+cp -r ${eggName}/* $out/
+
+stopNest
diff --git a/pkgs/build-support/fetchegg/default.nix b/pkgs/build-support/fetchegg/default.nix
new file mode 100644
index 00000000000..223d2098c77
--- /dev/null
+++ b/pkgs/build-support/fetchegg/default.nix
@@ -0,0 +1,28 @@
+# Fetches a chicken egg from henrietta using `chicken-install -r'
+# See: http://wiki.call-cc.org/chicken-projects/egg-index-4.html
+
+{ stdenv, chicken }:
+{ name, version, md5 ? "", sha256 ? "" }:
+
+stdenv.mkDerivation {
+  name = "chicken-${name}-export";
+  builder = ./builder.sh;
+  buildInputs = [ chicken ];
+
+  outputHashAlgo = if sha256 == "" then "md5" else "sha256";
+  outputHashMode = "recursive";
+  outputHash = if sha256 == "" then md5 else sha256;
+
+  inherit version;
+
+  eggName = name;
+
+  impureEnvVars = [
+    # We borrow these environment variables from the caller to allow
+    # easy proxy configuration.  This is impure, but a fixed-output
+    # derivation like fetchurl is allowed to do so since its result is
+    # by definition pure.
+    "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
+  ];
+}
+
diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh
index 9050cce6ee8..71374d1f238 100644
--- a/pkgs/build-support/fetchgit/builder.sh
+++ b/pkgs/build-support/fetchgit/builder.sh
@@ -8,6 +8,7 @@ header "exporting $url (rev $rev) into $out"
 
 $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
   ${leaveDotGit:+--leave-dotGit} \
+  ${deepClone:+--deepClone} \
   ${fetchSubmodules:+--fetch-submodules}
 
 stopNest
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index a17daf9a2c5..bb89a8f5532 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -1,5 +1,20 @@
-{stdenv, git, cacert}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true}:
+{stdenv, git, cacert}: let
+  urlToName = url: rev: let
+    base = baseNameOf (stdenv.lib.removeSuffix "/" url);
+
+    matched = builtins.match "(.*).git" base;
+
+    short = builtins.substring 0 7 rev;
+
+    appendShort = if (builtins.match "[a-f0-9]*" rev) != null
+      then "-${short}"
+      else "";
+  in "${if matched == null then base else builtins.head matched}${appendShort}";
+in
+{ url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? deepClone
+, fetchSubmodules ? true, deepClone ? false
+, name ? urlToName url rev
+}:
 
 /* NOTE:
    fetchgit has one problem: git fetch only works for refs.
@@ -24,9 +39,10 @@
 */
 
 assert md5 != "" || sha256 != "";
+assert deepClone -> leaveDotGit;
 
 stdenv.mkDerivation {
-  name = "git-export";
+  inherit name;
   builder = ./builder.sh;
   fetcher = ./nix-prefetch-git;
   buildInputs = [git];
@@ -35,7 +51,7 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = if sha256 == "" then md5 else sha256;
 
-  inherit url rev leaveDotGit fetchSubmodules;
+  inherit url rev leaveDotGit fetchSubmodules deepClone;
 
   GIT_SSL_CAINFO = "${cacert}/etc/ca-bundle.crt";
 
@@ -49,4 +65,3 @@ stdenv.mkDerivation {
 
   preferLocalBuild = true;
 }
-
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 4f9dd2ac272..486fd3acafb 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -10,51 +10,51 @@ fetchSubmodules=
 builder=
 
 if test -n "$deepClone"; then
-  deepClone=true
+    deepClone=true
 else
-  deepClone=false
+    deepClone=false
 fi
 
 if test "$leaveDotGit" != 1; then
-  leaveDotGit=
+    leaveDotGit=
 else
-  leaveDotGit=true
+    leaveDotGit=true
 fi
 
 
 argi=0
 argfun=""
 for arg; do
-  if test -z "$argfun"; then
-    case $arg in
-      --out) argfun=set_out;;
-      --url) argfun=set_url;;
-      --rev) argfun=set_rev;;
-      --hash) argfun=set_hashType;;
-      --deepClone) deepClone=true;;
-      --no-deepClone) deepClone=false;;
-      --leave-dotGit) leaveDotGit=true;;
-      --fetch-submodules) fetchSubmodules=true;;
-      --builder) builder=true;;
-      *)
-          argi=$(($argi + 1))
-          case $argi in
-              1) url=$arg;;
-              2) rev=$arg;;
-              3) expHash=$arg;;
-              *) exit 1;;
-          esac
-          ;;
-    esac
-  else
-    case $argfun in
-      set_*)
-        var=$(echo $argfun | sed 's,^set_,,')
-        eval $var=$arg
-        ;;
-    esac
-    argfun=""
-  fi
+    if test -z "$argfun"; then
+        case $arg in
+            --out) argfun=set_out;;
+            --url) argfun=set_url;;
+            --rev) argfun=set_rev;;
+            --hash) argfun=set_hashType;;
+            --deepClone) deepClone=true;;
+            --no-deepClone) deepClone=false;;
+            --leave-dotGit) leaveDotGit=true;;
+            --fetch-submodules) fetchSubmodules=true;;
+            --builder) builder=true;;
+            *)
+                argi=$(($argi + 1))
+                case $argi in
+                    1) url=$arg;;
+                    2) rev=$arg;;
+                    3) expHash=$arg;;
+                    *) exit 1;;
+                esac
+                ;;
+        esac
+    else
+        case $argfun in
+            set_*)
+                var=$(echo $argfun | sed 's,^set_,,')
+                eval $var=$arg
+                ;;
+        esac
+        argfun=""
+    fi
 done
 
 usage(){
@@ -75,19 +75,20 @@ Options:
 }
 
 if test -z "$url"; then
-  usage
+    usage
 fi
 
 
 init_remote(){
-    local url=$1;
-    git init;
-    git remote add origin $url;
+    local url=$1
+    git init
+    git remote add origin $url
+    ( [ -n "$http_proxy" ] && git config http.proxy $http_proxy ) || true
 }
 
 # Return the reference of an hash if it exists on the remote repository.
 ref_from_hash(){
-    local hash=$1;
+    local hash=$1
     git ls-remote origin | sed -n "\,$hash\t, { s,\(.*\)\t\(.*\),\2,; p; q}"
 }
 
@@ -99,12 +100,12 @@ hash_from_ref(){
 
 # Fetch everything and checkout the right sha1
 checkout_hash(){
-    local hash="$1";
-    local ref="$2";
+    local hash="$1"
+    local ref="$2"
 
     if test -z "$hash"; then
-        hash=$(hash_from_ref $ref);
-    fi;
+        hash=$(hash_from_ref $ref)
+    fi
 
     git fetch ${builder:+--progress} origin || return 1
     git checkout -b fetchgit $hash || return 1
@@ -112,28 +113,28 @@ checkout_hash(){
 
 # Fetch only a branch/tag and checkout it.
 checkout_ref(){
-    local hash="$1";
-    local ref="$2";
+    local hash="$1"
+    local ref="$2"
 
     if "$deepClone"; then
-	# The caller explicitly asked for a deep clone.  Deep clones
-	# allow "git describe" and similar tools to work.  See
-	# http://thread.gmane.org/gmane.linux.distributions.nixos/3569
-	# for a discussion.
-	return 1
+        # The caller explicitly asked for a deep clone.  Deep clones
+        # allow "git describe" and similar tools to work.  See
+        # http://thread.gmane.org/gmane.linux.distributions.nixos/3569
+        # for a discussion.
+        return 1
     fi
 
     if test -z "$ref"; then
-        ref=$(ref_from_hash $hash);
-    fi;
+        ref=$(ref_from_hash $hash)
+    fi
 
     if test -n "$ref"; then
         # --depth option is ignored on http repository.
         git fetch ${builder:+--progress} --depth 1 origin +"$ref" || return 1
         git checkout -b fetchgit FETCH_HEAD || return 1
     else
-        return 1;
-    fi;
+        return 1
+    fi
 }
 
 # Update submodules
@@ -145,20 +146,15 @@ init_submodules(){
     git submodule status |
     while read l; do
         # checkout each submodule
-        local hash=$(echo $l | awk '{print substr($1,2)}');
-        local dir=$(echo $l | awk '{print $2}');
+        local hash=$(echo $l | awk '{print substr($1,2)}')
+        local dir=$(echo $l | awk '{print $2}')
         local name=$(
-            git config -f .gitmodules --get-regexp submodule\.[^.]*\.path |
+            git config -f .gitmodules --get-regexp submodule\..*\.path |
             sed -n "s,^\(.*\)\.path $dir\$,\\1,p")
-        local url=$(git config -f .gitmodules --get ${name}.url);
-
-        # Get Absolute URL if we have a relative URL
-        if ! echo "$url" | grep '^[a-zA-Z]\+://' >/dev/null 2>&1; then
-          url="$(git config --get remote.origin.url)/$url"
-        fi
+        local url=$(git config --get ${name}.url)
 
-        clone "$dir" "$url" "$hash" "";
-    done;
+        clone "$dir" "$url" "$hash" ""
+    done
 }
 
 clone(){
@@ -168,37 +164,75 @@ clone(){
     local hash="$3"
     local ref="$4"
 
-    cd $dir;
+    cd $dir
 
     # Initialize the repository.
-    init_remote "$url";
+    init_remote "$url"
 
     # Download data from the repository.
     checkout_ref "$hash" "$ref" ||
     checkout_hash "$hash" "$ref" || (
-        echo 1>&2 "Unable to checkout $hash$ref from $url.";
-        exit 1;
+        echo 1>&2 "Unable to checkout $hash$ref from $url."
+        exit 1
     )
 
     # Checkout linked sources.
     if test -n "$fetchSubmodules"; then
-        init_submodules;
+        init_submodules
     fi
 
     if [ -z "$builder" -a -f .topdeps ]; then
-	if tg help 2>&1 > /dev/null
-	then
-	    echo "populating TopGit branches..."
-	    tg remote --populate origin
-	else
-	    echo "WARNING: would populate TopGit branches but TopGit is not available" >&2
-	    echo "WARNING: install TopGit to fix the problem" >&2
-	fi
+        if tg help 2>&1 > /dev/null
+        then
+            echo "populating TopGit branches..."
+            tg remote --populate origin
+        else
+            echo "WARNING: would populate TopGit branches but TopGit is not available" >&2
+            echo "WARNING: install TopGit to fix the problem" >&2
+        fi
     fi
 
-    cd $top;
+    cd $top
 }
 
+# Remove all remote branches, remove tags not reachable from HEAD, do a full
+# repack and then garbage collect unreferenced objects.
+make_deterministic_repo(){
+    local repo="$1"
+
+    # run in sub-shell to not touch current working directory
+    (
+    cd "$repo"
+    # Remove files that contain timestamps or otherwise have non-deterministic
+    # properties.
+    rm -rf .git/logs/ .git/hooks/ .git/index .git/FETCH_HEAD .git/ORIG_HEAD \
+        .git/refs/remotes/origin/HEAD .git/config
+
+    # Remove all remote branches.
+    git branch -r | while read branch; do
+        git branch -rD "$branch" >&2
+    done
+
+    # Remove tags not reachable from HEAD. If we're exactly on a tag, don't
+    # delete it.
+    maybe_tag=$(git tag --points-at HEAD)
+    git tag --contains HEAD | while read tag; do
+        if [ "$tag" != "$maybe_tag" ]; then
+            git tag -d "$tag" >&2
+        fi
+    done
+
+    # Do a full repack. Must run single-threaded, or else we loose determinism.
+    git config pack.threads 1
+    git repack -A -d -f
+    rm -f .git/config
+
+    # Garbage collect unreferenced objects.
+    git gc --prune=all
+    )
+}
+
+
 clone_user_rev() {
     local dir="$1"
     local url="$2"
@@ -210,79 +244,80 @@ clone_user_rev() {
             clone "$dir" "$url" "" "$rev" 1>&2;;
         *)
             if test -z "$(echo $rev | tr -d 0123456789abcdef)"; then
-                clone "$dir" "$url" "$rev" "" 1>&2;
+                clone "$dir" "$url" "$rev" "" 1>&2
             else
-                echo 1>&2 "Bad commit hash or bad reference.";
-                exit 1;
+                echo 1>&2 "Bad commit hash or bad reference."
+                exit 1
             fi;;
     esac
 
     local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)
     echo "git revision is $full_revision"
     echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))" >&2
+    echo "Commit date is $(cd $dir && git show --no-patch --pretty=%ci $full_revision)"
 
     # Allow doing additional processing before .git removal
     eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"
     if test -z "$leaveDotGit"; then
-	echo "removing \`.git'..." >&2
+        echo "removing \`.git'..." >&2
         find $dir -name .git\* | xargs rm -rf
     else
-        # The logs and index contain timestamps, and the hooks contain
-        # the nix path of git's bash
-        find $dir -name .git | xargs -I {} rm -rf {}/logs {}/index {}/hooks
+        find $dir -name .git | while read gitdir; do
+            make_deterministic_repo "$(readlink -f "$gitdir/..")"
+        done
     fi
 }
 
 if test -n "$builder"; then
-  test -n "$out" -a -n "$url" -a -n "$rev" || usage
-  mkdir $out
-  clone_user_rev "$out" "$url" "$rev"
+    test -n "$out" -a -n "$url" -a -n "$rev" || usage
+    mkdir $out
+    clone_user_rev "$out" "$url" "$rev"
 else
-  if test -z "$hashType"; then
-      hashType=sha256
-  fi
+    if test -z "$hashType"; then
+        hashType=sha256
+    fi
 
-  # If the hash was given, a file with that hash may already be in the
-  # store.
-  if test -n "$expHash"; then
-      finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" git-export)
-      if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
-          finalPath=
-      fi
-      hash=$expHash
-  fi
+    # If the hash was given, a file with that hash may already be in the
+    # store.
+    if test -n "$expHash"; then
+        finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" git-export)
+        if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
+            finalPath=
+        fi
+        hash=$expHash
+    fi
 
-  # If we don't know the hash or a path with that hash doesn't exist,
-  # download the file and add it to the store.
-  if test -z "$finalPath"; then
+    # If we don't know the hash or a path with that hash doesn't exist,
+    # download the file and add it to the store.
+    if test -z "$finalPath"; then
 
-      tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")"
-      trap "rm -rf \"$tmpPath\"" EXIT
+        tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")"
+        trap "rm -rf \"$tmpPath\"" EXIT
 
-      tmpFile="$tmpPath/git-export"
-      mkdir "$tmpFile"
+        tmpFile="$tmpPath/git-export"
+        mkdir "$tmpFile"
 
-      # Perform the checkout.
-      clone_user_rev "$tmpFile" "$url" "$rev"
+        # Perform the checkout.
+        clone_user_rev "$tmpFile" "$url" "$rev"
 
-      # Compute the hash.
-      hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
-      if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
+        # Compute the hash.
+        hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
+        if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
 
-      # Add the downloaded file to the Nix store.
-      finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
+        # Add the downloaded file to the Nix store.
+        finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
 
-      if test -n "$expHash" -a "$expHash" != "$hash"; then
-          echo "hash mismatch for URL \`$url'"
-          exit 1
-      fi
-  fi
+        if test -n "$expHash" -a "$expHash" != "$hash"; then
+            echo "hash mismatch for URL \`$url'"
+            exit 1
+        fi
+    fi
 
-  if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
+    if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
 
-  echo $hash
+    echo $hash
 
-  if test -n "$PRINT_PATH"; then
-      echo $finalPath
-  fi
+    if test -n "$PRINT_PATH"; then
+        echo $finalPath
+    fi
 fi
diff --git a/pkgs/build-support/fetchgitlocal/default.nix b/pkgs/build-support/fetchgitlocal/default.nix
new file mode 100644
index 00000000000..43fc4b1179d
--- /dev/null
+++ b/pkgs/build-support/fetchgitlocal/default.nix
@@ -0,0 +1,23 @@
+{ runCommand, git, nix }: src:
+
+let hash = import (runCommand "head-hash.nix"
+  { dummy = builtins.currentTime;
+    preferLocalBuild = true; }
+''
+  cd ${toString src}
+  (${git}/bin/git show && ${git}/bin/git diff) > $out
+  hash=$(${nix}/bin/nix-hash $out)
+  echo "\"$hash\"" > $out
+''); in
+
+runCommand "local-git-export"
+  { dummy = hash;
+    preferLocalBuild = true; }
+''
+  cd ${toString src}
+  mkdir -p "$out"
+  for file in $(${git}/bin/git ls-files); do
+    mkdir -p "$out/$(dirname $file)"
+    cp -d $file "$out/$file" || true # don't fail when trying to copy a directory
+  done
+''
diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix
index 768d173934d..29ff5c31e45 100644
--- a/pkgs/build-support/fetchpatch/default.nix
+++ b/pkgs/build-support/fetchpatch/default.nix
@@ -19,4 +19,4 @@ fetchurl ({
         --clean "$out" > "$tmpfile"
     mv "$tmpfile" "$out"
   '';
-} // args)
+} // builtins.removeAttrs args ["stripLen"])
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index 0c6e16551b4..66792229585 100644
--- a/pkgs/build-support/fetchurl/builder.sh
+++ b/pkgs/build-support/fetchurl/builder.sh
@@ -25,10 +25,20 @@ tryDownload() {
     local url="$1"
     echo
     header "trying $url"
+    local curlexit=18;
+
     success=
-    if $curl --fail "$url" --output "$downloadedFile"; then
-        success=1
-    fi
+
+    # if we get error code 18, resume partial download
+    while [ $curlexit -eq 18 ]; do
+       # keep this inside an if statement, since on failure it doesn't abort the script
+       if $curl -C - --fail "$url" --output "$downloadedFile"; then
+          success=1
+          break
+       else
+          curlexit=$?;
+       fi
+    done
     stopNest
 }
 
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index c74131a9e60..0d7534e6758 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -13,6 +13,7 @@ let
     stdenv.mkDerivation ({
       name = "mirrors-list";
       builder = ./write-mirror-list.sh;
+      preferLocalBuild = true;
     } // mirrors);
 
   # Names of the master sites that are mirrored (i.e., "sourceforge",
@@ -81,16 +82,16 @@ assert builtins.isList urls;
 assert urls != [] -> url == "";
 assert url != "" -> urls == [];
 
-assert showURLs || (outputHash != "" && outputHashAlgo != "")
-    || md5 != "" || sha1 != "" || sha256 != "";
 
 let
 
+  hasHash = showURLs || (outputHash != "" && outputHashAlgo != "")
+    || md5 != "" || sha1 != "" || sha256 != "";
   urls_ = if urls != [] then urls else [url];
 
 in
 
-stdenv.mkDerivation {
+if (!hasHash) then throw "Specify hash for fetchurl fixed-output derivation: ${stdenv.lib.concatStringsSep ", " urls_}" else stdenv.mkDerivation {
   name =
     if showURLs then "urls"
     else if name != "" then name
diff --git a/pkgs/build-support/fetchurl/gnome.nix b/pkgs/build-support/fetchurl/gnome.nix
deleted file mode 100644
index 258b11d850e..00000000000
--- a/pkgs/build-support/fetchurl/gnome.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ fetchurl }:
-
-{ project, major, minor, patchlevel ? null, extension ? "bz2", sha256 }:
-
-let
-  baseVersion = "${major}.${minor}";
-  version = baseVersion + (if patchlevel != null then ".${patchlevel}" else "");
-  name = "${project}-${version}";
-in
-
-(fetchurl {
-  url = "mirror://gnome/sources/${project}/${baseVersion}/${name}.tar.${extension}";
-  inherit sha256;
-}) // {
-  inherit major minor patchlevel baseVersion version;
-  pkgname = name;
-}
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 080dfea2505..7f61ddc77db 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -53,6 +53,7 @@ rec {
 
   # GnuPG.
   gnupg = [
+    http://gd.tuwien.ac.at/privacy/gnupg/
     ftp://gd.tuwien.ac.at/privacy/gnupg/
     ftp://gnupg.x-zone.org/pub/gnupg/
     ftp://ftp.gnupg.cz/pub/gcrypt/
@@ -136,6 +137,11 @@ rec {
     http://www.centervenus.com/mirrors/nongnu/
   ];
 
+  samba = [
+    http://samba.org/ftp/
+    http://ftp.riken.jp/net/samba
+  ];
+
   # BitlBee mirrors, see http://www.bitlbee.org/main.php/mirrors.html .
   bitlbee = [
     http://get.bitlbee.org/
@@ -147,10 +153,10 @@ rec {
 
   # ImageMagick mirrors, see http://www.imagemagick.org/script/download.php.
   imagemagick = [
-    http://ftp.nluug.nl/pub/ImageMagick/
-    ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/
+    ftp://ftp.nluug.nl/pub/ImageMagick/
     ftp://ftp.imagemagick.org/pub/ImageMagick/
     ftp://ftp.imagemagick.net/pub/ImageMagick/
+    ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/
   ];
 
   # CPAN mirrors.
@@ -173,6 +179,7 @@ rec {
     ftp://ftp.nl.debian.org/debian/
     ftp://ftp.ru.debian.org/debian/
     ftp://ftp.debian.org/debian/
+    http://ftp.debian.org/debian/
     http://archive.debian.org/debian-archive/debian/
     ftp://ftp.funet.fi/pub/mirrors/ftp.debian.org/debian/
   ];
@@ -188,7 +195,7 @@ rec {
   # Fedora (please only add full mirrors that carry old Fedora distributions as well).
   # See: https://mirrors.fedoraproject.org/publiclist (but not all carry old content).
   fedora = [
-    http://archives.fedoraproject.org/pub/archive/fedora/
+    http://archives.fedoraproject.org/pub/fedora/
     http://fedora.osuosl.org/
     http://ftp.nluug.nl/pub/os/Linux/distr/fedora/
     http://ftp.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/
@@ -197,6 +204,7 @@ rec {
     http://ftp.linux.cz/pub/linux/fedora/
     http://ftp.heanet.ie/pub/fedora/
     http://mirror.1000mbps.com/fedora/
+    http://archives.fedoraproject.org/pub/archive/fedora/
   ];
 
   # Old SUSE distributions.  Unfortunately there is no master site,
@@ -260,7 +268,6 @@ rec {
 
   # Apache mirrors (see http://www.apache.org/mirrors/).
   apache = [
-    http://apache.cs.uu.nl/dist/
     http://www.eu.apache.org/dist/
     ftp://ftp.inria.fr/pub/Apache/
     http://apache.cict.fr/
@@ -270,12 +277,13 @@ rec {
     http://www.apache.org/dist/
     http://archive.apache.org/dist/ # fallback for old releases
     ftp://ftp.funet.fi/pub/mirrors/apache.org/
+    http://apache.cs.uu.nl/dist/
   ];
 
   postgresql = [
+    http://ftp.postgresql.org/pub/
     ftp://ftp.postgresql.org/pub/
     ftp://ftp-archives.postgresql.org/pub/
-    http://ftp.postgresql.org/pub/
   ];
 
   metalab = [
@@ -288,19 +296,20 @@ rec {
   cran = [
     http://cran.r-project.org/
     http://cran.rstudio.com/
+    http://cran.usthb.dz/
     http://mirror.fcaglp.unlp.edu.ar/CRAN/
-    http://r.mirror.mendoza-conicet.gob.ar/
     http://cran.csiro.au/
     http://cran.ms.unimelb.edu.au/
     http://cran.at.r-project.org/
     http://www.freestatistics.org/cran/
+    http://nbcgib.uesc.br/mirrors/cran/
     http://cran-r.c3sl.ufpr.br/
     http://cran.fiocruz.br/
     http://www.vps.fmvz.usp.br/CRAN/
     http://brieger.esalq.usp.br/CRAN/
     http://cran.stat.sfu.ca/
     http://mirror.its.dal.ca/cran/
-    http://probability.ca/cran/
+    http://cran.utstat.utoronto.ca/
     http://cran.skazkaforyou.com/
     http://cran.parentingamerica.com/
     http://dirichlet.mat.puc.cl/
@@ -310,30 +319,38 @@ rec {
     http://mirrors.xmu.edu.cn/CRAN/
     http://www.laqee.unal.edu.co/CRAN/
     http://www.icesi.edu.co/CRAN/
+    http://mirrors.nic.cz/R/
     http://mirrors.dotsrc.org/cran/
     http://cran.espol.edu.ec/
+    http://cran.salud.gob.sv/
+    http://ftp.eenet.ee/pub/cran/
     http://cran.univ-lyon1.fr/
     http://mirror.ibcp.fr/pub/CRAN/
     http://ftp.igh.cnrs.fr/pub/CRAN/
     http://cran.irsn.fr/
     http://cran.univ-paris1.fr/
+    http://cran.cardse.net/
     http://mirrors.softliste.de/cran/
-    http://cran.r-mirror.de/
     http://ftp5.gwdg.de/pub/misc/cran/
-    http://cran.cc.uoc.gr/
+    http://cran.sciserv.eu/
+    http://cran.uni-muenster.de/
+    http://cran.cc.uoc.gr/mirrors/CRAN/
     http://cran.rapporter.net/
+    http://cran.hafro.is/
     http://ftp.iitm.ac.in/cran/
     http://cran.repo.bppt.go.id/
+    http://cran.unej.ac.id/
     http://cran.um.ac.ir/
     http://ftp.heanet.ie/mirrors/cran.r-project.org/
     http://cran.mirror.garr.it/mirrors/CRAN/
     http://cran.stat.unipd.it/
     http://dssm.unipa.it/CRAN/
-    http://essrc.hyogo-u.ac.jp/cran/
-    http://cran.md.tsukuba.ac.jp/
     http://cran.ism.ac.jp/
+    http://cran.md.tsukuba.ac.jp/
     http://cran.nexr.com/
-    http://biostat.cau.ac.kr/CRAN/
+    http://healthstat.snu.ac.kr/CRAN/
+    http://cran.biodisk.org/
+    http://rmirror.lau.edu.lb/
     http://cran.itam.mx/
     http://www.est.colpos.mx/R-mirror/
     http://cran.xl-mirror.nl/
@@ -348,15 +365,18 @@ rec {
     http://cran.fyxm.net/
     http://r.adu.org.za/
     http://cran.mirror.ac.za/
+    http://ftp.cixug.es/CRAN/
     http://cran.es.r-project.org/
     http://ftp.sunet.se/pub/lang/CRAN/
     http://stat.ethz.ch/CRAN/
-    http://cran.cs.pu.edu.tw/
+    http://ftp.yzu.edu.tw/CRAN/
     http://cran.csie.ntu.edu.tw/
     http://mirrors.psu.ac.th/pub/cran/
     http://cran.pau.edu.tr/
     http://www.stats.bris.ac.uk/R/
+    http://mirrors.ebi.ac.uk/CRAN/
     http://cran.ma.imperial.ac.uk/
+    http://mirror.mdx.ac.uk/R/
     http://star-www.st-andrews.ac.uk/cran/
     http://cran.cnr.berkeley.edu/
     http://cran.stat.ucla.edu/
@@ -376,7 +396,6 @@ rec {
     http://cran.cs.wwu.edu/
     http://camoruco.ing.uc.edu.ve/cran/
     http://cran.vinastat.com/
-    http://lib.stat.cmu.edu/
   ];
 
   # Hackage mirrors
@@ -385,4 +404,58 @@ rec {
     http://hdiff.luite.com/packages/archive/package/
   ];
 
+  # Roy marples mirrors
+  roy = [
+    http://roy.marples.name/downloads/
+    http://roy.aydogan.net/
+    http://cflags.cc/roy/
+  ];
+
+  # Sage mirrors (http://www.sagemath.org/mirrors.html)
+  sagemath = [
+    http://boxen.math.washington.edu/home/sagemath/sage-mirror/src/
+    http://echidna.maths.usyd.edu.au/sage/src/
+    http://ftp.iitm.ac.in/sage/src/
+    http://ftp.kaist.ac.kr/sage/src/
+    http://ftp.riken.jp/sagemath/src/
+    http://ftp.tsukuba.wide.ad.jp/software/sage/src/
+    http://jambu.spms.ntu.edu.sg/sage/src/
+    http://linorg.usp.br/sage/src/
+    http://mirror.aarnet.edu.au/pub/sage/src/
+    http://mirror.clibre.uqam.ca/sage/src/
+    http://mirror.hust.edu.cn/sagemath/src/
+    http://mirror.switch.ch/mirror/sagemath/src/
+    http://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/
+    http://mirrors.fe.up.pt/pub/sage/src/
+    http://mirrors.hustunique.com/sagemath/src/
+    http://mirrors.ustc.edu.cn/sagemath/src/
+    http://mirrors.xmission.com/sage/src/
+    http://sage.asis.io/src/
+    http://sage.mirror.garr.it/mirrors/sage/src/
+    http://sage.yasar.edu.tr/src/
+    http://sagemath.c3sl.ufpr.br/src/
+    http://sagemath.polytechnic.edu.na/src/
+    http://sunsite.rediris.es/mirror/sagemath/src/
+    http://www-ftp.lip6.fr/pub/math/sagemath/src/
+    http://www.mirrorservice.org/sites/www.sagemath.org/src/
+
+    # Old versions
+    http://www.cecm.sfu.ca/sage/src/
+    http://sagemath.org/src-old/
+  ];
+
+  # MySQL mirrors
+  mysql = [
+    http://mysql.mirrors.pair.com/Downloads/
+    http://cdn.mysql.com/Downloads/
+  ];
+
+  # OpenBSD mirrors
+  openbsd = [
+    http://ftp.openbsd.org/pub/OpenBSD/
+    ftp://ftp.nluug.nl/pub/OpenBSD/
+    ftp://ftp-stud.fht-esslingen.de/pub/OpenBSD/
+    ftp://ftp.halifax.rwth-aachen.de/pub/OpenBSD/
+    ftp://mirror.switch.ch/pub/OpenBSD/
+  ];
 }
diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix
index 12fb69ba8ef..46e7d917160 100644
--- a/pkgs/build-support/fetchzip/default.nix
+++ b/pkgs/build-support/fetchzip/default.nix
@@ -12,7 +12,7 @@
 , url
 , ... } @ args:
 
-fetchurl ({
+lib.overrideDerivation (fetchurl ({
   name = args.name or (baseNameOf url);
 
   recursiveHash = true;
@@ -23,20 +23,31 @@ fetchurl ({
     ''
       export PATH=${unzip}/bin:$PATH
       mkdir $out
-      cd $out
+
+      unpackDir="$TMPDIR/unpack"
+      mkdir "$unpackDir"
+      cd "$unpackDir"
+
       renamed="$TMPDIR/${baseNameOf url}"
       mv "$downloadedFile" "$renamed"
       unpackFile "$renamed"
-    ''
-    # FIXME: handle zip files that contain a single regular file.
-    + lib.optionalString stripRoot ''
+
       shopt -s dotglob
-      if [ "$(ls -d $out/* | wc -l)" != 1 ]; then
-        echo "error: zip file must contain a single directory."
+    ''
+    + (if stripRoot then ''
+      if [ $(ls "$unpackDir" | wc -l) != 1 ]; then
+        echo "error: zip file must contain a single file or directory."
         exit 1
       fi
-      fn=$(cd "$out" && echo *)
-      mv $out/$fn/* "$out/"
-      rmdir "$out/$fn"
-    '';
-} // args)
+      fn=$(cd "$unpackDir" && echo *)
+      if [ -f "$unpackDir/$fn" ]; then
+        mv "$unpackDir/$fn" "$out"
+      else
+        mv "$unpackDir/$fn"/* "$out/"
+      fi
+    '' else ''
+      mv "$unpackDir"/* "$out/"
+    '');
+} // removeAttrs args [ "stripRoot" ]))
+# Hackety-hack: we actually need unzip hooks, too
+(x: {nativeBuildInputs = x.nativeBuildInputs++ [unzip];})
diff --git a/pkgs/build-support/fetchzip/nix-prefetch-zip b/pkgs/build-support/fetchzip/nix-prefetch-zip
index 76255ab3674..ccc03e087e5 100755
--- a/pkgs/build-support/fetchzip/nix-prefetch-zip
+++ b/pkgs/build-support/fetchzip/nix-prefetch-zip
@@ -15,6 +15,7 @@ Options:
 }
 
 
+name=""
 argi=0
 argfun=""
 for arg; do
@@ -66,8 +67,12 @@ hashFormat="--base32"
 tmp=$(mktemp -d 2>/dev/null || mktemp -d -t "$$")
 trap "rm -rf '$tmp'" EXIT
 
+unpackDirTmp=$tmp/unpacked-tmp/$name
+mkdir -p $unpackDirTmp
+
 unpackDir=$tmp/unpacked/$name
 mkdir -p $unpackDir
+
 downloadedFile=$tmp/$name
 
 unpackFile() {
@@ -116,19 +121,27 @@ if test -z "$finalPath"; then
     exit 1
   fi
 
-  cd $unpackDir
-  unpackFile "$downloadedFile"
-
-  # FIXME: handle zip files that contain a single regular file.
   if [ -z "$leaveRoot" ]; then
     shopt -s dotglob
-    if [ $(ls -d $unpackDir/* | wc -l) != 1 ]; then
-      echo "error: zip file must contain a single directory."
+
+    cd "$unpackDirTmp"
+    unpackFile "$downloadedFile"
+
+    if [ $(ls "$unpackDirTmp" | wc -l) != 1 ]; then
+      echo "error: zip file must contain a single file or directory."
       exit 1
     fi
-    fn=$(cd "$unpackDir" && echo *)
-    mv $unpackDir/$fn/* "$unpackDir/"
-    rmdir "$unpackDir/$fn"
+
+    fn=$(cd "$unpackDirTmp" && echo *)
+
+    if [ -f "$unpackDirTmp/$fn" ]; then
+      mv "$unpackDirTmp/$fn" "$unpackDir"
+    else
+      mv "$unpackDirTmp/$fn/"* "$unpackDir/"
+    fi
+  else
+    cd $unpackDir
+    unpackFile "$downloadedFile"
   fi
 
   # Compute the hash.
diff --git a/pkgs/build-support/gcc-cross-wrapper/builder.sh b/pkgs/build-support/gcc-cross-wrapper/builder.sh
index 1d7d1046d36..c6bc2a7c8bf 100644
--- a/pkgs/build-support/gcc-cross-wrapper/builder.sh
+++ b/pkgs/build-support/gcc-cross-wrapper/builder.sh
@@ -109,7 +109,7 @@ chmod +x "$out/bin/$crossConfig-ld"
 
 # Emit a setup hook.  Also store the path to the original GCC and
 # Glibc.
-test -n "$gcc" && echo $gcc > $out/nix-support/orig-gcc
+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"
diff --git a/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh b/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh
index f954cae05d8..c15777144e1 100644
--- a/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh
+++ b/pkgs/build-support/gcc-cross-wrapper/gcc-wrapper.sh
@@ -1,7 +1,7 @@
 #! @shell@ -e
 
-if test -n "$NIX_GCC_WRAPPER_START_HOOK"; then
-    source "$NIX_GCC_WRAPPER_START_HOOK"
+if test -n "$NIX_CC_WRAPPER_START_HOOK"; then
+    source "$NIX_CC_WRAPPER_START_HOOK"
 fi
 
 if test -z "$NIX_CROSS_GLIBC_FLAGS_SET"; then
@@ -107,20 +107,11 @@ if test "$NIX_DEBUG" = "1"; then
   done
 fi
 
-if test -n "$NIX_GCC_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_GCC_WRAPPER_EXEC_HOOK"
+if test -n "$NIX_CC_WRAPPER_EXEC_HOOK"; then
+    source "$NIX_CC_WRAPPER_EXEC_HOOK"
 fi
 
 # We want gcc to call the wrapper linker, not that of binutils.
 export PATH="@ldPath@:$PATH"
 
-# 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_GCC_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    
+exec @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
diff --git a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
index ce5f6e56136..599954bd127 100644
--- a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
+++ b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh
@@ -85,3 +85,6 @@ if test "$NIX_NO_SELF_RPATH" != "1"; then
         export NIX_CROSS_LDFLAGS="-rpath $out/lib64 -rpath-link $out/lib $NIX_CROSS_LDFLAGS"
     fi
 fi
+
+export CC=${crossConfig}-gcc
+export CXX=${crossConfig}-g++
diff --git a/pkgs/build-support/gcc-wrapper-old/add-flags b/pkgs/build-support/gcc-wrapper-old/add-flags
new file mode 100644
index 00000000000..7714a630573
--- /dev/null
+++ b/pkgs/build-support/gcc-wrapper-old/add-flags
@@ -0,0 +1,28 @@
+# `-B@out@/bin' forces gcc 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/gcc-cflags; then
+    export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/gcc-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/gcc-ldflags; then
+    export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/gcc-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
new file mode 100644
index 00000000000..1fa72deb234
--- /dev/null
+++ b/pkgs/build-support/gcc-wrapper-old/builder.sh
@@ -0,0 +1,215 @@
+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/gcc-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/gcc-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
+    echo $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
new file mode 100644
index 00000000000..f44aaec5d9d
--- /dev/null
+++ b/pkgs/build-support/gcc-wrapper-old/default.nix
@@ -0,0 +1,100 @@
+# 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, nativeTools, nativeLibc, nativePrefix ? ""
+, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
+, zlib ? null
+}:
+
+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 = gcc.lib or gcc;
+  libc = if nativeLibc then null else libc;
+  libc_dev = if nativeLibc then null else libc.dev or libc;
+  libc_bin = if nativeLibc then null else libc.bin or libc;
+  binutils = if nativeTools then null else binutils;
+  # The wrapper scripts use 'cat', so we may need coreutils
+  coreutils = if nativeTools then null else 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 = if shell == "" then stdenv.shell else
+    if builtins.isAttrs shell then (shell + shell.shellPath)
+    else shell;
+
+  crossAttrs = {
+    shell = shell.crossDrv + shell.crossDrv.shellPath;
+    libc = stdenv.ccCross.libc;
+    coreutils = coreutils.crossDrv;
+    binutils = binutils.crossDrv;
+    gcc = gcc.crossDrv;
+    #
+    # This is not the best way to do this. I think the reference should be
+    # the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
+    # do this sufficient if/else.
+    dynamicLinker =
+      (if stdenv.cross.arch == "arm" then "ld-linux.so.3" else
+       if stdenv.cross.arch == "mips" then "ld.so.1" else
+       if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else
+       abort "don't know the name of the dynamic linker for this platform");
+  };
+
+  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 Linux platforms.
+  dynamicLinker =
+    if !nativeLibc then
+      (if stdenv.system == "i686-linux" then "ld-linux.so.2" else
+       if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
+       # ARM with a wildcard, which can be "" or "-armhf".
+       if stdenv.isArm then "ld-linux*.so.3" else
+       if stdenv.system == "powerpc-linux" then "ld.so.1" else
+       if stdenv.system == "mips64el-linux" then "ld.so.1" else
+       abort "don't know the name of the dynamic linker for this platform")
+    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
new file mode 100644
index 00000000000..a9d18036952
--- /dev/null
+++ b/pkgs/build-support/gcc-wrapper-old/gcc-wrapper-old.sh
@@ -0,0 +1,146 @@
+#! @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/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh
index 2ad7783a442..8f12f08ddc7 100644
--- a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper-old/gcc-wrapper.sh
@@ -1,10 +1,10 @@
 #! @shell@ -e
 
-if test -n "$NIX_GCC_WRAPPER_START_HOOK"; then
-    source "$NIX_GCC_WRAPPER_START_HOOK"
+if test -n "$NIX_CC_WRAPPER_START_HOOK"; then
+    source "$NIX_CC_WRAPPER_START_HOOK"
 fi
 
-if test -z "$NIX_GCC_WRAPPER_FLAGS_SET"; then
+if test -z "$NIX_CC_WRAPPER_FLAGS_SET"; then
     source @out@/nix-support/add-flags.sh
 fi
 
@@ -130,15 +130,15 @@ if test "$NIX_DEBUG" = "1"; then
   done
 fi
 
-if test -n "$NIX_GCC_WRAPPER_EXEC_HOOK"; then
-    source "$NIX_GCC_WRAPPER_EXEC_HOOK"
+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_GCC_NEEDS_GREP"; then
+if test -z "$NIX_CC_NEEDS_GREP"; then
     @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
 else
     (@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
diff --git a/pkgs/build-support/gcc-wrapper/gnat-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh
index f6fa4b18400..f6fa4b18400 100644
--- a/pkgs/build-support/gcc-wrapper/gnat-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper-old/gnat-wrapper.sh
diff --git a/pkgs/build-support/gcc-wrapper/gnatlink-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh
index 25907108b4d..25907108b4d 100644
--- a/pkgs/build-support/gcc-wrapper/gnatlink-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper-old/gnatlink-wrapper.sh
diff --git a/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh
index 5a7b92b5ad7..5a7b92b5ad7 100644
--- a/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper-old/ld-solaris-wrapper.sh
diff --git a/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh
new file mode 100644
index 00000000000..db50d25cb3b
--- /dev/null
+++ b/pkgs/build-support/gcc-wrapper-old/ld-wrapper.sh
@@ -0,0 +1,166 @@
+#! @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
new file mode 100644
index 00000000000..d8bdf858ae5
--- /dev/null
+++ b/pkgs/build-support/gcc-wrapper-old/setup-hook.sh
@@ -0,0 +1,33 @@
+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
+}
+
+envHooks=(${envHooks[@]} 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/utils.sh b/pkgs/build-support/gcc-wrapper-old/utils.sh
index 753b3772e95..753b3772e95 100644
--- a/pkgs/build-support/gcc-wrapper/utils.sh
+++ b/pkgs/build-support/gcc-wrapper-old/utils.sh
diff --git a/pkgs/build-support/gcc-wrapper/add-flags b/pkgs/build-support/gcc-wrapper/add-flags
deleted file mode 100644
index 26e536f6d57..00000000000
--- a/pkgs/build-support/gcc-wrapper/add-flags
+++ /dev/null
@@ -1,28 +0,0 @@
-# `-B@out@/bin' forces gcc 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/gcc-cflags; then
-    export NIX_CFLAGS_COMPILE="$(cat @out@/nix-support/gcc-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/gcc-ldflags; then
-    export NIX_LDFLAGS="$NIX_LDFLAGS $(cat @out@/nix-support/gcc-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_GCC_WRAPPER_FLAGS_SET=1
diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh
deleted file mode 100644
index dbd95505437..00000000000
--- a/pkgs/build-support/gcc-wrapper/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/gcc-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/gcc-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-gcc
-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
-    echo $gcc $binutils $libc $libc_bin > $out/nix-support/propagated-user-env-packages
-fi
diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix
deleted file mode 100644
index 64dab123ec4..00000000000
--- a/pkgs/build-support/gcc-wrapper/default.nix
+++ /dev/null
@@ -1,100 +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, nativeTools, nativeLibc, nativePrefix ? ""
-, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
-, zlib ? null
-}:
-
-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 = gcc.lib or gcc;
-  libc = if nativeLibc then null else libc;
-  libc_dev = if nativeLibc then null else libc.dev or libc;
-  libc_bin = if nativeLibc then null else libc.bin or libc;
-  binutils = if nativeTools then null else binutils;
-  # The wrapper scripts use 'cat', so we may need coreutils
-  coreutils = if nativeTools then null else 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 = if shell == "" then stdenv.shell else
-    if builtins.isAttrs shell then (shell + shell.shellPath)
-    else shell;
-
-  crossAttrs = {
-    shell = shell.crossDrv + shell.crossDrv.shellPath;
-    libc = stdenv.gccCross.libc;
-    coreutils = coreutils.crossDrv;
-    binutils = binutils.crossDrv;
-    gcc = gcc.crossDrv;
-    #
-    # This is not the best way to do this. I think the reference should be
-    # the style in the gcc-cross-wrapper, but to keep a stable stdenv now I
-    # do this sufficient if/else.
-    dynamicLinker =
-      (if stdenv.cross.arch == "arm" then "ld-linux.so.3" else
-       if stdenv.cross.arch == "mips" then "ld.so.1" else
-       if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else
-       abort "don't know the name of the dynamic linker for this platform");
-  };
-
-  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 Linux platforms.
-  dynamicLinker =
-    if !nativeLibc then
-      (if stdenv.system == "i686-linux" then "ld-linux.so.2" else
-       if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" else
-       # ARM with a wildcard, which can be "" or "-armhf".
-       if stdenv.isArm then "ld-linux*.so.3" else
-       if stdenv.system == "powerpc-linux" then "ld.so.1" else
-       if stdenv.system == "mips64el-linux" then "ld.so.1" else
-       abort "don't know the name of the dynamic linker for this platform")
-    else "";
-}
diff --git a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
deleted file mode 100644
index 51803e12a4e..00000000000
--- a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh
+++ /dev/null
@@ -1,163 +0,0 @@
-#! @shell@ -e
-
-if test -n "$NIX_LD_WRAPPER_START_HOOK"; then
-    source "$NIX_LD_WRAPPER_START_HOOK"
-fi
-
-if test -z "$NIX_GCC_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
-        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/setup-hook.sh b/pkgs/build-support/gcc-wrapper/setup-hook.sh
deleted file mode 100644
index c0082471916..00000000000
--- a/pkgs/build-support/gcc-wrapper/setup-hook.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-export NIX_GCC=@out@
-
-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
-}
-
-envHooks+=(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/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix
index e66b348d082..e82792be033 100644
--- a/pkgs/build-support/grsecurity/default.nix
+++ b/pkgs/build-support/grsecurity/default.nix
@@ -10,6 +10,7 @@ let
       mode = "auto";
       sysctl = false;
       denyChrootChmod = false;
+      denyUSB = false;
       restrictProc = false;
       restrictProcWithGroup = true;
       unrestrictProcGid = 121; # Ugh, an awful hack. See grsecurity NixOS gid
@@ -32,7 +33,7 @@ let
 
     grKernel = if cfg.stable
                then mkKernel pkgs.linux_3_14 stable-patch
-               else mkKernel pkgs.linux_3_15 test-patch;
+               else mkKernel pkgs.linux_3_19 test-patch;
 
     ## -- grsecurity configuration ---------------------------------------------
 
@@ -49,14 +50,14 @@ let
         "GRKERNSEC_CONFIG_SERVER y";
 
     grsecVirtCfg =
-      if cfg.config.virtualisationConfig == "none" then
+      if cfg.config.virtualisationConfig == null then
         "GRKERNSEC_CONFIG_VIRT_NONE y"
       else if cfg.config.virtualisationConfig == "host" then
         "GRKERNSEC_CONFIG_VIRT_HOST y"
       else
         "GRKERNSEC_CONFIG_VIRT_GUEST y";
 
-    grsecHwvirtCfg = if cfg.config.virtualisationConfig == "none" then "" else
+    grsecHwvirtCfg = if cfg.config.virtualisationConfig == null then "" else
       if cfg.config.hardwareVirtualisation == true then
         "GRKERNSEC_CONFIG_VIRT_EPT y"
       else
@@ -65,7 +66,7 @@ let
     grsecVirtswCfg =
       let virtCfg = opt: "GRKERNSEC_CONFIG_VIRT_"+opt+" y";
       in
-        if cfg.config.virtualisationConfig == "none" then ""
+        if cfg.config.virtualisationConfig == null then ""
         else if cfg.config.virtualisationSoftware == "xen"    then virtCfg "XEN"
         else if cfg.config.virtualisationSoftware == "kvm"    then virtCfg "KVM"
         else if cfg.config.virtualisationSoftware == "vmware" then virtCfg "VMWARE"
@@ -84,7 +85,7 @@ let
       let boolToKernOpt = b: if b then "y" else "n";
           # Disable RANDSTRUCT under virtualbox, as it has some kind of
           # breakage with the vbox guest drivers
-          #randstruct = optionalString config.services.virtualbox.enable
+          #randstruct = optionalString config.services.virtualboxGuest.enable
           #  "GRKERNSEC_RANDSTRUCT n";
 
           # Disable restricting links under the testing kernel, as something
@@ -106,6 +107,7 @@ let
 
         GRKERNSEC_SYSCTL ${boolToKernOpt cfg.config.sysctl}
         GRKERNSEC_CHROOT_CHMOD ${boolToKernOpt cfg.config.denyChrootChmod}
+        GRKERNSEC_DENYUSB ${boolToKernOpt cfg.config.denyUSB}
         GRKERNSEC_NO_RBAC ${boolToKernOpt cfg.config.disableRBAC}
         ${restrictLinks}
 
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix
index 0582ca55301..895160616b7 100644
--- a/pkgs/build-support/kernel/make-initrd.nix
+++ b/pkgs/build-support/kernel/make-initrd.nix
@@ -12,7 +12,7 @@
 # `contents = {object = ...; symlink = /init;}' is a typical
 # argument.
 
-{stdenv, perl, perlArchiveCpio, cpio, contents, ubootChooser, compressor}:
+{ stdenv, perl, perlArchiveCpio, cpio, contents, ubootChooser, compressor, prepend }:
 
 let
   inputsFun = ubootName : [perl cpio perlArchiveCpio ]
@@ -41,5 +41,5 @@ stdenv.mkDerivation {
     nativeBuildInputs = inputsFun stdenv.cross.platform.uboot;
     makeUInitrd = makeUInitrdFun stdenv.cross.platform.uboot;
   };
-  inherit compressor;
+  inherit compressor prepend;
 }
diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh
index 17b261f9840..08961a1b49c 100644
--- a/pkgs/build-support/kernel/make-initrd.sh
+++ b/pkgs/build-support/kernel/make-initrd.sh
@@ -36,7 +36,10 @@ storePaths=$(perl $pathsFromGraph closure-*)
 
 # Put the closure in a gzipped cpio archive.
 mkdir -p $out
-(cd root && find * -print0 | cpio -o -H newc --null | perl $cpioClean | $compressor > $out/initrd)
+for PREP in $prepend; do
+  cat $PREP >> $out/initrd
+done
+(cd root && find * -print0 | cpio -o -H newc --null | perl $cpioClean | $compressor >> $out/initrd)
 
 if [ -n "$makeUInitrd" ]; then
     mv $out/initrd $out/initrd.gz
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index 4afed3add75..4e0a8245ac1 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -102,3 +102,10 @@ int __xstat(int ver, const char * path, struct stat * st)
     char buf[PATH_MAX];
     return __xstat_real(ver, rewrite(path, buf), st);
 }
+
+int * access(const char * path, int mode)
+{
+    int * (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access");
+    char buf[PATH_MAX];
+    return access_real(rewrite(path, buf), mode);
+}
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
index 409c98d8d3a..06875f6b765 100644
--- a/pkgs/build-support/release/ant-build.nix
+++ b/pkgs/build-support/release/ant-build.nix
@@ -9,7 +9,7 @@
 , antBuildInputs ? []
 , buildfile ? "build.xml"
 , ant ? pkgs.ant
-, jre ? pkgs.openjdk
+, jre ? pkgs.jdk
 , hydraAntLogger ? pkgs.hydraAntLogger
 , zip ? pkgs.zip
 , unzip ? pkgs.unzip
@@ -108,7 +108,7 @@ stdenv.mkDerivation (
       . ${./functions.sh}
 
       origSrc=$src
-      src=$(findTarballs $src | head -1)
+      src=$(findTarball $src)
     ''; 
   }
 )
diff --git a/pkgs/build-support/release/binary-tarball.nix b/pkgs/build-support/release/binary-tarball.nix
index 41fab231ee3..f691b1bf735 100644
--- a/pkgs/build-support/release/binary-tarball.nix
+++ b/pkgs/build-support/release/binary-tarball.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation (
       . ${./functions.sh}
 
       origSrc=$src
-      src=$(findTarballs $src | head -1)
+      src=$(findTarball $src)
 
       if test -e $origSrc/nix-support/hydra-release-name; then
           releaseName=$(cat $origSrc/nix-support/hydra-release-name)
diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index 3adfe41031d..7dcc9b9552a 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -32,7 +32,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
     postHook = ''
       . ${./functions.sh}
       propagateImageName
-      src=$(findTarballs $src | head -1) # Find a tarball.
+      src=$(findTarball $src)
     '';
 
     installExtraDebsPhase = ''
diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix
index d36707dc60f..82919cf819f 100644
--- a/pkgs/build-support/release/default.nix
+++ b/pkgs/build-support/release/default.nix
@@ -32,7 +32,7 @@ rec {
     } // args);
 
   clangAnalysis = args: nixBuild (
-    { inherit clangAnalyzer;
+    { inherit clang-analyzer;
       doClangAnalysis = true;
     } // args);
 
diff --git a/pkgs/build-support/release/functions.sh b/pkgs/build-support/release/functions.sh
index efc4e7970cc..875a2da178d 100644
--- a/pkgs/build-support/release/functions.sh
+++ b/pkgs/build-support/release/functions.sh
@@ -1,34 +1,37 @@
-findTarballs() {
-    local suffix
-    test -d "$1/tarballs/" && {
+findTarball() {
+    local suffix i
+    if [ -d "$1/tarballs/" ]; then
         for suffix in tar.gz tgz tar.bz2 tbz2 tar.xz tar.lzma; do
-            ls $1/tarballs/*.$suffix 2> /dev/null
-        done | sort
-    }
-    echo "$1"
+            for i in $1/tarballs/*.$suffix; do echo $i; break; done
+        done | sort | head -1
+        return
+    else
+        echo "$1"
+        return
+    fi
 }
 
 canonicalizeJarManifest() {
-	local input=$1
-	# http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
-	(head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
-	mv $input-tmp $input
+    local input=$1
+    # http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
+    (head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
+    mv $input-tmp $input
 }
 
 # Post-process a jar file to contain canonical timestamps and metadata ordering
 canonicalizeJar() {
-	local input=$1
-	local outer=$(pwd)
-	unzip -qq $input -d $input-tmp
-	canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
-	# Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
-	find $input-tmp -exec touch -t 198001010000.00 {} +
-	rm $input
-	pushd $input-tmp
-	zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
-	popd
-	rm -rf $input-tmp
-	mv $outer/tmp-out.jar $input
+    local input=$1
+    local outer=$(pwd)
+    unzip -qq $input -d $input-tmp
+    canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
+    # Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
+    find $input-tmp -exec touch -t 198001010000.00 {} +
+    rm $input
+    pushd $input-tmp
+    zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
+    popd
+    rm -rf $input-tmp
+    mv $outer/tmp-out.jar $input
 }
 
 propagateImageName() {
diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix
index b80c9242ed2..d42538c7e5d 100644
--- a/pkgs/build-support/release/nix-build.nix
+++ b/pkgs/build-support/release/nix-build.nix
@@ -18,6 +18,8 @@
 , prePhases ? []
 , postPhases ? []
 , buildInputs ? []
+, preHook ? ""
+, postHook ? ""
 , ... } @ args:
 
 let
@@ -89,7 +91,8 @@ stdenv.mkDerivation (
     postHook = ''
       . ${./functions.sh}
       origSrc=$src
-      src=$(findTarballs $src | head -1)
+      src=$(findTarball $src)
+      ${postHook}
     '';
 
     preHook = ''
@@ -105,6 +108,8 @@ stdenv.mkDerivation (
         shopt -s expand_aliases
         alias make="scan-build -o _clang_analyze_$name --html-title='Scan results for $name' make"
       fi
+
+      ${preHook}
     '';
 
     # Clean up after analysis
@@ -132,7 +137,7 @@ stdenv.mkDerivation (
     buildInputs =
       buildInputs ++
       (stdenv.lib.optional doCoverageAnalysis args.makeGCOVReport) ++
-      (stdenv.lib.optional doClangAnalysis args.clangAnalyzer) ++
+      (stdenv.lib.optional doClangAnalysis args.clang-analyzer) ++
       (stdenv.lib.optional doCoverityAnalysis args.cov-build) ++
       (stdenv.lib.optional doCoverityAnalysis args.xz);
 
diff --git a/pkgs/build-support/release/rpm-build.nix b/pkgs/build-support/release/rpm-build.nix
index 9a1c7eeee62..194bbc60534 100644
--- a/pkgs/build-support/release/rpm-build.nix
+++ b/pkgs/build-support/release/rpm-build.nix
@@ -16,7 +16,7 @@ vmTools.buildRPM (
     preBuild = ''
       . ${./functions.sh}
       propagateImageName
-      src=$(findTarballs $src | head -1) # Pick the first tarball.
+      src=$(findTarball $src)
     '';
 
     postInstall = ''
diff --git a/pkgs/build-support/replace-dependency.nix b/pkgs/build-support/replace-dependency.nix
index 098637b4f9b..ed65b9dad1d 100644
--- a/pkgs/build-support/replace-dependency.nix
+++ b/pkgs/build-support/replace-dependency.nix
@@ -49,8 +49,13 @@ let
 
   referencesOf = drv: getAttr (discard (toString drv)) references;
 
-  dependsOnOld = drv: elem oldStorepath (referencesOf drv) ||
-    any dependsOnOld (referencesOf drv);
+  dependsOnOldMemo = listToAttrs (map
+    (drv: { name = discard (toString drv);
+            value = elem oldStorepath (referencesOf drv) ||
+                    any dependsOnOld (referencesOf drv);
+          }) (builtins.attrNames references));
+
+  dependsOnOld = drv: getAttr (discard (toString drv)) dependsOnOldMemo;
 
   drvName = drv:
     discard (substring 33 (stringLength (builtins.baseNameOf drv)) (builtins.baseNameOf drv));
@@ -65,15 +70,12 @@ let
 
   rewrittenDeps = listToAttrs [ {name = discard (toString oldDependency); value = newDependency;} ];
 
-  rewrittenDerivations = drv:
-    if dependsOnOld drv
-      then listToAttrs [ {
-        name = discard (toString drv);
+  rewriteMemo = listToAttrs (map
+    (drv: { name = discard (toString drv);
+            value = rewriteHashes (builtins.storePath drv)
+              (filterAttrs (n: v: builtins.elem (builtins.storePath (discard (toString n))) (referencesOf drv)) rewriteMemo);
+          })
+    (filter dependsOnOld (builtins.attrNames references))) // rewrittenDeps;
 
-        value = rewriteHashes drv (rewrittenDeps // (fold (drv: acc:
-          (rewrittenDerivations drv) // acc
-        ) {} (referencesOf drv)));
-      } ]
-      else {};
 in assert (stringLength (drvName (toString oldDependency)) == stringLength (drvName (toString newDependency)));
-getAttr (discard (toString drv)) (rewrittenDerivations drv)
+getAttr (discard (toString drv)) rewriteMemo
diff --git a/pkgs/build-support/setup-hooks/autoreconf.sh b/pkgs/build-support/setup-hooks/autoreconf.sh
index f70a1087084..441d6b43baa 100644
--- a/pkgs/build-support/setup-hooks/autoreconf.sh
+++ b/pkgs/build-support/setup-hooks/autoreconf.sh
@@ -1,11 +1,11 @@
 preConfigurePhases+=" autoreconfPhase"
 
-for i in @autoconf@ @automake@ @libtool@; do
+for i in @autoconf@ @automake@ @libtool@ @gettext@; do
     findInputs $i nativePkgs propagated-native-build-inputs
 done
 
 autoreconfPhase() {
     runHook preAutoreconf
-    autoreconf ${autoreconfFlags:---install --force}
+    autoreconf ${autoreconfFlags:---install --force --verbose}
     runHook postAutoreconf
 }
diff --git a/pkgs/build-support/setup-hooks/find-xml-catalogs.sh b/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
new file mode 100644
index 00000000000..b742d5a8ffd
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/find-xml-catalogs.sh
@@ -0,0 +1,22 @@
+addXMLCatalogs () {
+    local d i
+    # ‘xml/dtd’ and ‘xml/xsl’ are deprecated. Catalogs should be
+    # installed underneath ‘share/xml’.
+    for d in $1/share/xml $1/xml/dtd $1/xml/xsl; do
+        if [ -d $d ]; then
+            for i in $(find $d -name catalog.xml); do
+                XML_CATALOG_FILES+=" $i"
+            done
+        fi
+    done
+}
+
+if [ -z "$libxmlHookDone" ]; then
+    libxmlHookDone=1
+
+    # Set up XML_CATALOG_FILES.  An empty initial value prevents
+    # xmllint and xsltproc from looking in /etc/xml/catalog.
+    export XML_CATALOG_FILES
+    if [ -z "$XML_CATALOG_FILES" ]; then XML_CATALOG_FILES=" "; fi
+    envHooks+=(addXMLCatalogs)
+fi
diff --git a/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
index 5962bf03906..8fe66102677 100644
--- a/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
+++ b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
@@ -10,6 +10,8 @@
 # their absolute path (using "install_name_tool -id").  It also
 # rewrites references in other dylibs to absolute paths.
 
+fixupOutputHooks+=('fixDarwinDylibNamesIn $prefix')
+
 fixDarwinDylibNames() {
     local flags=()
     local old_id
@@ -29,7 +31,3 @@ fixDarwinDylibNamesIn() {
     local dir="$1"
     fixDarwinDylibNames $(find "$dir" -name "*.dylib")
 }
-
-postFixup() {
-    fixDarwinDylibNamesIn "$prefix"
-}
diff --git a/pkgs/build-support/setup-hooks/move-lib64.sh b/pkgs/build-support/setup-hooks/move-lib64.sh
new file mode 100644
index 00000000000..7724be369c9
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/move-lib64.sh
@@ -0,0 +1,22 @@
+# This setup hook, for each output, moves everything in $output/lib64
+# to $output/lib, and replaces $output/lib64 with a symlink to
+# $output/lib. The rationale is that lib64 directories are unnecessary
+# in Nix (since 32-bit and 64-bit builds of a package are in different
+# store paths anyway).
+# If the move would overwrite anything, it should fail on rmdir.
+
+fixupOutputHooks+=(_moveLib64)
+
+_moveLib64() {
+    if [ "$dontMoveLib64" = 1 ]; then return; fi
+    if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then return; fi
+    echo "moving $prefix/lib64/* to $prefix/lib"
+    mkdir -p $prefix/lib
+    shopt -s dotglob
+    for i in $prefix/lib64/*; do
+        mv --no-clobber "$i" $prefix/lib
+    done
+    shopt -u dotglob
+    rmdir $prefix/lib64
+    ln -s lib $prefix/lib64
+}
diff --git a/pkgs/build-support/setup-hooks/move-sbin.sh b/pkgs/build-support/setup-hooks/move-sbin.sh
new file mode 100644
index 00000000000..cc51c27cafd
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/move-sbin.sh
@@ -0,0 +1,19 @@
+# This setup hook, for each output, moves everything in $output/sbin
+# to $output/bin, and replaces $output/sbin with a symlink to
+# $output/bin.
+
+fixupOutputHooks+=(_moveSbin)
+
+_moveSbin() {
+    if [ "$dontMoveSbin" = 1 ]; then return; fi
+    if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then return; fi
+    echo "moving $prefix/sbin/* to $prefix/bin"
+    mkdir -p $prefix/bin
+    shopt -s dotglob
+    for i in $prefix/sbin/*; do
+        mv "$i" $prefix/bin
+    done
+    shopt -u dotglob
+    rmdir $prefix/sbin
+    ln -s bin $prefix/sbin
+}
diff --git a/pkgs/build-support/substitute-files/substitute-all-files.nix b/pkgs/build-support/substitute-files/substitute-all-files.nix
new file mode 100644
index 00000000000..64291901603
--- /dev/null
+++ b/pkgs/build-support/substitute-files/substitute-all-files.nix
@@ -0,0 +1,22 @@
+{ stdenv }:
+
+args:
+
+stdenv.mkDerivation ({
+  name = if args ? name then args.name else baseNameOf (toString args.src);
+  builder = with stdenv.lib; builtins.toFile "builder.sh" ''
+    source $stdenv/setup
+    set -o pipefail
+
+    eval "$preInstall"
+
+    args=
+
+    cd "$src"
+    echo -ne "${concatStringsSep "\\0" args.files}" | xargs -0 -n1 -I {} -- find {} -type f -print0 | while read -d "" line; do
+      mkdir -p "$out/$(dirname "$line")"
+      substituteAll "$line" "$out/$line"
+    done
+  '';
+  preferLocalBuild = true;
+} // args)
diff --git a/pkgs/build-support/templaterpm/default.nix b/pkgs/build-support/templaterpm/default.nix
new file mode 100644
index 00000000000..aca4e340e26
--- /dev/null
+++ b/pkgs/build-support/templaterpm/default.nix
@@ -0,0 +1,24 @@
+{stdenv, makeWrapper, python, toposort, rpm}:
+
+stdenv.mkDerivation rec {
+  name = "nix-template-rpm-${version}";
+  version = "0.1";
+
+  buildInputs = [ makeWrapper python toposort rpm ];
+
+  phases = [ "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${./nix-template-rpm.py} $out/bin/nix-template-rpm
+    wrapProgram $out/bin/nix-template-rpm \
+      --set PYTHONPATH "${rpm}/lib/${python.libPrefix}/site-packages":"${toposort}/lib/${python.libPrefix}/site-packages"
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Create templates of nix expressions from RPM .spec files";
+    maintainers = with maintainers; [ tstrobel ];
+    platforms = with stdenv.lib.platforms; unix;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/build-support/templaterpm/nix-template-rpm.py b/pkgs/build-support/templaterpm/nix-template-rpm.py
new file mode 100755
index 00000000000..ec3a619027e
--- /dev/null
+++ b/pkgs/build-support/templaterpm/nix-template-rpm.py
@@ -0,0 +1,518 @@
+#!/bin/env python
+
+import sys
+import os
+import subprocess
+import argparse
+import re
+import shutil
+import rpm
+import urlparse
+import traceback
+import toposort
+
+
+
+
+
+class SPECTemplate(object):
+  def __init__(self, specFilename, outputDir, inputDir=None, buildRootInclude=None, translateTable=None, repositoryDir=None, allPackagesDir=None, maintainer="MAINTAINER"):
+    rpm.addMacro("buildroot","$out")
+    rpm.addMacro("_libdir","lib")
+    rpm.addMacro("_libexecdir","libexec")
+    rpm.addMacro("_sbindir","sbin")
+    rpm.addMacro("_sysconfdir","etc")
+    rpm.addMacro("_topdir","SPACER_DIR_FOR_REMOVAL")
+    rpm.addMacro("_sourcedir","SOURCE_DIR_SPACER")
+
+    self.packageGroups = [ "ocaml", "python" ]
+
+    ts = rpm.TransactionSet()
+
+    self.specFilename = specFilename
+    self.spec = ts.parseSpec(specFilename)
+
+    self.inputDir = inputDir
+    self.buildRootInclude = buildRootInclude
+    self.repositoryDir = repositoryDir
+    self.allPackagesDir = allPackagesDir
+    self.maintainer = maintainer
+
+    self.translateTable = translateTable
+
+    self.facts = self.getFacts()
+    self.key = self.getSelfKey()
+
+    tmpDir = os.path.join(outputDir, self.rewriteName(self.spec.sourceHeader['name']))
+    if self.translateTable != None:
+      self.relOutputDir = self.translateTable.path(self.key,tmpDir)
+    else:
+      self.relOutputDir = tmpDir
+
+    self.final_output_dir = os.path.normpath( self.relOutputDir )
+
+    if self.repositoryDir != None:
+      self.potential_repository_dir = os.path.normpath( os.path.join(self.repositoryDir,self.relOutputDir) )
+
+
+
+  def rewriteCommands(self, string):
+    string = string.replace('SPACER_DIR_FOR_REMOVAL/','')
+    string = string.replace('SPACER_DIR_FOR_REMOVAL','')
+    string = '\n'.join(map(lambda line: ' '.join(map(lambda x: x.replace('SOURCE_DIR_SPACER/',('${./' if (self.buildRootInclude == None) else '${buildRoot}/usr/share/buildroot/SOURCES/'))+('}' if (self.buildRootInclude == None) else '') if x.startswith('SOURCE_DIR_SPACER/') else x, line.split(' '))), string.split('\n')))
+    string = string.replace('\n','\n    ')
+    string = string.rstrip()
+    return string
+
+
+  def rewriteName(self, string):
+    parts = string.split('-')
+    parts = filter(lambda x: not x == "devel", parts)
+    parts = filter(lambda x: not x == "doc", parts)
+    if len(parts) > 1 and parts[0] in self.packageGroups:
+      return parts[0] + '-' + ''.join(parts[1:2] + map(lambda x: x.capitalize(), parts[2:]))
+    else:
+      return ''.join(parts[:1] + map(lambda x: x.capitalize(), parts[1:]))
+
+
+  def rewriteInputs(self,target,inputs):
+    camelcase = lambda l: l[:1] + map(lambda x: x.capitalize(), l[1:])
+    filterDevel = lambda l: filter(lambda x: not x == "devel", l)
+    filterDoc = lambda l: filter(lambda x: not x == "doc", l)
+    rewrite = lambda l: ''.join(camelcase(filterDoc(filterDevel(l))))
+
+    def filterPackageGroup(target):
+      if target == None:
+        return [ rewrite(x.split('-')) for x in inputs if (not x.split('-')[0] in self.packageGroups) or (len(x.split('-')) == 1) ]
+      elif target in self.packageGroups:
+        return [ target + '_' + rewrite(x.split('-')[1:]) for x in inputs if (x.split('-')[0] == target) and (len(x.split('-')) > 1)]
+      else:
+        raise Exception("Unknown target")
+        return []
+
+    if target == None:
+      packages = filterPackageGroup(None)
+      packages.sort()
+    elif target in self.packageGroups:
+      packages = filterPackageGroup(target)
+      packages.sort()
+    elif target == "ALL":
+      packages = []
+      for t in [None] + self.packageGroups:
+        tmp = filterPackageGroup(t)
+        tmp.sort()
+        packages += tmp
+    else:
+      raise Exception("Unknown target")
+      packages = []
+
+    return packages
+
+
+  def getBuildInputs(self,target=None):
+    inputs = self.rewriteInputs(target,self.spec.sourceHeader['requires'])
+    if self.translateTable != None:
+      return map(lambda x: self.translateTable.name(x), inputs)
+    else:
+      return inputs
+
+  def getSelfKey(self):
+    name = self.spec.sourceHeader['name']
+    if len(name.split('-')) > 1 and name.split('-')[0] in self.packageGroups:
+      key = self.rewriteInputs(name.split('-')[0], [self.spec.sourceHeader['name']])[0]
+    else:
+      key = self.rewriteInputs(None, [self.spec.sourceHeader['name']])[0]
+    return key
+
+  def getSelf(self):
+    if self.translateTable != None:
+      return self.translateTable.name(self.key)
+    else:
+      return self.key
+
+
+
+
+  def copyPatches(self, input_dir, output_dir):
+    patches = [source for (source, _, flag) in self.spec.sources if flag==2]
+    for filename in patches:
+      shutil.copyfile(os.path.join(input_dir, filename), os.path.join(output_dir, filename))
+
+
+  def copySources(self, input_dir, output_dir):
+    filenames = [source for (source, _, flag) in self.spec.sources if flag==1 if not urlparse.urlparse(source).scheme in ["http", "https"] ]
+    for filename in filenames:
+      shutil.copyfile(os.path.join(input_dir, filename), os.path.join(output_dir, filename))
+
+
+  def getFacts(self):
+    facts = {}
+    facts["name"] = self.rewriteName(self.spec.sourceHeader['name'])
+    facts["version"] = self.spec.sourceHeader['version']
+
+    facts["url"] = []
+    facts["sha256"] = []
+    sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ]
+    for url in sources:
+      p = subprocess.Popen(['nix-prefetch-url', url], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+      output, err = p.communicate()
+      sha256 = output[:-1] #remove new line
+      facts["url"].append(url)
+      facts["sha256"].append(sha256)
+
+    patches = [source for (source, _, flag) in self.spec.sources if flag==2]
+    if self.buildRootInclude == None:
+      facts["patches"] = map(lambda x: './'+x, patches)
+    else:
+      facts["patches"] = map(lambda x: '"${buildRoot}/usr/share/buildroot/SOURCES/'+x+'"', reversed(patches))
+
+    return facts
+
+
+  @property
+  def name(self):
+    out = '  name = "' + self.facts["name"] + '-' + self.facts["version"] + '";\n'
+    out += '  version = "' + self.facts['version'] + '";\n'
+    return out
+
+
+  @property
+  def src(self):
+    sources = [source for (source, _, flag) in self.spec.sources if flag==1 if urlparse.urlparse(source).scheme in ["http", "https"] ]
+    out = ''
+    for (url,sha256) in zip(self.facts['url'],self.facts['sha256']):
+      out += '  src = fetchurl {\n'
+      out += '    url = "' + url + '";\n'
+      out += '    sha256 = "' + sha256 + '";\n'
+      out += '  };\n'
+    return out
+
+
+  @property
+  def patch(self):
+    out = '  patches = [ ' + ' '.join(self.facts['patches']) + ' ];\n'
+    return out
+
+
+  @property
+  def buildInputs(self):
+    out = '  buildInputs = [ '
+    out += ' '.join(self.getBuildInputs("ALL"))
+    out += ' ];\n'
+    return out
+
+
+  @property
+  def configure(self):
+    out = '  configurePhase = \'\'\n    ' + self.rewriteCommands(self.spec.prep) + '\n    \'\';\n';
+    return out
+
+
+  @property
+  def build(self):
+    out = '  buildPhase = \'\'\n    ' + self.rewriteCommands(self.spec.build) + '\n    \'\';\n';
+    return out
+
+
+  @property
+  def install(self):
+    out = '  installPhase = \'\'\n    ' + self.rewriteCommands(self.spec.install) + '\n    \'\';\n';
+    return out
+
+  @property
+  def ocamlExtra(self):
+    if "ocaml" in self.getBuildInputs("ALL"):
+      return '  createFindlibDestdir = true;\n'
+    else:
+      return ''
+
+
+  @property
+  def meta(self):
+    out = '  meta = {\n'
+    out += '    homepage = ' + self.spec.sourceHeader['url'] + ';\n'
+    out += '    description = "' + self.spec.sourceHeader['summary'] + '";\n'
+    out += '    license = stdenv.lib.licenses.' + self.spec.sourceHeader['license'] + ';\n'
+    out += '    platforms = [ "i686-linux" "x86_64-linux" ];\n'
+    out += '    maintainers = with stdenv.lib.maintainers; [ ' + self.maintainer + ' ];\n'
+    out += '  };\n'
+    out += '}\n'
+    return out
+
+
+  def __str__(self):
+    head = '{stdenv, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n'
+    head += 'stdenv.mkDerivation {\n'
+    body = [ self.name, self.src, self.patch, self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ]
+    return head + '\n'.join(body)
+
+
+  def getTemplate(self):
+    head = '{stdenv, buildRoot, fetchurl, ' + ', '.join(self.getBuildInputs("ALL")) + '}:\n\n'
+    head += 'let\n'
+    head += '  buildRootInput = (import "${buildRoot}/usr/share/buildroot/buildRootInput.nix") { fetchurl=fetchurl; buildRoot=buildRoot; };\n'
+    head += 'in\n\n'
+    head += 'stdenv.mkDerivation {\n'
+    head += '  inherit (buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+') name version src;\n'
+    head += '  patches = buildRootInput.'+self.rewriteName(self.spec.sourceHeader['name'])+'.patches ++ [];\n\n'
+    body = [ self.buildInputs, self.configure, self.build, self.ocamlExtra, self.install, self.meta ]
+    return head + '\n'.join(body)
+
+
+  def getInclude(self):
+    head = self.rewriteName(self.spec.sourceHeader['name']) + ' = {\n'
+    body = [ self.name, self.src, self.patch ]
+    return head + '\n'.join(body) + '};\n'
+
+
+  def __cmp__(self,other):
+    if self.getSelf() in other.getBuildInputs("ALL"):
+      return 1
+    else:
+      return -1
+
+
+  def callPackage(self):
+    callPackage = '  ' + self.getSelf() + ' = callPackage ' + os.path.relpath(self.final_output_dir, self.allPackagesDir) + ' {'
+    newline = False;
+    for target in self.packageGroups:
+      tmp = self.getBuildInputs(target)
+      if len(tmp) > 0:
+        newline = True;
+        callPackage += '\n    ' + 'inherit (' + target + 'Packages) ' + ' '.join(tmp) + ';'
+    if newline:
+      callPackage += '\n  };'
+    else:
+      callPackage += ' };'
+    return callPackage
+
+
+
+  def generateCombined(self):
+    if not os.path.exists(self.final_output_dir):
+      os.makedirs(self.final_output_dir)
+
+    if self.inputDir != None:
+      self.copySources(self.inputDir, self.final_output_dir)
+      self.copyPatches(self.inputDir, self.final_output_dir)
+
+    nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w')
+    nixfile.write(str(self))
+    nixfile.close()
+
+    shutil.copyfile(self.specFilename, os.path.join(self.final_output_dir, os.path.basename(self.specFilename)))
+
+
+
+  def generateSplit(self):
+    if not os.path.exists(self.final_output_dir):
+      os.makedirs(self.final_output_dir)
+
+    nixfile = open(os.path.join(self.final_output_dir,'default.nix'), 'w')
+    nixfile.write(self.getTemplate())
+    nixfile.close()
+
+    return self.getInclude()
+
+
+
+
+
+
+class NixTemplate(object):
+  def __init__(self, nixfile):
+    self.nixfile = nixfile
+    self.original = { "name":None, "version":None, "url":None, "sha256":None, "patches":None }
+    self.update = { "name":None, "version":None, "url":None, "sha256":None, "patches":None }
+    self.matchedLines = {}
+
+    if os.path.isfile(nixfile):
+      with file(nixfile, 'r') as infile:
+        for (n,line) in enumerate(infile):
+          name = re.match(r'^\s*name\s*=\s*"(.*?)"\s*;\s*$', line)
+          version = re.match(r'^\s*version\s*=\s*"(.*?)"\s*;\s*$', line)
+          url = re.match(r'^\s*url\s*=\s*"?(.*?)"?\s*;\s*$', line)
+          sha256 = re.match(r'^\s*sha256\s*=\s*"(.*?)"\s*;\s*$', line)
+          patches = re.match(r'^\s*patches\s*=\s*(\[.*?\])\s*;\s*$', line)
+          if name != None and self.original["name"] == None:
+              self.original["name"] = name.group(1)
+              self.matchedLines[n] = "name"
+          if version != None and self.original["version"] == None:
+              self.original["version"] = version.group(1)
+              self.matchedLines[n] = "version"
+          if url != None and self.original["url"] == None:
+              self.original["url"] = url.group(1)
+              self.matchedLines[n] = "url"
+          if sha256 != None and self.original["sha256"] == None:
+              self.original["sha256"] = sha256.group(1)
+              self.matchedLines[n] = "sha256"
+          if patches != None and self.original["patches"] == None:
+              self.original["patches"] = patches.group(1)
+              self.matchedLines[n] = "patches"
+
+
+  def generateUpdated(self, nixOut):
+    nixTemplateFile = open(os.path.normpath(self.nixfile),'r')
+    nixOutFile = open(os.path.normpath(nixOut),'w')
+    for (n,line) in enumerate(nixTemplateFile):
+      if self.matchedLines.has_key(n) and self.update[self.matchedLines[n]] != None:
+        nixOutFile.write(line.replace(self.original[self.matchedLines[n]], self.update[self.matchedLines[n]], 1))
+      else:
+        nixOutFile.write(line)
+    nixTemplateFile.close()
+    nixOutFile.close()
+
+
+  def loadUpdate(self,orig):
+    if orig.has_key("name") and orig.has_key("version"):
+      self.update["name"] = orig["name"] + '-' + orig["version"]
+      self.update["version"] = orig["version"]
+    if orig.has_key("url") and orig.has_key("sha256") and len(orig["url"])>0:
+      self.update["url"] = orig["url"][0]
+      self.update["sha256"] = orig["sha256"][0]
+      for url in orig["url"][1:-1]:
+        sys.stderr.write("WARNING: URL has been dropped: %s\n" % url)
+    if orig.has_key("patches"):
+      self.update["patches"] = '[ ' + ' '.join(orig['patches']) + ' ]'
+
+
+class TranslationTable(object):
+  def __init__(self):
+    self.tablePath = {}
+    self.tableName = {}
+
+  def update(self, key, path, name=None):
+    self.tablePath[key] = path
+    if name != None:
+      self.tableName[key] = name
+
+  def readTable(self, tableFile):
+    with file(tableFile, 'r') as infile:
+      for line in infile:
+        match = re.match(r'^(.+?)\s+(.+?)\s+(.+?)\s*$', line)
+        if match != None:
+          if not self.tablePath.has_key(match.group(1)):
+            self.tablePath[match.group(1)] = match.group(2)
+          if not self.tableName.has_key(match.group(1)):
+            self.tableName[match.group(1)] = match.group(3)
+        else:
+          match = re.match(r'^(.+?)\s+(.+?)\s*$', line)
+          if not self.tablePath.has_key(match.group(1)):
+            self.tablePath[match.group(1)] = match.group(2)
+
+  def writeTable(self, tableFile):
+    outFile = open(os.path.normpath(tableFile),'w')
+    keys = self.tablePath.keys()
+    keys.sort()
+    for k in keys:
+      if self.tableName.has_key(k):
+        outFile.write( k + " " + self.tablePath[k] + " " + self.tableName[k] + "\n" )
+      else:
+        outFile.write( k + " " + self.tablePath[k] + "\n" )
+    outFile.close()
+
+  def name(self, key):
+   if self.tableName.has_key(key):
+     return self.tableName[key]
+   else:
+     return key
+
+  def path(self, key, orig):
+   if self.tablePath.has_key(key):
+     return self.tablePath[key]
+   else:
+     return orig
+
+
+
+
+
+if __name__ == "__main__":
+    #Parse command line options
+    parser = argparse.ArgumentParser(description="Generate .nix templates from RPM spec files")
+    parser.add_argument("specs", metavar="SPEC", nargs="+", help="spec file")
+    parser.add_argument("-o", "--output", metavar="OUT_DIR", required=True, help="output directory")
+    parser.add_argument("-b", "--buildRoot", metavar="BUILDROOT_DIR", default=None, help="buildroot output directory")
+    parser.add_argument("-i", "--inputSources", metavar="IN_DIR", default=None, help="sources input directory")
+    parser.add_argument("-m", "--maintainer", metavar="MAINTAINER", default="__NIX_MAINTAINER__", help="package maintainer")
+    parser.add_argument("-r", "--repository", metavar="REP_DIR", default=None, help="nix repository to compare output against")
+    parser.add_argument("-t", "--translate", metavar="TRANSLATE_TABLE", default=None, help="path of translation table for name and path")
+    parser.add_argument("-u", "--translateOut", metavar="TRANSLATE_OUT", default=None, help="output path for updated translation table")
+    parser.add_argument("-a", "--allPackages", metavar="ALL_PACKAGES", default=None, help="top level dir to call packages from")
+    args = parser.parse_args()
+
+    allPackagesDir = os.path.normpath( os.path.dirname(args.allPackages) )
+    if not os.path.exists(allPackagesDir):
+      os.makedirs(allPackagesDir)
+
+    buildRootContent = {}
+    nameMap = {}
+
+    newTable = TranslationTable()
+    if args.translate != None:
+      table = TranslationTable()
+      table.readTable(args.translate)
+      newTable.readTable(args.translate)
+    else:
+      table = None
+
+    for specPath in args.specs:
+      try:
+        sys.stderr.write("INFO: generate nix file from: %s\n" % specPath)
+
+        spec = SPECTemplate(specPath, args.output, args.inputSources, args.buildRoot, table, args.repository, allPackagesDir, args.maintainer)
+        if args.repository != None:
+          if os.path.exists(os.path.join(spec.potential_repository_dir,'default.nix')):
+            nixTemplate = NixTemplate(os.path.join(spec.potential_repository_dir,'default.nix'))
+            nixTemplate.loadUpdate(spec.facts)
+            if not os.path.exists(spec.final_output_dir):
+              os.makedirs(spec.final_output_dir)
+            nixTemplate.generateUpdated(os.path.join(spec.final_output_dir,'default.nix'))
+          else:
+            sys.stderr.write("WARNING: Repository does not contain template: %s\n" % os.path.join(spec.potential_repository_dir,'default.nix'))
+            if args.buildRoot == None:
+              spec.generateCombined()
+            else:
+              buildRootContent[spec.key] = spec.generateSplit()
+        else:
+          if args.buildRoot == None:
+            spec.generateCombined()
+          else:
+            buildRootContent[spec.key] = spec.generateSplit()
+
+        newTable.update(spec.key,spec.relOutputDir,spec.getSelf())
+        nameMap[spec.getSelf()] = spec
+
+      except Exception, e:
+        sys.stderr.write("ERROR: %s failed with:\n%s\n%s\n" % (specPath,e.message,traceback.format_exc()))
+
+    if args.translateOut != None:
+      if not os.path.exists(os.path.dirname(os.path.normpath(args.translateOut))):
+        os.makedirs(os.path.dirname(os.path.normpath(args.translateOut)))
+      newTable.writeTable(args.translateOut)
+
+    graph = {}
+    for k, v in nameMap.items():
+      graph[k] = set(v.getBuildInputs("ALL"))
+
+    sortedSpecs = toposort.toposort_flatten(graph)
+    sortedSpecs = filter( lambda x: x in nameMap.keys(), sortedSpecs)
+
+    allPackagesFile = open(os.path.normpath( args.allPackages ), 'w')
+    allPackagesFile.write( '\n\n'.join(map(lambda x: x.callPackage(), map(lambda x: nameMap[x], sortedSpecs))) )
+    allPackagesFile.close()
+
+    if args.buildRoot != None:
+      buildRootFilename = os.path.normpath( args.buildRoot )
+      if not os.path.exists(os.path.dirname(buildRootFilename)):
+        os.makedirs(os.path.dirname(buildRootFilename))
+      buildRootFile = open(buildRootFilename, 'w')
+      buildRootFile.write( "{ fetchurl, buildRoot }: {\n\n" )
+      keys = buildRootContent.keys()
+      keys.sort()
+      for k in keys:
+        buildRootFile.write( buildRootContent[k] + '\n' )
+      buildRootFile.write( "}\n" )
+      buildRootFile.close()
+
+
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index c08a6c3a265..78e671e8d22 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -1,4 +1,4 @@
-{ stdenv, lndir }:
+{ lib, stdenv, lndir }:
 
 rec {
 
@@ -30,7 +30,7 @@ rec {
         (test -n "$executable" && chmod +x "$n") || true
       '';
 
-    
+
   # Shorthands for `writeTextFile'.
   writeText = name: text: writeTextFile {inherit name text;};
   writeTextDir = name: text: writeTextFile {inherit name text; destination = "/${name}";};
@@ -55,9 +55,9 @@ rec {
       (''
         mkdir -p $out/nix-support
         cp ${script} $out/nix-support/setup-hook
-      '' + stdenv.lib.optionalString (deps != []) ''
+      '' + lib.optionalString (deps != []) ''
         echo ${toString deps} > $out/nix-support/propagated-native-build-inputs
-      '' + stdenv.lib.optionalString (substitutions != {}) ''
+      '' + lib.optionalString (substitutions != {}) ''
         substituteAll ${script} $out/nix-support/setup-hook
       '');
 
@@ -80,7 +80,7 @@ rec {
   # Quickly create a set of symlinks to derivations.
   # entries is a list of attribute sets like { name = "name" ; path = "/nix/store/..."; }
   linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" +
-    (stdenv.lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries));
+    (lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries));
 
   # Require file
   requireFile = {name, sha256, url ? null, message ? null} :
diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
index 28c28f69587..b66001073f2 100644
--- a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
+++ b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
@@ -8,6 +8,10 @@ SF_version_dir () {
   version_link 'http://sourceforge.net/.+/'"$1"'[0-9.]+/$'
 }
 
+SF_version_tarball () {
+  version_link '[.]tar[.].*/download$'
+}
+
 GH_latest () {
   prefetch_command_rel ../fetchgit/nix-prefetch-git
   revision "$("$(dirname "$0")/urls-from-page.sh" "$CURRENT_URL/commits" | grep /commit/ | head -n 1 | xargs basename )"
diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh
index e11eb722e0e..e60499b60f2 100755
--- a/pkgs/build-support/upstream-updater/update-walker.sh
+++ b/pkgs/build-support/upstream-updater/update-walker.sh
@@ -280,6 +280,12 @@ do_overwrite_just_version () {
   set_var_value sha256 $CURRENT_HASH
 }
 
+minimize_overwrite() {
+  do_overwrite(){
+    do_overwrite_just_version
+  }
+}
+
 process_config () {
   CONFIG_DIR="$(directory_of "$1")"
   CONFIG_NAME="$(basename "$1")"
@@ -297,9 +303,7 @@ process_config () {
       exit 1;
     }
     [ -z "$(retrieve_meta fullRegenerate)" ] && eval "
-      do_overwrite(){
-        do_overwrite_just_version
-      }
+      minimize_overwrite
     "
   fi
   ensure_attribute_name
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 7a35577c69a..fc41e8ec52e 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1,5 +1,5 @@
 { pkgs
-, kernel ? pkgs.linux_3_10
+, kernel ? pkgs.linux
 , img ? "bzImage"
 , rootModules ?
     [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ]
@@ -36,7 +36,7 @@ rec {
       cp -p ${pkgs.stdenv.glibc}/lib/libm.so.* $out/lib
 
       # Copy BusyBox.
-      cp -pd ${pkgs.busybox}/bin/* ${pkgs.busybox}/sbin/* $out/bin
+      cp -pd ${pkgs.busybox}/bin/* $out/bin
 
       # Run patchelf to make the programs refer to the copied libraries.
       for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done
@@ -52,11 +52,11 @@ rec {
 
   createDeviceNodes = dev:
     ''
-      mknod ${dev}/null    c 1 3
-      mknod ${dev}/zero    c 1 5
-      mknod ${dev}/random  c 1 8
-      mknod ${dev}/urandom c 1 9
-      mknod ${dev}/tty     c 5 0
+      mknod -m 666 ${dev}/null    c 1 3
+      mknod -m 666 ${dev}/zero    c 1 5
+      mknod -m 666 ${dev}/random  c 1 8
+      mknod -m 666 ${dev}/urandom c 1 9
+      mknod -m 666 ${dev}/tty     c 5 0
       mknod ${dev}/rtc     c 254 0
       . /sys/class/block/${hd}/uevent
       mknod ${dev}/${hd} b $MAJOR $MINOR
@@ -118,7 +118,7 @@ rec {
     mount -t 9p store /fs/nix/store -o trans=virtio,version=9p2000.L,msize=262144,cache=loose
 
     mkdir -p /fs/tmp
-    mount -t tmpfs -o "mode=755" none /fs/tmp
+    mount -t tmpfs -o "mode=1777" none /fs/tmp
 
     echo "mounting host's temporary directory..."
     mkdir -p /fs/tmp/xchg
@@ -162,7 +162,7 @@ rec {
 
     # Set the system time from the hardware clock.  Works around an
     # apparent KVM > 1.5.2 bug.
-    ${pkgs.utillinux}/sbin/hwclock -s
+    ${pkgs.utillinux}/bin/hwclock -s
 
     export NIX_STORE=/nix/store
     export NIX_BUILD_TOP=/tmp
@@ -255,7 +255,7 @@ rec {
 
   defaultCreateRootFS = ''
     mkdir /mnt
-    ${e2fsprogs}/sbin/mkfs.ext4 /dev/${hd}
+    ${e2fsprogs}/bin/mkfs.ext4 /dev/${hd}
     ${utillinux}/bin/mount -t ext4 /dev/${hd} /mnt
 
     if test -e /mnt/.debug; then
@@ -306,14 +306,14 @@ rec {
       buildInputs = [ utillinux ];
       buildCommand = ''
         ln -s ${linux}/lib /lib
-        ${module_init_tools}/sbin/modprobe loop
-        ${module_init_tools}/sbin/modprobe ext4
-        ${module_init_tools}/sbin/modprobe hfs
-        ${module_init_tools}/sbin/modprobe hfsplus
-        ${module_init_tools}/sbin/modprobe squashfs
-        ${module_init_tools}/sbin/modprobe iso9660
-        ${module_init_tools}/sbin/modprobe ufs
-        ${module_init_tools}/sbin/modprobe cramfs
+        ${module_init_tools}/bin/modprobe loop
+        ${module_init_tools}/bin/modprobe ext4
+        ${module_init_tools}/bin/modprobe hfs
+        ${module_init_tools}/bin/modprobe hfsplus
+        ${module_init_tools}/bin/modprobe squashfs
+        ${module_init_tools}/bin/modprobe iso9660
+        ${module_init_tools}/bin/modprobe ufs
+        ${module_init_tools}/bin/modprobe cramfs
         mknod /dev/loop0 b 7 0
 
         mkdir -p $out
@@ -332,12 +332,12 @@ rec {
       buildInputs = [ utillinux mtdutils ];
       buildCommand = ''
         ln -s ${linux}/lib /lib
-        ${module_init_tools}/sbin/modprobe mtd
-        ${module_init_tools}/sbin/modprobe mtdram total_size=131072
-        ${module_init_tools}/sbin/modprobe mtdchar
-        ${module_init_tools}/sbin/modprobe mtdblock
-        ${module_init_tools}/sbin/modprobe jffs2
-        ${module_init_tools}/sbin/modprobe zlib
+        ${module_init_tools}/bin/modprobe mtd
+        ${module_init_tools}/bin/modprobe mtdram total_size=131072
+        ${module_init_tools}/bin/modprobe mtdchar
+        ${module_init_tools}/bin/modprobe mtdblock
+        ${module_init_tools}/bin/modprobe jffs2
+        ${module_init_tools}/bin/modprobe zlib
         mknod /dev/mtd0 c 90 0
         mknod /dev/mtdblock0 b 31 0
 
@@ -420,9 +420,10 @@ rec {
         ''}
 
         echo "unpacking RPMs..."
+        set +o pipefail
         for i in $rpms; do
             echo "$i..."
-            ${rpm}/bin/rpm2cpio "$i" | (chroot /mnt ${cpio}/bin/cpio -i --make-directories)
+            ${rpm}/bin/rpm2cpio "$i" | chroot /mnt ${cpio}/bin/cpio -i --make-directories --unconditional --extract-over-symlinks
         done
 
         eval "$preInstall"
@@ -437,7 +438,7 @@ rec {
 
         echo "installing RPMs..."
         PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
-          rpm -iv ${if runScripts then "" else "--noscripts"} $rpms
+          rpm -iv --nosignature ${if runScripts then "" else "--noscripts"} $rpms
 
         echo "running post-install script..."
         eval "$postInstall"
@@ -560,7 +561,7 @@ rec {
       buildCommand = ''
         ${createRootFS}
 
-        PATH=$PATH:${dpkg}/bin:${dpkg}/sbin:${glibc}/sbin:${lzma}/bin
+        PATH=$PATH:${dpkg}/bin:${dpkg}/bin:${glibc}/bin:${lzma}/bin
 
         # Unpack the .debs.  We do this to prevent pre-install scripts
         # (which have lots of circular dependencies) from barfing.
@@ -1033,6 +1034,32 @@ rec {
       unifiedSystemDir = true;
     };
 
+    fedora21i386 = {
+      name = "fedora-21-i386";
+      fullName = "Fedora 21 (i386)";
+      packagesList = fetchurl rec {
+        url = "mirror://fedora/linux/releases/21/Everything/i386/os/repodata/${sha256}-primary.xml.gz";
+        sha256 = "a6ad1140adeef65bbc1fdcc7f8f2b356f0d20c71bbe3f1625038e7f43fc44780";
+      };
+      urlPrefix = mirror://fedora/linux/releases/21/Everything/i386/os;
+      archs = ["noarch" "i386" "i586" "i686"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
+    fedora21x86_64 = {
+      name = "fedora-21-x86_64";
+      fullName = "Fedora 21 (x86_64)";
+      packagesList = fetchurl rec {
+        url = "mirror://fedora/linux/releases/21/Everything/x86_64/os/repodata/${sha256}-primary.xml.gz";
+        sha256 = "e2a28baab2ea4632fad93f9f28144cda3458190888fdf7f2acc9bc289f397e96";
+      };
+      urlPrefix = mirror://fedora/linux/releases/21/Everything/x86_64/os;
+      archs = ["noarch" "x86_64"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
     opensuse103i386 = {
       name = "opensuse-10.3-i586";
       fullName = "openSUSE 10.3 (i586)";
@@ -1097,10 +1124,10 @@ rec {
       name = "centos-6.5-i386";
       fullName = "CentOS 6.5 (i386)";
       packagesList = fetchurl {
-        url = http://mirror.centos.org/centos/6.5/os/i386/repodata/a89f27cc7d3cea431f3bd605a1e9309c32d5d409abc1b51a7b5c71c05f18a0c2-primary.xml.gz;
+        url = http://vault.centos.org/6.5/os/i386/repodata/a89f27cc7d3cea431f3bd605a1e9309c32d5d409abc1b51a7b5c71c05f18a0c2-primary.xml.gz;
         sha256 = "1hm031gw0wawgcdbbhdb17adaclw63ls21fn7cgl7siwgp62g7x8";
       };
-      urlPrefix = http://mirror.centos.org/centos/6.5/os/i386/ ;
+      urlPrefix = http://vault.centos.org/6.5/os/i386;
       archs = ["noarch" "i386"];
       packages = commonCentOSPackages;
     };
@@ -1109,26 +1136,14 @@ rec {
       name = "centos-6.5-x86_64";
       fullName = "CentOS 6.5 (x86_64)";
       packagesList = fetchurl {
-        url = http://mirror.centos.org/centos/6.5/os/x86_64/repodata/3353e378f5cb4bb6c3b3dd2ca266c6d68a1e29c36cf99f76aea3d8e158626024-primary.xml.gz;
+        url = http://vault.centos.org/6.5/os/x86_64/repodata/3353e378f5cb4bb6c3b3dd2ca266c6d68a1e29c36cf99f76aea3d8e158626024-primary.xml.gz;
         sha256 = "0930c9cf3n53mrv9zybcqclix2nnqrka4b6xng1vcjybymwf6lrk";
       };
-      urlPrefix = http://mirror.centos.org/centos/6.5/os/x86_64/ ;
+      urlPrefix = http://vault.centos.org/6.5/os/x86_64/;
       archs = ["noarch" "x86_64"];
       packages = commonCentOSPackages;
     };
 
-    rhel7x86_64 = {
-      name = "rhel-7rc-x86_64";
-      fullName = "RHEL 7 rc (x86_64)";
-      packagesList = fetchurl {
-        url = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os/repodata/81f41fc6206a8477235dc7b5099ffe0867f71802415d66d6c0a213a41cae27c3-primary.xml.gz;
-        sha256 = "1hr7mqfa84x2q3b6cpa108cgfrq8zsghkdf7blipg13a4331zx41";
-      };
-      urlPrefix = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os ;
-      archs = ["noarch" "x86_64"];
-      packages = commonRHELPackages;
-    };
-
   };
 
 
@@ -1511,6 +1526,40 @@ rec {
       packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
     };
 
+    ubuntu1410i386 = {
+      name = "ubuntu-14.10-utopic-i386";
+      fullName = "Ubuntu 14.10 Utopic (i386)";
+      packagesLists =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/utopic/main/binary-i386/Packages.bz2;
+            sha256 = "dc33a906ccb5625740251da759393d7daace65013d421c79fdd6c99a6490d989";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/utopic/universe/binary-i386/Packages.bz2;
+            sha256 = "e50553c033d9e478507405e63ce7d43c8060368ea851eca0c93b75b72fd85167";
+          })
+        ];
+      urlPrefix = mirror://ubuntu;
+      packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
+    };
+
+    ubuntu1410x86_64 = {
+      name = "ubuntu-14.10-utopic-amd64";
+      fullName = "Ubuntu 14.10 Utopic (amd64)";
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/utopic/main/binary-amd64/Packages.bz2;
+            sha256 = "9650775abec90a24c26dbb03f91a488180309144338f64f7044f7119d60d7182";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/utopic/universe/binary-amd64/Packages.bz2;
+            sha256 = "2acf0e39e64b4fd6d2b68b55c598fc167d7c3cabae233fc31a1e6b69eb6ecc63";
+          })
+        ];
+      urlPrefix = mirror://ubuntu;
+      packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
+    };
+
     debian40i386 = {
       name = "debian-4.0r9-etch-i386";
       fullName = "Debian 4.0r9 Etch (i386)";
@@ -1582,22 +1631,22 @@ rec {
     debian70x86_64 = debian7x86_64;
 
     debian7i386 = {
-      name = "debian-7.6-wheezy-i386";
-      fullName = "Debian 7.6 Wheezy (i386)";
+      name = "debian-7.8-wheezy-i386";
+      fullName = "Debian 7.8 Wheezy (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
-        sha256 = "773ba601513cd7ef1d5192ad8baa795fa050573d82568c577cdf79adade698a3";
+        sha256 = "d86c28cb4f1aa178e678c253944c674a60991a367349e58a90d9a3e939e4e4bc";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
 
     debian7x86_64 = {
-      name = "debian-7.6-wheezy-amd64";
-      fullName = "Debian 7.6 Wheezy (amd64)";
+      name = "debian-7.8-wheezy-amd64";
+      fullName = "Debian 7.8 Wheezy (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
-        sha256 = "11a8bd3648d51f51e56c9f5382168cc47267d67ef6a050826e1cd358ed46cc17";
+        sha256 = "c8257d74c9411e2f0b9891a21f5dbf5fb088b46d1df043907a4d390b32da2931";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
@@ -1754,37 +1803,7 @@ rec {
 
 
   /* Default disk images generated from the `rpmDistros' and
-     `debDistros' sets (along with Red Hat 9 and SuSE 9.0 images). */
-
-  diskImages =
-    lib.mapAttrs (name: f: f {}) diskImageFuns //
+     `debDistros' sets. */
+  diskImages = lib.mapAttrs (name: f: f {}) diskImageFuns;
 
-    { redhat9i386 = fillDiskWithRPMs {
-        name = "redhat-9-i386";
-        fullName = "Red Hat Linux 9 (i386)";
-        size = 1024;
-        rpms = import ./rpm/redhat-9-i386.nix { inherit fetchurl; };
-      };
-
-      suse90i386 = fillDiskWithRPMs {
-        name = "suse-9.0-i386";
-        fullName = "SUSE Linux 9.0 (i386)";
-        size = 1024;
-        rpms = import ./rpm/suse-9-i386.nix { inherit fetchurl; };
-        # Urgh.  The /etc/group entries are installed by aaa_base (or
-        # something) but due to dependency ordering, that package isn't
-        # installed yet by the time some other packages refer to these
-        # entries.
-        preInstall = ''
-          echo 'bin:x:1:daemon' >> /mnt/etc/group
-          echo 'tty:x:5:' >> /mnt/etc/group
-          echo 'disk:x:6:' >> /mnt/etc/group
-          echo 'lp:x:7:' >> /mnt/etc/group
-          echo 'uucp:x:14:' >> /mnt/etc/group
-          echo 'audio:x:17:' >> /mnt/etc/group
-          echo 'video:x:33:' >> /mnt/etc/group
-        '';
-      };
-
-    };
 } // import ./windows pkgs
diff --git a/pkgs/build-support/vm/rpm/redhat-9-i386.list b/pkgs/build-support/vm/rpm/redhat-9-i386.list
deleted file mode 100644
index 4f46f66cfac..00000000000
--- a/pkgs/build-support/vm/rpm/redhat-9-i386.list
+++ /dev/null
@@ -1,92 +0,0 @@
-baseURL ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS
-autoconf-2.57-3.noarch.rpm cea6ded7bd395468a41e9b6380cf5c46
-automake-1.6.3-5.noarch.rpm 9a518459499504faa786b63bd88374d1
-basesystem-8.0-2.noarch.rpm 64bc91a544ed3b175e617df2b6683eec
-bash-2.05b-20.i386.rpm db4db03fc2d33e3519d72b8f54d483ef
-binutils-2.13.90.0.18-9.i386.rpm cd09dfb42d1f9cbd70eba37430762bb6
-bzip2-1.0.2-8.i386.rpm ca663b78121235bdaafeced854e8e966
-bzip2-devel-1.0.2-8.i386.rpm 1e69cd15c6288d41bf989afa579b2585
-bzip2-libs-1.0.2-8.i386.rpm 996ac1deed904c7d75960b31dfe61b01
-chkconfig-1.3.8-1.i386.rpm 8ab54c42c15b3f649174e6bfa764adde
-coreutils-4.5.3-19.i386.rpm 972cd0ff8f3e784c2bc5666e80cf354a
-cpp-3.2.2-5.i386.rpm 49d8c65dfa401b96b8018b5f6946c985
-cracklib-2.7-21.i386.rpm 31326ff8fb099f10b5d857dc10a33fa3
-cracklib-dicts-2.7-21.i386.rpm d39c8baf399b348db40f3137e93dae03
-curl-7.9.8-5.i386.rpm 4899792440ce948316546a6a85e1a2ef
-db4-4.0.14-20.i386.rpm 5fec52fddea8e7cd88cfaa34839cc4b3
-dev-3.3.2-5.i386.rpm a8a45208c6e18cac1bf897d5eb0ac07e
-diffutils-2.8.1-6.i386.rpm 772331d623e47069d464760fa68fd0d9
-e2fsprogs-1.32-6.i386.rpm 0b728dbe2d88c87951a921158a80184a
-elfutils-libelf-0.76-3.i386.rpm 1f4a143c12634884ce2a36eef141e6b3
-expat-1.95.5-2.i386.rpm 76aa046090620b8c51107a94a3e80d7c
-file-3.39-9.i386.rpm b0560e1725f28fe375f9885a7a6be684
-filesystem-2.2.1-3.i386.rpm 897e20be2729051cae7a5bc32efb6b3f
-findutils-4.1.7-9.i386.rpm be0e80cec36c3eabf172d5003dd79466
-fontconfig-2.1-9.i386.rpm 86e827ffaa502266116047e840f8eb8f
-freetype-2.1.3-6.i386.rpm 64597ef3568d30982be5c0779f062ff2
-gawk-3.1.1-9.i386.rpm 72da64dc330d5945ae80c1779390ac2e
-gcc-3.2.2-5.i386.rpm aa544de315b6ba5478d3f6e0c15d0208
-gcc-c++-3.2.2-5.i386.rpm a287f9ac6f8e2efc4965186366989684
-gdbm-1.8.0-20.i386.rpm 819986ab928712c2c3c9324d74b360b8
-glib-1.2.10-10.i386.rpm 24d900aaab3ca9561f7ff2d7e3a206bb
-glibc-2.3.2-11.9.i386.rpm d923d7a9a5ac6c25cb51517b23843f78
-glibc-common-2.3.2-11.9.i386.rpm f63000e72fc1adc2c23d4de3ba9ca2a0
-glibc-debug-2.3.2-11.9.i386.rpm ae4aa98a669c3edc7b3c97b1ef409c43
-glibc-devel-2.3.2-11.9.i386.rpm 569afc17dd5f1208407b3742a3849b1c
-glibc-kernheaders-2.4-8.10.i386.rpm 17f4befda9601ac4e3d312245affee2b
-grep-2.5.1-7.i386.rpm 0606cd6f5516817fe56d6bcc8afe179a
-gzip-1.3.3-9.i386.rpm b47a6dfbf36d55a93e3d3920e936a2a7
-info-4.3-5.i386.rpm 8ce01d5cf0287d8cb012bce443679658
-initscripts-7.14-1.i386.rpm 12258ed059d3de4d7a6abef4d4d14222
-iproute-2.4.7-7.i386.rpm b363643aa70272a146ca92c4577ebced
-iputils-20020927-2.i386.rpm 83da3128b0da1fdcfd59786451c9d5eb
-krb5-libs-1.2.7-10.i386.rpm 9865f9f50631007ecdd409a53626502c
-less-378-7.i386.rpm 608656bbe868016ea464d965e07a026c
-libgcc-3.2.2-5.i386.rpm 91cae96d5ac2f19b20cb0c07906aed06
-libjpeg-6b-26.i386.rpm 3c350fc137a973249a85671083ed508b
-libpng-1.2.2-16.i386.rpm b7d5a39ec3d2c73e0f944d0f525ce79c
-libstdc++-3.2.2-5.i386.rpm 09ffb26f39e27232d3c385f5fbc1ef1d
-libstdc++-devel-3.2.2-5.i386.rpm 31768c560244755d32185db6022a4b75
-libtermcap-2.0.8-35.i386.rpm 26883bbee99b436059bd8db85426f3d4
-libtiff-3.5.7-11.i386.rpm e29006e58367d587c0632fb77113841f
-libtool-libs-1.4.3-5.i386.rpm 5fbbdfb5e1cf43ee03fc4f8a2bc4eaba
-m4-1.4.1-13.i386.rpm 38c55c667d34492f24c5946a3374650d
-make-3.79.1-17.i386.rpm 5144104c693ee61250e8fd7d75bab866
-mingetty-1.01-1.i386.rpm d3e42b0faebc682fb3c31216786e0702
-mktemp-1.5-18.i386.rpm 28f1bf48c65ce9a5fd18a53fc71675b0
-modutils-2.4.22-8.i386.rpm db39bb8d565162e3f8608190eb7a19fa
-mount-2.11y-9.i386.rpm 280a81dfd645785fd2af9fe312788256
-ncurses-5.3-4.i386.rpm e941b37d22dc9ac4a8c37960c5fa337f
-ncurses-devel-5.3-4.i386.rpm 5b3d837bba70045ccb6fccb63ec35dc1
-net-tools-1.60-12.i386.rpm 20c2bca22ba3f63c43190b63ebd78be5
-openssl-0.9.7a-2.i386.rpm 39105ce3607fac29a5e0d227e69fea38
-pam-0.75-48.i386.rpm fe77ccc841c5fbb830c81867e8e0f164
-patch-2.5.4-16.i386.rpm 351d225da983e5684fa4c5c8d5ead90f
-pcre-3.9-10.i386.rpm b545fff04823c776e37142764e31613c
-perl-5.8.0-88.i386.rpm c00258c140d4ac1650dcaab4abbda253
-perl-Filter-1.29-3.i386.rpm 27a82686fe46c220683a447d73c42375
-pkgconfig-0.14.0-3.i386.rpm 1502d26e4fdec84cce1eee6fb329f4e7
-popt-1.8-0.69.i386.rpm 8d827ac879feb6bd5a4055a9338d86a1
-procps-2.0.11-6.i386.rpm 1068278922d4cf486d1f5d9b8109fb81
-psmisc-21.2-4.i386.rpm 457a78fac813a2779f43ee3f5f02aaec
-readline-4.3-5.i386.rpm c7b7159668d3272083585737a93628eb
-readline-devel-4.3-5.i386.rpm 79b237ff8225dd73646c347e00ca7732
-redhat-release-9-3.i386.rpm 4002643ba2e2077ccc22ef616d69c9fe
-rpm-4.2-0.69.i386.rpm 521141f6fe9a3443d7f89627a6f8c71e
-rpm-build-4.2-0.69.i386.rpm 6c8b7c4acf2562f2d12378966223856b
-sed-4.0.5-1.i386.rpm 34711aa4e9dc199ba1f617a75b68fd1f
-setup-2.5.25-1.noarch.rpm 0adc91fc02ea439db469bd27ee6609de
-shadow-utils-4.0.3-6.i386.rpm 45fd133d921a37cd36150fab9350baec
-sysklogd-1.4.1-12.i386.rpm caeb14d785b721d045e846effe7f3928
-SysVinit-2.84-13.i386.rpm 4e4a1b1fd557aa8daa4a560b4f59fe0f
-tar-1.13.25-11.i386.rpm abea2f1a14cbd9fecddf55b3f57da4c6
-termcap-11.0.1-16.noarch.rpm 2392055e8d44522ac95a050b6c30079b
-unzip-5.50-7.i386.rpm e0bba7266dba6aafd03bb362ac6424fe
-util-linux-2.11y-9.i386.rpm 4a0bc1bb3aa8eedd8ef6f4cd753dab3c
-which-2.14-5.i386.rpm cb0f37e1c1b59f6e9503844c0839314a
-words-2-21.noarch.rpm 901c74e5f71314c81d326991298f860f
-XFree86-libs-4.3.0-2.i386.rpm c1f7264692685aacba2bc05226c0eb1a
-XFree86-libs-data-4.3.0-2.i386.rpm 33030ba631e865db552d795c3490df8e
-XFree86-Mesa-libGL-4.3.0-2.i386.rpm e9f579759648cdb0492982f4ccaedc4b
-zlib-1.1.4-8.i386.rpm c8e2f95e60e75fcfe51dba704c5a6f11
-zlib-devel-1.1.4-8.i386.rpm 6e891309a0dd19b00cc8dfb9018692fd
diff --git a/pkgs/build-support/vm/rpm/redhat-9-i386.nix b/pkgs/build-support/vm/rpm/redhat-9-i386.nix
deleted file mode 100644
index 1d9a3142bf8..00000000000
--- a/pkgs/build-support/vm/rpm/redhat-9-i386.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{fetchurl}: [
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/autoconf-2.57-3.noarch.rpm; md5="cea6ded7bd395468a41e9b6380cf5c46";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/automake-1.6.3-5.noarch.rpm; md5="9a518459499504faa786b63bd88374d1";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/basesystem-8.0-2.noarch.rpm; md5="64bc91a544ed3b175e617df2b6683eec";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/bash-2.05b-20.i386.rpm; md5="db4db03fc2d33e3519d72b8f54d483ef";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/binutils-2.13.90.0.18-9.i386.rpm; md5="cd09dfb42d1f9cbd70eba37430762bb6";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/bzip2-1.0.2-8.i386.rpm; md5="ca663b78121235bdaafeced854e8e966";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/bzip2-devel-1.0.2-8.i386.rpm; md5="1e69cd15c6288d41bf989afa579b2585";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/bzip2-libs-1.0.2-8.i386.rpm; md5="996ac1deed904c7d75960b31dfe61b01";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/chkconfig-1.3.8-1.i386.rpm; md5="8ab54c42c15b3f649174e6bfa764adde";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/coreutils-4.5.3-19.i386.rpm; md5="972cd0ff8f3e784c2bc5666e80cf354a";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/cpp-3.2.2-5.i386.rpm; md5="49d8c65dfa401b96b8018b5f6946c985";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/cracklib-2.7-21.i386.rpm; md5="31326ff8fb099f10b5d857dc10a33fa3";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/cracklib-dicts-2.7-21.i386.rpm; md5="d39c8baf399b348db40f3137e93dae03";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/curl-7.9.8-5.i386.rpm; md5="4899792440ce948316546a6a85e1a2ef";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/db4-4.0.14-20.i386.rpm; md5="5fec52fddea8e7cd88cfaa34839cc4b3";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/dev-3.3.2-5.i386.rpm; md5="a8a45208c6e18cac1bf897d5eb0ac07e";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/diffutils-2.8.1-6.i386.rpm; md5="772331d623e47069d464760fa68fd0d9";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/e2fsprogs-1.32-6.i386.rpm; md5="0b728dbe2d88c87951a921158a80184a";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/elfutils-libelf-0.76-3.i386.rpm; md5="1f4a143c12634884ce2a36eef141e6b3";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/expat-1.95.5-2.i386.rpm; md5="76aa046090620b8c51107a94a3e80d7c";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/file-3.39-9.i386.rpm; md5="b0560e1725f28fe375f9885a7a6be684";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/filesystem-2.2.1-3.i386.rpm; md5="897e20be2729051cae7a5bc32efb6b3f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/findutils-4.1.7-9.i386.rpm; md5="be0e80cec36c3eabf172d5003dd79466";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/fontconfig-2.1-9.i386.rpm; md5="86e827ffaa502266116047e840f8eb8f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/freetype-2.1.3-6.i386.rpm; md5="64597ef3568d30982be5c0779f062ff2";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/gawk-3.1.1-9.i386.rpm; md5="72da64dc330d5945ae80c1779390ac2e";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/gcc-3.2.2-5.i386.rpm; md5="aa544de315b6ba5478d3f6e0c15d0208";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/gcc-c++-3.2.2-5.i386.rpm; md5="a287f9ac6f8e2efc4965186366989684";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/gdbm-1.8.0-20.i386.rpm; md5="819986ab928712c2c3c9324d74b360b8";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/glib-1.2.10-10.i386.rpm; md5="24d900aaab3ca9561f7ff2d7e3a206bb";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/glibc-2.3.2-11.9.i386.rpm; md5="d923d7a9a5ac6c25cb51517b23843f78";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/glibc-common-2.3.2-11.9.i386.rpm; md5="f63000e72fc1adc2c23d4de3ba9ca2a0";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/glibc-debug-2.3.2-11.9.i386.rpm; md5="ae4aa98a669c3edc7b3c97b1ef409c43";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/glibc-devel-2.3.2-11.9.i386.rpm; md5="569afc17dd5f1208407b3742a3849b1c";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/glibc-kernheaders-2.4-8.10.i386.rpm; md5="17f4befda9601ac4e3d312245affee2b";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/grep-2.5.1-7.i386.rpm; md5="0606cd6f5516817fe56d6bcc8afe179a";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/gzip-1.3.3-9.i386.rpm; md5="b47a6dfbf36d55a93e3d3920e936a2a7";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/info-4.3-5.i386.rpm; md5="8ce01d5cf0287d8cb012bce443679658";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/initscripts-7.14-1.i386.rpm; md5="12258ed059d3de4d7a6abef4d4d14222";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/iproute-2.4.7-7.i386.rpm; md5="b363643aa70272a146ca92c4577ebced";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/iputils-20020927-2.i386.rpm; md5="83da3128b0da1fdcfd59786451c9d5eb";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/krb5-libs-1.2.7-10.i386.rpm; md5="9865f9f50631007ecdd409a53626502c";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/less-378-7.i386.rpm; md5="608656bbe868016ea464d965e07a026c";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libgcc-3.2.2-5.i386.rpm; md5="91cae96d5ac2f19b20cb0c07906aed06";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libjpeg-6b-26.i386.rpm; md5="3c350fc137a973249a85671083ed508b";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libpng-1.2.2-16.i386.rpm; md5="b7d5a39ec3d2c73e0f944d0f525ce79c";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libstdc++-3.2.2-5.i386.rpm; md5="09ffb26f39e27232d3c385f5fbc1ef1d";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libstdc++-devel-3.2.2-5.i386.rpm; md5="31768c560244755d32185db6022a4b75";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libtermcap-2.0.8-35.i386.rpm; md5="26883bbee99b436059bd8db85426f3d4";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libtiff-3.5.7-11.i386.rpm; md5="e29006e58367d587c0632fb77113841f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libtool-libs-1.4.3-5.i386.rpm; md5="5fbbdfb5e1cf43ee03fc4f8a2bc4eaba";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/m4-1.4.1-13.i386.rpm; md5="38c55c667d34492f24c5946a3374650d";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/make-3.79.1-17.i386.rpm; md5="5144104c693ee61250e8fd7d75bab866";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/mingetty-1.01-1.i386.rpm; md5="d3e42b0faebc682fb3c31216786e0702";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/mktemp-1.5-18.i386.rpm; md5="28f1bf48c65ce9a5fd18a53fc71675b0";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/modutils-2.4.22-8.i386.rpm; md5="db39bb8d565162e3f8608190eb7a19fa";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/mount-2.11y-9.i386.rpm; md5="280a81dfd645785fd2af9fe312788256";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/ncurses-5.3-4.i386.rpm; md5="e941b37d22dc9ac4a8c37960c5fa337f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/ncurses-devel-5.3-4.i386.rpm; md5="5b3d837bba70045ccb6fccb63ec35dc1";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/net-tools-1.60-12.i386.rpm; md5="20c2bca22ba3f63c43190b63ebd78be5";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/openssl-0.9.7a-2.i386.rpm; md5="39105ce3607fac29a5e0d227e69fea38";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/pam-0.75-48.i386.rpm; md5="fe77ccc841c5fbb830c81867e8e0f164";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/patch-2.5.4-16.i386.rpm; md5="351d225da983e5684fa4c5c8d5ead90f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/pcre-3.9-10.i386.rpm; md5="b545fff04823c776e37142764e31613c";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/perl-5.8.0-88.i386.rpm; md5="c00258c140d4ac1650dcaab4abbda253";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/perl-Filter-1.29-3.i386.rpm; md5="27a82686fe46c220683a447d73c42375";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/pkgconfig-0.14.0-3.i386.rpm; md5="1502d26e4fdec84cce1eee6fb329f4e7";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/popt-1.8-0.69.i386.rpm; md5="8d827ac879feb6bd5a4055a9338d86a1";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/procps-2.0.11-6.i386.rpm; md5="1068278922d4cf486d1f5d9b8109fb81";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/psmisc-21.2-4.i386.rpm; md5="457a78fac813a2779f43ee3f5f02aaec";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/readline-4.3-5.i386.rpm; md5="c7b7159668d3272083585737a93628eb";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/readline-devel-4.3-5.i386.rpm; md5="79b237ff8225dd73646c347e00ca7732";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/redhat-release-9-3.i386.rpm; md5="4002643ba2e2077ccc22ef616d69c9fe";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/rpm-4.2-0.69.i386.rpm; md5="521141f6fe9a3443d7f89627a6f8c71e";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/rpm-build-4.2-0.69.i386.rpm; md5="6c8b7c4acf2562f2d12378966223856b";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/sed-4.0.5-1.i386.rpm; md5="34711aa4e9dc199ba1f617a75b68fd1f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/setup-2.5.25-1.noarch.rpm; md5="0adc91fc02ea439db469bd27ee6609de";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/shadow-utils-4.0.3-6.i386.rpm; md5="45fd133d921a37cd36150fab9350baec";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/sysklogd-1.4.1-12.i386.rpm; md5="caeb14d785b721d045e846effe7f3928";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/SysVinit-2.84-13.i386.rpm; md5="4e4a1b1fd557aa8daa4a560b4f59fe0f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/tar-1.13.25-11.i386.rpm; md5="abea2f1a14cbd9fecddf55b3f57da4c6";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/termcap-11.0.1-16.noarch.rpm; md5="2392055e8d44522ac95a050b6c30079b";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/unzip-5.50-7.i386.rpm; md5="e0bba7266dba6aafd03bb362ac6424fe";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/util-linux-2.11y-9.i386.rpm; md5="4a0bc1bb3aa8eedd8ef6f4cd753dab3c";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/which-2.14-5.i386.rpm; md5="cb0f37e1c1b59f6e9503844c0839314a";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/words-2-21.noarch.rpm; md5="901c74e5f71314c81d326991298f860f";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/XFree86-libs-4.3.0-2.i386.rpm; md5="c1f7264692685aacba2bc05226c0eb1a";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/XFree86-libs-data-4.3.0-2.i386.rpm; md5="33030ba631e865db552d795c3490df8e";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/XFree86-Mesa-libGL-4.3.0-2.i386.rpm; md5="e9f579759648cdb0492982f4ccaedc4b";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/zlib-1.1.4-8.i386.rpm; md5="c8e2f95e60e75fcfe51dba704c5a6f11";})
-  (fetchurl {url=ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/zlib-devel-1.1.4-8.i386.rpm; md5="6e891309a0dd19b00cc8dfb9018692fd";})
-]
diff --git a/pkgs/build-support/vm/rpm/rpm-closure.pl b/pkgs/build-support/vm/rpm/rpm-closure.pl
index 94da0a20adc..8f7669d6fef 100644
--- a/pkgs/build-support/vm/rpm/rpm-closure.pl
+++ b/pkgs/build-support/vm/rpm/rpm-closure.pl
@@ -28,20 +28,20 @@ sub rpmvercmp {
         my $v2 = $vercmps2[$i];
 
         if($v1 =~ /^[0-9]*$/ && $v2 =~ /^[0-9]*$/) {
-	    if ( int($v1) > int($v2) ) {
-		return 1;
-	    }
-	    elsif ( int($v1) < int($v2) ) {
-		return -1;
-	    }
-	} else {
-	    if ( $v1 gt $v2 ) {
-		return 1;
-	    }
-	    elsif ( $v1 lt $v2 ) {
-		return -1;
-	    }
-	}
+            if ( int($v1) > int($v2) ) {
+                return 1;
+            }
+            elsif ( int($v1) < int($v2) ) {
+                return -1;
+            }
+        } else {
+            if ( $v1 gt $v2 ) {
+                return 1;
+            }
+            elsif ( $v1 lt $v2 ) {
+                return -1;
+            }
+        }
     }
     if($l1 == $l2) {
         return 0;
@@ -90,19 +90,25 @@ for (my $i = 0; $i < scalar(@packagesFiles); $i++) {
 }
 
 my %provides;
-foreach my $pkgName (keys %pkgs) {
-    print STDERR "looking at $pkgName\n";
+PKG: foreach my $pkgName (keys %pkgs) {
+    #print STDERR "looking at $pkgName\n";
     my $pkg = $pkgs{$pkgName};
-    
-    #print STDERR keys %{$pkg->{format}}, "\n";
 
-    #print STDERR $pkg->{format}->{'rpm:provides'}, "\n";
-    
+    # Skip packages that conflict with a required package.
+    my $conflicts = $pkg->{format}->{'rpm:conflicts'}->{'rpm:entry'} // [];
+    foreach my $conflict (@{$conflicts}) {
+        next if $conflict->{flags} // "" eq "LT" || $conflict->{flags} // "" eq "LE";
+        #print STDERR "  $pkgName conflicts with $conflict->{name}\n";
+        if (grep { $_ eq $conflict->{name} } @toplevelPkgs) {
+            print STDERR "skipping package $pkgName because it conflicts with a required package\n";
+            next PKG;
+        }
+    }
+
     my $provides = $pkg->{format}->{'rpm:provides'}->{'rpm:entry'} or die;
     foreach my $req (@{$provides}) {
-        #print "$req->{name}\n";
-        #print STDERR "  provides $req\n";
-        #die "multiple provides for $req" if defined $provides{$req};
+        #print STDERR "  $pkgName provides $req->{name}\n";
+        #die "multiple provides for $req->{name}" if defined $provides{$req->{name}};
         $provides{$req->{name}} = $pkgName;
     }
 
@@ -123,9 +129,9 @@ sub closePackage {
 
     return if defined $donePkgs{$pkgName};
     $donePkgs{$pkgName} = 1;
-    
+
     print STDERR ">>> $pkgName\n";
-    
+
     my $pkg = $pkgs{$pkgName} or die "package $pkgName doesn't exist";
 
     my $requires = $pkg->{format}->{'rpm:requires'}->{'rpm:entry'} || [];
@@ -133,14 +139,14 @@ sub closePackage {
     my @deps = ();
     foreach my $req (@{$requires}) {
         next if $req->{name} =~ /^rpmlib\(/;
-        print STDERR "  needs $req->{name}\n";
+        #print STDERR "  needs $req->{name}\n";
         my $provider = $provides{$req->{name}};
         if (!defined $provider) {
             print STDERR "    WARNING: no provider for $req->{name}\n";
             next;
         }
-        print STDERR "    satisfied by $provider\n";
-        push @deps, $provider; 
+        #print STDERR "    satisfied by $provider\n";
+        push @deps, $provider;
     }
 
     closePackage($_) foreach @deps;
diff --git a/pkgs/build-support/vm/rpm/rpm-list-to-nix.pl b/pkgs/build-support/vm/rpm/rpm-list-to-nix.pl
deleted file mode 100755
index bd0e32ac97e..00000000000
--- a/pkgs/build-support/vm/rpm/rpm-list-to-nix.pl
+++ /dev/null
@@ -1,51 +0,0 @@
-#! /usr/bin/perl -w
-
-use strict;
-
-my $list = shift;
-my $expr = shift;
-
-open LIST, "<$list";
-open NEW, ">$list.tmp";
-open EXPR, ">$expr";
-
-print EXPR "{fetchurl}: [\n";
-
-my $baseURL;
-
-while (<LIST>) {
-
-    if (/^\s*baseURL\s+(\S+)\s*$/) {
-        $baseURL = $1;
-        print NEW "baseURL $baseURL\n";
-    } 
-    
-    elsif (/^\s*(\S+)(\s+([a-z0-9]+))?\s*$/) {
-        my $pkgName = $1;
-        my $url = "$baseURL/$pkgName";
-        my $hash = $3;
-        if (!defined $hash) {
-            $hash = `nix-prefetch-url '$url'`;
-            die "fetch of `$url' failed" if ($? != 0);
-            chomp $hash;
-        }
-        print NEW "$pkgName $hash\n";
-        if (length $hash == 32) {
-            print EXPR "  (fetchurl {url=$url; md5=\"$hash\";})\n";
-        } else {
-            print EXPR "  (fetchurl {url=$url; sha256=\"$hash\";})\n";
-        }
-    }
-
-    else {
-        die "invalid line"
-    }
-}
-
-print EXPR "]\n";
-
-close LIST;
-close NEW;
-close EXPR;
-
-rename "$list\.tmp", "$list" or die "cannot rename";
diff --git a/pkgs/build-support/vm/rpm/suse-9-i386.list b/pkgs/build-support/vm/rpm/suse-9-i386.list
deleted file mode 100644
index e3ea8e92bd6..00000000000
--- a/pkgs/build-support/vm/rpm/suse-9-i386.list
+++ /dev/null
@@ -1,90 +0,0 @@
-baseURL mirror://oldsuse/9.0/suse/i586
-glibc-2.3.2-92.i586.rpm d5396400c92d4085e536b708ddce265c
-zlib-1.1.4-232.i586.rpm ba1a8342757071dfd7e52a2c69c86584
-readline-4.3-212.i586.rpm c18b059909f3debca772a8f5b7d3aee7
-ncurses-5.3-115.i586.rpm 48c4f77acdbf2ef9aee807466d0fec88
-aaa_base-9.0-7.i586.rpm 1xj9k6b3s0zrdac52q1mw6l7ms55nzmdkfda1s1jbz9laijijppn
-aaa_skel-2003.9.18-8.i586.rpm 1cp9kyg8ksqk0hixdkzd454jhymqdpln9x2y2izdifzsc9wzbsz3
-sysconfig-0.23.30-39.i586.rpm 1dmn95b9yb7rcbgxscw7nspjrdw67v4gdn7kmy5pqq3jxnpmhzi8
-permissions-2003.9.18-8.i586.rpm 0z0n89jh63lqsa0sg6z7f7mn1n6bh1qnxd1h9s5ypmpkazfdhhib
-ash-0.2-804.i586.rpm 01m2nl5jmy206va26fx7w3p9zvmmvd5jkng19vjdw556a74h9saz
-autoconf-2.57-142.i586.rpm 1e360a37d4db4c87e07d15c88f0c12e2
-automake-1.7.6-44.i586.rpm 2c7f1335e73751008f594a68eb515290
-bash-2.05b-212.i586.rpm 1a0fd51a36144dbe89c16553a71899e0
-binutils-2.14.90.0.5-47.i586.rpm 63d69aeb190304f3ddba2d34fcbb5087
-bzip2-1.0.2-232.i586.rpm d667ffc252d983f27eeb041775503438
-coreutils-5.0-90.i586.rpm 121abfc07a9035329b781fdd46e8b600
-compat-2003.5.12-60.i586.rpm e78e5e2e78a2e29c90c3edbf51c8789e
-cpp-3.3.1-29.i586.rpm 2df0da5848fbc59e322167cf7bf1b2bd
-cracklib-2.7-903.i586.rpm 0c5d1c68796906c035a58cf9e4ce1e64
-curl-7.10.5-42.i586.rpm 17ca3725c110e267127b08bd0a1d59a7
-db-4.1.25-76.i586.rpm 9656c5d737d5d6db5a4a320a98590479
-devs-9.0-5.i586.rpm 81e0daafae9d5c75cf6826518dcb9c0f
-diffutils-2.8.1-207.i586.rpm 7d2aed3fe2d8a3e94076695d32c745fb
-e2fsprogs-1.34-34.i586.rpm 5acb02c211196891382927dd8a197899
-expat-1.95.6-84.i586.rpm 357ceb9a50240da9143ccc8d616f8a34
-file-4.03-45.i586.rpm 7c239f1f0695363c6a0dc2dc5d6e82cf
-filesystem-9.0-7.i586.rpm e4d1ed219ea5c8f39dafa30f3749f900
-fillup-1.42-13.i586.rpm 9d9a32946df392999a0bfd42f7faa7a1
-findutils-4.1.7-748.i586.rpm 10318b40691717786e7092395d63533a
-fontconfig-2.2.1-29.i586.rpm 0113c057d8d658b5301e4ce526820f8b
-freetype2-2.1.4-68.i586.rpm c101e3205fdfa22e912f9dc21cd24d12
-gawk-3.1.3-82.i586.rpm 9181c9078ad77b582b9e77f0323417df
-gcc-3.3.1-29.i586.rpm e32b4b631483ab5d22a12900e070890b
-gcc-c++-3.3.1-29.i586.rpm 7e6ee0a475b23bbf1c0e57087f682e43
-gdbm-1.8.3-124.i586.rpm 414fc63a785ee589e40908763b7fb18d
-glib-1.2.10-488.i586.rpm 018f711f294f1a54f9a5b625748f7b22
-glibc-devel-2.3.2-92.i586.rpm 705d90c6a8a7b7eaab8632c343d4e173
-glibc-i18ndata-2.3.2-92.i586.rpm fc719866325ef22c27ac07e366f8b854
-glibc-locale-2.3.2-92.i586.rpm 657164f38227450e5b0bde2892804f21
-gnome-filesystem-0.1-80.i586.rpm f42a958db0291f04af16a7ab50efedca
-gpm-1.20.1-204.i586.rpm 1mmrydfwl8ivlqhxx9l99w9f6vs0f7gnpc3r7j6qfcszm8ql77w6
-gpg-1.2.2-88.i586.rpm 5734134e5b699eacc227672bcb7fdb62
-grep-2.5.1-302.i586.rpm 553eea58a317a068b2bdbd279066f023
-gzip-1.3.5-51.i586.rpm 011ad84c3d935647e639bba34f9c9726
-info-4.5-92.i586.rpm 0da6ec81011700f2dc0db7f8c62d5436
-insserv-1.00.1-18.i586.rpm 708cee980fe3748f161b64aec372adfb
-iproute2-2.4.7-697.i586.rpm 5b8265f3f5f6a23a212b12700664cc91
-iputils-ss021109-60.i586.rpm b7744924b0d4ee20880cee83965d2c9d
-less-381-32.i586.rpm 2092ca409eeb6c479d345a5a6d19ca3e
-libacl-2.2.15-27.i586.rpm e4e246b6e57e39f68d7eea111daa86c9
-libattr-2.4.8-27.i586.rpm f49e5423a1cd8425f78fe8e2c0846404
-liblcms-1.10-37.i586.rpm 79c8494af052c5032c70ea2a394c7a0e
-libgcc-3.3.1-29.i586.rpm 7ba930b645729570c8b8f768490c7e90
-libjpeg-6.2.0-634.i586.rpm 0a8b28e57514c439a0314c89327b0783
-libpng-1.2.5-97.i586.rpm 09f7bfb235dc205074b2c81a60aaa2bf
-libstdc++-3.3.1-29.i586.rpm fe9e66884f3c6ec73a57c44868c749dd
-libstdc++-devel-3.3.1-29.i586.rpm bb69c86478476fee2fd327a54b5790c9
-libtiff-3.5.7-307.i586.rpm 53152a337d2f540f1b7a61e6b11ae41f
-libtool-1.5-85.i586.rpm dfc1992dc92bef0bcdef7273d2cd70fb
-libxcrypt-2.0-36.i586.rpm 022c44bdfb02c926ad6499506f9e8525
-logrotate-3.6.6-95.i586.rpm 0i8pj3rdnxf4ig1zghsbi63s3ss0mvnv4mvyjjxcnilnmg6qjnqj
-m4-1.4o-512.i586.rpm 141d24f90c907841a8a24ceb8e6cb94d
-make-3.80-101.i586.rpm 4f358bda24d2cefc78c3c744d2bd01da
-mktemp-1.5-637.i586.rpm 3f444e864a5b167472192de89957f47a
-modutils-2.4.25-56.i586.rpm 2d64e9b80a10f945e58a5a70e8859fc9
-ncurses-devel-5.3-115.i586.rpm 747d41d77cfacc3ea3874a6ddebc1862
-net-tools-1.60-448.i586.rpm e92f3a22f4595e97e72d8a6ac2e19959
-openssl-0.9.7b-74.i586.rpm 18e0fa1e8168217f6dea90c1954b5a50
-pam-0.77-129.i586.rpm 7b4e04a641d74fb7f3650100c03b258f
-pam-modules-9.0-6.i586.rpm b93f72a778d19ad9bc42d4c3c1ab5bcb
-patch-2.5.9-56.i586.rpm f9b39a18023a4661dd715e28022ac9d2
-pcre-4.4-24.i586.rpm 9cd20ad696e815b9a93be0015d6373d1
-perl-5.8.1-51.i586.rpm 24c046fc2d03464f61c26c014b715bf2
-perl-Filter-1.29-100.i586.rpm 7674bae9c1a7890a8553854b4933bc50
-pkgconfig-0.15.0-108.i586.rpm 31db551f2fcc901a25da746110584e2d
-popt-1.7-76.i586.rpm 66f310eee498958f83e223845b776746
-readline-devel-4.3-212.i586.rpm c9d0c8cd5ea825beb997c70b6ea95101
-rpm-4.1.1-77.i586.rpm 341f5dfdc85070d91da5fb2774d8c886
-sed-4.0.6-73.i586.rpm c95e7a25899d4d927785cb9cb165fca1
-suse-release-9.0-7.i586.rpm f9965de2e346d02acd56ca963c2ec7ae
-syslogd-1.4.1-424.i586.rpm 3713eb72cc56eef8aed49337efeb3611
-sysvinit-2.82-367.i586.rpm 6dfff9b498c7cb98cff660d0d71f24ec
-tar-1.13.25-204.i586.rpm 4e7808b8b691eb639115db0f88527571
-termcap-2.0.8-781.i586.rpm 755c8d17157be28822a940689ab3c1c7
-unzip-5.50-250.i586.rpm 423d68022a4e5e78aa2a88c1642471a7
-util-linux-2.11z-95.i586.rpm 2174767b2e2e6e4e3cdd8fc569dc3c6e
-XFree86-libs-4.3.0.1-29.i586.rpm 77b0e1d5974703b3fc6621d862b4b038
-zlib-devel-1.1.4-232.i586.rpm 7c60d8432793517236f64b0f79d7f20f
-baseURL mirror://oldsuse/9.0/suse/noarch
-suse-build-key-1.0-472.noarch.rpm 8e34a1af09d66b66ea353685f4a84dfc
diff --git a/pkgs/build-support/vm/rpm/suse-9-i386.nix b/pkgs/build-support/vm/rpm/suse-9-i386.nix
deleted file mode 100644
index 783fc87e258..00000000000
--- a/pkgs/build-support/vm/rpm/suse-9-i386.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{fetchurl}: [
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/glibc-2.3.2-92.i586.rpm; md5="d5396400c92d4085e536b708ddce265c";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/zlib-1.1.4-232.i586.rpm; md5="ba1a8342757071dfd7e52a2c69c86584";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/readline-4.3-212.i586.rpm; md5="c18b059909f3debca772a8f5b7d3aee7";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/ncurses-5.3-115.i586.rpm; md5="48c4f77acdbf2ef9aee807466d0fec88";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/aaa_base-9.0-7.i586.rpm; sha256="1xj9k6b3s0zrdac52q1mw6l7ms55nzmdkfda1s1jbz9laijijppn";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/aaa_skel-2003.9.18-8.i586.rpm; sha256="1cp9kyg8ksqk0hixdkzd454jhymqdpln9x2y2izdifzsc9wzbsz3";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/sysconfig-0.23.30-39.i586.rpm; sha256="1dmn95b9yb7rcbgxscw7nspjrdw67v4gdn7kmy5pqq3jxnpmhzi8";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/permissions-2003.9.18-8.i586.rpm; sha256="0z0n89jh63lqsa0sg6z7f7mn1n6bh1qnxd1h9s5ypmpkazfdhhib";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/ash-0.2-804.i586.rpm; sha256="01m2nl5jmy206va26fx7w3p9zvmmvd5jkng19vjdw556a74h9saz";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/autoconf-2.57-142.i586.rpm; md5="1e360a37d4db4c87e07d15c88f0c12e2";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/automake-1.7.6-44.i586.rpm; md5="2c7f1335e73751008f594a68eb515290";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/bash-2.05b-212.i586.rpm; md5="1a0fd51a36144dbe89c16553a71899e0";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/binutils-2.14.90.0.5-47.i586.rpm; md5="63d69aeb190304f3ddba2d34fcbb5087";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/bzip2-1.0.2-232.i586.rpm; md5="d667ffc252d983f27eeb041775503438";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/coreutils-5.0-90.i586.rpm; md5="121abfc07a9035329b781fdd46e8b600";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/compat-2003.5.12-60.i586.rpm; md5="e78e5e2e78a2e29c90c3edbf51c8789e";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/cpp-3.3.1-29.i586.rpm; md5="2df0da5848fbc59e322167cf7bf1b2bd";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/cracklib-2.7-903.i586.rpm; md5="0c5d1c68796906c035a58cf9e4ce1e64";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/curl-7.10.5-42.i586.rpm; md5="17ca3725c110e267127b08bd0a1d59a7";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/db-4.1.25-76.i586.rpm; md5="9656c5d737d5d6db5a4a320a98590479";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/devs-9.0-5.i586.rpm; md5="81e0daafae9d5c75cf6826518dcb9c0f";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/diffutils-2.8.1-207.i586.rpm; md5="7d2aed3fe2d8a3e94076695d32c745fb";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/e2fsprogs-1.34-34.i586.rpm; md5="5acb02c211196891382927dd8a197899";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/expat-1.95.6-84.i586.rpm; md5="357ceb9a50240da9143ccc8d616f8a34";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/file-4.03-45.i586.rpm; md5="7c239f1f0695363c6a0dc2dc5d6e82cf";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/filesystem-9.0-7.i586.rpm; md5="e4d1ed219ea5c8f39dafa30f3749f900";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/fillup-1.42-13.i586.rpm; md5="9d9a32946df392999a0bfd42f7faa7a1";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/findutils-4.1.7-748.i586.rpm; md5="10318b40691717786e7092395d63533a";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/fontconfig-2.2.1-29.i586.rpm; md5="0113c057d8d658b5301e4ce526820f8b";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/freetype2-2.1.4-68.i586.rpm; md5="c101e3205fdfa22e912f9dc21cd24d12";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gawk-3.1.3-82.i586.rpm; md5="9181c9078ad77b582b9e77f0323417df";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gcc-3.3.1-29.i586.rpm; md5="e32b4b631483ab5d22a12900e070890b";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gcc-c++-3.3.1-29.i586.rpm; md5="7e6ee0a475b23bbf1c0e57087f682e43";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gdbm-1.8.3-124.i586.rpm; md5="414fc63a785ee589e40908763b7fb18d";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/glib-1.2.10-488.i586.rpm; md5="018f711f294f1a54f9a5b625748f7b22";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/glibc-devel-2.3.2-92.i586.rpm; md5="705d90c6a8a7b7eaab8632c343d4e173";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/glibc-i18ndata-2.3.2-92.i586.rpm; md5="fc719866325ef22c27ac07e366f8b854";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/glibc-locale-2.3.2-92.i586.rpm; md5="657164f38227450e5b0bde2892804f21";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gnome-filesystem-0.1-80.i586.rpm; md5="f42a958db0291f04af16a7ab50efedca";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gpm-1.20.1-204.i586.rpm; sha256="1mmrydfwl8ivlqhxx9l99w9f6vs0f7gnpc3r7j6qfcszm8ql77w6";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gpg-1.2.2-88.i586.rpm; md5="5734134e5b699eacc227672bcb7fdb62";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/grep-2.5.1-302.i586.rpm; md5="553eea58a317a068b2bdbd279066f023";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/gzip-1.3.5-51.i586.rpm; md5="011ad84c3d935647e639bba34f9c9726";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/info-4.5-92.i586.rpm; md5="0da6ec81011700f2dc0db7f8c62d5436";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/insserv-1.00.1-18.i586.rpm; md5="708cee980fe3748f161b64aec372adfb";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/iproute2-2.4.7-697.i586.rpm; md5="5b8265f3f5f6a23a212b12700664cc91";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/iputils-ss021109-60.i586.rpm; md5="b7744924b0d4ee20880cee83965d2c9d";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/less-381-32.i586.rpm; md5="2092ca409eeb6c479d345a5a6d19ca3e";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libacl-2.2.15-27.i586.rpm; md5="e4e246b6e57e39f68d7eea111daa86c9";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libattr-2.4.8-27.i586.rpm; md5="f49e5423a1cd8425f78fe8e2c0846404";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/liblcms-1.10-37.i586.rpm; md5="79c8494af052c5032c70ea2a394c7a0e";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libgcc-3.3.1-29.i586.rpm; md5="7ba930b645729570c8b8f768490c7e90";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libjpeg-6.2.0-634.i586.rpm; md5="0a8b28e57514c439a0314c89327b0783";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libpng-1.2.5-97.i586.rpm; md5="09f7bfb235dc205074b2c81a60aaa2bf";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libstdc++-3.3.1-29.i586.rpm; md5="fe9e66884f3c6ec73a57c44868c749dd";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libstdc++-devel-3.3.1-29.i586.rpm; md5="bb69c86478476fee2fd327a54b5790c9";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libtiff-3.5.7-307.i586.rpm; md5="53152a337d2f540f1b7a61e6b11ae41f";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libtool-1.5-85.i586.rpm; md5="dfc1992dc92bef0bcdef7273d2cd70fb";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/libxcrypt-2.0-36.i586.rpm; md5="022c44bdfb02c926ad6499506f9e8525";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/logrotate-3.6.6-95.i586.rpm; sha256="0i8pj3rdnxf4ig1zghsbi63s3ss0mvnv4mvyjjxcnilnmg6qjnqj";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/m4-1.4o-512.i586.rpm; md5="141d24f90c907841a8a24ceb8e6cb94d";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/make-3.80-101.i586.rpm; md5="4f358bda24d2cefc78c3c744d2bd01da";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/mktemp-1.5-637.i586.rpm; md5="3f444e864a5b167472192de89957f47a";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/modutils-2.4.25-56.i586.rpm; md5="2d64e9b80a10f945e58a5a70e8859fc9";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/ncurses-devel-5.3-115.i586.rpm; md5="747d41d77cfacc3ea3874a6ddebc1862";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/net-tools-1.60-448.i586.rpm; md5="e92f3a22f4595e97e72d8a6ac2e19959";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/openssl-0.9.7b-74.i586.rpm; md5="18e0fa1e8168217f6dea90c1954b5a50";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/pam-0.77-129.i586.rpm; md5="7b4e04a641d74fb7f3650100c03b258f";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/pam-modules-9.0-6.i586.rpm; md5="b93f72a778d19ad9bc42d4c3c1ab5bcb";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/patch-2.5.9-56.i586.rpm; md5="f9b39a18023a4661dd715e28022ac9d2";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/pcre-4.4-24.i586.rpm; md5="9cd20ad696e815b9a93be0015d6373d1";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/perl-5.8.1-51.i586.rpm; md5="24c046fc2d03464f61c26c014b715bf2";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/perl-Filter-1.29-100.i586.rpm; md5="7674bae9c1a7890a8553854b4933bc50";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/pkgconfig-0.15.0-108.i586.rpm; md5="31db551f2fcc901a25da746110584e2d";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/popt-1.7-76.i586.rpm; md5="66f310eee498958f83e223845b776746";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/readline-devel-4.3-212.i586.rpm; md5="c9d0c8cd5ea825beb997c70b6ea95101";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/rpm-4.1.1-77.i586.rpm; md5="341f5dfdc85070d91da5fb2774d8c886";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/sed-4.0.6-73.i586.rpm; md5="c95e7a25899d4d927785cb9cb165fca1";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/suse-release-9.0-7.i586.rpm; md5="f9965de2e346d02acd56ca963c2ec7ae";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/syslogd-1.4.1-424.i586.rpm; md5="3713eb72cc56eef8aed49337efeb3611";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/sysvinit-2.82-367.i586.rpm; md5="6dfff9b498c7cb98cff660d0d71f24ec";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/tar-1.13.25-204.i586.rpm; md5="4e7808b8b691eb639115db0f88527571";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/termcap-2.0.8-781.i586.rpm; md5="755c8d17157be28822a940689ab3c1c7";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/unzip-5.50-250.i586.rpm; md5="423d68022a4e5e78aa2a88c1642471a7";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/util-linux-2.11z-95.i586.rpm; md5="2174767b2e2e6e4e3cdd8fc569dc3c6e";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/XFree86-libs-4.3.0.1-29.i586.rpm; md5="77b0e1d5974703b3fc6621d862b4b038";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/i586/zlib-devel-1.1.4-232.i586.rpm; md5="7c60d8432793517236f64b0f79d7f20f";})
-  (fetchurl {url=mirror://oldsuse/9.0/suse/noarch/suse-build-key-1.0-472.noarch.rpm; md5="8e34a1af09d66b66ea353685f4a84dfc";})
-]
diff --git a/pkgs/build-support/vm/windows/cygwin-iso/default.nix b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
index d9801428a88..b560a850a30 100644
--- a/pkgs/build-support/vm/windows/cygwin-iso/default.nix
+++ b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
@@ -40,7 +40,7 @@ let
     };
   in map gen expr;
 
-in import <nixpkgs/nixos/lib/make-iso9660-image.nix> {
+in import ../../../../../nixos/lib/make-iso9660-image.nix {
   inherit stdenv perl cdrkit pathsFromGraph;
   contents = [
     { source = "${cygwinCross}/bin/setup.exe";
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 2eefa31691e..f339be3954b 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "man-pages-3.71";
+  name = "man-pages-3.78";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
-    sha256 = "981038ecffcf6db490c0bc4359f489c318654068a6ba5aa086962ac41b0d2894";
+    sha256 = "0zm3sc0zbfng440jjqha8qnzivvg5nqpwgi7zv9h8qxwgyhrfa65";
   };
 
   preBuild =
diff --git a/pkgs/data/documentation/pthread-man-pages/default.nix b/pkgs/data/documentation/pthread-man-pages/default.nix
index 4cd5a5b8297..cbd3234b2d4 100644
--- a/pkgs/data/documentation/pthread-man-pages/default.nix
+++ b/pkgs/data/documentation/pthread-man-pages/default.nix
@@ -43,6 +43,6 @@ in
     meta = {
       description = "POSIX threads (pthreads) manual pages from LinuxThreads";
       homepage = http://www.gnu.org/software/libc/;
-      maintainers = stdenv.lib.maintainers.mornfall;
+      maintainers = [ stdenv.lib.maintainers.mornfall ];
     };
   }
diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix
new file mode 100644
index 00000000000..33c002e9801
--- /dev/null
+++ b/pkgs/data/documentation/stdman/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, curl, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "stdman-${version}";
+  version = "d860212";
+
+  src = fetchFromGitHub {
+    owner = "jeaye";
+    repo = "stdman";
+    rev = "d860212767ca60472e33aa3bad22a3eac834b1f8";
+    sha256 = "09c5gjhcz97ghfrv9zkgfb1wckvmqnhbzga0xidbm1ir7640di8l";
+  };
+
+  preConfigure = "
+    patchShebangs ./configure
+    patchShebangs ./do_install
+  ";
+
+  buildInputs = [ curl ];
+  
+  meta = with stdenv.lib; {
+    description = "Formatted C++11/14 stdlib man pages (cppreference)";
+    longDescription = "stdman is a tool that parses archived HTML
+      files from cppreference and generates groff-formatted manual
+      pages for Unix-based systems. The goal is to provide excellent
+      formatting for easy readability.";
+    homepage = https://github.com/jeaye/stdman;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.twey ];
+  };
+}
diff --git a/pkgs/data/documentation/zeal/default.nix b/pkgs/data/documentation/zeal/default.nix
new file mode 100644
index 00000000000..adcb4fa42e9
--- /dev/null
+++ b/pkgs/data/documentation/zeal/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, pkgconfig, qt5, libarchive }:
+
+stdenv.mkDerivation rec {
+  version = "20141123";
+  name = "zeal-${version}";
+
+  src = fetchFromGitHub {
+    owner = "zealdocs";
+    repo = "zeal";
+    rev = "76405f8387d6a82697faab9630c78f31417d8450";
+    sha256 = "1057py3j2flzxyiks031s0mwm9h82v033iqn5cq8sycmrb3ihj2s";
+  };
+
+  buildInputs = [ pkgconfig qt5.base qt5.webkit libarchive ];
+
+  patchPhase = ''
+    substituteInPlace src/main.cpp \
+      --replace /usr/share/pixmaps/zeal $out/share/pixmaps/zeal
+  '';
+
+  buildPhase = ''
+    qmake PREFIX=$out
+    make
+  '';
+
+  installPhase = ''
+    make INSTALL_ROOT=$out install
+  '';
+
+  preFixup = ''
+    mv $out/usr/bin $out/bin
+    mv $out/usr/share $out/share
+    rmdir $out/usr
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Zeal is a simple offline API documentation browser";
+    longDescription = ''
+      Zeal is a simple offline API documentation browser inspired by Dash (OS X
+      app), available for Linux and Windows.
+    '';
+    homepage = "http://zealdocs.org/";
+    licenses = with stdenv.lib.licenses; [ gpl3 ];
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ skeidel ];
+  };
+}
+
diff --git a/pkgs/data/fonts/arkpandora/default.nix b/pkgs/data/fonts/arkpandora/default.nix
index 7394dce551b..189c066b13e 100644
--- a/pkgs/data/fonts/arkpandora/default.nix
+++ b/pkgs/data/fonts/arkpandora/default.nix
@@ -4,6 +4,7 @@ rec {
   src = fetchurl {
     urls = [
       "ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ttf-arkpandora-${version}.tgz"
+      "http://distcache.FreeBSD.org/ports-distfiles/ttf-arkpandora-${version}.tgz"
       "http://www.users.bigpond.net.au/gavindi/ttf-arkpandora-${version}.tgz"
       ];
     sha256 = "16mfxwlgn6vs3xn00hha5dnmz6bhjiflq138y4zcq3yhk0y9bz51";
diff --git a/pkgs/data/fonts/aurulent-sans/default.nix b/pkgs/data/fonts/aurulent-sans/default.nix
index a56efa35c7c..d6b4829d730 100644
--- a/pkgs/data/fonts/aurulent-sans/default.nix
+++ b/pkgs/data/fonts/aurulent-sans/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "Aurulent Sans";
     longDescription = "Aurulent Sans is a humanist sans serif intended to be used as an interface font.";
     homepage = http://delubrum.org/;
-    license = "SIL";
+    license = stdenv.lib.licenses.ofl;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/baekmuk-ttf/default.nix b/pkgs/data/fonts/baekmuk-ttf/default.nix
new file mode 100644
index 00000000000..acd16478fcf
--- /dev/null
+++ b/pkgs/data/fonts/baekmuk-ttf/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "baekmuk-ttf-2.2";
+
+  src = fetchurl {
+    url = "http://kldp.net/frs/download.php/1429/${name}.tar.gz";
+    sha256 = "08ab7dffb55d5887cc942ce370f5e33b756a55fbb4eaf0b90f244070e8d51882";
+  };
+
+  dontBuild = true;
+
+  installPhase = let
+    fonts_dir = "$out/share/fonts";
+    doc_dir = "$out/share/doc/${name}";
+  in ''
+    mkdir -pv ${fonts_dir}
+    mkdir -pv ${doc_dir}
+    cp ttf/*.ttf ${fonts_dir}
+    cp COPYRIGHT* ${doc_dir}
+  '';
+
+  meta = {
+    description = "Korean font";
+    homepage = "http://kldp.net/projects/baekmuk/";
+    license = "BSD-like";
+  };
+}
+
diff --git a/pkgs/data/fonts/caladea/cambria-alias.conf b/pkgs/data/fonts/caladea/cambria-alias.conf
new file mode 100644
index 00000000000..f763e2a8c34
--- /dev/null
+++ b/pkgs/data/fonts/caladea/cambria-alias.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- Configure Caladea as a metric-compatible alias for the
+       Microsoft Cambria font family. -->
+  <alias binding="same">
+    <family>Cambria</family>
+    <accept>
+      <family>Caladea</family>
+    </accept>
+  </alias>
+  <alias binding="same">
+    <family>Caladea</family>
+    <default>
+      <family>Cambria</family>
+    </default>
+  </alias>
+</fontconfig>
diff --git a/pkgs/data/fonts/caladea/default.nix b/pkgs/data/fonts/caladea/default.nix
new file mode 100644
index 00000000000..110405839a1
--- /dev/null
+++ b/pkgs/data/fonts/caladea/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "caladea-${version}";
+  version = "20130214";
+
+  src = fetchurl {
+    url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-${version}.tar.gz";
+    sha256 = "02addvvkbvf3bn21kfyj10j9w1c8hdxxld4wjmnc1j8ksqpir3f4";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    mkdir -p $out/share/fonts/truetype
+    cp -v *.ttf $out/share/fonts/truetype
+    cp -v ${./cambria-alias.conf} $out/etc/fonts/conf.d/30-cambria.conf
+  '';
+
+  meta = with stdenv.lib; {
+    # This font doesn't appear to have any official web site but this
+    # one provides some good information and samples.
+    homepage = http://openfontlibrary.org/en/font/caladea;
+    description = "A serif font metric-compatible with Microsoft Cambria";
+    longDescription = ''
+      Caladea is a free font that is metric-compatible with the
+      Microsoft Cambria font. Developed by Carolina Giovagnoli and
+      Andrés Torresi at Huerta Tipográfica foundry.
+    '';
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+
+    # Reduce the priority of this package. The intent is that if you
+    # also install the `vista-fonts` package, then you probably will
+    # not want to install the font alias of this package.
+    priority = 10;
+  };
+}
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 5c9903c9971..f6b62623c4a 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "cantarell-fonts-0.0.15";
+  name = "cantarell-fonts-0.0.16";
 
   src = fetchurl {
-    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.15.tar.xz;
-    sha256 = "0zmwzzfjrlpkdjb475ann11m53a2idm76ydd2rw1hjmdr74dq72j";
+    url = mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.16.tar.xz;
+    sha256 = "071g2l89gdjgqhapw9dbm1ch6hnzydhf7b38pi86fm91adaqggqm";
   };
 
   meta = {
-    maintainers = [ stdenv.lib.maintainers.urkud ];
+    description = "Default typeface used in the user interface of GNOME since version 3.0";
     platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.ofl;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/data/fonts/carlito/calibri-alias.conf b/pkgs/data/fonts/carlito/calibri-alias.conf
new file mode 100644
index 00000000000..294af3b6c78
--- /dev/null
+++ b/pkgs/data/fonts/carlito/calibri-alias.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- Configure Carlito as a metric-compatible alias for the
+       Microsoft Calibri font family. -->
+  <alias binding="same">
+    <family>Calibri</family>
+    <accept>
+      <family>Carlito</family>
+    </accept>
+  </alias>
+  <alias binding="same">
+    <family>Carlito</family>
+    <default>
+      <family>Calibri</family>
+    </default>
+  </alias>
+</fontconfig>
diff --git a/pkgs/data/fonts/carlito/default.nix b/pkgs/data/fonts/carlito/default.nix
new file mode 100644
index 00000000000..b90d89c9779
--- /dev/null
+++ b/pkgs/data/fonts/carlito/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "carlito-${version}";
+  version = "20130920";
+
+  src = fetchurl {
+    url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-${version}.tar.gz";
+    sha256 = "0nmgzp6gdvv4dipswrw0l1bfjp4jbic2qvm7dpqiq71jpin2plab";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    mkdir -p $out/share/fonts/truetype
+    cp -v *.ttf $out/share/fonts/truetype
+    cp -v ${./calibri-alias.conf} $out/etc/fonts/conf.d/30-calibri.conf
+  '';
+
+  meta = with stdenv.lib; {
+    # This font doesn't appear to have any official web site but this
+    # one provides some good information and samples.
+    homepage = http://openfontlibrary.org/en/font/carlito;
+    description = "A sans-serif font metric-compatible with Microsoft Calibri";
+    longDescription = ''
+      Carlito is a free font that is metric-compatible with the
+      Microsoft Calibri font. The font is designed by Łukasz Dziedzic
+      of the tyPoland foundry and based his Lato font.
+    '';
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+
+    # Reduce the priority of this package. The intent is that if you
+    # also install the `vista-fonts` package, then you probably will
+    # not want to install the font alias of this package.
+    priority = 10;
+  };
+}
diff --git a/pkgs/data/fonts/clearlyU/default.nix b/pkgs/data/fonts/clearlyU/default.nix
index 2761ed6f3e6..b4750c90faa 100644
--- a/pkgs/data/fonts/clearlyU/default.nix
+++ b/pkgs/data/fonts/clearlyU/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A Unicode font";
+    maintainers = [stdenv.lib.maintainers.raskin];
   };
 }
diff --git a/pkgs/data/fonts/cm-unicode/default.nix b/pkgs/data/fonts/cm-unicode/default.nix
index b8f7f7c6d3e..d8f6f7f8351 100644
--- a/pkgs/data/fonts/cm-unicode/default.nix
+++ b/pkgs/data/fonts/cm-unicode/default.nix
@@ -9,17 +9,16 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="0.6.3a";
+    version = "0.7.0";
     baseName="cm-unicode";
     name="${baseName}-${version}";
-    url="ftp://canopus.iacp.dvo.ru/pub/Font/cm_unicode/${name}-otf.tar.gz";
-    hash="1018gmvh7wl7sm6f3fqd917syd1yy0gz3pxmrc9lkxckcr7wz0zp";
+    url="mirror://sourceforge/${baseName}/${baseName}/${version}/${name}-otf.tar.xz";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "0a0w9qm9g8qz2xh3lr61bj1ymqslqsvk4w2ybc3v2qa89nz7x2jl";
   };
 
   inherit (sourceInfo) name version;
@@ -34,11 +33,8 @@ rec {
     ];
     platforms = with a.lib.platforms;
       all;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://canopus.iacp.dvo.ru/~panov/cm-unicode/download.html";
-    };
+    downloadPage = "http://sourceforge.net/projects/cm-unicode/files/cm-unicode/";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/data/fonts/cm-unicode/default.upstream b/pkgs/data/fonts/cm-unicode/default.upstream
new file mode 100644
index 00000000000..bc24cd919b2
--- /dev/null
+++ b/pkgs/data/fonts/cm-unicode/default.upstream
@@ -0,0 +1,7 @@
+attribute_name cm_unicode
+url http://sourceforge.net/projects/cm-unicode/files/cm-unicode/
+SF_version_dir
+version_link '[-]otf[.]tar[.][a-z0-9]+/download$'
+SF_redirect
+ensure_hash
+do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/data/fonts/comfortaa/default.nix b/pkgs/data/fonts/comfortaa/default.nix
new file mode 100644
index 00000000000..c773f395592
--- /dev/null
+++ b/pkgs/data/fonts/comfortaa/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "comfortaa-${version}";
+  version = "2.004";
+
+  src = fetchurl {
+    url = "http://openfontlibrary.org/assets/downloads/comfortaa/38318a69b56162733bf82bc0170b7521/comfortaa.zip";
+    sha256 = "0js0kk5g6b7xrq92b68gz5ipbiv1havnbgnfqzvlw3k3nllwnl9z";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  buildInputs = [unzip];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    mkdir -p $out/share/doc/${name}
+    cp -v *.ttf $out/share/fonts/truetype/
+    cp -v FONTLOG.txt $out/share/doc/${name}/
+    cp -v donate.html $out/share/doc/${name}/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949;
+    description = "A clean and modern font suitable for headings and logos";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf b/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf
new file mode 100644
index 00000000000..be5f6cca866
--- /dev/null
+++ b/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- Configure Comic Relief as a metric-compatible alias for the
+       Microsoft Comic Sans font family. -->
+  <alias binding="same">
+    <family>Comic Sans MS</family>
+    <accept>
+      <family>Comic Relief</family>
+    </accept>
+  </alias>
+  <alias binding="same">
+    <family>Comic Relief</family>
+    <default>
+      <family>Comic Sans MS</family>
+    </default>
+  </alias>
+</fontconfig>
diff --git a/pkgs/data/fonts/comic-relief/default.nix b/pkgs/data/fonts/comic-relief/default.nix
new file mode 100644
index 00000000000..a8b2b786efa
--- /dev/null
+++ b/pkgs/data/fonts/comic-relief/default.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "comic-relief-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "https://dl.dropbox.com/u/56493902/loudifier/comicrelief.zip";
+    sha256 = "0wpf10m9zmcfvcxgc7dxzdm3syam7d7qxlfabgr1nxzq299kh8ch";
+  };
+
+  buildInputs = [unzip];
+
+  phases = ["unpackPhase" "installPhase"];
+
+  unpackCmd = ''
+    mkdir -p ${name}
+    unzip -qq -d ${name} $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    mkdir -p $out/share/doc/${name}
+    mkdir -p $out/share/fonts/truetype
+    cp -v *.ttf $out/share/fonts/truetype
+    cp -v ${./comic-sans-ms-alias.conf} $out/etc/fonts/conf.d/30-comic-sans-ms.conf
+    cp -v FONTLOG.txt $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://loudifier.com/comic-relief/;
+    description = "A font metric-compatible with Microsoft Comic Sans";
+    longDescription = ''
+      Comic Relief is a typeface designed to be metrically equivalent
+      to the popular Comic Sans MS. Comic Relief can be used in place
+      of Comic Sans MS without having to move, resize, or reset any
+      part of the copy. It contains all glyphs and characters
+      available in Comic Sans MS.
+    '';
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+
+    # Reduce the priority of this package. The intent is that if you
+    # also install the `corefonts` package, then you probably will not
+    # want to install the font alias of this package.
+    priority = 10;
+  };
+}
diff --git a/pkgs/data/fonts/corefonts/default.nix b/pkgs/data/fonts/corefonts/default.nix
index b26d3bd8c1d..2030fb3ab1d 100644
--- a/pkgs/data/fonts/corefonts/default.nix
+++ b/pkgs/data/fonts/corefonts/default.nix
@@ -34,18 +34,34 @@ stdenv.mkDerivation {
 
   buildInputs = [cabextract];
 
-  buildCommand = "
+  buildCommand = ''
     for i in $exes; do
         cabextract --lowercase $i
     done
 
     cabextract --lowercase viewer1.cab
-  
+
     fontDir=$out/share/fonts/truetype
     mkdir -p $fontDir
     cp *.ttf $fontDir
 
     # Also put the EULA there to be on the safe side.
     cp ${eula} $fontDir/eula.html
-  ";
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    for name in Andale-Mono Arial-Black Arial Comic-Sans-MS \
+                Courier-New Georgia Impact Times-New-Roman \
+                Trebuchet Verdana Webdings ; do
+      substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-''${name,,}.conf \
+        --subst-var-by fontname "''${name//-/ }"
+    done
+  '';
+
+  meta = {
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
+  };
 }
diff --git a/pkgs/data/fonts/corefonts/no-op.conf b/pkgs/data/fonts/corefonts/no-op.conf
new file mode 100644
index 00000000000..503e62cfa29
--- /dev/null
+++ b/pkgs/data/fonts/corefonts/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the Microsoft @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>
diff --git a/pkgs/data/fonts/crimson/default.nix b/pkgs/data/fonts/crimson/default.nix
new file mode 100644
index 00000000000..f612f077064
--- /dev/null
+++ b/pkgs/data/fonts/crimson/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "crimson-${version}";
+  version = "2014.10";
+
+  src = fetchurl {
+    url = "https://github.com/skosch/Crimson/archive/fonts-october2014.tar.gz";
+    sha256 = "0qyihrhqb89vwg9cfpaf5xqmcjvs4r4614bxy634vmqv9v1bzn5b";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "Desktop Fonts/OTF/"*.otf $out/share/fonts/opentype
+    cp -v README.md $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://aldusleaf.org/crimson.html;
+    description = "A font family inspired by beautiful oldstyle typefaces";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/dina/default.nix b/pkgs/data/fonts/dina/default.nix
new file mode 100644
index 00000000000..da7a1bc5fb9
--- /dev/null
+++ b/pkgs/data/fonts/dina/default.nix
@@ -0,0 +1,61 @@
+{stdenv, fetchurl, unzip, bdftopcf, mkfontdir, mkfontscale}:
+
+stdenv.mkDerivation rec {
+  version = "2.92";
+  name = "dina-font-${version}";
+
+  src = fetchurl {
+    url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip";
+    sha256 = "1kq86lbxxgik82aywwhawmj80vsbz3hfhdyhicnlv9km7yjvnl8z";
+  };
+
+  buildInputs = [ unzip bdftopcf mkfontdir mkfontscale ];
+
+  dontBuild = true;
+  patchPhase = "sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf";
+  installPhase = ''
+    _get_font_size() {
+      _pt=$\{1%.bdf}
+      _pt=$\{_pt#*-}
+      echo $_pt
+    }
+
+    for i in Dina_i400-*.bdf; do
+        bdftopcf -t -o DinaItalic$(_get_font_size $i).pcf $i
+    done
+    for i in Dina_i700-*.bdf; do
+        bdftopcf -t -o DinaBoldItalic$(_get_font_size $i).pcf $i
+    done
+    for i in Dina_r400-*.bdf; do
+        bdftopcf -t -o DinaMedium$(_get_font_size $i).pcf $i
+    done
+    for i in Dina_r700-*.bdf; do
+        bdftopcf -t -o DinaBold$(_get_font_size $i).pcf $i
+    done
+    gzip *.pcf
+
+    fontDir="$out/share/fonts/misc"
+    mkdir -p "$fontDir"
+    mv *.pcf.gz "$fontDir"
+
+    cd "$fontDir"
+    mkfontdir
+    mkfontscale
+  '';
+
+  preferLocalBuild = true;
+
+  meta = with stdenv.lib; {
+    description = "A monospace bitmap font aimed at programmers.";
+    longDescription = ''
+      Dina is a monospace bitmap font, primarily aimed at programmers. It is
+      relatively compact to allow a lot of code on screen, while (hopefully)
+      clear enough to remain readable even at high resolutions.
+    '';
+    homepage = https://www.donationcoder.com/Software/Jibz/Dina/;
+    downloadPage = https://www.donationcoder.com/Software/Jibz/Dina/;
+    license = licenses.free;
+    maintainers = [ maintainers.prikhi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix
new file mode 100644
index 00000000000..930c0a22520
--- /dev/null
+++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "fantasque-sans-mono-${version}";
+  version = "1.6.5";
+
+  src = fetchurl {
+    url = "https://github.com/belluzj/fantasque-sans/releases/download/v${version}/FantasqueSansMono.zip";
+    sha256 = "19a82xlbcnd7dxqmpp03b62gjvi33bh635r0bjw2l09lgir6alym";
+  };
+
+  buildInputs = [unzip];
+  phases = ["unpackPhase" "installPhase"];
+
+  unpackCmd = ''
+    mkdir -p ${name}
+    unzip -qq -d ${name} $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "OTF/"*.otf $out/share/fonts/opentype
+    cp -v README.md $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/belluzj/fantasque-sans;
+    description = "A font family with a great monospaced variant for programmers";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/fira/default.nix b/pkgs/data/fonts/fira/default.nix
index 56fa9f51a47..532abd4e587 100644
--- a/pkgs/data/fonts/fira/default.nix
+++ b/pkgs/data/fonts/fira/default.nix
@@ -1,15 +1,16 @@
-{stdenv, fetchurl, unzip }:
+{ stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "fira-3.111";
+  name = "fira-4.004";
 
   src = fetchurl {
-    url = "http://www.carrois.com/wordpress/downloads/fira_3_1/FiraFonts3111.zip";
-    sha256 = "3ced3df236b0b0eec1b390885c53ac02f3e3f830e9449414230717334a0b2457";
+    url = "http://www.carrois.com/downloads/fira_4_0/FiraFonts4004.zip";
+    sha256 = "0mab1n4i8ayhzmpfm0dj07annghrfpnsfr2rhnwsyhkk5zxlh6v7";
   };
 
   buildInputs = [unzip];
   phases = [ "unpackPhase" "installPhase" ];
+  sourceRoot = "FiraFonts4004";
 
   installPhase = ''
     mkdir -p $out/share/fonts/opentype
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.carrois.com/fira-3-1/;
+    homepage = http://www.carrois.com/fira-4-0/;
     description = "Sans-serif and monospace font for Firefox OS";
     longDescription = ''
       Fira Sans is a sans-serif font designed by Erik Spiekermann,
diff --git a/pkgs/data/fonts/freefont-ttf/default.nix b/pkgs/data/fonts/freefont-ttf/default.nix
index e1d9e1614f3..51505320ba4 100644
--- a/pkgs/data/fonts/freefont-ttf/default.nix
+++ b/pkgs/data/fonts/freefont-ttf/default.nix
@@ -1,13 +1,15 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation rec {
-  name = "freefont-ttf-20100919";
+  name = "freefont-ttf-20120503";
 
   src = fetchurl {
-    url = "mirror://gnu/freefont/${name}.tar.gz";
-    sha256 = "1q3h5jp1mbdkinkwxy0lfd0a1q7azlbagraydlzaa2ng82836wg4";
+    url = "mirror://gnu/freefont/${name}.zip";
+    sha256 = "1bw9mrf5pqi2a29b7qw4nhhj566aqqmi28hkbn2a38c2pzqvm1bw";
   };
 
+  buildInputs = [ unzip ];
+
   installPhase = ''
     mkdir -p $out/share/fonts/truetype
     cp *.ttf $out/share/fonts/truetype
diff --git a/pkgs/data/fonts/gyre/default.nix b/pkgs/data/fonts/gyre/default.nix
new file mode 100644
index 00000000000..46b947ce77a
--- /dev/null
+++ b/pkgs/data/fonts/gyre/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  baseName = "gyre-fonts";
+  version = "2.005";
+  name="${baseName}-${version}";
+  
+  src = fetchurl {
+    url = "http://www.gust.org.pl/projects/e-foundry/tex-gyre/whole/tg-2.005otf.zip";
+    sha256 = "0kph9l3g7jb2bpmxdbdg5zl56wacmnvdvsdn7is1gc750sqvsn31";
+  };
+
+  buildInputs = [unzip];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.otf $out/share/fonts/truetype
+  '';
+
+  meta = {
+    description = "OpenType fonts from the Gyre project, suitable for use with (La)TeX";
+
+    longDescription = ''The Gyre project started in 2006, and will
+    eventually include enhanced releases of all 35 freely available
+    PostScript fonts distributed with Ghostscript v4.00.  These are
+    being converted to OpenType and extended with diacritical marks
+    covering all modern European languages and then some'';
+
+    homepage = "http://www.gust.org.pl/projects/e-foundry/tex-gyre/index_html#Readings";
+
+    license = stdenv.lib.licenses.lppl13c;
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ bergey ];
+  };
+}
diff --git a/pkgs/data/fonts/hasklig/default.nix b/pkgs/data/fonts/hasklig/default.nix
new file mode 100644
index 00000000000..d2de6f63be3
--- /dev/null
+++ b/pkgs/data/fonts/hasklig/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+  name = "hasklig-0.4";
+
+  src = fetchurl {
+    url = "https://github.com/i-tu/Hasklig/releases/download/0.4/Hasklig-0.4.zip";
+    sha256 = "14j0zfapw6s6x5psp1rvx2i59rxdwb1jgwfgfhzhypr22qy40xi8";
+  };
+
+  buildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp *.otf $out/share/fonts/opentype
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/i-tu/Hasklig";
+    description = "A font with ligatures for Haskell code based off Source Code Pro";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ davidrusu ];
+  };
+}
diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix
index ea579a589c4..45025701a1d 100644
--- a/pkgs/data/fonts/junicode/default.nix
+++ b/pkgs/data/fonts/junicode/default.nix
@@ -1,24 +1,23 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation {
-  name = "junicode-0.6.15";
+  name = "junicode-0.7.8";
 
   src = fetchurl {
-    url = mirror://sourceforge/junicode/junicode-0.6.15.zip;
-    sha256 = "0p16r5s6qwyz0hayb6k61s5r2sfachlx7r6gpqqx5myx6ipbfdns";
+    url = mirror://sourceforge/junicode/junicode/junicode-0-7-8/junicode-0-7-8.zip;
+    sha256 = "1lgkhj52s351ya7lp9z3xba7kaivgdvg80njhpj1rpc3jcmc69vl";
   };
 
   buildInputs = [ unzip ];
 
-  sourceRoot = ".";
-
   installPhase =
     ''
       mkdir -p $out/share/fonts/junicode-ttf
-      cp *.ttf $out/share/fonts/junicode-ttf
+      cp fonts/*.ttf $out/share/fonts/junicode-ttf
     '';
 
   meta = {
+    homepage = http://junicode.sourceforge.net/;
     description = "A Unicode font";
   };
 }
diff --git a/pkgs/data/fonts/kochi-substitute-naga10/default.nix b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
index 98ab8a3bcac..ea2c15752d7 100644
--- a/pkgs/data/fonts/kochi-substitute-naga10/default.nix
+++ b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Japanese font, non-free replacement for MS Gothic and MS Mincho.";
+    description = "Japanese font, non-free replacement for MS Gothic and MS Mincho";
     longDescription = ''
       Kochi Gothic and Kochi Mincho were developed as free replacements for the
       MS Gothic and MS Mincho fonts from Microsoft. This version of the fonts
diff --git a/pkgs/data/fonts/kochi-substitute/default.nix b/pkgs/data/fonts/kochi-substitute/default.nix
index dec20fd5100..574bc7f2921 100644
--- a/pkgs/data/fonts/kochi-substitute/default.nix
+++ b/pkgs/data/fonts/kochi-substitute/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Japanese font, a free replacement for MS Gothic and MS Mincho.";
+    description = "Japanese font, a free replacement for MS Gothic and MS Mincho";
     longDescription = ''
       Kochi Gothic and Kochi Mincho were developed as free replacements for the
       MS Gothic and MS Mincho fonts from Microsoft. These are the Debian
diff --git a/pkgs/data/fonts/league-of-moveable-type/default.nix b/pkgs/data/fonts/league-of-moveable-type/default.nix
new file mode 100644
index 00000000000..c592ac2d38b
--- /dev/null
+++ b/pkgs/data/fonts/league-of-moveable-type/default.nix
@@ -0,0 +1,79 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  baseName = "league-of-moveable-type";
+  version = "2014-12";
+  name="${baseName}-${version}";
+
+  srcs = [(fetchurl {
+    url = "https://www.theleagueofmoveabletype.com/league-gothic/download";
+    sha256 = "0nbwsbwhs375kbis3lpk98dw05mnh455vghjg1cq0j2fsj1zb99b";
+    name = "league-gothic.zip";
+  })
+
+  (fetchurl {
+    url = "https://www.theleagueofmoveabletype.com/fanwood/download";
+    sha256 = "1023da7hik8ci8s7rcy6lh4h9p6igx1kz9y1a2cv6sizbp819w8g";
+    name = "fanwood.zip";
+  })
+
+  (fetchurl {
+    url = "https://www.theleagueofmoveabletype.com/linden-hill/download";
+    sha256 = "0rm92rz9kki91l5wcn149mdpwq1mfql4dv6d159hv534qmg3z3ks";
+    name = "linden-hill.zip";
+  })
+
+  (fetchurl {
+    url = "https://www.theleagueofmoveabletype.com/raleway/download";
+    sha256 = "0f6anym0adq0ankqbdqx4lyzbysx824zqdj1x60gafyisjx48y87";
+    name = "raleway.zip";
+  })
+
+  (fetchurl {
+    url = "https://www.theleagueofmoveabletype.com/prociono/download";
+    sha256 = "11hamjry5lx3cykzpjq7kwlp6h9cjqy470fmn9f2pi954b46xkdy";
+    name = "prociono.zip";
+  })
+
+  (fetchurl {
+    url = "https://www.theleagueofmoveabletype.com/goudy-bookletter-1911/download";
+    sha256 = "01qganq5n7rgqw546lf45kj8j7ymfjr00i2bwp3qw7ibifg9pn4n";
+    name = "goudy-bookletter-1911.zip";
+  })
+
+  (fetchurl {
+    url = "https://www.theleagueofmoveabletype.com/sorts-mill-goudy/download";
+    sha256 = "11aywj5lzapk04k2yzi1g96acbbm48x902ka0v9cfwwqpn6js9ra";
+    name = "sorts-mill-goudy.zip";
+  })
+
+
+];
+
+  buildInputs = [unzip];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp */*.otf $out/share/fonts/truetype
+  '';
+
+
+  meta = {
+    description = "Font Collection by The League of Moveable Type";
+
+    longDescription = '' We're done with the tired old fontstacks of
+      yesteryear. The web is no longer limited, and now it's time to raise
+      our standards. Since 2009, The League has given only the most
+      well-made, free & open-source, @font-face ready fonts.
+    '';
+
+    homepage = "https://www.theleagueofmoveabletype.com/";
+
+    license = stdenv.lib.licenses.ofl;
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ bergey ];
+  };
+}
diff --git a/pkgs/data/fonts/lobster-two/default.nix b/pkgs/data/fonts/lobster-two/default.nix
new file mode 100644
index 00000000000..84752fe6a1d
--- /dev/null
+++ b/pkgs/data/fonts/lobster-two/default.nix
@@ -0,0 +1,75 @@
+{stdenv, fetchurl}:
+
+let
+
+  # HG revision in which this version of the font can be fount.
+  rev = "8e98053718f9a15184c93d6530885791be71b756";
+
+  urlBase = "https://googlefontdirectory.googlecode.com/hg-history/${rev}/ofl/lobstertwo";
+
+  # Just a small convenience function.
+  fetch = {name, path ? "/src", sha256}:
+    {
+      inherit name;
+      file = fetchurl {
+        url = "${urlBase}${path}/${name}";
+        inherit sha256;
+      };
+    };
+
+  fontlog =
+    fetch {
+      name = "FONTLOG.txt";
+      path = "";
+      sha256 = "0n405i8m70q95y8w43gzr5yvkj7gx7rd3xa4rx6y8qcqv5g7v9if";
+    };
+
+  bold =
+    fetch {
+      name = "LobsterTwo-Bold.otf";
+      sha256 = "0gkayn96vvgngs9xnmcyyf16q4payk79ghvl354rl93ayb3gf7x0";
+    };
+
+  boldItalic =
+    fetch {
+      name = "LobsterTwo-BoldItalic.otf";
+      sha256 = "0wznqkvwjqi9s4bg10fpp2345by3nxa0m0w6b3al3zaqyx2p1dxp";
+    };
+
+  italic =
+    fetch {
+      name = "LobsterTwo-Italic.otf";
+      sha256 = "0lpnzwgwl5fm6gqy8bylbryz0hy94mf1mp615y5sh0wikdvk570z";
+    };
+
+  regular =
+    fetch {
+      name = "LobsterTwo-Regular.otf";
+      sha256 = "147m3sa3sqqbkbw1hgjdwnw8w0y37x58g5p09s7q2vm74flcpbq1";
+    };
+in
+
+  stdenv.mkDerivation rec {
+    name = "lobstertwo-${version}";
+    version = "1.006";
+
+    phases = ["installPhase"];
+
+    installPhase = ''
+      mkdir -p $out/share/fonts/opentype
+      mkdir -p $out/share/doc/${name}
+      cp -v ${fontlog.file} $out/share/doc/${name}/${fontlog.name}
+      cp -v ${bold.file} $out/share/fonts/opentype/${bold.name}
+      cp -v ${boldItalic.file} $out/share/fonts/opentype/${boldItalic.name}
+      cp -v ${italic.file} $out/share/fonts/opentype/${italic.name}
+      cp -v ${regular.file} $out/share/fonts/opentype/${regular.name}
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://www.impallari.com/lobstertwo;
+      description = "Script font with many ligatures";
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [maintainers.rycee];
+    };
+  }
diff --git a/pkgs/data/fonts/meslo-lg/default.nix b/pkgs/data/fonts/meslo-lg/default.nix
new file mode 100644
index 00000000000..fe123f6622d
--- /dev/null
+++ b/pkgs/data/fonts/meslo-lg/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.1";
+
+  name = "meslo-lg";
+
+  meslo-lg = fetchurl {
+    url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20v${version}.zip?raw=true";
+    name="${name}";
+    sha256="1l08mxlzaz3i5bamnfr49s2k4k23vdm64b8nz2ha33ysimkbgg6h";
+  };
+
+  meslo-lg-dz = fetchurl {
+    url="https://github.com/andreberg/Meslo-Font/blob/master/dist/v${version}/Meslo%20LG%20DZ%20v${version}.zip?raw=true";
+    name="${name}-dz";
+    sha256="0lnbkrvcpgz9chnvix79j6fiz36wj6n46brb7b1746182rl1l875";
+  };
+
+  buildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  phases = [ "unpackPhase" "installPhase" ];
+  unpackPhase = ''
+    unzip -j ${meslo-lg}
+    unzip -j ${meslo-lg-dz}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+  '';
+
+  meta = {
+    description = "A customized version of Apple’s Menlo-Regular font";
+    homepage = https://github.com/andreberg/Meslo-Font/;
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [ balajisivaraman ];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/data/fonts/mplus-outline-fonts/default.nix b/pkgs/data/fonts/mplus-outline-fonts/default.nix
new file mode 100644
index 00000000000..eefb663f722
--- /dev/null
+++ b/pkgs/data/fonts/mplus-outline-fonts/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mplus-${version}";
+  version = "TESTFLIGHT-059";
+
+  src = fetchurl {
+    url = "mirror://sourceforgejp/mplus-fonts/62344/mplus-TESTFLIGHT-059.tar.xz";
+    sha256 = "09dzdgqqflpijd3c30m38cyidshawfp4nz162xhn91j9w09y2qkq";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+  '';
+
+  meta = with stdenv.lib; {
+    description = "M+ Outline Fonts";
+    homepage = http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-en.html;
+    license = licenses.mit;
+    maintainers = with maintainers; [ henrytill ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/nafees/default.nix b/pkgs/data/fonts/nafees/default.nix
index aa0c1dbd77b..bcbf5749810 100644
--- a/pkgs/data/fonts/nafees/default.nix
+++ b/pkgs/data/fonts/nafees/default.nix
@@ -54,6 +54,6 @@ stdenv.mkDerivation rec {
     license = "unknown";
 
     platforms = stdenv.lib.platforms.all;
-    maintainers = [ "Daniel Bergey <bergey@teallabs.org>" ];
+    maintainers = with stdenv.lib.maintainers; [ bergey ];
   };
 }
diff --git a/pkgs/data/fonts/open-dyslexic/default.nix b/pkgs/data/fonts/open-dyslexic/default.nix
new file mode 100644
index 00000000000..5d9bb584360
--- /dev/null
+++ b/pkgs/data/fonts/open-dyslexic/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchgit}:
+
+stdenv.mkDerivation rec {
+  name = "open-dyslexic-${version}";
+  version = "2014-11-11";
+
+  src = fetchgit {
+    url = "https://github.com/antijingoist/open-dyslexic.git";
+    rev = "f4b5ba89018b44d633608907e15f93fb3fabbabc";
+    sha256 = "04pa7c2cary6pqxsmxqrg7wi19szg7xh8panmvqvmc7jas0mzg6q";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp -v 'otf/'*.otf $out/share/fonts/opentype
+
+    mkdir -p $out/share/doc/open-dyslexic
+    cp -v README.md $out/share/doc/open-dyslexic
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://opendyslexic.org/;
+    description = "Font created to increase readability for readers with dyslexia";
+    license = "Bitstream Vera License (http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts)";
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/opensans-ttf/default.nix b/pkgs/data/fonts/opensans-ttf/default.nix
index 2e0f3d5df2a..946efa00b9a 100644
--- a/pkgs/data/fonts/opensans-ttf/default.nix
+++ b/pkgs/data/fonts/opensans-ttf/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = "http://en.wikipedia.org/wiki/Open_Sans";
-    license = "Apache";
+    license = stdenv.lib.licenses.asl20;
 
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/data/fonts/pecita/default.nix b/pkgs/data/fonts/pecita/default.nix
new file mode 100644
index 00000000000..d83d9afcdfd
--- /dev/null
+++ b/pkgs/data/fonts/pecita/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "pecita-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "http://pecita.eu/b/Pecita.otf";
+    sha256 = "07krzpbmc5yhfbf3aklv1f150i2g1spaan9girmg3189jsn6qw6p";
+  };
+
+  phases = ["installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp -v ${src} $out/share/fonts/opentype/Pecita.otf
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://pecita.eu/police-en.php;
+    description = "Handwritten font with connected glyphs";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/poly/default.nix b/pkgs/data/fonts/poly/default.nix
index 63006fdd4f8..1bd0d898067 100644
--- a/pkgs/data/fonts/poly/default.nix
+++ b/pkgs/data/fonts/poly/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Medium contrast serif font.";
+    description = "Medium contrast serif font";
     longDescription = ''
     With short ascenders and a very high x-height, Poly is efficient in small
     sizes. Thanks to its careful balance between the x-height and glyph widths,
diff --git a/pkgs/data/fonts/proggyfonts/default.nix b/pkgs/data/fonts/proggyfonts/default.nix
new file mode 100644
index 00000000000..1c41a92bf96
--- /dev/null
+++ b/pkgs/data/fonts/proggyfonts/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, mkfontdir, mkfontscale }:
+
+# adapted from https://aur.archlinux.org/packages/proggyfonts/
+
+stdenv.mkDerivation rec {
+  name = "proggyfonts-0.1";
+
+  src = fetchurl {
+    url = "http://kaictl.net/software/${name}.tar.gz";
+    sha256 = "1plcm1sjpa3hdqhhin48fq6zmz3ndm4md72916hd8ff0w6596q0n";
+  };
+
+  buildInputs = [ mkfontdir mkfontscale ];
+
+  installPhase =
+    ''
+      mkdir -p $out/share/doc/$name $out/share/fonts/misc $out/share/fonts/truetype
+
+      cp Licence.txt $out/share/doc/$name/LICENSE
+
+      for f in *.pcf; do
+        gzip -c "$f" > $out/share/fonts/misc/"$f".gz
+      done
+      cp *.bdf $out/share/fonts/misc
+      cp *.ttf $out/share/fonts/truetype
+
+      for f in misc truetype; do
+        cd $out/share/fonts/$f
+        mkfontscale
+        mkfontdir
+      done
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://upperbounds.net;
+    description = "A set of fixed-width screen fonts that are designed for code listings";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/quattrocento-sans/default.nix b/pkgs/data/fonts/quattrocento-sans/default.nix
new file mode 100644
index 00000000000..116fdd25a04
--- /dev/null
+++ b/pkgs/data/fonts/quattrocento-sans/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "quattrocento-sans-${version}";
+  version = "2.0";
+
+  src = fetchurl {
+    url = "http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip";
+    sha256 = "043jfdn18dgzpx3qb3s0hc541n6xv4gacsm4srd6f0pri45g4wh1";
+  };
+
+  buildInputs = [unzip];
+  phases = ["unpackPhase" "installPhase"];
+
+  sourceRoot = "quattrocento-sans-v${version}";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "src/"*.otf $out/share/fonts/opentype
+    cp -v FONTLOG.txt $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.impallari.com/quattrocentosans/;
+    description = "A classic, elegant and sober sans-serif typeface";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/quattrocento/default.nix b/pkgs/data/fonts/quattrocento/default.nix
new file mode 100644
index 00000000000..7ef62d2300c
--- /dev/null
+++ b/pkgs/data/fonts/quattrocento/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "quattrocento-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "http://www.impallari.com/media/releases/quattrocento-v${version}.zip";
+    sha256 = "09wmbfwkry1r2cf5z4yy67wd4yzlnsjigg01r5r80z1phl0axn9n";
+  };
+
+  buildInputs = [unzip];
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "src/"*.otf $out/share/fonts/opentype
+    cp -v FONTLOG.txt $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.impallari.com/quattrocento/;
+    description = "A classic, elegant, sober and strong serif typeface";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/binary.nix b/pkgs/data/fonts/redhat-liberation-fonts/binary.nix
new file mode 100644
index 00000000000..369ab3493f3
--- /dev/null
+++ b/pkgs/data/fonts/redhat-liberation-fonts/binary.nix
@@ -0,0 +1,48 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  version = "2.00.1";
+  name = "liberation-fonts-${version}";
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
+    sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
+
+    mkdir -p "$out/doc/${name}"
+    cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
+  '';
+
+  meta = {
+    description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
+
+    longDescription = ''
+      The Liberation Fonts are intended to be replacements for the three most
+      commonly used fonts on Microsoft systems: Times New Roman, Arial, and
+      Courier New.
+
+      There are three sets: Sans (a substitute for Arial, Albany, Helvetica,
+      Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times
+      New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono
+      (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and
+      Bitstream Vera Sans Mono).
+
+      You are free to use these fonts on any system you would like.  You are
+      free to redistribute them under the GPL+exception license found in the
+      download.  Using these fonts does not subject your documents to the
+      GPL---it liberates them from any proprietary claim.
+    '';
+
+    # See `License.txt' for details.
+    license = stdenv.lib.licenses.gpl2Oss;
+
+    homepage = https://fedorahosted.org/liberation-fonts/;
+
+    maintainers = [
+      stdenv.lib.maintainers.raskin
+    ];
+  };
+}
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/default.nix b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
index 08faeafc619..a9304769378 100644
--- a/pkgs/data/fonts/redhat-liberation-fonts/default.nix
+++ b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
@@ -1,18 +1,21 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, fontforge, pythonPackages, python}:
 
 stdenv.mkDerivation rec {
-  name = "liberation-fonts-1.04";
+  name = "liberation-fonts-2.00.1";
+
   src = fetchurl {
     url = "https://fedorahosted.org/releases/l/i/liberation-fonts/${name}.tar.gz";
-    sha256 = "189i6pc4jqhhmsb9shi8afg9af9crpmz9bnlldhqaxavr1bhj38f";
+    sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
   };
-  
+
+  buildInputs = [ fontforge pythonPackages.fonttools python ];
+
   installPhase = ''
     mkdir -p $out/share/fonts/truetype
-    cp -v *.ttf $out/share/fonts/truetype
+    cp -v $(find . -name '*.ttf') $out/share/fonts/truetype
 
     mkdir -p "$out/doc/${name}"
-    cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}"
+    cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
   '';
 
   meta = {
@@ -36,13 +39,12 @@ stdenv.mkDerivation rec {
     '';
 
     # See `License.txt' for details.
-    license = "GPLv2 + exception";
+    license = stdenv.lib.licenses.gpl2Oss;
 
     homepage = https://fedorahosted.org/liberation-fonts/;
 
     maintainers = [
       stdenv.lib.maintainers.raskin
-      stdenv.lib.maintainers.ludo
     ];
   };
 }
diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix
index 8fde0c6ef03..dc5bcb5b9a7 100644
--- a/pkgs/data/fonts/source-code-pro/default.nix
+++ b/pkgs/data/fonts/source-code-pro/default.nix
@@ -37,6 +37,6 @@ rec {
     maintainers = with a.lib.maintainers; [ relrod ];
     platforms = with a.lib.platforms; all;
     homepage = "http://blog.typekit.com/2012/09/24/source-code-pro/";
-    license = "OFL";
+    license = a.lib.licenses.ofl;
   };
 }) x
diff --git a/pkgs/data/fonts/source-han-sans/base.nix b/pkgs/data/fonts/source-han-sans/base.nix
deleted file mode 100644
index d319f41f2e5..00000000000
--- a/pkgs/data/fonts/source-han-sans/base.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{version ? "1.000", prefix, url, sha256, description}:
-
-{stdenv, fetchurl, unzip}:
-
-stdenv.mkDerivation rec {
-  inherit version;
-  name = "${prefix}-${version}";
-
-  src = fetchurl {
-    inherit url sha256;
-  };
-
-  buildInputs = [ unzip ];
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp $( find . -name '*.otf' ) $out/share/fonts/truetype
-  '';
-
-  meta = {
-    inherit description;
-
-    homepage = http://sourceforge.net/adobe/source-han-sans/;
-    license = stdenv.lib.licenses.asl20;
-  };
-}
diff --git a/pkgs/data/fonts/source-han-sans/default.nix b/pkgs/data/fonts/source-han-sans/default.nix
new file mode 100644
index 00000000000..9e0bf750571
--- /dev/null
+++ b/pkgs/data/fonts/source-han-sans/default.nix
@@ -0,0 +1,47 @@
+{stdenv, fetchurl}:
+
+let
+  makePackage = {language, region, description}: stdenv.mkDerivation rec {
+    version = "1.001R";
+    name = "source-han-sans-${language}-${version}";
+
+    src = fetchurl {
+      url = "https://github.com/adobe-fonts/source-han-sans/archive/${version}.tar.gz";
+      sha256 = "0cwz3d8jancl0a7vbjxhnh1vgwsjba62lahfjya9yrjkp1ndxlap";
+    };
+
+    installPhase = ''
+      mkdir -p $out/share/fonts/opentype
+      cp $( find SubsetOTF/${region} -name '*.otf' ) $out/share/fonts/opentype
+    '';
+
+    meta = {
+      inherit description;
+
+      homepage = https://github.com/adobe-fonts/source-han-sans;
+      license = stdenv.lib.licenses.asl20;
+    };
+  };
+in
+{
+  japanese = makePackage {
+    language = "japanese";
+    region = "JP";
+    description = "Japanese subset of an open source Pan-CJK typeface";
+  };
+  korean = makePackage {
+    language = "korean";
+    region = "KR";
+    description = "Korean subset of an open source Pan-CJK typeface";
+  };
+  simplified-chinese = makePackage {
+    language = "simplified-chinese";
+    region = "CN";
+    description = "Simplified Chinese subset of an open source Pan-CJK typeface";
+  };
+  traditional-chinese = makePackage {
+    language = "traditional-chinese";
+    region = "TW";
+    description = "Traditional Chinese subset of an open source Pan-CJK typeface";
+  };
+}
diff --git a/pkgs/data/fonts/source-han-sans/japanese.nix b/pkgs/data/fonts/source-han-sans/japanese.nix
deleted file mode 100644
index 4aacdbf62e2..00000000000
--- a/pkgs/data/fonts/source-han-sans/japanese.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-import ./base.nix {
-  prefix = "source-han-sans-japanese";
-  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansJP-1.000.zip";
-  sha256 = "c5930036660bea22ffceaa9e2df765776494800d330a59be7936ab3c763c4c82";
-  description = "Japanese subset of an open source Pan-CJK typeface";
-}
\ No newline at end of file
diff --git a/pkgs/data/fonts/source-han-sans/korean.nix b/pkgs/data/fonts/source-han-sans/korean.nix
deleted file mode 100644
index cf3ecd9e12e..00000000000
--- a/pkgs/data/fonts/source-han-sans/korean.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-import ./base.nix {
-  prefix = "source-han-sans-korean";
-  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansKR-1.000.zip";
-  sha256 = "8eed4ad092fcf640e44f73ba510e0ed1c1cabf79776f68d02820734bbba21cf8";
-  description = "Korean subset of an open source Pan-CJK typeface";
-}
\ No newline at end of file
diff --git a/pkgs/data/fonts/source-han-sans/simplified-chinese.nix b/pkgs/data/fonts/source-han-sans/simplified-chinese.nix
deleted file mode 100644
index 8e920455e45..00000000000
--- a/pkgs/data/fonts/source-han-sans/simplified-chinese.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-import ./base.nix {
-  prefix = "source-han-sans-simplified-chinese";
-  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansCN-1.000.zip";
-  sha256 = "88117aa8f8b4ab65d6f7a919a5e1b06d6c00f75b1abecccf120246536123754d";
-  description = "Simplified Chinese subset of an open source Pan-CJK typeface";
-}
\ No newline at end of file
diff --git a/pkgs/data/fonts/source-han-sans/traditional-chinese.nix b/pkgs/data/fonts/source-han-sans/traditional-chinese.nix
deleted file mode 100644
index b25db8a2515..00000000000
--- a/pkgs/data/fonts/source-han-sans/traditional-chinese.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-import ./base.nix {
-  prefix = "source-han-sans-traditional-chinese";
-  url = "mirror://sourceforge/source-han-sans.adobe/SourceHanSansTWHK-1.000.zip";
-  sha256 = "2371a726757a51322243b1ed7a9fde562621b0813b5e6d6443e06847ad7bbd20";
-  description = "Traditional Chinese subset of an open source Pan-CJK typeface";
-}
\ No newline at end of file
diff --git a/pkgs/data/fonts/stix-otf/default.nix b/pkgs/data/fonts/stix-otf/default.nix
new file mode 100644
index 00000000000..f32d865c95c
--- /dev/null
+++ b/pkgs/data/fonts/stix-otf/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "stix-otf-${version}";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/stixfonts/STIXv${version}-word.zip";
+    sha256 = "1q35wbqn3nh78pdban9z37lh090c6p49q3d00zzxm0axxz66xy4q";
+  };
+
+  buildInputs = [unzip];
+
+  phases = ["unpackPhase" "installPhase"];
+
+  sourceRoot = "Fonts/STIX-Word";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp *.otf $out/share/fonts/opentype
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.stixfonts.org/;
+    description = "Fonts for Scientific and Technical Information eXchange";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/symbola/default.nix b/pkgs/data/fonts/symbola/default.nix
index 993a4c4f46d..d70fe3ca3f8 100644
--- a/pkgs/data/fonts/symbola/default.nix
+++ b/pkgs/data/fonts/symbola/default.nix
@@ -1,40 +1,39 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "symbola-7.12";
+  name = "symbola-7.21";
 
-  ttf = fetchurl {
-    url = "http://users.teilar.gr/~g1951d/Symbola.ttf";
-    sha256 = "7acc058bd4e56cc986b2a46420520f59be402c3565c202b5dcebca7f3bfd8b5a";
+  src = fetchurl {
+    url = "http://users.teilar.gr/~g1951d/Symbola.zip";
+    sha256 = "0sqmvq8c8wn4xq0p25gd2jfyjqi8jhiycqah19wzq1gqkaaw94nq";
   };
   docs_pdf = fetchurl {
     url = "http://users.teilar.gr/~g1951d/Symbola.pdf";
-    sha256 = "11bb082ba5c2780a6f94a9bcddf4f314a54e2650bb63ce3081d1dc867c5e6843";
-  };
-  docs_docx = fetchurl {
-    url = "http://users.teilar.gr/~g1951d/Symbola.docx";
-    sha256 = "4f0ab494e1e5a7aac147aa7bb8b8bdba7278aee2da942a35f995feb9051515b9";
+    sha256 = "0jjjydb6c0glfb6krvdyi9kh5bsx9gz5w66j378bdqgkrvspl0d2";
   };
 
+  buildInputs = [ unzip ];
+
   phases = [ "installPhase" ];
 
   installPhase = ''
+    unzip ${src}
     mkdir -p $out/share/fonts/truetype
-    cp -v "$ttf" $out/share/fonts/truetype/"${ttf.name}"
+    cp -v Symbola.ttf $out/share/fonts/truetype/
+    cp -v Symbola_hint.ttf $out/share/fonts/truetype/
 
     mkdir -p "$out/doc/${name}"
+    cp -v Symbola.docx "$out/doc/${name}/"
+    cp -v Symbola.htm "$out/doc/${name}/"
     cp -v "$docs_pdf" "$out/doc/${name}/${docs_pdf.name}"
-    cp -v "$docs_docx" "$out/doc/${name}/${docs_docx.name}"
   '';
 
   meta = {
-    description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode...";
-
+    description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode";
     # In lieu of a licence:
     # Fonts in this site are offered free for any use;
     # they may be installed, embedded, opened, edited, modified, regenerated, posted, packaged and redistributed.
-    license = "Unicode Fonts for Ancient Scripts";
-
+    license = stdenv.lib.licenses.free;
     homepage = http://users.teilar.gr/~g1951d/;
   };
 }
diff --git a/pkgs/data/fonts/tempora-lgc/default.nix b/pkgs/data/fonts/tempora-lgc/default.nix
index 16642d69566..53aefe9c31a 100644
--- a/pkgs/data/fonts/tempora-lgc/default.nix
+++ b/pkgs/data/fonts/tempora-lgc/default.nix
@@ -1,49 +1,39 @@
-x@{builderDefsPackage
-  , unzip
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    version="0.2";
-    baseName="tempora-lgc";
-    name="${baseName}-${version}";
-    url="http://www.thessalonica.org.ru/downloads/${baseName}.otf.zip";
-    hash="18n5ml2chc1bhrv43i64sz2dz1zc2dw087wcwn5l9ysqsmf0387i";
-  };
+{stdenv, fetchurl}:
+let
+  srcs = [
+    (fetchurl {
+      url = "www.ttfotf.com/download-font/tempora-lgc-unicode-bold-italic.otf";
+      sha256 = "1yfbi62j6gjmzglxz29m6x6lxqpxghcqjjh916qn8in74ba5v0gq";
+    })
+    (fetchurl {
+      url = "www.ttfotf.com/download-font/tempora-lgc-unicode-bold.otf";
+      sha256 = "0bfbl1h9h1022km2rg1zwl9lpabhnwdsvzdp0bwmf0wbm62550cp";
+    })
+    (fetchurl {
+      url = "www.ttfotf.com/download-font/tempora-lgc-unicode-italic.otf";
+      sha256 = "10m9j4bvr6c4zp691wxm4hvzhph2zlfsxk1nmbsb9vn1i6vfgz04";
+    })
+    (fetchurl {
+      url = "www.ttfotf.com/download-font/tempora-lgc-unicode.otf";
+      sha256 = "0iwa8wyydcpjss6d1jy4jibqxpvzph4vmaxwwmndpsqy1fz64y9i";
+    })
+  ];
+  buildInputs = [
+  ];
 in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
+stdenv.mkDerivation {
+  name = "tempora-lgc";
   inherit buildInputs;
-
-  phaseNames = ["doUnpack" "installFonts"];
-
-  doUnpack = a.fullDepEntry ''
-    unzip ${src}
-  '' ["addInputs"];
-      
+  inherit srcs;
+  phases = "installPhase";
+  installPhase = ''
+    mkdir -p "$out/share/fonts/opentype/public"
+    cp ${toString srcs} "$out/share/fonts/opentype/public"
+  '';
   meta = {
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      all;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.thessalonica.org.ru/ru/fonts-download.html";
-    };
+    description = ''Tempora font'';
+    license = stdenv.lib.licenses.gpl2 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
   };
-}) x
-
+}
diff --git a/pkgs/data/fonts/ubuntu-font-family/default.nix b/pkgs/data/fonts/ubuntu-font-family/default.nix
index 130aeef88ab..d64a8883d32 100644
--- a/pkgs/data/fonts/ubuntu-font-family/default.nix
+++ b/pkgs/data/fonts/ubuntu-font-family/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     contemporary style and contains characteristics unique to
     the Ubuntu brand that convey a precise, reliable and free attitude.";
     homepage = http://font.ubuntu.com/;
-    license = "free";
+    license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.antono ];
   };
diff --git a/pkgs/data/fonts/ucs-fonts/default.nix b/pkgs/data/fonts/ucs-fonts/default.nix
index 1d2aa5e62d3..bcba3957109 100644
--- a/pkgs/data/fonts/ucs-fonts/default.nix
+++ b/pkgs/data/fonts/ucs-fonts/default.nix
@@ -34,5 +34,6 @@ wrapFonts (stdenv.mkDerivation {
 
   meta = {
     description = "Unicode bitmap fonts";
+    maintainers = [stdenv.lib.maintainers.raskin];
   };
 })
diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix
index 893659bc763..6b2a4ffe960 100644
--- a/pkgs/data/fonts/unifont/default.nix
+++ b/pkgs/data/fonts/unifont/default.nix
@@ -1,37 +1,40 @@
-{ stdenv, fetchurl, mkfontscale, mkfontdir, bdftopcf, fontutil }:
+{ stdenv, fetchurl, mkfontscale, mkfontdir }:
 
-let
+stdenv.mkDerivation rec {
+  name = "unifont-${version}";
+  version = "7.0.06";
 
   ttf = fetchurl {
-    url = http://unifoundry.com/unifont-5.1.20080907.ttf.gz;
-    sha256 = "03ssxsfhnayarzx15mn6khry2kgdxhkkc1bqzgr0c85ab5xm9jxw";
+    url = "http://unifoundry.com/pub/${name}/font-builds/${name}.ttf";
+    sha256 = "0qmk06rwhxs43n1xbwj14fanbih60zqli002qhy0609da24r3957";
   };
 
   pcf = fetchurl {
-    url = http://unifoundry.com/unifont-5.1.20080820.pcf.gz;
-    sha256 = "0qwsgaplb2a79w14rrvazby3kwx7vyk08x70n0ih5dr91x3rqaqj";
+    url = "http://unifoundry.com/pub/${name}/font-builds/${name}.pcf.gz";
+    sha256 = "1wplig57wpc79mlqamhknn39cibg5z8dvbyibp1490ljcjs1dxdc";
   };
 
-in
+  buildInputs = [ mkfontscale mkfontdir ];
 
-stdenv.mkDerivation {
-  name = "unifont-5.1-20080907";
+  phases = "installPhase";
 
-  buildInputs = [ mkfontscale mkfontdir bdftopcf fontutil ];
-
-  unpackPhase = "true";
-  
   installPhase =
     ''
       mkdir -p $out/share/fonts $out/share/fonts/truetype
-      cp ${pcf} $out/share/fonts/unifont.pcf.gz
-      gunzip < ${ttf} > $out/share/fonts/truetype/unifont.ttf
+      cp -v ${pcf} $out/share/fonts/unifont.pcf.gz
+      cp -v ${ttf} $out/share/fonts/truetype/unifont.ttf
       cd $out/share/fonts
-      mkfontdir 
+      mkfontdir
       mkfontscale
     '';
-    
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "Unicode font for Base Multilingual Plane";
+    homepage = http://unifoundry.com/unifont.html;
+
+    # Basically GPL2+ with font exception.
+    license = http://unifoundry.com/LICENSE.txt;
+    maintainers = [ maintainers.rycee ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/vista-fonts/default.nix b/pkgs/data/fonts/vista-fonts/default.nix
index 19996f3f1a3..f3165b33cca 100644
--- a/pkgs/data/fonts/vista-fonts/default.nix
+++ b/pkgs/data/fonts/vista-fonts/default.nix
@@ -18,13 +18,26 @@ stdenv.mkDerivation {
   
   buildPhase = "true";
   
-  installPhase = "
-    mkdir -p $out/share/fonts/truetype; cp *.ttf $out/share/fonts/truetype
-  ";
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    for name in Calibri Cambria Candara Consolas Constantia Corbel ; do
+      substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-''${name,,}.conf \
+        --subst-var-by fontname $name
+    done
+  '';
 
   meta = {
     description = "Some TrueType fonts from Microsoft Windows Vista (Calibri, Cambria, Candara, Consolas, Constantia, Corbel)";
     homepage = http://www.microsoft.com/typography/ClearTypeFonts.mspx;
     binaryDistribution = false; # haven't read the EULA, but we probably can't redistribute these files, so...
+
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
   };
 }
diff --git a/pkgs/data/fonts/vista-fonts/no-op.conf b/pkgs/data/fonts/vista-fonts/no-op.conf
new file mode 100644
index 00000000000..503e62cfa29
--- /dev/null
+++ b/pkgs/data/fonts/vista-fonts/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the Microsoft @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>
diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix
index 065bb4bc828..c0665b2f0cc 100644
--- a/pkgs/data/fonts/wqy-microhei/default.nix
+++ b/pkgs/data/fonts/wqy-microhei/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A (mainly) Chinese Unicode font";
-    homepage = "http://wenq.org";
+    homepage = http://wenq.org;
     license = stdenv.lib.licenses.asl20;
-    maintainers = stdenv.lib.maintainers.pkmx;
+    maintainers = [ stdenv.lib.maintainers.pkmx ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix
index d42665c69cc..92f043c7fc0 100644
--- a/pkgs/data/fonts/wqy-zenhei/default.nix
+++ b/pkgs/data/fonts/wqy-zenhei/default.nix
@@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A (mainly) Chinese Unicode font";
-    homepage = "http://wenq.org";
+    homepage = http://wenq.org;
     license = stdenv.lib.licenses.gpl2; # with font embedding exceptions
-    maintainers = stdenv.lib.maintainers.pkmx;
+    maintainers = [ stdenv.lib.maintainers.pkmx ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/icons/hicolor-icon-theme/default.nix b/pkgs/data/icons/hicolor-icon-theme/default.nix
index 1cf29db9dbc..a0c9920177d 100644
--- a/pkgs/data/icons/hicolor-icon-theme/default.nix
+++ b/pkgs/data/icons/hicolor-icon-theme/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hicolor-icon-theme-0.13";
+  name = "hicolor-icon-theme-0.14";
 
   src = fetchurl {
-    url = "http://icon-theme.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "01ilkizzal3wq2naaj84rqmd850aari1ahiw9vfis3a82n4h72x3";
+    url = "http://icon-theme.freedesktop.org/releases/${name}.tar.xz";
+    sha256 = "1k9fj0lb9b44inb5q5m04910x5nfkzrxl3ys9ckihqrixzk0dvbv";
   };
 
+  setupHook = ./setup-hook.sh;
+
   meta = {
     description = "Default fallback theme used by implementations of the icon theme specification";
     homepage = http://icon-theme.freedesktop.org/releases/;
diff --git a/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh b/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
new file mode 100644
index 00000000000..05ab9b3d65d
--- /dev/null
+++ b/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
@@ -0,0 +1,20 @@
+# Populate XDG_ICON_DIRS
+hicolorIconThemeHook() {
+
+    # where to find icon themes
+    if [ -d "$1/share/icons" ]; then
+      addToSearchPath XDG_ICON_DIRS $1/share
+    fi
+	
+}
+
+envHooks+=(hicolorIconThemeHook)
+
+# Remove icon cache
+hicolorPreFixupPhase() {
+    rm -f $out/share/icons/hicolor/icon-theme.cache
+    rm -f $out/share/icons/HighContrast/icon-theme.cache
+}
+
+preFixupPhases="$preFixupPhases hicolorPreFixupPhase"
+
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
new file mode 100644
index 00000000000..b3413dc4738
--- /dev/null
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "d7e8c4cdcf";
+
+  package-name = "numix-icon-theme-circle";
+  
+  name = "${package-name}-20150304";
+
+  buildInputs = [ unzip ];
+  
+  src = fetchurl {
+    url = "https://github.com/numixproject/${package-name}/archive/${version}.zip";
+    sha256 = "672d6f4d000c4c75a64e0297f9609afab1035d082d7ab4f7abe3e2173cba9324";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -dm 755 $out/share/icons
+    cp -dr --no-preserve='ownership' Numix-Circle{,-Light} $out/share/icons/
+  '';
+  
+  meta = {
+    description = "Numix icon theme (circle version)";
+    homepage = https://numixproject.org;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix
new file mode 100644
index 00000000000..d6ca570ba52
--- /dev/null
+++ b/pkgs/data/icons/numix-icon-theme/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "2c11fbfcee";
+
+  package-name = "numix-icon-theme";
+  
+  name = "${package-name}-20150302";
+
+  buildInputs = [ unzip ];
+  
+  src = fetchurl {
+    url = "https://github.com/numixproject/${package-name}/archive/${version}.zip";
+    sha256 = "61dc170b8a70b20a9075f06e1668d6bd8907a6db0ef9e3568c473296d0f351e1";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -dm 755 $out/share/icons
+    cp -dr --no-preserve='ownership' Numix{,-Light} $out/share/icons/
+  '';
+  
+  meta = {
+    description = "Numix icon theme";
+    homepage = https://numixproject.org;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/ddccontrol-db/default.nix b/pkgs/data/misc/ddccontrol-db/default.nix
new file mode 100644
index 00000000000..3757b10754b
--- /dev/null
+++ b/pkgs/data/misc/ddccontrol-db/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, fetchurl
+, perl
+, perlPackages
+, libxml2
+, pciutils
+, pkgconfig
+, gtk
+}:
+
+let version = "20061014"; in
+let verName = "${version}"; in
+stdenv.mkDerivation {
+  name = "ddccontrol-db-${verName}";
+  src = fetchurl {
+    url = "mirror://sourceforge/ddccontrol/ddccontrol-db/${verName}/ddccontrol-db-${verName}.tar.bz2";
+    sha1 = "9d06570fdbb4d25e397202a518265cc1173a5de3";
+  };
+  buildInputs =
+    [
+      perl
+      perlPackages.libxml_perl
+      libxml2
+      pciutils
+      pkgconfig
+      gtk
+    ];
+
+  meta = with stdenv.lib; {
+    description = "Monitor database for DDCcontrol";
+    homepage = "http://ddccontrol.sourceforge.net/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.pakhfn ];
+  };
+}
diff --git a/pkgs/data/misc/geolite-legacy/builder.sh b/pkgs/data/misc/geolite-legacy/builder.sh
new file mode 100644
index 00000000000..1886d144e48
--- /dev/null
+++ b/pkgs/data/misc/geolite-legacy/builder.sh
@@ -0,0 +1,19 @@
+#!/bin/sh -e
+
+source "$stdenv/setup"
+
+mkdir -p $out/share/GeoIP
+cd $out/share/GeoIP
+
+# Iterate over all environment variable names beginning with "src":
+for var in "${!src@}"; do
+	# Store the value of the variable with name $var in $src:
+	eval src="\$$var"
+
+	# Copy $src to current directory, removing Nix hash from the filename:
+	dest="${src##*/}"
+	dest="${dest#*-}"
+	cp "$src" "$dest"
+done
+
+gunzip -v *.gz
diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix
new file mode 100644
index 00000000000..c36e6f83106
--- /dev/null
+++ b/pkgs/data/misc/geolite-legacy/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl }:
+
+# Annoyingly, these files are updated without a change in URL. This means that
+# builds will start failing every month or so, until the hashes are updated.
+let version = "2015-03-26"; in
+stdenv.mkDerivation {
+  name = "geolite-legacy-${version}";
+
+  srcGeoIP = fetchurl {
+    url = https://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz;
+    sha256 = "01xw896n9wcm1pv7sixfbh4gv6isl6m1i6lwag1c2bbcx6ci1zvr";
+  };
+  srcGeoIPv6 = fetchurl {
+    url = https://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz;
+    sha256 = "07l10hd7fkgk1nbw5gx4hjp61kdqqgri97fidn78dlk837rb02d0";
+  };
+  srcGeoLiteCity = fetchurl {
+    url = https://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz;
+    sha256 = "1xqjyz9xnga3dvhj0f38hf78wv781jflvqkxm6qni3sj781nfr4a";
+  };
+  srcGeoLiteCityv6 = fetchurl {
+    url = https://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz;
+    sha256 = "03s41ffc5a13qy5kgx8jqya97jkw2qlvdkak98hab7xs0i17z9pd";
+  };
+  srcGeoIPASNum = fetchurl {
+    url = https://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz;
+    sha256 = "1h766l8dsfgzlrz0q76877xksaf5qf91nwnkqwb6zl1gkczbwy6p";
+  };
+  srcGeoIPASNumv6 = fetchurl {
+    url = https://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz;
+    sha256 = "0dwi9b3amfpmpkknf9ipz2r8aq05gn1j2zlvanwwah3ib5cgva9d";
+  };
+
+  meta = with stdenv.lib; {
+    description = "GeoLite Legacy IP geolocation databases";
+    homepage = https://geolite.maxmind.com/download/geoip;
+    license = with licenses; cc-by-sa-30;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  builder = ./builder.sh;
+}
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index a8935700166..6adb4575839 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://sethwklein.net/projects/iana-etc/;
     description = "IANA protocol and port number assignments (/etc/protocols and /etc/services)";
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/misc/media-player-info/default.nix b/pkgs/data/misc/media-player-info/default.nix
new file mode 100644
index 00000000000..b2bfb7bd13d
--- /dev/null
+++ b/pkgs/data/misc/media-player-info/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, python3, udev }:
+
+let
+  name = "media-player-info-22";
+in
+
+  stdenv.mkDerivation {
+    inherit name;
+
+    src = fetchurl {
+      url = "http://www.freedesktop.org/software/media-player-info/${name}.tar.gz";
+      sha256 = "0di3gfx5z8c34yspzyllydr5snzg71r985kbqhrhb1il51qxgrvy";
+    };
+
+    buildInputs = [ udev ];
+    nativeBuildInputs = [ pkgconfig python3 ];
+
+    postPatch = ''
+      patchShebangs ./tools
+    '';
+
+    preConfigure = ''
+      configureFlags="$configureFlags --with-udevdir=$out/lib/udev"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "A repository of data files describing media player capabilities";
+      homepage = "http://www.freedesktop.org/wiki/Software/media-player-info/";
+      license = with licenses; [ bsd3 ];
+      maintainer = with maintainers; [ ttuegel ];
+    };
+  }
diff --git a/pkgs/data/misc/miscfiles/default.nix b/pkgs/data/misc/miscfiles/default.nix
index db4d13b890f..a40856e5910 100644
--- a/pkgs/data/misc/miscfiles/default.nix
+++ b/pkgs/data/misc/miscfiles/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "miscfiles-1.4.2";
+  name = "miscfiles-1.5";
 
   src = fetchurl {
     url = "mirror://gnu/miscfiles/${name}.tar.gz";
-    sha256 = "1rh10y63asyrqyp5mlmxy7y4kdp6svk2inws3y7mfx8lsrhcm6dn";
+    sha256 = "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnu.org/software/miscfiles/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     description = "Collection of files not of crucial importance for sysadmins";
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
index 52e9ebf0617..94a65f6e63e 100644
--- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix
+++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "Mobile broadband service provider database";
     homepage = http://live.gnome.org/NetworkManager/MobileBroadband/ServiceProviders;
     platforms = stdenv.lib.platforms.all;
-    license = "CC-PD";
+    license = stdenv.lib.licenses.publicDomain;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/data/misc/poppler-data/default.nix b/pkgs/data/misc/poppler-data/default.nix
index 9e2679c0438..59dd4da792b 100644
--- a/pkgs/data/misc/poppler-data/default.nix
+++ b/pkgs/data/misc/poppler-data/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "poppler-data-0.4.6";
+  name = "poppler-data-0.4.7";
 
   src = fetchurl {
     url = "http://poppler.freedesktop.org/${name}.tar.gz";
-    sha256 = "1yhaz74b50hjkz3ii077kmq3qg3p3kdyxm33cv6r1njvz8fr01pk";
+    sha256 = "1pm7wg6xqj4sppb5az4pa7psfdk4yxxkw52j85bm9fksibcb0lp7";
   };
 
   buildInputs = [ cmake ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     homepage = http://poppler.freedesktop.org/;
     description = "Encoding files for Poppler, a PDF rendering library";
     platforms = stdenv.lib.platforms.all;
-    license = "free"; # more free licenses combined
+    license = stdenv.lib.licenses.free; # more free licenses combined
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix
index 134a6f5307e..57f5b24a6f8 100644
--- a/pkgs/data/misc/shared-mime-info/default.nix
+++ b/pkgs/data/misc/shared-mime-info/default.nix
@@ -2,11 +2,11 @@
 , libxml2, glib}:
 
 stdenv.mkDerivation rec {
-  name = "shared-mime-info-1.2";
+  name = "shared-mime-info-1.3";
 
   src = fetchurl {
     url = "http://freedesktop.org/~hadess/${name}.tar.xz";
-    sha256 = "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5";
+    sha256 = "0fijrc8j2kw6bvdx7fmlfafbcwxvinhr8l44b46b3v59gj69rm2g";
   };
 
   buildInputs = [
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 90111cb52e1..1953152fdd8 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl }:
 
-let version = "2014e"; in
+let version = "2015a"; in
 
 stdenv.mkDerivation rec {
   name = "tzdata-${version}";
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
   srcs =
     [ (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
-        sha256 = "1ic63ykplnrvh9704j6l089rais0nxw1lcf1dbc3iy2ij2kl7qh8";
+        sha256 = "0k4fy5x1813az0dwh82v5dhnvivfxxjin2szkgyfga00gn8r0965";
       })
       (fetchurl {
         url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
-        sha256 = "074c98vmdgysgkksaqwkn1gbrlnzk8l28zs8lhif44a9mckc9ss3";
+        sha256 = "06fxf9yw39wcpqifxf3lr8cn64nlwznqcyhd0cs2z1c6y88snnw8";
       })
     ];
 
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.iana.org/time-zones;
     description = "Database of current and historical time zones";
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh b/pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh
deleted file mode 100644
index 96ad77eaa57..00000000000
--- a/pkgs/data/sgml+xml/schemas/docbook-5.0/builder.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-source $stdenv/setup
-
-unpackFile $src
-
-cd docbook-*
-
-mkdir -p $out/xml/rng
-cp -prv rng $out/xml/rng/docbook
-
-mkdir -p $out/xml/dtd
-cp -prv dtd $out/xml/dtd/docbook
-
-mkdir -p $out/share/doc
-cp -prv docs $out/share/doc/docbook
-
-mkdir -p $out/share/docbook
-cp -prv tools $out/share/docbook/
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 1e0103a9305..a9d09945d7f 100644
--- a/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix
+++ b/pkgs/data/sgml+xml/schemas/docbook-5.0/default.nix
@@ -1,13 +1,35 @@
-{stdenv, fetchurl, unzip}:
+{ lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation {
   name = "docbook5-5.0";
-  builder = ./builder.sh;
 
   src = fetchurl {
     url = http://www.docbook.org/xml/5.0/docbook-5.0.zip;
     sha256 = "13i04dkd709f0p5f2413sf2y9321pfi4y85ynf8wih6ryphnbk9x";
   };
 
-  buildInputs = [unzip];
+  buildInputs = [ unzip ];
+
+  installPhase =
+    ''
+      dst=$out/share/xml/docbook-5.0
+      mkdir -p $dst
+      cp -prv * $dst/
+
+      substituteInPlace $dst/catalog.xml --replace 'uri="' "uri=\"$dst/"
+
+      rm -rf $dst/docs $dst/ChangeLog
+
+      # Backwards compatibility. Will remove eventually.
+      mkdir -p $out/xml/rng $out/xml/dtd
+      ln -s $dst/rng $out/xml/rng/docbook
+      ln -s $dst/dtd $out/xml/dtd/docbook
+    '';
+
+  meta = {
+    description = "Schemas for DocBook 5.0, a semantic markup language for technical documentation";
+    homepage = http://docbook.org/xml/5.0/;
+    maintainers = [ lib.maintainers.eelco ];
+    platforms = lib.platforms.all;
+  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
index e4e5a7367c6..7ff79488a89 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
@@ -21,4 +21,7 @@ import ./generic.nix {
   postInstall = "
     sed 's|V4.2|V4.1.2|g' < ${docbook42catalog} > catalog.xml
   ";
+  meta = {
+    branch = "4.1.2";
+  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
index 47cbbf33c01..7071d4a471f 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
@@ -7,4 +7,7 @@ import ./generic.nix {
     url = http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip;
     md5 = "73fe50dfe74ca631c1602f558ed8961f";
   };
+  meta = {
+    branch = "4.2";
+  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
index 6a2e4e65a82..478dd68e8bb 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
@@ -7,4 +7,7 @@ import ./generic.nix {
     url = http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip;
     md5 = "ab200202b9e136a144db1e0864c45074";
   };
+  meta = {
+    branch = "4.3";
+  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
index eb26d185bbe..669536962a1 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
@@ -7,4 +7,7 @@ import ./generic.nix {
     url = http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip;
     sha256 = "1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf";
   };
+  meta = {
+    branch = "4.5";
+  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
index f4ee845b5f1..29a18f4ce69 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl, unzip, src, name, postInstall ? "true"}:
+{ stdenv, fetchurl, unzip, src, name, postInstall ? "true", meta ? {} }:
 
 assert unzip != null;
 
 stdenv.mkDerivation {
-  inherit src name postInstall;
+  inherit src name postInstall meta;
   builder = ./builder.sh;
   buildInputs = [unzip];
 }
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix
index bfe454a49fe..36d2cc48c9f 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix
@@ -1,8 +1,8 @@
-{stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "docbook-xsl-ns-1.78.1";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/docbook/${name}.tar.bz2";
     sha256 = "1x3sc0axk9z3i6n0jhlsmzlmb723a4sjgslm9g12by6phirdx3ng";
@@ -12,13 +12,20 @@ stdenv.mkDerivation rec {
 
   installPhase =
     ''
+      dst=$out/share/xml/docbook-xsl-ns
+      mkdir -p $dst
+      rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp
+      mv * $dst/
+
+      # Backwards compatibility. Will remove eventually.
       mkdir -p $out/xml/xsl
-      cd ..
-      mv docbook-xsl-ns-* $out/xml/xsl/docbook
+      ln -s $dst $out/xml/xsl/docbook
     '';
 
   meta = {
     homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;
     description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
+    maintainers = [ lib.maintainers.eelco ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center.nix b/pkgs/desktops/cinnamon/cinnamon-control-center.nix
index 6eced78ed11..bb53ecfd901 100644
--- a/pkgs/desktops/cinnamon/cinnamon-control-center.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center.nix
@@ -1,6 +1,6 @@
 
 { stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, cinnamon-desktop, intltool, libxslt, gtk3, libnotify,
-gnome-menus, libxml2, systemd, upower, cinnamon-settings-daemon, colord, polkit, ibus, libcanberra_gtk3, pulseaudio, isocodes, krb5,
+gnome-menus, libxml2, systemd, upower, cinnamon-settings-daemon, colord, polkit, ibus, libcanberra_gtk3, pulseaudio, isocodes, kerberos,
 libxkbfile}:
 
 let
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     libnotify gnome-menus libxml2 systemd
     upower cinnamon-settings-daemon colord
     polkit ibus libcanberra_gtk3 pulseaudio
-    isocodes krb5 libxkbfile ];
+    isocodes kerberos libxkbfile ];
 
   preBuild = "patchShebangs ./scripts";
 
diff --git a/pkgs/desktops/e17/default.nix b/pkgs/desktops/e17/default.nix
deleted file mode 100644
index 648a3577863..00000000000
--- a/pkgs/desktops/e17/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ callPackage, pkgs }:
-rec {
-  #### CORE EFL
-
-  eina = callPackage ./eina { };
-
-  eet = callPackage ./eet { };
-
-  evas = callPackage ./evas { };
-
-  ecore = callPackage ./ecore { };
-
-  eio = callPackage ./eio { };
-
-  embryo = callPackage ./embryo { };
-
-  edje = callPackage ./edje { lua = pkgs.lua5; };
-
-  efreet = callPackage ./efreet { };
-
-  e_dbus = callPackage ./e_dbus { };
-
-  eeze = callPackage ./eeze { };
-
-  emotion = callPackage ./emotion { };
-
-  ethumb = callPackage ./ethumb { };
-
-  elementary = callPackage ./elementary { };
-
-
-  #### WINDOW MANAGER
-
-  enlightenment = callPackage ./enlightenment { };
-
-
-  #### APPLICATIONS
-
-  terminology = callPackage ./terminology { };
-
-
-
-  #### ART
-
-
-
-
-}
diff --git a/pkgs/desktops/e17/e_dbus/default.nix b/pkgs/desktops/e17/e_dbus/default.nix
deleted file mode 100644
index cfc0203b3e0..00000000000
--- a/pkgs/desktops/e17/e_dbus/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, expat, ecore, eina, evas
-, dbus_libs }:
-stdenv.mkDerivation rec {
-  name = "e_dbus-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "16ckrpzzw5x1cs0fwqkk8431al55xil5magihkp9l3s77g0qd26q";
-  };
-  buildInputs = [ pkgconfig zlib libjpeg expat ecore eina evas ];
-  propagatedBuildInputs = [ dbus_libs ];
-  setupHook = ./setup-hook.sh;
-  configureFlags = ''
-    --disable-edbus-test
-    --disable-edbus-test-client
-    --disable-edbus-notify-send
-    --disable-edbus-notify-test
-    --disable-edbus-async-test
-  '';
-  meta = {
-    description = "Enlightenment's D-Bus wrapping and glue layer library";
-    longDescription = ''
-      Enlightenment's E_Dbus is a set of wrappers around DBus APIs by
-      third party, so they can be easily used by EFL applications,
-      automatically providing Ecore/main loop integration, as well as
-      Eina data types.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/e_dbus/setup-hook.sh b/pkgs/desktops/e17/e_dbus/setup-hook.sh
deleted file mode 100644
index 33e3a6b0f18..00000000000
--- a/pkgs/desktops/e17/e_dbus/setup-hook.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-addDbusIncludePath () {
-    if test -d "$1/include/dbus-1.0"
-    then
-        export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE} -I$1/include/dbus-1.0 -I $1/lib/dbus-1.0/include"
-    fi
-}
-
-envHooks+=(addDbusIncludePath)
diff --git a/pkgs/desktops/e17/ecore/default.nix b/pkgs/desktops/e17/ecore/default.nix
deleted file mode 100644
index 4a3eef4ec49..00000000000
--- a/pkgs/desktops/e17/ecore/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, evas, libX11, libXext, libXrender
-, libXcomposite, libXfixes, libXdamage }:
-stdenv.mkDerivation rec {
-  name = "ecore-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "08ljda6p0zj1h5sq3l0js6mihw8cr6ydynn42dnka36vachvmfjb";
-  };
-  buildInputs = [ pkgconfig eina evas ];
-  propagatedBuildInputs = [ libX11 libXext libXcomposite libXrender libXfixes
-                            libXdamage
-                          ];
-  meta = {
-    description = "Enlightenment's core mainloop, display abstraction and utility library";
-    longDescription = ''
-      Enlightenment's Ecore is a clean and tiny event loop library
-      with many modules to do lots of convenient things for a
-      programmer, to save time and effort.
-
-      It's small and lean, designed to work on embedded systems all
-      the way to large and powerful multi-cpu workstations. It
-      serialises all system signals, events etc. into a single event
-      queue, that is easily processed without needing to worry about
-      concurrency. A properly written, event-driven program using this
-      kind of programming doesn't need threads, nor has to worry about
-      concurrency. It turns a program into a state machine, and makes
-      it very robust and easy to follow.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/edje/default.nix b/pkgs/desktops/e17/edje/default.nix
deleted file mode 100644
index 62758b2094e..00000000000
--- a/pkgs/desktops/e17/edje/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, lua, expat, zlib, libjpeg, eina, eet, evas
-, ecore, embryo }:
-stdenv.mkDerivation rec {
-  name = "edje-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "1hsyj46bk94yd9ymf9425pf4ygy36h5gdkg9fhf8qds8cnn2kcy7";
-  };
-  buildInputs = [ pkgconfig expat zlib libjpeg lua eina eet evas ecore embryo ];
-  patchPhase = ''
-    substituteInPlace src/bin/edje_cc_out.c --replace '%s/embryo_cc' '${embryo}/bin/embryo_cc'
-    substituteInPlace src/bin/edje_cc_out.c --replace 'eina_prefix_bin_get(pfx),' ""
-  '';
-  meta = {
-    description = "Enlightenment's abstract GUI layout and animation object library";
-    longDescription = ''
-      Enlightenment's Edje is a complex graphical design & layout
-      library based on Evas that provides an abstraction layer between
-      the application code and the interface, while allowing extremely
-      flexible dynamic layouts and animations.
-
-      In more popular terms, Edje makes every application that uses it
-      "skinable".
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/eet/default.nix b/pkgs/desktops/e17/eet/default.nix
deleted file mode 100644
index 079d07187ff..00000000000
--- a/pkgs/desktops/e17/eet/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, zlib, libjpeg }:
-stdenv.mkDerivation rec {
-  name = "eet-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "0ys2579v45f9x2n47shq0k63g0sdbj1ndhh72dvfajihsgjwd767";
-  };
-  buildInputs = [ pkgconfig eina zlib libjpeg ];
-  meta = {
-    description = "Enlightenment's data encode/decode and storage library";
-    longDescription = ''
-      Enlightenment's EET is a tiny library designed to write an
-      arbitary set of chunks of data to a file and optionally compress
-      each chunk (very much like a zip file) and allow fast
-      random-access reading of the file later on. EET files are
-      perfect for storing data that is written once (or rarely) and
-      read many times, especially when the program does not want to
-      have to read all the data in at once.
-
-      Use this library when you need to pack C structure and you want
-      to retrieve it quickly with as few as possible memory use. You
-      can also use it to serialize data quickly and exchange them
-      between two program over ipc or network link.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/eeze/default.nix b/pkgs/desktops/e17/eeze/default.nix
deleted file mode 100644
index 162fbcf1aef..00000000000
--- a/pkgs/desktops/e17/eeze/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, ecore, udev }:
-stdenv.mkDerivation rec {
-  name = "eeze-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "0274fs4cxgw6420yyz9frrc8zhj0qqyvwczzslq3kih3sx1nikxr";
-  };
-  buildInputs = [ pkgconfig eina ecore ];
-  propagatedBuildInputs = [ udev ];
-  meta = {
-    description = "Enlightenment's device abstraction library";
-    longDescription = ''
-      Enlightenment's Eeze is a library for manipulating devices
-      through udev with a simple and fast api. It interfaces directly
-      with libudev, avoiding such middleman daemons as udisks/upower
-      or hal, to immediately gather device information the instant it
-      becomes known to the system.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/efreet/default.nix b/pkgs/desktops/e17/efreet/default.nix
deleted file mode 100644
index dfe755db597..00000000000
--- a/pkgs/desktops/e17/efreet/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, eet, ecore }:
-stdenv.mkDerivation rec {
-  name = "efreet-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "1yw7qjddqcnsz1vb693pa57v9wydvzfy198dc23mz46qfqx08nlg";
-  };
-  buildInputs = [ pkgconfig eina eet ecore ];
-  meta = {
-    description = "Enlightenment's standards handling for freedesktop.org standards";
-    longDescription = ''
-      Enlightenment's Efreet is a library designed to help apps work
-      several of the Freedesktop.org standards regarding Icons,
-      Desktop files and Menus. To that end it implements the following
-      specifications:
-
-        * XDG Base Directory Specification
-        * Icon Theme Specification
-        * Desktop Entry Specification
-        * Desktop Menu Specification
-        * FDO URI Specification
-        * Shared Mime Info Specification
-        * Trash Specification 
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/eina/default.nix b/pkgs/desktops/e17/eina/default.nix
deleted file mode 100644
index 77d4829a841..00000000000
--- a/pkgs/desktops/e17/eina/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl }:
-stdenv.mkDerivation rec {
-  name = "eina-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "0kd4116njrbag9h459cmfpg07c4ag04z3yrsg513lpi27amch27w";
-  };
-  meta = {
-    description = "Enlightenment's core data structure library";
-    longDescription = ''
-      Enlightenment's Eina is a core data structure and common utility
-      library.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.lgpl21;
-  };
-}
diff --git a/pkgs/desktops/e17/eio/default.nix b/pkgs/desktops/e17/eio/default.nix
deleted file mode 100644
index b56422fd774..00000000000
--- a/pkgs/desktops/e17/eio/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eet, eina, ecore }:
-stdenv.mkDerivation rec {
-  name = "eio-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "1bsam5q364kc4xwfv7pql6686gj0byhk42zwjqx9ajf70l23kss6";
-  };
-  buildInputs = [ pkgconfig eet eina ecore ];
-  meta = {
-    description = "A library that integrates with EFL to provide efficient filesystem IO";
-    longDescription = ''
-      Eio integrates with EFL (Ecore, Eina) to provide efficient filesystem Input/Output.
-      It use the best techniques to achieve such purpose, like using at-variants, splice,
-      properly handling errors and doing it in an asynchronous fashion by means of worker
-      threads. It is also ported to Windows, so multi-platform.
-
-      Whenever you need to list a directory, copy, move or delete files, Eio will do that
-      task better than you'd achieve with naive implementations, and it is easy to use. 
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.lgpl21;
-  };
-}
diff --git a/pkgs/desktops/e17/elementary/default.nix b/pkgs/desktops/e17/elementary/default.nix
deleted file mode 100644
index b0240d986de..00000000000
--- a/pkgs/desktops/e17/elementary/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, eet, evas, ecore, edje }:
-stdenv.mkDerivation rec {
-  name = "elementary-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "08cb4x9639xyrb8d4vzvhl6v385qjfswl717sicm7iimh5zlm2l9";
-  };
-  buildInputs = [ pkgconfig eina eet evas ecore edje ];
-  meta = {
-    description = "Enlightenment's core data structure library";
-    longDescription = ''
-      Enlightenment's Eina is a core data structure and common utility
-      library.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.lgpl21;
-  };
-}
diff --git a/pkgs/desktops/e17/embryo/default.nix b/pkgs/desktops/e17/embryo/default.nix
deleted file mode 100644
index 59b5540f25d..00000000000
--- a/pkgs/desktops/e17/embryo/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina }:
-stdenv.mkDerivation rec {
-  name = "embryo-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "104fsa179w2dfg00sfnap7c3b4ixcps4crxa6yav755awssdcim9";
-  };
-  buildInputs = [ pkgconfig eina ];
-  meta = {
-    description = "Enlightenment's small Pawn based virtual machine and compiler";
-    longDescription = ''
-      Enlightenment's Embryo is a tiny library designed to interpret
-      limited Small programs compiled by the included compiler,
-      embryo_cc. It is mostly a cleaned up and smaller version of the
-      original Small abstract machine. The compiler is mostly
-      untouched.
-    '';
-    homepage = http://enlightenment.org/;
-    license = with stdenv.lib.licenses; [ bsd2.shortName bsd3.shortName ];  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/emotion/default.nix b/pkgs/desktops/e17/emotion/default.nix
deleted file mode 100644
index 9ec3631b1e7..00000000000
--- a/pkgs/desktops/e17/emotion/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, ecore, evas, eet, eina, edje, vlc }:
-stdenv.mkDerivation rec {
-  name = "emotion-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "1sfw8kpj2fcqymzd6q7p51xxib1n2arvjl1hnwhqkvwhlsq2b4sw";
-  };
-  buildInputs = [ pkgconfig ecore evas eet eina edje vlc ];
-  meta = {
-    description = "A library to easily integrate media playback into EFL applications";
-    longDescription = ''
-      Emotion is a library to easily integrate media playback into EFL applications,
-      it will take care of using Ecore's main loop and video display is done using Evas.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.lgpl21;
-  };
-}
diff --git a/pkgs/desktops/e17/enlightenment/default.nix b/pkgs/desktops/e17/enlightenment/default.nix
deleted file mode 100644
index 953c90e8003..00000000000
--- a/pkgs/desktops/e17/enlightenment/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, eet, evas, ecore, edje, efreet, e_dbus
-, embryo, eio, xcbutilkeysyms, libjpeg }:
-stdenv.mkDerivation rec {
-  name = "enlightenment-${version}";
-  version = "0.17.1";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "1z2vx9r7yc55rs673jg7d685slgdv9dss45asg50wh5wxp2mfi3y";
-  };
-  buildInputs = [ pkgconfig eina eet ecore evas edje efreet e_dbus embryo
-                  eio xcbutilkeysyms libjpeg ];
-  configureFlags = ''
-    --with-profile=FAST_PC
-    --disable-illume
-    --disable-illume2
-  '';
-  meta = {
-    description = "A window manager";
-    longDescription = ''
-      The Enlightenment Desktop shell provides an efficient yet
-      breathtaking window manager based on the Enlightenment
-      Foundation Libraries along with other essential desktop
-      components like a file manager, desktop icons and widgets.
-
-      It boasts a un-precedented level of theme-ability while still
-      being capable of performing on older hardware or embedded
-      devices.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/ethumb/default.nix b/pkgs/desktops/e17/ethumb/default.nix
deleted file mode 100644
index 344abe1e3f1..00000000000
--- a/pkgs/desktops/e17/ethumb/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, eina, evas, ecore, edje, eet, e_dbus, emotion, libexif }:
-stdenv.mkDerivation rec {
-  name = "ethumb-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "0prka3knz8p2n46dfrzgwn55khhhrhjny4vvnzkjcwmhvz7kgc9l";
-  };
-  buildInputs = [ pkgconfig eina evas ecore edje eet emotion libexif ];
-  propagatedBuildInputs = [ e_dbus libexif ];
-  meta = {
-    description = "A thumbnail generation library";
-    longDescription = ''
-      Ethumb - thumbnail generation library. Features:
-      * create thumbnails with a predefined frame (possibly an edje frame);
-      * have an option to create fdo-like thumbnails;
-      * have a client/server utility;
-      * TODO: make thumbnails from edje backgrounds, icons and themes;
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.lgpl21;
-  };
-}
diff --git a/pkgs/desktops/e17/evas/default.nix b/pkgs/desktops/e17/evas/default.nix
deleted file mode 100644
index c271caa980d..00000000000
--- a/pkgs/desktops/e17/evas/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, freetype, fontconfig, libpng, libjpeg
-, libX11, libXext, eina, eet }:
-stdenv.mkDerivation rec {
-  name = "evas-${version}";
-  version = "1.7.5";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/releases/${name}.tar.bz2";
-    sha256 = "0x3k89q2wxgxjsbhdf4qws7jgpjl7rpqji98ca3nf25jf2lm1cvh";
-  };
-  buildInputs = [ pkgconfig freetype fontconfig libpng libjpeg
-                  libX11 libXext eina eet
-                ];
-  meta = {
-    description = "Enlightenment's canvas and scenegraph rendering library";
-    longDescription = ''
-      Enlightenment's Evas is a clean display canvas API that
-      implements a scene graph, not an immediate-mode rendering
-      target, is cross-platform, for several target display systems
-      that can draw anti-aliased text, smooth super and sub-sampled
-      scaled images, alpha-blend objects and much more.
-    '';
-    homepage = http://enlightenment.org/;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e17/terminology/default.nix b/pkgs/desktops/e17/terminology/default.nix
deleted file mode 100644
index 692f4e73ac2..00000000000
--- a/pkgs/desktops/e17/terminology/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, elementary, eina, eet, evas, edje, emotion, ecore, ethumb, efreet }:
-
-stdenv.mkDerivation rec {
-  name = "terminology-${version}";
-  version = "0.5.1";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
-    sha256 = "1b8m6fhzx2fdr3m6ak2163v33zc4svmg2k875m0xppzifdd9xvyf";
-  };
-  buildInputs = [ pkgconfig elementary eina eet evas ecore edje emotion ecore ethumb efreet ];
-
-  meta = {
-    description = "Terminology, the E17 terminal emulator";
-    homepage = http://www.enlightenment.org/p.php?p=about/terminology;
-    license = stdenv.lib.licenses.bsd2;  # not sure
-  };
-}
diff --git a/pkgs/desktops/e18/default.nix b/pkgs/desktops/e18/default.nix
deleted file mode 100644
index 56361eb85ce..00000000000
--- a/pkgs/desktops/e18/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ callPackage, pkgs }:
-rec {
-  #### CORE EFL
-  efl = callPackage ./efl.nix { };
-  evas = callPackage ./evas.nix { };
-  emotion = callPackage ./emotion.nix { };
-  elementary = callPackage ./elementary.nix { };
-
-  #### WINDOW MANAGER
-  enlightenment = callPackage ./enlightenment.nix { };
-
-  #### APPLICATIONS
-  econnman = callPackage ./econnman.nix { };
-  terminology = callPackage ./terminology.nix { };
-
-}
diff --git a/pkgs/desktops/e18/econnman.nix b/pkgs/desktops/e18/econnman.nix
deleted file mode 100644
index f2c67edf4f8..00000000000
--- a/pkgs/desktops/e18/econnman.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, python27, python27Packages, dbus, makeWrapper }:
-stdenv.mkDerivation rec {
-  name = "econnman-${version}";
-  version = "1.1";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
-    sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
-  };
-
-  buildInputs = [ makeWrapper pkgconfig e18.efl python27 dbus ];
-  propagatedBuildInputs = [ python27Packages.pythonefl python27Packages.dbus e18.elementary ];
-  postInstall = ''
-    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl}/lib/python2.7/site-packages
-  '';
-
-  meta = {
-    description = "Econnman is a user interface for the connman network connection manager";
-    homepage = http://enlightenment.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.lgpl3;
-  };
-}
diff --git a/pkgs/desktops/e18/efl.nix b/pkgs/desktops/e18/efl.nix
deleted file mode 100644
index ca09ac32ee5..00000000000
--- a/pkgs/desktops/e18/efl.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages }:
-stdenv.mkDerivation rec {
-  name = "efl-${version}";
-  version = "1.10.2";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
-    sha256 = "0py8x0kv2hgl5v983xb6653fvmvn20im6picpc0hqfyxy09g1b24";
-  };
-  buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
-  propagatedBuildInputs = [ wayland libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext bullet xlibs.libXScrnSaver ];
-  configureFlags = [ "--with-opengl=full" "--with-tests=none" "--enable-wayland" "--enable-sdl" "--enable-drm" ];
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="-I${xlibs.libXtst} $NIX_CFLAGS_COMPILE"
-    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
-  '';
-  meta = {
-    description = "Enlightenment Core libraries";
-    homepage = http://enlightenment.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.lgpl3;
-  };
-}
diff --git a/pkgs/desktops/e18/elementary.nix b/pkgs/desktops/e18/elementary.nix
deleted file mode 100644
index f808d5c905b..00000000000
--- a/pkgs/desktops/e18/elementary.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18 }:
-stdenv.mkDerivation rec {
-  name = "elementary-${version}";
-  version = "1.10.2";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
-    sha256 = "0y3knvmabl9adc8pd54p7qxpf7gvciixc1rk40hqppwhdgbgpz28";
-  };
-  buildInputs = [ pkgconfig e18.efl ];
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
-  '';
-  meta = {
-    description = "Widget set/toolkit";
-    homepage = http://enlightenment.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.lgpl2;
-  };
-}
diff --git a/pkgs/desktops/e18/emotion.nix b/pkgs/desktops/e18/emotion.nix
deleted file mode 100644
index 7e1c3be6400..00000000000
--- a/pkgs/desktops/e18/emotion.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, vlc }:
-stdenv.mkDerivation rec {
-  name = "emotion_generic_players-${version}";
-  version = "1.10.0";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
-    sha256 = "1nwlrk9inrhiv6jpzji10ikcdlhzhz7f2b5qhi2ai8bb6j61ryyc";
-  };
-  buildInputs = [ pkgconfig e18.efl vlc ];
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
-  '';
-  meta = {
-    description = "Extra video decoders";
-    homepage = http://enlightenment.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.bsd2;
-  };
-}
diff --git a/pkgs/desktops/e18/enlightenment.nix b/pkgs/desktops/e18/enlightenment.nix
deleted file mode 100644
index c3cd585e525..00000000000
--- a/pkgs/desktops/e18/enlightenment.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit, bzip2, set_freqset_setuid ? false }:
-
-stdenv.mkDerivation rec {
-  name = "enlightenment-${version}";
-  version = "0.18.8";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.gz";
-    sha256 = "1fsigbrknkwy909p1gqwxag1bar3p413s4f6fq3qnbsd6gjbvj8l";
-  };
-  buildInputs = [ pkgconfig e18.efl e18.elementary xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2 ];
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 -I${e18.efl}/include/ecore-imf-1 -I${e18.efl}/include/ethumb-client-1 -I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
-  '';
-
-  # this is a hack and without this cpufreq module is not working:
-  #   when set_freqset_setuid is true and "e18_freqset" is set in setuidPrograms (this is taken care of in e18 NixOS module),
-  #   then this postInstall does the folowing:
-  #   1. moves the "freqset" binary to "e18_freqset",
-  #   2. linkes "e18_freqset" to enlightenment/bin so that,
-  #   3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e18_freqset,
-  #   4. and finaly, linkes /var/setuid-wrappers/e18_freqset to original destination where enlightenment wants it
-  postInstall = if set_freqset_setuid then ''
-    export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
-    mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e18_freqset
-    ln -sv $CPUFREQ_DIRPATH/e18_freqset $out/bin/e18_freqset
-    ln -sv /var/setuid-wrappers/e18_freqset $CPUFREQ_DIRPATH/freqset
-  '' else "";
-  meta = {
-    description = "The Compositing Window Manager and Desktop Shell";
-    homepage = http://enlightenment.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.bsd2;
-  };
-}
diff --git a/pkgs/desktops/e18/evas.nix b/pkgs/desktops/e18/evas.nix
deleted file mode 100644
index 9ddd94dbaea..00000000000
--- a/pkgs/desktops/e18/evas.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18, zlib }:
-stdenv.mkDerivation rec {
-  name = "evas_generic_loaders-${version}";
-  version = "1.10.0";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
-    sha256 = "0qx44g7a8pzcgspx8q10zjiwzafis301fhpchd4pskfxhqd4qagm";
-  };
-  buildInputs = [ pkgconfig e18.efl zlib ];
-  meta = {
-    description = "Extra image decoders";
-    homepage = http://enlightenment.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/desktops/e18/terminology.nix b/pkgs/desktops/e18/terminology.nix
deleted file mode 100644
index 892abc6ea5f..00000000000
--- a/pkgs/desktops/e18/terminology.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, e18 }:
-stdenv.mkDerivation rec {
-  name = "terminology-${version}";
-  version = "0.6.1";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
-    sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
-  };
-  buildInputs = [ pkgconfig e18.efl e18.elementary ];
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
-    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
-    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
-    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
-  '';
-  meta = {
-    description = "The best terminal emulator written with the EFL";
-    homepage = http://enlightenment.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.bsd2;
-  };
-}
diff --git a/pkgs/desktops/e19/default.nix b/pkgs/desktops/e19/default.nix
new file mode 100644
index 00000000000..9c862734dcc
--- /dev/null
+++ b/pkgs/desktops/e19/default.nix
@@ -0,0 +1,27 @@
+{ callPackage, pkgs }:
+let
+  openjpeg_1 = with pkgs; lib.overrideDerivation openjpeg (oldAttrs: {
+         name = "openjpeg-1.5.1";
+         src = fetchurl {
+           url = "http://openjpeg.googlecode.com/files/openjpeg-1.5.1.tar.gz";
+           sha1 = "1b0b74d1af4c297fd82806a9325bb544caf9bb8b";
+         };
+         #passthru = { incDir = "openjpeg-1.5.1"; };
+     });
+in
+rec {
+  #### CORE EFL
+  efl = callPackage ./efl.nix { openjpeg=openjpeg_1; };
+  evas = callPackage ./evas.nix { };
+  emotion = callPackage ./emotion.nix { };
+  elementary = callPackage ./elementary.nix { };
+
+  #### WINDOW MANAGER
+  enlightenment = callPackage ./enlightenment.nix { };
+
+  #### APPLICATIONS
+  econnman = callPackage ./econnman.nix { };
+  terminology = callPackage ./terminology.nix { };
+  rage = callPackage ./rage.nix { };
+
+}
diff --git a/pkgs/desktops/e19/econnman.nix b/pkgs/desktops/e19/econnman.nix
new file mode 100644
index 00000000000..8eaebaf0af3
--- /dev/null
+++ b/pkgs/desktops/e19/econnman.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e19, python27, python27Packages, dbus, makeWrapper }:
+stdenv.mkDerivation rec {
+  name = "econnman-${version}";
+  version = "1.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
+    sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
+  };
+
+  buildInputs = [ makeWrapper pkgconfig e19.efl python27 dbus ];
+  propagatedBuildInputs = [ python27Packages.pythonefl_1_13 python27Packages.dbus e19.elementary ];
+  postInstall = ''
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_13}/lib/python2.7/site-packages
+  '';
+
+  meta = {
+    description = "Econnman is a user interface for the connman network connection manager";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e19/efl-setup-hook.sh b/pkgs/desktops/e19/efl-setup-hook.sh
new file mode 100755
index 00000000000..d98f24b4c04
--- /dev/null
+++ b/pkgs/desktops/e19/efl-setup-hook.sh
@@ -0,0 +1,8 @@
+addDbusIncludePath () {
+    if test -d "$1/include/dbus-1.0"
+    then
+        export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE} -I$1/include/dbus-1.0 -I $1/lib/dbus-1.0/include"
+    fi
+}
+
+envHooks=(${envHooks[@]} addDbusIncludePath)
diff --git a/pkgs/desktops/e19/efl.nix b/pkgs/desktops/e19/efl.nix
new file mode 100644
index 00000000000..c8860a5f7da
--- /dev/null
+++ b/pkgs/desktops/e19/efl.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, lua5_2, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, vlc, libwebp, curl, libinput }:
+
+
+stdenv.mkDerivation rec {
+  name = "efl-${version}";
+  version = "1.13.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
+    sha256 = "196293zf4pbyd5acs4nzb818yql9r67709ccfj7k3siyws6lsh4q";
+  };
+
+  buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa
+    giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base
+    gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto
+    xlibs.libX11 udev utillinuxCurses luajit ];
+
+  propagatedBuildInputs = [ libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite
+    xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext
+    bullet xlibs.libXScrnSaver xlibs.libXrender xlibs.libXfixes xlibs.libXrandr
+    xlibs.libxkbfile xlibs.libxcb xlibs.xcbutilkeysyms openjpeg doxygen expat lua5_2
+    harfbuzz jbig2dec librsvg dbus_libs alsaLib poppler libraw libspectre xineLib vlc libwebp curl libdrm
+    libinput ];
+
+  # ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++
+  configureFlags = [ "--with-tests=none" "--enable-sdl" "--enable-drm" "--with-opengl=full"
+    "--enable-image-loader-jp2k" "--enable-xinput22" "--enable-multisense" "--enable-systemd"
+    "--enable-image-loader-webp" "--enable-harfbuzz" "--enable-xine" "--enable-fb"
+    "--disable-tslib" "--with-systemdunitdir=$out/systemd/user" "--enable-lua-old"
+    "ac_ct_CXX=foo" ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${xlibs.libXtst}" "-I${dbus_libs}/include/dbus-1.0" "-I${dbus_libs}/lib/dbus-1.0/include" ];
+
+  preConfigure = ''
+    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
+  '';
+
+  enableParallelBuilding = true;
+
+  setupHook = ./efl-setup-hook.sh;
+
+  meta = {
+    description = "Enlightenment Core libraries";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e19/elementary.nix b/pkgs/desktops/e19/elementary.nix
new file mode 100644
index 00000000000..28ce894bfc7
--- /dev/null
+++ b/pkgs/desktops/e19/elementary.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, e19, libcap, gdbm }:
+stdenv.mkDerivation rec {
+  name = "elementary-${version}";
+  version = "1.13.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
+    sha256 = "0f8hz60aj4ar8lqnc63nlxkpf3b51scjalgy1iphgjc27hzxcb9i";
+  };
+  buildInputs = [ pkgconfig e19.efl gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ethumb-1 -I${e19.efl}/include/efl-1 $NIX_CFLAGS_COMPILE"
+  '';
+  enableParallelBuilding = true;
+  meta = {
+    description = "Widget set/toolkit";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
+  };
+}
diff --git a/pkgs/desktops/e19/emotion.nix b/pkgs/desktops/e19/emotion.nix
new file mode 100644
index 00000000000..bffc2e70f59
--- /dev/null
+++ b/pkgs/desktops/e19/emotion.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e19, vlc }:
+stdenv.mkDerivation rec {
+  name = "emotion_generic_players-${version}";
+  version = "1.13.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
+    sha256 = "0gin3cjhfj75v0gjsvv7harbj4fs4r7r1sfi74ncxzna71nrd8r3";
+  };
+  buildInputs = [ pkgconfig e19.efl vlc ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Extra video decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e19/enlightenment.nix b/pkgs/desktops/e19/enlightenment.nix
new file mode 100644
index 00000000000..2cccf3a0dfd
--- /dev/null
+++ b/pkgs/desktops/e19/enlightenment.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, pkgconfig, e19, xlibs, libffi, pam, alsaLib, luajit, bzip2
+, libpthreadstubs, gdbm, libcap, mesa_glu, xkeyboard_config, set_freqset_setuid ? false }:
+
+stdenv.mkDerivation rec {
+  name = "enlightenment-${version}";
+  version = "0.19.4";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
+    sha256 = "0r3bad700cfx5sq8y61dbz3hxdx9n3nf5hzx40ryqld75yxzwxz7";
+  };
+  buildInputs = [ pkgconfig e19.efl e19.elementary xlibs.libXdmcp xlibs.libxcb
+    xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2
+    libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 -I${e19.efl}/include/ecore-imf-1 -I${e19.efl}/include/ethumb-client-1 -I${e19.efl}/include/elocation-1 -I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+    export USER_SESSION_DIR=$prefix/lib/systemd/user
+
+    substituteInPlace src/modules/xkbswitch/e_mod_parse.c \
+      --replace "/usr/share/X11/xkb/rules/xorg.lst" "${xkeyboard_config}/share/X11/xkb/rules/base.lst"
+
+    substituteInPlace "src/bin/e_import_config_dialog.c" \
+      --replace "e_prefix_bin_get()" "\"${e19.efl}/bin\""
+  '';
+
+  enableParallelBuilding = true;
+
+  # this is a hack and without this cpufreq module is not working:
+  #   when set_freqset_setuid is true and "e19_freqset" is set in setuidPrograms (this is taken care of in e19 NixOS module),
+  #   then this postInstall does the folowing:
+  #   1. moves the "freqset" binary to "e19_freqset",
+  #   2. linkes "e19_freqset" to enlightenment/bin so that,
+  #   3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e19_freqset,
+  #   4. and finaly, linkes /var/setuid-wrappers/e19_freqset to original destination where enlightenment wants it
+  postInstall = if set_freqset_setuid then ''
+    export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
+    mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e19_freqset
+    ln -sv $CPUFREQ_DIRPATH/e19_freqset $out/bin/e19_freqset
+    ln -sv /var/setuid-wrappers/e19_freqset $CPUFREQ_DIRPATH/freqset
+  '' else "";
+  meta = {
+    description = "The Compositing Window Manager and Desktop Shell";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e19/evas.nix b/pkgs/desktops/e19/evas.nix
new file mode 100644
index 00000000000..3ec3d53c69a
--- /dev/null
+++ b/pkgs/desktops/e19/evas.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, e19, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
+stdenv.mkDerivation rec {
+  name = "evas_generic_loaders-${version}";
+  version = "1.13.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
+    sha256 = "06m8p8k8dpyvzdm690zhdzcr7n0ld12bcgjdssjfl66lil5z2mc4";
+  };
+  buildInputs = [ pkgconfig e19.efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
+  meta = {
+    description = "Extra image decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/e19/rage.nix b/pkgs/desktops/e19/rage.nix
new file mode 100644
index 00000000000..0ccdb3bf3e3
--- /dev/null
+++ b/pkgs/desktops/e19/rage.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, e19, automake, autoconf, libtool, pkgconfig, gst_all_1
+, makeWrapper, lib }:
+stdenv.mkDerivation rec {
+  name = "rage-${version}";
+  version = "0.1.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz";
+    sha256 = "0jdhbzmnvl0i2zzmjs1wgvxmnv0lm76k7h5llbb8ai34xh4yp3fi";
+  };
+  buildInputs = [ e19.elementary e19.efl automake autoconf libtool pkgconfig
+    makeWrapper ];
+  NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/evas-1"
+    "-I${e19.efl}/include/ecore-1"
+    "-I${e19.efl}/include/eina-1"
+    "-I${e19.efl}/include/eina-1/eina"
+    "-I${e19.efl}/include/eet-1"
+    "-I${e19.efl}/include/eo-1"
+    "-I${e19.efl}/include/ecore-evas-1"
+    "-I${e19.efl}/include/ecore-imf-1"
+    "-I${e19.efl}/include/ecore-con-1"
+    "-I${e19.efl}/include/ecore-file-1"
+    "-I${e19.efl}/include/ecore-input-1"
+    "-I${e19.efl}/include/eldbus-1"
+    "-I${e19.efl}/include/efreet-1"
+    "-I${e19.efl}/include/ethumb-client-1"
+    "-I${e19.efl}/include/ethumb-1" ];
+  GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-libav ];
+  configurePhase = ''
+    ./autogen.sh --prefix=$out
+  '';
+  postInstall = ''
+    wrapProgram $out/bin/rage \
+      --prefix GST_PLUGIN_PATH : "$GST_PLUGIN_PATH"
+  '';
+  meta = {
+    description = "Video + Audio player along the lines of mplayer";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e19/terminology.nix b/pkgs/desktops/e19/terminology.nix
new file mode 100644
index 00000000000..96028311f1e
--- /dev/null
+++ b/pkgs/desktops/e19/terminology.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, e19 }:
+stdenv.mkDerivation rec {
+  name = "terminology-${version}";
+  version = "0.8.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
+    sha256 = "7a10d44b023cf6134c2483304e4ad33bea6df0f11266aec482f54fa67a3ce628";
+  };
+  buildInputs = [ pkgconfig e19.efl e19.elementary ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/elocation-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "The best terminal emulator written with the EFL";
+    homepage = http://enlightenment.org/;
+    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
index ed794715ff8..41ca17bd5e4 100644
--- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus}:
+{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus,  gnome_vfs}:
 
 with stdenv.lib;
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     cp bonobo/*.{py,defs} $out/share/pygtk/2.0/defs/
   '';
 
-  buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus ];
+  buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus gnome_vfs ];
 
   doCheck = false;
 
diff --git a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
index 97dcbf4e004..8cd8635c85c 100644
--- a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}:
+{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext}:
 
 stdenv.mkDerivation {
   name = "scrollkeeper-0.3.14";
@@ -13,6 +13,6 @@ stdenv.mkDerivation {
     cp ${automake}/share/automake*/config.{sub,guess} .
   ";
 
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
-  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
+  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt gettext];
+  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/catalog.xml";
 }
diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
index 45f29496f62..754a3ce68f6 100644
--- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
+++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurlGnome, pkgconfig, glib, libIDL, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, glib, libIDL, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
-  
-  src = fetchurlGnome {
-    project = "ORBit2";
-    major = "2"; minor = "14"; patchlevel = "19";
+  name = "ORBit2-${minVer}.19";
+  minVer = "2.14";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/ORBit2/${minVer}/${name}.tar.bz2";
     sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/gconfmm/default.nix b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
index 045f60e8b60..356d4df9d1d 100644
--- a/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurlGnome, pkgconfig, GConf, gtkmm, glibmm }:
+{ stdenv, fetchurl, pkgconfig, GConf, gtkmm, glibmm }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "gconfmm-${minVer}.3";
+  minVer = "2.28";
 
-  src = fetchurlGnome {
-    project = "gconfmm";
-    major = "2"; minor = "28"; patchlevel = "3"; extension = "bz2";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gconfmm/${minVer}/${name}.tar.bz2";
     sha256 = "a5e0092bb73371a3ca76b2ecae794778f3a9409056fee9b28ec1db072d8e6108";
   };
 
-  nativeBuildInputs = [pkgconfig];
+  nativeBuildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = [ GConf gtkmm glibmm ];
 
diff --git a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
index dba47b6e541..6cb8ff336a0 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, fetchurlGnome, which }:
+{ stdenv, fetchurl, which }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "gnome-common-${minVer}.0";
+  minVer = "2.34";
 
-  src = fetchurlGnome {
-    project = "gnome-common";
-    major = "2"; minor = "34"; patchlevel = "0";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-common/${minVer}/${name}.tar.bz2";
     sha256 = "1pz13mpp09q5s3bikm8ml92s1g0scihsm4iipqv1ql3mp6d4z73s";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index dd8b7822858..69223393060 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurlGnome, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib
+{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib
 , glib, fam, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "gnome-vfs-${minVer}.4";
+  minVer = "2.24";
 
-  src = fetchurlGnome {
-    project = "gnome-vfs";
-    major = "2"; minor = "24"; patchlevel = "4";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-vfs/${minVer}/${name}.tar.bz2";
     sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
index 4ce51844a51..bf09bd93eeb 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurlGnome, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }:
+{ stdenv, fetchurl, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "gtkglextmm-${minVer}.0";
+  minVer = "1.2";
 
-  src = fetchurlGnome {
-    project = "gtkglextmm";
-    major = "1"; minor = "2"; patchlevel = "0"; extension = "bz2";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtkglextmm/${minVer}/${name}.tar.bz2";
     sha256 = "6cd4bd2a240e5eb1e3a24c5a3ebbf7ed905b522b888439778043fdeb58771fea";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libIDL/default.nix b/pkgs/desktops/gnome-2/platform/libIDL/default.nix
index 73b4fb9cc49..1fc78002606 100644
--- a/pkgs/desktops/gnome-2/platform/libIDL/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libIDL/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurlGnome, flex, bison, pkgconfig, glib, gettext}:
+{stdenv, fetchurl, flex, bison, pkgconfig, glib, gettext}:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "libIDL-${minVer}.14";
+  minVer = "0.8";
 
-  src = fetchurlGnome {
-    project = "libIDL";
-    major = "0"; minor = "8"; patchlevel = "14";
+  src = fetchurl {
+    url = "mirror://gnome/sources/libIDL/${minVer}/${name}.tar.bz2";
     sha256 = "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
index d9867f25a4c..add013e64cd 100644
--- a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurlGnome, flex, bison, pkgconfig, glib, dbus_glib, libxml2, popt
+{ stdenv, fetchurl, flex, bison, pkgconfig, glib, dbus_glib, libxml2, popt
 , intltool, ORBit2, procps }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
-  
-  src = fetchurlGnome {
-    project = "libbonobo";
-    major = "2"; minor = "32"; patchlevel = "1";
+  name = "libbonobo-${minVer}.1";
+  minVer = "2.32";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libbonobo/${minVer}/${name}.tar.bz2";
     sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
index 00a0c4763a1..efdc28aac42 100644
--- a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurlGnome, bison, pkgconfig, popt, libxml2, gtk, libtool
+{ stdenv, fetchurl, bison, pkgconfig, popt, libxml2, gtk, libtool
 , intltool, libbonobo, GConf, libgnomecanvas, libgnome, libglade }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
-  
-  src = fetchurlGnome {
-    project = "libbonoboui";
-    major = "2"; minor = "24"; patchlevel = "5";
+  name = "libbonoboui-${minVer}.5";
+  minVer = "2.24";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libbonoboui/${minVer}/${name}.tar.bz2";
     sha256 = "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
index edcd868b2f3..4612e6aee6f 100644
--- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurlGnome, pkgconfig, glib, popt, zlib, libcanberra
+{ stdenv, fetchurl, pkgconfig, glib, popt, zlib, libcanberra
 , intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool, libogg
 }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "libgnome-${minVer}.1";
+  minVer = "2.32";
 
-  src = fetchurlGnome {
-    project = "libgnome";
-    major = "2"; minor = "32"; patchlevel = "1";
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgnome/${minVer}/${name}.tar.bz2";
     sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
index 8a1b7706409..8c12754f112 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurlGnome, pkgconfig, gtk, intltool, libart_lgpl, libglade }:
+{ stdenv, fetchurl, pkgconfig, gtk, intltool, libart_lgpl, libglade }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
-  
-  src = fetchurlGnome {
-    project = "libgnomecanvas";
-    major = "2"; minor = "30"; patchlevel = "3";
+  name = "libgnomecanvas-${minVer}.3";
+  minVer = "2.30";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgnomecanvas/${minVer}/${name}.tar.bz2";
     sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5";
   };
-  
+
   buildInputs = [ libglade ];
   nativeBuildInputs = [ pkgconfig intltool ];
   propagatedBuildInputs = [ libart_lgpl gtk ];
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch b/pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch
new file mode 100644
index 00000000000..68f379c2510
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/libgnomecups/cups_1.6.patch
@@ -0,0 +1,285 @@
+From ae783efde4fa69578651994505462f02b8639220 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Tue, 7 Aug 2012 06:53:09 -0400
+Subject: [PATCH] Use CUPS-1.6 IPP API getter/setter functions
+
+CUPS 1.6 makes various structures private and introduces these ippGet
+and ippSet functions for all of the fields in these structures.
+http://www.cups.org/str.php?L3928
+
+We define our own accessors when building against CUPS < 1.6.
+
+Based on work by Jiri Popelka <jpopelka@redhat.com> at
+https://bugzilla.gnome.org/show_bug.cgi?id=679759
+---
+ libgnomecups/gnome-cups-printer.c |   48 +++++++++++++++++++++++++++++-------
+ libgnomecups/gnome-cups-queue.c   |   43 +++++++++++++++++++++++++++------
+ libgnomecups/gnome-cups-request.c |   44 ++++++++++++++++++++++++++++-----
+ 3 files changed, 110 insertions(+), 25 deletions(-)
+
+diff --git a/libgnomecups/gnome-cups-printer.c b/libgnomecups/gnome-cups-printer.c
+index c924af0..f5e1ef7 100644
+--- a/libgnomecups/gnome-cups-printer.c
++++ b/libgnomecups/gnome-cups-printer.c
+@@ -37,6 +37,34 @@
+ 
+ #define UPDATE_TIMEOUT 5000
+ 
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetCount(attr)     attr->num_values
++#define ippGetName(attr)      attr->name
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t *
++ippFirstAttribute(ipp_t *ipp)
++{
++  if (!ipp)
++    return (NULL);
++  return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t *
++ippNextAttribute(ipp_t *ipp)
++{
++  if (!ipp || !ipp->current)
++    return (NULL);
++  return (ipp->current = ipp->current->next);
++}
++#endif
++
++
+ struct _GnomeCupsPPDFile {
+ 	char name[1];
+ };
+@@ -173,9 +201,9 @@ map_reasons (GnomeCupsPrinter *printer,
+ 	printer->details->state_reasons = NULL;
+ 
+ 	/* cf. RFC2911 4.4.12 */
+-	for (i = 0; i < attr->num_values; i++) {
++	for (i = 0; i < ippGetCount (attr); i++) {
+ 		const char *p;
+-		const char *keyword = attr->values [i].string.text;
++		const char *keyword = ippGetString (attr, i, NULL);
+ 
+ 		reason = g_new (GnomeCupsPrinterReason, 1);
+ 
+@@ -224,8 +252,8 @@ gnome_cups_printer_get_info (GnomeCupsPrinter *printer)
+ 	return printer->details->info;
+ }
+ 
+-#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if ((v) != attr->values[0].integer) { changed = TRUE; } (v) = attr->values[0].integer; }}
+-#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if (!v || strcmp (v, attr->values[0].string.text)) { g_free (v); changed = TRUE; (v) = g_strdup (attr->values[0].string.text); }}}
++#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if ((v) != ippGetInteger (attr, 0)) { changed = TRUE; } (v) = ippGetInteger (attr, 0); }}
++#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if (!v || strcmp (v, ippGetString (attr, 0, NULL))) { g_free (v); changed = TRUE; (v) = g_strdup (ippGetString (attr, 0, NULL)); }}}
+ 
+ static void
+ attributes_update_cb (guint id,
+@@ -243,14 +271,14 @@ attributes_update_cb (guint id,
+ 	changed = FALSE;
+ 
+ 	if (!error && response) {
+-		for (attr = response->attrs; attr != NULL; attr = attr->next) {
+-			if (!attr->name) {
++		for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
++			if (!ippGetName (attr)) {
+ 				continue;
+ 			} 
+-			if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !strcmp (attr->name, "attributes-charset")) {
++			if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !strcmp (ippGetName (attr), "attributes-charset")) {
+ 				continue;
+ 			}
+-			if (!g_ascii_strcasecmp (attr->name, "printer-state-reasons")) {
++			if (!g_ascii_strcasecmp (ippGetName (attr), "printer-state-reasons")) {
+ 				map_reasons (printer, attr);
+ 			}
+ 			MAP_INT (printer->details->state, "printer-state");
+@@ -570,7 +598,7 @@ get_default (void)
+ 	
+ 	attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
+ 	if (attr) {
+-		name = g_strdup (attr->values[0].string.text);
++		name = g_strdup (ippGetString (attr, 0, NULL));
+ 	} else {
+ 		name = NULL;
+ 	}
+@@ -698,7 +726,7 @@ get_printer_names (void)
+ 	attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
+ 	while (attr) {
+ 		ret = g_list_prepend (ret, 
+-				      g_strdup (attr->values[0].string.text));
++				      g_strdup (ippGetString (attr, 0, NULL)));
+ 		
+ 		attr = ippFindNextAttribute (response, 
+ 					     "printer-name", 
+diff --git a/libgnomecups/gnome-cups-queue.c b/libgnomecups/gnome-cups-queue.c
+index 9f98ed9..298db42 100644
+--- a/libgnomecups/gnome-cups-queue.c
++++ b/libgnomecups/gnome-cups-queue.c
+@@ -15,6 +15,33 @@
+ 
+ #define UPDATE_TIMEOUT 3000
+ 
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetName(attr)      attr->name
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t *
++ippFirstAttribute(ipp_t *ipp)
++{
++  if (!ipp)
++    return (NULL);
++  return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t *
++ippNextAttribute(ipp_t *ipp)
++{
++  if (!ipp || !ipp->current)
++    return (NULL);
++  return (ipp->current = ipp->current->next);
++}
++#endif
++
++
+ struct _GnomeCupsQueueDetails {
+ 	char *queue_name;
+ 	GList *jobs;
+@@ -199,8 +226,8 @@ finish_job (GnomeCupsJob *job)
+ 	job->size = job->size * 1024;
+ }
+ 
+-#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (attr->values[0].string.text);}}
+-#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { (dest) = attr->values[0].integer; } }
++#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (ippGetString (attr, 0, NULL));}}
++#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { (dest) = ippGetInteger (attr, 0); } }
+ 
+ static void
+ get_jobs_cb (guint id,
+@@ -231,8 +258,8 @@ get_jobs_cb (guint id,
+ 	
+ 	if (response) {
+ 		job = g_new0 (GnomeCupsJob, 1);
+-		for (attr = response->attrs; attr != NULL; attr = attr->next) {
+-			if (attr->name == NULL) {
++		for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
++			if (ippGetName (attr) == NULL) {
+ 				if (job->name) {
+ 					finish_job (job);
+ 					jobs = g_list_prepend (jobs, job);	
+@@ -244,7 +271,7 @@ get_jobs_cb (guint id,
+ 				continue;
+ 			}
+ 			
+-			if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
++			if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
+ 				continue;
+ 				
+ 			}
+@@ -355,8 +382,8 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
+ 
+ 	if (response) {
+ 		job = g_new0 (GnomeCupsJob, 1);
+-		for (attr = response->attrs; attr != NULL; attr = attr->next) {
+-			if (attr->name == NULL) {
++		for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
++			if (ippGetName (attr) == NULL) {
+ 				if (job->name) {
+ 					finish_job (job);
+ 				} else {
+@@ -366,7 +393,7 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
+ 				break;
+ 			}
+ 			
+-			if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
++			if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
+ 				continue;
+ 			}
+ 			
+diff --git a/libgnomecups/gnome-cups-request.c b/libgnomecups/gnome-cups-request.c
+index c94f623..13f0948 100644
+--- a/libgnomecups/gnome-cups-request.c
++++ b/libgnomecups/gnome-cups-request.c
+@@ -19,6 +19,36 @@
+ #define STOP_UNUSED_THREADS_TIMEOUT 60
+ #define CLOSE_UNUSED_CONNECTIONS_TIMEOUT 30
+ 
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetCount(attr)     attr->num_values
++#define ippGetValueTag(attr)  attr->value_tag
++#define ippGetName(attr)      attr->name
++#define ippGetBoolean(attr, element) attr->values[element].boolean
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t *
++ippFirstAttribute(ipp_t *ipp)
++{
++  if (!ipp)
++    return (NULL);
++  return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t *
++ippNextAttribute(ipp_t *ipp)
++{
++  if (!ipp || !ipp->current)
++    return (NULL);
++  return (ipp->current = ipp->current->next);
++}
++#endif
++
++
+ typedef struct
+ {
+ 	GMutex *mutex;
+@@ -276,14 +306,14 @@ dump_request (ipp_t const *req)
+ 	unsigned i;
+ 	ipp_attribute_t *attr;
+ 
+-	for (attr = req->attrs; attr != NULL; attr = attr->next) {
+-		g_print ("%s", attr->name);
+-		for (i = 0 ; i < attr->num_values ; i++) {
++	for (attr = ippFirstAttribute (req); attr != NULL; attr = ippNextAttribute (req)) {
++		g_print ("%s", ippGetName (attr));
++		for (i = 0 ; i < ippGetCount (attr) ; i++) {
+ 			g_print ("\t[%d] = ", i);
+-			switch (attr->value_tag & ~IPP_TAG_COPY) {
++			switch (ippGetValueTag (attr) & ~IPP_TAG_COPY) {
+ 			case IPP_TAG_INTEGER:
+ 			case IPP_TAG_ENUM:
+-				g_print ("%d\n", attr->values[i].integer);
++				g_print ("%d\n", ippGetInteger (attr, i));
+ 				break;
+ 
+ 			case IPP_TAG_STRING:
+@@ -294,11 +324,11 @@ dump_request (ipp_t const *req)
+ 			case IPP_TAG_CHARSET:
+ 			case IPP_TAG_LANGUAGE:
+ 			case IPP_TAG_MIMETYPE:
+-				g_print ("'%s'\n", attr->values[i].string.text);
++				g_print ("'%s'\n", ippGetString (attr, i, NULL));
+ 				break;
+ 
+ 			case IPP_TAG_BOOLEAN:
+-				g_print ("%s\n", (int)attr->values[i].boolean ? "true" : "false");
++				g_print ("%s\n", (int)ippGetBoolean (attr, i) ? "true" : "false");
+ 				break;
+ 
+ 			default:
+-- 
+1.7.8.6
+
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
index 9a0afd1275d..2aa47d799c9 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0a8xdaxzz2wc0n1fjcav65093gixzyac3948l8cxx1mk884yhc71";
   };
 
-  patches = [ ./glib.patch ];
+  patches = [ ./glib.patch ./cups_1.6.patch ];
 
   buildInputs = [ pkgconfig gtk gettext intltool libart_lgpl ];
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
index 125a4507275..d230d19d588 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurlGnome, pkgconfig, libxml2, xlibs, glib, pango
+{ stdenv, fetchurl, pkgconfig, libxml2, xlibs, glib, pango
 , intltool, libgnome, libgnomecanvas, libbonoboui, GConf, libtool
 , gnome_vfs, libgnome_keyring, libglade }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
-  
-  src = fetchurlGnome {
-    project = "libgnomeui";
-    major = "2"; minor = "24"; patchlevel = "5";
+  name = "libgnomeui-${minVer}.5";
+  minVer = "2.24";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgnomeui/${minVer}/${name}.tar.bz2";
     sha256 = "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf";
   };
-  
+
   nativeBuildInputs = [ pkgconfig intltool ];
   buildInputs =
     [ xlibs.xlibs libxml2 GConf pango glib libgnome_keyring libglade libtool ];
diff --git a/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix
deleted file mode 100644
index ef460112d21..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, glib
-, hicolor_icon_theme, makeWrapper, itstool
-, clutter_gtk, libuuid, webkitgtk, zeitgeist
-, gnome3, librsvg, gdk_pixbuf, libxml2 }:
-
-stdenv.mkDerivation rec {
-  name = "bijiben-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/bijiben/3.10/${name}.tar.xz";
-    sha256 = "81257f85218968b0ad386da6e1143586de478870ca74bb5387646a479999a7d4";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig glib intltool itstool libxml2
-                  clutter_gtk libuuid webkitgtk gnome3.tracker
-                  gnome3.gnome_online_accounts zeitgeist
-                  gnome3.gsettings_desktop_schemas makeWrapper
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/bijiben" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Bijiben;
-    description = "Note editor designed to remain simple to use";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix
deleted file mode 100644
index ee62c951b4c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify
-, makeWrapper, itstool, shared_mime_info, libical, db
-, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
-, libcanberra_gtk3, bogofilter, gst_all_1, procps }:
-
-stdenv.mkDerivation rec {
-  name = "evolution-3.10.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/evolution/3.10/${name}.tar.xz";
-    sha256 = "ac60557f264f211e6a7bc0ced919041c154e4c7b9c79600516aee7acc1d03e40";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu
-                  gnome3.evolution_data_server libsecret libical
-                  webkitgtk shared_mime_info gnome3.gnome_desktop
-                  libcanberra_gtk3 gnome3.gtkhtml bogofilter gnome3.libgdata
-                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  nss nspr libnotify procps highlight gnome3.libgweather
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
-
-  configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ];
-
-  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss";
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/evolution" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Evolution;
-    description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.lgpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix
deleted file mode 100644
index e13e169ccc5..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
-, attr, bzip2, acl, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "file-roller-${version}";
-
-  majVersion = "3.10";
-  version = "${majVersion}.2.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/file-roller/${majVersion}/${name}.tar.xz";
-    sha256 = "14374z1yfbjlgpl4k1ih8b35x8kzvh99y22rwwkc2wfz0d0i1qgx";
-  };
-
-  # TODO: support nautilus
-  # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
-
-  buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
-                  attr bzip2 acl makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/file-roller" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
deleted file mode 100644
index 6b9a69c738d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl, enchant, isocodes
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libsoup, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
-  name = "gedit-3.10.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gedit/3.10/${name}.tar.xz";
-    sha256 = "40dc10b6e26fd8523087e7321a20a063f4c1e586dffd7ce8ee78eead11359f9e";
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg libsoup
-                  gnome3.libpeas gnome3.gtksourceview libxml2
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  gnome3.gsettings_desktop_schemas makeWrapper file ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/gedit" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Gedit;
-    description = "Official text editor of the GNOME desktop environment";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix
deleted file mode 100644
index 5979d10fa70..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, intltool, fetchurl, python
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, libxml2, docbook_xsl
-, gnome3, librsvg, gdk_pixbuf, libxslt }:
-
-stdenv.mkDerivation rec {
-  name = "glade-3.16.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/glade/3.16/${name}.tar.xz";
-    sha256 = "994ac258bc100d3907ed40a2880c3144f13997b324477253e812d59f2716523f";
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python
-                  gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg libxslt
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/glade" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Glade;
-    description = "User interface designer for GTK+ applications";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.lgpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix
deleted file mode 100644
index c39f731e028..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, intltool, fetchurl, libgweather, libnotify
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, libcanberra_gtk3, libtool
-, gnome3, librsvg, gdk_pixbuf, geoclue2 }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-clocks-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-clocks/3.10/${name}.tar.xz";
-    sha256 = "5f6f3b7bb9929353d974aa444b10bb4d0f414176449cce2c626fabd2d4b55b43";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
-                  gnome3.gsettings_desktop_schemas makeWrapper
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                  gnome3.gnome_desktop gnome3.geocode_glib geoclue2
-                  libgweather libnotify libtool
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-clocks" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Clocks;
-    description = "Clock application designed for GNOME 3";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
deleted file mode 100644
index a8c84d6a769..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, intltool, fetchurl, evince, gjs
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, libxslt, webkitgtk
-, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
-, gobjectIntrospection, json_glib
-, gmp, desktop_file_utils }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-documents-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-documents/3.10/${name}.tar.xz";
-    sha256 = "2b7267c9c4e5767039632cb31877ed2e57f994b657e8863dd79af5287db45745";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt
-                  docbook_xsl desktop_file_utils
-                  gnome3.gsettings_desktop_schemas makeWrapper gmp
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg evince
-                  libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
-                  gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts
-                  gnome3.gnome_desktop gnome3.libzapojit json_glib
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
-    wrapProgram "$out/bin/gnome-documents" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-      --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"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Documents;
-    description = "Document manager application designed to work with GNOME 3";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
deleted file mode 100644
index 31d521e8c30..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker
-, python3, libxml2, python3Packages, libnotify
-, pkgconfig, gtk3, glib, hicolor_icon_theme, cairo
-, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-music-3.10.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-music/3.10/${name}.tar.xz";
-    sha256 = "64220d4c0f9115a6ed27ec99c7ec7afc065d12e5a32371936f303ef981f5325f";
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg python3
-                  gnome3.grilo libxml2 python3Packages.pygobject3 libnotify
-                  python3Packages.pycairo python3Packages.dbus
-                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
-                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  gnome3.gsettings_desktop_schemas makeWrapper tracker ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-music" \
-      --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 GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
-      --prefix PYTHONPATH : "$PYTHONPATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Music;
-    description = "Music player and management application for the GNOME desktop environment";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix
deleted file mode 100644
index 68d4e3690f9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, intltool, fetchurl, exempi, libxml2
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, gegl, babl, lcms2
-, desktop_file_utils, gmp
-, gnome3, librsvg, gdk_pixbuf, libexif }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-photos-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-photos/3.10/${name}.tar.xz";
-    sha256 = "820503c26a0f829682dd46653e8f0850ac687aba42728ac74350ba8406e80975";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl
-                  gnome3.gsettings_desktop_schemas makeWrapper gmp
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg exempi
-                  gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
-                  gnome3.gnome_online_accounts gnome3.gnome_desktop
-                  lcms2 libexif gnome3.tracker libxml2 desktop_file_utils
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-photos" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  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";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
deleted file mode 100644
index 5a85e00e4e4..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
-, gobjectIntrospection, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "nautilus-sendto-${version}";
-
-  version = "3.8.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
-    sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
-  };
-
-  buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ];
-
-  meta = with stdenv.lib; {
-    description = "Integrates Evolution and Pidgin into the Nautilus file manager";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix
deleted file mode 100644
index cecc4a8913d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, makeWrapper, itstool, gnupg, libsoup
-, gnome3, librsvg, gdk_pixbuf, gpgme
-, libsecret, avahi, p11_kit }:
-
-stdenv.mkDerivation rec {
-  name = "seahorse-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/seahorse/3.10/${name}.tar.xz";
-    sha256 = "89cabf19f77a55f220bc61a3b97e4db845a0980f0f1d9c66147cc9a4ced8cd16";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr
-                  gnome3.gsettings_desktop_schemas makeWrapper gnupg
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme
-                  libsecret avahi libsoup p11_kit
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/seahorse" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Seahorse;
-    description = "Application for managing encryption keys and passwords in the GnomeKeyring";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix
deleted file mode 100644
index 9381f45105d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, intltool, fetchurl, vala, libgtop
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
-  name = "baobab-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/baobab/3.10/${name}.tar.xz";
-    sha256 = "23ce8e4847ce5f1c8230e757532d94c84e6e273d6ec8fca20eecaed5f96563f9";
-  };
-
-  configureFlags = [ "--disable-static" ];
-
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2
-                  gnome3.gsettings_desktop_schemas makeWrapper file ];
-
-  preFixup = ''
-    rm $out/share/icons/hicolor/icon-theme.cache
-    rm $out/share/icons/HighContrast/icon-theme.cache
-    wrapProgram "$out/bin/baobab" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Baobab;
-    description = "Graphical application to analyse disk usage in any Gnome environment";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix b/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix
deleted file mode 100644
index ba5dc7e7b90..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2
-, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core }:
-
-
-stdenv.mkDerivation rec {
-  name = "caribou-0.4.12";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/caribou/0.4/${name}.tar.xz";
-    sha256 = "0235sws58rg0kadxbp2nq5ha76zmhd4mr10n9qlbryf8p78qsvii";
-  };
-
-  buildInputs = with gnome3;
-    [ glib pkgconfig gtk clutter at_spi2_core dbus pythonPackages.python pythonPackages.pygobject3
-      libxml2 libXtst gtk2 intltool libxslt ];
-
-  propagatedBuildInputs = [ gnome3.libgee libxklavier ];
-
-  preBuild = ''
-    patchShebangs .
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
deleted file mode 100644
index b284186fa82..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
-, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "dconf-${version}";
-  version = "0.20.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/dconf/0.20/${name}.tar.xz";
-    sha256 = "22c046a247d05ea65ad181e3aef4009c898a5531f76c0181f8ec0dfef83447d9";
-  };
-
-  buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
-                  intltool docbook_xsl docbook_xsl_ns makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/dconf-editor" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-
-    rm $out/lib/gio/modules/giomodule.cache
-    rm $out/share/icons/hicolor/icon-theme.cache
-    rm $out/share/icons/HighContrast/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Projects/dconf;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix
deleted file mode 100644
index 051bc9b7fb2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
-, dbus_glib, dbus_libs, telepathy_glib, telepathy_farstream
-, clutter_gtk, clutter-gst, gst_all_1, cogl, gnome_online_accounts
-, gcr, libsecret, folks, pulseaudio, telepathy_mission_control
-, telepathy_logger, libnotify, clutter, libsoup, gnutls
-, evolution_data_server
-, libcanberra_gtk3, p11_kit, farstream, libtool, shared_mime_info
-, bash, makeWrapper, itstool, libxml2, libxslt, icu, libgee  }:
-
-# TODO: enable more features
-
-stdenv.mkDerivation rec {
-  name = "empathy-3.10.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/empathy/3.10/${name}.tar.xz";
-    sha256 = "49366acdd3c3ef9a74f63eb09920803c4c9df83056acbf8a7899e7890a9fb196";
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
-                            gnome3.gnome_icon_theme hicolor_icon_theme
-                            gnome_online_accounts shared_mime_info
-                            gnome3.gnome_icon_theme_symbolic ];
-  propagatedBuildInputs = [ folks telepathy_logger evolution_data_server
-                            telepathy_mission_control ];
-  buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
-                  libxml2 libxslt icu file makeWrapper
-                  telepathy_glib clutter_gtk clutter-gst cogl
-                  gst_all_1.gstreamer gst_all_1.gst-plugins-base
-                  gcr libsecret pulseaudio gnome3.yelp_xsl gdk_pixbuf
-                  libnotify clutter libsoup gnutls libgee p11_kit
-                  libcanberra_gtk3 telepathy_farstream farstream
-                  gnome3.gsettings_desktop_schemas file libtool librsvg ];
-
-  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
-                         "-I${dbus_libs}/include/dbus-1.0"
-                         "-I${dbus_libs}/lib/dbus-1.0/include" ];
-
-  preFixup = ''
-    for f in $out/bin/* $out/libexec/*; do
-      wrapProgram $f \
-        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    done
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Empathy;
-    description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols";
-    maintainers = with maintainers; [ lethalman ];
-    # TODO: license = [ licenses.gpl2 licenses.lgpl2 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/eog/default.nix b/pkgs/desktops/gnome-3/3.10/core/eog/default.nix
deleted file mode 100644
index 57f19dcaa32..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/eog/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
-, shared_mime_info, makeWrapper, librsvg, libexif }:
-
-
-stdenv.mkDerivation rec {
-  name = "eog-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/eog/3.10/${name}.tar.xz";
-    sha256 = "0qs7wmn987vd0cw8w16gmb0bnda3nkcwfg1q343l4rm6kih9ik2w";
-  };
-
-  buildInputs = with gnome3;
-    [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg
-      gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/eog" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/EyeOfGnome; 
-    platforms = platforms.linux;
-    description = "GNOME image viewer";
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix
deleted file mode 100644
index 9df3a7ed01e..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
-, bash, makeWrapper, gnome3, libwnck3, libxml2, libxslt, libtool
-, webkitgtk, libsoup, libsecret, gnome_desktop, libnotify, p11_kit
-, sqlite, gcr, avahi, nss, isocodes, itstool, file
-, hicolor_icon_theme, gdk_pixbuf, librsvg }:
-
-stdenv.mkDerivation rec {
-  name = "epiphany-3.10.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/epiphany/3.10/${name}.tar.xz";
-    sha256 = "c18235ecceaa9c76e7d90d370861cb2bba45019e1e14391a00dac3d2e94a0db7";
-  };
-
-  # Tests need an X display
-  configureFlags = [ "--disable-static --disable-tests" ];
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  nativeBuildInputs = [ pkgconfig file ];
-
-  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-
-  buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt pkgconfig file 
-                  webkitgtk libsoup libsecret gnome_desktop libnotify libtool
-                  sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
-                  gcr avahi gnome3.gsettings_desktop_schemas makeWrapper ];
-
-  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss";
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/epiphany" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Epiphany;
-    description = "WebKit based web browser for GNOME";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/evince/default.nix b/pkgs/desktops/gnome-3/3.10/core/evince/default.nix
deleted file mode 100644
index 76cfacb0d77..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/evince/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
-, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
-, poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
-, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
-, gobjectIntrospection
-}:
-
-stdenv.mkDerivation rec {
-  name = "evince-3.10.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/evince/3.10/${name}.tar.xz";
-    sha256 = "1bz9ypsvlfw1vgs7i5glba1h1n6c90f0d1g64linhg6xjcxcq3dk";
-  };
-
-  buildInputs = [
-    pkgconfig intltool perl perlXMLParser libxml2
-    glib gtk3 pango atk gdk_pixbuf gobjectIntrospection
-    itstool gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
-    gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
-    poppler ghostscriptX djvulibre libspectre
-    makeWrapper libsecret librsvg
-  ];
-
-  configureFlags = [
-    "--disable-nautilus" # Do not use nautilus
-    "--enable-introspection"
-  ];
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  preConfigure = with stdenv.lib;
-    optionalString doCheck ''
-      for file in test/*.py; do
-        echo "patching $file"
-        sed '1s,/usr,${python},' -i "$file"
-      done
-    '' + optionalString (recentListSize != null) ''
-      sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
-      sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
-    '';
-
-  preFixup = ''
-    # Tell Glib/GIO about the MIME info directory, which is used
-    # by `g_file_info_get_content_type ()'.
-    wrapProgram "$out/bin/evince" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  doCheck = false; # would need pythonPackages.dogTail, which is missing
-
-  meta = with stdenv.lib; {
-    homepage = http://www.gnome.org/projects/evince/;
-    description = "GNOME's document viewer";
-
-    longDescription = ''
-      Evince is a document viewer for multiple document formats.  It
-      currently supports PDF, PostScript, DjVu, TIFF and DVI.  The goal
-      of Evince is to replace the multiple document viewers that exist
-      on the GNOME Desktop with a single simple application.
-    '';
-
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.vcunat ];
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix
deleted file mode 100644
index 685f8c24e7c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, python, intltool, libsoup, libxml2, libsecret
-, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }:
-
-
-stdenv.mkDerivation rec {
-  name = "evolution-data-server-3.10.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/evolution-data-server/3.10/${name}.tar.xz";
-    sha256 = "5c2d5e19af19ecfa81f31306411ab6155c3c62cf407d5a5aaa675a8ce940fa2d";
-  };
-
-  buildInputs = with gnome3;
-    [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts libsecret
-      gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper ]
-    ++ stdenv.lib.optional valaSupport vala;
-
-  # uoa irrelevant for now
-  configureFlags = ["--disable-uoa" "--with-nspr-includes=${nspr}/include/nspr" "--with-nss-includes=${nss}/include/nss"]
-                   ++ stdenv.lib.optional valaSupport "--enable-vala-bindings";
-
-  preFixup = ''
-    for f in "$out/libexec/evolution-addressbook-factory" "$out/libexec/evolution-calendar-factory"; do
-      wrapProgram $f --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/folks/default.nix b/pkgs/desktops/gnome-3/3.10/core/folks/default.nix
deleted file mode 100644
index 47b958002a3..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/folks/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
-, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
-, telepathy_glib, evolution_data_server, libsecret, db }:
-
-# TODO: enable more folks backends
-
-stdenv.mkDerivation rec {
-  name = "folks-0.9.6";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz";
-    sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f";
-  };
-
-  propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
-  # dbus_daemon needed for tests
-  buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
-                  vala libsecret libxml2 libsoup nspr nss intltool db ];
-  nativeBuildInputs = [ pkgconfig ];
-
-  configureFlags = "--disable-fatal-warnings";
-
-  NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss"
-                        "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"];
-
-  enableParallelBuilding = true;
-
-  postBuild = "rm -rf $out/share/gtk-doc";
-
-  meta = {
-    description = "Folks";
-
-    homepage = https://wiki.gnome.org/Projects/Folks;
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-
-    maintainers = with stdenv.lib.maintainers; [ lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix
deleted file mode 100644
index 47dae0486e9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, gnome3, glib, libxml2
-, intltool, polkit, orbit }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.2";
-  versionMinor = "6";
-  moduleName   = "GConf";
-
-  origName = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  name = "gconf-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
-    sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
-  };
-
-  buildInputs = [ libxml2 polkit gnome3.gtk orbit ];
-  propagatedBuildInputs = [ glib dbus_glib  ];
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  # ToDo: ldap reported as not found but afterwards reported as supported
-
-  meta = with stdenv.lib; {
-    homepage = http://projects.gnome.org/gconf/;
-    description = "A system for storing application preferences";
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix
deleted file mode 100644
index a1fdd471282..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
-, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
-, gobjectIntrospection, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "gcr-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gcr/3.10/${name}.tar.xz";
-    sha256 = "0nv470a8cvw4rw49hf5aqvll1rpkacmsr3pj8s1l205yaid4yvq0";
-  };
-
-  buildInputs = [
-    pkgconfig intltool gnupg p11_kit glib gobjectIntrospection
-    libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper
-  ];
-
-  #doCheck = true;
-
-  preFixup = ''
-    wrapProgram "$out/bin/gcr-viewer" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
deleted file mode 100644
index 5e53a7e86cb..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
-, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
-  name = "gdm-3.10.0.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gdm/3.10/${name}.tar.xz";
-    sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
-  };
-
-  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice
-                  gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix
deleted file mode 100644
index d3b21bef167..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, libsoup, json_glib }:
-
-
-stdenv.mkDerivation rec {
-  name = "geocode-glib-3.10.0";
-
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/geocode-glib/3.10/${name}.tar.xz";
-    sha256 = "0dx6v9n4dsskcy6630s77cyb32xlykdall0d555976warycc3v8a";
-  };
-
-  buildInputs = with gnome3;
-    [ intltool pkgconfig glib libsoup json_glib ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix
deleted file mode 100644
index 429d147e728..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, gobjectIntrospection, spidermonkey_17, pango }:
-
-
-stdenv.mkDerivation rec {
-  name = "gjs-1.38.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gjs/1.38/${name}.tar.xz";
-    sha256 = "0xl1zc5ncaxqs5ww5j82rzqrg429l8pdapqclxiba7dxwyh6a83b";
-  };
-
-  buildInputs = with gnome3;
-    [ gobjectIntrospection pkgconfig glib pango ];
-
-  propagatedBuildInputs = [ spidermonkey_17 ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix
deleted file mode 100644
index 3879b81859a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-backgrounds-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-backgrounds/3.10/${name}.tar.xz";
-    sha256 = "11rv03m4hznpx0brf47hil04199z3jjvl1aq7q0lnill3yrffiyc";
-  };
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix
deleted file mode 100644
index 205961a9171..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, libxml2
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-calculator-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-calculator/3.10/${name}.tar.xz";
-    sha256 = "0gkddnk9x76895xrz0ps4yny36w62fhi459gwmxqqb9kx5934n1f";
-  };
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
-                  libxml2 gnome3.gtksourceview
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-calculator" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Apps/Calculator;
-    description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix
deleted file mode 100644
index 12b2510dc43..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, which, autoconf, automake }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-common-3.10.0";
-
-  src = fetchurl {
-    url = "https://download.gnome.org/sources/gnome-common/3.10/${name}.tar.xz";
-    sha256 = "aed69474a671e046523827f73ba5e936d57235b661db97900db7356e1e03b0a3";
-  };
-
-  patches = [(fetchurl {
-    url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935";
-    sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl";
-  })];
-
-  propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome_common tends to require which
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch
deleted file mode 100644
index 926762defbd..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.ac.orig	2014-04-08 10:25:49.497620879 +0200
-+++ configure.ac	2014-04-08 10:26:36.639440950 +0200
-@@ -43,6 +43,7 @@
- 	     folks-telepathy
- 	     folks-eds
- 	     libnotify
-+	     dbus-glib-1
- 	     telepathy-glib >= 0.17.5
- 	     libebook-1.2 >= 3.5.3
- 	     libedataserver-1.2 >= 3.5.3
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix
deleted file mode 100644
index f8059f952e6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, intltool, fetchurl, evolution_data_server, db
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret
-, bash, makeWrapper, itstool, folks, libnotify, libxml2
-, gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
-, libsoup, vala, dbus_glib, automake114x, autoconf }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-contacts-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-contacts/3.10/${name}.tar.xz";
-    sha256 = "e119c32bb10136e7190f11f79334fa82ed56468cff5bb7836da0ebf7b572779b";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard evolution_data_server ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  # force build from vala
-  preBuild = ''
-   touch src/*.vala
-  '';
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool evolution_data_server
-                  gnome3.gsettings_desktop_schemas makeWrapper file libnotify
-                  folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib
-                  libxml2 libsoup gnome3.gnome_online_accounts nspr nss
-                  vala automake114x autoconf db ];
-
-  preFixup = ''
-    for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do
-      wrapProgram $f \
-        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-        --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    done
-  '';
-
-  patches = [ ./configure_dbus_glib.patch ./fix_row_selected.patch ];
-
-  patchFlags = "-p0";
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Contacts;
-    description = "Contacts is GNOME's integrated address book";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch
deleted file mode 100644
index b379b4b8ee9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/contacts-view.vala.orig	2014-04-08 11:35:36.302252460 +0200
-+++ src/contacts-view.vala	2014-04-08 11:37:37.045343221 +0200
-@@ -265,7 +265,7 @@
-     data.destroy ();
-   }
- 
--  public override void row_selected (ListBoxRow row) {
-+  public override void row_selected (ListBoxRow? row) {
-     var data = row as ContactDataRow;
-     var contact = data != null ? data.contact : null;
-     selection_changed (contact);
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
deleted file mode 100644
index 4e472514348..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
-, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
-, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
-, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
-, cracklib, python, krb5, networkmanagerapplet, networkmanager
-, libwacom, samba, shared_mime_info, tzdata, icu, libtool
-, docbook_xsl, docbook_xsl_ns, modemmanager }:
-
-# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules
-# TODO: bluetooth, wacom, smbclient, printers
-
-stdenv.mkDerivation rec {
-  name = "gnome-control-center-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-control-center/3.10/${name}.tar.xz";
-    sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn";
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard gnome3.libgnomekbd ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  enableParallelBuilding = true;
-
-  buildInputs = with gnome3;
-    [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
-      libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
-      gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
-      accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
-      shared_mime_info icu libtool docbook_xsl docbook_xsl_ns 
-      networkmanager modemmanager makeWrapper  ];
-
-  preBuild = ''
-    substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
-    substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
-
-    # hack to make test-endianess happy
-    mkdir -p $out/share/locale
-    substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/"
-  '';
-
-  preFixup = with gnome3; ''
-    wrapProgram $out/bin/gnome-control-center \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    for i in $out/share/applications/*; do
-      substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center"
-    done
-
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  patches = [ ./search_providers_dir.patch ];
-
-  meta = with stdenv.lib; {
-    description = "Single sign-on framework for GNOME";
-    maintainers = with maintainers; [ lethalman ];
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch
deleted file mode 100644
index 7f5ad970f34..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/panels/search/cc-search-panel.c b/panels/search/cc-search-panel.c
-index d08e230..3bff4ad 100644
---- a/panels/search/cc-search-panel.c
-+++ b/panels/search/cc-search-panel.c
-@@ -574,7 +574,11 @@ populate_search_providers (CcSearchPanel *self)
- {
-   GFile *providers_location;
- 
--  providers_location = g_file_new_for_path (DATADIR "/gnome-shell/search-providers");
-+  const gchar* search_providers_dir = g_getenv ("GNOME_SEARCH_PROVIDERS_DIR");
-+  if (search_providers_dir == NULL) {
-+    search_providers_dir = DATADIR "/gnome-shell/search-providers";
-+  }
-+  providers_location = g_file_new_for_path (search_providers_dir);
-   g_file_enumerate_children_async (providers_location,
-                                    "standard::type,standard::name,standard::content-type",
-                                    G_FILE_QUERY_INFO_NONE,
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix
deleted file mode 100644
index 584705d658e..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
-, intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
-, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
-
-  majorVersion = "3.10";
-  minorVersion = "1";
-  name = "gnome-desktop-${majorVersion}.${minorVersion}";
-
-  # this should probably be setuphook for glib
-  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
-
-  enableParallelBuilding = true;
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
-    sha256 = "0hdvm909lbpnixqv11qdx9iaycx4dpxys46fa128bqp8alisgb0h";
-  };
-
-  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland
-                  gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix
deleted file mode 100644
index 6f68916b781..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-dictionary-3.10.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz";
-    sha256 = "258b60fe50f7d0580a7dc3bb83f7fe2f6f0597d4013d97ac083c3f062c350ed7";
-  };
-
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 file
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-dictionary" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Dictionary;
-    description = "Dictionary is the GNOME application to look up definitions";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix
deleted file mode 100644
index 334471c2943..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper, cracklib, libnotify
-, itstool, gnome3, librsvg, gdk_pixbuf, libxml2, python
-, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-disk-utility-3.10.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-disk-utility/3.10/${name}.tar.xz";
-    sha256 = "1amqi2bribxn8r8k8mvxh3710rmdll9963smf0v59v0iwxi3mqil";
-  };
-
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme
-                            librsvg udisks2 gnome3.gnome_settings_daemon
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
-                  libxslt libtool libsecret libpwquality cracklib
-                  libnotify libdvdread libcanberra_gtk3 docbook_xsl
-                  gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-disks" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://en.wikipedia.org/wiki/GNOME_Disks;
-    description = "A udisks graphical front-end";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix
deleted file mode 100644
index cba651ca36a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool
-, gnome3, librsvg, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-font-viewer-3.10.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-font-viewer/3.10/${name}.tar.xz";
-    sha256 = "3928350f58ac6c95f44b64cba1a5f03437b19d9b2645a7b01176067504fdd652";
-  };
-
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-font-viewer" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Program that can preview fonts and create thumbnails for fonts";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix
deleted file mode 100644
index feb3d84b994..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, iconnamingutils, gtk }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-icon-theme-symbolic-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-icon-theme-symbolic/3.10/${name}.tar.xz";
-    sha256 = "344e88e5f9dac3184bf012d9bac972110df2133b93d76f2ad128d4c9cbf41412";
-  };
-
-  configureFlags = "--enable-icon-mapping";
-
-  # Avoid postinstall make hooks
-  installPhase = ''
-    make install-exec-am install-data-local install-pkgconfigDATA
-    make -C src install
-  '';
-
-  buildInputs = [ pkgconfig iconnamingutils gtk gnome3.gnome_icon_theme ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix
deleted file mode 100644
index 5b16f827ae0..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-icon-theme-3.10.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-icon-theme/3.10/${name}.tar.xz";
-    sha256 = "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66";
-  };
-
-  setupHook = ./setup-hook.sh;
-
-  nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh
deleted file mode 100644
index d7156f3d463..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-make_gtk_applications_find_icon_themes() {
-
-    # where to find icon themes
-    if [ -d "$1/share/icons" ]; then
-      addToSearchPath XDG_ICON_DIRS $1/share
-    fi
-	
-}
-
-envHooks+=(make_gtk_applications_find_icon_themes)
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix
deleted file mode 100644
index dbb8da93c6c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt
-, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper
-, docbook_xsl_ns, docbook_xsl, gnome3 }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-keyring-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-keyring/3.10/${name}.tar.xz";
-    sha256 = "1y6v2p14jx5h6yh14c53pd8r0r5zbmcgw8v4nxvf94kd9jliy00q";
-  };
-
-  buildInputs = with gnome3; [
-    dbus libgcrypt pam python gtk3 gconf libgnome_keyring
-    pango gcr gdk_pixbuf atk p11_kit makeWrapper
-  ];
-
-  propagatedBuildInputs = [ glib libtasn1 libxslt ];
-
-  nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
-
-  configureFlags = [
-    "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path
-    "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
-    "--with-pkcs11-modules=$$out/lib/pkcs11/"
-  ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-keyring" \
-      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    wrapProgram "$out/bin/gnome-keyring-daemon" \
-      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix
deleted file mode 100644
index 37d2ea1c086..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-menus-${version}";
-  version = "3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-menus/3.10/${name}.tar.xz";
-    sha256 = "0wcacs1vk3pld8wvrwq7fdrm11i56nrajkrp6j1da6jc4yx0m5a6";
-  };
-
-  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
-
-  preBuild = "patchShebangs ./scripts";
-
-  buildInputs = [ intltool pkgconfig glib gobjectIntrospection ];
-
-  meta = {
-    homepage = "http://www.gnome.org";
-    description = "Gnome menu specification";
-
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix
deleted file mode 100644
index 8c459435733..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, webkitgtk, json_glib, rest, libsecret, dbus_glib
-, telepathy_glib, intltool, dbus_libs, icu, libsoup, docbook_xsl_ns, docbook_xsl
-}:
-
-stdenv.mkDerivation rec {
-  name = "gnome-online-accounts-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-online-accounts/3.10/${name}.tar.xz";
-    sha256 = "15qvw40dmi886491s3abpidsm2lx65fhglhj99bvcdskhk0ih90b";
-  };
-
-  NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
-
-  enableParallelBuilding = true;
-
-  buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix
deleted file mode 100644
index 4c904bf40f6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2
-, libsoup, json_glib, gmp, openssl, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-online-miners-3.10.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-online-miners/3.10/${name}.tar.xz";
-    sha256 = "129807d398e7744870110e6875629b6858d289021271550569ce5afa10fe9ea8";
-  };
-
-  doCheck = true;
-
-  buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl
-                  gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins
-                  gnome3.gnome_online_accounts makeWrapper
-                  gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    for f in $out/libexec/*; do
-      wrapProgram "$f" \
-        --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners;
-    description = "A set of crawlers that go through your online content and index them locally in Tracker";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix
deleted file mode 100644
index 7b94d0f9027..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-screenshot-3.10.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-screenshot/3.10/${name}.tar.xz";
-    sha256 = "1nb56kzcj5z4hmrmxap5r53smi52ki3pc8qmhi4rymkgqswyk7bh";
-  };
-
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-screenshot" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://en.wikipedia.org/wiki/GNOME_Screenshot;
-    description = "Utility used in the GNOME desktop environment for taking screenshots";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix
deleted file mode 100644
index f999702af54..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower
-, libxslt, intltool, makeWrapper, systemd }:
-
-
-stdenv.mkDerivation rec {
-  name = "gnome-session-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-session/3.10/${name}.tar.xz";
-    sha256 = "1k59yss7r748nvr0cdjrqmx0zy26b93rfn66lsdg9fz60x77087n";
-  };
-
-  configureFlags = "--enable-systemd";
-
-  buildInputs = with gnome3;
-    [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt 
-      gnome3.gnome_settings_daemon
-      gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-session" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix
deleted file mode 100644
index 7a50b8db56f..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
-, libxkbfile, pulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit
-, geoclue2, librsvg, xf86_input_wacom, udev, libwacom, libxslt, libtool
-, docbook_xsl, docbook_xsl_ns, makeWrapper, ibus }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-settings-daemon-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-settings-daemon/3.10/${name}.tar.xz";
-    sha256 = "0r42lzlgk0w40ws4d3s7yayn6n8zqlnh5b6k88gvgv1lwk39k240";
-  };
-
-  # fatal error: gio/gunixfdlist.h: No such file or directory
-  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
-
-  buildInputs = with gnome3;
-    [ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas libnotify gnome_desktop
-      lcms2 libXtst libxkbfile pulseaudio libcanberra_gtk3 upower colord libgweather
-      polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt
-      libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ];
-
-  preFixup = ''
-    wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix PATH : "${glib}/bin" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix
deleted file mode 100644
index 00974edb1db..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, intltool, fetchurl, libgtop
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool
-, gnome3, file }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-shell-extensions-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-shell-extensions/3.10/${name}.tar.xz";
-    sha256 = "9baa9ddaf4e14cab6d4d7944d8dc009378b25f995acfd0fd72843f599cb5ae43";
-  };
-
-  doCheck = true;
-
-  buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool
-                  makeWrapper file ];
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
-    description = "Modify and extend GNOME Shell functionality and behavior";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
deleted file mode 100644
index 2b5ff4cc5a2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
-, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
-, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
-, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
-, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
-
-# 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
-
-stdenv.mkDerivation rec {
-  name = "gnome-shell-3.10.2.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-shell/3.10/${name}.tar.xz";
-    sha256 = "0k642y6h878v6mczx4z1zj4pjl7z4bvq02raxxwxkjyvyz2fv36j";
-  };
-
-  buildInputs = with gnome3;
-    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
-      libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
-      clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
-      libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
-      libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
-      at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
-
-  preBuild = ''
-    patchShebangs src/data-to-c.pl
-    substituteInPlace data/Makefile --replace " install-keysDATA" ""
-  '';
-
-  preFixup = with gnome3; ''
-    wrapProgram "$out/bin/gnome-shell" \
-      --prefix PATH : "${unzip}/bin" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
-    wrapProgram "$out/libexec/gnome-shell-calendar-server" \
-      --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  patches = [ ./fix_background_corruption.patch ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
deleted file mode 100644
index 9cb041bcce2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-commit 831bd07b0d6b7055fea8317f2cdf8fd4a408c36d
-Author: Jasper St. Pierre <jstpierre@mecheye.net>
-Date:   Thu Nov 7 17:14:47 2013 -0500
-
-    layout: Fix several issues with the background management code
-    
-    If monitor-changed fires at startup, it will destroy all of the
-    backgrounds, but since this._isStartup is true, won't recreate any
-    of them. Additionally, since _bgManagers is indexed by monitor index,
-    if the primary index is not 0, it could become a sparse array (e.g.
-    [undefined, undefined, primaryBackground]), and our for loop will
-    crash trying to access properties of undefined.
-    
-    Fix both of these issues by always creating background managers for
-    every monitor, hiding them on startup but only showing them after
-    the startup animation is complete.
-    
-    One thing we need to watch out for is that while LayoutManager is
-    constructing, Main.uiGroup / Main.layoutManager will be undefined,
-    so addBackgroundMenu will fail. Fix this by passing down the uiGroup
-    to the background menu code.
-    
-    https://bugzilla.gnome.org/show_bug.cgi?id=709313
-
-diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
-index 06e698c..dcbbb39 100644
---- a/js/ui/backgroundMenu.js
-+++ b/js/ui/backgroundMenu.js
-@@ -13,7 +13,7 @@ const BackgroundMenu = new Lang.Class({
-     Name: 'BackgroundMenu',
-     Extends: PopupMenu.PopupMenu,
- 
--    _init: function(source) {
-+    _init: function(source, layoutManager) {
-         this.parent(source, 0, St.Side.TOP);
- 
-         this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop');
-@@ -22,17 +22,17 @@ const BackgroundMenu = new Lang.Class({
- 
-         this.actor.add_style_class_name('background-menu');
- 
--        Main.uiGroup.add_actor(this.actor);
-+        layoutManager.uiGroup.add_actor(this.actor);
-         this.actor.hide();
-     }
- });
- 
--function addBackgroundMenu(actor) {
-+function addBackgroundMenu(actor, layoutManager) {
-     let cursor = new St.Bin({ opacity: 0 });
--    Main.uiGroup.add_actor(cursor);
-+    layoutManager.uiGroup.add_actor(cursor);
- 
-     actor.reactive = true;
--    actor._backgroundMenu = new BackgroundMenu(cursor);
-+    actor._backgroundMenu = new BackgroundMenu(cursor, layoutManager);
-     actor._backgroundManager = new PopupMenu.PopupMenuManager({ actor: actor });
-     actor._backgroundManager.addMenu(actor._backgroundMenu);
- 
-diff --git a/js/ui/layout.js b/js/ui/layout.js
-index 17073a6..80bae9d 100644
---- a/js/ui/layout.js
-+++ b/js/ui/layout.js
-@@ -352,26 +352,26 @@ const LayoutManager = new Lang.Class({
-         this.emit('hot-corners-changed');
-     },
- 
--    _createBackground: function(monitorIndex) {
-+    _addBackgroundMenu: function(bgManager) {
-+        BackgroundMenu.addBackgroundMenu(bgManager.background.actor, this);
-+    },
-+
-+    _createBackgroundManager: function(monitorIndex) {
-         let bgManager = new Background.BackgroundManager({ container: this._backgroundGroup,
-                                                            layoutManager: this,
-                                                            monitorIndex: monitorIndex });
--        BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
--
--        bgManager.connect('changed', Lang.bind(this, function() {
--                              BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
--                          }));
- 
--        this._bgManagers[monitorIndex] = bgManager;
-+        bgManager.connect('changed', Lang.bind(this, this._addBackgroundMenu));
-+        this._addBackgroundMenu(bgManager);
- 
--        return bgManager.background;
-+        return bgManager;
-     },
- 
--    _createSecondaryBackgrounds: function() {
-+    _showSecondaryBackgrounds: function() {
-         for (let i = 0; i < this.monitors.length; i++) {
-             if (i != this.primaryIndex) {
--                let background = this._createBackground(i);
--
-+                let background = this._bgManagers[i].background;
-+                background.actor.show();
-                 background.actor.opacity = 0;
-                 Tweener.addTween(background.actor,
-                                  { opacity: 255,
-@@ -381,10 +381,6 @@ const LayoutManager = new Lang.Class({
-         }
-     },
- 
--    _createPrimaryBackground: function() {
--        this._createBackground(this.primaryIndex);
--    },
--
-     _updateBackgrounds: function() {
-         let i;
-         for (i = 0; i < this._bgManagers.length; i++)
-@@ -395,11 +391,12 @@ const LayoutManager = new Lang.Class({
-         if (Main.sessionMode.isGreeter)
-             return;
- 
--        if (this._startingUp)
--            return;
--
-         for (let i = 0; i < this.monitors.length; i++) {
--            this._createBackground(i);
-+            let bgManager = this._createBackgroundManager(i);
-+            this._bgManagers.push(bgManager);
-+
-+            if (i != this.primaryIndex && this._startingUp)
-+                bgManager.background.actor.hide();
-         }
-     },
- 
-@@ -595,7 +592,7 @@ const LayoutManager = new Lang.Class({
-         if (Main.sessionMode.isGreeter) {
-             this.panelBox.translation_y = -this.panelBox.height;
-         } else {
--            this._createPrimaryBackground();
-+            this._updateBackgrounds();
- 
-             // We need to force an update of the regions now before we scale
-             // the UI group to get the coorect allocation for the struts.
-@@ -673,7 +670,7 @@ const LayoutManager = new Lang.Class({
-         this.keyboardBox.show();
- 
-         if (!Main.sessionMode.isGreeter) {
--            this._createSecondaryBackgrounds();
-+            this._showSecondaryBackgrounds();
-             global.window_group.remove_clip();
-         }
- 
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix
deleted file mode 100644
index cdc4b732b97..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf, libxml2 }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-system-log-3.9.90";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-system-log/3.9/${name}.tar.xz";
-    sha256 = "9eeb51982d347aa7b33703031e2c1d8084201374665425cd62199649b29a5411";
-  };
-
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool
-                  gnome3.gsettings_desktop_schemas makeWrapper libxml2 ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-system-log" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  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 = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix
deleted file mode 100644
index 91fbe67957f..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtkmm3, libxml2
-, bash, gtk3, glib, hicolor_icon_theme, makeWrapper
-, itstool, gnome3, librsvg, gdk_pixbuf, libgtop }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-system-monitor-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-system-monitor/3.10/${name}.tar.xz";
-    sha256 = "bd009e15672afe4ad3ebd7ed286cce79b9f76420fd39bc77a5826b29134b9db0";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libxml2
-                  gtkmm3 libgtop makeWrapper
-                  gnome3.gsettings_desktop_schemas ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-system-monitor" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-system-monitor/3.10/;
-    description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
deleted file mode 100644
index 1b17cbc3d78..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, gconf, libuuid
-, desktop_file_utils, itstool, makeWrapper }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.10";
-  versionMinor = "2";
-
-  name = "gnome-terminal-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
-    sha256 = "04yrk9531f373nl64jx3pczsnq7a56mj3n436jbhjp74kp12fa70";
-  };
-
-  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte
-                  gnome3.dconf gnome3.gconf itstool makeWrapper ];
-
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
-
-  preFixup = ''
-    for f in "$out/libexec/gnome-terminal-migration" "$out/libexec/gnome-terminal-server"; do
-      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix
deleted file mode 100644
index 08d82b7ae91..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-themes-standard-3.10.0";
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-themes-standard/3.10/${name}.tar.xz";
-    sha256 = "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41";
-  };
-  
-  buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix
deleted file mode 100644
index d66863a2218..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-user-docs-3.10.3";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-user-docs/3.10/${name}.tar.xz";
-    sha256 = "960b6373ea52e41e3deb3501930e024005b29d2cc958bfadc87450a291d2a905";
-  };
-
-  buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
-
-  meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-help/3.10;
-    description = "User and system administration help for the Gnome desktop";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.cc-by-30;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix
deleted file mode 100644
index 976b0eaca45..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libxml2, gnused
-, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd
-, gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-user-share-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-user-share/3.10/${name}.tar.xz";
-    sha256 = "1d1ea57a49224c36e7cba04f80265e835639377f474a7582c9e8ac946eda0f8f";
-  };
-
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  preConfigure = ''
-    sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf 
-  '';
-
-  configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd"
-                     "--with-modules-path=${apacheHttpd_2_2}/modules"
-                     "--disable-bluetooth"
-                     "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
-                  makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  nautilus libnotify libcanberra_gtk3 ];
-
-  postInstall = ''
-    mkdir -p $out/share/gsettings-schemas/$name
-    mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name
-    ${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
-  '';
-
-  preFixup = ''
-    wrapProgram "$out/libexec/gnome-user-share" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-user-share/3.8;
-    description = "Service that exports the contents of the Public folder in your home directory on the local network";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix
deleted file mode 100644
index a8a1c244767..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite
-, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av
-, gmime, json_glib, avahi, tracker, itstool }:
-
-stdenv.mkDerivation rec {
-  name = "grilo-plugins-0.2.12";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz";
-    sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48";
-  };
-
-  installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ];
-
-  buildInputs = [ pkgconfig gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata
-                  lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts
-                  gnome3.totem-pl-parser gnome3.rest gmime json_glib
-                  avahi gnome3.libmediaart tracker intltool itstool ];
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
-    description = "A collection of plugins for the Grilo framework";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.lgpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix
deleted file mode 100644
index 6f1bfbbcfe9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib
-, libxml2, gnome3, gobjectIntrospection, libsoup }:
-
-stdenv.mkDerivation rec {
-  name = "grilo-0.2.10";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz";
-    sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25";
-  };
-
-  configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ];
-
-  preConfigure = ''
-    for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do
-       substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/"
-       substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0"
-    done
-  '';
-
-  buildInputs = [ pkgconfig file intltool glib libxml2 libsoup
-                  gnome3.totem-pl-parser gobjectIntrospection ];
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
-    description = "Framework that provides access to various sources of multimedia content, using a pluggable system";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.lgpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix
deleted file mode 100644
index 13f357db29a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection
-  # just for passthru
-, gtk3, gsettings_desktop_schemas }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.10";
-  versionMinor = "1";
-  moduleName   = "gsettings-desktop-schemas";
-
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "04b8wy10l6pzs5928gnzaia73dz5fjlcdy39xi3mf50ajv27h8s5";
-  };
-
-  buildInputs = [ glib gobjectIntrospection ];
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  passthru = {
-    doCompileSchemas = ''
-      for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do
-        cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/
-      done
-      ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
-    '';
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix
deleted file mode 100644
index 900bb2c922b..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
-, libxml2Python, perl, intltool, gettext }:
-
-stdenv.mkDerivation rec {
-  name = "gtksourceview-${version}";
-  version = "3.10.1";
-
-  src = fetchurl {
-    url = "https://download.gnome.org/sources/gtksourceview/3.10/gtksourceview-${version}.tar.xz";
-    sha256 = "008bzfr1s6ywpj8c8qx7495lz9g0ziccwbxg88s0l4dl6bw49piq";
-  };
-
-  buildInputs = [ pkgconfig atk cairo glib gtk3 pango
-                  libxml2Python perl intltool gettext ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix
deleted file mode 100644
index a6bf72b2fc7..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3
-, glib, desktop_file_utils, bash
-, makeWrapper, gnome3, file, itstool, libxml2 }:
-
-# TODO: icons and theme still does not work
-# use packaged gnome3.gnome_icon_theme_symbolic 
-
-stdenv.mkDerivation rec {
-  name = "gucharmap-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gucharmap/3.10/${name}.tar.xz";
-    sha256 = "04e8606c65adb14d267b50b1cf9eb4fee92bd9c5ab512a346bd4c9c686403f78";
-  };
-
-  configureFlags = [ "--disable-static" ];
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-
-  buildInputs = [ pkgconfig gtk3 intltool itstool glib
-                  gnome3.yelp_tools libxml2 file desktop_file_utils
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gucharmap" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Gucharmap;
-    description = "GNOME Character Map, based on the Unicode Character Database";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
deleted file mode 100644
index 1875c1491f9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, glib }:
-
-stdenv.mkDerivation rec {
-  name = "libcroco-0.6.8";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz";
-    sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa";
-  };
-
-  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
-
-  buildInputs = [ pkgconfig libxml2 glib ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix
deleted file mode 100644
index 9a1a45e0d1a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib
-, gobjectIntrospection, liboauth, gnome3, p11_kit, openssl }:
-
-stdenv.mkDerivation rec {
-  name = "libgdata-0.14.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgdata/0.14/${name}.tar.xz";
-    sha256 = "1scjs944kjazbsh86kdj6w2vprib6yd3wzxzabcs59acmr0m4hax";
-  };
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
-
-  buildInputs = with gnome3;
-    [ pkgconfig libsoup intltool libxml2 glib gobjectIntrospection
-      liboauth gcr gnome_online_accounts p11_kit openssl ];
-      
-  meta = with stdenv.lib; {
-    description = "GData API library";
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-    license = licenses.lgpl21Plus;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix
deleted file mode 100644
index c7ed541082d..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }:
-let
-  ver_maj = "0.12";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "libgee-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "https://download.gnome.org/sources/libgee/${ver_maj}/${name}.tar.xz";
-    sha256 = "19bf94ia1h5z8h0hdhwcd2b2p6ngffirg0dai7pdb98dzriys1ni";
-  };
-
-  doCheck = true;
-
-  patches = [ ./fix_introspection_paths.patch ];
-
-  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
-
-  meta = with stdenv.lib; {
-    description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
-    license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch
deleted file mode 100644
index 67003f45164..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- fix_introspection_paths.patch/configure	2014-01-07 17:43:53.521339338 +0000
-+++ fix_introspection_paths.patch/configure-fix	2014-01-07 17:45:11.068635069 +0000
-@@ -12085,8 +12085,8 @@
-        INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-        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_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
-+       INTROSPECTION_GIRDIR="${datadir}/gir-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/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix
deleted file mode 100644
index 28c7b80c0d4..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
-  name = "libgnome-keyring-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgnome-keyring/3.10/${name}.tar.xz";
-    sha256 = "0wip88r91kwx4zp6sc9b38mnlv11grgl4k2kzsd3a8x83c9g2b05";
-  };
-
-  propagatedBuildInputs = [ glib gobjectIntrospection dbus_libs libgcrypt ];
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  meta = {
-    description = "Framework for managing passwords and other secrets";
-    homepage = http://live.gnome.org/GnomeKeyring;
-    # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
-    inherit (glib.meta) platforms maintainers;
-
-    longDescription = ''
-      gnome-keyring is a program that keeps password and other secrets for
-      users. The library libgnome-keyring is used by applications to integrate
-      with the gnome-keyring system.
-    '';
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix
deleted file mode 100644
index 1156474e5a7..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "libgnomekbd-3.6.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgnomekbd/3.6/${name}.tar.xz";
-    sha256 = "c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09";
-  };
-
-  buildInputs = [ pkgconfig file intltool glib gtk3 libxklavier makeWrapper ];
-
-  preFixup = ''
-    wrapProgram $out/bin/gkbd-keyboard-display \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Keyboard management library";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix
deleted file mode 100644
index c480a59e453..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
-, pango, gdk_pixbuf, atk, tzdata }:
-
-stdenv.mkDerivation rec {
-  name = "libgweather-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libgweather/3.10/${name}.tar.xz";
-    sha256 = "1iyg0l90m14iw0ksjbmrrhb5fqn0y7x5f726y56gxd4qcxgpi3mf";
-  };
-
-  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
-
-  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ];
-  propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix
deleted file mode 100644
index 72d307f4f1a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff
-, openssl, bzip2, acl, attr
-}:
-
-stdenv.mkDerivation rec {
-  name = "libgxps-0.2.2";
-
-  src = fetchurl {
-    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
-    sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
-  };
-
-  buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr];
-
-  configureFlags = "--without-liblcms2";
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix b/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix
deleted file mode 100644
index 9cf8426104b..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool
-, glib, gtk3, gobjectIntrospection, python, pygobject3
-}:
-
-stdenv.mkDerivation rec {
-  name = "libpeas-${version}";
-  version = "1.9.0";
-
-  buildInputs =  [
-   intltool pkgconfig
-   glib gtk3 gobjectIntrospection python pygobject3
-  ];
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libpeas/1.9/${name}.tar.xz";
-    sha256 = "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0";
-  };
-
-  preFixup = ''
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = {
-    description = "A GObject-based plugins engine";
-    homepage = "http://ftp.acc.umu.se/pub/GNOME/sources/libpeas/";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix
deleted file mode 100644
index e0e4c02c084..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool, json_glib, rest, libsoup, gtk, gnome_online_accounts }:
-
-stdenv.mkDerivation rec {
-  name = "libzapojit-0.0.3";
-
-  src = fetchurl {
-    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
-    sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
-  };
-
-  buildInputs = [ pkgconfig glib intltool json_glib rest libsoup gtk gnome_online_accounts ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix
deleted file mode 100644
index 0acfa9f36ae..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
-, pango, cogl, clutter, libstartup_notification, libcanberra, zenity, libcanberra_gtk3
-, libtool, makeWrapper }:
-
-
-stdenv.mkDerivation rec {
-  name = "mutter-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/mutter/3.10/${name}.tar.xz";
-    sha256 = "000iclb96mgc4rp2q0cy72nfwyfzl6avijl9nmk87f5sgyy670a3";
-  };
-
-  # fatal error: gio/gunixfdlist.h: No such file or directory
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra"; 
-
-  buildInputs = with gnome3;
-    [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower
-      gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra
-      libcanberra_gtk3 zenity libtool makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/mutter" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix b/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix
deleted file mode 100644
index 2041a71a82c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
-, gtk, gnome3, libunique, intltool, gobjectIntrospection
-, libnotify, makeWrapper, exempi, librsvg }:
-
-stdenv.mkDerivation rec {
-  name = "nautilus-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/nautilus/3.10/${name}.tar.xz";
-    sha256 = "09y7dxaw4bjgan3q10azky0h6kndqv2lfn75iip12zchf2hk59gn";
-  };
-
-  configureFlags = [ "--enable-tracker=no" ];
-
-  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg
-                  gnome3.gnome_desktop gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.gsettings_desktop_schemas libnotify makeWrapper ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/nautilus" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/rest/default.nix b/pkgs/desktops/gnome-3/3.10/core/rest/default.nix
deleted file mode 100644
index f543f8e13b8..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/rest/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
-  name = "rest-0.7.90";
-
-  src = fetchurl {
-    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
-    sha256 = "08n0cvz44l4b1gkmjryap3ysd0wcbbbdjbcar73nr52dmk52ls0x";
-  };
-
-  buildInputs = [ pkgconfig glib libsoup gobjectIntrospection];
-
-  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix b/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix
deleted file mode 100644
index 089b5cd03c1..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib
-, clutter_gtk, clutter-gst, gnome3, gtksourceview, libmusicbrainz
-, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1
-, gdk_pixbuf, librsvg, hicolor_icon_theme }:
-
-stdenv.mkDerivation rec {
-  name = "sushi-3.10.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/sushi/3.10/${name}.tar.xz";
-    sha256 = "cffcf28b170f5825e84983a979972d4d901a453b61cbe3e560d362e8dd4b4bc8";
-  };
-
-  propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
-
-  buildInputs = [ pkgconfig file intltool gobjectIntrospection glib
-                  clutter_gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf librsvg
-                  gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  libmusicbrainz5 webkitgtk gnome3.evince icu makeWrapper ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    wrapProgram $out/libexec/sushi-start \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = "http://en.wikipedia.org/wiki/Sushi_(software)";
-    description = "A quick previewer for Nautilus";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix
deleted file mode 100644
index f1b3bfe53c1..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup }:
-
-stdenv.mkDerivation rec {
-  name = "totem-pl-parser-3.10.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/totem-pl-parser/3.10/${name}.tar.xz";
-    sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
-  };
-
-  buildInputs = [ pkgconfig file intltool gmime libxml2 libsoup ];
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Videos;
-    description = "Simple GObject-based library to parse and save a host of playlist formats";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.lgpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/totem/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem/default.nix
deleted file mode 100644
index c6b78c827db..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/totem/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, intltool, fetchurl, gst_all_1
-, clutter_gtk, clutter-gst, pygobject3, shared_mime_info
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, libxml2, dbus_glib
-, gnome3, librsvg, gdk_pixbuf, file }:
-
-stdenv.mkDerivation rec {
-  name = "totem-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/totem/3.10/${name}.tar.xz";
-    sha256 = "b6b6038c9104965671a6d25e98496a487c3a9c590c9c104f668bd9f4fa7be9e2";
-  };
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 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
-                  gnome3.libpeas pygobject3 shared_mime_info dbus_glib
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  gnome3.gsettings_desktop_schemas makeWrapper file ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/totem" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Videos;
-    description = "Movie player for the GNOME desktop based on GStreamer";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix
deleted file mode 100644
index dbae108d2e9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, intltool, fetchurl, libxml2, upower
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, vala, sqlite
-, gnome3, librsvg, gdk_pixbuf, file, libnotify
-, evolution_data_server, gst_all_1, poppler
-, icu, taglib, libjpeg, libtiff, giflib, libcue
-, libvorbis, flac, exempi, networkmanager
-, libpng, libexif, libgsf, libuuid, bzip2 }:
-
-stdenv.mkDerivation rec {
-  name = "tracker-0.16.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/tracker/0.16/${name}.tar.xz";
-    sha256 = "9c2f50839c2b8b352ab9a022597ef985c1900e6286c0c3bcb7a64da39dbb3580";
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
-
-  enableParallelBuilding = true;
-
-  buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2
-                  bzip2 gnome3.totem-pl-parser
-                  gnome3.gsettings_desktop_schemas makeWrapper file
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite
-                  upower libnotify evolution_data_server gnome3.libgee
-                  gst_all_1.gstreamer gst_all_1.gst-plugins-base flac
-                  poppler icu taglib libjpeg libtiff giflib libvorbis
-                  exempi networkmanager libpng libexif libgsf libuuid
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  preFixup = ''
-    for f in $out/bin/* $out/libexec/*; do
-      wrapProgram $f \
-        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-        --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/Tracker;
-    description = "Desktop-neutral user information store, search tool and indexer";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/vino/default.nix b/pkgs/desktops/gnome-3/3.10/core/vino/default.nix
deleted file mode 100644
index 65668dce6a2..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/vino/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper
-, libnotify, file }:
-
-stdenv.mkDerivation rec {
-  name = "vino-${versionMajor}.${versionMinor}";
-  versionMajor = "3.10";
-  versionMinor = "1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/vino/${versionMajor}/${name}.tar.xz";
-    sha256 = "0imyvz96b7kikikwxn1r5sfxwmi40523nd66gp9hrl23gik0vwgs";
-  };
-
-  doCheck = true;
-
-  buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify file makeWrapper ];
-
-  preFixup = ''
-    for f in "$out/bin/vino-passwd" "$out/libexec/vino-server"; do
-      wrapProgram $f --prefix XDG_DATA_DIRS : "${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Projects/Vino;
-    description = "GNOME desktop sharing server";
-    maintainers = with maintainers; [ lethalman iElectric ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/vte/default.nix b/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
deleted file mode 100644
index b9ffcffafbd..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "0.35";
-  versionMinor = "90";
-  moduleName   = "vte";
-
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "c47182d1724db479095b918898ce62297ec71988f24cd575506151c59f7b98cf";
-  };
-
-  buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
-
-  configureFlags = [ "--enable-introspection" ];
-
-  enableParallelBuilding = true;
-
-  postInstall = ''
-    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.gnome.org/;
-    description = "A library implementing a terminal emulator widget for GTK+";
-    longDescription = ''
-      VTE is a library (libvte) implementing a terminal emulator widget for
-      GTK+, and a minimal sample application (vte) using that.  Vte is
-      mainly used in gnome-terminal, but can also be used to embed a
-      console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
-      character set conversion, as well as emulating any terminal known to
-      the system's terminfo database.
-    '';
-    license = licenses.lgpl2;
-    maintainers = with maintainers; [ astsmtl antono lethalman ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix
deleted file mode 100644
index 39ff3838f4a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "yelp-tools-3.10.0";
-
-  src = fetchurl {
-    url = "https://download.gnome.org/sources/yelp-tools/3.10/${name}.tar.xz";
-    sha256 = "0496xyx1657db22ks3k92al64fp6236y5bgh7s7b0j8hcc112ppz";
-  };
-
-  buildInputs = [ libxml2 libxslt itstool gnome3.yelp_xsl pkgconfig ];
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Yelp/Tools;
-    description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
-    maintainers = with maintainers; [ iElectric ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix
deleted file mode 100644
index c5060bdba75..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, bash
-, itstool, libxml2, libxslt }:
-
-stdenv.mkDerivation rec {
-  name = "yelp-xsl-3.10.1";
-
-  src = fetchurl {
-    url = "https://download.gnome.org/sources/yelp-xsl/3.10/${name}.tar.xz";
-    sha256 = "59c6dee3999121f6ffd33a9c5228316b75bc22e3bd68fff310beb4eeff245887";
-  };
-
-  doCheck = true;
-
-  buildInputs = [ pkgconfig intltool itstool libxml2 libxslt ];
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Yelp;
-    description = "Yelp's universal stylesheets for Mallard and DocBook";
-    maintainers = with maintainers; [ lethalman ];
-    # TODO license = [licenses.gpl2 licenses.lgpl2];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix
deleted file mode 100644
index 983e7f416a6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
-, bash, makeWrapper, itstool, libxml2, libxslt, icu }:
-
-stdenv.mkDerivation rec {
-  name = "yelp-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/yelp/3.10/${name}.tar.xz";
-    sha256 = "17736479b7d0b1128c7d6cb3073f2b09e4bbc82670731b2a0d3a3219a520f816";
-  };
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard  ];
-  propagatedBuildInputs = [ librsvg gdk_pixbuf gnome3.gnome_icon_theme
-                            hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
-
-  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
-
-  buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
-                  libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl
-                  gnome3.gsettings_desktop_schemas ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/yelp" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${gnome3.yelp_xsl}/share/yelp-xsl:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/yelp:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Yelp;
-    description = "The Gnome help viewer";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix
deleted file mode 100644
index 366088c6729..00000000000
--- a/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, itstool }:
-
-stdenv.mkDerivation rec {
-
-  versionMajor = "3.8";
-  versionMinor = "0";
-
-  name = "zenity-${versionMajor}.${versionMinor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz";
-    sha256 = "0gsnwvhsqqba5i6d4jh86j29q4q18hmvhj9c1v76vwlj2nvz1ywl";
-  };
-
-  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
-
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/default.nix b/pkgs/desktops/gnome-3/3.10/default.nix
deleted file mode 100644
index 89e16490df9..00000000000
--- a/pkgs/desktops/gnome-3/3.10/default.nix
+++ /dev/null
@@ -1,195 +0,0 @@
-{ callPackage, self, pkgs }:
-
-rec {
-  inherit (pkgs) glib gtk2 gtk3 gnome2 upower glib_networking;
-  gtk = gtk3; # just to be sure
-  libcanberra = pkgs.libcanberra_gtk3; # just to be sure
-  inherit (pkgs.gnome2) ORBit2;
-  orbit = ORBit2;
-  inherit (pkgs) libsoup;
-
-#### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
-
-  baobab = callPackage ./core/baobab { };
-
-  caribou = callPackage ./core/caribou { };
-
-  dconf = callPackage ./core/dconf { };
-
-  empathy = callPackage ./core/empathy { };
-
-  epiphany = callPackage ./core/epiphany { };
-
-  evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
-
-  evolution_data_server = callPackage ./core/evolution-data-server { };
-
-  gconf = callPackage ./core/gconf { };
-
-  geocode_glib = callPackage ./core/geocode-glib { };
-
-  gcr = callPackage ./core/gcr { }; # ToDo: tests fail
-
-  gdm = callPackage ./core/gdm { };
-
-  gjs = callPackage ./core/gjs { };
-
-  gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
-
-  gnome-contacts = callPackage ./core/gnome-contacts { };
-
-  gnome_control_center = callPackage ./core/gnome-control-center { };
-
-  gnome-calculator = callPackage ./core/gnome-calculator { };
-
-  gnome_common = callPackage ./core/gnome-common { };
-
-  gnome_desktop = callPackage ./core/gnome-desktop { };
-
-  gnome-dictionary = callPackage ./core/gnome-dictionary { };
-
-  gnome-disk-utility = callPackage ./core/gnome-disk-utility { };
-
-  gnome-font-viewer = callPackage ./core/gnome-font-viewer { };
-
-  gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
-
-  gnome_icon_theme_symbolic = callPackage ./core/gnome-icon-theme-symbolic { };
-
-  gnome-menus = callPackage ./core/gnome-menus { };
-
-  gnome_keyring = callPackage ./core/gnome-keyring { };
-
-  libgnome_keyring = callPackage ./core/libgnome-keyring { };
-
-  libgnomekbd = callPackage ./core/libgnomekbd { };
-
-  folks = callPackage ./core/folks { };
-
-  gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
-
-  gnome-online-miners = callPackage ./core/gnome-online-miners { };
-
-  gnome_session = callPackage ./core/gnome-session { };
-
-  gnome_shell = callPackage ./core/gnome-shell { };
-
-  gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { };
-
-  gnome-screenshot = callPackage ./core/gnome-screenshot { };
-
-  gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { };
-
-  gnome-system-log = callPackage ./core/gnome-system-log { };
-
-  gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
-
-  gnome_terminal = callPackage ./core/gnome-terminal { };
-
-  gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
-
-  gnome-user-docs = callPackage ./core/gnome-user-docs { };
-
-  gnome-user-share = callPackage ./core/gnome-user-share { };
-
-  grilo = callPackage ./core/grilo { };
-
-  grilo-plugins = callPackage ./core/grilo-plugins { };
-
-  gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
-
-  gtksourceview = callPackage ./core/gtksourceview { };
-
-  gucharmap = callPackage ./core/gucharmap { };
-
-  gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; lightWeight = false; };
-
-  eog = callPackage ./core/eog { };
-
-  libcroco = callPackage ./core/libcroco {};
-
-  libgee = callPackage ./core/libgee { };
-
-  libgdata = callPackage ./core/libgdata { };
-
-  libgxps = callPackage ./core/libgxps { };
-
-  libpeas = callPackage ./core/libpeas {};
-
-  libgweather = callPackage ./core/libgweather { };
-
-  libzapojit = callPackage ./core/libzapojit { };
-
-  mutter = callPackage ./core/mutter { };
-
-  nautilus = callPackage ./core/nautilus { };
-
-  rest = callPackage ./core/rest { };
-
-  sushi = callPackage ./core/sushi { };
-
-  totem = callPackage ./core/totem { };
-
-  totem-pl-parser = callPackage ./core/totem-pl-parser { };
-
-  tracker = callPackage ./core/tracker { };
-
-  vte = callPackage ./core/vte { };
-
-  vino = callPackage ./core/vino { };
-
-  yelp = callPackage ./core/yelp { };
-
-  yelp_xsl = callPackage ./core/yelp-xsl { };
-
-  yelp_tools = callPackage ./core/yelp-tools { };
-
-  zenity = callPackage ./core/zenity { };
-
-
-#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
-
-  bijiben = callPackage ./apps/bijiben { };
-
-  evolution = callPackage ./apps/evolution { };
-
-  file-roller = callPackage ./apps/file-roller { };
-
-  gedit = callPackage ./apps/gedit { };
-
-  glade = callPackage ./apps/glade { };
-
-  gnome-clocks = callPackage ./apps/gnome-clocks { };
-
-  gnome-documents = callPackage ./apps/gnome-documents { };
-
-  gnome-music = callPackage ./apps/gnome-music { };
-
-  gnome-photos = callPackage ./apps/gnome-photos { };
-
-  nautilus-sendto = callPackage ./apps/nautilus-sendto { };
-
-  # scrollkeeper replacement
-  rarian = callPackage ./desktop/rarian { };
-
-  seahorse = callPackage ./apps/seahorse { };
-
-
-#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
-
-  gfbgraph = callPackage ./misc/gfbgraph { };
-
-  goffice = callPackage ./misc/goffice { };
-
-  gitg = callPackage ./misc/gitg { };
-
-  libgit2-glib = callPackage ./misc/libgit2-glib { };
-
-  libmediaart = callPackage ./misc/libmediaart { };
-  
-  gexiv2 = callPackage ./misc/gexiv2 { };
-
-  gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
-
-  gtkhtml = callPackage ./misc/gtkhtml { };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix
deleted file mode 100644
index a1b38b21869..00000000000
--- a/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix
+++ /dev/null
@@ -1,16 +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";
-  };
-
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
-  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix
deleted file mode 100644
index 86942c13f34..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4 }:
-
-
-stdenv.mkDerivation rec {
-  name = "gexiv2-${version}";
-  version = "0.7.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gexiv2/0.7/${name}.tar.xz";
-    sha256 = "12pfc5a57dhlf0c3yg5x3jissxi7jy2b6ir6y99cn510801gwcdn";
-  };
-  
-  preConfigure = ''
-    patchShebangs .
-  '';
-  
-  buildInputs = [ pkgconfig glib libtool m4 ];
-  propagatedBuildInputs = [ exiv2 ];
-  
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/gexiv2;
-    description = "GObject wrapper around the Exiv2 photo metadata library";
-    platforms = platforms.linux;
-  };
-}
\ No newline at end of file
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix
deleted file mode 100644
index ee8259af8d6..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, intltool, fetchurl, pkgconfig, glib
-, gnome3, libsoup, json_glib }:
-
-stdenv.mkDerivation rec {
-  name = "gfbgraph-0.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gfbgraph/0.2/${name}.tar.xz";
-    sha256 = "534ca84920445b9d89e2480348eedde3ce950db3628ae0a79703e8f2d52fa724";
-  };
-
-  buildInputs = [ pkgconfig glib libsoup gnome3.gnome_online_accounts
-                  json_glib gnome3.rest ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "GLib/GObject wrapper for the Facebook Graph API";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.lgpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
deleted file mode 100644
index 401d5cf2f36..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib
-, json_glib, webkitgtk,  makeWrapper, libpeas, bash, gobjectIntrospection
-, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg }:
-
-# TODO: icons and theme still does not work
-# use packaged gnome3.gnome_icon_theme_symbolic 
-
-stdenv.mkDerivation rec {
-  name = "gitg-3.13.91";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz";
-    sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37";
-  };
-
-  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";
-
-  propagatedUserEnvPkgs = [ shared_mime_info
-                            gnome3.gnome_themes_standard ];
-
-  buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
-                  libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview librsvg
-                  gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gitg" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
-    rm $out/share/gitg/icons/hicolor/icon-theme.cache
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
-    description = "GNOME GUI client to view git repositories";
-    maintainers = with maintainers; [ iElectric ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix
deleted file mode 100644
index 2eccb9a32cf..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, intltool, fetchurl, python, pygobject3, atk
-, pkgconfig, gtk3, glib, hicolor_icon_theme, libsoup
-, bash, makeWrapper, itstool, libxml2, python3Packages
-, gnome3, librsvg, gdk_pixbuf, file, libnotify }:
-
-stdenv.mkDerivation rec {
-  name = "gnome-tweak-tool-3.10.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
-    sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
-  };
-
-  doCheck = true;
-
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  makeFlags = [ "DESTDIR=/" ];
-
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
-                  gnome3.gsettings_desktop_schemas makeWrapper file
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg
-                  hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  python pygobject3 libnotify gnome3.gnome_shell
-                  libsoup gnome3.gnome_settings_daemon gnome3.nautilus
-                  gnome3.gnome_desktop ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-tweak-tool" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \
-      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
-  '';
-
-  patches = [ ./find_gsettings.patch ];
-
-  meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool;
-    description = "A tool to customize advanced GNOME 3 options";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch
deleted file mode 100644
index 3e68c04cb3a..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/gtweak/gsettings.py b/gtweak/gsettings.py
-index a00fe19..dce74b2 100644
---- a/gtweak/gsettings.py
-+++ b/gtweak/gsettings.py
-@@ -33,10 +33,15 @@ class GSettingsMissingError(Exception):
- 
- class _GSettingsSchema:
-     def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options):
--        if not schema_dir:
--            schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
-         if not schema_filename:
-             schema_filename = schema_name + ".gschema.xml"
-+        if not schema_dir:
-+            schema_dir = gtweak.GSETTINGS_SCHEMA_DIR
-+            for xdg_dir in GLib.get_system_data_dirs():
-+                dir = os.path.join(xdg_dir, "glib-2.0", "schemas")
-+                if os.path.exists(os.path.join(dir, schema_filename)):
-+                    schema_dir = dir
-+                    break
- 
-         schema_path = os.path.join(schema_dir, schema_filename)
-         if not os.path.exists(schema_path):
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix
deleted file mode 100644
index 02520a9f121..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
-, pango, libgsf, libxml2, libart, intltool, gettext
-, cairo, gconf, libgnomeui, pcre, gnome3/*just meta*/ }:
-
-stdenv.mkDerivation rec {
-  name = "goffice-0.8.17";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz";
-    sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15";
-  };
-
-  # fix linking error: undefined reference to pcre_info
-  patches = [ ./pcre_info.patch ]; # inspired by https://bugs.php.net/bug.php?id=60986
-
-  buildInputs = [
-    pkgconfig libglade bzip2 libart intltool gettext
-    gconf libgnomeui pcre
-  ];
-
-  propagatedBuildInputs = [
-    # All these are in the "Requires:" field of `libgoffice-0.6.pc'.
-    glib libgsf libxml2 gtk libglade libart cairo pango
-  ];
-
-  postInstall =
-    ''
-      # Get GnuCash to build.  Might be unnecessary if we upgrade pkgconfig.
-      substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires
-    '';
-
-  doCheck = true;
-
-  meta = gnome3.goffice.meta // {
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix
deleted file mode 100644
index fd16d2d4985..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3
-, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
-
-stdenv.mkDerivation rec {
-  name = "goffice-0.10.12";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
-    sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff";
-  };
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection?
-    glib gtk3 libxml2 cairo pango libgsf
-  ];
-
-  buildInputs = [ libxslt librsvg ];
-
-  enableParallelBuilding = true;
-  doCheck = true;
-
-  meta = {
-    description = "A Glib/GTK+ set of document centric objects and utilities";
-
-    longDescription = ''
-      There are common operations for document centric applications that are
-      conceptually simple, but complex to implement fully: plugins, load/save
-      documents, undo/redo.
-    '';
-
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    platforms = stdenv.lib.platforms.gnu;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch b/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch
deleted file mode 100644
index cd4ef3c9fed..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/goffice/utils/regutf8.c b/goffice/utils/regutf8.c
-index bc4aae4..3adb696 100644
---- a/goffice/utils/regutf8.c
-+++ b/goffice/utils/regutf8.c
-@@ -155,7 +155,7 @@ go_regcomp (GORegexp *gor, const char *pat, int cflags)
- 		default: return GO_REG_BADPAT;
- 		}
- 	} else {
--		gor->re_nsub = pcre_info (r, NULL, NULL);
-+		gor->re_nsub = pcre_fullinfo (r, NULL, NULL, NULL);
- 		gor->nosub = (cflags & GO_REG_NOSUB) != 0;
- 		return 0;
- 	}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix
deleted file mode 100644
index 5e27b474cbd..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, intltool
-, gnome3, enchant, isocodes }:
-
-stdenv.mkDerivation rec {
-  name = "gtkhtml-4.6.6";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gtkhtml/4.6/${name}.tar.xz";
-    sha256 = "145d23bbe729ff4ee7e7027bb5ff405b34822271327fdd81fe913134831374cd";
-  };
-
-  buildInputs = [ pkgconfig gtk3 intltool gnome3.gnome_icon_theme
-                  gnome3.gsettings_desktop_schemas ];
-
-  propagatedBuildInputs = [ enchant isocodes ];
-
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
deleted file mode 100644
index 82e2b585509..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala
-, gtk_doc, gobjectIntrospection, libgit2, glib }:
-
-stdenv.mkDerivation rec {
-  name = "libgit2-glib-${version}";
-  version = "0.0.20";
-
-  src = fetchurl {
-    url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
-    sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x";
-  };
-  
-  cmakeFlags = "-DTHREADSAFE=ON";
-
-  configureScript = "sh ./autogen.sh";
-
-  buildInputs = [ gnome3.gnome_common libtool pkgconfig vala
-                  gtk_doc gobjectIntrospection libgit2 glib ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix
deleted file mode 100644
index 4985bfa902c..00000000000
--- a/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf }:
-
-stdenv.mkDerivation rec {
-  name = "libmediaart-0.4.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libmediaart/0.4/${name}.tar.xz";
-    sha256 = "e8ec92a642f4df7f988364f6451adf89e1611d7379a636d8c7eff4ca21a0fd1c";
-  };
-
-  buildInputs = [ pkgconfig glib gdk_pixbuf ];
-
-  meta = with stdenv.lib; {
-    description = "Library tasked with managing, extracting and handling media art caches";
-    maintainers = with maintainers; [ lethalman ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix
index c4d609790fa..c4f6741c070 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/bijiben" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
index f9fbbbe56c6..f0356352098 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
+{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight, sqlite
 , pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify, gtkspell3
 , makeWrapper, itstool, shared_mime_info, libical, db, gcr
-, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
+, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool
 , libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }:
 
 stdenv.mkDerivation rec {
-  name = "evolution-3.12.2";
+  name = "evolution-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/3.12/${name}.tar.xz";
-    sha256 = "60742334aaf1e3b9f044c2003c44a37be5905b166e24580e9e6e6c5ae1b9f948";
+    sha256 = "08y1qiydbbk4fq8rrql9sgbwsny8bwz6f7m5kbbj5zjqvf1baksj";
   };
 
   doCheck = true;
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2
+  buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
                   gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu
                   gnome3.evolution_data_server libsecret libical gcr
                   webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit
                   hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
                   nss nspr libnotify procps highlight gnome3.libgweather
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
+                  gnome3.gsettings_desktop_schemas makeWrapper sqlite ];
 
   configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ];
 
diff --git a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
index a761c13e959..deff8494866 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram "$out/bin/file-roller" \
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
index 0909a4239db..c65a28c3446 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
@@ -4,11 +4,11 @@
 , gnome3, librsvg, gdk_pixbuf, file }:
 
 stdenv.mkDerivation rec {
-  name = "gedit-3.12.1";
+  name = "gedit-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/3.12/${name}.tar.xz";
-    sha256 = "8e3edc62102934a8be708b0fdf27b86368fa9ede885628283bf8e91b26bbb67f";
+    sha256 = "0lxnswqa0ysr57cqh062wp41sd76p6q7y3mnkl7rligd5c8hnikm";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
diff --git a/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix
index 5979d10fa70..4783804f200 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/glade" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix
index cbb53eedd4c..7d33933656a 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix
@@ -34,7 +34,6 @@ stdenv.mkDerivation rec {
             --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
             --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin"
     done
-    rm "$out/share/icons/hicolor/icon-theme.cache"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix
index 2226f314eed..47bcbf692ad 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-clocks" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix
index 5c2206641e5..642e0044a75 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix
@@ -44,7 +44,6 @@ stdenv.mkDerivation rec {
         --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
         --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"
     done
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
index d784544a183..ebcd4c0d01e 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
@@ -4,17 +4,17 @@
 , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-music-3.12.2";
+  name = "gnome-music-3.12.2.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-music/3.12/${name}.tar.xz";
-    sha256 = "ec4807018166aabed0263cb3ffce672e1fc1a3e959f48a5ad48b8eb08ddb451a";
+    sha256 = "1vwzjv5001pg37qc0sh4ph3srqwg3vgibbdlqpim9w2k70l9j34z";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
-                  gdk_pixbuf gnome3.gnome_icon_theme librsvg python3
+                  gdk_pixbuf gnome3.gnome_icon_theme librsvg python3 cairo
                   gnome3.grilo libxml2 python3Packages.pygobject3 libnotify
                   python3Packages.pycairo python3Packages.dbus gnome3.totem-pl-parser
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base
@@ -24,24 +24,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preFixup =
-    let
-      libPath = stdenv.lib.makeLibraryPath
-        [ glib gtk3 libnotify tracker gnome3.grilo cairo
-          gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.totem-pl-parser
-          gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
-    in
-    ''
+  preFixup = ''
     wrapProgram "$out/bin/gnome-music" \
       --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 GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${libPath}" \
       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
       --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
       --prefix PYTHONPATH : "$PYTHONPATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix
index cc92cdd3014..4d080039a88 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
         --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
         --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
     done
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/polari/default.nix b/pkgs/desktops/gnome-3/3.12/apps/polari/default.nix
new file mode 100644
index 00000000000..6289fd4a6db
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/polari/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, makeWrapper, intltool, pkgconfig, gobjectIntrospection, glib
+, gtk3, telepathy_glib, gnome3, telepathy_idle, telepathy_logger, libsoup
+, gdk_pixbuf, librsvg }:
+
+stdenv.mkDerivation rec {
+  name = "polari-3.12.2";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/polari/3.12/${name}.tar.xz";
+    sha256 = "8b10f369fac9e5e48a7bed51320754262d00c1bb14899a321b02843e20c0a995";
+  };
+
+  buildInputs = [ makeWrapper intltool pkgconfig gobjectIntrospection glib gtk3
+                  telepathy_glib gnome3.gjs telepathy_logger libsoup
+                  gdk_pixbuf librsvg
+                  gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic ];
+
+  propagatedUserEnvPkgs = [ telepathy_idle ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/polari" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" 
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Internet Relay Chat (IRC) client designed for GNOME 3";
+    homepage = https://wiki.gnome.org/Apps/Polari;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix b/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix
new file mode 100644
index 00000000000..152acb26b1b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/pomodoro/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub, which, automake113x, intltool, pkgconfig, libtool, makeWrapper,
+  dbus_glib, libcanberra, gst_all_1, upower, vala, gnome3_12, gtk3, gst_plugins_base,
+  glib, gobjectIntrospection, hicolor_icon_theme
+}:
+
+stdenv.mkDerivation rec {
+  rev = "0.10.3";
+  name = "gnome-shell-pomodoro-${rev}-61df3fa";
+
+  src = fetchFromGitHub {
+      owner = "codito";
+      repo = "gnome-shell-pomodoro";
+      rev = "${rev}";
+      sha256 = "0i0glmijalppb5hdb1xd6xnmv824l2w831rpkqmhxi0iqbvaship";
+  };
+
+  configureScript = ''./autogen.sh'';
+
+  buildInputs = [
+    which automake113x intltool glib gobjectIntrospection pkgconfig libtool
+    makeWrapper dbus_glib libcanberra upower vala gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    gnome3_12.gsettings_desktop_schemas gnome3_12.gnome_desktop
+    gnome3_12.gnome_common gnome3_12.gnome_shell hicolor_icon_theme gtk3
+  ];
+
+  preBuild = ''
+    sed -i \
+        -e 's|/usr\(/share/gir-1.0/UPowerGlib\)|${upower}\1|' \
+        -e 's|/usr\(/share/gir-1.0/GnomeDesktop\)|${gnome3_12.gnome_desktop}\1|' \
+        vapi/Makefile
+  '';
+
+  preFixup = ''
+    wrapProgram $out/bin/gnome-pomodoro \
+        --prefix XDG_DATA_DIRS : \
+        "$out/share:$GSETTINGS_SCHEMAS_PATH:$XDG_DATA_DIRS"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/codito/gnome-shell-pomodoro;
+    description =
+      "Personal information management application that provides integrated " + 
+      "mail, calendaring and address book functionality";
+    maintainers = with maintainers; [ DamienCassou ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix
index fb7339dd05f..02365d6b3d5 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/seahorse" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix
index e4da596ae21..4d6c91787a3 100644
--- a/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix
@@ -25,8 +25,6 @@ stdenv.mkDerivation rec {
                   hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
 
   preFixup = ''
-    rm $out/share/icons/hicolor/icon-theme.cache
-    rm $out/share/icons/HighContrast/icon-theme.cache
     wrapProgram "$out/bin/baobab" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
index 7fb341948be..a10450d9332 100644
--- a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
@@ -11,11 +11,11 @@
 # TODO: enable more features
 
 stdenv.mkDerivation rec {
-  name = "empathy-3.12.2";
+  name = "empathy-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/empathy/3.12/${name}.tar.xz";
-    sha256 = "414d0c6b1a30b1afbf35ad04b0b9ff3ada3e06fab797a50a7147cdfe0905e7cd";
+    sha256 = "0rhgpiv75aafmdh6r7d4ci59lnxqmmwg9hvsa5b3mk7j2d2pma86";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
@@ -42,7 +42,6 @@ stdenv.mkDerivation rec {
         --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
     done
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/core/eog/default.nix b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix
index 8c8a49cb7ed..de30f0dbbe1 100644
--- a/pkgs/desktops/gnome-3/3.12/core/eog/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix
@@ -19,8 +19,6 @@ stdenv.mkDerivation rec {
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
index 2a585d78f4e..d1ad071d426 100644
--- a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "evince-3.12.1";
+  name = "evince-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/3.12/${name}.tar.xz";
-    sha256 = "ef22cc29a7cbe70d2e7ce8c0b5b7ee774187ea69f3ae49a64c6d4a91559ef137";
+    sha256 = "30c243bbfde56338c25a39003b4848143be42157177e2163a368f14139909f7d";
   };
 
   buildInputs = [
@@ -46,8 +46,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/evince" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   doCheck = false; # would need pythonPackages.dogTail, which is missing
diff --git a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
index b8711f7e563..a92cf684a76 100644
--- a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
@@ -1,19 +1,19 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, python
+{ fetchurl, stdenv, pkgconfig, gnome3, python, sqlite
 , intltool, libsoup, libxml2, libsecret, icu
 , p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }:
 
 
 stdenv.mkDerivation rec {
-  name = "evolution-data-server-3.12.2";
+  name = "evolution-data-server-3.12.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/3.12/${name}.tar.xz";
-    sha256 = "91c95e17a8c1cd1086dafcd99a40bdf8f5993770f251f8b0a10e5395e3f5a3b6";
+    sha256 = "d3a2f832f823cb2a41467926dcaec984a15b2cb51ef89cf41267e337ca750811";
   };
 
   buildInputs = with gnome3;
     [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts libsecret
-      gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper icu ]
+      gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper icu sqlite ]
     ++ stdenv.lib.optional valaSupport vala;
 
   # uoa irrelevant for now
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
   };
 
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
index 47b958002a3..7e3af8405a4 100644
--- a/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix
@@ -5,11 +5,11 @@
 # TODO: enable more folks backends
 
 stdenv.mkDerivation rec {
-  name = "folks-0.9.6";
+  name = "folks-0.9.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz";
-    sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f";
+    sha256 = "09cbs3ihcswpi1wg8xbjmkqjbhnxa1idy1fbzmz0gah7l5mxmlfj";
   };
 
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
index 965a8a05f16..46e30038364 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   '';
 
   # Disable Access Control because our X does not support FamilyServerInterpreted yet
-  patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ./propagate_xdgconfigdirs.patch ];
+  patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ./propagate_env.patch ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/GDM;
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_env.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_env.patch
new file mode 100644
index 00000000000..b3e356a65c3
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_env.patch
@@ -0,0 +1,13 @@
+--- a/daemon/gdm-launch-environment.c	2014-11-24 15:43:55.532879804 +0100
++++ a/daemon/gdm-launch-environment.c	2014-11-28 18:22:42.636313967 +0100
+@@ -220,8 +220,8 @@ 
+                 "LANG", "LANGUAGE", "LC_CTYPE", "LC_NUMERIC", "LC_TIME",
+                 "LC_COLLATE", "LC_MONETARY", "LC_MESSAGES", "LC_PAPER",
+                 "LC_NAME", "LC_ADDRESS", "LC_TELEPHONE", "LC_MEASUREMENT",
+-                "LC_IDENTIFICATION", "LC_ALL", "WINDOWPATH",
+-                NULL
++                "LC_IDENTIFICATION", "LC_ALL", "WINDOWPATH", "XCURSOR_PATH",
++                "XDG_CONFIG_DIRS", NULL
+         };
+         char *system_data_dirs;
+         int i;
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
deleted file mode 100644
index 20d7659c1e5..00000000000
--- a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/daemon/gdm-launch-environment.c	2014-08-03 12:05:39.380178964 +0200
-+++ b/daemon/gdm-launch-environment.c	2014-08-03 12:08:26.570182517 +0200
-@@ -224,6 +224,7 @@
-                 NULL
-         };
-         char *system_data_dirs;
-+        char *system_config_dirs;
-         int i;
- 
-         load_lang_config_file (LANG_CONFIG_FILE,
-@@ -251,6 +252,15 @@
-                                               system_data_dirs));
-         g_free (system_data_dirs);
- 
-+        system_config_dirs = g_strjoinv (":", (char **) g_get_system_config_dirs ());
-+
-+        g_hash_table_insert (hash,
-+                             g_strdup ("XDG_CONFIG_DIRS"),
-+                             g_strdup_printf ("%s",
-+                                              system_config_dirs));
-+        g_free (system_config_dirs);
-+
-+
-         g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (launch_environment->priv->x11_authority_file));
- 
-         g_hash_table_insert (hash, g_strdup ("LOGNAME"), g_strdup (launch_environment->priv->user_name));
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
index 666032f56a7..19d0c9c10e8 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix
@@ -3,11 +3,11 @@
 , itstool, gnome3, librsvg, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-calculator-3.12.1";
+  name = "gnome-calculator-3.12.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz";
-    sha256 = "15a75bbe19f6d2280d864f0504f6fc5b1f148fea9738b5548b64b7b8c0c64740";
+    sha256 = "0bn3agh3g22iradfpzkc19a2b33b1mbf0ciy1hf2sijrczi24410";
   };
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix
index 5b4ca5c3418..49bd7ac70f4 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix
@@ -2,7 +2,7 @@
 , pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret
 , bash, makeWrapper, itstool, folks, libnotify, libxml2
 , gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
-, libsoup, vala, dbus_glib, automake114x, autoconf }:
+, libsoup, vala, dbus_glib, automake, autoconf }:
 
 stdenv.mkDerivation rec {
   name = "gnome-contacts-3.12.0";
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
                   libxml2 libsoup gnome3.gnome_online_accounts nspr nss
                   gdk_pixbuf gnome3.gnome_icon_theme librsvg
                   hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  vala automake114x autoconf db ];
+                  vala automake autoconf db ];
 
   preFixup = ''
     for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
index 0aed2e7a410..4a394b3b897 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
@@ -47,11 +47,9 @@ stdenv.mkDerivation rec {
     for i in $out/share/applications/*; do
       substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center"
     done
-
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
-  patches = [ ./search_providers_dir.patch ];
+  patches = [ ./search_providers_dir.patch ./vpn_plugins_path.patch ];
 
   meta = with stdenv.lib; {
     description = "Single sign-on framework for GNOME";
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/vpn_plugins_path.patch b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/vpn_plugins_path.patch
new file mode 100644
index 00000000000..e25105a303f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/vpn_plugins_path.patch
@@ -0,0 +1,19 @@
+diff --git a/panels/network/connection-editor/vpn-helpers.c b/panels/network/connection-editor/vpn-helpers.c
+index 7dc23c2..fcb1384 100644
+--- a/panels/network/connection-editor/vpn-helpers.c
++++ b/panels/network/connection-editor/vpn-helpers.c
+@@ -95,14 +95,6 @@ vpn_get_plugins (GError **error)
+ 		if (!so_path)
+ 			goto next;
+ 
+-		/* Remove any path and extension components, then reconstruct path
+-		 * to the SO in LIBDIR
+-		 */
+-		so_name = g_path_get_basename (so_path);
+-		g_free (so_path);
+-		so_path = g_build_filename (NM_VPN_MODULE_DIR, so_name, NULL);
+-		g_free (so_name);
+-
+ 		module = g_module_open (so_path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
+ 		if (!module) {
+ 			g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Cannot load the VPN plugin which provides the "
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix
index 56bde211105..a68624ba0e1 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-disks" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix
index 6a30362f593..7b9e2097bef 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
     make -C src install
   '';
 
-  buildInputs = [ pkgconfig iconnamingutils gtk gnome3.gnome_icon_theme ];
+  buildInputs = [ pkgconfig iconnamingutils gtk ];
+
+  propagatedBuildInputs = [ gnome3.gnome_icon_theme ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix
index aa0c9d24dfe..34a3b67af7e 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
+{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk, hicolor_icon_theme }:
 
 stdenv.mkDerivation rec {
   name = "gnome-icon-theme-3.12.0";
@@ -8,10 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "359e720b9202d3aba8d477752c4cd11eced368182281d51ffd64c8572b4e503a";
   };
 
-  setupHook = ./setup-hook.sh;
-
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
 
+  propagatedBuildInputs = [ hicolor_icon_theme ];
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh
deleted file mode 100644
index d7156f3d463..00000000000
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-make_gtk_applications_find_icon_themes() {
-
-    # where to find icon themes
-    if [ -d "$1/share/icons" ]; then
-      addToSearchPath XDG_ICON_DIRS $1/share
-    fi
-	
-}
-
-envHooks+=(make_gtk_applications_find_icon_themes)
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
index 6f6816efa5b..578081ccf89 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
 , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
 , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
-, hicolor_icon_theme
+, hicolor_icon_theme, sqlite
 , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
 , accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
       libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
       libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
-      hicolor_icon_theme gnome_icon_theme gnome_icon_theme_symbolic
+      hicolor_icon_theme gnome_icon_theme gnome_icon_theme_symbolic sqlite
       at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
 
   installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix
index cdc4b732b97..9abeda53744 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-system-log" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
index 7377c839d1c..2a237b15c21 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-user-docs-3.12.1";
+  name = "gnome-user-docs-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/3.12/${name}.tar.xz";
-    sha256 = "bfd084d72c688d6efb0c34bb572a704cc2ce093c97a33390eaffb5e42158d418";
+    sha256 = "1cj45lpa74vkbxyila3d6pn5m1gh51nljp9fjirxmzwi1h6wg7jd";
   };
 
   buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix
index 976b0eaca45..fde47a66340 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/libexec/gnome-user-share" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
index a8a1c244767..9076d5c5839 100644
--- a/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix
@@ -3,11 +3,11 @@
 , gmime, json_glib, avahi, tracker, itstool }:
 
 stdenv.mkDerivation rec {
-  name = "grilo-plugins-0.2.12";
+  name = "grilo-plugins-0.2.13";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz";
-    sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48";
+    sha256 = "008jwm5ydl0k25p3d2fkcail40fj9y3qknihxb5fg941p8qlhm55";
   };
 
   installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
index 6f1bfbbcfe9..9c0e3f9a0bc 100644
--- a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix
@@ -2,11 +2,11 @@
 , libxml2, gnome3, gobjectIntrospection, libsoup }:
 
 stdenv.mkDerivation rec {
-  name = "grilo-0.2.10";
+  name = "grilo-0.2.11";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz";
-    sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25";
+    sha256 = "8a52c37521de80d6caf08a519a708489b9e2b097c2758a0acaab6fbd26d30ea6";
   };
 
   configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
index 4564b0d21e1..5779b6d0480 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
@@ -3,14 +3,16 @@
 
 stdenv.mkDerivation rec {
   name = "gtksourceview-${version}";
-  version = "3.12.2";
+  version = "3.12.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceview/3.12/gtksourceview-${version}.tar.xz";
-    sha256 = "62a31eee00f633d7959efb7eec44049ebd0345d670265853dcd21c057f3f30ad";
+    sha256 = "1xzmw9n9zbkaasl8xi7s5h49wiv5dq4qf8hr2pzjkack3ai5j6gk";
   };
 
-  buildInputs = [ pkgconfig atk cairo glib gtk3 pango
+  propagatedBuildInputs = [ gtk3 ];
+
+  buildInputs = [ pkgconfig atk cairo glib pango
                   libxml2Python perl intltool gettext ];
 
   preBuild = ''
diff --git a/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix
index e5f6a0aa9b8..1875c1491f9 100644
--- a/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig libxml2 glib ];
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
index 65d1c9d1493..c6c9323c010 100644
--- a/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Framework for managing passwords and other secrets";
     homepage = http://live.gnome.org/GnomeKeyring;
-    # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
+    license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
     inherit (glib.meta) platforms maintainers;
 
     longDescription = ''
diff --git a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
index 3589299df3e..9c2db40f89d 100644
--- a/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix
@@ -5,11 +5,11 @@
 , gnome3, librsvg, gdk_pixbuf, file }:
 
 stdenv.mkDerivation rec {
-  name = "totem-3.12.1";
+  name = "totem-3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/totem/3.12/${name}.tar.xz";
-    sha256 = "dd168cdd4051d01131d47c24fa45bfd08b6ccf45900ac4b64bae47f6f47a35e3";
+    sha256 = "1law033wxbs8v3l2fk0p1v8lf9m45dm997yhq0cmqgw10jxxiybn";
   };
 
   doCheck = true;
@@ -35,12 +35,8 @@ stdenv.mkDerivation rec {
       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
       --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
-    rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
-  patches = [ ./fix_files_loss.patch ];
-
   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/3.12/core/totem/fix_files_loss.patch b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
deleted file mode 100644
index b85ad1efd00..00000000000
--- a/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 524c9e39a0ca6f2d1699e6e6d9ba3db1ea80d9f9 Mon Sep 17 00:00:00 2001
-From: Bastien Nocera <hadess@hadess.net>
-Date: Thu, 15 May 2014 19:28:35 +0200
-Subject: main: Fix potential data loss when removing multiple files
-
-We were using a list of GtkTreePaths and deleting the items one-by-one
-when the user clicked the "Delete" button. But after the first deletion,
-the tree model would have changed, and instead of pointing to the 2nd
-item we wanted to delete, the GtkTreePath would have pointed to another
-item, usually not one that we wanted to delete.
-
-We now use GtkTreeRowReferences, which will always point to the same
-row, as long as it exists.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=729778
-
-diff --git a/src/totem-grilo.c b/src/totem-grilo.c
-index 2133d77..0cff0d6 100644
---- a/src/totem-grilo.c
-+++ b/src/totem-grilo.c
-@@ -2074,7 +2074,8 @@ static void
- delete_foreach (gpointer data,
- 		gpointer user_data)
- {
--	GtkTreePath *path = data;
-+	GtkTreeRowReference *ref = data;
-+	GtkTreePath *path;
- 	GtkTreeModel *view_model = user_data;
- 	GtkTreeIter iter;
- 	GrlSource *source;
-@@ -2085,8 +2086,11 @@ delete_foreach (gpointer data,
- 	GtkTreeModel *model;
- 	GtkTreeIter real_model_iter;
- 
--	if (!gtk_tree_model_get_iter (view_model, &iter, path))
-+	path = gtk_tree_row_reference_get_path (ref);
-+	if (!path || !gtk_tree_model_get_iter (view_model, &iter, path)) {
-+		g_warning ("An item that was scheduled for removal isn't available any more");
- 		return;
-+	}
- 
- 	gtk_tree_model_get (view_model, &iter,
- 			    MODEL_RESULTS_CONTENT, &media,
-@@ -2151,14 +2155,23 @@ delete_cb (TotemSelectionToolbar *bar,
- 	   TotemGrilo            *self)
- {
- 	GtkTreeModel *model;
--	GList *list;
-+	GList *list, *l;
- 
- 	g_signal_handlers_block_by_func (self->priv->browser, "view-selection-changed", self);
- 
- 	model = gd_main_view_get_model (GD_MAIN_VIEW (self->priv->browser));
- 	list = gd_main_view_get_selection (GD_MAIN_VIEW (self->priv->browser));
-+
-+	/* GList of GtkTreePaths to a GList of GtkTreeRowReferences */
-+	for (l = list; l != NULL; l = l->next) {
-+		GtkTreeRowReference *ref;
-+
-+		ref = gtk_tree_row_reference_new (model, l->data);
-+		gtk_tree_path_free (l->data);
-+		l->data = ref;
-+	}
- 	g_list_foreach (list, delete_foreach, model);
--	g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
-+	g_list_free_full (list, (GDestroyNotify) gtk_tree_row_reference_free);
- 
- 	g_signal_handlers_unblock_by_func (self->priv->browser, "view-selection-changed", self);
- 
--- 
-cgit v0.10.1
-
diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
index 79155fe9b56..f3de70e10a1 100644
--- a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix
@@ -1,18 +1,18 @@
 { stdenv, intltool, fetchurl, libxml2, upower
-, pkgconfig, gtk3, glib, hicolor_icon_theme
-, bash, makeWrapper, itstool, vala, sqlite
+, pkgconfig, gtk3, glib, hicolor_icon_theme, gobjectIntrospection
+, bash, makeWrapper, itstool, vala, sqlite, automake, autoconf
 , gnome3, librsvg, gdk_pixbuf, file, libnotify
-, evolution_data_server, gst_all_1, poppler
+, evolution_data_server, gst_all_1, poppler, libtool
 , icu, taglib, libjpeg, libtiff, giflib, libcue
 , libvorbis, flac, exempi, networkmanager
 , libpng, libexif, libgsf, libuuid, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "tracker-1.0.1";
+  name = "tracker-1.0.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz";
-    sha256 = "76e7918e62526a8209f9c9226f82abe592a6332826ac7c12e6e405063181e889";
+    sha256 = "11pqcldgh07mjn38dlbj6ry5qkfbpf79ln5sqx7q86hhqzh3712h";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
@@ -21,8 +21,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  preConfigure = ''
+    substituteInPlace src/libtracker-sparql/Makefile.am --replace "shared-library=" "shared-library=$out/lib/"
+    sed -i -e 's,glib/poppler.h,poppler.h,' src/tracker-extract/tracker-extract-pdf.c
+  '';
+  
   buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2
-                  bzip2 gnome3.totem-pl-parser
+                  bzip2 gnome3.totem-pl-parser gobjectIntrospection
+                  automake autoconf libtool
                   gnome3.gsettings_desktop_schemas makeWrapper file
                   gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite
                   upower libnotify evolution_data_server gnome3.libgee
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
new file mode 100644
index 00000000000..548ca347a45
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection, vala, libxml2
+, selectTextPatch ? false }:
+
+stdenv.mkDerivation rec {
+  versionMajor = "0.38";
+  versionMinor = "0";
+  moduleName   = "vte";
+
+  name = "${moduleName}-${versionMajor}.${versionMinor}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    sha256 = "1llg2xnjpn630vd86ci8csbjjacj3ia6syck2bsq4kinr66z5zsw";
+  };
+
+  patches = with stdenv.lib; optional selectTextPatch ./expose_select_text.0.38.0.patch;
+
+  buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses vala libxml2 ];
+
+  preConfigure = "patchShebangs .";
+
+  configureFlags = [ "--enable-introspection" ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gnome.org/;
+    description = "A library implementing a terminal emulator widget for GTK+";
+    longDescription = ''
+      VTE is a library (libvte) implementing a terminal emulator widget for
+      GTK+, and a minimal sample application (vte) using that.  Vte is
+      mainly used in gnome-terminal, but can also be used to embed a
+      console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
+      character set conversion, as well as emulating any terminal known to
+      the system's terminfo database.
+    '';
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ astsmtl antono lethalman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
index 41597e47fa5..d3245e232ed 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection
+, selectTextPatch ? false }:
 
 stdenv.mkDerivation rec {
-
   versionMajor = "0.36";
-  versionMinor = "2";
+  versionMinor = "3";
   moduleName   = "vte";
 
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "f45eed3aed823068c7563345ea947be0e6ddb3dacd74646e6d7d26a921e04345";
+    sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c";
   };
 
+  patches = with stdenv.lib; optional selectTextPatch ./expose_select_text.patch;
+
   buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
 
   configureFlags = [ "--enable-introspection" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch
new file mode 100644
index 00000000000..0a9b82a8598
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch
@@ -0,0 +1,227 @@
+Only in vte-0.38.0.new: expose_select_text.patch
+diff -aur vte-0.38.0/src/vteaccess.c vte-0.38.0.new/src/vteaccess.c
+--- vte-0.38.0/src/vteaccess.c	2014-08-13 08:00:38.000000000 -0400
++++ vte-0.38.0.new/src/vteaccess.c	2014-09-21 17:05:23.934641193 -0400
+@@ -1427,7 +1427,7 @@
+ 	*start_offset = offset_from_xy (priv, start_x, start_y);
+ 	_vte_terminal_get_end_selection (terminal, &end_x, &end_y);
+ 	*end_offset = offset_from_xy (priv, end_x, end_y);
+-	return _vte_terminal_get_selection (terminal);
++	return vte_terminal_get_selection (terminal);
+ }
+ 
+ static gboolean
+diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c
+--- vte-0.38.0/src/vte.c	2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vte.c	2014-09-21 17:03:04.671656749 -0400
+@@ -122,7 +122,6 @@
+ 						 gpointer data,
+ 						 GArray *attributes,
+ 						 gboolean include_trailing_spaces);
+-static void _vte_terminal_disconnect_pty_read(VteTerminal *terminal);
+ static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal);
+ static void vte_terminal_stop_processing (VteTerminal *terminal);
+ 
+@@ -3267,9 +3266,10 @@
+ 	_vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n");
+ 	terminal->pvt->pty_input_source = 0;
+ }
+-static void
+-_vte_terminal_connect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_connect_pty_read(VteTerminal *terminal)
+ {
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ 	if (terminal->pvt->pty_channel == NULL) {
+ 		return;
+ 	}
+@@ -3321,9 +3321,10 @@
+ 	}
+ }
+ 
+-static void
+-_vte_terminal_disconnect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_disconnect_pty_read(VteTerminal *terminal)
+ {
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ 	if (terminal->pvt->pty_input_source != 0) {
+ 		_vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
+ 		g_source_remove(terminal->pvt->pty_input_source);
+@@ -6154,6 +6155,28 @@
+ 	}
+ }
+ 
++/**
++ * vte_terminal_set_cursor_position:
++ * @terminal: a #VteTerminal
++ * @column: the new cursor column
++ * @row: the new cursor row
++ *
++ * Set the location of the cursor.
++ */
++void
++vte_terminal_set_cursor_position(VteTerminal *terminal,
++				 long column, long row)
++{
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
++
++	_vte_invalidate_cursor_once(terminal, FALSE);
++	terminal->pvt->screen->cursor_current.col = column;
++	terminal->pvt->screen->cursor_current.row = row;
++	_vte_invalidate_cursor_once(terminal, FALSE);
++	_vte_check_cursor_blink(terminal);
++	vte_terminal_queue_cursor_moved(terminal);
++}
++
+ static GtkClipboard *
+ vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board)
+ {
+@@ -6319,7 +6342,7 @@
+         vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE);
+ 
+ 	/* Temporarily stop caring about input from the child. */
+-	_vte_terminal_disconnect_pty_read(terminal);
++	vte_terminal_disconnect_pty_read(terminal);
+ }
+ 
+ static gboolean
+@@ -6336,7 +6359,7 @@
+ 		terminal->pvt->selecting = FALSE;
+ 
+ 		/* Reconnect to input from the child if we paused it. */
+-		_vte_terminal_connect_pty_read(terminal);
++		vte_terminal_connect_pty_read(terminal);
+ 
+ 		return TRUE;
+ 	}
+@@ -6834,6 +6857,50 @@
+ 	vte_terminal_deselect_all (terminal);
+ }
+ 
++/**
++ * vte_terminal_get_selection_block_mode:
++ * @terminal: a #VteTerminal
++ *
++ * Checks whether or not block selection is enabled.
++ *
++ * Returns: %TRUE if block selection is enabled, %FALSE if not
++ */
++gboolean
++vte_terminal_get_selection_block_mode(VteTerminal *terminal) {
++	g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
++	return terminal->pvt->selection_block_mode;
++}
++
++/**
++ * vte_terminal_set_selection_block_mode:
++ * @terminal: a #VteTerminal
++ * @block_mode: whether block selection is enabled
++ *
++ * Sets whether or not block selection is enabled.
++ */
++void
++vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) {
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
++	terminal->pvt->selection_block_mode = block_mode;
++}
++
++/**
++ * vte_terminal_select_text:
++ * @terminal: a #VteTerminal
++ * @start_col: the starting column for the selection
++ * @start_row: the starting row for the selection
++ * @end_col: the end column for the selection
++ * @end_row: the end row for the selection
++ *
++ * Sets the current selection region.
++ */
++void
++vte_terminal_select_text(VteTerminal *terminal,
++			 long start_col, long start_row,
++			 long end_col, long end_row) {
++	_vte_terminal_select_text(terminal, start_col, start_row, end_col, end_row, 0, 0);
++}
++
+ /* Autoscroll a bit. */
+ static gboolean
+ vte_terminal_autoscroll(VteTerminal *terminal)
+@@ -8476,7 +8543,7 @@
+ #endif
+ 		kill(terminal->pvt->pty_pid, SIGHUP);
+ 	}
+-	_vte_terminal_disconnect_pty_read(terminal);
++	vte_terminal_disconnect_pty_read(terminal);
+ 	_vte_terminal_disconnect_pty_write(terminal);
+ 	if (terminal->pvt->pty_channel != NULL) {
+ 		g_io_channel_unref (terminal->pvt->pty_channel);
+@@ -12533,7 +12600,7 @@
+         g_object_freeze_notify(object);
+ 
+         if (pvt->pty != NULL) {
+-                _vte_terminal_disconnect_pty_read(terminal);
++                vte_terminal_disconnect_pty_read(terminal);
+                 _vte_terminal_disconnect_pty_write(terminal);
+ 
+                 if (terminal->pvt->pty_channel != NULL) {
+@@ -12588,7 +12655,7 @@
+         _vte_terminal_setup_utf8 (terminal);
+ 
+         /* Open channels to listen for input on. */
+-        _vte_terminal_connect_pty_read (terminal);
++        vte_terminal_connect_pty_read (terminal);
+ 
+         g_object_notify(object, "pty");
+ 
+@@ -12623,7 +12690,7 @@
+ }
+ 
+ char *
+-_vte_terminal_get_selection(VteTerminal *terminal)
++vte_terminal_get_selection(VteTerminal *terminal)
+ {
+ 	g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
+ 
+Only in vte-0.38.0.new/src: .vte.c.swp
+diff -aur vte-0.38.0/src/vteint.h vte-0.38.0.new/src/vteint.h
+--- vte-0.38.0/src/vteint.h	2014-05-16 13:51:26.000000000 -0400
++++ vte-0.38.0.new/src/vteint.h	2014-09-21 17:05:44.934589281 -0400
+@@ -25,7 +25,6 @@
+ G_BEGIN_DECLS
+ 
+ void _vte_terminal_accessible_ref(VteTerminal *terminal);
+-char* _vte_terminal_get_selection(VteTerminal *terminal);
+ void _vte_terminal_get_start_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_get_end_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_select_text(VteTerminal *terminal, long start_x, long start_y, long end_x, long end_y, int start_offset, int end_offset);
+diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h
+--- vte-0.38.0/src/vteterminal.h	2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vteterminal.h	2014-09-21 17:03:39.094903032 -0400
+@@ -170,6 +170,18 @@
+ 
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
++                                           gboolean block_mode) _VTE_GNUC_NONNULL(1);
++void vte_terminal_select_text(VteTerminal *terminal,
++                              long start_col, long start_row,
++                              long end_col, long end_row) _VTE_GNUC_NONNULL(1);
++char *
++vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++
++/* pause and unpause output */
++void vte_terminal_disconnect_pty_read(VteTerminal *vte);
++void vte_terminal_connect_pty_read(VteTerminal *vte);
+ 
+ /* Set the terminal's size. */
+ void vte_terminal_set_size(VteTerminal *terminal,
+@@ -276,6 +288,8 @@
+ void vte_terminal_get_cursor_position(VteTerminal *terminal,
+ 				      glong *column,
+                                       glong *row) _VTE_GNUC_NONNULL(1);
++void vte_terminal_set_cursor_position(VteTerminal *terminal,
++				      long column, long row) _VTE_GNUC_NONNULL(1);
+ 
+ /* Add a matching expression, returning the tag the widget assigns to that
+  * expression. */
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch
new file mode 100644
index 00000000000..0a9b82a8598
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch
@@ -0,0 +1,227 @@
+Only in vte-0.38.0.new: expose_select_text.patch
+diff -aur vte-0.38.0/src/vteaccess.c vte-0.38.0.new/src/vteaccess.c
+--- vte-0.38.0/src/vteaccess.c	2014-08-13 08:00:38.000000000 -0400
++++ vte-0.38.0.new/src/vteaccess.c	2014-09-21 17:05:23.934641193 -0400
+@@ -1427,7 +1427,7 @@
+ 	*start_offset = offset_from_xy (priv, start_x, start_y);
+ 	_vte_terminal_get_end_selection (terminal, &end_x, &end_y);
+ 	*end_offset = offset_from_xy (priv, end_x, end_y);
+-	return _vte_terminal_get_selection (terminal);
++	return vte_terminal_get_selection (terminal);
+ }
+ 
+ static gboolean
+diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c
+--- vte-0.38.0/src/vte.c	2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vte.c	2014-09-21 17:03:04.671656749 -0400
+@@ -122,7 +122,6 @@
+ 						 gpointer data,
+ 						 GArray *attributes,
+ 						 gboolean include_trailing_spaces);
+-static void _vte_terminal_disconnect_pty_read(VteTerminal *terminal);
+ static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal);
+ static void vte_terminal_stop_processing (VteTerminal *terminal);
+ 
+@@ -3267,9 +3266,10 @@
+ 	_vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n");
+ 	terminal->pvt->pty_input_source = 0;
+ }
+-static void
+-_vte_terminal_connect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_connect_pty_read(VteTerminal *terminal)
+ {
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ 	if (terminal->pvt->pty_channel == NULL) {
+ 		return;
+ 	}
+@@ -3321,9 +3321,10 @@
+ 	}
+ }
+ 
+-static void
+-_vte_terminal_disconnect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_disconnect_pty_read(VteTerminal *terminal)
+ {
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ 	if (terminal->pvt->pty_input_source != 0) {
+ 		_vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
+ 		g_source_remove(terminal->pvt->pty_input_source);
+@@ -6154,6 +6155,28 @@
+ 	}
+ }
+ 
++/**
++ * vte_terminal_set_cursor_position:
++ * @terminal: a #VteTerminal
++ * @column: the new cursor column
++ * @row: the new cursor row
++ *
++ * Set the location of the cursor.
++ */
++void
++vte_terminal_set_cursor_position(VteTerminal *terminal,
++				 long column, long row)
++{
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
++
++	_vte_invalidate_cursor_once(terminal, FALSE);
++	terminal->pvt->screen->cursor_current.col = column;
++	terminal->pvt->screen->cursor_current.row = row;
++	_vte_invalidate_cursor_once(terminal, FALSE);
++	_vte_check_cursor_blink(terminal);
++	vte_terminal_queue_cursor_moved(terminal);
++}
++
+ static GtkClipboard *
+ vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board)
+ {
+@@ -6319,7 +6342,7 @@
+         vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE);
+ 
+ 	/* Temporarily stop caring about input from the child. */
+-	_vte_terminal_disconnect_pty_read(terminal);
++	vte_terminal_disconnect_pty_read(terminal);
+ }
+ 
+ static gboolean
+@@ -6336,7 +6359,7 @@
+ 		terminal->pvt->selecting = FALSE;
+ 
+ 		/* Reconnect to input from the child if we paused it. */
+-		_vte_terminal_connect_pty_read(terminal);
++		vte_terminal_connect_pty_read(terminal);
+ 
+ 		return TRUE;
+ 	}
+@@ -6834,6 +6857,50 @@
+ 	vte_terminal_deselect_all (terminal);
+ }
+ 
++/**
++ * vte_terminal_get_selection_block_mode:
++ * @terminal: a #VteTerminal
++ *
++ * Checks whether or not block selection is enabled.
++ *
++ * Returns: %TRUE if block selection is enabled, %FALSE if not
++ */
++gboolean
++vte_terminal_get_selection_block_mode(VteTerminal *terminal) {
++	g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
++	return terminal->pvt->selection_block_mode;
++}
++
++/**
++ * vte_terminal_set_selection_block_mode:
++ * @terminal: a #VteTerminal
++ * @block_mode: whether block selection is enabled
++ *
++ * Sets whether or not block selection is enabled.
++ */
++void
++vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) {
++	g_return_if_fail(VTE_IS_TERMINAL(terminal));
++	terminal->pvt->selection_block_mode = block_mode;
++}
++
++/**
++ * vte_terminal_select_text:
++ * @terminal: a #VteTerminal
++ * @start_col: the starting column for the selection
++ * @start_row: the starting row for the selection
++ * @end_col: the end column for the selection
++ * @end_row: the end row for the selection
++ *
++ * Sets the current selection region.
++ */
++void
++vte_terminal_select_text(VteTerminal *terminal,
++			 long start_col, long start_row,
++			 long end_col, long end_row) {
++	_vte_terminal_select_text(terminal, start_col, start_row, end_col, end_row, 0, 0);
++}
++
+ /* Autoscroll a bit. */
+ static gboolean
+ vte_terminal_autoscroll(VteTerminal *terminal)
+@@ -8476,7 +8543,7 @@
+ #endif
+ 		kill(terminal->pvt->pty_pid, SIGHUP);
+ 	}
+-	_vte_terminal_disconnect_pty_read(terminal);
++	vte_terminal_disconnect_pty_read(terminal);
+ 	_vte_terminal_disconnect_pty_write(terminal);
+ 	if (terminal->pvt->pty_channel != NULL) {
+ 		g_io_channel_unref (terminal->pvt->pty_channel);
+@@ -12533,7 +12600,7 @@
+         g_object_freeze_notify(object);
+ 
+         if (pvt->pty != NULL) {
+-                _vte_terminal_disconnect_pty_read(terminal);
++                vte_terminal_disconnect_pty_read(terminal);
+                 _vte_terminal_disconnect_pty_write(terminal);
+ 
+                 if (terminal->pvt->pty_channel != NULL) {
+@@ -12588,7 +12655,7 @@
+         _vte_terminal_setup_utf8 (terminal);
+ 
+         /* Open channels to listen for input on. */
+-        _vte_terminal_connect_pty_read (terminal);
++        vte_terminal_connect_pty_read (terminal);
+ 
+         g_object_notify(object, "pty");
+ 
+@@ -12623,7 +12690,7 @@
+ }
+ 
+ char *
+-_vte_terminal_get_selection(VteTerminal *terminal)
++vte_terminal_get_selection(VteTerminal *terminal)
+ {
+ 	g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
+ 
+Only in vte-0.38.0.new/src: .vte.c.swp
+diff -aur vte-0.38.0/src/vteint.h vte-0.38.0.new/src/vteint.h
+--- vte-0.38.0/src/vteint.h	2014-05-16 13:51:26.000000000 -0400
++++ vte-0.38.0.new/src/vteint.h	2014-09-21 17:05:44.934589281 -0400
+@@ -25,7 +25,6 @@
+ G_BEGIN_DECLS
+ 
+ void _vte_terminal_accessible_ref(VteTerminal *terminal);
+-char* _vte_terminal_get_selection(VteTerminal *terminal);
+ void _vte_terminal_get_start_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_get_end_selection(VteTerminal *terminal, long *x, long *y);
+ void _vte_terminal_select_text(VteTerminal *terminal, long start_x, long start_y, long end_x, long end_y, int start_offset, int end_offset);
+diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h
+--- vte-0.38.0/src/vteterminal.h	2014-09-13 03:23:47.000000000 -0400
++++ vte-0.38.0.new/src/vteterminal.h	2014-09-21 17:03:39.094903032 -0400
+@@ -170,6 +170,18 @@
+ 
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
++                                           gboolean block_mode) _VTE_GNUC_NONNULL(1);
++void vte_terminal_select_text(VteTerminal *terminal,
++                              long start_col, long start_row,
++                              long end_col, long end_row) _VTE_GNUC_NONNULL(1);
++char *
++vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++
++/* pause and unpause output */
++void vte_terminal_disconnect_pty_read(VteTerminal *vte);
++void vte_terminal_connect_pty_read(VteTerminal *vte);
+ 
+ /* Set the terminal's size. */
+ void vte_terminal_set_size(VteTerminal *terminal,
+@@ -276,6 +288,8 @@
+ void vte_terminal_get_cursor_position(VteTerminal *terminal,
+ 				      glong *column,
+                                       glong *row) _VTE_GNUC_NONNULL(1);
++void vte_terminal_set_cursor_position(VteTerminal *terminal,
++				      long column, long row) _VTE_GNUC_NONNULL(1);
+ 
+ /* Add a matching expression, returning the tag the widget assigns to that
+  * expression. */
diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
index 0a5bc78af47..e9911823073 100644
--- a/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Apps/Yelp;
     description = "Yelp's universal stylesheets for Mallard and DocBook";
     maintainers = with maintainers; [ lethalman ];
-    # TODO license = [licenses.gpl2 licenses.lgpl2];
+    license = [licenses.gpl2 licenses.lgpl2];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
index d8897e262d5..2e7715d1efc 100644
--- a/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix
@@ -1,5 +1,5 @@
 { stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf
+, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf, sqlite
 , bash, makeWrapper, itstool, libxml2, libxslt, icu }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
                   libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl
                   librsvg gdk_pixbuf gnome3.gnome_icon_theme
                   hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
-                  gnome3.gsettings_desktop_schemas ];
+                  gnome3.gsettings_desktop_schemas sqlite ];
 
   preFixup = ''
     wrapProgram "$out/bin/yelp" \
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Yelp;
-    description = "Yelp is the help viewer in Gnome.";
+    description = "The help viewer in Gnome";
     maintainers = with maintainers; [ lethalman ];
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix
index 586c66e8494..ac5427d0e40 100644
--- a/pkgs/desktops/gnome-3/3.12/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -3,11 +3,13 @@
 rec {
   inherit (pkgs) glib gtk2 gtk3 gnome2;
   gnome3 = pkgs.gnome3_12 // { recurseForDerivations = false; };
+
+  # DO NOT UPGRADE CLUTTER, IT BREAKS GNOME 3.12
   clutter = pkgs.clutter_1_18;
   clutter_gtk = pkgs.clutter_gtk.override { inherit clutter; };
   clutter-gst = pkgs.clutter-gst.override { inherit clutter; };
-  upower = pkgs.upower_99;
   cogl = pkgs.cogl_1_18;
+
   gtk = gtk3; # just to be sure
   libcanberra = pkgs.libcanberra_gtk3; # just to be sure
   inherit (pkgs.gnome2) ORBit2;
@@ -22,9 +24,13 @@ rec {
 
   dconf = callPackage ./core/dconf { };
 
-  empathy = callPackage ./core/empathy { };
+  empathy = callPackage ./core/empathy {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
-  epiphany = callPackage ./core/epiphany { };
+  epiphany = callPackage ./core/epiphany {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
 
@@ -76,7 +82,9 @@ rec {
 
   folks = callPackage ./core/folks { };
 
-  gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
+  gnome_online_accounts = callPackage ./core/gnome-online-accounts {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   gnome-online-miners = callPackage ./core/gnome-online-miners { };
 
@@ -112,7 +120,7 @@ rec {
 
   gucharmap = callPackage ./core/gucharmap { };
 
-  gvfs = pkgs.gvfs.override { gnome = gnome3; lightWeight = false; };
+  gvfs = pkgs.gvfs.override { gnome = gnome3; gnomeSupport = true; };
 
   eog = callPackage ./core/eog { };
 
@@ -158,19 +166,27 @@ rec {
 
   rest = callPackage ./core/rest { };
 
-  sushi = callPackage ./core/sushi { };
+  sushi = callPackage ./core/sushi {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   totem = callPackage ./core/totem { };
 
   totem-pl-parser = callPackage ./core/totem-pl-parser { };
 
-  tracker = callPackage ./core/tracker { };
+  tracker = callPackage ./core/tracker { giflib = pkgs.giflib_5_0; };
 
   vte = callPackage ./core/vte { };
 
+  vte_038 = callPackage ./core/vte/0.38.0.nix { }; # To be moved in gnome 3.14 when available
+
+  vte-select-text = vte_038.override { selectTextPatch = true; };
+
   vino = callPackage ./core/vino { };
 
-  yelp = callPackage ./core/yelp { };
+  yelp = callPackage ./core/yelp {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   yelp_xsl = callPackage ./core/yelp-xsl { };
 
@@ -181,9 +197,13 @@ rec {
 
 #### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
 
-  bijiben = callPackage ./apps/bijiben { };
+  bijiben = callPackage ./apps/bijiben {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
-  evolution = callPackage ./apps/evolution { };
+  evolution = callPackage ./apps/evolution {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   file-roller = callPackage ./apps/file-roller { };
 
@@ -198,7 +218,9 @@ rec {
 
   gnome-clocks = callPackage ./apps/gnome-clocks { };
 
-  gnome-documents = callPackage ./apps/gnome-documents { };
+  gnome-documents = callPackage ./apps/gnome-documents {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   gnome-music = callPackage ./apps/gnome-music { };
 
@@ -211,6 +233,10 @@ rec {
 
   seahorse = callPackage ./apps/seahorse { };
 
+  polari = callPackage ./apps/polari { };
+
+  pomodoro = callPackage ./apps/pomodoro { };
+
 #### Dev http://ftp.gnome.org/pub/GNOME/devtools/
 
   anjuta = callPackage ./devtools/anjuta { };
@@ -219,20 +245,26 @@ rec {
 
 #### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
 
-  geary = callPackage ./misc/geary { };
+  geary = callPackage ./misc/geary {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   gfbgraph = callPackage ./misc/gfbgraph { };
 
   goffice = callPackage ./misc/goffice { };
 
-  gitg = callPackage ./misc/gitg { };
+  gitg = callPackage ./misc/gitg {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
 
   libgda = callPackage ./misc/libgda { };
 
-  libgit2-glib = callPackage ./misc/libgit2-glib { };
+  libgit2-glib = callPackage ./misc/libgit2-glib {
+    libgit2 = pkgs.libgit2.override { libssh2 = null; };
+  };
 
   libmediaart = callPackage ./misc/libmediaart { };
-  
+
   gexiv2 = callPackage ./misc/gexiv2 { };
 
   gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
@@ -240,4 +272,5 @@ rec {
   gpaste = callPackage ./misc/gpaste { };
 
   gtkhtml = callPackage ./misc/gtkhtml { };
+
 }
diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
index 1eb6c0e3ed2..4df287c7b8b 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk3, vala
 , makeWrapper, gdk_pixbuf, cmake, desktop_file_utils
 , libnotify, libcanberra, libsecret, gmime
-, libpthreadstubs, hicolor_icon_theme
+, libpthreadstubs, hicolor_icon_theme, sqlite
 , gnome3, librsvg, gnome_doc_utils, webkitgtk }:
 
 stdenv.mkDerivation rec {
-  name = "geary-0.6.0";
+  name = "geary-0.6.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz";
-    sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715";
+    sha256 = "0ap40mpj89sx82kcxlhl9gipq34ks2b70yhiv9s8zc5wg0nm7rpg";
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   buildInputs = [ intltool pkgconfig gtk3 makeWrapper cmake desktop_file_utils gnome_doc_utils
-                  vala webkitgtk libnotify libcanberra gnome3.libgee libsecret gmime
+                  vala webkitgtk libnotify libcanberra gnome3.libgee libsecret gmime sqlite
                   libpthreadstubs gnome3.gsettings_desktop_schemas hicolor_icon_theme
                   gdk_pixbuf librsvg gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ];
 
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
index 401d5cf2f36..37e1975fd57 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    rm $out/share/icons/hicolor/icon-theme.cache
     rm $out/share/gitg/icons/hicolor/icon-theme.cache
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
index 1a48d6529a2..26e9144349f 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
@@ -4,11 +4,11 @@
 , gnome3, librsvg, gdk_pixbuf, file, libnotify }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-tweak-tool-3.10.1";
+  name = "gnome-tweak-tool-3.12.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz";
-    sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec";
+    url = "mirror://gnome/sources/gnome-tweak-tool/3.12/${name}.tar.xz";
+    sha256 = "f8811d638797ef62500770a8dccc5bc689a427c8396a0dff8cbeddffdebf0e29";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
index fd16d2d4985..f116f5b53cd 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix
@@ -2,11 +2,11 @@
 , libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
 
 stdenv.mkDerivation rec {
-  name = "goffice-0.10.12";
+  name = "goffice-0.10.18";
 
   src = fetchurl {
     url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
-    sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff";
+    sha256 = "4743a148d4452743f3484ed28285a6889adb4af2a61b72448e0ddfe7d5142c64";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
index c303ccdf51e..f87431653c9 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -2,12 +2,12 @@
 , pango, gtk3, gnome3, dbus, clutter, appdata-tools, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "3.12.2";
+  version = "3.12.3.1";
   name = "gpaste-${version}";
 
   src = fetchurl {
     url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "665c1d228c02148a8a1a5675d352cd4397a02c0c9992af2e9f0258dcc6b812ec";
+    sha256 = "05afbhn3gw015cf2z3045lvlnj4cz06p6libkglb2wqsfb7azbl0";
   };
 
   buildInputs = [ intltool autoreconfHook pkgconfig vala glib
diff --git a/pkgs/desktops/kde-4.12/applications/kate.nix b/pkgs/desktops/kde-4.12/applications/kate.nix
deleted file mode 100644
index e7a6476dd6d..00000000000
--- a/pkgs/desktops/kde-4.12/applications/kate.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4}:
-
-kde {
-
-  buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4 ];
-
-  meta = {
-    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/default.nix b/pkgs/desktops/kde-4.12/default.nix
deleted file mode 100644
index ffcd3115de7..00000000000
--- a/pkgs/desktops/kde-4.12/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.12.4" }:
-
-let
-  branch = "4.12";
-
-  # Need callPackageOrig to avoid infinite cycle
-  kde = callPackageOrig ./kde-package {
-    inherit release branch ignoreList extraSubpkgs callPackage;
-  };
-
-  # The list of igored individual modules
-  ignoreList = {
-    # Doesn't work yet
-    kdeutils = [ "ksecrets" ];
-    # kdeadmin/strigi-analyzer has no real code
-    kdeadmin = [ "strigi-analyzer" ];
-    # Most of kdebindings do not compile due to a bug in the buildsystem
-    kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
-  };
-
-  # Extra subpackages in the manifest format
-  extraSubpkgs = {};
-
-in
-
-kde.modules // kde.individual //
-{
-  inherit (kde) manifest modules individual splittedModuleList;
-
-  akonadi = callPackage ./support/akonadi { };
-
-  qt4 = qt48;
-
-  kdebase_workspace = kde.modules.kde_workspace;
-
-  inherit release;
-
-  full = stdenv.lib.attrValues kde.modules;
-
-  l10n = callPackage ./l10n {
-    inherit release branch;
-    inherit (kde.manifest) stable;
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kactivities.nix b/pkgs/desktops/kde-4.12/kactivities.nix
deleted file mode 100644
index 06381bb13d7..00000000000
--- a/pkgs/desktops/kde-4.12/kactivities.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ kde, kdelibs, nepomuk_core }:
-
-kde {
-  propagatedBuildInputs = [ kdelibs nepomuk_core ];
-
-  meta = {
-    description = "KDE activities library and daemon";
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix
deleted file mode 100644
index a65f33e13de..00000000000
--- a/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ stdenv, kde, kdelibs, htmlTidy, kactivities
-, nepomuk_core, nepomuk_widgets, libXt }:
-
-kde {
-  buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
-
-  meta = {
-    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix b/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix
deleted file mode 100644
index 9b5a53cee48..00000000000
--- a/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix
+++ /dev/null
@@ -1,444 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="amor";value="0c8298z7c3a71yj6nik7h8h7rngqzrz6rc95kl990p37jp2ng0d9";}
-  {name="analitza";value="0l122nh81nf7r4bm73gc6dp9k4jh2dxc7majrzjq37hb8pi77njh";}
-  {name="ark";value="155bhqqyw3afm99c47b3pxqf9fiqcz6gqg1pavsx9q4rmk7rp8m6";}
-  {name="audiocd-kio";value="1c5234s1hdh6jc8szyb4nwqr1h8hhwlmin0iyxabsl0c45pss9pa";}
-  {name="blinken";value="0q0y3xfv3pjrw0h8mnbigpywwrqk8wb2lqbjcgk755j6syinhphh";}
-  {name="bomber";value="1f12qmg58n9sj6vjqdj57ch50pq5f0h6anx06x9bhhs502w6aqwy";}
-  {name="bovo";value="10x4qy4vdp76iv3n60iy24lk1wbsjdfr88l1m9xifj4k942wk2ir";}
-  {name="cantor";value="1x5rxshdbgl40cqx6h5r0hx49rrc6gwnabsl8b7kzimh0kbv2ma9";}
-  {name="cervisia";value="0ia78cjkq606232jy14ps7cpm77pq4xdmcfimv4l6p0xjpq8jzsg";}
-  {name="dolphin-plugins";value="08h278jpbll7wc1mhz58cklj1bkrk61dfwjlflag6fnlm6i4xx8k";}
-  {name="dragon";value="16gyr0dl50nl9r3yc2fkwmqlrfgzzyim6bdlb9a76winzbz8mgxr";}
-  {name="ffmpegthumbs";value="01cmwm6w1z2gsllwdmrzsl9882fw5k59lr1k7z114kkrh1l0b2j4";}
-  {name="filelight";value="01rs1r80ixm1dj5d73a22893rdz2srxqp4dv5pysw1fhn02zdkkf";}
-  {name="granatier";value="1ia85yxfbbi8qxdyn0vwgmdjrxwssb6nadbia1yqsjdncfsnhbvs";}
-  {name="gwenview";value="01p5b1z05v3c7f192fxrrfp6x3ss7gx8pxv29czkp641hpmcg3jl";}
-  {name="jovie";value="1hfkj3vlvm63sgb4gx3xl7nksb5cfqnh7shs7wqm3gl6yj2rwhjj";}
-  {name="juk";value="1vxnrxz6gbyk7fd15akhiyczpgq03cym3nldi61m958cx4khd4y7";}
-  {name="kaccessible";value="0a9r2bk8a5h7mpl37li3bqbsz5dfgn8rsxnri93msvc6555pnyzv";}
-  {name="kactivities";value="1fl638cyj3abxfmbqcfqsd3idmdmys1xim4flf1jpbqa29psl75j";}
-  {name="kajongg";value="19awqjqn9hqhprzi7mjb6nkrgvb3mzhignkgalfjd4j5rga7vzz0";}
-  {name="kalgebra";value="1bj88nh7znk86i6a4d3jcjyqp46kzipfc99xvhxvqdsy8drbrwjp";}
-  {name="kalzium";value="00pjpdbd11jgzs443kgh8y6pxf3ff0ypgl5j3zfa6gbj18cnkkq0";}
-  {name="kamera";value="12mcjw8l0nh2jbi04myx1y1irbf92x9bx93gdymw939lawaalqic";}
-  {name="kanagram";value="1yd5agh61nv4ajlrijxg5g3hvw0xjxdvnc6h3lbz5mgvc8smvazk";}
-  {name="kapman";value="1aa78q6y2s9dig2603b9nry5rx5jbbxz2pb3jxr323hmqxp6jy1z";}
-  {name="kapptemplate";value="08j8xh9spk6ymlichl74n1v2zn342d94m6f4jragnx2jvif2163k";}
-  {name="kate";value="1cxc9bgzvfpns7dhmmafzxhnyjqxyq0adr0l1mbwsahxpkblc30r";}
-  {name="katomic";value="01lk7ajlj98rjbs76xd9r3hnd98dy49xv809m2zchm5ria7hdh48";}
-  {name="kblackbox";value="1sgbs0flllmy6d3518wwnzmdr14kqkxsi76h2p4xyk3bq2g9q2xg";}
-  {name="kblocks";value="1zinpxbvri52r26qiiiv4j4r02a22947hcrchf1z3n6lf817vqwv";}
-  {name="kbounce";value="0f9ssdpicvkiv7dxnj75h1cmz24mz2sy2zyp7rw7mvr9ynnl8w21";}
-  {name="kbreakout";value="02ix39kfkagmsqs8icqrqy9cz90lbl2wqajyjzrshw1vi29iahc7";}
-  {name="kbruch";value="0mfqdgwd5d8sy3bdiicpd5927dgg6zhm521f2q853qd2sqjbspgl";}
-  {name="kcachegrind";value="0dydarm1a2i64nazcl59s0a8b8z7znnm20wdmx2gfm5377j98y8x";}
-  {name="kcalc";value="1znrv4fqwaf56djf9qg6fxcp7nfi7fzza2whjlkayvc9kxv3ah9y";}
-  {name="kcharselect";value="0mbl9zvb9hp0xdi58v0vb8z0by71xkz22pr9flnkar5b1klnjpdb";}
-  {name="kcolorchooser";value="1d1cyaqi0rhwfnmjbxpjjavgwjhr3pd2rywlxxb9g4q3rv8k7wg5";}
-  {name="kcron";value="033f0s14crqpsirhgysi309b9pj02vwsd7fr28n6n2sh5imj30a0";}
-  {name="kdeartwork";value="08snjhaqiddiaj5jfd0vx1fjijsyqwngy7p1mkpdfhj7575sbx7c";}
-  {name="kde-baseapps";value="0k0mfbpvmv0n2brrb8hc0rd1wz04m3cyr1byb0z34a7x7kk1h1i4";}
-  {name="kde-base-artwork";value="0vmkbmir7hviqkv7nqrbqd6skj2srp9w4nrs8rkcvq7c8n76rk5w";}
-  {name="kde-dev-scripts";value="0l5frvb1akhy86j3yic3n1jirclj8r1jwjn760fi89vl1xysrarq";}
-  {name="kde-dev-utils";value="0807c8mq8rqqk8vf9r1idqmqrlfv9bsc8rjn8mfv2ch49mzzdrdj";}
-  {name="kdegraphics-mobipocket";value="1m6lnkr460261iq634lz887dbhvmj56p97k4llch3h80ra10mlh8";}
-  {name="kdegraphics-strigi-analyzer";value="1rqb1lzqb39p95xpf8c26pm9rxhcmycd518hxzp8arz6k2chazj8";}
-  {name="kdegraphics-thumbnailers";value="04aaxjznb176ym89f06gp4bycg67zndwc451mkdr33mal58jh0zs";}
-  {name="kdelibs";value="0dn0z1fs4vym7cp2749viw171dhay9ql2dp65a4hphmsdmk9bzv4";}
-  {name="kdenetwork-filesharing";value="1r3a5y9nmcf06nqsdh8k4jny7dmrhya8xi3jwz0d1mfzlfjksyf7";}
-  {name="kdenetwork-strigi-analyzers";value="0gqj5b91q3l5hna6zbgm17wi54g7g058n605adc1mch97yshqyrd";}
-  {name="kdepim";value="00lsyg6762kd2qvhhqq6vrrrl1fbk07yd3ha8w1yyjwiy9cnsy7z";}
-  {name="kdepimlibs";value="1h7k5ravilwz9r5lh7dqjnzh9h8hz43plbdaicjwk2sg4mqwzzhh";}
-  {name="kdepim-runtime";value="1z631kag1gpmk2ljk64vhscr3lad3mj3599phh0i8jqlxvr4007c";}
-  {name="kdeplasma-addons";value="0lfza3454hzbicqpz0ipjys9brjkblmpsngqg5njxd6ph9mzg34a";}
-  {name="kde-runtime";value="05n5cllsjyf03bgisykrbc74i7a3nm5f0k6hnq9sphf8xnxl318x";}
-  {name="kdesdk-kioslaves";value="045kf44s2gg3i2xl6087zn3cz80y7li26fzxdvvv89ywcq0npg59";}
-  {name="kdesdk-strigi-analyzers";value="15xxpgiy5bp6m78crw448mzv3yijjzipsrybadrbwqz6p7dpysbv";}
-  {name="kdesdk-thumbnailers";value="039rgq5p4mkdrilcvkf6k1d9d45swk74hdg3qnsbz3m47vqqf92h";}
-  {name="kde-wallpapers";value="0z7ffz2i410k2xxl1cr8m74mm90c5sizpbhmhyqxwjlsbz1gwfya";}
-  {name="kdewebdev";value="0ljwbzdcshjaz2dv7yp4ckj0c0jxa60ka6vjbhdmc4x7nvwnx737";}
-  {name="kdf";value="0s8ms5h5gdfa3697xg1yzz0h2hijlv68gi2g7n7g3xwpawbqrzv1";}
-  {name="kdiamond";value="10v7zrj4d96ppawjib1jgdz00455h8334w4vb619g448pj5h66sn";}
-  {name="kfloppy";value="1fd7wwbxngaiy0fbxvqp027rp61jg8fwajz70lx7acs20kcs0301";}
-  {name="kfourinline";value="1s2gc7zk932ks89c24pyimcsspnmabbmsdjh520xkzzxrp41gz0b";}
-  {name="kgamma";value="0n19zrarda9fvhimgnm84mdcaqgcqn4qfr0yw6i76la24pjbl46y";}
-  {name="kgeography";value="0w32841fligd3gyjl34q2f31jldw2vl47bi6cljwp7nlkdlp0lkn";}
-  {name="kget";value="1kls245b5s2dlxcrpa4d969zlr2lw797p7p2ilyhb4rbv871c0wd";}
-  {name="kgoldrunner";value="10xq9827gwib6w9h4hhys1v896rxqd50mz66k3frnrqals04zbbk";}
-  {name="kgpg";value="1wa5ymibiqnjxl5ck94y1xh3qk0bx3v7k7n2y3jcvprmhglffx6j";}
-  {name="khangman";value="1jfi30cb17gkn7v3i42wj0pqgaq3mr4fjbwh60ikvhxxd0nf5nny";}
-  {name="kig";value="1z0f50m1hgr5jj79v5v610bdggy4knlqnbxpnwf6ihj60v3cn0x0";}
-  {name="kigo";value="1klcgh3bpl3gqyh5zvij7ah754wjjf409a9l1xqxjigz4samnism";}
-  {name="killbots";value="04vy4zybgqls4whymqnzgkfbmzb17cc1m2xf2hp32bq5fq0r8103";}
-  {name="kimono";value="1bqbgch1z2nm143sp4lwnh3swvmvavhkj4scgx6d17m24jgd69hn";}
-  {name="kiriki";value="04r7p5f9a2iwv7c40pcnbga5ldcfjjig31fx81ww0b6p62dv2vrl";}
-  {name="kiten";value="1fxyy805b1q2sxdkd0hq2fr6plbnawzyascsbwychsqsasw2rmng";}
-  {name="kjumpingcube";value="0q2hn6lvz5grwz10nqq5jkcg3j1lgqsmmmhmx0glr4c732hg1z1d";}
-  {name="klettres";value="1w4340gaaip8imwy5d0058600v6fi7wnifppay2l7kvlp09iwmws";}
-  {name="klickety";value="088xvrb1jn8f3cfh39387pzw9simrjan63c24hn76290fkqjadgq";}
-  {name="klines";value="0n3bsvf5skr4816mjrd7zqjnh8vp5klvgx3h0025hwcbqyfa64bs";}
-  {name="kmag";value="0x91b1fwvwppiwzsnvc0647429ffhn56gndykmmyzr27i45znk3r";}
-  {name="kmahjongg";value="19qz7q5sr5xphzwxjf84h5vg0fll45fvs3pi5q9a5x5g4dy14wsv";}
-  {name="kmines";value="1nm7di7xs727jvfvv2039hpgkxzddgfv6vvrw3jwls975akl1wmb";}
-  {name="kmix";value="19s9z6m1v3wk5prngmm612r34013z7dkira83ap6kn3v32cfciry";}
-  {name="kmousetool";value="1zf7d3k1jf5ydaiw7v7a34hd5w4fmgkd4g9427546x64n27vx0a2";}
-  {name="kmouth";value="12n1x1imy7w3rn8g8zawmfivic0avzgrpmwm71hy7kxw9ya24yjg";}
-  {name="kmplot";value="1zji3lkq332zgvccnlisdavwxh0d1x81131xcy25r36q9c42syj3";}
-  {name="knavalbattle";value="0ibbahwck80z1dhycvm52k4nnj0pifzf9vi7j64kczc54z20b6d2";}
-  {name="knetwalk";value="0j8lyv60rvs5w214vhpmkf0807vi8b2vc8lglmmvz66cpw42c45z";}
-  {name="kolf";value="060dmnpr84g1512l0c0myxf1h1qp4jdsfgnxg5vwpciqk0dc9qhy";}
-  {name="kollision";value="033x8dg57f5amsnignri6ln8adavbaw1l3sydlf0jrw7ww3qvw1h";}
-  {name="kolourpaint";value="0c7i95cplwvxxm6aqgsk70q8ny8yfarcah9113vk6b81llbwn5sc";}
-  {name="kompare";value="0mq2v9nissb5s41lwvjbpba6fznkzwah9a7yisjq1nq47rp4ymqb";}
-  {name="konquest";value="0bsqxr12x9qgk4al21s2hrm48hv15ir98792z8jna3d5w6j0a2zy";}
-  {name="konsole";value="13kv6pmziqfis4qxkfxbmm3yiy2w3fy2l2qi68l0s6yiaqkd9y37";}
-  {name="kopete";value="012zjq0zmqkgahnzzj02xaqhsh800bn1x7sj8vmv1mxqyi66srvy";}
-  {name="korundum";value="1qyk8gvzcjwi5pi7s0a74glyvi1mi7k5z5ilza16y0z5k6ffgvck";}
-  {name="kpat";value="0lmhygv4l1vkmbf7vmrbns6fl1anbcxsnldn0hccdpp73x1py88g";}
-  {name="kppp";value="0nnz137c384xlnrvy625zdjfzzrp6yrcfnn9gw6fs81cq4zwrr64";}
-  {name="krdc";value="0g7p94q0h3i3j9wwcmmiylz0604v4z9f0b2dppfiaq5bnz9m5pdl";}
-  {name="kremotecontrol";value="1hg4fq6ypws4zb07glsrflmr7vq35h7qqmjf5r5b5j53xqmgr6hp";}
-  {name="kreversi";value="059xsi9x6jhsdsgrxrk08haz1v4p4i46l7zkg8id64s9kvywgn5j";}
-  {name="krfb";value="01l8jv5ad3gc5kxjbr7k4ggcipc5903z82pq9616mk0qpd96j6jb";}
-  {name="kross-interpreters";value="0cdb9kaq9fdjaxks83z3gvjwwhz94g4kgjq1rp6wmzwydk28ip6i";}
-  {name="kruler";value="0i9n2znhm6llriipvrrjh8yymj76a17895w7kbcyd41srk0akk5i";}
-  {name="ksaneplugin";value="1fqkbf47ajw7ckzipphdjpnpv4gk426k1rpq3z1qlbag9f9wvxsd";}
-  {name="kscd";value="1f8099bhylrr5m3a5lrmjxz2rz59k3qi1abfjs63hk2z523p99n3";}
-  {name="kshisen";value="1nhq2rxiylzr7klpqqbhl35v7s4prv15wrckgx84mdm5hmyh4nsw";}
-  {name="ksirk";value="0s577h7sswqr44mzmm2a5gi62w8lpzivy9xy5jpib3iw768a9gxy";}
-  {name="ksnakeduel";value="09jp1cd138cqv131h7m3c994zwxbn97yw77fq1yrcfgyspmdx0x9";}
-  {name="ksnapshot";value="1fiqracij106c22b0ws6n047wn4fww5fzli8rqjas5m25931azl4";}
-  {name="kspaceduel";value="1a2n9kyn6y62yps5apclgpmzbchdrfn3lck9fl68alk0bpqdnz1n";}
-  {name="ksquares";value="1bg9na03ph1lignnl6fdxkvcbsq77dskbgn8d7hyq1p800n7jx7q";}
-  {name="kstars";value="1wf13434sxxwikrp29jl5klggmv0ln73a57rs0m4gr4zrjvbrs2s";}
-  {name="ksudoku";value="1nq4nj1q723s7gv1d0l3wafs2d6wz67xhir2sa1wsw12dzh856vf";}
-  {name="ksystemlog";value="0khb92vxr0hfny2yxwnww33ahgm9gmmrf5h7qaj0lqnyrh5fcl6c";}
-  {name="kteatime";value="13jzf4mcq8glkhg5szpawj2k0ss4qfzrjhpmjn3m3grz1zf167sw";}
-  {name="ktimer";value="0y6q9khxlmb7pgds4f9a83aqnbn0gwbi3r15s8vf72qr3qj3f5xc";}
-  {name="ktouch";value="1swdkzvm9q4r8ily7n4cs91y186zlzys7kjs3lf2q46d63l9nfdz";}
-  {name="ktuberling";value="0fzd17hvb2zaqwd0fw6f3rq0mlq8xrmz155dyg916jg2alslicxh";}
-  {name="kturtle";value="1hlfv77g0v48qfqwpqqnw5qf8fcl4v38612v3jy5z038g4sacxkx";}
-  {name="ktux";value="0shib3f2gcdgf88zh2w67kizbmj7gz0vqy8ff5vmr75fp44111b4";}
-  {name="kubrick";value="1dkd7rzkxyk71hd4r9l6nlvcl3zj8vf6i9v1gqi8zjrqwpxvf188";}
-  {name="kuser";value="1qc4wk5q9y7mmkfjqndcby7782z2aaj7x1cc4dcmds01glm2bw6j";}
-  {name="kwalletmanager";value="1f0ncnx3d6z3v373095nhydj844hiva64qh80cc7rmb624vlcsa4";}
-  {name="kwordquiz";value="1m0zi0gldw7shjy4nhiw2azgrfvhcmm5h423gckjczpqd9f17ihd";}
-  {name="libkcddb";value="0k1xr8z3dmfq08qh7fkjhi2v523lhy1inmggnk3gaxzarlvhqxxa";}
-  {name="libkcompactdisc";value="03ch51firb2xcqwy3p6q5j5zr9570nvqa5cgd5yj7pjnzdwcjxv8";}
-  {name="libkdcraw";value="1ypamhdk8y7vb9y250vilmv5dgxf1svvsw329yxc146ii0pb4nwr";}
-  {name="libkdeedu";value="0m20vxa9x2ww7xmq1a7j4pmqsdj5pp05hsg4q64slz69m5npi30r";}
-  {name="libkdegames";value="1hz02x2k7iiw0i78ifa4ji60l87by855v5f6pm3ksw3rdw0ipz9v";}
-  {name="libkexiv2";value="0mz88j3kszqxf518h7n0fjnql2iqwx780hv4jhvrkraclf4czng9";}
-  {name="libkipi";value="0x4d356c20fdjaqadzaqhsf43v9c9bgbwbyy304q2w329m8ab058";}
-  {name="libkmahjongg";value="0911knwvhwa77hr0ncqwjqzfcyvgi806ckyldglrhvm0gw0mgy60";}
-  {name="libkomparediff2";value="0rn5xhbnywjjbk9qx3xw3gss57l105a4a4v05gh9vvl82hc5sfzx";}
-  {name="libksane";value="19zibd1y96sxwnpdxkd752jiky83b8is85qi7six60g5kkzi948m";}
-  {name="lokalize";value="0sl9i146rx0ls3rii6893alkvsjv8ln0d5yabd72f8kagsaw42h7";}
-  {name="lskat";value="1flx7l8svf51fkr3lw0z85d0gkrabjzi73w4qn2wnsaz9wr6kahi";}
-  {name="marble";value="1gvlq0si76bk4yd8dfbixzwxj618ifd2jlr7fq6f9mx498cvifpi";}
-  {name="mplayerthumbs";value="1nw01216mghwxz7zhkf7px5kkb2d4dqdk7par20agvw2raan9axi";}
-  {name="nepomuk-core";value="0gavipa1hn5aw77q3xrdv9464l8qpabq6kawlvjvv90hjvs8clis";}
-  {name="nepomuk-widgets";value="1cr4v4s567vcx1046gj066xfmhrqx4g6lipffr6d3wdq9cgy5y5i";}
-  {name="okteta";value="0maadxyngj8an0hl3kidvmgj538n6vzpz964yilzj6qrry9f46wc";}
-  {name="okular";value="0cmcaqpaxx8910qmsvag6spjbchdbv6j9hgbizw6qq09kz4d9a7k";}
-  {name="oxygen-icons";value="00l7qy95za3c323hkjiihavmq2vjm2yi81yn4cgwpnc5l336pynb";}
-  {name="pairs";value="15kafhp54dsrv2466j9gnn0c8iqbfx4frrql0r6v5qza015vybr9";}
-  {name="palapeli";value="0bx7qqidywxwkj9vdbzpqsy2fvkjgf9vj8nqk5ypx7jm7da87y94";}
-  {name="parley";value="163xnfd9h8r6dp3riqs3s32qaramyf225bhy6y9laknbrr9lxnsm";}
-  {name="perlkde";value="05ybh43ckfq5qh03pklkgiajc2s6b6cmvp5alx0dvq605h5z881f";}
-  {name="perlqt";value="1fn3gxb8b4kx7g24pnrbg42dv17hn2wv70g53yfr6z277ljinxzl";}
-  {name="picmi";value="19gli6mii15qya9hi6qyb52rsk2n2dk6r4kzla99ps3cs8n4h9x8";}
-  {name="poxml";value="11cwhjil8vdwwpmp1l61335b5j9714hbxiyqw0wyxcr6yccasbdf";}
-  {name="print-manager";value="0v940bsksw04ymxq56lgm6sprkdlyzjm5fgsm24yb564nay3x42h";}
-  {name="pykde4";value="00gpjqgsfv83xfk1xmglr8c32ln9cc05m4nf1qbd3gvr5jb6cxmg";}
-  {name="qtruby";value="1312v8vn091q5lh81cm5z5wkgidigdngqkjs3kf7lp9d1k50ai47";}
-  {name="qyoto";value="0sjii1i31x1cxhr5y5ijaain9ql75fbba9ss1cxz9agswp95kpcz";}
-  {name="rocs";value="0h72mrb65gnk36g9d4l55bm7kfldh3v95hbv0wxad0p9v7baxmn2";}
-  {name="smokegen";value="0x4qz1pk8wn4vq0fmy344v9m1gh12dav3n71z6xi4pnpmpmq7kna";}
-  {name="smokekde";value="1wl88jy9yvvrykzknj1vy7rqhfxr52q053y2jmay53hvx1iaqjxm";}
-  {name="smokeqt";value="1lphdjxcvysn1lkq6yj7z5pmhzlwpkj3xx7izfdk1g6a1pkjwr7j";}
-  {name="step";value="0ma7748ixi00zw9hrjjlgbb7d1a4cr124ka3ymn45sa4q4mza3zh";}
-  {name="superkaramba";value="0xbs2k863p2yg2k7wn70gbwvriin4lv2hv78r5m6fwvb4rsjygsb";}
-  {name="svgpart";value="1svwqxcxl2wp4wq9s3q6crys7jmz072wp4qz69fvqcvp1cd92gsp";}
-  {name="sweeper";value="19lsqw192h3863fbd265didviy7m4wk6qwfgnhc7sxaxxccm19y4";}
-  {name="umbrello";value="0lmygjjsqiw0xnv4d3d1yb1b5zlnj18lh01k954ycl8f50cxsv9a";}
-  {name="zeroconf-ioslave";value="1324mx9gsr6ghi7m1qk4kwr91g8wfd3jsw3rzp26nhrlwjsa5j6a";}
-];
-modules=[
-{
-  module="kdemultimedia";
-  split=true;
-  pkgs=[
-    { name="audiocd-kio"; sane="audiocd_kio"; }
-    { name="dragon";  }
-    { name="ffmpegthumbs";  }
-    { name="juk";  }
-    { name="kmix";  }
-    { name="kscd";  }
-    { name="libkcddb";  }
-    { name="libkcompactdisc";  }
-    { name="mplayerthumbs";  }
-  ];
-}
-{
-  module="kdegraphics";
-  split=true;
-  pkgs=[
-    { name="gwenview";  }
-    { name="kamera";  }
-    { name="kcolorchooser";  }
-    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
-    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
-    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
-    { name="kgamma";  }
-    { name="kolourpaint";  }
-    { name="kruler";  }
-    { name="ksaneplugin";  }
-    { name="ksnapshot";  }
-    { name="libkdcraw";  }
-    { name="libkexiv2";  }
-    { name="libkipi";  }
-    { name="libksane";  }
-    { name="okular";  }
-    { name="svgpart";  }
-  ];
-}
-{
-  module="kdelibs";
-  split=true;
-  pkgs=[
-    { name="kdelibs";  }
-    { name="nepomuk-core"; sane="nepomuk_core"; }
-    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
-  ];
-}
-{
-  module="kdenetwork";
-  split=true;
-  pkgs=[
-    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
-    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
-    { name="zeroconf-ioslave";  }
-    { name="kget";  }
-    { name="kopete";  }
-    { name="kppp";  }
-    { name="krdc";  }
-    { name="krfb";  }
-  ];
-}
-{
-  module="kdeutils";
-  split=true;
-  pkgs=[
-    { name="ark";  }
-    { name="filelight";  }
-    { name="kcalc";  }
-    { name="kcharselect";  }
-    { name="kdf";  }
-    { name="kfloppy";  }
-    { name="kgpg";  }
-    { name="kremotecontrol";  }
-    { name="ktimer";  }
-    { name="kwalletmanager";  }
-    { name="print-manager"; sane="print_manager"; }
-    { name="superkaramba";  }
-    { name="sweeper";  }
-  ];
-}
-{
-  module="applications";
-  split=true;
-  pkgs=[
-    { name="kate";  }
-    { name="konsole";  }
-  ];
-}
-{
-  module="kdetoys";
-  split=true;
-  pkgs=[
-    { name="amor";  }
-    { name="kteatime";  }
-    { name="ktux";  }
-  ];
-}
-{
-  module="kdesdk";
-  split=true;
-  pkgs=[
-    { name="cervisia";  }
-    { name="dolphin-plugins"; sane="dolphin_plugins"; }
-    { name="kapptemplate";  }
-    { name="kcachegrind";  }
-    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
-    { name="kde-dev-utils"; sane="kde_dev_utils"; }
-    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
-    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
-    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
-    { name="kompare";  }
-    { name="libkomparediff2";  }
-    { name="lokalize";  }
-    { name="okteta";  }
-    { name="poxml";  }
-    { name="umbrello";  }
-  ];
-}
-{
-  module="kdegames";
-  split=true;
-  pkgs=[
-    { name="bomber";  }
-    { name="bovo";  }
-    { name="granatier";  }
-    { name="kajongg";  }
-    { name="kapman";  }
-    { name="katomic";  }
-    { name="kblackbox";  }
-    { name="kblocks";  }
-    { name="kbounce";  }
-    { name="kbreakout";  }
-    { name="kdiamond";  }
-    { name="kfourinline";  }
-    { name="kgoldrunner";  }
-    { name="kigo";  }
-    { name="killbots";  }
-    { name="kiriki";  }
-    { name="kjumpingcube";  }
-    { name="klickety";  }
-    { name="klines";  }
-    { name="kmahjongg";  }
-    { name="kmines";  }
-    { name="knavalbattle";  }
-    { name="knetwalk";  }
-    { name="kolf";  }
-    { name="kollision";  }
-    { name="konquest";  }
-    { name="kpat";  }
-    { name="kreversi";  }
-    { name="kshisen";  }
-    { name="ksirk";  }
-    { name="ksnakeduel";  }
-    { name="kspaceduel";  }
-    { name="ksquares";  }
-    { name="ksudoku";  }
-    { name="ktuberling";  }
-    { name="kubrick";  }
-    { name="libkdegames";  }
-    { name="libkmahjongg";  }
-    { name="lskat";  }
-    { name="palapeli";  }
-    { name="picmi";  }
-  ];
-}
-{
-  module="kdeedu";
-  split=true;
-  pkgs=[
-    { name="analitza";  }
-    { name="blinken";  }
-    { name="cantor";  }
-    { name="kalgebra";  }
-    { name="kalzium";  }
-    { name="kanagram";  }
-    { name="kbruch";  }
-    { name="kgeography";  }
-    { name="khangman";  }
-    { name="kig";  }
-    { name="kiten";  }
-    { name="klettres";  }
-    { name="kmplot";  }
-    { name="kstars";  }
-    { name="ktouch";  }
-    { name="kturtle";  }
-    { name="kwordquiz";  }
-    { name="libkdeedu";  }
-    { name="marble";  }
-    { name="pairs";  }
-    { name="parley";  }
-    { name="rocs";  }
-    { name="step";  }
-  ];
-}
-{
-  module="kdeadmin";
-  split=true;
-  pkgs=[
-    { name="kcron";  }
-    { name="ksystemlog";  }
-    { name="kuser";  }
-  ];
-}
-{
-  module="kdebindings";
-  split=true;
-  pkgs=[
-    { name="kimono";  }
-    { name="korundum";  }
-    { name="kross-interpreters"; sane="kross_interpreters"; }
-    { name="perlkde";  }
-    { name="perlqt";  }
-    { name="pykde4";  }
-    { name="qtruby";  }
-    { name="qyoto";  }
-    { name="smokegen";  }
-    { name="smokekde";  }
-    { name="smokeqt";  }
-  ];
-}
-{
-  module="kdeaccessibility";
-  split=true;
-  pkgs=[
-    { name="jovie";  }
-    { name="kaccessible";  }
-    { name="kmag";  }
-    { name="kmousetool";  }
-    { name="kmouth";  }
-  ];
-}
-{
-  module="kde-baseapps";
-sane="kde_baseapps";  split=true;
-  pkgs=[
-    { name="kde-baseapps"; sane="kde_baseapps"; }
-  ];
-}
-{ module="kactivities";  split=false;}
-{ module="kdeartwork";  split=false;
-  pkgs=[
-    { name="ColorSchemes"; }
-    { name="IconThemes"; }
-    { name="emoticons"; }
-    { name="kscreensaver"; }
-    { name="kwin-styles"; sane="kwin_styles";}
-    { name="styles"; }
-    { name="wallpapers"; }
-    { name="HighResolutionWallpapers"; }
-    { name="WeatherWallpapers"; }
-    { name="desktopthemes"; }
-  ];
-
-}
-{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
-{ module="kdelibs";  split=false;}
-{ module="kdepim";  split=false;}
-{ module="kdepimlibs";  split=false;}
-{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
-{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
-{ module="kde-runtime"; sane="kde_runtime"; split=false;}
-{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
-{ module="kdewebdev";  split=false;
-  pkgs=[
-    { name="klinkstatus"; }
-    { name="kfilereplace"; }
-    { name="kimagemapeditor"; }
-    { name="kommander"; }
-  ];
-
-}
-{ module="kde-workspace"; sane="kde_workspace"; split=false;}
-{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
-];
-}
diff --git a/pkgs/desktops/kde-4.12/kde-package/default.nix b/pkgs/desktops/kde-4.12/kde-package/default.nix
deleted file mode 100644
index 6b4e1ba0ad8..00000000000
--- a/pkgs/desktops/kde-4.12/kde-package/default.nix
+++ /dev/null
@@ -1,129 +0,0 @@
-{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
-, release, branch, ignoreList, extraSubpkgs
-}:
-
-let
-  inherit (stdenv.lib) filter fold;
-  inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
-in
-rec {
-  manifest = import (./. + "/${release}.nix");
-
-  # src attribute for $name tarball
-  kdesrc = name: fetchurl {
-    url = "mirror://kde/" + (if manifest.stable then "" else "un")
-      + "stable/${release}/src/${name}-${release}.tar.xz";
-    sha256 = getAttr name manifest.hashes;
-  };
-
-  # Default meta attribute
-  defMeta = {
-    homepage = http://www.kde.org;
-    inherit branch;
-    platforms = stdenv.lib.platforms.linux;
-    inherit (qt4.meta) maintainers;
-  };
-
-  # KDE package built from the whole tarball
-  # This function is used both for monolithic modules and modules which are
-  # released as individual tarballs
-  kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, version ? release, ...}:
-    stdenv.mkDerivation ({
-      name = "${name}-${version}";
-      src = kdesrc name;
-      meta = defMeta // meta;
-      enableParallelBuilding = true;
-    } // (removeAttrs a [ "meta" "name" ]));
-
-  # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
-  # API.
-  kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
-
-  # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
-  kdeSubdirPkg = module:
-    {name, subdir ? name, sane ? name}:
-    let name_ = name; in
-    a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}:
-    stdenv.mkDerivation ({
-      name = "${name}-${release}";
-      src = kdesrc module;
-      cmakeFlags =
-        [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
-          "-DBUILD_doc=TRUE"
-          "-DBUILD_${subdir}=TRUE"
-        ] ++ cmakeFlags;
-      meta = defMeta // meta;
-      enableParallelBuilding = module.enableParallelBuilding or true;
-    } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
-
-  # A KDE monolithic module
-  kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
-
-  # Combine packages in one module.
-  # Arguments:
-  #  * pkgFun --- a function of the following signature:
-  #               module: manifest_attrs: manual_attrs: derivation;
-  #  * module --- name of the module
-  #  * pkgs --- list of packages in manifest format
-  combinePkgs = pkgFun: module: pkgs:
-    let
-      f = p@{name, ...}:
-        callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
-      list = map f pkgs;
-      attrs = listToAttrs (map
-        ({name, sane ? name, ...}@p: { name = sane; value = f p; })
-        pkgs);
-    in
-      runCommand "${module}-${release}"
-      ({passthru = attrs // {
-         propagatedUserEnvPackages = list;
-         projects = attrs;
-       };})
-        ''
-          mkdir -pv $out/nix-support
-          echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
-        '';
-
-  # Given manifest module data, return the module
-  kdeModule = { module, sane ? module, split, pkgs ? [] }:
-    let
-      pkgs_ = filterPkgs module pkgs;
-    in
-    # Module is splitted by upstream
-    if split then combinePkgs kdeSplittedPkg module pkgs_
-    # Monolithic module
-    else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
-    # Module is splitted by us
-    else combinePkgs kdeSubdirPkg module pkgs_;
-
-  # The same, as nameValuePair with sane name
-  kdeModuleNV = a@{ module, sane ? module, ... }:
-    { name = sane; value = kdeModule a; };
-
-  filterPkgs = module: (p:
-      removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
-      ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
-
-  # Remove attrsets with x.name in subst. Optimized for empty subst.
-  removeNames = subst: big:
-    fold (s: out: filter (x: x.name != s) out) big subst;
-
-  modules = listToAttrs (map kdeModuleNV manifest.modules);
-
-  splittedModuleList =
-    let
-      splitted = filter (a: a ? pkgs) manifest.modules;
-      names = map ({module, sane ? module, ...}: sane) splitted;
-    in
-    map (m: m.projects) (stdenv.lib.attrVals names modules);
-
-  individual =
-    stdenv.lib.zipAttrsWith
-    (
-      name: list:
-      if tail list == []
-      then head list
-      else abort "Multiple modules define ${name}"
-    )
-    splittedModuleList;
-}
diff --git a/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh
deleted file mode 100755
index e964ce3ddc1..00000000000
--- a/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#! /bin/sh
-
-# Usage: download kde release to $dir, then run
-# $0 $dir
-
-dir="$1"
-
-# Detect release number & whether it is a stable release
-if [[ ! -d "${dir}" ]]; then
-  echo "${dir} is not a directory (or doesn't exist)!" >&2
-  exit 1
-fi
-
-release=$(ls "${dir}"/kdelibs-*.tar.xz | \
-  sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
-
-if [[ ${release##*.} -gt 50 ]]; then
-  stable="false"
-else
-  stable="true"
-fi
-
-echo "Detected release ${release}" >&2
-
-declare -A hash
-declare -A modules
-declare -a packages
-declare -a top_level
-
-# xsltproc output declares -A module
-if [[ ! -f kde_projects.xml ]]; then
-  curl -O -J http://projects.kde.org/kde_projects.xml
-fi
-eval `xsltproc kde-submodules.xslt kde_projects.xml`
-
-module[kde-baseapps]=kde-baseapps
-unset module[kactivities]
-
-print_sane() {
-  echo "Called print_sane $1" >&2
-  sane="${1//[^a-z0-9_]/_}"
-  if [[ "$sane" != "$1" ]]; then
-    echo "Sane version is $sane" >&2
-    echo -n "sane=\"$sane\";"
-  fi
-}
-
-for i in `cd "${dir}"; ls *-${release}.tar.xz`; do
-  package=${i%-${release}.tar.xz}
-  packages+=( "$package" )
-  echo -n "${package}.. " >&2
-  hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
-  echo -n ${hash[$package]} >&2
-
-  if [ -n "${module[$package]}" ]; then
-    m="${module[$package]}"
-    echo " (${m})" >&2
-    modules[$m]=1
-  else
-    top_level+=( "$package" )
-    echo " (top-level)" >&2
-  fi
-  #nix-store --add-fixed sha256 "${dir}/${i}" >&2
-done
-
-
-print_pkg_hash() {
-  echo "  {name=\"${1}\";value=\"${hash[$1]}\";}"
-}
-
-print_hashes(){
-  echo "hashes=builtins.listToAttrs["
-  for p in "${packages[@]}"; do print_pkg_hash "$p"; done
-  echo "];"
-}
-
-print_split_module(){
-  echo -n "$1:" >&2
-  echo -e "{\n  module=\"$1\";"
-  print_sane "$1"
-  echo "  split=true;"
-  echo "  pkgs=["
-  for p in "${packages[@]}"; do
-    if [[ "${module[$p]}" == "$1" ]]; then
-      echo -n "    { name=\"$p\"; "
-      print_sane "$p"
-      echo " }"
-      echo -n " $p" >&2
-    fi
-  done
-  echo "  ];"
-  echo "}"
-  echo >&2
-}
-
-print_mono_module(){
-  echo -en "{ module=\"$1\"; "
-  print_sane "$1"
-  echo -n "$1 ... " >&2
-  echo -n " split=false;"
-  cml="$1-$release/CMakeLists.txt"
-  tar -xf "${dir}/$1-${release}.tar.xz" "$cml"
-  if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
-    if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
-      echo " is monolithic (has unconditionally added subdirs)" >&2
-    else
-      subdirs=( `grep '^[^#]*add_subdirectory' $cml |
-        sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
-        grep -v '\(doc\|cmake\)'` )
-      echo " seems splittable, subdirs: ${subdirs[*]}" >&2
-      echo -e "\n  pkgs=["
-      for s in "${subdirs[@]}"; do
-        echo -en "    {"
-		echo -n " name=\"${s//\//-}\"; "
-        print_sane "$s"
-        if [[ $s != "${s//\//-}" ]]; then
-          echo -n "subdir=\"$s\"; "
-        fi
-        echo "}"
-      done
-      echo -e "  ];\n"
-    fi
-  else
-    echo " is monolithic (has no subdirs)" >&2
-  fi
-  rm $cml
-  rmdir $1-$release
-  echo "}"
-}
-
-print_modules(){
-  echo "modules=["
-  echo "Printing modules splitted by upstream" >&2
-  for m in "${!modules[@]}"; do print_split_module "$m"; done
-  echo >&2
-  echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
-  for m in "${top_level[@]}"; do print_mono_module "$m"; done
-  echo "];"
-}
-
-echo "Writing ${release}.nix" >&2
-exec > "${release}.nix"
-echo "{stable=${stable};"
-print_hashes
-print_modules
-echo "}"
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch
deleted file mode 100644
index f0811d335a7..00000000000
--- a/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000
-+++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000
-@@ -36,6 +36,10 @@
- set (CMAKE_SKIP_BUILD_RPATH FALSE)
- set (CMAKE_SKIP_RPATH FALSE)
-
-+# add the automatically determined parts of the RPATH
-+# which point to directories outside the build tree to the install RPATH
-+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-+
- configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
-
- add_executable(smokegen ${generator_SRC})
\ No newline at end of file
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix
deleted file mode 100644
index 09de79ce1c0..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro, pkgconfig }:
-kde {
-
-# TODO: chemical mime data
-
-  buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Periodic Table of Elements";
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kstars.nix b/pkgs/desktops/kde-4.12/kdeedu/kstars.nix
deleted file mode 100644
index 0832dc2121e..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/kstars.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ kde, kdelibs, eigen, xplanet, indilib, pkgconfig }:
-
-kde {
-
-# TODO: wcslib, astrometry
-
-  buildInputs = [ kdelibs eigen xplanet indilib ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "A KDE graphical desktop planetarium";
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/step.nix b/pkgs/desktops/kde-4.12/kdeedu/step.nix
deleted file mode 100644
index f36ccef9b7c..00000000000
--- a/pkgs/desktops/kde-4.12/kdeedu/step.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ kde, kdelibs, gsl, libqalculate, eigen, pkgconfig }:
-
-kde {
-
-  buildInputs = [ kdelibs gsl libqalculate eigen ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "A KDE interactive physical simulator";
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix
deleted file mode 100644
index 3ce9b3dcc78..00000000000
--- a/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core
-, libjpeg, pkgconfig, kactivities, lcms2 }:
-
-kde {
-
-  buildInputs =
-    [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2 ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = {
-    description = "Gwenview, the KDE image viewer";
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
deleted file mode 100644
index 1698abfd00f..00000000000
--- a/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ kde, gcc, cmake, perl
-, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
-, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
-, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
-, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst
-, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
-, pkgconfig, fetchpatch
-}:
-
-kde {
-
-# TODO: media-player-info
-
-  buildInputs =
-    [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
-      libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt
-      shared_desktop_ontologies xz udev libjpeg kerberos openexr
-      libXtst attr
-    ];
-
-  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
-
-  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
-
-  propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ];
-
-  # TODO: make sonnet plugins (dictionaries) really work.
-  # There are a few hardcoded paths.
-  # Split plugins from libs?
-
-  patches = [
-    ../files/polkit-install.patch
-    (fetchpatch {
-      name = "CVE-2014-5033.patch";
-      url = "http://quickgit.kde.org/?p=kdelibs.git"
-        + "&a=commit&h=e4e7b53b71e2659adaf52691d4accc3594203b23";
-      sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
-    })
-  ];
-
-  cmakeFlags = [
-    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
-    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
-    "-DHUPNP_ENABLED=ON"
-    "-DWITH_SOLID_UDISKS2=ON"
-  ];
-
-  passthru.wantsUdisks2 = true;
-
-  meta = {
-    description = "KDE libraries";
-    license = "LGPL";
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
deleted file mode 100644
index 3ff1a286ae5..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kde, kdelibs, kdepimlibs, boost }:
-
-kde {
-
-  buildInputs = [ kdelibs kdepimlibs boost ];
-
-  meta = {
-    description = "Simple KDE GUI for GPG";
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix
deleted file mode 100644
index ae72becd1e4..00000000000
--- a/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ kde, kdelibs
-, pythonPackages, cups, pyqt4, pykde4, pycups, system_config_printer }:
-
-let s_c_p = system_config_printer.override { withGUI = false; }; in
-
-kde rec {
-  buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
-    ] ++ pythonPath;
-
-  pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ];
-
-  passthru.propagatedUserEnvPackages = [ s_c_p ];
-
-  postInstall =
-    ''
-      wrapPythonPrograms
-
-      # "system-config-printer" supplies some D-Bus policy that we need.
-      mkdir -p $out/nix-support
-      echo ${s_c_p} > $out/nix-support/propagated-user-env-packages
-    '';
-
-  meta = {
-    description = "KDE printer manager";
-    longDescription = "Applet to view current print jobs and configure new printers";
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
deleted file mode 100644
index 918512e2b2d..00000000000
--- a/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }:
-
-kde {
-
-# todo: ruby19 is not found by the build system. not linking against ruby18 due to it being too old
-
-  buildInputs = [ kdelibs kdepimlibs htmlTidy boost ];
-
-  meta = {
-    description = "A KDE link checker";
-    homepage = http://klinkstatus.kdewebdev.org;
-  };
-}
diff --git a/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix
deleted file mode 100644
index e646e352887..00000000000
--- a/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix
+++ /dev/null
@@ -1,262 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "1pygy9kckankwhlm4j61fk42zinafw2insc9kkpgmh9mvb8gv0jk";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "1qqbl7l84j3d5928gmdq7f7s0i31gw0rlf4y74p5zx8m80xbdd6l";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "0cg143wlalplw0qr10h60i6srn0avsim94m1hjbm8xrlg71iihjj";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "15s85xmqbnv7bm7ywivkyi62481ip4vy6yyw81m720hza0imbj9z";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "1d0bhndwf8b0pmglf3sx28r6s3li72x7a05kc39n026ha5zyx5f1";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "1dx5c6fkgn4hglx8qacrdnxn0l9p7dqbaz6cd7h9pa8b9zri5j9w";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "1ynh8s17999pa60bzwr2595pcd744h1n8zznyzr5lq302ir8f8qj";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "1da01wd1n64g3l57pagvrb8mn2jj50ni1qhicnlwylk8n2krw0pf";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "1qf9g5in9zr39gkip06hr80pzc4frchb2x9q76sqs36h58az5yfd";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "1lhrbfh74sqglqxl7yh68qkx0gmppg7iir194vxhm2s1j0jxq8r4";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "0qz39nxkiivgk720lgdbfgxdp3wn5wrvx2zf0phvb8g6q5rl68kw";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "1i9h68pfsnbi4gw5f4mb6q8jq56hdmi1lqxhwzj6vrbqiip7b9gl";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "020b1p164v82pj6x0jxz6d41w539786ygkfmgrf9dr20zwhchzha";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "0vs8bqr6if32bmwvjzdmakyqdl5fz13igg31mzwga4aqlzalxa1w";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "1wcd9gzf754150i62zl3fa24jq8p7vskn6adaa8x5qy208c0d6v1";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "0fpsc36sk7zh3flxgnvfgxig4cm5hm56sgdgbl01dfg1mac6dckq";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "1hrbsd595q2w09mym9h56hymikkpxbq0qmdxvphap5wsh0xsfxms";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "1q2y9js6j32rbm5jg8yn6s9zw0jh6yq1q4z6hxy9nss1gh6diqda";
-}
-{
-  lang = "hi";
-  saneName = "hi";
-  sha256 = "0zaknfk8kzcid7839wsj61qgn81gjz0hbpis7q2q1syky4nzjwsb";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "1d14h5kdfz8np5p27darraxq4ps0yhxhczg9yli436kgiflbvp88";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "0p29dybsalnjk00f7l3gni7pxzv1ig95m100svhhkmcwvh065kjf";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "1qqbn3v30z058580qr9qyq0sy6g4jw0far8w7ywgnhks4aapy97a";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "1gfm0k2j2jvff9lab87yjrywc1j0gayw2fxibzifvpygr9bl60i7";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "11zax6c3qfscadqfamls5k78hw36iwadqsgyiphl574ijz9q48ba";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "1ab658x0a44kydzs05zgzq7nks6dfl0z8m69ank5ngd12qnhb38s";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "0n26860ah421x8q2jmz8mh3mdzy26s8ckbfpnyph1vc23zqx9vqv";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "05ad1d5klc11s138zb5fj4h2kfida83xqr4z1m6nhv0igwzmza0g";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "14kchh6yixgrkzrrkdz25xaj2q91il6yshz79n4h0yk01lfc3sq5";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "0aa4spy2nc1hfbx1z2b4k3sahha0pdxih1k3pl6n9223cjgwcbqp";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "14341a4qr8p7idvsw6zp23kyva5lb4684wjygm24d9wj69nkc2c4";
-}
-{
-  lang = "mr";
-  saneName = "mr";
-  sha256 = "02rq9spp8vzvv8bvzny48qwksimrnqj6y9rpc3xh6bmzfhvr7qsa";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "1s2gbynxdbpi32rwdgddabsp3n10ngwpnh6za3yjp4is93ici6rm";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "18nmh605ya47w0x2nkglg8lrfks7l9pxr6mjnw3z3lsazafigvx1";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "1jxd109m2y7ky0c4im70ipx07rysbr0ndl2fpjb3myxb2nks106h";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "117zl85myjnnb957c4gx0h65ks842sk3gbw9dfp8hpzdwg8zvsn4";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "1q5c61a2swxvyhdw5rambibyms40hj34093ihx32ad73kb4mn72w";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "0wg4nlra1z6pf8mxlz3w0jq68k0qfhxrhsqij35l9zml5y203n4y";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "0rryyjfgplar77fz332jv2w0lv7d6273gv022pb1m83w945pzkf9";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "0aglgvj1ljfdf6gjs478l4wisp2z4dzkkbhz1sgry00p4q1417ab";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "14aqlg64lp287m09zhh9r9l6ywfwzz7f2nz0vr1fg3wqsdrchglw";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "0cq6xacyrb9wrrwbl8xrb2ah3h7s7a9vr7kz3fy5rf2rgq0phfd7";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "07i0plzmg0nykfalyjvwnhg5qrcfdf1h6i18b34xyrp3y4gm540a";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "0gw1iv550nr307ibgb8i48fxcq03liq5r2x7fr9pl0n9xknh3c8a";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "0489n0l9c9wig5567dfh4apyyy6xws7yxq79r4jl00zxl1j43bla";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "1n4ckll9ngj8qn976nikxfljf23qsvphblbjnjm0vk4713bnpf9h";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "0pzjdnanhynalcjlsg94g88i92hwdsqz02x85yxxg87vn74p13ks";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "1z9mjzh0w6i2a75ys0dx5ksm8fpwyw8wrwdh14bvbnxpnkx0jv8x";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "032vjcjpl19dyyc36z1nwyc9h696iys8dfyadpw9rhcllpk4ck67";
-}
-{
-  lang = "vi";
-  saneName = "vi";
-  sha256 = "0sd6vzb1qmbbxk6d1vfq21gkq009lp7qxnpdcr7jbykcf0licq7i";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "1m6fa0adfjzfqakjyrrjwak4p0y5wwdkkq61qx9wvzdb78qm83rw";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "11is37g7fafxhk7ydydgbxdg0x1s5cxr8v1pjzwqb858n1cq5x1h";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "1vbr0pjm8d25lxbmhqz8d4x57sjc411a5fkvyxh4rr34fd7xxhwq";
-}
-]
diff --git a/pkgs/desktops/kde-4.12/support/akonadi/default.nix b/pkgs/desktops/kde-4.12/support/akonadi/default.nix
deleted file mode 100644
index d51996e3bc1..00000000000
--- a/pkgs/desktops/kde-4.12/support/akonadi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }:
-
-stdenv.mkDerivation rec {
-  name = "akonadi-1.11.0";
-  
-  src = fetchurl {
-    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
-    sha256 = "0k96i8xq3xkm5rrxrj3zqgppcmqbzcpc918xnx0p54jkkm85gchc";
-  };
-
-  buildInputs = [ qt4 soprano libxslt boost sqlite ];
-
-  nativeBuildInputs = [ cmake automoc4 shared_mime_info ];
-
-  enableParallelBuilding = true;
-  
-  meta = with stdenv.lib; {
-    description = "KDE PIM Storage Service";
-    license = "LGPL";
-    homepage = http://pim.kde.org/akonadi;
-    maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/kde-4.14/CVE-2014-8600.diff b/pkgs/desktops/kde-4.14/CVE-2014-8600.diff
new file mode 100644
index 00000000000..1fe26484605
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/CVE-2014-8600.diff
@@ -0,0 +1,19 @@
+--- a/kioslave/bookmarks/kio_bookmarks.cpp
++++ b/kioslave/bookmarks/kio_bookmarks.cpp
+@@ -22,6 +22,7 @@
+ #include <stdlib.h>
+ 
+ #include <qregexp.h>
++#include <qtextdocument.h>
+ 
+ #include <kapplication.h>
+ #include <kcmdlineargs.h>
+@@ -197,7 +198,7 @@
+     echoImage(regexp.cap(1), regexp.cap(2), url.queryItem("size"));
+   } else {
+     echoHead();
+-    echo("<p class=\"message\">" + i18n("Wrong request: %1",path) + "</p>");
++    echo("<p class=\"message\">" + i18n("Bad request: %1", Qt::escape(Qt::escape(url.prettyUrl()))) + "</p>");
+   }
+   finished();
+ }
diff --git a/pkgs/desktops/kde-4.14/applications/kate.nix b/pkgs/desktops/kde-4.14/applications/kate.nix
new file mode 100644
index 00000000000..2440d73e7e8
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/applications/kate.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, python, pykde4}:
+
+kde {
+
+  buildInputs = [ kdelibs kactivities qjson pyqt4 python pykde4 ];
+
+  meta = {
+    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/applications/konsole.nix b/pkgs/desktops/kde-4.14/applications/konsole.nix
index bd4e9e58cd0..bd4e9e58cd0 100644
--- a/pkgs/desktops/kde-4.12/applications/konsole.nix
+++ b/pkgs/desktops/kde-4.14/applications/konsole.nix
diff --git a/pkgs/desktops/kde-4.14/default.nix b/pkgs/desktops/kde-4.14/default.nix
new file mode 100644
index 00000000000..f11a139aec7
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/default.nix
@@ -0,0 +1,46 @@
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.14.3", kdelibs }:
+
+let
+  branch = "4.14";
+
+  # Need callPackageOrig to avoid infinite cycle
+  kde = callPackageOrig ./kde-package {
+    inherit release branch ignoreList extraSubpkgs callPackage;
+  };
+
+  # The list of igored individual modules
+  ignoreList = {
+    # Doesn't work yet
+    kdeutils = [ "ksecrets" ];
+    # kdeadmin/strigi-analyzer has no real code
+    kdeadmin = [ "strigi-analyzer" ];
+    # Most of kdebindings do not compile due to a bug in the buildsystem
+    kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
+  };
+
+  # Extra subpackages in the manifest format
+  extraSubpkgs = {};
+
+in
+
+kde.modules // kde.individual //
+{
+  inherit (kde) manifest modules individual splittedModuleList;
+
+  inherit kdelibs;
+
+  akonadi = callPackage ./support/akonadi { };
+
+  qt4 = qt48;
+
+  kdebase_workspace = kde.modules.kde_workspace;
+
+  inherit release;
+
+  full = stdenv.lib.attrValues kde.modules;
+
+  l10n = callPackage ./l10n {
+    inherit release branch;
+    inherit (kde.manifest) stable;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.14/files/kde-wallpapers-buildsystem.patch
index 378cdb64694..378cdb64694 100644
--- a/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch
+++ b/pkgs/desktops/kde-4.14/files/kde-wallpapers-buildsystem.patch
diff --git a/pkgs/desktops/kde-4.14/files/kdelibs-cve-2014-5033.patch b/pkgs/desktops/kde-4.14/files/kdelibs-cve-2014-5033.patch
new file mode 100644
index 00000000000..c85eccd6beb
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/files/kdelibs-cve-2014-5033.patch
@@ -0,0 +1,36 @@
+--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
++++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
+@@ -144,7 +144,7 @@
+ 
+ Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
+ {
+-    PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
++    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
+     PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
+                                                                                               PolkitQt1::Authority::None);
+     switch (r) {
+@@ -160,21 +160,12 @@
+ 
+ QByteArray Polkit1Backend::callerID() const
+ {
+-    QByteArray a;
+-    QDataStream s(&a, QIODevice::WriteOnly);
+-    s << QCoreApplication::applicationPid();
+-
+-    return a;
++    return QDBusConnection::systemBus().baseService().toUtf8();
+ }
+ 
+ bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
+ {
+-    QDataStream s(&callerID, QIODevice::ReadOnly);
+-    qint64 pid;
+-
+-    s >> pid;
+-
+-    PolkitQt1::UnixProcessSubject subject(pid);
++    PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
+     PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
+ 
+     PolkitResultEventLoop e;
+
diff --git a/pkgs/desktops/kde-4.14/files/polkit-install.patch b/pkgs/desktops/kde-4.14/files/polkit-install.patch
new file mode 100644
index 00000000000..d2ecac663ec
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/files/polkit-install.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
+--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake	2011-05-20 22:24:54.000000000 +0200
++++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake	2011-07-12 14:03:00.000000000 +0200
+@@ -139,7 +139,7 @@
+         ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
+         ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
+ 
+-    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING 
++    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING 
+         "Where policy files generated by KAuth will be installed" FORCE)
+ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
+     set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
diff --git a/pkgs/desktops/kde-4.14/kactivities.nix b/pkgs/desktops/kde-4.14/kactivities.nix
new file mode 100644
index 00000000000..9a08b58e1ea
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kactivities.nix
@@ -0,0 +1,15 @@
+{ fetchurl, kde, kdelibs, nepomuk_core }:
+
+kde {
+
+  src = fetchurl {
+    url = "mirror://kde/stable/4.13.3/src/kactivities-4.13.3.tar.xz";
+    sha256 = "12l9brpq8mr9hqqmnlz9xfsfr8ry6283b32nfqfx0p3f7w19vjy7";
+  };
+
+  propagatedBuildInputs = [ kdelibs nepomuk_core ];
+
+  meta = {
+    description = "KDE activities library and daemon";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kde-base-artwork.nix b/pkgs/desktops/kde-4.14/kde-base-artwork.nix
index 3f416cebddc..3f416cebddc 100644
--- a/pkgs/desktops/kde-4.12/kde-base-artwork.nix
+++ b/pkgs/desktops/kde-4.14/kde-base-artwork.nix
diff --git a/pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix
new file mode 100644
index 00000000000..31245413f15
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-baseapps/kde-baseapps.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, html-tidy, kactivities
+, nepomuk_core, nepomuk_widgets, libXt }:
+
+kde {
+  buildInputs = [ kdelibs nepomuk_core nepomuk_widgets html-tidy kactivities libXt ];
+
+  meta = {
+    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix
new file mode 100644
index 00000000000..a78041c5a0c
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix
@@ -0,0 +1,620 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="amor";value="1n9qhy7pcprhh7a5v5i9xi5pr3a3lbg08j315kbahn89py2wqk6x";}
+  {name="analitza";value="08p4rky4q4c1r5mkw087s31k38xvc8k50fyahf6y0bkc03v7q8h0";}
+  {name="ark";value="1p5q96i7hxp80c3hzxaqfixc3rn16cdnhhhjdaqz7k5zkgmgfbnb";}
+  {name="artikulate";value="1spb3qwf62agc76vnji7hgm1xsahb7i2fg818gmqwd9ndd4rf0fk";}
+  {name="audiocd-kio";value="0572hwlzn4l53d3xi2w20pgdf6wsyankr49q4522ckfjw9zh2p33";}
+  {name="baloo";value="0p3awsrc20q79kq04x0vjz84acxz6gjm9jc7j2al4kybkyzx5p4y";}
+  {name="baloo-widgets";value="1lxwm8cb1f1dy91zr1d54alw0f67d30kixhr7hnbpqlanfw44sbv";}
+  {name="blinken";value="0zmfvj64xzgi9mmdx92csknm6nrgq57z458dmqr82glvdq6sy53w";}
+  {name="bomber";value="09bwp2fnyhi2jq6j36ssvcd02gxihd162b14hj4h76p50q9142ly";}
+  {name="bovo";value="0pflfpnxni01nfmljrb356bvb9sq7xg1yx7ylli8ws591s1wjv2f";}
+  {name="cantor";value="1qb58pnrpn23qr94j1nrdyj87yxc6gr9drra76mq583acra19j4g";}
+  {name="cervisia";value="1dgg0m8l2vb1ypkzq2lvp8d5faxn005z9fylf4pg6yczgj51y2m0";}
+  {name="dolphin-plugins";value="1vb5q9xwxplwxwfs57fqy1bi2hsq96cy1z705lbyiy1pq1g0xw5p";}
+  {name="dragon";value="195hv0l3w6n32qghdbqj3jzl4833lkbw90q53rnay56ia3azd7nk";}
+  {name="ffmpegthumbs";value="1waj02snh48qk8h021p1agy9pifpb7k7848ni9cyr1q76xmqbw3r";}
+  {name="filelight";value="16pp16zdvm8l6aaywj0cvvmpc1fgwr1ik1nf9s3vnj6pnqw91mc1";}
+  {name="granatier";value="08fs7nvhgg33cr54v2ib5p64lc9kmzshl12swsa88sp1fzakpdlj";}
+  {name="gwenview";value="1817nhd3qwghimbh4v57nxpbk9y2z9gh33i9s7rr190fqa5x2ci0";}
+  {name="jovie";value="06cvnycbab5w1vgws6fyfbpdnps63mvss2gnsv6ig1gm18pq8kh4";}
+  {name="juk";value="02dv0v34dbac9wpfj0p1kh438b380025qg0mpnhdisw9ng4igx83";}
+  {name="kaccessible";value="0blkyalm45c1q670wp9jn6mmqq4igw16hlsa39bv1dj82m5f0bkb";}
+  {name="kajongg";value="1f4fv1s1x2bg9ghf317br0kl6lgj9nacmck6fv1g3r14j60z5sfn";}
+  {name="kalgebra";value="0zgnppmnm2g0anq4yldlyd4bncjabr72b66h4s9ns6wd7kk9z6rs";}
+  {name="kalzium";value="1r8phdshq9whcglb7nyjcg8qjqnqya8rj1rm91mwax18jin0i3ab";}
+  {name="kamera";value="09n11d1hvl6xxfsp9j72q6ja103vda54gmrl7lqscnp5nvlfl2vg";}
+  {name="kanagram";value="0ns95365rdzx4v7akrsnbz1vgyl10d5h4jnavg1x08yrq7sm3rcm";}
+  {name="kapman";value="1c27dlpdnnmvxqwsr5359ixl386z54ijs5ysb5vd7f0nw980kjk0";}
+  {name="kapptemplate";value="089znigfd0c4gb318qjbxhyk3gc6j9z4vb4lw76g3nwjkk52s35s";}
+  {name="kate";value="0zbhgrhpa3f9zaf8a9b0s69p05m17rg6harvmyfbb9kgqgi4lgai";}
+  {name="katomic";value="1j3y0zfwcms2wfv2v3jpn6lisl2qw5zhvwswhyc2k44wq934vwq6";}
+  {name="kblackbox";value="1vlc37il59xh6k4zcap7cs25b1r70cbzi0b6jybpwhxrq2zh1zmz";}
+  {name="kblocks";value="16k8j3h8dvjz2yqdb22dkb9z6mi3k28c4wkhpa1l5q151kb8q6ba";}
+  {name="kbounce";value="16g2f6vvax74gqz3jn1b9rfwcdaia7dphnwg37d03ayflp2s7mji";}
+  {name="kbreakout";value="1011gcbajlk4h5z16nyr8xxkqz5k86vwgn1h5k4fqqpbl2g9aryr";}
+  {name="kbruch";value="0jrd0hqqiaghyhj1rw66j0skqs1f7p21czx3adiy2v50ni70i84z";}
+  {name="kcachegrind";value="0954zvzzhfc76msbs7pc10c9nqd4ganqwqdyn051n4204np1fyd6";}
+  {name="kcalc";value="03px8j0ga6bbla6bxbj3ahcw4jxwb4kkqhls0rxldbfkjwz2q1wz";}
+  {name="kcharselect";value="0js5wxdjmzg2yq83m0kpil9mdjwb1bschh8d9hsk044327i9wmz7";}
+  {name="kcolorchooser";value="1z5snm4vxn6whdhxh64kd18bvl58i65qb4p4xdznrc0gyrgnl92a";}
+  {name="kcron";value="1d685808rya0fjysn2smh0d1p6xqcg7a1r3ah54hnj58y4r3rxyc";}
+  {name="kdeartwork";value="1x0fz21xi54gxz4dkk7qhpv9a5j3nc0crgvygpq32jrkvv5ygp4k";}
+  {name="kde-baseapps";value="1nz6mm257rd916dklnbrix4r25scylvjil99b1djb35blx1aynqj";}
+  {name="kde-base-artwork";value="14l83fd6drwpl9j4v876afp3k7na3dirpjwh03c1a7lcn27grzkn";}
+  {name="kde-dev-scripts";value="17zw6ckbvq5iqykc3ijdnp7j0nh4k06jgqwfsrnqnvp5fqqcf1vn";}
+  {name="kde-dev-utils";value="16kdr5i48jlflzdv1y5n2xca2kws5whwlymliqdqy7wlcgy0lh7q";}
+  {name="kdegraphics-mobipocket";value="0m41s8scy5hym6mk0kfmjj54dc3yxahsdrliaadixhp0fx02cx0v";}
+  {name="kdegraphics-strigi-analyzer";value="08d2vrghwqkw4mg4vmgsynfnhygxpavxnscvs3z70hdff7i001f0";}
+  {name="kdegraphics-thumbnailers";value="1lhb7m298mbz7dk50savqdz3p6lkbscn0gi6bqapji24464vlb8k";}
+  {name="kdenetwork-filesharing";value="0a8vw6jj0kz0lq96mj3mfzpdvb6xpw8xvccwxhjqp164bzqdz66d";}
+  {name="kdenetwork-strigi-analyzers";value="14px6ddp8flqd40bww0sl71jmn5bfqm9j3v6rqm63ii7z87qk6xl";}
+  {name="kdepim";value="0i7r68r5nzflmpdkkzpj5xc3fwxg5903g1fj5g1yn79v5zx1gzd3";}
+  {name="kdepimlibs";value="1mv8k0wr0wr0hnlb1al50nmz8d77vbm73p2hhipipgliq6zb3vb5";}
+  {name="kdepim-runtime";value="03xmm9c5whr96bwrdrdmaq8w53qg251g0kd479g02x3br20yi3rd";}
+  {name="kdeplasma-addons";value="094gj8z1xx4d5vlkq8izifpgvh6sfq36bh08n8ylfa976qq8xm8j";}
+  {name="kde-runtime";value="01c6pjsq4xp75yma8wbfpg92lrvvppp9ighlxvy7z2afkd8lx9vq";}
+  {name="kdesdk-kioslaves";value="0k0ff1nq10z0gajr3rnrbhm1rml42d2fi9ahwxdjnxyaav31ml24";}
+  {name="kdesdk-strigi-analyzers";value="12r17q7mg74prir52h80prc61bn5rq1031cbp3xswh658srf1lg0";}
+  {name="kdesdk-thumbnailers";value="1kmdpb52kg04smgp9v5a51bjjrw6fsh347ajnxhr8ygg7d8zw763";}
+  {name="kde-wallpapers";value="05jb5ry6ziz64lqxrmi7c53n8j5hpgrz3lii4y1wnr204342ln6k";}
+  {name="kdewebdev";value="0sclb72i6nbrsz4a5jlxf7mgngdn7wbd669fqa7xw6axrsjj1cgn";}
+  {name="kde-workspace";value="00bf708i0vzl47dgcr8mp61n7k0xjzqnlb8j1smliy5bydiaa86g";}
+  {name="kdf";value="0y5d6d6wl5ycmcswrkgwc301jbj77jnb46sgl38i9q4nf7b3ham0";}
+  {name="kdiamond";value="0z8c07vx3k466ysri1syka0wm0bkz581kb72d5sns86np0rg0wmp";}
+  {name="kfilemetadata";value="0wak1nphnphcam8r6pba7m2gld4w04dkk8qn23myjammv3myc59i";}
+  {name="kfloppy";value="02sv0k6cqvd9zf7hwsjxgb6l3jawx5fkg1siffbb62cgp49y8fw0";}
+  {name="kfourinline";value="0zhvpbgmk89cn7pjzgdzc4kah8rkjj3w97yym205phc8fc36nwa4";}
+  {name="kgamma";value="1cpm1d0sr3zphkqpfg11farqal2h2hl6gcdnf8p1b10np1b8rxwk";}
+  {name="kgeography";value="125772x1kbh136ymja903w2k7vgahs2d1nw471nr8fx511pnxcj4";}
+  {name="kget";value="1v1j5sfsym1sz8w6ll23il0n4qq74sjx9c9ij29zhdwxy21xasv9";}
+  {name="kgoldrunner";value="1mc93hwl1diygjlpalf2wdzhdnhcjq1mj9srlxhr5f1w0687pzar";}
+  {name="kgpg";value="0ihc5pp1mxsa67ynrvf2mpxwhyni6lkcdarj1xmvpcf56nlkfzdw";}
+  {name="khangman";value="0wddflgsfslbhdpkl39qipnc2xx6b23ci1gr19ipyiyif8d74zix";}
+  {name="kig";value="1kp3rhsfprp9c9f0wp264x9d6n454ff26ysfnli9gl5l2imxhw9f";}
+  {name="kigo";value="1gdsr31ybc07bkcyfrrm4fz081l3l5h5rv46ld0f6rfmxm3xv01j";}
+  {name="killbots";value="1d31pxvjls5a9m521a9n7rynl317585ald1nn4bpk2f138475d12";}
+  {name="kimono";value="17n1nx66kqcc2wfp6ql7xpn8lq9y3b6djf6y1n3ajvyjh8m357jf";}
+  {name="kiriki";value="00iis3vx95nlcarysy9mrbz4jnw4rbxgmjpy48z85imdd7yydd8x";}
+  {name="kiten";value="17n6q1kan8dlxqhnhk73nzn4jg39yw1hh88vsndswmx1s4k68x7r";}
+  {name="kjumpingcube";value="0p9kswv2wnxqgmlvwbcwxrb27b0h6by1zx91k5vmv16qm789gfk9";}
+  {name="klettres";value="01vf6cdiafncv0n35cp5v44azxkjjzn1rp1r8rw05vlmh2296p0l";}
+  {name="klickety";value="0c156fkchcpfybmvc3qkvdqizc62b758drkdqc8pawal8766ff27";}
+  {name="klines";value="1w8k18azfqsb0q90aijn7xfkkfrbnrnfwn6w66wc8xn2b6hibahl";}
+  {name="kmag";value="091h7vb3wcp5zg06mp240a2vdhj18xqw40i25djkl7a861xxhpb8";}
+  {name="kmahjongg";value="0qb933kjv205narrkgr83ha516pldpfxi65l8yhm7801nhljhpsg";}
+  {name="kmines";value="103lzgr7p2ic29afn8imk6mh7ab0pfpcrdwlsg21zkvrrbrcaq6k";}
+  {name="kmix";value="153fif25m7w94g8g20ahg5fjppkf3bi8rn4njq1zl1g0bsnrgpfp";}
+  {name="kmousetool";value="1z62h71mcxdrp4y2dl497x89295m6mlilaqnvp9ijpw6fm4b9czd";}
+  {name="kmouth";value="06n6srd6011bk29w5xnqihvs6pbhmg0sf5h7mwfwp4szvm167hc4";}
+  {name="kmplot";value="1xajighandffidp85rjjch4si0gb3mfjks3yh5i8sig8j4797b86";}
+  {name="knavalbattle";value="1fmh6qds3ql5w3nsw6zk18ia0z4immpwj8sl35qq2kkx1g0hbv0c";}
+  {name="knetwalk";value="0h17ck55fdwipvsdqfdhmn612jb1nrq6vkj0g9i3qchvw9qz0hcs";}
+  {name="kolf";value="006h7iqwn55bjrgsc9p6316lgvxvda0kvcdxxfd4sqg2ain64h7q";}
+  {name="kollision";value="1hc07r3z4w8gqby0pyb5m1ylp8izmvx0ib3dlpmh2jd5khp0qyhj";}
+  {name="kolourpaint";value="0kf6wjxcd80mc4hxb4nhpksxj0bm9339i835iwpsbjfn8xs1s55h";}
+  {name="kompare";value="0zhpw7kz1c9hcmqfhnvsg39xw4zhi36q39bgifcbyfvjs0ymbvi4";}
+  {name="konquest";value="125ciy00h77y7byrlnqv0zhw3pxp9a5i5clz12dlc1z251z3l588";}
+  {name="konsole";value="0mgi0fw5sc216cy8j45g4zd733d02l2d6z4wjcxqm7rh61lhwx9g";}
+  {name="kopete";value="0i9qq7k19vyss1k22ppr6xq3y3bb6mndg8b5323f0cvjlpgcc8xs";}
+  {name="korundum";value="0zapd60frhq652p1xnpaj680vpaqr595dqbhha552c4dfabvgv4j";}
+  {name="kpat";value="0kfvhkwamrfllgmd8yl6p3xlc0jmivxy0rsdrxpabvpb0vcqh9ml";}
+  {name="kppp";value="01pj8q1m3gwww6wvgwnd24lgbyvzfm6gskv2c802lzjcj7p9218m";}
+  {name="kqtquickcharts";value="1vml9scxva9gr8bb6rkxl8gaaghx3lyvwcwcifq5hz0154q875d5";}
+  {name="krdc";value="07p67z8gh9xnnr71kjy8g6ki07w22c767qbrk2fzar2zvc8dgnw6";}
+  {name="kremotecontrol";value="06nkg9chkimmzs1ww0sbxglssibby3157jkw6bncg661yfbsd48r";}
+  {name="kreversi";value="1pjjw3vim3pjazcxggs9axglkl7l1g0fpzqgjdxxn0p8vfh84jgg";}
+  {name="krfb";value="08qpw93slflx7whp9jbq1bsq1ikm0pgdvys11idvhmzl2lg86j1d";}
+  {name="kross-interpreters";value="1v6xjdpflzx3gi12vaf6ywzhb4ycrnawb839pjbpw3cy83p1m6pa";}
+  {name="kruler";value="08b54gimg0z4hl9lgndsbl797r5h88mjlamzzv10k0rf7rsd0924";}
+  {name="ksaneplugin";value="1rcmjkzr3yxanpvkfvbvf06dg57m1mmfmmy4n6ixy51ir0mh1v5j";}
+  {name="kscd";value="01nchy6pb4spvbhgmkfqglmrm8jgkslg6k1q1vzvahyns4lv8b6d";}
+  {name="kshisen";value="0i9imqb4zz2yvc80dgvbz08s3pxncm8dnvvwxjaw674nks0jxlh8";}
+  {name="ksirk";value="1lnsz5fg86vqdks3d5dfsxzkdxs8kzakjrwx4ixpab5xhq05vzls";}
+  {name="ksnakeduel";value="0721xwg3rjwib3aazgzhdmph0bpl2p5zkha8jbmq7aqr5i8ddkx0";}
+  {name="ksnapshot";value="10grzlp7sq367g91858d16sadzipzmgwczhnb5xvy0437lqhhz7c";}
+  {name="kspaceduel";value="0cwgmpv2xcjwz914hqx6rivi5sk4x66imcdqy7pjnj5vk4f197m7";}
+  {name="ksquares";value="1zzg6y6zfqd1a0939hd1wy7ix4wld7ixp5pz2qs315g51m9lpn7i";}
+  {name="ksudoku";value="0qgjx7fbawhn63vv37wv4z56jf0gi4chs64aw9bllbq52syirmgb";}
+  {name="ksystemlog";value="11xh1psqhq7vimymb394kxjk83yax3gzi9fdckjspk6p10cycln2";}
+  {name="kteatime";value="16rrlxc67afkin3afdf1s9dlr7z2281dfsja64pdrrdilwwpyqwi";}
+  {name="ktimer";value="02yw6zgp5wbgfvq38adbnn8mqpjc69chz4rndphmyskvflszz6n4";}
+  {name="ktouch";value="110haqrk8ixq7hmsb8hymkbqw7jygybxh467p4ag0pczr09gr3d3";}
+  {name="ktuberling";value="1jpnzb6dbmcv2f0hb7y3alqn9jqq589jzz2chbvlsm7p7xnpv2h2";}
+  {name="kturtle";value="1z6mx1ls5ymh5biyzf5f99q6qapr4a2jgxdi2za0qclqjsla4hrf";}
+  {name="ktux";value="1n854lccqs540c0lsg6794g0ir25zli1h6z92vyccsvranjb6k9r";}
+  {name="kubrick";value="1sa53z2bdk4rnvr5fs73nazl1aisbcg9yyianazggqshhy0l6w8k";}
+  {name="kuser";value="1rkjah60cwpkp355ldcbvb7cwap9ib1mvj1aska9zn2kad0dg8n1";}
+  {name="kwalletmanager";value="1w3csapcddpzn7l7v4a2802wwh6d1zm8vqx9lz3wmajczpx6xjab";}
+  {name="kwordquiz";value="0zvxzva65cvqin64v105zh9hwbv0yi8mx9lll4ybbp915dw8701q";}
+  {name="libkcddb";value="0xrmg53p5lh4ral2l5zh96angaf9czhih3zzvwr9qr9h9ks5vrn1";}
+  {name="libkcompactdisc";value="14hjlql1vzzszfpxhz0rzvjpi0q7f20ry5857lpdbqhnrc0p3bmg";}
+  {name="libkdcraw";value="0ksarwq8aaxc77cp0ryfnw1n311wkykzdlhj03rln8jjlbdm3j3q";}
+  {name="libkdeedu";value="1i2sfby6ya8cfkdk28a9ia5zixwbixy56ql488v41w29mf1jnvzx";}
+  {name="libkdegames";value="0rd24v67fg09h5ilr4r7g9q21z165q1pm37y17l2qgjzr04czwn4";}
+  {name="libkexiv2";value="1z8fmxfphx7szf4a17fs7zfjyxj6wncbvsphfvf6i5rlqy60g1y4";}
+  {name="libkipi";value="0fjm96pwird4km4wlhag1b67czwi03vsc2anng9iw3l4avavmvfw";}
+  {name="libkmahjongg";value="1ab66zgxya23yi7l3ga78yrm1kkr0l6hl709khyyk667kgzfqf16";}
+  {name="libkomparediff2";value="0bx672rysz78y2322lmm8a0i1k9v755wx8vmh538amk5smq936mz";}
+  {name="libksane";value="18nd90hrfmrgwmm6p5hgdr9dwc7z9978v2ibmjiim8dv44myk2is";}
+  {name="lokalize";value="1ig5mvzcspyz6ihr43fmwnhw560pby2kij0bz598xjkvb5hwfn8g";}
+  {name="lskat";value="01vgf40apf9x322k4f3i78n9ha01maga3xh3zvw4kmbs8kd662bi";}
+  {name="marble";value="1w603miykq0s84jk6j17b7pg44rd4az0dhzgq7j7d6dfcz7nfrjd";}
+  {name="mplayerthumbs";value="0zin10mah7wm7f5v3hqffbwq2pqs7v39i2qhdizrijp85wsp925v";}
+  {name="nepomuk-core";value="0gdb7vk3qjvv04a5xqwlv0f4bjn391a3k3hkgibkql9ggxbjbrvl";}
+  {name="nepomuk-widgets";value="1qbrs56af9zdzhfb8964p44706gdf4j0bmj378xy5jva7km9cypx";}
+  {name="okteta";value="1vgs9kwp1bb5fvp1ja5hzvgll1s7n3ds5gg4500khy47k2z2cvmx";}
+  {name="okular";value="0ijw71vkk1lj873hqczc23vllhkc9s0miipsbllxblx57rgi5qp6";}
+  {name="oxygen-icons";value="1nwjjcm0isjnn3i8xf75nk6mhbg1zm20farlmyrzx261r2cj68lv";}
+  {name="pairs";value="124rpv22cx6bi65ixz5889zk46q17913w4l80d94pp9l6aypn4fm";}
+  {name="palapeli";value="08rklllik0zsrw19ff6b6l0ijxkyxy8wn5mxm3i07h9pbzv1ga5k";}
+  {name="parley";value="1mx0s7dmcmprrr44iim3pzr782cacndqiqiy7zz1zdw41mif3q16";}
+  {name="perlkde";value="0aiv8wmv08yp19rk228m7wirh43dagz4yapp3f7bgg50f4c6rpkb";}
+  {name="perlqt";value="0villxkgqwscx0sipfqnacxdyi3kzkmma4p9fkjq0hvqzq1b4pd0";}
+  {name="picmi";value="0x6nv6ahgsb90brckgv97grsmdb4za5m9izrkcyz6rg5gnn848c4";}
+  {name="poxml";value="020lf3wc7vn9d01pqqn1ygvvx7699vxkk5n9hq8zw7rf6n25gifx";}
+  {name="print-manager";value="0df1zca0cdk3qdyjfsymhghdadixz3fwm5w4h833iwf7fgr3c5q8";}
+  {name="pykde4";value="1z40gnkyjlv6ds3cmpzvv99394rhmydr6rxx7qj33m83xnsxgfbz";}
+  {name="qtruby";value="179wjl7w8vdm1606m1dzphhmcqxynfbdrcnrjzpyyvhibsdyfl10";}
+  {name="qyoto";value="0inwdnwhmi3cf82z0ni1abf621l6322r84kq447cqia6rkmf59j4";}
+  {name="rocs";value="1z6lk3xzbrw6581gy8hd3lm3ry4vkphg9wcdl8l03az1nyk2xp61";}
+  {name="smokegen";value="1if43r4icp7fz8ngmfw8i5wdylak48j79pp3bdvizfwn4pazl2s3";}
+  {name="smokekde";value="099c4qkpwwhbj9yibsm5zkgczv22qs4vd6s84v1p347kxr5in1hd";}
+  {name="smokeqt";value="02drfr1bnhac27a4c8pvbvvag250pmg71iz7ig968bp2gqvxcf99";}
+  {name="step";value="14f4a2k2al21ynkmwqrh5c33fgn6bhw3g461yhvmnq2sf8fwg8wb";}
+  {name="superkaramba";value="1jf3dck707svpbnbpwv46mlcgf5x52djnix5wjsg3wmkipgs4w88";}
+  {name="svgpart";value="1bj9gaaj6nqdgchmqnn381288aqw09ky0kbm1naddqa82pk196f6";}
+  {name="sweeper";value="0fhq9n1ffhcka37j6m9gs0rdxs0dzfn7lnl66v9wpgw075lfiaxx";}
+  {name="umbrello";value="0cvks49ij449grh3ldbpmmagz3yx61zq1g0fsg2ii9pqzbd6hn3x";}
+  {name="zeroconf-ioslave";value="0hhm5jj0kbi1y18m4x50hnpnfi1cjgh6mglggbscp8xr32jgmgjm";}
+];
+versions=builtins.listToAttrs[
+  {name="amor";value="4.14.3";}
+  {name="analitza";value="4.14.3";}
+  {name="ark";value="4.14.3";}
+  {name="artikulate";value="4.14.3";}
+  {name="audiocd-kio";value="4.14.3";}
+  {name="baloo";value="4.14.3";}
+  {name="baloo-widgets";value="4.14.3";}
+  {name="blinken";value="4.14.3";}
+  {name="bomber";value="4.14.3";}
+  {name="bovo";value="4.14.3";}
+  {name="cantor";value="4.14.3";}
+  {name="cervisia";value="4.14.3";}
+  {name="dolphin-plugins";value="4.14.3";}
+  {name="dragon";value="4.14.3";}
+  {name="ffmpegthumbs";value="4.14.3";}
+  {name="filelight";value="4.14.3";}
+  {name="granatier";value="4.14.3";}
+  {name="gwenview";value="4.14.3";}
+  {name="jovie";value="4.14.3";}
+  {name="juk";value="4.14.3";}
+  {name="kaccessible";value="4.14.3";}
+  {name="kactivities";value="4.13.3";}
+  {name="kajongg";value="4.14.3";}
+  {name="kalgebra";value="4.14.3";}
+  {name="kalzium";value="4.14.3";}
+  {name="kamera";value="4.14.3";}
+  {name="kanagram";value="4.14.3";}
+  {name="kapman";value="4.14.3";}
+  {name="kapptemplate";value="4.14.3";}
+  {name="kate";value="4.14.3";}
+  {name="katomic";value="4.14.3";}
+  {name="kblackbox";value="4.14.3";}
+  {name="kblocks";value="4.14.3";}
+  {name="kbounce";value="4.14.3";}
+  {name="kbreakout";value="4.14.3";}
+  {name="kbruch";value="4.14.3";}
+  {name="kcachegrind";value="4.14.3";}
+  {name="kcalc";value="4.14.3";}
+  {name="kcharselect";value="4.14.3";}
+  {name="kcolorchooser";value="4.14.3";}
+  {name="kcron";value="4.14.3";}
+  {name="kdeartwork";value="4.14.3";}
+  {name="kde-baseapps";value="4.14.3";}
+  {name="kde-base-artwork";value="4.14.3";}
+  {name="kde-dev-scripts";value="4.14.3";}
+  {name="kde-dev-utils";value="4.14.3";}
+  {name="kdegraphics-mobipocket";value="4.14.3";}
+  {name="kdegraphics-strigi-analyzer";value="4.14.3";}
+  {name="kdegraphics-thumbnailers";value="4.14.3";}
+  {name="kdenetwork-filesharing";value="4.14.3";}
+  {name="kdenetwork-strigi-analyzers";value="4.14.3";}
+  {name="kdepim";value="4.14.3";}
+  {name="kdepimlibs";value="4.14.3";}
+  {name="kdepim-runtime";value="4.14.3";}
+  {name="kdeplasma-addons";value="4.14.3";}
+  {name="kde-runtime";value="4.14.3";}
+  {name="kdesdk-kioslaves";value="4.14.3";}
+  {name="kdesdk-strigi-analyzers";value="4.14.3";}
+  {name="kdesdk-thumbnailers";value="4.14.3";}
+  {name="kde-wallpapers";value="4.14.3";}
+  {name="kdewebdev";value="4.14.3";}
+  {name="kde-workspace";value="4.11.14";}
+  {name="kdf";value="4.14.3";}
+  {name="kdiamond";value="4.14.3";}
+  {name="kfilemetadata";value="4.14.3";}
+  {name="kfloppy";value="4.14.3";}
+  {name="kfourinline";value="4.14.3";}
+  {name="kgamma";value="4.14.3";}
+  {name="kgeography";value="4.14.3";}
+  {name="kget";value="4.14.3";}
+  {name="kgoldrunner";value="4.14.3";}
+  {name="kgpg";value="4.14.3";}
+  {name="khangman";value="4.14.3";}
+  {name="kig";value="4.14.3";}
+  {name="kigo";value="4.14.3";}
+  {name="killbots";value="4.14.3";}
+  {name="kimono";value="4.14.3";}
+  {name="kiriki";value="4.14.3";}
+  {name="kiten";value="4.14.3";}
+  {name="kjumpingcube";value="4.14.3";}
+  {name="klettres";value="4.14.3";}
+  {name="klickety";value="4.14.3";}
+  {name="klines";value="4.14.3";}
+  {name="kmag";value="4.14.3";}
+  {name="kmahjongg";value="4.14.3";}
+  {name="kmines";value="4.14.3";}
+  {name="kmix";value="4.14.3";}
+  {name="kmousetool";value="4.14.3";}
+  {name="kmouth";value="4.14.3";}
+  {name="kmplot";value="4.14.3";}
+  {name="knavalbattle";value="4.14.3";}
+  {name="knetwalk";value="4.14.3";}
+  {name="kolf";value="4.14.3";}
+  {name="kollision";value="4.14.3";}
+  {name="kolourpaint";value="4.14.3";}
+  {name="kompare";value="4.14.3";}
+  {name="konquest";value="4.14.3";}
+  {name="konsole";value="4.14.3";}
+  {name="kopete";value="4.14.3";}
+  {name="korundum";value="4.14.3";}
+  {name="kpat";value="4.14.3";}
+  {name="kppp";value="4.14.3";}
+  {name="kqtquickcharts";value="4.14.3";}
+  {name="krdc";value="4.14.3";}
+  {name="kremotecontrol";value="4.14.3";}
+  {name="kreversi";value="4.14.3";}
+  {name="krfb";value="4.14.3";}
+  {name="kross-interpreters";value="4.14.3";}
+  {name="kruler";value="4.14.3";}
+  {name="ksaneplugin";value="4.14.3";}
+  {name="kscd";value="4.14.3";}
+  {name="kshisen";value="4.14.3";}
+  {name="ksirk";value="4.14.3";}
+  {name="ksnakeduel";value="4.14.3";}
+  {name="ksnapshot";value="4.14.3";}
+  {name="kspaceduel";value="4.14.3";}
+  {name="ksquares";value="4.14.3";}
+  {name="ksudoku";value="4.14.3";}
+  {name="ksystemlog";value="4.14.3";}
+  {name="kteatime";value="4.14.3";}
+  {name="ktimer";value="4.14.3";}
+  {name="ktouch";value="4.14.3";}
+  {name="ktuberling";value="4.14.3";}
+  {name="kturtle";value="4.14.3";}
+  {name="ktux";value="4.14.3";}
+  {name="kubrick";value="4.14.3";}
+  {name="kuser";value="4.14.3";}
+  {name="kwalletmanager";value="4.14.3";}
+  {name="kwordquiz";value="4.14.3";}
+  {name="libkcddb";value="4.14.3";}
+  {name="libkcompactdisc";value="4.14.3";}
+  {name="libkdcraw";value="4.14.3";}
+  {name="libkdeedu";value="4.14.3";}
+  {name="libkdegames";value="4.14.3";}
+  {name="libkexiv2";value="4.14.3";}
+  {name="libkipi";value="4.14.3";}
+  {name="libkmahjongg";value="4.14.3";}
+  {name="libkomparediff2";value="4.14.3";}
+  {name="libksane";value="4.14.3";}
+  {name="lokalize";value="4.14.3";}
+  {name="lskat";value="4.14.3";}
+  {name="marble";value="4.14.3";}
+  {name="mplayerthumbs";value="4.14.3";}
+  {name="nepomuk-core";value="4.14.3";}
+  {name="nepomuk-widgets";value="4.14.3";}
+  {name="okteta";value="4.14.3";}
+  {name="okular";value="4.14.3";}
+  {name="oxygen-icons";value="4.14.3";}
+  {name="pairs";value="4.14.3";}
+  {name="palapeli";value="4.14.3";}
+  {name="parley";value="4.14.3";}
+  {name="perlkde";value="4.14.3";}
+  {name="perlqt";value="4.14.3";}
+  {name="picmi";value="4.14.3";}
+  {name="poxml";value="4.14.3";}
+  {name="print-manager";value="4.14.3";}
+  {name="pykde4";value="4.14.3";}
+  {name="qtruby";value="4.14.3";}
+  {name="qyoto";value="4.14.3";}
+  {name="rocs";value="4.14.3";}
+  {name="smokegen";value="4.14.3";}
+  {name="smokekde";value="4.14.3";}
+  {name="smokeqt";value="4.14.3";}
+  {name="step";value="4.14.3";}
+  {name="superkaramba";value="4.14.3";}
+  {name="svgpart";value="4.14.3";}
+  {name="sweeper";value="4.14.3";}
+  {name="umbrello";value="4.14.3";}
+  {name="zeroconf-ioslave";value="4.14.3";}
+];
+modules=[
+{
+  module="kdemultimedia";
+  split=true;
+  pkgs=[
+    { name="audiocd-kio"; sane="audiocd_kio"; }
+    { name="dragon";  }
+    { name="ffmpegthumbs";  }
+    { name="juk";  }
+    { name="kmix";  }
+    { name="kscd";  }
+    { name="libkcddb";  }
+    { name="libkcompactdisc";  }
+    { name="mplayerthumbs";  }
+  ];
+}
+{
+  module="kdegraphics";
+  split=true;
+  pkgs=[
+    { name="gwenview";  }
+    { name="kamera";  }
+    { name="kcolorchooser";  }
+    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
+    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
+    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
+    { name="kgamma";  }
+    { name="kolourpaint";  }
+    { name="kruler";  }
+    { name="ksaneplugin";  }
+    { name="ksnapshot";  }
+    { name="libkdcraw";  }
+    { name="libkexiv2";  }
+    { name="libkipi";  }
+    { name="libksane";  }
+    { name="okular";  }
+    { name="svgpart";  }
+  ];
+}
+{
+  module="kdelibs";
+  split=true;
+  pkgs=[
+    { name="baloo";  }
+    { name="baloo-widgets"; sane="baloo_widgets"; }
+    { name="kfilemetadata";  }
+    { name="nepomuk-core"; sane="nepomuk_core"; }
+    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
+  ];
+}
+{
+  module="kdenetwork";
+  split=true;
+  pkgs=[
+    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
+    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
+    { name="kget";  }
+    { name="kopete";  }
+    { name="kppp";  }
+    { name="krdc";  }
+    { name="krfb";  }
+    { name="zeroconf-ioslave"; sane="zeroconf_ioslave"; }
+  ];
+}
+{
+  module="kdeutils";
+  split=true;
+  pkgs=[
+    { name="ark";  }
+    { name="filelight";  }
+    { name="kcalc";  }
+    { name="kcharselect";  }
+    { name="kdf";  }
+    { name="kfloppy";  }
+    { name="kgpg";  }
+    { name="kremotecontrol";  }
+    { name="ktimer";  }
+    { name="kwalletmanager";  }
+    { name="print-manager"; sane="print_manager"; }
+    { name="superkaramba";  }
+    { name="sweeper";  }
+  ];
+}
+{
+  module="applications";
+  split=true;
+  pkgs=[
+    { name="kate";  }
+    { name="konsole";  }
+  ];
+}
+{
+  module="kdetoys";
+  split=true;
+  pkgs=[
+    { name="amor";  }
+    { name="kteatime";  }
+    { name="ktux";  }
+  ];
+}
+{
+  module="kdesdk";
+  split=true;
+  pkgs=[
+    { name="cervisia";  }
+    { name="dolphin-plugins"; sane="dolphin_plugins"; }
+    { name="kapptemplate";  }
+    { name="kcachegrind";  }
+    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
+    { name="kde-dev-utils"; sane="kde_dev_utils"; }
+    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
+    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
+    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
+    { name="kompare";  }
+    { name="libkomparediff2";  }
+    { name="lokalize";  }
+    { name="okteta";  }
+    { name="poxml";  }
+    { name="umbrello";  }
+  ];
+}
+{
+  module="kdegames";
+  split=true;
+  pkgs=[
+    { name="bomber";  }
+    { name="bovo";  }
+    { name="granatier";  }
+    { name="kajongg";  }
+    { name="kapman";  }
+    { name="katomic";  }
+    { name="kblackbox";  }
+    { name="kblocks";  }
+    { name="kbounce";  }
+    { name="kbreakout";  }
+    { name="kdiamond";  }
+    { name="kfourinline";  }
+    { name="kgoldrunner";  }
+    { name="kigo";  }
+    { name="killbots";  }
+    { name="kiriki";  }
+    { name="kjumpingcube";  }
+    { name="klickety";  }
+    { name="klines";  }
+    { name="kmahjongg";  }
+    { name="kmines";  }
+    { name="knavalbattle";  }
+    { name="knetwalk";  }
+    { name="kolf";  }
+    { name="kollision";  }
+    { name="konquest";  }
+    { name="kpat";  }
+    { name="kreversi";  }
+    { name="kshisen";  }
+    { name="ksirk";  }
+    { name="ksnakeduel";  }
+    { name="kspaceduel";  }
+    { name="ksquares";  }
+    { name="ksudoku";  }
+    { name="ktuberling";  }
+    { name="kubrick";  }
+    { name="libkdegames";  }
+    { name="libkmahjongg";  }
+    { name="lskat";  }
+    { name="palapeli";  }
+    { name="picmi";  }
+  ];
+}
+{
+  module="kdeedu";
+  split=true;
+  pkgs=[
+    { name="analitza";  }
+    { name="artikulate";  }
+    { name="blinken";  }
+    { name="cantor";  }
+    { name="kalgebra";  }
+    { name="kalzium";  }
+    { name="kanagram";  }
+    { name="kbruch";  }
+    { name="kgeography";  }
+    { name="khangman";  }
+    { name="kig";  }
+    { name="kiten";  }
+    { name="klettres";  }
+    { name="kmplot";  }
+    { name="kqtquickcharts";  }
+    { name="ktouch";  }
+    { name="kturtle";  }
+    { name="kwordquiz";  }
+    { name="libkdeedu";  }
+    { name="marble";  }
+    { name="pairs";  }
+    { name="parley";  }
+    { name="rocs";  }
+    { name="step";  }
+  ];
+}
+{
+  module="kdeadmin";
+  split=true;
+  pkgs=[
+    { name="kcron";  }
+    { name="ksystemlog";  }
+    { name="kuser";  }
+  ];
+}
+{
+  module="kdebindings";
+  split=true;
+  pkgs=[
+    { name="kimono";  }
+    { name="korundum";  }
+    { name="kross-interpreters"; sane="kross_interpreters"; }
+    { name="perlkde";  }
+    { name="perlqt";  }
+    { name="pykde4";  }
+    { name="qtruby";  }
+    { name="qyoto";  }
+    { name="smokegen";  }
+    { name="smokekde";  }
+    { name="smokeqt";  }
+  ];
+}
+{
+  module="kdeaccessibility";
+  split=true;
+  pkgs=[
+    { name="jovie";  }
+    { name="kaccessible";  }
+    { name="kmag";  }
+    { name="kmousetool";  }
+    { name="kmouth";  }
+  ];
+}
+{
+  module="kde-baseapps";
+sane="kde_baseapps";  split=true;
+  pkgs=[
+    { name="kde-baseapps"; sane="kde_baseapps"; }
+  ];
+}
+{ module="kactivities";  split=false;}
+{ module="kdeartwork";  split=false;
+  pkgs=[
+    { name="ColorSchemes"; }
+    { name="IconThemes"; }
+    { name="emoticons"; }
+    { name="kscreensaver"; }
+    { name="kwin-styles"; sane="kwin_styles";}
+    { name="styles"; }
+    { name="wallpapers"; }
+    { name="HighResolutionWallpapers"; }
+    { name="WeatherWallpapers"; }
+    { name="desktopthemes"; }
+  ];
+
+}
+{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
+{ module="kdepim";  split=false;}
+{ module="kdepimlibs";  split=false;}
+{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
+{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
+{ module="kde-runtime"; sane="kde_runtime"; split=false;}
+{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
+{ module="kdewebdev";  split=false;
+  pkgs=[
+    { name="klinkstatus"; }
+    { name="kfilereplace"; }
+    { name="kimagemapeditor"; }
+    { name="kommander"; }
+  ];
+
+}
+{ module="kde-workspace"; sane="kde_workspace"; split=false;}
+{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
+];
+}
diff --git a/pkgs/desktops/kde-4.14/kde-package/default.nix b/pkgs/desktops/kde-4.14/kde-package/default.nix
new file mode 100644
index 00000000000..c78dfbd8a36
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-package/default.nix
@@ -0,0 +1,131 @@
+{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
+, release, branch, ignoreList, extraSubpkgs
+}:
+
+let
+  inherit (stdenv.lib) filter fold;
+  inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
+in
+rec {
+  manifest = import (./. + "/${release}.nix");
+
+  # src attribute for $name tarball
+  kdesrc = name: version: fetchurl {
+    url = "mirror://kde/" + (if manifest.stable then "" else "un")
+      + "stable/${release}/src/${name}-${version}.tar.xz";
+    sha256 = getAttr name manifest.hashes;
+  };
+
+  # Default meta attribute
+  defMeta = {
+    homepage = http://www.kde.org;
+    inherit branch;
+    platforms = stdenv.lib.platforms.linux;
+    inherit (qt4.meta) maintainers;
+  };
+
+  # KDE package built from the whole tarball
+  # This function is used both for monolithic modules and modules which are
+  # released as individual tarballs
+  kdeMonoPkg = name:
+    let n_ = name; v_ = getAttr name manifest.versions; in
+    a@{meta, name ? n_, version ? v_, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${version}";
+      src = kdesrc name version;
+      meta = defMeta // meta;
+      enableParallelBuilding = true;
+    } // (removeAttrs a [ "meta" "name" ]));
+
+  # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
+  # API.
+  kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
+
+  # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
+  kdeSubdirPkg = module:
+    {name, subdir ? name, sane ? name}:
+    let name_ = name; version_ = getAttr module manifest.versions; in
+    a@{cmakeFlags ? [], name ? name_, version ? version_, meta ? {}, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${release}";
+      src = kdesrc module version;
+      cmakeFlags =
+        [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
+          "-DBUILD_doc=TRUE"
+          "-DBUILD_${subdir}=TRUE"
+        ] ++ cmakeFlags;
+      meta = defMeta // meta;
+      enableParallelBuilding = module.enableParallelBuilding or true;
+    } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
+
+  # A KDE monolithic module
+  kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
+
+  # Combine packages in one module.
+  # Arguments:
+  #  * pkgFun --- a function of the following signature:
+  #               module: manifest_attrs: manual_attrs: derivation;
+  #  * module --- name of the module
+  #  * pkgs --- list of packages in manifest format
+  combinePkgs = pkgFun: module: pkgs:
+    let
+      f = p@{name, ...}:
+        callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
+      list = map f pkgs;
+      attrs = listToAttrs (map
+        ({name, sane ? name, ...}@p: { name = sane; value = f p; })
+        pkgs);
+    in
+      runCommand "${module}-${release}"
+      ({passthru = attrs // {
+         propagatedUserEnvPackages = list;
+         projects = attrs;
+       };})
+        ''
+          mkdir -pv $out/nix-support
+          echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
+        '';
+
+  # Given manifest module data, return the module
+  kdeModule = { module, sane ? module, split, pkgs ? [] }:
+    let
+      pkgs_ = filterPkgs module pkgs;
+    in
+    # Module is splitted by upstream
+    if split then combinePkgs kdeSplittedPkg module pkgs_
+    # Monolithic module
+    else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
+    # Module is splitted by us
+    else combinePkgs kdeSubdirPkg module pkgs_;
+
+  # The same, as nameValuePair with sane name
+  kdeModuleNV = a@{ module, sane ? module, ... }:
+    { name = sane; value = kdeModule a; };
+
+  filterPkgs = module: (p:
+      removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
+      ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
+
+  # Remove attrsets with x.name in subst. Optimized for empty subst.
+  removeNames = subst: big:
+    fold (s: out: filter (x: x.name != s) out) big subst;
+
+  modules = listToAttrs (map kdeModuleNV manifest.modules);
+
+  splittedModuleList =
+    let
+      splitted = filter (a: a ? pkgs) manifest.modules;
+      names = map ({module, sane ? module, ...}: sane) splitted;
+    in
+    map (m: m.projects) (stdenv.lib.attrVals names modules);
+
+  individual =
+    stdenv.lib.zipAttrsWith
+    (
+      name: list:
+      if tail list == []
+      then head list
+      else abort "Multiple modules define ${name}"
+    )
+    splittedModuleList;
+}
diff --git a/pkgs/desktops/kde-4.14/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.14/kde-package/kde-manifest.sh
new file mode 100755
index 00000000000..1da7bc810c3
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kde-package/kde-manifest.sh
@@ -0,0 +1,173 @@
+#! /bin/sh
+
+# Usage: download kde release to $dir, then run
+# $0 $dir
+
+dir="$1"
+
+
+if [[ -z $(type -p xsltproc) ]]; then
+  echo "Please provide libxslt" >&2
+  exit 1
+fi
+
+release=$(ls "${dir}"/kdelibs-*.tar.xz | \
+  sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
+
+# Detect release number & whether it is a stable release
+if [[ $? -ne 0 || -z $release ]]; then
+  echo "'${dir}' is not a directory (or kdelibs...tar.xz doesn't exist)!" >&2
+  exit 1
+fi
+
+if [[ ${release##*.} -gt 50 ]]; then
+  stable="false"
+else
+  stable="true"
+fi
+
+echo "Detected release ${release}" >&2
+
+declare -A hash
+declare -A version
+declare -A modules
+declare -a packages
+declare -a top_level
+
+if [[ ! -f ${dir}/kde_projects.xml ]]; then
+  if ! curl -o "${dir}/kde_projects.xml" -J http://projects.kde.org/kde_projects.xml; then
+    echo "Could not download http://projects.kde.org/kde_projects.xml to ${dir}/kde_projects.xml" >&2
+    exit 1
+  fi
+fi
+# xsltproc output declares -A module
+eval `xsltproc kde-submodules.xslt ${dir}/kde_projects.xml`
+
+module[kde-baseapps]=kde-baseapps
+unset module[kactivities]
+
+print_sane() {
+  echo "Called print_sane $1" >&2
+  sane="${1//[^a-z0-9_]/_}"
+  if [[ "$sane" != "$1" ]]; then
+    echo "Sane version is $sane" >&2
+    echo -n "sane=\"$sane\";"
+  fi
+}
+
+for i in `cd "${dir}"; ls *.tar.xz`; do
+  package=${i%.tar.xz}
+  v=${package##*-}
+  package=${i%-*}
+  packages+=( "$package" )
+  echo -n "${package}.. " >&2
+  hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo -n ${hash[$package]} >&2
+
+  version[$package]=$v
+
+  if [ -n "${module[$package]}" ]; then
+    m="${module[$package]}"
+    echo " (${m})" >&2
+    modules[$m]=1
+  else
+    top_level+=( "$package" )
+    echo " (top-level)" >&2
+  fi
+  nix-store --add-fixed sha256 "${dir}/${i}" >&2
+done
+
+
+print_pkg_hash() {
+  echo "  {name=\"${1}\";value=\"${hash[$1]}\";}"
+}
+
+print_pkg_version() {
+  echo "  {name=\"${1}\";value=\"${version[$1]}\";}"
+}
+
+print_hashes(){
+  echo "hashes=builtins.listToAttrs["
+  for p in "${packages[@]}"; do print_pkg_hash "$p"; done
+  echo "];"
+}
+
+print_versions(){
+  echo "versions=builtins.listToAttrs["
+  for p in "${packages[@]}"; do print_pkg_version "$p"; done
+  echo "];"
+}
+
+print_split_module(){
+  echo -n "$1:" >&2
+  echo -e "{\n  module=\"$1\";"
+  print_sane "$1"
+  echo "  split=true;"
+  echo "  pkgs=["
+  for p in "${packages[@]}"; do
+    if [[ "${module[$p]}" == "$1" ]]; then
+      echo -n "    { name=\"$p\"; "
+      print_sane "$p"
+      echo " }"
+      echo -n " $p" >&2
+    fi
+  done
+  echo "  ];"
+  echo "}"
+  echo >&2
+}
+
+print_mono_module(){
+  echo -en "{ module=\"$1\"; "
+  print_sane "$1"
+  echo -n "$1 ... " >&2
+  pkg=$(cd "$dir"; echo "$1"-*.tar.xz)
+  pkg="${pkg%.tar.xz}"
+  echo -n " split=false;"
+  cml="$pkg/CMakeLists.txt"
+  tar -xf "${dir}/$pkg.tar.xz" "$cml"
+  if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
+    if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
+      echo " is monolithic (has unconditionally added subdirs)" >&2
+    else
+      subdirs=( `grep '^[^#]*add_subdirectory' $cml |
+        sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
+        grep -v '\(doc\|cmake\)'` )
+      echo " seems splittable, subdirs: ${subdirs[*]}" >&2
+      echo -e "\n  pkgs=["
+      for s in "${subdirs[@]}"; do
+        echo -en "    {"
+		echo -n " name=\"${s//\//-}\"; "
+        print_sane "$s"
+        if [[ $s != "${s//\//-}" ]]; then
+          echo -n "subdir=\"$s\"; "
+        fi
+        echo "}"
+      done
+      echo -e "  ];\n"
+    fi
+  else
+    echo " is monolithic (has no subdirs)" >&2
+  fi
+  rm $cml
+  rmdir "$pkg"
+  echo "}"
+}
+
+print_modules(){
+  echo "modules=["
+  echo "Printing modules splitted by upstream" >&2
+  for m in "${!modules[@]}"; do print_split_module "$m"; done
+  echo >&2
+  echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
+  for m in "${top_level[@]}"; do print_mono_module "$m"; done
+  echo "];"
+}
+
+echo "Writing ${release}.nix" >&2
+exec > "${release}.nix"
+echo "{stable=${stable};"
+print_hashes
+print_versions
+print_modules
+echo "}"
diff --git a/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.14/kde-package/kde-submodules.xslt
index 952a05a9d27..952a05a9d27 100644
--- a/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt
+++ b/pkgs/desktops/kde-4.14/kde-package/kde-submodules.xslt
diff --git a/pkgs/desktops/kde-4.12/kde-runtime.nix b/pkgs/desktops/kde-4.14/kde-runtime.nix
index 1c9706f4f4b..2b8df4757de 100644
--- a/pkgs/desktops/kde-4.12/kde-runtime.nix
+++ b/pkgs/desktops/kde-4.14/kde-runtime.nix
@@ -4,6 +4,8 @@
 }:
 
 kde {
+  patches = [ ./CVE-2014-8600.diff ];
+
   buildInputs = [
     kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
     qca2 samba libcanberra pulseaudio gpgme
diff --git a/pkgs/desktops/kde-4.12/kde-wallpapers.nix b/pkgs/desktops/kde-4.14/kde-wallpapers.nix
index 393d90824eb..875eb6769c0 100644
--- a/pkgs/desktops/kde-4.12/kde-wallpapers.nix
+++ b/pkgs/desktops/kde-4.14/kde-wallpapers.nix
@@ -9,7 +9,7 @@ kde {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "1yg9c780xdxa60bw832cqj60v87cbvjxp27k6gacj2lwk7rm5hwg";
+  outputHash = "1mzj7jk0ag7yas2wm2x60z3ymv64g9jrjsz3nwlr719b4bhmgwjj";
 
   meta = {
     description = "Wallpapers for KDE";
diff --git a/pkgs/desktops/kde-4.12/kde-workspace.nix b/pkgs/desktops/kde-4.14/kde-workspace.nix
index 537beaac6ae..c3af4f71442 100644
--- a/pkgs/desktops/kde-4.12/kde-workspace.nix
+++ b/pkgs/desktops/kde-4.14/kde-workspace.nix
@@ -5,20 +5,13 @@
 }:
 
 kde {
-
-  version = "4.11.6";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/4.12.2/src/kde-workspace-4.11.6.tar.xz";
-    sha256 = "0lk3k9zl4x4il5dqpw7mf25gv8a3y48fd3jq3jvgmwwlviwcpcz1";
-  };
-
 #todo: wayland, xmms,   libusb isn't found
+#note: xorg.libXft is needed to build kfontview and kfontinst though this isn't reflected in the build log
   buildInputs =
     [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg
       xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
       xorg.libxkbfile xorg.libXcomposite  xorg.libXtst
-      xorg.libXdamage
+      xorg.libXdamage xorg.libXft
 
       python boost qjson lm_sensors gpsd libraw1394 pciutils udev
       akonadi pam libusb1 libqalculate kdepimlibs  prison
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/jovie.nix
index d38c80c4c36..d38c80c4c36 100644
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/jovie.nix
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kaccessible.nix
index 98fae7c983f..98fae7c983f 100644
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kaccessible.nix
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kmag.nix
index 606c61cddb6..606c61cddb6 100644
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kmag.nix
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kmousetool.nix
index 8e0caa76ed9..8e0caa76ed9 100644
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kmousetool.nix
diff --git a/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.14/kdeaccessibility/kmouth.nix
index 4159501967c..4159501967c 100644
--- a/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix
+++ b/pkgs/desktops/kde-4.14/kdeaccessibility/kmouth.nix
diff --git a/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.14/kdeadmin/kcron.nix
index f585461af38..f585461af38 100644
--- a/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix
+++ b/pkgs/desktops/kde-4.14/kdeadmin/kcron.nix
diff --git a/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.14/kdeadmin/ksystemlog.nix
index 88757a6b91c..88757a6b91c 100644
--- a/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix
+++ b/pkgs/desktops/kde-4.14/kdeadmin/ksystemlog.nix
diff --git a/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.14/kdeadmin/kuser.nix
index 6118cf558bb..6118cf558bb 100644
--- a/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix
+++ b/pkgs/desktops/kde-4.14/kdeadmin/kuser.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.14/kdeartwork/ColorSchemes.nix
index acccf66976f..acccf66976f 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/ColorSchemes.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.14/kdeartwork/FindXscreensaver.cmake
index 499ed75268e..499ed75268e 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake
+++ b/pkgs/desktops/kde-4.14/kdeartwork/FindXscreensaver.cmake
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.14/kdeartwork/HighResolutionWallpapers.nix
index edffca1562e..edffca1562e 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/HighResolutionWallpapers.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.14/kdeartwork/IconThemes.nix
index 43071e8bd14..43071e8bd14 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/IconThemes.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.14/kdeartwork/WeatherWallpapers.nix
index 947e5e17ab0..947e5e17ab0 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/WeatherWallpapers.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.14/kdeartwork/desktopthemes.nix
index 93dd361af73..93dd361af73 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/desktopthemes.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.14/kdeartwork/emoticons.nix
index 5ef9f78a719..5ef9f78a719 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/emoticons.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.14/kdeartwork/kscreensaver.nix
index 84cb008056e..84cb008056e 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/kscreensaver.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.14/kdeartwork/kwin-styles.nix
index b5d769b216d..b5d769b216d 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/kwin-styles.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/styles.nix b/pkgs/desktops/kde-4.14/kdeartwork/styles.nix
index 6a1306c3710..6a1306c3710 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/styles.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/styles.nix
diff --git a/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.14/kdeartwork/wallpapers.nix
index 7c9846fbf9e..7c9846fbf9e 100644
--- a/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix
+++ b/pkgs/desktops/kde-4.14/kdeartwork/wallpapers.nix
diff --git a/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.14/kdebindings/perlqt.nix
index 48eed141ce6..48eed141ce6 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix
+++ b/pkgs/desktops/kde-4.14/kdebindings/perlqt.nix
diff --git a/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix
index 64e196452e3..191b96380e6 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix
+++ b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix
@@ -1,5 +1,5 @@
-{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
-  polkit_qt_1, boost, lndir, pkgconfig }:
+{ kde, kdelibs, python, pyqt4, kdepimlibs, shared_desktop_ontologies,
+  polkit_qt4, boost, lndir, pkgconfig }:
 
 let pydir = "lib/python${python.majorVersion}"; in
 
@@ -9,12 +9,12 @@ kde {
 
   buildInputs = [
     python kdepimlibs shared_desktop_ontologies
-    boost polkit_qt_1
+    boost polkit_qt4
   ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  propagatedBuildInputs = [ pyqt4 sip ];
+  propagatedBuildInputs = [ pyqt4 ];
 
   preConfigure =
     ''
diff --git a/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.14/kdebindings/qtruby-install-prefix.patch
index bd95a0d8bd3..bd95a0d8bd3 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch
+++ b/pkgs/desktops/kde-4.14/kdebindings/qtruby-install-prefix.patch
diff --git a/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.14/kdebindings/qtruby.nix
index 03e9dc9a007..03e9dc9a007 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix
+++ b/pkgs/desktops/kde-4.14/kdebindings/qtruby.nix
diff --git a/pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch
new file mode 100644
index 00000000000..7436b6112d5
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokegen-CMakeLists.txt-nix.patch
@@ -0,0 +1,16 @@
+diff -Naur smokegen-4.14.3-upstream/CMakeLists.txt smokegen-4.14.3/CMakeLists.txt
+--- smokegen-4.14.3-upstream/CMakeLists.txt	2014-09-15 13:23:01.000000000 -0430
++++ smokegen-4.14.3/CMakeLists.txt	2015-03-29 16:41:59.295598992 -0430
+@@ -32,9 +32,9 @@
+     type.cpp
+ )
+ 
+-# force RPATH so that the binary is usable from within the build tree
+-set (CMAKE_SKIP_BUILD_RPATH FALSE)
+-set (CMAKE_SKIP_RPATH FALSE)
++# add the automatically determined parts of the RPATH
++# which point to directories outside the build tree to the install RPATH
++set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ 
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
+ 
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.14/kdebindings/smokegen-nix.patch
index 53257e836e0..53257e836e0 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokegen-nix.patch
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.14/kdebindings/smokegen.nix
index 5708d0f96eb..5708d0f96eb 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokegen.nix
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.14/kdebindings/smokekde.nix
index 4474c1d9731..4474c1d9731 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokekde.nix
diff --git a/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.14/kdebindings/smokeqt.nix
index 494bc85e646..494bc85e646 100644
--- a/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix
+++ b/pkgs/desktops/kde-4.14/kdebindings/smokeqt.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/analitza.nix b/pkgs/desktops/kde-4.14/kdeedu/analitza.nix
index 74c3a1ebb20..74c3a1ebb20 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/analitza.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/analitza.nix
diff --git a/pkgs/desktops/kde-4.14/kdeedu/artikulate.nix b/pkgs/desktops/kde-4.14/kdeedu/artikulate.nix
new file mode 100644
index 00000000000..b1828766f22
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/artikulate.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, qt_gstreamer1 }:
+kde {
+  buildInputs = [ kdelibs qt_gstreamer1 ];
+
+  meta = {
+    description = "Artikulate is a pronunciation learning program for KDE.";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/blinken.nix b/pkgs/desktops/kde-4.14/kdeedu/blinken.nix
index cdf9728833c..cdf9728833c 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/blinken.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/blinken.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/cantor.nix b/pkgs/desktops/kde-4.14/kdeedu/cantor.nix
index a8cd2e44957..a8cd2e44957 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/cantor.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/cantor.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.14/kdeedu/kalgebra.nix
index 3675c3a225f..3675c3a225f 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kalgebra.nix
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.14/kdeedu/kalzium.nix
new file mode 100644
index 00000000000..8338eee5511
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kalzium.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, facile, ocaml, eigen2, eigen, openbabel, avogadro, pkgconfig }:
+kde {
+
+# TODO: chemical mime data
+
+  buildInputs = [ kdelibs facile ocaml eigen2 eigen openbabel avogadro ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Periodic Table of Elements";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.14/kdeedu/kanagram.nix
index 8759c96d78c..8759c96d78c 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kanagram.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.14/kdeedu/kbruch.nix
index dc50f1e85a3..dc50f1e85a3 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kbruch.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.14/kdeedu/kgeography.nix
index bd8d27c8d6e..bd8d27c8d6e 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kgeography.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/khangman.nix b/pkgs/desktops/kde-4.14/kdeedu/khangman.nix
index 997b50e906a..997b50e906a 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/khangman.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/khangman.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kig.nix b/pkgs/desktops/kde-4.14/kdeedu/kig.nix
index 37906c32bcb..37906c32bcb 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kig.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kig.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kiten.nix b/pkgs/desktops/kde-4.14/kdeedu/kiten.nix
index 939b7a9f77a..939b7a9f77a 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kiten.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kiten.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/klettres.nix b/pkgs/desktops/kde-4.14/kdeedu/klettres.nix
index 7a0fa83078e..7a0fa83078e 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/klettres.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/klettres.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.14/kdeedu/kmplot.nix
index fc7b0578c27..fc7b0578c27 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kmplot.nix
diff --git a/pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix b/pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix
new file mode 100644
index 00000000000..3e243b8c403
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/kqtquickcharts.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Qt Quick 1 plugin for beautiful and interactive charts";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.14/kdeedu/ktouch.nix
index 9e606adde33..9e606adde33 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/ktouch.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.14/kdeedu/kturtle.nix
index 1e1922b1410..1e1922b1410 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kturtle.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.14/kdeedu/kwordquiz.nix
index 1b33ba2e469..1b33ba2e469 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/kwordquiz.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.14/kdeedu/libkdeedu.nix
index def6c85fefe..def6c85fefe 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/libkdeedu.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/marble.nix b/pkgs/desktops/kde-4.14/kdeedu/marble.nix
index 2dc07d14a0d..2dc07d14a0d 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/marble.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/marble.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/pairs.nix b/pkgs/desktops/kde-4.14/kdeedu/pairs.nix
index 36c4aba9604..36c4aba9604 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/pairs.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/pairs.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/parley.nix b/pkgs/desktops/kde-4.14/kdeedu/parley.nix
index f9f86dde150..f9f86dde150 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/parley.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/parley.nix
diff --git a/pkgs/desktops/kde-4.12/kdeedu/rocs.nix b/pkgs/desktops/kde-4.14/kdeedu/rocs.nix
index ce30d11fda3..ce30d11fda3 100644
--- a/pkgs/desktops/kde-4.12/kdeedu/rocs.nix
+++ b/pkgs/desktops/kde-4.14/kdeedu/rocs.nix
diff --git a/pkgs/desktops/kde-4.14/kdeedu/step.nix b/pkgs/desktops/kde-4.14/kdeedu/step.nix
new file mode 100644
index 00000000000..95e991e8481
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeedu/step.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, gsl, libqalculate, eigen2, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs gsl libqalculate eigen2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A KDE interactive physical simulator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegames/bomber.nix b/pkgs/desktops/kde-4.14/kdegames/bomber.nix
index 026227910f2..026227910f2 100644
--- a/pkgs/desktops/kde-4.12/kdegames/bomber.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/bomber.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/bovo.nix b/pkgs/desktops/kde-4.14/kdegames/bovo.nix
index b0e7d99c589..b0e7d99c589 100644
--- a/pkgs/desktops/kde-4.12/kdegames/bovo.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/bovo.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/granatier.nix b/pkgs/desktops/kde-4.14/kdegames/granatier.nix
index 9f1ab005309..9f1ab005309 100644
--- a/pkgs/desktops/kde-4.12/kdegames/granatier.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/granatier.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kajongg.nix b/pkgs/desktops/kde-4.14/kdegames/kajongg.nix
index 9a6f5e83695..9a6f5e83695 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kajongg.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kajongg.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kapman.nix b/pkgs/desktops/kde-4.14/kdegames/kapman.nix
index f10e099da3c..f10e099da3c 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kapman.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kapman.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/katomic.nix b/pkgs/desktops/kde-4.14/kdegames/katomic.nix
index a9936c04f0e..a9936c04f0e 100644
--- a/pkgs/desktops/kde-4.12/kdegames/katomic.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/katomic.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.14/kdegames/kblackbox.nix
index 27eeff2f65b..27eeff2f65b 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kblackbox.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kblocks.nix b/pkgs/desktops/kde-4.14/kdegames/kblocks.nix
index 98cf068de09..98cf068de09 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kblocks.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kblocks.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kbounce.nix b/pkgs/desktops/kde-4.14/kdegames/kbounce.nix
index 77fa0db6352..77fa0db6352 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kbounce.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kbounce.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.14/kdegames/kbreakout.nix
index 3a484d919bb..3a484d919bb 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kbreakout.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.14/kdegames/kdiamond.nix
index 06dfcee5ac3..06dfcee5ac3 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kdiamond.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.14/kdegames/kfourinline.nix
index 11b8838e708..11b8838e708 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kfourinline.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.14/kdegames/kgoldrunner.nix
index 6217c47a806..6217c47a806 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kgoldrunner.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kigo.nix b/pkgs/desktops/kde-4.14/kdegames/kigo.nix
index 32eee67cc1e..32eee67cc1e 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kigo.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kigo.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/killbots.nix b/pkgs/desktops/kde-4.14/kdegames/killbots.nix
index d9c1472495e..d9c1472495e 100644
--- a/pkgs/desktops/kde-4.12/kdegames/killbots.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/killbots.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kiriki.nix b/pkgs/desktops/kde-4.14/kdegames/kiriki.nix
index 72f7ab67501..72f7ab67501 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kiriki.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kiriki.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.14/kdegames/kjumpingcube.nix
index a6d22cff51c..a6d22cff51c 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kjumpingcube.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/klickety.nix b/pkgs/desktops/kde-4.14/kdegames/klickety.nix
index b592bc40641..b592bc40641 100644
--- a/pkgs/desktops/kde-4.12/kdegames/klickety.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/klickety.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/klines.nix b/pkgs/desktops/kde-4.14/kdegames/klines.nix
index 90952fe91c0..90952fe91c0 100644
--- a/pkgs/desktops/kde-4.12/kdegames/klines.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/klines.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.14/kdegames/kmahjongg.nix
index 946b531ff12..946b531ff12 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kmahjongg.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kmines.nix b/pkgs/desktops/kde-4.14/kdegames/kmines.nix
index 538454e9598..538454e9598 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kmines.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kmines.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.14/kdegames/knavalbattle.nix
index 42ffd2fcb4d..42ffd2fcb4d 100644
--- a/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/knavalbattle.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.14/kdegames/knetwalk.nix
index a16e578ce84..a16e578ce84 100644
--- a/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/knetwalk.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kolf.nix b/pkgs/desktops/kde-4.14/kdegames/kolf.nix
index 78815ee5799..78815ee5799 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kolf.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kolf.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kollision.nix b/pkgs/desktops/kde-4.14/kdegames/kollision.nix
index 3147c7305ea..3147c7305ea 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kollision.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kollision.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/konquest.nix b/pkgs/desktops/kde-4.14/kdegames/konquest.nix
index 53ddd64928c..53ddd64928c 100644
--- a/pkgs/desktops/kde-4.12/kdegames/konquest.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/konquest.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kpat.nix b/pkgs/desktops/kde-4.14/kdegames/kpat.nix
index f8d9bad36dc..f8d9bad36dc 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kpat.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kpat.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kreversi.nix b/pkgs/desktops/kde-4.14/kdegames/kreversi.nix
index 2aed981428e..2aed981428e 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kreversi.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kreversi.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kshisen.nix b/pkgs/desktops/kde-4.14/kdegames/kshisen.nix
index 9c888034038..9c888034038 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kshisen.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kshisen.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksirk.nix b/pkgs/desktops/kde-4.14/kdegames/ksirk.nix
index 767eb67971a..767eb67971a 100644
--- a/pkgs/desktops/kde-4.12/kdegames/ksirk.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/ksirk.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.14/kdegames/ksnakeduel.nix
index ccf1fb551e9..ccf1fb551e9 100644
--- a/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/ksnakeduel.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.14/kdegames/kspaceduel.nix
index 5285f7916ca..5285f7916ca 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kspaceduel.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksquares.nix b/pkgs/desktops/kde-4.14/kdegames/ksquares.nix
index a17be2da632..a17be2da632 100644
--- a/pkgs/desktops/kde-4.12/kdegames/ksquares.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/ksquares.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.14/kdegames/ksudoku.nix
index ea4e13a5e4f..ea4e13a5e4f 100644
--- a/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/ksudoku.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.14/kdegames/ktuberling.nix
index 1a6ba9d653c..1a6ba9d653c 100644
--- a/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/ktuberling.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/kubrick.nix b/pkgs/desktops/kde-4.14/kdegames/kubrick.nix
index 9bdc6879db4..9bdc6879db4 100644
--- a/pkgs/desktops/kde-4.12/kdegames/kubrick.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/kubrick.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.14/kdegames/libkdegames.nix
index 3819dcdc9ae..3819dcdc9ae 100644
--- a/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/libkdegames.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.14/kdegames/libkmahjongg.nix
index 383b347dc33..383b347dc33 100644
--- a/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/libkmahjongg.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/lskat.nix b/pkgs/desktops/kde-4.14/kdegames/lskat.nix
index 2a5050cd667..2a5050cd667 100644
--- a/pkgs/desktops/kde-4.12/kdegames/lskat.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/lskat.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/palapeli.nix b/pkgs/desktops/kde-4.14/kdegames/palapeli.nix
index 010dbd5d623..010dbd5d623 100644
--- a/pkgs/desktops/kde-4.12/kdegames/palapeli.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/palapeli.nix
diff --git a/pkgs/desktops/kde-4.12/kdegames/picmi.nix b/pkgs/desktops/kde-4.14/kdegames/picmi.nix
index 165d7422f95..165d7422f95 100644
--- a/pkgs/desktops/kde-4.12/kdegames/picmi.nix
+++ b/pkgs/desktops/kde-4.14/kdegames/picmi.nix
diff --git a/pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix
new file mode 100644
index 00000000000..66a7c79a42b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdegraphics/gwenview.nix
@@ -0,0 +1,16 @@
+{ stdenv, kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core
+, libjpeg, pkgconfig, kactivities, lcms2, baloo, kfilemetadata, libkdcraw }:
+
+kde {
+
+  buildInputs =
+    [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2
+      baloo kfilemetadata libkdcraw ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Gwenview, the KDE image viewer";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.14/kdegraphics/kamera.nix
index d9aa11c54af..d9aa11c54af 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kamera.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.14/kdegraphics/kcolorchooser.nix
index e06c1b5d307..e06c1b5d307 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kcolorchooser.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-mobipocket.nix
index e834762feb5..e834762feb5 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-mobipocket.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-strigi-analyzer.nix
index d9d35808ac5..d9d35808ac5 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-strigi-analyzer.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-thumbnailers.nix
index d6207689512..d6207689512 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kdegraphics-thumbnailers.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.14/kdegraphics/kgamma.nix
index 016312c199e..016312c199e 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kgamma.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.14/kdegraphics/kolourpaint.nix
index ecf34e5ae9e..ecf34e5ae9e 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kolourpaint.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.14/kdegraphics/kruler.nix
index 209331d9e83..209331d9e83 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/kruler.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.14/kdegraphics/ksaneplugin.nix
index f541c4bdb4d..f541c4bdb4d 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/ksaneplugin.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.14/kdegraphics/ksnapshot.nix
index a9897d270bb..a9897d270bb 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/ksnapshot.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.14/kdegraphics/libkdcraw.nix
index 1d5c6e2fcb4..1d5c6e2fcb4 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libkdcraw.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.14/kdegraphics/libkexiv2.nix
index 46ec45fad01..46ec45fad01 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libkexiv2.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.14/kdegraphics/libkipi.nix
index 65e6c52bd44..65e6c52bd44 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libkipi.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.14/kdegraphics/libksane.nix
index 6c3543eef37..6c3543eef37 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/libksane.nix
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/okular.nix b/pkgs/desktops/kde-4.14/kdegraphics/okular.nix
index 092833388a7..de7b7799993 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/okular.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/okular.nix
@@ -1,11 +1,11 @@
-{ stdenv, chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
+{ stdenv, chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, poppler_qt4, qca2
 , qimageblitz, libtiff, kactivities, pkgconfig, libkexiv2 }:
 
 kde {
 
 # TODO: package activeapp, qmobipocket
 
-  buildInputs = [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4
+  buildInputs = [ kdelibs chmlib djvulibre ebook_tools libspectre poppler_qt4
                   qca2 qimageblitz libtiff kactivities libkexiv2 ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.14/kdegraphics/svgpart.nix
index 2fc0e373dbd..2fc0e373dbd 100644
--- a/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix
+++ b/pkgs/desktops/kde-4.14/kdegraphics/svgpart.nix
diff --git a/pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix b/pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix
new file mode 100644
index 00000000000..46567b5e2a7
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/baloo-widgets.nix
@@ -0,0 +1,11 @@
+{ stdenv, kde, kdelibs, baloo, kfilemetadata, pkgconfig }:
+
+kde {
+  buildInputs = [ kdelibs baloo kfilemetadata ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Baloo Widgets";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/baloo.nix b/pkgs/desktops/kde-4.14/kdelibs/baloo.nix
new file mode 100644
index 00000000000..8883c03274d
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/baloo.nix
@@ -0,0 +1,18 @@
+{ stdenv, kde, kdelibs, pkgconfig, doxygen, kdepimlibs, xapian, qjson, akonadi, kfilemetadata, boost
+}:
+
+kde {
+
+# TODO: qmobipocket
+
+  buildInputs = [
+    kdelibs kdepimlibs xapian qjson akonadi kfilemetadata boost
+  ];
+
+  nativeBuildInputs = [ pkgconfig doxygen ];
+
+  meta = {
+    description = "Baloo";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix b/pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix
new file mode 100644
index 00000000000..6068516ba2b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdelibs/kfilemetadata.nix
@@ -0,0 +1,14 @@
+{ stdenv, kde, kdelibs, pkgconfig, doxygen, poppler_qt4, taglib, exiv2, ffmpeg }:
+
+kde {
+  buildInputs = [
+    kdelibs poppler_qt4 taglib exiv2 ffmpeg
+  ];
+
+  nativeBuildInputs = [ pkgconfig doxygen ];
+
+  meta = {
+    description = "KFileMetaData";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-core.nix
index d90e1455ce9..526ac069e61 100644
--- a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix
+++ b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-core.nix
@@ -1,4 +1,4 @@
-{ stdenv, kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4
+{ stdenv, kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, poppler_qt4
 , pkgconfig, doxygen, ebook_tools
 }:
 
@@ -8,7 +8,7 @@ kde {
 
   buildInputs = [
     kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg
-    popplerQt4 ebook_tools
+    poppler_qt4 ebook_tools
   ];
 
   nativeBuildInputs = [ pkgconfig doxygen ];
diff --git a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-widgets.nix
index b0fc5ad8900..b0fc5ad8900 100644
--- a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix
+++ b/pkgs/desktops/kde-4.14/kdelibs/nepomuk-widgets.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.14/kdemultimedia/audiocd-kio.nix
index 4c56e7529dd..4c56e7529dd 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/audiocd-kio.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.14/kdemultimedia/dragon.nix
index 006300742ec..006300742ec 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/dragon.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.14/kdemultimedia/ffmpegthumbs.nix
index 45f6c9abcb6..45f6c9abcb6 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/ffmpegthumbs.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.14/kdemultimedia/juk.nix
index 5d7b1db224e..5d7b1db224e 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/juk.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.14/kdemultimedia/kmix.nix
index 1dd8108166f..1dd8108166f 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/kmix.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.14/kdemultimedia/kscd.nix
index e99ae53935b..e99ae53935b 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/kscd.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.14/kdemultimedia/libkcddb.nix
index 720b01d1861..720b01d1861 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/libkcddb.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.14/kdemultimedia/libkcompactdisc.nix
index 6ed08af89f3..6ed08af89f3 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/libkcompactdisc.nix
diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.14/kdemultimedia/mplayerthumbs.nix
index c88ebcc2a5a..c88ebcc2a5a 100644
--- a/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix
+++ b/pkgs/desktops/kde-4.14/kdemultimedia/mplayerthumbs.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-filesharing.nix
index 0330511a258..0330511a258 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-filesharing.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-strigi-analyzers.nix
index e838d84fc5e..e838d84fc5e 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kdenetwork-strigi-analyzers.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kget.nix b/pkgs/desktops/kde-4.14/kdenetwork/kget.nix
index f986da2de21..f986da2de21 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kget.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kget.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix
index 7d8aec21ce6..7d8aec21ce6 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.14/kdenetwork/kppp.nix
index 4c6bd65769f..4c6bd65769f 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/kppp.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix
index 80557e827fe..80557e827fe 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.14/kdenetwork/krfb.nix
index cb4857965a3..cb4857965a3 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/krfb.nix
diff --git a/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix b/pkgs/desktops/kde-4.14/kdenetwork/zeroconf-ioslave.nix
index f65960cc337..f65960cc337 100644
--- a/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/zeroconf-ioslave.nix
diff --git a/pkgs/desktops/kde-4.12/kdepim-runtime.nix b/pkgs/desktops/kde-4.14/kdepim-runtime.nix
index d92e2254820..d92e2254820 100644
--- a/pkgs/desktops/kde-4.12/kdepim-runtime.nix
+++ b/pkgs/desktops/kde-4.14/kdepim-runtime.nix
diff --git a/pkgs/desktops/kde-4.12/kdepim.nix b/pkgs/desktops/kde-4.14/kdepim.nix
index 4f364648d23..df41c85c8ac 100644
--- a/pkgs/desktops/kde-4.12/kdepim.nix
+++ b/pkgs/desktops/kde-4.14/kdepim.nix
@@ -1,6 +1,6 @@
 { kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime
 , akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison
-, nepomuk_widgets, kactivities, libXScrnSaver, qjson
+, nepomuk_widgets, kactivities, libXScrnSaver, qjson, baloo
 , pkgconfig }:
 
 kde {
@@ -10,12 +10,12 @@ kde {
   buildInputs =
     [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets
       libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities
-      libXScrnSaver qjson
+      libXScrnSaver qjson baloo
     ];
 
   nativeBuildInputs = [ pkgconfig ];
 
-  passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ];
+  propagatedUserEnvPkgs = [ akonadi kdepimlibs kdepim_runtime ];
 
   meta = {
     description = "KDE PIM tools";
diff --git a/pkgs/desktops/kde-4.12/kdepimlibs.nix b/pkgs/desktops/kde-4.14/kdepimlibs.nix
index ca0af9400b1..e0f355acdd9 100644
--- a/pkgs/desktops/kde-4.12/kdepimlibs.nix
+++ b/pkgs/desktops/kde-4.14/kdepimlibs.nix
@@ -12,6 +12,9 @@ kde {
 
   propagatedBuildInputs = [ kdelibs nepomuk_core ];
 
+  # Prevent a dependency on boost.dev. FIXME: move this cmake file to .dev.
+  postInstall = "rm $out/lib/gpgmepp/GpgmeppConfig.cmake";
+
   meta = {
     description = "KDE PIM libraries";
     license = "LGPL";
diff --git a/pkgs/desktops/kde-4.12/kdeplasma-addons.nix b/pkgs/desktops/kde-4.14/kdeplasma-addons.nix
index 550099830d9..2b1f1628cf1 100644
--- a/pkgs/desktops/kde-4.12/kdeplasma-addons.nix
+++ b/pkgs/desktops/kde-4.14/kdeplasma-addons.nix
@@ -1,5 +1,5 @@
 { kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig
-, boost, eigen, kde_workspace, attica, qca2, qimageblitz
+, boost, eigen2, kde_workspace, attica, qca2, qimageblitz
 , kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt
 , qjson, qoauth }:
 
@@ -10,7 +10,7 @@ kde {
   KDEDIRS=marble;
 
   buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth
-                  eigen qca2 libXtst qimageblitz libqalculate 
+                  eigen2 qca2 libXtst qimageblitz libqalculate 
                   shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt
   ];
 
diff --git a/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.14/kdesdk/cervisia.nix
index 1dabe46cd42..1dabe46cd42 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/cervisia.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.14/kdesdk/dolphin-plugins.nix
index ad8132a850e..ad8132a850e 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/dolphin-plugins.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.14/kdesdk/kapptemplate.nix
index 391536248dd..391536248dd 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kapptemplate.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.14/kdesdk/kcachegrind.nix
index 65d410cca48..65d410cca48 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kcachegrind.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-scripts.nix
index df81145e5d6..df81145e5d6 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-scripts.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-utils.nix
index 215c0a3c613..5c357cede8e 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kde-dev-utils.nix
@@ -3,7 +3,7 @@
 kde {
   buildInputs = [ kdelibs libtool ];
 
-  preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
+  preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.cc}";
 
   meta = {
     description = "various KDE development utilities";
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-kioslaves.nix
index 98bbce35a97..98bbce35a97 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-kioslaves.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-strigi-analyzers.nix
index 4d579b88ba8..4d579b88ba8 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-strigi-analyzers.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-thumbnailers.nix
index d707fe9038f..d707fe9038f 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kdesdk-thumbnailers.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/kompare.nix b/pkgs/desktops/kde-4.14/kdesdk/kompare.nix
index 644c7c48dc9..644c7c48dc9 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/kompare.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/kompare.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix b/pkgs/desktops/kde-4.14/kdesdk/libkomparediff2.nix
index 5933682c70a..5933682c70a 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/libkomparediff2.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.14/kdesdk/lokalize.nix
index 1565426eb1f..1565426eb1f 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/lokalize.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/okteta.nix b/pkgs/desktops/kde-4.14/kdesdk/okteta.nix
index 058636596ad..058636596ad 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/okteta.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/okteta.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/poxml.nix b/pkgs/desktops/kde-4.14/kdesdk/poxml.nix
index 6e46c3e3ab4..6e46c3e3ab4 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/poxml.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/poxml.nix
diff --git a/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.14/kdesdk/umbrello.nix
index e83a2d9a901..e83a2d9a901 100644
--- a/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix
+++ b/pkgs/desktops/kde-4.14/kdesdk/umbrello.nix
diff --git a/pkgs/desktops/kde-4.12/kdetoys/amor.nix b/pkgs/desktops/kde-4.14/kdetoys/amor.nix
index 936d63d544a..936d63d544a 100644
--- a/pkgs/desktops/kde-4.12/kdetoys/amor.nix
+++ b/pkgs/desktops/kde-4.14/kdetoys/amor.nix
diff --git a/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.14/kdetoys/kteatime.nix
index dacf54def4b..dacf54def4b 100644
--- a/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix
+++ b/pkgs/desktops/kde-4.14/kdetoys/kteatime.nix
diff --git a/pkgs/desktops/kde-4.12/kdetoys/ktux.nix b/pkgs/desktops/kde-4.14/kdetoys/ktux.nix
index 108f9be7c72..108f9be7c72 100644
--- a/pkgs/desktops/kde-4.12/kdetoys/ktux.nix
+++ b/pkgs/desktops/kde-4.14/kdetoys/ktux.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/ark.nix b/pkgs/desktops/kde-4.14/kdeutils/ark.nix
index 99844b909fd..99844b909fd 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/ark.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/ark.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/filelight.nix b/pkgs/desktops/kde-4.14/kdeutils/filelight.nix
index 25ecabed27c..25ecabed27c 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/filelight.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/filelight.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.14/kdeutils/kcalc.nix
index 08b202e8f0e..08b202e8f0e 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/kcalc.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.14/kdeutils/kcharselect.nix
index d4c9c06f483..d4c9c06f483 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/kcharselect.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kdf.nix b/pkgs/desktops/kde-4.14/kdeutils/kdf.nix
index 3f9da58d0a6..3f9da58d0a6 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/kdf.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/kdf.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.14/kdeutils/kfloppy.nix
index 2434a4fa671..2434a4fa671 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/kfloppy.nix
diff --git a/pkgs/desktops/kde-4.14/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.14/kdeutils/kgpg.nix
new file mode 100644
index 00000000000..b3f95356d13
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/kgpg.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, kdepimlibs, boost, gpgme }:
+
+kde {
+
+  buildInputs = [ kdelibs kdepimlibs boost gpgme ];
+
+  meta = {
+    description = "Simple KDE GUI for GPG";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.14/kdeutils/kremotecontrol.nix
index 70311a789f9..70311a789f9 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/kremotecontrol.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.14/kdeutils/ktimer.nix
index 5700977349e..5700977349e 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/ktimer.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix b/pkgs/desktops/kde-4.14/kdeutils/kwalletmanager.nix
index 9ec0e6c0396..9ec0e6c0396 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/kwalletmanager.nix
diff --git a/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix
new file mode 100644
index 00000000000..e786c8f7041
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix
@@ -0,0 +1,21 @@
+{ kde, kdelibs
+, pythonPackages, cups, pyqt4, pykde4, pycups, system_config_printer }:
+
+let s_c_p = system_config_printer.override { withGUI = false; }; in
+
+kde rec {
+  buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
+    ] ++ pythonPath;
+
+  pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ];
+
+  # system-config-printer supplies some D-Bus policy that we need.
+  propagatedUserEnvPkgs = [ s_c_p ];
+
+  postInstall = "wrapPythonPrograms";
+
+  meta = {
+    description = "KDE printer manager";
+    longDescription = "Applet to view current print jobs and configure new printers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.14/kdeutils/superkaramba.nix
index cbe7a285606..cbe7a285606 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/superkaramba.nix
diff --git a/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.14/kdeutils/sweeper.nix
index 78d56c7df30..78d56c7df30 100644
--- a/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/sweeper.nix
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.14/kdewebdev/kfilereplace.nix
index 55e37809e07..55e37809e07 100644
--- a/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix
+++ b/pkgs/desktops/kde-4.14/kdewebdev/kfilereplace.nix
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.14/kdewebdev/kimagemapeditor.nix
index 6d22f72461f..6d22f72461f 100644
--- a/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix
+++ b/pkgs/desktops/kde-4.14/kdewebdev/kimagemapeditor.nix
diff --git a/pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix
new file mode 100644
index 00000000000..b0138ecb48b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/kdewebdev/klinkstatus.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libxml2, libxslt, kdepimlibs, html-tidy, boost }:
+
+kde {
+
+# todo: ruby19 is not found by the build system. not linking against ruby18 due to it being too old
+
+  buildInputs = [ kdelibs kdepimlibs html-tidy boost ];
+
+  meta = {
+    description = "A KDE link checker";
+    homepage = http://klinkstatus.kdewebdev.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.14/kdewebdev/kommander.nix
index d5f4337f714..d5f4337f714 100644
--- a/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix
+++ b/pkgs/desktops/kde-4.14/kdewebdev/kommander.nix
diff --git a/pkgs/desktops/kde-4.12/l10n/default.nix b/pkgs/desktops/kde-4.14/l10n/default.nix
index fa6406043b1..fa6406043b1 100644
--- a/pkgs/desktops/kde-4.12/l10n/default.nix
+++ b/pkgs/desktops/kde-4.14/l10n/default.nix
diff --git a/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.14/l10n/l10n-manifest.sh
index ec159a1e204..ec159a1e204 100755
--- a/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh
+++ b/pkgs/desktops/kde-4.14/l10n/l10n-manifest.sh
diff --git a/pkgs/desktops/kde-4.14/l10n/manifest-4.14.3.nix b/pkgs/desktops/kde-4.14/l10n/manifest-4.14.3.nix
new file mode 100644
index 00000000000..a6d48ae51bf
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/l10n/manifest-4.14.3.nix
@@ -0,0 +1,267 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "1amzzwa4zhwm0r1b1fdi0fjp883wpbjh12wn9q42g04xzza6nq04";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "1x1yx6lw86bwv2d7lcfb061k1pqgqw6abqwrga7pnzfmk2fcaawb";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "148195dk6wmymk6jib467a10w9jajh3bmx1igxl29l7vp33xpgng";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "04bgjfwr5pwn79lh3wixajswmccfcqll5dnjhf84zw7p09138m0v";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "0p257jjilkmjrq9ddvwfdh41911b2yrcrid1j31g7gg9gp7iriq4";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "0kjn9pq9p8bfja6ca4pcpqgli9k1mfyh77j6i8p28i37wfmgv0cn";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "1w0ylqnxkbqz6camk8045nrxpz1n4dbz8cgl559l31m7zacq1rmb";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "0i97h1jcm8lpv3pap7wiz8nvjwf00jav5z5ymsbklagvmbmwyfyk";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "1br19741hmn08g3vzmx8dilx2kdfbg5zv1rjxnigdfwi0zphqyw9";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "1flp57prc12ri2rhh6vwf6hb5mqj8w1sj94pnji02ylmkghcc466";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "0waccr5mih5nv4q31k6xn07iws2by8n67riij6k9nsfsrlrxv21g";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "1bqd4jaws8890r2zjzpf6pw1k9v7h2lr7xk1dzfs8ak7gny32fm9";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "0q4cac4vp1s7fda328xxyzhqll0iqinn5v9syb93xfj29kij4ja2";
+}
+{
+  lang = "fa";
+  saneName = "fa";
+  sha256 = "0avabmdm9bxyb5b5d0mrv8mmwp6j1r4ch7y0ab7b4zl380blw7d3";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "0lk0r03r2wmqpf8n9zvwpsbl7s11dipa8kc3lmkh1yrjk8c4z2sw";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "1gzwc6yj7x7x3jx0270ap5nf70ckl25lqccrxiyzwx3mqfxgfbx2";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "0bkf62cqj4rfgz81yj9jspv5jfa932hsyhk4kq0r2hqsm8gndddd";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "00m4m480fqls5i1cvdidkq3nb8xzqhgyqqp0zk3j3qybxfq98yg5";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "1488lk7jniv0hj77wcfxplxw10srp3df6lv6llss8b5m3yqb061a";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "16ni7257b1ch0wabncvq17569c57ncz7pzqgqm830bj8ldpk9zzv";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "1si90cnwjsvw553pmppb0aakfk7fan2jk44ag0j191kdiir2b3xk";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "1x2s2cd521ffp5azzrzq2w2cr4sjz6gpg1a1h9jg4749xwqfhc1a";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "1ybaihygv0lviw6bq3a6ki40glgs49gsk29abq4y95bi9ymlrryc";
+}
+{
+  lang = "id";
+  saneName = "id";
+  sha256 = "1s8zliwc737avc04n2l27rhhh9isz9ag81nsajai27yxif0ncn7x";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "1x2mag8jwlmbh8v8y3rmvp9n69sv2xfwwsxw7c9vb8qg4cybax1c";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "1ng2hzrbvcak3nhbmlb3h64a15h34zfrgabzwrjvi2b0fv8liycw";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "01klhf9bmha9x6s39r4wnd0hxn35jg5bh7h9rwqij3nf06rddfrj";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "149fi65z1x64svs00rn82njmw6l0pncgs4b5d66fb18ah3bjlfg2";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "17hjv0gi2fqa5gkjgmqkxb4k7z3zizrxax6inq8s03g4f2vfibaz";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "19yhacc0v5grxc35bmks9r4qy091qij26yfi2qvs3rca7cc374jp";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "0y0nkvqidc12paf8ghk4p6z213gxcyv27nvglk120l2602980idj";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "0msw54v8d9p08c7prw6m20w29qf8f0yb32s378knhsql6abv5gln";
+}
+{
+  lang = "mr";
+  saneName = "mr";
+  sha256 = "05kcm7x7jj4lppn6fd1jlzl37r3gs9wrz0cckwpscc2m6y2g7p55";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "0wsdr8yyjjik2h30xy7y38i5hagy4jya98cqjbcrrab35i677l9a";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "0lr5z1r8v3fkqpkcjvnml2s9jh50wmqsqiyls9ivr46ygwm8wcbq";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "09w8cniq3z11900axjcdlm24jbzjjsqcpdwpvhvc9z78hfsjqp36";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "1b304wg1143pk7ib8k451g2riq87c1h0611khslghy428q4rviwd";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "02y56ld5hiywph88khh55hqg0gpcvmqcqrbpsidzx3qdgh5j40nl";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "137mfrr7wza2pg4yzqqi93bsmsrjvj0ar27gi3lk1qh6zniwyjai";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "1zb454rg4pigkldg9jp97r2r7k8azwxbal77zscky2q6rbw0sjcn";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1zrn09k99pfscnc5zyxh1jzyrbirhy8ilwacbgg913maaanjprny";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "1lkr14if7jmfcxmb10pf11a6xjxxqxrq45lwdx19kj3djgr5l4pc";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "1ldf4y9wck339n0jq8x43x9h57jvfg3qk0spfv9d5fw9qyxygwwi";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "1n4qjwvpkddwizl8k3gr1xwv8icwd6lqsg09cypax049g3q2sy4p";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "1k111r9ssprgali6sg3wpbvp635hb56ckmcgpdhyvk6bbkcbnbmr";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "0pini77jlnrv2fhl0j99wjxylwlj77bihcbfvnkf5bganffgwc11";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "0ykxy95a4q0pp5ibmw20ckg33b3h89g2m86p6fcfnqf6350nxs2v";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "15vcfpyc30ia6bsjgwv3zhydv2nlnmggr8i2yjpnb5dlynn3sywh";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "0qhzfbd3j0d7grg4ghzn7y5vrl031iz9krifv7dv6jgp68fzz1h0";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "03n2myhwx9lvm1vzqvrg2sgl3y1m0rrrskqa22m06fjmh4vxawhx";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "11b7gyy31n2zfhkaj304pd4lkr14sp1sgi4pzv86c824sr6lp01v";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "1r5gxadd94ckdpkwcchwa8k735g2y9x7bi6px6hm7qlxdbi9sjmq";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "04bvvb3na4arns483fz27npjs045hf3s53p2rkd2nvq9gwvn0kmi";
+}
+]
diff --git a/pkgs/desktops/kde-4.12/oxygen-icons.nix b/pkgs/desktops/kde-4.14/oxygen-icons.nix
index 01020e095f9..270707f8492 100644
--- a/pkgs/desktops/kde-4.12/oxygen-icons.nix
+++ b/pkgs/desktops/kde-4.14/oxygen-icons.nix
@@ -3,7 +3,7 @@
 kde {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "06qddsbq0sadj9jh2x1qkbm69b7cnd2474b3h0zrzrqgnrsf8jn2";
+  outputHash = "156ghknzdrlf48602lcap5vpp691cyba0igdbw53wfqfpaqkap28";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/desktops/kde-4.14/support/akonadi/default.nix b/pkgs/desktops/kde-4.14/support/akonadi/default.nix
new file mode 100644
index 00000000000..5238744cc7b
--- /dev/null
+++ b/pkgs/desktops/kde-4.14/support/akonadi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "akonadi-1.13.0";
+  
+  src = fetchurl {
+    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
+    sha256 = "8c7f690002ea22c139f3a64394aef2e816e00ca47fd971af7d54a66087356dd2";
+  };
+
+  buildInputs = [ qt4 soprano libxslt boost sqlite ];
+
+  nativeBuildInputs = [ cmake automoc4 shared_mime_info pkgconfig ];
+
+  enableParallelBuilding = true;
+  
+  meta = with stdenv.lib; {
+    description = "KDE PIM Storage Service";
+    license = "LGPL";
+    homepage = http://pim.kde.org/akonadi;
+    maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
new file mode 100644
index 00000000000..7506ece43dc
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  majorVersion = "0.3";
+  minorVersion = "0.1";
+  name = "pantheon-terminal-${majorVersion}.${minorVersion}";
+  src = fetchurl {
+    url = "https://launchpad.net/pantheon-terminal/${majorVersion}.x/${majorVersion}.${minorVersion}/+download/${name}.tgz";
+    sha256 = "14wspqxp79myyyjngr1x7jg1kw15g3nm2pav2zffp8xs16s1i5za";
+  };
+
+  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:$out/share"
+    done
+  '';
+
+  buildInputs = [perl cmake vala pkgconfig glib gtk3 granite gnome3.vte gnome3.libgee libnotify gettext makeWrapper];
+  meta = {
+    description = "elementary OS's terminal";
+    longDescription = "A super lightweight, beautiful, and simple terminal. It's designed to be setup with sane defaults and little to no configuration. It's just a terminal, nothing more, nothing less. Designed for elementary OS.";
+    homepage = https://launchpad.net/pantheon-terminal;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.vozz ];
+  };
+}
diff --git a/pkgs/desktops/plasma-5.2/default.nix b/pkgs/desktops/plasma-5.2/default.nix
new file mode 100644
index 00000000000..ed89384e26a
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/default.nix
@@ -0,0 +1,166 @@
+# Maintainer's Notes:
+#
+# Minor updates:
+#  1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
+#     releases updates that include only the changed packages; in this case,
+#     multiple URLs can be provided and the results will be merged.
+#  2. Run ./manifest.sh and ./dependencies.sh.
+#  3. Build and enjoy.
+#
+# Major updates:
+#  We prefer not to immediately overwrite older versions with major updates, so
+#  make a copy of this directory first. After copying, be sure to delete ./tmp
+#  if it exists. Then follow the minor update instructions.
+
+{ autonix, kf5, pkgs, qt5, stdenv, debug ? false }:
+
+with stdenv.lib; with autonix;
+
+let kf5Orig = kf5; in
+
+let
+
+  kf5 = kf5Orig.override { inherit debug qt5; };
+
+  mirror = "mirror://kde";
+
+  renames =
+    builtins.removeAttrs
+      (import ./renames.nix {})
+      ["Backend" "CTest"];
+
+  scope =
+    # packages in this collection
+    (mapAttrs (dep: name: plasma5."${name}") renames) //
+    # packages from KDE Frameworks 5
+    kf5.scope //
+    # packages pinned to this version of Qt 5
+    {
+      LibBlueDevil = pkgs.libbluedevil;
+      PolkitQt5-1 = pkgs.polkit_qt5.override { inherit qt5; };
+      PopplerQt5 = pkgs.poppler_qt5.override { inherit qt5; };
+    } //
+    # packages from nixpkgs
+    (with pkgs;
+      {
+        inherit epoxy;
+        Epub = ebook_tools;
+        Exiv2 = exiv2;
+        FFmpeg = ffmpeg;
+        FONTFORGE_EXECUTABLE = fontforge;
+        Freetype = freetype;
+        GTK2 = gtk2;
+        GTK3 = gtk3;
+        Libinput = libinput;
+        LibSSH = libssh;
+        PulseAudio = pulseaudio;
+        Taglib = taglib;
+        USB = libusb;
+        Wayland = wayland;
+        Xapian = xapian;
+      }
+    );
+
+  preResolve = super:
+    fold (f: x: f x) super
+      [
+        (userEnvPkg "SharedMimeInfo")
+        (userEnvPkg "SharedDesktopOntologies")
+        (blacklist ["bluedevil"])
+      ];
+
+  postResolve = super:
+    (builtins.removeAttrs super ["breeze"]) // {
+
+      breeze-qt4 = with pkgs; super.breeze // {
+        name = "breeze-qt4-" + (builtins.parseDrvName super.breeze.name).version;
+        buildInputs = [ xlibs.xproto kde4.kdelibs qt4 ];
+        nativeBuildInputs = [ cmake pkgconfig ];
+        cmakeFlags =
+          [
+            "-DUSE_KDE4=ON"
+            "-DQT_QMAKE_EXECUTABLE=${qt4}/bin/qmake"
+          ];
+      };
+
+      breeze-qt5 = with pkgs; super.breeze // {
+        name = "breeze-qt5-" + (builtins.parseDrvName super.breeze.name).version;
+        buildInputs = with kf5; with plasma5;
+          [
+            kcompletion kconfig kconfigwidgets kcoreaddons kdecoration kguiaddons
+            frameworkintegration ki18n kwindowsystem qt5.base qt5.x11extras
+          ];
+        nativeBuildInputs = [ cmake kf5.extra-cmake-modules pkgconfig ];
+        cmakeFlags = [ "-DUSE_KDE4=OFF" ];
+      };
+
+      kde-gtk-config = with pkgs; super.kde-gtk-config // {
+        NIX_CFLAGS_COMPILE =
+          (super.kde-gtk-config.NIX_CFLAGS_COMPILE or "")
+          + " -I${cairo}/include/cairo"
+          + " -I${gtk2}/include/gtk-2.0 -I${gtk2}/lib/gtk-2.0/include"
+          + " -I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"
+          + " -I${pango}/include/pango-1.0";
+      };
+
+      kwin = with pkgs; super.kwin // {
+        buildInputs = with xlibs;
+          super.kwin.buildInputs ++ [ libICE libSM libXcursor ];
+        patches = [ ./kwin/kwin-import-plugin-follow-symlinks.patch ];
+      };
+
+      libkscreen = with pkgs; super.libkscreen // {
+        buildInputs = with xlibs; super.libkscreen.buildInputs ++ [libXrandr];
+      };
+
+      plasma-desktop = with pkgs; super.plasma-desktop // {
+        buildInputs = with xlibs;
+          super.plasma-desktop.buildInputs ++
+          [ pkgs.libcanberra libxkbfile libXcursor libXft ];
+        patches = [
+          ./plasma-desktop/plasma-desktop-hwclock.patch
+          ./plasma-desktop/plasma-desktop-zoneinfo.patch
+        ];
+        preConfigure = ''
+          substituteInPlace kcms/dateandtime/helper.cpp \
+            --subst-var-by hwclock "${utillinux}/sbin/hwclock"
+        '';
+      };
+
+      plasma-workspace = with pkgs; super.plasma-workspace // {
+        buildInputs = with xlibs;
+          super.plasma-workspace.buildInputs ++ [ libSM libXcursor pam ];
+        postPatch = ''
+          substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
+            --replace kdostartupconfig5 $out/bin/kdostartupconfig5
+        '';
+        postInstall = ''
+          # We use a custom startkde script
+          rm $out/bin/startkde
+        '';
+      };
+
+      powerdevil = with pkgs; super.powerdevil // {
+        buildInputs = with xlibs; super.powerdevil.buildInputs ++ [libXrandr];
+      };
+
+      sddm-kcm = with pkgs; super.sddm-kcm // {
+        buildInputs = with xlibs; super.sddm-kcm.buildInputs ++ [libXcursor];
+      };
+
+    };
+
+  plasma5 = generateCollection ./. {
+    inherit (kf5) mkDerivation;
+    inherit mirror preResolve postResolve renames scope;
+  };
+
+in
+  plasma5 // {
+    inherit kf5 scope;
+    startkde = pkgs.callPackage ./startkde {
+      inherit (kf5) kconfig kinit kservice;
+      inherit (plasma5) plasma-desktop plasma-workspace;
+      inherit qt5;
+    };
+  }
diff --git a/pkgs/desktops/plasma-5.2/dependencies.nix b/pkgs/desktops/plasma-5.2/dependencies.nix
new file mode 100644
index 00000000000..cb23102aa1f
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/dependencies.nix
@@ -0,0 +1,284 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+  baloo = {
+    buildInputs = [ "ECM" "KF5" "KF5Auth" "KF5Config" "KF5Crash" "KF5FileMetaData" "KF5I18n" "KF5IdleTime" "KF5KDELibs4Support" "KF5KIO" "KF5Solid" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Quick" "Qt5Sql" "Qt5Test" "Qt5Widgets" "Xapian" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" "KF5FileMetaData" "Qt5Core" "Xapian" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  bluedevil = {
+    buildInputs = [ "ECM" "KF5" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5MODULE" "KF5Notifications" "KF5WidgetsAddons" "LibBlueDevil" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Widgets" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  breeze = {
+    buildInputs = [ "ECM" "KDE4" "KDecoration2" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5FrameworkIntegration" "KF5GuiAddons" "KF5I18n" "KF5Service" "KF5WindowSystem" "PkgConfig" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Widgets" "Qt5X11Extras" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-cli-tools = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDELibs4Support" "KF5Su" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5QUIET" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kde-gtk-config = {
+    buildInputs = [ "ECM" "GTK2" "GTK3" "KF5" "KF5Archive" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "Qt5" "Qt5NO_MODULE" "Qt5Network" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdecoration = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Core" "Qt5Gui" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdeplasma-addons = {
+    buildInputs = [ "ECM" "GIO" "GLIB2" "GObject" "IBus" "KDE4" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Kross" "KF5Plasma" "KF5Runner" "KF5Service" "KF5UnitConversion" "KdepimLibs" "Kexiv2" "Lancelot" "Lancelot-Datamodels" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Qml" "Qt5Quick" "Qt5Widgets" "Qt5X11Extras" "SCIM" "SharedMimeInfo" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kfilemetadata = {
+    buildInputs = [ "ECM" "EPub" "Exiv2" "FFmpeg" "KF5" "KF5Archive" "KF5I18n" "PopplerQt5" "QMobipocket" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Xml" "Taglib" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  khelpcenter = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5Init" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KHtml" "Qt5" "Qt5DBus" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  khotkeys = {
+    buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5GlobalAccel" "KF5I18n" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Plasma" "KF5XmlGui" "LibKWorkspace" "Qt5" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kinfocenter = {
+    buildInputs = [ "ECM" "EGL" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Service" "KF5Solid" "KF5Wayland" "KF5WidgetsAddons" "KF5XmlGui" "OpenGL" "OpenGLES" "PCIUTILS" "Qt5" "Qt5Core" "Qt5Gui" "Qt5Widgets" "RAW1394" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kio-extras = {
+    buildInputs = [ "ECM" "Exiv2" "JPEG" "KF5" "KF5Archive" "KF5Bookmarks" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DNSSD" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KDELibs4Support" "KF5KHtml" "KF5KIO" "KF5Pty" "KF5Solid" "LibSSH" "Mtp" "OpenEXR" "Phonon4Qt5" "Qt5" "Qt5DBus" "Qt5Network" "Qt5QUIET" "Qt5Svg" "Qt5Test" "Qt5Widgets" "SLP" "Samba" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "MD5SUM_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kmenuedit = {
+    buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5KDELibs4Support" "KF5KIO" "KF5Sonnet" "KF5XmlGui" "KHotKeysDBusInterface" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kscreen = {
+    buildInputs = [ "ECM" "KF5" "KF5ConfigWidgets" "KF5DBusAddons" "KF5GlobalAccel" "KF5I18n" "KF5Screen" "KF5XmlGui" "Qt5" "Qt5QuickWidgets" "Qt5Test" "Qt5X11Extras" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksshaskpass = {
+    buildInputs = [ "ECM" "KF5" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5Wallet" "KF5WidgetsAddons" "Qt5" "Qt5Core" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ksysguard = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDELibs4Support" "KF5NewStuff" "KF5SysGuard" "Qt5" "Qt5Core" "Qt5Widgets" "Sensors" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwayland = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Concurrent" "Qt5Gui" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "Wayland" "WaylandScanner" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwin = {
+    buildInputs = [ "ECM" "EGL" "KDecoration2" "KF5" "KF5Activities" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5Plasma" "KF5Service" "KF5Wayland" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "Libinput" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5DBus" "Qt5Multimedia" "Qt5QUIET" "Qt5Quick" "Qt5QuickWidgets" "Qt5Script" "Qt5Test" "Qt5UiTools" "Qt5Widgets" "Qt5X11Extras" "UDev" "Wayland" "X11" "XCB" "XKB" "epoxy" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwrited = {
+    buildInputs = [ "ECM" "KF5" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" "KF5Notifications" "KF5Pty" "Qt5" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libbluedevil = {
+    buildInputs = [ "Doxygen" "Qt5" "Qt5Core" "Qt5DBus" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libkscreen = {
+    buildInputs = [ "Doxygen" "ECM" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Gui" "Qt5Test" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libksysguard = {
+    buildInputs = [ "ECM" "KF5" "KF5Auth" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5Plasma" "KF5Service" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5Network" "Qt5Script" "Qt5Test" "Qt5WebKitWidgets" "Qt5Widgets" "Qt5X11Extras" "X11" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5I18n" "KF5IconThemes" "Qt5Core" "Qt5Network" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  libmm-qt = {
+    buildInputs = [ "ECM" "KF5ModemManagerQt" "ModemManager" "Qt4" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  milou = {
+    buildInputs = [ "ECM" "KF5" "KF5CoreAddons" "KF5Declarative" "KF5I18n" "KF5Plasma" "KF5Runner" "KF5Service" "KdepimLibs" "Qt5" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Script" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  muon = {
+    buildInputs = [ "AkabeiClient" "AppstreamQt" "BODEGA" "DebconfKDE" "ECM" "KF5" "KF5Attica" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDELibs4Support" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5Plasma" "KF5Solid" "KF5Wallet" "KF5WidgetsAddons" "Phonon4Qt5" "QApt" "Qca-qt5" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Network" "Qt5Qml" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5Xml" "QtOAuth" "packagekitqt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  oxygen = {
+    buildInputs = [ "ECM" "KDE4" "KDE4Workspace" "KF5" "KF5Completion" "KF5Config" "KF5FrameworkIntegration" "KF5GuiAddons" "KF5I18n" "KF5Service" "KF5WidgetsAddons" "KF5WindowSystem" "PkgConfig" "Qt5" "Qt5DBus" "Qt5Widgets" "Qt5X11Extras" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  oxygen-fonts = {
+    buildInputs = [ "ECM" ];
+    nativeBuildInputs = [ "FONTFORGE_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  plasma-desktop = {
+    buildInputs = [ "Boost" "ECM" "Fontconfig" "Freetype" "GLIB2" "KDE4" "KF5" "KF5Activities" "KF5Attica" "KF5Auth" "KF5Baloo" "KF5DocTools" "KF5Emoticons" "KF5GlobalAccel" "KF5I18n" "KF5ItemModels" "KF5KCMUtils" "KF5KDELibs4Support" "KF5NewStuff" "KF5NotifyConfig" "KF5Plasma" "KF5PlasmaQuick" "KF5Runner" "KF5Wallet" "KRunnerAppDBusInterface" "KSMServerDBusInterface" "KWinDBusInterface" "LibKWorkspace" "LibTaskManager" "OpenGL" "OpenGLES" "PackageKitQt5" "Phonon4Qt5" "PulseAudio" "Qt4" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Quick" "Qt5QuickWidgets" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "ScreenSaverDBusInterface" "Strigi" "USB" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  plasma-nm = {
+    buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5ItemViews" "KF5KDELibs4Support" "KF5KIO" "KF5ModemManagerQt" "KF5NetworkManagerQt" "KF5Notifications" "KF5Plasma" "KF5Service" "KF5Solid" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "MobileBroadbandProviderInfo" "ModemManager" "NetworkManager" "OpenConnect" "OpenSSL" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Network" "Qt5Quick" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  plasma-workspace = {
+    buildInputs = [ "ECM" "KF5" "KF5Activities" "KF5Baloo" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5Declarative" "KF5DocTools" "KF5GlobalAccel" "KF5I18n" "KF5IdleTime" "KF5JsEmbed" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5NO_MODULE" "KF5NewStuff" "KF5NotifyConfig" "KF5Plasma" "KF5PlasmaQuick" "KF5Runner" "KF5Screen" "KF5Solid" "KF5Su" "KF5SysGuard" "KF5TextEditor" "KF5TextWidgets" "KF5Wallet" "KF5Wayland" "KF5WebKit" "KWinDBusInterface" "Phonon4Qt5" "Prison" "Qalculate" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Network" "Qt5Qml" "Qt5Quick" "Qt5QuickWidgets" "Qt5Script" "Qt5Sql" "Qt5Test" "Qt5WebKitWidgets" "Qt5Widgets" "Qt5X11Extras" "Wayland" "WaylandScanner" "X11" "XCB" "ZLIB" "dbusmenu-qt5" "libgps" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5KIO" "KF5SysGuard" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  plasma-workspace-wallpapers = {
+    buildInputs = [ "ECM" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  polkit-kde-agent = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5Notifications" "KF5WidgetsAddons" "KF5WindowSystem" "PolkitQt5-1" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  powerdevil = {
+    buildInputs = [ "ECM" "KF5" "KF5Auth" "KF5Config" "KF5GlobalAccel" "KF5I18n" "KF5IdleTime" "KF5KDELibs4Support" "KF5KIO" "KF5NotifyConfig" "KF5Solid" "LibKWorkspace" "Qt5" "Qt5DBus" "Qt5Widgets" "Qt5X11Extras" "ScreenSaverDBusInterface" "UDev" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  sddm-kcm = {
+    buildInputs = [ "ECM" "KF5" "KF5Auth" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5KIO" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Designer" "Qt5Gui" "Qt5Quick" "Qt5QuickWidgets" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  systemsettings = {
+    buildInputs = [ "ECM" "KF5" "KF5Config" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KCMUtils" "KF5KHtml" "KF5KIO" "KF5Service" "KF5WindowSystem" "KF5XmlGui" "Qt5" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+}
diff --git a/pkgs/desktops/plasma-5.2/dependencies.sh b/pkgs/desktops/plasma-5.2/dependencies.sh
new file mode 100755
index 00000000000..e614efc5475
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/dependencies.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# This script rebuilds dependencies.nix.
+# You must run manifest.sh first to download the packages.
+
+# Without arguments, this will use the version of autonix-deps-kf5 in nixpkgs.
+# If you are working on the packages, this is probably what you want.
+
+# You can also pass the path to a source tree where you have built
+# autonix-deps-kf5 yourself. If you are working on autonix-deps-kf5, this is
+# probably what you want.
+
+manifestXML=$(nix-build -E 'with (import ../../.. {}); autonix.writeManifestXML ./manifest.nix')
+
+autonixDepsKf5=""
+if [[ -z $1 ]]; then
+    autonixDepsKF5=$(nix-build ../../.. -A haskellngPackages.autonix-deps-kf5)/bin
+else
+    autonixDepsKF5="$1/dist/build/kf5-deps"
+fi
+
+exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"
diff --git a/pkgs/desktops/plasma-5.2/kwin/kwin-import-plugin-follow-symlinks.patch b/pkgs/desktops/plasma-5.2/kwin/kwin-import-plugin-follow-symlinks.patch
new file mode 100644
index 00000000000..fd1f35d717e
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/kwin/kwin-import-plugin-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp
+index 26b44a9..d14e226 100644
+--- a/clients/aurorae/src/aurorae.cpp
++++ b/clients/aurorae/src/aurorae.cpp
+@@ -73,7 +73,7 @@ void AuroraeFactory::init()
+     // so let's try to locate our plugin:
+     QString pluginPath;
+     for (const QString &path : m_engine->importPathList()) {
+-        QDirIterator it(path, QDirIterator::Subdirectories);
++        QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             it.next();
+             QFileInfo fileInfo = it.fileInfo();
diff --git a/pkgs/desktops/plasma-5.2/kwin/libinput-0.8.patch b/pkgs/desktops/plasma-5.2/kwin/libinput-0.8.patch
new file mode 100644
index 00000000000..d0b9658b3bf
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/kwin/libinput-0.8.patch
@@ -0,0 +1,25 @@
+commit a93a2ab1918630c6d571b5a24379c15a0458d1fa
+Author: Martin Gräßlin <mgraesslin@kde.org>
+Date:   Wed Jan 28 16:20:57 2015 +0100
+
+    Disable libinput integration if >= 0.8 is found
+    
+    libinput 0.8 is incompatible causing the build to fail. As we are in
+    dependency freeze the only option is to disable the build.
+    
+    BUG: 342893
+    FIXED-IN: 5.2.1
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 550ef57..8d9c593 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -145,7 +145,7 @@ set_package_properties(UDev PROPERTIES  URL "http://www.freedesktop.org/software
+                                         PURPOSE "Required for input handling on Wayland."
+                         )
+ set(HAVE_INPUT FALSE)
+-if (Libinput_FOUND AND UDEV_FOUND)
++if (Libinput_FOUND AND UDEV_FOUND AND Libinput_VERSION VERSION_LESS 0.8)
+     set(HAVE_INPUT TRUE)
+ endif()
+ 
diff --git a/pkgs/desktops/plasma-5.2/libkscreen/libkscreen-backend-path.patch b/pkgs/desktops/plasma-5.2/libkscreen/libkscreen-backend-path.patch
new file mode 100644
index 00000000000..d5797924d23
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/libkscreen/libkscreen-backend-path.patch
@@ -0,0 +1,130 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 460022f..422a708 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1,5 +1,7 @@
+ include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDES})
+ 
++configure_file(config-libkscreen.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-libkscreen.h)
++
+ set(libkscreen_SRCS
+     backendloader.cpp
+     config.cpp
+diff --git a/src/backendloader.cpp b/src/backendloader.cpp
+index b93e469..8aebc14 100644
+--- a/src/backendloader.cpp
++++ b/src/backendloader.cpp
+@@ -16,6 +16,7 @@
+  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA       *
+  *************************************************************************************/
+ 
++#include "config-libkscreen.h"
+ #include "backendloader.h"
+ #include "debug_p.h"
+ #include "backends/abstractbackend.h"
+@@ -40,55 +41,54 @@ bool BackendLoader::init()
+     const QString backend = qgetenv("KSCREEN_BACKEND").constData();
+     const QString backendFilter = QString::fromLatin1("KSC_%1*").arg(backend);
+ 
+-    const QStringList paths = QCoreApplication::libraryPaths();
+-    Q_FOREACH (const QString &path, paths) {
+-        const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"),
+-                       backendFilter,
+-                       QDir::SortFlags(QDir::QDir::NoSort),
+-                       QDir::NoDotAndDotDot | QDir::Files);
+-        const QFileInfoList finfos = dir.entryInfoList();
+-        Q_FOREACH (const QFileInfo &finfo, finfos) {
+-            // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND
+-            if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) {
+-                continue;
+-            }
++    QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" PLUGIN_INSTALL_DIR "/");
+ 
+-            // When on X11, skip the QScreen backend, instead use the XRandR backend,
+-            // if not specified in KSCREEN_BACKEND
+-            if (backend.isEmpty() &&
+-                    finfo.fileName().contains(QLatin1String("KSC_QScreen")) &&
+-                    QX11Info::isPlatformX11()) {
+-                continue;
+-            }
++    const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"),
++                   backendFilter,
++                   QDir::SortFlags(QDir::QDir::NoSort),
++                   QDir::NoDotAndDotDot | QDir::Files);
++    const QFileInfoList finfos = dir.entryInfoList();
++    Q_FOREACH (const QFileInfo &finfo, finfos) {
++        // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND
++        if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) {
++            continue;
++        }
+ 
+-            // When not on X11, skip the XRandR backend, and fall back to QSCreen
+-            // if not specified in KSCREEN_BACKEND
+-            if (backend.isEmpty() &&
+-                    finfo.fileName().contains(QLatin1String("KSC_XRandR")) &&
+-                    !QX11Info::isPlatformX11()) {
+-                continue;
+-            }
++        // When on X11, skip the QScreen backend, instead use the XRandR backend,
++        // if not specified in KSCREEN_BACKEND
++        if (backend.isEmpty() &&
++                finfo.fileName().contains(QLatin1String("KSC_QScreen")) &&
++                QX11Info::isPlatformX11()) {
++            continue;
++        }
++
++        // When not on X11, skip the XRandR backend, and fall back to QSCreen
++        // if not specified in KSCREEN_BACKEND
++        if (backend.isEmpty() &&
++                finfo.fileName().contains(QLatin1String("KSC_XRandR")) &&
++                !QX11Info::isPlatformX11()) {
++            continue;
++        }
+ 
+-            QPluginLoader loader(finfo.filePath());
+-            loader.load();
+-            QObject *instance = loader.instance();
+-            if (!instance) {
++        QPluginLoader loader(finfo.filePath());
++        loader.load();
++        QObject *instance = loader.instance();
++        if (!instance) {
++            loader.unload();
++            continue;
++        }
++
++        s_backend = qobject_cast< AbstractBackend* >(instance);
++        if (s_backend) {
++            if (!s_backend->isValid()) {
++                qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend";
++                delete s_backend;
++                s_backend = 0;
+                 loader.unload();
+                 continue;
+             }
+-
+-            s_backend = qobject_cast< AbstractBackend* >(instance);
+-            if (s_backend) {
+-                if (!s_backend->isValid()) {
+-                    qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend";
+-                    delete s_backend;
+-                    s_backend = 0;
+-                    loader.unload();
+-                    continue;
+-                }
+-                qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend";
+-                return true;
+-            }
++            qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend";
++            return true;
+         }
+     }
+ 
+diff --git a/src/config-libkscreen.h.cmake b/src/config-libkscreen.h.cmake
+new file mode 100644
+index 0000000..a99f3d1
+--- /dev/null
++++ b/src/config-libkscreen.h.cmake
+@@ -0,0 +1,2 @@
++#define CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}"
++#define PLUGIN_INSTALL_DIR "${PLUGIN_INSTALL_DIR}"
diff --git a/pkgs/desktops/plasma-5.2/manifest.nix b/pkgs/desktops/plasma-5.2/manifest.nix
new file mode 100644
index 00000000000..4a0161770c8
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/manifest.nix
@@ -0,0 +1,319 @@
+# This file is generated automatically. DO NOT EDIT!
+{ stdenv, fetchurl, mirror }:
+[
+  {
+    name = stdenv.lib.nameFromURL "kdecoration-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/cppfn3gd3ff2x6llz9gmnbg2plyhxkgb-kdecoration-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kdecoration-5.2.2.tar.xz";
+      sha256 = "1a4vaflzr1vz0v9pp4w1nxs1qpc1yixl0llj8mjx7f2aw03yjdil";
+      name = "kdecoration-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeplasma-addons-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/k0i9hbdiqchd6c4802mgsj6ys0i20cq7-kdeplasma-addons-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kdeplasma-addons-5.2.2.tar.xz";
+      sha256 = "0zzzbpgllaj9kqfca9lqqgjmlybhfga5gazfwh4gmfd6vrvsv4zq";
+      name = "kdeplasma-addons-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "powerdevil-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/q64lvc2svj9ab9ghr7vxgs5y6ghnhv26-powerdevil-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/powerdevil-5.2.2.tar.xz";
+      sha256 = "07p7rxmfykf03m12mpmxi5whgnizvhxbks888zd4hzy42ln8byvd";
+      name = "powerdevil-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "polkit-kde-agent-1-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/vg1jxzylncp5nz0pp41mxc1a6djv9gx5-polkit-kde-agent-1-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/polkit-kde-agent-1-5.2.2.tar.xz";
+      sha256 = "18krrgcmgmw5ivmhn1i83gl2b90k1pimk91z6sqimcfabsm2207q";
+      name = "polkit-kde-agent-1-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "baloo-5.6.2.tar.xz" ".tar";
+    store = "/nix/store/ghvcq3c2q539avg2n1cm94zs0r4wkkc3-baloo-5.6.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/baloo-5.6.2.tar.xz";
+      sha256 = "14sq0fyy1792m8dqasr52syls2i8rbl2h333z6q9vjfp8zg1bgra";
+      name = "baloo-5.6.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libbluedevil-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/f4awl52gqj3w1lsy73v6pfazzb1rjmca-libbluedevil-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/libbluedevil-5.2.2.tar.xz";
+      sha256 = "1m0g8i6a40jxjfsf24g2x29xik0qwja80az8i6v42jqjigdxqgsz";
+      name = "libbluedevil-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksysguard-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/n78bf9pd2cxf0a8jh0snfl8dfqn59lv7-ksysguard-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/ksysguard-5.2.2.tar.xz";
+      sha256 = "0sz2zjbh9zm0v16n7nfskrx5q5g0p4szqxh3fxkwvjysafvbbm2j";
+      name = "ksysguard-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwin-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/pdjszd0xl49ak7g2sxs9gy0yxfkqyl7w-kwin-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kwin-5.2.2.tar.xz";
+      sha256 = "1h78nb9g7ynmsx9w9gi54xzn2v3pn88fc1s9hf7w6bjbj55nmxnc";
+      name = "kwin-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/5sjd1yal83dsp0sc5yb118w846ypqs3l-oxygen-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/oxygen-5.2.2.tar.xz";
+      sha256 = "1hkm02plbsmbypywr4f84j8bb4fy9pv91rh8j8g99pahyxqjjkzm";
+      name = "oxygen-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libksysguard-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/qfim9g5jafl8c0pzd764i4y9mh2aziji-libksysguard-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/libksysguard-5.2.2.tar.xz";
+      sha256 = "0pa1lqccih6d0axv4k6dbm79jlqcy6alx6zp9npbms04w004fmav";
+      name = "libksysguard-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khotkeys-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/1acfqi39blv2phqn5ypsbjfwb4yy6ac9-khotkeys-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/khotkeys-5.2.2.tar.xz";
+      sha256 = "16g51xs0l2fzqd9vf7qy2kda8hlnknxmxbb30wl8fc566pss4xcj";
+      name = "khotkeys-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "plasma-nm-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/h2imh1yn683vahz76y2cxvc53c3zg61m-plasma-nm-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/plasma-nm-5.2.2.tar.xz";
+      sha256 = "1031l97b652v2rhzwkwrl1zjm2z0lgg12p88r4sfyp8xzbr5vvsd";
+      name = "plasma-nm-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libmm-qt-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/mpnx11ji4qfgfylm3fy18y0gfcfiyccs-libmm-qt-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/libmm-qt-5.2.2.tar.xz";
+      sha256 = "0z71fn5f5ch4g4bc2nvqx8lj63bw5lxf3axrb6zn4wqviy9345fd";
+      name = "libmm-qt-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "libkscreen-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/dshgq9mha8j254d0x1w0k6cp2xh12y0y-libkscreen-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/libkscreen-5.2.2.tar.xz";
+      sha256 = "0ymck8yb7kphp7nd7l2kfas420qjkqay4wwxav80ga8zb5m4v9ky";
+      name = "libkscreen-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "plasma-workspace-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/g72bj559sk724zyv63mwv97bdkybphwq-plasma-workspace-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/plasma-workspace-5.2.2.tar.xz";
+      sha256 = "0wh5m525f5bdcr9mygm9q9cjwnr46irjx1xdsn873v75nxm16x5i";
+      name = "plasma-workspace-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "muon-5.2.2-1.tar.xz" ".tar";
+    store = "/nix/store/kxgn4px54mw23g6zjafxx091vpx5vvw7-muon-5.2.2-1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/muon-5.2.2-1.tar.xz";
+      sha256 = "0nq0wi0fx69mrvc6aah8xvakjwsvx87ykfrarb0pd1cidjz7k698";
+      name = "muon-5.2.2-1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kio-extras-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/301jm0fc13y1fnaliifrczpb6i3vnq0q-kio-extras-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kio-extras-5.2.2.tar.xz";
+      sha256 = "18ypgzn7zib0z6gs32l1yzwcgkk7jzwrc66j7yl19nl3j8ijflab";
+      name = "kio-extras-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kscreen-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/dr2k13fzyclv2zfq09s0mhi36mxp1byq-kscreen-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kscreen-5.2.2.tar.xz";
+      sha256 = "0mg34046p12102kc1kkvv7famxrx3m3zvgvhllbq29pzqrhgyq7c";
+      name = "kscreen-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "milou-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/whdyjzwz2f2ps9250w0w85rfc2nwakk8-milou-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/milou-5.2.2.tar.xz";
+      sha256 = "0j70v090i6qx1y92mhnasrwx6zlwj81nly6csk4zxbrqlk1mpzfr";
+      name = "milou-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kfilemetadata-5.6.2.tar.xz" ".tar";
+    store = "/nix/store/giyrg1kmry1p29l2j39lqqahfrsnnx93-kfilemetadata-5.6.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kfilemetadata-5.6.2.tar.xz";
+      sha256 = "0nkb4nzpjhpy3b2ma9ikdl29lypqrn0qj1cjn4qvrrgviqd1lj89";
+      name = "kfilemetadata-5.6.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "oxygen-fonts-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/xwld1167hfar6ndwyfpv4iykxkk4fx3l-oxygen-fonts-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/oxygen-fonts-5.2.2.tar.xz";
+      sha256 = "1xrzhg2255zz1hva210wnzsz537dxc2xlzbiqbzwknh3mpp7hb90";
+      name = "oxygen-fonts-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "breeze-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/0k4ljr8hp0xibwhykrqgf6md92f9p172-breeze-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/breeze-5.2.2.tar.xz";
+      sha256 = "0q44bq1j3ap0wj1v582sks87ji2w4m7armb7g9p7jxzjv07hsj2v";
+      name = "breeze-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sddm-kcm-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/znayhrzlj9j5pspb7364yql46g0yrkqp-sddm-kcm-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/sddm-kcm-5.2.2.tar.xz";
+      sha256 = "1wpafks11017m5hqprbr0qbv9wn2516nm9m5bxcs93c572f6dnkr";
+      name = "sddm-kcm-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmenuedit-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/29jgl4ygjk8770iqpdxnyfh7f4xaiv2w-kmenuedit-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kmenuedit-5.2.2.tar.xz";
+      sha256 = "0hwqjj247yjvxp923bqx3q78q6bav962crhrfs5phf3a22v1s5vw";
+      name = "kmenuedit-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "plasma-workspace-wallpapers-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/rdgh3m2w5bl5smc0hwcrhi04yh8x7g43-plasma-workspace-wallpapers-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/plasma-workspace-wallpapers-5.2.2.tar.xz";
+      sha256 = "15jw1cb4mgk5fqsmyq8wyl7xc36zyjpr1k585nxg8kqi9376rmlp";
+      name = "plasma-workspace-wallpapers-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kinfocenter-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/a49lq7sggqarnbwcmgx82dvkb6z96zmi-kinfocenter-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kinfocenter-5.2.2.tar.xz";
+      sha256 = "0axh3glf25110ixqgiswlv4x4gj73j61spg4pb9gfvvsi53rcqkl";
+      name = "kinfocenter-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ksshaskpass-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/zhpxalhlqyz0cwsx2s1b0bzrg7rs2y8m-ksshaskpass-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/ksshaskpass-5.2.2.tar.xz";
+      sha256 = "052apq5l34fa6ibwr9b67jkwj6d4calyv3b20n1556zmfy8skfpj";
+      name = "ksshaskpass-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwrited-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/aaa6yzg06wf0nrnbkhsfrlj1lln6jqsd-kwrited-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kwrited-5.2.2.tar.xz";
+      sha256 = "1fx162rsydmsqhfvg6mypb6xrnl3xvsgrzss25bi2w51w1wylg6h";
+      name = "kwrited-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "systemsettings-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/5qb2ifxfz5dp4xl6a0kdxf3yp7rc2bh5-systemsettings-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/systemsettings-5.2.2.tar.xz";
+      sha256 = "09217sradvh5ygf0k4sx4j73c7bs4svljmswpsag3b27mhmcr4cz";
+      name = "systemsettings-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwayland-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/w5w35h0d8bcilmyi246ilfkn3wlzbvh7-kwayland-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kwayland-5.2.2.tar.xz";
+      sha256 = "1ywp5b7v5x1lvnz330fgv8ss6ba6jcc59r75x96g15cpxj4np997";
+      name = "kwayland-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khelpcenter-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/wlzijg52dxs70i3a3ah95jwxp3c3ir82-khelpcenter-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/khelpcenter-5.2.2.tar.xz";
+      sha256 = "0r1jwf3zyqhg3ixg64ankb9k8pb2cm9k2ykjxs6zkdxrmzqczd87";
+      name = "khelpcenter-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "bluedevil-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/b010icvzwl4m7pxcam4g75l5l68gni0r-bluedevil-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/bluedevil-5.2.2.tar.xz";
+      sha256 = "193jrrcqkz1v8dh6wmjipnnpcs17fawciy6q285ipxhas1ma93hs";
+      name = "bluedevil-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-cli-tools-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/5yc85mx30w54d25a8zivbw77s2vhlng8-kde-cli-tools-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kde-cli-tools-5.2.2.tar.xz";
+      sha256 = "0rx7xi5f4cx4y9kry56mjcqkk8sllw1rwv74hq81nyz6wlcq20zm";
+      name = "kde-cli-tools-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "plasma-desktop-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/k5fzvwdsv7s9na2a3rr2cxysh194rbmq-plasma-desktop-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/plasma-desktop-5.2.2.tar.xz";
+      sha256 = "04zid1d4qmw56210hricn2mf04pv28p2063lhax2z3wxynq0wjyl";
+      name = "plasma-desktop-5.2.2.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kde-gtk-config-5.2.2.tar.xz" ".tar";
+    store = "/nix/store/fimbgb9rhzcqmbzhspvdfkl818frpklf-kde-gtk-config-5.2.2.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.2.2/kde-gtk-config-5.2.2.tar.xz";
+      sha256 = "0hyhxm6crzrcdnf06aav4pg6dfvhag5lcxprhhm83cfcrxqi05qb";
+      name = "kde-gtk-config-5.2.2.tar.xz";
+    };
+  }
+]
diff --git a/pkgs/desktops/plasma-5.2/manifest.sh b/pkgs/desktops/plasma-5.2/manifest.sh
new file mode 100755
index 00000000000..ec5e9f5ac3e
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/manifest.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+if [ $# -eq 0 ]; then
+
+  # The extra slash at the end of the URL is necessary to stop wget
+  # from recursing over the whole server! (No, it's not a bug.)
+  $(nix-build ../../.. -A autonix.manifest) \
+      http://download.kde.org/stable/plasma/5.2.2/ \
+      -A '*.tar.xz'
+
+else
+
+  $(nix-build ../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
+
+fi
diff --git a/pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-hwclock.patch b/pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-hwclock.patch
new file mode 100644
index 00000000000..53bd43d38e2
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-hwclock.patch
@@ -0,0 +1,24 @@
+diff --git a/kcms/dateandtime/helper.cpp b/kcms/dateandtime/helper.cpp
+index cec5ab8..fc4a6b9 100644
+--- a/kcms/dateandtime/helper.cpp
++++ b/kcms/dateandtime/helper.cpp
+@@ -48,10 +48,6 @@
+ #include <sys/stat.h>
+ #endif
+ 
+-// We cannot rely on the $PATH environment variable, because D-Bus activation
+-// clears it. So we have to use a reasonable default.
+-static const QString exePath = QLatin1String("/usr/sbin:/usr/bin:/sbin:/bin");
+-
+ int ClockHelper::ntp( const QStringList& ntpServers, bool ntpEnabled )
+ {
+     int ret = 0;
+@@ -227,7 +223,7 @@ int ClockHelper::tzreset()
+ 
+ void ClockHelper::toHwclock()
+ {
+-    QString hwclock = KStandardDirs::findExe("hwclock", exePath);
++    QString hwclock = "@hwclock@";
+     if (!hwclock.isEmpty()) {
+         KProcess::execute(hwclock, QStringList() << "--systohc");
+     }
diff --git a/pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-zoneinfo.patch b/pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-zoneinfo.patch
new file mode 100644
index 00000000000..e924207054d
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/plasma-desktop/plasma-desktop-zoneinfo.patch
@@ -0,0 +1,18 @@
+diff --git a/kcms/dateandtime/helper.cpp b/kcms/dateandtime/helper.cpp
+index fc4a6b9..7b64d05 100644
+--- a/kcms/dateandtime/helper.cpp
++++ b/kcms/dateandtime/helper.cpp
+@@ -181,7 +181,12 @@ int ClockHelper::tz( const QString& selectedzone )
+ 
+     val = selectedzone;
+ #else
+-    QString tz = "/usr/share/zoneinfo/" + selectedzone;
++    // NixOS-specific path
++    QString tz = "/etc/zoneinfo/" + selectedzone;
++    if (!QFile::exists(tz)) {
++      // Standard Linux path
++      tz = "/usr/share/zoneinfo/" + selectedzone;
++    }
+ 
+     if (QFile::exists(tz)) { // make sure the new TZ really exists
+         QFile::remove("/etc/localtime");
diff --git a/pkgs/desktops/plasma-5.2/renames.nix b/pkgs/desktops/plasma-5.2/renames.nix
new file mode 100644
index 00000000000..5778a2bc819
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/renames.nix
@@ -0,0 +1,23 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+"Backend" = "powerdevil";
+"CTest" = "kdeplasma-addons";
+"ECM" = "extra-cmake-modules";
+"KDecoration2" = "kdecoration";
+"KF5Baloo" = "baloo";
+"KF5FileMetaData" = "kfilemetadata";
+"KF5ModemManagerQt" = "libmm-qt";
+"KF5Screen" = "libkscreen";
+"KF5SysGuard" = "libksysguard";
+"KF5Wayland" = "kwayland";
+"KF5XmlRpcClientPrivate" = "plasma-workspace";
+"KHotKeysDBusInterface" = "khotkeys";
+"KRunnerAppDBusInterface" = "plasma-workspace";
+"KSMServerDBusInterface" = "plasma-workspace";
+"KWinDBusInterface" = "kwin";
+"LibKWorkspace" = "plasma-workspace";
+"LibTaskManager" = "plasma-workspace";
+"OxygenFont" = "oxygen-fonts";
+"ScreenSaverDBusInterface" = "plasma-workspace";
+}
diff --git a/pkgs/desktops/plasma-5.2/setup-hook.sh b/pkgs/desktops/plasma-5.2/setup-hook.sh
new file mode 100644
index 00000000000..a8d9b7e0e36
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/setup-hook.sh
@@ -0,0 +1 @@
+addToSearchPath XDG_DATA_DIRS @out@/share
diff --git a/pkgs/desktops/plasma-5.2/startkde/default.nix b/pkgs/desktops/plasma-5.2/startkde/default.nix
new file mode 100644
index 00000000000..624c5d239d5
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/startkde/default.nix
@@ -0,0 +1,34 @@
+# We provide our own version of the startkde script in its entirety, rather than
+# patching the version provided by kde-workspace, because it requires such
+# extensive patching.
+
+{ stdenv, bash, dbus, gnused, gnugrep, kconfig, kinit, kservice, plasma-desktop
+, plasma-workspace, qt5, socat, xorg }:
+
+let startkde = ./startkde.in; in
+
+stdenv.mkDerivation {
+  name = "startkde-0.1";
+  phases = "installPhase";
+
+  inherit bash gnused gnugrep kconfig kinit kservice socat;
+  inherit (xorg) mkfontdir xmessage xprop xrdb xset xsetroot;
+  qt5tools = qt5.tools;
+  dbus_tools = dbus.tools;
+  plasmaWorkspace = plasma-workspace;
+  plasmaDesktop = plasma-desktop;
+  startupconfigkeys = ./startupconfigkeys;
+  kdeglobals = ./kdeglobals;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    substituteAll ${startkde} $out/bin/startkde
+    chmod +x $out/bin/startkde
+  '';
+
+  meta = {
+    description = "Custom startkde script for Nixpkgs";
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+    license = with stdenv.lib.licenses; [ gpl2Plus ];
+  };
+}
diff --git a/pkgs/desktops/plasma-5.2/startkde/kdeglobals b/pkgs/desktops/plasma-5.2/startkde/kdeglobals
new file mode 100644
index 00000000000..bfa610712ed
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/startkde/kdeglobals
@@ -0,0 +1,11 @@
+[General]
+XftAntialias=true
+XftHintStyle=hintmedium
+XftSubPixel=none
+desktopFont=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
+fixed=Oxygen Mono,9,-1,5,50,0,0,0,0,0
+font=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
+menuFont=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
+smallestReadableFont=Oxygen-Sans,8,-1,5,50,0,0,0,0,0
+taskbarFont=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
+toolBarFont=Oxygen-Sans,9,-1,5,50,0,0,0,0,0
\ No newline at end of file
diff --git a/pkgs/desktops/plasma-5.2/startkde/startkde.in b/pkgs/desktops/plasma-5.2/startkde/startkde.in
new file mode 100644
index 00000000000..0825a0733f4
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/startkde/startkde.in
@@ -0,0 +1,374 @@
+#!@bash@/bin/bash -x
+#
+#  NIXOS KDE STARTUP SCRIPT
+#
+
+# The KDE icon cache is supposed to update itself
+# automatically, but it uses the timestamp on the icon
+# theme directory as a trigger.  Since in Nix the
+# timestamp is always the same, this doesn't work.  So as
+# a workaround, nuke the icon cache on login.  This isn't
+# perfect, since it may require logging out after
+# installing new applications to update the cache.
+# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
+rm -fv $HOME/.cache/icon-cache.kcache
+
+# Qt writes a weird ‘libraryPath’ line to
+# ~/.config/Trolltech.conf that causes the KDE plugin
+# paths of previous KDE invocations to be searched.
+# Obviously using mismatching KDE libraries is potentially
+# disastrous, so here we nuke references to the Nix store
+# in Trolltech.conf.  A better solution would be to stop
+# Qt from doing this wackiness in the first place.
+if [ -e $HOME/.config/Trolltech.conf ]; then
+    @gnused@/bin/sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
+fi
+
+if test "x$1" = x--failsafe; then
+    KDE_FAILSAFE=1 # General failsafe flag
+    KWIN_COMPOSE=N # Disable KWin's compositing
+    export KWIN_COMPOSE KDE_FAILSAFE
+fi
+
+# When the X server dies we get a HUP signal from xinit. We must ignore it
+# because we still need to do some cleanup.
+trap 'echo GOT SIGHUP' HUP
+
+# we have to unset this for Darwin since it will screw up KDE's dynamic-loading
+unset DYLD_FORCE_FLAT_NAMESPACE
+
+# Check if a KDE session already is running and whether it's possible to connect to X
+@plasmaWorkspace@/bin/kcheckrunning
+kcheckrunning_result=$?
+if test $kcheckrunning_result -eq 0 ; then
+  @xmessage@/bin/xmessage -geometry 500x100 "KDE seems to be already running on this display."
+	exit 1
+elif test $kcheckrunning_result -eq 2 ; then
+	echo "\$DISPLAY is not set or cannot connect to the X server."
+  exit 1
+fi
+
+# Boot sequence:
+#
+# kdeinit is used to fork off processes which improves memory usage
+# and startup time.
+#
+# * kdeinit starts klauncher first.
+# * Then kded is started. kded is responsible for keeping the sycoca
+#   database up to date. When an up to date database is present it goes
+#   into the background and the startup continues.
+# * Then kdeinit starts kcminit. kcminit performs initialisation of
+#   certain devices according to the user's settings
+#
+# * Then ksmserver is started which takes control of the rest of the startup sequence
+
+# We need to create config folder so we can write startupconfigkeys
+configDir=$(@qt5tools@/bin/qtpaths --writable-path GenericConfigLocation)
+mkdir -p "$configDir"
+
+# This is basically setting defaults so we can use them with kstartupconfig5
+cat @startupconfigkeys@ >$configDir/startupconfigkeys
+
+# preload the user's locale on first start
+plasmalocalerc=$configDir/plasma-localerc
+test -f $plasmalocalerc || {
+cat >$plasmalocalerc <<EOF
+[Formats]
+LANG=$LANG
+EOF
+}
+
+# export LC_* variables set by kcmshell5 formats into environment
+# so it can be picked up by QLocale and friends.
+exportformatssettings=$configDir/plasma-locale-settings.sh
+[ -f $exportformatssettings ] && . $exportformatssettings
+
+# Write a default kdeglobals file to set up the font
+kdeglobalsfile=$configDir/kdeglobals
+[ -f $kdeglobalsfile ] || cat @kdeglobals@ >$kdeglobalsfile
+
+@plasmaWorkspace@/bin/kstartupconfig5
+returncode=$?
+if test $returncode -ne 0; then
+    @xmessage@/bin/xmessage -geometry 500x100 "kstartupconfig5 exited with $returncode"
+    exit 1
+fi
+[ -r $configDir/startupconfig ] && . $configDir/startupconfig
+
+XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | tr ":" "\n" | @gnused@/bin/sed 's,$,/icons,g' | tr "\n" ":")
+export XCURSOR_PATH
+
+# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
+if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
+
+    @plasmaDesktop@/bin/kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
+    if test $? -eq 10; then
+        XCURSOR_THEME=default
+        export XCURSOR_THEME
+    elif test -n "$kcminputrc_mouse_cursortheme"; then
+        XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
+        export XCURSOR_THEME
+    fi
+    if test -n "$kcminputrc_mouse_cursorsize"; then
+        XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
+        export XCURSOR_SIZE
+    fi
+fi
+
+# Set a left cursor instead of the standard X11 "X" cursor, since I've heard
+# from some users that they're confused and don't know what to do. This is
+# especially necessary on slow machines, where starting KDE takes one or two
+# minutes until anything appears on the screen.
+#
+# If the user has overwritten fonts, the cursor font may be different now
+# so don't move this up.
+#
+@xsetroot@/bin/xsetroot -cursor_name left_ptr
+
+dl=$DESKTOP_LOCKED
+unset DESKTOP_LOCKED # Don't want it in the environment
+
+# Make sure that D-Bus is running
+# D-Bus autolaunch is broken
+if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
+    eval `@dbus_tools@/bin/dbus-launch --sh-syntax --exit-with-session`
+fi
+if @qt5tools@/bin/qdbus >/dev/null 2>/dev/null; then
+    : # ok
+else
+    echo 'startkde: Could not start D-Bus. Can you call qdbus?'  1>&2
+    test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
+    @xmessage@/bin/xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?"
+    exit 1
+fi
+
+ksplash_pid=
+if test -z "$dl"; then
+  # the splashscreen and progress indicator
+  case "$ksplashrc_ksplash_engine" in
+    KSplashQML)
+      ksplash_pid=`@plasmaWorkspace@/bin/ksplashqml "${ksplashrc_ksplash_theme}" --pid`
+      ;;
+    None)
+      ;;
+    *)
+      ;;
+  esac
+fi
+
+# Source scripts found in <config locations>/plasma-workspace/env/*.sh
+# (where <config locations> correspond to the system and user's configuration
+# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
+# and /etc/xdg/ on Linux)
+#
+# This is where you can define environment variables that will be available to
+# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
+# or eval `gpg-agent --daemon`.
+# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
+#
+# (see end of this file).
+# For anything else (that doesn't set env vars, or that needs a window manager),
+# better use the Autostart folder.
+
+scriptpath=$(@qt5tools@/bin/qtpaths --paths GenericConfigLocation | tr ':' '\n' | @gnused@/bin/sed 's,$,/plasma-workspace,g')
+
+# Add /env/ to the directory to locate the scripts to be sourced
+for prefix in `echo $scriptpath`; do
+  for file in "$prefix"/env/*.sh; do
+    test -r "$file" && . "$file"
+  done
+done
+
+# Set the path for Qt plugins provided by KDE
+QT_PLUGIN_PATH=${QT_PLUGIN_PATH+$QT_PLUGIN_PATH:}`@qt5tools@/bin/qtpaths --plugin-dir`
+# TODO: Do we really need this?
+QT_PLUGIN_PATH=$QT_PLUGIN_PATH:$kdehome/lib/kde5/plugins/
+export QT_PLUGIN_PATH
+
+# Activate the kde font directories.
+#
+# There are 4 directories that may be used for supplying fonts for KDE.
+#
+# There are two system directories. These belong to the administrator.
+# There are two user directories, where the user may add her own fonts.
+#
+# The 'override' versions are for fonts that should come first in the list,
+# i.e. if you have a font in your 'override' directory, it will be used in
+# preference to any other.
+#
+# The preference order looks like this:
+# user override, system override, X, user, system
+#
+# Where X is the original font database that was set up before this script
+# runs.
+
+usr_odir=$HOME/.fonts/kde-override
+usr_fdir=$HOME/.fonts
+
+if test -n "$KDEDIRS"; then
+  kdedirs_first=`echo "$KDEDIRS" | @gnused@/bin/sed -e 's/:.*//'`
+  sys_odir=$kdedirs_first/share/fonts/override
+  sys_fdir=$kdedirs_first/share/fonts
+else
+  sys_odir=$KDEDIR/share/fonts/override
+  sys_fdir=$KDEDIR/share/fonts
+fi
+
+# We run mkfontdir on the user's font dirs (if we have permission) to pick
+# up any new fonts they may have installed. If mkfontdir fails, we still
+# add the user's dirs to the font path, as they might simply have been made
+# read-only by the administrator, for whatever reason.
+
+test -d "$sys_odir" && @xset@/bin/xset +fp "$sys_odir"
+test -d "$usr_odir" && ( @mkfontdir@/bin/mkfontdir "$usr_odir" ; @xset@/bin/xset +fp "$usr_odir" )
+test -d "$usr_fdir" && ( @mkfontdir@/bin/mkfontdir "$usr_fdir" ; @xset@/bin/xset fp+ "$usr_fdir" )
+test -d "$sys_fdir" && @xset@/bin/xset fp+ "$sys_fdir"
+
+# Ask X11 to rebuild its font list.
+@xset@/bin/xset fp rehash
+
+# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
+if test -n "$GS_LIB" ; then
+    GS_LIB=$usr_fdir:$GS_LIB
+    export GS_LIB
+else
+    GS_LIB=$usr_fdir
+    export GS_LIB
+fi
+
+echo 'startkde: Starting up...'  1>&2
+
+
+# Mark that full KDE session is running (e.g. Konqueror preloading works only
+# with full KDE running). The KDE_FULL_SESSION property can be detected by
+# any X client connected to the same X session, even if not launched
+# directly from the KDE session but e.g. using "ssh -X", kdesu. $KDE_FULL_SESSION
+# however guarantees that the application is launched in the same environment
+# like the KDE session and that e.g. KDE utilities/libraries are available.
+# KDE_FULL_SESSION property is also only available since KDE 3.5.5.
+# The matching tests are:
+#   For $KDE_FULL_SESSION:
+#     if test -n "$KDE_FULL_SESSION"; then ... whatever
+#   For KDE_FULL_SESSION property:
+#     xprop -root | grep "^KDE_FULL_SESSION" >/dev/null 2>/dev/null
+#     if test $? -eq 0; then ... whatever
+#
+# Additionally there is (since KDE 3.5.7) $KDE_SESSION_UID with the uid
+# of the user running the KDE session. It should be rarely needed (e.g.
+# after sudo to prevent desktop-wide functionality in the new user's kded).
+#
+# Since KDE4 there is also KDE_SESSION_VERSION, containing the major version number.
+# Note that this didn't exist in KDE3, which can be detected by its absense and
+# the presence of KDE_FULL_SESSION.
+#
+KDE_FULL_SESSION=true
+export KDE_FULL_SESSION
+@xprop@/bin/xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
+
+KDE_SESSION_VERSION=5
+export KDE_SESSION_VERSION
+@xprop@/bin/xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
+
+KDE_SESSION_UID=`id -ru`
+export KDE_SESSION_UID
+
+XDG_CURRENT_DESKTOP=KDE
+export XDG_CURRENT_DESKTOP
+
+# At this point all the environment is ready, let's send it to kwalletd if running
+if test -n "$PAM_KWALLET_LOGIN" ; then
+    env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
+fi
+
+# At this point all environment variables are set, let's send it to the DBus
+# session server to update the activation environment
+@plasmaWorkspace@/lib/libexec/ksyncdbusenv
+if test $? -ne 0; then
+  # Startup error
+  echo 'startkde: Could not sync environment to dbus.'  1>&2
+  test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
+  @xmessage@/bin/xmessage -geometry 500x100 "Could not sync environment to dbus."
+  exit 1
+fi
+
+# We set LD_BIND_NOW to increase the efficiency of kdeinit.
+# kdeinit unsets this variable before loading applications.
+LD_BIND_NOW=true @kinit@/lib/libexec/kf5/start_kdeinit_wrapper --kded +kcminit_startup
+if test $? -ne 0; then
+  # Startup error
+  echo 'startkde: Could not start kdeinit5.'  1>&2
+  test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
+  @xmessage@/bin/xmessage -geometry 500x100 "Could not start kdeinit5."
+  exit 1
+fi
+
+# (NixOS) We run kbuildsycoca5 before starting the user session because things
+# may be missing or moved if they have run nixos-rebuild and it may not be
+# possible for them to start Konsole to run it manually!
+@kservice@/bin/kbuildsycoca5
+
+# finally, give the session control to the session manager
+# see kdebase/ksmserver for the description of the rest of the startup sequence
+# if the KDEWM environment variable has been set, then it will be used as KDE's
+# window manager instead of kwin.
+# if KDEWM is not set, ksmserver will ensure kwin is started.
+# kwrapper5 is used to reduce startup time and memory usage
+# kwrapper5 does not return useful error codes such as the exit code of ksmserver.
+# We only check for 255 which means that the ksmserver process could not be
+# started, any problems thereafter, e.g. ksmserver failing to initialize,
+# will remain undetected.
+test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM"
+# If the session should be locked from the start (locked autologin),
+# lock now and do the rest of the KDE startup underneath the locker.
+KSMSERVEROPTIONS=""
+test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen"
+@kinit@/bin/kwrapper5 @plasmaWorkspace@/bin/ksmserver $KDEWM $KSMSERVEROPTIONS
+if test $? -eq 255; then
+  # Startup error
+  echo 'startkde: Could not start ksmserver.'  1>&2
+  test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
+  @xmessage@/bin/xmessage -geometry 500x100 "Could not start ksmserver."
+fi
+
+wait_drkonqi=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
+
+if test x"$wait_drkonqi"x = x"true"x ; then
+    # wait for remaining drkonqi instances with timeout (in seconds)
+    wait_drkonqi_timeout=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
+    wait_drkonqi_counter=0
+    while @qt5tools@/bin/qdbus | @gnugrep@/bin/grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
+        sleep 5
+        wait_drkonqi_counter=$((wait_drkonqi_counter+5))
+        if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
+            # ask remaining drkonqis to die in a graceful way
+            @qt5tools@/bin/qdbus | @gnugrep@/bin/grep 'org.kde.drkonqi-' | while read address ; do
+                @qt5tools@/bin/qdbus "$address" "/MainApplication" "quit"
+            done
+            break
+        fi
+    done
+fi
+
+echo 'startkde: Shutting down...'  1>&2
+# just in case
+test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
+
+# Clean up
+@kinit@/bin/kdeinit5_shutdown
+
+echo 'startkde: Running shutdown scripts...'  1>&2
+
+# Run scripts found in <config locations>/plasma-workspace/shutdown
+for prefix in `echo "$scriptpath"`; do
+  for file in `ls "$prefix"/shutdown 2> /dev/null | @gnugrep@/bin/egrep -v '(~|\.bak)$'`; do
+    test -x "$prefix$file" && "$prefix$file"
+  done
+done
+
+unset KDE_FULL_SESSION
+@xprop@/bin/xprop -root -remove KDE_FULL_SESSION
+unset KDE_SESSION_VERSION
+@xprop@/bin/xprop -root -remove KDE_SESSION_VERSION
+unset KDE_SESSION_UID
+
+echo 'startkde: Done.'  1>&2
diff --git a/pkgs/desktops/plasma-5.2/startkde/startupconfigkeys b/pkgs/desktops/plasma-5.2/startkde/startupconfigkeys
new file mode 100644
index 00000000000..0fc92cff8a5
--- /dev/null
+++ b/pkgs/desktops/plasma-5.2/startkde/startupconfigkeys
@@ -0,0 +1,5 @@
+kcminputrc Mouse cursorTheme 'breeze_cursors'
+kcminputrc Mouse cursorSize ''
+ksplashrc KSplash Theme Breeze
+ksplashrc KSplash Engine KSplashQML
+kcmfonts General forceFontDPI 0
diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix
index 1e1ef0cf846..4d6ac29f53d 100644
--- a/pkgs/desktops/xfce/applications/mousepad.nix
+++ b/pkgs/desktops/xfce/applications/mousepad.nix
@@ -1,29 +1,31 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4
-, gtk, gtksourceview, dbus, dbus_glib }:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util
+, gtk, gtksourceview, dbus, dbus_glib, makeWrapper }:
 
 stdenv.mkDerivation rec {
   p_name  = "mousepad";
-  ver_maj = "0.3";
+  ver_maj = "0.4";
   ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh";
+    sha256 = "60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   buildInputs =
-    [ pkgconfig intltool libxfce4util libxfcegui4
-      gtk gtksourceview dbus dbus_glib
+    [ pkgconfig intltool libxfce4util
+      gtk gtksourceview dbus dbus_glib makeWrapper
     ];
 
-  # Propagate gtksourceview into $XDG_DATA_DIRS to provide syntax
-  # highlighting (in fact Mousepad segfaults without it).
-  propagatedUserEnvPkgs = [ gtksourceview ];
+  preFixup = ''
+    wrapProgram "$out/bin/mousepad" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share"
+  '';
 
   meta = {
     homepage = http://www.xfce.org/;
     description = "A simple text editor for Xfce";
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/applications/ristretto.nix b/pkgs/desktops/xfce/applications/ristretto.nix
index 64e3c34453e..b38b97b9043 100644
--- a/pkgs/desktops/xfce/applications/ristretto.nix
+++ b/pkgs/desktops/xfce/applications/ristretto.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, libexif, gtk
-, exo, dbus_glib, libxfce4util, libxfce4ui, xfconf }:
+, exo, dbus_glib, libxfce4util, libxfce4ui, xfconf
+, hicolor_icon_theme, makeWrapper
+}:
 
 stdenv.mkDerivation rec {
   p_name  = "ristretto";
@@ -14,9 +16,13 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig intltool libexif gtk dbus_glib exo libxfce4util
-      libxfce4ui xfconf
+      libxfce4ui xfconf hicolor_icon_theme makeWrapper
     ];
-  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  postInstall = ''
+    wrapProgram "$out/bin/ristretto" \
+      --prefix XDG_DATA_DIRS : "${hicolor_icon_theme}/share"
+  '';
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
index 2b0f729c0a3..78c37771811 100644
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
@@ -1,5 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gstreamer, gst_plugins_base, gtk
-, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique?null }:
+{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper
+, glib, gstreamer, gst_plugins_base, gtk
+, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique ? null
+, pulseaudioSupport ? false, gst_plugins_good
+}:
 
 let
   # The usual Gstreamer plugins package has a zillion dependencies
@@ -7,6 +10,10 @@ let
   gst_plugins_minimal = gst_plugins_base.override {
     minimalDeps = true;
   };
+  gst_plugins_pulse = gst_plugins_good.override {
+    minimalDeps = true;
+  };
+  gst_plugins = [ gst_plugins_minimal ] ++ stdenv.lib.optional pulseaudioSupport gst_plugins_pulse;
 
 in
 
@@ -22,16 +29,18 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   buildInputs =
-    [ pkgconfig intltool glib gstreamer gst_plugins_minimal gtk
-      libxfce4util libxfce4ui xfce4panel xfconf libunique
-    ];
+    [ pkgconfig intltool glib gstreamer gtk
+      libxfce4util libxfce4ui xfce4panel xfconf libunique makeWrapper
+    ] ++ gst_plugins;
 
   postInstall =
     ''
-      mkdir -p $out/nix-support
-      echo ${gst_plugins_minimal} > $out/nix-support/propagated-user-env-packages
+      wrapProgram "$out/bin/xfce4-mixer" \
+        --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
     '';
 
+  passthru = { inherit gst_plugins; };
+
   meta = {
     homepage = http://www.xfce.org/projects/xfce4-mixer; # referenced but inactive
     description = "A volume control application for the Xfce desktop environment";
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
index df743e4cc9c..1063cfca090 100644
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-taskmanager";
-  ver_maj = "1.0";
-  ver_min = "1";
+  ver_maj = "1.1";
+  ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "11pfiglfg3mzsmpiwva6l7dj44zsv76vyf0282pghwcrvnb2gapm";
+    sha256 = "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
new file mode 100644
index 00000000000..087ba0f2c81
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, pulseaudio
+, gtk2, libnotify
+, keybinder, xfconf
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.2.0";
+  name = "xfce4-volumed-pulse-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/xfce4-volumed-pulse/trunk/${version}/+download/${name}.tar.bz2";
+    sha256 = "0l75gl96skm0zn10w70mwvsjd12p1zjshvn7yc3439dz61506c39";
+  };
+
+  buildInputs =
+    [ pulseaudio gtk2
+      keybinder xfconf libnotify
+    ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = https://launchpad.net/xfce4-volumed-pulse;
+    description = "A volume keys control daemon for the Xfce desktop environment (Xubuntu fork)";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.abbradar ];
+  };
+}
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed.nix b/pkgs/desktops/xfce/applications/xfce4-volumed.nix
new file mode 100644
index 00000000000..b603229e938
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, makeWrapper
+, gstreamer, gtk2, gst_plugins_base, libnotify
+, keybinder, xfconf
+}:
+
+let
+  # The usual Gstreamer plugins package has a zillion dependencies
+  # that we don't need for a simple mixer, so build a minimal package.
+  gst_plugins_minimal = gst_plugins_base.override {
+    minimalDeps = true;
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-volumed";
+  ver_maj = "0.1";
+  ver_min = "13";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1aa0a1sbf9yzi7bc78kw044m0xzg1li3y4w9kf20wqv5kfjs7v2c";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs =
+    [ gstreamer gst_plugins_minimal gtk2
+      keybinder xfconf libnotify
+    ];
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+
+  postInstall =
+    ''
+      wrapProgram "$out/bin/xfce4-volumed" \
+        --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.xfce.org/projects/xfce4-volumed; # referenced but inactive
+    description = "A volume keys control daemon for the Xfce desktop environment";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.abbradar ];
+  };
+}
diff --git a/pkgs/desktops/xfce/core/exo.nix b/pkgs/desktops/xfce/core/exo.nix
index 694db49f589..e4c7c318352 100644
--- a/pkgs/desktops/xfce/core/exo.nix
+++ b/pkgs/desktops/xfce/core/exo.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   p_name  = "exo";
   ver_maj = "0.10";
-  ver_min = "2";
+  ver_min = "4";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1kknxiz703q4snmry65ajm26jwjslbgpzdal6bd090m3z25q51dk";
+    sha256 = "cced5fdbc0b61a5d976210ff71ecdd81b89fcd15e5860a44f50da7b83fb2deaa";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.xfce.org/projects/${p_name}";
     description = "Application library for the Xfce desktop environment";
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix
index 44f5a95224e..8f8cfff76cd 100644
--- a/pkgs/desktops/xfce/core/garcon.nix
+++ b/pkgs/desktops/xfce/core/garcon.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }:
 
 stdenv.mkDerivation rec {
   p_name  = "garcon";
-  ver_maj = "0.2";
-  ver_min = "1";
+  ver_maj = "0.4";
+  ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1xq14wayk07cil04yhrdkjhacz9dbldcl9i59sbrgrgznaw49dj8";
+    sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ pkgconfig intltool glib libxfce4util ];
+  buildInputs = [ pkgconfig intltool glib libxfce4util gtk libxfce4ui ];
 
   meta = {
     homepage = http://www.xfce.org/;
     description = "Xfce menu support library";
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
index 360e4a0a250..b66faf2390b 100644
--- a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
+++ b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, enableGtk3Support ? false, gtk3 }:
+{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
 
 stdenv.mkDerivation rec {
   p_name  = "gtk-xfce-engine";
-  ver_maj = "3.0";
+  ver_maj = "2.10";
   ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0vd0ly81540f9133abza56mlqqx1swp0j70ll8kf948sva0wy0zb";
+    sha256 = "4a92910205881f707f2cc8d3c9b00a95feb58eb9084d932c841f3ed027f7063d";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  #TODO: gtk3
-  buildInputs = [ pkgconfig intltool gtk ] ++ stdenv.lib.optional enableGtk3Support gtk3;
+  buildInputs = [ pkgconfig intltool gtk ];
 
   meta = {
     homepage = http://www.xfce.org/;
diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix
index cb2975d8214..be4ca5d17c0 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "libxfce4ui";
-  ver_maj = "4.10";
-  ver_min = "0";
+  ver_maj = "4.12";
+  ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2";
+    sha256 = "3d619811bfbe7478bb984c16543d980cadd08586365a7bc25e59e3ca6384ff43";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.xfce.org/;
     description = "Basic GUI library for Xfce";
     license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix
index 8483aec7a46..6893d7cfb20 100644
--- a/pkgs/desktops/xfce/core/libxfce4util.nix
+++ b/pkgs/desktops/xfce/core/libxfce4util.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "libxfce4util";
-  ver_maj = "4.10";
+  ver_maj = "4.12";
   ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1fygyq9dywa989z1vb3d8hj4fg5ai75lcrngnf2s60jwf6nx2b78";
+    sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.xfce.org/;
     description = "Basic utility non-GUI functions for Xfce";
     license = "bsd";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/core/thunar-volman.nix b/pkgs/desktops/xfce/core/thunar-volman.nix
index 5ce88921fa8..b53ee4c45c5 100644
--- a/pkgs/desktops/xfce/core/thunar-volman.nix
+++ b/pkgs/desktops/xfce/core/thunar-volman.nix
@@ -4,13 +4,14 @@
 stdenv.mkDerivation rec {
   p_name  = "thunar-volman";
   ver_maj = "0.8";
-  ver_min = "0";
+  ver_min = "1";
+  name = "${p_name}-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z";
+    sha256 = "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s";
   };
-  name = "${p_name}-${ver_maj}.${ver_min}";
+
 
   buildInputs =
     [ pkgconfig intltool exo gtk udev libxfce4ui libxfce4util
diff --git a/pkgs/desktops/xfce/core/thunar.nix b/pkgs/desktops/xfce/core/thunar.nix
index fdf4211f099..abcfd656c50 100644
--- a/pkgs/desktops/xfce/core/thunar.nix
+++ b/pkgs/desktops/xfce/core/thunar.nix
@@ -6,11 +6,11 @@
 stdenv.mkDerivation rec {
   p_name  = "thunar";
   ver_maj = "1.6";
-  ver_min = "3";
+  ver_min = "6";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2";
-    sha256 = "17api7nc3h93k2mzrfmw6ygc0fqmg78ja0qbkzd9rhhsi3v0c9ws";
+    sha256 = "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix
index fab6152c99a..1fc895ea412 100644
--- a/pkgs/desktops/xfce/core/tumbler.nix
+++ b/pkgs/desktops/xfce/core/tumbler.nix
@@ -4,11 +4,11 @@ libgsf, poppler, bzip2 }:
 stdenv.mkDerivation rec {
   p_name  = "tumbler";
   ver_maj = "0.1";
-  ver_min = "30";
+  ver_min = "31";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "013kacqyy1vya7kp6jgc1almp3cbbvq96a3r7f5myiihr1whvhp7";
+    sha256 = "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/pkgs/desktops/xfce/core/xfce4-appfinder.nix
index 01848d66696..25bd04f9ec4 100644
--- a/pkgs/desktops/xfce/core/xfce4-appfinder.nix
+++ b/pkgs/desktops/xfce/core/xfce4-appfinder.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-appfinder";
-  ver_maj = "4.10";
-  ver_min = "1";
+  ver_maj = "4.12";
+  ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0xzbi1vvy724s7vljf4153h7s7zqqwg51bn9wirx4d33lzzp9vk5";
+    sha256 = "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
index 671f57faeb3..5541011a501 100644
--- a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-dev-tools";
-  ver_maj = "4.10";
+  ver_maj = "4.12";
   ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1y1byfjciqhxqfxbjfp22bn5lxk3a01ng7zfjha8h5mzzfxlk5pp";
+    sha256 = "1jxmyp80pwbfgmqmwpjxs7z5dmm6pyf3qj62z20xy44izraadqz2";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix
index e654b2f7dfb..5a8cc9dc0e5 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
-, libwnck, exo, garcon, xfconf, libstartup_notification }:
+, libwnck, exo, garcon, xfconf, libstartup_notification
+, makeWrapper, xfce4mixer }:
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-panel";
-  ver_maj = "4.10";
-  ver_min = "1";
+  ver_maj = "4.12";
+  ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1mkmhhmy70izja6d6di65hay9ybqi8615pwjbx0lgqk53gnm4c2p";
+    sha256 = "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -17,10 +18,15 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig intltool gtk libxfce4util exo libwnck
-      garcon xfconf libstartup_notification
-    ];
+      garcon xfconf libstartup_notification makeWrapper
+    ] ++ xfce4mixer.gst_plugins;
   propagatedBuildInputs = [ libxfce4ui ];
 
+  postInstall = ''
+    wrapProgram "$out/bin/xfce4-panel" \
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
+  '';
+
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
index 81a0aebb75c..c75eb787757 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-power-manager";
-  ver_maj = "1.3";
-  ver_min = "0";
+  ver_maj = "1.4";
+  ver_min = "3";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1q0mnj9hjqw4zpk7wqnfayy6zzbjbhzd1mcplfjik2h753gaxgh5";
+    sha256 = "04909sfc2nrj2wg9cw6y9y2r9yrp3l3vc201sy1gaiap67fi33h1";
   };
 
   name = "${p_name}-${ver_maj}.${ver_min}";
diff --git a/pkgs/desktops/xfce/core/xfce4-session-systemd.patch b/pkgs/desktops/xfce/core/xfce4-session-systemd.patch
deleted file mode 100644
index 7780491a8ed..00000000000
--- a/pkgs/desktops/xfce/core/xfce4-session-systemd.patch
+++ /dev/null
@@ -1,470 +0,0 @@
-From ae28aef315a7a6b90f1649ce6d1f30b842791cbf Mon Sep 17 00:00:00 2001
-From: Nick Schermer <nick@xfce.org>
-Date: Sun, 04 Nov 2012 20:23:36 +0000
-Subject: Add shutdown/reboot functionality for systemd (bug #8729).
-
-Based on patch by Christian Hesse and Evangelos Foutras.
----
-diff --git a/configure.in.in b/configure.in.in
-index 9aa4f8f..134d0f7 100644
---- a/configure.in
-+++ b/configure.in
-@@ -96,6 +96,10 @@ XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.1.0])
- XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.84])
- XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0])
- 
-+dnl Check for polkit / systemd integration
-+XDT_CHECK_OPTIONAL_PACKAGE([SYSTEMD], [polkit-gobject-1], [0.100],
-+                           [systemd], [Systemd support (through polit)])
-+
- dnl Check for debugging support
- XDT_FEATURE_DEBUG([xfsm_debug_default])
- 
-diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am
-index c015154..f748b2b 100644
---- a/xfce4-session/Makefile.am
-+++ b/xfce4-session/Makefile.am
-@@ -38,8 +38,6 @@ xfce4_session_SOURCES =							\
- 	xfsm-compat-gnome.h						\
- 	xfsm-compat-kde.c						\
- 	xfsm-compat-kde.h						\
--	xfsm-consolekit.c						\
--	xfsm-consolekit.h						\
- 	xfsm-dns.c							\
- 	xfsm-dns.h							\
- 	xfsm-error.c							\
-@@ -65,6 +63,16 @@ xfce4_session_SOURCES =							\
- 	xfsm-upower.c							\
- 	xfsm-upower.h
- 
-+if HAVE_SYSTEMD
-+xfce4_session_SOURCES +=						\
-+	xfsm-systemd.c							\
-+	xfsm-systemd.h
-+else
-+xfce4_session_SOURCES +=						\
-+	xfsm-consolekit.c						\
-+	xfsm-consolekit.h
-+endif
-+
- xfce4_session_CFLAGS =							\
- 	$(LIBSM_CFLAGS)							\
- 	$(LIBX11_CFLAGS)						\
-@@ -72,6 +80,7 @@ xfce4_session_CFLAGS =							\
- 	$(DBUS_CFLAGS)							\
- 	$(DBUS_GLIB_CFLAGS)						\
- 	$(LIBWNCK_CFLAGS)						\
-+	$(SYSTEMD_CFLAGS)						\
- 	$(XFCONF_CFLAGS)						\
- 	$(GMODULE_CFLAGS)						\
- 	$(PLATFORM_CFLAGS)
-@@ -91,6 +100,7 @@ xfce4_session_LDADD =							\
- 	$(DBUS_LIBS)							\
- 	$(DBUS_GLIB_LIBS)						\
- 	$(LIBWNCK_LIBS)							\
-+	$(SYSTEMD_LIBS)							\
- 	$(XFCONF_LIBS)							\
- 	-lm
- 
-diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c
-index d8757a8..4c483a7 100644
---- a/xfce4-session/xfsm-shutdown.c
-+++ b/xfce4-session/xfsm-shutdown.c
-@@ -66,10 +66,13 @@
- #include <xfce4-session/xfsm-fadeout.h>
- #include <xfce4-session/xfsm-global.h>
- #include <xfce4-session/xfsm-legacy.h>
--#include <xfce4-session/xfsm-consolekit.h>
- #include <xfce4-session/xfsm-upower.h>
- 
--
-+#ifdef HAVE_SYSTEMD
-+#include <xfce4-session/xfsm-systemd.h>
-+#else
-+#include <xfce4-session/xfsm-consolekit.h>
-+#endif
- 
- static void xfsm_shutdown_finalize  (GObject      *object);
- static void xfsm_shutdown_sudo_free (XfsmShutdown *shutdown);
-@@ -93,7 +96,11 @@ struct _XfsmShutdown
- {
-   GObject __parent__;
- 
-+#ifdef HAVE_SYSTEMD
-+  XfsmSystemd    *systemd;
-+#else
-   XfsmConsolekit *consolekit;
-+#endif
-   XfsmUPower     *upower;
- 
-   /* kiosk settings */
-@@ -131,7 +138,11 @@ xfsm_shutdown_init (XfsmShutdown *shutdown)
- {
-   XfceKiosk *kiosk;
- 
-+#ifdef HAVE_SYSTEMD
-+  shutdown->systemd = xfsm_systemd_get ();
-+#else
-   shutdown->consolekit = xfsm_consolekit_get ();
-+#endif
-   shutdown->upower = xfsm_upower_get ();
-   shutdown->helper_state = SUDO_NOT_INITIAZED;
-   shutdown->helper_require_password = FALSE;
-@@ -150,7 +161,11 @@ xfsm_shutdown_finalize (GObject *object)
- {
-   XfsmShutdown *shutdown = XFSM_SHUTDOWN (object);
- 
-+#ifdef HAVE_SYSTEMD
-+  g_object_unref (G_OBJECT (shutdown->systemd));
-+#else
-   g_object_unref (G_OBJECT (shutdown->consolekit));
-+#endif
-   g_object_unref (G_OBJECT (shutdown->upower));
- 
-   /* close down helper */
-@@ -641,7 +656,11 @@ xfsm_shutdown_try_restart (XfsmShutdown  *shutdown,
-   if (shutdown->helper_state == SUDO_AVAILABLE)
-     return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_RESTART, error);
-   else
-+#ifdef HAVE_SYSTEMD
-+    return xfsm_systemd_try_restart (shutdown->systemd, error);
-+#else
-     return xfsm_consolekit_try_restart (shutdown->consolekit, error);
-+#endif
- }
- 
- 
-@@ -658,7 +677,11 @@ xfsm_shutdown_try_shutdown (XfsmShutdown  *shutdown,
-   if (shutdown->helper_state == SUDO_AVAILABLE)
-     return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SHUTDOWN, error);
-   else
-+#ifdef HAVE_SYSTEMD
-+    return xfsm_systemd_try_shutdown (shutdown->systemd, error);
-+#else
-     return xfsm_consolekit_try_shutdown (shutdown->consolekit, error);
-+#endif
- }
- 
- 
-@@ -698,7 +721,11 @@ xfsm_shutdown_can_restart (XfsmShutdown  *shutdown,
-       return TRUE;
-     }
- 
-+#ifdef HAVE_SYSTEMD
-+  if (xfsm_systemd_can_restart (shutdown->systemd, can_restart, error))
-+#else
-   if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error))
-+#endif
-     return TRUE;
- 
-   if (xfsm_shutdown_sudo_init (shutdown, error))
-@@ -725,7 +752,11 @@ xfsm_shutdown_can_shutdown (XfsmShutdown  *shutdown,
-       return TRUE;
-     }
- 
-+#ifdef HAVE_SYSTEMD
-+  if (xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error))
-+#else
-   if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error))
-+#endif
-     return TRUE;
- 
-   if (xfsm_shutdown_sudo_init (shutdown, error))
-diff --git a/xfce4-session/xfsm-systemd.c b/xfce4-session/xfsm-systemd.c
-new file mode 100644
-index 0000000..7bdd39d
---- /dev/null
-+++ b/xfce4-session/xfsm-systemd.c
-@@ -0,0 +1,229 @@
-+/*-
-+ * Copyright (C) 2012 Christian Hesse
-+ *
-+ * 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 2, 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.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-+ * MA 02110-1301 USA.
-+ */
-+
-+#include <config.h>
-+
-+#include <gio/gio.h>
-+#include <polkit/polkit.h>
-+#include <dbus/dbus-glib.h>
-+#include <dbus/dbus-glib-lowlevel.h>
-+
-+#include <xfce4-session/xfsm-systemd.h>
-+
-+
-+
-+#define SYSTEMD_DBUS_NAME               "org.freedesktop.login1"
-+#define SYSTEMD_DBUS_PATH               "/org/freedesktop/login1"
-+#define SYSTEMD_DBUS_INTERFACE          "org.freedesktop.login1.Manager"
-+#define SYSTEMD_REBOOT_ACTION           "Reboot"
-+#define SYSTEMD_POWEROFF_ACTION         "PowerOff"
-+#define SYSTEMD_REBOOT_TEST             "org.freedesktop.login1.reboot"
-+#define SYSTEMD_POWEROFF_TEST           "org.freedesktop.login1.power-off"
-+
-+
-+
-+static void     xfsm_systemd_finalize     (GObject         *object);
-+
-+
-+
-+struct _XfsmSystemdClass
-+{
-+  GObjectClass __parent__;
-+};
-+
-+struct _XfsmSystemd
-+{
-+  GObject __parent__;
-+
-+  PolkitAuthority *authority;
-+  PolkitSubject   *subject;
-+};
-+
-+
-+
-+G_DEFINE_TYPE (XfsmSystemd, xfsm_systemd, G_TYPE_OBJECT)
-+
-+
-+
-+static void
-+xfsm_systemd_class_init (XfsmSystemdClass *klass)
-+{
-+  GObjectClass *gobject_class;
-+
-+  gobject_class = G_OBJECT_CLASS (klass);
-+  gobject_class->finalize = xfsm_systemd_finalize;
-+}
-+
-+
-+
-+static void
-+xfsm_systemd_init (XfsmSystemd *systemd)
-+{
-+  systemd->authority = polkit_authority_get_sync (NULL, NULL);
-+  systemd->subject = polkit_unix_process_new (getpid());
-+}
-+
-+
-+
-+static void
-+xfsm_systemd_finalize (GObject *object)
-+{
-+  XfsmSystemd *systemd = XFSM_SYSTEMD (object);
-+
-+  g_object_unref (G_OBJECT (systemd->authority));
-+  g_object_unref (G_OBJECT (systemd->subject));
-+
-+  (*G_OBJECT_CLASS (xfsm_systemd_parent_class)->finalize) (object);
-+}
-+
-+
-+static gboolean
-+xfsm_systemd_can_method (XfsmSystemd  *systemd,
-+                         gboolean     *can_method,
-+                         const gchar  *method,
-+                         GError      **error)
-+{
-+  PolkitAuthorizationResult *res;
-+  GError                    *local_error = NULL;
-+
-+  *can_method = FALSE;
-+
-+  res = polkit_authority_check_authorization_sync (systemd->authority,
-+                                                   systemd->subject,
-+                                                   method,
-+                                                   NULL,
-+                                                   POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE,
-+                                                   NULL,
-+                                                   &local_error);
-+
-+  if (res == NULL)
-+    {
-+      g_propagate_error (error, local_error);
-+      return FALSE;
-+    }
-+
-+  *can_method = polkit_authorization_result_get_is_authorized (res)
-+                || polkit_authorization_result_get_is_challenge (res);
-+
-+  g_object_unref (G_OBJECT (res));
-+
-+  return TRUE;
-+}
-+
-+
-+
-+static gboolean
-+xfsm_systemd_try_method (XfsmSystemd  *systemd,
-+                         const gchar  *method,
-+                         GError      **error)
-+{
-+  GDBusConnection *bus;
-+  GError          *local_error = NULL;
-+
-+  bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, error);
-+  if (G_UNLIKELY (bus == NULL))
-+    return FALSE;
-+
-+  g_dbus_connection_call_sync (bus,
-+                               SYSTEMD_DBUS_NAME,
-+                               SYSTEMD_DBUS_PATH,
-+                               SYSTEMD_DBUS_INTERFACE,
-+                               method,
-+                               g_variant_new ("(b)", TRUE),
-+                               NULL, 0, G_MAXINT, NULL,
-+                               &local_error);
-+
-+  g_object_unref (G_OBJECT (bus));
-+
-+  if (local_error != NULL)
-+    {
-+      g_propagate_error (error, local_error);
-+      return FALSE;
-+    }
-+
-+  return TRUE;
-+}
-+
-+
-+
-+XfsmSystemd *
-+xfsm_systemd_get (void)
-+{
-+  static XfsmSystemd *object = NULL;
-+
-+  if (G_LIKELY (object != NULL))
-+    {
-+      g_object_ref (G_OBJECT (object));
-+    }
-+  else
-+    {
-+      object = g_object_new (XFSM_TYPE_SYSTEMD, NULL);
-+      g_object_add_weak_pointer (G_OBJECT (object), (gpointer) &object);
-+    }
-+
-+  return object;
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_try_restart (XfsmSystemd  *systemd,
-+                          GError      **error)
-+{
-+  return xfsm_systemd_try_method (systemd,
-+                                  SYSTEMD_REBOOT_ACTION,
-+                                  error);
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_try_shutdown (XfsmSystemd  *systemd,
-+                           GError      **error)
-+{
-+  return xfsm_systemd_try_method (systemd,
-+                                  SYSTEMD_POWEROFF_ACTION,
-+                                  error);
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_can_restart (XfsmSystemd  *systemd,
-+                          gboolean     *can_restart,
-+                          GError      **error)
-+{
-+  return xfsm_systemd_can_method (systemd,
-+                                  can_restart,
-+                                  SYSTEMD_REBOOT_TEST,
-+                                  error);
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_can_shutdown (XfsmSystemd  *systemd,
-+                           gboolean     *can_shutdown,
-+                           GError      **error)
-+{
-+  return xfsm_systemd_can_method (systemd,
-+                                  can_shutdown,
-+                                  SYSTEMD_POWEROFF_TEST,
-+                                  error);
-+}
-diff --git a/xfce4-session/xfsm-systemd.h b/xfce4-session/xfsm-systemd.h
-new file mode 100644
-index 0000000..8223622
---- /dev/null
-+++ b/xfce4-session/xfsm-systemd.h
-@@ -0,0 +1,55 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
-+ *
-+ * Copyright (C) 2012 Christian Hesse
-+ *
-+ * Licensed under the GNU General Public License Version 2
-+ *
-+ * 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 2 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.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+ */
-+
-+#ifndef __XFSM_SYSTEMD_H__
-+#define __XFSM_SYSTEMD_H__
-+
-+typedef struct _XfsmSystemdClass XfsmSystemdClass;
-+typedef struct _XfsmSystemd      XfsmSystemd;
-+
-+#define XFSM_TYPE_SYSTEMD            (xfsm_systemd_get_type ())
-+#define XFSM_SYSTEMD(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFSM_TYPE_SYSTEMD, XfsmSystemd))
-+#define XFSM_SYSTEMD_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), XFSM_TYPE_SYSTEMD, XfsmSystemdClass))
-+#define XFSM_IS_SYSTEMD(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFSM_TYPE_SYSTEMD))
-+#define XFSM_IS_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFSM_TYPE_SYSTEMD))
-+#define XFSM_SYSTEMD_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), XFSM_TYPE_SYSTEMD, XfsmSystemdClass))
-+
-+GType           xfsm_systemd_get_type     (void) G_GNUC_CONST;
-+
-+XfsmSystemd *xfsm_systemd_get          (void);
-+
-+gboolean     xfsm_systemd_try_restart  (XfsmSystemd  *systemd,
-+                                        GError      **error);
-+
-+gboolean     xfsm_systemd_try_shutdown (XfsmSystemd  *systemd,
-+                                        GError      **error);
-+
-+gboolean     xfsm_systemd_can_restart  (XfsmSystemd  *systemd,
-+                                        gboolean     *can_restart,
-+                                        GError      **error);
-+
-+gboolean     xfsm_systemd_can_shutdown (XfsmSystemd  *systemd,
-+                                        gboolean     *can_shutdown,
-+                                        GError      **error);
-+
-+G_END_DECLS
-+
-+#endif  /* __XFSM_SYSTEMD_H__ */
---
-cgit v0.9.1
diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix
index d965c296490..7599826e8f0 100644
--- a/pkgs/desktops/xfce/core/xfce4-session.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui, xfce4panel
-, libwnck, dbus_glib, xfconf, libglade, xorg
-, polkit }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, polkit
+, libxfce4util, libxfce4ui, xfce4panel, libwnck, dbus_glib, xfconf, libglade, xorg
+}:
 
 #TODO: gnome stuff: gconf (assistive?), keyring
 
 stdenv.mkDerivation rec {
   p_name  = "xfce4-session";
-  ver_maj = "4.10";
+  ver_maj = "4.12";
   ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "10zwki7v55a325abr57wczcb5g7ml99cqk1p8ls8qycqqfyzlm01";
+    sha256 = "97d7f2a2d0af7f3623b68d1f04091e02913b28f9555dab8b0d26c8a1299d08fd";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch b/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
index 51ac265dcb1..2683b3c3dfd 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
+++ b/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
@@ -1,12 +1,11 @@
-diff -ru -x '*~' xfce4-settings-4.10.1/xfsettingsd/xsettings.xml xfce4-settings-4.10.1-new/xfsettingsd/xsettings.xml
---- xfce4-settings-4.10.1/xfsettingsd/xsettings.xml	2013-05-05 18:12:54.000000000 +0200
-+++ xfce4-settings-4.10.1-new/xfsettingsd/xsettings.xml	2013-08-15 15:57:48.538586286 +0200
+--- a/xfsettingsd/xsettings.xml       2015-02-28 22:32:02.681796319 +0100
++++ b/xfsettingsd/xsettings.xml       2015-02-28 22:32:27.881214735 +0100
 @@ -7,7 +7,7 @@
  <channel name="xsettings" version="1.0">
    <property name="Net" type="empty">
      <property name="ThemeName" type="empty"/>
 -    <property name="IconThemeName" type="empty"/>
 +    <property name="IconThemeName" type="string" value="Rodent"/>
-     <property name="DoubleClickTime" type="int" value="250"/>
+     <property name="DoubleClickTime" type="int" value="400"/>
      <property name="DoubleClickDistance" type="int" value="5"/>
-     <property name="DndDragThreshold" type="int" value="8"/>
+     <property name="DndDragThreshold" type="int" value="8"/>
\ No newline at end of file
diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix
index ee5ae15fca1..4c2de64561d 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
-, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon }:
+, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon, upower }:
 
 #TODO: optional packages
 stdenv.mkDerivation rec {
   p_name  = "xfce4-settings";
-  ver_maj = "4.10";
-  ver_min = "1";
+  ver_maj = "4.12";
+  ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1m8k9s7qihwkkbjrrkmk103a6iwahxdfq65aswrsbqshx9cnk2hi";
+    sha256 = "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4";
   };
 
   name = "${p_name}-${ver_maj}.${ver_min}";
@@ -17,10 +17,8 @@ stdenv.mkDerivation rec {
   patches = [ ./xfce4-settings-default-icon-theme.patch ];
 
   buildInputs =
-    [ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade
+    [ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade upower
       xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon
-      #gtk libxfce4util libxfcegui4 libwnck dbus_glib
-      #xfconf libglade xorg.iceauth
     ];
 
   configureFlags = "--enable-pluggable-dialogs --enable-sound-settings";
diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix
index 9ed2be4a740..f12f96895cd 100644
--- a/pkgs/desktops/xfce/core/xfconf.nix
+++ b/pkgs/desktops/xfce/core/xfconf.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfconf";
-  ver_maj = "4.10";
+  ver_maj = "4.12";
   ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp";
+    sha256 = "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://docs.xfce.org/xfce/xfconf/start;
     description = "Simple client-server configuration storage and query system for Xfce";
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix
index 697ff2bfb8a..45a89b93748 100644
--- a/pkgs/desktops/xfce/core/xfdesktop.nix
+++ b/pkgs/desktops/xfce/core/xfdesktop.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfdesktop";
-  ver_maj = "4.10";
-  ver_min = "2";
+  ver_maj = "4.12";
+  ver_min = "0";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0zbrvfj4fxnjz593brxjsjy9pv5bbf12jnbydy4pwc1ya6zf19j9";
+    sha256 = "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix
index 4b190889c85..cedf36d43ae 100644
--- a/pkgs/desktops/xfce/core/xfwm4.nix
+++ b/pkgs/desktops/xfce/core/xfwm4.nix
@@ -3,16 +3,15 @@
 
 stdenv.mkDerivation rec {
   p_name  = "xfwm4";
-  ver_maj = "4.10";
-  ver_min = "1";
+  ver_maj = "4.12";
+  ver_min = "2";
 
   src = fetchurl {
     url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0h57gwjs3j5f8ly0gmhl620338fg4qvlzs8gpqs9wxzblvxl831q";
+    sha256 = "5bb5f72b41060d10bd3823f8b69abcd462bbd8853fdf9c82041450ae68e7d75a";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  #TODO: kde systray, docs
   buildInputs =
     [ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf
       libwnck libstartup_notification
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 2d449b3fe30..459158a136a 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -1,4 +1,6 @@
-{ pkgs, newScope }: let
+{ config, pkgs, newScope }:
+
+let
 
 callPackage = newScope (deps // xfce_self);
 
@@ -44,22 +46,44 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   parole          = callPackage ./applications/parole.nix { };
   ristretto       = callPackage ./applications/ristretto.nix { };
   terminal        = xfce4terminal; # it has changed its name
-  xfce4mixer      = callPackage ./applications/xfce4-mixer.nix { };
+  xfce4mixer      = callPackage ./applications/xfce4-mixer.nix {
+    pulseaudioSupport = config.pulseaudio or false;
+  };
   xfce4notifyd    = callPackage ./applications/xfce4-notifyd.nix { };
   xfce4taskmanager= callPackage ./applications/xfce4-taskmanager.nix { };
   xfce4terminal   = callPackage ./applications/terminal.nix { };
   xfce4screenshooter   = callPackage ./applications/xfce4-screenshooter.nix { };
+  xfce4volumed    = let
+    gst = callPackage ./applications/xfce4-volumed.nix { };
+    pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
+  in if config.pulseaudio or false then pulse else gst;
 
   #### ART                  from "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"
 
   xfce4icontheme  = callPackage ./art/xfce4-icon-theme.nix { };
 
-  #### PANEL PLUGINS        from "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"
+  #### PANEL PLUGINS        from "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.{bz2,gz}"
 
-  xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
+
+  xfce4_battery_plugin    = callPackage ./panel-plugins/xfce4-battery-plugin.nix    { };
+  xfce4_clipman_plugin    = callPackage ./panel-plugins/xfce4-clipman-plugin.nix    { };
   xfce4_cpufreq_plugin    = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix    { };
-  xfce4_xkb_plugin        = callPackage ./panel-plugins/xfce4-xkb-plugin.nix        { };
+  xfce4_cpugraph_plugin   = callPackage ./panel-plugins/xfce4-cpugraph-plugin.nix   { };
   xfce4_datetime_plugin   = callPackage ./panel-plugins/xfce4-datetime-plugin.nix   { };
+  xfce4_dict_plugin       = callPackage ./panel-plugins/xfce4-dict-plugin.nix       { };
+  xfce4_embed_plugin      = callPackage ./panel-plugins/xfce4-embed-plugin.nix      { };
+  xfce4_eyes_plugin       = callPackage ./panel-plugins/xfce4-eyes-plugin.nix       { };
+  xfce4_fsguard_plugin    = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix    { };
+  xfce4_genmon_plugin     = callPackage ./panel-plugins/xfce4-genmon-plugin.nix     { };
+
+  xfce4_netload_plugin    = callPackage ./panel-plugins/xfce4-netload-plugin.nix    { };
+  xfce4_notes_plugin      = callPackage ./panel-plugins/xfce4-notes-plugin.nix      { };
+  xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
+  xfce4_verve_plugin      = callPackage ./panel-plugins/xfce4-verve-plugin.nix      { };
+  xfce4_xkb_plugin        = callPackage ./panel-plugins/xfce4-xkb-plugin.nix        { };
+
+
+
 
 }; # xfce_self
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
new file mode 100644
index 00000000000..3438791cd78
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-battery-plugin";
+  ver_maj = "1.0";
+  ver_min = "5";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Battery plugin for Xfce panel";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
new file mode 100644
index 00000000000..4e173370428
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-clipman-plugin";
+  ver_maj = "1.2";
+  ver_min = "6";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "19a8gwcqc0r5qqi8w28dc8arqip34m8yxdb87lgps9g5qfcky113";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Clipboard manager for Xfce panel";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
index 18d043c51fd..072da2bc576 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   p_name  = "xfce4-cpufreq-plugin";
-  ver_maj = "1.0";
-  ver_min = "0";
+  ver_maj = "1.1";
+  ver_min = "1";
 
   src = fetchurl {
     url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0q2lj8a25iq9w3dynh6qvsmh19y1v7i82g46yza6gvw7fjcrmcz1";
+    sha256 = "1ryaynkxpqpp92pj18bdds869sf560ir1k3bgl8gqnz60z04ak27";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -17,6 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "CPU Freq load plugin for Xfce panel";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
new file mode 100644
index 00000000000..7aca910b8a8
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4panel, libxfce4ui, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-cpugraph-plugin";
+  ver_maj = "1.0";
+  ver_min = "5";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1izl53q95m5xm2fiq7385vb1i9nwgjizxkmgpgh33zdckb40xnl5";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4panel xfconf gtk ];
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "CPU graph show for Xfce panel";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
index 267a8b77ff1..4ca19d73449 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, xfce4panel
 , gtk }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   p_name  = "xfce4-datetime-plugin";
   ver_maj = "0.6";
-  ver_min = "1";
+  ver_min = "2";
 
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "06xvh22y5y0bcy7zb9ylvjpcl09wdyb751r7gwyg7m3h44f0qd7v";
+    sha256 = "0b4yril07qgkmywjym1qp12r4g35bnh96879zbjps7cd3rkxld4p";
   };
 
   buildInputs = [ pkgconfig intltool libxfce4util libxfcegui4 xfce4panel gtk ];
@@ -18,6 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
new file mode 100644
index 00000000000..3be77ab77ca
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-dict-plugin";
+  ver_maj = "0.3";
+  ver_min = "0";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.gz";
+    sha256 = "1x0imfnsdfq7fbhka8bc0yjjspkcljc1jafhrwzb08qi9bk2wbar";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Dictionary plugin for Xfce panel";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+    broken = true; # see http://goodies.xfce.org/projects/panel-plugins/xfce4-dict-plugin
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix
new file mode 100644
index 00000000000..0acf503abe7
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-embed-plugin";
+  ver_maj = "1.4";
+  ver_min = "1";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "0s0zlg7nvjaqvma4l8bhxk171yjrpncsz6v0ff1cxl3z6ya6hbxq";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Embed arbitrary app windows on Xfce panel";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
new file mode 100644
index 00000000000..29b23767eb0
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-eyes-plugin";
+  ver_maj = "4.4";
+  ver_min = "3";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "0z4161i14m73i515ymhj34c1ycz5fmjmbczdd8plx3nvrxdk76jb";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Eyes following you!";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
new file mode 100644
index 00000000000..539f1332004
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-fsguard-plugin";
+  ver_maj = "1.0";
+  ver_min = "1";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1dxa6gpw4a07ixccafd9fnk38r4fax4bhll73fchpv39jzh7xyzz";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Filesystem monitor";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
new file mode 100644
index 00000000000..8b6552e4e6c
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-genmon-plugin";
+  ver_maj = "3.4";
+  ver_min = "0";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "11q3g6lmgz3d5lyh6614mxkd9cblfdyf9jgki7f26mn895xk79dh";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Cyclically spawns a command and captures its output";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
new file mode 100644
index 00000000000..710ca70b021
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-netload-plugin";
+  ver_maj = "1.2";
+  ver_min = "4";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1lrhhzxmybcfl52hnadr2dvasis9wmk6a48pcy02s09ch8cfkb7z";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Battery plugin for Xfce panel";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
new file mode 100644
index 00000000000..eba05af69c0
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk, libunique }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-notes-plugin";
+  ver_maj = "1.7";
+  ver_min = "7";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "05sjbwgch1j93m3r23ksbjnpfk11sf7xjmbb9pm5vl3snc2s3fm7";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk libunique ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Sticky notes plugin for Xfce panel";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+    broken = true;
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
index dda5dc89def..200e3ccb071 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, gtk}:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   p_name  = "xfce4-systemload-plugin";
   ver_maj = "1.1";
-  ver_min = "1";
+  ver_min = "2";
 
   src = fetchurl {
     url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1bnrr30h6kgb37ixcq7frx2gvj2p99bpa1jyzppwjxp5x7xkxh8s";
+    sha256 = "0z4as6sxdz93d4jpgv0665dg4sykfvc5068mc689phlfl2rvcsdl";
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -16,6 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "System load plugin for Xfce panel";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
new file mode 100644
index 00000000000..603a68cc5f6
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, pcre
+, libxfce4util, xfce4panel, libxfce4ui, xfconf, gtk }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  p_name  = "xfce4-verve-plugin";
+  ver_maj = "1.0";
+  ver_min = "1";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1y4vvk3nk1haq39xw0gzscsnnj059am1p3acgq9mj0miyiz8971v";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  buildInputs = [ pkgconfig intltool glib exo pcre libxfce4util libxfce4ui xfce4panel xfconf gtk ];
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "A command-line plugin";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
index 37962a20562..b9bd520f001 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
@@ -2,6 +2,7 @@
 , gtk, libxklavier, librsvg, libwnck
 }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   p_name  = "xfce4-xkb-plugin";
   ver_maj = "0.5";
@@ -20,6 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Allows you to setup and use multiple keyboard layouts";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix
index f1be290b190..a751076537a 100644
--- a/pkgs/development/arduino/arduino-core/default.nix
+++ b/pkgs/development/arduino/arduino-core/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, jdk, jre, ant, coreutils, gnugrep }:
+{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep, file, libusb
+, withGui ? false, gtk2 ? null
+}:
+
+assert withGui -> gtk2 != null;
 
 stdenv.mkDerivation rec {
 
-  version = "1.0.2";
-  name = "arduino-core";
+  version = "1.0.6";
+  name = "arduino${stdenv.lib.optionalString (withGui == false) "-core"}";
 
-  src = fetchurl {
-    url = "http://arduino.googlecode.com/files/arduino-${version}-src.tar.gz";
-    sha256 = "0nszl2hdjjgxk87gyk0xi0ww9grbq83hch3iqmpaf9yp4y9bra0x";
+  src = fetchFromGitHub {
+    owner = "arduino";
+    repo = "Arduino";
+    rev = "${version}";
+    sha256 = "0nr5b719qi03rcmx6swbhccv6kihxz3b8b6y46bc2j348rja5332";
   };
 
-  buildInputs = [ jdk ant ];
-
-  phases = "unpackPhase patchPhase buildPhase installPhase";
-
-  patchPhase = ''
-  #
-  '';
+  buildInputs = [ jdk ant file ];
 
   buildPhase = ''
     cd ./core && ant 
@@ -26,17 +26,39 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/share/arduino
-    cp -r ./build/linux/work/hardware/ $out/share/arduino
-    cp -r ./build/linux/work/libraries/ $out/share/arduino
-    cp -r ./build/linux/work/tools/ $out/share/arduino
-    cp -r ./build/linux/work/lib/ $out/share/arduino
+    cp -r ./build/linux/work/* "$out/share/arduino/"
     echo ${version} > $out/share/arduino/lib/version.txt
+
+    ${stdenv.lib.optionalString withGui ''
+      mkdir -p "$out/bin"
+      sed -i -e "s|^java|${jdk}/bin/java|" "$out/share/arduino/arduino"
+      sed -i -e "s|^LD_LIBRARY_PATH=|LD_LIBRARY_PATH=${gtk2}/lib:|" "$out/share/arduino/arduino"
+      ln -sr "$out/share/arduino/arduino" "$out/bin/arduino"
+    ''}
+
+    # Fixup "/lib64/ld-linux-x86-64.so.2" like references in ELF executables.
+    echo "running patchelf on prebuilt binaries:"
+    find "$out" | while read filepath; do
+        if file "$filepath" | grep -q "ELF.*executable"; then
+            # skip target firmware files
+            if echo "$filepath" | grep -q "\.elf$"; then
+                continue
+            fi
+            echo "setting interpreter $(cat "$NIX_CC"/nix-support/dynamic-linker) in $filepath"
+            patchelf --set-interpreter "$(cat "$NIX_CC"/nix-support/dynamic-linker)" "$filepath"
+            test $? -eq 0 || { echo "patchelf failed to process $filepath"; exit 1; }
+        fi
+    done
+
+    patchelf --set-rpath ${stdenv.lib.makeSearchPath "lib" [ libusb ]} \
+        "$out/share/arduino/hardware/tools/avrdude"
   '';
 
-  meta = {
-    description = "Arduino libraries";
+  meta = with stdenv.lib; {
+    description = "Open-source electronics prototyping platform";
     homepage = http://arduino.cc/;
-    license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.antono ];
+    license = stdenv.lib.licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ antono robberer bjornfor ];
   }; 
 }
diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix
index 484de02f05d..47c7c68c1ab 100644
--- a/pkgs/development/arduino/ino/default.nix
+++ b/pkgs/development/arduino/ino/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, buildPythonPackage, pythonPackages, minicom
-, avrdude, arduino_core, avrgcclibc }:
+{ stdenv, fetchurl, buildPythonPackage, pythonPackages, picocom
+, avrdude, arduino-core, avrgcclibc }:
 
 buildPythonPackage rec {
   name = "ino-0.3.6";
@@ -12,12 +12,12 @@ buildPythonPackage rec {
 
   # TODO: add avrgcclibc, it must be rebuild with C++ support
   propagatedBuildInputs =
-    [ arduino_core avrdude minicom pythonPackages.configobj
+    [ arduino-core avrdude picocom pythonPackages.configobj
       pythonPackages.jinja2 pythonPackages.pyserial pythonPackages.six ];
 
   patchPhase = ''
     echo "Patching Arduino distribution path"
-    sed -i 's@/usr/local/share/arduino@${arduino_core}/share/arduino@g' \
+    sed -i 's@/usr/local/share/arduino@${arduino-core}/share/arduino@g' \
         ino/environment.py
     sed -i -e 's@argparse@@' -e 's@ordereddict@@' \
         requirements.txt
diff --git a/pkgs/development/compilers/agda/default.nix b/pkgs/development/compilers/agda/default.nix
index 6705419add9..573f7c6b890 100644
--- a/pkgs/development/compilers/agda/default.nix
+++ b/pkgs/development/compilers/agda/default.nix
@@ -1,15 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, alex, binary, boxes, dataHash, deepseq, emacs, equivalence
-, filepath, geniplate, happy, hashable, hashtables, haskeline
-, haskellSrcExts, mtl, parallel, QuickCheck, STMonadTrans, strict
-, text, time, transformers, unorderedContainers, xhtml, zlib
+{ cabal, alex, binary, boxes, cpphs, dataHash, deepseq, emacs
+, equivalence, filepath, geniplate, happy, hashable, hashtables
+, haskeline, haskellSrcExts, mtl, parallel, QuickCheck
+, STMonadTrans, strict, text, time, transformers
+, unorderedContainers, xhtml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "Agda";
-  version = "2.4.0.2";
-  sha256 = "13c4ipscnlnbv94k93yajrp32mwzikqa8rhc95h8pmqzhjgwyh8b";
+  version = "2.4.2.2";
+  sha256 = "1hxvapnvlkx6imifswc70ng869zll0zfsygivhc2mjyhaiv10i13";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -18,7 +19,9 @@ cabal.mkDerivation (self: {
     QuickCheck STMonadTrans strict text time transformers
     unorderedContainers xhtml zlib
   ];
-  buildTools = [ alex emacs happy ];
+  buildTools = [ alex cpphs emacs happy ];
+  noHaddock = true;
+  jailbreak = true;
   postInstall = ''
     $out/bin/agda -c --no-main $(find $out/share -name Primitive.agda)
     $out/bin/agda-mode compile
@@ -28,5 +31,6 @@ cabal.mkDerivation (self: {
     description = "A dependently typed functional programming language and proof assistant";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix
deleted file mode 100644
index 913ae5cd90f..00000000000
--- a/pkgs/development/compilers/agda/stdlib.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ cabal, fetchurl, filemanip, Agda }:
-
-cabal.mkDerivation (self: rec {
-  pname = "Agda-stdlib";
-  version = "0.8";
-
-  src = fetchurl {
-    url = "https://github.com/agda/agda-stdlib/archive/v${version}.tar.gz";
-    sha256 = "03gdcy2gar46qlmd6w91y05cm1x304ig6bda90ryww9qn05kif78";
-  };
-
-  buildDepends = [ filemanip Agda ];
-
-  preConfigure = "cd ffi";
-
-  postInstall = ''
-      mkdir -p $out/share
-      cd ..
-      ${self.ghc.ghc}/bin/runhaskell GenerateEverything
-      ${Agda}/bin/agda -i . -i src Everything.agda
-      cp -pR src $out/share/agda
-  '';
-
-  meta = {
-    homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
-    description = "A standard library for use with the Agda compiler.";
-    license = "unknown";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
-  };
-})
\ No newline at end of file
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
index ddf16bc2219..1c915fb5a1d 100644
--- a/pkgs/development/compilers/aldor/default.nix
+++ b/pkgs/development/compilers/aldor/default.nix
@@ -1,5 +1,5 @@
 { fetchgit, stdenv, gmp, which, flex, bison, makeWrapper
-, autoconf, automake, libtool, openjdk, perl }:
+, autoconf, automake, libtool, jdk, perl }:
 
 stdenv.mkDerivation {
   name = "aldor-1.2.0";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ gmp which flex bison makeWrapper autoconf automake libtool
-                  openjdk perl ];
+                  jdk perl ];
 
   preConfigure = ''
     cd aldor ;
@@ -22,8 +22,8 @@ stdenv.mkDerivation {
     for prog in aldor unicl javagen ;
     do
       wrapProgram $out/bin/$prog --set ALDORROOT $out \
-        --prefix PATH : ${openjdk}/bin \
-        --prefix PATH : ${stdenv.gcc}/bin ;
+        --prefix PATH : ${jdk}/bin \
+        --prefix PATH : ${stdenv.cc}/bin ;
     done
   '';
 
diff --git a/pkgs/development/compilers/aliceml/builder.sh b/pkgs/development/compilers/aliceml/builder.sh
deleted file mode 100644
index e1f5d1b2bed..00000000000
--- a/pkgs/development/compilers/aliceml/builder.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-source $stdenv/setup
-
-export CXXFLAGS="-m32"
-
-tar zxvf "$gecodeSrc"
-cd gecode-1.3.1
-./configure --prefix="$out" --disable-minimodel --disable-examples
-make
-make install
-cd ..
-
-PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"$out"/lib/pkgconfig
-
-tar zxvf "$seamSrc"
-cd seam-1.4
-./configure --prefix="$out" --with-zlib=$zlib
-make
-make install
-cd ..
-
-PATH=$PATH:"$out"/bin
-
-tar zxvf "$aliceSrc"
-cd alice-1.4
-sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/alicerun.in
-sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/aliceremote
-./configure --prefix="$out" --with-gmp=$gmp
-make
-make install
-cd ..
-
-tar zxvf "$aliceGecodeSrc"
-cd alice-gecode-1.4
-make compiledll MUST_GENERATE=no
-make installdll MUST_GENERATE=no
-cd ..
-
-tar zxvf "$aliceRegexSrc"
-cd alice-regex-1.4
-make compiledll MUST_GENERATE=no
-make installdll MUST_GENERATE=no
-cd ..
-
-tar zxvf "$aliceSqliteSrc"
-cd alice-sqlite-1.4
-make compiledll MUST_GENERATE=no
-make installdll MUST_GENERATE=no
-cd ..
-
-tar zxvf "$aliceXmlSrc"
-cd alice-xml-1.4
-make compiledll MUST_GENERATE=no
-make installdll MUST_GENERATE=no
-cd ..
-
-tar zxvf "$aliceGtkSrc"
-cd alice-gtk-1.4
-sed -i -e 's/PRIVATE_GTK_LEAVE_PENDING/PRIVATE_GTK_HAS_POINTER/g' NativeGtk.cc
-sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' myinstall
-make compiledll MUST_GENERATE=no
-make installdll MUST_GENERATE=no
-cd ..
-
-tar zxvf "$aliceRuntimeSrc"
-cd alice-runtime-1.4
-./configure --prefix="$out"
-make
-make install
-cd ..
-
-
diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix
index 29e95863921..5059cdf2158 100644
--- a/pkgs/development/compilers/aliceml/default.nix
+++ b/pkgs/development/compilers/aliceml/default.nix
@@ -1,46 +1,13 @@
-{stdenv, fetchurl, pkgsi686Linux, libtool, gnumake381, autoconf, automake111x, file, which, zsh, m4, pkgconfig, perl}:
+{stdenv, gcc, glibc, fetchurl, fetchgit, libtool, autoconf, automake, file, gnumake, which, zsh, m4, pkgconfig, perl, gnome, pango, sqlite, libxml2, zlib, gmp, smlnj }:
 
 stdenv.mkDerivation {
-  name = "aliceml-1.4";
+  name = "aliceml-1.4-493cd356";
 
-  aliceSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-1.4.tar.gz;
-    sha256 = "1ay8r26g7xm9zlrlpigp6y1zmrl93hzkndb5phx7651wx8j2183r";
-  };
-
-  aliceGecodeSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gecode-1.4.tar.gz;
-    sha256 = "0yklpsqnm3wwzfz4vvv69dmm7q7pzpl3z7iw7wg33klng85cidl6";
-  };
-
-  aliceGtkSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gtk-1.4.tar.gz;
-    sha256 = "0zx4ks0pk5wgbcsflcmn0kbpa9j7pjbsc19d1s3jgp4rwb24m1an";
-  };
-
-  aliceRegexSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-regex-1.4.tar.gz;
-    sha256 = "0myjzh3295awamghs4c88ypaa41m8sxh5jys876yq6flslw41s02";
-  };
-
-  aliceRuntimeSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-runtime-1.4.tar.gz;
-    sha256 = "1cbca71vh16l2h0zjvhgzzs0rzq99nc8nx9a97yzw595355nq57f";
-  };
-
-  aliceSqliteSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-sqlite-1.4.tar.gz;
-    sha256 = "0554xbx8zgqmpb7x06d7xvhlbk7bxmc237khgjs6yjcy53yf366b";
-  };
-
-  aliceXmlSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-xml-1.4.tar.gz;
-    sha256 = "058a815a0vajjvjlsmd4ryx2bc71q6zwvyjg2c0v1gba2v3pddm0";
-  };
-
-  seamSrc = fetchurl {
-    url = http://www.ps.uni-saarland.de/alice/download/sources/seam-1.4.tar.gz;
-    sha256 = "1iz98jdv914whaw426d5406shlqgxqwpy3fbyb472x7d3lfra2dz";
+  src = fetchgit {
+    url = "https://github.com/aliceml/aliceml";
+    rev = "493cd3565f0bc3b35790185ec358fb91b7b43037";
+    sha256 = "12fbaf0a474e53f40a71f16bf61c52b7ffe044f4d0993e208e69552df3054d45";
+    fetchSubmodules = true;
   };
 
   gecodeSrc = fetchurl {
@@ -48,19 +15,32 @@ stdenv.mkDerivation {
     sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355";
   };
 
-  zlib = pkgsi686Linux.zlib;
-  gmp = pkgsi686Linux.gmp;
-
-
   buildInputs = [
-    stdenv pkgsi686Linux.gcc34 pkgsi686Linux.glibc 
-    libtool gnumake381 autoconf automake111x pkgsi686Linux.zlib
-    file which zsh pkgsi686Linux.gmp m4 pkgsi686Linux.gnome.gtk
-    pkgsi686Linux.gnome.libgnomecanvas pkgsi686Linux.pango pkgsi686Linux.sqlite
-    pkgsi686Linux.libxml2 pkgsi686Linux.lightning pkgconfig perl
+    stdenv gcc glibc
+    libtool gnumake autoconf automake
+    file which zsh m4 gnome.gtk zlib gmp
+    gnome.libgnomecanvas pango sqlite
+    libxml2 pkgconfig perl smlnj
   ];
- 
-  builder = ./builder.sh;
+
+  makePatch = ./make.patch;
+  seamPatch = ./seam.patch;
+
+  phases = [ "unpackPhase" "patchPhase" "configurePhase" "buildPhase" ];
+
+  patchPhase = ''
+    sed -i -e "s@wget ..GECODE_URL. -O - | tar xz@tar xf $gecodeSrc@" make/Makefile
+    patch -p1 <$makePatch
+    patch -p1 <$seamPatch
+  '';
+
+  configurePhase = ''
+    make -C make setup PREFIX="$out"
+  '';
+
+  buildPhase = ''
+    gmp="${gmp}" zlib="${zlib}" PATH=$PATH:`pwd`/seam-support/install/bin make -C make all PREFIX="$out"
+  '';
 
   meta = {
     description = "Functional programming language based on Standard ML";
@@ -70,6 +50,7 @@ stdenv.mkDerivation {
       programming.
     '';
     homepage = http://www.ps.uni-saarland.de/alice/;
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.doublec ];
   };
 }
diff --git a/pkgs/development/compilers/aliceml/make.patch b/pkgs/development/compilers/aliceml/make.patch
new file mode 100644
index 00000000000..78e2b28974e
--- /dev/null
+++ b/pkgs/development/compilers/aliceml/make.patch
@@ -0,0 +1,20 @@
+diff --git a/Makefile b/Makefile
+index 6a55b06..84a6000 100644
+--- a/make/Makefile
++++ b/make/Makefile
+@@ -387,6 +387,7 @@ configure-seam-linux64:
+ 	 ../sources/configure \
+ 		--prefix='$(PREFIX)' \
+ 		--with-warnings=yes \
++		--with-zlib='$(zlib)' \
+ 		--disable-lightning)
+ 
+ .PHONY: configure-seam-darwin64
+@@ -434,6 +435,7 @@ configure-alice-ll-linux:
+ 	(cd $(PWD)/alice/build && \
+ 	 ../sources/vm-seam/configure \
+ 		--prefix='$(PREFIX)' \
++		--with-gmp='$(gmp)' \
+ 		--with-warnings=yes)
+ 
+ .PHONY:	rebuild-alice-ll
diff --git a/pkgs/development/compilers/aliceml/seam.patch b/pkgs/development/compilers/aliceml/seam.patch
new file mode 100644
index 00000000000..d489037fef4
--- /dev/null
+++ b/pkgs/development/compilers/aliceml/seam.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.cvs b/Makefile.cvs
+index b59434a..cd1316f 100644
+--- a/seam/sources/Makefile.cvs
++++ b/seam/sources/Makefile.cvs
+@@ -32,7 +32,7 @@ autotools:
+ 	aclocal -I .
+ 	autoconf
+ 	automake --add-missing
+-	cd libltdl; aclocal; autoconf; automake --add-missing
++	cd libltdl; chmod +w *; aclocal; autoconf; automake --add-missing
+ 
+ lightning:
+ 	rm -rf lightning
diff --git a/pkgs/development/compilers/ats/default.nix b/pkgs/development/compilers/ats/default.nix
index 6f15c0599ef..002f34daa13 100644
--- a/pkgs/development/compilers/ats/default.nix
+++ b/pkgs/development/compilers/ats/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "ats-${version}";
-  version = "0.2.11";
+  version = "0.2.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/ats-lang/ats-lang-anairiats-${version}.tgz";
-    sha256 = "0rqykyx5whichx85jr4l4c9fdan0qsdd4kwd7a81k3l07zbd9fc6";
+    sha256 = "0l2kj1fzhxwsklwmn5yj2vp9rmw4jg0b18bzwqz72bfi8i39736k";
   };
 
   # this is necessary because atxt files usually include some .hats files
@@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
     description = "Functional programming language with dependent types";
     homepage    = "http://www.ats-lang.org";
     license     = stdenv.lib.licenses.gpl3Plus;
-    platforms   = stdenv.lib.platforms.unix;
+    # TODO: it looks like ATS requires gcc specifically. Someone with more knowledge
+    # will need to experiment.
+    platforms   = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index c66143fe1f3..43ac75271be 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "ats2-${version}";
-  version = "0.1.1";
+  version = "0.1.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "17yr5zc4cr4zlizhzy43ihfcidl63wjxcc002amzahskib4fsbmb";
+    sha256 = "0zcki97zj9r1dvlfriwfckp9b9z7iavw09q21v6i5ld90hw9588q";
   };
 
   buildInputs = [ gmp ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Functional programming language with dependent types";
     homepage    = "http://www.ats-lang.org";
     license     = stdenv.lib.licenses.gpl3Plus;
-    platforms   = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix
index 8564175d363..3599ff750c2 100644
--- a/pkgs/development/compilers/bigloo/default.nix
+++ b/pkgs/development/compilers/bigloo/default.nix
@@ -1,23 +1,25 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, gmp }:
 
 stdenv.mkDerivation rec {
   name = "bigloo-${version}";
-  version = "3.7a";
+  version = "4.1a-2";
 
   src = fetchurl {
     url = "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo${version}.tar.gz";
-    sha256 = "0y8i87c2bpqzap8rhzgpyfgdzq21py5xq6mgp0w6xv4rjcj9d0v1";
+    sha256 = "09yrz8r0jpj7bda39fdxzrrdyhi851nlfajsyf0b6jxanz6ygcjx";
   };
 
+  propagatedBuildInputs = [ gmp ];
+
   preConfigure =
     # Help libgc's configure.
-    '' export CXXCPP="g++ -E"
+    '' export CXXCPP="$CXX -E"
     '';
 
   patchPhase = ''
     # Fix absolute paths.
     sed -e 's=/bin/mv=mv=g' -e 's=/bin/rm=rm=g'			\
-        -e 's=/tmp=$TMPDIR=g' -i configure autoconf/*		\
+        -e 's=/tmp=$TMPDIR=g' -i autoconf/*		\
 	[Mm]akefile*   */[Mm]akefile*   */*/[Mm]akefile*	\
 	*/*/*/[Mm]akefile*   */*/*/*/[Mm]akefile*		\
 	comptime/Cc/cc.scm gc/install-*
@@ -32,6 +34,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Efficient Scheme compiler";
+    homepage    = http://www-sop.inria.fr/indes/fp/Bigloo/;
+    license     = stdenv.lib.licenses.gpl2Plus;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
 
     longDescription = ''
       Bigloo is a Scheme implementation devoted to one goal: enabling
@@ -44,11 +50,5 @@ stdenv.mkDerivation rec {
       Scheme and C programs, between Scheme and Java programs, and
       between Scheme and C# programs.
     '';
-
-    homepage = http://www-sop.inria.fr/indes/fp/Bigloo/;
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 7678c066df2..378a8fc8cad 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,49 +1,55 @@
-a :  
-let 
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
-  version = "1.8";
-  name = "ccl-${version}";
-
-  /* There are also MacOS and FreeBSD and Windows versions */
-  src = a.fetchurl {
-    url = "ftp://ftp.clozure.com/pub/release/${version}/${name}-linuxx86.tar.gz";
-    sha256 = "1dgg6a8i2csa6xidsq66hbw7zx62gm2178hpkp88yyzgxylszp01";
+{ stdenv, fetchsvn, gcc, glibc, m4, coreutils }:
+
+/* TODO: there are also MacOS, FreeBSD and Windows versions */
+assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
+
+stdenv.mkDerivation rec {
+  name     = "ccl-${version}";
+  version  = "1.10";
+  revision = "16313";
+
+  src = fetchsvn {
+    url = http://svn.clozure.com/publicsvn/openmcl/release/1.10/linuxx86/ccl;
+    rev = revision;
+    sha256 = "11lmdvzj1mbm7mbr22vjbcrsvinyz8n32a91ms324xqdqpr82ifb";
   };
-  
-  inherit buildInputs;
-  configureFlags = [];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doUnpack" "doPatchElf" "doCopy"];
+  buildInputs = [ gcc glibc m4 ];
+
+  CCL_RUNTIME = if stdenv.system == "x86_64-linux" then "lx86cl64"   else "lx86cl";
+  CCL_KERNEL  = if stdenv.system == "x86_64-linux" then "linuxx8664" else "linuxx8632";
+
+  patchPhase = ''
+    substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \
+      --replace "svnversion" "echo ${revision}" \
+      --replace "/bin/rm"    "${coreutils}/bin/rm" \
+      --replace "/bin/echo"  "${coreutils}/bin/echo"
 
-  doCopy = a.fullDepEntry ''
+    substituteInPlace lisp-kernel/m4macros.m4 \
+      --replace "/bin/pwd" "${coreutils}/bin/pwd"
+  '';
+
+  buildPhase = ''
+    make -C lisp-kernel/${CCL_KERNEL} clean
+    make -C lisp-kernel/${CCL_KERNEL} all
+
+    ./${CCL_RUNTIME} -n -b -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'
+  '';
+
+  installPhase = ''
     mkdir -p "$out/share"
-    cp -r . "$out/share/ccl-installation"
+    cp -r .  "$out/share/ccl-installation"
 
     mkdir -p "$out/bin"
-    for i in $(find . -maxdepth 1 -type f -perm +111); do
-      echo -e '#! /bin/sh\n'"$out/share/ccl-installation/$(basename "$i")"'"$@"\n' > "$out"/bin/"$(basename "$i")"
-      chmod a+x "$out"/bin/"$(basename "$i")"
-    done
-  '' ["minInit" "doUnpack" "defEnsureDir"];
-
-  doPatchElf = a.fullDepEntry ''
-    patchelfFile="$(type -P patchelf)"
-    goodInterp="$(patchelf --print-interpreter "$patchelfFile")"
-    find . -type f -perm +111 -exec  patchelf --set-interpreter "$goodInterp" '{}' ';'
-  '' ["minInit" "doUnpack"];
-      
+    echo -e '#!/bin/sh\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}"
+    chmod a+x "$out"/bin/"${CCL_RUNTIME}"
+  '';
+
   meta = {
     description = "Clozure Common Lisp";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
-    platforms = with a.lib.platforms; 
-      linux;
+    homepage    = http://ccl.clozure.com/;
+    maintainers = with stdenv.lib.maintainers; [ raskin muflax ];
+    platforms   = stdenv.lib.platforms.linux;
+    license     = stdenv.lib.licenses.lgpl21;
   };
 }
-
diff --git a/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
new file mode 100644
index 00000000000..0962c9cf46d
--- /dev/null
+++ b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
@@ -0,0 +1,130 @@
+From 752dff853186dc334c519a86fa92f087795fea02 Mon Sep 17 00:00:00 2001
+From: Moritz Heidkamp <moritz.heidkamp@bevuta.com>
+Date: Wed, 1 Oct 2014 22:41:30 +0200
+Subject: [PATCH] Introduce CHICKEN_REPOSITORY_EXTRA
+
+This environment variable works like CHICKEN_REPOSITORY but supports
+multiple paths separated by `:'. Those paths are searched after
+CHICKEN_REPOSITORY when loading extensions via `require-library' and
+friends. It can be accessed and changed at runtime via the new procedure
+`repository-extra-paths' which is analog to `repository-path'.
+---
+ chicken-install.scm | 11 +++++++----
+ chicken.import.scm  |  1 +
+ eval.scm            | 37 +++++++++++++++++++++++++++++++------
+ 3 files changed, 39 insertions(+), 10 deletions(-)
+
+diff --git a/chicken-install.scm b/chicken-install.scm
+index 2ef6ef4..b5c6bf8 100644
+--- a/chicken-install.scm
++++ b/chicken-install.scm
+@@ -109,10 +109,10 @@
+   (define *show-foreign-depends* #f)
+   (define *hacks* '())
+ 
+-  (define (repo-path)
++  (define (repo-paths)
+     (if (and *cross-chicken* (not *host-extension*))
+-	(make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION))
+-	(repository-path)))
++	(list (make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION)))
++	(cons (repository-path) (repository-extra-paths))))
+ 
+   (define (get-prefix #!optional runtime)
+     (cond ((and *cross-chicken*
+@@ -757,7 +757,10 @@
+ 		  "installed extension has no information about which egg it belongs to"
+ 		  (pathname-file sf))
+ 		 #f))))
+-      (glob (make-pathname (repo-path) "*" "setup-info")))
++      (append-map
++       (lambda (path)
++	 (glob (make-pathname path "*" "setup-info")))
++       (repo-paths)))
+      equal?))
+ 
+   (define (list-available-extensions trans locn)
+diff --git a/chicken.import.scm b/chicken.import.scm
+index baa7316..2839b16 100644
+--- a/chicken.import.scm
++++ b/chicken.import.scm
+@@ -201,6 +201,7 @@
+    repl
+    repl-prompt
+    repository-path
++   repository-extra-paths
+    require
+    reset
+    reset-handler
+diff --git a/eval.scm b/eval.scm
+index bbcd86c..838588d 100644
+--- a/eval.scm
++++ b/eval.scm
+@@ -81,6 +81,7 @@
+ (define-constant source-file-extension ".scm")
+ (define-constant setup-file-extension "setup-info")
+ (define-constant repository-environment-variable "CHICKEN_REPOSITORY")
++(define-constant repository-extra-environment-variable "CHICKEN_REPOSITORY_EXTRA")
+ (define-constant prefix-environment-variable "CHICKEN_PREFIX")
+ 
+ ; these are actually in unit extras, but that is used by default
+@@ -1180,6 +1181,25 @@
+ 
+ (define repository-path ##sys#repository-path)
+ 
++(define ##sys#repository-extra-paths
++  (let* ((repaths (get-environment-variable repository-extra-environment-variable))
++	 (repaths (if repaths
++		      (let ((len (string-length repaths)))
++			(let loop ((i 0) (offset 0) (res '()))
++			  (cond ((> i len)
++				 (reverse res))
++				((or (= i len) (eq? #\: (string-ref repaths i)))
++				 (loop (+ i 1) (+ i 1) (cons (substring repaths offset i) res)))
++				(else
++				 (loop (+ i 1) offset res)))))
++		      '())))
++    (lambda (#!optional val)
++      (if val
++	  (set! repaths val)
++	  repaths))))
++
++(define repository-extra-paths ##sys#repository-extra-paths)
++
+ (define ##sys#setup-mode #f)
+ 
+ (define ##sys#find-extension
+@@ -1197,6 +1217,7 @@
+ 	(let loop ((paths (##sys#append
+ 			   (if ##sys#setup-mode '(".") '())
+ 			   (if rp (list rp) '())
++			   (##sys#repository-extra-paths)
+ 			   (if inc? ##sys#include-pathnames '())
+ 			   (if ##sys#setup-mode '() '("."))) ))
+ 	  (and (pair? paths)
+@@ -1256,12 +1277,16 @@
+ 	[string-append string-append]
+ 	[read read] )
+     (lambda (id loc)
+-      (and-let* ((rp (##sys#repository-path)))
+-	(let* ((p (##sys#canonicalize-extension-path id loc))
+-	       (rpath (string-append rp "/" p ".")) )
+-	  (cond ((file-exists? (string-append rpath setup-file-extension))
+-		 => (cut with-input-from-file <> read) )
+-		(else #f) ) ) ) ) ))
++      (let loop ((rpaths (cons (##sys#repository-path) (##sys#repository-extra-paths))))
++	(and (pair? rpaths)
++	     (let ((rp (car rpaths)))
++	       (if (not rp)
++		   (loop (cdr rpaths))
++		   (let* ((p (##sys#canonicalize-extension-path id loc))
++			  (rpath (string-append rp "/" p ".")) )
++		     (cond ((file-exists? (string-append rpath setup-file-extension))
++			    => (cut with-input-from-file <> read) )
++			   (else (loop (cdr rpaths))) ) )) ))) ) ))
+ 
+ (define (extension-information ext)
+   (##sys#extension-information ext 'extension-information) )
+-- 
+2.1.0
+
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index 8fd99973cbc..3b9d4d39118 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -1,28 +1,67 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
 
 let
   version = "4.9.0.1";
   platform = with stdenv;
     if isDarwin then "macosx"
     else if isCygwin then "cygwin"
-    else if isBSD then "bsd"
+    else if (isFreeBSD || isOpenBSD) then "bsd"
     else if isSunOS then "solaris"
-    else "linux";               # Should be a sane default
+    else "linux"; # Should be a sane default
+  lib = stdenv.lib;
 in
 stdenv.mkDerivation {
   name = "chicken-${version}";
 
+  binaryVersion = 7;
+
   src = fetchurl {
     url = "http://code.call-cc.org/releases/4.9.0/chicken-${version}.tar.gz";
     sha256 = "0598mar1qswfd8hva9nqs88zjn02lzkqd8fzdd21dz1nki1prpq4";
   };
 
+  setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
+  
   buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
   installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
 
+  # We need a bootstrap-chicken to regenerate the c-files after
+  # applying a patch to add support for CHICKEN_REPOSITORY_EXTRA
+  patches = lib.ifEnable (bootstrap-chicken != null) [
+    ./0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
+  ];
+
+  buildInputs = [
+    makeWrapper
+  ] ++ (lib.ifEnable (bootstrap-chicken != null) [
+    bootstrap-chicken
+  ]);
+
+  preBuild = lib.ifEnable (bootstrap-chicken != null) ''
+    # Backup the build* files - those are generated from hostname,
+    # git-tag, etc. and we don't need/want that
+    mkdir -p build-backup
+    mv buildid buildbranch buildtag.h build-backup
+
+    # Regenerate eval.c after the patch
+    make spotless $buildFlags
+
+    mv build-backup/* .
+  '';
+
+  postInstall = ''
+    for f in $out/bin/*
+    do
+      wrapProgram $f \
+        --prefix PATH : ${stdenv.cc}/bin
+    done
+  '';
+
+  # TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
+
   meta = {
     homepage = http://www.call-cc.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
     platforms = with stdenv.lib.platforms; allBut darwin;
     description = "A portable compiler for the Scheme programming language";
diff --git a/pkgs/development/compilers/chicken/eggDerivation.nix b/pkgs/development/compilers/chicken/eggDerivation.nix
new file mode 100644
index 00000000000..97ce9d9be79
--- /dev/null
+++ b/pkgs/development/compilers/chicken/eggDerivation.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchegg, chicken, makeWrapper }:
+{ name, src
+, buildInputs ? []
+, chickenInstallFlags ? []
+, cscOptions          ? []
+, ...} @ args:
+
+let
+  libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/";
+  overrides = import ./overrides.nix;
+  lib = stdenv.lib;
+  baseName = (builtins.parseDrvName name).name;
+  override = if builtins.hasAttr baseName overrides
+   then
+     builtins.getAttr baseName overrides
+   else
+     {};
+in
+stdenv.mkDerivation ({
+  name = "chicken-${name}";
+  propagatedBuildInputs = buildInputs ++ [ chicken ];
+  propagatedUserEnvPkgs = buildInputs ++ [ chicken ];
+  buildInputs = [ makeWrapper ];
+
+  CSC_OPTIONS = stdenv.lib.concatStringsSep " " cscOptions;
+
+  CHICKEN_REPOSITORY = libPath;
+  CHICKEN_INSTALL_PREFIX = "$out";
+
+  installPhase = ''
+    runHook preInstall
+
+    chicken-install -p $out ${stdenv.lib.concatStringsSep " " chickenInstallFlags}
+
+    for f in $out/bin/*
+    do
+      wrapProgram $f \
+        --set CHICKEN_REPOSITORY $CHICKEN_REPOSITORY \
+        --prefix CHICKEN_REPOSITORY_EXTRA : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_EXTRA" \
+        --prefix CHICKEN_INCLUDE_PATH \; \"$CHICKEN_INCLUDE_PATH\;$out/share/\" \
+        --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_EXTRA:$CHICKEN_REPOSITORY"
+    done
+
+    runHook postInstall
+  '';
+} // (builtins.removeAttrs args ["name" "buildInputs"]) // override)
diff --git a/pkgs/development/compilers/chicken/overrides.nix b/pkgs/development/compilers/chicken/overrides.nix
new file mode 100644
index 00000000000..9fdda9b6d9f
--- /dev/null
+++ b/pkgs/development/compilers/chicken/overrides.nix
@@ -0,0 +1,10 @@
+{
+  setup-helper = {
+    preBuild = ''
+      substituteInPlace setup-helper.setup \
+        --replace "(chicken-home)" \"$out/share/\"
+
+        cat setup-helper.setup
+    '';
+  };
+}
diff --git a/pkgs/development/compilers/chicken/setup-hook.sh b/pkgs/development/compilers/chicken/setup-hook.sh
new file mode 100644
index 00000000000..8d6b990a7e0
--- /dev/null
+++ b/pkgs/development/compilers/chicken/setup-hook.sh
@@ -0,0 +1,7 @@
+addChickenRepositoryPath() {
+    addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/7/"
+    # addToSearchPathWithCustomDelimiter \; CHICKEN_INCLUDE_PATH "$1/share/"
+    export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH"
+}
+
+envHooks=(${envHooks[@]} addChickenRepositoryPath)
diff --git a/pkgs/development/compilers/clash-ghc/default.nix b/pkgs/development/compilers/clash-ghc/default.nix
new file mode 100644
index 00000000000..a7e87b78dc7
--- /dev/null
+++ b/pkgs/development/compilers/clash-ghc/default.nix
@@ -0,0 +1,33 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, clashLib, clashPrelude, filepath, ghcPaths
+, hashable, haskeline, lens, makeWrapper, mtl, text, transformers, unbound
+, unorderedContainers, thLift
+}:
+
+cabal.mkDerivation (self: {
+  pname = "clash-ghc";
+  version = "0.4";
+  sha256 = "0pyv8snrmy7x9gv6xna5rd5chacrdvczcjs7854b80pifhag5c2g";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    bifunctors clashLib clashPrelude filepath ghcPaths hashable
+    haskeline lens mtl text transformers unbound unorderedContainers
+    thLift
+  ];
+  buildTools = [ makeWrapper ];
+  postInstall = ''
+    echo ${clashPrelude}
+    wrapProgram $out/bin/clash \
+      --add-flags "-package-db ${clashPrelude}/lib/ghc-${self.ghc.version}/package.conf.d/${clashPrelude.fname}.installedconf" \
+      --add-flags "-package-db ${thLift}/lib/ghc-${self.ghc.version}/package.conf.d/${thLift.fname}.installedconf" \
+      --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"-package-db\")"
+  '';
+  meta = {
+    homepage = "http://christiaanb.github.io/clash2";
+    description = "CAES Language for Synchronous Hardware";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix
index 428346b78b6..2135e75a07a 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 = "20130603";
+  version = "20150315";
 
   src = fetchurl {
     url = "http://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
-    sha256 = "0bk0s8p9r9an5m0l8y23wjlx490k15i4zah0a384a2akzji8y095";
+    sha256 = "1vzwyhpqbrndg7mri81f1b2yi8cshw5pghvdda9vdxgq465sa52f";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/development/compilers/cmucl/binary.nix b/pkgs/development/compilers/cmucl/binary.nix
index 55f64234a32..027857ccda0 100644
--- a/pkgs/development/compilers/cmucl/binary.nix
+++ b/pkgs/development/compilers/cmucl/binary.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   buildCommand = ''
     mkdir -p $out
     tar -C $out -xjf ${dist}
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       $out/bin/lisp
   '';
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
       which runs on most major Unix platforms.  It mainly conforms to the
       ANSI Common Lisp standard.
     '';
-    license = "free";		# public domain
+    license = stdenv.lib.licenses.free;		# public domain
     homepage = http://www.cons.org/cmucl/;
   };
 }
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 0d8d8e3d6d7..00a0e7b9c2b 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -1,27 +1,29 @@
-{ stdenv, fetchurl, coq, ocaml, ocamlPackages, gcc }:
+{ stdenv, fetchurl, coq, ocaml, ocamlPackages }:
 
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
-  version = "2.3pl2";
+  version = "2.4";
 
   src = fetchurl {
     url    = "http://compcert.inria.fr/release/${name}.tgz";
-    sha256 = "1cq4my646ll1mszs5mbzwk4vp8l8qnsc96fpcv2pl35aw5i6jqm8";
+    sha256 = "1qrb1cplx3v5wxn1c46kx67v1j52yznvjm2hkrsdybphhki2pyia";
   };
 
   buildInputs = [ coq ocaml ocamlPackages.menhir ];
 
   enableParallelBuilding = true;
-  configurePhase = "./configure -prefix $out -toolprefix ${gcc}/bin/ " +
+
+  configurePhase = ''
+    substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'
+    ./configure -prefix $out -toolprefix ${stdenv.cc}/bin/ '' +
     (if stdenv.isDarwin then "ia32-macosx" else "ia32-linux");
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Formally verified C compiler";
     homepage    = "http://compcert.inria.fr";
-    license     = stdenv.lib.licenses.inria;
-    platforms   = stdenv.lib.platforms.linux ++
-                  stdenv.lib.platforms.darwin;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice
-                    stdenv.lib.maintainers.jwiegley ];
+    license     = licenses.inria;
+    platforms   = platforms.linux ++
+                  platforms.darwin;
+    maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];
   };
 }
diff --git a/pkgs/development/compilers/cryptol/1.8.x.nix b/pkgs/development/compilers/cryptol/1.8.x.nix
deleted file mode 100644
index 17382ed9d56..00000000000
--- a/pkgs/development/compilers/cryptol/1.8.x.nix
+++ /dev/null
@@ -1,119 +0,0 @@
-{ stdenv, requireFile, gmp4, ncurses, zlib, clang_33, makeWrapper }:
-
-assert stdenv.isLinux;
-
-let
-  name    = "cryptol-${version}-${rev}";
-  version = "1.8.27";
-  rev     = "1";
-  lss-ver = "lss-0.2d";
-  jss-ver = "jss-0.4";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.libc
-      stdenv.gcc.gcc
-      gmp4
-      ncurses
-      zlib
-    ] + ":${stdenv.gcc.gcc}/lib64";
-
-  cryptol-bin =
-    if stdenv.system == "i686-linux"
-    then requireFile {
-      url    = "http://cryptol.net";
-      name   = "${name}-i386-centos6-linux.tar.gz";
-      sha256 = "131jkj3nh29rwwq5w5sfdf5jrb3c7ayjp4709v1zh84q4d6b35nf";
-    }
-    else requireFile {
-      url    = "http://cryptol.net";
-      name   = "${name}-x86_64-centos6-linux.tar.gz";
-      sha256 = "1dmkns8s6r2d6pvh176w8k3891frik6hmcr2ibghk4l6qr6gwarx";
-    };
-
-  lss-bin =
-    if stdenv.system == "i686-linux"
-    then requireFile {
-      url    = "http://cryptol.net";
-      name   = "${lss-ver}-centos6-32.tar.gz";
-      sha256 = "015ssw3v523wwzkma0qbpj3jnyzckab5q00ypdz0gr3kjcxn5rxg";
-    }
-    else requireFile {
-      url    = "http://cryptol.net";
-      name   = "${lss-ver}-centos6-64.tar.gz";
-      sha256 = "1zjy4xi8v3m6g8ydm9q6dgzg5xn0xc3a4zsll5plbhngprgwxcxm";
-    };
-
-  jss-bin =
-    if stdenv.system == "i686-linux"
-    then requireFile {
-      url    = "http://cryptol.net";
-      name   = "${jss-ver}-centos5-32.tar.gz";
-      sha256 = "1rlj14fbh9k3yvals8jsarczwl51fh6zjaic0pnhpc9s4p0pnjbr";
-    }
-    else requireFile {
-      url    = "http://cryptol.net";
-      name   = "${jss-ver}-centos5-64.tar.gz";
-      sha256 = "0smarm2pi3jz4c8jas9gwcbghc6vc375vrwxbdj1mqx4awlhnz1n";
-    };
-
-in
-stdenv.mkDerivation rec {
-  inherit name version cryptol-bin jss-bin lss-bin;
-
-  src = [ cryptol-bin lss-bin jss-bin ];
-  buildInputs = [ makeWrapper ];
-
-  unpackPhase = ''
-    tar xf ${cryptol-bin}
-    tar xf ${lss-bin}
-    tar xf ${jss-bin}
-  '';
-
-  installPhase = ''
-    mkdir -p $out/share $out/libexec
-
-    # Move Cryptol
-    mv cryptol-${version}/bin $out
-    mv cryptol-${version}/lib $out
-    mv cryptol-${version}/man $out/share
-    rm -f $out/bin/cryptol-2
-
-    # Move JSS
-    # Create a wrapper for jss to keep the .jar out of the way
-    mv ${jss-ver}/bin/jss $out/libexec
-    mv ${jss-ver}/bin/galois.jar $out/libexec
-    makeWrapper $out/libexec/jss $out/bin/jss --run "cd $out/libexec"
-    mv ${jss-ver}/doc/jss.1 $out/share/man/man1
-
-    # Move LSS
-    mv ${lss-ver}/bin/lss $out/bin
-    mv ${lss-ver}/sym-api $out/include
-
-    # Create a convenient 'lss-clang' wrapper pointing to a valid Clang verison
-    ln -s ${clang_33}/bin/clang $out/bin/lss-clang
-
-    # Hack around lack of libtinfo in NixOS
-    ln -s ${ncurses}/lib/libncursesw.so.5.9 $out/lib/libtinfo.so.5
-    ln -s ${stdenv.gcc.libc}/lib/libpthread-2.19.so $out/lib/libpthread.so.0
-  '';
-
-  fixupPhase = ''
-    for x in bin/cryptol bin/edif2verilog bin/copy-iverilog bin/symbolic_netlist bin/jaig bin/vvp-galois bin/lss libexec/jss; do
-      patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-        --set-rpath "$out/lib:${libPath}" $out/$x
-      patchelf --shrink-rpath $out/$x
-    done
-  '';
-
-  phases = "unpackPhase installPhase fixupPhase";
-
-  meta = {
-    description = "Cryptol: The Language of Cryptography";
-    homepage    = "https://cryptol.net";
-    license     = stdenv.lib.licenses.unfree;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-    hydraPlatforms = stdenv.lib.platforms.none;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/compilers/cryptol/2.0.x.nix b/pkgs/development/compilers/cryptol/2.0.x.nix
deleted file mode 100644
index 753dfb4f318..00000000000
--- a/pkgs/development/compilers/cryptol/2.0.x.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ cabal, cabalInstall, Cabal, alex, ansiTerminal, deepseq, executablePath
-, filepath, graphSCC, happy, haskeline, monadLib, mtl, presburger, QuickCheck
-, random, smtLib, syb, text, transformers, utf8String, process, fetchgit
-}:
-
-cabal.mkDerivation (self: {
-  pname = "cryptol";
-  version = "2.0.0";
-  src = fetchgit {
-    url    = "https://github.com/GaloisInc/cryptol.git";
-    rev    = "refs/tags/v2.0.0";
-    sha256 = "6af3499d7c6f034446f6665660f7a66dd592e81281e34b0cee3e55bc03597e6b";
-  };
-  isLibrary = true;
-  isExecutable = true;
-
-  patches = [ ./fix-gitrev.patch ];
-  buildDepends = [
-    ansiTerminal deepseq executablePath filepath graphSCC haskeline
-    monadLib mtl presburger QuickCheck random smtLib syb text
-    transformers utf8String process Cabal
-  ];
-  buildTools = [ alex happy cabalInstall ];
-  meta = {
-    description = "Cryptol: The Language of Cryptography";
-    homepage    = "https://cryptol.net";
-    license     = self.stdenv.lib.licenses.bsd3;
-    platforms   = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ];
-  };
-})
diff --git a/pkgs/development/compilers/cryptol/fix-gitrev.patch b/pkgs/development/compilers/cryptol/fix-gitrev.patch
deleted file mode 100644
index ab9a789baf2..00000000000
--- a/pkgs/development/compilers/cryptol/fix-gitrev.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 3ceec293f8e68314d872909b7de1d4a2c3ecba49 Mon Sep 17 00:00:00 2001
-From: Austin Seipp <aseipp@pobox.com>
-Date: Fri, 25 Apr 2014 00:24:39 -0500
-Subject: [PATCH] Add GitRev.hs to signify v2.0.0 release
-
-Signed-off-by: Austin Seipp <aseipp@pobox.com>
----
- cryptol.cabal |  2 +-
- src/GitRev.hs | 10 ++++++++++
- 2 files changed, 11 insertions(+), 1 deletion(-)
- create mode 100644 src/GitRev.hs
-
-diff --git a/cryptol.cabal b/cryptol.cabal
-index 2ba6e56..9acd1ef 100644
---- a/cryptol.cabal
-+++ b/cryptol.cabal
-@@ -6,7 +6,7 @@ Author:              Galois, Inc.
- Maintainer:          cryptol@galois.com
- Copyright:           2013-2014 Galois Inc.
- Category:            Language
--Build-type:          Configure
-+Build-type:          Simple
- Cabal-version:       >= 1.18
- 
- data-files:          lib/Cryptol.cry
-diff --git a/src/GitRev.hs b/src/GitRev.hs
-new file mode 100644
-index 0000000..1c767dc
---- /dev/null
-+++ b/src/GitRev.hs
-@@ -0,0 +1,10 @@
-+module GitRev (hash, branch, dirty) where
-+
-+hash :: String
-+hash = "bd578915eaba8c56fadc29fe30f5dcd212c63374"
-+
-+branch :: String
-+branch = "Unknown"
-+
-+dirty :: Bool
-+dirty = False
--- 
-1.8.3.2
-
diff --git a/pkgs/development/compilers/cudatoolkit/5.5.nix b/pkgs/development/compilers/cudatoolkit/5.5.nix
index bf4009f08be..b4226163865 100644
--- a/pkgs/development/compilers/cudatoolkit/5.5.nix
+++ b/pkgs/development/compilers/cudatoolkit/5.5.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
+{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
 , xlibs, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib
 } :
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     gtk2 glib fontconfig freetype unixODBC alsaLib
   ];
 
-  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64";
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64";
 
   unpackPhase = ''
     sh $src --keep --noexec
@@ -38,10 +38,10 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     find . -type f -executable -exec patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       '{}' \; || true
     find . -type f -exec patchelf \
-      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
       --force-rpath \
       '{}' \; || true
   '';
@@ -57,6 +57,6 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   meta = {
-    license = [ "nonfree" ];
+    license = lib.licenses.unfree;
   };
 }
diff --git a/pkgs/development/compilers/cudatoolkit/6.0.nix b/pkgs/development/compilers/cudatoolkit/6.0.nix
index 5da4b3d0a4a..49a52fe5d32 100644
--- a/pkgs/development/compilers/cudatoolkit/6.0.nix
+++ b/pkgs/development/compilers/cudatoolkit/6.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
+{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
 , xlibs, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib
 } :
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     gtk2 glib fontconfig freetype unixODBC alsaLib
   ];
 
-  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64";
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64";
 
   unpackPhase = ''
     sh $src --keep --noexec
@@ -38,10 +38,10 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     find . -type f -executable -exec patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       '{}' \; || true
     find . -type f -exec patchelf \
-      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
       --force-rpath \
       '{}' \; || true
   '';
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   meta = {
-    license = [ "nonfree" ];
+    license = lib.licenses.unfree;
   };
 }
 
diff --git a/pkgs/development/compilers/cudatoolkit/6.5.nix b/pkgs/development/compilers/cudatoolkit/6.5.nix
new file mode 100644
index 00000000000..17156cd0664
--- /dev/null
+++ b/pkgs/development/compilers/cudatoolkit/6.5.nix
@@ -0,0 +1,65 @@
+{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
+, xlibs, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib
+}:
+
+let version = "6.5.19"; in
+
+stdenv.mkDerivation rec {
+  name = "cudatoolkit-${version}";
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_${version}_linux_64.run";
+        sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj";
+      }
+    else throw "cudatoolkit does not support platform ${stdenv.system}";
+
+  outputs = [ "out" "sdk" ];
+
+  buildInputs = [ perl ];
+
+  runtimeDependencies = [
+    ncurses expat python zlib
+    xlibs.libX11 xlibs.libXext xlibs.libXrender xlibs.libXt xlibs.libXtst xlibs.libXi xlibs.libXext
+    gtk2 glib fontconfig freetype unixODBC alsaLib
+  ];
+
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64";
+
+  unpackPhase = ''
+    sh $src --keep --noexec
+    cd pkg/run_files
+    sh cuda-linux64-rel-${version}-*.run --keep --noexec
+    sh cuda-samples-linux-${version}-*.run --keep --noexec
+    cd pkg
+  '';
+
+  buildPhase = ''
+    find . -type f -executable -exec patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      '{}' \; || true
+    find . -type f -exec patchelf \
+      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
+      --force-rpath \
+      '{}' \; || true
+  '';
+
+  installPhase = ''
+    mkdir $out $sdk
+    perl ./install-linux.pl --prefix="$out"
+    rm $out/tools/CUDA_Occupancy_Calculator.xls
+    perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out"
+    mv $out/include $out/usr_include
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    license = lib.licenses.unfree;
+  };
+}
+
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 96a3d2abfc6..c48d74249e1 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,25 +1,20 @@
-{ stdenv, fetchurl, gcc, unzip, curl }:
+{ stdenv, fetchurl, unzip, curl }:
 
 stdenv.mkDerivation {
-  name = "dmd-2.064.2";
+  name = "dmd-2.066.1";
 
   src = fetchurl {
-    url = http://downloads.dlang.org/releases/2013/dmd.2.064.2.zip;
-    sha256 = "1i0jdybigffwyb7c43j0c4aayxx3b93zzqrjxyw6zgp06yhi06pm";
+    url = http://downloads.dlang.org/releases/2014/dmd.2.066.1.zip;
+    sha256 = "1qifwgrl6h232zsnvcx3kmb5d0fsy7j9zv17r3b4vln7x5rvzc66";
   };
 
-  buildInputs = [ gcc unzip curl ];
+  buildInputs = [ unzip curl ];
 
-  configurePhase = "";
-  patchPhase = ''
-      cp src/VERSION src/dmd/
-      cp license.txt src/phobos/LICENSE_1_0.txt
-  '';
   buildPhase = ''
       cd src/dmd
       make -f posix.mak INSTALL_DIR=$out
       export DMD=$PWD/dmd
-      cd ../druntime 
+      cd ../druntime
       make -f posix.mak INSTALL_DIR=$out DMD=$DMD
       cd ../phobos
       make -f posix.mak INSTALL_DIR=$out DMD=$DMD
@@ -28,25 +23,36 @@ stdenv.mkDerivation {
 
   installPhase = ''
       cd src/dmd
-      tee dmd.conf.default << EOF
-          [Environment]
-          DFLAGS=-I$out/import -L-L$out/lib
-      EOF
+      mkdir $out
+      mkdir $out/bin
+      cp dmd $out/bin
+
+      cd ../druntime
+      mkdir $out/include
+      mkdir $out/include/d2
+      cp -r import/* $out/include/d2
 
-      make -f posix.mak INSTALL_DIR=$out install
-      export DMD=$PWD/dmd
-      cd ../druntime 
-      make -f posix.mak INSTALL_DIR=$out install
       cd ../phobos
-      make -f posix.mak INSTALL_DIR=$out install
-      cd ../..
+      mkdir $out/lib
+      ${let bits = if stdenv.is64bit then "64" else "32"; in
+      "cp generated/linux/release/${bits}/libphobos2.a $out/lib"
+      }
+
+      cp -r std $out/include/d2
+      cp -r etc $out/include/d2
+
+      cd $out/bin
+      tee dmd.conf << EOF
+      [Environment]
+      DFLAGS=-I$out/include/d2 -L-L$out/lib -L--no-warn-search-mismatch -L--export-dynamic
+      EOF
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "D language compiler";
     homepage = http://dlang.org/;
-    license = "open source, see included files";
-    maintainers = with stdenv.lib.maintainers; [ vlstill ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.free; # parts under different licenses
+    platforms = platforms.unix;
   };
 }
+
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index d2c26487c0f..bb57ebbfa87 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -1,4 +1,5 @@
 {stdenv, fetchurl
+, libtool, autoconf, automake
 , gmp, mpfr, libffi
 , noUnicode ? false, 
 }:
@@ -6,17 +7,17 @@ let
   s = # Generated upstream information
   rec {
     baseName="ecl";
-    version="13.5.1";
+    version="15.3.7";
     name="${baseName}-${version}";
-    hash="18ic8w9sdl0dh3kmyc9lsrafikrd9cg1jkhhr25p9saz0v75f77r";
-    url="mirror://sourceforge/project/ecls/ecls/13.5/ecl-13.5.1.tgz";
-    sha256="18ic8w9sdl0dh3kmyc9lsrafikrd9cg1jkhhr25p9saz0v75f77r";
+    hash="13wlxkd5prm93gcm2dhm7v52fl803yx93aa97lrb39z0y6xzziid";
+    url="mirror://sourceforge/project/ecls/ecls/15.3/ecl-15.3.7.tgz";
+    sha256="13wlxkd5prm93gcm2dhm7v52fl803yx93aa97lrb39z0y6xzziid";
   };
   buildInputs = [
-    libffi
+    libtool autoconf automake
   ];
   propagatedBuildInputs = [
-    gmp mpfr
+    libffi gmp mpfr
   ];
 in
 stdenv.mkDerivation {
@@ -25,8 +26,18 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  patches = [ ./libffi-prefix.patch ];
+  preConfigure = ''
+    (cd src ; libtoolize -f)
+    (cd src ; autoheader -f)
+    (cd src ; aclocal)
+    (cd src ; automake --add-missing -c)
+    (cd src ; autoconf -f)
+  '';
   configureFlags = [
     "--enable-threads"
+    "--with-gmp-prefix=${gmp}"
+    "--with-libffi-prefix=${libffi}"
     ]
     ++
     (stdenv.lib.optional (! noUnicode)
diff --git a/pkgs/development/compilers/ecl/libffi-prefix.patch b/pkgs/development/compilers/ecl/libffi-prefix.patch
new file mode 100644
index 00000000000..d02cc214f31
--- /dev/null
+++ b/pkgs/development/compilers/ecl/libffi-prefix.patch
@@ -0,0 +1,39 @@
+diff --git a/src/configure.in b/src/configure.in
+index 434da49..642c66c 100644
+--- ecl-15.3.7.orig/src/configure.ac
++++ ecl-15.3.7/src/configure.ac
+@@ -191,6 +191,11 @@ AC_ARG_WITH(dffi,
+                   [(system|included|auto|no, default=AUTO if libffi available)]),
+   [enable_libffi=${withval}], [enable_libffi=auto])
+ 
++AC_ARG_WITH(libffi-prefix,
++  AS_HELP_STRING( [--with-libffi-prefix=path],
++                  [prefix for system LIBFFI includes and libraries] ),
++  [LIBFFI_INCDIR="$withval/include"; LIBFFI_LIBDIR="$withval/lib"], [])
++
+ AC_ARG_WITH(fpe,
+   AS_HELP_STRING( [--with-fpe],
+                   [detect floating point exceptions]
+@@ -368,6 +373,22 @@ else
+   INFOEXT=info
+ fi
+ 
++dnl libffi
++
++if test "x$LIBFFI_INCDIR" != "x"; then
++  LIBFFI_CPPFLAGS="-I$LIBFFI_INCDIR"
++fi
++if test "x$LIBFFI_LIBDIR" != "x"; then
++  LIBFFI_LDFLAGS="-L$LIBFFI_LIBDIR"
++  if test "$enable_rpath" = "yes"; then
++    if (echo "$ECL_LDRPATH" | grep '~A') > /dev/null; then
++      LIBFFI_LDFLAGS=`echo $ECL_LDRPATH | sed "s,~A,$LIBFFI_LIBDIR,"`" $LIBFFI_LDFLAGS"
++    fi
++  fi
++fi
++CPPFLAGS="$CPPFLAGS $LIBFFI_CPPFLAGS"
++LDFLAGS="$LDFLAGS $LIBFFI_LDFLAGS"
++
+ dnl ======================================================================
+ dnl GNU multiprecision library
+ dnl
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index 9787d0da929..02e22e82029 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -10,12 +10,12 @@ else
   throw "Unsupported architecture";
 
 edk2 = stdenv.mkDerivation {
-  name = "edk2-2014-02-01";
+  name = "edk2-2014-12-10";
   
   src = fetchgit {
     url = git://github.com/tianocore/edk2;
-    rev = "2818c158de6a164d012e6afb0fc145656aed4e4b";
-    sha256 = "a756b5de3a3e71d82ce1de8c7832bc69d2affb98d704894b26540571f9f5e214";
+    rev = "684a565a04";
+    sha256 = "1l46396f48v91z5b8lh3b0f0lcd7z5f86i1nrpc7l5gf7gx3117j";
   };
 
   buildInputs = [ libuuid pythonFull ];
@@ -33,8 +33,8 @@ edk2 = stdenv.mkDerivation {
 
   meta = {
     description = "Intel EFI development kit";
-    homepage = http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2;
-    license = "BSD";
+    homepage = http://sourceforge.net/projects/edk2/;
+    license = stdenv.lib.licenses.bsd2;
     maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms = ["x86_64-linux" "i686-linux"];
   };
diff --git a/pkgs/development/compilers/elm/elm-compiler.nix b/pkgs/development/compilers/elm/elm-compiler.nix
new file mode 100644
index 00000000000..87a0b660d2a
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-compiler.nix
@@ -0,0 +1,34 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup
+, cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript
+, languageGlsl, mtl, parsec, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, transformers
+, unionFind, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "elm-compiler";
+  version = "0.14.1";
+  sha256 = "0my04mipgia5qw02nzzrzc4kq3vl7bv75rzrsmd2bdb2wll1k94f";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath
+    indents languageEcmascript languageGlsl mtl parsec text
+    transformers unionFind unorderedContainers
+  ];
+  testDepends = [
+    aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filemanip
+    filepath HUnit indents languageEcmascript languageGlsl mtl parsec
+    QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text transformers unionFind
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "http://elm-lang.org";
+    description = "Values to help with elm-package, elm-make, and elm-lang.org.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/elm/elm-get.nix b/pkgs/development/compilers/elm/elm-get.nix
new file mode 100644
index 00000000000..d01a3226d29
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-get.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, ansiWlPprint, binary, Elm, filepath
+, HTTP, httpClient, httpClientTls, httpTypes, mtl, network
+, optparseApplicative, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "elm-get";
+  version = "0.1.3";
+  sha256 = "1did7vjd1h2kh5alndd2b63zi8b1m9hf6k1k75yxwvw6f6mz5i4q";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson aesonPretty ansiWlPprint binary Elm filepath HTTP httpClient
+    httpClientTls httpTypes mtl network optparseApplicative vector
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/elm-lang/elm-get";
+    description = "Tool for sharing and using Elm libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/elm/elm-make.nix b/pkgs/development/compilers/elm/elm-make.nix
new file mode 100644
index 00000000000..f9693ab2d94
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-make.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiWlPprint, binary, blazeHtml, blazeMarkup, elmCompiler
+, elmPackage, filepath, mtl, optparseApplicative, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "elm-make";
+  version = "0.1.1";
+  sha256 = "02mqr6v146piwrhycnmlxnky5bmsl7ap7781qmcwkfmc89wfa4zl";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    ansiWlPprint binary blazeHtml blazeMarkup elmCompiler elmPackage
+    filepath mtl optparseApplicative text
+  ];
+  meta = {
+    homepage = "http://elm-lang.org";
+    description = "A build tool for Elm projects";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/elm/elm-package.nix b/pkgs/development/compilers/elm/elm-package.nix
new file mode 100644
index 00000000000..4bcc4339b68
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-package.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, ansiWlPprint, binary, elmCompiler
+, filepath, HTTP, httpClient, httpClientTls, httpTypes, mtl
+, network, optparseApplicative, text, time, unorderedContainers
+, vector, zipArchive
+}:
+
+cabal.mkDerivation (self: {
+  pname = "elm-package";
+  version = "0.4";
+  sha256 = "0vsq87imyvs1sa2n4z41b6qswy2cknxsg4prhwc9r7lvyljkmn03";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson aesonPretty ansiWlPprint binary elmCompiler filepath HTTP
+    httpClient httpClientTls httpTypes mtl network optparseApplicative
+    text time unorderedContainers vector zipArchive
+  ];
+  meta = {
+    homepage = "http://github.com/elm-lang/elm-package";
+    description = "Package manager for Elm libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/elm/elm-reactor-exact-dependencies.json b/pkgs/development/compilers/elm/elm-reactor-exact-dependencies.json
new file mode 100644
index 00000000000..e9e2a77bc8b
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-reactor-exact-dependencies.json
@@ -0,0 +1,6 @@
+{
+    "evancz/virtual-dom": "1.1.0",
+    "evancz/elm-markdown": "1.1.2",
+    "evancz/elm-html": "1.1.0",
+    "elm-lang/core": "1.1.0"
+}
\ No newline at end of file
diff --git a/pkgs/development/compilers/elm/elm-reactor.nix b/pkgs/development/compilers/elm/elm-reactor.nix
new file mode 100644
index 00000000000..00efef6c1fe
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-reactor.nix
@@ -0,0 +1,68 @@
+{ unzip, fetchurl, fetchFromGitHub, cabal, blazeHtml, blazeMarkup, cmdargs, elmCompiler, elmMake, filepath
+, fsnotify, HTTP, mtl, snapCore, snapServer, systemFilepath, text
+, time, transformers, unorderedContainers, websockets
+, websocketsSnap
+}:
+
+cabal.mkDerivation (self: rec {
+  pname = "elm-reactor";
+  version = "0.3";
+  isLibrary = false;
+  isExecutable = true;
+  buildTools = [ unzip ];
+
+  src = fetchFromGitHub {
+    owner = "elm-lang";
+	repo = "elm-reactor";
+	rev = "176ff8e05e4bb7474752da1b3455c83d6181d594";
+	sha256 = "1marjqlmmq3a74g9f3ngk90h9mkhillcdwfsys6x0nqj6qirw4ph";
+  };
+  elmLangCore = fetchurl {
+    url = "https://github.com/elm-lang/core/archive/1.1.0.zip";
+    sha256 = "1fhvghjsay1p82k13039wbd02k439yplv2rh9zr77zvcbih6a31j";
+  };
+  elmHtml = fetchurl {
+	url = "https://github.com/evancz/elm-html/archive/1.1.0.zip";
+    sha256 = "01wshabxsdrxcxs2nn3dhk7n8720sp3prpkahhx36vvprdh05l4q";
+  };
+  elmMarkdown = fetchurl {
+	url = "https://github.com/evancz/elm-markdown/archive/1.1.2.zip";
+	sha256 = "14y1wp28za50zypdzyvl5d57hkm0v3rgnzm5klv3jcbd625kr9bg";
+  };
+  virtualDom = fetchurl {
+	url = "https://github.com/evancz/virtual-dom/archive/1.1.0.zip";
+	sha256 = "08dr7q0x1ycgj5b15s2kn1a45iw350gzq65c3lxp47xfffq1vz91";
+  };
+  elmStuff = ./elm-reactor-exact-dependencies.json;
+
+  preConfigure = ''
+	unzip -d $TEMPDIR -q ${elmLangCore}
+	mkdir -p elm-stuff/packages/elm-lang/core/1.1.0
+	cp -pr $TEMPDIR/core-1.1.0/* elm-stuff/packages/elm-lang/core/1.1.0/
+
+	unzip -d $TEMPDIR -q ${elmHtml}
+	mkdir -p elm-stuff/packages/evancz/elm-html/1.1.0
+	cp -pr $TEMPDIR/elm-html-1.1.0/* elm-stuff/packages/evancz/elm-html/1.1.0
+
+	unzip -d $TEMPDIR -q ${elmMarkdown}
+	mkdir -p elm-stuff/packages/evancz/elm-markdown/1.1.2
+	cp -pr $TEMPDIR/elm-markdown-1.1.2/* elm-stuff/packages/evancz/elm-markdown/1.1.2
+
+	unzip -d $TEMPDIR -q ${virtualDom}
+	mkdir -p elm-stuff/packages/evancz/virtual-dom/1.1.0
+	cp -pr $TEMPDIR/virtual-dom-1.1.0/* elm-stuff/packages/evancz/virtual-dom/1.1.0
+
+    cp ${elmStuff} elm-stuff/exact-dependencies.json
+  '';
+  buildDepends = [
+    blazeHtml blazeMarkup cmdargs elmCompiler filepath fsnotify HTTP
+    mtl snapCore snapServer systemFilepath text time transformers
+    unorderedContainers websockets websocketsSnap elmMake
+  ];
+  meta = {
+    homepage = "http://elm-lang.org";
+    description = "Interactive development tool for Elm programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/elm/elm-repl.nix b/pkgs/development/compilers/elm/elm-repl.nix
new file mode 100644
index 00000000000..ffeea93f9fb
--- /dev/null
+++ b/pkgs/development/compilers/elm/elm-repl.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bytestringTrie, cmdargs, Elm, filepath, haskeline, HUnit
+, mtl, parsec, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "elm-repl";
+  version = "0.3";
+  sha256 = "10a4a2ybg5dlshpklnisb957lknb0w8s3ppaq5p5y6ylqik8ak0a";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    bytestringTrie cmdargs Elm filepath haskeline mtl parsec
+  ];
+  testDepends = [
+    bytestringTrie cmdargs Elm filepath haskeline HUnit mtl parsec
+    QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "https://github.com/elm-lang/elm-repl";
+    description = "a REPL for Elm";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix
index 622f182e8c5..38e1d7de2c6 100644
--- a/pkgs/development/compilers/elm/elm.nix
+++ b/pkgs/development/compilers/elm/elm.nix
@@ -1,27 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup
-, cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript
-, languageGlsl, mtl, pandoc, parsec, QuickCheck, scientific
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
-, transformers, unionFind, unorderedContainers, yaml
+, cheapskate, cmdargs, filemanip, filepath, highlightingKate, HUnit
+, indents, languageEcmascript, languageGlsl, mtl, parsec
+, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, text, transformers, unionFind
+, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "Elm";
-  version = "0.12.3";
-  sha256 = "1v6h9qbbz27ikh19xwjbyfw0zi5ag9x1gp0khh9v4af1g0j86320";
+  version = "0.13";
+  sha256 = "1l6p00h0717blwvia0gvqpsakq8jy44fxc6brr4qxs5g4yjcjnmh";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath
-    indents languageEcmascript languageGlsl mtl pandoc parsec
-    scientific text transformers unionFind unorderedContainers yaml
+    aeson aesonPretty binary blazeHtml blazeMarkup cheapskate cmdargs
+    filepath highlightingKate indents languageEcmascript languageGlsl
+    mtl parsec text transformers unionFind unorderedContainers
   ];
   testDepends = [
-    aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filemanip
-    filepath HUnit indents languageEcmascript languageGlsl mtl pandoc
-    parsec QuickCheck scientific testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text transformers unionFind
-    unorderedContainers yaml
+    aeson aesonPretty binary blazeHtml blazeMarkup cheapskate cmdargs
+    filemanip filepath highlightingKate HUnit indents
+    languageEcmascript languageGlsl mtl parsec QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 text transformers
+    unionFind unorderedContainers
   ];
   doCheck = false;
   preConfigure = ''
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index 3eb9aef528c..bcbe28f2335 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, python }:
 
 let
-  tag = "1.21.0";
+  tag = "1.29.10";
 in
 
 stdenv.mkDerivation rec {
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
   srcFC = fetchgit {
     url = git://github.com/kripken/emscripten-fastcomp;
     rev = "refs/tags/${tag}";
-    sha256 = "0mcxzg2cfg0s1vfm3bh1ar4xsddb6xkv1dsdbgnpx38lbj1mvfs1";
+    sha256 = "eee0f884c7e10e1b869b9d3afbb03bf69c63ec0560b136e3e8cd64ca00a41653";
   };
 
   srcFL = fetchgit {
     url = git://github.com/kripken/emscripten-fastcomp-clang;
     rev = "refs/tags/${tag}";
-    sha256 = "0s2jcn36d236cfpryjpgaazjp3cg83d0h78g6kk1j6vdppv3vgnp";
+    sha256 = "22c48e85dfacd9f2349d37fb421f0f848b65fc7b39e66984d04349ee3271667c";
   };
 
   buildInputs = [ python ];
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/kripken/emscripten-fastcomp;
     description = "emscripten llvm";
     maintainers = with maintainers; [ bosu ];
-    license = "University of Illinois/NCSA Open Source License";
+    license = stdenv.lib.licenses.ncsa;
   };
 }
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index 43f256b58b0..efe8be2051f 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
 
 let
-  tag = "1.21.0";
+  tag = "1.29.10";
 in
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     url = git://github.com/kripken/emscripten;
     rev = "refs/tags/${tag}";
-    sha256 = "0y17ab4nhd3521b50sv2i2667w0rlcnmlkpkgw5j3fsh8awxgf32";
+    sha256 = "0d7ed2b801ac37acaf907bd03ba42cce3ac4a4c330bf1ef28de25bbb3f39ba87";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/compilers/epic/default.nix b/pkgs/development/compilers/epic/default.nix
index 6ea377387ec..ae4d73d6e20 100644
--- a/pkgs/development/compilers/epic/default.nix
+++ b/pkgs/development/compilers/epic/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "epic";
-  version = "0.9.3";
-  sha256 = "1x8y3ljha8r52pw83mjfv5i49dq0b7i1xbxg8j9hlvr2vwfa4237";
+  version = "0.9.3.2";
+  sha256 = "1l73absns4ci20brkdjg1r1l9p4xxx88vax736diqik7rl7zrx9h";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ Cabal mtl ];
@@ -16,7 +16,5 @@ cabal.mkDerivation (self: {
     description = "Compiler for a simple functional language";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/compilers/fpc/2.4.0.nix b/pkgs/development/compilers/fpc/2.4.0.nix
deleted file mode 100644
index 30081c9d805..00000000000
--- a/pkgs/development/compilers/fpc/2.4.0.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, gawk }:
-
-let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in
-
-stdenv.mkDerivation rec {
-  version = "2.4.0";
-  name = "fpc-${version}";
-
-  src = fetchurl {
-    url = "http://downloads.sourceforge.net/sourceforge/freepascal/fpcbuild-${version}.tar.gz";
-    sha256 = "1m2g2bafjixbwl5b9lna5h7r56y1rcayfnbp8kyjfd1c1ymbxaxk";
-  };
-
-  buildInputs = [ startFPC gawk ];
-
-  preConfigure =
-    if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then ''
-      sed -e "s@'/lib/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas
-      sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas
-    '' else "";
-
-  makeFlags = "NOGDB=1";
-
-  installFlags = "INSTALL_PREFIX=\${out}";
-  
-  postInstall = ''
-    for i in $out/lib/fpc/*/ppc*; do
-      ln -fs $i $out/bin/$(basename $i)
-    done
-    mkdir -p $out/lib/fpc/etc/
-    $out/lib/fpc/*/samplecfg $out/lib/fpc/${version} $out/lib/fpc/etc/
-  '';
-
-  meta = {
-    description = "Free Pascal Compiler from a source distribution";
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/compilers/fpc/binary-builder.sh b/pkgs/development/compilers/fpc/binary-builder.sh
index 8be36dec73e..4308c1ed211 100755
--- a/pkgs/development/compilers/fpc/binary-builder.sh
+++ b/pkgs/development/compilers/fpc/binary-builder.sh
@@ -1,6 +1,7 @@
 source $stdenv/setup
 
 tar xf $src
+cd */
 tarballdir=$(pwd)
 for i in *.tar; do tar xvf $i; done
 echo "Deploying binaries.."
diff --git a/pkgs/development/compilers/fpc/binary.nix b/pkgs/development/compilers/fpc/binary.nix
index 88f0ab91067..57e670750db 100644
--- a/pkgs/development/compilers/fpc/binary.nix
+++ b/pkgs/development/compilers/fpc/binary.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "fpc-2.4.0-binary";
+  name = "fpc-2.6.0-binary";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/i386-linux/fpc-2.4.0.i386-linux.tar";
-        sha256 = "1zas9kp0b36zxqvb9i4idh2l0nb6qpmgah038l77w6las7ghh0dv";
+        url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.i386-linux.tar";
+        sha256 = "08yklvrfxvk59bxsd4rh1i6s3cjn0q06dzjs94h9fbq3n1qd5zdf";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/x86_64-linux/fpc-2.4.0.x86_64-linux.tar";
-        sha256 = "111d11g5ra55hjywx64ldwwflpimsy8zryvap68v0309nyd23f0z";
+        url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.x86_64-linux.tar";
+        sha256 = "0k9vi75k39y735fng4jc2vppdywp82j4qhzn7x4r6qjkad64d8lx";
       }
     else throw "Not supported on ${stdenv.system}.";
 
diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix
index 6be976783bc..b34b5e8a446 100644
--- a/pkgs/development/compilers/fpc/default.nix
+++ b/pkgs/development/compilers/fpc/default.nix
@@ -3,12 +3,12 @@
 let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in
 
 stdenv.mkDerivation rec {
-  version = "2.6.0";
+  version = "2.6.4";
   name = "fpc-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz";
-    sha256 = "1vxy2y8pm0ribhpdhqlwwz696ncnz4rk2dafbn1mjgipm97qb26p";
+    sha256 = "1akdlp4n9ai1gnn4yq236i5rx03rs5sjfgk60myb7nb9lk7kp74d";
   };
 
   buildInputs = [ startFPC gawk ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas
     '' else "";
 
-  makeFlags = "NOGDB=1";
+  makeFlags = "NOGDB=1 FPC=${startFPC}/bin/fpc";
 
   installFlags = "INSTALL_PREFIX=\${out}";
   
@@ -31,9 +31,14 @@ stdenv.mkDerivation rec {
     $out/lib/fpc/*/samplecfg $out/lib/fpc/${version} $out/lib/fpc/etc/
   '';
 
+  passthru = {
+    bootstrap = startFPC;
+  };
+
   meta = {
     description = "Free Pascal Compiler from a source distribution";
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
+    inherit version;
   };
 }
diff --git a/pkgs/development/compilers/fpc/default.upstream b/pkgs/development/compilers/fpc/default.upstream
new file mode 100644
index 00000000000..7c11fb4761e
--- /dev/null
+++ b/pkgs/development/compilers/fpc/default.upstream
@@ -0,0 +1,6 @@
+url http://sourceforge.net/projects/freepascal/files/Source/
+SF_version_dir
+version_link 'fpcbuild-[0-9.]+[.]tar[.]gz/download$'
+SF_redirect
+version '.*-([0-9.]+)[.]tar[.]gz' '\1'
+do_overwrite () { do_overwrite_just_version; }
diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix
index a2863663bea..06c4f6bbe2b 100644
--- a/pkgs/development/compilers/fpc/lazarus.nix
+++ b/pkgs/development/compilers/fpc/lazarus.nix
@@ -1,45 +1,55 @@
-args : with args; 
-rec {
-  version = "1.0.2";
-  versionSuffix = "-0";
-  src = fetchurl {
+{
+stdenv, fetchurl
+, fpc
+, gtk, glib, pango, atk, gdk_pixbuf
+, libXi, inputproto, libX11, xproto, libXext, xextproto
+, makeWrapper
+}:
+let
+  s =
+  rec {
+    version = "1.2.6";
+    versionSuffix = "-0";
     url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}${versionSuffix}.tar.gz";
-    sha256 = "17a94wig8b4yrkq42wng4qbal7n77axkynwh78wday5whsp7div8";
+    sha256 = "1sjyc2l46hyd5ic5hr6vscy4qr9kazyhiyddy7bfs9vgf54fdiy0";
+    name = "lazarus-${version}";
   };
-
-  buildInputs = [fpc gtk glib libXi inputproto 
+  buildInputs = [
+    fpc gtk glib libXi inputproto
     libX11 xproto libXext xextproto pango atk
-    stdenv.gcc makeWrapper gdk_pixbuf];
-  configureFlags = [];
+    stdenv.cc makeWrapper gdk_pixbuf
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
   makeFlags = [
-    "LAZARUS_INSTALL_DIR=$out/lazarus/"
-    "INSTALL_PREFIX=$out/"
     "FPC=fpc"
     "PP=fpc"
+    "REQUIRE_PACKAGES+=tachartlazaruspkg"
+    "bigide"
   ];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["preBuild" "doMakeInstall" "postInstall"];
-
-  preBuild = fullDepEntry (''
-    export NIX_LDFLAGS='-lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo'
+  preBuild = ''
+    export makeFlags="$makeFlags LAZARUS_INSTALL_DIR=$out/lazarus/ INSTALL_PREFIX=$out/"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -L${stdenv.cc.cc}/lib -lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo -lgcc_s"
     export LCL_PLATFORM=gtk2
-    mkdir -p $out/share
+    mkdir -p $out/share "$out/lazarus"
     tar xf ${fpc.src} --strip-components=1 -C $out/share -m
     sed -e 's@/usr/fpcsrc@'"$out/share/fpcsrc@" -i ide/include/unix/lazbaseconf.inc
-  '') 
-  ["minInit" "defEnsureDir" "doUnpack"];
-
-  postInstall = fullDepEntry (''
+  '';
+  postInstall = ''
     wrapProgram $out/bin/startlazarus --prefix NIX_LDFLAGS ' ' "'$NIX_LDFLAGS'" \
     	--prefix LCL_PLATFORM ' ' "'$LCL_PLATFORM'"
-  '') ["doMakeInstall" "minInit" "defEnsureDir"];
-
-  name = "lazarus-${version}";
+  '';
   meta = {
+    inherit (s) version;
+    license = stdenv.lib.licenses.gpl2Plus ;
+    platforms = stdenv.lib.platforms.linux;
     description = "Lazarus graphical IDE for FreePascal language";
     homepage = http://www.lazarus.freepascal.org;
-    maintainers = [args.lib.maintainers.raskin];
-    #platforms = args.lib.platforms.linux;
+    maintainers = [stdenv.lib.maintainers.raskin];
   };
 }
diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix
index 99e893c79d1..f1161dd4dd1 100644
--- a/pkgs/development/compilers/fsharp/default.nix
+++ b/pkgs/development/compilers/fsharp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fsharp-${version}";
-  version = "3.1.1.25";
+  version = "3.1.1.31";
 
   src = fetchurl {
     url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
-    sha256 = "1vrgw7qk4g78mjjapc1a1frribcgya4cdrwahv3i26z9s10g5h3d";
+    sha256 = "1c38jpisnh8slqaaw1bsccxgllpc6yivrpb86raw4xalcbsc6fcv";
   };
 
   buildInputs = [ mono pkgconfig autoconf automake which ];
diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix
index 3d9f2596c96..cc8c80653ba 100644
--- a/pkgs/development/compilers/gambit/default.nix
+++ b/pkgs/development/compilers/gambit/default.nix
@@ -1,28 +1,22 @@
-x@{stdenv, fetchurl, builderDefsPackage, ...}:
-builderDefsPackage
-(a :  
-let 
-  s = import ./src-for-default.nix;
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ [];
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
+{ stdenv, fetchurl }:
 
-  inherit (s) name;
-  inherit buildInputs;
-  configureFlags = ["--enable-shared"];
+stdenv.mkDerivation rec {
+  name    = "gambit-${version}";
+  version = "4.7.3";
+  devver  = "4_7_3";
+
+  src = fetchurl {
+    url    = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/source/gambc-v${devver}-devel.tgz";
+    sha256 = "12jbr6bc0zmc7vw07a9pliadbvqgwkpmw6cj8awz73clv1j7pxha";
+  };
+
+  configureFlags = [ "--enable-shared" "--enable-single-host" ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
   meta = {
-    description = "Scheme to C compiler";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux ++ freebsd;
+    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 ];
   };
-}) x
+}
diff --git a/pkgs/development/compilers/gambit/src-for-default.nix b/pkgs/development/compilers/gambit/src-for-default.nix
deleted file mode 100644
index 83d0c764561..00000000000
--- a/pkgs/development/compilers/gambit/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="v4_6_1";
-   name="gambit-v4_6_1";
-   hash="0ad6c63dg5ggaamixxinvlf3128mra8xzss5chh66lkii4dc3m7g";
-   url="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-${version}-devel.tgz";
-   advertisedUrl="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_1-devel.tgz";
-  
-  
-}
diff --git a/pkgs/development/compilers/gambit/src-info-for-default.nix b/pkgs/development/compilers/gambit/src-info-for-default.nix
deleted file mode 100644
index cd32f9d3f82..00000000000
--- a/pkgs/development/compilers/gambit/src-info-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  downloadPage = "http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page";
-  baseName = "gambit";
-  sourceRegexp = "[.]tgz";
-  versionExtractorSedScript = ''s/.*-(v[_0-9]+)-devel[.].*/\1/'';
-  versionReferenceCreator = ''$(replaceAllVersionOccurences)'';
-}
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
index 62e08d1fa7c..b6f6ac51ba2 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256 }:
+{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses }:
 with stdenv.lib;
 let
   versionParts = splitString "-" version; # 4.7 2013q3 20130916
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     for f in $(find $out); do
       if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
         patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
-                 --set-rpath $out/lib:${gcc}/lib \
+                 --set-rpath $out/lib:${gcc}/lib:${ncurses}/lib \
                  "$f" || true
       fi
     done
diff --git a/pkgs/development/compilers/gcc/3.3/builder.sh b/pkgs/development/compilers/gcc/3.3/builder.sh
deleted file mode 100644
index 12e35f88b94..00000000000
--- a/pkgs/development/compilers/gcc/3.3/builder.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-source $stdenv/setup
-
-
-FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
-mkdir $FIXINC_DUMMY
-
-
-# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
-# Thing.
-export CPP="gcc -E"
-
-
-preConfigure() {
-    
-    if test "$noSysDirs" = "1"; then
-        # Disable the standard include directories.
-        cat >> ./gcc/cppdefault.h <<EOF
-#undef LOCAL_INCLUDE_DIR
-#undef SYSTEM_INCLUDE_DIR
-#undef STANDARD_INCLUDE_DIR
-EOF
-    fi
-
-    # Determine the frontends to build.
-    langs="c"
-    if test -n "$langCC"; then
-        langs="$langs,c++"
-    fi
-    if test -n "$langFortran"; then
-        langs="$langs,f77"
-    fi
-
-    # Perform the build in a different directory.
-    mkdir ../build
-    cd ../build
-
-    configureScript=../$sourceRoot/configure
-    configureFlags="--enable-languages=$langs --disable-multilib"
-}
-
-
-postConfigure() {
-    if test "$noSysDirs" = "1"; then
-        # Patch some of the makefiles to force linking against our own
-        # glibc.
-        if test -e $NIX_GCC/nix-support/orig-libc; then
-
-            # Figure out what extra flags to pass to the gcc compilers
-            # being generated to make sure that they use our glibc.
-	    extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-            for i in $(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before); do
-	        extraFlags="$extraFlags -Wl,$i"
-            done
-
-            # Use *real* header files, otherwise a limits.h is generated
-            # that does not include Glibc's limits.h (notably missing
-            # SSIZE_MAX, which breaks the build).
-            export FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
-        fi
-
-        mf=Makefile
-        sed \
-            -e "s^FLAGS_FOR_TARGET =\(.*\)^FLAGS_FOR_TARGET = \1 $extraFlags^" \
-            < $mf > $mf.tmp
-        mv $mf.tmp $mf
-
-        mf=gcc/Makefile
-        sed \
-            -e "s^X_CFLAGS =\(.*\)^X_CFLAGS = \1 $extraFlags^" \
-            < $mf > $mf.tmp
-        mv $mf.tmp $mf
-
-        # Patch gcc/Makefile to prevent fixinc.sh from "fixing" system
-        # header files from /usr/include.
-        mf=gcc/Makefile
-        sed \
-            -e "s^NATIVE_SYSTEM_HEADER_DIR =\(.*\)^NATIVE_SYSTEM_HEADER_DIR = $FIXINC_DUMMY^" \
-            < $mf > $mf.tmp
-        mv $mf.tmp $mf
-    fi
-}
-
-
-buildFlags="bootstrap"
-
-genericBuild
diff --git a/pkgs/development/compilers/gcc/3.3/default.nix b/pkgs/development/compilers/gcc/3.3/default.nix
deleted file mode 100644
index 23501489925..00000000000
--- a/pkgs/development/compilers/gcc/3.3/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, noSysDirs
-, langC ? true, langCC ? true, langFortran ? false
-}:
-
-assert langC;
-
-# !!! impurity: finds /usr/bin/as, /usr/bin/ranlib.
-
-stdenv.mkDerivation {
-  name = "gcc-3.3.6";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://ftp.gnu.org/gnu/gcc/gcc-3.3.6/gcc-3.3.6.tar.bz2;
-    md5 = "6936616a967da5a0b46f1e7424a06414";
-  };
-
-  # inspiration: https://aur.archlinux.org/packages/g77/
-  postPatch = ''
-    substituteInPlace gcc/config/i386/linux.h --replace 'struct siginfo' siginfo_t
-  '';
-
-  inherit noSysDirs langC langCC langFortran;
-
-  meta = {
-    homepage = "http://gcc.gnu.org/";
-    license = "GPL/LGPL";
-    description = "GNU Compiler Collection, 3.3.x";
-  };
-}
diff --git a/pkgs/development/compilers/gcc/3.4/builder.sh b/pkgs/development/compilers/gcc/3.4/builder.sh
index 5a43d600a50..3909b605c20 100644
--- a/pkgs/development/compilers/gcc/3.4/builder.sh
+++ b/pkgs/development/compilers/gcc/3.4/builder.sh
@@ -7,17 +7,17 @@ mkdir $NIX_FIXINC_DUMMY
 
 if test "$noSysDirs" = "1"; then
 
-    if test -e $NIX_GCC/nix-support/orig-libc; then
+    if test -e $NIX_CC/nix-support/orig-libc; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+        extraCFlags="$(cat $NIX_CC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
         # that does not include Glibc's limits.h (notably missing
         # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
+        export NIX_FIXINC_DUMMY=$(cat $NIX_CC/nix-support/orig-libc)/include
         
     else
         # Hack: support impure environments.
diff --git a/pkgs/development/compilers/gcc/3.4/default.nix b/pkgs/development/compilers/gcc/3.4/default.nix
index 1595b7f336f..1be771ac705 100644
--- a/pkgs/development/compilers/gcc/3.4/default.nix
+++ b/pkgs/development/compilers/gcc/3.4/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
     }
   ";
 
-  passthru = { inherit langC langCC langF77; };
+  passthru = { inherit langC langCC langF77; isGNU = true; };
 
   meta = {
     homepage = "http://gcc.gnu.org/";
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/builder.sh b/pkgs/development/compilers/gcc/4.2-apple64/builder.sh
deleted file mode 100644
index 036678460d6..00000000000
--- a/pkgs/development/compilers/gcc/4.2-apple64/builder.sh
+++ /dev/null
@@ -1,131 +0,0 @@
-source $stdenv/setup
-
-
-export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
-mkdir $NIX_FIXINC_DUMMY
-
-
-# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
-# Thing.
-export CPP="gcc -E"
-
-
-if test "$noSysDirs" = "1"; then
-
-    # Figure out what extra flags to pass to the gcc compilers being
-    # generated to make sure that they use our glibc.
-    if test -e $NIX_GCC/nix-support/orig-glibc; then
-        glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
-
-        # Ugh.  Copied from gcc-wrapper/builder.sh.  We can't just
-        # source in $NIX_GCC/nix-support/add-flags, since that would
-        # cause *this* GCC to be linked against the *previous* GCC.
-        # Need some more modularity there.
-        extraCFlags="-B$glibc/lib -isystem $glibc/include"
-        extraLDFlags="-B$glibc/lib -L$glibc/lib -Wl,-s \
-          -Wl,-dynamic-linker,$glibc/lib/ld-linux.so.2"
-
-        # Oh, what a hack.  I should be shot for this.  In stage 1, we
-        # should link against the previous GCC, but not afterwards.
-        # Otherwise we retain a dependency.  However, ld-wrapper,
-        # which adds the linker flags for the previous GCC, is also
-        # used in stage 2/3.  We can prevent it from adding them by
-        # NIX_GLIBC_FLAGS_SET, but then gcc-wrapper will also not add
-        # them, thereby causing stage 1 to fail.  So we use a trick to
-        # only set the flags in gcc-wrapper.
-        hook=$(pwd)/ld-wrapper-hook
-        echo "NIX_GLIBC_FLAGS_SET=1" > $hook
-        export NIX_LD_WRAPPER_START_HOOK=$hook
-
-        # Use *real* header files, otherwise a limits.h is generated
-        # that does not include Glibc's limits.h (notably missing
-        # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$glibc/include
-    fi
-
-    export NIX_EXTRA_CFLAGS=$extraCFlags
-    export NIX_EXTRA_LDFLAGS=$extraLDFlags
-    export CFLAGS=$extraCFlags
-    export CXXFLAGS=$extraCFlags
-    export LDFLAGS=$extraLDFlags
-fi
-
-
-preConfigure() {
-    
-    # Determine the frontends to build.
-    langs="c"
-    if test -n "$langCC"; then
-        langs="$langs,c++"
-    fi
-    if test -n "$langF77"; then
-        langs="$langs,f95"
-    fi
-    if test -n "$langObjC"; then
-        langs="$langs,objc"
-    fi
-
-    # Perform the build in a different directory.
-    mkdir ../build
-    cd ../build
-
-    configureScript=../$sourceRoot/configure
-    configureFlags="--enable-languages=$langs --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR} --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10 --target=x86_64-apple-darwin10"
-}
-
-
-postInstall() {
-    # Remove precompiled headers for now.  They are very big and
-    # probably not very useful yet.
-    find $out/include -name "*.gch" -exec rm -rf {} \; -prune
-
-    # Remove `fixincl' to prevent a retained dependency on the
-    # previous gcc.
-    rm -rf $out/libexec/gcc/*/*/install-tools
-}
-
-
-postUnpack() {
-    mv $libstdcxx/libstdcxx $sourceRoot/
-}
-
-
-STDCXX_INCDIR="$out/include/c++/4.2.1"
-
-genericBuild
-
-
-echo '-------------------------------------------------------------------------------------------------------------------------'
-echo 'libstdcxx'
-echo '-------------------------------------------------------------------------------------------------------------------------'
-
-cd ..
-pwd
-
-unpackPhase () {
-    true
-}
-
-patchPhase() {
-    true
-}
-
-preConfigure() {
-    # Perform the build in a different directory.
-    mkdir ../build_libstdcxx
-    cd ../build_libstdcxx
-
-    ln -s ../build/gcc gcc
-    
-    configureScript=../$sourceRoot/libstdcxx/configure
-    configureFlags="--disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR}"
-}
-
-postInstall() {
-    echo "cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/"
-    cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/
-}
-
-genericBuild
-
-ln -s $out/lib/x86_64 $out/lib64
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch b/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch
deleted file mode 100644
index b26f15e6512..00000000000
--- a/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -rc libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in
-*** libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in	Thu Jul 23 19:13:52 2009
---- libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in	Thu Jul 23 19:38:23 2009
-***************
-*** 65,71 ****
-  	numeric_members.lo time_members.lo
-  am__objects_2 = basic_file.lo c++locale.lo
-  am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \
-! 	codecvt.lo complex_io.lo ctype.lo debug.lo debug_list.lo \
-  	functexcept.lo globals_locale.lo globals_io.lo ios.lo \
-  	ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \
-  	locale.lo locale_init.lo locale_facets.lo localename.lo \
---- 65,71 ----
-  	numeric_members.lo time_members.lo
-  am__objects_2 = basic_file.lo c++locale.lo
-  am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \
-! 	codecvt.lo complex_io.lo ctype.lo debug.lo \
-  	functexcept.lo globals_locale.lo globals_io.lo ios.lo \
-  	ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \
-  	locale.lo locale_init.lo locale_facets.lo localename.lo \
-***************
-*** 315,321 ****
-  	complex_io.cc \
-  	ctype.cc \
-  	debug.cc \
-- 	debug_list.cc \
-  	functexcept.cc \
-  	globals_locale.cc \
-  	globals_io.cc \
---- 315,320 ----
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
deleted file mode 100644
index b2444ebb9bf..00000000000
--- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchurl, noSysDirs
-, langCC ? true, langObjC ? true, langF77 ? false
-, profiledCompiler ? false
-, gmp ? null, mpfr ? null, bison ? null, flex ? null
-}:
-
-assert stdenv.isDarwin;
-assert langF77 -> gmp != null;
-
-let
-  version  = "4.2.1";   # Upstream GCC version, from `gcc/BASE-VER'.
-  revision = "5666.3";  # Apple's fork revision number.
-in
-
-stdenv.mkDerivation rec {
-  name = "gcc-apple-${version}.${revision}";
-
-  builder = ./builder.sh;
-
-  src =
-    stdenv.lib.optional true (fetchurl {
-      url = "http://www.opensource.apple.com/tarballs/gcc/gcc-${revision}.tar.gz";
-      sha256 = "0nq1szgqx9ryh1qsn5n6yd55gpvf56wr8f7w1jzabb8idlvz8ikc";
-    }) ++
-    stdenv.lib.optional langCC (fetchurl {
-      url = http://www.opensource.apple.com/tarballs/libstdcxx/libstdcxx-39.tar.gz;
-      sha256 = "ccf4cf432c142778c766affbbf66b61001b6c4f1107bc2b2c77ce45598786b6d";
-    });
-
-  enableParallelBuilding = true;
-
-  libstdcxx = "libstdcxx-39";
-
-  sourceRoot = "gcc-${revision}/";
-
-  # The floor_log2_patch is from a Gentoo fix for the same issue:
-  #   https://bugs.gentoo.org/attachment.cgi?id=363174&action=diff
-  patches =
-    [ ./pass-cxxcpp.patch ./floor_log2_patch.diff ]
-    ++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch
-    ++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch;
-
-  inherit noSysDirs langCC langF77 langObjC;
-  langC = true;
-
-  buildInputs = stdenv.lib.optionals langF77 [ gmp mpfr bison flex ];
-
-  #meta.broken = true;
-}
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch b/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch
deleted file mode 100644
index 5a417f8151b..00000000000
--- a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Prevent our libstdc++.dylib from having a runtime dependency on
-/usr/lib/libstdc++.dylib.  This is caused by the implicit -lstdc++
-passed by g++ when it links libstdc++.dylib.  Adding "-nostdlib" to
-the g++ invocation prevents this.
-
-jww (2014-06-21): I've added several more patches to this, for building on
-Mavericks.
-
-diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in
---- x/libstdcxx/libstdc++-v3/src/Makefile.in	2006-10-16 21:08:22.000000000 +0200
-+++ y/libstdcxx/libstdc++-v3/src/Makefile.in	2012-02-17 18:44:05.210570590 +0100
-@@ -388,7 +388,7 @@
- 
- libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
- libstdc___la_LDFLAGS = \
--	-version-info $(libtool_VERSION) ${version_arg} -lm 
-+	-version-info $(libtool_VERSION) ${version_arg} -lm -Wc,-nostdlib
- 
- 
- # Use special rules for the deprecated source files so that they find
---- x/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
-+++ y/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
-@@ -38,7 +38,7 @@
- #include <typeinfo>
- #include <exception>
- #include <cstddef>
--#include "unwind.h"
-+#include "unwind-generic.h"
- 
- #pragma GCC visibility push(default)
- 
-@@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid ();
- // throws, and if bad_exception needs to be thrown.  Called from the
- // compiler.
- extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));
--extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn));
-+extern "C" void __cxa_call_terminate(_Unwind_Exception* ue_header);
- 
- #ifdef __ARM_EABI_UNWINDER__
- // Arm EABI specified routines.
---- x/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
-+++ y/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
-@@ -549,6 +549,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-    */
-   class free_list
-   {
-+  public:
-     typedef size_t* 				value_type;
-     typedef __detail::__mini_vector<value_type> vector_type;
-     typedef vector_type::iterator 		iterator;
---- x/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
-+++ y/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
-@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-     {
-       size_t __old_len = __r->_M_size;
-       _CharT* __new_data = (_CharT*)
--	_Data_allocate(_S_rounded_up_size(__old_len + __len));
-+	_Base::_Data_allocate(_S_rounded_up_size(__old_len + __len));
-       _RopeLeaf* __result;
- 
-       uninitialized_copy_n(__r->_M_data, __old_len, __new_data);
-@@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
- 	    if (__result_len > __lazy_threshold)
- 	      goto lazy;
- 	    __section = (_CharT*)
--	      _Data_allocate(_S_rounded_up_size(__result_len));
-+	      _Base::_Data_allocate(_S_rounded_up_size(__result_len));
- 	    try
- 	      {	(*(__f->_M_fn))(__start, __result_len, __section); }
- 	    catch(...)
-
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff b/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff
deleted file mode 100644
index f37e6c4990e..00000000000
--- a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff
+++ /dev/null
@@ -1,62 +0,0 @@
---- gcc-5666.3/gcc/toplev.h
-+++ gcc-5666.3/gcc/toplev.h
-@@ -151,6 +151,8 @@ 
- /* Return true iff flags are set as if -ffast-math.  */
- extern bool fast_math_flags_set_p	(void);
- 
-+#if GCC_VERSION < 3004
-+
- /* Return log2, or -1 if not exact.  */
- extern int exact_log2                  (unsigned HOST_WIDE_INT);
- 
-@@ -158,7 +160,7 @@ 
- extern int floor_log2                  (unsigned HOST_WIDE_INT);
- 
- /* Inline versions of the above for speed.  */
--#if GCC_VERSION >= 3004
-+#else /* GCC_VERSION < 3004 */
- # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
- #  define CLZ_HWI __builtin_clzl
- #  define CTZ_HWI __builtin_ctzl
-@@ -172,18 +172,18 @@ 
- #  define CTZ_HWI __builtin_ctz
- # endif
- 
--extern inline int
-+static inline int
- floor_log2 (unsigned HOST_WIDE_INT x)
- {
-   return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
- }
- 
--extern inline int
-+static inline int
- exact_log2 (unsigned HOST_WIDE_INT x)
- {
-   return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
- }
--#endif /* GCC_VERSION >= 3004 */
-+#endif /* GCC_VERSION < 3004 */
- 
- /* Functions used to get and set GCC's notion of in what directory
-    compilation was started.  */
---- gcc-5666.3/gcc/toplev.c
-+++ gcc-5666.3/gcc/toplev.c
-@@ -555,7 +555,7 @@ 
-    for floor_log2 and exact_log2; see toplev.h.  That construct, however,
-    conflicts with the ISO C++ One Definition Rule.   */
- 
--#if GCC_VERSION < 3004 || !defined (__cplusplus)
-+#if GCC_VERSION < 3004
- 
- /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
-    If X is 0, return -1.  */
-@@ -607,7 +607,7 @@ 
- #endif
- }
- 
--#endif /*  GCC_VERSION < 3004 || !defined (__cplusplus)  */
-+#endif /*  GCC_VERSION < 3004 */
- 
- /* Handler for fatal signals, such as SIGSEGV.  These are transformed
-    into ICE messages, which is much more user friendly.  In case the
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch
deleted file mode 100644
index 69f9d9d14c6..00000000000
--- a/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-diff -ruN gcc-4.1.0/gcc/Makefile.in gcc-4.1.0.new/gcc/Makefile.in
---- gcc-4.1.0/gcc/Makefile.in	2006-02-16 16:23:24.000000000 +0100
-+++ gcc-4.1.0.new/gcc/Makefile.in	2006-03-01 18:55:12.000000000 +0100
-@@ -219,7 +219,7 @@
- CPPFLAGS = @CPPFLAGS@
- 
- # These exists to be overridden by the x-* and t-* files, respectively.
--X_CFLAGS =
-+X_CFLAGS = $(NIX_EXTRA_CFLAGS) $(NIX_EXTRA_LDFLAGS)
- T_CFLAGS =
- 
- X_CPPFLAGS =
-@@ -383,7 +383,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@
- 
-@@ -395,7 +399,7 @@
- STMP_FIXINC = @STMP_FIXINC@
- 
- # Test to see whether <limits.h> exists in the system header files.
--LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
-+LIMITS_H_TEST = true
- 
- # Directory for prefix to system directories, for
- # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc.
-@@ -3002,7 +3006,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\" \
-   @TARGET_SYSTEM_ROOT_DEFINE@
-
-diff -ruN gcc-4.1.0/ltcf-cxx.sh gcc-4.1.0.new/ltcf-cxx.sh
---- gcc-4.1.0/ltcf-cxx.sh	2005-07-16 04:30:53.000000000 +0200
-+++ gcc-4.1.0.new/ltcf-cxx.sh	2006-03-01 18:58:15.000000000 +0100
-@@ -989,7 +989,7 @@
-   # the conftest object file.
-   pre_test_object_deps_done=no
- 
--  for p in `eval $output_verbose_link_cmd`; do
-+  for p in `true`; do
- 
-     case $p in
- 
-diff -ruN gcc-4.1.0/ltconfig gcc-4.1.0.new/ltconfig
---- gcc-4.1.0/ltconfig	2005-07-16 04:30:53.000000000 +0200
-+++ gcc-4.1.0.new/ltconfig	2006-03-01 18:59:58.000000000 +0100
-@@ -2322,6 +2322,11 @@
- # A language-specific compiler.
- CC=$CC
- 
-+# Ugly hack to get libmudflap (and possibly other libraries) to build.
-+# Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag
-+# to Glibc gets lost.  Here we forcibly add it to any invocation.
-+CC="\$CC $NIX_EXTRA_LDFLAGS"
-+
- # Is the compiler the GNU C compiler?
- with_gcc=$with_gcc
- 
-diff -ruN gcc-4.1.0/Makefile.in gcc-4.1.0.new/Makefile.in
---- gcc-4.1.0/Makefile.in	2005-12-15 15:02:02.000000000 +0100
-+++ gcc-4.1.0.new/Makefile.in	2006-03-01 19:41:04.000000000 +0100
-@@ -286,7 +286,7 @@
- WINDRES = @WINDRES@
- 
- CFLAGS = @CFLAGS@
--LDFLAGS = 
-+LDFLAGS = $(NIX_EXTRA_LDFLAGS)
- LIBCFLAGS = $(CFLAGS)
- CXXFLAGS = @CXXFLAGS@
- LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
-@@ -329,12 +329,12 @@
- # CFLAGS will be just -g.  We want to ensure that TARGET libraries
- # (which we know are built with gcc) are built with optimizations so
- # prepend -O2 when setting CFLAGS_FOR_TARGET.
--CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
-+CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS)
- SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
--CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
-+CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS)
- LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
- LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
--LDFLAGS_FOR_TARGET = 
-+LDFLAGS_FOR_TARGET = $(NIX_EXTRA_LDFLAGS)
- PICFLAG_FOR_TARGET = 
- 
- # ------------------------------------
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch b/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch
deleted file mode 100644
index 4f9a29ae51b..00000000000
--- a/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -rc gcc-orig/Makefile.in gcc-4.1.1/Makefile.in
-*** gcc-orig/Makefile.in	Wed Jun 21 13:40:23 2006
---- gcc-4.1.1/Makefile.in	Wed Jun 21 14:19:44 2006
-***************
-*** 213,219 ****
-  RAW_CXX_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
-  	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
-! 	CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
-  
-  NORMAL_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
---- 213,220 ----
-  RAW_CXX_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
-  	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
-! 	CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \
-! 	CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP;
-  
-  NORMAL_TARGET_EXPORTS = \
-  	$(BASE_TARGET_EXPORTS) \
diff --git a/pkgs/development/compilers/gcc/4.3/builder.sh b/pkgs/development/compilers/gcc/4.3/builder.sh
index aaf0c54d99b..16e53d9f231 100644
--- a/pkgs/development/compilers/gcc/4.3/builder.sh
+++ b/pkgs/development/compilers/gcc/4.3/builder.sh
@@ -12,17 +12,17 @@ export CPP="gcc -E"
 
 if test "$noSysDirs" = "1"; then
 
-    if test -e $NIX_GCC/nix-support/orig-libc; then
+    if test -e $NIX_CC/nix-support/orig-libc; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+        extraCFlags="$(cat $NIX_CC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
         # that does not include Glibc's limits.h (notably missing
         # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
+        export NIX_FIXINC_DUMMY=$(cat $NIX_CC/nix-support/orig-libc)/include
         
     else
         # Hack: support impure environments.
diff --git a/pkgs/development/compilers/gcc/4.3/default.nix b/pkgs/development/compilers/gcc/4.3/default.nix
index 45040c2f375..3db8ee5f3ea 100644
--- a/pkgs/development/compilers/gcc/4.3/default.nix
+++ b/pkgs/development/compilers/gcc/4.3/default.nix
@@ -171,6 +171,8 @@ stdenv.mkDerivation ({
     rm -Rf ghdl-*
   '';
 
+  passthru.isGNU = true;
+
   meta = {
     homepage = "http://ghdl.free.fr/";
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/development/compilers/gcc/4.4/builder.sh b/pkgs/development/compilers/gcc/4.4/builder.sh
index abe14b457ab..15476131e03 100644
--- a/pkgs/development/compilers/gcc/4.4/builder.sh
+++ b/pkgs/development/compilers/gcc/4.4/builder.sh
@@ -17,20 +17,20 @@ fi
 
 if test "$noSysDirs" = "1"; then
 
-    if test -e $NIX_GCC/nix-support/orig-libc; then
+    if test -e $NIX_CC/nix-support/orig-libc; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+        extraFlags="$(cat $NIX_CC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
         # that does not include Glibc's limits.h (notably missing
         # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
+        export NIX_FIXINC_DUMMY=$(cat $NIX_CC/nix-support/orig-libc)/include
 
         # The path to the Glibc binaries such as `crti.o'.
-        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
+        glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib"
         
     else
         # Hack: support impure environments.
@@ -61,27 +61,27 @@ if test "$noSysDirs" = "1"; then
             EXTRA_LDFLAGS_TARGET="-Wl,-L${libcCross}/lib"
         fi
     else
-        if test -z "$NIX_GCC_CROSS"; then
+        if test -z "$NIX_CC_CROSS"; then
             EXTRA_FLAGS_TARGET="$EXTRA_FLAGS"
             EXTRA_LDFLAGS_TARGET="$EXTRA_LDFLAGS"
         else
             # This the case of cross-building the gcc.
             # We need special flags for the target, different than those of the build
             # Assertion:
-            test -e $NIX_GCC_CROSS/nix-support/orig-libc
+            test -e $NIX_CC_CROSS/nix-support/orig-libc
 
             # Figure out what extra flags to pass to the gcc compilers
             # being generated to make sure that they use our glibc.
-            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
-            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
+            extraFlags="$(cat $NIX_CC_CROSS/nix-support/libc-cflags)"
+            extraLDFlags="$(cat $NIX_CC_CROSS/nix-support/libc-ldflags) $(cat $NIX_CC_CROSS/nix-support/libc-ldflags-before)"
 
             # Use *real* header files, otherwise a limits.h is generated
             # that does not include Glibc's limits.h (notably missing
             # SSIZE_MAX, which breaks the build).
-            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
+            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_CC_CROSS/nix-support/orig-libc)/include
 
             # The path to the Glibc binaries such as `crti.o'.
-            glibc_libdir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/lib"
+            glibc_libdir="$(cat $NIX_CC_CROSS/nix-support/orig-libc)/lib"
 
             extraFlags="-g0 -O2 -I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
             extraLDFlags="--strip-debug -L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
diff --git a/pkgs/development/compilers/gcc/4.4/default.nix b/pkgs/development/compilers/gcc/4.4/default.nix
index be2f323fde1..47c8c86a95d 100644
--- a/pkgs/development/compilers/gcc/4.4/default.nix
+++ b/pkgs/development/compilers/gcc/4.4/default.nix
@@ -188,7 +188,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${stdenv.cross.config}-nm";
     CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
+    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
     configureFlags = "
       ${if enableMultilib then "" else "--disable-multilib"}
       ${if enableShared then "" else "--disable-shared"}
@@ -243,7 +243,7 @@ stdenv.mkDerivation ({
 
 
   passthru = { inherit langC langCC langAda langFortran langVhdl
-      enableMultilib version; };
+      enableMultilib version; isGNU = true; };
 
   # ghdl does not build fine with parallel building
   # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46173
@@ -265,7 +265,6 @@ stdenv.mkDerivation ({
 
     maintainers = [
       # Add your name here!
-      stdenv.lib.maintainers.ludo
       stdenv.lib.maintainers.viric
     ];
 
diff --git a/pkgs/development/compilers/gcc/4.5/builder.sh b/pkgs/development/compilers/gcc/4.5/builder.sh
index e1e56c8574a..83ca368c4ff 100644
--- a/pkgs/development/compilers/gcc/4.5/builder.sh
+++ b/pkgs/development/compilers/gcc/4.5/builder.sh
@@ -23,20 +23,20 @@ echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
 
 if test "$noSysDirs" = "1"; then
 
-    if test -e $NIX_GCC/nix-support/orig-libc; then
+    if test -e $NIX_CC/nix-support/orig-libc; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+        extraFlags="$(cat $NIX_CC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
         # that does not include Glibc's limits.h (notably missing
         # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
+        export NIX_FIXINC_DUMMY=$(cat $NIX_CC/nix-support/orig-libc)/include
 
         # The path to the Glibc binaries such as `crti.o'.
-        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
+        glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib"
         
     else
         # Hack: support impure environments.
@@ -67,27 +67,27 @@ if test "$noSysDirs" = "1"; then
             EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib"
         fi
     else
-        if test -z "$NIX_GCC_CROSS"; then
+        if test -z "$NIX_CC_CROSS"; then
             EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
             EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
         else
             # This the case of cross-building the gcc.
             # We need special flags for the target, different than those of the build
             # Assertion:
-            test -e $NIX_GCC_CROSS/nix-support/orig-libc
+            test -e $NIX_CC_CROSS/nix-support/orig-libc
 
             # Figure out what extra flags to pass to the gcc compilers
             # being generated to make sure that they use our glibc.
-            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
-            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
+            extraFlags="$(cat $NIX_CC_CROSS/nix-support/libc-cflags)"
+            extraLDFlags="$(cat $NIX_CC_CROSS/nix-support/libc-ldflags) $(cat $NIX_CC_CROSS/nix-support/libc-ldflags-before)"
 
             # Use *real* header files, otherwise a limits.h is generated
             # that does not include Glibc's limits.h (notably missing
             # SSIZE_MAX, which breaks the build).
-            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
+            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_CC_CROSS/nix-support/orig-libc)/include
 
             # The path to the Glibc binaries such as `crti.o'.
-            glibc_libdir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/lib"
+            glibc_libdir="$(cat $NIX_CC_CROSS/nix-support/orig-libc)/lib"
 
             extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
             extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
@@ -162,7 +162,7 @@ preConfigure() {
     # Patch the configure script so it finds glibc headers
     # It's important for example in order not to get libssp built, because it's
     # functionality is in glibc already.
-    glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
+    glibc_headers="$(cat $NIX_CC/nix-support/orig-libc)/include"
     sed -i \
       -e s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers, \
       gcc/configure
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix
index fbeea0768ad..c4be4f266dd 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/4.5/default.nix
@@ -8,7 +8,7 @@
 , enableShared ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
-, gmp, mpfr, mpc, gettext, which
+, 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
@@ -185,11 +185,11 @@ stdenv.mkDerivation ({
            sed -i gcc/config/t-gnu \
                -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g'
         ''
-    else if cross != null || stdenv.gcc.libc != null then
+    else if cross != null || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
-        libc = if libcCross != null then libcCross else stdenv.gcc.libc;
+        libc = if libcCross != null then libcCross else stdenv.cc.libc;
       in
         '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
@@ -208,7 +208,7 @@ stdenv.mkDerivation ({
   nativeBuildInputs = [ texinfo which ]
     ++ optional (perl != null) perl;
     
-  buildInputs = [ gmp mpfr mpc libelf gettext ]
+  buildInputs = [ gmp mpfr libmpc libelf gettext ]
     ++ (optional (ppl != null) ppl)
     ++ (optional (cloogppl != null) cloogppl)
     ++ (optional (zlib != null) zlib)
@@ -236,7 +236,7 @@ stdenv.mkDerivation ({
     ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
     --with-gmp=${gmp}
     --with-mpfr=${mpfr}
-    --with-mpc=${mpc}
+    --with-mpc=${libmpc}
     ${if libelf != null then "--with-libelf=${libelf}" else ""}
     --disable-libstdcxx-pch
     --without-included-gettext
@@ -272,7 +272,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${stdenv.cross.config}-nm";
     CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
+    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -358,7 +358,7 @@ stdenv.mkDerivation ({
     else null;
 
   passthru = { inherit langC langCC langAda langFortran langVhdl
-      enableMultilib version; };
+      enableMultilib version; isGNU = true; };
 
   enableParallelBuilding = !langAda;
 
@@ -378,7 +378,6 @@ stdenv.mkDerivation ({
     '';
 
     maintainers = [
-      stdenv.lib.maintainers.ludo
       stdenv.lib.maintainers.viric
     ];
 
diff --git a/pkgs/development/compilers/gcc/4.6/builder.sh b/pkgs/development/compilers/gcc/4.6/builder.sh
index cc58162deef..af36ec33b70 100644
--- a/pkgs/development/compilers/gcc/4.6/builder.sh
+++ b/pkgs/development/compilers/gcc/4.6/builder.sh
@@ -20,12 +20,12 @@ echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
 
 if test "$noSysDirs" = "1"; then
 
-    if test -e $NIX_GCC/nix-support/orig-libc; then
+    if test -e $NIX_CC/nix-support/orig-libc; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+        extraFlags="$(cat $NIX_CC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
         # that does not include Glibc's limits.h (notably missing
@@ -33,7 +33,7 @@ if test "$noSysDirs" = "1"; then
         export NIX_FIXINC_DUMMY=$libc_dev/include
 
         # The path to the Glibc binaries such as `crti.o'.
-        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
+        glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib"
 
     else
         # Hack: support impure environments.
@@ -75,27 +75,27 @@ if test "$noSysDirs" = "1"; then
             EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib"
         fi
     else
-        if test -z "$NIX_GCC_CROSS"; then
+        if test -z "$NIX_CC_CROSS"; then
             EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
             EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
         else
             # This the case of cross-building the gcc.
             # We need special flags for the target, different than those of the build
             # Assertion:
-            test -e $NIX_GCC_CROSS/nix-support/orig-libc
+            test -e $NIX_CC_CROSS/nix-support/orig-libc
 
             # Figure out what extra flags to pass to the gcc compilers
             # being generated to make sure that they use our glibc.
-            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
-            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
+            extraFlags="$(cat $NIX_CC_CROSS/nix-support/libc-cflags)"
+            extraLDFlags="$(cat $NIX_CC_CROSS/nix-support/libc-ldflags) $(cat $NIX_CC_CROSS/nix-support/libc-ldflags-before)"
 
             # Use *real* header files, otherwise a limits.h is generated
             # that does not include Glibc's limits.h (notably missing
             # SSIZE_MAX, which breaks the build).
-            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
+            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_CC_CROSS/nix-support/orig-libc)/include
 
             # The path to the Glibc binaries such as `crti.o'.
-            glibc_libdir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/lib"
+            glibc_libdir="$(cat $NIX_CC_CROSS/nix-support/orig-libc)/lib"
 
             extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
             extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
@@ -167,7 +167,7 @@ preConfigure() {
         rm -Rf zlib
     fi
 
-    if test -f "$NIX_GCC/nix-support/orig-libc"; then
+    if test -f "$NIX_CC/nix-support/orig-libc"; then
         # Patch the configure script so it finds glibc headers.  It's
         # important for example in order not to get libssp built,
         # because its functionality is in glibc already.
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index a9ce5648789..4976131bb64 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -9,7 +9,7 @@
 , enableShared ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
-, gmp, mpfr, mpc, gettext, which
+, gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
 , ppl ? null, cloog ? null # optional, for the Graphite optimization framework.
 , zlib ? null, boehmgc ? null
@@ -46,15 +46,12 @@ assert stdenv.isDarwin -> gnused != null;
 with stdenv.lib;
 with builtins;
 
-let version = "4.6.3";
+let version = "4.6.4";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
-    patches =
-      [ # Fix building on Glibc 2.16.
-        ./siginfo_t_fix.patch
-      ]
+    patches = [ ]
       ++ optional (cross != null) ./libstdc++-target.patch
       ++ optional noSysDirs ./no-sys-dirs.patch
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
@@ -196,7 +193,7 @@ stdenv.mkDerivation ({
 
   inherit patches enableMultilib;
 
-  libc_dev = stdenv.gcc.libc_dev;
+  libc_dev = stdenv.cc.libc_dev;
 
   postPatch =
     if (stdenv.isGNU
@@ -238,11 +235,11 @@ stdenv.mkDerivation ({
            sed -i gcc/config/t-gnu \
                -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g'
         ''
-    else if cross != null || stdenv.gcc.libc != null then
+    else if cross != null || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
-        libc = if libcCross != null then libcCross else stdenv.gcc.libc;
+        libc = if libcCross != null then libcCross else stdenv.cc.libc;
       in
         '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
@@ -262,7 +259,7 @@ stdenv.mkDerivation ({
     ++ (optional (perl != null) perl)
     ++ (optional javaAwtGtk pkgconfig);
 
-  buildInputs = [ gmp mpfr mpc libelf ]
+  buildInputs = [ gmp mpfr libmpc libelf ]
     ++ (optional (ppl != null) ppl)
     ++ (optional (cloog != null) cloog)
     ++ (optional (zlib != null) zlib)
@@ -300,7 +297,7 @@ stdenv.mkDerivation ({
     ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
     --with-gmp=${gmp}
     --with-mpfr=${mpfr}
-    --with-mpc=${mpc}
+    --with-mpc=${libmpc}
     ${if libelf != null then "--with-libelf=${libelf}" else ""}
     --disable-libstdcxx-pch
     --without-included-gettext
@@ -348,7 +345,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${stdenv.cross.config}-nm";
     CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
+    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -436,7 +433,7 @@ stdenv.mkDerivation ({
     else null;
 
   passthru = { inherit langC langCC langAda langFortran langVhdl
-      langGo version; };
+      langGo version; isGNU = true; };
 
   enableParallelBuilding = false;
 
@@ -458,7 +455,6 @@ stdenv.mkDerivation ({
     '';
 
     maintainers = [
-      stdenv.lib.maintainers.ludo
       stdenv.lib.maintainers.viric
     ];
 
@@ -480,6 +476,8 @@ stdenv.mkDerivation ({
 # Strip kills static libs of other archs (hence cross != null)
 // optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
 
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+
 // optionalAttrs langVhdl rec {
   name = "ghdl-0.29";
 
diff --git a/pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch b/pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch
deleted file mode 100644
index 1409c552c7d..00000000000
--- a/pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-Partly taken from:
-http://gcc.gnu.org/git/?p=gcc.git;a=patch;h=5617a3db5d04630d0bfb71a3578894b4442f266d
-
-Adapted to gcc 4.6.3. Original commit text follows.
-
-From 5617a3db5d04630d0bfb71a3578894b4442f266d Mon Sep 17 00:00:00 2001
-From: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 20 Apr 2012 07:44:50 +0000
-Subject: [PATCH] 	struct siginfo vs. siginfo_t
-
-gcc/
-	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
-	siginfo_t instead of struct siginfo.
-	* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
-	* config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
-	* config/ia64/linux-unwind.h (ia64_fallback_frame_state)
-	(ia64_handle_unwabi): Likewise.
-	* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
-	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
-	* config/sh/linux-unwind.h (shmedia_fallback_frame_state)
-	(sh_fallback_frame_state): Likewise.
-	* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186610 138bc75d-0d04-0410-961f-82ee72b054a4
-
-diff --git a/gcc/config/alpha/linux-unwind.h b/gcc/config/alpha/linux-unwind.h
-index 4c811dc..8c04b3b 100644
---- a/gcc/config/alpha/linux-unwind.h
-+++ b/gcc/config/alpha/linux-unwind.h
-@@ -1,5 +1,5 @@
- /* DWARF2 EH unwinding support for Alpha Linux.
--   Copyright (C) 2004, 2005, 2009, 2011 Free Software Foundation, Inc.
-+   Copyright (C) 2004, 2005, 2009, 2011, 2012 Free Software Foundation, Inc.
- 
- This file is part of GCC.
- 
-@@ -49,7 +49,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
-   else if (pc[1] == 0x201f015f)		/* lda $0,NR_rt_sigreturn */
-     {
-       struct rt_sigframe {
--	struct siginfo info;
-+	siginfo_t info;
- 	struct ucontext uc;
-       } *rt_ = context->cfa;
-       sc = &rt_->uc.uc_mcontext;
-diff --git a/gcc/config/bfin/linux-unwind.h b/gcc/config/bfin/linux-unwind.h
-index 88c8285..15bb2f1 100644
---- a/gcc/config/bfin/linux-unwind.h
-+++ b/gcc/config/bfin/linux-unwind.h
-@@ -1,5 +1,5 @@
- /* DWARF2 EH unwinding support for Blackfin.
--   Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
- 
- This file is part of GCC.
- 
-@@ -48,10 +48,10 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
-     {
-       struct rt_sigframe {
- 	int sig;
--	struct siginfo *pinfo;
-+	siginfo_t *pinfo;
- 	void *puc;
- 	char retcode[8];
--	struct siginfo info;
-+	siginfo_t info;
- 	struct ucontext uc;
-       } *rt_ = context->cfa;
- 
-diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h
-index ad0ccfa..02b1897 100644
---- a/gcc/config/i386/linux-unwind.h
-+++ b/gcc/config/i386/linux-unwind.h
-@@ -136,9 +136,9 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
-     {
-       struct rt_sigframe {
- 	int sig;
--	struct siginfo *pinfo;
-+	siginfo_t *pinfo;
- 	void *puc;
--	struct siginfo info;
-+	siginfo_t info;
- 	struct ucontext uc;
-       } *rt_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-diff --git a/gcc/config/ia64/linux-unwind.h b/gcc/config/ia64/linux-unwind.h
-index 93f762d..da31259 100644
---- a/gcc/config/ia64/linux-unwind.h
-+++ b/gcc/config/ia64/linux-unwind.h
-@@ -1,5 +1,5 @@
- /* DWARF2 EH unwinding support for IA64 Linux.
--   Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
- 
-    This file is part of GCC.
- 
-@@ -47,7 +47,7 @@ ia64_fallback_frame_state (struct _Unwind_Context *context,
-       struct sigframe {
- 	char scratch[16];
- 	unsigned long sig_number;
--	struct siginfo *info;
-+	siginfo_t *info;
- 	struct sigcontext *sc;
-       } *frame_ = (struct sigframe *)context->psp;
-       struct sigcontext *sc = frame_->sc;
-@@ -137,7 +137,7 @@ ia64_handle_unwabi (struct _Unwind_Context *context, _Unwind_FrameState *fs)
-       struct sigframe {
- 	char scratch[16];
- 	unsigned long sig_number;
--	struct siginfo *info;
-+	siginfo_t *info;
- 	struct sigcontext *sc;
-       } *frame = (struct sigframe *)context->psp;
-       struct sigcontext *sc = frame->sc;
-diff --git a/gcc/config/mips/linux-unwind.h b/gcc/config/mips/linux-unwind.h
-index 02f7cd5..094ff58 100644
---- a/gcc/config/mips/linux-unwind.h
-+++ b/gcc/config/mips/linux-unwind.h
-@@ -1,5 +1,6 @@
- /* DWARF2 EH unwinding support for MIPS Linux.
--   Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2012 Free Software
-+   Foundation, Inc.
- 
- This file is part of GCC.
- 
-@@ -75,7 +76,7 @@ mips_fallback_frame_state (struct _Unwind_Context *context,
-       struct rt_sigframe {
- 	u_int32_t ass[4];  /* Argument save space for o32.  */
- 	u_int32_t trampoline[2];
--	struct siginfo info;
-+	siginfo_t info;
- 	_sig_ucontext_t uc;
-       } *rt_ = context->cfa;
-       sc = &rt_->uc.uc_mcontext;
-diff --git a/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h
-index a0560e9..38b4eda 100644
---- a/gcc/config/pa/linux-unwind.h
-+++ b/gcc/config/pa/linux-unwind.h
-@@ -1,5 +1,5 @@
- /* DWARF2 EH unwinding support for PA Linux.
--   Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
- 
- This file is part of GCC.
- 
-@@ -63,7 +63,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
-   int i;
-   struct sigcontext *sc;
-   struct rt_sigframe {
--    struct siginfo info;
-+    siginfo_t info;
-     struct ucontext uc;
-   } *frame;
- 
-diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h
-index 94ed95d..5a78e31 100644
---- a/gcc/config/sh/linux-unwind.h
-+++ b/gcc/config/sh/linux-unwind.h
-@@ -1,5 +1,6 @@
- /* DWARF2 EH unwinding support for SH Linux.
--   Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2004, 2005, 2006, 2007, 2009, 2012 Free Software Foundation,
-+   Inc.
- 
- This file is part of GCC.
- 
-@@ -80,9 +81,9 @@ shmedia_fallback_frame_state (struct _Unwind_Context *context,
- 	   && (*(unsigned long *) (pc+11)  == 0x6ff0fff0))
-     {
-       struct rt_sigframe {
--	struct siginfo *pinfo;
-+	siginfo_t *pinfo;
- 	void *puc;
--	struct siginfo info;
-+	siginfo_t info;
- 	struct ucontext uc;
-       } *rt_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-@@ -179,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
- 		&& (*(unsigned short *) (pc+14)  == 0x00ad))))
-     {
-       struct rt_sigframe {
--	struct siginfo info;
-+	siginfo_t info;
- 	struct ucontext uc;
-       } *rt_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-diff --git a/gcc/config/xtensa/linux-unwind.h b/gcc/config/xtensa/linux-unwind.h
-index 32e9349..2456497 100644
---- a/gcc/config/xtensa/linux-unwind.h
-+++ b/gcc/config/xtensa/linux-unwind.h
-@@ -1,5 +1,5 @@
- /* DWARF2 EH unwinding support for Xtensa.
--   Copyright (C) 2008, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
- 
- This file is part of GCC.
- 
-@@ -62,7 +62,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
-   struct sigcontext *sc;
- 
-   struct rt_sigframe {
--    struct siginfo info;
-+    siginfo_t info;
-     struct ucontext uc;
-   } *rt_;
- 
--- 
-1.7.3.4
-
diff --git a/pkgs/development/compilers/gcc/4.6/sources.nix b/pkgs/development/compilers/gcc/4.6/sources.nix
index fd347aa8bda..ca50160def4 100644
--- a/pkgs/development/compilers/gcc/4.6/sources.nix
+++ b/pkgs/development/compilers/gcc/4.6/sources.nix
@@ -1,31 +1,27 @@
 /* Automatically generated by `update-gcc.sh', do not edit.
-   For GCC 4.6.3.  */
+   For GCC 4.6.4.  */
 { fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda,
   langGo }:
 
-assert version == "4.6.3";
+assert version == "4.6.4";
 optional /* langC */ true (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
-  sha256 = "283e00881c0de258fafc5170843e4d9b14ee2a7dc4426f0d426e6be0400251c1";
+  sha256 = "48b566f1288f099dff8fba868499a320f83586245ec69b8c82a9042566a5bf62";
 }) ++
 optional langCC (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
-  sha256 = "b3e0c733e900e99096b0c5480f57e22e3e583ec3d83596cc2cb9986bd64b29e8";
+  sha256 = "4eaa347f9cd3ab7d5e14efbb9c5c03009229cd714b558fc55fa56e8996b74d42";
 }) ++
 optional langFortran (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
-  sha256 = "fe1bdf3485f33e6d0a998ff7bcb42526fbf3083dbfc107c3d95a88c00739eadb";
+  sha256 = "4f402e0d27995a02354570f0a63047f27463c72c62f1ba3c08ef5a7c6c9c3d1c";
 }) ++
 optional langJava (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
-  sha256 = "d0f9aafbd8fe95fdee5797cd02a9a734de0078aa62a9a249b0752adabf76d6e6";
+  sha256 = "4441d0c3cc04f2162f981c6b4bf29cdd9f6c16d294ce24c6bc4a05d8277abf28";
 }) ++
 optional langAda (fetchurl {
   url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2";
-  sha256 = "7bb213ec3948646df72720580fcba3489c84aa452bd0e4238712607ef83cbdf6";
-}) ++
-optional langGo (fetchurl {
-  url = "mirror://gcc/releases/gcc-${version}/gcc-go-${version}.tar.bz2";
-  sha256 = "7589c16f33ad383769510bb5b9c1aeb7f865f3ae0b89b07b2370d988a4c1fe6d";
+  sha256 = "2a09bbf942b2557839722d4807e67559123037356f5cb1a3b12f44539968d0ad";
 }) ++
 []
diff --git a/pkgs/development/compilers/gcc/4.8/builder.sh b/pkgs/development/compilers/gcc/4.8/builder.sh
index a839f94bbd2..8cf04ce1c35 100644
--- a/pkgs/development/compilers/gcc/4.8/builder.sh
+++ b/pkgs/development/compilers/gcc/4.8/builder.sh
@@ -20,12 +20,12 @@ echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
 
 if test "$noSysDirs" = "1"; then
 
-    if test -e $NIX_GCC/nix-support/orig-libc; then
+    if test -e $NIX_CC/nix-support/orig-libc; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+        extraFlags="$(cat $NIX_CC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
         # that does not include Glibc's limits.h (notably missing
@@ -33,7 +33,7 @@ if test "$noSysDirs" = "1"; then
         export NIX_FIXINC_DUMMY=$libc_dev/include
 
         # The path to the Glibc binaries such as `crti.o'.
-        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
+        glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib"
 
     else
         # Hack: support impure environments.
@@ -75,7 +75,7 @@ if test "$noSysDirs" = "1"; then
             EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib -Wl,-rpath,${libcCross}/lib -Wl,-rpath-link,${libcCross}/lib"
         fi
     else
-        if test -z "$NIX_GCC_CROSS"; then
+        if test -z "$NIX_CC_CROSS"; then
             EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
             EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS"
             EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
@@ -83,20 +83,20 @@ if test "$noSysDirs" = "1"; then
             # This the case of cross-building the gcc.
             # We need special flags for the target, different than those of the build
             # Assertion:
-            test -e $NIX_GCC_CROSS/nix-support/orig-libc
+            test -e $NIX_CC_CROSS/nix-support/orig-libc
 
             # Figure out what extra flags to pass to the gcc compilers
             # being generated to make sure that they use our glibc.
-            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
-            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
+            extraFlags="$(cat $NIX_CC_CROSS/nix-support/libc-cflags)"
+            extraLDFlags="$(cat $NIX_CC_CROSS/nix-support/libc-ldflags) $(cat $NIX_CC_CROSS/nix-support/libc-ldflags-before)"
 
             # Use *real* header files, otherwise a limits.h is generated
             # that does not include Glibc's limits.h (notably missing
             # SSIZE_MAX, which breaks the build).
-            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
+            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_CC_CROSS/nix-support/orig-libc)/include
 
             # The path to the Glibc binaries such as `crti.o'.
-            glibc_dir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)"
+            glibc_dir="$(cat $NIX_CC_CROSS/nix-support/orig-libc)"
             glibc_libdir="$glibc_dir/lib"
             configureFlags="$configureFlags --with-native-system-header-dir=$glibc_dir/include"
 
@@ -168,7 +168,7 @@ preConfigure() {
         rm -Rf zlib
     fi
 
-    if test -f "$NIX_GCC/nix-support/orig-libc"; then
+    if test -f "$NIX_CC/nix-support/orig-libc"; then
         # Patch the configure script so it finds glibc headers.  It's
         # important for example in order not to get libssp built,
         # because its functionality is in glibc already.
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index bd69476aa59..d94a0797e38 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -11,14 +11,16 @@
 , enableShared ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
-, gmp, mpfr, mpc, gettext, which
+, gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
 , cloog ? null, isl ? null # optional, for the Graphite optimization framework.
 , zlib ? null, boehmgc ? null
-, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null
+, zip ? null, unzip ? null, pkgconfig ? null
+, gtk ? 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
 , enableMultilib ? false
 , enablePlugin ? true             # whether to support user-supplied plug-ins
@@ -54,14 +56,14 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "4.8.3";
+let version = "4.8.4";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
     enableParallelBuilding = true;
 
-    patches = []
+    patches = [ ]
       ++ optional enableParallelBuilding ./parallel-bconfig.patch
       ++ optional (cross != null) ./libstdc++-target.patch
       ++ optional noSysDirs ./no-sys-dirs.patch
@@ -82,8 +84,8 @@ let version = "4.8.3";
     # 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";
+      url = http://www.antlr.org/download/antlr-4.4-complete.jar;
+      sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
     };
 
     xlibs = [
@@ -91,7 +93,7 @@ let version = "4.8.3";
       xproto renderproto xextproto inputproto randrproto
     ];
 
-    javaAwtGtk = langJava && gtk != null;
+    javaAwtGtk = langJava && x11Support;
 
     /* Platform flags */
     platformFlags = let
@@ -200,7 +202,7 @@ let version = "4.8.3";
 in
 
 # We need all these X libraries when building AWT with GTK+.
-assert gtk != null -> (filter (x: x == null) xlibs) == [];
+assert x11Support -> (filter (x: x == null) ([ gtk libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
   name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
@@ -209,7 +211,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka";
+    sha256 = "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a";
   };
 
   inherit patches;
@@ -218,7 +220,7 @@ stdenv.mkDerivation ({
   setOutputFlags = false;
   NIX_NO_SELF_RPATH = true;
 
-  libc_dev = stdenv.gcc.libc_dev;
+  libc_dev = stdenv.cc.libc_dev;
 
   postPatch =
     if (stdenv.isGNU
@@ -257,11 +259,11 @@ stdenv.mkDerivation ({
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
         ''
-    else if cross != null || stdenv.gcc.libc != null then
+    else if cross != null || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
-        libc = if libcCross != null then libcCross else stdenv.gcc.libc;
+        libc = if libcCross != null then libcCross else stdenv.cc.libc;
       in
         '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
@@ -281,7 +283,7 @@ stdenv.mkDerivation ({
     ++ (optional (perl != null) perl)
     ++ (optional javaAwtGtk pkgconfig);
 
-  buildInputs = [ gmp mpfr mpc libelf ]
+  buildInputs = [ gmp mpfr libmpc libelf ]
     ++ (optional (cloog != null) cloog)
     ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
@@ -339,7 +341,7 @@ stdenv.mkDerivation ({
     ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
     --with-gmp=${gmp}
     --with-mpfr=${mpfr}
-    --with-mpc=${mpc}
+    --with-mpc=${libmpc}
     ${if libelf != null then "--with-libelf=${libelf}" else ""}
     --disable-libstdcxx-pch
     --without-included-gettext
@@ -403,7 +405,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${stdenv.cross.config}-nm";
     CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
+    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -493,7 +495,7 @@ stdenv.mkDerivation ({
     else null;
 
   passthru =
-    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; };
+    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
 
   inherit enableParallelBuilding enableMultilib;
 
@@ -514,7 +516,7 @@ stdenv.mkDerivation ({
       compiler used in the GNU system including the GNU/Linux variant.
     '';
 
-    maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
+    maintainers = with stdenv.lib.maintainers; [ viric shlevy simons ];
 
     # gnatboot is not available out of linux platforms, so we disable the darwin build
     # for the gnat (ada compiler).
@@ -532,4 +534,6 @@ stdenv.mkDerivation ({
 
 # Strip kills static libs of other archs (hence cross != null)
 // optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcc/4.9/builder.sh b/pkgs/development/compilers/gcc/4.9/builder.sh
index b781fa6c7ef..96bbd025ba6 100644
--- a/pkgs/development/compilers/gcc/4.9/builder.sh
+++ b/pkgs/development/compilers/gcc/4.9/builder.sh
@@ -19,20 +19,20 @@ echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'"
 
 if test "$noSysDirs" = "1"; then
 
-    if test -e $NIX_GCC/nix-support/orig-libc; then
+    if test -e $NIX_CC/nix-support/orig-libc; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
-        extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
+        extraFlags="$(cat $NIX_CC/nix-support/libc-cflags)"
+        extraLDFlags="$(cat $NIX_CC/nix-support/libc-ldflags) $(cat $NIX_CC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
         # that does not include Glibc's limits.h (notably missing
         # SSIZE_MAX, which breaks the build).
-        export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include
+        export NIX_FIXINC_DUMMY=$(cat $NIX_CC/nix-support/orig-libc)/include
 
         # The path to the Glibc binaries such as `crti.o'.
-        glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib"
+        glibc_libdir="$(cat $NIX_CC/nix-support/orig-libc)/lib"
 
     else
         # Hack: support impure environments.
@@ -74,7 +74,7 @@ if test "$noSysDirs" = "1"; then
             EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib -Wl,-rpath,${libcCross}/lib -Wl,-rpath-link,${libcCross}/lib"
         fi
     else
-        if test -z "$NIX_GCC_CROSS"; then
+        if test -z "$NIX_CC_CROSS"; then
             EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS"
             EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS"
             EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
@@ -82,20 +82,20 @@ if test "$noSysDirs" = "1"; then
             # This the case of cross-building the gcc.
             # We need special flags for the target, different than those of the build
             # Assertion:
-            test -e $NIX_GCC_CROSS/nix-support/orig-libc
+            test -e $NIX_CC_CROSS/nix-support/orig-libc
 
             # Figure out what extra flags to pass to the gcc compilers
             # being generated to make sure that they use our glibc.
-            extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)"
-            extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)"
+            extraFlags="$(cat $NIX_CC_CROSS/nix-support/libc-cflags)"
+            extraLDFlags="$(cat $NIX_CC_CROSS/nix-support/libc-ldflags) $(cat $NIX_CC_CROSS/nix-support/libc-ldflags-before)"
 
             # Use *real* header files, otherwise a limits.h is generated
             # that does not include Glibc's limits.h (notably missing
             # SSIZE_MAX, which breaks the build).
-            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include
+            NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_CC_CROSS/nix-support/orig-libc)/include
 
             # The path to the Glibc binaries such as `crti.o'.
-            glibc_dir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)"
+            glibc_dir="$(cat $NIX_CC_CROSS/nix-support/orig-libc)"
             glibc_libdir="$glibc_dir/lib"
             configureFlags="$configureFlags --with-native-system-header-dir=$glibc_dir/include"
 
@@ -171,11 +171,11 @@ preConfigure() {
         rm -Rf zlib
     fi
 
-    if test -f "$NIX_GCC/nix-support/orig-libc"; then
+    if test -f "$NIX_CC/nix-support/orig-libc"; then
         # Patch the configure script so it finds glibc headers.  It's
         # important for example in order not to get libssp built,
         # because its functionality is in glibc already.
-        glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include"
+        glibc_headers="$(cat $NIX_CC/nix-support/orig-libc)/include"
         sed -i \
             -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \
             gcc/configure
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index ae6bf077a2a..315c92664b3 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -9,7 +9,7 @@
 , enableShared ? true
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
-, gmp, mpfr, mpc, gettext, which
+, gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
 , cloog ? null, isl ? null # optional, for the Graphite optimization framework.
 , zlib ? null, boehmgc ? null
@@ -52,7 +52,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "4.9.1";
+let version = "4.9.2";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
@@ -153,7 +153,6 @@ let version = "4.9.1";
           " --disable-libssp --disable-nls" +
           " --without-headers" +
           " --disable-threads " +
-          " --disable-libmudflap " +
           " --disable-libgomp " +
           " --disable-libquadmath" +
           " --disable-shared" +
@@ -206,7 +205,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "0zki3ngi0gsidnmsp88mjl2868cc7cm5wm1vwqw6znja28d7hd6k";
+    sha256 = "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810";
   };
 
   inherit patches;
@@ -248,11 +247,11 @@ stdenv.mkDerivation ({
            sed -i "${gnu_h}" \
                -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
         ''
-    else if cross != null || stdenv.gcc.libc != null then
+    else if cross != null || stdenv.cc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
-        libc = if libcCross != null then libcCross else stdenv.gcc.libc;
+        libc = if libcCross != null then libcCross else stdenv.cc.libc;
       in
         '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
@@ -272,7 +271,7 @@ stdenv.mkDerivation ({
     ++ (optional (perl != null) perl)
     ++ (optional javaAwtGtk pkgconfig);
 
-  buildInputs = [ gmp mpfr mpc libelf ]
+  buildInputs = [ gmp mpfr libmpc libelf ]
     ++ (optional (cloog != null) cloog)
     ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
@@ -324,7 +323,7 @@ stdenv.mkDerivation ({
     ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
     --with-gmp=${gmp}
     --with-mpfr=${mpfr}
-    --with-mpc=${mpc}
+    --with-mpc=${libmpc}
     ${if libelf != null then "--with-libelf=${libelf}" else ""}
     --disable-libstdcxx-pch
     --without-included-gettext
@@ -386,7 +385,7 @@ stdenv.mkDerivation ({
     NM_FOR_TARGET = "${stdenv.cross.config}-nm";
     CXX_FOR_TARGET = "${stdenv.cross.config}-g++";
     # If we are making a cross compiler, cross != null
-    NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else "";
+    NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
     dontStrip = true;
     configureFlags = ''
       ${if enableMultilib then "" else "--disable-multilib"}
@@ -476,7 +475,7 @@ stdenv.mkDerivation ({
     else null;
 
   passthru =
-    { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; };
+    { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; isGNU = true; };
 
   inherit enableParallelBuilding;
 
@@ -495,7 +494,7 @@ stdenv.mkDerivation ({
       compiler used in the GNU system including the GNU/Linux variant.
     '';
 
-    maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ];
+    maintainers = with stdenv.lib.maintainers; [ viric shlevy simons ];
 
     # gnatboot is not available out of linux platforms, so we disable the darwin build
     # for the gnat (ada compiler).
@@ -513,4 +512,6 @@ stdenv.mkDerivation ({
 
 # Strip kills static libs of other archs (hence cross != null)
 // optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/gcl/default.nix b/pkgs/development/compilers/gcl/default.nix
index 73492fc65b7..a31517afbeb 100644
--- a/pkgs/development/compilers/gcl/default.nix
+++ b/pkgs/development/compilers/gcl/default.nix
@@ -9,19 +9,18 @@ let
 in
 
 (
-assert a.stdenv ? gcc ;
-assert a.stdenv.gcc ? gcc ;
-assert a.stdenv.gcc ? libc ;
-assert a.stdenv.gcc.gcc != null ;
-assert a.stdenv.gcc.libc != null ;
+assert a.stdenv ? cc ;
+assert a.stdenv.cc.cc.isGNU or false ;
+assert a.stdenv.cc ? libc ;
+assert a.stdenv.cc.libc != null ;
 
 rec {
   src = a.fetchurl {
-    sha256 = "1vsicv81ml7d92c87bckgkpvcshi6hzdnj44k0j6zs5mj8pzp8br";
-    url="http://gnu.spinellicreations.com/gcl/gcl-2.6.10.tar.gz";
+    sha256 = "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f";
+    url="http://gnu.spinellicreations.com/gcl/${name}.tar.gz";
   };
 
-  name = "gcl-2.6.10";
+  name = "gcl-2.6.12";
   inherit buildInputs;
   configureFlags = [
     "--enable-ansi"
@@ -37,7 +36,7 @@ rec {
   preBuild = a.fullDepEntry (''
     sed -re "s@/bin/cat@$(which cat)@g" -i configure */configure
     sed -re "s@if test -d /proc/self @if false @" -i configure
-    sed -re 's^([ \t])cpp ^\1cpp -I${a.stdenv.gcc.gcc}/include -I${a.stdenv.gcc.libc}/include ^g' -i makefile
+    sed -re 's^([ \t])cpp ^\1cpp -I${a.stdenv.cc.cc}/include -I${a.stdenv.cc.libc}/include ^g' -i makefile
   '') ["minInit" "doUnpack" "addInputs"];
 
   /* doConfigure should be removed if not needed */
diff --git a/pkgs/development/compilers/gforth/default.nix b/pkgs/development/compilers/gforth/default.nix
new file mode 100644
index 00000000000..c6165bb5586
--- /dev/null
+++ b/pkgs/development/compilers/gforth/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, m4 }:
+
+let
+  version = "0.7.3";
+in
+stdenv.mkDerivation {
+  name = "gforth-${version}";
+  src = fetchurl {
+    url = "http://ftp.gnu.org/gnu/gforth/gforth-${version}.tar.gz";
+    sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig";
+  };
+
+  buildInputs = [ m4 ];
+
+  postInstall = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp gforth.el $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    description = "The Forth implementation of the GNU project";
+    homepage = https://www.gnu.org/software/gforth/;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+  };
+}
diff --git a/pkgs/development/compilers/ghc/6.10.1-binary.nix b/pkgs/development/compilers/ghc/6.10.1-binary.nix
deleted file mode 100644
index e7d4d3c1946..00000000000
--- a/pkgs/development/compilers/ghc/6.10.1-binary.nix
+++ /dev/null
@@ -1,103 +0,0 @@
-{stdenv, fetchurl, perl, libedit, ncurses, gmp}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.1";
-
-  name = "ghc-${version}-binary";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        # This binary requires libedit.so.0 (rather than libedit.so.2).
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
-        sha256 = "18l0vwlf7y86s65klpdvz4ccp8kydvcmyh03c86hld8jvx16q7zz";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        # Idem.
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
-        sha256 = "14jvvn333i36wm7mmvi47jr93f5hxrw1h2dpjvqql0rp00svhzzg";
-      }
-    else if stdenv.system == "i686-darwin" then
-      fetchurl {
-        # Idem.
-        url = "http://haskell.org/ghc/dist/${version}/maeder/ghc-${version}-i386-apple-darwin.tar.bz2";
-        sha256 = "0lax61cfzxkrjb7an3magdax6c8fygsirpw9qfmc651k2sfby1mq";
-      }
-    else throw "cannot bootstrap GHC on this platform";
-
-  buildInputs = [perl];
-
-  postUnpack =
-    # 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"
-     '' +
-    # On Linux, use patchelf to modify the executables so that they can
-    # find editline/gmp.
-    (if stdenv.isLinux then ''
-      find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          --set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
-      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
-     '' else "");
-
-  configurePhase = ''
-    ${if stdenv.isDarwin then "export DYLD_LIBRARY_PATH=${gmp}/lib" else ""}
-    cp $(type -P pwd) utils/pwd/pwd
-    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
-  '';
-
-  # 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 ...
-  buildPhase = "true";
-
-  # The binaries for Darwin use frameworks, so fake those frameworks,
-  # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
-  # that the executables work with no special setup.
-  postInstall =
-    (if stdenv.isDarwin then
-      ''
-        mv $out/bin $out/bin-orig
-        mkdir $out/bin
-        for i in $(cd $out/bin-orig && ls); do
-            echo "#! $SHELL -e" >> $out/bin/$i
-            echo "export DYLD_LIBRARY_PATH=\"${gmp}/lib:${libedit}/lib\"" >> $out/bin/$i
-            echo "exec $out/bin-orig/$i \"\$@\"" >> $out/bin/$i
-            chmod +x $out/bin/$i
-        done
-      '' else "")
-    +
-      ''
-        # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
-        sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
-
-        # 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" ]
-      '';
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
-}
diff --git a/pkgs/development/compilers/ghc/6.10.1.nix b/pkgs/development/compilers/ghc/6.10.1.nix
deleted file mode 100644
index ccb9f434230..00000000000
--- a/pkgs/development/compilers/ghc/6.10.1.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.1";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "16q08cxxsmh4hgjhvkl739pc1hh81gljycfq1d2z6m1ld3jpbi22";
-  };
-
-  buildInputs = [ghc libedit perl gmp];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-
-  passthru = {
-    corePackages = [
-      [ "Cabal" "1.6.0.1" ]
-      [ "array" "0.2.0.0" ]
-      [ "base" "3.0.3.0" ]
-      [ "base" "4.0.0.0" ]
-      [ "bytestring" "0.9.1.4" ]
-      [ "containers" "0.2.0.0" ]
-      [ "directory" "1.0.0.2" ]
-      [ "editline" "0.2.1.0" ]
-      [ "filepath" "1.1.0.1" ]
-      [ "(ghc" "6.10.1)" ]
-      [ "ghc-prim" "0.1.0.0" ]
-      [ "haddock" "2.3.0" ]
-      [ "haskell98" "1.0.1.0" ]
-      [ "hpc" "0.5.0.2" ]
-      [ "integer" "0.1.0.0" ]
-      [ "old-locale" "1.0.0.1" ]
-      [ "old-time" "1.0.0.1" ]
-      [ "packedstring" "0.1.0.1" ]
-      [ "pretty" "1.0.1.0" ]
-      [ "process" "1.0.1.0" ]
-      [ "random" "1.0.0.1" ]
-      [ "rts" "1.0" ]
-      [ "syb" "0.1.0.0" ]
-      [ "template-haskell" "2.3.0.0" ]
-      [ "unix" "2.3.1.0" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix
index 5af89e38c21..1e755ab6c0c 100644
--- a/pkgs/development/compilers/ghc/6.10.2-binary.nix
+++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     # find editline/gmp.
     (if stdenv.isLinux then ''
       find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           --set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
       for prog in ld ar gcc strip ranlib; do
         find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
diff --git a/pkgs/development/compilers/ghc/6.10.2.nix b/pkgs/development/compilers/ghc/6.10.2.nix
deleted file mode 100644
index 4988734f580..00000000000
--- a/pkgs/development/compilers/ghc/6.10.2.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.2";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "0q3wgp8svfl54kpyp55a1kh63cni5vzz811hqjsps84jdg0lg56m";
-  };
-
-  buildInputs = [ghc libedit perl gmp];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  passthru = {
-    corePackages = [
-      [ "Cabal" "1.6.0.3" ]
-      [ "array" "0.2.0.0" ]
-      [ "base" "3.0.3.1" ]
-      [ "base" "4.1.0.0" ]
-      [ "bytestring" "0.9.1.4" ]
-      [ "containers" "0.2.0.1" ]
-      [ "directory" "1.0.0.3" ]
-      [ "editline" "0.2.1.0" ]
-      [ "filepath" "1.1.0.2" ]
-      [ "(ghc" "6.10.2)" ]
-      [ "ghc-prim" "0.1.0.0" ]
-      [ "haddock" "2.4.2" ]
-      [ "haskell98" "1.0.1.0" ]
-      [ "hpc" "0.5.0.3" ]
-      [ "integer" "0.1.0.1" ]
-      [ "old-locale" "1.0.0.1" ]
-      [ "old-time" "1.0.0.2" ]
-      [ "packedstring" "0.1.0.1" ]
-      [ "pretty" "1.0.1.0" ]
-      [ "process" "1.0.1.1" ]
-      [ "random" "1.0.0.1" ]
-      [ "rts" "1.0" ]
-      [ "syb" "0.1.0.1" ]
-      [ "template-haskell" "2.3.0.1" ]
-      [ "unix" "2.3.2.0" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.10.3.nix b/pkgs/development/compilers/ghc/6.10.3.nix
deleted file mode 100644
index f6683278e45..00000000000
--- a/pkgs/development/compilers/ghc/6.10.3.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.10.3";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "82d104ab8b24f27c3566b5693316c779427794a137237b3df925c55e20905893";
-  };
-
-  buildInputs = [ghc libedit perl gmp];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-
-  passthru = {
-    corePackages = [
-      [ "Cabal" "1.6.0.3" ]
-      [ "array" "0.2.0.0" ]
-      [ "base" "3.0.3.1" ]
-      [ "base" "4.1.0.0" ]
-      [ "bytestring" "0.9.1.4" ]
-      [ "containers" "0.2.0.1" ]
-      [ "directory" "1.0.0.3" ]
-      [ "extensible-exceptions" "0.1.1.0" ]
-      [ "filepath" "1.1.0.2" ]
-      [ "ghc" "6.10.3" ]
-      [ "ghc-prim" "0.1.0.0" ]
-      [ "haddock" "2.4.2" ]
-      [ "haskell98" "1.0.1.0" ]
-      [ "hpc" "0.5.0.3" ]
-      [ "integer" "0.1.0.1" ]
-      [ "old-locale" "1.0.0.1" ]
-      [ "old-time" "1.0.0.2" ]
-      [ "packedstring" "0.1.0.1" ]
-      [ "pretty" "1.0.1.0" ]
-      [ "process" "1.0.1.1" ]
-      [ "random" "1.0.0.1" ]
-      [ "rts" "1.0" ]
-      [ "syb" "0.1.0.1" ]
-      [ "template-haskell" "2.3.0.1" ]
-      [ "unix" "2.3.2.0" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.10.4.nix b/pkgs/development/compilers/ghc/6.10.4.nix
index 5d02088c44c..d8157673fbc 100644
--- a/pkgs/development/compilers/ghc/6.10.4.nix
+++ b/pkgs/development/compilers/ghc/6.10.4.nix
@@ -5,56 +5,25 @@ stdenv.mkDerivation rec {
 
   name = "ghc-${version}";
 
-  homepage = "http://haskell.org/ghc";
-
   src = fetchurl {
-    url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
+    url = "${meta.homepage}/dist/${version}/${name}-src.tar.bz2";
     sha256 = "d66a8e52572f4ff819fe5c4e34c6dd1e84a7763e25c3fadcc222453c0bd8534d";
   };
 
   buildInputs = [ghc libedit perl gmp];
 
-  configureFlags=[
+  configureFlags = [
     "--with-gmp-libraries=${gmp}/lib"
     "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
+    "--with-gcc=${stdenv.cc}/bin/gcc"
   ];
 
   NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
 
   meta = {
-    inherit homepage;
+    homepage = "http://haskell.org/ghc";
     description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  passthru = {
-    corePackages = [
-      [ "Cabal" "1.6.0.3" ]
-      [ "array" "0.2.0.0" ]
-      [ "base" "3.0.3.1" ]
-      [ "base" "4.1.0.0" ]
-      [ "bytestring" "0.9.1.4" ]
-      [ "containers" "0.2.0.1" ]
-      [ "directory" "1.0.0.3" ]
-      [ "extensible-exceptions" "0.1.1.0" ]
-      [ "filepath" "1.1.0.2" ]
-      [ "ghc" "6.10.4" ]
-      [ "ghc-prim" "0.1.0.0" ]
-      [ "haddock" "2.4.2" ]
-      [ "haskell98" "1.0.1.0" ]
-      [ "hpc" "0.5.0.3" ]
-      [ "integer" "0.1.0.1" ]
-      [ "old-locale" "1.0.0.1" ]
-      [ "old-time" "1.0.0.2" ]
-      [ "packedstring" "0.1.0.1" ]
-      [ "pretty" "1.0.1.0" ]
-      [ "process" "1.0.1.1" ]
-      [ "random" "1.0.0.1" ]
-      [ "rts" "1.0" ]
-      [ "syb" "0.1.0.1" ]
-      [ "template-haskell" "2.3.0.1" ]
-      [ "unix" "2.3.2.0" ]
-    ];
+    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is unsupported.
+    inherit (ghc.meta) license;
   };
 }
diff --git a/pkgs/development/compilers/ghc/6.11.nix b/pkgs/development/compilers/ghc/6.11.nix
deleted file mode 100644
index 914403cdd66..00000000000
--- a/pkgs/development/compilers/ghc/6.11.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses, happy, alex}:
-
-stdenv.mkDerivation rec {
-  version = "6.11.20090916";
-
-  name = "ghc-${version}";
-
-  homepage = "http://haskell.org/ghc";
-
-  src = fetchurl {
-    url = "${homepage}/dist/current/dist/${name}-src.tar.bz2";
-    sha256 = "a229c5052f401d03cdb77b8a96643eb80ba3faf1a9d0578c6fede1ce2a63cede";
-  };
-
-  buildInputs = [ghc libedit perl gmp happy alex];
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  preConfigure=[
-    "make distclean"
-  ];
-
-  meta = {
-    inherit homepage;
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.12.1-binary.nix b/pkgs/development/compilers/ghc/6.12.1-binary.nix
deleted file mode 100644
index da4658c3829..00000000000
--- a/pkgs/development/compilers/ghc/6.12.1-binary.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{stdenv, fetchurl, perl, ncurses, gmp}:
-
-stdenv.mkDerivation rec {
-  version = "6.12.1";
-
-  name = "ghc-${version}-binary";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux-n.tar.bz2";
-        sha256 = "15kp8mnm4ig6a7k1a1j12lyhdcs75myv6ralfywjzpl27pd77gmk";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux-n.tar.bz2";
-        sha256 = "08cb4bgyj23qsbqay4pqs81jha40njkx63ng7l827cydx2pm3qxs";
-      }
-    else throw "cannot bootstrap GHC on this platform";
-
-  buildInputs = [perl];
-
-  postUnpack =
-    # 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}/lib@" {} \;
-     '' +
-    # On Linux, use patchelf to modify the executables so that they can
-    # find editline/gmp.
-    (if stdenv.isLinux then ''
-      find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
-      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
-     '' else "");
-
-  configurePhase = ''
-    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
-  '';
-
-  # 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 ...
-  buildPhase = "true";
-
-  # The binaries for Darwin use frameworks, so fake those frameworks,
-  # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
-  # that the executables work with no special setup.
-  postInstall =
-    (if stdenv.isDarwin then
-      ''
-        mkdir -p $out/frameworks/GMP.framework/Versions/A
-        ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
-        ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
-        # !!! fix this
-
-        mv $out/bin $out/bin-orig
-        mkdir $out/bin
-        for i in $(cd $out/bin-orig && ls); do
-            echo \"#! $SHELL -e\" >> $out/bin/$i
-            echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i
-            chmod +x $out/bin/$i
-        done
-      '' else "")
-    +
-      ''
-        # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
-        # sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
-
-        # 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" ]
-      '';
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux"];
-}
diff --git a/pkgs/development/compilers/ghc/6.12.1.nix b/pkgs/development/compilers/ghc/6.12.1.nix
deleted file mode 100644
index 31c763c4505..00000000000
--- a/pkgs/development/compilers/ghc/6.12.1.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.12.1";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = http://haskell.org/ghc/dist/6.12.1/ghc-6.12.1-src.tar.bz2;
-    sha256 = "0ajm4sypk4zgjp0m6i03fadyv5dm9vlqfnvsx1g94yk7vnd9zyfd";
-  };
-
-  buildInputs = [ghc perl gmp ncurses];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.12.2.nix b/pkgs/development/compilers/ghc/6.12.2.nix
deleted file mode 100644
index 5db5fc49fc6..00000000000
--- a/pkgs/development/compilers/ghc/6.12.2.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "6.12.2";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "7f1e39f0b3ddaca35b55cd430ca058d1c4678445a7177391c9cb6342b7c41a30";
-  };
-
-  buildInputs = [ghc perl gmp ncurses];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.12.3.nix b/pkgs/development/compilers/ghc/6.12.3.nix
index 08c9c1739ed..f6beaf3a006 100644
--- a/pkgs/development/compilers/ghc/6.12.3.nix
+++ b/pkgs/development/compilers/ghc/6.12.3.nix
@@ -15,14 +15,16 @@ stdenv.mkDerivation rec {
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
   '';
 
   preConfigure = ''
     echo "${buildMK}" > mk/build.mk
   '';
 
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
+  configureFlags = [
+    "--with-gcc=${stdenv.cc}/bin/gcc"
   ];
 
   NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
@@ -34,50 +36,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://haskell.org/ghc";
     description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ];
+    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is unsupported.
+    inherit (ghc.meta) license;
   };
 }
diff --git a/pkgs/development/compilers/ghc/6.4.2-binary.nix b/pkgs/development/compilers/ghc/6.4.2-binary.nix
deleted file mode 100644
index b42602829ac..00000000000
--- a/pkgs/development/compilers/ghc/6.4.2-binary.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{stdenv, fetchurl, perl, readline, ncurses, gmp}:
-
-stdenv.mkDerivation {
-  name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = http://tarballs.nixos.org/ghc-6.4.2-i386-unknown-linux.tar.bz2;
-        md5 = "092fe2e25dab22b926babe97cc77db1f";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = http://haskell.org/ghc/dist/6.4.2/ghc-6.4.2-x86_64-unknown-linux.tar.bz2;
-        md5 = "8f5fe48798f715cd05214a10987bf6d5";
-      }
-    else if stdenv.system == "i686-darwin" then
-      /* Yes, this isn't GHC 6.4.2.  But IIRC either there was no
-         6.4.2 binary for Darwin, or it didn't work.  In any case, in
-         Nixpkgs we just need this bootstrapping a "real" GHC. */
-      fetchurl {
-        url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-i386-apple-darwin.tar.bz2;
-        sha256 = "1drbsicanr6jlykvs4vs6gbi2q9ac1bcaxz2vzwh3pfv3lfibwia";
-      }
-    else throw "cannot bootstrap GHC on this platform";
-
-  buildInputs = [perl];
-
-  # On Linux, use patchelf to modify the executables so that they can
-  # find readline/gmp.
-  postBuild = if stdenv.isLinux then "
-    find . -type f -perm +100 \\
-        -exec patchelf --interpreter \"$(cat $NIX_GCC/nix-support/dynamic-linker)\" \\
-        --set-rpath \"${readline}/lib:${ncurses}/lib:${gmp}/lib\" {} \\;
-  " else "";
-
-  # Stripping combined with patchelf breaks the executables (they die
-  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
-  dontStrip = true;
-
-  # The binaries for Darwin use frameworks, so fake those frameworks,
-  # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
-  # that the executables work with no special setup.
-  postInstall = if stdenv.isDarwin then ''
-
-    mkdir -p $out/frameworks/GMP.framework/Versions/A
-    ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
-    ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
-    mkdir -p $out/frameworks/GNUreadline.framework/Versions/A
-    ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/GNUreadline
-    ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/Versions/A/GNUreadline
-
-    mkdir $out/bin-orig
-    for i in $(cd $out/bin && ls *); do
-        mv $out/bin/$i $out/bin-orig/$i
-        echo "#! $SHELL -e" >> $out/bin/$i
-        extraFlag=
-        if test $i != ghc-pkg; then extraFlag="-framework-path $out/frameworks"; fi
-        echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \"\$@\"" >> $out/bin/$i
-        chmod +x $out/bin/$i
-    done
-
-  '' else "";
-
-  meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
-}
diff --git a/pkgs/development/compilers/ghc/6.4.2.nix b/pkgs/development/compilers/ghc/6.4.2.nix
deleted file mode 100644
index e336d4e83b1..00000000000
--- a/pkgs/development/compilers/ghc/6.4.2.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{stdenv, fetchurl, perl, ghc, m4, readline, ncurses, gmp}:
-
-stdenv.mkDerivation {
-  name = "ghc-6.4.2";
-
-  src = fetchurl {
-    url = http://www.haskell.org/ghc/dist/6.4.2/ghc-6.4.2-src.tar.bz2;
-    md5 = "a394bf14e94c3bca5507d568fcc03375";
-  };
-
-  buildInputs = [perl ghc m4];
-
-  propagatedBuildInputs = [readline ncurses gmp];
-
-  configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
-
-  preConfigure =
-    ''
-      # Don't you hate build processes that write in $HOME? :-(
-      export HOME=$(pwd)/fake-home
-      mkdir -p $HOME
-    '';
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-}
diff --git a/pkgs/development/compilers/ghc/6.6.1.nix b/pkgs/development/compilers/ghc/6.6.1.nix
deleted file mode 100644
index 0f91b9d5052..00000000000
--- a/pkgs/development/compilers/ghc/6.6.1.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{stdenv, fetchurl, readline, ghc, perl58, m4, gmp, ncurses}:
-
-stdenv.mkDerivation (rec {
-  name = "ghc-6.6.1";
-
-  src = map fetchurl [
-    { url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src.tar.bz2;
-      md5 = "ba9f4aec2fde5ff1e1548ae69b78aeb0";
-    }
-    { url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src-extralibs.tar.bz2;
-      md5 = "43a26b81608b206c056adc3032f7da2a";
-    }
-  ];
-
-  buildInputs = [ghc readline perl58 m4 gmp];
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  postInstall = ''
-    mkdir -p "$out/nix-support"
-    echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook
-    echo "ghc=$out" >> $out/nix-support/setup-hook
-    echo ""         >> $out/nix-support/setup-hook
-    cat $setupHook  >> $out/nix-support/setup-hook
-  '';
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-readline-libraries=${readline}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-gcc=${gcc}/bin/gcc"
-  ];
-
-  preConfigure = ''
-    # still requires a hack for ncurses
-    sed -i "s|^\(library-dirs.*$\)|\1 \"${ncurses}/lib\"|" libraries/readline/package.conf.in
-    # fix for gcc 4.2
-    echo "SplitObjs=NO" >> mk/build.mk
-  '';
-
-  inherit (stdenv) gcc;
-  inherit readline gmp ncurses;
-})
diff --git a/pkgs/development/compilers/ghc/6.8.2.nix b/pkgs/development/compilers/ghc/6.8.2.nix
deleted file mode 100644
index 8af15862590..00000000000
--- a/pkgs/development/compilers/ghc/6.8.2.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}:
-
-stdenv.mkDerivation (rec {
-  version = "6.8.2";
-  name = "ghc-${version}";
-  homepage = "http://www.haskell.org/ghc";
-
-  src = map fetchurl [
-    { url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-      sha256 = "2d10f973c35e8d7d9f62b53e26fef90177a9a15105cda4b917340ba7696a22d9";
-    }
-    { url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
-      md5 = "d199c50814188fb77355d41058b8613c";
-    }
-  ];
-
-  buildInputs = [ghc readline perl m4 gmp];
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-readline-libraries=${readline}/lib"
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  preConfigure = "
-    # still requires a hack for ncurses
-    sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in
-  ";
-})
diff --git a/pkgs/development/compilers/ghc/6.8.3.nix b/pkgs/development/compilers/ghc/6.8.3.nix
deleted file mode 100644
index 281ff61b700..00000000000
--- a/pkgs/development/compilers/ghc/6.8.3.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses, haddock}:
-
-stdenv.mkDerivation rec {
-  version = "6.8.3";
-  name = "ghc-${version}";
-  homepage = "http://www.haskell.org/ghc";
-
-  src = map fetchurl [
-    { url    = "${homepage}/dist/${version}/${name}-src.tar.bz2";
-      sha256 = "1fc1ff82a555532f1c9d2dc628fd9de5e6ebab2ce6ee9490a34174ceb6f76e6b";
-    }
-    { url    = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
-      sha256 = "ee2f5ba6a46157fc53eae515cb6fa1ed3c5023e7eac15981d92af0af00ee2ba2";
-    }
-  ];
-
-  buildInputs = [ghc readline perl m4 gmp haddock];
-
-  meta = {
-    description = "The Glasgow Haskell Compiler";
-    inherit (ghc.meta) license platforms;
-  };
-
-  configureFlags=[
-    "--with-gmp-libraries=${gmp}/lib"
-    "--with-gmp-includes=${gmp}/include"
-    "--with-readline-libraries=${readline}/lib"
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  preConfigure = ''
-    # still requires a hack for ncurses
-    sed -i "s|^\(ld-options.*$\)|\1 -L${ncurses}/lib|" libraries/readline/readline.buildinfo.in
-    # build haddock docs
-    echo "HADDOCK_DOCS = YES" >> mk/build.mk
-  '';
-}
diff --git a/pkgs/development/compilers/ghc/7.0.1.nix b/pkgs/development/compilers/ghc/7.0.1.nix
deleted file mode 100644
index b0b03d4b8cc..00000000000
--- a/pkgs/development/compilers/ghc/7.0.1.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
-
-stdenv.mkDerivation rec {
-  version = "7.0.1";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "1iciljngxmqy465cw3pkl6jp0ydiils4bfz6ixfaxk7aqv7r7xsi";
-  };
-
-  buildInputs = [ghc perl gmp ncurses];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
-  };
-}
diff --git a/pkgs/development/compilers/ghc/7.0.2.nix b/pkgs/development/compilers/ghc/7.0.2.nix
deleted file mode 100644
index 5dd2e14b0c6..00000000000
--- a/pkgs/development/compilers/ghc/7.0.2.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.0.2";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "f0551f1af2f008a8a14a888b70c0557e00dd04f9ae309ac91897306cd04a6668";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-    broken = true;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.0.3.nix b/pkgs/development/compilers/ghc/7.0.3.nix
deleted file mode 100644
index c8d4b264804..00000000000
--- a/pkgs/development/compilers/ghc/7.0.3.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.0.3";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "1nfc2c6bdcdfg3f3d9q5v109jrrwhz6by3qa4qi7k0xbip16jq8m";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-    ];
-    inherit (ghc.meta) license platforms;
-    broken = true;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix
index 2c9b11f2b65..a1cdd6171ee 100644
--- a/pkgs/development/compilers/ghc/7.0.4-binary.nix
+++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, perl, ncurses, gmp}:
+{stdenv, fetchurl, perl, ncurses, gmp, libiconv}:
 
 stdenv.mkDerivation rec {
   version = "7.0.4";
@@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
   buildInputs = [perl];
 
   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
@@ -47,22 +53,44 @@ stdenv.mkDerivation rec {
      ''
       find . -name integer-gmp.buildinfo \
           -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
+     '' + stdenv.lib.optionalString stdenv.isDarwin ''
+      find . -name base.buildinfo \
+          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
      '' +
     # On Linux, use patchelf to modify the executables so that they can
     # find editline/gmp.
-    (if stdenv.isLinux then ''
+    stdenv.lib.optionalString stdenv.isLinux ''
       find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
       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
-     '' else "");
+     '' + stdenv.lib.optionalString stdenv.isDarwin ''
+       # not enough room in the object files for the full path to libiconv :(
+       fix () {
+         install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $1
+       }
+
+       ln -s ${libiconv}/lib/libiconv.dylib ghc-7.0.4/utils/ghc-pwd/dist/build/tmp
+       ln -s ${libiconv}/lib/libiconv.dylib ghc-7.0.4/utils/hpc/dist/build/tmp
+       ln -s ${libiconv}/lib/libiconv.dylib ghc-7.0.4/ghc/stage2/build/tmp
+
+       for file in ghc-cabal ghc-pwd ghc-stage2 ghc-pkg haddock hsc2hs hpc; do
+         fix $(find . -type f -name $file)
+       done
+
+       for file in $(find . -name setup-config); do
+         substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
+       done
+     '';
 
   configurePhase = ''
-    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
+    ./configure --prefix=$out \
+      --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
+      ${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}"}
   '';
 
   # Stripping combined with patchelf breaks the executables (they die
@@ -88,5 +116,5 @@ stdenv.mkDerivation rec {
       '';
 
   meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
+  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
index ab69df12aa8..c28359af16f 100644
--- a/pkgs/development/compilers/ghc/7.0.4.nix
+++ b/pkgs/development/compilers/ghc/7.0.4.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, libiconv }:
 
 stdenv.mkDerivation rec {
   version = "7.0.4";
@@ -9,21 +9,32 @@ stdenv.mkDerivation rec {
     sha256 = "1a9b78d9d66c9c21de6c0932e36bb87406a4856f1611bf83bd44539bdc6ed0ed";
   };
 
+  patches = [ ./fix-7.0.4-clang.patch ];
+
   buildInputs = [ ghc perl gmp ncurses ];
 
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/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 "${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=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
+  configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}"
+                                      else "--with-gcc=${stdenv.cc}/bin/gcc";
 
   NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
 
@@ -39,7 +50,8 @@ stdenv.mkDerivation rec {
       stdenv.lib.maintainers.andres
       stdenv.lib.maintainers.simons
     ];
-    platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
+    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is not supported.
+    inherit (ghc.meta) license;
   };
 
 }
diff --git a/pkgs/development/compilers/ghc/7.10.1.nix b/pkgs/development/compilers/ghc/7.10.1.nix
new file mode 100644
index 00000000000..5bec1fa3f55
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.10.1.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv }:
+
+let
+
+  buildMK = ''
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/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"
+    ''}
+  '';
+
+  # We patch Cabal for GHCJS. See: https://github.com/haskell/cabal/issues/2454
+  # This should be removed when GHC includes Cabal > 1.22.2.0
+  cabalPatch = fetchpatch {
+    url = https://github.com/haskell/cabal/commit/f11b7c858bb25be78b81413c69648c87c446859e.patch;
+    sha256 = "1z56yyc7lgc78g847qf19f5n1yk054pzlnc2i178dpsj0mgjppyb";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  version = "7.10.1";
+  name = "ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/~ghc/7.10.1/${name}-src.tar.xz";
+    sha256 = "181srnj3s5dcqb096yminjg50lq9cx57075n95y5hz33gbbf7wwj";
+  };
+
+  buildInputs = [ ghc perl ];
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    pushd libraries/Cabal
+    patch -p1 < ${cabalPatch}
+    popd
+  '';
+
+  preConfigure = ''
+    echo >mk/build.mk "${buildMK}"
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '';
+
+  configureFlags = [
+    "--with-gcc=${stdenv.cc}/bin/cc"
+    "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib"
+  ];
+
+  # 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";
+
+  meta = {
+    homepage = "http://haskell.org/ghc";
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ];
+    inherit (ghc.meta) license platforms;
+  };
+
+}
diff --git a/pkgs/development/compilers/ghc/7.2.1.nix b/pkgs/development/compilers/ghc/7.2.1.nix
deleted file mode 100644
index 867df5aae6b..00000000000
--- a/pkgs/development/compilers/ghc/7.2.1.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.2.1";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "099w2bvx07jq4b1k8f1hspri30wbk35dz6ilsivxr2xg661c2qjm";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix
index 7e714ae3b78..651cf200a8d 100644
--- a/pkgs/development/compilers/ghc/7.2.2.nix
+++ b/pkgs/development/compilers/ghc/7.2.2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, libiconv }:
 
 stdenv.mkDerivation rec {
   version = "7.2.2";
@@ -9,21 +9,32 @@ stdenv.mkDerivation rec {
     sha256 = "0g87d3z9275dniaqzkf56qfgzp1msd89nqqhhm2gkc6iga072spz";
   };
 
+  patches = [ ./fix-7.2.2-clang.patch ];
+
   buildInputs = [ ghc perl gmp ncurses ];
 
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/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 "${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=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
+  configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}"
+                                      else "--with-gcc=${stdenv.cc}/bin/gcc";
 
   NIX_CFLAGS_COMPILE = "-fomit-frame-pointer";
 
@@ -39,7 +50,8 @@ stdenv.mkDerivation rec {
       stdenv.lib.maintainers.andres
       stdenv.lib.maintainers.simons
     ];
-    inherit (ghc.meta) license platforms;
+    platforms = ["x86_64-linux" "i686-linux"];  # Darwin is unsupported.
+    inherit (ghc.meta) license;
   };
 
 }
diff --git a/pkgs/development/compilers/ghc/7.4.1.nix b/pkgs/development/compilers/ghc/7.4.1.nix
deleted file mode 100644
index 95590518a28..00000000000
--- a/pkgs/development/compilers/ghc/7.4.1.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.4.1";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "0ycscsagyy9n796a59q6761s6ar50d8inibvnrcp96siksj0j73j";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
index 7000081e5db..2b8d403701f 100644
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, perl, ncurses, gmp}:
+{stdenv, fetchurl, perl, ncurses, gmp, libiconv, makeWrapper}:
 
 stdenv.mkDerivation rec {
   version = "7.4.2";
@@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
   buildInputs = [perl];
 
   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
@@ -47,22 +53,44 @@ stdenv.mkDerivation rec {
      ''
       find . -name integer-gmp.buildinfo \
           -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
+     '' + stdenv.lib.optionalString stdenv.isDarwin ''
+      find . -name base.buildinfo \
+          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \;
      '' +
     # On Linux, use patchelf to modify the executables so that they can
     # find editline/gmp.
-    (if stdenv.isLinux then ''
+    stdenv.lib.optionalString stdenv.isLinux ''
       find . -type f -perm +100 \
-          -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
       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
-     '' else "");
+     '' + stdenv.lib.optionalString stdenv.isDarwin ''
+       # not enough room in the object files for the full path to libiconv :(
+       fix () {
+         install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $1
+       }
+
+       ln -s ${libiconv}/lib/libiconv.dylib ghc-7.4.2/utils/ghc-pwd/dist-install/build/tmp
+       ln -s ${libiconv}/lib/libiconv.dylib ghc-7.4.2/utils/hpc/dist-install/build/tmp
+       ln -s ${libiconv}/lib/libiconv.dylib ghc-7.4.2/ghc/stage2/build/tmp
+
+       for file in ghc-cabal ghc-pwd ghc-stage2 ghc-pkg haddock hsc2hs hpc; do
+         fix $(find . -type f -name $file)
+       done
+
+       for file in $(find . -name setup-config); do
+         substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
+       done
+     '';
 
   configurePhase = ''
-    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
+    ./configure --prefix=$out \
+      --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
+      ${stdenv.lib.optionalString stdenv.isDarwin "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}"}
   '';
 
   # Stripping combined with patchelf breaks the executables (they die
@@ -73,20 +101,28 @@ stdenv.mkDerivation rec {
   # calls install-strip ...
   buildPhase = "true";
 
-  postInstall =
-      ''
-        # 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" ]
-      '';
+  preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    mkdir -p $out/lib/ghc-7.4.2
+    mkdir -p $out/bin
+    ln -s ${libiconv}/lib/libiconv.dylib $out/bin
+    ln -s ${libiconv}/lib/libiconv.dylib $out/lib/ghc-7.4.2/libiconv.dylib
+    ln -s ${libiconv}/lib/libiconv.dylib utils/ghc-cabal/dist-install/build/tmp
+  '';
+
+  postInstall = ''
+    # 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" ]
+  '';
 
   meta.license = stdenv.lib.licenses.bsd3;
-  meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
+  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
index 497a59e17fa..4e4a5f6024e 100644
--- a/pkgs/development/compilers/ghc/7.4.2.nix
+++ b/pkgs/development/compilers/ghc/7.4.2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, libiconv }:
 
 stdenv.mkDerivation rec {
   version = "7.4.2";
@@ -10,12 +10,19 @@ stdenv.mkDerivation rec {
     sha256 = "0vc3zmxqi4gflssmj35n5c8idbvyrhd88abi50whbirwlf4i5vpj";
   };
 
-  buildInputs = [ ghc perl gmp ncurses ];
+  patches = [ ./fix-7.4.2-clang.patch ];
 
+  buildInputs = [ ghc perl gmp ncurses ];
 
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/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 = ''
@@ -23,15 +30,18 @@ stdenv.mkDerivation rec {
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS="$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=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
+  configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/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" "--keep-file-symbols"];
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   meta = {
     homepage = "http://haskell.org/ghc";
diff --git a/pkgs/development/compilers/ghc/7.6.1.nix b/pkgs/development/compilers/ghc/7.6.1.nix
deleted file mode 100644
index 5a63d30390d..00000000000
--- a/pkgs/development/compilers/ghc/7.6.1.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.6.1";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/7.6.1/${name}-src.tar.bz2";
-    sha256 = "1q5rqp8z90mq6ysf7h28zkbhfaxlrpva2qy0wnkr43d7214dzp7i";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags=[
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.6.2.nix b/pkgs/development/compilers/ghc/7.6.2.nix
deleted file mode 100644
index 45f877ffc7c..00000000000
--- a/pkgs/development/compilers/ghc/7.6.2.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.6.2";
-
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
-    sha256 = "d5f45184abeacf7e9c6b4f63c7101a5c1d7b4fe9007901159e2287ecf38de533";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '';
-
-  configureFlags = [
-    "--with-gcc=${stdenv.gcc}/bin/gcc"
-  ];
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    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
index dc84446a276..4eb6e425f35 100644
--- a/pkgs/development/compilers/ghc/7.6.3.nix
+++ b/pkgs/development/compilers/ghc/7.6.3.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses, binutils }:
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, binutils, libiconv }:
 
 let
   # The "-Wa,--noexecstack" options might be needed only with GNU ld (as opposed
@@ -17,12 +17,19 @@ in stdenv.mkDerivation rec {
     sha256 = "1669m8k9q72rpd2mzs0bh2q6lcwqiwd1ax3vrard1dgn64yq4hxx";
   };
 
+  patches = [ ./fix-7.6.3-clang.patch ];
+
   buildInputs = [ ghc perl gmp ncurses ];
 
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/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}
@@ -39,9 +46,14 @@ in stdenv.mkDerivation rec {
 
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS="$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 = "--with-gcc=${stdenv.gcc}/bin/gcc";
+  configureFlags = if stdenv.isDarwin then "--with-gcc=${../../haskell-modules/gcc-clang-wrapper.sh}"
+                                      else "--with-gcc=${stdenv.cc}/bin/gcc";
 
   postInstall = ''
     # ghci uses mmap with rwx protection at it implements dynamic
@@ -55,7 +67,7 @@ in stdenv.mkDerivation rec {
 
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
-  stripDebugFlags=["-S" "--keep-file-symbols"];
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   meta = {
     homepage = "http://haskell.org/ghc";
diff --git a/pkgs/development/compilers/ghc/7.8.3.nix b/pkgs/development/compilers/ghc/7.8.3.nix
deleted file mode 100644
index dbcba36fa8f..00000000000
--- a/pkgs/development/compilers/ghc/7.8.3.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:
-
-stdenv.mkDerivation rec {
-  version = "7.8.3";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://www.haskell.org/ghc/dist/7.8.3/${name}-src.tar.xz";
-    sha256 = "0n5rhwl83yv8qm0zrbaxnyrf8x1i3b6si927518mwfxs96jrdkdh";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses ];
-
-  enableParallelBuilding = true;
-
-  buildMK = ''
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
-    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
-    DYNAMIC_BY_DEFAULT = NO
-  '';
-
-  preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
-    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
-  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
-  '';
-
-  configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
-
-  # required, because otherwise all symbols from HSffi.o are stripped, and
-  # that in turn causes GHCi to abort
-  stripDebugFlags = [ "-S" "--keep-file-symbols" ];
-
-  meta = {
-    homepage = "http://haskell.org/ghc";
-    description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
-    inherit (ghc.meta) license platforms;
-  };
-
-}
diff --git a/pkgs/development/compilers/ghc/7.8.4.nix b/pkgs/development/compilers/ghc/7.8.4.nix
new file mode 100644
index 00000000000..5497b35ec1d
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.8.4.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, ghc, perl, gmp, ncurses, libiconv }:
+
+stdenv.mkDerivation rec {
+  version = "7.8.4";
+  name = "ghc-${version}";
+
+  src = fetchurl {
+    url = "http://www.haskell.org/ghc/dist/7.8.4/${name}-src.tar.xz";
+    sha256 = "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3";
+  };
+
+  buildInputs = [ ghc perl gmp ncurses ];
+
+  enableParallelBuilding = true;
+
+  buildMK = ''
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
+    DYNAMIC_BY_DEFAULT = NO
+    ${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 "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '';
+
+  # 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";
+
+  meta = {
+    homepage = "http://haskell.org/ghc";
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ];
+    inherit (ghc.meta) license platforms;
+  };
+
+}
diff --git a/pkgs/development/compilers/ghc/fix-7.0.4-clang.patch b/pkgs/development/compilers/ghc/fix-7.0.4-clang.patch
new file mode 100644
index 00000000000..51323c69c20
--- /dev/null
+++ b/pkgs/development/compilers/ghc/fix-7.0.4-clang.patch
@@ -0,0 +1,74 @@
+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
new file mode 100644
index 00000000000..9592d54188e
--- /dev/null
+++ b/pkgs/development/compilers/ghc/fix-7.2.2-clang.patch
@@ -0,0 +1,74 @@
+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
new file mode 100644
index 00000000000..ce1593b3e31
--- /dev/null
+++ b/pkgs/development/compilers/ghc/fix-7.4.2-clang.patch
@@ -0,0 +1,57 @@
+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
new file mode 100644
index 00000000000..e83fd252d72
--- /dev/null
+++ b/pkgs/development/compilers/ghc/fix-7.6.3-clang.patch
@@ -0,0 +1,71 @@
+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 a5b4aeaff39..45bb4342088 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,45 +1,63 @@
-{ stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }:
+{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }:
 
-stdenv.mkDerivation rec {
-  version = "7.9.20140814";
-  name = "ghc-${version}";
-
-  src = fetchurl {
-    url = "http://deb.haskell.org/dailies/2014-08-14/ghc_${version}.orig.tar.bz2";
-    sha256 = "05vmlbzbfv72z570xmlh8n003z9xc4l5hixjqvczyyyisdvmyaa3";
-  };
-
-  buildInputs = [ ghc perl gmp ncurses happy alex ];
-
-  enableParallelBuilding = true;
+let
 
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
     DYNAMIC_BY_DEFAULT = NO
+    ${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"
+    ''}
+  '';
+
+in
+
+stdenv.mkDerivation rec {
+  version = "7.11.20150402";
+  name = "ghc-${version}";
+  rev = "47f821a1a24553dc29b9581b1a259a9b1394c955";
+
+  src = fetchgit {
+    url = "git://git.haskell.org/ghc.git";
+    inherit rev;
+    sha256 = "111a2z6bgn966g04a9n2ns9n2a401rd0zqgndznn2w4fv8a4qzgj";
+  };
+
+  postUnpack = ''
+    pushd ghc-${builtins.substring 0 7 rev}
+    patchShebangs .
+    ./boot
+    popd
   '';
 
+  buildInputs = [ ghc perl autoconf automake happy alex ];
+
   preConfigure = ''
-    echo "${buildMK}" > mk/build.mk
+    echo >mk/build.mk "${buildMK}"
     sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
   '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
   '';
 
-  configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
+  configureFlags = [
+    "--with-gcc=${stdenv.cc}/bin/cc"
+    "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib"
+  ];
+
+  enableParallelBuilding = true;
 
   # required, because otherwise all symbols from HSffi.o are stripped, and
   # that in turn causes GHCi to abort
-  stripDebugFlags = [ "-S" "--keep-file-symbols" ];
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   meta = {
     homepage = "http://haskell.org/ghc";
     description = "The Glasgow Haskell Compiler";
-    maintainers = [
-      stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
-    ];
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ];
     inherit (ghc.meta) license platforms;
   };
 
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
new file mode 100644
index 00000000000..d04bd842bf6
--- /dev/null
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -0,0 +1,128 @@
+{ mkDerivation
+, test-framework
+, test-framework-hunit
+, test-framework-quickcheck2
+, data-default
+, ghc-paths
+, haskell-src-exts
+, haskell-src-meta
+, optparse-applicative
+, system-fileio
+, system-filepath
+, text-binary
+, unordered-containers
+, cabal-install
+, wl-pprint-text
+, base16-bytestring
+, executable-path
+, transformers-compat
+, haddock-api
+, ghcjs-prim
+, regex-posix
+
+, ghc, gmp
+, jailbreak-cabal
+
+, nodejs, stdenv, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm
+, time
+, zlib, aeson, attoparsec, bzlib, hashable
+, lens
+, parallel, safe, shelly, split, stringsearch, syb
+, tar, terminfo
+, vector, yaml, fetchgit, Cabal
+, alex, happy, git, gnumake, autoconf, patch
+, automake, libtool
+, cryptohash
+, haddock, hspec, xhtml, primitive, cacert, pkgs
+, coreutils
+, libiconv
+}:
+let
+  version = "0.1.0";
+  libDir = "share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.version}/ghcjs";
+  ghcjsBoot = fetchgit {
+    url = git://github.com/ghcjs/ghcjs-boot.git;
+    rev = "8cd6144870470258fb037b3e04a0a2a98c2b6551"; # 7.10 branch
+    sha256 = "16cbncx179n5khf8hkj9r221wf73rc8isffk8rv3n9psshv1jiji";
+    fetchSubmodules = true;
+  };
+  shims = fetchgit {
+    url = git://github.com/ghcjs/shims.git;
+    rev = "6ada4bf1a084d1b80b993303d35ed863d219b031"; # master branch
+    sha256 = "0dhfnjj3rxdbb2m1pbnjc2yp4xcgsfdrsinljgdmg0hpqkafp4vc";
+  };
+in mkDerivation (rec {
+  pname = "ghcjs";
+  inherit version;
+  src = fetchgit {
+    url = git://github.com/ghcjs/ghcjs.git;
+    rev = "35a59743c4027f26a227635cb24a6246bd851f8d"; # master branch
+    sha256 = "107sh36ji3psdl3py84vxgqbywjyzglj3p0akzpvcmbarxwfr1mw";
+  };
+  isLibrary = true;
+  isExecutable = true;
+  jailbreak = true;
+  doHaddock = false;
+  doCheck = false;
+  buildDepends = [
+    filepath HTTP mtl network random stm time zlib aeson attoparsec
+    bzlib data-default ghc-paths hashable haskell-src-exts haskell-src-meta
+    lens optparse-applicative parallel safe shelly split
+    stringsearch syb system-fileio system-filepath tar terminfo text-binary
+    unordered-containers vector wl-pprint-text yaml
+    alex happy git gnumake autoconf automake libtool patch gmp
+    base16-bytestring cryptohash executable-path haddock-api
+    transformers-compat QuickCheck haddock hspec xhtml
+    ghcjs-prim regex-posix libiconv
+  ];
+  buildTools = [ nodejs git ];
+  testDepends = [
+    HUnit test-framework test-framework-hunit
+  ];
+  patches = [ ./ghcjs.patch ];
+  postPatch = ''
+    substituteInPlace Setup.hs --replace "/usr/bin/env" "${coreutils}/bin/env"
+    substituteInPlace src/Compiler/Info.hs --replace "@PREFIX@" "$out"
+    substituteInPlace src-bin/Boot.hs \
+      --replace "@PREFIX@" "$out"     \
+      --replace "@CC@"     "${stdenv.cc}/bin/cc"
+  '';
+  preBuild = ''
+    local topDir=$out/${libDir}
+    mkdir -p $topDir
+
+    cp -r ${ghcjsBoot} $topDir/ghcjs-boot
+    chmod -R u+w $topDir/ghcjs-boot
+
+    cp -r ${shims} $topDir/shims
+    chmod -R u+w $topDir/shims
+
+    # Make the patches be relative their corresponding package's directory.
+    # See: https://github.com/ghcjs/ghcjs-boot/pull/12
+    for patch in $topDir/ghcjs-boot/patches/*.patch; do
+      echo "fixing patch: $patch"
+      sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch
+    done
+  '';
+  postInstall = ''
+    PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \
+      env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \
+        --dev \
+        --with-cabal ${cabal-install}/bin/cabal \
+        --with-gmp-includes ${gmp}/include \
+        --with-gmp-libraries ${gmp}/lib
+  '';
+  passthru = {
+    inherit libDir;
+    isGhcjs = true;
+    nativeGhc = ghc;
+  };
+
+  homepage = "https://github.com/ghcjs/ghcjs";
+  description = "GHCJS is 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
+  ];
+})
diff --git a/pkgs/development/compilers/ghcjs/ghcjs.patch b/pkgs/development/compilers/ghcjs/ghcjs.patch
new file mode 100644
index 00000000000..618656f787c
--- /dev/null
+++ b/pkgs/development/compilers/ghcjs/ghcjs.patch
@@ -0,0 +1,74 @@
+diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs
+index 3c68dcf..64f3cf7 100644
+--- a/src-bin/Boot.hs
++++ b/src-bin/Boot.hs
+@@ -512,9 +512,7 @@ initPackageDB :: B ()
+ initPackageDB = do
+   msg info "creating package databases"
+   initDB "--global" <^> beLocations . blGlobalDB
+-  traverseOf_ _Just initUser <^> beLocations . blUserDBDir
+   where
+-    initUser dir = rm_f (dir </> "package.conf") >> initDB "--user" (dir </> "package.conf.d")
+     initDB dbName db = do
+       rm_rf db >> mkdir_p db
+       ghcjs_pkg_ ["init", toTextI db] `catchAny_` return ()
+@@ -538,29 +536,22 @@ installDevelopmentTree = subTop $ do
+   msgD info $ "preparing development boot tree"
+   checkpoint' "ghcjs-boot-git" "ghcjs-boot repository already cloned and prepared" $ do
+     testGit "ghcjs-boot" >>= \case
+-      Just False -> failWith "ghcjs-boot already exists and is not a git repository"
+-      Just True  -> do
+-        msg info "ghcjs-boot repository already exists but checkpoint not reached, cleaning first, then cloning"
+-        rm_rf "ghcjs-boot"
++      Just _ -> do
++        msg info "ghcjs-boot repository already exists; initializing ghcjs-boot"
+         initGhcjsBoot
+       Nothing    -> do
+         msgD info "cloning ghcjs-boot git repository"
+         initGhcjsBoot
+   checkpoint' "shims-git" "shims repository already cloned" $ do
+     testGit "shims" >>= \case
+-      Just False -> failWith "shims already exists and is not a git repository"
+-      Just True  -> do
+-        msgD info "shims repository already exists but checkpoint not reached, cleaning first, then cloning"
+-        rm_rf "shims"
+-        cloneGit shimsDescr "shims" bsrcShimsDevBranch bsrcShimsDev
++      Just _ -> do
++        msgD info "shims repository already exists; moving on"
+       Nothing    -> do
+         msgD info "cloning shims git repository"
+         cloneGit shimsDescr "shims" bsrcShimsDevBranch bsrcShimsDev
+   where
+     initGhcjsBoot = sub $ do
+-      cloneGit bootDescr "ghcjs-boot"  bsrcBootDevBranch bsrcBootDev
+       cd "ghcjs-boot"
+-      git_ ["submodule", "update", "--init", "--recursive"]
+       mapM_ patchPackage =<< allPackages
+       preparePrimops
+       buildGenPrim
+@@ -1085,8 +1076,11 @@ cabalInstallFlags parmakeGhcjs = do
+            , "--avoid-reinstalls"
+            , "--builddir",      "dist"
+            , "--with-compiler", ghcjs ^. pgmLocText
++           , "--with-gcc",      "@CC@"
+            , "--with-hc-pkg",   ghcjsPkg ^. pgmLocText
+-           , "--prefix",        toTextI instDir
++           , "--prefix",        "@PREFIX@"
++           , "--libdir",        "$prefix/lib/$compiler"
++           , "--libsubdir",     "$pkgid"
+            , bool haddock "--enable-documentation" "--disable-documentation"
+            , "--haddock-html"
+ -- workaround for hoogle support being broken in haddock for GHC 7.10RC1
+diff --git a/src/Compiler/Info.hs b/src/Compiler/Info.hs
+index 33a401f..5d09c86 100644
+--- a/src/Compiler/Info.hs
++++ b/src/Compiler/Info.hs
+@@ -49,7 +49,7 @@ compilerInfo nativeToo dflags = do
+ -- | the directory to use if started without -B flag
+ getDefaultTopDir :: IO FilePath
+ getDefaultTopDir = do
+-  appdir <- getAppUserDataDirectory "ghcjs"
++  let appdir = "@PREFIX@/share/ghcjs"
+   return (appdir </> subdir </> "ghcjs")
+       where
+         targetARCH = arch
diff --git a/pkgs/development/compilers/ghcjs/wrapper.nix b/pkgs/development/compilers/ghcjs/wrapper.nix
new file mode 100644
index 00000000000..751b7d9a7de
--- /dev/null
+++ b/pkgs/development/compilers/ghcjs/wrapper.nix
@@ -0,0 +1,77 @@
+{ stdenv, ghc, makeWrapper, coreutils, writeScript }:
+let
+  ghcjs = ghc;
+  packageDBFlag = "-package-db";
+
+  GHCGetPackages = writeScript "ghc-get-packages.sh" ''
+    #! ${stdenv.shell}
+    # Usage:
+    #  $1: version of GHC
+    #  $2: invocation path of GHC
+    #  $3: prefix
+    version="$1"
+    if test -z "$3"; then
+      prefix="${packageDBFlag} "
+    else
+      prefix="$3"
+    fi
+    PATH="$PATH:$2"
+    IFS=":"
+    for p in $PATH; do
+      for i in "$p/../share/ghcjs/$system-${ghcjs.version}-${ghcjs.ghc.version}"{,/lib,/ghcjs}"/package.conf.d" "$p/../lib/ghcjs-${ghc.version}_ghc-${ghc.ghc.version}/package.conf.d" ; do
+        # output takes place here
+        test -f $i/package.cache && echo -n " $prefix$i"
+      done
+    done
+  '';
+
+  GHCPackages = writeScript "ghc-packages.sh" ''
+    #! ${stdenv.shell} -e
+    declare -A GHC_PACKAGES_HASH # using bash4 hashs to get uniq paths
+
+    for arg in $(${GHCGetPackages} ${ghcjs.version} "$(dirname $0)"); do # Why is ghc.version passed in from here instead of captured in the other script directly?
+      case "$arg" in
+        ${packageDBFlag}) ;;
+        *)
+          CANONICALIZED="$(${coreutils}/bin/readlink -f -- "$arg")"
+          GHC_PACKAGES_HASH["$CANONICALIZED"]= ;;
+      esac
+    done
+
+    for path in ''${!GHC_PACKAGES_HASH[@]}; do
+      echo -n "$path:"
+    done
+  '';
+in
+stdenv.mkDerivation {
+  name = "ghcjs-ghc${ghcjs.ghc.version}-${ghcjs.version}-wrapper";
+
+  buildInputs = [makeWrapper];
+  propagatedBuildInputs = [ghcjs];
+
+  unpackPhase = "true";
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    for prg in ghcjs ; do
+      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$(${GHCGetPackages} ${ghcjs.version} \"\$(dirname \$0)\")"
+    done
+    for prg in ghcjs-pkg ; do
+      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$(${GHCGetPackages} ${ghcjs.version} \"\$(dirname \$0)\" -${packageDBFlag}=)"
+    done
+
+    mkdir -p $out/nix-support
+    ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+
+    mkdir -p $out/share/doc
+    ln -s $ghc/lib $out/lib
+    ln -s $ghc/share/doc/ghc $out/share/doc/ghc-${ghcjs.version}
+
+    runHook postInstall
+  '';
+
+  ghc = ghcjs;
+  inherit GHCGetPackages GHCPackages;
+  inherit (ghcjs) meta version;
+}
diff --git a/pkgs/development/compilers/gnatboot/default.nix b/pkgs/development/compilers/gnatboot/default.nix
index 3cab8379720..a209e392bc6 100644
--- a/pkgs/development/compilers/gnatboot/default.nix
+++ b/pkgs/development/compilers/gnatboot/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation {
     cp -R * $out
     set +e
     for a in $out/bin/* ; do
-      patchelf --interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) \
-        --set-rpath $(cat $NIX_GCC/nix-support/orig-libc)/lib:$(cat $NIX_GCC/nix-support/orig-gcc)/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib $a
+      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
diff --git a/pkgs/development/compilers/gnu-smalltalk/default.nix b/pkgs/development/compilers/gnu-smalltalk/default.nix
new file mode 100644
index 00000000000..5d9ca621648
--- /dev/null
+++ b/pkgs/development/compilers/gnu-smalltalk/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, pkgconfig, libtool, zip, libffi, libsigsegv, readline, gmp,
+gnutls, gnome, cairo, SDL, sqlite, emacsSupport ? false, emacs ? null }:
+
+assert emacsSupport -> (emacs != null);
+
+let # The gnu-smalltalk project has a dependency to the libsigsegv library.
+    # The project ships with sources for this library, but deprecated this option.
+    # Using the vanilla libsigsegv library results in error: "cannot relocate [...]"
+    # Adding --enable-static=libsigsegv to the gnu-smalltalk configuration flags
+    # does not help, the error still occurs. The only solution is to build a
+    # shared version of libsigsegv.
+    libsigsegv-shared = stdenv.lib.overrideDerivation libsigsegv (oldAttrs: {
+      configureFlags = [ "--enable-shared" ];
+    });
+
+in stdenv.mkDerivation rec {
+
+  version = "3.2.5";
+  name = "gnu-smalltalk-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/smalltalk/smalltalk-${version}.tar.xz";
+    sha256 = "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1";
+  };
+
+  # The dependencies and their justification are explained at
+  # http://smalltalk.gnu.org/download
+  buildInputs = [
+    pkgconfig libtool zip libffi libsigsegv-shared readline gmp gnutls gnome.gtk
+    cairo SDL sqlite
+  ]
+  ++ stdenv.lib.optional emacsSupport emacs;
+
+  configureFlags = stdenv.lib.optional (!emacsSupport) "--without-emacs";
+
+  installFlags = stdenv.lib.optional emacsSupport "lispdir=$(out)/share/emacs/site-lisp";
+
+  # For some reason the tests fail if executated with nix-build, but pass if
+  # executed within nix-shell --pure.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A free implementation of the Smalltalk-80 language";
+    longDescription = ''
+      GNU Smalltalk is a free implementation of the Smalltalk-80 language. It
+      runs on most POSIX compatible operating systems (including GNU/Linux, of
+      course), as well as under Windows. Smalltalk is a dynamic object-oriented
+      language, well-versed to scripting tasks.
+    '';
+    homepage = http://smalltalk.gnu.org/;
+    license = with licenses; [ gpl2 lgpl2 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ skeidel ];
+  };
+}
diff --git a/pkgs/development/compilers/go/1.1.nix b/pkgs/development/compilers/go/1.1.nix
index dfb545bb368..11640f2393d 100644
--- a/pkgs/development/compilers/go/1.1.nix
+++ b/pkgs/development/compilers/go/1.1.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ bison glibc bash makeWrapper ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   # I'm not sure what go wants from its 'src', but the go installation manual
   # describes an installation keeping the src.
   preUnpack = ''
@@ -51,6 +53,8 @@ stdenv.mkDerivation {
     sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
     # Disable the hostname test
     sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/areturn' src/pkg/time/time_test.go
   '' + stdenv.lib.optionalString removeGodocExternals ''
     sed -i -e '/googleapi/d' -e '/javascript">$/,+6d' lib/godoc/godoc.html 
   '';
@@ -87,6 +91,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
+    branch = "1.1";
     homepage = http://golang.org/;
     description = "The Go Programming language";
     license = "BSD";
diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix
index b519b96415b..a00fe734670 100644
--- a/pkgs/development/compilers/go/1.2.nix
+++ b/pkgs/development/compilers/go/1.2.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ bison glibc bash makeWrapper ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   # I'm not sure what go wants from its 'src', but the go installation manual
   # describes an installation keeping the src.
   preUnpack = ''
@@ -50,6 +52,8 @@ stdenv.mkDerivation {
     sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
     # Disable the hostname test
     sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/areturn' src/pkg/time/time_test.go
   '';
 
   patches = [ ./cacert-1.2.patch ];
@@ -77,10 +81,11 @@ stdenv.mkDerivation {
   '';
 
   meta = {
+    branch = "1.2";
     homepage = http://golang.org/;
     description = "The Go Programming language";
     license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [ pierron viric wizeman ];
+    maintainers = with stdenv.lib.maintainers; [ pierron viric ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix
index 1dcdd89b5bf..6d88049cfbe 100644
--- a/pkgs/development/compilers/go/1.3.nix
+++ b/pkgs/development/compilers/go/1.3.nix
@@ -1,22 +1,29 @@
-{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }:
-
-assert stdenv.gcc.gcc != null;
+{ stdenv, lib, fetchurl, fetchhg, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl }:
 
 let
   loader386 = "${glibc}/lib/ld-linux.so.2";
   loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
   loaderArm = "${glibc}/lib/ld-linux.so.3";
+  srcs = {
+    golang = fetchurl {
+      url = https://storage.googleapis.com/golang/go1.3.3.src.tar.gz;
+      sha1 = "b54b7deb7b7afe9f5d9a3f5dd830c7dede35393a";
+    };
+    tools = fetchhg {
+      url = https://code.google.com/p/go.tools/;
+      rev = "e1c276c4e679";
+      sha256 = "0x62njflwkd99i2ixbksg6mjppl1wfg86f0g3swn350l1h0xzp76";
+    };
+  };
 in
 
 stdenv.mkDerivation {
-  name = "go-1.3.1";
+  name = "go-1.3.3";
 
-  src = fetchurl {
-    url = https://storage.googleapis.com/golang/go1.3.1.src.tar.gz;
-    sha256 = "fdfa148cc12f1e4ea45a5565261bf43d8a2e7d1fad4a16aed592d606223b93a8";
-  };
+  src = srcs.golang;
 
-  buildInputs = [ bison bash makeWrapper ] ++ lib.optionals stdenv.isLinux [ glibc ] ;
+  # perl is used for testing go vet
+  buildInputs = [ bison bash makeWrapper perl ] ++ lib.optionals stdenv.isLinux [ glibc ] ;
 
   # I'm not sure what go wants from its 'src', but the go installation manual
   # describes an installation keeping the src.
@@ -24,6 +31,10 @@ stdenv.mkDerivation {
     mkdir -p $out/share
     cd $out/share
   '';
+  postUnpack = ''
+    mkdir -p $out/share/go/src/pkg/code.google.com/p/
+    cp -rv --no-preserve=mode,ownership ${srcs.tools} $out/share/go/src/pkg/code.google.com/p/go.tools
+  '';
 
   prePatch = ''
     # Ensure that the source directory is named go
@@ -46,6 +57,8 @@ stdenv.mkDerivation {
     # Disable the hostname test
     sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
     sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/areturn' src/pkg/time/format_test.go
   '' + lib.optionalString stdenv.isLinux ''
     sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
     sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c
@@ -63,17 +76,12 @@ stdenv.mkDerivation {
            else throw "Unsupported system";
   GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
   GO386 = 387; # from Arch: don't assume sse2 on i686
-  CGO_ENABLED = 1;
+  CGO_ENABLED = if stdenv.isDarwin then 0 else 1;
 
   installPhase = ''
     export CC=cc
-
-    # http://lists.science.uu.nl/pipermail/nix-dev/2013-October/011891.html
-    # Fix for "libgcc_s.so.1 must be installed for pthread_cancel to work"
-    # during tests:
-    export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib/libgcc_s.so))"
-
     mkdir -p "$out/bin"
+    unset GOPATH
     export GOROOT="$(pwd)/"
     export GOBIN="$out/bin"
     export PATH="$GOBIN:$PATH"
@@ -81,12 +89,21 @@ stdenv.mkDerivation {
     ./all.bash
     cd -
 
+    # Build extra tooling
+    # TODO: Fix godoc tests
+    TOOL_ROOT=code.google.com/p/go.tools/cmd
+    go install -v $TOOL_ROOT/cover $TOOL_ROOT/vet $TOOL_ROOT/godoc
+    go test -v    $TOOL_ROOT/cover $TOOL_ROOT/vet # $TOOL_ROOT/godoc
+
     # Copy the emacs configuration for Go files.
     mkdir -p "$out/share/emacs/site-lisp"
     cp ./misc/emacs/* $out/share/emacs/site-lisp/
   '';
 
+  setupHook = ./setup-hook.sh;
+
   meta = {
+    branch = "1.3";
     homepage = http://golang.org/;
     description = "The Go Programming language";
     license = "BSD";
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
new file mode 100644
index 00000000000..37149625005
--- /dev/null
+++ b/pkgs/development/compilers/go/1.4.nix
@@ -0,0 +1,113 @@
+{ stdenv, lib, fetchurl, fetchgit, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc, perl, Security }:
+
+let
+  loader386 = "${glibc}/lib/ld-linux.so.2";
+  loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
+  loaderArm = "${glibc}/lib/ld-linux.so.3";
+  srcs = {
+    golang = fetchurl {
+      url = https://github.com/golang/go/archive/go1.4.2.tar.gz;
+      sha256 = "3e5d07bc5214a1ffe187cf6406c5b5a80ee44f12f6bca97a5463db0afee2f6ac";
+    };
+    tools = fetchgit {
+      url = https://github.com/golang/tools.git;
+      rev = "c836fe615a448dbf9ff5448c1aa657479a0d0aeb";
+      sha256 = "0q9jnhmgmm3xzjss7ndsi6nyykmmb1y984n98118c2sipi183xp5";
+    };
+  };
+in
+
+stdenv.mkDerivation {
+  name = "go-1.4.2";
+
+  src = srcs.golang;
+
+  # perl is used for testing go vet
+  buildInputs = [ bison bash makeWrapper perl ]
+             ++ lib.optionals stdenv.isLinux [ glibc ]
+             ++ lib.optionals stdenv.isDarwin [ Security ];
+
+  # I'm not sure what go wants from its 'src', but the go installation manual
+  # describes an installation keeping the src.
+  preUnpack = ''
+    mkdir -p $out/share
+    cd $out/share
+  '';
+
+  prePatch = ''
+    # Ensure that the source directory is named go
+    cd ..
+    if [ ! -d go ]; then
+      mv * go
+    fi
+
+    mkdir -p $out/share/go/src/golang.org/x
+    cp -r --no-preserve=mode,ownership ${srcs.tools} $out/share/go/src/golang.org/x/tools
+
+    cd go
+    patchShebangs ./ # replace /bin/bash
+
+    # Disabling the 'os/http/net' tests (they want files not available in
+    # chroot builds)
+    rm src/net/{multicast_test.go,parse_test.go,port_test.go}
+    # !!! substituteInPlace does not seems to be effective.
+    # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
+    sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
+    sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
+    # Disable the unix socket test
+    sed -i '/TestShutdownUnix/areturn' src/net/net_test.go
+    # Disable the hostname test
+    sed -i '/TestHostname/areturn' src/os/os_test.go
+    sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/net/lookup_unix.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/areturn' src/time/format_test.go
+  '' + lib.optionalString stdenv.isLinux ''
+    sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
+    sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c
+    sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
+    sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
+  '';
+
+  patches = [ ./cacert-1.4.patch ];
+
+  GOOS = if stdenv.isDarwin then "darwin" else "linux";
+  GOARCH = if stdenv.isDarwin then "amd64"
+           else if stdenv.system == "i686-linux" then "386"
+           else if stdenv.system == "x86_64-linux" then "amd64"
+           else if stdenv.system == "armv5tel-linux" then "arm"
+           else throw "Unsupported system";
+  GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
+  GO386 = 387; # from Arch: don't assume sse2 on i686
+  CGO_ENABLED = 1;
+
+  # The go build actually checks for CC=*/clang and does something different, so we don't
+  # just want the generic `cc` here.
+  CC = if stdenv.isDarwin then "clang" else "cc";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    export GOROOT="$(pwd)/"
+    export GOBIN="$out/bin"
+    export PATH="$GOBIN:$PATH"
+    cd ./src
+    ./all.bash
+    cd -
+
+    # Build extra tooling
+    # TODO: Fix godoc tests
+    TOOL_ROOT=golang.org/x/tools/cmd
+    go install -v $TOOL_ROOT/cover $TOOL_ROOT/vet $TOOL_ROOT/godoc
+    go test -v    $TOOL_ROOT/cover $TOOL_ROOT/vet # $TOOL_ROOT/godoc
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    branch = "1.4";
+    homepage = http://golang.org/;
+    description = "The Go Programming language";
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ cstrahan ];
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/development/compilers/go/cacert-1.4.patch b/pkgs/development/compilers/go/cacert-1.4.patch
new file mode 100644
index 00000000000..5346d3f3950
--- /dev/null
+++ b/pkgs/development/compilers/go/cacert-1.4.patch
@@ -0,0 +1,14 @@
+Go comes with hardcoded cacert. We add the usual in NixOS,
+for easier NixOS life.
+
+diff -r 14854533dcc7 src/crypto/x509/root_unix.go
+--- a/src/crypto/x509/root_unix.go	Thu Dec 11 11:27:56 2014 +1100
++++ b/src/crypto/x509/root_unix.go	Tue Jan 06 00:41:31 2015 -0600
+@@ -17,6 +17,7 @@
+ 	"/usr/local/share/certs/ca-root-nss.crt", // FreeBSD/DragonFly
+ 	"/etc/pki/tls/cacert.pem",                // OpenELEC
+ 	"/etc/certs/ca-certificates.crt",         // Solaris 11.2+
++	"/etc/ssl/certs/ca-bundle.crt",           // NixOS
+ }
+ 
+ // Possible directories with certificate files; stop after successfully
diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix
index b9a76a6f82b..b35159c10e7 100644
--- a/pkgs/development/compilers/go/default.nix
+++ b/pkgs/development/compilers/go/default.nix
@@ -60,6 +60,8 @@ stdenv.mkDerivation {
           else throw "Unsupported system";
   GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   installPhase = ''
     mkdir -p "$out/bin"
     export GOROOT="$(pwd)/"
@@ -83,6 +85,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
+    branch = "1.0";
     homepage = http://golang.org/;
     description = "The Go Programming language";
     license = "BSD";
diff --git a/pkgs/development/compilers/go/gox.nix b/pkgs/development/compilers/go/gox.nix
index da40b7570fe..1833ca37d0e 100644
--- a/pkgs/development/compilers/go/gox.nix
+++ b/pkgs/development/compilers/go/gox.nix
@@ -1,49 +1,23 @@
-{ stdenv, lib, go, fetchFromGitHub }:
+{ lib, goPackages, fetchFromGitHub }:
 
-let
-  goDeps = [
-    {
-      root = "github.com/mitchellh/gox";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "gox";
-        rev = "c7329055e2aeb253a947e5cc876586ff4ca19199";
-        sha256 = "0zhb88jjxqn3sdc4bpzvajqvgi9igp5gk03q12gaksaxhy2wl4jy";
-      };
-    }
-    {
-      root = "github.com/mitchellh/iochan";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "iochan";
-        rev = "b584a329b193e206025682ae6c10cdbe03b0cd77";
-        sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b";
-      };
-    }
-  ];
-  sources = stdenv.mkDerivation rec {
-    name = "go-deps";
-    buildCommand =
-      lib.concatStrings
-        (map (dep: ''
-                mkdir -p $out/src/`dirname ${dep.root}`
-                ln -s ${dep.src} $out/src/${dep.root}
-              '') goDeps);
-  };
-in
+with goPackages;
 
-stdenv.mkDerivation rec {
-  name = "gox";
+buildGoPackage rec {
+  rev = "c7329055e2aeb253a947e5cc876586ff4ca19199";
+  name = "gox-${lib.strings.substring 0 7 rev}";
+  goPackagePath = "github.com/mitchellh/gox";
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "mitchellh";
+    repo = "gox";
+    sha256 = "0zhb88jjxqn3sdc4bpzvajqvgi9igp5gk03q12gaksaxhy2wl4jy";
+  };
 
-  src = sources;
+  buildInputs = [ iochan ];
 
   propagatedBuildInputs = [ go ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    export GOPATH=$src
-    go build -v -o $out/bin/gox github.com/mitchellh/gox
-  '';
+  dontInstallSrc = true;
 
   meta = with lib; {
     description = "A simple, no-frills tool for Go cross compilation that behaves a lot like standard go build";
diff --git a/pkgs/development/compilers/go/setup-hook.sh b/pkgs/development/compilers/go/setup-hook.sh
new file mode 100644
index 00000000000..1b91c8312b8
--- /dev/null
+++ b/pkgs/development/compilers/go/setup-hook.sh
@@ -0,0 +1,5 @@
+addToGoPath() {
+    addToSearchPath GOPATH $1/share/go
+}
+
+envHooks=(${envHooks[@]} addToGoPath)
diff --git a/pkgs/development/compilers/gwydion-dylan/binary-builder.sh b/pkgs/development/compilers/gwydion-dylan/binary-builder.sh
deleted file mode 100644
index a0e71c02ab9..00000000000
--- a/pkgs/development/compilers/gwydion-dylan/binary-builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-source $stdenv/setup
-
-set -e
-
-mkdir -p $out
-cd $out
-tar zxvf $src
-mv ./usr/local/* .
-rm -rf ./usr
diff --git a/pkgs/development/compilers/gwydion-dylan/binary.nix b/pkgs/development/compilers/gwydion-dylan/binary.nix
deleted file mode 100644
index 0ac942d14b8..00000000000
--- a/pkgs/development/compilers/gwydion-dylan/binary.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "binary-gwydion-dylan-2.4.0";
-  builder = ./binary-builder.sh;
-  src = fetchurl {
-    url = http://www.gwydiondylan.org/downloads/binaries/linux/x86/tar/gwydion-dylan-2.4.0-x86-linux.tar.gz;
-    md5 = "52643ad51a455d21fd4d5bf82d98914c";
-  };
-}
diff --git a/pkgs/development/compilers/gwydion-dylan/builder.sh b/pkgs/development/compilers/gwydion-dylan/builder.sh
deleted file mode 100644
index ea2e5424399..00000000000
--- a/pkgs/development/compilers/gwydion-dylan/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-export DYLANDIR=$dylan
-export DYLANPATH=$dylan/lib/dylan/2.4.0/x86-linux-gcc
-configureFlags="--with-existing-runtime=$dylan/lib/dylan/2.4.0/x86-linux-gcc"
-export LD_LIBRARY_PATH="$dylan/lib/dylan/2.4.0/x86-linux-gcc:$LD_LIBRARY_PATH:$boehmgc/lib"
-
-genericBuild
diff --git a/pkgs/development/compilers/gwydion-dylan/default.nix b/pkgs/development/compilers/gwydion-dylan/default.nix
deleted file mode 100644
index 7c00e65d7cc..00000000000
--- a/pkgs/development/compilers/gwydion-dylan/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl, dylan, boehmgc, perl, flex, yacc, readline}:
-
-stdenv.mkDerivation {
-  name = "gwydion-dylan-2.4.0";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://www.gwydiondylan.org/downloads/src/tar/gwydion-dylan-2.4.0.tar.gz;
-    md5 = "7ed180bf4ef11e8e8da3bd78b45477a8";
-  };
-
-  inherit boehmgc dylan perl;
-  buildInputs = [boehmgc dylan perl flex yacc readline];
-}
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index 3173b892261..8e6828bce46 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation {
     sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
   '';
 
+  patches = [ ./haxelib-nix.patch ];
+
   buildFlags = [ "all" "tools" ];
 
   installPhase = ''
@@ -26,6 +28,8 @@ stdenv.mkDerivation {
     cp -vr std "$out/lib/haxe"
   '';
 
+  setupHook = ./setup-hook.sh;
+
   dontStrip = true;
 
   meta = {
diff --git a/pkgs/development/compilers/haxe/haxelib-nix.patch b/pkgs/development/compilers/haxe/haxelib-nix.patch
new file mode 100644
index 00000000000..da7e4c8dacb
--- /dev/null
+++ b/pkgs/development/compilers/haxe/haxelib-nix.patch
@@ -0,0 +1,126 @@
+diff --git a/extra/haxelib_src/src/tools/haxelib/Main.hx b/extra/haxelib_src/src/tools/haxelib/Main.hx
+index a44a785..0eb811a 100644
+--- a/extra/haxelib_src/src/tools/haxelib/Main.hx
++++ b/extra/haxelib_src/src/tools/haxelib/Main.hx
+@@ -996,21 +996,26 @@ class Main {
+ 	}
+ 
+ 	function checkRec( prj : String, version : String, l : List<{ project : String, version : String, info : Infos }> ) {
+-		var pdir = getRepository() + Data.safe(prj);
+-		if( !FileSystem.exists(pdir) )
+-			throw "Library "+prj+" is not installed : run 'haxelib install "+prj+"'";
+-		var version = if( version != null ) version else getCurrent(pdir);
+-		var vdir = pdir + "/" + Data.safe(version);
+-		if( vdir.endsWith("dev") )
+-			vdir = getDev(pdir);
+-		if( !FileSystem.exists(vdir) )
+-			throw "Library "+prj+" version "+version+" is not installed";
+-		for( p in l )
+-			if( p.project == prj ) {
+-				if( p.version == version )
+-					return;
+-				throw "Library "+prj+" has two version included "+version+" and "+p.version;
+-			}
++		var vdir = this.getNixLib(prj);
++		if (vdir == null) {
++			var pdir = getRepository() + Data.safe(prj);
++			if( !FileSystem.exists(pdir) )
++				throw "Library "+prj+" is not installed : run 'haxelib install "+prj+"'";
++			var version = if( version != null ) version else getCurrent(pdir);
++			var vdir = pdir + "/" + Data.safe(version);
++			if( vdir.endsWith("dev") )
++				vdir = getDev(pdir);
++			if( !FileSystem.exists(vdir) )
++				throw "Library "+prj+" version "+version+" is not installed";
++			for( p in l )
++				if( p.project == prj ) {
++					if( p.version == version )
++						return;
++					throw "Library "+prj+" has two version included "+version+" and "+p.version;
++				}
++		} else {
++			version = null;
++		}
+ 		var json = try File.getContent(vdir+"/"+Data.JSON) catch( e : Dynamic ) null;
+ 		var inf = Data.readData(json,false);
+ 		l.add({ project : prj, version : version, info: inf });
+@@ -1025,15 +1030,21 @@ class Main {
+ 			var a = args[argcur++].split(":");
+ 			checkRec(a[0],a[1],list);
+ 		}
+-		var rep = getRepository();
+ 		for( d in list ) {
+-			var pdir = Data.safe(d.project)+"/"+Data.safe(d.version)+"/";
+-			var dir = rep + pdir;
+-			try {
+-				dir = getDev(rep+Data.safe(d.project));
++			var dir = this.getNixLib(d.project);
++			var pdir = Data.safe(d.project)+"/";
++			if (dir == null) {
++				var rep = getRepository();
++				pdir += Data.safe(d.version)+"/";
++				dir = rep + pdir;
++				try {
++					dir = getDev(rep+Data.safe(d.project));
++					dir = Path.addTrailingSlash(dir);
++					pdir = dir;
++				} catch( e : Dynamic ) {}
++			} else {
+ 				dir = Path.addTrailingSlash(dir);
+-				pdir = dir;
+-			} catch( e : Dynamic ) {}
++			}
+ 			var ndir = dir + "ndll";
+ 			if( FileSystem.exists(ndir) ) {
+ 				var sysdir = ndir+"/"+Sys.systemName();
+@@ -1153,21 +1164,39 @@ class Main {
+ 		print('  Path: $devPath');
+ 	}
+ 
++	function getNixLib(project:String):Null<String>
++	{
++		var hlibPath = Sys.getEnv("HAXELIB_PATH");
++		if (hlibPath != null) {
++			for (libDir in hlibPath.split(":")) {
++				var fullpath = libDir;
++				fullpath += libDir.substr(-1, 1) == "/" ? "" : "/";
++				fullpath += Data.safe(project);
++				if (FileSystem.exists(fullpath))
++					return fullpath;
++			}
++		}
++		return null;
++	}
++
+ 	function run() {
+-		var rep = getRepository();
+ 		var project = param("Library");
+ 		var temp = project.split(":");
+ 		project = temp[0];
+-		var pdir = rep + Data.safe(project);
+-		if( !FileSystem.exists(pdir) )
+-			throw "Library "+project+" is not installed";
+-		pdir += "/";
+-		var version = temp[1] != null ? temp[1] : getCurrent(pdir);
+-		var dev = try getDev(pdir) catch ( e : Dynamic ) null;
+-		var vdir = dev!=null ? dev : pdir + Data.safe(version);
+-		var rdir = vdir + "/run.n";
+-		if( !FileSystem.exists(rdir) )
+-			throw "Library "+project+" version "+version+" does not have a run script";
++		var vdir = this.getNixLib(project);
++		if (vdir == null) {
++			var rep = getRepository();
++			var pdir = rep + Data.safe(project);
++			if( !FileSystem.exists(pdir) )
++				throw "Library "+project+" is not installed";
++			pdir += "/";
++			var version = temp[1] != null ? temp[1] : getCurrent(pdir);
++			var dev = try getDev(pdir) catch ( e : Dynamic ) null;
++			vdir = dev!=null ? dev : pdir + Data.safe(version);
++			var rdir = vdir + "/run.n";
++			if( !FileSystem.exists(rdir) )
++				throw "Library "+project+" version "+version+" does not have a run script";
++		}
+ 		args.push(Sys.getCwd());
+ 		Sys.setCwd(vdir);
+ 		var cmd = "neko run.n";
diff --git a/pkgs/development/compilers/haxe/hxcpp.nix b/pkgs/development/compilers/haxe/hxcpp.nix
new file mode 100644
index 00000000000..56b43fc128e
--- /dev/null
+++ b/pkgs/development/compilers/haxe/hxcpp.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchzip, haxe, neko, pcre, sqlite, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "hxcpp-3.2.27";
+
+  src = let
+    zipFile = stdenv.lib.replaceChars ["."] [","] name;
+  in fetchzip {
+    inherit name;
+    url = "http://lib.haxe.org/files/3.0/${zipFile}.zip";
+    sha256 = "1hw4kr1f8q7f4fkzis7kvkm7h1cxhv6cf5v1iq7rvxs2fxiys7fr";
+  };
+
+  NIX_LDFLAGS = "-lpcre -lz -lsqlite3";
+
+  outputs = [ "out" "lib" ];
+
+  patchPhase = ''
+    rm -rf bin lib project/thirdparty project/libs/sqlite/sqlite3.[ch]
+    find . -name '*.n' -delete
+    sed -i -re '/(PCRE|ZLIB)_DIR|\<sqlite3\.c\>/d' project/Build.xml
+    sed -i -e 's/mFromFile = "@";/mFromFile = "";/' tools/hxcpp/Linker.hx
+    sed -i -e '/dll_ext/s,HX_CSTRING("./"),HX_CSTRING("'"$lib"'/"),' \
+      src/hx/Lib.cpp
+  '';
+
+  buildInputs = [ haxe neko pcre sqlite zlib ];
+
+  targetArch = "linux-m${if stdenv.is64bit then "64" else "32"}";
+
+  buildPhase = ''
+    haxe -neko project/build.n -cp tools/build -main Build
+    haxe -neko run.n -cp tools/run -main RunMain
+    haxe -neko hxcpp.n -cp tools/hxcpp -main BuildTool
+    (cd project && neko build.n "ndll-$targetArch")
+  '';
+
+  installPhase = ''
+    for i in bin/Linux*/*.dso; do
+      install -vD "$i" "$lib/$(basename "$i")"
+    done
+    find *.n toolchain/*.xml build-tool/BuildCommon.xml src include \
+      -type f -exec install -vD -m 0644 {} "$out/lib/haxe/hxcpp/{}" \;
+  '';
+
+  meta = {
+    homepage = "http://lib.haxe.org/p/hxcpp";
+    description = "Runtime support library for the Haxe C++ backend";
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/haxe/setup-hook.sh b/pkgs/development/compilers/haxe/setup-hook.sh
new file mode 100644
index 00000000000..a29e04a989b
--- /dev/null
+++ b/pkgs/development/compilers/haxe/setup-hook.sh
@@ -0,0 +1,5 @@
+addHaxeLibPath() {
+    addToSearchPath HAXELIB_PATH "$1/lib/haxe"
+}
+
+envHooks+=(addHaxeLibPath)
diff --git a/pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch b/pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch
new file mode 100644
index 00000000000..8ee5b31925f
--- /dev/null
+++ b/pkgs/development/compilers/hhvm/3918a2ccceb98230ff517601ad60aa6bee36e2c4.patch
@@ -0,0 +1,40 @@
+From 3918a2ccceb98230ff517601ad60aa6bee36e2c4 Mon Sep 17 00:00:00 2001
+From: Alex Malyshev <alexanderm@fb.com>
+Date: Tue, 28 Oct 2014 15:55:34 -0700
+Subject: [PATCH] Replace use of MAX macro with std::max in ZendPack
+
+Summary: This has randomly bitten me in open source builds. I intermittently get
+an error saying that MAX isn't defined.
+
+Instead of trying to figure out what's going on, I'm just gonna switch
+it to std::max.
+
+Reviewed By: @paulbiss
+
+Differential Revision: D1636740
+---
+ hphp/runtime/base/zend-pack.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/hphp/runtime/base/zend-pack.cpp b/hphp/runtime/base/zend-pack.cpp
+index d878ea4..c3ee14d 100644
+--- a/hphp/runtime/base/zend-pack.cpp
++++ b/hphp/runtime/base/zend-pack.cpp
+@@ -21,6 +21,8 @@
+ #include "hphp/runtime/base/builtin-functions.h"
+ #include "hphp/util/tiny-vector.h"
+ 
++#include <algorithm>
++
+ namespace HPHP {
+ 
+ #define INC_OUTPUTPOS(a,b)                                              \
+@@ -294,7 +296,7 @@ Variant ZendPack::pack(const String& fmt, const Array& argv) {
+     case 'a':
+     case 'A':
+     case 'Z': {
+-      int arg_cp = (code != 'Z') ? arg : MAX(0, arg - 1);
++      int arg_cp = (code != 'Z') ? arg : std::max(0, arg - 1);
+       memset(&output[outputpos], (code != 'A') ? '\0' : ' ', arg);
+       val = argv[currentarg++].toString();
+       s = val.c_str();
diff --git a/pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch b/pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch
new file mode 100644
index 00000000000..f7cf29b739f
--- /dev/null
+++ b/pkgs/development/compilers/hhvm/8207a31c26cc42fee79363a14c4a8f4fcbfffe63.patch
@@ -0,0 +1,40 @@
+From 8207a31c26cc42fee79363a14c4a8f4fcbfffe63 Mon Sep 17 00:00:00 2001
+From: Jordan DeLong <jdelong@fb.com>
+Date: Mon, 6 Oct 2014 18:30:28 -0700
+Subject: [PATCH] Remove some MIN/MAX macro uses in the emitter
+
+Summary: <algorithm> has preferable type-safe versions that don't double-eval
+their args.
+
+Reviewed By: @paulbiss
+
+Differential Revision: D1599803
+---
+ hphp/compiler/analysis/emitter.cpp | 6 +++---
+ hphp/util/compatibility.h          | 4 ----
+ 2 files changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/hphp/compiler/analysis/emitter.cpp b/hphp/compiler/analysis/emitter.cpp
+index 321e637..b1d3f2d 100644
+--- a/hphp/compiler/analysis/emitter.cpp
++++ b/hphp/compiler/analysis/emitter.cpp
+@@ -799,8 +799,8 @@ void SymbolicStack::push(char sym) {
+   if (sym != StackSym::W && sym != StackSym::K && sym != StackSym::L &&
+       sym != StackSym::T && sym != StackSym::I && sym != StackSym::H) {
+     m_actualStack.push_back(m_symStack.size());
+-    *m_actualStackHighWaterPtr = MAX(*m_actualStackHighWaterPtr,
+-                                     (int)m_actualStack.size());
++    *m_actualStackHighWaterPtr = std::max(*m_actualStackHighWaterPtr,
++                                          (int)m_actualStack.size());
+   }
+   m_symStack.push_back(SymEntry(sym));
+ }
+@@ -1010,7 +1010,7 @@ int SymbolicStack::sizeActual() const {
+ 
+ void SymbolicStack::pushFDesc() {
+   m_fdescCount += kNumActRecCells;
+-  *m_fdescHighWaterPtr = MAX(*m_fdescHighWaterPtr, m_fdescCount);
++  *m_fdescHighWaterPtr = std::max(*m_fdescHighWaterPtr, m_fdescCount);
+ }
+ 
+ void SymbolicStack::popFDesc() {
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index d2f24390318..72bdabb4349 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -1,58 +1,48 @@
-{ stdenv, fetchgit, cmake, pkgconfig, boost, libunwind, mariadb, libmemcached, pcre
+{ stdenv, fetchgit, cmake, pkgconfig, boost, libunwind, libmemcached, pcre
 , libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c
-, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog
+, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, krb5
 , bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
-, libxslt, ocaml, freetype
+, libxslt, ocaml, freetype, gdb, git, perl, mariadb, gmp, libyaml, libedit
+, libvpx, imagemagick, fribidi
 }:
 
 stdenv.mkDerivation rec {
   name    = "hhvm-${version}";
-  version = "3.2.0";
+  version = "3.6.0";
 
+  # use git version since we need submodules
   src = fetchgit {
     url    = "https://github.com/facebook/hhvm.git";
-    rev    = "01228273b8cf709aacbd3df1c51b1e690ecebac8";
-    sha256 = "418d5a55ac4ba5335a42329ebfb7dd96fdb8d5edbc2700251c86e9fa2ae4a967";
+    rev    = "6ef13f20da20993dc8bab9eb103f73568618d3e8";
+    sha256 = "29a2d4b56cfd348b199d8f90b4e4b07de85dfb2ef1538479cd1e84f5bc1fbf96";
     fetchSubmodules = true;
   };
 
   buildInputs =
-    [ cmake pkgconfig boost libunwind mariadb libmemcached pcre libevent gd curl
-      libxml2 icu flex bison openssl zlib php expat libcap oniguruma
-      libdwarf libmcrypt tbb gperftools bzip2 openldap readline
-      libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml
+    [ cmake pkgconfig boost libunwind mariadb libmemcached pcre gdb git perl
+      libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
+      oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
+      libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml krb5
+      gmp libyaml libedit libvpx imagemagick fribidi
     ];
 
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;
   dontUseCmakeBuildDir = true;
-  dontUseCmakeConfigure = true;
   NIX_LDFLAGS = "-lpam -L${pam}/lib";
-  USE_HHVM=1;
   MYSQL_INCLUDE_DIR="${mariadb}/include/mysql";
   MYSQL_DIR=mariadb;
 
   # work around broken build system
   NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
 
-  patchPhase = ''
+  prePatch = ''
     substituteInPlace hphp/util/generate-buildinfo.sh \
       --replace /bin/bash ${stdenv.shell}
     substituteInPlace ./configure \
       --replace "/usr/bin/env bash" ${stdenv.shell}
   '';
-  installPhase = ''
-    mkdir -p $out/bin $out/lib
-    mv hphp/hhvm/hhvm          $out/bin
-    mv hphp/hack/bin/hh_server $out/bin
-    mv hphp/hack/bin/hh_client $out/bin
-    mv hphp/hack/hhi           $out/lib/hack-hhi
 
-    cat > $out/bin/hhvm-hhi-copy <<EOF
-    #!${stdenv.shell}
-    cp -R $out/lib/hack-hhi \$1
-    EOF
-    chmod +x $out/bin/hhvm-hhi-copy
-  '';
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
 
   meta = {
     description = "High-performance JIT compiler for PHP/Hack";
diff --git a/pkgs/development/compilers/hop/default.nix b/pkgs/development/compilers/hop/default.nix
new file mode 100644
index 00000000000..3db916e6003
--- /dev/null
+++ b/pkgs/development/compilers/hop/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, bigloo }:
+
+stdenv.mkDerivation rec {
+  name = "hop-2.5.1";
+  src = fetchurl {
+    url = "ftp://ftp-sop.inria.fr/indes/fp/Hop/${name}.tar.gz";
+    sha256 = "1bvp7pc71bln5yvfj87s8750c6l53wjl6f8m12v62q9926adhwys";
+  };
+
+  buildInputs = [ bigloo ];
+
+  preConfigure = ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lbigloogc-4.1a";
+  '';
+
+  configureFlags = [
+    "--bigloo=${bigloo}/bin/bigloo"
+    "--bigloolibdir=${bigloo}/lib/bigloo/4.1a/"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A multi-tier programming language for the Web 2.0 and the so-called diffuse Web";
+    homepage = http://hop.inria.fr/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix
index 09245ba6d4b..973a07b1295 100644
--- a/pkgs/development/compilers/iasl/default.nix
+++ b/pkgs/development/compilers/iasl/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Intel ACPI Compiler";
     homepage = http://www.acpica.org/;
-    license = "iasl"; # FIXME: is this a free software license?
+    license = stdenv.lib.licenses.iasl;
   };
 }
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix
index c9697bac36c..ffff81b686a 100644
--- a/pkgs/development/compilers/icedtea-web/default.nix
+++ b/pkgs/development/compilers/icedtea-web/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "icedtea-web-${version}";
 
-  version = "1.5";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
 
-    sha256 = "0bbwa944kaam0r8ldlqrrj9z9zj54v6zdc3q663ck59shw5z828w";
+    sha256 = "1wrvl66qj0yhaqqhcq24005ci5sc3w005809cld55iiwagr8z7mj";
   };
 
   buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--with-jdk-home=${jdk}"
+    "--with-jdk-home=${jdk.home}"
   ];
 
   mozillaPlugin = "/lib";
diff --git a/pkgs/development/compilers/icedtea/cppflags-include-fix.patch b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
index 8931c122538..731a8d07548 100644
--- a/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
+++ b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
@@ -1,7 +1,8 @@
-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 @@
+diff --git openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
+index c6ab06d..23a14da 100644
+--- openjdk-orig/jdk/make/sun/awt/mawt.gmk
++++ openjdk/jdk/make/sun/awt/mawt.gmk
+@@ -270,12 +270,6 @@ LDFLAGS  += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
  endif # !HEADLESS
  endif # PLATFORM
  
@@ -11,6 +12,6 @@ diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.
 -                        $(wildcard /usr/include/X11/extensions))
 -endif
 -
- ifeq ($(PLATFORM), macosx))
+ ifeq ($(PLATFORM), macosx)
    CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
                -I$(OPENWIN_HOME)/include 
diff --git a/pkgs/development/compilers/icedtea/currency-date-range.patch b/pkgs/development/compilers/icedtea/currency-date-range.patch
new file mode 100644
index 00000000000..b7a2486b12c
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/currency-date-range.patch
@@ -0,0 +1,14 @@
+diff -Naur openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
+--- openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
++++ openjdk/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java	2014-12-30 10:15:50.327905933 -0430
+@@ -281,8 +281,8 @@
+             checkCurrencyCode(newCurrency);
+             String timeString = currencyInfo.substring(4, length - 4);
+             long time = format.parse(timeString).getTime();
+-            if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) {
+-                throw new RuntimeException("time is more than 10 years from present: " + time);
++            if (Math.abs(time - System.currentTimeMillis()) > ((long) 20) * 365 * 24 * 60 * 60 * 1000) {
++                throw new RuntimeException("time is more than 20 years from present: " + time);
+             }
+             specialCaseCutOverTimes[specialCaseCount] = time;
+             specialCaseOldCurrencies[specialCaseCount] = oldCurrency;
diff --git a/pkgs/development/compilers/icedtea/default.nix b/pkgs/development/compilers/icedtea/default.nix
index 56c9e69c9a4..87f42c9aa31 100644
--- a/pkgs/development/compilers/icedtea/default.nix
+++ b/pkgs/development/compilers/icedtea/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, jdk, jdkPath, ant, wget, zip, unzip, cpio, file, libxslt
-, xorg, zlib, pkgconfig, libjpeg, libpng, giflib, lcms2, gtk2, krb5, attr
+{ stdenv, fetchurl, jdk, ant, wget, zip, unzip, cpio, file, libxslt
+, xorg, zlib, pkgconfig, libjpeg, libpng, giflib, lcms2, gtk2, kerberos, attr
 , alsaLib, procps, automake, autoconf, cups, which, perl, coreutils, binutils
 , cacert, setJavaClassPath
 }:
@@ -24,7 +24,7 @@ let
   defSrc = name:
     with (builtins.getAttr name srcInfo.bundles); fetchurl {
       inherit url sha256;
-      name = "${pkgName}-${name}-${baseNameOf url}";
+      name = "${pkgName}-${baseNameOf url}";
     };
 
   bundleNames = builtins.attrNames srcInfo.bundles;
@@ -34,146 +34,149 @@ let
   bundleFun = name: "--with-${name}-src-zip=" + builtins.getAttr name sources;
   bundleFlags = map bundleFun bundleNames;
 
-in
+  icedtea = stdenv.mkDerivation (with srcInfo; {
+    name = pkgName;
 
-with srcInfo; stdenv.mkDerivation {
-  name = pkgName;
+    src = fetchurl {
+      inherit url sha256;
+    };
+
+    outputs = [ "out" "jre" ];
+
+    # TODO: Probably some more dependencies should be on this list but are being
+    # propagated instead
+    buildInputs = [
+      jdk ant wget zip unzip cpio file libxslt pkgconfig procps automake
+      autoconf which perl coreutils xorg.lndir
+      zlib libjpeg libpng giflib lcms2 kerberos attr alsaLib cups
+      xorg.libX11 xorg.libXtst gtk2
+    ];
+
+    configureFlags = bundleFlags ++ [
+      "--disable-bootstrap"
+      "--disable-downloading"
 
-  src = fetchurl {
-    inherit url sha256;
-  };
+      "--without-rhino"
+      "--with-pax=paxctl"
+      "--with-jdk-home=${jdk.home}"
+    ];
 
-  outputs = [ "out" "jre" ];
+    preConfigure = ''
+      unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
 
-  # TODO: Probably some more dependencies should be on this list but are being
-  # propagated instead
-  buildInputs = [
-    jdk ant wget zip unzip cpio file libxslt pkgconfig procps automake
-    autoconf which perl coreutils xorg.lndir
-    zlib libjpeg libpng giflib lcms2 krb5 attr alsaLib cups
-    xorg.libX11 xorg.libXtst gtk2
-  ];
-
-  configureFlags = bundleFlags ++ [
-    "--disable-bootstrap"
-    "--disable-downloading"
-
-    "--without-rhino"
-    "--with-pax=paxctl"
-    "--with-jdk-home=${jdkPath}"
-  ];
-
-  preConfigure = ''
-    unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
-
-    substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
-    substituteInPlace javah.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
-
-    ./autogen.sh
-  '';
-
-  preBuild = ''
-    make stamps/extract.stamp
-
-    substituteInPlace openjdk/jdk/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
-    substituteInPlace openjdk/corba/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
-
-    patch -p0 < ${./cppflags-include-fix.patch}
-    patch -p0 < ${./fix-java-home.patch}
-  '';
-
-  NIX_NO_SELF_RPATH = true;
-
-  makeFlags = [
-    "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
-    "ALT_UNIXCOMMAND_PATH="
-    "ALT_USRBIN_PATH="
-    "ALT_DEVTOOLS_PATH="
-    "ALT_COMPILER_PATH="
-    "ALT_CUPS_HEADERS_PATH=${cups}/include"
-    "ALT_OBJCOPY=${binutils}/bin/objcopy"
-    "SORT=${coreutils}/bin/sort"
-    "UNLIMITED_CRYPTO=1"
-  ];
-
-  installPhase = ''
-    mkdir -p $out/lib/icedtea $out/share $jre/lib/icedtea
-
-    cp -av openjdk.build/j2sdk-image/* $out/lib/icedtea
-
-    # Move some stuff to top-level.
-    mv $out/lib/icedtea/include $out/include
-    mv $out/lib/icedtea/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/icedtea/demo $out/lib/icedtea/sample
-
-    # Move the JRE to a separate output.
-    mv $out/lib/icedtea/jre $jre/lib/icedtea/
-    mkdir $out/lib/icedtea/jre
-    lndir $jre/lib/icedtea/jre $out/lib/icedtea/jre
-
-    # The following files cannot be symlinked, as it seems to violate Java security policies
-    rm $out/lib/icedtea/jre/lib/ext/*
-    cp $jre/lib/icedtea/jre/lib/ext/* $out/lib/icedtea/jre/lib/ext/
-
-    rm -rf $out/lib/icedtea/jre/bin
-    ln -s $out/lib/icedtea/bin $out/lib/icedtea/jre/bin
-
-    # Remove duplicate binaries.
-    for i in $(cd $out/lib/icedtea/bin && echo *); do
-      if [ "$i" = java ]; then continue; fi
-      if cmp -s $out/lib/icedtea/bin/$i $jre/lib/icedtea/jre/bin/$i; then
-        ln -sfn $jre/lib/icedtea/jre/bin/$i $out/lib/icedtea/bin/$i
-      fi
-    done
-
-    # Generate certificates.
-    pushd $jre/lib/icedtea/jre/lib/security
-    rm cacerts
-    perl ${./generate-cacerts.pl} $jre/lib/icedtea/jre/bin/keytool ${cacert}/etc/ca-bundle.crt
-    popd
-
-    ln -s $out/lib/icedtea/bin $out/bin
-    ln -s $jre/lib/icedtea/jre/bin $jre/bin
-  '';
-
-  # FIXME: this is unnecessary once the multiple-outputs branch is merged.
-  preFixup = ''
-    prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
-    patchELF $jre
-    propagatedNativeBuildInputs+=" $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
-    echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-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/icedtea; fi
-    EOF
-  '';
-
-  meta = {
-    description = "Free Java development kit based on OpenJDK 7.0 and the IcedTea project";
-    longDescription = ''
-      Free Java environment based on OpenJDK 7.0 and the IcedTea project.
-      - Full Java runtime environment
-      - Needed for executing Java Webstart programs and the free Java web browser plugin.
+      substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+      substituteInPlace javah.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+
+      ./autogen.sh
     '';
-    homepage = http://icedtea.classpath.org;
-    maintainers = with stdenv.lib.maintainers; [ wizeman ];
-    platforms = stdenv.lib.platforms.linux;
-  };
 
-  passthru = { inherit architecture; };
-}
+    preBuild = ''
+      make stamps/extract.stamp
+
+      substituteInPlace openjdk/jdk/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
+      substituteInPlace openjdk/corba/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
+
+      patch -p0 < ${./cppflags-include-fix.patch}
+      patch -p0 < ${./fix-java-home.patch}
+      patch -p0 < ${./currency-date-range.patch}
+    '';
+
+    NIX_NO_SELF_RPATH = true;
+
+    makeFlags = [
+      "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
+      "ALT_UNIXCOMMAND_PATH="
+      "ALT_USRBIN_PATH="
+      "ALT_DEVTOOLS_PATH="
+      "ALT_COMPILER_PATH="
+      "ALT_CUPS_HEADERS_PATH=${cups}/include"
+      "ALT_OBJCOPY=${binutils}/bin/objcopy"
+      "SORT=${coreutils}/bin/sort"
+      "UNLIMITED_CRYPTO=1"
+    ];
+
+    installPhase = ''
+      mkdir -p $out/lib/icedtea $out/share $jre/lib/icedtea
+
+      cp -av openjdk.build/j2sdk-image/* $out/lib/icedtea
+
+      # Move some stuff to top-level.
+      mv $out/lib/icedtea/include $out/include
+      mv $out/lib/icedtea/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/icedtea/demo $out/lib/icedtea/sample
+
+      # Move the JRE to a separate output.
+      mv $out/lib/icedtea/jre $jre/lib/icedtea/
+      mkdir $out/lib/icedtea/jre
+      lndir $jre/lib/icedtea/jre $out/lib/icedtea/jre
+
+      # The following files cannot be symlinked, as it seems to violate Java security policies
+      rm $out/lib/icedtea/jre/lib/ext/*
+      cp $jre/lib/icedtea/jre/lib/ext/* $out/lib/icedtea/jre/lib/ext/
+
+      rm -rf $out/lib/icedtea/jre/bin
+      ln -s $out/lib/icedtea/bin $out/lib/icedtea/jre/bin
+
+      # Remove duplicate binaries.
+      for i in $(cd $out/lib/icedtea/bin && echo *); do
+        if [ "$i" = java ]; then continue; fi
+        if cmp -s $out/lib/icedtea/bin/$i $jre/lib/icedtea/jre/bin/$i; then
+          ln -sfn $jre/lib/icedtea/jre/bin/$i $out/lib/icedtea/bin/$i
+        fi
+      done
+
+      # Generate certificates.
+      pushd $jre/lib/icedtea/jre/lib/security
+      rm cacerts
+      perl ${./generate-cacerts.pl} $jre/lib/icedtea/jre/bin/keytool ${cacert}/etc/ca-bundle.crt
+      popd
+
+      ln -s $out/lib/icedtea/bin $out/bin
+      ln -s $jre/lib/icedtea/jre/bin $jre/bin
+    '';
+
+    # FIXME: this is unnecessary once the multiple-outputs branch is merged.
+    preFixup = ''
+      prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
+      patchELF $jre
+      propagatedNativeBuildInputs+=" $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
+      echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-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/icedtea; fi
+      EOF
+    '';
+
+    meta = {
+      description = "Free Java development kit based on OpenJDK 7.0 and the IcedTea project";
+      longDescription = ''
+        Free Java environment based on OpenJDK 7.0 and the IcedTea project.
+        - Full Java runtime environment
+        - Needed for executing Java Webstart programs and the free Java web browser plugin.
+      '';
+      homepage = http://icedtea.classpath.org;
+      maintainers = with stdenv.lib.maintainers; [ wizeman ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+
+    passthru = {
+      inherit architecture;
+      home = "${icedtea}/lib/icedtea";
+    };
+  });
+in icedtea
diff --git a/pkgs/development/compilers/icedtea/sources.nix b/pkgs/development/compilers/icedtea/sources.nix
index 098f774b66c..12cd498042c 100644
--- a/pkgs/development/compilers/icedtea/sources.nix
+++ b/pkgs/development/compilers/icedtea/sources.nix
@@ -1,55 +1,47 @@
 # This file is autogenerated from update.py in the same directory.
 {
   icedtea7 = rec {
-    branch = "2.4";
-    version = "${branch}.7";
+    version = "2.5.4";
 
     url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz";
-    sha256 = "17a58wcxvg0dd7ka99k819ci6bga2b9l8kp67fq8z3w0yyz76sdn";
+    sha256 = "1npz2p11i4xy4732rxs8wv209iap0m3m24w3vkh9kj0p4k2gal0v";
 
-    hg_url = "http://icedtea.classpath.org/hg/release/icedtea7-forest-${branch}";
+    common_url = "http://icedtea.classpath.org/download/drops/icedtea7/${version}";
 
     bundles = {
       openjdk = rec {
-        changeset = "13970e76b784";
-        url = "${hg_url}/archive/${changeset}.tar.gz";
-        sha256 = "bcd45546509defc439f42f230c0ca64e8aa6ec00542c3634aab3a4c10be3fe6b";
+        url = "${common_url}/openjdk.tar.bz2";
+        sha256 = "88c92a3cab37446352086876771733229b1602d4f79ef68629a151180652e1f1";
       };
 
       corba = rec {
-        changeset = "e6ad5b912691";
-        url = "${hg_url}/corba/archive/${changeset}.tar.gz";
-        sha256 = "cc37272df260d08207c84763d4c39d7807728ba2d5908276b9bc63e925e70674";
+        url = "${common_url}/corba.tar.bz2";
+        sha256 = "7411fe2df795981124ae2e4da0ddb7d98db0a94c9399a12876be03e7177eaa0b";
       };
 
       jaxp = rec {
-        changeset = "94b7e8e0d96f";
-        url = "${hg_url}/jaxp/archive/${changeset}.tar.gz";
-        sha256 = "3515cd105c29563bf78432576e658005386f45d7c3b2b7eac7af86cf196aaaea";
+        url = "${common_url}/jaxp.tar.bz2";
+        sha256 = "84623e50b69710d12209fc761a49953c78f1a664ff54e022a77e35e25489f2f3";
       };
 
       jaxws = rec {
-        changeset = "bd9a50a78d04";
-        url = "${hg_url}/jaxws/archive/${changeset}.tar.gz";
-        sha256 = "3e107628080d84a80a78ef0ef9dc3664989291dd17c8bacf031d59fba7bd7f4d";
+        url = "${common_url}/jaxws.tar.bz2";
+        sha256 = "4bd38a8121d85c422b425177ce648afdee9da18812c91c5b74939c58db33ab4b";
       };
 
       jdk = rec {
-        changeset = "9448fff93286";
-        url = "${hg_url}/jdk/archive/${changeset}.tar.gz";
-        sha256 = "9222e5317264f20d4a0b8170b4c4d02459cda98333c18e3a75064e7856ff58be";
+        url = "${common_url}/jdk.tar.bz2";
+        sha256 = "e99b65baf66d8818e3c8fd31d71fbad4ad0ceb0b7fa4c2e0607eca3a40f2ba09";
       };
 
       langtools = rec {
-        changeset = "8c26a3c39128";
-        url = "${hg_url}/langtools/archive/${changeset}.tar.gz";
-        sha256 = "5af29e32344e2f2fc0beb31f91b8312f2a0d6d02c53b4cb700ee2e27bcf1043b";
+        url = "${common_url}/langtools.tar.bz2";
+        sha256 = "4fd76cbdf18174128863514b4d3997cb623368697bf4f5af6d079dbbcd7b378a";
       };
 
       hotspot = rec {
-        changeset = "69b542696e5b";
-        url = "${hg_url}/hotspot/archive/${changeset}.tar.gz";
-        sha256 = "e3bbed298ed7c77169fdfddc47cdb85c62ef2e5e7ea04ca28aa8779861efca65";
+        url = "${common_url}/hotspot.tar.bz2";
+        sha256 = "4825f8543aa0c065530b05b0a95915a44eea153bbb696d2ffc4b50a398813e34";
       };
     };
   };
diff --git a/pkgs/development/compilers/icedtea/update.py b/pkgs/development/compilers/icedtea/update.py
index ba3c5fc51ad..c41cf3d38d2 100755
--- a/pkgs/development/compilers/icedtea/update.py
+++ b/pkgs/development/compilers/icedtea/update.py
@@ -3,7 +3,7 @@
 import subprocess, urllib.request, re, os, tarfile
 from html.parser import HTMLParser
 
-HG_URL = 'http://icedtea.classpath.org/hg/release/icedtea{}-forest-{}'
+URL = 'http://icedtea.classpath.org/download/drops/icedtea{}/{}'
 DOWNLOAD_URL = 'http://icedtea.wildebeest.org/download/source/'
 DOWNLOAD_HTML = DOWNLOAD_URL + '?C=M;O=D'
 
@@ -81,7 +81,7 @@ def get_latest_version_url(major):
 
 def get_old_bundle_attrs(jdk, bundle):
 	attrs = {}
-	for attr in ('changeset', 'url', 'sha256'):
+	for attr in ('url', 'sha256'):
 		attrs[attr] = get_jdk_attr(jdk, 'bundles.{}.{}'.format(bundle, attr))
 
 	return attrs
@@ -89,7 +89,7 @@ def get_old_bundle_attrs(jdk, bundle):
 def get_old_attrs(jdk):
 	attrs = {}
 
-	for attr in ('branch', 'version', 'url', 'sha256'):
+	for attr in ('version', 'url', 'sha256'):
 		attrs[attr] = get_jdk_attr(jdk, attr)
 
 	attrs['bundles'] = {}
@@ -128,8 +128,8 @@ def get_new_bundle_attr(makefile, bundle, attr):
 
 	return m.group(1)
 
-def get_new_bundle_attrs(jdk, branch, path):
-	hg_url = HG_URL.format(jdk, branch)
+def get_new_bundle_attrs(jdk, version, path):
+	url = URL.format(jdk, version)
 
 	attrs = {}
 
@@ -137,31 +137,22 @@ def get_new_bundle_attrs(jdk, branch, path):
 	tar = tarfile.open(name = path, mode = 'r:xz')
 
 	makefile = get_member_file(tar, 'Makefile.am')
-	hotspot_map = get_member_file(tar, 'hotspot.map')
+	hotspot_map = get_member_file(tar, 'hotspot.map.in')
+
+	hotspot_map = hotspot_map.replace('@ICEDTEA_RELEASE@', version)
 
 	for bundle in BUNDLES:
 		battrs = {}
 
+		battrs['url'] = '{}/{}.tar.bz2'.format(url, bundle)
 		if bundle == 'hotspot':
-			m = re.search(r'^default (.*?) (.*?) (.*?)$', hotspot_map, re.MULTILINE)
+			m = re.search(r'^default (.*?) (.*?) (.*?) (.*?)$', hotspot_map, re.MULTILINE)
 			if m == None:
-				raise Exception('Could not find info for hotspot bundle in hotspot.map')
-
-			battrs['url'] = '{}/archive/{}.tar.gz'.format(m.group(1), m.group(2))
-			battrs['changeset'] = m.group(2)
-			battrs['sha256'] = m.group(3)
-
-			attrs[bundle] = battrs
-			continue
-
-		changeset = get_new_bundle_attr(makefile, bundle, 'changeset')
-		battrs['changeset'] = changeset
-		battrs['sha256'] = get_new_bundle_attr(makefile, bundle, 'sha256sum')
+				raise Exception('Could not find info for hotspot bundle in hotspot.map.in')
 
-		if bundle == 'openjdk':
-			battrs['url'] = '{}/archive/{}.tar.gz'.format(hg_url, changeset)
+			battrs['sha256'] = m.group(4)
 		else:
-			battrs['url'] = '{}/{}/archive/{}.tar.gz'.format(hg_url, bundle, changeset)
+			battrs['sha256'] = get_new_bundle_attr(makefile, bundle, 'sha256sum')
 
 		attrs[bundle] = battrs
 
@@ -193,7 +184,6 @@ def get_new_attrs(jdk):
 	print('Update available, generating new attributes for JDK {}...'.format(jdk))
 
 	attrs['version'] = version
-	attrs['branch'] = '.'.join(version.split('.')[:2])
 	attrs['url'] = url
 
 	print('Downloading tarball from url "{}"...'.format(url))
@@ -203,7 +193,7 @@ def get_new_attrs(jdk):
 
 	print('Inspecting tarball for bundle information...')
 
-	attrs['bundles'] = get_new_bundle_attrs(jdk, attrs['branch'], path)
+	attrs['bundles'] = get_new_bundle_attrs(jdk, attrs['version'], path)
 
 	print('Done!')
 
@@ -212,21 +202,19 @@ def get_new_attrs(jdk):
 def generate_jdk(jdk):
 	attrs = get_new_attrs(jdk)
 
-	branch = attrs['branch']
-	src_version = attrs['version'].replace(branch, '${branch}')
-	src_url = attrs['url'].replace(attrs['version'], '${version}')
+	version = attrs['version']
+	src_url = attrs['url'].replace(version, '${version}')
 
-	hg_url = HG_URL.format(jdk, branch)
-	src_hg_url = HG_URL.format(jdk, '${branch}')
+	common_url = URL.format(jdk, version)
+	src_common_url = URL.format(jdk, '${version}')
 
 	src =  '  icedtea{} = rec {{\n'.format(jdk)
-	src += '    branch = "{}";\n'.format(branch)
-	src += '    version = "{}";\n'.format(src_version)
+	src += '    version = "{}";\n'.format(version)
 	src += '\n'
 	src += '    url = "{}";\n'.format(src_url)
 	src += '    sha256 = "{}";\n'.format(attrs['sha256'])
 	src += '\n'
-	src += '    hg_url = "{}";\n'.format(src_hg_url)
+	src += '    common_url = "{}";\n'.format(src_common_url)
 	src += '\n'
 	src += '    bundles = {\n'
 
@@ -234,11 +222,9 @@ def generate_jdk(jdk):
 		battrs = attrs['bundles'][bundle]
 
 		b_url = battrs['url']
-		b_url = b_url.replace(hg_url, '${hg_url}')
-		b_url = b_url.replace(battrs['changeset'], '${changeset}')
+		b_url = b_url.replace(common_url, '${common_url}')
 
 		src += '      {} = rec {{\n'.format(bundle)
-		src += '        changeset = "{}";\n'.format(battrs['changeset'])
 		src += '        url = "{}";\n'.format(b_url)
 		src += '        sha256 = "{}";\n'.format(battrs['sha256'])
 		src += '      };\n'
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index f0b07f9d0fa..16bf3bdeb95 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,31 +1,29 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint
-, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc, Cabal
+, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc
 , cheapskate, deepseq, filepath, fingertree, gmp, happy, haskeline
-, languageJava, lens, libffi, llvmGeneral, llvmGeneralPure, mtl
-, network, optparseApplicative, parsers, split, text, time
-, transformers, trifecta, unorderedContainers, utf8String, vector
-, vectorBinaryInstances, xml, zlib
+, lens, libffi, mtl, network, optparseApplicative, parsers, split
+, text, time, transformers, trifecta, unorderedContainers
+, utf8String, vector, vectorBinaryInstances, xml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.14.1";
-  sha256 = "11x4f0hvd51m9rlf9r0i5xsjmc73kjsayny4xyv0wgb88v9v737b";
+  version = "0.9.15.1";
+  sha256 = "0r31jcqs9kgknm66v7bbcgj9md7z49sgvn0nhk1dwg8jj2rmfll8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     annotatedWlPprint ansiTerminal ansiWlPprint base64Bytestring binary
-    blazeHtml blazeMarkup Cabal cheapskate deepseq filepath fingertree
-    haskeline languageJava lens libffi llvmGeneral llvmGeneralPure mtl
-    network optparseApplicative parsers split text time transformers
-    trifecta unorderedContainers utf8String vector
-    vectorBinaryInstances xml zlib
+    blazeHtml blazeMarkup cheapskate deepseq filepath fingertree
+    haskeline lens libffi mtl network optparseApplicative parsers split
+    text time transformers trifecta unorderedContainers utf8String
+    vector vectorBinaryInstances xml zlib
   ];
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
-  configureFlags = "-fllvm -fgmp -fffi";
+  configureFlags = "-fgmp -fffi";
   jailbreak = true;
   meta = {
     homepage = "http://www.idris-lang.org/";
diff --git a/pkgs/development/compilers/idris/wrapper.nix b/pkgs/development/compilers/idris/wrapper.nix
index fce5c0c89f3..857a31f6d4a 100644
--- a/pkgs/development/compilers/idris/wrapper.nix
+++ b/pkgs/development/compilers/idris/wrapper.nix
@@ -1,4 +1,4 @@
-{ gmp, makeWrapper, gcc, runCommand, idris_plain, boehmgc}:
+{ stdenv, gmp, makeWrapper, runCommand, idris_plain, boehmgc}:
 
 runCommand "idris-wrapper" {} ''
   source ${makeWrapper}/nix-support/setup-hook
@@ -6,5 +6,6 @@ runCommand "idris-wrapper" {} ''
   ln -s ${idris_plain}/bin/idris $out/bin
       wrapProgram $out/bin/idris \
         --suffix NIX_CFLAGS_COMPILE : '"-I${gmp}/include -L${gmp}/lib -L${boehmgc}/lib"' \
-        --suffix PATH : ${gcc}/bin
+        --suffix PATH : ${stdenv.cc}/bin \
+        --suffix PATH : ${idris_plain}/bin
 ''
diff --git a/pkgs/development/compilers/julia/0.2.1.nix b/pkgs/development/compilers/julia/0.2.1.nix
deleted file mode 100644
index f7d20a1e01f..00000000000
--- a/pkgs/development/compilers/julia/0.2.1.nix
+++ /dev/null
@@ -1,140 +0,0 @@
-{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
- , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
- , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
- , tcl, tk, xproto, libX11, git, mpfr
- } :
-let
-  realGcc = stdenv.gcc.gcc;
-in
-stdenv.mkDerivation rec {
-  pname = "julia";
-  version = "0.2.1";
-  name = "${pname}-${version}";
-
-  grisu_ver = "1.1.1";
-  dsfmt_ver = "2.2";
-  openblas_ver = "v0.2.2";
-  lapack_ver = "3.4.1";
-  arpack_ver = "3.1.3";
-  clp_ver = "1.14.5";
-  lighttpd_ver = "1.4.29";
-  patchelf_ver = "0.6";
-  pcre_ver = "8.31";
-
-  grisu_src = fetchurl {
-    url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
-    sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
-  };
-  dsfmt_src = fetchurl {
-    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
-    name = "dsfmt-${dsfmt_ver}.tar.gz";
-    sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
-  };
-  openblas_src = fetchurl {
-    url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
-    name = "openblas-${openblas_ver}.tar.gz";
-    sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
-  };
-  arpack_src = fetchurl {
-    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/";
-    name = "arpack-ng-${arpack_ver}.tar.gz";
-    sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d";
-  };
-  lapack_src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
-    name = "lapack-${lapack_ver}.tgz";
-    sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
-  };
-  clp_src = fetchurl {
-    url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
-    name = "clp-${clp_ver}.tar.gz";
-    sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817";
-  };
-  lighttpd_src = fetchurl {
-    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
-    sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
-  };
-  patchelf_src = fetchurl {
-    url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
-    sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
-  };
-  pcre_src = fetchurl {
-    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
-    sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
-  };
-
-  src = fetchgit {
-    url = "git://github.com/JuliaLang/julia.git";
-    rev = "e44b5939057d87c1e854077108a1a6d66203f4fa";
-    sha256 = "7ee0f267bc1ae286764ced3c0c695c335a6f8d67bd7b3ca7e4de259333c9426a";
-  };
-
-  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
-    fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
-    openblas liblapack tcl tk xproto libX11 git mpfr
-    ];
-
-  configurePhase = ''
-    for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
-    do
-      makeFlags="$makeFlags USE_SYSTEM_$i=1 "
-    done
-
-    copy_kill_hash(){
-      cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
-    }
-
-    for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do
-      copy_kill_hash "$i" deps
-    done
-    copy_kill_hash "${dsfmt_src}" deps/random
-
-    ${if realGcc ==null then "" else 
-    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
-
-    export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
-
-    export GLPK_PREFIX="${glpk}/include"
-
-    mkdir -p "$out/lib"
-    sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
-    sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
-
-    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}"
-
-    export dontPatchELF=1
-
-    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
-  '';
-
-  preBuild = ''
-    mkdir -p usr/lib
-    
-    echo "$out"
-    mkdir -p "$out/lib"
-    (
-    cd "$(mktemp -d)"
-    for i in "${suitesparse}"/lib/lib*.a; do
-      ar -x $i
-    done
-    gcc *.o --shared -o "$out/lib/libsuitesparse.so"
-    )
-    cp "$out/lib/libsuitesparse.so" usr/lib
-    for i in umfpack cholmod amd camd colamd spqr; do
-      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
-      ln -s libsuitesparse.so "usr"/lib/lib$i.so;
-    done
-  '';
-
-  preInstall = ''
-  '';
-
-  meta = {
-    description = "High-level performance-oriented dynamical language for technical computing";
-    homepage = "http://julialang.org/";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/development/compilers/julia/0.2.nix b/pkgs/development/compilers/julia/0.2.nix
new file mode 100644
index 00000000000..cc1be3db8a5
--- /dev/null
+++ b/pkgs/development/compilers/julia/0.2.nix
@@ -0,0 +1,141 @@
+{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
+ , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
+ , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
+ , tcl, tk, xproto, libX11, git, mpfr
+ } :
+let
+  realGcc = stdenv.cc.cc;
+in
+stdenv.mkDerivation rec {
+  pname = "julia";
+  version = "0.2.1";
+  name = "${pname}-${version}";
+
+  grisu_ver = "1.1.1";
+  dsfmt_ver = "2.2";
+  openblas_ver = "v0.2.2";
+  lapack_ver = "3.4.1";
+  arpack_ver = "3.1.3";
+  clp_ver = "1.14.5";
+  lighttpd_ver = "1.4.29";
+  patchelf_ver = "0.6";
+  pcre_ver = "8.31";
+
+  grisu_src = fetchurl {
+    url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
+    sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
+  };
+  dsfmt_src = fetchurl {
+    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
+    name = "dsfmt-${dsfmt_ver}.tar.gz";
+    sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
+  };
+  openblas_src = fetchurl {
+    url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
+    name = "openblas-${openblas_ver}.tar.gz";
+    sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
+  };
+  arpack_src = fetchurl {
+    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/";
+    name = "arpack-ng-${arpack_ver}.tar.gz";
+    sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d";
+  };
+  lapack_src = fetchurl {
+    url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
+    name = "lapack-${lapack_ver}.tgz";
+    sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
+  };
+  clp_src = fetchurl {
+    url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
+    name = "clp-${clp_ver}.tar.gz";
+    sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817";
+  };
+  lighttpd_src = fetchurl {
+    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
+    sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
+  };
+  patchelf_src = fetchurl {
+    url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
+    sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
+  };
+  pcre_src = fetchurl {
+    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
+    sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
+  };
+
+  src = fetchgit {
+    url = "git://github.com/JuliaLang/julia.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "7ee0f267bc1ae286764ced3c0c695c335a6f8d67bd7b3ca7e4de259333c9426a";
+  };
+
+  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
+    fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
+    openblas liblapack tcl tk xproto libX11 git mpfr
+    ];
+
+  configurePhase = ''
+    for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
+    do
+      makeFlags="$makeFlags USE_SYSTEM_$i=1 "
+    done
+	makeFlags="$makeFlags JULIA_CPU_TARGET=core2";
+
+    copy_kill_hash(){
+      cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
+    }
+
+    for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do
+      copy_kill_hash "$i" deps
+    done
+    copy_kill_hash "${dsfmt_src}" deps/random
+
+    ${if realGcc ==null then "" else 
+    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
+
+    export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
+
+    export GLPK_PREFIX="${glpk}/include"
+
+    mkdir -p "$out/lib"
+    sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
+    sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
+
+    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}"
+
+    export dontPatchELF=1
+
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
+  '';
+
+  preBuild = ''
+    mkdir -p usr/lib
+    
+    echo "$out"
+    mkdir -p "$out/lib"
+    (
+    cd "$(mktemp -d)"
+    for i in "${suitesparse}"/lib/lib*.a; do
+      ar -x $i
+    done
+    gcc *.o --shared -o "$out/lib/libsuitesparse.so"
+    )
+    cp "$out/lib/libsuitesparse.so" usr/lib
+    for i in umfpack cholmod amd camd colamd spqr; do
+      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
+      ln -s libsuitesparse.so "usr"/lib/lib$i.so;
+    done
+  '';
+
+  preInstall = ''
+  '';
+
+  meta = {
+    description = "High-level performance-oriented dynamical language for technical computing";
+    homepage = "http://julialang.org/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/compilers/julia/0.3.0.nix b/pkgs/development/compilers/julia/0.3.0.nix
deleted file mode 100644
index 3259fee55bf..00000000000
--- a/pkgs/development/compilers/julia/0.3.0.nix
+++ /dev/null
@@ -1,157 +0,0 @@
-{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
- , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
- , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
- , tcl, tk, xproto, libX11, git, mpfr, which
- } :
-
-assert stdenv.isLinux; 
-
-let
-  realGcc = stdenv.gcc.gcc;
-in
-stdenv.mkDerivation rec {
-  pname = "julia";
-  version = "0.3.0";
-  name = "${pname}-${version}";
-
-  dsfmt_ver = "2.2";
-  grisu_ver = "1.1.1";
-  openblas_ver = "v0.2.10";
-  lapack_ver = "3.5.0";
-  arpack_ver = "3.1.5";
-  lighttpd_ver = "1.4.29";
-  patchelf_ver = "0.6";
-  pcre_ver = "8.31";
-  utf8proc_ver = "1.1.6";
-
-  dsfmt_src = fetchurl {
-    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
-    name = "dsfmt-${dsfmt_ver}.tar.gz";
-    sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
-  };
-  grisu_src = fetchurl {
-    url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
-    sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
-  };
-  openblas_src = fetchurl {
-    url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
-    name = "openblas-${openblas_ver}.tar.gz";
-    sha256 = "06i0q4qnd5q5xljzrgvda0gjsczc6l2pl9hw6dn2qjpw38al73za";
-  };
-  arpack_src = fetchurl rec {
-    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${arpack_ver}.tar.gz";
-    sha256 = "05fmg4m0yri47rzgsl2mnr1qbzrs7qyd557p3v9wwxxw0rwcwsd2";
-  };
-  lapack_src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
-    name = "lapack-${lapack_ver}.tgz";
-    sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s";
-  };
-  lighttpd_src = fetchurl {
-    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
-    sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
-  };
-  patchelf_src = fetchurl {
-    url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
-    sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
-  };
-  pcre_src = fetchurl {
-    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
-    sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
-  };
-  utf8proc_src = fetchurl {
-    url = "http://www.public-software-group.org/pub/projects/utf8proc/v${utf8proc_ver}/utf8proc-v${utf8proc_ver}.tar.gz";
-    sha256 = "1rwr84pw92ajjlbcxq0da7yxgg3ijngmrj7vhh2qzsr2h2kqzp7y";
-  };
-
-  src = fetchgit {
-    url = "git://github.com/JuliaLang/julia.git";
-    rev = "refs/tags/v0.3.0";
-    sha256 = "1h7icqjiccw26f81r1zwsv31kk6yhavn038h7jp63iv5sdzh5r8i";
-  };
-
-  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
-    fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
-    openblas liblapack tcl tk xproto libX11 git mpfr which
-    ];
-
-  configurePhase = ''
-    for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
-    do
-      makeFlags="$makeFlags USE_SYSTEM_$i=1 "
-    done
-
-    copy_kill_hash(){
-      cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
-    }
-
-    for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${patchelf_src}" \
-        "${pcre_src}" "${utf8proc_src}" "${lapack_src}" "${openblas_src}"; do
-      copy_kill_hash "$i" deps
-    done
-
-    ${if realGcc ==null then "" else 
-    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr -lblas -lopenblas -L$out/lib"''}
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
-
-    export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
-
-    export GLPK_PREFIX="${glpk}/include"
-
-    mkdir -p "$out/lib"
-    sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
-    sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
-
-    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell} prefix=$out"
-
-    export dontPatchELF=1
-
-    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
-
-    patchShebangs . contrib
-
-    export PATH="$PATH:${stdenv.gcc.libc}/sbin"
-
-    # ldconfig doesn't seem to ever work on NixOS; system-wide ldconfig cache
-    # is probably not what we want anyway on non-NixOS
-    sed -e "s@/sbin/ldconfig@true@" -i src/ccall.*
-
-    ln -s "${openblas}/lib/libopenblas.so" "$out/lib/libblas.so"
-  '';
-
-  preBuild = ''
-    mkdir -p usr/lib
-    
-    echo "$out"
-    mkdir -p "$out/lib"
-    (
-    cd "$(mktemp -d)"
-    for i in "${suitesparse}"/lib/lib*.a; do
-      ar -x $i
-    done
-    gcc *.o --shared -o "$out/lib/libsuitesparse.so"
-    )
-    cp "$out/lib/libsuitesparse.so" usr/lib
-    for i in umfpack cholmod amd camd colamd spqr; do
-      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
-      ln -s libsuitesparse.so "usr"/lib/lib$i.so;
-    done
-  '';
-
-  dontStrip = true;
-
-  enableParallelBuilding = true;
-
-  postInstall = ''
-    rm -f "$out"/lib/julia/sys.{so,dylib,dll}
-  '';
-
-  meta = {
-    description = "High-level performance-oriented dynamical language for technical computing";
-    homepage = "http://julialang.org/";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = with stdenv.lib.platforms; linux;
-    broken = false;
-  };
-}
diff --git a/pkgs/development/compilers/julia/0.3.nix b/pkgs/development/compilers/julia/0.3.nix
new file mode 100644
index 00000000000..9f216c7207f
--- /dev/null
+++ b/pkgs/development/compilers/julia/0.3.nix
@@ -0,0 +1,154 @@
+{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
+ , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
+ , ncurses, libunistring, patchelf, openblas, liblapack
+ , tcl, tk, xproto, libX11, git, mpfr, which, wget
+ } :
+
+assert stdenv.isLinux; 
+
+let
+  realGcc = stdenv.cc.cc;
+in
+stdenv.mkDerivation rec {
+  pname = "julia";
+  version = "0.3.6";
+  name = "${pname}-${version}";
+
+  dsfmt_ver = "2.2";
+  grisu_ver = "1.1.1";
+  openblas_ver = "v0.2.13";
+  lapack_ver = "3.5.0";
+  arpack_ver = "3.1.5";
+  patchelf_ver = "0.8";
+  pcre_ver = "8.36";
+  utf8proc_ver = "1.1.6";
+
+  dsfmt_src = fetchurl {
+    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
+    name = "dsfmt-${dsfmt_ver}.tar.gz";
+    md5 = "cb61be3be7254eae39684612c524740d";
+  };
+  grisu_src = fetchurl {
+    url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
+    md5 = "29b533ed4311161267bff1a9a97e2953";
+  };
+  openblas_src = fetchurl {
+    url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
+    name = "openblas-${openblas_ver}.tar.gz";
+    md5 = "74adf4c0d0d82bff4774be5bf2134183";
+  };
+  arpack_src = fetchurl rec {
+    url = "https://github.com/opencollab/arpack-ng/archive/${arpack_ver}.tar.gz";
+    md5 = "d84e1b6108d9ee67c0d21aba7099e953";
+    name = "arpack-ng-${arpack_ver}.tar.gz";
+  };
+  lapack_src = fetchurl {
+    url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
+    name = "lapack-${lapack_ver}.tgz";
+    md5 = "b1d3e3e425b2e44a06760ff173104bdf";
+  };
+  patchelf_src = fetchurl {
+    url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
+    md5 = "5087261514b4b5814a39c3d3a36eb6ef";
+  };
+  pcre_src = fetchurl {
+    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
+    md5 = "b767bc9af0c20bc9c1fe403b0d41ad97";
+  };
+  utf8proc_src = fetchurl {
+    url = "http://www.public-software-group.org/pub/projects/utf8proc/v${utf8proc_ver}/utf8proc-v${utf8proc_ver}.tar.gz";
+    md5 = "2462346301fac2994c34f5574d6c3ca7";
+  };
+
+  src = fetchgit {
+    url = "git://github.com/JuliaLang/julia.git";
+    rev = "refs/tags/v${version}";
+    md5 = "d28e8f428485219f756d80c011d5dd32";
+    name = "julia-git-v${version}";
+  };
+
+  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
+    fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
+    openblas liblapack tcl tk xproto libX11 git mpfr which wget
+    ];
+
+  configurePhase = ''
+    for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK ZLIB MPFR;
+    do
+      makeFlags="$makeFlags USE_SYSTEM_$i=1 "
+    done
+	makeFlags="$makeFlags JULIA_CPU_TARGET=core2";
+
+    copy_kill_hash(){
+      cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
+    }
+
+    for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${patchelf_src}" \
+        "${pcre_src}" "${utf8proc_src}" "${lapack_src}" "${openblas_src}"; do
+      copy_kill_hash "$i" deps
+    done
+
+    ${if realGcc ==null then "" else 
+    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr -lblas -lopenblas -L$out/lib"''}
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
+
+    export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
+
+    export GLPK_PREFIX="${glpk}/include"
+
+    mkdir -p "$out/lib"
+    sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
+    sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
+
+    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell} prefix=$out"
+
+    export dontPatchELF=1
+
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
+
+    patchShebangs . contrib
+
+    export PATH="$PATH:${stdenv.cc.libc}/sbin"
+
+    # ldconfig doesn't seem to ever work on NixOS; system-wide ldconfig cache
+    # is probably not what we want anyway on non-NixOS
+    sed -e "s@/sbin/ldconfig@true@" -i src/ccall.*
+
+    ln -s "${openblas}/lib/libopenblas.so" "$out/lib/libblas.so"
+  '';
+
+  preBuild = ''
+    mkdir -p usr/lib
+    
+    echo "$out"
+    mkdir -p "$out/lib"
+    (
+    cd "$(mktemp -d)"
+    for i in "${suitesparse}"/lib/lib*.a; do
+      ar -x $i
+    done
+    gcc *.o --shared -o "$out/lib/libsuitesparse.so"
+    )
+    cp "$out/lib/libsuitesparse.so" usr/lib
+    for i in umfpack cholmod amd camd colamd spqr; do
+      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
+      ln -s libsuitesparse.so "usr"/lib/lib$i.so;
+    done
+  '';
+
+  dontStrip = true;
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  checkTarget = "testall";
+
+  meta = {
+    description = "High-level performance-oriented dynamical language for technical computing";
+    homepage = "http://julialang.org/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = with stdenv.lib.platforms; linux;
+    broken = false;
+  };
+}
diff --git a/pkgs/development/compilers/julia/git-20131013.nix b/pkgs/development/compilers/julia/git-20131013.nix
deleted file mode 100644
index ae550f5692d..00000000000
--- a/pkgs/development/compilers/julia/git-20131013.nix
+++ /dev/null
@@ -1,140 +0,0 @@
-{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
- , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
- , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
- , tcl, tk, xproto, libX11, git, mpfr
- } :
-let
-  realGcc = stdenv.gcc.gcc;
-in
-stdenv.mkDerivation rec {
-  pname = "julia";
-  date = "20131013";
-  name = "${pname}-git-${date}";
-
-  grisu_ver = "1.1.1";
-  dsfmt_ver = "2.2";
-  openblas_ver = "v0.2.2";
-  lapack_ver = "3.4.1";
-  arpack_ver = "3.1.3";
-  clp_ver = "1.14.5";
-  lighttpd_ver = "1.4.29";
-  patchelf_ver = "0.6";
-  pcre_ver = "8.31";
-
-  grisu_src = fetchurl {
-    url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
-    sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
-  };
-  dsfmt_src = fetchurl {
-    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
-    name = "dsfmt-${dsfmt_ver}.tar.gz";
-    sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
-  };
-  openblas_src = fetchurl {
-    url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
-    name = "openblas-${openblas_ver}.tar.gz";
-    sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
-  };
-  arpack_src = fetchurl {
-    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/";
-    name = "arpack-ng-${arpack_ver}.tar.gz";
-    sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d";
-  };
-  lapack_src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
-    name = "lapack-${lapack_ver}.tgz";
-    sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
-  };
-  clp_src = fetchurl {
-    url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
-    name = "clp-${clp_ver}.tar.gz";
-    sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817";
-  };
-  lighttpd_src = fetchurl {
-    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
-    sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
-  };
-  patchelf_src = fetchurl {
-    url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
-    sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
-  };
-  pcre_src = fetchurl {
-    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
-    sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
-  };
-
-  src = fetchgit {
-    url = "git://github.com/JuliaLang/julia.git";
-    rev = "76d2b87a45fff637473c4c342c9f5f9387675fda";
-    sha256 = "079g44r27lv0wsfbg84ihrmgzl73djjjr41xjiaqdph55zqfbn4f";
-  };
-
-  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
-    fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
-    openblas liblapack tcl tk xproto libX11 git mpfr
-    ];
-
-  configurePhase = ''
-    for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR; 
-    do 
-      makeFlags="$makeFlags USE_SYSTEM_$i=1 "
-    done
-
-    copy_kill_hash(){
-      cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
-    }
-
-    for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do
-      copy_kill_hash "$i" deps
-    done
-    copy_kill_hash "${dsfmt_src}" deps/random
-
-    ${if realGcc ==null then "" else 
-    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
-
-    export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
-
-    export GLPK_PREFIX="${glpk}/include"
-
-    mkdir -p "$out/lib"
-    sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
-    sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
-
-    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}"
-
-    export dontPatchELF=1
-
-    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
-  '';
-
-  preBuild = ''
-    mkdir -p usr/lib
-    
-    echo "$out"
-    mkdir -p "$out/lib"
-    (
-    cd "$(mktemp -d)"
-    for i in "${suitesparse}"/lib/lib*.a; do
-      ar -x $i
-    done
-    gcc *.o --shared -o "$out/lib/libsuitesparse.so"
-    )
-    cp "$out/lib/libsuitesparse.so" usr/lib
-    for i in umfpack cholmod amd camd colamd spqr; do
-      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
-      ln -s libsuitesparse.so "usr"/lib/lib$i.so;
-    done
-  '';
-
-  preInstall = ''
-  '';
-
-  meta = {
-    description = "High-level performance-oriented dynamical language for technical computing";
-    homepage = "http://julialang.org/";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/development/compilers/lessc/default.nix b/pkgs/development/compilers/lessc/default.nix
index 1d2bd5e7d0b..82052b3d3ca 100644
--- a/pkgs/development/compilers/lessc/default.nix
+++ b/pkgs/development/compilers/lessc/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "lessc-${version}";
-  version = "1.4.0";
+  version = "1.7.5"; # Upgrade to > 2.x breaks twitter-bootstrap
 
   src = fetchgit {
     url = https://github.com/less/less.js.git;
     rev = "refs/tags/v${version}";
-    sha256 = "12nzaz7v1bnqzylh4zm1srrj7w7f45fqj4sihxyg0bknfvfwdc56";
+    sha256 = "0r8bcad247v5fyh543a7dppmfbf49ai4my3vcizk42fsbnjs8q2x";
   };
 
   phases = [ "installPhase" ];
@@ -19,10 +19,11 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/lessc --replace "/usr/bin/env node" ${nodejs}/bin/node
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "LESS to CSS compiler";
     homepage = http://lesscss.org/;
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/compilers/llvm/3.3/clang.nix b/pkgs/development/compilers/llvm/3.3/clang.nix
index 262e0bff248..316730fe3ba 100644
--- a/pkgs/development/compilers/llvm/3.3/clang.nix
+++ b/pkgs/development/compilers/llvm/3.3/clang.nix
@@ -2,7 +2,7 @@
 
 let
   version = "3.3";
-  gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc;
+  gccReal = if (stdenv.cc.cc or null) == null then stdenv.cc else stdenv.cc.cc;
 in
 
 stdenv.mkDerivation {
@@ -11,15 +11,15 @@ stdenv.mkDerivation {
   buildInputs = [ perl llvm groff cmake libxml2 python ];
 
   patches = [ ./clang-tablegen-dir.patch ] ++
-            stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
+            stdenv.lib.optional (stdenv.cc.libc != null) ./clang-purity.patch;
 
   cmakeFlags = [
     "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
     "-DCMAKE_BUILD_TYPE=Release"
     "-DLLVM_TARGETS_TO_BUILD=all"
     "-DGCC_INSTALL_PREFIX=${gccReal}"
-  ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [
-    "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/"
+  ] ++ stdenv.lib.optionals (stdenv.cc.libc != null) [
+    "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include/"
   ];
 
   enableParallelBuilding = true;
@@ -29,7 +29,11 @@ stdenv.mkDerivation {
       sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi";
   };
 
-  passthru = { gcc = stdenv.gcc.gcc; };
+  passthru = {
+    isClang = true;
+    cc = stdenv.cc.cc;
+    gcc = gccReal;
+  };
 
   meta = {
     homepage = http://clang.llvm.org/;
diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix
index 6ec3f7bf44a..cd060e3a65d 100644
--- a/pkgs/development/compilers/llvm/3.4/clang.nix
+++ b/pkgs/development/compilers/llvm/3.4/clang.nix
@@ -24,8 +24,8 @@ stdenv.mkDerivation {
     "-DCMAKE_CXX_FLAGS=-std=c++11"
     "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
   ] ++
-  (stdenv.lib.optional (stdenv.gcc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include") ++
-  (stdenv.lib.optional (stdenv.gcc.gcc != null) "-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}");
+  (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include") ++
+  (stdenv.lib.optional (stdenv.cc.cc != null) "-DGCC_INSTALL_PREFIX=${stdenv.cc.cc}");
 
   # Clang expects to find LLVMgold in its own prefix
   # Clang expects to find sanitizer libraries in its own prefix
@@ -34,7 +34,13 @@ stdenv.mkDerivation {
     ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
   '';
 
-  passthru.gcc = stdenv.gcc.gcc;
+  passthru = {
+    isClang = true;
+    cc = stdenv.cc.cc;
+    # GCC_INSTALL_PREFIX points here, so just use it even though it may not
+    # actually be a gcc
+    gcc = stdenv.cc.cc;
+  };
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/llvm/3.4/dragonegg.nix b/pkgs/development/compilers/llvm/3.4/dragonegg.nix
index a34fa965f06..2ebdc10654b 100644
--- a/pkgs/development/compilers/llvm/3.4/dragonegg.nix
+++ b/pkgs/development/compilers/llvm/3.4/dragonegg.nix
@@ -1,4 +1,4 @@
-{stdenv, fetch, fetchpatch, llvm, gmp, mpfr, mpc, ncurses, zlib, version}:
+{stdenv, fetch, fetchpatch, llvm, gmp, mpfr, libmpc, ncurses, zlib, version}:
 
 stdenv.mkDerivation rec {
   name = "dragonegg-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   # The gcc the plugin will be built for (the same used building dragonegg)
   GCC = "gcc";
 
-  buildInputs = [ llvm gmp mpfr mpc ncurses zlib ];
+  buildInputs = [ llvm gmp mpfr libmpc ncurses zlib ];
 
   installPhase = ''
     mkdir -p $out/lib $out/share/doc/${name}
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric shlevy];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index fbc881fc8e0..d3beb2e7461 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -27,7 +27,10 @@ in stdenv.mkDerivation rec {
     mv compiler-rt-* $sourceRoot/projects/compiler-rt
   '';
 
-  buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
+  buildInputs =
+    [ perl groff cmake libxml2 libffi ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) python /*
+    ++ stdenv.lib.optional stdenv.isLinux valgrind */;
 
   propagatedBuildInputs = [ ncurses zlib ];
 
@@ -65,6 +68,5 @@ in stdenv.mkDerivation rec {
     license     = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ];
     platforms   = stdenv.lib.platforms.all;
-    broken      = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/compilers/llvm/3.5/clang-purity.patch b/pkgs/development/compilers/llvm/3.5/clang-purity.patch
new file mode 100644
index 00000000000..dc3b54e304f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/clang-purity.patch
@@ -0,0 +1,22 @@
+diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
+index 198e82e..810d006 100644
+--- a/lib/Driver/Tools.cpp
++++ b/lib/Driver/Tools.cpp
+@@ -7355,17 +7355,6 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
+     CmdArgs.push_back("-shared");
+   }
+ 
+-  if (ToolChain.getArch() == llvm::Triple::arm ||
+-      ToolChain.getArch() == llvm::Triple::armeb ||
+-      ToolChain.getArch() == llvm::Triple::thumb ||
+-      ToolChain.getArch() == llvm::Triple::thumbeb ||
+-      (!Args.hasArg(options::OPT_static) &&
+-       !Args.hasArg(options::OPT_shared))) {
+-    CmdArgs.push_back("-dynamic-linker");
+-    CmdArgs.push_back(Args.MakeArgString(
+-        D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain)));
+-  }
+-
+   CmdArgs.push_back("-o");
+   CmdArgs.push_back(Output.getFilename());
+ 
diff --git a/pkgs/development/compilers/llvm/3.5/clang-separate-build.patch b/pkgs/development/compilers/llvm/3.5/clang-separate-build.patch
new file mode 100644
index 00000000000..5fb67f169f4
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/clang-separate-build.patch
@@ -0,0 +1,8 @@
+diff -Naur clang-3.4-orig/tools/extra/CMakeLists.txt clang-3.4/tools/extra/CMakeLists.txt
+--- clang-3.4-orig/tools/extra/CMakeLists.txt	2013-11-07 19:08:23.000000000 -0500
++++ clang-3.4/tools/extra/CMakeLists.txt	2014-01-20 11:47:22.678435223 -0500
+@@ -1,3 +1,4 @@
++include(CheckLibraryExists)
+ check_library_exists(edit el_init "" HAVE_LIBEDIT)
+ 
+ add_subdirectory(clang-apply-replacements)
diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix
new file mode 100644
index 00000000000..2398b0c59ac
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/clang.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
+let
+  gcc = if stdenv.cc.cc.isGNU or false then stdenv.cc.cc else stdenv.cc.cc.gcc;
+in stdenv.mkDerivation {
+  name = "clang-${version}";
+
+  unpackPhase = ''
+    unpackFile ${fetch "cfe" "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"}
+    mv cfe-${version}.src clang
+    sourceRoot=$PWD/clang
+    unpackFile ${clang-tools-extra_src}
+    mv clang-tools-extra-* $sourceRoot/tools/extra
+  '';
+
+  buildInputs = [ cmake libedit libxml2 llvm ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+  ] ++
+  # 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 = [ ./clang-purity.patch ];
+
+  postPatch = ''
+    sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp
+    sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
+  '';
+
+  # 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
+    ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
+    ln -sv $out/bin/clang $out/bin/cpp
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru = {
+    isClang = true;
+  } // 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.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/default.nix b/pkgs/development/compilers/llvm/3.5/default.nix
new file mode 100644
index 00000000000..29e06768a73
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/default.nix
@@ -0,0 +1,41 @@
+{ pkgs, newScope, stdenv, isl, fetchurl }:
+let
+  callPackage = newScope (self // { inherit stdenv isl version fetch; });
+
+  version = "3.5.0";
+
+  fetch = fetch_v version;
+  fetch_v = ver: name: sha256: fetchurl {
+    url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
+    inherit sha256;
+  };
+
+  compiler-rt_src = fetch "compiler-rt" "0dl1kbrhz96djsxqr61iw5h788s7ncfpfb7aayixky1bhdaydcx4";
+  clang-tools-extra_src = fetch "clang-tools-extra" "0s8zjgxg8bj15nnqcw1cj1zffcralhh7f0gda1famddgg2rvx099";
+
+  self = {
+    llvm = callPackage ./llvm.nix rec {
+      version = "3.5.0";
+      fetch = fetch_v version;
+      inherit compiler-rt_src;
+    };
+
+    clang = callPackage ./clang.nix rec {
+      version = "3.5.0";
+      fetch = fetch_v version;
+      inherit clang-tools-extra_src;
+    };
+
+    lld = callPackage ./lld.nix {};
+
+    lldb = callPackage ./lldb.nix {};
+
+    polly = callPackage ./polly.nix {};
+
+    dragonegg = callPackage ./dragonegg.nix {};
+
+    libcxx = callPackage ./libc++ { stdenv = pkgs.clangStdenv; };
+
+    libcxxabi = callPackage ./libc++abi { stdenv = pkgs.clangStdenv; };
+  };
+in self
diff --git a/pkgs/development/compilers/llvm/3.5/dragonegg.nix b/pkgs/development/compilers/llvm/3.5/dragonegg.nix
new file mode 100644
index 00000000000..ac433ac90a1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/dragonegg.nix
@@ -0,0 +1,26 @@
+{stdenv, fetch, fetchpatch, llvm, gmp, mpfr, libmpc, ncurses, zlib, version}:
+
+stdenv.mkDerivation rec {
+  name = "dragonegg-${version}";
+
+  src = fetch "dragonegg" "1v1lc9h2nfk3lsk9sx1k4ckwddz813hqjmlp2bx2kwxx9hw364ar";
+
+  # The gcc the plugin will be built for (the same used building dragonegg)
+  GCC = "gcc";
+
+  buildInputs = [ llvm gmp mpfr libmpc ncurses zlib ];
+
+  installPhase = ''
+    mkdir -p $out/lib $out/share/doc/${name}
+    cp -d dragonegg.so $out/lib
+    cp README COPYING $out/share/doc/${name}
+  '';
+
+  meta = {
+    homepage = http://dragonegg.llvm.org/;
+    description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [viric shlevy];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/libc++/darwin.patch b/pkgs/development/compilers/llvm/3.5/libc++/darwin.patch
new file mode 100644
index 00000000000..bf83f169cfc
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/libc++/darwin.patch
@@ -0,0 +1,30 @@
+diff -ru -x '*~' libcxx-3.4.2.src-orig/lib/CMakeLists.txt libcxx-3.4.2.src/lib/CMakeLists.txt
+--- libcxx-3.4.2.src-orig/lib/CMakeLists.txt	2013-11-15 18:18:57.000000000 +0100
++++ libcxx-3.4.2.src/lib/CMakeLists.txt	2014-09-24 14:04:01.000000000 +0200
+@@ -56,7 +56,7 @@
+       "-compatibility_version 1"
+       "-current_version ${LIBCXX_VERSION}"
+       "-install_name /usr/lib/libc++.1.dylib"
+-      "-Wl,-reexport_library,/usr/lib/libc++abi.dylib"
++      "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib"
+       "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
+       "/usr/lib/libSystem.B.dylib")
+   else()
+@@ -64,14 +64,14 @@
+       list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7)
+       if (OSX_HAS_ARMV7)
+         set(OSX_RE_EXPORT_LINE
+-          "${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"
++          "${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib"
+           "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++sjlj-abi.exp")
+       else()
+         set(OSX_RE_EXPORT_LINE
+-          "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib")
++          "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib")
+       endif()
+     else()
+-      set (OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
++      set (OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
+     endif()
+ 
+     list(APPEND link_flags
diff --git a/pkgs/development/compilers/llvm/3.5/libc++/default.nix b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
new file mode 100644
index 00000000000..d2796d678d0
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
@@ -0,0 +1,46 @@
+{ lib, stdenv, fetchurl, cmake, libcxxabi, fixDarwinDylibNames }:
+
+let version = "3.5.0"; in
+
+stdenv.mkDerivation rec {
+  name = "libc++-${version}";
+
+  src = fetchurl {
+    url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.xz";
+    sha256 = "1h5is2jd802344kddm45jcm7bra51llsiv9r34h0rrb3ba2dlic0";
+  };
+
+  # instead of allowing libc++ to link with /usr/lib/libc++abi.dylib,
+  # force it to link with our copy
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace lib/CMakeLists.txt \
+      --replace 'OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib' \
+                'OSX_RE_EXPORT_LINE "${libcxxabi}/lib/libc++abi.dylib' \
+      --replace '"''${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"' \
+                '"${libcxxabi}/lib/libc++abi.dylib"'
+  '';
+
+  patches = [ ./darwin.patch ];
+
+  buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  cmakeFlags =
+    [ "-DCMAKE_BUILD_TYPE=Release"
+      "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include"
+      "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
+      "-DLIBCXX_LIBCPPABI_VERSION=2"
+      "-DLIBCXX_CXX_ABI=libcxxabi"
+    ];
+
+  enableParallelBuilding = true;
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    homepage = http://libcxx.llvm.org/;
+    description = "A new implementation of the C++ standard library, targeting C++11";
+    license = "BSD";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
new file mode 100644
index 00000000000..8a45be7e85a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
@@ -0,0 +1,4 @@
+export NIX_CFLAGS_COMPILE+=" -isystem @out@/include/c++/v1"
+
+export NIX_CXXSTDLIB_COMPILE=" -stdlib=libc++"
+export NIX_CXXSTDLIB_LINK=" -stdlib=libc++"
diff --git a/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix b/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
new file mode 100644
index 00000000000..ca8558f7147
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, cmake, fetchurl, libcxx, libunwind, llvm }:
+
+let
+  version = "3.5.0";
+  cmakeLists = fetchurl {
+    name   = "CMakeLists.txt";
+    url    = "http://llvm.org/svn/llvm-project/libcxxabi/trunk/CMakeLists.txt?p=217324";
+    sha256 = "10idgcbs4pcx6mjsbq1vjm8hzqqdk2p7k86cw9f473jmfyfwgf5j";
+  };
+in stdenv.mkDerivation {
+  name = "libc++abi-${version}";
+
+  src = fetchurl {
+    url    = "http://llvm.org/releases/${version}/libcxxabi-${version}.src.tar.xz";
+    sha256 = "1ndcpw3gfrzh7m1jac2qadhkrqgvb65cns69j9niydyj5mmbxijk";
+  };
+
+  buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin) libunwind;
+
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    unpackFile ${llvm.src}
+    echo cp ${cmakeLists} libcxxabi-*/CMakeLists.txt
+    cp ${cmakeLists} libcxxabi-*/CMakeLists.txt
+    export NIX_CFLAGS_COMPILE+=" -I$PWD/include"
+    export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export TRIPLE=x86_64-apple-darwin
+  '';
+
+  installPhase = if stdenv.isDarwin
+    then ''
+      for file in lib/*; 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/cxxabi.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 $src/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 = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ shlevy vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/lld.nix b/pkgs/development/compilers/llvm/3.5/lld.nix
new file mode 100644
index 00000000000..000b3c9d57a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/lld.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }:
+
+stdenv.mkDerivation {
+  name = "lld-${version}";
+
+  src = fetch "lld" "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxx";
+
+  preUnpack = ''
+    # !!! Hopefully won't be needed for 3.5
+    unpackFile ${llvm.src}
+    export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*`
+  '';
+
+  buildInputs = [ cmake ncurses zlib python ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLD_PATH_TO_LLVM_BUILD=${llvm}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A set of modular code for creating linker tools";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/lldb.nix b/pkgs/development/compilers/llvm/3.5/lldb.nix
new file mode 100644
index 00000000000..92ba4108a4d
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/lldb.nix
@@ -0,0 +1,45 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, llvm
+, clang
+, python
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "lldb-${version}";
+
+  src = fetch "lldb" "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x44";
+
+  patchPhase = ''
+    sed -i 's|/usr/bin/env||' \
+      scripts/Python/finish-swig-Python-LLDB.sh \
+      scripts/Python/build-swig-Python.sh
+  '';
+
+  buildInputs = [ cmake python which swig ncurses zlib libedit ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}"
+    "-DLLDB_PATH_TO_CLANG_BUILD=${clang}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A next-generation high-performance debugger";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+    broken = true;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch b/pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch
new file mode 100644
index 00000000000..abfc11513cd
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch
@@ -0,0 +1,12 @@
+diff -Naur llvm-3.4-orig/cmake/modules/TableGen.cmake llvm-3.4/cmake/modules/TableGen.cmake
+--- llvm-3.4-orig/cmake/modules/TableGen.cmake	2013-10-06 21:00:07.000000000 -0400
++++ llvm-3.4/cmake/modules/TableGen.cmake	2014-01-20 13:06:55.273022149 -0500
+@@ -78,8 +78,6 @@
+ endif()
+ 
+ macro(add_tablegen target project)
+-  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
+-
+   set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
+   set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
+   add_llvm_utility(${target} ${ARGN})
diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix
new file mode 100644
index 00000000000..7e11caa66f0
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, fetch
+, perl
+, groff
+, cmake
+, python
+, libffi
+, binutils
+, libxml2
+, valgrind
+, ncurses
+, version
+, zlib
+, compiler-rt_src
+}:
+
+let
+  src = fetch "llvm" "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98";
+in stdenv.mkDerivation rec {
+  name = "llvm-${version}";
+
+  unpackPhase = ''
+    unpackFile ${src}
+    mv llvm-${version}.src llvm
+    sourceRoot=$PWD/llvm
+    unpackFile ${compiler-rt_src}
+    mv compiler-rt-* $sourceRoot/projects/compiler-rt
+  '';
+
+  buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  # 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=Release"
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_REQUIRES_RTTI=1"
+  ] ++ stdenv.lib.optionals (!isDarwin) [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
+  ] ++ stdenv.lib.optionals ( isDarwin) [
+    "-DCMAKE_CXX_FLAGS=-stdlib=libc++"
+    "-DCAN_TARGET_i386=false"
+  ];
+
+  postBuild = ''
+    rm -fR $out
+
+    paxmark m bin/{lli,llvm-rtdyld}
+
+    paxmark m unittests/ExecutionEngine/JIT/JITTests
+    paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
+    paxmark m unittests/Support/SupportTests
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru.src = src;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/polly-separate-build.patch b/pkgs/development/compilers/llvm/3.5/polly-separate-build.patch
new file mode 100644
index 00000000000..618dd4dc3b1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/polly-separate-build.patch
@@ -0,0 +1,12 @@
+diff -Naur polly-3.4-orig/CMakeLists.txt polly-3.4/CMakeLists.txt
+--- polly-3.4-orig/CMakeLists.txt	2013-11-21 06:51:46.000000000 -0500
++++ polly-3.4/CMakeLists.txt	2014-01-20 18:49:34.907919933 -0500
+@@ -53,7 +53,7 @@
+   execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/llvm-config" --cxxflags
+                   OUTPUT_VARIABLE LLVM_CXX_FLAGS
+                   OUTPUT_STRIP_TRAILING_WHITESPACE)
+-  set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS})
++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}")
+ endif(NOT DEFINED LLVM_MAIN_SRC_DIR)
+ 
+ set(POLLY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/pkgs/development/compilers/llvm/3.5/polly.nix b/pkgs/development/compilers/llvm/3.5/polly.nix
new file mode 100644
index 00000000000..6de420397af
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/polly.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetch, cmake, isl, python, gmp, llvm, version }:
+
+stdenv.mkDerivation {
+  name = "polly-${version}";
+
+  src =  fetch "polly" "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6ll";
+
+  patches = [ ./polly-separate-build.patch ];
+
+  buildInputs = [ cmake isl python gmp ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLVM_INSTALL_ROOT=${llvm}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A polyhedral optimizer for llvm";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.6/clang/cmake-exports.patch b/pkgs/development/compilers/llvm/3.6/clang/cmake-exports.patch
new file mode 100644
index 00000000000..fbe9489d8e2
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/clang/cmake-exports.patch
@@ -0,0 +1,29 @@
+diff -Naur clang-3.6.0.src-orig/CMakeLists.txt clang-3.6.0.src/CMakeLists.txt 
+--- clang-3.6.0.src-orig/CMakeLists.txt	2015-03-05 05:56:20.788520896 +0100
++++ clang-3.6.0.src/CMakeLists.txt	2015-03-05 06:02:15.589365469 +0100
+@@ -362,6 +362,7 @@
+ 
+     if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libclang")
+       install(TARGETS ${name}
++        EXPORT ClangTargets
+         LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+         ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+         RUNTIME DESTINATION bin)
+@@ -516,15 +517,15 @@
+   set(CLANG_INSTALL_PACKAGE_DIR share/clang/cmake)
+   set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}")
+   get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS)
+-  export(TARGETS ${CLANG_EXPORTS} FILE ${clang_cmake_builddir}/ClangTargets.cmake)
+ 
+   # Install a <prefix>/share/clang/cmake/ClangConfig.cmake file so that
+   # find_package(Clang) works. Install the target list with it.
+   install(FILES
+     ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake
+-    ${CLANG_BINARY_DIR}/share/clang/cmake/ClangTargets.cmake
+     DESTINATION share/clang/cmake)
+ 
++  install(EXPORT ClangTargets DESTINATION share/clang/cmake)
++
+   # Also copy ClangConfig.cmake to the build directory so that dependent projects
+   # can build against a build directory of Clang more easily.
+   configure_file(
diff --git a/pkgs/development/compilers/llvm/3.6/clang/default.nix b/pkgs/development/compilers/llvm/3.6/clang/default.nix
new file mode 100644
index 00000000000..7be535ada1e
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/clang/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
+
+let
+  gcc = if stdenv.cc.cc.isGNU or false then stdenv.cc.cc else stdenv.cc.cc.gcc;
+in stdenv.mkDerivation {
+  name = "clang-${version}";
+
+  unpackPhase = ''
+    unpackFile ${fetch "cfe" "0b8825mvdhfk5r9gwcwp1j2dl9kw5glgyk7pybq2dzhrh4vnj3my"}
+    mv cfe-${version}.src clang
+    sourceRoot=$PWD/clang
+    unpackFile ${clang-tools-extra_src}
+    mv clang-tools-extra-* $sourceRoot/tools/extra
+  '';
+
+  buildInputs = [ cmake libedit libxml2 llvm ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+  ] ++
+  # 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 ./cmake-exports.patch ];
+
+  postPatch = ''
+    sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp
+    sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
+  '';
+
+  # 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
+    ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
+    ln -sv $out/bin/clang $out/bin/cpp
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru = {
+    isClang = true;
+  } // 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.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.6/clang/purity.patch b/pkgs/development/compilers/llvm/3.6/clang/purity.patch
new file mode 100644
index 00000000000..dc3b54e304f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/clang/purity.patch
@@ -0,0 +1,22 @@
+diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
+index 198e82e..810d006 100644
+--- a/lib/Driver/Tools.cpp
++++ b/lib/Driver/Tools.cpp
+@@ -7355,17 +7355,6 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
+     CmdArgs.push_back("-shared");
+   }
+ 
+-  if (ToolChain.getArch() == llvm::Triple::arm ||
+-      ToolChain.getArch() == llvm::Triple::armeb ||
+-      ToolChain.getArch() == llvm::Triple::thumb ||
+-      ToolChain.getArch() == llvm::Triple::thumbeb ||
+-      (!Args.hasArg(options::OPT_static) &&
+-       !Args.hasArg(options::OPT_shared))) {
+-    CmdArgs.push_back("-dynamic-linker");
+-    CmdArgs.push_back(Args.MakeArgString(
+-        D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain)));
+-  }
+-
+   CmdArgs.push_back("-o");
+   CmdArgs.push_back(Output.getFilename());
+ 
diff --git a/pkgs/development/compilers/llvm/3.6/default.nix b/pkgs/development/compilers/llvm/3.6/default.nix
new file mode 100644
index 00000000000..624fc68c21a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/default.nix
@@ -0,0 +1,35 @@
+{ pkgs, newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }:
+let
+  callPackage = newScope (self // { inherit isl version fetch; });
+
+  version = "3.6.0";
+
+  fetch = fetch_v version;
+  fetch_v = ver: name: sha256: fetchurl {
+    url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
+    inherit sha256;
+  };
+
+  compiler-rt_src = fetch "compiler-rt" "04bbn946jninynkrjyp337xqs8ihn4fkz5xgvmywxkddwmwznjbz";
+  clang-tools-extra_src = fetch "clang-tools-extra" "04n83gsmy2ghvn7vp9hamsgn332rx2g7sa4paskr0d4ihax4ka9s";
+
+  self = {
+    llvm = callPackage ./llvm.nix {
+      inherit compiler-rt_src stdenv;
+    };
+
+    clang-unwrapped = callPackage ./clang {
+      inherit clang-tools-extra_src stdenv;
+    };
+
+    clang = wrapCC self.clang-unwrapped;
+
+    stdenv = overrideCC stdenv self.clang;
+
+    lldb = callPackage ./lldb.nix {};
+
+    libcxx = callPackage ./libc++ {};
+
+    libcxxabi = callPackage ./libc++abi.nix {};
+  };
+in self
diff --git a/pkgs/development/compilers/llvm/3.6/libc++/darwin.patch b/pkgs/development/compilers/llvm/3.6/libc++/darwin.patch
new file mode 100644
index 00000000000..bf83f169cfc
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/libc++/darwin.patch
@@ -0,0 +1,30 @@
+diff -ru -x '*~' libcxx-3.4.2.src-orig/lib/CMakeLists.txt libcxx-3.4.2.src/lib/CMakeLists.txt
+--- libcxx-3.4.2.src-orig/lib/CMakeLists.txt	2013-11-15 18:18:57.000000000 +0100
++++ libcxx-3.4.2.src/lib/CMakeLists.txt	2014-09-24 14:04:01.000000000 +0200
+@@ -56,7 +56,7 @@
+       "-compatibility_version 1"
+       "-current_version ${LIBCXX_VERSION}"
+       "-install_name /usr/lib/libc++.1.dylib"
+-      "-Wl,-reexport_library,/usr/lib/libc++abi.dylib"
++      "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib"
+       "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
+       "/usr/lib/libSystem.B.dylib")
+   else()
+@@ -64,14 +64,14 @@
+       list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7)
+       if (OSX_HAS_ARMV7)
+         set(OSX_RE_EXPORT_LINE
+-          "${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"
++          "${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib"
+           "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++sjlj-abi.exp")
+       else()
+         set(OSX_RE_EXPORT_LINE
+-          "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib")
++          "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib")
+       endif()
+     else()
+-      set (OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
++      set (OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
+     endif()
+ 
+     list(APPEND link_flags
diff --git a/pkgs/development/compilers/llvm/3.6/libc++/default.nix b/pkgs/development/compilers/llvm/3.6/libc++/default.nix
new file mode 100644
index 00000000000..a01d15e186b
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/libc++/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }:
+
+stdenv.mkDerivation rec {
+  name = "libc++-${version}";
+
+  src = fetch "libcxx" "1dzvhyrzj54v823biadag5lwxfz37gm8a65aq72pjsh8n211x719";
+
+  # instead of allowing libc++ to link with /usr/lib/libc++abi.dylib,
+  # force it to link with our copy
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace lib/CMakeLists.txt \
+      --replace 'OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib' \
+                'OSX_RE_EXPORT_LINE "${libcxxabi}/lib/libc++abi.dylib' \
+      --replace '"''${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"' \
+                '"${libcxxabi}/lib/libc++abi.dylib"'
+  '';
+
+  patches = [ ./darwin.patch ];
+
+  buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  cmakeFlags =
+    [ "-DCMAKE_BUILD_TYPE=Release"
+      "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include"
+      "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
+      "-DLIBCXX_LIBCPPABI_VERSION=2"
+      "-DLIBCXX_CXX_ABI=libcxxabi"
+    ];
+
+  enableParallelBuilding = true;
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    homepage = http://libcxx.llvm.org/;
+    description = "A new implementation of the C++ standard library, targeting C++11";
+    license = "BSD";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh
new file mode 100644
index 00000000000..8a45be7e85a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/libc++/setup-hook.sh
@@ -0,0 +1,4 @@
+export NIX_CFLAGS_COMPILE+=" -isystem @out@/include/c++/v1"
+
+export NIX_CXXSTDLIB_COMPILE=" -stdlib=libc++"
+export NIX_CXXSTDLIB_LINK=" -stdlib=libc++"
diff --git a/pkgs/development/compilers/llvm/3.6/libc++abi.nix b/pkgs/development/compilers/llvm/3.6/libc++abi.nix
new file mode 100644
index 00000000000..ddc9c267edd
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/libc++abi.nix
@@ -0,0 +1,47 @@
+{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
+
+stdenv.mkDerivation {
+  name = "libc++abi-${version}";
+
+  src = fetch "libcxxabi" "1xclv63l7cmrxkl129w6j9fsxgdm8jjlcm8gswl2y9qmh3dwz2zp";
+
+  buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin) libunwind;
+
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    unpackFile ${llvm.src}
+    export NIX_CFLAGS_COMPILE+=" -I$PWD/include"
+    export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export TRIPLE=x86_64-apple-darwin
+  '';
+
+  installPhase = if stdenv.isDarwin
+    then ''
+      for file in lib/*; 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/cxxabi.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 = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ shlevy vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.6/lldb.nix b/pkgs/development/compilers/llvm/3.6/lldb.nix
new file mode 100644
index 00000000000..d4f496a1749
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/lldb.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, llvm
+, clang-unwrapped
+, python
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "lldb-${version}";
+
+  src = fetch "lldb" "1cphxbc8c0yqs2rxn94vcn8his465m97rnynklpzm8sf5kad26ib";
+
+  patchPhase = ''
+    sed -i 's|/usr/bin/env||' \
+      scripts/Python/finish-swig-Python-LLDB.sh \
+      scripts/Python/build-swig-Python.sh
+  '';
+
+  buildInputs = [ cmake python which swig ncurses zlib libedit ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}"
+    "-DLLDB_PATH_TO_CLANG_BUILD=${clang-unwrapped}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A next-generation high-performance debugger";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.6/llvm.nix b/pkgs/development/compilers/llvm/3.6/llvm.nix
new file mode 100644
index 00000000000..736ffca295f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.6/llvm.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, fetch
+, perl
+, groff
+, cmake
+, python
+, libffi
+, binutils
+, libxml2
+, valgrind
+, ncurses
+, version
+, zlib
+, compiler-rt_src
+}:
+
+let
+  src = fetch "llvm" "1kmr5vlnz1419nnvyc7lsrcfx09n65ravjbmzxrqz7ml07jnk6mk";
+in stdenv.mkDerivation rec {
+  name = "llvm-${version}";
+
+  unpackPhase = ''
+    unpackFile ${src}
+    mv llvm-${version}.src llvm
+    sourceRoot=$PWD/llvm
+    unpackFile ${compiler-rt_src}
+    mv compiler-rt-* $sourceRoot/projects/compiler-rt
+  '';
+
+  buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  # 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=Release"
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_ENABLE_RTTI=ON"
+  ] ++ stdenv.lib.optionals (!isDarwin) [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
+  ] ++ stdenv.lib.optionals ( isDarwin) [
+    "-DCMAKE_CXX_FLAGS=-stdlib=libc++"
+    "-DCAN_TARGET_i386=false"
+  ];
+
+  postBuild = ''
+    rm -fR $out
+
+    paxmark m bin/{lli,llvm-rtdyld}
+
+    paxmark m unittests/ExecutionEngine/JIT/JITTests
+    paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
+    paxmark m unittests/Support/SupportTests
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru.src = src;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/mentor/default.nix b/pkgs/development/compilers/mentor/default.nix
index b12a197451a..7ff013b2344 100644
--- a/pkgs/development/compilers/mentor/default.nix
+++ b/pkgs/development/compilers/mentor/default.nix
@@ -18,7 +18,7 @@ let
         tar --strip-components=1 -xjf "$src" -C "$out"
 
         # Patch binaries
-        interpreter="$(cat "$NIX_GCC"/nix-support/dynamic-linker)"
+        interpreter="$(cat "$NIX_CC"/nix-support/dynamic-linker)"
         for file in "$out"/bin/* "$out"/libexec/gcc/*/*/* "$out"/*/bin/*; do
             # Skip non-executable files
             case "$file" in
diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix
index de9b44a4414..c2352b8126e 100644
--- a/pkgs/development/compilers/mercury/default.nix
+++ b/pkgs/development/compilers/mercury/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name    = "mercury-${version}";
-  version = "14.01";
+  version = "14.01.1";
 
   src = fetchurl {
     url    = "http://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz";
-    sha256 = "1hgwmsaacxhgx2p2hikl5px8xf0wny9wx47gjl258dgxxasbfij4";
+    sha256 = "12z8qi3da8q50mcsjsy5bnr4ia6ny5lkxvzy01a3c9blgbgcpxwq";
   };
 
   buildInputs = [ gcc flex bison texinfo jdk erlang makeWrapper
diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix
new file mode 100644
index 00000000000..183640f5985
--- /dev/null
+++ b/pkgs/development/compilers/mezzo/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, ocaml, findlib, menhir, yojson, ulex, pprint, fix, functory}:
+
+stdenv.mkDerivation {
+
+  name = "mezzo-0.0.m8";
+
+  src = fetchurl {
+    url = https://github.com/protz/mezzo/archive/m8.tar.gz;
+    sha256 = "17mfapgqp8ssa5x9blv72zg9l561zbiwv3ikwi6nl9dd36lwkkc6";
+  };
+
+  buildInputs = [ ocaml findlib yojson menhir ulex pprint fix functory ];
+
+  createFindlibDestdir = true;
+
+  postInstall = ''
+    mkdir $out/bin
+    cp mezzo $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://protz.github.io/mezzo/;
+    description = "A programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory";
+    license = licenses.gpl2;
+    platforms = ocaml.meta.platforms;
+  };
+}
+
+
diff --git a/pkgs/development/compilers/microscheme/default.nix b/pkgs/development/compilers/microscheme/default.nix
new file mode 100644
index 00000000000..9ed5b8950e9
--- /dev/null
+++ b/pkgs/development/compilers/microscheme/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchzip, vim, avrdude, avrgcclibc, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "microscheme-${version}";
+  version = "0.9.2";
+
+  src = fetchzip {
+    name = "${name}-src";
+    url = "https://github.com/ryansuchocki/microscheme/archive/v${version}.tar.gz";
+    sha256 = "0ly1cphvnsip70kng9q0blb07pkyp9allav42sr6ybswqfqg60j9";
+  };
+
+  buildInputs = [ makeWrapper vim ];
+
+  installPhase = ''
+    make install PREFIX=$out
+
+    wrapProgram $out/bin/microscheme \
+      --prefix PATH : "${avrdude}/bin:${avrgcclibc}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://microscheme.org;
+    description = "A Scheme subset for Atmel microcontrollers";
+    longDescription = ''
+      Microscheme is a Scheme subset/variant designed for Atmel
+      microcontrollers, especially as found on Arduino boards.
+    '';
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ardumont ];
+  };
+}
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
index b10aaedb483..076f3c95675 100644
--- a/pkgs/development/compilers/mit-scheme/default.nix
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -80,7 +80,7 @@ stdenv.mkDerivation {
 
     license = licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ ludo ];
+    maintainers = [ ];
 
     # Build fails on Cygwin and Darwin:
     # <http://article.gmane.org/gmane.lisp.scheme.mit-scheme.devel/489>.
diff --git a/pkgs/development/compilers/mkcl/default.nix b/pkgs/development/compilers/mkcl/default.nix
new file mode 100644
index 00000000000..2a34a5dc50b
--- /dev/null
+++ b/pkgs/development/compilers/mkcl/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, gmp }:
+
+stdenv.mkDerivation rec {
+  v = "1.1.9";
+  name = "mkcl-${v}";
+
+  src = fetchgit {
+    url = "https://github.com/jcbeaudoin/mkcl.git";
+    rev = "86768cc1dfc2cc9caa1fe9696584bb25ea6c1429";
+    sha256 = "0ja7vyp5rjidb2a1gah35jqzqn6zjkikz5sd966p0f0wh26l6n03";
+  };
+
+  propagatedBuildInputs = [ gmp ];
+
+  configureFlags = [
+    "GMP_CFLAGS=-I${gmp}/include"
+    "GMP_LDFLAGS=-L${gmp}/lib"
+  ];
+
+  meta = {
+    description = "ANSI Common Lisp Implementation";
+    homepage = https://common-lisp.net/project/mkcl/;
+    license = stdenv.lib.licenses.lgpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix
index 2fa986375ff..381941acc20 100644
--- a/pkgs/development/compilers/mlton/default.nix
+++ b/pkgs/development/compilers/mlton/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   sourceRoot = name;
 
-  buildInputs = [ patchelf gmp ];
+  buildInputs = [ gmp ] ++ stdenv.lib.optional stdenv.isLinux patchelf;
 
   makeFlags = [ "all-no-docs" ];
 
@@ -47,6 +47,12 @@ stdenv.mkDerivation rec {
     find . -type f | grep -v -e '\.tgz''$' | xargs sed -i "s@/usr/bin/env bash@$(type -p bash)@"
 
     substituteInPlace $(pwd)/Makefile --replace '/bin/cp' $(type -p cp)
+    substituteInPlace bin/mlton-script --replace gcc cc
+    substituteInPlace bin/regression --replace gcc cc
+    substituteInPlace lib/mlnlffi-lib/Makefile --replace gcc cc
+    substituteInPlace mlnlffigen/gen-cppcmd --replace gcc cc
+    substituteInPlace runtime/Makefile --replace gcc cc
+    substituteInPlace ../${usr_prefix}/bin/mlton --replace gcc cc
 
     # Fix paths in the binary distribution.
     BIN_DIST_DIR="$(pwd)/../${usr_prefix}"
@@ -91,8 +97,8 @@ stdenv.mkDerivation rec {
     # Path to gmp.h.
     substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp}/include'"
 
-    # Path to the same gcc used in the build; needed at runtime.
-    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p gcc)"'"
+    # Path to the same cc used in the build; needed at runtime.
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p cc)"'"
 
     # Copy files to final positions.
     cp -r $(pwd)/install/${usr_prefix}/bin $out
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 1b9e9118d56..a9e0dd89e84 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -6,10 +6,10 @@ let
 in
 stdenv.mkDerivation rec {
   name = "mono-${version}";
-  version = "3.2.8";
+  version = "3.12.1";
   src = fetchurl {
     url = "http://download.mono-project.com/sources/mono/${name}.tar.bz2";
-    sha256 = "0h0s42pmgrhwqaym0b1401h70dcpr179ngcsp7f8i4hl4snqrd7x";
+    sha256 = "03dn68vignknzxy1rx75p16qx1ild27hixgvr5mw0j19mx9z332x";
   };
 
   buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib];
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
   #http://www.mono-project.com/Config_DllMap
   postBuild = ''
     find . -name 'config' -type f | while read i; do
-        sed -i "s@libMonoPosixHelper.so@$out/lib/libMonoPosixHelper.so@g" $i
         sed -i "s@libX11.so.6@${libX11}/lib/libX11.so.6@g" $i
         sed -i "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" $i
     done
@@ -55,7 +54,7 @@ stdenv.mkDerivation rec {
     homepage = http://mono-project.com/;
     description = "Cross platform, open source .NET development framework";
     platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice ];
-    license = "free"; # Combination of LGPL/X11/GPL ?
+    maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice obadz ];
+    license = stdenv.lib.licenses.free; # Combination of LGPL/X11/GPL ?
   };
 }
diff --git a/pkgs/development/compilers/mozart/binary.nix b/pkgs/development/compilers/mozart/binary.nix
new file mode 100644
index 00000000000..a420ef9c292
--- /dev/null
+++ b/pkgs/development/compilers/mozart/binary.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, bash, makeWrapper, coreutils, emacs, tcl, tk, boost, gmp, cacert }:
+
+assert stdenv.isLinux;
+
+let
+  version = "2.0.0";
+in
+stdenv.mkDerivation {
+  name = "mozart-binary-${version}";
+
+  src = fetchurl {
+    url = "http://sourceforge.net/projects/mozart-oz/files/v${version}-alpha.0/mozart2-${version}-alpha.0+build.4105.5c06ced-x86_64-linux.tar.gz";
+    sha256 = "0rsfrjimjxqbwprpzzlmydl3z3aiwg5qkb052jixdxjyad7gyh5z";
+  };
+
+  libPath = stdenv.lib.makeLibraryPath
+    [stdenv.cc.cc emacs tk tcl boost gmp];
+
+  builder = ./builder.sh;
+
+  buildInputs = [ makeWrapper ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.mozart-oz.org/";
+    description = "Multiplatform implementation of the Oz programming language";
+    longDescription = ''
+      The Mozart Programming System combines ongoing research in
+      programming language design and implementation, constraint logic
+      programming, distributed computing, and human-computer
+      interfaces. Mozart implements the Oz language and provides both
+      expressive power and advanced functionality.
+    '';
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/compilers/mozart/builder.sh b/pkgs/development/compilers/mozart/builder.sh
new file mode 100644
index 00000000000..75914121611
--- /dev/null
+++ b/pkgs/development/compilers/mozart/builder.sh
@@ -0,0 +1,24 @@
+source $stdenv/setup
+
+echo "unpacking $src..."
+tar xvfz $src
+
+mkdir -p $out/bin
+mkdir -p $out/share
+
+mv mozart*linux/bin/* $out/bin
+mv mozart*linux/share/* $out/share
+
+patchShebangs $out
+
+for f in $out/bin/*; do
+  b=$(basename $f)
+  if [ $b == "ozemulator" ] || [ $b == "ozwish" ]; then
+     patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+	 --set-rpath $libPath \
+	 $f
+    continue;
+  fi
+  wrapProgram $f \
+    --set OZHOME $out
+done
diff --git a/pkgs/development/compilers/mozart/default.nix b/pkgs/development/compilers/mozart/default.nix
deleted file mode 100644
index d649ef46918..00000000000
--- a/pkgs/development/compilers/mozart/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, flex, bison, perl, gmp, zlib, tcl, tk, gdbm, m4, x11, emacs}:
-
-stdenv.mkDerivation {
-  name = "mozart-1.4.0";
-  src = fetchurl {
-    url = http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-src.tar.gz;
-    sha256 = "5da73d80b5aa7fa42edca64159a1a076323f090e5c548f3747f94d0afc60b223";
-  };
-
-  buildInputs = [flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs];
-
-  # micq gives a compile error for me
-  configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib --disable-contrib-micq";
-}
diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix
index 8219882a2a2..a30a97ce9ce 100644
--- a/pkgs/development/compilers/nasm/default.nix
+++ b/pkgs/development/compilers/nasm/default.nix
@@ -2,16 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "nasm-${version}";
-  version = "2.11.05";
-  
+  version = "2.11.08";
+
   src = fetchurl {
     url = "http://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2";
-    sha256 = "1sgspnascc0asmwlv3jm1mq4vzx653sa7vlg48z20pfybk7pnhaa";
+    sha256 = "0ialkla6i63j8fpv840jy7k5mdf2wbqr98bvbcq0dp0b38ls18wx";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.nasm.us/;
     description = "An 80x86 and x86-64 assembler designed for portability and modularity";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
new file mode 100644
index 00000000000..3b8f46eb688
--- /dev/null
+++ b/pkgs/development/compilers/nim/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "nim-0.10.2";
+
+  buildInputs = [ unzip ];
+
+  src = fetchurl {
+    url = "http://nim-lang.org/download/${name}.zip";
+    sha256 = "1jkrf8wgva7kfl0vqs1f3scidi6a85r6bkz2zf90k8gdpin9idrg";
+  };
+
+  buildPhase   = "sh build.sh";
+  installPhase =
+    ''
+      substituteInPlace install.sh --replace '$1/nim' "$out"
+      sh install.sh $out
+    '';
+
+  meta = with stdenv.lib;
+    { description = "Statically typed, imperative programming language";
+      homepage = http://nim-lang.org/;
+      license = licenses.mit;
+      maintainers = with maintainers; [ emery ];
+      platforms = platforms.linux; # arbitrary
+    };
+}
diff --git a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
index 23b5883c009..9c6d07c4681 100644
--- a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
+++ b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
@@ -1,27 +1,27 @@
-{ stdenv, fetchurl, patchelf }:
+{ lib, stdenv, fetchurl, patchelf }:
 
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "3.0";
-  
-  date = "February2011";
-  
+  version = "3.1";
+
+  date = "April2012";
+
   name = "nvidia-cg-toolkit-${version}";
-  
+
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://developer.download.nvidia.com/cg/Cg_${version}/Cg-${version}_${date}_x86_64.tgz";
-        sha256 = "07gmnzfsla3vf1kf00cj86p87h6wrdbp6ri4ycslc5kmfxsq7ypq";
+        sha256 = "e8ff01e6cc38d1b3fd56a083f5860737dbd2f319a39037528fb1a74a89ae9878";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://developer.download.nvidia.com/cg/Cg_${version}/Cg-${version}_${date}_x86.tgz";
-        sha256 = "0hr8l0r20akbfm5j0vqv4ghl0acwjf5996pxnfxlajacl9w58nam";
+        sha256 = "cef3591e436f528852db0e8c145d3842f920e0c89bcfb219c466797cb7b18879";
       }
     else throw "nvidia-cg-toolkit does not support platform ${stdenv.system}";
-    
+
   installPhase = ''
     for b in cgc cgfxcat cginfo
     do
@@ -35,17 +35,12 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/lib/"
     [ "$system" == "x86_64-linux" ] && cp -v lib64/* "$out/lib/"
     [ "$system" == "i686-linux" ] && cp -v lib/* "$out/lib/"
-    for mandir in man1 man3 manCg manCgFX
-    do
-        mkdir -p "$out/share/man/$mandir/"
-        cp -v share/man/$mandir/* "$out/share/man/$mandir/"
-    done
     mkdir -p "$out/share/doc/$name/"
     cp -v -r local/Cg/* "$out/share/doc/$name/"
   '';
-  
+
   meta = {
     homepage = http://developer.nvidia.com/cg-toolkit;
-    license = [ "nonfree-redistributable" ];
+    license = lib.licenses.unfreeRedistributable;
   };
 }
diff --git a/pkgs/development/compilers/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix
index 1d68585d93a..69a6a1f5f67 100644
--- a/pkgs/development/compilers/ocaml/3.10.0.nix
+++ b/pkgs/development/compilers/ocaml/3.10.0.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, x11, ncurses }:
 
 stdenv.mkDerivation (rec {
-  
+
   name = "ocaml-3.10.0";
-  
+
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.10/${name}.tar.bz2";
     sha256 = "1ihmx1civ78s7k2hfc05z1s9vbyx2qw7fg8lnbxnfd6zxkk8878d";
@@ -13,7 +13,7 @@ stdenv.mkDerivation (rec {
   configureFlags = ["-no-tk" "-x11lib" x11];
   buildFlags = "world bootstrap world.opt";
   buildInputs = [x11 ncurses];
-  installTargets = "install installopt"; 
+  installTargets = "install installopt";
   patchPhase = ''
     CAT=$(type -tp cat)
     sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
@@ -25,7 +25,7 @@ stdenv.mkDerivation (rec {
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
-    license = "QPL, LGPL2 (library part)";
+    license = with stdenv.lib.licenses; [ qpl lgpl2 ];
     description = "Most popular variant of the Caml language";
   };
 
diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix
index 16c3cb1d787..6488d94cc08 100644
--- a/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
+    branch = "3.12";
     license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "Most popular variant of the Caml language";
 
diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix
index 5b1e69b86b0..4e888e14322 100644
--- a/pkgs/development/compilers/ocaml/4.00.1.nix
+++ b/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
+    branch = "4.00";
     license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "Most popular variant of the Caml language";
 
diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix
index 2876bce9caf..d178285834f 100644
--- a/pkgs/development/compilers/ocaml/4.01.0.nix
+++ b/pkgs/development/compilers/ocaml/4.01.0.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
     sha256 = "b1ca708994180236917ae79e17606da5bd334ca6acd6873a550027e1c0ec874a";
   };
 
+  patches = [ ./fix-clang-build-on-osx.diff ];
+
   prefixKey = "-prefix ";
   configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11lib
                                                     "-x11include" x11inc ];
@@ -48,6 +50,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://caml.inria.fr/ocaml;
+    branch = "4.01";
     license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
     description = "Most popular variant of the Caml language";
 
diff --git a/pkgs/development/compilers/ocaml/4.02.1.nix b/pkgs/development/compilers/ocaml/4.02.1.nix
new file mode 100644
index 00000000000..18f9d373650
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/4.02.1.nix
@@ -0,0 +1,75 @@
+let
+  safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips);
+in
+
+{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }:
+
+assert useX11 -> !stdenv.isArm && !stdenv.isMips;
+
+let
+   useNativeCompilers = !stdenv.isMips;
+   inherit (stdenv.lib) optionals optionalString;
+in
+
+stdenv.mkDerivation rec {
+
+  x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; };
+  x11lib = x11env + "/lib";
+  x11inc = x11env + "/include";
+
+  name = "ocaml-4.02.1";
+
+  src = fetchurl {
+    url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz";
+    sha256 = "1p7lqvh64xpykh99014mz21q8fs3qyjym2qazhhbq8scwldv1i38";
+  };
+
+  prefixKey = "-prefix ";
+  configureFlags = optionals useX11 [ "-x11lib" x11lib
+                                      "-x11include" x11inc ];
+
+  buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
+  buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
+  installTargets = "install" + optionalString useNativeCompilers " installopt";
+  preConfigure = ''
+    CAT=$(type -tp cat)
+    sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
+  '';
+  postBuild = ''
+    mkdir -p $out/include
+    ln -sv $out/lib/ocaml/caml $out/include/caml
+  '';
+
+  passthru = {
+    nativeCompilers = useNativeCompilers;
+  };
+
+  meta = {
+    homepage = http://caml.inria.fr/ocaml;
+    branch = "4.02";
+    license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ];
+    description = "Most popular variant of the Caml language";
+
+    longDescription =
+      ''
+        OCaml is the most popular variant of the Caml language.  From a
+        language standpoint, it extends the core Caml language with a
+        fully-fledged object-oriented layer, as well as a powerful module
+        system, all connected by a sound, polymorphic type system featuring
+        type inference.
+
+        The OCaml system is an industrial-strength implementation of this
+        language, featuring a high-performance native-code compiler (ocamlopt)
+        for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc,
+        Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc)
+        and an interactive read-eval-print loop (ocaml) for quick development
+        and portability.  The OCaml distribution includes a comprehensive
+        standard library, a replay debugger (ocamldebug), lexer (ocamllex) and
+        parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4)
+        and a documentation generator (ocamldoc).
+      '';
+
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+  };
+
+}
diff --git a/pkgs/development/compilers/ocaml/fix-clang-build-on-osx.diff b/pkgs/development/compilers/ocaml/fix-clang-build-on-osx.diff
new file mode 100644
index 00000000000..d7d9c863858
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/fix-clang-build-on-osx.diff
@@ -0,0 +1,20 @@
+diff --git a/configure b/configure
+index d45e88f..25d872b 100755
+--- a/configure
++++ b/configure
+@@ -322,7 +322,14 @@ case "$bytecc,$target" in
+     bytecccompopts="-fno-defer-pop $gcc_warnings -DSHRINKED_GNUC"
+     mathlib="";;
+   *,*-*-darwin*)
+-    bytecccompopts="-fno-defer-pop $gcc_warnings"
++    # On recent version of OSX, gcc is a symlink to clang
++    if $bytecc --version | grep -q clang; then
++        # -fno-defer-pop is not supported by clang, and make recent
++        # versions of clang to fail
++        bytecccompopts="$gcc_warnings"
++    else
++        bytecccompopts="-fno-defer-pop $gcc_warnings"
++    fi
+     mathlib=""
+     mkexe="$mkexe -Wl,-no_compact_unwind"
+     # Tell gcc that we can use 32-bit code addresses for threaded code
diff --git a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
index 4313dcd7537..9b340f69e90 100644
--- a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
+++ b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, x11, ncurses }:
 
 stdenv.mkDerivation (rec {
-  
+
   name = "metaocaml-3.09-alpha-30";
-  
+
   src = fetchurl {
     url = "http://www.metaocaml.org/dist/old/MetaOCaml_309_alpha_030.tar.gz";
     sha256 = "0migbn0zwfb7yb24dy7qfqi19sv3drqcv4369xi7xzpds2cs35fd";
@@ -13,7 +13,7 @@ stdenv.mkDerivation (rec {
   configureFlags = ["-no-tk" "-x11lib" x11];
   buildFlags = "world bootstrap world.opt";
   buildInputs = [x11 ncurses];
-  installTargets = "install installopt"; 
+  installTargets = "install installopt";
   patchPhase = ''
     CAT=$(type -tp cat)
     sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
@@ -25,7 +25,7 @@ stdenv.mkDerivation (rec {
 
   meta = {
     homepage = http://www.metaocaml.org/;
-    license = "QPL, LGPL2 (library part)";
+    license = with stdenv.lib.licenses; [ qpl lgpl2 ];
     desctiption = "A compiled, type-safe, multi-stage programming language";
   };
 
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index c25080229ff..f0b503bd0be 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -1,32 +1,25 @@
-{ stdenv, fetchurl, which, ocaml, perl, jdk
-, findlib, ocaml_ssl, openssl, cryptokit, camlzip, ulex
-, ocamlgraph, coreutils, zlib, ncurses, makeWrapper
-, gcc, binutils, gnumake, nodejs, git } :
+{ stdenv, fetchgit, which, perl, jdk
+, ocamlPackages, openssl
+, coreutils, zlib, ncurses, makeWrapper
+, gcc, binutils, gnumake, nodejs} :
 
 stdenv.mkDerivation rec {
   pname = "opa";
-  version = "4308";
+  version = "4309";
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/MLstate/opalang/tarball/v${version}";
-    name = "opa-${version}.tar.gz";
-    sha256 = "1farii9474i14ack6bpqm1jihs6i8pvwky3a7q8v8pbnl4i6lb5g";
+  src = fetchgit {
+    url = https://github.com/MLstate/opalang.git;
+    rev = "047f58bfd4be35ee30176156b3718c707a6c0f76";
+    sha256 = "1jbxfrmpbjjk7qvaxdn47044w5m8wr96q9yx65ib3wlapmjbvdvf";
   };
 
   # Paths so the opa compiler code generation will use the same programs as were
   # used to build opa.
-  codeGeneratorPaths = "${ocaml}/bin:${gcc}/bin:${binutils}/bin:${gnumake}/bin";
-
-  prePatch = ''
-    find . -type f -exec sed -i 's@/usr/bin/env@${coreutils}/bin/env@' {} \;
-    find . -type f -exec sed -i 's@/usr/bin/perl@${perl}/bin/perl@' {} \;
-  '';
-
-  patches = [];
+  codeGeneratorPaths = "${ocamlPackages.ocaml}/bin:${gcc}/bin:${binutils}/bin:${gnumake}/bin:${nodejs}/bin";
 
   preConfigure = ''
-    configureFlags="$configureFlags -prefix $out"
+    patchShebangs .
     (
     cat ./compiler/buildinfos/buildInfos.ml.pre
     ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt 
@@ -36,14 +29,17 @@ stdenv.mkDerivation rec {
     )> ./compiler/buildinfos/buildInfos.ml
   '';
 
-  dontAddPrefix = true;
+  prefixKey = "-prefix ";
+
+  configureFlags = "-ocamlfind ${ocamlPackages.findlib}/bin/ocamlfind ";
 
-  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind ";
+  buildInputs = [ which perl jdk openssl coreutils zlib ncurses
+    makeWrapper gcc binutils gnumake nodejs
+  ] ++ (with ocamlPackages; [
+    ocaml findlib ocaml_ssl cryptokit camlzip ulex ocamlgraph
+  ]);
 
-  buildInputs = [ which ocaml perl jdk findlib ocaml_ssl openssl cryptokit camlzip ulex
-                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake
-		  nodejs git
-		  ];
+  NIX_LDFLAGS = "-lgcc_s";
 
   postInstall = ''
     # Have compiler use same tools for code generation as used to build it.
@@ -53,7 +49,7 @@ stdenv.mkDerivation rec {
 
     # Install emacs mode.
     mkdir -p $out/share/emacs/site-lisp/opa
-    install -m 0644 -v ./utils/emacs/{opa-mode.el,site-start.el} $out/share/emacs/site-lisp/opa
+    install -m 0644 -v ./tools/editors/emacs/{opa-mode.el,site-start.el} $out/share/emacs/site-lisp/opa
   '';
 
   meta = {
@@ -66,15 +62,6 @@ stdenv.mkDerivation rec {
     homepage = http://opalang.org/;
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.kkallio ];
-    platforms = [ "x86_64-linux" ];
-    # File "compiler/libqmlcompil/dbGen/schema_io.ml", line 199, characters 3-53:
-    # Error: Signature mismatch:
-    #        ...
-    #     The field `remove_edge_e' is required but not provided
-    #     The field `remove_edge' is required but not provided
-    #     The field `remove_vertex' is required but not provided
-    # Command exited with code 2.
-    # make: *** [node] Error 10
-    broken = true;
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/compilers/opa/libdir.patch b/pkgs/development/compilers/opa/libdir.patch
deleted file mode 100644
index 05c8a89afa8..00000000000
--- a/pkgs/development/compilers/opa/libdir.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-These patches have the compiler place path flags in various places so that
-ocaml and c libraries are found in their Nixpkgs locations.
-
-diff -x '*~' -Naur MLstate-opalang-6b295a9//build_rules.ml MLstate-opalang-6b295a9-new//build_rules.ml
---- MLstate-opalang-6b295a9//build_rules.ml	2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//build_rules.ml	2011-11-27 00:34:35.845277134 -0430
-@@ -373,7 +373,11 @@
-     | Some dep -> dep::list
-   ) (tags_of_pathname (env "%.opa_plugin")) []
-   in
--  let lib_dir s = [A"--ml";A"-I";A"--ml";P (if Pathname.exists s then ".." / s else ("+"^s))] in
-+  let cryptokitdir_opt = function
-+    | Some path -> path
-+    | None -> ""
-+  in
-+  let lib_dir s = [A"--ml";A"-I";A"--ml";P (if Pathname.exists s then ".." / s else (if s = "cryptokit" then (cryptokitdir_opt Config.Libdir.cryptokit) else ("+"^s)))] in
-   let include_dirs = List.flatten (List.map lib_dir caml_use_lib) in
-   let files = List.map ((^) path) files in
-   build_list build files;
-diff -x '*~' -Naur MLstate-opalang-6b295a9//config.mli MLstate-opalang-6b295a9-new//config.mli
---- MLstate-opalang-6b295a9//config.mli	2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//config.mli	2011-11-27 00:30:39.312443906 -0430
-@@ -43,6 +43,9 @@
- (** Flag for Dbm present *)
- val has_dbm : bool
- 
-+(** openssh link directory *)
-+val openssl : string option
-+
- (** library directories, if the libs are enabled *)
- val libnatpmp : (string*string*string) option (** name of the lib, lib dir, include dir *)
- 
-diff -x '*~' -Naur MLstate-opalang-6b295a9//configure MLstate-opalang-6b295a9-new//configure
---- MLstate-opalang-6b295a9//configure	2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//configure	2011-11-27 00:40:52.496151405 -0430
-@@ -27,6 +27,7 @@
- 
- NO_CAMLIDL=1
- NO_DBM=1
-+CONFIG_LIB_OPENSSL=""
- 
- while [ $# -gt 0 ]; do
-     case "$1" in
-@@ -51,6 +52,11 @@
-             shift
-             OCAMLOPT=$1
-             ;;
-+        -openssl)
-+            if [ $# -lt 2 ]; then echo "Error: option $1 requires an argument" >&2; exit 1; fi
-+            shift
-+            CONFIG_LIB_OPENSSL=$1
-+            ;;
-         -ocamlfind)
-             if [ $# -lt 2 ]; then echo "Error: option $1 requires an argument" >&2; exit 1; fi
-             shift
-@@ -647,6 +653,8 @@
- let miniupnpc = $(camlopt "$HAS_MINIUPNPC" "$(camlstrtuple "${MINIUPNPC[@]}")")
- let has_dbm = $(camlbool "$HAS_DBM")
- 
-+let openssl = $(camlopt "$CONFIG_LIB_OPENSSL" '"'"$CONFIG_LIB_OPENSSL"'"')
-+
- let available = [ $TAGS_LIST]
- let all_tags = [ $(for t in $ALL_TAGS_LIST; do echo -n "\"$t\"; "; done)]
- 
-diff -x '*~' -Naur MLstate-opalang-6b295a9//qml2ocaml/qml2ocamlOptions.ml MLstate-opalang-6b295a9-new//qml2ocaml/qml2ocamlOptions.ml
---- MLstate-opalang-6b295a9//qml2ocaml/qml2ocamlOptions.ml	2011-11-21 08:07:04.000000000 -0430
-+++ MLstate-opalang-6b295a9-new//qml2ocaml/qml2ocamlOptions.ml	2011-11-27 00:32:57.721442828 -0430
-@@ -44,6 +44,7 @@
- 
-   let options_linker =
-     ["-w a"]
-+    @ (match Config.openssl with | Some dir -> ["-ccopt"; "-L"^dir] | None -> [])
-     @ (if Base.is_windows then
-          ["-cclib"; "Dnsapi.lib"; "-cclib"; "libeay32.lib"; "-cclib"; "ssleay32.lib" (*; "ssl_stubs.obj" *)]
-        else [])
-@@ -51,11 +52,13 @@
-   (**
-      Absolute path for include directory, will be passed with the option -I to the ocaml compiler.
-   *)
-+  let uselibdirpath = fun po p -> match po with | Some path -> path | None -> p
-+
-   let server_include_dir = [
--    "+zip" ; "+site-lib/zip" ; "+site-lib/camlzip" ;
--    "+ssl" ; "+site-lib/ssl" ;
--    "+cryptokit"; "+site-lib/cryptokit" ;
--    "+ulex" ; "+site-lib/ulex" ;
-+    uselibdirpath Config.Libdir.camlzip "+zip" ; "+site-lib/zip" ; "+site-lib/camlzip" ;
-+    uselibdirpath Config.Libdir.ssl "+ssl" ; "+site-lib/ssl" ;
-+    uselibdirpath Config.Libdir.cryptokit "+cryptokit"; "+site-lib/cryptokit" ;
-+    uselibdirpath Config.Libdir.ulex "+ulex" ; "+site-lib/ulex" ;
-   ] @ (
-     if Config.has_dbm then [
-       "+dbm" ; "+site-lib/dbm" ;
diff --git a/pkgs/development/compilers/opa/locate.patch b/pkgs/development/compilers/opa/locate.patch
deleted file mode 100644
index e67e6bab260..00000000000
--- a/pkgs/development/compilers/opa/locate.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Needed to have ocamlfind discover ocamlgraph with Nixpkgs.
-
-diff -x '*~' -Naur MLstate-opalang-ee92891/configure MLstate-opalang-ee92891-new//configure
---- MLstate-opalang-ee92891/configure	2011-09-30 05:41:18.000000000 -0430
-+++ MLstate-opalang-ee92891-new//configure	2011-11-24 13:47:01.332558705 -0430
-@@ -567,7 +567,7 @@
- fi
- 
- # - checking ocamlgraph
--if ! CONFIG_LIB_OCAMLGRAPH=$(locate-ocaml-lib "Graph" "ocamlgraph/graph")
-+if ! CONFIG_LIB_OCAMLGRAPH=$(locate-ocaml-lib "Graph" "ocamlgraph" "graph")
- then lib-not-found "ocamlgraph" "libocamlgraph-ocaml-dev"
- fi
- 
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
index 19f8eab482c..4d18b8d328d 100644
--- a/pkgs/development/compilers/opendylan/bin.nix
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
     mkdir -p "$out"
     tar --strip-components=1 -xjf "$src" -C "$out"
 
-    interpreter="$(cat "$NIX_GCC"/nix-support/dynamic-linker)"
+    interpreter="$(cat "$NIX_CC"/nix-support/dynamic-linker)"
     for a in "$out"/bin/*; do 
       patchelf --set-interpreter "$interpreter" "$a"
       patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a"
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://opendylan.org;
-    description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+    description = "A multi-paradigm functional and object-oriented programming language";
     license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/compilers/opendylan/default.nix b/pkgs/development/compilers/opendylan/default.nix
index e4bdcf7889b..66e62f8965e 100644
--- a/pkgs/development/compilers/opendylan/default.nix
+++ b/pkgs/development/compilers/opendylan/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://opendylan.org;
-    description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+    description = "A multi-paradigm functional and object-oriented programming language";
     license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix
index 8d3cbef75d4..e43563fd60d 100644
--- a/pkgs/development/compilers/openjdk-darwin/default.nix
+++ b/pkgs/development/compilers/openjdk-darwin/default.nix
@@ -31,7 +31,12 @@ let
       EOF
     '';
 
-    passthru.jre = jdk;
+    passthru = {
+      jre = jdk;
+      home = jdk;
+    };
+
+    meta.platforms = stdenv.lib.platforms.darwin;
 
   };
 in jdk
diff --git a/pkgs/development/compilers/openjdk/bootstrap.nix b/pkgs/development/compilers/openjdk/bootstrap.nix
index 222ab010c26..890064538cc 100644
--- a/pkgs/development/compilers/openjdk/bootstrap.nix
+++ b/pkgs/development/compilers/openjdk/bootstrap.nix
@@ -16,9 +16,13 @@ let
 in
 
 runCommand "openjdk-bootstrap" {} ''
-  xz -dc ${src} | sed "s/e*-glibc-[^/]*/$(basename ${glibc})/g" | tar xv
+  tar xvf ${src}
   mv openjdk-bootstrap $out
 
+  for i in $out/bin/*; do
+    patchelf --set-interpreter ${glibc}/lib/ld-linux*.so.2 $i
+  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
diff --git a/pkgs/development/compilers/openjdk/currency-date-range-jdk8.patch b/pkgs/development/compilers/openjdk/currency-date-range-jdk8.patch
new file mode 100644
index 00000000000..2ff0fcc3d41
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/currency-date-range-jdk8.patch
@@ -0,0 +1,14 @@
+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/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java	2014-07-17 05:42:14.000000000 -0430
++++ openjdk-7u65-b32/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java	2014-12-30 10:15:50.327905933 -0430
+@@ -281,8 +281,8 @@
+             checkCurrencyCode(newCurrency);
+             String timeString = currencyInfo.substring(4, length - 4);
+             long time = format.parse(timeString).getTime();
+-            if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) {
+-                throw new RuntimeException("time is more than 10 years from present: " + time);
++            if (Math.abs(time - System.currentTimeMillis()) > ((long) 20) * 365 * 24 * 60 * 60 * 1000) {
++                throw new RuntimeException("time is more than 20 years from present: " + time);
+             }
+             specialCaseCutOverTimes[specialCaseCount] = time;
+             specialCaseOldCurrencies[specialCaseCount] = oldCurrency;
diff --git a/pkgs/development/compilers/openjdk/currency-date-range.patch b/pkgs/development/compilers/openjdk/currency-date-range.patch
new file mode 100644
index 00000000000..b1c461591d1
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/currency-date-range.patch
@@ -0,0 +1,14 @@
+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
+@@ -281,8 +281,8 @@
+             checkCurrencyCode(newCurrency);
+             String timeString = currencyInfo.substring(4, length - 4);
+             long time = format.parse(timeString).getTime();
+-            if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) {
+-                throw new RuntimeException("time is more than 10 years from present: " + time);
++            if (Math.abs(time - System.currentTimeMillis()) > ((long) 20) * 365 * 24 * 60 * 60 * 1000) {
++                throw new RuntimeException("time is more than 20 years from present: " + time);
+             }
+             specialCaseCutOverTimes[specialCaseCount] = time;
+             specialCaseOldCurrencies[specialCaseCount] = oldCurrency;
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index 6a07c7af69e..8ba2b3a379f 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -27,149 +27,157 @@ let
     md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
   };
 
-in
-
-stdenv.mkDerivation rec {
-  name = "openjdk-7u${update}b${build}";
-
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/openjdk-7u${update}-b${build}.tar.xz";
-    sha256 = "0lyp75sl5w4b9azphb2nq5cwzli85inpksq4943q4j349rkmdprx";
-  };
-
-  outputs = [ "out" "jre" ];
+  openjdk = stdenv.mkDerivation rec {
+    name = "openjdk-7u${update}b${build}";
+
+    src = fetchurl {
+      url = "http://tarballs.nixos.org/openjdk-7u${update}-b${build}.tar.xz";
+      sha256 = "0lyp75sl5w4b9azphb2nq5cwzli85inpksq4943q4j349rkmdprx";
+    };
+
+    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
+      ];
+
+    NIX_LDFLAGS = "-lfontconfig -lXcursor -lXinerama";
+
+    postUnpack = ''
+      sed -i -e "s@/usr/bin/test@${coreutils}/bin/test@" \
+        -e "s@/bin/ls@${coreutils}/bin/ls@" \
+        openjdk*/hotspot/make/linux/makefiles/sa.make
+
+      sed -i "s@/bin/echo -e@${coreutils}/bin/echo -e@" \
+        openjdk*/{jdk,corba}/make/common/shared/Defs-utils.gmk
+
+      tar xf ${cupsSrc}
+      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
+    ];
 
-  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
+    NIX_NO_SELF_RPATH = true;
+
+    makeFlags = [
+      "SORT=${coreutils}/bin/sort"
+      "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
+      "FREETYPE_HEADERS_PATH=${freetype}/include"
+      "FREETYPE_LIB_PATH=${freetype}/lib"
+      "MILESTONE=u${update}"
+      "BUILD_NUMBER=b${build}"
+      "USRBIN_PATH="
+      "COMPILER_PATH="
+      "DEVTOOLS_PATH="
+      "UNIXCOMMAND_PATH="
+      "BOOTDIR=${jdk}"
+      "STATIC_CXX=false"
+      "UNLIMITED_CRYPTO=1"
+      "FULL_DEBUG_SYMBOLS=0"
     ];
 
-  NIX_LDFLAGS = "-lfontconfig -lXcursor -lXinerama";
-
-  postUnpack = ''
-    sed -i -e "s@/usr/bin/test@${coreutils}/bin/test@" \
-      -e "s@/bin/ls@${coreutils}/bin/ls@" \
-      openjdk*/hotspot/make/linux/makefiles/sa.make
-
-    sed -i "s@/bin/echo -e@${coreutils}/bin/echo -e@" \
-      openjdk*/{jdk,corba}/make/common/shared/Defs-utils.gmk
-
-    tar xf ${cupsSrc}
-    cupsDir=$(echo $(pwd)/cups-*)
-    makeFlagsArray+=(CUPS_HEADERS_PATH=$cupsDir)
-  '';
-
-  patches = [ ./cppflags-include-fix.patch ./fix-java-home.patch ./paxctl.patch ];
-
-  NIX_NO_SELF_RPATH = true;
-
-  makeFlags = [
-    "SORT=${coreutils}/bin/sort"
-    "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
-    "FREETYPE_HEADERS_PATH=${freetype}/include"
-    "FREETYPE_LIB_PATH=${freetype}/lib"
-    "MILESTONE=u${update}"
-    "BUILD_NUMBER=b${build}"
-    "USRBIN_PATH="
-    "COMPILER_PATH="
-    "DEVTOOLS_PATH="
-    "UNIXCOMMAND_PATH="
-    "BOOTDIR=${jdk}"
-    "STATIC_CXX=false"
-    "UNLIMITED_CRYPTO=1"
-    "FULL_DEBUG_SYMBOLS=0"
-  ];
-
-  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/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
-    propagatedNativeBuildInputs+=" $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
-    echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-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
-  '';
-
-  meta = {
-    homepage = http://openjdk.java.net/;
-    license = stdenv.lib.licenses.gpl2;
-    description = "The open-source Java Development Kit";
-    maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.shlevy ];
-    platforms = stdenv.lib.platforms.linux;
+    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/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
+      propagatedNativeBuildInputs+=" $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
+      echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-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
+    '';
+
+    meta = {
+      homepage = http://openjdk.java.net/;
+      license = stdenv.lib.licenses.gpl2;
+      description = "The open-source Java Development Kit";
+      maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.shlevy ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+
+    passthru = {
+      inherit architecture;
+      home = "${openjdk}/lib/openjdk";
+    };
   };
-
-  passthru = { inherit architecture; };
-}
+in openjdk
diff --git a/pkgs/development/compilers/openjdk/openjdk8.nix b/pkgs/development/compilers/openjdk/openjdk8.nix
new file mode 100644
index 00000000000..d7bcabd0a78
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/openjdk8.nix
@@ -0,0 +1,142 @@
+{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype, alsaLib, openjdk, cacert, perl } :
+let
+  update = "40";
+  build = "25";
+  baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u40";
+  repover = "jdk8u${update}-b${build}";
+  paxflags = if stdenv.isi686 then "msp" else "m";
+  jdk8 = fetchurl {
+             url = "${baseurl}/archive/${repover}.tar.gz";
+             sha256 = "05s5j0rq45n8piymv9c1n0hxr4bk3j8lz6fw2wbp0m8kam6zzpza";
+          };
+  langtools = fetchurl {
+             url = "${baseurl}/langtools/archive/${repover}.tar.gz";
+             sha256 = "0p1z38szm63cf5f83697awbqwpf7b8q1ymrqc0v6r9hb5yf0p22r";
+          };
+  hotspot = fetchurl {
+             url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
+             sha256 = "0sl0ima3zlbd1ai7qrg4msy5ibg64qpwdrv7z4l8cpalwby26y6p";
+          };
+  corba = fetchurl {
+             url = "${baseurl}/corba/archive/${repover}.tar.gz";
+             sha256 = "1ahvhap8av519813yf20v3hbvg82j9bq3gnqlayng1qggfivsb5s";
+          };
+  jdk = fetchurl {
+             url = "${baseurl}/jdk/archive/${repover}.tar.gz";
+             sha256 = "0n86fcy1z4z22jcgfnn9agzfi949709hn2x6s8wyhwwa055rjd1a";
+          };
+  jaxws = fetchurl {
+             url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
+             sha256 = "0hp19hq0dw3j8zz4mxd6bjk9zqlyr56fhwzgjwmm56b6pwkcmsn7";
+          };
+  jaxp = fetchurl {
+             url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
+             sha256 = "037za0hjiwvzvbzsckfxnrrbak1vbd52pmrnd855vxkik08jxp8c";
+          };
+  nashorn = fetchurl {
+             url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
+             sha256 = "1np8hkg2fmj5s6ipd1vb8x0z6xy00kbi2ipqca9pxzib58caj6b2";
+          };
+  openjdk8 = stdenv.mkDerivation {
+  name = "openjdk-8u${update}b${build}";
+  srcs = [jdk8 langtools hotspot corba jdk jaxws jaxp nashorn];
+  outputs = [ "out" "jre" ];
+  buildInputs = [ cpio file which unzip zip
+                  xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
+                  xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
+                  cups freetype alsaLib openjdk perl ];
+  setSourceRoot = ''
+    sourceRoot="jdk8u${update}-jdk8u${update}-b${build}";
+  '';
+  prePatch = ''
+    # despite --with-override-jdk the build still searchs here
+    ln -s "../jdk-${repover}" "jdk";
+    ln -s "../hotspot-${repover}" "hotspot";
+  '';
+  patches = [
+    ./fix-java-home.patch
+    ./read-truststore-from-env-jdk8.patch
+    ./currency-date-range-jdk8.patch
+  ];
+  preConfigure = ''
+    chmod +x configure
+    substituteInPlace configure --replace /bin/bash "$shell"
+    substituteInPlace ../hotspot-${repover}/make/linux/adlc_updater --replace /bin/sh "$shell"
+  '';
+  configureFlags = [
+    "--with-freetype=${freetype}"
+    "--with-override-langtools=../langtools-${repover}"
+    "--with-override-hotspot=../hotspot-${repover}"
+    "--with-override-corba=../corba-${repover}"
+    "--with-override-jdk=../jdk-${repover}"
+    "--with-override-jaxws=../jaxws-${repover}"
+    "--with-override-jaxp=../jaxp-${repover}"
+    "--with-override-nashorn=../nashorn-${repover}"
+    "--with-boot-jdk=${openjdk}/lib/openjdk/"
+    "--with-update-version=${update}"
+    "--with-build-number=b${build}"
+    "--with-milestone=fcs"
+  ];
+  buildFlags = "DEBUG_BINARIES=true all";
+  installPhase = ''
+    mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
+
+    cp -av build/*/images/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/bina
+    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/ca-bundle.crt
+    popd
+
+    ln -s $out/lib/openjdk/bin $out/bin
+    ln -s $jre/lib/openjdk/jre/bin $jre/bin
+  '';
+
+  meta = {
+    homepage = http://openjdk.java.net/;
+    license = stdenv.lib.licenses.gpl2;
+    description = "The open-source Java Development Kit";
+    maintainers = [ stdenv.lib.maintainers.cocreature ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+  
+  passthru.home = "${openjdk8}/lib/openjdk";
+}; in openjdk8
diff --git a/pkgs/development/compilers/openjdk/read-truststore-from-env-jdk8.patch b/pkgs/development/compilers/openjdk/read-truststore-from-env-jdk8.patch
new file mode 100644
index 00000000000..4902b8e8401
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/read-truststore-from-env-jdk8.patch
@@ -0,0 +1,21 @@
+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
+@@ -161,6 +161,7 @@
+         /*
+          * Try:
+          *      javax.net.ssl.trustStore  (if this variable exists, stop)
++         *      system environment variable JAVAX_NET_SSL_TRUSTSTORE
+          *      jssecacerts
+          *      cacerts
+          *
+@@ -169,6 +169,9 @@
+ 
+         try {
+             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/read-truststore-from-env.patch b/pkgs/development/compilers/openjdk/read-truststore-from-env.patch
new file mode 100644
index 00000000000..8fb0f409d0a
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/read-truststore-from-env.patch
@@ -0,0 +1,21 @@
+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/oraclejdk/dlj-bundle-builder.sh b/pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh
index 028164ac395..56669ae0f2f 100644
--- a/pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh
+++ b/pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh
@@ -5,7 +5,7 @@ unzip ${src} || true
 
 # set the dynamic linker of unpack200, necessary for construct script
 echo "patching unpack200"
-patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath "" */bin/unpack200
+patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "" */bin/unpack200
 
 echo "constructing JDK and JRE installations"
 if test -z "$installjdk"; then
@@ -46,7 +46,7 @@ rpath=$rpath${rpath:+:}$jrePath/lib/$architecture/jli
 
 # set all the dynamic linkers
 find $out -type f -perm +100 \
-    -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
     --set-rpath "$rpath" {} \;
 
 find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index 657d18070e9..35ee1a04a26 100644
--- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -143,7 +143,7 @@ let result = stdenv.mkDerivation rec {
 
     # set all the dynamic linkers
     find $out -type f -perm +100 \
-        -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "$rpath" {} \;
 
     find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
@@ -173,13 +173,15 @@ let result = stdenv.mkDerivation rec {
    * libXt is only needed on amd64
    */
   libraries =
-    [stdenv.gcc.libc glib libxml2 libav_0_8 ffmpeg libxslt mesa_noglu xlibs.libXxf86vm alsaLib fontconfig freetype gnome.pango gnome.gtk cairo gdk_pixbuf atk] ++
-    (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt xlibs.libXrender stdenv.gcc.gcc] else []);
+    [stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt mesa_noglu xlibs.libXxf86vm alsaLib fontconfig freetype gnome.pango gnome.gtk cairo gdk_pixbuf atk] ++
+    (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt xlibs.libXrender stdenv.cc.cc] else []);
 
   passthru.mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
 
   passthru.jre = result; # FIXME: use multiple outputs or return actual JRE package
 
+  passthru.home = result;
+
   meta.license = stdenv.lib.licenses.unfree;
 
 }; in result
diff --git a/pkgs/development/compilers/oraclejdk/jdk6-linux.nix b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
index 9b384c5ae46..84fdf63f359 100644
--- a/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
@@ -72,7 +72,7 @@ stdenv.mkDerivation {
    * libXt is only needed on amd64
    */
   libraries =
-    [stdenv.gcc.libc] ++
+    [stdenv.cc.libc] ++
     (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt] else []);
 
   inherit swingSupport pluginSupport architecture jce;
diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
index 55e8ad45085..eb40cff689a 100644
--- a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "7";
-  patchVersion = "65";
+  patchVersion = "75";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
-  sha256_i686 = "e3032c561deb237c033b485a358cc429ec83b621303bc6b31768855778a9eaa0";
-  sha256_x86_64 = "33fac9630ca8c2d374247abc5c010ac8d2875a3384968aa3e74448361808e4b7";
+  sha256_i686 = "173ppi5d90hllqgys90wlv596bpj2iw8gsbsr6pk7xvd4l1wdhrw";
+  sha256_x86_64 = "040n50nglr6rcli2pz5rd503c2qqdqqbqynp6hzc4kakkchmj2a6";
   jceName = "UnlimitedJCEPolicyJDK7.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
   sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
diff --git a/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
new file mode 100644
index 00000000000..929ff59717d
--- /dev/null
+++ b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
@@ -0,0 +1,10 @@
+import ./jdk-linux-base.nix {
+  productVersion = "7";
+  patchVersion = "76";
+  downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
+  sha256_i686 = "0558p5garc4b5g7h11dkzn161kpk84az5ad1q5hhsblbx02aqff3";
+  sha256_x86_64 = "130ckrv846amyfzbnnd6skljkznc457yky7d6ajaw5ndsbzg93yf";
+  jceName = "UnlimitedJCEPolicyJDK7.zip";
+  jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
+  sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
index 63af4564374..ea1c01ec5e5 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "11";
+  patchVersion = "40";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256_i686 = "3981e6fb7d35b20ac3c05ec56fb3798ac1cd872a9e968bb3d77a718af7b146d1";
-  sha256_x86_64 = "f3593b248b64cc53bf191f45b92a1f10e8c5099c2f84bd5bd5d6465dfd07a8e9";
+  sha256_i686 = "1bfabnmbar0kfx3i37wnxh97j7whkib8m6wqxrb1d9zf6k13bw50";
+  sha256_x86_64 = "0nfm4xqd57s8dmkgd0jsrhys8dhfw0fx5d57mq70ramq9dl2jq66";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59";
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index ca5eadc8a64..1c1b5d53cee 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -1,14 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "orc-0.4.21";
+  name = "orc-0.4.23";
 
   src = fetchurl {
     url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
-    sha256 = "187wrnq0ficwjj4y3yqci5fxcdkiazfs6k5js26k5b26hipzmham";
+    sha256 = "1ryz1gfgrxcj806cakcblxf0bcwq8p2mw8k86fs3f5wlwayawzkn";
   };
 
-  doCheck = stdenv.is64bit; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7
+  # building memcpy_speed.log
+  # ../test-driver: line 107:  4495 Segmentation fault      "$@" > $log_file 2>&1
+  # FAIL: memcpy_speed
+  doCheck = false; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7
 
   meta = {
     description = "The Oil Runtime Compiler";
@@ -16,6 +19,7 @@ stdenv.mkDerivation rec {
     # The source code implementing the Marsenne Twister algorithm is licensed
     # under the 3-clause BSD license. The rest is 2-clause BSD license.
     license = stdenv.lib.licenses.bsd3;
-    platform = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
index 830fc3fa7f9..ce0b42c9e34 100644
--- a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
+++ b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch
@@ -1,15 +1,15 @@
-diff -Naur pakcs-1.11.3-upstream/Makefile pakcs-1.11.3/Makefile
---- pakcs-1.11.3-upstream/Makefile	2014-01-31 09:10:03.000000000 -0430
-+++ pakcs-1.11.3/Makefile	2014-02-03 20:27:41.558334480 -0430
-@@ -66,7 +66,6 @@
- #
- .PHONY: install
- install: installscripts
+diff -Naur pakcs-1.11.4-upstream/Makefile pakcs-1.11.4/Makefile
+--- pakcs-1.11.4-upstream/Makefile	2014-10-24 05:12:37.000000000 -0430
++++ pakcs-1.11.4/Makefile	2015-01-05 16:26:39.256709080 -0430
+@@ -94,7 +94,6 @@
+ install: cleanoldinfos installscripts copylibs
+ 	@echo "PAKCS installation configuration (file pakcsinitrc):"
+ 	@cat pakcsinitrc
 -	$(MAKE) frontend
  	# pre-compile all libraries:
  	@cd lib && $(MAKE) fcy
  	# install the Curry2Prolog compiler as a saved system:
-@@ -105,10 +104,6 @@
+@@ -145,10 +144,6 @@
  # compile the tools:
  .PHONY: tools
  tools:
@@ -20,9 +20,9 @@ diff -Naur pakcs-1.11.3-upstream/Makefile pakcs-1.11.3/Makefile
  	@if [ -r bin/pakcs ] ; then cd currytools && $(MAKE) ; fi
  	@if [ -r bin/pakcs ] ; then cd tools      && $(MAKE) ; fi
  
-diff -Naur pakcs-1.11.3-upstream/scripts/pakcs.sh pakcs-1.11.3/scripts/pakcs.sh
---- pakcs-1.11.3-upstream/scripts/pakcs.sh	2014-01-31 09:04:19.000000000 -0430
-+++ pakcs-1.11.3/scripts/pakcs.sh	2014-02-03 20:20:40.775350116 -0430
+diff -Naur pakcs-1.11.4-upstream/scripts/pakcs.sh pakcs-1.11.4/scripts/pakcs.sh
+--- pakcs-1.11.4-upstream/scripts/pakcs.sh	2014-10-24 05:06:07.000000000 -0430
++++ pakcs-1.11.4/scripts/pakcs.sh	2015-01-05 16:26:15.697982791 -0430
 @@ -16,7 +16,7 @@
  # use readline wrapper rlwrap if it is installed and we have tty as stdin:
  USERLWRAP=no
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
index f7c76d74aae..739804646c2 100644
--- a/pkgs/development/compilers/pakcs/default.nix
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cabal, swiProlog, either, mtl, syb
-, glibcLocales, makeWrapper, rlwrap, tk }:
+, glibcLocales, makeWrapper, rlwrap, tk, which }:
 
 let
-  fname = "pakcs-1.11.3";
+  fname = "pakcs-1.11.4";
 
   fsrc = fetchurl {
     url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz";
-    sha256 = "0f4rhaqss9vfinpdjchxq75g343hz322cv0admjnl4g5g568wk3x";
+    sha256 = "1xsn8h58pi1jp8wr4abyrqdps840j8limyv5i812z49npf91fy5c";
   };
 
 in
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   src = fsrc;
 
-  buildInputs = [ swiProlog makeWrapper glibcLocales rlwrap tk ];
+  buildInputs = [ swiProlog makeWrapper glibcLocales rlwrap tk which ];
 
   patches = [ ./adjust-buildsystem.patch ];
 
@@ -48,48 +48,36 @@ stdenv.mkDerivation rec {
     sed -i 's@SWIPROLOG=@SWIPROLOG='${swiProlog}/bin/swipl'@' pakcsinitrc
   '';
 
-  preBuild = ''
+  buildPhase = ''
     # Some comments in files are in UTF-8, so include the locale needed by GHC runtime.
-    export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive
     export LC_ALL=en_US.UTF-8
 
-    # Set up link to cymake, which has been built already.
-    mkdir -p bin/.local
-    ln -s ${curryFront}/bin/cymake bin/.local/
-  '';
+    # PAKCS must be build in place due to embedded filesystem references placed by swi.
 
-  installPhase = ''
     # Prepare PAKCSHOME directory.
-    mkdir -p $out/pakcs
-    for d in bin curry2prolog currytools lib tools cpns include www examples docs ; do
-      cp -r $d $out/pakcs ;
-    done
-    cp pakcsrc.default $out/pakcs
-    cp pakcsinitrc $out/pakcs
+    mkdir -p $out/pakcs/bin
 
-    # Fixing PAKCSHOME and related paths.
-    sed -i 's@PAKCSHOME=/tmp/.*@PAKCSHOME='$out/pakcs'@' $out/pakcs/bin/{pakcs,makecurrycgi,parsecurry,.makesavedstate}
+    # Set up link to cymake, which has been built already.
+    ln -s ${curryFront}/bin/cymake $out/pakcs/bin/
 
-    # The Prolog sources must be rebuilt in their final directory,
-    # to switch the embedded references to the tmp build directory.
+    # Prevent embedding the derivation build directory as temp.
     export TEMP=/tmp
-    (cd $out/pakcs/curry2prolog/ ; rm c2p.state ; make)
-    cp Makefile $out/pakcs
-    (cd $out/pakcs ; make tools)
-    (cd $out/pakcs/cpns ; make)
-    (cd $out/pakcs/www ; make)
 
+    # Copy to in place build location and run the build.
+    cp -r * $out/pakcs
+    (cd $out/pakcs ; make)
+  '';
+
+  installPhase = ''
     # Install bin.
     mkdir -p $out/bin
-    for b in makecurrycgi .makesavedstate pakcs parsecurry cleancurry \
-             addtypes cass currybrowse currycreatemake currydoc currytest \
-             dataToXml erd2curry ; do
+    for b in $(ls $out/pakcs/bin) ; do
       ln -s $out/pakcs/bin/$b $out/bin/ ;
     done
 
     # Place emacs lisp files in expected locations.
     mkdir -p $out/share/emacs/site-lisp/curry-pakcs
-    for e in "tools/emacs/"*.el ; do
+    for e in "$out/tools/emacs/"*.el ; do
       cp $e $out/share/emacs/site-lisp/curry-pakcs/ ;
     done
 
@@ -119,6 +107,5 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = stdenv.lib.platforms.linux;
     hydraPlatforms = stdenv.lib.platforms.none;
-    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/path64/default.nix b/pkgs/development/compilers/path64/default.nix
index 9cc31537558..d6112dcdfc4 100644
--- a/pkgs/development/compilers/path64/default.nix
+++ b/pkgs/development/compilers/path64/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   patchPhase = ''
     sed -i s,/usr/bin/ld,$(type -P ld), src/driver/phases.c
-    sed -i s,/lib64/ld-linux-x86-64.so.2,${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2, src/include/main_defs.h.in
+    sed -i s,/lib64/ld-linux-x86-64.so.2,${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2, src/include/main_defs.h.in
   '';
 
   cmakeFlags = ''
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     -DPATH64_ENABLE_PSCRUNTIME=OFF
     -DPATH64_ENABLE_PROFILING=OFF -DPATH64_ENABLE_TARGETS=x8664 
     -DCMAKE_BUILD_TYPE=Debug -DPATH64_ENABLE_FORTRAN=OFF
-    -DPSC_CRT_PATH=${stdenv.gcc.libc}/lib
+    -DPSC_CRT_PATH=${stdenv.cc.libc}/lib
   '';
 
   makeFlags = "-j4";
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 9c0af4ec9ab..76bb811dd66 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 let
-  version = "5.5.1";
+  version = "5.5.2";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/polyml/polyml.${version}.tar.gz";
-    sha256 = "16i0ir5mydl7381aijihkll19khp3z8dq0g2ja6k0pcbpkd0k06g";
+    sha256 = "10m680qdad6bd50bav9xjsgmsxw8yxg55vr7grbg0gvykzl2pzbk";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/qcmm/builder.sh b/pkgs/development/compilers/qcmm/builder.sh
index c6aa18fea3c..acdfbaa08dc 100644
--- a/pkgs/development/compilers/qcmm/builder.sh
+++ b/pkgs/development/compilers/qcmm/builder.sh
@@ -16,7 +16,7 @@ installPhase() {
     mv $file ${file%.opt}
   done
 
-  find $out/man -type f -exec gzip -9 {} \;
+  find $out/man -type f -exec gzip -9n {} \;
 
   find $out -name \*.a -exec echo stripping {} \; \
             -exec strip -S {} \;
diff --git a/pkgs/development/compilers/qi/default.nix b/pkgs/development/compilers/qi/default.nix
deleted file mode 100644
index 5665fc5da6c..00000000000
--- a/pkgs/development/compilers/qi/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchurl, builderDefs, unzip, clisp }:
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = http://www.lambdassociates.org/Download/Qi9.1.zip;
-			sha256 = "1j584i7pj38rnlf7v9njfdwc6gc296v5friw2887dsw34dmwyg3f";
-		};
-		buildInputs = [ unzip clisp];
-		configureFlags = [];
-	};
-	in with localDefs;
-let 
-	shell=stdenv.shell;
-in
-let 
-	allBuild = fullDepEntry ("
-		(sleep 0.1; echo ) | clisp install.txt;
-		(sleep 0.1; echo -e '1\n(quit)\n' ) | sh Qi-Linux-CLisp 
-		mkdir -p \$out/share
-		mkdir -p \$out/bin
-		cp -r . \$out/share/Qi-9.1
-		echo -e '#! ${shell}
-		arg1=\${1:-'\$out'/share/Qi-9.1/startup.txt}
-		shift
-		clisp -M '\$out'/share/Qi-9.1/lispinit.mem \$arg1 \"\$@\"\\n' > \$out/bin/qi
-		chmod a+x \$out/bin/qi
-	") [ addInputs minInit doUnpack defEnsureDir];
-in
-stdenv.mkDerivation rec {
-	name = "Qi-9.1";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [allBuild doForceShare doPropagate]);
-	meta = {
-		description = "Functional programming language, built top of Common Lisp";
-	};
-}
diff --git a/pkgs/development/compilers/rdmd/default.nix b/pkgs/development/compilers/rdmd/default.nix
index 621ace195bb..f70b8f448b4 100644
--- a/pkgs/development/compilers/rdmd/default.nix
+++ b/pkgs/development/compilers/rdmd/default.nix
@@ -1,29 +1,29 @@
-{ stdenv, fetchurl, writeText, lib, dmd }:
+{stdenv, lib, fetchgit, dmd}:
 
 stdenv.mkDerivation {
-  name = "rdmd-2.064";
-
-  src = fetchurl {
-    url = https://raw2.github.com/D-Programming-Language/tools/2.064/rdmd.d;
-    sha256 = "0b1g3ng6bkanvg00r6xb4ycpbh9x8b9dw589av665azxbcraqrs1";
-    name = "rdmd-src";
-  };
+  name = "rdmd-20141113";
 
   buildInputs = [ dmd ];
 
-  builder = writeText "drmd-builder.sh" ''
-      source $stdenv/setup
-      cp $src rdmd.d
-      dmd rdmd.d
-      mkdir -p $out/bin
-      cp rdmd $out/bin/
+  src = fetchgit {
+    url = git://github.com/D-Programming-Language/tools.git;
+    rev = "f496c68ee4e776597bd7382aa47f05da698a69e";
+    sha256 = "0vbhmz8nbh8ayml4vad0239kfg982vqfyqqrjv6wrlnjah97n5ms";
+  };
+
+  buildPhase = ''
+    dmd rdmd.d
   '';
 
+  installPhase = ''
+    mkdir -p $out/bin
+    cp rdmd $out/bin/
+	'';
+
   meta = {
     description = "Wrapper for D language compiler";
     homepage = http://dlang.org/rdmd.html;
     license = lib.licenses.boost;
-    maintainers = with stdenv.lib.maintainers; [ vlstill ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/roadsend/default.nix b/pkgs/development/compilers/roadsend/default.nix
deleted file mode 100644
index f17cbbbda9a..00000000000
--- a/pkgs/development/compilers/roadsend/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ composableDerivation, fetchurl, bigloo, curl, fcgi ? null, libxml2 ? null, mysql ? null }:
-
-let edf = composableDerivation.edf; in
-
-composableDerivation.composableDerivation {} {
-  name = "roadsend-2.9.3";
-  
-  buildInputs = [bigloo curl];
-  
-  flags = edf { name = "pcre"; }
-       // edf { name = "fcgi"; enable = { inherit fcgi; }; }
-       // edf { name = "xml"; enable = { buildInputs = [ libxml2 ]; }; }
-       // edf { name = "mysql"; enable = { buildInputs = [ mysql ]; }; }
-       // edf { name = "odbc"; };
-       # // edf { name = "gtk"} }
-       # // edf { name = "gtk2", enable = { buildInputs = [ mysql ]; } }
-
-  cfg = {
-    pcreSupport = true;
-    fcgiSupport = true;
-    xmlSupport = true;
-    mysqlSupport = true;
-  };
-  
-  src = fetchurl {
-    url = "http://code.roadsend.com/snaps/roadsend-php-20081210.tar.bz2";
-    sha256 = "0yhpiik0dyayd964wvn2k0cq7b1gihx1k3qx343r2l7lla4mapsx";
-  };
-
-  # tell pcc where to find the fastcgi library 
-  postInstall = " sed -e \"s=(ldflags fastcgi.*=(ldflags -l fastcgi -L \$fcgi)=\" -i \$out/etc/pcc.conf ";
-  
-  meta = {
-    description = "A PHP to C compiler";
-    homepage = http://www.roadsend.com;
-    # you can choose one of the following licenses: 
-    # Runtime license is LPGL 2.1
-    license = ["GPL2"];
-  };
-}
diff --git a/pkgs/development/compilers/rustc/0.11.nix b/pkgs/development/compilers/rustc/0.11.nix
deleted file mode 100644
index a7246e44a73..00000000000
--- a/pkgs/development/compilers/rustc/0.11.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{stdenv, fetchurl, which, file, perl, curl, python27, makeWrapper}:
-
-assert stdenv.gcc.gcc != null;
-
-/* Rust's build process has a few quirks :
-
-- It requires some patched in llvm that haven't landed upstream, so it
-  compiles its own llvm. This might change in the future, so at some
-  point we may be able to switch to nix's llvm.
-
-- The Rust compiler is written is Rust, so it requires a bootstrap
-  compiler, which is downloaded during the build. To make the build
-  pure, we download it ourself before and put it where it is
-  expected. Once the language is stable (1.0) , we might want to
-  switch it to use nix's packaged rust compiler.
-
-*/
-
-with ((import ./common.nix) {inherit stdenv; version = "0.11.0"; });
-
-let snapshot = if stdenv.system == "i686-linux"
-      then "84339ea0f796ae468ef86797ef4587274bec19ea"
-      else if stdenv.system == "x86_64-linux"
-      then "bd8a6bc1f28845b7f4b768f6bfa06e7fbdcfcaae"
-      else if stdenv.system == "i686-darwin"
-      then "3f25b2680efbab16ad074477a19d49dcce475977"
-      else if stdenv.system == "x86_64-darwin"
-      then "4a8c2e1b7634d73406bac32a1a97893ec3ed818d"
-      else abort "no-snapshot for platform ${stdenv.system}";
-    snapshotDate = "2014-06-21";
-    snapshotRev = "db9af1d";
-    snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
-
-in stdenv.mkDerivation {
-  inherit name;
-  inherit version;
-  inherit meta;
-
-  src = fetchurl {
-    url = http://static.rust-lang.org/dist/rust-0.11.0.tar.gz;
-    sha256 = "1fhi8iiyyj5j48fpnp93sfv781z1dm0xy94h534vh4mz91jf7cyi";
-  };
-
-  # We need rust to build rust. If we don't provide it, configure will try to download it.
-  snapshot = stdenv.mkDerivation {
-    name = "rust-stage0";
-    src = fetchurl {
-      url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
-      sha1 = snapshot;
-    };
-    dontStrip = true;
-    installPhase = ''
-      mkdir -p "$out"
-      cp -r bin "$out/bin"
-    '' + (if stdenv.isLinux then ''
-      patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker}" \
-               --set-rpath "${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/" \
-               "$out/bin/rustc"
-    '' else "");
-  };
-
-  configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
-
-  # The compiler requires cc, so we patch the source to tell it where to find it
-  patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
-  postPatch = ''
-    substituteInPlace src/librustc/back/link.rs \
-      --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
-      --subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
-  '';
-
-  buildInputs = [ which file perl curl python27 makeWrapper ];
-  enableParallelBuilding = true;
-}
diff --git a/pkgs/development/compilers/rustc/1.0.0-alpha.nix b/pkgs/development/compilers/rustc/1.0.0-alpha.nix
new file mode 100644
index 00000000000..7a2e485c9c6
--- /dev/null
+++ b/pkgs/development/compilers/rustc/1.0.0-alpha.nix
@@ -0,0 +1,17 @@
+{ stdenv, callPackage }:
+callPackage ./makeRustcDerivation.nix {
+  shortVersion = "1.0.0-alpha";
+  isRelease = true;
+  srcSha = "0p62gx3s087n09d2v3l9iyfx5cmsa1x91n4ysixcb7w3drr8a8is";
+  snapshotHashLinux686 = "d8b73fc9aa3ad72ce1408a41e35d78dba10eb4d4";
+  snapshotHashLinux64 = "697880d3640e981bbbf23284363e8e9a158b588d";
+  snapshotHashDarwin686 = "a73b1fc03e8cac747aab0aa186292bb4332a7a98";
+  snapshotHashDarwin64 = "e4ae2670ea4ba5c2e5b4245409c9cab45c9eeb5b";
+  snapshotDate = "2015-01-07";
+  snapshotRev = "9e4e524";
+  patches = [
+    ./patches/hardcode_paths.alpha.patch
+    ./patches/local_stage0.alpha.patch
+    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
+}
+
diff --git a/pkgs/development/compilers/rustc/1.0.0-alpha2.nix b/pkgs/development/compilers/rustc/1.0.0-alpha2.nix
new file mode 100644
index 00000000000..94bdd995592
--- /dev/null
+++ b/pkgs/development/compilers/rustc/1.0.0-alpha2.nix
@@ -0,0 +1,16 @@
+{ stdenv, callPackage }:
+callPackage ./makeRustcDerivation.nix {
+  shortVersion = "1.0.0-alpha.2";
+  isRelease = true;
+  srcSha = "1j2n34w0hdz7jrl100c9q9hl80l8nsc3xwnzizv9sh4gx52vjcd9";
+  snapshotHashLinux686 = "191ed5ec4f17e32d36abeade55a1c6085e51245c";
+  snapshotHashLinux64 = "acec86045632f4f3f085c072ba696f889906dffe";
+  snapshotHashDarwin686 = "9d9e622584bfa318f32bcb5b9ce6a365febff595";
+  snapshotHashDarwin64 = "e96c1e9860b186507cc75c186d1b96d44df12292";
+  snapshotDate = "2015-02-17";
+  snapshotRev = "f1bb6c2";
+  patches = [
+    ./patches/alpha2.patch
+    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
+}
+
diff --git a/pkgs/development/compilers/rustc/common.nix b/pkgs/development/compilers/rustc/common.nix
deleted file mode 100644
index d766f22c6ad..00000000000
--- a/pkgs/development/compilers/rustc/common.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{stdenv, version}:
-
-{
-  inherit version;
-
-  platform = if stdenv.system == "i686-linux"
-    then "linux-i386"
-    else if stdenv.system == "x86_64-linux"
-    then "linux-x86_64"
-    else if stdenv.system == "i686-darwin"
-    then "macos-i386"
-    else if stdenv.system == "x86_64-darwin"
-    then "macos-x86_64"
-    else abort "no snapshot to boostrap for this platform (missing platform url suffix)";
-
-  target = if stdenv.system == "i686-linux"
-    then "i686-unknown-linux-gnu"
-    else if stdenv.system == "x86_64-linux"
-    then "x86_64-unknown-linux-gnu"
-    else if stdenv.system == "i686-darwin"
-    then "i686-apple-darwin"
-    else if stdenv.system == "x86_64-darwin"
-    then "x86_64-apple-darwin"
-    else abort "no snapshot to boostrap for this platform (missing target triple";
-
-  meta = with stdenv.lib; {
-    homepage = http://www.rust-lang.org/;
-    description = "A safe, concurrent, practical language";
-    maintainers = with maintainers; [ madjar cstrahan ];
-    license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ];
-    platforms = platforms.linux;
-  };
-
-  name = "rustc-${version}";
-}
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.patch b/pkgs/development/compilers/rustc/hardcode_paths.patch
deleted file mode 100644
index 77e4c3f3788..00000000000
--- a/pkgs/development/compilers/rustc/hardcode_paths.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
-index 7a3e912..ced75fa 100644
---- a/src/librustc/back/link.rs
-+++ b/src/librustc/back/link.rs
-@@ -766,24 +766,15 @@ pub fn output_lib_filename(id: &CrateId) -> String {
- 
- pub fn get_cc_prog(sess: &Session) -> String {
-     match sess.opts.cg.linker {
--        Some(ref linker) => return linker.to_string(),
--        None => {}
-+        Some(ref linker) => linker.to_string(),
-+        None => "@ccPath@".to_string()
-     }
--
--    // In the future, FreeBSD will use clang as default compiler.
--    // It would be flexible to use cc (system's default C compiler)
--    // instead of hard-coded gcc.
--    // For win32, there is no cc command, so we add a condition to make it use gcc.
--    match sess.targ_cfg.os {
--        abi::OsWin32 => "gcc",
--        _ => "cc",
--    }.to_string()
- }
- 
- pub fn get_ar_prog(sess: &Session) -> String {
-     match sess.opts.cg.ar {
-         Some(ref ar) => (*ar).clone(),
--        None => "ar".to_string()
-+        None => "@arPath@".to_string()
-     }
- }
- 
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
index 4f512096a42..2d450388669 100644
--- a/pkgs/development/compilers/rustc/head.nix
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -1,75 +1,18 @@
-{stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper}:
-
-assert stdenv.gcc.gcc != null;
-
-/* Rust's build process has a few quirks :
-
-- It requires some patched in llvm that haven't landed upstream, so it
-  compiles its own llvm. This might change in the future, so at some
-  point we may be able to switch to nix's llvm.
-
-- The Rust compiler is written is Rust, so it requires a bootstrap
-  compiler, which is downloaded during the build. To make the build
-  pure, we download it ourself before and put it where it is
-  expected. Once the language is stable (1.0) , we might want to
-  switch it to use nix's packaged rust compiler.
-
-*/
-
-with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-7a25cf3f3"; });
-
-let snapshot = if stdenv.system == "i686-linux"
-      then "a5e1bb723020ac35173d49600e76b0935e257a6a"
-      else if stdenv.system == "x86_64-linux"
-      then "1a2407df17442d93d1c34c916269a345658045d7"
-      else if stdenv.system == "i686-darwin"
-      then "6648fa88e41ad7c0991a085366e36d56005873ca"
-      else if stdenv.system == "x86_64-darwin"
-      then "71b2d1dfd0abe1052908dc091e098ed22cf272c6"
-      else abort "no-snapshot for platform ${stdenv.system}";
-    snapshotDate = "2014-07-17";
-    snapshotRev = "9fc8394";
-    snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
-
-in stdenv.mkDerivation {
-  inherit name;
-  inherit version;
-  inherit meta;
-
-  src = fetchgit {
-    url = https://github.com/rust-lang/rust;
-    rev = "7a25cf3f30fa5fae2e868fa910ecc850f5e9ee65";
-    sha256 = "1hx8vd4gn5plbdvr0zvdvqyw9x9r2vbmh112h2f5d2xxsf9p7rf1";
-  };
-
-  # We need rust to build rust. If we don't provide it, configure will try to download it.
-  snapshot = stdenv.mkDerivation {
-    name = "rust-stage0";
-    src = fetchurl {
-      url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
-      sha1 = snapshot;
-    };
-    dontStrip = true;
-    installPhase = ''
-      mkdir -p "$out"
-      cp -r bin "$out/bin"
-    '' + (if stdenv.isLinux then ''
-      patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker}" \
-               --set-rpath "${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/" \
-               "$out/bin/rustc"
-    '' else "");
-  };
-
-  configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
-
-  # The compiler requires cc, so we patch the source to tell it where to find it
-  patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
-  postPatch = ''
-    substituteInPlace src/librustc/back/link.rs \
-      --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
-      --subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
-  '';
-
-  buildInputs = [ which file perl curl python27 makeWrapper ];
-  enableParallelBuilding = true;
+{ stdenv, callPackage }:
+callPackage ./makeRustcDerivation.nix {
+  shortVersion = "1.0.0-dev";
+  isRelease = false;
+  # src rev for master on 2015/03/09
+  srcRev = "91bdf23f504f79ed59617cde3dfebd3d5e39a476";
+  srcSha = "1s1v1q630d88idz331n4m0c3ninzipmvfzmkvdaqqm28wsn69xx7";
+  snapshotHashLinux686 = "50a47ef247610fb089d2c4f24e4b641eb0ba4afb";
+  snapshotHashLinux64 = "ccb20709b3c984f960ddde996451be8ce2268d7c";
+  snapshotHashDarwin686 = "ad263bdeadcf9bf1889426e0c1391a7cf277364e";
+  snapshotHashDarwin64 = "01c8275828042264206b7acd8e86dc719a2f27aa";
+  snapshotDate = "2015-03-07";
+  snapshotRev = "270a677";
+  patches = [
+    ./patches/head.patch
+  ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
 }
+
diff --git a/pkgs/development/compilers/rustc/local_stage0.patch b/pkgs/development/compilers/rustc/local_stage0.patch
deleted file mode 100644
index 1261b2d458d..00000000000
--- a/pkgs/development/compilers/rustc/local_stage0.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
-index e78f231..6b6773b 100755
---- a/src/etc/local_stage0.sh
-+++ b/src/etc/local_stage0.sh
-@@ -53,8 +53,3 @@ if [ -z $TARG_DIR ]; then
- fi
-
- cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
--cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
diff --git a/pkgs/development/compilers/rustc/makeRustcDerivation.nix b/pkgs/development/compilers/rustc/makeRustcDerivation.nix
new file mode 100644
index 00000000000..913e65de59a
--- /dev/null
+++ b/pkgs/development/compilers/rustc/makeRustcDerivation.nix
@@ -0,0 +1,140 @@
+{ stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper
+, tzdata, git, valgrind, procps, coreutils
+
+, shortVersion, isRelease
+, srcSha, srcRev ? ""
+, snapshotHashLinux686, snapshotHashLinux64
+, snapshotHashDarwin686, snapshotHashDarwin64
+, snapshotDate, snapshotRev
+
+, patches
+}:
+
+assert !stdenv.isFreeBSD;
+
+/* Rust's build process has a few quirks :
+
+- It requires some patched in llvm that haven't landed upstream, so it
+  compiles its own llvm. This might change in the future, so at some
+  point we may be able to switch to nix's llvm.
+
+- The Rust compiler is written is Rust, so it requires a bootstrap
+  compiler, which is downloaded during the build. To make the build
+  pure, we download it ourself before and put it where it is
+  expected. Once the language is stable (1.0) , we might want to
+  switch it to use nix's packaged rust compiler.
+
+NOTE : some derivation depend on rust. When updating this, please make
+sure those derivations still compile. (racer, for example).
+
+*/
+
+assert (if isRelease then srcRev == "" else srcRev != "");
+
+let version = if isRelease then
+        "${shortVersion}"
+      else
+        "${shortVersion}-g${builtins.substring 0 7 srcRev}";
+
+    name = "rustc-${version}";
+
+    platform = if stdenv.system == "i686-linux"
+      then "linux-i386"
+      else if stdenv.system == "x86_64-linux"
+      then "linux-x86_64"
+      else if stdenv.system == "i686-darwin"
+      then "macos-i386"
+      else if stdenv.system == "x86_64-darwin"
+      then "macos-x86_64"
+      else abort "no snapshot to bootstrap for this platform (missing platform url suffix)";
+
+    target = if stdenv.system == "i686-linux"
+      then "i686-unknown-linux-gnu"
+      else if stdenv.system == "x86_64-linux"
+      then "x86_64-unknown-linux-gnu"
+      else if stdenv.system == "i686-darwin"
+      then "i686-apple-darwin"
+      else if stdenv.system == "x86_64-darwin"
+      then "x86_64-apple-darwin"
+      else abort "no snapshot to bootstrap for this platform (missing target triple)";
+
+    meta = with stdenv.lib; {
+      homepage = http://www.rust-lang.org/;
+      description = "A safe, concurrent, practical language";
+      maintainers = with maintainers; [ madjar cstrahan wizeman globin ];
+      license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ];
+      platforms = platforms.linux;
+    };
+
+    snapshotHash = if stdenv.system == "i686-linux"
+      then snapshotHashLinux686
+      else if stdenv.system == "x86_64-linux"
+      then snapshotHashLinux64
+      else if stdenv.system == "i686-darwin"
+      then snapshotHashDarwin686
+      else if stdenv.system == "x86_64-darwin"
+      then snapshotHashDarwin64
+      else abort "no snapshot for platform ${stdenv.system}";
+    snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshotHash}.tar.bz2";
+in
+
+stdenv.mkDerivation {
+  inherit name;
+  inherit version;
+  inherit meta;
+
+  src = if isRelease then
+      fetchurl {
+        url = "http://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
+        sha256 = srcSha;
+      }
+    else
+      fetchgit {
+        url = https://github.com/rust-lang/rust;
+        rev = srcRev;
+        sha256 = srcSha;
+      };
+
+  # We need rust to build rust. If we don't provide it, configure will try to download it.
+  snapshot = stdenv.mkDerivation {
+    name = "rust-stage0";
+    src = fetchurl {
+      url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
+      sha1 = snapshotHash;
+    };
+    dontStrip = true;
+    installPhase = ''
+      mkdir -p "$out"
+      cp -r bin "$out/bin"
+    '' + (if stdenv.isLinux then ''
+      patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
+               --set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/" \
+               "$out/bin/rustc"
+    '' else "");
+  };
+
+  configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]
+                ++ stdenv.lib.optional (stdenv.cc ? clang) "--enable-clang";
+
+  inherit patches;
+
+  postPatch = ''
+    substituteInPlace src/librustc_trans/back/link.rs \
+      --subst-var-by "ccPath" "${stdenv.cc}/bin/cc"
+    substituteInPlace src/librustc_back/archive.rs \
+      --subst-var-by "arPath" "${stdenv.cc.binutils}/bin/ar"
+
+    substituteInPlace src/rust-installer/gen-install-script.sh \
+      --replace /bin/echo "${coreutils}/bin/echo"
+    substituteInPlace src/rust-installer/gen-installer.sh \
+      --replace /bin/echo "${coreutils}/bin/echo"
+  '';
+
+  buildInputs = [ which file perl curl python27 makeWrapper git valgrind procps ];
+
+  enableParallelBuilding = true;
+
+  preCheck = "export TZDIR=${tzdata}/share/zoneinfo";
+
+  doCheck = true;
+}
diff --git a/pkgs/development/compilers/rustc/patches/alpha2.patch b/pkgs/development/compilers/rustc/patches/alpha2.patch
new file mode 100644
index 00000000000..8165a42cf85
--- /dev/null
+++ b/pkgs/development/compilers/rustc/patches/alpha2.patch
@@ -0,0 +1,55 @@
+diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
+index b506aff..b4b346b 100755
+--- a/src/etc/local_stage0.sh
++++ b/src/etc/local_stage0.sh
+@@ -50,11 +50,6 @@ if [ -z $TARG_DIR ]; then
+ fi
+ 
+ cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
+-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+ 
+ # do not fail if one of the above fails, as all we need is a working rustc!
+ exit 0
+diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
+index c45ee25..0f91672 100644
+--- a/src/librustc_back/archive.rs
++++ b/src/librustc_back/archive.rs
+@@ -54,7 +54,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
+           paths: &[&Path]) -> ProcessOutput {
+     let ar = match *maybe_ar_prog {
+         Some(ref ar) => &ar[..],
+-        None => "ar"
++        None => "@arPath@"
+     };
+     let mut cmd = Command::new(ar);
+ 
+diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
+index ef849bb..e090b99 100644
+--- a/src/librustc_trans/back/link.rs
++++ b/src/librustc_trans/back/link.rs
+@@ -350,8 +350,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
+ 
+ pub fn get_cc_prog(sess: &Session) -> String {
+     match sess.opts.cg.linker {
+-        Some(ref linker) => return linker.to_string(),
+-        None => sess.target.target.options.linker.clone(),
++        Some(ref linker) => linker.to_string(),
++        None => "@ccPath@".to_string(),
+     }
+ }
+ 
+diff --git a/src/test/run-pass/issue-20797.rs b/src/test/run-pass/issue-20797.rs
+index 049e08d..30b9d2a 100644
+--- a/src/test/run-pass/issue-20797.rs
++++ b/src/test/run-pass/issue-20797.rs
+@@ -90,5 +90,5 @@ impl<S: Strategy> Iterator for Subpaths<S> {
+ }
+ 
+ fn main() {
+-  let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/home")).unwrap();
++  let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/tmp")).unwrap();
+ }
diff --git a/pkgs/development/compilers/rustc/patches/grsec.patch b/pkgs/development/compilers/rustc/patches/grsec.patch
new file mode 100644
index 00000000000..84582ab7d70
--- /dev/null
+++ b/pkgs/development/compilers/rustc/patches/grsec.patch
@@ -0,0 +1,16 @@
+diff --git a/src/test/run-make/relocation-model/Makefile b/src/test/run-make/relocation-model/Makefile
+index 2fcdd32..2d9ddb0 100644
+--- a/src/test/run-make/relocation-model/Makefile
++++ b/src/test/run-make/relocation-model/Makefile
+@@ -5,9 +5,11 @@ all:
+ 	$(call RUN,foo)
+ 
+ 	$(RUSTC) -C relocation-model=default foo.rs
++	paxctl -czexm $(TMPDIR)/foo
+ 	$(call RUN,foo)
+ 
+ 	$(RUSTC) -C relocation-model=static foo.rs
++	paxctl -czexm $(TMPDIR)/foo
+ 	$(call RUN,foo)
+ 
+ 	$(RUSTC) -C relocation-model=default --crate-type=dylib foo.rs
diff --git a/pkgs/development/compilers/rustc/patches/hardcode_paths.alpha.patch b/pkgs/development/compilers/rustc/patches/hardcode_paths.alpha.patch
new file mode 100644
index 00000000000..2a9cb09dcbd
--- /dev/null
+++ b/pkgs/development/compilers/rustc/patches/hardcode_paths.alpha.patch
@@ -0,0 +1,28 @@
+diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
+index 7ea192b..cd5d01b 100644
+--- a/src/librustc_back/archive.rs
++++ b/src/librustc_back/archive.rs
+@@ -54,7 +54,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
+           paths: &[&Path]) -> ProcessOutput {
+     let ar = match *maybe_ar_prog {
+         Some(ref ar) => &ar[],
+-        None => "ar"
++        None => "@arPath@"
+     };
+     let mut cmd = Command::new(ar);
+ 
+diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
+index dacf620..815ce60 100644
+--- a/src/librustc_trans/back/link.rs
++++ b/src/librustc_trans/back/link.rs
+@@ -348,8 +348,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
+ 
+ pub fn get_cc_prog(sess: &Session) -> String {
+     match sess.opts.cg.linker {
+-        Some(ref linker) => return linker.to_string(),
+-        None => sess.target.target.options.linker.clone(),
++        Some(ref linker) => linker.to_string(),
++        None => "@ccPath@".to_string(),
+     }
+ }
+ 
diff --git a/pkgs/development/compilers/rustc/patches/head.patch b/pkgs/development/compilers/rustc/patches/head.patch
new file mode 100644
index 00000000000..f82f85fb162
--- /dev/null
+++ b/pkgs/development/compilers/rustc/patches/head.patch
@@ -0,0 +1,55 @@
+diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
+index ca59b1c..65ee7bf 100755
+--- a/src/etc/local_stage0.sh
++++ b/src/etc/local_stage0.sh
+@@ -50,11 +50,6 @@ if [ -z $TARG_DIR ]; then
+ fi
+ 
+ cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
+-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+ 
+ # do not fail if one of the above fails, as all we need is a working rustc!
+ exit 0
+diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
+index ed44bf8..2b84627 100644
+--- a/src/librustc_back/archive.rs
++++ b/src/librustc_back/archive.rs
+@@ -57,7 +57,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
+           paths: &[&Path]) -> Output {
+     let ar = match *maybe_ar_prog {
+         Some(ref ar) => &ar[..],
+-        None => "ar"
++        None => "@arPath@"
+     };
+     let mut cmd = Command::new(ar);
+ 
+diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
+index 3087a8e..578448f 100644
+--- a/src/librustc_trans/back/link.rs
++++ b/src/librustc_trans/back/link.rs
+@@ -352,8 +352,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
+ 
+ pub fn get_cc_prog(sess: &Session) -> String {
+     match sess.opts.cg.linker {
+-        Some(ref linker) => return linker.to_string(),
+-        None => sess.target.target.options.linker.clone(),
++        Some(ref linker) => linker.to_string(),
++        None => "@ccPath@".to_string(),
+     }
+ }
+ 
+diff --git a/src/test/run-pass/issue-20797.rs b/src/test/run-pass/issue-20797.rs
+index 049e08d..30b9d2a 100644
+--- a/src/test/run-pass/issue-20797.rs
++++ b/src/test/run-pass/issue-20797.rs
+@@ -90,5 +90,5 @@ impl<S: Strategy> Iterator for Subpaths<S> {
+ }
+ 
+ fn main() {
+-  let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/home")).unwrap();
++  let mut walker: Subpaths<Recursive> = Subpaths::walk(&Path::new("/tmp")).unwrap();
+ }
diff --git a/pkgs/development/compilers/rustc/patches/local_stage0.alpha.patch b/pkgs/development/compilers/rustc/patches/local_stage0.alpha.patch
new file mode 100644
index 00000000000..2f38d7c1757
--- /dev/null
+++ b/pkgs/development/compilers/rustc/patches/local_stage0.alpha.patch
@@ -0,0 +1,16 @@
+diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
+index e78f231..6b6773b 100755
+--- a/src/etc/local_stage0.sh
++++ b/src/etc/local_stage0.sh
+@@ -53,11 +53,6 @@
+ fi
+ 
+ cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
+-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+ 
+ # do not fail if one of the above fails, as all we need is a working rustc!
+ exit 0
diff --git a/pkgs/development/compilers/sbcl/1.2.0.nix b/pkgs/development/compilers/sbcl/1.2.0.nix
new file mode 100644
index 00000000000..d19edce2c10
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/1.2.0.nix
@@ -0,0 +1,84 @@
+{ stdenv, fetchurl, sbclBootstrap, clisp}:
+
+stdenv.mkDerivation rec {
+  name    = "sbcl-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+    sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
+  };
+
+  buildInputs = [ ]
+    ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
+    ++ (stdenv.lib.optional stdenv.isLinux clisp)
+    ;
+
+  patchPhase = ''
+    echo '"${version}.nixos"' > version.lisp-expr
+    echo "
+    (lambda (features)
+      (flet ((enable (x)
+               (pushnew x features))
+             (disable (x)
+               (setf features (remove x features))))
+        (enable :sb-thread))) " > customize-target-features.lisp
+
+    pwd
+
+    # SBCL checks whether files are up-to-date in many places..
+    # Unfortunately, same timestamp is not good enough
+    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
+    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date input/a)'
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-fasl/a)'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
+
+    # Fix the tests
+    sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
+
+    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
+    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
+
+    # Use whatever `cc` the stdenv provides
+    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
+
+    substituteInPlace src/runtime/Config.x86-64-darwin \
+      --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
+  '';
+
+  preBuild = ''
+    export INSTALL_ROOT=$out
+    mkdir -p test-home
+    export HOME=$PWD/test-home
+  '';
+
+  buildPhase = if stdenv.isLinux
+    then ''
+      sh make.sh clisp --prefix=$out
+    ''
+    else ''
+      sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit'
+    '';
+
+  installPhase = ''
+    INSTALL_ROOT=$out sh install.sh
+  '';
+
+  meta = {
+    description = "Lisp compiler";
+    homepage = http://www.sbcl.org;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.all;
+    inherit version;
+  };
+}
diff --git a/pkgs/development/compilers/sbcl/1.2.5.nix b/pkgs/development/compilers/sbcl/1.2.5.nix
new file mode 100644
index 00000000000..6c0fa874f3e
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/1.2.5.nix
@@ -0,0 +1,84 @@
+{ stdenv, fetchurl, sbclBootstrap, clisp, which}:
+
+stdenv.mkDerivation rec {
+  name    = "sbcl-${version}";
+  version = "1.2.5";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+    sha256 = "0nmb9amygr5flzk2z9fa6wzwqknbgd2qrkybxkxkamvbdwyayvzr";
+  };
+
+  buildInputs = [ which ]
+    ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
+    ++ (stdenv.lib.optional stdenv.isLinux clisp)
+    ;
+
+  patchPhase = ''
+    echo '"${version}.nixos"' > version.lisp-expr
+    echo "
+    (lambda (features)
+      (flet ((enable (x)
+               (pushnew x features))
+             (disable (x)
+               (setf features (remove x features))))
+        (enable :sb-thread))) " > customize-target-features.lisp
+
+    pwd
+
+    # SBCL checks whether files are up-to-date in many places..
+    # Unfortunately, same timestamp is not good enough
+    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
+    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date input/a)'
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-fasl/a)'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
+
+    # Fix software version retrieval
+    sed -e "s@/bin/uname@$(which uname)@g" -i src/code/*-os.lisp
+
+    # Fix the tests
+    sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
+    sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
+
+    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
+    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
+
+    # Use whatever `cc` the stdenv provides
+    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
+  '';
+
+  preBuild = ''
+    export INSTALL_ROOT=$out
+    mkdir -p test-home
+    export HOME=$PWD/test-home
+  '';
+
+  buildPhase = if stdenv.isLinux
+    then ''
+      sh make.sh clisp --prefix=$out
+    ''
+    else ''
+      sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit'
+    '';
+
+  installPhase = ''
+    INSTALL_ROOT=$out sh install.sh
+  '';
+
+  meta = {
+    description = "Lisp compiler";
+    homepage = http://www.sbcl.org;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.all;
+    inherit version;
+  };
+}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index d3892d43d15..d76a59c8dec 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, sbclBootstrap, clisp}:
+{ stdenv, fetchurl, sbclBootstrap, clisp, which}:
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.2.0";
+  version = "1.2.10";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
+    sha256 = "11gn25knjk0zdyi3s6w0blcnrxjgyj4iifg5h07pv2r7hm83s92m";
   };
 
-  buildInputs = [ ]
+  buildInputs = [ which ]
     ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
     ++ (stdenv.lib.optional stdenv.isLinux clisp)
     ;
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
     sed -i src/code/target-load.lisp -e \
       '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
 
+    # Fix software version retrieval
+    sed -e "s@/bin/uname@$(which uname)@g" -i src/code/*-os.lisp
+
     # Fix the tests
     sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
     sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
@@ -47,6 +50,12 @@ stdenv.mkDerivation rec {
 
     sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
     sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
+
+    # Use whatever `cc` the stdenv provides
+    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
+
+    substituteInPlace src/runtime/Config.x86-64-darwin \
+      --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
   '';
 
   preBuild = ''
diff --git a/pkgs/development/compilers/scala/2.10.nix b/pkgs/development/compilers/scala/2.10.nix
index 11c3c0d8c31..b518a9a0e0e 100644
--- a/pkgs/development/compilers/scala/2.10.nix
+++ b/pkgs/development/compilers/scala/2.10.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.10.4";
+  name = "scala-2.10.5";
 
   src = fetchurl {
     url = "http://www.scala-lang.org/files/archive/${name}.tgz";
-    sha256 = "1hqhm1xvd7g78jspvl30zgdzw79xq5zl837h47p6w1n6qlwbcvdl";
+    sha256 = "1ckyz31gmf2pgdl51h1raa669mkl7sqfdl3vqkrmyc46w5ysz3ci";
   };
 
   buildInputs = [ jre makeWrapper ] ;
@@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
       compared to an equivalent Java application.
     '';
     homepage = http://www.scala-lang.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.all;
+    branch = "2.10";
   };
 }
diff --git a/pkgs/development/compilers/scala/2.9.nix b/pkgs/development/compilers/scala/2.9.nix
index 41f377dbfa3..de5db1eff99 100644
--- a/pkgs/development/compilers/scala/2.9.nix
+++ b/pkgs/development/compilers/scala/2.9.nix
@@ -28,7 +28,8 @@ stdenv.mkDerivation rec {
       compared to an equivalent Java application.
     '';
     homepage = http://www.scala-lang.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.all;
+    branch = "2.9";
   };
 }
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index e299be9144e..9e55d9f3ac2 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.11.0";
+  name = "scala-2.11.6";
 
   src = fetchurl {
     url = "http://www.scala-lang.org/files/archive/${name}.tgz";
-    sha256 = "00lap31c6rxvg7vipmj0j7f4mv6c58wpfyd3785bxwlhrzmmwgq7";
+    sha256 = "10v58jm0wbb4v71sfi03gskd6n84jqn6nvd62x166104c3j4bfj1";
   };
 
   buildInputs = [ jre makeWrapper ] ;
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       compared to an equivalent Java application.
     '';
     homepage = http://www.scala-lang.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix
index fe293fbc4b8..0650fae917a 100644
--- a/pkgs/development/compilers/sdcc/default.nix
+++ b/pkgs/development/compilers/sdcc/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     ${if gputils == null then "--disable-pic14-port --disable-pic16-port" else ""}
   '';
 
+  NIX_CFLAGS_COMPILE = "--std=c99"; # http://sourceforge.net/p/sdcc/code/9106/
+
   meta = with stdenv.lib; {
     description = "Small Device C Compiler";
     longDescription = ''
diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix
index b3a29a1e1c7..aa8ea9012c1 100644
--- a/pkgs/development/compilers/smlnj/default.nix
+++ b/pkgs/development/compilers/smlnj/default.nix
@@ -1,29 +1,30 @@
 { stdenv, fetchurl }:
 let
-  version = "110.76";
+  version = "110.78";
   baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
 
   sources = map fetchurl [
-    { url = "${baseurl}/config.tgz";              sha256 = "0mx5gib1jq5hl3j6gvkkfh60x2hx146xiisclaz4jgy452ywikj1"; }
-    { url = "${baseurl}/cm.tgz";                  sha256 = "14y1pqqw5p5va3rvpk2jddx2gcm37z5hwp5zdm43z02afscq37jk"; }
-    { url = "${baseurl}/compiler.tgz";            sha256 = "10gn7cwqzbnh4k3l6brb9hp59k9vz2m9fcaarv2fw1gilfw5a9rj"; }
-    { url = "${baseurl}/runtime.tgz";             sha256 = "0zqajizayzrlrxm47q492mqgfxya7rwqrq4faafai8qfwga6q27n"; }
-    { url = "${baseurl}/system.tgz";              sha256 = "0dys0f0cdgnivk1niam9g736c3mzrjf9r29051g0579an8yi8slg"; }
-    { url = "${baseurl}/MLRISC.tgz";              sha256 = "00n1zk65cwf2kf669mn09lp0ya6bfap1czhyq0nfza409vm4v54x"; }
-    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "1mx1vjxbpfgcq6fkmh2qirjfqzn3wcnjf4a9ijr7k2bwgnh99sc1"; }
-    { url = "${baseurl}/ckit.tgz";                sha256 = "1fqdxs2cgzffj0i9rmzv1aljwnhx98hyvj3c2kivw3ligxp4wly4"; }
-    { url = "${baseurl}/nlffi.tgz";               sha256 = "08dmvs95xmbas3hx7n0csxxl0d0bmhxg7gav1ay02gy9n8iw3g87"; }
-    { url = "${baseurl}/cml.tgz";                 sha256 = "1qc1hs2k2xmn03ldyz2zf0pzbryd1n4bwix226ch8z9pnfimglyb"; }
-    { url = "${baseurl}/eXene.tgz";               sha256 = "01z69rgmshh694wkcwrzi72z5d5glpijj7mqxb17yz106xyzmgim"; }
-    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "13gw4197ivzvd6qcbg5pzclhv1f2jy2c433halh021d60qjv4w4r"; }
-    { url = "${baseurl}/ml-lex.tgz";              sha256 = "0sqa533zca1l7p79qhkb7lspvhk4k2r3839745sci32fzwy1804x"; }
-    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "1kzi0dpybd9hkklk460mgbwfkixjhav225kkmwnk3jxby3zgflci"; }
-    { url = "${baseurl}/ml-burg.tgz";             sha256 = "0kjrba8l0v6jn3g6gv9dvrklpvxx9x57b7czwnrrd33pi28sv7fm"; }
-    { url = "${baseurl}/pgraph.tgz";              sha256 = "174n22m7zibgk68033qql86kyk6mxjni4j0kcadafs0g2xmh6i6z"; }
-    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1pq4wwx5ad7zx1306ka06lqwnjv446zz6ndpq6s9ak6ha79f2s9p"; }
-    { url = "${baseurl}/heap2asm.tgz";            sha256 = "0p91fzwkfr7hng7c026gy5ggl5l9isxpm007iq6ivpjrfjy547wc"; }
-    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "0vra4gi91w0cjsw3rm162hgz5xsqbr7yds44q7zhs27kccsirpqc"; }
-    { url = "${baseurl}/boot.x86-unix.tgz";       sha256 = "0qcvdhlvpr02c1ssk4jz6175lb9pkdg7zrfscqz6f7crnsgmc5nx"; }
+    { url = "${baseurl}/config.tgz";              sha256 = "018c6iflpm3im6679via1wshw2sls4jgiqrc30pqkb80kfrh1pg2"; }
+    { url = "${baseurl}/cm.tgz";                  sha256 = "0id37j6lj4b3qczn4949gvc8hys9j3h7nk9kc9fxv4rv1g7i328x"; }
+    { url = "${baseurl}/compiler.tgz";            sha256 = "1m299lzc8l9mixb2l9scvilz27v16db3igzwca19alsrvldnmpg2"; }
+    { url = "${baseurl}/runtime.tgz";             sha256 = "1pwbv1bnh8dz4w62cx19c56z4y57krbpr1ziayyycg7lj44pb7sy"; }
+    { url = "${baseurl}/system.tgz";              sha256 = "1jdilm3wcjxcnnbd3g8rcd1f5nsb5ffzfjqcsdcpqd9mnx81fca9"; }
+    { url = "${baseurl}/MLRISC.tgz";              sha256 = "0ibqwkkqd4c62p3q1jbgqyh7k78sms01igl7ibk6jyrhy9n7vw0v"; }
+    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "1lxnwp8q3xw0wqqrv3hlk3fjancrfz862fy9j504s38ljhdjc3jr"; }
+    { url = "${baseurl}/ckit.tgz";                sha256 = "1nqw40vjxy40ckif5d480g5mf7b91lmwcs7m689gs9n2dj3gbwnp"; }
+    { url = "${baseurl}/nlffi.tgz";               sha256 = "1cks1xifb32wya2flw7h7cvcdnkxv7ngk8y7xv29888r7xbdr3h0"; }
+    { url = "${baseurl}/cml.tgz";                 sha256 = "0qfaj6vsagsnh9di94cxvn77f91zfwsnn95rz8ig5dz5zmq77ghz"; }
+    { url = "${baseurl}/eXene.tgz";               sha256 = "1nlkb2y48m702qplxkqphvb9nbj433300j7yrdbsj39j6vvp8pmw"; }
+    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "02b2gdl1qdwilhls3ssa04wcyg3aswndn1bh85008rqj85ppddiq"; }
+    { url = "${baseurl}/ml-lex.tgz";              sha256 = "0l1sddd5wfpqgmyw1g3iwv2p27fbkpjkm10db2qd2pid9r95dxz5"; }
+    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "0ln790ydb43sxbjjymbd6jnnzfygrc0lr50k81p5cazzzy1yfim6"; }
+    { url = "${baseurl}/ml-burg.tgz";             sha256 = "03anyy2gdkgfprmahx489hxg9zjh9lydq3gkzrlyw51yzvgp3f92"; }
+    { url = "${baseurl}/pgraph.tgz";              sha256 = "19hbcav11a6fv0xmzgin0v5dl4m08msk1vsmw26kpqiqkvkh7j39"; }
+    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "0awssg3vgj3sp85kdfjcp28zaq815zr55k9z6v79zs9gll02ghlk"; }
+    { url = "${baseurl}/heap2asm.tgz";            sha256 = "1vkmxbm6x37l1wqvilvvw662pdvg6mkbvcfvya8ggsihz4c1z0jg"; }
+    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "08b8acd5vwhz1gg7960rha00qhwk7l7p01vvgwzmdiqlcd3fcj1d"; }
+    { url = "${baseurl}/doc.tgz";                 sha256 = "1pbsvc8nmnjwq239wrylb209drr4xv9a66r0fjm126b6nw1slrbq"; }
+    { url = "${baseurl}/boot.x86-unix.tgz";       sha256 = "19wd273k4ldnxndq6cqr7xv387ynbviz6jlgxmlld7nxf549kn5a"; }
   ];
 in stdenv.mkDerivation {
   name = "smlnj-${version}";
@@ -53,14 +54,17 @@ in stdenv.mkDerivation {
     mkdir -pv $out
     cp -rv bin lib $out
 
-    for i in $out/bin/*; do
+    cd $out/bin
+    for i in *; do
       sed -i "2iSMLNJ_HOME=$out/" $i
     done
   '';
 
   meta = {
     description = "Standard ML of New Jersey, a compiler";
-    homepage = http://smlnj.org;
-    license = stdenv.lib.licenses.bsd3;
+    homepage    = http://smlnj.org;
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = [ "i686-linux" ];
+    maintainers = stdenv.lib.maintainers.thoughtpolice;
   };
 }
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index 220d3f87fba..1f38198b30b 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "6.6.5";
+  version = "6.6.6";
 in
 stdenv.mkDerivation {
   name = "swi-prolog-${version}";
 
   src = fetchurl {
     url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz";
-    sha256 = "0lsa90sdnkd286xgm1amwkdhvnrpsz7imfzczrfdaw4arqk4bvkr";
+    sha256 = "0vcrfskm2hyhv30lxr6v261myb815jc3bgmcn1lgsc9g9qkvp04z";
   };
 
   buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama
diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix
new file mode 100644
index 00000000000..b16b32a6a06
--- /dev/null
+++ b/pkgs/development/compilers/teyjus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, omake, ocaml, flex, bison }:
+
+stdenv.mkDerivation {
+  name = "teyjus-2.0b2";
+
+  src = fetchurl {
+    url = "https://teyjus.googlecode.com/files/teyjus-source-2.0-b2.tar.gz";
+    sha256 = "f589fb460d7095a6e674b7a6413772c41b98654c38602c3e8c477a976da99052";
+  };
+
+  patches = [ ./fix-lex-to-flex.patch ];
+
+  buildInputs = [ omake ocaml flex bison ];
+
+  buildPhase = "omake all";
+
+  checkPhase = "omake check";
+
+  installPhase = "mkdir -p $out/bin && cp tj* $out/bin";
+
+  meta = with stdenv.lib; {
+    description = "An efficient implementation of the Lambda Prolog language";
+    homepage = https://code.google.com/p/teyjus/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ maintainers.bcdarwin ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
new file mode 100644
index 00000000000..d2da1d3facc
--- /dev/null
+++ b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
@@ -0,0 +1,23 @@
+diff --git a/source/OMakefile b/source/OMakefile
+index 6b19d84..095b8b6 100644
+--- a/source/OMakefile
++++ b/source/OMakefile
+@@ -164,12 +164,17 @@ LNK_MAIN = $(FNT)/linkerfront
+ DEP_MAIN = $(FNT)/dependfront

+ 

+ ############################################################

++# Nixpkgs specific changes

++#

++

++LEX = flex

++

++############################################################

+ # Platform specific changes

+ #

+ 

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

+     YACC = bison -by

+-    LEX = flex

+     CFLAGS += -mno-cygwin

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

+     export

diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index bd71ab7b27f..c9378451d1f 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   preConfigure = ''
-    configureFlagsArray+=("--elfinterp=$(cat $NIX_GCC/nix-support/dynamic-linker)")
+    configureFlagsArray+=("--elfinterp=$(cat $NIX_CC/nix-support/dynamic-linker)")
     configureFlagsArray+=("--crtprefix=${stdenv.glibc}/lib")
     configureFlagsArray+=("--sysincludepaths=${stdenv.glibc}/include:{B}/include")
     configureFlagsArray+=("--libpaths=${stdenv.glibc}/lib")
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
index 2f179d17548..d2b9ec63a73 100644
--- a/pkgs/development/compilers/uhc/default.nix
+++ b/pkgs/development/compilers/uhc/default.nix
@@ -1,27 +1,24 @@
-{ stdenv, coreutils, glibc, fetchgit, m4, libtool, ghc, uulib
-, uuagc, mtl, network, binary, llvm, fgl, syb
+{ stdenv, coreutils, fetchgit, m4, libtool, clang, ghcWithPackages,
+  shuffle,
+  hashable, mtl, network, uhc-util, uulib
 }:
 
-# this check won't be needed anymore after ghc-wrapper is fixed
-# to show ghc-builtin packages in "ghc-pkg list" output.
-let binaryIsBuiltIn = builtins.compareVersions "7.2.1" ghc.version != 1;
-
-in stdenv.mkDerivation {
-  name = "uhc-svn-git20120502";
+let wrappedGhc = ghcWithPackages ( self: [hashable mtl network uhc-util uulib] );
+in stdenv.mkDerivation rec {
+  version = "1.1.8.10";
+  name = "uhc-${version}";
 
   src = fetchgit {
-     url = "https://github.com/UU-ComputerScience/uhc.git";
-     rev = "ab26d787657bb729d8a4f92ef5d067d9990f6ce3";
-     sha256 = "66c5b6d95dc80a652f6e17476a1b18fbef4b4ff6199a92d033f0055526ec97ff";
+    url = "https://github.com/UU-ComputerScience/uhc.git";
+    rev = "449d9578e06af1362d7f746798f0aed57ab6ca88";
+    sha256 = "0f8abhl9idbc2qlnb7ynrb11yvm3y07vksyzs1yg6snjvlhfj5az";
   };
 
   postUnpack = "sourceRoot=\${sourceRoot}/EHC";
 
-  propagatedBuildInputs = [mtl network binary fgl syb];
-  buildInputs = [coreutils m4 ghc libtool uulib uuagc];
+  buildInputs = [ m4 wrappedGhc clang libtool shuffle ];
 
-  # Can we rename this flag to "--with-cpp-uhc-options"?
-  configureFlags = "--with-cpp-ehc-options=-I${glibc}/include";
+  configureFlags = [ "--with-gcc=${clang}/bin/clang" ];
 
   # UHC builds packages during compilation; these are by default
   # installed in the user-specific package config file. We do not
@@ -34,15 +31,23 @@ in stdenv.mkDerivation {
     sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in
     sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/dist.mk
     sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/config.mk.in
-  '' + stdenv.lib.optionalString binaryIsBuiltIn ''
-    sed -i "s|ghcLibBinary=no|ghcLibBinaryExists=yes|" configure
+    sed -i "s|--make|--make -package-db=$p|g" src/ehc/files2.mk
+    sed -i "s|--make|--make -package-db=$p|g" src/gen/files.mk
   '';
 
-  meta = {
+  inherit clang;
+
+  meta = with stdenv.lib; {
     homepage = "http://www.cs.uu.nl/wiki/UHC";
     description = "Utrecht Haskell Compiler";
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = stdenv.lib.platforms.none;
-    broken = true;
+    maintainers = [ maintainers.phausmann ];
+
+    # UHC i686 support is broken, see
+    # https://github.com/UU-ComputerScience/uhc/issues/52
+    #
+    # Darwin build is broken as well at the moment.
+    # On Darwin, the GNU libtool is used, which does not
+    # support the -static flag and thus breaks the build.
+    platforms = ["x86_64-linux"];
   };
 }
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index bd457b227e6..6d5b49da066 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20140531";
+  version = "20150214";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "0gbk16hzs8267cfhb7w1cqgjxdv2icxg5clxdbda6qsn84jaf3n4";
+    sha256 = "f7b7587fe72c04f14581ded11588777f7bb61e392634966cc0354e13d69f236d";
   };
 
-  buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
+  buildInputs = [ stdenv.cc file openssl mlton mysql postgresql sqlite ];
 
   prePatch = ''
     sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure
@@ -18,12 +18,12 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
-      export CC="${stdenv.gcc}/bin/gcc";
+      export CC="${stdenv.cc}/bin/gcc";
       export CCARGS="-I$out/include \
-                      -L${mysql}/lib/mysql -L${postgresql}/lib -L${sqlite}/lib";
+                      -L${mysql.lib}/lib/mysql -L${postgresql}/lib -L${sqlite}/lib";
 
       export PGHEADER="${postgresql}/include/libpq-fe.h";
-      export MSHEADER="${mysql}/include/mysql/mysql.h";
+      export MSHEADER="${mysql.lib}/include/mysql/mysql.h";
       export SQHEADER="${sqlite}/include/sqlite3.h";
     '';
 
diff --git a/pkgs/development/compilers/vala/0.26.nix b/pkgs/development/compilers/vala/0.26.nix
new file mode 100644
index 00000000000..78cb850c356
--- /dev/null
+++ b/pkgs/development/compilers/vala/0.26.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt
+, glib, libiconv, libintlOrEmpty
+}:
+
+let
+  major = "0.26";
+  minor = "2";
+  sha256 = "37f13f430c56a93b6dac85239084681fd8f31c407d386809c43bc2f2836e03c4";
+in
+stdenv.mkDerivation rec {
+  name = "vala-${major}.${minor}";
+
+  meta = {
+    description = "Compiler for GObject type system";
+    homepage = "http://live.gnome.org/Vala";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ antono lethalman ];
+  };
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz";
+    inherit sha256;
+  };
+
+  nativeBuildInputs = [ pkgconfig flex bison libxslt ];
+
+  buildInputs = [ glib libiconv ]
+    ++ libintlOrEmpty;
+}
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 38c3ead7bff..13b9c5f3983 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
-, glib, libiconvOrEmpty, libintlOrEmpty
+, glib, libiconv, libintlOrEmpty
 }:
 
 let
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig flex bison libxslt ];
 
-  buildInputs = [ glib ]
-    ++ libiconvOrEmpty
+  buildInputs = [ glib libiconv ]
     ++ libintlOrEmpty;
 }
diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix
index a29c0de65b8..f9b587c0504 100644
--- a/pkgs/development/compilers/yap/default.nix
+++ b/pkgs/development/compilers/yap/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, readline, gmp, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "6.2.2";
+  version = "6.3.3";
   name = "yap-${version}";
 
   src = fetchurl {
     url = "http://www.dcc.fc.up.pt/~vsc/Yap/${name}.tar.gz";
-    sha256 = "0l6p0vy667wws64cvwf74ssl6h9gypjzrsl3b2d32hs422186pzi";
+    sha256 = "0y7sjwimadqsvgx9daz28c9mxcx9n1znxklih9xg16k6n54v9qxf";
   };
 
   buildInputs = [ readline gmp zlib ];
@@ -16,9 +16,10 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.dcc.fc.up.pt/~vsc/Yap/";
     description = "Yap Prolog System is a ISO-compatible high-performance Prolog compiler";
-    license = "artistic";
+    license = stdenv.lib.licenses.artistic2;
 
     maintainers = [ stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.linux;
+    broken = !stdenv.is64bit;   # the linux 32 bit build fails.
   };
 }
diff --git a/pkgs/development/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix
index ec1fda10d8c..738b63fe1ad 100644
--- a/pkgs/development/compilers/yasm/default.nix
+++ b/pkgs/development/compilers/yasm/default.nix
@@ -1,17 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "yasm-1.2.0";
+  name = "yasm-1.3.0";
 
   src = fetchurl {
     url = "http://www.tortall.net/projects/yasm/releases/${name}.tar.gz";
-    sha256 = "0cfg7ji3ia2in628w42wrfvw2ixmmm4rghwmv2k202mraysgm3vn";
+    sha256 = "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.tortall.net/projects/yasm/;
     description = "Complete rewrite of the NASM assembler";
-    license = "BSD";
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.bsd2;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/coq-modules/bedrock/default.nix b/pkgs/development/coq-modules/bedrock/default.nix
new file mode 100644
index 00000000000..7aadead5428
--- /dev/null
+++ b/pkgs/development/coq-modules/bedrock/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-bedrock-${coq.coq-version}-${version}";
+  version = "20140722";
+
+  src = fetchurl {
+    url = "http://plv.csail.mit.edu/bedrock/bedrock-${version}.tgz";
+    sha256 = "0aaa98q42rsy9hpsxji21bqznizfvf6fplsw6jq42h06j0049k80";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  enableParallelBuilding = true;
+
+  buildFlags = "cito";
+
+  installPhase = ''
+    COQLIB=$out/lib/coq/${coq.coq-version}/
+    mkdir -p $COQLIB/user-contrib/Bedrock
+    cp -pR src $COQLIB/user-contrib/Bedrock
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://plv.csail.mit.edu/bedrock/;
+    description = "Bedrock is a library that turns Coq into a tool much like classical verification systems";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/contribs/all.nix b/pkgs/development/coq-modules/contribs/all.nix
new file mode 100644
index 00000000000..d01c32bdb0a
--- /dev/null
+++ b/pkgs/development/coq-modules/contribs/all.nix
@@ -0,0 +1,163 @@
+{
+AACTactics = "0v18kf7xjys4g3z8m2sfiyipyn6mz75wxl2zgqk7nv1jr8i03min";
+ABP = "06cn70lbdivn1hxnlsqpiibq9nlwl6dggcn967q6n3nph37m4pdp";
+AILS = "1g0hc27kizrwm6x35j3w721cllfl4rvhiqifn3ljy868mwxwsiva";
+AMM11262 = "15rxr5bzyswxfznml4vij3pflqm3v2bl1xzg9m1p5gmd0385zh6l";
+ATBR = "1xfhc70m9qm51gwi7cls8znx37y5cp1m0wak1h0r51g1d2lxr7a6";
+Additions = "0bhl1wqbqigq0m6zj1yhdm5j0rsn75xy510kz9qy4dv5277wc7ab";
+Algebra = "061szlbg5zh5h0ksgmw34hqrvqy6794p3r1ijg0xi8mqa2wpbjd8";
+Angles = "1grqx88mibz4lg7k9ba89vpg4kwrm3s87wy0ls39i3d3wgx18n97";
+AreaMethod = "07d86p5xbnhbrily18hda0hymf3zx8yhw905plmrqyfbcc6x5531";
+Automata = "0g75gjdj79ysiq1pwqk658jxs2z1l8pk702iz69008vkjzbzkhvm";
+AxiomaticABP = "19x16dgsqyw2pflza8cgv29585a6yy3r8pz4z8ns3r7qhpp1449b";
+BDDs = "0s5a67w9v1lklph8dm4d9bkd6f9qzfb377gvisr3hslacn9ya8zy";
+Bertrand = "1ih0zbk3phk0zwms0mwkcikmki25hgbp1l980gpydj5a0s9ildyg";
+Buchberger = "1v7zi62ar4inncbcphalsyaggx8im02j81b0fnpvx2x3kyv2pr94";
+CCS = "1na7902k05z19a727wa7rz0dbf1fhcl53r4zxvcgvg5dasvwfc97";
+CFGV = "13gk597r9n2wcgcbhribsqrp9wb8mmr3qd4zbv2ig8469kng0j4m";
+CTLTCTL = "0il1hhizvd2zvh2bhjaa2f43q1qz5sjfdin00yx5l1a8867wjs05";
+CanonBDDs = "1l9yqj0dfqkq49acsy17cvz4rjj86wjbhsdbr4qw2qvn4shllc23";
+Cantor = "1ys81ivigsbsg5cfx9jvm0qprdwc3jm69xm3whq5v9b6skn958yp";
+CatsInZFC = "06rkhns5gz397mafxina52h9z35r0n5bpryk5yfja0kfiyjvp4cr";
+Checker = "0hvfmpy3w4jj4zi3bm9q2yy4361q0lg0znqa22n5l7hzvi28q796";
+Chinese = "191c1bcslxrjxcxvpcz0mzklrl1cwh0lzkd2nq5m0ch3vxar6rq4";
+Circuits = "1a091g5vvmg579mmbfbvhj0scv7zw4n5brmj8dmiwfayfscdh5vg";
+ClassicalRealizability = "1zgivy679rl3ay9mf5ahs0lzrwfg19pcmz5nqm9hq0dpfn9avd6a";
+CoLoR = "05x1drvvhrspj2wzh8v1abblmb9fxy0yx6gg9y4nldkc24widjr7";
+CoRN = "1wv8y67bm2072bd6i3gbvy4sc665sci5kzd1zwv9n2ffxzhy0l5j";
+Coalgebras = "1wzwadfii9mm11bifjbg6f23qbab1ix3valysgq2b4myxlnpwdfz";
+CoinductiveExamples = "1iw6jsxvshsmn52xac3dspkw8f95214f0dcx0y6gi13ln02h8njy";
+CoinductiveReals = "149nsygwlb80s2805qgn85a6mcp7rxifbicbr84l3nyzilfyr6lk";
+ConCaT = "0537r0lamfz657llarxjl030qw29dnya7rb73kx0bdbyphxszr71";
+ConstructiveGeometry = "0cfz64yciyma6jrskc37md4mnv2vbx9hw7y69vyxzy7xdax55j64";
+Containers = "07pjbnzhh418ypppvfkls2x0ycslgl274a913xwi3rb1wrg6q84g";
+Continuations = "0l35xl9kvmq8l9gx3rmcx11p22inw76m1s18y0dnhc6qnhhkq1qg";
+CoqInCoq = "0d5m71xq66rfaa6xr51bsv9hykzfv4dwpclxpnqc7a7ss1q9ccqz";
+Coqoban = "1xp6wblg31asbqbkvbha94lbzn6xnhl0v5y0f3qh4nbmv6hslc54";
+Counting = "150la62c1j4yg8myr7nrp1qwp4z15rfg788j9vraz5q6f2n8c8ph";
+CoursDeCoq = "1qgc03ngzyd138s2cmcwrwrmyq0lf3z3vwhiaq5p371al34fk0d9";
+#Dblib = "00704xi5348fbw9bc0cy5bqx5w4a7aqwpcwdd3740i15ihk60mrl";
+Demos = "0j5ndysvhsj57971yz7xz5mmnzwymgigr3b9mr6nh9iids98g9vy";
+DescenteInfinie = "0is6kclxhfd9n4sdpfkzm4kcc740ifkylg11b8z90frwq79a8yzb";
+Dictionaries = "13zhjvgl20f0hj2pp0zkczm9pwdgh174248jgbqj87rn5alyr2iy";
+DistributedReferenceCounting = "1kw6fb7rvkkrh5rz1839jwf9hrpnrsdnhjlpx3634d5a5kbbdj6a";
+DomainTheory = "1g39bgyxfj9r51vrmrxhrq1xqr36j5q8x0zgz2a12b0k3fj8bswn";
+Ergo = "0xkza35n3f05gkfywaisnis70zsrkh1kwq5idsb2k0rw8m4hq9ki";
+EuclideanGeometry = "11n8877zksgksdfcj7arjx0zcfhsrvg83lcp6yb2bynvfp80gyzb";
+EulerFormula = "1nhh49rf6wza2m5qmz5l5m24m299qn3v80wqzvf51lybadzll2h6";
+ExactRealArithmetic = "1p32g13sx2z5rj3q6390ym8902gvl5x16wdhgz5i75y44s6kmkb1";
+Exceptions = "0w2b16nr80f70dxllmhbqwfr1aw26rcfbak5bdyc0fna8hqp4q3p";
+FOUnify = "1vwp5rwvs5ng4d13l9jjh4iljasfqmc5jpla8rga4v968bp84nw6";
+FSSecModel = "0fi78vqfrw4vrmdw215ic08rw8y6aia901wqs4f1s9z2idd6m8qy";
+FSets = "1n54s2vr6snh31jnvr79q951vyk0w0w6jrnwnlz9d3vyw47la9js";
+Fairisle = "0gg9x69qr0zflaryniqnl8d34kjdij0i55fcb1f1i5hmrwn2sqn6";
+Fermat4 = "0d5lkkrw3vqw6dip1mrgn8imq861xaipirzwpd35jgdkamds802v";
+FingerTree = "1kzfv97mc9sbprgg76lb5lk71gr4a5q10q8yaj57qw3m5hvmdhmw";
+FiringSquad = "0y2dy75j97x0592dxcbcd00ffwnf61f92yiap68xszv3dixl9i9x";
+Float = "1xmskkfd9w3j0bynlmadsrv997988k17bcs0r3zxaazm7vvw2sci";
+FreeGroups = "00pskmp0kfnnafldzcw8vak5v2n0nsjl9pfbw8qkj1xzzbvym2wk";
+FunctionsInZFC = "1vfs27m5f2cx0q2qjlxj3nim1bv53mk241pqz9mpj4plcj0g838l";
+FundamentalArithmetics = "1vvgl5c7rcg3bxizcjdix0fn20vdqy73ixcvm714llb8p986lan5";
+GC = "11kwn43nm58bv7v3p8xg2ih4x0gvgigz26gzh8l8w3lgmriqmzx0";
+GenericEnvironments = "1w05ysx0rl17fgxq3fc0p7p3h70c94qxa6yq88ppyhwm1cqqgihw";
+Goedel = "0b1dfmxp9q5z2l59yz5bn37m0zz4307kq94a7fs8s0lbbwrgyhrf";
+GraphBasics = "1f2bsfkhlyzjvy6ln62sf6hpy9dh8azrnlfpjq6jn667nfb7cbf6";
+Graphs = "0smhsas27llkmfkn4vs8ygb9w19ci2q4ps0f2q969xv8n8n0bj4z";
+GroupTheory = "141w3zbf7jczbk1lrpz6dnpk8yh1vr4f7kw55siawwaai11bh7c1";
+Groups = "00zmn1q9lz7dz8p5wk34svwki9xwn62xkgnhw4bcx8awlbx1pw3a";
+Hardware = "1bp9bnvlv54ksngmgzyxaqw1idxw5snmwrcifqcd6088w6hd9w1n";
+Hedges = "1abbf8v0i8akmhbi2hmb1l9wxvql275c9mxf0r5lzxigwmf0qrbv";
+HighSchoolGeometry = "09n70n0sb1dxnss9xz7xj2z1070gzxs4ap1h0kjcrfkiqss11fpy";
+HigmanCF = "05qg4ci8bvd6s9nmj80imj3b9kfwy4xzfy8ckr5870505mkzxyxv";
+HigmanNW = "0i3mmyh20iib7pglalf4l2p62qyqa6w0mz557n53aa2zx6l0dw18";
+HigmanS = "1c9db1jrpwzqw0arsiljskx3pcxpc1flkdql87fn55lgypbfz5gk";
+HistoricalExamples = "16alm4cv9hj59jyn1rnmb1dnbwp488wpzbnkq6hrnl5drr78gx08";
+HoareTut = "1mazqhb0hclknnzbr4ka1aafkk36hl6n4vixkf5kfvyymr094d0a";
+Huffman = "1h14qdbmawjn9hw813hsywxz0az80nx620rr35mb9wg8hy4xw7jj";
+IEEE754 = "06xrpzg2q9x2bzm7h16k0czm56sgsdn1rxpdgcl44743q3mvpi5p";
+IPC = "1xcgrln8nn2h98qyqz36d0zszjs33kcclv9vamz8mc163agk6jxy";
+IZF = "12inbpihh35hbrh4prs93r4avxlgsj5019n7bndi4fgn09m839bm";
+Icharate = "0giak87mv7g0312i05r7v06wb8wmfkrd2ai54r4c80497f72d17l";
+IdxAssoc = "0gdaxnwyw8phi97izx0wfbpccql73yjdzqqygc4i6nfw4lwanx38";
+IntMap = "1zmlcqv2mz488vpxa6iwbi6sqcljkmb55mywb5pabjjwjj745jhx";
+JProver = "0vz07sclzx0izwm5klwmd0amxhzqly6aknh876vvh3033jp62ik0";
+JordanCurveTheorem = "0varv6ib4f0l3jjq71rafb071ivzcnyxjb5ri8bf6vbjl4fqr335";
+Karatsuba = "02190l3dl0k6qxi3djr2imy4h31kcr5kj94l2ys3xqg1kjjajcmj";
+Kildall = "0lbby3gd3pwivkhr6v8c73915cswmvh50nj3ch10f0zix8lsxrpa";
+LTL = "0bk4232pa6mkbmxjazknfbnmzh2pcjccr68dkf8a2ndd06yfaii1";
+Lambda = "1wy9r95acwf7srs54y5kgmgl9d48j8b871n4z26xpbhdi2pvv9a4";
+Lambek = "0f6nd3fsxsaij9wypwd3cxmgn3larkxg4xww9c0yvjqxpgc5s552";
+LesniewskiMereology = "11wgw93fxwnbvwmpnscvgg9caakhr3wbvqwzqkk1p8wfslpvf7pj";
+LinAlg = "0gl081rx0iikhaghjny3g04aaqgiv0wq6r6c34qpcr5jc6i40mdr";
+MapleMode = "0a50dx473mmg7ksmghbjqs2rg4334dqdd2rkydicw8fl406z19ab";
+Markov = "06aacr8ghycjm68r36hip4rjhwfnbz7az2k8pa92pakjm0am78lq";
+MathClasses = "1gj6dznlc2ma5b5qn9mlinavlrl4xq18dilzd0l9j8jrxfdk1q7n";
+Maths = "15qbv7dxj4ygmw38gnmyf2kwdmy75a21yf991c8lw6fzx334b4dv";
+Matrices = "1q3683xvsgjqlav6kfxx7y05lvr5gp60hpbx4ypwa0hsl6w14mn0";
+#Micromega = "0h2ybdlbdvy30l5kzkfvp5kwsf236fxd3xi87pl4pl3dzylzsbh4";
+MiniC = "1gg9jinay9i3jbsi8bbwxzr9584wycdadf02c5al5yv281ywjar0";
+MiniCompiler = "0yq0k8c0rp120pfssdwfpmz017vq2w8s0rzk9gls476gywjmdvgf";
+MiniML = "1fd4k6rzn5cr24d11dnyy9jp2wf3n8d8l7q7bxk94lbrj6lhrzw2";
+ModRed = "1khg29cm83npasxqlm13bv2w2kfkn9hrvf5q2wch9l1l4ghys4rk";
+Multiplier = "07bj7j4agq2cvhfbkwgrvg39jlzlj1mzlm0ykqjwljd7hi4f6yv9";
+MutualExclusion = "1j3fmf0zvnxg0yzj956jfpjqccnk9l2393q6as80a5gfqhlb3rcr";
+Nfix = "1mpn1fbx15naa2d5lbcxl88xsgp1p88xx4g94f8cjzhg6kdnz7cc";
+OrbStab = "06gg3d2f9qybs2c49mm7srzqx5r9dxail92bcxdi6lr0k74y75ml";
+OtwayRees = "1d39yxppnpzpn5yxdk6rinrgxwgsnr348cggyhwjmgyjm8mr9gcp";
+PAutomata = "0hlzvdi9kb291g36lgyy3vlpn7i8rphpwjisy3wh19j4yqqc7ddf";
+PTS = "12y9niiks4rzpvzzvgfwc1z37480c4l9nvsmh4wx6gsvpnjqvyl3";
+PTSATR = "10jsfbsdaiqrdgp9vnc84wwkxjyfin35kr1qckbax6599xgyk7vj";
+PTSF = "0yz7sh2d4ldcqblnvb96yyimsb4351qqjl8di1cy785mnxa1zfla";
+Paradoxes = "03b22vhkra038z3nfbv9wpbr63x984qyrfvrg58lwqq87s5kgv1d";
+ParamPi = "1p64yj2pqqvyx5b5xm0pv0pm9lqp7hc5hb3wjnwvzi3qchqf7hwi";
+PersistentUnionFind = "1ljdnsm6h3zfn43vla13ibx42kfvgmy6n9qyfn7cgkcw5yv4fh6m";
+PiCalc = "1af8ws86mqs55dldcpm7x4qhk11k0f8l88z2bv6hylfvy6fpbpiy";
+Pocklington = "18zx1ca3pn3vn763smmrnfi395007ddzicrr0cydrph6g4agdw3g";
+Presburger = "1n3nqrplgx1r2vvpcbp91l02c7zc297fkpsqgx1x1msqrldnac9y";
+Prfx = "1nyh134hlh6cdxpys9kv0ngiiibgigh2mifwf8rdz6aj6xj7dgyv";
+ProjectiveGeometry = "01x409rbh3rqxyz53v0kdixnqqv7b890va04a21862g8bml7ls6k";
+QArith = "0xvkw3d3kgiyw6b255f6zbkali1023a9wmn12ga3bgak24jsa8lg";
+QArithSternBrocot = "1kvzww76nxgq7b3b3v2wrjxaxskfrzk55zpg6mj1jjcpgydfqwjr";
+QuicksortComplexity = "0c5gj65rxnxydspc4jqq20c8v9mjbnjrkjkk220yxymbv5n3nqd1";
+RSA = "0b56ipivbbdwc0w7bp4v4lwl0fhhb73k2b62ybmb3x7alc599mc0";
+RailroadCrossing = "0z5cnw1d8jbg30lc9p1hsgrnjwjc4yhpxl74m2pcjscrrnr01zsf";
+Ramsey = "0sd3cihzfx7mn7wcsng15y4jqvp1ql49fy1ch997wfbchp6515ld";
+Random = "0b7gwz38fbk9j5sfa76c2n4781kcb18r65v9vzz8qigx37gm89w4";
+Rational = "0v1zjcf22ij9daxharmaavwp2msgl77y5ad46lskshpypd1ysrsc";
+RecursiveDefinition = "1y4gy2ksxkvmz16zrnblwd1axi7gdjw171n8xfw4f8400my1qhm0";
+ReflexiveFirstOrder = "156a6kmds25kc645w6kkhn3a4bvryp307b76ghz5m5wv2wsajgrn";
+RegExp = "0gya2kckr6325hykd12vwpbwwf7cf04yyjrr2dvmcc81dkygrwxb";
+RelationAlgebra = "1nrhkvypkk7k48gb18c2q9cwbgy02ldfg6s3j74f5rgff1i6c9in";
+RelationExtraction = "1g6hvmsfal17pppqf9v8zh2i1dph0lj5a1r3xiszqr4biiig09ch";
+ReleasedSsreflect = "17wirznfsizmw6gjb54vk9bp97a3bc1l2sb4gdxfbzvxmabx1a9l";
+Rem = "03559q60ibf4dr1np82341xfrw134d27dx8dim84q9fszr4gy8sx";
+RulerCompassGeometry = "02vm80xvvw22pdxrag3pv5zrhqf8726i9jqsiv4bnjqavj5z2hdr";
+SMC = "0ca3ar1y9nyj5147r18babqsbg2q2ywws8fdi91xb5z9m3i97nv1";
+Schroeder = "0mfbjmw4a48758k88yv01494wnywcp5yamkl394axvvbbna9h8b6";
+SearchTrees = "1jyps6ddm8klmxjm50p2j9i014ij7imy3229pwz3dkzg54gxzzxb";
+Semantics = "157db1y5zgxs9shl7rmqg89gxfa4cqxwlf6qys0jh3j0wsxs8580";
+Shuffle = "14v1m4s9k49w30xrnyncjzgqjcckiga8wd2vnnzy8axrwr9zq7iq";
+SquareMatrices = "07dlykg3w59crc54qqdqxq6hf8rmzvwwfr1g8z8v2l8h4yvfnhfl";
+Ssreflect = "07hv0ixv68d8vrpf9s6gxazxaz5fwpmhqrd6cqw7xp8m8gspxifz";
+Stalmarck = "0vcbkzappq1si4hxbnb9bjkfk82j3jklb8g8ia83h1mdhzr7xdpz";
+Streams = "1spcqnvwayahk12fd13vzh922ypzrjkcmws9gcy12qdqp04h8bnc";
+String = "1wy7g66yq9y8m8y3gq29q7whfdm98g3cj9jxm5yibdzfahfdzzni";
+Subst = "1wxscjhz2y2jv5rdga80ldx2kc954sklip4jsbsd2fim5gwxzl23";
+Sudoku = "0f9h8gwzrdzk5j76nhvlnvpll81zar3pk84r2bf1xfav4yvj8sj7";
+SumOfTwoSquare = "1lxf9wdmvpi0vz4d21p6v9h2vvkk9v8113mvr2cdxd0j43l4ra18";
+Tait = "0bwxl894isndwadbbc3664j51haj3c0i57zmmycnxmhnmsx5pnjj";
+TarskiGeometry = "1vkznrjla943wcyddzyq0pqraiklgn62n1720msxp7cs13ckzpy0";
+ThreeGap = "01nj27xs348126ynsnva1jnvk0nin61xzyi6hwcybj5n46r7nlcv";
+Topology = "1kchddfiksjnkvwdr2ffpqcvmqkd6gf359r09yngf340sa15p5wk";
+TortoiseHareAlgorithm = "1ldm1z48j59lxz60szpy64d0928j4fmygp5npfksvwkvghijchq8";
+TreeAutomata = "0jzfa6rxv7lw1nzrqaxv08h9mpyvc2g4cbdc09ncyhazincrix0z";
+TreeDiameter = "0xdansrbmxrwicvqjjr9ivgs0255nd4ic6jkfv37m1c10vxcjq2n";
+WeakUpTo = "1baaapciaqhyjx8bqa4l04l1vwycyy1bvjr2arrc9myqacifmnpp";
+ZChinese = "0v7gffmcj9yazbbssb2i2iha1dr82b4bl8df9g021s40da49k09k";
+ZF = "0am15lgpn127pzx6ghm76axy75w7m9a8wqa26msgkczjk4x497ni";
+ZFC = "0s11g9rzacng2xg9ygx9lxyqv2apxyirnf7cg3iz95531n46ppn2";
+ZSearchTrees = "1lh6jlzm53jnsg91aa60f6gir6bsx77hg8xwl24771jg8a9b9mcl";
+ZornsLemma = "0dxizjfjx4qsdwc60k6k9fnq8hj4m13vi0llsv9xk3lj3izhpil1";
+lazyPCF = "0wzpv41nv3gdd07g9pr7wydfjv1wxz8kylzmyn07ab38kahhhzh9";
+lc = "05zr0y2ivznmf1ijszq249v4rw6kvdx6jz4s2hhnaiqvx35g4cqg";
+}
diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix
new file mode 100644
index 00000000000..289a4d75921
--- /dev/null
+++ b/pkgs/development/coq-modules/contribs/default.nix
@@ -0,0 +1,261 @@
+contribs:
+
+let
+  mkContrib = import ./mk-contrib.nix;
+  all = import ./all.nix;
+  overrides = {
+    Additions = self: {
+      patchPhase = ''
+        for p in binary_strat dicho_strat generation log2_implementation shift
+        do
+          substituteInPlace $p.v \
+          --replace 'Require Import Euclid.' 'Require Import Coq.Arith.Euclid.'
+        done
+      '';
+    };
+    BDDs = self: {
+      buildInputs = self.buildInputs ++ [ contribs.IntMap ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../../Cachan/IntMap IntMap
+        32d30
+        < extraction
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+      postInstall = ''
+        mkdir -p $out/bin
+        cp extraction/dyade $out/bin
+      '';
+    };
+    CanonBDDs = self: {
+      patchPhase = ''
+        patch Make <<EOF
+        17d16
+        < rauzy/algorithme1/extraction
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+      postInstall = ''
+        mkdir -p $out/bin
+        cp rauzy/algorithme1/extraction/suresnes $out/bin
+      '';
+    };
+    CoinductiveReals = self: {
+      buildInputs = self.buildInputs ++ [ contribs.QArithSternBrocot ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../QArithSternBrocot QArithSternBrocot
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    CoRN = self: {
+      buildInputs = self.buildInputs ++ [ contribs.MathClasses ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../MathClasses/ MathClasses
+        EOF
+        coq_makefile -f Make -o Makefile.coq
+      '';
+      enableParallelBuilding = true;
+      installFlags = self.installFlags + " -f Makefile.coq";
+    };
+    Counting = self: {
+      postInstall = ''
+        for ext in cma cmxs
+        do
+          cp src/counting_plugin.$ext $out/lib/coq/8.4/user-contrib/Counting/
+        done
+      '';
+    };
+    Ergo = self: {
+      buildInputs = self.buildInputs ++ (with contribs; [ Containers Counting Nfix ]);
+      patchPhase = ''
+        patch Make <<EOF
+        4,9d3
+        < -I ../Containers/src
+        < -R ../Containers/theories Containers
+        < -I ../Nfix/src
+        < -R ../Nfix/theories Nfix
+        < -I ../Counting/src
+        < -R ../Counting/theories Counting
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    FingerTree = self: {
+      patchPhase = ''
+        patch Make <<EOF
+        21d20
+        < extraction
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    FOUnify = self: {
+      patchPhase = ''
+        patch Make <<EOF
+        8c8
+        < -custom "\$(CAMLOPTLINK) -pp '\$(CAMLBIN)\$(CAMLP4)o' -o unif unif.mli unif.ml main.ml" unif.ml unif
+        ---
+        > -custom "\$(CAMLOPTLINK) -pp 'camlp5o' -o unif unif.mli unif.ml main.ml" unif.ml unif
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+      postInstall = ''
+        mkdir -p $out/bin
+        cp unif $out/bin/
+      '';
+    };
+    Goedel = self: {
+      buildInputs = self.buildInputs ++ [ contribs.Pocklington ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../../Eindhoven/Pocklington Pocklington
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    Graphs = self: {
+      buildInputs = self.buildInputs ++ [ contribs.IntMap ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../../Cachan/IntMap IntMap
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+      postInstall = ''
+        mkdir -p $out/bin
+        cp checker $out/bin/
+      '';
+    };
+    IntMap = self: { configurePhase = "coq_makefile -f Make -o Makefile"; };
+    LinAlg = self: {
+      buildInputs = self.buildInputs ++ [ contribs.Algebra ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../../Sophia-Antipolis/Algebra/ Algebra
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    Markov = self: { configurePhase = "coq_makefile -o Makefile -R . Markov markov.v"; };
+    Nfix = self: {
+      postInstall = ''
+        for ext in cma cmxs
+        do
+          cp src/nfix_plugin.$ext $out/lib/coq/8.4/user-contrib/Nfix/
+        done
+      '';
+    };
+    OrbStab = self: {
+      buildInputs = self.buildInputs ++ (with contribs; [ LinAlg Algebra ]);
+      patchPhase = ''
+        patch Make <<EOF
+        2,3d1
+        < -R ../../Sophia-Antipolis/Algebra Algebra
+        < -R ../../Nijmegen/LinAlg LinAlg
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    PTSF = self: {
+      buildInputs = self.buildInputs ++ [ contribs.PTSATR ];
+      patchPhase = ''
+        patch Make <<EOF
+        1d0
+        < -R ../../Paris/PTSATR/ PTSATR
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    RelationExtraction = self: {
+      patchPhase = ''
+        patch Make <<EOF
+        31d30
+        < test
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    Semantics = self: {
+      patchPhase = ''
+        patch Make <<EOF
+        18a19
+        > interp.mli
+        EOF
+      '';
+      configurePhase = ''
+        coq_makefile -f Make -o Makefile
+        make extract_interpret.vo
+        rm -f str_little.ml.d
+      '';
+    };
+    SMC = self: {
+      buildInputs = self.buildInputs ++ [ contribs.IntMap ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../../Cachan/IntMap IntMap
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    Ssreflect = self: {
+      patchPhase = ''
+        substituteInPlace Makefile \
+        --replace "/bin/mkdir" "mkdir"
+      '';
+    };
+    Stalmarck = self: {
+      configurePhase = "coq_makefile -R . Stalmarck *.v staltac.ml4 > Makefile";
+    };
+    Topology = self: {
+      buildInputs = self.buildInputs ++ [ contribs.ZornsLemma ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../ZornsLemma ZornsLemma
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+    TreeAutomata = self: {
+      buildInputs = self.buildInputs ++ [ contribs.IntMap ];
+      patchPhase = ''
+        patch Make <<EOF
+        2d1
+        < -R ../../Cachan/IntMap IntMap
+        EOF
+        coq_makefile -f Make -o Makefile
+      '';
+    };
+  };
+in
+
+callPackage: extra:
+
+builtins.listToAttrs (
+map
+(name:
+  let
+    sha256 = builtins.getAttr name all;
+    override =
+      if builtins.hasAttr name overrides
+      then builtins.getAttr name overrides
+      else x: { };
+  in
+  {
+    inherit name;
+    value = callPackage (mkContrib { inherit name sha256 override; }) extra;
+  }
+)
+(builtins.attrNames all)
+)
diff --git a/pkgs/development/coq-modules/contribs/mk-contrib.nix b/pkgs/development/coq-modules/contribs/mk-contrib.nix
new file mode 100644
index 00000000000..12dd700a631
--- /dev/null
+++ b/pkgs/development/coq-modules/contribs/mk-contrib.nix
@@ -0,0 +1,30 @@
+{ name, sha256, override }:
+
+{ stdenv, fetchzip, coq }:
+
+let
+  self = {
+
+  name = "coq-contribs-${name}-${coq.coq-version}";
+
+  src = fetchzip {
+    url = "http://www.lix.polytechnique.fr/coq/pylons/contribs/files/${name}/v${coq.coq-version}/${name}.tar.gz";
+    inherit sha256;
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.lix.polytechnique.fr/coq/pylons/contribs/view/${name}/v${coq.coq-version}";
+    maintainers = with maintainers; [ vbgl ];
+    platforms = coq.meta.platforms;
+  };
+
+};
+
+in
+
+stdenv.mkDerivation (self // override self)
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
new file mode 100644
index 00000000000..b9939a2e7f4
--- /dev/null
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-ext-lib-${coq.coq-version}-${version}";
+  version = "c2c71a2a";
+
+  src = fetchgit {
+    url = git://github.com/coq-ext-lib/coq-ext-lib.git;
+    rev = "c2c71a2a90ac87f2ceb311a6da53a6796b916816";
+    sha256 = "01sihw3nmvvpc8viwyr01qnqifdcmlg016034xmrfmv863yp8c4g";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  enableParallelBuilding = true;
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/coq-ext-lib/coq-ext-lib;
+    description = "A collection of theories and plugins that may be useful in other Coq developments";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/coqeal/default.nix b/pkgs/development/coq-modules/coqeal/default.nix
new file mode 100644
index 00000000000..bfe83a74aae
--- /dev/null
+++ b/pkgs/development/coq-modules/coqeal/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchgit, coq, ssreflect, mathcomp}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-coqeal-${coq.coq-version}-${version}";
+  version = "7522037d";
+
+  src = fetchgit {
+    url = git://github.com/CoqEAL/CoqEAL.git;
+    rev = "7522037d5e01e651e705d782f4f91fc68c46866e";
+    sha256 = "1cvjz0yyqihdx1hp1h9x5x14kv9qf3rjhgqq4f7rv8bxcv9p1gv3";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ssreflect mathcomp ];
+  propagatedBuildInputs = [ coq ];
+
+  preConfigure = "cd theory";
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = http://www.maximedenes.fr/content/coqeal-coq-effective-algebra-library;
+    description = "A Coq library for effective algebra, by which is meant formally verified computer algebra algorithms that can be run inside Coq on concrete inputs";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/domains/darcs_context b/pkgs/development/coq-modules/domains/darcs_context
new file mode 100644
index 00000000000..5dac711c0c0
--- /dev/null
+++ b/pkgs/development/coq-modules/domains/darcs_context
@@ -0,0 +1,809 @@
+
+Context:
+
+[additional facts about limits on cuts
+robdockins@fastmail.fm**20140818025955
+ Ignore-this: 6f9c952db425df6ae9d2a14139a8a3d1
+] 
+
+[work on limits
+robdockins@fastmail.fm**20140817221707
+ Ignore-this: 9811e0cd669b48f3beb7a56d47cbe3c3
+] 
+
+[finish proving that Q field ops commute with injq
+robdockins@fastmail.fm**20140817060600
+ Ignore-this: a1f6c62b39983e6f6f01d28aca5f8534
+] 
+
+[split up realdom.v and perform associated code motion
+robdockins@fastmail.fm**20140817030034
+ Ignore-this: 24c74cd459d2ab15dcd3d83ba06f7081
+] 
+
+[recip is canonical and converges
+robdockins@fastmail.fm**20140725211947
+ Ignore-this: c100dbd94114cca9576b2a3f46c9ddc7
+] 
+
+[improve the proof that 1 is a unit for multiplication
+robdockins@fastmail.fm**20140724150124
+ Ignore-this: c5ec976f8a9858a7ba1f704b4e84d02e
+] 
+
+[complete proof the interval multiplication converges; other minor stuff
+robdockins@fastmail.fm**20140724015132
+ Ignore-this: bc717baa4c8f9ec31b821c5cfae5b499
+] 
+
+[further progress in realdom.v
+robdockins@fastmail.fm**20140723004023
+ Ignore-this: f33e18d22ae69c9b6209e28151d18017
+] 
+
+[unmessify rational_intervals patch
+robdockins@fastmail.fm**20140721123718
+ Ignore-this: 4a125b192a9964a508a1063845e9f160
+] 
+
+[messy updates to rational_intervals.v
+robdockins@fastmail.fm**20140721015810
+ Ignore-this: 858dac9c55426167c6f397a71ef3fda5
+] 
+
+[implicit arguments for "fixes"
+robdockins@fastmail.fm**20140721015739
+ Ignore-this: 229ecdd48265fc855319141e399bc522
+] 
+
+[metadata
+robdockins@fastmail.fm**20140714201441
+ Ignore-this: aa16faaf09c1c404bdc6eaf0d0c39912
+] 
+
+[further beautification
+robdockins@fastmail.fm**20140714200516
+ Ignore-this: 47d74c51d9fe130a5ac12706b1ddb1d4
+] 
+
+[start working on the recripricol function
+robdockins@fastmail.fm**20140714180055
+ Ignore-this: c7f93cea17f46daa78a1ea14e86dfcaf
+] 
+
+[tweaks to the lambda models
+robdockins@fastmail.fm**20140714180031
+ Ignore-this: 219788fe70f42f0f6e60176cab464f19
+] 
+
+[beauty edits in st_lam*
+robdockins@fastmail.fm**20140714180006
+ Ignore-this: a40aa7ae00ed27595ee04073918bd028
+] 
+
+[move stuff to rational_intervals.v / define real_mult and prove some properties
+robdockins@fastmail.fm**20140712053232
+ Ignore-this: 398c5c03aac9ff37526d4d7c9e1a82c0
+] 
+
+[finish correctness proof for interval multiplication
+robdockins@fastmail.fm**20140711191547
+ Ignore-this: c9ab138a0ca43fe0b133b208419bbcc4
+] 
+
+[break out facts about rational intervals
+robdockins@fastmail.fm**20140711012320
+ Ignore-this: b7fe6e9377629a89b5debe3019ae1aa
+] 
+
+[updates to ideal completion
+robdockins@fastmail.fm**20140707053800
+ Ignore-this: 90d1efbd0e5833d8c83f0df056d7a74c
+] 
+
+[a pile of additional properties in realdom.v
+robdockins@fastmail.fm**20140707053519
+ Ignore-this: 7edba1e72a1856f297ef11e698ed989f
+] 
+
+[some properties of converging prereals
+robdockins@fastmail.fm**20140706041401
+ Ignore-this: 273bfbb245302becd7ff402831827ffb
+] 
+
+[make realdom compile
+robdockins@fastmail.fm**20140630015439
+ Ignore-this: 8bfc8eaeed4a1596450b0bb9ddef9aaa
+] 
+
+[renaming
+robdockins@fastmail.fm**20140630011639
+ Ignore-this: a287e083af095790cbf2b48df7a58739
+] 
+
+[reorganize some code
+robdockins@fastmail.fm**20140630011446
+ Ignore-this: f1375b9e7ad822cb92f0c83d4001eddd
+] 
+
+[build the retract for realdom
+robdockins@fastmail.fm**20140630001245
+ Ignore-this: 4eb9da621588417d1b7b2fc980c7bf70
+] 
+
+[fill out lemmas about cPLT
+robdockins@fastmail.fm**20140630001140
+ Ignore-this: add9e45c14621e3d6328684098bf8461
+] 
+
+[more facts about cPLT
+robdockins@fastmail.fm**20140628073731
+ Ignore-this: 101a131ed114902924a1707eff7ebc70
+] 
+
+[continuous domains as retracts of bifinite domains
+robdockins@fastmail.fm**20140628035522
+ Ignore-this: 5e7c61d49cf8424412b0d94f5fcb5ee6
+] 
+
+[start implementing arithmetic operations in RealDom
+robdockins@fastmail.fm**20140620003249
+ Ignore-this: c28479b8a933cba263765bdddb112264
+] 
+
+[define the domain of rational intervals
+robdockins@fastmail.fm**20140619040809
+ Ignore-this: 6cbe1a9cc690e5a9d77f37ee299154b
+ this domain is useful for describing the semantics of exact real arithmetic.
+] 
+
+[show that every effective CUSL is Plotkin
+robdockins@fastmail.fm**20140619034433
+ Ignore-this: d529a4b1d6d698f79572caa805072394
+] 
+
+[fix notation for octothorpe
+robdockins@fastmail.fm**20140614222130
+ Ignore-this: 3dc815825f11ceaf4f4f53e4668e6382
+] 
+
+[fix for coq 8.4pl4
+robdockins@fastmail.fm**20140614222049
+ Ignore-this: 9745904845aaf54e5569df982fc93d65
+] 
+
+[move swelling lemma into finsets
+robdockins@fastmail.fm**20140504080535
+ Ignore-this: ffa560e9aa4e4f8b15a55c1f9b1da72e
+] 
+
+[documentation improvements and code motion
+robdockins@fastmail.fm**20140504070008
+ Ignore-this: da7847f82403990342732a8ce226315c
+] 
+
+[replace the old finprod
+robdockins@fastmail.fm**20140504005534
+ Ignore-this: 606cf44422f68d66c8d2d90049e67b93
+] 
+
+[remove the old finprod
+robdockins@fastmail.fm**20140504005137
+ Ignore-this: 38bd54e16c87d27bbede08496c37bfba
+] 
+
+[update st_lam_fix to use the new finprod
+robdockins@fastmail.fm**20140504003627
+ Ignore-this: 95d0a66e99ccead89bdfef09a1c8c109
+] 
+
+[update st_lam to use the new termmodel
+robdockins@fastmail.fm**20140503230854
+ Ignore-this: c3d6b2155674b414c5c2e14b85b13760
+] 
+
+[new version of finprod with a better term model
+robdockins@fastmail.fm**20140503222035
+ Ignore-this: db63e3a063bdb6f2f579644c7b63bd1b
+] 
+
+[a few more (hopefully final) lemmas about union
+robdockins@fastmail.fm**20140422223924
+ Ignore-this: 7b95c75abef9b0d45863b5e33d1c5a37
+] 
+
+[finish proofs about union
+robdockins@fastmail.fm**20140422065034
+ Ignore-this: 2929c3cdb013c028a48022b0293b2f18
+] 
+
+[powerdomain progress
+robdockins@fastmail.fm**20140421064325
+ Ignore-this: 592f9c6046f05a27897b460edb2efe10
+ Show that powerdomains are endofunctors on PLT.  Further, they are monads with
+ the 'singleton' and 'join' operations.  Also make some progress on the additive
+ portion of the theory, dealing with emptyset and union.
+] 
+
+[tweak makefile
+robdockins@fastmail.fm**20140420031337
+ Ignore-this: d5954b26f731bfed3d79cefacab322fb
+] 
+
+[show that semvalue is the weakest condition allowing beta-reduction of strict functions
+robdockins@fastmail.fm**20140420020447
+ Ignore-this: 16a7ed23f04879f1fb324bdac8a2ffaf
+] 
+
+[some additional operations relating to the PLT adjunction
+robdockins@fastmail.fm**20140420020351
+ Ignore-this: db8eec6e3f74cce3acb67d2b660b104e
+] 
+
+[finish building power domain fmap
+robdockins@fastmail.fm**20140420020217
+ Ignore-this: 556e1cb87576de36cb26f8add3a1b163
+] 
+
+[fix up st_lam.v
+robdockins@fastmail.fm**20140329015058
+ Ignore-this: 1c31d674b759fbd0cc74fb3125579f96
+] 
+
+[push some proofs into finprod
+robdockins@fastmail.fm**20140329000401
+ Ignore-this: 49070fdd951e49473e60d3cd0ec431c6
+] 
+
+[documentation and aesthetic changeds
+robdockins@fastmail.fm**20140327043141
+ Ignore-this: be27b24b78ea6af722a307117e59f5b3
+] 
+
+[finish the st_lam_fix example
+robdockins@fastmail.fm**20140322011153
+ Ignore-this: e702f564b6eab2f8c11ab16bcb62504b
+] 
+
+[clarafications re: countable choice; remove unfinished example from build order
+robdockins@fastmail.fm**20140321212852
+ Ignore-this: 2a9d5c79c05ba088e1815feab99a5f6c
+] 
+
+[break the "fixes" operator into a separate file and prove some facts about it
+robdockins@fastmail.fm**20140318013247
+ Ignore-this: 80c506cef0719a974a049a1f5870f676
+] 
+
+[minor fix to skiy.v
+robdockins@fastmail.fm**20140317054057
+ Ignore-this: ffef6fcaf5fa7f8cea80d2808caf4f4c
+] 
+
+[add the fixpoint operator; admit proofs
+robdockins@fastmail.fm**20140317044648
+ Ignore-this: 97ca18e980cdf46a9b40c8252badef14
+] 
+
+[remove the evaluation case for variables
+robdockins@fastmail.fm**20140317032932
+ Ignore-this: e46d634e735e5b21a18518a48777168d
+] 
+
+[start on STLC with fixpoints -- but without fixpoints for now 
+robdockins@fastmail.fm**20140317031953
+ Ignore-this: 3458bc18c73d967bef58418bc73e06cb
+] 
+
+[add the eliminator for booleans to st_lam; other additional utility lemmas
+robdockins@fastmail.fm**20140317031753
+ Ignore-this: 369dd375755cbd9ae5e3c969f3ef6ec
+] 
+
+[some minor code motion
+robdockins@fastmail.fm**20140228064927
+ Ignore-this: 804828472ddb0c5fafc72460fce8387b
+] 
+
+[plug final holes in st_lam and add to build order
+robdockins@fastmail.fm**20140228044729
+ Ignore-this: 3edc7f36bfa97775ba33ffa27c80df59
+] 
+
+[reduce st_lam.v to facts I believe about fresh variables
+robdockins@fastmail.fm**20140228010832
+ Ignore-this: bde3e73291ddd32337d6fb999e4b1c02
+] 
+
+[fix breakages
+robdockins@fastmail.fm**20140226073930
+ Ignore-this: 9be54f5255f8ed9d53a79260e9bdf565
+] 
+
+[more work on lambdas
+robdockins@fastmail.fm**20140226043753
+ Ignore-this: 7f7452670221e2643067a3c7cc180998
+] 
+
+[use new finprod implementation
+robdockins@fastmail.fm**20140226043700
+ Ignore-this: c9e05df5fcfd31254ed7318fe693490c
+] 
+
+[remove old finprod 
+robdockins@fastmail.fm**20140226043642
+ Ignore-this: 2705703a2c782da21a152fbb27c8a972
+] 
+
+[rearrange the interfact to finprod
+robdockins@fastmail.fm**20140226043541
+ Ignore-this: c44d7c478948f42b188eb8d06469abbf
+] 
+
+[fill remaining holes in finprod2
+robdockins@fastmail.fm**20140225205242
+ Ignore-this: 1eeb9b8beef92790c28918292f2a9cf4
+] 
+
+[rework some stuff dealing with semidecidable predicates
+robdockins@fastmail.fm**20140225092149
+ Ignore-this: 32b5ccb2927e08979ea92b9ef67c40f4
+] 
+
+[lots of work on alpha-congrunce in lambdas
+robdockins@fastmail.fm**20140225035601
+ Ignore-this: fbbec9dac4cb328ff4e0b25df646e0c7
+] 
+
+[terminate is universal in PLT
+robdockins@fastmail.fm**20140225035538
+ Ignore-this: abc6cd1a60578c435bf9ca596d8d0922
+] 
+
+[new attack on nominal finite products
+robdockins@fastmail.fm**20140225035516
+ Ignore-this: 3875e713acc6aa5193696612f3ede76d
+] 
+
+[push forward a little on lambdas
+robdockins@fastmail.fm**20140221095249
+ Ignore-this: c690a1b03075702e3fd84aac7e268211
+] 
+
+[update finprod for various changes
+robdockins@fastmail.fm**20140221095230
+ Ignore-this: a6d787930ed356ae2b0a003af1f4d44
+] 
+
+[better discrete cases lemma
+robdockins@fastmail.fm**20140219051301
+ Ignore-this: f0ec88e8207257e7657ced933cf687e7
+] 
+
+[start working on simply-typed lambdas
+robdockins@fastmail.fm**20140219051238
+ Ignore-this: 69bea345376ea39cd1addc0849a43077
+] 
+
+[more messing about with advanced category theory stuff
+robdockins@fastmail.fm**20140211095003
+ Ignore-this: 9cd3c9d961349e8797f109f716c5f678
+] 
+
+[minor rearrangements and code motion
+robdockins@fastmail.fm**20140211041724
+ Ignore-this: 642ad6f1395fde7ecd81e5a905fd5428
+] 
+
+[some basic bicategory theory
+robdockins@fastmail.fm**20140210083634
+ Ignore-this: f47a898fa045a397d3ee70e1512b8baa
+] 
+
+[even more notation futzing
+robdockins@fastmail.fm**20140209072416
+ Ignore-this: d2061652cb3e80f6994f567a9e677b32
+] 
+
+[additional notational futzing
+robdockins@fastmail.fm**20140209043308
+ Ignore-this: ac42cbbc94df227e6d5e70b96ae65fd3
+] 
+
+[futz around with notations, various other cleanup activities
+robdockins@fastmail.fm**20140209005551
+ Ignore-this: 3f41a52650aadd956ac490b62e59c1c3
+] 
+
+[complete adequacy for SKI+Y
+robdockins@fastmail.fm**20140206050414
+ Ignore-this: f730587ac7a42f3e35740976a1439f2e
+] 
+
+[minor changes in cpo
+robdockins@fastmail.fm**20140206014745
+ Ignore-this: 95244704faf1e6c336d62dc7912f9022
+] 
+
+[push through most of SKI+Y adequacy
+robdockins@fastmail.fm**20140205214805
+ Ignore-this: dc998ef45f2e919e9373bfa21a5ef8c7
+] 
+
+[major simplification of the adequacy proof for SKI
+robdockins@fastmail.fm**20140205185605
+ Ignore-this: f1f0dc46274db05f3393038dfe2775e2
+] 
+
+[push forward on SKI+Y
+robdockins@fastmail.fm**20140205044216
+ Ignore-this: daf255aa940b42c1c68ba947a356370d
+] 
+
+[continue futzing with the LR statement
+robdockins@fastmail.fm**20140203055601
+ Ignore-this: f5ef9f06d3b1a11d76317b52cec691ab
+] 
+
+[start pushing on adequacy for SKI+Y
+robdockins@fastmail.fm**20140202085948
+ Ignore-this: 956844809340fad0c13c19e9fa729b5c
+] 
+
+[mostly finish soundness for SKI+Y
+robdockins@fastmail.fm**20140202060633
+ Ignore-this: 4c75fd9eeefa1d6dad6866662abea0fd
+] 
+
+[start working on a CCL example
+robdockins@fastmail.fm**20140202020748
+ Ignore-this: 44c5d7854cc19b0f90414c2be6b3df68
+] 
+
+[make id(A) a parsing-only notation
+robdockins@fastmail.fm**20140202020724
+ Ignore-this: 68f51f754c0b89e2e815da47b901e4b1
+] 
+
+[the PLT adjunction is strong monodial
+robdockins@fastmail.fm**20140202020637
+ Ignore-this: 7b29b9a6a5e8efa07440c528ec12d7bd
+] 
+
+[fix my broken version of lfp and fixup proofs
+robdockins@fastmail.fm**20140202020615
+ Ignore-this: 3ac283481318622cbf38378e815a4f09
+] 
+
+[more work on SKI + Y
+robdockins@fastmail.fm**20140202020516
+ Ignore-this: d1f63e2ef610c6f93d03806c5426cfa5
+] 
+
+[start work on SKI + Y
+robdockins@fastmail.fm**20140201085039
+ Ignore-this: fb7a405830cf90526cddd8ce37f4da40
+] 
+
+[doc corrections
+robdockins@fastmail.fm**20140130015908
+ Ignore-this: bca4c04267bfdac8cb202651a0960d92
+] 
+
+[lots of additional inline documentation
+robdockins@fastmail.fm**20140129234834
+ Ignore-this: ab2c59add5514f44a898de1f0eece98b
+] 
+
+[powerdomains form continuous functors in EMBED
+robdockins@fastmail.fm**20140126234115
+ Ignore-this: d2ee08902f0bdb52efd7f7ce2c594469
+] 
+
+[complete the powerdomain constructions; build some operations
+robdockins@fastmail.fm**20140125225202
+ Ignore-this: 9c8f2632df05e84fc3794a338ff8720d
+] 
+
+[construct the basic powerdomains--still some holes left 
+robdockins@fastmail.fm**20140125064541
+ Ignore-this: c3206d2e1e925096b3e9ff49afacef2f
+] 
+
+[generalize the lfp construction to a generic chain_sup operation
+robdockins@fastmail.fm**20140124183103
+ Ignore-this: 4cc2c1011b9f79365dcb7c76784fbfa6
+] 
+
+[update makefile
+robdockins@fastmail.fm**20140124073734
+ Ignore-this: a0b7db8383262caa314c21b99e146222
+] 
+
+[new file for recursive lambda domains
+robdockins@fastmail.fm**20140124070023
+ Ignore-this: 300c02b4da83b6ebd734aa2ccb21cd2d
+] 
+
+[more lemmas about antistrict homs
+robdockins@fastmail.fm**20140124065953
+ Ignore-this: 483c7b350dc3cab59c8ff50e1ac73b8c
+] 
+
+[fix breakage related to implicit arguments
+robdockins@fastmail.fm**20140124065805
+ Ignore-this: 561693d3280851299c6a49a2a34546b3
+] 
+
+[notation tweaks in cpo.v
+robdockins@fastmail.fm**20140124053800
+ Ignore-this: 83e92d8c14568448074a940ceafbe2c9
+] 
+
+[add if/then/else to the SKI system
+robdockins@fastmail.fm**20140124023630
+ Ignore-this: 37a9737932a05393a6338380226ca346
+] 
+
+[case analysis for finite types
+robdockins@fastmail.fm**20140124012505
+ Ignore-this: 6ec1076b2a74f5832501a105a28a6dba
+] 
+
+[finish adequacy proof for SKI
+robdockins@fastmail.fm**20140123211322
+ Ignore-this: 1fe3e626e33431c27e2aa186b3bf91d2
+] 
+
+[additional lemmas about domains
+robdockins@fastmail.fm**20140123090037
+ Ignore-this: fcad2dd816f805b8b5e7d1be3df60db8
+] 
+
+[most of a proof of adequacy for SKI
+robdockins@fastmail.fm**20140123085839
+ Ignore-this: d1595c02a6387297018e7f316a3e751
+] 
+
+[more work on finite products
+robdockins@fastmail.fm**20140121061158
+ Ignore-this: c2f8212e041478104dd4c81c225b42d5
+] 
+
+[begin work on a more flexible "finprod" domain
+robdockins@fastmail.fm**20140119021653
+ Ignore-this: 249718a2c31964733171b21c84d2effb
+] 
+
+[mess with implicit arguments in categories.v
+robdockins@fastmail.fm**20140113041450
+ Ignore-this: 314cad9207f706e949bd686aaa5c5e1b
+] 
+
+[products for CPO, uniformity of lfp
+robdockins@fastmail.fm**20140113041421
+ Ignore-this: e533abe995e634c732a35e71d66ddb6a
+] 
+
+[define the LFP in pointed CPOs, prove the Scott induction principle
+robdockins@fastmail.fm**20140112231843
+ Ignore-this: 2014174b1c6914bef376d614f34d073f
+] 
+
+[build the forgetful functor from EMBED to PLT
+robdockins@fastmail.fm**20140110014909
+ Ignore-this: 1dacbfc0383e48f4ab35fe0a5fd11cec
+] 
+
+[notation changes, prove sum_cases and curry preserve order and equality
+robdockins@fastmail.fm**20140110014820
+ Ignore-this: d1c6a1d0346a9eba14f3529ac30b5e2f
+] 
+
+[prove addl facts about pairs, tweak implicit arguments
+robdockins@fastmail.fm**20140110010319
+ Ignore-this: 9f0af8abc268b2b22d8b5450d6a4136
+] 
+
+[make 'ob' a coercion
+robdockins@fastmail.fm**20140110010204
+ Ignore-this: 467c0b0a8b086a7f44bf98875a4380d6
+] 
+
+[copyright notices
+robdockins@fastmail.fm**20140106232333
+ Ignore-this: f59bafa0ec99e259bd9b4319f2cdbc67
+] 
+
+[add ord_dec coercion
+robdockins@fastmail.fm**20140104052750
+ Ignore-this: 4ed1cacfd27979f0fe518862be5ac27c
+] 
+
+[define the model for CBV lambda calculus
+robdockins@fastmail.fm**20140104050626
+ Ignore-this: 88ca796d4697bfebb044d3fae27d6129
+] 
+
+[proof a fixpoint lemma for unpointed domains
+robdockins@fastmail.fm**20140103231818
+ Ignore-this: 4939eb02d09b6a4eecf145c887c64393
+] 
+
+[prove that the adjoint functors between PLT and PPLT extend to continuous functors in EMBED
+robdockins@fastmail.fm**20140103000915
+ Ignore-this: 54da0101f581731ebe512ed514e0603e
+] 
+
+[notation changes for PLT
+robdockins@fastmail.fm**20140102234446
+ Ignore-this: ad1f82f22d1bf0e057f11c3508a81716
+] 
+
+[move embeddings into their own file; pull TPLT and PPLT into profinite.v
+robdockins@fastmail.fm**20140102234424
+ Ignore-this: 3704996af47ae32415ba3e539d67cf5c
+] 
+
+[Show that PLT is cocartesian; rearrange proof that EMBED(true) is terminated
+robdockins@fastmail.fm**20140102213805
+ Ignore-this: 3470df6910e7a3e4bda478c0c6ecea62
+] 
+
+[remove unnecessary "inh" hypothesis in the definition of Plotkin order; fixup the fallout
+robdockins@fastmail.fm**20140102213646
+ Ignore-this: b6a5ad59296f938b377d71852120d48b
+] 
+
+[move proofs that empty and unit preorders are effective plotkin
+robdockins@fastmail.fm**20140102205530
+ Ignore-this: 7324843510fd938d356aa82003c9ec68
+] 
+
+[make epi/mono/iso morphisms into categories
+robdockins@fastmail.fm**20131228082442
+ Ignore-this: ee75a2b6eb1f3d6fa47f17d6734e5015
+] 
+
+[define the cocartesian and distributive categories
+robdockins@fastmail.fm**20131226001612
+ Ignore-this: 11e9d8a88bef42bcb800b31d85d28d16
+] 
+
+[remove uses of maximally implict arguments
+robdockins@fastmail.fm**20131226001536
+ Ignore-this: c0d93a5398aea58cbcc4fbbca3b59b17
+] 
+
+[fixpoints and binary sums for NOMINAL
+robdockins@fastmail.fm**20131121092931
+ Ignore-this: 8a660dfe2ab16a8208ae559dcf2b7ed0
+] 
+
+[modify bilimit.v to use the general construction from cont_functors.v
+robdockins@fastmail.fm**20131120075848
+ Ignore-this: 17ea36107ade1646eab5c99aec3561a9
+] 
+
+[generic fixpoint construction for categories with initial objects and directed colimits
+robdockins@fastmail.fm**20131119092522
+ Ignore-this: 25674dff855a1cecdb4ee919f8bf3a5d
+] 
+
+[remove some irritating unit parameters, fix doc typos
+robdockins@fastmail.fm**20131118093204
+ Ignore-this: 38342d58567d8a13471620d5b7c2b7d4
+] 
+
+[improvements to categories; complete some constructions in nominal
+robdockins@fastmail.fm**20131118085737
+ Ignore-this: e58cb49a01d0210dabdb021250910adb
+] 
+
+[build fixes
+robdockins@fastmail.fm**20131113004305
+ Ignore-this: 5abffcd1d6b44f816749c5e0cfd5b6e9
+] 
+
+[Documentation additions
+robdockins@fastmail.fm**20131113004254
+ Ignore-this: 79a913d3a8652866f3fdc64891f6304d
+] 
+
+[lots of inline documentation additions
+robdockins@fastmail.fm**20131112192736
+ Ignore-this: 6aa38112c10ceed3bf43e35dbda98312
+] 
+
+[update makefiles
+robdockins@fastmail.fm**20131112192706
+ Ignore-this: d834beaa532cdf994cfa0a0b5a562e4f
+] 
+
+[continuous functors for binary sum and products
+robdockins@fastmail.fm**20131112192605
+ Ignore-this: 61520e6e315df909465a02f854816366
+] 
+
+[add the category of nominal types
+robdockins@fastmail.fm**20131112192520
+ Ignore-this: f0351c5eb0bdacdfe192a6863d9c0bc6
+] 
+
+[split the proof that expF is a continuous functor into a separate file; rearrange some defintions
+robdockins@fastmail.fm**20130924013328
+ Ignore-this: 4eacee37bb6474d1bdfffe416b98b4c1
+] 
+
+[rearrange definitions of continuous functors. Prove enough plumbing to build the model: D = D->D
+robdockins@fastmail.fm**20130924002837
+ Ignore-this: a66f9e8833601e244048b70e8bfaab96
+] 
+
+[show that the function space is a continuous functor; other junk
+robdockins@fastmail.fm**20130923060521
+ Ignore-this: d8f406450688c633ebc1fe1eb0343c91
+] 
+
+[some name changes, other cosmetic fixes
+robdockins@fastmail.fm**20130909043234
+ Ignore-this: cdd24d1c96a34fb3573c1806153df9fb
+] 
+
+[additional cosmetic changes and rearrangements
+robdockins@fastmail.fm**20130909020137
+ Ignore-this: 77d28bc9452f6c93915194033118dab7
+] 
+
+[reorganize profinite code
+robdockins@fastmail.fm**20130909011437
+ Ignore-this: 8511bf92ca6998ff8c69d5537624bdb8
+] 
+
+[cosmetic changes
+robdockins@fastmail.fm**20130908183909
+ Ignore-this: e19039701e58fd26ca4eab79d7b49d14
+] 
+
+[complete the bilimit construction, show how to take fixpoints of continuous functors
+robdockins@fastmail.fm**20130908175228
+ Ignore-this: 82feab8fdc0c944f13d91605c6a8e571
+] 
+
+[find a MUCH easier path to a bilimit construction
+robdockins@fastmail.fm**20130907012151
+ Ignore-this: fcc72ad140b045ef37e4b03ad38a8fb0
+] 
+
+[lots of progress, mostly on defining bilimits
+robdockins@fastmail.fm**20130905204959
+ Ignore-this: abf4bcf03a49fa009f9fb2200ee3abf2
+] 
+
+[start working on the theory of finite preorders, which form a basis for plokin orders
+robdockins@fastmail.fm**20130812054451
+ Ignore-this: 5be36257a8fdf486bcc31f587d93c457
+] 
+
+[parameterize plotkin orders, build category PPLT
+robdockins@fastmail.fm**20130811063623
+ Ignore-this: 3f273841bc72098acee0fd618627dbd5
+] 
+
+[complete the details showing PLT is cartesian closed
+robdockins@fastmail.fm**20130809230336
+ Ignore-this: 13fd1b5a8172dd263cf655421f7584f7
+] 
+
+[add files missed in the first import
+robdockins@fastmail.fm**20130809080742
+ Ignore-this: 6b59cce866a486d70559f7c80fe99053
+] 
+
+[initial import of development
+robdockins@fastmail.fm**20130809080409
+ Ignore-this: 44cb5a0df2f1643d289f07dcd4227cbf
+ First major steps toward a fully effective and usable formalized
+ domain theory.  We formalize the plotkin preorders and show that
+ they form a cartesian closed category.
+] 
diff --git a/pkgs/development/coq-modules/domains/default.nix b/pkgs/development/coq-modules/domains/default.nix
new file mode 100644
index 00000000000..975260c839b
--- /dev/null
+++ b/pkgs/development/coq-modules/domains/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchdarcs, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-domains-${coq.coq-version}-${version}";
+  version = "ce1a9806";
+
+  src = fetchdarcs {
+    url = http://hub.darcs.net/rdockins/domains;
+    context = ./darcs_context;
+    sha256 = "0zdqiw08b453i8gdxwbk7nia2dv2r3pncmxsvgr0kva7f3dn1rnc";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = http://rwd.rdockins.name/domains/;
+    description = "A Coq library for domain theory";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/fiat/default.nix b/pkgs/development/coq-modules/fiat/default.nix
new file mode 100644
index 00000000000..9f020de1534
--- /dev/null
+++ b/pkgs/development/coq-modules/fiat/default.nix
@@ -0,0 +1,41 @@
+{stdenv, fetchurl, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-fiat-${coq.coq-version}-${version}";
+  version = "20141031";
+
+  src = fetchurl {
+    url = "http://plv.csail.mit.edu/fiat/releases/fiat-${version}.tar.gz";
+    sha256 = "0c5jrcgbpdj0gfzg2q4naqw7frf0xxs1f451fnic6airvpaj0d55";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  enableParallelBuilding = true;
+  doCheck = true;
+
+  unpackPhase = ''
+    mkdir fiat
+    cd fiat
+    tar xvzf ${src}
+  '';
+
+  buildPhase = "make -j$NIX_BUILD_CORES sources";
+  checkPhase = "make -j$NIX_BUILD_CORES examples";
+
+  installPhase = ''
+    COQLIB=$out/lib/coq/${coq.coq-version}/
+    mkdir -p $COQLIB/user-contrib/Fiat
+    cp -pR src/* $COQLIB/user-contrib/Fiat
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://plv.csail.mit.edu/fiat/;
+    description = "Fiat is a library for the Coq proof assistant for synthesizing efficient correct-by-construction programs from declarative specifications";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix
new file mode 100644
index 00000000000..89555c2e13d
--- /dev/null
+++ b/pkgs/development/coq-modules/flocq/default.nix
@@ -0,0 +1,34 @@
+{stdenv, bash, which, autoconf, automake, fetchurl, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-flocq-${coq.coq-version}-${version}";
+  version = "2.4.0";
+
+  src = fetchurl {
+    url = https://gforge.inria.fr/frs/download.php/file/33979/flocq-2.4.0.tar.gz;
+    sha256 = "020x4nkkrvndkvp5zwb9vads8a2jh603khcwrm40yhqldgfd8zlv";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 bash which autoconf automake ];
+  propagatedBuildInputs = [ coq ];
+
+  buildPhase = ''
+    ${bash}/bin/bash autogen.sh
+    ${bash}/bin/bash configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Flocq
+    ./remake
+  '';
+
+  installPhase = ''
+    ./remake install
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://flocq.gforge.inria.fr/;
+    description = "Flocq (Floats for Coq) is a floating-point formalization for the Coq system";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/heq/default.nix b/pkgs/development/coq-modules/heq/default.nix
new file mode 100644
index 00000000000..5f31fe6dc34
--- /dev/null
+++ b/pkgs/development/coq-modules/heq/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, coq, unzip}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-heq-${coq.coq-version}-${version}";
+  version = "0.92";
+
+  src = fetchurl {
+    url = "https://www.mpi-sws.org/~gil/Heq/download/Heq-${version}.zip";
+    sha256 = "03y71c4qs6cmy3s2hjs05g7pcgk9sqma6flj15394yyxbvr9is1p";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  propagatedBuildInputs = [ coq ];
+
+  preBuild = "cd src";
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}";
+
+  meta = with stdenv.lib; {
+    homepage = https://www.mpi-sws.org/~gil/Heq/;
+    description = "Heq : a Coq library for Heterogeneous Equality";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix
new file mode 100644
index 00000000000..36533ab35d5
--- /dev/null
+++ b/pkgs/development/coq-modules/interval/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, which, coq, flocq, mathcomp }:
+
+stdenv.mkDerivation {
+  name = "coq-interval-${coq.coq-version}-2.0.0";
+
+  src = fetchurl {
+    url = https://gforge.inria.fr/frs/download.php/file/34294/interval-2.0.0.tar.gz;
+    sha256 = "0wx0z07nhx88hwl20icgb5w4mx6s5pn7mhzyx5jn8f7yl1m46ad2";
+  };
+
+  nativeBuildInputs = [ which ];
+  buildInputs = [ coq ];
+  propagatedBuildInputs = [ flocq mathcomp ];
+
+  configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Interval";
+  buildPhase = "./remake";
+  installPhase = "./remake install";
+
+  meta = with stdenv.lib; {
+    homepage = http://coq-interval.gforge.inria.fr/;
+    description = "Tactics for simplifying the proofs of inequalities on expressions of real numbers for the Coq proof assistant";
+    license = licenses.cecill-c;
+    maintainers = with maintainers; [ vbgl ];
+    platforms = coq.meta.platforms;
+  };
+}
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
new file mode 100644
index 00000000000..02d06edd538
--- /dev/null
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, coq, ssreflect}:
+
+stdenv.mkDerivation {
+
+  name = "coq-mathcomp-1.5";
+
+  src = fetchurl {
+    url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.5.tar.gz;
+    sha256 = "1297svwi18blrlyd8vsqilar2h5nfixlvlifdkbx47aljq4m5bam";
+  };
+
+  propagatedBuildInputs = [ coq ssreflect ];
+
+  enableParallelBuilding = true;
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = http://ssr.msr-inria.inria.fr/;
+    license = licenses.cecill-b;
+    maintainers = [ maintainers.vbgl maintainers.jwiegley ];
+    platforms = coq.meta.platforms;
+    hydraPlatforms = [];
+  };
+
+}
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
new file mode 100644
index 00000000000..c885d14aa3f
--- /dev/null
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, coq, unzip}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-paco-${coq.coq-version}-${version}";
+  version = "1.2.7";
+
+  src = fetchurl {
+    url = "http://plv.mpi-sws.org/paco/paco-${version}.zip";
+    sha256 = "010fs74c0cmb9sz5dmrgzg4pmb2mgwia4gm0g9l7j2fq5xxcschb";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  propagatedBuildInputs = [ coq ];
+
+  preBuild = "cd src";
+
+  installPhase = ''
+    COQLIB=$out/lib/coq/${coq.coq-version}/
+    mkdir -p $COQLIB/user-contrib/Paco
+    cp -pR *.vo $COQLIB/user-contrib/Paco
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://plv.mpi-sws.org/paco/;
+    description = "Paco is a Coq library implementing parameterized coinduction";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
new file mode 100644
index 00000000000..75112ec9663
--- /dev/null
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl, coq}:
+
+assert coq.coq-version == "8.4";
+
+stdenv.mkDerivation {
+
+  name = "coq-ssreflect-1.5";
+
+  src = fetchurl {
+    url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.tar.gz;
+    sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  enableParallelBuilding = true;
+
+  patchPhase = ''
+    # Permit building of the ssrcoq statically-bound executable
+    sed -i 's/^#-custom/-custom/' Make
+    sed -i 's/^#SSRCOQ/SSRCOQ/' Make
+  '';
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  postInstall = ''
+    mkdir -p $out/bin
+    cp -p bin/ssrcoq $out/bin
+    cp -p bin/ssrcoq.byte $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://ssr.msr-inria.inria.fr/;
+    license = licenses.cecill-b;
+    maintainers = with maintainers; [ vbgl jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix
new file mode 100644
index 00000000000..e47ffbdd456
--- /dev/null
+++ b/pkgs/development/coq-modules/tlc/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchsvn, coq}:
+
+stdenv.mkDerivation {
+
+  name = "coq-tlc-${coq.coq-version}";
+
+  src = fetchsvn {
+    url = svn://scm.gforge.inria.fr/svn/tlc/branches/v3.1;
+    rev = 240;
+    sha256 = "0mjnb6n9wzb13y2ix9cvd6irzd9d2gj8dcm2x71wgan0jcskxadm";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  installPhase = ''
+    COQLIB=$out/lib/coq/${coq.coq-version}/
+    mkdir -p $COQLIB/user-contrib/Tlc
+    cp -p *.vo $COQLIB/user-contrib/Tlc
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.chargueraud.org/softs/tlc/;
+    description = "TLC is a general purpose Coq library that provides an alternative to Coq's standard library";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/unimath/default.nix b/pkgs/development/coq-modules/unimath/default.nix
new file mode 100644
index 00000000000..e16156dec53
--- /dev/null
+++ b/pkgs/development/coq-modules/unimath/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-unimath-${coq.coq-version}-${version}";
+  version = "a2714eca";
+
+  src = fetchgit {
+    url = git://github.com/UniMath/UniMath.git;
+    rev = "a2714eca29444a595cd280ea961ec33d17712009";
+    sha256 = "0brhbslx4sxl8m9nxjbdl91gi99vcrikykl6b00f4cx5ww43csln";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/UniMath/UniMath;
+    description = "UniMath aims to formalize a substantial body of mathematics using the univalent point of view.";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/ynot/default.nix b/pkgs/development/coq-modules/ynot/default.nix
new file mode 100644
index 00000000000..555945068b1
--- /dev/null
+++ b/pkgs/development/coq-modules/ynot/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-ynot-${coq.coq-version}-${version}";
+  version = "ce1a9806";
+
+  src = fetchgit {
+    url = git://github.com/Ptival/ynot.git;
+    rev = "ce1a9806c26ffc6e7def41da50a9aac1433cb2f8";
+    sha256 = "1pcmcl5zamiimkcg1xvynxnfbv439y02vg1mnz79hqq9mnjyfnpw";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  preBuild = "cd src";
+
+  installPhase = ''
+    COQLIB=$out/lib/coq/${coq.coq-version}/
+    mkdir -p $COQLIB/user-contrib/Ynot
+    cp -pR coq/*.vo $COQLIB/user-contrib/Ynot
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://ynot.cs.harvard.edu/;
+    description = "Ynot is a library for writing and verifying imperative programs";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/eclipse/ecj/default.nix b/pkgs/development/eclipse/ecj/default.nix
index 0f52e879863..19ec3a3a2fb 100644
--- a/pkgs/development/eclipse/ecj/default.nix
+++ b/pkgs/development/eclipse/ecj/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.eclipse.org/jdt/core/index.php;
 
     # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
-    license = "EPLv1.0";
+    license = stdenv.lib.licenses.epl10;
 
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
new file mode 100644
index 00000000000..8fed5a55be0
--- /dev/null
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -0,0 +1,88 @@
+{ go }:
+
+{ name, buildInputs ? []
+
+# Go import path of the package
+, goPackagePath
+
+, meta ? {}, ... } @ args:
+
+go.stdenv.mkDerivation ( args // {
+  name = "go${go.meta.branch}-${name}";
+  buildInputs = [ go ] ++ buildInputs;
+
+  configurePhase = args.configurePhase or ''
+    runHook preConfigure
+
+    cd "$NIX_BUILD_TOP"
+    mkdir -p "go/src/$(dirname "$goPackagePath")"
+    mv "$sourceRoot" "go/src/$goPackagePath"
+
+    GOPATH=$NIX_BUILD_TOP/go:$GOPATH
+
+    runHook postConfigure
+  '';
+
+  buildPhase = args.buildPhase or ''
+    runHook preBuild
+
+    if [ -n "$subPackages" ] ; then
+	for p in $subPackages ; do
+            go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $goPackagePath/$p
+	done
+    else
+	find . -type d | while read d; do
+            for i in $d/*.go; do
+                go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $d
+                break
+	    done
+	done
+    fi
+
+    runHook postBuild
+  '';
+
+  checkPhase = args.checkPhase or ''
+    runHook preCheck
+
+    if [ -n "$subPackages" ] ; then
+	for p in $subPackages ; do
+            go test -p $NIX_BUILD_CORES -v $goPackagePath/$p
+	done
+    else
+	find . -type d | while read d; do
+            for i in $d/*_test.go; do
+                go test -p $NIX_BUILD_CORES -v $d
+                break
+	    done
+	done
+    fi
+
+    runHook postCheck
+  '';
+
+  installPhase = args.installPhase or ''
+    runHook preInstall
+
+    mkdir $out
+
+    if [ -z "$dontInstallSrc" ]; then
+        local dir
+        for d in pkg src; do
+            mkdir -p $out/share/go
+            dir="$NIX_BUILD_TOP/go/$d"
+            [ -e "$dir" ] && cp -r $dir $out/share/go
+        done
+    fi
+
+    dir="$NIX_BUILD_TOP/go/bin"
+    [ -e "$dir" ] && cp -r $dir $out
+
+    runHook postInstall
+  '';
+
+  meta = meta // {
+    # add an extra maintainer to every package
+    maintainers = (meta.maintainers or []) ++ [ go.stdenv.lib.maintainers.emery ];
+  };
+})
diff --git a/pkgs/development/guile-modules/guile-cairo/default.nix b/pkgs/development/guile-modules/guile-cairo/default.nix
index 7617e5fb1cd..4a1111d5f6e 100644
--- a/pkgs/development/guile-modules/guile-cairo/default.nix
+++ b/pkgs/development/guile-modules/guile-cairo/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://home.gna.org/guile-cairo/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/guile-modules/guile-gnome/default.nix b/pkgs/development/guile-modules/guile-gnome/default.nix
index 90012bb3ddd..e2392773de7 100644
--- a/pkgs/development/guile-modules/guile-gnome/default.nix
+++ b/pkgs/development/guile-modules/guile-gnome/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/guile-modules/guile-lib/default.nix b/pkgs/development/guile-modules/guile-lib/default.nix
index 2f77c273af7..10d98dbf7c3 100644
--- a/pkgs/development/guile-modules/guile-lib/default.nix
+++ b/pkgs/development/guile-modules/guile-lib/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, guile, texinfo}:
 
-assert stdenv ? gcc && stdenv.gcc ? gcc && stdenv.gcc.gcc != null;
+assert stdenv ? cc && stdenv.cc.cc.isGNU or false;
 
 stdenv.mkDerivation rec {
   name = "guile-lib-0.2.2";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   preCheck =
     # Make `libgcc_s.so' visible for `pthread_cancel'.
-    '' export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib*/libgcc_s.so)):$LD_LIBRARY_PATH"
+    '' export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.cc.cc}/lib*/libgcc_s.so)):$LD_LIBRARY_PATH"
     '';
 
   meta = {
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.nongnu.org/guile-lib/;
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/guile-modules/guile-ncurses/default.nix b/pkgs/development/guile-modules/guile-ncurses/default.nix
index 175c656859e..f6b946dfd4c 100644
--- a/pkgs/development/guile-modules/guile-ncurses/default.nix
+++ b/pkgs/development/guile-modules/guile-ncurses/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.lgpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/guile-modules/guile-opengl/default.nix b/pkgs/development/guile-modules/guile-opengl/default.nix
new file mode 100644
index 00000000000..4d608f4caa9
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-opengl/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, guile }:
+
+stdenv.mkDerivation rec {
+  name = "guile-opengl-0.1.0";
+
+  meta = with stdenv.lib; {
+    description = "Guile binding for the OpenGL graphics API";
+    homepage    = "http://gnu.org/s/guile-opengl";
+    license     = licenses.gpl3Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://gnu/guile-opengl/${name}.tar.gz";
+    sha256 = "13qfx4xh8baryxqrv986l848ygd0piqwm6s2s90pxk9c0m9vklim";
+  };
+
+  nativeBuildInputs = [ pkgconfig guile ];
+}
diff --git a/pkgs/development/guile-modules/guile-sdl/default.nix b/pkgs/development/guile-modules/guile-sdl/default.nix
new file mode 100644
index 00000000000..8c1706be583
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-sdl/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, guile, buildEnv
+, SDL, SDL_image, SDL_ttf, SDL_mixer
+}:
+
+stdenv.mkDerivation rec {
+  name = "guile-sdl-0.5.1";
+
+  meta = with stdenv.lib; {
+    description = "Guile bindings for SDL";
+    homepage    = "http://gnu.org/s/guile-sdl";
+    license     = licenses.gpl3Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://gnu/guile-sdl/${name}.tar.xz";
+    sha256 = "126n4rd0ydh6i2s11ari5k85iivradlf12zq13b34shf9k1wn5am";
+  };
+
+  nativeBuildInputs = [ guile ];
+
+  buildInputs = [
+    SDL SDL_image SDL_ttf SDL_mixer
+  ];
+
+  GUILE_AUTO_COMPILE = 0;
+
+  makeFlags = let
+    sdl = buildEnv {
+      name = "sdl-env";
+      paths = buildInputs;
+    };
+  in "SDLMINUSI=-I${sdl}/include/SDL";
+}
diff --git a/pkgs/development/haskell-modules/compat-layer.nix b/pkgs/development/haskell-modules/compat-layer.nix
new file mode 100644
index 00000000000..badbb354655
--- /dev/null
+++ b/pkgs/development/haskell-modules/compat-layer.nix
@@ -0,0 +1,3846 @@
+/* compat-layer.nix maps new Haskell attribute names to the camel-case
+   versions we used to have before. */
+
+self: super: {
+
+  "3dGraphicsExamples" = self."3d-graphics-examples";
+  "abcPuzzle" = self."abc-puzzle";
+  "AbortTMonadstf" = self."AbortT-monadstf";
+  "AbortTMtl" = self."AbortT-mtl";
+  "AbortTTransformers" = self."AbortT-transformers";
+  "abstractDeque" = self."abstract-deque";
+  "abstractDequeTests" = self."abstract-deque-tests";
+  "abstractParAccelerate" = self."abstract-par-accelerate";
+  "abstractPar" = self."abstract-par";
+  "ACAngle" = self."AC-Angle";
+  "ACBoolean" = self."AC-Boolean";
+  "ACBuildPlatform" = self."AC-BuildPlatform";
+  "accelerateArithmetic" = self."accelerate-arithmetic";
+  "accelerateCublas" = self."accelerate-cublas";
+  "accelerateCuda" = self."accelerate-cuda";
+  "accelerateCufft" = self."accelerate-cufft";
+  "accelerateExamples" = self."accelerate-examples";
+  "accelerateFft" = self."accelerate-fft";
+  "accelerateFftw" = self."accelerate-fftw";
+  "accelerateFourierBenchmark" = self."accelerate-fourier-benchmark";
+  "accelerateFourier" = self."accelerate-fourier";
+  "accelerateIo" = self."accelerate-io";
+  "accelerateUtility" = self."accelerate-utility";
+  "accessTime" = self."access-time";
+  "ACColour" = self."AC-Colour";
+  "ACEasyRasterGTK" = self."AC-EasyRaster-GTK";
+  "ACHalfInteger" = self."AC-HalfInteger";
+  "acidState" = self."acid-state";
+  "acidStateTls" = self."acid-state-tls";
+  "acMachineConduit" = self."ac-machine-conduit";
+  "acMachine" = self."ac-machine";
+  "acmeCadre" = self."acme-cadre";
+  "acmeCofunctor" = self."acme-cofunctor";
+  "acmeColosson" = self."acme-colosson";
+  "acmeComonad" = self."acme-comonad";
+  "acmeCutegirl" = self."acme-cutegirl";
+  "acmeDont" = self."acme-dont";
+  "acmeHq9plus" = self."acme-hq9plus";
+  "acmeHttp" = self."acme-http";
+  "acmeInator" = self."acme-inator";
+  "acmeIo" = self."acme-io";
+  "acmeLolcat" = self."acme-lolcat";
+  "acmeLookofdisapproval" = self."acme-lookofdisapproval";
+  "acmeMicrowave" = self."acme-microwave";
+  "acmeMissiles" = self."acme-missiles";
+  "acmeNow" = self."acme-now";
+  "acmeNumbersystem" = self."acme-numbersystem";
+  "acmeOmitted" = self."acme-omitted";
+  "acmePhp" = self."acme-php";
+  "acmePointfulNumbers" = self."acme-pointful-numbers";
+  "acmeRealworld" = self."acme-realworld";
+  "acmeSchoenfinkel" = self."acme-schoenfinkel";
+  "acmeStrfry" = self."acme-strfry";
+  "acmeStringlyTyped" = self."acme-stringly-typed";
+  "acmeStrtok" = self."acme-strtok";
+  "acmeYear" = self."acme-year";
+  "ACMiniTest" = self."AC-MiniTest";
+  "ACPPM" = self."AC-PPM";
+  "ACRandom" = self."AC-Random";
+  "ACTerminal" = self."AC-Terminal";
+  "actionPermutations" = self."action-permutations";
+  "activehsBase" = self."activehs-base";
+  "activitystreamsAeson" = self."activitystreams-aeson";
+  "ACVanillaArray" = self."AC-VanillaArray";
+  "ACVectorFancy" = self."AC-Vector-Fancy";
+  "ACVector" = self."AC-Vector";
+  "AdaptiveBlaisorblade" = self."Adaptive-Blaisorblade";
+  "adaptiveContainers" = self."adaptive-containers";
+  "adaptiveTuple" = self."adaptive-tuple";
+  "adhocNetwork" = self."adhoc-network";
+  "adobeSwatchExchange" = self."adobe-swatch-exchange";
+  "adpMultiMonadiccp" = self."adp-multi-monadiccp";
+  "adpMulti" = self."adp-multi";
+  "AERNBasics" = self."AERN-Basics";
+  "AERNNet" = self."AERN-Net";
+  "AERNRealDouble" = self."AERN-Real-Double";
+  "AERNRealInterval" = self."AERN-Real-Interval";
+  "AERNReal" = self."AERN-Real";
+  "AERNRnToRmPlot" = self."AERN-RnToRm-Plot";
+  "AERNRnToRm" = self."AERN-RnToRm";
+  "aesonBson" = self."aeson-bson";
+  "aesonLens" = self."aeson-lens";
+  "aesonNative" = self."aeson-native";
+  "aesonPretty" = self."aeson-pretty";
+  "aesonQq" = self."aeson-qq";
+  "aesonSchema" = self."aeson-schema";
+  "aesonSerialize" = self."aeson-serialize";
+  "aesonSmart" = self."aeson-smart";
+  "aesonStreams" = self."aeson-streams";
+  "aesonToolkit" = self."aeson-toolkit";
+  "aesonT" = self."aeson-t";
+  "aesonUtils" = self."aeson-utils";
+  "affineInvariantEnsembleMcmc" = self."affine-invariant-ensemble-mcmc";
+  "AgdaExecutable" = self."Agda-executable";
+  "agdaServer" = self."agda-server";
+  "airExtra" = self."air-extra";
+  "airSpec" = self."air-spec";
+  "airTh" = self."air-th";
+  "aivikaExperimentCairo" = self."aivika-experiment-cairo";
+  "aivikaExperimentChart" = self."aivika-experiment-chart";
+  "aivikaExperimentDiagrams" = self."aivika-experiment-diagrams";
+  "aivikaExperiment" = self."aivika-experiment";
+  "aivikaTransformers" = self."aivika-transformers";
+  "alexMeta" = self."alex-meta";
+  "algebraicClasses" = self."algebraic-classes";
+  "alignedForeignptr" = self."aligned-foreignptr";
+  "allocatedProcessor" = self."allocated-processor";
+  "alloyProxyFd" = self."alloy-proxy-fd";
+  "alpinoTools" = self."alpino-tools";
+  "alsaCore" = self."alsa-core";
+  "alsaGui" = self."alsa-gui";
+  "alsaMidi" = self."alsa-midi";
+  "alsaMixer" = self."alsa-mixer";
+  "alsaPcm" = self."alsa-pcm";
+  "alsaPcmTests" = self."alsa-pcm-tests";
+  "alsaSeq" = self."alsa-seq";
+  "alsaSeqTests" = self."alsa-seq-tests";
+  "alternativeIo" = self."alternative-io";
+  "amazonEmailerClientSnap" = self."amazon-emailer-client-snap";
+  "amazonEmailer" = self."amazon-emailer";
+  "amazonkaAutoscaling" = self."amazonka-autoscaling";
+  "amazonkaCloudformation" = self."amazonka-cloudformation";
+  "amazonkaCloudfront" = self."amazonka-cloudfront";
+  "amazonkaCloudsearchDomains" = self."amazonka-cloudsearch-domains";
+  "amazonkaCloudsearch" = self."amazonka-cloudsearch";
+  "amazonkaCloudtrail" = self."amazonka-cloudtrail";
+  "amazonkaCloudwatchLogs" = self."amazonka-cloudwatch-logs";
+  "amazonkaCloudwatch" = self."amazonka-cloudwatch";
+  "amazonkaCodedeploy" = self."amazonka-codedeploy";
+  "amazonkaCognitoIdentity" = self."amazonka-cognito-identity";
+  "amazonkaCognitoSync" = self."amazonka-cognito-sync";
+  "amazonkaConfig" = self."amazonka-config";
+  "amazonkaCore" = self."amazonka-core";
+  "amazonkaDatapipeline" = self."amazonka-datapipeline";
+  "amazonkaDirectconnect" = self."amazonka-directconnect";
+  "amazonkaDynamodb" = self."amazonka-dynamodb";
+  "amazonkaEc2" = self."amazonka-ec2";
+  "amazonkaElasticache" = self."amazonka-elasticache";
+  "amazonkaElasticbeanstalk" = self."amazonka-elasticbeanstalk";
+  "amazonkaElastictranscoder" = self."amazonka-elastictranscoder";
+  "amazonkaElb" = self."amazonka-elb";
+  "amazonkaEmr" = self."amazonka-emr";
+  "amazonkaIam" = self."amazonka-iam";
+  "amazonkaImportexport" = self."amazonka-importexport";
+  "amazonkaKinesis" = self."amazonka-kinesis";
+  "amazonkaKms" = self."amazonka-kms";
+  "amazonkaLambda" = self."amazonka-lambda";
+  "amazonkaOpsworks" = self."amazonka-opsworks";
+  "amazonkaRds" = self."amazonka-rds";
+  "amazonkaRedshift" = self."amazonka-redshift";
+  "amazonkaRoute53Domains" = self."amazonka-route53-domains";
+  "amazonkaRoute53" = self."amazonka-route53";
+  "amazonkaS3" = self."amazonka-s3";
+  "amazonkaSdb" = self."amazonka-sdb";
+  "amazonkaSes" = self."amazonka-ses";
+  "amazonkaSns" = self."amazonka-sns";
+  "amazonkaSqs" = self."amazonka-sqs";
+  "amazonkaStoragegateway" = self."amazonka-storagegateway";
+  "amazonkaSts" = self."amazonka-sts";
+  "amazonkaSupport" = self."amazonka-support";
+  "amazonkaSwf" = self."amazonka-swf";
+  "amazonProducts" = self."amazon-products";
+  "analyzeClient" = self."analyze-client";
+  "anansiHscolour" = self."anansi-hscolour";
+  "anansiPandoc" = self."anansi-pandoc";
+  "annotatedWlPprint" = self."annotated-wl-pprint";
+  "anonymousSums" = self."anonymous-sums";
+  "anonymousSumsTests" = self."anonymous-sums-tests";
+  "ansiTerminal" = self."ansi-terminal";
+  "ansiWlPprint" = self."ansi-wl-pprint";
+  "apacheMd5" = self."apache-md5";
+  "apiaryAuthenticate" = self."apiary-authenticate";
+  "apiaryClientsession" = self."apiary-clientsession";
+  "apiaryCookie" = self."apiary-cookie";
+  "apiaryEventsource" = self."apiary-eventsource";
+  "apiaryHelics" = self."apiary-helics";
+  "apiaryLogger" = self."apiary-logger";
+  "apiaryMemcached" = self."apiary-memcached";
+  "apiaryMongoDB" = self."apiary-mongoDB";
+  "apiaryPersistent" = self."apiary-persistent";
+  "apiaryPurescript" = self."apiary-purescript";
+  "apiarySession" = self."apiary-session";
+  "apiaryWebsockets" = self."apiary-websockets";
+  "apiBuilder" = self."api-builder";
+  "apiTools" = self."api-tools";
+  "applicativeExtras" = self."applicative-extras";
+  "applicativeNumbers" = self."applicative-numbers";
+  "applicativeQuoters" = self."applicative-quoters";
+  "approximateEquality" = self."approximate-equality";
+  "approxRandTest" = self."approx-rand-test";
+  "appSettings" = self."app-settings";
+  "apReflect" = self."ap-reflect";
+  "arbbVm" = self."arbb-vm";
+  "arbFft" = self."arb-fft";
+  "archlinuxWeb" = self."archlinux-web";
+  "arithEncode" = self."arith-encode";
+  "arrayForth" = self."array-forth";
+  "arrayMemoize" = self."array-memoize";
+  "arrayUtils" = self."array-utils";
+  "arrowapplyUtils" = self."arrowapply-utils";
+  "arrowImprove" = self."arrow-improve";
+  "arrowList" = self."arrow-list";
+  "arTimestampWiper" = self."ar-timestamp-wiper";
+  "ascii85Conduit" = self."ascii85-conduit";
+  "asciiVectorAvc" = self."ascii-vector-avc";
+  "asn1Data" = self."asn1-data";
+  "asn1Encoding" = self."asn1-encoding";
+  "asn1Parse" = self."asn1-parse";
+  "asn1Types" = self."asn1-types";
+  "assertFailure" = self."assert-failure";
+  "astviewUtils" = self."astview-utils";
+  "asyncExtras" = self."async-extras";
+  "asynchronousExceptions" = self."asynchronous-exceptions";
+  "asyncManager" = self."async-manager";
+  "asyncPool" = self."async-pool";
+  "atermUtils" = self."aterm-utils";
+  "atlassianConnectCore" = self."atlassian-connect-core";
+  "atlassianConnectDescriptor" = self."atlassian-connect-descriptor";
+  "atmosDimensional" = self."atmos-dimensional";
+  "atmosDimensionalTf" = self."atmos-dimensional-tf";
+  "atomicPrimopsForeign" = self."atomic-primops-foreign";
+  "atomicPrimops" = self."atomic-primops";
+  "atomMsp430" = self."atom-msp430";
+  "attoLisp" = self."atto-lisp";
+  "attoparsecArff" = self."attoparsec-arff";
+  "attoparsecBinary" = self."attoparsec-binary";
+  "attoparsecConduit" = self."attoparsec-conduit";
+  "attoparsecCsv" = self."attoparsec-csv";
+  "attoparsecEnumerator" = self."attoparsec-enumerator";
+  "attoparsecExpr" = self."attoparsec-expr";
+  "attoparsecIteratee" = self."attoparsec-iteratee";
+  "attoparsecParsec" = self."attoparsec-parsec";
+  "attoparsecTextEnumerator" = self."attoparsec-text-enumerator";
+  "attoparsecText" = self."attoparsec-text";
+  "authenticateKerberos" = self."authenticate-kerberos";
+  "authenticateLdap" = self."authenticate-ldap";
+  "authenticateOauth" = self."authenticate-oauth";
+  "authinfoHs" = self."authinfo-hs";
+  "autonixDepsKf5" = self."autonix-deps-kf5";
+  "autonixDeps" = self."autonix-deps";
+  "autoUpdate" = self."auto-update";
+  "avlStatic" = self."avl-static";
+  "avrShake" = self."avr-shake";
+  "awesomiumGlut" = self."awesomium-glut";
+  "awesomiumRaw" = self."awesomium-raw";
+  "awsCloudfrontSigner" = self."aws-cloudfront-signer";
+  "awsDynamodbStreams" = self."aws-dynamodb-streams";
+  "awsEc2" = self."aws-ec2";
+  "awsElasticTranscoder" = self."aws-elastic-transcoder";
+  "awsGeneral" = self."aws-general";
+  "awsKinesisReshard" = self."aws-kinesis-reshard";
+  "awsKinesis" = self."aws-kinesis";
+  "awsPerformanceTests" = self."aws-performance-tests";
+  "awsRoute53" = self."aws-route53";
+  "awsSdk" = self."aws-sdk";
+  "awsSdkTextConverter" = self."aws-sdk-text-converter";
+  "awsSdkXmlUnordered" = self."aws-sdk-xml-unordered";
+  "awsSign4" = self."aws-sign4";
+  "awsSns" = self."aws-sns";
+  "azureAcs" = self."azure-acs";
+  "azureServiceApi" = self."azure-service-api";
+  "azureServicebus" = self."azure-servicebus";
+  "backtrackingExceptions" = self."backtracking-exceptions";
+  "backwardState" = self."backward-state";
+  "bambooLauncher" = self."bamboo-launcher";
+  "bambooPluginHighlight" = self."bamboo-plugin-highlight";
+  "bambooPluginPhoto" = self."bamboo-plugin-photo";
+  "bambooThemeBlueprint" = self."bamboo-theme-blueprint";
+  "bambooThemeMiniHtml5" = self."bamboo-theme-mini-html5";
+  "barcodesCode128" = self."barcodes-code128";
+  "barrierMonad" = self."barrier-monad";
+  "base16Bytestring" = self."base16-bytestring";
+  "base32Bytestring" = self."base32-bytestring";
+  "base64Bytestring" = self."base64-bytestring";
+  "base64Conduit" = self."base64-conduit";
+  "base64String" = self."base64-string";
+  "baseCompat" = self."base-compat";
+  "baseIoAccess" = self."base-io-access";
+  "basePrelude" = self."base-prelude";
+  "baseUnicodeSymbols" = self."base-unicode-symbols";
+  "basicPrelude" = self."basic-prelude";
+  "basicSop" = self."basic-sop";
+  "battlenetYesod" = self."battlenet-yesod";
+  "bayesStack" = self."bayes-stack";
+  "bedAndBreakfast" = self."bed-and-breakfast";
+  "benchmarkFunction" = self."benchmark-function";
+  "bfCata" = self."bf-cata";
+  "bffMono" = self."bff-mono";
+  "bidirectionalizationCombined" = self."bidirectionalization-combined";
+  "bidispecExtras" = self."bidispec-extras";
+  "billboardParser" = self."billboard-parser";
+  "billeksahForms" = self."billeksah-forms";
+  "billeksahMain" = self."billeksah-main";
+  "billeksahMainStatic" = self."billeksah-main-static";
+  "billeksahPane" = self."billeksah-pane";
+  "billeksahServices" = self."billeksah-services";
+  "binaryBits" = self."binary-bits";
+  "binaryCommunicator" = self."binary-communicator";
+  "binaryConduit" = self."binary-conduit";
+  "binaryDerive" = self."binary-derive";
+  "binaryFile" = self."binary-file";
+  "binaryGeneric" = self."binary-generic";
+  "binaryIndexedTree" = self."binary-indexed-tree";
+  "binaryList" = self."binary-list";
+  "binaryLiteralQq" = self."binary-literal-qq";
+  "binaryProtocol" = self."binary-protocol";
+  "binaryProtocolZmq" = self."binary-protocol-zmq";
+  "binarySearch" = self."binary-search";
+  "binaryShared" = self."binary-shared";
+  "binaryState" = self."binary-state";
+  "binaryStreams" = self."binary-streams";
+  "binaryStrict" = self."binary-strict";
+  "binaryTyped" = self."binary-typed";
+  "bindingCore" = self."binding-core";
+  "bindingGtk" = self."binding-gtk";
+  "bindingsApr" = self."bindings-apr";
+  "bindingsAprUtil" = self."bindings-apr-util";
+  "bindingsAudiofile" = self."bindings-audiofile";
+  "bindingsBfd" = self."bindings-bfd";
+  "bindingsCctools" = self."bindings-cctools";
+  "bindingsCodec2" = self."bindings-codec2";
+  "bindingsCommon" = self."bindings-common";
+  "bindingsDc1394" = self."bindings-dc1394";
+  "bindingsDirectfb" = self."bindings-directfb";
+  "bindingsDSL" = self."bindings-DSL";
+  "bindingsEskit" = self."bindings-eskit";
+  "bindingsEsounD" = self."bindings-EsounD";
+  "bindingsFann" = self."bindings-fann";
+  "bindingsFriso" = self."bindings-friso";
+  "bindingsGLFW" = self."bindings-GLFW";
+  "bindingsGlib" = self."bindings-glib";
+  "bindingsGobject" = self."bindings-gobject";
+  "bindingsGpgme" = self."bindings-gpgme";
+  "bindingsGsl" = self."bindings-gsl";
+  "bindingsGts" = self."bindings-gts";
+  "bindingsHamlib" = self."bindings-hamlib";
+  "bindingsHdf5" = self."bindings-hdf5";
+  "bindingsK8055" = self."bindings-K8055";
+  "bindingsLevmar" = self."bindings-levmar";
+  "bindingsLibcddb" = self."bindings-libcddb";
+  "bindingsLibffi" = self."bindings-libffi";
+  "bindingsLibftdi" = self."bindings-libftdi";
+  "bindingsLibrrd" = self."bindings-librrd";
+  "bindingsLibstemmer" = self."bindings-libstemmer";
+  "bindingsLibusb" = self."bindings-libusb";
+  "bindingsLibv4l2" = self."bindings-libv4l2";
+  "bindingsLibzip" = self."bindings-libzip";
+  "bindingsLinuxVideodev2" = self."bindings-linux-videodev2";
+  "bindingsLxc" = self."bindings-lxc";
+  "bindingsMmap" = self."bindings-mmap";
+  "bindingsMpdecimal" = self."bindings-mpdecimal";
+  "bindingsNettle" = self."bindings-nettle";
+  "bindingsParport" = self."bindings-parport";
+  "bindingsPortaudio" = self."bindings-portaudio";
+  "bindingsPosix" = self."bindings-posix";
+  "bindingsPpdev" = self."bindings-ppdev";
+  "bindingsSagaCmd" = self."bindings-saga-cmd";
+  "bindingsSane" = self."bindings-sane";
+  "bindingsSc3" = self."bindings-sc3";
+  "bindingsSipc" = self."bindings-sipc";
+  "bindingsSophia" = self."bindings-sophia";
+  "bindingsSqlite3" = self."bindings-sqlite3";
+  "bindingsSvm" = self."bindings-svm";
+  "bindingsUname" = self."bindings-uname";
+  "bindingsYices" = self."bindings-yices";
+  "bindingWx" = self."binding-wx";
+  "bindMarshal" = self."bind-marshal";
+  "binembedExample" = self."binembed-example";
+  "bitArray" = self."bit-array";
+  "bitcoinRpc" = self."bitcoin-rpc";
+  "bitlyCli" = self."bitly-cli";
+  "bitmapOpengl" = self."bitmap-opengl";
+  "bitsAtomic" = self."bits-atomic";
+  "bitsConduit" = self."bits-conduit";
+  "bitsExtras" = self."bits-extras";
+  "bitVector" = self."bit-vector";
+  "bkTree" = self."bk-tree";
+  "blackJewel" = self."black-jewel";
+  "blakesumDemo" = self."blakesum-demo";
+  "blankCanvas" = self."blank-canvas";
+  "blasHs" = self."blas-hs";
+  "blazeBootstrap" = self."blaze-bootstrap";
+  "blazeBuilderConduit" = self."blaze-builder-conduit";
+  "blazeBuilderEnumerator" = self."blaze-builder-enumerator";
+  "blazeBuilder" = self."blaze-builder";
+  "blazeFromHtml" = self."blaze-from-html";
+  "blazeHtmlContrib" = self."blaze-html-contrib";
+  "blazeHtmlHexpat" = self."blaze-html-hexpat";
+  "blazeHtml" = self."blaze-html";
+  "blazeHtmlTruncate" = self."blaze-html-truncate";
+  "blazeMarkup" = self."blaze-markup";
+  "blazeSvg" = self."blaze-svg";
+  "blazeTextualNative" = self."blaze-textual-native";
+  "blazeTextual" = self."blaze-textual";
+  "blockingTransactions" = self."blocking-transactions";
+  "BlogLiteratelyDiagrams" = self."BlogLiterately-diagrams";
+  "BNFCMeta" = self."BNFC-meta";
+  "boardGames" = self."board-games";
+  "bogreBanana" = self."bogre-banana";
+  "booleanList" = self."boolean-list";
+  "booleanNormalForms" = self."boolean-normal-forms";
+  "boolExtras" = self."bool-extras";
+  "boundedTchan" = self."bounded-tchan";
+  "brainfuckMonad" = self."brainfuck-monad";
+  "brainfuckTut" = self."brainfuck-tut";
+  "briansBrain" = self."brians-brain";
+  "broadcastChan" = self."broadcast-chan";
+  "bsdSysctl" = self."bsd-sysctl";
+  "bsonGeneric" = self."bson-generic";
+  "bsonGenerics" = self."bson-generics";
+  "bsonMapping" = self."bson-mapping";
+  "btreeConcurrent" = self."btree-concurrent";
+  "bTree" = self."b-tree";
+  "buildboxTools" = self."buildbox-tools";
+  "burstDetection" = self."burst-detection";
+  "busPirate" = self."bus-pirate";
+  "busterGtk" = self."buster-gtk";
+  "busterNetwork" = self."buster-network";
+  "bytestringArbitrary" = self."bytestring-arbitrary";
+  "bytestringBuilder" = self."bytestring-builder";
+  "bytestringClass" = self."bytestring-class";
+  "bytestringConversion" = self."bytestring-conversion";
+  "bytestringCsv" = self."bytestring-csv";
+  "bytestringDelta" = self."bytestring-delta";
+  "bytestringFrom" = self."bytestring-from";
+  "bytestringHandle" = self."bytestring-handle";
+  "bytestringLexing" = self."bytestring-lexing";
+  "bytestringMmap" = self."bytestring-mmap";
+  "bytestringNums" = self."bytestring-nums";
+  "bytestringparserTemporary" = self."bytestringparser-temporary";
+  "bytestringPlain" = self."bytestring-plain";
+  "bytestringProgress" = self."bytestring-progress";
+  "bytestringRematch" = self."bytestring-rematch";
+  "bytestringShow" = self."bytestring-show";
+  "bytestringTrie" = self."bytestring-trie";
+  "bzlibConduit" = self."bzlib-conduit";
+  "cabalAudit" = self."cabal-audit";
+  "cabalBounds" = self."cabal-bounds";
+  "cabalCargs" = self."cabal-cargs";
+  "cabalConstraints" = self."cabal-constraints";
+  "cabalDb" = self."cabal-db";
+  "cabalDebian" = self."cabal-debian";
+  "cabalDependencyLicenses" = self."cabal-dependency-licenses";
+  "cabalDev" = self."cabal-dev";
+  "cabalDir" = self."cabal-dir";
+  "cabalFileTh" = self."cabal-file-th";
+  "cabalGhci" = self."cabal-ghci";
+  "cabalGraphdeps" = self."cabal-graphdeps";
+  "cabalInstallBundle" = self."cabal-install-bundle";
+  "cabalInstallGhc72" = self."cabal-install-ghc72";
+  "cabalInstallGhc74" = self."cabal-install-ghc74";
+  "cabalInstall" = self."cabal-install";
+  "cabalLenses" = self."cabal-lenses";
+  "cabalMacosx" = self."cabal-macosx";
+  "cabalMeta" = self."cabal-meta";
+  "cabalNirvana" = self."cabal-nirvana";
+  "cabalProgdeps" = self."cabal-progdeps";
+  "cabalQuery" = self."cabal-query";
+  "cabalRpm" = self."cabal-rpm";
+  "cabalScripts" = self."cabal-scripts";
+  "cabalSetup" = self."cabal-setup";
+  "cabalSign" = self."cabal-sign";
+  "cabalSort" = self."cabal-sort";
+  "cabalSrc" = self."cabal-src";
+  "cabalTestQuickcheck" = self."cabal-test-quickcheck";
+  "cabalTest" = self."cabal-test";
+  "cabalUninstall" = self."cabal-uninstall";
+  "cabalUpload" = self."cabal-upload";
+  "cachedTraversable" = self."cached-traversable";
+  "cairoAppbase" = self."cairo-appbase";
+  "cal3dExamples" = self."cal3d-examples";
+  "cal3dOpengl" = self."cal3d-opengl";
+  "canonicalFilepath" = self."canonical-filepath";
+  "cappedList" = self."capped-list";
+  "casadiBindingsControl" = self."casadi-bindings-control";
+  "casadiBindingsCore" = self."casadi-bindings-core";
+  "casadiBindingsInternal" = self."casadi-bindings-internal";
+  "casadiBindingsIpoptInterface" = self."casadi-bindings-ipopt-interface";
+  "casadiBindings" = self."casadi-bindings";
+  "casadiBindingsSnoptInterface" = self."casadi-bindings-snopt-interface";
+  "caseConversion" = self."case-conversion";
+  "caseInsensitive" = self."case-insensitive";
+  "cassandraCql" = self."cassandra-cql";
+  "cassandraThrift" = self."cassandra-thrift";
+  "cassavaStreams" = self."cassava-streams";
+  "catchFd" = self."catch-fd";
+  "categoricalAlgebra" = self."categorical-algebra";
+  "categoryExtras" = self."category-extras";
+  "cautiousFile" = self."cautious-file";
+  "CCDelcontAlt" = self."CC-delcont-alt";
+  "CCDelcontCxe" = self."CC-delcont-cxe";
+  "CCDelcontExc" = self."CC-delcont-exc";
+  "CCDelcontRef" = self."CC-delcont-ref";
+  "CCDelcontRefTf" = self."CC-delcont-ref-tf";
+  "CCDelcont" = self."CC-delcont";
+  "cctoolsWorkqueue" = self."cctools-workqueue";
+  "cDsl" = self."c-dsl";
+  "cellrendererCairo" = self."cellrenderer-cairo";
+  "cerealConduit" = self."cereal-conduit";
+  "cerealDerive" = self."cereal-derive";
+  "cerealEnumerator" = self."cereal-enumerator";
+  "cerealIeee754" = self."cereal-ieee754";
+  "cerealPlus" = self."cereal-plus";
+  "cerealText" = self."cereal-text";
+  "cerealVector" = self."cereal-vector";
+  "cgiUndecidable" = self."cgi-undecidable";
+  "cgiUtils" = self."cgi-utils";
+  "chainCodes" = self."chain-codes";
+  "chalkboardViewer" = self."chalkboard-viewer";
+  "chalmersLava2000" = self."chalmers-lava2000";
+  "changeMonger" = self."change-monger";
+  "chanSplit" = self."chan-split";
+  "charsetdetectAe" = self."charsetdetect-ae";
+  "ChartCairo" = self."Chart-cairo";
+  "ChartDiagrams" = self."Chart-diagrams";
+  "ChartGtk" = self."Chart-gtk";
+  "chartHistogram" = self."chart-histogram";
+  "ChartSimple" = self."Chart-simple";
+  "chaselevDeque" = self."chaselev-deque";
+  "chattyText" = self."chatty-text";
+  "chattyUtils" = self."chatty-utils";
+  "checkEmail" = self."check-email";
+  "checkPvp" = self."check-pvp";
+  "chellHunit" = self."chell-hunit";
+  "chellQuickcheck" = self."chell-quickcheck";
+  "chpMtl" = self."chp-mtl";
+  "chpPlus" = self."chp-plus";
+  "chpSpec" = self."chp-spec";
+  "chpTransformers" = self."chp-transformers";
+  "chunkedData" = self."chunked-data";
+  "churchList" = self."church-list";
+  "cIo" = self."c-io";
+  "cipherAes128" = self."cipher-aes128";
+  "cipherAes" = self."cipher-aes";
+  "cipherBlowfish" = self."cipher-blowfish";
+  "cipherCamellia" = self."cipher-camellia";
+  "cipherDes" = self."cipher-des";
+  "cipherRc4" = self."cipher-rc4";
+  "cipherRc5" = self."cipher-rc5";
+  "circlePacking" = self."circle-packing";
+  "citationResolve" = self."citation-resolve";
+  "citeprocHs" = self."citeproc-hs";
+  "clashGhc" = self."clash-ghc";
+  "clashLib" = self."clash-lib";
+  "clashPrelude" = self."clash-prelude";
+  "classyParallel" = self."classy-parallel";
+  "classyPreludeConduit" = self."classy-prelude-conduit";
+  "classyPrelude" = self."classy-prelude";
+  "classyPreludeYesod" = self."classy-prelude-yesod";
+  "clckwrksCli" = self."clckwrks-cli";
+  "clckwrksDotCom" = self."clckwrks-dot-com";
+  "clckwrksPluginBugs" = self."clckwrks-plugin-bugs";
+  "clckwrksPluginIrcbot" = self."clckwrks-plugin-ircbot";
+  "clckwrksPluginMedia" = self."clckwrks-plugin-media";
+  "clckwrksPluginPage" = self."clckwrks-plugin-page";
+  "clckwrksThemeBootstrap" = self."clckwrks-theme-bootstrap";
+  "clckwrksThemeClckwrks" = self."clckwrks-theme-clckwrks";
+  "clckwrksThemeGeoBootstrap" = self."clckwrks-theme-geo-bootstrap";
+  "cleanHome" = self."clean-home";
+  "cleanUnions" = self."clean-unions";
+  "clickClack" = self."click-clack";
+  "cloneAll" = self."clone-all";
+  "cloudfrontSigner" = self."cloudfront-signer";
+  "cloudHaskell" = self."cloud-haskell";
+  "cmdargsBrowser" = self."cmdargs-browser";
+  "cncSpecCompiler" = self."cnc-spec-compiler";
+  "codeBuilder" = self."code-builder";
+  "CodecCompressionLZF" = self."Codec-Compression-LZF";
+  "CodecImageDevIL" = self."Codec-Image-DevIL";
+  "codecLibevent" = self."codec-libevent";
+  "codecMbox" = self."codec-mbox";
+  "codecovHaskell" = self."codecov-haskell";
+  "codoNotation" = self."codo-notation";
+  "cognimetaUtils" = self."cognimeta-utils";
+  "colladaOutput" = self."collada-output";
+  "colladaTypes" = self."collada-types";
+  "collapseUtil" = self."collapse-util";
+  "collectionsApi" = self."collections-api";
+  "collectionsBaseInstances" = self."collections-base-instances";
+  "colorizeHaskell" = self."colorize-haskell";
+  "combinatDiagrams" = self."combinat-diagrams";
+  "combinatorialProblems" = self."combinatorial-problems";
+  "combinatorInteractive" = self."combinator-interactive";
+  "commandQq" = self."command-qq";
+  "commsecKeyexchange" = self."commsec-keyexchange";
+  "comonadExtras" = self."comonad-extras";
+  "comonadRandom" = self."comonad-random";
+  "comonadsFd" = self."comonads-fd";
+  "comonadTransformers" = self."comonad-transformers";
+  "compactMap" = self."compact-map";
+  "compactStringFix" = self."compact-string-fix";
+  "compactString" = self."compact-string";
+  "compdataAutomata" = self."compdata-automata";
+  "compdataDags" = self."compdata-dags";
+  "compdataParam" = self."compdata-param";
+  "complexGeneric" = self."complex-generic";
+  "complexIntegrate" = self."complex-integrate";
+  "composeTrans" = self."compose-trans";
+  "computationalAlgebra" = self."computational-algebra";
+  "concraftPl" = self."concraft-pl";
+  "concreteRelaxngParser" = self."concrete-relaxng-parser";
+  "concreteTyperep" = self."concrete-typerep";
+  "concurrentBarrier" = self."concurrent-barrier";
+  "concurrentDnsCache" = self."concurrent-dns-cache";
+  "concurrentExtra" = self."concurrent-extra";
+  "concurrentSa" = self."concurrent-sa";
+  "concurrentSplit" = self."concurrent-split";
+  "concurrentState" = self."concurrent-state";
+  "concurrentSupply" = self."concurrent-supply";
+  "conductiveBase" = self."conductive-base";
+  "conductiveClock" = self."conductive-clock";
+  "conductiveHsc3" = self."conductive-hsc3";
+  "conductiveSong" = self."conductive-song";
+  "conduitCombinators" = self."conduit-combinators";
+  "conduitConnection" = self."conduit-connection";
+  "conduitExtra" = self."conduit-extra";
+  "conduitIconv" = self."conduit-iconv";
+  "conduitNetworkStream" = self."conduit-network-stream";
+  "conduitResumablesink" = self."conduit-resumablesink";
+  "configSelect" = self."config-select";
+  "configurationTools" = self."configuration-tools";
+  "congruenceRelation" = self."congruence-relation";
+  "connectionPool" = self."connection-pool";
+  "consoleProgram" = self."console-program";
+  "constMathGhcPlugin" = self."const-math-ghc-plugin";
+  "constrainedNormal" = self."constrained-normal";
+  "constructiveAlgebra" = self."constructive-algebra";
+  "containerClasses" = self."container-classes";
+  "containersBenchmark" = self."containers-benchmark";
+  "containersDeepseq" = self."containers-deepseq";
+  "containersUnicodeSymbols" = self."containers-unicode-symbols";
+  "contextStack" = self."context-stack";
+  "continuedFractions" = self."continued-fractions";
+  "continuumClient" = self."continuum-client";
+  "controlBool" = self."control-bool";
+  "ControlEngine" = self."Control-Engine";
+  "controlEvent" = self."control-event";
+  "controlMonadAttempt" = self."control-monad-attempt";
+  "controlMonadExceptionMonadsfd" = self."control-monad-exception-monadsfd";
+  "controlMonadExceptionMonadstf" = self."control-monad-exception-monadstf";
+  "controlMonadExceptionMtl" = self."control-monad-exception-mtl";
+  "controlMonadException" = self."control-monad-exception";
+  "controlMonadFailureMtl" = self."control-monad-failure-mtl";
+  "controlMonadFailure" = self."control-monad-failure";
+  "controlMonadFree" = self."control-monad-free";
+  "controlMonadLoop" = self."control-monad-loop";
+  "ControlMonadMultiPass" = self."Control-Monad-MultiPass";
+  "controlMonadOmega" = self."control-monad-omega";
+  "controlMonadQueue" = self."control-monad-queue";
+  "ControlMonadST2" = self."Control-Monad-ST2";
+  "controlTimeout" = self."control-timeout";
+  "contstuffMonadsTf" = self."contstuff-monads-tf";
+  "contstuffTransformers" = self."contstuff-transformers";
+  "convertibleAscii" = self."convertible-ascii";
+  "convertibleText" = self."convertible-text";
+  "copilotC99" = self."copilot-c99";
+  "copilotCbmc" = self."copilot-cbmc";
+  "copilotCore" = self."copilot-core";
+  "copilotLanguage" = self."copilot-language";
+  "copilotLibraries" = self."copilot-libraries";
+  "copilotSbv" = self."copilot-sbv";
+  "corebotBliki" = self."corebot-bliki";
+  "coreHaskell" = self."core-haskell";
+  "coroutineEnumerator" = self."coroutine-enumerator";
+  "coroutineIteratee" = self."coroutine-iteratee";
+  "coroutineObject" = self."coroutine-object";
+  "couchdbConduit" = self."couchdb-conduit";
+  "couchdbEnumerator" = self."couchdb-enumerator";
+  "couchHs" = self."couch-hs";
+  "countryCodes" = self."country-codes";
+  "cplusplusTh" = self."cplusplus-th";
+  "cprngAesEffect" = self."cprng-aes-effect";
+  "cprngAes" = self."cprng-aes";
+  "cqlIo" = self."cql-io";
+  "cqrsExample" = self."cqrs-example";
+  "cqrsPostgresql" = self."cqrs-postgresql";
+  "cqrsSqlite3" = self."cqrs-sqlite3";
+  "cqrsTest" = self."cqrs-test";
+  "cqrsTypes" = self."cqrs-types";
+  "craftwerkCairo" = self."craftwerk-cairo";
+  "craftwerkGtk" = self."craftwerk-gtk";
+  "crc16Table" = self."crc16-table";
+  "crfChain1Constrained" = self."crf-chain1-constrained";
+  "crfChain1" = self."crf-chain1";
+  "crfChain2Generic" = self."crf-chain2-generic";
+  "crfChain2Tiers" = self."crf-chain2-tiers";
+  "criterionPlus" = self."criterion-plus";
+  "criterionToHtml" = self."criterion-to-html";
+  "cruncherTypes" = self."cruncher-types";
+  "cryptoApi" = self."crypto-api";
+  "cryptoApiTests" = self."crypto-api-tests";
+  "cryptoCipherBenchmarks" = self."crypto-cipher-benchmarks";
+  "cryptoCipherTests" = self."crypto-cipher-tests";
+  "cryptoCipherTypes" = self."crypto-cipher-types";
+  "cryptoConduit" = self."crypto-conduit";
+  "cryptohashConduit" = self."cryptohash-conduit";
+  "cryptohashCryptoapi" = self."cryptohash-cryptoapi";
+  "cryptoNumbers" = self."crypto-numbers";
+  "cryptoPubkeyOpenssh" = self."crypto-pubkey-openssh";
+  "cryptoPubkey" = self."crypto-pubkey";
+  "cryptoPubkeyTypes" = self."crypto-pubkey-types";
+  "cryptoRandomApi" = self."crypto-random-api";
+  "cryptoRandomEffect" = self."crypto-random-effect";
+  "cryptoRandom" = self."crypto-random";
+  "cryptoTotp" = self."crypto-totp";
+  "cryptsyApi" = self."cryptsy-api";
+  "cseGhcPlugin" = self."cse-ghc-plugin";
+  "csoundCatalog" = self."csound-catalog";
+  "csoundExpressionDynamic" = self."csound-expression-dynamic";
+  "csoundExpressionOpcodes" = self."csound-expression-opcodes";
+  "csoundExpression" = self."csound-expression";
+  "csoundExpressionTyped" = self."csound-expression-typed";
+  "csoundSampler" = self."csound-sampler";
+  "CSPMCoreLanguage" = self."CSPM-CoreLanguage";
+  "CSPMCspm" = self."CSPM-cspm";
+  "CSPMFiringRules" = self."CSPM-FiringRules";
+  "CSPMFrontend" = self."CSPM-Frontend";
+  "CSPMInterpreter" = self."CSPM-Interpreter";
+  "CSPMToProlog" = self."CSPM-ToProlog";
+  "cssText" = self."css-text";
+  "cStorableDeriving" = self."c-storable-deriving";
+  "csvConduit" = self."csv-conduit";
+  "csvEnumerator" = self."csv-enumerator";
+  "csvNptools" = self."csv-nptools";
+  "csvToQif" = self."csv-to-qif";
+  "curlAeson" = self."curl-aeson";
+  "currentLocale" = self."current-locale";
+  "curryBase" = self."curry-base";
+  "curryFrontend" = self."curry-frontend";
+  "customPrelude" = self."custom-prelude";
+  "cvCombinators" = self."cv-combinators";
+  "daemonizeDoublefork" = self."daemonize-doublefork";
+  "DAGTournament" = self."DAG-Tournament";
+  "darcsBenchmark" = self."darcs-benchmark";
+  "darcsBeta" = self."darcs-beta";
+  "darcsBuildpackage" = self."darcs-buildpackage";
+  "darcsCabalized" = self."darcs-cabalized";
+  "darcsFastconvert" = self."darcs-fastconvert";
+  "darcsGraph" = self."darcs-graph";
+  "darcsMonitor" = self."darcs-monitor";
+  "darcsScripts" = self."darcs-scripts";
+  "dashHaskell" = self."dash-haskell";
+  "dataAccessorMonadLib" = self."data-accessor-monadLib";
+  "dataAccessorMonadsFd" = self."data-accessor-monads-fd";
+  "dataAccessorMonadsTf" = self."data-accessor-monads-tf";
+  "dataAccessorMtl" = self."data-accessor-mtl";
+  "dataAccessor" = self."data-accessor";
+  "dataAccessorTemplate" = self."data-accessor-template";
+  "dataAccessorTransformers" = self."data-accessor-transformers";
+  "dataAviary" = self."data-aviary";
+  "databaseMigrate" = self."database-migrate";
+  "databaseStudy" = self."database-study";
+  "dataBinaryIeee754" = self."data-binary-ieee754";
+  "dataBword" = self."data-bword";
+  "dataCarousel" = self."data-carousel";
+  "dataCategory" = self."data-category";
+  "dataChecked" = self."data-checked";
+  "dataClist" = self."data-clist";
+  "dataConcurrentQueue" = self."data-concurrent-queue";
+  "dataCycle" = self."data-cycle";
+  "dataDefaultClass" = self."data-default-class";
+  "dataDefaultGenerics" = self."data-default-generics";
+  "dataDefaultInstancesBase" = self."data-default-instances-base";
+  "dataDefaultInstancesContainers" = self."data-default-instances-containers";
+  "dataDefaultInstancesDlist" = self."data-default-instances-dlist";
+  "dataDefaultInstancesOldLocale" = self."data-default-instances-old-locale";
+  "dataDefault" = self."data-default";
+  "dataDispersal" = self."data-dispersal";
+  "dataDword" = self."data-dword";
+  "dataEasy" = self."data-easy";
+  "dataEndian" = self."data-endian";
+  "dataExtra" = self."data-extra";
+  "dataFilepath" = self."data-filepath";
+  "dataFin" = self."data-fin";
+  "dataFixCse" = self."data-fix-cse";
+  "dataFix" = self."data-fix";
+  "dataFlags" = self."data-flags";
+  "dataFresh" = self."data-fresh";
+  "DataHashConsistent" = self."Data-Hash-Consistent";
+  "dataHash" = self."data-hash";
+  "dataInterval" = self."data-interval";
+  "dataInttrie" = self."data-inttrie";
+  "dataIvar" = self."data-ivar";
+  "dataLayout" = self."data-layout";
+  "dataLensFd" = self."data-lens-fd";
+  "dataLensIxset" = self."data-lens-ixset";
+  "dataLensLight" = self."data-lens-light";
+  "dataLens" = self."data-lens";
+  "dataLensTemplate" = self."data-lens-template";
+  "dataListSequences" = self."data-list-sequences";
+  "dataMemocombinators" = self."data-memocombinators";
+  "dataNamed" = self."data-named";
+  "dataNat" = self."data-nat";
+  "dataObjectJson" = self."data-object-json";
+  "dataObject" = self."data-object";
+  "dataObjectYaml" = self."data-object-yaml";
+  "dataOrdlist" = self."data-ordlist";
+  "dataOr" = self."data-or";
+  "dataPartition" = self."data-partition";
+  "dataPprint" = self."data-pprint";
+  "dataQuotientref" = self."data-quotientref";
+  "dataRef" = self."data-ref";
+  "dataReifyCse" = self."data-reify-cse";
+  "dataReify" = self."data-reify";
+  "dataRope" = self."data-rope";
+  "DataRope" = self."Data-Rope";
+  "dataRTree" = self."data-r-tree";
+  "dataSize" = self."data-size";
+  "dataSpacepart" = self."data-spacepart";
+  "dataStore" = self."data-store";
+  "dataStringmap" = self."data-stringmap";
+  "dataStructureInferrer" = self."data-structure-inferrer";
+  "dataTextual" = self."data-textual";
+  "dataTimeout" = self."data-timeout";
+  "dataTransform" = self."data-transform";
+  "dataTreify" = self."data-treify";
+  "dataType" = self."data-type";
+  "dataUtil" = self."data-util";
+  "dataVariant" = self."data-variant";
+  "dateCache" = self."date-cache";
+  "dbusClient" = self."dbus-client";
+  "dbusCore" = self."dbus-core";
+  "dbusQq" = self."dbus-qq";
+  "dBus" = self."d-bus";
+  "dbusTh" = self."dbus-th";
+  "dclabelEci11" = self."dclabel-eci11";
+  "ddcBase" = self."ddc-base";
+  "ddcBuild" = self."ddc-build";
+  "ddcCode" = self."ddc-code";
+  "ddcCoreEval" = self."ddc-core-eval";
+  "ddcCoreFlow" = self."ddc-core-flow";
+  "ddcCoreLlvm" = self."ddc-core-llvm";
+  "ddcCoreSalt" = self."ddc-core-salt";
+  "ddcCore" = self."ddc-core";
+  "ddcCoreSimpl" = self."ddc-core-simpl";
+  "ddcCoreTetra" = self."ddc-core-tetra";
+  "ddcDriver" = self."ddc-driver";
+  "ddciCore" = self."ddci-core";
+  "ddcInterface" = self."ddc-interface";
+  "ddcSourceTetra" = self."ddc-source-tetra";
+  "ddcTools" = self."ddc-tools";
+  "ddcWar" = self."ddc-war";
+  "DeadpanDDP" = self."Deadpan-DDP";
+  "deadSimpleJson" = self."dead-simple-json";
+  "debianBinary" = self."debian-binary";
+  "debianBuild" = self."debian-build";
+  "debugDiff" = self."debug-diff";
+  "decoderConduit" = self."decoder-conduit";
+  "deeplearningHs" = self."deeplearning-hs";
+  "deepseqGenerics" = self."deepseq-generics";
+  "deepseqTh" = self."deepseq-th";
+  "definitiveBase" = self."definitive-base";
+  "definitiveFilesystem" = self."definitive-filesystem";
+  "definitiveGraphics" = self."definitive-graphics";
+  "definitiveParser" = self."definitive-parser";
+  "definitiveReactive" = self."definitive-reactive";
+  "definitiveSound" = self."definitive-sound";
+  "deikoConfig" = self."deiko-config";
+  "dekaTests" = self."deka-tests";
+  "delimitedText" = self."delimited-text";
+  "deltaH" = self."delta-h";
+  "dependentMap" = self."dependent-map";
+  "dependentSum" = self."dependent-sum";
+  "dependentSumTemplate" = self."dependent-sum-template";
+  "derivationTrees" = self."derivation-trees";
+  "deriveGadt" = self."derive-gadt";
+  "deriveIG" = self."derive-IG";
+  "deriveTrie" = self."derive-trie";
+  "derpLib" = self."derp-lib";
+  "diaBase" = self."dia-base";
+  "diaFunctions" = self."dia-functions";
+  "diagramsBuilder" = self."diagrams-builder";
+  "diagramsCairo" = self."diagrams-cairo";
+  "diagramsCanvas" = self."diagrams-canvas";
+  "diagramsContrib" = self."diagrams-contrib";
+  "diagramsCore" = self."diagrams-core";
+  "diagramsGtk" = self."diagrams-gtk";
+  "diagramsHaddock" = self."diagrams-haddock";
+  "diagramsLib" = self."diagrams-lib";
+  "diagramsPdf" = self."diagrams-pdf";
+  "diagramsPostscript" = self."diagrams-postscript";
+  "diagramsQrcode" = self."diagrams-qrcode";
+  "diagramsRasterific" = self."diagrams-rasterific";
+  "diagramsSvg" = self."diagrams-svg";
+  "diagramsTikz" = self."diagrams-tikz";
+  "diceEntropyConduit" = self."dice-entropy-conduit";
+  "diffParse" = self."diff-parse";
+  "digestiveBootstrap" = self."digestive-bootstrap";
+  "digestiveFunctorsAeson" = self."digestive-functors-aeson";
+  "digestiveFunctorsBlaze" = self."digestive-functors-blaze";
+  "digestiveFunctorsHappstack" = self."digestive-functors-happstack";
+  "digestiveFunctorsHeist" = self."digestive-functors-heist";
+  "digestiveFunctorsHsp" = self."digestive-functors-hsp";
+  "digestiveFunctorsScotty" = self."digestive-functors-scotty";
+  "digestiveFunctors" = self."digestive-functors";
+  "digestiveFunctorsSnap" = self."digestive-functors-snap";
+  "digestPure" = self."digest-pure";
+  "dimensionalTf" = self."dimensional-tf";
+  "dingoCore" = self."dingo-core";
+  "dingoExample" = self."dingo-example";
+  "dingoWidgets" = self."dingo-widgets";
+  "directBinaryFiles" = self."direct-binary-files";
+  "directDaemonize" = self."direct-daemonize";
+  "directedCubical" = self."directed-cubical";
+  "directFastcgi" = self."direct-fastcgi";
+  "directHttp" = self."direct-http";
+  "directMurmurHash" = self."direct-murmur-hash";
+  "directoryLayout" = self."directory-layout";
+  "directoryTree" = self."directory-tree";
+  "directPlugins" = self."direct-plugins";
+  "directSqlite" = self."direct-sqlite";
+  "discordianCalendar" = self."discordian-calendar";
+  "discreteSpaceMap" = self."discrete-space-map";
+  "disjointSet" = self."disjoint-set";
+  "disjointSetsSt" = self."disjoint-sets-st";
+  "diskFreeSpace" = self."disk-free-space";
+  "distributedProcessAzure" = self."distributed-process-azure";
+  "distributedProcessMonadControl" = self."distributed-process-monad-control";
+  "distributedProcessP2p" = self."distributed-process-p2p";
+  "distributedProcessPlatform" = self."distributed-process-platform";
+  "distributedProcess" = self."distributed-process";
+  "distributedProcessSimplelocalnet" = self."distributed-process-simplelocalnet";
+  "distributedProcessTests" = self."distributed-process-tests";
+  "distributedStatic" = self."distributed-static";
+  "distributionPlot" = self."distribution-plot";
+  "distUpload" = self."dist-upload";
+  "djinnGhc" = self."djinn-ghc";
+  "djinnLib" = self."djinn-lib";
+  "djinnTh" = self."djinn-th";
+  "dlistInstances" = self."dlist-instances";
+  "docReview" = self."doc-review";
+  "doctestDiscoverConfigurator" = self."doctest-discover-configurator";
+  "doctestDiscover" = self."doctest-discover";
+  "doctestProp" = self."doctest-prop";
+  "domainAuth" = self."domain-auth";
+  "domLt" = self."dom-lt";
+  "domSelector" = self."dom-selector";
+  "doubleConversion" = self."double-conversion";
+  "downloadCurl" = self."download-curl";
+  "downloadMediaContent" = self."download-media-content";
+  "dphBase" = self."dph-base";
+  "dphExamples" = self."dph-examples";
+  "dphLiftedBase" = self."dph-lifted-base";
+  "dphLiftedCopy" = self."dph-lifted-copy";
+  "dphLiftedVseg" = self."dph-lifted-vseg";
+  "dphPar" = self."dph-par";
+  "dphPrimInterface" = self."dph-prim-interface";
+  "dphPrimPar" = self."dph-prim-par";
+  "dphPrimSeq" = self."dph-prim-seq";
+  "dphSeq" = self."dph-seq";
+  "DrIFTCabalized" = self."DrIFT-cabalized";
+  "dropboxSdk" = self."dropbox-sdk";
+  "dsKanren" = self."ds-kanren";
+  "dsmcTools" = self."dsmc-tools";
+  "dsonParsec" = self."dson-parsec";
+  "dtdText" = self."dtd-text";
+  "dtdTypes" = self."dtd-types";
+  "dualTree" = self."dual-tree";
+  "DustCrypto" = self."Dust-crypto";
+  "DustToolsPcap" = self."Dust-tools-pcap";
+  "DustTools" = self."Dust-tools";
+  "dviProcessing" = self."dvi-processing";
+  "dwarfEl" = self."dwarf-el";
+  "dynamicCabal" = self."dynamic-cabal";
+  "dynamicGraph" = self."dynamic-graph";
+  "dynamicLinkerTemplate" = self."dynamic-linker-template";
+  "dynamicLoader" = self."dynamic-loader";
+  "dynamicMvector" = self."dynamic-mvector";
+  "dynamicObject" = self."dynamic-object";
+  "dynamicState" = self."dynamic-state";
+  "DysFRPCairo" = self."DysFRP-Cairo";
+  "DysFRPCraftwerk" = self."DysFRP-Craftwerk";
+  "dzenUtils" = self."dzen-utils";
+  "eagerSockets" = self."eager-sockets";
+  "easyApi" = self."easy-api";
+  "easyFile" = self."easy-file";
+  "ec2Signature" = self."ec2-signature";
+  "editDistance" = self."edit-distance";
+  "editLensesDemo" = self."edit-lenses-demo";
+  "editLenses" = self."edit-lenses";
+  "effectiveAspectsMzv" = self."effective-aspects-mzv";
+  "effectiveAspects" = self."effective-aspects";
+  "effectMonad" = self."effect-monad";
+  "effectsParser" = self."effects-parser";
+  "egisonQuote" = self."egison-quote";
+  "egisonTutorial" = self."egison-tutorial";
+  "eibdClientSimple" = self."eibd-client-simple";
+  "eitherUnwrap" = self."either-unwrap";
+  "ekgBosun" = self."ekg-bosun";
+  "ekgCarbon" = self."ekg-carbon";
+  "ekgCore" = self."ekg-core";
+  "ekgLog" = self."ekg-log";
+  "ekgRrd" = self."ekg-rrd";
+  "ekgStatsd" = self."ekg-statsd";
+  "electrumMnemonic" = self."electrum-mnemonic";
+  "elereaExamples" = self."elerea-examples";
+  "elereaSdl" = self."elerea-sdl";
+  "elmBuildLib" = self."elm-build-lib";
+  "elmCompiler" = self."elm-compiler";
+  "elmCoreSources" = self."elm-core-sources";
+  "elmGet" = self."elm-get";
+  "elmMake" = self."elm-make";
+  "elmPackage" = self."elm-package";
+  "elmReactor" = self."elm-reactor";
+  "elmRepl" = self."elm-repl";
+  "elmServer" = self."elm-server";
+  "elmYesod" = self."elm-yesod";
+  "emailHeader" = self."email-header";
+  "emailPostmark" = self."email-postmark";
+  "emailValidate" = self."email-validate";
+  "emailValidator" = self."email-validator";
+  "embeddockExample" = self."embeddock-example";
+  "enclosedExceptions" = self."enclosed-exceptions";
+  "engineeringUnits" = self."engineering-units";
+  "engineIo" = self."engine-io";
+  "engineIoSnap" = self."engine-io-snap";
+  "engineIoYesod" = self."engine-io-yesod";
+  "enumeratorFd" = self."enumerator-fd";
+  "enumeratorTf" = self."enumerator-tf";
+  "enummapsetTh" = self."enummapset-th";
+  "envParser" = self."env-parser";
+  "epanetHaskell" = self."epanet-haskell";
+  "epubMetadata" = self."epub-metadata";
+  "epubTools" = self."epub-tools";
+  "equalFiles" = self."equal-files";
+  "equationalReasoning" = self."equational-reasoning";
+  "erfNative" = self."erf-native";
+  "erosClient" = self."eros-client";
+  "erosHttp" = self."eros-http";
+  "errorcallEqInstance" = self."errorcall-eq-instance";
+  "errorLocation" = self."error-location";
+  "errorLoc" = self."error-loc";
+  "errorMessage" = self."error-message";
+  "EtageGraph" = self."Etage-Graph";
+  "eventDriven" = self."event-driven";
+  "eventHandlers" = self."event-handlers";
+  "eventList" = self."event-list";
+  "eventMonad" = self."event-monad";
+  "everyBitCounts" = self."every-bit-counts";
+  "exactCombinatorics" = self."exact-combinatorics";
+  "exceptionMailer" = self."exception-mailer";
+  "exceptionMonadsFd" = self."exception-monads-fd";
+  "exceptionMonadsTf" = self."exception-monads-tf";
+  "exceptionMtl" = self."exception-mtl";
+  "exceptionTransformers" = self."exception-transformers";
+  "executablePath" = self."executable-path";
+  "expatEnumerator" = self."expat-enumerator";
+  "expiringCacheMap" = self."expiring-cache-map";
+  "expiringMvar" = self."expiring-mvar";
+  "explicitDeterminant" = self."explicit-determinant";
+  "explicitException" = self."explicit-exception";
+  "explicitIomodesBytestring" = self."explicit-iomodes-bytestring";
+  "explicitIomodes" = self."explicit-iomodes";
+  "explicitIomodesText" = self."explicit-iomodes-text";
+  "explicitSharing" = self."explicit-sharing";
+  "exPool" = self."ex-pool";
+  "exposedContainers" = self."exposed-containers";
+  "expressionParser" = self."expression-parser";
+  "extendedCategories" = self."extended-categories";
+  "extendedReals" = self."extended-reals";
+  "extensibleData" = self."extensible-data";
+  "extensibleEffects" = self."extensible-effects";
+  "extensibleExceptions" = self."extensible-exceptions";
+  "externalSort" = self."external-sort";
+  "ezCouch" = self."ez-couch";
+  "factualApi" = self."factual-api";
+  "failableList" = self."failable-list";
+  "fairPredicates" = self."fair-predicates";
+  "fallingTurnip" = self."falling-turnip";
+  "familyTree" = self."family-tree";
+  "fastLogger" = self."fast-logger";
+  "fastMath" = self."fast-math";
+  "fastTagsoup" = self."fast-tagsoup";
+  "fastTagsoupUtf8Only" = self."fast-tagsoup-utf8-only";
+  "fastTags" = self."fast-tags";
+  "faultTree" = self."fault-tree";
+  "fayBase" = self."fay-base";
+  "fayBuilder" = self."fay-builder";
+  "fayDom" = self."fay-dom";
+  "fayHsx" = self."fay-hsx";
+  "fayJquery" = self."fay-jquery";
+  "fayRef" = self."fay-ref";
+  "fayText" = self."fay-text";
+  "fayUri" = self."fay-uri";
+  "fbPersistent" = self."fb-persistent";
+  "fclabelsMonadlib" = self."fclabels-monadlib";
+  "fdoNotify" = self."fdo-notify";
+  "fdoTrash" = self."fdo-trash";
+  "featureFlags" = self."feature-flags";
+  "fedoraPackages" = self."fedora-packages";
+  "feedCli" = self."feed-cli";
+  "feldsparCompiler" = self."feldspar-compiler";
+  "feldsparLanguage" = self."feldspar-language";
+  "fezConf" = self."fez-conf";
+  "fficxxRuntime" = self."fficxx-runtime";
+  "ffmpegLight" = self."ffmpeg-light";
+  "ffmpegTutorials" = self."ffmpeg-tutorials";
+  "fglExtrasDecompositions" = self."fgl-extras-decompositions";
+  "fglVisualize" = self."fgl-visualize";
+  "fieldsJson" = self."fields-json";
+  "fileCommandQq" = self."file-command-qq";
+  "fileEmbed" = self."file-embed";
+  "fileLocation" = self."file-location";
+  "filepathIoAccess" = self."filepath-io-access";
+  "filesystemConduit" = self."filesystem-conduit";
+  "filesystemEnumerator" = self."filesystem-enumerator";
+  "filesystemTrees" = self."filesystem-trees";
+  "FinanceQuoteYahoo" = self."Finance-Quote-Yahoo";
+  "FinanceTreasury" = self."Finance-Treasury";
+  "findConduit" = self."find-conduit";
+  "fingertreePsqueue" = self."fingertree-psqueue";
+  "fingertreeTf" = self."fingertree-tf";
+  "finiteField" = self."finite-field";
+  "firstClassPatterns" = self."first-class-patterns";
+  "fixedList" = self."fixed-list";
+  "fixedPoint" = self."fixed-point";
+  "FixedPointSimple" = self."FixedPoint-simple";
+  "fixedPointVector" = self."fixed-point-vector";
+  "fixedPointVectorSpace" = self."fixed-point-vector-space";
+  "fixedPrecision" = self."fixed-precision";
+  "fixedStorableArray" = self."fixed-storable-array";
+  "fixedVectorBinary" = self."fixed-vector-binary";
+  "fixedVectorCereal" = self."fixed-vector-cereal";
+  "fixedVectorHetero" = self."fixed-vector-hetero";
+  "fixedVector" = self."fixed-vector";
+  "fixImports" = self."fix-imports";
+  "fixParserSimple" = self."fix-parser-simple";
+  "fixSymbolsGitit" = self."fix-symbols-gitit";
+  "fizzBuzz" = self."fizz-buzz";
+  "flatMcmc" = self."flat-mcmc";
+  "flexibleDefaults" = self."flexible-defaults";
+  "flexibleUnlit" = self."flexible-unlit";
+  "flexiwrapSmallcheck" = self."flexiwrap-smallcheck";
+  "floatBinstring" = self."float-binstring";
+  "flowdockApi" = self."flowdock-api";
+  "fluentLoggerConduit" = self."fluent-logger-conduit";
+  "fluentLogger" = self."fluent-logger";
+  "FMSBLEX" = self."FM-SBLEX";
+  "foldlIncremental" = self."foldl-incremental";
+  "fontOpenglBasic4x6" = self."font-opengl-basic4x6";
+  "forceLayout" = self."force-layout";
+  "foreignStorableAsymmetric" = self."foreign-storable-asymmetric";
+  "foreignStore" = self."foreign-store";
+  "forFree" = self."for-free";
+  "forkableMonad" = self."forkable-monad";
+  "formatStatus" = self."format-status";
+  "formletsHsp" = self."formlets-hsp";
+  "forthHll" = self."forth-hll";
+  "fpcoApi" = self."fpco-api";
+  "fpnlaExamples" = self."fpnla-examples";
+  "frameMarkdown" = self."frame-markdown";
+  "freeFunctors" = self."free-functors";
+  "freeGame" = self."free-game";
+  "freeOperational" = self."free-operational";
+  "freeTheoremsCounterexamples" = self."free-theorems-counterexamples";
+  "freeTheorems" = self."free-theorems";
+  "freeTheoremsSeq" = self."free-theorems-seq";
+  "freeTheoremsSeqWebui" = self."free-theorems-seq-webui";
+  "freeTheoremsWebui" = self."free-theorems-webui";
+  "freetypeSimple" = self."freetype-simple";
+  "friendlyTime" = self."friendly-time";
+  "fsEvents" = self."fs-events";
+  "FTGLBytestring" = self."FTGL-bytestring";
+  "ftpConduit" = self."ftp-conduit";
+  "fullSessions" = self."full-sessions";
+  "fullTextSearch" = self."full-text-search";
+  "functionalArrow" = self."functional-arrow";
+  "functionCombine" = self."function-combine";
+  "functionInstancesAlgebra" = self."function-instances-algebra";
+  "functorApply" = self."functor-apply";
+  "functorCombo" = self."functor-combo";
+  "functorInfix" = self."functor-infix";
+  "futureResource" = self."future-resource";
+  "fuzzyTimings" = self."fuzzy-timings";
+  "gameProbability" = self."game-probability";
+  "gameTree" = self."game-tree";
+  "gangOfThreads" = self."gang-of-threads";
+  "garsiaWachs" = self."garsia-wachs";
+  "gcMonitoringWai" = self."gc-monitoring-wai";
+  "gdiffIg" = self."gdiff-ig";
+  "gdiffTh" = self."gdiff-th";
+  "geekServer" = self."geek-server";
+  "generalPrelude" = self."general-prelude";
+  "genericAeson" = self."generic-aeson";
+  "genericBinary" = self."generic-binary";
+  "genericChurch" = self."generic-church";
+  "genericDeepseq" = self."generic-deepseq";
+  "genericDeriving" = self."generic-deriving";
+  "genericLucidScaffold" = self."generic-lucid-scaffold";
+  "genericMaybe" = self."generic-maybe";
+  "genericServer" = self."generic-server";
+  "genericsSop" = self."generics-sop";
+  "genericStorable" = self."generic-storable";
+  "genericTree" = self."generic-tree";
+  "genericXml" = self."generic-xml";
+  "geniGui" = self."geni-gui";
+  "geniUtil" = self."geni-util";
+  "GeomPredicatesSSE" = self."GeomPredicates-SSE";
+  "getoptSimple" = self."getopt-simple";
+  "ghcCoreHtml" = self."ghc-core-html";
+  "ghcCore" = self."ghc-core";
+  "ghcDatasize" = self."ghc-datasize";
+  "ghcDup" = self."ghc-dup";
+  "ghcEventsAnalyze" = self."ghc-events-analyze";
+  "ghcEventsParallel" = self."ghc-events-parallel";
+  "ghcEvents" = self."ghc-events";
+  "ghcGcTune" = self."ghc-gc-tune";
+  "ghcHeapView" = self."ghc-heap-view";
+  "ghciDiagrams" = self."ghci-diagrams";
+  "ghciHaskeline" = self."ghci-haskeline";
+  "ghciLib" = self."ghci-lib";
+  "ghcImportedFrom" = self."ghc-imported-from";
+  "ghciNg" = self."ghci-ng";
+  "ghciPretty" = self."ghci-pretty";
+  "ghcjsCodemirror" = self."ghcjs-codemirror";
+  "ghcjsDomHello" = self."ghcjs-dom-hello";
+  "ghcjsDom" = self."ghcjs-dom";
+  "ghcMake" = self."ghc-make";
+  "ghcManCompletion" = self."ghc-man-completion";
+  "ghcMod" = self."ghc-mod";
+  "ghcMtl" = self."ghc-mtl";
+  "ghcParmake" = self."ghc-parmake";
+  "ghcParser" = self."ghc-parser";
+  "ghcPaths" = self."ghc-paths";
+  "ghcPkgAutofix" = self."ghc-pkg-autofix";
+  "ghcPkgLib" = self."ghc-pkg-lib";
+  "ghcPrim" = self."ghc-prim";
+  "ghcServer" = self."ghc-server";
+  "ghcSrcspanPlugin" = self."ghc-srcspan-plugin";
+  "ghcSyb" = self."ghc-syb";
+  "ghcSybUtils" = self."ghc-syb-utils";
+  "ghcTimeAllocProf" = self."ghc-time-alloc-prof";
+  "ghcVis" = self."ghc-vis";
+  "gitAll" = self."git-all";
+  "gitAnnex" = self."git-annex";
+  "gitChecklist" = self."git-checklist";
+  "gitDate" = self."git-date";
+  "gitEmbed" = self."git-embed";
+  "gitFreq" = self."git-freq";
+  "gitGpush" = self."git-gpush";
+  "githubBackup" = self."github-backup";
+  "githubPostReceive" = self."github-post-receive";
+  "githubTypes" = self."github-types";
+  "gitlibCmdline" = self."gitlib-cmdline";
+  "gitlibCross" = self."gitlib-cross";
+  "gitlibLibgit2" = self."gitlib-libgit2";
+  "gitlibS3" = self."gitlib-s3";
+  "gitlibSample" = self."gitlib-sample";
+  "gitlibTest" = self."gitlib-test";
+  "gitlibUtils" = self."gitlib-utils";
+  "gitMonitor" = self."git-monitor";
+  "gitObject" = self."git-object";
+  "gitRepair" = self."git-repair";
+  "gitSanity" = self."git-sanity";
+  "gladexmlAccessor" = self."gladexml-accessor";
+  "glCapture" = self."gl-capture";
+  "GLFWBDemo" = self."GLFW-b-demo";
+  "GLFWB" = self."GLFW-b";
+  "GLFWOGL" = self."GLFW-OGL";
+  "GLFWTask" = self."GLFW-task";
+  "gliderNlp" = self."glider-nlp";
+  "globalConfig" = self."global-config";
+  "globalLock" = self."global-lock";
+  "globalVariables" = self."global-variables";
+  "glomeHs" = self."glome-hs";
+  "glossAccelerate" = self."gloss-accelerate";
+  "glossAlgorithms" = self."gloss-algorithms";
+  "glossBanana" = self."gloss-banana";
+  "glossDevil" = self."gloss-devil";
+  "glossExamples" = self."gloss-examples";
+  "glossGame" = self."gloss-game";
+  "glossJuicy" = self."gloss-juicy";
+  "glossRasterAccelerate" = self."gloss-raster-accelerate";
+  "glossRaster" = self."gloss-raster";
+  "glossRendering" = self."gloss-rendering";
+  "glossSodium" = self."gloss-sodium";
+  "glpkHs" = self."glpk-hs";
+  "gnomeDesktop" = self."gnome-desktop";
+  "gnomeKeyring" = self."gnome-keyring";
+  "gNpm" = self."g-npm";
+  "goateeGtk" = self."goatee-gtk";
+  "goferPrelude" = self."gofer-prelude";
+  "googleDictionary" = self."google-dictionary";
+  "googleDrive" = self."google-drive";
+  "googleHtml5Slide" = self."google-html5-slide";
+  "googleMailFilters" = self."google-mail-filters";
+  "googleOauth2" = self."google-oauth2";
+  "googleSearch" = self."google-search";
+  "GotoTTransformers" = self."GotoT-transformers";
+  "GPipeCollada" = self."GPipe-Collada";
+  "GPipeExamples" = self."GPipe-Examples";
+  "GPipeTextureLoad" = self."GPipe-TextureLoad";
+  "gpxConduit" = self."gpx-conduit";
+  "grammarCombinators" = self."grammar-combinators";
+  "grapefruitExamples" = self."grapefruit-examples";
+  "grapefruitFrp" = self."grapefruit-frp";
+  "grapefruitRecords" = self."grapefruit-records";
+  "grapefruitUiGtk" = self."grapefruit-ui-gtk";
+  "grapefruitUi" = self."grapefruit-ui";
+  "graphCore" = self."graph-core";
+  "graphGenerators" = self."graph-generators";
+  "GraphHammerExamples" = self."GraphHammer-examples";
+  "graphicsDrawingcombinators" = self."graphics-drawingcombinators";
+  "graphicsFormatsCollada" = self."graphics-formats-collada";
+  "graphMatchings" = self."graph-matchings";
+  "graphRewritingCl" = self."graph-rewriting-cl";
+  "graphRewritingGl" = self."graph-rewriting-gl";
+  "graphRewritingLambdascope" = self."graph-rewriting-lambdascope";
+  "graphRewritingLayout" = self."graph-rewriting-layout";
+  "graphRewriting" = self."graph-rewriting";
+  "graphRewritingSki" = self."graph-rewriting-ski";
+  "graphRewritingStrategies" = self."graph-rewriting-strategies";
+  "graphRewritingTrs" = self."graph-rewriting-trs";
+  "graphRewritingWw" = self."graph-rewriting-ww";
+  "graphSerialize" = self."graph-serialize";
+  "graphUtils" = self."graph-utils";
+  "graphVisit" = self."graph-visit";
+  "graphWrapper" = self."graph-wrapper";
+  "grayCode" = self."gray-code";
+  "grayExtended" = self."gray-extended";
+  "greencardLib" = self."greencard-lib";
+  "gregClient" = self."greg-client";
+  "groundhogInspector" = self."groundhog-inspector";
+  "groundhogMysql" = self."groundhog-mysql";
+  "groundhogPostgresql" = self."groundhog-postgresql";
+  "groundhogSqlite" = self."groundhog-sqlite";
+  "groundhogTh" = self."groundhog-th";
+  "groupWith" = self."group-with";
+  "gruffExamples" = self."gruff-examples";
+  "gscWeighting" = self."gsc-weighting";
+  "gslRandomFu" = self."gsl-random-fu";
+  "gslRandom" = self."gsl-random";
+  "gtk2hsBuildtools" = self."gtk2hs-buildtools";
+  "gtk2hsCastGlade" = self."gtk2hs-cast-glade";
+  "gtk2hsCastGlib" = self."gtk2hs-cast-glib";
+  "gtk2hsCastGnomevfs" = self."gtk2hs-cast-gnomevfs";
+  "gtk2hsCastGtkglext" = self."gtk2hs-cast-gtkglext";
+  "gtk2hsCastGtk" = self."gtk2hs-cast-gtk";
+  "gtk2hsCastGtksourceview2" = self."gtk2hs-cast-gtksourceview2";
+  "gtk2hsCastTh" = self."gtk2hs-cast-th";
+  "gtk2hsHello" = self."gtk2hs-hello";
+  "gtk2hsRpn" = self."gtk2hs-rpn";
+  "gtk3MacIntegration" = self."gtk3-mac-integration";
+  "gtkJsinput" = self."gtk-jsinput";
+  "gtkLargeTreeStore" = self."gtk-largeTreeStore";
+  "gtkMacIntegration" = self."gtk-mac-integration";
+  "gtkSerializedEvent" = self."gtk-serialized-event";
+  "gtkSimpleListView" = self."gtk-simple-list-view";
+  "gtkToggleButtonList" = self."gtk-toggle-button-list";
+  "gtkToy" = self."gtk-toy";
+  "gtkTraymanager" = self."gtk-traymanager";
+  "gtTools" = self."gt-tools";
+  "guardedRewriting" = self."guarded-rewriting";
+  "guessCombinator" = self."guess-combinator";
+  "gutenbergFibonaccis" = self."gutenberg-fibonaccis";
+  "hacanonLight" = self."hacanon-light";
+  "hack2ContribExtra" = self."hack2-contrib-extra";
+  "hack2Contrib" = self."hack2-contrib";
+  "hack2HandlerHappstackServer" = self."hack2-handler-happstack-server";
+  "hack2HandlerMongrel2Http" = self."hack2-handler-mongrel2-http";
+  "hack2HandlerSnapServer" = self."hack2-handler-snap-server";
+  "hack2HandlerWarp" = self."hack2-handler-warp";
+  "hack2InterfaceWai" = self."hack2-interface-wai";
+  "hackageDb" = self."hackage-db";
+  "hackageDiff" = self."hackage-diff";
+  "hackagePlot" = self."hackage-plot";
+  "hackageProxy" = self."hackage-proxy";
+  "hackageServer" = self."hackage-server";
+  "hackageSparks" = self."hackage-sparks";
+  "hackContribPress" = self."hack-contrib-press";
+  "hackContrib" = self."hack-contrib";
+  "hackFrontendHappstack" = self."hack-frontend-happstack";
+  "hackFrontendMonadcgi" = self."hack-frontend-monadcgi";
+  "hackHandlerCgi" = self."hack-handler-cgi";
+  "hackHandlerEpoll" = self."hack-handler-epoll";
+  "hackHandlerEvhttp" = self."hack-handler-evhttp";
+  "hackHandlerFastcgi" = self."hack-handler-fastcgi";
+  "hackHandlerHappstack" = self."hack-handler-happstack";
+  "hackHandlerHyena" = self."hack-handler-hyena";
+  "hackHandlerKibro" = self."hack-handler-kibro";
+  "hackHandlerSimpleserver" = self."hack-handler-simpleserver";
+  "hackMiddlewareCleanpath" = self."hack-middleware-cleanpath";
+  "hackMiddlewareClientsession" = self."hack-middleware-clientsession";
+  "hackMiddlewareGzip" = self."hack-middleware-gzip";
+  "hackMiddlewareJsonp" = self."hack-middleware-jsonp";
+  "haddockApi" = self."haddock-api";
+  "haddockLeksah" = self."haddock-leksah";
+  "haddockLibrary" = self."haddock-library";
+  "hadoopFormats" = self."hadoop-formats";
+  "hadoopRpc" = self."hadoop-rpc";
+  "hadoopTools" = self."hadoop-tools";
+  "hailgunSend" = self."hailgun-send";
+  "hailsBin" = self."hails-bin";
+  "hakyllAgda" = self."hakyll-agda";
+  "hakyllBlazeTemplates" = self."hakyll-blaze-templates";
+  "hakyllContribHyphenation" = self."hakyll-contrib-hyphenation";
+  "hakyllContribLinks" = self."hakyll-contrib-links";
+  "hakyllContrib" = self."hakyll-contrib";
+  "hakyllConvert" = self."hakyll-convert";
+  "hakyllElm" = self."hakyll-elm";
+  "handaGdata" = self."handa-gdata";
+  "handaGeodata" = self."handa-geodata";
+  "handleLike" = self."handle-like";
+  "hansPcap" = self."hans-pcap";
+  "HAppSData" = self."HAppS-Data";
+  "happsHsp" = self."happs-hsp";
+  "happsHspTemplate" = self."happs-hsp-template";
+  "HAppSIxSet" = self."HAppS-IxSet";
+  "HAppSServer" = self."HAppS-Server";
+  "HAppSState" = self."HAppS-State";
+  "happstackAuthenticate" = self."happstack-authenticate";
+  "happstackAuth" = self."happstack-auth";
+  "happstackClientsession" = self."happstack-clientsession";
+  "happstackContrib" = self."happstack-contrib";
+  "happstackData" = self."happstack-data";
+  "happstackDlg" = self."happstack-dlg";
+  "happstackFacebook" = self."happstack-facebook";
+  "happstackFastcgi" = self."happstack-fastcgi";
+  "happstackFayAjax" = self."happstack-fay-ajax";
+  "happstackFay" = self."happstack-fay";
+  "happstackFoundation" = self."happstack-foundation";
+  "happstackHamlet" = self."happstack-hamlet";
+  "happstackHeist" = self."happstack-heist";
+  "happstackHelpers" = self."happstack-helpers";
+  "happstackHsp" = self."happstack-hsp";
+  "happstackHstringtemplate" = self."happstack-hstringtemplate";
+  "happstackIxset" = self."happstack-ixset";
+  "happstackJmacro" = self."happstack-jmacro";
+  "happstackLite" = self."happstack-lite";
+  "happstackMonadPeel" = self."happstack-monad-peel";
+  "happstackPlugins" = self."happstack-plugins";
+  "happstackServer" = self."happstack-server";
+  "happstackServerTls" = self."happstack-server-tls";
+  "happstackState" = self."happstack-state";
+  "happstackStaticRouting" = self."happstack-static-routing";
+  "happstackUtil" = self."happstack-util";
+  "happstackYui" = self."happstack-yui";
+  "happsTutorial" = self."happs-tutorial";
+  "HAppSUtil" = self."HAppS-Util";
+  "happybaraWebkit" = self."happybara-webkit";
+  "happybaraWebkitServer" = self."happybara-webkit-server";
+  "happyMeta" = self."happy-meta";
+  "HarmTraceBase" = self."HarmTrace-Base";
+  "hascatLib" = self."hascat-lib";
+  "hascatSetup" = self."hascat-setup";
+  "hascatSystem" = self."hascat-system";
+  "hashableExtras" = self."hashable-extras";
+  "hashableGenerics" = self."hashable-generics";
+  "hashedStorage" = self."hashed-storage";
+  "hashtablesPlus" = self."hashtables-plus";
+  "haskbotCore" = self."haskbot-core";
+  "haskelineClass" = self."haskeline-class";
+  "haskellAliyun" = self."haskell-aliyun";
+  "haskellAwk" = self."haskell-awk";
+  "haskellBcrypt" = self."haskell-bcrypt";
+  "haskellBrainfuck" = self."haskell-brainfuck";
+  "haskellCnc" = self."haskell-cnc";
+  "haskellCoffee" = self."haskell-coffee";
+  "haskellCompression" = self."haskell-compression";
+  "haskellCoursePreludes" = self."haskell-course-preludes";
+  "haskelldbConnectHdbcCatchioMtl" = self."haskelldb-connect-hdbc-catchio-mtl";
+  "haskelldbConnectHdbcCatchioTf" = self."haskelldb-connect-hdbc-catchio-tf";
+  "haskelldbConnectHdbcCatchioTransformers" = self."haskelldb-connect-hdbc-catchio-transformers";
+  "haskelldbConnectHdbcLifted" = self."haskelldb-connect-hdbc-lifted";
+  "haskelldbConnectHdbc" = self."haskelldb-connect-hdbc";
+  "haskelldbDynamic" = self."haskelldb-dynamic";
+  "haskelldbFlat" = self."haskelldb-flat";
+  "haskelldbHdbcMysql" = self."haskelldb-hdbc-mysql";
+  "haskelldbHdbcOdbc" = self."haskelldb-hdbc-odbc";
+  "haskelldbHdbcPostgresql" = self."haskelldb-hdbc-postgresql";
+  "haskelldbHdbc" = self."haskelldb-hdbc";
+  "haskelldbHdbcSqlite3" = self."haskelldb-hdbc-sqlite3";
+  "haskelldbHsqlMysql" = self."haskelldb-hsql-mysql";
+  "haskelldbHsqlOdbc" = self."haskelldb-hsql-odbc";
+  "haskelldbHsqlOracle" = self."haskelldb-hsql-oracle";
+  "haskelldbHsqlPostgresql" = self."haskelldb-hsql-postgresql";
+  "haskelldbHsql" = self."haskelldb-hsql";
+  "haskelldbHsqlSqlite3" = self."haskelldb-hsql-sqlite3";
+  "haskelldbHsqlSqlite" = self."haskelldb-hsql-sqlite";
+  "haskelldbTh" = self."haskelldb-th";
+  "haskelldbWx" = self."haskelldb-wx";
+  "haskellDocs" = self."haskell-docs";
+  "haskellFormatter" = self."haskell-formatter";
+  "haskellFtp" = self."haskell-ftp";
+  "haskellGenerate" = self."haskell-generate";
+  "haskellInSpace" = self."haskell-in-space";
+  "haskellLexer" = self."haskell-lexer";
+  "haskellModbus" = self."haskell-modbus";
+  "haskellMpi" = self."haskell-mpi";
+  "haskellNames" = self."haskell-names";
+  "haskellNeo4jClient" = self."haskell-neo4j-client";
+  "HaskellNetSSL" = self."HaskellNet-SSL";
+  "haskellOpenflow" = self."haskell-openflow";
+  "haskellPackages" = self."haskell-packages";
+  "haskellPdfPresenter" = self."haskell-pdf-presenter";
+  "haskellPlatformTest" = self."haskell-platform-test";
+  "haskellPlot" = self."haskell-plot";
+  "haskellQrencode" = self."haskell-qrencode";
+  "haskellReflect" = self."haskell-reflect";
+  "haskellSpacegoo" = self."haskell-spacegoo";
+  "haskellSrcExtsQq" = self."haskell-src-exts-qq";
+  "haskellSrcExts" = self."haskell-src-exts";
+  "haskellSrcMetaMwotton" = self."haskell-src-meta-mwotton";
+  "haskellSrcMeta" = self."haskell-src-meta";
+  "haskellSrc" = self."haskell-src";
+  "haskellTokenUtils" = self."haskell-token-utils";
+  "haskellTypeExts" = self."haskell-type-exts";
+  "haskellTypescript" = self."haskell-typescript";
+  "haskellTyrant" = self."haskell-tyrant";
+  "haskellUpdater" = self."haskell-updater";
+  "haskellXmpp" = self."haskell-xmpp";
+  "haskholCore" = self."haskhol-core";
+  "haskHome" = self."hask-home";
+  "haskoinCrypto" = self."haskoin-crypto";
+  "haskoinProtocol" = self."haskoin-protocol";
+  "haskoinScript" = self."haskoin-script";
+  "haskoinUtil" = self."haskoin-util";
+  "haskoinWallet" = self."haskoin-wallet";
+  "haskoonHttpspec" = self."haskoon-httpspec";
+  "haskoonSalvia" = self."haskoon-salvia";
+  "haskoreRealtime" = self."haskore-realtime";
+  "haskoreSupercollider" = self."haskore-supercollider";
+  "haskoreSynthesizer" = self."haskore-synthesizer";
+  "haskoreVintage" = self."haskore-vintage";
+  "hasparqlClient" = self."hasparql-client";
+  "hasqlBackend" = self."hasql-backend";
+  "hasqlPostgres" = self."hasql-postgres";
+  "hastacheAeson" = self."hastache-aeson";
+  "hasteCompiler" = self."haste-compiler";
+  "hasteMarkup" = self."haste-markup";
+  "hastePerch" = self."haste-perch";
+  "hasTh" = self."has-th";
+  "hatexGuide" = self."hatex-guide";
+  "HaTeXMeta" = self."HaTeX-meta";
+  "haxlFacebook" = self."haxl-facebook";
+  "haxrTh" = self."haxr-th";
+  "hayooCli" = self."hayoo-cli";
+  "hBDDCUDD" = self."hBDD-CUDD";
+  "hBooru" = self."h-booru";
+  "hbroContrib" = self."hbro-contrib";
+  "hcgMinusCairo" = self."hcg-minus-cairo";
+  "hcgMinus" = self."hcg-minus";
+  "hdaemonizeBuildfix" = self."hdaemonize-buildfix";
+  "HDBCMysql" = self."HDBC-mysql";
+  "HDBCOdbc" = self."HDBC-odbc";
+  "hdbcPostgresqlHstore" = self."hdbc-postgresql-hstore";
+  "HDBCPostgresqlHstore" = self."HDBC-postgresql-hstore";
+  "HDBCPostgresql" = self."HDBC-postgresql";
+  "HDBCSession" = self."HDBC-session";
+  "HDBCSqlite3" = self."HDBC-sqlite3";
+  "hdbcTuple" = self."hdbc-tuple";
+  "hdbiConduit" = self."hdbi-conduit";
+  "hdbiPostgresql" = self."hdbi-postgresql";
+  "hdbiSqlite" = self."hdbi-sqlite";
+  "hdbiTests" = self."hdbi-tests";
+  "hdphClosure" = self."hdph-closure";
+  "hebrewTime" = self."hebrew-time";
+  "hedisPile" = self."hedis-pile";
+  "hedisSimple" = self."hedis-simple";
+  "hedisTags" = self."hedis-tags";
+  "heistAeson" = self."heist-aeson";
+  "heistAsync" = self."heist-async";
+  "helicsWai" = self."helics-wai";
+  "helpEsb" = self."help-esb";
+  "hemkayCore" = self."hemkay-core";
+  "herLexerParsec" = self."her-lexer-parsec";
+  "herLexer" = self."her-lexer";
+  "hermitSyb" = self."hermit-syb";
+  "herringboneEmbed" = self."herringbone-embed";
+  "herringboneWai" = self."herringbone-wai";
+  "heteroMap" = self."hetero-map";
+  "hevolisaDph" = self."hevolisa-dph";
+  "hexpatIteratee" = self."hexpat-iteratee";
+  "hexpatLens" = self."hexpat-lens";
+  "hexpatPickleGeneric" = self."hexpat-pickle-generic";
+  "hexpatPickle" = self."hexpat-pickle";
+  "hexpatTagsoup" = self."hexpat-tagsoup";
+  "HGamer3DAPI" = self."HGamer3D-API";
+  "HGamer3DAudio" = self."HGamer3D-Audio";
+  "HGamer3DBulletBinding" = self."HGamer3D-Bullet-Binding";
+  "HGamer3DCAudioBinding" = self."HGamer3D-CAudio-Binding";
+  "HGamer3DCEGUIBinding" = self."HGamer3D-CEGUI-Binding";
+  "HGamer3DData" = self."HGamer3D-Data";
+  "HGamer3DEnetBinding" = self."HGamer3D-Enet-Binding";
+  "HGamer3DGraphics3D" = self."HGamer3D-Graphics3D";
+  "HGamer3DGUI" = self."HGamer3D-GUI";
+  "HGamer3DInputSystem" = self."HGamer3D-InputSystem";
+  "HGamer3DNetwork" = self."HGamer3D-Network";
+  "HGamer3DOgreBinding" = self."HGamer3D-Ogre-Binding";
+  "HGamer3DOISBinding" = self."HGamer3D-OIS-Binding";
+  "HGamer3DSDL2Binding" = self."HGamer3D-SDL2-Binding";
+  "HGamer3DSFMLBinding" = self."HGamer3D-SFML-Binding";
+  "HGamer3DWinEvent" = self."HGamer3D-WinEvent";
+  "HGamer3DWire" = self."HGamer3D-Wire";
+  "hgBuildpackage" = self."hg-buildpackage";
+  "hglExample" = self."hgl-example";
+  "hGpgme" = self."h-gpgme";
+  "hierarchicalClusteringDiagrams" = self."hierarchical-clustering-diagrams";
+  "hierarchicalClustering" = self."hierarchical-clustering";
+  "hierarchicalExceptions" = self."hierarchical-exceptions";
+  "higherLeveldb" = self."higher-leveldb";
+  "highlightingKate" = self."highlighting-kate";
+  "highlightVersions" = self."highlight-versions";
+  "hinduceAssociationsApriori" = self."hinduce-associations-apriori";
+  "hinduceClassifierDecisiontree" = self."hinduce-classifier-decisiontree";
+  "hinduceClassifier" = self."hinduce-classifier";
+  "hinduceExamples" = self."hinduce-examples";
+  "hinduceMissingh" = self."hinduce-missingh";
+  "hintServer" = self."hint-server";
+  "hinzeStreams" = self."hinze-streams";
+  "histogramFillBinary" = self."histogram-fill-binary";
+  "histogramFillCereal" = self."histogram-fill-cereal";
+  "histogramFill" = self."histogram-fill";
+  "histPlDawg" = self."hist-pl-dawg";
+  "histPlFusion" = self."hist-pl-fusion";
+  "histPlLexicon" = self."hist-pl-lexicon";
+  "histPlLmf" = self."hist-pl-lmf";
+  "histPl" = self."hist-pl";
+  "histPlTransliter" = self."hist-pl-transliter";
+  "histPlTypes" = self."hist-pl-types";
+  "hjsonQuery" = self."hjson-query";
+  "HLearnAlgebra" = self."HLearn-algebra";
+  "HLearnApproximation" = self."HLearn-approximation";
+  "HLearnClassification" = self."HLearn-classification";
+  "HLearnDatastructures" = self."HLearn-datastructures";
+  "HLearnDistributions" = self."HLearn-distributions";
+  "hledgerChart" = self."hledger-chart";
+  "hledgerDiff" = self."hledger-diff";
+  "hledgerInterest" = self."hledger-interest";
+  "hledgerIrr" = self."hledger-irr";
+  "hledgerLib" = self."hledger-lib";
+  "hledgerVty" = self."hledger-vty";
+  "hledgerWeb" = self."hledger-web";
+  "hmatrixBanded" = self."hmatrix-banded";
+  "hmatrixCsv" = self."hmatrix-csv";
+  "hmatrixGlpk" = self."hmatrix-glpk";
+  "hmatrixGsl" = self."hmatrix-gsl";
+  "hmatrixGslStats" = self."hmatrix-gsl-stats";
+  "hmatrixMmap" = self."hmatrix-mmap";
+  "hmatrixNipals" = self."hmatrix-nipals";
+  "hmatrixQuadprogpp" = self."hmatrix-quadprogpp";
+  "hmatrixRepa" = self."hmatrix-repa";
+  "hmatrixSpecial" = self."hmatrix-special";
+  "hmatrixStatic" = self."hmatrix-static";
+  "hmatrixSvdlibc" = self."hmatrix-svdlibc";
+  "hmatrixSyntax" = self."hmatrix-syntax";
+  "hmatrixTests" = self."hmatrix-tests";
+  "hmeapUtils" = self."hmeap-utils";
+  "hmtDiagrams" = self."hmt-diagrams";
+  "hofixMtl" = self."hofix-mtl";
+  "hogreExamples" = self."hogre-examples";
+  "hoistError" = self."hoist-error";
+  "holdEm" = self."hold-em";
+  "holeyFormat" = self."holey-format";
+  "HolumbusDistribution" = self."Holumbus-Distribution";
+  "HolumbusMapReduce" = self."Holumbus-MapReduce";
+  "HolumbusSearchengine" = self."Holumbus-Searchengine";
+  "HolumbusStorage" = self."Holumbus-Storage";
+  "holyProject" = self."holy-project";
+  "hommageDs" = self."hommage-ds";
+  "hoodleBuilder" = self."hoodle-builder";
+  "hoodleCore" = self."hoodle-core";
+  "hoodleExtra" = self."hoodle-extra";
+  "hoodleParser" = self."hoodle-parser";
+  "hoodlePublish" = self."hoodle-publish";
+  "hoodleRender" = self."hoodle-render";
+  "hoodleTypes" = self."hoodle-types";
+  "hoodOff" = self."hood-off";
+  "hoogleIndex" = self."hoogle-index";
+  "hooksDir" = self."hooks-dir";
+  "hopenpgpTools" = self."hopenpgp-tools";
+  "hopfieldNetworks" = self."hopfield-networks";
+  "hoscJson" = self."hosc-json";
+  "hoscUtils" = self."hosc-utils";
+  "hostnameValidate" = self."hostname-validate";
+  "hostsServer" = self."hosts-server";
+  "hp2anyCore" = self."hp2any-core";
+  "hp2anyGraph" = self."hp2any-graph";
+  "hp2anyManager" = self."hp2any-manager";
+  "hpacoLib" = self."hpaco-lib";
+  "hpcCoveralls" = self."hpc-coveralls";
+  "hpcStrobe" = self."hpc-strobe";
+  "hpcTracer" = self."hpc-tracer";
+  "hPDBExamples" = self."hPDB-examples";
+  "hprotocFork" = self."hprotoc-fork";
+  "hpsCairo" = self."hps-cairo";
+  "hpsKmeans" = self."hps-kmeans";
+  "HROOTCore" = self."HROOT-core";
+  "HROOTGraf" = self."HROOT-graf";
+  "HROOTHist" = self."HROOT-hist";
+  "HROOTIo" = self."HROOT-io";
+  "HROOTMath" = self."HROOT-math";
+  "hsbencherCodespeed" = self."hsbencher-codespeed";
+  "hsbencherFusion" = self."hsbencher-fusion";
+  "hsBibutils" = self."hs-bibutils";
+  "hsBlake2" = self."hs-blake2";
+  "hsc3Auditor" = self."hsc3-auditor";
+  "hsc3Cairo" = self."hsc3-cairo";
+  "hsc3Data" = self."hsc3-data";
+  "hsc3Db" = self."hsc3-db";
+  "hsc3Dot" = self."hsc3-dot";
+  "hsc3Forth" = self."hsc3-forth";
+  "hsc3Graphs" = self."hsc3-graphs";
+  "hsc3Lang" = self."hsc3-lang";
+  "hsc3Lisp" = self."hsc3-lisp";
+  "hsc3Plot" = self."hsc3-plot";
+  "hsc3Process" = self."hsc3-process";
+  "hsc3Rec" = self."hsc3-rec";
+  "hsc3Rw" = self."hsc3-rw";
+  "hsc3Server" = self."hsc3-server";
+  "hsc3SfHsndfile" = self."hsc3-sf-hsndfile";
+  "hsc3Sf" = self."hsc3-sf";
+  "hsc3Unsafe" = self."hsc3-unsafe";
+  "hsc3Utils" = self."hsc3-utils";
+  "hsCaptcha" = self."hs-captcha";
+  "hsCarbonExamples" = self."hs-carbon-examples";
+  "hsCarbon" = self."hs-carbon";
+  "hsCdb" = self."hs-cdb";
+  "hscursesFishEx" = self."hscurses-fish-ex";
+  "hsdnsCache" = self."hsdns-cache";
+  "hsDotnet" = self."hs-dotnet";
+  "hseCpp" = self."hse-cpp";
+  "hsemailNs" = self."hsemail-ns";
+  "hsExcelx" = self."hs-excelx";
+  "hsFfmpeg" = self."hs-ffmpeg";
+  "hsFltk" = self."hs-fltk";
+  "hsGchart" = self."hs-gchart";
+  "hsGenIface" = self."hs-gen-iface";
+  "hsGeoIP" = self."hs-GeoIP";
+  "hsGizapp" = self."hs-gizapp";
+  "hsgnutlsYj" = self."hsgnutls-yj";
+  "hsJava" = self."hs-java";
+  "hsJsonRpc" = self."hs-json-rpc";
+  "hsloggerTemplate" = self."hslogger-template";
+  "hsLogo" = self."hs-logo";
+  "hsMesos" = self."hs-mesos";
+  "hsndfileStorablevector" = self."hsndfile-storablevector";
+  "hsndfileVector" = self."hsndfile-vector";
+  "hsNombreGenerator" = self."hs-nombre-generator";
+  "hspCgi" = self."hsp-cgi";
+  "hspecAttoparsec" = self."hspec-attoparsec";
+  "hspecCheckers" = self."hspec-checkers";
+  "hspecContrib" = self."hspec-contrib";
+  "hspecCore" = self."hspec-core";
+  "hspecDiscover" = self."hspec-discover";
+  "hspecExpectationsLens" = self."hspec-expectations-lens";
+  "hspecExpectationsLifted" = self."hspec-expectations-lifted";
+  "hspecExpectationsPretty" = self."hspec-expectations-pretty";
+  "hspecExpectations" = self."hspec-expectations";
+  "hspecExperimental" = self."hspec-experimental";
+  "hspecJenkins" = self."hspec-jenkins";
+  "hspecLaws" = self."hspec-laws";
+  "hspecMeta" = self."hspec-meta";
+  "hspecShouldbe" = self."hspec-shouldbe";
+  "hspecSmallcheck" = self."hspec-smallcheck";
+  "hspecSnap" = self."hspec-snap";
+  "hspecTestFramework" = self."hspec-test-framework";
+  "hspecTestFrameworkTh" = self."hspec-test-framework-th";
+  "hspecWaiJson" = self."hspec-wai-json";
+  "hspecWai" = self."hspec-wai";
+  "hspecWebdriver" = self."hspec-webdriver";
+  "hsPgms" = self."hs-pgms";
+  "hsPhpSession" = self."hs-php-session";
+  "hsPkpass" = self."hs-pkpass";
+  "hsprSh" = self."hspr-sh";
+  "hsqlMysql" = self."hsql-mysql";
+  "hsqlOdbc" = self."hsql-odbc";
+  "hsqlPostgresql" = self."hsql-postgresql";
+  "hsqlSqlite3" = self."hsql-sqlite3";
+  "hsqmlDemoMorris" = self."hsqml-demo-morris";
+  "hsqmlDemoNotes" = self."hsqml-demo-notes";
+  "hsqmlDemoSamples" = self."hsqml-demo-samples";
+  "hsqmlMorris" = self."hsqml-morris";
+  "hsTwitterarchiver" = self."hs-twitterarchiver";
+  "hsTwitter" = self."hs-twitter";
+  "hsVcard" = self."hs-vcard";
+  "hsxJmacro" = self."hsx-jmacro";
+  "hsxXhtml" = self."hsx-xhtml";
+  "htmlConduit" = self."html-conduit";
+  "htmlKure" = self."html-kure";
+  "htmlMinimalist" = self."html-minimalist";
+  "htmlRules" = self."html-rules";
+  "htmlTruncate" = self."html-truncate";
+  "htsnCommon" = self."htsn-common";
+  "htsnImport" = self."htsn-import";
+  "httpAccept" = self."http-accept";
+  "httpAttoparsec" = self."http-attoparsec";
+  "httpClientAuth" = self."http-client-auth";
+  "httpClientConduit" = self."http-client-conduit";
+  "httpClientLens" = self."http-client-lens";
+  "httpClientMultipart" = self."http-client-multipart";
+  "httpClientOpenssl" = self."http-client-openssl";
+  "httpClientRequestModifiers" = self."http-client-request-modifiers";
+  "httpClient" = self."http-client";
+  "httpClientTls" = self."http-client-tls";
+  "httpCommon" = self."http-common";
+  "httpConduitBrowser" = self."http-conduit-browser";
+  "httpConduitDownloader" = self."http-conduit-downloader";
+  "httpConduit" = self."http-conduit";
+  "httpDate" = self."http-date";
+  "httpdShed" = self."httpd-shed";
+  "httpEncodings" = self."http-encodings";
+  "httpEnumerator" = self."http-enumerator";
+  "httpKit" = self."http-kit";
+  "httpLinkHeader" = self."http-link-header";
+  "httpMedia" = self."http-media";
+  "httpMonad" = self."http-monad";
+  "httpProxy" = self."http-proxy";
+  "httpQuerystring" = self."http-querystring";
+  "httpReverseProxy" = self."http-reverse-proxy";
+  "httpServer" = self."http-server";
+  "httpsEverywhereRulesRaw" = self."https-everywhere-rules-raw";
+  "httpsEverywhereRules" = self."https-everywhere-rules";
+  "httpShed" = self."http-shed";
+  "HTTPSimple" = self."HTTP-Simple";
+  "httpStreams" = self."http-streams";
+  "httpTest" = self."http-test";
+  "httpTypes" = self."http-types";
+  "httpWget" = self."http-wget";
+  "HungarianMunkres" = self."Hungarian-Munkres";
+  "HUnitApprox" = self."HUnit-approx";
+  "HUnitDiff" = self."HUnit-Diff";
+  "hunitGui" = self."hunit-gui";
+  "hunitParsec" = self."hunit-parsec";
+  "HUnitPlus" = self."HUnit-Plus";
+  "hunitRematch" = self."hunit-rematch";
+  "huskSchemeLibs" = self."husk-scheme-libs";
+  "huskScheme" = self."husk-scheme";
+  "hwallAuthIitk" = self."hwall-auth-iitk";
+  "hxtBinary" = self."hxt-binary";
+  "hxtCache" = self."hxt-cache";
+  "hxtCharproperties" = self."hxt-charproperties";
+  "hxtCss" = self."hxt-css";
+  "hxtCurl" = self."hxt-curl";
+  "hxtExpat" = self."hxt-expat";
+  "hxtExtras" = self."hxt-extras";
+  "hxtFilter" = self."hxt-filter";
+  "hxtHttp" = self."hxt-http";
+  "hxtPickleUtils" = self."hxt-pickle-utils";
+  "hxtRegexXmlschema" = self."hxt-regex-xmlschema";
+  "hxtRelaxng" = self."hxt-relaxng";
+  "hxtTagsoup" = self."hxt-tagsoup";
+  "hxtUnicode" = self."hxt-unicode";
+  "hxtXpath" = self."hxt-xpath";
+  "hxtXslt" = self."hxt-xslt";
+  "hybridVectors" = self."hybrid-vectors";
+  "hydraHs" = self."hydra-hs";
+  "hydraPrint" = self."hydra-print";
+  "hydrogenData" = self."hydrogen-data";
+  "hydrogenPrelude" = self."hydrogen-prelude";
+  "hydrogenSyntax" = self."hydrogen-syntax";
+  "hydrogenUtil" = self."hydrogen-util";
+  "hydrogenVersion" = self."hydrogen-version";
+  "ideasMath" = self."ideas-math";
+  "ieee754Parser" = self."ieee754-parser";
+  "ieeeUtils" = self."ieee-utils";
+  "ieeeUtilsTempfix" = self."ieee-utils-tempfix";
+  "igeMacIntegration" = self."ige-mac-integration";
+  "ihaskellAeson" = self."ihaskell-aeson";
+  "ihaskellBlaze" = self."ihaskell-blaze";
+  "ihaskellCharts" = self."ihaskell-charts";
+  "ihaskellDiagrams" = self."ihaskell-diagrams";
+  "ihaskellDisplay" = self."ihaskell-display";
+  "ihaskellMagic" = self."ihaskell-magic";
+  "imagesizeConduit" = self."imagesize-conduit";
+  "imageType" = self."image-type";
+  "implicitParams" = self."implicit-params";
+  "includeFile" = self."include-file";
+  "incRef" = self."inc-ref";
+  "incrementalParser" = self."incremental-parser";
+  "incrementalSatSolver" = self."incremental-sat-solver";
+  "indexCore" = self."index-core";
+  "indexedDoNotation" = self."indexed-do-notation";
+  "indexedExtras" = self."indexed-extras";
+  "indexedFree" = self."indexed-free";
+  "indianLanguageFontConverter" = self."indian-language-font-converter";
+  "inferUpstream" = self."infer-upstream";
+  "infiniteSearch" = self."infinite-search";
+  "injectFunction" = self."inject-function";
+  "inspectionProxy" = self."inspection-proxy";
+  "instantGenerics" = self."instant-generics";
+  "instantZipper" = self."instant-zipper";
+  "instrumentChord" = self."instrument-chord";
+  "intCast" = self."int-cast";
+  "integerGmp" = self."integer-gmp";
+  "integerPure" = self."integer-pure";
+  "intelAes" = self."intel-aes";
+  "interpolatedstringPerl6" = self."interpolatedstring-perl6";
+  "interpolatedstringQqMwotton" = self."interpolatedstring-qq-mwotton";
+  "interpolatedstringQq" = self."interpolatedstring-qq";
+  "InterpolationMaxs" = self."Interpolation-maxs";
+  "invertibleSyntax" = self."invertible-syntax";
+  "ioCapture" = self."io-capture";
+  "ioChoice" = self."io-choice";
+  "ioManager" = self."io-manager";
+  "ioMemoize" = self."io-memoize";
+  "ioReactive" = self."io-reactive";
+  "ioStorage" = self."io-storage";
+  "ioStreams" = self."io-streams";
+  "ioThrottle" = self."io-throttle";
+  "ipoptHs" = self."ipopt-hs";
+  "iptablesHelpers" = self."iptables-helpers";
+  "ipythonKernel" = self."ipython-kernel";
+  "ircBytestring" = self."irc-bytestring";
+  "ircConduit" = self."irc-conduit";
+  "ircCtcp" = self."irc-ctcp";
+  "iso3166CountryCodes" = self."iso3166-country-codes";
+  "iso8583Bitmaps" = self."iso8583-bitmaps";
+  "iso8601Time" = self."iso8601-time";
+  "itaniumAbi" = self."itanium-abi";
+  "iterateeCompress" = self."iteratee-compress";
+  "iterateeMtl" = self."iteratee-mtl";
+  "iterateeParsec" = self."iteratee-parsec";
+  "iterateeStm" = self."iteratee-stm";
+  "iterioServer" = self."iterio-server";
+  "iterStats" = self."iter-stats";
+  "ivarSimple" = self."ivar-simple";
+  "ivoryBackendC" = self."ivory-backend-c";
+  "ivoryBitdata" = self."ivory-bitdata";
+  "ivoryExamples" = self."ivory-examples";
+  "ivoryHw" = self."ivory-hw";
+  "ivoryOpts" = self."ivory-opts";
+  "ivoryQuickcheck" = self."ivory-quickcheck";
+  "ivoryStdlib" = self."ivory-stdlib";
+  "ivyWeb" = self."ivy-web";
+  "ixsetTyped" = self."ixset-typed";
+  "ixShapable" = self."ix-shapable";
+  "jackBindings" = self."jack-bindings";
+  "jacobiRoots" = self."jacobi-roots";
+  "jailbreakCabal" = self."jailbreak-cabal";
+  "javaBridgeExtras" = self."java-bridge-extras";
+  "javaBridge" = self."java-bridge";
+  "javaCharacter" = self."java-character";
+  "javaReflect" = self."java-reflect";
+  "jcdecauxVls" = self."jcdecaux-vls";
+  "jmacroRpcHappstack" = self."jmacro-rpc-happstack";
+  "jmacroRpc" = self."jmacro-rpc";
+  "jmacroRpcSnap" = self."jmacro-rpc-snap";
+  "joseJwt" = self."jose-jwt";
+  "jsaddleHello" = self."jsaddle-hello";
+  "jsFlot" = self."js-flot";
+  "jsGoodParts" = self."js-good-parts";
+  "jsJquery" = self."js-jquery";
+  "json2Hdbc" = self."json2-hdbc";
+  "json2Types" = self."json2-types";
+  "jsonAssertions" = self."json-assertions";
+  "jsonAutotype" = self."json-autotype";
+  "jsonB" = self."json-b";
+  "jsonBuilder" = self."json-builder";
+  "JSONCombinatorExamples" = self."JSON-Combinator-Examples";
+  "JSONCombinator" = self."JSON-Combinator";
+  "jsonEnumerator" = self."json-enumerator";
+  "jsonExtra" = self."json-extra";
+  "jsonFu" = self."json-fu";
+  "jsonPython" = self."json-python";
+  "jsonQq" = self."json-qq";
+  "jsonrpcConduit" = self."jsonrpc-conduit";
+  "jsonRpc" = self."json-rpc";
+  "jsonRpcServer" = self."json-rpc-server";
+  "jsonSchema" = self."json-schema";
+  "jsonSop" = self."json-sop";
+  "jsonTools" = self."json-tools";
+  "jsonTypes" = self."json-types";
+  "JuicyPixelsCanvas" = self."JuicyPixels-canvas";
+  "JuicyPixelsRepa" = self."JuicyPixels-repa";
+  "JuicyPixelsUtil" = self."JuicyPixels-util";
+  "JunkDBDriverGdbm" = self."JunkDB-driver-gdbm";
+  "JunkDBDriverHashtables" = self."JunkDB-driver-hashtables";
+  "jvmParser" = self."jvm-parser";
+  "JYUUtils" = self."JYU-Utils";
+  "kanExtensions" = self."kan-extensions";
+  "kansasComet" = self."kansas-comet";
+  "kansasLavaCores" = self."kansas-lava-cores";
+  "kansasLavaPapilio" = self."kansas-lava-papilio";
+  "kansasLava" = self."kansas-lava";
+  "kansasLavaShake" = self."kansas-lava-shake";
+  "kbqGu" = self."kbq-gu";
+  "kdesrcBuildExtra" = self."kdesrc-build-extra";
+  "kdTree" = self."kd-tree";
+  "kicadData" = self."kicad-data";
+  "kickassTorrentsDumpParser" = self."kickass-torrents-dump-parser";
+  "KiCSDebugger" = self."KiCS-debugger";
+  "KiCSProphecy" = self."KiCS-prophecy";
+  "kifParser" = self."kif-parser";
+  "kmeansPar" = self."kmeans-par";
+  "kmeansVector" = self."kmeans-vector";
+  "koellnerPhonetic" = self."koellner-phonetic";
+  "kontrakcjaTemplates" = self."kontrakcja-templates";
+  "koofrClient" = self."koofr-client";
+  "ksTest" = self."ks-test";
+  "kureYourBoilerplate" = self."kure-your-boilerplate";
+  "labeledGraph" = self."labeled-graph";
+  "labeledTree" = self."labeled-tree";
+  "laborantinHs" = self."laborantin-hs";
+  "labyrinthServer" = self."labyrinth-server";
+  "lambdaAst" = self."lambda-ast";
+  "lambdabotUtils" = self."lambdabot-utils";
+  "lambdaBridge" = self."lambda-bridge";
+  "lambdaCanvas" = self."lambda-canvas";
+  "lambdacubeBullet" = self."lambdacube-bullet";
+  "lambdacubeCore" = self."lambdacube-core";
+  "lambdacubeEdsl" = self."lambdacube-edsl";
+  "lambdacubeEngine" = self."lambdacube-engine";
+  "lambdacubeExamples" = self."lambdacube-examples";
+  "lambdacubeGl" = self."lambdacube-gl";
+  "lambdacubeSamples" = self."lambdacube-samples";
+  "lambdaDevs" = self."lambda-devs";
+  "lambdaPlaceholders" = self."lambda-placeholders";
+  "lambdaToolbox" = self."lambda-toolbox";
+  "lameTester" = self."lame-tester";
+  "languageAsn1" = self."language-asn1";
+  "languageBash" = self."language-bash";
+  "languageBoogie" = self."language-boogie";
+  "languageCComments" = self."language-c-comments";
+  "languageCil" = self."language-cil";
+  "languageCInline" = self."language-c-inline";
+  "languageCQuote" = self."language-c-quote";
+  "languageC" = self."language-c";
+  "languageCss" = self."language-css";
+  "languageDot" = self."language-dot";
+  "languageEcmascriptAnalysis" = self."language-ecmascript-analysis";
+  "languageEcmascript" = self."language-ecmascript";
+  "languageEiffel" = self."language-eiffel";
+  "languageFortran" = self."language-fortran";
+  "languageGcl" = self."language-gcl";
+  "languageGlsl" = self."language-glsl";
+  "languageGo" = self."language-go";
+  "languageGuess" = self."language-guess";
+  "languageHaskellExtract" = self."language-haskell-extract";
+  "languageJavaClassfile" = self."language-java-classfile";
+  "languageJavascript" = self."language-javascript";
+  "languageJava" = self."language-java";
+  "languageLua" = self."language-lua";
+  "languageMixal" = self."language-mixal";
+  "languageObjc" = self."language-objc";
+  "languageOpenscad" = self."language-openscad";
+  "languagePig" = self."language-pig";
+  "languagePuppet" = self."language-puppet";
+  "languagePythonColour" = self."language-python-colour";
+  "languagePython" = self."language-python";
+  "languageSh" = self."language-sh";
+  "languageSlice" = self."language-slice";
+  "languageSpelling" = self."language-spelling";
+  "languageSqlite" = self."language-sqlite";
+  "languageTypescript" = self."language-typescript";
+  "latestNpmVersion" = self."latest-npm-version";
+  "launchpadControl" = self."launchpad-control";
+  "layersGame" = self."layers-game";
+  "layoutBootstrap" = self."layout-bootstrap";
+  "lazyCsv" = self."lazy-csv";
+  "lazyIo" = self."lazy-io";
+  "lBfgsB" = self."l-bfgs-b";
+  "leankitApi" = self."leankit-api";
+  "leapsecondsAnnounced" = self."leapseconds-announced";
+  "learningHmm" = self."learning-hmm";
+  "learnPhysicsExamples" = self."learn-physics-examples";
+  "learnPhysics" = self."learn-physics";
+  "leksahServer" = self."leksah-server";
+  "lensAeson" = self."lens-aeson";
+  "lensDatetime" = self."lens-datetime";
+  "lensFamilyCore" = self."lens-family-core";
+  "lensFamily" = self."lens-family";
+  "lensFamilyTh" = self."lens-family-th";
+  "lensProperties" = self."lens-properties";
+  "lensSop" = self."lens-sop";
+  "lensTextEncoding" = self."lens-text-encoding";
+  "lensTime" = self."lens-time";
+  "leveldbHaskellFork" = self."leveldb-haskell-fork";
+  "leveldbHaskell" = self."leveldb-haskell";
+  "levelMonad" = self."level-monad";
+  "levmarChart" = self."levmar-chart";
+  "lhs2TeXHl" = self."lhs2TeX-hl";
+  "libarchiveConduit" = self."libarchive-conduit";
+  "liblinearEnumerator" = self."liblinear-enumerator";
+  "libssh2Conduit" = self."libssh2-conduit";
+  "libsystemdDaemon" = self."libsystemd-daemon";
+  "libsystemdJournal" = self."libsystemd-journal";
+  "libvirtHs" = self."libvirt-hs";
+  "libxmlEnumerator" = self."libxml-enumerator";
+  "libxmlSax" = self."libxml-sax";
+  "liftedAsync" = self."lifted-async";
+  "liftedBase" = self."lifted-base";
+  "lighttpdConfQq" = self."lighttpd-conf-qq";
+  "lighttpdConf" = self."lighttpd-conf";
+  "limpCbc" = self."limp-cbc";
+  "linAlg" = self."lin-alg";
+  "linearAccelerate" = self."linear-accelerate";
+  "linearAlgebraCblas" = self."linear-algebra-cblas";
+  "linearMaps" = self."linear-maps";
+  "linearOpengl" = self."linear-opengl";
+  "linearVect" = self."linear-vect";
+  "linguisticOrdinals" = self."linguistic-ordinals";
+  "linuxBlkid" = self."linux-blkid";
+  "linuxCgroup" = self."linux-cgroup";
+  "linuxEvdev" = self."linux-evdev";
+  "linuxFileExtents" = self."linux-file-extents";
+  "linuxInotify" = self."linux-inotify";
+  "linuxKmod" = self."linux-kmod";
+  "linuxMount" = self."linux-mount";
+  "linuxNamespaces" = self."linux-namespaces";
+  "linuxPerf" = self."linux-perf";
+  "linuxPtrace" = self."linux-ptrace";
+  "linuxXattr" = self."linux-xattr";
+  "linxGateway" = self."linx-gateway";
+  "lioEci11" = self."lio-eci11";
+  "lioFs" = self."lio-fs";
+  "lioSimple" = self."lio-simple";
+  "liquidFixpoint" = self."liquid-fixpoint";
+  "listExtras" = self."list-extras";
+  "listFusionProbe" = self."list-fusion-probe";
+  "listGrouping" = self."list-grouping";
+  "listlikeInstances" = self."listlike-instances";
+  "listMux" = self."list-mux";
+  "listRemoteForwards" = self."list-remote-forwards";
+  "listTries" = self."list-tries";
+  "listT" = self."list-t";
+  "liveSequencer" = self."live-sequencer";
+  "llvmAnalysis" = self."llvm-analysis";
+  "llvmBase" = self."llvm-base";
+  "llvmBaseTypes" = self."llvm-base-types";
+  "llvmBaseUtil" = self."llvm-base-util";
+  "llvmDataInterop" = self."llvm-data-interop";
+  "llvmExtra" = self."llvm-extra";
+  "llvmGeneralPure" = self."llvm-general-pure";
+  "llvmGeneralQuote" = self."llvm-general-quote";
+  "llvmGeneral" = self."llvm-general";
+  "llvmHt" = self."llvm-ht";
+  "llvmPkgConfig" = self."llvm-pkg-config";
+  "llvmPrettyBcParser" = self."llvm-pretty-bc-parser";
+  "llvmPretty" = self."llvm-pretty";
+  "llvmTf" = self."llvm-tf";
+  "llvmTools" = self."llvm-tools";
+  "loadEnv" = self."load-env";
+  "localAddress" = self."local-address";
+  "localSearch" = self."local-search";
+  "lochTh" = self."loch-th";
+  "lockfreeQueue" = self."lockfree-queue";
+  "logDomain" = self."log-domain";
+  "logEffect" = self."log-effect";
+  "loggingFacadeJournald" = self."logging-facade-journald";
+  "loggingFacade" = self."logging-facade";
+  "logicClasses" = self."logic-classes";
+  "LogicGrowsOnTreesMPI" = self."LogicGrowsOnTrees-MPI";
+  "LogicGrowsOnTreesNetwork" = self."LogicGrowsOnTrees-network";
+  "LogicGrowsOnTreesProcesses" = self."LogicGrowsOnTrees-processes";
+  "logicTPTP" = self."logic-TPTP";
+  "loopEffin" = self."loop-effin";
+  "loopWhile" = self."loop-while";
+  "LSeed" = self."L-seed";
+  "lsUsb" = self."ls-usb";
+  "luaBytecode" = self."lua-bytecode";
+  "lzmaConduit" = self."lzma-conduit";
+  "lzmaEnumerator" = self."lzma-enumerator";
+  "machinesDirectory" = self."machines-directory";
+  "machinesIo" = self."machines-io";
+  "machinesProcess" = self."machines-process";
+  "macosxMakeStandalone" = self."macosx-make-standalone";
+  "mailboxCount" = self."mailbox-count";
+  "mailchimpSubscribe" = self."mailchimp-subscribe";
+  "mainlandPretty" = self."mainland-pretty";
+  "makeHardLinks" = self."make-hard-links";
+  "makePackage" = self."make-package";
+  "manateeAll" = self."manatee-all";
+  "manateeAnything" = self."manatee-anything";
+  "manateeBrowser" = self."manatee-browser";
+  "manateeCore" = self."manatee-core";
+  "manateeCurl" = self."manatee-curl";
+  "manateeEditor" = self."manatee-editor";
+  "manateeFilemanager" = self."manatee-filemanager";
+  "manateeImageviewer" = self."manatee-imageviewer";
+  "manateeIrcclient" = self."manatee-ircclient";
+  "manateeMplayer" = self."manatee-mplayer";
+  "manateePdfviewer" = self."manatee-pdfviewer";
+  "manateeProcessmanager" = self."manatee-processmanager";
+  "manateeReader" = self."manatee-reader";
+  "manateeTemplate" = self."manatee-template";
+  "manateeTerminal" = self."manatee-terminal";
+  "manateeWelcome" = self."manatee-welcome";
+  "mapSyntax" = self."map-syntax";
+  "markdownKate" = self."markdown-kate";
+  "markdownPap" = self."markdown-pap";
+  "markdownUnlit" = self."markdown-unlit";
+  "markedPretty" = self."marked-pretty";
+  "markovChain" = self."markov-chain";
+  "markovProcesses" = self."markov-processes";
+  "markupPreview" = self."markup-preview";
+  "marmaladeUpload" = self."marmalade-upload";
+  "masakazuBot" = self."masakazu-bot";
+  "mathFunctions" = self."math-functions";
+  "matrixMarketPure" = self."matrix-market-pure";
+  "matrixMarket" = self."matrix-market";
+  "maximalCliques" = self."maximal-cliques";
+  "MaybeTMonadsTf" = self."MaybeT-monads-tf";
+  "MaybeTTransformers" = self."MaybeT-transformers";
+  "mboxTools" = self."mbox-tools";
+  "MCFoldDP" = self."MC-Fold-DP";
+  "mcmasterGlossExamples" = self."mcmaster-gloss-examples";
+  "mcmcSamplers" = self."mcmc-samplers";
+  "mcmcSynthesis" = self."mcmc-synthesis";
+  "megaSdist" = self."mega-sdist";
+  "meldableHeap" = self."meldable-heap";
+  "memcachedBinary" = self."memcached-binary";
+  "memoSqlite" = self."memo-sqlite";
+  "mersenneRandomPure64" = self."mersenne-random-pure64";
+  "mersenneRandom" = self."mersenne-random";
+  "messagepackRpc" = self."messagepack-rpc";
+  "metaMisc" = self."meta-misc";
+  "metaParAccelerate" = self."meta-par-accelerate";
+  "metaPar" = self."meta-par";
+  "metricsdClient" = self."metricsd-client";
+  "microformats2Types" = self."microformats2-types";
+  "midiAlsa" = self."midi-alsa";
+  "mimeDirectory" = self."mime-directory";
+  "mimeMail" = self."mime-mail";
+  "mimeMailSes" = self."mime-mail-ses";
+  "mimeString" = self."mime-string";
+  "mimeTypes" = self."mime-types";
+  "minimalConfiguration" = self."minimal-configuration";
+  "mirrorTweet" = self."mirror-tweet";
+  "missingForeign" = self."missing-foreign";
+  "missingPy2" = self."missing-py2";
+  "mixArrows" = self."mix-arrows";
+  "mixedStrategies" = self."mixed-strategies";
+  "mlW" = self."ml-w";
+  "mmtlBase" = self."mmtl-base";
+  "modbusTcp" = self."modbus-tcp";
+  "modularArithmetic" = self."modular-arithmetic";
+  "modularPreludeClassy" = self."modular-prelude-classy";
+  "modularPrelude" = self."modular-prelude";
+  "moduleManagement" = self."module-management";
+  "monadAbortFd" = self."monad-abort-fd";
+  "monadAtom" = self."monad-atom";
+  "monadAtomSimple" = self."monad-atom-simple";
+  "monadBool" = self."monad-bool";
+  "MonadCatchIOMtlForeign" = self."MonadCatchIO-mtl-foreign";
+  "MonadCatchIOMtl" = self."MonadCatchIO-mtl";
+  "MonadCatchIOTransformersForeign" = self."MonadCatchIO-transformers-foreign";
+  "MonadCatchIOTransformers" = self."MonadCatchIO-transformers";
+  "monadCodec" = self."monad-codec";
+  "monadControl" = self."monad-control";
+  "monadCoroutine" = self."monad-coroutine";
+  "monadException" = self."monad-exception";
+  "monadExtras" = self."monad-extras";
+  "monadFork" = self."monad-fork";
+  "monadGen" = self."monad-gen";
+  "monadicArrays" = self."monadic-arrays";
+  "monadiccpGecode" = self."monadiccp-gecode";
+  "monadInterleave" = self."monad-interleave";
+  "monadioUnwrappable" = self."monadio-unwrappable";
+  "monadJournal" = self."monad-journal";
+  "monadLibCompose" = self."monadLib-compose";
+  "monadlocPp" = self."monadloc-pp";
+  "monadLogger" = self."monad-logger";
+  "monadLoggerSyslog" = self."monad-logger-syslog";
+  "monadLoops" = self."monad-loops";
+  "monadLoopsStm" = self."monad-loops-stm";
+  "monadLrs" = self."monad-lrs";
+  "monadMemo" = self."monad-memo";
+  "monadMersenneRandom" = self."monad-mersenne-random";
+  "monadOx" = self."monad-ox";
+  "monadParallel" = self."monad-parallel";
+  "monadParam" = self."monad-param";
+  "monadParExtras" = self."monad-par-extras";
+  "monadPar" = self."monad-par";
+  "monadPeel" = self."monad-peel";
+  "monadPrimitive" = self."monad-primitive";
+  "monadProducts" = self."monad-products";
+  "monadRan" = self."monad-ran";
+  "monadResumption" = self."monad-resumption";
+  "monadsFd" = self."monads-fd";
+  "monadState" = self."monad-state";
+  "monadStatevar" = self."monad-statevar";
+  "monadsTf" = self."monads-tf";
+  "monadStlikeIo" = self."monad-stlike-io";
+  "monadStlikeStm" = self."monad-stlike-stm";
+  "monadStm" = self."monad-stm";
+  "monadSt" = self."monad-st";
+  "monadSupply" = self."monad-supply";
+  "monadTask" = self."monad-task";
+  "monadTx" = self."monad-tx";
+  "monadUnify" = self."monad-unify";
+  "monadWrap" = self."monad-wrap";
+  "MonatronIO" = self."Monatron-IO";
+  "mongodbQueue" = self."mongodb-queue";
+  "mongrel2Handler" = self."mongrel2-handler";
+  "monoFoldable" = self."mono-foldable";
+  "monoidExtras" = self."monoid-extras";
+  "monoidOwns" = self."monoid-owns";
+  "monoidRecord" = self."monoid-record";
+  "monoidStatistics" = self."monoid-statistics";
+  "monoidSubclasses" = self."monoid-subclasses";
+  "monoidTransformer" = self."monoid-transformer";
+  "monoTraversable" = self."mono-traversable";
+  "montageClient" = self."montage-client";
+  "monteCarlo" = self."monte-carlo";
+  "mqttHs" = self."mqtt-hs";
+  "msgpackIdl" = self."msgpack-idl";
+  "msgpackRpc" = self."msgpack-rpc";
+  "mtlEvilInstances" = self."mtl-evil-instances";
+  "mtlPrelude" = self."mtl-prelude";
+  "mtlTf" = self."mtl-tf";
+  "multextEastMsd" = self."multext-east-msd";
+  "multiplateSimplified" = self."multiplate-simplified";
+  "multirecAltDeriver" = self."multirec-alt-deriver";
+  "multirecBinary" = self."multirec-binary";
+  "multisetComb" = self."multiset-comb";
+  "MunkresSimple" = self."Munkres-simple";
+  "murmurHash" = self."murmur-hash";
+  "musicArticulation" = self."music-articulation";
+  "musicbrainzEmail" = self."musicbrainz-email";
+  "MusicBrainzLibdiscid" = self."MusicBrainz-libdiscid";
+  "musicDiatonic" = self."music-diatonic";
+  "musicDynamicsLiteral" = self."music-dynamics-literal";
+  "musicDynamics" = self."music-dynamics";
+  "musicGraphics" = self."music-graphics";
+  "musicParts" = self."music-parts";
+  "musicPitchLiteral" = self."music-pitch-literal";
+  "musicPitch" = self."music-pitch";
+  "musicPreludes" = self."music-preludes";
+  "musicScore" = self."music-score";
+  "musicSibelius" = self."music-sibelius";
+  "musicSuite" = self."music-suite";
+  "musicUtil" = self."music-util";
+  "mustacheHaskell" = self."mustache-haskell";
+  "mutableIter" = self."mutable-iter";
+  "muteUnmute" = self."mute-unmute";
+  "mvcUpdates" = self."mvc-updates";
+  "mwcRandomMonad" = self."mwc-random-monad";
+  "mwcRandom" = self."mwc-random";
+  "mybitcoinSci" = self."mybitcoin-sci";
+  "mysnapsessionExample" = self."mysnapsession-example";
+  "mysqlEffect" = self."mysql-effect";
+  "mysqlSimpleQuasi" = self."mysql-simple-quasi";
+  "mysqlSimple" = self."mysql-simple";
+  "nagiosCheck" = self."nagios-check";
+  "nagiosPerfdata" = self."nagios-perfdata";
+  "namedFormlet" = self."named-formlet";
+  "namedLock" = self."named-lock";
+  "namedRecords" = self."named-records";
+  "namesTh" = self."names-th";
+  "nanoCryptr" = self."nano-cryptr";
+  "nanoHmac" = self."nano-hmac";
+  "nanoMd5" = self."nano-md5";
+  "nanomsgHaskell" = self."nanomsg-haskell";
+  "natsQueue" = self."nats-queue";
+  "naturalNumber" = self."natural-number";
+  "naturalNumbers" = self."natural-numbers";
+  "naturalSort" = self."natural-sort";
+  "ncIndicators" = self."nc-indicators";
+  "neatInterpolation" = self."neat-interpolation";
+  "neheTuts" = self."nehe-tuts";
+  "nemesisTitan" = self."nemesis-titan";
+  "nestedSets" = self."nested-sets";
+  "netConcurrent" = self."net-concurrent";
+  "netlistToVhdl" = self."netlist-to-vhdl";
+  "netstringEnumerator" = self."netstring-enumerator";
+  "nettleFrp" = self."nettle-frp";
+  "nettleNetkit" = self."nettle-netkit";
+  "nettleOpenflow" = self."nettle-openflow";
+  "netwireInputGlfw" = self."netwire-input-glfw";
+  "netwireInput" = self."netwire-input";
+  "networkAddress" = self."network-address";
+  "networkApiSupport" = self."network-api-support";
+  "networkBitcoin" = self."network-bitcoin";
+  "networkBytestring" = self."network-bytestring";
+  "networkCarbon" = self."network-carbon";
+  "networkConduit" = self."network-conduit";
+  "networkConduitTls" = self."network-conduit-tls";
+  "networkConnection" = self."network-connection";
+  "networkData" = self."network-data";
+  "networkDbus" = self."network-dbus";
+  "networkDns" = self."network-dns";
+  "networkedGame" = self."networked-game";
+  "networkEnumerator" = self."network-enumerator";
+  "networkFancy" = self."network-fancy";
+  "networkHouse" = self."network-house";
+  "networkInfo" = self."network-info";
+  "networkInterfacerequest" = self."network-interfacerequest";
+  "networkIp" = self."network-ip";
+  "networkMetrics" = self."network-metrics";
+  "networkMinihttp" = self."network-minihttp";
+  "networkMsg" = self."network-msg";
+  "networkMulticast" = self."network-multicast";
+  "networkNetpacket" = self."network-netpacket";
+  "NetworkNineP" = self."Network-NineP";
+  "networkPgi" = self."network-pgi";
+  "networkProtocolXmpp" = self."network-protocol-xmpp";
+  "networkRpca" = self."network-rpca";
+  "networkServer" = self."network-server";
+  "networkService" = self."network-service";
+  "networkSimple" = self."network-simple";
+  "networkSimpleSockaddr" = self."network-simple-sockaddr";
+  "networkSimpleTls" = self."network-simple-tls";
+  "networkSocketOptions" = self."network-socket-options";
+  "networkStream" = self."network-stream";
+  "networkTopicModels" = self."network-topic-models";
+  "networkTransport" = self."network-transport";
+  "networkTransportTcp" = self."network-transport-tcp";
+  "networkTransportTests" = self."network-transport-tests";
+  "networkTransportZeromq" = self."network-transport-zeromq";
+  "networkUri" = self."network-uri";
+  "networkWaiRouter" = self."network-wai-router";
+  "networkWebsocket" = self."network-websocket";
+  "newtypeGenerics" = self."newtype-generics";
+  "newtypeTh" = self."newtype-th";
+  "nextstepPlist" = self."nextstep-plist";
+  "ngramsLoader" = self."ngrams-loader";
+  "nixosTypes" = self."nixos-types";
+  "nlpScoresScripts" = self."nlp-scores-scripts";
+  "nlpScores" = self."nlp-scores";
+  "nM" = self."n-m";
+  "NomyxCore" = self."Nomyx-Core";
+  "NomyxLanguage" = self."Nomyx-Language";
+  "NomyxRules" = self."Nomyx-Rules";
+  "NomyxWeb" = self."Nomyx-Web";
+  "nonEmpty" = self."non-empty";
+  "nonlinearOptimizationAd" = self."nonlinear-optimization-ad";
+  "nonlinearOptimization" = self."nonlinear-optimization";
+  "nonNegative" = self."non-negative";
+  "noRoleAnnots" = self."no-role-annots";
+  "notGlossExamples" = self."not-gloss-examples";
+  "notGloss" = self."not-gloss";
+  "notInBase" = self."not-in-base";
+  "notmuchHaskell" = self."notmuch-haskell";
+  "notmuchWeb" = self."notmuch-web";
+  "npExtras" = self."np-extras";
+  "npLinear" = self."np-linear";
+  "ntpControl" = self."ntp-control";
+  "nullCanvas" = self."null-canvas";
+  "numeralsBase" = self."numerals-base";
+  "numericExtras" = self."numeric-extras";
+  "numericLimits" = self."numeric-limits";
+  "numericPrelude" = self."numeric-prelude";
+  "numericQq" = self."numeric-qq";
+  "numericQuest" = self."numeric-quest";
+  "numericTools" = self."numeric-tools";
+  "numtypeTf" = self."numtype-tf";
+  "offSimple" = self."off-simple";
+  "ohlohHs" = self."ohloh-hs";
+  "oisInputManager" = self."ois-input-manager";
+  "oldLocale" = self."old-locale";
+  "oldTime" = self."old-time";
+  "onAHorse" = self."on-a-horse";
+  "onDemandSshTunnel" = self."on-demand-ssh-tunnel";
+  "oneLiner" = self."one-liner";
+  "onuCourse" = self."onu-course";
+  "ooPrototypes" = self."oo-prototypes";
+  "OpenAFPUtils" = self."OpenAFP-Utils";
+  "opencvRaw" = self."opencv-raw";
+  "openPandoc" = self."open-pandoc";
+  "openpgpAsciiarmor" = self."openpgp-asciiarmor";
+  "openpgpCryptoApi" = self."openpgp-crypto-api";
+  "openpgpCrypto" = self."openpgp-Crypto";
+  "opensoundcontrolHt" = self."opensoundcontrol-ht";
+  "opensslCreatekey" = self."openssl-createkey";
+  "opensslStreams" = self."openssl-streams";
+  "opentheoryChar" = self."opentheory-char";
+  "opentheoryParser" = self."opentheory-parser";
+  "opentheoryPrime" = self."opentheory-prime";
+  "opentheoryPrimitive" = self."opentheory-primitive";
+  "openTyperep" = self."open-typerep";
+  "openUnion" = self."open-union";
+  "openWitness" = self."open-witness";
+  "optimalBlocks" = self."optimal-blocks";
+  "optionsTime" = self."options-time";
+  "optparseApplicative" = self."optparse-applicative";
+  "orchidDemo" = self."orchid-demo";
+  "ordAdhoc" = self."ord-adhoc";
+  "orderStatistics" = self."order-statistics";
+  "organizeImports" = self."organize-imports";
+  "orgmodeParse" = self."orgmode-parse";
+  "osmDownload" = self."osm-download";
+  "osRelease" = self."os-release";
+  "osxAr" = self."osx-ar";
+  "ottparsePretty" = self."ottparse-pretty";
+  "packageOTron" = self."package-o-tron";
+  "packageVt" = self."package-vt";
+  "packedDawg" = self."packed-dawg";
+  "pacmanMemcache" = self."pacman-memcache";
+  "pandocCiteproc" = self."pandoc-citeproc";
+  "pandocLens" = self."pandoc-lens";
+  "pandocTypes" = self."pandoc-types";
+  "pandocUnlit" = self."pandoc-unlit";
+  "parallelIo" = self."parallel-io";
+  "parallelTasks" = self."parallel-tasks";
+  "parallelTreeSearch" = self."parallel-tree-search";
+  "parameterizedData" = self."parameterized-data";
+  "parcoAttoparsec" = self."parco-attoparsec";
+  "parcomLib" = self."parcom-lib";
+  "parconcExamples" = self."parconc-examples";
+  "parcoParsec" = self."parco-parsec";
+  "parsec3Numbers" = self."parsec3-numbers";
+  "parsecExtra" = self."parsec-extra";
+  "parsecNumbers" = self."parsec-numbers";
+  "parsecParsers" = self."parsec-parsers";
+  "parsecPermutation" = self."parsec-permutation";
+  "parsecTagsoup" = self."parsec-tagsoup";
+  "parsecUtils" = self."parsec-utils";
+  "parseDimacs" = self."parse-dimacs";
+  "parseHelp" = self."parse-help";
+  "parserHelper" = self."parser-helper";
+  "partialHandler" = self."partial-handler";
+  "partialIsomorphisms" = self."partial-isomorphisms";
+  "partialLens" = self."partial-lens";
+  "partialUri" = self."partial-uri";
+  "patchCombinators" = self."patch-combinators";
+  "patchImage" = self."patch-image";
+  "pathPieces" = self."path-pieces";
+  "patternArrows" = self."pattern-arrows";
+  "paypalApi" = self."paypal-api";
+  "pcapConduit" = self."pcap-conduit";
+  "pcapEnumerator" = self."pcap-enumerator";
+  "pcdLoader" = self."pcd-loader";
+  "PCLTDB" = self."PCLT-DB";
+  "pcreLess" = self."pcre-less";
+  "pcreLightExtra" = self."pcre-light-extra";
+  "pcreLight" = self."pcre-light";
+  "pcreUtils" = self."pcre-utils";
+  "pdfToolboxContent" = self."pdf-toolbox-content";
+  "pdfToolboxCore" = self."pdf-toolbox-core";
+  "pdfToolboxDocument" = self."pdf-toolbox-document";
+  "pdfToolboxViewer" = self."pdf-toolbox-viewer";
+  "peanoInf" = self."peano-inf";
+  "pennTreebank" = self."penn-treebank";
+  "pennyBin" = self."penny-bin";
+  "pennyLib" = self."penny-lib";
+  "persistableRecord" = self."persistable-record";
+  "persistentCereal" = self."persistent-cereal";
+  "persistentEquivalence" = self."persistent-equivalence";
+  "persistentHssqlppp" = self."persistent-hssqlppp";
+  "persistentMap" = self."persistent-map";
+  "persistentMongoDB" = self."persistent-mongoDB";
+  "persistentMysql" = self."persistent-mysql";
+  "persistentOdbc" = self."persistent-odbc";
+  "persistentPostgresql" = self."persistent-postgresql";
+  "persistentProtobuf" = self."persistent-protobuf";
+  "persistentRedis" = self."persistent-redis";
+  "persistentRefs" = self."persistent-refs";
+  "persistentSqlite" = self."persistent-sqlite";
+  "persistentTemplate" = self."persistent-template";
+  "persistentVector" = self."persistent-vector";
+  "persistentZookeeper" = self."persistent-zookeeper";
+  "pgHarness" = self."pg-harness";
+  "pgsqlSimple" = self."pgsql-simple";
+  "phantomState" = self."phantom-state";
+  "phonePush" = self."phone-push";
+  "phoneticCode" = self."phonetic-code";
+  "piCalculus" = self."pi-calculus";
+  "pipesAeson" = self."pipes-aeson";
+  "pipesAttoparsec" = self."pipes-attoparsec";
+  "pipesAttoparsecStreaming" = self."pipes-attoparsec-streaming";
+  "pipesBinary" = self."pipes-binary";
+  "pipesBytestring" = self."pipes-bytestring";
+  "pipesCerealPlus" = self."pipes-cereal-plus";
+  "pipesConcurrency" = self."pipes-concurrency";
+  "pipesConduit" = self."pipes-conduit";
+  "pipesCore" = self."pipes-core";
+  "pipesCourier" = self."pipes-courier";
+  "pipesCsv" = self."pipes-csv";
+  "pipesErrors" = self."pipes-errors";
+  "pipesExtra" = self."pipes-extra";
+  "pipesExtras" = self."pipes-extras";
+  "pipesGroup" = self."pipes-group";
+  "pipesHttp" = self."pipes-http";
+  "pipesInterleave" = self."pipes-interleave";
+  "pipesNetwork" = self."pipes-network";
+  "pipesNetworkTls" = self."pipes-network-tls";
+  "pipesP2pExamples" = self."pipes-p2p-examples";
+  "pipesP2p" = self."pipes-p2p";
+  "pipesParse" = self."pipes-parse";
+  "pipesPostgresqlSimple" = self."pipes-postgresql-simple";
+  "pipesRt" = self."pipes-rt";
+  "pipesSafe" = self."pipes-safe";
+  "pipesShell" = self."pipes-shell";
+  "pipesText" = self."pipes-text";
+  "pipesVector" = self."pipes-vector";
+  "pipesWai" = self."pipes-wai";
+  "pipesWebsockets" = self."pipes-websockets";
+  "pipesZlib" = self."pipes-zlib";
+  "planarGraph" = self."planar-graph";
+  "plotGtk3" = self."plot-gtk3";
+  "plotGtk" = self."plot-gtk";
+  "PlotHoMatic" = self."Plot-ho-matic";
+  "plotLab" = self."plot-lab";
+  "plotserverApi" = self."plotserver-api";
+  "pluginsAuto" = self."plugins-auto";
+  "pluginsMultistage" = self."plugins-multistage";
+  "plyLoader" = self."ply-loader";
+  "pngFile" = self."png-file";
+  "pngloadFixed" = self."pngload-fixed";
+  "pointlessFun" = self."pointless-fun";
+  "pointlessHaskell" = self."pointless-haskell";
+  "pointlessLenses" = self."pointless-lenses";
+  "pointlessRewrite" = self."pointless-rewrite";
+  "pokerEval" = self."poker-eval";
+  "polhLexicon" = self."polh-lexicon";
+  "polynomialsBernstein" = self."polynomials-bernstein";
+  "polytypeableUtils" = self."polytypeable-utils";
+  "pontariusMediaserver" = self."pontarius-mediaserver";
+  "pontariusXmpp" = self."pontarius-xmpp";
+  "pontariusXpmn" = self."pontarius-xpmn";
+  "poolConduit" = self."pool-conduit";
+  "pooledIo" = self."pooled-io";
+  "pop3Client" = self."pop3-client";
+  "populateSetupExeCache" = self."populate-setup-exe-cache";
+  "portableLines" = self."portable-lines";
+  "posixAcl" = self."posix-acl";
+  "posixEscape" = self."posix-escape";
+  "posixFilelock" = self."posix-filelock";
+  "posixPaths" = self."posix-paths";
+  "posixPty" = self."posix-pty";
+  "posixRealtime" = self."posix-realtime";
+  "posixTimer" = self."posix-timer";
+  "posixWaitpid" = self."posix-waitpid";
+  "postgresqlBinary" = self."postgresql-binary";
+  "postgresqlCopyEscape" = self."postgresql-copy-escape";
+  "postgresqlLibpq" = self."postgresql-libpq";
+  "postgresqlOrm" = self."postgresql-orm";
+  "postgresqlSimpleMigration" = self."postgresql-simple-migration";
+  "postgresqlSimple" = self."postgresql-simple";
+  "postgresqlSimpleSop" = self."postgresql-simple-sop";
+  "postMessAge" = self."post-mess-age";
+  "pqueueMtl" = self."pqueue-mtl";
+  "practiceRoom" = self."practice-room";
+  "prednoteTest" = self."prednote-test";
+  "prefixUnits" = self."prefix-units";
+  "preludeExtras" = self."prelude-extras";
+  "preludeGeneralize" = self."prelude-generalize";
+  "preludePlus" = self."prelude-plus";
+  "preludePrime" = self."prelude-prime";
+  "preludeSafeenum" = self."prelude-safeenum";
+  "preprocessorTools" = self."preprocessor-tools";
+  "prettyClass" = self."pretty-class";
+  "prettyCompact" = self."pretty-compact";
+  "prettyHex" = self."pretty-hex";
+  "prettyNcols" = self."pretty-ncols";
+  "prettyShow" = self."pretty-show";
+  "prettySop" = self."pretty-sop";
+  "prettyTree" = self."pretty-tree";
+  "primulaBoard" = self."primula-board";
+  "primulaBot" = self."primula-bot";
+  "primUniq" = self."prim-uniq";
+  "printfMauke" = self."printf-mauke";
+  "PrintfTH" = self."Printf-TH";
+  "priorityQueue" = self."priority-queue";
+  "prioritySync" = self."priority-sync";
+  "privilegedConcurrency" = self."privileged-concurrency";
+  "processConduit" = self."process-conduit";
+  "processExtras" = self."process-extras";
+  "processIterio" = self."process-iterio";
+  "processLeksah" = self."process-leksah";
+  "processListlike" = self."process-listlike";
+  "processProgress" = self."process-progress";
+  "processQq" = self."process-qq";
+  "processStreaming" = self."process-streaming";
+  "procrastinatingStructure" = self."procrastinating-structure";
+  "procrastinatingVariable" = self."procrastinating-variable";
+  "productProfunctors" = self."product-profunctors";
+  "profunctorExtras" = self."profunctor-extras";
+  "proj4HsBindings" = self."proj4-hs-bindings";
+  "projectTemplate" = self."project-template";
+  "prologGraphLib" = self."prolog-graph-lib";
+  "prologGraph" = self."prolog-graph";
+  "propertyList" = self."property-list";
+  "protobufNative" = self."protobuf-native";
+  "protocolBuffersDescriptorFork" = self."protocol-buffers-descriptor-fork";
+  "protocolBuffersDescriptor" = self."protocol-buffers-descriptor";
+  "protocolBuffersFork" = self."protocol-buffers-fork";
+  "protocolBuffers" = self."protocol-buffers";
+  "proveEverywhereServer" = self."prove-everywhere-server";
+  "proxyKindness" = self."proxy-kindness";
+  "pugsCompat" = self."pugs-compat";
+  "pugsDrIFT" = self."pugs-DrIFT";
+  "pugsHsregex" = self."pugs-hsregex";
+  "pugsHsSyck" = self."pugs-HsSyck";
+  "pulseSimple" = self."pulse-simple";
+  "PupEventsClient" = self."Pup-Events-Client";
+  "PupEventsDemo" = self."Pup-Events-Demo";
+  "PupEventsPQueue" = self."Pup-Events-PQueue";
+  "PupEvents" = self."Pup-Events";
+  "PupEventsServer" = self."Pup-Events-Server";
+  "pureCdb" = self."pure-cdb";
+  "pureFft" = self."pure-fft";
+  "pureIo" = self."pure-io";
+  "purePriorityQueue" = self."pure-priority-queue";
+  "purePriorityQueueTests" = self."pure-priority-queue-tests";
+  "pureZlib" = self."pure-zlib";
+  "pushNotifyCcs" = self."push-notify-ccs";
+  "pushNotifyGeneral" = self."push-notify-general";
+  "pushNotify" = self."push-notify";
+  "puzzleDrawCmdline" = self."puzzle-draw-cmdline";
+  "puzzleDraw" = self."puzzle-draw";
+  "pwstoreCli" = self."pwstore-cli";
+  "pwstoreFast" = self."pwstore-fast";
+  "pwstorePurehaskell" = self."pwstore-purehaskell";
+  "pxslTools" = self."pxsl-tools";
+  "pythonPickle" = self."python-pickle";
+  "qcOiTestgenerator" = self."qc-oi-testgenerator";
+  "qdVec" = self."qd-vec";
+  "qhullSimple" = self."qhull-simple";
+  "quadraticIrrational" = self."quadratic-irrational";
+  "quandlApi" = self."quandl-api";
+  "quantumArrow" = self."quantum-arrow";
+  "querystringPickle" = self."querystring-pickle";
+  "quickcheckAssertions" = self."quickcheck-assertions";
+  "QuickCheckGenT" = self."QuickCheck-GenT";
+  "quickcheckInstances" = self."quickcheck-instances";
+  "quickcheckIo" = self."quickcheck-io";
+  "quickcheckPoly" = self."quickcheck-poly";
+  "quickcheckProperties" = self."quickcheck-properties";
+  "quickcheckPropertyComb" = self."quickcheck-property-comb";
+  "quickcheckPropertyMonad" = self."quickcheck-property-monad";
+  "quickcheckRegex" = self."quickcheck-regex";
+  "quickcheckRelaxng" = self."quickcheck-relaxng";
+  "quickcheckRematch" = self."quickcheck-rematch";
+  "quickcheckScript" = self."quickcheck-script";
+  "quickcheckUnicode" = self."quickcheck-unicode";
+  "quickcheckWebdriver" = self."quickcheck-webdriver";
+  "quickGenerator" = self."quick-generator";
+  "radiumFormulaParser" = self."radium-formula-parser";
+  "radosHaskell" = self."rados-haskell";
+  "railCompilerEditor" = self."rail-compiler-editor";
+  "rainbowTests" = self."rainbow-tests";
+  "randomAccessList" = self."random-access-list";
+  "randomEffin" = self."random-effin";
+  "randomEff" = self."random-eff";
+  "randomExtras" = self."random-extras";
+  "randomFu" = self."random-fu";
+  "randomShuffle" = self."random-shuffle";
+  "randomSource" = self."random-source";
+  "randomStream" = self."random-stream";
+  "randVars" = self."rand-vars";
+  "RangedSets" = self."Ranged-sets";
+  "rangeSetList" = self."range-set-list";
+  "rangeSpace" = self."range-space";
+  "rateLimit" = self."rate-limit";
+  "ratioInt" = self."ratio-int";
+  "ravenHaskellScotty" = self."raven-haskell-scotty";
+  "ravenHaskell" = self."raven-haskell";
+  "rawstringQm" = self."rawstring-qm";
+  "rawStringsQq" = self."raw-strings-qq";
+  "rdtscEnolan" = self."rdtsc-enolan";
+  "reactHaskell" = self."react-haskell";
+  "reactionLogic" = self."reaction-logic";
+  "reactiveBacon" = self."reactive-bacon";
+  "reactiveBalsa" = self."reactive-balsa";
+  "reactiveBananaSdl" = self."reactive-banana-sdl";
+  "reactiveBanana" = self."reactive-banana";
+  "reactiveBananaThreepenny" = self."reactive-banana-threepenny";
+  "reactiveBananaWx" = self."reactive-banana-wx";
+  "reactiveFieldtrip" = self."reactive-fieldtrip";
+  "reactiveGlut" = self."reactive-glut";
+  "reactiveHaskell" = self."reactive-haskell";
+  "reactiveIo" = self."reactive-io";
+  "reactiveThread" = self."reactive-thread";
+  "readBounded" = self."read-bounded";
+  "readlineStatevar" = self."readline-statevar";
+  "reallySimpleXmlParser" = self."really-simple-xml-parser";
+  "reasonableLens" = self."reasonable-lens";
+  "recordsTh" = self."records-th";
+  "recursionSchemes" = self."recursion-schemes";
+  "recursiveLineCount" = self."recursive-line-count";
+  "redisHs" = self."redis-hs";
+  "redisIo" = self."redis-io";
+  "redisResp" = self."redis-resp";
+  "redisSimple" = self."redis-simple";
+  "refFd" = self."ref-fd";
+  "reflectionExtras" = self."reflection-extras";
+  "reflectionWithoutRemorse" = self."reflection-without-remorse";
+  "refMtl" = self."ref-mtl";
+  "reformBlaze" = self."reform-blaze";
+  "reformHamlet" = self."reform-hamlet";
+  "reformHappstack" = self."reform-happstack";
+  "reformHsp" = self."reform-hsp";
+  "refTf" = self."ref-tf";
+  "regexApplicative" = self."regex-applicative";
+  "regexBase" = self."regex-base";
+  "regexCompat" = self."regex-compat";
+  "regexCompatTdfa" = self."regex-compat-tdfa";
+  "regexDeriv" = self."regex-deriv";
+  "regexDfa" = self."regex-dfa";
+  "regexEasy" = self."regex-easy";
+  "regexGenex" = self."regex-genex";
+  "regexParsec" = self."regex-parsec";
+  "regexPcreBuiltin" = self."regex-pcre-builtin";
+  "regexPcre" = self."regex-pcre";
+  "regexPderiv" = self."regex-pderiv";
+  "regexPosix" = self."regex-posix";
+  "regexPosixUnittest" = self."regex-posix-unittest";
+  "regexprSymbolic" = self."regexpr-symbolic";
+  "regexpTries" = self."regexp-tries";
+  "regexTdfaRc" = self."regex-tdfa-rc";
+  "regexTdfa" = self."regex-tdfa";
+  "regexTdfaText" = self."regex-tdfa-text";
+  "regexTdfaUnittest" = self."regex-tdfa-unittest";
+  "regexTdfaUtf8" = self."regex-tdfa-utf8";
+  "regexTre" = self."regex-tre";
+  "regexXmlschema" = self."regex-xmlschema";
+  "regionalPointers" = self."regional-pointers";
+  "regionsMonadsfd" = self."regions-monadsfd";
+  "regionsMonadstf" = self."regions-monadstf";
+  "regionsMtl" = self."regions-mtl";
+  "regularExtras" = self."regular-extras";
+  "regularWeb" = self."regular-web";
+  "regularXmlpickler" = self."regular-xmlpickler";
+  "reifiedRecords" = self."reified-records";
+  "reinterpretCast" = self."reinterpret-cast";
+  "relationalQueryHDBC" = self."relational-query-HDBC";
+  "relationalQuery" = self."relational-query";
+  "relationalRecordExamples" = self."relational-record-examples";
+  "relationalRecord" = self."relational-record";
+  "relationalSchemas" = self."relational-schemas";
+  "relativeDate" = self."relative-date";
+  "rematchText" = self."rematch-text";
+  "remoteDebugger" = self."remote-debugger";
+  "repaAlgorithms" = self."repa-algorithms";
+  "repaBytestring" = self."repa-bytestring";
+  "repaDevil" = self."repa-devil";
+  "repaExamples" = self."repa-examples";
+  "repaFftw" = self."repa-fftw";
+  "repaIo" = self."repa-io";
+  "repaPlugin" = self."repa-plugin";
+  "repaSeries" = self."repa-series";
+  "repaSndfile" = self."repa-sndfile";
+  "repaV4l2" = self."repa-v4l2";
+  "repoBasedBlog" = self."repo-based-blog";
+  "representableFunctors" = self."representable-functors";
+  "representableProfunctors" = self."representable-profunctors";
+  "representableTries" = self."representable-tries";
+  "reprTreeSyb" = self."repr-tree-syb";
+  "requestMonad" = self."request-monad";
+  "resourceEffect" = self."resource-effect";
+  "resourcePoolCatchio" = self."resource-pool-catchio";
+  "resourcePool" = self."resource-pool";
+  "resourceSimple" = self."resource-simple";
+  "restClient" = self."rest-client";
+  "restCore" = self."rest-core";
+  "restExample" = self."rest-example";
+  "restfulSnap" = self."restful-snap";
+  "restGen" = self."rest-gen";
+  "restHappstack" = self."rest-happstack";
+  "restrictedWorkers" = self."restricted-workers";
+  "restSnap" = self."rest-snap";
+  "restStringmap" = self."rest-stringmap";
+  "restTypes" = self."rest-types";
+  "restWai" = self."rest-wai";
+  "resumableExceptions" = self."resumable-exceptions";
+  "rethinkdbClientDriver" = self."rethinkdb-client-driver";
+  "rethinkdbWereHamster" = self."rethinkdb-wereHamster";
+  "reverseApply" = self."reverse-apply";
+  "revState" = self."rev-state";
+  "riakProtobuf" = self."riak-protobuf";
+  "rippleFederation" = self."ripple-federation";
+  "RlangQQ" = self."Rlang-QQ";
+  "rngUtils" = self."rng-utils";
+  "robotsTxt" = self."robots-txt";
+  "rocksdbHaskell" = self."rocksdb-haskell";
+  "roguestarEngine" = self."roguestar-engine";
+  "roguestarGl" = self."roguestar-gl";
+  "roguestarGlut" = self."roguestar-glut";
+  "rollingQueue" = self."rolling-queue";
+  "romanNumerals" = self."roman-numerals";
+  "rotatingLog" = self."rotating-log";
+  "roundtripString" = self."roundtrip-string";
+  "roundtripXml" = self."roundtrip-xml";
+  "routeGenerator" = self."route-generator";
+  "routePlanning" = self."route-planning";
+  "rpcFramework" = self."rpc-framework";
+  "rsaglFrp" = self."rsagl-frp";
+  "rsaglMath" = self."rsagl-math";
+  "rtorrentRpc" = self."rtorrent-rpc";
+  "rtorrentState" = self."rtorrent-state";
+  "rubyQq" = self."ruby-qq";
+  "rulerCore" = self."ruler-core";
+  "s3Signer" = self."s3-signer";
+  "safeAccess" = self."safe-access";
+  "safeFailureCme" = self."safe-failure-cme";
+  "safeFailure" = self."safe-failure";
+  "safeFreeze" = self."safe-freeze";
+  "safeGlobals" = self."safe-globals";
+  "safeLazyIo" = self."safe-lazy-io";
+  "safePlugins" = self."safe-plugins";
+  "saferFileHandlesBytestring" = self."safer-file-handles-bytestring";
+  "saferFileHandles" = self."safer-file-handles";
+  "saferFileHandlesText" = self."safer-file-handles-text";
+  "saiShapeSyb" = self."sai-shape-syb";
+  "salviaDemo" = self."salvia-demo";
+  "salviaExtras" = self."salvia-extras";
+  "salviaProtocol" = self."salvia-protocol";
+  "salviaSessions" = self."salvia-sessions";
+  "salviaWebsocket" = self."salvia-websocket";
+  "sampleFrameNp" = self."sample-frame-np";
+  "sampleFrame" = self."sample-frame";
+  "samtoolsConduit" = self."samtools-conduit";
+  "samtoolsEnumerator" = self."samtools-enumerator";
+  "samtoolsIteratee" = self."samtools-iteratee";
+  "satchmoBackends" = self."satchmo-backends";
+  "satchmoExamples" = self."satchmo-examples";
+  "satchmoFunsat" = self."satchmo-funsat";
+  "satchmoMinisat" = self."satchmo-minisat";
+  "satMicroHs" = self."sat-micro-hs";
+  "sc3Rdu" = self."sc3-rdu";
+  "scalableServer" = self."scalable-server";
+  "scanVectorMachine" = self."scan-vector-machine";
+  "scholdocCiteproc" = self."scholdoc-citeproc";
+  "scholdocTexmath" = self."scholdoc-texmath";
+  "scholdocTypes" = self."scholdoc-types";
+  "scienceConstantsDimensional" = self."science-constants-dimensional";
+  "scienceConstants" = self."science-constants";
+  "scionBrowser" = self."scion-browser";
+  "sciRatio" = self."sci-ratio";
+  "scopeCairo" = self."scope-cairo";
+  "scottyBindingPlay" = self."scotty-binding-play";
+  "scottyBlaze" = self."scotty-blaze";
+  "scottyCookie" = self."scotty-cookie";
+  "scottyFay" = self."scotty-fay";
+  "scottyHastache" = self."scotty-hastache";
+  "scottySession" = self."scotty-session";
+  "scottyTls" = self."scotty-tls";
+  "scpStreams" = self."scp-streams";
+  "scrabbleBot" = self."scrabble-bot";
+  "scytherProof" = self."scyther-proof";
+  "sdeSolver" = self."sde-solver";
+  "sdl2Image" = self."sdl2-image";
+  "SDL2Ttf" = self."SDL2-ttf";
+  "SDLGfx" = self."SDL-gfx";
+  "SDLImage" = self."SDL-image";
+  "SDLMixer" = self."SDL-mixer";
+  "SDLMpeg" = self."SDL-mpeg";
+  "SDLTtf" = self."SDL-ttf";
+  "sealModule" = self."seal-module";
+  "secretSanta" = self."secret-santa";
+  "secretSharing" = self."secret-sharing";
+  "secureSockets" = self."secure-sockets";
+  "seleniumServer" = self."selenium-server";
+  "semaphorePlus" = self."semaphore-plus";
+  "semigroupoidExtras" = self."semigroupoid-extras";
+  "semigroupoidsSyntax" = self."semigroupoids-syntax";
+  "semigroupsActions" = self."semigroups-actions";
+  "semiIso" = self."semi-iso";
+  "semiringSimple" = self."semiring-simple";
+  "seqlocDatafiles" = self."seqloc-datafiles";
+  "sequentCore" = self."sequent-core";
+  "sequentialIndex" = self."sequential-index";
+  "serialTestGenerators" = self."serial-test-generators";
+  "servantClient" = self."servant-client";
+  "servantDocs" = self."servant-docs";
+  "servantJquery" = self."servant-jquery";
+  "servantPool" = self."servant-pool";
+  "servantPostgresql" = self."servant-postgresql";
+  "servantResponse" = self."servant-response";
+  "servantScotty" = self."servant-scotty";
+  "servantServer" = self."servant-server";
+  "sesHtml" = self."ses-html";
+  "sesHtmlSnaplet" = self."ses-html-snaplet";
+  "setCover" = self."set-cover";
+  "setExtra" = self."set-extra";
+  "setMonad" = self."set-monad";
+  "sexpShow" = self."sexp-show";
+  "sfmlAudio" = self."sfml-audio";
+  "SFMLControl" = self."SFML-control";
+  "shadyGen" = self."shady-gen";
+  "shadyGraphics" = self."shady-graphics";
+  "shakeCabalBuild" = self."shake-cabal-build";
+  "shakeExtras" = self."shake-extras";
+  "shakeLanguageC" = self."shake-language-c";
+  "shakespeareCss" = self."shakespeare-css";
+  "shakespeareI18n" = self."shakespeare-i18n";
+  "shakespeareJs" = self."shakespeare-js";
+  "shakespeareText" = self."shakespeare-text";
+  "shapelyData" = self."shapely-data";
+  "sharedBuffer" = self."shared-buffer";
+  "sharedMemory" = self."shared-memory";
+  "shaStreams" = self."sha-streams";
+  "ShellacCompatline" = self."Shellac-compatline";
+  "ShellacEditline" = self."Shellac-editline";
+  "ShellacHaskeline" = self."Shellac-haskeline";
+  "ShellacReadline" = self."Shellac-readline";
+  "shellConduit" = self."shell-conduit";
+  "shellEscape" = self."shell-escape";
+  "shellPipe" = self."shell-pipe";
+  "shellyExtra" = self."shelly-extra";
+  "shiversCfg" = self."shivers-cfg";
+  "shortenStrings" = self."shorten-strings";
+  "ShuThing" = self."Shu-thing";
+  "siffletLib" = self."sifflet-lib";
+  "signedMultiset" = self."signed-multiset";
+  "simpleActors" = self."simple-actors";
+  "simpleAtom" = self."simple-atom";
+  "simpleBluetooth" = self."simple-bluetooth";
+  "simpleConduit" = self."simple-conduit";
+  "simpleConfig" = self."simple-config";
+  "simpleCss" = self."simple-css";
+  "simpleCValue" = self."simple-c-value";
+  "simpleEval" = self."simple-eval";
+  "simpleFirewire" = self."simple-firewire";
+  "simpleForm" = self."simple-form";
+  "simpleGeneticAlgorithm" = self."simple-genetic-algorithm";
+  "simpleIndex" = self."simple-index";
+  "simpleircLens" = self."simpleirc-lens";
+  "simpleLog" = self."simple-log";
+  "simpleLogSyslog" = self."simple-log-syslog";
+  "simpleNeuralNetworks" = self."simple-neural-networks";
+  "simpleObserver" = self."simple-observer";
+  "simplePascal" = self."simple-pascal";
+  "simplePipe" = self."simple-pipe";
+  "simplePostgresqlOrm" = self."simple-postgresql-orm";
+  "simpleReflect" = self."simple-reflect";
+  "simpleRope" = self."simple-rope";
+  "simpleSendfile" = self."simple-sendfile";
+  "simpleServer" = self."simple-server";
+  "simpleSession" = self."simple-session";
+  "simpleSessions" = self."simple-sessions";
+  "simpleSmt" = self."simple-smt";
+  "simpleSqlParser" = self."simple-sql-parser";
+  "simpleStackedVm" = self."simple-stacked-vm";
+  "simpleTabular" = self."simple-tabular";
+  "simpleTemplates" = self."simple-templates";
+  "simpleVec3" = self."simple-vec3";
+  "sizedTypes" = self."sized-types";
+  "sizedVector" = self."sized-vector";
+  "slaveThread" = self."slave-thread";
+  "sliceCppGen" = self."slice-cpp-gen";
+  "slotLambda" = self."slot-lambda";
+  "smallptHs" = self."smallpt-hs";
+  "smtLib" = self."smt-lib";
+  "smtpMail" = self."smtp-mail";
+  "smtpsGmail" = self."smtps-gmail";
+  "snakeGame" = self."snake-game";
+  "snapAccept" = self."snap-accept";
+  "snapApp" = self."snap-app";
+  "snapAuthCli" = self."snap-auth-cli";
+  "snapBlazeClay" = self."snap-blaze-clay";
+  "snapBlaze" = self."snap-blaze";
+  "snapConfigurationUtilities" = self."snap-configuration-utilities";
+  "snapCore" = self."snap-core";
+  "snapCors" = self."snap-cors";
+  "snapElm" = self."snap-elm";
+  "snapErrorCollector" = self."snap-error-collector";
+  "snapExtras" = self."snap-extras";
+  "snapletAcidState" = self."snaplet-acid-state";
+  "snapletActionlog" = self."snaplet-actionlog";
+  "snapletAmqp" = self."snaplet-amqp";
+  "snapletAuthAcid" = self."snaplet-auth-acid";
+  "snapletCoffee" = self."snaplet-coffee";
+  "snapletCssMin" = self."snaplet-css-min";
+  "snapletEnvironments" = self."snaplet-environments";
+  "snapletFay" = self."snaplet-fay";
+  "snapletHaxl" = self."snaplet-haxl";
+  "snapletHdbc" = self."snaplet-hdbc";
+  "snapletHslogger" = self."snaplet-hslogger";
+  "snapletI18n" = self."snaplet-i18n";
+  "snapletInfluxdb" = self."snaplet-influxdb";
+  "snapletLss" = self."snaplet-lss";
+  "snapletMandrill" = self."snaplet-mandrill";
+  "snapletMongodbMinimalistic" = self."snaplet-mongodb-minimalistic";
+  "snapletMongoDB" = self."snaplet-mongoDB";
+  "snapletMysqlSimple" = self."snaplet-mysql-simple";
+  "snapletOauth" = self."snaplet-oauth";
+  "snapletPersistent" = self."snaplet-persistent";
+  "snapletPostgresqlSimple" = self."snaplet-postgresql-simple";
+  "snapletPostmark" = self."snaplet-postmark";
+  "snapletRecaptcha" = self."snaplet-recaptcha";
+  "snapletRedis" = self."snaplet-redis";
+  "snapletRedson" = self."snaplet-redson";
+  "snapletRest" = self."snaplet-rest";
+  "snapletRiak" = self."snaplet-riak";
+  "snapletSass" = self."snaplet-sass";
+  "snapletSedna" = self."snaplet-sedna";
+  "snapletSesHtml" = self."snaplet-ses-html";
+  "snapletSqliteSimple" = self."snaplet-sqlite-simple";
+  "snapletStripe" = self."snaplet-stripe";
+  "snapletTasks" = self."snaplet-tasks";
+  "snapletTypedSessions" = self."snaplet-typed-sessions";
+  "snapLoaderDynamic" = self."snap-loader-dynamic";
+  "snapLoaderStatic" = self."snap-loader-static";
+  "snapPredicates" = self."snap-predicates";
+  "snappyFraming" = self."snappy-framing";
+  "snappyIteratee" = self."snappy-iteratee";
+  "snapServer" = self."snap-server";
+  "snapTesting" = self."snap-testing";
+  "snapUtils" = self."snap-utils";
+  "snapWebRoutes" = self."snap-web-routes";
+  "sndfileEnumerators" = self."sndfile-enumerators";
+  "snippetExtractor" = self."snippet-extractor";
+  "snowWhite" = self."snow-white";
+  "soapOpenssl" = self."soap-openssl";
+  "soapTls" = self."soap-tls";
+  "socketActivation" = self."socket-activation";
+  "socketIo" = self."socket-io";
+  "sonicVisualiser" = self."sonic-visualiser";
+  "sortByPinyin" = self."sort-by-pinyin";
+  "sourceCodeServer" = self."source-code-server";
+  "sparseLinAlg" = self."sparse-lin-alg";
+  "spatialMath" = self."spatial-math";
+  "specialFunctors" = self."special-functors";
+  "specializeTh" = self."specialize-th";
+  "specialKeys" = self."special-keys";
+  "speculationTransformers" = self."speculation-transformers";
+  "spellingSuggest" = self."spelling-suggest";
+  "sphinxCli" = self."sphinx-cli";
+  "splitChannel" = self."split-channel";
+  "splitRecord" = self."split-record";
+  "splitTchan" = self."split-tchan";
+  "SpockAuth" = self."Spock-auth";
+  "SpockWorker" = self."Spock-worker";
+  "sqliteSimple" = self."sqlite-simple";
+  "sqlSimpleMysql" = self."sql-simple-mysql";
+  "sqlSimplePool" = self."sql-simple-pool";
+  "sqlSimplePostgresql" = self."sql-simple-postgresql";
+  "sqlSimple" = self."sql-simple";
+  "sqlSimpleSqlite" = self."sql-simple-sqlite";
+  "sqlvalueList" = self."sqlvalue-list";
+  "sqlWords" = self."sql-words";
+  "stableMaps" = self."stable-maps";
+  "stableMemo" = self."stable-memo";
+  "stableTree" = self."stable-tree";
+  "stackPrism" = self."stack-prism";
+  "standaloneHaddock" = self."standalone-haddock";
+  "starToStarContra" = self."star-to-star-contra";
+  "starToStar" = self."star-to-star";
+  "statefulMtl" = self."stateful-mtl";
+  "statePlus" = self."state-plus";
+  "stateRecord" = self."state-record";
+  "StateVarTransformer" = self."StateVar-transformer";
+  "staticHash" = self."static-hash";
+  "staticResources" = self."static-resources";
+  "statisticsDirichlet" = self."statistics-dirichlet";
+  "statisticsFusion" = self."statistics-fusion";
+  "statisticsLinreg" = self."statistics-linreg";
+  "stbImage" = self."stb-image";
+  "stbTruetype" = self."stb-truetype";
+  "stmChannelize" = self."stm-channelize";
+  "stmChans" = self."stm-chans";
+  "stmChunkedQueues" = self."stm-chunked-queues";
+  "stmConduit" = self."stm-conduit";
+  "stmContainers" = self."stm-containers";
+  "stmDelay" = self."stm-delay";
+  "stmFirehose" = self."stm-firehose";
+  "stmIoHooks" = self."stm-io-hooks";
+  "stmLifted" = self."stm-lifted";
+  "stmLinkedlist" = self."stm-linkedlist";
+  "stmOrelseIo" = self."stm-orelse-io";
+  "stmPromise" = self."stm-promise";
+  "stmQueueExtras" = self."stm-queue-extras";
+  "stmSbchan" = self."stm-sbchan";
+  "stmSplit" = self."stm-split";
+  "stmStats" = self."stm-stats";
+  "stmTlist" = self."stm-tlist";
+  "stompConduit" = self."stomp-conduit";
+  "stompPatterns" = self."stomp-patterns";
+  "stompQueue" = self."stomp-queue";
+  "storableComplex" = self."storable-complex";
+  "storableEndian" = self."storable-endian";
+  "storableRecord" = self."storable-record";
+  "storableStaticArray" = self."storable-static-array";
+  "storableTuple" = self."storable-tuple";
+  "storablevectorCarray" = self."storablevector-carray";
+  "storablevectorStreamfusion" = self."storablevector-streamfusion";
+  "StrafunskiATermLib" = self."Strafunski-ATermLib";
+  "StrafunskiSdf2Haskell" = self."Strafunski-Sdf2Haskell";
+  "StrafunskiStrategyLib" = self."Strafunski-StrategyLib";
+  "streamFusion" = self."stream-fusion";
+  "streamingCommons" = self."streaming-commons";
+  "streamMonad" = self."stream-monad";
+  "strictBaseTypes" = self."strict-base-types";
+  "strictConcurrency" = self."strict-concurrency";
+  "strictGhcPlugin" = self."strict-ghc-plugin";
+  "strictIdentity" = self."strict-identity";
+  "strictIo" = self."strict-io";
+  "stringClass" = self."string-class";
+  "stringCombinators" = self."string-combinators";
+  "stringConversions" = self."string-conversions";
+  "stringConvert" = self."string-convert";
+  "stringQq" = self."string-qq";
+  "stringQuote" = self."string-quote";
+  "stringSimilarity" = self."string-similarity";
+  "stringtableAtom" = self."stringtable-atom";
+  "stripeHaskell" = self."stripe-haskell";
+  "structuralInduction" = self."structural-induction";
+  "structuredHaskellMode" = self."structured-haskell-mode";
+  "structuredMongoDB" = self."structured-mongoDB";
+  "stylishHaskell" = self."stylish-haskell";
+  "sunroofCompiler" = self."sunroof-compiler";
+  "sunroofExamples" = self."sunroof-examples";
+  "sunroofServer" = self."sunroof-server";
+  "supercolliderHt" = self."supercollider-ht";
+  "supercolliderMidi" = self."supercollider-midi";
+  "svmLightUtils" = self."svm-light-utils";
+  "svmSimple" = self."svm-simple";
+  "swiftLda" = self."swift-lda";
+  "sybExtras" = self."syb-extras";
+  "sybWithClassInstancesText" = self."syb-with-class-instances-text";
+  "sybWithClass" = self."syb-with-class";
+  "symPlot" = self."sym-plot";
+  "synchronousChannels" = self."synchronous-channels";
+  "syntaxAttoparsec" = self."syntax-attoparsec";
+  "syntaxExampleJson" = self."syntax-example-json";
+  "syntaxExample" = self."syntax-example";
+  "syntaxPretty" = self."syntax-pretty";
+  "syntaxPrinter" = self."syntax-printer";
+  "syntaxTreesForkBairyn" = self."syntax-trees-fork-bairyn";
+  "syntaxTrees" = self."syntax-trees";
+  "synthesizerAlsa" = self."synthesizer-alsa";
+  "synthesizerCore" = self."synthesizer-core";
+  "synthesizerDimensional" = self."synthesizer-dimensional";
+  "synthesizerInference" = self."synthesizer-inference";
+  "synthesizerLlvm" = self."synthesizer-llvm";
+  "synthesizerMidi" = self."synthesizer-midi";
+  "sysAuthSmbclient" = self."sys-auth-smbclient";
+  "systemArgv0" = self."system-argv0";
+  "systemCanonicalpath" = self."system-canonicalpath";
+  "systemCommand" = self."system-command";
+  "systemFileio" = self."system-fileio";
+  "systemFilepath" = self."system-filepath";
+  "systemGpio" = self."system-gpio";
+  "systemInotify" = self."system-inotify";
+  "systemLifted" = self."system-lifted";
+  "systemPosixRedirect" = self."system-posix-redirect";
+  "systemRandomEffect" = self."system-random-effect";
+  "systemTimeMonotonic" = self."system-time-monotonic";
+  "systemUtil" = self."system-util";
+  "systemUuid" = self."system-uuid";
+  "tagBits" = self."tag-bits";
+  "taggedBinary" = self."tagged-binary";
+  "taggedExceptionCore" = self."tagged-exception-core";
+  "taggedList" = self."tagged-list";
+  "taggedTh" = self."tagged-th";
+  "taggedTransformer" = self."tagged-transformer";
+  "taggyLens" = self."taggy-lens";
+  "taglibApi" = self."taglib-api";
+  "tagsetPositional" = self."tagset-positional";
+  "tagsoupHt" = self."tagsoup-ht";
+  "tagsoupParsec" = self."tagsoup-parsec";
+  "tagstreamConduit" = self."tagstream-conduit";
+  "tagStream" = self."tag-stream";
+  "takusenOracle" = self."takusen-oracle";
+  "tamarinProver" = self."tamarin-prover";
+  "tamarinProverTerm" = self."tamarin-prover-term";
+  "tamarinProverTheory" = self."tamarin-prover-theory";
+  "tamarinProverUtils" = self."tamarin-prover-utils";
+  "tastyAntXml" = self."tasty-ant-xml";
+  "tastyGolden" = self."tasty-golden";
+  "tastyHspec" = self."tasty-hspec";
+  "tastyHtml" = self."tasty-html";
+  "tastyHunitAdapter" = self."tasty-hunit-adapter";
+  "tastyHunit" = self."tasty-hunit";
+  "tastyIntegrate" = self."tasty-integrate";
+  "tastyProgram" = self."tasty-program";
+  "tastyQuickcheck" = self."tasty-quickcheck";
+  "tastyRerun" = self."tasty-rerun";
+  "tastySmallcheck" = self."tasty-smallcheck";
+  "tastyTh" = self."tasty-th";
+  "tcacheAWS" = self."tcache-AWS";
+  "tddUtil" = self."tdd-util";
+  "templateDefault" = self."template-default";
+  "templateHaskell" = self."template-haskell";
+  "templateHsml" = self."template-hsml";
+  "temporalCsound" = self."temporal-csound";
+  "temporalMedia" = self."temporal-media";
+  "temporalMusicNotationDemo" = self."temporal-music-notation-demo";
+  "temporalMusicNotation" = self."temporal-music-notation";
+  "temporalMusicNotationWestern" = self."temporal-music-notation-western";
+  "temporaryRc" = self."temporary-rc";
+  "terminalProgressBar" = self."terminal-progress-bar";
+  "terminalSize" = self."terminal-size";
+  "terminationCombinators" = self."termination-combinators";
+  "terminfoHs" = self."terminfo-hs";
+  "termRewriting" = self."term-rewriting";
+  "testFrameworkDoctest" = self."test-framework-doctest";
+  "testFrameworkGolden" = self."test-framework-golden";
+  "testFrameworkHunit" = self."test-framework-hunit";
+  "testFrameworkProgram" = self."test-framework-program";
+  "testFrameworkQuickcheck2" = self."test-framework-quickcheck2";
+  "testFrameworkQuickcheck" = self."test-framework-quickcheck";
+  "testFrameworkSandbox" = self."test-framework-sandbox";
+  "testFramework" = self."test-framework";
+  "testFrameworkSkip" = self."test-framework-skip";
+  "testFrameworkSmallcheck" = self."test-framework-smallcheck";
+  "testFrameworkTestingFeat" = self."test-framework-testing-feat";
+  "testFrameworkThPrime" = self."test-framework-th-prime";
+  "testFrameworkTh" = self."test-framework-th";
+  "testingFeat" = self."testing-feat";
+  "testPkg" = self."test-pkg";
+  "testSandboxHunit" = self."test-sandbox-hunit";
+  "testSandboxQuickcheck" = self."test-sandbox-quickcheck";
+  "testSandbox" = self."test-sandbox";
+  "testShouldbe" = self."test-shouldbe";
+  "testSimple" = self."test-simple";
+  "textBinary" = self."text-binary";
+  "textFormat" = self."text-format";
+  "textFormatSimple" = self."text-format-simple";
+  "textIcu" = self."text-icu";
+  "textIcuTranslit" = self."text-icu-translit";
+  "textJsonQq" = self."text-json-qq";
+  "textLatin1" = self."text-latin1";
+  "textLdap" = self."text-ldap";
+  "textLocaleEncoding" = self."text-locale-encoding";
+  "textManipulate" = self."text-manipulate";
+  "textNormal" = self."text-normal";
+  "textPrinter" = self."text-printer";
+  "textRegisterMachine" = self."text-register-machine";
+  "textShow" = self."text-show";
+  "textStreamDecode" = self."text-stream-decode";
+  "textUtf7" = self."text-utf7";
+  "textXmlGeneric" = self."text-xml-generic";
+  "textXmlQq" = self."text-xml-qq";
+  "tfpTh" = self."tfp-th";
+  "tfRandom" = self."tf-random";
+  "thAlpha" = self."th-alpha";
+  "thBuild" = self."th-build";
+  "thDesugar" = self."th-desugar";
+  "theoremquestClient" = self."theoremquest-client";
+  "thetaFunctions" = self."theta-functions";
+  "thExpandSyns" = self."th-expand-syns";
+  "thExtras" = self."th-extras";
+  "thFold" = self."th-fold";
+  "thInstanceReification" = self."th-instance-reification";
+  "thInstances" = self."th-instances";
+  "thKinds" = self."th-kinds";
+  "thLiftInstances" = self."th-lift-instances";
+  "thLift" = self."th-lift";
+  "thOrphans" = self."th-orphans";
+  "thPrintf" = self."th-printf";
+  "threadLocalStorage" = self."thread-local-storage";
+  "threadsPool" = self."threads-pool";
+  "threepennyGui" = self."threepenny-gui";
+  "thReifyMany" = self."th-reify-many";
+  "thSccs" = self."th-sccs";
+  "thumbnailPlus" = self."thumbnail-plus";
+  "ticTacToe" = self."tic-tac-toe";
+  "tidalVis" = self."tidal-vis";
+  "tieKnot" = self."tie-knot";
+  "timeCompat" = self."time-compat";
+  "timeExtras" = self."time-extras";
+  "timeExts" = self."time-exts";
+  "timeHttp" = self."time-http";
+  "timeIoAccess" = self."time-io-access";
+  "timeLens" = self."time-lens";
+  "timeoutControl" = self."timeout-control";
+  "timeoutWithResults" = self."timeout-with-results";
+  "timePatterns" = self."time-patterns";
+  "timeRecurrence" = self."time-recurrence";
+  "timersUpdatable" = self."timers-updatable";
+  "timeSeries" = self."time-series";
+  "timestampSubprocessLines" = self."timestamp-subprocess-lines";
+  "timeUnits" = self."time-units";
+  "timeW3c" = self."time-w3c";
+  "timezoneOlson" = self."timezone-olson";
+  "timezoneSeries" = self."timezone-series";
+  "timingConvenience" = self."timing-convenience";
+  "tlsDebug" = self."tls-debug";
+  "tlsExtra" = self."tls-extra";
+  "toHaskell" = self."to-haskell";
+  "tokenBucket" = self."token-bucket";
+  "tokyocabinetHaskell" = self."tokyocabinet-haskell";
+  "tokyotyrantHaskell" = self."tokyotyrant-haskell";
+  "tomatoRubatoOpenal" = self."tomato-rubato-openal";
+  "toStringClass" = self."to-string-class";
+  "toStringInstances" = self."to-string-instances";
+  "totalMap" = self."total-map";
+  "traceCall" = self."trace-call";
+  "traceFunctionCall" = self."trace-function-call";
+  "transactionalEvents" = self."transactional-events";
+  "transformersAbort" = self."transformers-abort";
+  "transformersBase" = self."transformers-base";
+  "transformersCompat" = self."transformers-compat";
+  "transformersCompose" = self."transformers-compose";
+  "transformersConvert" = self."transformers-convert";
+  "transformersFree" = self."transformers-free";
+  "transformersRunnable" = self."transformers-runnable";
+  "transformersSupply" = self."transformers-supply";
+  "translatableIntset" = self."translatable-intset";
+  "traverseWithClass" = self."traverse-with-class";
+  "treemapHtml" = self."treemap-html";
+  "treemapHtmlTools" = self."treemap-html-tools";
+  "treeMonad" = self."tree-monad";
+  "treeView" = self."tree-view";
+  "tremulousQuery" = self."tremulous-query";
+  "trivialConstraint" = self."trivial-constraint";
+  "trueName" = self."true-name";
+  "tsessionHappstack" = self."tsession-happstack";
+  "tspViz" = self."tsp-viz";
+  "tupFunctor" = self."tup-functor";
+  "tupleGen" = self."tuple-gen";
+  "tupleHlist" = self."tuple-hlist";
+  "tupleLenses" = self."tuple-lenses";
+  "tupleMorph" = self."tuple-morph";
+  "tuplesHomogenousH98" = self."tuples-homogenous-h98";
+  "tupleTh" = self."tuple-th";
+  "turingMusic" = self."turing-music";
+  "twentefpEventloopGraphics" = self."twentefp-eventloop-graphics";
+  "twentefpGraphs" = self."twentefp-graphs";
+  "twentefpNumber" = self."twentefp-number";
+  "twentefpRosetree" = self."twentefp-rosetree";
+  "twentefpTrees" = self."twentefp-trees";
+  "twentefpWebsockets" = self."twentefp-websockets";
+  "twilightStm" = self."twilight-stm";
+  "twitterConduit" = self."twitter-conduit";
+  "twitterEnumerator" = self."twitter-enumerator";
+  "twitterFeed" = self."twitter-feed";
+  "twitterTypesLens" = self."twitter-types-lens";
+  "twitterTypes" = self."twitter-types";
+  "txtSushi" = self."txt-sushi";
+  "typeableTh" = self."typeable-th";
+  "typeAligned" = self."type-aligned";
+  "typeBooleans" = self."type-booleans";
+  "typeCereal" = self."type-cereal";
+  "typeDigits" = self."type-digits";
+  "typeEq" = self."type-eq";
+  "typeEqualityCheck" = self."type-equality-check";
+  "typeEquality" = self."type-equality";
+  "typeFunctions" = self."type-functions";
+  "typeHint" = self."type-hint";
+  "typeInt" = self."type-int";
+  "typeLevelBst" = self."type-level-bst";
+  "typeLevelNaturalNumberInduction" = self."type-level-natural-number-induction";
+  "typeLevelNaturalNumberOperations" = self."type-level-natural-number-operations";
+  "typeLevelNaturalNumber" = self."type-level-natural-number";
+  "typeLevelNumbers" = self."type-level-numbers";
+  "typeLevel" = self."type-level";
+  "typeLevelSets" = self."type-level-sets";
+  "typelevelTensor" = self."typelevel-tensor";
+  "typeLevelTf" = self."type-level-tf";
+  "typeList" = self."type-list";
+  "typeNatural" = self."type-natural";
+  "typeOrd" = self."type-ord";
+  "typeOrdSpineCereal" = self."type-ord-spine-cereal";
+  "typePrelude" = self."type-prelude";
+  "typesafeEndian" = self."typesafe-endian";
+  "typescriptDocs" = self."typescript-docs";
+  "typeSettheory" = self."type-settheory";
+  "typeSpine" = self."type-spine";
+  "typeStructure" = self."type-structure";
+  "typeSubTh" = self."type-sub-th";
+  "typeUnary" = self."type-unary";
+  "typographyGeometry" = self."typography-geometry";
+  "uaParser" = self."ua-parser";
+  "udbusModel" = self."udbus-model";
+  "uhcLight" = self."uhc-light";
+  "uhcUtil" = self."uhc-util";
+  "uiCommand" = self."ui-command";
+  "unagiChan" = self."unagi-chan";
+  "unagiStreams" = self."unagi-streams";
+  "unambCustom" = self."unamb-custom";
+  "unboundedDelays" = self."unbounded-delays";
+  "unboundedDelaysUnits" = self."unbounded-delays-units";
+  "unboundGenerics" = self."unbound-generics";
+  "unboxedContainers" = self."unboxed-containers";
+  "unicodeNames" = self."unicode-names";
+  "unicodeNormalization" = self."unicode-normalization";
+  "unicodePrelude" = self."unicode-prelude";
+  "unicodeProperties" = self."unicode-properties";
+  "unicodeSymbols" = self."unicode-symbols";
+  "uniEvents" = self."uni-events";
+  "unificationFd" = self."unification-fd";
+  "uniformPair" = self."uniform-pair";
+  "uniGraphs" = self."uni-graphs";
+  "uniHtk" = self."uni-htk";
+  "unionFindArray" = self."union-find-array";
+  "unionFind" = self."union-find";
+  "unionMap" = self."union-map";
+  "uniPosixutil" = self."uni-posixutil";
+  "uniqueLogic" = self."unique-logic";
+  "uniqueLogicTf" = self."unique-logic-tf";
+  "uniReactor" = self."uni-reactor";
+  "unitsDefs" = self."units-defs";
+  "unitsParser" = self."units-parser";
+  "uniUDrawGraph" = self."uni-uDrawGraph";
+  "uniUtil" = self."uni-util";
+  "universalBinary" = self."universal-binary";
+  "universeBase" = self."universe-base";
+  "universeInstancesBase" = self."universe-instances-base";
+  "universeInstancesExtended" = self."universe-instances-extended";
+  "universeInstancesTrans" = self."universe-instances-trans";
+  "universeReverseInstances" = self."universe-reverse-instances";
+  "universeTh" = self."universe-th";
+  "unixBytestring" = self."unix-bytestring";
+  "unixCompat" = self."unix-compat";
+  "unixHandle" = self."unix-handle";
+  "unixIoExtra" = self."unix-io-extra";
+  "unixMemory" = self."unix-memory";
+  "unixProcessConduit" = self."unix-process-conduit";
+  "unixPtyLight" = self."unix-pty-light";
+  "unixTime" = self."unix-time";
+  "UnixutilsShadow" = self."Unixutils-shadow";
+  "unmHip" = self."unm-hip";
+  "unorderedContainersRematch" = self."unordered-containers-rematch";
+  "unorderedContainers" = self."unordered-containers";
+  "unpackFuncs" = self."unpack-funcs";
+  "unrollGhcPlugin" = self."unroll-ghc-plugin";
+  "unsafePromises" = self."unsafe-promises";
+  "unusablePkg" = self."unusable-pkg";
+  "uriConduit" = self."uri-conduit";
+  "uriEncode" = self."uri-encode";
+  "uriEnumeratorFile" = self."uri-enumerator-file";
+  "uriEnumerator" = self."uri-enumerator";
+  "uriTemplater" = self."uri-templater";
+  "uriTemplate" = self."uri-template";
+  "urldispHappstack" = self."urldisp-happstack";
+  "urlGeneric" = self."url-generic";
+  "usbEnumerator" = self."usb-enumerator";
+  "usbIdDatabase" = self."usb-id-database";
+  "usbIteratee" = self."usb-iteratee";
+  "usbSafe" = self."usb-safe";
+  "utf8Env" = self."utf8-env";
+  "utf8Light" = self."utf8-light";
+  "utf8Prelude" = self."utf8-prelude";
+  "utf8String" = self."utf8-string";
+  "utilityHt" = self."utility-ht";
+  "uuagcBootstrap" = self."uuagc-bootstrap";
+  "uuagcCabal" = self."uuagc-cabal";
+  "uuagcDiagrams" = self."uuagc-diagrams";
+  "uuCcoExamples" = self."uu-cco-examples";
+  "uuCcoHutParsing" = self."uu-cco-hut-parsing";
+  "uuCco" = self."uu-cco";
+  "uuCcoUuParsinglib" = self."uu-cco-uu-parsinglib";
+  "uuidAeson" = self."uuid-aeson";
+  "uuidLe" = self."uuid-le";
+  "uuidQuasi" = self."uuid-quasi";
+  "uuInterleaved" = self."uu-interleaved";
+  "uuOptions" = self."uu-options";
+  "uuParsinglib" = self."uu-parsinglib";
+  "uuTc" = self."uu-tc";
+  "uvectorAlgorithms" = self."uvector-algorithms";
+  "uzblWithSource" = self."uzbl-with-source";
+  "v4l2Examples" = self."v4l2-examples";
+  "vacuumCairo" = self."vacuum-cairo";
+  "vacuumGraphviz" = self."vacuum-graphviz";
+  "vacuumOpengl" = self."vacuum-opengl";
+  "vacuumUbigraph" = self."vacuum-ubigraph";
+  "validNames" = self."valid-names";
+  "valueSupply" = self."value-supply";
+  "variablePrecision" = self."variable-precision";
+  "vcsRevision" = self."vcs-revision";
+  "VecBoolean" = self."Vec-Boolean";
+  "VecOpenGLRaw" = self."Vec-OpenGLRaw";
+  "vectFloatingAccelerate" = self."vect-floating-accelerate";
+  "vectFloating" = self."vect-floating";
+  "vectOpengl" = self."vect-opengl";
+  "vectorAlgorithms" = self."vector-algorithms";
+  "vectorBinaryInstances" = self."vector-binary-instances";
+  "vectorBinary" = self."vector-binary";
+  "vectorBuffer" = self."vector-buffer";
+  "vectorBytestring" = self."vector-bytestring";
+  "vectorClock" = self."vector-clock";
+  "vectorConduit" = self."vector-conduit";
+  "vectorFftw" = self."vector-fftw";
+  "vectorFunctorlazy" = self."vector-functorlazy";
+  "vectorHeterogenous" = self."vector-heterogenous";
+  "vectorInstancesCollections" = self."vector-instances-collections";
+  "vectorInstances" = self."vector-instances";
+  "vectorMmap" = self."vector-mmap";
+  "vectorRandom" = self."vector-random";
+  "vectorReadInstances" = self."vector-read-instances";
+  "vectorSpaceMap" = self."vector-space-map";
+  "vectorSpaceOpengl" = self."vector-space-opengl";
+  "vectorSpacePoints" = self."vector-space-points";
+  "vectorSpace" = self."vector-space";
+  "vectorStatic" = self."vector-static";
+  "vectorStrategies" = self."vector-strategies";
+  "vectorThUnbox" = self."vector-th-unbox";
+  "VecTransform" = self."Vec-Transform";
+  "ViennaRNABindings" = self."ViennaRNA-bindings";
+  "vintageBasic" = self."vintage-basic";
+  "vinylGl" = self."vinyl-gl";
+  "vinylJson" = self."vinyl-json";
+  "visualGraphrewrite" = self."visual-graphrewrite";
+  "visualProf" = self."visual-prof";
+  "vkAwsRoute53" = self."vk-aws-route53";
+  "vkPosixPty" = self."vk-posix-pty";
+  "vowpalUtils" = self."vowpal-utils";
+  "vtyExamples" = self."vty-examples";
+  "vtyMenu" = self."vty-menu";
+  "vtyUiExtras" = self."vty-ui-extras";
+  "vtyUi" = self."vty-ui";
+  "waiAppFileCgi" = self."wai-app-file-cgi";
+  "waiAppStatic" = self."wai-app-static";
+  "waiConduit" = self."wai-conduit";
+  "waiCors" = self."wai-cors";
+  "waiDigestiveFunctors" = self."wai-digestive-functors";
+  "waiDispatch" = self."wai-dispatch";
+  "waiEventsource" = self."wai-eventsource";
+  "waiExtra" = self."wai-extra";
+  "waiFrontendMonadcgi" = self."wai-frontend-monadcgi";
+  "waiGraceful" = self."wai-graceful";
+  "waiHandlerDevel" = self."wai-handler-devel";
+  "waiHandlerFastcgi" = self."wai-handler-fastcgi";
+  "waiHandlerLaunch" = self."wai-handler-launch";
+  "waiHandlerScgi" = self."wai-handler-scgi";
+  "waiHandlerSnap" = self."wai-handler-snap";
+  "waiHandlerWebkit" = self."wai-handler-webkit";
+  "waiHastache" = self."wai-hastache";
+  "waiLite" = self."wai-lite";
+  "waiLoggerPrefork" = self."wai-logger-prefork";
+  "waiLogger" = self."wai-logger";
+  "waiMiddlewareCacheRedis" = self."wai-middleware-cache-redis";
+  "waiMiddlewareCache" = self."wai-middleware-cache";
+  "waiMiddlewareCatch" = self."wai-middleware-catch";
+  "waiMiddlewareEtag" = self."wai-middleware-etag";
+  "waiMiddlewareHeaders" = self."wai-middleware-headers";
+  "waiMiddlewareRoute" = self."wai-middleware-route";
+  "waiMiddlewareStatic" = self."wai-middleware-static";
+  "waiPredicates" = self."wai-predicates";
+  "waiResponsible" = self."wai-responsible";
+  "waiRouter" = self."wai-router";
+  "waiRoute" = self."wai-route";
+  "waiRoutes" = self."wai-routes";
+  "waiRouting" = self."wai-routing";
+  "waiSessionClientsession" = self."wai-session-clientsession";
+  "waiSession" = self."wai-session";
+  "waiSessionTokyocabinet" = self."wai-session-tokyocabinet";
+  "waiStaticCache" = self."wai-static-cache";
+  "waiStaticPages" = self."wai-static-pages";
+  "waiTest" = self."wai-test";
+  "waitHandle" = self."wait-handle";
+  "waiThrottler" = self."wai-throttler";
+  "waiUtil" = self."wai-util";
+  "waiWebsockets" = self."wai-websockets";
+  "warpDynamic" = self."warp-dynamic";
+  "warpStatic" = self."warp-static";
+  "warpTls" = self."warp-tls";
+  "warpTlsUid" = self."warp-tls-uid";
+  "weatherApi" = self."weather-api";
+  "WebBitsHtml" = self."WebBits-Html";
+  "WebBitsMultiplate" = self."WebBits-multiplate";
+  "webBrowserInHaskell" = self."web-browser-in-haskell";
+  "webCss" = self."web-css";
+  "webdriverAngular" = self."webdriver-angular";
+  "webdriverSnoy" = self."webdriver-snoy";
+  "webEncodings" = self."web-encodings";
+  "webFpco" = self."web-fpco";
+  "webkitgtk3Javascriptcore" = self."webkitgtk3-javascriptcore";
+  "webkitJavascriptcore" = self."webkit-javascriptcore";
+  "webMongrel2" = self."web-mongrel2";
+  "webPage" = self."web-page";
+  "webPlugins" = self."web-plugins";
+  "webRoutesBoomerang" = self."web-routes-boomerang";
+  "webRoutesHappstack" = self."web-routes-happstack";
+  "webRoutesHsp" = self."web-routes-hsp";
+  "webRoutesMtl" = self."web-routes-mtl";
+  "webRoutesQuasi" = self."web-routes-quasi";
+  "webRoutesRegular" = self."web-routes-regular";
+  "webRoutes" = self."web-routes";
+  "webRoutesTh" = self."web-routes-th";
+  "webRoutesTransformers" = self."web-routes-transformers";
+  "webRoutesWai" = self."web-routes-wai";
+  "websocketsSnap" = self."websockets-snap";
+  "weddingAnnouncement" = self."wedding-announcement";
+  "weightedRegexp" = self."weighted-regexp";
+  "weightedSearch" = self."weighted-search";
+  "whebMongo" = self."wheb-mongo";
+  "whebRedis" = self."wheb-redis";
+  "whebStrapped" = self."wheb-strapped";
+  "whileLangParser" = self."while-lang-parser";
+  "Win32DhcpServer" = self."Win32-dhcp-server";
+  "Win32Errors" = self."Win32-errors";
+  "Win32Extras" = self."Win32-extras";
+  "Win32JunctionPoint" = self."Win32-junction-point";
+  "Win32Notify" = self."Win32-notify";
+  "Win32Services" = self."Win32-services";
+  "Win32ServicesWrapper" = self."Win32-services-wrapper";
+  "winHpPath" = self."win-hp-path";
+  "wlPprintExtras" = self."wl-pprint-extras";
+  "wlPprint" = self."wl-pprint";
+  "wlPprintTerminfo" = self."wl-pprint-terminfo";
+  "wlPprintText" = self."wl-pprint-text";
+  "WordNetGhc74" = self."WordNet-ghc74";
+  "wordTrie" = self."word-trie";
+  "wpArchivebot" = self."wp-archivebot";
+  "wtkGtk" = self."wtk-gtk";
+  "wumpusBasic" = self."wumpus-basic";
+  "wumpusCore" = self."wumpus-core";
+  "wumpusDrawing" = self."wumpus-drawing";
+  "wumpusMicroprint" = self."wumpus-microprint";
+  "wumpusTree" = self."wumpus-tree";
+  "X11Extras" = self."X11-extras";
+  "X11Rm" = self."X11-rm";
+  "X11Xdamage" = self."X11-xdamage";
+  "X11Xfixes" = self."X11-xfixes";
+  "X11Xft" = self."X11-xft";
+  "x11Xim" = self."x11-xim";
+  "x11Xinput" = self."x11-xinput";
+  "X11Xshape" = self."X11-xshape";
+  "x509Store" = self."x509-store";
+  "x509System" = self."x509-system";
+  "x509Util" = self."x509-util";
+  "x509Validation" = self."x509-validation";
+  "xcbTypes" = self."xcb-types";
+  "xchatPlugin" = self."xchat-plugin";
+  "xdgBasedir" = self."xdg-basedir";
+  "xdgUserdirs" = self."xdg-userdirs";
+  "xDsp" = self."x-dsp";
+  "xhaskellLibrary" = self."xhaskell-library";
+  "xhtmlCombinators" = self."xhtml-combinators";
+  "xilinxLava" = self."xilinx-lava";
+  "xingApi" = self."xing-api";
+  "xlsxTemplater" = self."xlsx-templater";
+  "xmlBasic" = self."xml-basic";
+  "xmlCatalog" = self."xml-catalog";
+  "xmlConduit" = self."xml-conduit";
+  "xmlConduitWriter" = self."xml-conduit-writer";
+  "xmlEnumeratorCombinators" = self."xml-enumerator-combinators";
+  "xmlEnumerator" = self."xml-enumerator";
+  "xmlHamlet" = self."xml-hamlet";
+  "xmlHelpers" = self."xml-helpers";
+  "xmlHtmlConduitLens" = self."xml-html-conduit-lens";
+  "xmlLens" = self."xml-lens";
+  "xmlMonad" = self."xml-monad";
+  "xmlParsec" = self."xml-parsec";
+  "xmlPicklers" = self."xml-picklers";
+  "xmlPipe" = self."xml-pipe";
+  "xmlPrettify" = self."xml-prettify";
+  "xmlPush" = self."xml-push";
+  "xmlToJsonFast" = self."xml-to-json-fast";
+  "xmlToJson" = self."xml-to-json";
+  "xmlTypes" = self."xml-types";
+  "xmms2ClientGlib" = self."xmms2-client-glib";
+  "xmms2Client" = self."xmms2-client";
+  "xmonadBluetilebranch" = self."xmonad-bluetilebranch";
+  "xmonadContribBluetilebranch" = self."xmonad-contrib-bluetilebranch";
+  "xmonadContribGpl" = self."xmonad-contrib-gpl";
+  "xmonadContrib" = self."xmonad-contrib";
+  "xmonadEval" = self."xmonad-eval";
+  "xmonadExtras" = self."xmonad-extras";
+  "xmonadScreenshot" = self."xmonad-screenshot";
+  "xmonadUtils" = self."xmonad-utils";
+  "xournalBuilder" = self."xournal-builder";
+  "xournalConvert" = self."xournal-convert";
+  "xournalParser" = self."xournal-parser";
+  "xournalRender" = self."xournal-render";
+  "xournalTypes" = self."xournal-types";
+  "xssSanitize" = self."xss-sanitize";
+  "yahooFinanceConduit" = self."yahoo-finance-conduit";
+  "yahooWebSearch" = self."yahoo-web-search";
+  "yajlEnumerator" = self."yajl-enumerator";
+  "yamlConfig" = self."yaml-config";
+  "yamlLightLens" = self."yaml-light-lens";
+  "yamlLight" = self."yaml-light";
+  "yamlRpcScotty" = self."yaml-rpc-scotty";
+  "yamlRpc" = self."yaml-rpc";
+  "yamlRpcSnap" = self."yaml-rpc-snap";
+  "yampaCanvas" = self."yampa-canvas";
+  "yampaGlfw" = self."yampa-glfw";
+  "yampaGlut" = self."yampa-glut";
+  "yarrImageIo" = self."yarr-image-io";
+  "yesodAngular" = self."yesod-angular";
+  "yesodAuthAccount" = self."yesod-auth-account";
+  "yesodAuthBcrypt" = self."yesod-auth-bcrypt";
+  "yesodAuthDeskcom" = self."yesod-auth-deskcom";
+  "yesodAuthFb" = self."yesod-auth-fb";
+  "yesodAuthHashdb" = self."yesod-auth-hashdb";
+  "yesodAuthKerberos" = self."yesod-auth-kerberos";
+  "yesodAuthLdap" = self."yesod-auth-ldap";
+  "yesodAuthOauth2" = self."yesod-auth-oauth2";
+  "yesodAuthOauth" = self."yesod-auth-oauth";
+  "yesodAuthPam" = self."yesod-auth-pam";
+  "yesodAuth" = self."yesod-auth";
+  "yesodAuthSmbclient" = self."yesod-auth-smbclient";
+  "yesodAuthZendesk" = self."yesod-auth-zendesk";
+  "yesodBin" = self."yesod-bin";
+  "yesodComments" = self."yesod-comments";
+  "yesodContinuations" = self."yesod-continuations";
+  "yesodCore" = self."yesod-core";
+  "yesodDatatables" = self."yesod-datatables";
+  "yesodDefault" = self."yesod-default";
+  "yesodDsl" = self."yesod-dsl";
+  "yesodEventsource" = self."yesod-eventsource";
+  "yesodExamples" = self."yesod-examples";
+  "yesodFay" = self."yesod-fay";
+  "yesodFb" = self."yesod-fb";
+  "yesodFormJson" = self."yesod-form-json";
+  "yesodForm" = self."yesod-form";
+  "yesodGitrepo" = self."yesod-gitrepo";
+  "yesodGoodies" = self."yesod-goodies";
+  "yesodJson" = self."yesod-json";
+  "yesodLinks" = self."yesod-links";
+  "yesodMangopay" = self."yesod-mangopay";
+  "yesodMarkdown" = self."yesod-markdown";
+  "yesodNewsfeed" = self."yesod-newsfeed";
+  "yesodPaginate" = self."yesod-paginate";
+  "yesodPagination" = self."yesod-pagination";
+  "yesodPaginator" = self."yesod-paginator";
+  "yesodPersistent" = self."yesod-persistent";
+  "yesodPlatform" = self."yesod-platform";
+  "yesodPnotify" = self."yesod-pnotify";
+  "yesodPure" = self."yesod-pure";
+  "yesodRecaptcha" = self."yesod-recaptcha";
+  "yesodRoutes" = self."yesod-routes";
+  "yesodRoutesTypescript" = self."yesod-routes-typescript";
+  "yesodRst" = self."yesod-rst";
+  "yesodS3" = self."yesod-s3";
+  "yesodSessionRedis" = self."yesod-session-redis";
+  "yesodSitemap" = self."yesod-sitemap";
+  "yesodStaticAngular" = self."yesod-static-angular";
+  "yesodStatic" = self."yesod-static";
+  "yesodTableview" = self."yesod-tableview";
+  "yesodTestJson" = self."yesod-test-json";
+  "yesodTest" = self."yesod-test";
+  "yesodTextMarkdown" = self."yesod-text-markdown";
+  "yesodTls" = self."yesod-tls";
+  "yesodVend" = self."yesod-vend";
+  "yesodWebsockets" = self."yesod-websockets";
+  "yesodWorker" = self."yesod-worker";
+  "yesPrecure5Command" = self."yes-precure5-command";
+  "yicesEasy" = self."yices-easy";
+  "yicesPainless" = self."yices-painless";
+  "yiContrib" = self."yi-contrib";
+  "yiEmacsColours" = self."yi-emacs-colours";
+  "yiFuzzyOpen" = self."yi-fuzzy-open";
+  "yiGtk" = self."yi-gtk";
+  "yiLanguage" = self."yi-language";
+  "yiMonokai" = self."yi-monokai";
+  "yiRope" = self."yi-rope";
+  "yiSnippet" = self."yi-snippet";
+  "yiSpolsky" = self."yi-spolsky";
+  "yiVty" = self."yi-vty";
+  "yjftpLibs" = self."yjftp-libs";
+  "YogurtStandalone" = self."Yogurt-Standalone";
+  "yorkLava" = self."york-lava";
+  "zasniGerna" = self."zasni-gerna";
+  "zendeskApi" = self."zendesk-api";
+  "zeromq3Conduit" = self."zeromq3-conduit";
+  "zeromq3Haskell" = self."zeromq3-haskell";
+  "zeromq4Haskell" = self."zeromq4-haskell";
+  "zeromqHaskell" = self."zeromq-haskell";
+  "zigbeeZnet25" = self."zigbee-znet25";
+  "zipArchive" = self."zip-archive";
+  "zipConduit" = self."zip-conduit";
+  "zlibBindings" = self."zlib-bindings";
+  "zlibConduit" = self."zlib-conduit";
+  "zlibEnum" = self."zlib-enum";
+  "zlibLens" = self."zlib-lens";
+  "zmidiCore" = self."zmidi-core";
+  "zmidiScore" = self."zmidi-score";
+  "zoomCachePcm" = self."zoom-cache-pcm";
+  "zoomCache" = self."zoom-cache";
+  "zoomCacheSndfile" = self."zoom-cache-sndfile";
+  "zshBattery" = self."zsh-battery";
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
new file mode 100644
index 00000000000..d850e5870f8
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -0,0 +1,757 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Some packages need a non-core version of Cabal.
+  Cabal_1_18_1_6 = dontCheck super.Cabal_1_18_1_6;
+  Cabal_1_20_0_3 = dontCheck super.Cabal_1_20_0_3;
+  Cabal_1_22_2_0 = dontCheck super.Cabal_1_22_2_0;
+  cabal-install = dontCheck (super.cabal-install.override { Cabal = self.Cabal_1_22_2_0; });
+
+  # Break infinite recursions.
+  digest = super.digest.override { inherit (pkgs) zlib; };
+  Dust-crypto = dontCheck super.Dust-crypto;
+  hasql-postgres = dontCheck super.hasql-postgres;
+  hspec-expectations = dontCheck super.hspec-expectations;
+  HTTP = dontCheck super.HTTP;
+  mwc-random = dontCheck super.mwc-random;
+  nanospec = dontCheck super.nanospec;
+  options = dontCheck super.options;
+  statistics = dontCheck super.statistics;
+  text = dontCheck super.text;
+
+  # Doesn't compile with lua 5.2.
+  hslua = super.hslua.override { lua = pkgs.lua5_1; };
+
+  # Use the default version of mysql to build this package (which is actually mariadb).
+  mysql = super.mysql.override { mysql = pkgs.mysql.lib; };
+
+  # Please also remove optparse-applicative special case from
+  # cabal2nix/hackage2nix.hs when removing the following.
+  elm-make = super.elm-make.override { optparse-applicative = self.optparse-applicative_0_10_0; };
+  elm-package = super.elm-package.override { optparse-applicative = self.optparse-applicative_0_10_0; };
+
+  # Link the proper version.
+  zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
+
+  # These changes are required to support Darwin.
+  git-annex = (disableSharedExecutables super.git-annex).override {
+    dbus = if pkgs.stdenv.isLinux then self.dbus else null;
+    fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
+    hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
+  };
+
+  # 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"
+      "--extra-include-dirs=${pkgs.cudatoolkit}/usr_include"
+    ];
+    preConfigure = ''
+      unset CC          # unconfuse the haskell-cuda configure script
+      sed -i -e 's|/usr/local/cuda|${pkgs.cudatoolkit}|g' configure
+    '';
+  });
+
+  # The package doesn't know about the AL include hierarchy.
+  # https://github.com/phaazon/al/issues/1
+  al = appendConfigureFlag super.al "--extra-include-dirs=${pkgs.openal}/include/AL";
+
+  # Depends on code distributed under a non-free license.
+  accelerate-cublas = dontDistribute super.accelerate-cublas;
+  accelerate-cuda = dontDistribute super.accelerate-cuda;
+  accelerate-cufft  = dontDistribute super.accelerate-cufft;
+  accelerate-examples = dontDistribute super.accelerate-examples;
+  accelerate-fft = dontDistribute super.accelerate-fft;
+  accelerate-fourier-benchmark = dontDistribute super.accelerate-fourier-benchmark;
+  AttoJson = markBroken super.AttoJson;
+  bindings-yices = dontDistribute super.bindings-yices;
+  cublas = dontDistribute super.cublas;
+  cufft = dontDistribute super.cufft;
+  gloss-accelerate = dontDistribute super.gloss-accelerate;
+  gloss-raster-accelerate = dontDistribute super.gloss-raster-accelerate;
+  GoogleTranslate = dontDistribute super.GoogleTranslate;
+  GoogleDirections = dontDistribute super.GoogleDirections;
+  libnvvm = dontDistribute super.libnvvm;
+  manatee-all = dontDistribute super.manatee-all;
+  manatee-ircclient = dontDistribute super.manatee-ircclient;
+  Obsidian = dontDistribute super.Obsidian;
+  patch-image = dontDistribute super.patch-image;
+  yices = dontDistribute super.yices;
+  yices-easy = dontDistribute super.yices-easy;
+  yices-painless = dontDistribute super.yices-painless;
+
+  # The test suite refers to its own library with an invalid version constraint.
+  presburger = dontCheck super.presburger;
+
+  # Won't find it's header files without help.
+  sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
+
+  hzk = overrideCabal super.hzk (drv: {
+    preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
+    configureFlags =  "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper";
+    doCheck = false;
+  });
+
+  haskakafka = overrideCabal super.haskakafka (drv: {
+    preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d haskakafka.cabal";
+    configureFlags =  "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka";
+    doCheck = false;
+   });
+
+  # Foreign dependency name clashes with another Haskell package.
+  libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; };
+
+  # https://github.com/haskell/time/issues/23
+  time_1_5_0_1 = dontCheck super.time_1_5_0_1;
+
+  # Cannot compile its own test suite: https://github.com/haskell/network-uri/issues/10.
+  network-uri = dontCheck super.network-uri;
+
+  # Agda-2.4.2.2 needs these overrides to compile.
+  Agda = super.Agda.override { equivalence = self.equivalence_0_2_5; cpphs = self.cpphs_1_18_9; };
+
+  # The Haddock phase fails for one reason or another.
+  attoparsec-conduit = dontHaddock super.attoparsec-conduit;
+  blaze-builder-conduit = dontHaddock super.blaze-builder-conduit;
+  bytestring-progress = dontHaddock super.bytestring-progress;
+  comonads-fd = dontHaddock super.comonads-fd;
+  comonad-transformers = dontHaddock super.comonad-transformers;
+  deepseq-magic = dontHaddock super.deepseq-magic;
+  diagrams = dontHaddock super.diagrams;
+  either = dontHaddock super.either;
+  feldspar-signal = dontHaddock super.feldspar-signal; # https://github.com/markus-git/feldspar-signal/issues/1
+  gl = dontHaddock super.gl;
+  groupoids = dontHaddock super.groupoids;
+  hamlet = dontHaddock super.hamlet;
+  haste-compiler = dontHaddock super.haste-compiler;
+  HaXml = dontHaddock super.HaXml;
+  HDBC-odbc = dontHaddock super.HDBC-odbc;
+  hoodle-core = dontHaddock super.hoodle-core;
+  hsc3-db = dontHaddock super.hsc3-db;
+  hspec-discover = dontHaddock super.hspec-discover;
+  http-client-conduit = dontHaddock super.http-client-conduit;
+  http-client-multipart = dontHaddock super.http-client-multipart;
+  hxt = dontHaddock super.hxt;                                  # https://github.com/UweSchmidt/hxt/issues/38
+  markdown-unlit = dontHaddock super.markdown-unlit;
+  network-conduit = dontHaddock super.network-conduit;
+  shakespeare-js = dontHaddock super.shakespeare-js;
+  shakespeare-text = dontHaddock super.shakespeare-text;
+  types-compat = dontHaddock super.types-compat;                # https://github.com/philopon/apiary/issues/15
+  wai-test = dontHaddock super.wai-test;
+  zlib-conduit = dontHaddock super.zlib-conduit;
+
+  # jailbreak doesn't get the job done because the Cabal file uses conditionals a lot.
+  darcs = overrideCabal super.darcs (drv: {
+    doCheck = false;            # The test suite won't even start.
+    patchPhase = "sed -i -e 's|random.*==.*|random|' -e 's|text.*>=.*,|text,|' -e s'|terminfo == .*|terminfo|' darcs.cabal";
+  });
+
+  # The test suite imposes too narrow restrictions on the version of
+  # Cabal that can be used to build this package.
+  cabal-test-quickcheck = dontCheck super.cabal-test-quickcheck;
+
+  # https://github.com/techtangents/ablist/issues/1
+  ABList = dontCheck super.ABList;
+
+  # These packages have broken dependencies.
+  ASN1 = dontDistribute super.ASN1;                             # NewBinary
+  frame-markdown = dontDistribute super.frame-markdown;         # frame
+  hails-bin = dontDistribute super.hails-bin;                   # Hails
+  hbro-contrib = dontDistribute super.hbro-contrib;             # hbro
+  lss = markBrokenVersion "0.1.0.0" super.lss;                  # https://github.com/dbp/lss/issues/2
+  snaplet-lss = markBrokenVersion "0.1.0.0" super.snaplet-lss;  # https://github.com/dbp/lss/issues/2
+
+  # https://github.com/haskell/vector/issues/47
+  vector = if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector;
+
+  # cabal2nix likes to generate dependencies on hinotify when hfsevents is really required
+  # on darwin: https://github.com/NixOS/cabal2nix/issues/146
+  hinotify = if pkgs.stdenv.isDarwin then super.hfsevents else super.hinotify;
+
+  # FSEvents API is very buggy and tests are unreliable. See
+  # http://openradar.appspot.com/10207999 and similar issues
+  fsnotify = if pkgs.stdenv.isDarwin then dontCheck super.fsnotify else super.fsnotify;
+
+  # Prevents needing to add security_tool as a build tool to all of x509-system's
+  # dependencies.
+  # TODO: use pkgs.darwin.security_tool once we can build it
+  x509-system = let security_tool = "/usr";
+  in overrideCabal super.x509-system (drv: {
+    patchPhase = (drv.patchPhase or "") + pkgs.stdenv.lib.optionalString pkgs.stdenv.isDarwin ''
+      substituteInPlace System/X509/MacOS.hs --replace security ${security_tool}/bin/security
+    '';
+  });
+
+  # Does not compile: "fatal error: ieee-flpt.h: No such file or directory"
+  base_4_8_0_0 = markBroken super.base_4_8_0_0;
+
+  # Obsolete: https://github.com/massysett/prednote/issues/1.
+  prednote-test = markBrokenVersion "0.26.0.4" super.prednote-test;
+
+  # Doesn't compile: "Setup: can't find include file ghc-gmp.h"
+  integer-gmp_1_0_0_0 = markBroken super.integer-gmp_1_0_0_0;
+
+  # Obsolete.
+  lushtags = markBrokenVersion "0.0.1" super.lushtags;
+
+  # https://github.com/haskell/bytestring/issues/41
+  bytestring_0_10_6_0 = dontCheck super.bytestring_0_10_6_0;
+
+  # https://github.com/zmthy/http-media/issues/6
+  http-media = dontCheck super.http-media;
+
+  # tests don't compile for some odd reason
+  jwt = dontCheck super.jwt;
+
+  # https://github.com/liamoc/wizards/issues/5
+  wizards = doJailbreak super.wizards;
+
+  # https://github.com/NixOS/cabal2nix/issues/136
+  glib = addBuildDepends super.glib [pkgs.pkgconfig pkgs.glib];
+  gtk3 = super.gtk3.override { inherit (pkgs) gtk3; };
+  gtk = addBuildDepends super.gtk [pkgs.pkgconfig pkgs.gtk];
+  gtksourceview3 = super.gtksourceview3.override { inherit (pkgs.gnome3) gtksourceview; };
+
+  # Need WebkitGTK, not just webkit.
+  webkit = super.webkit.override { webkit = pkgs.webkitgtk24x; };
+  webkitgtk3 = super.webkitgtk3.override { webkit = pkgs.webkitgtk24x; };
+  webkitgtk3-javascriptcore = super.webkitgtk3-javascriptcore.override { webkit = pkgs.webkitgtk24x; };
+  websnap = super.websnap.override { webkit = pkgs.webkitgtk24x; };
+
+  # https://github.com/jgm/zip-archive/issues/21
+  zip-archive = addBuildTool super.zip-archive pkgs.zip;
+
+  # https://github.com/mvoidex/hsdev/issues/11
+  hsdev = dontHaddock super.hsdev;
+
+  hs-mesos = overrideCabal super.hs-mesos (drv: {
+    # Pass _only_ mesos; the correct protobuf is propagated.
+    extraLibraries = [ pkgs.mesos ];
+    preConfigure = "sed -i -e /extra-lib-dirs/d -e 's|, /usr/include, /usr/local/include/mesos||' hs-mesos.cabal";
+  });
+
+  # Upstream notified by e-mail.
+  permutation = dontCheck super.permutation;
+
+  # https://github.com/vincenthz/hs-tls/issues/102
+  tls = dontCheck super.tls;
+
+  # https://github.com/jputcu/serialport/issues/25
+  serialport = dontCheck super.serialport;
+
+  # https://github.com/kazu-yamamoto/simple-sendfile/issues/17
+  simple-sendfile = dontCheck super.simple-sendfile;
+
+  # Fails no apparent reason. Upstream has been notified by e-mail.
+  assertions = dontCheck super.assertions;
+
+  # https://github.com/vincenthz/tasty-kat/issues/1
+  tasty-kat = dontCheck super.tasty-kat;
+
+  # These packages try to execute non-existent external programs.
+  cmaes = dontCheck super.cmaes;                        # http://hydra.cryp.to/build/498725/log/raw
+  dbmigrations = dontCheck super.dbmigrations;
+  euler = dontCheck super.euler;                        # https://github.com/decomputed/euler/issues/1
+  filestore = dontCheck super.filestore;
+  graceful = dontCheck super.graceful;
+  hakyll = dontCheck super.hakyll;
+  Hclip = dontCheck super.Hclip;
+  HList = dontCheck super.HList;
+  marquise = dontCheck super.marquise;                  # https://github.com/anchor/marquise/issues/69
+  memcached-binary = dontCheck super.memcached-binary;
+  persistent-zookeeper = dontCheck super.persistent-zookeeper;
+  pocket-dns = dontCheck super.pocket-dns;
+  postgresql-simple = dontCheck super.postgresql-simple;
+  postgrest = dontCheck super.postgrest;
+  snowball = dontCheck super.snowball;
+  test-sandbox = dontCheck super.test-sandbox;
+  users-postgresql-simple = dontCheck super.users-postgresql-simple;
+  wai-middleware-hmac = dontCheck super.wai-middleware-hmac;
+  wai-middleware-throttle = dontCheck super.wai-middleware-throttle; # https://github.com/creichert/wai-middleware-throttle/issues/1
+  xmlgen = dontCheck super.xmlgen;
+
+  # These packages try to access the network.
+  amqp = dontCheck super.amqp;
+  amqp-conduit = dontCheck super.amqp-conduit;
+  concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
+  dbus = dontCheck super.dbus;                          # http://hydra.cryp.to/build/498404/log/raw
+  directory_1_2_2_0 = dontCheck super.directory_1_2_2_0; # https://github.com/haskell/directory/issues/24
+  hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
+  hasql = dontCheck super.hasql;                        # http://hydra.cryp.to/build/502489/nixlog/4/raw
+  hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; });
+  holy-project = dontCheck super.holy-project;          # http://hydra.cryp.to/build/502002/nixlog/1/raw
+  http-client = dontCheck super.http-client;            # http://hydra.cryp.to/build/501430/nixlog/1/raw
+  http-conduit = dontCheck super.http-conduit;          # http://hydra.cryp.to/build/501966/nixlog/1/raw
+  js-jquery = dontCheck super.js-jquery;
+  marmalade-upload = dontCheck super.marmalade-upload;  # http://hydra.cryp.to/build/501904/nixlog/1/raw
+  network-transport-tcp = dontCheck super.network-transport-tcp;
+  network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
+  raven-haskell = dontCheck super.raven-haskell;        # http://hydra.cryp.to/build/502053/log/raw
+  riak = dontCheck super.riak;                          # http://hydra.cryp.to/build/498763/log/raw
+  scotty-binding-play = dontCheck super.scotty-binding-play;
+  slack-api = dontCheck super.slack-api;                # https://github.com/mpickering/slack-api/issues/5
+  stackage = dontCheck super.stackage;                  # http://hydra.cryp.to/build/501867/nixlog/1/raw
+  warp = dontCheck super.warp;                          # http://hydra.cryp.to/build/501073/nixlog/5/raw
+  wreq = dontCheck super.wreq;                          # http://hydra.cryp.to/build/501895/nixlog/1/raw
+
+  # https://github.com/NICTA/digit/issues/3
+  digit = dontCheck super.digit;
+
+  # Fails for non-obvious reasons while attempting to use doctest.
+  search = dontCheck super.search;
+
+  # https://github.com/ekmett/structures/issues/3
+  structures = dontCheck super.structures;
+
+  # Tries to mess with extended POSIX attributes, but can't in our chroot environment.
+  xattr = dontCheck super.xattr;
+
+  # Disable test suites to fix the build.
+  acme-year = dontCheck super.acme-year;                # http://hydra.cryp.to/build/497858/log/raw
+  aeson-lens = dontCheck super.aeson-lens;              # http://hydra.cryp.to/build/496769/log/raw
+  aeson-schema = dontCheck super.aeson-schema;          # https://github.com/timjb/aeson-schema/issues/9
+  apache-md5 = dontCheck super.apache-md5;              # http://hydra.cryp.to/build/498709/nixlog/1/raw
+  app-settings = dontCheck super.app-settings;          # http://hydra.cryp.to/build/497327/log/raw
+  aws = dontCheck super.aws;                            # needs aws credentials
+  aws-kinesis = dontCheck super.aws-kinesis;            # needs aws credentials for testing
+  binary-protocol = dontCheck super.binary-protocol;    # http://hydra.cryp.to/build/499749/log/raw
+  bindings-GLFW = dontCheck super.bindings-GLFW;        # requires an active X11 display
+  bits = dontCheck super.bits;                          # http://hydra.cryp.to/build/500239/log/raw
+  bloodhound = dontCheck super.bloodhound;
+  buildwrapper = dontCheck super.buildwrapper;
+  burst-detection = dontCheck super.burst-detection;    # http://hydra.cryp.to/build/496948/log/raw
+  cabal-bounds = dontCheck super.cabal-bounds;          # http://hydra.cryp.to/build/496935/nixlog/1/raw
+  cabal-meta = dontCheck super.cabal-meta;              # http://hydra.cryp.to/build/497892/log/raw
+  cautious-file = dontCheck super.cautious-file;        # http://hydra.cryp.to/build/499730/log/raw
+  CLI = dontCheck super.CLI;                            # Upstream has no issue tracker.
+  cjk = dontCheck super.cjk;
+  command-qq = dontCheck super.command-qq;              # http://hydra.cryp.to/build/499042/log/raw
+  conduit-connection = dontCheck super.conduit-connection;
+  craftwerk = dontCheck super.craftwerk;
+  damnpacket = dontCheck super.damnpacket;              # http://hydra.cryp.to/build/496923/log
+  Deadpan-DDP = dontCheck super.Deadpan-DDP;            # http://hydra.cryp.to/build/496418/log/raw
+  DigitalOcean = dontCheck super.DigitalOcean;
+  directory-layout = dontCheck super.directory-layout;
+  docopt = dontCheck super.docopt;                      # http://hydra.cryp.to/build/499172/log/raw
+  dom-selector = dontCheck super.dom-selector;          # http://hydra.cryp.to/build/497670/log/raw
+  dotfs = dontCheck super.dotfs;                        # http://hydra.cryp.to/build/498599/log/raw
+  DRBG = dontCheck super.DRBG;                          # http://hydra.cryp.to/build/498245/nixlog/1/raw
+  either-unwrap = dontCheck super.either-unwrap;        # http://hydra.cryp.to/build/498782/log/raw
+  elm-repl = dontCheck super.elm-repl;                  # http://hydra.cryp.to/build/501878/nixlog/1/raw
+  etcd = dontCheck super.etcd;
+  fb = dontCheck super.fb;                              # needs credentials for Facebook
+  fptest = dontCheck super.fptest;                      # http://hydra.cryp.to/build/499124/log/raw
+  ghc-events = dontCheck super.ghc-events;              # http://hydra.cryp.to/build/498226/log/raw
+  ghc-events-parallel = dontCheck super.ghc-events-parallel;    # http://hydra.cryp.to/build/496828/log/raw
+  ghcid = dontCheck super.ghcid;
+  ghc-imported-from = dontCheck super.ghc-imported-from;
+  ghc-mod = dontCheck super.ghc-mod;                    # http://hydra.cryp.to/build/499674/log/raw
+  ghc-parmake = dontCheck super.ghc-parmake;
+  gitlib-cmdline = dontCheck super.gitlib-cmdline;
+  git-vogue = dontCheck super.git-vogue;
+  GLFW-b = dontCheck super.GLFW-b;                      # https://github.com/bsl/GLFW-b/issues/50
+  hackport = dontCheck super.hackport;
+  hadoop-formats = dontCheck super.hadoop-formats;
+  haeredes = dontCheck super.haeredes;
+  hashed-storage = dontCheck super.hashed-storage;
+  hashring = dontCheck super.hashring;
+  hath = dontCheck super.hath;
+  haxl-facebook = dontCheck super.haxl-facebook;        # needs facebook credentials for testing
+  hdbi-postgresql = dontCheck super.hdbi-postgresql;
+  hedis = dontCheck super.hedis;
+  hedis-pile = dontCheck super.hedis-pile;
+  hedis-tags = dontCheck super.hedis-tags;
+  hedn = dontCheck super.hedn;
+  hgdbmi = dontCheck super.hgdbmi;
+  hi = dontCheck super.hi;
+  hierarchical-clustering = dontCheck super.hierarchical-clustering;
+  hmatrix-tests = dontCheck super.hmatrix-tests;
+  hPDB-examples = dontCheck super.hPDB-examples;
+  hquery = dontCheck super.hquery;
+  hs2048 = dontCheck super.hs2048;
+  hsbencher = dontCheck super.hsbencher;
+  hsexif = dontCheck super.hsexif;
+  hspec-server = dontCheck super.hspec-server;
+  HTF = dontCheck super.HTF;
+  htsn = dontCheck super.htsn;
+  htsn-import = dontCheck super.htsn-import;
+  http2 = dontCheck super.http2;
+  http-client-openssl = dontCheck super.http-client-openssl;
+  http-client-tls = dontCheck super.http-client-tls;
+  ihaskell = dontCheck super.ihaskell;
+  influxdb = dontCheck super.influxdb;
+  itanium-abi = dontCheck super.itanium-abi;
+  katt = dontCheck super.katt;
+  language-slice = dontCheck super.language-slice;
+  lensref = dontCheck super.lensref;
+  liquidhaskell = dontCheck super.liquidhaskell;
+  lvmrun = dontCheck super.lvmrun;
+  memcache = dontCheck super.memcache;
+  milena = dontCheck super.milena;
+  nats-queue = dontCheck super.nats-queue;
+  netpbm = dontCheck super.netpbm;
+  network-dbus = dontCheck super.network-dbus;
+  notcpp = dontCheck super.notcpp;
+  ntp-control = dontCheck super.ntp-control;
+  numerals = dontCheck super.numerals;
+  opaleye = dontCheck super.opaleye;
+  openpgp = dontCheck super.openpgp;
+  optional = dontCheck super.optional;
+  os-release = dontCheck super.os-release;
+  pandoc-citeproc = dontCheck super.pandoc-citeproc;
+  persistent-redis = dontCheck super.persistent-redis;
+  pipes-extra = dontCheck super.pipes-extra;
+  pipes-websockets = dontCheck super.pipes-websockets;
+  postgresql-binary = dontCheck super.postgresql-binary; # needs a running postgresql server
+  postgresql-simple-migration = dontCheck super.postgresql-simple-migration;
+  process-streaming = dontCheck super.process-streaming;
+  punycode = dontCheck super.punycode;
+  pwstore-cli = dontCheck super.pwstore-cli;
+  quantities = dontCheck super.quantities;
+  redis-io = dontCheck super.redis-io;
+  rethinkdb = dontCheck super.rethinkdb;
+  Rlang-QQ = dontCheck super.Rlang-QQ;
+  sai-shape-syb = dontCheck super.sai-shape-syb;
+  scp-streams = dontCheck super.scp-streams;
+  separated = dontCheck super.separated;
+  shadowsocks = dontCheck super.shadowsocks;
+  shake-language-c = dontCheck super.shake-language-c;
+  static-resources = dontCheck super.static-resources;
+  strive = dontCheck super.strive;                      # fails its own hlint test with tons of warnings
+  svndump = dontCheck super.svndump;
+  thumbnail-plus = dontCheck super.thumbnail-plus;
+  tickle = dontCheck super.tickle;
+  tpdb = dontCheck super.tpdb;
+  translatable-intset = dontCheck super.translatable-intset;
+  ua-parser = dontCheck super.ua-parser;
+  unagi-chan = dontCheck super.unagi-chan;
+  wai-app-file-cgi = dontCheck super.wai-app-file-cgi;
+  wai-logger = dontCheck super.wai-logger;
+  WebBits = dontCheck super.WebBits;                    # http://hydra.cryp.to/build/499604/log/raw
+  webdriver-angular = dontCheck super.webdriver-angular;
+  webdriver = dontCheck super.webdriver;
+  xsd = dontCheck super.xsd;
+
+  # https://bitbucket.org/wuzzeb/webdriver-utils/issue/1/hspec-webdriver-101-cant-compile-its-test
+  hspec-webdriver = markBroken super.hspec-webdriver;
+
+  # The build fails with the most recent version of c2hs.
+  ncurses = super.ncurses.override { c2hs = self.c2hs_0_20_1; };
+
+  # Needs access to locale data, but looks for it in the wrong place.
+  scholdoc-citeproc = dontCheck super.scholdoc-citeproc;
+
+  # These test suites run for ages, even on a fast machine. This is nuts.
+  Random123 = dontCheck super.Random123;
+  systemd = dontCheck super.systemd;
+
+  # https://github.com/eli-frey/cmdtheline/issues/28
+  cmdtheline = dontCheck super.cmdtheline;
+
+  # https://github.com/bos/snappy/issues/1
+  snappy = dontCheck super.snappy;
+
+  # Expect to find sendmail(1) in $PATH.
+  mime-mail = appendConfigureFlag super.mime-mail "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"sendmail\"";
+
+  # Help the test suite find system timezone data.
+  tz = overrideCabal super.tz (drv: { preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo"; });
+
+  # Deprecated upstream and doesn't compile.
+  BASIC = dontDistribute super.BASIC;
+  bytestring-arbitrary = dontDistribute (addBuildTool super.bytestring-arbitrary self.llvm);
+  llvm = dontDistribute super.llvm;
+  llvm-base = markBroken super.llvm-base;
+  llvm-base-util = dontDistribute super.llvm-base-util;
+  llvm-extra = dontDistribute super.llvm-extra;
+  llvm-tf = dontDistribute super.llvm-tf;
+  objectid = dontDistribute super.objectid;
+  saltine-quickcheck = dontDistribute super.saltine-quickcheck;
+  stable-tree = dontDistribute super.stable-tree;
+  synthesizer-llvm = dontDistribute super.synthesizer-llvm;
+  optimal-blocks = dontDistribute super.optimal-blocks;
+
+  # https://ghc.haskell.org/trac/ghc/ticket/9625
+  vty = dontCheck super.vty;
+
+  # https://github.com/vincenthz/hs-crypto-pubkey/issues/20
+  crypto-pubkey = dontCheck super.crypto-pubkey;
+
+  # https://github.com/zouppen/stratum-tool/issues/14
+  stratum-tool = markBrokenVersion "0.0.4" super.stratum-tool;
+
+  # https://github.com/Gabriel439/Haskell-Turtle-Library/issues/1
+  turtle = dontCheck super.turtle;
+
+  # https://github.com/Philonous/xml-picklers/issues/5
+  xml-picklers = dontCheck super.xml-picklers;
+
+  # https://github.com/joeyadams/haskell-stm-delay/issues/3
+  stm-delay = dontCheck super.stm-delay;
+
+  # https://github.com/cgaebel/stm-conduit/issues/33
+  stm-conduit = dontCheck super.stm-conduit;
+
+  # https://github.com/fumieval/call/issues/3
+  call = markBrokenVersion "0.1.2" super.call;
+  rhythm-game-tutorial = dontDistribute super.rhythm-game-tutorial;     # depends on call
+
+  # The install target tries to run lots of commands as "root". WTF???
+  hannahci = markBroken super.hannahci;
+
+  # https://github.com/jkarni/th-alpha/issues/1
+  th-alpha = markBrokenVersion "0.2.0.0" super.th-alpha;
+
+  # https://github.com/haskell-hub/hub-src/issues/24
+  hub = markBrokenVersion "1.4.0" super.hub;
+
+  # https://github.com/pixbi/duplo/issues/25
+  duplo = dontCheck super.duplo;
+
+  # Nix-specific workaround
+  xmonad = appendPatch super.xmonad ./xmonad-nix.patch;
+
+  # https://github.com/evanrinehart/mikmod/issues/1
+  mikmod = addExtraLibrary super.mikmod pkgs.libmikmod;
+
+  # https://github.com/basvandijk/threads/issues/10
+  threads = dontCheck super.threads;
+
+  # https://github.com/ucsd-progsys/liquid-fixpoint/issues/44
+  liquid-fixpoint = overrideCabal super.liquid-fixpoint (drv: { preConfigure = "patchShebangs ."; });
+
+  # Missing module.
+  rematch = dontCheck super.rematch;            # https://github.com/tcrayford/rematch/issues/5
+  rematch-text = dontCheck super.rematch-text;  # https://github.com/tcrayford/rematch/issues/6
+
+  # Upstream notified by e-mail.
+  MonadCompose = markBrokenVersion "0.2.0.0" super.MonadCompose;
+
+  # Make distributed-process-platform compile until next version
+  distributed-process-platform = overrideCabal super.distributed-process-platform (drv: {
+    patchPhase = "mv Setup.hs Setup.lhs";
+    doCheck = false;
+    doHaddock = false;
+  });
+
+  # This packages compiles 4+ hours on a fast machine. That's just unreasonable.
+  CHXHtml = dontDistribute super.CHXHtml;
+
+  # https://github.com/bos/bloomfilter/issues/7
+  bloomfilter = overrideCabal super.bloomfilter (drv: { broken = !pkgs.stdenv.is64bit; });
+
+  # https://github.com/NixOS/nixpkgs/issues/6350
+  paypal-adaptive-hoops = overrideCabal super.paypal-adaptive-hoops (drv: { testTarget = "local"; });
+
+  # https://github.com/seanparsons/wiring/issues/1
+  wiring = markBrokenVersion super.wiring;
+
+  # https://github.com/jwiegley/simple-conduit/issues/2
+  simple-conduit = markBroken super.simple-conduit;
+
+  # https://github.com/srijs/hwsl2/issues/1
+  hwsl2 = markBroken super.hwsl2;
+
+  # https://code.google.com/p/linux-music-player/issues/detail?id=1
+  mp = markBroken super.mp;
+
+  # Depends on broken lmdb package.
+  vcache = markBroken super.vcache;
+  vcache-trie = markBroken super.vcache-trie;
+
+  # https://github.com/afcowie/http-streams/issues/80
+  http-streams = dontCheck super.http-streams;
+
+  # https://github.com/vincenthz/hs-asn1/issues/12
+  asn1-encoding = dontCheck super.asn1-encoding;
+
+  # wxc needs help deciding which version of GTK to use.
+  wxc = overrideCabal (super.wxc.override { wxGTK = pkgs.wxGTK29; }) (drv: {
+    patches = [ ./wxc-no-ldconfig.patch ];
+    doHaddock = false;
+    postInstall = "cp -v dist/build/libwxc.so.${drv.version} $out/lib/libwxc.so";
+  });
+  wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK29; };
+
+  # 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; };
+
+  # Doesn't support "this system". Linux? Needs investigation.
+  lhc = markBroken (super.lhc.override { QuickCheck = self.QuickCheck_1_2_0_1; });
+
+  # Depends on broken test-framework-quickcheck.
+  apiary = dontCheck super.apiary;
+  apiary-authenticate = dontCheck super.apiary-authenticate;
+  apiary-clientsession = dontCheck super.apiary-clientsession;
+  apiary-cookie = dontCheck super.apiary-cookie;
+  apiary-eventsource = dontCheck super.apiary-eventsource;
+  apiary-logger = dontCheck super.apiary-logger;
+  apiary-memcached = dontCheck super.apiary-memcached;
+  apiary-mongoDB = dontCheck super.apiary-mongoDB;
+  apiary-persistent = dontCheck super.apiary-persistent;
+  apiary-purescript = dontCheck super.apiary-purescript;
+  apiary-session = dontCheck super.apiary-session;
+  apiary-websockets = dontCheck super.apiary-websockets;
+
+  # https://github.com/mikeizbicki/hmm/issues/12
+  hmm = markBroken super.hmm;
+
+  # https://github.com/alephcloud/hs-configuration-tools/issues/40
+  configuration-tools = dontCheck super.configuration-tools;
+
+  # https://github.com/fumieval/karakuri/issues/1
+  karakuri = markBroken super.karakuri;
+
+  # Upstream notified by e-mail.
+  gearbox = markBroken super.gearbox;
+
+  # https://github.com/deech/fltkhs/issues/7
+  fltkhs = markBroken super.fltkhs;
+
+  # Build fails, but there seems to be no issue tracker available. :-(
+  hmidi = markBrokenVersion "0.2.1.0" super.hmidi;
+  padKONTROL = markBroken super.padKONTROL;
+  Bang = dontDistribute super.Bang;
+  launchpad-control = dontDistribute super.launchpad-control;
+
+  # Upstream provides no issue tracker and no contact details.
+  vivid = markBroken super.vivid;
+
+  # Test suite wants to connect to $DISPLAY.
+  hsqml = dontCheck (super.hsqml.override { qt5 = pkgs.qt53; });
+
+  # https://github.com/lookunder/RedmineHs/issues/4
+  Redmine = markBroken super.Redmine;
+
+  # HsColour: Language/Unlambda.hs: hGetContents: invalid argument (invalid byte sequence)
+  unlambda = dontHyperlinkSource super.unlambda;
+
+  # https://github.com/megantti/rtorrent-rpc/issues/1
+  rtorrent-rpc = markBroken super.rtorrent-rpc;
+
+  # https://github.com/PaulJohnson/geodetics/issues/1
+  geodetics = dontCheck super.geodetics;
+
+  # https://github.com/AndrewRademacher/aeson-casing/issues/1
+  aeson-casing = dontCheck super.aeson-casing;
+
+  # https://github.com/junjihashimoto/test-sandbox-compose/issues/2
+  test-sandbox-compose = dontCheck super.test-sandbox-compose;
+
+  # https://github.com/jgm/pandoc/issues/2045
+  pandoc = dontCheck super.pandoc;
+
+  # Broken by GLUT update.
+  Monadius = markBroken super.Monadius;
+
+  # We don't have the groonga package these libraries bind to.
+  haroonga = markBroken super.haroonga;
+  haroonga-httpd = markBroken super.haroonga-httpd;
+
+  # Build is broken and no contact info available.
+  hopenpgp-tools = markBroken super.hopenpgp-tools;
+
+  # https://github.com/hunt-framework/hunt/issues/99
+  hunt-server = markBrokenVersion "0.3.0.2" super.hunt-server;
+
+  # https://github.com/bjpop/blip/issues/16
+  blip = markBroken super.blip;
+
+  # https://github.com/tych0/xcffib/issues/37
+  xcffib = dontCheck super.xcffib;
+
+  # https://github.com/afcowie/locators/issues/1
+  locators = dontCheck super.locators;
+
+  # https://github.com/scravy/hydrogen-syntax/issues/1
+  hydrogen-syntax = markBroken super.hydrogen-syntax;
+  hydrogen-cli = dontDistribute super.hydrogen-cli;
+
+  # https://github.com/meteficha/Hipmunk/issues/8
+  Hipmunk = markBroken super.Hipmunk;
+  HipmunkPlayground = dontDistribute super.HipmunkPlayground;
+  click-clack = dontDistribute super.click-clack;
+
+  # https://github.com/prowdsponsor/esqueleto/issues/93
+  esqueleto = dontCheck super.esqueleto;
+
+  # https://github.com/fumieval/audiovisual/issues/1
+  audiovisual = markBroken super.audiovisual;
+
+  # https://github.com/alephcloud/hs-stm-queue-extras/issues/2
+  stm-queue-extras = overrideCabal super.stm-queue-extras (drv: { editedCabalFile = null; });
+
+  # https://github.com/GaloisInc/cryptol/issues/197
+  cryptol = overrideCabal super.cryptol (drv: {
+    postUnpack = "rm -v ${drv.pname}-${drv.version}/Setup.hs";
+  });
+
+  # https://github.com/haskell/haddock/issues/378
+  haddock-library = dontCheck super.haddock-library;
+
+  # Already fixed in upstream darcs repo.
+  xmonad-contrib = overrideCabal super.xmonad-contrib (drv: {
+    patchPhase = ''
+      sed -i -e '24iimport Control.Applicative' XMonad/Util/Invisible.hs
+      sed -i -e '22iimport Control.Applicative' XMonad/Hooks/DebugEvents.hs
+    '';
+  });
+
+  # https://github.com/anton-k/csound-expression-dynamic/issues/1
+  csound-expression-dynamic = dontHaddock super.csound-expression-dynamic;
+
+  # Hardcoded include path
+  poppler = overrideCabal super.poppler (drv: {
+    patchPhase = ''
+      sed -i -e 's,glib/poppler.h,poppler.h,' poppler.cabal
+      sed -i -e 's,glib/poppler.h,poppler.h,' Graphics/UI/Gtk/Poppler/Structs.hsc
+    '';
+  });
+
+  # Uses OpenGL in testing
+  caramia = dontCheck super.caramia;
+
+  llvm-general = super.llvm-general.override { llvm-config = pkgs.llvmPackages_34.llvm; };
+
+  # Tries to run GUI in tests
+  leksah = dontCheck super.leksah;
+
+} // {
+
+  # Not on Hackage.
+  cabal2nix = self.mkDerivation {
+    pname = "cabal2nix";
+    version = "20150318";
+    src = pkgs.fetchgit {
+      url = "http://github.com/NixOS/cabal2nix.git";
+      rev = "b56cc6de2c4900fb0d1dc3617591a2f536aca60d";
+      sha256 = "0pza9j3x1mfjqrzcqq6ndg0jiqx85mg0sw8n9fmq18fk5g4hzhis";
+      deepClone = true;
+    };
+    isLibrary = false;
+    isExecutable = true;
+    buildDepends = with self; [
+      aeson base bytestring Cabal containers deepseq-generics directory
+      filepath hackage-db lens monad-par monad-par-extras mtl pretty
+      prettyclass process regex-posix SHA split transformers utf8-string cartel
+    ];
+    testDepends = with self; [
+      aeson base bytestring Cabal containers deepseq deepseq-generics
+      directory doctest filepath hackage-db hspec lens monad-par
+      monad-par-extras mtl pretty prettyclass process QuickCheck
+      regex-posix SHA split transformers utf8-string
+    ];
+    buildTools = [ pkgs.gitMinimal ];
+    preConfigure = "runhaskell $setupCompileFlags generate-cabal-file >cabal2nix.cabal";
+    homepage = "http://github.com/NixOS/cabal2nix";
+    description = "Convert Cabal files into Nix build instructions";
+    license = pkgs.stdenv.lib.licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-6.12.x.nix b/pkgs/development/haskell-modules/configuration-ghc-6.12.x.nix
new file mode 100644
index 00000000000..2a5213d4e12
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-6.12.x.nix
@@ -0,0 +1,84 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # LLVM is not supported on this GHC; use the latest one.
+  inherit (pkgs) llvmPackages;
+
+  # Disable GHC 6.12.x core libraries.
+  array = null;
+  base = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  directory = null;
+  dph-base = null;
+  dph-par = null;
+  dph-prim-interface = null;
+  dph-prim-par = null;
+  dph-prim-seq = null;
+  dph-seq = null;
+  extensible-exceptions = null;
+  ffi = null;
+  filepath = null;
+  ghc-binary = null;
+  ghc-prim = null;
+  haskell98 = null;
+  hpc = null;
+  integer-gmp = null;
+  old-locale = null;
+  old-time = null;
+  pretty = null;
+  process = null;
+  random = null;
+  rts = null;
+  syb = null;
+  template-haskell = null;
+  time = null;
+  unix = null;
+
+  # binary is not a core library for this compiler.
+  binary = self.binary_0_7_4_0;
+
+  # deepseq is not a core library for this compiler.
+  deepseq_1_3_0_1 = dontJailbreak super.deepseq_1_3_0_1;
+  deepseq = self.deepseq_1_3_0_1;
+
+  # transformers is not a core library for this compiler.
+  transformers = self.transformers_0_4_3_0;
+  mtl = self.mtl_2_2_1;
+  transformers-compat = disableCabalFlag super.transformers-compat "three";
+
+  # https://github.com/tibbe/hashable/issues/85
+  hashable = dontCheck super.hashable;
+
+  # Needs Cabal >= 1.18.x.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
+
+  # Haddock chokes on the prologue from the cabal file.
+  ChasingBottoms = dontHaddock super.ChasingBottoms;
+
+  # https://github.com/glguy/utf8-string/issues/9
+  utf8-string = overrideCabal super.utf8-string (drv: {
+    configureFlags = drv.configureFlags or [] ++ ["-f-bytestring-in-base" "--ghc-option=-XUndecidableInstances"];
+    preConfigure = "sed -i -e 's|base >= .* < .*,|base,|' utf8-string.cabal";
+  });
+
+  # https://github.com/haskell/HTTP/issues/80
+  HTTP = doJailbreak super.HTTP;
+
+  # 6.12.3 doesn't support the latest version.
+  primitive = self.primitive_0_5_1_0;
+  parallel = self.parallel_3_2_0_3;
+  vector = self.vector_0_10_9_3;
+
+  # These packages need more recent versions of core libraries to compile.
+  happy = addBuildTools super.happy [self.Cabal_1_18_1_6 self.containers_0_4_2_1];
+  network-uri = addBuildTool super.network-uri self.Cabal_1_18_1_6;
+  stm = addBuildTool super.stm self.Cabal_1_18_1_6;
+  split = super.split_0_1_4_3;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.0.x.nix
new file mode 100644
index 00000000000..27c4b642c4b
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.0.x.nix
@@ -0,0 +1,66 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_34;
+
+  # Disable GHC 7.0.x core libraries.
+  array = null;
+  base = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  directory = null;
+  extensible-exceptions = null;
+  ffi = null;
+  filepath = null;
+  ghc-binary = null;
+  ghc-prim = null;
+  haskell2010 = null;
+  haskell98 = null;
+  hpc = null;
+  integer-gmp = null;
+  old-locale = null;
+  old-time = null;
+  pretty = null;
+  process = null;
+  random = null;
+  rts = null;
+  template-haskell = null;
+  time = null;
+  unix = null;
+
+  # binary is not a core library for this compiler.
+  binary = self.binary_0_7_4_0;
+
+  # deepseq is not a core library for this compiler.
+  deepseq = self.deepseq_1_4_1_1;
+
+  # transformers is not a core library for this compiler.
+  transformers = self.transformers_0_4_3_0;
+  mtl = self.mtl_2_2_1;
+  transformers-compat = disableCabalFlag super.transformers-compat "three";
+
+  # https://github.com/tibbe/hashable/issues/85
+  hashable = dontCheck super.hashable;
+
+  # Needs Cabal >= 1.18.x.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
+
+  # Haddock chokes on the prologue from the cabal file.
+  ChasingBottoms = dontHaddock super.ChasingBottoms;
+
+  # https://github.com/haskell/containers/issues/134
+  containers_0_4_2_1 = doJailbreak super.containers_0_4_2_1;
+
+  # These packages need more recent versions of core libraries to compile.
+  happy = addBuildTools super.happy [self.containers_0_4_2_1 self.deepseq_1_3_0_1];
+
+  # Setup: Can't find transitive deps for haddock
+  doctest = dontHaddock super.doctest;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
new file mode 100644
index 00000000000..36062652b1f
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -0,0 +1,268 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_35;
+
+  # Disable GHC 7.10.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-prim = null;
+  haskeline = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  terminfo = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # should be fixed in versions > 0.6
+  pandoc-citeproc = overrideCabal super.pandoc-citeproc (drv: {
+    patches = [
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc-citeproc/commit/4e4f9c2.patch";
+         sha256 = "18b08k56g5q4zz6jxczkrddblyn52vmd0811n1icfdpzqhgykn4p";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc-citeproc/commit/34cc147.patch";
+         sha256 = "09vrdvg5w14qckn154zlxvk6i2ikmmhpsl9mxycxkql3rl4dqam3";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc-citeproc/commit/8242c70.patch";
+         sha256 = "1lqpwxzz2www81w4mym75z36bsavqfj67hyvzn20ffvxq42yw7ry";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc-citeproc/commit/e59f88d.patch";
+         sha256 = "05699hj3qa2vrfdnikj7rzmc2ajrkd7p8yd4cjlhmqq9asq90xzb";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc-citeproc/commit/ae6ca86.patch";
+         sha256 = "19cag39k5s7iqagpvss9c2ny5g0lwnrawaqcc0labihc1a181k8l";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc-citeproc/commit/f5a9fc7.patch";
+         sha256 = "08lsinh3mkjpz3cqj5i1vcnzkyl07jp38qcjcwcw7m2b7gsjbpvm";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc-citeproc/commit/780a554.patch";
+         sha256 = "1kfn0mcp3vp32c9w8gyz0p0jv0xn90as9mxm8a2lmjng52jlzvy4";
+      })
+   ];
+  });
+
+  # should be fixed in versions > 1.13.2
+  pandoc = overrideCabal super.pandoc (drv: {
+    patches = [
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/693f9ab.patch";
+         sha256 = "1niyrigs47ia1bhk6yrnzf0sq7hz5b7xisc8ph42wkp5sl8x9h1y";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/9c68017.patch";
+         sha256 = "0zccb6l5vmfyq7p8ii88fgggfhrff32hj43f5pp3w88l479f1qlh";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/dbe1b38.patch";
+         sha256 = "0d80692liyjx2y56w07k23adjcxb57w6vzcylmc4cfswzy8agrgy";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/5ea3856.patch";
+         sha256 = "1z15lc0ix9fv278v1xmfw3a6gl85ydahgs8kz61sfvh4jdiacabw";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/c80c9ac.patch";
+         sha256 = "0fk3j53zx0x88jmh0ism0aghs2w5qf87zcp9cwbfcgg5izh3b344";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/8b9bded.patch";
+         sha256 = "0f1dh1jmhq55mlv4dawvx3ck330y82qmys06bfkqcpl0jsyd9x1a";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/e4c7894.patch";
+         sha256 = "1rfdaq6swrl3m9bmbf6yhqq57kv3l3f4927xya3zq29dpvkmmi4z";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/2a6f68f.patch";
+         sha256 = "0sbh2x9jqvis9ln8r2dr6ihkjdn480mjskm4ny91870vg852228c";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/4e3281c.patch";
+         sha256 = "0zafhxxijli2mf1h0j7shp7kd7fxqbvlswm1m8ikax3aknvjxymi";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/cd5b1fe.patch";
+         sha256 = "0nxq7c0gpdiycgdrcj3llbfwxdni6k7hqqniwsbn2ha3h03i8hg1";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/ed7606d.patch";
+         sha256 = "0gchm46ziyj7vw6ibn3kk49cjzsc78z2lm8k7892g79q2livlc1f";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/b748833.patch";
+         sha256 = "03gj4qn9c5zyqrxyrw4xh21xlvbx9rbvw6gh8msgf5xk53ibs68b";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/10d5398.patch";
+         sha256 = "1nhp5b07vywk917bfap6pzahhqnwvvlbbfg5336a2nvb0c8iq6ih";
+      })
+      (pkgs.fetchpatch {
+         url = "https://github.com/jgm/pandoc/commit/f18ceb1.patch";
+         sha256 = "1vxsy5fn4nscvim9wcx1n78q7yh05x0z8p812csi3v3z79lbabhq";
+      })
+    ];
+    # jailbreak-cabal omits part of the file
+    # https://github.com/peti/jailbreak-cabal/issues/9
+    postPatch = ''
+      sed -i '420i\ \ \ \ \ \ \ \ \ \ \ \ buildable: False' pandoc.cabal
+    '';
+  });
+
+  # see: https://github.com/jaspervdj/hakyll/issues/343
+  hakyll = overrideCabal super.hakyll (drv: {
+    buildDepends = drv.buildDepends ++ [ self.time-locale-compat ];
+    patches = [
+      (pkgs.fetchpatch {
+         url = "https://github.com/jaspervdj/hakyll/pull/344.patch";
+         sha256 = "130c0icw3cj209p219siaq0n8avmm0fpmph0iyjgx67w62sffrli";
+      })
+    ];
+  });
+
+  # Cabal_1_22_1_1 requires filepath >=1 && <1.4
+  cabal-install = dontCheck (super.cabal-install.override { Cabal = null; });
+
+  HStringTemplate = self.HStringTemplate_0_8_3;
+
+  # We have Cabal 1.22.x.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
+
+  # GHC 7.10.x's Haddock binary cannot generate hoogle files.
+  # https://ghc.haskell.org/trac/ghc/ticket/9921
+  mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; });
+
+  # haddock: No input file(s).
+  nats = dontHaddock super.nats;
+  bytestring-builder = dontHaddock super.bytestring-builder;
+
+  # These used to be core packages in GHC 7.8.x.
+  old-locale = self.old-locale_1_0_0_7;
+  old-time = self.old-time_1_1_0_3;
+
+  # We have transformers 4.x
+  mtl = self.mtl_2_2_1;
+  transformers-compat = disableCabalFlag super.transformers-compat "three";
+
+  # We have time 1.5
+  aeson = disableCabalFlag super.aeson "old-locale";
+
+  # requires filepath >=1.1 && <1.4
+  Glob = doJailbreak super.Glob;
+
+  # Setup: At least the following dependencies are missing: base <4.8
+  hspec-expectations = overrideCabal super.hspec-expectations (drv: {
+    patchPhase = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
+  });
+  utf8-string = overrideCabal super.utf8-string (drv: {
+    patchPhase = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal";
+  });
+  esqueleto = doJailbreak super.esqueleto;
+  pointfree = doJailbreak super.pointfree;
+
+  # bos/attoparsec#92
+  attoparsec = dontCheck super.attoparsec;
+
+  # Test suite fails with some (seemingly harmless) error.
+  # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24
+  syb = dontCheck super.syb;
+
+  # Test suite has stricter version bounds
+  retry = dontCheck super.retry;
+
+  # Test suite fails with time >= 1.5
+  http-date = dontCheck super.http-date;
+
+  # Version 1.19.5 fails its test suite.
+  happy = dontCheck super.happy;
+
+  # Test suite fails in "/tokens_bytestring_unicode.g.bin".
+  alex = dontCheck super.alex;
+
+  # TODO: should eventually update the versions in hackage-packages.nix
+  haddock-library = overrideCabal super.haddock-library (drv: {
+    version = "1.2.0";
+    sha256 = "0kf8qihkxv86phaznb3liq6qhjs53g3iq0zkvz5wkvliqas4ha56";
+  });
+  haddock-api = overrideCabal super.haddock-api (drv: {
+    version = "2.16.0";
+    sha256 = "0hk42w6fbr6xp8xcpjv00bhi9r75iig5kp34vxbxdd7k5fqxr1hj";
+  });
+  haddock = overrideCabal super.haddock (drv: {
+    version = "2.16.0";
+    sha256 = "1afb96w1vv3gmvha2f1h3p8zywpdk8dfk6bgnsa307ydzsmsc3qa";
+  });
+
+  # Upstream was notified about the over-specified constraint on 'base'
+  # but refused to do anything about it because he "doesn't want to
+  # support a moving target". Go figure.
+  barecheck = doJailbreak super.barecheck;
+
+  syb-with-class = appendPatch super.syb-with-class (pkgs.fetchpatch {
+    url = "https://github.com/seereason/syb-with-class/compare/adc86a9...719e567.patch";
+    sha256 = "1lwwvxyhxcmppdapbgpfhwi7xc2z78qir03xjrpzab79p2qyq7br";
+  });
+
+  wl-pprint = overrideCabal super.wl-pprint (drv: {
+    postPatch = "sed -i '113iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen.hs";
+    jailbreak = true;
+  });
+
+  # https://github.com/kazu-yamamoto/unix-time/issues/30
+  unix-time = dontCheck super.unix-time;
+
+  # Until the changes have been pushed to Hackage
+  mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch {
+    url = "https://github.com/snoyberg/mono-traversable/pull/68.patch";
+    sha256 = "11hqf6hi3sc34wl0fn4rpigdf7wfklcjv6jwp8c3129yphg8687h";
+  });
+  conduit-combinators = appendPatch super.conduit-combinators (pkgs.fetchpatch {
+    url = "https://github.com/fpco/conduit-combinators/pull/16.patch";
+    sha256 = "0jpwpi3shdn5rms3lcr4srajbhhfp5dbwy7pl23c9kmlil3d9mk3";
+  });
+  annotated-wl-pprint = appendPatch super.annotated-wl-pprint (pkgs.fetchpatch {
+    url = "https://patch-diff.githubusercontent.com/raw/david-christiansen/annotated-wl-pprint/pull/2.patch";
+    sha256 = "0n0fbq3vd7b9kfmhg089q0dy40vawq4q88il3zc9ybivhi62nwv4";
+  });
+  ghc-events = appendPatch super.ghc-events (pkgs.fetchpatch {
+    url = "https://patch-diff.githubusercontent.com/raw/haskell/ghc-events/pull/8.patch";
+    sha256 = "1k881jrvzfvs761jgfhf5nsbmbc33c9333l4s0f5088p46ff2n1l";
+  });
+
+  ghcjs-prim = self.callPackage ({ mkDerivation, fetchgit, primitive }: mkDerivation {
+    pname = "ghcjs-prim";
+    version = "0.1.0.0";
+    src = fetchgit {
+      url = git://github.com/ghcjs/ghcjs-prim.git;
+      rev = "ca08e46257dc276e01d08fb47a693024bae001fa"; # ghc-7.10 branch
+      sha256 = "0w7sqzp5p70yhmdhqasgkqbf3b61wb24djlavwil2j8ry9y472w3";
+    };
+    buildDepends = [ primitive ];
+    license = pkgs.stdenv.lib.licenses.bsd3;
+  }) {};
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.2.x.nix
new file mode 100644
index 00000000000..8428af7ca6e
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.2.x.nix
@@ -0,0 +1,66 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_34;
+
+  # Disable GHC 7.2.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  directory = null;
+  extensible-exceptions = null;
+  ffi = null;
+  filepath = null;
+  ghc-prim = null;
+  haskell2010 = null;
+  haskell98 = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  old-locale = null;
+  old-time = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  time = null;
+  unix = null;
+
+  # deepseq is not a core library for this compiler.
+  deepseq = self.deepseq_1_4_1_1;
+
+  # transformers is not a core library for this compiler.
+  transformers = self.transformers_0_4_3_0;
+  mtl = self.mtl_2_2_1;
+  transformers-compat = disableCabalFlag super.transformers-compat "three";
+
+  # https://github.com/haskell/cabal/issues/2322
+  Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; process = self.process_1_2_3_0; };
+
+  # https://github.com/tibbe/hashable/issues/85
+  hashable = dontCheck super.hashable;
+
+  # Needs Cabal >= 1.18.x.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
+
+  # Haddock chokes on the prologue from the cabal file.
+  ChasingBottoms = dontHaddock super.ChasingBottoms;
+
+  # The old containers version won't compile against newer versions of deepseq.
+  containers_0_4_2_1 = super.containers_0_4_2_1.override { deepseq = self.deepseq_1_3_0_1; };
+
+  # These packages need more recent versions of core libraries to compile.
+  happy = addBuildTools super.happy [self.containers_0_4_2_1 self.deepseq_1_3_0_1];
+
+  # Setup: Can't find transitive deps for haddock
+  doctest = dontHaddock super.doctest;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix
new file mode 100644
index 00000000000..fd4109fad72
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.4.x.nix
@@ -0,0 +1,69 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_34;
+
+  # Disable GHC 7.4.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  extensible-exceptions = null;
+  filepath = null;
+  ghc-prim = null;
+  haskell2010 = null;
+  haskell98 = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  old-locale = null;
+  old-time = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  time = null;
+  unix = null;
+
+  # transformers is not a core library for this compiler.
+  transformers = self.transformers_0_4_3_0;
+  mtl = self.mtl_2_2_1;
+  transformers-compat = disableCabalFlag super.transformers-compat "three";
+
+  # https://github.com/haskell/cabal/issues/2322
+  Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
+
+  # https://github.com/tibbe/hashable/issues/85
+  hashable = dontCheck super.hashable;
+
+  # Needs Cabal >= 1.18.x.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
+
+  # Haddock chokes on the prologue from the cabal file.
+  ChasingBottoms = dontHaddock super.ChasingBottoms;
+
+  # https://github.com/haskell/primitive/issues/16
+  primitive = dontCheck super.primitive;
+
+  # https://github.com/tibbe/unordered-containers/issues/96
+  unordered-containers = dontCheck super.unordered-containers;
+
+  # The test suite depends on time >=1.4.0.2.
+  cookie = dontCheck super.cookie ;
+
+  # Work around bytestring >=0.10.2.0 requirement.
+  streaming-commons = addBuildDepend super.streaming-commons self.bytestring-builder;
+
+  # Choose appropriate flags for our version of 'bytestring'.
+  bytestring-builder = disableCabalFlag super.bytestring-builder "bytestring_has_builder";
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix
new file mode 100644
index 00000000000..5285484d2ff
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix
@@ -0,0 +1,76 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_34;
+
+  # Disable GHC 7.6.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-prim = null;
+  haskell2010 = null;
+  haskell98 = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  old-locale = null;
+  old-time = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  time = null;
+  unix = null;
+
+  # transformers is not a core library for this compiler.
+  transformers = self.transformers_0_4_3_0;
+  mtl = self.mtl_2_2_1;
+  transformers-compat = disableCabalFlag super.transformers-compat "three";
+
+  # haskeline and terminfo are not core libraries for this compiler.
+  haskeline = self.haskeline_0_7_2_1;
+  terminfo = self.terminfo_0_4_0_1;
+
+  # https://github.com/haskell/cabal/issues/2322
+  Cabal_1_22_2_0 = super.Cabal_1_22_2_0.override { binary = self.binary_0_7_4_0; };
+
+  # https://github.com/tibbe/hashable/issues/85
+  hashable = dontCheck super.hashable;
+
+  # Needs Cabal >= 1.18.x.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_6; };
+
+  # Haddock chokes on the prologue from the cabal file.
+  ChasingBottoms = dontHaddock super.ChasingBottoms;
+
+  # Later versions require a newer version of bytestring than we have.
+  aeson = self.aeson_0_7_0_6;
+
+  # The test suite depends on time >=1.4.0.2.
+  cookie = dontCheck super.cookie;
+
+  # Work around bytestring >=0.10.2.0 requirement.
+  streaming-commons = addBuildDepend super.streaming-commons self.bytestring-builder;
+
+  # Choose appropriate flags for our version of 'bytestring'.
+  bytestring-builder = disableCabalFlag super.bytestring-builder "bytestring_has_builder";
+
+  # Tagged is not part of base in this environment.
+  contravariant = addBuildDepend super.contravariant self.tagged;
+  reflection = dontHaddock (addBuildDepend super.reflection self.tagged);
+
+  # The compat library is empty in the presence of mtl 2.2.x.
+  mtl-compat = dontHaddock super.mtl-compat;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
new file mode 100644
index 00000000000..c9d11ce90b3
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
@@ -0,0 +1,123 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_34;
+
+  # Disable GHC 7.8.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-prim = null;
+  haskeline = null;
+  haskell2010 = null;
+  haskell98 = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  old-locale = null;
+  old-time = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  terminfo = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # mtl 2.2.x needs the latest transformers.
+  mtl_2_2_1 = super.mtl_2_2_1.override { transformers = self.transformers_0_4_3_0; };
+
+  # Configure build for mtl 2.1.x.
+  mtl-compat = addBuildDepend (enableCabalFlag super.mtl-compat "two-point-one") self.transformers-compat;
+
+  # haddock-api 2.16 requires ghc>=7.10
+  haddock-api = super.haddock-api_2_15_0_2;
+
+  # Idris requires mtl 2.2.x.
+  idris = overrideCabal (super.idris.overrideScope (self: super: {
+    mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
+    blaze-markup = self.blaze-markup_0_6_2_0;
+    blaze-html = self.blaze-html_0_7_0_3;
+    haskeline = self.haskeline_0_7_2_1;
+    lens = self.lens_4_7_0_1;
+    mtl = super.mtl_2_2_1;
+    transformers = super.transformers_0_4_3_0;
+    transformers-compat = disableCabalFlag super.transformers-compat "three";
+  })) (drv: {
+    patchPhase = "find . -name '*.hs' -exec sed -i -s 's|-Werror||' {} +";
+  });                           # warning: "Module ‘Control.Monad.Error’ is deprecated"
+
+  # Depends on time == 0.1.5, which we don't have.
+  HStringTemplate_0_8_3 = dontDistribute super.HStringTemplate_0_8_3;
+
+  # This is part of bytestring in our compiler.
+  bytestring-builder = dontHaddock super.bytestring-builder;
+
+  # Won't compile against mtl 2.1.x.
+  imports = super.imports.override { mtl = self.mtl_2_2_1; };
+
+  # Newer versions require mtl 2.2.x.
+  mtl-prelude = self.mtl-prelude_1_0_3;
+  equivalence = super.equivalence_0_2_5;        # required by Agda
+
+  # purescript requires mtl 2.2.x.
+  purescript = overrideCabal (super.purescript.overrideScope (self: super: {
+    mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
+    mtl = super.mtl_2_2_1;
+    transformers = super.transformers_0_4_3_0;
+    haskeline = self.haskeline_0_7_2_1;
+    transformers-compat = disableCabalFlag super.transformers-compat "three";
+  })) (drv: {});
+
+  # The test suite pulls in mtl 2.2.x
+  command-qq = dontCheck super.command-qq;
+
+  # Doesn't support GHC < 7.10.x.
+  bound-gen = dontDistribute super.bound-gen;
+  ghc-exactprint = dontDistribute super.ghc-exactprint;
+  ghc-typelits-natnormalise = dontDistribute super.ghc-typelits-natnormalise;
+
+  # Newer versions require transformers 0.4.x.
+  seqid = super.seqid_0_1_0;
+  seqid-streams = super.seqid-streams_0_1_0;
+
+  # Need binary >= 0.7.2, but our compiler has only 0.7.1.0.
+  hosc = super.hosc.overrideScope (self: super: { binary = self.binary_0_7_4_0; });
+  tidal-midi = super.tidal-midi.overrideScope (self: super: { binary = self.binary_0_7_4_0; });
+
+  # These packages need mtl 2.2.x directly or indirectly via dependencies.
+  amazonka = markBroken super.amazonka;
+  apiary-purescript = markBroken super.apiary-purescript;
+  clac = dontDistribute super.clac;
+  highlighter2 = markBroken super.highlighter2;
+  hypher = markBroken super.hypher;
+  miniforth = markBroken super.miniforth;
+  xhb-atom-cache = markBroken super.xhb-atom-cache;
+  xhb-ewmh = markBroken super.xhb-ewmh;
+  yesod-purescript = markBroken super.yesod-purescript;
+  yet-another-logger = markBroken super.yet-another-logger;
+
+  # https://github.com/frosch03/arrowVHDL/issues/2
+  ArrowVHDL = markBroken super.ArrowVHDL;
+
+  # https://ghc.haskell.org/trac/ghc/ticket/9625
+  wai-middleware-preprocessor = dontCheck super.wai-middleware-preprocessor;
+  incremental-computing = dontCheck super.incremental-computing;
+
+  # Newer versions require base > 4.7
+  gloss = super.gloss_1_9_2_1;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
new file mode 100644
index 00000000000..47b450afc4e
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -0,0 +1,88 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Use the latest LLVM.
+  inherit (pkgs) llvmPackages;
+
+  # Disable GHC 7.11.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-prim = null;
+  haskeline = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  terminfo = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # We have Cabal 1.22.x.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
+
+  # GHC 7.10.x's Haddock binary cannot generate hoogle files.
+  # https://ghc.haskell.org/trac/ghc/ticket/9921
+  mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; });
+
+  # haddock: No input file(s).
+  nats = dontHaddock super.nats;
+
+  # These used to be core packages in GHC 7.8.x.
+  old-locale = self.old-locale_1_0_0_7;
+  old-time = self.old-time_1_1_0_3;
+
+  # We have transformers 4.x
+  mtl = self.mtl_2_2_1;
+  transformers-compat = disableCabalFlag super.transformers-compat "three";
+
+  # We have time 1.5
+  aeson = disableCabalFlag super.aeson "old-locale";
+
+  # Setup: At least the following dependencies are missing: base <4.8
+  hspec-expectations = overrideCabal super.hspec-expectations (drv: {
+    patchPhase = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
+  });
+  utf8-string = overrideCabal super.utf8-string (drv: {
+    patchPhase = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal";
+  });
+
+  # bos/attoparsec#92
+  attoparsec = dontCheck super.attoparsec;
+
+  # test suite hangs silently for at least 10 minutes
+  split = dontCheck super.split;
+
+  # Test suite fails with some (seemingly harmless) error.
+  # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24
+  syb = dontCheck super.syb;
+
+  # Test suite has stricter version bounds
+  retry = dontCheck super.retry;
+
+  # Test suite fails with time >= 1.5
+  http-date = dontCheck super.http-date;
+
+  # Version 1.19.5 fails its test suite.
+  happy = dontCheck super.happy;
+
+  # Test suite hangs silently without consuming any CPU.
+  # https://github.com/ndmitchell/extra/issues/4
+  extra = dontCheck super.extra;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
new file mode 100644
index 00000000000..aa872a950fc
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -0,0 +1,101 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # LLVM is not supported on this GHC; use the latest one.
+  inherit (pkgs) llvmPackages;
+
+  inherit (pkgs.haskell-ng.packages.ghc7101) jailbreak-cabal alex happy;
+
+  # Many packages fail with:
+  #   haddock: internal error: expectJust getPackageDetails
+  mkDerivation = drv: super.mkDerivation (drv // { doHaddock = false; });
+
+  # This is the list of packages that are built into a booted ghcjs installation
+  # It can be generated with the command:
+  # nix-shell '<nixpkgs>' -A pkgs.haskellPackages_ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^    \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/-\(.\)/\U\1/' | sed 's/^\([^_]*\)\(.*\)$/\1 = null;/'"
+  Cabal = null;
+  aeson = null;
+  array = null;
+  async = null;
+  attoparsec = null;
+  base = null;
+  binary = null;
+  rts = null;
+  bytestring = null;
+  case-insensitive = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  dlist = null;
+  extensible-exceptions = null;
+  filepath = null;
+  ghc-prim = null;
+  ghcjs-base = null;
+  ghcjs-prim = null;
+  hashable = null;
+  integer-gmp = null;
+  mtl = null;
+  old-locale = null;
+  old-time = null;
+  parallel = null;
+  pretty = null;
+  primitive = null;
+  process = null;
+  scientific = null;
+  stm = null;
+  syb = null;
+  template-haskell = null;
+  text = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  unordered-containers = null;
+  vector = null;
+
+  pqueue = overrideCabal super.pqueue (drv: {
+    patchPhase = ''
+      sed -i -e '12s|null|Data.PQueue.Internals.null|' Data/PQueue/Internals.hs
+      sed -i -e '64s|null|Data.PQueue.Internals.null|' Data/PQueue/Internals.hs
+      sed -i -e '32s|null|Data.PQueue.Internals.null|' Data/PQueue/Min.hs
+      sed -i -e '32s|null|Data.PQueue.Max.null|' Data/PQueue/Max.hs
+      sed -i -e '42s|null|Data.PQueue.Prio.Internals.null|' Data/PQueue/Prio/Min.hs
+      sed -i -e '42s|null|Data.PQueue.Prio.Max.null|' Data/PQueue/Prio/Max.hs
+    '';
+  });
+
+  reactive-banana = overrideCabal super.reactive-banana (drv: {
+    patchPhase = ''
+      cat >> src/Reactive/Banana/Switch.hs <<EOF
+      instance Functor (AnyMoment Identity) where
+        fmap = liftM
+        
+      instance Applicative (AnyMoment Identity) where
+        pure = return
+        (<*>) = ap
+      EOF
+    '';
+  });
+
+  transformers-compat = overrideCabal super.transformers-compat (drv: {
+    configureFlags = [];
+  });
+
+  dependent-map = overrideCabal super.dependent-map (drv: {
+    preConfigure = ''
+      sed -i 's/^.*trust base.*$//' *.cabal
+    '';
+  });
+
+  profunctors = overrideCabal super.profunctors (drv: {
+    preConfigure = ''
+      sed -i 's/^{-# ANN .* #-}//' src/Data/Profunctor/Unsafe.hs
+    '';
+  });
+
+  ghcjs-dom = overrideCabal super.ghcjs-dom (drv: {
+    buildDepends = [ self.base self.mtl self.text self.ghcjs-base ];
+  });
+}
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
new file mode 100644
index 00000000000..673855227b8
--- /dev/null
+++ b/pkgs/development/haskell-modules/default.nix
@@ -0,0 +1,71 @@
+{ pkgs, stdenv, ghc
+, packageSetConfig ? (self: super: {})
+, overrides ? (self: super: {})
+, provideOldAttributeNames ? false
+}:
+
+with ./lib.nix;
+
+let
+
+  fix = f: let x = f x // { __unfix__ = f; }; in x;
+
+  extend = rattrs: f: self: let super = rattrs self; in super // f self super;
+
+  haskellPackages = self:
+    let
+
+      mkDerivation = pkgs.callPackage ./generic-builder.nix {
+        inherit stdenv;
+        inherit (pkgs) fetchurl pkgconfig glibcLocales coreutils gnugrep gnused;
+        inherit (self) ghc jailbreak-cabal;
+        hscolour = overrideCabal self.hscolour (drv: {
+          isLibrary = false;
+          doHaddock = false;
+          hyperlinkSource = false;      # Avoid depending on hscolour for this build.
+          postFixup = "rm -rf $out/lib $out/share $out/nix-support";
+        });
+        cpphs = overrideCabal (self.cpphs.overrideScope (self: super: {
+          mkDerivation = drv: super.mkDerivation (drv // {
+            enableSharedExecutables = false;
+            enableSharedLibraries = false;
+            doHaddock = false;
+            useCpphs = false;
+          });
+        })) (drv: {
+            isLibrary = false;
+            postFixup = "rm -rf $out/lib $out/share $out/nix-support";
+        });
+      };
+
+      overrideCabal = drv: f: drv.override (args: args // {
+        mkDerivation = drv: args.mkDerivation (drv // f drv);
+      });
+
+      callPackageWithScope = scope: drv: args: (stdenv.lib.callPackageWith scope drv args) // {
+        overrideScope = f: callPackageWithScope (fix (extend scope.__unfix__ f)) drv args;
+      };
+
+      defaultScope = pkgs // pkgs.xlibs // pkgs.gnome // self;
+      callPackage = drv: args: callPackageWithScope defaultScope drv args;
+
+    in
+      import ./hackage-packages.nix { inherit pkgs stdenv callPackage; } self // {
+
+        inherit mkDerivation callPackage;
+
+        ghcWithPackages = pkgs: callPackage ./with-packages-wrapper.nix {
+          inherit (self) llvmPackages;
+          packages = pkgs self;
+        };
+
+        ghc = ghc // { withPackages = self.ghcWithPackages; };
+
+      };
+
+  compatLayer = if provideOldAttributeNames then import ./compat-layer.nix else (self: super: {});
+  commonConfiguration = import ./configuration-common.nix { inherit pkgs; };
+
+in
+
+  fix (extend (extend (extend (extend haskellPackages commonConfiguration) packageSetConfig) overrides) compatLayer)
diff --git a/pkgs/development/haskell-modules/gcc-clang-wrapper.sh b/pkgs/development/haskell-modules/gcc-clang-wrapper.sh
new file mode 100755
index 00000000000..d081be231a1
--- /dev/null
+++ b/pkgs/development/haskell-modules/gcc-clang-wrapper.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+inPreprocessorMode () {
+    hasE=0
+    hasU=0
+    hasT=0
+    for arg in "$@"
+    do
+        if [ 'x-E' = "x$arg" ];             then hasE=1; fi
+        if [ 'x-undef' = "x$arg" ];         then hasU=1; fi
+        if [ 'x-traditional' = "x$arg" ];   then hasT=1; fi
+    done
+    [ "$hasE$hasU$hasT" = '111' ]
+}
+
+extraClangArgs="-Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs"
+
+adjustPreprocessorLanguage () {
+    newArgs=''
+    while [ $# -gt 0 ]
+    do
+        newArgs="$newArgs $1"
+        if [ "$1" = '-x' ]
+        then
+            shift
+            if [ $# -gt 0 ]
+            then
+                if [ "$1" = 'c' ]
+                then
+                    newArgs="$newArgs assembler-with-cpp"
+                else
+                    newArgs="$newArgs $1"
+                fi
+            fi
+        fi
+        shift
+    done
+    echo $newArgs
+}
+
+if inPreprocessorMode "$@"
+then
+    exec clang $extraClangArgs `adjustPreprocessorLanguage "$@"`
+else
+    exec clang $extraClangArgs "${@/-nodefaultlibs/}"
+fi
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
new file mode 100644
index 00000000000..baefedf5a74
--- /dev/null
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -0,0 +1,301 @@
+{ stdenv, fetchurl, ghc, pkgconfig, glibcLocales, coreutils, gnugrep, gnused
+, jailbreak-cabal, hscolour, cpphs
+}:
+
+{ pname
+, version, revision ? null
+, sha256 ? null
+, src ? fetchurl { url = "mirror://hackage/${pname}-${version}.tar.gz"; inherit sha256; }
+, buildDepends ? []
+, buildTarget ? ""
+, buildTools ? []
+, configureFlags ? []
+, description ? ""
+, doCheck ? stdenv.lib.versionOlder "7.4" ghc.version
+, doHoogle ? true
+, editedCabalFile ? null
+, enableLibraryProfiling ? false
+, enableSharedExecutables ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
+, enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
+, enableSplitObjs ? !stdenv.isDarwin # http://hackage.haskell.org/trac/ghc/ticket/4013
+, enableStaticLibraries ? true
+, extraLibraries ? []
+, homepage ? "http://hackage.haskell.org/package/${pname}"
+, hydraPlatforms ? ghc.meta.hydraPlatforms or ghc.meta.platforms
+, hyperlinkSource ? true
+, isExecutable ? false, isLibrary ? !isExecutable
+, jailbreak ? false
+, license
+, maintainers ? []
+, doHaddock ? true
+, passthru ? {}
+, pkgconfigDepends ? []
+, platforms ? ghc.meta.platforms
+, testDepends ? []
+, testTarget ? ""
+, broken ? false
+, preUnpack ? "", postUnpack ? ""
+, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
+, preConfigure ? "", postConfigure ? ""
+, preBuild ? "", postBuild ? ""
+, preInstall ? "", postInstall ? ""
+, checkPhase ? "", preCheck ? "", postCheck ? ""
+, preFixup ? "", postFixup ? ""
+, coreSetup ? false # Use only core packages to build Setup.hs.
+, useCpphs ? false
+} @ args:
+
+assert pkgconfigDepends != [] -> pkgconfig != null;
+assert editedCabalFile != null -> revision != null;
+
+let
+
+  inherit (stdenv.lib) optional optionals optionalString versionOlder
+                       concatStringsSep enableFeature optionalAttrs;
+
+  isGhcjs = ghc.isGhcjs or false;
+
+  newCabalFileUrl = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
+  newCabalFile = fetchurl {
+    url = newCabalFileUrl;
+    sha256 = editedCabalFile;
+    name = "${pname}-${version}-r${revision}.cabal";
+  };
+
+  defaultSetupHs = builtins.toFile "Setup.hs" ''
+                     import Distribution.Simple
+                     main = defaultMain
+                   '';
+
+  ghc76xOrLater = isGhcjs || stdenv.lib.versionOlder "7.6" ghc.version;
+  packageDbFlag = if ghc76xOrLater then "package-db" else "package-conf";
+
+  hasActiveLibrary = isLibrary && (enableStaticLibraries || enableSharedLibraries || enableLibraryProfiling);
+
+  enableParallelBuilding = versionOlder "7.10" ghc.version || (versionOlder "7.8" ghc.version && !hasActiveLibrary);
+
+  defaultConfigureFlags = [
+    "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
+    "--with-gcc=$CC"            # Clang won't work without that extra information.
+    "--package-db=$packageConfDir"
+    (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
+    (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
+    (optionalString enableParallelBuilding "--ghc-option=-j$NIX_BUILD_CORES")
+    (optionalString (useCpphs) "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
+    (enableFeature enableSplitObjs "split-objs")
+    (enableFeature enableLibraryProfiling "library-profiling")
+    (enableFeature enableSharedLibraries "shared")
+    (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla"))
+    (optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
+    (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
+  ] ++ optionals isGhcjs [
+    "--with-hsc2hs=${ghc.nativeGhc}/bin/hsc2hs"
+    "--ghcjs"
+  ];
+
+  setupCompileFlags = [
+    (optionalString (!coreSetup) "-${packageDbFlag}=$packageConfDir")
+    (optionalString (isGhcjs || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
+    (optionalString (versionOlder "7.10" ghc.version) "-threaded") # https://github.com/haskell/cabal/issues/2398
+  ];
+
+  isHaskellPkg = x: (x ? pname) && (x ? version) && (x ? env);
+  isSystemPkg = x: !isHaskellPkg x;
+
+  propagatedBuildInputs = buildDepends;
+  otherBuildInputs = extraLibraries ++
+                     buildTools ++
+                     optionals (pkgconfigDepends != []) ([pkgconfig] ++ pkgconfigDepends) ++
+                     optionals doCheck testDepends;
+  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
+
+  haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs;
+  systemBuildInputs = stdenv.lib.filter isSystemPkg allBuildInputs;
+
+  ghcEnv = ghc.withPackages (p: haskellBuildInputs);
+
+  setupBuilder = if isGhcjs then "${ghc.nativeGhc}/bin/ghc" else "ghc";
+  ghcCommand = if isGhcjs then "ghcjs" else "ghc";
+
+in
+stdenv.mkDerivation ({
+  name = "${optionalString (hasActiveLibrary && pname != "ghcjs") "haskell-"}${pname}-${version}";
+
+  pos = builtins.unsafeGetAttrPos "pname" args;
+
+  prePhases = ["setupCompilerEnvironmentPhase"];
+  preConfigurePhases = ["compileBuildDriverPhase"];
+  preInstallPhases = ["haddockPhase"];
+
+  inherit src;
+
+  nativeBuildInputs = otherBuildInputs ++ optionals (!hasActiveLibrary) propagatedBuildInputs;
+  propagatedNativeBuildInputs = optionals hasActiveLibrary propagatedBuildInputs;
+
+  LANG = "en_US.UTF-8";         # GHC needs the locale configured during the Haddock phase.
+
+  prePatch = optionalString (editedCabalFile != null) ''
+    echo "Replace Cabal file with edited version from ${newCabalFileUrl}."
+    cp ${newCabalFile} ${pname}.cabal
+  '' + optionalString jailbreak ''
+    echo "Run jailbreak-cabal to lift version restrictions on build inputs."
+    ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
+  '' + prePatch;
+
+  setupCompilerEnvironmentPhase = ''
+    runHook preSetupCompilerEnvironment
+
+    echo "Build with ${ghc}."
+    export PATH="${ghc}/bin:$PATH"
+    ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"}
+
+    packageConfDir="$TMPDIR/package.conf.d"
+    mkdir -p $packageConfDir
+
+    setupCompileFlags="${concatStringsSep " " setupCompileFlags}"
+    configureFlags="${concatStringsSep " " defaultConfigureFlags} $configureFlags"
+
+    local inputClosure=""
+    for i in $propagatedNativeBuildInputs $nativeBuildInputs; do
+      findInputs $i inputClosure propagated-native-build-inputs
+    done
+    for p in $inputClosure; do
+      if [ -d "$p/lib/${ghc.name}/package.conf.d" ]; then
+        cp -f "$p/lib/${ghc.name}/package.conf.d/"*.conf $packageConfDir/
+        continue
+      fi
+      if [ -d "$p/include" ]; then
+        configureFlags+=" --extra-include-dirs=$p/include"
+      fi
+      if [ -d "$p/lib" ]; then
+        configureFlags+=" --extra-lib-dirs=$p/lib"
+      fi
+    done
+    ${ghcCommand}-pkg --${packageDbFlag}="$packageConfDir" recache
+
+    runHook postSetupCompilerEnvironment
+  '';
+
+  compileBuildDriverPhase = ''
+    runHook preCompileBuildDriver
+
+    for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
+      test -f $i && break
+    done
+
+    echo setupCompileFlags: $setupCompileFlags
+    ${setupBuilder} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
+
+    runHook postCompileBuildDriver
+  '';
+
+  configurePhase = ''
+    runHook preConfigure
+
+    unset GHC_PACKAGE_PATH      # Cabal complains if this variable is set during configure.
+
+    echo configureFlags: $configureFlags
+    ./Setup configure $configureFlags 2>&1 | ${coreutils}/bin/tee "$NIX_BUILD_TOP/cabal-configure.log"
+    if ${gnugrep}/bin/egrep -q '^Warning:.*depends on multiple versions' "$NIX_BUILD_TOP/cabal-configure.log"; then
+      echo >&2 "*** abort because of serious configure-time warning from Cabal"
+      exit 1
+    fi
+
+    export GHC_PACKAGE_PATH="$packageConfDir:"
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    ./Setup build ${buildTarget}
+    runHook postBuild
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ./Setup test ${testTarget}
+    runHook postCheck
+  '';
+
+  haddockPhase = ''
+    runHook preHaddock
+    ${optionalString (doHaddock && hasActiveLibrary) ''
+      ./Setup haddock --html \
+        ${optionalString doHoogle "--hoogle"} \
+        ${optionalString (hasActiveLibrary && hyperlinkSource) "--hyperlink-source"}
+    ''}
+    runHook postHaddock
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    ${if !hasActiveLibrary then "./Setup install" else ''
+      ./Setup copy
+      local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
+      local packageConfFile="$packageConfDir/${pname}-${version}.conf"
+      mkdir -p "$packageConfDir"
+      ./Setup register --gen-pkg-config=$packageConfFile
+      local pkgId=$( ${gnused}/bin/sed -n -e 's|^id: ||p' $packageConfFile )
+      mv $packageConfFile $packageConfDir/$pkgId.conf
+    ''}
+
+    ${optionalString (enableSharedExecutables && isExecutable && stdenv.isDarwin && stdenv.lib.versionOlder ghc.version "7.10") ''
+      for exe in "$out/bin/"* ; do
+        install_name_tool -add_rpath "$out/lib/ghc-${ghc.version}/${pname}-${version}" "$exe"
+      done
+    ''}
+
+    runHook postInstall
+  '';
+
+  passthru = passthru // {
+
+    inherit pname version;
+
+    isHaskellLibrary = hasActiveLibrary;
+
+    env = stdenv.mkDerivation {
+      name = "interactive-${optionalString (hasActiveLibrary && pname != "ghcjs") "haskell-"}${pname}-${version}-environment";
+      nativeBuildInputs = [ ghcEnv systemBuildInputs ];
+      LANG = "en_US.UTF-8";
+      LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
+      shellHook = ''
+        export NIX_GHC="${ghcEnv}/bin/${ghcCommand}"
+        export NIX_GHCPKG="${ghcEnv}/bin/${ghcCommand}-pkg"
+        export NIX_GHC_DOCDIR="${ghcEnv}/share/doc/ghc/html"
+        export NIX_GHC_LIBDIR="${ghcEnv}/lib/${ghcEnv.name}"
+      '';
+    };
+
+  };
+
+  meta = { inherit homepage license platforms; }
+         // optionalAttrs broken               { inherit broken; }
+         // optionalAttrs (description != "")  { inherit description; }
+         // optionalAttrs (maintainers != [])  { inherit maintainers; }
+         // optionalAttrs (hydraPlatforms != platforms) { inherit hydraPlatforms; }
+         ;
+
+}
+// optionalAttrs (preUnpack != "")      { inherit preUnpack; }
+// optionalAttrs (postUnpack != "")     { inherit postUnpack; }
+// optionalAttrs (configureFlags != []) { inherit configureFlags; }
+// optionalAttrs (patches != [])        { inherit patches; }
+// optionalAttrs (patchPhase != "")     { inherit patchPhase; }
+// optionalAttrs (postPatch != "")      { inherit postPatch; }
+// optionalAttrs (preConfigure != "")   { inherit preConfigure; }
+// optionalAttrs (postConfigure != "")  { inherit postConfigure; }
+// optionalAttrs (preBuild != "")       { inherit preBuild; }
+// optionalAttrs (postBuild != "")      { inherit postBuild; }
+// optionalAttrs (doCheck)              { inherit doCheck; }
+// optionalAttrs (checkPhase != "")     { inherit checkPhase; }
+// optionalAttrs (preCheck != "")       { inherit preCheck; }
+// optionalAttrs (postCheck != "")      { inherit postCheck; }
+// optionalAttrs (preInstall != "")     { inherit preInstall; }
+// optionalAttrs (postInstall != "")    { inherit postInstall; }
+// optionalAttrs (preFixup != "")       { inherit preFixup; }
+// optionalAttrs (postFixup != "")      { inherit postFixup; }
+// optionalAttrs (stdenv.isLinux)       { LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; }
+)
diff --git a/pkgs/development/haskell-modules/ghc-paths-nix.patch b/pkgs/development/haskell-modules/ghc-paths-nix.patch
new file mode 100644
index 00000000000..b3c75a26a03
--- /dev/null
+++ b/pkgs/development/haskell-modules/ghc-paths-nix.patch
@@ -0,0 +1,43 @@
+diff -Naur ghc-paths-0.1.0.9/GHC/Paths.hs ghc-paths-0.1.0.9-new/GHC/Paths.hs
+--- ghc-paths-0.1.0.9/GHC/Paths.hs	2012-12-16 13:53:45.720148396 +0100
++++ ghc-paths-0.1.0.9-new/GHC/Paths.hs	2012-12-16 17:22:12.765576568 +0100
+@@ -1,13 +1,35 @@
+ {-# LANGUAGE CPP #-}
++{-# LANGUAGE ScopedTypeVariables #-}
+ 
+ module GHC.Paths (
+         ghc, ghc_pkg, libdir, docdir
+   ) where
+ 
++import Control.Exception as E
++import Data.Maybe
++import System.Environment
++import System.IO.Unsafe
++
++-- Yes, there's lookupEnv now, but we want to be compatible
++-- with older GHCs.
++checkEnv :: String -> IO (Maybe String)
++checkEnv var = E.catch (fmap Just (getEnv var))
++                       (\ (e :: IOException) -> return Nothing)
++
++nixLibdir, nixDocdir, nixGhc, nixGhcPkg :: Maybe FilePath
++nixLibdir = unsafePerformIO (checkEnv "NIX_GHC_LIBDIR")
++nixDocdir = unsafePerformIO (checkEnv "NIX_GHC_DOCDIR")
++nixGhc    = unsafePerformIO (checkEnv "NIX_GHC")
++nixGhcPkg = unsafePerformIO (checkEnv "NIX_GHCPKG")
++{-# NOINLINE nixLibdir #-}
++{-# NOINLINE nixDocdir #-}
++{-# NOINLINE nixGhc    #-}
++{-# NOINLINE nixGhcPkg #-}
++
+ libdir, docdir, ghc, ghc_pkg :: FilePath
+ 
+-libdir  = GHC_PATHS_LIBDIR
+-docdir  = GHC_PATHS_DOCDIR
++libdir  = fromMaybe GHC_PATHS_LIBDIR  nixLibdir
++docdir  = fromMaybe GHC_PATHS_DOCDIR  nixDocdir
+ 
+-ghc     = GHC_PATHS_GHC
+-ghc_pkg = GHC_PATHS_GHC_PKG
++ghc     = fromMaybe GHC_PATHS_GHC     nixGhc
++ghc_pkg = fromMaybe GHC_PATHS_GHC_PKG nixGhcPkg
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
new file mode 100644
index 00000000000..90e2c21aec1
--- /dev/null
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -0,0 +1,131412 @@
+/* hackage-packages.nix is an auto-generated file -- DO NOT EDIT! */
+
+{ pkgs, stdenv, callPackage }:
+
+self: {
+
+  "3d-graphics-examples" = callPackage
+    ({ mkDerivation, base, GLUT, OpenGL, random }:
+     mkDerivation {
+       pname = "3d-graphics-examples";
+       version = "0.0.0.0";
+       sha256 = "1v2zv94npviggqfqabfzp7ab54nnw9wdb60y20f1lzw13an0a14q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT OpenGL random ];
+       jailbreak = true;
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/3d-graphics-examples";
+       description = "Examples of 3D graphics programming with OpenGL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "3dmodels" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, linear, packer }:
+     mkDerivation {
+       pname = "3dmodels";
+       version = "0.3.0";
+       sha256 = "00pp8g1b59950i5ik9ycimxd284vsv1hnfgxgg1mjvxwaj2pbyhr";
+       buildDepends = [ attoparsec base bytestring linear packer ];
+       jailbreak = true;
+       homepage = "https://github.com/capsjac/3dmodels";
+       description = "3D model parsers";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "4Blocks" = callPackage
+    ({ mkDerivation, base, cairo, containers, gtk, haskell98, mtl }:
+     mkDerivation {
+       pname = "4Blocks";
+       version = "0.2";
+       sha256 = "1lya7320jf2cvd69prvjfwdlci2j17m21qcqaqxaczlrv4aykg6w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cairo containers gtk haskell98 mtl ];
+       jailbreak = true;
+       homepage = "http://lambdacolyte.wordpress.com/2009/08/06/tetris-in-haskell/";
+       description = "A tetris-like game (works with GHC 6.8.3 and Gtk2hs 0.9.13)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ABList" = callPackage
+    ({ mkDerivation, base, HUnit, linear, newtype, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "ABList";
+       version = "0.0.3";
+       sha256 = "06hj35k3lbcxh9yn70sa4bw0jafxmxyi2237d6r48dznk4a5fvq1";
+       buildDepends = [ base linear newtype ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "An alternating list of two types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-Angle" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AC-Angle";
+       version = "1.0";
+       sha256 = "0ra97a4im3w2cq3mf17j8skn6bajs7rw7d0mmvcwgb9jd04b0idm";
+       buildDepends = [ base ];
+       description = "Angles in degrees and radians";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-Boolean" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AC-Boolean";
+       version = "1.1.0";
+       sha256 = "0id19wgp2jg2pf1gdhfzkyknjj19jii3pz0lva29x3lcck38rw2b";
+       buildDepends = [ base ];
+       description = "Handle Boolean values generatically";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-BuildPlatform" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AC-BuildPlatform";
+       version = "1.1.0";
+       sha256 = "0vlhakc6mc4zzyvb54rgmskkj8hp43zy35giimk0g7i5068r2czh";
+       buildDepends = [ base ];
+       description = "Detect which OS you're running on";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AC-Colour" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AC-Colour";
+       version = "1.1.6";
+       sha256 = "02v3b1pfhwnf3cl8kbxfkk0a7hdp0gqq5v4w9ka32zl1p007rz19";
+       buildDepends = [ base ];
+       description = "Efficient RGB colour types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-EasyRaster-GTK" = callPackage
+    ({ mkDerivation, array, base, gtk }:
+     mkDerivation {
+       pname = "AC-EasyRaster-GTK";
+       version = "1.1.3";
+       sha256 = "082il76032biyan170p4qp13154nmkzil4v2wv7fmjn9z7v8w49b";
+       buildDepends = [ array base gtk ];
+       description = "GTK+ pixel plotting";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AC-HalfInteger" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AC-HalfInteger";
+       version = "1.2.1";
+       sha256 = "0wwnb7a6dmzgh122qg322mi3vpyk93xw52cql6dx18sqdbxyxdbb";
+       buildDepends = [ base ];
+       description = "Efficient half-integer type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AC-MiniTest" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "AC-MiniTest";
+       version = "1.1.1";
+       sha256 = "0ish59q50npljgmfrcffcyx6scf99xdncmy1kpwy1i5622r1kcps";
+       buildDepends = [ base transformers ];
+       description = "A simple test framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-PPM" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "AC-PPM";
+       version = "1.1.1";
+       sha256 = "0y2wzwfnlx50rzkdigmjy3dg5f91pmkf4gmnzjhs3r916d296gkq";
+       buildDepends = [ base bytestring ];
+       description = "Trivial package for writing PPM images";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-Random" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AC-Random";
+       version = "0.1";
+       sha256 = "1c00pcz0c4l2sdaj61zcmw68ckmqb7xlfykv489xms7ak4xl8nc1";
+       buildDepends = [ base ];
+       description = "A pure Haskell PRNG";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-Terminal" = callPackage
+    ({ mkDerivation, ansi-terminal, base }:
+     mkDerivation {
+       pname = "AC-Terminal";
+       version = "1.0";
+       sha256 = "0d0vdqf7i49d2hsdm7x9ad88l7kfc1wvkzppzhs8k9xf4gbrvl43";
+       buildDepends = [ ansi-terminal base ];
+       description = "Trivial wrapper over ansi-terminal";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AC-VanillaArray" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "AC-VanillaArray";
+       version = "1.1.2";
+       sha256 = "044kiwc5g2irky0k3fg9l2qqnvcnh9vdx0yz8m1awnkab6mk0i3v";
+       buildDepends = [ base ghc-prim ];
+       jailbreak = true;
+       description = "Immutable arrays with plain integer indicies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AC-Vector" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AC-Vector";
+       version = "2.3.2";
+       sha256 = "04ahf6ldfhvzbml9xd6yplygn8ih7b8zz7cw03hkr053g5kzylay";
+       buildDepends = [ base ];
+       description = "Efficient geometric vectors and transformations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AC-Vector-Fancy" = callPackage
+    ({ mkDerivation, AC-Angle, AC-Vector, base }:
+     mkDerivation {
+       pname = "AC-Vector-Fancy";
+       version = "2.4.0";
+       sha256 = "0wcan2s75c89s1mxhcvvjgbpn8xqrhmwnfbsrszkzydw3x46465y";
+       buildDepends = [ AC-Angle AC-Vector base ];
+       description = "Fancy type-system stuff for AC-Vector";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ACME" = callPackage
+    ({ mkDerivation, base, list-extras, mtl, random, random-shuffle
+     , void
+     }:
+     mkDerivation {
+       pname = "ACME";
+       version = "0.0.0.1";
+       sha256 = "103mil8lixg0v2wjizy0pqyy9ywbmrk56mc0n37wwvz0qkjaqnds";
+       buildDepends = [ base list-extras mtl random random-shuffle void ];
+       homepage = "http://alkalisoftware.net";
+       description = "Essential features";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ADPfusion" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, primitive, PrimitiveArray
+     , QuickCheck, repa, strict, template-haskell, transformers, vector
+     }:
+     mkDerivation {
+       pname = "ADPfusion";
+       version = "0.2.1.0";
+       sha256 = "0z6a6j57jn72pqzljsg1pwjm2vwzfnl6rjzz853vbi9djp28kcd9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base deepseq ghc-prim primitive PrimitiveArray QuickCheck repa
+         strict template-haskell transformers vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/adpfusion";
+       description = "Efficient, high-level dynamic programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AERN-Basics" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, directory
+     , QuickCheck, random, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "AERN-Basics";
+       version = "2011.1.0.1";
+       sha256 = "1zzm6974mfwzswhx9dfh4w1qrlk44w5k8pajqmrgs8hwnx3k8awa";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers criterion deepseq directory QuickCheck random
+         test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/aern/";
+       description = "foundational type classes for approximating exact real numbers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AERN-Net" = callPackage
+    ({ mkDerivation, AERN-Real, AERN-RnToRm, base, binary, containers
+     , html, stm, time
+     }:
+     mkDerivation {
+       pname = "AERN-Net";
+       version = "0.2.1.1";
+       sha256 = "1h7yw85zp8dlyjfi5mr3zvb8cn3xbfxw19nqkz6r7v6s5hfg50qg";
+       buildDepends = [
+         AERN-Real AERN-RnToRm base binary containers html stm time
+       ];
+       jailbreak = true;
+       homepage = "http://www-users.aston.ac.uk/~konecnym/DISCERN";
+       description = "Compositional lazy dataflow networks for exact real number computation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AERN-Real" = callPackage
+    ({ mkDerivation, AERN-Basics, base, criterion, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "AERN-Real";
+       version = "2011.1.0.1";
+       sha256 = "1m8fc3agvm5r5vgzsxhjdmmxl679n68isa5cwbbfrv38c20s2p6v";
+       buildDepends = [
+         AERN-Basics base criterion QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/aern/";
+       description = "arbitrary precision real interval arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AERN-Real-Double" = callPackage
+    ({ mkDerivation, AERN-Basics, AERN-Real, AERN-Real-Interval, base
+     , criterion, ieee-utils, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "AERN-Real-Double";
+       version = "2011.1.0.2";
+       sha256 = "0hwbw2nibgfddqfhbq8fcm1anibdfa9kgbbxnsbxvkkl6l52cbg2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         AERN-Basics AERN-Real AERN-Real-Interval base criterion ieee-utils
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/aern/";
+       description = "arbitrary precision real interval arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AERN-Real-Interval" = callPackage
+    ({ mkDerivation, AERN-Basics, AERN-Real, base, deepseq, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "AERN-Real-Interval";
+       version = "2011.1.0.1";
+       sha256 = "1myh6r2cg4sg7k21y3p415pwm2vjfggi92631wzcjxk8ygcafbwv";
+       buildDepends = [
+         AERN-Basics AERN-Real base deepseq QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/aern/";
+       description = "arbitrary precision real interval arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AERN-RnToRm" = callPackage
+    ({ mkDerivation, AERN-Real, base, binary, containers, directory
+     , filepath, html, QuickCheck, time
+     }:
+     mkDerivation {
+       pname = "AERN-RnToRm";
+       version = "0.5.0.1";
+       sha256 = "0rx93h1h303r4gf9jq32gl08lg4jkfc12kzjnjxampwx75b4lgjv";
+       buildDepends = [
+         AERN-Real base binary containers directory filepath html QuickCheck
+         time
+       ];
+       jailbreak = true;
+       homepage = "http://www-users.aston.ac.uk/~konecnym/DISCERN";
+       description = "polynomial function enclosures (PFEs) approximating exact real functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AERN-RnToRm-Plot" = callPackage
+    ({ mkDerivation, AERN-Real, AERN-RnToRm, base, binary, containers
+     , directory, filepath, glade, glib, gtk, gtkglext, mtl, OpenGL, stm
+     , time
+     }:
+     mkDerivation {
+       pname = "AERN-RnToRm-Plot";
+       version = "0.2.0.3";
+       sha256 = "0zpp0s90q2jhpagf6iswbmm6hyi0x2hns8vqd5swwa8d258avrbq";
+       buildDepends = [
+         AERN-Real AERN-RnToRm base binary containers directory filepath
+         glade glib gtk gtkglext mtl OpenGL stm time
+       ];
+       jailbreak = true;
+       homepage = "http://www-users.aston.ac.uk/~konecnym/DISCERN";
+       description = "GL plotting of polynomial function enclosures (PFEs)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AES" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, monads-tf, random
+     , transformers
+     }:
+     mkDerivation {
+       pname = "AES";
+       version = "0.2.9";
+       revision = "1";
+       sha256 = "12n484dpjr08910ni1vvw030g9p37lz68l5lw0212rvklkva6wzc";
+       editedCabalFile = "9e51c1b1687fe35ccd0f2983e861b5b0441399803ff76b192530984724a68d6f";
+       buildDepends = [
+         base bytestring cereal monads-tf random transformers
+       ];
+       description = "Fast AES encryption/decryption for bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AGI" = callPackage
+    ({ mkDerivation, base, mtl, network, parsec, random, syb, unix }:
+     mkDerivation {
+       pname = "AGI";
+       version = "1.3";
+       sha256 = "1h0hcdvdjs635inq96fpyh2g3d482ilpqn474vk1xkycww0xgsnv";
+       buildDepends = [ base mtl network parsec random syb unix ];
+       homepage = "http://src.seereason.com/haskell-agi";
+       description = "A library for writing AGI scripts for Asterisk";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ALUT" = callPackage
+    ({ mkDerivation, base, freealut, OpenAL, StateVar, transformers }:
+     mkDerivation {
+       pname = "ALUT";
+       version = "2.4.0.0";
+       sha256 = "0g8rzzk54y8d567dvj32bq0h409ag0am196kkirsjd6f58vgjp0g";
+       buildDepends = [ base OpenAL StateVar transformers ];
+       extraLibraries = [ freealut ];
+       homepage = "https://github.com/haskell-openal/ALUT";
+       description = "A binding for the OpenAL Utility Toolkit";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) freealut;};
+
+  "AMI" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, network
+     , pureMD5, stm
+     }:
+     mkDerivation {
+       pname = "AMI";
+       version = "0.1";
+       sha256 = "00w6kcikc5ac26786fwshwbh8ndj9aq1w7wz263j5rnhdf12irky";
+       buildDepends = [
+         base bytestring containers mtl network pureMD5 stm
+       ];
+       homepage = "http://redmine.iportnov.ru/projects/ami";
+       description = "Low-level bindings for Asterisk Manager Interface (AMI)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ANum" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ANum";
+       version = "0.1.1.0";
+       sha256 = "0ilgz1akz66cwwvxd8dkz2fq9gyplc4m206jpmp380ys5n37b4q9";
+       buildDepends = [ base ];
+       homepage = "https://github.com/DanBurton/ANum#readme";
+       description = "Num instance for Applicatives provided via the ANum newtype";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ASN1" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, NewBinary, old-time
+     , pretty, QuickCheck
+     }:
+     mkDerivation {
+       pname = "ASN1";
+       version = "0.0.1.1";
+       sha256 = "188mf1k8p4h8ryngpcs6ldz9n2590h9wfxzxsj396is5r8rxscmh";
+       buildDepends = [
+         base containers HUnit mtl NewBinary old-time pretty QuickCheck
+       ];
+       homepage = "http://www.haskell.org/asn1";
+       description = "ASN.1 support for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AVar" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AVar";
+       version = "0.0.5.1";
+       sha256 = "0jggzjyms1w4p1ynv8m5yvya64kbxkjdis7wvy3lildmp0w0x0c7";
+       buildDepends = [ base ];
+       description = "Mutable variables with Exception handling and concurrency support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AWin32Console" = callPackage
+    ({ mkDerivation, base, regex-compat, Win32 }:
+     mkDerivation {
+       pname = "AWin32Console";
+       version = "1.1";
+       sha256 = "0il5bngj4919mmpm0rwmbx74ih3sfbqkaph6w12p49fs466sxkh1";
+       buildDepends = [ base regex-compat Win32 ];
+       description = "A binding to a part of the ANSI escape code for the console";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AbortT-monadstf" = callPackage
+    ({ mkDerivation, AbortT-transformers, base, monads-tf }:
+     mkDerivation {
+       pname = "AbortT-monadstf";
+       version = "1.0";
+       sha256 = "1ijv4bs299ijqbkspbg1kry627ra6p6qlkd74q4y2pvamrm4dn6f";
+       buildDepends = [ AbortT-transformers base monads-tf ];
+       homepage = "http://github.com/gcross/AbortT-transformers";
+       description = "Monads-tf instances for the AbortT monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AbortT-mtl" = callPackage
+    ({ mkDerivation, AbortT-transformers, base, mtl }:
+     mkDerivation {
+       pname = "AbortT-mtl";
+       version = "1.0";
+       sha256 = "17rp4v5ibna9fplm526x31k8df8zwkm1imv71yqzpgcqcn48pps2";
+       buildDepends = [ AbortT-transformers base mtl ];
+       homepage = "http://github.com/gcross/AbortT-mtl";
+       description = "mtl instances for the AbortT monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AbortT-transformers" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "AbortT-transformers";
+       version = "1.0.1.1";
+       sha256 = "00q3c2pr9rl2110624rndn7j2843rl62vh5569q96l2vzfpccgbp";
+       buildDepends = [ base transformers ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 transformers
+       ];
+       homepage = "http://github.com/gcross/AbortT-transformers";
+       description = "A monad and monadic transformer providing \"abort\" functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ActionKid" = callPackage
+    ({ mkDerivation, base, containers, gloss, gloss-juicy, hspec, lens
+     , mtl, OpenGL, StateVar, template-haskell
+     }:
+     mkDerivation {
+       pname = "ActionKid";
+       version = "0.1.1.0";
+       sha256 = "0dsfgclgx4kqjnvn54vvxcbn8l8jyy9gb06qp13hfm5l7lxfjzxq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers gloss gloss-juicy lens mtl OpenGL StateVar
+         template-haskell
+       ];
+       testDepends = [ base hspec ];
+       jailbreak = true;
+       homepage = "https://github.com/egonSchiele/actionkid";
+       description = "An easy-to-use video game framework for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Adaptive" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Adaptive";
+       version = "0.23";
+       sha256 = "0n27d8dvk0qq68zp4l5bsj5y9xqmrk9d25psrrf29mmw1f43wp8c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Library for incremental computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Adaptive-Blaisorblade" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Adaptive-Blaisorblade";
+       version = "0.23";
+       sha256 = "08iblifpyi569zh55ha5bi0nfibz0zlqiibwaimx2k1nd6n6yv5a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Library for incremental computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Advgame" = callPackage
+    ({ mkDerivation, base, haskell98, mtl }:
+     mkDerivation {
+       pname = "Advgame";
+       version = "0.1.2";
+       sha256 = "16grzya42pzn3zaahs77lw5n2ka138bs0g3vgi0qbxlvxwy5ikyy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 mtl ];
+       jailbreak = true;
+       description = "Lisperati's adventure game in Lisp translated to Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AesonBson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bson, hspec, HUnit, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "AesonBson";
+       version = "0.2.2";
+       sha256 = "1p7636bjczcwwi2c0cdzvpj95vx2fr27qnmh8pcs8hqgmisagq8s";
+       buildDepends = [
+         aeson attoparsec base bson unordered-containers vector
+       ];
+       testDepends = [ aeson base bson hspec HUnit text ];
+       jailbreak = true;
+       homepage = "https://github.com/nh2/AesonBson";
+       description = "Mapping between Aeson's JSON and Bson objects";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Agata" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, tagged
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "Agata";
+       version = "0.2.1.1";
+       sha256 = "0v8gy2gdbn9133yki7s71a7ph50xzawdvciiahr463apbn6439hm";
+       buildDepends = [
+         base containers mtl QuickCheck tagged template-haskell
+       ];
+       jailbreak = true;
+       description = "Generator-generator for QuickCheck";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Agda" = callPackage
+    ({ mkDerivation, alex, array, base, binary, boxes, bytestring
+     , containers, cpphs, data-hash, deepseq, directory, emacs
+     , equivalence, filepath, geniplate, happy, hashable, hashtables
+     , haskeline, haskell-src-exts, mtl, parallel, pretty, process
+     , QuickCheck, STMonadTrans, strict, template-haskell, text, time
+     , transformers, unordered-containers, xhtml, zlib
+     }:
+     mkDerivation {
+       pname = "Agda";
+       version = "2.4.2.2";
+       revision = "1";
+       sha256 = "1hxvapnvlkx6imifswc70ng869zll0zfsygivhc2mjyhaiv10i13";
+       editedCabalFile = "b604adb3c6609d27384834ce1d9483841245ac3d59e07571bc1ec114a080dcf3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary boxes bytestring containers data-hash deepseq
+         directory equivalence filepath geniplate hashable hashtables
+         haskeline haskell-src-exts mtl parallel pretty process QuickCheck
+         STMonadTrans strict template-haskell text time transformers
+         unordered-containers xhtml zlib
+       ];
+       buildTools = [ alex cpphs emacs happy ];
+       jailbreak = true;
+       postInstall = ''
+         $out/bin/agda -c --no-main $(find $out/share -name Primitive.agda)
+         $out/bin/agda-mode compile
+       '';
+       homepage = "http://wiki.portal.chalmers.se/agda/";
+       description = "A dependently typed functional programming language and proof assistant";
+       license = "unknown";
+     }) { inherit (pkgs) emacs;};
+
+  "Agda-executable" = callPackage
+    ({ mkDerivation, Agda, base }:
+     mkDerivation {
+       pname = "Agda-executable";
+       version = "2.3.0.1";
+       sha256 = "156nzvpmqi7yizjr4yym2ybc0iv4nqfp84qrpdxcha682k298ib1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ Agda base ];
+       jailbreak = true;
+       homepage = "http://wiki.portal.chalmers.se/agda/";
+       description = "Command-line program for type-checking and compiling Agda programs";
+       license = "unknown";
+     }) {};
+
+  "AhoCorasick" = callPackage
+    ({ mkDerivation, array, base, hashable, mtl, unordered-containers
+     }:
+     mkDerivation {
+       pname = "AhoCorasick";
+       version = "0.0.3";
+       sha256 = "171im3xhrgdzhpxmi1350323apy58pisap0dskcibd3g4jmzslza";
+       buildDepends = [ array base hashable mtl unordered-containers ];
+       homepage = "http://github.com/lymar/AhoCorasick";
+       description = "Aho-Corasick string matching algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AlgorithmW" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty }:
+     mkDerivation {
+       pname = "AlgorithmW";
+       version = "0.1.0.1";
+       sha256 = "0qqdd8220h6h1j7i121h84wysjrmv633md3c7sk01i1p774d67k4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers mtl pretty ];
+       homepage = "http://hackage.haskell.org/package/AlgorithmW";
+       description = "Example implementation of Algorithm W for Hindley-Milner type inference";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Allure" = callPackage
+    ({ mkDerivation, base, containers, enummapset-th, filepath
+     , LambdaHack, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "Allure";
+       version = "0.4.100.0";
+       sha256 = "15rkj5xab23wqr2d44xbri7hggbb3zmmka41xfiscqq4ifagfj4m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers enummapset-th filepath LambdaHack template-haskell
+         text
+       ];
+       testDepends = [
+         base containers enummapset-th filepath LambdaHack template-haskell
+         text
+       ];
+       homepage = "http://allureofthestars.com";
+       description = "Near-future Sci-Fi roguelike and tactical squad game";
+       license = "AGPL";
+     }) {};
+
+  "AndroidViewHierarchyImporter" = callPackage
+    ({ mkDerivation, base, bytestring, cmdtheline, containers, mtl
+     , network, opml, pretty, process, QuickCheck, split, transformers
+     , xml
+     }:
+     mkDerivation {
+       pname = "AndroidViewHierarchyImporter";
+       version = "0.1.0.1";
+       sha256 = "1ksmxhriqy8z3fymnvhg7bwaj032nrsvq3gygfwkg3m8538v9xyc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdtheline containers mtl network opml pretty
+         process QuickCheck split transformers xml
+       ];
+       jailbreak = true;
+       description = "Android view hierarchy importer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Animas" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "Animas";
+       version = "0.2";
+       sha256 = "01vpw9s93qq8c0zymp4qzv0ljn9jrnwi3x68qx9lcjr6spa0rkvm";
+       buildDepends = [ base random ];
+       homepage = "https://github.com/eamsden/Animas";
+       description = "Updated version of Yampa: a library for programming hybrid systems";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Annotations" = callPackage
+    ({ mkDerivation, base, mtl, multirec, parsec }:
+     mkDerivation {
+       pname = "Annotations";
+       version = "0.2";
+       sha256 = "0i6qicmvz1jryv4zkdcpclfwxg20yvwgx6vhf46mxjzs3kw1a6z3";
+       buildDepends = [ base mtl multirec parsec ];
+       jailbreak = true;
+       description = "Constructing, analyzing and destructing annotated trees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Ansi2Html" = callPackage
+    ({ mkDerivation, base, mtl, parsec, xhtml }:
+     mkDerivation {
+       pname = "Ansi2Html";
+       version = "0.9";
+       sha256 = "1dqq1rnx1w0cn4w11knmxvn7qy4lg4m39dgw4rs6r2pjqzgrwarh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec xhtml ];
+       homepage = "http://janzzstimmpfle.de/~jens/software/Ansi2Html/";
+       description = "Convert ANSI Terminal Sequences to nice HTML markup";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ApplePush" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskell98, json, mtl
+     , network
+     }:
+     mkDerivation {
+       pname = "ApplePush";
+       version = "0.1";
+       sha256 = "0dw52pj17fggi605zf4px852479yc6m6ksbidyw84lkys5dyll3r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring haskell98 json mtl network
+       ];
+       description = "Library for Apple Push Notification Service";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AppleScript" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "AppleScript";
+       version = "0.2.0.1";
+       sha256 = "1jmwixyv5msb3lmza7dljvm3l0x5mx8r93zr607sx9m5x9yhlsvr";
+       buildDepends = [ base ];
+       homepage = "https://github.com/reinerp/haskell-AppleScript";
+       description = "Call AppleScript from Haskell, and then call back into Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ArrayRef" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ArrayRef";
+       version = "0.1.3.1";
+       sha256 = "1yb209v3lab3knggplmwih1ww6qalf8v86j8ggv1gkhm5jkwz1yq";
+       buildDepends = [ base ];
+       homepage = "http://haskell.org/haskellwiki/Library/ArrayRef";
+       description = "Unboxed references, dynamic arrays and more";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ArrowVHDL" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "ArrowVHDL";
+       version = "1.1";
+       sha256 = "1lv76m4qc1sabagllaagi7bpqf1mnmzsra333a77b6134mk2f9hb";
+       buildDepends = [ base process ];
+       jailbreak = true;
+       homepage = "https://github.com/frosch03/arrowVHDL";
+       description = "A library to generate Netlist code from Arrow descriptions";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "AspectAG" = callPackage
+    ({ mkDerivation, base, containers, HList, mtl, template-haskell }:
+     mkDerivation {
+       pname = "AspectAG";
+       version = "0.3.6.1";
+       sha256 = "01pglvf38v5ii2w03kdlgngxbb3ih0j5bsilv5qwc9vrh2iwirhf";
+       buildDepends = [ base containers HList mtl template-haskell ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/Center/AspectAG";
+       description = "Attribute Grammars in the form of an EDSL";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AttoBencode" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-textual
+     , bytestring, containers, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "AttoBencode";
+       version = "0.3.1.0";
+       sha256 = "0rzzi4asfmkg8nqlxdyq3gwg0q10hqrnvlmq4fjcxvxgvz1ys9hb";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-textual bytestring containers
+       ];
+       testDepends = [
+         base bytestring containers QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://bitbucket.org/FlorianHartwig/attobencode";
+       description = "Fast Bencode encoding and parsing library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AttoJson" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, bytestring-show
+     , containers, mtl, utf8-string
+     }:
+     mkDerivation {
+       pname = "AttoJson";
+       version = "0.5.10";
+       sha256 = "0mavq6akhx7pjdz15ckgnmgf8z9zhi5fm97lvjpjdfiggfy191d2";
+       buildDepends = [
+         attoparsec base bytestring bytestring-show containers mtl
+         utf8-string
+       ];
+       homepage = "http://github.com/konn/AttoJSON";
+       description = "Simple lightweight JSON parser, generator & manipulator based on ByteString";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Attrac" = callPackage
+    ({ mkDerivation, array, base, colour, GLUT, OpenGL, random }:
+     mkDerivation {
+       pname = "Attrac";
+       version = "0.1.3";
+       sha256 = "0spvvgkf33km969l524580kwn7y43rjm2k0lqp9bl60nbvlsw760";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base colour GLUT OpenGL random ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/rhz/StrangeAttractors";
+       description = "Visualisation of Strange Attractors in 3-Dimensions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Aurochs" = callPackage
+    ({ mkDerivation, base, containers, parsec, pretty }:
+     mkDerivation {
+       pname = "Aurochs";
+       version = "0.1";
+       sha256 = "0n51j50qlpkgkq64n7w96qkv270lwxac1h7ariqq7w70zgdgiqf5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers parsec pretty ];
+       description = "Yet another parser generator for C/C++";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "AutoForms" = callPackage
+    ({ mkDerivation, array, base, haskell98, mtl, syb-with-class
+     , template-haskell, wx, wxcore
+     }:
+     mkDerivation {
+       pname = "AutoForms";
+       version = "0.4.2";
+       sha256 = "14dd6s3j9w738dvhyhxb9q8w9m0xhd6fm0d40b3gzl5sjb6g16zf";
+       buildDepends = [
+         array base haskell98 mtl syb-with-class template-haskell wx wxcore
+       ];
+       homepage = "http://autoforms.sourceforge.net/";
+       description = "GUI library based upon generic programming (SYB3)";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "AvlTree" = callPackage
+    ({ mkDerivation, base, COrdering }:
+     mkDerivation {
+       pname = "AvlTree";
+       version = "4.2";
+       sha256 = "0bw6856h75wks0mfvvqqm5i31sici1hacyl5zfj225jf9gn5q7dx";
+       buildDepends = [ base COrdering ];
+       description = "Balanced binary trees using the AVL algorithm";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BASIC" = callPackage
+    ({ mkDerivation, base, containers, llvm, random, timeit }:
+     mkDerivation {
+       pname = "BASIC";
+       version = "0.1.5.0";
+       sha256 = "1ypq7m09ki5wbwkvmqdl7ch40cbdfhb91kq8n17im184r5liyxlc";
+       buildDepends = [ base containers llvm random timeit ];
+       description = "Embedded BASIC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "BNFC" = callPackage
+    ({ mkDerivation, alex, array, base, containers, deepseq, directory
+     , doctest, filepath, happy, hspec, HUnit, mtl, pretty, process
+     , QuickCheck, temporary
+     }:
+     mkDerivation {
+       pname = "BNFC";
+       version = "2.7.1";
+       sha256 = "1n9l64wzga3i7ifh2k5rwhxp60gb0av5fszygw5mvr31r64cf4fp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers deepseq directory filepath mtl pretty process
+       ];
+       testDepends = [
+         array base containers deepseq directory doctest filepath hspec
+         HUnit mtl pretty process QuickCheck temporary
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://bnfc.digitalgrammars.com/";
+       description = "A compiler front-end generator";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "BNFC-meta" = callPackage
+    ({ mkDerivation, alex-meta, array, base, happy-meta
+     , haskell-src-meta, syb, template-haskell
+     }:
+     mkDerivation {
+       pname = "BNFC-meta";
+       version = "0.4.0.2";
+       sha256 = "0d59kmbcwsdh34hagmhhcq0d0x49wmzl6kycm9p55i7cf0zw0a5l";
+       buildDepends = [
+         alex-meta array base happy-meta haskell-src-meta syb
+         template-haskell
+       ];
+       description = "Deriving Parsers and Quasi-Quoters from BNF Grammars";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Baggins" = callPackage
+    ({ mkDerivation, base, cairo, containers, mtl }:
+     mkDerivation {
+       pname = "Baggins";
+       version = "1.0";
+       revision = "1";
+       sha256 = "0mgxq8zqyfmwkvn91y91c2vjhrni3br0vgiih2ynlafnas1ji0bc";
+       editedCabalFile = "654cbc7a4109bf3baaa2491f10a7f49d1831008129d4d5ef9e0e558a5a374098";
+       buildDepends = [ base cairo containers mtl ];
+       jailbreak = true;
+       homepage = "http://pageperso.lif.univ-mrs.fr/~pierre-etienne.meunier/Baggins";
+       description = "Tools for self-assembly";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Bang" = callPackage
+    ({ mkDerivation, base, bifunctors, hmidi, mtl, stm, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Bang";
+       version = "0.1.1.0";
+       sha256 = "1y68k1xsx2fksz70z5b8wdf5brk3vqsc6sih2asp4f97nwlkm5fw";
+       buildDepends = [ base bifunctors hmidi mtl stm time transformers ];
+       homepage = "https://github.com/5outh/Bang/";
+       description = "A Drum Machine DSL for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Barracuda" = callPackage
+    ({ mkDerivation, adhoc-network, array, base, bytestring, containers
+     , Crypto, dataenc, directory, filepath, gtk, HaXml, heap, hsgnutls
+     , mtl, network, old-locale, parsec, pkcs1, random, regex-compat
+     , stm, time, unix, utf8-string, xml-parsec
+     }:
+     mkDerivation {
+       pname = "Barracuda";
+       version = "1.0.2";
+       sha256 = "0i8b6g2jvwg5r5gi1q3fgckh675pc6viqdvncl4ycr4zf72r4jj3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         adhoc-network array base bytestring containers Crypto dataenc
+         directory filepath gtk HaXml heap hsgnutls mtl network old-locale
+         parsec pkcs1 random regex-compat stm time unix utf8-string
+         xml-parsec
+       ];
+       homepage = "http://sep07.mroot.net/";
+       description = "An ad-hoc P2P chat program";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Befunge93" = callPackage
+    ({ mkDerivation, array, base, mtl, random }:
+     mkDerivation {
+       pname = "Befunge93";
+       version = "0.1";
+       sha256 = "1hs4p5s30ml97yrr91ahy7275jh4vyvh2l5p0p3jvpfysvg9sl6l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base mtl random ];
+       jailbreak = true;
+       homepage = "http://coder.bsimmons.name/blog/2010/05/befunge-93-interpreter-on-hackage";
+       description = "An interpreter for the Befunge-93 Programming Language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BerkeleyDB" = callPackage
+    ({ mkDerivation, base, bytestring, db, extensible-exceptions }:
+     mkDerivation {
+       pname = "BerkeleyDB";
+       version = "0.8.7";
+       sha256 = "0q1qc6rds05bkxl2m3anp7x75cwinp9nhy8j0g1vaj2scasvki62";
+       buildDepends = [ base bytestring extensible-exceptions ];
+       extraLibraries = [ db ];
+       homepage = "http://www.haskell.org/haskellwiki/BerkeleyDBXML";
+       description = "Berkeley DB binding";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) db;};
+
+  "BerkeleyDBXML" = callPackage
+    ({ mkDerivation, base, BerkeleyDB, bytestring, db, dbxml, xercesc
+     , xqilla
+     }:
+     mkDerivation {
+       pname = "BerkeleyDBXML";
+       version = "0.7.2";
+       sha256 = "1ymdi5qi4hxaikqf8min830r1rs1z4bvy9bdybsq378v7mrgfihp";
+       buildDepends = [ base BerkeleyDB bytestring ];
+       extraLibraries = [ db dbxml xercesc xqilla ];
+       homepage = "http://www.haskell.org/haskellwiki/BerkeleyDBXML";
+       description = "Berkeley DB XML binding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) db;  dbxml = null;  inherit (pkgs) xercesc;
+          xqilla = null;};
+
+  "BerlekampAlgorithm" = callPackage
+    ({ mkDerivation, base, besout }:
+     mkDerivation {
+       pname = "BerlekampAlgorithm";
+       version = "0.1.0.0";
+       sha256 = "14wjpfr9d8fpgl1jkpm2123lprr3hf3a6smkaflzkgxqlgcrkmyr";
+       buildDepends = [ base besout ];
+       jailbreak = true;
+       description = "Factorization of polynomials over finite field";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "BigPixel" = callPackage
+    ({ mkDerivation, array, base, bmp, bytestring, gloss }:
+     mkDerivation {
+       pname = "BigPixel";
+       version = "1.3.0";
+       sha256 = "19fxxbgj67rz2fpxd6f307xd6p7blwynq6gcakjnc7kdq8ghfrgz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base bmp bytestring gloss ];
+       homepage = "https://github.com/mchakravarty/BigPixel";
+       description = "Image editor for pixel art";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Binpack" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Binpack";
+       version = "0.4.1";
+       sha256 = "0am0487l7njngp2k6h3qfbhjs61d9ir9rp8iw1r5448b20n4fxas";
+       buildDepends = [ base ];
+       description = "Common bin-packing heuristics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Biobase" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , directory, either-unwrap, file-embed, filemanip, filepath
+     , ghc-prim, HsTools, mtl, parsec, ParsecTools, primitive
+     , PrimitiveArray, split, tuple, utility-ht, vector
+     , vector-read-instances, zlib
+     }:
+     mkDerivation {
+       pname = "Biobase";
+       version = "0.3.1.1";
+       sha256 = "1zrslhf3aiwc3y0b628j1w93z78v9apcjm2sxyw5qcq6r48zrmcc";
+       buildDepends = [
+         array base bytestring containers deepseq directory either-unwrap
+         file-embed filemanip filepath ghc-prim HsTools mtl parsec
+         ParsecTools primitive PrimitiveArray split tuple utility-ht vector
+         vector-read-instances zlib
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Base library for bioinformatics";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseBlast" = callPackage
+    ({ mkDerivation, array, base, BiobaseXNA, containers }:
+     mkDerivation {
+       pname = "BiobaseBlast";
+       version = "0.0.0.1";
+       sha256 = "1p7f2azq92shmxvs3n683mr5965qkmijbj4ya6333cd7nilwgl0f";
+       buildDepends = [ array base BiobaseXNA containers ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "BLAST-related tools";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseDotP" = callPackage
+    ({ mkDerivation, base, bytestring, iteratee }:
+     mkDerivation {
+       pname = "BiobaseDotP";
+       version = "0.1.0.0";
+       sha256 = "0m7n3c2ly6kly146xrxzx41g3pv0cylrmzpdgv5c54x9gvb1hg7w";
+       buildDepends = [ base bytestring iteratee ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Vienna / DotBracket / ExtSS parsers";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseFR3D" = callPackage
+    ({ mkDerivation, base, BiobaseXNA, bytestring, containers
+     , filemanip, iteratee, tuple
+     }:
+     mkDerivation {
+       pname = "BiobaseFR3D";
+       version = "0.2.3.0";
+       sha256 = "1y8aqxb8gq4k4l0i2wcrn2yi6f7lcmbhbvs4n063r4hgda6xfgch";
+       buildDepends = [
+         base BiobaseXNA bytestring containers filemanip iteratee tuple
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Importer for FR3D resources";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseFasta" = callPackage
+    ({ mkDerivation, base, biocore, bytestring, cmdargs, conduit
+     , containers, transformers
+     }:
+     mkDerivation {
+       pname = "BiobaseFasta";
+       version = "0.0.1.0";
+       sha256 = "035pr31mrmfhmpja8llw81jyxy11aba62bfph34gf3rsi96iylnw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base biocore bytestring cmdargs conduit containers transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "conduit-based FASTA parser";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseInfernal" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base, BiobaseXNA
+     , biocore, bytestring, bytestring-lexing, conduit, containers
+     , either-unwrap, lens, primitive, PrimitiveArray, repa
+     , transformers, tuple, vector
+     }:
+     mkDerivation {
+       pname = "BiobaseInfernal";
+       version = "0.7.1.0";
+       sha256 = "19ga8qaqfp3jkd3mn8p1qrxv0frp4f4qkzhn0p0n8as6dlsifd2s";
+       buildDepends = [
+         attoparsec attoparsec-conduit base BiobaseXNA biocore bytestring
+         bytestring-lexing conduit containers either-unwrap lens primitive
+         PrimitiveArray repa transformers tuple vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Infernal data structures and tools";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseMAF" = callPackage
+    ({ mkDerivation, base, bytestring, containers, iteratee }:
+     mkDerivation {
+       pname = "BiobaseMAF";
+       version = "0.5.0.0";
+       sha256 = "0mwyyb7n232wgjipn9jsbqpcbxqms07adi5a6v14qaiynsjz4n1r";
+       buildDepends = [ base bytestring containers iteratee ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Multiple Alignment Format";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseTrainingData" = callPackage
+    ({ mkDerivation, base, BiobaseDotP, BiobaseFR3D, BiobaseXNA
+     , bytestring, cmdargs, either-unwrap, iteratee, vector
+     }:
+     mkDerivation {
+       pname = "BiobaseTrainingData";
+       version = "0.1.2.3";
+       sha256 = "0qqyj3y2ivxj4d1c4bl5mdi7xm649dvksl57ba0wl0awimi5xn2s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base BiobaseDotP BiobaseFR3D BiobaseXNA bytestring cmdargs
+         either-unwrap iteratee vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "RNA folding training data";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseTurner" = callPackage
+    ({ mkDerivation, base, BiobaseXNA, bytestring, bytestring-lexing
+     , conduit, containers, filepath, lens, primitive, PrimitiveArray
+     , repa, split, vector
+     }:
+     mkDerivation {
+       pname = "BiobaseTurner";
+       version = "0.3.1.1";
+       sha256 = "1h6yn6nwl8ifbz8y1rq5xklhmnbbjibfi9qz4n79xmv7y9bgkbxf";
+       buildDepends = [
+         base BiobaseXNA bytestring bytestring-lexing conduit containers
+         filepath lens primitive PrimitiveArray repa split vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Import Turner RNA parameters";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseTypes" = callPackage
+    ({ mkDerivation, base, primitive, vector }:
+     mkDerivation {
+       pname = "BiobaseTypes";
+       version = "0.0.2.2";
+       sha256 = "03h7a95njbsl67bbg7wfxjjlibsqhkm62f04hhv6s14cgrvh0b3g";
+       buildDepends = [ base primitive vector ];
+       jailbreak = true;
+       description = "(deprecated) Ring class, with several instances";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseVienna" = callPackage
+    ({ mkDerivation, base, BiobaseTurner, BiobaseXNA, primitive
+     , PrimitiveArray, vector
+     }:
+     mkDerivation {
+       pname = "BiobaseVienna";
+       version = "0.3.0.0";
+       sha256 = "0bv100rmr04w8wbzabihv43lxilr0b2rm97rx54bhln1sy0ih1wj";
+       buildDepends = [
+         base BiobaseTurner BiobaseXNA primitive PrimitiveArray vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Import Vienna energy parameters";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BiobaseXNA" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers, csv
+     , file-embed, mtl, primitive, PrimitiveArray, repa, text, tuple
+     , vector, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "BiobaseXNA";
+       version = "0.8.3.0";
+       sha256 = "0z0qm7hlacxixwnd9xdvyk05ih3wvj23zwz6mc9dgflzjq75d6n9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs containers csv file-embed mtl primitive
+         PrimitiveArray repa text tuple vector vector-th-unbox
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Efficient RNA/DNA representations";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "BirdPP" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "BirdPP";
+       version = "1.1";
+       sha256 = "14wbnxjyg75vc7zwg42cpk8a1cb7gm4881c52yaq1bq053g5dsz2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 ];
+       jailbreak = true;
+       description = "A preprocessor for Bird-style Literate Haskell comments with Haddock markup";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BitSyntax" = callPackage
+    ({ mkDerivation, base, bytestring, haskell98, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "BitSyntax";
+       version = "0.3.2";
+       sha256 = "1kz9s9g05b5qzw9p7vvyw8zmy9sx1wzn83ay6prdyv74x0wycjbl";
+       buildDepends = [
+         base bytestring haskell98 QuickCheck template-haskell
+       ];
+       homepage = "http://www.imperialviolet.org/bitsyntax";
+       description = "A module to aid in the (de)serialisation of binary data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Bitly" = callPackage
+    ({ mkDerivation, base, HTTP, json2 }:
+     mkDerivation {
+       pname = "Bitly";
+       version = "0.1.0";
+       sha256 = "1pmmgg6n6pc0qvp5r4qxan32887132si0cayd0xh1g5v98fa9ari";
+       buildDepends = [ base HTTP json2 ];
+       homepage = "http://bitbucket.org/jetxee/hs-bitly/";
+       description = "A library to access bit.ly URL shortener.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BlastHTTP" = callPackage
+    ({ mkDerivation, base, biocore, blastxml, bytestring, conduit, HTTP
+     , http-conduit, hxt, mtl, network, transformers
+     }:
+     mkDerivation {
+       pname = "BlastHTTP";
+       version = "1.0.1";
+       revision = "2";
+       sha256 = "1qxf2lqsbwmfqkzabx8qpavf3da4lq3j1v1rdsv42gl27lqhbayi";
+       editedCabalFile = "e182e8cb8b1fdcff3f5cd8ba3e46f371f98ac55a3d2738061a6ab78aba52b308";
+       buildDepends = [
+         base biocore blastxml bytestring conduit 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;
+     }) {};
+
+  "Blobs" = callPackage
+    ({ mkDerivation, base, containers, directory, HaXml, polyparse
+     , pretty, wx, wxcore
+     }:
+     mkDerivation {
+       pname = "Blobs";
+       version = "0.3";
+       sha256 = "09mpf3qwr38x0ljz4ziyhdcwl5j37i353wc2dkpc6hjki9p08rgl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory HaXml polyparse pretty wx wxcore
+       ];
+       homepage = "http://www.cs.york.ac.uk/fp/darcs/Blobs/";
+       description = "Diagram editor";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BlogLiterately" = callPackage
+    ({ mkDerivation, base, blaze-html, bool-extras, bytestring, cmdargs
+     , containers, data-default, directory, filepath, HaXml, haxr
+     , highlighting-kate, hscolour, lens, mtl, pandoc, pandoc-citeproc
+     , pandoc-types, parsec, process, split, strict, temporary
+     , transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "BlogLiterately";
+       version = "0.7.1.7";
+       revision = "3";
+       sha256 = "05i0v5mrmnxbmrqrm473z6hs9j4c2jv1l81i4kdmm2wia6p93s90";
+       editedCabalFile = "04eff5dba1e60fa191970db5aa7c08f4c95dbc5f425cdea79037c5ee5823074c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html bool-extras bytestring cmdargs containers
+         data-default directory filepath HaXml haxr highlighting-kate
+         hscolour lens mtl pandoc pandoc-citeproc pandoc-types parsec
+         process split strict temporary transformers utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://byorgey.wordpress.com/blogliterately/";
+       description = "A tool for posting Haskelly articles to blogs";
+       license = "GPL";
+     }) {};
+
+  "BlogLiterately-diagrams" = callPackage
+    ({ mkDerivation, base, BlogLiterately, containers, diagrams-builder
+     , diagrams-cairo, diagrams-lib, directory, filepath, pandoc, safe
+     }:
+     mkDerivation {
+       pname = "BlogLiterately-diagrams";
+       version = "0.1.4.3";
+       revision = "1";
+       sha256 = "0p65nyslcvf4qzgrwsi59xil8i5sgh1xfyz431lf4f00nsqb0s2h";
+       editedCabalFile = "a9b96a72609bba1d29f628c22171dfb4e49e4c2ed7a8b3f5c2caf1127dff403d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base BlogLiterately containers diagrams-builder diagrams-cairo
+         diagrams-lib directory filepath pandoc safe
+       ];
+       description = "Include images in blog posts with inline diagrams code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "BluePrintCSS" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "BluePrintCSS";
+       version = "0.1";
+       sha256 = "0ryjgi70isgfv3nw3djzvb1saky40xqy536h6sr3mfpy2iqnim0c";
+       buildDepends = [ base mtl ];
+       homepage = "http://git.ierton.ru/?p=BluePrint.git;a=summary";
+       description = "Html document layout library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Blueprint" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "Blueprint";
+       version = "0.1";
+       sha256 = "16cfmy4ndc15p6jdmyy08nqgv143dvs9xf4qg4mxa6x5r326pi94";
+       homepage = "http://github.com/gcross/Blueprint";
+       description = "Preview of a new build system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Bookshelf" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, pandoc
+     , pandoc-citeproc, pandoc-types, parseargs, process
+     }:
+     mkDerivation {
+       pname = "Bookshelf";
+       version = "0.4";
+       sha256 = "1h23ncphq717xqvg3bhij0ypmi6whm0aibhmiwak71sjkzv604in";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath pandoc pandoc-citeproc
+         pandoc-types parseargs
+       ];
+       testDepends = [ base process ];
+       homepage = "http://www.cse.chalmers.se/~emax/bookshelf/Manual.shelf.html";
+       description = "A simple document organizer with some wiki functionality";
+       license = "GPL";
+     }) {};
+
+  "Boolean" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Boolean";
+       version = "0.2.3";
+       sha256 = "1lsm06y7hgjp9qmlr6csf24x3wgna7sbf8dgh6sfl2rhs7fn8kgn";
+       buildDepends = [ base ];
+       description = "Generalized booleans and numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "BoundedChan" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "BoundedChan";
+       version = "1.0.3.0";
+       sha256 = "0vf4mlw08n056g5256cf46m5xsijng5gvjx7ccm4r132gznyl72k";
+       buildDepends = [ array base ];
+       description = "Implementation of bounded channels";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Bravo" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, haskell-src-meta, mtl
+     , parsec, syb, template-haskell
+     }:
+     mkDerivation {
+       pname = "Bravo";
+       version = "0.1.0.1";
+       sha256 = "16li42rl77jvhyp14fjic66c7d6qm2fjln93gyw4bqbykai291in";
+       buildDepends = [
+         base haskell-src-exts haskell-src-meta mtl parsec syb
+         template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Bravo";
+       description = "Static text template generation library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Buster" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, data-default, errors
+     , hinotify, hslogger, hspec, hspec-expectations, http-conduit
+     , http-types, string-qq, temporary, transformers, unbounded-delays
+     , unix, yaml
+     }:
+     mkDerivation {
+       pname = "Buster";
+       version = "0.1.1";
+       sha256 = "12zchy3sqdcqdgbb7d29jrsqifz4hfdx94s514v2mmyzzr0m8xqd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit data-default errors hinotify hslogger
+         http-conduit http-types transformers unbounded-delays unix yaml
+       ];
+       testDepends = [
+         base bytestring errors hslogger hspec hspec-expectations
+         http-conduit http-types string-qq temporary unix yaml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/michaelxavier/Buster";
+       description = "Hits a set of urls periodically to bust caches";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CBOR" = callPackage
+    ({ mkDerivation, base, binary, binary-bits, bytestring
+     , data-binary-ieee754, doctest, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "CBOR";
+       version = "0.1.0.1";
+       sha256 = "03h8lp5sm8prbphq98c7ar93rl9yfy29pvwrkrskdjhx79pd1w6q";
+       buildDepends = [
+         base binary binary-bits bytestring data-binary-ieee754
+       ];
+       testDepends = [
+         base binary binary-bits bytestring data-binary-ieee754 doctest
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/orclev/CBOR";
+       description = "Encode/Decode values to/from CBOR";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CC-delcont" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "CC-delcont";
+       version = "0.2";
+       sha256 = "0bl71vj1ypzplx92kz27hhbpnwnxkz5g2q86m4fcmjmp4fym8kc1";
+       buildDepends = [ base mtl ];
+       homepage = "http://code.haskell.org/~dolio/CC-delcont";
+       description = "Delimited continuations and dynamically scoped variables";
+       license = "unknown";
+     }) {};
+
+  "CC-delcont-alt" = callPackage
+    ({ mkDerivation, base, CC-delcont-cxe, CC-delcont-exc
+     , CC-delcont-ref, doctest, mtl
+     }:
+     mkDerivation {
+       pname = "CC-delcont-alt";
+       version = "0.1.1.1";
+       sha256 = "0s6z5bcxmcx1vzgjc6r2i4898j6s3ngjjdqhggp893hmhpxlbgsv";
+       buildDepends = [
+         base CC-delcont-cxe CC-delcont-exc CC-delcont-ref mtl
+       ];
+       testDepends = [ base doctest mtl ];
+       description = "Three new monad transformers for multi-prompt delimited control";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CC-delcont-cxe" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "CC-delcont-cxe";
+       version = "0.1.0.2";
+       sha256 = "1s6bql9r78yfzgarm3i4f2glhc5w8qq91adhs15cnqj6h7768a5c";
+       buildDepends = [ base mtl ];
+       description = "A monad transformers for multi-prompt delimited control";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CC-delcont-exc" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "CC-delcont-exc";
+       version = "0.1.0.0";
+       sha256 = "07v388bzs8x9k1p677310rbh8baj1fdq3bhbqyvxqzx93kv8g381";
+       buildDepends = [ base mtl ];
+       description = "A monad transformers for multi-prompt delimited control";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CC-delcont-ref" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "CC-delcont-ref";
+       version = "0.1.0.0";
+       sha256 = "0fzjr73id8rlrcmf0j3y1qn4jnc8incqhhkp9wl35lig20kqy82m";
+       buildDepends = [ base mtl ];
+       description = "A monad transformers for multi-prompt delimited control using refercence cells";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CC-delcont-ref-tf" = callPackage
+    ({ mkDerivation, base, ref-tf, transformers }:
+     mkDerivation {
+       pname = "CC-delcont-ref-tf";
+       version = "0.1.0.2";
+       sha256 = "0zavw824xcr1jhmlpz9hmabhhi459y0s7z434lxalzha01j1wfih";
+       buildDepends = [ base ref-tf transformers ];
+       description = "A monad transformers for multi-prompt delimited control using refercence cells";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CCA" = callPackage
+    ({ mkDerivation, array, base, containers, ghc-prim, happy
+     , haskell-src, syb, template-haskell
+     }:
+     mkDerivation {
+       pname = "CCA";
+       version = "0.1.5.2";
+       sha256 = "16121708y4pdqzcg4s6i8rmz7jrzhndj1i86zn3xgnq2bgv1rxj4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers ghc-prim haskell-src syb template-haskell
+       ];
+       buildTools = [ happy ];
+       homepage = "not available";
+       description = "preprocessor and library for Causal Commutative Arrows (CCA)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CHXHtml" = callPackage
+    ({ mkDerivation, base, bytestring, hxt-regex-xmlschema, utf8-string
+     }:
+     mkDerivation {
+       pname = "CHXHtml";
+       version = "0.2.0";
+       sha256 = "0pr2mvcnrz3240wnpd44g3pz9x8am6vhhfvl0lyl129kvc33v99q";
+       buildDepends = [ base bytestring hxt-regex-xmlschema utf8-string ];
+       homepage = "http://fuzzpault.com/chxhtml";
+       description = "A W3C compliant (X)HTML generating library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CLASE" = callPackage
+    ({ mkDerivation, base, containers, filepath, mtl, parsec
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "CLASE";
+       version = "2009.2.11";
+       sha256 = "10jab7jxlhppmqqw31g653l8jmz4vz8f9h9wr2i9fjf6bipvgfi3";
+       buildDepends = [
+         base containers filepath mtl parsec template-haskell
+       ];
+       homepage = "http://www.zonetora.co.uk/clase/";
+       description = "Cursor Library for A Structured Editor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CLI" = callPackage
+    ({ mkDerivation, base, directory, doctest, split, time }:
+     mkDerivation {
+       pname = "CLI";
+       version = "0.1.0.0";
+       sha256 = "1g271n7z6xndqylwxwcaa1xscgd36wzb2apbmrilv42v7ii4aall";
+       buildDepends = [ base directory split time ];
+       testDepends = [ base doctest ];
+       description = "CLI tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CMCompare" = callPackage
+    ({ mkDerivation, array, base, BiobaseInfernal, BiobaseXNA, cmdargs
+     , containers, lens
+     }:
+     mkDerivation {
+       pname = "CMCompare";
+       version = "0.0.1.5";
+       sha256 = "1ccjyn0cc8yx7fgnvsjap0swlxql3gdygb5mabzvkgk84zc3bh2b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base BiobaseInfernal BiobaseXNA cmdargs containers lens
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/software/cmcompare/";
+       description = "Infernal covariance model comparison";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CMQ" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, iproute, mtl
+     , network, PSQueue, stm, time
+     }:
+     mkDerivation {
+       pname = "CMQ";
+       version = "0.0.12";
+       sha256 = "0zskbcjdd4s8bkll7jvb8qzyq8pa52li4db9r5wg16pd2l3m0fpb";
+       buildDepends = [
+         base bytestring cereal containers iproute mtl network PSQueue stm
+         time
+       ];
+       homepage = "http://github.com/viloocity/cmq/";
+       description = "cwmwl udp message queue";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "COrdering" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "COrdering";
+       version = "2.3";
+       sha256 = "1lkav4wkyrraq1f6kyqfyjrxasgkayg4hmyv8a1gkr4h484b1cx8";
+       buildDepends = [ base ];
+       description = "An algebraic data type similar to Prelude Ordering";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CPBrainfuck" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "CPBrainfuck";
+       version = "1.1";
+       sha256 = "041bm02xar8g6ppz6g0fdgs4ywavlcn4pqkncydx0lw5wp9ygwwn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 ];
+       description = "A simple Brainfuck interpretter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CPL" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, parsec, readline }:
+     mkDerivation {
+       pname = "CPL";
+       version = "0.0.7";
+       sha256 = "1hm2slnvcp1fqdrgx505wkj3w511x9896h2hj9riyky6vg2mzgr7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers mtl parsec readline ];
+       description = "An interpreter of Hagino's Categorical Programming Language (CPL)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CSPM-CoreLanguage" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "CSPM-CoreLanguage";
+       version = "0.3.0.3";
+       sha256 = "0vr6zpdz5lnpkyzwhig72pv8ncvqdjyp1nn76zpx3v6xlpzrs3q2";
+       buildDepends = [ base ];
+       description = "Definition of a FDR-compatible CSP core-language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CSPM-FiringRules" = callPackage
+    ({ mkDerivation, base, containers, CSPM-CoreLanguage, mtl
+     , parallel-tree-search, tree-monad
+     }:
+     mkDerivation {
+       pname = "CSPM-FiringRules";
+       version = "0.4.3.0";
+       sha256 = "0rdggf00zq51j4af6rhk4ix8rbpd82piy2al4m6ymziwflv3b70m";
+       buildDepends = [
+         base containers CSPM-CoreLanguage mtl parallel-tree-search
+         tree-monad
+       ];
+       description = "Firing rules semantic of CSPM";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CSPM-Frontend" = callPackage
+    ({ mkDerivation, alex, array, base, containers, dlist, either
+     , ghc-prim, mtl, parsec2, prettyclass, syb, transformers
+     }:
+     mkDerivation {
+       pname = "CSPM-Frontend";
+       version = "0.10.0.0";
+       sha256 = "0wmfk9givv604ajzkg60586lz08xqcx60bnqgslpfzkh458mz9z3";
+       buildDepends = [
+         array base containers dlist either ghc-prim mtl parsec2 prettyclass
+         syb transformers
+       ];
+       buildTools = [ alex ];
+       description = "A CSP-M parser compatible with FDR-2.91";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CSPM-Interpreter" = callPackage
+    ({ mkDerivation, array, base, containers, CSPM-CoreLanguage
+     , CSPM-Frontend, mtl, prettyclass, syb
+     }:
+     mkDerivation {
+       pname = "CSPM-Interpreter";
+       version = "0.7.0.0";
+       sha256 = "0shf0bb4zqnxvclsavvxnsy697xbl5q1xjqww8makps6dirwk0qn";
+       buildDepends = [
+         array base containers CSPM-CoreLanguage CSPM-Frontend mtl
+         prettyclass syb
+       ];
+       description = "An interpreter for CSPM";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CSPM-ToProlog" = callPackage
+    ({ mkDerivation, array, base, containers, CSPM-Frontend, ghc-prim
+     , pretty
+     }:
+     mkDerivation {
+       pname = "CSPM-ToProlog";
+       version = "0.5.2.0";
+       sha256 = "0qy2zdxgdm9vacm2ickf1lvyj6wrcnpifaxgh25apg9j9v6g0h12";
+       buildDepends = [
+         array base containers CSPM-Frontend ghc-prim pretty
+       ];
+       description = "some modules specific for the ProB tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CSPM-cspm" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, CSPM-CoreLanguage
+     , CSPM-FiringRules, CSPM-Frontend, CSPM-Interpreter, CSPM-ToProlog
+     , hslua, parallel, pretty, prettyclass, syb, transformers, xml
+     }:
+     mkDerivation {
+       pname = "CSPM-cspm";
+       version = "0.8.0.0";
+       sha256 = "1lhfq8gjls2g3xwskwa7vx1kj6n83b4msx4fc6769li4r2xn1bc9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers CSPM-CoreLanguage CSPM-FiringRules
+         CSPM-Frontend CSPM-Interpreter CSPM-ToProlog hslua parallel pretty
+         prettyclass syb transformers xml
+       ];
+       description = "cspm command line tool for analyzing CSPM specifications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CTRex" = callPackage
+    ({ mkDerivation, base, containers, hashable, mtl
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "CTRex";
+       version = "0.6";
+       sha256 = "0cjinznkvdrswbqrsha49b6hch7sjv2qq9xllx780klf01kdahi6";
+       buildDepends = [
+         base containers hashable mtl unordered-containers
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/CTRex";
+       description = "Open records using closed type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CV" = callPackage
+    ({ mkDerivation, array, base, binary, bindings-DSL, c2hs, carray
+     , containers, deepseq, directory, filepath, lazysmallcheck, mtl
+     , mwc-random, opencv_calib3d, opencv_contrib, opencv_core
+     , opencv_features2d, opencv_flann, opencv_gpu, opencv_highgui
+     , opencv_imgproc, opencv_legacy, opencv_ml, opencv_objdetect
+     , opencv_video, parallel, parallel-io, primitive, QuickCheck
+     , storable-complex, storable-tuple, vector
+     }:
+     mkDerivation {
+       pname = "CV";
+       version = "0.3.7";
+       sha256 = "0c200jn6q4y744k39jll7xw418js7y86vvihz49i8kk2316vakmr";
+       buildDepends = [
+         array base binary bindings-DSL carray containers deepseq directory
+         filepath lazysmallcheck mtl mwc-random parallel parallel-io
+         primitive QuickCheck storable-complex storable-tuple vector
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [
+         opencv_calib3d opencv_contrib opencv_core opencv_features2d
+         opencv_flann opencv_gpu opencv_highgui opencv_imgproc opencv_legacy
+         opencv_ml opencv_objdetect opencv_video
+       ];
+       jailbreak = true;
+       homepage = "http://aleator.github.com/CV/";
+       description = "OpenCV based machine vision library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { opencv_calib3d = null;  opencv_contrib = null;
+          opencv_core = null;  opencv_features2d = null;
+          opencv_flann = null;  opencv_gpu = null;  opencv_highgui = null;
+          opencv_imgproc = null;  opencv_legacy = null;  opencv_ml = null;
+          opencv_objdetect = null;  opencv_video = null;};
+
+  "Cabal_1_18_1_6" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , directory, extensible-exceptions, filepath, HUnit, pretty
+     , process, QuickCheck, regex-posix, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time, unix
+     }:
+     mkDerivation {
+       pname = "Cabal";
+       version = "1.18.1.6";
+       sha256 = "15nn6f8bnqzy7pqxb45hdf30qid2hw608dcqgmwrcfrd8zrrvylw";
+       buildDepends = [
+         array base bytestring containers deepseq directory filepath pretty
+         process time unix
+       ];
+       testDepends = [
+         base bytestring directory extensible-exceptions filepath HUnit
+         process QuickCheck regex-posix test-framework test-framework-hunit
+         test-framework-quickcheck2 unix
+       ];
+       preCheck = "unset GHC_PACKAGE_PATH; export HOME=$NIX_BUILD_TOP";
+       homepage = "http://www.haskell.org/cabal/";
+       description = "A framework for packaging Haskell software";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Cabal_1_20_0_3" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , directory, extensible-exceptions, filepath, HUnit, pretty
+     , process, QuickCheck, regex-posix, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time, unix
+     }:
+     mkDerivation {
+       pname = "Cabal";
+       version = "1.20.0.3";
+       sha256 = "0vq1xcwvvk74jkzp7386ldyrls8qszg3rj4l37fyq3fvjkqnx80v";
+       buildDepends = [
+         array base bytestring containers deepseq directory filepath pretty
+         process time unix
+       ];
+       testDepends = [
+         base bytestring directory extensible-exceptions filepath HUnit
+         process QuickCheck regex-posix test-framework test-framework-hunit
+         test-framework-quickcheck2 unix
+       ];
+       jailbreak = true;
+       preCheck = "unset GHC_PACKAGE_PATH; export HOME=$NIX_BUILD_TOP";
+       homepage = "http://www.haskell.org/cabal/";
+       description = "A framework for packaging Haskell software";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Cabal_1_22_2_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, extensible-exceptions, filepath, HUnit
+     , old-time, pretty, process, QuickCheck, regex-posix
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "Cabal";
+       version = "1.22.2.0";
+       sha256 = "0q46wx1nvpi0cjbs9fw0kwmbyclkkvv5zp7dcssbdl3sqg216k6z";
+       buildDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         pretty process time unix
+       ];
+       testDepends = [
+         base bytestring containers directory extensible-exceptions filepath
+         HUnit old-time process QuickCheck regex-posix test-framework
+         test-framework-hunit test-framework-quickcheck2 unix
+       ];
+       preCheck = "unset GHC_PACKAGE_PATH; export HOME=$NIX_BUILD_TOP";
+       homepage = "http://www.haskell.org/cabal/";
+       description = "A framework for packaging Haskell software";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Cabal-ide-backend" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
+     , deepseq, directory, extensible-exceptions, filepath, HUnit
+     , old-time, pretty, process, QuickCheck, regex-posix
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "Cabal-ide-backend";
+       version = "1.23.0.0";
+       sha256 = "07s9gkq2d4sz8nrjayrnb3gbjm58sp7gfl3hnl8n1gsxsfbl2cgw";
+       buildDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         pretty process time unix
+       ];
+       testDepends = [
+         base bytestring Cabal containers directory extensible-exceptions
+         filepath HUnit old-time process QuickCheck regex-posix
+         test-framework test-framework-hunit test-framework-quickcheck2 unix
+       ];
+       homepage = "http://www.haskell.org/cabal/";
+       description = "A framework for packaging Haskell software";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CabalSearch" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, HDBC
+     , HDBC-sqlite3, process, unix
+     }:
+     mkDerivation {
+       pname = "CabalSearch";
+       version = "0.0.2";
+       sha256 = "181k2rybbyhjmwf1fq69hiaf14a0rzcvnv4j9w03n2v7cal4k08b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath HDBC HDBC-sqlite3 process unix
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/brinchj/cabalsearch";
+       description = "Search cabal packages by name";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Capabilities" = callPackage
+    ({ mkDerivation, base, compdata, directory, free, unix }:
+     mkDerivation {
+       pname = "Capabilities";
+       version = "0.1.0.0";
+       sha256 = "0nd5yvhbxmabs0890y9gjjiq37h8c3blpplv2m13k29zkijwad04";
+       buildDepends = [ base compdata directory free unix ];
+       jailbreak = true;
+       homepage = "https://github.com/Icelandjack/Capabilities";
+       description = "Separate and contain effects of IO monad";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Cardinality" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "Cardinality";
+       version = "0.2";
+       sha256 = "01bp045vl08sixvi6h0i21vvmjirnyzlmwxx8yq5njbcxrgbq6dn";
+       buildDepends = [ base containers mtl ];
+       description = "Measure container capacity. Use it to safely change container.";
+       license = "LGPL";
+     }) {};
+
+  "CarneadesDSL" = callPackage
+    ({ mkDerivation, base, containers, fgl, parsec }:
+     mkDerivation {
+       pname = "CarneadesDSL";
+       version = "1.3";
+       sha256 = "06ri47cfskvpm65zb63kjrwwhzlmcp2f0z99hqkfw216p85648a3";
+       buildDepends = [ base containers fgl parsec ];
+       homepage = "http://www.cs.nott.ac.uk/~bmv/CarneadesDSL/";
+       description = "An implementation and DSL for the Carneades argumentation model";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CarneadesIntoDung" = callPackage
+    ({ mkDerivation, base, CarneadesDSL, cmdargs, containers, Dung, fgl
+     }:
+     mkDerivation {
+       pname = "CarneadesIntoDung";
+       version = "1.0";
+       sha256 = "0gmrc778zan5rrkb7rip61736rzx13abfzyjcj4bgdvc3fhih1rx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base CarneadesDSL cmdargs containers Dung fgl ];
+       homepage = "http://www.cs.nott.ac.uk/~bmv/CarneadesIntoDung/";
+       description = "A translation from the Carneades argumentation model into Dung's AFs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Cascade" = callPackage
+    ({ mkDerivation, base, comonad, ghc-prim, mtl, void }:
+     mkDerivation {
+       pname = "Cascade";
+       version = "0.1.0.0";
+       sha256 = "1ih8ydc29axckgidc5xvsdac5558gprscw667msh8qh41j9sshng";
+       buildDepends = [ base comonad ghc-prim mtl void ];
+       jailbreak = true;
+       homepage = "http://github.com/rampion/Cascade";
+       description = "Playing with reified categorical composition";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Catana" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "Catana";
+       version = "0.3";
+       sha256 = "10m7l701p3a2w0kxi2b93g2ii6s4s71zyjypqk3mi79siv8yilif";
+       buildDepends = [ base mtl ];
+       description = "A monad for complex manipulation of a stream";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Chart" = callPackage
+    ({ mkDerivation, array, base, colour, data-default-class, lens, mtl
+     , old-locale, operational, time
+     }:
+     mkDerivation {
+       pname = "Chart";
+       version = "1.3.3";
+       sha256 = "1shq0320mc47kjbfw3vqrmjshb8fd3afd009kqxd8nn9g7m48019";
+       buildDepends = [
+         array base colour data-default-class lens mtl old-locale
+         operational time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/timbod7/haskell-chart/wiki";
+       description = "A library for generating 2D Charts and Plots";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Chart-cairo" = callPackage
+    ({ mkDerivation, array, base, cairo, Chart, colour
+     , data-default-class, lens, mtl, old-locale, operational, time
+     }:
+     mkDerivation {
+       pname = "Chart-cairo";
+       version = "1.3.3";
+       sha256 = "1x1bs5xlzw91qx2rgfak1i5q15l6hij6hhir6qw7bgl57n1046ah";
+       buildDepends = [
+         array base cairo Chart colour data-default-class lens mtl
+         old-locale operational time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/timbod7/haskell-chart/wiki";
+       description = "Cairo backend for Charts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Chart-diagrams" = callPackage
+    ({ mkDerivation, base, blaze-svg, bytestring, Chart, colour
+     , containers, data-default-class, diagrams-core, diagrams-lib
+     , diagrams-postscript, diagrams-svg, lens, mtl, old-locale
+     , operational, SVGFonts, text, time
+     }:
+     mkDerivation {
+       pname = "Chart-diagrams";
+       version = "1.3.3";
+       sha256 = "1bvlfy2gmv0w99jr32srdvrh7g0fzgvwhmzw8sf2iii12a7xwf56";
+       buildDepends = [
+         base blaze-svg bytestring Chart colour containers
+         data-default-class diagrams-core diagrams-lib diagrams-postscript
+         diagrams-svg lens mtl old-locale operational SVGFonts text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/timbod7/haskell-chart/wiki";
+       description = "Diagrams backend for Charts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Chart-gtk" = callPackage
+    ({ mkDerivation, array, base, cairo, Chart, Chart-cairo, colour
+     , data-default-class, gtk, mtl, old-locale, time
+     }:
+     mkDerivation {
+       pname = "Chart-gtk";
+       version = "1.3.3";
+       sha256 = "0b8c7f2mha45iaw8vpzvhyxsqg3lrfm2cn89an27vsw9k72qric2";
+       buildDepends = [
+         array base cairo Chart Chart-cairo colour data-default-class gtk
+         mtl old-locale time
+       ];
+       homepage = "https://github.com/timbod7/haskell-chart/wiki";
+       description = "Utility functions for using the chart library with GTK";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Chart-simple" = callPackage
+    ({ mkDerivation, array, base, cairo, Chart, Chart-cairo, Chart-gtk
+     , colour, data-default-class, gtk, mtl, old-locale, time
+     }:
+     mkDerivation {
+       pname = "Chart-simple";
+       version = "1.3.3";
+       sha256 = "0kk81jz4lciga8qc78gm9khw02n84snyclzf5lcmlz9rs50z3v5r";
+       buildDepends = [
+         array base cairo Chart Chart-cairo Chart-gtk colour
+         data-default-class gtk mtl old-locale time
+       ];
+       homepage = "https://github.com/timbod7/haskell-chart/wiki";
+       description = "A wrapper for the chart library to assist with basic plots (Deprecated - use the Easy module instead)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ChasingBottoms" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, QuickCheck, random
+     , syb
+     }:
+     mkDerivation {
+       pname = "ChasingBottoms";
+       version = "1.3.0.11";
+       sha256 = "00z3h4qpy7n9khygwjzn5dziv4fgvgj72fkan3m7f27d2y3cbw4w";
+       buildDepends = [ base containers mtl QuickCheck random syb ];
+       testDepends = [ array base containers mtl QuickCheck random syb ];
+       description = "For testing partial and infinite values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "CheatSheet" = callPackage
+    ({ mkDerivation, base, containers, directory }:
+     mkDerivation {
+       pname = "CheatSheet";
+       version = "2.9";
+       sha256 = "1pw6sssdmxpsjclkhsaf1b06vlimi4w11rxy65ccyj8c9zgs2g23";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers directory ];
+       homepage = "http://cheatsheet.codeslower.com";
+       description = "A Haskell cheat sheet in PDF and literate formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Checked" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "Checked";
+       version = "0.0.0.2";
+       sha256 = "1mr323rhh3lr6a5ni60n2kxz2k57763a3rrf7c6i18hxs9d4w2s4";
+       buildDepends = [ base text ];
+       jailbreak = true;
+       description = "Inbuilt checking for ultra reliable computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Chitra" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mtl, network }:
+     mkDerivation {
+       pname = "Chitra";
+       version = "0.2.2";
+       sha256 = "0qf6a1xmpv29hpwcrn3acfvpcx0f95dq980mv5mijzfsznz4d43k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring mtl network ];
+       homepage = "https://github.com/ckkashyap/Chitra";
+       description = "A platform independent mechanism to render graphics using vnc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ChristmasTree" = callPackage
+    ({ mkDerivation, base, containers, fgl, template-haskell, TTTAS
+     , uulib
+     }:
+     mkDerivation {
+       pname = "ChristmasTree";
+       version = "0.2.1.1";
+       sha256 = "1xng99msiyck127zv12cbksgyprwr6i6nwwjplc9c0jdfiisa9n8";
+       buildDepends = [
+         base containers fgl template-haskell TTTAS uulib
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/Center/TTTAS";
+       description = "Alternative approach of 'read' that composes grammars instead of parsers";
+       license = "LGPL";
+     }) {};
+
+  "ClassLaws" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, mtl, QuickCheck }:
+     mkDerivation {
+       pname = "ClassLaws";
+       version = "0.3.1.0";
+       sha256 = "1277vn384hpxd7xnzg0gpr7ilnw5cqhsi11c24g9zsfqa36llwgk";
+       buildDepends = [ base ChasingBottoms mtl QuickCheck ];
+       jailbreak = true;
+       homepage = "http://wiki.portal.chalmers.se/cse/pmwiki.php/FP/ClassLaws";
+       description = "Stating and checking laws for type class methods";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ClassyPrelude" = callPackage
+    ({ mkDerivation, base, strict }:
+     mkDerivation {
+       pname = "ClassyPrelude";
+       version = "0.1";
+       sha256 = "1yvkrzd3l7ijh3fqvkbzqv5vp4nv5z26fbxy91sfwh3zqlscpim9";
+       buildDepends = [ base strict ];
+       description = "Prelude replacement using classes instead of concrete types where reasonable";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Clean" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "Clean";
+       version = "0.6";
+       sha256 = "0kr9i13ch2wbcnxchrnx562r8ar7kb84gmk3cqxc40x5w416205f";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       description = "A light, clean and powerful utility library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Clipboard" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Clipboard";
+       version = "2.2.0.3";
+       sha256 = "0qpcfgpfgw426v4040ch63pc2zl7amd2ljapx4xv0j4hwc4rsqz3";
+       buildDepends = [ base ];
+       homepage = "http://haskell.org/haskellwiki/Clipboard";
+       description = "System clipboard interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ClustalParser" = callPackage
+    ({ mkDerivation, base, cmdargs, parsec }:
+     mkDerivation {
+       pname = "ClustalParser";
+       version = "1.0.2";
+       sha256 = "0y1w2lp5kqxb9rp9rarhnqpspa64z02mbhnnvkpagi534mgnx93k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs parsec ];
+       description = "Libary for parsing Clustal tools output";
+       license = "GPL";
+     }) {};
+
+  "Coadjute" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-csv
+     , containers, directory, fgl, filepath, mtl, old-time, pretty
+     , pureMD5, safe, utf8-string
+     }:
+     mkDerivation {
+       pname = "Coadjute";
+       version = "0.1.1";
+       sha256 = "1crbs8dk93cff252c3nj2brdbjbfygpvlrm4lrp7vpnwfz2709b3";
+       buildDepends = [
+         array base bytestring bytestring-csv containers directory fgl
+         filepath mtl old-time pretty pureMD5 safe utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://iki.fi/matti.niemenmaa/coadjute/";
+       description = "A generic build tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Codec-Compression-LZF" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Codec-Compression-LZF";
+       version = "0.2";
+       sha256 = "0jj2iaa632s60dckj8s46g4vrlqc8x9fndkq0kzk8rk4jzwlbwsn";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.helsinki.fi/u/ekarttun/Codec-Compression-LZF/";
+       description = "LZF compression bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Codec-Image-DevIL" = callPackage
+    ({ mkDerivation, array, base, libdevil }:
+     mkDerivation {
+       pname = "Codec-Image-DevIL";
+       version = "0.2.3";
+       sha256 = "1kv3hns9f0bhfb723nj9szyz3zfqpvy02azzsiymzjz4ajhqmrsz";
+       buildDepends = [ array base ];
+       extraLibraries = [ libdevil ];
+       description = "An FFI interface to the DevIL library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libdevil;};
+
+  "Combinatorrent" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, cereal
+     , containers, deepseq, directory, filepath, hopenssl, hslogger
+     , HTTP, HUnit, mtl, network, network-bytestring, parsec, pretty
+     , PSQueue, QuickCheck, random, random-shuffle, stm, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time
+     }:
+     mkDerivation {
+       pname = "Combinatorrent";
+       version = "0.3.2";
+       sha256 = "0dx5pysxyk5c0fa33khjr86zgm43jz7nwhgl0w8jngyai8b1rbra";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array attoparsec base bytestring cereal containers deepseq
+         directory filepath hopenssl hslogger HTTP HUnit mtl network
+         network-bytestring parsec pretty PSQueue QuickCheck random
+         random-shuffle stm test-framework test-framework-hunit
+         test-framework-quickcheck2 time
+       ];
+       description = "A concurrent bittorrent client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Command" = callPackage
+    ({ mkDerivation, base, directory, process }:
+     mkDerivation {
+       pname = "Command";
+       version = "0.0.7";
+       sha256 = "043dwvjkc1m2cz0rgiib7gv19ds1vn4cmf27lyw68nmc0lcm2v3d";
+       buildDepends = [ base directory process ];
+       homepage = "https://github.com/tonymorris/command";
+       description = "A replacement for System.Exit and System.Process";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Commando" = callPackage
+    ({ mkDerivation, base, data-default, fsnotify, optparse-applicative
+     , process, system-fileio, system-filepath, text
+     }:
+     mkDerivation {
+       pname = "Commando";
+       version = "1.0.0.4";
+       sha256 = "1wfpxaj9j68knf1fp3zngxrc1acqvhzrzbblar4ckq9y5kxjwwsj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base data-default fsnotify optparse-applicative process
+         system-fileio system-filepath text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/sordina/Commando";
+       description = "Watch some files; Rerun a command";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ComonadSheet" = callPackage
+    ({ mkDerivation, applicative-numbers, base, comonad, containers
+     , distributive, IndexedList, NestedFunctor, PeanoWitnesses, Stream
+     , Tape, transformers
+     }:
+     mkDerivation {
+       pname = "ComonadSheet";
+       version = "0.3.0.0";
+       sha256 = "1jpxc5ymhjdk18nggw9fjr6dmqhlz0jwwailyw9i8yzs5dzbn67z";
+       buildDepends = [
+         applicative-numbers base comonad containers distributive
+         IndexedList NestedFunctor PeanoWitnesses Stream Tape transformers
+       ];
+       homepage = "https://github.com/kwf/ComonadSheet";
+       description = "A library for expressing spreadsheet-like computations as the fixed-points of comonads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ConcurrentUtils" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , crypto-random, cryptohash, network, parallel, process
+     , reexport-crypto-random, RSA, securemem, tagged
+     }:
+     mkDerivation {
+       pname = "ConcurrentUtils";
+       version = "0.4.2.0";
+       sha256 = "1bxw8jrniczwc0pprva7zp6kzzrp5cj05r19j024fbgfw6vq9xz4";
+       buildDepends = [
+         array base binary bytestring containers crypto-random cryptohash
+         network parallel process reexport-crypto-random RSA securemem
+         tagged
+       ];
+       homepage = "http://alkalisoftware.net";
+       description = "Concurrent utilities";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "Concurrential" = callPackage
+    ({ mkDerivation, async, base }:
+     mkDerivation {
+       pname = "Concurrential";
+       version = "0.1.0.0";
+       sha256 = "1fsqqc4nrfaq2r9vvvy7rjkahb92vn0bxyygbygqidbp2pbrfshi";
+       buildDepends = [ async base ];
+       homepage = "http://github.com/avieth/Concurrential";
+       description = "Mix concurrent and sequential computation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Condor" = callPackage
+    ({ mkDerivation, base, binary, Cabal, containers, directory
+     , filepath, glider-nlp, HUnit, text
+     }:
+     mkDerivation {
+       pname = "Condor";
+       version = "0.3";
+       sha256 = "0vrflmjyc1h0mfvc07p3p3wqfscyza7pyxxp7bn1glprg6c9ph5p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers directory filepath glider-nlp text
+       ];
+       testDepends = [
+         base binary Cabal containers glider-nlp HUnit text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/klangner/Condor";
+       description = "Information retrieval library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ConfigFile" = callPackage
+    ({ mkDerivation, base, containers, MissingH, mtl, parsec }:
+     mkDerivation {
+       pname = "ConfigFile";
+       version = "1.1.4";
+       sha256 = "057mw146bip9wzs7j4b5xr1x24d8w0kr4i3inri5m57jkwspn25f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers MissingH mtl parsec ];
+       homepage = "http://software.complete.org/configfile";
+       description = "Configuration file reading & writing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ConfigFileTH" = callPackage
+    ({ mkDerivation, base, ConfigFile, parsec, template-haskell }:
+     mkDerivation {
+       pname = "ConfigFileTH";
+       version = "0.2";
+       sha256 = "1349vkrnl2z0cfcvdalqf77jajhz0izmnlsbiv84vvj23n04rj9h";
+       buildDepends = [ base ConfigFile parsec template-haskell ];
+       description = "Template haskell for reading ConfigFiles";
+       license = "LGPL";
+     }) {};
+
+  "Configger" = callPackage
+    ({ mkDerivation, base, Dangerous, MissingH, mtl, parsec }:
+     mkDerivation {
+       pname = "Configger";
+       version = "0.1";
+       sha256 = "0fk7165abh4rw4jk6wy4f6y0qpakxlrs4mwrs3r2q7lz03jsyig2";
+       buildDepends = [ base Dangerous MissingH mtl parsec ];
+       description = "Parse config files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Configurable" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Configurable";
+       version = "0.1.0.0";
+       sha256 = "1if0hff6fn7zjj1vh16gxf2kldibh1dkscm8n33d1admvpjpw9sb";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/tel/Configurable";
+       description = "Declare types as Configurable then specialize them all in one place";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ConsStream" = callPackage
+    ({ mkDerivation, base, Stream }:
+     mkDerivation {
+       pname = "ConsStream";
+       version = "0.1";
+       sha256 = "1ywhrj2wq24my4cji5fm5cwb3j4yjwzch9hxncr7k989smjdmjpz";
+       buildDepends = [ base Stream ];
+       homepage = "github";
+       description = "Trivial re-export of Wouter Swierstra's Stream package, avoiding module name clash";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Conscript" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "Conscript";
+       version = "0.1.0.0";
+       sha256 = "0hiz3wjnvfp9n440kmwq7a88k7m7vq5s49nq85v520j7qnf4y82n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process ];
+       jailbreak = true;
+       homepage = "https://github.com/sordina/Conscript";
+       description = "Restart a command on STDIN activity";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ConstraintKinds" = callPackage
+    ({ mkDerivation, base, dlist, ghc-prim, vector }:
+     mkDerivation {
+       pname = "ConstraintKinds";
+       version = "1.3.0";
+       sha256 = "0rhy5wq3v5hdryjn8pcsgqy4k772agj1rgq3021pjki7n3zm3dza";
+       buildDepends = [ base dlist ghc-prim vector ];
+       jailbreak = true;
+       description = "Repackages standard type classes with the ConstraintKinds extension";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Consumer" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "Consumer";
+       version = "1.2";
+       sha256 = "03ham35vh49h780h7dxb6zs85rkdlry0nwi8wp6p9iamw952xi6i";
+       buildDepends = [ base mtl ];
+       homepage = "http://src.seereason.com/ghc6103/haskell-consumer";
+       description = "A monad and monad transformer for consuming streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ContArrow" = callPackage
+    ({ mkDerivation, arrows, base }:
+     mkDerivation {
+       pname = "ContArrow";
+       version = "0.0.5";
+       sha256 = "1paj8wx2k86i5xb11scbyca4fb2fnxgln5d661mcwxvs0i91jj1b";
+       buildDepends = [ arrows base ];
+       jailbreak = true;
+       description = "Control.Arrow.Transformer.Cont";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Contract" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "Contract";
+       version = "0.1";
+       sha256 = "027dv53jrfk46dmiidnnrrdvhyin60i862znp414213w72yjrbhh";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://www.cs.kent.ac.uk/~oc/contracts.html";
+       description = "Practical typed lazy contracts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Control-Engine" = callPackage
+    ({ mkDerivation, base, BoundedChan, stm }:
+     mkDerivation {
+       pname = "Control-Engine";
+       version = "1.1.0.1";
+       sha256 = "1jyj42xrja8ic3lajgrfmign9n2bdfkaplnlhzcifd5wf30qj6fa";
+       buildDepends = [ base BoundedChan stm ];
+       homepage = "http://www.haskell.org/haskellwiki/Control-Engine";
+       description = "A parallel producer/consumer engine (thread pool)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Control-Monad-MultiPass" = callPackage
+    ({ mkDerivation, array, base, containers, Control-Monad-ST2, mtl
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "Control-Monad-MultiPass";
+       version = "0.1.0.0";
+       sha256 = "0pdayn1v9dw5600fgzlag2bqy1p68i4yzpxzqna9p7jk0iyvfy0i";
+       buildDepends = [ array base containers Control-Monad-ST2 mtl ];
+       testDepends = [
+         array base containers Control-Monad-ST2 mtl QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/kevinbackhouse/Control-Monad-MultiPass";
+       description = "A Library for Writing Multi-Pass Algorithms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Control-Monad-ST2" = callPackage
+    ({ mkDerivation, array, base, mtl, QuickCheck, SafeSemaphore
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "Control-Monad-ST2";
+       version = "0.1.0.1";
+       sha256 = "02nl4dbh7lk2gx5vacnn9mlcbs5j4b68jj0db94j51mqwj22y0zk";
+       buildDepends = [ array base QuickCheck SafeSemaphore ];
+       testDepends = [
+         array base mtl QuickCheck SafeSemaphore test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/kevinbackhouse/Control-Monad-ST2";
+       description = "A variation on the ST monad with two type parameters";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CoreErlang" = callPackage
+    ({ mkDerivation, base, parsec, pretty }:
+     mkDerivation {
+       pname = "CoreErlang";
+       version = "0.0.2";
+       sha256 = "1wiwk4947h5x2swi9k6bh4zyhp849ibxhc5458kn5vipngrp4k78";
+       buildDepends = [ base parsec pretty ];
+       homepage = "http://github.com/amtal/CoreErlang";
+       description = "Manipulating Core Erlang source code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "CoreFoundation" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, containers, deepseq
+     , filepath, network, property-list, tagged, text, time
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "CoreFoundation";
+       version = "0.1";
+       sha256 = "0mra2aswl0gfic19l55i63a6il6i13caph56fdk8g7shcw3j605l";
+       buildDepends = [
+         base bytestring containers deepseq filepath network property-list
+         tagged text time transformers vector
+       ];
+       buildTools = [ c2hs ];
+       jailbreak = true;
+       homepage = "https://github.com/reinerp/CoreFoundation";
+       description = "Bindings to Mac OSX's CoreFoundation framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Coroutine" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Coroutine";
+       version = "0.1.0.0";
+       sha256 = "1cad9j7ivd6mfcff44773v8z3z2ilparxfikbnv0gab6csc9p1nw";
+       buildDepends = [ base ];
+       description = "Type-safe coroutines using lightweight session types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "CouchDB" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HTTP, HUnit, json
+     , mtl, network, utf8-string
+     }:
+     mkDerivation {
+       pname = "CouchDB";
+       version = "1.2";
+       sha256 = "0a9g0iblfyqppcy1ni3ac8f3yv5km95bfblhwqlsk6khydi5ka98";
+       buildDepends = [
+         base bytestring containers HTTP json mtl network utf8-string
+       ];
+       testDepends = [
+         base bytestring containers HTTP HUnit json mtl network utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/arjunguha/haskell-couchdb/";
+       description = "CouchDB interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Craft3e" = callPackage
+    ({ mkDerivation, base, HUnit, mtl, old-locale, QuickCheck, time }:
+     mkDerivation {
+       pname = "Craft3e";
+       version = "0.1.0.10";
+       sha256 = "1qrsjkwr1njdsyiryskdjmy6nhbbzin4r0ja7mib26injzmrx45p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base HUnit mtl old-locale QuickCheck time ];
+       homepage = "http://www.haskellcraft.com/";
+       description = "Code for Haskell: the Craft of Functional Programming, 3rd ed";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Crypto" = callPackage
+    ({ mkDerivation, array, base, HUnit, pretty, QuickCheck, random }:
+     mkDerivation {
+       pname = "Crypto";
+       version = "4.2.5.1";
+       sha256 = "0rmgl0a4k6ys2lc6d607g28c2p443a46dla903rz5aha7m9y1mba";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base HUnit pretty QuickCheck random ];
+       description = "Collects together existing Haskell cryptographic functions into a package";
+       license = "unknown";
+     }) {};
+
+  "CurryDB" = callPackage
+    ({ mkDerivation, array, async, attoparsec, attoparsec-conduit, base
+     , binary, blaze-builder, blaze-textual, bytestring, conduit
+     , containers, data-default, directory, doctest, fast-logger
+     , filepath, hashable, hspec, lens, lifted-base, monad-control
+     , monad-logger, mtl, network, network-conduit, optparse-applicative
+     , stm, system-fileio, system-filepath, template-haskell, text, time
+     , transformers, transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "CurryDB";
+       version = "0.1.1.0";
+       sha256 = "1mjgxbmwf37wqbdbhfbq3pj4mmgkf1w0lv49gagx1m5yny21q3l3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array async attoparsec attoparsec-conduit base binary blaze-builder
+         blaze-textual bytestring conduit containers data-default
+         fast-logger hashable lens lifted-base monad-control monad-logger
+         mtl network network-conduit optparse-applicative stm system-fileio
+         system-filepath template-haskell text time transformers
+         transformers-base unordered-containers
+       ];
+       testDepends = [
+         base conduit directory doctest filepath hspec lifted-base mtl stm
+       ];
+       description = "CurryDB: In-memory Key/Value Database";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DAG-Tournament" = callPackage
+    ({ mkDerivation, base, cairo, containers, directory, filepath, gtk
+     , mtl, time
+     }:
+     mkDerivation {
+       pname = "DAG-Tournament";
+       version = "0.1";
+       sha256 = "1yyr63r6ziljvcxacs7zn66lnkzgmlvcr36ic60c3z1r2rd2nflk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers directory filepath gtk mtl time
+       ];
+       description = "Real-Time Game Tournament Evaluator";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DAV" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , data-default, either, errors, exceptions, http-client
+     , http-client-tls, http-types, lens, mtl, network, network-uri
+     , optparse-applicative, transformers, transformers-base
+     , utf8-string, xml-conduit, xml-hamlet
+     }:
+     mkDerivation {
+       pname = "DAV";
+       version = "1.0.3";
+       sha256 = "1wrs3rdk4sarzi4w1pma8h751mjw5x1l8c6w30wv7fg0rmk2cayd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring case-insensitive containers data-default either
+         errors exceptions http-client http-client-tls http-types lens mtl
+         network network-uri optparse-applicative transformers
+         transformers-base utf8-string xml-conduit xml-hamlet
+       ];
+       homepage = "http://floss.scru.org/hDAV";
+       description = "RFC 4918 WebDAV support";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "DBlimited" = callPackage
+    ({ mkDerivation, base, containers, parsec }:
+     mkDerivation {
+       pname = "DBlimited";
+       version = "0.1.1";
+       sha256 = "1lic2ml1q16idg9rk2ky2xi030kln4m8nz1vyvy7w37qxhddvl2f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers parsec ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/DBlimited/";
+       description = "A command-line SQL interface for flat files (tdf,csv,etc.)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DBus" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "DBus";
+       version = "0.5.1";
+       sha256 = "0l212yy40w8sjkv5m7rnd24fkihvnadv7szf10g9n5r34m4jb6lh";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/alexkay/hdbus";
+       description = "D-Bus bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DMuCheck" = callPackage
+    ({ mkDerivation, base, binary, directory, distributed-process
+     , distributed-process-simplelocalnet, hint, MuCheck
+     , network-transport-tcp, unix
+     }:
+     mkDerivation {
+       pname = "DMuCheck";
+       version = "0.3.0.2";
+       sha256 = "00dhky0hnda85lvrs155jgwxnpqfm36cqakj3wp0yrn2xlz383ad";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary directory distributed-process
+         distributed-process-simplelocalnet hint MuCheck
+         network-transport-tcp unix
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.com/osu-testing/d-mucheck";
+       description = "Distributed Mutation Analysis framework for MuCheck";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "DOM" = callPackage
+    ({ mkDerivation, base, mtl, WebBits }:
+     mkDerivation {
+       pname = "DOM";
+       version = "2.0.1";
+       sha256 = "13zj4jg78y5s05gfi3j83izxw6d2csbvznd7mq900zlv4xwddw2b";
+       buildDepends = [ base mtl WebBits ];
+       jailbreak = true;
+       description = "DOM Level 2 bindings for the WebBits package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DP" = callPackage
+    ({ mkDerivation, array, base, containers, list-tries, mtl
+     , QuickCheck, safe, semiring
+     }:
+     mkDerivation {
+       pname = "DP";
+       version = "0.1.1";
+       sha256 = "03gjwkzna2mf0a103g0kiwnbd9ra6hss6vm73i7vhl87zgrwsh8z";
+       buildDepends = [
+         array base containers list-tries mtl QuickCheck safe semiring
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/srush/SemiRings/tree/master";
+       description = "Pragmatic framework for dynamic programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DPM" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , convertible, darcs, directory, filepath, happy, HSH, HTF, HTTP
+     , mtl, network, old-locale, pretty, process, regex-posix, split
+     , syb, time, unix
+     }:
+     mkDerivation {
+       pname = "DPM";
+       version = "0.3.0.0";
+       sha256 = "03rf2s9qinfahqsc870cxv5117g4hmqza2dbj7s5hi50sh32xkjc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers convertible darcs directory
+         filepath HSH HTF HTTP mtl network old-locale pretty process
+         regex-posix split syb time unix
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       description = "Darcs Patch Manager";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DRBG" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, cipher-aes128
+     , crypto-api, crypto-api-tests, cryptohash-cryptoapi, entropy
+     , HUnit, mtl, parallel, prettyclass, QuickCheck, tagged
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "DRBG";
+       version = "0.5.4";
+       sha256 = "03nkcrjkaj36bs4sasf1286ca3wam1ndahq3y88bib2q0h5psqdx";
+       buildDepends = [
+         base bytestring cereal cipher-aes128 crypto-api
+         cryptohash-cryptoapi entropy mtl parallel prettyclass tagged
+       ];
+       testDepends = [
+         base binary bytestring cereal cipher-aes128 crypto-api
+         crypto-api-tests cryptohash-cryptoapi entropy HUnit mtl parallel
+         prettyclass QuickCheck tagged test-framework test-framework-hunit
+       ];
+       description = "Deterministic random bit generator (aka RNG, PRNG) based HMACs, Hashes, and Ciphers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DSH" = callPackage
+    ({ mkDerivation, aeson, algebra-dag, algebra-sql, ansi-wl-pprint
+     , base, bytestring, containers, dlist, either, HDBC
+     , HDBC-postgresql, HUnit, kure, mtl, pretty, QuickCheck, semigroups
+     , set-monad, template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "DSH";
+       version = "0.10.0.2";
+       sha256 = "02a8gfn5ji2n606ak1gs4syk0c97zvyi4146w5zy6gn21g4d3fa7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson algebra-dag algebra-sql ansi-wl-pprint base bytestring
+         containers dlist either HDBC HDBC-postgresql kure mtl pretty
+         semigroups set-monad template-haskell text
+       ];
+       testDepends = [
+         base containers HDBC HDBC-postgresql HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       description = "Database Supported Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DSTM" = callPackage
+    ({ mkDerivation, base, containers, haskell98, network, process
+     , unix
+     }:
+     mkDerivation {
+       pname = "DSTM";
+       version = "0.1.2";
+       sha256 = "084yscqbwypkb32avjm2b92a7s4qpvps3pjfgpy14sligww3hifb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers haskell98 network process unix ];
+       description = "A framework for using STM within distributed systems";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DTC" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "DTC";
+       version = "1.1.0.1";
+       sha256 = "0m3697zw0j2l9fxx8flr83n8x03pva1hn74rgilgxdrsrifhds5l";
+       buildDepends = [ base haskell-src-exts ];
+       homepage = "https://github.com/Daniel-Diaz/DTC";
+       description = "Data To Class transformation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Dangerous" = callPackage
+    ({ mkDerivation, base, MaybeT, mtl }:
+     mkDerivation {
+       pname = "Dangerous";
+       version = "0.3.2";
+       sha256 = "0pnywhva7s5xp9xlxk6h56n3fjflna6zhk5qdb8wax7i1qbp85vs";
+       buildDepends = [ base MaybeT mtl ];
+       description = "Monads for operations that can exit early and produce warnings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Dao" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , Crypto, data-binary-ieee754, deepseq, directory, filepath, mtl
+     , process, random, time, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "Dao";
+       version = "0.1.0.2";
+       sha256 = "1f7svqvlywj0jgzssdgrhvbbfm0yjnq0qr2c7xqc501y6wr3msym";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers Crypto data-binary-ieee754
+         deepseq directory filepath mtl process random time transformers
+         utf8-string
+       ];
+       testDepends = [
+         array base binary bytestring containers Crypto data-binary-ieee754
+         deepseq directory filepath mtl process random time transformers
+         utf8-string
+       ];
+       description = "Dao is meta programming language with its own built-in interpreted language, designed with artificial intelligence applications in mind";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DarcsHelpers" = callPackage
+    ({ mkDerivation, base, HaXml, mtl, parsec, safe, xml-parsec }:
+     mkDerivation {
+       pname = "DarcsHelpers";
+       version = "0.1";
+       sha256 = "02nqaphxd3xlh191wxpx3rcixms70v8d6h4a3lxg24d7lcyf82n3";
+       buildDepends = [ base HaXml mtl parsec safe xml-parsec ];
+       jailbreak = true;
+       description = "Code used by Patch-Shack that seemed sensible to open for reusability";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Data-Hash-Consistent" = callPackage
+    ({ mkDerivation, base, bytestring, digest, utf8-string, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "Data-Hash-Consistent";
+       version = "0.1.1";
+       sha256 = "1vblfzndfzb458j6ygfcq0mfzzc5c87gwpmcx31v10fxpqnfmm65";
+       buildDepends = [
+         base bytestring digest utf8-string vector vector-algorithms
+       ];
+       homepage = "https://github.com/bradclawsie/haskell-Data.Hash.Consistent";
+       description = "Provide a simple consistent hashing mechanism";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Data-Rope" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "Data-Rope";
+       version = "0.2";
+       sha256 = "0zvp9h06f2ylkn325d35cap3y67zpfyc70nqad3426p64p1xmnrw";
+       buildDepends = [ base bytestring unix ];
+       description = "Ropes, an alternative to (Byte)Strings";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DataTreeView" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, glib, gtk
+     , lifted-base, ListLike, MissingH, monad-control, mtl, syb
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "DataTreeView";
+       version = "0.1.1";
+       sha256 = "0z54kr79bjv8w1gnsrxq9vkwdhasdwzrsi48q7ndsg8x7k30gpdj";
+       buildDepends = [
+         base bytestring containers deepseq glib gtk lifted-base ListLike
+         MissingH monad-control mtl syb transformers-base
+       ];
+       description = "A GTK widget for displaying arbitrary Data.Data.Data instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Deadpan-DDP" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , containers, doctest, hashable, haskeline, lens, mtl, network
+     , network-uri, QuickCheck, random, safe, scientific, stm, text
+     , time, transformers, unordered-containers, vector, websockets
+     }:
+     mkDerivation {
+       pname = "Deadpan-DDP";
+       version = "0.9.3.0";
+       sha256 = "03vs4pvca80wwgfgm1a6hbincvsmlxyyz319ihk9pw22zqiq5qvs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring bytestring containers hashable
+         haskeline lens mtl network network-uri random safe scientific stm
+         text time transformers unordered-containers vector websockets
+       ];
+       testDepends = [ base doctest QuickCheck ];
+       homepage = "http://github.com/sordina/Deadpan-DDP";
+       description = "Write clients for Meteor's DDP Protocol";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "DebugTraceHelpers" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "DebugTraceHelpers";
+       version = "0.12";
+       sha256 = "0yjv3awhp3jsfqqn36xc0jpisp4hfypx3hkibad3yqrrn61bkzy8";
+       buildDepends = [ base mtl ];
+       description = "Convenience functions and instances for Debug.Trace";
+       license = "GPL";
+     }) {};
+
+  "Decimal" = callPackage
+    ({ mkDerivation, base, deepseq, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "Decimal";
+       version = "0.4.2";
+       sha256 = "0qa2z2lq1hrvakhyhj624mg8sd05ikhb66zwpa6x9vcyji93dxf5";
+       buildDepends = [ base deepseq ];
+       testDepends = [
+         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;
+     }) {};
+
+  "DecisionTree" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "DecisionTree";
+       version = "0.0";
+       sha256 = "14yprfh2b5x7dswp6kyaym3z2f32nqvgrfhvwsiv7brxq80cfvbd";
+       buildDepends = [ base containers ];
+       homepage = "http://page.mi.fu-berlin.de/~aneumann/decisiontree.html";
+       description = "A very simple implementation of decision trees for discrete attributes";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DeepArrow" = callPackage
+    ({ mkDerivation, base, haskell-src, mtl, TypeCompose }:
+     mkDerivation {
+       pname = "DeepArrow";
+       version = "0.4.0";
+       sha256 = "1jbvb8yk291iimpqi8h302r8554k4j2p3k42znzppv1wqrbhvjyc";
+       buildDepends = [ base haskell-src mtl TypeCompose ];
+       homepage = "http://haskell.org/haskellwiki/DeepArrow";
+       description = "Arrows for \"deep application\"";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DefendTheKing" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, GLUT
+     , haskell98, HTTP, MaybeT, mtl, network, peakachu, random, time
+     , utility-ht, zlib
+     }:
+     mkDerivation {
+       pname = "DefendTheKing";
+       version = "0.3";
+       sha256 = "1qnf62c91q94galndi0f7pfyzvk0qwi3gzhwcazkwinildjy8zw6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers GLUT haskell98 HTTP MaybeT mtl
+         network peakachu random time utility-ht zlib
+       ];
+       homepage = "http://github.com/yairchu/defend/tree";
+       description = "A simple RTS game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DescriptiveKeys" = callPackage
+    ({ mkDerivation, base, containers, xmonad, xmonad-contrib }:
+     mkDerivation {
+       pname = "DescriptiveKeys";
+       version = "0.0.4";
+       sha256 = "0ywipcmnr3ysmx8m61yrymyn10lnizjfkk2q2scdfkrkgh7ayj7v";
+       buildDepends = [ base containers xmonad xmonad-contrib ];
+       homepage = "https://bitbucket.org/dibblego/descriptive-keys/";
+       description = "A library for specifying xmonad key bindings with functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Dflow" = callPackage
+    ({ mkDerivation, base, containers, HUnit, QuickCheck, stm
+     , test-framework, test-framework-quickcheck2, time
+     }:
+     mkDerivation {
+       pname = "Dflow";
+       version = "0.0.1";
+       sha256 = "00gzs5fdybfrvqidw4qzk6i69qzq4jaljzhb49ah2hsv3gqjr1iq";
+       buildDepends = [ base containers QuickCheck stm time ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-quickcheck2
+       ];
+       description = "Processing Real-time event streams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Diff" = callPackage
+    ({ mkDerivation, array, base, pretty }:
+     mkDerivation {
+       pname = "Diff";
+       version = "0.3.1";
+       sha256 = "10saybbmd3qa4k11g0nqjfja7c87vi540y53j59778y0hhvykfif";
+       buildDepends = [ array base pretty ];
+       description = "O(ND) diff algorithm in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DifferenceLogic" = callPackage
+    ({ mkDerivation, base, containers, fgl, FirstOrderTheory, HUnit }:
+     mkDerivation {
+       pname = "DifferenceLogic";
+       version = "0.1.0.4";
+       sha256 = "0ylpn6bksf6alxzk45cg88ff8xgffh88x3csvjlhb6zn8ik0w99a";
+       buildDepends = [ base containers fgl FirstOrderTheory HUnit ];
+       jailbreak = true;
+       homepage = "https://github.com/dillonhuff/DifferenceLogic";
+       description = "A theory solver for conjunctions of literals in difference logic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DifferentialEvolution" = callPackage
+    ({ mkDerivation, base, deepseq, fclabels, mtl, mwc-random, parallel
+     , primitive, vector
+     }:
+     mkDerivation {
+       pname = "DifferentialEvolution";
+       version = "0.0.2";
+       sha256 = "0z16g40n369d2wqljnrkmpd18149ny8nh2pd13hkkjnq5n6k209w";
+       buildDepends = [
+         base deepseq fclabels mtl mwc-random parallel primitive vector
+       ];
+       jailbreak = true;
+       homepage = "http://yousource.it.jyu.fi/optimization-with-haskell";
+       description = "Global optimization using Differential Evolution";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Digit" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "Digit";
+       version = "0.0.3";
+       sha256 = "0cdsmy9km9wpywqprdymn9bd982ba859px2giswz41xh6pbjri8w";
+       buildDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/tonymorris/digit";
+       description = "A data-type representing digits 0-9";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DigitalOcean" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, exceptions
+     , hspec, lens, mtl, text, transformers, unordered-containers
+     , vector, wreq
+     }:
+     mkDerivation {
+       pname = "DigitalOcean";
+       version = "0.1.1.0";
+       sha256 = "09sh0j1dk366nkq3pwgsxi8zcka9p3f38bsw6nfzr7q4chjjblz4";
+       buildDepends = [
+         aeson base bytestring containers exceptions lens mtl text
+         transformers unordered-containers vector wreq
+       ];
+       testDepends = [ base hspec lens mtl text ];
+       description = "A client library for the DigitalOcean API";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "DimensionalHash" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "DimensionalHash";
+       version = "0.1.5.2";
+       sha256 = "0bbg9w5n3b296g884y8qvgzsndqhzwh0mkn3dlp9nx4a7i321c97";
+       buildDepends = [ base ];
+       description = "An n-dimensional hash using Morton numbers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DirectSound" = callPackage
+    ({ mkDerivation, base, dsound, Win32 }:
+     mkDerivation {
+       pname = "DirectSound";
+       version = "0.0.0";
+       sha256 = "1x78y1na375nwgk4izsjprj3yrg0xbrhqv6nrzfbvbfdyqlf5kyz";
+       buildDepends = [ base Win32 ];
+       extraLibraries = [ dsound ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Partial binding to the Microsoft DirectSound API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { dsound = null;};
+
+  "DisTract" = callPackage
+    ({ mkDerivation, base, Cabal, chunks, containers, directory
+     , filepath, hinstaller, old-locale, parsec, pretty, process
+     , template-haskell, time, xhtml
+     }:
+     mkDerivation {
+       pname = "DisTract";
+       version = "0.2.5";
+       sha256 = "0pnlk09jsallyparwdfcy7jmqjjiprp2pqlg9agp6xbw5xmnkzwb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal chunks containers directory filepath hinstaller
+         old-locale parsec pretty process template-haskell time xhtml
+       ];
+       homepage = "http://distract.wellquite.org/";
+       description = "Distributed Bug Tracking System";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DiscussionSupportSystem" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, doctest, html
+     , parsers
+     }:
+     mkDerivation {
+       pname = "DiscussionSupportSystem";
+       version = "0.11.0.3";
+       sha256 = "0iqcv3b06r9sqj1adxfq08vq5mlq4b7z88c2cw4qa7l9xw2p2js3";
+       buildDepends = [ base blaze-html blaze-markup html parsers ];
+       testDepends = [ base doctest ];
+       jailbreak = true;
+       homepage = "https://github.com/minamiyama1994/DiscussionSupportSystem";
+       description = "Discussion support system";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Dish" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "Dish";
+       version = "0.0.0.5";
+       sha256 = "1xhz0yb8xrjdznvx5prpl7r8k73n78n6gmshqbraq5jdh3vcnisx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       homepage = "http://github.com/zcourts/Dish";
+       description = "Hash modules (currently Murmur3)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DistanceTransform" = callPackage
+    ({ mkDerivation, base, HUnit, primitive, test-framework
+     , test-framework-hunit, vector
+     }:
+     mkDerivation {
+       pname = "DistanceTransform";
+       version = "0.1.2";
+       sha256 = "0c77sbx6qls8wfhv0wbappbkgfab046ls8mqs32qj02k549s6fk5";
+       buildDepends = [ base primitive vector ];
+       testDepends = [
+         base HUnit test-framework test-framework-hunit vector
+       ];
+       description = "Distance transform function";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DistanceUnits" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "DistanceUnits";
+       version = "0.1.0.1";
+       sha256 = "0ls6rq4nqn3z9h9lagl8sff9q94zfm6gssa2jj1zfyfxl5869bas";
+       buildDepends = [ base ];
+       homepage = "https://github.com/gambogi/DistanceUnits";
+       description = "A comprehensive distance library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DnaProteinAlignment" = callPackage
+    ({ mkDerivation, ADPfusion, ansi-wl-pprint, array, base
+     , BiobaseBlast, BiobaseFasta, BiobaseXNA, biocore, bytestring
+     , cmdargs, conduit, dlist, parallel, PrimitiveArray, repa, split
+     , vector
+     }:
+     mkDerivation {
+       pname = "DnaProteinAlignment";
+       version = "0.0.0.1";
+       sha256 = "00c74anpm3varyf0man1i213dksxvh2p32xsp4rqijkbnxpkjbx3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ADPfusion ansi-wl-pprint array base BiobaseBlast BiobaseFasta
+         BiobaseXNA biocore bytestring cmdargs conduit dlist parallel
+         PrimitiveArray repa split vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Frameshift-aware alignment of protein sequences with DNA sequences";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DocTest" = callPackage
+    ({ mkDerivation, base, containers, ghc, ghc-paths, haddock, HUnit
+     , process
+     }:
+     mkDerivation {
+       pname = "DocTest";
+       version = "0.2.0.1";
+       sha256 = "1w9r50cyiz31fn4dmlh3qmmpv9qapxgg70c10a86m6sxdl75q827";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers ghc ghc-paths haddock HUnit process
+       ];
+       jailbreak = true;
+       homepage = "http://haskell.org/haskellwiki/DocTest";
+       description = "Test interactive Haskell examples";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Docs" = callPackage
+    ({ mkDerivation, base, html }:
+     mkDerivation {
+       pname = "Docs";
+       version = "1.0.0";
+       sha256 = "1hjdznp29kwj9cca0jxr3dds9cnfbss6sgn52wym2380az3jcvnz";
+       buildDepends = [ base html ];
+       homepage = "http://ddiaz.asofilak.es/packages/Docs.html";
+       description = "Documentation types library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DrHylo" = callPackage
+    ({ mkDerivation, array, base, containers, haskell-src-exts, mtl
+     , pointless-haskell, pretty, syb
+     }:
+     mkDerivation {
+       pname = "DrHylo";
+       version = "0.0.2";
+       sha256 = "1cs7zqz0yzdyj3vn38cfh1lj90xnxm24q8lml457f2yia4z7l6h7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers haskell-src-exts mtl pointless-haskell pretty
+         syb
+       ];
+       jailbreak = true;
+       homepage = "http://haskell.di.uminho.pt/wiki/DrHylo";
+       description = "A tool for deriving hylomorphisms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DrIFT" = callPackage
+    ({ mkDerivation, base, filepath, old-time, process, random }:
+     mkDerivation {
+       pname = "DrIFT";
+       version = "2.4.2";
+       sha256 = "1w0wfmrjifidl2qz998ig07afd4p6yp890lwl8as57bay490nakl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base filepath old-time process random ];
+       homepage = "http://repetae.net/computer/haskell/DrIFT/";
+       description = "Program to derive type class instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DrIFT-cabalized" = callPackage
+    ({ mkDerivation, base, old-time, process, random }:
+     mkDerivation {
+       pname = "DrIFT-cabalized";
+       version = "2.3.0";
+       sha256 = "0jk7qmlgjw69w38hm91bnyp8gyi1mjmrq4vyv7jv3y69rk0fi6wl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base old-time process random ];
+       homepage = "http://repetae.net/computer/haskell/DrIFT/";
+       description = "Program to derive type class instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Dung" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, parsec }:
+     mkDerivation {
+       pname = "Dung";
+       version = "1.1";
+       sha256 = "1higdpqg599lfc92m7dd4zy98l9vjg5xr4n4qjv0wifszj8lrsgb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs containers parsec ];
+       homepage = "http://www.cs.nott.ac.uk/~bmv/Dung/";
+       description = "An implementation of the Dung argumentation frameworks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Dust" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers
+     , crypto-api, directory, Dust-crypto, entropy, ghc-prim, HUnit
+     , network, QuickCheck, random, random-extras, random-fu
+     , random-source, split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, threefish
+     }:
+     mkDerivation {
+       pname = "Dust";
+       version = "2.3.1";
+       sha256 = "0j2pm2ram7idh46mi6jv0whk4rx0bicvsvayrn3arnq65zk2mavj";
+       buildDepends = [
+         base binary bytestring cereal containers crypto-api directory
+         Dust-crypto entropy ghc-prim network random random-extras random-fu
+         random-source split threefish
+       ];
+       testDepends = [
+         base bytestring cereal Dust-crypto ghc-prim HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         test-framework-th threefish
+       ];
+       description = "Polymorphic protocol engine";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Dust-crypto" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers
+     , crypto-api, cryptohash, directory, Dust, entropy, ghc-prim, HUnit
+     , network, openssl, QuickCheck, random, random-extras, random-fu
+     , random-source, skein, split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, threefish
+     }:
+     mkDerivation {
+       pname = "Dust-crypto";
+       version = "0.1";
+       sha256 = "112prydwsjd32aiv3kg8wsxwaj95p6x7jhxcf118fxgrrg202z9w";
+       buildDepends = [
+         base binary bytestring cereal containers crypto-api cryptohash
+         directory entropy ghc-prim network random random-extras random-fu
+         random-source skein split threefish
+       ];
+       testDepends = [
+         base bytestring cereal Dust ghc-prim HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         threefish
+       ];
+       extraLibraries = [ openssl ];
+       description = "Cryptographic operations";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) openssl;};
+
+  "Dust-tools" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers, csv
+     , directory, Dust, Dust-crypto, entropy, ghc-prim, network, random
+     , random-extras, random-fu, random-source, split
+     }:
+     mkDerivation {
+       pname = "Dust-tools";
+       version = "1.3.2";
+       sha256 = "1g1l7h5400f9qckhj4yw2zwwjjkqz5w1fgnc9gxa7rdl37wgxwn4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cereal containers csv directory Dust
+         Dust-crypto entropy ghc-prim network random random-extras random-fu
+         random-source split
+       ];
+       description = "Network filtering exploration tools";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Dust-tools-pcap" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers, csv
+     , directory, Dust, Dust-crypto, Dust-tools, entropy, ghc-prim
+     , network, pcap, random, random-extras, random-fu, random-source
+     , split
+     }:
+     mkDerivation {
+       pname = "Dust-tools-pcap";
+       version = "1.3.1";
+       sha256 = "1swykscl17qy17qy38y6zc47sbiyaszh9m4qwn7d9sckfa6azsdr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cereal containers csv directory Dust
+         Dust-crypto Dust-tools entropy ghc-prim network pcap random
+         random-extras random-fu random-source split
+       ];
+       description = "Network filtering exploration tools that rely on pcap";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DynamicTimeWarp" = callPackage
+    ({ mkDerivation, array, base, criterion, QuickCheck, random, vector
+     }:
+     mkDerivation {
+       pname = "DynamicTimeWarp";
+       version = "0.1.0.0";
+       sha256 = "0m58bq2jvnr17kdapfydd063af6w5vdyzxad5izk0cj0gids5hk7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base criterion QuickCheck random vector ];
+       jailbreak = true;
+       homepage = "https://github.com/zombiecalypse/DynamicTimeWarp";
+       description = "Dynamic time warping of sequences";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "DysFRP" = callPackage
+    ({ mkDerivation, base, contravariant, mtl, time, transformers }:
+     mkDerivation {
+       pname = "DysFRP";
+       version = "0.1";
+       sha256 = "1jw1s2imd2qhh9i0m7sm1zhy876bgp1pcrh4jcf5dilvqnhvv4j1";
+       buildDepends = [ base contravariant mtl time transformers ];
+       homepage = "https://github.com/tilk/DysFRP";
+       description = "dysFunctional Reactive Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "DysFRP-Cairo" = callPackage
+    ({ mkDerivation, base, cairo, DysFRP, gtk, mtl }:
+     mkDerivation {
+       pname = "DysFRP-Cairo";
+       version = "0.1";
+       sha256 = "1pg6gwyrlvp6z08ab1qp783z9gm0xhnh337shf443f1bwbcz9m7f";
+       buildDepends = [ base cairo DysFRP gtk mtl ];
+       homepage = "https://github.com/tilk/DysFRP";
+       description = "dysFunctional Reactive Programming on Cairo";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "DysFRP-Craftwerk" = callPackage
+    ({ mkDerivation, base, cairo, containers, craftwerk, craftwerk-gtk
+     , DysFRP, DysFRP-Cairo, gtk
+     }:
+     mkDerivation {
+       pname = "DysFRP-Craftwerk";
+       version = "0.1";
+       sha256 = "0rhm7ya1h43dwa83fcvnc8nd9da7ji6qlwzsa9ngv7pqvs7aamy1";
+       buildDepends = [
+         base cairo containers craftwerk craftwerk-gtk DysFRP DysFRP-Cairo
+         gtk
+       ];
+       homepage = "https://github.com/tilk/DysFRP";
+       description = "dysFunctional Reactive Programming on Craftwerk";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "EEConfig" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "EEConfig";
+       version = "1.0";
+       sha256 = "1bkkzj1d0j4nisdl9jfmadjx32w35ipdw3k12krhzzlf5aiwnrf1";
+       buildDepends = [ base containers ];
+       description = "ExtremlyEasyConfig - Extremly Simple parser for config files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Ebnf2ps" = callPackage
+    ({ mkDerivation, array, base, containers, directory, happy
+     , old-time, unix
+     }:
+     mkDerivation {
+       pname = "Ebnf2ps";
+       version = "1.0.12";
+       sha256 = "1rd0pxj2bfx06z1p0sy8kdhyfg1y51gn1bhr71j33czls6m9ry8c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers directory old-time unix ];
+       buildTools = [ happy ];
+       homepage = "https://github.com/FranklinChen/Ebnf2ps";
+       description = "Peter's Syntax Diagram Drawing Tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "EdisonAPI" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "EdisonAPI";
+       version = "1.2.2.1";
+       sha256 = "1r8xfsqz58s6x7026yrjafcbjkwsjg6fpcj6gbcpidw5hymymqfp";
+       buildDepends = [ base mtl ];
+       homepage = "http://rwd.rdockins.name/edison/home/";
+       description = "A library of efficent, purely-functional data structures (API)";
+       license = "unknown";
+     }) {};
+
+  "EdisonCore" = callPackage
+    ({ mkDerivation, array, base, containers, EdisonAPI, mtl
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "EdisonCore";
+       version = "1.2.2.1";
+       sha256 = "0yj68glq50qkn2ckhhq7q5y5kbwb5lh08z1kgksc61wds22a87pz";
+       buildDepends = [ 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";
+     }) {};
+
+  "EditTimeReport" = callPackage
+    ({ mkDerivation, array, base, containers, csv, directory, editline
+     , filepath, haskell98, html, pretty, xhtml
+     }:
+     mkDerivation {
+       pname = "EditTimeReport";
+       version = "1.0";
+       sha256 = "11a922535h6jvg79cv03jz6sn93h7jhqfrf9wi9x8arak9l06j70";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers csv directory editline filepath haskell98
+         html pretty xhtml
+       ];
+       homepage = "http://github.com/bspaans/EditTimeReport";
+       description = "Query language and report generator for edit logs";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "EitherT" = callPackage
+    ({ mkDerivation, base, monad-control, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "EitherT";
+       version = "0.2.0";
+       revision = "1";
+       sha256 = "1vry479zdq1fw7bd4d373c7wf2gg0aibkyb03710w7z2x86chssw";
+       editedCabalFile = "a1c6f78c9a4379af0738a6d4dee5d1781099c5c56acb0b39c45ad23b256e8c6e";
+       buildDepends = [
+         base monad-control transformers transformers-base
+       ];
+       jailbreak = true;
+       description = "EitherT monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Elm" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, blaze-html
+     , blaze-markup, bytestring, cheapskate, cmdargs, containers
+     , directory, filemanip, filepath, highlighting-kate, HUnit, indents
+     , language-ecmascript, language-glsl, mtl, parsec, pretty, process
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, transformers, union-find
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "Elm";
+       version = "0.13";
+       sha256 = "1l6p00h0717blwvia0gvqpsakq8jy44fxc6brr4qxs5g4yjcjnmh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base binary blaze-html blaze-markup bytestring
+         cheapskate cmdargs containers directory filepath highlighting-kate
+         indents language-ecmascript language-glsl mtl parsec pretty text
+         transformers union-find unordered-containers
+       ];
+       testDepends = [
+         aeson aeson-pretty base binary blaze-html blaze-markup bytestring
+         cheapskate cmdargs containers directory filemanip filepath
+         highlighting-kate HUnit indents language-ecmascript language-glsl
+         mtl parsec pretty process QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text transformers
+         union-find unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://elm-lang.org";
+       description = "The Elm language module";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Emping" = callPackage
+    ({ mkDerivation, array, base, containers, fgl, gtk, mtl, parsec }:
+     mkDerivation {
+       pname = "Emping";
+       version = "0.6";
+       sha256 = "131h71fgn0zbsmbqmvbfl57is0dbm37xsi5g87gpjgq0k2cq0nkr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers fgl gtk mtl parsec ];
+       homepage = "http://www.muitovar.com";
+       description = "derives heuristic rules from nominal data";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Encode" = callPackage
+    ({ mkDerivation, base, Cabal, containers, mtl }:
+     mkDerivation {
+       pname = "Encode";
+       version = "1.3.7";
+       sha256 = "141iddlpvjp6hqjx5c5dm3ldf7yk64iqbhaiv51np27y6pazfgb5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal containers mtl ];
+       homepage = "http://otakar-smrz.users.sf.net/";
+       description = "Encoding character data";
+       license = "GPL";
+     }) {};
+
+  "EnumContainers" = callPackage
+    ({ mkDerivation, base, containers, deepseq }:
+     mkDerivation {
+       pname = "EnumContainers";
+       version = "0.1";
+       sha256 = "14ckpgaviny3c0d1jn3blkkpri0cm8ac264y7kak965knjccq0k8";
+       buildDepends = [ base containers deepseq ];
+       jailbreak = true;
+       description = "Simple Enum-class-based int containers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "EnumMap" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "EnumMap";
+       version = "0.0.2";
+       sha256 = "1v3jp1l95kybvdlpvp6bd0ryihxrvlnpkqz7fl1n4vazhkqk6zjz";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       description = "More general IntMap replacement";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Eq" = callPackage
+    ({ mkDerivation, array, base, containers, filepath, HaXml, mtl
+     , parsec, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "Eq";
+       version = "1.1.3";
+       sha256 = "0hcfjzlirw11jl752g2jncb71i8sk2w3nqjm4ykc64f5awj1hi23";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers filepath HaXml mtl parsec template-haskell
+         transformers
+       ];
+       jailbreak = true;
+       description = "Render math formula in ASCII, and perform some simplifications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "EqualitySolver" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, union-find-array }:
+     mkDerivation {
+       pname = "EqualitySolver";
+       version = "0.1.0.2";
+       sha256 = "0ynzzl9mmn5hxkcndx60lnxn455nm065v7nk7rhpq1yigwz0cl1g";
+       buildDepends = [ base containers HUnit mtl union-find-array ];
+       jailbreak = true;
+       description = "A theory solver for conjunctions of literals in the theory of uninterpreted functions with equality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "EsounD" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bindings-EsounD
+     , monad-control, network, regions, safer-file-handles
+     , storablevector, transformers, unix
+     }:
+     mkDerivation {
+       pname = "EsounD";
+       version = "0.2";
+       sha256 = "1d22k3836c92xd6qg5pvjhgrhbajd438z3pfjvi0bl2wdrkzddjr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols bindings-EsounD monad-control network
+         regions safer-file-handles storablevector transformers unix
+       ];
+       jailbreak = true;
+       homepage = "http://cielonegro.org/EsounD.html";
+       description = "Type-safe bindings to EsounD (ESD; Enlightened Sound Daemon)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "EstProgress" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "EstProgress";
+       version = "0.2.0.0";
+       sha256 = "0xq2r7mbgs00hf1c8c2ffgsk7jjzd932br59rgkg06qym14dp3b3";
+       buildDepends = [ base mtl ];
+       homepage = "http://alkalisoftware.net";
+       description = "Methods for estimating the progress of functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "EtaMOO" = callPackage
+    ({ mkDerivation, array, base, bytestring, case-insensitive
+     , containers, hashable, haskeline, mtl, network, old-locale, parsec
+     , pcre, pipes, pipes-bytestring, pipes-concurrency, pipes-network
+     , pureMD5, random, stm, stm-chans, text, time, transformers, unix
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "EtaMOO";
+       version = "0.2.0.0";
+       sha256 = "0v7qq4d6zd3nr0856q3crivqqfq5q0rdppzf48jgzc9fzas6jl9n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring case-insensitive containers hashable
+         haskeline mtl network old-locale parsec pipes pipes-bytestring
+         pipes-concurrency pipes-network pureMD5 random stm stm-chans text
+         time transformers unix unordered-containers vector
+       ];
+       extraLibraries = [ pcre ];
+       homepage = "http://verement.github.io/etamoo";
+       description = "A new implementation of the LambdaMOO server";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) pcre;};
+
+  "Etage" = callPackage
+    ({ mkDerivation, base, containers, ghc, mtl, operational, random
+     , SafeSemaphore, time, unix
+     }:
+     mkDerivation {
+       pname = "Etage";
+       version = "0.1.12";
+       sha256 = "1ik8j7s1z64dpdg251m8dr7k7llkhxydlf6l6dhyv9ra55dg4n20";
+       buildDepends = [
+         base containers ghc mtl operational random SafeSemaphore time unix
+       ];
+       homepage = "http://mitar.tnode.com";
+       description = "A general data-flow framework";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Etage-Graph" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, Etage, fgl, mtl
+     , parallel, random, time
+     }:
+     mkDerivation {
+       pname = "Etage-Graph";
+       version = "0.1.8";
+       sha256 = "0xzsvah4nhxv5hw8p0sv1pjy4p30xa3f2afs8jncx20n918mk9l2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers deepseq Etage fgl mtl parallel random time
+       ];
+       jailbreak = true;
+       homepage = "http://mitar.tnode.com";
+       description = "Data-flow based graph algorithms";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Eternal10Seconds" = callPackage
+    ({ mkDerivation, base, haskell98, SDL, SDL-mixer }:
+     mkDerivation {
+       pname = "Eternal10Seconds";
+       version = "0.2";
+       sha256 = "0kh1zjqr9cmx7xyfk2y3iwr3x3zvh3pb4ghfjz3xr2wwg2rmymxp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 SDL SDL-mixer ];
+       homepage = "http://www.kryozahiro.org/eternal10/";
+       description = "A 2-D shooting game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Etherbunny" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskell98, libpcap
+     , network, pcap
+     }:
+     mkDerivation {
+       pname = "Etherbunny";
+       version = "0.3";
+       sha256 = "0cm98x626cqwri9qsfhwi6s50kg433a1p78y9na70z868p6n27nj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring haskell98 network pcap ];
+       extraLibraries = [ libpcap ];
+       homepage = "http://etherbunny.anytini.com/";
+       description = "A network analysis toolkit for Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libpcap;};
+
+  "EuroIT" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "EuroIT";
+       version = "2010.2.5";
+       sha256 = "1a6bvi0y1pnzpx0x3arrardgkbs0m8ssfwcyxf6fim87wcb0jcgv";
+       buildDepends = [ base ];
+       description = "Library for using euro currency, italian language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Euterpea" = callPackage
+    ({ mkDerivation, ansi-terminal, array, arrows, base, bytestring
+     , Cabal, CCA, containers, deepseq, ghc-prim, HCodecs, heap
+     , markov-chain, monadIO, mtl, PortMidi, pure-fft, QuickCheck
+     , random, stm, syb, template-haskell, UISF
+     }:
+     mkDerivation {
+       pname = "Euterpea";
+       version = "1.0.0";
+       revision = "1";
+       sha256 = "0cfcsrm47sb1z4zdmipipg9p31hzicwzpqdpa2m985j3hwm42vds";
+       editedCabalFile = "61d418cc49621a3373fd25f547d2dd6b76b700dcc4b7e38b2f055b5c6f781afd";
+       buildDepends = [
+         array arrows base bytestring CCA containers deepseq ghc-prim
+         HCodecs heap markov-chain monadIO mtl PortMidi pure-fft random stm
+         syb template-haskell UISF
+       ];
+       testDepends = [ ansi-terminal base Cabal QuickCheck ];
+       jailbreak = true;
+       homepage = "http://haskell.cs.yale.edu/";
+       description = "Library for computer music research and education";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "EventSocket" = callPackage
+    ({ mkDerivation, base, bytestring, containers, haskell98, mtl
+     , network
+     }:
+     mkDerivation {
+       pname = "EventSocket";
+       version = "0.1";
+       sha256 = "03wf8msjcpj8bpnjr7f1wcbag018kap544jwz9a7vnllamps92xd";
+       buildDepends = [
+         base bytestring containers haskell98 mtl network
+       ];
+       description = "Interfaces with FreeSwitch Event Socket";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Extra" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib, containers, directory
+     , filepath, HUnit, mtl, network-uri, old-locale, old-time, pretty
+     , process, pureMD5, QuickCheck, random, regex-compat, time, unix
+     , Unixutils, zlib
+     }:
+     mkDerivation {
+       pname = "Extra";
+       version = "1.46.3";
+       sha256 = "1xmwp9cp905nzx5x858wyacjpppn76mkfpkxksdhlq9zhmkp5yyh";
+       buildDepends = [
+         base bytestring bzlib containers directory filepath HUnit mtl
+         network-uri old-locale old-time pretty process pureMD5 QuickCheck
+         random regex-compat time unix Unixutils zlib
+       ];
+       homepage = "https://github.com/ddssff/haskell-extra";
+       description = "A grab bag of modules";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FComp" = callPackage
+    ({ mkDerivation, array, base, binary, deepseq, ghc-prim
+     , HarmTrace-Base, haskore, instant-generics, ListLike, midi, mtl
+     , QuickCheck, random, template-haskell, time, uu-parsinglib
+     }:
+     mkDerivation {
+       pname = "FComp";
+       version = "1.0.2";
+       sha256 = "0hkmh3vjibbzkh004b4zig2rvvnh6l2cdqsmxbpyjbwqryzraxrn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary deepseq ghc-prim HarmTrace-Base haskore
+         instant-generics ListLike midi mtl QuickCheck random
+         template-haskell time uu-parsinglib
+       ];
+       jailbreak = true;
+       description = "Compose music";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FM-SBLEX" = callPackage
+    ({ mkDerivation, array, base, containers, haskell98 }:
+     mkDerivation {
+       pname = "FM-SBLEX";
+       version = "3.0.1";
+       sha256 = "1cb3qq8yqn19xpsjbczxs8rablkczaigs6hp2vypsjyw5s8sqza8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers haskell98 ];
+       homepage = "http://spraakbanken.gu.se/eng/research/swefn/fm-sblex";
+       description = "A set of computational morphology tools for Swedish diachronic lexicons";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FModExRaw" = callPackage
+    ({ mkDerivation, base, fmodex64 }:
+     mkDerivation {
+       pname = "FModExRaw";
+       version = "0.2.0.0";
+       sha256 = "0l2zhlxh88wy9y9gk1aa03yy65iw8zigr4pgp63mn2mqcrskfszl";
+       buildDepends = [ base ];
+       extraLibraries = [ fmodex64 ];
+       homepage = "https://github.com/skypers/hsFModEx";
+       description = "The Haskell FModEx raw API";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { fmodex64 = null;};
+
+  "FPretty" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "FPretty";
+       version = "1.0";
+       sha256 = "1lc31mid1a9pqb9py9f6nvzvlixhngpficczvhpdxlws3fn9drga";
+       buildDepends = [ base containers ];
+       homepage = "http://www.cs.kent.ac.uk/~oc/pretty.html";
+       description = "Efficient simple pretty printing combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FTGL" = callPackage
+    ({ mkDerivation, base, ftgl }:
+     mkDerivation {
+       pname = "FTGL";
+       version = "2.1";
+       sha256 = "0b76798bxxivjrjx92qiv8ghsg3j8rhvfms8sl19ji6fip2h3fw2";
+       buildDepends = [ base ];
+       extraLibraries = [ ftgl ];
+       description = "Portable TrueType font rendering for OpenGL using the Freetype2 library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) ftgl;};
+
+  "FTGL-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, ftgl, StateVar-transformer
+     , transformers
+     }:
+     mkDerivation {
+       pname = "FTGL-bytestring";
+       version = "2.0";
+       sha256 = "11y8g2gi4g6x639c9wfj2224f9vgaf88hdd1f981al53kzf7y2y2";
+       buildDepends = [
+         base bytestring StateVar-transformer transformers
+       ];
+       extraLibraries = [ ftgl ];
+       description = "Portable TrueType font rendering for OpenGL using the Freetype2 library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) ftgl;};
+
+  "FTPLine" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, directory, ftphs
+     , haskeline, mtl, network, strict
+     }:
+     mkDerivation {
+       pname = "FTPLine";
+       version = "1.4.0.0";
+       sha256 = "0nnwfn4jxnxfr8q8gq16xn0ixjmw7dnxznsh8lbk41lwfsr9j4n5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring directory ftphs haskeline mtl network
+         strict
+       ];
+       description = "A command-line FTP client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Facts" = callPackage
+    ({ mkDerivation, AC-Angle, base, containers, digits, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "Facts";
+       version = "0.1.2";
+       sha256 = "018g9qj6nmabjbl4rakqjp32vwfyak1wk5cx3s0amm53wnf2mz75";
+       buildDepends = [
+         AC-Angle base containers digits QuickCheck template-haskell
+       ];
+       jailbreak = true;
+       description = "A collection of facts about the real world";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FailureT" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, mmtl }:
+     mkDerivation {
+       pname = "FailureT";
+       version = "15778.1";
+       sha256 = "1qhjqswx4qyfan3rpvvl1hgmf369krqprlr6x20hp34r2qw9s135";
+       buildDepends = [ base base-unicode-symbols mmtl ];
+       description = "Failure Monad Transformer";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FenwickTree" = callPackage
+    ({ mkDerivation, base, QuickCheck, template-haskell }:
+     mkDerivation {
+       pname = "FenwickTree";
+       version = "0.1.2.1";
+       sha256 = "0g7hhkim16wsjf8l79hqkiv1lain6jm8wpiml1iycra3n9i2s5ww";
+       buildDepends = [ base QuickCheck template-haskell ];
+       testDepends = [ base QuickCheck template-haskell ];
+       homepage = "https://github.com/mgajda/FenwickTree";
+       description = "Data structure for fast query and update of cumulative sums";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FermatsLastMargin" = callPackage
+    ({ mkDerivation, base, HAppS-Data, HAppS-IxSet, HAppS-Server
+     , HAppS-State, HAppS-Util, haskell98, HaXml, mtl, old-time, random
+     , syb-with-class, template-haskell
+     }:
+     mkDerivation {
+       pname = "FermatsLastMargin";
+       version = "0.1";
+       sha256 = "07sryfn26afisrsgnzrp0vjshspa40pvl4214mzb5mdm9h5c63f8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base HAppS-Data HAppS-IxSet HAppS-Server HAppS-State HAppS-Util
+         haskell98 HaXml mtl old-time random syb-with-class template-haskell
+       ];
+       homepage = "http://www.scannedinavian.com/";
+       description = "Annotate ps and pdf documents";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FerryCore" = callPackage
+    ({ mkDerivation, base, containers, HaXml, mtl, parsec, pretty
+     , TableAlgebra, template-haskell
+     }:
+     mkDerivation {
+       pname = "FerryCore";
+       version = "0.4.6.4";
+       sha256 = "1dxhbrmcl36dg14lyihpy8fd8sdsmawh70fykllcjk3fh7a11wgp";
+       buildDepends = [
+         base containers HaXml mtl parsec pretty TableAlgebra
+         template-haskell
+       ];
+       description = "Ferry Core Components";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FieldTrip" = callPackage
+    ({ mkDerivation, base, GLUT, graphicsFormats, MemoTrie, old-time
+     , OpenGL, TypeCompose, vector-space
+     }:
+     mkDerivation {
+       pname = "FieldTrip";
+       version = "0.2.7";
+       sha256 = "1161mz8443j1jr8pnkh6gz6w99cd16hk94ypsh8vzmpbfp40i5rb";
+       buildDepends = [
+         base GLUT graphicsFormats MemoTrie old-time OpenGL TypeCompose
+         vector-space
+       ];
+       homepage = "http://haskell.org/haskellwiki/FieldTrip";
+       description = "Functional 3D";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FileManip" = callPackage
+    ({ mkDerivation, base, bytestring, directory, extensible-exceptions
+     , filepath, mtl, unix
+     }:
+     mkDerivation {
+       pname = "FileManip";
+       version = "0.3.3.1";
+       sha256 = "0dhl7zkyy4p0pgmraci82krph6hqrq1bwmx7wgm9agrnpdyg4dxi";
+       buildDepends = [
+         base bytestring directory extensible-exceptions filepath mtl unix
+       ];
+       description = "Expressive file and directory manipulation for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FileManipCompat" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, mtl
+     , unix-compat
+     }:
+     mkDerivation {
+       pname = "FileManipCompat";
+       version = "0.18";
+       sha256 = "0c017r7bzgf1mdbk0iyr2amhm41q89mcq69fkszskjhy4z9wl6v0";
+       buildDepends = [
+         base bytestring directory filepath mtl unix-compat
+       ];
+       description = "Expressive file and directory manipulation for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FilePather" = callPackage
+    ({ mkDerivation, base, comonad, comonad-transformers, data-lens
+     , directory, filepath, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "FilePather";
+       version = "0.2.0";
+       sha256 = "1rwj8hqys01cn14d754wyl2vr19mvh4vsg2f3hrqjqiafkij90xd";
+       buildDepends = [
+         base comonad comonad-transformers data-lens directory filepath mtl
+         transformers
+       ];
+       homepage = "https://github.com/tonymorris/filepather";
+       description = "Functions on System.FilePath";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FileSystem" = callPackage
+    ({ mkDerivation, base, binary, bytestring, directory, filepath, mtl
+     , old-time
+     }:
+     mkDerivation {
+       pname = "FileSystem";
+       version = "1.0.0";
+       sha256 = "0qyzwpvajvqywbnfhj3vzb5xl4wjjywyqr4szywd8qwb7kly29w6";
+       buildDepends = [
+         base binary bytestring directory filepath mtl old-time
+       ];
+       jailbreak = true;
+       homepage = "http://ddiaz.asofilak.es/packages/FileSystem";
+       description = "File system data structure and monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Finance-Quote-Yahoo" = callPackage
+    ({ mkDerivation, base, bytestring, http-conduit, network
+     , old-locale, time
+     }:
+     mkDerivation {
+       pname = "Finance-Quote-Yahoo";
+       version = "0.8.0";
+       sha256 = "1d786xkrj0h270mfwxxkfxysmk78xkz2jdj8w1iin3hgy3ramifz";
+       buildDepends = [
+         base bytestring http-conduit network old-locale time
+       ];
+       homepage = "http://www.b7j0c.org/stuff/haskell-yquote.xhtml";
+       description = "Obtain quote data from finance.yahoo.com";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Finance-Treasury" = callPackage
+    ({ mkDerivation, base, containers, HTTP, HTTP-Simple, hxt
+     , hxt-filter, network, old-locale, time
+     }:
+     mkDerivation {
+       pname = "Finance-Treasury";
+       version = "0.1.2";
+       sha256 = "17wxdwj8162c0yawz4anjs6d3fjbhs3b05wk319acblksjx60sal";
+       buildDepends = [
+         base containers HTTP HTTP-Simple hxt hxt-filter network old-locale
+         time
+       ];
+       homepage = "http://www.ecoin.net/haskell/Finance-Treasury.html";
+       description = "Obtain Treasury yield curve data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FindBin" = callPackage
+    ({ mkDerivation, base, directory, filepath }:
+     mkDerivation {
+       pname = "FindBin";
+       version = "0.0.5";
+       sha256 = "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717";
+       buildDepends = [ base directory filepath ];
+       homepage = "https://github.com/audreyt/findbin";
+       description = "Locate directory of original program";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FiniteMap" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "FiniteMap";
+       version = "0.1";
+       sha256 = "1kf638h5gsc8fklhaw2jiad1r0ssgj8zkfmzywp85lrx5z529gky";
+       buildDepends = [ base haskell98 ];
+       description = "A finite map implementation, derived from the paper: Efficient sets: a balancing act, S. Adams, Journal of functional programming 3(4) Oct 1993, pp553-562";
+       license = "BSD4";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FirstOrderTheory" = callPackage
+    ({ mkDerivation, base, containers, Proper }:
+     mkDerivation {
+       pname = "FirstOrderTheory";
+       version = "0.1.0.6";
+       sha256 = "1941ickx8aj3qbkry4gz8ni6snh26gkdrgabpx9z588518q4x27i";
+       buildDepends = [ base containers Proper ];
+       jailbreak = true;
+       description = "Grammar and typeclass for first order theories";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FixedPoint-simple" = callPackage
+    ({ mkDerivation, base, deepseq, template-haskell }:
+     mkDerivation {
+       pname = "FixedPoint-simple";
+       version = "0.6.1";
+       sha256 = "0qfys17q3i56l20wzkpr8inq130j67kya022ynf0sgbc86avlrcn";
+       buildDepends = [ base deepseq template-haskell ];
+       homepage = "https://github.com/TomMD/FixedPoint";
+       description = "Fixed point, large word, and large int numerical representations (types and common class instances)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Flippi" = callPackage
+    ({ mkDerivation, base, cgi, containers, directory, haskell98
+     , old-time, parsec, xhtml
+     }:
+     mkDerivation {
+       pname = "Flippi";
+       version = "0.0.5";
+       sha256 = "1w25h3n3cnsl9dvr5s94jzf5qxyx0dl0v8dmqv2rkwwm7s2hdbl9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cgi containers directory haskell98 old-time parsec xhtml
+       ];
+       homepage = "http://www.flippac.org/projects/flippi/";
+       description = "Wiki";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Focus" = callPackage
+    ({ mkDerivation, base, MissingH, split }:
+     mkDerivation {
+       pname = "Focus";
+       version = "0.1.2";
+       sha256 = "1f1ch6mxgaam1i4ryd1av879y2f8wn3wmg47h23w2l0pvgmxgrj1";
+       buildDepends = [ base MissingH split ];
+       description = "Tools for focusing in on locations within numbers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Folly" = callPackage
+    ({ mkDerivation, base, containers, HUnit, parsec }:
+     mkDerivation {
+       pname = "Folly";
+       version = "0.1.3.0";
+       sha256 = "0ygxgshgaddxfibl0paqm9sm4cq47247hr43awq8gib8zyg3amgi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers HUnit parsec ];
+       homepage = "https://github.com/dillonhuff/Folly";
+       description = "A first order logic library in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FontyFruity" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , directory, filepath, text, vector
+     }:
+     mkDerivation {
+       pname = "FontyFruity";
+       version = "0.5";
+       sha256 = "162frrx0ra1pnvzrv2bmx7xv61pa9m5fbgldx0xasv8i24ccmbai";
+       buildDepends = [
+         base binary bytestring containers deepseq directory filepath text
+         vector
+       ];
+       description = "A true type file format loader";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ForSyDe" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath, mtl
+     , old-time, parameterized-data, pretty, process, random
+     , regex-posix, template-haskell, type-level
+     }:
+     mkDerivation {
+       pname = "ForSyDe";
+       version = "3.1.1";
+       sha256 = "0ggwskyxpdrjny0rz61zdp20r5vzig8ggmqxf0qa8gljvvfp6bhp";
+       buildDepends = [
+         array base containers directory filepath mtl old-time
+         parameterized-data pretty process random regex-posix
+         template-haskell type-level
+       ];
+       homepage = "http://www.ict.kth.se/forsyde/";
+       description = "ForSyDe's Haskell-embedded Domain Specific Language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ForkableT" = callPackage
+    ({ mkDerivation, base, monad-control, mtl, resourcet }:
+     mkDerivation {
+       pname = "ForkableT";
+       version = "0.1.0.2";
+       sha256 = "0lzrggy1j15cajb6k5qhz2s8ddngr3hhhsj781ya45fcx82mngvj";
+       buildDepends = [ base monad-control mtl resourcet ];
+       homepage = "https://github.com/exFalso/ForkableT/";
+       description = "Forkable monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "FormalGrammars" = callPackage
+    ({ mkDerivation, ADPfusion, ansi-wl-pprint, base, bytestring
+     , cmdargs, containers, data-default, HaTeX, lens, mtl, parsers
+     , repa, template-haskell, text, transformers, trifecta
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "FormalGrammars";
+       version = "0.0.0.2";
+       sha256 = "1wdcwdr3chzmgs5y634jv0gsndm7vgfndr0sfxn0m6z56xcv65gj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ADPfusion ansi-wl-pprint base bytestring cmdargs containers
+         data-default HaTeX lens mtl parsers repa template-haskell text
+         transformers trifecta unordered-containers vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/gramprod/";
+       description = "(Context-free) grammars in formal language theory";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Foster" = callPackage
+    ({ mkDerivation, array, base, cmdtheline, containers, random
+     , strict
+     }:
+     mkDerivation {
+       pname = "Foster";
+       version = "1.1.2";
+       sha256 = "0w4jnxk32c0pvrh2k7y93fckvrkcj3q8w4yi12zsgj9k1ic7yb6a";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base cmdtheline containers random strict ];
+       jailbreak = true;
+       description = "Utilities to generate and solve puzzles";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "FpMLv53" = callPackage
+    ({ mkDerivation, base, HaXml }:
+     mkDerivation {
+       pname = "FpMLv53";
+       version = "0.1";
+       sha256 = "0h7vi940zrl2fqv8c2g0vj0gh9qfm2jf8c2drclx37zax5kb0r6p";
+       buildDepends = [ base HaXml ];
+       homepage = "http://www.fpml.org/";
+       description = "A binding for the Financial Products Markup Language (v5.3)";
+       license = "LGPL";
+     }) {};
+
+  "Frank" = callPackage
+    ({ mkDerivation, base, mtl, newtype, she, void }:
+     mkDerivation {
+       pname = "Frank";
+       version = "0.3";
+       sha256 = "1p99ab5qgvyh13iy9wgv0a8lqx6s2mygx0s6z51m5mzi9nxf0qw1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl newtype she void ];
+       homepage = "http://personal.cis.strath.ac.uk/~conor/pub/Frank/";
+       description = "An experimental programming language with typed algebraic effects";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FreeTypeGL" = callPackage
+    ({ mkDerivation, base, freetype2, OpenGL }:
+     mkDerivation {
+       pname = "FreeTypeGL";
+       version = "0.0.4";
+       sha256 = "10sivjxppn138805iwka54cfby59nc39ja30nx2w3762fybz71af";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base freetype2 OpenGL ];
+       jailbreak = true;
+       description = "Loadable texture fonts for OpenGL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "FunGEn" = callPackage
+    ({ mkDerivation, base, GLUT, OpenGL, random }:
+     mkDerivation {
+       pname = "FunGEn";
+       version = "0.4.6.1";
+       sha256 = "0v9y9a82d2h34ai5hhwnalgfs5m2s909blr4f30dawgryn8gnbfp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base GLUT OpenGL random ];
+       jailbreak = true;
+       homepage = "http://joyful.com/fungen";
+       description = "A lightweight, cross-platform, OpenGL/GLUT-based game engine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Fungi" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , ListZipper, mtl, mwc-random, old-time, process, random
+     , transformers, tuple
+     }:
+     mkDerivation {
+       pname = "Fungi";
+       version = "1.0.6";
+       sha256 = "181m78c0m1ldnkpng0sps9fbkpq5j4p57j0km34g5kwasxhmwfcc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath ListZipper mtl
+         mwc-random old-time process random transformers tuple
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/thomaseding/fungi";
+       description = "Funge-98 interpreter written in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GA" = callPackage
+    ({ mkDerivation, base, directory, random, transformers }:
+     mkDerivation {
+       pname = "GA";
+       version = "1.0";
+       sha256 = "1nsmpph27yv0anrhhfqbpdqs2rrdbhm0jxzs3kk6ab32zb3ivhp2";
+       buildDepends = [ base directory random transformers ];
+       homepage = "http://boegel.kejo.be";
+       description = "Genetic algorithm library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GGg" = callPackage
+    ({ mkDerivation, base, bimap }:
+     mkDerivation {
+       pname = "GGg";
+       version = "0.1.0.2";
+       sha256 = "129z0391zm7v4ixwwq2irqhpb43s5pd0imgh3i9i5l9ahq9lk1h7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bimap ];
+       jailbreak = true;
+       homepage = "https://github.com/xnil/GGg";
+       description = "GGg cipher";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "GHood" = callPackage
+    ({ mkDerivation, array, base, process }:
+     mkDerivation {
+       pname = "GHood";
+       version = "0.0.4";
+       sha256 = "0ab6dngl8gjkj8wvjvrjijgqb59aq88c1ra2z92iqky2d0plrfca";
+       buildDepends = [ array base process ];
+       homepage = "http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/GHood";
+       description = "A graphical viewer for Hood";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GLFW" = callPackage
+    ({ mkDerivation, base, libX11, mesa, OpenGL }:
+     mkDerivation {
+       pname = "GLFW";
+       version = "0.5.2.2";
+       sha256 = "0yqvfkg9p5h5bv3ak6b89am9kan9lbcq26kg1wk53xl6mz1aaijf";
+       buildDepends = [ base OpenGL ];
+       extraLibraries = [ libX11 mesa ];
+       homepage = "http://haskell.org/haskellwiki/GLFW";
+       description = "A Haskell binding for GLFW";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs) mesa;};
+
+  "GLFW-OGL" = callPackage
+    ({ mkDerivation, base, libX11, libXrandr, mtl, OGL }:
+     mkDerivation {
+       pname = "GLFW-OGL";
+       version = "0.0";
+       sha256 = "118hpgdp8rb0jlvlibxcaia4jjjdrn8xpzyvj109piw63g44n910";
+       buildDepends = [ base mtl OGL ];
+       extraLibraries = [ libX11 libXrandr ];
+       homepage = "http://haskell.org/haskellwiki/GLFW-OGL";
+       description = "A binding for GLFW (OGL)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.xlibs) libX11;
+          inherit (pkgs.xlibs) libXrandr;};
+
+  "GLFW-b" = callPackage
+    ({ mkDerivation, base, bindings-GLFW, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "GLFW-b";
+       version = "1.4.7.2";
+       sha256 = "1hjsv6yqkwqi18c1vha105jl56xjvb5dqwqs4bgjkk99qcqq70rd";
+       buildDepends = [ base bindings-GLFW ];
+       testDepends = [
+         base bindings-GLFW HUnit test-framework test-framework-hunit
+       ];
+       description = "Bindings to GLFW OpenGL library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GLFW-b-demo" = callPackage
+    ({ mkDerivation, base, GLFW-b, mtl, OpenGL, pretty, stm
+     , transformers
+     }:
+     mkDerivation {
+       pname = "GLFW-b-demo";
+       version = "1.0.6";
+       sha256 = "01qf0bsv3q60m3as763q49hd3nm5lkady48nc214zjsx31x8by59";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLFW-b mtl OpenGL pretty stm transformers ];
+       jailbreak = true;
+       description = "GLFW-b demo";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GLFW-task" = callPackage
+    ({ mkDerivation, base, GLFW, monad-task, OpenGL, transformers }:
+     mkDerivation {
+       pname = "GLFW-task";
+       version = "0.2.0";
+       sha256 = "110iwxp6xs3wj4bva8m6mgz7iq90zrcz2dnjlq3s2x3in2m4818p";
+       buildDepends = [ base GLFW monad-task OpenGL transformers ];
+       homepage = "http://github.com/ninegua/GLFW-task";
+       description = "GLFW utility functions to use together with monad-task";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GLHUI" = callPackage
+    ({ mkDerivation, base, libX11, mesa }:
+     mkDerivation {
+       pname = "GLHUI";
+       version = "1.1.0";
+       sha256 = "043xw36hrwzc6xdr5vlydbsv5m8675vnk8pfxycr7qixzwljn0aa";
+       buildDepends = [ base ];
+       extraLibraries = [ libX11 mesa ];
+       description = "Open OpenGL context windows in X11 with libX11";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs) mesa;};
+
+  "GLMatrix" = callPackage
+    ({ mkDerivation, base, OpenGLRaw }:
+     mkDerivation {
+       pname = "GLMatrix";
+       version = "0.1.0.1";
+       sha256 = "13n80rplyl73ahk8cxgvs9gf655l063sd55spx0zvhw774vvxwv4";
+       buildDepends = [ base OpenGLRaw ];
+       jailbreak = true;
+       homepage = "https://github.com/fiendfan1/GLMatrix";
+       description = "Utilities for working with OpenGL matrices";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "GLURaw" = callPackage
+    ({ mkDerivation, base, freeglut, mesa, OpenGLRaw, transformers }:
+     mkDerivation {
+       pname = "GLURaw";
+       version = "1.5.0.0";
+       sha256 = "1y3qbq1qaxnylrb86all96xdja1d62adilyyky0glsbl9dqnzr4j";
+       buildDepends = [ base OpenGLRaw transformers ];
+       extraLibraries = [ freeglut mesa ];
+       homepage = "http://www.haskell.org/haskellwiki/Opengl";
+       description = "A raw binding for the OpenGL graphics system";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) freeglut;  inherit (pkgs) mesa;};
+
+  "GLUT" = callPackage
+    ({ mkDerivation, array, base, containers, freeglut, libICE, libSM
+     , libXi, libXmu, mesa, OpenGL, OpenGLRaw, StateVar, transformers
+     }:
+     mkDerivation {
+       pname = "GLUT";
+       version = "2.7.0.0";
+       sha256 = "02y565fdfsl7pwl1wmyk5dma9ipc3l0yz7kwcgkvbzvqajhdg13d";
+       buildDepends = [
+         array base containers OpenGL OpenGLRaw StateVar transformers
+       ];
+       extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
+       homepage = "http://www.haskell.org/haskellwiki/Opengl";
+       description = "A binding for the OpenGL Utility Toolkit";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) freeglut;  inherit (pkgs.xlibs) libICE;
+          inherit (pkgs.xlibs) libSM;  inherit (pkgs.xlibs) libXi;
+          inherit (pkgs.xlibs) libXmu;  inherit (pkgs) mesa;};
+
+  "GLUtil" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, cpphs
+     , directory, filepath, JuicyPixels, linear, OpenGL, OpenGLRaw
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "GLUtil";
+       version = "0.8.6";
+       sha256 = "15z6l1r4dn8jp5b7awzw16zxd3lh297iwab712ah0dx8m3hk0df3";
+       buildDepends = [
+         array base bytestring containers directory filepath JuicyPixels
+         linear OpenGL OpenGLRaw transformers vector
+       ];
+       buildTools = [ cpphs ];
+       description = "Miscellaneous OpenGL utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GPX" = callPackage
+    ({ mkDerivation, base, comonad, comonad-transformers, containers
+     , data-lens, hxt, newtype, xsd
+     }:
+     mkDerivation {
+       pname = "GPX";
+       version = "0.8.0";
+       sha256 = "08qvl4l81bgjx40nmlrmb0csxa3xjj4l0dbq9bzcq65p403xs1pk";
+       buildDepends = [
+         base comonad comonad-transformers containers data-lens hxt newtype
+         xsd
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tonymorris/geo-gpx";
+       description = "Parse GPX files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GPipe" = callPackage
+    ({ mkDerivation, base, Boolean, containers, GLUT, list-tries
+     , OpenGL, transformers, Vec, Vec-Boolean
+     }:
+     mkDerivation {
+       pname = "GPipe";
+       version = "1.4.1";
+       sha256 = "0w1xgn7pmz9pgpimsmy3fx66dax37qkd5a5q0yk1fh396dxsybx3";
+       buildDepends = [
+         base Boolean containers GLUT list-tries OpenGL transformers Vec
+         Vec-Boolean
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GPipe";
+       description = "A functional graphics API for programmable GPUs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GPipe-Collada" = callPackage
+    ({ mkDerivation, array, base, containers, GPipe, HaXml, mtl, Vec }:
+     mkDerivation {
+       pname = "GPipe-Collada";
+       version = "0.1.4";
+       sha256 = "0aqvyv50gx0qx7icp70pw73gr3p6y05dkn347nqx82jc9dyxjghw";
+       buildDepends = [ array base containers GPipe HaXml mtl Vec ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GPipe";
+       description = "Load GPipe meshes from Collada files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GPipe-Examples" = callPackage
+    ({ mkDerivation, base, GLUT, GPipe, GPipe-TextureLoad, haskell98
+     , Vec, Vec-Transform
+     }:
+     mkDerivation {
+       pname = "GPipe-Examples";
+       version = "0.1";
+       sha256 = "0ir32fx0mk5hmmqilv6z89453rqcsgbs13a6ln4cydlkw5lbgv1k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base GLUT GPipe GPipe-TextureLoad haskell98 Vec Vec-Transform
+       ];
+       description = "Examples for the GPipes package";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GPipe-TextureLoad" = callPackage
+    ({ mkDerivation, base, bitmap, GPipe, stb-image }:
+     mkDerivation {
+       pname = "GPipe-TextureLoad";
+       version = "1.0.4";
+       sha256 = "1yf74k3yvpj42ynivlkacp5zwxwsx3yyfxb2436ljrv3339kjkb4";
+       buildDepends = [ base bitmap GPipe stb-image ];
+       homepage = "http://www.haskell.org/haskellwiki/GPipe";
+       description = "Load GPipe textures from filesystem";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GTALib" = callPackage
+    ({ mkDerivation, base, containers, deepseq, HUnit, parallel
+     , template-haskell, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "GTALib";
+       version = "0.0.6";
+       sha256 = "10l72wn8wdgcvpbcj10hmib6z0175ihsgvmwpp9akx4d6vpf2dz8";
+       buildDepends = [
+         base containers deepseq parallel template-haskell
+       ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/emoto/gtalib";
+       description = "A library for GTA programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Gamgine" = callPackage
+    ({ mkDerivation, array, base, bytestring, composition, cpphs
+     , data-lens, directory, filepath, GLFW-b, ListZipper, mtl
+     , OpenGLRaw, parsec, pretty-show, StateVar, time
+     , unordered-containers, utility-ht, Vec, zlib
+     }:
+     mkDerivation {
+       pname = "Gamgine";
+       version = "0.5";
+       sha256 = "131pgif3x61agk6an27p33bnqi45zlyiwxivxkxdbzi82wckr0w0";
+       buildDepends = [
+         array base bytestring composition cpphs data-lens directory
+         filepath GLFW-b ListZipper mtl OpenGLRaw parsec pretty-show
+         StateVar time unordered-containers utility-ht Vec zlib
+       ];
+       jailbreak = true;
+       description = "Some kind of game library or set of utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Ganymede" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl, parsec
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Ganymede";
+       version = "0.0.0.5";
+       sha256 = "1fmb6fpdfk21yxrvlgdg32qymzirfbygsq6p4jvm925kvpwqbcwk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath mtl parsec transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/BMeph/Ganymede";
+       description = "An Io interpreter in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GaussQuadIntegration" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "GaussQuadIntegration";
+       version = "0.1";
+       sha256 = "0v91q0m90338qpxg4hnvb7n6vm1jap3y1rvn9kyzmnxh03rarpx2";
+       buildDepends = [ base ];
+       description = "Non-adaptive Gaussian quadrature for numeric integraton";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GeBoP" = callPackage
+    ({ mkDerivation, array, base, directory, random, wx, wxcore }:
+     mkDerivation {
+       pname = "GeBoP";
+       version = "1.7.4.1";
+       sha256 = "0cldjrk26p2llyhsp1rcvzbgz5qg8k898fvmdxkfc9ihc5lsxxf5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base directory random wx wxcore ];
+       homepage = "http://www.haskell.org/haskellwiki/GeBoP";
+       description = "Several games";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GenI" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cabal-macosx, containers
+     , deepseq, directory, errors, filepath, hslogger, HUnit, json, mtl
+     , old-locale, ordered, parsec, process, QuickCheck, smallcheck, syb
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-smallcheck, text, time, transformers, yaml-light
+     }:
+     mkDerivation {
+       pname = "GenI";
+       version = "0.24.3";
+       sha256 = "0gmig362ayxxqgj4m6g1r1i6q5zfg6j8bmvsd7i9kmqn12nl3l0p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cabal-macosx containers deepseq directory
+         errors filepath hslogger json mtl old-locale ordered parsec process
+         syb text time transformers yaml-light
+       ];
+       testDepends = [
+         base containers errors filepath HUnit json mtl parsec QuickCheck
+         smallcheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-smallcheck text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/GenI";
+       description = "A natural language generator (specifically, an FB-LTAG surface realiser)";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GenSmsPdu" = callPackage
+    ({ mkDerivation, base, haskell98, QuickCheck, random }:
+     mkDerivation {
+       pname = "GenSmsPdu";
+       version = "0.1";
+       sha256 = "1vs1m78lp87mccqs3i80zpl121yb063vqxx6a4sqzkfxzhvjvcbz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 QuickCheck random ];
+       description = "Automatic SMS message generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Genbank" = callPackage
+    ({ mkDerivation, base, biocore, biofasta, bytestring, cmdargs
+     , parsec, split
+     }:
+     mkDerivation {
+       pname = "Genbank";
+       version = "1.0.3";
+       sha256 = "14rbknlc1bxrld04i7dc5dklng5sp0b1rbiilndw5cair0d67brb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base biocore biofasta bytestring cmdargs parsec split
+       ];
+       description = "Libary for processing the NCBI genbank format";
+       license = "GPL";
+     }) {};
+
+  "GenericPretty" = callPackage
+    ({ mkDerivation, base, ghc-prim, pretty }:
+     mkDerivation {
+       pname = "GenericPretty";
+       version = "1.2.1";
+       sha256 = "0bb70mic7srr7x8k83d1i0m0a32gm72zr78ccdf3ckchj9136php";
+       buildDepends = [ base ghc-prim pretty ];
+       homepage = "https://github.com/RazvanRanca/GenericPretty";
+       description = "A generic, derivable, haskell pretty printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GeoIp" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-mmap, syb }:
+     mkDerivation {
+       pname = "GeoIp";
+       version = "0.3";
+       sha256 = "1q3km52w7qcrawbgaxvglb3x6rgc8f22c8rw8705lgcxxn9pjxm1";
+       buildDepends = [ base bytestring bytestring-mmap syb ];
+       description = "Pure bindings for the MaxMind IP database";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Geodetic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Geodetic";
+       version = "0.4";
+       sha256 = "1nb0q5hs9qqgygw35rbvanbjf9l6vjxrl6l4jp9dqwlnl1kdd88q";
+       buildDepends = [ base ];
+       homepage = "http://code.google.com/p/geodetic/";
+       description = "Geodetic calculations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GeomPredicates" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "GeomPredicates";
+       version = "0.1";
+       sha256 = "19scirh2hy9y9kv16pcp44v31cs3868ig28r8blj39gdv4wqxwcy";
+       buildDepends = [ base ];
+       description = "Geometric predicates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GeomPredicates-SSE" = callPackage
+    ({ mkDerivation, base, GeomPredicates }:
+     mkDerivation {
+       pname = "GeomPredicates-SSE";
+       version = "0.2";
+       sha256 = "18mdaf2j1svklka5ms9ihj07d9l92ivqjk0y8jv0l9ni44hrhxcq";
+       buildDepends = [ base GeomPredicates ];
+       description = "Geometric predicates (Intel SSE)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GiST" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "GiST";
+       version = "0.0.1";
+       sha256 = "0ykvsjqpi7pd81857n2gqycgpnm0j8dxnpf345h7pgzrkz10qi9f";
+       buildDepends = [ base text ];
+       jailbreak = true;
+       description = "A Haskell implementation of a Generalized Search Tree (GiST)";
+       license = "GPL";
+     }) {};
+
+  "Glob" = callPackage
+    ({ mkDerivation, base, containers, directory, dlist, filepath
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Glob";
+       version = "0.7.5";
+       revision = "1";
+       sha256 = "0hdyi49zp2yr4h4wgngl8ajrss1p309c3pn0alj543yrh33bnqq0";
+       editedCabalFile = "219b9caf1aaf9c2ab69ac75242f6017f0cd804a3370e0d63ac48777888fd909b";
+       buildDepends = [
+         base containers directory dlist filepath transformers
+       ];
+       homepage = "http://iki.fi/matti.niemenmaa/glob/";
+       description = "Globbing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GlomeTrace" = callPackage
+    ({ mkDerivation, array, base, GlomeVec }:
+     mkDerivation {
+       pname = "GlomeTrace";
+       version = "0.3";
+       sha256 = "0n1290ls68fsky3a80fvfdq6bycvmpn3i3kmflq6yn45qa959f0k";
+       buildDepends = [ array base GlomeVec ];
+       homepage = "http://www.haskell.org/haskellwiki/Glome";
+       description = "Ray Tracing Library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GlomeVec" = callPackage
+    ({ mkDerivation, array, base, llvm }:
+     mkDerivation {
+       pname = "GlomeVec";
+       version = "0.2";
+       sha256 = "08hyiadkbkmcsd1g51xvxqzp6l94hnqqbz4r6yk0zk29iawq8610";
+       buildDepends = [ array base ];
+       buildTools = [ llvm ];
+       homepage = "http://www.haskell.org/haskellwiki/Glome";
+       description = "Simple 3D vector library";
+       license = "GPL";
+     }) { inherit (self.llvmPackages) llvm;};
+
+  "GlomeView" = callPackage
+    ({ mkDerivation, base, deepseq, GlomeTrace, GlomeVec, monad-par
+     , random, SDL, time, vector
+     }:
+     mkDerivation {
+       pname = "GlomeView";
+       version = "0.3";
+       sha256 = "0plglb289gadk8mqxgqj8n25xa6dql2jl0b8cm9v7q5rwykx0kbq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base deepseq GlomeTrace GlomeVec monad-par random SDL time vector
+       ];
+       homepage = "http://haskell.org/haskellwiki/Glome";
+       description = "SDL Frontend for Glome ray tracer";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GoogleChart" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "GoogleChart";
+       version = "0.2";
+       sha256 = "0wfabsdn4agmg459srnknkwqb7ri5knj9npzgzhilybwrrqq46v9";
+       buildDepends = [ base ];
+       homepage = "http://neugierig.org/software/darcs/browse/?r=google-chart;a=summary";
+       description = "Generate web-based charts using the Google Chart API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GoogleDirections" = callPackage
+    ({ mkDerivation, AttoJson, base, bytestring, containers, dataenc
+     , download-curl
+     }:
+     mkDerivation {
+       pname = "GoogleDirections";
+       version = "0.3.0.1";
+       sha256 = "1x7k72iy8aa6r60p3hrqb8a4p5avyjh8czymrkarc3wpkc73bjb3";
+       buildDepends = [
+         AttoJson base bytestring containers dataenc download-curl
+       ];
+       homepage = "https://github.com/favilo/GoogleDirections.git";
+       description = "Haskell Interface to Google Directions API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GoogleSB" = callPackage
+    ({ mkDerivation, base, binary, Crypto, haskell98, HTTP, mtl
+     , network, split
+     }:
+     mkDerivation {
+       pname = "GoogleSB";
+       version = "0.1";
+       sha256 = "1gfjpxcjr9xqinha3wzdk101avjzyvji2xs5abkj9pj8lsrbh2w8";
+       buildDepends = [
+         base binary Crypto haskell98 HTTP mtl network split
+       ];
+       description = "Interface to Google Safe Browsing API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GoogleSuggest" = callPackage
+    ({ mkDerivation, base, dataenc, download-curl, utf8-string, xml }:
+     mkDerivation {
+       pname = "GoogleSuggest";
+       version = "0.0.4";
+       sha256 = "1jqfd9zi4yp0kr506v71dlg5zgmvzqbxdsfjr2574ajx5xp2fjrb";
+       buildDepends = [ base dataenc download-curl utf8-string xml ];
+       description = "Interface to Google Suggest API";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "GoogleTranslate" = callPackage
+    ({ mkDerivation, AttoJson, base, bytestring, dataenc, download-curl
+     }:
+     mkDerivation {
+       pname = "GoogleTranslate";
+       version = "0.0.5";
+       sha256 = "0hr0rjz7nx5rcy4h5pcbvh8sh9v4qvl9ffrqhnrcslh7ibvwbca6";
+       buildDepends = [ AttoJson base bytestring dataenc download-curl ];
+       description = "Interface to Google Translate API";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "GotoT-transformers" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "GotoT-transformers";
+       version = "1.0.0.1";
+       sha256 = "1w1w1p2cpndiilr002whm58bzqjh9cp9lw3jl7khdxh20c1dfzhy";
+       buildDepends = [ base transformers ];
+       homepage = "http://github.com/gcross/GotoT-transformers";
+       description = "A monad and monadic transformer providing \"goto\" functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GrammarProducts" = callPackage
+    ({ mkDerivation, ADPfusion, ansi-wl-pprint, base, bytestring
+     , cmdargs, containers, data-default, FormalGrammars, HaTeX, lens
+     , newtype, parsers, PrimitiveArray, semigroups, transformers
+     , trifecta
+     }:
+     mkDerivation {
+       pname = "GrammarProducts";
+       version = "0.0.0.4";
+       sha256 = "0ni7rjp2cb7n47zkgl63ipr35q54m7f4lsrkcm2s6d0i5pwlv11f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ADPfusion ansi-wl-pprint base bytestring cmdargs containers
+         data-default FormalGrammars HaTeX lens newtype parsers
+         PrimitiveArray semigroups transformers trifecta
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/gramprod";
+       description = "Grammar products and higher-dimensional grammars";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Graph500" = callPackage
+    ({ mkDerivation, array, base, containers, mersenne-random-pure64
+     , mtl, random
+     }:
+     mkDerivation {
+       pname = "Graph500";
+       version = "0.4.0";
+       sha256 = "0lhn2r54488949gh5m5fgwrj2z30r9pf34860sikb6zq07gjz759";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers mersenne-random-pure64 mtl random
+       ];
+       description = "Graph500 benchmark-related definitions and data set generator";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "GraphHammer" = callPackage
+    ({ mkDerivation, array, base, containers, Graph500, mtl, stm, time
+     }:
+     mkDerivation {
+       pname = "GraphHammer";
+       version = "0.3";
+       sha256 = "0fga3g2y38ylvmkgi57h4j5brc7gjxh8d183qfa2vhx8i4sr3pzm";
+       buildDepends = [ array base containers Graph500 mtl stm time ];
+       description = "GraphHammer Haskell graph analyses framework inspired by STINGER";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "GraphHammer-examples" = callPackage
+    ({ mkDerivation, array, base, containers, Graph500, GraphHammer
+     , mtl
+     }:
+     mkDerivation {
+       pname = "GraphHammer-examples";
+       version = "0.3";
+       sha256 = "18p1dr08nq8dnvghkshihzra0p9ja0qa9bxbkm561jkrdpk3zndv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers Graph500 GraphHammer mtl ];
+       description = "Test harness for TriangleCount analysis";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GraphSCC" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "GraphSCC";
+       version = "1.0.4";
+       sha256 = "1wbcx3wb02adb7l4nchxla3laliz0h5q074vfw4z0ic833k977bq";
+       buildDepends = [ array base containers ];
+       description = "Tarjan's algorithm for computing the strongly connected components of a graph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Graphalyze" = callPackage
+    ({ mkDerivation, array, base, bktrees, containers, directory, fgl
+     , filepath, graphviz, old-locale, pandoc, process, random, text
+     , time
+     }:
+     mkDerivation {
+       pname = "Graphalyze";
+       version = "0.14.1.0";
+       sha256 = "0pyrhpl06lsppr8ch21crinkax7fh0k18wfvgjinc8phkk6j5hz3";
+       buildDepends = [
+         array base bktrees containers directory fgl filepath graphviz
+         old-locale pandoc process random text time
+       ];
+       jailbreak = true;
+       description = "Graph-Theoretic Analysis library";
+       license = "unknown";
+     }) {};
+
+  "Grempa" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, QuickCheck
+     , template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "Grempa";
+       version = "0.2.2";
+       sha256 = "0w0apbk8hw555cbpprvxpnxviyzmbsxzlc6qpf6w0cfsybkkiv1f";
+       buildDepends = [
+         array base containers mtl QuickCheck template-haskell th-lift
+       ];
+       description = "Embedded grammar DSL and LALR parser generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GroteTrap" = callPackage
+    ({ mkDerivation, base, mtl, parsec, QuickCheck }:
+     mkDerivation {
+       pname = "GroteTrap";
+       version = "0.5";
+       sha256 = "1a43iig84bvmgpjmk6lqzhm3fq5p5hac36icwj4yfyrvzyfn0x7m";
+       buildDepends = [ base mtl parsec QuickCheck ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GroteTrap";
+       description = "Parser and selection library for expression languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Grow" = callPackage
+    ({ mkDerivation, array, base, bytestring, clock, containers
+     , deepseq, definitive-base, definitive-filesystem
+     , definitive-parser, definitive-reactive, directory, filepath
+     , old-locale, primitive, process, time, unix, vector
+     }:
+     mkDerivation {
+       pname = "Grow";
+       version = "1.1.0.3";
+       revision = "3";
+       sha256 = "1vc4ln5fzvcv68qlanyw8mc6qchnjn1kj9rpz661n8ia1x8gkb3l";
+       editedCabalFile = "e599aab8eefc612bbf1dbae0b60308305a9d3009dda186b228e4e8aeeda1f36a";
+       buildDepends = [
+         array base bytestring clock containers deepseq definitive-base
+         definitive-filesystem definitive-parser definitive-reactive
+         directory filepath old-locale primitive process time unix vector
+       ];
+       jailbreak = true;
+       homepage = "http://coiffier.net/projects/grow.html";
+       description = "A declarative make-like interpreter";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GrowlNotify" = callPackage
+    ({ mkDerivation, base, binary, bytestring, Crypto, haskell98
+     , network
+     }:
+     mkDerivation {
+       pname = "GrowlNotify";
+       version = "0.4";
+       sha256 = "13m213d6l81k0iwjbbwg8n2xz960dhfnrs1il48xvlc8z25y6nh5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring Crypto haskell98 network ];
+       description = "Notification utility for Growl";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Gtk2hsGenerics" = callPackage
+    ({ mkDerivation, array, base, cairo, containers, glib, gtk
+     , haskell98, mtl
+     }:
+     mkDerivation {
+       pname = "Gtk2hsGenerics";
+       version = "0.1";
+       sha256 = "1gj775yny73qvi3inc38c6yy1av503m5ilbz7ch0xx4a3ywnw5l9";
+       buildDepends = [
+         array base cairo containers glib gtk haskell98 mtl
+       ];
+       description = "Convenience functions to extend Gtk2hs";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GtkGLTV" = callPackage
+    ({ mkDerivation, base, bitmap, bitmap-opengl, gtk, gtkglext, GtkTV
+     , OpenGL, stb-image, time
+     }:
+     mkDerivation {
+       pname = "GtkGLTV";
+       version = "0.2.0";
+       sha256 = "1xkc3ga65prffjzlymimwmfnmvf0lc42h2rm4b72rlmm8316kmp2";
+       buildDepends = [
+         base bitmap bitmap-opengl gtk gtkglext GtkTV OpenGL stb-image time
+       ];
+       description = "OpenGL support for Gtk-based GUIs for Tangible Values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GtkTV" = callPackage
+    ({ mkDerivation, base, gtk, time, TV, TypeCompose, vector-space }:
+     mkDerivation {
+       pname = "GtkTV";
+       version = "0.2.0";
+       sha256 = "0jxx8lgg533kjvq1sxr4jvqvxj9pcpabsy2mvbpsd2lwv2ffr618";
+       buildDepends = [ base gtk time TV TypeCompose vector-space ];
+       homepage = "http://haskell.org/haskellwiki/GtkTV";
+       description = "Gtk-based GUIs for Tangible Values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "GuiHaskell" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, glade, gtk
+     , parsec, process, proplang
+     }:
+     mkDerivation {
+       pname = "GuiHaskell";
+       version = "0.1.1";
+       sha256 = "1rgyrbnlbvsqgd8m36fccq7qzxj2n682lz2rdq04j35zsgajyk11";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath glade gtk parsec process
+         proplang
+       ];
+       homepage = "http://www-users.cs.york.ac.uk/~ndm/guihaskell/";
+       description = "A graphical REPL and development environment for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "GuiTV" = callPackage
+    ({ mkDerivation, base, DeepArrow, phooey, TV, TypeCompose }:
+     mkDerivation {
+       pname = "GuiTV";
+       version = "0.4";
+       sha256 = "15mndbxm83q0d8ci3vj51zwrmzl0f5i5yqv0caw05vlzfsr4ib5i";
+       buildDepends = [ base DeepArrow phooey TV TypeCompose ];
+       homepage = "http://haskell.org/haskellwiki/GuiTV";
+       description = "GUIs for Tangible Values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HARM" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "HARM";
+       version = "0.1.4";
+       sha256 = "0mld40jm0qnsr9flbip3s2lxwd43nhzs11v23bm5m2s83y6j33jn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base ];
+       homepage = "http://www.engr.uconn.edu/~jeffm/Classes/CSE240-Spring-2001/Lectures/index.html";
+       description = "A simple ARM emulator in haskell";
+       license = "unknown";
+     }) {};
+
+  "HAppS-Data" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, HAppS-Util
+     , HaXml, mtl, pretty, syb, syb-with-class, template-haskell
+     }:
+     mkDerivation {
+       pname = "HAppS-Data";
+       version = "0.9.3";
+       sha256 = "0df3bcvqpmjrg2c28jny20r52f3x7gf1wy7r8x71j9wrji56yg5j";
+       buildDepends = [
+         base binary bytestring containers HAppS-Util HaXml mtl pretty syb
+         syb-with-class template-haskell
+       ];
+       jailbreak = true;
+       description = "HAppS data manipulation libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HAppS-IxSet" = callPackage
+    ({ mkDerivation, base, containers, HAppS-Data, HAppS-State
+     , HAppS-Util, hslogger, mtl, syb, syb-with-class, template-haskell
+     }:
+     mkDerivation {
+       pname = "HAppS-IxSet";
+       version = "0.9.3";
+       sha256 = "0wm3apqsqb2p9cqxikz9j6lzi66ya1sn1yplifqszg1v2lpdgb7b";
+       buildDepends = [
+         base containers HAppS-Data HAppS-State HAppS-Util hslogger mtl syb
+         syb-with-class template-haskell
+       ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HAppS-Server" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , HAppS-Data, HAppS-IxSet, HAppS-State, HAppS-Util, HaXml, hslogger
+     , html, HTTP, mtl, network, old-locale, old-time, parsec, process
+     , random, syb, template-haskell, unix, xhtml
+     }:
+     mkDerivation {
+       pname = "HAppS-Server";
+       version = "0.9.3.1";
+       sha256 = "0f10qp2aiv036izzdpfpgmja5kqx68kccazkn1cdap636brjjcdh";
+       buildDepends = [
+         base bytestring containers directory HAppS-Data HAppS-IxSet
+         HAppS-State HAppS-Util HaXml hslogger html HTTP mtl network
+         old-locale old-time parsec process random syb template-haskell unix
+         xhtml
+       ];
+       jailbreak = true;
+       description = "Web related tools and services";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HAppS-State" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, HAppS-Data, HAppS-Util, HaXml, hslogger, hspread, mtl
+     , network, old-locale, old-time, random, stm, syb, template-haskell
+     , unix
+     }:
+     mkDerivation {
+       pname = "HAppS-State";
+       version = "0.9.3";
+       sha256 = "1r1ing4c8s91d9p41q7yv6v6xaqs9si438j7b5vnzxgwz0syd6ah";
+       buildDepends = [
+         base binary bytestring containers directory filepath HAppS-Data
+         HAppS-Util HaXml hslogger hspread mtl network old-locale old-time
+         random stm syb template-haskell unix
+       ];
+       jailbreak = true;
+       description = "Event-based distributed state";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HAppS-Util" = callPackage
+    ({ mkDerivation, array, base, bytestring, directory, hslogger, mtl
+     , old-time, process, template-haskell
+     }:
+     mkDerivation {
+       pname = "HAppS-Util";
+       version = "0.9.3";
+       sha256 = "0mg6p14xv6f9b1rb77mvadzchf6limcypi6z0di1n49pdqjhs4pr";
+       buildDepends = [
+         array base bytestring directory hslogger mtl old-time process
+         template-haskell
+       ];
+       description = "Web framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HAppSHelpers" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "HAppSHelpers";
+       version = "0.11";
+       sha256 = "1hwxh60b26chcd466vlpxc7hx3smdnfl40mfxpyh8j1597v2aqa3";
+       description = "OBSOLETE. Please use happstack-helpers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HCL" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, random }:
+     mkDerivation {
+       pname = "HCL";
+       version = "1.4";
+       sha256 = "0dzfnvdc1nm4f7q759xnq1lavi90axc7b6jd39sl898jbjg8wrrl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers mtl QuickCheck random ];
+       jailbreak = true;
+       homepage = "http://github.com/m4dc4p/hcl/tree/master";
+       description = "High-level library for building command line interfaces";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HCard" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, random, random-shuffle }:
+     mkDerivation {
+       pname = "HCard";
+       version = "0.0";
+       sha256 = "0bvj1vc8m69bsnjz8xb4nbbpbd4xbqp4kfab0bmk6a4ixgnqk14b";
+       buildDepends = [ base mtl QuickCheck random random-shuffle ];
+       homepage = "http://patch-tag.com/publicrepos/HCard";
+       description = "A library for implementing a Deck of Cards";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HCodecs" = callPackage
+    ({ mkDerivation, array, base, bytestring, QuickCheck, random }:
+     mkDerivation {
+       pname = "HCodecs";
+       version = "0.5";
+       sha256 = "0mhp1alx0p9lzq3vm0k802f8ndm2386sshprn9zb8xq8bsd11gxi";
+       buildDepends = [ array base bytestring QuickCheck random ];
+       testDepends = [ 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;
+     }) {};
+
+  "HDBC" = callPackage
+    ({ mkDerivation, base, bytestring, containers, convertible, mtl
+     , old-locale, old-time, text, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "HDBC";
+       version = "2.4.0.1";
+       sha256 = "1bfjffn44n8w0bvznjiqm4ckfs28nipachip98f125p784ff4gks";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers convertible mtl old-locale old-time text
+         time utf8-string
+       ];
+       homepage = "https://github.com/hdbc/hdbc";
+       description = "Haskell Database Connectivity";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HDBC-mysql" = callPackage
+    ({ mkDerivation, base, bytestring, HDBC, time, utf8-string }:
+     mkDerivation {
+       pname = "HDBC-mysql";
+       version = "0.6.6.1";
+       sha256 = "1q50xynasb2h65g14ycz4s38fyz185yz1sp9rl02h4p940pz7w9m";
+       buildDepends = [ base bytestring HDBC time utf8-string ];
+       homepage = "http://github.com/bos/hdbc-mysql";
+       description = "MySQL driver for HDBC";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HDBC-odbc" = callPackage
+    ({ mkDerivation, base, bytestring, HDBC, mtl, time, unixODBC
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "HDBC-odbc";
+       version = "2.4.0.0";
+       sha256 = "0zjq5j095jyh0axmgnr59fwhh1nhipj6flz77z46kygagygrg2qz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring HDBC mtl time utf8-string ];
+       extraLibraries = [ unixODBC ];
+       homepage = "https://github.com/hdbc/hdbc-odbc";
+       description = "ODBC driver for HDBC";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) unixODBC;};
+
+  "HDBC-postgresql" = callPackage
+    ({ mkDerivation, base, bytestring, convertible, HDBC, mtl
+     , old-locale, old-time, parsec, postgresql, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "HDBC-postgresql";
+       version = "2.3.2.3";
+       sha256 = "1jv43rv3a0x7b7q5vzp07xffaf690gijx3rqnfv19fk63a7075j3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring convertible HDBC mtl old-locale old-time parsec
+         time utf8-string
+       ];
+       extraLibraries = [ postgresql ];
+       homepage = "http://github.com/hdbc/hdbc-postgresql";
+       description = "PostgreSQL driver for HDBC";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) postgresql;};
+
+  "HDBC-postgresql-hstore" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, HDBC, text }:
+     mkDerivation {
+       pname = "HDBC-postgresql-hstore";
+       version = "0.0.1.2";
+       sha256 = "0657a1qy51bihh9gvpwpqpm4gch68rw32plnjcfdbc37yjq5dj1d";
+       buildDepends = [ attoparsec base containers HDBC text ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/dpwiz/hdbc-postgresql-hstore";
+       description = "Manipulate data in PostgreSQL \"hstore\" columns";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "HDBC-session" = callPackage
+    ({ mkDerivation, base, HDBC }:
+     mkDerivation {
+       pname = "HDBC-session";
+       version = "0.1.0.0";
+       sha256 = "1fxx0q9hnxwsivsg2qinm0n3lvf89r9b72cnhipjlpf36nin5x5w";
+       buildDepends = [ base HDBC ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Bracketed connection for HDBC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HDBC-sqlite3" = callPackage
+    ({ mkDerivation, base, bytestring, HDBC, mtl, sqlite, utf8-string
+     }:
+     mkDerivation {
+       pname = "HDBC-sqlite3";
+       version = "2.3.3.0";
+       sha256 = "11765nsncgyv9j6r5wpziqyhy0lxrmqbhgricbdx0c788ky75y92";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring HDBC mtl utf8-string ];
+       extraLibraries = [ sqlite ];
+       homepage = "http://software.complete.org/hdbc-sqlite3";
+       description = "Sqlite v3 driver for HDBC";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) sqlite;};
+
+  "HDRUtils" = callPackage
+    ({ mkDerivation, array, base, colour, containers, mtl, pfstools
+     , unix
+     }:
+     mkDerivation {
+       pname = "HDRUtils";
+       version = "1.0.2";
+       sha256 = "0rkykxmqpqiclvxlvfd0v9rrvkkb25shyajdmajxisfqxl684y0g";
+       buildDepends = [ array base colour containers mtl unix ];
+       extraLibraries = [ pfstools ];
+       jailbreak = true;
+       homepage = "http://vis.renci.org/jeff/pfs";
+       description = "Utilities for reading, manipulating, and writing HDR images";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) pfstools;};
+
+  "HERA" = callPackage
+    ({ mkDerivation, base, mpfr }:
+     mkDerivation {
+       pname = "HERA";
+       version = "0.2";
+       sha256 = "08lry7w4zb7j81q9d7rjpz0chcbr9laxi4h9dz327pfcgmy083sy";
+       buildDepends = [ base ];
+       extraLibraries = [ mpfr ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) mpfr;};
+
+  "HFuse" = callPackage
+    ({ mkDerivation, base, bytestring, fuse, unix }:
+     mkDerivation {
+       pname = "HFuse";
+       version = "0.2.4.5";
+       sha256 = "1894dk7flfdblyyrx0d1acznrdbjw41dnal45cqvrxz5vy4hd3p2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring unix ];
+       extraLibraries = [ fuse ];
+       preConfigure = ''
+         sed -i -e "s@  Extra-Lib-Dirs:         /usr/local/lib@  Extra-Lib-Dirs:         ${fuse}/lib@" HFuse.cabal
+       '';
+       homepage = "https://github.com/m15k/hfuse";
+       description = "HFuse is a binding for the Linux FUSE library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) fuse;};
+
+  "HGL" = callPackage
+    ({ mkDerivation, array, base, X11 }:
+     mkDerivation {
+       pname = "HGL";
+       version = "3.2.0.5";
+       sha256 = "0z8dfxg2x530lawx7gyv9d25wcfpwvbfmknq17d5wgkxz47j95wb";
+       buildDepends = [ array base X11 ];
+       description = "A simple graphics library based on X11 or Win32";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HGamer3D" = callPackage
+    ({ mkDerivation, base, HGamer3D-Audio, HGamer3D-Common
+     , HGamer3D-Data, HGamer3D-Graphics3D, HGamer3D-InputSystem
+     , HGamer3D-Network
+     }:
+     mkDerivation {
+       pname = "HGamer3D";
+       version = "0.5.0";
+       sha256 = "00mkjpmygz3h7rq1y4b8r8gpg4qk52dah1q0h14f50cr2lxvq3b7";
+       buildDepends = [
+         base HGamer3D-Audio HGamer3D-Common HGamer3D-Data
+         HGamer3D-Graphics3D HGamer3D-InputSystem HGamer3D-Network
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "A Toolset for the Haskell Game Programmer";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-API" = callPackage
+    ({ mkDerivation, base, haskell98, HGamer3D-Data
+     , HGamer3D-Ogre-Binding, HGamer3D-SFML-Binding
+     }:
+     mkDerivation {
+       pname = "HGamer3D-API";
+       version = "0.1.6";
+       sha256 = "14wji303z3frjr4rc675pcispbpbpm1ilj6g3cb1fxm5wmi30q5l";
+       buildDepends = [
+         base haskell98 HGamer3D-Data HGamer3D-Ogre-Binding
+         HGamer3D-SFML-Binding
+       ];
+       jailbreak = true;
+       homepage = "http://www.althainz.de/HGamer3D.html";
+       description = "Library to enable 3D game development for Haskell - API";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-Audio" = callPackage
+    ({ mkDerivation, base, containers, HGamer3D-Common, HGamer3D-Data
+     , HGamer3D-SFML-Binding
+     }:
+     mkDerivation {
+       pname = "HGamer3D-Audio";
+       version = "0.5.0";
+       sha256 = "0zfzk0vjn2w127dxcsg64d8j6jw1an3i0a2v32sx05l6whrnhabd";
+       buildDepends = [
+         base containers HGamer3D-Common HGamer3D-Data HGamer3D-SFML-Binding
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Toolset for the Haskell Game Programmer - Audio Functionality";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-Bullet-Binding" = callPackage
+    ({ mkDerivation, base, HGamer3D-Data }:
+     mkDerivation {
+       pname = "HGamer3D-Bullet-Binding";
+       version = "0.2.1";
+       sha256 = "1ilj8p1gm56dffics90qj6gspnam56s84wvaig9s0cwjbwxqi4hy";
+       buildDepends = [ base HGamer3D-Data ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Windows Game Engine for the Haskell Programmer - Bullet Bindings";
+       license = "unknown";
+     }) {};
+
+  "HGamer3D-CAudio-Binding" = callPackage
+    ({ mkDerivation, base, haskell98, HGamer3D-Data, HGamer3DCAudio015
+     }:
+     mkDerivation {
+       pname = "HGamer3D-CAudio-Binding";
+       version = "0.1.5";
+       sha256 = "1q69ffhnnh4iaghb1g8s6bqlsry7jy5sbp5vpg4lprnr4wna5ya1";
+       buildDepends = [ base haskell98 HGamer3D-Data ];
+       extraLibraries = [ HGamer3DCAudio015 ];
+       jailbreak = true;
+       homepage = "http://www.althainz.de/HGamer3D.html";
+       description = "Library to enable 3D game development for Haskell - cAudio Bindings";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { HGamer3DCAudio015 = null;};
+
+  "HGamer3D-CEGUI-Binding" = callPackage
+    ({ mkDerivation, base, CEGUIBase, CEGUIOgreRenderer, hg3dcegui050
+     , HGamer3D-Data
+     }:
+     mkDerivation {
+       pname = "HGamer3D-CEGUI-Binding";
+       version = "0.5.0";
+       sha256 = "1lh7gajn69l8yh2lvv552spf31g4br05cvpb2cwrpkijcnq6x8d0";
+       buildDepends = [ base HGamer3D-Data ];
+       extraLibraries = [ CEGUIBase CEGUIOgreRenderer hg3dcegui050 ];
+       homepage = "http://www.hgamer3d.org";
+       description = "A Toolset for the Haskell Game Programmer - CEGUI Bindings";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { CEGUIBase = null;  CEGUIOgreRenderer = null;
+          hg3dcegui050 = null;};
+
+  "HGamer3D-Common" = callPackage
+    ({ mkDerivation, base, clock, containers, directory, filepath
+     , FindBin, HGamer3D-Data, stm, vect
+     }:
+     mkDerivation {
+       pname = "HGamer3D-Common";
+       version = "0.5.0";
+       sha256 = "1klb8974hlsbjg06jwg1akl3pvbp6wr17apmdn69x8zarmb84skh";
+       buildDepends = [
+         base clock containers directory filepath FindBin HGamer3D-Data stm
+         vect
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Toolset for the Haskell Game Programmer - Game Engine and Utilities";
+       license = "unknown";
+     }) {};
+
+  "HGamer3D-Data" = callPackage
+    ({ mkDerivation, base, clock, containers, directory, filepath
+     , FindBin, stm, vect
+     }:
+     mkDerivation {
+       pname = "HGamer3D-Data";
+       version = "0.5.0";
+       sha256 = "0361153939v63qy204fxpajkgij7f8kfcz93y38jikqcz6nh7bgz";
+       buildDepends = [
+         base clock containers directory filepath FindBin stm vect
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Toolset for the Haskell Game Programmer - Data Definitions";
+       license = "unknown";
+     }) {};
+
+  "HGamer3D-Enet-Binding" = callPackage
+    ({ mkDerivation, base, enet, hg3denet050, HGamer3D-Data }:
+     mkDerivation {
+       pname = "HGamer3D-Enet-Binding";
+       version = "0.5.0";
+       sha256 = "0a5na073ysmcvr9nkbg7jgrkapzbd22wn7p09s2kpxzl9fr8axwd";
+       buildDepends = [ base HGamer3D-Data ];
+       extraLibraries = [ enet hg3denet050 ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Enet Binding for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) enet;  hg3denet050 = null;};
+
+  "HGamer3D-GUI" = callPackage
+    ({ mkDerivation, base, HGamer3D-CEGUI-Binding, HGamer3D-Data
+     , HGamer3D-WinEvent, split
+     }:
+     mkDerivation {
+       pname = "HGamer3D-GUI";
+       version = "0.4.0";
+       sha256 = "006j6g6w990il30kgpwvls77hsmlbg2haiwckrpq3mcywxrhrbsd";
+       buildDepends = [
+         base HGamer3D-CEGUI-Binding HGamer3D-Data HGamer3D-WinEvent split
+       ];
+       jailbreak = true;
+       homepage = "http://www.hgamer3d.org";
+       description = "GUI Functionality for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-Graphics3D" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , HGamer3D-CEGUI-Binding, HGamer3D-Common, HGamer3D-Data
+     , HGamer3D-Ogre-Binding, HGamer3D-SDL2-Binding, mtl, split
+     , transformers
+     }:
+     mkDerivation {
+       pname = "HGamer3D-Graphics3D";
+       version = "0.5.0";
+       sha256 = "1a6fizaf0l6271407z8kzlzd8yhh9ky2l9n10xcns0a1asvdkj5y";
+       buildDepends = [
+         base containers directory filepath HGamer3D-CEGUI-Binding
+         HGamer3D-Common HGamer3D-Data HGamer3D-Ogre-Binding
+         HGamer3D-SDL2-Binding mtl split transformers
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Toolset for the Haskell Game Programmer - 3D Graphics Functionality";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-InputSystem" = callPackage
+    ({ mkDerivation, base, HGamer3D-Common, HGamer3D-Data
+     , HGamer3D-SDL2-Binding, HGamer3D-SFML-Binding
+     }:
+     mkDerivation {
+       pname = "HGamer3D-InputSystem";
+       version = "0.5.0";
+       sha256 = "1dpc5zncc9fayf3gqqpki7chimq5cjpvnpjswapllsmykginlyfh";
+       buildDepends = [
+         base HGamer3D-Common HGamer3D-Data HGamer3D-SDL2-Binding
+         HGamer3D-SFML-Binding
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Joystick, Mouse and Keyboard Functionality for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-Network" = callPackage
+    ({ mkDerivation, base, HGamer3D-Common, HGamer3D-Data
+     , HGamer3D-Enet-Binding
+     }:
+     mkDerivation {
+       pname = "HGamer3D-Network";
+       version = "0.5.0";
+       sha256 = "105m6k112qs96cih9jp0s9l24s671a3hlnsv4jm893mdk28zvznl";
+       buildDepends = [
+         base HGamer3D-Common HGamer3D-Data HGamer3D-Enet-Binding
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Networking Functionality for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-OIS-Binding" = callPackage
+    ({ mkDerivation, base, haskell98, HGamer3D-Data
+     , HGamer3D-Ogre-Binding, HGamer3DOIS015
+     }:
+     mkDerivation {
+       pname = "HGamer3D-OIS-Binding";
+       version = "0.1.5";
+       sha256 = "1n00s6vpwyw8zcasqzg6ycgc98w6hh3sylxjh05w1pya9v853syf";
+       buildDepends = [
+         base haskell98 HGamer3D-Data HGamer3D-Ogre-Binding
+       ];
+       extraLibraries = [ HGamer3DOIS015 ];
+       jailbreak = true;
+       homepage = "http://www.althainz.de/HGamer3D.html";
+       description = "Library to enable 3D game development for Haskell - OIS Bindings";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { HGamer3DOIS015 = null;};
+
+  "HGamer3D-Ogre-Binding" = callPackage
+    ({ mkDerivation, base, hg3dogre050, HGamer3D-Data, mtl, OgreMain
+     , OgrePaging, OgreProperty, OgreRTShaderSystem, OgreTerrain
+     , transformers
+     }:
+     mkDerivation {
+       pname = "HGamer3D-Ogre-Binding";
+       version = "0.5.0";
+       sha256 = "1m2mgqky2bswwskgkmp7xmnm4df5i3rdkshlxkhihglgx3z1wy1w";
+       buildDepends = [ base HGamer3D-Data mtl transformers ];
+       extraLibraries = [
+         hg3dogre050 OgreMain OgrePaging OgreProperty OgreRTShaderSystem
+         OgreTerrain
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "Ogre Binding for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { OgreMain = null;  OgrePaging = null;  OgreProperty = null;
+          OgreRTShaderSystem = null;  OgreTerrain = null;
+          hg3dogre050 = null;};
+
+  "HGamer3D-SDL2-Binding" = callPackage
+    ({ mkDerivation, base, bytestring, hg3dsdl2050, HGamer3D-Data
+     , libX11, SDL2, utf8-string
+     }:
+     mkDerivation {
+       pname = "HGamer3D-SDL2-Binding";
+       version = "0.5.0";
+       sha256 = "11j9gysd6sc8wvia7hgf3qvzbxmpqkj7hv65iza474yig2dcr5hh";
+       buildDepends = [ base bytestring HGamer3D-Data utf8-string ];
+       extraLibraries = [ hg3dsdl2050 libX11 SDL2 ];
+       homepage = "http://www.hgamer3d.org";
+       description = "SDL2 Binding for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL2;  hg3dsdl2050 = null;
+          inherit (pkgs.xlibs) libX11;};
+
+  "HGamer3D-SFML-Binding" = callPackage
+    ({ mkDerivation, base, hg3dsfml050, HGamer3D-Data, sfml-audio
+     , sfml-network, sfml-system, sfml-window
+     }:
+     mkDerivation {
+       pname = "HGamer3D-SFML-Binding";
+       version = "0.5.0";
+       sha256 = "1087g60dxg8pzxvx7bh72ws5slf4mfqmya8cnv11vxl6hk04vc4v";
+       buildDepends = [ base HGamer3D-Data ];
+       extraLibraries = [
+         hg3dsfml050 sfml-audio sfml-network sfml-system sfml-window
+       ];
+       homepage = "http://www.hgamer3d.org";
+       description = "SFML Binding for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { hg3dsfml050 = null;  sfml-audio = null;  sfml-network = null;
+          sfml-system = null;  sfml-window = null;};
+
+  "HGamer3D-WinEvent" = callPackage
+    ({ mkDerivation, base, HGamer3D-Data, HGamer3D-SDL2-Binding, text
+     }:
+     mkDerivation {
+       pname = "HGamer3D-WinEvent";
+       version = "0.4.0";
+       sha256 = "0d3vjlgpzzb473dmhllxvi05lnh010vgfdbizlj4yxywrp6aas9a";
+       buildDepends = [ base HGamer3D-Data HGamer3D-SDL2-Binding text ];
+       jailbreak = true;
+       homepage = "http://www.hgamer3d.org";
+       description = "Windowing and Event Functionality for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGamer3D-Wire" = callPackage
+    ({ mkDerivation, base, containers, HGamer3D, HGamer3D-Audio
+     , HGamer3D-Data, HGamer3D-GUI, HGamer3D-InputSystem
+     , HGamer3D-WinEvent, mtl, netwire, transformers
+     }:
+     mkDerivation {
+       pname = "HGamer3D-Wire";
+       version = "0.3.3";
+       sha256 = "0w5iafs9ldafc3kzq13alnk1ng766p9w97nak3aijpxfrc4m6z77";
+       buildDepends = [
+         base containers HGamer3D HGamer3D-Audio HGamer3D-Data HGamer3D-GUI
+         HGamer3D-InputSystem HGamer3D-WinEvent mtl netwire transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.hgamer3d.org";
+       description = "Wire Functionality for HGamer3D";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HGraphStorage" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, data-default
+     , directory, filepath, HUnit, lifted-base, monad-control
+     , monad-logger, QuickCheck, resourcet, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "HGraphStorage";
+       version = "0.0.3";
+       sha256 = "1qbhzrw8sjxaz95b34w3w71dv79wlkmqjgvcsr79vxxfn4c83dfc";
+       buildDepends = [
+         base binary bytestring containers data-default directory filepath
+         lifted-base monad-control monad-logger resourcet text transformers
+         transformers-base
+       ];
+       testDepends = [
+         base bytestring containers data-default directory filepath HUnit
+         lifted-base monad-control monad-logger QuickCheck resourcet tasty
+         tasty-hunit tasty-quickcheck text transformers transformers-base
+       ];
+       homepage = "https://github.com/JPMoresmau/HGraphStorage";
+       description = "Graph database stored on disk";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HHDL" = callPackage
+    ({ mkDerivation, base, containers, mtl, template-haskell }:
+     mkDerivation {
+       pname = "HHDL";
+       version = "0.1.0.0";
+       sha256 = "1215nz6l3bbkld2fqqsc494xw4qw4vqavznaqxgja2p60w9mwg0q";
+       buildDepends = [ base containers mtl template-haskell ];
+       jailbreak = true;
+       homepage = "http://thesz.mskhug.ru/svn/hhdl/hackage/hhdl/";
+       description = "Hardware Description Language embedded in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HJScript" = callPackage
+    ({ mkDerivation, base, HJavaScript, hsp, mtl, text }:
+     mkDerivation {
+       pname = "HJScript";
+       version = "0.7.0";
+       sha256 = "0xvhzmsl1z6im36svjhcl4zlbnmpknlfn0m426cj5l06a3c5mfa8";
+       buildDepends = [ base HJavaScript hsp mtl text ];
+       homepage = "http://patch-tag.com/r/nibro/hjscript";
+       description = "HJScript is a Haskell EDSL for writing JavaScript programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HJVM" = callPackage
+    ({ mkDerivation, base, Cabal, containers, filepath
+     , haskell-src-exts, HUnit, jvm, mtl, parsec, process
+     , test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "HJVM";
+       version = "0.1";
+       sha256 = "0ixzhgrb2jj7np8gmfwca724w5n26i5xalppm5idnhxw6k4jbklr";
+       buildDepends = [
+         base containers filepath haskell-src-exts mtl parsec process
+         transformers
+       ];
+       testDepends = [
+         base Cabal haskell-src-exts HUnit mtl parsec test-framework
+         test-framework-hunit transformers
+       ];
+       extraLibraries = [ jvm ];
+       homepage = "https://github.com/JPMoresmau/HJVM";
+       description = "A library to create a Java Virtual Machine and manipulate Java objects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { jvm = null;};
+
+  "HJavaScript" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "HJavaScript";
+       version = "0.4.7";
+       sha256 = "0sb2wqbf6kml5d414xi6jk0gr31673djqxa5wg1mxl40vwn14pvh";
+       buildDepends = [ base pretty ];
+       description = "HJavaScript is an abstract syntax for a typed subset of JavaScript";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HLearn-algebra" = callPackage
+    ({ mkDerivation, base, ConstraintKinds, containers, deepseq
+     , hashable, MonadRandom, parallel, random, template-haskell, vector
+     , vector-heterogenous
+     }:
+     mkDerivation {
+       pname = "HLearn-algebra";
+       version = "1.1.0.1";
+       sha256 = "1k0a01cqaay4wp6i603yvcjpmap7inyjxiblqkbpifk9mwjxf15a";
+       buildDepends = [
+         base ConstraintKinds containers deepseq hashable MonadRandom
+         parallel random template-haskell vector vector-heterogenous
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/mikeizbicki/HLearn/";
+       description = "Algebraic foundation for homomorphic learning";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HLearn-approximation" = callPackage
+    ({ mkDerivation, base, ConstraintKinds, containers, heap
+     , HLearn-algebra, HLearn-datastructures, HLearn-distributions
+     , list-extras, vector
+     }:
+     mkDerivation {
+       pname = "HLearn-approximation";
+       version = "1.1.0";
+       sha256 = "1gqrpnliy4jqjlhdhi7vygvq2lnfgwl2hr5hlkzgqmz2gjyib8vn";
+       buildDepends = [
+         base ConstraintKinds containers heap HLearn-algebra
+         HLearn-datastructures HLearn-distributions list-extras vector
+       ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HLearn-classification" = callPackage
+    ({ mkDerivation, base, binary, bytestring, ConstraintKinds
+     , containers, deepseq, dlist, hashable, HLearn-algebra
+     , HLearn-distributions, list-extras, logfloat, math-functions
+     , MonadRandom, normaldistribution, parsec, primitive, QuickCheck
+     , statistics, vector, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "HLearn-classification";
+       version = "1.0.1.3";
+       sha256 = "11c1016nhhckmdrzlazz5b7iabl0iz0g2245bwws3alnnn74svhd";
+       buildDepends = [
+         base binary bytestring ConstraintKinds containers deepseq dlist
+         hashable HLearn-algebra HLearn-distributions list-extras logfloat
+         math-functions MonadRandom normaldistribution parsec primitive
+         QuickCheck statistics vector vector-th-unbox
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/mikeizbicki/HLearn/";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HLearn-datastructures" = callPackage
+    ({ mkDerivation, base, ConstraintKinds, containers, deepseq
+     , HLearn-algebra, list-extras, MonadRandom, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "HLearn-datastructures";
+       version = "1.1.0";
+       sha256 = "06kbscd7nbbb6dlsgyigyag851bbvhiz6p05gdawpb7y0fh8f3wb";
+       buildDepends = [
+         base ConstraintKinds containers deepseq HLearn-algebra list-extras
+         MonadRandom QuickCheck vector
+       ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HLearn-distributions" = callPackage
+    ({ mkDerivation, array, base, ConstraintKinds, containers, deepseq
+     , erf, gamma, graphviz, HLearn-algebra, HLearn-datastructures
+     , hmatrix, list-extras, math-functions, MonadRandom
+     , normaldistribution, process, QuickCheck, statistics
+     , template-haskell, vector, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "HLearn-distributions";
+       version = "1.1.0.2";
+       sha256 = "19v9askkccbv405bchq5h72jahsbivj2s31ajwi316kksan2iwzf";
+       buildDepends = [
+         array base ConstraintKinds containers deepseq erf gamma graphviz
+         HLearn-algebra HLearn-datastructures hmatrix list-extras
+         math-functions MonadRandom normaldistribution process QuickCheck
+         statistics template-haskell vector vector-th-unbox
+       ];
+       homepage = "http://github.com/mikeizbicki/HLearn/";
+       description = "Distributions for use with the HLearn library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HList" = callPackage
+    ({ mkDerivation, base, cmdargs, diffutils, directory, doctest
+     , filepath, ghc-prim, hspec, lens, mtl, process, syb, tagged
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "HList";
+       version = "0.3.4.1";
+       sha256 = "02hw496qv2p0nnbz7lq7jfqnis19qqjsylyvdksqbwmjprk32rh2";
+       buildDepends = [ base ghc-prim mtl tagged template-haskell ];
+       testDepends = [
+         base cmdargs directory doctest filepath hspec lens mtl process syb
+       ];
+       buildTools = [ diffutils ];
+       description = "Heterogeneous lists";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) diffutils;};
+
+  "HListPP" = callPackage
+    ({ mkDerivation, applicative-quoters, base, regex-applicative }:
+     mkDerivation {
+       pname = "HListPP";
+       version = "0.2";
+       sha256 = "0jq2sdfg47dqf8gmmzm0049x4hsfh9prgfvxzplhrxsisknyhfr8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ applicative-quoters base regex-applicative ];
+       homepage = "http://code.haskell.org/~aavogt/HListPP";
+       description = "A preprocessor for HList labelable labels";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HLogger" = callPackage
+    ({ mkDerivation, base, old-locale, time }:
+     mkDerivation {
+       pname = "HLogger";
+       version = "0.0.1.0";
+       sha256 = "0amxyg9j6fh58g2wh9k0231mxmvi6j96z7ykd3rm3jzs96fhlncp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base old-locale time ];
+       jailbreak = true;
+       homepage = "http://www.pontarius.org/sub-projects/hlogger/";
+       description = "Simple, concurrent and easy-to-use logging library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HMM" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "HMM";
+       version = "0.2.1";
+       sha256 = "01y8l76c56gysynbilp32yq0wfc129hl24siw8s9fmpn98qa71s6";
+       homepage = "https://github.com/mikeizbicki/hmm";
+       description = "A hidden markov model library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HMap" = callPackage
+    ({ mkDerivation, base, hashable, mtl, unordered-containers }:
+     mkDerivation {
+       pname = "HMap";
+       version = "1.2.3";
+       sha256 = "0gxs0l5v2kzgy8lfyz0l3ivv1w6cb8sm30h6yv91np1nvj231nf3";
+       buildDepends = [ base hashable mtl unordered-containers ];
+       homepage = "https://github.com/atzeus/HMap";
+       description = "Fast heterogeneous maps and unconstrained typeable like functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HNM" = callPackage
+    ({ mkDerivation, base, containers, directory, glib, gtk, haskell98
+     , mtl, process, regex-posix, unix
+     }:
+     mkDerivation {
+       pname = "HNM";
+       version = "0.1.2";
+       sha256 = "04325gwmlrx4iy9609vzaw2dhs4kg3ydr4r6af6rllrf500f6w9j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory glib gtk haskell98 mtl process
+         regex-posix unix
+       ];
+       homepage = "http://sert.homedns.org/hs/hnm/";
+       description = "Happy Network Manager";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HODE" = callPackage
+    ({ mkDerivation, array, base, ode }:
+     mkDerivation {
+       pname = "HODE";
+       version = "2008.10.27";
+       sha256 = "0fr3bivmlciicba1brhm86l8diadb765ff1s8g6ylygs8l7lingv";
+       buildDepends = [ array base ];
+       extraLibraries = [ ode ];
+       description = "Binding to libODE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) ode;};
+
+  "HOpenCV" = callPackage
+    ({ mkDerivation, allocated-processor, base, opencv, vector-space }:
+     mkDerivation {
+       pname = "HOpenCV";
+       version = "0.1.2.4";
+       sha256 = "1q32rcrzv79z125sbjlzhd4sl1pl8if01vrwd7y18s3acs3aqr4b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ allocated-processor base vector-space ];
+       pkgconfigDepends = [ opencv ];
+       description = "A binding for the OpenCV computer vision library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) opencv;};
+
+  "HPDF" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers, mtl
+     , random, vector, zlib
+     }:
+     mkDerivation {
+       pname = "HPDF";
+       version = "1.4.6";
+       sha256 = "15v1mf58fqa25higf52jqlf3fw2fbggfm5v8a8v00zz6q0f3lzn9";
+       buildDepends = [
+         array base binary bytestring containers mtl random vector zlib
+       ];
+       homepage = "http://www.alpheccar.org";
+       description = "Generation of PDF documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HPath" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , haskell-src-exts, mtl, parsec, utf8-string
+     }:
+     mkDerivation {
+       pname = "HPath";
+       version = "0.0.2";
+       sha256 = "10hlqyhcpgnkiqwjwb3d10wrhzc82jcbz1qvxa0mzzif36rys1wk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath haskell-src-exts mtl
+         parsec utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/solidsnack/HPath";
+       description = "Extract Haskell declarations by name";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HPi" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "HPi";
+       version = "0.4.0";
+       sha256 = "0d0r89a92lavbaf6svkqwd7fvc1q4kwbdvr0jvxarx2xgrhl342a";
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       homepage = "https://github.com/WJWH/HPi";
+       description = "GPIO and I2C functions for the Raspberry Pi";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HPlot" = callPackage
+    ({ mkDerivation, base, c2hs, glade, glib, gtk, plplotd-gnome2 }:
+     mkDerivation {
+       pname = "HPlot";
+       version = "0.3";
+       sha256 = "022642xp13fl34y854n4j7kxn0nyxhrz4gxgn3nfqs67m13bcsqy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base glade glib gtk ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ plplotd-gnome2 ];
+       jailbreak = true;
+       homepage = "http://yakov.cc/HPlot.html";
+       description = "A minimal monadic PLplot interface for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { plplotd-gnome2 = null;};
+
+  "HPong" = callPackage
+    ({ mkDerivation, base, data-accessor, data-accessor-template, GLFW
+     , OpenGL
+     }:
+     mkDerivation {
+       pname = "HPong";
+       version = "0.1.2";
+       sha256 = "0dzzq4ksny537b151g6c1jgj2ns143klhdjfbq84srs026pvpvzi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base data-accessor data-accessor-template GLFW OpenGL
+       ];
+       homepage = "http://bonsaicode.wordpress.com/2009/04/23/hpong-012/";
+       description = "A simple OpenGL Pong game based on GLFW";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HROOT" = callPackage
+    ({ mkDerivation, base, fficxx-runtime, HROOT-core, HROOT-graf
+     , HROOT-hist, HROOT-io, HROOT-math
+     }:
+     mkDerivation {
+       pname = "HROOT";
+       version = "0.8";
+       revision = "1";
+       sha256 = "0q6n5j1hzl8fk6a0ziqjzfi1515shqzqxx0argbvnhw85vjajvqf";
+       editedCabalFile = "43058ba39e0517740c45b1087a39e4f84912c1a3c500504850395d4f2fda0917";
+       buildDepends = [
+         base fficxx-runtime HROOT-core HROOT-graf HROOT-hist HROOT-io
+         HROOT-math
+       ];
+       homepage = "http://ianwookim.org/HROOT";
+       description = "Haskell binding to ROOT RooFit modules";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HROOT-core" = callPackage
+    ({ mkDerivation, base, fficxx-runtime }:
+     mkDerivation {
+       pname = "HROOT-core";
+       version = "0.8";
+       sha256 = "1f40n224r640dp3g4x9kwnpcjpll3axs3pc71nqcch748bh0f60n";
+       buildDepends = [ base fficxx-runtime ];
+       homepage = "http://ianwookim.org/HROOT";
+       description = "Haskell binding to ROOT Core modules";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HROOT-graf" = callPackage
+    ({ mkDerivation, base, fficxx-runtime, HROOT-core, HROOT-hist }:
+     mkDerivation {
+       pname = "HROOT-graf";
+       version = "0.8";
+       sha256 = "1jh2c6wrzajrzbkw77fsvjnj7nhrfx192hs9vlkd0aja2xy7z0bw";
+       buildDepends = [ base fficxx-runtime HROOT-core HROOT-hist ];
+       homepage = "http://ianwookim.org/HROOT";
+       description = "Haskell binding to ROOT Graf modules";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HROOT-hist" = callPackage
+    ({ mkDerivation, base, fficxx-runtime, HROOT-core }:
+     mkDerivation {
+       pname = "HROOT-hist";
+       version = "0.8";
+       sha256 = "0yzlqg2nzw26j1a2i8zaihwd22bl7y9cbxxps99vy7fxph81ikh1";
+       buildDepends = [ base fficxx-runtime HROOT-core ];
+       homepage = "http://ianwookim.org/HROOT";
+       description = "Haskell binding to ROOT Hist modules";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HROOT-io" = callPackage
+    ({ mkDerivation, base, fficxx-runtime, HROOT-core }:
+     mkDerivation {
+       pname = "HROOT-io";
+       version = "0.8";
+       sha256 = "0sbh6jz24xv2pvh0m2f26aqj3fzkmyiqp8p4g1vcnh8jlisdn6k2";
+       buildDepends = [ base fficxx-runtime HROOT-core ];
+       homepage = "http://ianwookim.org/HROOT";
+       description = "Haskell binding to ROOT IO modules";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HROOT-math" = callPackage
+    ({ mkDerivation, base, fficxx-runtime, HROOT-core }:
+     mkDerivation {
+       pname = "HROOT-math";
+       version = "0.8";
+       sha256 = "0qmsvrhxzdw2n0lw8x06l2sbx36xm77nv55kpps1h60l4l0nmzwm";
+       buildDepends = [ base fficxx-runtime HROOT-core ];
+       homepage = "http://ianwookim.org/HROOT";
+       description = "Haskell binding to ROOT Math modules";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HRay" = callPackage
+    ({ mkDerivation, array, base, directory, haskell98 }:
+     mkDerivation {
+       pname = "HRay";
+       version = "1.2.3";
+       sha256 = "0bg0b8260cd2l8q7ccijwqg1yz49mkifv1r0a5q1hrbsagvac4nf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base directory haskell98 ];
+       homepage = "http://boegel.kejo.be/ELIS/Haskell/HRay/";
+       description = "Haskell raytracer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HSFFIG" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, parsec, process, unix
+     }:
+     mkDerivation {
+       pname = "HSFFIG";
+       version = "1.1.3";
+       sha256 = "10zkg2lhvzxi6csyrah8kw3xd1da60im0whpg884hpnf5h220086";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers directory filepath parsec process unix
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/HSFFIG";
+       description = "Generate FFI import declarations from C include files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HSGEP" = callPackage
+    ({ mkDerivation, base, csv, mersenne-random-pure64
+     , monad-mersenne-random, mtl, split, vector
+     }:
+     mkDerivation {
+       pname = "HSGEP";
+       version = "0.1.5";
+       sha256 = "16k853180smf2smw8ch3mzjv14imj9w2ssh61hcc23carhrsbg9p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base csv mersenne-random-pure64 monad-mersenne-random mtl split
+         vector
+       ];
+       homepage = "http://github.com/mjsottile/hsgep/";
+       description = "Gene Expression Programming evolutionary algorithm in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HSH" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, hslogger
+     , MissingH, mtl, process, regex-base, regex-compat, regex-posix
+     , unix
+     }:
+     mkDerivation {
+       pname = "HSH";
+       version = "2.1.2";
+       sha256 = "17ysn131xskx4s1g5kg08zy141q3q16bns4bsg3yjzvf6cjpz2kq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath hslogger MissingH mtl process
+         regex-base regex-compat regex-posix unix
+       ];
+       homepage = "http://software.complete.org/hsh";
+       description = "Library to mix shell scripting with Haskell programs";
+       license = "LGPL";
+     }) {};
+
+  "HSHHelpers" = callPackage
+    ({ mkDerivation, base, bytestring, DebugTraceHelpers, directory
+     , filepath, HSH, HStringTemplateHelpers, MissingH, mtl, regex-pcre
+     , unix
+     }:
+     mkDerivation {
+       pname = "HSHHelpers";
+       version = "0.24";
+       sha256 = "0mz25xak9fkircdxcpzrf3rym9l5ivhifk7dqm2xki3mv6fw214d";
+       buildDepends = [
+         base bytestring DebugTraceHelpers directory filepath HSH
+         HStringTemplateHelpers MissingH mtl regex-pcre unix
+       ];
+       jailbreak = true;
+       description = "Convenience functions that use HSH, instances for HSH";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HSlippyMap" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "HSlippyMap";
+       version = "2.2";
+       sha256 = "17n1kpva97lwhwg2vs7875bfqlwcq6xpl2agqc53qb7j4153p559";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/j4/HSlippyMap";
+       description = "OpenStreetMap Slippy Map";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HSmarty" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-expr, base, HTF
+     , HTTP, mtl, scientific, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "HSmarty";
+       version = "0.2.0.3";
+       sha256 = "07m7xpwv565cf78qyqkd6babpl2b7jnq88psv55jclzdqlsvv0rq";
+       buildDepends = [
+         aeson attoparsec attoparsec-expr base HTTP mtl scientific text
+         unordered-containers vector
+       ];
+       testDepends = [ aeson attoparsec base HTF text ];
+       jailbreak = true;
+       homepage = "https://github.com/agrafix/HSmarty";
+       description = "Small template engine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HSoundFile" = callPackage
+    ({ mkDerivation, base, binary, bytestring, filepath, haskell98, mtl
+     , parallel
+     }:
+     mkDerivation {
+       pname = "HSoundFile";
+       version = "0.2.2";
+       sha256 = "0qlz17dzlysj36zz3s8dzwvfdr9rdfp6gnabc262iraidqapshzb";
+       buildDepends = [
+         base binary bytestring filepath haskell98 mtl parallel
+       ];
+       homepage = "http://mml.music.utexas.edu/jwlato/HSoundFile";
+       description = "Audio file reading/writing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HStringTemplate" = callPackage
+    ({ mkDerivation, array, base, blaze-builder, bytestring, containers
+     , deepseq, directory, filepath, mtl, old-locale, old-time, parsec
+     , pretty, syb, template-haskell, text, time, utf8-string, void
+     }:
+     mkDerivation {
+       pname = "HStringTemplate";
+       version = "0.7.3";
+       revision = "2";
+       sha256 = "1gw4v16nk0878qplcx6by2bl4280lwyn9a252p6ldaqlbk9vygw8";
+       editedCabalFile = "f3b42ea4e5c29507d6d186ccd34c83425d2e16a55ca3af95fd8bb1a71e3f54cb";
+       buildDepends = [
+         array base blaze-builder bytestring containers deepseq directory
+         filepath mtl old-locale old-time parsec pretty syb template-haskell
+         text time utf8-string void
+       ];
+       description = "StringTemplate implementation in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HStringTemplate_0_8_3" = callPackage
+    ({ mkDerivation, array, base, blaze-builder, bytestring, containers
+     , deepseq, directory, filepath, mtl, old-locale, parsec, pretty
+     , syb, template-haskell, text, time, void
+     }:
+     mkDerivation {
+       pname = "HStringTemplate";
+       version = "0.8.3";
+       sha256 = "064x4d9vhzln1c8ka3saqdz6a8skn3xbhaxrf3rjwqgmjg4v3mk3";
+       buildDepends = [
+         array base blaze-builder bytestring containers deepseq directory
+         filepath mtl old-locale parsec pretty syb template-haskell text
+         time void
+       ];
+       description = "StringTemplate implementation in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HStringTemplateHelpers" = callPackage
+    ({ mkDerivation, base, containers, directory, FileManipCompat
+     , filepath, HSH, HStringTemplate, mtl, safe, strict
+     }:
+     mkDerivation {
+       pname = "HStringTemplateHelpers";
+       version = "0.0.14";
+       sha256 = "1dgr28hxm9zlxl13ms9mn63rbm5ya6bkyys6q0kbns2y2zwmkswh";
+       buildDepends = [
+         base containers directory FileManipCompat filepath HSH
+         HStringTemplate mtl safe strict
+       ];
+       homepage = "http://patch-tag.com/tphyahoo/r/tphyahoo/HStringTemplateHelpers";
+       description = "Convenience functions and instances for HStringTemplate";
+       license = "GPL";
+     }) {};
+
+  "HSvm" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "HSvm";
+       version = "0.1.0.2.89";
+       sha256 = "1mb8kclb7631ihj356g5ddf758cnwz9y6r5ck72daa7vndz01aa9";
+       buildDepends = [ base containers ];
+       description = "Haskell Bindings for libsvm";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HTF" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base
+     , base64-bytestring, bytestring, containers, cpphs, Diff, directory
+     , filepath, haskell-lexer, haskell-src, HUnit, lifted-base
+     , monad-control, mtl, old-time, pretty, process, QuickCheck, random
+     , regex-compat, temporary, text, time, unix, unordered-containers
+     , vector, xmlgen
+     }:
+     mkDerivation {
+       pname = "HTF";
+       version = "0.12.2.4";
+       sha256 = "0f538wqihj8i1ys3aciz7n1asxvg73bm9zg0p8qazzx9ghpcgy6m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base base64-bytestring bytestring containers cpphs Diff
+         directory haskell-lexer haskell-src HUnit lifted-base monad-control
+         mtl old-time pretty process QuickCheck random regex-compat text
+         time unix vector xmlgen
+       ];
+       testDepends = [
+         aeson aeson-pretty base bytestring directory filepath HUnit mtl
+         process random regex-compat temporary text unordered-containers
+       ];
+       homepage = "https://github.com/skogsbaer/HTF/";
+       description = "The Haskell Test Framework";
+       license = "LGPL";
+     }) {};
+
+  "HTTP" = callPackage
+    ({ mkDerivation, array, base, bytestring, case-insensitive, conduit
+     , conduit-extra, deepseq, ghc, http-types, httpd-shed, HUnit, mtl
+     , network, network-uri, old-time, parsec, pureMD5, split
+     , test-framework, test-framework-hunit, wai, warp
+     }:
+     mkDerivation {
+       pname = "HTTP";
+       version = "4000.2.19";
+       sha256 = "1yzm8gimh8g0wwbixcbxg60v4l3vgi63w9v55ms0x9qnm6vrgysz";
+       buildDepends = [
+         array base bytestring mtl network network-uri old-time parsec
+       ];
+       testDepends = [
+         base bytestring case-insensitive conduit conduit-extra deepseq ghc
+         http-types httpd-shed HUnit mtl network network-uri pureMD5 split
+         test-framework test-framework-hunit wai warp
+       ];
+       homepage = "https://github.com/haskell/HTTP";
+       description = "A library for client-side HTTP";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HTTP-Simple" = callPackage
+    ({ mkDerivation, base, HTTP, network }:
+     mkDerivation {
+       pname = "HTTP-Simple";
+       version = "0.2";
+       sha256 = "1294pn82fbskgfw2mh3ri31wab5l9y3j0g50dcx5sqbhz79pnj9w";
+       buildDepends = [ base HTTP network ];
+       homepage = "http://www.b7j0c.org/content/haskell-http.html";
+       description = "DEPRECATED Enable simple wrappers to Network.HTTP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HTab" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, deepseq, hylolib, mtl
+     , strict
+     }:
+     mkDerivation {
+       pname = "HTab";
+       version = "1.6.3";
+       sha256 = "0c0igscng6gqhabmvvgappsbzbhkpybcx7vr8yd72pqh988ml4zv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers deepseq hylolib mtl strict
+       ];
+       homepage = "http://www.glyc.dc.uba.ar/intohylo/htab.php";
+       description = "Tableau based theorem prover for hybrid logics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HTicTacToe" = callPackage
+    ({ mkDerivation, array, base, mtl, random, SDL, SDL-image, SDL-ttf
+     }:
+     mkDerivation {
+       pname = "HTicTacToe";
+       version = "0.2";
+       sha256 = "0h3pr4lyx14zndwbas5ba8sg3s84sq19qhh6pcqpy4v2ajfyyfqc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base mtl random SDL SDL-image SDL-ttf ];
+       homepage = "http://github.com/snkkid/HTicTacToe";
+       description = "An SDL tic-tac-toe game";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HUnit" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "HUnit";
+       version = "1.2.5.2";
+       sha256 = "0hcs6qh8bqhip1kkjjnw7ccgcsmawdz5yvffjj5y8zd2vcsavx8a";
+       buildDepends = [ base deepseq ];
+       homepage = "http://hunit.sourceforge.net/";
+       description = "A unit testing framework for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HUnit-Diff" = callPackage
+    ({ mkDerivation, ansi-terminal, base, Diff, groom, HUnit }:
+     mkDerivation {
+       pname = "HUnit-Diff";
+       version = "0.1";
+       sha256 = "0dlsx6qicnrqkhb52jbgh31f0y6lxh32yl5gr6bg3fnqr36vc6x6";
+       buildDepends = [ ansi-terminal base Diff groom HUnit ];
+       jailbreak = true;
+       homepage = "https://github.com/dag/HUnit-Diff";
+       description = "Assertions for HUnit with difference reporting";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HUnit-Plus" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cmdargs, containers
+     , directory, hashable, hexpat, hostname, old-locale, parsec, time
+     , timeit
+     }:
+     mkDerivation {
+       pname = "HUnit-Plus";
+       version = "1.0.1";
+       sha256 = "0ph4560i8nb4ggbfc2yfam0mgfl21pnpgj0x0v9dh86lbfj9p4ki";
+       buildDepends = [
+         base bytestring Cabal cmdargs containers hashable hexpat hostname
+         old-locale parsec time timeit
+       ];
+       testDepends = [
+         base bytestring Cabal cmdargs containers directory hashable hexpat
+         hostname old-locale parsec time timeit
+       ];
+       homepage = "https://github.com/emc2/HUnit-Plus";
+       description = "A test framework building on HUnit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HUnit-approx" = callPackage
+    ({ mkDerivation, base, HUnit }:
+     mkDerivation {
+       pname = "HUnit-approx";
+       version = "1.0";
+       sha256 = "0svkjvcanjsi5bhn9b91jhig36np5imr3qyj6b1s5msm7wmlk3v1";
+       buildDepends = [ base HUnit ];
+       testDepends = [ base HUnit ];
+       homepage = "https://github.com/goldfirere/HUnit-approx";
+       description = "Approximate equality for floating point numbers with HUnit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HXMPP" = callPackage
+    ({ mkDerivation, base, base64-string, binary, bytestring
+     , crypto-api, enumerator, HLogger, network, pureMD5, random
+     , regex-posix, text, transformers, utf8-string, xml-enumerator
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "HXMPP";
+       version = "0.0.1.0";
+       sha256 = "094j5bafrwr0d5sz3fidz7k328w6f4nqhja2c9gf89759nc470ss";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-string binary bytestring crypto-api enumerator HLogger
+         network pureMD5 random regex-posix text transformers utf8-string
+         xml-enumerator xml-types
+       ];
+       jailbreak = true;
+       homepage = "http://www.pontarius.org/sub-projects/hxmpp/";
+       description = "A (prototyped) easy to use XMPP library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HXQ" = callPackage
+    ({ mkDerivation, array, base, haskeline, haskell98, HTTP, mtl
+     , regex-base, regex-compat, template-haskell
+     }:
+     mkDerivation {
+       pname = "HXQ";
+       version = "0.19.0";
+       sha256 = "1k2lway8nfy6vwsxq7kmjh25q5diw8sy4hrqzn3irk6rlg7zh77l";
+       buildDepends = [
+         array base haskeline haskell98 HTTP mtl regex-base regex-compat
+         template-haskell
+       ];
+       homepage = "http://lambda.uta.edu/HXQ/";
+       description = "A Compiler from XQuery to Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HaLeX" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "HaLeX";
+       version = "1.2.1";
+       sha256 = "029khjgyay3pzydq7bj6rvlglmm66wj728y4fadqvh6yxr7ddc0s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl ];
+       homepage = "http://www.di.uminho.pt/~jas/Research/HaLeX/HaLeX.html";
+       description = "HaLeX enables modelling, manipulation and animation of regular languages";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HaMinitel" = callPackage
+    ({ mkDerivation, base, bytestring, serialport, stm }:
+     mkDerivation {
+       pname = "HaMinitel";
+       version = "0.1.0.0";
+       sha256 = "0q7fq5z0wrk2qg9n715033yp25dpl73g6iqkbvxbg2ahp9caq458";
+       buildDepends = [ base bytestring serialport stm ];
+       jailbreak = true;
+       homepage = "https://github.com/Zigazou/HaMinitel";
+       description = "An Haskell library to drive the french Minitel through a serial port";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "HaPy" = callPackage
+    ({ mkDerivation, base, template-haskell, th-lift }:
+     mkDerivation {
+       pname = "HaPy";
+       version = "0.1.1.0";
+       sha256 = "1gxxhyidcn3lcvmbjby364cypk6xmmsv5qdd0m16d06688cl9mq7";
+       buildDepends = [ base template-haskell th-lift ];
+       jailbreak = true;
+       homepage = "https://github.com/sakana/HaPy";
+       description = "Haskell bindings for Python";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "HaRe" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, Diff, directory
+     , dual-tree, filepath, ghc, ghc-mod, ghc-paths, ghc-prim
+     , ghc-syb-utils, haskell-token-utils, hslogger, hspec, HUnit
+     , monoid-extras, mtl, old-time, parsec, pretty, process, QuickCheck
+     , rosezipper, semigroups, silently, Strafunski-StrategyLib
+     , stringbuilder, syb, syz, time, transformers
+     }:
+     mkDerivation {
+       pname = "HaRe";
+       version = "0.7.2.8";
+       sha256 = "19vldhyl1636g05yc1kg9ih3z9rlcvcl596slc1hqwkd564nld36";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory dual-tree filepath ghc ghc-mod
+         ghc-paths ghc-prim ghc-syb-utils haskell-token-utils hslogger
+         monoid-extras mtl old-time parsec pretty rosezipper semigroups
+         Strafunski-StrategyLib syb syz time transformers
+       ];
+       testDepends = [
+         base containers deepseq Diff directory dual-tree filepath ghc
+         ghc-mod ghc-paths ghc-prim ghc-syb-utils haskell-token-utils
+         hslogger hspec HUnit monoid-extras mtl old-time process QuickCheck
+         rosezipper semigroups silently Strafunski-StrategyLib stringbuilder
+         syb syz time transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/RefactoringTools/HaRe/wiki";
+       description = "the Haskell Refactorer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HaTeX" = callPackage
+    ({ mkDerivation, base, bytestring, containers, matrix, parsec
+     , QuickCheck, tasty, tasty-quickcheck, text, transformers
+     , wl-pprint-extras
+     }:
+     mkDerivation {
+       pname = "HaTeX";
+       version = "3.16.1.1";
+       sha256 = "0xi89wclnkrl17jl3ymvsvg802aj201m4lp0rg9adgmrrdgz042p";
+       buildDepends = [
+         base bytestring containers matrix parsec QuickCheck text
+         transformers wl-pprint-extras
+       ];
+       testDepends = [ base QuickCheck tasty tasty-quickcheck text ];
+       homepage = "http://wrongurl.net/haskell/HaTeX";
+       description = "The Haskell LaTeX library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HaTeX-meta" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
+     , haddock, haskell-src-exts, mtl, parsec
+     }:
+     mkDerivation {
+       pname = "HaTeX-meta";
+       version = "1.2.1";
+       sha256 = "1cfn823xfp4962x4ww3dawm017nkg00wxa20b8nbq3pmjjnpb2xl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath ghc haddock
+         haskell-src-exts mtl parsec
+       ];
+       jailbreak = true;
+       description = "This package is deprecated. From version 3, HaTeX does not need this anymore.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HaTeX-qq" = callPackage
+    ({ mkDerivation, antiquoter, base, haskell-src-meta, HaTeX
+     , template-haskell, text, uniplate
+     }:
+     mkDerivation {
+       pname = "HaTeX-qq";
+       version = "0.0.1.1";
+       sha256 = "1kjhdg9vm7n07zxgdkmqkgwpf2204hrjwslnyhg8i7f07cd3pdrl";
+       buildDepends = [
+         antiquoter base haskell-src-meta HaTeX template-haskell text
+         uniplate
+       ];
+       jailbreak = true;
+       description = "Quasiquoters for HaTeX";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HaVSA" = callPackage
+    ({ mkDerivation, base, HUnit, logict, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck
+     }:
+     mkDerivation {
+       pname = "HaVSA";
+       version = "0.1.0.2";
+       sha256 = "1hh324i7gvazlkm3vfmzah41h2hlxwb2k8g1z8dmfbif6pmp0apk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base HUnit logict QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck
+       ];
+       jailbreak = true;
+       description = "An implementation of the Version Space Algebra learning framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HaXml" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , polyparse, pretty, random
+     }:
+     mkDerivation {
+       pname = "HaXml";
+       version = "1.25.3";
+       sha256 = "1iq74dnxvannx9x1whqc3ixn93r4v5z7b4yv21n9q5963kpafj34";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath polyparse pretty
+         random
+       ];
+       homepage = "http://projects.haskell.org/HaXml/";
+       description = "Utilities for manipulating XML documents";
+       license = "LGPL";
+     }) {};
+
+  "Hach" = callPackage
+    ({ mkDerivation, base, containers, network, old-locale, text, time
+     , vty, vty-ui
+     }:
+     mkDerivation {
+       pname = "Hach";
+       version = "0.1.2";
+       sha256 = "1bp7ngsh655x0iamb8bhn2sqkpg3p6mhg0n0fgqz5k4pjskjyavy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers network old-locale text time vty vty-ui
+       ];
+       homepage = "http://github.com/dmalikov/HaCh";
+       description = "Simple chat";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HackMail" = callPackage
+    ({ mkDerivation, base, Crypto, directory, hdaemonize, hint, mtl
+     , old-time, parsec
+     }:
+     mkDerivation {
+       pname = "HackMail";
+       version = "0.0.1";
+       sha256 = "1j8lw1c5asx40fag9gd6ni19c0z0q46f55yry5cj94v4s5m2gzbw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Crypto directory hdaemonize hint mtl old-time parsec
+       ];
+       homepage = "http://patch-tag.com/publicrepos/Hackmail";
+       description = "A Procmail Replacement as Haskell EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Haggressive" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cassava, containers
+     , directory, HUnit, PSQueue, text, tokenize, tuple, vector
+     }:
+     mkDerivation {
+       pname = "Haggressive";
+       version = "0.1.0.4";
+       sha256 = "08f8i8bmnjv255xzpasa7drd83fh82qjm49mscn6dmiw6yp47vz1";
+       buildDepends = [
+         base bytestring Cabal cassava containers directory HUnit PSQueue
+         text tokenize tuple vector
+       ];
+       testDepends = [ base Cabal containers HUnit tuple vector ];
+       homepage = "https://github.com/Pold87/Haggressive";
+       description = "Aggression analysis for Tweets on Twitter";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HandlerSocketClient" = callPackage
+    ({ mkDerivation, base, bytestring, network }:
+     mkDerivation {
+       pname = "HandlerSocketClient";
+       version = "0.0.5";
+       sha256 = "1jp8cwlp6h1wvvkh71813i3lzxc7ckxzc7nvvcsjvcz0apxcl7vv";
+       buildDepends = [ base bytestring network ];
+       homepage = "https://github.com/wuxb45/HandlerSocket-Haskell-Client";
+       description = "Haskell implementation of a HandlerSocket client (API)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HandsomeSoup" = callPackage
+    ({ mkDerivation, base, containers, hspec, HTTP, hxt, hxt-http
+     , MaybeT, mtl, network, network-uri, parsec, transformers
+     }:
+     mkDerivation {
+       pname = "HandsomeSoup";
+       version = "0.3.5";
+       sha256 = "1d1zanlr1mdxjc69xvbxg5kn5bc08gd960j6lb1x3grhcgmj9krm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers HTTP hxt hxt-http MaybeT mtl network network-uri
+         parsec transformers
+       ];
+       testDepends = [ base hspec hxt ];
+       homepage = "https://github.com/egonSchiele/HandsomeSoup";
+       description = "Work with HTML more easily in HXT";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HarmTrace" = callPackage
+    ({ mkDerivation, array, base, binary, cmdargs, deepseq, Diff
+     , directory, filepath, ghc-prim, HarmTrace-Base, HCodecs, hmatrix
+     , hmatrix-gsl-stats, instant-generics, ListLike, mtl, parallel
+     , parseargs, process, sox, template-haskell, uu-parsinglib, vector
+     }:
+     mkDerivation {
+       pname = "HarmTrace";
+       version = "2.2.0";
+       sha256 = "1l2w53ispw7sg1daxnynfc94njzm6w838a8ij7rpzd3nxa2b596v";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary cmdargs deepseq Diff directory filepath ghc-prim
+         HarmTrace-Base HCodecs hmatrix hmatrix-gsl-stats instant-generics
+         ListLike mtl parallel parseargs process sox template-haskell
+         uu-parsinglib vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/HarmTrace";
+       description = "Harmony Analysis and Retrieval of Music";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HarmTrace-Base" = callPackage
+    ({ mkDerivation, base, binary, containers, ghc-prim, ListLike
+     , QuickCheck, uu-parsinglib
+     }:
+     mkDerivation {
+       pname = "HarmTrace-Base";
+       version = "1.4.0.1";
+       sha256 = "174a05473577vyyf6rz5bq3b9wrgmsbz23xdg945pfc78lb6n70j";
+       buildDepends = [
+         base binary containers ghc-prim ListLike uu-parsinglib
+       ];
+       testDepends = [
+         base binary containers ghc-prim ListLike QuickCheck uu-parsinglib
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/bash/harmtrace-base";
+       description = "Parsing and unambiguously representing musical chords";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HasGP" = callPackage
+    ({ mkDerivation, base, haskell98, hmatrix, hmatrix-special, mtl
+     , parsec, random
+     }:
+     mkDerivation {
+       pname = "HasGP";
+       version = "0.1";
+       sha256 = "1sw5l74p2md4whq0c1xifcnwbb525i84n1razjxs7cpf8gicgggx";
+       buildDepends = [
+         base haskell98 hmatrix hmatrix-special mtl parsec random
+       ];
+       jailbreak = true;
+       homepage = "http://www.cl.cam.ac.uk/~sbh11/HasGP";
+       description = "A Haskell library for inference using Gaussian processes";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Haschoo" = callPackage
+    ({ mkDerivation, array, base, list-tries, monad-loops, mtl, numbers
+     , parsec
+     }:
+     mkDerivation {
+       pname = "Haschoo";
+       version = "0.1.2";
+       sha256 = "0jh506p0clwyb5wwrhlgbc5xp7w6smz5vky3lc8vhnwvwk324qcj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base list-tries monad-loops mtl numbers parsec
+       ];
+       jailbreak = true;
+       homepage = "http://iki.fi/matti.niemenmaa/misc-projects.html#haschoo";
+       description = "Minimalist R5RS Scheme interpreter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Hashell" = callPackage
+    ({ mkDerivation, base, directory, ghc, haskell98, parsec, process
+     , readline, regex-compat, unix
+     }:
+     mkDerivation {
+       pname = "Hashell";
+       version = "1.0";
+       sha256 = "0yn525sr7i2nwf4y44va00aswnphn89072zaqjr2i0f1n1jjaxpl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory ghc haskell98 parsec process readline regex-compat
+         unix
+       ];
+       jailbreak = true;
+       description = "Simple shell written in Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HaskellForMaths" = callPackage
+    ({ mkDerivation, array, base, containers, random }:
+     mkDerivation {
+       pname = "HaskellForMaths";
+       version = "0.4.5";
+       sha256 = "03j83gvxjjqjwl047j0acsf9j5vs3zpzbap036sw4slq31nza2p9";
+       buildDepends = [ array base containers random ];
+       homepage = "http://haskellformaths.blogspot.com/";
+       description = "Combinatorics, group theory, commutative algebra, non-commutative algebra";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HaskellLM" = callPackage
+    ({ mkDerivation, base, hmatrix }:
+     mkDerivation {
+       pname = "HaskellLM";
+       version = "0.1.2";
+       sha256 = "0baqn15zdhlinf4v3c244005nb3wm63gpr0w6fy7g9gmn8a00scq";
+       buildDepends = [ base hmatrix ];
+       description = "Pure Haskell implementation of the Levenberg-Marquardt algorithm";
+       license = "GPL";
+     }) {};
+
+  "HaskellNN" = callPackage
+    ({ mkDerivation, base, hmatrix, random }:
+     mkDerivation {
+       pname = "HaskellNN";
+       version = "0.1.3";
+       sha256 = "0i5jqhkxna1kq361hh66830x4z5m782pp898g9ggfvdiwpp8phmr";
+       buildDepends = [ base hmatrix random ];
+       description = "High Performance Neural Network in Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HaskellNet" = callPackage
+    ({ mkDerivation, array, base, base64-string, bytestring, cryptohash
+     , mime-mail, mtl, network, old-time, pretty, text
+     }:
+     mkDerivation {
+       pname = "HaskellNet";
+       version = "0.4.3";
+       sha256 = "1y7i7yi2c025l89hrrj2avzrszgfdjl8a4pii04lnxngq4b3nhmz";
+       buildDepends = [
+         array base base64-string bytestring cryptohash mime-mail mtl
+         network old-time pretty text
+       ];
+       homepage = "https://github.com/jtdaugherty/HaskellNet";
+       description = "Client support for POP3, SMTP, and IMAP";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HaskellNet-SSL" = callPackage
+    ({ mkDerivation, base, bytestring, connection, data-default
+     , HaskellNet, network, tls
+     }:
+     mkDerivation {
+       pname = "HaskellNet-SSL";
+       version = "0.2.5.2";
+       sha256 = "0jhm43zd6jvhbahk4ki29ydg02qnjj4mw823rckqxk6f91q00qlp";
+       buildDepends = [
+         base bytestring connection data-default HaskellNet network tls
+       ];
+       homepage = "https://github.com/dpwright/HaskellNet-SSL";
+       description = "Helpers to connect to SSL/TLS mail servers with HaskellNet";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HaskellTorrent" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cml, containers
+     , directory, hopenssl, hslogger, HTTP, HUnit, mtl, network, parsec
+     , pretty, QuickCheck, random, random-shuffle, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time
+     }:
+     mkDerivation {
+       pname = "HaskellTorrent";
+       version = "0.1.1";
+       sha256 = "0dy9irl085jw7wz6y50566rwsj05ymp8g2xp2444vg12ryd5dra1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal cml containers directory hopenssl hslogger
+         HTTP HUnit mtl network parsec pretty QuickCheck random
+         random-shuffle test-framework test-framework-hunit
+         test-framework-quickcheck2 time
+       ];
+       description = "A concurrent bittorrent client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HaskellTutorials" = callPackage
+    ({ mkDerivation, base, cmdargs, text }:
+     mkDerivation {
+       pname = "HaskellTutorials";
+       version = "0.0.0.1";
+       sha256 = "0gnf8x4dqz3bwyhrcn17qci2rzmms3r0cyr7cgf593jlkxiq287q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cmdargs text ];
+       jailbreak = true;
+       homepage = "https://github.com/mrLSD/HaskellTutorials";
+       description = "Haskell Tutorials by Evgeny Ukhanov";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Haskelloids" = callPackage
+    ({ mkDerivation, base, containers, HGL, hmatrix, MonadRandom
+     , random, Yampa
+     }:
+     mkDerivation {
+       pname = "Haskelloids";
+       version = "0.1.1";
+       sha256 = "0v171rzpbh4w5kxzbc9h2x4kha1ykw4vk69scfpmdz5iqih2bqz8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers HGL hmatrix MonadRandom random Yampa
+       ];
+       jailbreak = true;
+       homepage = "http://www.matthewhayden.co.uk";
+       description = "A reproduction of the Atari 1979 classic \"Asteroids\"";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hawk" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-trie, cgi, containers
+     , convertible, data-default, dataenc, directory, filepath, hack
+     , HDBC, HDBC-sqlite3, hslogger, hslogger-template, HTTP, hxt
+     , json-b, MonadCatchIO-mtl, mtl, network, regex-posix, SHA
+     , template-haskell, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "Hawk";
+       version = "0.0.2";
+       sha256 = "0g7dgj3asxwcjg43nzhjp7agvnzv882xhgbrr7jnpdckywkgacgq";
+       buildDepends = [
+         base bytestring bytestring-trie cgi containers convertible
+         data-default dataenc directory filepath hack HDBC HDBC-sqlite3
+         hslogger hslogger-template HTTP hxt json-b MonadCatchIO-mtl mtl
+         network regex-posix SHA template-haskell time utf8-string
+       ];
+       jailbreak = true;
+       description = "Haskell Web Application Kit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hayoo" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bzlib, containers
+     , deepseq, enummapset, filepath, Holumbus-Searchengine, hxt
+     , hxt-cache, hxt-charproperties, hxt-curl, hxt-http
+     , hxt-regex-xmlschema, hxt-unicode, hxt-xpath, json
+     , MonadCatchIO-transformers, mtl, network, old-time, parsec
+     , process, snap, snap-core, snap-server, tar, text, transformers
+     , xhtml-combinators, zlib
+     }:
+     mkDerivation {
+       pname = "Hayoo";
+       version = "1.2.3";
+       sha256 = "0bpkkdwgwf7xagp4rda1g07mdglzvl4hzq2jif7c3s8j7f6zq48c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring bzlib containers deepseq enummapset filepath
+         Holumbus-Searchengine hxt hxt-cache hxt-charproperties hxt-curl
+         hxt-http hxt-regex-xmlschema hxt-unicode hxt-xpath json
+         MonadCatchIO-transformers mtl network old-time parsec process snap
+         snap-core snap-server tar text transformers xhtml-combinators zlib
+       ];
+       jailbreak = true;
+       homepage = "http://holumbus.fh-wedel.de";
+       description = "The Hayoo! search engine for Haskell API search on hackage";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hclip" = callPackage
+    ({ mkDerivation, base, mtl, process, strict, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "Hclip";
+       version = "3.0.0.3";
+       sha256 = "0h6q44yv4m325gdwpvkxz31syy6qwdsixfanzr3fx1v5nbhm22af";
+       buildDepends = [ base mtl process strict ];
+       testDepends = [ base tasty tasty-hunit ];
+       homepage = "https://github.com/jetho/Hclip";
+       description = "A small cross-platform library for reading and modifying the system clipboard";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Hedi" = callPackage
+    ({ mkDerivation, base, editline, mtl, parsec, pretty, process
+     , QuickCheck, regex-posix
+     }:
+     mkDerivation {
+       pname = "Hedi";
+       version = "0.1.1";
+       sha256 = "0z0sa658fngv68611k76ncf5j59v517xchhw2y84blj97fl6jkn9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base editline mtl parsec pretty process QuickCheck regex-posix
+       ];
+       description = "Line oriented editor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hermes" = callPackage
+    ({ mkDerivation, AES, base, bytestring, cereal, containers
+     , hslogger, monads-tf, network, old-time, random, random-shuffle
+     , RSA, SHA2, stm, syb, time, transformers, unamb, yjtools
+     }:
+     mkDerivation {
+       pname = "Hermes";
+       version = "0.0.4";
+       sha256 = "0j5vg3rvf4hbvg6jan4im7ijqffy6k9dvijfwxjcn164qjzh6xb3";
+       buildDepends = [
+         AES base bytestring cereal containers hslogger monads-tf network
+         old-time random random-shuffle RSA SHA2 stm syb time transformers
+         unamb yjtools
+       ];
+       jailbreak = true;
+       description = "Message-based middleware layer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hieroglyph" = callPackage
+    ({ mkDerivation, array, base, buster, bytestring, cairo, colour
+     , containers, glib, GLUT, gtk, gtkglext, IfElse, mtl, OpenGL
+     , parallel, pretty, random
+     }:
+     mkDerivation {
+       pname = "Hieroglyph";
+       version = "3.89";
+       sha256 = "0dkvvk3qwn72vn4kc0q2iv6raxslrxf0ypr0sn7i0fjds3cjxs6s";
+       buildDepends = [
+         array base buster bytestring cairo colour containers glib GLUT gtk
+         gtkglext IfElse mtl OpenGL parallel pretty random
+       ];
+       jailbreak = true;
+       homepage = "http://vis.renci.org/jeff/hieroglyph";
+       description = "Purely functional 2D graphics for visualization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HiggsSet" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, mtl, text
+     , th-expand-syns, TrieMap, vector
+     }:
+     mkDerivation {
+       pname = "HiggsSet";
+       version = "0.1.1";
+       sha256 = "1k0qlpm4akzx820b0j3g3f562ailxa56sa41268xyq3046xdpyl1";
+       buildDepends = [
+         base bytestring containers deepseq mtl text th-expand-syns TrieMap
+         vector
+       ];
+       homepage = "http://github.com/lpeterse/HiggsSet";
+       description = "A multi-index set with advanced query capabilites";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hipmunk" = callPackage
+    ({ mkDerivation, array, base, containers, StateVar, transformers }:
+     mkDerivation {
+       pname = "Hipmunk";
+       version = "5.2.0.16";
+       sha256 = "0jnidzky0004xh1yzkcg41df21vbvqhk075d183jv6iwjiljsh3s";
+       buildDepends = [ array base containers StateVar transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/meteficha/Hipmunk";
+       description = "A Haskell binding for Chipmunk";
+       license = "unknown";
+     }) {};
+
+  "HipmunkPlayground" = callPackage
+    ({ mkDerivation, base, containers, GLFW, Hipmunk, OpenGL, StateVar
+     , transformers
+     }:
+     mkDerivation {
+       pname = "HipmunkPlayground";
+       version = "5.2.1.1";
+       sha256 = "075am1d0hjbhnibk2x56fbh4ybw5pavfmqk2dz4yjw7yh264vcs7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers GLFW Hipmunk OpenGL StateVar transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/meteficha/HipmunkPlayground";
+       description = "A playground for testing Hipmunk";
+       license = "unknown";
+     }) {};
+
+  "Histogram" = callPackage
+    ({ mkDerivation, base, containers, gnuplot }:
+     mkDerivation {
+       pname = "Histogram";
+       version = "0.1.0.2";
+       sha256 = "00f0a3lbpc7s70lzmnf9a7hjzc3yv8nfxcvz5nparr34x585zbxl";
+       buildDepends = [ base containers gnuplot ];
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Hmpf" = callPackage
+    ({ mkDerivation, base, ConfigFile, Crypto, HTTP, mtl, network, time
+     , unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "Hmpf";
+       version = "0.1";
+       sha256 = "0lw2d9yv3zxqv20v96czx0msahbyk0rc5d68gj567dxnyb377yx7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile Crypto HTTP mtl network time unix utf8-string
+       ];
+       description = "An MPD client designed for a Home Theatre PC";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hoed" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , libgraph, mtl, process, RBTree, regex-posix, template-haskell
+     , threepenny-gui
+     }:
+     mkDerivation {
+       pname = "Hoed";
+       version = "0.2.0";
+       sha256 = "0hjjsrk3rbj2q2n6pylg7xg583ns34iz7mg4mhsfgiadz593b7ph";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath libgraph mtl process
+         RBTree regex-posix template-haskell threepenny-gui
+       ];
+       homepage = "http://maartenfaddegon.nl";
+       description = "Lighweight algorithmic debugging based on observing intermediate values and the cost centre stack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HoleyMonoid" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "HoleyMonoid";
+       version = "0.1.1";
+       sha256 = "1z3d80r6w8n7803q52xlp8mzpk87q1pr3mnz6dswp39q3gygr9fr";
+       buildDepends = [ base ];
+       homepage = "https://github.com/MedeaMelana/HoleyMonoid";
+       description = "Monoids with holes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Holumbus-Distribution" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, haskell98, hslogger, hxt, network, random, readline, stm
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "Holumbus-Distribution";
+       version = "0.1.1";
+       sha256 = "1mhljxyfv02pfy2lyh10nlv5x05qvv37ij9i6c8c17f5b5qcgc78";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers deepseq haskell98 hslogger
+         hxt network random readline stm time unix
+       ];
+       homepage = "http://holumbus.fh-wedel.de";
+       description = "intra- and inter-program communication";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Holumbus-MapReduce" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , directory, extensible-exceptions, haskell98
+     , Holumbus-Distribution, Holumbus-Storage, hslogger, hxt, network
+     , readline, time, unix
+     }:
+     mkDerivation {
+       pname = "Holumbus-MapReduce";
+       version = "0.1.1";
+       sha256 = "0dqwj7xpw1lidv7ixfm1wzfx6psrzl2q08x3scyiskpm3a2l67q8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers deepseq directory
+         extensible-exceptions haskell98 Holumbus-Distribution
+         Holumbus-Storage hslogger hxt network readline time unix
+       ];
+       homepage = "http://holumbus.fh-wedel.de";
+       description = "a distributed MapReduce framework";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Holumbus-Searchengine" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bzlib, containers
+     , deepseq, directory, enummapset, filepath, hslogger, hxt
+     , hxt-cache, hxt-curl, hxt-regex-xmlschema, hxt-unicode, mtl
+     , network, parallel, parsec, process, SHA, unix
+     }:
+     mkDerivation {
+       pname = "Holumbus-Searchengine";
+       version = "1.2.3";
+       sha256 = "1kx0j4f13fj6k3xlhh5cmlb7lz35vyqd0sp913yy8yc2h56ybbqq";
+       buildDepends = [
+         base binary bytestring bzlib containers deepseq directory
+         enummapset filepath hslogger hxt hxt-cache hxt-curl
+         hxt-regex-xmlschema hxt-unicode mtl network parallel parsec process
+         SHA unix
+       ];
+       homepage = "http://holumbus.fh-wedel.de";
+       description = "A search and indexing engine";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Holumbus-Storage" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , haskell98, Holumbus-Distribution, hslogger, hxt, network, random
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "Holumbus-Storage";
+       version = "0.1.0";
+       sha256 = "1zs6m3rsxh3886idcn0qm056bzv9yllgf3n2qsfa97cpbzhah54q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory haskell98
+         Holumbus-Distribution hslogger hxt network random time unix
+       ];
+       homepage = "http://holumbus.fh-wedel.de";
+       description = "a distributed storage system";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Homology" = callPackage
+    ({ mkDerivation, base, containers, vector }:
+     mkDerivation {
+       pname = "Homology";
+       version = "0.1.1";
+       sha256 = "12cqfy2vpshly1rgjclzpnhb094s5wr038ahh5agsx03x6mnsr9n";
+       buildDepends = [ base containers vector ];
+       homepage = "http://www.math.ucla.edu/~damek";
+       description = "Compute the homology of a chain complex";
+       license = "GPL";
+     }) {};
+
+  "HongoDB" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-binary, base, blaze-builder
+     , bytestring, directory, enumerator, hashable, monad-control, mtl
+     , process, random, unix, unix-bytestring, unordered-containers
+     }:
+     mkDerivation {
+       pname = "HongoDB";
+       version = "0.0.1";
+       sha256 = "19dwxv7fjk2k55mxgsc2gjx5jp9vr77yg01292gdj1piwmxx459v";
+       buildDepends = [
+         attoparsec attoparsec-binary base blaze-builder bytestring
+         directory enumerator hashable monad-control mtl unix
+         unix-bytestring unordered-containers
+       ];
+       testDepends = [ base process random ];
+       jailbreak = true;
+       description = "A Simple Key Value Store";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HostAndPort" = callPackage
+    ({ mkDerivation, base, doctest, hspec, parsec }:
+     mkDerivation {
+       pname = "HostAndPort";
+       version = "0.1.0";
+       sha256 = "0rykpzp3vvc81ra917vicwsh8x1mr1ykw9a597ks959nmjy06mz8";
+       buildDepends = [ base parsec ];
+       testDepends = [ base doctest hspec ];
+       homepage = "https://github.com/bacher09/hostandport";
+       description = "Parser host and port pairs like localhost:22";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Hricket" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "Hricket";
+       version = "0.1";
+       sha256 = "0cmmhljlgb23kr6v8as2cma3cpgr6zpkb11qg6hmq1ilbi363282";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       homepage = "http://github.com/Raynes/Hricket";
+       description = "A Cricket scoring application";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hs2lib" = callPackage
+    ({ mkDerivation, array, base, cereal, containers, cpphs, directory
+     , filepath, ghc, ghc-paths, haddock, haskell-src-exts, mtl
+     , old-locale, process, QuickCheck, random, syb, time
+     }:
+     mkDerivation {
+       pname = "Hs2lib";
+       version = "0.6.3";
+       sha256 = "0yjkghshbdbajib35hy3qr8x608i9qi2pgffpi59118krcw6k8mn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base cereal containers directory filepath ghc ghc-paths
+         haddock haskell-src-exts mtl old-locale process QuickCheck random
+         syb time
+       ];
+       testDepends = [ base directory filepath process ];
+       buildTools = [ cpphs ];
+       jailbreak = true;
+       homepage = "http://blog.zhox.com/category/hs2lib/";
+       description = "A Library and Preprocessor that makes it easier to create shared libs from Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HsASA" = callPackage
+    ({ mkDerivation, array, base, random }:
+     mkDerivation {
+       pname = "HsASA";
+       version = "0.2";
+       sha256 = "1kdf2yq3v8lr84h2pf1ydi6vrqfr685vbkxjz4ai5wd2mij8i361";
+       buildDepends = [ array base random ];
+       homepage = "http://repetae.net/recent/out/HsASA.html";
+       description = "A haskell interface to Lester Ingber's adaptive simulating annealing code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HsHaruPDF" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "HsHaruPDF";
+       version = "0.0.0";
+       sha256 = "1yifhxk1m3z2i7gaxgwlmk6cv2spbpx8fny4sn59ybca8wd9z7ps";
+       buildDepends = [ base ];
+       description = "Haskell binding to libharu (http://libharu.sourceforge.net/)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HsHyperEstraier" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bytestring
+     , hyperestraier, network, qdbm, text
+     }:
+     mkDerivation {
+       pname = "HsHyperEstraier";
+       version = "0.4";
+       sha256 = "0q7nngghplw97q5cmayqkkixa5lbprilvkcv0260yaz7wg5xpqk8";
+       buildDepends = [
+         base base-unicode-symbols bytestring network text
+       ];
+       pkgconfigDepends = [ hyperestraier qdbm ];
+       jailbreak = true;
+       homepage = "http://cielonegro.org/HsHyperEstraier.html";
+       description = "HyperEstraier binding for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { hyperestraier = null;  qdbm = null;};
+
+  "HsJudy" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Judy }:
+     mkDerivation {
+       pname = "HsJudy";
+       version = "0.2";
+       sha256 = "1ypdsjy7gn6b3ynn17fcpirgwq3017jahm3pj5fh4qr6zr1cljkh";
+       buildDepends = [ base bytestring containers ];
+       extraLibraries = [ Judy ];
+       homepage = "http://www.pugscode.org/";
+       description = "Judy bindings, and some nice APIs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { Judy = null;};
+
+  "HsOpenSSL" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, integer-gmp, network
+     , old-locale, openssl, test-framework, test-framework-hunit, time
+     }:
+     mkDerivation {
+       pname = "HsOpenSSL";
+       version = "0.11.1.1";
+       sha256 = "1hf4xgc2488hm0y9isrl7mxlacf1iazb6h1l1wz8dab8x5sf0qaa";
+       buildDepends = [
+         base bytestring integer-gmp network old-locale time
+       ];
+       testDepends = [
+         base bytestring HUnit test-framework test-framework-hunit
+       ];
+       extraLibraries = [ openssl ];
+       homepage = "https://github.com/phonohawk/HsOpenSSL";
+       description = "Partial OpenSSL binding for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+     }) { inherit (pkgs) openssl;};
+
+  "HsOpenSSL-x509-system" = callPackage
+    ({ mkDerivation, base, bytestring, HsOpenSSL, unix }:
+     mkDerivation {
+       pname = "HsOpenSSL-x509-system";
+       version = "0.1.0.2";
+       sha256 = "16r82d6mk5l1pb0vvc16d1cn5pi4wg9k83y7vr9gl9ackz345jgc";
+       buildDepends = [ base bytestring HsOpenSSL unix ];
+       homepage = "https://github.com/redneb/HsOpenSSL-x509-system";
+       description = "Use the system's native CA certificate store with HsOpenSSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "HsParrot" = callPackage
+    ({ mkDerivation, base, bytestring, HsSyck, pretty, pugs-DrIFT }:
+     mkDerivation {
+       pname = "HsParrot";
+       version = "0.0.2.20120717";
+       sha256 = "19f95cyxcyhsk2x13l7csahgnn8rs029s3hdlxp5z0d3a9vb41gd";
+       buildDepends = [ base bytestring HsSyck pretty pugs-DrIFT ];
+       description = "Haskell integration with Parrot virtual machine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HsPerl5" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "HsPerl5";
+       version = "0.0.6";
+       sha256 = "0czhibr8lw4mjinwszjp4nh1ifi1xgkynwbjs6l3k97dqfd8bw4v";
+       buildDepends = [ base ];
+       description = "Haskell interface to embedded Perl 5 interpreter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HsSVN" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, stm }:
+     mkDerivation {
+       pname = "HsSVN";
+       version = "0.4.3.3";
+       sha256 = "1yx4dzcjmykk4nzrh888jhikb8x635dpx7g27rgnlaiy5nid3pc7";
+       buildDepends = [ base bytestring mtl stm ];
+       homepage = "https://github.com/phonohawk/HsSVN";
+       description = "Partial Subversion (SVN) binding for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HsSyck" = callPackage
+    ({ mkDerivation, base, bytestring, hashtables, syb, utf8-string }:
+     mkDerivation {
+       pname = "HsSyck";
+       version = "0.53";
+       sha256 = "17r4jwnkjinmzpw9m2crjwccdyv9wmpljnv1ldgljkr9p9mb5ywf";
+       buildDepends = [ base bytestring hashtables syb utf8-string ];
+       description = "Fast, lightweight YAML loader and dumper";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "HsTools" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "HsTools";
+       version = "0.0.1.1";
+       sha256 = "0banfivx4xc0j3c1qmda31gvvrqqsg12fzizcpman2fvdlk7kn5l";
+       buildDepends = [ base ghc-prim ];
+       description = "Haskell helper functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Hsed" = callPackage
+    ({ mkDerivation, array, base, bytestring, cmdargs, data-accessor
+     , data-accessor-template, data-accessor-transformers, directory
+     , filepath, Glob, GotoT-transformers, haskell98, mtl, parsec
+     , regex-base, regex-compat, regex-posix
+     }:
+     mkDerivation {
+       pname = "Hsed";
+       version = "0.2.2";
+       sha256 = "09v2gcazqlmw7j7sqzzzmsz1jr3mrnfy3p30w9hnp2g430w10r2a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cmdargs data-accessor data-accessor-template
+         data-accessor-transformers directory filepath Glob
+         GotoT-transformers haskell98 mtl parsec regex-base regex-compat
+         regex-posix
+       ];
+       homepage = "http://github.com/rukav/Hsed";
+       description = "Stream Editor in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Hsmtlib" = callPackage
+    ({ mkDerivation, base, containers, parsec, pretty, process, smtLib
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Hsmtlib";
+       version = "2.8.8.8";
+       revision = "1";
+       sha256 = "1zb5s5rwcqc90c3zv332k44p7l13ngp9nqci8qalnlbxbypx3hab";
+       editedCabalFile = "01f30561cce8648a656f075ba1e1f8c23144e7f10c6377a7949881dc513f8a89";
+       buildDepends = [
+         base containers parsec pretty process smtLib transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/MfesGA/Hsmtlib";
+       description = "Haskell library for easy interaction with SMT-LIB 2 compliant solvers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "HueAPI" = callPackage
+    ({ mkDerivation, aeson, base, containers, lens, lens-aeson, mtl
+     , transformers, wreq
+     }:
+     mkDerivation {
+       pname = "HueAPI";
+       version = "0.2.3";
+       sha256 = "1c30i551f0lmcpima48dlpmbr4z7dly4d9s4iqn97qq3l9snb1k9";
+       buildDepends = [
+         aeson base containers lens lens-aeson mtl transformers wreq
+       ];
+       homepage = "https://github.com/sjoerdvisscher/HueAPI";
+       description = "API for controlling Philips Hue lights";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Hungarian-Munkres" = callPackage
+    ({ mkDerivation, array, base, Munkres, random, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "Hungarian-Munkres";
+       version = "0.1.5";
+       sha256 = "0g2hgcrsfwqp4w3mzg6vwi7lypgqd0b6axaff81wbi27h9n8q4qd";
+       buildDepends = [ base ];
+       testDepends = [ array base Munkres random tasty tasty-quickcheck ];
+       description = "A Linear Sum Assignment Problem (LSAP) solver";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "IDynamic" = callPackage
+    ({ mkDerivation, base, containers, directory }:
+     mkDerivation {
+       pname = "IDynamic";
+       version = "0.1";
+       sha256 = "1p4h2hxwzp0bxkzh864vkqbwychi0j2c3rqck9vk5kfax5i1jfz8";
+       buildDepends = [ base containers directory ];
+       jailbreak = true;
+       description = "Indexable, serializable form of Data.Dynamic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "IFS" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, random }:
+     mkDerivation {
+       pname = "IFS";
+       version = "0.1.1";
+       sha256 = "1r2dbpsmmsgxb43ycsz54zxcyfwanp72r9ry645mjlshg4q360xr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base bytestring containers random ];
+       homepage = "http://www.alpheccar.org";
+       description = "Iterated Function System generation for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "INblobs" = callPackage
+    ({ mkDerivation, base, containers, directory, haskell98, HaXml
+     , polyparse, pretty, process, wx, wxcore
+     }:
+     mkDerivation {
+       pname = "INblobs";
+       version = "0.1.1";
+       sha256 = "04il63xafq20jn3m4hahn93xxfrp6whrjvsz974zczxqm41ygb10";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory haskell98 HaXml polyparse pretty process
+         wx wxcore
+       ];
+       homepage = "http://haskell.di.uminho.pt/jmvilaca/INblobs/";
+       description = "Editor and interpreter for Interaction Nets";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "IOR" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "IOR";
+       version = "0.1";
+       sha256 = "0iinsva0pwparpg4lkgx8mw8l49rnl1h3zzblp89nkqk5i7qhq8a";
+       buildDepends = [ base mtl ];
+       description = "Region based resource management for the IO monad";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "IORefCAS" = callPackage
+    ({ mkDerivation, base, bits-atomic, ghc-prim, HUnit, QuickCheck
+     , time
+     }:
+     mkDerivation {
+       pname = "IORefCAS";
+       version = "0.2.0.1";
+       sha256 = "06vfck59x30mqa9h2ljd4r2cx1ks91b9gwcr928brp7filsq9fdb";
+       buildDepends = [ base bits-atomic ghc-prim ];
+       testDepends = [ base bits-atomic ghc-prim HUnit QuickCheck time ];
+       homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki";
+       description = "Atomic compare and swap for IORefs and STRefs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "IOSpec" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, Stream }:
+     mkDerivation {
+       pname = "IOSpec";
+       version = "0.2.5";
+       sha256 = "0r6vqg39h6vzwlb33cvk72k4mh6jd8rpdcnkqsfxdqmsk7h8x84j";
+       buildDepends = [ base mtl QuickCheck Stream ];
+       description = "A pure specification of the IO monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "IPv6Addr" = callPackage
+    ({ mkDerivation, attoparsec, base, HUnit, iproute, network
+     , network-info, random, test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "IPv6Addr";
+       version = "0.6.0.1";
+       sha256 = "199pgv4y3932i585ak4sa78zvy1w49699lcs18836brvy10b2ch0";
+       buildDepends = [
+         attoparsec base iproute network network-info random text
+       ];
+       testDepends = [
+         base HUnit test-framework test-framework-hunit text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/MichelBoucey/IPv6Addr";
+       description = "Library to deal with IPv6 address text representations";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "IcoGrid" = callPackage
+    ({ mkDerivation, array, base, GlomeVec }:
+     mkDerivation {
+       pname = "IcoGrid";
+       version = "0.1.2";
+       sha256 = "0ryb2q5xfddcx2qg019jajac7xvaw2ci5wi094gbrqhhflj7wc8n";
+       buildDepends = [ array base GlomeVec ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/IcoGrid";
+       description = "Library for generating grids of hexagons and pentagons mapped to a sphere";
+       license = "GPL";
+     }) {};
+
+  "IfElse" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "IfElse";
+       version = "0.85";
+       sha256 = "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa";
+       buildDepends = [ base mtl ];
+       description = "Anaphoric and miscellaneous useful control-flow";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Imlib" = callPackage
+    ({ mkDerivation, array, base, imlib2, X11 }:
+     mkDerivation {
+       pname = "Imlib";
+       version = "0.1.2";
+       sha256 = "075x1vcrxdwknzbad05l08i5c79svf714yvv6990ffvsfykiilry";
+       buildDepends = [ array base X11 ];
+       extraLibraries = [ imlib2 ];
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) imlib2;};
+
+  "ImperativeHaskell" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "ImperativeHaskell";
+       version = "2.0.0.1";
+       sha256 = "06px87hc6gz7n372lvpbq0g2v2s0aghd3k5a1ajgn5hbxirhnpwb";
+       buildDepends = [ base mtl template-haskell ];
+       homepage = "https://github.com/mmirman/ImperativeHaskell";
+       description = "A library for writing Imperative style haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "IndentParser" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "IndentParser";
+       version = "0.2.1";
+       sha256 = "0l9k8md2n0vhjqlvxcaf43i4cv09lnbbbw8vfz7bkbzhbwirs32j";
+       buildDepends = [ base parsec ];
+       homepage = "http://www.cse.iitk.ac.in/~ppk";
+       description = "Combinators for parsing indentation based syntatic structures";
+       license = "GPL";
+     }) {};
+
+  "IndexedList" = callPackage
+    ({ mkDerivation, base, PeanoWitnesses }:
+     mkDerivation {
+       pname = "IndexedList";
+       version = "0.1.0.1";
+       sha256 = "1i7gv3iqjj4j026k0ywmksbpjyqxlgb0f6bq2v0p9pkrj5q3jxfm";
+       buildDepends = [ base PeanoWitnesses ];
+       homepage = "https://github.com/kwf/IndexedList";
+       description = "Length- and element-indexed lists sitting somewhere between homogeneous and fully heterogeneous";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "InfixApplicative" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "InfixApplicative";
+       version = "1.1";
+       sha256 = "03c0jlnlnqm6faiandfg0kzajffk03aazkrqwav3g4vc3cdqwfgp";
+       buildDepends = [ base haskell98 ];
+       description = "liftA2 for infix operators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Interpolation" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, syb, template-haskell }:
+     mkDerivation {
+       pname = "Interpolation";
+       version = "0.3.0";
+       sha256 = "046bx18mlgicp26391gvgzbi0wfwl9rddam3jdfz4lpxva4q9xhv";
+       buildDepends = [ base haskell-src-meta syb template-haskell ];
+       description = "Multiline strings, interpolation and templating";
+       license = "unknown";
+     }) {};
+
+  "Interpolation-maxs" = callPackage
+    ({ mkDerivation, base, syb, template-haskell }:
+     mkDerivation {
+       pname = "Interpolation-maxs";
+       version = "0.3.0";
+       sha256 = "0dh8d681h47jngan89vxnf8yhm31vjv8ysf21w6gclzfcl521vgn";
+       buildDepends = [ base syb template-haskell ];
+       description = "Multiline strings, interpolation and templating";
+       license = "unknown";
+     }) {};
+
+  "IntervalMap" = callPackage
+    ({ mkDerivation, base, Cabal, containers, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "IntervalMap";
+       version = "0.4.0.1";
+       sha256 = "0cq0dmmawrss4jjkz3br0lhp37d4k7rd3cinbcyf0bf39dfk6mrf";
+       buildDepends = [ base containers deepseq ];
+       testDepends = [ base Cabal containers deepseq QuickCheck ];
+       homepage = "http://www.chr-breitkopf.de/comp/IntervalMap";
+       description = "Maps from Intervals to values, with efficient search";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Irc" = callPackage
+    ({ mkDerivation, base, data-default, doctest, mtl, network
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Irc";
+       version = "0.1.0.2";
+       sha256 = "0qh1j9zy0yfpzdjxn6mypsw555pq2gm5nzys08zj5ilqn5z2r2pi";
+       buildDepends = [ base data-default mtl network transformers ];
+       testDepends = [ base doctest ];
+       jailbreak = true;
+       homepage = "https://github.com/yunxing/Irc";
+       description = "DSL for IRC bots";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "IrrHaskell" = callPackage
+    ({ mkDerivation, base, random, time }:
+     mkDerivation {
+       pname = "IrrHaskell";
+       version = "0.2";
+       sha256 = "1j0m4ib2r84kb7c0s3qpmv3cziq3a2mql4ga9rnqi5pqkqpz2xcc";
+       buildDepends = [ base random time ];
+       description = "Haskell FRP binding to the Irrlicht game engine";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "IsNull" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec, HUnit
+     , QuickCheck, quickcheck-instances, system-filepath, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "IsNull";
+       version = "0.4.0.0";
+       sha256 = "06f03b9my7hix5fvcv9cc0saf9zfwgkvn3210vymlyc1rj450ykm";
+       buildDepends = [ base bytestring containers text ];
+       testDepends = [
+         base bytestring containers hspec HUnit QuickCheck
+         quickcheck-instances system-filepath text unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/jcristovao/IsNull";
+       description = "A typeclass to determine if a given value is null";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JSON-Combinator" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , bytestring-trie, containers, failure, hjson, json, JSONb, parsec
+     , text, vector
+     }:
+     mkDerivation {
+       pname = "JSON-Combinator";
+       version = "0.2.8";
+       sha256 = "0rdiva15wspaz33dh1g7x6llswsx1l4j51wqyvszzcjzifx2ly6q";
+       buildDepends = [
+         aeson attoparsec base bytestring bytestring-trie containers failure
+         hjson json JSONb parsec text vector
+       ];
+       description = "A combinator library on top of a generalised JSON type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "JSON-Combinator-Examples" = callPackage
+    ({ mkDerivation, base, bytestring, json, JSON-Combinator, JSONb }:
+     mkDerivation {
+       pname = "JSON-Combinator-Examples";
+       version = "0.0.1";
+       sha256 = "1s5grfgnklnwh55yn5mlg2ibdm7mx2i7hwqs7649gkapda054ywg";
+       buildDepends = [ base bytestring json JSON-Combinator JSONb ];
+       description = "Example uses of the JSON-Combinator library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "JSONb" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, bytestring-nums
+     , bytestring-trie, containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "JSONb";
+       version = "1.0.8";
+       sha256 = "16gjdlajqvwvq1znyq3vqxfa9vq4xs0ywxpm93v0y1rgmzcfqzj7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring bytestring-nums bytestring-trie
+         containers utf8-string
+       ];
+       homepage = "http://github.com/solidsnack/JSONb/";
+       description = "JSON parser that uses byte strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "JYU-Utils" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, filepath, lazysmallcheck, mtl, mwc-random
+     , parallel, process, QuickCheck, random, stm, template-haskell
+     , unix, zlib
+     }:
+     mkDerivation {
+       pname = "JYU-Utils";
+       version = "0.1.1.2";
+       sha256 = "1c3cxdzbdvmvy1qvy4xvg10zijm8vw48pgh9c8a6mykgncwq6pw9";
+       buildDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         lazysmallcheck mtl mwc-random parallel process QuickCheck random
+         stm template-haskell unix zlib
+       ];
+       jailbreak = true;
+       description = "Some utility functions for JYU projects";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "JackMiniMix" = callPackage
+    ({ mkDerivation, base, hosc }:
+     mkDerivation {
+       pname = "JackMiniMix";
+       version = "0.1";
+       sha256 = "0ivqfk1rac1hv5j6nlsbpcm5yjqwpic34mdq9gf2m63lygqkbwqp";
+       buildDepends = [ base hosc ];
+       homepage = "http://www.renickbell.net/doku.php?id=jackminimix";
+       description = "control JackMiniMix";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Javasf" = callPackage
+    ({ mkDerivation, base, binary, bytestring, language-java-classfile
+     }:
+     mkDerivation {
+       pname = "Javasf";
+       version = "0.0.1";
+       sha256 = "14v0skqf1s54jkscgdcxjh1yv5lcrc5ni44bizx0kw35vf07faah";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring language-java-classfile ];
+       description = "A utility to print the SourceFile attribute of one or more Java class files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Javav" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Javav";
+       version = "0.0.4";
+       sha256 = "06aiiq1bhl8gvhk2agk2rsmqrqf6ac5ym194bm5aq47hmdwi33h9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "A utility to print the target version of Java class files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "JsContracts" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl, parsec
+     , pretty, syb, WebBits, WebBits-Html
+     }:
+     mkDerivation {
+       pname = "JsContracts";
+       version = "0.5.3";
+       sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath mtl parsec pretty syb WebBits
+         WebBits-Html
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.brown.edu/research/plt/";
+       description = "Design-by-contract for JavaScript";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "JsonGrammar" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , hashable, HUnit, language-typescript, mtl, semigroups
+     , stack-prism, template-haskell, test-framework
+     , test-framework-hunit, text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "JsonGrammar";
+       version = "1.0.1";
+       sha256 = "0y29199vjs1rxpsl0af66696y1awfhslqq30x4ps2ajs9zhhfkn2";
+       buildDepends = [
+         aeson attoparsec base bytestring containers hashable
+         language-typescript mtl semigroups stack-prism template-haskell
+         text time unordered-containers vector
+       ];
+       testDepends = [
+         aeson base HUnit language-typescript stack-prism test-framework
+         test-framework-hunit text
+       ];
+       homepage = "https://github.com/MedeaMelana/JsonGrammar2";
+       description = "Combinators for bidirectional JSON parsing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JuicyPixels" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq, mtl
+     , primitive, transformers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "JuicyPixels";
+       version = "3.2.3.1";
+       sha256 = "1lq0v5z0kr2vbhj7xv07vygb6xqvp49sz8m9c20v394d2p5i2ai1";
+       buildDepends = [
+         base binary bytestring containers deepseq mtl primitive
+         transformers vector zlib
+       ];
+       homepage = "https://github.com/Twinside/Juicy.Pixels";
+       description = "Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JuicyPixels-canvas" = callPackage
+    ({ mkDerivation, base, containers, JuicyPixels }:
+     mkDerivation {
+       pname = "JuicyPixels-canvas";
+       version = "0.1.0.0";
+       sha256 = "0y791kwg9gc3nlz5sbpszd7wiqr5b5bwmgvafyjzk9xnlxlc7xcm";
+       buildDepends = [ base containers JuicyPixels ];
+       homepage = "http://eax.me/";
+       description = "Functions for drawing lines, squares and so on pixel by pixel";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JuicyPixels-repa" = callPackage
+    ({ mkDerivation, base, bytestring, JuicyPixels, repa, vector }:
+     mkDerivation {
+       pname = "JuicyPixels-repa";
+       version = "0.7";
+       sha256 = "0fn9i3w8s2ifyg0zsdryyw1nm0c5ybaq0c6jxcggs79x0ngi0mm5";
+       buildDepends = [ base bytestring JuicyPixels repa vector ];
+       description = "Convenience functions to obtain array representations of images";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JuicyPixels-util" = callPackage
+    ({ mkDerivation, base, JuicyPixels, vector }:
+     mkDerivation {
+       pname = "JuicyPixels-util";
+       version = "0.2";
+       sha256 = "1b2rx5g8kd83hl50carr02mz21gvkasnsddw1f3pfvfsyfv3yyrc";
+       buildDepends = [ base JuicyPixels vector ];
+       homepage = "https://github.com/fumieval/JuicyPixels-util";
+       description = "Convert JuicyPixel images into RGBA format, flip, trim and so on";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JunkDB" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, conduit
+     , data-default, directory, filepath, mtl, network, resourcet
+     }:
+     mkDerivation {
+       pname = "JunkDB";
+       version = "0.1.1.0";
+       sha256 = "0g68khpfiwknqwwa7hv7db0563hsnd3hczfd0p4nx777xqrkh2dx";
+       buildDepends = [
+         aeson base binary bytestring conduit data-default directory
+         filepath mtl network resourcet
+       ];
+       jailbreak = true;
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JunkDB-driver-gdbm" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, directory, filepath
+     , JunkDB, mtl, resourcet
+     }:
+     mkDerivation {
+       pname = "JunkDB-driver-gdbm";
+       version = "0.1.1.0";
+       sha256 = "1q8sa4w60pv7mgf17zg8yjpjvbzrg2xlpn30myp66vq2kdv293jj";
+       buildDepends = [
+         base bytestring conduit directory filepath JunkDB mtl resourcet
+       ];
+       jailbreak = true;
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "JunkDB-driver-hashtables" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, hashable, hashtables
+     , JunkDB, mtl, resourcet
+     }:
+     mkDerivation {
+       pname = "JunkDB-driver-hashtables";
+       version = "0.1.1.0";
+       sha256 = "0385f0vpp4dy9r9cqh2rr7gpx07fazzqjk9bwrbs4nka4wfnqbv0";
+       buildDepends = [
+         base bytestring conduit hashable hashtables JunkDB mtl resourcet
+       ];
+       jailbreak = true;
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "JustParse" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "JustParse";
+       version = "2.1";
+       sha256 = "16il25s1fb4b6ih6njsqxx7p7x0fc0kcwa5vqn7n7knqph6vvjaa";
+       buildDepends = [ base ];
+       homepage = "https://github.com/grantslatton/JustParse";
+       description = "A simple and comprehensive Haskell parsing library";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "KMP" = callPackage
+    ({ mkDerivation, array, base, Cabal }:
+     mkDerivation {
+       pname = "KMP";
+       version = "0.1.0.2";
+       sha256 = "14dpqfji00jq2rc09l8d1ivphpiwkryjk5sn6lrwxv8mcly3pvhn";
+       buildDepends = [ array base ];
+       testDepends = [ base Cabal ];
+       homepage = "https://github.com/CindyLinz/Haskell-KMP";
+       description = "Knuth–Morris–Pratt string searching algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Kalman" = callPackage
+    ({ mkDerivation, base, hmatrix }:
+     mkDerivation {
+       pname = "Kalman";
+       version = "0.1.0.1";
+       sha256 = "1mzdaj6h21is3fwnckzq5zcxd4zqahsdppsx65bv5vdplsiadrw5";
+       buildDepends = [ base hmatrix ];
+       homepage = "https://github.com/idontgetoutmuch/Kalman";
+       description = "A slightly extended Kalman filter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "KdTree" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "KdTree";
+       version = "0.2.1";
+       sha256 = "1vj1kbhyqh0xzwyr9v6fdyakx508vbf6n494z81yndisp115qi61";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base QuickCheck ];
+       homepage = "https://github.com/ijt/kdtree";
+       description = "KdTree, for efficient search in K-dimensional point clouds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Ketchup" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, directory
+     , mime-types, network, text
+     }:
+     mkDerivation {
+       pname = "Ketchup";
+       version = "0.4.3";
+       sha256 = "1f5dnxfch3xrhxbgn74adzj7lalx1fpz3cicnhvvxj2aay62a7d1";
+       buildDepends = [
+         base base64-bytestring bytestring directory mime-types network text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Hamcha/Ketchup";
+       description = "A super small web framework for those who don't like big and fancy codebases";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "KiCS" = callPackage
+    ({ mkDerivation, base, containers, curry-base, curry-frontend
+     , directory, filepath, ghc-paths, kics, network, old-time, process
+     , random, readline, syb, unix
+     }:
+     mkDerivation {
+       pname = "KiCS";
+       version = "0.9.3";
+       sha256 = "0z5ps5apr436dbm5wkfnpqksnqi3jsqmp2zkmy37crzzinlilzvn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers curry-base curry-frontend directory filepath
+         ghc-paths network old-time process random readline syb unix
+       ];
+       buildTools = [ kics ];
+       homepage = "http://www.curry-language.org";
+       description = "A compiler from Curry to Haskell";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { kics = null;};
+
+  "KiCS-debugger" = callPackage
+    ({ mkDerivation, base, containers, curry-base, directory, filepath
+     , haskell-src, haskell98, KiCS, KiCS-prophecy, mtl, readline, syb
+     }:
+     mkDerivation {
+       pname = "KiCS-debugger";
+       version = "0.1.1";
+       sha256 = "1hvdqil8lfybcp2j04ig03270q5fy29cbmg8jmv38dpcgjsx6mk1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers curry-base directory filepath haskell-src haskell98
+         KiCS KiCS-prophecy mtl readline syb
+       ];
+       jailbreak = true;
+       homepage = "http://curry-language.org";
+       description = "debug features for kics";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "KiCS-prophecy" = callPackage
+    ({ mkDerivation, base, filepath, KiCS }:
+     mkDerivation {
+       pname = "KiCS-prophecy";
+       version = "0.1.1";
+       sha256 = "0l278x2gavm0ndbm4k0197cwyvamz37vzy7nz35lb7n5sc5b2gsr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base filepath KiCS ];
+       jailbreak = true;
+       homepage = "http://curry-language.org";
+       description = "a transformation used by the kics debugger";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Kleislify" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Kleislify";
+       version = "0.0.4";
+       sha256 = "0f7f6sxb774h9dx6xy6wbcrc5b2i27k9m5ay3hq9hqsjg86qmxyl";
+       buildDepends = [ base ];
+       description = "Variants of Control.Arrow functions, specialised to kleislis.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Konf" = callPackage
+    ({ mkDerivation, base, containers, parsec }:
+     mkDerivation {
+       pname = "Konf";
+       version = "0.1.0.0";
+       sha256 = "113jxbaw8b17j91aakxli3r3zdvnx3gvf2m57sx5d7mfk2qx28r6";
+       buildDepends = [ base containers parsec ];
+       jailbreak = true;
+       homepage = "http://www.gkayaalp.com/p/konf.html";
+       description = "A configuration language and a parser";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "KyotoCabinet" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-exceptions
+     , kyotocabinet
+     }:
+     mkDerivation {
+       pname = "KyotoCabinet";
+       version = "0.1";
+       sha256 = "1l7cpppjfz5nd8k67ss959g8sg5kbsfl4zy80a3yrlwbivyrg58n";
+       buildDepends = [ base bytestring extensible-exceptions ];
+       extraLibraries = [ kyotocabinet ];
+       homepage = "https://code.google.com/p/kyotocabinet-hs/";
+       description = "Kyoto Cabinet DB bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) kyotocabinet;};
+
+  "L-seed" = callPackage
+    ({ mkDerivation, base, cairo, containers, gtk, mtl, old-time
+     , parsec, random
+     }:
+     mkDerivation {
+       pname = "L-seed";
+       version = "0.2";
+       sha256 = "1dj4320fpwmlqv5jzzi7x218mrsacdmmk3czb1szzq44pmfmpy32";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers gtk mtl old-time parsec random
+       ];
+       jailbreak = true;
+       homepage = "http://www.entropia.de/wiki/L-seed";
+       description = "Plant growing programming game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "LDAP" = callPackage
+    ({ mkDerivation, base, lber, openldap }:
+     mkDerivation {
+       pname = "LDAP";
+       version = "0.6.10";
+       sha256 = "10lzag91slnkd1nnh0vs9nxwrsd1k5a05c2bw4fdfzqmyrfqfl20";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       extraLibraries = [ lber openldap ];
+       homepage = "https://github.com/ezyang/ldap-haskell";
+       description = "Haskell binding for C LDAP API";
+       license = stdenv.lib.licenses.bsd3;
+     }) { lber = null;  inherit (pkgs) openldap;};
+
+  "LRU" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck }:
+     mkDerivation {
+       pname = "LRU";
+       version = "0.1.1";
+       sha256 = "0yppxz78y5myh9f53yqz6naqj15vk2h7fl3h8h8dps72zw9c5aqn";
+       buildDepends = [ base containers QuickCheck ];
+       homepage = "http://www.imperialviolet.org/lru";
+       description = "Implements an LRU data structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "LTree" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "LTree";
+       version = "0.1";
+       sha256 = "0liqz3n2ycidwmg8iz7mbm0d087fcfgphvbip8bsn0hpwlf10dvw";
+       buildDepends = [ base transformers ];
+       description = "Tree with only leaves carrying the data";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "LambdaCalculator" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskeline, mtl, parsec
+     , pretty
+     }:
+     mkDerivation {
+       pname = "LambdaCalculator";
+       version = "0.1";
+       sha256 = "0b4na8jsiwjnvyg1pl356ryffk2sj0l5f2dsivn71ii1qqblagcz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring haskeline mtl parsec pretty
+       ];
+       description = "A basic lambda calculator with beta reduction and a REPL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "LambdaHack" = callPackage
+    ({ mkDerivation, array, assert-failure, async, base, binary
+     , bytestring, containers, data-default, deepseq, directory
+     , enummapset-th, filepath, ghc-prim, gtk, hashable, hsini, keys
+     , miniutter, mtl, old-time, pretty-show, random, stm
+     , template-haskell, text, transformers, unordered-containers
+     , vector, vector-binary-instances, zlib
+     }:
+     mkDerivation {
+       pname = "LambdaHack";
+       version = "0.4.101.0";
+       sha256 = "1ilp54w8659rdbspsz4adw697v06498z9akvylfis3c1am2ja39q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array assert-failure async base binary bytestring containers
+         data-default deepseq directory enummapset-th filepath ghc-prim gtk
+         hashable hsini keys miniutter mtl old-time pretty-show random stm
+         template-haskell text transformers unordered-containers vector
+         vector-binary-instances zlib
+       ];
+       testDepends = [
+         array assert-failure async base binary bytestring containers
+         data-default deepseq directory enummapset-th filepath ghc-prim
+         hashable hsini keys miniutter mtl old-time pretty-show random stm
+         template-haskell text transformers unordered-containers vector
+         vector-binary-instances zlib
+       ];
+       homepage = "http://github.com/LambdaHack/LambdaHack";
+       description = "A game engine library for roguelike dungeon crawlers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "LambdaINet" = callPackage
+    ({ mkDerivation, base, containers, GLFW, GLFW-task, monad-task, mtl
+     , OpenGL, transformers, vector
+     }:
+     mkDerivation {
+       pname = "LambdaINet";
+       version = "0.2.0.0";
+       sha256 = "1hdl25dzv19gjr8dzpq1r267v3jj2c2yiskbg0kzdcrh4cj7jcwk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers GLFW GLFW-task monad-task mtl OpenGL transformers
+         vector
+       ];
+       homepage = "not available";
+       description = "Graphical Interaction Net Evaluator for Optimal Evaluation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "LambdaNet" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hmatrix, random
+     , random-shuffle, split
+     }:
+     mkDerivation {
+       pname = "LambdaNet";
+       version = "0.2.0.0";
+       sha256 = "06sg360vbayz1314djlg6z885yrknd7gz15s355kna21xjqydmz4";
+       buildDepends = [
+         base binary bytestring hmatrix random random-shuffle split
+       ];
+       jailbreak = true;
+       description = "A configurable and extensible neural network library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "LambdaPrettyQuote" = callPackage
+    ({ mkDerivation, base, checkers, DebugTraceHelpers, derive, HUnit
+     , lambda-ast, mtl, parsec, QuickCheck, syb, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , th-instances, transformers, tuple, uniplate
+     }:
+     mkDerivation {
+       pname = "LambdaPrettyQuote";
+       version = "0.0.0.8";
+       sha256 = "0rxh9gxsd0qh76nzib9pqgzh10gdc629ypnhbg8fjgdiaza7hyal";
+       buildDepends = [
+         base DebugTraceHelpers HUnit lambda-ast mtl parsec QuickCheck syb
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 transformers tuple uniplate
+       ];
+       testDepends = [
+         base checkers DebugTraceHelpers derive HUnit lambda-ast mtl parsec
+         QuickCheck syb template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 th-instances transformers tuple uniplate
+       ];
+       homepage = "http://github.com/jfischoff/LambdaPrettyQuote";
+       description = "Quasiquoter, and Arbitrary helpers for the lambda calculus";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LambdaShell" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, Shellac
+     , Shellac-compatline
+     }:
+     mkDerivation {
+       pname = "LambdaShell";
+       version = "0.9.3";
+       sha256 = "1nqzlnw3fchgqn9bvlvbjma1m0wwssrip2mwb2kiv4rbhqdbfijv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl parsec Shellac Shellac-compatline
+       ];
+       homepage = "http://rwd.rdockins.name/lambda/home/";
+       description = "Simple shell for evaluating lambda expressions";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LargeCardinalHierarchy" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "LargeCardinalHierarchy";
+       version = "0.0.1";
+       sha256 = "0agq2593h5yb9r3jqnycis9fdizwij3and61ljc4prnhhyxv48g2";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "A transfinite cardinal arithmetic library including all known large cardinals";
+       license = "unknown";
+     }) {};
+
+  "Lastik" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filemanip
+     , filepath, process, pureMD5, SHA, zip-archive
+     }:
+     mkDerivation {
+       pname = "Lastik";
+       version = "0.7.0";
+       sha256 = "1bq8az2lrdqszn1aicvxj0spmwpxphvcvgkl6p0mnz8878hyxsdm";
+       buildDepends = [
+         base bytestring containers directory filemanip filepath process
+         pureMD5 SHA zip-archive
+       ];
+       homepage = "http://code.google.com/p/lastik";
+       description = "A library for compiling programs in a variety of languages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Lattices" = callPackage
+    ({ mkDerivation, array, base, HaskellForMaths, HUnit
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "Lattices";
+       version = "0.0.1";
+       sha256 = "1x1rxl1pc64ifjrlmqqgs0p71bqymc17ls7wlj6skk1sy7kys2f5";
+       buildDepends = [ array base HaskellForMaths ];
+       testDepends = [
+         array base HaskellForMaths HUnit test-framework
+         test-framework-hunit
+       ];
+       description = "A library for lattices";
+       license = "GPL";
+     }) {};
+
+  "LazyVault" = callPackage
+    ({ mkDerivation, base, directory, filepath, unix }:
+     mkDerivation {
+       pname = "LazyVault";
+       version = "0.0.1";
+       sha256 = "1y80bzcjyk5gkzkgyn8h7sf0bg11qn4qr0qgvi640spppxqfqkjq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath unix ];
+       jailbreak = true;
+       homepage = "https://github.com/AtticHacker/lazyvault";
+       description = "A simple sandboxing tool for Haskell packages";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Level0" = callPackage
+    ({ mkDerivation, base, directory, random, SDL, SDL-ttf }:
+     mkDerivation {
+       pname = "Level0";
+       version = "1.0";
+       sha256 = "1kpz8qpm2xj5nm0sav5439flyj3zdx6ha9lgg3c7ky4sjqvwwzxv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory random SDL SDL-ttf ];
+       jailbreak = true;
+       homepage = "http://quasimal.com/projects/level_0.html";
+       description = "A Snake II clone written using SDL";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LibClang" = callPackage
+    ({ mkDerivation, base, greencard, time }:
+     mkDerivation {
+       pname = "LibClang";
+       version = "0.1.0";
+       sha256 = "12bbmgd9xh6l9c9z3r82j2csksbplha1zzzzzb8338kj81wp1pjb";
+       buildDepends = [ base greencard time ];
+       homepage = "https://github.com/chetant/LibClang/issues";
+       description = "Haskell bindings for libclang (a C++ parsing library)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LibZip" = callPackage
+    ({ mkDerivation, base, bindings-libzip, bytestring, directory
+     , filepath, HUnit, mtl, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "LibZip";
+       version = "0.11.1";
+       sha256 = "04nzh9gqji20qhiiyy8i23cb4gy9qbdza5pkwicgghiqbyfrpk6f";
+       buildDepends = [
+         base bindings-libzip bytestring filepath mtl time utf8-string
+       ];
+       testDepends = [
+         base bindings-libzip bytestring directory filepath HUnit mtl time
+         utf8-string
+       ];
+       homepage = "http://bitbucket.org/astanin/hs-libzip/";
+       description = "Bindings to libzip, a library for manipulating zip archives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Limit" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Limit";
+       version = "1.0";
+       sha256 = "1yd8c443ql17daicn3r9jiwxxjlpqnpnvkbxcszjha4i4ar94zq1";
+       buildDepends = [ base ];
+       description = "Wrapper for data that can be unbounded";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "LinearSplit" = callPackage
+    ({ mkDerivation, array, base, cmdargs, haskell98, QuickCheck }:
+     mkDerivation {
+       pname = "LinearSplit";
+       version = "0.2.1";
+       sha256 = "05rdlxsl5zpnczahaw2fdycqyryd3y7bccizjbn5sap23spwd7di";
+       buildDepends = [ array base cmdargs haskell98 QuickCheck ];
+       homepage = "http://github.com/rukav/LinearSplit";
+       description = "Partition the sequence of items to the subsequences in the order given";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LinkChecker" = callPackage
+    ({ mkDerivation, base, containers, haskell98, HTTP, mtl, network
+     , tagsoup
+     }:
+     mkDerivation {
+       pname = "LinkChecker";
+       version = "0.1";
+       sha256 = "00wlyqclmzn03y86ba64pkc85kndnakgj8spv4vm7z0k8dsphnfq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers haskell98 HTTP mtl network tagsoup
+       ];
+       homepage = "http://janzzstimmpfle.de/~jens/software/LinkChecker/";
+       description = "Check a bunch of local html files for broken links";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "List" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "List";
+       version = "0.5.2";
+       sha256 = "1b7ar17d2sq6ibgbiqbsrhk2zlxcxiwfv2xsfbya5hs8nflzkp97";
+       buildDepends = [ base transformers ];
+       homepage = "http://github.com/yairchu/generator/tree";
+       description = "List monad transformer and class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ListLike" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, dlist, fmlist
+     , HUnit, QuickCheck, random, text, vector
+     }:
+     mkDerivation {
+       pname = "ListLike";
+       version = "4.2.0";
+       sha256 = "1ih0kjr3n576l6abasa8pnjajml27rj8h7nx3kqv2fdm7l6lk6zg";
+       buildDepends = [
+         array base bytestring containers dlist fmlist text vector
+       ];
+       testDepends = [
+         array base bytestring containers dlist fmlist HUnit QuickCheck
+         random text vector
+       ];
+       homepage = "http://software.complete.org/listlike";
+       description = "Generic support for list-like structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ListTree" = callPackage
+    ({ mkDerivation, base, directory, filepath, List, transformers }:
+     mkDerivation {
+       pname = "ListTree";
+       version = "0.2.1";
+       sha256 = "1ril13w2n1sgl44qwm1ydg94cvkm2qk55hsfv5bxbb6r99xc645m";
+       buildDepends = [ base directory filepath List transformers ];
+       homepage = "http://github.com/yairchu/generator/tree";
+       description = "Trees and monadic trees expressed as monadic lists where the underlying monad is a list";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ListZipper" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "ListZipper";
+       version = "1.2.0.2";
+       sha256 = "0z3izxpl21fxz43jpx7zqs965anb3gp5vidv3pwwznr88ss2j6a9";
+       buildDepends = [ base QuickCheck ];
+       description = "Simple zipper for lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Logic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Logic";
+       version = "0.1.0.0";
+       sha256 = "0jplyy09i2rr5l8qzkyd41wwi7yj3sxlrz8f36ygdwxnwqfk2w01";
+       buildDepends = [ base ];
+       homepage = "http://gogotanaka.me/";
+       description = "Logic";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "LogicGrowsOnTrees" = callPackage
+    ({ mkDerivation, AbortT-mtl, AbortT-transformers, base, bytestring
+     , cereal, cmdtheline, composition, containers, data-ivar, derive
+     , directory, hslogger, hslogger-template, HUnit, lens
+     , MonadCatchIO-transformers, monoid-statistics, mtl, multiset
+     , old-locale, operational, prefix-units, pretty, PSQueue
+     , QuickCheck, quickcheck-instances, random, sequential-index
+     , smallcheck, split, stm, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-smallcheck, time
+     , transformers, uuid, void, yjtools
+     }:
+     mkDerivation {
+       pname = "LogicGrowsOnTrees";
+       version = "1.1.0.2";
+       sha256 = "1yqnrzcmx8ch9xcpg07if9cs4z1sdpyjfpgzkqkhv9i263pfgxpk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         AbortT-mtl AbortT-transformers base bytestring cereal cmdtheline
+         composition containers data-ivar derive directory hslogger
+         hslogger-template lens MonadCatchIO-transformers monoid-statistics
+         mtl multiset old-locale operational prefix-units pretty PSQueue
+         sequential-index split stm time transformers void yjtools
+       ];
+       testDepends = [
+         base bytestring cereal composition containers data-ivar directory
+         hslogger hslogger-template HUnit lens MonadCatchIO-transformers
+         operational QuickCheck quickcheck-instances random smallcheck stm
+         test-framework test-framework-hunit test-framework-quickcheck2
+         test-framework-smallcheck time transformers uuid void
+       ];
+       jailbreak = true;
+       description = "a parallel implementation of logic programming using distributed tree exploration";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LogicGrowsOnTrees-MPI" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cmdtheline, containers
+     , data-ivar, derive, hslogger, hslogger-template, LogicGrowsOnTrees
+     , MonadCatchIO-transformers, openmpi, stm, transformers
+     }:
+     mkDerivation {
+       pname = "LogicGrowsOnTrees-MPI";
+       version = "1.0.0.1.1";
+       sha256 = "0sqlx06i9f3wxzpk7mivbnn2k4z5n141vbkn1bj886bk5srbrx92";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal cmdtheline containers data-ivar derive
+         hslogger hslogger-template LogicGrowsOnTrees
+         MonadCatchIO-transformers stm transformers
+       ];
+       extraLibraries = [ openmpi ];
+       description = "an adapter for LogicGrowsOnTrees that uses MPI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) openmpi;};
+
+  "LogicGrowsOnTrees-network" = callPackage
+    ({ mkDerivation, base, cereal, cmdtheline, composition, containers
+     , hslogger, hslogger-template, HUnit, lens, LogicGrowsOnTrees
+     , MonadCatchIO-transformers, mtl, network, pretty, random, stm
+     , test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "LogicGrowsOnTrees-network";
+       version = "1.0.0.3";
+       sha256 = "0r66pb35fpmgvkf41kxz289c9ylwv7jdf9bxbsrv7p4ylg83x2dn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cereal cmdtheline composition containers hslogger
+         hslogger-template lens LogicGrowsOnTrees MonadCatchIO-transformers
+         mtl network pretty transformers
+       ];
+       testDepends = [
+         base hslogger hslogger-template HUnit LogicGrowsOnTrees network
+         random stm test-framework test-framework-hunit transformers
+       ];
+       jailbreak = true;
+       description = "an adapter for LogicGrowsOnTrees that uses multiple processes running in a network";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LogicGrowsOnTrees-processes" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cmdtheline, containers
+     , filepath, FindBin, hslogger, hslogger-template, HUnit
+     , LogicGrowsOnTrees, MonadCatchIO-transformers, process, random
+     , test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "LogicGrowsOnTrees-processes";
+       version = "1.0.0.2";
+       sha256 = "0d1kz5d83frn1591vgk33d0rw2s4z98lp993rnvhl3k5zqpr2svn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal cmdtheline containers filepath FindBin
+         hslogger hslogger-template LogicGrowsOnTrees
+         MonadCatchIO-transformers process transformers
+       ];
+       testDepends = [
+         base cereal hslogger hslogger-template HUnit LogicGrowsOnTrees
+         random test-framework test-framework-hunit transformers
+       ];
+       jailbreak = true;
+       description = "an adapter for LogicGrowsOnTrees that uses multiple processes for parallelism";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "LslPlus" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, haskell98, HaXml, mtl, network, old-time, parsec
+     , pureMD5, random, syb, template-haskell, utf8-string
+     }:
+     mkDerivation {
+       pname = "LslPlus";
+       version = "0.4.3";
+       sha256 = "0dwsx23fibgj36181rfwfj1kl6sgdkf8bk4dd9cwia0rbjrl4qyk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory filepath haskell98 HaXml
+         mtl network old-time parsec pureMD5 random syb template-haskell
+         utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http:/lslplus.sourceforge.net/";
+       description = "An execution and testing framework for the Linden Scripting Language (LSL)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Lucu" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, base64-bytestring
+     , bytestring, containers, directory, filepath, haskell-src
+     , HsOpenSSL, hxt, mtl, network, stm, time, time-http, unix, zlib
+     }:
+     mkDerivation {
+       pname = "Lucu";
+       version = "0.7.0.3";
+       sha256 = "09vhz5gc9nmlwlxn6vk5whq6lpqbidqifx4i4lvp4n21gib64v9b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols base64-bytestring bytestring containers
+         directory filepath haskell-src HsOpenSSL hxt mtl network stm time
+         time-http unix zlib
+       ];
+       jailbreak = true;
+       homepage = "http://cielonegro.org/Lucu.html";
+       description = "HTTP Daemonic Library";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MC-Fold-DP" = callPackage
+    ({ mkDerivation, base, Biobase, cmdargs, PrimitiveArray, split
+     , tuple, vector
+     }:
+     mkDerivation {
+       pname = "MC-Fold-DP";
+       version = "0.1.1.0";
+       sha256 = "0h76xsh4p4zbxnbk7hszwm1gj44p6349d4bkbixn7fyiyp4f0pvh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Biobase cmdargs PrimitiveArray split tuple vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/software/mcfolddp/";
+       description = "Folding algorithm based on nucleotide cyclic motifs";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MFlow" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , case-insensitive, clientsession, conduit, conduit-extra
+     , containers, cpphs, directory, extensible-exceptions, http-types
+     , monadloc, mtl, old-time, parsec, pwstore-fast, random
+     , RefSerialize, resourcet, stm, TCache, text, time, transformers
+     , utf8-string, vector, wai, wai-extra, warp, warp-tls, Workflow
+     }:
+     mkDerivation {
+       pname = "MFlow";
+       version = "0.4.5.9";
+       sha256 = "0mqsyx7wkfgvpppqgpjpvzwx79vj7lh4c8afzzj1hgh8z0ilb4ik";
+       buildDepends = [
+         base blaze-html blaze-markup bytestring case-insensitive
+         clientsession conduit conduit-extra containers directory
+         extensible-exceptions http-types monadloc mtl old-time parsec
+         pwstore-fast random RefSerialize resourcet stm TCache text time
+         transformers utf8-string vector wai wai-extra warp warp-tls
+         Workflow
+       ];
+       buildTools = [ cpphs ];
+       description = "stateful, RESTful web framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MHask" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "MHask";
+       version = "0.3.0.0";
+       sha256 = "0nlj914ahipyfqv1l7qr66pa0a8g4g6ks6mipc38z5f1jy0kjrva";
+       buildDepends = [ base transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/DanBurton/MHask#readme";
+       description = "The category of monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MSQueue" = callPackage
+    ({ mkDerivation, base, ghc-prim, monad-loops, ref-mtl, stm }:
+     mkDerivation {
+       pname = "MSQueue";
+       version = "0.0.1";
+       sha256 = "04yvf4a07cy47qzl9p8x45qbk2i6yapfps7hx85p589338s8b72y";
+       buildDepends = [ base ghc-prim monad-loops ref-mtl stm ];
+       homepage = "https://github.com/Julek";
+       description = "Michael-Scott queue";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MagicHaskeller" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , ghc, ghc-paths, haskell-src, html, mtl, network, old-time, pretty
+     , random, syb, template-haskell
+     }:
+     mkDerivation {
+       pname = "MagicHaskeller";
+       version = "0.9.1";
+       sha256 = "1rr1gp808qwi0i84l6hmm03b8khnawz8qq606p5a351pd0mbxkak";
+       buildDepends = [
+         array base bytestring containers directory ghc ghc-paths
+         haskell-src html mtl network old-time pretty random syb
+         template-haskell
+       ];
+       homepage = "http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.html";
+       description = "Automatic inductive functional programmer by systematic search";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MaybeT" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "MaybeT";
+       version = "0.1.2";
+       sha256 = "0cmnfs22ldai0z172rdsvryzsh33a70yax21v03nhr92a4b62plr";
+       buildDepends = [ base mtl ];
+       description = "MaybeT monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MaybeT-monads-tf" = callPackage
+    ({ mkDerivation, base, monads-tf, transformers }:
+     mkDerivation {
+       pname = "MaybeT-monads-tf";
+       version = "0.2.0.1";
+       sha256 = "034v9n6ldjn1hsv4rphvysbykm8x0jqa2prbw7k28fkp6m30j74x";
+       buildDepends = [ base monads-tf transformers ];
+       jailbreak = true;
+       description = "MaybeT monad transformer compatible with monads-tf (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MaybeT-transformers" = callPackage
+    ({ mkDerivation, base, monads-fd, transformers }:
+     mkDerivation {
+       pname = "MaybeT-transformers";
+       version = "0.2";
+       sha256 = "189w8dpxyq7gksca6k08hb4vpanpz06c99akgzpcpjy0i7k22ily";
+       buildDepends = [ base monads-fd transformers ];
+       jailbreak = true;
+       description = "MaybeT monad transformer using transformers instead of mtl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MazesOfMonad" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , HUnit, mtl, old-locale, pretty, random, regex-posix, time
+     }:
+     mkDerivation {
+       pname = "MazesOfMonad";
+       version = "1.0.9";
+       sha256 = "041kqz5j8xaa2ciyrfnwz6p9gcx4il5s6f34kzv9kp0s07hmn1q2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath HUnit mtl old-locale
+         pretty random regex-posix time
+       ];
+       description = "Console-based Role Playing Game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MeanShift" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "MeanShift";
+       version = "0.1";
+       sha256 = "0rnbg7w3qc3xsbzpw5is7w7qdjl2kqbr1acc744aggwlibazl59w";
+       buildDepends = [ base vector ];
+       jailbreak = true;
+       description = "Mean shift algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Measure" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Measure";
+       version = "0.0.2";
+       sha256 = "1vy8ykjy9cpv661byqv21775zbyciqx2hf77c1nl58nn34x0s2ds";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "A library for units of measurement";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MemoTrie" = callPackage
+    ({ mkDerivation, base, void }:
+     mkDerivation {
+       pname = "MemoTrie";
+       version = "0.6.2";
+       sha256 = "1g4b82s30bqkfids3iywf873nyn8h7l8rp8l3xl58smj5lbi3p4x";
+       buildDepends = [ base void ];
+       homepage = "http://haskell.org/haskellwiki/MemoTrie";
+       description = "Trie-based memo functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MetaHDBC" = callPackage
+    ({ mkDerivation, base, convertible, hashtables, HDBC, HDBC-odbc
+     , mtl, template-haskell
+     }:
+     mkDerivation {
+       pname = "MetaHDBC";
+       version = "0.1.4";
+       sha256 = "0l47v2cpbngxrq1r6p95rfcs16jqwr8l1sy4bcg9liazz50i8lyr";
+       buildDepends = [
+         base convertible hashtables HDBC HDBC-odbc mtl template-haskell
+       ];
+       jailbreak = true;
+       description = "Statically checked database access";
+       license = "LGPL";
+     }) {};
+
+  "MetaObject" = callPackage
+    ({ mkDerivation, base, containers, stringtable-atom }:
+     mkDerivation {
+       pname = "MetaObject";
+       version = "0.0.6.20110925";
+       sha256 = "0cgn13rpbqkywpiki6fcl76iwmc74d0f9ixki6dg7lrg49lhb67r";
+       buildDepends = [ base containers stringtable-atom ];
+       description = "A meta-object system for Haskell based on Perl 6";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Metrics" = callPackage
+    ({ mkDerivation, base, hstats }:
+     mkDerivation {
+       pname = "Metrics";
+       version = "0.1.2";
+       sha256 = "1ks5h3vlla2d86wvf2a4z1qifsinya2skq8ygdk45ynnwk735y4x";
+       buildDepends = [ base hstats ];
+       homepage = "http://github.com/benhamner/Metrics/";
+       description = "Evaluation metrics commonly used in supervised machine learning";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Mhailist" = callPackage
+    ({ mkDerivation, base, binary, bytestring, directory, filepath
+     , haskell98, mtl, old-locale, process, time
+     }:
+     mkDerivation {
+       pname = "Mhailist";
+       version = "0.0";
+       sha256 = "1vxsaw2kfrx6g5y57lchcs1xwj0jnanw9svg59mjnasw53z674ck";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring directory filepath haskell98 mtl old-locale
+         process time
+       ];
+       jailbreak = true;
+       description = "Haskell mailing list manager";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MiniAgda" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy
+     , haskell-src-exts, mtl, pretty
+     }:
+     mkDerivation {
+       pname = "MiniAgda";
+       version = "0.2014.9.12";
+       sha256 = "14h7ksd95wiixfmvrkxw3l13qdxhrhgkhmz00mcw04bdyzfmgr0n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers haskell-src-exts mtl pretty
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "http://www.tcs.ifi.lmu.de/~abel/miniagda/";
+       description = "A toy dependently typed programming language with type-based termination";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MissingH" = callPackage
+    ({ mkDerivation, array, base, containers, directory
+     , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network
+     , old-locale, old-time, parsec, process, QuickCheck, random
+     , regex-compat, testpack, time, unix
+     }:
+     mkDerivation {
+       pname = "MissingH";
+       version = "1.3.0.1";
+       sha256 = "1cwdhgqqv2riqwhsgyrpmqyzvg19lx6zp1g7xdp4rikh7rkn03ds";
+       buildDepends = [
+         array base containers directory filepath hslogger HUnit mtl network
+         old-locale old-time parsec process random regex-compat time unix
+       ];
+       testDepends = [
+         array base containers directory errorcall-eq-instance filepath
+         hslogger HUnit mtl network old-locale old-time parsec process
+         QuickCheck random regex-compat testpack time unix
+       ];
+       homepage = "http://software.complete.org/missingh";
+       description = "Large utility library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MissingM" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "MissingM";
+       version = "0.0.4";
+       sha256 = "19kijf02jq8w3n2fvisb8xrws524sa690lbp9di6499xakkzyqxs";
+       buildDepends = [ base ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 transformers
+       ];
+       description = "findM and other missing 'M's";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MissingPy" = callPackage
+    ({ mkDerivation, anydbm, base, MissingH }:
+     mkDerivation {
+       pname = "MissingPy";
+       version = "0.10.6";
+       sha256 = "0390ap25qj6a37jllsih39q5apgvwdjdw5m7jgfrllkp5bng6yj6";
+       buildDepends = [ anydbm base MissingH ];
+       homepage = "http://github.com/softmechanics/missingpy";
+       description = "Haskell interface to Python";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Modulo" = callPackage
+    ({ mkDerivation, base, numeric-prelude }:
+     mkDerivation {
+       pname = "Modulo";
+       version = "0.2.0.1";
+       sha256 = "1n90lfrvfr1ni7ninlxbs4wk0m7mibdpi9sy26ifih51nmk8nziq";
+       buildDepends = [ base numeric-prelude ];
+       description = "Modular arithmetic via Numeric-Prelude";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "Moe" = callPackage
+    ({ mkDerivation, base, GLUT, random }:
+     mkDerivation {
+       pname = "Moe";
+       version = "0.1";
+       sha256 = "1nk767nywssg5p50wd6czcbhi61v5gcncyy3d59a90slzic8n5b3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base GLUT random ];
+       description = "A FRP library based on signal functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MoeDict" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "MoeDict";
+       version = "0.0.2";
+       sha256 = "06dhk0n1v1axj0qbx29n2g9p0nw24ix5ij2vq5nfs7jbrb9m7r0n";
+       buildDepends = [
+         aeson base bytestring containers text unordered-containers
+       ];
+       homepage = "https://github.com/audreyt/MoeDict.hs";
+       description = "Utilities working with MoeDict.tw JSON dataset";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "MonadCatchIO-mtl" = callPackage
+    ({ mkDerivation, base, extensible-exceptions
+     , MonadCatchIO-transformers
+     }:
+     mkDerivation {
+       pname = "MonadCatchIO-mtl";
+       version = "0.3.1.0";
+       sha256 = "0qarf73c8zq8dgvxdiwqybpjfy8gba9vf4k0skiwyk5iphilxhhq";
+       buildDepends = [
+         base extensible-exceptions MonadCatchIO-transformers
+       ];
+       jailbreak = true;
+       homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl";
+       description = "Monad-transformer version of the Control.Exception module";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MonadCatchIO-mtl-foreign" = callPackage
+    ({ mkDerivation, base, MonadCatchIO-mtl, mtl, primitive }:
+     mkDerivation {
+       pname = "MonadCatchIO-mtl-foreign";
+       version = "0.1";
+       sha256 = "0jfq5v1jigxl9mnnvpqph9ayq840s9nyb5srym04mbicri4gbjan";
+       buildDepends = [ base MonadCatchIO-mtl mtl primitive ];
+       jailbreak = true;
+       description = "Polymorphic combinators for working with foreign functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MonadCatchIO-transformers" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, monads-tf
+     , transformers
+     }:
+     mkDerivation {
+       pname = "MonadCatchIO-transformers";
+       version = "0.3.1.3";
+       sha256 = "1g840h7whsvgyrh4v58mdmsb7hinq785irbz6x9y08r1q8r9r90h";
+       buildDepends = [
+         base extensible-exceptions monads-tf transformers
+       ];
+       description = "Monad-transformer compatible version of the Control.Exception module";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MonadCatchIO-transformers-foreign" = callPackage
+    ({ mkDerivation, base, MonadCatchIO-transformers, primitive
+     , transformers
+     }:
+     mkDerivation {
+       pname = "MonadCatchIO-transformers-foreign";
+       version = "0.1";
+       sha256 = "070ifw78z2si3l1hqqvx236spdf61p3bf1qspd54fzq2dm89i1yw";
+       buildDepends = [
+         base MonadCatchIO-transformers primitive transformers
+       ];
+       jailbreak = true;
+       description = "Polymorphic combinators for working with foreign functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MonadCompose" = callPackage
+    ({ mkDerivation, base, data-default, ghc-prim, MaybeT, mmorph
+     , monad-products, mtl, random, transformers
+     }:
+     mkDerivation {
+       pname = "MonadCompose";
+       version = "0.8.2.0";
+       sha256 = "1nzb4x8az1m4d5i75cshgjfr4xnkfi3s27rq6jkib9i67my0hsrq";
+       buildDepends = [
+         base data-default ghc-prim MaybeT mmorph monad-products mtl random
+         transformers
+       ];
+       homepage = "http://alkalisoftware.net";
+       description = "Methods for composing monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MonadLab" = callPackage
+    ({ mkDerivation, base, haskell98, parsec, process, template-haskell
+     }:
+     mkDerivation {
+       pname = "MonadLab";
+       version = "0.0.2";
+       sha256 = "1p8xhxxjhwr93as98pvp1z25ypgj7arka8bw75r0q46948h7nxf7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base haskell98 parsec process template-haskell ];
+       homepage = "http://monadgarden.cs.missouri.edu/MonadLab";
+       description = "Automatically generate layered monads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MonadPrompt" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "MonadPrompt";
+       version = "1.0.0.5";
+       sha256 = "1nmy7dfzrkd8yfv5i9vlmjq9khnyi76ayvkzgcf783v5hfzcn4mh";
+       buildDepends = [ base mtl ];
+       description = "MonadPrompt, implementation & examples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MonadRandom" = callPackage
+    ({ mkDerivation, base, mtl, random, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "MonadRandom";
+       version = "0.3.0.2";
+       sha256 = "18gajibgypy8hl0slh3lyjjwqqkayxrk7vwwk26nfdkq9yixxbvi";
+       buildDepends = [
+         base mtl random transformers transformers-compat
+       ];
+       description = "Random-number generation monad";
+       license = "unknown";
+     }) {};
+
+  "MonadRandomLazy" = callPackage
+    ({ mkDerivation, base, MonadRandom, mtl, random }:
+     mkDerivation {
+       pname = "MonadRandomLazy";
+       version = "0.1";
+       sha256 = "1nsnv47mwka4bsmv7hvsx96s6w6qrzvfsn47fvcfy4fi88b56p2j";
+       buildDepends = [ base MonadRandom mtl random ];
+       description = "Lazy monad for psuedo random-number generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Monadius" = callPackage
+    ({ mkDerivation, array, base, directory, GLUT, OpenGL }:
+     mkDerivation {
+       pname = "Monadius";
+       version = "0.99";
+       sha256 = "0jq59nnnydllqpvg3h2d1ylz3g58hwi0m08lmw2bv0ajzgn5mc8x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base directory GLUT OpenGL ];
+       homepage = "http://www.geocities.jp/takascience/haskell/monadius_en.html";
+       description = "2-D arcade scroller";
+       license = "GPL";
+     }) {};
+
+  "Monaris" = callPackage
+    ({ mkDerivation, array, base, containers, directory, free
+     , free-game, mtl
+     }:
+     mkDerivation {
+       pname = "Monaris";
+       version = "0.1.8";
+       sha256 = "0myghw0w122n1czpaaqmpiyv0nragjkwnja8kb4agrwhcjfk3icb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory free free-game mtl
+       ];
+       homepage = "https://github.com/fumieval/Monaris/";
+       description = "A simple tetris clone";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Monatron" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Monatron";
+       version = "0.3.1";
+       sha256 = "0250xqc5fgl8mg9yb0ykbfmxnyxacqbvi692irgfw89gf9vkh886";
+       buildDepends = [ base ];
+       description = "Monad transformer library with uniform liftings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Monatron-IO" = callPackage
+    ({ mkDerivation, base, Monatron, transformers }:
+     mkDerivation {
+       pname = "Monatron-IO";
+       version = "1.0";
+       sha256 = "0svdyfzv4xlwjnc61wwik8a60a5667lhsys49sgry65a1v2csnv0";
+       buildDepends = [ base Monatron transformers ];
+       homepage = "https://github.com/kreuzschlitzschraubenzieher/Monatron-IO";
+       description = "MonadIO instances for the Monatron transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Monocle" = callPackage
+    ({ mkDerivation, base, containers, haskell98, mtl }:
+     mkDerivation {
+       pname = "Monocle";
+       version = "0.0.4";
+       sha256 = "1p8s2agsni56h7vlydbhy7qhi0qkwafpcrsfafrlg44gvpwff15y";
+       buildDepends = [ base containers haskell98 mtl ];
+       description = "Symbolic computations in strict monoidal categories with LaTeX output";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "MorseCode" = callPackage
+    ({ mkDerivation, base, containers, split }:
+     mkDerivation {
+       pname = "MorseCode";
+       version = "0.0.5";
+       sha256 = "1dglyak17db7q9nd6s255w2zh8lh192vidyjvgvh53vbybymb20z";
+       buildDepends = [ base containers split ];
+       description = "Morse code";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "MuCheck" = callPackage
+    ({ mkDerivation, base, directory, hashable, haskell-src-exts, hint
+     , hspec, mtl, random, syb, temporary, time
+     }:
+     mkDerivation {
+       pname = "MuCheck";
+       version = "0.3.0.4";
+       sha256 = "183p3fmzz5d67g8wmzgv8c8yyhs0cp7x3xig4cm9s98nhrsm1j0r";
+       buildDepends = [
+         base directory hashable haskell-src-exts hint mtl random syb
+         temporary time
+       ];
+       testDepends = [
+         base directory hashable haskell-src-exts hint hspec mtl random syb
+         temporary time
+       ];
+       homepage = "https://bitbucket.com/osu-testing/mucheck";
+       description = "Automated Mutation Testing";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "MuCheck-HUnit" = callPackage
+    ({ mkDerivation, base, HUnit, MuCheck }:
+     mkDerivation {
+       pname = "MuCheck-HUnit";
+       version = "0.3.0.4";
+       sha256 = "05x5sfwlzzis29sps93ypsn53y2vs4cjmxifjqn7wd5lmhaxjbhj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base HUnit MuCheck ];
+       homepage = "https://bitbucket.com/osu-testing/mucheck-hunit";
+       description = "Automated Mutation Testing for HUnit tests";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "MuCheck-Hspec" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, MuCheck }:
+     mkDerivation {
+       pname = "MuCheck-Hspec";
+       version = "0.3.0.4";
+       sha256 = "0c8sd6ns8hnhc7577j0y7iqyhf7ld51zmrr3jgpckgpcghycw5mw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base hspec hspec-core MuCheck ];
+       homepage = "https://bitbucket.com/osu-testing/mucheck-hspec";
+       description = "Automated Mutation Testing for Hspec tests";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "MuCheck-QuickCheck" = callPackage
+    ({ mkDerivation, base, MuCheck, QuickCheck }:
+     mkDerivation {
+       pname = "MuCheck-QuickCheck";
+       version = "0.3.0.4";
+       sha256 = "1q242vw70jccfj19jn6wx1fm74mshd60lay9ql4379mgcl2lf6qk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base MuCheck QuickCheck ];
+       homepage = "https://bitbucket.com/osu-testing/mucheck-quickcheck";
+       description = "Automated Mutation Testing for QuickCheck tests";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "MuCheck-SmallCheck" = callPackage
+    ({ mkDerivation, base, MuCheck, smallcheck }:
+     mkDerivation {
+       pname = "MuCheck-SmallCheck";
+       version = "0.3.0.4";
+       sha256 = "19brgllnbsbbg57jgwgd745iial53ykn7c329x9lq6gd82siavii";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base MuCheck smallcheck ];
+       homepage = "https://bitbucket.com/osu-testing/mucheck-smallcheck";
+       description = "Automated Mutation Testing for SmallCheck tests";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "Munkres" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "Munkres";
+       version = "0.1";
+       sha256 = "169mgcyls0dsifnbp615r4i3g64ga2vbczsiv4aq17d1nma8sw19";
+       buildDepends = [ array base ];
+       description = "Munkres' assignment algorithm (hungarian method)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Munkres-simple" = callPackage
+    ({ mkDerivation, array, base, bimap, containers, Munkres }:
+     mkDerivation {
+       pname = "Munkres-simple";
+       version = "0.1.0.1";
+       sha256 = "0k5v37qrhb8i5hfx9jvkggjmry2jrzw967s17l2x561qmm59c2rb";
+       buildDepends = [ array base bimap containers Munkres ];
+       jailbreak = true;
+       description = "Simple and typesafe layer over the Munkres package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "MusicBrainz" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, conduit-extra
+     , HTTP, http-conduit, http-types, monad-control, old-locale
+     , resourcet, text, time, transformers, vector, xml-conduit
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "MusicBrainz";
+       version = "0.2.3";
+       sha256 = "0xwyrjxrff38ijyppfbxsr2nbhg6zd7k0i2avch10dn15xfxapk8";
+       buildDepends = [
+         aeson base bytestring conduit conduit-extra HTTP http-conduit
+         http-types monad-control old-locale resourcet text time
+         transformers vector xml-conduit xml-types
+       ];
+       homepage = "http://floss.scru.org/hMusicBrainz";
+       description = "interface to MusicBrainz XML2 web service";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "MusicBrainz-libdiscid" = callPackage
+    ({ mkDerivation, base, containers, vector }:
+     mkDerivation {
+       pname = "MusicBrainz-libdiscid";
+       version = "0.5.0.0";
+       sha256 = "15fwpbh8yxv41k73j9q4v5d5c5rh3q2xfp7pc7b5mc3rxipw4pa5";
+       buildDepends = [ base containers vector ];
+       homepage = "https://github.com/atwupack/MusicBrainz-libdiscid";
+       description = "Binding to libdiscid by MusicBrainz";
+       license = "LGPL";
+     }) {};
+
+  "NGrams" = callPackage
+    ({ mkDerivation, base, HCL, HTTP, network, regex-compat }:
+     mkDerivation {
+       pname = "NGrams";
+       version = "1.1";
+       sha256 = "1niwh0ndkzgd38phx5527i14nb9swvybdjwjwbndkpb21x5j82nc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HCL HTTP network regex-compat ];
+       description = "Simple application for calculating n-grams using Google";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "NTRU" = callPackage
+    ({ mkDerivation, arithmoi, base, bytestring, containers, crypto-api
+     , polynomial, random, SHA, split
+     }:
+     mkDerivation {
+       pname = "NTRU";
+       version = "1.0.0.0";
+       sha256 = "0n96hxzv5b1zs0xkq5ksh0hp075ca46l8xd7cs2hdnmkmi6rwvha";
+       buildDepends = [
+         arithmoi base bytestring containers crypto-api polynomial random
+         SHA split
+       ];
+       jailbreak = true;
+       description = "NTRU Cryptography";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NXT" = callPackage
+    ({ mkDerivation, base, bluetooth, bytestring, filepath, HUnit, mtl
+     , QuickCheck, serialport, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, unix
+     }:
+     mkDerivation {
+       pname = "NXT";
+       version = "0.2.3";
+       sha256 = "1ka1k9dww84rxx8c45dab6f92cb8mx3fy3sskw07p3f4ahv9whi3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring filepath mtl serialport time unix
+       ];
+       testDepends = [
+         base bytestring filepath HUnit mtl QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 time
+       ];
+       extraLibraries = [ bluetooth ];
+       homepage = "http://mitar.tnode.com";
+       description = "A Haskell interface to Lego Mindstorms NXT";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { bluetooth = null;};
+
+  "NXTDSL" = callPackage
+    ({ mkDerivation, attoparsec, base, hashable, mtl, resourcet, stm
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "NXTDSL";
+       version = "0.4";
+       sha256 = "117ngz15j5chnyrhj1da3r4z11vqx5g70wan7zblwr3s6n006485";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base hashable mtl resourcet stm text
+         unordered-containers
+       ];
+       homepage = "https://github.com/agrafix/legoDSL";
+       description = "Generate NXC Code from DSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "NanoProlog" = callPackage
+    ({ mkDerivation, base, containers, ListLike, uu-parsinglib }:
+     mkDerivation {
+       pname = "NanoProlog";
+       version = "0.3";
+       sha256 = "0wjjwzzc78sj7nsaq1hgxiwv0pc069mxns425lhmrlxcm0vf8fmn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ListLike uu-parsinglib ];
+       jailbreak = true;
+       description = "Very small interpreter for a Prolog-like language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NaturalLanguageAlphabets" = callPackage
+    ({ mkDerivation, base, bytestring, hashable, intern
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "NaturalLanguageAlphabets";
+       version = "0.0.0.1";
+       sha256 = "0zwp7hqgvkrz1d3wcsp79v29b1c6cyby8jzvndnsb3gxp7x7gpws";
+       buildDepends = [
+         base bytestring hashable intern unordered-containers
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Alphabet and word representations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NaturalSort" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, strict }:
+     mkDerivation {
+       pname = "NaturalSort";
+       version = "0.2.1";
+       sha256 = "1xjhmjxp7w0nxvphnfh2phfpg4aqhjyg2f8q99qqavf8cq2k3za9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring QuickCheck strict ];
+       homepage = "http://github.com/joachifm/natsort";
+       description = "Natural sorting for strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NestedFunctor" = callPackage
+    ({ mkDerivation, base, comonad, distributive }:
+     mkDerivation {
+       pname = "NestedFunctor";
+       version = "0.2.0.2";
+       sha256 = "1kmv20haxkqn1cwy9g59nmjpn5x1rng2rrd8y3gwxfdwn8blc735";
+       buildDepends = [ base comonad distributive ];
+       homepage = "https://github.com/kwf/NestedFunctor";
+       description = "Nested composition of functors with a type index tracking nesting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NestedSampling" = callPackage
+    ({ mkDerivation, base, random, vector }:
+     mkDerivation {
+       pname = "NestedSampling";
+       version = "0.1.4";
+       sha256 = "1sdlnjnlbk5b04zyhr7574g2ghcivzvkxnm2aak4h9bik00gb1lv";
+       buildDepends = [ base random vector ];
+       homepage = "https://github.com/ijt/haskell_nested_sampling";
+       description = "A port of John Skilling's nested sampling C code to Haskell";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "NetSNMP" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, net_snmp, process
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "NetSNMP";
+       version = "0.3.1.0";
+       sha256 = "17lmxwcc3z69dgxipi776m2wpwa1lz84w9v2wirw08wb9fba2gdr";
+       buildDepends = [ base bytestring utf8-string ];
+       testDepends = [ base bytestring HUnit process utf8-string ];
+       extraLibraries = [ net_snmp ];
+       jailbreak = true;
+       homepage = "https://github.com/ptek/netsnmp";
+       description = "Bindings for net-snmp's C API for clients";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) net_snmp;};
+
+  "Network-NineP" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, convertible
+     , monad-loops, mstate, mtl, network, NineP, regex-posix, stateref
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Network-NineP";
+       version = "0.2.0";
+       sha256 = "0pa0j9ljq32dikffwi3n1cifilb2586z3q004rqa0sq82zyah949";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers convertible monad-loops mstate
+         mtl network NineP regex-posix stateref transformers
+       ];
+       jailbreak = true;
+       description = "High-level abstraction over 9P protocol";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "NewBinary" = callPackage
+    ({ mkDerivation, array, base, integer }:
+     mkDerivation {
+       pname = "NewBinary";
+       version = "0.2.1";
+       sha256 = "0cp71hkx8cccx7jxf5qw1bxdylcc56v68mvjp0dn9hkh1idxplzq";
+       buildDepends = [ array base integer ];
+       jailbreak = true;
+       description = "A binary I/O library";
+       license = "unknown";
+       broken = true;
+     }) { integer = null;};
+
+  "NineP" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "NineP";
+       version = "0.0.2.1";
+       sha256 = "1k6qdp4zmqjl2f6cqy1zzzl6ncb2m9r0qgh4c24i2h5kkxmm3cab";
+       buildDepends = [ base binary bytestring ];
+       homepage = "http://9ph.googlecode.com";
+       description = "9P2000 in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Ninjas" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, filepath
+     , gloss, network, networked-game, random
+     }:
+     mkDerivation {
+       pname = "Ninjas";
+       version = "0.1.0.0";
+       sha256 = "0wz80cv7m7m4q6y6rd07y422b97hyhnb9yl6bj68pi1nxmjzcjhm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers filepath gloss network
+         networked-game random
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/glguy/ninjas";
+       description = "Ninja game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "NoSlow" = callPackage
+    ({ mkDerivation, array, base, containers, criterion, dph-base
+     , dph-prim-seq, statistics, storablevector, template-haskell
+     , uvector, vector
+     }:
+     mkDerivation {
+       pname = "NoSlow";
+       version = "0.2";
+       sha256 = "1pr1v8xxnhd7yxbhjqhlkwlsfzbk425bmxn99d80w8p4biag104x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers criterion dph-base dph-prim-seq statistics
+         storablevector template-haskell uvector vector
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/NoSlow";
+       description = "Microbenchmarks for various array libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "NoTrace" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "NoTrace";
+       version = "0.2.0.1";
+       sha256 = "053w0j90sf16by9pqllgjxy6r57vzlq33fgwz4ywjn6bypw6009d";
+       buildDepends = [ base ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/CindyLinz/Haskell-NoTrace";
+       description = "Remove all the functions come from Debug.Trace after debugging";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Noise" = callPackage
+    ({ mkDerivation, array, base, data-default, vector }:
+     mkDerivation {
+       pname = "Noise";
+       version = "1.0.6";
+       sha256 = "0sjyq8nilqhmlhbagi1ms2zh7fyhzci9w5hj3dyxpd2ccq1bbvyq";
+       buildDepends = [ array base data-default vector ];
+       description = "A Haskell coherent noise generator based on libnoise";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Nomyx" = callPackage
+    ({ mkDerivation, base, directory, exceptions, filepath, hint-server
+     , mtl, network, Nomyx-Core, Nomyx-Language, Nomyx-Web, safe, stm
+     , time
+     }:
+     mkDerivation {
+       pname = "Nomyx";
+       version = "0.7.6";
+       sha256 = "1zbrirplcgff9z75lmamh0i5749m22kvnwcr3s51wajnvh982qi3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory exceptions filepath hint-server mtl network
+         Nomyx-Core Nomyx-Language Nomyx-Web safe stm time
+       ];
+       jailbreak = true;
+       homepage = "http://www.nomyx.net";
+       description = "A Nomic game in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Nomyx-Core" = callPackage
+    ({ mkDerivation, acid-state, aeson, base, blaze-html, blaze-markup
+     , bytestring, data-lens, data-lens-fd, data-lens-template
+     , DebugTraceHelpers, deepseq, directory, either-unwrap, exceptions
+     , filepath, happstack-authenticate, hint, hint-server, hscolour
+     , ixset, mime-mail, MissingH, mtl, network, Nomyx-Language
+     , old-locale, random, safe, safecopy, stm, tar, template-haskell
+     , temporary, text, time, unix
+     }:
+     mkDerivation {
+       pname = "Nomyx-Core";
+       version = "0.7.6";
+       sha256 = "16s60gap32kjs62zxjddppxyg9jhamzgm4d41mfg3vviadlacdrq";
+       buildDepends = [
+         acid-state aeson base blaze-html blaze-markup bytestring data-lens
+         data-lens-fd data-lens-template DebugTraceHelpers deepseq directory
+         either-unwrap exceptions filepath happstack-authenticate hint
+         hint-server hscolour ixset mime-mail MissingH mtl network
+         Nomyx-Language old-locale random safe safecopy stm tar
+         template-haskell temporary text time unix
+       ];
+       jailbreak = true;
+       homepage = "http://www.nomyx.net";
+       description = "A Nomic game in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Nomyx-Language" = callPackage
+    ({ mkDerivation, base, Boolean, containers, data-lens, data-lens-fd
+     , data-lens-template, DebugTraceHelpers, ghc, mtl, old-locale
+     , random, safe, time, time-recurrence
+     }:
+     mkDerivation {
+       pname = "Nomyx-Language";
+       version = "0.7.6";
+       sha256 = "0na9nm6qnayip2lx3nd3if4c1iyp7zs89jp2dgb7zkmbiwvax3l9";
+       buildDepends = [
+         base Boolean containers data-lens data-lens-fd data-lens-template
+         DebugTraceHelpers ghc mtl old-locale random safe time
+         time-recurrence
+       ];
+       jailbreak = true;
+       homepage = "http://www.nomyx.net";
+       description = "Language to express rules for Nomic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Nomyx-Rules" = callPackage
+    ({ mkDerivation, base, containers, ghc, hint-server, hslogger, mtl
+     , old-locale, safe, stm, time, time-recurrence
+     }:
+     mkDerivation {
+       pname = "Nomyx-Rules";
+       version = "0.1.0";
+       sha256 = "16kzpdvn57sdmpqkwswgixm6pnyi01vj44yvzczn9sy4azwd10q5";
+       buildDepends = [
+         base containers ghc hint-server hslogger mtl old-locale safe stm
+         time time-recurrence
+       ];
+       description = "Language to express rules for Nomic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Nomyx-Web" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , data-lens, data-lens-fd, fb, filepath, happstack-authenticate
+     , happstack-server, hscolour, mtl, Nomyx-Core, Nomyx-Language
+     , old-locale, reform, reform-blaze, reform-happstack, safe, split
+     , stm, text, time, web-routes, web-routes-happstack
+     , web-routes-regular, web-routes-th
+     }:
+     mkDerivation {
+       pname = "Nomyx-Web";
+       version = "0.7.6";
+       sha256 = "193v967bzhs0linqvh93w7viwdrlmsbdpnr8asigqhp5905zdjb7";
+       buildDepends = [
+         base blaze-html blaze-markup bytestring data-lens data-lens-fd fb
+         filepath happstack-authenticate happstack-server hscolour mtl
+         Nomyx-Core Nomyx-Language old-locale reform reform-blaze
+         reform-happstack safe split stm text time web-routes
+         web-routes-happstack web-routes-regular web-routes-th
+       ];
+       jailbreak = true;
+       homepage = "http://www.nomyx.net";
+       description = "Web gui for Nomyx";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NonEmpty" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "NonEmpty";
+       version = "0.1";
+       sha256 = "0nycv791c6b5bcaz5y9wm3wxn1p930p163qs1rpdiix04fnaxgxl";
+       buildDepends = [ base ];
+       description = "Library providing a non-empty list datatype, and total functions operating on it";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NonEmptyList" = callPackage
+    ({ mkDerivation, base, category-extras, QuickCheck, Semigroup
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "NonEmptyList";
+       version = "0.0.9";
+       sha256 = "09515y7ax4vndsj1828b6xxnnkml4vg9x29rn3lrw3rc65fi11x2";
+       buildDepends = [
+         base category-extras QuickCheck Semigroup test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://code.google.com/p/nonempty/";
+       description = "A list with a length of at least one";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "NumInstances" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "NumInstances";
+       version = "1.4";
+       sha256 = "0ycnwn09izajv330l7a31mc0alifqmxjsn9qmfswwnbg6i4jmnyb";
+       buildDepends = [ base ];
+       homepage = "https://github.com/conal/NumInstances";
+       description = "Instances of numeric classes for functions and tuples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NumLazyByteString" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "NumLazyByteString";
+       version = "0.0.0.1";
+       sha256 = "17ca34hxaz9xk3ykkzp14n7wb31aiza12859k3rmvwhnq4j89jqs";
+       buildDepends = [ base binary bytestring ];
+       description = "Num, Enum, Eq, Integral, Ord, Real, and Show instances for Lazy ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "NumberSieves" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "NumberSieves";
+       version = "0.1.2";
+       sha256 = "1w8y46ivli37rlhkdrnw13qv6f0m13a88w0qkfw949b09vdp2nw2";
+       buildDepends = [ array base ];
+       homepage = "http://patch-tag.com/r/lpsmith/NumberSieves";
+       description = "Number Theoretic Sieves: primes, factorization, and Euler's Totient";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Numbers" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "Numbers";
+       version = "0.2.1";
+       sha256 = "1z1v396lar6b0lyis3k5gn5kn17ndggm8j7qxnhirlpgm831fgg7";
+       buildDepends = [ base random ];
+       homepage = "http://page.mi.fu-berlin.de/aneumann/numbers/index.html";
+       description = "An assortment of number theoretic functions";
+       license = "LGPL";
+     }) {};
+
+  "Nussinov78" = callPackage
+    ({ mkDerivation, ADPfusion, base, ghc-prim, mtl, primitive
+     , PrimitiveArray, vector
+     }:
+     mkDerivation {
+       pname = "Nussinov78";
+       version = "0.1.0.0";
+       sha256 = "1j9qmin7fqwfy69f7wi1is1nawhh46phda6na20am7r8cjzdnjsh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ADPfusion base ghc-prim mtl primitive PrimitiveArray vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/~choener/adpfusion";
+       description = "Nussinov78 using the ADPfusion library";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Nutri" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Nutri";
+       version = "0.1";
+       sha256 = "1m7qx5zydz5jpk6a55k7rzchlwmkd91gsiqmn26qqn50ab3di35j";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/frosch03/Nutri";
+       description = "A little library to calculate nutrition values of food items";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "OGL" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "OGL";
+       version = "0.0.3";
+       sha256 = "1w8lpi2r315b4ry234gi4rq09j92zvhr9ibxwsig6544cbb5g8qm";
+       buildDepends = [ base mtl ];
+       homepage = "http://haskell.org/haskellwiki/OGL";
+       description = "A context aware binding for the OpenGL graphics system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "OSM" = callPackage
+    ({ mkDerivation, base, comonad-transformers, containers, data-lens
+     , hxt, newtype
+     }:
+     mkDerivation {
+       pname = "OSM";
+       version = "0.6.4";
+       sha256 = "1m606r0lc0hsniqn7krm2hpvhj7y6sq4qbjjj4g8n4hap6v4syr9";
+       buildDepends = [
+         base comonad-transformers containers data-lens hxt newtype
+       ];
+       homepage = "https://github.com/tonymorris/geo-osm";
+       description = "Parse OpenStreetMap files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "OTP" = callPackage
+    ({ mkDerivation, base, Crypto, time }:
+     mkDerivation {
+       pname = "OTP";
+       version = "0.0.0.1";
+       sha256 = "0vcxyfk1vx30cfngq5cv3lc34x0sxsirykhbi4ygw5pvd9ylzadb";
+       buildDepends = [ base Crypto time ];
+       testDepends = [ base Crypto time ];
+       homepage = "https://github.com/matshch/OTP";
+       description = "HMAC-Based and Time-Based One-Time Passwords";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Object" = callPackage
+    ({ mkDerivation, base, containers, ghc, template-haskell }:
+     mkDerivation {
+       pname = "Object";
+       version = "1.0";
+       sha256 = "05lrqq4008vnfs2x8kxlyrgdvxmzk04rqvn0w65b691bp3vwnbf9";
+       buildDepends = [ base containers ghc template-haskell ];
+       homepage = "https://github.com/yokto/object";
+       description = "Object oriented programming for haskell using multiparameter typeclasses";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "ObjectIO" = callPackage
+    ({ mkDerivation, comctl32, comdlg32, gdi32, kernel32, ole32
+     , shell32, user32, winmm, winspool
+     }:
+     mkDerivation {
+       pname = "ObjectIO";
+       version = "1.0.1.1";
+       sha256 = "1f8ac7dk1ls6xla3w0wy2qr164kv67k5ilj7niakfr9x74mpp6jy";
+       extraLibraries = [
+         comctl32 comdlg32 gdi32 kernel32 ole32 shell32 user32 winmm
+         winspool
+       ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { comctl32 = null;  comdlg32 = null;  gdi32 = null;
+          kernel32 = null;  ole32 = null;  shell32 = null;  user32 = null;
+          winmm = null;  winspool = null;};
+
+  "ObjectName" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "ObjectName";
+       version = "1.1.0.0";
+       sha256 = "0kh5fb9ykag6rfsm3f0bx3w323s18w2cyry34w5xgli5ncqimadg";
+       buildDepends = [ base transformers ];
+       homepage = "https://github.com/svenpanne/ObjectName";
+       description = "Explicitly handled object names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Obsidian" = callPackage
+    ({ mkDerivation, base, containers, cuda, language-c-quote
+     , mainland-pretty, mtl, mwc-random, process, rdtsc, text
+     , value-supply, vector
+     }:
+     mkDerivation {
+       pname = "Obsidian";
+       version = "0.1.0.0";
+       sha256 = "14dbaj54i4li4hbc2bhl19ma9vgs97mfz8xfwvlndldb2kac4x01";
+       buildDepends = [
+         base containers cuda language-c-quote mainland-pretty mtl
+         mwc-random process rdtsc text value-supply vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/svenssonjoel/Obsidian";
+       description = "Embedded language for GPU Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Octree" = callPackage
+    ({ mkDerivation, AC-Vector, base, markdown-unlit, QuickCheck }:
+     mkDerivation {
+       pname = "Octree";
+       version = "0.5.4.2";
+       sha256 = "0q07jylv5ggvnp32h3b63pk1rcvvxh7bzi3dyx4ga2s0zwfaq1q2";
+       buildDepends = [ AC-Vector base QuickCheck ];
+       testDepends = [ AC-Vector base markdown-unlit 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 {
+       pname = "OddWord";
+       version = "1.0.0.2";
+       sha256 = "1c4xbfkikyn1jh3qz0ycxzmx0zqfg5gliafb764942dvd851hljv";
+       buildDepends = [ base ];
+       testDepends = [ base QuickCheck ];
+       jailbreak = true;
+       homepage = "http://www.gekkou.co.uk/";
+       description = "Provides a wrapper for deriving word types with fewer bits";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Omega" = callPackage
+    ({ mkDerivation, base, containers, hsc2hs, HUnit }:
+     mkDerivation {
+       pname = "Omega";
+       version = "1.0.3";
+       sha256 = "05dax2r7rrdbsvxszxn13xcf24zq87xq8scxzvl2ccr2y29n0f5j";
+       buildDepends = [ base containers ];
+       testDepends = [ base containers hsc2hs HUnit ];
+       description = "Integer sets and relations using Presburger arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "OneTuple" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "OneTuple";
+       version = "0.2.1";
+       sha256 = "1x52b68zh3k9lnps5s87kzan7dzvqp6mrwgayjq15w9dv6v78vsb";
+       buildDepends = [ base ];
+       description = "Singleton Tuple";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "OpenAFP" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, hashable, hashtables, mtl, process, regex-compat
+     }:
+     mkDerivation {
+       pname = "OpenAFP";
+       version = "1.4.2";
+       sha256 = "0x8yrxyfwgzgp7158nrk4y3wzpfm9bnww0nfbbi9hajiqfd8ymc0";
+       buildDepends = [
+         array base binary bytestring containers directory hashable
+         hashtables mtl process regex-compat
+       ];
+       homepage = "https://github.com/audreyt/openafp/";
+       description = "IBM AFP document format parser and generator";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "OpenAFP-Utils" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, hashable, line2pdf, OpenAFP, regex-base, regex-posix
+     , text, text-locale-encoding, xhtml
+     }:
+     mkDerivation {
+       pname = "OpenAFP-Utils";
+       version = "1.4.1.3";
+       sha256 = "160qlcjh0pgslql9f4zv2asw8kb9kl7wd6dk5958dv0n9p96pay0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory filepath hashable
+         line2pdf OpenAFP regex-base regex-posix text text-locale-encoding
+         xhtml
+       ];
+       description = "Assorted utilities to work with AFP data streams";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "OpenAL" = callPackage
+    ({ mkDerivation, base, ObjectName, openal, OpenGL, StateVar
+     , transformers
+     }:
+     mkDerivation {
+       pname = "OpenAL";
+       version = "1.7.0.0";
+       sha256 = "111r78zx39nyfnpq2pmy440bi4ymr6i2difwfaislvmjq43plhjw";
+       buildDepends = [ base ObjectName OpenGL StateVar transformers ];
+       extraLibraries = [ openal ];
+       homepage = "https://github.com/haskell-openal/ALUT";
+       description = "A binding to the OpenAL cross-platform 3D audio API";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) openal;};
+
+  "OpenCL" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, mtl, OpenCL, QuickCheck }:
+     mkDerivation {
+       pname = "OpenCL";
+       version = "1.0.3.4";
+       sha256 = "04cqddhn4b5m0rj2f6i3gr62yhlfgffmkplb4599sd3qbgx0g27x";
+       buildDepends = [ base bytestring mtl ];
+       testDepends = [ base QuickCheck ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ OpenCL ];
+       jailbreak = true;
+       homepage = "https://github.com/IFCA/opencl";
+       description = "Haskell high-level wrapper for OpenCL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { OpenCL = null;};
+
+  "OpenCLRaw" = callPackage
+    ({ mkDerivation, base, bytestring, mtl }:
+     mkDerivation {
+       pname = "OpenCLRaw";
+       version = "1.0.1001";
+       sha256 = "1a9nlrmxp3jwc3hbj79xm35aypfby04qy01fk4vyrp19diiinl07";
+       buildDepends = [ base bytestring mtl ];
+       jailbreak = true;
+       homepage = "http://vis.renci.org/jeff/opencl";
+       description = "The OpenCL Standard for heterogenous data-parallel computing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "OpenCLWrappers" = callPackage
+    ({ mkDerivation, base, bytestring, mtl }:
+     mkDerivation {
+       pname = "OpenCLWrappers";
+       version = "0.1.0.3";
+       sha256 = "0xlm26jksp4jf1dhkpg4708r1ak5mjdc5x5fjp4fhizmzlk3348s";
+       buildDepends = [ base bytestring mtl ];
+       homepage = "https://github.com/jkarlson/OpenCLWrappers";
+       description = "The OpenCL Standard for heterogenous data-parallel computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "OpenGL" = callPackage
+    ({ mkDerivation, base, bytestring, GLURaw, libX11, mesa, ObjectName
+     , OpenGLRaw, StateVar, text, transformers
+     }:
+     mkDerivation {
+       pname = "OpenGL";
+       version = "2.12.0.0";
+       sha256 = "0f5s6b1mv3hm6xnansv0jsxahn8acc8nmr9754fx5b44bn1s6iqy";
+       buildDepends = [
+         base bytestring GLURaw ObjectName OpenGLRaw StateVar text
+         transformers
+       ];
+       extraLibraries = [ libX11 mesa ];
+       homepage = "http://www.haskell.org/haskellwiki/Opengl";
+       description = "A binding for the OpenGL graphics system";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs) mesa;};
+
+  "OpenGLCheck" = callPackage
+    ({ mkDerivation, base, checkers, haskell98, OpenGL, QuickCheck }:
+     mkDerivation {
+       pname = "OpenGLCheck";
+       version = "1.0";
+       sha256 = "0zjgwd9h6jncvp7x4nn049878jagcajsc63ch5i1ynndnrr1cfar";
+       buildDepends = [ base checkers haskell98 OpenGL QuickCheck ];
+       description = "Quickcheck instances for various data structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "OpenGLRaw" = callPackage
+    ({ mkDerivation, base, mesa, transformers }:
+     mkDerivation {
+       pname = "OpenGLRaw";
+       version = "2.4.1.0";
+       sha256 = "0xikg3jvmh1q514r2vnabw6d481h4qj93zpkp157wd155c7b0vjl";
+       buildDepends = [ base transformers ];
+       extraLibraries = [ mesa ];
+       homepage = "http://www.haskell.org/haskellwiki/Opengl";
+       description = "A raw binding for the OpenGL graphics system";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) mesa;};
+
+  "OpenGLRaw21" = callPackage
+    ({ mkDerivation, OpenGLRaw }:
+     mkDerivation {
+       pname = "OpenGLRaw21";
+       version = "2.0.0.2";
+       sha256 = "1kfgwwjnwl5dzwf8bpxcs4q241zap29pjhh4ih5k2cdrnbbn1bz1";
+       buildDepends = [ OpenGLRaw ];
+       description = "The intersection of OpenGL 2.1 and OpenGL 3.1 Core";
+       license = "unknown";
+     }) {};
+
+  "OpenSCAD" = callPackage
+    ({ mkDerivation, base, Cabal, colour, filepath, HUnit
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "OpenSCAD";
+       version = "0.2.1.0";
+       sha256 = "0b451v2sa9gaslhg03y6nyvjwbhwlg2qxwahcj6qpyx4qlmiywnh";
+       buildDepends = [ base colour filepath ];
+       testDepends = [
+         base Cabal colour filepath HUnit test-framework
+         test-framework-hunit
+       ];
+       homepage = "https://chiselapp.com/user/mwm/repository/OpenSCAD/";
+       description = "ADT wrapper and renderer for OpenSCAD models";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "OpenVG" = callPackage
+    ({ mkDerivation, base, GLUT, OpenGL, OpenGLRaw, OpenVGRaw }:
+     mkDerivation {
+       pname = "OpenVG";
+       version = "0.7.0";
+       sha256 = "0ad96lbwcwl7vvk5vx1mmb0wj28c541jwd9nsm7l5na9qdxfhzvj";
+       buildDepends = [ base GLUT OpenGL OpenGLRaw OpenVGRaw ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "OpenVG (ShivaVG-0.2.1) binding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "OpenVGRaw" = callPackage
+    ({ mkDerivation, base, OpenGLRaw }:
+     mkDerivation {
+       pname = "OpenVGRaw";
+       version = "0.4.0";
+       sha256 = "1fdg5b8f2x36x6gmdkazkmhqgknagd0kzr70hydygsmqbf2im5x2";
+       buildDepends = [ base OpenGLRaw ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Raw binding to OpenVG (ShivaVG-0.2.1 implementation).";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Operads" = callPackage
+    ({ mkDerivation, array, base, containers, mtl }:
+     mkDerivation {
+       pname = "Operads";
+       version = "1.0";
+       sha256 = "1b880lrzdxww3j19zspnj49ifsn89n0ac1h5xf7nn83847k8q2qk";
+       buildDepends = [ array base containers mtl ];
+       jailbreak = true;
+       homepage = "http://math.stanford.edu/~mik/operads";
+       description = "Groebner basis computation for Operads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "OptDir" = callPackage
+    ({ mkDerivation, base, hashable, syb }:
+     mkDerivation {
+       pname = "OptDir";
+       version = "0.0.3";
+       sha256 = "1bb5s57d3wyr9rd275jl0sk85yisl1dpbz042yg7pksv5l0xal0q";
+       buildDepends = [ base hashable syb ];
+       description = "The OptDir type for representing optimization directions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "OrPatterns" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts
+     , haskell-src-meta, mtl, split, syb, template-haskell
+     }:
+     mkDerivation {
+       pname = "OrPatterns";
+       version = "0.1";
+       sha256 = "0fkg2bnk7gh8lzf8i0bffj6qbbpq15sf8yw88rqpzghsz7xrr111";
+       buildDepends = [
+         base containers haskell-src-exts haskell-src-meta mtl split syb
+         template-haskell
+       ];
+       jailbreak = true;
+       description = "A quasiquoter for or-patterns";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Ordinals" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Ordinals";
+       version = "0.0.0.2";
+       sha256 = "04xk74rl2d6vp1kn197hsbkkwdvwvqpjqg3kgkpkl2i0r90y8lsi";
+       buildDepends = [ base ];
+       homepage = "http://patch-tag.com/r/kyagrd/Ordinals/";
+       description = "Ordinal arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PArrows" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, mtl }:
+     mkDerivation {
+       pname = "PArrows";
+       version = "0.1.1";
+       sha256 = "08mkq72zv9ywp002vwjk7gl6pq6915zdd06sp4ap935aqdjrhn0p";
+       buildDepends = [ base containers ghc-prim mtl ];
+       homepage = "http://www.cs.helsinki.fi/u/ekarttun/PArrows/";
+       description = "Arrow parser combinators similar to Parsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PBKDF2" = callPackage
+    ({ mkDerivation, base, binary, bytestring, Crypto, random }:
+     mkDerivation {
+       pname = "PBKDF2";
+       version = "0.3.1.5";
+       revision = "1";
+       sha256 = "0ljacj31pmcwk4lk24p37761sb60ncwjnjbqhnfrgdjqnyj2bd62";
+       editedCabalFile = "6e8829aa00d16484705a23417f548b237aa1bd152c864a7cfa6948996584db3e";
+       buildDepends = [ base binary bytestring Crypto random ];
+       description = "Make password-based security schemes more secure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PCLT" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, utf8-string }:
+     mkDerivation {
+       pname = "PCLT";
+       version = "0.1";
+       sha256 = "0k5abpdz066dsszkj39fd03slb279ddj4i8clnq4gafpa90xbg9q";
+       buildDepends = [ base bytestring containers mtl utf8-string ];
+       homepage = "http://github.com/Andrey-Sisoyev/PCLT";
+       description = "Extension to Show: templating, catalogizing, languages, parameters, etc";
+       license = "LGPL";
+     }) {};
+
+  "PCLT-DB" = callPackage
+    ({ mkDerivation, base, bytestring, containers, convertible, HDBC
+     , HDBC-postgresql, mtl, PCLT
+     }:
+     mkDerivation {
+       pname = "PCLT-DB";
+       version = "0.1.1";
+       sha256 = "0nb5mijpkbllrs9034d3a24drd95lvrhlx60ahcd73kmagh9rfqf";
+       buildDepends = [
+         base bytestring containers convertible HDBC HDBC-postgresql mtl
+         PCLT
+       ];
+       homepage = "http://github.com/Andrey-Sisoyev/PCLT-DB";
+       description = "An addon to PCLT package: enchance PCLT catalog with PostgreSQL powers";
+       license = "LGPL";
+     }) {};
+
+  "PDBtools" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "PDBtools";
+       version = "0.0.3";
+       sha256 = "1i5hixmywy63pnh15zl7npfiwc7dvlnz6izjxg08cnvn8jyi026q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers ];
+       homepage = "http://www.github.com/rotskoff";
+       description = "A library for analysis of 3-D protein coordinates";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "PSQueue" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "PSQueue";
+       version = "1.1";
+       sha256 = "1k291bh8j5vpcrn6vycww2blwg7jxx9yrfmrqdanz48gs4d8gq58";
+       buildDepends = [ base ];
+       description = "Priority Search Queue";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PTQ" = callPackage
+    ({ mkDerivation, base, containers, mtl, network, network-uri, xml
+     }:
+     mkDerivation {
+       pname = "PTQ";
+       version = "0.0.7";
+       sha256 = "0pfd5y8plxicdchkbij0nqj6zwxw3fcy5cz1ji5bky9g3bmz9mhm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers mtl network network-uri xml ];
+       homepage = "http://msakai.jp/hiki/?hsPTQ";
+       description = "An implementation of Montague's PTQ";
+       license = "LGPL";
+     }) {};
+
+  "PageIO" = callPackage
+    ({ mkDerivation, array, attoparsec, base, base64-string, bytestring
+     , containers, directory, iconv, network, old-time, regex-base
+     , regex-compat, regex-tdfa, sqlite, stringtable-atom, utf8-string
+     , uuid
+     }:
+     mkDerivation {
+       pname = "PageIO";
+       version = "0.0.3";
+       sha256 = "0pnnhwmlhjvpb3g94p2asbhy9arvlvcbch11m0hmy7w9m3zj9wjk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array attoparsec base base64-string bytestring containers directory
+         iconv network old-time regex-base regex-compat regex-tdfa sqlite
+         stringtable-atom utf8-string uuid
+       ];
+       description = "Page-oriented extraction and composition library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Paillier" = callPackage
+    ({ mkDerivation, base, crypto-numbers, crypto-random, HUnit
+     , QuickCheck, test-framework, test-framework-quickcheck2
+     , test-framework-th
+     }:
+     mkDerivation {
+       pname = "Paillier";
+       version = "0.1.0.3";
+       sha256 = "0jcb72shia5p0lpnr3qz57jlzjvnwh4642zwys5d3rg0rwnxigz2";
+       buildDepends = [ base crypto-numbers crypto-random ];
+       testDepends = [
+         base crypto-numbers crypto-random HUnit QuickCheck test-framework
+         test-framework-quickcheck2 test-framework-th
+       ];
+       jailbreak = true;
+       description = "a simple Paillier cryptosystem";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PandocAgda" = callPackage
+    ({ mkDerivation, Agda, base, containers, directory, filepath, mtl
+     , pandoc, pandoc-types, QuickCheck, text, time, xhtml
+     }:
+     mkDerivation {
+       pname = "PandocAgda";
+       version = "2.3.3.0.2";
+       sha256 = "1g39mxrfii8vm40cbb7vdfrx2rx9gm4s1xhp3zjkiyi7f979cbk0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         Agda base containers directory filepath mtl pandoc pandoc-types
+         QuickCheck text time xhtml
+       ];
+       jailbreak = true;
+       description = "Pandoc support for literate Agda";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Paraiso" = callPackage
+    ({ mkDerivation, array, base, containers, control-monad-failure
+     , directory, fgl, filepath, HUnit, ListLike, listlike-instances
+     , mtl, numeric-prelude, QuickCheck, random, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     , typelevel-tensor, vector
+     }:
+     mkDerivation {
+       pname = "Paraiso";
+       version = "0.3.1.3";
+       sha256 = "177sinj5il7azsajf9fl65lml7pq792lnvwb07vln5my250ibwi9";
+       buildDepends = [
+         array base containers control-monad-failure directory fgl filepath
+         mtl numeric-prelude random text typelevel-tensor vector
+       ];
+       testDepends = [
+         array base containers control-monad-failure directory fgl filepath
+         HUnit ListLike listlike-instances mtl numeric-prelude QuickCheck
+         random test-framework test-framework-hunit
+         test-framework-quickcheck2 text typelevel-tensor vector
+       ];
+       homepage = "http://www.paraiso-lang.org/wiki/index.php/Main_Page";
+       description = "a code generator for partial differential equations solvers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Parry" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , ghc-prim, network, old-locale, process, random, RSA
+     , SafeSemaphore, time, unix
+     }:
+     mkDerivation {
+       pname = "Parry";
+       version = "0.1.0.0";
+       sha256 = "0jy0pya7ahy0nzw1yizi1ll7q5kv4jxgn3n56qgcwv25rh374n4s";
+       buildDepends = [
+         base binary bytestring containers directory ghc-prim network
+         old-locale process random RSA SafeSemaphore time unix
+       ];
+       homepage = "http://parry.lif.univ-mrs.fr";
+       description = "A proven synchronization server for high performance computing";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "ParsecTools" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "ParsecTools";
+       version = "0.0.2.0";
+       sha256 = "11vshnbxfl8p38aix4h2b0vms8j58agwxbmhd9pkxai764sl6j7g";
+       buildDepends = [ base parsec ];
+       description = "Parsec combinators for more complex objects";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "ParserFunction" = callPackage
+    ({ mkDerivation, base, containers, parsec }:
+     mkDerivation {
+       pname = "ParserFunction";
+       version = "0.1.0";
+       sha256 = "0l0j1mdycqsb5d32l7h0giwrj5yj54523gdn0bvim2vz67qrbxrq";
+       buildDepends = [ base containers parsec ];
+       description = "Parse and evaluate mathematical expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PartialTypeSignatures" = callPackage
+    ({ mkDerivation, base, containers, syb, template-haskell }:
+     mkDerivation {
+       pname = "PartialTypeSignatures";
+       version = "0.1.0.1";
+       sha256 = "04c01bcfrb79av2j9bivlwanmycasn7gjnc9gb5jm6gkwyvgv0h3";
+       buildDepends = [ base containers syb template-haskell ];
+       homepage = "http://code.haskell.org/~aavogt/PartialTypeSignatures";
+       description = "emulate partial type signatures with template haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PasswordGenerator" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "PasswordGenerator";
+       version = "0.1.0.0";
+       sha256 = "12lxylmpi2f1ahy6w1n7jmwn9kay4hajgr95xbnqqdzv4dw6whzw";
+       buildDepends = [ base QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/VictorDenisov/PasswordGenerator";
+       description = "Simple library for generating passwords";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "PastePipe" = callPackage
+    ({ mkDerivation, base, cmdargs, HTTP, network, network-uri }:
+     mkDerivation {
+       pname = "PastePipe";
+       version = "1.7";
+       sha256 = "0had11n44y7zjhhymdbvahwmxcxxrbxy7c9jxijhw3n7xqhdmva0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs HTTP network network-uri ];
+       homepage = "http://github.com/Fuuzetsu/pastepipe";
+       description = "CLI for pasting to lpaste.net";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Pathfinder" = callPackage
+    ({ mkDerivation, base, bytestring, libxml2, text }:
+     mkDerivation {
+       pname = "Pathfinder";
+       version = "0.5.10";
+       sha256 = "1k38p73jnkfcmmz94iqpzg2g6apsxflidvy8p9lwqyzfmg70brqf";
+       buildDepends = [ base bytestring text ];
+       extraLibraries = [ libxml2 ];
+       description = "Relational optimiser and code generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libxml2;};
+
+  "Peano" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Peano";
+       version = "0.0.4";
+       sha256 = "0ss4p40gkqcw9bdh5iy0yar56gpsanrxld74q5dxvakrf8m6cqmz";
+       buildDepends = [ base ];
+       description = "simple Peano numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PeanoWitnesses" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "PeanoWitnesses";
+       version = "0.1.0.0";
+       sha256 = "1g83jws23grl84gnq89rnppw6q7vsbhi9hk6lp5dq2n4818kamgg";
+       buildDepends = [ base ];
+       description = "GADT type witnesses for Peano-style natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PerfectHash" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cmph, containers
+     , digest, time
+     }:
+     mkDerivation {
+       pname = "PerfectHash";
+       version = "0.1.4";
+       sha256 = "1hj05lv8yj81nhpb01ljaqj9k7j6amw6lfx1azzjnwysmjj6ipkn";
+       buildDepends = [
+         array base binary bytestring containers digest time
+       ];
+       extraLibraries = [ cmph ];
+       description = "A perfect hashing library for mapping bytestrings to values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { cmph = null;};
+
+  "PermuteEffects" = callPackage
+    ({ mkDerivation, base, ReplicateEffects }:
+     mkDerivation {
+       pname = "PermuteEffects";
+       version = "0.2";
+       sha256 = "0lmmsvqbnw0k321254xfqlzmddvymy0mj50ax7caqj2fnarfgy4l";
+       buildDepends = [ base ReplicateEffects ];
+       jailbreak = true;
+       homepage = "https://github.com/MedeaMelana/PermuteEffects";
+       description = "Permutations of effectful computations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Pipe" = callPackage
+    ({ mkDerivation, base, filepath, process, unix }:
+     mkDerivation {
+       pname = "Pipe";
+       version = "2.1.2";
+       sha256 = "1453rjp5whl9vywiq8i86vjfa8ys1ppwabhvlibqwsbx804q9yhr";
+       buildDepends = [ base filepath process unix ];
+       homepage = "http://iki.fi/matti.niemenmaa/pipe/";
+       description = "Process piping library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Piso" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "Piso";
+       version = "0.1";
+       sha256 = "123hwav5bsadd2lmzgys4dwja1xrbn1c5w19063ak21y5415ci83";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://github.com/MedeaMelana/Piso";
+       description = "Partial isomorphisms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PlayHangmanGame" = callPackage
+    ({ mkDerivation, base, containers, directory, mtl, random
+     , regex-compat
+     }:
+     mkDerivation {
+       pname = "PlayHangmanGame";
+       version = "0.2";
+       sha256 = "17avnaz6da80v5kgz0b3v0zq3y9p2d3mxxv5a09ggcmilbz4xwlg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory mtl random regex-compat
+       ];
+       homepage = "freizl.github.com";
+       description = "Play Hangman Game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PlayingCards" = callPackage
+    ({ mkDerivation, base, HUnit, MonadRandom, QuickCheck
+     , random-shuffle
+     }:
+     mkDerivation {
+       pname = "PlayingCards";
+       version = "0.3.0.0";
+       sha256 = "1wq4y6dfn93c8pyxbz5dwbd1c2lq78fbw6s2pdk6nvi0zgf5hp6k";
+       buildDepends = [
+         base HUnit MonadRandom QuickCheck random-shuffle
+       ];
+       jailbreak = true;
+       description = "Playing cards api";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Plot-ho-matic" = callPackage
+    ({ mkDerivation, base, cairo, Chart, Chart-cairo, containers
+     , data-default-class, generic-accessors, glib, gtk, lens, text
+     , time
+     }:
+     mkDerivation {
+       pname = "Plot-ho-matic";
+       version = "0.5.0.3";
+       sha256 = "17zn4sqyfl48fp25wicp5vd518wn26g5qn071zhb989imiqbnvmq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cairo Chart Chart-cairo containers data-default-class
+         generic-accessors glib gtk lens text time
+       ];
+       description = "Real-time line plotter for protobuf-like data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "PlslTools" = callPackage
+    ({ mkDerivation, array, base, directory, filepath, haskell98
+     , old-locale, old-time, parsec, process, random
+     }:
+     mkDerivation {
+       pname = "PlslTools";
+       version = "0.0.2";
+       sha256 = "1kly1jfki4n9fhgkh2m9j9xj8182s92i7rsq81vcm6i3hd4fac94";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base directory filepath haskell98 old-locale old-time parsec
+         process random
+       ];
+       homepage = "LLayland.wordpress.com";
+       description = "So far just a lint like program for PL/SQL. Diff and refactoring tools are planned";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Plural" = callPackage
+    ({ mkDerivation, base, containers, regex-tdfa }:
+     mkDerivation {
+       pname = "Plural";
+       version = "0.0.2";
+       sha256 = "047aw1pka7xsqnshbmirkxd80m92w96xfb0kpi1a22bx0kpgg58w";
+       buildDepends = [ base containers regex-tdfa ];
+       description = "Pluralize English words";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Pollutocracy" = callPackage
+    ({ mkDerivation, array, base, clock, GLUT, random }:
+     mkDerivation {
+       pname = "Pollutocracy";
+       version = "1.0";
+       sha256 = "036b114f6fas2w3kmbcb1ria2ymdgi1sc5iqkskfgbc1iizhm2wh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base clock GLUT random ];
+       description = "An imaginary world";
+       license = "GPL";
+     }) {};
+
+  "PortFusion" = callPackage
+    ({ mkDerivation, base, bytestring, network, splice }:
+     mkDerivation {
+       pname = "PortFusion";
+       version = "1.2.1";
+       sha256 = "1n095a7ggkgvxdagn7wi1rnb3h766lah5avyrdxnv4g0kl143vvy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring network splice ];
+       homepage = "http://fusion.corsis.eu";
+       description = "high-performance distributed reverse / forward proxy & tunneling for TCP";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "PortMidi" = callPackage
+    ({ mkDerivation, alsaLib, base }:
+     mkDerivation {
+       pname = "PortMidi";
+       version = "0.1.3";
+       sha256 = "1sjs73jpdsb610l6b8i7pr019ijddz7zqv56f4yy843ix848yqzp";
+       buildDepends = [ base ];
+       extraLibraries = [ alsaLib ];
+       homepage = "http://haskell.org/haskellwiki/PortMidi";
+       description = "A binding for PortMedia/PortMidi";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) alsaLib;};
+
+  "PostgreSQL" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "PostgreSQL";
+       version = "0.2";
+       sha256 = "0p5q3yc8ymgzzlc600h4mb9w86ncrgjdbpqfi49b2jqvkcx5bwrr";
+       buildDepends = [ base mtl ];
+       description = "Thin wrapper over the C postgresql library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "PrimitiveArray" = callPackage
+    ({ mkDerivation, base, deepseq, primitive, QuickCheck, repa, vector
+     , vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "PrimitiveArray";
+       version = "0.5.4.0";
+       sha256 = "1m97c7zc8x6ml9ng120r4kzl7g73cz4c3qk41j1zihlrrfrcxrvq";
+       buildDepends = [
+         base deepseq primitive QuickCheck repa vector vector-th-unbox
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Efficient multidimensional arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Printf-TH" = callPackage
+    ({ mkDerivation, base, haskell98, pretty, template-haskell }:
+     mkDerivation {
+       pname = "Printf-TH";
+       version = "0.1.1";
+       sha256 = "0n1gva510p69vy25zvjkzwqqz2gilbns1wnrzz2p22rjkkbrinvx";
+       buildDepends = [ base haskell98 pretty template-haskell ];
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "PriorityChansConverger" = callPackage
+    ({ mkDerivation, base, containers, stm }:
+     mkDerivation {
+       pname = "PriorityChansConverger";
+       version = "0.1";
+       sha256 = "0258ysarn6k5kxxwy4lz9ww2rdhg5mg7h6idfbfrszcgwkcp22a1";
+       buildDepends = [ base containers stm ];
+       description = "Read single output from an array of inputs - channels with priorities";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ProbabilityMonads" = callPackage
+    ({ mkDerivation, base, MaybeT, MonadRandom, mtl }:
+     mkDerivation {
+       pname = "ProbabilityMonads";
+       version = "0.1.0";
+       sha256 = "0vmjg91yq4p0121ypjx4l1hh77j8xj6ha7awdvrjk5fjmz9xryh3";
+       buildDepends = [ base MaybeT MonadRandom mtl ];
+       description = "Probability distribution monads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "PropLogic" = callPackage
+    ({ mkDerivation, base, old-time, random }:
+     mkDerivation {
+       pname = "PropLogic";
+       version = "0.9.0.4";
+       sha256 = "1gr3xiwj5ggqlrvi2xi612sba0v7lwc3bz0w18knhh0gz60vslqy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base old-time random ];
+       homepage = "http://www.bucephalus.org/PropLogic";
+       description = "Propositional Logic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Proper" = callPackage
+    ({ mkDerivation, base, containers, HUnit, parsec, syb }:
+     mkDerivation {
+       pname = "Proper";
+       version = "0.5.2.0";
+       sha256 = "0y8jrvhnvb3nr8zi4hw8cm90nnz4lmcp3npvzsbz2wlkif5qf7k6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers HUnit parsec syb ];
+       homepage = "https://github.com/dillonhuff/Proper";
+       description = "An implementation of propositional logic in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ProxN" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "ProxN";
+       version = "0.0.1";
+       sha256 = "0mx3kgkcbhppz2p6g8vb9yx27219ca2w7k36j60vfhszni1c4gid";
+       buildDepends = [ base mtl ];
+       homepage = "https://github.com/exFalso/ProxN";
+       description = "Proximity sets in N dimensions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Pugs" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , control-timeout, directory, filepath, FindBin, haskeline
+     , HsParrot, HsSyck, MetaObject, mtl, network, parsec, pretty
+     , process, pugs-compat, pugs-DrIFT, random, stm, stringtable-atom
+     , time, utf8-string
+     }:
+     mkDerivation {
+       pname = "Pugs";
+       version = "6.2.13.20130611";
+       sha256 = "13advi8qykjslpg6kqilzdabz5076z6d69b66sf1ikyhjpc1j55i";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers control-timeout directory
+         filepath FindBin haskeline HsParrot HsSyck MetaObject mtl network
+         parsec pretty process pugs-compat pugs-DrIFT random stm
+         stringtable-atom time utf8-string
+       ];
+       homepage = "http://pugscode.org/";
+       description = "A Perl 6 Implementation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Pup-Events" = callPackage
+    ({ mkDerivation, base, Pup-Events-Client, Pup-Events-PQueue
+     , Pup-Events-Server
+     }:
+     mkDerivation {
+       pname = "Pup-Events";
+       version = "1.0";
+       sha256 = "13zjhxq8q1qd7sbc17d73g6mfsfls6rl3ndawbcfjgj73b7xajyj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Pup-Events-Client Pup-Events-PQueue Pup-Events-Server
+       ];
+       description = "A networked event handling framework for hooking into other programs";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Pup-Events-Client" = callPackage
+    ({ mkDerivation, base, network, parsec, Pup-Events-PQueue, stm
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Pup-Events-Client";
+       version = "1.1.4";
+       sha256 = "1b6vkjnk1yk7ra221njh1mm92jgzqh2hjbh67p2h4fz2jf202xvm";
+       buildDepends = [
+         base network parsec Pup-Events-PQueue stm transformers
+       ];
+       description = "A networked event handling framework for hooking into other programs";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Pup-Events-Demo" = callPackage
+    ({ mkDerivation, base, GLUT, OpenGL, parsec, Pup-Events-Client
+     , Pup-Events-PQueue, Pup-Events-Server, stm
+     }:
+     mkDerivation {
+       pname = "Pup-Events-Demo";
+       version = "1.3";
+       sha256 = "06cf18ccamaknkm2fcmj17ymdb2i3130q5bakbji4m8349bzhxxb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base GLUT OpenGL parsec Pup-Events-Client Pup-Events-PQueue
+         Pup-Events-Server stm
+       ];
+       description = "A networked event handling framework for hooking into other programs";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Pup-Events-PQueue" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "Pup-Events-PQueue";
+       version = "1.0";
+       sha256 = "0sngiqxzj5kif452s2hn3x1kv257815c5v19dp4wqazbyc373iwx";
+       buildDepends = [ base stm ];
+       description = "A networked event handling framework for hooking into other programs";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Pup-Events-Server" = callPackage
+    ({ mkDerivation, base, network, parsec, Pup-Events-PQueue, stm
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Pup-Events-Server";
+       version = "1.2";
+       sha256 = "18n4bzhwvx336dv4yb5pbicaxbzzhhd36951diwhgw4gf5ji80dn";
+       buildDepends = [
+         base network parsec Pup-Events-PQueue stm transformers
+       ];
+       description = "A networked event handling framework for hooking into other programs";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "QIO" = callPackage
+    ({ mkDerivation, base, containers, mtl, old-time, random }:
+     mkDerivation {
+       pname = "QIO";
+       version = "1.2";
+       sha256 = "1wm0n5r5nfgbd35ry4fn25bzfj83gn3xbrd14clpw4wqqq45rhx6";
+       buildDepends = [ base containers mtl old-time random ];
+       homepage = "http://www.cs.nott.ac.uk/~asg/QIO/";
+       description = "The Quantum IO Monad is a library for defining quantum computations in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "QuadEdge" = callPackage
+    ({ mkDerivation, base, random, vector }:
+     mkDerivation {
+       pname = "QuadEdge";
+       version = "0.2";
+       sha256 = "1f3wxc8ipb8ka02xq2snjs5wgl10mk528zjkpwdw5wf3fldhz037";
+       buildDepends = [ base random vector ];
+       description = "QuadEdge structure for representing triangulations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "QuadTree" = callPackage
+    ({ mkDerivation, base, composition, lens }:
+     mkDerivation {
+       pname = "QuadTree";
+       version = "0.10.1";
+       sha256 = "0r4qv6xw03g79sn1889vv1rzpkcpjm9lmipvxdl0l1d8r8kvxdxw";
+       buildDepends = [ base composition lens ];
+       jailbreak = true;
+       description = "QuadTree library for Haskell, with lens support";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "QuasiText" = callPackage
+    ({ mkDerivation, attoparsec, base, haskell-src-meta
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "QuasiText";
+       version = "0.1.2.5";
+       sha256 = "10y2lirprxyh9m47qxq0plihc22xvmkhq6lfbx3i19vfvkbhnbwx";
+       buildDepends = [
+         attoparsec base haskell-src-meta template-haskell text
+       ];
+       homepage = "https://github.com/mikeplus64/QuasiText";
+       description = "A QuasiQuoter for Text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "QuickAnnotate" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "QuickAnnotate";
+       version = "0.6";
+       sha256 = "0xphlira6gxfs7md1b55vf9biqzw9v1kzmcs17x07xnzcy1y3dvb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base haskell-src-exts ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/QuickAnnotate/";
+       description = "Annotation Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "QuickCheck_1_2_0_1" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "QuickCheck";
+       version = "1.2.0.1";
+       revision = "2";
+       sha256 = "1gxpvbc0ab4n35b5zcbzng8qc7y3mzgym8cj42bci984f08y1bld";
+       editedCabalFile = "8f06f07cae74e90cd5bdde3eed23b0e3293ad494f42f0f0cb77074fa3b7950d9";
+       buildDepends = [ base random ];
+       homepage = "http://www.math.chalmers.se/~rjmh/QuickCheck/";
+       description = "Automatic testing of Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "QuickCheck" = callPackage
+    ({ mkDerivation, base, random, template-haskell, test-framework
+     , tf-random, transformers
+     }:
+     mkDerivation {
+       pname = "QuickCheck";
+       version = "2.7.6";
+       sha256 = "09y5l0062l9i5jp9v6811kvkk4zpy0mizwaw44abgz0x1h59gn40";
+       buildDepends = [
+         base random template-haskell tf-random transformers
+       ];
+       testDepends = [ base template-haskell test-framework ];
+       homepage = "https://github.com/nick8325/quickcheck";
+       description = "Automatic testing of Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "QuickCheck_2_8_1" = callPackage
+    ({ mkDerivation, base, containers, random, template-haskell
+     , test-framework, tf-random, transformers
+     }:
+     mkDerivation {
+       pname = "QuickCheck";
+       version = "2.8.1";
+       sha256 = "0fvnfl30fxmj5q920l13641ar896d53z0z6z66m7c1366lvalwvh";
+       buildDepends = [
+         base containers random template-haskell tf-random transformers
+       ];
+       testDepends = [ base containers template-haskell test-framework ];
+       jailbreak = true;
+       homepage = "https://github.com/nick8325/quickcheck";
+       description = "Automatic testing of Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "QuickCheck-GenT" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, random }:
+     mkDerivation {
+       pname = "QuickCheck-GenT";
+       version = "0.1.4";
+       sha256 = "07zsp1praq0g6mcpfli9r1dwhfgj2cl5a2dljm6cdc8nsjl6dz7x";
+       buildDepends = [ base mtl QuickCheck random ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/QuickCheck-GenT";
+       description = "A GenT monad transformer for QuickCheck library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Quickson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, either, text
+     }:
+     mkDerivation {
+       pname = "Quickson";
+       version = "0.1.1";
+       sha256 = "0v2h8446gb86z2yvhqrhbkyj8yj0s9d33gbig6752lfjn31zxrcy";
+       buildDepends = [ aeson attoparsec base bytestring either text ];
+       homepage = "https://github.com/ssadler/quickson";
+       description = "Quick JSON extractions with Aeson";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "RANSAC" = callPackage
+    ({ mkDerivation, base, HUnit, lens, linear, random, test-framework
+     , test-framework-hunit, vector
+     }:
+     mkDerivation {
+       pname = "RANSAC";
+       version = "0.1.0.1";
+       sha256 = "1frn3y0j4w337mfaakqw58d7p9pqhbi2fzk8blv6zilzvqmhbqqv";
+       buildDepends = [ base random vector ];
+       testDepends = [
+         base HUnit lens linear test-framework test-framework-hunit vector
+       ];
+       description = "The RANSAC algorithm for parameter estimation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "RBTree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "RBTree";
+       version = "0.0.5";
+       sha256 = "0p46b105lixbxqjz8pwxf4asl4s7zdh2ss3nvgmp1rclqfg6cwrq";
+       buildDepends = [ base ];
+       homepage = "git://github.com/wuxb45/Haskell-RBTree.git";
+       description = "Pure haskell Red-Black-Tree implemetation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "RESTng" = callPackage
+    ({ mkDerivation, base, HDBC, HDBC-postgresql, mtl, old-time, parsec
+     , redHandlers, xhtml, yuiGrid
+     }:
+     mkDerivation {
+       pname = "RESTng";
+       version = "0.1";
+       sha256 = "1fans0znb3i33n9cxd8w140n1sl8bdyl874cdrgc5wvlg6y3y4aj";
+       buildDepends = [
+         base HDBC HDBC-postgresql mtl old-time parsec redHandlers xhtml
+         yuiGrid
+       ];
+       jailbreak = true;
+       description = "A framework for writing RESTful applications";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RFC1751" = callPackage
+    ({ mkDerivation, base, binary, bytestring, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "RFC1751";
+       version = "0.3.0.1";
+       sha256 = "1347cl0z5zw7f4dn6bjyf19pnfq06dzwpcl68z14zgxw0p58crka";
+       buildDepends = [ base binary bytestring ];
+       testDepends = [
+         base binary bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/xenog/RFC1751";
+       description = "RFC-1751 library for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "RJson" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, iconv, mtl
+     , parsec, syb-with-class
+     }:
+     mkDerivation {
+       pname = "RJson";
+       version = "0.3.7";
+       sha256 = "04vlhcyikd4liy65xiy3xn4slkm5w4q3r8ir54s095zs9bq8jx1n";
+       buildDepends = [
+         array base bytestring containers iconv mtl parsec syb-with-class
+       ];
+       description = "A reflective JSON serializer/parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RMP" = callPackage
+    ({ mkDerivation, allocated-processor, base, canlib, cv-combinators
+     , ftd2xx, HOpenCV, vector-space
+     }:
+     mkDerivation {
+       pname = "RMP";
+       version = "0.0.2";
+       sha256 = "0bcilw8z764p6idjj19kxk9if5l4pxyn7zszxjv0q3bfky1rd8ay";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         allocated-processor base cv-combinators HOpenCV vector-space
+       ];
+       extraLibraries = [ canlib ftd2xx ];
+       description = "Binding to code that controls a Segway RMP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { canlib = null;  ftd2xx = null;};
+
+  "RNAFold" = callPackage
+    ({ mkDerivation, ADPfusion, base, BiobaseTurner, BiobaseVienna
+     , BiobaseXNA, cmdargs, containers, deepseq, lens, primitive
+     , PrimitiveArray, repa, strict, vector
+     }:
+     mkDerivation {
+       pname = "RNAFold";
+       version = "1.99.3.4";
+       sha256 = "0r4y4rinrdr2xwfpnys5agm1awr3qr9im4cqczz1fzjz7r425m96";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ADPfusion base BiobaseTurner BiobaseVienna BiobaseXNA cmdargs
+         containers deepseq lens primitive PrimitiveArray repa strict vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/adpfusion";
+       description = "RNA secondary structure prediction";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RNAFoldProgs" = callPackage
+    ({ mkDerivation, base, Biobase, BiobaseTurner, BiobaseTypes
+     , BiobaseVienna, cmdargs, containers, HsTools, primitive
+     , PrimitiveArray, RNAFold, split, vector
+     }:
+     mkDerivation {
+       pname = "RNAFoldProgs";
+       version = "0.0.0.3";
+       sha256 = "1bmybm80fhw7xqjzny2iricicbzqsl33snpsjamfcr16a939wlwp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Biobase BiobaseTurner BiobaseTypes BiobaseVienna cmdargs
+         containers HsTools primitive PrimitiveArray RNAFold split vector
+       ];
+       jailbreak = true;
+       description = "RNA secondary structure folding";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RNAdesign" = callPackage
+    ({ mkDerivation, array, base, BiobaseTurner, BiobaseVienna
+     , BiobaseXNA, bytestring, cmdargs, containers, fgl
+     , fgl-extras-decompositions, file-embed, lens, monad-primitive
+     , mwc-random-monad, parallel, parsec, ParsecTools, primitive
+     , PrimitiveArray, random, RNAFold, transformers, tuple, vector
+     , ViennaRNA-bindings
+     }:
+     mkDerivation {
+       pname = "RNAdesign";
+       version = "0.1.2.2";
+       sha256 = "1qdfbwiydkh0974m7r4ashxhsbkss8k9d6kpc07vj4hspjf5v5ag";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base BiobaseTurner BiobaseVienna BiobaseXNA bytestring
+         cmdargs containers fgl fgl-extras-decompositions file-embed lens
+         monad-primitive mwc-random-monad parallel parsec ParsecTools
+         primitive PrimitiveArray random RNAFold transformers tuple vector
+         ViennaRNA-bindings
+       ];
+       description = "Multi-target RNA sequence design";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RNAdraw" = callPackage
+    ({ mkDerivation, array, base, BiobaseXNA, bytestring, cmdargs
+     , containers, PrimitiveArray, QuasiText, repa, split, text, vector
+     }:
+     mkDerivation {
+       pname = "RNAdraw";
+       version = "0.2.0.1";
+       sha256 = "1d85lps04b2sn23fzyn5hd8lj2lf7byqk7flj8p2b905hl3062dx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base BiobaseXNA bytestring cmdargs containers PrimitiveArray
+         QuasiText repa split text vector
+       ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Draw RNA secondary structures";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "RNAwolf" = callPackage
+    ({ mkDerivation, base, BiobaseTrainingData, BiobaseXNA, bytestring
+     , cmdargs, containers, deepseq, directory, parallel, PrimitiveArray
+     , random, split, StatisticalMethods, vector
+     }:
+     mkDerivation {
+       pname = "RNAwolf";
+       version = "0.4.0.0";
+       sha256 = "1s7ilg8814gglg4n64nk94b51fdzh2fm1y4k1mw8d81qd66y60vn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base BiobaseTrainingData BiobaseXNA bytestring cmdargs containers
+         deepseq directory parallel PrimitiveArray random split
+         StatisticalMethods vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.tbi.univie.ac.at/software/rnawolf/";
+       description = "RNA folding with non-canonical basepairs and base-triplets";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RSA" = callPackage
+    ({ mkDerivation, base, binary, bytestring, crypto-api
+     , crypto-pubkey-types, DRBG, pureMD5, QuickCheck, SHA, tagged
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "RSA";
+       version = "2.1.0.1";
+       sha256 = "0m74683bm34zd5r46ndb1h8jx1xp8wypfqm0gi3zmrv1rmm0j0hv";
+       buildDepends = [
+         base binary bytestring crypto-api crypto-pubkey-types pureMD5 SHA
+       ];
+       testDepends = [
+         base binary bytestring crypto-api crypto-pubkey-types DRBG pureMD5
+         QuickCheck SHA tagged test-framework test-framework-quickcheck2
+       ];
+       description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Raincat" = callPackage
+    ({ mkDerivation, base, containers, extensible-exceptions, GLUT, mtl
+     , OpenGL, random, SDL, SDL-image, SDL-mixer, time
+     }:
+     mkDerivation {
+       pname = "Raincat";
+       version = "1.1.1.3";
+       sha256 = "1aalh68h6799mv4vyg30zpskl5jkn6x2j1jza7p4lrflyifxzar8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers extensible-exceptions GLUT mtl OpenGL random SDL
+         SDL-image SDL-mixer time
+       ];
+       homepage = "http://raincat.bysusanlin.com/";
+       description = "A puzzle game written in Haskell with a cat in lead role";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Random123" = callPackage
+    ({ mkDerivation, array, base, data-dword, HUnit, QuickCheck, random
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "Random123";
+       version = "0.2.0";
+       sha256 = "18q6nf63qapypj10iifpc1qdaq7pndmv2p7jz0f96y113z33nqy4";
+       buildDepends = [ array base data-dword random ];
+       testDepends = [
+         base HUnit QuickCheck random test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/Manticore/haskell-random123";
+       description = "Haskell port of Random123 library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "RandomDotOrg" = callPackage
+    ({ mkDerivation, base, HTTP-Simple, network }:
+     mkDerivation {
+       pname = "RandomDotOrg";
+       version = "0.2.1";
+       sha256 = "0rfarn424wsvvwvi7b1qzvzc63dxfqmlyrfd0hdcvmgkq5h2iy4c";
+       buildDepends = [ base HTTP-Simple network ];
+       description = "Interface to random.org";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Randometer" = callPackage
+    ({ mkDerivation, base, random-fu }:
+     mkDerivation {
+       pname = "Randometer";
+       version = "0.1.0.1";
+       sha256 = "1anj962cpgl06hipjfdygxlvq6adkdg3r0ghkwkzzf3dklmwzng6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base random-fu ];
+       homepage = "http://github.com/Soares/Randometer.hs";
+       description = "Randomness intuition trainer";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Range" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Range";
+       version = "0.1.0.0";
+       sha256 = "0759508s75zba89jjr56sqpm7idgwsxynmf9zl9hwrz9q11fxrqh";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Data structure for managing ranges";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Ranged-sets" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck }:
+     mkDerivation {
+       pname = "Ranged-sets";
+       version = "0.3.0";
+       sha256 = "1am0lsd3yiyn7ayk9k4ff7zdj67m0pxjl10cxi5f9hgjj4y9380l";
+       buildDepends = [ base HUnit QuickCheck ];
+       homepage = "http://code.haskell.org/ranged-sets";
+       description = "Ranged sets for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Ranka" = callPackage
+    ({ mkDerivation, base, HTTP, json, network, utf8-string, XMPP }:
+     mkDerivation {
+       pname = "Ranka";
+       version = "0.1";
+       sha256 = "1df010121jdjbagc3gg906kydmwwpa7np1c0mx7w2v64mr7i2q1r";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HTTP json network utf8-string XMPP ];
+       homepage = "http://kagami.touhou.ru/projects/show/ranka";
+       description = "HTTP to XMPP omegle chats gate";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Rasenschach" = callPackage
+    ({ mkDerivation, array, base, containers, convertible, directory
+     , filepath, ghc, monad-loops, SDL, SDL-gfx, SDL-image, SDL-mixer
+     , SDL-ttf, template-haskell, time, Yampa
+     }:
+     mkDerivation {
+       pname = "Rasenschach";
+       version = "0.1.2";
+       sha256 = "1axjmid2kdyg9jzc9k8x1jyzlkxa1iws8608pyrgix8vswxxxr0w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers convertible directory filepath ghc
+         monad-loops SDL SDL-gfx SDL-image SDL-mixer SDL-ttf
+         template-haskell time Yampa
+       ];
+       homepage = "http://hub.darcs.net/martingw/Rasenschach";
+       description = "Soccer simulation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Rasterific" = callPackage
+    ({ mkDerivation, base, dlist, FontyFruity, free, JuicyPixels, mtl
+     , primitive, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "Rasterific";
+       version = "0.5.2.1";
+       sha256 = "1wd12l4vpav3jsjf2mib5yrblys5aifwq6xniqm4l92qs5vjh4a2";
+       buildDepends = [
+         base dlist FontyFruity free JuicyPixels mtl primitive vector
+         vector-algorithms
+       ];
+       description = "A pure haskell drawing engine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ReadArgs" = callPackage
+    ({ mkDerivation, base, hspec, system-filepath, text }:
+     mkDerivation {
+       pname = "ReadArgs";
+       version = "1.2.2";
+       sha256 = "1v6yr5zzrrj31prfzxxh1n27sfnkqpkw34v3a47rcnm444ba58a7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base system-filepath text ];
+       testDepends = [ base hspec system-filepath text ];
+       jailbreak = true;
+       homepage = "http://github.com/rampion/ReadArgs";
+       description = "Simple command line argument parsing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Redmine" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, connection, containers
+     , HTTP, http-client-tls, http-conduit, http-types, HUnit, MissingH
+     , network, old-locale, old-time, resourcet, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "Redmine";
+       version = "0.0.6";
+       sha256 = "10lq9lhz3yyzkzwbi8rx060hmwh0c8cplydrfzdmd1653x8267z8";
+       buildDepends = [
+         aeson base bytestring connection containers HTTP http-client-tls
+         http-conduit http-types MissingH network old-locale old-time
+         resourcet text time transformers
+       ];
+       testDepends = [
+         aeson base bytestring connection containers http-client-tls
+         http-conduit HUnit MissingH network old-locale resourcet text time
+         transformers
+       ];
+       homepage = "https://github.com/lookunder/RedmineHs";
+       description = "Library to access Redmine's REST services";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Ref" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "Ref";
+       version = "0.1.1.0";
+       sha256 = "15qikbjbydbabc26skhavshzrsaz17a71q8hfxqvi5ix2bhhz4hm";
+       buildDepends = [ base ghc-prim ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/carter/ref";
+       description = "Generic Mutable Ref Abstraction Layer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RefSerialize" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, hashtables
+     , stringsearch
+     }:
+     mkDerivation {
+       pname = "RefSerialize";
+       version = "0.3.1.4";
+       sha256 = "1hl1jxdarqp59fs1sjvxpyhcazrnlm4iywysgkf3iqm56jfp2f6w";
+       buildDepends = [
+         base binary bytestring containers hashtables stringsearch
+       ];
+       description = "Write to and read from ByteStrings maintaining internal memory references";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Referees" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, cmdargs, cond
+     , containers, directory, glpk-hs, matrix, MissingH, vector
+     }:
+     mkDerivation {
+       pname = "Referees";
+       version = "0.0.0";
+       sha256 = "076pa25455jd4b0dbs9gfksaa1ww66yvnknki4yivc0pm60pnh7r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cassava cmdargs cond containers directory glpk-hs
+         matrix MissingH vector
+       ];
+       homepage = "https://github.com/pablocouto/Referees";
+       description = "A utility for computing distributions of material to review among reviewers";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "RepLib" = callPackage
+    ({ mkDerivation, base, containers, mtl, template-haskell }:
+     mkDerivation {
+       pname = "RepLib";
+       version = "0.5.3.3";
+       sha256 = "1772r6rfajcn622dxwy9z1bvv53l5xj6acbcv8n9p7h01fs52mpr";
+       buildDepends = [ base containers mtl template-haskell ];
+       homepage = "http://code.google.com/p/replib/";
+       description = "Generic programming library with representation types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ReplicateEffects" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ReplicateEffects";
+       version = "0.3";
+       sha256 = "194nbnbrf5g3d2pch6z9zapzhi0i2z30vpgjj0h5x8bfwzpf1527";
+       buildDepends = [ base ];
+       homepage = "https://github.com/MedeaMelana/ReplicateEffects";
+       description = "Composable replication schemes of applicative functors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ReviewBoard" = callPackage
+    ({ mkDerivation, base, directory, HTTP, json, mtl, network, process
+     , random
+     }:
+     mkDerivation {
+       pname = "ReviewBoard";
+       version = "0.2.2";
+       sha256 = "1grcs7mily2gpxdzq1pcz1f71z2d8pz6paqrb8yv38nkckvm4j75";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory HTTP json mtl network process random
+       ];
+       description = "Haskell bindings to ReviewBoard";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RichConditional" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "RichConditional";
+       version = "0.1.0.0";
+       sha256 = "065plckw5r16aalkf51y7hs2xjandad3hgfly795wakqfhdnrajw";
+       buildDepends = [ base ];
+       homepage = "https://github.com/avieth/RichConditional";
+       description = "Tiny library to replace classic if/else";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Rlang-QQ" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
+     , directory, doctest, filepath, haskell-src-meta, HList, mtl
+     , process, repa, split, syb, template-haskell, temporary, text
+     , transformers, trifecta, utf8-string, vector, zlib
+     }:
+     mkDerivation {
+       pname = "Rlang-QQ";
+       version = "0.2.1.0";
+       sha256 = "1r46prwscjfgvvky08rd632pmwlmihgr3rx41xz0h00vv5dygyxn";
+       buildDepends = [
+         array base binary bytestring Cabal containers directory filepath
+         haskell-src-meta HList mtl process repa split syb template-haskell
+         temporary text transformers trifecta utf8-string vector zlib
+       ];
+       testDepends = [ base doctest ];
+       homepage = "http://code.haskell.org/~aavogt/Rlang-QQ";
+       description = "quasiquoter for inline-R code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "RollingDirectory" = callPackage
+    ({ mkDerivation, base, directory, filepath, hdaemonize-buildfix
+     , hinotify, hsyslog, HUnit, monad-parallel, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , unix
+     }:
+     mkDerivation {
+       pname = "RollingDirectory";
+       version = "0.1";
+       sha256 = "0mw4hd99v8pp75ng75cv3vym5ld93f07mpkcbi2b6v12k68bxx4v";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath hdaemonize-buildfix hinotify hsyslog
+         monad-parallel unix
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "Limits the size of a directory's contents";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "RxHaskell" = callPackage
+    ({ mkDerivation, base, containers, stm, transformers }:
+     mkDerivation {
+       pname = "RxHaskell";
+       version = "0.2";
+       sha256 = "0pwxsvkpdr4vzr6cpgjmkr55ip6ns3gcv8pma7dwzg21myx9c3vl";
+       buildDepends = [ base containers stm transformers ];
+       homepage = "https://github.com/jspahrsummers/RxHaskell";
+       description = "Reactive Extensions for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "SBench" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, criterion, deepseq
+     , directory, filepath, gnuplot, hp2any-core, parsec, process
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "SBench";
+       version = "0.2.0";
+       sha256 = "0ym9qdwwn180365hgvwi6djzbqvfiyqrd2fhywpvxihwxnlnhiam";
+       buildDepends = [
+         base bytestring cassava criterion deepseq directory filepath
+         gnuplot hp2any-core parsec process utf8-string vector
+       ];
+       description = "A benchmark suite for runtime and heap measurements over a series of inputs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SConfig" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "SConfig";
+       version = "0.2.0.0";
+       sha256 = "032s6szll58zavdnf6fsj2rhpdlizv3l46lh819bqjy1kbffv0yz";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/fgaz/SConfig";
+       description = "A simple config library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "SDL" = callPackage
+    ({ mkDerivation, base, SDL }:
+     mkDerivation {
+       pname = "SDL";
+       version = "0.6.5";
+       sha256 = "1vlf1bvp4cbgr31qk6aqikhgn9jbgj7lrvnjzv3ibykm1hhd6vdb";
+       buildDepends = [ base ];
+       extraLibraries = [ SDL ];
+       description = "Binding to libSDL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL;};
+
+  "SDL-gfx" = callPackage
+    ({ mkDerivation, base, SDL }:
+     mkDerivation {
+       pname = "SDL-gfx";
+       version = "0.6.0";
+       sha256 = "14d8fz576rwi6x0dxgc29cdmwn48afja3v5qx3x8q5y61fv8w9v1";
+       buildDepends = [ base SDL ];
+       description = "Binding to libSDL_gfx";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SDL-image" = callPackage
+    ({ mkDerivation, base, SDL, SDL_image }:
+     mkDerivation {
+       pname = "SDL-image";
+       version = "0.6.1";
+       sha256 = "18n6al40db7xalqqr4hp0l26qxxv1kmd8mva0n7vmhg05zypf6ni";
+       buildDepends = [ base SDL ];
+       extraLibraries = [ SDL_image ];
+       description = "Binding to libSDL_image";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL_image;};
+
+  "SDL-mixer" = callPackage
+    ({ mkDerivation, base, SDL, SDL_mixer }:
+     mkDerivation {
+       pname = "SDL-mixer";
+       version = "0.6.1";
+       sha256 = "1fxp5sz0w6pr5047jjvh81wkljxsl7fca239364i50m44mpcsyn1";
+       buildDepends = [ base SDL ];
+       extraLibraries = [ SDL_mixer ];
+       description = "Binding to libSDL_mixer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL_mixer;};
+
+  "SDL-mpeg" = callPackage
+    ({ mkDerivation, base, SDL, smpeg }:
+     mkDerivation {
+       pname = "SDL-mpeg";
+       version = "0.0.1";
+       sha256 = "0hx4977iynchnyd4b9ycbiw5qq07wk1a7dkisqx0a3x0ca4qirwj";
+       buildDepends = [ base SDL ];
+       extraLibraries = [ smpeg ];
+       description = "Binding to the SMPEG library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) smpeg;};
+
+  "SDL-ttf" = callPackage
+    ({ mkDerivation, base, SDL, SDL_ttf }:
+     mkDerivation {
+       pname = "SDL-ttf";
+       version = "0.6.2";
+       sha256 = "0jajnbqnhdd4i8pj8j27m53zwgfs1v06kiwy0s0zml02fdkq8j4a";
+       buildDepends = [ base SDL ];
+       extraLibraries = [ SDL_ttf ];
+       description = "Binding to libSDL_ttf";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL_ttf;};
+
+  "SDL2-ttf" = callPackage
+    ({ mkDerivation, base, SDL2, SDL2_ttf }:
+     mkDerivation {
+       pname = "SDL2-ttf";
+       version = "0.1.0";
+       sha256 = "03ng8kih285pvwj06jdwk4hkyyyb8j666pnvagnw5hsjhq60r8h6";
+       buildDepends = [ base ];
+       extraLibraries = [ SDL2 SDL2_ttf ];
+       jailbreak = true;
+       description = "Binding to libSDL-ttf";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL2;  inherit (pkgs) SDL2_ttf;};
+
+  "SFML" = callPackage
+    ({ mkDerivation, base, csfml-audio, csfml-graphics, csfml-network
+     , csfml-system, csfml-window
+     }:
+     mkDerivation {
+       pname = "SFML";
+       version = "0.2.0.0";
+       sha256 = "1jz7wgrjc169slq7akf9sdgpfnl1cbiahig8hqck9p40ixn456k6";
+       buildDepends = [ base ];
+       extraLibraries = [
+         csfml-audio csfml-graphics csfml-network csfml-system csfml-window
+       ];
+       homepage = "https://github.com/jeannekamikaze/SFML";
+       description = "SFML bindings";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { csfml-audio = null;  csfml-graphics = null;
+          csfml-network = null;  csfml-system = null;
+          csfml-window = null;};
+
+  "SFML-control" = callPackage
+    ({ mkDerivation, base, mtl, SFML, template-haskell }:
+     mkDerivation {
+       pname = "SFML-control";
+       version = "0.2.0.2";
+       sha256 = "001h9y9395mz6fr58s1i8svn4pyy5iqbkzzsp19xdphh4w69za9g";
+       buildDepends = [ base mtl SFML template-haskell ];
+       homepage = "https://github.com/SFML-haskell/SFML-control";
+       description = "Higher level library on top of SFML";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SFont" = callPackage
+    ({ mkDerivation, array, base, SDL, Sprig }:
+     mkDerivation {
+       pname = "SFont";
+       version = "0.1.1";
+       sha256 = "077yvys00kp8lmkvc4mbynmkk9nn2ib5rh38bqcw0wnwsvl7140i";
+       buildDepends = [ array base SDL Sprig ];
+       homepage = "http://liamoc.net/static/SFont";
+       description = "SFont SDL Bitmap Fonts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SG" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "SG";
+       version = "1.0";
+       sha256 = "0aj15lp5wbldaa9ndfvni1iq7kcrjv1syln9yz77jg6p8ndk61jv";
+       buildDepends = [ base mtl ];
+       description = "Small geometry library for dealing with vectors and collision detection";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SGdemo" = callPackage
+    ({ mkDerivation, base, GLUT, OpenGL, SG }:
+     mkDerivation {
+       pname = "SGdemo";
+       version = "1.1";
+       sha256 = "0f7s8y5wq479i2yix2ik5ffsqkrb65pi31n6a03453kvk5jc7wv6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT OpenGL SG ];
+       jailbreak = true;
+       description = "An example of using the SG and OpenGL libraries";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SHA" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, directory
+     , QuickCheck, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "SHA";
+       version = "1.6.4.2";
+       sha256 = "134ajm87fm4lpsw86m9q8apv20dw4bpk46raa389zr6bcdpifw64";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base binary bytestring directory ];
+       testDepends = [
+         array base binary bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       description = "Implementations of the SHA suite of message digest functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SHA2" = callPackage
+    ({ mkDerivation, AES, base, bytestring, monads-tf, transformers }:
+     mkDerivation {
+       pname = "SHA2";
+       version = "0.2.5";
+       sha256 = "1zs79a327x6myfam3p2vr8lmszcaqnkll2qz8n4sy835vz328j40";
+       buildDepends = [ AES base bytestring monads-tf transformers ];
+       description = "Fast, incremental SHA hashing for bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SMTPClient" = callPackage
+    ({ mkDerivation, base, containers, extensible-exceptions, hsemail
+     , network, old-locale, old-time
+     }:
+     mkDerivation {
+       pname = "SMTPClient";
+       version = "1.1.0";
+       sha256 = "07njj24c43iz33c641d5ish62h13lhpvn2mx5pv5i6s3fm3bxsfk";
+       buildDepends = [
+         base containers extensible-exceptions hsemail network old-locale
+         old-time
+       ];
+       description = "A simple SMTP client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SNet" = callPackage
+    ({ mkDerivation, base, bindings-DSL, c2hsc, containers
+     , data-default, lens, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "SNet";
+       version = "0.1.0";
+       sha256 = "19ls2icg5vflznf9wn5b429x6blismcdxinh66vd8cr8hwgc8m99";
+       buildDepends = [
+         base bindings-DSL containers data-default lens mtl transformers
+       ];
+       buildTools = [ c2hsc ];
+       jailbreak = true;
+       homepage = "http://www.snet-home.org/";
+       description = "Declarative coördination language for streaming networks";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SQLDeps" = callPackage
+    ({ mkDerivation, base, hashable, HDBC, HDBC-sqlite3, mtl
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "SQLDeps";
+       version = "0.1";
+       sha256 = "1dx4vxrc7hjms3bx80bngwr5jxkb1v9hps09ayi0mqwhnfzq5vgp";
+       buildDepends = [
+         base hashable HDBC HDBC-sqlite3 mtl unordered-containers
+       ];
+       description = "Calculate db-data dependencies of functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "STL" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cereal, text }:
+     mkDerivation {
+       pname = "STL";
+       version = "0.3";
+       sha256 = "07zf0j9bly6b0q081jgxcpl0b5bl4kckharwwrdwng477gimqmwx";
+       buildDepends = [ attoparsec base bytestring cereal text ];
+       homepage = "http://github.com/bergey/STL";
+       description = "STL 3D geometry format parsing and pretty-printing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "STMonadTrans" = callPackage
+    ({ mkDerivation, array, base, mtl }:
+     mkDerivation {
+       pname = "STMonadTrans";
+       version = "0.3.3";
+       sha256 = "05d37ax0j8dp1h1w6pxkf1415mzn4gasdhn7gbsr8ay46iv1r4fr";
+       buildDepends = [ array base mtl ];
+       description = "A monad transformer version of the ST monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SVG2Q" = callPackage
+    ({ mkDerivation, base, haskell98, language-c, pretty, svgutils, syb
+     , xml
+     }:
+     mkDerivation {
+       pname = "SVG2Q";
+       version = "0.3";
+       sha256 = "07cr20cdz4dk8c9j84j1wlzhg4qb4hmgyvh2nnlh4vc52bvvizmq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base haskell98 language-c pretty svgutils syb xml
+       ];
+       jailbreak = true;
+       homepage = "http://www.informatik.uni-kiel.de/~jgr/svg2q";
+       description = "Code generation tool for Quartz code from a SVG";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SVGFonts" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-markup, blaze-svg
+     , containers, data-default-class, diagrams-lib, directory, parsec
+     , split, text, tuple, vector, vector-space, xml
+     }:
+     mkDerivation {
+       pname = "SVGFonts";
+       version = "1.4.0.3";
+       sha256 = "0jkjcf27xqjzv9lny7j181kcma26wngrq3vzw2sp2hwkdcjryyin";
+       buildDepends = [
+         attoparsec base blaze-markup blaze-svg containers
+         data-default-class diagrams-lib directory parsec split text tuple
+         vector vector-space xml
+       ];
+       description = "Fonts from the SVG-Font format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SVGPath" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "SVGPath";
+       version = "1.1.2";
+       sha256 = "1a4rmp1rn6jv8nkab688i146ywiv4w6fp5bpm0slwgda2x0h6lp4";
+       buildDepends = [ base parsec ];
+       description = "Parsing the path command of SVG";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SWMMoutGetMB" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-binary-ieee754
+     , split
+     }:
+     mkDerivation {
+       pname = "SWMMoutGetMB";
+       version = "0.1.0.0";
+       sha256 = "069076ckklky3hw26ff82kqnambb7yfcwf76dwzp7cahp8fpvq6l";
+       buildDepends = [
+         base binary bytestring data-binary-ieee754 split
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/siddhanathan/SWMMoutGetMB";
+       description = "A parser for SWMM 5 binary .OUT files";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "SableCC2Hs" = callPackage
+    ({ mkDerivation, array, base, containers, filepath, loch-th, pretty
+     , text, transformers, wl-pprint-text, xml
+     }:
+     mkDerivation {
+       pname = "SableCC2Hs";
+       version = "0.0.1.0";
+       sha256 = "1sngk170p5wyi3sgjkl74fr3k570fbfabhbg0dnp8z4iw53d8jfl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers filepath loch-th pretty text transformers
+         wl-pprint-text xml
+       ];
+       jailbreak = true;
+       description = "Generate a parser (in Haskell) with the SableCC parser generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Safe" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Safe";
+       version = "0.1";
+       sha256 = "0ybi5r4635yjx41ig54bm426fbdzrivc5kn8fwqxmzm62ai0v623";
+       buildDepends = [ base ];
+       homepage = "http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php";
+       description = "Library for safe (pattern match free) functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SafeSemaphore" = callPackage
+    ({ mkDerivation, base, containers, HUnit, stm }:
+     mkDerivation {
+       pname = "SafeSemaphore";
+       version = "0.10.1";
+       revision = "1";
+       sha256 = "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91";
+       editedCabalFile = "1b168ec8de4b3958df15b33ba9ab60d8a651d9dd4ea36891d4c31ae81e7ec1cc";
+       buildDepends = [ base containers stm ];
+       testDepends = [ base HUnit ];
+       homepage = "https://github.com/ChrisKuklewicz/SafeSemaphore";
+       description = "Much safer replacement for QSemN, QSem, and SampleVar";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Salsa" = callPackage
+    ({ mkDerivation, base, bytestring, file-embed, glib, mono }:
+     mkDerivation {
+       pname = "Salsa";
+       version = "0.2.0.2";
+       sha256 = "0915mwi1ksa85in03vzm5hqbvk6ih7l0zslg5cmy7j9fc0jhgwgd";
+       buildDepends = [ base bytestring file-embed ];
+       extraLibraries = [ glib mono ];
+       homepage = "http://haskell.org/haskellwiki/Salsa";
+       description = "A .NET Bridge for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) glib;  inherit (pkgs) mono;};
+
+  "ScratchFs" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, HFuse
+     , hsyslog, process, regex-compat, sqlite-simple, unix
+     }:
+     mkDerivation {
+       pname = "ScratchFs";
+       version = "0.1.0.2";
+       sha256 = "0c410hnby7g5qdx1kj3shwxl0m910vl3rj3ayx6f5qsz5by5rczh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath HFuse hsyslog process
+         regex-compat sqlite-simple unix
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/hirschenberger/ScratchFS";
+       description = "Size limited temp filesystem based on fuse";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Scurry" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, network
+     , network-bytestring, parsec, random, stm, time, unix
+     }:
+     mkDerivation {
+       pname = "Scurry";
+       version = "0.0.3";
+       sha256 = "0iwlai8zspz08l3v7qf505mgfxn5v177kqa1x4xfssq7wzxawq8j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers network network-bytestring parsec
+         random stm time unix
+       ];
+       homepage = "http://code.google.com/p/scurry/";
+       description = "A cross platform P2P VPN application built using Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SegmentTree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "SegmentTree";
+       version = "0.3";
+       sha256 = "1hagm0y9x2j1wcgk5ibxnlh2slnxfggn79cq20ws0zvd4yqw3231";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Data structure for querying the set (or count) of intervals covering given point";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Semantique" = callPackage
+    ({ mkDerivation, base, bytestring, classify, containers, mongoDB
+     , mtl, network, process, split, tagsoup, text
+     }:
+     mkDerivation {
+       pname = "Semantique";
+       version = "0.3.0";
+       sha256 = "1l334lvm56xr7rw135l6nj7iz4h1yskl1fcrr5rdimlw7dyw2cr8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring classify containers mongoDB mtl network process
+         split tagsoup text
+       ];
+       jailbreak = true;
+       description = "Command-line tool for maintaining the Semantique database";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Semigroup" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl }:
+     mkDerivation {
+       pname = "Semigroup";
+       version = "0.0.7";
+       sha256 = "1mdw1z50gr02j5hycki5rl95b1yk7xfrdk056ajw9ghw48s0jpx6";
+       buildDepends = [ base bytestring containers mtl ];
+       homepage = "https://bitbucket.org/dibblego/semigroup/";
+       description = "A semigroup";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SessionLogger" = callPackage
+    ({ mkDerivation, base, directory, filepath, hslogger, mtl
+     , old-locale, random, time
+     }:
+     mkDerivation {
+       pname = "SessionLogger";
+       version = "0.3.0.0";
+       sha256 = "1zgjslf9p64aa7dwww44jq2f6iic1192ic98gmjsjj5ww8anl8c3";
+       buildDepends = [
+         base directory filepath hslogger mtl old-locale random time
+       ];
+       jailbreak = true;
+       description = "Easy Loggingframework";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ShellCheck" = callPackage
+    ({ mkDerivation, base, containers, directory, json, mtl, parsec
+     , QuickCheck, regex-compat, transformers
+     }:
+     mkDerivation {
+       pname = "ShellCheck";
+       version = "0.3.6";
+       sha256 = "0313i6h9m57g1ly5jviczvgbcvv8wdy0fi6hrws879zb745rb7zi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory json mtl parsec QuickCheck regex-compat
+         transformers
+       ];
+       testDepends = [
+         base containers directory json mtl parsec QuickCheck regex-compat
+         transformers
+       ];
+       homepage = "http://www.shellcheck.net/";
+       description = "Shell script analysis tool";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "Shellac" = callPackage
+    ({ mkDerivation, base, directory, mtl, unix }:
+     mkDerivation {
+       pname = "Shellac";
+       version = "0.9.5.2";
+       sha256 = "1js9la0hziqsmb56q9kzfycda2sw3xm4kv2y5q2h3zlw5gzc5xli";
+       buildDepends = [ base directory mtl unix ];
+       homepage = "http://rwd.rdockins.name/shellac/home/";
+       description = "A framework for creating shell envinronments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Shellac-compatline" = callPackage
+    ({ mkDerivation, base, Shellac, Shellac-editline }:
+     mkDerivation {
+       pname = "Shellac-compatline";
+       version = "0.9.5.2";
+       sha256 = "134m0krbd3vlswjxdfvv9xy9x962g7ksg1mqmmgczss9ph2dx08i";
+       buildDepends = [ base Shellac Shellac-editline ];
+       homepage = "http://rwd.rdockins.name/shellac/home/";
+       description = "\"compatline\" backend module for Shellac";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Shellac-editline" = callPackage
+    ({ mkDerivation, base, editline, Shellac }:
+     mkDerivation {
+       pname = "Shellac-editline";
+       version = "0.9.5.2";
+       sha256 = "14x4w4msh99c8vzhlv88ixb8yx43k178qz7504na68820389l9ah";
+       buildDepends = [ base editline Shellac ];
+       homepage = "http://rwd.rdockins.name/shellac/home/";
+       description = "Editline backend module for Shellac";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Shellac-haskeline" = callPackage
+    ({ mkDerivation, base, haskeline, mtl, Shellac }:
+     mkDerivation {
+       pname = "Shellac-haskeline";
+       version = "0.2.0.2";
+       sha256 = "0q70d5arw1yg0f8b6p3k0g3i4jbh2d8rp1cchswd3ynhinzhrnqg";
+       buildDepends = [ base haskeline mtl Shellac ];
+       description = "Haskeline backend module for Shellac";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Shellac-readline" = callPackage
+    ({ mkDerivation, base, readline, Shellac }:
+     mkDerivation {
+       pname = "Shellac-readline";
+       version = "0.9.5.2";
+       sha256 = "0248zzp40gadcc4xkr5dmjc4phq0xz9j4sirdncnr62y3pi4zi0n";
+       buildDepends = [ base readline Shellac ];
+       homepage = "http://rwd.rdockins.name/shellac/home/";
+       description = "Readline backend module for Shellac";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ShowF" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ShowF";
+       version = "0.1.1";
+       sha256 = "1nq4i4h43nfh86f6wgwng1ps6mcdl1ba96x9wsjl3qzn3blavyfh";
+       buildDepends = [ base ];
+       homepage = "https://github.com/conal/ShowF/";
+       description = "Show for * -> *";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Shu-thing" = callPackage
+    ({ mkDerivation, base, GLUT }:
+     mkDerivation {
+       pname = "Shu-thing";
+       version = "1.1.3";
+       sha256 = "185vcxd3qvii9k0134j634x6znvk7v83sj24a4dnw7jjsax0kqiv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT ];
+       homepage = "http://www.geocities.jp/takascience/index_en.html";
+       description = "A vector shooter game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SimpleAES" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mwc-random }:
+     mkDerivation {
+       pname = "SimpleAES";
+       version = "0.4.2";
+       sha256 = "0s85xgwrhldyr2w3kcn9f72yjajmpz3d4dizq9p9z97rx4qva4vj";
+       buildDepends = [ base binary bytestring mwc-random ];
+       description = "Fast AES encryption/decryption for bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SimpleEA" = callPackage
+    ({ mkDerivation, base, mersenne-random-pure64, MonadRandom }:
+     mkDerivation {
+       pname = "SimpleEA";
+       version = "0.2.1";
+       sha256 = "0qimm9y138jjnzy5i6s5b7899rkxahk7p2kcwfry0gdq2pcb68vr";
+       buildDepends = [ base mersenne-random-pure64 MonadRandom ];
+       homepage = "http://www.github.com/ehamberg/simpleea/";
+       description = "Simple evolutionary algorithm framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SimpleGL" = callPackage
+    ({ mkDerivation, base, GLFW, JuicyPixels, OpenGL, SimpleH, vector
+     }:
+     mkDerivation {
+       pname = "SimpleGL";
+       version = "0.9.3";
+       sha256 = "0c674q5jiqvscc53m0z5vkmljla29pcll15gbvxr86pqxwmqm5hr";
+       buildDepends = [ base GLFW JuicyPixels OpenGL SimpleH vector ];
+       jailbreak = true;
+       description = "A Simple Graphics Library from the SimpleH framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SimpleH" = callPackage
+    ({ mkDerivation, base, bytestring, clock, containers, cpu
+     , directory, filepath, network, time, unix
+     }:
+     mkDerivation {
+       pname = "SimpleH";
+       version = "1.2";
+       sha256 = "0g05yplsm65xmx7brdcqy5kc8qcmzj96vywicwqpmigcv8pi9zmc";
+       buildDepends = [
+         base bytestring clock containers cpu directory filepath network
+         time unix
+       ];
+       jailbreak = true;
+       description = "A light, clean and powerful Haskell utility library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SimpleLog" = callPackage
+    ({ mkDerivation, ansi-terminal, attoparsec, base, bytestring
+     , containers, directory, ForkableT, monad-control, mtl, old-locale
+     , resourcet, semigroups, stm, template-haskell, text, th-lift, time
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "SimpleLog";
+       version = "0.1.0.3";
+       sha256 = "12fjdmaxcpgp13gr1s25ybb5fysvbcg40j9yb29wvpbmf67xrsbw";
+       buildDepends = [
+         ansi-terminal attoparsec base bytestring containers directory
+         ForkableT monad-control mtl old-locale resourcet semigroups stm
+         template-haskell text th-lift time transformers transformers-base
+       ];
+       homepage = "https://github.com/exFalso/SimpleLog/";
+       description = "Simple, configurable logging";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SizeCompare" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "SizeCompare";
+       version = "0.1";
+       sha256 = "0f53vggmc1ysi1rn8zd2kafi45w20d6j7iv1jgnrqy7izpah91a7";
+       buildDepends = [ base containers ];
+       description = "Fast size comparison for standard containers";
+       license = "GPL";
+     }) {};
+
+  "Smooth" = callPackage
+    ({ mkDerivation, base, containers, DifferenceLogic
+     , FirstOrderTheory, HUnit, Proper
+     }:
+     mkDerivation {
+       pname = "Smooth";
+       version = "0.1.0.1";
+       sha256 = "0rwl5dw1vpgszhs7pjk146kp8h8n3ggvpby9y18fr7zsqgsckzcd";
+       buildDepends = [
+         base containers DifferenceLogic FirstOrderTheory HUnit Proper
+       ];
+       jailbreak = true;
+       description = "A tiny, lazy SMT solver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SmtLib" = callPackage
+    ({ mkDerivation, base, parsec, transformers }:
+     mkDerivation {
+       pname = "SmtLib";
+       version = "0.1.0.0";
+       sha256 = "0wmdzl3anbbfqik2kl2wjy57cd9r3ix8h8g28rmzqbvlajrvqcv1";
+       buildDepends = [ base parsec transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/MfesGA/HsmtlibParser";
+       description = "Library for parsing SMTLIB2";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Snusmumrik" = callPackage
+    ({ mkDerivation, base, bytestring, convertible, cpphs, directory
+     , filepath, haskell98, HDBC, HDBC-sqlite3, HFuse, hslogger, iconv
+     , LibZip, regex-tdfa, stm, unix, utf8-string, xml, zip
+     }:
+     mkDerivation {
+       pname = "Snusmumrik";
+       version = "0.0.1";
+       sha256 = "1f4d493hnv7fag9c2p2hnm0kc6b705z7mgdk4z6s4g24536j4ksk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring convertible directory filepath haskell98 HDBC
+         HDBC-sqlite3 HFuse hslogger iconv LibZip regex-tdfa stm unix
+         utf8-string xml
+       ];
+       buildTools = [ cpphs ];
+       extraLibraries = [ zip ];
+       jailbreak = true;
+       homepage = "http://bitbucket.org/jetxee/snusmumrik/";
+       description = "E-library directory based on FUSE virtual file system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) zip;};
+
+  "SoOSiM" = callPackage
+    ({ mkDerivation, base, concurrent-supply, containers
+     , monad-coroutine, mtl, stm, transformers
+     }:
+     mkDerivation {
+       pname = "SoOSiM";
+       version = "0.2.1.0";
+       sha256 = "0ghblkhf942gcidsvah8z6wigymzfng1010mp17pvacizamakcmp";
+       buildDepends = [
+         base concurrent-supply containers monad-coroutine mtl stm
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.soos-project.eu/";
+       description = "Abstract full system simulator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SoccerFun" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, binary, derive
+     , directory, mtl, process, random, zlib
+     }:
+     mkDerivation {
+       pname = "SoccerFun";
+       version = "0.5.2";
+       sha256 = "0xwgj4k1gn84sb8jc2nyxnvfp8sdmy4x5428fpvmn6n6ca8h6f17";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols binary derive directory mtl process
+         random zlib
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.ru.nl/~peter88/SoccerFun/SoccerFun.html";
+       description = "Football simulation framework for teaching functional programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SoccerFunGL" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, binary, GLUT, OpenGL
+     , process, random, SoccerFun
+     }:
+     mkDerivation {
+       pname = "SoccerFunGL";
+       version = "0.5.1";
+       sha256 = "1rzqibia10pl4yy64g5pqiqidhn109z0hlf38z3s57hx2zqqi9if";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols binary GLUT OpenGL process random
+         SoccerFun
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.ru.nl/~peter88/SoccerFun/SoccerFun.html";
+       description = "OpenGL UI for the SoccerFun framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Sonnex" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "Sonnex";
+       version = "0.1.0.3";
+       sha256 = "0fqaw4wh7ml35kl75qsvqsq17g5pndf7x6clcmqxpwayjn2syzda";
+       buildDepends = [ base ];
+       testDepends = [ base QuickCheck ];
+       homepage = "https://github.com/Zigazou/Sonnex";
+       description = "Sonnex is an alternative to Soundex for french language";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "SourceGraph" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, fgl, filepath
+     , Graphalyze, graphviz, haskell-src-exts, mtl, multiset, random
+     }:
+     mkDerivation {
+       pname = "SourceGraph";
+       version = "0.7.0.6";
+       sha256 = "03psglm6xyqvcgnbimidafy51kwpipk5q6s8ip5vhjm2d5makkhm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory fgl filepath Graphalyze graphviz
+         haskell-src-exts mtl multiset random
+       ];
+       jailbreak = true;
+       description = "Static code analysis using graph-theoretic techniques";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SpaceInvaders" = callPackage
+    ({ mkDerivation, array, base, HGL, random, Yampa }:
+     mkDerivation {
+       pname = "SpaceInvaders";
+       version = "0.4.2";
+       sha256 = "1idy95ym336c19rcvvrm8j9lgf77bs10hhmrnw2jc55m1z93m683";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base HGL random Yampa ];
+       homepage = "http://www.haskell.org/yampa/";
+       description = "Video game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "SpacePrivateers" = callPackage
+    ({ mkDerivation, base, containers, enummapset-th, filepath
+     , LambdaHack, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "SpacePrivateers";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "0gj709knv4lvz34900jigb1hiq35acbbl86iwa5yszibm8f0drkh";
+       editedCabalFile = "b59d607892ad860616cef196c83ff54388204102eae597acf88467a2f54764bf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers enummapset-th filepath LambdaHack template-haskell
+         text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tuturto/space-privateers";
+       description = "Simple space pirate roguelike";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SpinCounter" = callPackage
+    ({ mkDerivation, base, monad-loops, ref-mtl, stm }:
+     mkDerivation {
+       pname = "SpinCounter";
+       version = "0.0.1";
+       sha256 = "1rf9r69a2k3qfmy2nvwm3gdimncjglsv698rdc8i8gnjwrr0c1i2";
+       buildDepends = [ base monad-loops ref-mtl stm ];
+       homepage = "https://github.com/Julek";
+       description = "Lock free Spin Counter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Spock" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , case-insensitive, containers, directory, hashable, hspec
+     , hspec-wai, http-types, monad-control, mtl, old-locale
+     , path-pieces, random, reroute, resource-pool, resourcet, stm, text
+     , time, transformers, transformers-base, unordered-containers
+     , vault, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "Spock";
+       version = "0.7.7.0";
+       sha256 = "0jswrqbkqfznbiih603l59rp375nb73kvscjl8jrgw7a5d0qiy8c";
+       buildDepends = [
+         aeson base base64-bytestring bytestring case-insensitive containers
+         directory hashable http-types monad-control mtl old-locale
+         path-pieces random reroute resource-pool resourcet stm text time
+         transformers transformers-base unordered-containers vault wai
+         wai-extra warp
+       ];
+       testDepends = [ base hspec hspec-wai http-types text wai ];
+       homepage = "https://github.com/agrafix/Spock";
+       description = "Another Haskell web framework for rapid development";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Spock-auth" = callPackage
+    ({ mkDerivation, base, http-types, Spock, text, time }:
+     mkDerivation {
+       pname = "Spock-auth";
+       version = "0.2.0.1";
+       sha256 = "1vcrl5dqjn0ri9ybza2yv80xvbv2iwrz5hj5rbhgy6i803ixlpx0";
+       buildDepends = [ base http-types Spock text time ];
+       jailbreak = true;
+       homepage = "https://github.com/agrafix/Spock-auth";
+       description = "Provides authentification helpers for Spock";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Spock-digestive" = callPackage
+    ({ mkDerivation, base, digestive-functors, http-types, mtl, Spock
+     , text, unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "Spock-digestive";
+       version = "0.1.0.0";
+       sha256 = "044cw2hfgwa21kjbmby5asfmdjahhadk8iyqk221pixddw7z6s67";
+       buildDepends = [
+         base digestive-functors http-types mtl Spock text
+         unordered-containers wai
+       ];
+       homepage = "https://github.com/agrafix/Spock-digestive";
+       description = "Digestive functors support for Spock";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Spock-worker" = callPackage
+    ({ mkDerivation, base, containers, HTF, lifted-base, mtl, Spock
+     , stm, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "Spock-worker";
+       version = "0.2.1.3";
+       sha256 = "0pxh7ccqb6xpab0807vsfb65lk4bafa44fram1f4d84slggyn1a1";
+       buildDepends = [
+         base containers lifted-base mtl Spock stm text time transformers
+         vector
+       ];
+       testDepends = [ base containers HTF stm vector ];
+       homepage = "http://github.com/agrafix/Spock-worker";
+       description = "Background workers for Spock";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "SpreadsheetML" = callPackage
+    ({ mkDerivation, base, xml }:
+     mkDerivation {
+       pname = "SpreadsheetML";
+       version = "0.1";
+       sha256 = "14d3fk0cal0svb2clbhbbk48fygwvb0k01aawfm72576mrz9mb18";
+       buildDepends = [ base xml ];
+       description = "Write support for Excel's SpreadsheetML format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Sprig" = callPackage
+    ({ mkDerivation, base, SDL }:
+     mkDerivation {
+       pname = "Sprig";
+       version = "0.1.1";
+       sha256 = "06jxs1hc69viv38nvafhn8ilj3xn2j9k543abgd8p69gc95w1lbn";
+       buildDepends = [ base SDL ];
+       homepage = "http://liamoc.net/static/Sprig";
+       description = "Binding to Sprig";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Stasis" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "Stasis";
+       version = "0.0.1";
+       sha256 = "1pycmc30hg7vzf3addl0kdd74hpamzg3c1z4fj6fzr4542afhcq8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       homepage = "https://github.com/zcourts/Stasis";
+       description = "A simple MVCC like library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "StateVar" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "StateVar";
+       version = "1.1.0.0";
+       sha256 = "0zixg7wzqvllxrlxhlqfchxfbpridckfam1wb81n6lfl2kq676d1";
+       buildDepends = [ base stm transformers ];
+       homepage = "https://github.com/haskell-opengl/StateVar";
+       description = "State variables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "StateVar-transformer" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "StateVar-transformer";
+       version = "1.0.0.0";
+       sha256 = "1dbpxwjz6yf4ap20wm5ngvd0i0knkjsdahmd90ymddqj82v8w3d0";
+       buildDepends = [ base mtl transformers ];
+       homepage = "http://github.com/seagull-kamome/StateVar-transformer";
+       description = "State variables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "StatisticalMethods" = callPackage
+    ({ mkDerivation, base, statistics, tuple, vector }:
+     mkDerivation {
+       pname = "StatisticalMethods";
+       version = "0.0.0.1";
+       sha256 = "1h90i6crknxv23zryqi7mfzg65g1ydv62mza1hiri66jlmdahir6";
+       buildDepends = [ base statistics tuple vector ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/Haskell/";
+       description = "Collection of useful statistical methods";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Stomp" = callPackage
+    ({ mkDerivation, base, binary, bytestring, network, time
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "Stomp";
+       version = "0.1.1";
+       sha256 = "0fdibnhab5j03df70pfg9psk6ah80a91ds4nmlb0rdlldddbi3wn";
+       buildDepends = [ base binary bytestring network time utf8-string ];
+       homepage = "http://github.com/rukav/Stomp";
+       description = "Client library for Stomp brokers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Strafunski-ATermLib" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "Strafunski-ATermLib";
+       version = "1.6.0.3";
+       sha256 = "1cicz4d5kyl9j4y3p79m3fk56vcqk3220a6y536dw525x6180dzw";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       description = "An abstract data type designed for the exchange of tree-like data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Strafunski-Sdf2Haskell" = callPackage
+    ({ mkDerivation, base, directory, haskell-src, mtl, pretty, process
+     , Strafunski-ATermLib, Strafunski-StrategyLib, template-haskell
+     }:
+     mkDerivation {
+       pname = "Strafunski-Sdf2Haskell";
+       version = "1.0.0.2";
+       sha256 = "0h73yj74pl0k3p7vamqhw1jz36pvh8kfpw58gkmskdmkh7j6wb30";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory haskell-src mtl pretty process Strafunski-ATermLib
+         Strafunski-StrategyLib template-haskell
+       ];
+       jailbreak = true;
+       description = "Converts SDF to Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Strafunski-StrategyLib" = callPackage
+    ({ mkDerivation, base, directory, mtl, syb, transformers }:
+     mkDerivation {
+       pname = "Strafunski-StrategyLib";
+       version = "5.0.0.7";
+       sha256 = "0dsa3zg24rk52zyyh2y13sb0fnh01vwq0y2yybyiy3vkc7pznjvq";
+       buildDepends = [ base directory mtl syb transformers ];
+       jailbreak = true;
+       description = "Library for strategic programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "StrappedTemplates" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , filemanip, filepath, hspec, mtl, parsec, text, transformers
+     }:
+     mkDerivation {
+       pname = "StrappedTemplates";
+       version = "0.2.0.0";
+       sha256 = "0l2zdn3brrlsii9j14gfg7nfjvwswqgsnm7l4hcy51a6k0s3pnn7";
+       buildDepends = [
+         base blaze-builder bytestring containers filemanip filepath mtl
+         parsec text transformers
+       ];
+       testDepends = [ base blaze-builder bytestring hspec text ];
+       jailbreak = true;
+       homepage = "https://github.com/hansonkd/StrappedTemplates";
+       description = "General purpose templates in haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "StrategyLib" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "StrategyLib";
+       version = "4.0.0.0";
+       sha256 = "1sskndywpm1gi4bs4i1gah73jk49inlscg4jzcqhq0phb8f886xk";
+       buildDepends = [ base mtl ];
+       homepage = "http://naesten.dyndns.org:8080/repos/StrategyLib";
+       license = stdenv.lib.licenses.unfree;
+     }) {};
+
+  "Stream" = callPackage
+    ({ mkDerivation, base, lazysmallcheck, QuickCheck }:
+     mkDerivation {
+       pname = "Stream";
+       version = "0.4.7.2";
+       sha256 = "1l87l0kl4awzdyx6b28npwy6xf03r39d89iharsh06zgnd4y42wr";
+       buildDepends = [ base lazysmallcheck QuickCheck ];
+       description = "A library for manipulating infinite lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "StrictBench" = callPackage
+    ({ mkDerivation, base, benchpress, parallel }:
+     mkDerivation {
+       pname = "StrictBench";
+       version = "0.1.1";
+       sha256 = "1l4l77rjhl5g9089kjyarsrvbvm43bk370ld50qp17dqhvisl73m";
+       buildDepends = [ base benchpress parallel ];
+       homepage = "http://bonsaicode.wordpress.com/2009/06/07/strictbench-0-1/";
+       description = "Benchmarking code through strict evaluation";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "SybWidget" = callPackage
+    ({ mkDerivation, base, containers, mtl, syb-with-class
+     , template-haskell, TypeCompose
+     }:
+     mkDerivation {
+       pname = "SybWidget";
+       version = "0.5.6";
+       sha256 = "0m3papl90fs3zmlqxsjn0cymk049352cl42bif2x7gij75cv2b68";
+       buildDepends = [
+         base containers mtl syb-with-class template-haskell TypeCompose
+       ];
+       jailbreak = true;
+       description = "Library which aids constructing generic (SYB3-based) widgets";
+       license = "LGPL";
+     }) {};
+
+  "SyntaxMacros" = callPackage
+    ({ mkDerivation, AspectAG, base, containers, HList, ListLike
+     , template-haskell, TTTAS, uu-parsinglib, uulib
+     }:
+     mkDerivation {
+       pname = "SyntaxMacros";
+       version = "1.0.3";
+       sha256 = "155vkv7kg026zc2crywdyna1df98mw41qm0sadqihaj49xk59vyc";
+       buildDepends = [
+         AspectAG base containers HList ListLike template-haskell TTTAS
+         uu-parsinglib uulib
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/Center/SyntaxMacrosForFree";
+       description = "Syntax Macros in the form of an EDSL";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Sysmon" = callPackage
+    ({ mkDerivation, base, ConfigFile, filepath, fingertree, Glob
+     , MissingH, mtl, old-locale, pretty, statistics, template-haskell
+     , time, vector
+     }:
+     mkDerivation {
+       pname = "Sysmon";
+       version = "0.1.2";
+       sha256 = "1zyp333vicjarcmip2q52nzfv948yl2q6qr3k3glp4v4m8f75ap3";
+       buildDepends = [
+         base ConfigFile filepath fingertree Glob MissingH mtl old-locale
+         pretty statistics template-haskell time vector
+       ];
+       homepage = "http://github.com/rukav/Sysmon";
+       description = "Sybase 15 sysmon reports processor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TBC" = callPackage
+    ({ mkDerivation, base, Cabal, deepseq, directory, filepath, process
+     , unix
+     }:
+     mkDerivation {
+       pname = "TBC";
+       version = "0.0.3";
+       sha256 = "1063ckv034mb6s41xy8pr387y1hnknkyk4r29vmzdrm3pdcyzdn3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal deepseq directory filepath process unix
+       ];
+       description = "Testing By Convention";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TBit" = callPackage
+    ({ mkDerivation, base, containers, deepseq, fgl, free, haskeline
+     , hmatrix, integration, list-extras, mtl, numeric-tools, parallel
+     , stream-fusion
+     }:
+     mkDerivation {
+       pname = "TBit";
+       version = "0.4.2.0";
+       sha256 = "0qccd23x1qcng207dl82h7wifh2cc7aaapf9qrg0m5jz3fa5cvkm";
+       buildDepends = [
+         base containers deepseq fgl free haskeline hmatrix integration
+         list-extras mtl numeric-tools parallel stream-fusion
+       ];
+       jailbreak = true;
+       description = "Utilities for condensed matter physics tight binding calculations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TCache" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , hashtables, mtl, old-time, RefSerialize, stm, text
+     }:
+     mkDerivation {
+       pname = "TCache";
+       version = "0.12.0";
+       sha256 = "0marslz5jg66r3i2d0yjjrj11bpywpadcxs5k4j6782iczxybd7s";
+       buildDepends = [
+         base bytestring containers directory hashtables mtl old-time
+         RefSerialize stm text
+       ];
+       description = "A Transactional cache with user-defined persistence";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TTTAS" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "TTTAS";
+       version = "0.4.2";
+       sha256 = "0wag5mnhn6h3gp92w0amngqfdwwbsmvdwmcpymxq6zjj6zmdzs7k";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/Center/TTTAS";
+       description = "Typed Transformations of Typed Abstract Syntax";
+       license = "LGPL";
+     }) {};
+
+  "TV" = callPackage
+    ({ mkDerivation, base, DeepArrow, TypeCompose }:
+     mkDerivation {
+       pname = "TV";
+       version = "0.5.0";
+       sha256 = "0vz9j5vjypnkbzld18f6kczfj54disf43x5052s4n7gqzsjxpxvb";
+       buildDepends = [ base DeepArrow TypeCompose ];
+       homepage = "http://haskell.org/haskellwiki/TV";
+       description = "Tangible Values -- composable interfaces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TYB" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "TYB";
+       version = "0.2.3";
+       sha256 = "1rdwj6dg156i60i7s8xr310j0yza41jjqk6pmgx2giqjs122dz5n";
+       buildDepends = [
+         array base containers mtl template-haskell transformers
+       ];
+       description = "Template Your Boilerplate - a Template Haskell version of SYB";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TableAlgebra" = callPackage
+    ({ mkDerivation, base, containers, HaXml, mtl, pretty
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "TableAlgebra";
+       version = "0.7.1";
+       sha256 = "1jqkjnyznklyiy2shm4c9gix267war1hmsjncdmailhca41fs4bz";
+       buildDepends = [
+         base containers HaXml mtl pretty template-haskell
+       ];
+       description = "Ferry Table Algebra";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Tables" = callPackage
+    ({ mkDerivation, base, cookbook }:
+     mkDerivation {
+       pname = "Tables";
+       version = "0.1.0.2";
+       sha256 = "02a6awbqwhmv7c74lgbp35ykqn31mgwp7ffd0j4rs42vv1a4ffkr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cookbook ];
+       jailbreak = true;
+       description = "A client for Quill databases";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Tablify" = callPackage
+    ({ mkDerivation, base, parsec, xhtml }:
+     mkDerivation {
+       pname = "Tablify";
+       version = "0.8.2";
+       sha256 = "10w3idjhrgmkrkjblrmb2wb2s2fg657nw5rmg5k147wrgrkzbsz3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base parsec xhtml ];
+       homepage = "http://www.storytotell.org/code/tablify";
+       description = "Tool to render CSV into tables of various formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Takusen" = callPackage
+    ({ mkDerivation, base, mtl, old-time, time }:
+     mkDerivation {
+       pname = "Takusen";
+       version = "0.8.7";
+       sha256 = "0mxck66rz6lplgcl3a3i0gaybc2ki0q7wfilhkp2f3h3m50fg7wy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl old-time time ];
+       description = "Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Tape" = callPackage
+    ({ mkDerivation, base, comonad, distributive, Stream }:
+     mkDerivation {
+       pname = "Tape";
+       version = "0.4.0.0";
+       sha256 = "1d66l67cicn3q4a6glfxfkhc9cjm7vqi0bnyjad0bzyyv409j6bp";
+       buildDepends = [ base comonad distributive Stream ];
+       homepage = "https://github.com/kwf/Tape";
+       description = "Bidirectionally infinite streams, akin to the tape of a Turing machine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TeaHS" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, SDL, SDL-image
+     , SDL-mixer, SFont, Sprig
+     }:
+     mkDerivation {
+       pname = "TeaHS";
+       version = "0.3.1";
+       sha256 = "1326lrpkw2gyn7y9px38gyzi2cnx87ki65r6mwds746d1s1zmmcn";
+       buildDepends = [
+         array base containers mtl SDL SDL-image SDL-mixer SFont Sprig
+       ];
+       homepage = "http://liamoc.net/tea";
+       description = "TeaHS Game Creation Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Tensor" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Tensor";
+       version = "1.1.0.1";
+       sha256 = "1q8infjcszbbfqybg1fv33fy33chyvj2nbj9d2sxvsixx57hm12m";
+       buildDepends = [ base ];
+       homepage = "https://github.com/svenpanne/Tensor";
+       description = "Tensor data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TernaryTrees" = callPackage
+    ({ mkDerivation, base, binary }:
+     mkDerivation {
+       pname = "TernaryTrees";
+       version = "0.2.0.2";
+       sha256 = "06m4mi9cl16sfyn9wibb0ph32vhgf501adjq059s3hdlxr4acdwr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary ];
+       description = "Efficient pure ternary tree Sets and Maps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Theora" = callPackage
+    ({ mkDerivation, base, ogg, theora }:
+     mkDerivation {
+       pname = "Theora";
+       version = "1.0";
+       sha256 = "1gw97mxwb6ywc4qvfggjzsryl0m4g6g30ljx4xcvy6snfmgv00ig";
+       buildDepends = [ base ];
+       extraLibraries = [ ogg theora ];
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { ogg = null;  theora = null;};
+
+  "Thingie" = callPackage
+    ({ mkDerivation, base, cairo, gtk, mtl }:
+     mkDerivation {
+       pname = "Thingie";
+       version = "0.80";
+       sha256 = "0fl6pk2vp765gyzc4afjdg0lgbnh5v08gfbp0kzny4ng25bmxqwa";
+       buildDepends = [ base cairo gtk mtl ];
+       description = "Purely functional 2D drawing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ThreadObjects" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ThreadObjects";
+       version = "0.0";
+       sha256 = "0rpcv6kw351ykj36f83qdqygrhk4ylqlcgcswxl8gg1v33jaaqmz";
+       buildDepends = [ base ];
+       description = "Mutable objects that reside in their own threads";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "Thrift" = callPackage
+    ({ mkDerivation, base, binary, bytestring, ghc-prim, HTTP, network
+     }:
+     mkDerivation {
+       pname = "Thrift";
+       version = "0.6.0.1";
+       revision = "1";
+       sha256 = "0yk496zql0jpyj83ybdzffc03sylf5pwn093k831m99j54l2r5yv";
+       editedCabalFile = "56a8ab041685777391702f1475e5c2a3462b36765bd53de2e21e1f55aa5999d9";
+       buildDepends = [ base binary bytestring ghc-prim HTTP network ];
+       jailbreak = true;
+       homepage = "http://thrift.apache.org";
+       description = "Haskell bindings for the Apache Thrift RPC system";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TicTacToe" = callPackage
+    ({ mkDerivation, base, containers, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "TicTacToe";
+       version = "0.0.1";
+       sha256 = "0542hripn5nlwdvnhkd9xzzh2b1x6alwnqxq877r92c7kqnlffw4";
+       buildDepends = [
+         base containers HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "A sub-project (exercise) for a functional programming course";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TigerHash" = callPackage
+    ({ mkDerivation, base, binary, bytestring, dataenc }:
+     mkDerivation {
+       pname = "TigerHash";
+       version = "0.2";
+       sha256 = "02plz1y7lmvp3jpl5srsnx2nkl6yhhfn6pqj00szs688cahk2dik";
+       buildDepends = [ base binary bytestring dataenc ];
+       description = "TigerHash with C implementation";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "TimePiece" = callPackage
+    ({ mkDerivation, base, containers, old-locale, old-time, random
+     , SDL, SDL-gfx, SDL-image, SDL-ttf
+     }:
+     mkDerivation {
+       pname = "TimePiece";
+       version = "0.0.5";
+       sha256 = "1ylf4kzyf947szgib0ivkvygbinmy97nvy77d0crryzxdmccrzbj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers old-locale old-time random SDL SDL-gfx SDL-image
+         SDL-ttf
+       ];
+       description = "A simple tile-based digital clock screen saver";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TinyLaunchbury" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "TinyLaunchbury";
+       version = "1.0.1";
+       sha256 = "1xxadd8pqbgl0z8vrqn8fm6x0c9l2y3a7irjmjkh9750x6hdb4b9";
+       buildDepends = [ base mtl ];
+       description = "Simple implementation of call-by-need using Launchbury's semantics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TinyURL" = callPackage
+    ({ mkDerivation, base, HTTP, network }:
+     mkDerivation {
+       pname = "TinyURL";
+       version = "0.1.0";
+       sha256 = "0y8bl6w3ix2zjhm10wazgi70sr02ydc3hrwjbr6whk341n140wsh";
+       buildDepends = [ base HTTP network ];
+       description = "Use TinyURL to compress URLs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Titim" = callPackage
+    ({ mkDerivation, base, containers, matrix, random }:
+     mkDerivation {
+       pname = "Titim";
+       version = "0.2.3";
+       sha256 = "1s8zvb38r9pxh55d5206lijprc6xsqnr0j670sdjrw7n8gyn7vav";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers matrix random ];
+       description = "Game for Lounge Marmelade";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Top" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec }:
+     mkDerivation {
+       pname = "Top";
+       version = "1.7";
+       sha256 = "0ykicqwayja14z30hn5cy3c96sikqhbyrh0bcqykk9izwhxs339x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers mtl parsec ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/Helium/WebHome";
+       description = "Constraint solving framework employed by the Helium Compiler";
+       license = "GPL";
+     }) {};
+
+  "Tournament" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "Tournament";
+       version = "0.0.1";
+       sha256 = "1yzgcsp3g5sfyxavq1firna5z5m9bnk9ddrbxxmpy1yydmj1n5jk";
+       buildDepends = [ base containers mtl ];
+       testDepends = [
+         base containers mtl QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/clux/tournament.hs";
+       description = "Tournament related algorithms";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TraceUtils" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "TraceUtils";
+       version = "0.1.0.2";
+       sha256 = "0la19yynd7bpswi9012hf0vl9c4fdnn8p6y0287xanmdcs9zqz16";
+       buildDepends = [ base ];
+       homepage = "https://github.com/Peaker/TraceUtils";
+       description = "Functions that should have been in Debug.Trace";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TransformersStepByStep" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "TransformersStepByStep";
+       version = "0.1.0.1";
+       sha256 = "0dxxgwcn4in3rpfn77c4g8h6l7326m8ikcsrl7pm6gifw667qpmv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers mtl ];
+       homepage = "http://hackage.haskell.org/package/TransformersStepByStep";
+       description = "Tutorial to monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Transhare" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "Transhare";
+       version = "0.9";
+       sha256 = "04n1ld6h3q71iqnvwyabzj69vdy2x98w0drriyx13ykywbd31036";
+       buildDepends = [ base containers ];
+       description = "A library to apply transformation to containers so as to maximize sharing of unchanged subcomponents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TreeCounter" = callPackage
+    ({ mkDerivation, base, ref-mtl, stm }:
+     mkDerivation {
+       pname = "TreeCounter";
+       version = "0.0.2";
+       sha256 = "06ci4v8gflsgi73wrpqvhb7w3mdkbjgidhqf95yyk4wiga1mrzal";
+       buildDepends = [ base ref-mtl stm ];
+       homepage = "https://github.com/Julek";
+       description = "Wait-free Tree Counter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TreeStructures" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "TreeStructures";
+       version = "0.0.2";
+       sha256 = "1lcj166i8f7850fqjv7xqxdn6zwpdynzxn3bf243wdnwmnn5pysx";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://www.github.com/bhickey/TreeStructures";
+       description = "A collection of heaps and search trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TreeT" = callPackage
+    ({ mkDerivation, base, containers, transformers }:
+     mkDerivation {
+       pname = "TreeT";
+       version = "0.0";
+       sha256 = "0d1k4nblcnksh2j6b4v14r2xd2kn6cmqmyqhmy6wyz3kr0lyzxqd";
+       buildDepends = [ base containers transformers ];
+       description = "Transformer for Data.Tree";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "Treiber" = callPackage
+    ({ mkDerivation, base, ghc-prim, monad-loops, ref-mtl, stm }:
+     mkDerivation {
+       pname = "Treiber";
+       version = "0.0.4";
+       sha256 = "09sd9p1y3zqkfahkp1vgdnlvgv1vnvdl7kdzccsd41h1h61fz3jd";
+       buildDepends = [ base ghc-prim monad-loops ref-mtl stm ];
+       homepage = "https://github.com/Julek";
+       description = "Lock free Treiber stack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TrendGraph" = callPackage
+    ({ mkDerivation, base, containers, diagrams-cairo, diagrams-lib
+     , mtl, optparse-applicative, time
+     }:
+     mkDerivation {
+       pname = "TrendGraph";
+       version = "0.1.0.1";
+       sha256 = "1rdlimlbdpa089knhnqzgxc8ngqag4m4w3r92jd95kwnmr8nizkp";
+       buildDepends = [
+         base containers diagrams-cairo diagrams-lib mtl
+         optparse-applicative time
+       ];
+       jailbreak = true;
+       description = "A simple trend Graph script";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TrieMap" = callPackage
+    ({ mkDerivation, base, bytestring, containers, primitive
+     , template-haskell, th-expand-syns, transformers, unpack-funcs
+     , vector
+     }:
+     mkDerivation {
+       pname = "TrieMap";
+       version = "4.1.0";
+       sha256 = "14wril1sa35cja66y7ah9qwr3bmsi985y7rlxyj12x2fv6dclpc4";
+       buildDepends = [
+         base bytestring containers primitive template-haskell
+         th-expand-syns transformers unpack-funcs vector
+       ];
+       description = "Automatic type inference of generalized tries with Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Twofish" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cereal
+     , crypto-api, HUnit, largeword, mtl, tagged
+     }:
+     mkDerivation {
+       pname = "Twofish";
+       version = "0.3.2";
+       sha256 = "1bv79582fxwgk255fhss6k8irb7mlbdvlvvx8jyzs16g3fyw1y5a";
+       buildDepends = [
+         array base binary bytestring cereal crypto-api largeword mtl tagged
+       ];
+       testDepends = [
+         array base binary bytestring cereal crypto-api HUnit largeword
+         tagged
+       ];
+       homepage = "http://github.com/rleisti/twofish";
+       description = "An implementation of the Twofish Symmetric-key cipher";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TypeClass" = callPackage
+    ({ mkDerivation, base, containers, filepath, random
+     , reactive-banana, reactive-banana-sdl, SDL, SDL-ttf, transformers
+     }:
+     mkDerivation {
+       pname = "TypeClass";
+       version = "0.2.1";
+       sha256 = "0crymgw91xx0hblbmz488x39i2qzf9c15kv5x950ljmpyrhy5jhv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath random reactive-banana reactive-banana-sdl
+         SDL SDL-ttf transformers
+       ];
+       description = "Typing speed game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TypeCompose" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "TypeCompose";
+       version = "0.9.10";
+       sha256 = "1wpldqdf6czl36fs4pvvj2z3kg1487sanqncp4rbmgrrhbfmqxxq";
+       buildDepends = [ base ];
+       homepage = "https://github.com/conal/TypeCompose";
+       description = "Type composition classes & instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "TypeIlluminator" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "TypeIlluminator";
+       version = "0.0";
+       sha256 = "02ck7sik5wvh989k9ban1m2dlpfld0d0zs7sqb12m1f6wls7fghc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 ];
+       homepage = "http://www.cs.kent.ac.uk/people/staff/oc/TypeIlluminator/";
+       description = "TypeIlluminator is a prototype tool exploring debugging of type errors/";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "TypeNat" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "TypeNat";
+       version = "0.1.0.0";
+       sha256 = "1j5v4kmd3hxzzm6xrhxf2vh7rn3b8n4gzb1yppgvxng06p642snb";
+       buildDepends = [ base ];
+       homepage = "https://github.com/avieth/TypeNat";
+       description = "Some Nat-indexed types for GHC";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "TypingTester" = callPackage
+    ({ mkDerivation, base, containers, directory, time }:
+     mkDerivation {
+       pname = "TypingTester";
+       version = "0.2.0.0";
+       sha256 = "07qwvmdh5164v552qkk4fm66nlvb4dcv0wh5jircfgh7gsd60l6n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers directory time ];
+       homepage = "https://github.com/xpika/typingtester";
+       description = "Command Line Typing speed tester";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "UISF" = callPackage
+    ({ mkDerivation, arrows, base, containers, deepseq, GLFW, OpenGL
+     , stm, transformers
+     }:
+     mkDerivation {
+       pname = "UISF";
+       version = "0.3.0.1";
+       sha256 = "0qfhcc0ii7nncfsyxvafwbrx8j6jjdc0jrj56g8jm8vmzsa082kp";
+       buildDepends = [
+         arrows base containers deepseq GLFW OpenGL stm transformers
+       ];
+       homepage = "http://haskell.cs.yale.edu/";
+       description = "Library for Arrowized Graphical User Interfaces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "UMM" = callPackage
+    ({ mkDerivation, base, haskell98, old-time, parsec, process
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "UMM";
+       version = "0.3.1";
+       sha256 = "0k9kvlkcznk6ydfcymzzh0a4j4zkl5iblvnx6fkmk8xah1qnkq5h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base haskell98 old-time parsec process utf8-string
+       ];
+       homepage = "http://www.korgwal.com/umm/";
+       description = "A small command-line accounting tool";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "URLT" = callPackage
+    ({ mkDerivation, applicative-extras, base, Consumer
+     , happstack-server, hsp, hsx, mtl, QuickCheck, regular
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "URLT";
+       version = "0.14";
+       sha256 = "14qlyrc3ins3lwhd2c8lyhm1j3v6nj4qgs5g9xys4w6hnndz2g3s";
+       buildDepends = [
+         applicative-extras base Consumer happstack-server hsp hsx mtl
+         QuickCheck regular template-haskell
+       ];
+       description = "Library for maintaining correctness of URLs within an application";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "URLb" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers }:
+     mkDerivation {
+       pname = "URLb";
+       version = "0.0.1";
+       sha256 = "1l62z7798bby4fbrz62ic802g8zah3flb2pmsd3ky7y5903s3nxr";
+       buildDepends = [ attoparsec base bytestring containers ];
+       homepage = "http://github.com/solidsnack/URLb";
+       description = "DEPRECATED A simple, liberal URL parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Unique" = callPackage
+    ({ mkDerivation, base, containers, hashable, unordered-containers
+     }:
+     mkDerivation {
+       pname = "Unique";
+       version = "0.4";
+       sha256 = "0la9gxr7kl0s606kl5szb1sw3xwh9pnd1ak6iwlxi7b0bm9syik1";
+       buildDepends = [ base containers hashable unordered-containers ];
+       description = "It provides the functionality like unix \"uniq\" utility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Unixutils" = callPackage
+    ({ mkDerivation, base, bytestring, directory, exceptions, filepath
+     , mtl, process, process-extras, pureMD5, regex-tdfa, unix, zlib
+     }:
+     mkDerivation {
+       pname = "Unixutils";
+       version = "1.53";
+       sha256 = "0gh8fii9kc2nah5l0gv1pzlxdxgw962vgr1w9kc5wksf85hgyplr";
+       buildDepends = [
+         base bytestring directory exceptions filepath mtl process
+         process-extras pureMD5 regex-tdfa unix zlib
+       ];
+       homepage = "https://github.com/seereason/haskell-unixutils.git";
+       description = "A crude interface between Haskell and Unix-like operating systems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Unixutils-shadow" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "Unixutils-shadow";
+       version = "1.0.0";
+       sha256 = "11m8lgq2rjvh7j8si7sqixf4k4ns65jy0zp6apqp0xc23c1znyr7";
+       buildDepends = [ base unix ];
+       homepage = "http://src.seereason.com/haskell-unixutils-shadow";
+       description = "A simple interface to shadow passwords (aka, shadow.h)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "UrlDisp" = callPackage
+    ({ mkDerivation, base, cgi, MaybeT, mtl }:
+     mkDerivation {
+       pname = "UrlDisp";
+       version = "0.1.7";
+       sha256 = "1y21v5k7s9sj8z5r3czp5i80x40zvyqxzr1xl28ardwj5q5rrvzp";
+       buildDepends = [ base cgi MaybeT mtl ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/UrlDisp";
+       description = "Url dispatcher. Helps to retain friendly URLs in web applications.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Useful" = callPackage
+    ({ mkDerivation, base, containers, random }:
+     mkDerivation {
+       pname = "Useful";
+       version = "0.0.6";
+       sha256 = "01xb68qh29q6b0pdxvadqw7q1p855k14jdz1qjlhg6785n0qp954";
+       buildDepends = [ base containers random ];
+       description = "Some useful functions and shorthands";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "UtilityTM" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "UtilityTM";
+       version = "0.0.4";
+       sha256 = "1mjy3w4sw32rbmm13yhmpidfsj91v3p58jvki16z0kzk3fswpa85";
+       buildDepends = [ base ];
+       homepage = "https://github.com/tonymorris/utility-tm";
+       description = "Utility functions that are missing from the standard library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "VKHS" = callPackage
+    ({ mkDerivation, aeson, base, bimap, bytestring, containers, curl
+     , curlhs, directory, failure, filepath, mtl, optparse-applicative
+     , parsec, pretty-show, regexpr, safe, split, tagsoup
+     , tagsoup-parsec, template-haskell, text, time, transformers
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "VKHS";
+       version = "0.5.3";
+       sha256 = "06wjfnmws68mgflszsrd5f4g9x1vihvn8srym9ixgfv51m9hzl24";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bimap bytestring containers curlhs directory failure
+         filepath mtl optparse-applicative parsec pretty-show regexpr safe
+         split tagsoup tagsoup-parsec template-haskell text time
+         transformers utf8-string vector
+       ];
+       extraLibraries = [ curl ];
+       homepage = "http://github.com/grwlf/vkhs";
+       description = "Provides access to Vkontakte social network via public API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) curl;};
+
+  "Validation" = callPackage
+    ({ mkDerivation, base, bifunctors, semigroupoids, semigroups }:
+     mkDerivation {
+       pname = "Validation";
+       version = "0.2.0";
+       sha256 = "10smif8y5bgjiarag3ws131kwji32mlh6mqfnmmp20xf41fsm0z3";
+       buildDepends = [ base bifunctors semigroupoids semigroups ];
+       jailbreak = true;
+       homepage = "https://github.com/tonymorris/validation";
+       description = "A data-type like Either but with an accumulating Applicative";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Vec" = callPackage
+    ({ mkDerivation, array, base, ghc-prim }:
+     mkDerivation {
+       pname = "Vec";
+       version = "1.0.5";
+       sha256 = "0hyk553pdn72zc1i82njz3md8ycmzfiwi799y08qr3fg0i8r88zm";
+       buildDepends = [ array base ghc-prim ];
+       homepage = "http://github.net/sedillard/Vec";
+       description = "Fixed-length lists and low-dimensional linear algebra";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Vec-Boolean" = callPackage
+    ({ mkDerivation, base, Boolean, Vec }:
+     mkDerivation {
+       pname = "Vec-Boolean";
+       version = "1.0.6";
+       sha256 = "0zxxpychddmlrv7r190gn4dl282ak4qfk2d92l24qxi9fds1rshk";
+       buildDepends = [ base Boolean Vec ];
+       jailbreak = true;
+       description = "Provides Boolean instances for the Vec package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Vec-OpenGLRaw" = callPackage
+    ({ mkDerivation, base, OpenGLRaw, Vec }:
+     mkDerivation {
+       pname = "Vec-OpenGLRaw";
+       version = "0.2.0.1";
+       sha256 = "0qsi1s8qp3fkr5alh2m7y1a1lm5xypjvmk174ywf0aga2y20bblm";
+       buildDepends = [ base OpenGLRaw Vec ];
+       homepage = "http://www.downstairspeople.org/darcs/Vec-opengl";
+       description = "Instances and functions to interoperate Vec and OpenGL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Vec-Transform" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "Vec-Transform";
+       version = "1.1";
+       sha256 = "0jwi9kgij8xd0419nkksgffwcn94fz6ijdq8s29b771409a1pkfc";
+       homepage = "https://github.com/tobbebex/Vec-Transform";
+       description = "This package is obsolete";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "VecN" = callPackage
+    ({ mkDerivation, base, Peano }:
+     mkDerivation {
+       pname = "VecN";
+       version = "0.0.2";
+       sha256 = "1hv8idxv9gniwwjs67q75bbcc5ry9r05cxjmsxk0q54l8zscdss2";
+       buildDepends = [ base Peano ];
+       description = "a simple peano-indexed vector type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ViennaRNA-bindings" = callPackage
+    ({ mkDerivation, array, base, c2hs }:
+     mkDerivation {
+       pname = "ViennaRNA-bindings";
+       version = "0.1.2.2";
+       sha256 = "06zz3svdsy6qzbj7s02sbifkprmm58r14ss46r6680c9ybw9w5l3";
+       buildDepends = [ array base ];
+       buildTools = [ c2hs ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "ViennaRNA v2 bindings";
+       license = "unknown";
+     }) {};
+
+  "ViennaRNAParser" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "ViennaRNAParser";
+       version = "1.0.1";
+       revision = "2";
+       sha256 = "0j4vcbbw0f1khrqna33b1dfs4fadfk53arsj8ndjzcwp0za58ji0";
+       editedCabalFile = "312de9a09fbd46cd8785a4761d369ddd022b2589096b857cafa0b4ee610426e0";
+       buildDepends = [ base parsec ];
+       description = "Libary for parsing ViennaRNA package output";
+       license = "GPL";
+     }) {};
+
+  "WAVE" = callPackage
+    ({ mkDerivation, base, bytestring, containers, parseargs }:
+     mkDerivation {
+       pname = "WAVE";
+       version = "0.1.3";
+       sha256 = "1cgla9y1lwcsdad5qdspymd7s6skdw961fgzh02kvi7gjbrrcyi7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers parseargs ];
+       homepage = "http://github.com/BartMassey/WAVE";
+       description = "WAVE audio file IO library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "WL500gPControl" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, unix, WL500gPLib
+     }:
+     mkDerivation {
+       pname = "WL500gPControl";
+       version = "0.3.4";
+       sha256 = "0gbjb432758wvd3p5brb4kjn037x6h30bzvn9f681pg0m1w52hgv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath mtl unix WL500gPLib ];
+       jailbreak = true;
+       description = "A simple command line tools to control the Asus WL500gP router";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WL500gPLib" = callPackage
+    ({ mkDerivation, base, curl, mtl, tagsoup }:
+     mkDerivation {
+       pname = "WL500gPLib";
+       version = "0.3.1";
+       sha256 = "15w065yg8hjhljgnmx88fnryhbh7dysmsqmpr9qnj96as7vrkwgs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base curl mtl tagsoup ];
+       jailbreak = true;
+       description = "A simple library to access to the WL 500gP router from the Haskell code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "WMSigner" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring
+     , cryptohash, directory, hspec, lens, mtl, random, split, vector
+     }:
+     mkDerivation {
+       pname = "WMSigner";
+       version = "0.1.0.0";
+       sha256 = "0im8rfyfnhq2s445cjm4xvnqqs8pgpavhmyk98jqshpfm9d1cd6q";
+       buildDepends = [
+         base base64-bytestring binary bytestring cryptohash directory lens
+         mtl random split vector
+       ];
+       testDepends = [
+         base bytestring cryptohash hspec lens random split vector
+       ];
+       description = "WebMoney authentication module";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "WURFL" = callPackage
+    ({ mkDerivation, base, haskell98, parsec }:
+     mkDerivation {
+       pname = "WURFL";
+       version = "0.1";
+       sha256 = "13vfszyfyxwz4zi8zilifd0jad1gwlr75x931q8qbpi1kwr7mivk";
+       buildDepends = [ base haskell98 parsec ];
+       description = "Convert the WURFL file into a Parsec parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WXDiffCtrl" = callPackage
+    ({ mkDerivation, base, containers, wx, wxcore }:
+     mkDerivation {
+       pname = "WXDiffCtrl";
+       version = "0.0.1";
+       sha256 = "0vv8s483g3dkxyk833cjczj0a5zxiy9xh56kij6n0jjyzxb9bz0k";
+       buildDepends = [ base containers wx wxcore ];
+       homepage = "http://wewantarock.wordpress.com";
+       description = "WXDiffCtrl";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WashNGo" = callPackage
+    ({ mkDerivation, base, containers, directory, ghc-paths, haskell98
+     , parsec, process, regex-compat
+     }:
+     mkDerivation {
+       pname = "WashNGo";
+       version = "2.12.0.1";
+       sha256 = "11d9cwqfpvf999a5fi3a3v5b4gdrszzgf4gbdhx63afy42ylbnfj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory ghc-paths haskell98 parsec process
+         regex-compat
+       ];
+       jailbreak = true;
+       homepage = "http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH/";
+       description = "WASH is a family of EDSLs for programming Web applications in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WebBits" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, pretty, syb }:
+     mkDerivation {
+       pname = "WebBits";
+       version = "2.2";
+       sha256 = "1frmnjbpgm76dzs1p4766fb6isqc3pxv4dnj8sdhnfliv5j0xv2z";
+       buildDepends = [ base containers mtl parsec pretty syb ];
+       homepage = "http://github.com/brownplt/webbits";
+       description = "JavaScript analysis tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "WebBits-Html" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, pretty, syb
+     , WebBits
+     }:
+     mkDerivation {
+       pname = "WebBits-Html";
+       version = "1.0.2";
+       sha256 = "18dd52970cd27kra4l89vvrx2mrdbqd4w4f76xrq3142daxsagal";
+       buildDepends = [ base containers mtl parsec pretty syb WebBits ];
+       jailbreak = true;
+       homepage = "http://www.cs.brown.edu/research/plt/";
+       description = "JavaScript analysis tools";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WebBits-multiplate" = callPackage
+    ({ mkDerivation, base, multiplate, multiplate-simplified
+     , transformers, WebBits
+     }:
+     mkDerivation {
+       pname = "WebBits-multiplate";
+       version = "0.0.0.1";
+       sha256 = "1j3difi3f1w6bgbnsvqw9cv88aikin22myli0lx29pqn7xhqsbv3";
+       buildDepends = [
+         base multiplate multiplate-simplified transformers WebBits
+       ];
+       jailbreak = true;
+       description = "A Multiplate instance for JavaScript";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WebCont" = callPackage
+    ({ mkDerivation, applicative-extras, base, concatenative
+     , containers, formlets, happstack-server, happstack-state
+     , happstack-util, mtl, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "WebCont";
+       version = "0.0.1";
+       sha256 = "1lr5iz0kqhr8w0c7038mlbysw1c3lbzfjis085n68ib104ykyyi6";
+       buildDepends = [
+         applicative-extras base concatenative containers formlets
+         happstack-server happstack-state happstack-util mtl utf8-string
+         xhtml
+       ];
+       homepage = "http://patch-tag.com/r/salazar/webconts/snapshot/current/content/pretty";
+       description = "Continuation based web programming for Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WeberLogic" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "WeberLogic";
+       version = "0.1.2";
+       sha256 = "0nl79q3y2qi0xnkppxj8d9h96hfwrgb3gksm2x1zp9lq7836562z";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parsec ];
+       jailbreak = true;
+       homepage = "https://github.com/cameronbwhite/WeberLogic";
+       description = "Logic interpreter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Webrexp" = callPackage
+    ({ mkDerivation, aeson, array, base, bytestring, containers
+     , directory, filepath, HaXml, HTTP, hxt, mtl, network, parsec
+     , process, regex-pcre-builtin, template-haskell, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "Webrexp";
+       version = "1.1.2";
+       sha256 = "1iv969gd4xmagw74i6fmw4d864zxlzi4yf0y9ns1nvijn7w7s5jb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base bytestring containers directory filepath HaXml
+         HTTP hxt mtl network parsec process regex-pcre-builtin
+         template-haskell text transformers unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Regexp-like engine to scrap web data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Wheb" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , containers, cookie, http-types, HUnit, mtl, pwstore-fast
+     , QuickCheck, stm, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers, unix, uuid
+     , wai, wai-extra, wai-websockets, warp, web-routes, websockets
+     }:
+     mkDerivation {
+       pname = "Wheb";
+       version = "0.3.1.0";
+       sha256 = "13x204lz2azfrry38w791rni2d0g9xsg5lhajrkrgfhdn56yrzqs";
+       buildDepends = [
+         base blaze-builder bytestring case-insensitive containers cookie
+         http-types mtl pwstore-fast stm text time transformers unix uuid
+         wai wai-extra wai-websockets warp web-routes websockets
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/hansonkd/Wheb-Framework";
+       description = "The frictionless WAI Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "WikimediaParser" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "WikimediaParser";
+       version = "0.1";
+       sha256 = "0rzpf8z414qvkbks16zizsxsinvbdxbm1n0dbav11p286791xx1j";
+       buildDepends = [ base parsec ];
+       description = "A parser for wikimedia style article markup";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Win32" = callPackage
+    ({ mkDerivation, advapi32, base, bytestring, gdi32, shell32
+     , shfolder, user32, winmm
+     }:
+     mkDerivation {
+       pname = "Win32";
+       version = "2.3.0.2";
+       sha256 = "0s2hp50yb91cmj78shpp7s7v096y6lnipk4j7h3lxph3zgj06zsi";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ advapi32 gdi32 shell32 shfolder user32 winmm ];
+       homepage = "https://github.com/haskell/win32";
+       description = "A binding to part of the Win32 library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { advapi32 = null;  gdi32 = null;  shell32 = null;
+          shfolder = null;  user32 = null;  winmm = null;};
+
+  "Win32-dhcp-server" = callPackage
+    ({ mkDerivation, base, text, Win32, Win32-errors }:
+     mkDerivation {
+       pname = "Win32-dhcp-server";
+       version = "0.3";
+       sha256 = "03mhf1w8672jknz2v5cijgwqhc6q0bj0k6pxfnqj8wi98fzbibfy";
+       buildDepends = [ base text Win32 Win32-errors ];
+       homepage = "http://github.com/mikesteele81/win32-dhcp-server";
+       description = "Win32 DHCP Server Management API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Win32-errors" = callPackage
+    ({ mkDerivation, base, template-haskell, text, Win32 }:
+     mkDerivation {
+       pname = "Win32-errors";
+       version = "0.2.2.1";
+       sha256 = "1v7gm7vll1lq6d7d0y8vza7ilcw6i95jkprhy906awhqlhv3z031";
+       buildDepends = [ base template-haskell text Win32 ];
+       homepage = "http://github.com/mikesteele81/win32-errors";
+       description = "Alternative error handling for Win32 foreign calls";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Win32-extras" = callPackage
+    ({ mkDerivation, base, imm32, msimg32, Win32 }:
+     mkDerivation {
+       pname = "Win32-extras";
+       version = "0.2.0.1";
+       sha256 = "00lrqvsa74mqv0k4yz00j2jdpmchkyhcicqv24z9a53iv1i0xp7h";
+       buildDepends = [ base Win32 ];
+       extraLibraries = [ imm32 msimg32 ];
+       homepage = "http://hub.darcs.net/shelarcy/Win32-extras/";
+       description = "Provides missing Win32 API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { imm32 = null;  msimg32 = null;};
+
+  "Win32-junction-point" = callPackage
+    ({ mkDerivation, base, text, Win32, Win32-errors }:
+     mkDerivation {
+       pname = "Win32-junction-point";
+       version = "0.2.1.1";
+       sha256 = "1pvlvhdp4wcz8kn5nldhrkryz03dmzyzvjbm8x1ri9kwq1icd941";
+       buildDepends = [ base text Win32 Win32-errors ];
+       homepage = "http://github.com/mikesteele81/Win32-junction-point";
+       description = "Support for manipulating NTFS junction points";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Win32-notify" = callPackage
+    ({ mkDerivation, base, containers, directory, Win32 }:
+     mkDerivation {
+       pname = "Win32-notify";
+       version = "0.3.0.1";
+       sha256 = "0zzbb00rykl8y1prkcm3paaamhmdrqji34070b9zg7sg2pc5k4f4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers directory Win32 ];
+       description = "A binding to part of the Win32 library for file notification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Win32-security" = callPackage
+    ({ mkDerivation, base, text, Win32, Win32-errors }:
+     mkDerivation {
+       pname = "Win32-security";
+       version = "0.1.1";
+       sha256 = "0dh4z7a0mxwpqhx1cxvwwjc7w24mcrqc0bmg7bp86kd6zqz6rjly";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base text Win32 Win32-errors ];
+       homepage = "https://github.com/anton-dessiatov/Win32-security";
+       description = "Haskell bindings to a security-related functions of the Windows API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Win32-services" = callPackage
+    ({ mkDerivation, Advapi32, base, Win32 }:
+     mkDerivation {
+       pname = "Win32-services";
+       version = "0.2.5.1";
+       sha256 = "1biirmn4fmw9zdhvbwzj5lrw2ac5wn6zz2zvzqi4b0gz8hlywzr7";
+       buildDepends = [ base Win32 ];
+       extraLibraries = [ Advapi32 ];
+       homepage = "http://github.com/mikesteele81/win32-services";
+       description = "Windows service applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { Advapi32 = null;};
+
+  "Win32-services-wrapper" = callPackage
+    ({ mkDerivation, base, directory, filepath, Win32, Win32-services
+     }:
+     mkDerivation {
+       pname = "Win32-services-wrapper";
+       version = "0.1.2.0";
+       sha256 = "01fvb9sraqw1ar5pvs8s23y8syix50wh6yifsm65fs4vy1nk3xfb";
+       buildDepends = [ base directory filepath Win32 Win32-services ];
+       description = "Wrapper code for making a Win32 service";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Wired" = callPackage
+    ({ mkDerivation, base, chalmers-lava2000, containers, mtl
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "Wired";
+       version = "0.3";
+       sha256 = "14zxf849r4k3mk5i5rakfjp2f216sz84ww4hfggq9cnr9w8j406j";
+       buildDepends = [
+         base chalmers-lava2000 containers mtl QuickCheck
+       ];
+       homepage = "http://www.cse.chalmers.se/~emax/wired/";
+       description = "Wire-aware hardware description";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "WordNet" = callPackage
+    ({ mkDerivation, array, base, containers, filepath }:
+     mkDerivation {
+       pname = "WordNet";
+       version = "1.1.0";
+       sha256 = "0b44xxkihafzsw25xx484xxw17zlzzqbj0bx8cs2nvf3p7jxd02k";
+       buildDepends = [ array base containers filepath ];
+       description = "Haskell interface to the WordNet database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "WordNet-ghc74" = callPackage
+    ({ mkDerivation, array, base, containers, filepath }:
+     mkDerivation {
+       pname = "WordNet-ghc74";
+       version = "0.1.3";
+       sha256 = "1ab5wybawa3dfq89dn0g3zdhsqd03bcm3qky2d4z6irw7afdqrr8";
+       buildDepends = [ array base containers filepath ];
+       description = "Haskell interface to the WordNet database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Wordlint" = callPackage
+    ({ mkDerivation, base, boxes, cmdargs }:
+     mkDerivation {
+       pname = "Wordlint";
+       version = "0.2.0.4";
+       sha256 = "08d02h4ynkwxqxxqzk8hfmdj9y7rg23biybb969pk0scgvg7iyd5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base boxes cmdargs ];
+       homepage = "https://github.com/gbgar/Wordlint";
+       description = "Plaintext prose redundancy linter";
+       license = "unknown";
+     }) {};
+
+  "Workflow" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , exceptions, extensible-exceptions, mtl, old-time, RefSerialize
+     , stm, TCache, vector
+     }:
+     mkDerivation {
+       pname = "Workflow";
+       version = "0.8.1";
+       sha256 = "0z23g68gcbbn43i78cql4is9js3m4z16rm2x8s57f73n0hx7f00l";
+       buildDepends = [
+         base binary bytestring containers directory exceptions
+         extensible-exceptions mtl old-time RefSerialize stm TCache vector
+       ];
+       description = "Workflow patterns over a monad for thread state logging & recovery";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "WxGeneric" = callPackage
+    ({ mkDerivation, base, containers, mtl, SybWidget, wx, wxcore, xtc
+     }:
+     mkDerivation {
+       pname = "WxGeneric";
+       version = "0.8.1";
+       sha256 = "0lvbdmb1qwsz8bz0z715nzgbpshfckm4syk1ny52akkb4ddkrd60";
+       buildDepends = [ base containers mtl SybWidget wx wxcore xtc ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/WxGeneric";
+       description = "Generic (SYB3) construction of wxHaskell widgets";
+       license = "LGPL";
+     }) {};
+
+  "X11" = callPackage
+    ({ mkDerivation, base, data-default, libX11, libXext, libXinerama
+     , libXrandr, libXrender
+     }:
+     mkDerivation {
+       pname = "X11";
+       version = "1.6.1.2";
+       sha256 = "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj";
+       buildDepends = [ base data-default ];
+       extraLibraries = [
+         libX11 libXext libXinerama libXrandr libXrender
+       ];
+       homepage = "https://github.com/haskell-pkg-janitors/X11";
+       description = "A binding to the X11 graphics library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs.xlibs) libXext;
+          inherit (pkgs.xlibs) libXinerama;  inherit (pkgs.xlibs) libXrandr;
+          inherit (pkgs.xlibs) libXrender;};
+
+  "X11-extras" = callPackage
+    ({ mkDerivation, base, libX11, X11 }:
+     mkDerivation {
+       pname = "X11-extras";
+       version = "0.4";
+       revision = "1";
+       sha256 = "1cpjr09gddcjd0wqwvaankv1zj7fyc6hbfdvar63f51g3vvw627a";
+       editedCabalFile = "f7b315acd1fb4d44ee6312b2e8d397b7cda103cf5e9e8ca6867389ef6cadff3c";
+       buildDepends = [ base X11 ];
+       extraLibraries = [ libX11 ];
+       jailbreak = true;
+       description = "Missing bindings to the X11 graphics library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.xlibs) libX11;};
+
+  "X11-rm" = callPackage
+    ({ mkDerivation, base, X11 }:
+     mkDerivation {
+       pname = "X11-rm";
+       version = "0.2";
+       sha256 = "11jxlaad9jgjddd5v8ygy2rdrajrbm9dlp6f0mslvxa2wzn4v4r3";
+       buildDepends = [ base X11 ];
+       description = "A binding to the resource management functions missing from X11";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "X11-xdamage" = callPackage
+    ({ mkDerivation, base, X11, Xdamage }:
+     mkDerivation {
+       pname = "X11-xdamage";
+       version = "0.1.2";
+       sha256 = "0r6dq9xx0v100162y7bvkj1l0lv5m697y35c659kgjj0mg8p9bjv";
+       buildDepends = [ base X11 ];
+       extraLibraries = [ Xdamage ];
+       homepage = "http://darcs.haskell.org/X11-xdamage";
+       description = "A binding to the Xdamage X11 extension library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { Xdamage = null;};
+
+  "X11-xfixes" = callPackage
+    ({ mkDerivation, base, X11, Xfixes }:
+     mkDerivation {
+       pname = "X11-xfixes";
+       version = "0.1.1";
+       sha256 = "0wwhyqqybrjvy8mi5d5429wraky93xq348gr9ldhg2qj95hj13yk";
+       buildDepends = [ base X11 ];
+       extraLibraries = [ Xfixes ];
+       homepage = "https://github.com/reacocard/x11-xfixes";
+       description = "A binding to the Xfixes X11 extension library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { Xfixes = null;};
+
+  "X11-xft" = callPackage
+    ({ mkDerivation, base, fontconfig, freetype, libXft, pkgconfig
+     , utf8-string, X11
+     }:
+     mkDerivation {
+       pname = "X11-xft";
+       version = "0.3.1";
+       sha256 = "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf";
+       buildDepends = [ base utf8-string X11 ];
+       extraLibraries = [ fontconfig freetype pkgconfig ];
+       pkgconfigDepends = [ libXft ];
+       configureFlags = [
+         "--extra-include-dirs=${freetype}/include/freetype2"
+       ];
+       description = "Bindings to the Xft, X Free Type interface library, and some Xrender parts";
+       license = "LGPL";
+     }) { inherit (pkgs) fontconfig;  inherit (pkgs) freetype;
+          inherit (pkgs.xlibs) libXft;  inherit (pkgs) pkgconfig;};
+
+  "X11-xshape" = callPackage
+    ({ mkDerivation, base, X11 }:
+     mkDerivation {
+       pname = "X11-xshape";
+       version = "0.1.1";
+       sha256 = "19p71lc0hihfn0xzl29j01kd0zf9yalspwj7dava0ybc1rm3g62h";
+       buildDepends = [ base X11 ];
+       homepage = "http://darcs.haskell.org/X11-xshape";
+       description = "A binding to the Xshape X11 extension library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "XAttr" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "XAttr";
+       version = "0.1.1";
+       sha256 = "16vap0rw026lgxfcqpdfsx7l26ik97rhkkv1mg2j61akydhijs67";
+       buildDepends = [ base unix ];
+       description = "Read, set, and list extended attributes";
+       license = "GPL";
+     }) {};
+
+  "XInput" = callPackage
+    ({ mkDerivation, base, Win32, xinput }:
+     mkDerivation {
+       pname = "XInput";
+       version = "0.1";
+       sha256 = "1kk0gccv83mw8463x29c7rpl5davmhk9vyf82i4rbksgrdzkhjh9";
+       buildDepends = [ base Win32 ];
+       extraLibraries = [ xinput ];
+       homepage = "http://code.fac9.com/xinput/";
+       description = "Bindings for the DirectX XInput library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.xlibs) xinput;};
+
+  "XMMS" = callPackage
+    ({ mkDerivation, base, containers, xmmsclient, xmmsclient-glib }:
+     mkDerivation {
+       pname = "XMMS";
+       version = "0.1.1";
+       sha256 = "08l53b0wp6v9wjfn53xfa1vlh64bnqidajc4lzlk8p31km1c09qx";
+       buildDepends = [ base containers ];
+       extraLibraries = [ xmmsclient xmmsclient-glib ];
+       homepage = "http://kawais.org.ua/XMMS/";
+       description = "XMMS2 client library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { xmmsclient = null;  xmmsclient-glib = null;};
+
+  "XMPP" = callPackage
+    ({ mkDerivation, base, haskell98, hsdns, mtl, network, parsec
+     , random, utf8-string
+     }:
+     mkDerivation {
+       pname = "XMPP";
+       version = "0.1.2";
+       sha256 = "03gypa9kln2v3zqyxszn4k2x364g8wj0hppsy10ywmandghsvn7b";
+       buildDepends = [
+         base haskell98 hsdns mtl network parsec random utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://kagami.touhou.ru/projects/show/matsuri";
+       description = "XMPP library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "XSaiga" = callPackage
+    ({ mkDerivation, base, cgi, containers, hsparql, pretty, rdf4h
+     , text
+     }:
+     mkDerivation {
+       pname = "XSaiga";
+       version = "1.0.0.0";
+       revision = "3";
+       sha256 = "0smf0ym26kv0fa34plnsndxp5hflc7w6g0wbkg6n4cy9bz4sgd4z";
+       editedCabalFile = "a152097b5010d51d0192d2c1748dce912a050f3f705f5a4b86ffa7a2f726488f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cgi containers hsparql pretty rdf4h text ];
+       jailbreak = true;
+       homepage = "http://hafiz.myweb.cs.uwindsor.ca/proHome.html";
+       description = "An implementation of a polynomial-time top-down parser suitable for NLP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Xauth" = callPackage
+    ({ mkDerivation, base, libXau }:
+     mkDerivation {
+       pname = "Xauth";
+       version = "0.1";
+       sha256 = "1mvflp6y1nz9961gngbwk0b7wr8sx3p6296jfvvb6ln1kvm2scxs";
+       buildDepends = [ base ];
+       pkgconfigDepends = [ libXau ];
+       description = "A binding to the X11 authentication library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libXau;};
+
+  "Xec" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cairo, containers
+     , directory, filepath, gtk, mtl, old-time, SHA, unix
+     }:
+     mkDerivation {
+       pname = "Xec";
+       version = "0.1.6";
+       sha256 = "1n3y232v9i5jzbshk2zw675g09snc45ni60acmi6kvfsk7nkmfw8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cairo containers directory filepath gtk mtl
+         old-time SHA unix
+       ];
+       description = "Gtk command launcher with identicon";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "XmlHtmlWriter" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "XmlHtmlWriter";
+       version = "0.0.0.1";
+       sha256 = "0dv5nvvqy6w0ndjyab4bwhjpw1hlx8xi4bv2jw4rl8v6y68bilk1";
+       buildDepends = [ base mtl transformers ];
+       homepage = "http://github.com/mmirman/haskogeneous/tree/XmlHtmlWriter";
+       description = "A library for writing XML and HTML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "YACPong" = callPackage
+    ({ mkDerivation, base, data-accessor-transformers, fclabels
+     , monads-fd, random, SDL, SDL-image, SDL-mixer, SDL-ttf
+     , transformers
+     }:
+     mkDerivation {
+       pname = "YACPong";
+       version = "0.1";
+       sha256 = "1r2n1vbzq755p68fzb5f6fm1yjfq2c5jgx52ri9p5rlrwmfk3hw5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base data-accessor-transformers fclabels monads-fd random SDL
+         SDL-image SDL-mixer SDL-ttf transformers
+       ];
+       homepage = "http://github.com/snkkid/YACPong";
+       description = "Yet Another Pong Clone using SDL";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "YFrob" = callPackage
+    ({ mkDerivation, array, base, HGL, Yampa }:
+     mkDerivation {
+       pname = "YFrob";
+       version = "0.4";
+       sha256 = "17pp79yr8jfmhx85vlr5kx7q5wha48p3ra7l4ligd583yxzvlnif";
+       buildDepends = [ array base HGL Yampa ];
+       homepage = "http://www.haskell.org/yampa/";
+       description = "Yampa-based library for programming robots";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Yablog" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, bytestring
+     , case-insensitive, clientsession, conduit, containers
+     , data-default, directory, filepath, hamlet, hjsmin, http-conduit
+     , http-types, mime-mail, monad-control, mtl, network, old-locale
+     , pandoc, pandoc-types, persistent, persistent-mongoDB, resourcet
+     , shakespeare-css, shakespeare-js, shakespeare-text
+     , template-haskell, temporary, text, time, wai, wai-extra
+     , xml-conduit, xml-hamlet, yaml, yesod, yesod-auth, yesod-core
+     , yesod-default, yesod-form, yesod-newsfeed, yesod-platform
+     , yesod-recaptcha, yesod-static
+     }:
+     mkDerivation {
+       pname = "Yablog";
+       version = "0.2.0";
+       sha256 = "0qa7m9y3dclr2r2vpd2cmpc58nib158hnr49hrdjvk00ncd4lyvk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder blaze-html bytestring case-insensitive
+         clientsession conduit containers data-default directory filepath
+         hamlet hjsmin http-conduit http-types mime-mail monad-control mtl
+         network old-locale pandoc pandoc-types persistent
+         persistent-mongoDB resourcet shakespeare-css shakespeare-js
+         shakespeare-text template-haskell temporary text time wai wai-extra
+         xml-conduit xml-hamlet yaml yesod yesod-auth yesod-core
+         yesod-default yesod-form yesod-newsfeed yesod-platform
+         yesod-recaptcha yesod-static
+       ];
+       jailbreak = true;
+       homepage = "http://gitweb.konn-san.com/repo/Yablog/tree/master";
+       description = "A simple blog engine powered by Yesod";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "YamlReference" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, dlist
+     , HUnit, regex-compat
+     }:
+     mkDerivation {
+       pname = "YamlReference";
+       version = "0.9.3";
+       sha256 = "0nk7zw3ikv459hzrs0si06j4qf2yrgggsiv8vpm0r1lg5v5l3vng";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory dlist HUnit regex-compat
+       ];
+       homepage = "http://www.ben-kiki.org/oren/YamlReference";
+       description = "YAML reference implementation";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Yampa" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "Yampa";
+       version = "0.9.6.1";
+       sha256 = "14nssljqgpirdjl6rxb1x4xxl6rpq2rhldhcvsvc0qx31mb01df1";
+       buildDepends = [ base random ];
+       homepage = "http://www.haskell.org/haskellwiki/Yampa";
+       description = "Library for programming hybrid systems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "YampaSynth" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, HCodecs
+     , Yampa
+     }:
+     mkDerivation {
+       pname = "YampaSynth";
+       version = "0.2";
+       sha256 = "028a7lrfyikvky52s19kffssnry1grnip3sm7z55bs5fazma1im1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base bytestring containers HCodecs Yampa ];
+       homepage = "http://www-db.informatik.uni-tuebingen.de/team/giorgidze";
+       description = "Software synthesizer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Yocto" = callPackage
+    ({ mkDerivation, base, containers, parsec }:
+     mkDerivation {
+       pname = "Yocto";
+       version = "0.1.0";
+       sha256 = "1krp17rw25b7a280rf3idpfzkx39kpfcjqwznz96y0d2sdqbhg6p";
+       buildDepends = [ base containers parsec ];
+       homepage = "https://github.com/ajg/yocto";
+       description = "A Minimal JSON Parser & Printer for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "Yogurt" = callPackage
+    ({ mkDerivation, base, containers, mtl, network, old-locale
+     , process, readline, regex-posix, syb, time
+     }:
+     mkDerivation {
+       pname = "Yogurt";
+       version = "0.4.1";
+       sha256 = "04fzixjgsn0azx2dp352kipxdijfafsm5dnrcvxpxdxms35npffq";
+       buildDepends = [
+         base containers mtl network old-locale process readline regex-posix
+         syb time
+       ];
+       homepage = "http://code.google.com/p/yogurt-mud/";
+       description = "A MUD client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Yogurt-Standalone" = callPackage
+    ({ mkDerivation, base, containers, hint, mtl, network, old-locale
+     , process, readline, regex-posix, syb, time, Yogurt
+     }:
+     mkDerivation {
+       pname = "Yogurt-Standalone";
+       version = "0.4";
+       sha256 = "151kamqwdwnhinvsmzdq9ckryyvnrf9ihzw6qm4j851y375452hl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers hint mtl network old-locale process regex-posix syb
+         time Yogurt
+       ];
+       extraLibraries = [ readline ];
+       homepage = "http://code.google.com/p/yogurt-mud/";
+       description = "A functional MUD client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) readline;};
+
+  "ZFS" = callPackage
+    ({ mkDerivation, base, CC-delcont, containers, mtl, network, unix
+     }:
+     mkDerivation {
+       pname = "ZFS";
+       version = "0.0.2";
+       sha256 = "1mwpcgkw1cci2grhb8vl081wykkgsmfbanwapp10mrzzp0df1yzr";
+       buildDepends = [ base CC-delcont containers mtl network unix ];
+       homepage = "https://github.com/jkarni/ZipperFS";
+       description = "Oleg's Zipper FS";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "ZMachine" = callPackage
+    ({ mkDerivation, array, base, gtk, mtl, random }:
+     mkDerivation {
+       pname = "ZMachine";
+       version = "0.0";
+       sha256 = "1s005k892z9651mr2jj0jdwpm8aa0y72vi405xi4h6czg52i4rb3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base gtk mtl random ];
+       description = "A Z-machine interpreter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ZipFold" = callPackage
+    ({ mkDerivation, base, TypeCompose }:
+     mkDerivation {
+       pname = "ZipFold";
+       version = "0.1.4";
+       sha256 = "05cnpl9c6i0j8jqr4j43b32jgryv34gahimhp9g1m45idgnl2sn0";
+       buildDepends = [ base TypeCompose ];
+       homepage = "http://haskell.org/haskellwiki/ZipFold";
+       description = "Zipping folds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ZipperAG" = callPackage
+    ({ mkDerivation, base, syz }:
+     mkDerivation {
+       pname = "ZipperAG";
+       version = "0.9";
+       sha256 = "0nl08r7s3r5hr5jag499fillca16wsb8yqz1dlzydvacqcklcxr9";
+       buildDepends = [ base syz ];
+       homepage = "www.di.uminho.pt/~prmartins";
+       description = "An implementationg of Attribute Grammars using Functional Zippers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Zora" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, fgl
+     , graphviz, random, shelly, text
+     }:
+     mkDerivation {
+       pname = "Zora";
+       version = "1.1.22";
+       sha256 = "0m49xfyxk92ddmh222h6drys05vncq7y374gnpgwpi4hrmzd0jbb";
+       buildDepends = [
+         base bytestring containers directory fgl graphviz random shelly
+         text
+       ];
+       homepage = "http://github.com/bgwines/zora";
+       description = "Graphing library wrapper + assorted useful functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "Zwaluw" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "Zwaluw";
+       version = "0.1";
+       sha256 = "1crvcvni5gzpc1c6cnaqqp0gng1l9gk9d8ac23967nvp82xav7s1";
+       buildDepends = [ base ];
+       homepage = "https://github.com/MedeaMelana/Zwaluw";
+       description = "Combinators for bidirectional URL routing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "a50" = callPackage
+    ({ mkDerivation, base, biofasta, biopsl, cmdargs, containers
+     , directory, process
+     }:
+     mkDerivation {
+       pname = "a50";
+       version = "0.5";
+       sha256 = "0jfnf0rq3rfic196zjwbaiamyis98zrr8d4zn2myjlgqlzhljzs0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base biofasta biopsl cmdargs containers directory process
+       ];
+       homepage = "http://blog.malde.org/index.php/a50-a-graphical-comparison-of-genome-assemblies";
+       description = "Compare genome assemblies";
+       license = "GPL";
+     }) {};
+
+  "abacate" = callPackage
+    ({ mkDerivation, base, HUnit, parsec, text }:
+     mkDerivation {
+       pname = "abacate";
+       version = "0.0.0.0";
+       sha256 = "1lxsn3n77fk7jl8i76nffj1zngvi2s38y17s54ha29h8hrp3s3dg";
+       buildDepends = [ base parsec text ];
+       testDepends = [ base HUnit text ];
+       jailbreak = true;
+       homepage = "http://github.com/marcotmarcot/abacate";
+       description = "Parser for a language similar to Cucumber's Gherkin";
+       license = "unknown";
+     }) {};
+
+  "abc-puzzle" = callPackage
+    ({ mkDerivation, array, base, minisat, random, random-shuffle, Safe
+     }:
+     mkDerivation {
+       pname = "abc-puzzle";
+       version = "0.2.1";
+       sha256 = "0i162j9wlpcisqzf9klqvag9hrs9v7araw4l16cvw0yrifvqzswd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base minisat random random-shuffle Safe ];
+       homepage = "https://github.com/pa-ba/abc-puzzle";
+       description = "Generate instances of the ABC Logic Puzzle";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "abcBridge" = callPackage
+    ({ mkDerivation, abc, aig, base, c2hs, containers, directory
+     , QuickCheck, tasty, tasty-ant-xml, tasty-hunit, tasty-quickcheck
+     , vector
+     }:
+     mkDerivation {
+       pname = "abcBridge";
+       version = "0.12";
+       sha256 = "1432hjaj0fccsd16if0wyiayp9wj66gam6c48fc1lgnqc5lvw5jj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aig base containers directory vector ];
+       testDepends = [
+         aig base directory QuickCheck tasty tasty-ant-xml tasty-hunit
+         tasty-quickcheck vector
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ abc ];
+       description = "Bindings for ABC, A System for Sequential Synthesis and Verification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) abc;};
+
+  "abcnotation" = callPackage
+    ({ mkDerivation, base, parsec, prettify, process, semigroups }:
+     mkDerivation {
+       pname = "abcnotation";
+       version = "1.8.1";
+       sha256 = "18qb8qdlfi3r8vv8aagsz65iv2clyj9lzn0q29m4gpvzgncsn22n";
+       buildDepends = [ base parsec prettify process semigroups ];
+       description = "Haskell representation and parser for ABC notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "abeson" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bson, bytestring
+     , data-default-class, scientific, text, time, unordered-containers
+     , uuid, vector
+     }:
+     mkDerivation {
+       pname = "abeson";
+       version = "0.1.0.1";
+       revision = "1";
+       sha256 = "1g258gfk7sk8hsd4nixah0vj69rwphvv6aywsvdldm8pbw51sy1c";
+       editedCabalFile = "fc1839c19327f8fb9b36d2aa6dd133e3d391696183b3292894f9f7e1ca188727";
+       buildDepends = [
+         aeson base base64-bytestring bson bytestring data-default-class
+         scientific text time unordered-containers uuid vector
+       ];
+       homepage = "https://github.com/philopon/abeson";
+       description = "interconversion between aeson and bson";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "abstract-deque" = callPackage
+    ({ mkDerivation, array, base, containers, random, time }:
+     mkDerivation {
+       pname = "abstract-deque";
+       version = "0.3";
+       sha256 = "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9";
+       buildDepends = [ array base containers random time ];
+       homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+       description = "Abstract, parameterized interface to mutable Deques";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "abstract-deque-tests" = callPackage
+    ({ mkDerivation, abstract-deque, array, base, containers, HUnit
+     , random, test-framework, test-framework-hunit, time
+     }:
+     mkDerivation {
+       pname = "abstract-deque-tests";
+       version = "0.3";
+       sha256 = "19gb5x5z3nvazdra3skm24c2g2byj0i4cjbzfwfghnb5q96gn5sz";
+       buildDepends = [
+         abstract-deque array base containers HUnit random test-framework
+         test-framework-hunit time
+       ];
+       testDepends = [
+         abstract-deque array base containers HUnit random test-framework
+         test-framework-hunit time
+       ];
+       homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+       description = "A test-suite for any queue or double-ended queue satisfying an interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "abstract-par" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "abstract-par";
+       version = "0.3.3";
+       sha256 = "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4";
+       buildDepends = [ base deepseq ];
+       homepage = "https://github.com/simonmar/monad-par";
+       description = "Type classes generalizing the functionality of the 'monad-par' library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "abstract-par-accelerate" = callPackage
+    ({ mkDerivation, abstract-par, accelerate, array, base, vector }:
+     mkDerivation {
+       pname = "abstract-par-accelerate";
+       version = "0.3.3";
+       sha256 = "0k1730mg2vyf21837fc459m8si1ffnbj78cdkbgglp2vn51f3nz4";
+       buildDepends = [ abstract-par accelerate array base vector ];
+       homepage = "https://github.com/simonmar/monad-par";
+       description = "Provides the class ParAccelerate, nothing more";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "abt" = callPackage
+    ({ mkDerivation, base, profunctors, transformers
+     , transformers-compat, vinyl
+     }:
+     mkDerivation {
+       pname = "abt";
+       version = "0.1.1.0";
+       sha256 = "1hgbzzpxn6gcs3zjs8hqz065gqk2x6gzra2b1fw9lyb2x4lw42y9";
+       buildDepends = [
+         base profunctors transformers transformers-compat vinyl
+       ];
+       description = "Abstract binding trees for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ac-machine" = callPackage
+    ({ mkDerivation, base, hashable, unordered-containers, vector }:
+     mkDerivation {
+       pname = "ac-machine";
+       version = "0.2.0.5";
+       sha256 = "00s2nvd85l00kpl45ipaq4ypa1ymaxmvnaf5mdvdladg4icl50i4";
+       buildDepends = [ base hashable unordered-containers vector ];
+       jailbreak = true;
+       description = "Aho-Corasick string matching algorithm in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ac-machine-conduit" = callPackage
+    ({ mkDerivation, ac-machine, base, conduit, text }:
+     mkDerivation {
+       pname = "ac-machine-conduit";
+       version = "0.1.0.0";
+       sha256 = "1nsnbvllwznbqycw33f09vfgqvqmqfkcbi367clm6k4v6rfswzl3";
+       buildDepends = [ ac-machine base conduit text ];
+       jailbreak = true;
+       description = "Drive Aho-Corasick machines in Conduit pipelines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate" = callPackage
+    ({ mkDerivation, array, base, containers, fclabels, ghc-prim
+     , hashable, hashtables, pretty, template-haskell
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "accelerate";
+       version = "0.15.0.0";
+       revision = "2";
+       sha256 = "1hi3zm1swm9fank9w98009pwcgccw6w2j2ilb970sbxyb0xf8nps";
+       editedCabalFile = "98cea47c7fdb595a54cb06751fe54eb800059e5a2b1f9699a65d4e845b55cd4c";
+       buildDepends = [
+         array base containers fclabels ghc-prim hashable hashtables pretty
+         template-haskell unordered-containers
+       ];
+       homepage = "https://github.com/AccelerateHS/accelerate/";
+       description = "An embedded language for accelerated array processing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-arithmetic" = callPackage
+    ({ mkDerivation, accelerate, accelerate-utility, base, QuickCheck
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "accelerate-arithmetic";
+       version = "0.0.1";
+       sha256 = "093j1wdabhws695hfb4cmj05ys6i4hkh0yppkszmhn5z4imlv741";
+       buildDepends = [
+         accelerate accelerate-utility base QuickCheck utility-ht
+       ];
+       testDepends = [ accelerate base QuickCheck ];
+       homepage = "http://code.haskell.org/~thielema/accelerate-arithmetic/";
+       description = "Linear algebra and interpolation using the Accelerate framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-cublas" = callPackage
+    ({ mkDerivation, accelerate, accelerate-arithmetic, accelerate-cuda
+     , accelerate-io, accelerate-utility, base, cublas, cuda, random
+     , utility-ht, vector
+     }:
+     mkDerivation {
+       pname = "accelerate-cublas";
+       version = "0.0";
+       sha256 = "1dcra6qpva8sg5bdh6ilrfdg44h7p6dfh7vkrhifiim4vkvgh9sc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         accelerate accelerate-arithmetic accelerate-cuda accelerate-io
+         accelerate-utility base cublas cuda random utility-ht vector
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/accelerate-cublas/";
+       description = "Basic Linear Algebra using native CUBLAS library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-cuda" = callPackage
+    ({ mkDerivation, accelerate, array, base, binary, bytestring
+     , cryptohash, cuda, directory, fclabels, filepath, hashable
+     , hashtables, language-c-quote, mainland-pretty, mtl, old-time
+     , pretty, process, SafeSemaphore, srcloc, template-haskell, text
+     , transformers, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "accelerate-cuda";
+       version = "0.15.0.0";
+       revision = "2";
+       sha256 = "1z8nfciwxm2f2vaddnhan5gi9i1l7qa9h9fsngmdh8d6wabxxidy";
+       editedCabalFile = "5ed199c4c1d360ed3eaee24df7016462ed1fb1313ff47d6828be546eec8708fc";
+       buildDepends = [
+         accelerate array base binary bytestring cryptohash cuda directory
+         fclabels filepath hashable hashtables language-c-quote
+         mainland-pretty mtl old-time pretty process SafeSemaphore srcloc
+         template-haskell text transformers unix unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/AccelerateHS/accelerate-cuda/";
+       description = "Accelerate backend for NVIDIA GPUs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-cufft" = callPackage
+    ({ mkDerivation, accelerate, accelerate-cuda, accelerate-fourier
+     , accelerate-utility, base, cuda, cufft
+     }:
+     mkDerivation {
+       pname = "accelerate-cufft";
+       version = "0.0";
+       sha256 = "12faz5z0k682381fgwav91wx5wny0n5jdzgnrajx3sxc8gpg5xd7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         accelerate accelerate-cuda accelerate-fourier accelerate-utility
+         base cuda cufft
+       ];
+       homepage = "http://code.haskell.org/~thielema/accelerate-cufft/";
+       description = "Accelerate frontend to the CUFFT library (Fourier transform)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-examples" = callPackage
+    ({ mkDerivation, accelerate-cuda, ekg }:
+     mkDerivation {
+       pname = "accelerate-examples";
+       version = "0.15.0.0";
+       revision = "1";
+       sha256 = "1jfwb0ryb8idfjc1gccb1h67hl730qn455k5z5wna8aikfscy7rq";
+       editedCabalFile = "2cf8a02096ae9902b9336ce9d0665b3233abb20381d0cb4585efc53357d795cc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ accelerate-cuda ekg ];
+       configureFlags = [ "-f-opencl" ];
+       homepage = "https://github.com/AccelerateHS/accelerate-examples";
+       description = "Examples using the Accelerate library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-fft" = callPackage
+    ({ mkDerivation, accelerate, accelerate-cuda, base, cuda, cufft }:
+     mkDerivation {
+       pname = "accelerate-fft";
+       version = "0.15.0.0";
+       revision = "1";
+       sha256 = "0nxlw8z7bnr29vp24qbbwwmq9rj2q6jqqkmm46pp8dp582y4yk6v";
+       editedCabalFile = "c23b93ae20f528782aeb10b528fa2a7847cce5c1aa9db546f3b000d7f05f53ca";
+       buildDepends = [ accelerate accelerate-cuda base cuda cufft ];
+       homepage = "https://github.com/AccelerateHS/accelerate-fft";
+       description = "FFT using the Accelerate library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-fftw" = callPackage
+    ({ mkDerivation, accelerate, accelerate-io, base, carray, fft
+     , storable-complex
+     }:
+     mkDerivation {
+       pname = "accelerate-fftw";
+       version = "0.0";
+       sha256 = "03ffsa6xshhrx8a4grld128g46x2nkkydwql8h7jw7b2igr7i1ks";
+       buildDepends = [
+         accelerate accelerate-io base carray fft storable-complex
+       ];
+       homepage = "http://code.haskell.org/~thielema/accelerate-fftw/";
+       description = "Accelerate frontend to the FFTW library (Fourier transform)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "accelerate-fourier" = callPackage
+    ({ mkDerivation, accelerate, accelerate-arithmetic
+     , accelerate-utility, base, containers, QuickCheck, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "accelerate-fourier";
+       version = "0.0";
+       sha256 = "0b7cm540im3z9ja7a68sbs5y0ayzbx5h4sbwr437f05qdwkg7b2q";
+       buildDepends = [
+         accelerate accelerate-arithmetic accelerate-utility base containers
+         QuickCheck transformers utility-ht
+       ];
+       testDepends = [
+         accelerate accelerate-arithmetic accelerate-utility base QuickCheck
+         utility-ht
+       ];
+       homepage = "http://code.haskell.org/~thielema/accelerate-fourier/";
+       description = "Fast Fourier transform and convolution using the Accelerate framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-fourier-benchmark" = callPackage
+    ({ mkDerivation, accelerate, accelerate-cuda, accelerate-cufft
+     , accelerate-fftw, accelerate-fourier, base, criterion
+     }:
+     mkDerivation {
+       pname = "accelerate-fourier-benchmark";
+       version = "0.0";
+       sha256 = "1679sn9ajn6fmj9pdgjdr434vcgj05chvn2fld3sri16q3jbqrga";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         accelerate accelerate-cuda accelerate-cufft accelerate-fftw
+         accelerate-fourier base criterion
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/accelerate-fourier-benchmark/";
+       description = "Compare different implementations of the Fast Fourier Transform";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-io" = callPackage
+    ({ mkDerivation, accelerate, array, base, bmp, bytestring, repa
+     , vector
+     }:
+     mkDerivation {
+       pname = "accelerate-io";
+       version = "0.15.0.0";
+       revision = "1";
+       sha256 = "00p8jmxsgywhx30nd44pl6hdcr076y2s6z2fsam6sgrmgr0qx936";
+       editedCabalFile = "5c3f8f7ebc03117652646329743ea251d281f72d81454e55538c27e87e8c0ecc";
+       buildDepends = [
+         accelerate array base bmp bytestring repa vector
+       ];
+       homepage = "https://github.com/AccelerateHS/accelerate-io";
+       description = "Read and write Accelerate arrays in various formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accelerate-utility" = callPackage
+    ({ mkDerivation, accelerate, base, utility-ht }:
+     mkDerivation {
+       pname = "accelerate-utility";
+       version = "0.1";
+       sha256 = "1n5hyklil2x2x5bc5z7iq0yz4p8lab8xxdnlwzgjpn3lliq0vgpv";
+       buildDepends = [ accelerate base utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/accelerate-utility/";
+       description = "Utility functions for the Accelerate framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "accentuateus" = callPackage
+    ({ mkDerivation, base, bytestring, HTTP, json, network, text }:
+     mkDerivation {
+       pname = "accentuateus";
+       version = "0.9.4";
+       sha256 = "16hgs81cs3zgbvsprh9lzvyxbh58g7rijf1d4j0dkrpnqnrvg0hy";
+       buildDepends = [ base bytestring HTTP json network text ];
+       jailbreak = true;
+       homepage = "http://accentuate.us/";
+       description = "A Haskell implementation of the Accentuate.us API.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "access-time" = callPackage
+    ({ mkDerivation, base, filepath, old-time, time, unix }:
+     mkDerivation {
+       pname = "access-time";
+       version = "0.1.0.4";
+       sha256 = "13kg8mjrnif88r0w7b041x4vmzdm9aqrx4fskc3qv3smpq2q2ngs";
+       buildDepends = [ base filepath old-time time unix ];
+       jailbreak = true;
+       homepage = "http://www.github.com/batterseapower/access-time";
+       description = "Cross-platform support for retrieving file access times";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ace" = callPackage
+    ({ mkDerivation, attoparsec, base, bifunctors, blaze-html
+     , blaze-markup, data-default, hspec, HUnit, mtl, parsec, text
+     }:
+     mkDerivation {
+       pname = "ace";
+       version = "0.6";
+       sha256 = "0f07j2rj9ylvdrijwwlpx66mj503mhjfq1x2mylpxkr6kmjjniyk";
+       buildDepends = [
+         attoparsec base blaze-html blaze-markup data-default parsec text
+       ];
+       testDepends = [ base bifunctors hspec HUnit mtl parsec text ];
+       description = "Attempto Controlled English parser and printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acid-state" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , directory, extensible-exceptions, filepath, mtl, network
+     , safecopy, stm, template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "acid-state";
+       version = "0.12.4";
+       sha256 = "0mb2p29pi9dhby2bwn6zkg1nn3sf6vr7xzf6npx3738ffj3b2bad";
+       buildDepends = [
+         array base bytestring cereal containers directory
+         extensible-exceptions filepath mtl network safecopy stm
+         template-haskell unix
+       ];
+       homepage = "http://acid-state.seize.it/";
+       description = "Add ACID guarantees to any serializable Haskell data structure";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acid-state-tls" = callPackage
+    ({ mkDerivation, acid-state, base, directory, HsOpenSSL, network
+     , safecopy
+     }:
+     mkDerivation {
+       pname = "acid-state-tls";
+       version = "0.9.2";
+       sha256 = "04w3r1x3msvsixmdlif99ly4k0py9bzb8pgi06j780zz5lpm1zpi";
+       buildDepends = [
+         acid-state base directory HsOpenSSL network safecopy
+       ];
+       jailbreak = true;
+       homepage = "http://acid-state.seize.it/";
+       description = "Add TLS support for Data.Acid.Remote";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acl2" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "acl2";
+       version = "0.0.1";
+       sha256 = "0bwlsdxk3lbir90xhar7xd83cwarqcm0a86gvwaghknpil2ay4cg";
+       buildDepends = [ base process ];
+       description = "Writing and calling ACL2 from Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-cadre" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-cadre";
+       version = "0.1";
+       sha256 = "1nclcq48r547rgmd4h0hf498z27d15lp4da9yb3a3sy7qk6m92bi";
+       buildDepends = [ base ];
+       description = "car, cdr and more";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acme-cofunctor" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-cofunctor";
+       version = "0.1.0.0";
+       sha256 = "06ii13zfr5iqf0cxaw35mxjxx16q0n7mvbgnqv0gwyfmgm3vxv6m";
+       buildDepends = [ base ];
+       homepage = "https://github.com/jaspervdj/acme-cofunctor";
+       description = "A Cofunctor is a structure from category theory dual to Functor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-colosson" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "acme-colosson";
+       version = "0.1";
+       sha256 = "0mfnav0wb0ks365n3kghaic6nasp3qaznhmsdccx35h164ixj9vc";
+       buildDepends = [ base random ];
+       description = "Determines whether it is numberwang";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-comonad" = callPackage
+    ({ mkDerivation, base, comonad }:
+     mkDerivation {
+       pname = "acme-comonad";
+       version = "0.1.0.0";
+       sha256 = "1sc0alwdgfls18y4q4y0qkbzqm4fgzd9yv6dwwnzw3472vsz2x8s";
+       buildDepends = [ base comonad ];
+       jailbreak = true;
+       description = "A more efficient dualization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-cutegirl" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-cutegirl";
+       version = "0.2.0.0";
+       sha256 = "1vvhfncnrq4pbzrgq45kannqv1c029b96lvi1qzwvzf513rqfb3z";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://github.com/Fuuzetsu/acme-cutegirl";
+       description = "Maybe gives you a cute girl";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "acme-dont" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-dont";
+       version = "1.1";
+       sha256 = "1kj3qjgn1rz093050z49w3js4is9p0g9pk5g7d7wvg28hpzk28n3";
+       buildDepends = [ base ];
+       description = "A don't construct";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-hq9plus" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-hq9plus";
+       version = "0.1";
+       sha256 = "0da4ysj74fmhcbbvxxfb6w97pr870518k90vwnc3z8kglj1ni187";
+       buildDepends = [ base ];
+       homepage = "http://github.com/joeyadams/haskell-acme-hq9plus";
+       description = "An embedded DSL for the HQ9+ programming language";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acme-http" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-exceptions, mtl
+     , network, pretty
+     }:
+     mkDerivation {
+       pname = "acme-http";
+       version = "0.2.2";
+       sha256 = "1nmv8ilh783jrp6mxl308ybv032xi833awhsys7svma3l9v5i4gi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring extensible-exceptions mtl network pretty
+       ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com";
+       description = "fastest Haskell PONG server in the world";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-inator" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-inator";
+       version = "0.1.0.0";
+       sha256 = "1h1vdzqarrmb8sl6y6250h6fia4rxi9vz4i4sj7km7nyk3778zyk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Evil inventions in the Tri-State area";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acme-io" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-io";
+       version = "0.1.0.1";
+       sha256 = "091czdcbydc75ndaw2ns8cncxa6ihlvclhrbcz9vp29kvhf483cb";
+       buildDepends = [ base ];
+       homepage = "N/A";
+       description = "The only true way to do IO in Haskell!";
+       license = "unknown";
+     }) {};
+
+  "acme-lolcat" = callPackage
+    ({ mkDerivation, base, parsec, random, random-shuffle, text }:
+     mkDerivation {
+       pname = "acme-lolcat";
+       version = "0.1.1";
+       sha256 = "08issbr9lgc2saqvgs80sxl1sgi7ig5jg6iykv1g1zl5k1kv2a32";
+       buildDepends = [ base parsec random random-shuffle text ];
+       homepage = "https://github.com/llelf/acme-lolcat";
+       description = "LOLSPEAK translator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-lookofdisapproval" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-lookofdisapproval";
+       version = "0.1";
+       sha256 = "194xvcab14bs3b3nrayxp4z3da60afxa9cmip58mkms5016kwhis";
+       buildDepends = [ base ];
+       homepage = "https://github.com/llelf/acme-lookofdisapproval";
+       description = "Express your disapproval";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-microwave" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-microwave";
+       version = "0.1.0.2";
+       sha256 = "136lwxcimj241nq9l0x7icxk1q9xz826sg07d40yj87shir52j39";
+       buildDepends = [ base ];
+       description = "The eighth wonder of the world, kitchen math!";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-miscorder" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "acme-miscorder";
+       version = "0.1.0.0";
+       sha256 = "180fs64vlbxb2700qq8hzzz82kkmpknakkbk66ddkk1pdl7nm0j4";
+       buildDepends = [ base random ];
+       description = "Miscellaneous newtypes for orderings of discutable use";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acme-missiles" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "acme-missiles";
+       version = "0.3";
+       sha256 = "0nvkgdj04i21gq5k541an8zjz0hzzy7dpi384yrhcyh14jsxhqz5";
+       buildDepends = [ base stm ];
+       description = "Cause serious international side effects";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acme-now" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "acme-now";
+       version = "1.0.0.1";
+       sha256 = "0lnrsndx7r00b7vgh9jmp5j635m4pb2bzx0lfhqidkzfc2llzwsm";
+       buildDepends = [ base time ];
+       jailbreak = true;
+       description = "An interface to the philosophical and metaphysical \"now\"";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acme-numbersystem" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "acme-numbersystem";
+       version = "0.3.0.0";
+       sha256 = "1p5rdssdmds6yqgv3yvlh835h180h9q9430j8i6qrhygqn8lmv87";
+       buildDepends = [ base template-haskell ];
+       jailbreak = true;
+       description = "Define the less than and add and subtract for nats";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "acme-omitted" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "acme-omitted";
+       version = "2.0.0.0";
+       sha256 = "0pj6jlm4i05m0nys8d66d0xfkhfz6gfa9122bsk64xcms5n0hxad";
+       buildDepends = [ base ];
+       testDepends = [ base hspec ];
+       homepage = "https://github.com/joachifm/acme-omitted#readme";
+       description = "A name for omitted definitions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-php" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-php";
+       version = "0.0.3";
+       sha256 = "091ddg3441ac6hbzd84jzakll7nvz2r6mcfdwxy8d7rd8wx9jdyz";
+       buildDepends = [ base ];
+       description = "The flexibility of Haskell and the safety of PHP";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-pointful-numbers" = callPackage
+    ({ mkDerivation, base, split }:
+     mkDerivation {
+       pname = "acme-pointful-numbers";
+       version = "0.1.2.4";
+       sha256 = "02gml2db5vigkwkx99lqzjkpfaqdc74x16bgdx62kf7r3nn37my9";
+       buildDepends = [ base split ];
+       description = "Make more than one point in numeric literals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-realworld" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-realworld";
+       version = "0.1.1";
+       sha256 = "0ffhichjhhic7d5cjypmd2zmcq0dpqiz5ygsw0y67v83hry0vf8r";
+       buildDepends = [ base ];
+       description = "Primitives for manipulating the state of the universe";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-schoenfinkel" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2, test-framework-th
+     }:
+     mkDerivation {
+       pname = "acme-schoenfinkel";
+       version = "0.1.1";
+       sha256 = "0jvbrivxpq8jb5rhz6j3pxx2g3d0ckviprp4iza31d6ik7cpk8ad";
+       buildDepends = [ base ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+         test-framework-th
+       ];
+       description = "Proper names for curry and uncurry";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "acme-strfry" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "acme-strfry";
+       version = "0.1";
+       sha256 = "1r6xnkyx22khzq6hlb8bk0fnbb6hlwbf12wajhx8vcxa7bkhh8lb";
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       homepage = "https://github.com/ehird/acme-strfry";
+       description = "A binding to the glibc strfry function";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-stringly-typed" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "acme-stringly-typed";
+       version = "1.0.0.0";
+       sha256 = "18wvsvdmbwh9dcawiy4f9pn4vg98kdq9zxc37sz7dpmaigimw16f";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Stringly Typed Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "acme-strtok" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "acme-strtok";
+       version = "0.1.0.3";
+       sha256 = "1anj8yygzcqkl4nwqwbrmwsqda84qcl8yzq7pgx2b7p895xcfa68";
+       buildDepends = [ base mtl ];
+       description = "A Haskell port of the C/PHP strtok function";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "acme-year" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "acme-year";
+       version = "2015";
+       sha256 = "1ymsxy51vi2i75jkq0hfm2ii8qp78c3g35ijma0ygcrq9mmm12rv";
+       buildDepends = [ base ];
+       testDepends = [ base time ];
+       homepage = "http://github.com/joeyadams/hs-acme-year";
+       description = "Get the current year";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "action-permutations" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "action-permutations";
+       version = "0.0.0.1";
+       sha256 = "0rhlzpwshixpnqma7sk28f22dkwz39b6lcwnzmd31rcnz5cyw6d4";
+       buildDepends = [ base ];
+       description = "Execute a set of actions (e.g. parsers) in each possible order";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "active" = callPackage
+    ({ mkDerivation, array, base, newtype, QuickCheck, semigroupoids
+     , semigroups, vector-space
+     }:
+     mkDerivation {
+       pname = "active";
+       version = "0.1.0.19";
+       sha256 = "1zzzrjpfwxzf0zbz8vcnpfqi7djvrfxglhkvw1s6yj5gcblg2rcw";
+       buildDepends = [
+         array base newtype semigroupoids semigroups vector-space
+       ];
+       testDepends = [
+         array base newtype QuickCheck semigroupoids semigroups vector-space
+       ];
+       description = "Abstractions for animation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "activehs" = callPackage
+    ({ mkDerivation, activehs-base, array, base, blaze-html, bytestring
+     , cmdargs, containers, data-pprint, deepseq, dia-base
+     , dia-functions, directory, filepath, haskell-src-exts
+     , highlighting-kate, hint, hoogle, mtl, old-locale, old-time
+     , pandoc, process, pureMD5, QuickCheck, simple-reflect, snap-core
+     , snap-server, split, syb, text, time, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "activehs";
+       version = "0.3.1";
+       sha256 = "03za0c24a22fy28mcm173r0cca6fk60jikp0pp817mrq6gpv62hc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         activehs-base array base blaze-html bytestring cmdargs containers
+         data-pprint deepseq dia-base dia-functions directory filepath
+         haskell-src-exts highlighting-kate hint hoogle mtl old-locale
+         old-time pandoc process pureMD5 QuickCheck simple-reflect snap-core
+         snap-server split syb text time utf8-string xhtml
+       ];
+       jailbreak = true;
+       description = "Haskell code presentation tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "activehs-base" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "activehs-base";
+       version = "0.3.0.2";
+       sha256 = "0wsrsxfaspv4xvw4wq3sllicc5v08rgpp1g76p24b9r9ghn7hrdv";
+       buildDepends = [ base QuickCheck ];
+       jailbreak = true;
+       description = "Basic definitions for activehs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "activitystreams-aeson" = callPackage
+    ({ mkDerivation, aeson, base, text, time, unordered-containers }:
+     mkDerivation {
+       pname = "activitystreams-aeson";
+       version = "0.2.0.1";
+       sha256 = "1bprj41552zr1aj0k73c3skdhg8jb60rhcm9p9hjcmy2al9izsag";
+       buildDepends = [ aeson base text time unordered-containers ];
+       description = "An interface to the ActivityStreams specification";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "actor" = callPackage
+    ({ mkDerivation, base, haskell98, stm, time }:
+     mkDerivation {
+       pname = "actor";
+       version = "0.1.1";
+       sha256 = "1ic74yrfy6hk7217vh2ff6yacvf3dc5m1hjkcpfvxzdk5xhdv2b5";
+       buildDepends = [ base haskell98 stm time ];
+       homepage = "http://sulzmann.blogspot.com/2008/10/actors-with-multi-headed-receive.html";
+       description = "Actors with multi-headed receive clauses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ad" = callPackage
+    ({ mkDerivation, array, base, comonad, containers, data-reify
+     , directory, doctest, erf, filepath, free, nats, reflection
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ad";
+       version = "4.2.1.1";
+       sha256 = "1zdpfh4k93ygrm91m7lw1la6n4yvaq3k2sqswgia04naf2wcmjka";
+       buildDepends = [
+         array base comonad containers data-reify erf free nats reflection
+         transformers
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/ad";
+       description = "Automatic Differentiation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "adaptive-containers" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "adaptive-containers";
+       version = "0.3";
+       sha256 = "16h0zi55hf9g07xisbcmgkx72m9laiqykh2r9nh2siczx3sxi1qk";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~dons/code/adaptive-containers";
+       description = "Self optimizing container types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "adaptive-tuple" = callPackage
+    ({ mkDerivation, base, template-haskell, type-level }:
+     mkDerivation {
+       pname = "adaptive-tuple";
+       version = "0.2.0";
+       sha256 = "1kf4d3qf8nv61c7pajv234b2vil84c2cq40csnm456lg55qh53r1";
+       buildDepends = [ base template-haskell type-level ];
+       homepage = "http://inmachina.net/~jwlato/haskell/";
+       description = "Self-optimizing tuple types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "adb" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, mtl, network
+     }:
+     mkDerivation {
+       pname = "adb";
+       version = "0.1.0.0";
+       sha256 = "17dxvdzmg3i8n0gbgbj0jyhm90w0dq7j27id8n24frild2w4c0d0";
+       buildDepends = [ base bytestring cereal containers mtl network ];
+       description = "Android Debug Bridge (ADB) protocol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "adblock2privoxy" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , http-conduit, MissingH, mtl, network, network-uri, old-locale
+     , parsec, parsec-permutation, strict, text, time
+     }:
+     mkDerivation {
+       pname = "adblock2privoxy";
+       version = "1.3.3";
+       sha256 = "1iy0dmaw48nvgq4cqlx41n51almhz1w4k7rjpgsxqbsdnlwd8zdl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath http-conduit MissingH mtl
+         network network-uri old-locale parsec parsec-permutation strict
+         text time
+       ];
+       homepage = "https://projects.zubr.me/wiki/adblock2privoxy";
+       description = "Convert adblock config files to privoxy format";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "addLicenseInfo" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "addLicenseInfo";
+       version = "0.1";
+       sha256 = "054kcm0ibh1qdkyci36w3yxwxln56hz1yvi7gskp636nzhw5sjrw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process ];
+       description = "Adds license info to the top of a file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "adhoc-network" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Crypto, dataenc
+     , HaXml, hsgnutls, network, old-locale, parsec, pkcs1, random, time
+     , utf8-string, xml-parsec
+     }:
+     mkDerivation {
+       pname = "adhoc-network";
+       version = "1.0.3";
+       sha256 = "1whdrmxw13nr7bb95rhqaz3klgmcwx4ai51bz5yb38nldf4ac377";
+       buildDepends = [
+         base bytestring containers Crypto dataenc HaXml hsgnutls network
+         old-locale parsec pkcs1 random time utf8-string xml-parsec
+       ];
+       homepage = "http://sep07.mroot.net/";
+       description = "Ad-hoc P2P network protocol";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "adict" = callPackage
+    ({ mkDerivation, array, base, binary, containers, dawg, PSQueue
+     , QuickCheck, test-framework, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "adict";
+       version = "0.4.1";
+       sha256 = "07w3595cwlicvwg04w9i5sg1x9d3r8c64pq0yi5pmnza7jpd5vgq";
+       buildDepends = [
+         array base binary containers dawg PSQueue vector
+       ];
+       testDepends = [
+         base containers dawg QuickCheck test-framework
+         test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/kawu/adict";
+       description = "Approximate dictionary searching";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "adjunctions" = callPackage
+    ({ mkDerivation, array, base, comonad, containers, contravariant
+     , distributive, free, mtl, profunctors, semigroupoids, semigroups
+     , tagged, transformers, void
+     }:
+     mkDerivation {
+       pname = "adjunctions";
+       version = "4.2";
+       sha256 = "07r56r6kyd6wlcxxnsnnyv59pyc8s1gsy54kzwmk9yknks5rij9i";
+       buildDepends = [
+         array base comonad containers contravariant distributive free mtl
+         profunctors semigroupoids semigroups tagged transformers void
+       ];
+       homepage = "http://github.com/ekmett/adjunctions/";
+       description = "Adjunctions and representable functors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "adobe-swatch-exchange" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-binary-ieee754
+     , language-css, mtl, pretty
+     }:
+     mkDerivation {
+       pname = "adobe-swatch-exchange";
+       version = "0.2.0";
+       sha256 = "0jc6xwh1m2hmpfclsi27233775kp4yk0wrkr498qx7fs6p7xflpv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring data-binary-ieee754 language-css mtl pretty
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/stepcut/ase2css";
+       description = "parse Adobe Swatch Exchange files and (optionally) output .css files with the colors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "adp-multi" = callPackage
+    ({ mkDerivation, array, base, containers, htrace, HUnit, mtl
+     , QuickCheck, random-shuffle, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "adp-multi";
+       version = "0.2.3";
+       sha256 = "1lmmyxa22lm9a86w0gap8g676mnh5l1kxczbsv8ymb98fzcg6a27";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers htrace ];
+       testDepends = [
+         array base containers htrace HUnit mtl QuickCheck random-shuffle
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://adp-multi.ruhoh.com";
+       description = "ADP for multiple context-free languages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "adp-multi-monadiccp" = callPackage
+    ({ mkDerivation, adp-multi, base, containers, monadiccp, mtl
+     , QuickCheck, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "adp-multi-monadiccp";
+       version = "0.2.1";
+       sha256 = "13zlmhgyf46pcnrjwcrk7l6nmrkgqvycrajq3v7z72kjixakis6s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ adp-multi base containers monadiccp ];
+       testDepends = [
+         adp-multi base containers monadiccp mtl QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://adp-multi.ruhoh.com";
+       description = "Subword construction in adp-multi using monadiccp";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aeson_0_7_0_6" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, deepseq, dlist, ghc-prim, hashable, HUnit, mtl
+     , old-locale, QuickCheck, scientific, syb, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "0.7.0.6";
+       revision = "1";
+       sha256 = "0vsf9msz9iv7xvsnys5c0kbkldb0pvhiai02vz50b0d1kdsk2mb4";
+       editedCabalFile = "8b87a1343dd8d93d98e48e530f2ec14f5949fcdc96c8ecc81458a1d20defd001";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring containers deepseq dlist
+         ghc-prim hashable mtl old-locale scientific syb template-haskell
+         text time unordered-containers vector
+       ];
+       testDepends = [
+         attoparsec base bytestring containers ghc-prim HUnit QuickCheck
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 text time unordered-containers vector
+       ];
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aeson" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, deepseq, dlist, ghc-prim, hashable, HUnit, mtl
+     , old-locale, QuickCheck, scientific, syb, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "0.8.0.2";
+       sha256 = "1mc8cwmswx69r77wv7dfim525jqajnlxbcx5xf3ygpszzf6mh1q7";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring containers deepseq dlist
+         ghc-prim hashable mtl old-locale scientific syb template-haskell
+         text time unordered-containers vector
+       ];
+       testDepends = [
+         attoparsec base bytestring containers ghc-prim HUnit QuickCheck
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 text time unordered-containers vector
+       ];
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aeson-bson" = callPackage
+    ({ mkDerivation, aeson, array, attoparsec, base, bson, bytestring
+     , containers, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-bson";
+       version = "0.3.0";
+       sha256 = "0a4hrx56q1kfvf2ff9flsmrpgpvz3rshri9dpj4a9bf76ah04jn9";
+       buildDepends = [
+         aeson array attoparsec base bson bytestring containers text
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Mapping between Aeson's JSON and Bson objects";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aeson-casing" = callPackage
+    ({ mkDerivation, aeson, base, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-th
+     }:
+     mkDerivation {
+       pname = "aeson-casing";
+       version = "0.1.0.1";
+       sha256 = "0paspgxayshz007gibijrh4j141q0lxshl6h9nyn24lbkrs62nnb";
+       buildDepends = [ aeson base ];
+       testDepends = [
+         aeson base tasty tasty-hunit tasty-quickcheck tasty-th
+       ];
+       description = "Tools to change the formatting of field names in Aeson instances";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aeson-diff" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, edit-distance-vector
+     , hashable, mtl, optparse-applicative, QuickCheck
+     , quickcheck-instances, scientific, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "aeson-diff";
+       version = "0.1.1.1";
+       sha256 = "102fa65xnma0d1g7gyhjagybzjys93m32gwxc9zliz3wbbpyarp3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring edit-distance-vector hashable mtl
+         optparse-applicative scientific text unordered-containers vector
+       ];
+       testDepends = [
+         aeson base QuickCheck quickcheck-instances text
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/thsutton/aeson-diff";
+       description = "Extract and apply patches to JSON documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aeson-lens" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, doctest, lens, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-lens";
+       version = "0.5.0.0";
+       sha256 = "1pr8cxkx41wi7095cp1gpqrwadwx6azcrdi1kr1ik0fs6606dkks";
+       buildDepends = [
+         aeson base bytestring lens text unordered-containers vector
+       ];
+       testDepends = [ base doctest ];
+       description = "Lens of Aeson";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aeson-native" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder
+     , blaze-textual-native, bytestring, containers, deepseq, hashable
+     , mtl, old-locale, syb, text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-native";
+       version = "0.3.3.2";
+       sha256 = "1s5i88r8sdd7ayrpjw6f18273k6r0igk0sswb503hzvjagzmzffh";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-textual-native bytestring
+         containers deepseq hashable mtl old-locale syb text time
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/mailrank/aeson";
+       description = "Fast JSON parsing and encoding (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aeson-pretty" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cmdargs, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-pretty";
+       version = "0.7.2";
+       sha256 = "03ap81853qi8yd9kdgczllrrni23a6glsfxrwj8zab6ipjrbh234";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring cmdargs text unordered-containers
+         vector
+       ];
+       homepage = "http://github.com/informatikr/aeson-pretty";
+       description = "JSON pretty-printing library and command-line tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aeson-qq" = callPackage
+    ({ mkDerivation, aeson, base, ghc-prim, haskell-src-meta, hspec
+     , parsec, template-haskell, text, vector
+     }:
+     mkDerivation {
+       pname = "aeson-qq";
+       version = "0.7.4";
+       sha256 = "0wnc9pdjvd15gfkdxzf084393vwmxv2xaxdchzgal1qhwa1mak4v";
+       buildDepends = [
+         aeson base haskell-src-meta parsec template-haskell text vector
+       ];
+       testDepends = [
+         aeson base ghc-prim haskell-src-meta hspec parsec template-haskell
+         text vector
+       ];
+       homepage = "http://github.com/zalora/aeson-qq";
+       description = "JSON quasiquoter for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aeson-schema" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , directory, filepath, ghc-prim, hashable, hint, HUnit, mtl
+     , QuickCheck, regex-base, regex-compat, regex-pcre, scientific, syb
+     , template-haskell, temporary, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, th-lift, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-schema";
+       version = "0.3.0.3";
+       sha256 = "1cb09lq21mb4471w3k3gjhhq7g081wkpnx39bqy15lj6alpbqvd2";
+       buildDepends = [
+         aeson attoparsec base bytestring containers ghc-prim mtl QuickCheck
+         regex-base regex-compat regex-pcre scientific syb template-haskell
+         text th-lift transformers unordered-containers vector
+       ];
+       testDepends = [
+         aeson attoparsec base bytestring containers directory filepath
+         hashable hint HUnit mtl QuickCheck regex-compat scientific
+         template-haskell temporary test-framework test-framework-hunit
+         test-framework-quickcheck2 text unordered-containers vector
+       ];
+       homepage = "https://github.com/timjb/aeson-schema";
+       description = "Haskell JSON schema validator and parser generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aeson-serialize" = callPackage
+    ({ mkDerivation, aeson, base, cereal, hspec, HUnit }:
+     mkDerivation {
+       pname = "aeson-serialize";
+       version = "0.0.0";
+       sha256 = "010lbzm5ik2gdiqm8slnf9kwgbnz8ib03c901schrw5kildfxq51";
+       buildDepends = [ aeson base cereal ];
+       testDepends = [ aeson base cereal hspec HUnit ];
+       description = "Simple serialization functions for aeson types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aeson-smart" = callPackage
+    ({ mkDerivation, aeson, base, data-default, template-haskell, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-smart";
+       version = "0.2.0.0";
+       sha256 = "1r3262k6d7nskbnnam5rw5vq7i84347amz8lk6hrjn3c4bwacf35";
+       buildDepends = [
+         aeson base data-default template-haskell text unordered-containers
+         vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/lassoinc/aeson-smart";
+       description = "Smart derivation of Aeson instances";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aeson-streams" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, HsOpenSSL
+     , http-streams, io-streams
+     }:
+     mkDerivation {
+       pname = "aeson-streams";
+       version = "0.1.0";
+       sha256 = "1mmkilvjrffzbf7d024kpc4i6b72f7dbq5hrkvrzr0q7dg1mg825";
+       buildDepends = [
+         aeson attoparsec base bytestring HsOpenSSL http-streams io-streams
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/noteed/aeson-streams";
+       description = "An HTTP client library for JSON-based APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aeson-t" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, bytestring, hspec2, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson-t";
+       version = "0.0.4";
+       sha256 = "0y4mbn1xb288amgy8j6p5x9ih873qwiwrialfchc8ryg0n8syp8r";
+       buildDepends = [
+         aeson base bytestring text unordered-containers vector
+       ];
+       testDepends = [
+         aeson aeson-qq base bytestring hspec2 text unordered-containers
+         vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/begriffs/aeson-t";
+       description = "Transform JSON";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aeson-toolkit" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, failure, hspec, text }:
+     mkDerivation {
+       pname = "aeson-toolkit";
+       version = "0.0.1";
+       sha256 = "07cb4f4zwm64x0q5z63gsskl80s6qbwnk4nl6x2jiardcl3k8cl3";
+       buildDepends = [ aeson base bytestring failure text ];
+       testDepends = [ base hspec ];
+       description = "A generalization of Aeson over Failure";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aeson-utils" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, scientific
+     , text
+     }:
+     mkDerivation {
+       pname = "aeson-utils";
+       version = "0.3";
+       sha256 = "12rb5dfhcr5rahk14nxc5ac416sxpzsihyciwk551kyyvahmrp3v";
+       buildDepends = [
+         aeson attoparsec base bytestring scientific text
+       ];
+       description = "Utilities for working with Aeson";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "affine-invariant-ensemble-mcmc" = callPackage
+    ({ mkDerivation, base, containers, mwc-random, primitive, split
+     , vector
+     }:
+     mkDerivation {
+       pname = "affine-invariant-ensemble-mcmc";
+       version = "0.2.0.0";
+       sha256 = "116ln9zf4n0xy95nyyb3kwhg7ds36m793ys5yd5ha74vqf48gvk5";
+       buildDepends = [
+         base containers mwc-random primitive split vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jtobin/affine-invariant-ensemble-mcmc";
+       description = "General-purpose sampling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "afis" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-random
+     , cryptohash, HUnit, mtl, packer, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "afis";
+       version = "0.1.2";
+       sha256 = "0ppq3rbwszz3wczg0zgk8hjqplv2ck11bbq5xr8306s5n02ybcf9";
+       buildDepends = [
+         base byteable bytestring crypto-random cryptohash packer
+       ];
+       testDepends = [
+         base byteable bytestring crypto-random cryptohash HUnit mtl
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-afis";
+       description = "Anti-forensic Information Splitter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "afv" = callPackage
+    ({ mkDerivation, base, bytestring, directory, language-c, mtl
+     , process, yices
+     }:
+     mkDerivation {
+       pname = "afv";
+       version = "0.1.1";
+       sha256 = "06p2xp5myipjhyzqak4zwr755kc1l4qljdf2bxn8rg0m7rhy01vk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory language-c mtl process yices
+       ];
+       jailbreak = true;
+       homepage = "http://tomahawkins.org";
+       description = "Infinite state model checking of iterative C programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "agda-server" = callPackage
+    ({ mkDerivation, Agda, base, cmdargs, containers, directory
+     , filepath, HJavaScript, mtl, pandoc, snap-core, snap-server
+     , transformers, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "agda-server";
+       version = "0.1.1";
+       sha256 = "070xszykrazkisp1lsh2q1ri1i64lhd8psz8g4blv37zm899fpga";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         Agda base cmdargs containers directory filepath HJavaScript mtl
+         pandoc snap-core snap-server transformers utf8-string xhtml
+       ];
+       description = "Http server for Agda (prototype)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "agum" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "agum";
+       version = "2.5";
+       sha256 = "0acirnqsm7mrz6pgy9nabn23bmljdcz08b3ahak4ma5lcm5bql9q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       description = "Unification and Matching in an Abelian Group";
+       license = "GPL";
+     }) {};
+
+  "aig" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, vector }:
+     mkDerivation {
+       pname = "aig";
+       version = "0.2.1";
+       sha256 = "0wcqw5scaw2ximhbv9pnpngdlr36adci7hpqwj9haa9ql5pwqqxk";
+       buildDepends = [ base mtl QuickCheck vector ];
+       description = "And-inverter graphs in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "air" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , dlist, filepath, mtl, text, time
+     }:
+     mkDerivation {
+       pname = "air";
+       version = "2014.11.17";
+       sha256 = "1npn2pqc1ndk603as2nhvgq4bclzdfslk7w5y85kpsq77s5mahdh";
+       buildDepends = [
+         array base bytestring containers directory dlist filepath mtl text
+         time
+       ];
+       homepage = "https://github.com/nfjinjing/air";
+       description = "air";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "air-extra" = callPackage
+    ({ mkDerivation, air, array, base, bytestring, containers
+     , directory, filepath, old-locale, old-time, parallel, parsec
+     , regexpr, text, time
+     }:
+     mkDerivation {
+       pname = "air-extra";
+       version = "2013.9.15";
+       sha256 = "0mf3wpb7d46b58fb4n6hbqix5wxhh55k7g6z22q28ygrmk77himg";
+       buildDepends = [
+         air array base bytestring containers directory filepath old-locale
+         old-time parallel parsec regexpr text time
+       ];
+       homepage = "https://github.com/nfjinjing/air-extra";
+       description = "air-extra";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "air-spec" = callPackage
+    ({ mkDerivation, base, hspec, text }:
+     mkDerivation {
+       pname = "air-spec";
+       version = "2013.7.1";
+       sha256 = "0s4y2805nmfydzxgr5lnhmyzkb6rh9mx2kpvzqqgyh4jvccdnwfx";
+       buildDepends = [ base hspec text ];
+       homepage = "https://github.com/nfjinjing/air-spec";
+       description = "air spec helper";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "air-th" = callPackage
+    ({ mkDerivation, air, base, template-haskell }:
+     mkDerivation {
+       pname = "air-th";
+       version = "2014.11.17";
+       sha256 = "0rhp56qvwiwlrs7pvpbslybvlp4xnllfjab6pap2chxgywas34pq";
+       buildDepends = [ air base template-haskell ];
+       homepage = "https://github.com/nfjinjing/air-th";
+       description = "air";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "airbrake" = callPackage
+    ({ mkDerivation, base, blaze-markup, bytestring, directory
+     , exceptions, filepath, http-conduit, monad-control, network
+     , semigroups, template-haskell, text, transformers, utf8-string
+     , wai
+     }:
+     mkDerivation {
+       pname = "airbrake";
+       version = "0.2.0.0";
+       sha256 = "03z5hjrdwv8kjsj1vhipqhfmc19mi5cnjkcvcm71b0gmnpd71shq";
+       buildDepends = [
+         base blaze-markup bytestring directory exceptions filepath
+         http-conduit monad-control network semigroups template-haskell text
+         transformers utf8-string wai
+       ];
+       homepage = "https://github.com/joelteon/airbrake";
+       description = "An Airbrake notifier for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aivika" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, random, vector }:
+     mkDerivation {
+       pname = "aivika";
+       version = "4.0.1";
+       sha256 = "0vhpv55wcljywh8rvv829c69wam0w505p6gf8bs5680spwc4z4y0";
+       buildDepends = [ array base containers mtl random vector ];
+       homepage = "http://github.com/dsorokin/aivika";
+       description = "A multi-paradigm simulation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aivika-experiment" = callPackage
+    ({ mkDerivation, aivika, base, containers, directory, filepath, mtl
+     , network-uri, parallel-io, split
+     }:
+     mkDerivation {
+       pname = "aivika-experiment";
+       version = "3.1";
+       sha256 = "19x4y060r9cgkfffyxdgilmrrjv4ycpxv6w8gclkfrxj1ywwkwx4";
+       buildDepends = [
+         aivika base containers directory filepath mtl network-uri
+         parallel-io split
+       ];
+       homepage = "http://github.com/dsorokin/aivika-experiment";
+       description = "Simulation experiments for the Aivika library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aivika-experiment-cairo" = callPackage
+    ({ mkDerivation, aivika-experiment, aivika-experiment-chart, base
+     , Chart, Chart-cairo
+     }:
+     mkDerivation {
+       pname = "aivika-experiment-cairo";
+       version = "3.1";
+       sha256 = "0b4nwzrkpxhiwph93zvyk8bi9770bsdnhxkzhbri3l0zsm9250kz";
+       buildDepends = [
+         aivika-experiment aivika-experiment-chart base Chart Chart-cairo
+       ];
+       homepage = "http://github.com/dsorokin/aivika-experiment-cairo";
+       description = "Cairo backend for the Aivika simulation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aivika-experiment-chart" = callPackage
+    ({ mkDerivation, aivika, aivika-experiment, array, base, Chart
+     , colour, containers, data-default-class, filepath, lens, mtl
+     , split
+     }:
+     mkDerivation {
+       pname = "aivika-experiment-chart";
+       version = "3.1";
+       sha256 = "17bp7bp3x7z3xlzd6922mjm44v8jlkw1ak3zfr31146hlifgfhyw";
+       buildDepends = [
+         aivika aivika-experiment array base Chart colour containers
+         data-default-class filepath lens mtl split
+       ];
+       homepage = "http://github.com/dsorokin/aivika-experiment-chart";
+       description = "Simulation experiments with charting for the Aivika library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aivika-experiment-diagrams" = callPackage
+    ({ mkDerivation, aivika-experiment, aivika-experiment-chart, base
+     , Chart, Chart-diagrams, containers, filepath
+     }:
+     mkDerivation {
+       pname = "aivika-experiment-diagrams";
+       version = "3.1";
+       sha256 = "1vjis6184cvw7jzg8a3nvs0d0sv30d6qx598phcq9ncs3bmh9h3f";
+       buildDepends = [
+         aivika-experiment aivika-experiment-chart base Chart Chart-diagrams
+         containers filepath
+       ];
+       homepage = "http://github.com/dsorokin/aivika-experiment-diagrams";
+       description = "Diagrams backend for the Aivika simulation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aivika-transformers" = callPackage
+    ({ mkDerivation, aivika, array, base, containers, mtl, random
+     , vector
+     }:
+     mkDerivation {
+       pname = "aivika-transformers";
+       version = "3.0";
+       sha256 = "1b9hkza735g1gxr3l73fz48y29fyph89j8114wzld3ydma2f6d1z";
+       buildDepends = [ aivika array base containers mtl random vector ];
+       homepage = "http://github.com/dsorokin/aivika-transformers";
+       description = "Transformers for the Aivika simulation library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ajhc" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers, cpphs
+     , directory, fgl, filepath, haskeline, HsSyck, HTTP, mtl, network
+     , old-time, pretty, process, random, regex-compat, syb, temporary
+     , unix, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "ajhc";
+       version = "0.8.0.10";
+       sha256 = "1x2rc0gyyg7idc07hi64fvkv5h5a652kmcrczfxqyzbiyx2fjphs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers cpphs directory fgl
+         filepath haskeline HsSyck HTTP mtl network old-time pretty process
+         random regex-compat syb temporary unix utf8-string zlib
+       ];
+       homepage = "http://ajhc.metasepi.org/";
+       description = "Haskell compiler that produce binary through C language";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "al" = callPackage
+    ({ mkDerivation, base, c2hs, mtl, openal }:
+     mkDerivation {
+       pname = "al";
+       version = "0.1.2";
+       sha256 = "1vni9rbpngdgn530n5d9rvmj8j0nad54nw7njk1gd8krbnbgfy9k";
+       buildDepends = [ base mtl ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ openal ];
+       homepage = "http://github.com/phaazon/al";
+       description = "OpenAL 1.1 raw API.";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) openal;};
+
+  "alarmclock" = callPackage
+    ({ mkDerivation, base, stm, time, unbounded-delays }:
+     mkDerivation {
+       pname = "alarmclock";
+       version = "0.2.0.5";
+       sha256 = "1j0g4xff6i69wx5m45xmx6dsdb5sdl85id967mflnrczgj36d1fd";
+       buildDepends = [ base stm time unbounded-delays ];
+       testDepends = [ base time ];
+       homepage = "https://bitbucket.org/davecturner/alarmclock";
+       description = "Wake up and perform an action at a certain time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "alea" = callPackage
+    ({ mkDerivation, argparser, base, containers, threefish }:
+     mkDerivation {
+       pname = "alea";
+       version = "0.3.3.0";
+       sha256 = "1c5bdbazlds419qgpdghrap5y20i59z57qk2dnj35bl2n5mvlapl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ argparser base containers threefish ];
+       homepage = "https://github.com/Rnhmjoj/alea";
+       description = "a diceware passphrase generator";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "alex" = callPackage
+    ({ mkDerivation, array, base, containers, directory, happy, perl
+     , process, QuickCheck
+     }:
+     mkDerivation {
+       pname = "alex";
+       version = "3.1.4";
+       sha256 = "17x13nbbr79xgdlzywjqw19vcl6iygjnssjnxnajgijkv764wknn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers directory QuickCheck ];
+       testDepends = [ base process ];
+       buildTools = [ happy perl ];
+       homepage = "http://www.haskell.org/alex/";
+       description = "Alex is a tool for generating lexical analysers in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) perl;};
+
+  "alex-meta" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy
+     , haskell-src-meta, QuickCheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "alex-meta";
+       version = "0.3.0.7";
+       sha256 = "05a290b997kxm2rl0w98c3fzq33866pi69pmmahqvw631cp2c6ni";
+       buildDepends = [
+         array base containers haskell-src-meta QuickCheck template-haskell
+       ];
+       buildTools = [ alex happy ];
+       description = "Quasi-quoter for Alex lexers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "alfred" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hexpat, HTTP, network-uri
+     , text, xmlgen
+     }:
+     mkDerivation {
+       pname = "alfred";
+       version = "0.4";
+       sha256 = "1zmjllvcpj42cp01n1p2f2kzzx2ik4fql2vwbzlkaay9v9pskjk0";
+       buildDepends = [
+         aeson base bytestring hexpat HTTP network-uri text xmlgen
+       ];
+       description = "utility library for Alfred version 2";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "algebra" = callPackage
+    ({ mkDerivation, adjunctions, array, base, containers, distributive
+     , mtl, nats, semigroupoids, semigroups, tagged, transformers, void
+     }:
+     mkDerivation {
+       pname = "algebra";
+       version = "4.2";
+       revision = "1";
+       sha256 = "1b74c55326qsnpyqzyhyq87j61wp3zrpsqhipgw8db8nm2lq9nhs";
+       editedCabalFile = "621c4b71305b0a6a926f055608b5ca76c4c2360a523bcdf88d80fd10d20f4210";
+       buildDepends = [
+         adjunctions array base containers distributive mtl nats
+         semigroupoids semigroups tagged transformers void
+       ];
+       homepage = "http://github.com/ekmett/algebra/";
+       description = "Constructive abstract algebra";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "algebra-dag" = callPackage
+    ({ mkDerivation, aeson, base, containers, fgl, mtl, parsec
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "algebra-dag";
+       version = "0.1.0.0";
+       sha256 = "0sl3lsbjhnmnq49zf1irnijp7wfxixsv21vfknshi5hkl9757i89";
+       buildDepends = [
+         aeson base containers fgl mtl parsec template-haskell transformers
+       ];
+       description = "Infrastructure for DAG-shaped relational algebra plans";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "algebra-sql" = callPackage
+    ({ mkDerivation, aeson, algebra-dag, ansi-wl-pprint, base
+     , bytestring, containers, dlist, errors, fgl, filepath, ghc-prim
+     , mtl, multiset, parsec, pretty, process, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "algebra-sql";
+       version = "0.1.0.1";
+       sha256 = "0das62ykwgyvj8qhk44i93b0w66wshdrdaylhvks03232pgpf8yp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson algebra-dag ansi-wl-pprint base bytestring containers dlist
+         errors fgl filepath ghc-prim mtl multiset parsec pretty process
+         template-haskell transformers
+       ];
+       description = "Relational Algebra and SQL Code Generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "algebraic" = callPackage
+    ({ mkDerivation, accelerate, base }:
+     mkDerivation {
+       pname = "algebraic";
+       version = "0.1.0.2";
+       sha256 = "15gv6w9vz02960r6bd0k979vi6kj7pfxg705ajbrsd1pnwklfnwh";
+       buildDepends = [ accelerate base ];
+       homepage = "https://github.com/wdanilo/algebraic";
+       description = "General linear algebra structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "algebraic-classes" = callPackage
+    ({ mkDerivation, base, syb, template-haskell }:
+     mkDerivation {
+       pname = "algebraic-classes";
+       version = "0.5.2";
+       sha256 = "0kk0wafqwqr466qiz3dwagpf03vln922dnrrj90ay7kqp3623jnd";
+       buildDepends = [ base syb template-haskell ];
+       homepage = "https://github.com/sjoerdvisscher/algebraic-classes";
+       description = "Conversions between algebraic classes and F-algebras";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "align" = callPackage
+    ({ mkDerivation, base, uglymemo, vector }:
+     mkDerivation {
+       pname = "align";
+       version = "0.1.0.0";
+       sha256 = "038zc4c9s0fpga1rpacmv5qvarn43lkhmkpcx6waxxa6gqnpv8i5";
+       buildDepends = [ base uglymemo vector ];
+       description = "Sequence alignment algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "align-text" = callPackage
+    ({ mkDerivation, base, optparse-applicative, text }:
+     mkDerivation {
+       pname = "align-text";
+       version = "0.1.0.1";
+       sha256 = "1vn8l9lxih2w8bjkfl8j4xxi8p44c1gqia63gi143xk9s035rjh2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base optparse-applicative text ];
+       jailbreak = true;
+       homepage = "https://github.com/danchoi/align-text";
+       description = "A simple unix filter to align text on specified substrings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aligned-foreignptr" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "aligned-foreignptr";
+       version = "0.1";
+       sha256 = "0hmnp08k04c0ag9fyp5sajg54r4gi57vrd9krk4g8y8fri0fgc00";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "An aligned ForeignPtr type";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "allocated-processor" = callPackage
+    ({ mkDerivation, base, vector-space }:
+     mkDerivation {
+       pname = "allocated-processor";
+       version = "0.0.2";
+       sha256 = "0jhz3q0972snrgd9c7lr934ddkwllwgw6anj7ax8hj4zi0zc615m";
+       buildDepends = [ base vector-space ];
+       description = "Functional combinators for monadic actions that require allocation and de-allocation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "alloy" = callPackage
+    ({ mkDerivation, base, containers, mtl, syb, vector }:
+     mkDerivation {
+       pname = "alloy";
+       version = "1.2.1";
+       sha256 = "00bndi30yhd92vwij3dwhbj79dhv9n3l45bw01mfqak45gqbfwyv";
+       buildDepends = [ base containers mtl syb vector ];
+       description = "Generic programming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "alloy-proxy-fd" = callPackage
+    ({ mkDerivation, alloy, base, mtl }:
+     mkDerivation {
+       pname = "alloy-proxy-fd";
+       version = "1.0.0";
+       sha256 = "1fhk5ydnf0l0n579gqg5lfg2cc9z8xbgqsqzgkpcw0046kp53rjw";
+       buildDepends = [ alloy base mtl ];
+       description = "Some add-on instances for the Alloy library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "alms" = callPackage
+    ({ mkDerivation, array, base, containers, directory, editline, fgl
+     , filepath, HUnit, incremental-sat-solver, mtl, network, parsec
+     , pretty, QuickCheck, random, stm, syb, template-haskell
+     , transformers, tuple
+     }:
+     mkDerivation {
+       pname = "alms";
+       version = "0.6.5";
+       sha256 = "12hnhz1lz9wb4s95b9via1nkfgmgmr7p1wc9k4bcvsm778j920s8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory editline fgl filepath HUnit
+         incremental-sat-solver mtl network parsec pretty QuickCheck random
+         stm syb template-haskell transformers tuple
+       ];
+       homepage = "http://www.ccs.neu.edu/~tov/pubs/alms";
+       description = "a practical affine language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "alpha" = callPackage
+    ({ mkDerivation, array, AvlTree, base, bimap, bindings-posix
+     , bytestring, cereal, containers, COrdering, cpphs, directory
+     , filepath, ghc-prim, mtl, parsec, transformers, unix
+     }:
+     mkDerivation {
+       pname = "alpha";
+       version = "1.0.15";
+       sha256 = "1gc2kjyk75cxggy52w49j97q4gcn74q7f582q6kjb3gsp2pdrn09";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array AvlTree base bimap bindings-posix bytestring cereal
+         containers COrdering cpphs directory filepath ghc-prim mtl parsec
+         transformers unix
+       ];
+       jailbreak = true;
+       homepage = "http://www.alpha-lang.net/";
+       description = "A compiler for the Alpha language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "alpino-tools" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, conduit
+     , containers, hexpat-pickle, MonadRandom, mtl, random-shuffle
+     , resourcet, rosezipper, utf8-string
+     }:
+     mkDerivation {
+       pname = "alpino-tools";
+       version = "0.2.0";
+       sha256 = "1sh0mrlpfak5i20wqmz23ihphim4di802h02kyxj795gq8q6v61r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-lexing conduit containers hexpat-pickle
+         MonadRandom mtl random-shuffle resourcet rosezipper utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/danieldk/alpino-tools";
+       description = "Alpino data manipulation tools";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "alsa" = callPackage
+    ({ mkDerivation, alsaLib, array, base, extensible-exceptions
+     , sample-frame
+     }:
+     mkDerivation {
+       pname = "alsa";
+       version = "0.4";
+       sha256 = "0zdnhi2wm7w6182k6mccm16x453g7kvbsqx2afnhfjpr3iaj69mg";
+       buildDepends = [ array base extensible-exceptions sample-frame ];
+       extraLibraries = [ alsaLib ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/ALSA";
+       description = "Binding to the ALSA Library API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) alsaLib;};
+
+  "alsa-core" = callPackage
+    ({ mkDerivation, alsaLib, base, extensible-exceptions }:
+     mkDerivation {
+       pname = "alsa-core";
+       version = "0.5.0.1";
+       sha256 = "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b";
+       buildDepends = [ base extensible-exceptions ];
+       pkgconfigDepends = [ alsaLib ];
+       homepage = "http://www.haskell.org/haskellwiki/ALSA";
+       description = "Binding to the ALSA Library API (Exceptions)";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) alsaLib;};
+
+  "alsa-gui" = callPackage
+    ({ mkDerivation, alsa-core, alsa-seq, base, midi, midi-alsa, wx
+     , wxcore
+     }:
+     mkDerivation {
+       pname = "alsa-gui";
+       version = "0.1";
+       sha256 = "0zcyjckdjhsj614iib3dzj9dfp8xj847jfqf4q1sk9311gscbzns";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         alsa-core alsa-seq base midi midi-alsa wx wxcore
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/ALSA";
+       description = "Some simple interactive programs for sending MIDI control messages via ALSA";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "alsa-midi" = callPackage
+    ({ mkDerivation, alsaLib, array, base, event-list, midi
+     , non-negative
+     }:
+     mkDerivation {
+       pname = "alsa-midi";
+       version = "0.4.0.1";
+       sha256 = "1dmc336irhw6wdny6f2za9n3gnd83i3pcfr7qfkm8fzq6kzkkjy3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base event-list midi non-negative ];
+       extraLibraries = [ alsaLib ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/ALSA";
+       description = "Bindings for the ALSA sequencer API (MIDI stuff)";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) alsaLib;};
+
+  "alsa-mixer" = callPackage
+    ({ mkDerivation, alsa-core, alsaLib, base, c2hs, unix }:
+     mkDerivation {
+       pname = "alsa-mixer";
+       version = "0.2.0.2";
+       sha256 = "11sc2n879a8rb9yz54cb8vg8rplgapbymzy785p7n7638xx877hk";
+       buildDepends = [ alsa-core base unix ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ alsaLib ];
+       homepage = "https://github.com/ttuegel/alsa-mixer";
+       description = "Bindings to the ALSA simple mixer API";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) alsaLib;};
+
+  "alsa-pcm" = callPackage
+    ({ mkDerivation, alsa-core, alsaLib, array, base
+     , extensible-exceptions, sample-frame, storable-record
+     }:
+     mkDerivation {
+       pname = "alsa-pcm";
+       version = "0.6.0.3";
+       sha256 = "0rq0i17xhd0x7dnlhdf3i1fdvmyxrsbm0w0k9lrx20xpy4gw2zfs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         alsa-core array base extensible-exceptions sample-frame
+         storable-record
+       ];
+       pkgconfigDepends = [ alsaLib ];
+       homepage = "http://www.haskell.org/haskellwiki/ALSA";
+       description = "Binding to the ALSA Library API (PCM audio)";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) alsaLib;};
+
+  "alsa-pcm-tests" = callPackage
+    ({ mkDerivation, alsa, base }:
+     mkDerivation {
+       pname = "alsa-pcm-tests";
+       version = "0.1";
+       sha256 = "1bhrjf731jqs5297zcid5b6mmdh2njqx2hxssd077a4iqvm0c21k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ alsa base ];
+       description = "Tests for the ALSA audio signal library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "alsa-seq" = callPackage
+    ({ mkDerivation, alsa-core, alsaLib, array, base, bytestring
+     , data-accessor, enumset, extensible-exceptions, poll, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "alsa-seq";
+       version = "0.6.0.5";
+       sha256 = "1ll42nlhjwgzan9h1vzyyyhilj9d41l3gavnbahhgbr8h9wb2f0j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         alsa-core array base bytestring data-accessor enumset
+         extensible-exceptions poll transformers utility-ht
+       ];
+       pkgconfigDepends = [ alsaLib ];
+       homepage = "http://www.haskell.org/haskellwiki/ALSA";
+       description = "Binding to the ALSA Library API (MIDI sequencer)";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) alsaLib;};
+
+  "alsa-seq-tests" = callPackage
+    ({ mkDerivation, alsa, base }:
+     mkDerivation {
+       pname = "alsa-seq-tests";
+       version = "0.1";
+       sha256 = "0is11wdymarzm5zlilh572j1nw3akxma0czbswvgy391pj1a007s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ alsa base ];
+       jailbreak = true;
+       description = "Tests for the ALSA sequencer library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "altcomposition" = callPackage
+    ({ mkDerivation, base, composition }:
+     mkDerivation {
+       pname = "altcomposition";
+       version = "0.2.1.0";
+       sha256 = "1j1kh4wylndyz0zs70v63x5gdhbwa9gpkn1vm108bhhjy79rgmnh";
+       buildDepends = [ base composition ];
+       homepage = "https://github.com/jcristovao/altcomposition";
+       description = "Alternative combinators for unorthodox function composition";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "alternative-io" = callPackage
+    ({ mkDerivation, base, lifted-base, monad-control, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "alternative-io";
+       version = "0.0.1";
+       sha256 = "01hypbci3hw2czkmx78ls51ycx518ich4k753jgv0z8ilrq8isch";
+       buildDepends = [
+         base lifted-base monad-control transformers transformers-base
+       ];
+       description = "IO as Alternative instance (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "altfloat" = callPackage
+    ({ mkDerivation, base, ghc-prim, integer-gmp }:
+     mkDerivation {
+       pname = "altfloat";
+       version = "0.3.1";
+       sha256 = "1n0mxgl1jzap74sglw85l0595lhaj493bz46b90cnsqr5as9mal8";
+       buildDepends = [ base ghc-prim integer-gmp ];
+       homepage = "http://repo.or.cz/w/altfloat.git";
+       description = "Alternative floating point support for GHC";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "alure" = callPackage
+    ({ mkDerivation, alure, base, OpenAL }:
+     mkDerivation {
+       pname = "alure";
+       version = "0.1";
+       sha256 = "1nrlw8qdbgv3l99mlcql35zknyj767fgh3f53y2mjksrh0p61v8n";
+       buildDepends = [ base OpenAL ];
+       extraLibraries = [ alure ];
+       description = "A Haskell binding for ALURE";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { alure = null;};
+
+  "amazon-emailer" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, http-conduit
+     , lifted-base, mime-mail, mime-mail-ses, postgresql-simple
+     , resourcet, text, time
+     }:
+     mkDerivation {
+       pname = "amazon-emailer";
+       version = "0.4.0.0";
+       sha256 = "0s8m16qbcz6jgxx83sx1swg2217bvv3q3pm8b7f2jsn33nihrzxx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring configurator http-conduit lifted-base mime-mail
+         mime-mail-ses postgresql-simple resourcet text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dbp/amazon-emailer";
+       description = "A queue daemon for Amazon's SES with a PostgreSQL table as a queue";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "amazon-emailer-client-snap" = callPackage
+    ({ mkDerivation, base, mtl, snap, snaplet-postgresql-simple, text
+     }:
+     mkDerivation {
+       pname = "amazon-emailer-client-snap";
+       version = "0.1.1.1";
+       sha256 = "03am5nzacq2wd9jf46fnwmwq2ghfsh3yd9s0mzrrkskd26q1askb";
+       buildDepends = [ base mtl snap snaplet-postgresql-simple text ];
+       jailbreak = true;
+       homepage = "https://github.com/dbp/amazon-emailer-client-snap";
+       description = "Client library for amazon-emailer daemon";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "amazon-products" = callPackage
+    ({ mkDerivation, base, base64-bytestring, byteable, bytestring
+     , conduit, containers, cryptohash, http-conduit, http-types, mtl
+     , old-locale, resourcet, text, time, transformers
+     , transformers-base, xml-conduit, xml-picklers, xml-types
+     }:
+     mkDerivation {
+       pname = "amazon-products";
+       version = "0.1.0.1";
+       sha256 = "10y86b3bzx6yk0478pixh3hh4nkkh0qlwwr0ac2fn6sh1hd6c7sl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring byteable bytestring conduit containers
+         cryptohash http-conduit http-types mtl old-locale resourcet text
+         time transformers transformers-base xml-conduit xml-picklers
+         xml-types
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/AndrewRademacher/hs-amazon-products";
+       description = "Connector for Amazon Products API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "amazonka" = callPackage
+    ({ mkDerivation, amazonka-core, base, bytestring, conduit
+     , conduit-extra, cryptohash, cryptohash-conduit, exceptions
+     , http-conduit, lens, mmorph, monad-control, mtl, resourcet, retry
+     , text, time, transformers, transformers-base, transformers-compat
+     }:
+     mkDerivation {
+       pname = "amazonka";
+       version = "0.3.3.1";
+       sha256 = "13lblmqpnd6anc6d6wv1xiqy0c2b8bnq9gh8df0xpbch756qfa4w";
+       buildDepends = [
+         amazonka-core base bytestring conduit conduit-extra cryptohash
+         cryptohash-conduit exceptions http-conduit lens mmorph
+         monad-control mtl resourcet retry text time transformers
+         transformers-base transformers-compat
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Comprehensive Amazon Web Services SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-autoscaling" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-autoscaling";
+       version = "0.3.3";
+       sha256 = "1jn5phz20xki1zprszp8y0l3wlbdxs23iq7d8rvgdnlp4wx1q4vj";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Auto Scaling SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudformation" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudformation";
+       version = "0.3.3";
+       sha256 = "1dbf6aabxss5fnbnwpldg5a87qda4vcrazmbnhhgil30pcgcjbld";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudFormation SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudfront" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudfront";
+       version = "0.3.3";
+       sha256 = "16i1p7j70rxw4b5hmdjzjrk302zqyfgbgvc49dq0ag5hc4351b71";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudFront SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudhsm" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudhsm";
+       version = "0.3.3";
+       sha256 = "0sp3z01jwm9jnalq8yy9vxvjwzwvqj0vzb7syms60ii3hclc30ka";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudHSM SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudsearch" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudsearch";
+       version = "0.3.3";
+       sha256 = "0z1zvk37kds3wlhvd6036g63lvc37axnam9fv646s183xhfrmns8";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudSearch SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudsearch-domains" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudsearch-domains";
+       version = "0.3.3";
+       sha256 = "104qj5cc3ka8ixr1hh4asmfar31rd6k04w4g72c5xzy6l11vzp7j";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudSearch Domain SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudtrail" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudtrail";
+       version = "0.3.3";
+       sha256 = "00caawzj1jjbhxrd53hzqnw66a20r31gvlv19xps3jr49bhrjs15";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudTrail SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudwatch" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudwatch";
+       version = "0.3.3";
+       sha256 = "10044nfmdj1isf8wq0si5nn44c0ya16s1kir65c4g2cisarj0vr0";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudWatch SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cloudwatch-logs" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cloudwatch-logs";
+       version = "0.3.3";
+       sha256 = "0fm8zwdsywhgxnpqi9s5jnasfknjiix15wmfx8in1d6kf52sgy5n";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CloudWatch Logs SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-codedeploy" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-codedeploy";
+       version = "0.3.3";
+       sha256 = "1chbakfpiz5ix3z7hi50c25dc71s6dxkxap1b6z28fqyigd8ycn6";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon CodeDeploy SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cognito-identity" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cognito-identity";
+       version = "0.3.3";
+       sha256 = "1kfnkh5x5s9smg5f82na4kkvc1ljadnc9041zk4nk4vsch41wg5j";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Cognito Identity SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-cognito-sync" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-cognito-sync";
+       version = "0.3.3";
+       sha256 = "138i4b53x82j9agdlbbq90al6397zns2732igadfa3yydy0m9w0v";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Cognito Sync SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-config" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-config";
+       version = "0.3.3";
+       sha256 = "04gvg50przsxagrj7zvbidyf0xx3iqhh23sbzbpfl6ljczig9qmk";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Config SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-core" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, bifunctors, bytestring, case-insensitive
+     , conduit, conduit-extra, cryptohash, data-default-class, hashable
+     , http-client, http-types, lens, mmorph, mtl, nats, old-locale
+     , resourcet, scientific, semigroups, tagged, tasty, tasty-hunit
+     , template-haskell, text, time, transformers, transformers-compat
+     , unordered-containers, vector, xml-conduit
+     }:
+     mkDerivation {
+       pname = "amazonka-core";
+       version = "0.3.3";
+       sha256 = "1mglm6w0pmbhvvgzw5ylv0k97f9cx9nk8yq3akp499bn8nxf70i3";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bifunctors bytestring case-insensitive conduit conduit-extra
+         cryptohash data-default-class hashable http-client http-types lens
+         mmorph mtl nats old-locale resourcet scientific semigroups tagged
+         text time transformers transformers-compat unordered-containers
+         vector xml-conduit
+       ];
+       testDepends = [
+         aeson base tasty tasty-hunit template-haskell text
+       ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Core functionality and data types for Amazonka libraries";
+       license = "unknown";
+     }) {};
+
+  "amazonka-datapipeline" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-datapipeline";
+       version = "0.3.3";
+       sha256 = "1r4k349yy7zi6jas9llxvig6jbqlq2b1nwgy1d40zr4hgjxx9zhk";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Data Pipeline SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-directconnect" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-directconnect";
+       version = "0.3.3";
+       sha256 = "068b60p7gka5azfk181z4n6sdlz5mmnn88x1kcpj3ld290sq264i";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Direct Connect SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-dynamodb" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-dynamodb";
+       version = "0.3.3";
+       sha256 = "0hiksl517yc07dbkm72ms6rr07hwkr7g3390v8xqgv1bqg33cwls";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon DynamoDB SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-ec2" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-ec2";
+       version = "0.3.3";
+       sha256 = "18gsf2hwa3vii1g80rxw8b6j4cj513sglf6i4jpf6l96ncs1zavy";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Compute Cloud SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-ecs" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-ecs";
+       version = "0.3.3";
+       sha256 = "0ssdhcdsjysxxzfa0r40jpf9s6x5gwds1lyr462zkai1nc63f8f3";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon EC2 Container Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-elasticache" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-elasticache";
+       version = "0.3.3";
+       sha256 = "19zdxmisp3bh2lfx0a7ivghpciwgdmbmj4iah2fgwxbc01p0srbm";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon ElastiCache SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-elasticbeanstalk" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-elasticbeanstalk";
+       version = "0.3.3";
+       sha256 = "09awjlp1yay1arpw5yavz879v40hxsy5pij8ky4fnvwdclsxx0qs";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Beanstalk SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-elastictranscoder" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-elastictranscoder";
+       version = "0.3.3";
+       sha256 = "06nq2zz2yc1wsgx8m9cb0filb9wfmcj4xh0ipk4jzlnhnl2izir2";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Transcoder SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-elb" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-elb";
+       version = "0.3.3";
+       sha256 = "1rdzcxj6ccpqprmq6jdqyv1frmcwd8n21slx70bvqmls208nydf7";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic Load Balancing SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-emr" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-emr";
+       version = "0.3.3";
+       sha256 = "1fpppmsg4bdabczcbhcar7kjxkv0c2j8nqjckfimj57bbxslxjdx";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Elastic MapReduce SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-glacier" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-glacier";
+       version = "0.3.3";
+       sha256 = "11dli63wj57yya7yzc8fh06yvcrqhpf9w2wzb08si30xkbzx3jw1";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Glacier SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-iam" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-iam";
+       version = "0.3.3";
+       sha256 = "0hpaj7d9lkfb589qr9nrvf3c7plqml9v1b7kgckx5x7abjva102h";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Identity and Access Management SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-importexport" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-importexport";
+       version = "0.3.3";
+       sha256 = "1fkgz9w3dkvmkyprvadbhwzc0928zib7k09dfvwdb6h1phhl9w6f";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Import/Export SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-kinesis" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-kinesis";
+       version = "0.3.3";
+       sha256 = "08x1wyqf6kibvkrg4dcsz638x7fnl4z23nninvcmrcivfqcjy27a";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Kinesis SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-kms" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-kms";
+       version = "0.3.3";
+       sha256 = "13hllhcvn2annqhq0dxcv1rvlhzj161xjhnz8vwazcsmpv2wb6pk";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Key Management Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-lambda" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-lambda";
+       version = "0.3.3";
+       sha256 = "0a11riyrs6xx0207p4nkmxvc0y11ndrl6k3rgz2jdvv7g1j31fym";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Lambda SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-opsworks" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-opsworks";
+       version = "0.3.3";
+       sha256 = "03hk0s9l93vksifgy5bdb52mn2v38732c047bgmqfzf48iic2i48";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon OpsWorks SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-rds" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-rds";
+       version = "0.3.3";
+       sha256 = "1h291g4wx2v50whjn4c9h64gvv1j2pn6pyzs7l7765nm3rdmb7cr";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Relational Database Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-redshift" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-redshift";
+       version = "0.3.3";
+       sha256 = "1wivm4ad6p8f5wip7d9cdwk557vy5dnakg62i5bsvi2l05wxh5zr";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Redshift SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-route53" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-route53";
+       version = "0.3.3";
+       sha256 = "0095idbqw6gs6h6pm0amzf6yhqr801pnlad914yac3xk80iywh9i";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Route 53 SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-route53-domains" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-route53-domains";
+       version = "0.3.3";
+       sha256 = "1np4x5lj9a8qgikiwbq2xchh2ngifmhd01lrbpzy44glda0gpxnc";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Route 53 Domains SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-s3" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-s3";
+       version = "0.3.3";
+       sha256 = "0qhdxklj2ilsgmk0cy5bdiyvdgmi9npwxfjbb8ngbg9mavdcs0rh";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Storage Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-sdb" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-sdb";
+       version = "0.3.3";
+       sha256 = "163aqpaxv2pfbfmz3mjw7dzcsjxjfiy36vqk2hsgavbmsgy7d4wq";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon SimpleDB SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-ses" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-ses";
+       version = "0.3.3";
+       sha256 = "18qjpn29hyc9lqky6d0kwi3i4kanzvii45csw2fvjlmcchb1mfhs";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Email Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-sns" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-sns";
+       version = "0.3.3";
+       sha256 = "14321x8chggq5fc12z7v5z8aic4p0r3fb8lrk595nwqybnamqg19";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Notification Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-sqs" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-sqs";
+       version = "0.3.3";
+       sha256 = "030a0vx6py0m0gwplzjzkl3z7iq8n8s1f0knpw6da5xa8sy2na6v";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Queue Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-ssm" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-ssm";
+       version = "0.3.3";
+       sha256 = "0sk8kbb06v52gq0jxhrz0dzdv4kfhn2g0f5kvcpa3vrpvca0jnyk";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Systems Management Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-storagegateway" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-storagegateway";
+       version = "0.3.3";
+       sha256 = "1fzr4c81xqblag8gd3sj6nc029b2klblxall2wm29ggv8j70n48b";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Storage Gateway SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-sts" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-sts";
+       version = "0.3.3";
+       sha256 = "0lzpzvz1k00w1q5ahh76gvhhh7jyk3450ylhbrgjd8gw81k3klnj";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Security Token Service SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-support" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-support";
+       version = "0.3.3";
+       sha256 = "05v8m84gvwdqyalvck8lfn7x525kkah6f87bwd0mrci9vqdi55hc";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Support SDK";
+       license = "unknown";
+     }) {};
+
+  "amazonka-swf" = callPackage
+    ({ mkDerivation, amazonka-core, base }:
+     mkDerivation {
+       pname = "amazonka-swf";
+       version = "0.3.3";
+       sha256 = "1lrxr7dlbkv7x7hcdvf0ly3d4aj0i4j94yksd2x3jp5w33811hjx";
+       buildDepends = [ amazonka-core base ];
+       homepage = "https://github.com/brendanhay/amazonka";
+       description = "Amazon Simple Workflow Service SDK";
+       license = "unknown";
+     }) {};
+
+  "ampersand" = callPackage
+    ({ mkDerivation, base, bytestring, ConfigFile, containers
+     , directory, filepath, graphviz, hashable, mtl, old-locale, pandoc
+     , pandoc-types, process, split, SpreadsheetML, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "ampersand";
+       version = "3.0.2";
+       sha256 = "1ipsh4nvyvdjgblzq6rpq44m1wsps0jvka7m762nh9418w697myc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring ConfigFile containers directory filepath graphviz
+         hashable mtl old-locale pandoc pandoc-types process split
+         SpreadsheetML time utf8-string
+       ];
+       jailbreak = true;
+       homepage = "ampersand.sourceforge.net";
+       description = "Toolsuite for automated design of business processes";
+       license = "GPL";
+     }) {};
+
+  "amqp" = callPackage
+    ({ mkDerivation, base, binary, bytestring, clock, connection
+     , containers, data-binary-ieee754, hspec, hspec-expectations
+     , monad-control, network, network-uri, split, text, vector, xml
+     }:
+     mkDerivation {
+       pname = "amqp";
+       version = "0.12.2";
+       sha256 = "07nk8xxpkdh9w19rwwc87h2vbhfam339czkvyrmx7jh2dp51pnag";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring clock connection containers
+         data-binary-ieee754 monad-control network network-uri split text
+         vector xml
+       ];
+       testDepends = [
+         base binary bytestring clock connection containers
+         data-binary-ieee754 hspec hspec-expectations network network-uri
+         split text vector
+       ];
+       homepage = "https://github.com/hreinhardt/amqp";
+       description = "Client library for AMQP servers (currently only RabbitMQ)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "amqp-conduit" = callPackage
+    ({ mkDerivation, amqp, base, bytestring, conduit, exceptions, hspec
+     , HUnit, lifted-base, monad-control, mtl, resourcet, text
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "amqp-conduit";
+       version = "0.1.0.1";
+       sha256 = "167dkak5hg4q5b7i58mw6bl0mh38nyqbzyrhplmil9nins7cvqmv";
+       buildDepends = [
+         amqp base conduit exceptions lifted-base monad-control mtl
+         resourcet text transformers transformers-base
+       ];
+       testDepends = [
+         amqp base bytestring conduit hspec HUnit resourcet transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tatac1/amqp-conduit/";
+       description = "Conduit bindings for AMQP (see amqp package)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "amrun" = callPackage
+    ({ mkDerivation, base, deepseq, parsec }:
+     mkDerivation {
+       pname = "amrun";
+       version = "0.0.0.5";
+       sha256 = "1y0azhsjarv26lkny1wckdz45bs87wbga29hbg6w59wc2gjkbxqz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base deepseq parsec ];
+       description = "Interpreter for AM";
+       license = "GPL";
+     }) {};
+
+  "analyze-client" = callPackage
+    ({ mkDerivation, base, bytestring, http-conduit
+     , MonadCatchIO-transformers, mtl, snap, snap-core, time
+     }:
+     mkDerivation {
+       pname = "analyze-client";
+       version = "0.1.0.1";
+       sha256 = "1k2x6srrf2cwiihhi2aacjy3bxyz59nczr49rnsxa0kk7gnkjngm";
+       buildDepends = [
+         base bytestring http-conduit MonadCatchIO-transformers mtl snap
+         snap-core time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dbp/analyze-client";
+       description = "Client for analyze service";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "anansi" = callPackage
+    ({ mkDerivation, base, bytestring, containers, monads-tf, options
+     , parsec, system-argv0, system-fileio, system-filepath, text
+     }:
+     mkDerivation {
+       pname = "anansi";
+       version = "0.4.7";
+       sha256 = "0am6c4chbysgs63n3wbd4lfxdzkg6fzj4xgp6i26z4vhj49qk890";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers monads-tf options parsec system-argv0
+         system-fileio system-filepath text
+       ];
+       homepage = "https://john-millikin.com/software/anansi/";
+       description = "Simple literate programming preprocessor";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "anansi-hscolour" = callPackage
+    ({ mkDerivation, anansi, base, bytestring, containers, hscolour
+     , monads-tf, text
+     }:
+     mkDerivation {
+       pname = "anansi-hscolour";
+       version = "0.1.2";
+       sha256 = "0ffk44lacm3al96cmnacyi6pnhlzhw34jgn87fsfjcl516ffmfxw";
+       buildDepends = [
+         anansi base bytestring containers hscolour monads-tf text
+       ];
+       homepage = "https://john-millikin.com/software/anansi/";
+       description = "Colorized looms for Anansi";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "anansi-pandoc" = callPackage
+    ({ mkDerivation, anansi, base, bytestring, containers, monads-tf
+     , pandoc, text
+     }:
+     mkDerivation {
+       pname = "anansi-pandoc";
+       version = "0.1.3";
+       sha256 = "13s370b35wmwvbp6a9afsbl62hswj4mdhnvcgigwjz6bcwxxxpxi";
+       buildDepends = [
+         anansi base bytestring containers monads-tf pandoc text
+       ];
+       jailbreak = true;
+       homepage = "https://john-millikin.com/software/anansi/";
+       description = "Looms which use Pandoc to parse and produce a variety of formats";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "anatomy" = callPackage
+    ({ mkDerivation, atomo, base, blaze-html, bytestring, containers
+     , directory, filepath, hashable, haskeline, highlighter, mtl
+     , parsec, pretty, pretty-show, tagsoup, text, time, vector
+     }:
+     mkDerivation {
+       pname = "anatomy";
+       version = "0.4";
+       sha256 = "0xza3xfzzbix9xf0vwwk4qz02h4iil3hglqspgdymhjbxfl68714";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         atomo base blaze-html bytestring containers directory filepath
+         hashable haskeline highlighter mtl parsec pretty pretty-show
+         tagsoup text time vector
+       ];
+       homepage = "http://atomo-lang.org/";
+       description = "Anatomy: Atomo documentation system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "angel" = callPackage
+    ({ mkDerivation, base, configurator, containers, hspec, mtl
+     , old-locale, process, stm, text, time, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "angel";
+       version = "0.5.1";
+       sha256 = "1ag5bpwfmshcwhycp12ywqvhf4d1fdfs9haawzhawnjpcm5h2hha";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base configurator containers mtl old-locale process stm text time
+         unix unordered-containers
+       ];
+       testDepends = [
+         base configurator containers hspec mtl old-locale process stm text
+         time unix unordered-containers
+       ];
+       homepage = "http://github.com/MichaelXavier/Angel";
+       description = "Process management and supervision daemon";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "animalcase" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "animalcase";
+       version = "0.1.0.2";
+       sha256 = "0csbs9yrl8vhlgs7zax06shqlhcjs38q91wnkz5d3f6a4588lyqi";
+       buildDepends = [ base bytestring text ];
+       homepage = "https://github.com/ibotty/animalcase";
+       description = "Convert camelCase to snake_case and vice versa";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "annotated-wl-pprint" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "annotated-wl-pprint";
+       version = "0.5.3";
+       sha256 = "0g8b4hmgh7jhiknfrlaqr9sxr7a6sikkpaws15dy8mg4r792bbis";
+       buildDepends = [ base ];
+       homepage = "https://github.com/david-christiansen/annotated-wl-pprint";
+       description = "The Wadler/Leijen Pretty Printer, with annotation support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "anonymous-sums" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "anonymous-sums";
+       version = "0.4.0.0";
+       sha256 = "0jb7s6m7dblnydrzh5nsczr0kpqwy9gr346pcrxsaywz2gfjcrhi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://www.github.com/massysett/anonymous-sums";
+       description = "Anonymous sum types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "anonymous-sums-tests" = callPackage
+    ({ mkDerivation, anonymous-sums, base, QuickCheck }:
+     mkDerivation {
+       pname = "anonymous-sums-tests";
+       version = "0.4.0.0";
+       sha256 = "0a7f7d3xzn8nl9gyzr4wl7m83aszmw42nd0dj8b875khh7i01h0b";
+       buildDepends = [ anonymous-sums base QuickCheck ];
+       homepage = "http://www.github.com/massysett/anonymous-sums";
+       description = "QuickCheck functions to accompany the anonymous-sums package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ansi-terminal" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "ansi-terminal";
+       version = "0.6.2.1";
+       sha256 = "1xmp8wpcyvqys777qpyfx99bhlnvmr7jil7r78j5n6fx3mkkhnln";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base unix ];
+       homepage = "https://github.com/feuerbach/ansi-terminal";
+       description = "Simple ANSI terminal support, with Windows compatibility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ansi-wl-pprint" = callPackage
+    ({ mkDerivation, ansi-terminal, base }:
+     mkDerivation {
+       pname = "ansi-wl-pprint";
+       version = "0.6.7.2";
+       sha256 = "0x0pv7hq4q2n103pzzxghmgzmd3b5cwpnmkdbpzry222890w8ph1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ ansi-terminal base ];
+       homepage = "http://github.com/batterseapower/ansi-wl-pprint";
+       description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "antagonist" = callPackage
+    ({ mkDerivation, antisplice, base, chatty, chatty-utils, ironforge
+     , mtl, old-locale, shakespeare, text, time, yesod, yesod-auth
+     }:
+     mkDerivation {
+       pname = "antagonist";
+       version = "0.1.0.25";
+       sha256 = "1dw9sp5aan1i8hpzdflms8w2n113jbcrg6hn3qfhnih9bb45v7jy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         antisplice base chatty chatty-utils ironforge mtl old-locale
+         shakespeare text time yesod yesod-auth
+       ];
+       jailbreak = true;
+       homepage = "http://doomanddarkness.eu/pub/antisplice";
+       description = "A web interface to Antisplice dungeons";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "antfarm" = callPackage
+    ({ mkDerivation, base, containers, HUnit, minimorph, mtl, parsec
+     , test-framework, test-framework-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "antfarm";
+       version = "0.1.0.0";
+       sha256 = "1s2lfd7va0nq5z0q4f37ig2spjpxigfhkhi067fz4y0n1zjc1isd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers minimorph mtl parsec text transformers
+       ];
+       testDepends = [
+         base HUnit minimorph test-framework test-framework-hunit text
+         transformers
+       ];
+       homepage = "http://hub.darcs.net/kowey/antfarm";
+       description = "Referring expressions for definitions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "anticiv" = callPackage
+    ({ mkDerivation, antisplice, base, chatty, chatty-text
+     , chatty-utils, ctpl, directory, ironforge, mtl, network, plugins
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "anticiv";
+       version = "0.1.0.5";
+       sha256 = "0sxxa2kylgagbnlf7msrgfq98jaf26lvlas6afypnr15aavvlfzh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         antisplice base chatty chatty-text chatty-utils ctpl directory
+         ironforge mtl network plugins time transformers
+       ];
+       jailbreak = true;
+       description = "This is an IRC bot for Mafia and Resistance";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "antigate" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, deepseq
+     , exceptions, failure, http-client, http-conduit, resourcet, safe
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "antigate";
+       version = "2.0.1";
+       sha256 = "0vd2f4kq2zkngyqpnw3lcvjkn8335gs9rdfr7kb8442p8dhps139";
+       buildDepends = [
+         base bytestring data-default deepseq exceptions failure http-client
+         http-conduit resourcet safe text transformers
+       ];
+       homepage = "https://github.com/exbb2/antigate";
+       description = "Interface for antigate.com captcha recognition API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "antimirov" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck }:
+     mkDerivation {
+       pname = "antimirov";
+       version = "0.1.0";
+       sha256 = "0aay5fhw2r502hvdlh6svj6k88zh5wjinn8mk2a3md7zdaiji9iq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers QuickCheck ];
+       description = "Define the language containment (=subtyping) relation on regulare expressions";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "antiquoter" = callPackage
+    ({ mkDerivation, base, syb, template-haskell }:
+     mkDerivation {
+       pname = "antiquoter";
+       version = "0.1.1.0";
+       sha256 = "1qv5iid7az7bn1jf6r7ffg5qqbcs8ypf78j4vrs5ajwp39jnbiiy";
+       buildDepends = [ base syb template-haskell ];
+       description = "Combinator library for quasi- and anti-quoting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "antisplice" = callPackage
+    ({ mkDerivation, base, chatty, chatty-utils, haskeline, mtl
+     , template-haskell, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "antisplice";
+       version = "0.17.0.3";
+       sha256 = "0i7zm0s8vfkc4gwrw9aphj8xgppja50m71wkbkcibnrwvbyxdcqm";
+       buildDepends = [
+         base chatty chatty-utils haskeline mtl template-haskell text time
+         transformers
+       ];
+       jailbreak = true;
+       description = "An engine for text-based dungeons";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "antlrc" = callPackage
+    ({ mkDerivation, antlr3c, base, bytestring, c2hs, enumerator
+     , haskell98, regex-posix
+     }:
+     mkDerivation {
+       pname = "antlrc";
+       version = "0.0.2";
+       sha256 = "1hjk2cvn6j1ijvg3gnml46ysri672jnxmfyh09y1aqsrbimkw8gd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring enumerator haskell98 regex-posix
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ antlr3c ];
+       homepage = "https://github.com/markwright/antlrc";
+       description = "Haskell binding to the ANTLR parser generator C runtime library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { antlr3c = null;};
+
+  "anydbm" = callPackage
+    ({ mkDerivation, base, containers, MissingH, mtl }:
+     mkDerivation {
+       pname = "anydbm";
+       version = "1.0.7";
+       sha256 = "1rxk36r6i065m0qiq4g5xlrk2yjsds7j896cbddbsyddbzy10d6k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers MissingH mtl ];
+       homepage = "http://software.complete.org/anydbm";
+       description = "Interface for DBM-like database systems";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aosd" = callPackage
+    ({ mkDerivation, base, bindings-DSL, cairo, colour
+     , language-haskell-extract, libaosd, monad-control, pango
+     , template-haskell, transformers, X11
+     }:
+     mkDerivation {
+       pname = "aosd";
+       version = "0.2.1";
+       sha256 = "0zma3ypjnqn8c9pk4zfyzzwn27l3wb6l6xnjjydn90fxsmpa1vh6";
+       buildDepends = [
+         base bindings-DSL cairo colour monad-control pango transformers X11
+       ];
+       testDepends = [
+         base colour language-haskell-extract pango template-haskell
+       ];
+       pkgconfigDepends = [ libaosd ];
+       description = "Bindings to libaosd, a library for Cairo-based on-screen displays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { libaosd = null;};
+
+  "ap-reflect" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ap-reflect";
+       version = "0.2";
+       sha256 = "1ih0in9j26v96pjqr1wbjxl881xb2xsrcvhmn50wbv4iwxv7y222";
+       buildDepends = [ base ];
+       homepage = "https://github.com/cmc-msu-ai/ap-reflect";
+       description = "Partial evaluation reflection a la simple-reflect";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "apache-md5" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, MonadRandom, openssl
+     , process, random, test-framework, test-framework-hunit
+     , transformers
+     }:
+     mkDerivation {
+       pname = "apache-md5";
+       version = "0.6.1.1";
+       sha256 = "1i5nrhd0xzpfqbm7f5w9d8kyw3n2ywxdb9yhwmbzfjmgdmzriagl";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base bytestring HUnit MonadRandom process random test-framework
+         test-framework-hunit transformers
+       ];
+       extraLibraries = [ openssl ];
+       homepage = "https://github.com/trskop/apache-md5";
+       description = "Apache specific MD5 digest algorighm";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) openssl;};
+
+  "apelsin" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , directory, filepath, glib, gtk, HTTP, mtl, network, process
+     , transformers, tremulous-query, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "apelsin";
+       version = "1.2.3";
+       sha256 = "08a747p0dyjvgn5pjfvrb1hnh7vk2km8hbbyvjmnsxl89r5m992l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers deepseq directory filepath glib
+         gtk HTTP mtl network process transformers tremulous-query
+         xdg-basedir
+       ];
+       homepage = "http://ojeling.net/apelsin";
+       description = "Server and community browser for the game Tremulous";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "api-builder" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, bytestring
+     , Cabal, containers, datetime, either, hspec, HTTP, http-client
+     , http-conduit, http-types, text, transformers
+     }:
+     mkDerivation {
+       pname = "api-builder";
+       version = "0.6.0.0";
+       sha256 = "1ljc81zxh5zi8k7ccp6mh1kr3wmsp6z9df17zpymqjh2mgc6kswb";
+       buildDepends = [
+         aeson attoparsec base bifunctors bytestring either HTTP http-client
+         http-conduit http-types text transformers
+       ];
+       testDepends = [
+         aeson base bytestring Cabal containers datetime hspec http-conduit
+         text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/intolerable/api-builder";
+       description = "Library for easily building REST API wrappers in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "api-tools" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, alex, array, attoparsec, base
+     , base64-bytestring, bytestring, Cabal, case-insensitive
+     , containers, deepseq, happy, lens, old-locale, QuickCheck
+     , regex-compat-tdfa, safe, safecopy, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "api-tools";
+       version = "0.5.2";
+       sha256 = "0pd2kaii40isbnc1rgh0zkm2abrljipmq27nlgz3zbldbm1l5xw6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty array attoparsec base base64-bytestring
+         bytestring Cabal case-insensitive containers deepseq lens
+         old-locale QuickCheck regex-compat-tdfa safe safecopy
+         template-haskell text time unordered-containers vector
+       ];
+       testDepends = [
+         aeson aeson-pretty array attoparsec base base64-bytestring
+         bytestring Cabal case-insensitive containers lens old-locale
+         QuickCheck regex-compat-tdfa safe safecopy tasty tasty-hunit
+         tasty-quickcheck template-haskell text time unordered-containers
+         vector
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "http://github.com/iconnect/api-tools";
+       description = "DSL for generating API boilerplate and docs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "apiary" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
+     , bytestring, bytestring-read, case-insensitive, data-default-class
+     , exceptions, hashable, http-date, http-types, HUnit, mime-types
+     , monad-control, mtl, process, stringsearch, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time, transformers
+     , transformers-base, types-compat, unix-compat
+     , unordered-containers, vault, wai, wai-extra, web-routing
+     }:
+     mkDerivation {
+       pname = "apiary";
+       version = "1.4.3";
+       sha256 = "1z6fgdkn3k4sbwk5jyz6yp9qwllhv2m9vq7z25fhmj41y3spgcsc";
+       buildDepends = [
+         base blaze-builder blaze-html blaze-markup bytestring
+         bytestring-read case-insensitive data-default-class exceptions
+         hashable http-date http-types mime-types monad-control mtl process
+         stringsearch template-haskell text time transformers
+         transformers-base types-compat unix-compat unordered-containers
+         vault wai web-routing
+       ];
+       testDepends = [
+         base bytestring http-types HUnit mtl tasty tasty-hunit
+         tasty-quickcheck wai wai-extra
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/philopon/apiary";
+       description = "Simple and type safe web framework that generate web API documentation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-authenticate" = callPackage
+    ({ mkDerivation, apiary, apiary-session, authenticate, base
+     , blaze-builder, bytestring, cereal, data-default-class
+     , http-client, http-client-tls, http-types, monad-control
+     , resourcet, text, types-compat, wai, web-routing
+     }:
+     mkDerivation {
+       pname = "apiary-authenticate";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "01yivdslscbri4gy19mma794v9v2gnf94wlvms8p1flrcw6xpns0";
+       editedCabalFile = "724a8cbf0f2e57cd497b54de4401acda2877437053f13164dd23ba7b6c7d119b";
+       buildDepends = [
+         apiary apiary-session authenticate base blaze-builder bytestring
+         cereal data-default-class http-client http-client-tls http-types
+         monad-control resourcet text types-compat wai web-routing
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "authenticate support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-clientsession" = callPackage
+    ({ mkDerivation, apiary, apiary-cookie, apiary-session, base
+     , bytestring, cereal, clientsession, data-default-class, time
+     , unix-compat, vault
+     }:
+     mkDerivation {
+       pname = "apiary-clientsession";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "1z96c4zfyyvrihr1al9zp6pwv4wxkfq02a1z63bxxrrfglrs3fx6";
+       editedCabalFile = "ac724d51a8bd867838bccb788a0db76f97cfe19b052d1247e38ba001561e4bfd";
+       buildDepends = [
+         apiary apiary-cookie apiary-session base bytestring cereal
+         clientsession data-default-class time unix-compat vault
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "clientsession support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-cookie" = callPackage
+    ({ mkDerivation, apiary, base, blaze-builder, blaze-html
+     , bytestring, cookie, time, types-compat, wai, web-routing
+     }:
+     mkDerivation {
+       pname = "apiary-cookie";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "017bxqavv4w5r2ghgmyhljqa4fyzl02v2sjwxi056s3phgrlrkrx";
+       editedCabalFile = "50b9adcb346e7233cb73eef7e7d00902a7b43454ab998f76923582bada569e32";
+       buildDepends = [
+         apiary base blaze-builder blaze-html bytestring cookie time
+         types-compat wai web-routing
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "Cookie support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-eventsource" = callPackage
+    ({ mkDerivation, apiary, base, blaze-builder, wai-extra }:
+     mkDerivation {
+       pname = "apiary-eventsource";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "0xh1pm1l59n4c48vbk3ls42fxh4lzr6p8k8rmij1hl58zrkgbjd7";
+       editedCabalFile = "368e1b555b07ff026b4753cab0364d0f70a4e2536166f756bde35f8ce9fb9ae6";
+       buildDepends = [ apiary base blaze-builder wai-extra ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "eventsource support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-helics" = callPackage
+    ({ mkDerivation, apiary, base, bytestring, data-default-class
+     , helics, helics-wai, monad-control, text, transformers
+     , types-compat, vault, wai
+     }:
+     mkDerivation {
+       pname = "apiary-helics";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "1qm9fnhzafdja6fr20c7qhl6dmagmnzn23ni49ln5k55kbawfk8a";
+       editedCabalFile = "80ce4b1a9dd5c7a30099392219d0077b9281b9ceeabbb01843f12754df0b0827";
+       buildDepends = [
+         apiary base bytestring data-default-class helics helics-wai
+         monad-control text transformers types-compat vault wai
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "helics support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "apiary-logger" = callPackage
+    ({ mkDerivation, apiary, base, data-default-class, fast-logger
+     , lifted-base, monad-control, monad-logger, transformers
+     , transformers-base, types-compat
+     }:
+     mkDerivation {
+       pname = "apiary-logger";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "0pf030sn4mf05avl11hs9kz6qi9667s2vavn3wsxp1anl9bghk48";
+       editedCabalFile = "cb2677faabb41ccf7a4990179990f55c14d5bcd517591ccd086b84c68362c93c";
+       buildDepends = [
+         apiary base data-default-class fast-logger lifted-base
+         monad-control monad-logger transformers transformers-base
+         types-compat
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/philopon/apiary";
+       description = "fast-logger support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-memcached" = callPackage
+    ({ mkDerivation, apiary, base, bytestring, data-default-class
+     , memcached-binary, monad-control, text, transformers, types-compat
+     }:
+     mkDerivation {
+       pname = "apiary-memcached";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "1rwkj7byc84yism5sxphs1s231910ay8w7lap2cdg0y9k9f24gby";
+       editedCabalFile = "7a332392add31b3f5ef9fcc2e69069de3a23bdbfdcfeececc47d2832ec767c29";
+       buildDepends = [
+         apiary base bytestring data-default-class memcached-binary
+         monad-control text transformers types-compat
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "memcached client for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-mongoDB" = callPackage
+    ({ mkDerivation, apiary, base, bson, data-default-class
+     , lifted-base, monad-control, mongoDB, resource-pool, text, time
+     , transformers, types-compat
+     }:
+     mkDerivation {
+       pname = "apiary-mongoDB";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "1srnkyw1i0vjarwqg13cmnwc0x0ab5m8scax9wd4scsmblpa75wd";
+       editedCabalFile = "e2578f19108129ed47946fa7369c86203610d5b447a6a7a8f1af5f2537d55a4b";
+       buildDepends = [
+         apiary base bson data-default-class lifted-base monad-control
+         mongoDB resource-pool text time transformers types-compat
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "mongoDB support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-persistent" = callPackage
+    ({ mkDerivation, apiary, apiary-logger, base, monad-control
+     , monad-logger, persistent, resource-pool, resourcet, transformers
+     , transformers-base, types-compat, web-routing
+     }:
+     mkDerivation {
+       pname = "apiary-persistent";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "00jaiykbxj1lh8qgv4y0ma9awaj1ymrjskwr9ra5pmka1mrwbih9";
+       editedCabalFile = "23a9ba31cd7fab41378b61a82e5ad92d04b6f3a32e32edca3217f5f824c13736";
+       buildDepends = [
+         apiary apiary-logger base monad-control monad-logger persistent
+         resource-pool resourcet transformers transformers-base types-compat
+         web-routing
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "persistent support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-purescript" = callPackage
+    ({ mkDerivation, apiary, base, bytestring, data-default-class
+     , filepath, Glob, parsec, purescript, text, transformers
+     , types-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "apiary-purescript";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "0z1d2wqpa86bv6xkpiw696sn77fdq52vk2s8951v8qdffbxia3jz";
+       editedCabalFile = "9f716a5d9173c31c6472a4bf7decc34523bdc761540d440f5d0ad4f9521bf98c";
+       buildDepends = [
+         apiary base bytestring data-default-class filepath Glob parsec
+         purescript text transformers types-compat unordered-containers
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "purescript compiler for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-session" = callPackage
+    ({ mkDerivation, apiary, base, types-compat, wai, web-routing }:
+     mkDerivation {
+       pname = "apiary-session";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "0jnppjykcrzdvlsli2ycyc11874dfqhwayny5p3x8nx9hnwxhk23";
+       editedCabalFile = "8e4a0b590972ea4e1ab1252696b7339038c4d7206ae44d1f1397a67cdde077dd";
+       buildDepends = [ apiary base types-compat wai web-routing ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "session support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apiary-websockets" = callPackage
+    ({ mkDerivation, apiary, base, wai-websockets, web-routing
+     , websockets
+     }:
+     mkDerivation {
+       pname = "apiary-websockets";
+       version = "1.4.0";
+       revision = "1";
+       sha256 = "0nslzy0s24jn58jd1q4z2gf0h7n1y2xks7cw86i9ybdph697wpp1";
+       editedCabalFile = "5162825445fc14b48d11a0a1f63d67e8d66a8c5aaeaf1e117a1f2302474d7581";
+       buildDepends = [
+         apiary base wai-websockets web-routing websockets
+       ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "websockets support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "apis" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, directory
+     , ecma262, exceptions, filemanip, filepath, hslogger, hxt, mtl
+     , opendatatable, split, template-haskell, text, th-lift, time
+     , transformers, unordered-containers, utf8-string, yql
+     }:
+     mkDerivation {
+       pname = "apis";
+       version = "0.0.1";
+       sha256 = "07jvx1bsfiqk9l4l9k9yrsmvqm7dc2lb6p7h8p2bzqc3dqcqp67q";
+       buildDepends = [
+         aeson base containers deepseq directory ecma262 exceptions
+         filemanip filepath hslogger hxt mtl opendatatable split
+         template-haskell text th-lift time transformers
+         unordered-containers utf8-string yql
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fabianbergmark/APIs";
+       description = "A Template Haskell library for generating type safe API calls";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "apotiki" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
+     , containers, crypto-api, cryptohash, directory, http-types
+     , old-time, openpgp, openpgp-asciiarmor, openpgp-crypto-api, scotty
+     , strict, tar, text, transformers, wai-extra, wai-middleware-static
+     , zlib
+     }:
+     mkDerivation {
+       pname = "apotiki";
+       version = "0.5.2";
+       sha256 = "1rih1lasky5sjdf3lz2qi2qya3iwbbxs658p77h1amqpsa7lsfp7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base binary bytestring containers crypto-api
+         cryptohash directory http-types old-time openpgp openpgp-asciiarmor
+         openpgp-crypto-api scotty strict tar text transformers wai-extra
+         wai-middleware-static zlib
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pyr/apotiki";
+       description = "a faster debian repository";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "app-settings" = callPackage
+    ({ mkDerivation, base, containers, directory, hspec, HUnit, mtl
+     , parsec, text
+     }:
+     mkDerivation {
+       pname = "app-settings";
+       version = "0.2.0.5";
+       sha256 = "17918i7k1wagmqxvkhww69w8ffybshfm6y1dd9iyg9x45qdrvr6k";
+       buildDepends = [ base containers directory mtl parsec text ];
+       testDepends = [
+         base containers directory hspec HUnit mtl parsec text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/emmanueltouzery/app-settings";
+       description = "A library to manage application settings (INI file-like)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "appar" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "appar";
+       version = "0.1.4";
+       sha256 = "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq";
+       buildDepends = [ base bytestring ];
+       description = "A simple applicative parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "appc" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec
+     , hspec-smallcheck, optparse-applicative, semver, smallcheck, text
+     , uuid
+     }:
+     mkDerivation {
+       pname = "appc";
+       version = "0.0.5";
+       sha256 = "0xilcg5rbi6bnwbs3xkysnf3v5h07hxn764sxim0s0n75vvlvidy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers optparse-applicative semver text
+         uuid
+       ];
+       testDepends = [
+         aeson base hspec hspec-smallcheck semver smallcheck text uuid
+       ];
+       description = "app container types and tools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "applicative-extras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "applicative-extras";
+       version = "0.1.8";
+       sha256 = "1svsf8mvb816nksg1dh4dz3cms2zx2hjprz2z7h3zidpxmzs0pr8";
+       buildDepends = [ base ];
+       homepage = "http://github.com/chriseidhof/applicative-extras/";
+       description = "Instances for Applicative";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "applicative-fail" = callPackage
+    ({ mkDerivation, base, bifunctors }:
+     mkDerivation {
+       pname = "applicative-fail";
+       version = "0.0.3";
+       sha256 = "057ii1519qwjhg64vahbg2z2a4ydb2ndd1bjzz6cb1cx3n7nigr8";
+       buildDepends = [ base bifunctors ];
+       homepage = "https://bitbucket.org/s9gf4ult/applicative-fail";
+       description = "Applicative functor which collects all your fails";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "applicative-numbers" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "applicative-numbers";
+       version = "0.1.3";
+       sha256 = "0rnjl7yz6nga4qi0jdvhf911yf1qk6gy2fm5236bsgc50d5wbaw0";
+       buildDepends = [ base ];
+       homepage = "http://haskell.org/haskellwiki/applicative-numbers";
+       description = "Applicative-based numeric instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "applicative-quoters" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, template-haskell }:
+     mkDerivation {
+       pname = "applicative-quoters";
+       version = "0.1.0.8";
+       sha256 = "10m29d0938khjdazsmsvvncr5xndnpzpm1b7ymzb3b4b81xmcpgl";
+       buildDepends = [ base haskell-src-meta template-haskell ];
+       description = "Quasiquoters for idiom brackets and an applicative do-notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "approx-rand-test" = callPackage
+    ({ mkDerivation, base, Chart, Chart-diagrams, colour, conduit
+     , containers, data-default, data-default-class, filepath, HUnit
+     , ieee754, lens, mersenne-random-pure64, monad-mersenne-random, mtl
+     , statistics, test-framework, test-framework-hunit, text
+     , transformers, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "approx-rand-test";
+       version = "0.2.1";
+       sha256 = "17aww5sffw07wk8hlyf0qv26v0jkr5qzv45wxk4zhhyb453b9m41";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Chart Chart-diagrams colour conduit containers data-default
+         data-default-class filepath lens mersenne-random-pure64
+         monad-mersenne-random mtl statistics text transformers vector
+         vector-algorithms
+       ];
+       testDepends = [
+         base HUnit ieee754 mersenne-random-pure64 monad-mersenne-random mtl
+         test-framework test-framework-hunit vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/danieldk/approx-rand-test";
+       description = "Approximate randomization test";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "approximate" = callPackage
+    ({ mkDerivation, base, binary, bytes, cereal, comonad, deepseq
+     , directory, distributive, doctest, filepath, generic-deriving
+     , ghc-prim, hashable, hashable-extras, lens, log-domain, pointed
+     , safecopy, semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "approximate";
+       version = "0.2.1.1";
+       sha256 = "18ac2z1yqqksqmq9ch36ja3qjn9v6cgyzxs64lnnp98mgcwsmhwr";
+       buildDepends = [
+         base binary bytes cereal comonad deepseq distributive
+         generic-deriving ghc-prim hashable hashable-extras lens log-domain
+         pointed safecopy semigroupoids semigroups vector
+       ];
+       testDepends = [
+         base directory doctest filepath generic-deriving semigroups
+         simple-reflect
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/analytics/approximate/";
+       description = "Approximate discrete values and numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "approximate-equality" = callPackage
+    ({ mkDerivation, base, type-level-natural-number }:
+     mkDerivation {
+       pname = "approximate-equality";
+       version = "1.1.0.2";
+       sha256 = "0pxvyb5a6vh0isba81flv7wjlwfn091xrma7g6wzr08bvqmix883";
+       buildDepends = [ base type-level-natural-number ];
+       homepage = "http://github.com/gcross/approximate-equality";
+       description = "Newtype wrappers for approximate equality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ar-timestamp-wiper" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "ar-timestamp-wiper";
+       version = "0.1.0";
+       sha256 = "1gk1z0dw7i0c3wql1zh8iri6573falmiz31s0widfz7dav45vkrz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/nh2/ar-timestamp-wiper";
+       description = "Wipes time stamps from .a files (like ar -D)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "arb-fft" = callPackage
+    ({ mkDerivation, base, containers, criterion, directory, filepath
+     , primitive, QuickCheck, tasty, tasty-quickcheck, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "arb-fft";
+       version = "0.2.0.2";
+       sha256 = "1yxhafzv71xx2gva4b9slr26iqs6p1lh578x1774bv07ifqys6dp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers criterion directory filepath primitive transformers
+         vector
+       ];
+       testDepends = [
+         base containers QuickCheck tasty tasty-quickcheck vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ian-ross/arb-fft";
+       description = "Pure Haskell arbitrary length FFT library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "arbb-vm" = callPackage
+    ({ mkDerivation, arbb_dev, base, bytestring, cereal, containers
+     , directory, mtl, pretty
+     }:
+     mkDerivation {
+       pname = "arbb-vm";
+       version = "0.1.1.20";
+       sha256 = "0k31ardnlg925vcrrl4n9w09867dbr68sdnc3bhs9xz1r9cdlkv8";
+       buildDepends = [
+         base bytestring cereal containers directory mtl pretty
+       ];
+       extraLibraries = [ arbb_dev ];
+       homepage = "https://github.com/svenssonjoel/arbb-vm/wiki";
+       description = "FFI binding to the Intel Array Building Blocks (ArBB) virtual machine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { arbb_dev = null;};
+
+  "arbtt" = callPackage
+    ({ mkDerivation, aeson, array, base, binary, bytestring
+     , bytestring-progress, containers, deepseq, directory, filepath
+     , HUnit, libXScrnSaver, old-locale, parsec, pcre-light
+     , process-extras, strict, tasty, tasty-golden, tasty-hunit
+     , terminal-progress-bar, time, transformers, unix, utf8-string, X11
+     }:
+     mkDerivation {
+       pname = "arbtt";
+       version = "0.9.0.2";
+       sha256 = "0ab5qrsrp6fcc2p1a4idbqazs7yrh957bfagdmw6b7rrydpig1lc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base binary bytestring bytestring-progress containers
+         deepseq directory filepath old-locale parsec pcre-light strict
+         terminal-progress-bar time transformers unix utf8-string X11
+       ];
+       testDepends = [
+         base binary bytestring containers deepseq directory HUnit
+         old-locale parsec pcre-light process-extras tasty tasty-golden
+         tasty-hunit time transformers unix utf8-string
+       ];
+       extraLibraries = [ libXScrnSaver ];
+       homepage = "http://arbtt.nomeata.de/";
+       description = "Automatic Rule-Based Time Tracker";
+       license = "GPL";
+     }) { inherit (pkgs.xlibs) libXScrnSaver;};
+
+  "archive" = callPackage
+    ({ mkDerivation, base, bytestring, debian, debian-mirror, directory
+     , Extra, filepath, help, HUnit, mtl, network, old-locale, pretty
+     , process, progress, regex-compat, regex-posix, time, unix
+     , Unixutils, xhtml
+     }:
+     mkDerivation {
+       pname = "archive";
+       version = "1.2.12";
+       sha256 = "0rdgrdmmsn4qijbbprw4dbppb5klgn9lw3fyizzcd79gsgz4s61r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring debian debian-mirror directory Extra filepath help
+         HUnit mtl network old-locale pretty process progress regex-compat
+         regex-posix time unix Unixutils xhtml
+       ];
+       jailbreak = true;
+       description = "A library and programs for creating hardlinked incremental archives or backups";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { debian-mirror = null;  help = null;};
+
+  "archiver" = callPackage
+    ({ mkDerivation, base, bytestring, containers, curl, HTTP, network
+     , process, random
+     }:
+     mkDerivation {
+       pname = "archiver";
+       version = "0.6.2.1";
+       sha256 = "19gvja890lhn9zr2aqjshwq5qqb95nynxrsw5wk4z2a417xj70j2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers curl HTTP network process random
+       ];
+       description = "Archive supplied URLs in WebCite & Internet Archive";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "archlinux" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , pretty
+     }:
+     mkDerivation {
+       pname = "archlinux";
+       version = "1.3";
+       sha256 = "051pgn39f8xq80qf8g04j162n6zysvcdbj8a8m05x6vi6mbr9jx2";
+       buildDepends = [ base Cabal containers directory filepath pretty ];
+       homepage = "http://github.com/archhaskell/";
+       description = "Support for working with Arch Linux packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "archlinux-web" = callPackage
+    ({ mkDerivation, archlinux, base, Cabal, containers, csv, deepseq
+     , directory, filepath, HTTP, json, old-time, parallel, pretty
+     , prettyclass, process, strict-concurrency, xhtml
+     }:
+     mkDerivation {
+       pname = "archlinux-web";
+       version = "0.1";
+       sha256 = "1rzjkxxmf24hrmlc70s416akn6rbcly7152ly618dxgigvqnir48";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         archlinux base Cabal containers csv deepseq directory filepath HTTP
+         json old-time parallel pretty prettyclass process
+         strict-concurrency xhtml
+       ];
+       homepage = "http://code.haskell.org/~dons/code/archlinux";
+       description = "Website maintenance for Arch Linux packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "archnews" = callPackage
+    ({ mkDerivation, base, containers, download-curl, feed, tagsoup }:
+     mkDerivation {
+       pname = "archnews";
+       version = "0.2";
+       sha256 = "1v7b6w2cqfy69kvsr09a1qv4zyz78khygmd9l9hqjlmj7w3x8gys";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers download-curl feed tagsoup ];
+       homepage = "http://archhaskell.wordpress.com/";
+       description = "Convert Arch Linux package updates in RSS to pretty markdown";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "arff" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-lexing
+     , bytestring-show, old-locale, time
+     }:
+     mkDerivation {
+       pname = "arff";
+       version = "0.1.0";
+       sha256 = "1mwak4kl4ksg5vqya9abz02v0zgj6lbi6bzq2bd8jpnncazsxha5";
+       buildDepends = [
+         base binary bytestring bytestring-lexing bytestring-show old-locale
+         time
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~StefanKersten/code/arff";
+       description = "Generate Attribute-Relation File Format (ARFF) files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "argparser" = callPackage
+    ({ mkDerivation, base, containers, HTF, HUnit }:
+     mkDerivation {
+       pname = "argparser";
+       version = "0.3.4";
+       sha256 = "0ypdj4mcm4yk5pswzwi9jk2w25f6qhiari8gam72za6ihyjwfig6";
+       buildDepends = [ base containers ];
+       testDepends = [ base containers HTF HUnit ];
+       description = "Command line parsing framework for console applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "arguedit" = callPackage
+    ({ mkDerivation, base, bimap, containers, glib, gtk, HDBC, indents
+     , mtl, parsec
+     }:
+     mkDerivation {
+       pname = "arguedit";
+       version = "0.1.0.1";
+       sha256 = "17s6m9mjai439j8g0cd5pr2zb0224h1ckik9fg0rbd06zgxvfmq6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bimap containers glib gtk HDBC indents mtl parsec
+       ];
+       jailbreak = true;
+       description = "A computer assisted argumentation transcription and editing software";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ariadne" = callPackage
+    ({ mkDerivation, async, base, bert, Cabal, containers, data-lens
+     , data-lens-fd, data-lens-template, directory, filepath
+     , haskell-names, haskell-packages, haskell-src-exts, hse-cpp
+     , hslogger, mtl, stm, tagged, tasty, tasty-hunit, transformers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "ariadne";
+       version = "0.1.2.3";
+       sha256 = "02hyn3y4h7w4l5k48kp73al67lp8vzlymblb7al72w14r01ww8p3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         async base bert Cabal containers data-lens data-lens-fd
+         data-lens-template directory filepath haskell-names
+         haskell-packages haskell-src-exts hse-cpp hslogger mtl stm tagged
+         transformers utf8-string
+       ];
+       testDepends = [
+         base bert containers directory filepath haskell-src-exts tasty
+         tasty-hunit utf8-string
+       ];
+       homepage = "https://github.com/feuerbach/ariadne";
+       description = "Go-to-definition for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "arion" = callPackage
+    ({ mkDerivation, base, containers, directory, filemanip, fsnotify
+     , hspec, process, regex-posix, safe, split, system-filepath, text
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "arion";
+       version = "0.1.0.8";
+       sha256 = "107rbbzmqg0zrgv3qb0pr8svmzh25a63dm0kn0hhyirkjzdyjgqw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filemanip fsnotify process regex-posix
+         safe split system-filepath text transformers
+       ];
+       testDepends = [
+         base containers directory filemanip fsnotify hspec process
+         regex-posix safe split system-filepath text time
+       ];
+       homepage = "http://github.com/karun012/arion";
+       description = "Watcher and runner for Hspec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "arith-encode" = callPackage
+    ({ mkDerivation, arithmoi, array, base, binary, Cabal, containers
+     , fgl, hashable, HUnit-Plus, unordered-containers
+     }:
+     mkDerivation {
+       pname = "arith-encode";
+       version = "1.0.0";
+       sha256 = "1wqm2jcc2dac31gvad6pmnq0wbajpj488h93xl93vfipsbak0cm8";
+       buildDepends = [
+         arithmoi array base binary Cabal containers fgl hashable
+         unordered-containers
+       ];
+       testDepends = [
+         arithmoi array base binary Cabal containers fgl hashable HUnit-Plus
+         unordered-containers
+       ];
+       homepage = "https://github.com/emc2/arith-encode";
+       description = "A practical arithmetic encoding (aka Godel numbering) library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "arithmatic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "arithmatic";
+       version = "0.1.0.1";
+       sha256 = "1qa1yqi67l1cd3ggb67h9iji9ps3ma43fcddv0vmc1hin61xnzj8";
+       buildDepends = [ base ];
+       description = "Basic arithmatic in haskell";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "arithmoi" = callPackage
+    ({ mkDerivation, array, base, containers, ghc-prim, integer-gmp
+     , mtl, random
+     }:
+     mkDerivation {
+       pname = "arithmoi";
+       version = "0.4.1.2";
+       sha256 = "0i0cndldf426cc8dv6swqfnljv9lgba9vp1ac4xk0vdbmbwqan9m";
+       buildDepends = [
+         array base containers ghc-prim integer-gmp mtl random
+       ];
+       configureFlags = [ "-f-llvm" ];
+       homepage = "https://github.com/cartazio/arithmoi";
+       description = "Efficient basic number-theoretic functions. Primes, powers, integer logarithms.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "armada" = callPackage
+    ({ mkDerivation, base, GLUT, mtl, OpenGL, stm }:
+     mkDerivation {
+       pname = "armada";
+       version = "0.1";
+       sha256 = "18ym9cs0mr4pr6pdgyk14rrwsxh1fa0xvqz3jg60lnxbgjlynvc1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT mtl OpenGL stm ];
+       description = "Space-based real time strategy game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "array_0_5_1_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "array";
+       version = "0.5.1.0";
+       sha256 = "18hz1jcshdj6c10lsxq86rs6rbx77g91w4ay2s58h9j5rnkchjxq";
+       buildDepends = [ base ];
+       description = "Mutable and immutable arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "array-forth" = callPackage
+    ({ mkDerivation, array, base, HUnit, mcmc-synthesis
+     , modular-arithmetic, MonadRandom, OddWord, QuickCheck, split
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, vector
+     }:
+     mkDerivation {
+       pname = "array-forth";
+       version = "0.2.1.4";
+       sha256 = "03kjkpygi9jc8vrvnw9i8zwbfaihsl50bi39j0liclja442j9h5m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base mcmc-synthesis modular-arithmetic MonadRandom OddWord
+         split vector
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework-hunit
+         test-framework-quickcheck2 test-framework-th
+       ];
+       jailbreak = true;
+       description = "A simple interpreter for arrayForth, the language used on GreenArrays chips";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "array-memoize" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "array-memoize";
+       version = "0.6.0";
+       sha256 = "1p05vg8mdyad03aa7s1nrgw5xqgl80f6l7v0llhmi1q4xnrqrj3n";
+       buildDepends = [ array base ];
+       description = "Memoization combinators using arrays for finite sub-domains of functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "array-primops" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "array-primops";
+       version = "0.1.0.0";
+       sha256 = "11qwgs06ivfjhcjhihchg46hvpcrwmc7zz36630v9qyy2611q66x";
+       buildDepends = [ base ghc-prim ];
+       description = "Extra foreign primops for primitive arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "array-utils" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "array-utils";
+       version = "0.3";
+       sha256 = "1gh7gmbm0djr78dqkf8q3ap9yk4gm3dq48k8jad9ssp3w19wpkan";
+       buildDepends = [ array base ];
+       description = "Primitive functions for updating many elements in mutable arrays at once";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "arrow-improve" = callPackage
+    ({ mkDerivation, arrows, base, pointed, profunctors, semigroupoids
+     }:
+     mkDerivation {
+       pname = "arrow-improve";
+       version = "0.1.0.0";
+       sha256 = "0ppl8v746lj41aqb0k2724vm4n32jxmz723qa0j860jvhkh2nww7";
+       buildDepends = [ arrows base pointed profunctors semigroupoids ];
+       jailbreak = true;
+       homepage = "https://github.com/prophile/arrow-improve/";
+       description = "Improved arrows";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "arrow-list" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "arrow-list";
+       version = "0.7";
+       sha256 = "1n6m77hdkpjd12r0b8fwxiz3jz0j86cplgsk27m2raj86vr3dy1k";
+       buildDepends = [ base containers mtl ];
+       homepage = "https://github.com/silkapp/arrow-list";
+       description = "List arrows for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "arrowapply-utils" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "arrowapply-utils";
+       version = "0.2";
+       sha256 = "02zampc6cc5a9fvdvxkz2r6i5sxf5w0qilsvsx8jxiw4kprbghii";
+       buildDepends = [ base ];
+       description = "Utilities for working with ArrowApply instances more naturally";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "arrowp" = callPackage
+    ({ mkDerivation, array, base, containers, haskell-src }:
+     mkDerivation {
+       pname = "arrowp";
+       version = "0.5.0.2";
+       sha256 = "0a0ss5q8ximbd6hr0agy1106jfvdm8cx50q7a9yaiqfxs20fy6lx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers haskell-src ];
+       homepage = "http://www.haskell.org/arrows/";
+       description = "preprocessor translating arrow notation into Haskell 98";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "arrows" = callPackage
+    ({ mkDerivation, base, Stream }:
+     mkDerivation {
+       pname = "arrows";
+       version = "0.4.4.1";
+       sha256 = "1qpbpwsc3frjdngwjv3r58nfa0ik88cqh24ls47svigsz3c4n42v";
+       buildDepends = [ base Stream ];
+       homepage = "http://www.haskell.org/arrows/";
+       description = "Arrow classes and transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "artery" = callPackage
+    ({ mkDerivation, base, containers, profunctors, transformers }:
+     mkDerivation {
+       pname = "artery";
+       version = "0.1.1";
+       sha256 = "1fs8jap2ndcj21qgpkzy9nbnabvp4ac0xm0vdwkjjdf7i4j5kaqr";
+       buildDepends = [ base containers profunctors transformers ];
+       homepage = "https://github.com/fumieval/artery";
+       description = "A simple, arrow-based reactive programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "arx" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , bytestring-nums, containers, file-embed, parsec, process
+     , shell-escape, template-haskell
+     }:
+     mkDerivation {
+       pname = "arx";
+       version = "0.2.0";
+       sha256 = "04af1a8b3njhv4gbn799p1dwryjdq3z54cws796iskm9628ds3yq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base blaze-builder bytestring bytestring-nums containers
+         file-embed parsec process shell-escape template-haskell
+       ];
+       homepage = "http://github.com/solidsnack/arx/";
+       description = "Archive execution tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "arxiv" = callPackage
+    ({ mkDerivation, base, parsec, split, tagsoup }:
+     mkDerivation {
+       pname = "arxiv";
+       version = "0.0.1";
+       revision = "1";
+       sha256 = "1has8v40h8w4v393pgd4qk4fzgdw02y12zk2hspkic1q5bx33dxh";
+       editedCabalFile = "746311e6003440248df63acd19e428cbdbf5c95cdd3ee0993d2c89c7b2ceada7";
+       buildDepends = [ base parsec split tagsoup ];
+       homepage = "http://github.com/toschoo/Haskell-Libs";
+       description = "A client for the Arxiv API";
+       license = "LGPL";
+     }) {};
+
+  "ascetic" = callPackage
+    ({ mkDerivation, base, MissingH }:
+     mkDerivation {
+       pname = "ascetic";
+       version = "0.0.0.4";
+       sha256 = "1c5ip8q9b6xnvh3li03iilmqz33rrlis78zs0lh4jva67b37akqk";
+       buildDepends = [ base MissingH ];
+       description = "Generic markup builder";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ascii" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , hashable, text
+     }:
+     mkDerivation {
+       pname = "ascii";
+       version = "0.0.4.1";
+       sha256 = "1xpw2n3gskndg74ilrq8zngawlvc3mbsji3nx2aprar96hdlpvpv";
+       buildDepends = [
+         base blaze-builder bytestring case-insensitive hashable text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/snoyberg/ascii";
+       description = "Type-safe, bytestring-based ASCII values. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ascii-progress" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, conduit
+     , data-default, hspec, HTTP, http-conduit, http-types, QuickCheck
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "ascii-progress";
+       version = "0.2.1.2";
+       sha256 = "0lnxph4zdhkhp2w4rvx85xdwy8lnnm81apvkrddbwfr405j4nf1w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal async base bytestring conduit data-default HTTP
+         http-conduit http-types time transformers
+       ];
+       testDepends = [
+         ansi-terminal async base data-default hspec QuickCheck time
+       ];
+       homepage = "https://github.com/yamadapc/haskell-ascii-progress";
+       description = "A simple progress bar for the console";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ascii-vector-avc" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, deepseq
+     , deepseq-generics, HUnit, split, zlib
+     }:
+     mkDerivation {
+       pname = "ascii-vector-avc";
+       version = "0.1.0.0";
+       sha256 = "09m7wcq207glaz3s824vakj42vdaxc334y5k9lsh095v2xp7pwz4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base binary bytestring deepseq deepseq-generics HUnit
+         split zlib
+       ];
+       description = "Process Ascii Vectors for Advantest 93k";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "ascii85-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, hspec }:
+     mkDerivation {
+       pname = "ascii85-conduit";
+       version = "0.1.0.0";
+       sha256 = "191qw61y3jrbwzv7nabvxr6dxxigyxflbw49f0q637psqzdblsl5";
+       buildDepends = [ base bytestring conduit ];
+       testDepends = [ base bytestring conduit hspec ];
+       jailbreak = true;
+       description = "Conduit for encoding ByteString into Ascii85";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "asciidiagram" = callPackage
+    ({ mkDerivation, base, containers, filepath, FontyFruity
+     , JuicyPixels, lens, linear, mtl, optparse-applicative
+     , rasterific-svg, svg-tree, text, vector
+     }:
+     mkDerivation {
+       pname = "asciidiagram";
+       version = "1.0";
+       sha256 = "1nvjx2pwza26ppp2lpmlm1200kk8l6sgcsk23fskiamc6xh51vqg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath FontyFruity JuicyPixels lens linear mtl
+         optparse-applicative rasterific-svg svg-tree text vector
+       ];
+       jailbreak = true;
+       description = "Pretty rendering of Ascii diagram into svg or png";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "asic" = callPackage
+    ({ mkDerivation, asil, base, bytestring, utf8-string }:
+     mkDerivation {
+       pname = "asic";
+       version = "1.2";
+       sha256 = "0w7pkfd0i46a6x2ivk659rx56v9nkjvlvnmiafy96y1cbfzkyffg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ asil base bytestring utf8-string ];
+       homepage = "http://www.pros.upv.es/fittest/";
+       description = "Action Script Instrumentation Compiler";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "asil" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , data-binary-ieee754, directory, filepath, haskell-src-exts, mtl
+     , pretty, utf8-string, uuagc, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "asil";
+       version = "1.2";
+       sha256 = "1zprddksk91wfyl1597cdgdy2r46d7vxjfxxi80rhxbfkshs4qwx";
+       buildDepends = [
+         array base binary bytestring containers data-binary-ieee754
+         directory filepath haskell-src-exts mtl pretty utf8-string uuagc
+         zip-archive zlib
+       ];
+       homepage = "http://www.pros.upv.es/fittest/";
+       description = "Action Script Instrumentation Library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "asn1-data" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, mtl, text }:
+     mkDerivation {
+       pname = "asn1-data";
+       version = "0.7.1";
+       revision = "1";
+       sha256 = "10s7mxygw6w8a8mx090msvbl8pji8m68lsxxyr5bp7p887naia7r";
+       editedCabalFile = "6c8f01076a88b9ea0f2ce9b5fa2b09dc658332bd4dedfbc8d6e7fae25ea5ed1f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring cereal mtl text ];
+       homepage = "http://github.com/vincenthz/hs-asn1-data";
+       description = "ASN1 data reader and writer in RAW, BER and DER forms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "asn1-encoding" = callPackage
+    ({ mkDerivation, asn1-types, base, bytestring, hourglass, mtl
+     , tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "asn1-encoding";
+       version = "0.9.0";
+       sha256 = "02x3lzyl4gavl3lc2lrg8rknyvs6r2hf8kmm7xrmma5m857iks8p";
+       buildDepends = [ asn1-types base bytestring hourglass mtl ];
+       testDepends = [
+         asn1-types base bytestring hourglass mtl tasty tasty-quickcheck
+         text
+       ];
+       homepage = "http://github.com/vincenthz/hs-asn1";
+       description = "ASN1 data reader and writer in RAW, BER and DER forms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "asn1-parse" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring, mtl
+     , text
+     }:
+     mkDerivation {
+       pname = "asn1-parse";
+       version = "0.9.0";
+       sha256 = "0m093wwndyxvy72qlnb70bp8w5ahimrlv1dp972l9s9l5jc4pjg3";
+       buildDepends = [
+         asn1-encoding asn1-types base bytestring mtl text
+       ];
+       homepage = "http://github.com/vincenthz/hs-asn1";
+       description = "Simple monadic parser for ASN1 stream types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "asn1-types" = callPackage
+    ({ mkDerivation, base, bytestring, hourglass }:
+     mkDerivation {
+       pname = "asn1-types";
+       version = "0.3.0";
+       sha256 = "1am8nmfarv7ymy3rqm0js2i82v6n6qwz0lnzb1qdmy4ligcdm65r";
+       buildDepends = [ base bytestring hourglass ];
+       homepage = "http://github.com/vincenthz/hs-asn1-types";
+       description = "ASN.1 types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "asn1dump" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring, pem
+     }:
+     mkDerivation {
+       pname = "asn1dump";
+       version = "0.1.0";
+       sha256 = "05kdx00bkpp3f4x1i9j8kfbdnhsivx1njcfpcxxgw93jm5ng3lj7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ asn1-encoding asn1-types base bytestring pem ];
+       homepage = "http://github.com/vincenthz/hs-asn1dump";
+       description = "Dump ASN1 structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "assembler" = callPackage
+    ({ mkDerivation, base, containers, ghc-binary, parsec }:
+     mkDerivation {
+       pname = "assembler";
+       version = "0.0.1";
+       sha256 = "1crwfndk7qci5id132s9f57i3kslxcdcqpymsykm1460x5nd42qs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ghc-binary parsec ];
+       jailbreak = true;
+       description = "Haskell Assembler";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { ghc-binary = null;};
+
+  "assert" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , system-posix-redirect
+     }:
+     mkDerivation {
+       pname = "assert";
+       version = "0.0.1.2";
+       sha256 = "0pycrpa9m8kif31jsbmb2cb4rbvm6qinmzhkdam1b5mbmmmg5q96";
+       buildDepends = [ base ];
+       testDepends = [
+         base bytestring Cabal directory filepath system-posix-redirect
+       ];
+       homepage = "https://github.com/liyang/assert";
+       description = "Helpers for Control.Exception.assert";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "assert-failure" = callPackage
+    ({ mkDerivation, base, pretty-show, text }:
+     mkDerivation {
+       pname = "assert-failure";
+       version = "0.1.1.0";
+       sha256 = "09djlhhyn9w822a5r41y7gk4cqk74a2fy7skzml2bah2an166gm1";
+       buildDepends = [ base pretty-show text ];
+       homepage = "https://github.com/Mikolaj/assert-failure";
+       description = "Syntactic sugar improving 'assert' and 'error'";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "assertions" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers, interpolate
+     , process
+     }:
+     mkDerivation {
+       pname = "assertions";
+       version = "0.1.0.4";
+       sha256 = "1b2p6b6brk0b1hq264i20bpdhdaq4xdzcqp7gzvfy1s5q3zwjzj8";
+       buildDepends = [ ansi-terminal base containers ];
+       testDepends = [ base interpolate process ];
+       description = "A simple testing framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "assimp" = callPackage
+    ({ mkDerivation, assimp, base, c2hs, haskell98, vect }:
+     mkDerivation {
+       pname = "assimp";
+       version = "0.1";
+       sha256 = "0jhf76v08dh1bf65ln0az1b8bc8zi9gxb0bx273mi3jvprhns4zh";
+       buildDepends = [ base haskell98 vect ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ assimp ];
+       description = "The Assimp asset import library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) assimp;};
+
+  "astar" = callPackage
+    ({ mkDerivation, base, containers, PSQueue }:
+     mkDerivation {
+       pname = "astar";
+       version = "0.2.1";
+       sha256 = "0qgymyaawk0ml929d5lgfikmqbxyz4shs66wq9ch9d6r175cs5b8";
+       buildDepends = [ base containers PSQueue ];
+       description = "General A* search algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "astrds" = callPackage
+    ({ mkDerivation, base, containers, directory, MonadRandom, mtl
+     , OpenGL, random, SDL, SDL-image, SDL-mixer, SDL-ttf, unix
+     }:
+     mkDerivation {
+       pname = "astrds";
+       version = "0.1.1";
+       sha256 = "1zb265z6m1py2jxhxzrq2kb3arw2riagajhh3vs0m54rkrak6szs";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory MonadRandom mtl OpenGL random SDL
+         SDL-image SDL-mixer SDL-ttf unix
+       ];
+       jailbreak = true;
+       description = "an incomplete 2d space game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "astview" = callPackage
+    ({ mkDerivation, astview-utils, base, bytestring, containers
+     , directory, filepath, glade, glib, Glob, gtk, gtksourceview2, hint
+     , mtl, process, syb
+     }:
+     mkDerivation {
+       pname = "astview";
+       version = "0.1.4";
+       sha256 = "0lv4wbblv4r0vwfynswsxzyrl6qp45byjdmg4cs760qq3jj749zl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         astview-utils base bytestring containers directory filepath glade
+         glib Glob gtk gtksourceview2 hint mtl process syb
+       ];
+       description = "A GTK-based abstract syntax tree viewer for custom languages and parsers";
+       license = "BSD4";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "astview-utils" = callPackage
+    ({ mkDerivation, base, containers, syb }:
+     mkDerivation {
+       pname = "astview-utils";
+       version = "0.1";
+       sha256 = "1rqqlngmcdd7i1gww95lyim971w8xv0hjg20h0j8av4y29pjxfyn";
+       buildDepends = [ base containers syb ];
+       description = "Interfacing between hint and astview";
+       license = "BSD4";
+     }) {};
+
+  "async" = callPackage
+    ({ mkDerivation, base, HUnit, stm, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "async";
+       version = "2.0.2";
+       sha256 = "0azx4qk65a9a2gvqsfmz3w89m6shzr2iz0i5lly2zvly4n2d6m6v";
+       buildDepends = [ base stm ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       homepage = "https://github.com/simonmar/async";
+       description = "Run IO operations asynchronously and wait for their results";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "async-extras" = callPackage
+    ({ mkDerivation, async, base, lifted-async, lifted-base
+     , monad-control, SafeSemaphore, stm, transformers-base
+     }:
+     mkDerivation {
+       pname = "async-extras";
+       version = "0.1.2.0";
+       sha256 = "137vpkc4xlbmghbjmgdjxaqcji19cj1vxm64df9gxb7356d0rzyh";
+       buildDepends = [
+         async base lifted-async lifted-base monad-control SafeSemaphore stm
+         transformers-base
+       ];
+       homepage = "http://github.com/jfischoff/async-extras";
+       description = "Extra Utilities for the Async Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "async-manager" = callPackage
+    ({ mkDerivation, async, base, stm, unordered-containers }:
+     mkDerivation {
+       pname = "async-manager";
+       version = "0.1.1.0";
+       sha256 = "002w3n0ykn5ga7mwz9kjvr77izqnhklq5r3aczwjikvgkik9q6ck";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ async base stm unordered-containers ];
+       homepage = "http://github.com/jfischoff/async-manager";
+       description = "A thread manager for async";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "async-pool" = callPackage
+    ({ mkDerivation, async, base, containers, fgl, hspec, monad-control
+     , stm, time, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "async-pool";
+       version = "0.9.0";
+       sha256 = "10952y60ivkx78skf7ds0dv8gp6bf3v47lays928vnpb8m5cr0rh";
+       buildDepends = [
+         async base containers fgl monad-control stm transformers
+         transformers-base
+       ];
+       testDepends = [
+         async base containers fgl hspec monad-control stm time transformers
+         transformers-base
+       ];
+       description = "A modified version of async that supports worker groups and many-to-many task dependencies";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "asynchronous-exceptions" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "asynchronous-exceptions";
+       version = "1.1.0.1";
+       sha256 = "0vfx2ikw61sic35n4ayy7rng6izpafksz7lh4xgkcmbg627vkm8s";
+       buildDepends = [ base ];
+       homepage = "https://github.com/feuerbach/asynchronous-exceptions";
+       description = "Distinguish between synchronous and asynchronous exceptions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aterm" = callPackage
+    ({ mkDerivation, array, base, containers, ghc-prim }:
+     mkDerivation {
+       pname = "aterm";
+       version = "0.1.0.1";
+       sha256 = "02aajiirz68wqyrcigfb4cym7j43cf3p0dn4awcw8simnqhfaskh";
+       buildDepends = [ array base containers ghc-prim ];
+       homepage = "https://svn-agbkb.informatik.uni-bremen.de/Hets/trunk/atermlib";
+       description = "serialisation for Haskell values with sharing support";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "aterm-utils" = callPackage
+    ({ mkDerivation, aterm, base, mtl, transformers, wl-pprint }:
+     mkDerivation {
+       pname = "aterm-utils";
+       version = "0.2.0.2";
+       sha256 = "0yyk2mdxrla0hwh1mn50x5mgqskkaw6i086gqqmprljr2668kkj0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aterm base mtl transformers wl-pprint ];
+       homepage = "https://github.com/GaloisInc/aterm-utils";
+       description = "Utility functions for working with aterms as generated by Minitermite";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atl" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "atl";
+       version = "15409.2";
+       sha256 = "1by20xr3s3f0rh1h9zfpcp1i8sn1qv6292mjvav108iws0dh4wq2";
+       buildDepends = [ base ];
+       description = "Arrow Transformer Library";
+       license = "LGPL";
+     }) {};
+
+  "atlassian-connect-core" = callPackage
+    ({ mkDerivation, aeson, atlassian-connect-descriptor, base
+     , base64-bytestring, bytestring, case-insensitive, cipher-aes
+     , configurator, containers, cryptohash, hostname, http-client
+     , http-media, http-types, jwt, mtl, network, network-api-support
+     , network-uri, snap, snap-core, split, text, time, time-units
+     , transformers
+     }:
+     mkDerivation {
+       pname = "atlassian-connect-core";
+       version = "0.5.0.0";
+       sha256 = "09v6q0pnl68jv9mq4hlzzz2lqih172zymv9j2f0fpidmq67ayz9b";
+       buildDepends = [
+         aeson atlassian-connect-descriptor base base64-bytestring
+         bytestring case-insensitive cipher-aes configurator containers
+         cryptohash hostname http-client http-media http-types jwt mtl
+         network network-api-support network-uri snap snap-core split text
+         time time-units transformers
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/ajknoll/atlassian-connect-core";
+       description = "Atlassian Connect snaplet for the Snap Framework and helper code";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "atlassian-connect-descriptor" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, cases, HUnit
+     , network, network-uri, scientific, text, time-units
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "atlassian-connect-descriptor";
+       version = "0.4.0.0";
+       sha256 = "0m74k68sx2zdyn1wjc344v18cnpbkvzy9r4lvf9cm0h2vsjrlgrq";
+       buildDepends = [
+         aeson base cases network network-uri text time-units
+         unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring Cabal cases HUnit network network-uri
+         scientific text time-units unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Code that helps you create a valid Atlassian Connect Descriptor";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "atmos" = callPackage
+    ({ mkDerivation, base, HUnit, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "atmos";
+       version = "0.2.0.0";
+       sha256 = "0qx5a6dzaxjw1flybpmbf3hf7xycg4x69283njszwijw23ak6sv6";
+       buildDepends = [ base ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       description = "1976 US Standard Atmosphere";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "atmos-dimensional" = callPackage
+    ({ mkDerivation, atmos, base, dimensional }:
+     mkDerivation {
+       pname = "atmos-dimensional";
+       version = "0.1.2";
+       sha256 = "19rlcp1zn3k838c5ixsn6i09nclfwvd9prbirxy5fmch0yjlp39d";
+       buildDepends = [ atmos base dimensional ];
+       description = "dimensional wrapper on atmos package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atmos-dimensional-tf" = callPackage
+    ({ mkDerivation, atmos, base, dimensional-tf }:
+     mkDerivation {
+       pname = "atmos-dimensional-tf";
+       version = "0.1.2";
+       sha256 = "05g2v7ppbcvaw0dk9f0z0gb7k33c4lk2cm2ziyqahxmwsz928khm";
+       buildDepends = [ atmos base dimensional-tf ];
+       description = "dimensional-tf wrapper on atmos package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atom" = callPackage
+    ({ mkDerivation, base, bimap, containers, mtl, process, syb }:
+     mkDerivation {
+       pname = "atom";
+       version = "1.0.12";
+       sha256 = "0mavmgaw9wb7sjrmr49h2xw4xvzywgbflvvxym0l9wc91dd3zhrp";
+       buildDepends = [ base bimap containers mtl process syb ];
+       homepage = "http://tomahawkins.org";
+       description = "A DSL for embedded hard realtime applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atom-msp430" = callPackage
+    ({ mkDerivation, atom, base, mtl }:
+     mkDerivation {
+       pname = "atom-msp430";
+       version = "0.5.3";
+       sha256 = "02h1g35f3bd3cjjhr28g63vk1mnghshq9586wa922rfl79jp6jcs";
+       buildDepends = [ atom base mtl ];
+       homepage = "https://github.com/eightyeight/atom-msp430";
+       description = "Convenience functions for using Atom with the MSP430 microcontroller family";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "atomic-primops" = callPackage
+    ({ mkDerivation, base, ghc-prim, primitive }:
+     mkDerivation {
+       pname = "atomic-primops";
+       version = "0.7";
+       revision = "1";
+       sha256 = "1gd2m7qnyww3dv5vcajh9j5chcwlkfsqgpi299q2x4n9xrp0d50g";
+       editedCabalFile = "99594a0f7b2fd268f7f68e460218c22bda9da07c559fb5ead6d3c508f01d9cff";
+       buildDepends = [ base ghc-prim primitive ];
+       homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+       description = "A safe approach to CAS and other atomic ops in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atomic-primops-foreign" = callPackage
+    ({ mkDerivation, base, bits-atomic, HUnit, test-framework
+     , test-framework-hunit, time
+     }:
+     mkDerivation {
+       pname = "atomic-primops-foreign";
+       version = "0.6.2";
+       sha256 = "1pfdbrxx4s6n53lfhxghcalm8dif2r9zj45bipibvyiczz5xkkpm";
+       buildDepends = [ base bits-atomic ];
+       testDepends = [
+         base bits-atomic HUnit test-framework test-framework-hunit time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+       description = "An atomic counter implemented using the FFI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atomic-primops-vector" = callPackage
+    ({ mkDerivation, atomic-primops, base, primitive, vector }:
+     mkDerivation {
+       pname = "atomic-primops-vector";
+       version = "0.1.0.1";
+       sha256 = "0m4mlixiz7cs4hqrh7i6dzbsj55p0qh3m16nc94819wbzcgi3vq7";
+       buildDepends = [ atomic-primops base primitive vector ];
+       testDepends = [ base vector ];
+       jailbreak = true;
+       description = "Atomic operations on Data.Vector types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atomic-write" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, hspec
+     , temporary, text, unix-compat
+     }:
+     mkDerivation {
+       pname = "atomic-write";
+       version = "0.2.0.3";
+       sha256 = "0hs157shwaqhqbd063wmfb8amkf2kppg7k4j0lhfflq1gzjbsprm";
+       buildDepends = [
+         base bytestring directory filepath temporary text unix-compat
+       ];
+       testDepends = [
+         base bytestring directory filepath hspec temporary text unix-compat
+       ];
+       description = "Atomically write to a file";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "atomo" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, hashable, haskeline, hint, mtl, parsec, pretty
+     , regex-pcre, template-haskell, text, time, vector
+     }:
+     mkDerivation {
+       pname = "atomo";
+       version = "0.4.0.2";
+       sha256 = "0hby64jd9zi518rnfk46ilipnp3x0ynkgqk2n0brf1873y88mwx8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory filepath hashable
+         haskeline hint mtl parsec pretty regex-pcre template-haskell text
+         time vector
+       ];
+       jailbreak = true;
+       homepage = "http://atomo-lang.org/";
+       description = "A highly dynamic, extremely simple, very fun programming language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "attempt" = callPackage
+    ({ mkDerivation, base, failure }:
+     mkDerivation {
+       pname = "attempt";
+       version = "0.4.0.1";
+       sha256 = "1gvq04ds62kk88r2210mxd1fggp6vf5p8j5hci9vqkkss1hy9rxh";
+       buildDepends = [ base failure ];
+       homepage = "http://github.com/snoyberg/attempt/tree/master";
+       description = "Concrete data type for handling extensible exceptions as failures. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atto-lisp" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-textual
+     , bytestring, containers, deepseq, HUnit, test-framework
+     , test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "atto-lisp";
+       version = "0.2.2";
+       revision = "1";
+       sha256 = "13lhdalam4gn9faa58c3c7nssdwp2y0jsfl1lnnvr3dx6wzp0jhc";
+       editedCabalFile = "feb39753d89c58abac767ed3fe5644428b5d15d83c69f7b26b282f3b9969f2fa";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-textual bytestring containers
+         deepseq text
+       ];
+       testDepends = [
+         attoparsec base bytestring HUnit test-framework
+         test-framework-hunit text
+       ];
+       homepage = "http://github.com/nominolo/atto-lisp";
+       description = "Efficient parsing and serialisation of S-Expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "attoparsec" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , QuickCheck, quickcheck-unicode, scientific, test-framework
+     , test-framework-quickcheck2, text, vector
+     }:
+     mkDerivation {
+       pname = "attoparsec";
+       version = "0.12.1.6";
+       sha256 = "1a06vhg0ykix94q7qxvmh30v017fjl9j2i1b860wjb937a6bc2yf";
+       buildDepends = [
+         array base bytestring containers deepseq scientific text
+       ];
+       testDepends = [
+         array base bytestring deepseq QuickCheck quickcheck-unicode
+         scientific test-framework test-framework-quickcheck2 text vector
+       ];
+       homepage = "https://github.com/bos/attoparsec";
+       description = "Fast combinator parsing for bytestrings and text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "attoparsec-arff" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "attoparsec-arff";
+       version = "0.0";
+       sha256 = "1jf9065pqmdfshkd0cqiamhivs9an4slqx82n7yj0kkhdxw5lyq4";
+       buildDepends = [ attoparsec base bytestring ];
+       description = "An ARFF file parser using Attoparsec";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "attoparsec-binary" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "attoparsec-binary";
+       version = "0.2";
+       sha256 = "02vswxsgayw50xli7mbacsjmk1diifzkfgnyfn9ck5mk41dl9rh5";
+       buildDepends = [ attoparsec base bytestring ];
+       description = "Binary processing extensions to Attoparsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "attoparsec-conduit" = callPackage
+    ({ mkDerivation, base, conduit }:
+     mkDerivation {
+       pname = "attoparsec-conduit";
+       version = "1.1.0";
+       sha256 = "18xn3nzxfghcd88cana1jw85ijv0ysw3bp36fb6r5wsf6m79z01y";
+       buildDepends = [ base conduit ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Consume attoparsec parsers via conduit. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "attoparsec-csv" = callPackage
+    ({ mkDerivation, attoparsec, base, text }:
+     mkDerivation {
+       pname = "attoparsec-csv";
+       version = "0.1.0.1";
+       sha256 = "0zh1g9687nrdxksniq348jc04hbgf5kxbzqs0kggmz7qqw03iq0v";
+       buildDepends = [ attoparsec base text ];
+       jailbreak = true;
+       homepage = "https://github.com/robinbb/attoparsec-csv";
+       description = "A parser for CSV files that uses Attoparsec";
+       license = "unknown";
+     }) {};
+
+  "attoparsec-enumerator" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, enumerator, text }:
+     mkDerivation {
+       pname = "attoparsec-enumerator";
+       version = "0.3.3";
+       sha256 = "0z57bbw97v92dkjp57zj9nfzsdas2n1qfw472k1aa84iqb6hbw9w";
+       buildDepends = [ attoparsec base bytestring enumerator text ];
+       homepage = "https://john-millikin.com/software/attoparsec-enumerator/";
+       description = "Pass input from an enumerator to an Attoparsec parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "attoparsec-expr" = callPackage
+    ({ mkDerivation, attoparsec, base }:
+     mkDerivation {
+       pname = "attoparsec-expr";
+       version = "0.1.1.1";
+       sha256 = "09305lp9q3cgvpv4d878c34dk07g7p13hc07hrp2xlwl7rc3nac3";
+       buildDepends = [ attoparsec base ];
+       description = "Port of parsec's expression parser to attoparsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "attoparsec-iteratee" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, iteratee
+     , transformers
+     }:
+     mkDerivation {
+       pname = "attoparsec-iteratee";
+       version = "0.4.0";
+       sha256 = "1j57xhk34ghi1b2gnzrfbswv2nab5h0z52h3wvx9w8d97bbvqp2s";
+       buildDepends = [
+         attoparsec base bytestring iteratee transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/gregorycollins";
+       description = "An adapter to convert attoparsec Parsers into blazing-fast Iteratees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "attoparsec-parsec" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, markdown-unlit, parsec
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "attoparsec-parsec";
+       version = "0.1.3";
+       sha256 = "0mi3f1kwcss8m1679ymiydp1sb1xdyv1f6a0qx9d683p86qxrwzq";
+       buildDepends = [ attoparsec base parsec text ];
+       testDepends = [
+         attoparsec base hspec markdown-unlit QuickCheck text
+       ];
+       description = "An Attoparsec compatibility layer for Parsec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "attoparsec-text" = callPackage
+    ({ mkDerivation, array, attoparsec, base, containers, text }:
+     mkDerivation {
+       pname = "attoparsec-text";
+       version = "0.8.5.3";
+       sha256 = "1qq42lp1sah80a6lnnafi6pwl61b4w4q4jk1pbb7pg5p06mmk315";
+       buildDepends = [ array attoparsec base containers text ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/felipe/attoparsec-text/home";
+       description = "(deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "attoparsec-text-enumerator" = callPackage
+    ({ mkDerivation, attoparsec-text, base, enumerator, text }:
+     mkDerivation {
+       pname = "attoparsec-text-enumerator";
+       version = "0.2.0.1";
+       sha256 = "0cffcwji141js09r7avb15b08xl4s8cgk5vxyrqaq7zw40hhb1gz";
+       buildDepends = [ attoparsec-text base enumerator text ];
+       jailbreak = true;
+       description = "(deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "attosplit" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "attosplit";
+       version = "0.1.0.0";
+       sha256 = "01sh8k9n9040xqx1lbn74rcf59j54n5861d9db1y5cdy7qssxyg4";
+       buildDepends = [ attoparsec base bytestring ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/attosplit";
+       description = "Split a lazy bytestring at boundaries defined by an attoparsec parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "atuin" = callPackage
+    ({ mkDerivation, array, base, Cabal, directory, epic, haskell98 }:
+     mkDerivation {
+       pname = "atuin";
+       version = "0.1.1";
+       sha256 = "1wmfnvl39amyfzkvpd3gysshyf10fjjb91zibalkqbq9pbsnfzjk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base Cabal directory epic haskell98 ];
+       homepage = "http://www.dcs.st-and.ac.uk/~eb/epic.php";
+       description = "Embedded Turtle language compiler in Haskell, with Epic output";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "audiovisual" = callPackage
+    ({ mkDerivation, base, boundingboxes, colors, deepseq, directory
+     , filepath, free, freetype2, hashable, JuicyPixels
+     , JuicyPixels-util, lens, linear, mtl, objective, random
+     , template-haskell, transformers, vector, void, WAVE
+     }:
+     mkDerivation {
+       pname = "audiovisual";
+       version = "0.0";
+       sha256 = "0qjcsvv52l53iqyh7hkhwdsifqb943wjp1vn63qhqsrdaajazp3h";
+       buildDepends = [
+         base boundingboxes colors deepseq directory filepath free freetype2
+         hashable JuicyPixels JuicyPixels-util lens linear mtl objective
+         random template-haskell transformers vector void WAVE
+       ];
+       homepage = "https://github.com/fumieval/audiovisual";
+       description = "A battery-included audiovisual framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "augeas" = callPackage
+    ({ mkDerivation, augeas, base, bytestring, directory, HUnit, unix
+     }:
+     mkDerivation {
+       pname = "augeas";
+       version = "0.6.1";
+       sha256 = "08z6l97hi6clv3b34mz9zjc5rns02jx1zx9iqdsmjl2p7hcn7rs5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory HUnit unix ];
+       extraLibraries = [ augeas ];
+       pkgconfigDepends = [ augeas ];
+       homepage = "http://trac.haskell.org/augeas";
+       description = "A Haskell FFI wrapper for the Augeas API";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) augeas;};
+
+  "augur" = callPackage
+    ({ mkDerivation, base, bytestring, classify, containers, directory
+     , filepath, HaXml, mtl, process
+     }:
+     mkDerivation {
+       pname = "augur";
+       version = "2008.11.17";
+       sha256 = "1jvbf3z9z6m40hprykxcc5xwbmwm6p5hwlyab0dimd8h2ar50xfr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring classify containers directory filepath HaXml mtl
+         process
+       ];
+       jailbreak = true;
+       description = "Renaming media collections in a breeze";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aur" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, filepath, lens
+     , lens-aeson, mtl, text, vector, wreq
+     }:
+     mkDerivation {
+       pname = "aur";
+       version = "2.0.3";
+       sha256 = "0gnvnqxkgyq9ydrx5divqd9g9ja6znj2zqn0ra8q3i3701cczzw2";
+       buildDepends = [
+         aeson aeson-pretty base filepath lens lens-aeson mtl text vector
+         wreq
+       ];
+       homepage = "https://github.com/fosskers/haskell-aur";
+       description = "Access metadata from the Arch Linux User Repository";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "authenticate" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
+     , case-insensitive, conduit, containers, http-conduit, http-types
+     , monad-control, network-uri, resourcet, tagstream-conduit, text
+     , transformers, unordered-containers, xml-conduit
+     }:
+     mkDerivation {
+       pname = "authenticate";
+       version = "1.3.2.11";
+       sha256 = "1xkzaw9a338yclbm10cfa9cnjdjpmzif2qj4hprig45z5szqi4q4";
+       buildDepends = [
+         aeson attoparsec base blaze-builder bytestring case-insensitive
+         conduit containers http-conduit http-types monad-control
+         network-uri resourcet tagstream-conduit text transformers
+         unordered-containers xml-conduit
+       ];
+       homepage = "http://github.com/yesodweb/authenticate";
+       description = "Authentication methods for Haskell web applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "authenticate-kerberos" = callPackage
+    ({ mkDerivation, base, process, text }:
+     mkDerivation {
+       pname = "authenticate-kerberos";
+       version = "1.0.0";
+       sha256 = "06k8xi9n44xq63dpmcv4l0vg35y19dk5x1ibyay05w58k4kv4fdq";
+       buildDepends = [ base process text ];
+       homepage = "http://github.com/yesodweb/authenticate";
+       description = "Authentication methods for Haskell web applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "authenticate-ldap" = callPackage
+    ({ mkDerivation, base, LDAP, text, transformers }:
+     mkDerivation {
+       pname = "authenticate-ldap";
+       version = "0.0.3";
+       sha256 = "1wsx43l7jl40jpzhiv2fjc1mnpsaaryrjpqaiyqsn3ahacsy4ly5";
+       buildDepends = [ base LDAP text transformers ];
+       jailbreak = true;
+       homepage = "http://github.com:mlitchard/authenticate-ldap";
+       description = "LDAP authentication for Haskell web applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "authenticate-oauth" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
+     , crypto-pubkey-types, data-default, http-client, http-types
+     , random, RSA, SHA, time, transformers
+     }:
+     mkDerivation {
+       pname = "authenticate-oauth";
+       version = "1.5.1.1";
+       sha256 = "02y35yd4zmpy36yba2nzbvijhfw0wvijkiqmh7h9qjpbqvmib7zb";
+       buildDepends = [
+         base base64-bytestring blaze-builder bytestring crypto-pubkey-types
+         data-default http-client http-types random RSA SHA time
+         transformers
+       ];
+       homepage = "http://github.com/yesodweb/authenticate";
+       description = "Library to authenticate with OAuth for Haskell web applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "authinfo-hs" = callPackage
+    ({ mkDerivation, attoparsec, base, network, text }:
+     mkDerivation {
+       pname = "authinfo-hs";
+       version = "0.1.0.0";
+       sha256 = "1jv0y4y2ig8dx95xw3zbxc1h9mv3wi3r8xqx00llmf2qs6wgdlp5";
+       buildDepends = [ attoparsec base network text ];
+       homepage = "http://github.com/robgssp/authinfo-hs";
+       description = "Password querying for .authinfo";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "authoring" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, citation-resolve, containers
+     , data-default, haskell-src-meta, HaTeX, lens, mtl, parsers, safe
+     , template-haskell, text, transformers, trifecta
+     }:
+     mkDerivation {
+       pname = "authoring";
+       version = "0.3.4";
+       sha256 = "0jfxgrbkcqpfcvg1jk7ysd74bq7xjlvzqamnr3qg4ib9zg6yw0k4";
+       buildDepends = [
+         ansi-wl-pprint base citation-resolve containers data-default
+         haskell-src-meta HaTeX lens mtl parsers safe template-haskell text
+         transformers trifecta
+       ];
+       homepage = "http://github.com/nushio3/authoring";
+       description = "A library for writing papers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "auto" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, deepseq
+     , MonadRandom, profunctors, random, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "auto";
+       version = "0.4.1.0";
+       revision = "1";
+       sha256 = "00l7dxcg6xx63vkwa8kx4k8bcpvxdyhmb4gvffnwkf1dg4kqd9qd";
+       editedCabalFile = "5170b5e4efc880cae0dc3275adf79a0b8491ebe32fd54e42116c863f9e76df50";
+       buildDepends = [
+         base bytestring cereal containers deepseq MonadRandom profunctors
+         random semigroups transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mstksg/auto";
+       description = "Denotative, locally stateful programming DSL & platform";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "auto-update" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "auto-update";
+       version = "0.1.2.1";
+       sha256 = "0cj1pjf22x02h3d1ln1p69g90kz2dfsiq04ahfq29jj4ny525lwp";
+       buildDepends = [ base ];
+       homepage = "https://github.com/yesodweb/wai";
+       description = "Efficiently run periodic, on-demand actions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "autonix-deps" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, errors
+     , filepath, lens, libarchive-conduit, mtl, optparse-applicative
+     , process, regex-tdfa, resourcet, transformers, xml
+     }:
+     mkDerivation {
+       pname = "autonix-deps";
+       version = "0.2.0.0";
+       sha256 = "067q10wdzzv2xv2yak15bxysc935ghgrsm5nq90pfmzmwcv3323a";
+       buildDepends = [
+         base bytestring conduit containers errors filepath lens
+         libarchive-conduit mtl optparse-applicative process regex-tdfa
+         resourcet transformers xml
+       ];
+       description = "Library for Nix expression dependency generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "autonix-deps-kf5" = callPackage
+    ({ mkDerivation, autonix-deps, base, bytestring, conduit
+     , containers, filepath, lens, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "autonix-deps-kf5";
+       version = "0.2.0.1";
+       sha256 = "11azj8cl5g8fz0bzdh1z1alv9ljdzhgvkb8qr5y0dfsjbbyhz5v0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         autonix-deps base bytestring conduit containers filepath lens mtl
+         transformers
+       ];
+       description = "Generate dependencies for KDE 5 Nix expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "autoproc" = callPackage
+    ({ mkDerivation, base, directory, mtl, process, unix }:
+     mkDerivation {
+       pname = "autoproc";
+       version = "0.1.2";
+       sha256 = "0yrlaq2jr89ncla3cpj6ir8bamwdchxnr39vsvkm7qpan61f2x65";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory mtl process unix ];
+       homepage = "http://code.haskell.org/autoproc";
+       description = "EDSL for Procmail scripts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "avahi" = callPackage
+    ({ mkDerivation, base, dbus-core, text }:
+     mkDerivation {
+       pname = "avahi";
+       version = "0.1.1";
+       sha256 = "0b2bw0rp33g8s1y6hyqji3ycv26a4ixgjmkph93isnjxglfl6ah0";
+       buildDepends = [ base dbus-core text ];
+       description = "Minimal DBus bindings for Avahi daemon (http://avahi.org)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "average" = callPackage
+    ({ mkDerivation, base, semigroups, vector-space }:
+     mkDerivation {
+       pname = "average";
+       version = "0.6";
+       sha256 = "0ag2jxhxap8wzdlb23zvly5y09k6kh134rwdxq6dqxlqwfwhsyc9";
+       buildDepends = [ base semigroups vector-space ];
+       jailbreak = true;
+       description = "An average (arithmetic mean) monoid";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "avers" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , bytestring, containers, cryptohash, inflections, influxdb
+     , MonadRandom, mtl, network, resource-pool, rethinkdb-client-driver
+     , scrypt, stm, template-haskell, text, time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "avers";
+       version = "0.0.3";
+       sha256 = "0y58qixd9kjm0wp5spachm581mshp15pcvlyv48nsrabrzssn3ng";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring bytestring containers
+         cryptohash inflections influxdb MonadRandom mtl network
+         resource-pool rethinkdb-client-driver scrypt stm template-haskell
+         text time unordered-containers vector
+       ];
+       description = "empty";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "avl-static" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "avl-static";
+       version = "0.1.0.0";
+       sha256 = "13rl5wrpmbb4c0zsaymivi4d9qg2wl4lfw4nvkd81naqm3vskc10";
+       buildDepends = [ base ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "A compile-time balanced AVL tree";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "avr-shake" = callPackage
+    ({ mkDerivation, base, dependent-sum, mtl, process, shake }:
+     mkDerivation {
+       pname = "avr-shake";
+       version = "0.0.1.1";
+       sha256 = "0avj9idsk70c7gzkm18kcsvh3xhg57r8aifhdpyihzyvp87k61pn";
+       buildDepends = [ base dependent-sum mtl process shake ];
+       homepage = "https://github.com/mokus0/avr-shake";
+       description = "AVR Crosspack actions for shake build systems";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "awesomium" = callPackage
+    ({ mkDerivation, aeson, attoparsec, awesomium-raw, base, containers
+     , text, vector
+     }:
+     mkDerivation {
+       pname = "awesomium";
+       version = "0.1.0.0";
+       sha256 = "0qd89nlw4rqdl8iya49rldyn5a36d64slcnw5pfh5c5aajh27aq2";
+       buildDepends = [
+         aeson attoparsec awesomium-raw base containers text vector
+       ];
+       description = "High-level Awesomium bindings";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "awesomium-glut" = callPackage
+    ({ mkDerivation, awesomium, awesomium-raw, base, GLUT }:
+     mkDerivation {
+       pname = "awesomium-glut";
+       version = "0.1.0.0";
+       sha256 = "175hgqix2j26579g0rrryl86w7qvla95nvf4lwfxsxxwqgcq3zpd";
+       buildDepends = [ awesomium awesomium-raw base GLUT ];
+       description = "Utilities for using Awesomium with GLUT";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "awesomium-raw" = callPackage
+    ({ mkDerivation, awesomium, base, c2hs }:
+     mkDerivation {
+       pname = "awesomium-raw";
+       version = "0.1.0.0";
+       sha256 = "0djilsrgb8y84ssslwawhw6lky7bqspz31qwjy9lkxywi5hwxnyb";
+       buildDepends = [ base ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ awesomium ];
+       description = "Low-level Awesomium bindings";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { awesomium = null;};
+
+  "aws" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, blaze-builder, byteable, bytestring
+     , case-insensitive, cereal, conduit, conduit-extra, containers
+     , cryptohash, data-default, directory, errors, filepath
+     , http-client, http-conduit, http-types, lifted-base, monad-control
+     , mtl, network, old-locale, QuickCheck, quickcheck-instances
+     , resourcet, safe, scientific, tagged, tasty, tasty-quickcheck
+     , text, time, transformers, transformers-base, unordered-containers
+     , utf8-string, vector, xml-conduit
+     }:
+     mkDerivation {
+       pname = "aws";
+       version = "0.11.3";
+       revision = "1";
+       sha256 = "02p3dn380qj8wg6alm7yqw4svwwkw9ln9rjd6shbk4jz8gsaka8l";
+       editedCabalFile = "e4265585066ef7d7cb3473938a62d6c996084ba1a9e05f9efbfa60057760efac";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         blaze-builder byteable bytestring case-insensitive cereal conduit
+         conduit-extra containers cryptohash data-default directory filepath
+         http-conduit http-types lifted-base monad-control mtl network
+         old-locale resourcet safe scientific tagged text time transformers
+         unordered-containers utf8-string vector xml-conduit
+       ];
+       testDepends = [
+         aeson base bytestring errors http-client lifted-base monad-control
+         mtl QuickCheck quickcheck-instances resourcet tagged tasty
+         tasty-quickcheck text time transformers transformers-base
+       ];
+       homepage = "http://github.com/aristidb/aws";
+       description = "Amazon Web Services (AWS) for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aws-cloudfront-signer" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, base64-bytestring
+     , bytestring, crypto-pubkey-types, old-locale, RSA, time
+     }:
+     mkDerivation {
+       pname = "aws-cloudfront-signer";
+       version = "1.1.0.2";
+       sha256 = "0cxh0b0g4lms2zpgw6q4k7bk2a7px8kafdr6qrbrcf7p3dkmzwd9";
+       buildDepends = [
+         asn1-encoding asn1-types base base64-bytestring bytestring
+         crypto-pubkey-types old-locale RSA time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/iconnect/aws-cloudfront-signer";
+       description = "For signing AWS CloudFront HTTP URL requests";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aws-dynamodb-streams" = callPackage
+    ({ mkDerivation, aeson, attoparsec, aws, aws-general, base
+     , base-unicode-symbols, base16-bytestring, base64-bytestring
+     , byteable, bytestring, case-insensitive, conduit, conduit-extra
+     , containers, cryptohash, http-conduit, http-types, mtl, old-locale
+     , parsers, profunctors, resourcet, scientific, text, time
+     }:
+     mkDerivation {
+       pname = "aws-dynamodb-streams";
+       version = "0.1.0.0";
+       sha256 = "0yqmijls71jyvic2saabj3kwnpaxmlj6mf4krcdli3626ra7w4r2";
+       buildDepends = [
+         aeson attoparsec aws aws-general base base-unicode-symbols
+         base16-bytestring base64-bytestring byteable bytestring
+         case-insensitive conduit conduit-extra containers cryptohash
+         http-conduit http-types mtl old-locale parsers profunctors
+         resourcet scientific text time
+       ];
+       description = "Haskell bindings for Amazon DynamoDB Streams";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "aws-ec2" = callPackage
+    ({ mkDerivation, aeson, aws, base, base16-bytestring
+     , base64-bytestring, blaze-builder, byteable, bytestring
+     , conduit-extra, containers, cryptohash, http-conduit, http-types
+     , mtl, optparse-applicative, resourcet, scientific
+     , template-haskell, text, time, unordered-containers, vector
+     , xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "aws-ec2";
+       version = "0.3.2";
+       sha256 = "0wgg05hnzjrlhzkc5giy5gdkiy4dg6hvgdq433ifld11vrpy152d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aws base base16-bytestring base64-bytestring blaze-builder
+         byteable bytestring conduit-extra containers cryptohash
+         http-conduit http-types mtl optparse-applicative resourcet
+         scientific template-haskell text time unordered-containers vector
+         xml-conduit yaml
+       ];
+       homepage = "https://github.com/zalora/aws-ec2";
+       description = "AWS EC2/VPC, ELB and CloudWatch client library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aws-elastic-transcoder" = callPackage
+    ({ mkDerivation, aeson, aws, aws-sign4, base, bytestring, Cabal
+     , conduit, containers, http-conduit, http-types, QuickCheck
+     , regex-compat, safe, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "aws-elastic-transcoder";
+       version = "0.2.0.2";
+       sha256 = "02dygqqyal6s3ibjvgxng4vspld3c6mrgrwdhig8lfri2zdpqsw9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aws aws-sign4 base bytestring conduit containers http-conduit
+         http-types QuickCheck regex-compat safe text time transformers
+       ];
+       testDepends = [
+         aeson base Cabal containers QuickCheck regex-compat safe text
+       ];
+       homepage = "http://github.com/iconnect/aws-elastic-transcoder";
+       description = "Haskell suite for the Elastic Transcoder service";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aws-general" = callPackage
+    ({ mkDerivation, aeson, attoparsec, aws, base, base16-bytestring
+     , blaze-builder, byteable, bytestring, case-insensitive, charset
+     , cryptohash, deepseq, directory, either, errors, hashable
+     , http-types, old-locale, parsers, QuickCheck, quickcheck-instances
+     , tagged, tasty, tasty-quickcheck, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "aws-general";
+       version = "0.2.2";
+       sha256 = "08sy37w162zqd6dqi8kkg0782nv00jsp48bnrmhwhmkhnd2arfrj";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring blaze-builder byteable
+         bytestring case-insensitive cryptohash deepseq hashable http-types
+         old-locale parsers QuickCheck quickcheck-instances text time
+         transformers
+       ];
+       testDepends = [
+         attoparsec aws base bytestring case-insensitive charset directory
+         either errors http-types parsers QuickCheck quickcheck-instances
+         tagged tasty tasty-quickcheck text time transformers
+       ];
+       homepage = "https://github.com/alephcloud/hs-aws-general";
+       description = "Bindings for Amazon Web Services (AWS) General Reference";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aws-kinesis" = callPackage
+    ({ mkDerivation, aeson, aws, aws-general, base, base64-bytestring
+     , blaze-builder, bytestring, conduit, conduit-extra, deepseq
+     , errors, http-conduit, http-types, mtl, parsers, QuickCheck
+     , quickcheck-instances, resourcet, tagged, tasty, tasty-quickcheck
+     , text, time, transformers
+     }:
+     mkDerivation {
+       pname = "aws-kinesis";
+       version = "0.1.5";
+       sha256 = "0npiff5zrcs552y8lq3q6fgnwffqy11dvgs3yaygy0m99mgiaaiz";
+       buildDepends = [
+         aeson aws aws-general base base64-bytestring blaze-builder
+         bytestring conduit conduit-extra deepseq http-conduit http-types
+         parsers QuickCheck quickcheck-instances resourcet text time
+         transformers
+       ];
+       testDepends = [
+         aeson aws aws-general base bytestring errors mtl QuickCheck tagged
+         tasty tasty-quickcheck text transformers
+       ];
+       homepage = "https://github.com/alephcloud/hs-aws-kinesis";
+       description = "Bindings for Amazon Kinesis";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "aws-kinesis-client" = callPackage
+    ({ mkDerivation, aeson, aws, aws-general, aws-kinesis, base
+     , base-unicode-symbols, bytestring, conduit, containers
+     , data-carousel, either, errors, hoist-error, http-conduit
+     , kan-extensions, lens, lens-action, lifted-async, lifted-base
+     , monad-control, mtl, optparse-applicative, random, resourcet, stm
+     , stm-chans, stm-conduit, stm-queue-extras, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "aws-kinesis-client";
+       version = "0.3.0.2";
+       sha256 = "0p1544yq9cs9qz9za2gcsdvd8wkq66sa0kzzv3i2c6xjbqy0wpgr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aws aws-general aws-kinesis base base-unicode-symbols
+         bytestring conduit containers data-carousel either errors
+         hoist-error http-conduit kan-extensions lens lens-action
+         lifted-async lifted-base monad-control mtl optparse-applicative
+         random resourcet stm stm-chans stm-conduit stm-queue-extras text
+         transformers unordered-containers
+       ];
+       jailbreak = true;
+       description = "A producer & consumer client library for AWS Kinesis";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "aws-kinesis-reshard" = callPackage
+    ({ mkDerivation, aws, aws-general, aws-kinesis, aws-sdk, base
+     , base-unicode-symbols, bytestring, conduit, either, hoist-error
+     , lens, lens-action, lifted-async, lifted-base, monad-control, mtl
+     , optparse-applicative, resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "aws-kinesis-reshard";
+       version = "0.1.0.1";
+       sha256 = "1v7i39sd6rizrrgxpqp3pnc45sry4glkb7yi0jx8qcxf2d8bklnn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aws aws-general aws-kinesis aws-sdk base base-unicode-symbols
+         bytestring conduit either hoist-error lens lens-action lifted-async
+         lifted-base monad-control mtl optparse-applicative resourcet text
+         time transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/alephcloud/hs-aws-kinesis-reshard";
+       description = "Reshard AWS Kinesis streams in response to Cloud Watch metrics";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aws-lambda" = callPackage
+    ({ mkDerivation, aeson, aws-general, base, base-unicode-symbols
+     , bytestring, containers, exceptions, filepath, http-client
+     , http-types, lens, lens-action, lens-aeson, mtl, old-locale, text
+     , time, wreq, zip-archive
+     }:
+     mkDerivation {
+       pname = "aws-lambda";
+       version = "0.1.0.1";
+       sha256 = "1dy9q86yvrydw7h1l1n4ciai400w7czc26mizzfi4r369mqyan89";
+       buildDepends = [
+         aeson aws-general base base-unicode-symbols bytestring containers
+         exceptions filepath http-client http-types lens lens-action
+         lens-aeson mtl old-locale text time wreq zip-archive
+       ];
+       homepage = "https://github.com/alephcloud/hs-aws-lambda";
+       description = "Haskell bindings for AWS Lambda";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "aws-performance-tests" = callPackage
+    ({ mkDerivation, aeson, async, aws, base, bytestring
+     , configuration-tools, containers, dlist, errors, http-client, lens
+     , lifted-base, monad-control, mtl, optparse-applicative, resourcet
+     , statistics, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "aws-performance-tests";
+       version = "0.1.1";
+       sha256 = "1m9najkh21ww4xmddad8ksnfa3if8q955q1vf3m48f52r2dl81hw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async aws base bytestring configuration-tools containers
+         dlist errors http-client lens lifted-base monad-control mtl
+         optparse-applicative resourcet statistics text time transformers
+         vector
+       ];
+       homepage = "http://github.com/alephcloud/hs-aws-performance-tests";
+       description = "Performance Tests for the Haskell bindings for Amazon Web Services (AWS)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aws-route53" = callPackage
+    ({ mkDerivation, aws, base, bytestring, containers, http-conduit
+     , http-types, old-locale, resourcet, text, time, xml-conduit
+     , xml-hamlet
+     }:
+     mkDerivation {
+       pname = "aws-route53";
+       version = "0.1.1";
+       sha256 = "1nzxs6ff0nh6ncswfnx2gxxmx2by0xxzfpmlkk1cnd9xkz7c8n0k";
+       buildDepends = [
+         aws base bytestring containers http-conduit http-types old-locale
+         resourcet text time xml-conduit xml-hamlet
+       ];
+       description = "Amazon Route53 DNS service plugin for the aws package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aws-sdk" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, conduit
+     , conduit-extra, containers, data-default, hspec, http-conduit
+     , http-types, HUnit, iproute, lifted-base, monad-control, mtl
+     , old-locale, parallel, parsec, QuickCheck, random, resourcet, safe
+     , SHA, simple-config, strptime, template-haskell, text, time, tls
+     , transformers, transformers-base, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "aws-sdk";
+       version = "0.12.4";
+       sha256 = "0zmwfkfddiyyn264kay6m295fh23gii8axln1fjykbsdgd6yy5rb";
+       buildDepends = [
+         base base64-bytestring bytestring conduit conduit-extra containers
+         data-default http-conduit http-types iproute lifted-base
+         monad-control mtl old-locale parallel parsec resourcet safe SHA
+         simple-config strptime template-haskell text time tls transformers
+         transformers-base xml-conduit xml-types
+       ];
+       testDepends = [
+         base conduit hspec http-conduit HUnit iproute lifted-base
+         monad-control QuickCheck random resourcet text time tls
+         transformers
+       ];
+       homepage = "http://worksap-ate.github.com/aws-sdk";
+       description = "AWS SDK for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aws-sdk-text-converter" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, HUnit, iproute
+     , old-locale, QuickCheck, safe, strptime, template-haskell, text
+     , time
+     }:
+     mkDerivation {
+       pname = "aws-sdk-text-converter";
+       version = "0.3";
+       sha256 = "06a9sj9k1zpnzjcz8bd952fljwdn5r3vn5cg0vvc50bnidf99nfk";
+       buildDepends = [
+         base bytestring iproute old-locale safe strptime template-haskell
+         text time
+       ];
+       testDepends = [
+         base bytestring hspec HUnit iproute old-locale QuickCheck safe
+         strptime template-haskell text time
+       ];
+       homepage = "https://github.com/worksap-ate/aws-sdk-text-converter";
+       description = "The text converter for aws-sdk";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aws-sdk-xml-unordered" = callPackage
+    ({ mkDerivation, aws-sdk-text-converter, base, bytestring, conduit
+     , containers, hspec, lifted-base, mtl, resourcet, text
+     , unordered-containers, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "aws-sdk-xml-unordered";
+       version = "0.3.1";
+       sha256 = "0f90l61npi6x59i81k2cjfklpjl5m52zj7ww04k3y5x5c7nj26nd";
+       buildDepends = [
+         aws-sdk-text-converter base conduit containers lifted-base mtl
+         resourcet text unordered-containers xml-conduit xml-types
+       ];
+       testDepends = [
+         base bytestring conduit hspec mtl resourcet text xml-conduit
+       ];
+       homepage = "https://github.com/worksap-ate/aws-sdk-xml-unordered";
+       description = "The xml parser for aws-sdk package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aws-sign4" = callPackage
+    ({ mkDerivation, attempt, aws, base, blaze-builder, byteable
+     , bytestring, bytestring-lexing, Cabal, case-insensitive
+     , cryptohash, directory, filepath, http-types, old-locale, safe
+     , text, time
+     }:
+     mkDerivation {
+       pname = "aws-sign4";
+       version = "1.1.0.1";
+       sha256 = "1jw4dp8gg4lzski55iw5m5xihyx1cp33c334nlkd2xydrkk8rjhh";
+       buildDepends = [
+         aws base blaze-builder byteable bytestring case-insensitive
+         cryptohash http-types old-locale safe time
+       ];
+       testDepends = [
+         attempt aws base blaze-builder byteable bytestring
+         bytestring-lexing Cabal case-insensitive cryptohash directory
+         filepath http-types old-locale safe text time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/iconnect/aws-sign4";
+       description = "Amazon Web Services (AWS) Signature v4 HTTP request signer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aws-sns" = callPackage
+    ({ mkDerivation, aeson, aws, aws-general, base, blaze-builder
+     , bytestring, conduit, containers, errors, http-conduit, http-types
+     , mtl, parsers, QuickCheck, resourcet, tagged, tasty
+     , tasty-quickcheck, text, time, transformers, xml-conduit
+     }:
+     mkDerivation {
+       pname = "aws-sns";
+       version = "0.1";
+       sha256 = "1v1fjldn1bx65vv84zgx7np84pl4cr1wddngchkjxzci07ydrjpm";
+       buildDepends = [
+         aeson aws aws-general base blaze-builder bytestring conduit
+         containers http-conduit http-types parsers QuickCheck resourcet
+         text time transformers xml-conduit
+       ];
+       testDepends = [
+         aeson aws aws-general base bytestring errors mtl QuickCheck tagged
+         tasty tasty-quickcheck text transformers
+       ];
+       homepage = "https://github.com/alephcloud/hs-aws-sns";
+       description = "Bindings for AWS SNS Version 2013-03-31";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "azure-acs" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, conduit
+     , conduit-extra, connection, http-conduit, http-types, network
+     , time
+     }:
+     mkDerivation {
+       pname = "azure-acs";
+       version = "0.0.1.1";
+       sha256 = "09gv4ym6nxx5854m40p06pxvxrqfhmadxlb0d72pji6hk180yg5l";
+       buildDepends = [
+         attoparsec base bytestring conduit conduit-extra connection
+         http-conduit http-types network time
+       ];
+       homepage = "https://github.com/kapilash/hs-azure";
+       description = "Windows Azure ACS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "azure-service-api" = callPackage
+    ({ mkDerivation, base, binary, bytestring, case-insensitive
+     , certificate, crypto-pubkey-types, http-conduit, hxt, hxt-xpath
+     , pretty, resourcet, tls, tls-extra, transformers
+     }:
+     mkDerivation {
+       pname = "azure-service-api";
+       version = "0.1.0.0";
+       sha256 = "09wb94k8f8wgcdx036x2fzixck7cbv739rrh299m7awbl4i3mfhg";
+       buildDepends = [
+         base binary bytestring case-insensitive certificate
+         crypto-pubkey-types http-conduit hxt hxt-xpath pretty resourcet tls
+         tls-extra transformers
+       ];
+       jailbreak = true;
+       homepage = "github.com/haskell-distributed/azure-service-api";
+       description = "Haskell bindings for the Microsoft Azure Service Management API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "azure-servicebus" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, azure-acs, base
+     , bytestring, case-insensitive, conduit, connection, http-client
+     , http-conduit, http-types, network, text
+     }:
+     mkDerivation {
+       pname = "azure-servicebus";
+       version = "0.1.6.0";
+       sha256 = "1ig8af14m11di9fis6s5hxmfqh7hc40c3bqyighnpi25xnv7mm13";
+       buildDepends = [
+         aeson async attoparsec azure-acs base bytestring case-insensitive
+         conduit connection http-client http-conduit http-types network text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kapilash/hs-azure";
+       description = "Haskell wrapper over Microsoft Azure ServiceBus REST API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "azurify" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring
+     , case-insensitive, cmdargs, conduit, data-default, directory
+     , http-conduit, http-date, http-types, hxt, hxt-unicode, network
+     , old-locale, SHA, text, time, transformers, unix-compat
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "azurify";
+       version = "0.4.0.5";
+       sha256 = "0nqkpizqiwv7wfs1bgl8q13aaqnc9wjh8gs6fyiklplnjdcpqf9g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring bytestring case-insensitive cmdargs conduit
+         data-default directory http-conduit http-date http-types hxt
+         hxt-unicode network old-locale SHA text time transformers
+         unix-compat utf8-string
+       ];
+       homepage = "http://arnovanlumig.com/azure";
+       description = "A simple library for accessing Azure blob storage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "b-tree" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , errors, filepath, lens, mmap, mtl, pipes, pipes-interleave
+     , QuickCheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "b-tree";
+       version = "0.1.1";
+       sha256 = "1c20w9rzyj2gnd18042pv41r45cv3zvd5h83igh6w2gz1z7hl821";
+       buildDepends = [
+         base binary bytestring containers directory errors filepath lens
+         mmap mtl pipes pipes-interleave transformers vector
+       ];
+       testDepends = [ base binary containers pipes QuickCheck ];
+       jailbreak = true;
+       homepage = "http://github.com/bgamari/b-tree";
+       description = "Immutable disk-based B* trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "b9" = callPackage
+    ({ mkDerivation, aeson, async, base, bifunctors, binary, bytestring
+     , conduit, conduit-extra, ConfigFile, directory, filepath, hspec
+     , hspec-expectations, mtl, old-locale, optparse-applicative, parsec
+     , pretty, pretty-show, process, QuickCheck, random, semigroups, syb
+     , template, text, time, transformers, unordered-containers, vector
+     , yaml
+     }:
+     mkDerivation {
+       pname = "b9";
+       version = "0.4.1";
+       sha256 = "1zylnxh6r6sbk6fyx3b5hh6msajrrr07nsb4hwqlh07n1zzavw7j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base bifunctors binary bytestring conduit conduit-extra
+         ConfigFile directory filepath mtl old-locale optparse-applicative
+         parsec pretty pretty-show process QuickCheck random semigroups syb
+         template text time transformers unordered-containers vector yaml
+       ];
+       testDepends = [
+         aeson base bytestring hspec hspec-expectations QuickCheck
+         semigroups text unordered-containers vector yaml
+       ];
+       homepage = "https://github.com/sheyll/b9-vm-image-builder";
+       description = "A tool and library for building virtual machine images";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "babylon" = callPackage
+    ({ mkDerivation, array, base, containers, random, wx, wxcore }:
+     mkDerivation {
+       pname = "babylon";
+       version = "0.3";
+       sha256 = "12cyn149dgd9wvnc7smqsfy15mzgyfg8l17y6qz0k4dyapp8fvhf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers random wx wxcore ];
+       description = "An implementation of a simple 2-player board game";
+       license = "GPL";
+     }) {};
+
+  "backdropper" = callPackage
+    ({ mkDerivation, base, directory, haskell98, hslogger, old-time
+     , process, random
+     }:
+     mkDerivation {
+       pname = "backdropper";
+       version = "1.2";
+       sha256 = "1z5v0p2yfgln9sv41myr10cjq60xcaav0hfzc18bmmssl8x2yljy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory haskell98 hslogger old-time process random
+       ];
+       jailbreak = true;
+       description = "Rotates backdrops for X11 displays using Imagemagic";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "backtracking-exceptions" = callPackage
+    ({ mkDerivation, base, either, free, kan-extensions, mtl
+     , semigroupoids, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "backtracking-exceptions";
+       version = "0.1.0.0";
+       sha256 = "1m4z4m4ncyswvbr12dsvl0gz5398jxy99zkh22xjrdmfgl8rx6p2";
+       buildDepends = [
+         base either free kan-extensions mtl semigroupoids semigroups
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tapuu/backtracking-exceptions";
+       description = "A monad transformer for backtracking exceptions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "backward-state" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "backward-state";
+       version = "0.1.0.2";
+       sha256 = "1akxm0v23gnph5jxwi20wq4lk07vd2kpiqns550k499yw95vqyam";
+       buildDepends = [ base transformers ];
+       homepage = "https://github.com/luqui/backward-state";
+       description = "A state monad that runs the state in reverse through the computation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bacteria" = callPackage
+    ({ mkDerivation, base, gd, X11 }:
+     mkDerivation {
+       pname = "bacteria";
+       version = "1.1";
+       sha256 = "19y7p53b80lqfrs1b945l4pc73c54zivk8l6lffzznd7gmbc0mv5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gd X11 ];
+       homepage = "http://www.dmwit.com/bacteria";
+       description = "braindead utility to compose Xinerama backgrounds";
+       license = "unknown";
+     }) {};
+
+  "bag" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bag";
+       version = "0.1";
+       sha256 = "18n7ggrfm39mn4rva661hkxj75gjx2p3jcm0hlzpcshxyk93iblr";
+       buildDepends = [ base ];
+       description = "A simple stable bag";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bake" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cmdargs, deepseq
+     , directory, extra, filepath, hashable, HTTP, http-types, process
+     , random, shake, text, time, wai, warp
+     }:
+     mkDerivation {
+       pname = "bake";
+       version = "0.2";
+       sha256 = "1j7m9q5vk35sqs6if9rzb72avi7xbjhbcv0hpg9qvn9nvs38dgiw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring cmdargs deepseq directory extra filepath
+         hashable HTTP http-types process random shake text time wai warp
+       ];
+       homepage = "https://github.com/ndmitchell/bake#readme";
+       description = "Continuous integration system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bamboo" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , directory, filepath, gravatar, hack, hack-contrib, haskell98, mps
+     , mtl, network, old-locale, old-time, pandoc, parsec, parsedate
+     , process, time, unix, utf8-string, xhtml, zlib
+     }:
+     mkDerivation {
+       pname = "bamboo";
+       version = "2010.2.25";
+       sha256 = "0v96ync9vkq7xyc5jmm7k7vfxpy4m1l2370m99wa8qlrpcffhrmi";
+       buildDepends = [
+         base bytestring containers data-default directory filepath gravatar
+         hack hack-contrib haskell98 mps mtl network old-locale old-time
+         pandoc parsec parsedate process time unix utf8-string xhtml zlib
+       ];
+       homepage = "http://github.com/nfjinjing/bamboo/tree/master";
+       description = "A blog engine on Hack";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bamboo-launcher" = callPackage
+    ({ mkDerivation, bamboo, bamboo-theme-blueprint, base, bytestring
+     , data-default, hack, hack-contrib, hack-handler-hyena, haskell98
+     , mps, process
+     }:
+     mkDerivation {
+       pname = "bamboo-launcher";
+       version = "2010.2.25";
+       sha256 = "1xp2k33jxbkf0maj3p3grv93c9vnjg6fzy6l8gg5dhil18834vdd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         bamboo bamboo-theme-blueprint base bytestring data-default hack
+         hack-contrib hack-handler-hyena haskell98 mps process
+       ];
+       homepage = "http://github.com/nfjinjing/bamboo-launcher";
+       description = "bamboo-launcher";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bamboo-plugin-highlight" = callPackage
+    ({ mkDerivation, bamboo, base, bytestring, hack, hack-contrib
+     , highlighting-kate, hxt, mps, xhtml
+     }:
+     mkDerivation {
+       pname = "bamboo-plugin-highlight";
+       version = "2009.7.5";
+       sha256 = "0f8hpampawv0csqsb504hg97r7mimkcs9irm9i2m2b13w5fciaqc";
+       buildDepends = [
+         bamboo base bytestring hack hack-contrib highlighting-kate hxt mps
+         xhtml
+       ];
+       homepage = "http://github.com/nfjinjing/bamboo-plugin-highlight/";
+       description = "A highlight middleware";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bamboo-plugin-photo" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, directory
+     , filepath, hack, hack-contrib, haskell98, hxt, mps, utf8-string
+     , xhtml
+     }:
+     mkDerivation {
+       pname = "bamboo-plugin-photo";
+       version = "2009.7.5";
+       sha256 = "19ik80hcshmw8gpsb9gwngnwvriri10xx2v6xvrz0q25cxgwdjah";
+       buildDepends = [
+         base bytestring data-default directory filepath hack hack-contrib
+         haskell98 hxt mps utf8-string xhtml
+       ];
+       homepage = "http://github.com/nfjinjing/hack/tree/master";
+       description = "A photo album middleware";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bamboo-theme-blueprint" = callPackage
+    ({ mkDerivation, bamboo, base, bytestring, containers, data-default
+     , gravatar, hack, hack-contrib, hcheat, mps, network, rss
+     , utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "bamboo-theme-blueprint";
+       version = "2010.2.25.1";
+       sha256 = "1wchvz2nm4klg11wjk3yb5yvqpa26c9lg6xc65k0dwxhy0cyd2zx";
+       buildDepends = [
+         bamboo base bytestring containers data-default gravatar hack
+         hack-contrib hcheat mps network rss utf8-string xhtml
+       ];
+       homepage = "http://github.com/nfjinjing/bamboo-theme-blueprint";
+       description = "bamboo blueprint theme";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bamboo-theme-mini-html5" = callPackage
+    ({ mkDerivation, bamboo, base, base64-string, bytestring, cgi
+     , containers, data-default, directory, filepath, gravatar, hack
+     , hack-contrib, haskell98, hcheat, moe, mps, mtl, network
+     , old-locale, old-time, parsec, parsedate, process, rss, time, unix
+     , utf8-string, xhtml, yuuko, zlib
+     }:
+     mkDerivation {
+       pname = "bamboo-theme-mini-html5";
+       version = "2009.11.27";
+       sha256 = "02zh9jqq46gg3hrsfjfq2skajr4jni3cisak4nd3shl6aqapw9d6";
+       buildDepends = [
+         bamboo base base64-string bytestring cgi containers data-default
+         directory filepath gravatar hack hack-contrib haskell98 hcheat moe
+         mps mtl network old-locale old-time parsec parsedate process rss
+         time unix utf8-string xhtml yuuko zlib
+       ];
+       homepage = "http://github.com/nfjinjing/bamboo-theme-mini-html5";
+       description = "bamboo mini html5 theme";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bamse" = callPackage
+    ({ mkDerivation, base, com, directory, filepath, HUnit, old-time
+     , pretty, process, QuickCheck, regex-compat
+     }:
+     mkDerivation {
+       pname = "bamse";
+       version = "0.9.5";
+       sha256 = "1nykyywrqmf5nyszfg3acm0ydr9z8q78wc7bgabfmjwrnpq1dw68";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base com directory filepath HUnit old-time pretty process
+         QuickCheck regex-compat
+       ];
+       description = "A Windows Installer (MSI) generator framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bamstats" = callPackage
+    ({ mkDerivation, base, cmdargs, samtools }:
+     mkDerivation {
+       pname = "bamstats";
+       version = "0.4";
+       sha256 = "0z8k47h492818yvgxggqw4gcb6m91pw70kpibf9s384vxcbj6r24";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs samtools ];
+       homepage = "http://blog.malde.org/posts/bamstats.html";
+       description = "A program to extract various information from BAM alignmnet files";
+       license = "GPL";
+     }) {};
+
+  "bank-holidays-england" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck, time }:
+     mkDerivation {
+       pname = "bank-holidays-england";
+       version = "0.1.0.2";
+       sha256 = "0kjn5f76w9ff73blg8apxkhfsk1clv2i52gr4frgqn7l6f32yp22";
+       buildDepends = [ base containers time ];
+       testDepends = [ base containers hspec QuickCheck time ];
+       homepage = "https://bitbucket.org/davecturner/bank-holidays-england";
+       description = "Calculation of bank holidays in England and Wales";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "barchart" = callPackage
+    ({ mkDerivation, base, cmdargs, csv, diagrams, filepath }:
+     mkDerivation {
+       pname = "barchart";
+       version = "0.1.1.1";
+       sha256 = "160ja5sdk0zdqc0ncsyldp4rmhc2g4zfa6xc7vbzf8gpqrcmzvgy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs csv diagrams filepath ];
+       jailbreak = true;
+       homepage = "http://sebfisch.github.com/haskell-barchart";
+       description = "Creating Bar Charts in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "barcodes-code128" = callPackage
+    ({ mkDerivation, base, bytestring, HPDF }:
+     mkDerivation {
+       pname = "barcodes-code128";
+       version = "0.1.0";
+       sha256 = "14blxjhapn9g7cp7374f5s2nln7wgyb7a6z50gp04lnqf1aw6kmg";
+       buildDepends = [ base bytestring HPDF ];
+       description = "Generate Code 128 barcodes as PDFs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "barecheck" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, text, time }:
+     mkDerivation {
+       pname = "barecheck";
+       version = "0.2.0.8";
+       sha256 = "0hja4lrgv1faqaq41wzf1r88aw4pin8jh60k9n65yd0sxi1103a7";
+       buildDepends = [ base containers QuickCheck text time ];
+       homepage = "http://github.com/massysett/barecheck";
+       description = "QuickCheck implementations for common types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "barley" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , ghc, ghc-prim, html, plugins, snap-core, snap-server, text
+     , transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "barley";
+       version = "0.3.0.2";
+       sha256 = "0igz39bxlw4p0fna1wf6g791pk7r1m7hfyib5rgmsdahzkkp7v2h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath ghc ghc-prim html
+         plugins snap-core snap-server text transformers unix-compat
+       ];
+       jailbreak = true;
+       description = "A web based environment for learning and tinkering with Haskell";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "barrie" = callPackage
+    ({ mkDerivation, base, containers, filepath, glib, gtk }:
+     mkDerivation {
+       pname = "barrie";
+       version = "0.4.1";
+       sha256 = "10iraid6v333374mx9vinvaw6r1903ipa92xjxhl8qh4w7xmr9yv";
+       buildDepends = [ base containers filepath glib gtk ];
+       homepage = "http://thewhitelion.org/haskell/barrie";
+       description = "Declarative Gtk GUI library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "barrier" = callPackage
+    ({ mkDerivation, base, blaze-svg, bytestring, lens-family-core
+     , tasty, tasty-golden, template-haskell, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "barrier";
+       version = "0.1.0";
+       revision = "1";
+       sha256 = "1flhgx323dnqhh6gxmfv4m8qj2yysckrr9pzw0g7jisvk6pmcz4z";
+       editedCabalFile = "2f75bd296d54424250895888d24eaec14bbdb35b355306306b6f8632052473bc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-svg bytestring template-haskell text
+         unordered-containers
+       ];
+       testDepends = [
+         base bytestring lens-family-core tasty tasty-golden
+       ];
+       homepage = "https://github.com/philopon/barrier";
+       description = "Shield.io style badge generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "barrier-monad" = callPackage
+    ({ mkDerivation, base, comonad, mtl, transformers }:
+     mkDerivation {
+       pname = "barrier-monad";
+       version = "0.1.0.1";
+       sha256 = "014nc21wnrklsvy5z7w4v9p9psn6bl210l7v97gj42cv6a8jk5nm";
+       buildDepends = [ base comonad mtl transformers ];
+       jailbreak = true;
+       description = "Implementation of barrier monad, can use custom front/back type";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "base_4_8_0_0" = callPackage
+    ({ mkDerivation, ghc-prim, rts }:
+     mkDerivation {
+       pname = "base";
+       version = "4.8.0.0";
+       sha256 = "1mf5s7niw0zmm1db7sr6kdpln8drcy77fn44h6sspima8flwcp44";
+       buildDepends = [ ghc-prim rts ];
+       jailbreak = true;
+       description = "Basic libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "base-compat" = callPackage
+    ({ mkDerivation, base, ghc-prim, hspec, QuickCheck, setenv }:
+     mkDerivation {
+       pname = "base-compat";
+       version = "0.7.1";
+       sha256 = "1kw3s8j8wljbbjx9gyxd2z5yyhcyj87s867gd6r0afz9m08mm6qa";
+       buildDepends = [ base ghc-prim setenv ];
+       testDepends = [ base hspec QuickCheck ];
+       description = "A compatibility layer for base";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "base-io-access" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "base-io-access";
+       version = "0.4.0.0";
+       sha256 = "0d0i8ndh2j42qf8ns9wprkjiffy3hyybgvs9nbf67yd50di6p263";
+       buildDepends = [ base ];
+       homepage = "https://github.com/bheklilr/base-io-access";
+       description = "The IO functions included in base delimited into small, composable classes";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "base-prelude" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "base-prelude";
+       version = "0.1.19";
+       sha256 = "00mk7zpm3yb804h0gngvpjxhb2a6nds8qb8mwpn80s20x72083wb";
+       buildDepends = [ base ];
+       homepage = "https://github.com/nikita-volkov/base-prelude";
+       description = "The most complete prelude formed from only the \"base\" package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "base-unicode-symbols" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "base-unicode-symbols";
+       version = "0.2.2.4";
+       sha256 = "1afc5pchd3vw33bmjbjygkd0l5zh7glbsx4bfyxfscpc1x1l3y52";
+       buildDepends = [ base ];
+       homepage = "http://haskell.org/haskellwiki/Unicode-symbols";
+       description = "Unicode alternatives for common functions and operators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "base16-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim }:
+     mkDerivation {
+       pname = "base16-bytestring";
+       version = "0.1.1.6";
+       sha256 = "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs";
+       buildDepends = [ base bytestring ghc-prim ];
+       homepage = "http://github.com/bos/base16-bytestring";
+       description = "Fast base16 (hex) encoding and decoding for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "base32-bytestring" = callPackage
+    ({ mkDerivation, base, bits-extras, bytestring, cpu, hspec
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "base32-bytestring";
+       version = "0.2.1.0";
+       sha256 = "0z0q3fw3jzprgxmq9b2iz98kf4hwl3nydrzlaiwk81aplisfdgkl";
+       buildDepends = [ base bits-extras bytestring cpu ];
+       testDepends = [ base bytestring hspec QuickCheck ];
+       homepage = "https://github.com/pxqr/base32-bytestring";
+       description = "Fast base32 and base32hex codec for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "base58-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, quickcheck-assertions
+     , quickcheck-instances, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "base58-bytestring";
+       version = "0.1.0";
+       sha256 = "1ls05nzswjr6aw0wwk3q7cpv1hf0lw7vk16a5khm6l21yfcgbny2";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base bytestring quickcheck-assertions quickcheck-instances tasty
+         tasty-quickcheck
+       ];
+       homepage = "https://bitbucket.org/s9gf4ult/base58-bytestring";
+       description = "Implementation of BASE58 transcoding for ByteStrings";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "base58address" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, cryptohash
+     , QuickCheck, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "base58address";
+       version = "0.4";
+       sha256 = "0z15x9wx962ywkmh5lzfg4kq2jjmyzncbpayx2lkjnpdra4xgz7a";
+       buildDepends = [ base binary bytestring containers cryptohash ];
+       testDepends = [
+         base binary bytestring containers cryptohash QuickCheck
+         test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/singpolyma/base58address";
+       description = "Parsing and serialization for Base58 addresses (Bitcoin and Ripple)";
+       license = "unknown";
+     }) {};
+
+  "base64-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "base64-bytestring";
+       version = "1.0.0.1";
+       sha256 = "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base bytestring containers HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/bos/base64-bytestring";
+       description = "Fast base64 encoding and decoding for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "base64-conduit" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, conduit
+     , hspec, QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "base64-conduit";
+       version = "1.0.0.1";
+       sha256 = "07zhvn3fy60q04a5g5mzhkl17rap9jlh00vb4f6565bjha2k16g9";
+       buildDepends = [ base base64-bytestring bytestring conduit ];
+       testDepends = [
+         base base64-bytestring bytestring conduit hspec QuickCheck
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Base64-encode and decode streams of bytes. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "base64-string" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "base64-string";
+       version = "0.2";
+       sha256 = "0pkhrimabacsjalzq0y3a197fqfbspsbv8xszzg4vbb1fb59dj1y";
+       buildDepends = [ base ];
+       homepage = "http://urchin.earth.li/~ian/cabal/base64-string/";
+       description = "Base64 implementation for String's";
+       license = "unknown";
+     }) {};
+
+  "bash" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , hxt-regex-xmlschema, mtl, SHA, shell-escape
+     }:
+     mkDerivation {
+       pname = "bash";
+       version = "0.1.8";
+       sha256 = "1wv7haxb4vvnh9i7y17m1d7qbpl92qjrnn022g6hyxbxzmpgsw60";
+       buildDepends = [
+         base binary bytestring containers hxt-regex-xmlschema mtl SHA
+         shell-escape
+       ];
+       homepage = "http://github.com/solidsnack/bash";
+       description = "Bash generation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "basic-lens" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "basic-lens";
+       version = "0.0.0";
+       revision = "1";
+       sha256 = "0qgd2066vgsrzglcmw1jd7lcrpxvrzch7bnyyfxzddwxj148mvnj";
+       editedCabalFile = "dcb1e49555431b94fedf161e3a2169213eea59167a34eb20b91be22baac9e170";
+       buildDepends = [ base ];
+       description = "Basic lens type and functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "basic-prelude" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hashable
+     , lifted-base, ReadArgs, safe, system-filepath, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "basic-prelude";
+       version = "0.3.12";
+       sha256 = "1qmwxd8wfszawhfncqhcnbc2h1a47jcqa4zj4pfwybhy3xnn0yns";
+       buildDepends = [
+         base bytestring containers hashable lifted-base ReadArgs safe
+         system-filepath text transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/snoyberg/basic-prelude";
+       description = "An enhanced core prelude; a common foundation for alternate preludes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "basic-sop" = callPackage
+    ({ mkDerivation, base, deepseq, generics-sop, QuickCheck, text }:
+     mkDerivation {
+       pname = "basic-sop";
+       version = "0.1.0.5";
+       sha256 = "0zmjd11jckaknkifyif4zq5833cs2kxpm98j43viqc09w63brcx3";
+       buildDepends = [ base deepseq generics-sop QuickCheck text ];
+       description = "Basic examples and functions for generics-sop";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "baskell" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, pretty, unix }:
+     mkDerivation {
+       pname = "baskell";
+       version = "0.1.1";
+       sha256 = "1vb74crz57i4qmjl8k3gxr2abz9rmpw7yl5sm1pggnlfy9wcm15l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers mtl parsec pretty unix ];
+       homepage = "http://www.cs.mu.oz.au/~bjpop/code.html";
+       description = "An interpreter for a small functional language";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "battlenet" = callPackage
+    ({ mkDerivation, aeson, base, containers, http-conduit, text }:
+     mkDerivation {
+       pname = "battlenet";
+       version = "0.2.0.0";
+       sha256 = "1nzli8n6lpa9jahwp3awvpafzfkx4j02bwanilh30sxfyp0mlxxa";
+       buildDepends = [ aeson base containers http-conduit text ];
+       homepage = "https://github.com/teozkr/hs-battlenet/";
+       description = "API client for Battle.Net";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "battlenet-yesod" = callPackage
+    ({ mkDerivation, base, battlenet, http-conduit, text, yesod-core }:
+     mkDerivation {
+       pname = "battlenet-yesod";
+       version = "0.2.0.0";
+       sha256 = "056z84rha1nwjij3am16vfp4nwgp7xzqrhkvrx9s8p1vivyb80yz";
+       buildDepends = [ base battlenet http-conduit text yesod-core ];
+       homepage = "https://github.com/teozkr/hs-battlenet/";
+       description = "Yesod integration for the battlenet package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "battleships" = callPackage
+    ({ mkDerivation, aeson, array, attoparsec, base, base64-bytestring
+     , blaze-svg, bytestring, cereal, colour, containers, cookie
+     , crypto-random, data-default, diagrams-lib, diagrams-svg
+     , fast-logger, filepath, hamlet, hjsmin, MonadRandom, mtl
+     , shakespeare-js, shakespeare-text, SimpleAES, template-haskell
+     , text, transformers, wai-extra, wai-handler-fastcgi, wai-logger
+     , word8, yaml, yesod, yesod-core, yesod-routes, yesod-static
+     }:
+     mkDerivation {
+       pname = "battleships";
+       version = "1.0.0";
+       sha256 = "1rg96qikd687wndwj0pgvzg2ln4vh7x304cnyiisci2ka9763cld";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array attoparsec base base64-bytestring blaze-svg bytestring
+         cereal colour containers cookie crypto-random data-default
+         diagrams-lib diagrams-svg fast-logger filepath hamlet hjsmin
+         MonadRandom mtl shakespeare-js shakespeare-text SimpleAES
+         template-haskell text transformers wai-extra wai-handler-fastcgi
+         wai-logger word8 yaml yesod yesod-core yesod-routes yesod-static
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/zrho/afp";
+       description = "A web-based implementation of battleships including an AI opponent";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bayes-stack" = callPackage
+    ({ mkDerivation, base, cereal, containers, deepseq, digamma
+     , enummapset, gamma, ghc-prim, logfloat, mtl, mwc-random, pretty
+     , random-fu, random-source, rvar, statistics, stm, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "bayes-stack";
+       version = "0.2.0.1";
+       sha256 = "1nz4lnnxdfgacnv6mjxsgq543zxmim4rxvxbpsfx8yypjp6lsx5l";
+       buildDepends = [
+         base cereal containers deepseq digamma enummapset gamma ghc-prim
+         logfloat mtl mwc-random pretty random-fu random-source rvar
+         statistics stm transformers vector
+       ];
+       homepage = "https://github.com/bgamari/bayes-stack";
+       description = "Framework for inferring generative probabilistic models with Gibbs sampling";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bbdb" = callPackage
+    ({ mkDerivation, base, mtl, parsec }:
+     mkDerivation {
+       pname = "bbdb";
+       version = "0.4";
+       sha256 = "18f07dg0f7z7b8qwmyrcl1c48mgmprnj97va33dahvm0p0iw2039";
+       buildDepends = [ base mtl parsec ];
+       homepage = "http://www.nadineloveshenry.com/haskell/database-bbdb.html";
+       description = "Ability to read, write, and examine BBDB files";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "bcrypt" = callPackage
+    ({ mkDerivation, base, bytestring, entropy }:
+     mkDerivation {
+       pname = "bcrypt";
+       version = "0.0.6";
+       sha256 = "032la7v7kp0k26s3lj006hgc7a99ylqpp5qi27jxnac10yjl5bi5";
+       buildDepends = [ base bytestring entropy ];
+       description = "Haskell bindings to the bcrypt password hash";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bdd" = callPackage
+    ({ mkDerivation, base, directory, HUnit, mtl, process
+     , test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "bdd";
+       version = "0.2.0.0";
+       sha256 = "17hwqksqkrriqrm7sx70jzmi3r8184p485y9i7cqbakdjapb5a4q";
+       buildDepends = [ base HUnit mtl transformers ];
+       testDepends = [
+         base directory HUnit mtl process test-framework
+         test-framework-hunit
+       ];
+       homepage = "http://github.com/humane-software/haskell-bdd";
+       description = "Behavior-Driven Development DSL";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bdelta" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "bdelta";
+       version = "0.1.1.1";
+       sha256 = "17zapldywid4xq0a6qdxh6hnk5igjjgplfydnr800xdpicicbrww";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/joeyadams/haskell-bytestring-delta";
+       description = "Simple, fast binary diff/patch";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bdo" = callPackage
+    ({ mkDerivation, aeson, base, network, text, url }:
+     mkDerivation {
+       pname = "bdo";
+       version = "1.0.1";
+       sha256 = "1mwc7l1n2gnw8yx5zphxlkgi6bkcw56qwifpy34wpa55x2lf6n82";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aeson base network text url ];
+       description = "Update CSS in the browser without reloading the page";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "beamable" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, ghc-prim
+     , integer-gmp, murmur-hash, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "beamable";
+       version = "0.1.1.1";
+       sha256 = "068d70ylk5b6jlg6j1c1nayb4a3mmf7r92blcgmdbjrz3ipqwg27";
+       buildDepends = [
+         base blaze-builder bytestring ghc-prim integer-gmp murmur-hash
+       ];
+       testDepends = [
+         base blaze-builder bytestring ghc-prim integer-gmp murmur-hash
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "Generic serializer/deserializer with compact representation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "beautifHOL" = callPackage
+    ({ mkDerivation, array, base, haskell98, mtl }:
+     mkDerivation {
+       pname = "beautifHOL";
+       version = "0.11";
+       sha256 = "15k41z1p8h0b677wba4mqkfszwggkrfcp3n5hbdvdjfiqyx2hbzi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base haskell98 mtl ];
+       homepage = "http://www.cs.indiana.edu/~lepike/pub_pages/holpp.html";
+       description = "A pretty-printer for higher-order logic";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bed-and-breakfast" = callPackage
+    ({ mkDerivation, array, base, binary, deepseq, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "bed-and-breakfast";
+       version = "0.4.3";
+       sha256 = "0183770vkb5r9srxqr3fa4s601g10bx07b05hjr3b3nvc0ab9f6z";
+       buildDepends = [ array base binary deepseq template-haskell ];
+       testDepends = [ base QuickCheck ];
+       homepage = "https://hackage.haskell.org/package/bed-and-breakfast";
+       description = "Efficient Matrix operations in 100% Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bein" = callPackage
+    ({ mkDerivation, base, bytestring, containers, convertible, Crypto
+     , directory, filepath, happstack-server, happstack-util, hdaemonize
+     , HDBC, HDBC-postgresql, hsyslog, mtl, network, old-locale, parsec
+     , process, random, stm, time, unix, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "bein";
+       version = "0.3.3";
+       sha256 = "1sq6z2a9bddqh0kys10g495bfj7pcyibsvhfxfl279z53va7d6ch";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers convertible Crypto directory filepath
+         happstack-server happstack-util hdaemonize HDBC HDBC-postgresql
+         hsyslog mtl network old-locale parsec process random stm time unix
+         utf8-string xhtml
+       ];
+       description = "Bein is a provenance and workflow management system for bioinformatics";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "benchmark-function" = callPackage
+    ({ mkDerivation, base, process, random, time }:
+     mkDerivation {
+       pname = "benchmark-function";
+       version = "0.1.0.0";
+       sha256 = "1cdbaf001m79xbpfdf3gg2z8jgyf25xqwrkg6y7da2mvk3127c5b";
+       buildDepends = [ base process random time ];
+       homepage = "xy30.com";
+       description = "Test the time it takes to run a haskell function";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "benchpress" = callPackage
+    ({ mkDerivation, base, mtl, time }:
+     mkDerivation {
+       pname = "benchpress";
+       version = "0.2.2.6";
+       sha256 = "19ygaf2g4yqkfbc6bw6fmf9jsymbj1iallzvl0zw3vjx860rchfg";
+       buildDepends = [ base mtl time ];
+       jailbreak = true;
+       homepage = "http://github.com/tibbe/benchpress";
+       description = "Micro-benchmarking with detailed statistics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bencode" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, parsec }:
+     mkDerivation {
+       pname = "bencode";
+       version = "0.5.0.1";
+       sha256 = "1zr2sa76s761qhrmh1aymjr6drp8vxads5xf42r63rfdrzm6l3yj";
+       buildDepends = [ base binary bytestring containers parsec ];
+       description = "Parser and printer for bencoded data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bencoding" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
+     , ghc-prim, hspec, mtl, pretty, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "bencoding";
+       version = "0.4.3.0";
+       sha256 = "0f6d3g88y7i4s5wa53771n0fbkbs4na8vpy51wk21b563smdcpcc";
+       buildDepends = [
+         attoparsec base bytestring deepseq ghc-prim mtl pretty text
+       ];
+       testDepends = [
+         attoparsec base bytestring containers ghc-prim hspec QuickCheck
+       ];
+       homepage = "https://github.com/cobit/bencoding";
+       description = "A library for encoding and decoding of BEncode data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "berkeleydb" = callPackage
+    ({ mkDerivation, base, binary, bytestring, db }:
+     mkDerivation {
+       pname = "berkeleydb";
+       version = "2008.10.31";
+       sha256 = "1qqzxi011xmb4b09r1j5x1b7slgrazh19csfilk4a9f91zvq6l3p";
+       buildDepends = [ base binary bytestring ];
+       extraLibraries = [ db ];
+       description = "Pretty BerkeleyDB v4 binding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) db;};
+
+  "berp" = callPackage
+    ({ mkDerivation, array, base, containers, directory
+     , extensible-exceptions, filepath, ghc, ghc-paths, ghc-prim
+     , haskeline, haskell-src-exts, language-python, monads-tf
+     , parseargs, process, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "berp";
+       version = "0.0.2";
+       sha256 = "066m1nyfwi1nivjmcnykjdypqzkm2zqfzb07zf6f9hiz9m4g6x09";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory extensible-exceptions filepath ghc
+         ghc-paths ghc-prim haskeline haskell-src-exts language-python
+         monads-tf parseargs process template-haskell transformers
+       ];
+       jailbreak = true;
+       homepage = "http://wiki.github.com/bjpop/berp/";
+       description = "An implementation of Python 3";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bert" = callPackage
+    ({ mkDerivation, async, base, binary, binary-conduit, bytestring
+     , conduit, conduit-extra, containers, mtl, network, parsec
+     , smallcheck, tasty, tasty-hunit, tasty-smallcheck, time, unix
+     , void
+     }:
+     mkDerivation {
+       pname = "bert";
+       version = "1.2.2.3";
+       sha256 = "1waq40hd9wqavzhnvfk1i6wjqkmfb4pl17h4acfzzyz8bj76alkq";
+       buildDepends = [
+         base binary binary-conduit bytestring conduit conduit-extra
+         containers mtl network parsec time unix void
+       ];
+       testDepends = [
+         async base binary bytestring containers network smallcheck tasty
+         tasty-hunit tasty-smallcheck
+       ];
+       homepage = "https://github.com/feuerbach/bert";
+       description = "BERT implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "besout" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "besout";
+       version = "0.2.0.1";
+       sha256 = "0bv68nn6ijf1wv57kwp4yj6s75g960pds0n9wihxwkr4hh5azls1";
+       buildDepends = [ base ];
+       description = "Extended GCD of polynomials over F_p[x]";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bet" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
+     , exceptions, HsOpenSSL, http-client-openssl, lens, mtl, pipes
+     , pipes-http, QuickCheck, semigroupoids, semigroups, test-framework
+     , test-framework-quickcheck2, test-framework-th, text, time
+     }:
+     mkDerivation {
+       pname = "bet";
+       version = "0.1.2.2";
+       sha256 = "1sk8sgfcywxr54g25ah978k0d1x263mzi69zbx5wk67bs4sqvmds";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bifunctors bytestring containers exceptions HsOpenSSL
+         http-client-openssl lens mtl pipes pipes-http semigroupoids
+         semigroups text time
+       ];
+       testDepends = [
+         base lens QuickCheck semigroups test-framework
+         test-framework-quickcheck2 test-framework-th
+       ];
+       homepage = "https://github.com/Noeda/bet/";
+       description = "Betfair API bindings. Bet on sports on betting exchanges.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "betacode" = callPackage
+    ({ mkDerivation, attoparsec, base, errors, hashable, hspec
+     , QuickCheck, smallcheck, text, text-icu
+     }:
+     mkDerivation {
+       pname = "betacode";
+       version = "0.1.0.0";
+       sha256 = "0ry42sp40234c83iw7di37j3jfjfbszxcv4mzgqc54b1693mjq7b";
+       buildDepends = [ attoparsec base errors hashable text text-icu ];
+       testDepends = [ base hspec QuickCheck smallcheck ];
+       description = "A codec for beta code (http://en.wikipedia.org/wiki/Beta_Code).";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "between" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "between";
+       version = "0.9.0.2";
+       sha256 = "0n3nx077hv10rwv2kl3n1a3v40sr1qzfj9jwb6cvd1l0zx42igw8";
+       buildDepends = [ base ];
+       homepage = "https://github.com/trskop/between";
+       description = "Function combinator \"between\" and derived combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bf-cata" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bf-cata";
+       version = "1.1";
+       sha256 = "0f8pyd2j24x574xs73zhadsd058ib217vd12snkqzg6vg9l7vgzw";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
+       license = "LGPL";
+     }) {};
+
+  "bff" = callPackage
+    ({ mkDerivation, base, bimap, category-extras, containers, derive
+     , haskell98, mtl, template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "bff";
+       version = "0.3.1.2";
+       sha256 = "1i5y7pki3hyhq2vyshzi40n7yx354p7wiflfig8qxc4h31nbwi2x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bimap category-extras containers derive haskell98 mtl
+         template-haskell unix
+       ];
+       jailbreak = true;
+       description = "Bidirectionalization for Free! (POPL'09)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bff-mono" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "bff-mono";
+       version = "0.2.3";
+       sha256 = "1qswfjrij01g7g85iiyxpvk1k5hgnf6ll7jcf6b33k6dawi3a4qr";
+       buildDepends = [ base containers mtl ];
+       homepage = "https://bitbucket.org/kztk/bff-mono/";
+       description = "\"Bidirectionalization for Free\" for Monomorphic Transformations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bgmax" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, time }:
+     mkDerivation {
+       pname = "bgmax";
+       version = "0.1.0.1";
+       sha256 = "0wg2dh3i50c4f1bc0csi3ppbz28scjfhcr0hqfd0cpfiaf79fs5s";
+       buildDepends = [ attoparsec base bytestring time ];
+       homepage = "http://github.com/jonpetterbergman/bgmax";
+       description = "Parse BgMax-files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bibtex" = callPackage
+    ({ mkDerivation, base, latex, parsec, utility-ht }:
+     mkDerivation {
+       pname = "bibtex";
+       version = "0.1.0.4";
+       sha256 = "0y6jf52361d225a1jynq7ysnwihid3qivsjqv2hbf0f8sayi8ic0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base latex parsec utility-ht ];
+       homepage = "http://www.haskell.org/haskellwiki/BibTeX";
+       description = "Parse, format and processing BibTeX files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bidirectionalization-combined" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, containers, directory, hint
+     , mtl, parsec, pretty, template-haskell, unix, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "bidirectionalization-combined";
+       version = "0.1.0.1";
+       sha256 = "0bclazwhg3ra7zv19xfx5rw2z3p8h8scw5r4m281524qzrkm9j6m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cgi containers directory hint mtl parsec pretty
+         template-haskell unix utf8-string xhtml
+       ];
+       homepage = "http://www.kb.ecei.tohoku.ac.jp/~kztk/b18n-combined/desc.html";
+       description = "Prototype Implementation of Combining Syntactic and Semantic Bidirectionalization (ICFP'10)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bidispec" = callPackage
+    ({ mkDerivation, base, bytestring, mtl }:
+     mkDerivation {
+       pname = "bidispec";
+       version = "0.1.3";
+       sha256 = "0y9hskhp1vcl92wrh3l7b1g6i7y9v4b06pl2qa9hhp9ladnvw7g4";
+       buildDepends = [ base bytestring mtl ];
+       description = "Specification of generators and parsers";
+       license = "LGPL";
+     }) {};
+
+  "bidispec-extras" = callPackage
+    ({ mkDerivation, base, bytestring, dataenc, mtl }:
+     mkDerivation {
+       pname = "bidispec-extras";
+       version = "0.1";
+       sha256 = "0insqi63q6gvz39l0k584w583cw9m85vdx5dhpyx9qbb5zxyb0rm";
+       buildDepends = [ base bytestring dataenc mtl ];
+       jailbreak = true;
+       description = "Extra helper functions for bidirectional specifications";
+       license = "LGPL";
+     }) {};
+
+  "bifunctors" = callPackage
+    ({ mkDerivation, base, semigroupoids, semigroups, tagged }:
+     mkDerivation {
+       pname = "bifunctors";
+       version = "4.2.1";
+       sha256 = "0zy4lz08r60h8lgrf67zqqrcslrnbmdi254ydv5mw69z57nnx3ng";
+       buildDepends = [ base semigroupoids semigroups tagged ];
+       homepage = "http://github.com/ekmett/bifunctors/";
+       description = "Bifunctors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "billboard-parser" = callPackage
+    ({ mkDerivation, base, directory, filepath, HarmTrace-Base, HUnit
+     , ListLike, mtl, parseargs, uu-parsinglib
+     }:
+     mkDerivation {
+       pname = "billboard-parser";
+       version = "1.0.0.1";
+       sha256 = "1jhiq5w4z7axlqqm6pyl1d3g1vh7ykyy2z69d9ma8qzgm6v72l05";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath HarmTrace-Base HUnit ListLike mtl parseargs
+         uu-parsinglib
+       ];
+       jailbreak = true;
+       homepage = "http://ddmal.music.mcgill.ca/billboard";
+       description = "A parser for the Billboard chord dataset";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "billeksah-forms" = callPackage
+    ({ mkDerivation, base, billeksah-pane, billeksah-services, Cabal
+     , containers, directory, filepath, glib, gtk, mtl, parsec, pretty
+     , transformers
+     }:
+     mkDerivation {
+       pname = "billeksah-forms";
+       version = "1.0.0";
+       sha256 = "094sq2kn0xfvy146i7r89vf1by90nqaj4ki1fk3i2rw9glrv25ms";
+       buildDepends = [
+         base billeksah-pane billeksah-services Cabal containers directory
+         filepath glib gtk mtl parsec pretty transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.leksah.org";
+       description = "Leksah library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "billeksah-main" = callPackage
+    ({ mkDerivation, base, billeksah-services, containers, directory
+     , filepath, mtl, parsec, plugins, pretty, transformers
+     }:
+     mkDerivation {
+       pname = "billeksah-main";
+       version = "1.0.0";
+       sha256 = "1dyg6qfvhzxh2d90gvb8j7djqa04c3aci7rfk3s1wdqz5rkxmnlx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base billeksah-services containers directory filepath mtl parsec
+         plugins pretty transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.leksah.org";
+       description = "Leksah plugin base";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "billeksah-main-static" = callPackage
+    ({ mkDerivation, base, billeksah-forms, billeksah-pane
+     , billeksah-services, containers, directory, filepath, leksah-dummy
+     , leksah-main, leksah-plugin-pane, mtl, parsec, pretty
+     , transformers
+     }:
+     mkDerivation {
+       pname = "billeksah-main-static";
+       version = "1.0.0";
+       sha256 = "1g4zldnza6s2xvkqar4rgqirs4p8j2j4ssacg9x0zzc4njzklj7y";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base billeksah-forms billeksah-pane billeksah-services containers
+         directory filepath leksah-dummy leksah-main leksah-plugin-pane mtl
+         parsec pretty transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.leksah.org";
+       description = "Leksah plugin base";
+       license = "LGPL";
+       broken = true;
+     }) { leksah-dummy = null;  leksah-main = null;
+          leksah-plugin-pane = null;};
+
+  "billeksah-pane" = callPackage
+    ({ mkDerivation, base, billeksah-services, containers, directory
+     , filepath, glib, gtk, mtl, parsec, pretty, time, transformers
+     }:
+     mkDerivation {
+       pname = "billeksah-pane";
+       version = "1.0.0";
+       sha256 = "1ckzjbdfi3y09qvq951xki3h7q3sah41j29mgpqk45rayzqmiavg";
+       buildDepends = [
+         base billeksah-services containers directory filepath glib gtk mtl
+         parsec pretty time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.leksah.org";
+       description = "Leksah library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "billeksah-services" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl, parsec
+     , pretty, transformers
+     }:
+     mkDerivation {
+       pname = "billeksah-services";
+       version = "1.0.0";
+       sha256 = "00bsbrsnclwnayqzs24c5fdz9r6ankbhnnkbkzyd1fxsl7lrziwn";
+       buildDepends = [
+         base containers directory filepath mtl parsec pretty transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.leksah.org";
+       description = "Leksah library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bimap" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "bimap";
+       version = "0.3.0";
+       sha256 = "1j9rrxzzggvajz8laf58nda9hgf5lqsqxxc556690yyliln0gii1";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/joelwilliamson/bimap";
+       description = "Bidirectional mapping between two key types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary_0_7_4_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers
+     , directory, filepath, HUnit, QuickCheck, random, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "binary";
+       version = "0.7.4.0";
+       sha256 = "0zpyg1m5ihpdlglddnprxhx3pql0h866x5mz4qzfn7ppma6ahccb";
+       buildDepends = [ array base bytestring containers ];
+       testDepends = [
+         array base bytestring Cabal containers directory filepath HUnit
+         QuickCheck random test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/kolmodin/binary";
+       description = "Binary serialisation for Haskell values using lazy ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-bits" = callPackage
+    ({ mkDerivation, base, binary, bytestring, QuickCheck, random
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "binary-bits";
+       version = "0.5";
+       sha256 = "1577bd5q4lhw024v4hfil10iyx7v4cf72ldhxb8xhm27i80lllqn";
+       buildDepends = [ base binary bytestring ];
+       testDepends = [
+         base binary bytestring QuickCheck random test-framework
+         test-framework-quickcheck2
+       ];
+       description = "Bit parsing/writing on top of binary";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-communicator" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mtl }:
+     mkDerivation {
+       pname = "binary-communicator";
+       version = "1.0.2.1";
+       sha256 = "02w5ybp5fdqwz1ffvfs3pfrpx67bzh75njgzr6iai1vrdyjisfkl";
+       buildDepends = [ base binary bytestring mtl ];
+       jailbreak = true;
+       description = "Flexible way to ease transmission of binary data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-conduit" = callPackage
+    ({ mkDerivation, base, binary, bytestring, conduit, hspec
+     , QuickCheck, quickcheck-assertions, resourcet, vector
+     }:
+     mkDerivation {
+       pname = "binary-conduit";
+       version = "1.2.3";
+       sha256 = "0ymhxyf754j1pki7ap2vay8f9j49rzsjzp5yr253sn5wpw3qg8fr";
+       buildDepends = [ base binary bytestring conduit resourcet vector ];
+       testDepends = [
+         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-derive" = callPackage
+    ({ mkDerivation, base, binary, ghc-prim }:
+     mkDerivation {
+       pname = "binary-derive";
+       version = "0.1.0";
+       sha256 = "1rb4fpx5hlq661md7nrpgpmi7jjdq3r1ky6q9vxl6f72h085acvl";
+       buildDepends = [ base binary ghc-prim ];
+       jailbreak = true;
+       description = "Automatic deriving of Binary using GHC.Generics";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "binary-file" = callPackage
+    ({ mkDerivation, base, bytestring, monads-tf, peggy
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "binary-file";
+       version = "0.15.24";
+       sha256 = "134iigqjwlkj85pdp95xl6ia6fxr9l516j9b0dpg3r0zqi1kzp7i";
+       buildDepends = [
+         base bytestring monads-tf peggy template-haskell
+       ];
+       homepage = "https://skami.iocikun.jp/haskell/packages/binary-file";
+       description = "read/write binary file";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "binary-generic" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-binary-ieee754, syb
+     , text
+     }:
+     mkDerivation {
+       pname = "binary-generic";
+       version = "0.2.1";
+       sha256 = "0c6gfa1wvrcw4frrqzrfnc5ydqlbs56jq7hnxgzg89mr510mfsgz";
+       buildDepends = [
+         base binary bytestring data-binary-ieee754 syb text
+       ];
+       homepage = "http://github.com/lpeterse/binary-generic";
+       description = "Generic binary serialisation using binary and syb";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-indexed-tree" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "binary-indexed-tree";
+       version = "0.1";
+       sha256 = "1csbmkwrcfcfydyl2ab6s5bz1fy4fgl14m63zdyi0vy3d17zbl4d";
+       buildDepends = [ array base ];
+       description = "Binary Indexed Trees (a.k.a. Fenwick Trees).";
+       license = "LGPL";
+     }) {};
+
+  "binary-list" = callPackage
+    ({ mkDerivation, base, binary, bytestring, deepseq, phantom-state
+     , transformers
+     }:
+     mkDerivation {
+       pname = "binary-list";
+       version = "1.1.0.2";
+       sha256 = "006a46yw1jcdw2yhpwimbjcpls0vrhzrhiylxh6vc136w2kb6qcd";
+       buildDepends = [
+         base binary bytestring deepseq phantom-state transformers
+       ];
+       description = "Lists of length a power of two";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-literal-qq" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "binary-literal-qq";
+       version = "1.0";
+       sha256 = "0kbxd2ryls1zhmfg831ls219fn58xa7dq1bca48v7n7075nmh1jm";
+       buildDepends = [ base template-haskell ];
+       description = "Extends Haskell with binary literals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-protocol" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mtl }:
+     mkDerivation {
+       pname = "binary-protocol";
+       version = "1.0";
+       sha256 = "1hn6jc4j20z8ni7rpcyamam898yl6jy7zinrhy2rdjvx0p5br13h";
+       buildDepends = [ base binary bytestring mtl ];
+       jailbreak = true;
+       homepage = "http://github.com/gcross/binary-protocol";
+       description = "Monad to ease implementing a binary network protocol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-protocol-zmq" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mtl, zeromq-haskell }:
+     mkDerivation {
+       pname = "binary-protocol-zmq";
+       version = "0.2";
+       sha256 = "14jap6kc1jbr3i010qg2z8d0li09d3a88fwzwrlb750pn67x7amy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring mtl zeromq-haskell ];
+       homepage = "http://github.com/NicolasT/binary-protocol-zmq";
+       description = "Monad to ease implementing a binary network protocol over ZeroMQ";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "binary-search" = callPackage
+    ({ mkDerivation, base, containers, directory, doctest, filepath
+     , hspec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "binary-search";
+       version = "0.1";
+       sha256 = "02s81jpysgqnnk8c45y9xc2fhy59mm1k2wskrl4hzhdjlp4c65f3";
+       buildDepends = [ base containers ];
+       testDepends = [ base directory doctest filepath hspec QuickCheck ];
+       description = "Binary and exponential searches";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-shared" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, mtl }:
+     mkDerivation {
+       pname = "binary-shared";
+       version = "0.8.3";
+       sha256 = "1clqq0rqjw1v7y6glkjnfyga5gxh768flyw617g47z0qa181c0c3";
+       buildDepends = [ base binary bytestring containers mtl ];
+       homepage = "http://www.leksah.org";
+       description = "Sharing for the binary package";
+       license = "GPL";
+     }) {};
+
+  "binary-state" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, mtl }:
+     mkDerivation {
+       pname = "binary-state";
+       version = "0.1.1";
+       sha256 = "06v3qxyl2mvwi3y29rxxf91b2vxvlh5gfznwlnzb4mxzd00aakgl";
+       buildDepends = [ base binary bytestring containers mtl ];
+       description = "Simple wrapper around Data.Binary, which adds StateT to Get/Put monads.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-store" = callPackage
+    ({ mkDerivation, base, binary, binary-list, binary-transform
+     , bytestring, bzlib, deepseq, QuickCheck, reinterpret-cast, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "binary-store";
+       version = "0.1.0.1";
+       sha256 = "1wjhc18zj6p5gy15y1b7gz0vlqdbwhmfyv82l55ggmzjv1qyv7rl";
+       buildDepends = [
+         base binary binary-list binary-transform bytestring bzlib deepseq
+         reinterpret-cast
+       ];
+       testDepends = [
+         base binary-list QuickCheck tasty tasty-quickcheck
+       ];
+       jailbreak = true;
+       description = "Format to store data using the binary transform";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { binary-transform = null;};
+
+  "binary-streams" = callPackage
+    ({ mkDerivation, base, binary, bytestring, Cabal
+     , cabal-test-quickcheck, io-streams, QuickCheck
+     }:
+     mkDerivation {
+       pname = "binary-streams";
+       version = "0.1.0.0";
+       sha256 = "1xaqjcyrimggq7al6wr304gw61dacr7ch29dkm9b3sp2lmwvf74i";
+       buildDepends = [ base binary bytestring io-streams ];
+       testDepends = [
+         base binary bytestring Cabal cabal-test-quickcheck io-streams
+         QuickCheck
+       ];
+       homepage = "http://github.com/jonpetterbergman/binary-streams";
+       description = "data serialization/deserialization io-streams library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "binary-strict" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl }:
+     mkDerivation {
+       pname = "binary-strict";
+       version = "0.4.8.2";
+       sha256 = "0cyrr45wpq5h4gg6qms54nmvhqpyj59d5bhlk316g4yjsf3484b7";
+       buildDepends = [ array base bytestring containers mtl ];
+       homepage = "https://github.com/idontgetoutmuch/binary-low-level";
+       description = "Binary deserialisation using strict ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binary-typed" = callPackage
+    ({ mkDerivation, base, binary, bytestring, murmur-hash, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "binary-typed";
+       version = "0.3";
+       sha256 = "12yzgcrj528pss4jk753xmcrzv2qm70dacqjnx7460bcdsmyd6zy";
+       buildDepends = [ base binary bytestring murmur-hash ];
+       testDepends = [
+         base binary bytestring tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/quchen/binary-typed";
+       description = "Type-safe binary serialization";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "binarydefer" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "binarydefer";
+       version = "1.2.2";
+       sha256 = "06q255kip3j31bmj01fqkikvjxbklvcaa1kv3al8v04nkqx6rg3p";
+       buildDepends = [ base ];
+       description = "Binary serialization with deferred loading";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bind-marshal" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
+     , monads-tf, mtl, numeric-prelude, random, stm, strict
+     , transformers, type-level-tf, unix
+     }:
+     mkDerivation {
+       pname = "bind-marshal";
+       version = "0.1";
+       sha256 = "13riawcdzwr97vmixvg2wf8aysxblzik2mvkrp2gqf9ywda9ksr6";
+       buildDepends = [
+         base bytestring containers deepseq ghc-prim monads-tf mtl
+         numeric-prelude random stm strict transformers type-level-tf unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/coreyoconnor/bind-marshal";
+       description = "Data marshaling library that uses type level equations to optimize buffering";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "binding-core" = callPackage
+    ({ mkDerivation, base, HTF, HUnit, QuickCheck, random, stm }:
+     mkDerivation {
+       pname = "binding-core";
+       version = "0.2.2";
+       sha256 = "0qr7nr9cksy2cx2h8g2d485797hvv67197c654va0xwadkj5iviz";
+       buildDepends = [ base stm ];
+       testDepends = [ base HTF HUnit QuickCheck random ];
+       homepage = "http://code.accursoft.com/binding";
+       description = "Data Binding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binding-gtk" = callPackage
+    ({ mkDerivation, base, binding-core, directory, gtk, mtl }:
+     mkDerivation {
+       pname = "binding-gtk";
+       version = "0.2.1";
+       sha256 = "0l68n13w1khfqkc791l9mcnk3cb0565a9ysfn7b3hh5cjx8zi7vr";
+       buildDepends = [ base binding-core gtk mtl ];
+       testDepends = [ base binding-core directory gtk ];
+       homepage = "http://code.accursoft.com/binding";
+       description = "Data Binding in Gtk2Hs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "binding-wx" = callPackage
+    ({ mkDerivation, base, binding-core, directory, stm, wx, wxcore }:
+     mkDerivation {
+       pname = "binding-wx";
+       version = "0.2.1";
+       sha256 = "07nbb6a0fmyhmx2dakkw4msxnv273hfcw3swdk3aczpfqlxd1r4i";
+       buildDepends = [ base binding-core stm wx wxcore ];
+       testDepends = [ base binding-core directory wx ];
+       homepage = "http://code.accursoft.com/binding";
+       description = "Data Binding in WxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bindings";
+       version = "0.1.2";
+       sha256 = "0zczf1yfjnfzdzv33j33vcc71zsf88a5qxsdmswxrpzika3rs6i0";
+       buildDepends = [ base ];
+       description = "Deprecated package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-DSL" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bindings-DSL";
+       version = "1.0.22";
+       sha256 = "0xkr1x3klpfwbh1yimah1dqmqcilifyblnf3kr6ay4gsvw74zkwr";
+       buildDepends = [ base ];
+       homepage = "https://github.com/jwiegley/bindings-dsl/wiki";
+       description = "FFI domain specific language, on top of hsc2hs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-EsounD" = callPackage
+    ({ mkDerivation, base, bindings-audiofile, bindings-DSL, esound }:
+     mkDerivation {
+       pname = "bindings-EsounD";
+       version = "0.1.0.1";
+       sha256 = "0fl7gdh60k7wj3bnn5hpgsi0kkji857xb47spii7mrip5p4m8pff";
+       buildDepends = [ base bindings-audiofile bindings-DSL ];
+       pkgconfigDepends = [ esound ];
+       homepage = "http://cielonegro.org/Bindings-EsounD.html";
+       description = "Low level bindings to EsounD (ESD; Enlightened Sound Daemon)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { esound = null;};
+
+  "bindings-GLFW" = callPackage
+    ({ mkDerivation, base, bindings-DSL, HUnit, libX11, libXcursor
+     , libXext, libXfixes, libXi, libXinerama, libXrandr, libXxf86vm
+     , mesa, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "bindings-GLFW";
+       version = "3.1.1.2";
+       sha256 = "1r9nny6873nzk8ij53byqad0hfni8f1ysrajm430867pizvyfj50";
+       buildDepends = [ base bindings-DSL ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       extraLibraries = [
+         libX11 libXcursor libXext libXfixes libXi libXinerama libXrandr
+         libXxf86vm mesa
+       ];
+       description = "Low-level bindings to GLFW OpenGL library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs.xlibs) libXcursor;
+          inherit (pkgs.xlibs) libXext;  inherit (pkgs.xlibs) libXfixes;
+          inherit (pkgs.xlibs) libXi;  inherit (pkgs.xlibs) libXinerama;
+          inherit (pkgs.xlibs) libXrandr;  inherit (pkgs.xlibs) libXxf86vm;
+          inherit (pkgs) mesa;};
+
+  "bindings-K8055" = callPackage
+    ({ mkDerivation, base, K8055D }:
+     mkDerivation {
+       pname = "bindings-K8055";
+       version = "0.1.2";
+       sha256 = "0daga3vh9x9gih25qgcsl0hafi4hw8h5x64ba6wbmywa9z3hrr20";
+       buildDepends = [ base ];
+       extraLibraries = [ K8055D ];
+       homepage = "https://github.com/jputcu/bindings-K8055";
+       description = "Bindings to Velleman K8055 dll";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { K8055D = null;};
+
+  "bindings-apr" = callPackage
+    ({ mkDerivation, apr-1, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-apr";
+       version = "0.1";
+       sha256 = "0fw71z74pv8dxw301iss66kmarhlgwj2lpsy0skmlqfkg98zc96k";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ apr-1 ];
+       jailbreak = true;
+       homepage = "http://cielonegro.org/Bindings-APR.html";
+       description = "Low level bindings to Apache Portable Runtime (APR)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { apr-1 = null;};
+
+  "bindings-apr-util" = callPackage
+    ({ mkDerivation, apr-util-1, base, bindings-apr, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-apr-util";
+       version = "0.1";
+       sha256 = "0sr041vpakklpf2mmy78wl5wl8yzfbwvsy07wlplmlh5rgjdm4wx";
+       buildDepends = [ base bindings-apr bindings-DSL ];
+       pkgconfigDepends = [ apr-util-1 ];
+       jailbreak = true;
+       homepage = "http://cielonegro.org/Bindings-APR.html";
+       description = "Low level bindings to Apache Portable Runtime Utility (APR Utility)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { apr-util-1 = null;};
+
+  "bindings-audiofile" = callPackage
+    ({ mkDerivation, audiofile, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-audiofile";
+       version = "0.1.0.2";
+       sha256 = "0ls0iy33i0b86fg7hx23s1d8ypa16bdiw3l8nmsni3zgnn67w6mj";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ audiofile ];
+       homepage = "http://cielonegro.org/Bindings-AudioFile.html";
+       description = "Low level bindings to audiofile";
+       license = stdenv.lib.licenses.publicDomain;
+     }) { inherit (pkgs) audiofile;};
+
+  "bindings-bfd" = callPackage
+    ({ mkDerivation, alex, array, base, bfd, containers, happy, opcodes
+     , unix
+     }:
+     mkDerivation {
+       pname = "bindings-bfd";
+       version = "1.2.0.0";
+       sha256 = "0c05zr3k0az2hfyfync8z2sgdxx6gskqdb1n548fjc986cx298q4";
+       buildDepends = [ array base containers unix ];
+       buildTools = [ alex happy ];
+       extraLibraries = [ bfd opcodes ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/bindings-bfd/";
+       description = "Bindings for libbfd, a library of the GNU `binutils'";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { bfd = null;  opcodes = null;};
+
+  "bindings-cctools" = callPackage
+    ({ mkDerivation, bindings-DSL, dttools }:
+     mkDerivation {
+       pname = "bindings-cctools";
+       version = "3.6.1.0.1.0.0.1";
+       sha256 = "1k0p0m09ndk6c42h3yy230q86fnm0hzr1zjr3871f9hapvnvzqr8";
+       buildDepends = [ bindings-DSL ];
+       extraLibraries = [ dttools ];
+       homepage = "http://bitbucket.org/badi/bindings-cctools";
+       description = "Bindings to the CCTools WorkQueue C library";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { dttools = null;};
+
+  "bindings-codec2" = callPackage
+    ({ mkDerivation, base, binary, bindings-DSL, bytestring, codec2
+     , split
+     }:
+     mkDerivation {
+       pname = "bindings-codec2";
+       version = "0.1.1.0";
+       revision = "1";
+       sha256 = "0mpb79djfqi0had6rx20jsgahdfv23bnp0i25lbxv8vg72m3wdnn";
+       editedCabalFile = "48e69a5b497247c96ab7a6ed3ff818bef596c712249819e63a84c4667ef5d0b1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bindings-DSL bytestring split ];
+       extraLibraries = [ codec2 ];
+       homepage = "https://github.com/relrod/bindings-codec2";
+       description = "Very low-level FFI bindings for Codec2";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { codec2 = null;};
+
+  "bindings-common" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bindings-common";
+       version = "1.3.4";
+       sha256 = "1zbm8v5xp4pay6h0y24ngf8nw96ab0zr754b9n2zczadiarccmcb";
+       buildDepends = [ base ];
+       description = "This package is obsolete. Look for bindings-DSL instead.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bindings-dc1394" = callPackage
+    ({ mkDerivation, base, bindings-DSL, c2hs, dc1394 }:
+     mkDerivation {
+       pname = "bindings-dc1394";
+       version = "0.2.1";
+       sha256 = "06xg2amlcqldb7h0xaw8dvzq65npirsibbgmbr5n8s59rwa6hfwq";
+       buildDepends = [ base bindings-DSL ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ dc1394 ];
+       homepage = "http://github.com/aleator/bindings-dc1394";
+       description = "Library for using firewire (iidc-1394) cameras";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { dc1394 = null;};
+
+  "bindings-directfb" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bindings-posix, directfb }:
+     mkDerivation {
+       pname = "bindings-directfb";
+       version = "0.1";
+       sha256 = "0mmba1h9in9xh590nmr1vb5ccqng3nwdc4q0b9d67v22cmc7fhpp";
+       buildDepends = [ base bindings-DSL bindings-posix ];
+       pkgconfigDepends = [ directfb ];
+       description = "Low level bindings to DirectFB";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) directfb;};
+
+  "bindings-eskit" = callPackage
+    ({ mkDerivation, array, base, bindings-DSL, eskit }:
+     mkDerivation {
+       pname = "bindings-eskit";
+       version = "0.0.1";
+       sha256 = "0j0fi74ky1qdvkgbapyq8fag2linawz3ndgzgi8lcci8lsby0n72";
+       buildDepends = [ array base bindings-DSL ];
+       extraLibraries = [ eskit ];
+       pkgconfigDepends = [ eskit ];
+       jailbreak = true;
+       homepage = "http://github.com/a1kmm/bindings-eskit";
+       description = "Bindings to ESKit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { eskit = null;};
+
+  "bindings-fann" = callPackage
+    ({ mkDerivation, base, bindings-DSL, fann }:
+     mkDerivation {
+       pname = "bindings-fann";
+       version = "0.0.2";
+       sha256 = "1hryjj9aabaxrcgmr3i6sklbyb58djzsrlssidgll3vb0wwcgbq7";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ fann ];
+       description = "Low level bindings to FANN neural network library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { fann = null;};
+
+  "bindings-friso" = callPackage
+    ({ mkDerivation, base, bindings-DSL, friso }:
+     mkDerivation {
+       pname = "bindings-friso";
+       version = "0.1.0.0";
+       sha256 = "0wg120qrqqf2g38ifjkwj5cc42sdcdn2lrs93wrdq9dd7kldn79c";
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ friso ];
+       description = "Low level bindings for friso";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { friso = null;};
+
+  "bindings-glib" = callPackage
+    ({ mkDerivation, base, bindings-DSL, glib }:
+     mkDerivation {
+       pname = "bindings-glib";
+       version = "0.1.5";
+       sha256 = "0jhifzbwbphlzz9ffv3pyjv27phvcvky1gczmi9kvfz761b9qgyx";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ glib ];
+       description = "Low level bindings to GLib";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) glib;};
+
+  "bindings-gobject" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bindings-glib, glib }:
+     mkDerivation {
+       pname = "bindings-gobject";
+       version = "0.4";
+       sha256 = "1r2cg06r068nfyppjs2kwfmam7vk5x0l4f865arrrgrqam3bs1av";
+       buildDepends = [ base bindings-DSL bindings-glib ];
+       pkgconfigDepends = [ glib ];
+       description = "Low level bindings supporting GObject and derived libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) glib;};
+
+  "bindings-gpgme" = callPackage
+    ({ mkDerivation, base, bindings-DSL, gpgme }:
+     mkDerivation {
+       pname = "bindings-gpgme";
+       version = "0.1.6";
+       sha256 = "0mwlb1fk852pk6an3ay9mgxmxqf6f6bzm965agm80yhr2ab3iqhq";
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ gpgme ];
+       homepage = "http://bitbucket.org/mauricio/bindings-gpgme";
+       description = "Project bindings-* raw interface to gpgme";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) gpgme;};
+
+  "bindings-gsl" = callPackage
+    ({ mkDerivation, base, bindings-DSL, gsl }:
+     mkDerivation {
+       pname = "bindings-gsl";
+       version = "0.2.1";
+       sha256 = "0yv0k6r2pd4bbq0qsf6wfx752qn0d2d0s3jfa633gy6sg97j2n3y";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ gsl ];
+       description = "Low level bindings to GNU GSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) gsl;};
+
+  "bindings-gts" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bindings-glib, gts }:
+     mkDerivation {
+       pname = "bindings-gts";
+       version = "0.1.1";
+       sha256 = "1niqkxw7wxircwgvd9z4q9j3jxswifhl0h88v3j35lbxhiz6v7kh";
+       buildDepends = [ base bindings-DSL bindings-glib ];
+       pkgconfigDepends = [ gts ];
+       description = "Low level bindings supporting GTS, the GNU Triangulated Surface Library";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) gts;};
+
+  "bindings-hamlib" = callPackage
+    ({ mkDerivation, base, bindings-DSL, hamlib }:
+     mkDerivation {
+       pname = "bindings-hamlib";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "1na9v5s5lqdnnj031zmqg3xfpsvy80gzr7qg0f3gsyyniww72xlz";
+       editedCabalFile = "1eea9735be1dd9f54d91406fbf56da41b8d68a3760ada5e4fc4caf0658c997c9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ hamlib ];
+       homepage = "https://github.com/relrod/hamlib-haskell";
+       description = "Hamlib bindings for Haskell";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) hamlib;};
+
+  "bindings-hdf5" = callPackage
+    ({ mkDerivation, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-hdf5";
+       version = "0.1";
+       sha256 = "0x6p1mwwnpcd5bd6iy4di11n7b45c4zp9d6l957mmhsyg24h2n79";
+       buildDepends = [ base bindings-DSL ];
+       description = "Project bindings-* raw interface to HDF5 library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bindings-levmar" = callPackage
+    ({ mkDerivation, base, bindings-DSL, blas, lapack }:
+     mkDerivation {
+       pname = "bindings-levmar";
+       version = "1.1.0.3";
+       sha256 = "1da9n88wwjpm3ph7q73niv3cslpa0h8r0lsyfl35arymxfqpb4c0";
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ blas lapack ];
+       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;  lapack = null;};
+
+  "bindings-libcddb" = callPackage
+    ({ mkDerivation, base, bindings-DSL, libcddb }:
+     mkDerivation {
+       pname = "bindings-libcddb";
+       version = "0.3";
+       sha256 = "1hygdr4w27igwc513vs7rc9i2xcmr1ndvbiwhkrdw2x0wsmz6yyy";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ libcddb ];
+       homepage = "http://bitbucket.org/mauricio/bindings-libcddb";
+       description = "Low level binding to libcddb";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libcddb;};
+
+  "bindings-libffi" = callPackage
+    ({ mkDerivation, base, bindings-DSL, libffi }:
+     mkDerivation {
+       pname = "bindings-libffi";
+       version = "0.3";
+       sha256 = "1321hr92nsa7fljxxir8waj7i42m8dvz76h693vp4n3lqll9hcf9";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ libffi ];
+       description = "Low level bindings to libffi";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libffi;};
+
+  "bindings-libftdi" = callPackage
+    ({ mkDerivation, base, bindings-DSL, libftdi, libusb }:
+     mkDerivation {
+       pname = "bindings-libftdi";
+       version = "0.1";
+       sha256 = "07kabkvdjiskika9vddrf9vhknld1x9s4m3b89d9m6l4gb2ln76i";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ libftdi libusb ];
+       description = "Low level bindings to libftdi";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libftdi;  inherit (pkgs) libusb;};
+
+  "bindings-librrd" = callPackage
+    ({ mkDerivation, base, bindings-DSL, librrd }:
+     mkDerivation {
+       pname = "bindings-librrd";
+       version = "0.2.0.1";
+       sha256 = "1dyhq06rs91g77c67lfnscn7l9fgbzikiqnv2d494jd60y1q8n8y";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ librrd ];
+       homepage = "http://cielonegro.org/Bindings-librrd.html";
+       description = "Low level bindings to RRDtool";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { librrd = null;};
+
+  "bindings-libstemmer" = callPackage
+    ({ mkDerivation, base, bindings-DSL, resourcet, stemmer
+     , transformers
+     }:
+     mkDerivation {
+       pname = "bindings-libstemmer";
+       version = "0.1.0.0";
+       sha256 = "03plarpy0fpv9anqnaqwcji3vij2qrxd4qmli77jb5npmax20r92";
+       buildDepends = [ base bindings-DSL resourcet transformers ];
+       extraLibraries = [ stemmer ];
+       description = "Binding for libstemmer with low level binding";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { stemmer = null;};
+
+  "bindings-libusb" = callPackage
+    ({ mkDerivation, base, bindings-DSL, libusb }:
+     mkDerivation {
+       pname = "bindings-libusb";
+       version = "1.4.5.0";
+       sha256 = "0xnx9p6wqbwiaqigdnf7x6vd0qq7w9wm0vxsh93adpb5wdpjza66";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ libusb ];
+       homepage = "https://github.com/basvandijk/bindings-libusb";
+       description = "Low level bindings to libusb";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libusb;};
+
+  "bindings-libv4l2" = callPackage
+    ({ mkDerivation, base, bindings-DSL, v4l2 }:
+     mkDerivation {
+       pname = "bindings-libv4l2";
+       version = "0.1";
+       sha256 = "0s31dh5g26nldb6aq6q4i6ypgajincw7n3d3vm838x3w320qvg2g";
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ v4l2 ];
+       homepage = "https://gitorious.org/hsv4l2";
+       description = "bindings to libv4l2 for Linux";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { v4l2 = null;};
+
+  "bindings-libzip" = callPackage
+    ({ mkDerivation, base, bindings-DSL, libzip }:
+     mkDerivation {
+       pname = "bindings-libzip";
+       version = "0.11";
+       sha256 = "0hqkp4hvav67xqjfwbik3i06vq8f78jjzf37ncl6wwcw5w65hhrj";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ libzip ];
+       homepage = "http://bitbucket.org/astanin/hs-libzip/";
+       description = "Low level bindings to libzip";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libzip;};
+
+  "bindings-linux-videodev2" = callPackage
+    ({ mkDerivation, base, bindings-DSL, ioctl }:
+     mkDerivation {
+       pname = "bindings-linux-videodev2";
+       version = "0.1";
+       sha256 = "1pqi8ks441m1s1md6nhjr7zhal5fv6s71xq4881zijd539qhq9dq";
+       buildDepends = [ base bindings-DSL ioctl ];
+       homepage = "https://gitorious.org/hsv4l2";
+       description = "bindings to Video For Linux Two (v4l2) kernel interfaces";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bindings-lxc" = callPackage
+    ({ mkDerivation, base, bindings-DSL, lxc }:
+     mkDerivation {
+       pname = "bindings-lxc";
+       version = "0.2.0.1";
+       sha256 = "0w61xzx8krr1pfa9ys7akpra2r0njziysm3ri08fb98g75hp9942";
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ lxc ];
+       homepage = "https://github.com/fizruk/bindings-lxc";
+       description = "Direct Haskell bindings to LXC (Linux containers) C API";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) lxc;};
+
+  "bindings-mmap" = callPackage
+    ({ mkDerivation, bindings-posix }:
+     mkDerivation {
+       pname = "bindings-mmap";
+       version = "1.0";
+       sha256 = "19qdf5z6mf8j8inlnax0nv1wiv4va27z4a303hpkbgda459093nd";
+       buildDepends = [ bindings-posix ];
+       description = "(deprecated) see bindings-posix instead";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-mpdecimal" = callPackage
+    ({ mkDerivation, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-mpdecimal";
+       version = "0.8.0.0";
+       sha256 = "18i68ivsrdndjpfnyq6dlmmkkx22v3rp619nm26af8ka3qai12j5";
+       buildDepends = [ base bindings-DSL ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/bindings-mpdecimal";
+       description = "bindings to mpdecimal library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bindings-nettle" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, hspec, HUnit
+     , nettle, QuickCheck, quickcheck-io
+     }:
+     mkDerivation {
+       pname = "bindings-nettle";
+       version = "0.2";
+       sha256 = "1pk2gwd5wbs1bhna5npwrzrvd6cxss8sbigsa8lsqsarh8mbd5sr";
+       buildDepends = [ base bindings-DSL ];
+       testDepends = [
+         base bytestring hspec HUnit QuickCheck quickcheck-io
+       ];
+       pkgconfigDepends = [ nettle ];
+       homepage = "http://floss.scru.org/bindings-nettle";
+       description = "bindings to nettle crypto library";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) nettle;};
+
+  "bindings-parport" = callPackage
+    ({ mkDerivation, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-parport";
+       version = "0.0.4";
+       sha256 = "1q404clpqzv0gik80ycipl94hvj27397z5cw1cs7b0yxlypllg3j";
+       buildDepends = [ base bindings-DSL ];
+       description = "parport bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-portaudio" = callPackage
+    ({ mkDerivation, base, bindings-DSL, portaudio }:
+     mkDerivation {
+       pname = "bindings-portaudio";
+       version = "0.1";
+       sha256 = "0wcxq300ijfkf4zc7p4xwsd9wzhnlss0kxjf04fka01mf9bh3ai2";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ portaudio ];
+       description = "Low-level bindings to portaudio library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) portaudio;};
+
+  "bindings-posix" = callPackage
+    ({ mkDerivation, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-posix";
+       version = "1.2.6";
+       sha256 = "1yza3qbf0f5gfpg79pb6xfpw37zg191nmxa4r6h9x4xb5na0rzff";
+       buildDepends = [ base bindings-DSL ];
+       description = "Low level bindings to posix";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-ppdev" = callPackage
+    ({ mkDerivation, base, bindings-DSL, ioctl }:
+     mkDerivation {
+       pname = "bindings-ppdev";
+       version = "0.0.3";
+       sha256 = "18px429hplpabfhapwasbdgw8ynfm3vr5rf81pp173j1z0bv4ygq";
+       buildDepends = [ base bindings-DSL ioctl ];
+       description = "PPDev bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-saga-cmd" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, directory, filepath
+     , process, text, unix
+     }:
+     mkDerivation {
+       pname = "bindings-saga-cmd";
+       version = "0.1.0.0";
+       sha256 = "14wcw62j6lmlx3dy3k0ssy7mc2q8y8p7r1gr6m9rszxb9r5h1b9r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers directory filepath process text unix
+       ];
+       homepage = "https://github.com/michelk/bindings-saga-cmd.hs";
+       description = "Wrapping saga_cmd";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "bindings-sane" = callPackage
+    ({ mkDerivation, base, bindings-DSL, saneBackends }:
+     mkDerivation {
+       pname = "bindings-sane";
+       version = "0.0.1";
+       sha256 = "0jxhc0x5hq6y7iznqlxbgnl37a7k8yki2ri475gyc158d47b0zm2";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ saneBackends ];
+       homepage = "http://floss.scru.org/bindings-sane";
+       description = "FFI bindings to libsane";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) saneBackends;};
+
+  "bindings-sc3" = callPackage
+    ({ mkDerivation, base, bindings-DSL, scsynth }:
+     mkDerivation {
+       pname = "bindings-sc3";
+       version = "0.4.1";
+       sha256 = "07vp6hzjjrbh3j152mq8f1i6xh9m2r20a555y03p9fzdfrb5kixd";
+       buildDepends = [ base bindings-DSL ];
+       extraLibraries = [ scsynth ];
+       homepage = "https://github.com/kaoskorobase/bindings-sc3/";
+       description = "Low-level bindings to the SuperCollider synthesis engine library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { scsynth = null;};
+
+  "bindings-sipc" = callPackage
+    ({ mkDerivation, base, sipc }:
+     mkDerivation {
+       pname = "bindings-sipc";
+       version = "1.1";
+       sha256 = "1r2akdkhw054k6vg9a7jpm9ck280lsfkizz7y6cqbn1hy463grkd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       extraLibraries = [ sipc ];
+       homepage = "https://github.com/justinethier/hs-bindings-sipc";
+       description = "Low level bindings to SIPC";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { sipc = null;};
+
+  "bindings-sophia" = callPackage
+    ({ mkDerivation, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-sophia";
+       version = "0.2.0.2";
+       sha256 = "0fiibm7nrsx9pzi2lvhhbw71bah6s22h3jvn417ng3lj6ghhzii6";
+       buildDepends = [ base bindings-DSL ];
+       description = "Low-level bindings to sophia library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-sqlite3" = callPackage
+    ({ mkDerivation, base, bindings-DSL, sqlite }:
+     mkDerivation {
+       pname = "bindings-sqlite3";
+       version = "1.0.3";
+       sha256 = "0f30a7xdx50gs7hdv16b3m2055f0ar5c2cani318iwympnrpgww1";
+       buildDepends = [ base bindings-DSL ];
+       pkgconfigDepends = [ sqlite ];
+       description = "Low level bindings to sqlite3";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) sqlite;};
+
+  "bindings-svm" = callPackage
+    ({ mkDerivation, base, bindings-DSL }:
+     mkDerivation {
+       pname = "bindings-svm";
+       version = "0.2.1";
+       sha256 = "1nnmyxn28qdfy2sclnxv2mf2d426vrzgs7f0vvqri6fkjnvmk11b";
+       buildDepends = [ base bindings-DSL ];
+       homepage = "http://github.com/tanimoto/bindings-svm";
+       description = "Low level bindings to libsvm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bindings-uname" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bindings-uname";
+       version = "0.1";
+       sha256 = "1lsw4dh5vgmfvrx62ns5kmngzlmjzbxkx43x5i2k5qlmzp1pa3hk";
+       buildDepends = [ base ];
+       description = "Low-level binding to POSIX uname(3)";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "bindings-yices" = callPackage
+    ({ mkDerivation, base, gmp, yices }:
+     mkDerivation {
+       pname = "bindings-yices";
+       version = "0.2";
+       sha256 = "13yfhx6krj59qij9yvcl4fr6znd28nbldbv0qfhf83h3h18araf9";
+       buildDepends = [ base ];
+       extraLibraries = [ gmp yices ];
+       description = "Bindings to the Yices theorem prover";
+       license = stdenv.lib.licenses.publicDomain;
+     }) { inherit (pkgs) gmp;  inherit (pkgs) yices;};
+
+  "binembed" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , dlist, filepath
+     }:
+     mkDerivation {
+       pname = "binembed";
+       version = "0.1.0.2";
+       sha256 = "0cabiww0iczgpk7rrf4iqy3vamq65w5m1r5y90117llr6w610rks";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory dlist filepath
+       ];
+       jailbreak = true;
+       homepage = "http://gitorious.org/binembed";
+       description = "Embed data into object files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "binembed-example" = callPackage
+    ({ mkDerivation, base, binembed, bytestring, containers, filepath
+     }:
+     mkDerivation {
+       pname = "binembed-example";
+       version = "0.1";
+       sha256 = "069caz3gzpnc9fm553yxj3jwn07svb0i34kfqw4vzlkkpzs5r5g4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binembed bytestring containers filepath ];
+       jailbreak = true;
+       homepage = "http://gitorious.org/binembed";
+       description = "Example project using binembed to embed data in object files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bio" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, mtl, old-time, parallel, parsec, process, QuickCheck
+     , random, tagsoup
+     }:
+     mkDerivation {
+       pname = "bio";
+       version = "0.5.3";
+       sha256 = "1vby3nbqbwza65jg5d0bmzh22i5s20cjbqdgaq9zasza7ywgkj22";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory mtl old-time
+         parallel parsec process QuickCheck random tagsoup
+       ];
+       jailbreak = true;
+       homepage = "http://biohaskell.org/Libraries/Bio";
+       description = "A bioinformatics library";
+       license = "LGPL";
+     }) {};
+
+  "bioace" = callPackage
+    ({ mkDerivation, base, bioalign, biocore, bytestring, parsec }:
+     mkDerivation {
+       pname = "bioace";
+       version = "0.0.1";
+       sha256 = "08k2w66gpysjk038pi50lc21gbn2dyp5z8ls0qhcmjqc59dn8hvg";
+       buildDepends = [ base bioalign biocore bytestring parsec ];
+       homepage = "https://patch-tag.com/r/dfornika/bioace/home";
+       description = "Library for reading ace assembly files";
+       license = "GPL";
+     }) {};
+
+  "bioalign" = callPackage
+    ({ mkDerivation, base, biocore, bytestring }:
+     mkDerivation {
+       pname = "bioalign";
+       version = "0.0.5";
+       sha256 = "006gg8ds6klrl9rc1csi247rf8gzlgn9mdi0jl4pjz5xmf0jw5dr";
+       buildDepends = [ base biocore bytestring ];
+       homepage = "https://patch-tag.com/r/dfornika/biophd/home";
+       description = "Data structures and helper functions for calculating alignments";
+       license = "GPL";
+     }) {};
+
+  "biocore" = callPackage
+    ({ mkDerivation, base, bytestring, stringable }:
+     mkDerivation {
+       pname = "biocore";
+       version = "0.3.1";
+       sha256 = "06ml9p144bv0c9hv6pkcvhdgc0vw0jxzbqb834ilr38kjmrpsar1";
+       buildDepends = [ base bytestring stringable ];
+       description = "A bioinformatics library";
+       license = "LGPL";
+     }) {};
+
+  "biofasta" = callPackage
+    ({ mkDerivation, base, biocore, bytestring }:
+     mkDerivation {
+       pname = "biofasta";
+       version = "0.0.3";
+       sha256 = "1l770sg2gcg7wl5yfrrk9nr7hgd5m0q158ad5nd8z7i5vsfah8b2";
+       buildDepends = [ base biocore bytestring ];
+       homepage = "https://patch-tag.com/r/dfornika/biofasta/home";
+       description = "Library for reading fasta sequence files";
+       license = "GPL";
+     }) {};
+
+  "biofastq" = callPackage
+    ({ mkDerivation, base, biocore, bytestring }:
+     mkDerivation {
+       pname = "biofastq";
+       version = "0.1";
+       sha256 = "0453cb2sw6x9hx3z7w3fvymwi0l0s86wlvi6vvsh0jcwas3iirbl";
+       buildDepends = [ base biocore bytestring ];
+       homepage = "http://biohaskell.org/";
+       description = "A library for reading FASTQ files";
+       license = "LGPL";
+     }) {};
+
+  "biophd" = callPackage
+    ({ mkDerivation, base, binary, biocore, bytestring, old-locale
+     , parsec, text, time
+     }:
+     mkDerivation {
+       pname = "biophd";
+       version = "0.0.6";
+       sha256 = "1206pa9ah473rvpj6yr769fwmjc3axl036ny3yzf52lhy6bcggbb";
+       buildDepends = [
+         base binary biocore bytestring old-locale parsec text time
+       ];
+       homepage = "https://github.com/dfornika/biophd/wiki";
+       description = "Library for reading phd sequence files";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "biopsl" = callPackage
+    ({ mkDerivation, base, biocore, bytestring, cmdargs
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "biopsl";
+       version = "0.4";
+       sha256 = "1v9vg9gnrf606raqlzcd15irg60v3cf5m0yy5qsdyxm24102bgmj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base biocore bytestring cmdargs unordered-containers
+       ];
+       homepage = "http://biohaskell.org/";
+       description = "Library and executables for working with PSL files";
+       license = "LGPL";
+     }) {};
+
+  "biosff" = callPackage
+    ({ mkDerivation, array, base, binary, biocore, bytestring, cmdargs
+     , mtl
+     }:
+     mkDerivation {
+       pname = "biosff";
+       version = "0.3.7.1";
+       sha256 = "1mxsqxcf5sh37gpfqil499i9n8wi3sk5sl2cx6x6agbc0n726bwq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary biocore bytestring cmdargs mtl
+       ];
+       homepage = "http://biohaskell.org/";
+       description = "Library and executables for working with SFF files";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "biostockholm" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base, biocore
+     , blaze-builder, blaze-builder-conduit, bytestring, conduit
+     , containers, deepseq, hspec, HUnit, QuickCheck, transformers
+     , zlib-conduit
+     }:
+     mkDerivation {
+       pname = "biostockholm";
+       version = "0.3.2";
+       sha256 = "13rzlb2s3y8vp969s8z1gxmiccvpgrv4yxpim4bjbyc2yblbbnk7";
+       buildDepends = [
+         attoparsec attoparsec-conduit base biocore blaze-builder
+         blaze-builder-conduit bytestring conduit containers deepseq
+       ];
+       testDepends = [
+         base biocore bytestring conduit containers hspec HUnit QuickCheck
+         transformers zlib-conduit
+       ];
+       jailbreak = true;
+       description = "Parsing and rendering of Stockholm files (used by Pfam, Rfam and Infernal)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bird" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, hack
+     , hack-handler-happstack, haskell98, MissingH, mtl, parsec, process
+     , rallod
+     }:
+     mkDerivation {
+       pname = "bird";
+       version = "0.0.19";
+       sha256 = "0w380dcpk8gp5cx24nh6xlnibd6pw93wmxcajl26p4kd5cxbgfqz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-default hack hack-handler-happstack
+         haskell98 MissingH mtl parsec process rallod
+       ];
+       homepage = "http://github.com/moonmaster9000/bird";
+       description = "A simple, sinatra-inspired web framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bit-array" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, loch-th
+     , numeric-qq, placeholders
+     }:
+     mkDerivation {
+       pname = "bit-array";
+       version = "0.1.0";
+       sha256 = "0v04drr3m3096shp70l4iwqzva45szjhfl1yzaqblvn49hky8kns";
+       buildDepends = [ base loch-th numeric-qq placeholders ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "https://github.com/nikita-volkov/bit-array";
+       description = "A bit array (aka bitset, bitmap, bit vector) API for numeric types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bit-vector" = callPackage
+    ({ mkDerivation, base, QuickCheck, tasty, tasty-quickcheck
+     , tasty-th, vector
+     }:
+     mkDerivation {
+       pname = "bit-vector";
+       version = "0.2.0";
+       sha256 = "1h3hm1akbj2qzl3df877hfgz3fanhvrj6czxvjbpcalpf3d6h5z1";
+       buildDepends = [ base vector ];
+       testDepends = [
+         base QuickCheck tasty tasty-quickcheck tasty-th vector
+       ];
+       homepage = "https://github.com/acfoltzer/bit-vector";
+       description = "Simple bit vectors for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bitarray" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "bitarray";
+       version = "0.0.1.1";
+       sha256 = "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj";
+       buildDepends = [ array base ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Mutable and immutable bit arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bitcoin-rpc" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
+     , containers, ghc-prim, HTTP, HUnit, mtl, network, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, unix, unordered-containers, watchdog
+     }:
+     mkDerivation {
+       pname = "bitcoin-rpc";
+       version = "0.5.0.1";
+       sha256 = "0bx54033w0yjb2isd7cvnd46qz3nqs7z6flw0mb1nkd81sdxbhp2";
+       buildDepends = [
+         aeson attoparsec base bytestring cereal containers ghc-prim HTTP
+         mtl network text unix unordered-containers watchdog
+       ];
+       testDepends = [
+         aeson attoparsec base bytestring cereal containers ghc-prim HTTP
+         HUnit mtl network QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text unix unordered-containers watchdog
+       ];
+       jailbreak = true;
+       description = "Library to communicate with the Satoshi Bitcoin daemon";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bitly-cli" = callPackage
+    ({ mkDerivation, base, Bitly, directory, filepath, regexpr }:
+     mkDerivation {
+       pname = "bitly-cli";
+       version = "0.1.2";
+       sha256 = "0g63lg3599clbn4xcg9kcak6hs4877dwj00607c5gyh5x4d2c21d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Bitly directory filepath regexpr ];
+       jailbreak = true;
+       homepage = "http://bitbucket.org/jetxee/hs-bitly/";
+       description = "A command line tool to access bit.ly URL shortener.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bitmap" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "bitmap";
+       version = "0.0.2";
+       sha256 = "1flrfbrsnlcal7qyvl1wb0p8c14w0mvvkmgs7d943jqnlh4gay5m";
+       buildDepends = [ base bytestring ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "A library for handling and manipulating bitmaps (rectangular pixel arrays)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bitmap-opengl" = callPackage
+    ({ mkDerivation, base, bitmap, OpenGL }:
+     mkDerivation {
+       pname = "bitmap-opengl";
+       version = "0.0.1.5";
+       sha256 = "1wq1p0vvif750gpyh2kq3agzwga3hx0fq28irbw5dgrz462dd9pv";
+       buildDepends = [ base bitmap OpenGL ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "OpenGL support for Data.Bitmap.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bitmaps" = callPackage
+    ({ mkDerivation, array, base, binary, bitmap, bytestring, cereal
+     , containers, monad-state, stb-image, string-class, tagged, zlib
+     }:
+     mkDerivation {
+       pname = "bitmaps";
+       version = "0.2.6.3";
+       sha256 = "1cbfbbyvmdlfwn6pjhxkd8f4ajkp9cm18apzmrqffrj58gmzr1p0";
+       buildDepends = [
+         array base binary bitmap bytestring cereal containers monad-state
+         stb-image string-class tagged zlib
+       ];
+       homepage = "https://github.com/bairyn/bitmaps";
+       description = "Bitmap library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bits" = callPackage
+    ({ mkDerivation, base, bytes, directory, doctest, filepath, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "bits";
+       version = "0.4";
+       sha256 = "12s5yk47y0zqzqiyaw9jchyl3crf1id9dk67m638b070d46k29p6";
+       buildDepends = [ base bytes mtl transformers ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/analytics/bits";
+       description = "Various bit twiddling and bitwise serialization primitives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bits-atomic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bits-atomic";
+       version = "0.1.3";
+       sha256 = "13fbakkwcdk63dm7r0mcsanm5mijp73c7x1kxpay2f03rxb39b70";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Atomic bit operations on memory locations for low-level synchronization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bits-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, hspec, HUnit, mtl }:
+     mkDerivation {
+       pname = "bits-conduit";
+       version = "0.2.0.0";
+       sha256 = "08hgl1pvwadnrgqcs1yl7lvqgh955swbscpay4chb097pqqggdrj";
+       buildDepends = [ base bytestring conduit mtl ];
+       testDepends = [ base bytestring conduit hspec HUnit mtl ];
+       jailbreak = true;
+       description = "Bitstream support for Conduit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bits-extras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bits-extras";
+       version = "0.1.3";
+       sha256 = "0sy9dksmdx0773bsn8yi5hw4qpgn16g8aqqj888w1x75cbsxr997";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       configureFlags = [ "--ghc-option=-lgcc_s" ];
+       description = "Efficient high-level bit operations not found in Data.Bits";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bitset" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, gmp, integer-gmp
+     , QuickCheck, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "bitset";
+       version = "1.4.8";
+       sha256 = "0h912i3wb6v8sx0c4mlp0j65l3yhpdsk3my8zhif2jls2sxns988";
+       buildDepends = [ base deepseq ghc-prim integer-gmp ];
+       testDepends = [ base QuickCheck tasty tasty-quickcheck ];
+       extraLibraries = [ gmp ];
+       jailbreak = true;
+       description = "A space-efficient set data structure";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) gmp;};
+
+  "bitspeak" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bindings-glib
+     , bindings-gobject, gtk, pango
+     }:
+     mkDerivation {
+       pname = "bitspeak";
+       version = "0.0.3";
+       sha256 = "02dyi59lp6blrvsc10ahjnra1vaz3kzb8h0jpk74k7n6flia8z1k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bindings-DSL bindings-glib bindings-gobject
+       ];
+       pkgconfigDepends = [ gtk pango ];
+       jailbreak = true;
+       description = "Proof-of-concept tool for writing using binary choices";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.gnome) gtk;  inherit (pkgs.gnome) pango;};
+
+  "bitstream" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bytestring, QuickCheck
+     , vector
+     }:
+     mkDerivation {
+       pname = "bitstream";
+       version = "0.2.0.4";
+       sha256 = "1j00r6jv9yp0h476gz7yalrlnxhkrdrl1w73d3zl98kyf207q2sy";
+       buildDepends = [ base base-unicode-symbols bytestring vector ];
+       testDepends = [
+         base base-unicode-symbols bytestring QuickCheck vector
+       ];
+       homepage = "https://github.com/phonohawk/bitstream";
+       description = "Fast, packed, strict and lazy bit streams with stream fusion";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "bitstring" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "bitstring";
+       version = "0.0.0";
+       sha256 = "1ix2x4v76wq5148k1aax69cf8sk14cd0z362dz1d2qmj9qxsnsw8";
+       buildDepends = [ base bytestring ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Lazy bit strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bittorrent" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, base32-bytestring
+     , base64-bytestring, bencoding, binary, binary-conduit, bits-extras
+     , BoundedChan, bytestring, cereal, cereal-conduit, conduit
+     , containers, cryptohash, data-default, deepseq, directory, entropy
+     , filepath, hashable, hspec, HTTP, IntervalMap, intset, krpc, lens
+     , mmap, mtl, network, network-conduit, old-locale, pretty
+     , pretty-class, QuickCheck, quickcheck-instances, resourcet
+     , SafeSemaphore, split, stm, text, time, transformers
+     , unordered-containers, urlencoded, vector
+     }:
+     mkDerivation {
+       pname = "bittorrent";
+       version = "0.0.0.3";
+       sha256 = "155bbqqn33mlavvcm6xfxs4dqij66jfhqxjmrjkyxvzd36yz0ann";
+       buildDepends = [
+         aeson base base16-bytestring base32-bytestring base64-bytestring
+         bencoding binary binary-conduit bits-extras BoundedChan bytestring
+         cereal cereal-conduit conduit containers cryptohash data-default
+         deepseq directory entropy filepath hashable HTTP IntervalMap intset
+         krpc lens mmap mtl network network-conduit old-locale pretty
+         pretty-class resourcet SafeSemaphore split stm text time
+         transformers unordered-containers urlencoded vector
+       ];
+       testDepends = [
+         aeson base bencoding bytestring cereal directory filepath hspec
+         network QuickCheck quickcheck-instances text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/cobit/bittorrent";
+       description = "Bittorrent protocol implementation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bitvec" = callPackage
+    ({ mkDerivation, base, HUnit, primitive, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "bitvec";
+       version = "0.1.0.1";
+       sha256 = "0zgg72qpxgcgjrr2lr702abibnm79h6knb3jcwdjcxssgb6l70q4";
+       buildDepends = [ base primitive vector ];
+       testDepends = [
+         base HUnit primitive QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/mokus0/bitvec";
+       description = "Unboxed vectors of bits / dense IntSets";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "bitwise" = callPackage
+    ({ mkDerivation, array, base, bytestring, QuickCheck }:
+     mkDerivation {
+       pname = "bitwise";
+       version = "0.1.0.1";
+       sha256 = "0k3xzw6lcrffbv8hqgg4kaanizql8r888ap4bw22sh3l3rq7zasn";
+       buildDepends = [ array base bytestring ];
+       testDepends = [ base QuickCheck ];
+       jailbreak = true;
+       homepage = "https://gitorious.org/bitwise";
+       description = "fast multi-dimensional unboxed bit packed Bool arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bk-tree" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "bk-tree";
+       version = "0.1.1";
+       sha256 = "0av4gkh2vr9righ26hbagh8j30i8k4sp3af98lmwm5gf81vs5az4";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/bitonic/language-spelling";
+       description = "BK-tree implementation";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "bkr" = callPackage
+    ({ mkDerivation, aws, base, bytestring, directory, filepath, HDBC
+     , HDBC-sqlite3, hslogger, http-conduit, MissingH, pureMD5, random
+     , strict, text, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "bkr";
+       version = "0.1.2";
+       sha256 = "1zi429ny66qp3ywlqfg7y0xk472vxh4z572a4c8rbzpx5lgiypxs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aws base bytestring directory filepath HDBC HDBC-sqlite3 hslogger
+         http-conduit MissingH pureMD5 random strict text unix utf8-string
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ingesson/bkr";
+       description = "Backup utility for backing up to cloud storage services (S3 only right now)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bktrees" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "bktrees";
+       version = "0.3.1";
+       sha256 = "1d2iz48n0ayn0hi9xa110pxy1mv5a4m21rmbpvs6ki1a7cv4ghn9";
+       buildDepends = [ array base containers ];
+       description = "A set data structure with approximate searching";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bla" = callPackage
+    ({ mkDerivation, base, haskell98, unix }:
+     mkDerivation {
+       pname = "bla";
+       version = "2009.10.20";
+       sha256 = "1zb076m4673jmvzazwjjmlw3nrnw0j22hiim6r90014sqcpb6xhp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 unix ];
+       homepage = "http://github.com/nfjinjing/bla";
+       description = "a stupid cron";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "black-jewel" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, directory
+     , download, haskeline, HTTP, hxt, network, process, QuickCheck
+     , safe, tagsoup, transformers, zlib
+     }:
+     mkDerivation {
+       pname = "black-jewel";
+       version = "0.0.0.1";
+       sha256 = "1ki6kdmc5ss0dp7jrhv9zx9a93f2p38q7i57n0y94awyv5772yla";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring directory download haskeline HTTP hxt
+         network process safe tagsoup transformers zlib
+       ];
+       testDepends = [ base QuickCheck ];
+       homepage = "http://git.kaction.name/black-jewel";
+       description = "The pirate bay client";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blacktip" = callPackage
+    ({ mkDerivation, base, bitwise, bytestring, deepseq
+     , deepseq-generics, hspec, locators, network-info, safe, split
+     , system-fileio, system-filepath, time
+     }:
+     mkDerivation {
+       pname = "blacktip";
+       version = "0.1.0.1";
+       sha256 = "12s05l348q6xlhrwhh2i5v04i9bglvb00vpy25j5axdv5k8nwn62";
+       buildDepends = [
+         base bitwise bytestring deepseq deepseq-generics locators
+         network-info safe split system-fileio system-filepath time
+       ];
+       testDepends = [ base hspec ];
+       homepage = "https://github.com/bitemyapp/blacktip";
+       description = "Decentralized, k-ordered unique ID generator";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "blakesum" = callPackage
+    ({ mkDerivation, base, bytestring, text, vector }:
+     mkDerivation {
+       pname = "blakesum";
+       version = "0.5";
+       sha256 = "15k3vf9jqcw1a9gyppkhn5ibj7ld8mb2irfhbwd3plj86xyxxa0g";
+       buildDepends = [ base bytestring text vector ];
+       jailbreak = true;
+       homepage = "https://github.com/killerswan/Haskell-BLAKE";
+       description = "The BLAKE SHA-3 candidate hashes, in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blakesum-demo" = callPackage
+    ({ mkDerivation, base, blakesum, bytestring, haskell98, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "blakesum-demo";
+       version = "0.5";
+       sha256 = "1d07005fd670p74vkyi9gg3wawyi21s37ww69fsrrgarf3i5p4m9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base blakesum bytestring haskell98 text vector ];
+       jailbreak = true;
+       homepage = "https://github.com/killerswan/Haskell-BLAKE";
+       description = "The BLAKE SHA-3 candidate hashes, in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blank-canvas" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring, colour
+     , containers, data-default-class, http-types, kansas-comet, scotty
+     , stm, text, transformers, vector, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "blank-canvas";
+       version = "0.5";
+       sha256 = "05kfyjp9vncyzsvq018ilb8vh7fyzbc06nlx35jk3dzj6i6x5bgs";
+       buildDepends = [
+         aeson base base64-bytestring bytestring colour containers
+         data-default-class http-types kansas-comet scotty stm text
+         transformers vector wai wai-extra warp
+       ];
+       homepage = "https://github.com/ku-fpg/blank-canvas/wiki";
+       description = "HTML5 Canvas Graphics Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blas" = callPackage
+    ({ mkDerivation, base, ieee, QuickCheck, storable-complex }:
+     mkDerivation {
+       pname = "blas";
+       version = "0.7.6";
+       sha256 = "1q6fkw2bsppymy5wi7mgkl09caij52xplw64786548z9i95r0bli";
+       buildDepends = [ base ieee QuickCheck storable-complex ];
+       jailbreak = true;
+       homepage = "http://github.com/patperry/blas";
+       description = "Bindings to the BLAS library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blas-hs" = callPackage
+    ({ mkDerivation, base, blas, storable-complex, vector }:
+     mkDerivation {
+       pname = "blas-hs";
+       version = "0.1.1.0";
+       sha256 = "11mhjvqjnap4lj70f6lxjrjrdlkw8gnmd1lz4cfkjawq4w4npq40";
+       buildDepends = [ base storable-complex ];
+       testDepends = [ base vector ];
+       extraLibraries = [ blas ];
+       homepage = "https://github.com/Rufflewind/blas-hs";
+       description = "Low-level Haskell bindings to Blas";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) blas;};
+
+  "blastxml" = callPackage
+    ({ mkDerivation, base, biocore, bytestring, parallel, tagsoup }:
+     mkDerivation {
+       pname = "blastxml";
+       version = "0.3.2";
+       sha256 = "0slqvv8729vlniwswwipw3yss9id6xvmd416kad1ij064g28j00c";
+       buildDepends = [ base biocore bytestring parallel tagsoup ];
+       homepage = "http://biohaskell.org/";
+       description = "Library for reading Blast XML output";
+       license = "LGPL";
+     }) {};
+
+  "blaze" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "blaze";
+       version = "0.0.2";
+       sha256 = "01n6cw3fjmlj5pmdy122ch4kbf6srvwlz356rr6nxfrm0ndcxp38";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blaze-bootstrap" = callPackage
+    ({ mkDerivation, base, blaze-html, text }:
+     mkDerivation {
+       pname = "blaze-bootstrap";
+       version = "0.1.0.0";
+       sha256 = "1q1gwjg8xfp20lrlrlkdprny7j437fsnm5c9p5rv4549nyam7prw";
+       buildDepends = [ base blaze-html text ];
+       homepage = "http://github.com/agrafix/blaze-bootstrap";
+       description = "Blaze helper functions for bootstrap pages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "blaze-builder" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "blaze-builder";
+       version = "0.3.3.4";
+       sha256 = "12xgmi8bc3h3cfk31rrfaklmwvyxgdwzwmxzw22yxd0dd8g11hg5";
+       buildDepends = [ base bytestring text ];
+       homepage = "http://github.com/meiersi/blaze-builder";
+       description = "Efficient buffered output";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-builder_0_4_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, utf8-string
+     }:
+     mkDerivation {
+       pname = "blaze-builder";
+       version = "0.4.0.1";
+       sha256 = "1id3w33x9f7q5m3xpggmvzw03bkp94bpfyz81625bldqgf3yqdn1";
+       buildDepends = [ base bytestring deepseq text ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text utf8-string
+       ];
+       homepage = "http://github.com/lpsmith/blaze-builder";
+       description = "Efficient buffered output";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-builder-conduit" = callPackage
+    ({ mkDerivation, base, conduit }:
+     mkDerivation {
+       pname = "blaze-builder-conduit";
+       version = "1.1.0";
+       sha256 = "0xxyn3lhcn1bkybhrl5dx68d0adf26ilf34gv0mxkwpfj7m7d3k3";
+       buildDepends = [ base conduit ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Convert streams of builders to streams of bytestrings. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-builder-enumerator" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, enumerator
+     , streaming-commons, transformers
+     }:
+     mkDerivation {
+       pname = "blaze-builder-enumerator";
+       version = "0.2.1.0";
+       revision = "1";
+       sha256 = "15mz4dfnngll61b1xv3hfazvzjfd8g9ym0hps1qiks1hl4c2kxah";
+       editedCabalFile = "28796d33301d22cfca6188f54699d9efd7721802bc5e9c88a394bec14c9c4fae";
+       buildDepends = [
+         base blaze-builder bytestring enumerator streaming-commons
+         transformers
+       ];
+       homepage = "https://github.com/meiersi/blaze-builder-enumerator";
+       description = "Enumeratees for the incremental conversion of builders to bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-from-html" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, tagsoup }:
+     mkDerivation {
+       pname = "blaze-from-html";
+       version = "0.3.2.1";
+       sha256 = "1li3zxrgwj5rgk894d9zwfxnx5dfjzkvjlcyck2g7s0awfp2kq4s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers directory filepath tagsoup ];
+       homepage = "http://jaspervdj.be/blaze";
+       description = "Tool to convert HTML to BlazeHtml code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-html_0_7_0_3" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-markup, bytestring
+     , containers, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "blaze-html";
+       version = "0.7.0.3";
+       sha256 = "1jn3vvrxb3ifxb5yzs76pjlk8c366xg1sab7qlw9a4kwmigvl6vx";
+       buildDepends = [ base blaze-builder blaze-markup bytestring text ];
+       testDepends = [
+         base blaze-builder blaze-markup bytestring containers HUnit
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       homepage = "http://jaspervdj.be/blaze";
+       description = "A blazingly fast HTML combinator library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-html" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-markup, bytestring
+     , containers, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "blaze-html";
+       version = "0.7.1.0";
+       sha256 = "0krvyik9hdizvyx3r499vah34b1jnnv4ivm9h1ij7rgh9xjw34ja";
+       buildDepends = [ base blaze-builder blaze-markup bytestring text ];
+       testDepends = [
+         base blaze-builder blaze-markup bytestring containers HUnit
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       homepage = "http://jaspervdj.be/blaze";
+       description = "A blazingly fast HTML combinator library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-html_0_8_0_2" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-markup, bytestring
+     , containers, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "blaze-html";
+       version = "0.8.0.2";
+       sha256 = "1h3z857kqj9h87zyi84pck2rnykfk7i4amlh0vkv5wws5zn9xs74";
+       buildDepends = [ base blaze-builder blaze-markup bytestring text ];
+       testDepends = [
+         base blaze-builder blaze-markup bytestring containers HUnit
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       jailbreak = true;
+       homepage = "http://jaspervdj.be/blaze";
+       description = "A blazingly fast HTML combinator library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-html-contrib" = callPackage
+    ({ mkDerivation, base, blaze-html, cgi, data-default, network, safe
+     , text
+     }:
+     mkDerivation {
+       pname = "blaze-html-contrib";
+       version = "0.2.2";
+       sha256 = "0a10vzbd5l32y716nmgc49rj2gpyavl8fl1z4qs5drx9adwj50cf";
+       buildDepends = [
+         base blaze-html cgi data-default network safe text
+       ];
+       homepage = "https://github.com/egonSchiele/blaze-html-contrib";
+       description = "Some contributions to add handy things to blaze html";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blaze-html-hexpat" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, hexpat, text }:
+     mkDerivation {
+       pname = "blaze-html-hexpat";
+       version = "0.1.0.0";
+       sha256 = "11bw5ywvi7dlz5inch3z0vlg936ch1rnp99bh4nmwskvszidd7kg";
+       buildDepends = [ base blaze-html bytestring hexpat text ];
+       jailbreak = true;
+       homepage = "https://github.com/jaspervdj/blaze-html-hexpat";
+       description = "A hexpat backend for blaze-html";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blaze-html-truncate" = callPackage
+    ({ mkDerivation, base, blaze-markup, bytestring, html-truncate
+     , tagsoup, text
+     }:
+     mkDerivation {
+       pname = "blaze-html-truncate";
+       version = "0.3.0.0";
+       sha256 = "1czjqxaik1c9ialdwh8inh5iajl87lrnfa9rxnidzvfhc7ks9zbl";
+       buildDepends = [
+         base blaze-markup bytestring html-truncate tagsoup text
+       ];
+       homepage = "http://github.com/mruegenberg/blaze-html-truncate";
+       description = "A truncator for blaze-html";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, bytestring-builder
+     , containers, data-default-class, doctest, QuickCheck, scientific
+     , tasty, tasty-quickcheck, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "blaze-json";
+       version = "0.2.1";
+       sha256 = "1jqrvv485qyscjppgq2kh6cvhd2lwwqq7gd69ynmrp3qllsc8x83";
+       buildDepends = [
+         base bytestring bytestring-builder containers data-default-class
+         text
+       ];
+       testDepends = [
+         aeson base doctest QuickCheck scientific tasty tasty-quickcheck
+         text unordered-containers vector
+       ];
+       homepage = "https://github.com/philopon/blaze-json";
+       description = "tiny library for encoding json";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "blaze-markup_0_6_2_0" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "blaze-markup";
+       version = "0.6.2.0";
+       sha256 = "034aqkvxw0g6ry4d82bkvxky7w6yx4q6bp1wn4ydj9rqw8yh6m08";
+       buildDepends = [ base blaze-builder bytestring text ];
+       testDepends = [
+         base blaze-builder bytestring containers HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       homepage = "http://jaspervdj.be/blaze";
+       description = "A blazingly fast markup combinator library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-markup" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "blaze-markup";
+       version = "0.6.3.0";
+       sha256 = "1x057jlp89js6xbbyp4ky7xf5wq1ckl516b8bzp4y3knz50jshll";
+       buildDepends = [ base blaze-builder bytestring text ];
+       testDepends = [
+         base blaze-builder bytestring containers HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       homepage = "http://jaspervdj.be/blaze";
+       description = "A blazingly fast markup combinator library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-markup_0_7_0_2" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "blaze-markup";
+       version = "0.7.0.2";
+       sha256 = "0p3jsl7ng3fapvbp431cm1bckdwjgc1kmijyvxlgxn1l90l8l1p4";
+       buildDepends = [ base blaze-builder bytestring text ];
+       testDepends = [
+         base blaze-builder bytestring containers HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       homepage = "http://jaspervdj.be/blaze";
+       description = "A blazingly fast markup combinator library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-svg" = callPackage
+    ({ mkDerivation, base, blaze-markup, mtl }:
+     mkDerivation {
+       pname = "blaze-svg";
+       version = "0.3.4.1";
+       sha256 = "1bfxl2jwr622kgf4gz4gqpdrvscciqpfyzy6qad8j7w633xg8vrp";
+       buildDepends = [ base blaze-markup mtl ];
+       homepage = "https://github.com/deepakjois/blaze-svg";
+       description = "SVG combinator library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-textual" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, double-conversion
+     , ghc-prim, integer-gmp, old-locale, QuickCheck, test-framework
+     , test-framework-quickcheck2, text, time, vector
+     }:
+     mkDerivation {
+       pname = "blaze-textual";
+       version = "0.2.0.9";
+       sha256 = "1gwy1pjnc2ikxfxn9c751rnydry1hmlfk13k29xnns9vwglf81f0";
+       buildDepends = [
+         base blaze-builder bytestring ghc-prim integer-gmp old-locale text
+         time vector
+       ];
+       testDepends = [
+         base blaze-builder bytestring double-conversion QuickCheck
+         test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/bos/blaze-textual";
+       description = "Fast rendering of common datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blaze-textual-native" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, ghc-prim
+     , integer-gmp, old-locale, text, time, vector
+     }:
+     mkDerivation {
+       pname = "blaze-textual-native";
+       version = "0.2.1.1";
+       sha256 = "1q3gdf4ljc5xhw8f72qkvi6insk2nwdfk28a00y1b58jmk8003sd";
+       buildDepends = [
+         base blaze-builder bytestring ghc-prim integer-gmp old-locale text
+         time vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/mailrank/blaze-textual";
+       description = "Fast rendering of common datatypes (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "blazeMarker" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup }:
+     mkDerivation {
+       pname = "blazeMarker";
+       version = "0.1.0.0";
+       sha256 = "03gx3ylxz7xa86ngi33dm347ni6a4mcq4fizlx3majpfdk5fs38c";
+       buildDepends = [ base blaze-html blaze-markup ];
+       description = "...";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "blink1" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "blink1";
+       version = "0.4";
+       sha256 = "0547wg4qk2xv5gzj1alaxk06j65dhmzhn6y48rjllyr4lc5bm2qj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base unix ];
+       description = "Control library for blink(1) LED from ThingM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blip" = callPackage
+    ({ mkDerivation, base, bliplib, bytestring, containers, filepath
+     , language-python, mtl, old-time, parseargs, pretty
+     }:
+     mkDerivation {
+       pname = "blip";
+       version = "0.2.1";
+       sha256 = "0ilzdjfaq8dzfla0kxgkqbjsba0kbgkz8w5bzlhl0fw6rnaa0hn7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bliplib bytestring containers filepath language-python mtl
+         old-time parseargs pretty
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bjpop/blip";
+       description = "Python to bytecode compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bliplib" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, mtl, pretty
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "bliplib";
+       version = "0.2.1";
+       sha256 = "0i5lh78yyj82g08ypyfp01kgc56p6c3nrl9fk49bp2yqpghv65qz";
+       buildDepends = [
+         base binary bytestring containers mtl pretty utf8-string
+       ];
+       homepage = "https://github.com/bjpop/blip";
+       description = "Support code for Blip";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blocking-transactions" = callPackage
+    ({ mkDerivation, base, containers, parallel }:
+     mkDerivation {
+       pname = "blocking-transactions";
+       version = "0.1.0.5";
+       sha256 = "00xlj503h6073f9sk7a1p2b66nw2lryyvxxbawwz030mjdb6hgps";
+       buildDepends = [ base containers parallel ];
+       homepage = "http://www.downstairspeople.org/git/blocking-transactions.git";
+       description = "Composable, blocking transactions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blogination" = callPackage
+    ({ mkDerivation, base, ConfigFile, directory, feed, filepath
+     , haskell98, higherorder, highlighting-kate, mtl, old-locale
+     , old-time, pandoc, regex-compat, time, utf8-string, xhtml, xml
+     }:
+     mkDerivation {
+       pname = "blogination";
+       version = "0.5";
+       sha256 = "0bdhcjiz2b4zavmixvrl5la91s9z5pra05xk52118cjk4dcfdzfg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile directory feed filepath haskell98 higherorder
+         highlighting-kate mtl old-locale old-time pandoc regex-compat time
+         utf8-string xhtml xml
+       ];
+       description = "Very simple static blog software";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bloodhound" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , directory, doctest, doctest-prop, filepath, hspec, http-client
+     , http-types, QuickCheck, semigroups, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "bloodhound";
+       version = "0.5.0.1";
+       sha256 = "1wvqj8fz3b6jvhmmi3calx6fsqjyvcpznks67bd0iiz9z0igh0ha";
+       buildDepends = [
+         aeson base bytestring conduit containers http-client http-types
+         semigroups text time vector
+       ];
+       testDepends = [
+         aeson base containers directory doctest doctest-prop filepath hspec
+         http-client http-types QuickCheck semigroups text time
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bitemyapp/bloodhound";
+       description = "ElasticSearch client library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bloomfilter" = callPackage
+    ({ mkDerivation, array, base, bytestring, deepseq, QuickCheck
+     , random, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "bloomfilter";
+       version = "2.0.0.0";
+       sha256 = "07fif8i5rinysli1mpi92k405kvw8va7w9v9w4wd5bylb87zy77f";
+       buildDepends = [ array base bytestring deepseq ];
+       testDepends = [
+         base bytestring QuickCheck random test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/bos/bloomfilter";
+       description = "Pure and impure Bloom Filter implementations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bloxorz" = callPackage
+    ({ mkDerivation, base, GLFW, OpenGL }:
+     mkDerivation {
+       pname = "bloxorz";
+       version = "0.1.2";
+       sha256 = "0cryvs5ia52dkc232cl2crhf0qq7ncir5c3zvrgsbzcc2hnmyrww";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLFW OpenGL ];
+       description = "OpenGL Logic Game";
+       license = "GPL";
+     }) {};
+
+  "bluetile" = callPackage
+    ({ mkDerivation, base, ConfigFile, containers, directory, filepath
+     , glade, gtk, mtl, process, random, regex-compat, unix, utf8-string
+     , X11, X11-xft, xmonad, xmonad-contrib
+     }:
+     mkDerivation {
+       pname = "bluetile";
+       version = "0.6";
+       sha256 = "13xfnx08xgbfppr4cqmrqj82w192ll4m1x4kmv5jdpk02yb4zqa2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile containers directory filepath glade gtk mtl process
+         random regex-compat unix utf8-string X11 X11-xft xmonad
+         xmonad-contrib
+       ];
+       homepage = "http://www.bluetile.org/";
+       description = "full-featured tiling for the GNOME desktop environment";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bluetileutils" = callPackage
+    ({ mkDerivation, base, gtk }:
+     mkDerivation {
+       pname = "bluetileutils";
+       version = "0.2";
+       sha256 = "1qna8rr50mmd90xp7pwhcknx12dv2n7w5pdsw28kpbxykljrszgm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gtk ];
+       jailbreak = true;
+       description = "Utilities for Bluetile";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "blunt" = callPackage
+    ({ mkDerivation, aeson, array, base, bytestring, clay, containers
+     , flow, haskell-src-exts, http-types, jmacro, lucid, pointful, text
+     , transformers, wai, wai-extra, wai-websockets, warp, websockets
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "blunt";
+       version = "0.0.16";
+       sha256 = "03pradwal8ncrpj7gin9ri753hsi78lpfj8zsihf26dli79g5vmk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base bytestring clay containers flow haskell-src-exts
+         http-types jmacro lucid pointful text transformers wai wai-extra
+         wai-websockets warp websockets wl-pprint-text
+       ];
+       homepage = "https://blunt.herokuapp.com";
+       description = "Point-free Haskell as a service";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bmp" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "bmp";
+       version = "1.2.5.2";
+       sha256 = "0f88f2ynm1fpzbjijy5fa8blfrdv42h5h28hfjlpd4fp0h96in5x";
+       buildDepends = [ base binary bytestring ];
+       homepage = "http://code.ouroborus.net/bmp";
+       description = "Read and write uncompressed BMP image files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "board-games" = callPackage
+    ({ mkDerivation, array, base, cgi, containers, html, httpd-shed
+     , network, QuickCheck, random, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "board-games";
+       version = "0.1.0.1";
+       sha256 = "12b5hzazqilwwj0535wrh6i9r6lxi7lbzl727470mvzlr8p8lkyz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base cgi containers html httpd-shed network random
+         transformers utility-ht
+       ];
+       testDepends = [
+         array base containers QuickCheck random transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/games/";
+       description = "Three games for inclusion in a web server";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bogre-banana" = callPackage
+    ({ mkDerivation, base, hogre, hois, monad-control, random
+     , reactive-banana
+     }:
+     mkDerivation {
+       pname = "bogre-banana";
+       version = "0.0.1";
+       sha256 = "0zlrm911sbszxyffz18yf64935iv8s2yk3v8v6cwjij69haryvwi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base hogre hois monad-control random reactive-banana
+       ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bool-extras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bool-extras";
+       version = "0.4.0";
+       sha256 = "008m43f04ncx2c24c241gzwjyyglw8rwpq2gsakqkw0nwz3czs61";
+       buildDepends = [ base ];
+       homepage = "http://tom.lokhorst.eu/bool-extras";
+       description = "A fold function for Bool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "boolean-list" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit }:
+     mkDerivation {
+       pname = "boolean-list";
+       version = "0.1.0.0";
+       sha256 = "0yr1szkaaz90nmawzrgfljv7hcd59xs7nr2fhc2rb4582crkykvp";
+       buildDepends = [ base bytestring HUnit ];
+       homepage = "http://xy30.com";
+       description = "convert numbers to binary coded lists";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "boolean-normal-forms" = callPackage
+    ({ mkDerivation, base, cond, containers, QuickCheck, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "boolean-normal-forms";
+       version = "0.0.0.1";
+       sha256 = "11y26whzibxkcfck83lcrmxl34j7qp374wj6nzx2k3l65sdqm2ic";
+       buildDepends = [ base cond containers ];
+       testDepends = [
+         base cond containers QuickCheck tasty tasty-quickcheck
+       ];
+       description = "Boolean normal form: NNF, DNF & CNF";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "boolexpr" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "boolexpr";
+       version = "0.1";
+       sha256 = "14v894clplpcc1visqn337p7vmacj5hgx41vr60pwvflmv98d8xn";
+       buildDepends = [ base parsec ];
+       description = "Boolean expressions with various representations and search queries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bools" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "bools";
+       version = "0.1.1";
+       sha256 = "0057303m23p81v60jcsc3p7n2rs2rzrvbg5m18pc0fk95q2q2rim";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "boolsimplifier" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "boolsimplifier";
+       version = "0.1.8";
+       sha256 = "13w2i7b2g9w5kzqnbjjdzf3r2dm7a4xxags02khhwlj1f8vsjvq9";
+       buildDepends = [ base containers ];
+       description = "Simplification tools for simple propositional formulas";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "boomange" = callPackage
+    ({ mkDerivation, base, containers, descrilo, directory, filepath
+     , simtreelo
+     }:
+     mkDerivation {
+       pname = "boomange";
+       version = "0.1.2.1";
+       sha256 = "1yjmnbldla5iha6vzslnd1sdaaknsgk4afrj5yjrib3w2v1rp2vx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers descrilo directory filepath simtreelo
+       ];
+       description = "A Bookmarks manager with a HTML generator";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "boomerang" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell, text }:
+     mkDerivation {
+       pname = "boomerang";
+       version = "1.4.5";
+       sha256 = "03iaasyg2idvq25wzzjk2yr9lyql7bcgmfkycy1cy4ms5dg91k6q";
+       buildDepends = [ base mtl template-haskell text ];
+       description = "Library for invertible parsing and printing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "boomslang" = callPackage
+    ({ mkDerivation, base, containers, data-accessor
+     , data-accessor-template, font-opengl-basic4x6, GLFW-b, MonadRandom
+     , mtl, OpenGL
+     }:
+     mkDerivation {
+       pname = "boomslang";
+       version = "0.0.4";
+       sha256 = "0yqqb4s5ld4fv7x17d5dp7z2dglrcmgb7fr4n8x4n2pysylxm9nh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers data-accessor data-accessor-template
+         font-opengl-basic4x6 GLFW-b MonadRandom mtl OpenGL
+       ];
+       jailbreak = true;
+       description = "Boomshine clone";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "borel" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bimap, cassava
+     , ceilometer-common, chevalier-common, configurator, containers
+     , either, errors, hslogger, hspec, lens, lens-properties, marquise
+     , mtl, multiset, network, network-uri, pipes, pipes-concurrency
+     , pipes-safe, QuickCheck, text, time, transformers
+     , unordered-containers, vaultaire-common, vector, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "borel";
+       version = "0.18.0";
+       sha256 = "0daayl70l8afpf6l4822nz2cqjy2k8zbrj89apipjbynsq543453";
+       buildDepends = [
+         aeson async attoparsec base bimap cassava ceilometer-common
+         chevalier-common configurator containers errors hslogger lens
+         marquise mtl multiset network network-uri pipes pipes-concurrency
+         pipes-safe text time transformers unordered-containers
+         vaultaire-common vector zeromq4-haskell
+       ];
+       testDepends = [
+         aeson async attoparsec base bimap cassava ceilometer-common
+         chevalier-common configurator containers either errors hslogger
+         hspec lens lens-properties marquise mtl multiset network
+         network-uri pipes pipes-concurrency pipes-safe QuickCheck text time
+         transformers unordered-containers vaultaire-common vector
+         zeromq4-haskell
+       ];
+       homepage = "https://github.com/anchor/borel-core";
+       description = "Metering System for OpenStack metrics provided by Vaultaire";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bot" = callPackage
+    ({ mkDerivation, arrows, base, Stream }:
+     mkDerivation {
+       pname = "bot";
+       version = "0.3";
+       sha256 = "0crs1c6v298zqkjzkdgicigx22gvp9xv7bjlynbyckvx0lrvfmrc";
+       buildDepends = [ arrows base Stream ];
+       homepage = "http://haskell.org/haskellwiki/Bot";
+       description = "bots for functional reactive programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "botpp" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "botpp";
+       version = "0.1";
+       sha256 = "0ir6h4zkj05na1gyf7h97s832jkphh33c9qjk2i290d0q9y8s4fw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Build tool for Lambdabot";
+       license = "GPL";
+     }) {};
+
+  "bound" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, bytes, cereal, comonad
+     , directory, doctest, filepath, hashable, hashable-extras
+     , prelude-extras, profunctors, transformers, vector
+     }:
+     mkDerivation {
+       pname = "bound";
+       version = "1.0.4";
+       sha256 = "17qnrjmqhx07cpzwd1z4lp2d42jx1lfxl6b86d65g4fd79miipky";
+       buildDepends = [
+         base bifunctors binary bytes cereal comonad hashable
+         hashable-extras prelude-extras profunctors transformers
+       ];
+       testDepends = [
+         base directory doctest filepath prelude-extras transformers vector
+       ];
+       homepage = "http://github.com/ekmett/bound/";
+       description = "Making de Bruijn Succ Less";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bound-gen" = callPackage
+    ({ mkDerivation, base, bound, monad-gen, mtl }:
+     mkDerivation {
+       pname = "bound-gen";
+       version = "0.1.0.2";
+       sha256 = "1il4vb497d0195mhvra5djkn3mbdzd8dmcnffpqh1pv1pj8n8hwp";
+       buildDepends = [ base bound monad-gen mtl ];
+       jailbreak = true;
+       description = "Unwrap Scope's with globally fresh values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bounded-tchan" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "bounded-tchan";
+       version = "0.2.3";
+       sha256 = "12c78dz3y1ly05hckd9pf0j4fpknk383qyb5yrhps4sc2m3i9k9w";
+       buildDepends = [ base stm ];
+       description = "Bounded Transactional channels (queues)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "boundingboxes" = callPackage
+    ({ mkDerivation, base, lens }:
+     mkDerivation {
+       pname = "boundingboxes";
+       version = "0.2.3";
+       sha256 = "0r3mffqxqadn8qklq3kr0ggirkficfj8ic1fxgki2zrc5jm4f2g8";
+       buildDepends = [ base lens ];
+       homepage = "https://github.com/fumieval/boundingboxes";
+       description = "A generic boundingbox for an arbitrary vector";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "boxes" = callPackage
+    ({ mkDerivation, base, QuickCheck, split }:
+     mkDerivation {
+       pname = "boxes";
+       version = "0.1.4";
+       sha256 = "1n7xiplzd3s1a39nizwjcgsh3wi2348mp21c3fk19v98ialfjgjf";
+       buildDepends = [ base split ];
+       testDepends = [ base QuickCheck split ];
+       description = "2D text pretty-printing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bpann" = callPackage
+    ({ mkDerivation, base, random, split }:
+     mkDerivation {
+       pname = "bpann";
+       version = "0.1.1";
+       sha256 = "02c8xyzs4kz9cx7ql48kq5cxf686vvd5mqrprkikynif9r4dk7w8";
+       buildDepends = [ base random split ];
+       description = "backpropagation neuronal network";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "brainfuck" = callPackage
+    ({ mkDerivation, array, base, mtl, unix }:
+     mkDerivation {
+       pname = "brainfuck";
+       version = "0.1";
+       sha256 = "0lsw62g4ir8idjjadsdf46p8mqd88mysn0b499bk3x5l5js858z3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base mtl unix ];
+       description = "Brainfuck interpreter";
+       license = "GPL";
+     }) {};
+
+  "brainfuck-monad" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "brainfuck-monad";
+       version = "0.4.0";
+       sha256 = "14534i070l6w886sjp91yp9bfc2is5z6y7wzm8b6w4j9l78pfgmz";
+       buildDepends = [ base ];
+       description = "BrainFuck monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "brainfuck-tut" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "brainfuck-tut";
+       version = "0.7.0.0";
+       sha256 = "19x8mg15mscfrj1ppm32rzk8hhm4a2v498aq7sl3kkihrhp19x6j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base ];
+       homepage = "https://gitlab.com/cpp.cabrera/brainfuck-tut";
+       description = "A simple BF interpreter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "breakout" = callPackage
+    ({ mkDerivation, base, haskgame, mtl, SDL }:
+     mkDerivation {
+       pname = "breakout";
+       version = "0.0.2";
+       sha256 = "04qs2r944jbb2i11dqlvrav8iaanrgp15jri0mq6nf8ccjldh3wr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskgame mtl SDL ];
+       homepage = "http://github.com/Peaker/breakout/tree/master";
+       description = "A simple Breakout game implementation";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "brians-brain" = callPackage
+    ({ mkDerivation, array, base, parallel, random, SDL }:
+     mkDerivation {
+       pname = "brians-brain";
+       version = "0.0.1";
+       sha256 = "0a9gzclnqb28mm5gf2iiiby30qa0pwlwz3c115sim4lxpq60qran";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base parallel random SDL ];
+       homepage = "http://github.com/willdonnelly/brians-brain";
+       description = "A Haskell implementation of the Brian's Brain cellular automaton";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "brillig" = callPackage
+    ({ mkDerivation, base, binary, cmdargs, containers, directory
+     , filepath, ListZipper, text
+     }:
+     mkDerivation {
+       pname = "brillig";
+       version = "0.3.1";
+       sha256 = "18gm24fd5ad6dgbqiwcs750rvq2v6lmclysd6acj2y8iybwcsg8n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary cmdargs containers directory filepath ListZipper text
+       ];
+       jailbreak = true;
+       description = "Simple part of speech tagger";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "broadcast-chan" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "broadcast-chan";
+       version = "0.1.0";
+       sha256 = "1dympzv8gwh31hd0x6ap29rm83rf2klkj34as2xjrayfs9kbp87s";
+       buildDepends = [ base ];
+       homepage = "https://github.com/merijn/broadcast-chan";
+       description = "Broadcast channel type that avoids 0 reader space leaks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "broccoli" = callPackage
+    ({ mkDerivation, base, containers, stm, time }:
+     mkDerivation {
+       pname = "broccoli";
+       version = "0.4.1.0";
+       sha256 = "084nil9rfs3xpp4rk3qlwf6gsaljm57g7divfzd88dk9np6q5iwh";
+       buildDepends = [ base containers stm time ];
+       description = "Small library for interactive functional programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bsd-sysctl" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bsd-sysctl";
+       version = "1.0.7";
+       sha256 = "18qs5s6sq6696w7y23fq6pd303j5bfh94lw86dz4z9hgdlmrx36y";
+       buildDepends = [ base ];
+       description = "Access to the BSD sysctl(3) interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bson" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cryptohash
+     , data-binary-ieee754, mtl, network, QuickCheck, test-framework
+     , test-framework-quickcheck2, text, time
+     }:
+     mkDerivation {
+       pname = "bson";
+       version = "0.3.1";
+       sha256 = "1kihsjws8sqb44gvilh1zxrqn2bml8gxq2bbanxqb7nr4ymwfkiv";
+       buildDepends = [
+         base binary bytestring cryptohash data-binary-ieee754 mtl network
+         text time
+       ];
+       testDepends = [
+         base binary bytestring cryptohash data-binary-ieee754 mtl network
+         QuickCheck test-framework test-framework-quickcheck2 text time
+       ];
+       homepage = "http://github.com/mongodb-haskell/bson";
+       description = "BSON documents are JSON-like objects with a standard binary encoding";
+       license = "unknown";
+     }) {};
+
+  "bson-generic" = callPackage
+    ({ mkDerivation, base, bson, ghc-prim, text }:
+     mkDerivation {
+       pname = "bson-generic";
+       version = "0.0.8";
+       sha256 = "0r1gd6jxwzqana2b3i3xm8mx66lq4zkcir11c3v78g9fjyyhy7dh";
+       buildDepends = [ base bson ghc-prim text ];
+       jailbreak = true;
+       description = "Generic functionality for BSON";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bson-generics" = callPackage
+    ({ mkDerivation, base, bson, ghc-prim }:
+     mkDerivation {
+       pname = "bson-generics";
+       version = "0.0.1";
+       sha256 = "03ifgmifk0dx6fzws1qlx3c1nslrkvwman5g3c4iag842bl03gxp";
+       buildDepends = [ base bson ghc-prim ];
+       jailbreak = true;
+       description = "Generics functionality for BSON";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bson-mapping" = callPackage
+    ({ mkDerivation, base, bson, compact-string-fix, template-haskell
+     , th-lift
+     }:
+     mkDerivation {
+       pname = "bson-mapping";
+       version = "0.1.4.1";
+       sha256 = "0k91rkyh7lmq2iw2kmkl3lbzx4c46yzb2fp9pkag8yd05na2k9za";
+       buildDepends = [
+         base bson compact-string-fix template-haskell th-lift
+       ];
+       description = "Mapping between BSON and algebraic data types";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bspack" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, mtl, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "bspack";
+       version = "0.0.4";
+       sha256 = "0nzw1cs3nxb55yj3sy5afr6kycbm7xk26xpl0gvysgrd6bs0p8pb";
+       buildDepends = [ base bytestring ghc-prim ];
+       testDepends = [
+         base bytestring mtl tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/NicolasDP/hs-bspack";
+       description = "A simple and fast bytestring packer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bsparse" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "bsparse";
+       version = "0.0.5";
+       sha256 = "12wn8jlqkb9d9vpdbwc3m288cgnr15cq4wv5fxlp7f10p3y42l2a";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/vincenthz/hs-bsparse";
+       description = "A simple unassuming parser for bytestring";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "btree-concurrent" = callPackage
+    ({ mkDerivation, array, base, base64-bytestring, bytestring, cereal
+     , containers, directory, filepath, hashable, mtl, QuickCheck
+     , random, snappy, stm, time, unix
+     }:
+     mkDerivation {
+       pname = "btree-concurrent";
+       version = "0.1.5";
+       sha256 = "1xgw3ki3vypyxxiyzfjajjx1vzavyn1v9445cgbqwrr0n0wpkqm6";
+       buildDepends = [
+         array base base64-bytestring bytestring cereal containers directory
+         filepath hashable mtl random snappy stm time
+       ];
+       testDepends = [
+         array base base64-bytestring bytestring cereal containers directory
+         filepath hashable mtl QuickCheck random snappy stm time unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/brinchj/btree-concurrent";
+       description = "A backend agnostic, concurrent BTree";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "btrfs" = callPackage
+    ({ mkDerivation, base, bytestring, time, unix }:
+     mkDerivation {
+       pname = "btrfs";
+       version = "0.1.1.1";
+       sha256 = "1k1b8x0p0q43872c4x5dma2hs9dzkvr7n2dnb3w29ha7f24k8g8z";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring time unix ];
+       homepage = "https://github.com/redneb/hs-btrfs";
+       description = "Bindings to the btrfs API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "buffer-builder" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
+     , deepseq, HUnit, mtl, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-th, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "buffer-builder";
+       version = "0.2.2.2";
+       sha256 = "1mqia6rjnz5as8qv780yhxn7iyw2bxh5fx2d83x7assr6vn2489w";
+       buildDepends = [
+         base bytestring mtl text unordered-containers vector
+       ];
+       testDepends = [
+         aeson attoparsec base bytestring criterion deepseq HUnit tasty
+         tasty-hunit tasty-quickcheck tasty-th text vector
+       ];
+       homepage = "https://github.com/chadaustin/buffer-builder";
+       description = "Library for efficiently building up buffers, one piece at a time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "buffer-builder-aeson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, buffer-builder
+     , bytestring, hashable, HUnit, integer-gmp, QuickCheck, scientific
+     , tasty, tasty-hunit, tasty-quickcheck, tasty-th, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "buffer-builder-aeson";
+       version = "0.2.0.3";
+       sha256 = "0i8jv5w016m8az6g809mf54wbkz1dci5w4c7w94rxl2xhsx7q98p";
+       buildDepends = [
+         aeson base buffer-builder bytestring integer-gmp scientific
+         unordered-containers vector
+       ];
+       testDepends = [
+         aeson attoparsec base buffer-builder bytestring hashable HUnit
+         QuickCheck scientific tasty tasty-hunit tasty-quickcheck tasty-th
+         text unordered-containers vector
+       ];
+       description = "Serialize Aeson values with Data.BufferBuilder";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bugzilla" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, connection
+     , containers, data-default, http-conduit, http-types, iso8601-time
+     , resourcet, text, time, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "bugzilla";
+       version = "0.2.1.1";
+       sha256 = "19ayjkaniksivm99lgl7bfjabig00y0gd3w9ssabksg7rfwajc5d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-builder bytestring connection containers
+         data-default http-conduit http-types iso8601-time resourcet text
+         time transformers unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/sethfowler/hsbugzilla";
+       description = "A Haskell interface to the Bugzilla native REST API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "buildable" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dlist, text }:
+     mkDerivation {
+       pname = "buildable";
+       version = "0.1.0.3";
+       sha256 = "1jrvgm2k6m8k9hj7h727pf357zydmhq1ndl1z39ag6294xd2rgpx";
+       buildDepends = [ base bytestring containers dlist text ];
+       description = "Typeclass for builders of linear data structures";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "buildbox" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, mtl
+     , old-locale, pretty, process, random, stm, time
+     }:
+     mkDerivation {
+       pname = "buildbox";
+       version = "2.1.6.1";
+       sha256 = "15ddnbnm6wqm5dqf6f2qmxlxy5az0sxvml4rwghivcj0609lfc6i";
+       buildDepends = [
+         base bytestring containers directory mtl old-locale pretty process
+         random stm time
+       ];
+       jailbreak = true;
+       homepage = "http://code.ouroborus.net/buildbox";
+       description = "Rehackable components for writing buildbots and test harnesses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "buildbox-tools" = callPackage
+    ({ mkDerivation, base, buildbox, parseargs }:
+     mkDerivation {
+       pname = "buildbox-tools";
+       version = "1.5.3.1";
+       sha256 = "0j1fsdmaxnl1zxgvxilznw5jfaaphij6wnhllb64f59kvhpqmy4f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base buildbox parseargs ];
+       jailbreak = true;
+       homepage = "http://code.ouroborus.net/buildbox";
+       description = "Tools for working with buildbox benchmark result files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "buildwrapper" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring, Cabal
+     , cmdargs, conduit, conduit-extra, containers, cpphs, deepseq
+     , directory, dynamic-cabal, filepath, ghc, ghc-paths, ghc-pkg-lib
+     , haskell-src-exts, HTF, HUnit, mtl, old-time, process, regex-tdfa
+     , syb, text, time, transformers, unordered-containers, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "buildwrapper";
+       version = "0.9.1";
+       sha256 = "1icm2vqimza6lslav01d11xq4v0p6dpymvx4md48ch8qbhdrn8r3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async attoparsec base bytestring Cabal cmdargs conduit
+         conduit-extra containers cpphs deepseq directory dynamic-cabal
+         filepath ghc ghc-paths ghc-pkg-lib haskell-src-exts mtl old-time
+         process regex-tdfa syb text time transformers unordered-containers
+         utf8-string vector
+       ];
+       testDepends = [
+         aeson async attoparsec base bytestring Cabal conduit conduit-extra
+         containers directory dynamic-cabal filepath ghc-pkg-lib HTF HUnit
+         mtl old-time process text time transformers unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/JPMoresmau/BuildWrapper";
+       description = "A library and an executable that provide an easy API for a Haskell IDE";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bullet" = callPackage
+    ({ mkDerivation, base, bullet, c2hs, vect }:
+     mkDerivation {
+       pname = "bullet";
+       version = "0.2.4";
+       sha256 = "0fksxkp6xq0q88g21b917qrg6pzzr1a00w5jjh45f4f9b3smibgn";
+       buildDepends = [ base vect ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ bullet ];
+       homepage = "http://www.haskell.org/haskellwiki/Bullet";
+       description = "A wrapper for the Bullet physics engine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) bullet;};
+
+  "bumper" = callPackage
+    ({ mkDerivation, base, Cabal, containers, fclabels, process
+     , regex-compat, split, strict
+     }:
+     mkDerivation {
+       pname = "bumper";
+       version = "0.6.0.3";
+       sha256 = "1a6sqkdzq05az6yj3zmlcbx6bmhw4zjx2aijxfi481z3ifiy7z3w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers fclabels process regex-compat split strict
+       ];
+       homepage = "http://github.com/silkapp/bumper";
+       description = "Automatically bump package versions, also transitively";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "burst-detection" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "burst-detection";
+       version = "1.0";
+       sha256 = "1pgrqjdc4n97s7jsb9ddmjkw3qa4c28p4fp1ajyx5bfxdll44dwm";
+       buildDepends = [ base deepseq ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://parsci.com/";
+       description = "Burst detection algorithms";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "bus-pirate" = callPackage
+    ({ mkDerivation, base, bytestring, either, errors, serialport
+     , transformers
+     }:
+     mkDerivation {
+       pname = "bus-pirate";
+       version = "0.6.2";
+       sha256 = "1l2icqm9wm1q61nrhab9zininifwql304lgzfqbddvah6qx53iqd";
+       buildDepends = [
+         base bytestring either errors serialport transformers
+       ];
+       homepage = "http://www.github.com/bgamari/bus-pirate";
+       description = "Haskell interface to the Bus Pirate binary interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "buster" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, dataenc, mtl
+     , old-locale, parsec, pretty, time
+     }:
+     mkDerivation {
+       pname = "buster";
+       version = "2.51";
+       sha256 = "12h77sa7z5ba6n2hx5kag51lp7q7hdmsd1cb006l7i46cq5b5zzg";
+       buildDepends = [
+         base binary bytestring containers dataenc mtl old-locale parsec
+         pretty time
+       ];
+       jailbreak = true;
+       homepage = "http://vis.renci.org/jeff/buster";
+       description = "Almost but not quite entirely unlike FRP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "buster-gtk" = callPackage
+    ({ mkDerivation, base, binary, buster, bytestring, containers
+     , dataenc, gtk, mtl, old-locale, parsec, pretty, time
+     }:
+     mkDerivation {
+       pname = "buster-gtk";
+       version = "2.0";
+       sha256 = "1ajmwdrx7cq5dh7zj0viipnhas0p910ax1yb37ina4nddrpx0gd1";
+       buildDepends = [
+         base binary buster bytestring containers dataenc gtk mtl old-locale
+         parsec pretty time
+       ];
+       homepage = "http://vis.renci.org/jeff/buster";
+       description = "Almost but not quite entirely unlike FRP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "buster-network" = callPackage
+    ({ mkDerivation, base, binary, buster, bytestring, containers
+     , dataenc, haxr, HTTP, mtl, network, old-locale, pretty, time
+     }:
+     mkDerivation {
+       pname = "buster-network";
+       version = "1.2";
+       sha256 = "17nzw5ycdrw3f1cgwcg1vh1jk80528nl7ksmbmxg2mgndc89kg3i";
+       buildDepends = [
+         base binary buster bytestring containers dataenc haxr HTTP mtl
+         network old-locale pretty time
+       ];
+       homepage = "http://vis.renci.org/jeff/buster";
+       description = "Almost but not quite entirely unlike FRP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bustle" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, containers, dbus
+     , directory, filepath, glib, gtk, hgettext, HUnit, mtl, pango
+     , parsec, pcap, process, QuickCheck, setlocale, test-framework
+     , test-framework-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "bustle";
+       version = "0.4.8";
+       sha256 = "0ra4hvym5f4w8hy7p11apb5n0pdsq5iv56wab513dhb75562ipcq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo containers dbus directory filepath glib gtk
+         hgettext mtl pango parsec pcap process setlocale text time
+       ];
+       testDepends = [
+         base bytestring cairo containers dbus directory filepath gtk
+         hgettext HUnit mtl pango pcap QuickCheck setlocale test-framework
+         test-framework-hunit text
+       ];
+       description = "Draw sequence diagrams of D-Bus traffic";
+       license = "unknown";
+     }) {};
+
+  "bv" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "bv";
+       version = "0.3.0";
+       sha256 = "0r2bp39ilwq3zx38spbx5qrpccwm255ax2skab3i7jxjmf7yj025";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://bitbucket.org/iago/bv-haskell";
+       description = "Bit-vector arithmetic library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytable" = callPackage
+    ({ mkDerivation, base, bytestring, word24 }:
+     mkDerivation {
+       pname = "bytable";
+       version = "0.1.0.0";
+       sha256 = "0x4yh9li0pi2r9pjih000a143iw9kaz7r4z72510kv6kzkkcr9mn";
+       buildDepends = [ base bytestring word24 ];
+       description = "data from/to ByteString";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "byteable" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "byteable";
+       version = "0.1.1";
+       sha256 = "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/vincenthz/hs-byteable";
+       description = "Type class for sequence of bytes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytedump" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "bytedump";
+       version = "1.0";
+       sha256 = "1pf01mna3isx3i7m50yz3pw5ygz5sg8i8pshjb3yw8q41w2ba5xf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/vincenthz/hs-bytedump";
+       description = "Flexible byte dump helpers for human readers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "byteorder" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "byteorder";
+       version = "1.0.4";
+       sha256 = "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x";
+       buildDepends = [ base ];
+       homepage = "http://community.haskell.org/~aslatter/code/byteorder";
+       description = "Exposes the native endianness or byte ordering of the system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytes" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers
+     , directory, doctest, filepath, mtl, text, time, transformers
+     , transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "bytes";
+       version = "0.15";
+       revision = "1";
+       sha256 = "0898qlpf74ax33hm6hbla9kcjrldk26sc5yj3gdp99yb3qb5swz6";
+       editedCabalFile = "94dc3ad697fbfd70c7cf77a2e0c9bf4307a0f396012738537b931fc3b4e58386";
+       buildDepends = [
+         base binary bytestring cereal containers mtl text time transformers
+         transformers-compat void
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/analytics/bytes";
+       description = "Sharing code for serialization between binary and cereal";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring_0_10_6_0" = callPackage
+    ({ mkDerivation, base, byteorder, deepseq, directory, dlist
+     , ghc-prim, HUnit, integer-gmp, mtl, QuickCheck, random
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "bytestring";
+       version = "0.10.6.0";
+       sha256 = "0xw924djdbs15r4dh2zyn209b0ji94si4ywliagjbg41gdmrl6r7";
+       buildDepends = [ base deepseq ghc-prim integer-gmp ];
+       testDepends = [
+         base byteorder deepseq directory dlist ghc-prim HUnit mtl
+         QuickCheck random test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/haskell/bytestring";
+       description = "Fast, compact, strict and lazy byte strings with a list interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-arbitrary" = callPackage
+    ({ mkDerivation, base, bytestring, cryptohash, QuickCheck }:
+     mkDerivation {
+       pname = "bytestring-arbitrary";
+       version = "0.0.3";
+       sha256 = "1mxxgdak43wz7vzl2hbff9an7krqz4rhld9h173vvq6w2n8jnbi7";
+       buildDepends = [ base bytestring cryptohash QuickCheck ];
+       testDepends = [ base bytestring cryptohash QuickCheck ];
+       homepage = "https://github.com/tsuraan/bytestring-arbitrary";
+       description = "Arbitrary instances for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-builder" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq }:
+     mkDerivation {
+       pname = "bytestring-builder";
+       version = "0.10.6.0.0";
+       sha256 = "1mkg24zl0rapb3gqzkyj5ibp07wx3yzd72hmfczssl0is63rjhww";
+       buildDepends = [ base bytestring deepseq ];
+       description = "The new bytestring builder, packaged outside of GHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-class" = callPackage
+    ({ mkDerivation, base, bytestring, utf8-string }:
+     mkDerivation {
+       pname = "bytestring-class";
+       version = "0.0.0.1";
+       revision = "1";
+       sha256 = "1z65br00rplhniaw9fg3phpxwf13acgycn5hnhyjfcyr962xp03x";
+       editedCabalFile = "e3aa2813d237dcd0a12bfd27293d8bf592cdf13bfdc01a4b609f34df238d0417";
+       buildDepends = [ base bytestring utf8-string ];
+       jailbreak = true;
+       description = "Classes for automatic conversion to and from strict and lazy bytestrings. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bytestring-conversion" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, case-insensitive
+     , double-conversion, QuickCheck, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "bytestring-conversion";
+       version = "0.3.0";
+       sha256 = "0wc5k0cis3hkd5hq875sbj39bf9c0gayyjmg638pnbc8x6v44fqm";
+       buildDepends = [
+         attoparsec base bytestring case-insensitive double-conversion text
+       ];
+       testDepends = [
+         base bytestring QuickCheck tasty tasty-quickcheck
+       ];
+       homepage = "https://github.com/twittner/bytestring-conversion/";
+       description = "Type-classes to convert values to and from ByteString";
+       license = "unknown";
+     }) {};
+
+  "bytestring-csv" = callPackage
+    ({ mkDerivation, array, base, bytestring, dlist }:
+     mkDerivation {
+       pname = "bytestring-csv";
+       version = "0.1.2";
+       sha256 = "0x7qklb36jwxry1ih5x3jw7s861vlvd5g9h7yn7b2x64c0phyj0r";
+       buildDepends = [ array base bytestring dlist ];
+       homepage = "http://code.haskell.org/~dons/code/bytestring-csv";
+       description = "Parse CSV formatted data efficiently";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bytestring-delta" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "bytestring-delta";
+       version = "0.1.0.1";
+       sha256 = "0iq59if3in08ssashk80wvh6yh1yr115387fi9kj952v6bzvzw1q";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/joeyadams/haskell-bytestring-delta";
+       description = "Simple, fast binary diff/patch";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bytestring-from" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, QuickCheck, tasty
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "bytestring-from";
+       version = "0.3";
+       sha256 = "030jrpri4qmv8lr8ahgkbl3gghv2c00lfigx2wbrrv9hz74gkpn4";
+       buildDepends = [ attoparsec base bytestring text ];
+       testDepends = [
+         base bytestring QuickCheck tasty tasty-quickcheck
+       ];
+       description = "A type-class to convert values from ByteString";
+       license = "unknown";
+     }) {};
+
+  "bytestring-handle" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "bytestring-handle";
+       version = "0.1.0.2";
+       sha256 = "1nnqqcl9zp14q49jwcxhbm85hxk48higpr63qs675802sz0fs01v";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://hub.darcs.net/ganesh/bytestring-handle";
+       description = "ByteString-backed Handles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-lexing" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring }:
+     mkDerivation {
+       pname = "bytestring-lexing";
+       version = "0.4.3.2";
+       sha256 = "09ymg1n21668wn4harxg0cqlz98fz990bangpy99w2z7d6cwbc05";
+       buildDepends = [ array base bytestring ];
+       buildTools = [ alex ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Parse and produce literals efficiently from strict or lazy bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-mmap" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "bytestring-mmap";
+       version = "0.2.2";
+       sha256 = "1bv9xf4cpph1cbdwv6rbmq8ppi5wjpgd97lwln5l9ky5rvnaxg3v";
+       buildDepends = [ base bytestring unix ];
+       homepage = "http://code.haskell.org/~dons/code/bytestring-mmap/";
+       description = "mmap support for strict ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-nums" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "bytestring-nums";
+       version = "0.3.6";
+       sha256 = "1kg777gpqj05h5bj0637yky64bdx7x77hm7nq2rhpw4i1mh9gjmx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers ];
+       homepage = "http://github.com/solidsnack/bytestring-nums";
+       description = "Parse numeric literals from ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-plain" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, ghc-prim, hashable }:
+     mkDerivation {
+       pname = "bytestring-plain";
+       version = "0.1.0.1";
+       sha256 = "057f9kyvj7cf2a53f6wqah0bw9cp67s7y3b6l6y78m24ipx8c56a";
+       buildDepends = [ base bytestring deepseq ghc-prim hashable ];
+       homepage = "https://github.com/hvr/bytestring-plain";
+       description = "Plain byte strings ('ForeignPtr'-less 'ByteString's)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-progress" = callPackage
+    ({ mkDerivation, base, bytestring, terminal-progress-bar, time }:
+     mkDerivation {
+       pname = "bytestring-progress";
+       version = "1.0.5";
+       sha256 = "02j9gmvncap4xzvvmj0s84bkhf4xh8plw5saakiljxf6zi7hpdwq";
+       buildDepends = [ base bytestring terminal-progress-bar time ];
+       homepage = "http://github.com/acw/bytestring-progress";
+       description = "A library for tracking the consumption of a lazy ByteString";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-read" = callPackage
+    ({ mkDerivation, base, bytestring, doctest, tasty, tasty-quickcheck
+     , types-compat
+     }:
+     mkDerivation {
+       pname = "bytestring-read";
+       version = "0.3.0";
+       sha256 = "19bq478066chy35fnfjq5bg2f196zl6qi2dssqwlr9bivgvk434g";
+       buildDepends = [ base bytestring types-compat ];
+       testDepends = [ base bytestring doctest tasty tasty-quickcheck ];
+       homepage = "https://github.com/philopon/bytestring-read";
+       description = "fast ByteString to number converting library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bytestring-rematch" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, HUnit, rematch }:
+     mkDerivation {
+       pname = "bytestring-rematch";
+       version = "0.1.0.0";
+       sha256 = "01yk1pmsp6c89z4lf6p37g4jqbqz1d93g61gn4i99p8dijbg0pbh";
+       buildDepends = [ base bytestring ];
+       testDepends = [ base bytestring hspec HUnit rematch ];
+       jailbreak = true;
+       homepage = "github.com/tcrayford/rematch";
+       description = "Rematch support for ByteString";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bytestring-short" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "bytestring-short";
+       version = "0.0.1.0";
+       sha256 = "034c63hw49sy4mg6xarf61d4f3shafj66v4sqky04sin460s28wv";
+       buildDepends = [ base bytestring deepseq ];
+       testDepends = [ base bytestring QuickCheck ];
+       jailbreak = true;
+       description = "Backport copy of ShortByteString";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bytestring-show" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , integer-gmp
+     }:
+     mkDerivation {
+       pname = "bytestring-show";
+       version = "0.3.5.6";
+       sha256 = "04h81a0bh2fvnkby1qafnydb29gzk6d4d311i2lbn7lm2vyjw919";
+       buildDepends = [
+         array base binary bytestring containers integer-gmp
+       ];
+       homepage = "http://code.haskell.org/~dolio/";
+       description = "Efficient conversion of values into readable byte strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestring-trie" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "bytestring-trie";
+       version = "0.2.4.1";
+       sha256 = "0qqklrvdcprchnl4bxr6w7zf6k5gncincl3kysm34gd04sszxr1g";
+       buildDepends = [ base binary bytestring ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "An efficient finite map from (byte)strings to values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestringparser" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "bytestringparser";
+       version = "0.3";
+       sha256 = "1g99vbp14ki563lb41y1fxlgvdmrmq1y0xsk0ia1m438rdpnh2qd";
+       buildDepends = [ base bytestring containers ];
+       description = "Combinator parsing with Data.ByteString.Lazy";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bytestringparser-temporary" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "bytestringparser-temporary";
+       version = "0.4.1";
+       sha256 = "019axq65hmgmszkc1lyyyy8rpv5xkjbf1pmgz1bz0hnc8lgv58pd";
+       buildDepends = [ base bytestring containers ];
+       description = "Combinator parsing with Data.ByteString.Lazy";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bytestringreadp" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "bytestringreadp";
+       version = "0.2";
+       sha256 = "07hx3072zg9y3kj6h99yl8fd3n115x4z8z411c1cpx1hj292d57f";
+       buildDepends = [ base bytestring ];
+       description = "A ReadP style parser library for ByteString";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "bzlib" = callPackage
+    ({ mkDerivation, base, bytestring, bzip2 }:
+     mkDerivation {
+       pname = "bzlib";
+       version = "0.5.0.5";
+       sha256 = "0zh130vw719a8d11q5qzc3ilzgv8cqyc2a7r1a131cv1fjnd1rwy";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ bzip2 ];
+       description = "Compression and decompression in the bzip2 format";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) bzip2;};
+
+  "bzlib-conduit" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, bzip2, conduit
+     , conduit-extra, data-default, hspec, mtl, QuickCheck, random
+     , resourcet
+     }:
+     mkDerivation {
+       pname = "bzlib-conduit";
+       version = "0.2.1.3";
+       sha256 = "0jqg38zvxc0fpp74az0vm8klb88zwy076ncwzgq2zr0nrmr5cghm";
+       buildDepends = [
+         base bindings-DSL bytestring conduit conduit-extra data-default mtl
+         resourcet
+       ];
+       testDepends = [
+         base bytestring conduit conduit-extra hspec QuickCheck random
+         resourcet
+       ];
+       extraLibraries = [ bzip2 ];
+       homepage = "https://github.com/snoyberg/bzlib-conduit";
+       description = "Streaming compression/decompression via conduits";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) bzip2;};
+
+  "c-dsl" = callPackage
+    ({ mkDerivation, base, language-c }:
+     mkDerivation {
+       pname = "c-dsl";
+       version = "0.3.1";
+       sha256 = "04hj3d26rp7ibv15n48y4xkfld3nnh6dqn8shxvw1h546z1316pw";
+       buildDepends = [ base language-c ];
+       description = "A higher level DSL on top of language-c";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "c-io" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "c-io";
+       version = "0.1.0";
+       sha256 = "1za4wcrjrxqk8yqy1bddzxw8xxx0vlxyy31dj1glb5azx6qh7qp2";
+       buildDepends = [ base ];
+       description = "C IO";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "c-storable-deriving" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "c-storable-deriving";
+       version = "0.1.1";
+       sha256 = "19scaffyinyblc3vw3ga22j2z81gd7l2l3nnrsy3k9nsal1rbz3z";
+       buildDepends = [ base ghc-prim ];
+       homepage = "https://github.com/maurer/c-storable-deriving";
+       description = "Generate C-like storable instances from datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "c0check" = callPackage
+    ({ mkDerivation, base, c0parser }:
+     mkDerivation {
+       pname = "c0check";
+       version = "0.2";
+       sha256 = "0alzv8cdv5q6inhgp5zpms24460iqbgmwbc3l1fmf31p6jj802im";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base c0parser ];
+       description = "Simple C0 Syntax Check";
+       license = "GPL";
+     }) {};
+
+  "c0parser" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "c0parser";
+       version = "0.2";
+       sha256 = "0i6bsi30dkz51044r92gcgqr07bzbjfzgbr1z7p078j4016zb7cw";
+       buildDepends = [ base parsec ];
+       description = "Simple C0 Parser";
+       license = "GPL";
+     }) {};
+
+  "c10k" = callPackage
+    ({ mkDerivation, base, network, unix }:
+     mkDerivation {
+       pname = "c10k";
+       version = "0.5.0";
+       sha256 = "1i62ilk95p1vjyk7gl1fv7lwq6yk3ysfn3v1bbyfpabf97gzr0d9";
+       buildDepends = [ base network unix ];
+       homepage = "http://github.com/kazu-yamamoto/c10k";
+       description = "C10k server library using prefork";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "c2hs_0_20_1" = callPackage
+    ({ mkDerivation, array, base, containers, directory, dlist
+     , filepath, HUnit, language-c, pretty, process, shelly
+     , test-framework, test-framework-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "c2hs";
+       version = "0.20.1";
+       sha256 = "1w2w9zxirzjd5lniwqakq59glgsh4mw3565x2l9qrin0bfjxkn3h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory dlist filepath language-c pretty
+         process
+       ];
+       testDepends = [
+         base filepath HUnit shelly test-framework test-framework-hunit text
+         transformers
+       ];
+       homepage = "https://github.com/haskell/c2hs";
+       description = "C->Haskell FFI tool that gives some cross-language type safety";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "c2hs" = callPackage
+    ({ mkDerivation, array, base, containers, directory, dlist
+     , filepath, HUnit, language-c, pretty, process, shelly
+     , test-framework, test-framework-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "c2hs";
+       version = "0.25.2";
+       sha256 = "0d1rgcwvz49v3h511dibiv6m06v8s179pg4sw386z17pz3a2hghm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory dlist filepath language-c pretty
+         process
+       ];
+       testDepends = [
+         base filepath HUnit shelly test-framework test-framework-hunit text
+         transformers
+       ];
+       homepage = "https://github.com/haskell/c2hs";
+       description = "C->Haskell FFI tool that gives some cross-language type safety";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "c2hsc" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, directory, filepath
+     , HStringTemplate, language-c, mtl, pretty, split, transformers
+     }:
+     mkDerivation {
+       pname = "c2hsc";
+       version = "0.6.5";
+       sha256 = "0c5hzi4nw9n3ir17swbwymkymnpiw958z8r2hw6656ijwqkxvzgd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers directory filepath HStringTemplate
+         language-c mtl pretty split transformers
+       ];
+       homepage = "https://github.com/jwiegley/c2hsc";
+       description = "Convert C API header files to .hsc and .hsc.helper.c files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cab" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, Cabal, conduit
+     , conduit-extra, containers, directory, filepath, process
+     , resourcet
+     }:
+     mkDerivation {
+       pname = "cab";
+       version = "0.2.15";
+       sha256 = "0g2z9ypnkxbva2h96ihf0slwg2wz389pxr974vn69v2sblkzl9c9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring Cabal conduit conduit-extra containers
+         directory filepath process resourcet
+       ];
+       homepage = "http://www.mew.org/~kazu/proj/cab/";
+       description = "A maintenance command of Haskell cabal packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-audit" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, HTTP
+     , optparse-applicative
+     }:
+     mkDerivation {
+       pname = "cabal-audit";
+       version = "0.3.0.0";
+       sha256 = "02cfwka49fd399drv6rxb3hbxflpv6s1xfa7l759ihkp19d6ph9v";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory filepath HTTP optparse-applicative
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/joelteon/cabal-audit.git";
+       description = "Check how up-to-date your .cabal dependencies are.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cabal-bounds" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-install, cabal-lenses, cmdargs
+     , directory, either, filepath, Glob, lens, process, strict, tasty
+     , tasty-golden, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "cabal-bounds";
+       version = "0.9.3";
+       sha256 = "0r8ayxsfx7z4hivknshj2sybssn3hjwprxpyqw4yv3w26gv7d82j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal cabal-lenses cmdargs either lens strict transformers
+         unordered-containers
+       ];
+       testDepends = [
+         base directory filepath Glob process tasty tasty-golden
+       ];
+       buildTools = [ cabal-install ];
+       jailbreak = true;
+       description = "A command line program for managing the bounds/versions of the dependencies in a cabal file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-cargs" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-lenses, cmdargs, directory
+     , either, filepath, lens, strict, system-fileio, system-filepath
+     , tasty, tasty-golden, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "cabal-cargs";
+       version = "0.7.7";
+       sha256 = "08f3fpfsjj4kk5flxgpjvqffifhfkhnf7i4n23adkf7w1rdw4nlz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal cabal-lenses cmdargs directory either lens strict
+         system-fileio system-filepath text transformers
+         unordered-containers
+       ];
+       testDepends = [ base filepath tasty tasty-golden ];
+       jailbreak = true;
+       description = "A command line program for extracting compiler arguments from a cabal file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-constraints" = callPackage
+    ({ mkDerivation, base, Cabal, optparse-applicative }:
+     mkDerivation {
+       pname = "cabal-constraints";
+       version = "0.0.0.1";
+       sha256 = "06k43il8yiwbj6x3fhw64xdwq8d8qsmvvd1ycgml7vsry6cz6pdh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal optparse-applicative ];
+       jailbreak = true;
+       homepage = "https://github.com/benarmston/cabal-constraints";
+       description = "Repeatable builds for cabalized Haskell projects";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-db" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, Cabal
+     , containers, directory, filepath, mtl, optparse-applicative
+     , pretty, process, tar, utf8-string
+     }:
+     mkDerivation {
+       pname = "cabal-db";
+       version = "0.1.12";
+       sha256 = "1phksjb1ahg0dbgsxsckgmqvvhrzvpn02c3w26gbiq9diindx267";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base bytestring Cabal containers directory filepath
+         mtl optparse-applicative pretty process tar utf8-string
+       ];
+       homepage = "http://github.com/vincenthz/cabal-db";
+       description = "query tools for the local cabal database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-debian" = callPackage
+    ({ mkDerivation, base, Cabal, containers, data-default, debian
+     , deepseq, Diff, directory, exceptions, filepath, hsemail, HUnit
+     , lens, memoize, mtl, network-uri, parsec, pretty, prettyclass
+     , process, pureMD5, regex-tdfa, set-extra, syb, text, unix
+     , Unixutils, utf8-string
+     }:
+     mkDerivation {
+       pname = "cabal-debian";
+       version = "4.26";
+       sha256 = "1imglja5b8q5z1l7na2h4b9cd9kbfjdqclgx12vzasan9gagl0k1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers data-default debian deepseq Diff directory
+         exceptions filepath hsemail HUnit lens memoize mtl network-uri
+         parsec pretty prettyclass process pureMD5 regex-tdfa set-extra syb
+         text unix Unixutils utf8-string
+       ];
+       testDepends = [
+         base Cabal containers debian Diff filepath hsemail HUnit lens
+         pretty prettyclass process text
+       ];
+       homepage = "https://github.com/ddssff/cabal-debian";
+       description = "Create a Debianization for a Cabal package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-dependency-licenses" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath }:
+     mkDerivation {
+       pname = "cabal-dependency-licenses";
+       version = "0.1.0.1";
+       sha256 = "1zccbhv7ysx9v6k0m2i08mrrx0d16x00cpkq7k5r765g9yjmn80k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal containers directory filepath ];
+       jailbreak = true;
+       homepage = "http://github.com/jaspervdj/cabal-dependency-licenses";
+       description = "Compose a list of a project's transitive dependencies with their licenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-dev" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cabal-install, containers
+     , directory, filepath, HTTP, mtl, network, pretty, process, setenv
+     , tar, template-haskell, transformers, zlib
+     }:
+     mkDerivation {
+       pname = "cabal-dev";
+       version = "0.9.2";
+       sha256 = "1372bpn8s7d7nm01ggp3m98ldrynidbchk3p14yrjysvxwr3l6q8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory filepath HTTP mtl
+         network pretty process setenv tar template-haskell transformers
+         zlib
+       ];
+       buildTools = [ cabal-install ];
+       jailbreak = true;
+       homepage = "http://github.com/creswick/cabal-dev";
+       description = "Manage sandboxed Haskell build environments";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-dir" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath }:
+     mkDerivation {
+       pname = "cabal-dir";
+       version = "0.1.0.4";
+       sha256 = "0kbq549bl18f1cd2q4w7nngsvnvgc3366xr7y37x5sw80rq5w5wg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal directory filepath ];
+       description = "show dist dir of 'cabal copy/install'";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-file-th" = callPackage
+    ({ mkDerivation, base, Cabal, directory, template-haskell }:
+     mkDerivation {
+       pname = "cabal-file-th";
+       version = "0.2.3";
+       revision = "1";
+       sha256 = "0kawvb5n56rkq4453l6pia3wrr6jvvdwkghi6i176n1gm2zf2ri8";
+       editedCabalFile = "50bc6cf5a335a2608ab1e5e59b73f184d3f48d91f49fec189701416ff3e1e37e";
+       buildDepends = [ base Cabal directory template-haskell ];
+       testDepends = [ base ];
+       homepage = "http://github.com/nkpart/cabal-file-th";
+       description = "Template Haskell expressions for reading fields from a project's cabal file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-ghci" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, process }:
+     mkDerivation {
+       pname = "cabal-ghci";
+       version = "0.3";
+       sha256 = "1x7fpvvmr2mq7l960wgsijhyrdaiq3lnnl3z6drklc5p73pms8w6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal directory filepath process ];
+       homepage = "http://github.com/atnnn/cabal-ghci";
+       description = "Set up ghci with options taken from a .cabal file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-graphdeps" = callPackage
+    ({ mkDerivation, base, containers, directory, options, parsec
+     , process, split, temporary
+     }:
+     mkDerivation {
+       pname = "cabal-graphdeps";
+       version = "0.1.2";
+       sha256 = "105q051bna299pf1ka0r9bmqsbpzcg9vmbi5ynmalancgjpnm29a";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory options parsec process split temporary
+       ];
+       homepage = "https://john-millikin.com/software/cabal-graphdeps/";
+       description = "Generate graphs of install-time Cabal dependencies";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-helper" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, data-default, directory
+     , filepath, ghc-prim, mtl, process, template-haskell, temporary
+     , transformers
+     }:
+     mkDerivation {
+       pname = "cabal-helper";
+       version = "0.3.1.0";
+       sha256 = "1hfprys4q4azfgqcv2xcyn14y8nybmvrl8y3z3ckx0v5r13ss75n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal data-default directory filepath ghc-prim mtl
+         process template-haskell temporary transformers
+       ];
+       description = "Simple interface to Cabal's configuration state used by ghc-mod";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "cabal-install_1_18_0_8" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers
+     , directory, filepath, HTTP, HUnit, mtl, network, network-uri
+     , pretty, process, QuickCheck, random, stm, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time, unix
+     , zlib
+     }:
+     mkDerivation {
+       pname = "cabal-install";
+       version = "1.18.0.8";
+       sha256 = "1yx7vgyi2hs934z4ln7d8m2yrsakidb551ib01l9hxnmc3jbskwi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring Cabal containers directory filepath HTTP mtl
+         network network-uri pretty process random stm time unix zlib
+       ];
+       testDepends = [
+         array base bytestring Cabal containers directory filepath HTTP
+         HUnit mtl network network-uri pretty process QuickCheck stm
+         test-framework test-framework-hunit test-framework-quickcheck2 time
+         unix zlib
+       ];
+       postInstall = ''
+         mkdir $out/etc
+         mv bash-completion $out/etc/bash_completion.d
+       '';
+       homepage = "http://www.haskell.org/cabal/";
+       description = "The command-line interface for Cabal and Hackage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-install" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers
+     , directory, extensible-exceptions, filepath, HTTP, HUnit, mtl
+     , network, network-uri, pretty, process, QuickCheck, random
+     , regex-posix, stm, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, unix, zlib
+     }:
+     mkDerivation {
+       pname = "cabal-install";
+       version = "1.22.2.0";
+       sha256 = "1nvamsklmxc77mivi02li5rijiliajl4x620pwchzgb0iyl2xg15";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring Cabal containers directory filepath HTTP mtl
+         network network-uri pretty process random stm time unix zlib
+       ];
+       testDepends = [
+         array base bytestring Cabal containers directory
+         extensible-exceptions filepath HTTP HUnit mtl network network-uri
+         pretty process QuickCheck regex-posix stm test-framework
+         test-framework-hunit test-framework-quickcheck2 time unix zlib
+       ];
+       jailbreak = true;
+       postInstall = ''
+         mkdir $out/etc
+         mv bash-completion $out/etc/bash_completion.d
+       '';
+       homepage = "http://www.haskell.org/cabal/";
+       description = "The command-line interface for Cabal and Hackage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-install-bundle" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers
+     , directory, filepath, old-time, pretty, process, time, unix, zlib
+     }:
+     mkDerivation {
+       pname = "cabal-install-bundle";
+       version = "1.18.0.2.1";
+       sha256 = "0gsghmpn38idqivba8islfy5y1xhnhyjdyahdg7h7isc9kvq6isq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring Cabal containers directory filepath old-time
+         pretty process time unix
+       ];
+       extraLibraries = [ zlib ];
+       description = "The (bundled) command-line interface for Cabal and Hackage";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) zlib;};
+
+  "cabal-install-ghc72" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, HTTP, network, old-time, pretty, process, random, time
+     , unix, zlib
+     }:
+     mkDerivation {
+       pname = "cabal-install-ghc72";
+       version = "0.10.4";
+       sha256 = "1fgy79w5bzzhqpnwgfd9jis9w6ix5wwdbwr2g556rxvmqsgl7mmg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers directory filepath HTTP network
+         old-time pretty process random time unix zlib
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/cabal/";
+       description = "Temporary version of cabal-install for ghc-7.2";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-install-ghc74" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, HTTP, network, old-time, pretty, process, random, time
+     , unix, zlib
+     }:
+     mkDerivation {
+       pname = "cabal-install-ghc74";
+       version = "0.10.4";
+       sha256 = "1ssk5h0hlv3aivzsr0iv90g683qkqmppc7glivhwfm6q1vkv9gmd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers directory filepath HTTP network
+         old-time pretty process random time unix zlib
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/cabal/";
+       description = "Temporary version of cabal-install for ghc-7.4";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-lenses" = callPackage
+    ({ mkDerivation, base, Cabal, lens, unordered-containers }:
+     mkDerivation {
+       pname = "cabal-lenses";
+       version = "0.4.5";
+       sha256 = "1v09n4mah5azb1hmc14ygiqwwm2an6ff2z2f9hw2c7jddbmays5n";
+       buildDepends = [ base Cabal lens unordered-containers ];
+       jailbreak = true;
+       description = "Lenses and traversals for the Cabal library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-macosx" = callPackage
+    ({ mkDerivation, base, Cabal, directory, fgl, filepath, parsec
+     , process, text
+     }:
+     mkDerivation {
+       pname = "cabal-macosx";
+       version = "0.2.3";
+       sha256 = "0rvmb6lx2alr7f0v7nbv48xzg7wp4nrn03hdkjc4a4c97rai14i9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory fgl filepath parsec process text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/gimbo/cabal-macosx";
+       description = "Cabal support for creating Mac OSX application bundles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-meta" = callPackage
+    ({ mkDerivation, base, hspec, shelly, system-fileio
+     , system-filepath, text, unix
+     }:
+     mkDerivation {
+       pname = "cabal-meta";
+       version = "0.4.1.3";
+       sha256 = "14k8nv2kg8n9ssz6jivvin56jjazsvp4xg7zi0z6hcawfmcdmzd6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base shelly system-fileio system-filepath text ];
+       testDepends = [ base hspec shelly system-filepath text unix ];
+       homepage = "http://www.yesodweb.com/";
+       description = "build multiple packages at once";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-mon" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, process
+     , simple-get-opt, vty
+     }:
+     mkDerivation {
+       pname = "cabal-mon";
+       version = "1.0.1";
+       sha256 = "1wngmf73dqyyf9nfbpwyg3mvbp32rqrhhp4kf9nylhawwkv7c8v0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath process simple-get-opt vty
+       ];
+       description = "A monitor for cabal builds";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cabal-nirvana" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, HTTP
+     , process, tar
+     }:
+     mkDerivation {
+       pname = "cabal-nirvana";
+       version = "0.2.2.1";
+       sha256 = "1clwhlqm1k9km29i9b2c2ys59nfspsffrixr2sz824gnd415x3lk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory HTTP process tar
+       ];
+       homepage = "http://github.com/snoyberg/cabal-nirvana";
+       description = "Avoid Cabal dependency hell by constraining to known good versions. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-progdeps" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath }:
+     mkDerivation {
+       pname = "cabal-progdeps";
+       version = "1.0";
+       sha256 = "0fz2hpm8fd49jhqdc9cwzvdq34b64zwn4ln8n77hxqx8rfw8zvif";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal directory filepath ];
+       jailbreak = true;
+       description = "Show dependencies of program being built in current directory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-query" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, derive, ghc, MissingH
+     , mtl, tar, template-haskell, uniplate
+     }:
+     mkDerivation {
+       pname = "cabal-query";
+       version = "0.1";
+       sha256 = "0j4n48ngwins8bl7g3mazwmbwgyjpp17mi77c9j1klfgx7fam6wa";
+       buildDepends = [
+         base bytestring Cabal derive ghc MissingH mtl tar template-haskell
+         uniplate
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/explicitcall/cabal-query";
+       description = "Helpers for quering .cabal files or hackageDB's 00-index.tar";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-rpm" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, old-locale
+     , process, time, unix
+     }:
+     mkDerivation {
+       pname = "cabal-rpm";
+       version = "0.9.4";
+       sha256 = "15h56aqzzxdxkk3rx6j03nkv1503f8ypzq6hbdflilqd0v63asa4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory filepath old-locale process time unix
+       ];
+       homepage = "https://github.com/juhp/cabal-rpm";
+       description = "RPM packaging tool for Haskell Cabal-based packages";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "cabal-scripts" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cabal-scripts";
+       version = "0.1";
+       sha256 = "17wpmqkgr55wj5qzb7ph3fvifz4bzzhk98ypcmrx5q0caq1crdq8";
+       buildDepends = [ base ];
+       description = "Shell scripts for support of Cabal maintenance";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-setup" = callPackage
+    ({ mkDerivation, base, Cabal }:
+     mkDerivation {
+       pname = "cabal-setup";
+       version = "1.2.1";
+       sha256 = "0k1lnixkmgdjn8d2akhj60133brs424y0cwwzwraq7awx03y72bm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal ];
+       homepage = "http://www.haskell.org/cabal/";
+       description = "The user interface for building and installing Cabal packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-sign" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, directory, filepath
+     , process, tar, zlib
+     }:
+     mkDerivation {
+       pname = "cabal-sign";
+       version = "0.4.1.0";
+       sha256 = "1b8yr4k0mapysgh96dxabpzxznd65v8yrcba0jk6wda3mwlm1nqk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal directory filepath process tar zlib
+       ];
+       description = "Sign and verify Cabal packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-sort" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , explicit-exception, fgl, filepath, process, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "cabal-sort";
+       version = "0.0.5.1";
+       sha256 = "1991k6p8vvagnm8wpmzy84088whkqls1q4rdgir4f2m7r0wxl414";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory explicit-exception fgl
+         filepath process transformers utility-ht
+       ];
+       jailbreak = true;
+       description = "Topologically sort cabal packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-src" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, classy-prelude-conduit
+     , conduit, conduit-extra, containers, directory, filepath
+     , http-client, http-client-tls, http-conduit, http-types, network
+     , process, resourcet, shelly, system-fileio, system-filepath, tar
+     , temporary, text, transformers
+     }:
+     mkDerivation {
+       pname = "cabal-src";
+       version = "0.2.5";
+       sha256 = "07nxnr011i50lpmahvj6q113zd6jmmxv83y4rby2rjnimjvgj3z7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal classy-prelude-conduit conduit conduit-extra
+         containers directory filepath http-client http-client-tls
+         http-conduit http-types network process resourcet shelly
+         system-fileio system-filepath tar temporary text transformers
+       ];
+       homepage = "https://github.com/yesodweb/cabal-src";
+       description = "Alternative install procedure to avoid the diamond dependency issue";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-test" = callPackage
+    ({ mkDerivation, base, Cabal, filepath, ghc, pqc, QuickCheck }:
+     mkDerivation {
+       pname = "cabal-test";
+       version = "0.1";
+       sha256 = "11883q7zjy3l5qla5rvbmflm19kalvzqx7n1hprmiizr1kczh6ax";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal filepath ghc pqc QuickCheck ];
+       description = "Automated test tool for cabal projects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal-test-bin" = callPackage
+    ({ mkDerivation, base, directory, filepath, hspec, process
+     , regex-posix, unix
+     }:
+     mkDerivation {
+       pname = "cabal-test-bin";
+       version = "0.1.5";
+       sha256 = "1qjshg9r6vh964mwsj0spsxcl3sdvll2znjd2hq4lw71va4iwm87";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath unix ];
+       testDepends = [ base hspec process regex-posix ];
+       description = "A program for finding temporary build file during cabal-test";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-test-compat" = callPackage
+    ({ mkDerivation, base, Cabal, QuickCheck }:
+     mkDerivation {
+       pname = "cabal-test-compat";
+       version = "0.2.0.0";
+       sha256 = "15lxyrza1n9saac1awjx482gi7wq3sshqf4ich6k9xkfj464lrdq";
+       buildDepends = [ base Cabal QuickCheck ];
+       homepage = "http://twitter.com/khibino/";
+       description = "Compatibility interface of cabal test-suite";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-test-quickcheck" = callPackage
+    ({ mkDerivation, base, Cabal, QuickCheck }:
+     mkDerivation {
+       pname = "cabal-test-quickcheck";
+       version = "0.1.6";
+       sha256 = "0rffvz3khxdfbl9rfk1q47xqv013dwmd4sy8cy7y833175j2zibi";
+       buildDepends = [ base Cabal QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/zmthy/cabal-test-quickcheck";
+       description = "QuickCheck for Cabal";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cabal-uninstall" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, process }:
+     mkDerivation {
+       pname = "cabal-uninstall";
+       version = "0.1.6";
+       sha256 = "0ys1c8z8042vc7dzmis47w0q3qapyllmsdkpb1by22qmcnaavii2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath mtl process ];
+       description = "Uninstall cabal packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal-upload" = callPackage
+    ({ mkDerivation, base, filepath, HTTP, network }:
+     mkDerivation {
+       pname = "cabal-upload";
+       version = "0.4";
+       sha256 = "05k77hdx0sbgnn454vb6rc7mmrc3zby7s44x498i4ncrkivz90bz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base filepath HTTP network ];
+       jailbreak = true;
+       description = "Command-line tool for uploading packages to Hackage";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal2arch" = callPackage
+    ({ mkDerivation, archlinux, base, bytestring, Cabal, cmdargs
+     , containers, directory, filepath, mtl, pretty, process
+     }:
+     mkDerivation {
+       pname = "cabal2arch";
+       version = "1.1";
+       sha256 = "0sk10z9lj291rpidlaydp7nvgl7adbp7gyf2nvqqhrshxnlqpc8z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         archlinux base bytestring Cabal cmdargs containers directory
+         filepath mtl pretty process
+       ];
+       homepage = "http://github.com/archhaskell/";
+       description = "Create Arch Linux packages from Cabal packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal2doap" = callPackage
+    ({ mkDerivation, base, Cabal, hsemail, hxt, parsec, process }:
+     mkDerivation {
+       pname = "cabal2doap";
+       version = "0.2";
+       sha256 = "1nqchq9mzq8k99agvafwa4vll7d3ahpkaifnjj2bnljqdkxlh9al";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal hsemail hxt parsec process ];
+       jailbreak = true;
+       homepage = "http://gregheartsfield.com/cabal2doap/";
+       description = "Cabal to Description-of-a-Project (DOAP)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabal2ebuild" = callPackage
+    ({ mkDerivation, base, Cabal, curl, directory, filepath }:
+     mkDerivation {
+       pname = "cabal2ebuild";
+       version = "0.0.15.9";
+       sha256 = "11fp52hmzkrgcmkxzclmq6bbzxsn0ph78ib6wzzkza5j2c48ya2l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal curl directory filepath ];
+       homepage = "yet";
+       description = "make gentoo's .ebuild file from .cabal file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal2ghci" = callPackage
+    ({ mkDerivation, base, Cabal, cmdargs, stylish-haskell
+     , system-fileio, system-filepath, text, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "cabal2ghci";
+       version = "0.0.1.1";
+       sha256 = "1fg3pr25f78a6b8nqxvxki4z3fvgx4i6zkmpl992a0iarycqdrsg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal cmdargs stylish-haskell system-fileio system-filepath
+         text unordered-containers yaml
+       ];
+       description = "A tool to generate .ghci file from .cabal";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal2nix" = callPackage
+    ({ mkDerivation, base, Cabal, containers, deepseq, directory
+     , doctest, filepath, hackage-db, mtl, pretty, process, regex-posix
+     , transformers
+     }:
+     mkDerivation {
+       pname = "cabal2nix";
+       version = "1.73";
+       sha256 = "1nskcr8k5a8wm9q5is0b1kww574q2nq45f16agya8z44hgk97xiv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers deepseq directory filepath hackage-db mtl
+         pretty process regex-posix transformers
+       ];
+       testDepends = [ base doctest ];
+       homepage = "http://github.com/NixOS/cabal2nix";
+       description = "Convert Cabal files into Nix build instructions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabal2spec" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , haskell98, old-locale, process, tar, time, unix, Unixutils, zlib
+     }:
+     mkDerivation {
+       pname = "cabal2spec";
+       version = "1.0";
+       sha256 = "08y8rwj86n7f3bqfv2ximlx8qas12zspiz6ix8gg01whsry43nsj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal directory filepath haskell98 old-locale
+         process tar time unix Unixutils zlib
+       ];
+       homepage = "https://fedorahosted.org/cabal2spec/";
+       description = "Generates RPM Spec files from cabal files";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabalg" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, process }:
+     mkDerivation {
+       pname = "cabalg";
+       version = "0.2.9";
+       sha256 = "02brl9b1g3cyw5nmk0mih073kbszpc6g2nqgs0sh93h7y5naf5kp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath process ];
+       testDepends = [ base directory doctest filepath process ];
+       description = "alias for cabal install from given git repo";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cabalgraph" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, pretty, process
+     }:
+     mkDerivation {
+       pname = "cabalgraph";
+       version = "0.1";
+       sha256 = "1kgw1n22zh1ap6dfzhmh18d0wkr6ppd9b20r77f7q6m371hhbkvy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory filepath pretty process
+       ];
+       homepage = "http://code.haskell.org/~dons/code/cabalgraph";
+       description = "Generate pretty graphs of module trees from cabal files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabalmdvrpm" = callPackage
+    ({ mkDerivation, base, Cabal, cabalrpmdeps, haskell98 }:
+     mkDerivation {
+       pname = "cabalmdvrpm";
+       version = "0.0.1";
+       sha256 = "0pgkav4ifwkqh9idj8rpbnq3rw51i94dj1zw0wf7mv72bb32a0c6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal cabalrpmdeps haskell98 ];
+       homepage = "http://nanardon.zarb.org/darcsweb/darcsweb.cgi?r=haskell-cabalmdvrpm;a=shortlog;topi=0";
+       description = "Create mandriva rpm from cabal package";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabalrpmdeps" = callPackage
+    ({ mkDerivation, base, Cabal, filepath, haskell98 }:
+     mkDerivation {
+       pname = "cabalrpmdeps";
+       version = "0.0.4";
+       sha256 = "19kzbwpb9gv9knz1dfvck8yb1kda5dg9rig5xrsd118wgq6xpkr1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal filepath haskell98 ];
+       homepage = "http://nanardon.zarb.org/darcsweb/darcsweb.cgi?r=haskell-CabalRpmDeps;a=summary";
+       description = "Autogenerate rpm dependencies from cabal files";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cabalvchk" = callPackage
+    ({ mkDerivation, base, Cabal }:
+     mkDerivation {
+       pname = "cabalvchk";
+       version = "0.3";
+       sha256 = "1ai2yz4whbjk9qfpyzjqkdypqknnzfdr1fdp5ii7h059na0q6iq2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal ];
+       description = "Verify installed package version against user-specified constraints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cabin" = callPackage
+    ({ mkDerivation, base, binary, bytestring, directory, filepath
+     , optparse-applicative, process, unix
+     }:
+     mkDerivation {
+       pname = "cabin";
+       version = "0.1.0.2";
+       sha256 = "0fdbqfvc4ys14synk5avriwdif88r6pb49v01fd00j1rfrl2jrsy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring directory filepath optparse-applicative
+         process unix
+       ];
+       description = "Cabal binary sandboxes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cached-traversable" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, mtl
+     }:
+     mkDerivation {
+       pname = "cached-traversable";
+       version = "0.1.0.1";
+       sha256 = "05hlj6qdy0iqyi8z75h7fr9ijfhxngyr3v60q8y681acsgr54dv6";
+       buildDepends = [
+         base binary bytestring containers directory filepath mtl
+       ];
+       description = "Transparent, persistent caching of lazy, traversable structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "caf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "caf";
+       version = "0.0.3";
+       sha256 = "1yrl3ffkfwgs4kljx57m1ldam087s7iby2qs74c4crxkrcj0j7a8";
+       buildDepends = [ base ];
+       homepage = "http://sites.google.com/site/cafwiki/";
+       description = "A library of Concurrency Abstractions using Futures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cafeteria-prelude" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cafeteria-prelude";
+       version = "0.1.0.0";
+       sha256 = "1iyasmd8zcg98vy7ffhxyyr664f02ird5z7rks9n67ixv7n60mrl";
+       buildDepends = [ base ];
+       homepage = "https://github.com/Scott-Fleischman/cafeteria-prelude";
+       description = "Prelude subsets—take only what you want!";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "caffegraph" = callPackage
+    ({ mkDerivation, base, bytestring, containers, fgl, filepath
+     , graphviz, language-lua, lens, mtl, optparse-applicative, process
+     , protocol-buffers, protocol-buffers-descriptor, template-haskell
+     , temporary, text
+     }:
+     mkDerivation {
+       pname = "caffegraph";
+       version = "0.1.0.2";
+       sha256 = "1yz427ygabkycvngqw250ksl17nwi0fy52x2fy3x6apg79cw1ng2";
+       buildDepends = [
+         base bytestring containers fgl filepath graphviz language-lua lens
+         mtl optparse-applicative process protocol-buffers
+         protocol-buffers-descriptor template-haskell temporary text
+       ];
+       homepage = "https://github.com/ajtulloch/caffegraph/";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cairo" = callPackage
+    ({ mkDerivation, array, base, bytestring, cairo, gtk2hs-buildtools
+     , mtl, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "cairo";
+       version = "0.13.1.0";
+       sha256 = "0vi7glzizi2nvv0p5wsdxlpkx3f1875jpij26k2j4h0h6z53z3kb";
+       buildDepends = [ array base bytestring mtl text utf8-string ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ cairo ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Cairo library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) cairo;};
+
+  "cairo-appbase" = callPackage
+    ({ mkDerivation, base, cairo, glib, gtk }:
+     mkDerivation {
+       pname = "cairo-appbase";
+       version = "0.4";
+       sha256 = "1191j2587f1sy4d6z57df21xn00qdpv27clib7cyaqdy5jnv3zw2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cairo glib gtk ];
+       description = "A template for building new GUI applications using GTK and Cairo";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cake" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cmdargs
+     , containers, derive, directory, filepath, mtl, parsek, process
+     , pureMD5, regex-tdfa, split
+     }:
+     mkDerivation {
+       pname = "cake";
+       version = "1.1.0.1";
+       sha256 = "168szg38gq0g0mppjszcsmsdygs8qy23w6xsz8gbg7dkh7izy1ba";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring cmdargs containers derive directory
+         filepath mtl parsek process pureMD5 regex-tdfa split
+       ];
+       description = "A build-system library and driver";
+       license = "GPL";
+     }) {};
+
+  "cake3" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
+     , directory, filepath, haskell-src-meta, language-javascript
+     , mime-types, monadloc, mtl, optparse-applicative, parsec, process
+     , syb, system-filepath, template-haskell, text, text-format
+     }:
+     mkDerivation {
+       pname = "cake3";
+       version = "0.6.0";
+       sha256 = "0k045qqnivhmsvxas0zlmp9qgkb16917s4wk67l7mscgpi99fhdq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers deepseq directory filepath
+         haskell-src-meta language-javascript mime-types monadloc mtl
+         optparse-applicative parsec process syb system-filepath
+         template-haskell text text-format
+       ];
+       homepage = "https://github.com/grwlf/cake3";
+       description = "Third cake the Makefile EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cakyrespa" = callPackage
+    ({ mkDerivation, base, GLUT, gluturtle, lojbanParser, yjsvg
+     , yjtools
+     }:
+     mkDerivation {
+       pname = "cakyrespa";
+       version = "0.0.29";
+       sha256 = "1a2ypgkpzzp2hn14x35ava0p0k781s7mhldw29ppl1an7fs91fyx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT gluturtle lojbanParser yjsvg yjtools ];
+       homepage = "http://homepage3.nifty.com/salamander/myblog/cakyrespa.html";
+       description = "run turtle like LOGO with lojban";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cal3d" = callPackage
+    ({ mkDerivation, base, cal3d }:
+     mkDerivation {
+       pname = "cal3d";
+       version = "0.1";
+       sha256 = "1b4pajzpf879vns2kffkqgyk5sbsfrr3q2kv5ryvls8rgwcjc3q6";
+       buildDepends = [ base ];
+       extraLibraries = [ cal3d ];
+       homepage = "http://haskell.org/haskellwiki/Cal3d_animation";
+       description = "Haskell binding to the Cal3D animation library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { cal3d = null;};
+
+  "cal3d-examples" = callPackage
+    ({ mkDerivation, base, cal3d, cal3d-opengl, OpenGL, SDL }:
+     mkDerivation {
+       pname = "cal3d-examples";
+       version = "0.1";
+       sha256 = "1fj6v1dw1gyy6dx4ssiziahxf8j8vr4l35n3rm04g797wypswmw0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cal3d cal3d-opengl OpenGL SDL ];
+       homepage = "http://haskell.org/haskellwiki/Cal3d_animation";
+       description = "Examples for the Cal3d animation library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cal3d-opengl" = callPackage
+    ({ mkDerivation, base, cal3d, OpenGL }:
+     mkDerivation {
+       pname = "cal3d-opengl";
+       version = "0.1";
+       sha256 = "02na1ww5dw08n2y7v2vkgdvzw0zpiic5683jac7f2zvhcij68sf2";
+       buildDepends = [ base cal3d OpenGL ];
+       homepage = "http://haskell.org/haskellwiki/Cal3d_animation";
+       description = "OpenGL rendering for the Cal3D animation library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "calc" = callPackage
+    ({ mkDerivation, array, base, harpy, haskell98, mtl }:
+     mkDerivation {
+       pname = "calc";
+       version = "0.1";
+       sha256 = "1h3rqxj2df68knrb2rhp75rc92q9knsa7jp749j9h24258yr6qxw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base harpy haskell98 mtl ];
+       description = "A small compiler for arithmetic expressions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "calculator" = callPackage
+    ({ mkDerivation, base, containers, haskeline, parsec, QuickCheck }:
+     mkDerivation {
+       pname = "calculator";
+       version = "0.3.0.2";
+       sha256 = "14fcb4zfx7pk0ha3hvlpj84mxp82jpn1ywyjnfmczm3ic4mq98m9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers haskeline parsec ];
+       testDepends = [ base containers parsec QuickCheck ];
+       homepage = "https://github.com/sumitsahrawat/calculator";
+       description = "A calculator repl, with variables, functions & Mathematica like dynamic plots";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "caldims" = callPackage
+    ({ mkDerivation, base, containers, directory, haskell98, mtl
+     , parsec, readline
+     }:
+     mkDerivation {
+       pname = "caldims";
+       version = "0.1.0";
+       sha256 = "0mlgxghah8mw0v17rywfj190kmc4jajpmjpgkpgfxdqzw8djyph0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory haskell98 mtl parsec readline
+       ];
+       description = "Calculation tool and library supporting units";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "caledon" = callPackage
+    ({ mkDerivation, base, containers, cpphs, lens, mtl, parsec
+     , transformers
+     }:
+     mkDerivation {
+       pname = "caledon";
+       version = "3.2.1.0";
+       sha256 = "0mg3qn4zfsg5pvfp51zjvsy24mljkqh2f7bsjbz04zasx5852dz9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers cpphs lens mtl parsec transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mmirman/caledon";
+       description = "a logic programming language based on the calculus of constructions";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "call" = callPackage
+    ({ mkDerivation, audiovisual, base, bindings-portaudio
+     , boundingboxes, colors, containers, control-bool, deepseq
+     , directory, filepath, free, freetype2, GLFW-b, hashable
+     , JuicyPixels, JuicyPixels-util, lens, linear, mtl, objective
+     , OpenGL, OpenGLRaw, random, reflection, template-haskell, text
+     , transformers, vector, WAVE
+     }:
+     mkDerivation {
+       pname = "call";
+       version = "0.2";
+       sha256 = "1hbzrhhx0cjgpxiq3200n38pl2m2y727zfmgfdfs45l1hqbvrldp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         audiovisual base bindings-portaudio boundingboxes colors containers
+         control-bool deepseq directory filepath free freetype2 GLFW-b
+         hashable JuicyPixels JuicyPixels-util lens linear mtl objective
+         OpenGL OpenGLRaw random reflection template-haskell text
+         transformers vector WAVE
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fumieval/call";
+       description = "The call game engine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "camh" = callPackage
+    ({ mkDerivation, base, bytestring, Imlib, terminfo }:
+     mkDerivation {
+       pname = "camh";
+       version = "0.0.2";
+       sha256 = "0xk1rxydncwfwj9cg4jwdgi8mlgwmk5nfk462pla26dqqg44aw2p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring Imlib terminfo ];
+       homepage = "not yet available";
+       description = "Image converter to 256-colored text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "campfire" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , filepath, http-enumerator, http-types, mtl, old-locale, process
+     , text, time, transformers, unordered-containers, url
+     }:
+     mkDerivation {
+       pname = "campfire";
+       version = "0.2.1";
+       sha256 = "06m5d7b6dqmp3x09b1nib1rxjh1gvx84bhvfnydlb26093za71b4";
+       buildDepends = [
+         aeson attoparsec base bytestring containers filepath
+         http-enumerator http-types mtl old-locale process text time
+         transformers unordered-containers url
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/michaelxavier/Campfire";
+       description = "Haskell implementation of the Campfire API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "canonical-filepath" = callPackage
+    ({ mkDerivation, base, deepseq, directory, filepath }:
+     mkDerivation {
+       pname = "canonical-filepath";
+       version = "1.0.0.3";
+       sha256 = "0dg9d4v08gykbjmzafpakgwc51mq5d5m6ilmhp68czpl30sqjhwf";
+       buildDepends = [ base deepseq directory filepath ];
+       homepage = "http://github.com/nominolo/canonical-filepath";
+       description = "Abstract data type for canonical file paths";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cantor" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, hspec, hxt, hxt-xpath, parsec, QuickCheck, split
+     }:
+     mkDerivation {
+       pname = "cantor";
+       version = "0.4";
+       sha256 = "16dx8v29gfwrrfb2lwkjlwbbp8n6jdpdcmwh15rrfx97rz4k0qz3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath hxt hxt-xpath parsec
+         split
+       ];
+       testDepends = [
+         base bytestring Cabal containers directory filepath hspec hxt
+         hxt-xpath parsec QuickCheck split
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/klangner/cantor";
+       description = "Application for analysis of java source code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cao" = callPackage
+    ({ mkDerivation, alex, array, base, cmdargs, ConfigFile, containers
+     , directory, dlist, filepath, happy, language-c, mtl, pretty
+     , process, yices
+     }:
+     mkDerivation {
+       pname = "cao";
+       version = "0.1.1";
+       sha256 = "0rmq22fiaadpszckbj5k5gi4sr1jipinyrx9hwc21k5d185vsakd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base cmdargs ConfigFile containers directory dlist filepath
+         language-c mtl pretty process yices
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://haslab.uminho.pt/mbb/software/cao-domain-specific-language-cryptography";
+       description = "CAO Compiler";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cap" = callPackage
+    ({ mkDerivation, array, base, containers, haskell98 }:
+     mkDerivation {
+       pname = "cap";
+       version = "1.0.1";
+       sha256 = "1492x5hy5ljf0h40c045jd3w26f7jwqplgncka3dnw4mx9kq4g15";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers haskell98 ];
+       description = "Interprets and debug the cap language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "capped-list" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "capped-list";
+       version = "1.2";
+       sha256 = "0sik7svknaam6fhlvb4p1ijwaiwrgssrdl9gmq1wmfx66g069xi9";
+       buildDepends = [ base ];
+       description = "A list-like type for lazy sequences, with a user-defined termination value";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "capri" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, process }:
+     mkDerivation {
+       pname = "capri";
+       version = "0.1";
+       sha256 = "0hsrznygvn1b2qpc75591kzmcpqh7p5fhi1mw3ws2c75igjqbni7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal directory filepath process ];
+       description = "A simple wrapper over cabal-install to operate in project-private mode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "caramia" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions, gl
+     , HUnit, lens, linear, mtl, sdl2, semigroups, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "caramia";
+       version = "0.7.2.1";
+       sha256 = "01l6i8cb2q73vc4w6fbn90mkx7sxxsnwzhj0jg4yjhnrg4js0hlh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers exceptions gl lens linear mtl semigroups
+         text transformers vector
+       ];
+       testDepends = [
+         base containers HUnit linear sdl2 test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Noeda/caramia/";
+       description = "High-level OpenGL bindings";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "carboncopy" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, haskell98, IfElse
+     , MissingH
+     }:
+     mkDerivation {
+       pname = "carboncopy";
+       version = "0.1.2";
+       sha256 = "1wi06n0cdqkvyqqr9ji7nyjn09qqckskrzi3djcnxgwhwwp8da3i";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring filepath haskell98 IfElse MissingH
+       ];
+       homepage = "http://github.com/jdevelop/carboncopy";
+       description = "Drop emails from threads being watched into special CC folder";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "carettah" = callPackage
+    ({ mkDerivation, base, cairo, directory, filepath, gtk, hcwiid
+     , highlighting-kate, mtl, pandoc, pango, process, time
+     }:
+     mkDerivation {
+       pname = "carettah";
+       version = "0.3.0";
+       sha256 = "1vjrppsqmlxajj7dxr13ynipp0adi6xxpqic5mma04sjgi3afrj2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo directory filepath gtk hcwiid highlighting-kate mtl
+         pandoc pango process time
+       ];
+       homepage = "http://carettah.masterq.net/";
+       description = "A presentation tool written with Haskell";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "carray" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, ix-shapable, syb
+     }:
+     mkDerivation {
+       pname = "carray";
+       version = "0.1.5.2";
+       sha256 = "0kjqxjnamhnpjjf2bgm1gnsy6jx1fjbn5mx394pyx1vq3lkfgfb0";
+       buildDepends = [ array base binary bytestring ix-shapable syb ];
+       description = "A C-compatible array library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cartel" = callPackage
+    ({ mkDerivation, base, directory, filepath, multiarg, QuickCheck
+     , random, tasty, tasty-quickcheck, tasty-th, time, transformers
+     }:
+     mkDerivation {
+       pname = "cartel";
+       version = "0.14.2.6";
+       sha256 = "05m4b8gi5ysx73yzlhl27fx9i8fnlihxwsyh6a0702kzwgn40icc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath time transformers ];
+       testDepends = [
+         base directory filepath multiarg QuickCheck random tasty
+         tasty-quickcheck tasty-th time transformers
+       ];
+       homepage = "http://www.github.com/massysett/cartel";
+       description = "Specify Cabal files in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "casadi-bindings" = callPackage
+    ({ mkDerivation, base, binary, casadi, casadi-bindings-core
+     , casadi-bindings-internal, cereal, containers, linear, vector
+     , vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "casadi-bindings";
+       version = "2.3.0.0";
+       sha256 = "0znzn73c6cc7jyj460djlhzydkw9jqxhjm62kiz5pv2j7bvpv7aw";
+       buildDepends = [
+         base binary casadi-bindings-core casadi-bindings-internal cereal
+         containers linear vector vector-binary-instances
+       ];
+       pkgconfigDepends = [ casadi ];
+       homepage = "http://github.com/ghorn/casadi-bindings";
+       description = "mid-level bindings to CasADi";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { casadi = null;};
+
+  "casadi-bindings-control" = callPackage
+    ({ mkDerivation, base, casadi-bindings-core
+     , casadi-bindings-internal, casadi_control, vector
+     }:
+     mkDerivation {
+       pname = "casadi-bindings-control";
+       version = "2.0.0.1";
+       sha256 = "03lpg9vp47db8wc4waajfh1z96f3nc1v29wqc9a58vrhfdnhp52w";
+       buildDepends = [
+         base casadi-bindings-core casadi-bindings-internal vector
+       ];
+       pkgconfigDepends = [ casadi_control ];
+       jailbreak = true;
+       description = "low level bindings to casadi-control";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { casadi_control = null;};
+
+  "casadi-bindings-core" = callPackage
+    ({ mkDerivation, base, casadi, casadi-bindings-internal, vector }:
+     mkDerivation {
+       pname = "casadi-bindings-core";
+       version = "2.3.0.0";
+       sha256 = "1n892agqknwjs2paszafp6b1xgiz8zfmlxqb2wm0d99487175lcv";
+       buildDepends = [ base casadi-bindings-internal vector ];
+       pkgconfigDepends = [ casadi ];
+       description = "autogenerated low level bindings to casadi";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { casadi = null;};
+
+  "casadi-bindings-internal" = callPackage
+    ({ mkDerivation, base, casadi, vector }:
+     mkDerivation {
+       pname = "casadi-bindings-internal";
+       version = "0.1.3.0";
+       sha256 = "1kazy8xppydbl6gkdn1y1gv2lz38sif6i92crkxb476xz0fvmf00";
+       buildDepends = [ base vector ];
+       pkgconfigDepends = [ casadi ];
+       homepage = "http://github.com/ghorn/casadi-bindings";
+       description = "low level bindings to CasADi";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { casadi = null;};
+
+  "casadi-bindings-ipopt-interface" = callPackage
+    ({ mkDerivation, base, casadi-bindings-core
+     , casadi-bindings-internal, casadi_ipopt_interface, vector
+     }:
+     mkDerivation {
+       pname = "casadi-bindings-ipopt-interface";
+       version = "1.9.0.3";
+       sha256 = "1h1qpl8ch8riz614fssirlp5j3vzi39jjajwjnfqvgw7h8sdam2a";
+       buildDepends = [
+         base casadi-bindings-core casadi-bindings-internal vector
+       ];
+       pkgconfigDepends = [ casadi_ipopt_interface ];
+       description = "low level bindings to casadi-ipopt_interface";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { casadi_ipopt_interface = null;};
+
+  "casadi-bindings-snopt-interface" = callPackage
+    ({ mkDerivation, base, casadi-bindings-core
+     , casadi-bindings-internal, casadi_snopt_interface, vector
+     }:
+     mkDerivation {
+       pname = "casadi-bindings-snopt-interface";
+       version = "1.9.0.3";
+       sha256 = "0sygbbvdrd1za6k9yf0yqxfd48imlhghzf6sy0dh77jmdhlb8asw";
+       buildDepends = [
+         base casadi-bindings-core casadi-bindings-internal vector
+       ];
+       pkgconfigDepends = [ casadi_snopt_interface ];
+       description = "low level bindings to casadi-snopt_interface";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { casadi_snopt_interface = null;};
+
+  "cascading" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, colour
+     , containers, lens, mtl, text, utf8-string, web-routes
+     }:
+     mkDerivation {
+       pname = "cascading";
+       version = "0.1.0";
+       sha256 = "0w9zhaf4a09nl3b1sffllgf0zc10lzy38a8k4f7sbc0hr45wzj5y";
+       buildDepends = [
+         base blaze-builder bytestring colour containers lens mtl text
+         utf8-string web-routes
+       ];
+       jailbreak = true;
+       description = "DSL for HTML CSS (Cascading Style Sheets)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "case-conversion" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "case-conversion";
+       version = "0.1";
+       sha256 = "1njnhbqj1c0zxr0vkb7qh51764f3hscjqjq2yzgyy1shfrc1y1i4";
+       buildDepends = [ base ];
+       homepage = "www.xy30.com";
+       description = "Convert between different cases";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "case-insensitive" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hashable, HUnit
+     , test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "case-insensitive";
+       version = "1.2.0.4";
+       sha256 = "07nm40r9yw2p9qsfp3pjbsmyn4dabrxw34p48171zmccdd5hv0v3";
+       buildDepends = [ base bytestring deepseq hashable text ];
+       testDepends = [
+         base bytestring HUnit test-framework test-framework-hunit text
+       ];
+       homepage = "https://github.com/basvandijk/case-insensitive";
+       description = "Case insensitive string comparison";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cases" = callPackage
+    ({ mkDerivation, attoparsec, base, base-prelude, HTF, HUnit
+     , loch-th, placeholders, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "cases";
+       version = "0.1.2";
+       sha256 = "02m4dlp0l4jd53j1ziq9hkxsj61m74b886ch7vx74n6caz90qnph";
+       buildDepends = [ attoparsec base-prelude loch-th text ];
+       testDepends = [
+         base HTF HUnit loch-th placeholders QuickCheck text
+       ];
+       homepage = "https://github.com/nikita-volkov/cases";
+       description = "A converter for spinal, snake and camel cases";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cash" = callPackage
+    ({ mkDerivation, base, deepseq, haskell98, HaXml, network, parallel
+     , pretty
+     }:
+     mkDerivation {
+       pname = "cash";
+       version = "0.1.0.1";
+       sha256 = "0pwn33dpv5bgs74i8x6q47hsbl0jg68xwhjjiwyjdyl6sb3rfih7";
+       buildDepends = [
+         base deepseq haskell98 HaXml network parallel pretty
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.st-andrews.ac.uk/~hwloidl/SCIEnce/SymGrid-Par/CASH/";
+       description = "the Computer Algebra SHell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cassandra-cql" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, cryptohash
+     , Decimal, hslogger, MonadCatchIO-transformers, mtl, network
+     , resource-pool, stm, text, time, uuid
+     }:
+     mkDerivation {
+       pname = "cassandra-cql";
+       version = "0.5.0.1";
+       sha256 = "0n1w1hriscrjky3d4qwzzm3p41yg9gvnxyq9sfm3kb7lijc4xj2d";
+       buildDepends = [
+         base bytestring cereal containers cryptohash Decimal hslogger
+         MonadCatchIO-transformers mtl network resource-pool stm text time
+         uuid
+       ];
+       description = "Haskell client for Cassandra's CQL protocol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cassandra-thrift" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Thrift }:
+     mkDerivation {
+       pname = "cassandra-thrift";
+       version = "0.8.5.1";
+       sha256 = "0hmmi0g32nfwcny56sb4jw463jp7hiwj2hhv42bf8h9az30vjxwc";
+       buildDepends = [ base bytestring containers Thrift ];
+       homepage = "http://cassandra.apache.org/";
+       description = "thrift bindings to the cassandra database";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cassava" = callPackage
+    ({ mkDerivation, array, attoparsec, base, blaze-builder, bytestring
+     , containers, deepseq, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "cassava";
+       version = "0.4.2.3";
+       sha256 = "13fhim3ylxhkr7wy5dss3m1k3cqlhrvknzbqsi1yclfkvp4wzc2f";
+       buildDepends = [
+         array attoparsec base blaze-builder bytestring containers deepseq
+         text unordered-containers vector
+       ];
+       testDepends = [
+         attoparsec base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/tibbe/cassava";
+       description = "A CSV parsing and encoding library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cassava-conduit" = callPackage
+    ({ mkDerivation, array, base, bifunctors, bytestring, cassava
+     , conduit, conduit-extra, containers, mtl, QuickCheck
+     }:
+     mkDerivation {
+       pname = "cassava-conduit";
+       version = "0.2.0";
+       sha256 = "09z7i147qs292xl3hqqi1x1kigrxdh5s8gzin12fgcpbyjggv30n";
+       buildDepends = [
+         array base bifunctors bytestring cassava conduit conduit-extra
+         containers mtl
+       ];
+       testDepends = [ base QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/domdere/cassava-conduit";
+       description = "Conduit interface for cassava package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cassava-streams" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, io-streams, QuickCheck
+     , tasty, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "cassava-streams";
+       version = "0.1.1.0";
+       sha256 = "08b144jm9805wqj68cgmh5j0bq03i439cpbxvq5m2k72m9s81kl7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring cassava io-streams vector ];
+       testDepends = [
+         base bytestring cassava io-streams QuickCheck tasty
+         tasty-quickcheck vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pjones/cassava-streams";
+       description = "io-streams interface for the cassava CSV library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cassette" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cassette";
+       version = "0.1.0";
+       sha256 = "04qnk1s4bdj3wbbxdwzzvpnhkcgma8c4qfkg454ybg7f8kyv6h7x";
+       buildDepends = [ base ];
+       description = "A combinator library for simultaneously defining parsers and pretty printers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cassy" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring
+     , cassandra-thrift, cereal, conduit, containers, data-default
+     , derive, errors, exceptions, HUnit, mtl, network, QuickCheck
+     , resource-pool, retry, safecopy, stm, syb, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, Thrift
+     , time, transformers-base
+     }:
+     mkDerivation {
+       pname = "cassy";
+       version = "0.7.1";
+       sha256 = "0nm1xn7rkxqdap0k3lcl29jp7ajn5fypaqx3ag1zbyp8llc7xy0f";
+       buildDepends = [
+         aeson async attoparsec base binary bytestring cassandra-thrift
+         cereal conduit containers data-default errors exceptions mtl
+         network resource-pool retry safecopy stm syb text Thrift time
+         transformers-base
+       ];
+       testDepends = [
+         base bytestring cassandra-thrift containers derive HUnit network
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text Thrift time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ozataman/cassy";
+       description = "A high level driver for the Cassandra datastore";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "castle" = callPackage
+    ({ mkDerivation, base, configurator, containers, errors, hspec
+     , lens, optparse-applicative, QuickCheck, shelly, system-fileio
+     , system-filepath, tasty, tasty-golden, tasty-hspec
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "castle";
+       version = "0.1.0.0";
+       sha256 = "1xsimlz0s0x9hdqvs0mscwj756znhd9mxhq23l8ppm5lavplpycp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base configurator containers errors lens optparse-applicative
+         shelly system-fileio system-filepath text
+       ];
+       testDepends = [
+         base hspec QuickCheck tasty tasty-golden tasty-hspec
+         tasty-quickcheck
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/erochest/castle";
+       description = "A tool to manage shared cabal-install sandboxes";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "casui" = callPackage
+    ({ mkDerivation, base, gtk, haskell98, mtl, parsec }:
+     mkDerivation {
+       pname = "casui";
+       version = "0.3";
+       sha256 = "1vjhg9dxg23q0dqr07gbrg92h3m9r38d7jb3c4sxnw6gaj76f5gw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gtk haskell98 mtl parsec ];
+       homepage = "http://code.atnnn.com/projects/casui";
+       description = "Equation Manipulator";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "catamorphism" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "catamorphism";
+       version = "0.4.0.0";
+       sha256 = "00gyb84jfb19n4g0igm4sikqk2bl96wj9293g82rjxgrk9m19iq7";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://github.com/frerich/catamorphism";
+       description = "A package exposing a helper function for generating catamorphisms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "catch-fd" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "catch-fd";
+       version = "0.2.0.2";
+       sha256 = "05fvrkvqyj7xdn6vvdwhfbym7rg9fl7r7lzzcsr2cx59iqi23frx";
+       buildDepends = [ base mtl transformers ];
+       homepage = "http://github.com/sonyandy/catch-fd";
+       description = "MonadThrow and MonadCatch, using functional dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "categorical-algebra" = callPackage
+    ({ mkDerivation, base, newtype, pointless-haskell, void }:
+     mkDerivation {
+       pname = "categorical-algebra";
+       version = "0.0.0.1";
+       sha256 = "1kx6195mfnw4aqmcd1m4s8z5l1s8zh69in00p9a0mxm3xj3pfvpl";
+       buildDepends = [ base newtype pointless-haskell void ];
+       description = "Categorical Monoids and Semirings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "categories" = callPackage
+    ({ mkDerivation, base, void }:
+     mkDerivation {
+       pname = "categories";
+       version = "1.0.7";
+       sha256 = "18ihv16g4w0s6n89c64j4998hbsgzhp5w9ph2gdkygq7f30cx7f2";
+       buildDepends = [ base void ];
+       homepage = "http://github.com/ekmett/categories";
+       description = "Categories";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "category-extras" = callPackage
+    ({ mkDerivation, adjunctions, bifunctors, categories, comonad
+     , comonad-extras, comonad-transformers, comonads-fd, contravariant
+     , distributive, either, free, groupoids, indexed, indexed-extras
+     , invariant, kan-extensions, keys, monad-products, pointed
+     , profunctor-extras, profunctors, recursion-schemes, reducers
+     , representable-functors, representable-profunctors
+     , semigroupoid-extras, semigroupoids, semigroups, void
+     }:
+     mkDerivation {
+       pname = "category-extras";
+       version = "1.0.2";
+       sha256 = "168psp1qd80838b9945499qh99jidbl2gngcrjqk6hb0qsyhckcq";
+       buildDepends = [
+         adjunctions bifunctors categories comonad comonad-extras
+         comonad-transformers comonads-fd contravariant distributive either
+         free groupoids indexed indexed-extras invariant kan-extensions keys
+         monad-products pointed profunctor-extras profunctors
+         recursion-schemes reducers representable-functors
+         representable-profunctors semigroupoid-extras semigroupoids
+         semigroups void
+       ];
+       homepage = "http://comonad.com/reader/";
+       description = "A meta-package documenting various packages inspired by category theory";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cautious-file" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, unix }:
+     mkDerivation {
+       pname = "cautious-file";
+       version = "1.0.2";
+       sha256 = "1sw5ngwrarq1lsd4c6v2wdmgbhkkq6kpybb62r8ccm11ddgn3yiq";
+       buildDepends = [ base bytestring directory filepath unix ];
+       description = "Ways to write a file cautiously, to reduce the chances of problems such as data loss due to crashes or power failures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cayley-client" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, exceptions
+     , http-client, http-conduit, lens, lens-aeson, mtl, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "cayley-client";
+       version = "0.1.2.1";
+       sha256 = "0c2n37p8530awkpwnygrpz7zssv22ycjjml2623f61x7q8ilb8p6";
+       buildDepends = [
+         aeson attoparsec base bytestring exceptions http-client
+         http-conduit lens lens-aeson mtl text transformers
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/MichelBoucey/cayley-client";
+       description = "A Haskell client for Cayley graph database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cblrepo" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal
+     , containers, directory, filepath, mtl, optparse-applicative
+     , process, safe, tar, unix, Unixutils, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "cblrepo";
+       version = "0.15.0";
+       sha256 = "1a7bhy3yvrmnirh7nmlz6d1nyxs5dng2ap17h8585yhx9k1a5n68";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-wl-pprint base bytestring Cabal containers directory
+         filepath mtl optparse-applicative process safe tar unix Unixutils
+         utf8-string zlib
+       ];
+       jailbreak = true;
+       description = "Tool to maintain a database of CABAL packages and their dependencies";
+       license = "unknown";
+     }) {};
+
+  "cci" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cci, cmdargs, containers
+     , filepath, mtl, pretty, process, random, time
+     }:
+     mkDerivation {
+       pname = "cci";
+       version = "0.3.1";
+       sha256 = "0pvap67fn9kmjvn2qqq3x99k3mzrrsnb6q6fhawvyxv8drihsfc7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base binary bytestring cmdargs containers filepath mtl pretty
+         process random time
+       ];
+       extraLibraries = [ cci ];
+       description = "Bindings for the CCI networking library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { cci = null;};
+
+  "ccnx" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "ccnx";
+       version = "0.0.0";
+       sha256 = "18gnm6skzdnh6cis7l7v3d5813zn6irw6nywg6shffrn8v2y6xh7";
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       homepage = "http://tomahawkins.org";
+       description = "A Haskell implementation of the CCNx network protocol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cctools-workqueue" = callPackage
+    ({ mkDerivation, bindings-cctools, bytestring, dttools, lens
+     , monad-loops, unix
+     }:
+     mkDerivation {
+       pname = "cctools-workqueue";
+       version = "3.6.1.0.1.0.0.1";
+       sha256 = "1nqczr2f4bv107sdhqnllqcaz413r4f69f9ypshig8jyxzpcdwn3";
+       buildDepends = [
+         bindings-cctools bytestring lens monad-loops unix
+       ];
+       extraLibraries = [ dttools ];
+       homepage = "http://bitbucket.org/badi/hs-cctools-workqueue";
+       description = "High-level interface to CCTools' WorkQueue library";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { dttools = null;};
+
+  "cedict" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, parsec
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "cedict";
+       version = "0.2.5";
+       sha256 = "13nhwd07ly2ppgbakffr2cc2idacz0q5bahz0819jjascspm32vy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers mtl parsec utf8-string
+       ];
+       jailbreak = true;
+       description = "Convenient Chinese phrase & character lookup";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ceilometer-common" = callPackage
+    ({ mkDerivation, base, bimap, binary, bytestring, containers
+     , data-ordlist, foldl, hspec, lens, lens-properties, mtl, pipes
+     , QuickCheck, siphash, template-haskell, text, transformers
+     , vaultaire-common
+     }:
+     mkDerivation {
+       pname = "ceilometer-common";
+       version = "0.2.3";
+       sha256 = "1zqqh7k627yw6vfcdihl2gw8hh3l9gxj283azmmcc9pm15grblps";
+       buildDepends = [
+         base bimap binary bytestring containers foldl lens pipes siphash
+         template-haskell text vaultaire-common
+       ];
+       testDepends = [
+         base bimap binary bytestring containers data-ordlist foldl hspec
+         lens lens-properties mtl pipes QuickCheck siphash template-haskell
+         text transformers vaultaire-common
+       ];
+       homepage = "https://github.com/anchor/ceilometer-common";
+       description = "Common Haskell types and encoding for OpenStack Ceilometer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cellrenderer-cairo" = callPackage
+    ({ mkDerivation, base, c2hs, cairo, glib, gtk, mtl }:
+     mkDerivation {
+       pname = "cellrenderer-cairo";
+       version = "1.0.0.0";
+       sha256 = "05cdrq1mrrhfbsk1w1dg5qayan0h9m92r4gqgcpzfa9a073w78zw";
+       buildDepends = [ base cairo glib gtk mtl ];
+       buildTools = [ c2hs ];
+       jailbreak = true;
+       description = "Cairo-based CellRenderer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cereal" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, ghc-prim }:
+     mkDerivation {
+       pname = "cereal";
+       version = "0.4.1.1";
+       sha256 = "15rhfn9hrjm01ksh9xpz9syxsp9vkvpp6b736iqq38wv2wb7416z";
+       buildDepends = [ array base bytestring containers ghc-prim ];
+       description = "A binary serialization library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cereal-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, HUnit, mtl
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "cereal-conduit";
+       version = "0.7.2.3";
+       sha256 = "0s1s8jm25wxj44x44vjz4kz5qblkyjaz7f8rw5i81bzam32afj9s";
+       buildDepends = [
+         base bytestring cereal conduit resourcet transformers
+       ];
+       testDepends = [
+         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-derive" = callPackage
+    ({ mkDerivation, base, cereal, ghc-prim }:
+     mkDerivation {
+       pname = "cereal-derive";
+       version = "0.1.1";
+       sha256 = "04mlg1r2qvrwdzcfbf1aqs4bf9n2gc7cwv73fbhld2ji5naa6fwb";
+       buildDepends = [ base cereal ghc-prim ];
+       jailbreak = true;
+       description = "Automatic deriving of Serialize using GHC.Generics";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "cereal-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, enumerator }:
+     mkDerivation {
+       pname = "cereal-enumerator";
+       version = "0.3.1";
+       sha256 = "0lpsj4f7v4sgrr6lf8jl07xwj8j3i3wj23as0imswk71f7xwfnnk";
+       buildDepends = [ base bytestring cereal enumerator ];
+       description = "Deserialize things with cereal and enumerator";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cereal-ieee754" = callPackage
+    ({ mkDerivation, array, base, cereal }:
+     mkDerivation {
+       pname = "cereal-ieee754";
+       version = "0.1";
+       sha256 = "1gr22ziz9bj4q3y8j1vg46m648zqvbajfdks8p64xc28ci25pw2s";
+       buildDepends = [ array base cereal ];
+       jailbreak = true;
+       homepage = "http://github.com/jystic/cereal-ieee754";
+       description = "Floating point support for the 'cereal' serialization library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cereal-plus" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , errors, hashable, hashtables, HTF, HUnit, mmorph, mtl, QuickCheck
+     , quickcheck-instances, stm, text, time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "cereal-plus";
+       version = "0.4.0";
+       sha256 = "109y4ydhbl68rsi95fwck3gq1wvn9bpv0r9g9b7fm8wsgd06gipc";
+       buildDepends = [
+         array base bytestring cereal containers errors hashable hashtables
+         mmorph mtl stm text time unordered-containers vector
+       ];
+       testDepends = [
+         array base bytestring cereal containers errors hashable hashtables
+         HTF HUnit mmorph mtl QuickCheck quickcheck-instances stm text time
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/nikita-volkov/cereal-plus";
+       description = "An extended serialization library on top of \"cereal\"";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cereal-text" = callPackage
+    ({ mkDerivation, base, cereal, text }:
+     mkDerivation {
+       pname = "cereal-text";
+       version = "0.1.0.0";
+       sha256 = "1rpmhafyk49whs77paxa174904idnk8j242mpnlml2b9jjc4rc3d";
+       buildDepends = [ base cereal text ];
+       homepage = "https://github.com/ulikoehler/cereal-text";
+       description = "Data.Text instances for the cereal serialization library";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "cereal-vector" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, QuickCheck, vector }:
+     mkDerivation {
+       pname = "cereal-vector";
+       version = "0.2.0.1";
+       sha256 = "0czrb4l1n73cfxxlzbcqfa34qa3gw0m5w5mlz0rawylyqfk8a1pz";
+       buildDepends = [ base bytestring cereal vector ];
+       testDepends = [ base cereal QuickCheck vector ];
+       homepage = "https://github.com/acfoltzer/cereal-vector";
+       description = "Serialize instances for Data.Vector types.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "certificate" = callPackage
+    ({ mkDerivation, asn1-data, base, bytestring, containers
+     , crypto-pubkey-types, cryptohash, directory, filepath, mtl, pem
+     , process, time
+     }:
+     mkDerivation {
+       pname = "certificate";
+       version = "1.3.9";
+       sha256 = "18g5rq7lpxmvmlnz610537w6mix6z6kxjrfj2ylbhkc81r5pn9g6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         asn1-data base bytestring containers crypto-pubkey-types cryptohash
+         directory filepath mtl pem process time
+       ];
+       homepage = "http://github.com/vincenthz/hs-certificate";
+       description = "Certificates and Key Reader/Writer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cf";
+       version = "0.1";
+       revision = "1";
+       sha256 = "0wwq78b6d6hxaivyxw8rc9dsb0kq4aw0mkp8w0xmnfmz8biymlmg";
+       editedCabalFile = "6bd39af35810e6a40142d87fdd9fc91754fe85098a63a8087626bf9916bd3362";
+       buildDepends = [ base ];
+       homepage = "http://github.com/mvr/cf";
+       description = "Exact real arithmetic using continued fractions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cfipu" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , dequeue, mtl
+     }:
+     mkDerivation {
+       pname = "cfipu";
+       version = "1.1.0.4";
+       sha256 = "1lwgqibxrs8n3czhpyg1halizsmz5jd8r2z8ham4pwi58815fzij";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-default dequeue mtl
+       ];
+       homepage = "https://github.com/bairyn/cfipu";
+       description = "cfipu processor for toy brainfuck-like language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cflp" = callPackage
+    ({ mkDerivation, base, containers, control-monad-omega, HUnit
+     , incremental-sat-solver, level-monad, logict, MonadRandom, mtl
+     , random, stream-monad, syb, value-supply
+     }:
+     mkDerivation {
+       pname = "cflp";
+       version = "2009.2.1";
+       sha256 = "01j4904fa8z2wmflqs3q1g3dg966dllbp2sbxxbghh0hhzwyg0vy";
+       buildDepends = [
+         base containers control-monad-omega HUnit incremental-sat-solver
+         level-monad logict MonadRandom mtl random stream-monad syb
+         value-supply
+       ];
+       homepage = "http://www-ps.informatik.uni-kiel.de/~sebf/projects/cflp.html";
+       description = "Constraint Functional-Logic Programming in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cfopu" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , dequeue, mtl
+     }:
+     mkDerivation {
+       pname = "cfopu";
+       version = "1.0.0";
+       sha256 = "1vd1ilcdd1k081bg4nk1zazdsd9fbz7zzcz453ff0xxjp9xl1b3z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-default dequeue mtl
+       ];
+       description = "cfopu processor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cgen" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl, parsec
+     , regex-posix, safe, template-haskell
+     }:
+     mkDerivation {
+       pname = "cgen";
+       version = "0.0.5";
+       sha256 = "18k9na7gwmnmn5gdin1qi041cb7w49xcgdnjjpc3dhmfiqnq41q8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath mtl parsec regex-posix safe
+         template-haskell
+       ];
+       homepage = "http://anttisalonen.github.com/cgen";
+       description = "generates Haskell bindings and C wrappers for C++ libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cgi" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions, mtl
+     , mtl-compat, multipart, network, network-uri, old-locale, old-time
+     , parsec, xhtml
+     }:
+     mkDerivation {
+       pname = "cgi";
+       version = "3001.2.2.2";
+       sha256 = "0q1pxpa8gi42c0hsidcdkhk5xr5anfrvhqsn3iksr9c0rllhz193";
+       buildDepends = [
+         base bytestring containers exceptions mtl mtl-compat multipart
+         network network-uri old-locale old-time parsec xhtml
+       ];
+       homepage = "https://github.com/cheecheeo/haskell-cgi";
+       description = "A library for writing CGI programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cgi-undecidable" = callPackage
+    ({ mkDerivation, base, cgi, mtl }:
+     mkDerivation {
+       pname = "cgi-undecidable";
+       version = "3000.0.0";
+       sha256 = "1xh3q0s7398gd3513ycxypnj0m9jn0kdbb7459dsb459kbvzdpab";
+       buildDepends = [ base cgi mtl ];
+       description = "Undecidable instances for the cgi package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cgi-utils" = callPackage
+    ({ mkDerivation, base, cgi, containers, mtl, random }:
+     mkDerivation {
+       pname = "cgi-utils";
+       version = "0.2.1";
+       revision = "1";
+       sha256 = "0msljq31bz40hsrhhq9qhxrgmdlqq32l3ykcy4wviv8kmc3dic7p";
+       editedCabalFile = "df1cb1e658d9b79adde373fc31a1d7553a4803f8967c760abf233e75913ddd52";
+       buildDepends = [ base cgi containers mtl random ];
+       homepage = "http://github.com/chrisdone/haskell-cgi-utils";
+       description = "Simple modular utilities for CGI/FastCGI (sessions, etc.)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cgrep" = callPackage
+    ({ mkDerivation, ansi-terminal, array, base, bytestring, cmdargs
+     , containers, directory, dlist, either, filepath, ghc-prim, mtl
+     , regex-posix, safe, split, stm, stringsearch, unix
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "cgrep";
+       version = "6.4.12";
+       sha256 = "1iaq554dx21zdphmry9iarakfispv16sa7fp7pf3n764q4jznq47";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal array base bytestring cmdargs containers directory
+         dlist either filepath ghc-prim mtl regex-posix safe split stm
+         stringsearch unix unordered-containers
+       ];
+       homepage = "http://awgn.github.io/cgrep/";
+       description = "Command line tool";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "chain-codes" = callPackage
+    ({ mkDerivation, base, containers, hspec, JuicyPixels }:
+     mkDerivation {
+       pname = "chain-codes";
+       version = "0.3.0.0";
+       sha256 = "0vw6qwgcljxgrjrsgkpkdqqnpxvibnsc0c4h5kyg5p8h4avsk8k6";
+       buildDepends = [ base containers JuicyPixels ];
+       testDepends = [ base containers hspec JuicyPixels ];
+       homepage = "http://github.com/Fuuzetsu/chain-codes";
+       description = "Library decoding chain codes from images";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "chalk" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "chalk";
+       version = "0.1.0.0";
+       sha256 = "09apxk27s6j8ciq3d2zxhr70ihm9s79zhc2pyg1xb220h6p55swk";
+       buildDepends = [ base ];
+       homepage = "http://github.com/joom/chalk";
+       description = "Terminal string styling";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "chalkboard" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Codec-Image-DevIL
+     , containers, data-reify, directory, GLUT, OpenGLRaw, process, time
+     }:
+     mkDerivation {
+       pname = "chalkboard";
+       version = "1.9.0.16";
+       sha256 = "0786fxylzz73kgbyyy6pz5fhk7rfh4fnrbq0br7ghg74qka66sb9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring Codec-Image-DevIL containers
+         data-reify directory GLUT OpenGLRaw process time
+       ];
+       homepage = "http://www.ittc.ku.edu/csdl/fpg/ChalkBoard";
+       description = "Combinators for building and processing 2D images";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chalkboard-viewer" = callPackage
+    ({ mkDerivation, array, base, chalkboard, GLUT, OpenGL, time }:
+     mkDerivation {
+       pname = "chalkboard-viewer";
+       version = "0.1";
+       sha256 = "1gvnp176j8gd0s6wzq10zpiqkn3wma99pwn3f78wgxm9rh588gh2";
+       buildDepends = [ array base chalkboard GLUT OpenGL time ];
+       jailbreak = true;
+       homepage = "http://ittc.ku.edu/~andygill/chalkboard.php";
+       description = "OpenGL based viewer for chalkboard rendered images";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chalmers-lava2000" = callPackage
+    ({ mkDerivation, array, base, process, random }:
+     mkDerivation {
+       pname = "chalmers-lava2000";
+       version = "1.4.1";
+       sha256 = "19n7z5k6ycn6brnh1n8ykni3ix49d53p3rjggfaklw83knqnvxhy";
+       buildDepends = [ array base process random ];
+       homepage = "http://projects.haskell.org/chalmers-lava2000/Doc/tutorial.pdf";
+       description = "Hardware description EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chan-split" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "chan-split";
+       version = "0.5.0";
+       sha256 = "1mzvrxcf263gs61hj7gafra1cqvpfbzy7rza7ql0xvnmj2g2ybrc";
+       buildDepends = [ base stm ];
+       homepage = "http://brandon.si/code/module-chan-split-released/";
+       description = "Concurrent Chans as read/write pairs. Also provides generic Chan pair class.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "change-monger" = callPackage
+    ({ mkDerivation, base, directory, process }:
+     mkDerivation {
+       pname = "change-monger";
+       version = "0.0";
+       sha256 = "071qc0nhg4431c32z4qh23fiw1bjd1jc4s0sgq5v8ymwz4rfy9a2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory process ];
+       description = "Parse VCS changelogs into ChangeLogs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "charade" = callPackage
+    ({ mkDerivation, base, configurator, containers, filepath, heist
+     , lens, mtl, QuickCheck, random, snap, snap-core, snap-extras
+     , snap-server, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "charade";
+       version = "0.1.1.2";
+       sha256 = "0vi82z2c3km5shyk3wwb07y3cqcnkvkgvbl1s36a50kbz65jrl64";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base configurator containers filepath heist lens mtl QuickCheck
+         random snap snap-core snap-extras snap-server text xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/soostone/charade";
+       description = "Rapid prototyping websites with Snap and Heist";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "charset" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, semigroups
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "charset";
+       version = "0.3.7.1";
+       sha256 = "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x";
+       buildDepends = [
+         array base bytestring containers semigroups unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/charset";
+       description = "Fast unicode character sets based on complemented PATRICIA tries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "charsetdetect" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "charsetdetect";
+       version = "1.0";
+       sha256 = "1w302v6pmi448k2rq2cc7wp1javsd9rgk7r7i43lxvbjhniydn7p";
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       homepage = "http://www.github.com/batterseapower/charsetdetect";
+       description = "Character set detection using Mozilla's Universal Character Set Detector";
+       license = "LGPL";
+     }) {};
+
+  "charsetdetect-ae" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "charsetdetect-ae";
+       version = "1.0.1";
+       sha256 = "0bvdnv608glim8yn4dvh3av7x0fxxp3z6719j0n005bygdfgjxna";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/Aelve/charsetdetect-ae";
+       description = "Character set detection using Mozilla's Universal Character Set Detector";
+       license = "LGPL";
+     }) {};
+
+  "chart-histogram" = callPackage
+    ({ mkDerivation, base, Chart, colour, data-default-class, lens
+     , vector
+     }:
+     mkDerivation {
+       pname = "chart-histogram";
+       version = "0.4.5";
+       sha256 = "0c1y4jaslzxlcmqhj5bgdcx76jw49asmnfgdvfkprf2siq154zba";
+       buildDepends = [
+         base Chart colour data-default-class lens vector
+       ];
+       jailbreak = true;
+       description = "Easily render histograms with Chart";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chaselev-deque" = callPackage
+    ({ mkDerivation, abstract-deque, abstract-deque-tests, array
+     , atomic-primops, base, containers, ghc-prim, HUnit, test-framework
+     , test-framework-hunit, transformers, vector
+     }:
+     mkDerivation {
+       pname = "chaselev-deque";
+       version = "0.5.0.5";
+       sha256 = "1x2301faqkchkzrvbnganly341jilvg1fmx6lazgbs98cbazhn2d";
+       buildDepends = [
+         abstract-deque array atomic-primops base ghc-prim transformers
+         vector
+       ];
+       testDepends = [
+         abstract-deque abstract-deque-tests array atomic-primops base
+         containers ghc-prim HUnit test-framework test-framework-hunit
+         vector
+       ];
+       homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+       description = "Chase & Lev work-stealing lock-free double-ended queues (deques)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chatter" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , deepseq, directory, filepath, fullstop, ghc-prim, HUnit, mbox
+     , MonadRandom, parsec, QuickCheck, quickcheck-instances
+     , random-shuffle, regex-base, regex-tdfa, regex-tdfa-text, safe
+     , split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-skip, text, tokenize
+     , transformers, zlib
+     }:
+     mkDerivation {
+       pname = "chatter";
+       version = "0.5.0.1";
+       sha256 = "0saavfnxd6l6w3ybvdmi14ia06ssc4lndb0ba8hhyqb3qzz7l7zs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cereal containers deepseq directory filepath
+         fullstop ghc-prim mbox MonadRandom parsec QuickCheck
+         quickcheck-instances random-shuffle regex-base regex-tdfa
+         regex-tdfa-text safe split text tokenize transformers zlib
+       ];
+       testDepends = [
+         base cereal containers filepath HUnit parsec QuickCheck
+         quickcheck-instances test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-skip text tokenize
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/creswick/chatter";
+       description = "A library of simple NLP algorithms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chatty" = callPackage
+    ({ mkDerivation, ansi-terminal, base, chatty-utils, directory, mtl
+     , process, random, setenv, template-haskell, text, time
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "chatty";
+       version = "0.6.2.1";
+       sha256 = "0504xxgzfrgqa6yk8c1xw6qilqq2bq1anmncm5863wg7sd0xknx9";
+       buildDepends = [
+         ansi-terminal base chatty-utils directory mtl process random setenv
+         template-haskell text time transformers unix
+       ];
+       jailbreak = true;
+       description = "Some monad transformers and typeclasses for abstraction of global dependencies";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "chatty-text" = callPackage
+    ({ mkDerivation, base, chatty, transformers }:
+     mkDerivation {
+       pname = "chatty-text";
+       version = "0.6.0.1";
+       sha256 = "1p88yn8c1ckckhxy8k0w50n3mjy8inrwh9zaas5wawaz286chxzh";
+       buildDepends = [ base chatty transformers ];
+       description = "Provides some classes and types for dealing with text, using the fundaments of Chatty";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "chatty-utils" = callPackage
+    ({ mkDerivation, base, mtl, text, transformers }:
+     mkDerivation {
+       pname = "chatty-utils";
+       version = "0.7.1.2";
+       sha256 = "17jilk0p6wvnpc064wjk6flilz78yx32f092wn0z8dbc9hpw32wf";
+       buildDepends = [ base mtl text transformers ];
+       jailbreak = true;
+       description = "Some utilities every serious chatty-based application may need";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "cheapskate" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, containers
+     , data-default, http-types, mtl, syb, text, uniplate, wai
+     , wai-extra, xss-sanitize
+     }:
+     mkDerivation {
+       pname = "cheapskate";
+       version = "0.1.0.3";
+       sha256 = "0my7dkaicdl95289s6li4qzjv9qvgddp51m8nh8lk7qmwx2x5kc6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-html bytestring containers data-default http-types
+         mtl syb text uniplate wai wai-extra xss-sanitize
+       ];
+       homepage = "http://github.com/jgm/cheapskate";
+       description = "Experimental markdown processor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "check-email" = callPackage
+    ({ mkDerivation, base, bytestring, email-validate, resolv }:
+     mkDerivation {
+       pname = "check-email";
+       version = "1.0";
+       sha256 = "1drw8rspdc4a7jw2ql3fi1dcmw56ah5csf2bil6ii8ccq5vsbfyz";
+       buildDepends = [ base bytestring email-validate ];
+       extraLibraries = [ resolv ];
+       description = "Confirm whether an email is valid and probably existant";
+       license = stdenv.lib.licenses.bsd3;
+     }) { resolv = null;};
+
+  "check-pvp" = callPackage
+    ({ mkDerivation, base, Cabal, containers, explicit-exception
+     , filepath, haskell-src-exts, non-empty, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "check-pvp";
+       version = "0.0.1";
+       sha256 = "18xhm11xwvy9cz149ddm3lj4gxb514jglwhdr50mkrdd4rw8w59f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers explicit-exception filepath haskell-src-exts
+         non-empty transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Import_modules_properly";
+       description = "Check whether module and package imports conform to the PVP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "checked" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "checked";
+       version = "0.1.0.1";
+       sha256 = "00l04qxdid2pi885ixnyh91bsigsmk5rxb0jw6dl6j1mlcq27smd";
+       buildDepends = [ base ];
+       description = "Bounds-checking integer types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "checkers" = callPackage
+    ({ mkDerivation, array, base, QuickCheck, random }:
+     mkDerivation {
+       pname = "checkers";
+       version = "0.4.2";
+       sha256 = "0v2qvd0g0k2j3h07003wc2vkrknq6y3ld1qgh69j4r6049x9qhaj";
+       buildDepends = [ array base QuickCheck random ];
+       description = "Check properties on standard classes and data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chell" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, options, patience
+     , random, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "chell";
+       version = "0.4.0.1";
+       sha256 = "0lb95abzxl4a87nfqxsxpb3a39pd52cci43hcvj8615hyhqvs2jz";
+       buildDepends = [
+         ansi-terminal base bytestring options patience random
+         template-haskell text transformers
+       ];
+       homepage = "https://john-millikin.com/software/chell/";
+       description = "A simple and intuitive library for automated testing";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "chell-hunit" = callPackage
+    ({ mkDerivation, base, chell, HUnit }:
+     mkDerivation {
+       pname = "chell-hunit";
+       version = "0.2.1";
+       sha256 = "006l2j98gmgjrapyp00vz93hxlx9gwkdnxwh5nx293zp7vm27x00";
+       buildDepends = [ base chell HUnit ];
+       homepage = "https://john-millikin.com/software/chell/";
+       description = "HUnit support for the Chell testing library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "chell-quickcheck" = callPackage
+    ({ mkDerivation, base, chell, QuickCheck, random }:
+     mkDerivation {
+       pname = "chell-quickcheck";
+       version = "0.2.5";
+       sha256 = "02bkcnx5k6r5csdnnkvk4wfd0l36nxb87i1463ynw17n7ym9s4cs";
+       buildDepends = [ base chell QuickCheck random ];
+       homepage = "https://john-millikin.com/software/chell/";
+       description = "QuickCheck support for the Chell testing library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "chesshs" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers }:
+     mkDerivation {
+       pname = "chesshs";
+       version = "0.2.1";
+       sha256 = "0dydib3rf735wljyqij2g03xi0yxfviga5ws708nhg64f4kv8cfv";
+       buildDepends = [ array attoparsec base bytestring containers ];
+       homepage = "http://arnovanlumig.com/chesshs.html";
+       description = "Simple library for validating chess moves and parsing PGN files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chevalier-common" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, cereal, locators
+     , mtl, network, network-uri, protobuf, text, unordered-containers
+     , vaultaire-common, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "chevalier-common";
+       version = "0.6.0";
+       sha256 = "0fg7cb5ds2ixk046isz6wala7azaxqlfsacb1p7l9j6din9mgzrs";
+       buildDepends = [
+         base bifunctors bytestring cereal locators mtl network network-uri
+         protobuf text unordered-containers vaultaire-common zeromq4-haskell
+       ];
+       description = "Query interface for Chevalier";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chp" = callPackage
+    ({ mkDerivation, base, containers, deepseq, extensible-exceptions
+     , pretty, stm
+     }:
+     mkDerivation {
+       pname = "chp";
+       version = "2.2.0.1";
+       sha256 = "18z0836hxs4ix7mdjxvpb40i4s71dc1j3vpxfh0vj8mf5drpc942";
+       buildDepends = [
+         base containers deepseq extensible-exceptions pretty stm
+       ];
+       homepage = "http://www.cs.kent.ac.uk/projects/ofa/chp/";
+       description = "An implementation of concurrency ideas from Communicating Sequential Processes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chp-mtl" = callPackage
+    ({ mkDerivation, base, chp, chp-plus, mtl }:
+     mkDerivation {
+       pname = "chp-mtl";
+       version = "1.0.0";
+       sha256 = "1x14xl9hm9n3zczj6xhffvpac09q5a13i94fhkq2kzj2s3rk1b4z";
+       buildDepends = [ base chp chp-plus mtl ];
+       jailbreak = true;
+       homepage = "http://www.cs.kent.ac.uk/projects/ofa/chp/";
+       description = "MTL class instances for the CHP library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chp-plus" = callPackage
+    ({ mkDerivation, base, chp, containers, deepseq
+     , extensible-exceptions, HUnit, pretty, QuickCheck, stm
+     }:
+     mkDerivation {
+       pname = "chp-plus";
+       version = "1.3.1.2";
+       sha256 = "1875fqf24jwl5vf2cys7yc70k0c53pg74i041y1xbrczincaww0z";
+       buildDepends = [
+         base chp containers deepseq extensible-exceptions HUnit pretty
+         QuickCheck stm
+       ];
+       homepage = "http://www.cs.kent.ac.uk/projects/ofa/chp/";
+       description = "A set of high-level concurrency utilities built on Communicating Haskell Processes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chp-spec" = callPackage
+    ({ mkDerivation, base, containers, deepseq, mtl, pretty
+     , TypeCompose
+     }:
+     mkDerivation {
+       pname = "chp-spec";
+       version = "1.0.0";
+       sha256 = "0jil6p0cw8bbpzb0kf9lxljdnbbp0xyq7c6x7bfc7291kqkafgdi";
+       buildDepends = [ base containers deepseq mtl pretty TypeCompose ];
+       jailbreak = true;
+       homepage = "http://www.cs.kent.ac.uk/projects/ofa/chp/";
+       description = "A mirror implementation of chp that generates a specification of the program";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chp-transformers" = callPackage
+    ({ mkDerivation, base, chp, chp-plus, transformers }:
+     mkDerivation {
+       pname = "chp-transformers";
+       version = "1.0.0";
+       sha256 = "0d4hcqpjxmns1fhq918s6z9f4bxlbjlkxzq5xkpqwjxpzy83wq23";
+       buildDepends = [ base chp chp-plus transformers ];
+       jailbreak = true;
+       homepage = "http://www.cs.kent.ac.uk/projects/ofa/chp/";
+       description = "Transformers instances for the CHP library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chronograph" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, thyme, vector-space }:
+     mkDerivation {
+       pname = "chronograph";
+       version = "0.2.0.1";
+       sha256 = "0qy2ahnp324jh0ybqwsa4nc3r2x1hkbrg6sl6f8dg1xnr0gpaag2";
+       buildDepends = [ base deepseq ghc-prim thyme vector-space ];
+       jailbreak = true;
+       description = "measure timings of data evaluation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chu2" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, hack2
+     , hack2-handler-snap-server, utf8-string
+     }:
+     mkDerivation {
+       pname = "chu2";
+       version = "2012.11.20";
+       sha256 = "01q34kzhisb8ani3k5dfjaixa7j1vqg0nh8mbmnya52hr7p4sdiz";
+       buildDepends = [
+         base bytestring data-default hack2 hack2-handler-snap-server
+         utf8-string
+       ];
+       homepage = "https://github.com/nfjinjing/chu2";
+       description = "FFI for Chu2 Agda Web Server Interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "chuchu" = callPackage
+    ({ mkDerivation, abacate, ansi-wl-pprint, base, cmdargs, HUnit
+     , lifted-base, monad-control, parsec, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "chuchu";
+       version = "0.4.5";
+       sha256 = "04xyylp5gliwpps753xqn8r72708ygxcp08j0fypc64ykhv5pnqc";
+       buildDepends = [
+         abacate ansi-wl-pprint base cmdargs lifted-base monad-control
+         parsec text transformers
+       ];
+       testDepends = [ base HUnit text transformers unix ];
+       jailbreak = true;
+       homepage = "http://github.com/marcotmarcot/chuchu";
+       description = "Behaviour Driven Development like Cucumber for Haskell";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chunked-data" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , mono-traversable, semigroups, system-filepath, text, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "chunked-data";
+       version = "0.1.0.1";
+       sha256 = "0kdq79mxi9nhy3dqw283f5ffx4rxwfrdq9cfw46ql5wmqrg2qw7r";
+       buildDepends = [
+         base blaze-builder bytestring containers mono-traversable
+         semigroups system-filepath text transformers vector
+       ];
+       homepage = "https://github.com/fpco/chunked-data";
+       description = "Typeclasses for dealing with various chunked data representations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "chunks" = callPackage
+    ({ mkDerivation, base, haskell98, parsec, template-haskell }:
+     mkDerivation {
+       pname = "chunks";
+       version = "2007.4.18";
+       sha256 = "0qdwilzhbnx5zgga65lcwd6kzwvsbvi8ybfw9i4d8ziz89190fkz";
+       buildDepends = [ base haskell98 parsec template-haskell ];
+       homepage = "http://www.wellquite.org/chunks/";
+       description = "Simple template library with static safety";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "chunky" = callPackage
+    ({ mkDerivation, base, binary, bytestring, HUnit, text }:
+     mkDerivation {
+       pname = "chunky";
+       version = "0.1.0.0";
+       sha256 = "12g5hvb5qpbmfn1389wj7sfkc4qp19vg24gpn6j225yfyk8ccik7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring text ];
+       testDepends = [ base binary bytestring HUnit text ];
+       jailbreak = true;
+       description = "Human-readable storage of text/binary objects";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "church-list" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "church-list";
+       version = "0.0.2";
+       sha256 = "0xidwcn79acpg691n0xqk3q7xlprp9gibqkafn262zq24sks31xw";
+       buildDepends = [ base ];
+       description = "Removed; please see fmlist";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cil" = callPackage
+    ({ mkDerivation, base, bytestring, language-c }:
+     mkDerivation {
+       pname = "cil";
+       version = "0.1.1";
+       sha256 = "0farjdyq6w33jm0qqdkfd6l7b8rr6k55dqfha643mj6nh1y904az";
+       buildDepends = [ base bytestring language-c ];
+       jailbreak = true;
+       homepage = "http://tomahawkins.org";
+       description = "An interface to CIL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cinvoke" = callPackage
+    ({ mkDerivation, base, bytestring, cinvoke }:
+     mkDerivation {
+       pname = "cinvoke";
+       version = "0.1";
+       sha256 = "0niz7banhrkcwdfp6w5gwy1brz1c26mylnlavi5zxgawfq4d3sl2";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ cinvoke ];
+       homepage = "http://haskell.org/haskellwiki/Library/cinvoke";
+       description = "A binding to cinvoke";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { cinvoke = null;};
+
+  "cio" = callPackage
+    ({ mkDerivation, base, monad-stm, mtl, parallel-io, stm }:
+     mkDerivation {
+       pname = "cio";
+       version = "0.1.0";
+       sha256 = "0518cbfyjh13ghihvnxvbhlw4060cqw5047bdrflphmigwbvpplb";
+       buildDepends = [ base monad-stm mtl parallel-io stm ];
+       homepage = "https://github.com/nikita-volkov/cio";
+       description = "A monad for concurrent IO on a thread pool";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cipher-aes" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-cipher-tests
+     , crypto-cipher-types, QuickCheck, securemem, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "cipher-aes";
+       version = "0.2.10";
+       sha256 = "1sglxv66byib2bcwhilcf4m4glhz02vxy2lxa0hvpwa9c0ifhcxz";
+       buildDepends = [
+         base byteable bytestring crypto-cipher-types securemem
+       ];
+       testDepends = [
+         base byteable bytestring crypto-cipher-tests crypto-cipher-types
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/vincenthz/hs-cipher-aes";
+       description = "Fast AES cipher implementation with advanced mode of operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cipher-aes128" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, crypto-api, tagged }:
+     mkDerivation {
+       pname = "cipher-aes128";
+       version = "0.6.4";
+       sha256 = "093zpw86wimniwmd73g3nnbfy530q52kynccssqf7jxafbsw75aa";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring cereal crypto-api tagged ];
+       homepage = "https://github.com/TomMD/cipher-aes128";
+       description = "AES and common modes using AES-NI when available";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cipher-blowfish" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-cipher-tests
+     , crypto-cipher-types, QuickCheck, securemem, test-framework
+     , test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "cipher-blowfish";
+       version = "0.0.3";
+       sha256 = "0hb67gmiyqrknynz5am8nada1b1v47rqla87dw5nvfhxhl51fhcg";
+       buildDepends = [
+         base byteable bytestring crypto-cipher-types securemem vector
+       ];
+       testDepends = [
+         base byteable bytestring crypto-cipher-tests crypto-cipher-types
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-crypto-cipher";
+       description = "Blowfish cipher";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cipher-camellia" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-cipher-tests
+     , crypto-cipher-types, QuickCheck, securemem, test-framework
+     , test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "cipher-camellia";
+       version = "0.0.2";
+       sha256 = "19z2mi1rvp8fsqjdbmrm1hdlxmx61yr55fyknmmn945qrlvx234d";
+       buildDepends = [
+         base byteable bytestring crypto-cipher-types securemem vector
+       ];
+       testDepends = [
+         base byteable bytestring crypto-cipher-tests crypto-cipher-types
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-crypto-cipher";
+       description = "Camellia block cipher primitives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cipher-des" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-cipher-tests
+     , crypto-cipher-types, QuickCheck, securemem, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "cipher-des";
+       version = "0.0.6";
+       sha256 = "1isazxa2nr1y13y0danfk7wghy34rfpn3f43rw714nk2xk6vrwc5";
+       buildDepends = [
+         base byteable bytestring crypto-cipher-types securemem
+       ];
+       testDepends = [
+         base byteable bytestring crypto-cipher-tests crypto-cipher-types
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-crypto-cipher";
+       description = "DES and 3DES primitives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cipher-rc4" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-cipher-tests
+     , crypto-cipher-types, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "cipher-rc4";
+       version = "0.1.4";
+       sha256 = "0k9qf0cn5yxc4qlqikcm5yyrnkkvr6g3v7306cp8iwz7r4dp6zn6";
+       buildDepends = [ base byteable bytestring crypto-cipher-types ];
+       testDepends = [
+         base bytestring crypto-cipher-tests crypto-cipher-types QuickCheck
+         test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-cipher-rc4";
+       description = "Fast RC4 cipher implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cipher-rc5" = callPackage
+    ({ mkDerivation, base, split }:
+     mkDerivation {
+       pname = "cipher-rc5";
+       version = "0.1.0.1";
+       sha256 = "1ld4kdn0bd7ka448bl6df30iw3kd3mw7117qlwxyfzwbisdcsrif";
+       buildDepends = [ base split ];
+       jailbreak = true;
+       homepage = "http://github.com/fegu/cipher-rc5";
+       description = "Pure RC5 implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "circ" = callPackage
+    ({ mkDerivation, base, directory, mtl }:
+     mkDerivation {
+       pname = "circ";
+       version = "0.0.4";
+       sha256 = "0n3m7kjyqic10dl06zic5qjb1yb1ff8jn9d1wchrarkprcw25knc";
+       buildDepends = [ base directory mtl ];
+       description = "A Compiler IR Compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "circle-packing" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "circle-packing";
+       version = "0.1.0.4";
+       sha256 = "1sysyzhkjb7z4mn9hgxqiq0nd7ap3rs7w22swjrpnf8l1sv09xgv";
+       buildDepends = [ base ];
+       description = "Simple heuristic for packing discs of varying radii in a circle";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "citation-resolve" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, citeproc-hs, containers
+     , curl, data-default, directory, doctest, download-curl, either
+     , filepath, hspec, lens, MissingH, mtl, process, QuickCheck, safe
+     , text, transformers, yaml
+     }:
+     mkDerivation {
+       pname = "citation-resolve";
+       version = "0.4.3";
+       sha256 = "1x561l7shkz1nh43xh2nj83pb183rah1swi0ql9n0wr9ykq1mh1l";
+       buildDepends = [
+         aeson base bytestring citeproc-hs containers curl data-default
+         directory download-curl either lens mtl process safe text
+         transformers yaml
+       ];
+       testDepends = [
+         base directory doctest filepath hspec MissingH QuickCheck
+       ];
+       homepage = "https://github.com/nushio3/citation-resolve";
+       description = "convert document IDs such as DOI, ISBN, arXiv ID to bibliographic reference";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "citeproc-hs" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , hexpat, hs-bibutils, HTTP, json, mtl, network, network-uri
+     , old-locale, pandoc-types, parsec, syb, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "citeproc-hs";
+       version = "0.3.10";
+       sha256 = "1fb51v8hv8ik3a8grba2br6cfbj1b3y72lgjh4i75xh09i7xna0r";
+       buildDepends = [
+         base bytestring containers directory filepath hexpat hs-bibutils
+         HTTP json mtl network network-uri old-locale pandoc-types parsec
+         syb time utf8-string
+       ];
+       homepage = "http://istitutocolli.org/repos/citeproc-hs/";
+       description = "A Citation Style Language implementation in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "citeproc-hs-pandoc-filter" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, citeproc-hs, containers
+     , directory, filepath, mtl, pandoc, pandoc-types, parsec, tagsoup
+     , texmath, utf8-string, yaml
+     }:
+     mkDerivation {
+       pname = "citeproc-hs-pandoc-filter";
+       version = "0.1";
+       sha256 = "1kwsmwm0yxvqdxxr7x13hmq4nm8a9plmsfkwbvfp13bbd4mwcxnj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring citeproc-hs containers directory filepath mtl
+         pandoc pandoc-types parsec tagsoup texmath utf8-string yaml
+       ];
+       homepage = "http://istitutocolli.org/repos/citeproc-hs-pandoc-filter/";
+       description = "A Pandoc filter for processing bibliographic references with citeproc-hs";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "cityhash" = callPackage
+    ({ mkDerivation, base, bytestring, largeword, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "cityhash";
+       version = "0.3.0.1";
+       sha256 = "1nr0sqrvnsjkgyhlw55mnr69s5ddxk9f0bbpwkigqc7m457vkxi6";
+       buildDepends = [ base bytestring largeword ];
+       testDepends = [
+         base bytestring largeword QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/thoughtpolice/hs-cityhash";
+       description = "Bindings to CityHash";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cjk" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, text
+     , text-icu
+     }:
+     mkDerivation {
+       pname = "cjk";
+       version = "0.1.0.1";
+       sha256 = "1r0rw33vqkhck0mfqz19plw9a71f56gdcjldrxl23178fps349vl";
+       buildDepends = [
+         attoparsec base bytestring containers text text-icu
+       ];
+       testDepends = [ base ];
+       homepage = "http://github.com/batterseapower/cjk";
+       description = "Data about Chinese, Japanese and Korean characters and languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "clac" = callPackage
+    ({ mkDerivation, base, containers, dsp, optparse-applicative
+     , plailude, pretty-tree, safe, split
+     }:
+     mkDerivation {
+       pname = "clac";
+       version = "0.5.0";
+       sha256 = "1ajah3ma4ms2y2kg4wkasjycsqz728n6chx1lm1r3xaiv17akya8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers dsp optparse-applicative plailude pretty-tree safe
+         split
+       ];
+       description = "Simple CLI RPN calculator";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "clafer" = callPackage
+    ({ mkDerivation, aeson, array, base, bytestring, cmdargs
+     , containers, data-stringmap, directory, executable-path, filepath
+     , ghc, HaXml, HTTP, HUnit, json-builder, lens, lens-aeson, mtl
+     , network, network-uri, parsec, process, QuickCheck, split
+     , string-conversions, tasty, tasty-hunit, tasty-th, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "clafer";
+       version = "0.3.9";
+       revision = "1";
+       sha256 = "0zc5vjb9iqzqb0nl47mgp51xpi1n156xfc1qkwks7kwqhhc23slr";
+       editedCabalFile = "7a77fc544dc4aab21ecf747c8d95acd0d94cf9d001824862f859682eca953d22";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base bytestring cmdargs containers data-stringmap
+         directory executable-path filepath HaXml HTTP json-builder lens
+         lens-aeson mtl network network-uri parsec process split
+         string-conversions text transformers
+       ];
+       testDepends = [
+         base containers data-stringmap directory filepath ghc HaXml HUnit
+         lens lens-aeson mtl QuickCheck tasty tasty-hunit tasty-th
+       ];
+       jailbreak = true;
+       homepage = "http://clafer.org";
+       description = "clafer compiles Clafer models to other formats, such as Alloy, XML, HTML, Dot";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "claferIG" = callPackage
+    ({ mkDerivation, array, base, clafer, cmdargs, containers
+     , data-stringmap, directory, executable-path, filepath, haskeline
+     , HaXml, HUnit, json-builder, mtl, parsec, process
+     , string-conversions, tasty, tasty-hunit, tasty-th, transformers
+     }:
+     mkDerivation {
+       pname = "claferIG";
+       version = "0.3.9";
+       sha256 = "1nbrdxq7ynwj6ms76ayl84bb9j9yjmy3qdfdd8w810php95jrkgx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base clafer cmdargs containers data-stringmap directory
+         executable-path filepath haskeline HaXml json-builder mtl parsec
+         process string-conversions transformers
+       ];
+       testDepends = [
+         array base clafer cmdargs directory filepath HUnit tasty
+         tasty-hunit tasty-th transformers
+       ];
+       homepage = "https://github.com/gsdlab/claferIG";
+       description = "claferIG is an interactive tool that generates instances of Clafer models";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "claferwiki" = callPackage
+    ({ mkDerivation, base, clafer, containers, directory, gitit
+     , MissingH, mtl, network, network-uri, process, SHA, split, time
+     , transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "claferwiki";
+       version = "0.3.9";
+       sha256 = "05fz0ps2k6g9298jk8y69wjhvfpcidkc3c9g083snylm2cl0dax3";
+       buildDepends = [
+         base clafer containers directory gitit MissingH mtl network
+         network-uri process SHA split time transformers utf8-string
+       ];
+       homepage = "http://github.com/gsdlab/claferwiki";
+       description = "A wiki-based IDE for literate modeling with Clafer";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clanki" = callPackage
+    ({ mkDerivation, base, bytestring, directory, safe, strict, time }:
+     mkDerivation {
+       pname = "clanki";
+       version = "1.2.5";
+       sha256 = "0s94zxgcxq230y80kfqgim9yci3wqbq85byyvp0f0kqadsn4wmv1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory safe strict time ];
+       description = "Command-line spaced-repetition software";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "clash" = callPackage
+    ({ mkDerivation, base, containers, data-accessor
+     , data-accessor-template, directory, filepath, ghc, haskell98
+     , pretty, prettyclass, template-haskell, tfp, th-lift, time
+     , transformers, utility-ht, vhdl
+     }:
+     mkDerivation {
+       pname = "clash";
+       version = "0.1.3.11";
+       sha256 = "047dhg6y7yvp5vdarylry0q4l29a4x2dkjilk6j624lxcc17gyhx";
+       buildDepends = [
+         base containers data-accessor data-accessor-template directory
+         filepath ghc haskell98 pretty prettyclass template-haskell tfp
+         th-lift time transformers utility-ht vhdl
+       ];
+       jailbreak = true;
+       homepage = "http://clash.ewi.utwente.nl/";
+       description = "CAES Language for Synchronous Hardware (CLaSH)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clash-ghc" = callPackage
+    ({ mkDerivation, array, base, bifunctors, bytestring, clash-lib
+     , clash-prelude, clash-systemverilog, clash-vhdl, containers
+     , directory, filepath, ghc, hashable, haskeline, lens, mtl, process
+     , text, transformers, unbound-generics, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "clash-ghc";
+       version = "0.5";
+       sha256 = "0nkk1k96yg4lpwn7axdm8xnsc3b389839c0gxgavvqlhdz7hkkcj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bifunctors bytestring clash-lib clash-prelude
+         clash-systemverilog clash-vhdl containers directory filepath ghc
+         hashable haskeline lens mtl process text transformers
+         unbound-generics unix unordered-containers
+       ];
+       homepage = "http://www.clash-lang.org/";
+       description = "CAES Language for Synchronous Hardware";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "clash-lib" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , concurrent-supply, containers, deepseq, directory, errors, fgl
+     , filepath, hashable, lens, mtl, pretty, process, template-haskell
+     , text, time, transformers, unbound-generics, unordered-containers
+     , uu-parsinglib, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "clash-lib";
+       version = "0.5";
+       sha256 = "17wpqs99w7mrwxky1jrq3gm012w4y40zb2i8d4qsk25dkhkkw1ng";
+       buildDepends = [
+         aeson attoparsec base bytestring concurrent-supply containers
+         deepseq directory errors fgl filepath hashable lens mtl pretty
+         process template-haskell text time transformers unbound-generics
+         unordered-containers uu-parsinglib wl-pprint-text
+       ];
+       homepage = "http://www.clash-lang.org/";
+       description = "CAES Language for Synchronous Hardware - As a Library";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "clash-prelude" = callPackage
+    ({ mkDerivation, base, data-default, ghc-prim, integer-gmp
+     , singletons, template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "clash-prelude";
+       version = "0.7.1";
+       sha256 = "1hy1bx83faf0n3irp0g2136bmd9gvpd638ap8ifys6gdni25k3zv";
+       buildDepends = [
+         base data-default ghc-prim integer-gmp singletons template-haskell
+         th-lift
+       ];
+       homepage = "http://christiaanb.github.io/clash2/";
+       description = "CAES Language for Synchronous Hardware - Prelude library";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "clash-prelude-quickcheck" = callPackage
+    ({ mkDerivation, base, clash-prelude, containers, mtl, QuickCheck
+     }:
+     mkDerivation {
+       pname = "clash-prelude-quickcheck";
+       version = "0.1.1.0";
+       sha256 = "1yccczs5bpg5qc4zdp4qpgfy5mnf6h17s16dv77d54k4c3r90adz";
+       buildDepends = [ base clash-prelude containers mtl QuickCheck ];
+       description = "QuickCheck instances for various types in the CλaSH Prelude";
+       license = "unknown";
+     }) {};
+
+  "clash-systemverilog" = callPackage
+    ({ mkDerivation, base, clash-lib, clash-prelude, fgl, lens, mtl
+     , text, unordered-containers, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "clash-systemverilog";
+       version = "0.5";
+       sha256 = "1vmwrazyipq0ab3dvnbdzv9y7apr7fw8m4zdb4ligair8x3g2fbr";
+       buildDepends = [
+         base clash-lib clash-prelude fgl lens mtl text unordered-containers
+         wl-pprint-text
+       ];
+       homepage = "http://www.clash-lang.org/";
+       description = "CAES Language for Synchronous Hardware - As a Library";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "clash-vhdl" = callPackage
+    ({ mkDerivation, base, clash-lib, clash-prelude, fgl, lens, mtl
+     , text, unordered-containers, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "clash-vhdl";
+       version = "0.5";
+       sha256 = "1wh2fwyaxl33a38yxqz7vd23inakmad7zxg18y56ln5fb50hz4r5";
+       buildDepends = [
+         base clash-lib clash-prelude fgl lens mtl text unordered-containers
+         wl-pprint-text
+       ];
+       homepage = "http://www.clash-lang.org/";
+       description = "CAES Language for Synchronous Hardware - As a Library";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "classify" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "classify";
+       version = "2013.11.6.1";
+       sha256 = "03d4ygqhqbg4cvfjp8c5cyy0fkgf1fpzc1li45bqc555jrxwszwr";
+       buildDepends = [ base containers mtl ];
+       description = "Library for classification of media files";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "classy-parallel" = callPackage
+    ({ mkDerivation, base, lifted-base, monad-control, parallel
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "classy-parallel";
+       version = "0.1.0.0";
+       sha256 = "0vfik37g2fwzc4p343hag5aidvi77396vfhfdx1207gahbzqf21v";
+       buildDepends = [
+         base lifted-base monad-control parallel resourcet transformers
+       ];
+       jailbreak = true;
+       description = "Fork of the monad-parallel package using monad-control";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "classy-prelude" = callPackage
+    ({ mkDerivation, base, basic-prelude, bifunctors, bytestring
+     , chunked-data, containers, dlist, enclosed-exceptions, exceptions
+     , ghc-prim, hashable, hspec, lifted-base, mono-traversable, mtl
+     , mutable-containers, old-locale, primitive, QuickCheck, semigroups
+     , stm, system-filepath, text, time, transformers
+     , unordered-containers, vector, vector-instances
+     }:
+     mkDerivation {
+       pname = "classy-prelude";
+       version = "0.11.1";
+       sha256 = "001anap27s3h04xkzyl1bnvf9fmrxvhqpjxyjkv1s77sdvaf19ii";
+       buildDepends = [
+         base basic-prelude bifunctors bytestring chunked-data containers
+         dlist enclosed-exceptions exceptions ghc-prim hashable lifted-base
+         mono-traversable mtl mutable-containers old-locale primitive
+         semigroups stm system-filepath text time transformers
+         unordered-containers vector vector-instances
+       ];
+       testDepends = [
+         base containers hspec QuickCheck transformers unordered-containers
+       ];
+       homepage = "https://github.com/snoyberg/classy-prelude";
+       description = "A typeclass-based Prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "classy-prelude-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, classy-prelude, conduit
+     , conduit-combinators, hspec, monad-control, QuickCheck, resourcet
+     , system-fileio, transformers, void
+     }:
+     mkDerivation {
+       pname = "classy-prelude-conduit";
+       version = "0.11.1";
+       sha256 = "0rjm8kzx34m1x3yndm9i2ybvw9lfddgaab1n51n8psml3yxckqic";
+       buildDepends = [
+         base bytestring classy-prelude conduit conduit-combinators
+         monad-control resourcet system-fileio transformers void
+       ];
+       testDepends = [
+         base bytestring conduit hspec QuickCheck transformers
+       ];
+       homepage = "https://github.com/snoyberg/classy-prelude";
+       description = "conduit instances for classy-prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "classy-prelude-yesod" = 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 = "0.11.1";
+       sha256 = "1481cs7l0bf4jy9q2rg35aw0pfzdhnj7kc22ll2n7jb2wg1xvcv3";
+       buildDepends = [
+         aeson base classy-prelude classy-prelude-conduit data-default
+         http-conduit http-types persistent yesod yesod-newsfeed
+         yesod-static
+       ];
+       homepage = "https://github.com/snoyberg/classy-prelude";
+       description = "Provide a classy prelude including common Yesod functionality";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "clay" = callPackage
+    ({ mkDerivation, base, HUnit, mtl, test-framework
+     , test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "clay";
+       version = "0.10.1";
+       sha256 = "0m0ajbgypn9ki741x2bmcmpmpkccazv76wh8b9gha9483cl21f1v";
+       buildDepends = [ base mtl text ];
+       testDepends = [
+         base HUnit mtl test-framework test-framework-hunit text
+       ];
+       homepage = "http://fvisser.nl/clay";
+       description = "CSS preprocessor as embedded Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "clckwrks" = callPackage
+    ({ mkDerivation, acid-state, aeson, attoparsec, base, blaze-html
+     , bytestring, cereal, containers, cryptopp, directory, filepath
+     , happstack-authenticate, happstack-hsp, happstack-server
+     , happstack-server-tls, hsp, hsx-jmacro, hsx2hs, ixset, jmacro, mtl
+     , network, network-uri, old-locale, openssl, process, random
+     , reform, reform-happstack, reform-hsp, safecopy, stm, tagsoup
+     , text, time, unordered-containers, utf8-string, uuid, vector
+     , web-plugins, web-routes, web-routes-happstack, web-routes-hsp
+     , web-routes-th, xss-sanitize
+     }:
+     mkDerivation {
+       pname = "clckwrks";
+       version = "0.22.4";
+       sha256 = "1srgvnsmd3lhhp797kwwq6a0sr31i0kdlgzmrqi0qs1wg54nwyw6";
+       buildDepends = [
+         acid-state aeson attoparsec base blaze-html bytestring cereal
+         containers directory filepath happstack-authenticate happstack-hsp
+         happstack-server happstack-server-tls hsp hsx-jmacro ixset jmacro
+         mtl network network-uri old-locale process random reform
+         reform-happstack reform-hsp safecopy stm tagsoup text time
+         unordered-containers utf8-string uuid vector web-plugins web-routes
+         web-routes-happstack web-routes-hsp web-routes-th xss-sanitize
+       ];
+       buildTools = [ hsx2hs ];
+       extraLibraries = [ cryptopp openssl ];
+       jailbreak = true;
+       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) cryptopp;  inherit (pkgs) openssl;};
+
+  "clckwrks-cli" = callPackage
+    ({ mkDerivation, acid-state, base, clckwrks, haskeline, mtl
+     , network, parsec
+     }:
+     mkDerivation {
+       pname = "clckwrks-cli";
+       version = "0.2.13";
+       sha256 = "09ygkr4wqcwc07pf0alf9dncsv4dl40v97qnilis3wsdc05gflip";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         acid-state base clckwrks haskeline mtl network parsec
+       ];
+       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
+    ({ mkDerivation, base, clckwrks, clckwrks-plugin-bugs
+     , clckwrks-plugin-media, clckwrks-plugin-page
+     , clckwrks-theme-clckwrks, containers, happstack-server, hsp
+     , hsx2hs, mtl, network, text, web-plugins
+     }:
+     mkDerivation {
+       pname = "clckwrks-dot-com";
+       version = "0.3.9";
+       sha256 = "0q1y6lh9215p0c45195k05m774bmxyzm6jsvyncw2qngl77gambh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base clckwrks clckwrks-plugin-bugs clckwrks-plugin-media
+         clckwrks-plugin-page clckwrks-theme-clckwrks containers
+         happstack-server hsp mtl network text web-plugins
+       ];
+       buildTools = [ hsx2hs ];
+       jailbreak = true;
+       homepage = "http://www.clckwrks.com/";
+       description = "clckwrks.com";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clckwrks-plugin-bugs" = callPackage
+    ({ mkDerivation, acid-state, attoparsec, base, cereal, clckwrks
+     , clckwrks-plugin-page, containers, directory, filepath
+     , happstack-authenticate, happstack-hsp, happstack-server, hsp
+     , hsx2hs, ixset, mtl, network, network-uri, reform
+     , reform-happstack, reform-hsp, safecopy, text, time, web-plugins
+     , web-routes, web-routes-th
+     }:
+     mkDerivation {
+       pname = "clckwrks-plugin-bugs";
+       version = "0.7.5";
+       sha256 = "0la4ivk8sbh8wq1g2nhxx522ir2idffz5818bghjf8qffmqa47fv";
+       buildDepends = [
+         acid-state attoparsec base cereal clckwrks clckwrks-plugin-page
+         containers directory filepath happstack-authenticate happstack-hsp
+         happstack-server hsp ixset mtl network network-uri reform
+         reform-happstack reform-hsp safecopy text time web-plugins
+         web-routes web-routes-th
+       ];
+       buildTools = [ hsx2hs ];
+       jailbreak = true;
+       homepage = "http://clckwrks.com/";
+       description = "bug tracking plugin for clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clckwrks-plugin-ircbot" = callPackage
+    ({ mkDerivation, acid-state, attoparsec, base, blaze-html
+     , bytestring, clckwrks, containers, directory, filepath
+     , happstack-hsp, happstack-server, hsp, hsx2hs, ircbot, ixset, mtl
+     , network, reform, reform-happstack, reform-hsp, safecopy, text
+     , web-plugins, web-routes, web-routes-th
+     }:
+     mkDerivation {
+       pname = "clckwrks-plugin-ircbot";
+       version = "0.6.12";
+       sha256 = "1pi8qrm71zdszc1fkwyvdx0qnlj4gzsyajw70w4s6sgmn7mgny69";
+       buildDepends = [
+         acid-state attoparsec base blaze-html bytestring clckwrks
+         containers directory filepath happstack-hsp happstack-server hsp
+         ircbot ixset mtl network reform reform-happstack reform-hsp
+         safecopy text web-plugins web-routes web-routes-th
+       ];
+       buildTools = [ hsx2hs ];
+       jailbreak = true;
+       homepage = "http://clckwrks.com/";
+       description = "ircbot plugin for clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clckwrks-plugin-media" = callPackage
+    ({ mkDerivation, acid-state, attoparsec, base, blaze-html, cereal
+     , clckwrks, containers, directory, filepath, gd, happstack-server
+     , hsp, hsx2hs, ixset, magic, mtl, reform, reform-happstack
+     , reform-hsp, safecopy, text, web-plugins, web-routes
+     , web-routes-th
+     }:
+     mkDerivation {
+       pname = "clckwrks-plugin-media";
+       version = "0.6.9";
+       sha256 = "0c72c7k1zpl6sqvb8fl5dr1in6nbr5ni3hj5mvfs54phw0b6qlqs";
+       buildDepends = [
+         acid-state attoparsec base blaze-html cereal clckwrks containers
+         directory filepath gd happstack-server hsp ixset magic mtl reform
+         reform-happstack reform-hsp safecopy text web-plugins web-routes
+         web-routes-th
+       ];
+       buildTools = [ hsx2hs ];
+       jailbreak = true;
+       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, utf8-string, uuid, web-plugins, web-routes
+     , web-routes-happstack, web-routes-th
+     }:
+     mkDerivation {
+       pname = "clckwrks-plugin-page";
+       version = "0.3.6";
+       sha256 = "1izz2mgznvwjy3689zw76rzyapq32kq0dvbs7147x6fx5rvsydz7";
+       buildDepends = [
+         acid-state aeson attoparsec base clckwrks containers directory
+         filepath happstack-hsp happstack-server hsp ixset mtl old-locale
+         random reform reform-happstack reform-hsp safecopy tagsoup
+         template-haskell text time utf8-string uuid web-plugins web-routes
+         web-routes-happstack web-routes-th
+       ];
+       buildTools = [ hsx2hs ];
+       jailbreak = true;
+       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
+    ({ mkDerivation, base, clckwrks, hsp, hsx2hs, text }:
+     mkDerivation {
+       pname = "clckwrks-theme-bootstrap";
+       version = "0.3.2";
+       sha256 = "0bj1lxrzlhv4l37xb4jbb8h55l3mb2abyapsmlavcj0cld7ba7i2";
+       buildDepends = [ base clckwrks hsp text ];
+       buildTools = [ hsx2hs ];
+       jailbreak = true;
+       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
+    ({ mkDerivation, base, clckwrks, containers, hsp, hsx2hs, text }:
+     mkDerivation {
+       pname = "clckwrks-theme-clckwrks";
+       version = "0.4.3";
+       sha256 = "0mxb48sirbhvm4vkwwgqxh7x3bahfk34x8i20zcirvh8y6xxp3pm";
+       buildDepends = [ base clckwrks containers hsp text ];
+       buildTools = [ hsx2hs ];
+       jailbreak = true;
+       homepage = "http://www.clckwrks.com/";
+       description = "simple bootstrap based template for clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clckwrks-theme-geo-bootstrap" = callPackage
+    ({ mkDerivation, base, clckwrks, hsp, text }:
+     mkDerivation {
+       pname = "clckwrks-theme-geo-bootstrap";
+       version = "0.1.1";
+       sha256 = "1qxik7hdz300n5lfb5xzh2md44b4xwwlr0c92y9x2na2xz41da7k";
+       buildDepends = [ base clckwrks hsp text ];
+       jailbreak = true;
+       homepage = "http://divshot.github.com/geo-bootstrap/";
+       description = "geo bootstrap based template for clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cld2" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "cld2";
+       version = "0.1.0.1";
+       revision = "1";
+       sha256 = "0fsjp0y5f17gv3k43vbxgx7w6i2l4ralrc6g1wb0xi0gp1vrm3hd";
+       editedCabalFile = "60506ceb359329f803a733a06f9a6060a31cab7e86dd4a8e3fd843953cb4cfbd";
+       buildDepends = [ base bytestring text ];
+       homepage = "https://github.com/dfoxfranke/haskell-cld2";
+       description = "Haskell bindings to Google's Compact Language Detector 2";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "clean-home" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, directory, HSH, IfElse
+     }:
+     mkDerivation {
+       pname = "clean-home";
+       version = "0.0.4";
+       sha256 = "0s894l3vjjkz94cvl5hv3vdpm934k7ila60kmr6acl7pvhppnc22";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cmdargs containers directory HSH IfElse ];
+       homepage = "https://github.com/ivanperez-keera/clean-home";
+       description = "Keep your home dir clean by finding old conf files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "clean-unions" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "clean-unions";
+       version = "0.1.1";
+       sha256 = "1y4cj15s6gjcazwk0iycyc2qs7chrqcvchf4g5h4xnf2x8ld4i21";
+       buildDepends = [ base ];
+       homepage = "https://github.com/fumieval/clean-unions";
+       description = "Open unions without need for Typeable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cless" = callPackage
+    ({ mkDerivation, base, highlighting-kate, optparse-applicative
+     , process, terminfo, wl-pprint-extras, wl-pprint-terminfo
+     }:
+     mkDerivation {
+       pname = "cless";
+       version = "0.3.0.0";
+       sha256 = "16v2hj2qxw7ij8aqhbx11fs4ss62d4d0jwi4mk0kc76yfdwl61hg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base highlighting-kate optparse-applicative process terminfo
+         wl-pprint-extras wl-pprint-terminfo
+       ];
+       homepage = "https://github.com/tanakh/cless";
+       description = "Colorized LESS";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clevercss" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec }:
+     mkDerivation {
+       pname = "clevercss";
+       version = "0.2.4";
+       sha256 = "0nnczd93j160747dc11z06ds81g938bw8lnqywg7mgylsfxalznl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers mtl parsec ];
+       homepage = "http://sandbox.pocoo.org/clevercss-hs/";
+       description = "A CSS preprocessor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cli" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "cli";
+       version = "0.0.4";
+       sha256 = "0iychwxbmnlywv7b7fpxym0ybcbk0aba9p0pvg8brs6llz2qrn9x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/NicolasDP/hs-cli";
+       description = "Simple Command Line Interface Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "click-clack" = callPackage
+    ({ mkDerivation, base, containers, GLFW, Hipmunk, MonadRandom, mtl
+     , OpenGL, random, StateVar, transformers
+     }:
+     mkDerivation {
+       pname = "click-clack";
+       version = "1.0.1";
+       sha256 = "0ngvdq0i82qxwawqb5pqa3fscnyv1kxc3ifc3qijnn5v4py9ydd8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers GLFW Hipmunk MonadRandom mtl OpenGL random StateVar
+         transformers
+       ];
+       jailbreak = true;
+       description = "Toy game (tetris on billiard board). Hipmunk in action.";
+       license = "unknown";
+     }) {};
+
+  "clientsession" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cereal
+     , cipher-aes, containers, cprng-aes, crypto-api, crypto-random
+     , directory, entropy, hspec, HUnit, QuickCheck, setenv, skein
+     , tagged, transformers
+     }:
+     mkDerivation {
+       pname = "clientsession";
+       version = "0.9.1.1";
+       sha256 = "08h0461ydhfymw2pya472n81kx5rqp7awfgxlbz2r851rl5kqmn9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring bytestring cereal cipher-aes cprng-aes
+         crypto-api crypto-random directory entropy setenv skein tagged
+       ];
+       testDepends = [
+         base bytestring cereal containers hspec HUnit QuickCheck
+         transformers
+       ];
+       homepage = "http://github.com/yesodweb/clientsession/tree/master";
+       description = "Securely store session data in a client-side cookie";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "clifford" = callPackage
+    ({ mkDerivation, base, cereal, Chart, Chart-cairo, colour, converge
+     , criterion, data-default-class, data-ordlist, deepseq, derive
+     , gnuplot, hspec, lens, MemoTrie, monoid-extras, nats
+     , numeric-prelude, permutation, QuickCheck, reflection
+     , semigroupoids, stream-fusion, tagged, vector
+     }:
+     mkDerivation {
+       pname = "clifford";
+       version = "0.1.0.14";
+       sha256 = "00xxvwa60ihrd24267hzs5ssjm6nrli39qlh9gm4fkdnrzif9r4r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cereal Chart Chart-cairo colour converge criterion
+         data-default-class data-ordlist deepseq derive gnuplot hspec lens
+         MemoTrie monoid-extras nats numeric-prelude permutation QuickCheck
+         reflection semigroupoids stream-fusion tagged vector
+       ];
+       testDepends = [ base hspec nats numeric-prelude QuickCheck ];
+       jailbreak = true;
+       homepage = "http://github.com/spacekitteh/haskell-clifford";
+       description = "A Clifford algebra library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clippard" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "clippard";
+       version = "0.1.1";
+       sha256 = "0qhi727irlkvi4ygx5qvd6h1zzz22588lymi39s0gcjir473a538";
+       buildDepends = [ base process ];
+       jailbreak = true;
+       homepage = "https://github.com/Raynes/clippard";
+       description = "A simple Haskell library for copying text to the clipboard in a cross-platform way";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "clipper" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "clipper";
+       version = "0.0.1";
+       sha256 = "0s4n8d07190yarkxpa2kjphkm6lw2ljgwcix3x6m3lxcxrvc3nr0";
+       buildDepends = [ base ];
+       homepage = "https://github.com/chetant/clipper";
+       description = "Haskell API to clipper (2d polygon union/intersection/xor/clipping API)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clippings" = callPackage
+    ({ mkDerivation, assertions, base, bifunctors, bytestring, cassava
+     , data-default, filepath, old-locale, parsec, safecopy, strptime
+     , time
+     }:
+     mkDerivation {
+       pname = "clippings";
+       version = "0.1.3";
+       sha256 = "0dm0cpqcv8r66zlwq7myjv7klpp43lbcwdgxs2zkg6mbsb2f1qvr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bifunctors bytestring cassava data-default old-locale parsec
+         safecopy strptime time
+       ];
+       testDepends = [
+         assertions base data-default filepath old-locale parsec time
+       ];
+       description = "A parser/generator for Kindle-format clipping files (`My Clippings.txt`),";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clist" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, peano }:
+     mkDerivation {
+       pname = "clist";
+       version = "0.1.0.0";
+       sha256 = "1jvkv6dwx2gm59vczmiagpxb0614fz63jzqrqm81bdai8yb0gpzd";
+       buildDepends = [ base base-unicode-symbols peano ];
+       jailbreak = true;
+       homepage = "https://github.com/strake/clist.hs";
+       description = "Counted list";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clock" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "clock";
+       version = "0.4.1.3";
+       revision = "1";
+       sha256 = "0wqhg8gb10lby01f0v4fl4yp23l4ilizywp5xnsbja03svnb4f0d";
+       editedCabalFile = "653fd69fcb84f23fb93241604f83f686921593f7ded7c3bf61ce7cecf1f00440";
+       buildDepends = [ base ];
+       homepage = "http://corsis.github.com/clock/";
+       description = "High-resolution clock functions: monotonic, realtime, cputime";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "clocked" = callPackage
+    ({ mkDerivation, base, clock, containers, MonadCatchIO-transformers
+     , QtCore, transformers
+     }:
+     mkDerivation {
+       pname = "clocked";
+       version = "0.4.1.3";
+       sha256 = "1z9n4nisa73zlwch7arixg6633w3jmcqw5w97jf4p5559q874wi8";
+       buildDepends = [
+         base clock containers MonadCatchIO-transformers transformers
+       ];
+       pkgconfigDepends = [ QtCore ];
+       homepage = "http://patch-tag.com/r/shahn/clocked/home";
+       description = "timer functionality to clock IO commands";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { QtCore = null;};
+
+  "clogparse" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, filepath, text, time
+     , timezone-olson, timezone-series
+     }:
+     mkDerivation {
+       pname = "clogparse";
+       version = "0.2";
+       sha256 = "17n5rwi64wjyv2xcxm86bawgmnpfrg7fjzwr9l3bj5jg0ggbyrbx";
+       buildDepends = [
+         attoparsec base bytestring filepath text time timezone-olson
+         timezone-series
+       ];
+       description = "Parse IRC logs such as the #haskell logs on tunes.org";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clone-all" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, github
+     , optparse-applicative, process, system-fileio, system-filepath
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "clone-all";
+       version = "0.1.0.0";
+       sha256 = "1mif1cqwpgp1wis7lplqrvv5aikdl0iv5ddazwgm6zgrxz645p09";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory github optparse-applicative process
+         system-fileio system-filepath text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/silky/clone-all";
+       description = "Clone all github repositories from a given user";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "closure" = callPackage
+    ({ mkDerivation, base, hashable, unordered-containers }:
+     mkDerivation {
+       pname = "closure";
+       version = "0.1.0.0";
+       sha256 = "1z9clkwjpj01g258h8bldlc759vwsgdlyppn29sr11kyani1zjwf";
+       buildDepends = [ base hashable unordered-containers ];
+       jailbreak = true;
+       homepage = "http://github.com/tel/closure";
+       description = "Depth- and breadth-first set closures";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cloud-haskell" = callPackage
+    ({ mkDerivation, distributed-process, distributed-process-async
+     , distributed-process-client-server, distributed-process-execution
+     , distributed-process-extras, distributed-process-supervisor
+     , distributed-process-task, distributed-static, network-transport
+     , rank1dynamic
+     }:
+     mkDerivation {
+       pname = "cloud-haskell";
+       version = "0.2.0.0";
+       sha256 = "11i2r7zf3vvywsfnlcsgvnh2qf92wgc81sfmhkhfpdrpcd2zx606";
+       buildDepends = [
+         distributed-process distributed-process-async
+         distributed-process-client-server distributed-process-execution
+         distributed-process-extras distributed-process-supervisor
+         distributed-process-task distributed-static network-transport
+         rank1dynamic
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-distributed/cloud-haskell";
+       description = "The Cloud Haskell Application Platform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cloudfront-signer" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, base64-bytestring
+     , bytestring, crypto-pubkey-types, old-locale, RSA, time
+     }:
+     mkDerivation {
+       pname = "cloudfront-signer";
+       version = "0.0.0.1";
+       sha256 = "1ikjrlb421rxsj4c7dl4dw8a3kls43gzn4mapg1y9b2bkd7q6ywz";
+       buildDepends = [
+         asn1-encoding asn1-types base base64-bytestring bytestring
+         crypto-pubkey-types old-locale RSA time
+       ];
+       homepage = "http://github.com/cdornan/cloudfront-signer";
+       description = "CloudFront URL signer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cloudyfs" = callPackage
+    ({ mkDerivation, base, bytestring, containers, convertible
+     , datetime, filepath, HFuse, HTTP, regex-base, regex-tdfa, tagsoup
+     , timerep, unix
+     }:
+     mkDerivation {
+       pname = "cloudyfs";
+       version = "0.0.2";
+       sha256 = "0jfv3830kg3yp1vqqs75bmiwflv4y8ya86q575bsw1l695dc5lwg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers convertible datetime filepath HFuse HTTP
+         regex-base regex-tdfa tagsoup timerep unix
+       ];
+       homepage = "https://github.com/bhickey/cloudyfs";
+       description = "A cloud in the file system";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cltw" = callPackage
+    ({ mkDerivation, base, curl, mtl, random, tagsoup }:
+     mkDerivation {
+       pname = "cltw";
+       version = "1.1.4";
+       sha256 = "08nishc8ngmvx0pdksn4z8a6l8vdgm3jiyz3w6d302pwp566z4q9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base curl mtl random tagsoup ];
+       homepage = "http://ui3.info/d/proj/cltw.html";
+       description = "Command line Twitter utility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "clua" = callPackage
+    ({ mkDerivation, base, bytestring, containers, haskell98
+     , language-c, pretty, pretty-show
+     }:
+     mkDerivation {
+       pname = "clua";
+       version = "0.3";
+       sha256 = "0xzhpjsb9nf8xw7fa111n5gki46gz67aiyd2wr1k50pzyjrvl3vv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers haskell98 language-c pretty pretty-show
+       ];
+       homepage = "http://zwizwa.be/-/meta";
+       description = "C to Lua data wrapper generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cluss" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "cluss";
+       version = "0.3";
+       sha256 = "1q5km2f8zwnzcwnzj0khnszsgrb1x53zp0ryjwz2nfx9ajvh7zgg";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://github.com/Kinokkory/cluss";
+       description = "simple alternative to type classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clustering" = callPackage
+    ({ mkDerivation, base, binary, containers, hierarchical-clustering
+     , matrices, mwc-random, primitive, split, tasty, tasty-hunit
+     , tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "clustering";
+       version = "0.1.2";
+       sha256 = "0idmh6k6j4dmnaf8zsvw30lkwsgk5hqvp4hlzfd4j6d9ah2pwmfp";
+       buildDepends = [
+         base binary containers matrices mwc-random primitive vector
+       ];
+       testDepends = [
+         base binary hierarchical-clustering mwc-random split tasty
+         tasty-hunit tasty-quickcheck vector
+       ];
+       description = "High performance clustering algorithms";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "clustertools" = callPackage
+    ({ mkDerivation, base, bio, bytestring, containers, QuickCheck
+     , regex-compat, simpleargs
+     }:
+     mkDerivation {
+       pname = "clustertools";
+       version = "0.1.5";
+       sha256 = "0in6fqzr1aki2dhbkv3vlmw17vla5m39g6msaplk4vix5yjw7vkq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bio bytestring containers QuickCheck regex-compat simpleargs
+       ];
+       homepage = "http://malde.org/~ketil/";
+       description = "Tools for manipulating sequence clusters";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "clutterhs" = callPackage
+    ({ mkDerivation, array, base, c2hs, cairo, clutter, glib, gtk
+     , haskell98, mtl, pango, X11
+     }:
+     mkDerivation {
+       pname = "clutterhs";
+       version = "0.1";
+       sha256 = "0mcl6pc0qjyijyqqlf1wh3548gn71kv6xy0jaqgrjddf20qlc8xl";
+       buildDepends = [ array base cairo glib gtk haskell98 mtl X11 ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ clutter pango ];
+       description = "Bindings to the Clutter animation library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) clutter;  inherit (pkgs.gnome) pango;};
+
+  "cmaes" = callPackage
+    ({ mkDerivation, base, doctest, doctest-prop, mtl, process, random
+     , safe, strict, syb, vector
+     }:
+     mkDerivation {
+       pname = "cmaes";
+       version = "0.2.2";
+       sha256 = "060bmnkhbwrxhalfy5zxwjzbb6mp5ffj4r0qgkv6wp7bac2nnrp8";
+       buildDepends = [ base mtl process safe strict syb ];
+       testDepends = [
+         base doctest doctest-prop mtl process random syb vector
+       ];
+       description = "CMA-ES wrapper in Haskell";
+       license = "unknown";
+     }) {};
+
+  "cmark" = callPackage
+    ({ mkDerivation, base, HUnit, text }:
+     mkDerivation {
+       pname = "cmark";
+       version = "0.3.1";
+       sha256 = "18z50pbxxir4ca7v6zpkdv3anadg2z1lwhllilag3a592ka3hdrb";
+       buildDepends = [ base text ];
+       testDepends = [ base HUnit text ];
+       homepage = "https://github.com/jgm/commonmark-hs";
+       description = "Fast, accurate CommonMark (Markdown) parser and renderer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cmath" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cmath";
+       version = "0.3";
+       sha256 = "1hb92cgblmwp49lv0x0ib8g557mhjk6db7ihnim75ldii2f93dnm";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~dons/code/cmath";
+       description = "A binding to the standard C math library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cmathml3" = callPackage
+    ({ mkDerivation, array, arrowapply-utils, base, Cabal, containers
+     , filepath, hxt, monads-tf, parsec, syb, transformers, url
+     }:
+     mkDerivation {
+       pname = "cmathml3";
+       version = "0.1";
+       sha256 = "0mh6qzdlbfc1lfx7353p2qfa2j77xjlnnnnw3csmv125zha4y96d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array arrowapply-utils base Cabal containers filepath hxt monads-tf
+         parsec syb transformers url
+       ];
+       description = "Data model, parser, serialiser and transformations for Content MathML 3";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cmdargs" = callPackage
+    ({ mkDerivation, base, filepath, process, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "cmdargs";
+       version = "0.10.12";
+       revision = "1";
+       sha256 = "0axn3ycw4rijh1ka5f73gz9w330s851cpxbv39ia4xnb0l95hrjy";
+       editedCabalFile = "e37c92e6337ccbacd95f77938a1d0459f52cdb1a51c920a96610793cf2b5e4dc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base filepath process template-haskell transformers
+       ];
+       homepage = "http://community.haskell.org/~ndm/cmdargs/";
+       description = "Command line argument processing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cmdargs-browser" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, directory, filepath
+     , http-types, process, text, transformers, wai, wai-handler-launch
+     }:
+     mkDerivation {
+       pname = "cmdargs-browser";
+       version = "0.1.3";
+       sha256 = "1k0g2vh7sqkblzjsfvyhfiy1fcwkw0i10kgl4n2r68w7v52mmzd0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs directory filepath http-types process text
+         transformers wai wai-handler-launch
+       ];
+       homepage = "http://community.haskell.org/~ndm/cmdargs/";
+       description = "Helper to enter cmdargs command lines using a web browser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cmdlib" = callPackage
+    ({ mkDerivation, base, mtl, split, syb, transformers }:
+     mkDerivation {
+       pname = "cmdlib";
+       version = "0.3.5";
+       sha256 = "0218f4rl64wvvka95m969hg5y9vc29dqaawfcnk7d1qsv3hx9ydl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl split syb transformers ];
+       description = "a library for command line parsing & online help";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cmdtheline" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, HUnit
+     , parsec, pretty, process, test-framework, test-framework-hunit
+     , transformers
+     }:
+     mkDerivation {
+       pname = "cmdtheline";
+       version = "0.2.3";
+       sha256 = "1jwbr34xgccjbz6nm58bdsg1vqyv87rh45yia5j36vlfbaclyb04";
+       buildDepends = [
+         base containers directory filepath parsec pretty process
+         transformers
+       ];
+       testDepends = [
+         base containers directory filepath HUnit parsec pretty process
+         test-framework test-framework-hunit transformers
+       ];
+       homepage = "http://github.com/eli-frey/cmdtheline";
+       description = "Declarative command-line option parsing and documentation library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cml" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cml";
+       version = "0.1.3";
+       sha256 = "1hym074a8akzg3c96b1yczmdw5pgn4g0ahqxsxhg8d0kf8lzi5ph";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/cml/";
+       description = "Events and Channels as in Concurrent ML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cmonad" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "cmonad";
+       version = "0.1.1.1";
+       sha256 = "07adwhpsmg3q4nhifjpdjv2dy1m08n0qkvlssmbl3b6gklvb82sk";
+       buildDepends = [ array base ];
+       description = "A library for C-like programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cmu" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "cmu";
+       version = "1.9";
+       sha256 = "1mn6l17x7zwhc8wlbfqiaxjsvmwh6j0sr4x3gss1z32n5g03syd0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers ];
+       description = "Unification in a Commutative Monoid";
+       license = "GPL";
+     }) {};
+
+  "cnc-spec-compiler" = callPackage
+    ({ mkDerivation, ansi-terminal, array, base, binary, bytestring
+     , containers, directory, fgl, filepath, HUnit, mtl, parsec, pretty
+     , prettyclass, process, split, stringtable-atom, unix, zlib
+     }:
+     mkDerivation {
+       pname = "cnc-spec-compiler";
+       version = "0.2.0.1";
+       sha256 = "0nfqglz6szbi3s8xf5i87rnac7hc8cqfyrx2rs5ydb5i439s22b0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal array base binary bytestring containers directory fgl
+         filepath HUnit mtl parsec pretty prettyclass process split
+         stringtable-atom unix zlib
+       ];
+       homepage = "http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/";
+       description = "Compiler/Translator for CnC Specification Files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cndict" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cassava, containers
+     , file-embed, text, vector
+     }:
+     mkDerivation {
+       pname = "cndict";
+       version = "0.5.0";
+       sha256 = "095gin216bm2zrlw3j52byk924z51ijk90di2n5r1dbvf9liwj7l";
+       buildDepends = [
+         base binary bytestring cassava containers file-embed text vector
+       ];
+       homepage = "https://github.com/Lemmih/cndict";
+       description = "Chinese/Mandarin <-> English dictionary, Chinese lexer";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "code-builder" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "code-builder";
+       version = "0.1.3";
+       sha256 = "1ax4c19xkszahcxvwc1wa1hrgk6ajck5sbprbplsi1gc9jj4g7jm";
+       buildDepends = [ base containers ];
+       description = "Simple system for generating code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "codec-libevent" = callPackage
+    ({ mkDerivation, array, base, binary, binary-strict, bytestring
+     , containers, parsec, QuickCheck, regex-compat
+     }:
+     mkDerivation {
+       pname = "codec-libevent";
+       version = "0.1.2";
+       sha256 = "17v7adxs65jq74ngid0iywg3p5pq5j2p9mznqwj7i53238l3p60l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary binary-strict bytestring containers parsec
+         QuickCheck regex-compat
+       ];
+       description = "Cross-platform structure serialisation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "codec-mbox" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "codec-mbox";
+       version = "0.2.0.0";
+       sha256 = "0kbn76g6ly1pjd9higi0k0f26hplm0jhz85b23inn0bjli14n2cl";
+       buildDepends = [ base bytestring ];
+       description = "A library to read and write mailboxes in mbox format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "codecov-haskell" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, cmdargs
+     , containers, curl, hpc, HUnit, process, regex-posix, safe, split
+     }:
+     mkDerivation {
+       pname = "codecov-haskell";
+       version = "0.3.0";
+       sha256 = "0rvjplgrn5s4jg861gg2zx92lsb1p5qqwpnwzhz27ascvby978pf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base bytestring cmdargs containers curl hpc process
+         regex-posix safe split
+       ];
+       testDepends = [ base HUnit ];
+       homepage = "https://github.com/guillaume-nargeot/codecov-haskell";
+       description = "Codecov.io support for Haskell.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "codemonitor" = callPackage
+    ({ mkDerivation, base, cairo, containers, directory, filepath, gtk
+     , haskell98, hinotify, MissingH, process, regex-posix, time
+     }:
+     mkDerivation {
+       pname = "codemonitor";
+       version = "0.2";
+       sha256 = "14jywd60mxbj5q1srxj4igs1ah0ddf8ww5k4n5d9g7cp1b1yv1mc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers directory filepath gtk haskell98 hinotify
+         MissingH process regex-posix time
+       ];
+       homepage = "http://github.com/rickardlindberg/codemonitor";
+       description = "Tool that automatically runs arbitrary commands when files change on disk";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "codepad" = callPackage
+    ({ mkDerivation, base, curl, mtl, network, tagsoup }:
+     mkDerivation {
+       pname = "codepad";
+       version = "0.1";
+       revision = "1";
+       sha256 = "03jvbbv4cgrmk0ihz34shd1ydv5jhl1h1xiwqrln60622jlh8mr1";
+       editedCabalFile = "52fe2b461d77b36400724ddd77e6ec5a92cb9c1bbf5f97efb4cfe87adba3a07a";
+       buildDepends = [ base curl mtl network tagsoup ];
+       jailbreak = true;
+       homepage = "http://github.com/chrisdone/codepad";
+       description = "Submit and retrieve paste output from CodePad.org.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "codex" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, curl
+     , directory, either, filepath, hackage-db, machines
+     , machines-directory, MissingH, monad-loops, process, tar, text
+     , transformers, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "codex";
+       version = "0.2.1.4";
+       sha256 = "19w3s8f3yn6535lvcwzqkmydqxcdgx1khawax0n894r8lfz3zyj7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers curl directory either filepath
+         hackage-db machines machines-directory MissingH monad-loops process
+         tar text transformers yaml zlib
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/aloiscochard/codex";
+       description = "A ctags file generator for cabal project dependencies";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "codo-notation" = callPackage
+    ({ mkDerivation, base, comonad, haskell-src-meta, parsec
+     , template-haskell, uniplate
+     }:
+     mkDerivation {
+       pname = "codo-notation";
+       version = "0.5.2";
+       sha256 = "1bwfjg0bzph0vka1rx8m6f505l9dmj8nn6al9kmjkva18l05gsvq";
+       buildDepends = [
+         base comonad haskell-src-meta parsec template-haskell uniplate
+       ];
+       description = "A notation for comonads, analogous to the do-notation for monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cofunctor" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cofunctor";
+       version = "0.1.0.1";
+       sha256 = "0xn4k1c7l9z3g0slbwvlfg9kpfq8jbk0qf9363qz7azv7ks1149p";
+       buildDepends = [ base ];
+       description = "DEPRECATED: use the \"contravariant\" package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cognimeta-utils" = callPackage
+    ({ mkDerivation, array, base, bytestring, collections-api
+     , comonad-transformers, containers, data-lens, data-lens-fd
+     , data-lens-template, deepseq, ghc-prim, mtl, primitive, QuickCheck
+     , stm, tagged, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "cognimeta-utils";
+       version = "0.1.2";
+       sha256 = "00bq5qad7x8x0fac1gb8aq97zm4pylnk7n9bg4nkhyyvwnmjsy5l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring collections-api comonad-transformers
+         containers data-lens data-lens-fd data-lens-template deepseq
+         ghc-prim mtl primitive QuickCheck stm tagged template-haskell
+         transformers
+       ];
+       homepage = "https://github.com/Cognimeta/cognimeta-utils";
+       description = "Utilities for Cognimeta products (such as perdure). API may change often.";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "colada" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cmdargs, containers
+     , fclabels, ghc-prim, ListZipper, monad-atom, mtl, nlp-scores
+     , split, swift-lda, text, vector
+     }:
+     mkDerivation {
+       pname = "colada";
+       version = "0.8.4.0";
+       sha256 = "16inmr2hp2racg85crrpwd45p1wgjhcp7w242nixc8dlwdy1lkz3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal cmdargs containers fclabels ghc-prim
+         ListZipper monad-atom mtl nlp-scores split swift-lda text vector
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/gchrupala/colada";
+       description = "Colada implements incremental word class class induction using online LDA";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "colchis" = callPackage
+    ({ mkDerivation, aeson, base, conceit, network, network-simple
+     , pipes, pipes-aeson, pipes-attoparsec, pipes-network, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "colchis";
+       version = "0.2.0.3";
+       sha256 = "1fhamxm740r59q0sazs2np1b8hv74dhhbb4ah73m94im96729rbb";
+       buildDepends = [
+         aeson base conceit network network-simple pipes pipes-aeson
+         pipes-attoparsec pipes-network text transformers
+       ];
+       jailbreak = true;
+       description = "Rudimentary JSON-RPC 2.0 client over raw TCP.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "collada-output" = callPackage
+    ({ mkDerivation, base, collada-types, containers, SVGPath, time
+     , vector, xml
+     }:
+     mkDerivation {
+       pname = "collada-output";
+       version = "0.6";
+       sha256 = "1k6k2ljz9x06j0nrpbbpcgd3axamf3cgr6jyslam0xkgxzsi7w7x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base collada-types containers SVGPath time vector xml
+       ];
+       jailbreak = true;
+       description = "Generate animated 3d objects in COLLADA";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "collada-types" = callPackage
+    ({ mkDerivation, base, containers, enumerable, OpenGL, tuple
+     , tuple-gen, vector
+     }:
+     mkDerivation {
+       pname = "collada-types";
+       version = "0.3";
+       sha256 = "0aw1y3ylcnpj3wwh6w8168a4mmkiayav6swyh2fq3vfjlds91xc8";
+       buildDepends = [
+         base containers enumerable OpenGL tuple tuple-gen vector
+       ];
+       jailbreak = true;
+       description = "Data exchange between graphic applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "collapse-util" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "collapse-util";
+       version = "0.1.0.1";
+       sha256 = "02r4cz92wjm3hcih8jf5jvimw3ijwbp4x7iw90rkj05360ajikj7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://github.com/mwotton/collapse";
+       description = "utility for collapsing adjacent writes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "collection-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, text }:
+     mkDerivation {
+       pname = "collection-json";
+       version = "0.1.0.0";
+       sha256 = "1nzpa791s04r3qikn329r67a64gl9rnk389bk3blijx6q2r9xacc";
+       buildDepends = [ aeson base bytestring text ];
+       homepage = "https://github.com/danchoi/collection-json.hs";
+       description = "Collection+JSON hypermedia type tools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "collections" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, QuickCheck }:
+     mkDerivation {
+       pname = "collections";
+       version = "0.3.1.1";
+       sha256 = "0a5km8k2jwjv4gfd2vf0jiq3f9cw47dgz8f3lspmpx2b0g2pac7g";
+       buildDepends = [ array base bytestring containers QuickCheck ];
+       jailbreak = true;
+       description = "Useful standard collections types and related functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "collections-api" = callPackage
+    ({ mkDerivation, array, base, QuickCheck }:
+     mkDerivation {
+       pname = "collections-api";
+       version = "1.0.0.0";
+       sha256 = "0vgw1spiv6wnk11j3y45d95r3axgr1sgksb5lilnxdjj2pn4gp5l";
+       buildDepends = [ array base QuickCheck ];
+       homepage = "http://code.haskell.org/collections/";
+       description = "API for collection data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "collections-base-instances" = callPackage
+    ({ mkDerivation, array, base, bytestring, collections-api
+     , containers
+     }:
+     mkDerivation {
+       pname = "collections-base-instances";
+       version = "1.0.0.0";
+       sha256 = "0nw6wpzqsj33pnffsflc6ipjcx6lknzdnxgn4rm3vhrl5y9rgpzk";
+       buildDepends = [
+         array base bytestring collections-api containers
+       ];
+       homepage = "http://code.haskell.org/collections/";
+       description = "Useful standard collections types and related functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "colock" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "colock";
+       version = "0.2.2";
+       sha256 = "0h3y5c3c3711k2glmnydc1rlz9ff73iibcc8vf0zjzvvw9rz0xb1";
+       buildDepends = [ base unix ];
+       description = "thread-friendly file locks that don't block the entire program";
+       license = "LGPL";
+     }) {};
+
+  "colorize-haskell" = callPackage
+    ({ mkDerivation, ansi-terminal, base, haskell-lexer }:
+     mkDerivation {
+       pname = "colorize-haskell";
+       version = "1.0.1";
+       sha256 = "1v4spa6vw9igjpd1dr595z5raz5fr8f485q5w9imrv8spms46xh3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ ansi-terminal base haskell-lexer ];
+       homepage = "http://github.com/yav/colorize-haskell";
+       description = "Highligt Haskell source";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "colors" = callPackage
+    ({ mkDerivation, base, lens, linear, profunctors }:
+     mkDerivation {
+       pname = "colors";
+       version = "0.3.0.2";
+       sha256 = "0gbdqn5wrh9711j5hs5ypbd3w7a3mh37g6aadqiq4m5n7jna6phm";
+       buildDepends = [ base lens linear profunctors ];
+       homepage = "https://github.com/fumieval/colors";
+       description = "A type for colors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "colour" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "colour";
+       version = "2.3.3";
+       sha256 = "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd";
+       buildDepends = [ base ];
+       homepage = "http://www.haskell.org/haskellwiki/Colour";
+       description = "A model for human colour/color perception";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "coltrane" = callPackage
+    ({ mkDerivation, base, bytestring, HTTP, http-types, HUnit, mtl
+     , regex-compat, text, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "coltrane";
+       version = "0.1.0.0";
+       sha256 = "131arfizyniapjvc9ds6l90z7gig98imhm17k1vza5wvgjqbb5fa";
+       buildDepends = [
+         base bytestring HTTP http-types HUnit mtl regex-compat text wai
+         wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/wellecks/coltrane";
+       description = "A jazzy, minimal web framework for Haskell, inspired by Sinatra";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "com" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "com";
+       version = "1.2.3.1";
+       sha256 = "1y6zm63jyigf631f2b0bqw1yhmr6hifaspqivy7qy30brmr5a27m";
+       description = "Haskell COM support library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "combinat" = callPackage
+    ({ mkDerivation, array, base, containers, random, transformers }:
+     mkDerivation {
+       pname = "combinat";
+       version = "0.2.7.0";
+       sha256 = "1rch5pk0sggmdr2wmqys5i5p1cjyqdymrngjf8a2721q6nycfjjz";
+       buildDepends = [ array base containers random transformers ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Generation of various combinatorial objects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "combinat-diagrams" = callPackage
+    ({ mkDerivation, array, base, colour, combinat, containers
+     , diagrams-core, diagrams-lib, transformers, vector-space
+     }:
+     mkDerivation {
+       pname = "combinat-diagrams";
+       version = "0.1";
+       sha256 = "1m7b0qf583jgi65vg6lxvypvjal74p83iir03ma7cfrgw5s5mw2q";
+       buildDepends = [
+         array base colour combinat containers diagrams-core diagrams-lib
+         transformers vector-space
+       ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Graphical representations for various combinatorial objects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "combinator-interactive" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, directory
+     , lens, mtl, template-haskell, th-lift, trifecta, void
+     }:
+     mkDerivation {
+       pname = "combinator-interactive";
+       version = "0.1.2";
+       sha256 = "0yxdy413pj6ah4d5qcpajbphfg02p0gxgs1x9salfa18fyflljc4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal containers directory lens mtl
+         template-haskell th-lift trifecta void
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fumieval/combinator-interactive";
+       description = "SKI Combinator interpreter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "combinatorial-problems" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-lexing
+     , containers, parsec, random
+     }:
+     mkDerivation {
+       pname = "combinatorial-problems";
+       version = "0.0.5";
+       sha256 = "1k3isi62i66xbisn48b018w7fcfhwwng1f64ca530qkk600fg850";
+       buildDepends = [
+         array base bytestring bytestring-lexing containers parsec random
+       ];
+       homepage = "http://www.comp.leeds.ac.uk/sc06r2s/Projects/HaskellCombinatorialProblems";
+       description = "A number of data structures to represent and allow the manipulation of standard combinatorial problems, used as test problems in computer science";
+       license = "GPL";
+     }) {};
+
+  "combinatorics" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "combinatorics";
+       version = "0.1.0";
+       sha256 = "101b3lycfav6wqdqjhs0v93vgy4g3pfn5xyimip0x3alq0q2ix9a";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Efficient computation of common combinatoric functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "combobuffer" = callPackage
+    ({ mkDerivation, base, containers, template-haskell, vector
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "combobuffer";
+       version = "0.2";
+       sha256 = "1zsdi9c9my6nrxpqqsy584swp4zg8lckrymfig1ywisbdfzb8rjh";
+       buildDepends = [
+         base containers template-haskell vector vector-space
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/JohnLato/combobuffer";
+       description = "Various buffer implementations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "command" = callPackage
+    ({ mkDerivation, base, deepseq, process }:
+     mkDerivation {
+       pname = "command";
+       version = "0.1.1";
+       sha256 = "0qj6i5r1iz3d8visqpd74xwkribxzs4p66b1vgp0i3jiqgfrn2hw";
+       buildDepends = [ base deepseq process ];
+       homepage = "https://github.com/nh2/command";
+       description = "Conveniently run shell commands";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "command-qq" = callPackage
+    ({ mkDerivation, base, doctest, hspec, process, template-haskell
+     , text
+     }:
+     mkDerivation {
+       pname = "command-qq";
+       version = "0.3.0.0";
+       sha256 = "1bqfb4gc5ja9d9jygijqpf6014bmfcxnsvpv7c5n4f1z2aj07jy5";
+       buildDepends = [ base process template-haskell text ];
+       testDepends = [ base doctest hspec template-haskell text ];
+       homepage = "http://biegunka.github.io/command-qq/";
+       description = "Quasiquoters for external commands";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "commodities" = callPackage
+    ({ mkDerivation, base, comonad, containers, directory, distributive
+     , doctest, filepath, hspec, hspec-expectations, keys, lens, linear
+     , mtl, numbers, PSQueue, QuickCheck, semigroupoids, semigroups
+     , text, thyme, transformers
+     }:
+     mkDerivation {
+       pname = "commodities";
+       version = "0.2.0";
+       sha256 = "0xf2vp7wb3qkxkrcwhcqpqfzg9345ws890rkmibvcd21jnczhg89";
+       buildDepends = [
+         base comonad containers distributive keys lens linear mtl numbers
+         PSQueue semigroupoids semigroups text thyme transformers
+       ];
+       testDepends = [
+         base containers directory doctest filepath hspec hspec-expectations
+         lens QuickCheck semigroups thyme transformers
+       ];
+       description = "Library for working with commoditized amounts and price histories";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "commsec" = callPackage
+    ({ mkDerivation, base, bytestring, cipher-aes128, crypto-api
+     , network
+     }:
+     mkDerivation {
+       pname = "commsec";
+       version = "0.3.5";
+       sha256 = "1lshp876qm29370mpa3bh0gijcv317sf1y8vajixzz1083bkpngm";
+       buildDepends = [
+         base bytestring cipher-aes128 crypto-api network
+       ];
+       description = "Provide communications security using symmetric ephemeral keys";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "commsec-keyexchange" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cipher-aes128, commsec
+     , crypto-api, crypto-pubkey-types, cryptohash-cryptoapi, DRBG
+     , monadcryptorandom, network, RSA
+     }:
+     mkDerivation {
+       pname = "commsec-keyexchange";
+       version = "0.3.3";
+       sha256 = "1c207fv429frkyb742n0r1z0kkvlwnkcxblfkrjm1lwqfkdx0prn";
+       buildDepends = [
+         base bytestring cereal cipher-aes128 commsec crypto-api
+         crypto-pubkey-types cryptohash-cryptoapi DRBG monadcryptorandom
+         network RSA
+       ];
+       homepage = "https://github.com/TomMD/commsec-keyExchange";
+       description = "Key agreement for commsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "comonad" = callPackage
+    ({ mkDerivation, base, containers, contravariant, directory
+     , distributive, doctest, filepath, semigroups, tagged, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "comonad";
+       version = "4.2.5";
+       sha256 = "07ilryqgvnkr4vmifg0dncgzmx87i2fbfbgrgc3jn1yz808s7wqf";
+       buildDepends = [
+         base containers contravariant distributive semigroups tagged
+         transformers transformers-compat
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/comonad/";
+       description = "Comonads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "comonad-extras" = callPackage
+    ({ mkDerivation, array, base, comonad, containers, distributive
+     , semigroupoids, transformers
+     }:
+     mkDerivation {
+       pname = "comonad-extras";
+       version = "4.0";
+       sha256 = "0irlx6rbp0cq5njxssm5a21mv7v5yccchfpn7h9hzr9fgyaxsr62";
+       buildDepends = [
+         array base comonad containers distributive semigroupoids
+         transformers
+       ];
+       homepage = "http://github.com/ekmett/comonad-extras/";
+       description = "Exotic comonad transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "comonad-random" = callPackage
+    ({ mkDerivation, base, category-extras, random }:
+     mkDerivation {
+       pname = "comonad-random";
+       version = "0.1.2";
+       sha256 = "11jak28rpnnaswrlf2wgn91v096zkz1laq2cdhjfc7abgmkx9gay";
+       buildDepends = [ base category-extras random ];
+       jailbreak = true;
+       description = "Comonadic interface for random values";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "comonad-transformers" = callPackage
+    ({ mkDerivation, base, comonad }:
+     mkDerivation {
+       pname = "comonad-transformers";
+       version = "4.0";
+       sha256 = "13zzp6r6s6c80skniphwvzxhpazbyal5854m53139kgcw560rv6z";
+       buildDepends = [ base comonad ];
+       homepage = "http://github.com/ekmett/comonad-transformers/";
+       description = "This package has been merged into comonad 4.0";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "comonads-fd" = callPackage
+    ({ mkDerivation, base, comonad }:
+     mkDerivation {
+       pname = "comonads-fd";
+       version = "4.0";
+       sha256 = "19xpv0dsz7w3a1sq1gdxwzglfal45vj2s22zb12g9mpk5rp3hw1s";
+       buildDepends = [ base comonad ];
+       homepage = "http://github.com/ekmett/comonads-fd/";
+       description = "This package has been merged into comonad 4.0";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compact-map" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers }:
+     mkDerivation {
+       pname = "compact-map";
+       version = "2008.11.9";
+       sha256 = "0rk2g5swblbbairwabv5azp6a7cjqywhv49prm1rz8mc361dd9by";
+       buildDepends = [ array base binary bytestring containers ];
+       description = "Compact Data.Map implementation using Data.Binary";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "compact-string" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "compact-string";
+       version = "0.3.1";
+       sha256 = "02lqxl82jmw276mzxwsc0gmps1kb5i62im85bpjvzqwycbf3gnj8";
+       buildDepends = [ base bytestring ];
+       homepage = "http://twan.home.fmf.nl/compact-string/";
+       description = "Fast, packed and strict strings with Unicode support, based on bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "compact-string-fix" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "compact-string-fix";
+       version = "0.3.2";
+       sha256 = "161z0lmrrqvy77ppdgz7m6nazcmlmy1azxa8rx0cgpqmyxzkf87n";
+       buildDepends = [ base bytestring ];
+       homepage = "http://twan.home.fmf.nl/compact-string/";
+       description = "Same as compact-string except with a small fix so it builds on ghc-6.12";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compare-type" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "compare-type";
+       version = "0.1.1";
+       sha256 = "1s6p3ni8pqxbp08ci4w6y646wrh60s0g34figrwdcqrywscyicsb";
+       buildDepends = [ base ];
+       homepage = "https://github.com/Kinokkory/compare-type";
+       description = "compare types of any kinds in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compdata" = callPackage
+    ({ mkDerivation, base, containers, deepseq, derive, HUnit, mtl
+     , QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, th-expand-syns
+     , transformers, tree-view
+     }:
+     mkDerivation {
+       pname = "compdata";
+       version = "0.9";
+       sha256 = "1wk9vj834l3fc64fcsrgc9hz5f2z7461hs8lv1ldkfsixx4mxyqc";
+       buildDepends = [
+         base containers deepseq derive mtl QuickCheck template-haskell
+         th-expand-syns transformers tree-view
+       ];
+       testDepends = [
+         base containers deepseq derive HUnit mtl QuickCheck
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 th-expand-syns transformers
+       ];
+       description = "Compositional Data Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compdata-automata" = callPackage
+    ({ mkDerivation, base, compdata, containers, projection }:
+     mkDerivation {
+       pname = "compdata-automata";
+       version = "0.9";
+       revision = "1";
+       sha256 = "1hlv6a4ywlnr86pzrlffqbg55mfkrkkxn2yir6a28bdirgi69fkf";
+       editedCabalFile = "f8bda15b8d1d1e56f64c37f39ac8ba1c7bf860c291adad3698041eee68146130";
+       buildDepends = [ base compdata containers projection ];
+       description = "Tree automata on Compositional Data Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compdata-dags" = callPackage
+    ({ mkDerivation, base, compdata, containers, HUnit, mtl, projection
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "compdata-dags";
+       version = "0.1";
+       revision = "1";
+       sha256 = "1ijr3lpl0g5l5xynnwwzj4rflgfgw1y2b4ldabbw5qlk4qa0gr5j";
+       editedCabalFile = "556bbb62f4b8b6d738a20775066342b4d911fed945729da5aea072fd5df65044";
+       buildDepends = [
+         base compdata containers mtl projection unordered-containers vector
+       ];
+       testDepends = [
+         base compdata containers HUnit mtl projection QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         unordered-containers vector
+       ];
+       description = "Compositional Data Types on DAGs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compdata-param" = callPackage
+    ({ mkDerivation, base, compdata, containers, HUnit, mtl
+     , template-haskell, test-framework, test-framework-hunit
+     , transformers
+     }:
+     mkDerivation {
+       pname = "compdata-param";
+       version = "0.8.0.2";
+       sha256 = "0496i1vnawl7m7ymvf5hl3kxy352rnhxy2gni4xkfz36psnnr7fs";
+       buildDepends = [ base compdata mtl template-haskell transformers ];
+       testDepends = [
+         base compdata containers HUnit mtl template-haskell test-framework
+         test-framework-hunit transformers
+       ];
+       description = "Parametric Compositional Data Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compensated" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, bytes, cereal, comonad
+     , deepseq, directory, distributive, doctest, filepath
+     , generic-deriving, hashable, lens, log-domain, safecopy
+     , semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "compensated";
+       version = "0.6.1";
+       sha256 = "026gq3ppk3id4bvkn3pdg6ljbl14gd8p4hg6i0rc13138b0mlxnh";
+       buildDepends = [
+         base bifunctors binary bytes cereal comonad deepseq distributive
+         generic-deriving hashable lens log-domain safecopy semigroupoids
+         semigroups vector
+       ];
+       testDepends = [
+         base directory doctest filepath generic-deriving semigroups
+         simple-reflect
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/analytics/compensated/";
+       description = "Compensated floating-point arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "competition" = callPackage
+    ({ mkDerivation, base, filepath, parsec }:
+     mkDerivation {
+       pname = "competition";
+       version = "0.2.0.0";
+       sha256 = "07c6b6yai8x9i8qndimzmyp5bzhwckis8kg207n152gnskk7i3zn";
+       buildDepends = [ base filepath parsec ];
+       jailbreak = true;
+       homepage = "github.com/yanatan16/haskell-competition";
+       description = "Helpers and runners for code competitions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "compilation" = callPackage
+    ({ mkDerivation, base, MissingH }:
+     mkDerivation {
+       pname = "compilation";
+       version = "0.0.0.3";
+       sha256 = "0a1pp1jafra1agsx2jizdb33afzg02w6jh4a4pyw5w71kzqfrril";
+       buildDepends = [ base MissingH ];
+       description = "Haskell functionality for quickly assembling simple compilers";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "complex-generic" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "complex-generic";
+       version = "0.1.1";
+       sha256 = "15lqcwg3jp1whf086mlx9f5jv6sbkn53jrilhapalgcgs07nf8ll";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://gitorious.org/complex-generic";
+       description = "complex numbers with non-mandatory RealFloat";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "complex-integrate" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "complex-integrate";
+       version = "1.0.0";
+       sha256 = "0q0ffpqir4f2ch7d7p2fxgb73n7dg7xf19rg78an7i7zdl430cfj";
+       buildDepends = [ base ];
+       homepage = "https://github.com/hijarian/complex-integrate";
+       description = "A simple integration function to integrate a complex-valued complex functions";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "complexity" = callPackage
+    ({ mkDerivation, base, Chart, colour, data-accessor, hstats
+     , parallel, pretty, time, transformers
+     }:
+     mkDerivation {
+       pname = "complexity";
+       version = "0.1.3";
+       sha256 = "16crk93qyh0arcgqq2bx0i61cah2yhm8wwdr6sasma8y5hlw76lj";
+       buildDepends = [
+         base Chart colour data-accessor hstats parallel pretty time
+         transformers
+       ];
+       jailbreak = true;
+       description = "Empirical algorithmic complexity";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "compose-trans" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "compose-trans";
+       version = "0.1";
+       sha256 = "0p2fd0knfbfjk4s0aalzrsrzpxffrykmaprxyakbgs1lmp4jyq9z";
+       buildDepends = [ base mtl ];
+       description = "Composable monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "composition" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "composition";
+       version = "1.0.1.0";
+       sha256 = "1gx27vz2djiiwygcjaygjmiwjnls084b5v9km3jpimlz312qh5hc";
+       homepage = "http://patch-tag.com/r/DanBurton/composition/home";
+       description = "Combinators for unorthodox function composition";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compressed" = callPackage
+    ({ mkDerivation, base, comonad, containers, fingertree, hashable
+     , keys, pointed, reducers, semigroupoids, semigroups
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "compressed";
+       version = "3.10";
+       sha256 = "1y290n421knfh8k8zbcabhw24hb13xj9pkxx4h4v15yji97p5mcw";
+       buildDepends = [
+         base comonad containers fingertree hashable keys pointed reducers
+         semigroupoids semigroups unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/compressed/";
+       description = "Compressed containers and reducers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compression" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "compression";
+       version = "0.1";
+       sha256 = "0cy7851i7dvn5aphg649jr3wmw9x57s29adk7qv0mvwz99fb4cpr";
+       buildDepends = [ base mtl ];
+       homepage = "http://urchin.earth.li/~ian/cabal/compression/";
+       description = "Common compression algorithms";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "compstrat" = callPackage
+    ({ mkDerivation, base, compdata, mtl, template-haskell
+     , th-expand-syns, transformers
+     }:
+     mkDerivation {
+       pname = "compstrat";
+       version = "0.1.0.2";
+       sha256 = "1jdxvyqkszwkry3vly65nh80519cpfw4ghzg1lsbnhyrbhvlchkg";
+       buildDepends = [
+         base compdata mtl template-haskell th-expand-syns transformers
+       ];
+       description = "Strategy combinators for compositional data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "comptrans" = callPackage
+    ({ mkDerivation, base, compdata, containers, deepseq
+     , deepseq-generics, ghc-prim, lens, template-haskell
+     , th-expand-syns
+     }:
+     mkDerivation {
+       pname = "comptrans";
+       version = "0.1.0.5";
+       sha256 = "05r07900bniy1gazvgj3wj4g07j33h493885bhh7gq1n1xilqgkm";
+       buildDepends = [
+         base compdata containers deepseq deepseq-generics ghc-prim lens
+         template-haskell th-expand-syns
+       ];
+       homepage = "https://github.com/jkoppel/comptrans";
+       description = "Automatically converting ASTs into compositional data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "computational-algebra" = callPackage
+    ({ mkDerivation, algebra, base, containers, equational-reasoning
+     , heaps, lens, monad-loops, monomorphic, peggy, singletons
+     , sized-vector, tagged, type-natural
+     }:
+     mkDerivation {
+       pname = "computational-algebra";
+       version = "0.3.0.0";
+       sha256 = "09ljbspgwpg4g0fca8j10qmbc7194cjhv0l6svz2qr6zzhmb3l4x";
+       buildDepends = [
+         algebra base containers equational-reasoning heaps lens monad-loops
+         monomorphic peggy singletons sized-vector tagged type-natural
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/konn/computational-algebra";
+       description = "Well-kinded computational algebra library, currently supporting Groebner basis";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "concatenative" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "concatenative";
+       version = "1.0.1";
+       sha256 = "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty";
+       description = "A library for postfix control flow";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "conceit" = callPackage
+    ({ mkDerivation, base, bifunctors, exceptions, mtl, semigroupoids
+     , transformers, void
+     }:
+     mkDerivation {
+       pname = "conceit";
+       version = "0.2.2.1";
+       sha256 = "0phr04cp36n5r137la3vh92v7wbc5a56grpfynn2vjiyacmrw0b4";
+       buildDepends = [
+         base bifunctors exceptions mtl semigroupoids transformers void
+       ];
+       description = "Concurrent actions that may fail";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concorde" = callPackage
+    ({ mkDerivation, base, containers, process, safe, temporary }:
+     mkDerivation {
+       pname = "concorde";
+       version = "0.1";
+       sha256 = "0903lrj6bzajjdr01hbld1jm6vf7assn84hqk4kgrrs1mr3ykc20";
+       buildDepends = [ base containers process safe temporary ];
+       description = "Simple interface to the Concorde solver for the Traveling Salesperson Problem";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concraft" = callPackage
+    ({ mkDerivation, aeson, array, base, binary, bytestring, cmdargs
+     , comonad, containers, crf-chain1-constrained, crf-chain2-tiers
+     , data-lens, lazy-io, monad-codec, monad-ox, sgd, tagset-positional
+     , temporary, text, text-binary, transformers, vector, vector-binary
+     , zlib
+     }:
+     mkDerivation {
+       pname = "concraft";
+       version = "0.9.4";
+       sha256 = "17q7mhf0n9pnxhvwk3yy61ljfifz8nhld1xhhnn13fldq34663q3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base binary bytestring cmdargs comonad containers
+         crf-chain1-constrained crf-chain2-tiers data-lens lazy-io
+         monad-codec monad-ox sgd tagset-positional temporary text
+         text-binary transformers vector vector-binary zlib
+       ];
+       jailbreak = true;
+       homepage = "http://zil.ipipan.waw.pl/Concraft";
+       description = "Morphological disambiguation based on constrained CRFs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concraft-hr" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, cmdargs, concraft
+     , containers, double-conversion, lazy-io, moan, network, sgd, split
+     , tagset-positional, text
+     }:
+     mkDerivation {
+       pname = "concraft-hr";
+       version = "0.1.0.2";
+       sha256 = "0q2l2yqxk210ycw1alcps9x7l2f60g9sb0wan7d1d2fkbfhq3z41";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring cmdargs concraft containers
+         double-conversion lazy-io moan network sgd split tagset-positional
+         text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/vjeranc/concraft-hr";
+       description = "Part-of-speech tagger for Croatian";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "concraft-pl" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, cmdargs, concraft
+     , containers, lazy-io, mtl, network, process, sgd, split
+     , tagset-positional, text, transformers
+     }:
+     mkDerivation {
+       pname = "concraft-pl";
+       version = "0.7.4";
+       sha256 = "0yhq3vdg7l0ibhv0pxj70jm5lrfjk3k0xd1p6ap6im4rh3xxvgw3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring cmdargs concraft containers lazy-io
+         mtl network process sgd split tagset-positional text transformers
+       ];
+       homepage = "http://zil.ipipan.waw.pl/Concraft";
+       description = "Morphological tagger for Polish";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concrete-relaxng-parser" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, hxt, hxt-charproperties
+     , hxt-curl, hxt-relaxng, hxt-tagsoup
+     }:
+     mkDerivation {
+       pname = "concrete-relaxng-parser";
+       version = "0.1.1";
+       sha256 = "1w4bg284fcnd15yg7097d8sh0rzxr76zlrr1bfj2dksw8ddy3jda";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers hxt hxt-charproperties hxt-curl hxt-relaxng
+         hxt-tagsoup
+       ];
+       description = "A parser driven by a standard RELAX NG schema with concrete syntax extensions";
+       license = "GPL";
+     }) {};
+
+  "concrete-typerep" = callPackage
+    ({ mkDerivation, base, binary, ghc, hashable, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "concrete-typerep";
+       version = "0.1.0.2";
+       sha256 = "07wy8drg4723zdy2172jrcvd5ir2c4ggcfz1n33jhm9iv3cl2app";
+       buildDepends = [ base binary ghc hashable ];
+       testDepends = [
+         base binary hashable QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       description = "Binary and Hashable instances for TypeRep";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concurrent-barrier" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "concurrent-barrier";
+       version = "0.1.2";
+       sha256 = "13idx7w5k8rk3qqls3yn9xqwk116xsqb36ya3vxkb5x4q4vix3mv";
+       buildDepends = [ base ];
+       homepage = "https://github.com/jsgf/concurrent-barrier";
+       description = "Simple thread barriers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concurrent-dns-cache" = callPackage
+    ({ mkDerivation, array, async, base, bytestring, containers, dns
+     , hashable, hspec, iproute, network, stm, time
+     }:
+     mkDerivation {
+       pname = "concurrent-dns-cache";
+       version = "0.0.1";
+       sha256 = "0awba7ar4iky211psq5d44snd5j75ddvl6klalriic4i5w41dhv2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array async base bytestring containers dns hashable iproute network
+         stm time
+       ];
+       testDepends = [ async base dns hspec ];
+       description = "Concurrent DNS cache";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concurrent-extra" = callPackage
+    ({ mkDerivation, async, base, HUnit, random, stm, test-framework
+     , test-framework-hunit, unbounded-delays
+     }:
+     mkDerivation {
+       pname = "concurrent-extra";
+       version = "0.7.0.9";
+       sha256 = "19bqm0brnbhhmp5nypi995p27mna7kd33xzw0kf7yx2w2p2kb1aw";
+       buildDepends = [ base stm unbounded-delays ];
+       testDepends = [
+         async base HUnit random stm test-framework test-framework-hunit
+         unbounded-delays
+       ];
+       homepage = "https://github.com/basvandijk/concurrent-extra";
+       description = "Extra concurrency primitives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concurrent-sa" = callPackage
+    ({ mkDerivation, base, MonadRandom }:
+     mkDerivation {
+       pname = "concurrent-sa";
+       version = "1.0.1";
+       sha256 = "1szvw0vih5jx2hvgb3h7mqh05im3pw687h7dshiy4ii5vs9pi6d6";
+       buildDepends = [ base MonadRandom ];
+       description = "Concurrent simulated annealing system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concurrent-split" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "concurrent-split";
+       version = "0.0.0.1";
+       sha256 = "0xriw08w70dj4gji4afa034q9vcgwymjw2j6gx1x7fwdpi04lzsb";
+       buildDepends = [ base ];
+       description = "MVars and Channels with distinguished input and output side";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concurrent-state" = callPackage
+    ({ mkDerivation, base, exceptions, mtl, stm, transformers }:
+     mkDerivation {
+       pname = "concurrent-state";
+       version = "0.6.0.0";
+       sha256 = "0b9lndzqm451j9wv2694gjd9w9j2vmhp32j57fqnq43pq8a1h1z6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base exceptions mtl stm transformers ];
+       homepage = "https://github.com/joelteon/concurrent-state";
+       description = "MTL-like library using TVars";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "concurrent-supply" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, hashable }:
+     mkDerivation {
+       pname = "concurrent-supply";
+       version = "0.1.7.1";
+       sha256 = "050d1k4hvjjyap3w8spcx57lagnh77z131jbgsndpc9mjx8r4l5y";
+       buildDepends = [ base ghc-prim hashable ];
+       testDepends = [ base containers ];
+       homepage = "http://github.com/ekmett/concurrent-supply/";
+       description = "A fast concurrent unique identifier supply with a pure API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "concurrentoutput" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "concurrentoutput";
+       version = "0.2.0.2";
+       sha256 = "0fd372awmxrngbcb2phyzy3az9j2327kdhjnm7c5mm808vix67a8";
+       buildDepends = [ base ];
+       description = "Ungarble output from several threads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cond" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cond";
+       version = "0.4.1.1";
+       sha256 = "12xcjxli1scd4asr4zc77i5q9qka2100gx97hv3vv12l7gj7d703";
+       buildDepends = [ base ];
+       homepage = "https://github.com/kallisti-dev/cond";
+       description = "Basic conditional and boolean operators with monadic variants";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "condor" = callPackage
+    ({ mkDerivation, base, binary, Cabal, containers, directory
+     , filepath, glider-nlp, HUnit, text
+     }:
+     mkDerivation {
+       pname = "condor";
+       version = "0.3";
+       sha256 = "0ahikfb6h2clkx3pi6a7gyp39jhv2am98vyyaknyd1nvfvxl96x7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers directory filepath glider-nlp text
+       ];
+       testDepends = [
+         base binary Cabal containers glider-nlp HUnit text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/klangner/Condor";
+       description = "Information retrieval library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "condorcet" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "condorcet";
+       version = "0.0.1";
+       sha256 = "1raf8mrnfnn90ymcnyhqf1kzb9mpfsk83qlmajibjd8n94iq76nd";
+       buildDepends = [ array base ];
+       homepage = "http://neugierig.org/software/darcs/condorcet";
+       description = "Library for Condorcet voting";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conductive-base" = callPackage
+    ({ mkDerivation, array, base, containers, random, stm, time }:
+     mkDerivation {
+       pname = "conductive-base";
+       version = "0.3";
+       sha256 = "1jdslfnwyh7l10xhk9i0293p0qnw0xsd70d5xgpc6xlijhrsg8wp";
+       buildDepends = [ array base containers random stm time ];
+       homepage = "http://www.renickbell.net/doku.php?id=conductive-base";
+       description = "a library for live coding and real-time musical applications";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "conductive-clock" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "conductive-clock";
+       version = "0.2";
+       sha256 = "1plml14h5d31jr3bvjjgaxcdqssxqfwwnbz9c5gvjlds6lla145p";
+       homepage = "http://www.renickbell.net/doku.php?id=conductive-clock";
+       description = "a library for displaying musical time in a terminal-based clock";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conductive-hsc3" = callPackage
+    ({ mkDerivation, base, conductive-base, conductive-song, containers
+     , directory, filepath, hosc, hsc3, random
+     }:
+     mkDerivation {
+       pname = "conductive-hsc3";
+       version = "0.3.1";
+       sha256 = "1z037753mxkfqbqqrlkpg5a6z9afpjj16bfplsmbbx3r3vrxbkpa";
+       buildDepends = [
+         base conductive-base conductive-song containers directory filepath
+         hosc hsc3 random
+       ];
+       jailbreak = true;
+       homepage = "http://www.renickbell.net/doku.php?id=conductive-hsc3";
+       description = "a library with examples of using Conductive with hsc3";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conductive-song" = callPackage
+    ({ mkDerivation, base, conductive-base, random }:
+     mkDerivation {
+       pname = "conductive-song";
+       version = "0.2";
+       sha256 = "16bdsjv64fc3ydv230rja5q9rqzlr4vd9mh3jabiyahck44imrvi";
+       buildDepends = [ base conductive-base random ];
+       homepage = "http://www.renickbell.net/doku.php?id=conductive-song";
+       description = "a library of functions which are useful for composing music";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "conduit" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
+     , mmorph, mtl, QuickCheck, resourcet, safe, transformers
+     , transformers-base, void
+     }:
+     mkDerivation {
+       pname = "conduit";
+       version = "1.2.4";
+       sha256 = "1vqajj5mwnknqcjc5pj883jz4iwjj6is4jr701bzr0n6ngvn7qvh";
+       buildDepends = [
+         base exceptions lifted-base mmorph mtl resourcet transformers
+         transformers-base void
+       ];
+       testDepends = [
+         base containers exceptions hspec mtl QuickCheck resourcet safe
+         transformers void
+       ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Streaming data processing library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "conduit-audio" = callPackage
+    ({ mkDerivation, base, conduit, vector }:
+     mkDerivation {
+       pname = "conduit-audio";
+       version = "0.1";
+       sha256 = "1xmxnr7w8s3kmdv5h0y08rnp3sx5wvxqmkg1j7yjycp9z7hbmylb";
+       buildDepends = [ base conduit vector ];
+       homepage = "http://github.com/mtolly/conduit-audio";
+       description = "Combinators to efficiently slice and dice audio streams";
+       license = "LGPL";
+     }) {};
+
+  "conduit-audio-lame" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-audio, mp3lame
+     , resourcet, transformers, vector
+     }:
+     mkDerivation {
+       pname = "conduit-audio-lame";
+       version = "0.1";
+       sha256 = "0i4nmb4yf2wlkl5da215ysj25gyaikfd292nc9gzmnxjgg1fx19w";
+       buildDepends = [
+         base bytestring conduit conduit-audio resourcet transformers vector
+       ];
+       extraLibraries = [ mp3lame ];
+       homepage = "http://github.com/mtolly/conduit-audio";
+       description = "conduit-audio interface to the LAME MP3 library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { mp3lame = null;};
+
+  "conduit-audio-samplerate" = callPackage
+    ({ mkDerivation, base, conduit, conduit-audio, resourcet
+     , samplerate, transformers, vector
+     }:
+     mkDerivation {
+       pname = "conduit-audio-samplerate";
+       version = "0.1";
+       sha256 = "04s5ld0nsgbjlgkj3f32xnwyah26m6j5qmjxycwgvxjp1siq2xsg";
+       buildDepends = [
+         base conduit conduit-audio resourcet transformers vector
+       ];
+       extraLibraries = [ samplerate ];
+       homepage = "http://github.com/mtolly/conduit-audio";
+       description = "conduit-audio interface to the libsamplerate resampling library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { samplerate = null;};
+
+  "conduit-audio-sndfile" = callPackage
+    ({ mkDerivation, base, conduit, conduit-audio, hsndfile
+     , hsndfile-vector, resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "conduit-audio-sndfile";
+       version = "0.1";
+       sha256 = "0v0vzc23c9wfc594pc91d3dw2sda26z1lrkdjjvf572771xysdbd";
+       buildDepends = [
+         base conduit conduit-audio hsndfile hsndfile-vector resourcet
+         transformers
+       ];
+       homepage = "http://github.com/mtolly/conduit-audio";
+       description = "conduit-audio interface to the libsndfile audio file library";
+       license = "LGPL";
+     }) {};
+
+  "conduit-combinators" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, chunked-data, conduit, conduit-extra, containers
+     , directory, hspec, monad-control, mono-traversable, mtl
+     , mwc-random, primitive, QuickCheck, resourcet, safe, silently
+     , system-fileio, system-filepath, text, transformers
+     , transformers-base, unix, unix-compat, vector, void
+     }:
+     mkDerivation {
+       pname = "conduit-combinators";
+       version = "0.3.0.6";
+       sha256 = "0z2nzs89sw2wxrgvyd2bxyh9vs87r1g6rbjqiwcjvhjs25ppq22b";
+       buildDepends = [
+         base base16-bytestring base64-bytestring bytestring chunked-data
+         conduit conduit-extra monad-control mono-traversable mwc-random
+         primitive resourcet system-fileio system-filepath text transformers
+         transformers-base unix unix-compat vector void
+       ];
+       testDepends = [
+         base base16-bytestring base64-bytestring bytestring chunked-data
+         conduit containers directory hspec mono-traversable mtl mwc-random
+         QuickCheck safe silently system-filepath text transformers vector
+       ];
+       homepage = "https://github.com/fpco/conduit-combinators";
+       description = "Commonly used conduit functions, for both chunked and unchunked data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "conduit-connection" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, connection, HUnit
+     , network, resourcet, test-framework, test-framework-hunit
+     , transformers
+     }:
+     mkDerivation {
+       pname = "conduit-connection";
+       version = "0.1.0.1";
+       sha256 = "1z3i2s8xl02qb4wfnmqd92kzmbp2jb09msywnzgawyxs5aghy0n4";
+       buildDepends = [
+         base bytestring conduit connection resourcet transformers
+       ];
+       testDepends = [
+         base bytestring conduit connection HUnit network resourcet
+         test-framework test-framework-hunit transformers
+       ];
+       homepage = "https://github.com/sdroege/conduit-connection";
+       description = "Conduit source and sink for Network.Connection.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "conduit-extra" = callPackage
+    ({ mkDerivation, async, attoparsec, base, blaze-builder, bytestring
+     , bytestring-builder, conduit, directory, exceptions, filepath
+     , hspec, monad-control, network, primitive, process, resourcet, stm
+     , streaming-commons, text, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "conduit-extra";
+       version = "1.1.7.1";
+       sha256 = "1qpqjcqy44l92s21aivd2gvb7zz574102mld19a44w0n3yxvljx3";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring conduit directory filepath
+         monad-control network primitive process resourcet stm
+         streaming-commons text transformers transformers-base
+       ];
+       testDepends = [
+         async attoparsec base blaze-builder bytestring bytestring-builder
+         conduit exceptions hspec process resourcet stm streaming-commons
+         text transformers transformers-base
+       ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Batteries included conduit: adapters for common libraries";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "conduit-iconv" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, mtl, QuickCheck
+     , test-framework, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "conduit-iconv";
+       version = "0.1.1.0";
+       sha256 = "0bnak5dpqgdgybi62w1rbmr9brbcqv4i2v345x0m275gzsz0i84h";
+       buildDepends = [ base bytestring conduit ];
+       testDepends = [
+         base bytestring conduit mtl QuickCheck test-framework
+         test-framework-quickcheck2 text
+       ];
+       homepage = "https://github.com/sdroege/conduit-iconv";
+       description = "Conduit for character encoding conversion";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conduit-network-stream" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, mtl, network-conduit
+     , resourcet
+     }:
+     mkDerivation {
+       pname = "conduit-network-stream";
+       version = "0.2";
+       sha256 = "0ch0b23z7k4kxnbkvfd3gaxc7xrnlbjz7hv0pshp4k6xqg2bymv4";
+       buildDepends = [
+         base bytestring conduit mtl network-conduit resourcet
+       ];
+       description = "A base layer for network protocols using Conduits";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conduit-resumablesink" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, hspec, transformers
+     , void
+     }:
+     mkDerivation {
+       pname = "conduit-resumablesink";
+       version = "0.1.1";
+       sha256 = "1bqdpnhqjh4dhvppsa8nlgja0jpdw48kxywz2999sp5hi53qxdfg";
+       buildDepends = [ base conduit void ];
+       testDepends = [ base bytestring conduit hspec transformers void ];
+       jailbreak = true;
+       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;
+     }) {};
+
+  "conf" = callPackage
+    ({ mkDerivation, base, haskell-src }:
+     mkDerivation {
+       pname = "conf";
+       version = "0.1.0.0";
+       sha256 = "15zd72l2izdiw79hldf34pymxc4d9r06db91x6p2mfv2i31wy2n2";
+       buildDepends = [ base haskell-src ];
+       jailbreak = true;
+       description = "Parser for Haskell-based configuration files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "config-select" = callPackage
+    ({ mkDerivation, base, directory, filepath, unix, vty-menu }:
+     mkDerivation {
+       pname = "config-select";
+       version = "0.0.1";
+       sha256 = "1b1fs42c5y5sixgag972m5hb6xwbwp1d64p0gadqg9mg1vknl34y";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath unix vty-menu ];
+       description = "A small program for swapping out dot files";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "config-value" = callPackage
+    ({ mkDerivation, alex, array, base, happy, pretty, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "config-value";
+       version = "0.4.0.1";
+       sha256 = "0d9g6ih1rl0z4a2gf285f408vz7iysxwvw6kav280nvx99k2msb7";
+       buildDepends = [ array base pretty text transformers ];
+       buildTools = [ alex happy ];
+       homepage = "https://github.com/glguy/config-value";
+       description = "Simple, layout-based value language similar to YAML or JSON";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "configifier" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
+     , case-insensitive, containers, either, hspec, hspec-discover, mtl
+     , pretty-show, QuickCheck, regex-easy, safe, scientific
+     , string-conversions, text, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "configifier";
+       version = "0.0.3";
+       sha256 = "0l86i7rjbqrppfyfc3ypkal3q0rv8ldxp39hii076dwk7kgvjy1z";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring case-insensitive containers either mtl
+         pretty-show regex-easy safe string-conversions text
+         unordered-containers vector yaml
+       ];
+       testDepends = [
+         aeson aeson-pretty base case-insensitive hspec hspec-discover mtl
+         pretty-show QuickCheck scientific string-conversions
+         unordered-containers vector
+       ];
+       description = "parser for config files, shell variables, command line args";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "configuration" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "configuration";
+       version = "0.1.1";
+       sha256 = "1jqc5xpbxrlnpxk2yci861gpxl5c9vm9lffchrpp1hk8ag5wkxk1";
+       buildDepends = [ base containers ];
+       description = "Simple data type for application configuration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "configuration-tools" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
+     , base-unicode-symbols, base64-bytestring, bytestring, Cabal
+     , case-insensitive, connection, data-default, deepseq, directory
+     , dlist, enclosed-exceptions, errors, http-client, http-client-tls
+     , http-types, monad-control, mtl, mtl-compat, network-uri
+     , optparse-applicative, process, profunctors, text, tls
+     , transformers, transformers-compat, unordered-containers, wai
+     , warp, warp-tls, x509, x509-system, x509-validation, yaml
+     }:
+     mkDerivation {
+       pname = "configuration-tools";
+       version = "0.2.12";
+       sha256 = "1cpdy3aizdba55mmq903s9p6az3zkkxm3h7jq0iz9s38r3srxij7";
+       buildDepends = [
+         aeson ansi-wl-pprint attoparsec base base-unicode-symbols
+         base64-bytestring bytestring Cabal case-insensitive connection
+         data-default deepseq directory dlist enclosed-exceptions errors
+         http-client http-client-tls http-types monad-control mtl mtl-compat
+         network-uri optparse-applicative process profunctors text tls
+         transformers transformers-compat unordered-containers x509
+         x509-system x509-validation yaml
+       ];
+       testDepends = [
+         base base-unicode-symbols bytestring Cabal enclosed-exceptions
+         errors http-types monad-control mtl mtl-compat text
+         transformers-compat unordered-containers wai warp warp-tls yaml
+       ];
+       homepage = "https://github.com/alephcloud/hs-configuration-tools";
+       description = "Tools for specifying and parsing configurations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "configurator" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
+     , hashable, HUnit, test-framework, test-framework-hunit, text
+     , unix-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "configurator";
+       version = "0.3.0.0";
+       sha256 = "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf";
+       buildDepends = [
+         attoparsec base bytestring directory hashable text unix-compat
+         unordered-containers
+       ];
+       testDepends = [
+         base bytestring directory filepath HUnit test-framework
+         test-framework-hunit text
+       ];
+       homepage = "http://github.com/bos/configurator";
+       description = "Configuration management";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "confsolve" = callPackage
+    ({ mkDerivation, attoparsec, base, cmdargs, process, system-fileio
+     , system-filepath, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "confsolve";
+       version = "0.5.4";
+       sha256 = "0984gcahddrzlvzsfsrkr8i8jijjg7j2m5namfv8zhdlkrny8h11";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base cmdargs process system-fileio system-filepath text
+         time unordered-containers
+       ];
+       description = "A command line tool for resolving conflicts of file synchronizers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "congruence-relation" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "congruence-relation";
+       version = "0.1.0.0";
+       sha256 = "1pj4kby5pba1xfz2fvv2lij7h2i8crf3qkhgs3rp4ziay0jkg18v";
+       buildDepends = [ array base containers ];
+       description = "Decidable congruence relations for Haskell: up to you whether this is a joke";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "conjugateGradient" = callPackage
+    ({ mkDerivation, base, containers, random }:
+     mkDerivation {
+       pname = "conjugateGradient";
+       version = "2.2";
+       sha256 = "1is3j61ra1whjpm8rq89yj9rscqj1ipgqlnh1nwvyzi2nggl06ya";
+       buildDepends = [ base containers random ];
+       homepage = "http://github.com/LeventErkok/conjugateGradient";
+       description = "Sparse matrix linear-equation solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "conjure" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, filepath
+     , html, HTTP, mtl, network, old-time, parsec, pretty, random, stm
+     , unix
+     }:
+     mkDerivation {
+       pname = "conjure";
+       version = "0.1";
+       sha256 = "02a33940rnwq5bzqx50fjy76q0z6nimsg2fk3q17ai4kvi0rw0p3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers filepath html HTTP mtl network
+         old-time parsec pretty random stm unix
+       ];
+       description = "A BitTorrent client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conlogger" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "conlogger";
+       version = "0.1.0.1";
+       sha256 = "1bxpn27spj4cq9cwg5b486xb35gmwb8hnrhq5g5dpmm7lxgijzh3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base text ];
+       jailbreak = true;
+       homepage = "https://github.com/tattsun/conlogger";
+       description = "A logger for a concurrent program";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "connection" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, containers
+     , crypto-random, data-default-class, network, securemem, socks, tls
+     , x509, x509-store, x509-system, x509-validation
+     }:
+     mkDerivation {
+       pname = "connection";
+       version = "0.2.4";
+       sha256 = "0sl0vxn02bbyk7lcclr7ml93wpap2f042da3c9v9ppvbvs8jmf7j";
+       buildDepends = [
+         base byteable bytestring containers crypto-random
+         data-default-class network securemem socks tls x509 x509-store
+         x509-system x509-validation
+       ];
+       homepage = "http://github.com/vincenthz/hs-connection";
+       description = "Simple and easy network connections API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "connection-pool" = callPackage
+    ({ mkDerivation, base, between, data-default-class, monad-control
+     , network, resource-pool, streaming-commons, time
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "connection-pool";
+       version = "0.1.1.0";
+       sha256 = "08mfl5gwbxzkf6dvqvshmzpjy02f46avimw8ss66br2397bi0qj7";
+       buildDepends = [
+         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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "consistent" = callPackage
+    ({ mkDerivation, base, lifted-async, lifted-base, monad-control
+     , stm, transformers, transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "consistent";
+       version = "0.0.1";
+       sha256 = "003vnmh6mbjz08msnvnjfwwfsn8m15fa9apr5igkvscdqrr5hzd5";
+       buildDepends = [
+         base lifted-async lifted-base monad-control stm transformers
+         transformers-base unordered-containers
+       ];
+       testDepends = [ base lifted-async transformers ];
+       description = "Eventually consistent STM transactions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "console-program" = callPackage
+    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base, containers
+     , directory, fez-conf, haskeline, parsec, parsec-extra, split
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "console-program";
+       version = "0.3.2.0";
+       sha256 = "1517vwn9l10hihw7ysj812x7cypf5gca468sdzgdlcwvqa8wsr3m";
+       buildDepends = [
+         ansi-terminal ansi-wl-pprint base containers directory fez-conf
+         haskeline parsec parsec-extra split transformers utility-ht
+       ];
+       description = "Interpret the command line and contents of a config file as commands and options";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "const-math-ghc-plugin" = callPackage
+    ({ mkDerivation, base, containers, directory, ghc, process }:
+     mkDerivation {
+       pname = "const-math-ghc-plugin";
+       version = "1.0.0.0";
+       sha256 = "1fcj3ssfyxnq4cmb3lr5cg7qkgnkhf1ra0469cbw61gr2fl3kzdl";
+       buildDepends = [ base containers ghc ];
+       testDepends = [ base directory process ];
+       homepage = "https://github.com/kfish/const-math-ghc-plugin";
+       description = "Compiler plugin for constant math elimination";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "constrained-categories" = callPackage
+    ({ mkDerivation, base, tagged, void }:
+     mkDerivation {
+       pname = "constrained-categories";
+       version = "0.2.0.0";
+       sha256 = "1mh61gfydh068qws3r52rbnw30ihi9k88wklx8p18j43c7jngamx";
+       buildDepends = [ base tagged void ];
+       homepage = "https://github.com/leftaroundabout/constrained-categories";
+       description = "Constrained clones of the category-theory type classes, using ConstraintKinds";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "constrained-normal" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "constrained-normal";
+       version = "1.0.2";
+       sha256 = "1mq0w2qndrjx9ap9dkyxvz91fbszsnwlhh4hnm9g2dx020fawgac";
+       buildDepends = [ base ];
+       homepage = "http://dx.doi.org/10.1145/2500365.2500602";
+       description = "Normalised Deep Embeddings for Constrained Type-Class Instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "constraints" = callPackage
+    ({ mkDerivation, base, ghc-prim, newtype }:
+     mkDerivation {
+       pname = "constraints";
+       version = "0.4.1.3";
+       sha256 = "1w3ssvg30rfkp1y20vx0fbq1c0md2wys2rh50mih7645djv56hyx";
+       buildDepends = [ base ghc-prim newtype ];
+       homepage = "http://github.com/ekmett/constraints/";
+       description = "Constraint manipulation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "constructible" = callPackage
+    ({ mkDerivation, arithmoi, base, binary-search, complex-generic }:
+     mkDerivation {
+       pname = "constructible";
+       version = "0.1.0.1";
+       sha256 = "0d3x92h194y6q8qn11prj05gcnv01vmbvlcsvb1zxgp51qmv1aih";
+       buildDepends = [ arithmoi base binary-search complex-generic ];
+       homepage = "http://andersk.mit.edu/haskell/constructible/";
+       description = "Exact computation with constructible real numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "constructive-algebra" = callPackage
+    ({ mkDerivation, base, QuickCheck, type-level }:
+     mkDerivation {
+       pname = "constructive-algebra";
+       version = "0.3.0";
+       sha256 = "17ab0vkq5w3zwh76ws7b82wbc0871qdmvrxhxga78h3h0axjiz1x";
+       buildDepends = [ base QuickCheck type-level ];
+       jailbreak = true;
+       description = "A library of constructive algebra";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "consul-haskell" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , http-client, HUnit, network, tasty, tasty-hunit, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "consul-haskell";
+       version = "0.1";
+       sha256 = "0i6xq7xd4bikb46mrcabiwwfga25wqcg7z45bh2hbqhf7yq8xjm6";
+       buildDepends = [
+         aeson base base64-bytestring bytestring http-client network text
+         transformers
+       ];
+       testDepends = [ base http-client HUnit network tasty tasty-hunit ];
+       homepage = "https://github.com/alphaHeavy/consul-haskell";
+       description = "A consul client for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "container-classes" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "container-classes";
+       version = "0.0.0.0";
+       sha256 = "18mx50mp9pv1a33kcwmckz6r4a0j6rlc1165ivn9cj8iiwpmd6pv";
+       buildDepends = [ base ];
+       description = "Generic classes for interacting with different container types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "containers_0_4_2_1" = callPackage
+    ({ mkDerivation, array, base, deepseq }:
+     mkDerivation {
+       pname = "containers";
+       version = "0.4.2.1";
+       revision = "2";
+       sha256 = "10xjyxlx6raz5jx17wyw7zqif3bp3xsbzb1756l263g91gd20rsm";
+       editedCabalFile = "4cdf787be0b51ffe34f02055117470f87d03c2f6567cd53d908b048c5fc970c8";
+       buildDepends = [ array base deepseq ];
+       description = "Assorted concrete container types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "containers_0_5_6_3" = callPackage
+    ({ mkDerivation, array, base, ChasingBottoms, deepseq, ghc-prim
+     , HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "containers";
+       version = "0.5.6.3";
+       sha256 = "1kcd55nl0vzi99i8sr8fmc5j25fv7m0a9hd3nihnq1pd64pfciqn";
+       buildDepends = [ array base deepseq ghc-prim ];
+       testDepends = [
+         array base ChasingBottoms deepseq ghc-prim HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "Assorted concrete container types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "containers-benchmark" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , ghc-prim, random
+     }:
+     mkDerivation {
+       pname = "containers-benchmark";
+       version = "1.1.0.0";
+       sha256 = "11h88lgwgiyacv9b9k96aih95ydjq1i4ny03z0zw8iyd3c0yi7m0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers criterion deepseq ghc-prim random
+       ];
+       jailbreak = true;
+       homepage = "http://git.auryn.cz/haskell/containers-benchmark/";
+       description = "Extensive benchmark suite for containers package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "containers-deepseq" = callPackage
+    ({ mkDerivation, base, containers, deepseq }:
+     mkDerivation {
+       pname = "containers-deepseq";
+       version = "0.1.0.1";
+       sha256 = "0l9d7hj66fygpsbjw6wy4l11c9cw739lvkrypapwihav7jzva541";
+       buildDepends = [ base containers deepseq ];
+       description = "Provide orphan NFData instances for containers as needed. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "containers-unicode-symbols" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers }:
+     mkDerivation {
+       pname = "containers-unicode-symbols";
+       version = "0.3.1.1";
+       sha256 = "0ccv7rqkykfk5wmr73mc0kwrnwyzakgp5x495dgwn5nila3g4ma6";
+       buildDepends = [ base base-unicode-symbols containers ];
+       homepage = "http://haskell.org/haskellwiki/Unicode-symbols";
+       description = "Unicode alternatives for common functions and operators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "context-free-grammar" = callPackage
+    ({ mkDerivation, array, base, containers, control-monad-omega
+     , dlist, HUnit, mtl, pretty, QuickCheck, quickcheck-properties
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "context-free-grammar";
+       version = "0.1.0";
+       sha256 = "11s6v8h39iq0wy4p4y8cwpr8fjhphql07s38rgbm8qsq1hj9f3a1";
+       buildDepends = [
+         array base containers control-monad-omega dlist mtl pretty
+         template-haskell
+       ];
+       testDepends = [
+         base containers HUnit pretty QuickCheck quickcheck-properties
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/nedervold/context-free-grammar";
+       description = "Basic algorithms on context-free grammars";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "context-stack" = callPackage
+    ({ mkDerivation, base, classy-prelude, mtl, unordered-containers }:
+     mkDerivation {
+       pname = "context-stack";
+       version = "0.1.0.1";
+       sha256 = "0y51xlva4364658bgbchcasbq5pka2ixlvhdf9g38xwlmhfg736x";
+       buildDepends = [ base classy-prelude mtl unordered-containers ];
+       homepage = "http://github.com/thinkpad20/context-stack";
+       description = "An abstraction of a stack and stack-based monadic context";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "continue" = callPackage
+    ({ mkDerivation, base, bifunctors, monad-control, mtl
+     , semigroupoids, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "continue";
+       version = "0.2.0";
+       sha256 = "0iyqwqbzmk8v4j6xdmfir8mdxjgzl1dh76c9ngwzyccpv7xbz59a";
+       buildDepends = [
+         base bifunctors monad-control mtl semigroupoids transformers
+         transformers-base
+       ];
+       jailbreak = true;
+       description = "Monads with suspension and arbitrary-spot reentry";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "continued-fractions" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "continued-fractions";
+       version = "0.9.1.1";
+       sha256 = "0gqp1yazmmmdf04saa306jdsf8r5s98fll9rnm8ff6jzr87nvnnh";
+       buildDepends = [ base ];
+       homepage = "/dev/null";
+       description = "Continued fractions";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "continuum" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, data-default
+     , foldl, hyperleveldb, leveldb-haskell-fork, mtl, nanomsg-haskell
+     , parallel-io, resourcet, stm, suspend, time, timers, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "continuum";
+       version = "0.1.0.7";
+       sha256 = "0viqn05l4xjwb3w2qbldxmwv0dj1bzwbvjcgczj1clhdx2zdgfx6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal containers data-default foldl
+         leveldb-haskell-fork mtl nanomsg-haskell parallel-io resourcet stm
+         suspend time timers transformers transformers-base
+       ];
+       extraLibraries = [ hyperleveldb ];
+       jailbreak = true;
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { hyperleveldb = null;};
+
+  "continuum-client" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, mtl
+     , nanomsg-haskell, time
+     }:
+     mkDerivation {
+       pname = "continuum-client";
+       version = "0.1.0.0";
+       sha256 = "0qv7dz2h3aay4ak5nz38wp3wrrk2zzg2g58xdlglvml08hpxsf7k";
+       buildDepends = [
+         base bytestring cereal containers mtl nanomsg-haskell time
+       ];
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "contravariant" = callPackage
+    ({ mkDerivation, base, semigroups, StateVar, transformers
+     , transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "contravariant";
+       version = "1.3.1";
+       sha256 = "18zmjn2d4ig0sfbbdajjzmqd9fjcyb6gjf4xywimdjg6wv053cxw";
+       buildDepends = [
+         base semigroups StateVar transformers transformers-compat void
+       ];
+       homepage = "http://github.com/ekmett/contravariant/";
+       description = "Contravariant functors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "control-bool" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "control-bool";
+       version = "0.2.1";
+       sha256 = "10amxm1ff7xhd8g66n65wkbb8d17n77v1nmwxkbzhrask398asp4";
+       buildDepends = [ base ];
+       homepage = "https://github.com/fumieval/control-bool";
+       description = "Useful combinators for boolean expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "control-event" = callPackage
+    ({ mkDerivation, base, containers, stm, time }:
+     mkDerivation {
+       pname = "control-event";
+       version = "1.2.1.1";
+       sha256 = "0hwsidsxnzi4b3aphn3f7lsf1z508ql6cnhfq6zbqfsvcynm7565";
+       buildDepends = [ base containers stm time ];
+       description = "Event scheduling system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "control-monad-attempt" = callPackage
+    ({ mkDerivation, attempt, base, transformers }:
+     mkDerivation {
+       pname = "control-monad-attempt";
+       version = "0.3.0.1";
+       sha256 = "140n27vdbyjz5qycrwlrmyd7s48fxcl6msl16g7czg40k5y23j5s";
+       buildDepends = [ attempt base transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/control-monad-attempt";
+       description = "Monad transformer for attempt. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "control-monad-exception" = callPackage
+    ({ mkDerivation, base, failure, lifted-base, monad-control
+     , monadloc, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "control-monad-exception";
+       version = "0.11.2";
+       sha256 = "0vdms5if6c04459ksix5q38l9cflgc5bwnchd422fp2qfji5j14p";
+       buildDepends = [
+         base failure lifted-base monad-control monadloc transformers
+         transformers-base
+       ];
+       homepage = "http://pepeiborra.github.com/control-monad-exception";
+       description = "Explicitly typed, checked exceptions with stack traces";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "control-monad-exception-monadsfd" = callPackage
+    ({ mkDerivation, base, control-monad-exception, monads-fd
+     , transformers
+     }:
+     mkDerivation {
+       pname = "control-monad-exception-monadsfd";
+       version = "0.10.3";
+       sha256 = "1izyxqry863jg9i88gcs7cib39q9c2mnm74mxdyl1d84kj1hrnim";
+       buildDepends = [
+         base control-monad-exception monads-fd transformers
+       ];
+       homepage = "http://pepeiborra.github.com/control-monad-exception";
+       description = "Monads-fd instances for the EMT exceptions monad transformer";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "control-monad-exception-monadstf" = callPackage
+    ({ mkDerivation, base, control-monad-exception, monads-tf
+     , transformers
+     }:
+     mkDerivation {
+       pname = "control-monad-exception-monadstf";
+       version = "0.10.3";
+       sha256 = "1qj4y71g5p6b4aa5wn5fp4i5c9iw0pdrqs9yvzr6f41v6knw16za";
+       buildDepends = [
+         base control-monad-exception monads-tf transformers
+       ];
+       homepage = "http://pepeiborra.github.com/control-monad-exception";
+       description = "Monads-tf instances for the EMT exceptions monad transformer";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "control-monad-exception-mtl" = callPackage
+    ({ mkDerivation, base, control-monad-exception, mtl }:
+     mkDerivation {
+       pname = "control-monad-exception-mtl";
+       version = "0.10.3";
+       sha256 = "1wwqn3xcd2fspfd2cnf9cym0cbbgvlajr3pkx7f2v3b37mx6blni";
+       buildDepends = [ base control-monad-exception mtl ];
+       homepage = "http://pepeiborra.github.com/control-monad-exception";
+       description = "MTL instances for the EMT exceptions monad transformer";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "control-monad-failure" = callPackage
+    ({ mkDerivation, base, failure, transformers }:
+     mkDerivation {
+       pname = "control-monad-failure";
+       version = "0.7.0.1";
+       sha256 = "1g304wb1fhx81iw2vv7nv6cp2qmy69frwiv3vax85lxw03s4nlkq";
+       buildDepends = [ base failure transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/pepeiborra/control-monad-failure";
+       description = "A class for monads which can fail with an error. (deprecated)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "control-monad-failure-mtl" = callPackage
+    ({ mkDerivation, base, failure, mtl }:
+     mkDerivation {
+       pname = "control-monad-failure-mtl";
+       version = "0.7.1";
+       sha256 = "0j9i85vq033789vx2589mfqwk954hqy1wla527ssbyf05k6vkn8j";
+       buildDepends = [ base failure mtl ];
+       jailbreak = true;
+       homepage = "http://github.com/pepeiborra/control-monad-failure";
+       description = "A class for monads which can fail with an error for mtl 1 (deprecated)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "control-monad-free" = callPackage
+    ({ mkDerivation, base, deepseq, transformers }:
+     mkDerivation {
+       pname = "control-monad-free";
+       version = "0.5.3";
+       sha256 = "1igwawcdpg8irayjax1xdrlpa9587k1v4y28ib3xfb7yk0xv7vk1";
+       buildDepends = [ base deepseq transformers ];
+       homepage = "http://github.com/pepeiborra/control-monad-free";
+       description = "Free monads and monad transformers";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "control-monad-free_0_6_1" = callPackage
+    ({ mkDerivation, base, prelude-extras, transformers }:
+     mkDerivation {
+       pname = "control-monad-free";
+       version = "0.6.1";
+       sha256 = "11i297ngwb5ck23vsr84fh5qx4hn7fzm9ml90y79lwi97hyigagy";
+       buildDepends = [ base prelude-extras transformers ];
+       homepage = "http://github.com/pepeiborra/control-monad-free";
+       description = "Free monads and monad transformers";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "control-monad-loop" = callPackage
+    ({ mkDerivation, base, transformers, transformers-base }:
+     mkDerivation {
+       pname = "control-monad-loop";
+       version = "0.1";
+       sha256 = "003k4pp6wgn30m9ksbh8680f0klzsvd90wsl9jpqs9lpg14hi6zj";
+       buildDepends = [ base transformers transformers-base ];
+       homepage = "https://github.com/joeyadams/haskell-control-monad-loop";
+       description = "Simple monad transformer for imperative-style loops";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "control-monad-omega" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "control-monad-omega";
+       version = "0.3.1";
+       sha256 = "11hirysr76i01qj8rm22xjcrv2qwxgwjlrqqyd1dsnnvypn9hfrq";
+       buildDepends = [ base ];
+       homepage = "http://github.com/luqui/control-monad-omega";
+       description = "A breadth-first list monad";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "control-monad-queue" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "control-monad-queue";
+       version = "0.2";
+       sha256 = "15syy24v1a2h25j4ijddi9l0pmp84wq9hlryh18f1jvqm8apc8vs";
+       buildDepends = [ base ];
+       description = "Reusable corecursive queues, via continuations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "control-timeout" = callPackage
+    ({ mkDerivation, base, containers, stm, time }:
+     mkDerivation {
+       pname = "control-timeout";
+       version = "0.1.2";
+       sha256 = "1g1x6c4dafckwcw48v83f3nm2sxv8kynwv8ib236ay913ycgayvg";
+       buildDepends = [ base containers stm time ];
+       description = "Timeout handling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "contstuff" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "contstuff";
+       version = "1.2.6";
+       sha256 = "0rw2bslajjch057fsxf881wi39bsd9y6196j0kb0lz47r0zn8003";
+       buildDepends = [ base transformers ];
+       homepage = "http://haskell.org/haskellwiki/Contstuff";
+       description = "Fast, easy to use CPS-based monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "contstuff-monads-tf" = callPackage
+    ({ mkDerivation, base, contstuff, monads-tf }:
+     mkDerivation {
+       pname = "contstuff-monads-tf";
+       version = "0.2.1";
+       sha256 = "0j4y76ar0m642jxcyrvlrxagawrlq637cvx3fqprw5sl5cslgxh5";
+       buildDepends = [ base contstuff monads-tf ];
+       description = "ContStuff instances for monads-tf transformers (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "contstuff-transformers" = callPackage
+    ({ mkDerivation, base, contstuff, transformers }:
+     mkDerivation {
+       pname = "contstuff-transformers";
+       version = "0.1.1";
+       sha256 = "0b5vskp1bxqpi4ffcxwjw6kr0jd6n8v8jlhf03p54ckfd5ym4ai6";
+       buildDepends = [ base contstuff transformers ];
+       jailbreak = true;
+       description = "Deprecated interface between contstuff 0.7.0 and the transformers package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "converge" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "converge";
+       version = "0.1.0.1";
+       sha256 = "0y28m7kgphknra0w2kzf0g4m2bdj604nr3f22xng46nl7kljbpvj";
+       buildDepends = [ base ];
+       homepage = "/dev/null";
+       description = "Limit operations for converging sequences";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "convertible" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, old-locale
+     , old-time, text, time
+     }:
+     mkDerivation {
+       pname = "convertible";
+       version = "1.1.0.0";
+       sha256 = "0pc3z4jfjna1rz5wlfimw9fyhpasmdnwvava883s401760y99i0k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers mtl old-locale old-time text time
+       ];
+       homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/convertible";
+       description = "Typeclasses and instances for converting between types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "convertible-ascii" = callPackage
+    ({ mkDerivation, ascii, base, base-unicode-symbols, blaze-builder
+     , bytestring, convertible-text, failure, text
+     }:
+     mkDerivation {
+       pname = "convertible-ascii";
+       version = "0.1.0.1";
+       sha256 = "0yzfq0r430ziclxn44k9x3jwl675gs3lafr5d1cb6y9j20fl1sjw";
+       buildDepends = [
+         ascii base base-unicode-symbols blaze-builder bytestring
+         convertible-text failure text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/phonohawk/convertible-ascii";
+       description = "convertible instances for ascii";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "convertible-text" = callPackage
+    ({ mkDerivation, attempt, base, bytestring, containers, old-time
+     , template-haskell, text, time
+     }:
+     mkDerivation {
+       pname = "convertible-text";
+       version = "0.4.0.2";
+       sha256 = "1wqpl9dms1rsd24d00f18l9sm601nm6kr7h4ig8y70jdzy8w73fz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attempt base bytestring containers old-time template-haskell text
+         time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/convertible/tree/text";
+       description = "Typeclasses and instances for converting between types (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cookbook" = callPackage
+    ({ mkDerivation, base, directory, strict }:
+     mkDerivation {
+       pname = "cookbook";
+       version = "3.0.0.1";
+       sha256 = "1mhj4g7bg6gi1wx8pshwl4n37vgqacnssh5hwskyaajy4gqz6hki";
+       buildDepends = [ base directory strict ];
+       description = "Tiered general-purpose libraries with domain-specific applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cookie" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, data-default
+     , deepseq, HUnit, old-locale, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, text, time
+     }:
+     mkDerivation {
+       pname = "cookie";
+       version = "0.4.1.4";
+       sha256 = "0axvljw34cjw47fxwxqql8rvjsyp9gxfbaijmysy5j10kx8s931d";
+       buildDepends = [
+         base blaze-builder bytestring data-default deepseq old-locale text
+         time
+       ];
+       testDepends = [
+         base blaze-builder bytestring HUnit QuickCheck tasty tasty-hunit
+         tasty-quickcheck text time
+       ];
+       homepage = "http://github.com/snoyberg/cookie";
+       description = "HTTP cookie parsing and rendering";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "coordinate" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, lens
+     , QuickCheck, radian, tagged, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "coordinate";
+       version = "0.0.18";
+       sha256 = "0avag247d74qwy6gikcmva5k41iriba42rkxik781dsnp2caxq1f";
+       buildDepends = [ base lens radian tagged transformers ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/NICTA/coordinate";
+       description = "A representation of latitude and longitude";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "copilot" = callPackage
+    ({ mkDerivation, base, copilot-c99, copilot-cbmc, copilot-core
+     , copilot-language, copilot-libraries, copilot-sbv, directory
+     , random
+     }:
+     mkDerivation {
+       pname = "copilot";
+       version = "2.1.2";
+       sha256 = "0mslkyyl5shcxh05i1vprzacaxxg3jjdqcfin475zv5gm5cn26vz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base copilot-c99 copilot-cbmc copilot-core copilot-language
+         copilot-libraries copilot-sbv directory random
+       ];
+       homepage = "http://leepike.github.com/Copilot/";
+       description = "A stream DSL for writing embedded C programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "copilot-c99" = callPackage
+    ({ mkDerivation, atom, base, bytestring, containers, copilot-core
+     , csv, directory, pretty, process, QuickCheck, random, text, vector
+     }:
+     mkDerivation {
+       pname = "copilot-c99";
+       version = "2.1.2";
+       sha256 = "0lvldfkksxxmf3mbchwxzj1a1yagdk7k3zbyid181gskvmkxnfzd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         atom base bytestring containers copilot-core csv directory pretty
+         process QuickCheck random text vector
+       ];
+       description = "A compiler for Copilot targeting C99";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "copilot-cbmc" = callPackage
+    ({ mkDerivation, base, bytestring, copilot-c99, copilot-core
+     , copilot-sbv, directory, pretty, process
+     }:
+     mkDerivation {
+       pname = "copilot-cbmc";
+       version = "2.1.2";
+       sha256 = "02ng4iqsr5yp435fcqjjh9j5p93l4cixjdnqjx4fafhhfrv8g8a1";
+       buildDepends = [
+         base bytestring copilot-c99 copilot-core copilot-sbv directory
+         pretty process
+       ];
+       description = "Copilot interface to a C model-checker";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "copilot-core" = callPackage
+    ({ mkDerivation, base, containers, dlist, mtl, pretty, pretty-ncols
+     , random
+     }:
+     mkDerivation {
+       pname = "copilot-core";
+       version = "2.1.2";
+       sha256 = "1gdq76c170sv58fb56ik8mam3f63dg0jk6myd5rv4sbh4z45xfs7";
+       buildDepends = [
+         base containers dlist mtl pretty pretty-ncols random
+       ];
+       description = "An intermediate representation for Copilot";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "copilot-language" = callPackage
+    ({ mkDerivation, array, base, containers, copilot-core, data-reify
+     , ghc-prim, mtl
+     }:
+     mkDerivation {
+       pname = "copilot-language";
+       version = "2.1.2";
+       sha256 = "1099w6hk6v4rna02z4zsrwf1m883w6nxgycy5d8iamd4n2pk6bk3";
+       buildDepends = [
+         array base containers copilot-core data-reify ghc-prim mtl
+       ];
+       description = "A Haskell-embedded DSL for monitoring hard real-time distributed systems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "copilot-libraries" = callPackage
+    ({ mkDerivation, array, base, containers, copilot-language, mtl
+     , parsec
+     }:
+     mkDerivation {
+       pname = "copilot-libraries";
+       version = "2.1.1";
+       sha256 = "0b69rfz4gvdvk9f9y7yns3hmh1m7akcrm3rcdi8rkhizykcnnsyj";
+       buildDepends = [
+         array base containers copilot-language mtl parsec
+       ];
+       description = "A Haskell-embedded DSL for monitoring hard real-time distributed systems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "copilot-sbv" = callPackage
+    ({ mkDerivation, base, containers, copilot-core, filepath, pretty
+     , sbv
+     }:
+     mkDerivation {
+       pname = "copilot-sbv";
+       version = "2.1.2";
+       sha256 = "1a4blmxrglp4fmrfnc7g3w0zhyl3fdx3lvaw2mi47wchqbqcgicr";
+       buildDepends = [
+         base containers copilot-core filepath pretty sbv
+       ];
+       description = "A compiler for CoPilot targeting SBV";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "copr" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hlint
+     , HsOpenSSL, http-streams, io-streams, semigroups, text
+     }:
+     mkDerivation {
+       pname = "copr";
+       version = "1.1.1";
+       revision = "1";
+       sha256 = "0zgg60ri8yvz96gk08wdfn0445wqszigh2p0964nr2zdnffq5rnw";
+       editedCabalFile = "ef9fb8be7d257feae9e4647de62d489860e2bd6510e34a35465cf5b763fa2425";
+       buildDepends = [
+         aeson base bytestring containers HsOpenSSL http-streams io-streams
+         semigroups text
+       ];
+       testDepends = [ base hlint ];
+       homepage = "https://github.com/relrod/copr-hs";
+       description = "Haskell interface to the Fedora Copr system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "core" = callPackage
+    ({ mkDerivation, base, bytestring, parsec, pretty }:
+     mkDerivation {
+       pname = "core";
+       version = "0.5";
+       sha256 = "1fqgfbd3in8l84250kda67paakz4sr2ywf5qzsy403546w7q9ccz";
+       buildDepends = [ base bytestring parsec pretty ];
+       description = "External core parser and pretty printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "core-haskell" = callPackage
+    ({ mkDerivation, base, haskeline, haskell-src-exts, hint }:
+     mkDerivation {
+       pname = "core-haskell";
+       version = "0.6.4";
+       sha256 = "1wjmj2p8j6xw7cga01jsjgpi4dswrxif3j6mml48fq8a4k19zqxr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskeline haskell-src-exts hint ];
+       homepage = "https://github.com/happlebao/Core-Haskell";
+       description = "A subset of Haskell using in UCC for teaching purpose";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "corebot-bliki" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, containers
+     , directory, filepath, filestore, http-types, monads-tf, pandoc
+     , template-haskell, text, time, yesod
+     }:
+     mkDerivation {
+       pname = "corebot-bliki";
+       version = "0.2.2.0";
+       sha256 = "10pfz4bw1wh55c2cizd8jiwh8bkaqw9p773976vl52f0jrhns1qg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-builder bytestring containers directory filepath
+         filestore http-types monads-tf pandoc template-haskell text time
+         yesod
+       ];
+       homepage = "http://github.com/coreyoconnor/corebot-bliki";
+       description = "A bliki written using yesod. Uses pandoc to process files stored in git.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "coroutine-enumerator" = callPackage
+    ({ mkDerivation, base, enumerator, monad-coroutine }:
+     mkDerivation {
+       pname = "coroutine-enumerator";
+       version = "0.1.1";
+       sha256 = "1rjbhpy5vw1maawi47jsrnagqm19say9w1i31pgcpxl45vhrshp7";
+       buildDepends = [ base enumerator monad-coroutine ];
+       jailbreak = true;
+       homepage = "http://trac.haskell.org/SCC/wiki/coroutine-enumerator";
+       description = "Bridge between the monad-coroutine and enumerator packages";
+       license = "GPL";
+     }) {};
+
+  "coroutine-iteratee" = callPackage
+    ({ mkDerivation, base, iteratee, monad-coroutine }:
+     mkDerivation {
+       pname = "coroutine-iteratee";
+       version = "0.1.1";
+       sha256 = "1ycir4kwpcz34yg64cdb9q0jxv3ma12vrrs28cr5jm64jmi8m0wd";
+       buildDepends = [ base iteratee monad-coroutine ];
+       jailbreak = true;
+       homepage = "http://trac.haskell.org/SCC/wiki/coroutine-iteratee";
+       description = "Bridge between the monad-coroutine and iteratee packages";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "coroutine-object" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, either, lens
+     , mtl, safecopy, transformers, transformers-free, uuid
+     }:
+     mkDerivation {
+       pname = "coroutine-object";
+       version = "0.3";
+       sha256 = "0q0rvcc7ipxwmikaxh0ymq1d65f2q1a2jrd1i553pdf8hwmv0k1r";
+       buildDepends = [
+         base bytestring cereal containers either lens mtl safecopy
+         transformers transformers-free uuid
+       ];
+       description = "Object-oriented programming realization using coroutine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "couch-hs" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, hint, random
+     , text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "couch-hs";
+       version = "0.1.6";
+       sha256 = "0mrx0mjh9kzk6nx53gn5hvhjgmhlwphxkl5yn9a1x17l62v3x6q7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring hint random text transformers
+         vector
+       ];
+       jailbreak = true;
+       description = "A CouchDB view server for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "couchdb-conduit" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-conduit, base
+     , blaze-builder, bytestring, conduit, containers, data-default
+     , http-conduit, http-types, HUnit, lifted-base, monad-control
+     , resourcet, string-conversions, syb, test-framework
+     , test-framework-hunit, text, transformers, transformers-base
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "couchdb-conduit";
+       version = "0.10.6";
+       sha256 = "0rp5pj56m9n20g5hjjw8gbx81lb2z0ckwpgpvyr2a5sgk6b7z2al";
+       buildDepends = [
+         aeson attoparsec attoparsec-conduit base blaze-builder bytestring
+         conduit containers data-default http-conduit http-types lifted-base
+         monad-control resourcet string-conversions syb text transformers
+         unordered-containers vector
+       ];
+       testDepends = [
+         aeson attoparsec attoparsec-conduit base blaze-builder bytestring
+         conduit containers data-default http-conduit http-types HUnit
+         lifted-base monad-control string-conversions syb test-framework
+         test-framework-hunit text transformers transformers-base
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/akaspin/couchdb-conduit";
+       description = "Couch DB client library using http-conduit and aeson";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "couchdb-enumerator" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-enumerator, base
+     , bytestring, enumerator, http-enumerator, http-types, HUnit
+     , lifted-base, monad-control, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     , transformers, unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "couchdb-enumerator";
+       version = "0.3.7";
+       sha256 = "02h0a61dbchyjp0shpj0shsdfcggx0cm5psxgw9g67vv3v8f98pn";
+       buildDepends = [
+         aeson attoparsec attoparsec-enumerator base bytestring enumerator
+         http-enumerator http-types lifted-base monad-control text
+         transformers unordered-containers utf8-string
+       ];
+       testDepends = [
+         aeson attoparsec attoparsec-enumerator base bytestring enumerator
+         http-enumerator http-types HUnit lifted-base monad-control
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text transformers unordered-containers
+         utf8-string vector
+       ];
+       jailbreak = true;
+       homepage = "http://bitbucket.org/wuzzeb/couchdb-enumerator";
+       description = "Couch DB client library using http-enumerator and aeson";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "count" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "count";
+       version = "0.0.1";
+       sha256 = "1az2vr1rjq4pfgzswwbwgfq4kcb8kq759vn5kl7ghzaqr7b6vkgx";
+       buildDepends = [ base ];
+       description = "Bijective mappings between values and possibly infinite prefixes of [0..]";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "countable" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "countable";
+       version = "0.2";
+       sha256 = "1az6pk1is587ggys6v1qh3yabnc63vr0fcd5bmvwx20c137yflik";
+       buildDepends = [ base ];
+       homepage = "https://github.com/AshleyYakeley/countable";
+       description = "Countable, Searchable, Finite, Empty classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "counter" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "counter";
+       version = "0.1.0.0";
+       sha256 = "1wqbk40izzb6wfwk1qprnqgm5f9mhs2xm7pl1ks8ajv4hdpkrnik";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/wei2912/counter";
+       description = "An object frequency counter";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "country-codes" = callPackage
+    ({ mkDerivation, aeson, base, HTF, HUnit, shakespeare, tagsoup
+     , text
+     }:
+     mkDerivation {
+       pname = "country-codes";
+       version = "0.1.1";
+       sha256 = "1pv8sxq999437azc2w8qs9p27346sc1fpv9vwlny6rym19avknm5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aeson base shakespeare tagsoup text ];
+       testDepends = [ aeson base HTF HUnit ];
+       homepage = "https://github.com/prowdsponsor/country-codes";
+       description = "ISO 3166 country codes and i18n names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "courier" = callPackage
+    ({ mkDerivation, async, base, bytestring, cereal, containers
+     , directory, hslogger, HUnit, network, stm, test-framework
+     , test-framework-hunit, text, uuid
+     }:
+     mkDerivation {
+       pname = "courier";
+       version = "0.1.0.15";
+       sha256 = "1aj9anrw7jfqx8s2xkdznqs212f54g6i2lcf79bgnkmxsbax252v";
+       buildDepends = [
+         async base bytestring cereal containers hslogger network stm text
+         uuid
+       ];
+       testDepends = [
+         async base cereal containers directory hslogger HUnit network stm
+         test-framework test-framework-hunit
+       ];
+       homepage = "http://github.com/hargettp/courier";
+       description = "A message-passing library for simplifying network applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "court" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath
+     , old-locale, optparse-applicative, process, stm, text, time, unix
+     }:
+     mkDerivation {
+       pname = "court";
+       version = "0.1.0.0";
+       sha256 = "0cpvm6cjfz203hajl8fj5gxc5hc7516v0bzz4d7hyih2kh21k6dn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory filepath old-locale
+         optparse-applicative process stm text time unix
+       ];
+       jailbreak = true;
+       homepage = "http://hub.darcs.net/thoferon/court";
+       description = "Simple and flexible CI system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cplusplus-th" = callPackage
+    ({ mkDerivation, base, bytestring, containers, process, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "cplusplus-th";
+       version = "1.0.0.0";
+       sha256 = "0gmsn35rd6ij4ax4j626hg9pdb40ilj22zg0nxrnl6n1828a9rqj";
+       buildDepends = [
+         base bytestring containers process template-haskell
+       ];
+       testDepends = [ base process QuickCheck ];
+       homepage = "https://github.com/nicta/cplusplus-th";
+       description = "C++ Foreign Import Generation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cpphs_1_18_9" = callPackage
+    ({ mkDerivation, base, directory, old-locale, old-time, polyparse
+     }:
+     mkDerivation {
+       pname = "cpphs";
+       version = "1.18.9";
+       sha256 = "0bf9p5izkag6iqlpf59znsv8107hg1xghgas4crw2gxai1z7bfq6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory old-locale old-time polyparse ];
+       homepage = "http://projects.haskell.org/cpphs/";
+       description = "A liberalised re-implementation of cpp, the C pre-processor";
+       license = "LGPL";
+     }) {};
+
+  "cpphs" = callPackage
+    ({ mkDerivation, base, directory, old-locale, old-time, polyparse
+     }:
+     mkDerivation {
+       pname = "cpphs";
+       version = "1.19";
+       sha256 = "0fiyqyy7zzzbp0jsgl3syvm5db8n42h88ps7qzayxbsycjz9fp70";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory old-locale old-time polyparse ];
+       homepage = "http://projects.haskell.org/cpphs/";
+       description = "A liberalised re-implementation of cpp, the C pre-processor";
+       license = "LGPL";
+     }) {};
+
+  "cprng-aes" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, cipher-aes
+     , crypto-random
+     }:
+     mkDerivation {
+       pname = "cprng-aes";
+       version = "0.6.1";
+       sha256 = "1wr15kbmk1g3l8a75n0iwbzqg24ixv78slwzwb2q6rlcvq0jlnb4";
+       buildDepends = [
+         base byteable bytestring cipher-aes crypto-random
+       ];
+       homepage = "http://github.com/vincenthz/hs-cprng-aes";
+       description = "Crypto Pseudo Random Number Generator using AES in counter mode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cprng-aes-effect" = callPackage
+    ({ mkDerivation, base, cprng-aes, crypto-random
+     , crypto-random-effect, extensible-effects
+     }:
+     mkDerivation {
+       pname = "cprng-aes-effect";
+       version = "0.1.0.2";
+       revision = "1";
+       sha256 = "0443h7jfpjvc6vmp3kfx0h6j2aynvgfznssz7lin9fmsxghlvsfb";
+       editedCabalFile = "b9752152bb1764da66976eaf18776b09dabf80eeb6f252bcee0da10fa0a1057e";
+       buildDepends = [
+         base cprng-aes crypto-random crypto-random-effect
+         extensible-effects
+       ];
+       homepage = "https://github.com/ibotty/crypto-random-effect";
+       description = "Run random effect using cprng-aes, a crypto pseudo number generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cpsa" = callPackage
+    ({ mkDerivation, array, base, containers, parallel }:
+     mkDerivation {
+       pname = "cpsa";
+       version = "2.4.0";
+       sha256 = "1xhqqrfz6jdmmil1b3awz1j7hfkcpla7vzindqdxhf99y81wd187";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers parallel ];
+       description = "Symbolic cryptographic protocol analyzer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cpu" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cpu";
+       version = "0.1.2";
+       sha256 = "0x19mlanmkg96h6h1i04w2i631z84y4rbk22ki4zhgsajysgw9sn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://github.com/vincenthz/hs-cpu";
+       description = "Cpu information and properties helpers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cpuid" = callPackage
+    ({ mkDerivation, base, data-accessor, enumset }:
+     mkDerivation {
+       pname = "cpuid";
+       version = "0.2.3";
+       sha256 = "126xg98yaf3q61h85yrs1cm6wxlayf590l0a3h0gw6c282s8l6gq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base data-accessor enumset ];
+       homepage = "http://code.haskell.org/cpuid/";
+       description = "Binding for the cpuid machine instruction on x86 compatible processors";
+       license = "GPL";
+     }) {};
+
+  "cpuperf" = callPackage
+    ({ mkDerivation, base, mtl, process }:
+     mkDerivation {
+       pname = "cpuperf";
+       version = "0.1.1";
+       sha256 = "1xnmrm3agkxziflvanihckg6q97z5w9gh7yv7mbbc7gqax3sz6l0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl process ];
+       homepage = "http://code.haskell.org/~dons/code/cpuperf";
+       description = "Modify the cpu frequency on OpenBSD systems";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cpython" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, python3, text }:
+     mkDerivation {
+       pname = "cpython";
+       version = "3.3.0";
+       sha256 = "162m0dfgnicyv3jb9dqq6pmyymh1dim043kbmbg1hfhxjfrv17jj";
+       buildDepends = [ base bytestring text ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ python3 ];
+       jailbreak = true;
+       homepage = "https://john-millikin.com/software/haskell-python/";
+       description = "Bindings for libpython";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) python3;};
+
+  "cql" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, Decimal, iproute
+     , network, QuickCheck, tasty, tasty-quickcheck, template-haskell
+     , text, time, transformers, uuid
+     }:
+     mkDerivation {
+       pname = "cql";
+       version = "3.0.2";
+       sha256 = "0arp3nf6w7rqb1jxv2j20k4hps3zmdbz97qz500n7h5xx2s8p5c3";
+       buildDepends = [
+         base bytestring cereal Decimal iproute network template-haskell
+         text time transformers uuid
+       ];
+       testDepends = [
+         base bytestring cereal Decimal iproute network QuickCheck tasty
+         tasty-quickcheck text time uuid
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/twittner/cql/";
+       description = "Cassandra CQL binary protocol";
+       license = "unknown";
+     }) {};
+
+  "cql-io" = callPackage
+    ({ mkDerivation, async, auto-update, base, bytestring, containers
+     , cql, data-default-class, exceptions, hashable, iproute, lens
+     , monad-control, mtl, mwc-random, network, semigroups, stm, text
+     , time, tinylog, transformers, transformers-base, uuid, vector
+     }:
+     mkDerivation {
+       pname = "cql-io";
+       version = "0.13.2";
+       sha256 = "155vz9ndwf6d7z94iq9kshbpxcqyf82lszg03x8qflmkn21i85kg";
+       buildDepends = [
+         async auto-update base bytestring containers cql data-default-class
+         exceptions hashable iproute lens monad-control mtl mwc-random
+         network semigroups stm text time tinylog transformers
+         transformers-base uuid vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/twittner/cql-io/";
+       description = "Cassandra CQL client";
+       license = "unknown";
+     }) {};
+
+  "cqrs" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit, containers
+     , cqrs-test, cqrs-types, deepseq, hspec, HUnit, pool-conduit
+     , random, SafeSemaphore, stm, transformers
+     }:
+     mkDerivation {
+       pname = "cqrs";
+       version = "0.9.0";
+       sha256 = "1r3wl6fwkqccnfhazq7dk4c2zmlirxrh3y7a7fjhxm9273g59f1b";
+       buildDepends = [
+         base bytestring conduit containers cqrs-types deepseq pool-conduit
+         random SafeSemaphore stm transformers
+       ];
+       testDepends = [
+         async base bytestring conduit cqrs-test hspec HUnit pool-conduit
+         stm transformers
+       ];
+       jailbreak = true;
+       description = "Command-Query Responsibility Segregation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cqrs-example" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, cereal
+     , conduit, containers, cqrs, deepseq, derive, scotty, stm, text
+     , transformers, wai-eventsource, wai-middleware-static
+     }:
+     mkDerivation {
+       pname = "cqrs-example";
+       version = "0.9.1";
+       sha256 = "0yllvs64qaxpgqlwdv3hmi4gzl5qf2lbyy3r0whyi2kz53kwl03i";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-builder bytestring cereal conduit containers cqrs
+         deepseq derive scotty stm text transformers wai-eventsource
+         wai-middleware-static
+       ];
+       jailbreak = true;
+       description = "Example for cqrs package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cqrs-postgresql" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, conduit
+     , cqrs-test, cqrs-types, hspec, old-locale, pool-conduit
+     , postgresql-libpq, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "cqrs-postgresql";
+       version = "0.9.0";
+       sha256 = "0zannh06gbc5vm5cpx9015i7ssg38k5lwwyajxhxa1nckwynqmzb";
+       buildDepends = [
+         base bytestring bytestring-lexing conduit cqrs-types old-locale
+         pool-conduit postgresql-libpq text time transformers
+       ];
+       testDepends = [
+         base bytestring conduit cqrs-test cqrs-types hspec pool-conduit
+         postgresql-libpq
+       ];
+       jailbreak = true;
+       description = "PostgreSQL backend for the cqrs package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cqrs-sqlite3" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, cqrs-test, cqrs-types
+     , direct-sqlite, hspec, pool-conduit, text, transformers
+     }:
+     mkDerivation {
+       pname = "cqrs-sqlite3";
+       version = "0.9.0";
+       sha256 = "086g5z7ajr2x2didd0q8qcvnxdsf2gfrn27436gbj8y81cbg0fsh";
+       buildDepends = [
+         base bytestring conduit cqrs-types direct-sqlite pool-conduit text
+         transformers
+       ];
+       testDepends = [
+         base bytestring conduit cqrs-test direct-sqlite hspec pool-conduit
+         text transformers
+       ];
+       jailbreak = true;
+       description = "SQLite3 backend for the cqrs package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cqrs-test" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, cqrs-types, hspec
+     , HUnit, pool-conduit, stm, transformers
+     }:
+     mkDerivation {
+       pname = "cqrs-test";
+       version = "0.9.0";
+       sha256 = "1i47c2d7c64kp63spm12jkwg3g21i0z4n9z9gdwvmsr1s638k5gl";
+       buildDepends = [
+         base bytestring conduit cqrs-types hspec HUnit pool-conduit stm
+         transformers
+       ];
+       jailbreak = true;
+       description = "Command-Query Responsibility Segregation Test Support";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cqrs-types" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, conduit, deepseq, derive, random
+     }:
+     mkDerivation {
+       pname = "cqrs-types";
+       version = "0.9.0";
+       sha256 = "1xxyy8zrx76x3vg54awhp9lz5qhg9x5cafhlqr45ilfz2rxjkzbg";
+       buildDepends = [
+         base base16-bytestring base64-bytestring bytestring conduit deepseq
+         derive random
+       ];
+       jailbreak = true;
+       description = "Command-Query Responsibility Segregation. Modules for the basic types.";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cr" = callPackage
+    ({ mkDerivation, base, cmdargs, directory, process, shelly, text
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "cr";
+       version = "1.2";
+       sha256 = "107chyp8br2ryjqdf7100109k0wg3jawzva76wf4r6fndjr3gin1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs directory process shelly text transformers unix
+       ];
+       homepage = "https://github.com/scvalex/cr";
+       description = "Code review tool";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "crack" = callPackage
+    ({ mkDerivation, base, crack }:
+     mkDerivation {
+       pname = "crack";
+       version = "0.1";
+       sha256 = "0rfwvvb3q0a7z8is95yjh3wfvz818xyblp1hrwh8fwddppncrzrk";
+       buildDepends = [ base ];
+       extraLibraries = [ crack ];
+       description = "A haskell binding to cracklib";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { crack = null;};
+
+  "crackNum" = callPackage
+    ({ mkDerivation, base, data-binary-ieee754, ieee754 }:
+     mkDerivation {
+       pname = "crackNum";
+       version = "1.1";
+       sha256 = "12sr5dqm4cgmc2hk4fhn5zd4dqnhjzzb5hqldmj4s75xhpsnws10";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base data-binary-ieee754 ieee754 ];
+       description = "Crack various integer, floating-point data formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "craftwerk" = callPackage
+    ({ mkDerivation, base, colour, mtl, vector-space }:
+     mkDerivation {
+       pname = "craftwerk";
+       version = "0.1";
+       sha256 = "0002n3fq3afmby843gfi0dnwm2saq29w6hnn6lzqhsalw33j97d3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base colour mtl vector-space ];
+       jailbreak = true;
+       homepage = "http://mahrz.github.com/craftwerk.html";
+       description = "2D graphics library with integrated TikZ output";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "craftwerk-cairo" = callPackage
+    ({ mkDerivation, base, cairo, craftwerk, mtl }:
+     mkDerivation {
+       pname = "craftwerk-cairo";
+       version = "0.1";
+       sha256 = "16in87l2v49k785fldm7fvprywg0v497kz29jr22y91q5j5gnm4z";
+       buildDepends = [ base cairo craftwerk mtl ];
+       jailbreak = true;
+       homepage = "http://mahrz.github.com/craftwerk.html";
+       description = "Cairo backend for Craftwerk";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "craftwerk-gtk" = callPackage
+    ({ mkDerivation, base, cairo, containers, craftwerk
+     , craftwerk-cairo, gtk, mtl
+     }:
+     mkDerivation {
+       pname = "craftwerk-gtk";
+       version = "0.1";
+       sha256 = "18b63yh4p5ry38c3p6plyhk5j0gmmnyjw25r2dxdaddpnn051nff";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers craftwerk craftwerk-cairo gtk mtl
+       ];
+       jailbreak = true;
+       homepage = "http://mahrz.github.com/craftwerk.html";
+       description = "Gtk UI for Craftwerk";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "crc16" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "crc16";
+       version = "0.1.1";
+       sha256 = "15x3xwq2vyg474m09jak1c2zx9w5acpfjgmy5jj4asxj33z9n7bz";
+       buildDepends = [ base bytestring ];
+       description = "Calculate the crc16-ccitt";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "crc16-table" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "crc16-table";
+       version = "0.1";
+       sha256 = "0x943wmcbj679kj7q2a2ipjycq17ajm71m487vkb8b6gdrdy8f2z";
+       buildDepends = [ array base ];
+       description = "Compute CRC16 checksums using a lookup table";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "creatur" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cereal, cond
+     , directory, filepath, gray-extended, hdaemonize, HUnit
+     , MonadRandom, mtl, old-locale, process, QuickCheck, random, split
+     , temporary, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, transformers, unix, zlib
+     }:
+     mkDerivation {
+       pname = "creatur";
+       version = "5.9.2";
+       sha256 = "0wr1nmaaz9hvfp8dk0yf3srw3x4zksr11g35nbsxw7pdpsyc1ghr";
+       buildDepends = [
+         array base bytestring cereal cond directory filepath gray-extended
+         hdaemonize MonadRandom mtl old-locale process random split time
+         transformers unix zlib
+       ];
+       testDepends = [
+         array base binary cereal directory filepath HUnit MonadRandom mtl
+         QuickCheck temporary test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mhwombat/creatur";
+       description = "Framework for artificial life experiments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crf-chain1" = callPackage
+    ({ mkDerivation, array, base, binary, containers, data-lens
+     , logfloat, monad-codec, parallel, random, sgd, vector
+     , vector-binary, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "crf-chain1";
+       version = "0.2.2";
+       sha256 = "0v0mmpvn9qma3xz92s13ywk9p5czxzshh2rf06hb2zqqq5m6iwhq";
+       buildDepends = [
+         array base binary containers data-lens logfloat monad-codec
+         parallel random sgd vector vector-binary vector-th-unbox
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/crf-chain1";
+       description = "First-order, linear-chain conditional random fields";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "crf-chain1-constrained" = callPackage
+    ({ mkDerivation, array, base, binary, containers, data-lens
+     , logfloat, monad-codec, parallel, random, sgd, vector
+     , vector-binary, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "crf-chain1-constrained";
+       version = "0.3.2";
+       sha256 = "02xf9q96rlmmfcdz45bpbsdi0ki7mdrdwzg2zph7b55jwsnb4fja";
+       buildDepends = [
+         array base binary containers data-lens logfloat monad-codec
+         parallel random sgd vector vector-binary vector-th-unbox
+       ];
+       homepage = "https://github.com/kawu/crf-chain1-constrained";
+       description = "First-order, constrained, linear-chain conditional random fields";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crf-chain2-generic" = callPackage
+    ({ mkDerivation, array, base, binary, comonad-transformers
+     , containers, data-lens, logfloat, monad-codec, parallel, sgd
+     , vector, vector-binary
+     }:
+     mkDerivation {
+       pname = "crf-chain2-generic";
+       version = "0.3.0";
+       sha256 = "104r52rf5q84bm6977bsfm4djcz8c08warfkk4xmympb0cmxkhxy";
+       buildDepends = [
+         array base binary comonad-transformers containers data-lens
+         logfloat monad-codec parallel sgd vector vector-binary
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/crf-chain2-generic";
+       description = "Second-order, generic, constrained, linear conditional random fields";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "crf-chain2-tiers" = callPackage
+    ({ mkDerivation, array, base, binary, comonad, containers
+     , data-lens, logfloat, monad-codec, parallel, sgd, vector
+     , vector-binary, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "crf-chain2-tiers";
+       version = "0.2.4";
+       sha256 = "0sxa5rsla676x47a1l8cvypccyl8vi7y68fnbnrk7r20ahw6vxi1";
+       buildDepends = [
+         array base binary comonad containers data-lens logfloat monad-codec
+         parallel sgd vector vector-binary vector-th-unbox
+       ];
+       homepage = "https://github.com/kawu/crf-chain2-tiers";
+       description = "Second-order, tiered, constrained, linear conditional random fields";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "critbit" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , QuickCheck, test-framework, test-framework-quickcheck2, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "critbit";
+       version = "0.2.0.0";
+       sha256 = "1xdgaj73ffvj1q1kyi62bifbazmzgamfwzdbdz0c339axw5dga82";
+       buildDepends = [ array base bytestring deepseq text vector ];
+       testDepends = [
+         base bytestring containers QuickCheck test-framework
+         test-framework-quickcheck2 text transformers vector
+       ];
+       homepage = "https://github.com/bos/critbit";
+       description = "Crit-bit maps and sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "criterion" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, binary, bytestring
+     , cassava, containers, deepseq, directory, filepath, Glob, hastache
+     , HUnit, mtl, mwc-random, optparse-applicative, parsec, QuickCheck
+     , statistics, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers
+     , transformers-compat, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "criterion";
+       version = "1.1.0.0";
+       sha256 = "0f1d8lxb9jhrhcm0gbqqimmq52q36b5h1nqznmjmxa75nqdx9vaw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-wl-pprint base binary bytestring cassava containers
+         deepseq directory filepath Glob hastache mtl mwc-random
+         optparse-applicative parsec statistics text time transformers
+         transformers-compat vector vector-algorithms
+       ];
+       testDepends = [
+         base bytestring HUnit QuickCheck statistics test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       homepage = "http://www.serpentine.com/criterion";
+       description = "Robust, reliable performance measurement and analysis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "criterion-plus" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, HTF, HUnit, loch-th
+     , monad-control, mtl, optparse-applicative, placeholders
+     , QuickCheck, statistics, string-conversions, system-fileio
+     , system-filepath, text, th-printf, transformers, transformers-base
+     , vector
+     }:
+     mkDerivation {
+       pname = "criterion-plus";
+       version = "0.1.3";
+       sha256 = "127nqhp2gczbfqablvrrk92am4kpsnzhvyl4kcy98kdv313vcwdl";
+       buildDepends = [
+         base criterion deepseq loch-th monad-control mtl
+         optparse-applicative placeholders statistics string-conversions
+         system-fileio system-filepath text th-printf transformers
+         transformers-base vector
+       ];
+       testDepends = [
+         base criterion deepseq HTF HUnit loch-th monad-control mtl
+         optparse-applicative placeholders QuickCheck statistics
+         string-conversions system-fileio system-filepath text th-printf
+         transformers transformers-base vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/criterion-plus";
+       description = "Enhancement of the \"criterion\" benchmarking library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "criterion-to-html" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, filepath
+     }:
+     mkDerivation {
+       pname = "criterion-to-html";
+       version = "0.0.0.3";
+       sha256 = "010x56czgipw3p1cfkx07mlcy4yj6advq3zzgrxpmjhrxzsa89xn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-html blaze-markup bytestring containers filepath
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jaspervdj/criterion-to-html";
+       description = "Convert criterion output to HTML reports";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crockford" = callPackage
+    ({ mkDerivation, base, digits, QuickCheck, safe }:
+     mkDerivation {
+       pname = "crockford";
+       version = "0.2";
+       sha256 = "1fgsmf2k0v1j7b3gv06q9c65410qa2ivl59rwkm7j931wsymsg26";
+       buildDepends = [ base digits QuickCheck safe ];
+       description = "An implementation of Douglas Crockford's base32 encoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crocodile" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, deepseq, ghc-prim, heap
+     , HUnit, mersenne-random-pure64, mtl, parallel
+     }:
+     mkDerivation {
+       pname = "crocodile";
+       version = "0.1.2";
+       sha256 = "1krvcn5yb9i6jxwn2wwnpc8ylivhn27315a2sifn19f1l2vvy038";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bmp bytestring deepseq ghc-prim heap HUnit
+         mersenne-random-pure64 mtl parallel
+       ];
+       homepage = "https://github.com/TomHammersley/HaskellRenderer/";
+       description = "An offline renderer supporting ray tracing and photon mapping";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cron" = callPackage
+    ({ mkDerivation, attoparsec, base, derive, hspec
+     , hspec-expectations, mtl, old-locale, QuickCheck, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "cron";
+       version = "0.2.5";
+       sha256 = "0337dq2fqjikdn2fayad66rq8xyh2y6ywn18fn5q5vvrhmvmyrja";
+       buildDepends = [ attoparsec base mtl old-locale text time ];
+       testDepends = [
+         attoparsec base derive hspec hspec-expectations QuickCheck text
+         time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/michaelxavier/cron";
+       description = "Cron datatypes and Attoparsec parser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cruncher-types" = callPackage
+    ({ mkDerivation, aeson, base, containers, hlint, lens, text }:
+     mkDerivation {
+       pname = "cruncher-types";
+       version = "1.1.0";
+       sha256 = "0kp0vm8mvgn12kk5csyhzv6g6az43acl6iwjbhvfdfr2mqif2b9h";
+       buildDepends = [ aeson base containers lens text ];
+       testDepends = [ base hlint ];
+       homepage = "http://github.com/eval-so/cruncher-types";
+       description = "Request and Response types for Eval.so's API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crunghc" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filelock, filepath
+     , process, SHA, text, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "crunghc";
+       version = "0.1.1.1";
+       sha256 = "08341mvdca70nlkdi2im344hhkv62s278a1gkp02hj0zrixzfkqm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filelock filepath process SHA text time
+         transformers unix
+       ];
+       jailbreak = true;
+       description = "A runghc replacement with transparent caching";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "crypto-api" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, entropy, tagged
+     , transformers
+     }:
+     mkDerivation {
+       pname = "crypto-api";
+       version = "0.13.2";
+       sha256 = "1vc27qcgbg7hf50rkqhlrs58zn1888ilh4b6wrrm07bnm48xacak";
+       buildDepends = [
+         base bytestring cereal entropy tagged transformers
+       ];
+       homepage = "https://github.com/TomMD/crypto-api";
+       description = "A generic interface for cryptographic operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-api-tests" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, crypto-api, directory
+     , filepath, HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "crypto-api-tests";
+       version = "0.3";
+       sha256 = "0w3j43jdrlj28jryp18hc6q84nkl2yf4vs1hhgrsk7gb9kfyqjpl";
+       buildDepends = [
+         base bytestring cereal crypto-api directory filepath HUnit
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "http://trac.haskell.org/crypto-api/wiki";
+       description = "A test framework and KATs for cryptographic operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-cipher-benchmarks" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, criterion
+     , crypto-cipher-types, mtl, pretty, securemem
+     }:
+     mkDerivation {
+       pname = "crypto-cipher-benchmarks";
+       version = "0.0.5";
+       sha256 = "1ddyz0fn3srvm37afbiw86lv0z7iwrmnhazgvk0gg5n3ic57anhq";
+       buildDepends = [
+         base byteable bytestring criterion crypto-cipher-types mtl pretty
+         securemem
+       ];
+       homepage = "http://github.com/vincenthz/hs-crypto-cipher";
+       description = "Generic cryptography cipher benchmarks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "crypto-cipher-tests" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-cipher-types
+     , HUnit, mtl, QuickCheck, securemem, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "crypto-cipher-tests";
+       version = "0.0.11";
+       sha256 = "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz";
+       buildDepends = [
+         base byteable bytestring crypto-cipher-types HUnit mtl QuickCheck
+         securemem test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       testDepends = [
+         base byteable bytestring crypto-cipher-types HUnit mtl QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-crypto-cipher";
+       description = "Generic cryptography cipher tests";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-cipher-types" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, securemem }:
+     mkDerivation {
+       pname = "crypto-cipher-types";
+       version = "0.0.9";
+       sha256 = "03qa1i1kj07pfrxsi7fiaqnnd0vi94jd4jfswbmnm4gp1nvzcwr0";
+       buildDepends = [ base byteable bytestring securemem ];
+       homepage = "http://github.com/vincenthz/hs-crypto-cipher";
+       description = "Generic cryptography cipher types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra
+     , crypto-api, cryptocipher, cryptohash-cryptoapi, hspec, resourcet
+     , skein, transformers
+     }:
+     mkDerivation {
+       pname = "crypto-conduit";
+       version = "0.5.5";
+       sha256 = "0zd4smj3rk2x1msl8z8f5y01x4b87rhgm45g26g6c3dsdasn1lyf";
+       buildDepends = [
+         base bytestring cereal conduit conduit-extra crypto-api resourcet
+         transformers
+       ];
+       testDepends = [
+         base bytestring cereal conduit conduit-extra crypto-api
+         cryptocipher cryptohash-cryptoapi hspec skein transformers
+       ];
+       homepage = "https://github.com/prowdsponsor/crypto-conduit";
+       description = "Conduit interface for cryptographic operations (from crypto-api)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-numbers" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-random
+     , ghc-prim, integer-gmp, tasty, tasty-hunit, tasty-quickcheck
+     , vector
+     }:
+     mkDerivation {
+       pname = "crypto-numbers";
+       version = "0.2.7";
+       revision = "1";
+       sha256 = "19l9y5jzvqrqfam13xin9m9ca0s5ql86yv0cjn6dzkydx4byn2j2";
+       editedCabalFile = "2b493386b7605b70a67f751d6496e9feff8ef319a5294b122a3ff3895a8453ca";
+       buildDepends = [
+         base bytestring crypto-random ghc-prim integer-gmp vector
+       ];
+       testDepends = [
+         base byteable bytestring crypto-random tasty tasty-hunit
+         tasty-quickcheck vector
+       ];
+       homepage = "https://github.com/vincenthz/hs-crypto-numbers";
+       description = "Cryptographic numbers: functions and algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-pubkey" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, crypto-numbers
+     , crypto-pubkey-types, crypto-random, cryptohash, tasty
+     , tasty-hunit, tasty-kat, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "crypto-pubkey";
+       version = "0.2.8";
+       sha256 = "0vmmx2fqq2xc3xfavy22i2nyynpk88jhmjr62qgxw5w5qgsz5k60";
+       buildDepends = [
+         base byteable bytestring crypto-numbers crypto-pubkey-types
+         crypto-random cryptohash
+       ];
+       testDepends = [
+         base byteable bytestring crypto-numbers crypto-pubkey-types
+         crypto-random cryptohash tasty tasty-hunit tasty-kat
+         tasty-quickcheck
+       ];
+       homepage = "https://github.com/vincenthz/hs-crypto-pubkey";
+       description = "Public Key cryptography";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-pubkey-openssh" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, attoparsec, base
+     , base64-bytestring, bytestring, cereal, crypto-pubkey-types
+     , deepseq, filepath, pem, process, QuickCheck, tasty
+     , tasty-quickcheck, temporary
+     }:
+     mkDerivation {
+       pname = "crypto-pubkey-openssh";
+       version = "0.2.7";
+       sha256 = "0ndb1crjl3xbd18bfs3ipqbzn120mpqnn27jfi4vjqf5ak48b444";
+       buildDepends = [
+         asn1-encoding asn1-types attoparsec base base64-bytestring
+         bytestring cereal crypto-pubkey-types pem
+       ];
+       testDepends = [
+         asn1-encoding asn1-types attoparsec base base64-bytestring
+         bytestring cereal crypto-pubkey-types deepseq filepath pem process
+         QuickCheck tasty tasty-quickcheck temporary
+       ];
+       homepage = "https://github.com/knsd/crypto-pubkey-openssh";
+       description = "OpenSSH keys decoder/encoder";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "crypto-pubkey-types" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base }:
+     mkDerivation {
+       pname = "crypto-pubkey-types";
+       version = "0.4.3";
+       sha256 = "0q0wlzjmpx536h1zcdzrpxjkvqw8abj8z0ci38138kpch4igbnby";
+       buildDepends = [ asn1-encoding asn1-types base ];
+       homepage = "http://github.com/vincenthz/hs-crypto-pubkey-types";
+       description = "Generic cryptography Public keys algorithm types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-random" = callPackage
+    ({ mkDerivation, base, bytestring, securemem, unix, vector }:
+     mkDerivation {
+       pname = "crypto-random";
+       version = "0.0.9";
+       sha256 = "0139kbbb2h7vshf68y3fvjda29lhj7jjwl4vq78w4y8k8hc7l2hp";
+       buildDepends = [ base bytestring securemem unix vector ];
+       homepage = "http://github.com/vincenthz/hs-crypto-random";
+       description = "Simple cryptographic random related types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-random-api" = callPackage
+    ({ mkDerivation, base, bytestring, entropy }:
+     mkDerivation {
+       pname = "crypto-random-api";
+       version = "0.2.0";
+       sha256 = "0z49kwgjj7rz235642q64hbkgp0zl6ipn29xd19yb75xc5q7gsan";
+       buildDepends = [ base bytestring entropy ];
+       homepage = "http://github.com/vincenthz/hs-crypto-random-api";
+       description = "Simple random generators API for cryptography related code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "crypto-random-effect" = callPackage
+    ({ mkDerivation, base, bytestring, crypto-random
+     , extensible-effects, securemem, transformers
+     }:
+     mkDerivation {
+       pname = "crypto-random-effect";
+       version = "0.2.0.4.1";
+       revision = "1";
+       sha256 = "1gj40r6i79jvsghyv4nqm3yrjlby9fkxxhzp0lkr5j1b9b3b2xwr";
+       editedCabalFile = "f217573816b1efe3fcc9b1dcbd6325015bc9a87872200547f56a80ec2b959c31";
+       buildDepends = [
+         base bytestring crypto-random extensible-effects securemem
+         transformers
+       ];
+       homepage = "https://github.com/ibotty/crypto-random-effect";
+       description = "A random effect using crypto-random";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "crypto-totp" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, cryptohash
+     , tagged, unix
+     }:
+     mkDerivation {
+       pname = "crypto-totp";
+       version = "0.1.0.1";
+       sha256 = "0vkjkyaxp0rb4n2p7gdbbswm32gvbsbqnb6xs9hh4rncfaghpqds";
+       buildDepends = [
+         base bytestring cereal containers cryptohash tagged unix
+       ];
+       description = "Provides generation and verification services for time-based one-time keys";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cryptocipher" = callPackage
+    ({ mkDerivation, base, cipher-aes, cipher-blowfish, cipher-camellia
+     , cipher-des, cipher-rc4, crypto-cipher-types
+     }:
+     mkDerivation {
+       pname = "cryptocipher";
+       version = "0.6.2";
+       sha256 = "0ip3a2as0df6drl29sryayxx22sx55v6bs60s2fh3i1nxqnydf9l";
+       buildDepends = [
+         base cipher-aes cipher-blowfish cipher-camellia cipher-des
+         cipher-rc4 crypto-cipher-types
+       ];
+       homepage = "http://github.com/vincenthz/hs-crypto-cipher";
+       description = "Symmetrical block and stream ciphers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cryptohash" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, ghc-prim, HUnit
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "cryptohash";
+       version = "0.11.6";
+       sha256 = "0dyzcaxr8vhzqq9hj4240rxpi87h4ps87yz09klz723shls26f6s";
+       buildDepends = [ base byteable bytestring ghc-prim ];
+       testDepends = [
+         base byteable bytestring HUnit QuickCheck tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       homepage = "http://github.com/vincenthz/hs-cryptohash";
+       description = "collection of crypto hashes, fast, pure and practical";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cryptohash-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , cryptohash, resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "cryptohash-conduit";
+       version = "0.1.1";
+       sha256 = "1kmlskgb0jx8hkzdncr24aqir9k1kyfcb2rypvkdld1yin4nslga";
+       buildDepends = [
+         base bytestring conduit conduit-extra cryptohash resourcet
+         transformers
+       ];
+       homepage = "http://github.com/vincenthz/hs-cryptohash-conduit";
+       description = "cryptohash conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cryptohash-cryptoapi" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, crypto-api, cryptohash
+     , tagged
+     }:
+     mkDerivation {
+       pname = "cryptohash-cryptoapi";
+       version = "0.1.3";
+       sha256 = "0wj53p32js8lfg0i8akrljpash0jdiyv2vcqpmjbd4dq2fx81w2n";
+       buildDepends = [
+         base bytestring cereal crypto-api cryptohash tagged
+       ];
+       homepage = "http://github.com/vincenthz/hs-cryptohash-cryptoapi";
+       description = "Crypto-api interfaces for cryptohash";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cryptol" = callPackage
+    ({ mkDerivation, alex, ansi-terminal, array, async, base
+     , containers, deepseq, directory, filepath, gitrev, GraphSCC, happy
+     , haskeline, heredoc, monadLib, old-time, presburger, pretty
+     , process, QuickCheck, random, sbv, smtLib, syb, template-haskell
+     , text, tf-random, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "cryptol";
+       version = "2.2.1";
+       sha256 = "06dl3jkv0ygyb42p89hifrsmcg8jipyag01ibwj3gr6kxm443cg7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal array async base containers deepseq directory
+         filepath gitrev GraphSCC haskeline heredoc monadLib old-time
+         presburger pretty process QuickCheck random sbv smtLib syb
+         template-haskell text tf-random transformers utf8-string
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://www.cryptol.net/";
+       description = "Cryptol: The Language of Cryptography";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cryptsy-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, either
+     , http-client, http-client-tls, old-locale, pipes-attoparsec
+     , pipes-http, text, time, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "cryptsy-api";
+       version = "0.2";
+       sha256 = "09sx9z6s1ii8p4hw84j4ahd81a6k4xz3fn1zi60r7grsmbx69pkw";
+       buildDepends = [
+         aeson base bytestring deepseq either http-client http-client-tls
+         old-locale pipes-attoparsec pipes-http text time transformers
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Bindings for Cryptsy cryptocurrency exchange API";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "crystalfontz" = callPackage
+    ({ mkDerivation, base, crc16-table, MaybeT, serialport }:
+     mkDerivation {
+       pname = "crystalfontz";
+       version = "0.1";
+       sha256 = "14mh098kgckncips17bdsbg08q78xk1114174zq860z4znmc1gxv";
+       buildDepends = [ base crc16-table MaybeT serialport ];
+       description = "Control Crystalfontz LCD displays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cse-ghc-plugin" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "cse-ghc-plugin";
+       version = "0.1.1";
+       sha256 = "123x10ircbj8lrsqapf6cb9b3ibjgp1q8l862a3i6i0ak7ash49f";
+       buildDepends = [ base ghc ];
+       homepage = "http://thoughtpolice.github.com/cse-ghc-plugin";
+       description = "Compiler plugin for common subexpression elimination";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "csound-catalog" = callPackage
+    ({ mkDerivation, base, csound-expression, transformers }:
+     mkDerivation {
+       pname = "csound-catalog";
+       version = "0.2.1";
+       sha256 = "0shbiykfxmh627bq9xf3zhs0x5g4q2d60vkw1gjqa8cgvl67v94n";
+       buildDepends = [ base csound-expression transformers ];
+       homepage = "https://github.com/anton-k/csound-catalog";
+       description = "a gallery of Csound instruments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csound-expression" = callPackage
+    ({ mkDerivation, base, Boolean, colour, csound-expression-opcodes
+     , csound-expression-typed, data-default, process
+     }:
+     mkDerivation {
+       pname = "csound-expression";
+       version = "4.4.1";
+       sha256 = "03l7gbbiqs1djizda16hhi24pqgmqpdsfgl0dxvpzpvz703imfg5";
+       buildDepends = [
+         base Boolean colour csound-expression-opcodes
+         csound-expression-typed data-default process
+       ];
+       homepage = "https://github.com/anton-k/csound-expression";
+       description = "library to make electronic music";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csound-expression-dynamic" = callPackage
+    ({ mkDerivation, array, base, Boolean, containers, data-default
+     , data-fix, data-fix-cse, transformers, wl-pprint
+     }:
+     mkDerivation {
+       pname = "csound-expression-dynamic";
+       version = "0.1.2";
+       sha256 = "05x9fbsm8ah2s7p81xzqmfvkxs81iplg1r334j6djcyab1waqa9i";
+       buildDepends = [
+         array base Boolean containers data-default data-fix data-fix-cse
+         transformers wl-pprint
+       ];
+       homepage = "https://github.com/anton-k/csound-expression-dynamic";
+       description = "dynamic core for csound-expression library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csound-expression-opcodes" = callPackage
+    ({ mkDerivation, base, csound-expression-dynamic
+     , csound-expression-typed, transformers
+     }:
+     mkDerivation {
+       pname = "csound-expression-opcodes";
+       version = "0.0.1";
+       sha256 = "0lm95cx66i8bysr9y9gd455pfmx9didgk78cfld8fcwjj6rv1qa0";
+       buildDepends = [
+         base csound-expression-dynamic csound-expression-typed transformers
+       ];
+       description = "opcodes for the library csound-expression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csound-expression-typed" = callPackage
+    ({ mkDerivation, base, Boolean, colour, containers
+     , csound-expression-dynamic, data-default, deepseq, ghc-prim
+     , stable-maps, transformers, wl-pprint
+     }:
+     mkDerivation {
+       pname = "csound-expression-typed";
+       version = "0.0.7.1";
+       sha256 = "163jkx5x3mnlcj0zxx9595i4bpp29lz60fgcdkx07vmqky7hb1ng";
+       buildDepends = [
+         base Boolean colour containers csound-expression-dynamic
+         data-default deepseq ghc-prim stable-maps transformers wl-pprint
+       ];
+       homepage = "https://github.com/anton-k/csound-expression-typed";
+       description = "typed core for the library csound-expression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csound-sampler" = callPackage
+    ({ mkDerivation, base, csound-expression, transformers }:
+     mkDerivation {
+       pname = "csound-sampler";
+       version = "0.0.4.0";
+       sha256 = "03mymb5yk4hlf6nsmakxw0nyspvrs7882dmpx9r65lkpsvgnaxyp";
+       buildDepends = [ base csound-expression transformers ];
+       homepage = "https://github.com/anton-k/csound-sampler";
+       description = "A musical sampler based on Csound";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csp" = callPackage
+    ({ mkDerivation, base, containers, mtl, nondeterminism }:
+     mkDerivation {
+       pname = "csp";
+       version = "1.0";
+       sha256 = "0skz2yx8armbr0x7vhixxkbm7qbspg38723x98k6kysz7n5nzw2c";
+       buildDepends = [ base containers mtl nondeterminism ];
+       description = "Discrete constraint satisfaction problem (CSP) solvers";
+       license = "LGPL";
+     }) {};
+
+  "cspmchecker" = callPackage
+    ({ mkDerivation, base, directory, filepath, haskeline, libcspm, mtl
+     }:
+     mkDerivation {
+       pname = "cspmchecker";
+       version = "1.0.0";
+       sha256 = "1yz94yvggw6a7fh2p7fszyp02nnk7labbl6z079gqn3smayzfs31";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath haskeline libcspm mtl ];
+       homepage = "https://github.com/tomgr/libcspm";
+       description = "A command line type checker for CSPM files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "css" = callPackage
+    ({ mkDerivation, base, mtl, text }:
+     mkDerivation {
+       pname = "css";
+       version = "0.2";
+       sha256 = "150gdsf059x658z6cbclrydzbynw06nhrpf4i1l9gwb6siarvjv9";
+       buildDepends = [ base mtl text ];
+       description = "Minimal monadic CSS DSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "css-text" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, QuickCheck, text }:
+     mkDerivation {
+       pname = "css-text";
+       version = "0.1.2.1";
+       sha256 = "1xi1n2f0g8y43p95lynhcg50wxbq7hqfzbfzm7fy8mn7gvd920nw";
+       buildDepends = [ attoparsec base text ];
+       testDepends = [ attoparsec base hspec QuickCheck text ];
+       homepage = "http://www.yesodweb.com/";
+       description = "CSS parser and renderer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csv" = callPackage
+    ({ mkDerivation, base, filepath, parsec }:
+     mkDerivation {
+       pname = "csv";
+       version = "0.1.2";
+       sha256 = "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c";
+       buildDepends = [ base filepath parsec ];
+       description = "CSV loader and dumper";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "csv-conduit" = callPackage
+    ({ mkDerivation, array, attoparsec, base, blaze-builder, bytestring
+     , conduit, conduit-extra, containers, data-default, directory
+     , ghc-prim, HUnit, mmorph, monad-control, mtl, primitive, resourcet
+     , test-framework, test-framework-hunit, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "csv-conduit";
+       version = "0.6.6";
+       sha256 = "12sxxv92qblsa63zdnl80a8yk01b4cvk9k6h58w82bvcy5m0aabk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array attoparsec base blaze-builder bytestring conduit
+         conduit-extra containers data-default directory ghc-prim mmorph
+         monad-control mtl primitive resourcet text transformers
+         unordered-containers vector
+       ];
+       testDepends = [
+         base bytestring containers directory HUnit mtl primitive
+         test-framework test-framework-hunit text transformers vector
+       ];
+       homepage = "http://github.com/ozataman/csv-conduit";
+       description = "A flexible, fast, conduit-based CSV parser library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csv-enumerator" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , bytestring, containers, directory, enumerator, safe, transformers
+     , unix-compat
+     }:
+     mkDerivation {
+       pname = "csv-enumerator";
+       version = "0.10.2.0";
+       sha256 = "0n1zc9rwzj9w39nmjfn65qawj19b6zay3d62ss2crnxbgqnh07gh";
+       buildDepends = [
+         attoparsec attoparsec-enumerator base bytestring containers
+         directory enumerator safe transformers unix-compat
+       ];
+       homepage = "http://github.com/ozataman/csv-enumerator";
+       description = "A flexible, fast, enumerator-based CSV parser library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "csv-nptools" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, csv, html, tabular, text
+     , txt-sushi, vector
+     }:
+     mkDerivation {
+       pname = "csv-nptools";
+       version = "0.4.1";
+       sha256 = "0898553pikxjgmycdyiw92bbmzxgbl4dl8029qljyjzlzlasj7by";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring csv html tabular text txt-sushi vector
+       ];
+       description = "A collection of CSV tools";
+       license = "GPL";
+     }) {};
+
+  "csv-to-qif" = callPackage
+    ({ mkDerivation, base, Cabal, explicit-exception, hspec, regex-tdfa
+     , split, spreadsheet
+     }:
+     mkDerivation {
+       pname = "csv-to-qif";
+       version = "0.3.2";
+       sha256 = "1mfy19fvi92zzzqn70ga2p5csmc8qm0qnkn3vyl41ic6f69vm73x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base explicit-exception regex-tdfa split spreadsheet
+       ];
+       testDepends = [ base Cabal hspec regex-tdfa split ];
+       homepage = "https://github.com/mrVanDalo/csv-to-qif/";
+       description = "A small program that will read csv files and create qif files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ctemplate" = callPackage
+    ({ mkDerivation, base, bytestring, ctemplate }:
+     mkDerivation {
+       pname = "ctemplate";
+       version = "0.1";
+       sha256 = "02xsw0zpg728cq018w6zjgbzk6d7px62mapn40gir9c0hi6rqlx8";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ ctemplate ];
+       homepage = "http://darcs.imperialviolet.org/ctemplate";
+       description = "Binding to the Google ctemplate library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { ctemplate = null;};
+
+  "ctkl" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "ctkl";
+       version = "0.27.0.0";
+       sha256 = "0sqrg04zlwq62jggjvrd1dq7a2alwx2190w6b19d3jn51n0s907m";
+       buildDepends = [ array base ];
+       description = "packaging of Manuel Chakravarty's CTK Light for Hackage";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ctpl" = callPackage
+    ({ mkDerivation, base, chatty-text, chatty-utils }:
+     mkDerivation {
+       pname = "ctpl";
+       version = "0.1.0.1";
+       sha256 = "1mbqgbig5n8rrkxmrdbcl8qafa2r58c2pial2b67yr6cw08v0srv";
+       buildDepends = [ base chatty-text chatty-utils ];
+       description = "A programming language for text modification";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "ctrie" = callPackage
+    ({ mkDerivation, atomic-primops, base, containers, hashable
+     , primitive, QuickCheck, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "ctrie";
+       version = "0.1.0.2";
+       sha256 = "11ylwjmp015ppisczggzj1x7mfg1bfg4g4qg0s91xrrgms78r014";
+       buildDepends = [ atomic-primops base hashable primitive ];
+       testDepends = [
+         base containers hashable QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mcschroeder/ctrie";
+       description = "Non-blocking concurrent map";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cube" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, hspec, STL
+     }:
+     mkDerivation {
+       pname = "cube";
+       version = "0.1.0";
+       sha256 = "1rjn548g324hsb95wv31nybck3hs4sxgqjp4wl62cfs5glrsx1j6";
+       buildDepends = [ base bytestring cereal containers STL ];
+       testDepends = [ base bytestring cereal containers hspec STL ];
+       description = "Cubic DSL for 3D printing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cubical" = callPackage
+    ({ mkDerivation, alex, array, base, BNFC, directory, filepath
+     , happy, haskeline, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "cubical";
+       version = "0.2.0";
+       sha256 = "1n44d39s3r5iakbhjf99w49gb1y8l1xl46lz40jkhx7k4knwb1fj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base BNFC directory filepath haskeline mtl transformers
+       ];
+       buildTools = [ alex happy ];
+       homepage = "https://github.com/simhu/cubical";
+       description = "Implementation of Univalence in Cubical Sets";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cubicbezier" = callPackage
+    ({ mkDerivation, base, containers, deepseq, integration }:
+     mkDerivation {
+       pname = "cubicbezier";
+       version = "0.2.0";
+       sha256 = "1xrbg2pr41lnw7av38q2w70gi4cv1j8rx5pv3fgfr8qb9i0gd9w7";
+       buildDepends = [ base containers deepseq integration ];
+       description = "Efficient manipulating of 2D cubic bezier curves";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cubicspline" = callPackage
+    ({ mkDerivation, base, hmatrix, safe }:
+     mkDerivation {
+       pname = "cubicspline";
+       version = "0.1.1";
+       sha256 = "0n4c80vjf8sh5wf1n0qp9z8v8z7mj7rfygjg5a02sz0s6l7q1i8s";
+       buildDepends = [ base hmatrix safe ];
+       description = "Natural cubic spline interpolation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cublas" = callPackage
+    ({ mkDerivation, base, c2hs, cublas, cuda, cusparse, filepath
+     , language-c, storable-complex, template-haskell
+     }:
+     mkDerivation {
+       pname = "cublas";
+       version = "0.2.1.0";
+       sha256 = "02x8a9varkj770cl4nnb0mf4qh519gf9mv51awinlaikyz932q1w";
+       buildDepends = [
+         base cuda filepath language-c storable-complex template-haskell
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ cublas cusparse ];
+       homepage = "https://github.com/bmsherman/cublas";
+       description = "FFI bindings to the CUDA CUBLAS and CUSPARSE libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) { cublas = null;  cusparse = null;};
+
+  "cuboid" = callPackage
+    ({ mkDerivation, base, GLUT, Yampa }:
+     mkDerivation {
+       pname = "cuboid";
+       version = "0.14.1";
+       sha256 = "10h14qzvv46pmqcwwsvil93da2g8ddk5cpqxwmi884v2svjvz7qm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT Yampa ];
+       description = "3D Yampa/GLUT Puzzle Game";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "cuda" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, pretty }:
+     mkDerivation {
+       pname = "cuda";
+       version = "0.6.6.2";
+       sha256 = "10c2nn0qhhznajpkjvmxivz3w6zr96fpsych53hnvpi2g6a332k1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring pretty ];
+       buildTools = [ c2hs ];
+       homepage = "https://github.com/tmcdonell/cuda";
+       description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "cudd" = callPackage
+    ({ mkDerivation, array, base, c2hs, cudd, dddmp, epd, mtl, mtr, st
+     , transformers, util
+     }:
+     mkDerivation {
+       pname = "cudd";
+       version = "0.1.0.1";
+       sha256 = "0p6gf6wwz5fd9hn2bf1lnmyc43cyh1pvgzbypfr85hy8zsy6byla";
+       buildDepends = [ array base mtl transformers ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ cudd dddmp epd mtr st util ];
+       homepage = "https://github.com/adamwalker/haskell_cudd";
+       description = "Bindings to the CUDD binary decision diagrams library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { cudd = null;  dddmp = null;  epd = null;  inherit (pkgs) mtr;
+          inherit (pkgs) st;  util = null;};
+
+  "cufft" = callPackage
+    ({ mkDerivation, base, c2hs, cuda }:
+     mkDerivation {
+       pname = "cufft";
+       version = "0.1.2.0";
+       sha256 = "09d62g5nwl8bj80h8pz5k9bjcp59xcbsa5pmbygqybhcfhng25kg";
+       buildDepends = [ base cuda ];
+       buildTools = [ c2hs ];
+       homepage = "http://github.com/robeverest/cufft";
+       description = "Haskell bindings for the CUFFT library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "curl" = callPackage
+    ({ mkDerivation, base, bytestring, containers, curl }:
+     mkDerivation {
+       pname = "curl";
+       version = "1.3.8";
+       sha256 = "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh";
+       buildDepends = [ base bytestring containers ];
+       extraLibraries = [ curl ];
+       description = "Haskell binding to libcurl";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) curl;};
+
+  "curl-aeson" = callPackage
+    ({ mkDerivation, aeson, base, curl, text, utf8-string }:
+     mkDerivation {
+       pname = "curl-aeson";
+       version = "0.0.4";
+       sha256 = "1fpi448f6bgf3rbw3zxf7r9nwyhv9q67zan5sixnad1y7lqxivrx";
+       buildDepends = [ aeson base curl text utf8-string ];
+       homepage = "https://github.com/zouppen/haskell-curl-aeson";
+       description = "Communicate with HTTP service using JSON";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "curlhs" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, rtld, time }:
+     mkDerivation {
+       pname = "curlhs";
+       version = "0.1.3";
+       revision = "10";
+       sha256 = "0m8n19kyimxd9c7aazkw7gak7v1lik04m0y0izs3zanjlhqvnn3j";
+       editedCabalFile = "1ae61743cd2150bfb25b279dbf7e4b9d0c9a2339e04cdb7fcf5a0358d7b712e0";
+       buildDepends = [ base bytestring rtld time ];
+       testDepends = [ base hspec ];
+       homepage = "https://kkardzis.github.com/curlhs";
+       description = "bindings to libcurl, the multiprotocol file transfer library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "currency" = callPackage
+    ({ mkDerivation, base, containers, hashable, iso3166-country-codes
+     }:
+     mkDerivation {
+       pname = "currency";
+       version = "0.2.0.0";
+       sha256 = "0yj1x7zmkmwr9az55i9gvf84m7i3b4qi80p8qk9hszzlv7rigmdw";
+       buildDepends = [ base containers hashable iso3166-country-codes ];
+       homepage = "https://github.com/singpolyma/currency-haskell";
+       description = "Types representing standard and non-standard currencies";
+       license = "unknown";
+     }) {};
+
+  "current-locale" = callPackage
+    ({ mkDerivation, base, old-locale, process, split }:
+     mkDerivation {
+       pname = "current-locale";
+       version = "0.2.0.1";
+       sha256 = "18lg46fzpz207bd60hbcas6ippw0wnsc8n93pnz775ks5y7apyr5";
+       buildDepends = [ base old-locale process split ];
+       homepage = "https://github.com/koterpillar/current-locale";
+       description = "Get the current system locale in System.Locale format";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "curry-base" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl
+     , old-time, pretty, syb
+     }:
+     mkDerivation {
+       pname = "curry-base";
+       version = "0.2.9";
+       sha256 = "0sdwygsbqmvcbzi7zsr0jd02s2r19pc7zsk4b6hjxv4vzjc9f120";
+       buildDepends = [
+         base containers directory filepath mtl old-time pretty syb
+       ];
+       homepage = "http://www.curry-language.org";
+       description = "Functions for manipulating Curry programs";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "curry-frontend" = callPackage
+    ({ mkDerivation, base, containers, curry-base, filepath, mtl
+     , old-time, pretty, syb
+     }:
+     mkDerivation {
+       pname = "curry-frontend";
+       version = "0.2.12";
+       sha256 = "1igys4i7wwj1ildkf4is66gq22zsjg158kv3ald5xiilwkmvfc4h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers curry-base filepath mtl old-time pretty syb
+       ];
+       homepage = "http://www.curry-language.org";
+       description = "Compile the functional logic language Curry to several intermediate formats";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cursedcsv" = callPackage
+    ({ mkDerivation, base, bytestring, csv-enumerator, enumerator
+     , hscurses, mtl, natural-sort, parseargs, regex-tdfa, safe, unix
+     }:
+     mkDerivation {
+       pname = "cursedcsv";
+       version = "0.1.2";
+       sha256 = "045lfyhpwjgcdw3wxj2klq0aqn555f5r4w95fr06vsq5pxspnnvc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring csv-enumerator enumerator hscurses mtl natural-sort
+         parseargs regex-tdfa safe unix
+       ];
+       description = "Terminal tool for viewing tabular data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "curve25519" = callPackage
+    ({ mkDerivation, base, bytestring, crypto-api, DRBG, HUnit
+     , QuickCheck, tagged, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "curve25519";
+       version = "0.2.1";
+       sha256 = "1kfs7cjxig0rk17nb7dzi189msww90yw0066rlalw01kff5w2hdy";
+       buildDepends = [ base bytestring crypto-api ];
+       testDepends = [
+         base bytestring crypto-api DRBG HUnit QuickCheck tagged
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/acw/curve25519";
+       description = "Fast implementations of the curve25519 elliptic curve primitives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "curves" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath, HaXml
+     , JuicyPixels, QuickCheck
+     }:
+     mkDerivation {
+       pname = "curves";
+       version = "1.1.0.1";
+       sha256 = "0zmy9an40wnxjhqjhlvsg0jy4bqqby6hl8ckjcm0406988ma8mi6";
+       buildDepends = [
+         base bytestring containers filepath HaXml JuicyPixels QuickCheck
+       ];
+       description = "Library for drawing curve based images";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "custom-prelude" = callPackage
+    ({ mkDerivation, base, basic-prelude, monad-loops }:
+     mkDerivation {
+       pname = "custom-prelude";
+       version = "0.2.2.0";
+       sha256 = "00lkpkl79kznib0s6xm644f3k13dv59x5z06ccymvx6l6iqxyzn6";
+       buildDepends = [ base basic-prelude monad-loops ];
+       jailbreak = true;
+       homepage = "https://github.com/ajnsit/custom-prelude";
+       description = "An enhanced prelude, serving as a foundation for my projects";
+       license = "GPL";
+     }) {};
+
+  "cv-combinators" = callPackage
+    ({ mkDerivation, allocated-processor, base
+     , graphics-drawingcombinators, HOpenCV, SDL, vector-space
+     }:
+     mkDerivation {
+       pname = "cv-combinators";
+       version = "0.1.2.3";
+       sha256 = "1bdhs4dy9yfgc9j281rxiiy9md3s27yy44scz86s29vbm7prccvp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         allocated-processor base graphics-drawingcombinators HOpenCV SDL
+         vector-space
+       ];
+       description = "Functional Combinators for Computer Vision";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "cyclotomic" = callPackage
+    ({ mkDerivation, arithmoi, base, containers }:
+     mkDerivation {
+       pname = "cyclotomic";
+       version = "0.4.3";
+       sha256 = "14rfyxmqjrlirszk2mrqm030rya6cbcydbf7fl7if82y21qrfg0p";
+       buildDepends = [ arithmoi base containers ];
+       description = "A subfield of the complex numbers for exact calculation";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "cypher" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , classy-parallel, conduit, http-conduit, http-types, resourcet
+     , text, transformers, transformers-base, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "cypher";
+       version = "0.8.1";
+       sha256 = "0f79791j9nczm80cifpc4iq5pqkhca67s94c5wqm0kiprlxblc53";
+       buildDepends = [
+         aeson attoparsec base bytestring classy-parallel conduit
+         http-conduit http-types resourcet text transformers
+         transformers-base unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Haskell bindings for the neo4j \"cypher\" query language";
+       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
+     , data-binary-ieee754, data-default, exceptions, free, hslogger
+     , mtl, network, QuickCheck, singletons, stm, tasty
+     , tasty-quickcheck, tasty-th, template-haskell, text, transformers
+     , xml-conduit, xml-hamlet, xml-picklers, xml-types
+     }:
+     mkDerivation {
+       pname = "d-bus";
+       version = "0.1.2";
+       sha256 = "176brypscws03sswda215ywc6l5hj6l5iw4vkfrcppzycdyh3yd2";
+       buildDepends = [
+         async attoparsec base binary blaze-builder bytestring conduit
+         conduit-extra containers data-binary-ieee754 data-default
+         exceptions free hslogger mtl network singletons stm
+         template-haskell text transformers xml-conduit xml-picklers
+         xml-types
+       ];
+       testDepends = [
+         base binary bytestring mtl QuickCheck singletons tasty
+         tasty-quickcheck tasty-th text xml-hamlet
+       ];
+       description = "Permissively licensed D-Bus client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "d3js" = callPackage
+    ({ mkDerivation, base, mtl, random, text }:
+     mkDerivation {
+       pname = "d3js";
+       version = "0.1.0.0";
+       sha256 = "0wrxvfgss9fiv1pwsdi1md0plc4mf9sadkhgm46dsfq16dwrp3q2";
+       buildDepends = [ base mtl random text ];
+       jailbreak = true;
+       homepage = "https://github.com/nebuta/d3js-haskell";
+       description = "Declarative visualization on a web browser with DSL approach";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "daemonize-doublefork" = callPackage
+    ({ mkDerivation, base, directory, unix }:
+     mkDerivation {
+       pname = "daemonize-doublefork";
+       version = "0.1.1";
+       sha256 = "1g446qxff8ajv44341y0f9v39j8idmnn23lwi08gq3ps4qrz0py2";
+       buildDepends = [ base directory unix ];
+       homepage = "https://github.com/scvalex/daemonize-doublefork";
+       description = "Start background daemons by double-forking";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "daemons" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, data-default
+     , directory, filepath, ghc-prim, HUnit, network, pipes
+     , test-framework, test-framework-hunit, transformers, unix
+     }:
+     mkDerivation {
+       pname = "daemons";
+       version = "0.2.1";
+       sha256 = "0zf9831vl1hz606nsp0yhjg46wxzvwkd3hn9shjw5akk26sddi8p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal containers data-default directory filepath
+         ghc-prim network pipes transformers unix
+       ];
+       testDepends = [
+         base data-default directory ghc-prim HUnit test-framework
+         test-framework-hunit unix
+       ];
+       homepage = "https://github.com/scvalex/daemons";
+       description = "Daemons in Haskell made fun and easy";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "dag" = callPackage
+    ({ mkDerivation, base, constraints, hspec, QuickCheck
+     , quickcheck-instances, singletons
+     }:
+     mkDerivation {
+       pname = "dag";
+       version = "0.1.0.2";
+       sha256 = "0khfyyzqzw7jj4n8p1k96wdrb2087jd380fzhlkmf0g7s4346pvp";
+       buildDepends = [ base constraints singletons ];
+       testDepends = [ base hspec QuickCheck quickcheck-instances ];
+       description = "Compile-time, type-safe directed acyclic graphs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "damnpacket" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "damnpacket";
+       version = "0.6.0";
+       sha256 = "137ckcsy2a9f8xfw83rapl2msb6z0pdlsksay5qkymxcpfwrabyb";
+       buildDepends = [
+         attoparsec base bytestring containers deepseq text
+       ];
+       testDepends = [ base containers QuickCheck text ];
+       homepage = "https://github.com/joelteon/damnpacket";
+       description = "Parsing dAmn packets";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dao" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , Crypto, data-binary-ieee754, deepseq, directory, filepath, mtl
+     , process, random, time, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "dao";
+       version = "0.1.0.1";
+       sha256 = "0caas3ql32925rzsghb7rdrm17bw3hn84cizkl9dqmz6nwlhclk9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers Crypto data-binary-ieee754
+         deepseq directory filepath mtl process random time transformers
+         utf8-string
+       ];
+       testDepends = [
+         array base binary bytestring containers Crypto data-binary-ieee754
+         deepseq directory filepath mtl process random time transformers
+         utf8-string
+       ];
+       description = "Dao is meta programming language with its own built-in interpreted language, designed with artificial intelligence applications in mind";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dapi" = callPackage
+    ({ mkDerivation, base, containers, explicit-exception, multiarg
+     , old-locale, parsec, prednote, rainbow, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "dapi";
+       version = "0.2.0.0";
+       sha256 = "0idi472qqks286fbw718vddk5kc3vxicrb8m38sllw6x663xnljz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers explicit-exception multiarg old-locale parsec
+         prednote rainbow text time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://massysett.github.com/dapi";
+       description = "Prints a series of dates";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcs" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, curl
+     , directory, extensible-exceptions, filepath, hashed-storage
+     , haskeline, html, HTTP, mmap, mtl, network, network-uri, old-time
+     , parsec, process, random, regex-compat, tar, terminfo, text, unix
+     , utf8-string, vector, zlib
+     }:
+     mkDerivation {
+       pname = "darcs";
+       version = "2.8.5";
+       sha256 = "16g3ayw0wwhkjpprlkzi971ibs4dp152bmaa487512cwb3ni0hq6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory extensible-exceptions
+         filepath hashed-storage haskeline html HTTP mmap mtl network
+         network-uri old-time parsec process random regex-compat tar
+         terminfo text unix utf8-string vector zlib
+       ];
+       extraLibraries = [ curl ];
+       configureFlags = [ "-fforce-char8-encoding" "-flibrary" ];
+       jailbreak = true;
+       postInstall = ''
+         mkdir -p $out/etc/bash_completion.d
+         mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
+       '';
+       homepage = "http://darcs.net/";
+       description = "a distributed, interactive, smart revision control system";
+       license = "GPL";
+     }) { inherit (pkgs) curl;};
+
+  "darcs-benchmark" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers, datetime
+     , directory, filepath, hs-gchart, html, HTTP, json, mtl, network
+     , old-locale, process, regex-posix, SHA, split, statistics, strict
+     , tabular, tar, time, utf8-string, uvector, zlib
+     }:
+     mkDerivation {
+       pname = "darcs-benchmark";
+       version = "0.1.9";
+       sha256 = "1qwh4yas6alp65lwimh8xlz3i572nxn4iwqsppx7qqlj8kjhbyvj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs containers datetime directory filepath
+         hs-gchart html HTTP json mtl network old-locale process regex-posix
+         SHA split statistics strict tabular tar time utf8-string uvector
+         zlib
+       ];
+       jailbreak = true;
+       homepage = "http://wiki.darcs.net/Development/Benchmarks";
+       description = "Comparative benchmark suite for darcs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcs-beta" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, curl
+     , directory, extensible-exceptions, filepath, hashed-storage
+     , haskeline, html, HTTP, mmap, mtl, network, old-time, parsec
+     , process, random, regex-compat, tar, terminfo, text, unix, vector
+     , zlib
+     }:
+     mkDerivation {
+       pname = "darcs-beta";
+       version = "2.7.99.2";
+       sha256 = "0jkgy8k2i7hhcl7dzm4zvbm0q189hhp4cza9aslslzcq15jsa225";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory extensible-exceptions
+         filepath hashed-storage haskeline html HTTP mmap mtl network
+         old-time parsec process random regex-compat tar terminfo text unix
+         vector zlib
+       ];
+       extraLibraries = [ curl ];
+       jailbreak = true;
+       homepage = "http://darcs.net/";
+       description = "a distributed, interactive, smart revision control system";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) curl;};
+
+  "darcs-buildpackage" = callPackage
+    ({ mkDerivation, base, ConfigFile, directory, hslogger, MissingH
+     , network, parsec, process, regex-compat, unix
+     }:
+     mkDerivation {
+       pname = "darcs-buildpackage";
+       version = "0.5.12";
+       sha256 = "0c82r7bgz8wj172q1n4dfz9kfn4466v7k159vlkfdqv7as0qj8qf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile directory hslogger MissingH network parsec process
+         regex-compat unix
+       ];
+       description = "Tools to help manage Debian packages with Darcs";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcs-cabalized" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, curl, curses
+     , directory, html, HUnit, mtl, old-time, parsec, process
+     , QuickCheck, regex-compat, unix, zlib
+     }:
+     mkDerivation {
+       pname = "darcs-cabalized";
+       version = "2.0.2.2";
+       sha256 = "1lc1v30zmlcrp6i22d3arghqhy9pjncddr34df6zd8s0r9wsi61d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory html HUnit mtl old-time
+         parsec process QuickCheck regex-compat unix
+       ];
+       extraLibraries = [ curl curses zlib ];
+       homepage = "http://darcs.net/";
+       description = "David's Advanced Version Control System";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) curl;  curses = null;  inherit (pkgs) zlib;};
+
+  "darcs-fastconvert" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cmdlib, containers
+     , darcs, datetime, directory, filepath, hashed-storage, mtl
+     , old-time, utf8-string
+     }:
+     mkDerivation {
+       pname = "darcs-fastconvert";
+       version = "0.2.1";
+       sha256 = "1a49v3l9n5cqlmdpjj8mzz5v6b47my84id62ag7004ynr11vih9s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cmdlib containers darcs datetime
+         directory filepath hashed-storage mtl old-time utf8-string
+       ];
+       jailbreak = true;
+       description = "Import/export git fast-import streams to/from darcs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcs-graph" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , old-locale, old-time, process, time
+     }:
+     mkDerivation {
+       pname = "darcs-graph";
+       version = "1.0";
+       sha256 = "01404plnjrds57lf7widss2piwpal9khl0gq22xkswj68zzfjcv6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory old-locale old-time process
+         time
+       ];
+       jailbreak = true;
+       description = "Generate graphs of darcs repository activity";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcs-monitor" = callPackage
+    ({ mkDerivation, base, containers, directory, HaXml, mtl, process
+     }:
+     mkDerivation {
+       pname = "darcs-monitor";
+       version = "0.4.2";
+       sha256 = "0rp6flaizbaxzr28fr82vaacl4wajh6zdqnwcbgyhwz5dj7rdanq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers directory HaXml mtl process ];
+       jailbreak = true;
+       homepage = "http://wiki.darcs.net/RelatedSoftware/DarcsMonitor";
+       description = "Darcs repository monitor (sends email)";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcs-scripts" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "darcs-scripts";
+       version = "0.1";
+       sha256 = "1jyl04z76935kz71hmz2hdx9bw2ka2v8pai6lpy6iz63wamhkmps";
+       buildDepends = [ base ];
+       description = "Shell scripts for support of darcs workflow";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcs2dot" = callPackage
+    ({ mkDerivation, base, containers, darcs, graph-wrapper
+     , string-conversions
+     }:
+     mkDerivation {
+       pname = "darcs2dot";
+       version = "0.1.0.1";
+       sha256 = "0r6hri2kpfq7r0c25qrlrj5y9pi2j76njvwsgrpnpm6p4gg151wk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers darcs graph-wrapper string-conversions
+       ];
+       jailbreak = true;
+       description = "Outputs dependencies of darcs patches in dot format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcsden" = callPackage
+    ({ mkDerivation, aeson, base, base64-string, blaze-builder
+     , blaze-html, blaze-markup, bytestring, containers, CouchDB, darcs
+     , directory, filepath, harp, hashed-storage, highlighting-kate
+     , HsOpenSSL, hsp, http-conduit, HUnit, json, mime-mail, mtl
+     , old-locale, old-time, pandoc, pcre-light, process, pureMD5
+     , random, redis, safe, SHA, snap-core, snap-server, split, ssh
+     , system-uuid, text, time, utf8-string, webdriver, xhtml, xml
+     }:
+     mkDerivation {
+       pname = "darcsden";
+       version = "1.1";
+       sha256 = "105al8x28ml91nll0jwqfmkg7slipkd9b4rab8sb2mh4minspff2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-string blaze-builder blaze-html blaze-markup
+         bytestring containers CouchDB darcs directory filepath harp
+         hashed-storage highlighting-kate HsOpenSSL hsp http-conduit HUnit
+         json mime-mail mtl old-locale old-time pandoc pcre-light process
+         pureMD5 random redis safe SHA snap-core snap-server split ssh
+         system-uuid text time utf8-string webdriver xhtml xml
+       ];
+       jailbreak = true;
+       homepage = "http://hackage.haskell.org/package/darcsden";
+       description = "Darcs repository UI and hosting/collaboration app (hub.darcs.net branch).";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darcswatch" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, concurrentoutput
+     , containers, Crypto, directory, filepath, HTTP, mime-string, mtl
+     , nano-md5, network, old-locale, old-time, parsec, process
+     , regex-compat, safe, time, unix, xhtml, zlib
+     }:
+     mkDerivation {
+       pname = "darcswatch";
+       version = "0.4.4";
+       sha256 = "1gl0wplzlhb6ynacq7bv38ijhazpwr642zc0a2dixbpibchgxksf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cgi concurrentoutput containers Crypto directory
+         filepath HTTP mime-string mtl nano-md5 network old-locale old-time
+         parsec process regex-compat safe time unix xhtml zlib
+       ];
+       homepage = "http://darcswatch.nomeata.de/";
+       description = "Track application of Darcs patches";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "darkplaces-demo" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , darkplaces-text, data-binary-ieee754, directory, mtl
+     , optparse-applicative, regex-tdfa, transformers
+     }:
+     mkDerivation {
+       pname = "darkplaces-demo";
+       version = "0.1";
+       sha256 = "0map78fnnqm2nlh92xrxmg3fs9q2hb4pl87hyara41v2dvwlsj3f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers darkplaces-text
+         data-binary-ieee754 directory mtl optparse-applicative regex-tdfa
+         transformers
+       ];
+       homepage = "https://github.com/bacher09/darkplaces-demo";
+       description = "Utility and parser for DarkPlaces demo files";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "darkplaces-text" = callPackage
+    ({ mkDerivation, alex, ansi-terminal, array, base, bytestring, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "darkplaces-text";
+       version = "0.1";
+       sha256 = "08zqrivqz57r0ifjpgksm5l8h19zmsxcicwf97h3andds62v05lf";
+       buildDepends = [ ansi-terminal array base bytestring text vector ];
+       buildTools = [ alex ];
+       homepage = "https://github.com/bacher09/darkplaces-text";
+       description = "Parser for darkplaces colorful text";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "dash-haskell" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, direct-sqlite
+     , directory, either, ghc, haddock-api, mtl, optparse-applicative
+     , parsec, pipes, process, sqlite-simple, system-fileio
+     , system-filepath, tagsoup, text, transformers
+     }:
+     mkDerivation {
+       pname = "dash-haskell";
+       version = "1.0.0.3";
+       sha256 = "1z1nqfsfkkwcg4k7jhwyiwy7m1qwcmk9q0aqjqspikv8jg3zrqnz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers direct-sqlite directory either ghc
+         haddock-api mtl optparse-applicative parsec pipes process
+         sqlite-simple system-fileio system-filepath tagsoup text
+         transformers
+       ];
+       homepage = "http://www.github.com/jfeltz/dash-haskell";
+       description = "Command line tool to generate Dash docsets (IDE docs) from package haddock";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "data-accessor" = callPackage
+    ({ mkDerivation, array, base, containers, transformers }:
+     mkDerivation {
+       pname = "data-accessor";
+       version = "0.2.2.6";
+       sha256 = "0668qgllmp2911ppsb0g9z95nq2x0h2cvzyyjlb6iwhnjzyyg7gf";
+       buildDepends = [ array base containers transformers ];
+       homepage = "http://www.haskell.org/haskellwiki/Record_access";
+       description = "Utilities for accessing and manipulating fields of records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-accessor-monadLib" = callPackage
+    ({ mkDerivation, base, data-accessor, monadLib }:
+     mkDerivation {
+       pname = "data-accessor-monadLib";
+       version = "0.0.1";
+       sha256 = "0l1ywmr4jry4cys7lq6k0w0nsdpqj1g5l3vsnxyf0ai1901zk18i";
+       buildDepends = [ base data-accessor monadLib ];
+       jailbreak = true;
+       description = "Accessor functions for monadLib's monads";
+       license = "unknown";
+     }) {};
+
+  "data-accessor-monads-fd" = callPackage
+    ({ mkDerivation, base, data-accessor, monads-fd, transformers }:
+     mkDerivation {
+       pname = "data-accessor-monads-fd";
+       version = "0.2.0.3";
+       sha256 = "1yvfk55qra7f9ggcybw3j68xg9dzx2f07swj99v4f588gh32ixhz";
+       buildDepends = [ base data-accessor monads-fd transformers ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Record_access";
+       description = "Use Accessor to access state in monads-fd State monad class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-accessor-monads-tf" = callPackage
+    ({ mkDerivation, base, data-accessor, monads-tf, transformers }:
+     mkDerivation {
+       pname = "data-accessor-monads-tf";
+       version = "0.2.1.4";
+       sha256 = "12skayn01s8svfdr4h5am2y2dw7ax6s83pb7vy3jxyddywpm04mk";
+       buildDepends = [ base data-accessor monads-tf transformers ];
+       homepage = "http://www.haskell.org/haskellwiki/Record_access";
+       description = "Use Accessor to access state in monads-tf State monad type family";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-accessor-mtl" = callPackage
+    ({ mkDerivation, base, data-accessor, mtl }:
+     mkDerivation {
+       pname = "data-accessor-mtl";
+       version = "0.2.0.4";
+       sha256 = "1i8lk0vy04giixng5addgj740cbvwlc7g62qgrmhfip0w9k93kqh";
+       buildDepends = [ base data-accessor mtl ];
+       homepage = "http://www.haskell.org/haskellwiki/Record_access";
+       description = "Use Accessor to access state in mtl State monad class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-accessor-template" = callPackage
+    ({ mkDerivation, base, data-accessor, template-haskell, utility-ht
+     }:
+     mkDerivation {
+       pname = "data-accessor-template";
+       version = "0.2.1.11";
+       sha256 = "1n2slv287zp6pabqb7xbfi296dbikw5a4ivqmnas0c4nxikqkayx";
+       buildDepends = [ base data-accessor template-haskell utility-ht ];
+       homepage = "http://www.haskell.org/haskellwiki/Record_access";
+       description = "Utilities for accessing and manipulating fields of records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-accessor-transformers" = callPackage
+    ({ mkDerivation, base, data-accessor, transformers }:
+     mkDerivation {
+       pname = "data-accessor-transformers";
+       version = "0.2.1.6";
+       sha256 = "1iawhp1h68ynr2axj12jrn47nf08mss0ar8blagp59yi8j7170fa";
+       buildDepends = [ base data-accessor transformers ];
+       homepage = "http://www.haskell.org/haskellwiki/Record_access";
+       description = "Use Accessor to access state in transformers State monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-aviary" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-aviary";
+       version = "0.4.0";
+       sha256 = "03jhlb7w98bwx5xa23as9i6id0qxcl4f7k9rql2cgcy8nxf7c2xn";
+       buildDepends = [ base ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Combinator birds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-binary-ieee754" = callPackage
+    ({ mkDerivation, base, binary }:
+     mkDerivation {
+       pname = "data-binary-ieee754";
+       version = "0.4.4";
+       sha256 = "02nzg1barhqhpf4x26mpzvk7jd29nali033qy01adjplv2z5m5sr";
+       buildDepends = [ base binary ];
+       homepage = "https://john-millikin.com/software/data-binary-ieee754/";
+       description = "Parser/Serialiser for IEEE-754 floating-point values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-bword" = callPackage
+    ({ mkDerivation, base, ghc-prim, tasty, tasty-quickcheck }:
+     mkDerivation {
+       pname = "data-bword";
+       version = "0.1";
+       sha256 = "1s0fid1b8fjazii4j9rsjfmfhyacacknvy374y7nixsdgl4xp44d";
+       buildDepends = [ base ghc-prim ];
+       testDepends = [ base tasty tasty-quickcheck ];
+       homepage = "https://github.com/mvv/data-bword";
+       description = "Extra operations on binary words of fixed length";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-carousel" = callPackage
+    ({ mkDerivation, base, containers, lens }:
+     mkDerivation {
+       pname = "data-carousel";
+       version = "0.1.0.0";
+       sha256 = "1vp17428a2pw4g3y2ra22ll5vjnqwl2xwr2wfj8ppkxaj34a2nsh";
+       buildDepends = [ base containers lens ];
+       description = "A rotating sequence data structure";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-category" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "data-category";
+       version = "0.6.1";
+       sha256 = "1rkxwzigc4lw4hp593fwcxkhnd4jqwd7szwc2jgdz50bdc6k3jqc";
+       homepage = "http://github.com/sjoerdvisscher/data-category";
+       description = "Category theory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-checked" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "data-checked";
+       version = "0.3";
+       sha256 = "0xjn7iqlsgi51h8gz4x40kc2qb5lwf6nw5kjwgkck1w5gjfd11yw";
+       buildDepends = [ base deepseq ];
+       homepage = "https://github.com/mvv/data-checked";
+       description = "Type-indexed runtime-checked properties";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-clist" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "data-clist";
+       version = "0.0.7.3";
+       sha256 = "0kabcqyvsajf5drihp3f6da2vbw76f85cc4gh20n9czxy19g35rq";
+       buildDepends = [ base deepseq QuickCheck ];
+       homepage = "https://github.com/sw17ch/data-clist";
+       description = "Simple functional ring type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-concurrent-queue" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "data-concurrent-queue";
+       version = "0.3.0.0";
+       sha256 = "0rmn4pq5pgvam78vxp4y7431jai8dklml322r4nw47jjc1m20kmv";
+       buildDepends = [ base stm ];
+       jailbreak = true;
+       description = "A Library for directional queues";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-cycle" = callPackage
+    ({ mkDerivation, base, collections-api, collections-base-instances
+     }:
+     mkDerivation {
+       pname = "data-cycle";
+       version = "0.1.2";
+       sha256 = "1k7a2k4vvbwilayh5827na7fifaww66fnmd7mr9vzwmsw9g6q80g";
+       buildDepends = [ base collections-api collections-base-instances ];
+       description = "a cyclic doubly linked list";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-default" = callPackage
+    ({ mkDerivation, base, data-default-class
+     , data-default-instances-base, data-default-instances-containers
+     , data-default-instances-dlist, data-default-instances-old-locale
+     }:
+     mkDerivation {
+       pname = "data-default";
+       version = "0.5.3";
+       sha256 = "0d1hm0l9kim3kszshr4msmgzizrzha48gz2kb7b61p7n3gs70m7c";
+       buildDepends = [
+         base data-default-class data-default-instances-base
+         data-default-instances-containers data-default-instances-dlist
+         data-default-instances-old-locale
+       ];
+       description = "A class for types with a default value";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-default-class" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-default-class";
+       version = "0.0.1";
+       sha256 = "0ccgr3jllinchqhw3lsn73ic6axk4196if5274rr1rghls0fxj5d";
+       buildDepends = [ base ];
+       description = "A class for types with a default value";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-default-generics" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dlist, ghc-prim
+     , hspec, HUnit, old-locale, text, time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "data-default-generics";
+       version = "0.3";
+       sha256 = "0asjirn324ixyzkf5vhanyf7q9aj9zh693m55qln7dx3vdayn1yv";
+       buildDepends = [
+         base bytestring containers dlist ghc-prim old-locale text time
+         unordered-containers vector
+       ];
+       testDepends = [
+         base bytestring containers dlist ghc-prim hspec HUnit old-locale
+         text time unordered-containers vector
+       ];
+       description = "A class for types with a default value";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-default-instances-base" = callPackage
+    ({ mkDerivation, base, data-default-class }:
+     mkDerivation {
+       pname = "data-default-instances-base";
+       version = "0.0.1";
+       sha256 = "1832nq6by91f1iw73ycvkbgn8kpra83pvf2q61hy47xffh0zy4pb";
+       buildDepends = [ base data-default-class ];
+       description = "Default instances for types in base";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-default-instances-containers" = callPackage
+    ({ mkDerivation, base, containers, data-default-class }:
+     mkDerivation {
+       pname = "data-default-instances-containers";
+       version = "0.0.1";
+       sha256 = "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5";
+       buildDepends = [ base containers data-default-class ];
+       description = "Default instances for types in containers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-default-instances-dlist" = callPackage
+    ({ mkDerivation, base, data-default-class, dlist }:
+     mkDerivation {
+       pname = "data-default-instances-dlist";
+       version = "0.0.1";
+       sha256 = "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x";
+       buildDepends = [ base data-default-class dlist ];
+       description = "Default instances for types in dlist";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-default-instances-old-locale" = callPackage
+    ({ mkDerivation, base, data-default-class, old-locale }:
+     mkDerivation {
+       pname = "data-default-instances-old-locale";
+       version = "0.0.1";
+       sha256 = "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0";
+       buildDepends = [ base data-default-class old-locale ];
+       description = "Default instances for types in old-locale";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-dispersal" = callPackage
+    ({ mkDerivation, AES, array, base, binary, bytestring, entropy
+     , finite-field, matrix, QuickCheck, secret-sharing, spool, syb
+     , test-framework, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "data-dispersal";
+       version = "1.0.0.2";
+       sha256 = "1x6wd4xah19isysk2b9waws3fyvzx3w6l917zyw0cvdzf1lkpbw6";
+       buildDepends = [
+         AES array base binary bytestring entropy finite-field matrix
+         secret-sharing syb vector
+       ];
+       testDepends = [
+         array base binary bytestring QuickCheck spool syb test-framework
+         test-framework-quickcheck2 vector
+       ];
+       jailbreak = true;
+       homepage = "http://monoid.at/code";
+       description = "Space-efficient and privacy-preserving data dispersal algorithms";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-dword" = callPackage
+    ({ mkDerivation, base, data-bword, ghc-prim, hashable, tasty
+     , tasty-quickcheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "data-dword";
+       version = "0.3";
+       sha256 = "0m4jmmdi5j6h0pa4d8ll6pv2qvsf3y3bk6kss0hfglcwaa5vvy73";
+       buildDepends = [
+         base data-bword ghc-prim hashable template-haskell
+       ];
+       testDepends = [ base tasty tasty-quickcheck ];
+       homepage = "https://github.com/mvv/data-dword";
+       description = "Stick two binary words together to get a bigger one";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-easy" = callPackage
+    ({ mkDerivation, base, containers, directory, either, errors
+     , haskell-src-exts, hlint, hspec, HUnit, QuickCheck, safe, text
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "data-easy";
+       version = "0.5";
+       sha256 = "1rrq20v1nzkmak1m7x3gpcn262h26y4mcx058g8dp413gvdniypq";
+       buildDepends = [ base containers safe ];
+       testDepends = [
+         base containers directory either errors haskell-src-exts hlint
+         hspec HUnit QuickCheck safe text transformers unix
+       ];
+       homepage = "https://github.com/jcristovao/easy-data";
+       description = "Consistent set of utility functions for Maybe, Either, List, Monoids";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-endian" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-endian";
+       version = "0.1";
+       sha256 = "0ilvpd3xw1nljxvl7jdrzzyfkfl7gykidvbjvc7px3bca5mlmf1r";
+       buildDepends = [ base ];
+       homepage = "https://github.com/mvv/data-endian";
+       description = "Endian-sensitive data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-extra" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "data-extra";
+       version = "2.5.5";
+       sha256 = "0py4a3mzqga25y6y1sirvc9369n3b7y5kpm5f9m613yjlypv6pc1";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-filepath" = callPackage
+    ({ mkDerivation, base, bifunctors, ghc-prim, semigroups, split
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "data-filepath";
+       version = "2.2.0.0";
+       sha256 = "1l71sg02rqgk7i6w401il7crx3ikdbxi5wbb6ida677pfdrpm7f7";
+       buildDepends = [
+         base bifunctors ghc-prim semigroups split template-haskell
+       ];
+       homepage = "https://github.com/maxpow4h/data-filepath";
+       description = "A type safe file path data structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-fin" = callPackage
+    ({ mkDerivation, base, lazysmallcheck, prelude-safeenum, QuickCheck
+     , reflection, smallcheck, tagged
+     }:
+     mkDerivation {
+       pname = "data-fin";
+       version = "0.1.1.3";
+       sha256 = "02n3dr4gj73z549vwq5h7h1kvmx2j8vaxjcggpdlppps9wl6flry";
+       buildDepends = [
+         base lazysmallcheck prelude-safeenum QuickCheck reflection
+         smallcheck tagged
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Finite totally ordered sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-fix" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-fix";
+       version = "0.0.1";
+       sha256 = "09r08lrv92ka6p35wkbfhq9ywg7y5pmgszwbz8a20h31vjz1ffpr";
+       buildDepends = [ base ];
+       homepage = "https://github.com/anton-k/data-fix";
+       description = "Fixpoint data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-fix-cse" = callPackage
+    ({ mkDerivation, base, containers, data-fix, transformers }:
+     mkDerivation {
+       pname = "data-fix-cse";
+       version = "0.0.2";
+       sha256 = "1xn6qnir5dss23y8d71dsy78sdk7hczwprxir8v6la15c43rf9p2";
+       buildDepends = [ base containers data-fix transformers ];
+       homepage = "https://github.com/anton-k/data-fix-cse";
+       description = "Common subexpression elimination for the fixploint types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-flags" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "data-flags";
+       version = "0.0.3.1";
+       sha256 = "1s0djw1qarjn1fkyf21fd6pacfpfy4cvyw3wbd63ccaf9g0s1gs5";
+       buildDepends = [ base template-haskell ];
+       description = "A package for working with bit masks and flags in general";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-fresh" = callPackage
+    ({ mkDerivation, base, free, transformers }:
+     mkDerivation {
+       pname = "data-fresh";
+       version = "0.2013.251.0";
+       sha256 = "1hz30myv78mw4sf19k1yg4qikrnxsa5ng0ff4naxyz1zyi2m87f1";
+       buildDepends = [ base free transformers ];
+       description = "Interface and functor transformers for fresh values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-hash" = callPackage
+    ({ mkDerivation, array, base, containers, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "data-hash";
+       version = "0.2.0.0";
+       sha256 = "1bfsbc4fkg3jqgbgka1mg6k1fizynvvxbhf2zb0x1apgr579mcrm";
+       buildDepends = [ array base containers ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       description = "Combinators for building fast hashing functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-interval" = callPackage
+    ({ mkDerivation, base, containers, deepseq, extended-reals
+     , hashable, HUnit, lattices, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th
+     }:
+     mkDerivation {
+       pname = "data-interval";
+       version = "1.2.0";
+       sha256 = "139v825r0r4k8b8cmndpx6gfkdn55ygiwmq8r3fcgljajk99y4km";
+       buildDepends = [ base deepseq extended-reals hashable lattices ];
+       testDepends = [
+         base containers HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+       ];
+       description = "Interval arithmetic for both open and closed intervals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-inttrie" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-inttrie";
+       version = "0.1.0";
+       sha256 = "00kzf3cw0y0848cprmx3i7g70rmr92hhfzn60a2x98vb8f7y3814";
+       buildDepends = [ base ];
+       homepage = "http://github.com/luqui/data-inttrie";
+       description = "A lazy, infinite trie of integers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-ivar" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "data-ivar";
+       version = "0.30";
+       sha256 = "1vnbmvihkrcknys33sam9zlb5qk5qqkxz6w3wamsbdmpp0q6zfb2";
+       buildDepends = [ base containers ];
+       description = "Write-once variables with concurrency support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-kiln" = callPackage
+    ({ mkDerivation, base, containers, data-fix, IfElse, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "data-kiln";
+       version = "0.1.0.0";
+       sha256 = "13pkpmpjy787cjn1hcsl9r04w70nxrzdx8xrn9w6ifbzb2xj2iny";
+       buildDepends = [
+         base containers data-fix IfElse mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kwf/data-kiln";
+       description = "Sculpt mutable recursive data with reference equality; bake it using a data kiln into an immutable lazy structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-layout" = callPackage
+    ({ mkDerivation, base, bytestring, vector }:
+     mkDerivation {
+       pname = "data-layout";
+       version = "0.1.0.0";
+       sha256 = "1w8r4vw731dmam8vcidz9a4wb2swqd5djsf9vkkxihxnphh0a1x5";
+       buildDepends = [ base bytestring vector ];
+       homepage = "http://github.com/jystic/data-layout";
+       description = "Read/write arbitrary binary layouts to a \"Data.Vector.Storable\".";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-lens" = callPackage
+    ({ mkDerivation, base, comonad, containers, semigroupoids
+     , transformers
+     }:
+     mkDerivation {
+       pname = "data-lens";
+       version = "2.10.5";
+       sha256 = "11na4wx0f0ihk87d00njwrfc430nb25dkkadv1n47yvcyfc60i90";
+       buildDepends = [
+         base comonad containers semigroupoids transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/roconnor/data-lens/";
+       description = "Used to be Haskell 98 Lenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-lens-fd" = callPackage
+    ({ mkDerivation, base, comonad, data-lens, mtl, transformers }:
+     mkDerivation {
+       pname = "data-lens-fd";
+       version = "2.0.5";
+       sha256 = "0r8cfgn6wx304b5ihmwgsxxjwalb7086wii655mgmb6cn3nirpyk";
+       buildDepends = [ base comonad data-lens mtl transformers ];
+       homepage = "http://github.com/roconnor/data-lens-fd/";
+       description = "Lenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-lens-ixset" = callPackage
+    ({ mkDerivation, base, data-lens, ixset, QuickCheck }:
+     mkDerivation {
+       pname = "data-lens-ixset";
+       version = "0.1.4";
+       sha256 = "0frzjfcp7w1ayfai1m07n0fpj3z1vbi971bc1kn1iarxhakny651";
+       buildDepends = [ base data-lens ixset ];
+       testDepends = [ QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/dag/data-lens-ixset";
+       description = "A Lens for IxSet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-lens-light" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "data-lens-light";
+       version = "0.1.2.1";
+       sha256 = "038vfzb4vxk1qb0246l2kgv9br37wg59wnlhzyjpn97lypwlf68w";
+       buildDepends = [ base mtl template-haskell ];
+       homepage = "https://github.com/feuerbach/data-lens-light";
+       description = "Simple lenses, minimum dependencies";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-lens-template" = callPackage
+    ({ mkDerivation, base, data-lens, template-haskell }:
+     mkDerivation {
+       pname = "data-lens-template";
+       version = "2.1.8";
+       sha256 = "0w8x5zn3d98z0q74bqfgkb9s0ca9hd1xc53gjl759s77wm4iwa0q";
+       buildDepends = [ base data-lens template-haskell ];
+       homepage = "http://github.com/roconnor/data-lens-template/";
+       description = "Utilities for Data.Lens";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-list-sequences" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-list-sequences";
+       version = "0.1";
+       sha256 = "0r3y66lxgk0sdg500xnz0fvg4dvzvx47imnw0qkici22b9d92kv8";
+       buildDepends = [ base ];
+       homepage = "https://github.com/jkramer/data-list-sequences";
+       description = "Utilities for working with sequences within lists";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "data-memocombinators" = callPackage
+    ({ mkDerivation, array, base, data-inttrie }:
+     mkDerivation {
+       pname = "data-memocombinators";
+       version = "0.5.1";
+       sha256 = "1mvfc1xri3kgkx5q7za01bqg1x3bfvbgcffw5vwl6jmq4hh1sd5l";
+       buildDepends = [ array base data-inttrie ];
+       homepage = "http://github.com/luqui/data-memocombinators";
+       description = "Combinators for building memo tables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-named" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, containers, text }:
+     mkDerivation {
+       pname = "data-named";
+       version = "0.5.2";
+       sha256 = "1mzwnbcb7ji4m6p4s68422gmpna06llbh2rhk6w048mgjxv4fhsx";
+       buildDepends = [ attoparsec base binary containers text ];
+       homepage = "https://github.com/kawu/data-named";
+       description = "Data types for named entities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-nat" = callPackage
+    ({ mkDerivation, base, semigroups }:
+     mkDerivation {
+       pname = "data-nat";
+       version = "0.1.2";
+       sha256 = "1yzxkch0xzy76iyad0yshfnpvz38xklqdlyj8lgqnqsllw0vwh0m";
+       buildDepends = [ base semigroups ];
+       jailbreak = true;
+       homepage = "http://github.com/glehel/data-nat";
+       description = "data Nat = Zero | Succ Nat";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-object" = callPackage
+    ({ mkDerivation, base, bytestring, failure, text, time }:
+     mkDerivation {
+       pname = "data-object";
+       version = "0.3.1.9";
+       sha256 = "0z8m23kw8mj6hhy1r8y1vvlxxpwl273dhanszig2673a1sw0l98l";
+       buildDepends = [ base bytestring failure text time ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/data-object/tree/master";
+       description = "Represent hierachichal structures, called objects in JSON. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-object-json" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-trie
+     , convertible-text, data-object, failure, JSONb, text
+     }:
+     mkDerivation {
+       pname = "data-object-json";
+       version = "0.3.1.8";
+       sha256 = "06zkiqj4pkl5q4fmh816y4yj74rzwi2b91k542lxswjvfa3za3qk";
+       buildDepends = [
+         base bytestring bytestring-trie convertible-text data-object
+         failure JSONb text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/data-object-json/tree/master";
+       description = "Serialize JSON data to/from Haskell using the data-object library. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-object-yaml" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers
+     , convertible-text, data-object, failure, text, transformers, yaml
+     }:
+     mkDerivation {
+       pname = "data-object-yaml";
+       version = "0.3.4.2";
+       sha256 = "18a9r4wfpb7icjb6nji9iy3abq6sxafmsnfwqpnm1nn2nn3fm1ap";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit containers convertible-text data-object
+         failure text transformers yaml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/data-object-yaml";
+       description = "Serialize data to and from Yaml files (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-or" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-or";
+       version = "1.0.0.4";
+       sha256 = "17plwr0ayll8na73vhdsfxk86dnds4rpj8v6nww7shb6vk5v3hf5";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "A data type for non-exclusive disjunction";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-ordlist" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-ordlist";
+       version = "0.4.7.0";
+       sha256 = "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g";
+       buildDepends = [ base ];
+       description = "Set and bag operations on ordered lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-partition" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "data-partition";
+       version = "0.3.0.0";
+       sha256 = "05i8fg9q7fpc9jalhwbqpw6pfki2flqj4nqwgs3yfi0hvasvgjjb";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/luqui/data-partition";
+       description = "A pure disjoint set (union find) data structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-pprint" = callPackage
+    ({ mkDerivation, base, deepseq, mtl, parallel, pretty, time }:
+     mkDerivation {
+       pname = "data-pprint";
+       version = "0.2.3";
+       sha256 = "1ygbhn399d4hlrdjmg7gxbr5akydb78p6qa80rv7m6j0fsqzbf6y";
+       buildDepends = [ base deepseq mtl parallel pretty time ];
+       jailbreak = true;
+       description = "Prettyprint and compare Data values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-quotientref" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-quotientref";
+       version = "0.1";
+       sha256 = "0ylimakhw37klz2axg8qrdhwag34mfa1byb2z2mz2i8z0w4737j8";
+       buildDepends = [ base ];
+       description = "Reference cells that need two independent indices to be accessed";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-r-tree" = callPackage
+    ({ mkDerivation, base, binary, containers, deepseq, HUnit
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "data-r-tree";
+       version = "0.0.5.0";
+       sha256 = "1zgwm020zxfhb70llch4y075rd6klwwnv9yn8mpgh0rm0ib7jvyy";
+       buildDepends = [ base binary deepseq ];
+       testDepends = [
+         base binary containers HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/sebastian-philipp/r-tree";
+       description = "R-Tree is a spatial data structure similar to Quadtrees or B-Trees";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-ref" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "data-ref";
+       version = "0.0";
+       sha256 = "0bcizcf6i1hfpk7ry64si40mfdndgd8k0h9mzh873xp1v2qali7n";
+       buildDepends = [ base stm transformers ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Mutable_variable";
+       description = "Unify STRef and IORef in plain Haskell 98";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-reify" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "data-reify";
+       version = "0.6";
+       revision = "1";
+       sha256 = "0mif89mpj5zvw8czc51mfj27jw2ipxd2awnm9q13s46k6s5pv6a7";
+       editedCabalFile = "60185d3fdb87fe62f297eb4473d58a7ccf93d1b6ee790a8b2faed79e1ac833c1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "http://www.ittc.ku.edu/csdl/fpg/Tools/IOReification";
+       description = "Reify a recursive data structure into an explicit graph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-reify-cse" = callPackage
+    ({ mkDerivation, base, containers, data-reify }:
+     mkDerivation {
+       pname = "data-reify-cse";
+       version = "0.0.3";
+       sha256 = "0vjfpbp0maqwirvi8j21z9qbs396l76dk5npn8zxac56j0i6l62r";
+       buildDepends = [ base containers data-reify ];
+       description = "Common Sub-Expression Elimination for graphs generated by Data.Reify.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-rev" = callPackage
+    ({ mkDerivation, base, bytestring, containers, text, vector }:
+     mkDerivation {
+       pname = "data-rev";
+       version = "0.1.0.1";
+       sha256 = "13bqp3vvsc6i6lcvw480i08fz2rm3f8varwyhvrp44dzv2q8zkl1";
+       buildDepends = [ base bytestring containers text vector ];
+       homepage = "https://github.com/jxv/data-rev";
+       description = "A typeclass for reversing order of contents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-rope" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-mmap, unix }:
+     mkDerivation {
+       pname = "data-rope";
+       version = "0.3";
+       sha256 = "06sz6z0kd53av4acmgxh4668fsn588hx5k5qp752rrjf2nx9vww8";
+       buildDepends = [ base bytestring bytestring-mmap unix ];
+       description = "Ropes, an alternative to (Byte)Strings";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-size" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, text }:
+     mkDerivation {
+       pname = "data-size";
+       version = "0.1.1.7";
+       sha256 = "0j1g39ha2fjgd960zd0gbhpznisw3qw07mbdacbx226bw50nwa7y";
+       buildDepends = [ base bytestring containers deepseq text ];
+       description = "Profiling of data structures";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-spacepart" = callPackage
+    ({ mkDerivation, base, vector-space }:
+     mkDerivation {
+       pname = "data-spacepart";
+       version = "20090215.0";
+       sha256 = "0h6z4yibjbnzck2fvh9mnppz9j0lzgx8nzmzm08q5yzmzjydy3rk";
+       buildDepends = [ base vector-space ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/data-spacepart";
+       description = "Deprecated. Now called \"spacepart\". Space partitioning data structures.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-store" = callPackage
+    ({ mkDerivation, base, cereal, containers, deepseq, lens
+     , QuickCheck, safecopy, test-framework, test-framework-quickcheck2
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "data-store";
+       version = "0.3.0.7";
+       sha256 = "0cv02d3fwyyyxjv3519k9wilaagxlcn8m2nfifrcq0q0qihxd1bd";
+       buildDepends = [
+         base cereal containers deepseq lens safecopy transformers
+       ];
+       testDepends = [
+         base cereal containers deepseq lens QuickCheck safecopy
+         test-framework test-framework-quickcheck2 transformers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Palmik/data-store";
+       description = "Type safe, in-memory dictionary with multidimensional keys";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-stringmap" = callPackage
+    ({ mkDerivation, base, binary, containers, deepseq, ghc-heap-view
+     , HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "data-stringmap";
+       version = "1.0.1.1";
+       sha256 = "0djbky5m6hxr04jgxi2cq3fsivja32nzn16zs8ffqgadxw030pa1";
+       buildDepends = [ base binary containers deepseq ];
+       testDepends = [
+         base containers deepseq ghc-heap-view HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "An efficient implementation of maps from strings to arbitrary values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-structure-inferrer" = callPackage
+    ({ mkDerivation, alex, ansi-terminal, array, base, deepseq, derive
+     , directory, filepath, happy, language-c, mtl, random, safe
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "data-structure-inferrer";
+       version = "1.0";
+       sha256 = "0jkbysk1rmbkjvjizwx72h58amvnz4iyjbs0lcx6987m4fn456w9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal array base deepseq derive directory filepath
+         language-c mtl random safe utility-ht
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://github.com/alistra/data-structure-inferrer";
+       description = "Program that infers the fastest data structure available for your program";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "data-textual" = callPackage
+    ({ mkDerivation, base, bytestring, parsers, QuickCheck
+     , test-framework, test-framework-quickcheck2, text, text-latin1
+     , text-printer, type-hint
+     }:
+     mkDerivation {
+       pname = "data-textual";
+       version = "0.3.0.2";
+       sha256 = "0c4qs923dj4jnvvkjvbij0c1yg922iw66140cq6wb1m4h6q31ia4";
+       buildDepends = [
+         base bytestring parsers text text-latin1 text-printer
+       ];
+       testDepends = [
+         base parsers QuickCheck test-framework test-framework-quickcheck2
+         text-printer type-hint
+       ];
+       homepage = "https://github.com/mvv/data-textual";
+       description = "Human-friendly textual representations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-timeout" = callPackage
+    ({ mkDerivation, base, data-textual, parsers, tagged, text-printer
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "data-timeout";
+       version = "0.3";
+       sha256 = "1b6af2x19hb1kynsv7ypc2q6b71cazcg86gf1yhq0rr0fjj478ah";
+       buildDepends = [
+         base data-textual parsers tagged text-printer transformers-base
+       ];
+       homepage = "https://github.com/mvv/data-timeout";
+       description = "64-bit timeouts of nanosecond precision";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-transform" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "data-transform";
+       version = "0.1.0.0";
+       sha256 = "1mhcbwh4s414hq4cwljxxadazxfi382spfgkw38fz2xi08lbfsji";
+       buildDepends = [ base containers mtl ];
+       description = "Functions to transform data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-treify" = callPackage
+    ({ mkDerivation, base, containers, ty }:
+     mkDerivation {
+       pname = "data-treify";
+       version = "0.3.4";
+       sha256 = "03xchr2h0f54rlcq285xaq5bakjq13mbjwz3xi3kfa6i71rr2rk9";
+       buildDepends = [ base containers ty ];
+       homepage = "http://ittc.ku.edu/~andygill/data-reify.php";
+       description = "Reify a recursive data structure into an explicit graph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-type" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-type";
+       version = "0.1.0";
+       sha256 = "1x3wsnilp9sxy061sfmyyg0f6b0k2lxvi0g4qf2gkldrz32c4qvj";
+       buildDepends = [ base ];
+       description = "Basic type wrangling types and classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "data-util" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-util";
+       version = "0.4";
+       sha256 = "1ywp3h2zccknc2sr0b5zbf9ms2zph5qh8znswxc7bi5wynyk9z98";
+       buildDepends = [ base ];
+       homepage = "https://github.com/cutsea110/data-util";
+       description = "utilities for handle data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "data-variant" = callPackage
+    ({ mkDerivation, base, safe }:
+     mkDerivation {
+       pname = "data-variant";
+       version = "0.28.0.5";
+       sha256 = "11ia37q28xz8a87xkc8yyvqqd3qzfvcbdnp2caxdbzvdnjbazhmk";
+       buildDepends = [ base safe ];
+       homepage = "https://bitbucket.org/tdammers/data-variant";
+       description = "A variant data type, useful for modeling dynamically-typed programming languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "database-migrate" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers, directory
+     , either, filepath, lens, postgresql-simple, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "database-migrate";
+       version = "0.2.0";
+       sha256 = "1hhx3851yzgq7cf397sifdbnznk0sfqf3blflxfl50yq68rmwbzy";
+       buildDepends = [
+         base bytestring cmdargs containers directory either filepath lens
+         postgresql-simple text time transformers
+       ];
+       homepage = "https://github.com/markhibberd/database-migrate";
+       description = "Database versioning and migration (experimental)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "database-study" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "database-study";
+       version = "0.0.1";
+       sha256 = "1aqp7a46p758f1q99cn700mgc1dic896gpsih3vj2fmffqj42gd7";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       homepage = "http://dbs.informatik.uni-halle.de/Lehre/LP09/";
+       description = "Demonstrate how a database can be implemented the functional way";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dataenc" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "dataenc";
+       version = "0.14.0.7";
+       sha256 = "1wwgm7wakkz6v94lyxyd3yi21l3h28sss4xxdb3d770vmjhp1lzr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers ];
+       homepage = "http://www.haskell.org/haskellwiki/Library/Data_encoding";
+       description = "Data encoding library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dataflow" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "dataflow";
+       version = "0.3.1.0";
+       sha256 = "0rl396ll4m5vc6347d98bf7iyyvf7przgdsmh5l53qj7vl226fj6";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       description = "Generate Graphviz documents from a Haskell representation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "datalog" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hashable, haskeline
+     , HUnit, parsec, pretty, test-framework, test-framework-hunit, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "datalog";
+       version = "0.2.0.2";
+       sha256 = "1nfjmgf6j8a8602rmk7fg3kbkafiyd7lsnhvnwc95ms90icg0r86";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers exceptions hashable haskeline parsec pretty text
+         transformers unordered-containers vector
+       ];
+       testDepends = [
+         base containers hashable HUnit test-framework test-framework-hunit
+         text
+       ];
+       jailbreak = true;
+       description = "An implementation of datalog in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "datapacker" = callPackage
+    ({ mkDerivation, base, directory, filepath, hslogger, MissingH, mtl
+     , process, unix
+     }:
+     mkDerivation {
+       pname = "datapacker";
+       version = "1.0.1";
+       sha256 = "10fj1z4wbr76wfnp9h1jzyd8afzn495r6xvbjiw55bimy0hasalg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath hslogger MissingH mtl process unix
+       ];
+       homepage = "http://software.complete.org/datapacker";
+       description = "Tool to help pack files into the minimum number of CDs/DVDs/etc";
+       license = "GPL";
+     }) {};
+
+  "date-cache" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "date-cache";
+       version = "0.3.0";
+       sha256 = "0grhcbd0rhdn0cf1fz82x8pv8cmxfhndlcwyrax4mnnr3pql9kmb";
+       buildDepends = [ base bytestring ];
+       description = "Date cacher";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dates" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, parsec, syb, time }:
+     mkDerivation {
+       pname = "dates";
+       version = "0.2.2.0";
+       sha256 = "08d90fii0nmvmfxhhw4k5ja13jyxg79n527089lrc2r31l3wj40a";
+       buildDepends = [ base base-unicode-symbols parsec syb time ];
+       jailbreak = true;
+       homepage = "http://redmine.iportnov.ru/projects/dates/";
+       description = "Small library for parsing different dates formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "datetime" = callPackage
+    ({ mkDerivation, base, old-locale, old-time, QuickCheck, time }:
+     mkDerivation {
+       pname = "datetime";
+       version = "0.2.1";
+       sha256 = "1yfg3wvi13r725dhfsmcdw4ns3cgl2ayrb5jck0q8b4crk2dlrzg";
+       buildDepends = [ base old-locale old-time QuickCheck time ];
+       homepage = "http://github.com/esessoms/datetime";
+       description = "Utilities to make Data.Time.* easier to use.";
+       license = "GPL";
+     }) {};
+
+  "dawg" = callPackage
+    ({ mkDerivation, base, binary, containers, mtl, transformers
+     , vector, vector-binary
+     }:
+     mkDerivation {
+       pname = "dawg";
+       version = "0.11";
+       sha256 = "0xvkw5hp66r46v59ld0s7yi2jzvlcc4vc8ignadai9vqxayzm799";
+       buildDepends = [
+         base binary containers mtl transformers vector vector-binary
+       ];
+       homepage = "https://github.com/kawu/dawg";
+       description = "Directed acyclic word graphs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dbf" = callPackage
+    ({ mkDerivation, base, binary, bytestring, monad-loops, rwlock }:
+     mkDerivation {
+       pname = "dbf";
+       version = "0.0.0.2";
+       sha256 = "1pay47bbmxvishmczs3kgn19nzkfmmip3m51h4zlwydm5kxfc5n2";
+       buildDepends = [ base binary bytestring monad-loops rwlock ];
+       homepage = "http://code.haskell.org/~mokus/dbf";
+       description = "Read and write XBase \".dbf\" files";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "dbjava" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskell98, process
+     , uulib
+     }:
+     mkDerivation {
+       pname = "dbjava";
+       version = "1.7";
+       sha256 = "06xz0a38sjjr64sz19lg0wzb73yz1msdlbg5s02ldd8n4b9yjk5f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring haskell98 process uulib ];
+       homepage = "http://devel.comunidadhaskell.org/dbjava/";
+       description = "Decompiler Bytecode Java";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dbmigrations" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, containers
+     , directory, fgl, filepath, HDBC, HDBC-postgresql, HDBC-sqlite3
+     , HUnit, mtl, process, random, template-haskell, text, time
+     , yaml-light
+     }:
+     mkDerivation {
+       pname = "dbmigrations";
+       version = "0.8.2";
+       sha256 = "031ibk22iyqzbkc6cy5ab5kmbhk68k5217szpw50vdp646rya21w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring configurator containers directory fgl filepath HDBC
+         HDBC-postgresql HDBC-sqlite3 mtl random template-haskell text time
+         yaml-light
+       ];
+       testDepends = [
+         base bytestring containers directory fgl filepath HDBC
+         HDBC-postgresql HDBC-sqlite3 HUnit mtl process template-haskell
+         time yaml-light
+       ];
+       description = "An implementation of relational database \"migrations\"";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dbus" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, chell, chell-quickcheck
+     , containers, directory, filepath, libxml-sax, network, parsec
+     , process, QuickCheck, random, text, transformers, unix, vector
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "dbus";
+       version = "0.10.10";
+       sha256 = "0s14yb2bbi5n9m3xkznm4nbb0hpj9hmiwl0ppqqiml5s7xhwas6d";
+       buildDepends = [
+         base bytestring cereal containers libxml-sax network parsec random
+         text transformers unix vector xml-types
+       ];
+       testDepends = [
+         base bytestring cereal chell chell-quickcheck containers directory
+         filepath libxml-sax network parsec process QuickCheck random text
+         transformers unix vector xml-types
+       ];
+       homepage = "https://john-millikin.com/software/haskell-dbus/";
+       description = "A client library for the D-Bus IPC system";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "dbus-client" = callPackage
+    ({ mkDerivation, base, containers, dbus-core, monads-tf, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "dbus-client";
+       version = "0.4.1";
+       sha256 = "0z7061kafjzd4jaws4xcp1xzh2kx559bgp7cmcjq55mbxr1rrsjq";
+       buildDepends = [
+         base containers dbus-core monads-tf text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://john-millikin.com/software/haskell-dbus/";
+       description = "Monadic and object-oriented interfaces to DBus";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dbus-core" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , data-binary-ieee754, libxml-sax, network, parsec, text, unix
+     , vector, xml-types
+     }:
+     mkDerivation {
+       pname = "dbus-core";
+       version = "0.9.3";
+       sha256 = "110373yinimq0k7hl8wkk7g4hm3hj563dpa2y8ag2lpl9yydzgfa";
+       buildDepends = [
+         base binary bytestring containers data-binary-ieee754 libxml-sax
+         network parsec text unix vector xml-types
+       ];
+       jailbreak = true;
+       homepage = "https://john-millikin.com/software/dbus-core/";
+       description = "Low-level D-Bus protocol implementation";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "dbus-qq" = callPackage
+    ({ mkDerivation, base, containers, dbus, parsec, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "dbus-qq";
+       version = "0.1.0";
+       sha256 = "0dg03nv7bsjydywhby0rv1a6jc90gf2885djxd8pb9aly2ncpjxx";
+       buildDepends = [ base containers dbus parsec template-haskell ];
+       testDepends = [ base containers dbus QuickCheck ];
+       jailbreak = true;
+       description = "Quasi-quoter for DBus functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dbus-th" = callPackage
+    ({ mkDerivation, base, containers, dbus, syb, template-haskell
+     , text
+     }:
+     mkDerivation {
+       pname = "dbus-th";
+       version = "0.1.1.1";
+       sha256 = "0sxk7m8fdd7cx0n0lbcfz2bv28d0i8v0im50y1sciac7pi13q4bc";
+       buildDepends = [ base containers dbus syb template-haskell text ];
+       description = "TemplateHaskell generator of DBus bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dclabel" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, QuickCheck
+     , quickcheck-instances, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "dclabel";
+       version = "0.9.0.0";
+       sha256 = "0bnbqbjpbx98wjgsz7kgr5znljbwhd6lsb8m9ky7dmzqygzybvir";
+       buildDepends = [ base bytestring cereal containers ];
+       testDepends = [
+         base bytestring cereal containers QuickCheck quickcheck-instances
+         test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "This packge is deprecated. See the the \"LIO.DCLabel\" in the \"lio\" package.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dclabel-eci11" = callPackage
+    ({ mkDerivation, base, pretty, QuickCheck }:
+     mkDerivation {
+       pname = "dclabel-eci11";
+       version = "0.3";
+       sha256 = "1bfc9ip4fqzjzlzppkrnspnm6gc50f4rkf0wngnxyj7f79fvjr6k";
+       buildDepends = [ base pretty QuickCheck ];
+       description = "The Disjunction Category Label Format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ddc-base" = callPackage
+    ({ mkDerivation, base, containers, deepseq, parsec, transformers
+     , wl-pprint
+     }:
+     mkDerivation {
+       pname = "ddc-base";
+       version = "0.4.1.3";
+       sha256 = "1v3qkvfcajr8ljnrkmdpkhp6069b54fg168ryknq4b7rkl4piqfm";
+       buildDepends = [
+         base containers deepseq parsec transformers wl-pprint
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler common utilities";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-build" = callPackage
+    ({ mkDerivation, base, containers, ddc-base, ddc-core
+     , ddc-core-eval, ddc-core-flow, ddc-core-llvm, ddc-core-salt
+     , ddc-core-simpl, ddc-core-tetra, ddc-source-tetra, deepseq
+     , directory, filepath, mtl, process
+     }:
+     mkDerivation {
+       pname = "ddc-build";
+       version = "0.4.1.3";
+       sha256 = "15bjdr9g48p1ahga9qc1cgfbpr89551yaqx9psa44da0vy468fjs";
+       buildDepends = [
+         base containers ddc-base ddc-core ddc-core-eval ddc-core-flow
+         ddc-core-llvm ddc-core-salt ddc-core-simpl ddc-core-tetra
+         ddc-source-tetra deepseq directory filepath mtl process
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler build framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-code" = callPackage
+    ({ mkDerivation, base, filepath }:
+     mkDerivation {
+       pname = "ddc-code";
+       version = "0.4.1.3";
+       sha256 = "1m904n1s2cszakjrlz81y1gplrgfv3np2ja0m6fapj9c2yyfmg6r";
+       buildDepends = [ base filepath ];
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler base libraries";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-core" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, deepseq
+     , directory, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-core";
+       version = "0.4.1.3";
+       sha256 = "15a51cgk3pqsbmy6hv0jrf8ldxmb0kvzd0pwkqa6141phk2g1dd5";
+       buildDepends = [
+         array base containers ddc-base deepseq directory mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler core language and type checker";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-core-eval" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, ddc-core
+     , deepseq, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-core-eval";
+       version = "0.4.1.3";
+       sha256 = "0s11wzl75fa4pnjclgqdvymddk8srpknvpf6p3vkm2b09y0fryxd";
+       buildDepends = [
+         array base containers ddc-base ddc-core deepseq mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler semantic evaluator for the core language";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-core-flow" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, ddc-core
+     , ddc-core-salt, ddc-core-simpl, deepseq, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-core-flow";
+       version = "0.4.1.3";
+       sha256 = "1szy9x5pc2l5ib8sbkajj6i7nfb46ypgi655wy0jrcnp7m2q22fy";
+       buildDepends = [
+         array base containers ddc-base ddc-core ddc-core-salt
+         ddc-core-simpl deepseq mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler data flow compiler";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-core-llvm" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, ddc-core
+     , ddc-core-salt, ddc-core-simpl, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-core-llvm";
+       version = "0.4.1.3";
+       sha256 = "0f0cby09lqhvw5ajm6q25qg57qbb4h3qvqwv30bzl6kw0884lkb5";
+       buildDepends = [
+         array base containers ddc-base ddc-core ddc-core-salt
+         ddc-core-simpl mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler LLVM code generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-core-salt" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, ddc-core
+     , deepseq, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-core-salt";
+       version = "0.4.1.3";
+       sha256 = "18cywxp3zp6aafpq8si1vvqy7lywwl31mdp58asyzcwi1g1v7y7q";
+       buildDepends = [
+         array base containers ddc-base ddc-core deepseq mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler C code generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-core-simpl" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, ddc-core
+     , deepseq, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-core-simpl";
+       version = "0.4.1.3";
+       sha256 = "0y3rxcl2h6dqmy367zfri1r21flcbygvrpa7sj8cr8gh128xwbbz";
+       buildDepends = [
+         array base containers ddc-base ddc-core deepseq mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler code transformations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-core-tetra" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, ddc-core
+     , ddc-core-salt, ddc-core-simpl, deepseq, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-core-tetra";
+       version = "0.4.1.3";
+       sha256 = "01ax5dirrf8jk03316dw1cnrs9fl5qlm8k07nb0rzxwybm3wqdv2";
+       buildDepends = [
+         array base containers ddc-base ddc-core ddc-core-salt
+         ddc-core-simpl deepseq mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler intermediate language";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-driver" = callPackage
+    ({ mkDerivation, base, containers, ddc-base, ddc-build, ddc-core
+     , ddc-core-eval, ddc-core-flow, ddc-core-llvm, ddc-core-salt
+     , ddc-core-simpl, ddc-core-tetra, ddc-interface, ddc-source-tetra
+     , deepseq, directory, filepath, mtl, process, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-driver";
+       version = "0.4.1.3";
+       sha256 = "0iyvmifnj05v9r2sh867dm2vgm8hijsxf6bmzrksj1kcs36qwrrk";
+       buildDepends = [
+         base containers ddc-base ddc-build ddc-core ddc-core-eval
+         ddc-core-flow ddc-core-llvm ddc-core-salt ddc-core-simpl
+         ddc-core-tetra ddc-interface ddc-source-tetra deepseq directory
+         filepath mtl process transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler top-level driver";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-interface" = callPackage
+    ({ mkDerivation, base, containers, ddc-base, directory }:
+     mkDerivation {
+       pname = "ddc-interface";
+       version = "0.4.1.3";
+       sha256 = "0pbsnxzlbx9xblqf9199wrl80aard59l3193gm8gzxx7ispfhs3f";
+       buildDepends = [ base containers ddc-base directory ];
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler user interface support";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-source-tetra" = callPackage
+    ({ mkDerivation, array, base, containers, ddc-base, ddc-core
+     , ddc-core-salt, ddc-core-tetra, deepseq, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-source-tetra";
+       version = "0.4.1.3";
+       sha256 = "088lsavx4fhyxyxzxd4vj1880j19r4l4fvlb4dly42mbyfrg5jrs";
+       buildDepends = [
+         array base containers ddc-base ddc-core ddc-core-salt
+         ddc-core-tetra deepseq mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler source language";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddc-tools" = callPackage
+    ({ mkDerivation, base, containers, ddc-base, ddc-build, ddc-code
+     , ddc-core, ddc-core-eval, ddc-core-flow, ddc-core-llvm
+     , ddc-core-salt, ddc-core-simpl, ddc-core-tetra, ddc-driver
+     , ddc-interface, ddc-source-tetra, directory, filepath, haskeline
+     , mtl, process, transformers
+     }:
+     mkDerivation {
+       pname = "ddc-tools";
+       version = "0.4.1.3";
+       sha256 = "1hg6hajqrb7sf8bvr27cabdxalwvkw8lm2igsx05p9wq4bpirz62";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers ddc-base ddc-build ddc-code ddc-core ddc-core-eval
+         ddc-core-flow ddc-core-llvm ddc-core-salt ddc-core-simpl
+         ddc-core-tetra ddc-driver ddc-interface ddc-source-tetra directory
+         filepath haskeline mtl process transformers
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler command line tools";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ddc-war" = callPackage
+    ({ mkDerivation, base, buildbox, containers, directory, filepath
+     , process, random, stm
+     }:
+     mkDerivation {
+       pname = "ddc-war";
+       version = "0.4.1.3";
+       sha256 = "0y9h4z1drgwgmw9wjf8ga2kiagmfgppdy29l9cz0j4rjz3mm302y";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base buildbox containers directory filepath process random stm
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciplined Disciple Compiler test driver and buildbot";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ddci-core" = callPackage
+    ({ mkDerivation, base, containers, ddc-base, ddc-core
+     , ddc-core-eval, ddc-core-simpl, haskeline, haskell-src-exts
+     }:
+     mkDerivation {
+       pname = "ddci-core";
+       version = "0.2.1.2";
+       sha256 = "1w4kcqivphc9gmj4xnkqx2hbzd3cmssww5hqgja1kh0b03q026w0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers ddc-base ddc-core ddc-core-eval ddc-core-simpl
+         haskeline haskell-src-exts
+       ];
+       jailbreak = true;
+       homepage = "http://disciple.ouroborus.net";
+       description = "Disciple Core language interactive interpreter";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dead-simple-json" = callPackage
+    ({ mkDerivation, base, containers, parsec, template-haskell
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "dead-simple-json";
+       version = "0.1.2";
+       sha256 = "10wp97pxhkvlk3lhknvsnwkl9p7lm1v7y1wk0nn55q68jx1b5zpr";
+       buildDepends = [
+         base containers parsec template-haskell transformers vector
+       ];
+       homepage = "http://hub.darcs.net/scravy/dead-simple-json";
+       description = "Dead simple JSON parser, with some Template Haskell sugar";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "debian" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib, containers, directory
+     , either, exceptions, filepath, HaXml, HUnit, ListLike, mtl
+     , network, network-uri, old-locale, parsec, pretty, prettyclass
+     , process, process-extras, pureMD5, regex-compat, regex-tdfa
+     , template-haskell, text, time, unix, Unixutils, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "debian";
+       version = "3.87.2";
+       sha256 = "135f0szbnn8xp5zzfmlqcpmsrswahgc4rlgviyznfx6c4j7hg519";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bzlib containers directory either exceptions
+         filepath HaXml HUnit ListLike mtl network network-uri old-locale
+         parsec pretty prettyclass process process-extras pureMD5
+         regex-compat regex-tdfa template-haskell text time unix Unixutils
+         utf8-string zlib
+       ];
+       testDepends = [
+         base HUnit parsec pretty prettyclass regex-tdfa text
+       ];
+       homepage = "https://github.com/ddssff/debian-haskell";
+       description = "Modules for working with the Debian package system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "debian-binary" = callPackage
+    ({ mkDerivation, base, directory, filepath, HSH }:
+     mkDerivation {
+       pname = "debian-binary";
+       version = "0.0.1";
+       sha256 = "0k6blaq1p2phydl4pqlqg6kdicrfjhm6h27svws7dq8di3y274fq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath HSH ];
+       description = "Utilities to work with debian binary packages";
+       license = "unknown";
+     }) {};
+
+  "debian-build" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, process, split
+     , transformers
+     }:
+     mkDerivation {
+       pname = "debian-build";
+       version = "0.7.1.0";
+       sha256 = "0hzvv6aazpf7r75yygcqy1ldz3j9shs6spv71nzn040rny67cdll";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory filepath process split transformers
+       ];
+       homepage = "http://twitter.com/khibino/";
+       description = "Debian package build sequence tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "debug-diff" = callPackage
+    ({ mkDerivation, base, groom, process, temporary }:
+     mkDerivation {
+       pname = "debug-diff";
+       version = "0.1";
+       sha256 = "19k9f92pjh52qnr31l0468hn2klkb8wszs7azwczvxzg8aq7krld";
+       buildDepends = [ base groom process temporary ];
+       description = "Display a colorized diff between two Haskell values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "decepticons" = callPackage
+    ({ mkDerivation, base, comonad-transformers }:
+     mkDerivation {
+       pname = "decepticons";
+       version = "0.1.0.0";
+       sha256 = "1fnp2c2rdpihvxm5j22z1mrf8pnpcnasvfsrlg7lvg5m76md7k3v";
+       buildDepends = [ base comonad-transformers ];
+       jailbreak = true;
+       description = "The categorical dual of transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "decoder-conduit" = callPackage
+    ({ mkDerivation, base, binary, bytestring, conduit }:
+     mkDerivation {
+       pname = "decoder-conduit";
+       version = "0.0.1.1";
+       sha256 = "0z5krcl4xd385f7v2bsnfyr7zidqwfjvc6b432gbbn2vcrx966c7";
+       buildDepends = [ base binary bytestring conduit ];
+       jailbreak = true;
+       homepage = "https://github.com/hansonkd/decoder-conduit";
+       description = "Conduit for decoding ByteStrings using Data.Binary.Get";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dedukti" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , haskell-src-exts, haskell-src-exts-qq, hmk, mtl, parsec, process
+     , Stream, stringtable-atom, time, unix, wl-pprint
+     }:
+     mkDerivation {
+       pname = "dedukti";
+       version = "1.1.4";
+       sha256 = "0b7328529m3xl8bj7sncv5rr13ld2aghgqkf55j4n15jagv6g72d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath haskell-src-exts
+         haskell-src-exts-qq hmk mtl parsec process Stream stringtable-atom
+         time unix wl-pprint
+       ];
+       jailbreak = true;
+       homepage = "http://www.lix.polytechnique.fr/dedukti";
+       description = "A type-checker for the λΠ-modulo calculus";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "deeplearning-hs" = callPackage
+    ({ mkDerivation, accelerate, base, mtl, QuickCheck, repa
+     , repa-algorithms, test-framework, test-framework-quickcheck2
+     , vector
+     }:
+     mkDerivation {
+       pname = "deeplearning-hs";
+       version = "0.1.0.2";
+       sha256 = "1cw29xisgykb20qv3jkpcpaiijicyzkfsgglrsbx1admfzbqv98d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ accelerate base mtl repa repa-algorithms vector ];
+       testDepends = [
+         accelerate base mtl QuickCheck repa repa-algorithms test-framework
+         test-framework-quickcheck2 vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ajtulloch/deeplearning-hs";
+       description = "Deep Learning in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "deepseq_1_3_0_1" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "deepseq";
+       version = "1.3.0.1";
+       sha256 = "068zka6rwprbzpx7yisi1ajsxdly23zaf2vjklx1wp66yypx54lp";
+       buildDepends = [ array base ];
+       jailbreak = true;
+       description = "Deep evaluation of data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "deepseq_1_4_1_1" = callPackage
+    ({ mkDerivation, array, base, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "deepseq";
+       version = "1.4.1.1";
+       sha256 = "1gxk6bdqfplvq0lma2sjcxl8ibix5k60g71dncpvwsmc63mmi0ch";
+       buildDepends = [ array base ];
+       testDepends = [
+         array base HUnit test-framework test-framework-hunit
+       ];
+       description = "Deep evaluation of data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "deepseq-bounded" = callPackage
+    ({ mkDerivation, array, base, cpphs, deepseq, deepseq-generics
+     , generics-sop, ghc-prim, HUnit, mtl, parallel, random, syb
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "deepseq-bounded";
+       version = "0.8.0.0";
+       sha256 = "192hqyidgbrsig2yx7x9vdx180w1jfcqxsgg4wslwfwj7d3sa81f";
+       buildDepends = [
+         array base cpphs deepseq deepseq-generics generics-sop mtl parallel
+         random syb
+       ];
+       testDepends = [
+         base cpphs deepseq deepseq-generics generics-sop ghc-prim HUnit
+         parallel random syb template-haskell
+       ];
+       homepage = "http://fremissant.net/deepseq-bounded";
+       description = "Bounded deepseq, including support for generic deriving";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "deepseq-generics" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "deepseq-generics";
+       version = "0.1.1.2";
+       revision = "1";
+       sha256 = "01pvigx8n9p8hwbzp2qiq6kzf7cxiam843jz2sjgliacmmp1v7l3";
+       editedCabalFile = "3f52867fe9267876504d8ce20c77dcfb2ac6613af8c915017859b6022d3cc9fd";
+       buildDepends = [ base deepseq ghc-prim ];
+       testDepends = [
+         base deepseq ghc-prim HUnit test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/hvr/deepseq-generics";
+       description = "GHC.Generics-based Control.DeepSeq.rnf implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "deepseq-magic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "deepseq-magic";
+       version = "1.0.0.3";
+       sha256 = "15nisjmhcfippz153b8l8f291halkgbrync5c2v6xwkh07ibn7yp";
+       buildDepends = [ base ];
+       homepage = "https://github.com/ezyang/deepseq-magic";
+       description = "Deep evaluation of data structures without NFData";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "deepseq-th" = callPackage
+    ({ mkDerivation, base, deepseq, template-haskell }:
+     mkDerivation {
+       pname = "deepseq-th";
+       version = "0.1.0.4";
+       sha256 = "12wk8higrp12b22zzz1b4ar1q5h7flk22bp2rvswsqri2zkbi965";
+       buildDepends = [ base deepseq template-haskell ];
+       testDepends = [ base deepseq template-haskell ];
+       jailbreak = true;
+       description = "Template Haskell based deriver for optimised NFData instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "deepzoom" = callPackage
+    ({ mkDerivation, base, directory, filepath, hsmagick }:
+     mkDerivation {
+       pname = "deepzoom";
+       version = "0.1";
+       sha256 = "1hisk6yfq4182ak7d1mi1kmnwwlcl8w7gwc8wqkq4l8m3zfyij8k";
+       buildDepends = [ base directory filepath hsmagick ];
+       description = "A DeepZoom image slicer. Only known to work on 32bit Linux";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "defargs" = callPackage
+    ({ mkDerivation, base, cluss }:
+     mkDerivation {
+       pname = "defargs";
+       version = "0.3";
+       sha256 = "1rz37w83awji034spyv4cnfbqb6r98r1bbvzh2i979qh5c5s6ckg";
+       buildDepends = [ base cluss ];
+       homepage = "https://github.com/Kinokkory/defargs";
+       description = "default arguments in haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "definitive-base" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , ghc-prim, GLURaw, OpenGL, OpenGLRaw, primitive, vector
+     }:
+     mkDerivation {
+       pname = "definitive-base";
+       version = "2.3";
+       sha256 = "126ln7k6k188xjnig60ksc425fp3hql5znb98h5c1w157jgg0sw9";
+       buildDepends = [
+         array base bytestring containers deepseq ghc-prim GLURaw OpenGL
+         OpenGLRaw primitive vector
+       ];
+       jailbreak = true;
+       homepage = "http://coiffier.net/projects/definitive-framework.html";
+       description = "The base modules of the Definitive framework";
+       license = "unknown";
+     }) {};
+
+  "definitive-filesystem" = callPackage
+    ({ mkDerivation, array, base, bytestring, clock, containers
+     , deepseq, definitive-base, definitive-reactive, directory
+     , filepath, old-locale, primitive, time, unix, vector
+     }:
+     mkDerivation {
+       pname = "definitive-filesystem";
+       version = "1.2";
+       revision = "1";
+       sha256 = "0bc098igiqzbm25bjaxdxm4jq17kc8bgz1ab0pgm0h5jvy1bf8id";
+       editedCabalFile = "3a78d4d8aaa291ca95d889b62a979c4132bbe6f91073ab2bd9fdb0d55ed63121";
+       buildDepends = [
+         array base bytestring clock containers deepseq definitive-base
+         definitive-reactive directory filepath old-locale primitive time
+         unix vector
+       ];
+       jailbreak = true;
+       homepage = "http://coiffier.net/projects/definitive-framework.html";
+       description = "A library that enable you to interact with the filesystem in a definitive way";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "definitive-graphics" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, clock, containers
+     , cpu, deepseq, definitive-base, definitive-parser
+     , definitive-reactive, GLFW, JuicyPixels, mtl, primitive
+     , stb-truetype, transformers, utf8-string, vector, zlib
+     }:
+     mkDerivation {
+       pname = "definitive-graphics";
+       version = "1.2";
+       revision = "1";
+       sha256 = "0ah19j2al9l6pbin821rsicidmg3rd4cc74r8qw095773sa98zyr";
+       editedCabalFile = "a6d867ea8098390daff40c088c81f854ca054f9a0c8b097f9194be329416baed";
+       buildDepends = [
+         array base binary bytestring clock containers cpu deepseq
+         definitive-base definitive-parser definitive-reactive GLFW
+         JuicyPixels mtl primitive stb-truetype transformers utf8-string
+         vector zlib
+       ];
+       jailbreak = true;
+       homepage = "http://coiffier.net/projects/definitive-framework.html";
+       description = "A definitive package allowing you to open windows, read image files and render text to be displayed or saved";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "definitive-parser" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, cpu, deepseq
+     , definitive-base, ghc-prim, GLURaw, OpenGL, OpenGLRaw, primitive
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "definitive-parser";
+       version = "2.1";
+       sha256 = "0sl77xgk7vjn69mx89k4f3yviz821mg01fga0klqplcccbkzknmh";
+       buildDepends = [
+         array base bytestring containers cpu deepseq definitive-base
+         ghc-prim GLURaw OpenGL OpenGLRaw primitive utf8-string vector
+       ];
+       jailbreak = true;
+       homepage = "http://coiffier.net/projects/definitive-framework.html";
+       description = "A parser combinator library for the Definitive framework";
+       license = "unknown";
+     }) {};
+
+  "definitive-reactive" = callPackage
+    ({ mkDerivation, array, base, bytestring, clock, containers
+     , deepseq, definitive-base, primitive, vector
+     }:
+     mkDerivation {
+       pname = "definitive-reactive";
+       version = "1.0";
+       revision = "1";
+       sha256 = "0gk39602k5yjxxgpd725dnvqhlcnaqgds7g0c8v1h509lc0d7xm3";
+       editedCabalFile = "8c3c6afcc4ce7569ede32c8006d1d66fb10448321159f875d1dec03419bd7797";
+       buildDepends = [
+         array base bytestring clock containers deepseq definitive-base
+         primitive vector
+       ];
+       jailbreak = true;
+       homepage = "http://coiffier.net/projects/definitive-framework.html";
+       description = "A simple Reactive library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "definitive-sound" = callPackage
+    ({ mkDerivation, alsa-core, alsa-pcm, array, base, bytestring
+     , clock, containers, deepseq, definitive-base, primitive
+     , sample-frame, storable-record, vector
+     }:
+     mkDerivation {
+       pname = "definitive-sound";
+       version = "1.0";
+       revision = "1";
+       sha256 = "01k4h7av4fhp4xchrcbnc1gnnbsh5ngasq55l16n3l438pr73vzj";
+       editedCabalFile = "1491f0a01f47b84ea8f01a94492738a7f3b5fe7c68c805cca8701926cc443d71";
+       buildDepends = [
+         alsa-core alsa-pcm array base bytestring clock containers deepseq
+         definitive-base primitive sample-frame storable-record vector
+       ];
+       jailbreak = true;
+       homepage = "http://coiffier.net/projects/definitive-framework.html";
+       description = "A definitive package to handle sound and play it back";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "deiko-config" = callPackage
+    ({ mkDerivation, array, base, containers, exceptions, mtl, parsec
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "deiko-config";
+       version = "0.5.0.0";
+       sha256 = "0zhi173mm905aqh52fsw1c9y3hxk07yc1g2s0rrjr75cdl7ssljy";
+       buildDepends = [
+         array base containers exceptions mtl parsec text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/YoEight/deiko-config";
+       description = "Small and typesafe configuration library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "deka" = callPackage
+    ({ mkDerivation, base, bytestring, mpdec, parsec, transformers }:
+     mkDerivation {
+       pname = "deka";
+       version = "0.6.0.2";
+       sha256 = "1l23b5v0wjg72vlnyxa87v3j2dxbld536ws8j03ddcwgqgws1fj4";
+       buildDepends = [ base bytestring parsec transformers ];
+       extraLibraries = [ mpdec ];
+       homepage = "https://github.com/massysett/deka";
+       description = "Decimal floating point arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { mpdec = null;};
+
+  "deka-tests" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deka, parsec, pipes
+     , QuickCheck, quickpull, transformers
+     }:
+     mkDerivation {
+       pname = "deka-tests";
+       version = "0.6.0.2";
+       sha256 = "08226vca64v8brcgci8a3s5fnf4qy8g9drk3lzzd0dq6g8yvypy9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers deka parsec pipes QuickCheck
+         transformers
+       ];
+       testDepends = [ base bytestring deka QuickCheck quickpull ];
+       jailbreak = true;
+       homepage = "https://github.com/massysett/deka";
+       description = "Tests for deka, decimal floating point arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "delaunay" = callPackage
+    ({ mkDerivation, AC-Vector, base, hashable, HUnit, QuickCheck
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "delaunay";
+       version = "0.1.0.2";
+       sha256 = "145a220kv3fk2lk6jpvqmmhwmbgiqzkcbsi5hynsg196chydxgvd";
+       buildDepends = [ AC-Vector base hashable unordered-containers ];
+       testDepends = [ AC-Vector base HUnit QuickCheck ];
+       homepage = "http://github.com/mruegenberg/Delaunay";
+       description = "Build a Delaunay triangulation of a set of points";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "delicious" = callPackage
+    ({ mkDerivation, base, bytestring, curl, feed, json, nano-md5, xml
+     }:
+     mkDerivation {
+       pname = "delicious";
+       version = "0.3.4";
+       sha256 = "1dx2y2ggzcwcjs618jmg21342pcd0maqx8pj2hwv80zq6f5v0c50";
+       buildDepends = [ base bytestring curl feed json nano-md5 xml ];
+       homepage = "https://github.com/sof/delicious";
+       description = "Accessing the del.icio.us APIs from Haskell (v2)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "delimited-text" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring
+     , bytestring-show
+     }:
+     mkDerivation {
+       pname = "delimited-text";
+       version = "0.3.0";
+       sha256 = "0mn6sv4nm3wbzq5cc9s9kb3xbm9jd5i059xr6qr9mqxa18j78c05";
+       buildDepends = [
+         attoparsec base binary bytestring bytestring-show
+       ];
+       homepage = "http://space.k-hornz.de/software/delimited-text";
+       description = "Parse character delimited textual data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "delta-h" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, monad-atom
+     , nlp-scores, text
+     }:
+     mkDerivation {
+       pname = "delta-h";
+       version = "0.0.3";
+       sha256 = "0ya0hgvpa9w41gswngg84yxhvll3fyr6b3h56p80yc5bldw700wg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers monad-atom nlp-scores text
+       ];
+       homepage = "https://bitbucket.org/gchrupala/delta-h";
+       description = "Online entropy-based model of lexical category acquisition";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "demarcate" = callPackage
+    ({ mkDerivation, base, free, hspec, transformers }:
+     mkDerivation {
+       pname = "demarcate";
+       version = "0.1.0";
+       sha256 = "130yk7461rwmjgzivsya10xzh0d0ca8pfkxh7fpll239r7xlbds3";
+       buildDepends = [ base free transformers ];
+       testDepends = [ base hspec ];
+       homepage = "https://github.com/fizruk/demarcate";
+       description = "Demarcating transformed monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "denominate" = callPackage
+    ({ mkDerivation, base, directory, filepath }:
+     mkDerivation {
+       pname = "denominate";
+       version = "0.5.0";
+       sha256 = "06jdr1236wlsmapwn6hdmjl41qlig7ck541lynyds0qd6ymcb9k1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath ];
+       jailbreak = true;
+       homepage = "http://protempore.net/denominate/";
+       description = "Functions supporting bulk file and directory name normalization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dependent-map" = callPackage
+    ({ mkDerivation, base, containers, dependent-sum }:
+     mkDerivation {
+       pname = "dependent-map";
+       version = "0.1.1.3";
+       sha256 = "1by83rrv8dfn5lxrpx3qzs1lg31fhnzlqy979h8ampyxd0w93pa4";
+       buildDepends = [ base containers dependent-sum ];
+       homepage = "https://github.com/mokus0/dependent-map";
+       description = "Dependent finite maps (partial dependent products)";
+       license = "unknown";
+     }) {};
+
+  "dependent-sum" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "dependent-sum";
+       version = "0.2.1.0";
+       sha256 = "1h6wsrh206k6q3jcfdxvlsswbm47x30psp6x30l2z0j9jyf7jpl3";
+       buildDepends = [ base ];
+       homepage = "https://github.com/mokus0/dependent-sum";
+       description = "Dependent sum type";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "dependent-sum-template" = callPackage
+    ({ mkDerivation, base, dependent-sum, template-haskell, th-extras
+     }:
+     mkDerivation {
+       pname = "dependent-sum-template";
+       version = "0.0.0.1";
+       sha256 = "16p6ckl6ml8lgy42mvivnqphfd73cg8chms3fxid66gv4fif68zl";
+       buildDepends = [ base dependent-sum template-haskell th-extras ];
+       homepage = "/dev/null";
+       description = "Template Haskell code to generate instances of classes in dependent-sum package";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "depends" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hspec
+     , process, QuickCheck, transformers, yaml-config
+     }:
+     mkDerivation {
+       pname = "depends";
+       version = "0.0.1";
+       sha256 = "0y43bhxx5s4v72gc0y1cwfy2h4hyz9x5cab2fbkd7rvj5wn4w4gq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath process transformers yaml-config
+       ];
+       testDepends = [
+         base containers directory filepath hspec process QuickCheck
+         transformers yaml-config
+       ];
+       description = "A simple configuration management tool for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dephd" = callPackage
+    ({ mkDerivation, base, bio, bytestring, cmdargs, directory, process
+     , regex-compat
+     }:
+     mkDerivation {
+       pname = "dephd";
+       version = "0.1.6";
+       sha256 = "0qgqlnj7wkmjba5f2rql51g9jhak0ksx3xdmr25j3p6qwb43k5ih";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bio bytestring cmdargs directory process regex-compat
+       ];
+       homepage = "http://malde.org/~ketil/biohaskell/dephd";
+       description = "Analyze quality of nucleotide sequences";
+       license = "GPL";
+     }) {};
+
+  "dequeue" = callPackage
+    ({ mkDerivation, base, QuickCheck, safe }:
+     mkDerivation {
+       pname = "dequeue";
+       version = "0.1.5";
+       sha256 = "1z4c3hyk1lbjqm5is1d9qb6sxwv8i870ph7n2h51r631mhxbdnxl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base QuickCheck safe ];
+       description = "A typeclass and an implementation for double-ended queues";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "derangement" = callPackage
+    ({ mkDerivation, base, fgl }:
+     mkDerivation {
+       pname = "derangement";
+       version = "0.1.0";
+       sha256 = "13w257bndjpaz7fiz4g2w4v2bmlch07ay5pxxv5ifc4llh665ch0";
+       buildDepends = [ base fgl ];
+       description = "Find derangements of lists";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "derivation-trees" = callPackage
+    ({ mkDerivation, applicative-extras, base, labeled-tree, mtl }:
+     mkDerivation {
+       pname = "derivation-trees";
+       version = "0.7.3";
+       sha256 = "05f77vkqzia91rywkg68ad24j98a7h9aqkd0568x2zmqcndzbisy";
+       buildDepends = [ applicative-extras base labeled-tree mtl ];
+       jailbreak = true;
+       description = "Typeset Derivation Trees via MetaPost";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "derive" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , haskell-src-exts, pretty, process, syb, template-haskell
+     , transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "derive";
+       version = "2.5.22";
+       sha256 = "0g2grz9y23n8g4wwjinx5cc70aawswl84i3njgj6l1fl29fk1yf2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath haskell-src-exts
+         pretty process syb template-haskell transformers uniplate
+       ];
+       homepage = "https://github.com/ndmitchell/derive#readme";
+       description = "A program and library to derive instances for data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "derive-IG" = callPackage
+    ({ mkDerivation, base, instant-generics, template-haskell }:
+     mkDerivation {
+       pname = "derive-IG";
+       version = "0.1.1";
+       sha256 = "0bggj2jb3bbgxcz75v8q2yx29v88skiwjaj3fxkkynnv5zvrbgwr";
+       buildDepends = [ base instant-generics template-haskell ];
+       jailbreak = true;
+       homepage = "http://github.com/konn/derive-IG";
+       description = "Macro to derive instances for Instant-Generics using Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "derive-gadt" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts
+     , haskell-src-meta, pretty, template-haskell
+     }:
+     mkDerivation {
+       pname = "derive-gadt";
+       version = "0.1.1";
+       sha256 = "0s6vb3b3chf1gy44a6zsi2z19d6snk12qlk4v8q2smipmj42v7d6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers haskell-src-exts haskell-src-meta pretty
+         template-haskell
+       ];
+       jailbreak = true;
+       description = "Instance deriving for (a subset of) GADTs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "derive-topdown" = callPackage
+    ({ mkDerivation, base, derive, mtl, template-haskell
+     , template-haskell-util
+     }:
+     mkDerivation {
+       pname = "derive-topdown";
+       version = "0.0.0.2";
+       sha256 = "0gdalqq1ks9jjp34kzavlx2ncpdad2pf6vdhx64yii5l2nl04r8p";
+       buildDepends = [
+         base derive mtl template-haskell template-haskell-util
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/HaskellZhangSong/derive-topdown";
+       description = "This library will help you generate Haskell empty Generic instances and deriving type instances from the top automatically to the bottom for composited data types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "derive-trie" = callPackage
+    ({ mkDerivation, array, base, containers, template-haskell }:
+     mkDerivation {
+       pname = "derive-trie";
+       version = "0.2.1";
+       sha256 = "11c378mh5razibd9ljffm5353v4plrgvkfb62p6029f04sf29jnc";
+       buildDepends = [ array base containers template-haskell ];
+       jailbreak = true;
+       homepage = "http://github.com/baldo/derive-trie";
+       description = "Automatic derivation of Trie implementations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "derp" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "derp";
+       version = "0.1.6";
+       sha256 = "0g8y98qjjampbwnxhvjzrs2jczh2mcwsacjq95jxpidgsld00shk";
+       buildDepends = [ base containers ];
+       description = "Derivative Parsing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "derp-lib" = callPackage
+    ({ mkDerivation, base, derp }:
+     mkDerivation {
+       pname = "derp-lib";
+       version = "0.0.0.1";
+       sha256 = "0j883w01k9scz6cfxljkw9s2kgs9f7vdxyyxxhlvvkgzb0050v0x";
+       buildDepends = [ base derp ];
+       homepage = "http://darcsden.com/kyagrd/derp-lib";
+       description = "combinators based on parsing with derivatives (derp) package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "descrilo" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "descrilo";
+       version = "0.1.0.2";
+       sha256 = "1wvq4gcda39k69hadz9kfxn5bsxqjag4chbbppiwmyp503y8f2k1";
+       buildDepends = [ base ];
+       description = "Loads a list of items with fields";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "descriptive_0_0_2" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, containers, mtl, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "descriptive";
+       version = "0.0.2";
+       sha256 = "0jh0l4assmqsmq9ajsbdl7vn8k6srl0z27kpxwzg1v0nmkkcl48p";
+       buildDepends = [
+         aeson base bifunctors containers mtl text transformers
+       ];
+       homepage = "https://github.com/chrisdone/descriptive";
+       description = "Self-describing consumers/parsers; forms, cmd-line args, JSON, etc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "descriptive" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, containers, hspec, HUnit
+     , mtl, scientific, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "descriptive";
+       version = "0.9.3";
+       sha256 = "1kb6fca7fsg82ij6zlc85p9mfaxr3l5z45sjjcx6zvli1lknmqz0";
+       buildDepends = [
+         aeson base bifunctors containers mtl scientific text transformers
+         vector
+       ];
+       testDepends = [
+         aeson base bifunctors containers hspec HUnit mtl text transformers
+       ];
+       homepage = "https://github.com/chrisdone/descriptive";
+       description = "Self-describing consumers/parsers; forms, cmd-line args, JSON, etc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "despair" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "despair";
+       version = "0.0.2";
+       sha256 = "1dwhp1izikvj1qfz6shvnl4q519vgjpnfmkwkj8zp875dki87pnj";
+       buildDepends = [ base random ];
+       description = "Despair";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "detrospector" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cmdargs, containers
+     , hashable, mwc-random, text, unordered-containers, zlib
+     }:
+     mkDerivation {
+       pname = "detrospector";
+       version = "0.3";
+       sha256 = "0fsdbagj9zhbm6hh5rsjgz3iq1raxkljnr65ba506nwxmc052xcn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cmdargs containers hashable mwc-random text
+         unordered-containers zlib
+       ];
+       description = "Markov chain text generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "deunicode" = callPackage
+    ({ mkDerivation, base, bytestring, utf8-string }:
+     mkDerivation {
+       pname = "deunicode";
+       version = "0.1";
+       sha256 = "08skd630jj9h3mlxm86s7qkdrpcwhknk21dmlj69126dn67v159f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring utf8-string ];
+       jailbreak = true;
+       description = "Get rid of unicode (utf-8) symbols in Haskell sources";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "devil" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath
+     , hinotify, process, split, text, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "devil";
+       version = "0.1.1.0";
+       sha256 = "1n5rzm40srakb0jv8j9gin6m15x5l37knmdckc4xhwvliyvllrf4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory filepath hinotify process split
+         text unix unordered-containers
+       ];
+       homepage = "https://github.com/luanzhu/devil";
+       description = "A small tool to make it easier to update program managed by Angel";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dewdrop" = callPackage
+    ({ mkDerivation, base, bytestring, containers, elf, hdis86, syb }:
+     mkDerivation {
+       pname = "dewdrop";
+       version = "0.1";
+       sha256 = "1xi78d31hljbybpm3jzs4l3g35sdfhmmm7ksivjdi91gv9m88l0n";
+       buildDepends = [ base bytestring containers elf hdis86 syb ];
+       homepage = "https://github.com/kmcallister/dewdrop";
+       description = "Find gadgets for return-oriented programming on x86";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dfrac" = callPackage
+    ({ mkDerivation, base, scientific }:
+     mkDerivation {
+       pname = "dfrac";
+       version = "0.1.2.0";
+       sha256 = "1ybq5bnh85dbr9lfx5d6qw87x9qc8fs0yvbi1a6860an13lvrzy7";
+       buildDepends = [ base scientific ];
+       description = "A package for precise decimal arithmatic using rationals";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dfsbuild" = callPackage
+    ({ mkDerivation, base, ConfigFile, directory, filepath, HSH
+     , hslogger, MissingH, network, old-time, parsec, random
+     , regex-compat, unix
+     }:
+     mkDerivation {
+       pname = "dfsbuild";
+       version = "1.0.2";
+       sha256 = "0nh5cvb8macw523iids072rs9kylkv8zrliraw1jrvmhsznkj05x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile directory filepath HSH hslogger MissingH network
+         old-time parsec random regex-compat unix
+       ];
+       description = "Build Debian From Scratch CD/DVD images";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dgim" = callPackage
+    ({ mkDerivation, base, Cabal, QuickCheck }:
+     mkDerivation {
+       pname = "dgim";
+       version = "0.0.3";
+       sha256 = "1brffyfawrdgr2659hbda42mpn9jiiq474a0yd57kj7z0dzq25f6";
+       buildDepends = [ base ];
+       testDepends = [ base Cabal QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/musically-ut/haskell-dgim";
+       description = "Implementation of DGIM algorithm";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dgs" = callPackage
+    ({ mkDerivation, base, HTTP, mtl, network, split }:
+     mkDerivation {
+       pname = "dgs";
+       version = "0.2";
+       sha256 = "100xlxqhy33kllyb4dy7q0bwwy5wn9w45qy1cb5f0yb0dqff1pnx";
+       buildDepends = [ base HTTP mtl network split ];
+       jailbreak = true;
+       homepage = "http://www.dmwit.com/dgs";
+       description = "Haskell front-end for DGS' bot interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dia-base" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "dia-base";
+       version = "0.1.1.2";
+       sha256 = "08j65fgxrbp8mdhs887w6hj4wakxrkbk9nr5kk9jy0bahw7dw9c5";
+       buildDepends = [ base deepseq ];
+       jailbreak = true;
+       description = "An EDSL for teaching Haskell with diagrams - data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dia-functions" = callPackage
+    ({ mkDerivation, base, containers, data-pprint, deepseq, dia-base
+     , mtl, xhtml
+     }:
+     mkDerivation {
+       pname = "dia-functions";
+       version = "0.2.1.3";
+       sha256 = "0zay364hmrd1759i89g8bv8845hd9b3dnvicz3ybnqk5bcn6aq1l";
+       buildDepends = [
+         base containers data-pprint deepseq dia-base mtl xhtml
+       ];
+       jailbreak = true;
+       description = "An EDSL for teaching Haskell with diagrams - functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams" = callPackage
+    ({ mkDerivation, diagrams-contrib, diagrams-core, diagrams-lib
+     , diagrams-svg
+     }:
+     mkDerivation {
+       pname = "diagrams";
+       version = "1.2";
+       sha256 = "17j7hyd86h9msc8ni19agb0yhixga76q9kh4i109iyiyqizdnfhg";
+       buildDepends = [
+         diagrams-contrib diagrams-core diagrams-lib diagrams-svg
+       ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Embedded domain-specific language for declarative vector graphics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-builder" = callPackage
+    ({ mkDerivation, base, blaze-svg, bytestring, cmdargs
+     , diagrams-cairo, diagrams-lib, diagrams-postscript, diagrams-svg
+     , directory, exceptions, filepath, hashable, haskell-src-exts, hint
+     , lens, mtl, split, transformers
+     }:
+     mkDerivation {
+       pname = "diagrams-builder";
+       version = "0.6.0.4";
+       sha256 = "11zpl1zk1cn71as8n86mg4c1whr59h9qaddkq7pfw7ni5whx0k3n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-svg bytestring cmdargs diagrams-cairo diagrams-lib
+         diagrams-postscript diagrams-svg directory exceptions filepath
+         hashable haskell-src-exts hint lens mtl split transformers
+       ];
+       configureFlags = [ "-fcairo" "-fps" "-frasterific" "-fsvg" ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "hint-based build service for the diagrams graphics EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diagrams-cairo" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, colour, containers
+     , data-default-class, diagrams-core, diagrams-lib, directory
+     , filepath, hashable, JuicyPixels, lens, mtl, old-time
+     , optparse-applicative, pango, process, split, statestack, time
+     , transformers, unix, vector
+     }:
+     mkDerivation {
+       pname = "diagrams-cairo";
+       version = "1.2.0.7";
+       sha256 = "0z87qrp2z4j2x5zwwczrjw7kps7izcyb045665319kp9yp0dbzjk";
+       buildDepends = [
+         base bytestring cairo colour containers data-default-class
+         diagrams-core diagrams-lib directory filepath hashable JuicyPixels
+         lens mtl old-time optparse-applicative pango process split
+         statestack time transformers unix vector
+       ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Cairo backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-canvas" = callPackage
+    ({ mkDerivation, base, blank-canvas, cmdargs, containers
+     , data-default-class, diagrams-core, diagrams-lib, lens, mtl
+     , NumInstances, optparse-applicative, statestack, text
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "diagrams-canvas";
+       version = "0.3.0.4";
+       sha256 = "1jc47y739rg51czny0z17pspskim4ss2jraw6h5gyhnr8f50rv5w";
+       buildDepends = [
+         base blank-canvas cmdargs containers data-default-class
+         diagrams-core diagrams-lib lens mtl NumInstances
+         optparse-applicative statestack text vector-space
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "HTML5 canvas backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-contrib" = callPackage
+    ({ mkDerivation, arithmoi, base, circle-packing, colour, containers
+     , data-default, data-default-class, diagrams-core, diagrams-lib
+     , force-layout, HUnit, lens, MonadRandom, mtl, parsec, QuickCheck
+     , semigroups, split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, vector-space
+     , vector-space-points
+     }:
+     mkDerivation {
+       pname = "diagrams-contrib";
+       version = "1.1.2.6";
+       sha256 = "0bkil4klkdx30q6hwdcag20fbgx04vcn9kl7196mccl7yhh1msi0";
+       buildDepends = [
+         arithmoi base circle-packing colour containers data-default
+         data-default-class diagrams-core diagrams-lib force-layout lens
+         MonadRandom mtl parsec semigroups split text vector-space
+         vector-space-points
+       ];
+       testDepends = [
+         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-core" = callPackage
+    ({ mkDerivation, base, containers, dual-tree, lens, MemoTrie
+     , monoid-extras, newtype, semigroups, vector-space
+     , vector-space-points
+     }:
+     mkDerivation {
+       pname = "diagrams-core";
+       version = "1.2.0.6";
+       sha256 = "1i8h7arzhq2qzkv9hjldz3vymcns7y1w3wn56w57k2sbx3vx0zls";
+       buildDepends = [
+         base containers dual-tree lens MemoTrie monoid-extras newtype
+         semigroups vector-space vector-space-points
+       ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Core libraries for diagrams EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-gtk" = callPackage
+    ({ mkDerivation, base, cairo, diagrams-cairo, diagrams-lib, gtk }:
+     mkDerivation {
+       pname = "diagrams-gtk";
+       version = "1.0.1.3";
+       sha256 = "1bcgplmg01sp7iwhgx7ircbn9bj15m42w6vkh539sd65y01z3hc8";
+       buildDepends = [ base cairo diagrams-cairo diagrams-lib gtk ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "Backend for rendering diagrams directly to GTK windows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-haddock" = callPackage
+    ({ mkDerivation, ansi-terminal, base, base64-bytestring, blaze-svg
+     , bytestring, Cabal, cautious-file, cmdargs, containers, cpphs
+     , diagrams-builder, diagrams-lib, diagrams-svg, directory, filepath
+     , haskell-src-exts, lens, mtl, parsec, QuickCheck, split, strict
+     , tasty, tasty-quickcheck, text, uniplate, vector-space
+     }:
+     mkDerivation {
+       pname = "diagrams-haddock";
+       version = "0.2.2.14";
+       sha256 = "0j2flbirqxvgvyv8s3d8cwiqz9w3p864g2wg5hsya8r30jmlyycl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base base64-bytestring blaze-svg bytestring Cabal
+         cautious-file cmdargs containers cpphs diagrams-builder
+         diagrams-lib diagrams-svg directory filepath haskell-src-exts lens
+         mtl parsec split strict text uniplate vector-space
+       ];
+       testDepends = [
+         base containers haskell-src-exts lens parsec QuickCheck tasty
+         tasty-quickcheck
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "Preprocessor for embedding diagrams in Haddock documentation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diagrams-hsqml" = callPackage
+    ({ mkDerivation, base, colour, containers, diagrams-core
+     , diagrams-lib, hsqml, lens, text, transformers
+     }:
+     mkDerivation {
+       pname = "diagrams-hsqml";
+       version = "0.0.0.2";
+       revision = "1";
+       sha256 = "065jh6a24g25g1113iz4ml9vnrzpk2lyrf873jzq9x6awhi6ifng";
+       editedCabalFile = "bb0ff98c3522df34b9d9700a03600269cbb78d3e2a6796e6011778c315959490";
+       buildDepends = [
+         base colour containers diagrams-core diagrams-lib hsqml lens text
+         transformers
+       ];
+       homepage = "https://github.com/marcinmrotek/diagrams-hsqml";
+       description = "HsQML (Qt5) backend for Diagrams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-lib" = callPackage
+    ({ mkDerivation, active, array, base, colour, containers
+     , data-default-class, diagrams-core, dual-tree, filepath
+     , fingertree, hashable, intervals, JuicyPixels, lens, MemoTrie
+     , monoid-extras, optparse-applicative, semigroups, tagged
+     , vector-space, vector-space-points
+     }:
+     mkDerivation {
+       pname = "diagrams-lib";
+       version = "1.2.0.9";
+       sha256 = "1naamjx7i9k3jwbvrz5jwhsfmri3jgjxqwalckyc473pclf6y4k9";
+       buildDepends = [
+         active array base colour containers data-default-class
+         diagrams-core dual-tree filepath fingertree hashable intervals
+         JuicyPixels lens MemoTrie monoid-extras optparse-applicative
+         semigroups tagged vector-space vector-space-points
+       ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Embedded domain-specific language for declarative graphics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-pdf" = callPackage
+    ({ mkDerivation, base, cmdargs, colour, diagrams-core, diagrams-lib
+     , filepath, HPDF, lens, monoid-extras, mtl, semigroups, split
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "diagrams-pdf";
+       version = "0.3.1";
+       sha256 = "0wi38w0r1n1zm49r16vhmgg14v3pw7ca6wwb85y3zrbjmzfa37vy";
+       buildDepends = [
+         base cmdargs colour diagrams-core diagrams-lib filepath HPDF lens
+         monoid-extras mtl semigroups split vector-space
+       ];
+       jailbreak = true;
+       homepage = "http://www.alpheccar.org";
+       description = "PDF backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diagrams-postscript" = callPackage
+    ({ mkDerivation, base, containers, data-default-class
+     , diagrams-core, diagrams-lib, dlist, filepath, hashable, lens
+     , monoid-extras, mtl, semigroups, split, vector-space
+     }:
+     mkDerivation {
+       pname = "diagrams-postscript";
+       version = "1.1.0.5";
+       sha256 = "1nriv964zmzlcyqxb3drfbxsimg786n4bsyyy1020rchf3df8rp5";
+       buildDepends = [
+         base containers data-default-class diagrams-core diagrams-lib dlist
+         filepath hashable lens monoid-extras mtl semigroups split
+         vector-space
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "Postscript backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-qrcode" = callPackage
+    ({ mkDerivation, array, base, colour, diagrams-core, diagrams-lib
+     }:
+     mkDerivation {
+       pname = "diagrams-qrcode";
+       version = "1.2";
+       sha256 = "15c1h0izxi475b1n8q3dmg0kpp7dk0s4nifnxcq3lbq71jmsg8ll";
+       buildDepends = [ array base colour diagrams-core diagrams-lib ];
+       homepage = "https://github.com/prowdsponsor/diagrams-qrcode";
+       description = "Draw QR codes to SVG, PNG, PDF or PS files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-rasterific" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, directory, filepath, FontyFruity
+     , JuicyPixels, lens, mtl, old-time, optparse-applicative, process
+     , Rasterific, split, statestack, time, unix
+     }:
+     mkDerivation {
+       pname = "diagrams-rasterific";
+       version = "0.1.0.8";
+       sha256 = "08a80w466hz89xp82n5yqqisd2vkd1876z4hw2p99bg22qr8b87k";
+       buildDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib directory filepath FontyFruity JuicyPixels lens mtl
+         old-time optparse-applicative process Rasterific split statestack
+         time unix
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "Rasterific backend for diagrams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-rubiks-cube" = callPackage
+    ({ mkDerivation, base, data-default-class, diagrams-lib, lens }:
+     mkDerivation {
+       pname = "diagrams-rubiks-cube";
+       version = "0.1.0.0";
+       sha256 = "1lvircn37ws8xy9z8r5ric0hngx3v2vvhnf2bkakg8gnr7cvfpiv";
+       buildDepends = [ base data-default-class diagrams-lib lens ];
+       homepage = "https://github.com/timjb/rubiks-cube";
+       description = "Library for drawing the Rubik's Cube";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "diagrams-svg" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-markup, blaze-svg
+     , bytestring, colour, containers, diagrams-core, diagrams-lib
+     , directory, filepath, hashable, JuicyPixels, lens, monoid-extras
+     , mtl, old-time, process, split, time, unix, vector-space
+     }:
+     mkDerivation {
+       pname = "diagrams-svg";
+       version = "1.1.0.5";
+       sha256 = "0n4ljdym9cbq4n7ynx5caxlr26ai5ifzv9x0yvqydhczmm0n35xf";
+       buildDepends = [
+         base base64-bytestring blaze-markup blaze-svg bytestring colour
+         containers diagrams-core diagrams-lib directory filepath hashable
+         JuicyPixels lens monoid-extras mtl old-time process split time unix
+         vector-space
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "SVG backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diagrams-tikz" = callPackage
+    ({ mkDerivation, base, diagrams-core, diagrams-lib, dlist, mtl }:
+     mkDerivation {
+       pname = "diagrams-tikz";
+       version = "0.6";
+       sha256 = "1qs4m1xy62pv6gjgip9vx2pwlv2gzjq1h86yiiq15yg4gcbn5fav";
+       buildDepends = [ base diagrams-core diagrams-lib dlist mtl ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "TikZ backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dice" = callPackage
+    ({ mkDerivation, base, parsec, random-fu, transformers }:
+     mkDerivation {
+       pname = "dice";
+       version = "0.1";
+       sha256 = "1rfx3vh983f3gc6si661zimhjl47ip30l3pvf7dysjirr3gffgz1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parsec random-fu transformers ];
+       description = "Simplistic D&D style dice-rolling system";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "dice-entropy-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, entropy, QuickCheck
+     , test-framework, test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "dice-entropy-conduit";
+       version = "1.0.0.1";
+       sha256 = "01xwxajwyvv6ac48j9if6xsv05aqg1p02i7d25ivk1k56ky41l1s";
+       buildDepends = [ base bytestring conduit entropy transformers ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://monoid.at/code";
+       description = "Cryptographically secure n-sided dice via rejection sampling";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dictparser" = callPackage
+    ({ mkDerivation, base, hspec, parsec, split }:
+     mkDerivation {
+       pname = "dictparser";
+       version = "0.3.0.0";
+       sha256 = "1wjxcn53h9rp8jancspb9yq4h26215b63pghw802wgh073vp9h0i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parsec split ];
+       testDepends = [ base hspec parsec ];
+       homepage = "http://github.com/mwotton/dictparser";
+       description = "Parsec parsers for the DICT format produced by dictfmt -t";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diet" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "diet";
+       version = "0.0.1";
+       sha256 = "0qkyfmys5k6la10dvi8wsmw120xfarjblpkr33xiazll2m9845wh";
+       buildDepends = [ base ];
+       homepage = "https://github.com/tonymorris/diet";
+       description = "Discrete Interval Encoding Tree";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diff-parse" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, text }:
+     mkDerivation {
+       pname = "diff-parse";
+       version = "0.2.1";
+       sha256 = "0idwhxwhqd65sy0kfgwi8d942lpabyknwpyq9454y49dnn8k0lam";
+       buildDepends = [ attoparsec base text ];
+       testDepends = [ attoparsec base hspec text ];
+       jailbreak = true;
+       description = "A parser for diff file formats";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "diff3" = callPackage
+    ({ mkDerivation, base, Diff, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "diff3";
+       version = "0.2.0.3";
+       sha256 = "0zdfn1jhsq8pd23qpkhzr8wgiwbazfbq688bjnpc406i7gq88k78";
+       buildDepends = [ base Diff ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/ocharles/diff3.git";
+       description = "Perform a 3-way difference of documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diffarray" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "diffarray";
+       version = "0.1.1";
+       sha256 = "0p95i1xzp0bdm0zrdil79rfxfyz372y2qjdxyvxdzxvfb1mvalcm";
+       buildDepends = [ array base ];
+       description = "DiffArray";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diffcabal" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, Diff
+     , directory, filepath, pretty, process
+     }:
+     mkDerivation {
+       pname = "diffcabal";
+       version = "0.1.1";
+       sha256 = "0ggla2i4jw24a3vdq2xyz70asp80s5jl5nkwms6ck4r69zm3mci6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers Diff directory filepath pretty
+         process
+       ];
+       homepage = "http://code.haskell.org/~dons/code/diffcabal";
+       description = "Diff two .cabal files syntactically";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diffdump" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cmdargs
+     , directory, filemanip, filepath, parallel-io, process
+     , process-extras, unix
+     }:
+     mkDerivation {
+       pname = "diffdump";
+       version = "0.7.5";
+       sha256 = "08z1h3xf3j5xzhf08i9w7hvg05wvqcf13k50chx6av70f0cs2rvh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring cmdargs directory filemanip filepath
+         parallel-io process process-extras unix
+       ];
+       description = "Tools for diffing stdout";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digamma" = callPackage
+    ({ mkDerivation, base, polynomial }:
+     mkDerivation {
+       pname = "digamma";
+       version = "0.1";
+       sha256 = "0qij2pn107dfb9rl9rrd77l69wmfp9fghv9ysql2d7g5qdr306pd";
+       buildDepends = [ base polynomial ];
+       jailbreak = true;
+       homepage = "https://github.com/bgamari/digamma";
+       description = "A robust implementation of the digamma function";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digest" = callPackage
+    ({ mkDerivation, base, bytestring, zlib }:
+     mkDerivation {
+       pname = "digest";
+       version = "0.0.1.2";
+       sha256 = "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ zlib ];
+       description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) zlib;};
+
+  "digest-pure" = callPackage
+    ({ mkDerivation, array, base, bytestring, digest, QuickCheck }:
+     mkDerivation {
+       pname = "digest-pure";
+       version = "0.0.3";
+       sha256 = "0rb5jkzn1d4z90hd47qh98mf4n90wvj0cqf3qfpj7ndvw52yy95w";
+       buildDepends = [ array base bytestring ];
+       testDepends = [ array base bytestring digest QuickCheck ];
+       homepage = "http://github.com/danieldk/digest-pure";
+       description = "Pure hash functions for bytestrings";
+       license = "unknown";
+     }) {};
+
+  "digestive-bootstrap" = callPackage
+    ({ mkDerivation, base, blaze-bootstrap, blaze-html
+     , digestive-functors, digestive-functors-blaze, http-types, text
+     }:
+     mkDerivation {
+       pname = "digestive-bootstrap";
+       version = "0.1.0.0";
+       sha256 = "0c1hd3l29sci624r4gwp3ndzmancwdy9dp3gz2fmd4jniani3kzz";
+       buildDepends = [
+         base blaze-bootstrap blaze-html digestive-functors
+         digestive-functors-blaze http-types text
+       ];
+       description = "Speed up form designing using digestive functors and bootstrap";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "digestive-foundation-lucid" = callPackage
+    ({ mkDerivation, base, digestive-functors, digestive-functors-lucid
+     , http-types, lucid, lucid-foundation, text
+     }:
+     mkDerivation {
+       pname = "digestive-foundation-lucid";
+       version = "0.0.0.1";
+       sha256 = "1gpmmbf5s4kxf9xhbhf086b5n3kkr9ay2qlm6xlnf8cx1l9rn6bi";
+       buildDepends = [
+         base digestive-functors digestive-functors-lucid http-types lucid
+         lucid-foundation text
+       ];
+       description = "Speed up form designing using digestive functors and foundation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "digestive-functors" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HUnit, mtl
+     , old-locale, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time
+     }:
+     mkDerivation {
+       pname = "digestive-functors";
+       version = "0.7.1.5";
+       sha256 = "1rfdxac3cnwa5r5zxic3xhj4n59f7s6l34xmja4q87ylqxfyqmls";
+       buildDepends = [
+         base bytestring containers mtl old-locale text time
+       ];
+       testDepends = [
+         base bytestring containers HUnit mtl old-locale QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time
+       ];
+       homepage = "http://github.com/jaspervdj/digestive-functors";
+       description = "A practical formlet library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digestive-functors-aeson" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , digestive-functors, HUnit, lens, lens-aeson, mtl, safe
+     , scientific, tasty, tasty-hunit, text, vector
+     }:
+     mkDerivation {
+       pname = "digestive-functors-aeson";
+       version = "1.1.13";
+       sha256 = "0s6rns38gi4fn8hi5dag0p3pkf8yl4r1ilrlq2vwgr8d25647k91";
+       buildDepends = [
+         aeson base containers digestive-functors lens lens-aeson safe text
+         vector
+       ];
+       testDepends = [
+         aeson base bytestring digestive-functors HUnit mtl scientific tasty
+         tasty-hunit text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ocharles/digestive-functors-aeson";
+       description = "Run digestive-functors forms against JSON";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "digestive-functors-blaze" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, digestive-functors
+     , text
+     }:
+     mkDerivation {
+       pname = "digestive-functors-blaze";
+       version = "0.6.0.5";
+       sha256 = "1mskyz5iab8jy7b2k3nn7c3z7bvwv4cqhviw4qr5xpzqk59ls7kr";
+       buildDepends = [
+         base blaze-html blaze-markup digestive-functors text
+       ];
+       homepage = "http://github.com/jaspervdj/digestive-functors";
+       description = "Blaze frontend for the digestive-functors library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digestive-functors-happstack" = callPackage
+    ({ mkDerivation, base, bytestring, digestive-functors
+     , happstack-server, text
+     }:
+     mkDerivation {
+       pname = "digestive-functors-happstack";
+       version = "0.6.1.0";
+       sha256 = "02akxqb8zmc4gbgs79g8k5ycp20c54zc025vl6l3b4mc45lp73r4";
+       buildDepends = [
+         base bytestring digestive-functors happstack-server text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jaspervdj/digestive-functors";
+       description = "Happstack backend for the digestive-functors library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digestive-functors-heist" = callPackage
+    ({ mkDerivation, base, blaze-builder, digestive-functors, heist
+     , mtl, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "digestive-functors-heist";
+       version = "0.8.6.1";
+       sha256 = "1l8ppn2h1nxzn5wxnglc2fyi7r90177v75yf4n7cyvzrcxdaz4bb";
+       buildDepends = [
+         base blaze-builder digestive-functors heist mtl text xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jaspervdj/digestive-functors";
+       description = "Heist frontend for the digestive-functors library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digestive-functors-hsp" = callPackage
+    ({ mkDerivation, base, digestive-functors, hsp, hsx, text, trhsx }:
+     mkDerivation {
+       pname = "digestive-functors-hsp";
+       version = "0.5.0";
+       sha256 = "00n1cxkrkd3ayl7pp6pr7nyx6zcwqpsqzflnnnf0f8dabrz4wzdc";
+       buildDepends = [ base digestive-functors hsp hsx text ];
+       buildTools = [ trhsx ];
+       jailbreak = true;
+       homepage = "http://src.seereason.com/digestive-functors-hsp";
+       description = "HSP support for digestive-functors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "digestive-functors-lucid" = callPackage
+    ({ mkDerivation, base, digestive-functors, lucid, text }:
+     mkDerivation {
+       pname = "digestive-functors-lucid";
+       version = "0.0.0.2";
+       sha256 = "0ijpfcvsfgb67faqh4nbjvfab8kwc70xcp27a4rdzy9rvkvvhh82";
+       buildDepends = [ base digestive-functors lucid text ];
+       jailbreak = true;
+       homepage = "http://github.com/jaspervdj/digestive-functors";
+       description = "Lucid frontend for the digestive-functors library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digestive-functors-scotty" = callPackage
+    ({ mkDerivation, base, bytestring, digestive-functors, http-types
+     , scotty, text, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "digestive-functors-scotty";
+       version = "0.2.0.2";
+       sha256 = "0flm1akhx3fj8pli3nz9s7asah7cfm9afz99jx3f4rv7352saclp";
+       buildDepends = [
+         base bytestring digestive-functors http-types scotty text wai
+         wai-extra
+       ];
+       homepage = "https://bitbucket.org/wniare/digestive-functors-scotty";
+       description = "Scotty backend for the digestive-functors library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digestive-functors-snap" = callPackage
+    ({ mkDerivation, base, bytestring, containers, digestive-functors
+     , directory, filepath, mtl, snap-core, text
+     }:
+     mkDerivation {
+       pname = "digestive-functors-snap";
+       version = "0.6.1.1";
+       sha256 = "1y9i1hiawzhdglg1jrnxd36h534i1hxg0r8dnibafwk34v1j2n24";
+       buildDepends = [
+         base bytestring containers digestive-functors directory filepath
+         mtl snap-core text
+       ];
+       homepage = "http://github.com/jaspervdj/digestive-functors";
+       description = "Snap backend for the digestive-functors library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digit" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, lens
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "digit";
+       version = "0.1.1";
+       sha256 = "18l6ca3kgp0g8zmai6jsq6pz7hjilcnyspvz95h9pqklhh2z32qk";
+       buildDepends = [ base lens ];
+       testDepends = [ base directory doctest filepath QuickCheck ];
+       homepage = "https://github.com/NICTA/digit";
+       description = "A data-type representing digits 0-9 and other combinations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "digits" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "digits";
+       version = "0.2";
+       sha256 = "18s9k7kj0qvd4297msl0k6ziwfb5bl1gwnxlrl8b4rkqda4kf17l";
+       buildDepends = [ base QuickCheck ];
+       description = "Converts integers to lists of digits and back";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dimensional" = callPackage
+    ({ mkDerivation, base, numtype, time }:
+     mkDerivation {
+       pname = "dimensional";
+       version = "0.13.0.1";
+       sha256 = "1cn7gyskp0ax5lm5k05p6qp461hirjyhj0k1qyd64fgdmmp81vi6";
+       buildDepends = [ base numtype time ];
+       homepage = "http://dimensional.googlecode.com/";
+       description = "Statically checked physical dimensions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dimensional-tf" = callPackage
+    ({ mkDerivation, base, numtype-tf, time }:
+     mkDerivation {
+       pname = "dimensional-tf";
+       version = "0.3.0.1";
+       sha256 = "0gnaylxhjcyvsibq15bw9k4c846l2329yvvl79cdw2jqggfnzxw6";
+       buildDepends = [ base numtype-tf time ];
+       homepage = "http://dimensional.googlecode.com/";
+       description = "Statically checked physical dimensions, implemented using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dingo-core" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-builder, blaze-html, blaze-textual, bytestring, conduit
+     , containers, cookie, deepseq, fclabels, file-embed, hashable
+     , http-types, random, SHA, shakespeare-js, strict-concurrency
+     , template-haskell, text, transformers, unordered-containers, wai
+     , wai-eventsource, wai-extra, warp, web-css
+     }:
+     mkDerivation {
+       pname = "dingo-core";
+       version = "0.2.0";
+       sha256 = "1h0ir5h6nq2c8qk4irbcai87mxgiyahyi2lcxps959zja70pmqf5";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring blaze-builder blaze-html
+         blaze-textual bytestring conduit containers cookie deepseq fclabels
+         file-embed hashable http-types random SHA shakespeare-js
+         strict-concurrency template-haskell text transformers
+         unordered-containers wai wai-eventsource wai-extra warp web-css
+       ];
+       jailbreak = true;
+       description = "Dingo is a Rich Internet Application platform based on the Warp web server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dingo-example" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, dingo-core
+     , dingo-widgets, fclabels, shakespeare-js, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "dingo-example";
+       version = "0.2.0";
+       sha256 = "0mla83bijf077bx16r9rsvbyr8v684j1bfllfw7kswlgyz37rf4b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-html bytestring dingo-core dingo-widgets fclabels
+         shakespeare-js template-haskell text transformers
+       ];
+       jailbreak = true;
+       description = "Dingo Example";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dingo-widgets" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, containers
+     , dingo-core, fclabels, file-embed, shakespeare-js
+     , template-haskell, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "dingo-widgets";
+       version = "0.2.0";
+       sha256 = "1d61l2c6vwpngffr5ynm3zrvn7as9zgsm3zg18ldq958s0mvdn8p";
+       buildDepends = [
+         aeson base blaze-html bytestring containers dingo-core fclabels
+         file-embed shakespeare-js template-haskell text transformers
+         unordered-containers
+       ];
+       jailbreak = true;
+       description = "Dingo Widgets";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diophantine" = callPackage
+    ({ mkDerivation, array, base, happy }:
+     mkDerivation {
+       pname = "diophantine";
+       version = "0.2.1.0";
+       sha256 = "118r59mwvihzqsjd530x4pdnvqjk87b3jjdhx5avq31cfdbiyaj9";
+       buildDepends = [ array base ];
+       buildTools = [ happy ];
+       homepage = "https://github.com/llllllllll/Math.Diophantine";
+       description = "A quadratic diophantine equation solving library";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "direct-binary-files" = callPackage
+    ({ mkDerivation, base, bytestring, mtl }:
+     mkDerivation {
+       pname = "direct-binary-files";
+       version = "1.0";
+       sha256 = "0ci6av8sgrlsn12dbpvqf3imq9w1hm2ll5np2fz7gh9760vvdidr";
+       buildDepends = [ base bytestring mtl ];
+       homepage = "http://ireneknapp.com/software/";
+       description = "Serialization and deserialization monads for streams and ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "direct-daemonize" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "direct-daemonize";
+       version = "3.1";
+       sha256 = "0698l8zylkgafx8g91icysz6rq2lyrnd25blhday67s9vkdpbvxh";
+       buildDepends = [ base unix ];
+       homepage = "http://dankna.com/software/";
+       description = "Library to switch to daemon mode using built-in OS facilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "direct-fastcgi" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, network
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "direct-fastcgi";
+       version = "1.0.3";
+       sha256 = "049z23gkssk3h8sx9xr3baln3hz5cykf2zp9kzmvbk2n4ky8fs78";
+       buildDepends = [
+         base bytestring containers mtl network utf8-string
+       ];
+       homepage = "http://dankna.com/software/";
+       description = "Native implementation of the FastCGI protocol";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "direct-http" = callPackage
+    ({ mkDerivation, base, bytestring, containers, direct-daemonize
+     , lifted-base, monad-control, mtl, network, old-locale
+     , SafeSemaphore, time, transformers-base, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "direct-http";
+       version = "0.6";
+       sha256 = "0aghfhg0nx2bqi56cw5hnnqxnjbziihn36yqpq12gyhnahwdfvpg";
+       buildDepends = [
+         base bytestring containers direct-daemonize lifted-base
+         monad-control mtl network old-locale SafeSemaphore time
+         transformers-base unix utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://ireneknapp.com/software/";
+       description = "Native webserver that acts as a library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "direct-murmur-hash" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "direct-murmur-hash";
+       version = "1.0.1";
+       sha256 = "09hv06hslz83gpqfxxv6bfg4i6l7pfv82jxab4lf8g964ciaa42q";
+       buildDepends = [ base bytestring ];
+       homepage = "http://ireneknapp.com/software/";
+       description = "An implementation of the MurmurHash3 algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "direct-plugins" = callPackage
+    ({ mkDerivation, base, ghc, ghc-paths }:
+     mkDerivation {
+       pname = "direct-plugins";
+       version = "1.1";
+       sha256 = "03f7jrx0skqiirvpzzakk3wwwdjanjxpzv8j5nwpzvqpb4syshcr";
+       buildDepends = [ base ghc ghc-paths ];
+       homepage = "http://dankna.com/software/";
+       description = "Lightweight replacement for Plugins, specific to GHC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "direct-sqlite" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, directory
+     , HUnit, text
+     }:
+     mkDerivation {
+       pname = "direct-sqlite";
+       version = "2.3.15";
+       sha256 = "0hlpc3j4crh9hnydcpp6fmiisq9ddn916bslm46x5q1ajvcw7v12";
+       buildDepends = [ base bytestring text ];
+       testDepends = [
+         base base16-bytestring bytestring directory HUnit text
+       ];
+       homepage = "https://github.com/IreneKnapp/direct-sqlite";
+       description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "directed-cubical" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, hashable
+     , parallel, QuickCheck, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "directed-cubical";
+       version = "0.1.2.0";
+       sha256 = "0wy6p5nymri7l1ldc6c34b9y4ncmzr2wpidbqjrmacxg07iypn3z";
+       buildDepends = [
+         base bytestring containers deepseq hashable parallel QuickCheck
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Finite directed cubical complexes and associated algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "directory_1_2_2_0" = callPackage
+    ({ mkDerivation, base, filepath, time, unix }:
+     mkDerivation {
+       pname = "directory";
+       version = "1.2.2.0";
+       sha256 = "1dbn6d48gdqh0n2rkh02asxv94ikd8849659ndc7p3h93kgj1dy4";
+       buildDepends = [ base filepath time unix ];
+       testDepends = [ base ];
+       description = "Platform-agnostic library for filesystem operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "directory-layout" = callPackage
+    ({ mkDerivation, base, bytestring, command-qq, containers
+     , directory, doctest, filepath, free, hspec, lens, semigroups
+     , template-haskell, temporary, text, transformers, unix
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "directory-layout";
+       version = "0.7.4.1";
+       sha256 = "0hj7dfv5i2s1dk0rws2fg84crpxz1kgvrq68f373a6hwkbfhv89b";
+       buildDepends = [
+         base bytestring command-qq containers directory filepath free hspec
+         lens semigroups template-haskell text transformers unix
+         unordered-containers
+       ];
+       testDepends = [
+         base bytestring command-qq containers directory doctest filepath
+         free hspec lens semigroups template-haskell temporary text
+         transformers unix unordered-containers
+       ];
+       description = "Directory layout DSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "directory-tree" = callPackage
+    ({ mkDerivation, base, directory, filepath, process }:
+     mkDerivation {
+       pname = "directory-tree";
+       version = "0.12.0";
+       sha256 = "1idknm7fwci91fkwvzl35g0qd0jk1vb00ds2x82zjf2hdbkcc2gz";
+       buildDepends = [ base directory filepath ];
+       testDepends = [ base directory filepath process ];
+       homepage = "http://brandon.si/code/directory-tree-module-released/";
+       description = "A simple directory-like tree datatype, with useful IO functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dirfiles" = callPackage
+    ({ mkDerivation, aeson, base, containers, hblock, safecopy, text
+     , time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "dirfiles";
+       version = "0.1.0.9";
+       sha256 = "0jqavj2s28ffaql3mcgasxa8fg0bv0v6irr2a5334jqydksj0b96";
+       buildDepends = [
+         aeson base containers hblock safecopy text time
+         unordered-containers
+       ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dirstream" = callPackage
+    ({ mkDerivation, base, directory, pipes, pipes-safe, system-fileio
+     , system-filepath, unix
+     }:
+     mkDerivation {
+       pname = "dirstream";
+       version = "1.0.0";
+       sha256 = "1hxmcc62h21zsy5bgm9m4d4q7vcgps168j2mp365d2wva56r87vw";
+       buildDepends = [
+         base directory pipes pipes-safe system-fileio system-filepath unix
+       ];
+       description = "Easily stream directory contents in constant memory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "disassembler" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, parsec }:
+     mkDerivation {
+       pname = "disassembler";
+       version = "0.2.0.0";
+       sha256 = "125191kzflzdj2wnghfc3dzpdxqc44iir5ypvhsz5xb773cdxwxv";
+       buildDepends = [ array base containers mtl parsec ];
+       description = "Disassembler for X86 & AMD64 machine code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "discordian-calendar" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "discordian-calendar";
+       version = "0.1";
+       sha256 = "0ykbfisrb6k8vsqx5avv99j0z4j4615hmql263h12jzhjxfzd22d";
+       buildDepends = [ base time ];
+       homepage = "https://github.com/kallisti-dev/discordian-calendar";
+       description = "library for handling Discordian calendar dates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "discount" = callPackage
+    ({ mkDerivation, base, bytestring, markdown, text }:
+     mkDerivation {
+       pname = "discount";
+       version = "0.1.1";
+       sha256 = "1q1lz9dgxp5kq0ngh7pagijmlc616vwrfrb14pjx2vc9s7yvg779";
+       buildDepends = [ base bytestring text ];
+       extraLibraries = [ markdown ];
+       homepage = "http://github.com/lightquake/discount";
+       description = "Haskell bindings to the discount Markdown library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { markdown = null;};
+
+  "discrete-space-map" = callPackage
+    ({ mkDerivation, adjunctions, base, comonad, distributive, keys
+     , semigroupoids
+     }:
+     mkDerivation {
+       pname = "discrete-space-map";
+       version = "0.0.3";
+       sha256 = "1f3idrz60plnsp5hc6xad0pfx292m9m8aiax2rw2q8gj0smzqv3k";
+       buildDepends = [
+         adjunctions base comonad distributive keys semigroupoids
+       ];
+       homepage = "https://github.com/sjoerdvisscher/discrete-space-map";
+       description = "A discrete space map";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "disjoint-set" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, QuickCheck
+     , transformers
+     }:
+     mkDerivation {
+       pname = "disjoint-set";
+       version = "0.2";
+       sha256 = "05m7liind4fdw5lw8a8381hm6rjzsqz86qzir79y30pj0axayc3z";
+       buildDepends = [ base containers mtl transformers ];
+       testDepends = [
+         base containers HUnit mtl QuickCheck transformers
+       ];
+       homepage = "https://github.com/maxwellsayles/disjoint-set";
+       description = "Persistent disjoint-sets, a.k.a union-find.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "disjoint-sets-st" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "disjoint-sets-st";
+       version = "0.1";
+       sha256 = "0yy4gp5jhfsj3gbk7gh3yplxkxxfsmrl84chp4wfr4v46ff9pc2m";
+       buildDepends = [ array base ];
+       homepage = "http://github.com/ppetr/disjoint-sets-st/";
+       description = "Imperative ST/IO based disjoint set data structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "disk-free-space" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "disk-free-space";
+       version = "0.1.0.1";
+       revision = "2";
+       sha256 = "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi";
+       editedCabalFile = "60ab6de6ad0e36274c675338a37c8985972a5a64db69dee7b4f88b797c9b401b";
+       buildDepends = [ base ];
+       homepage = "https://github.com/redneb/disk-free-space";
+       description = "Retrieve information about disk space usage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dist-upload" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, process }:
+     mkDerivation {
+       pname = "dist-upload";
+       version = "0.0.4";
+       sha256 = "1i9g4jqmmjydcvi07878k6yb5kvxab6dlw3j6nkjdn4mcsc50s71";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal directory filepath process ];
+       description = "Generate/Upload cabal package to Hackage";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , data-accessor, deepseq, distributed-static, ghc-prim, hashable
+     , mtl, network-transport, old-locale, random, rank1dynamic, stm
+     , syb, template-haskell, time, transformers
+     }:
+     mkDerivation {
+       pname = "distributed-process";
+       version = "0.5.3";
+       sha256 = "1jp85dd7scizs03cslrbgmaly735l2rv9yl5hq573xj3mjwmv5nz";
+       buildDepends = [
+         base binary bytestring containers data-accessor deepseq
+         distributed-static ghc-prim hashable mtl network-transport
+         old-locale random rank1dynamic stm syb template-haskell time
+         transformers
+       ];
+       homepage = "http://haskell-distributed.github.com/";
+       description = "Cloud Haskell: Erlang-style concurrency in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "distributed-process-async" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, containers
+     , data-accessor, deepseq, distributed-process
+     , distributed-process-extras, distributed-process-tests, fingertree
+     , hashable, HUnit, mtl, network, network-transport
+     , network-transport-tcp, rematch, stm, test-framework
+     , test-framework-hunit, time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-async";
+       version = "0.2.1";
+       sha256 = "0g28f2f5b28ra1gnm99yalah6rxqps4yvmi403nb0axw295pbmib";
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         distributed-process-extras fingertree hashable mtl stm time
+         transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary deepseq distributed-process
+         distributed-process-extras distributed-process-tests HUnit network
+         network-transport network-transport-tcp rematch stm test-framework
+         test-framework-hunit transformers
+       ];
+       homepage = "http://github.com/haskell-distributed/distributed-process-async";
+       description = "Cloud Haskell Async API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-azure" = callPackage
+    ({ mkDerivation, azure-service-api, base, binary, bytestring
+     , certificate, distributed-process, distributed-static
+     , executable-path, filepath, libssh2, mtl, network-transport
+     , network-transport-tcp, pureMD5, rank1dynamic, transformers, unix
+     }:
+     mkDerivation {
+       pname = "distributed-process-azure";
+       version = "0.1.0";
+       sha256 = "0dc0izlsxzcr5jyiad5yvgs5sp5b6dqwr6gxxkk99p7h1wpd4r2g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         azure-service-api base binary bytestring certificate
+         distributed-process distributed-static executable-path filepath
+         libssh2 mtl network-transport network-transport-tcp pureMD5
+         rank1dynamic transformers unix
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-distributed/distributed-process";
+       description = "Microsoft Azure backend for Cloud Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-client-server" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, containers
+     , data-accessor, deepseq, distributed-process
+     , distributed-process-async, distributed-process-extras
+     , distributed-process-tests, fingertree, ghc-prim, hashable, HUnit
+     , mtl, network, network-transport, network-transport-tcp, rematch
+     , stm, test-framework, test-framework-hunit, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-client-server";
+       version = "0.1.2";
+       sha256 = "0wr0fxdg9114jd180p4lrjkashqcyxv69harj1ww5jc8dxdb3k2s";
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         distributed-process-async distributed-process-extras fingertree
+         hashable mtl stm time transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary containers deepseq distributed-process
+         distributed-process-async distributed-process-extras
+         distributed-process-tests fingertree ghc-prim HUnit mtl network
+         network-transport network-transport-tcp rematch stm test-framework
+         test-framework-hunit transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-distributed/distributed-process-client-server";
+       description = "The Cloud Haskell Application Platform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-execution" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , containers, data-accessor, deepseq, distributed-process
+     , distributed-process-client-server, distributed-process-extras
+     , distributed-process-supervisor, distributed-static, fingertree
+     , ghc-prim, hashable, HUnit, mtl, network, network-transport
+     , network-transport-tcp, QuickCheck, rematch, stm, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-execution";
+       version = "0.1.1";
+       sha256 = "1zm4mcicasf59s3zzca2m7hp4ialzmsmn6arjlz2mnrhcpbkg7ja";
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         distributed-process-client-server distributed-process-extras
+         distributed-process-supervisor fingertree hashable mtl stm time
+         transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary bytestring containers data-accessor
+         deepseq distributed-process distributed-process-extras
+         distributed-static fingertree ghc-prim hashable HUnit mtl network
+         network-transport network-transport-tcp QuickCheck rematch stm
+         test-framework test-framework-hunit test-framework-quickcheck2 time
+         transformers unordered-containers
+       ];
+       homepage = "http://github.com/haskell-distributed/distributed-process-execution";
+       description = "Execution Framework for The Cloud Haskell Application Platform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-extras" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , containers, data-accessor, deepseq, distributed-process
+     , distributed-process-tests, distributed-static, fingertree
+     , ghc-prim, hashable, HUnit, mtl, network, network-transport
+     , network-transport-tcp, QuickCheck, rematch, stm, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-extras";
+       version = "0.2.0";
+       sha256 = "0l8k1h0nx2pign82ydyzsjbkc8qw3vhhbrdggzfwvr3hamnjpqly";
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         fingertree hashable mtl stm time transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary bytestring containers data-accessor
+         deepseq distributed-process distributed-process-tests
+         distributed-static fingertree ghc-prim hashable HUnit mtl network
+         network-transport network-transport-tcp QuickCheck rematch stm
+         test-framework test-framework-hunit test-framework-quickcheck2 time
+         transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-distributed/distributed-process-extras";
+       description = "Cloud Haskell Extras";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-monad-control" = callPackage
+    ({ mkDerivation, base, distributed-process, monad-control
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "distributed-process-monad-control";
+       version = "0.5.1";
+       sha256 = "01sdzmb8izsycxshhsg0pbx0mgn10y41df1dj1s66ish0qszw07m";
+       buildDepends = [
+         base distributed-process monad-control transformers
+         transformers-base
+       ];
+       homepage = "http://haskell-distributed.github.io";
+       description = "Orphan instances for MonadBase and MonadBaseControl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "distributed-process-p2p" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , distributed-process, mtl, network, network-transport
+     , network-transport-tcp
+     }:
+     mkDerivation {
+       pname = "distributed-process-p2p";
+       version = "0.1.3.2";
+       sha256 = "13m283cwlas0xzqxlrmnwmwimwy29hbvymavyqffd1b0k2m6ag31";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers distributed-process mtl network
+         network-transport network-transport-tcp
+       ];
+       homepage = "https://bitbucket.org/dpwiz/distributed-process-p2p/";
+       description = "Peer-to-peer node discovery for Cloud Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "distributed-process-platform" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , containers, data-accessor, deepseq, distributed-process
+     , distributed-static, fingertree, ghc-prim, hashable, HUnit, mtl
+     , network, network-transport, network-transport-tcp, QuickCheck
+     , rematch, stm, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-platform";
+       version = "0.1.0";
+       sha256 = "0bxfynvqkzvah7gbg74yzwpma8j32bamnyysj6dk39da0v880abm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         fingertree hashable mtl stm time transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary bytestring containers data-accessor
+         deepseq distributed-process distributed-static fingertree ghc-prim
+         hashable HUnit mtl network network-transport network-transport-tcp
+         QuickCheck rematch stm test-framework test-framework-hunit
+         test-framework-quickcheck2 time transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-distributed/distributed-process-platform";
+       description = "The Cloud Haskell Application Platform";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "distributed-process-registry" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , containers, data-accessor, deepseq, distributed-process
+     , distributed-process-client-server, distributed-process-extras
+     , distributed-process-supervisor, distributed-process-tests
+     , distributed-static, fingertree, hashable, HUnit, mtl, network
+     , network-transport, network-transport-tcp, rematch, stm
+     , test-framework, test-framework-hunit, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-registry";
+       version = "0.1.0";
+       sha256 = "0c2a5x70sfii053b11xfj2x7199vmmn1k759zylbd5qs129q7hw2";
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         distributed-process-client-server distributed-process-extras
+         distributed-process-supervisor fingertree hashable mtl stm time
+         transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary bytestring containers data-accessor
+         deepseq distributed-process distributed-process-extras
+         distributed-process-tests distributed-static fingertree hashable
+         HUnit mtl network network-transport network-transport-tcp rematch
+         stm test-framework test-framework-hunit time transformers
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-distributed/distributed-process-registry";
+       description = "Cloud Haskell Extended Process Registry";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-simplelocalnet" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , data-accessor, distributed-process, network, network-multicast
+     , network-transport, network-transport-tcp, transformers
+     }:
+     mkDerivation {
+       pname = "distributed-process-simplelocalnet";
+       version = "0.2.2.0";
+       sha256 = "024m5jycz257i34m2x97x3qyg76j1128ww61pql3fqy4mhvp3791";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers data-accessor distributed-process
+         network network-multicast network-transport network-transport-tcp
+         transformers
+       ];
+       homepage = "http://haskell-distributed.github.com";
+       description = "Simple zero-configuration backend for Cloud Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "distributed-process-supervisor" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , containers, data-accessor, deepseq, distributed-process
+     , distributed-process-client-server, distributed-process-extras
+     , distributed-static, fingertree, ghc-prim, hashable, HUnit, mtl
+     , network, network-transport, network-transport-tcp, rematch, stm
+     , test-framework, test-framework-hunit, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-supervisor";
+       version = "0.1.2";
+       sha256 = "1b2rskzjimb2s8xrz4iv4q3c10njjnycxy5bcy159m6hawz1hzj1";
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         distributed-process-client-server distributed-process-extras
+         fingertree hashable mtl stm time transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary bytestring containers data-accessor
+         deepseq distributed-process distributed-process-client-server
+         distributed-process-extras distributed-static fingertree ghc-prim
+         hashable HUnit mtl network network-transport network-transport-tcp
+         rematch stm test-framework test-framework-hunit time transformers
+         unordered-containers
+       ];
+       homepage = "http://github.com/haskell-distributed/distributed-process-supervisor";
+       description = "Supervisors for The Cloud Haskell Application Platform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-task" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , containers, data-accessor, deepseq, distributed-process
+     , distributed-process-async, distributed-process-client-server
+     , distributed-process-extras, distributed-static, fingertree
+     , ghc-prim, hashable, HUnit, mtl, network, network-transport
+     , network-transport-tcp, QuickCheck, rematch, stm, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "distributed-process-task";
+       version = "0.1.1";
+       sha256 = "04w1nhca59i6bzmwfi80mryf5pcsn0zmswq3s3ksqc6wy4mfzy1m";
+       buildDepends = [
+         base binary containers data-accessor deepseq distributed-process
+         distributed-process-async distributed-process-client-server
+         distributed-process-extras fingertree hashable mtl stm time
+         transformers unordered-containers
+       ];
+       testDepends = [
+         ansi-terminal base binary bytestring containers data-accessor
+         deepseq distributed-process distributed-process-async
+         distributed-process-client-server distributed-process-extras
+         distributed-static fingertree ghc-prim hashable HUnit mtl network
+         network-transport network-transport-tcp QuickCheck rematch stm
+         test-framework test-framework-hunit test-framework-quickcheck2 time
+         transformers unordered-containers
+       ];
+       homepage = "http://github.com/haskell-distributed/distributed-process-task";
+       description = "Task Framework for The Cloud Haskell Application Platform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-tests" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , distributed-process, distributed-static, HUnit, network
+     , network-transport, network-transport-tcp, random, rematch
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "distributed-process-tests";
+       version = "0.4.1";
+       sha256 = "1jjj77pw39bbbf58j61hdcpr872ncd1k1z2ly75n96gklw9aikbb";
+       buildDepends = [
+         ansi-terminal base binary bytestring distributed-process
+         distributed-static HUnit network network-transport random rematch
+         test-framework test-framework-hunit
+       ];
+       testDepends = [
+         base network network-transport network-transport-tcp test-framework
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-distributed/distributed-process-tests";
+       description = "Tests for distributed-process";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-process-zookeeper" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , distributed-process, distributed-process-monad-control
+     , enclosed-exceptions, hspec, hzk, lifted-base, monad-control, mtl
+     , network, network-transport, network-transport-tcp, transformers
+     }:
+     mkDerivation {
+       pname = "distributed-process-zookeeper";
+       version = "0.2.0.0";
+       sha256 = "1v8jm5i4kjds7xcmzrhxg9lcz49l9ip7mm8gwjz3f3lgdxm2ykxi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers deepseq distributed-process hzk
+         mtl network network-transport network-transport-tcp transformers
+       ];
+       testDepends = [
+         base bytestring deepseq distributed-process
+         distributed-process-monad-control enclosed-exceptions hspec hzk
+         lifted-base monad-control network network-transport
+         network-transport-tcp transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jeremyjh/distributed-process-zookeeper";
+       description = "A Zookeeper back-end for Cloud Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributed-static" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, rank1dynamic
+     }:
+     mkDerivation {
+       pname = "distributed-static";
+       version = "0.3.1.0";
+       sha256 = "190b6vjcipgrvnfl72c0ssw8crza02gfw9kwyvwg043jcznihj08";
+       buildDepends = [ base binary bytestring containers rank1dynamic ];
+       homepage = "http://haskell-distributed.github.com";
+       description = "Compositional, type-safe, polymorphic static values and closures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "distribution" = callPackage
+    ({ mkDerivation, array, base, containers, MonadRandom, random }:
+     mkDerivation {
+       pname = "distribution";
+       version = "1.0.0.0";
+       sha256 = "0zh9ap3hhylpk7bsp54hm9gj5x8f8zvm5sg7nydmxnigyq0b3l4y";
+       buildDepends = [ array base containers MonadRandom random ];
+       jailbreak = true;
+       homepage = "https://github.com/redelmann/haskell-distribution";
+       description = "Finite discrete probability distributions";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "distribution-plot" = callPackage
+    ({ mkDerivation, base, Chart, Chart-cairo, colour, containers
+     , data-default-class, distribution, lens
+     }:
+     mkDerivation {
+       pname = "distribution-plot";
+       version = "1.0.0.0";
+       sha256 = "16k57dxg79x3i7j62ln063j4g4v4n5x80b12pajjrpxrmaffy79n";
+       buildDepends = [
+         base Chart Chart-cairo colour containers data-default-class
+         distribution lens
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/redelmann/haskell-distribution-plot";
+       description = "Easily plot distributions from the distribution package..";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "distributive" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, ghc-prim
+     , tagged, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "distributive";
+       version = "0.4.4";
+       sha256 = "0s2ln9jv7bh4ri2y31178pvjl8x6nik5d0klx7j2b77yjlsgblc2";
+       buildDepends = [
+         base ghc-prim tagged transformers transformers-compat
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/distributive/";
+       description = "Distributive functors -- Dual to Traversable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "diversity" = callPackage
+    ({ mkDerivation, base, containers, fasta, math-functions
+     , optparse-applicative, parsec, split
+     }:
+     mkDerivation {
+       pname = "diversity";
+       version = "0.4.0.1";
+       sha256 = "15baqhwzhdsbn2iz2r7vkf66nbv0p4ni1qkpnpwblwbcnvfk2lzq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers fasta math-functions optparse-applicative parsec
+         split
+       ];
+       homepage = "https://github.com/GregorySchwartz/diversity";
+       description = "Return the diversity at each position for all sequences in a fasta file";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "djinn" = callPackage
+    ({ mkDerivation, array, base, containers, haskeline, mtl, pretty }:
+     mkDerivation {
+       pname = "djinn";
+       version = "2014.9.7";
+       sha256 = "1p9dvzb83nlrq8h4brdq5l9dm2zf28rjhsmi7nwmac79p5pk9y2g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers haskeline mtl pretty ];
+       description = "Generate Haskell code from a type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "djinn-ghc" = callPackage
+    ({ mkDerivation, async, base, containers, djinn-lib, ghc, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "djinn-ghc";
+       version = "0.0.2.3";
+       sha256 = "190llfn8dvxkdan806nybn3d4psmnr1126zg8lmk8p5wd7nnm5fb";
+       buildDepends = [
+         async base containers djinn-lib ghc mtl transformers
+       ];
+       description = "Generate Haskell code from a type. Bridge from Djinn to GHC API.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "djinn-lib" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty }:
+     mkDerivation {
+       pname = "djinn-lib";
+       version = "0.0.1.2";
+       sha256 = "048hs27awl4j9lg04qbnpf8c51mzbgy2afckis19zcswmavi1zn0";
+       buildDepends = [ base containers mtl pretty ];
+       homepage = "http://www.augustsson.net/Darcs/Djinn/";
+       description = "Generate Haskell code from a type. Library extracted from djinn package.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "djinn-th" = callPackage
+    ({ mkDerivation, base, containers, logict, template-haskell }:
+     mkDerivation {
+       pname = "djinn-th";
+       version = "0.0.1";
+       sha256 = "089b6z8hcv6q9y77zy8m96lc00r1ckzmff0mybp9l1akj7gwdpix";
+       buildDepends = [ base containers logict template-haskell ];
+       jailbreak = true;
+       homepage = "http://gitorious.org/djinn-th";
+       description = "Generate executable Haskell code from a type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dlist" = callPackage
+    ({ mkDerivation, base, Cabal, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "dlist";
+       version = "0.7.1.1";
+       sha256 = "1zayvxvkan2s2ixajdr3f5rn1gzhprzv6cww4cbpwjhzw0l7zc08";
+       buildDepends = [ base deepseq ];
+       testDepends = [ base Cabal QuickCheck ];
+       homepage = "https://github.com/spl/dlist";
+       description = "Difference lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dlist-instances" = callPackage
+    ({ mkDerivation, base, dlist, semigroups }:
+     mkDerivation {
+       pname = "dlist-instances";
+       version = "0.1";
+       sha256 = "0r1j7djywqd7c224wc9ixkplj3m2mbf9k3ra7n92ja2kfpksm615";
+       buildDepends = [ base dlist semigroups ];
+       homepage = "https://github.com/gregwebs/dlist-instances";
+       description = "Difference lists instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dns" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, blaze-builder
+     , bytestring, conduit, conduit-extra, containers, doctest, hspec
+     , iproute, mtl, network, random, resourcet, word8
+     }:
+     mkDerivation {
+       pname = "dns";
+       version = "1.4.5";
+       sha256 = "13s9ysa5hkjjc2a5290mbpnrk2mjg3w01mib62p65rywz26yc7g5";
+       buildDepends = [
+         attoparsec base binary blaze-builder bytestring conduit
+         conduit-extra containers iproute mtl network random resourcet
+       ];
+       testDepends = [
+         attoparsec base binary blaze-builder bytestring conduit
+         conduit-extra containers doctest hspec iproute mtl network random
+         resourcet word8
+       ];
+       testTarget = "spec";
+       description = "DNS library in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dnscache" = callPackage
+    ({ mkDerivation, base, bytestring, containers, contstuff, dns
+     , iproute, time
+     }:
+     mkDerivation {
+       pname = "dnscache";
+       version = "1.1.0";
+       sha256 = "0bwpfw7fsis0sqnqrgw13ifla17mcm2xk9b9jagjjqmim66d6zxb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers contstuff dns iproute time
+       ];
+       jailbreak = true;
+       description = "Caching DNS resolver library and mass DNS resolver utility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dnsrbl" = callPackage
+    ({ mkDerivation, base, containers, hsdns, HUnit, network }:
+     mkDerivation {
+       pname = "dnsrbl";
+       version = "0.0.3";
+       sha256 = "07xq52aqqmzq1f68m8spr7fyax0cqnpv9mh5m4x3klxm0iznv9xm";
+       buildDepends = [ base containers hsdns HUnit network ];
+       homepage = "http://www.pigscanfly.ca/~holden/dnsrbl/";
+       description = "Asynchronous DNS RBL lookup";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dnssd" = callPackage
+    ({ mkDerivation, base, dns_sd, transformers }:
+     mkDerivation {
+       pname = "dnssd";
+       version = "0.1.0.0";
+       sha256 = "0gfyyr1wcxni0r0r9df6lkmv6gvi0qvwclwi9majzg10pas6dk2n";
+       buildDepends = [ base transformers ];
+       extraLibraries = [ dns_sd ];
+       homepage = "https://github.com/maxpow4h/dnssd";
+       description = "DNS service discovery bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { dns_sd = null;};
+
+  "doc-review" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring
+     , containers, directory, feed, filepath, haskell98, heist, hexpat
+     , json, MonadCatchIO-transformers, MonadRandom, monads-fd, network
+     , old-locale, snap-core, snap-server, sqlite, tagchup, text, time
+     , transformers, unix, xhtml-combinators, xml, xml-basic
+     }:
+     mkDerivation {
+       pname = "doc-review";
+       version = "0.7.1";
+       sha256 = "0009gpm6hgjr78bsp0cd4skvhbms83j4j9axf6zns7pnfqvc6inf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring binary bytestring containers directory feed
+         filepath haskell98 heist hexpat json MonadCatchIO-transformers
+         MonadRandom monads-fd network old-locale snap-core snap-server
+         sqlite tagchup text time transformers unix xhtml-combinators xml
+         xml-basic
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/j3h/doc-review";
+       description = "Document review Web application, like http://book.realworldhaskell.org/";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "doccheck" = callPackage
+    ({ mkDerivation, attoparsec, base, directory, directory-tree
+     , filepath, ghc, ghc-paths, text
+     }:
+     mkDerivation {
+       pname = "doccheck";
+       version = "0.1.0.0";
+       sha256 = "055jns09s50iyzgk9m9d7gbxvnmgd4wxfb5axsxra8qnlfq331lb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base directory directory-tree filepath ghc ghc-paths
+         text
+       ];
+       homepage = "https://github.com/Fuuzetsu/doccheck";
+       description = "Checks Haddock comments for pitfalls and version changes";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "docidx" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, html
+     , MissingH, mtl, old-locale, tagsoup, time
+     }:
+     mkDerivation {
+       pname = "docidx";
+       version = "1.1.0";
+       sha256 = "0020pi4m0n6cvb6hdzhai5f9jidwc8dy6qq3pjs6g4dwql9igsb8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath html MissingH mtl
+         old-locale tagsoup time
+       ];
+       homepage = "http://github.com/gimbo/docidx.hs";
+       description = "Generate an HTML index of installed Haskell packages and their documentation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "docker" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , lens, network-uri, pipes, pipes-bytestring, pipes-http
+     , pipes-text, text, wreq
+     }:
+     mkDerivation {
+       pname = "docker";
+       version = "0.1.0.1";
+       sha256 = "0jp7jsacxxzfbz0sdmzwwl9nj8xyfg889zxsw4mg87jxasmll3g2";
+       buildDepends = [
+         aeson base bytestring containers data-default lens network-uri
+         pipes pipes-bytestring pipes-http pipes-text text wreq
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/denibertovic/docker-hs";
+       description = "Haskell wrapper for Docker Remote API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dockercook" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, bytestring
+     , conduit, conduit-combinators, conduit-extra, cryptohash
+     , directory, filepath, hashable, hslogger, HTF, monad-logger, mtl
+     , optparse-applicative, persistent-sqlite, persistent-template
+     , process, regex-compat, resourcet, retry, stm, streaming-commons
+     , system-filepath, temporary, text, time, transformers, unix
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "dockercook";
+       version = "0.4.0.0";
+       sha256 = "1v74zcbk53daxlqgr5b8d900dvyj8kizmz7cwka18a2rz8zi0vbw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base base16-bytestring bytestring conduit
+         conduit-combinators conduit-extra cryptohash directory filepath
+         hashable hslogger monad-logger mtl optparse-applicative
+         persistent-sqlite persistent-template process regex-compat
+         resourcet retry stm streaming-commons system-filepath temporary
+         text time transformers unix unordered-containers vector
+       ];
+       testDepends = [ base HTF text vector ];
+       homepage = "https://github.com/factisresearch/dockercook";
+       description = "A build tool for multiple docker image layers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "docopt" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers
+     , parsec, split, template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "docopt";
+       version = "0.7.0.1";
+       sha256 = "1i8san365h3g1jhkwh4dyphczdfyd1558744hj4sv5q9lnq86l4q";
+       buildDepends = [ base containers parsec template-haskell th-lift ];
+       testDepends = [
+         aeson ansi-terminal base bytestring containers parsec split
+       ];
+       homepage = "https://github.com/docopt/docopt.hs";
+       description = "A command-line interface parser that will make you smile";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "doctest" = callPackage
+    ({ mkDerivation, base, base-compat, deepseq, directory, filepath
+     , ghc, ghc-paths, hspec, HUnit, process, QuickCheck, setenv
+     , silently, stringbuilder, syb, transformers
+     }:
+     mkDerivation {
+       pname = "doctest";
+       version = "0.9.13";
+       sha256 = "0xl570ay5bw1rpd1aw59c092rnwjbp9qykh2rhpxyvl333p8mg00";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base deepseq directory filepath ghc ghc-paths process syb
+         transformers
+       ];
+       testDepends = [
+         base base-compat deepseq directory filepath ghc ghc-paths hspec
+         HUnit process QuickCheck setenv silently stringbuilder syb
+         transformers
+       ];
+       homepage = "https://github.com/sol/doctest#readme";
+       description = "Test interactive Haskell examples";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "doctest-discover" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, doctest
+     , filepath
+     }:
+     mkDerivation {
+       pname = "doctest-discover";
+       version = "0.1.0.6";
+       sha256 = "1rgk831yf4gamb4m10bbcc2r4hhdh4ffjjr80smkfs95x3pi15d3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory doctest filepath
+       ];
+       testDepends = [ base doctest ];
+       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
+    ({ mkDerivation, base, bytestring, configurator, directory, doctest
+     , filepath
+     }:
+     mkDerivation {
+       pname = "doctest-discover-configurator";
+       version = "0.1.0.6";
+       revision = "1";
+       sha256 = "1n2x8rp67ddifyahxcny0k7r514qa82lbxg13z7yg2kvmrfip7r8";
+       editedCabalFile = "79f62a00ff10acba4f850730ed2ffe99d5637bdfdb48f6fc4b92f03fbbb20a45";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring configurator directory doctest filepath
+       ];
+       testDepends = [ base doctest ];
+       homepage = "http://github.com/relrod/doctest-discover-noaeson";
+       description = "Easy way to run doctests via cabal (no aeson dependency, uses configurator instead)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "doctest-prop" = callPackage
+    ({ mkDerivation, base, doctest, HUnit, QuickCheck }:
+     mkDerivation {
+       pname = "doctest-prop";
+       version = "0.2";
+       sha256 = "09wxkhcmh297hqnx3g4x8ff0w5dcmls9y383417rc8wawf5q288n";
+       buildDepends = [ base HUnit QuickCheck ];
+       testDepends = [ base doctest HUnit QuickCheck ];
+       description = "Allow QuickCheck-style property testing within doctest";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dom-lt" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "dom-lt";
+       version = "0.1.3";
+       sha256 = "0i51d8d49jpf7mhl6c2a4565d4vmh0x5f4kam46hn5ahb1v2nrga";
+       buildDepends = [ array base containers ];
+       description = "The Lengauer-Tarjan graph dominators algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dom-selector" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, html-conduit, parsec
+     , QuickCheck, template-haskell, text, th-lift, xml-conduit
+     }:
+     mkDerivation {
+       pname = "dom-selector";
+       version = "0.2.0.1";
+       sha256 = "1nm3r79k4is5lh5fna4v710vhb0n5hpp3d21r0w6hmqizhdrkb22";
+       buildDepends = [
+         base blaze-html containers html-conduit parsec QuickCheck
+         template-haskell text th-lift xml-conduit
+       ];
+       testDepends = [
+         base blaze-html containers html-conduit parsec QuickCheck
+         template-haskell text th-lift xml-conduit
+       ];
+       homepage = "https://github.com/nebuta/";
+       description = "DOM traversal by CSS selectors for xml-conduit package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "domain-auth" = callPackage
+    ({ mkDerivation, appar, base, binary, blaze-builder, bytestring
+     , containers, crypto-pubkey-types, dns, iproute, network, RSA, SHA
+     }:
+     mkDerivation {
+       pname = "domain-auth";
+       version = "0.2.1";
+       sha256 = "1b1kw4pkm1f5z5qwyfpppk5rjqzi4i7b2vx4zmb2cd9398dnkj4a";
+       buildDepends = [
+         appar base binary blaze-builder bytestring containers
+         crypto-pubkey-types dns iproute network RSA SHA
+       ];
+       description = "Domain authentication library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dominion" = callPackage
+    ({ mkDerivation, base, hscolour, hspec, lens, mtl, random
+     , random-extras, random-fu, transformers
+     }:
+     mkDerivation {
+       pname = "dominion";
+       version = "0.1.0.4";
+       sha256 = "13ypa09adkj7yilyxxf84rkpap5h4mmx4pwvc4x6121j77xz29dy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base hscolour lens mtl random random-extras random-fu transformers
+       ];
+       testDepends = [
+         base hscolour hspec lens mtl random random-extras random-fu
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/egonschiele/dominion";
+       description = "A simulator for the board game Dominion";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "domplate" = callPackage
+    ({ mkDerivation, base, bytestring, containers, tagsoup, text
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "domplate";
+       version = "0.1";
+       sha256 = "116ljs471cdb21sjglk53wa8270axw7zbsm6ah785q1vabczgs8p";
+       buildDepends = [
+         base bytestring containers tagsoup text unordered-containers vector
+         yaml
+       ];
+       homepage = "https://github.com/valderman/domplate";
+       description = "A simple templating library using HTML5 as its template language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dot2graphml" = callPackage
+    ({ mkDerivation, base, containers, graphviz, hxt, text }:
+     mkDerivation {
+       pname = "dot2graphml";
+       version = "0.1.0.2";
+       sha256 = "1fwfwp24fdgir0m721c801xi8gkhz2y8s1r1gxdp7m1vl5d0xqii";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers graphviz hxt text ];
+       homepage = "http://redmine.iportnov.ru/projects/dot2graphml";
+       description = "Converter from GraphViz .dot format to yEd GraphML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dotenv" = callPackage
+    ({ mkDerivation, base, base-compat, hspec, optparse-applicative
+     , parsec, process
+     }:
+     mkDerivation {
+       pname = "dotenv";
+       version = "0.1.0.7";
+       sha256 = "0wxzlgh3qz35x3vw5m1xk3f9hq5kpyhccy9h05s0q5012fcd189a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-compat optparse-applicative parsec process
+       ];
+       testDepends = [ base base-compat hspec parsec ];
+       description = "Loads environment variables from dotenv files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dotfs" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , haskell-src, HFuse, HUnit, parsec, process, QuickCheck
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers, unix
+     }:
+     mkDerivation {
+       pname = "dotfs";
+       version = "0.1.1.3";
+       sha256 = "0hj21rvjbn8hmb3kf4225ir57j75d8jyzhw2rw8kmjxw3w62l49f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath haskell-src HFuse
+         HUnit parsec process QuickCheck template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers unix
+       ];
+       testDepends = [
+         base containers haskell-src HUnit parsec QuickCheck
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 transformers
+       ];
+       homepage = "http://github.com/toothbrush/dotfs";
+       description = "Filesystem to manage and parse dotfiles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dotgen" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "dotgen";
+       version = "0.4.2";
+       sha256 = "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/ku-fpg/dotgen";
+       description = "A simple interface for building .dot graph files.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "double-conversion" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, integer-gmp
+     , test-framework, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "double-conversion";
+       version = "2.0.1.0";
+       sha256 = "034ji9jgf3jl0n5pp1nki3lsg173c3b9vniwnwp1q21iasqbawh0";
+       buildDepends = [ base bytestring ghc-prim integer-gmp text ];
+       testDepends = [
+         base bytestring test-framework test-framework-quickcheck2 text
+       ];
+       homepage = "https://github.com/bos/double-conversion";
+       description = "Fast conversion between double precision floating point and text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dow" = callPackage
+    ({ mkDerivation, array, base, directory, elerea, GLFW
+     , mersenne-random, OpenGL
+     }:
+     mkDerivation {
+       pname = "dow";
+       version = "0.2.5";
+       sha256 = "15vlydfw0yw49jha90zcxynwajnyxhqn32x9w7n58k3j0rkcrp9l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base directory elerea GLFW mersenne-random OpenGL
+       ];
+       description = "Dungeons of Wor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "download" = callPackage
+    ({ mkDerivation, base, bytestring, feed, tagsoup, xml }:
+     mkDerivation {
+       pname = "download";
+       version = "0.3.2";
+       sha256 = "0nhbfq8q9ckc5fnlg54l361p2jhkag9cz11v07kj9f1kwkm4d7w3";
+       buildDepends = [ base bytestring feed tagsoup xml ];
+       homepage = "http://code.haskell.org/~dons/code/download";
+       description = "High-level file download based on URLs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "download-curl" = callPackage
+    ({ mkDerivation, base, bytestring, curl, feed, tagsoup, xml }:
+     mkDerivation {
+       pname = "download-curl";
+       version = "0.1.4";
+       sha256 = "1wf3pf2k4i6jvpfsjlxdj6v53qd33jj1z1ipaf3p47glgx4xw3lm";
+       buildDepends = [ base bytestring curl feed tagsoup xml ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~dons/code/download-curl";
+       description = "High-level file download based on URLs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "download-media-content" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, http-enumerator
+     , tagsoup, text
+     }:
+     mkDerivation {
+       pname = "download-media-content";
+       version = "0.0.0.1";
+       sha256 = "1bj4310j3s26xd4ic6hm284dlk91npwilfbwvrk1zz8fas6yr6z6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring filepath http-enumerator tagsoup text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jaspervdj/download-media-content";
+       description = "Simple tool to download images from RSS feeds (e.g. Flickr, Picasa)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dph-base" = callPackage
+    ({ mkDerivation, array, base, ghc-prim, pretty, random, vector }:
+     mkDerivation {
+       pname = "dph-base";
+       version = "0.7.0.1";
+       sha256 = "19rc0h94lgxyndaw41wgnc0prwffl780i6nqsn9b7byvgy97f15y";
+       buildDepends = [ array base ghc-prim pretty random vector ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell common config and debugging functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dph-examples" = callPackage
+    ({ mkDerivation, base, containers, dph-base, dph-lifted-vseg
+     , dph-prim-par, HUnit, old-time, parseargs, random, vector
+     }:
+     mkDerivation {
+       pname = "dph-examples";
+       version = "0.7.0.5";
+       sha256 = "1qbj8hsgpmcx95qsqycb6cnfb5vfk9h3w1jyq4k02hf9g7gyvckz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers dph-base dph-lifted-vseg dph-prim-par HUnit
+         old-time parseargs random vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell example programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dph-lifted-base" = callPackage
+    ({ mkDerivation, array, base, containers, dph-base, dph-prim-par
+     , ghc, pretty, random, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "dph-lifted-base";
+       version = "0.7.0.1";
+       sha256 = "1gp3l9bgpmly3h74hyfxi3yfm8v4r918800ca64q1b16019hk20k";
+       buildDepends = [
+         array base containers dph-base dph-prim-par ghc pretty random
+         template-haskell vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell common definitions used by other dph-lifted packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dph-lifted-copy" = callPackage
+    ({ mkDerivation, array, base, dph-base, dph-prim-par, ghc, random
+     , template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "dph-lifted-copy";
+       version = "0.7.0.1";
+       sha256 = "11aaiarvrm5463b77r2jimw78pr39g8apjk7bim3d8rl3ija775q";
+       buildDepends = [
+         array base dph-base dph-prim-par ghc random template-haskell vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell lifted array combinators. (deprecated version)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dph-lifted-vseg" = callPackage
+    ({ mkDerivation, array, base, containers, dph-base, dph-lifted-base
+     , dph-prim-par, ghc, pretty, random, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "dph-lifted-vseg";
+       version = "0.7.0.1";
+       sha256 = "0vkq7kyd65znzqxh32ql2lrm30vg1wy85bnjg8g08s9q9j3j6a45";
+       buildDepends = [
+         array base containers dph-base dph-lifted-base dph-prim-par ghc
+         pretty random template-haskell vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell lifted array combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dph-par" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "dph-par";
+       version = "0.5.1.99";
+       sha256 = "0csgd8ghbxv1vwp95dn98qv1zp8229fffm9j274bmjg857588i97";
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "(deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dph-prim-interface" = callPackage
+    ({ mkDerivation, base, dph-base, random, vector }:
+     mkDerivation {
+       pname = "dph-prim-interface";
+       version = "0.7.0.1";
+       sha256 = "17m03gylc61d7mx26rz70kwmi014rv1g14683vraa1b77pci5h8j";
+       buildDepends = [ base dph-base random vector ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell segmented arrays. (abstract interface)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dph-prim-par" = callPackage
+    ({ mkDerivation, base, dph-base, dph-prim-interface, dph-prim-seq
+     , old-time, random, vector
+     }:
+     mkDerivation {
+       pname = "dph-prim-par";
+       version = "0.7.0.1";
+       sha256 = "13x7ribvcm965pnzissj0cwk17r5f0ag1zs7w31za17kal3r91pp";
+       buildDepends = [
+         base dph-base dph-prim-interface dph-prim-seq old-time random
+         vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell segmented arrays. (production version)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dph-prim-seq" = callPackage
+    ({ mkDerivation, base, dph-base, dph-prim-interface, ghc-prim
+     , primitive, random, vector
+     }:
+     mkDerivation {
+       pname = "dph-prim-seq";
+       version = "0.7.0.1";
+       sha256 = "1fz95qzvk2f7zg8am73vdbk14ms420vfvapz79piip0s4bv8cnqr";
+       buildDepends = [
+         base dph-base dph-prim-interface ghc-prim primitive random vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "Data Parallel Haskell segmented arrays. (sequential implementation)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dph-seq" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "dph-seq";
+       version = "0.5.1.99";
+       sha256 = "10s6qq4ayh85wvhnyl7dfdr72a76irvg83s71lww8ig988599ygp";
+       homepage = "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell";
+       description = "(deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dpkg" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, HUnit, libdpkg
+     , monad-loops
+     }:
+     mkDerivation {
+       pname = "dpkg";
+       version = "0.0.3";
+       sha256 = "1bqrj1vqqjnv3qcs1s7lbwyzry95fzxrhi6340zqv0ibvyqnaz5k";
+       buildDepends = [ base bindings-DSL bytestring monad-loops ];
+       testDepends = [ base bytestring HUnit libdpkg ];
+       pkgconfigDepends = [ libdpkg ];
+       description = "libdpkg bindings";
+       license = stdenv.lib.licenses.gpl3;
+       broken = true;
+     }) { libdpkg = null;};
+
+  "drClickOn" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "drClickOn";
+       version = "0.1";
+       sha256 = "10rcmqa2x5xlh5pqfsg9dagf2lmrwc2bby3zklzv3x4s3yqg2ar3";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/cwi-swat/monadic-frp";
+       description = "Monadic FRP";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "drawille" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "drawille";
+       version = "0.1.0.5";
+       sha256 = "08zmy1r1qj7adhsp4z0mr7h0qvc9gaziacjqfl0629n5x2i7zddr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       testDepends = [ base containers hspec QuickCheck ];
+       homepage = "https://github.com/yamadapc/haskell-drawille";
+       description = "A port of asciimoo's drawille to haskell";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "drifter" = callPackage
+    ({ mkDerivation, base, bytestring, postgresql-simple, text, time }:
+     mkDerivation {
+       pname = "drifter";
+       version = "0.1.0.1";
+       sha256 = "1ldqlkxkshg4i1iqvjzq01cz9mxhyaszhybhq4kngd0rig3n1qhq";
+       buildDepends = [ base bytestring postgresql-simple text time ];
+       homepage = "https://github.com/AndrewRademacher/drifter";
+       description = "Simple schema management for arbitrary databases";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dropbox-sdk" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , certificate, conduit, HTTP, http-conduit, http-types, json
+     , monad-control, network, old-locale, pem, resourcet
+     , template-haskell, time, tls, tls-extra, transformers, urlencoded
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "dropbox-sdk";
+       version = "0.3.1";
+       sha256 = "1s0aki1ayjickkkwmn1mc38gnd257v24wy6yj9p05qm2g8gm7xy2";
+       buildDepends = [
+         base blaze-builder bytestring case-insensitive certificate conduit
+         HTTP http-conduit http-types json monad-control network old-locale
+         pem resourcet template-haskell time tls tls-extra transformers
+         urlencoded utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/cakoose/dropbox-sdk-haskell";
+       description = "A library to access the Dropbox HTTP API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dropsolve" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, haskell98
+     , process, regex-posix, time
+     }:
+     mkDerivation {
+       pname = "dropsolve";
+       version = "0.1.2.1";
+       sha256 = "1nrvrcf51jdy5vhqbnrllb3y5rgrhg1qwsd05z24s38ra40whbgp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath haskell98 process regex-posix
+         time
+       ];
+       jailbreak = true;
+       description = "A command line tool for resolving dropbox conflicts. Deprecated! Please use confsolve.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ds-kanren" = callPackage
+    ({ mkDerivation, base, containers, logict, QuickCheck, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "ds-kanren";
+       version = "0.2.0.1";
+       sha256 = "14sgqd55jnqahp0mi4x46a5903bnj2f2crlfrkyg9qds73wjj7fk";
+       buildDepends = [ base containers logict ];
+       testDepends = [ base QuickCheck tasty tasty-quickcheck ];
+       description = "A subset of the miniKanren language";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dsmc" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, entropy
+     , hslogger, mwc-random, parallel, primitive, repa, strict
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "dsmc";
+       version = "0.1.0.1";
+       sha256 = "0va22bx3fj80rl03mv3pnwvsdjkax41pp8qxyj3yiicbyi6zzaa5";
+       buildDepends = [
+         attoparsec base bytestring containers entropy hslogger mwc-random
+         parallel primitive repa strict transformers vector
+       ];
+       jailbreak = true;
+       description = "DSMC library for rarefied gas dynamics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dsmc-tools" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, ConfigFile, dsmc, gloss
+     , gloss-raster, hslogger, mtl, repa, strict, transformers, vector
+     }:
+     mkDerivation {
+       pname = "dsmc-tools";
+       version = "0.1.0.1";
+       sha256 = "0wry1dwcf3dwd780aic3v6jlrdjplrsciw1rr582a78c7anasjr0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs ConfigFile dsmc gloss gloss-raster hslogger
+         mtl repa strict transformers vector
+       ];
+       jailbreak = true;
+       description = "DSMC toolkit for rarefied gas dynamics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dson" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "dson";
+       version = "0.3.0.0";
+       sha256 = "15pqja0q1lram7xi5xk8dlcfg5m1z0l4zscqw24wm50hmqpxi09d";
+       buildDepends = [ base parsec ];
+       jailbreak = true;
+       homepage = "https://github.com/lcycon/hs-dson";
+       description = "Haskell DogeScript Object Notation Parser";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "dson-parsec" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "dson-parsec";
+       version = "0.4.1.1";
+       sha256 = "1zflz9vhcz7psssn6hrizmwdmrvpagxhl0648k6f1n9xj50kp99y";
+       buildDepends = [ base parsec ];
+       jailbreak = true;
+       homepage = "https://github.com/alvare/dson-parsec";
+       description = "DSON parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dsp" = callPackage
+    ({ mkDerivation, array, base, random }:
+     mkDerivation {
+       pname = "dsp";
+       version = "0.2.3";
+       sha256 = "1h7y3b2gwbkq97lv6f9a4zssyqs422g5zj2bi9mq1a5fzy5i4v4v";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base random ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/DSP";
+       description = "Haskell Digital Signal Processing";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dstring" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, dlist }:
+     mkDerivation {
+       pname = "dstring";
+       version = "0.4.0.4";
+       sha256 = "15zy1dhfs87hxq1qm54ym0pdhvg7l76m7vy5y06dnksb1sblhaqm";
+       buildDepends = [ base base-unicode-symbols dlist ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/dstring";
+       description = "Difference strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dtab" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , data-binary-ieee754, pretty, transformers
+     }:
+     mkDerivation {
+       pname = "dtab";
+       version = "1.0";
+       revision = "1";
+       sha256 = "1zx5kpljjxyzbsg0hg8ml8mig1s9hggm2nlqmbfbxmldxh3pq1j3";
+       editedCabalFile = "2a7a20cc1b621e5a04b3ca28b3d03d11792731256fb39e94882e5e735d52ac15";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers data-binary-ieee754 pretty
+         transformers
+       ];
+       description = "Harmonix (Guitar Hero, Rock Band) DTA/DTB metadata library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dtd" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base
+     , blaze-builder, conduit, containers, lifted-base, monad-control
+     , network, resourcet, text, transformers, uri-conduit, xml-catalog
+     , xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "dtd";
+       version = "1.1.0.2";
+       sha256 = "11sqmsxw36rn2xkccr7zrmpzijpc3j0z1cxsjcfncnj3l5iaqryp";
+       buildDepends = [
+         attoparsec attoparsec-conduit base blaze-builder conduit containers
+         lifted-base monad-control network resourcet text transformers
+         uri-conduit xml-catalog xml-conduit xml-types
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Parse and render DTD files (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dtd-text" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, dtd-types, text
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "dtd-text";
+       version = "0.1.2.0";
+       sha256 = "1czygz52aparm4qbkfsskm9qd5wirdpccjn66nh7d62d440j1as8";
+       buildDepends = [
+         attoparsec base containers dtd-types text xml-types
+       ];
+       homepage = "http://github.com/m15k/hs-dtd-text";
+       description = "Parse and render XML DTDs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dtd-types" = callPackage
+    ({ mkDerivation, base, text, xml-types }:
+     mkDerivation {
+       pname = "dtd-types";
+       version = "0.3.0.1";
+       sha256 = "1w2ni9b8kn242grdqb4wxvgxqpkpp9qy66d57n33l5jghlg8b0s7";
+       buildDepends = [ base text xml-types ];
+       homepage = "http://projects.haskell.org/dtd/";
+       description = "Basic types for representing XML DTDs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dtrace" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "dtrace";
+       version = "0.1";
+       sha256 = "0qszlhll0cx0clydypg0r0g00v8ig1aasqp1ga0jnbfr7q7rwfrr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Haskell interface to the DTrace system tracing utility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dual-tree" = callPackage
+    ({ mkDerivation, base, monoid-extras, newtype, semigroups }:
+     mkDerivation {
+       pname = "dual-tree";
+       version = "0.2.0.6";
+       sha256 = "0zdmycfr7b2gf63r2w48ylhcywphz9v3z79im33q1wb7p7pjiacv";
+       buildDepends = [ base monoid-extras newtype semigroups ];
+       description = "Rose trees with cached and accumulating monoidal annotations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "duplo" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
+     , base64-bytestring, bytestring, containers, directory
+     , executable-path, filepath, fsnotify, http-types, HUnit
+     , language-javascript, lens, MissingH, mtl, process, QuickCheck
+     , regex-compat, scotty, shake, system-fileio, system-filepath
+     , tasty, tasty-hunit, tasty-quickcheck, text, text-format
+     , transformers, unordered-containers, utf8-string, wai, warp
+     }:
+     mkDerivation {
+       pname = "duplo";
+       version = "1.8.1";
+       sha256 = "1k63904aly7qwx96vqys0yx4amys8y5dl9xb9hp4x7ymw0b6h43i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty ansi-terminal base base64-bytestring bytestring
+         containers directory executable-path filepath fsnotify http-types
+         language-javascript lens MissingH mtl process regex-compat scotty
+         shake system-fileio system-filepath text text-format transformers
+         unordered-containers utf8-string wai warp
+       ];
+       testDepends = [
+         base HUnit MissingH QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Frontend development build tool";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dvda" = callPackage
+    ({ mkDerivation, ad, base, containers, directory, fgl
+     , file-location, graphviz, hashable, hashtables, mtl, process
+     , QuickCheck, test-framework, test-framework-quickcheck2
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "dvda";
+       version = "0.4";
+       sha256 = "1q8avdmzqxnr63ak0i1n6n4cvc23qkrmqlii628mis7vzfcw2yp8";
+       buildDepends = [
+         base containers hashable hashtables mtl unordered-containers vector
+       ];
+       testDepends = [
+         ad base containers directory fgl file-location graphviz hashable
+         hashtables mtl process QuickCheck test-framework
+         test-framework-quickcheck2 unordered-containers
+       ];
+       description = "Efficient automatic differentiation and code generation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dvdread" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, dvdread, mtl }:
+     mkDerivation {
+       pname = "dvdread";
+       version = "0.1";
+       sha256 = "1lxqm9r4zcw364yzpqaaf4nrja5n88vlwa527ixifhc80x6ffx0m";
+       buildDepends = [ base bytestring mtl ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ dvdread ];
+       description = "A monadic interface to libdvdread";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { dvdread = null;};
+
+  "dvi-processing" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, transformers }:
+     mkDerivation {
+       pname = "dvi-processing";
+       version = "0.3.1";
+       sha256 = "0dp6acmrvlns85nzbbh65vd6fjam04h11kxd9bk6j6hqa2qaqa43";
+       buildDepends = [ base bytestring filepath transformers ];
+       description = "Read/write DVI and TFM file";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "dvorak" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "dvorak";
+       version = "0.1.0.0";
+       sha256 = "1kxnzzm24kslsyy9fsjazfz14svbh9svh6f7rnf060as864vmj5g";
+       buildDepends = [ base containers ];
+       testDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/kvanberendonck/codec-dvorak";
+       description = "Dvorak encoding for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dwarf" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers }:
+     mkDerivation {
+       pname = "dwarf";
+       version = "0.23";
+       sha256 = "0h6bzh628cz0qnbk4aiz5859r9va99q307scbwzvs1wn3nm6dszl";
+       buildDepends = [ base binary bytestring containers ];
+       description = "Parser for DWARF debug format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dwarf-el" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, transformers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "dwarf-el";
+       version = "0.2.1.1";
+       sha256 = "18ba03v1m7xbsgygjgfrzr9c7fah21lr3300mhvqipicdgrb691w";
+       buildDepends = [
+         base binary bytestring containers transformers utf8-string
+       ];
+       description = "Parser for DWARF debug format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dwarfadt" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-mmap, containers
+     , dwarf-el, elf, lens, pretty, transformers
+     }:
+     mkDerivation {
+       pname = "dwarfadt";
+       version = "0.4";
+       sha256 = "15mzv6sa2qf0g9skwq4ij35l3lqbc4x3fzwj5hkx93f8pz2bj1hi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-mmap containers dwarf-el elf lens pretty
+         transformers
+       ];
+       jailbreak = true;
+       description = "High-level wrapper around the dwarf library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dx9base" = callPackage
+    ({ mkDerivation, base, Win32 }:
+     mkDerivation {
+       pname = "dx9base";
+       version = "0.1.1";
+       sha256 = "16gwlpxfgh78sx7cb2ryqklhz5smhwk51ma260d6rg082nhy5y3i";
+       buildDepends = [ base Win32 ];
+       description = "Backend for a binding to the Microsoft DirectX 9 API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dx9d3d" = callPackage
+    ({ mkDerivation, base, d3d9, dx9base, Win32 }:
+     mkDerivation {
+       pname = "dx9d3d";
+       version = "0.1.1.1";
+       sha256 = "1y9g53jajgnlrzzg5vzgx329mii9k396xai4b04hs6gndkdrwprj";
+       buildDepends = [ base dx9base Win32 ];
+       extraLibraries = [ d3d9 ];
+       description = "A binding to the Microsoft DirectX 9 API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { d3d9 = null;};
+
+  "dx9d3dx" = callPackage
+    ({ mkDerivation, base, d3dx9, dx9base, dx9d3d, Win32 }:
+     mkDerivation {
+       pname = "dx9d3dx";
+       version = "0.1.1";
+       sha256 = "1n5rbq7k1g5l9y5vkadypfksai9sfx2vimdsas1if9h3jnqvvf67";
+       buildDepends = [ base dx9base dx9d3d Win32 ];
+       extraLibraries = [ d3dx9 ];
+       description = "A binding to the Microsoft DirectX 9 D3DX API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { d3dx9 = null;};
+
+  "dynamic-cabal" = callPackage
+    ({ mkDerivation, base, containers, data-default, directory, doctest
+     , filepath, ghc, ghc-paths, haskell-generate, haskell-src-exts
+     , HUnit, tasty, tasty-hunit, tasty-th, time, void
+     }:
+     mkDerivation {
+       pname = "dynamic-cabal";
+       version = "0.3.5";
+       sha256 = "0fkr3hps3v0ygcah4dpzfqyfxm0rj4knivbbarllzv86h042vwxw";
+       buildDepends = [
+         base containers data-default directory filepath ghc ghc-paths
+         haskell-generate haskell-src-exts time void
+       ];
+       testDepends = [
+         base containers directory doctest filepath ghc HUnit tasty
+         tasty-hunit tasty-th
+       ];
+       homepage = "http://github.com/bennofs/dynamic-cabal/";
+       description = "Access the functions from the Cabal library without depending on it";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dynamic-graph" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, colour, deepseq, either
+     , GLFW-b, GLUtil, OpenGL, pango, pipes, transformers
+     }:
+     mkDerivation {
+       pname = "dynamic-graph";
+       version = "0.1.0.6";
+       sha256 = "0ikyszx122amlg6vp6jvz16y2qndy4plwh2hq1xhi83xicjkc0x1";
+       buildDepends = [
+         base bytestring cairo colour deepseq either GLFW-b GLUtil OpenGL
+         pango pipes transformers
+       ];
+       homepage = "https://github.com/adamwalker/dynamic-graph";
+       description = "Draw and update graphs in real time with OpenGL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dynamic-linker-template" = callPackage
+    ({ mkDerivation, base, containers, template-haskell, unix }:
+     mkDerivation {
+       pname = "dynamic-linker-template";
+       version = "0.1.0.4";
+       sha256 = "043d8kp4a5pskfyzihm7laa1h9jchdgzvc8v32ck0mxcrigicrgq";
+       buildDepends = [ base containers template-haskell unix ];
+       homepage = "http://github.com/hsyl20/dynamic-linker-template";
+       description = "Automatically derive dynamic linking methods from a data type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dynamic-loader" = callPackage
+    ({ mkDerivation, base, directory, ghc-prim, hashable, hashtables
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "dynamic-loader";
+       version = "0.0";
+       sha256 = "0cwmwf60gfcb1xzbx9yz870fxxpdwcd0kmj4pkz6zy8l53j3mqi0";
+       buildDepends = [
+         base directory ghc-prim hashable hashtables time transformers
+       ];
+       homepage = "https://github.com/ggreif/dynamic-loader";
+       description = "lightweight loader of GHC-based modules or packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dynamic-mvector" = callPackage
+    ({ mkDerivation, base, primitive, vector }:
+     mkDerivation {
+       pname = "dynamic-mvector";
+       version = "0.1.0.2";
+       sha256 = "0pxl30zimy5733qn53xi30cfgksslc1wz6vqcfm8kg43919kdagn";
+       buildDepends = [ base primitive vector ];
+       homepage = "https://github.com/AndrasKovacs/dynamic-mvector";
+       description = "A wrapper around MVector that enables pushing, popping and extending";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dynamic-object" = callPackage
+    ({ mkDerivation, base, containers, doctest, ghc, hspec, lens, mtl
+     , QuickCheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "dynamic-object";
+       version = "0.2.1";
+       sha256 = "1xzjwsdq4v08m66lph81h67sii7qkvni5pygmh3iblx7rybsvflb";
+       buildDepends = [
+         base containers lens mtl QuickCheck text transformers
+       ];
+       testDepends = [
+         base doctest ghc hspec lens QuickCheck transformers
+       ];
+       description = "Object-oriented programming with duck typing and singleton classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dynamic-plot" = callPackage
+    ({ mkDerivation, async, base, colour, constrained-categories
+     , containers, deepseq, diagrams-cairo, diagrams-core, diagrams-gtk
+     , diagrams-lib, glib, gtk, lens, manifolds, MemoTrie, MonadRandom
+     , mtl, process, random, semigroups, time, transformers, vector
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "dynamic-plot";
+       version = "0.1.0.1";
+       revision = "1";
+       sha256 = "0yrkf28hsh992bd9cx3dpc69xg444n9j819ysqjfci7wwnvzxx31";
+       editedCabalFile = "bf93f06c056b95264f16bd647b64220d9dd81c421045b66a9a2d2005659cecf5";
+       buildDepends = [
+         async base colour constrained-categories containers deepseq
+         diagrams-cairo diagrams-core diagrams-gtk diagrams-lib glib gtk
+         lens manifolds MemoTrie MonadRandom mtl process random semigroups
+         time transformers vector vector-space
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/leftaroundabout/dynamic-plot";
+       description = "Interactive diagram windows";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "dynamic-state" = callPackage
+    ({ mkDerivation, base, binary, bytestring, concrete-typerep
+     , hashable, unordered-containers
+     }:
+     mkDerivation {
+       pname = "dynamic-state";
+       version = "0.1.1.0";
+       sha256 = "18dc6fbnyk3q7n7gvqrgy98qc2grq0algr2jnc1ai3vm9bqh2x8n";
+       buildDepends = [
+         base binary bytestring concrete-typerep hashable
+         unordered-containers
+       ];
+       description = "Optionally serializable dynamic state keyed by type";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "dynobud" = callPackage
+    ({ mkDerivation, base, binary, bytestring, casadi-bindings
+     , casadi-bindings-core, Chart, Chart-gtk, cmdargs, colour
+     , containers, data-default-class, distributive, generic-accessors
+     , hmatrix, hmatrix-gsl, HUnit, jacobi-roots, lens, linear, mtl
+     , not-gloss, Plot-ho-matic, process, QuickCheck, reflection
+     , semigroups, spatial-math, stm, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , unordered-containers, vector, vector-binary-instances
+     , zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "dynobud";
+       version = "1.3.0.0";
+       sha256 = "1zxwx777n08flmwcd7c9w8rkkcpvkzagwhy0axaxl9n0anyf8q1i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring casadi-bindings casadi-bindings-core Chart
+         Chart-gtk cmdargs colour containers data-default-class distributive
+         generic-accessors hmatrix jacobi-roots lens linear mtl not-gloss
+         Plot-ho-matic process reflection semigroups spatial-math stm
+         unordered-containers vector vector-binary-instances zeromq4-haskell
+       ];
+       testDepends = [
+         base binary casadi-bindings hmatrix hmatrix-gsl HUnit linear
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 vector
+       ];
+       jailbreak = true;
+       description = "your dynamic optimization buddy";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dyre" = callPackage
+    ({ mkDerivation, base, binary, directory, executable-path, filepath
+     , ghc-paths, io-storage, process, time, unix, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "dyre";
+       version = "0.8.12";
+       sha256 = "10hnlysy4bjvvznk8v902mlk4jx95qf972clyi1l32xkqrf30972";
+       buildDepends = [
+         base binary directory executable-path filepath ghc-paths io-storage
+         process time unix xdg-basedir
+       ];
+       homepage = "http://github.com/willdonnelly/dyre";
+       description = "Dynamic reconfiguration in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "dzen-utils" = callPackage
+    ({ mkDerivation, base, colour, process }:
+     mkDerivation {
+       pname = "dzen-utils";
+       version = "0.1.1";
+       sha256 = "05s47s40amydwd6dc75rnaganx2qi2spx668p8x0xs0fdwnqvsf0";
+       buildDepends = [ base colour process ];
+       description = "Utilities for creating inputs for dzen";
+       license = "GPL";
+     }) {};
+
+  "eager-sockets" = callPackage
+    ({ mkDerivation, base, bytestring, network }:
+     mkDerivation {
+       pname = "eager-sockets";
+       version = "0.1";
+       sha256 = "10g8w50hhw8ap6lvsv9apmmfaqvqjwzhnq4mx1npapb8cmsmzgdb";
+       buildDepends = [ base bytestring network ];
+       jailbreak = true;
+       description = "Socket operations with timeouts";
+       license = "unknown";
+     }) {};
+
+  "easy-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, either, http-conduit, mtl
+     , resourcet, text
+     }:
+     mkDerivation {
+       pname = "easy-api";
+       version = "0.1.0.0";
+       sha256 = "0ch4vb7h499gfc2j60gfzj164f3s8rk9hw22g36ymiihsi3ipl1b";
+       buildDepends = [
+         aeson base bytestring either http-conduit mtl resourcet text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/sanetracker/easy-api";
+       description = "Utility code for building HTTP API bindings more quickly";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "easy-file" = callPackage
+    ({ mkDerivation, base, directory, filepath, time, unix }:
+     mkDerivation {
+       pname = "easy-file";
+       version = "0.2.0";
+       sha256 = "0v8skixq15rvyiyky1dcrfl9jrzkbi75vai8np11xy2kg7a8ym2a";
+       buildDepends = [ base directory filepath time unix ];
+       homepage = "http://github.com/kazu-yamamoto/easy-file";
+       description = "Cross-platform File handling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "easyjson" = callPackage
+    ({ mkDerivation, base, mtl, parsec, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "easyjson";
+       version = "0.1.0.1";
+       sha256 = "19464q0xc3pk1jbf3p94ym97i90600dzhyy4ddv9xf4ligvgbsg2";
+       buildDepends = [
+         base mtl parsec text unordered-containers vector
+       ];
+       homepage = "https://github.com/thinkpad20/easyjson";
+       description = "Haskell JSON library with an emphasis on simplicity, minimal dependencies, and ease of use";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "easyplot" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "easyplot";
+       version = "1.0";
+       sha256 = "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk";
+       buildDepends = [ base process ];
+       homepage = "http://hub.darcs.net/scravy/easyplot";
+       description = "A tiny plotting library, utilizes gnuplot for plotting";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "easyrender" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, superdoc, zlib
+     }:
+     mkDerivation {
+       pname = "easyrender";
+       version = "0.1.0.1";
+       sha256 = "147r2jw0vrld73637vw4k83v4xf8r1dl9cy6gcll9kkpkcck8lkn";
+       buildDepends = [ base bytestring containers mtl superdoc zlib ];
+       homepage = "http://www.mathstat.dal.ca/~selinger/easyrender/";
+       description = "User-friendly creation of EPS, PostScript, and PDF files";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ebeats" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "ebeats";
+       version = "0.1.0";
+       sha256 = "0r3pl63fxrrfafwp3791xh0c47pb4jqqcm9lk52g0gaqg0s8x5qk";
+       buildDepends = [ base time ];
+       jailbreak = true;
+       description = "Time in ebeats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ec2-signature" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, doctest
+     , hspec, http-types, HUnit, QuickCheck, SHA
+     }:
+     mkDerivation {
+       pname = "ec2-signature";
+       version = "3.1";
+       sha256 = "1yzyz2a4fm2q6r3nlfjqjmm4fabhl31mq8dgg9shfd3p7cm646g0";
+       buildDepends = [
+         base base64-bytestring bytestring http-types SHA
+       ];
+       testDepends = [
+         base base64-bytestring bytestring doctest hspec http-types HUnit
+         QuickCheck SHA
+       ];
+       homepage = "https://github.com/worksap-ate/ec2-signature";
+       description = "The Amazon EC2 style signature calculator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ecdsa" = callPackage
+    ({ mkDerivation, base, bytestring, crypto-api, crypto-pubkey-types
+     , hecc
+     }:
+     mkDerivation {
+       pname = "ecdsa";
+       version = "0.2";
+       sha256 = "1300m9rszfjmwqbqb7x9clg6y3qwgwa9s38w72r6plhzbiqmy28n";
+       buildDepends = [
+         base bytestring crypto-api crypto-pubkey-types hecc
+       ];
+       homepage = "https://github.com/singpolyma/ecdsa-haskell";
+       description = "Basic ECDSA signing implementation";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ecma262" = callPackage
+    ({ mkDerivation, base, containers, data-default, lens, parsec, safe
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ecma262";
+       version = "0.0.0";
+       sha256 = "1hvi5adgqjkxq1y10d7jr39h4i63khmgrgmlfk09114flllnh8gm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers data-default lens parsec safe transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fabianbergmark/ECMA-262";
+       description = "A ECMA-262 interpreter library";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ecu" = callPackage
+    ({ mkDerivation, base, bytestring, canlib, digest, directory
+     , process, vcd
+     }:
+     mkDerivation {
+       pname = "ecu";
+       version = "0.0.8";
+       sha256 = "1afb507ywpy2y29zmvywj25qw4gn1h5sd0k051jiw03yvdasn0wj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring digest directory process vcd ];
+       extraLibraries = [ canlib ];
+       jailbreak = true;
+       description = "Tools for automotive ECU development";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { canlib = null;};
+
+  "ed25519" = callPackage
+    ({ mkDerivation, base, bytestring, hlint, QuickCheck }:
+     mkDerivation {
+       pname = "ed25519";
+       version = "0.0.2.0";
+       sha256 = "0x08p2941g7f3xsg8jgy5j73v0dihg47j2i1hb53c7h4jhvc1fmj";
+       buildDepends = [ base bytestring ];
+       testDepends = [ base bytestring hlint QuickCheck ];
+       homepage = "http://thoughtpolice.github.com/hs-ed25519";
+       description = "ed25519 cryptographic signatures";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "eddie" = callPackage
+    ({ mkDerivation, base, cmdargs, hint }:
+     mkDerivation {
+       pname = "eddie";
+       version = "0.5.1";
+       sha256 = "1kqrxv195r1dhrnizaml9v20jpwgxq66xdr7jfmri4ai0pvjpzmk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cmdargs hint ];
+       homepage = "http://chiselapp.com/user/mwm/repository/eddie/";
+       description = "Command line file filtering with haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ede" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, bifunctors
+     , bytestring, comonad, directory, filepath, free, lens, mtl
+     , parsers, scientific, semigroups, tasty, tasty-golden, text
+     , text-format, text-manipulate, trifecta, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "ede";
+       version = "0.2.8";
+       sha256 = "1pzqjs7560xkw51aqpivm6sgysnxs6c5jy4fnalvds79gk37yryh";
+       buildDepends = [
+         aeson ansi-wl-pprint base bifunctors bytestring comonad directory
+         filepath free lens mtl parsers scientific semigroups text
+         text-format text-manipulate trifecta unordered-containers vector
+       ];
+       testDepends = [
+         aeson base bifunctors bytestring directory tasty tasty-golden text
+       ];
+       homepage = "http://github.com/brendanhay/ede";
+       description = "Templating language with similar syntax and features to Liquid or Jinja2";
+       license = "unknown";
+     }) {};
+
+  "edenmodules" = callPackage
+    ({ mkDerivation, base, containers, deepseq, parallel }:
+     mkDerivation {
+       pname = "edenmodules";
+       version = "1.2.0.0";
+       sha256 = "1wbasb9lsw2rycl2ibd8r9p3d9dl8gd75390qsc83znqx802ylxj";
+       buildDepends = [ base containers deepseq parallel ];
+       homepage = "http://www.mathematik.uni-marburg.de/~eden";
+       description = "Semi-explicit parallel programming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "edenskel" = callPackage
+    ({ mkDerivation, base, edenmodules, parallel }:
+     mkDerivation {
+       pname = "edenskel";
+       version = "2.0.0.2";
+       sha256 = "0dkvbdy04w4zbbc3q11hzzg3h5d8azka11yiiz3rvy1nkhp9wv5l";
+       buildDepends = [ base edenmodules parallel ];
+       description = "Semi-explicit parallel programming skeleton library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "edentv" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cairo, containers
+     , directory, filepath, ghc-events-parallel, gtk, mtl, text
+     , zip-archive
+     }:
+     mkDerivation {
+       pname = "edentv";
+       version = "4.10.0";
+       sha256 = "0jkcva53vm8lm76z947xms8a2zkh9sn9951cwry8k7r132dmcn32";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring cairo containers directory filepath
+         ghc-events-parallel gtk mtl text zip-archive
+       ];
+       homepage = "http://www.mathematik.uni-marburg.de/~eden";
+       description = "A Tool to Visualize Parallel Functional Program Executions";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "edge" = callPackage
+    ({ mkDerivation, ALUT, base, cmdtheline, containers, gloss, random
+     , wraparound
+     }:
+     mkDerivation {
+       pname = "edge";
+       version = "0.9.0.2";
+       sha256 = "0rd95pw3b83zg50i29g6bvqh4dnz5ma9l3v5r1hhszmrkpyfvzkv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ALUT base cmdtheline containers gloss random wraparound
+       ];
+       jailbreak = true;
+       homepage = "http://frigidcode.com/code/edge";
+       description = "Top view space combat arcade game";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "edit-distance" = callPackage
+    ({ mkDerivation, array, base, containers, random }:
+     mkDerivation {
+       pname = "edit-distance";
+       version = "0.2.1.2";
+       sha256 = "08dxsp1ar8mr4xrjy37lzl0s1rjnqsdq30p09nclip5pyhcw7g44";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers random ];
+       homepage = "http://github.com/batterseapower/edit-distance";
+       description = "Levenshtein and restricted Damerau-Levenshtein edit distances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "edit-distance-vector" = callPackage
+    ({ mkDerivation, base, QuickCheck, quickcheck-instances, vector }:
+     mkDerivation {
+       pname = "edit-distance-vector";
+       version = "1.0.0.1";
+       sha256 = "1whpv0qm00fn0p8v6pgjy9kk04rw9p6ngwan4nrgi4kca0hvf8id";
+       buildDepends = [ base vector ];
+       testDepends = [ base QuickCheck quickcheck-instances vector ];
+       homepage = "https://github.com/thsutton/edit-distance-vector";
+       description = "Calculate edit distances and edit scripts between vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "edit-lenses" = callPackage
+    ({ mkDerivation, base, containers, data-default, lattices, mtl }:
+     mkDerivation {
+       pname = "edit-lenses";
+       version = "0.2";
+       sha256 = "1nrpbrq38q779s0fbzaxig2fdqgg9qg41vajx7lbhasal6aiclya";
+       buildDepends = [ base containers data-default lattices mtl ];
+       description = "Symmetric, stateful edit lenses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "edit-lenses-demo" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "edit-lenses-demo";
+       version = "0.1";
+       sha256 = "0dvxiwhbmknmg4w5dj202g8r0capvgy3rn6c757ci5nhcmr4lypc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Programs demoing the use of symmetric, stateful edit lenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "editable" = callPackage
+    ({ mkDerivation, base, text, vty, vty-ui }:
+     mkDerivation {
+       pname = "editable";
+       version = "1.0.0.2";
+       sha256 = "15jz0b913xd8yd3nzk4vrlj0vzbhjarl05h9j0mdcfgxns5j0yxi";
+       buildDepends = [ base text vty vty-ui ];
+       jailbreak = true;
+       homepage = "https://github.com/maxpow4h/editable";
+       description = "Interactive editors for Generics";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "editline" = callPackage
+    ({ mkDerivation, base, libedit }:
+     mkDerivation {
+       pname = "editline";
+       version = "0.2.1.1";
+       sha256 = "101zhzja14n8bhbrly7w2aywx3sxyzgyjdrmgpg4gn4alf4lzdlz";
+       buildDepends = [ base ];
+       extraLibraries = [ libedit ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/editline";
+       description = "Bindings to the editline library (libedit)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libedit;};
+
+  "effect-handlers" = callPackage
+    ({ mkDerivation, base, free, hspec, hspec-discover, HUnit
+     , kan-extensions, mtl, QuickCheck
+     }:
+     mkDerivation {
+       pname = "effect-handlers";
+       version = "0.1.0.6";
+       sha256 = "0i7glghwh35pfyzznzabaf8fnadk00lpajmasw5h5ndjl2dmqzy9";
+       buildDepends = [ base free kan-extensions mtl ];
+       testDepends = [ base hspec hspec-discover HUnit QuickCheck ];
+       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;
+     }) {};
+
+  "effect-monad" = callPackage
+    ({ mkDerivation, base, ghc-prim, type-level-sets }:
+     mkDerivation {
+       pname = "effect-monad";
+       version = "0.6.1";
+       sha256 = "0kbjsdiv2x84spbw4qrgk76xwwgqrqhasim83h2jjwvn4qdpyjw8";
+       buildDepends = [ base ghc-prim type-level-sets ];
+       description = "Embeds effect systems into Haskell using parameteric effect monads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "effective-aspects" = callPackage
+    ({ mkDerivation, base, Cabal, ghc-prim, hashtables, HUnit, mtl
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "effective-aspects";
+       version = "0.1.0.0";
+       sha256 = "0hcczdc98w8mqhap20dm0dmxbmqrxa8xxs8mjx4lga7y2n6wq22i";
+       buildDepends = [ base ghc-prim hashtables HUnit mtl QuickCheck ];
+       testDepends = [
+         base Cabal ghc-prim hashtables HUnit mtl QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://pleiad.cl/EffectiveAspects";
+       description = "A monadic embedding of aspect oriented programming";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "effective-aspects-mzv" = callPackage
+    ({ mkDerivation, base, Cabal, ghc-prim, hashtables, HUnit, mzv
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "effective-aspects-mzv";
+       version = "0.1.0.1";
+       sha256 = "03mignf38inf10l19mcsjgjb0935lm53b29xy39pkcycrpmp0ckj";
+       buildDepends = [ base ghc-prim hashtables HUnit mzv QuickCheck ];
+       testDepends = [
+         base Cabal ghc-prim hashtables HUnit mzv QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://pleiad.cl/EffectiveAspects";
+       description = "A monadic embedding of aspect oriented programming, using \"Monads, Zippers and Views\" instead of mtl";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "effects" = callPackage
+    ({ mkDerivation, base, containers, newtype, void }:
+     mkDerivation {
+       pname = "effects";
+       version = "0.2.2";
+       sha256 = "0ysz02qvw9gg271dsign11hs7cfsz7xfc4kjmggf10j86lcpi034";
+       buildDepends = [ base containers newtype void ];
+       homepage = "http://github.com/sjoerdvisscher/effects";
+       description = "Computational Effects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "effects-parser" = callPackage
+    ({ mkDerivation, base, effects }:
+     mkDerivation {
+       pname = "effects-parser";
+       version = "0.1";
+       sha256 = "0vjjld95kg02a4nr2a0lwlcwaq3867qvbbjk8b1g6fd3d1qj456r";
+       buildDepends = [ base effects ];
+       homepage = "http://github.com/nybble41/effects-parser";
+       description = "Parser Effect for the Control.Effects Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "effin" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "effin";
+       version = "0.2.1.2";
+       sha256 = "0zjblpsd837ngg1pb1rqb3wyszwx93hpn08qg0b6f68vks83z66s";
+       buildDepends = [ base mtl ];
+       homepage = "https://github.com/YellPika/effin";
+       description = "A Typeable-free implementation of extensible effects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "egison" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath, ghc
+     , ghc-paths, Glob, haskeline, HUnit, mtl, parsec, random
+     , regex-posix, strict-io, test-framework, test-framework-hunit
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "egison";
+       version = "3.5.6";
+       sha256 = "12czzd8ncpyq13d26syb9z9qz9112irwzymja80kgahy2j55vwly";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath ghc ghc-paths haskeline
+         mtl parsec random regex-posix strict-io text transformers
+         unordered-containers
+       ];
+       testDepends = [
+         base Glob HUnit mtl test-framework test-framework-hunit
+         transformers
+       ];
+       homepage = "http://www.egison.org";
+       description = "Programming language with non-linear pattern-matching against unfree data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "egison-quote" = callPackage
+    ({ mkDerivation, base, egison, mtl, parsec, template-haskell }:
+     mkDerivation {
+       pname = "egison-quote";
+       version = "0.2";
+       sha256 = "1qmbivr4lp8m27ns5cz38fkkynfky9z73hqr173dhyvqccjamfgk";
+       buildDepends = [ base egison mtl parsec template-haskell ];
+       homepage = "https://github.com/xenophobia/Egison-Quote";
+       description = "A quasi quotes for using Egison expression in Haskell code";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "egison-tutorial" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , egison, filepath, ghc, ghc-paths, haskeline, mtl, parsec
+     , regex-posix, strict-io, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "egison-tutorial";
+       version = "3.5.1";
+       sha256 = "1an7rlk5gf80n38h29akwrnhh6d2hzvg5l2ig13rr3i2n51gjybx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory egison filepath ghc
+         ghc-paths haskeline mtl parsec regex-posix strict-io transformers
+         unordered-containers
+       ];
+       homepage = "http://www.egison.org";
+       description = "A tutorial program for the Egison programming language";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ehaskell" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtlparse, process
+     , regexpr, utf8-string, yjtools
+     }:
+     mkDerivation {
+       pname = "ehaskell";
+       version = "0.7";
+       sha256 = "0d7j20lrxy5qy1ybgywfjk0d0f6iin37nfw9zdbmhi1z2l89mmnj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath mtlparse process regexpr utf8-string
+         yjtools
+       ];
+       homepage = "http://homepage3.nifty.com/salamander/second/projects/ehaskell/index.xhtml";
+       description = "like eruby, ehaskell is embedded haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ehs" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-meta, parsec
+     , template-haskell, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "ehs";
+       version = "0.7.0";
+       revision = "3";
+       sha256 = "0kckic7v6gab6ksbdmnxbv41fm68zvhfcmvshln9hxmq2mgli11x";
+       editedCabalFile = "e27ea9e604b3868e61e330abcd605d550371ef7f2c27e12e60b1caad99458222";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring haskell-src-meta parsec template-haskell text time
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/minpou/ehs/";
+       description = "Embedded haskell template using quasiquotes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "eibd-client-simple" = callPackage
+    ({ mkDerivation, base, bytestring, containers, eibclient, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "eibd-client-simple";
+       version = "0.0.4";
+       revision = "1";
+       sha256 = "14nxahznqy6xfjgyi8d11b4hgrw431ywqc5hkz0lbpgxysgkc61d";
+       editedCabalFile = "5154a0f9083521b4c60cee92f2614b253961fd1e2dd9e7c5b541630df8597d80";
+       buildDepends = [ base bytestring containers mtl transformers ];
+       extraLibraries = [ eibclient ];
+       jailbreak = true;
+       description = "EIBd Client";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { eibclient = null;};
+
+  "eigen" = callPackage
+    ({ mkDerivation, base, bytestring, primitive, vector }:
+     mkDerivation {
+       pname = "eigen";
+       version = "2.1.0";
+       sha256 = "14amg4g7gxsi529hz5ilhv8b8nzs8p2ypmxh21hq5x4sfnsl4n07";
+       buildDepends = [ base bytestring primitive vector ];
+       testDepends = [ base primitive vector ];
+       homepage = "https://github.com/osidorkin/haskell-eigen";
+       description = "Eigen C++ library (linear algebra: matrices, vectors, numerical solvers)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "either" = callPackage
+    ({ mkDerivation, base, bifunctors, exceptions, free, monad-control
+     , MonadRandom, mtl, profunctors, semigroupoids, semigroups
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "either";
+       version = "4.3.3.2";
+       sha256 = "05j4mk1qlp72w70cahfw4nm506sl0wmkgffi2f5xazwjgkggw595";
+       buildDepends = [
+         base bifunctors exceptions free 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-unwrap" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "either-unwrap";
+       version = "1.1";
+       sha256 = "0g1f5m7bcpnyg2sdvwx8x34ml6dqfrn326s8pbfciaqqf7wddayc";
+       buildDepends = [ base ];
+       homepage = "http://github.com/gcross/either-unwrap";
+       description = "Functions for probing and unwrapping values inside of Either";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "eithers" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "eithers";
+       version = "0.2.0";
+       sha256 = "069w3qbyghs1w8wqimj54dwblq5rx1ylgflzzc4cwnjn0aqzgs45";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ekg" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, ekg-core, filepath
+     , network, snap-core, snap-server, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg";
+       version = "0.4.0.5";
+       sha256 = "0ak06yz88p79bhayy8byy3j9yw9bix7zhw8yxfcdnxjwgnx621h0";
+       buildDepends = [
+         aeson base bytestring ekg-core filepath network snap-core
+         snap-server text time transformers unordered-containers
+       ];
+       homepage = "https://github.com/tibbe/ekg";
+       description = "Remote monitoring of processes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ekg-bosun" = callPackage
+    ({ mkDerivation, aeson, base, ekg-core, http-client, lens, network
+     , network-uri, old-locale, text, time, unordered-containers, vector
+     , wreq
+     }:
+     mkDerivation {
+       pname = "ekg-bosun";
+       version = "1.0.3";
+       sha256 = "0mlfsmw1aa24p6fhml8m2dj2v7hrp91a9d3cfl74rr8z8am61mqc";
+       buildDepends = [
+         aeson base ekg-core http-client lens network network-uri old-locale
+         text time unordered-containers vector wreq
+       ];
+       homepage = "http://github.com/ocharles/ekg-bosun";
+       description = "Send ekg metrics to a Bosun instance";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ekg-carbon" = callPackage
+    ({ mkDerivation, base, ekg-core, network, network-carbon, text
+     , time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "ekg-carbon";
+       version = "1.0.2";
+       sha256 = "0m8cv2hsn1745f7pj552rp9sjsyfh7fbgjw6k2ippqcbxmhqmf4i";
+       buildDepends = [
+         base ekg-core network network-carbon text time unordered-containers
+         vector
+       ];
+       homepage = "http://github.com/ocharles/ekg-carbon";
+       description = "An EKG backend to send statistics to Carbon (part of Graphite monitoring tools)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ekg-core" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-core";
+       version = "0.1.0.3";
+       sha256 = "0d2hvj9g62xkaah8iizgr668ij53164nnrdjkikhc2igi6wk31k4";
+       buildDepends = [
+         base containers ghc-prim text unordered-containers
+       ];
+       homepage = "https://github.com/tibbe/ekg-core";
+       description = "Tracking of system metrics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ekg-log" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, ekg-core
+     , fast-logger, filepath, text, time, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-log";
+       version = "0.1.0.3";
+       sha256 = "1rgjpd0cksxxr1934k9xpzhyzsl54d7yp1mh65m85z7665kcjshw";
+       buildDepends = [
+         aeson base bytestring directory ekg-core fast-logger filepath text
+         time unix unordered-containers
+       ];
+       homepage = "https://github.com/ixmatus/ekg-log";
+       description = "Push metrics to a log file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ekg-push" = callPackage
+    ({ mkDerivation, base, bytestring, ekg-core, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-push";
+       version = "0.0.2";
+       sha256 = "1z41x3i7hvrnca3clrrz62kah3a4lik0f3gxhw3vnyqgszzb46l5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring ekg-core text time unordered-containers
+       ];
+       homepage = "https://github.com/adarqui/ekg-push";
+       description = "Small framework to push metric deltas to a broadcast channel using the ekg-core library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ekg-rrd" = callPackage
+    ({ mkDerivation, base, directory, ekg-core, HUnit, mtl, process
+     , test-framework, test-framework-hunit, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-rrd";
+       version = "0.2.1.69";
+       sha256 = "172p0whjyql5in94rcpr6h13zilhd84qp54z8qvk23kg5jqaf43r";
+       buildDepends = [
+         base directory ekg-core mtl process text time unordered-containers
+       ];
+       testDepends = [
+         base ekg-core HUnit test-framework test-framework-hunit text time
+         unordered-containers
+       ];
+       homepage = "https://bitbucket.org/davecturner/ekg-rrd";
+       description = "Passes ekg statistics to rrdtool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ekg-statsd" = callPackage
+    ({ mkDerivation, base, bytestring, ekg-core, network, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-statsd";
+       version = "0.2.0.1";
+       sha256 = "0s01bkir41189ss72sshlbg4y4qk2wvkr234m2j1y0169l067687";
+       buildDepends = [
+         base bytestring ekg-core network text time unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tibbe/ekg-statsd";
+       description = "Push metrics to statsd";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "electrum-mnemonic" = callPackage
+    ({ mkDerivation, base, tasty, tasty-quickcheck }:
+     mkDerivation {
+       pname = "electrum-mnemonic";
+       version = "0.1.2";
+       sha256 = "1lswfw72imi326146dyvva3w9g4v5725kj817q9bjgrfmzn2k2k3";
+       buildDepends = [ base ];
+       testDepends = [ base tasty tasty-quickcheck ];
+       description = "easy to remember mnemonic for a high-entropy value";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "elerea" = callPackage
+    ({ mkDerivation, base, containers, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "elerea";
+       version = "2.8.0";
+       sha256 = "1sc71775f787dh70ay9fm6x6npsn81yci9yr984ai87ddz023sab";
+       buildDepends = [ base containers transformers transformers-base ];
+       description = "A minimalistic FRP library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elerea-examples" = callPackage
+    ({ mkDerivation, base, elerea, GLFW, OpenGL }:
+     mkDerivation {
+       pname = "elerea-examples";
+       version = "2.2.3";
+       sha256 = "17m52c6qa905wpfanllhnaizq6vv2hp0ldfmlv10b0hbzjs29bx1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base elerea GLFW OpenGL ];
+       description = "Example applications for Elerea";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elerea-sdl" = callPackage
+    ({ mkDerivation, base, elerea, SDL }:
+     mkDerivation {
+       pname = "elerea-sdl";
+       version = "0.1.1";
+       sha256 = "1dfbgnwn0jj3lv2fskc2k3m4h0crars2d1p0gpj265r4k58qis36";
+       buildDepends = [ base elerea SDL ];
+       homepage = "http://github.com/singpolyma/elerea-sdl";
+       description = "Elerea FRP wrapper for SDL";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "elevator" = callPackage
+    ({ mkDerivation, base, extensible, transformers }:
+     mkDerivation {
+       pname = "elevator";
+       version = "0.2.3";
+       sha256 = "1m509dh5k9ci87g22gd2j8lfg4hm4wn156gvd86p3r636c5hbdw2";
+       buildDepends = [ base extensible transformers ];
+       homepage = "https://github.com/fumieval/elevator";
+       description = "Immediately lifts to a desired level";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elf" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "elf";
+       version = "0.27";
+       sha256 = "19ylk13ny2clwfgqv6r55h80ghlgzbwydzrfy1msyxcxn4zmdpjs";
+       buildDepends = [ base binary bytestring ];
+       homepage = "http://github.com/erikcharlebois/elf";
+       description = "Parser for ELF object format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elm-build-lib" = callPackage
+    ({ mkDerivation, base, bytestring, containers, elm-compiler
+     , elm-core-sources, file-embed, template-haskell
+     }:
+     mkDerivation {
+       pname = "elm-build-lib";
+       version = "0.14.0.0";
+       sha256 = "12hhyjr3bshbz66zxl5jfs4s3qx6laqqwcim3kf8rj2vh12h6wj5";
+       buildDepends = [
+         base bytestring containers elm-compiler elm-core-sources file-embed
+         template-haskell
+       ];
+       homepage = "http://github.com/JoeyEremondi/elm-build-lib";
+       description = "Compile Elm code to JS within Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elm-compiler" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, blaze-html
+     , blaze-markup, bytestring, cmdargs, containers, directory
+     , filemanip, filepath, HUnit, indents, language-ecmascript
+     , language-glsl, mtl, parsec, pretty, process, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, transformers, union-find, unordered-containers
+     }:
+     mkDerivation {
+       pname = "elm-compiler";
+       version = "0.14.1";
+       sha256 = "0my04mipgia5qw02nzzrzc4kq3vl7bv75rzrsmd2bdb2wll1k94f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base binary blaze-html blaze-markup bytestring
+         cmdargs containers directory filepath indents language-ecmascript
+         language-glsl mtl parsec pretty process text transformers
+         union-find unordered-containers
+       ];
+       testDepends = [
+         aeson aeson-pretty base binary blaze-html blaze-markup bytestring
+         cmdargs containers directory filemanip filepath HUnit indents
+         language-ecmascript language-glsl mtl parsec pretty process
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text transformers union-find
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://elm-lang.org";
+       description = "Values to help with elm-package, elm-make, and elm-lang.org.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elm-core-sources" = callPackage
+    ({ mkDerivation, base, bytestring, containers, file-embed
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "elm-core-sources";
+       version = "1.0.0";
+       sha256 = "1yr0csgz0hv25cz3jslap0adwvfcvv35bns32b9g0vyda1fm00x4";
+       buildDepends = [
+         base bytestring containers file-embed template-haskell
+       ];
+       homepage = "http://github.com/JoeyEremondi/elm-build-lib";
+       description = "Source files for the Elm runtime and standard libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elm-get" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, base, binary
+     , bytestring, containers, directory, Elm, filepath, HTTP
+     , http-client, http-client-tls, http-types, mtl, network
+     , optparse-applicative, process, vector
+     }:
+     mkDerivation {
+       pname = "elm-get";
+       version = "0.1.3";
+       sha256 = "1did7vjd1h2kh5alndd2b63zi8b1m9hf6k1k75yxwvw6f6mz5i4q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty ansi-wl-pprint base binary bytestring containers
+         directory Elm filepath HTTP http-client http-client-tls http-types
+         mtl network optparse-applicative process vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/elm-lang/elm-get";
+       description = "Tool for sharing and using Elm libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "elm-make" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, binary, blaze-html
+     , blaze-markup, bytestring, containers, directory, elm-compiler
+     , elm-package, filepath, mtl, optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "elm-make";
+       version = "0.1.1";
+       sha256 = "02mqr6v146piwrhycnmlxnky5bmsl7ap7781qmcwkfmc89wfa4zl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base binary blaze-html blaze-markup bytestring
+         containers directory elm-compiler elm-package filepath mtl
+         optparse-applicative text
+       ];
+       jailbreak = true;
+       homepage = "http://elm-lang.org";
+       description = "A build tool for Elm projects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elm-package" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, base, binary
+     , bytestring, containers, directory, elm-compiler, filepath, HTTP
+     , http-client, http-client-tls, http-types, mtl, network
+     , optparse-applicative, pretty, process, text, time
+     , unordered-containers, vector, zip-archive
+     }:
+     mkDerivation {
+       pname = "elm-package";
+       version = "0.4";
+       sha256 = "0vsq87imyvs1sa2n4z41b6qswy2cknxsg4prhwc9r7lvyljkmn03";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty ansi-wl-pprint base binary bytestring containers
+         directory elm-compiler filepath HTTP http-client http-client-tls
+         http-types mtl network optparse-applicative pretty process text
+         time unordered-containers vector zip-archive
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/elm-lang/elm-package";
+       description = "Package manager for Elm libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elm-reactor" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , cmdargs, containers, directory, elm-compiler, filepath, fsnotify
+     , HTTP, mtl, process, snap-core, snap-server, system-filepath, text
+     , time, transformers, unordered-containers, websockets
+     , websockets-snap
+     }:
+     mkDerivation {
+       pname = "elm-reactor";
+       version = "0.3";
+       sha256 = "196xm10x7vi82xmq97ykffkz5j9pclq7qsasispdv3hrhpircv8z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html blaze-markup bytestring cmdargs containers
+         directory elm-compiler filepath fsnotify HTTP mtl process snap-core
+         snap-server system-filepath text time transformers
+         unordered-containers websockets websockets-snap
+       ];
+       homepage = "http://elm-lang.org";
+       description = "Interactive development tool for Elm programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "elm-repl" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-trie, cmdargs
+     , containers, directory, elm-compiler, elm-package, filepath
+     , haskeline, HUnit, mtl, parsec, process, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "elm-repl";
+       version = "0.4";
+       sha256 = "1yy3vxp87bxps41x985sa0q7cqm9wx5d8sc04q0licx0in2phvyi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring bytestring-trie cmdargs containers directory
+         elm-compiler elm-package filepath haskeline mtl parsec process
+       ];
+       testDepends = [
+         base bytestring bytestring-trie cmdargs directory elm-compiler
+         elm-package filepath haskeline HUnit mtl parsec process QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/elm-lang/elm-repl";
+       description = "a REPL for Elm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "elm-server" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers, directory
+     , Elm, filepath, mtl, process, snap-core, snap-server
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "elm-server";
+       version = "0.11.0.1";
+       sha256 = "0nnkhmmm4cl6a314xxh5qwxkjsc3k3vcwdfar62578ykarxb53g1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs containers directory Elm filepath mtl
+         process snap-core snap-server unordered-containers
+       ];
+       homepage = "http://elm-lang.org";
+       description = "Server for developing Elm projects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "elm-yesod" = callPackage
+    ({ mkDerivation, base, blaze-markup, Elm, shakespeare-js, text
+     , yesod-core
+     }:
+     mkDerivation {
+       pname = "elm-yesod";
+       version = "0.2";
+       sha256 = "0hza3khwspwlqbyllh2w1083hh19hslc0lhdryq1bbs8bssird39";
+       buildDepends = [
+         base blaze-markup Elm shakespeare-js text yesod-core
+       ];
+       jailbreak = true;
+       homepage = "http://elm-lang.org";
+       description = "The Elm language Yesod compatibility module";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "email" = callPackage
+    ({ mkDerivation, array, base, bytestring, encoding, HaskellNet
+     , hsemail, old-locale, old-time, parsec, process, time
+     }:
+     mkDerivation {
+       pname = "email";
+       version = "0.1.1.2";
+       sha256 = "144a53an7laivcc6zxawsjz8yijknswnlbrd8id87d6x6lbq1cw3";
+       buildDepends = [
+         array base bytestring encoding HaskellNet hsemail old-locale
+         old-time parsec process time
+       ];
+       jailbreak = true;
+       description = "Sending eMail in Haskell made easy";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "email-header" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
+     , case-insensitive, containers, QuickCheck, tasty, tasty-quickcheck
+     , text, text-icu, time
+     }:
+     mkDerivation {
+       pname = "email-header";
+       version = "0.2.0";
+       sha256 = "1kl7d1scxq6ygjdixl4xkhaa4d60zr8i92fkcw5qczk44la4wiyv";
+       buildDepends = [
+         attoparsec base base64-bytestring bytestring case-insensitive
+         containers text text-icu time
+       ];
+       testDepends = [
+         base bytestring case-insensitive containers QuickCheck tasty
+         tasty-quickcheck text time
+       ];
+       homepage = "http://github.com/knrafto/email-header";
+       description = "Parsing and rendering of email and MIME headers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "email-postmark" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , HTTP, network
+     }:
+     mkDerivation {
+       pname = "email-postmark";
+       version = "0.2";
+       sha256 = "17zby98j1glsslrndmxl6zwrc3q7ir9771yvfxijawp4wdx6nayy";
+       buildDepends = [
+         aeson attoparsec base bytestring containers HTTP network
+       ];
+       jailbreak = true;
+       description = "A simple wrapper to send emails via the api of the service postmark (http://postmarkapp.com/)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "email-validate" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, ghc-prim, HUnit
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "email-validate";
+       version = "2.0.1";
+       sha256 = "1qxvcm8xiyz50ganzic8cm8nxswq361i80yi939y3n89dk067lzj";
+       buildDepends = [ attoparsec base bytestring ghc-prim ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://porg.es/blog/email-address-validation-simpler-faster-more-correct";
+       description = "Validating an email address string against RFC 5322";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "email-validator" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, directory, dns, doctest
+     , email-validate, HUnit, parallel-io, pcre-light, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "email-validator";
+       version = "0.0.3";
+       sha256 = "0ai0fj7rpq9h0i0rznrsqwvqbkkry5dgq4hgg5jc8ma3j9gym87n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs directory dns email-validate HUnit
+         parallel-io pcre-light tasty tasty-hunit
+       ];
+       testDepends = [
+         base bytestring cmdargs directory dns doctest email-validate HUnit
+         parallel-io pcre-light tasty tasty-hunit
+       ];
+       jailbreak = true;
+       description = "Perform basic syntax and deliverability checks on email addresses";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "embeddock" = callPackage
+    ({ mkDerivation, base, filepath, her-lexer, MissingH, process }:
+     mkDerivation {
+       pname = "embeddock";
+       version = "0.3.0.1";
+       sha256 = "01xyqwnyza1cpd7ky4kgr1z5m8w2ms395lj7xjwxh42jg65b1rfr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base filepath her-lexer MissingH process ];
+       homepage = "https://github.com/nushio3/embeddock";
+       description = "Embed the values in scope in the haddock documentation of the module";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "embeddock-example" = callPackage
+    ({ mkDerivation, base, embeddock, time }:
+     mkDerivation {
+       pname = "embeddock-example";
+       version = "0.1";
+       sha256 = "07xc7kdnlbfwr08zhgjphbcmn8ycilp6pna3nk4y0w2hw87g7db0";
+       buildDepends = [ base embeddock time ];
+       homepage = "https://github.com/nushio3/embeddock-example";
+       description = "Example of using embeddock";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "embroidery" = callPackage
+    ({ mkDerivation, base, bytestring, dlist, gloss, haskell98, HCodecs
+     , mtl
+     }:
+     mkDerivation {
+       pname = "embroidery";
+       version = "0.1";
+       sha256 = "1vqksv7a12xzi6zp4b2qfnsb5gaarg5bhxanhbi4qkn1jmwy82yx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring dlist gloss haskell98 HCodecs mtl
+       ];
+       homepage = "https://ludflu@github.com/ludflu/embroidery.git";
+       description = "support for embroidery formats in haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "emgm" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, syb }:
+     mkDerivation {
+       pname = "emgm";
+       version = "0.4";
+       sha256 = "0cpcwrb6wqwq371wqjmhzfhdwk3vfhjjgz4vgjsjvw6cdhbpw5p1";
+       buildDepends = [ base ];
+       testDepends = [ base HUnit QuickCheck syb ];
+       jailbreak = true;
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/EMGM";
+       description = "Extensible and Modular Generics for the Masses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "empty" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "empty";
+       version = "9";
+       sha256 = "0ap7qby3n5qiwf791z4li05h0l6p6xi899wkmg6x8z6bb8z9q2d9";
+       description = "Ceci n'est pas une package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "enclosed-exceptions" = callPackage
+    ({ mkDerivation, async, base, deepseq, hspec, lifted-base
+     , monad-control, QuickCheck, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "enclosed-exceptions";
+       version = "1.0.1.1";
+       sha256 = "16ax1kqdsk4apg642qxkm2hf9vb5hzmkd14zmkxra8ssp8rn28z5";
+       buildDepends = [
+         async base deepseq lifted-base monad-control transformers
+         transformers-base
+       ];
+       testDepends = [
+         async base deepseq hspec lifted-base monad-control QuickCheck
+         transformers transformers-base
+       ];
+       homepage = "https://github.com/jcristovao/enclosed-exceptions";
+       description = "Catching all exceptions from within an enclosed computation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "encoding" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , extensible-exceptions, ghc-prim, HaXml, mtl, regex-compat
+     }:
+     mkDerivation {
+       pname = "encoding";
+       version = "0.8";
+       sha256 = "0y2fx99vxrqpvjflpqgnbikxsc3p50sn5b5g97zivjr9bbck52ji";
+       buildDepends = [
+         array base binary bytestring containers extensible-exceptions
+         ghc-prim HaXml mtl regex-compat
+       ];
+       homepage = "http://code.haskell.org/encoding/";
+       description = "A library for various character encodings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "endo" = callPackage
+    ({ mkDerivation, base, between, transformers }:
+     mkDerivation {
+       pname = "endo";
+       version = "0.1.0.2";
+       sha256 = "1wqg0mcaf55wa70wjgd6n0gw56rghz6p76lc6kw4aki969h12xrl";
+       buildDepends = [ base between transformers ];
+       homepage = "https://github.com/trskop/endo";
+       description = "Endomorphism utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "engine-io" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, base64-bytestring
+     , bytestring, either, free, monad-loops, mwc-random, stm, stm-delay
+     , text, transformers, unordered-containers, vector, websockets
+     }:
+     mkDerivation {
+       pname = "engine-io";
+       version = "1.2.4";
+       sha256 = "08445vp6ma2jids99b21grw8pds086yvbcbh6iyr8x3z74020y1m";
+       buildDepends = [
+         aeson async attoparsec base base64-bytestring bytestring either
+         free monad-loops mwc-random stm stm-delay text transformers
+         unordered-containers vector websockets
+       ];
+       homepage = "http://github.com/ocharles/engine.io";
+       description = "A Haskell implementation of Engine.IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "engine-io-snap" = callPackage
+    ({ mkDerivation, attoparsec-enumerator, base, bytestring
+     , containers, engine-io, MonadCatchIO-transformers, snap-core
+     , unordered-containers, websockets, websockets-snap
+     }:
+     mkDerivation {
+       pname = "engine-io-snap";
+       version = "1.0.2";
+       sha256 = "0x2sb3b825ds1g2g15yyqxdrw6bh968ivmyd1933l47649qbs0xr";
+       buildDepends = [
+         attoparsec-enumerator base bytestring containers engine-io
+         MonadCatchIO-transformers snap-core unordered-containers websockets
+         websockets-snap
+       ];
+       homepage = "http://github.com/ocharles/engine.io";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "engine-io-yesod" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , engine-io, http-types, text, unordered-containers, wai
+     , wai-websockets, websockets, yesod-core
+     }:
+     mkDerivation {
+       pname = "engine-io-yesod";
+       version = "1.0.1";
+       revision = "1";
+       sha256 = "0pczmiqrg046r367j071h2hr6p2amw93sqy7j1drd2gdiwaxzn02";
+       editedCabalFile = "5963c385f145309049f67eb35f835abf2530a7b117730bd9fe0c4991837a52aa";
+       buildDepends = [
+         base bytestring conduit conduit-extra engine-io http-types text
+         unordered-containers wai wai-websockets websockets yesod-core
+       ];
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "engineering-units" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "engineering-units";
+       version = "0.0.1";
+       sha256 = "1jpipav3znxbj7ld5m53wv6pmv1nrcxprqm0m1p3ny9cmpnw3r9x";
+       buildDepends = [ base ];
+       description = "A numeric type for managing and automating engineering units";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "entropy" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "entropy";
+       version = "0.3.6";
+       sha256 = "1sfv930hvdmf018ngdl15jac2bgj75941w0ndlh78n1jgmf04jhn";
+       buildDepends = [ base bytestring unix ];
+       homepage = "https://github.com/TomMD/entropy";
+       description = "A platform independent entropy source";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "enumerable" = callPackage
+    ({ mkDerivation, base, control-monad-omega, tagged }:
+     mkDerivation {
+       pname = "enumerable";
+       version = "0.0.3";
+       sha256 = "1v94y0a3rlkg3qlbv70d1zj2vjhssf1f89xlgb5cnsy9az07517q";
+       buildDepends = [ base control-monad-omega tagged ];
+       description = "A typeclass for enumerating all values a type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "enumeration" = callPackage
+    ({ mkDerivation, arith-encode, arithmoi, base, binary, Cabal
+     , containers, heap, HUnit-Plus
+     }:
+     mkDerivation {
+       pname = "enumeration";
+       version = "0.1.0";
+       sha256 = "17d7vm2nkyhxw2f0wk6llrw9y5kqzgqlgswv98wrpnpsspwmx0bk";
+       buildDepends = [
+         arith-encode arithmoi base binary Cabal containers heap
+       ];
+       testDepends = [
+         arith-encode arithmoi base binary Cabal containers heap HUnit-Plus
+       ];
+       homepage = "https://github.com/emc2/enumeration";
+       description = "A practical API for building recursive enumeration procedures and enumerating datatypes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, containers, text, transformers
+     }:
+     mkDerivation {
+       pname = "enumerator";
+       version = "0.4.20";
+       sha256 = "02a75dggj295zkhgjry5cb43s6y6ydpjb5w6vgl7kd9b6ma11qik";
+       buildDepends = [ base bytestring containers text transformers ];
+       homepage = "https://john-millikin.com/software/enumerator/";
+       description = "Reliable, high-performance processing with left-fold enumerators";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "enumerator-fd" = callPackage
+    ({ mkDerivation, base, enumerator, mtl }:
+     mkDerivation {
+       pname = "enumerator-fd";
+       version = "0.1.0.2";
+       sha256 = "0xbrkv65m206qlvnjlbfb52kvjhw91rdnihwv3y31p2qj5zlz29p";
+       buildDepends = [ base enumerator mtl ];
+       homepage = "https://john-millikin.com/software/enumerator/";
+       description = "Enumerator instances for monads-fd classes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "enumerator-tf" = callPackage
+    ({ mkDerivation, base, enumerator, monads-tf }:
+     mkDerivation {
+       pname = "enumerator-tf";
+       version = "0.1.1";
+       sha256 = "0s47j6pf05nwl105i2vwvsn18gis1v96gid85kj49ngb8ax0pjsp";
+       buildDepends = [ base enumerator monads-tf ];
+       homepage = "https://john-millikin.com/software/enumerator/";
+       description = "Enumerator instances for monads-tf classes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "enumfun" = callPackage
+    ({ mkDerivation, base, enummapset-th }:
+     mkDerivation {
+       pname = "enumfun";
+       version = "0.5.1.0";
+       sha256 = "1fq4zmhc825bmyslfm7kbsa29qq773cgrz4npj2bcfl0jkbl3ndc";
+       buildDepends = [ base enummapset-th ];
+       jailbreak = true;
+       homepage = "https://github.com/liyang/enumfun";
+       description = "Finitely represented /total/ EnumMaps";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "enummapmap" = callPackage
+    ({ mkDerivation, base, cereal, containers, contravariant
+     , data-default, deepseq, ghc-prim, hspec, hspec-expectations, HUnit
+     , lens, QuickCheck, safecopy, semigroups
+     }:
+     mkDerivation {
+       pname = "enummapmap";
+       version = "0.7.0";
+       sha256 = "17rlynm46i3y76ms8s5ajkz50cj5m1anw83dizj281887qg63iwr";
+       buildDepends = [
+         base contravariant data-default deepseq ghc-prim lens safecopy
+         semigroups
+       ];
+       testDepends = [
+         base cereal containers deepseq hspec hspec-expectations HUnit lens
+         QuickCheck safecopy semigroups
+       ];
+       jailbreak = true;
+       description = "Map of maps using Enum types as keys";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "enummapset" = callPackage
+    ({ mkDerivation, base, containers, deepseq }:
+     mkDerivation {
+       pname = "enummapset";
+       version = "0.5.2.0";
+       sha256 = "065gxljrjw59rdf7abq0v0c29wg1ymg984ckixnjrcs1yks0c2js";
+       buildDepends = [ base containers deepseq ];
+       homepage = "https://github.com/michalt/enummapset";
+       description = "IntMap and IntSet with Enum keys/elements";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "enummapset-th" = callPackage
+    ({ mkDerivation, base, containers, deepseq, template-haskell }:
+     mkDerivation {
+       pname = "enummapset-th";
+       version = "0.6.0.2";
+       sha256 = "1g6z60qalyf8iv41xdl409kmcjm406zccljkgl658y1x9rdi08gr";
+       buildDepends = [ base containers deepseq template-haskell ];
+       homepage = "https://github.com/liyang/enummapset-th";
+       description = "TH-generated EnumSet/EnumMap wrappers around IntSet/IntMap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "enumset" = callPackage
+    ({ mkDerivation, base, data-accessor, storable-record }:
+     mkDerivation {
+       pname = "enumset";
+       version = "0.0.4";
+       sha256 = "1dzwxi7i757zdf68v470n8dwn1g8kg51w3c1mwqyxwq85650805w";
+       buildDepends = [ base data-accessor storable-record ];
+       description = "Sets of enumeration values represented by machine words";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "env-parser" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, bytestring, containers, http-types, mtl
+     , network, old-locale, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "env-parser";
+       version = "0.0.2.1";
+       sha256 = "13d6yi5jbdi84nccn3ffiw96v5knbz4madjfg980izxfrnbsl1rr";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bytestring containers http-types mtl network old-locale text time
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tel/env-parser";
+       description = "Pull configuration information from the ENV";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "envparse" = callPackage
+    ({ mkDerivation, base, containers, hspec }:
+     mkDerivation {
+       pname = "envparse";
+       version = "0.2.0";
+       sha256 = "069blfr1kwcd938x2yarbkvbi9nal1fi4qpmyccrb4vx2llqrxkb";
+       buildDepends = [ base containers ];
+       testDepends = [ base containers hspec ];
+       homepage = "https://supki.github.io/envparse";
+       description = "Parse environment variables";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "epanet-haskell" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "epanet-haskell";
+       version = "2.0.12.4";
+       sha256 = "1jpz58zlkhgf2fl4fzicpdkqqdbwy3sw56dga8yvjmgv5zcqqshx";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://epanet.de/developer/haskell.html";
+       description = "Haskell binding for EPANET";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "epass" = callPackage
+    ({ mkDerivation, base, stm, time }:
+     mkDerivation {
+       pname = "epass";
+       version = "0.2.1";
+       sha256 = "0sg5pipzc4s9xq83ari7rigjbvhyh76kqnp57i98bs3k54ba53ym";
+       buildDepends = [ base stm time ];
+       jailbreak = true;
+       homepage = "http://github.com/baldo/epass";
+       description = "Baisc, Erlang-like message passing supporting sockets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "epic" = callPackage
+    ({ mkDerivation, array, base, boehmgc, Cabal, directory, gmp, happy
+     , mtl, process
+     }:
+     mkDerivation {
+       pname = "epic";
+       version = "0.9.3.3";
+       sha256 = "0ap8jr11sk8v2sdi03pahjhaxx3mc4ba7qbh3m8nsg0g5wr4962m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base Cabal directory mtl process ];
+       buildTools = [ happy ];
+       extraLibraries = [ boehmgc gmp ];
+       homepage = "http://www.dcs.st-and.ac.uk/~eb/epic.php";
+       description = "Compiler for a simple functional language";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) boehmgc;  inherit (pkgs) gmp;};
+
+  "epoll" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "epoll";
+       version = "0.2.2";
+       sha256 = "0iz1x6lb5b71h4sgiacsnv5f8zj445v88a3rsra7vbza5g35nwnp";
+       buildDepends = [ base unix ];
+       homepage = "http://github.com/twittner/epoll/";
+       description = "epoll bindings";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "eprocess" = callPackage
+    ({ mkDerivation, base, exceptions, mtl }:
+     mkDerivation {
+       pname = "eprocess";
+       version = "1.7.0";
+       sha256 = "1h4ajq1rraiz7qw7350128n26jnqhzk9iyjzqc3lnbyx87q8j73v";
+       buildDepends = [ base exceptions mtl ];
+       jailbreak = true;
+       description = "*Very* basic Erlang-like process support for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "epub" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, old-time, utf8-string
+     , xml, zip-archive
+     }:
+     mkDerivation {
+       pname = "epub";
+       version = "0.0.7";
+       sha256 = "0h9j9qqdllkng13w978fpd44zxni5v0mpywh7yxz259hlihwmw22";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring filepath old-time utf8-string xml zip-archive
+       ];
+       description = "EPUB E-Book construction support library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "epub-metadata" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , HUnit, hxt, mtl, regex-compat, zip-archive
+     }:
+     mkDerivation {
+       pname = "epub-metadata";
+       version = "4.2";
+       sha256 = "1pj0z6avdwvqrnjgwn7x5ajc7nagr575cilxmvzj22zlzhz4if3p";
+       buildDepends = [
+         base bytestring containers directory filepath hxt mtl regex-compat
+         zip-archive
+       ];
+       testDepends = [
+         base bytestring directory filepath HUnit hxt mtl regex-compat
+         zip-archive
+       ];
+       homepage = "http://ui3.info/d/proj/epub-metadata.html";
+       description = "Library for parsing epub document metadata";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "epub-tools" = callPackage
+    ({ mkDerivation, base, bytestring, directory, epub-metadata
+     , filepath, HUnit, mtl, parsec, process, regex-compat, zip-archive
+     }:
+     mkDerivation {
+       pname = "epub-tools";
+       version = "2.5";
+       sha256 = "0ksnzh2j1xa5jvql7b37dnld3pv1lqf62rfww6wv58hh3d1zmzwj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory epub-metadata filepath mtl parsec process
+         regex-compat zip-archive
+       ];
+       testDepends = [
+         base directory epub-metadata filepath HUnit mtl parsec regex-compat
+       ];
+       homepage = "http://ui3.info/d/proj/epub-tools.html";
+       description = "Command line utilities for working with epub files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "epubname" = callPackage
+    ({ mkDerivation, base, directory, epub-metadata, mtl, regex-compat
+     }:
+     mkDerivation {
+       pname = "epubname";
+       version = "2.3.2";
+       sha256 = "1l3vi5z46x4m5h3x97hgr9g76i4s5scmpmpjzf97c1kddw31hlh3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory epub-metadata mtl regex-compat ];
+       homepage = "http://ui3.info/d/proj/epubname.html";
+       description = "Rename epub ebook files based on meta information";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "eq" = callPackage
+    ({ mkDerivation, base, semigroupoids }:
+     mkDerivation {
+       pname = "eq";
+       version = "4.0.3";
+       sha256 = "1n2f20dh1rghv8c43dgdlpgamq61dy8dzh86v4p62a125pgawfn3";
+       buildDepends = [ base semigroupoids ];
+       homepage = "http://github.com/ekmett/eq/";
+       description = "Leibnizian equality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "equal-files" = callPackage
+    ({ mkDerivation, base, bytestring, explicit-exception, filemanip
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "equal-files";
+       version = "0.0.5.1";
+       sha256 = "1rm0hk42xnzix1ba7bxfrc910v4nnhvqk3cbdrxy7avzhad31nbf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring explicit-exception filemanip transformers
+         utility-ht
+       ];
+       homepage = "http://code.haskell.org/~thielema/equal-files/";
+       description = "Shell command for finding equal files";
+       license = "GPL";
+     }) {};
+
+  "equational-reasoning" = callPackage
+    ({ mkDerivation, base, singletons, template-haskell, void }:
+     mkDerivation {
+       pname = "equational-reasoning";
+       version = "0.2.0.5";
+       sha256 = "1i8c3wn0z7binnz9p62c2mrvzgb305h797pnf5pvj9zk0iqxg21k";
+       buildDepends = [ base singletons template-haskell void ];
+       description = "Proof assistant for Haskell using DataKinds & PolyKinds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "equivalence_0_2_5" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans
+     , template-haskell, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "equivalence";
+       version = "0.2.5";
+       sha256 = "014r9v81r7nj5pynfk3wa4lm4hk04123fgxkhb9a945wi6d9m5h3";
+       buildDepends = [ base containers mtl STMonadTrans ];
+       testDepends = [
+         base containers mtl QuickCheck STMonadTrans template-haskell
+         test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://bitbucket.org/paba/equivalence/";
+       description = "Maintaining an equivalence relation implemented as union-find using STT";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "equivalence" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans
+     , template-haskell, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "equivalence";
+       version = "0.3.0.1";
+       sha256 = "0ym4dlwajwh9qk6wgqzbwy0nfnq13a3f4lcfhw7g7xn63lkwm7ch";
+       buildDepends = [ base containers mtl STMonadTrans ];
+       testDepends = [
+         base containers mtl QuickCheck STMonadTrans template-haskell
+         test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/paba/equivalence/";
+       description = "Maintaining an equivalence relation implemented as union-find using STT";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "erd" = callPackage
+    ({ mkDerivation, base, bytestring, containers, graphviz, parsec
+     , text
+     }:
+     mkDerivation {
+       pname = "erd";
+       version = "0.1.3.0";
+       sha256 = "00cf1q7472kkl12z48dwnhixvyk99451by577qmfj0vhlnl1dc09";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers graphviz parsec text ];
+       homepage = "https://github.com/BurntSushi/erd";
+       description = "An entity-relationship diagram generator from a plain text description";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "erf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "erf";
+       version = "2.0.0.0";
+       sha256 = "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14";
+       buildDepends = [ base ];
+       description = "The error function, erf, and related functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "erf-native" = callPackage
+    ({ mkDerivation, base, polynomial }:
+     mkDerivation {
+       pname = "erf-native";
+       version = "1.0.0.1";
+       sha256 = "0i031ws189rjl5gn44qpkfylx8kz7rdf3nzw9h0dmy2h86xbkckc";
+       buildDepends = [ base polynomial ];
+       homepage = "http://code.haskell.org/~mokus/erf-native";
+       description = "Native Haskell implementation of the interface from the erf package";
+       license = "GPL";
+     }) {};
+
+  "erlang" = callPackage
+    ({ mkDerivation, base, binary, bytestring, directory, filepath
+     , nano-md5, network, random
+     }:
+     mkDerivation {
+       pname = "erlang";
+       version = "0.1";
+       sha256 = "14jvl8mqdaxavzlkwdxr227m4igmcckhakmy45h7bgcxi5qbkla4";
+       buildDepends = [
+         base binary bytestring directory filepath nano-md5 network random
+       ];
+       homepage = "http://github.com/esessoms/haskell-interface";
+       description = "FFI interface to Erlang";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "eros" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, text }:
+     mkDerivation {
+       pname = "eros";
+       version = "0.6.0.0";
+       sha256 = "0nr0c2qq30ji50pyjrklrb6a73i6qkqws7ywbfpa4pcd176xwlrw";
+       buildDepends = [ aeson base bytestring containers text ];
+       jailbreak = true;
+       description = "A text censorship library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "eros-client" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , eros, text
+     }:
+     mkDerivation {
+       pname = "eros-client";
+       version = "0.5.0.1";
+       sha256 = "15pi4khibvfpxni4v3kz6f92s8s34kmkx4q7kwq1rxk5gb6p8rcb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base bytestring containers eros text
+       ];
+       jailbreak = true;
+       description = "DEPRECATED in favor of eros-http";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "eros-http" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, eros
+     , http-types, markdown, text, wai, warp
+     }:
+     mkDerivation {
+       pname = "eros-http";
+       version = "0.6.0.1";
+       sha256 = "1c7bwszjvbb3qnbvpjm0vin2x2z6dylplhs10hbhszkq2ypjjxyk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-html bytestring eros http-types markdown text wai
+         warp
+       ];
+       jailbreak = true;
+       description = "JSON HTTP interface to Eros";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "errno" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "errno";
+       version = "0.1";
+       sha256 = "0jix16b2c24pfbc3rig01nl68zdwpi28zzbciscalmq8lkpp10fa";
+       buildDepends = [ base mtl ];
+       description = "a FFI utility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "error-continuations" = callPackage
+    ({ mkDerivation, base, either, mtl, transformers }:
+     mkDerivation {
+       pname = "error-continuations";
+       version = "0.1.0.0";
+       sha256 = "0rv59fhlfr03qis957mjgl4gyk1i5axfyvr680z3ykbfd3k5gc1s";
+       buildDepends = [ base either mtl transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/echatav/error-continuations";
+       description = "Error Continuations";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "error-loc" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "error-loc";
+       version = "0.1.0.0";
+       sha256 = "0ch7c537fp52yg3qmc1v9rs4y70cc0zyb3g3i0bmmhgdhxd90bm5";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://github.com/joelteon/error-loc";
+       description = "An error replacement with call-site metadata";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "error-location" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "error-location";
+       version = "0.1.5.5";
+       sha256 = "1gfi3jvag662xbsiv75ndb8p9s3c7j6lny15a9gqk8wd4l71myid";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://github.com/gregwebs/ErrorLocation.hs";
+       description = "error functions that show file location information";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "error-message" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, containers, either-unwrap
+     , InfixApplicative, mtl
+     }:
+     mkDerivation {
+       pname = "error-message";
+       version = "1.1";
+       sha256 = "0xnz5l3r9x81pmb6nddzrrws1yqzdqydqkr2g1ib4pwmdwazf7f9";
+       buildDepends = [
+         ansi-wl-pprint base containers either-unwrap InfixApplicative mtl
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/gcross/error-message";
+       description = "Composable error messages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "errorcall-eq-instance" = callPackage
+    ({ mkDerivation, base, base-compat, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "errorcall-eq-instance";
+       version = "0.2.0.1";
+       sha256 = "0df2w882bnm9khkwvs8f1p8svaqjz5vpsidgwx5dd01ypjqkzzq5";
+       buildDepends = [ base base-compat ];
+       testDepends = [ base hspec QuickCheck ];
+       description = "An orphan Eq instance for ErrorCall";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "errors" = callPackage
+    ({ mkDerivation, base, either, safe, transformers }:
+     mkDerivation {
+       pname = "errors";
+       version = "1.4.7";
+       sha256 = "09g53dylwsw1phxq5zhkbq8pnpwqzipvqclmcrdypzkpwkmfncl7";
+       buildDepends = [ base either safe transformers ];
+       description = "Simplified error-handling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ersatz" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-default
+     , directory, doctest, filepath, lens, mtl, parsec, process
+     , temporary, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ersatz";
+       version = "0.3";
+       sha256 = "1hq6cdw1rvwc0289saz36x2imwwnj203hqk2lsbkbhyghdvqmpbr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers data-default lens mtl parsec
+         process temporary transformers unordered-containers
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/ersatz";
+       description = "A monad for expressing SAT or QSAT problems using observable sharing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ersatz-toysat" = callPackage
+    ({ mkDerivation, array, base, containers, ersatz, toysolver
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ersatz-toysat";
+       version = "0.2.0.0";
+       sha256 = "0r7a8dcfpsjicndwlcgv1bc7jjjd8b2g9fds95y2cszprqkhjjh3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers ersatz toysolver transformers
+       ];
+       homepage = "https://github.com/msakai/ersatz-toysat";
+       description = "toysat driver as backend for ersatz";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ert" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-expr, base
+     , bytestring, regex-compat, text, unordered-containers, vector
+     , yaml
+     }:
+     mkDerivation {
+       pname = "ert";
+       version = "0.0.2.0";
+       sha256 = "07pany4zv8crgbcilxsz5abmaq2bma5lhn9fkngra62w8mhkhzvz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec attoparsec-expr base bytestring regex-compat text
+         unordered-containers vector yaml
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/kayo/ert";
+       description = "Easy Runtime Templates";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "esotericbot" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, fgl, mtl, network, stm, stream-fusion, tuple, unix
+     }:
+     mkDerivation {
+       pname = "esotericbot";
+       version = "0.0.6";
+       sha256 = "0r77y94ff210nqjga0xm2hrraa01dgjfaxs3ijrg11z6hfz523s7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers directory fgl mtl network stm
+         stream-fusion tuple unix
+       ];
+       jailbreak = true;
+       homepage = "http://www.killersmurf.com/projects/esotericbot";
+       description = "Esotericbot is a sophisticated, lightweight IRC bot";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "esqueleto" = callPackage
+    ({ mkDerivation, base, conduit, containers, hspec, HUnit
+     , monad-control, monad-logger, persistent, persistent-sqlite
+     , persistent-template, QuickCheck, resourcet, tagged, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "esqueleto";
+       version = "2.1.2.3";
+       sha256 = "0pa4j9xd8hk2imfggkjxk08314jpi0fh9z0pkr7f8mix6rvqm8ir";
+       buildDepends = [
+         base conduit monad-logger persistent resourcet tagged text
+         transformers unordered-containers
+       ];
+       testDepends = [
+         base conduit containers hspec HUnit monad-control monad-logger
+         persistent persistent-sqlite persistent-template QuickCheck
+         resourcet text transformers
+       ];
+       homepage = "https://github.com/prowdsponsor/esqueleto";
+       description = "Type-safe EDSL for SQL queries on persistent backends";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "estimator" = callPackage
+    ({ mkDerivation, ad, base, distributive, lens, linear, reflection
+     }:
+     mkDerivation {
+       pname = "estimator";
+       version = "1.1.0.0";
+       sha256 = "1qwbjy71zshlg8vp0qm5wya8ikgac9jpc5xr0x31i85p3yv5xl1p";
+       buildDepends = [ ad base distributive lens linear reflection ];
+       jailbreak = true;
+       homepage = "https://github.com/GaloisInc/estimator";
+       description = "State-space estimation algorithms such as Kalman Filters";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "estimators" = callPackage
+    ({ mkDerivation, base, binary, containers, deepseq, list-tries
+     , MonadRandom, mtl, pretty, prettyclass, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "estimators";
+       version = "0.1.4";
+       sha256 = "0n7j2ay68m73f1mkfsxrrcs1rq0fpavwf58r50y7wirpm5f6agcy";
+       buildDepends = [
+         base binary containers deepseq list-tries MonadRandom mtl pretty
+         prettyclass QuickCheck text
+       ];
+       jailbreak = true;
+       description = "Tool for managing probability estimation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "estreps" = callPackage
+    ({ mkDerivation, base, bio, bytestring, containers, random }:
+     mkDerivation {
+       pname = "estreps";
+       version = "0.3.1";
+       sha256 = "100pqygnwclmpzjhzpz3j34y8v75d8ldxg76f9jys90gb41kggpi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bio bytestring containers random ];
+       jailbreak = true;
+       homepage = "http://blog.malde.org/";
+       description = "Repeats from ESTs";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "etcd" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit
+     , MonadRandom, mtl, text, time
+     }:
+     mkDerivation {
+       pname = "etcd";
+       version = "1.0.3";
+       sha256 = "0575f7kh8kkyp849b0gh10ka0xip0q1014il2q05vds118mvqxg3";
+       buildDepends = [ aeson base bytestring http-conduit text time ];
+       testDepends = [ base hspec MonadRandom mtl text ];
+       description = "Client for etcd, a highly-available key value store";
+       license = "unknown";
+     }) {};
+
+  "eternal" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, transformers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "eternal";
+       version = "0.1.1";
+       sha256 = "151b9qcdyh0vixn0y4s9h54g1h0kk1hwcgh5xcx9qp7bgy0h8wv9";
+       buildDepends = [
+         base base-unicode-symbols transformers utf8-string
+       ];
+       description = "everything breaking the Fairbairn threshold";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ethereum-client-haskell" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, array, base, base16-bytestring
+     , binary, bytestring, cmdargs, containers, cryptohash, data-default
+     , directory, either, entropy, ethereum-merkle-patricia-db
+     , ethereum-rlp, filepath, haskoin, HUnit, leveldb-haskell, mtl
+     , network, network-simple, nibblestring, resourcet, test-framework
+     , test-framework-hunit, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "ethereum-client-haskell";
+       version = "0.0.4";
+       sha256 = "0dkvvs7bk4paqjmr1zihi14kp4cb28s33b18kd3a17lz1vd4qbfc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint array base base16-bytestring binary bytestring
+         cmdargs containers cryptohash data-default directory either entropy
+         ethereum-merkle-patricia-db ethereum-rlp filepath haskoin
+         leveldb-haskell mtl network network-simple nibblestring resourcet
+         time transformers vector
+       ];
+       testDepends = [
+         base containers HUnit test-framework test-framework-hunit
+       ];
+       description = "A Haskell version of an Ethereum client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ethereum-merkle-patricia-db" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, base16-bytestring, binary
+     , bytestring, containers, cryptohash, data-default, ethereum-rlp
+     , HUnit, leveldb-haskell, nibblestring, resourcet, test-framework
+     , test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "ethereum-merkle-patricia-db";
+       version = "0.0.1";
+       sha256 = "0pxncaam139nl99wm1i7fcnnsy683p6inasz10knfd2jsxcz8yr8";
+       buildDepends = [
+         ansi-wl-pprint base base16-bytestring binary bytestring cryptohash
+         data-default ethereum-rlp leveldb-haskell nibblestring resourcet
+       ];
+       testDepends = [
+         ansi-wl-pprint base base16-bytestring binary bytestring containers
+         cryptohash data-default ethereum-rlp HUnit leveldb-haskell
+         nibblestring resourcet test-framework test-framework-hunit
+         transformers
+       ];
+       description = "A modified Merkle Patricia DB";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ethereum-rlp" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, base16-bytestring
+     , bytestring, HUnit, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "ethereum-rlp";
+       version = "0.0.1";
+       sha256 = "1hx5nhdy27kx67mwi8zjgqfxir0z7bp47xsw3a6hz40hj716n9r5";
+       buildDepends = [
+         ansi-wl-pprint base base16-bytestring bytestring
+       ];
+       testDepends = [
+         ansi-wl-pprint base base16-bytestring bytestring HUnit
+         test-framework test-framework-hunit
+       ];
+       description = "Ethereum Recursive Length Prefix Encoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ety" = callPackage
+    ({ mkDerivation, base, bytestring, curl, random, text-icu
+     , utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "ety";
+       version = "0.1";
+       sha256 = "165vwca1q001pa9f09vfhf724kq5jnsip907c9dr6fncj9yjdp2p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring curl random text-icu utf8-string xml
+       ];
+       description = "Random etymology online entry";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "euler" = callPackage
+    ({ mkDerivation, base, directory, happy, hlint, hspec, process
+     , regex-posix, xml
+     }:
+     mkDerivation {
+       pname = "euler";
+       version = "0.8.2";
+       sha256 = "1dw4jsvyv4a736q2q0790qc7b5b4vaw2pwpn0ibdn33h6463a4pf";
+       buildDepends = [ base ];
+       testDepends = [
+         base directory happy hlint hspec process regex-posix xml
+       ];
+       homepage = "https://github.com/decomputed/euler";
+       description = "Mathematics utilities for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "eurofxref" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, failure
+     , hexpat, http-conduit, http-types, monad-control, mtl, time
+     }:
+     mkDerivation {
+       pname = "eurofxref";
+       version = "0.2.1";
+       sha256 = "0zjf3rky2ww2nq4ryyz0069cv3ps1h29nwrgr2sk127bsik868x9";
+       buildDepends = [
+         base bytestring conduit containers failure hexpat http-conduit
+         http-types monad-control mtl time
+       ];
+       jailbreak = true;
+       description = "Free foreign exchange/currency feed from the European Central Bank";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "event-driven" = callPackage
+    ({ mkDerivation, base, monads-tf, yjtools }:
+     mkDerivation {
+       pname = "event-driven";
+       version = "0.0.2";
+       sha256 = "1jkrc1k0ixjs95fvj36gr08igpx5vqff5zc6bi9f04ldxqz4wbap";
+       buildDepends = [ base monads-tf yjtools ];
+       description = "library for event driven programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "event-handlers" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "event-handlers";
+       version = "0.0.0.3";
+       sha256 = "1515v1khdkr145z5inrm2ardhpzfsbncpl5wmfd9nmilw97da9ld";
+       buildDepends = [ base containers ];
+       homepage = "http://code.haskell.org/~mokus/event-handlers";
+       description = "Event handlers";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "event-list" = callPackage
+    ({ mkDerivation, base, non-negative, QuickCheck, random
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "event-list";
+       version = "0.1.1.2";
+       sha256 = "1nvc473rv9m6vr9l9d5x9v6h89819s822gwzilx8d5fj5i50nqzb";
+       buildDepends = [
+         base non-negative QuickCheck transformers utility-ht
+       ];
+       testDepends = [
+         base non-negative QuickCheck random transformers utility-ht
+       ];
+       homepage = "http://code.haskell.org/~thielema/event-list/";
+       description = "Event lists with relative or absolute time stamps";
+       license = "GPL";
+     }) {};
+
+  "event-monad" = callPackage
+    ({ mkDerivation, base, containers, event-handlers, haskell98
+     , monad-loops, mtl, pretty, prettyclass, priority-queue, stateref
+     }:
+     mkDerivation {
+       pname = "event-monad";
+       version = "0.0.3";
+       sha256 = "1phs799i4da1nfgx530bp93n9xhzgnavilwlk8nz5vi3kd61gzf4";
+       buildDepends = [
+         base containers event-handlers haskell98 monad-loops mtl pretty
+         prettyclass priority-queue stateref
+       ];
+       homepage = "http://code.haskell.org/~mokus/event-monad";
+       description = "Event-graph simulation monad transformer";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "eventstore" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, cereal, containers
+     , network, protobuf, random, sodium, text, time, uuid
+     }:
+     mkDerivation {
+       pname = "eventstore";
+       version = "0.7.0.1";
+       sha256 = "1k94kh1wgskhh51by522sz58lzxpgv8qddfalwjmy845dfivbswg";
+       buildDepends = [
+         aeson async base bytestring cereal containers network protobuf
+         random sodium text time uuid
+       ];
+       homepage = "http://github.com/YoEight/eventstore";
+       description = "EventStore TCP Client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "every-bit-counts" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "every-bit-counts";
+       version = "0.1";
+       sha256 = "0r959iyd5nsw3sj7p0gwsccdgaald9lwisg0lvq9qynyz09kh4vj";
+       buildDepends = [ base haskell98 ];
+       homepage = "http://research.microsoft.com/en-us/people/dimitris/pearl.pdf";
+       description = "A functional pearl on encoding and decoding using question-and-answer strategies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ewe" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ewe";
+       version = "0.1.0.40";
+       sha256 = "0r9kcpb6j2x4cmg26rvzd2gp4bjjmlsd0rbk1y2dc7vyivd0m14l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers mtl transformers ];
+       buildTools = [ alex happy ];
+       homepage = "http://github.com/jfcmacro/ewe";
+       description = "An language using in Programming Languages teaching";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ex-pool" = callPackage
+    ({ mkDerivation, base, exceptions, hashable, stm, time
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "ex-pool";
+       version = "0.2";
+       sha256 = "0da5grl2fdca24zhlngq2n16smdb4f5vvxqzc29ipsc3j7wkbmva";
+       buildDepends = [
+         base exceptions hashable stm time transformers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kim/ex-pool";
+       description = "Another fork of resource-pool, with a MonadIO and MonadCatch constraint";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exact-combinatorics" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "exact-combinatorics";
+       version = "0.2.0.7";
+       sha256 = "05q31mh5x6i90n3ddxyqnhhjga7vbsbi947iywyqi53h2z2iw8f7";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Efficient exact computation of combinatoric functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exception-mailer" = callPackage
+    ({ mkDerivation, base, hslogger, mime-mail, text }:
+     mkDerivation {
+       pname = "exception-mailer";
+       version = "0.4.1";
+       sha256 = "068zhr90gldin0f6xafqp1pncf6rhhm3gagnvn6r3p0kx060ia23";
+       buildDepends = [ base hslogger mime-mail text ];
+       homepage = "https://github.com/drpowell/exception-mailer";
+       description = "Catch all runtime exceptions and send an email";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exception-monads-fd" = callPackage
+    ({ mkDerivation, base, exception-transformers, monads-fd
+     , transformers
+     }:
+     mkDerivation {
+       pname = "exception-monads-fd";
+       version = "0.2";
+       sha256 = "1wrhi9h2k068f0q0aqvpmlyx3318znm137xnvx7icf5shlpsilvi";
+       buildDepends = [
+         base exception-transformers monads-fd transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.eecs.harvard.edu/~mainland/";
+       description = "Exception monad transformer instances for monads-fd classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exception-monads-tf" = callPackage
+    ({ mkDerivation, base, exception-transformers, monads-tf
+     , transformers
+     }:
+     mkDerivation {
+       pname = "exception-monads-tf";
+       version = "0.4";
+       sha256 = "0k9ada0g4nxwxggarpfcfdzg2zvxqdg9bkb4hv5v3qqanjmvb9hg";
+       buildDepends = [
+         base exception-transformers monads-tf transformers
+       ];
+       jailbreak = true;
+       description = "Exception monad transformer instances for monads-tf classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exception-mtl" = callPackage
+    ({ mkDerivation, base, exception-transformers, mtl, transformers }:
+     mkDerivation {
+       pname = "exception-mtl";
+       version = "0.4";
+       sha256 = "1ya2xxl25afj2rxl2vziifrc91nzyg47vs06s0b65qjd7yz533j3";
+       buildDepends = [ base exception-transformers mtl transformers ];
+       description = "Exception monad transformer instances for mtl classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exception-transformers" = callPackage
+    ({ mkDerivation, base, HUnit, stm, test-framework
+     , test-framework-hunit, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "exception-transformers";
+       version = "0.4.0.1";
+       sha256 = "1ay46wawrrsvii3b4kqxi2cg3b6r7wfw0l7d66il195qa6hh4sfq";
+       buildDepends = [ base stm transformers transformers-compat ];
+       testDepends = [
+         base HUnit test-framework test-framework-hunit transformers
+         transformers-compat
+       ];
+       description = "Type classes and monads for unchecked extensible exceptions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exceptions" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, stm, test-framework
+     , test-framework-quickcheck2, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "exceptions";
+       version = "0.8.0.2";
+       sha256 = "1x1bk1jf42k1gigiqqmkkh38z2ffhx8rsqiszdq3f94m2h6kw2h7";
+       buildDepends = [ base mtl stm transformers transformers-compat ];
+       testDepends = [
+         base mtl QuickCheck stm test-framework test-framework-quickcheck2
+         transformers transformers-compat
+       ];
+       homepage = "http://github.com/ekmett/exceptions/";
+       description = "Extensible optionally-pure exceptions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "executable-hash" = callPackage
+    ({ mkDerivation, base, bytestring, cryptohash, directory
+     , executable-path, file-embed, template-haskell
+     }:
+     mkDerivation {
+       pname = "executable-hash";
+       version = "0.2.0.0";
+       sha256 = "0g733akm65rjdl5mncfyhnqncan985n02vzn0z02689aq8dnav4p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cryptohash directory executable-path file-embed
+         template-haskell
+       ];
+       testDepends = [ base ];
+       homepage = "http://github.com/fpco/executable-hash";
+       description = "Provides the SHA1 hash of the program executable";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "executable-path" = callPackage
+    ({ mkDerivation, base, directory, filepath, unix }:
+     mkDerivation {
+       pname = "executable-path";
+       version = "0.0.3";
+       sha256 = "1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc";
+       buildDepends = [ base directory filepath unix ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Finding out the full path of the executable";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "exhaustive" = callPackage
+    ({ mkDerivation, base, generics-sop, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "exhaustive";
+       version = "1.1.0";
+       sha256 = "14pdf5iks0j2vpg3w48qs32lnj8ahkd0jljjhx1qap66mss0i3jl";
+       buildDepends = [ base generics-sop template-haskell transformers ];
+       homepage = "http://github.com/ocharles/exhaustive";
+       description = "Compile time checks that a computation considers producing data through all possible constructors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exif" = callPackage
+    ({ mkDerivation, base, exif }:
+     mkDerivation {
+       pname = "exif";
+       version = "3000.0.0";
+       sha256 = "0w0l4xk3qwfiw10880729mwfdkx4xpfn9ffdw7fi5swyhinjh6wi";
+       buildDepends = [ base ];
+       extraLibraries = [ exif ];
+       description = "A Haskell binding to a subset of libexif";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) exif;};
+
+  "exists" = callPackage
+    ({ mkDerivation, base, contravariant }:
+     mkDerivation {
+       pname = "exists";
+       version = "0.2";
+       sha256 = "1f7v2f7jmqx0nkl2wla88mnb21nava74b73rvsmfbj4kxmwchsgy";
+       buildDepends = [ base contravariant ];
+       jailbreak = true;
+       homepage = "http://github.com/glehel/exists";
+       description = "Existential datatypes holding evidence of constraints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exp-pairs" = callPackage
+    ({ mkDerivation, base, ghc-prim, matrix, memoize, QuickCheck
+     , random, smallcheck, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "exp-pairs";
+       version = "0.1.2.0";
+       sha256 = "0iz22m8m4pk87xnpdgklw9d6ycf8s3sblyz8g78ykyvf0bf347zs";
+       buildDepends = [ base ghc-prim memoize ];
+       testDepends = [
+         base matrix memoize QuickCheck random smallcheck tasty tasty-hunit
+         tasty-quickcheck tasty-smallcheck
+       ];
+       homepage = "https://github.com/Bodigrim/exp-pairs";
+       description = "Linear programming over exponent pairs";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "expand" = callPackage
+    ({ mkDerivation, AspectAG, base, HList, murder, uu-parsinglib }:
+     mkDerivation {
+       pname = "expand";
+       version = "0.0.1";
+       sha256 = "0i8agr9np8pg40z58z8jz1fvq3vqjk2sx247dn33mvqyd03hnbss";
+       buildDepends = [ AspectAG base HList murder uu-parsinglib ];
+       jailbreak = true;
+       description = "Extensible Pandoc";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "expat-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, hexpat, text
+     , transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "expat-enumerator";
+       version = "0.1.0.3";
+       sha256 = "0alllaa9qj94jp99pyvbh4ckdvb43aba2l2jmigazqvbc9db03mx";
+       buildDepends = [
+         base bytestring enumerator hexpat text transformers xml-types
+       ];
+       jailbreak = true;
+       homepage = "http://john-millikin.com/software/expat-enumerator/";
+       description = "Enumerator-based API for Expat";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "expiring-cache-map" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hashable, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "expiring-cache-map";
+       version = "0.0.5.4";
+       sha256 = "0wbx9qp9ki9gwrc9qafpflkmyj1yiryak1di163mz0i3dv2w73h8";
+       buildDepends = [ base containers hashable unordered-containers ];
+       testDepends = [
+         base bytestring containers hashable time unordered-containers
+       ];
+       homepage = "https://github.com/elblake/expiring-cache-map";
+       description = "General purpose simple caching";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "expiring-mvar" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "expiring-mvar";
+       version = "0.1";
+       sha256 = "0mkc7d346vdsjg83a253986w4pps53r262w1if91q16kx6qci7yy";
+       buildDepends = [ base ];
+       description = "Create values which expire after a period of time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "explain" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "explain";
+       version = "0.1.0.1";
+       sha256 = "14n8ic5mg2819s9bk4czwfxrkyz96c2lvnksv1hq5vwr579rvjx2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ ansi-wl-pprint base haskell-src-exts ];
+       jailbreak = true;
+       homepage = "https://github.com/joelteon/explain";
+       description = "Show how expressions are parsed";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "explicit-determinant" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "explicit-determinant";
+       version = "0.1.0.0";
+       sha256 = "0g20kblzvhx53mi82frpx29x0nsfjrzsanqq8f6yw22lh47pbm4y";
+       buildDepends = [ base ];
+       homepage = "https://github.com/jwaldmann/haskell-explicit-determinant";
+       description = "explicit computation of determinant of small matrices";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "explicit-exception" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "explicit-exception";
+       version = "0.1.7.3";
+       sha256 = "0f1p1llz6z4ag1wnf57mgm861cbw7va0g0m8klp6f6pnirdhlwz1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base transformers ];
+       homepage = "http://www.haskell.org/haskellwiki/Exception";
+       description = "Exceptions which are explicit in the type signature";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "explicit-iomodes" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, tagged }:
+     mkDerivation {
+       pname = "explicit-iomodes";
+       version = "0.6.0.5";
+       sha256 = "0irz1zy6iaipym73x343zvr6cqym6ci2vbjbyr564d29ymd6ldzd";
+       buildDepends = [ base base-unicode-symbols tagged ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/explicit-iomodes/";
+       description = "File handles with explicit IOModes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "explicit-iomodes-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, explicit-iomodes }:
+     mkDerivation {
+       pname = "explicit-iomodes-bytestring";
+       version = "0.2.0.2";
+       sha256 = "0h3dlgkd2gx8zr3sh949nhqgrdg943dgpp4v1n599jjjpqpw16hj";
+       buildDepends = [ base bytestring explicit-iomodes ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/explicit-iomodes-bytestring/";
+       description = "Extends explicit-iomodes with ByteString operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "explicit-iomodes-text" = callPackage
+    ({ mkDerivation, base, explicit-iomodes, text }:
+     mkDerivation {
+       pname = "explicit-iomodes-text";
+       version = "0.1.0.8";
+       sha256 = "12ny5wa1j1wp8fbg5k8zkv4a3axmssxcvfvhg3frsm4dych6hmyg";
+       buildDepends = [ base explicit-iomodes text ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/explicit-iomodes-text/";
+       description = "Extends explicit-iomodes with Text operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "explicit-sharing" = callPackage
+    ({ mkDerivation, base, containers, derive, mtl, template-haskell }:
+     mkDerivation {
+       pname = "explicit-sharing";
+       version = "0.9";
+       sha256 = "0jshv56i60mzlfddvfkcx0j7rzqdlhy6h09bmqci15wzisvpvjpq";
+       buildDepends = [ base containers derive mtl template-haskell ];
+       jailbreak = true;
+       homepage = "http://sebfisch.github.com/explicit-sharing";
+       description = "Explicit Sharing of Monadic Effects";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "explore" = callPackage
+    ({ mkDerivation, array, base, directory, pngload }:
+     mkDerivation {
+       pname = "explore";
+       version = "0.0.7.2";
+       sha256 = "18x2gw9w2jzisyl2hsp2rlml6slnlbjpqbadqcbcm8pamnl7w1fc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base directory pngload ];
+       homepage = "http://corsis.sourceforge.net/haskell/explore";
+       description = "Experimental Plot data Reconstructor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "exposed-containers" = callPackage
+    ({ mkDerivation, array, base, ChasingBottoms, deepseq, ghc-prim
+     , HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "exposed-containers";
+       version = "0.5.5.1";
+       revision = "1";
+       sha256 = "09ck4hadxgdlqpgxr45jxr261mzkzihmwd5b02xi05z8034bhqk7";
+       editedCabalFile = "25516f8a7288ce438b872a0d3054434c3ba48ce0ce8a57209ea6d78ce6e2665c";
+       buildDepends = [ array base deepseq ghc-prim ];
+       testDepends = [
+         array base ChasingBottoms deepseq ghc-prim HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "A distribution of the 'containers' package, with all modules exposed";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "expression-parser" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "expression-parser";
+       version = "0.1";
+       sha256 = "1ldp1f2c823byx4ag8jpmq9bhw26lq98fz7ljqslffs37pc098qs";
+       buildDepends = [ base ];
+       description = "Generalization of parsec's expression parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "extcore" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, mtl, parsec, pretty, syb
+     }:
+     mkDerivation {
+       pname = "extcore";
+       version = "1.0.2";
+       sha256 = "1dpn4dbbn5d3zqrhxkg8nvb97vp9pf61gwa46yf218nvwgqvx437";
+       buildDepends = [
+         array base bytestring containers directory filepath mtl parsec
+         pretty syb
+       ];
+       description = "Libraries for processing GHC Core";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "extemp" = callPackage
+    ({ mkDerivation, base, bytestring, containers, feed, happstack-auth
+     , happstack-server, happstack-state, happstack-util, HTTP, MaybeT
+     , monad-parallel, mtl, network, old-locale, regex-tdfa, smartGroup
+     , stringsearch, time, xhtml, xml
+     }:
+     mkDerivation {
+       pname = "extemp";
+       version = "0.0.1";
+       sha256 = "1vbazvs1ij4qfhzf38f7z75lx4mdxnkvcb79ngqc3h67844s90xy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers feed happstack-auth happstack-server
+         happstack-state happstack-util HTTP MaybeT monad-parallel mtl
+         network old-locale regex-tdfa smartGroup stringsearch time xhtml
+         xml
+       ];
+       homepage = "http://patch-tag.com/r/salazar/extemp";
+       description = "automated printing for extemp speakers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "extended-categories" = callPackage
+    ({ mkDerivation, base, constraints, ghc-prim, tagged }:
+     mkDerivation {
+       pname = "extended-categories";
+       version = "0.2.0";
+       sha256 = "1dg9zvqszlg5v3mygazzgm84qlkcmpryv3vv4x3zwrzi1g0idq72";
+       buildDepends = [ base constraints ghc-prim tagged ];
+       jailbreak = true;
+       homepage = "github.com/ian-mi/extended-categories";
+       description = "Extended Categories";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "extended-reals" = callPackage
+    ({ mkDerivation, base, deepseq, hashable, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th
+     }:
+     mkDerivation {
+       pname = "extended-reals";
+       version = "0.2.1.0";
+       sha256 = "1a3vp51l07kj85p578y5bryalqv1a8b5766w0hrr85yp67y7wfdp";
+       buildDepends = [ base deepseq hashable ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th
+       ];
+       homepage = "https://github.com/msakai/extended-reals/";
+       description = "Extension of real numbers with positive/negative infinities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "extensible" = callPackage
+    ({ mkDerivation, base, binary, constraints, template-haskell }:
+     mkDerivation {
+       pname = "extensible";
+       version = "0.3.2";
+       sha256 = "1fb027d14100s384mhl0g09jpjxqam85g6yh0pnwcn3g4fzq0fln";
+       buildDepends = [ base binary constraints template-haskell ];
+       homepage = "https://github.com/fumieval/extensible";
+       description = "Extensible, efficient, lens-friendly data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "extensible-data" = callPackage
+    ({ mkDerivation, base, data-lens, hashable, template-haskell
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "extensible-data";
+       version = "0.1.0.4";
+       sha256 = "143cl3w129mkvs410lx63v3x1dq2az8sk0hlcymaavnqik5maa6g";
+       buildDepends = [
+         base data-lens hashable template-haskell unordered-containers
+       ];
+       jailbreak = true;
+       description = "Sums/products/lists/trees which can be extended in other modules";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "extensible-effects" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , transformers-base, type-aligned, void
+     }:
+     mkDerivation {
+       pname = "extensible-effects";
+       version = "1.9.0.1";
+       sha256 = "17hl4x4052jfn7xs6xhnc6d3x75a8haw2zsbnjd6rr5gsd1hq5kx";
+       buildDepends = [
+         base transformers transformers-base type-aligned void
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 void
+       ];
+       homepage = "https://github.com/RobotGymnast/extensible-effects";
+       description = "An Alternative to Monad Transformers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "extensible-exceptions" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "extensible-exceptions";
+       version = "0.1.1.4";
+       sha256 = "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc";
+       buildDepends = [ base ];
+       description = "Extensible exceptions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "external-sort" = callPackage
+    ({ mkDerivation, base, binary, bytestring, EdisonAPI, EdisonCore }:
+     mkDerivation {
+       pname = "external-sort";
+       version = "0.2";
+       sha256 = "1i7q3wh2c4fyv6wn4smws8r382hnnppj39xys43h9pkqfis786r9";
+       buildDepends = [ base binary bytestring EdisonAPI EdisonCore ];
+       description = "Sort large arrays on your hard drive. Kind of like the unix util sort.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "extra" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, QuickCheck
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "extra";
+       version = "1.1";
+       sha256 = "0i8vv5y7rmfbcnfkqm2ac027nw6csvjbivfywgxd93xig42rzg4y";
+       buildDepends = [ base directory filepath process time unix ];
+       testDepends = [ base directory filepath QuickCheck time unix ];
+       homepage = "https://github.com/ndmitchell/extra#readme";
+       description = "Extra functions I use";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "extractelf" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-mmap, directory, elf
+     , filepath, optparse-applicative
+     }:
+     mkDerivation {
+       pname = "extractelf";
+       version = "0.1.0.0";
+       sha256 = "13wbzqw0iz7xkqdrwan9xxl8vwqvhvwzlypps964v1s1bgabmpqj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-mmap directory elf filepath
+         optparse-applicative
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Peaker/extractelf";
+       description = "Extract an ELF's metadata and sections into files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ez-couch" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-conduit, base
+     , blaze-builder, bytestring, classy-prelude, classy-prelude-conduit
+     , containers, ghc-prim, hashable, hslogger, http-conduit
+     , http-types, mtl, neat-interpolation, old-locale, random
+     , resourcet, string-conversions, text, time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "ez-couch";
+       version = "0.7.0";
+       sha256 = "023wrrk7slrg8p547saspfvp771zqwdh7mnvwg1sag4a2j20b660";
+       buildDepends = [
+         aeson attoparsec attoparsec-conduit base blaze-builder bytestring
+         classy-prelude classy-prelude-conduit containers ghc-prim hashable
+         hslogger http-conduit http-types mtl neat-interpolation old-locale
+         random resourcet string-conversions text time unordered-containers
+         vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/ez-couch";
+       description = "A high level static library for working with CouchDB";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "faceted" = callPackage
+    ({ mkDerivation, base, free }:
+     mkDerivation {
+       pname = "faceted";
+       version = "0.0.2.0";
+       sha256 = "0apgad2rqpgxypm10n98agmfrlxydcawvsvyafdwj8jhynfycx03";
+       buildDepends = [ base free ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-faceted/haskell-faceted";
+       description = "Faceted computation for dynamic information flow security";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "factory" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, deepseq, parallel
+     , primes, QuickCheck, random, toolshed
+     }:
+     mkDerivation {
+       pname = "factory";
+       version = "0.2.1.0";
+       sha256 = "1sxk8pv2r2a9d457ikxcz71z06sxajsjvw4647jw1s3y10fn6hvb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers deepseq parallel primes QuickCheck
+         random toolshed
+       ];
+       homepage = "http://functionalley.eu";
+       description = "Rational arithmetic in an irrational world";
+       license = "GPL";
+     }) {};
+
+  "factual-api" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , curl, dataenc, hoauth, HTTP, MissingH, text, unordered-containers
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "factual-api";
+       version = "0.6.1";
+       sha256 = "1njijf5l277qndp5xmyqji0fcd84zxnn9vhz5v8nlqp3pfcilidp";
+       buildDepends = [
+         aeson attoparsec base bytestring containers curl dataenc hoauth
+         HTTP MissingH text unordered-containers utf8-string vector
+       ];
+       homepage = "https://github.com/rudyl313/factual-haskell-driver";
+       description = "A driver for the Factual API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fad" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fad";
+       version = "1.1.0.1";
+       sha256 = "00n5m3fa14y882rnzw7pwc154bgp46rhvvj2cghldvybxmj61zgm";
+       buildDepends = [ base ];
+       homepage = "http://github.com/bjornbm/fad";
+       description = "Forward Automatic Differentiation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "failable-list" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "failable-list";
+       version = "0.2";
+       sha256 = "0bq0q9n4wnacjqs517i12kl56m16n5ff4gk8kamh87gqkd58w06x";
+       buildDepends = [ base ];
+       description = "A list-like type for lazy streams, which might terminate with an error";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "failure" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "failure";
+       version = "0.2.0.3";
+       sha256 = "0jimc2x46zq7wnmzfbnqi67jl8yhbvr0fa65ljlc9p3fns9mca3p";
+       buildDepends = [ base transformers ];
+       homepage = "http://www.haskell.org/haskellwiki/Failure";
+       description = "A simple type class for success/failure computations. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fair-predicates" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fair-predicates";
+       version = "0.1.1";
+       sha256 = "1z0c83gfmvwhzsj2iz422mxcyxc8jnic25i1vz6yp4xzv41ibmj6";
+       buildDepends = [ base ];
+       homepage = "http://sebfisch.github.com/fair-predicates";
+       description = "Fair Predicates";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "faker" = callPackage
+    ({ mkDerivation, base, gimlh, random, split }:
+     mkDerivation {
+       pname = "faker";
+       version = "0.0.0.2";
+       sha256 = "1wl0jx3adibf7z8k3jadnr90jvkmf3zhkq34qpsifcl18zip8skq";
+       buildDepends = [ base gimlh random split ];
+       homepage = "https://github.com/gazay/faker";
+       description = "Pure Haskell library for generating fake data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "falling-turnip" = callPackage
+    ({ mkDerivation, base, gloss, gloss-raster, JuicyPixels-repa
+     , QuickCheck, random, repa, repa-algorithms, vector
+     }:
+     mkDerivation {
+       pname = "falling-turnip";
+       version = "0.1.0.0";
+       sha256 = "035rjjjvwbjw4z6nlmiyxia5y91yiiw7902f9q6n5jimi5xk2hgk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base gloss gloss-raster JuicyPixels-repa QuickCheck random repa
+         repa-algorithms vector
+       ];
+       homepage = "http://github.com/tranma/falling-turnip";
+       description = "Falling sand game/cellular automata simulation using regular parallel arrays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fallingblocks" = callPackage
+    ({ mkDerivation, base, containers, haskell98, SDL, SDL-mixer
+     , SDL-ttf
+     }:
+     mkDerivation {
+       pname = "fallingblocks";
+       version = "0.1.4";
+       sha256 = "18h5d33hd4cs6dc508mzl7c46pxwrk2q0daabvg8m4fiwk5wzlr0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers haskell98 SDL SDL-mixer SDL-ttf ];
+       jailbreak = true;
+       homepage = "http://bencode.blogspot.com/2009/03/falling-blocks-tetris-clone-in-haskell.html";
+       description = "A fun falling blocks game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "family-tree" = callPackage
+    ({ mkDerivation, base, binary, containers, hashable, intervals
+     , lens, tables, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "family-tree";
+       version = "0.5";
+       sha256 = "1bjg231g1rfzzqki3by85vs3ay4iy3mdg6v22kd8b4p9h4q1nmnj";
+       buildDepends = [
+         base binary containers hashable intervals lens tables text time
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Taneb/family-tree";
+       description = "A family tree library for the Haskell programming language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "farmhash" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "farmhash";
+       version = "0.1.0.2";
+       revision = "1";
+       sha256 = "0k2x3si0px55widz3kgfdrm6y39lkwfahfqlfyr001vv6h4my0mq";
+       editedCabalFile = "cd08b430fb52fb06590611fdcc555d9056c2d982e8f3c7d6be7b17b0c4b19865";
+       buildDepends = [ base bytestring ];
+       testDepends = [ base bytestring hspec QuickCheck ];
+       homepage = "https://github.com/abhinav/farmhash";
+       description = "Fast hash functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fast-logger" = callPackage
+    ({ mkDerivation, array, auto-update, base, bytestring
+     , bytestring-builder, directory, filepath, hspec, text
+     }:
+     mkDerivation {
+       pname = "fast-logger";
+       version = "2.3.1";
+       sha256 = "02smmj62jir0c4ix929xy7zsd03djp53hxps0wgqga1f123gksri";
+       buildDepends = [
+         array auto-update base bytestring bytestring-builder directory
+         filepath text
+       ];
+       testDepends = [ base bytestring directory hspec ];
+       description = "A fast logging system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fast-math" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fast-math";
+       version = "1.0.1";
+       sha256 = "1a36mvrdr8gai4sn1s52fyc8alcl6ks6dlmr77df5dgvc2z74hhb";
+       buildDepends = [ base ];
+       description = "Non IEEE-754 compliant compile-time floating-point optimisations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fast-tags" = callPackage
+    ({ mkDerivation, base, containers, ghc, text }:
+     mkDerivation {
+       pname = "fast-tags";
+       version = "0.0.6";
+       sha256 = "0kjj01xpdz5yzdxxagwzv2w7vma43qs71ffxbbrh1wilk7k1ma32";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers text ];
+       testDepends = [ base containers ghc text ];
+       homepage = "https://github.com/elaforge/fast-tags";
+       description = "Fast incremental vi tags";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fast-tagsoup" = callPackage
+    ({ mkDerivation, base, bytestring, tagsoup, text, text-icu }:
+     mkDerivation {
+       pname = "fast-tagsoup";
+       version = "1.0.6";
+       sha256 = "0d1h57flg9iq4psfpwcqq91giljqcjz9lhd7nhdrk08pzdla09iq";
+       buildDepends = [ base bytestring tagsoup text text-icu ];
+       homepage = "https://github.com/vshabanov/fast-tagsoup";
+       description = "Fast parser for tagsoup package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fast-tagsoup-utf8-only" = callPackage
+    ({ mkDerivation, base, bytestring, tagsoup, text }:
+     mkDerivation {
+       pname = "fast-tagsoup-utf8-only";
+       version = "1.0.5";
+       sha256 = "10svhgjvp1802jawr1s5chkincl2xhh6k0grm60f216jpasbvff4";
+       buildDepends = [ base bytestring tagsoup text ];
+       homepage = "https://github.com/exbb2/fast-tagsoup";
+       description = "Fast parser for tagsoup package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fasta" = callPackage
+    ({ mkDerivation, base, containers, parsec, split, text }:
+     mkDerivation {
+       pname = "fasta";
+       version = "0.5.1.3";
+       sha256 = "1p5a98riv7wjkd0mdinqfm3qmhx6q4dbibdhpp9a4r4zm4ccwpfb";
+       buildDepends = [ base containers parsec split text ];
+       homepage = "https://github.com/GregorySchwartz/fasta";
+       description = "A simple, mindless parser for fasta files";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "fastbayes" = callPackage
+    ({ mkDerivation, base, hmatrix, vector }:
+     mkDerivation {
+       pname = "fastbayes";
+       version = "0.2.0.0";
+       sha256 = "1nqrfrhw8gd3blfzrwbf7pm4wwqbxfaw640bzx62kwh7x2h6v3cm";
+       buildDepends = [ base hmatrix vector ];
+       homepage = "https://github.com/cscherrer/fastbayes";
+       description = "Bayesian modeling algorithms accelerated for particular model structures";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fastcgi" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, fcgi }:
+     mkDerivation {
+       pname = "fastcgi";
+       version = "3001.0.2.4";
+       revision = "1";
+       sha256 = "0lp17w098043xczwkah7h1x47wzrym7vv5adgla0aq9iybqay7xr";
+       editedCabalFile = "74cd87692a90492171802f25c034ef047f0b68aaa1b53303d4e50ce3ec30e98a";
+       buildDepends = [ base bytestring cgi ];
+       extraLibraries = [ fcgi ];
+       description = "A Haskell library for writing FastCGI programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) fcgi;};
+
+  "fastedit" = callPackage
+    ({ mkDerivation, base, base-prelude, bytestring, containers
+     , edit-distance, file-embed, hashable, hspec, QuickCheck, safe
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "fastedit";
+       version = "0.1.0.0";
+       sha256 = "0ax5wnbf75n39crd9bw0xf3g83zlh29pbhwapbc5q7315rjdfxfj";
+       buildDepends = [
+         base base-prelude bytestring containers hashable safe
+         unordered-containers
+       ];
+       testDepends = [
+         base base-prelude bytestring edit-distance file-embed hspec
+         QuickCheck
+       ];
+       description = "find nearest neighbours by edit-distance";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fastirc" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, bytestring-show
+     , containers, monadLib, network-fancy
+     }:
+     mkDerivation {
+       pname = "fastirc";
+       version = "0.2.0";
+       sha256 = "0ddacpw19kh304j8js9ybwclkgyh8n5yy1r2xh48z9h3gas2zim4";
+       buildDepends = [
+         attoparsec base bytestring bytestring-show containers monadLib
+         network-fancy
+       ];
+       description = "Fast Internet Relay Chat (IRC) library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fault-tree" = callPackage
+    ({ mkDerivation, base, yices }:
+     mkDerivation {
+       pname = "fault-tree";
+       version = "0.0.0";
+       sha256 = "04m6hfj0sqhmq89fwfq4igz1rc0p3rzkhfg6fzsw5kyda2c8bbz0";
+       buildDepends = [ base yices ];
+       homepage = "http://tomahawkins.org";
+       description = "A fault tree analysis library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay" = callPackage
+    ({ mkDerivation, aeson, base, 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, traverse-with-class, type-eq
+     , uniplate, unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "fay";
+       version = "0.23.1.4";
+       sha256 = "1l8r7d4iwwkq0m9cskwfv38i89cr8sqxidrc59z62yp05ilcs5r6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base 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
+         traverse-with-class type-eq uniplate unordered-containers
+         utf8-string vector
+       ];
+       homepage = "https://github.com/faylang/fay/wiki";
+       description = "A compiler for Fay, a Haskell subset that compiles to JavaScript";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay-base" = callPackage
+    ({ mkDerivation, base, fay }:
+     mkDerivation {
+       pname = "fay-base";
+       version = "0.20.0.0";
+       sha256 = "07hizichy7jnlirxq3sh2gjw4k21cfnqpswihbzkcvz0fnmd9sw3";
+       buildDepends = [ base fay ];
+       homepage = "https://github.com/faylang/fay/";
+       description = "The base package for Fay";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay-builder" = callPackage
+    ({ mkDerivation, base, Cabal, data-default, directory, fay
+     , filepath, safe, split, text
+     }:
+     mkDerivation {
+       pname = "fay-builder";
+       version = "0.2.0.4";
+       sha256 = "0x1y9d2hgi3ky7f7ydc43dyd54dsmqcgxj6g8n2x3yfrcjkljq05";
+       buildDepends = [
+         base Cabal data-default directory fay filepath safe split text
+       ];
+       description = "Compile Fay code on cabal install, and ad-hoc recompile during development";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay-dom" = callPackage
+    ({ mkDerivation, fay-base }:
+     mkDerivation {
+       pname = "fay-dom";
+       version = "0.5.0.1";
+       sha256 = "1zm6w6nccswaksr283alhnsss6xw4k7s61yp8ff4lg5127ff9wp0";
+       buildDepends = [ fay-base ];
+       homepage = "https://github.com/faylang/fay-dom";
+       description = "DOM FFI wrapper library for Fay";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay-hsx" = callPackage
+    ({ mkDerivation, fay-base, fay-jquery }:
+     mkDerivation {
+       pname = "fay-hsx";
+       version = "0.2.0";
+       sha256 = "1mzjna8yc7jczgggpcgh9i6akiy72d60jczvmzxngh778z3g5zmi";
+       buildDepends = [ fay-base fay-jquery ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Clientside HTML generation for fay";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fay-jquery" = callPackage
+    ({ mkDerivation, fay-base, fay-text }:
+     mkDerivation {
+       pname = "fay-jquery";
+       version = "0.6.0.3";
+       sha256 = "1x6i8y6xbz4nyzw59j3cqkhmjvgx9l4vdyh7jr0l1vv396ssnghf";
+       buildDepends = [ fay-base fay-text ];
+       homepage = "https://github.com/faylang/fay-jquery";
+       description = "jQuery bindings for Fay";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay-ref" = callPackage
+    ({ mkDerivation, fay-base }:
+     mkDerivation {
+       pname = "fay-ref";
+       version = "0.1.0.0";
+       sha256 = "1dcifraih13zqwmm4xn57wfg63rdkiac81avyymid308r6p1x9cn";
+       buildDepends = [ fay-base ];
+       homepage = "https://github.com/A1kmm/fay-ref";
+       description = "Like IORef but for Fay";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay-text" = callPackage
+    ({ mkDerivation, fay, fay-base, text }:
+     mkDerivation {
+       pname = "fay-text";
+       version = "0.3.2.2";
+       sha256 = "1q1v8jzkccy9arq6jkz4ynpzm1691d1dv9wzyi4i5m6n0gl7aans";
+       buildDepends = [ fay fay-base text ];
+       homepage = "https://github.com/faylang/fay-text";
+       description = "Fay Text type represented as JavaScript strings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fay-uri" = callPackage
+    ({ mkDerivation, fay-base }:
+     mkDerivation {
+       pname = "fay-uri";
+       version = "0.2.0.0";
+       sha256 = "1vv4jgkz9cx8inbn6g6sn3a0nf1ak81qlj5li21sk2isj0yws1nr";
+       buildDepends = [ fay-base ];
+       homepage = "https://github.com/faylang/fay-uri";
+       description = "Persistent FFI bindings for using jsUri in Fay";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fb" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, bytestring, cereal, conduit, conduit-extra
+     , containers, crypto-api, cryptohash, cryptohash-cryptoapi
+     , data-default, hspec, http-conduit, http-types, HUnit, lifted-base
+     , monad-control, monad-logger, old-locale, QuickCheck, resourcet
+     , text, time, transformers, transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "fb";
+       version = "1.0.8";
+       sha256 = "1cv722kkp6lbxajv3ka4088x2491yy41cfypqqkq753mm59x6s9m";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bytestring cereal conduit conduit-extra crypto-api cryptohash
+         cryptohash-cryptoapi data-default http-conduit http-types
+         lifted-base monad-control monad-logger old-locale resourcet text
+         time transformers transformers-base unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring conduit containers data-default hspec
+         http-conduit HUnit lifted-base monad-control QuickCheck resourcet
+         text time transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/prowdsponsor/fb";
+       description = "Bindings to Facebook's API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fb-persistent" = callPackage
+    ({ mkDerivation, base, cereal, fb, persistent, text, time }:
+     mkDerivation {
+       pname = "fb-persistent";
+       version = "0.3.4";
+       sha256 = "07hrifzwvv7fzqh70igfbxzn854yvyx7406s8byn0arhmp21ka3b";
+       buildDepends = [ base cereal fb persistent text time ];
+       homepage = "https://github.com/prowdsponsor/fb-persistent";
+       description = "Provides Persistent instances to Facebook types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fca" = callPackage
+    ({ mkDerivation, base, bytestring, containers, cryptohash, hashable
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "fca";
+       version = "0.1.0.2";
+       sha256 = "1c38524r3mhy4m7s1cvfcn539xvf50x0z8a9fzk4x4pz5yq9c1vp";
+       buildDepends = [
+         base bytestring containers cryptohash hashable text
+         unordered-containers
+       ];
+       jailbreak = true;
+       description = "Algo for Formal Concept Analysis";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "fcd" = callPackage
+    ({ mkDerivation, array, base, directory, process, tasty
+     , tasty-hunit, text, unix, vty, vty-ui
+     }:
+     mkDerivation {
+       pname = "fcd";
+       version = "1.0.0.0";
+       sha256 = "1z3vphn3vgvsq0mshhvsks03v79wnj9g6r8mmrwkiax126aqzqn6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base directory process text unix vty vty-ui
+       ];
+       testDepends = [ base tasty tasty-hunit ];
+       homepage = "https://github.com/Neki/fcd";
+       description = "A faster way to navigate directories using the command line";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fckeditor" = callPackage
+    ({ mkDerivation, base, cgi, HaXml, xhtml }:
+     mkDerivation {
+       pname = "fckeditor";
+       version = "0.1";
+       sha256 = "1yvsnk9awik143jh2268w1l5x70kmky60gac10fy2y1450dcn65x";
+       buildDepends = [ base cgi HaXml xhtml ];
+       jailbreak = true;
+       homepage = "http://peteg.org/";
+       description = "Server-Side Integration for FCKeditor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fclabels" = callPackage
+    ({ mkDerivation, base, HUnit, mtl, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "fclabels";
+       version = "2.0.2.2";
+       sha256 = "0jvmmmky2h4i6lh0zj67j8rf1r1r1plv1s9y67jbs821266ffra8";
+       buildDepends = [ base mtl template-haskell transformers ];
+       testDepends = [ base HUnit mtl template-haskell transformers ];
+       homepage = "https://github.com/sebastiaanvisser/fclabels";
+       description = "First class accessor labels implemented as lenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fclabels-monadlib" = callPackage
+    ({ mkDerivation, base, fclabels, monadLib }:
+     mkDerivation {
+       pname = "fclabels-monadlib";
+       version = "0.2.1";
+       sha256 = "1j15fxrpwnjnbjkswsy6jxn8f0bj2nhcdsf5976i7rka7gsjzr3d";
+       buildDepends = [ base fclabels monadLib ];
+       jailbreak = true;
+       description = "MonadLib monadic interface for the \"fclabels\" package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fdo-notify" = callPackage
+    ({ mkDerivation, base, containers, dbus }:
+     mkDerivation {
+       pname = "fdo-notify";
+       version = "0.3.1";
+       sha256 = "1n4zk1i7g34w0wk5zy8n4r63xbglxf62h8j78kv5fc2yn95l30vh";
+       buildDepends = [ base containers dbus ];
+       homepage = "http://bitbucket.org/taejo/fdo-notify/";
+       description = "Desktop Notifications client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fdo-trash" = callPackage
+    ({ mkDerivation, base, Diff, directory, filepath, old-locale
+     , parsec, time, unix, url
+     }:
+     mkDerivation {
+       pname = "fdo-trash";
+       version = "0.0.0.2";
+       sha256 = "04y29wmndyvrlrixj57m7jgx3z8qld0nvlggmg0rvia4p2dv82bk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Diff directory filepath old-locale parsec time unix url
+       ];
+       homepage = "https://github.com/jkarlson/fdo-trash";
+       description = "Utilities related to freedesktop Trash standard";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "feature-flags" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "feature-flags";
+       version = "0.1.0.1";
+       sha256 = "1lssjgksq0k2dd7l5lmzxnr9f5zk3gbh386zfmcqgc4iczdzfk0f";
+       buildDepends = [ base text ];
+       homepage = "https://github.com/iand675/feature-flags";
+       description = "A simple library for dynamically enabling and disabling functionality";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fec" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "fec";
+       version = "0.1.1";
+       sha256 = "04ryd1c06l45af6627vjvprhs0rk1rwl0k9gq0byr95ghvc6mk6d";
+       buildDepends = [ base bytestring ];
+       homepage = "http://allmydata.org/source/zfec";
+       description = "Forward error correction of ByteStrings";
+       license = "GPL";
+     }) {};
+
+  "fedora-packages" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hlint
+     , HsOpenSSL, hspec, http-streams, io-streams, lens, text
+     }:
+     mkDerivation {
+       pname = "fedora-packages";
+       version = "0.0.3";
+       revision = "1";
+       sha256 = "14fpv76ndp755mysgbya2hgr35rg2hb6dsagmrq2j2mn06xmngqk";
+       editedCabalFile = "b09d857e6d91527f8c9fbb8626e1610c5c7b994a6fcf30cd3328c668a6e8d33a";
+       buildDepends = [
+         aeson base bytestring containers HsOpenSSL http-streams io-streams
+         lens text
+       ];
+       testDepends = [
+         aeson base bytestring containers hlint HsOpenSSL hspec http-streams
+         io-streams lens text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/relrod/fedora-packages-hs";
+       description = "Haskell interface to the Fedora Packages webapp API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "feed" = callPackage
+    ({ mkDerivation, base, old-locale, old-time, time, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "feed";
+       version = "0.3.9.2";
+       revision = "1";
+       sha256 = "05sg2ly1pvni3sfv03rbf60vdjkrfa0f9mmc1dm1hrmp638j67gg";
+       editedCabalFile = "62cb5a05a61bc09e6203b5bb7aab4464cba1703216260b0d871d98046c226358";
+       buildDepends = [ base old-locale old-time time utf8-string xml ];
+       homepage = "https://github.com/sof/feed";
+       description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "feed-cli" = callPackage
+    ({ mkDerivation, base, directory, feed, old-locale, old-time, time
+     , xml
+     }:
+     mkDerivation {
+       pname = "feed-cli";
+       version = "2009.7.5";
+       sha256 = "0gql641jmbldx6vhk37i2v41j2nq22lrihm48f97wirrxw7yjn61";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory feed old-locale old-time time xml
+       ];
+       jailbreak = true;
+       homepage = "http://www.syntaxpolice.org/darcs_repos/feed-cli";
+       description = "A simple command line interface for creating and updating feeds like RSS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "feed-crawl" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, connection
+     , http-conduit, http-types, hxt, network-uri, text, transformers
+     }:
+     mkDerivation {
+       pname = "feed-crawl";
+       version = "0.1.2.0";
+       sha256 = "0d3yfkiazzlypp3s85fqikwlli28ss27h0i215114vxsswmx1g7c";
+       buildDepends = [
+         base bytestring conduit connection http-conduit http-types hxt
+         network-uri text transformers
+       ];
+       homepage = "https://github.com/danchoi/feed-crawl";
+       description = "Utility for fetching feeds with redirect info and HTML link detection";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "feed2lj" = callPackage
+    ({ mkDerivation, base, curl, directory, feed, haskell98, HTTP
+     , old-locale, pureMD5, regex-posix, tagsoup, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "feed2lj";
+       version = "0.0.3.1";
+       sha256 = "0ym4f6d8fxl6j9kfqmp3ds36qj35nypxjmmqv6w96yz5y8ia3ynv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base curl directory feed haskell98 HTTP old-locale pureMD5
+         regex-posix tagsoup time utf8-string
+       ];
+       description = "(unsupported)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "feed2twitter" = callPackage
+    ({ mkDerivation, base, bytestring, download-curl, feed, hs-twitter
+     }:
+     mkDerivation {
+       pname = "feed2twitter";
+       version = "0.2.0";
+       sha256 = "1zhl7f5zlyv0l5h0zay66p532n1vywnirwxbc1c9fjaia7yv0rij";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring download-curl feed hs-twitter ];
+       homepage = "http://github.com/tomlokhorst/feed2twitter";
+       description = "Send posts from a feed to Twitter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "feldspar-compiler" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, data-default
+     , directory, feldspar-language, filepath, gcc_s, ghc-paths, mtl
+     , plugins, plugins-multistage, pretty, process, QuickCheck
+     , storable-record, storable-tuple, syntactic, tasty, tasty-golden
+     , tasty-quickcheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "feldspar-compiler";
+       version = "0.7";
+       sha256 = "0kkxjnbx4yn3k2s1gdxg4jj06fhdd2jprq8s4zyaybs8xcddgvhh";
+       buildDepends = [
+         base Cabal containers data-default directory feldspar-language
+         filepath ghc-paths mtl plugins plugins-multistage pretty process
+         storable-record storable-tuple syntactic template-haskell
+       ];
+       testDepends = [
+         base bytestring Cabal feldspar-language mtl process QuickCheck
+         tasty tasty-golden tasty-quickcheck
+       ];
+       extraLibraries = [ gcc_s ];
+       homepage = "http://feldspar.github.com";
+       description = "Compiler for the Feldspar language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { gcc_s = null;};
+
+  "feldspar-language" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-default
+     , data-hash, data-lens, deepseq, monad-par, mtl, patch-combinators
+     , QuickCheck, random, syntactic, tagged, tasty, tasty-golden
+     , tasty-quickcheck, tasty-th, tuple, utf8-string
+     }:
+     mkDerivation {
+       pname = "feldspar-language";
+       version = "0.7";
+       sha256 = "0gzs2qdvpzcx4w89wpmwk2jnambvyl08afpk16989vcviq5ri51n";
+       buildDepends = [
+         array base containers data-default data-hash data-lens deepseq
+         monad-par mtl patch-combinators QuickCheck random syntactic tagged
+         tuple
+       ];
+       testDepends = [
+         base bytestring QuickCheck random tasty tasty-golden
+         tasty-quickcheck tasty-th utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://feldspar.github.com";
+       description = "A functional embedded language for DSP and parallelism";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "feldspar-signal" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "feldspar-signal";
+       version = "0.0.0.1";
+       sha256 = "16brcdnbk4ykribgw5jix7k6qca2rxqms1hnljmirs0b8ldyflgx";
+       buildDepends = [ base ];
+       homepage = "https://github.com/markus-git/feldspar-signal";
+       description = "Signal Processing extension for Feldspar";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fences" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fences";
+       version = "0.1.1";
+       sha256 = "16qzqczr6nlbng16vby1c12a0apfjm4lmm0pgybi5xaziaq4c4db";
+       buildDepends = [ base ];
+       description = "To be written";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fenfire" = callPackage
+    ({ mkDerivation, base, cairo, gtk, harp, HaXml, mtl, raptor
+     , template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "fenfire";
+       version = "0.1";
+       sha256 = "0sq4g0sdayk1lqzdhggwshl22gny5cjbv70cmr1p27q0wfwfbfff";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo gtk harp HaXml mtl template-haskell unix
+       ];
+       extraLibraries = [ raptor ];
+       homepage = "http://fenfire.org/";
+       description = "Graph-based notetaking system";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { raptor = null;};
+
+  "fez-conf" = callPackage
+    ({ mkDerivation, base, containers, regex-compat }:
+     mkDerivation {
+       pname = "fez-conf";
+       version = "1.0.3";
+       sha256 = "1gssbkwg9lqm3ajqkkcjnxjz8nhz855ki2hi5n2di3dappr73f0b";
+       buildDepends = [ base containers regex-compat ];
+       homepage = "http://ui3.info/d/proj/fez-conf.html";
+       description = "Simple functions for loading config files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ffeed" = callPackage
+    ({ mkDerivation, base, HTTP, json, network, pretty, utf8-string }:
+     mkDerivation {
+       pname = "ffeed";
+       version = "0.3.2";
+       sha256 = "1976v5m050lwp8v2vh1cm08pn6q9lbdkxhq10pql6fyzysn6qz62";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base HTTP json network pretty utf8-string ];
+       description = "Haskell binding to the FriendFeed API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fficxx" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , either, errors, filepath, hashable, HStringTemplate, lens, mtl
+     , process, pureMD5, split, template-haskell, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "fficxx";
+       version = "0.2";
+       sha256 = "0512v9xhli6qdz46gvn8lj15rp30919pf982fjcgklw22qmci69q";
+       buildDepends = [
+         base bytestring Cabal containers directory either errors filepath
+         hashable HStringTemplate lens mtl process pureMD5 split
+         template-haskell transformers unordered-containers
+       ];
+       description = "automatic C++ binding generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fficxx-runtime" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fficxx-runtime";
+       version = "0.2";
+       sha256 = "0czh7in30369c8c4ls3m3r61w6zb1p0p0jy2yi5j9521f61q588a";
+       buildDepends = [ base ];
+       description = "Runtime for fficxx-generated library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ffmpeg-light" = callPackage
+    ({ mkDerivation, base, JuicyPixels, libavcodec, libavformat
+     , libavutil, libswscale, mtl, transformers, vector
+     }:
+     mkDerivation {
+       pname = "ffmpeg-light";
+       version = "0.8.1";
+       sha256 = "08hydkqpk72s5bnc7h133jdz0x5msbxf7r1149hb2pqaqffid569";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base JuicyPixels mtl transformers vector ];
+       pkgconfigDepends = [ libavcodec libavformat libavutil libswscale ];
+       jailbreak = true;
+       description = "Minimal bindings to the FFmpeg library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { libavcodec = null;  libavformat = null;  libavutil = null;
+          libswscale = null;};
+
+  "ffmpeg-tutorials" = callPackage
+    ({ mkDerivation, base, bytestring, haskell98, hs-ffmpeg, SDL, stm
+     }:
+     mkDerivation {
+       pname = "ffmpeg-tutorials";
+       version = "0.3.3";
+       sha256 = "134czpbzxw0mpnc5mz6j1l6vavdbhw5w3l4lg5zbc2gq1qg9ikqv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring haskell98 hs-ffmpeg SDL stm ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/VasylPasternak/ffmpeg-tutorials";
+       description = "Tutorials on ffmpeg usage to play video/audio";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fft" = callPackage
+    ({ mkDerivation, array, base, carray, fftw3, fftw3f, ix-shapable
+     , QuickCheck, storable-complex, syb
+     }:
+     mkDerivation {
+       pname = "fft";
+       version = "0.1.8";
+       sha256 = "073f0w3hm0zs0gi1s5adhd7z4xj3zq88s1d12mmby5ri3zr927k0";
+       buildDepends = [
+         array base carray ix-shapable storable-complex syb
+       ];
+       testDepends = [ base carray QuickCheck storable-complex ];
+       pkgconfigDepends = [ fftw3 fftw3f ];
+       jailbreak = true;
+       description = "Bindings to the FFTW library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { fftw3 = null;  fftw3f = null;};
+
+  "fgl" = callPackage
+    ({ mkDerivation, array, base, containers, mtl }:
+     mkDerivation {
+       pname = "fgl";
+       version = "5.5.1.0";
+       sha256 = "0rcmz0xlyr1wj490ffja29z1jgl51gz19ka609da6bx39bwx7nga";
+       buildDepends = [ array base containers mtl ];
+       description = "Martin Erwig's Functional Graph Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fgl-extras-decompositions" = callPackage
+    ({ mkDerivation, base, containers, fgl }:
+     mkDerivation {
+       pname = "fgl-extras-decompositions";
+       version = "0.1.0.0";
+       sha256 = "0mx0axc88yb992zb9ymaipsrln42rj49558ir9753j19d38v2q8m";
+       buildDepends = [ base containers fgl ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "Graph decomposition algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fgl-visualize" = callPackage
+    ({ mkDerivation, base, dotgen, fgl }:
+     mkDerivation {
+       pname = "fgl-visualize";
+       version = "0.1.0.1";
+       sha256 = "0vwafx0rggksg5i7cx4r2bs5wa6csb5p39vpix425zr3l6vggrxq";
+       buildDepends = [ base dotgen fgl ];
+       description = "Convert FGL graphs to dot (graphviz) files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fibon" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, bytestring-lexing
+     , Cabal, cereal, containers, directory, filepath, hslogger, mtl
+     , old-locale, old-time, process, regex-compat, statistics, syb
+     , tabular, time, vector
+     }:
+     mkDerivation {
+       pname = "fibon";
+       version = "0.2.0";
+       sha256 = "1jkawf65gdmyzmdw4xfk3jihahi3x7vsavjfy6rnl96bj15q4vzl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring bytestring-lexing Cabal cereal
+         containers directory filepath hslogger mtl old-locale old-time
+         process regex-compat statistics syb tabular time vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/dmpots/fibon/wiki";
+       description = "Tools for running and analyzing Haskell benchmarks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fibonacci" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fibonacci";
+       version = "0.2.0.1";
+       sha256 = "18jqb4ynjsnpvydzpqzh7l5wyrjb3s3kxgc6a6ipwb6w2hygyf7k";
+       buildDepends = [ base ];
+       homepage = "http://github.com/sebfisch/fibonacci";
+       description = "Fast computation of Fibonacci numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fields" = callPackage
+    ({ mkDerivation, array, base, containers, fclabels, monads-fd
+     , transformers
+     }:
+     mkDerivation {
+       pname = "fields";
+       version = "0.1.0";
+       sha256 = "0xxri0a3y75ppywcm6py9zbffaawcycrv8gabflbl1m1z8n6jq6v";
+       buildDepends = [
+         array base containers fclabels monads-fd transformers
+       ];
+       homepage = "http://github.com/AstraFIN/fields";
+       description = "First-class record field combinators with infix record field syntax";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fields-json" = callPackage
+    ({ mkDerivation, base, base64-bytestring, containers, json, mtl
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "fields-json";
+       version = "0.2.2.3";
+       sha256 = "0wqci95ad339nd3lfbhc6v55c7zdkq714hw8igq5fwvbd8kq11d0";
+       buildDepends = [
+         base base64-bytestring containers json mtl utf8-string
+       ];
+       description = "Abusing monadic syntax JSON objects generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fieldwise" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "fieldwise";
+       version = "0.1.0.0";
+       sha256 = "1mmlw5nk09w829gjp8lc0p280vdkh68rv05b1j55x99l7xywgvj7";
+       buildDepends = [ base template-haskell ];
+       testDepends = [ base template-haskell ];
+       jailbreak = true;
+       description = "Provides Fieldwise typeclass for operations of fields of records treated as independent components";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fig" = callPackage
+    ({ mkDerivation, base, containers, parsec, pretty }:
+     mkDerivation {
+       pname = "fig";
+       version = "1.4.0";
+       sha256 = "03bxiicvfwia5g0whg454ph2s34n8firjcqhn6d7qvbim338hkxq";
+       buildDepends = [ base containers parsec pretty ];
+       homepage = "http://www.bergsoe.org/fig";
+       description = "Manipulation of FIG files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "file-command-qq" = callPackage
+    ({ mkDerivation, base, parsec, process, system-filepath
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "file-command-qq";
+       version = "0.1.0.5";
+       sha256 = "06bi4nnz1f3i79wza6bxbnglqzddpq3r4w581wdl3bq26b52d3ab";
+       buildDepends = [
+         base parsec process system-filepath template-haskell text
+       ];
+       homepage = "https://github.com/jfischoff/file-command-qq";
+       description = "Quasiquoter for system commands involving filepaths";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "file-embed" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, HUnit
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "file-embed";
+       version = "0.0.8.2";
+       sha256 = "1gdxz9244wjhfigpsyaan81gyx6vanb8574xxi7944sj9pcgi74y";
+       buildDepends = [
+         base bytestring directory filepath template-haskell
+       ];
+       testDepends = [ base filepath HUnit ];
+       homepage = "https://github.com/snoyberg/file-embed";
+       description = "Use Template Haskell to embed file contents directly";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "file-location" = callPackage
+    ({ mkDerivation, base, containers, lifted-base, process
+     , template-haskell, th-orphans, transformers
+     }:
+     mkDerivation {
+       pname = "file-location";
+       version = "0.4.7.1";
+       sha256 = "0p4fj7jjsssn3bdn2z984q2wyngc6cfygbgprzndcw0bxqi78jl4";
+       buildDepends = [
+         base containers lifted-base template-haskell th-orphans
+         transformers
+       ];
+       testDepends = [ base lifted-base process ];
+       homepage = "https://github.com/gregwebs/FileLocation.hs";
+       description = "common functions that show file location information";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "filecache" = callPackage
+    ({ mkDerivation, base, directory, exceptions, hashable, hinotify
+     , lens, mtl, stm, strict-base-types, temporary
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "filecache";
+       version = "0.2.8";
+       sha256 = "0dkdjj29dqgdywzxc24l54v8xqxrqy65l43ig2qr3l381mqi87lf";
+       buildDepends = [
+         base exceptions hashable hinotify lens mtl stm strict-base-types
+         unordered-containers
+       ];
+       testDepends = [ 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;
+     }) {};
+
+  "filediff" = callPackage
+    ({ mkDerivation, base, data-default, data-memocombinators
+     , directory, either, mtl, tasty, tasty-hunit, text, time
+     , transformers, Zora
+     }:
+     mkDerivation {
+       pname = "filediff";
+       version = "0.1.0.4";
+       sha256 = "0jqmwlg7xpz03kqchnydgrxyiz8cf4ijv3019nshwqxjwjyzf50r";
+       buildDepends = [
+         base data-default data-memocombinators directory either mtl tasty
+         tasty-hunit text time transformers Zora
+       ];
+       testDepends = [
+         base directory either mtl tasty tasty-hunit text time transformers
+       ];
+       homepage = "https://github.com/bgwines/filediff";
+       description = "Diffing and patching module";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "filelock" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "filelock";
+       version = "0.1.0.1";
+       sha256 = "0qypjnbkfayqyaymx8qrq4abddlrlzanf6lqhfn9cqzcgzr6735d";
+       buildDepends = [ base unix ];
+       homepage = "http://github.com/takano-akio/filelock";
+       description = "Portable interface to file locking (flock / LockFileEx)";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "filemanip" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, mtl
+     , unix-compat
+     }:
+     mkDerivation {
+       pname = "filemanip";
+       version = "0.3.6.3";
+       sha256 = "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8";
+       buildDepends = [
+         base bytestring directory filepath mtl unix-compat
+       ];
+       homepage = "https://github.com/bos/filemanip";
+       description = "Expressive file and directory manipulation for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "filepath_1_4_0_0" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "filepath";
+       version = "1.4.0.0";
+       sha256 = "0a5hhgfxh91clkk6c9iipdd0y3wb9y6lx2hhraaaa73b8y83afx4";
+       buildDepends = [ base ];
+       testDepends = [ base QuickCheck ];
+       homepage = "https://github.com/haskell/filepath#readme";
+       description = "Library for manipulating FilePaths in a cross platform way";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "filepath-io-access" = callPackage
+    ({ mkDerivation, base, base-io-access, filepath }:
+     mkDerivation {
+       pname = "filepath-io-access";
+       version = "0.1.0.0";
+       sha256 = "08rb2nafnh5vx7i6i3ddhq4h1s2ffgz8ailap5knr1xl7izgyywp";
+       buildDepends = [ base base-io-access filepath ];
+       jailbreak = true;
+       description = "IO Access for filepath";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "filepather" = callPackage
+    ({ mkDerivation, base, comonad, comonad-transformers, data-lens
+     , directory, filepath, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "filepather";
+       version = "0.3.0";
+       sha256 = "1gqnanmnhrpdw5iryf757qwj7j9izyzx1j4y74ydivxafz8w469v";
+       buildDepends = [
+         base comonad comonad-transformers data-lens directory filepath mtl
+         transformers
+       ];
+       homepage = "https://github.com/tonymorris/filepather";
+       description = "Functions on System.FilePath";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "filestore" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Diff, directory
+     , filepath, HUnit, mtl, old-locale, parsec, process, split, time
+     , utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "filestore";
+       version = "0.6.0.6";
+       sha256 = "1lknngdg1c4a58qxbzzvpy72nx1pncm2p4akid2b3s7ydl7j96xr";
+       buildDepends = [
+         base bytestring containers Diff directory filepath old-locale
+         parsec process split time utf8-string xml
+       ];
+       testDepends = [ base Diff directory filepath HUnit mtl time ];
+       description = "Interface for versioning file stores";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "filesystem-conduit" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, conduit
+     , containers, hspec, QuickCheck, system-fileio, system-filepath
+     , text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "filesystem-conduit";
+       version = "1.0.0.2";
+       sha256 = "05dsl3bgyjciq6sgmba0hki7imilrjq3ddp9ip5gxl9884j1f4a1";
+       buildDepends = [
+         base bytestring conduit containers system-fileio system-filepath
+         text transformers unix
+       ];
+       testDepends = [
+         base blaze-builder bytestring conduit hspec QuickCheck text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Use system-filepath data types with conduits. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "filesystem-enumerator" = callPackage
+    ({ mkDerivation, base, enumerator, system-fileio, system-filepath
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "filesystem-enumerator";
+       version = "0.1.1";
+       sha256 = "04cs5kz390g5qanwqps5kx1pd70b9vzaykn4c0yc0kxi16xlxyrc";
+       buildDepends = [
+         base enumerator system-fileio system-filepath transformers unix
+       ];
+       homepage = "https://john-millikin.com/software/haskell-filesystem/";
+       description = "Enumerator-based API for manipulating the filesystem";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "filesystem-trees" = callPackage
+    ({ mkDerivation, base, cond, containers, data-lens, deepseq
+     , directory, dlist, filepath, mtl, unix
+     }:
+     mkDerivation {
+       pname = "filesystem-trees";
+       version = "0.1.0.5";
+       sha256 = "0ypdnzv00kgr785z1psqaz306rgkvkn53jnr7qvchx1pqdw2v5cg";
+       buildDepends = [
+         base cond containers data-lens deepseq directory dlist filepath mtl
+         unix
+       ];
+       homepage = "https://github.com/kallisti-dev/filesystem-trees";
+       description = "Recursively manipulate and traverse filesystems as lazy rose trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "filtrable" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "filtrable";
+       version = "0.1.0.2";
+       sha256 = "0dfw08pqw4wlja1iavb8zz0rkr97hd7fg1v2akng8n7shmjhgbl5";
+       buildDepends = [ base ];
+       homepage = "https://github.com/strake/filtrable.hs";
+       description = "Class of filtrable containers";
+       license = "unknown";
+     }) {};
+
+  "final" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "final";
+       version = "0.1";
+       sha256 = "189vby5ym6hcjpz6y9chlgkyzl8wnndqkhzk7s7qy8mksr3g66f9";
+       buildDepends = [ base stm transformers ];
+       homepage = "http://github.com/errge/final";
+       description = "utility to add extra safety to monadic returns";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "find-conduit" = callPackage
+    ({ mkDerivation, attoparsec, base, conduit, conduit-combinators
+     , directory, doctest, either, exceptions, filepath, hspec, mmorph
+     , monad-control, mtl, regex-posix, semigroups, system-filepath
+     , text, time, transformers, transformers-base, unix
+     }:
+     mkDerivation {
+       pname = "find-conduit";
+       version = "0.4.1";
+       sha256 = "171y1bb3r6af41i2xsip2r4xm7grbzpvlwczrvaj8hzyknr3y7dx";
+       buildDepends = [
+         attoparsec base conduit conduit-combinators either exceptions
+         mmorph monad-control mtl regex-posix semigroups system-filepath
+         text time transformers transformers-base unix
+       ];
+       testDepends = [
+         attoparsec base conduit conduit-combinators directory doctest
+         either exceptions filepath hspec mmorph monad-control mtl
+         regex-posix semigroups system-filepath text time transformers
+         transformers-base unix
+       ];
+       description = "A file-finding conduit that allows user control over traversals";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fingertree" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "fingertree";
+       version = "0.1.0.2";
+       sha256 = "1krsymv66lnz30hv3j2427vl1wh7vczjb66qviq8mfxgfxf2q8z6";
+       buildDepends = [ base ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "Generic finger-tree structure, with example instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fingertree-psqueue" = callPackage
+    ({ mkDerivation, base, fingertree }:
+     mkDerivation {
+       pname = "fingertree-psqueue";
+       version = "0.3";
+       sha256 = "14kc0ijx44q7whniickjj3h9ag1pixn51dlxjs6n2ypaclcjz34z";
+       buildDepends = [ base fingertree ];
+       description = "Implementation of priority search queues as finger trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fingertree-tf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fingertree-tf";
+       version = "0.1.0.0";
+       sha256 = "1ja8cqxpqhvssbcywph3zna946g1li5hlzsqab9lhg6vw0baakdn";
+       buildDepends = [ base ];
+       description = "Generic finger-tree structure using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "finite-field" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable, HUnit, primes
+     , QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, type-level-numbers
+     }:
+     mkDerivation {
+       pname = "finite-field";
+       version = "0.8.0";
+       sha256 = "0wlbq7dpb4545xdnqjqppp0cmjx9m8g1p6lydkvn7pj7dwar8lni";
+       buildDepends = [
+         base deepseq hashable template-haskell type-level-numbers
+       ];
+       testDepends = [
+         base containers HUnit primes QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+         type-level-numbers
+       ];
+       description = "Finite Fields";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "first-class-patterns" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "first-class-patterns";
+       version = "0.3.2.1";
+       sha256 = "07ak85jkxli1yhj75mpvam0av8iz5qpbx6m5kzw04fqg3vcfrj8j";
+       buildDepends = [ base transformers ];
+       homepage = "https://github.com/reinerp/first-class-patterns";
+       description = "First class patterns and pattern matching, using type families";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "firstify" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , homeomorphic, mtl, Safe, yhccore
+     }:
+     mkDerivation {
+       pname = "firstify";
+       version = "0.1";
+       sha256 = "1g851dgsxq9gfbsx4qas9vm844ay3g5vhfd1493fgpay0j7i5fnd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath homeomorphic mtl Safe yhccore
+       ];
+       homepage = "http://www-users.cs.york.ac.uk/~ndm/firstify/";
+       description = "Defunctionalisation for Yhc Core";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fishfood" = callPackage
+    ({ mkDerivation, base, Cabal, containers, factory, mtl, QuickCheck
+     , toolshed, unix
+     }:
+     mkDerivation {
+       pname = "fishfood";
+       version = "0.0.1.0";
+       sha256 = "13fwwvvr3jd856gc28kckmaqgy3mdy02af0i6fws9jqkchm0d2l6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers factory mtl QuickCheck toolshed unix
+       ];
+       homepage = "http://functionalley.eu";
+       description = "Calculates file-size frequency-distribution";
+       license = "GPL";
+     }) {};
+
+  "fit" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , contravariant, hspec, hspec-attoparsec, mtl, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "fit";
+       version = "0.5";
+       revision = "1";
+       sha256 = "0xazsm6zdvnjxhy31c5zpjbd3fc98pcy545fq3jxvzh6c913fdjl";
+       editedCabalFile = "87f70d521590ba57a662694c83401df69c45c6c721e52119fde62685873b5f6f";
+       buildDepends = [
+         attoparsec base bytestring containers contravariant mtl text
+       ];
+       testDepends = [
+         attoparsec base bytestring containers hspec hspec-attoparsec mtl
+         QuickCheck text
+       ];
+       description = "FIT file decoder";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fitsio" = callPackage
+    ({ mkDerivation, base, cfitsio, filepath, mtl }:
+     mkDerivation {
+       pname = "fitsio";
+       version = "0.2";
+       sha256 = "07zsd05ncq8rnrswk4kzg97sam8czibw2nhlrqxg8q1a5canisag";
+       buildDepends = [ base filepath mtl ];
+       extraLibraries = [ cfitsio ];
+       homepage = "http://github.com/esessoms/fitsio";
+       description = "A library for reading and writing data files in the FITS data format";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) cfitsio;};
+
+  "fix-imports" = callPackage
+    ({ mkDerivation, base, containers, cpphs, directory, filepath
+     , haskell-src-exts, process, split, text, uniplate
+     }:
+     mkDerivation {
+       pname = "fix-imports";
+       version = "1.0.4";
+       sha256 = "0j8yqqf61f2m4zri844gp6k80vkfzk1rby2miv90niz3hbciknj6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers cpphs directory filepath haskell-src-exts process
+         split text uniplate
+       ];
+       description = "Program to manage the imports of a haskell module";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fix-parser-simple" = callPackage
+    ({ mkDerivation, base, mmtl }:
+     mkDerivation {
+       pname = "fix-parser-simple";
+       version = "15320.3";
+       sha256 = "0ls5fxwq2lnb0rjqih4isfwiv0603ga12gxnf7w3rpqp5qhrhas8";
+       buildDepends = [ base mmtl ];
+       description = "Simple fix-expression parser";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fix-symbols-gitit" = callPackage
+    ({ mkDerivation, base, containers, gitit }:
+     mkDerivation {
+       pname = "fix-symbols-gitit";
+       version = "0.1.0";
+       sha256 = "01fxzhd2wqzp0paba64q5psfc4qvc4b8i88rdkn6mxlkm21gkp6y";
+       buildDepends = [ base containers gitit ];
+       description = "Gitit plugin: Turn some Haskell symbols into pretty math symbols";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fixed" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fixed";
+       version = "0.2.1.1";
+       sha256 = "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94";
+       buildDepends = [ base ];
+       homepage = "http://github.com/ekmett/fixed";
+       description = "Signed 15.16 precision fixed point arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixed-length" = callPackage
+    ({ mkDerivation, base, non-empty, utility-ht }:
+     mkDerivation {
+       pname = "fixed-length";
+       version = "0.1";
+       sha256 = "115j7bc6s45qn87hamy4w1ih247cxhyhrzaz244sw4qfkxypigkj";
+       buildDepends = [ base non-empty utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/fixed-length/";
+       description = "Lists with statically known length based on non-empty package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixed-list" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fixed-list";
+       version = "0.1.5";
+       sha256 = "07b1kzysf96jckx7yghb2a93l884x8fvxxd0g2ja3hwb5y403911";
+       buildDepends = [ base ];
+       homepage = "http://github.com/jvranish/FixedList/tree/master";
+       description = "A fixed length list type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixed-point" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fixed-point";
+       version = "0.5.0.1";
+       sha256 = "010gx32av4cn5bqq1zrrcah50ay528vw01fvv1xhfpkrx1ll9wka";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Binary fixed-point arithmetic";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fixed-point-vector" = callPackage
+    ({ mkDerivation, base, fixed-point, vector }:
+     mkDerivation {
+       pname = "fixed-point-vector";
+       version = "0.5.0.1";
+       sha256 = "029mn44d1i794b1pbpa0zmf6b20zl0cvsf77mbfdkqnyx8986883";
+       buildDepends = [ base fixed-point vector ];
+       jailbreak = true;
+       description = "Unbox instances for the fixed-point package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fixed-point-vector-space" = callPackage
+    ({ mkDerivation, base, fixed-point, vector-space }:
+     mkDerivation {
+       pname = "fixed-point-vector-space";
+       version = "0.5.0.1";
+       sha256 = "10b29gqy3rpwd5wf2b65p0llm8ksyp1p7k43rm1n5g5z67wkd7dx";
+       buildDepends = [ base fixed-point vector-space ];
+       jailbreak = true;
+       description = "vector-space instances for the fixed-point package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fixed-precision" = callPackage
+    ({ mkDerivation, base, hmpfr, integer-gmp, reflection, tagged
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "fixed-precision";
+       version = "0.4.0";
+       sha256 = "1akgiark8svzkqx764iic10qpfixm0js8vwga0134d81ppcp58f6";
+       buildDepends = [
+         base hmpfr integer-gmp reflection tagged template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/fixed-precision";
+       description = "Fixed Precision Arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fixed-storable-array" = callPackage
+    ({ mkDerivation, array, base, tagged }:
+     mkDerivation {
+       pname = "fixed-storable-array";
+       version = "0.3.1.1";
+       sha256 = "0vb5h2v2qx19d7xibf7ksv2cha2pngh49mfpkh43f9vrwc6042ph";
+       buildDepends = [ array base tagged ];
+       jailbreak = true;
+       description = "Fixed-size wrapper for StorableArray, providing a Storable instance. Deprecated - use storable-static-array instead.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fixed-vector" = callPackage
+    ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
+     mkDerivation {
+       pname = "fixed-vector";
+       version = "0.8.0.0";
+       sha256 = "1hlg0rbi2phk7qr7nvjnazg344jqp5p13c3m8v5n01vw9bvjbnir";
+       buildDepends = [ base deepseq primitive ];
+       testDepends = [ base doctest filemanip primitive ];
+       description = "Generic vectors with statically known size";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixed-vector-binary" = callPackage
+    ({ mkDerivation, base, binary, fixed-vector, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "fixed-vector-binary";
+       version = "0.6.0.0";
+       sha256 = "1yjyw9wc92laiwd9w8ng3456azicvf9a9wqk2v6liiksj3flw7hy";
+       buildDepends = [ base binary fixed-vector ];
+       testDepends = [ base binary fixed-vector tasty tasty-quickcheck ];
+       description = "Binary instances for fixed-vector";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixed-vector-cereal" = callPackage
+    ({ mkDerivation, base, cereal, fixed-vector, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "fixed-vector-cereal";
+       version = "0.6.0.0";
+       sha256 = "1kf3d0pfaif5fish1vc5z7d5ym23bwl80l8bg4bgpdw75cg2dnn6";
+       buildDepends = [ base cereal fixed-vector ];
+       testDepends = [ base cereal fixed-vector tasty tasty-quickcheck ];
+       description = "Cereal instances for fixed-vector";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixed-vector-hetero" = callPackage
+    ({ mkDerivation, base, deepseq, fixed-vector, ghc-prim, primitive
+     , transformers
+     }:
+     mkDerivation {
+       pname = "fixed-vector-hetero";
+       version = "0.3.1.0";
+       sha256 = "0x5fjggm0licrdd442pr1968zlzfb0ah4ib8s9yxcb2p6vc39lzv";
+       buildDepends = [
+         base deepseq fixed-vector ghc-prim primitive transformers
+       ];
+       homepage = "http://github.org/Shimuuar/fixed-vector-hetero";
+       description = "Generic heterogeneous vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixedprec" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "fixedprec";
+       version = "0.2.2.1";
+       sha256 = "0s921nhkmdglmcwzyr048r04dswc6hz7kvh9p4lvd8i2mxq0szgi";
+       buildDepends = [ base random ];
+       description = "A fixed-precision real number type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixedwidth-hs" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, text }:
+     mkDerivation {
+       pname = "fixedwidth-hs";
+       version = "0.3.0.0";
+       sha256 = "0azqjz559vrz4l65ylvnlihlfvblycwnbb9w0rq7kpcfb4rj2iic";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aeson attoparsec base bytestring text ];
+       homepage = "https://github.com/michaelochurch/fixedwidth-hs";
+       description = "Quick parsing of fixed-width data formats";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fixhs" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , bytestring, containers, deepseq, dlist, enumerator, HaXml
+     , MissingH, network, old-time, parallel, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "fixhs";
+       version = "0.1.4";
+       sha256 = "0kxfx3k2d8xy75s7cln3l1hiia5vjcr6k5almbpys63dkr3svcz2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec attoparsec-enumerator base bytestring containers deepseq
+         dlist enumerator HaXml MissingH network old-time parallel
+         QuickCheck text
+       ];
+       homepage = "http://github.com/urv/fixhs";
+       description = "FIX (co)parser";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "fixplate" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "fixplate";
+       version = "0.1.5";
+       sha256 = "0mmkkydvdiw4nawgw3w7a9gpcxc3wzzlhz2083hqa6sxhx8x3b29";
+       buildDepends = [ base containers ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Uniplate-style generic traversals for optionally annotated fixed-point types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixpoint" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fixpoint";
+       version = "0.1.1";
+       sha256 = "05h1cw1gpnwk1qjlia4l27j375cva8pp75fzn99w2rxsv6khszpb";
+       buildDepends = [ base ];
+       homepage = "http://www.cse.unsw.edu.au/~rl/code/fixpoint.html";
+       description = "Data types as fixpoints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fixtime" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "fixtime";
+       version = "1.5.0.2";
+       sha256 = "1walxcyi1wrv28vgy318c88z3mprz6mc8qfhbjgxb156iwfv80w5";
+       buildDepends = [ base time ];
+       jailbreak = true;
+       homepage = "https://github.com/pharpend/fixtime";
+       description = "Some fixes to the time package";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "fizz-buzz" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fizz-buzz";
+       version = "0.1.0.1";
+       sha256 = "169xaj7iczz0mnvd03pf95dcvy918jscpzap6z9y62kb0daskg4p";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Functional Fizz/Buzz";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "flaccuraterip" = callPackage
+    ({ mkDerivation, base, binary, deepseq, HTTP, optparse-applicative
+     , process
+     }:
+     mkDerivation {
+       pname = "flaccuraterip";
+       version = "0.3.4";
+       sha256 = "0vx4fn1d8i2qh0q20vijhp7yc0zcvjdwk1v7f7ra0kbm4ygmi38h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary deepseq HTTP optparse-applicative process
+       ];
+       homepage = "http://noaxiom.org/flAccurateRip";
+       description = "Verify FLAC files ripped form CD using AccurateRip™";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "flamethrower" = callPackage
+    ({ mkDerivation, base, template-haskell, text }:
+     mkDerivation {
+       pname = "flamethrower";
+       version = "0.0.5.1";
+       sha256 = "10kfy1cnp721hgz6lbc28y7hkjhbv6gpk2jff6nk2avrfbaqqd8x";
+       buildDepends = [ base template-haskell text ];
+       homepage = "https://charmander.me/flamethrower/";
+       description = "A template engine for HTML";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "flat-mcmc" = callPackage
+    ({ mkDerivation, base, monad-par, monad-par-extras, mtl, mwc-random
+     , primitive, vector
+     }:
+     mkDerivation {
+       pname = "flat-mcmc";
+       version = "0.1.0.0";
+       sha256 = "1fp5jga82kbkj77xhy4m4vsn7zqf6fr9fwram3a2ybqssicgs3z5";
+       buildDepends = [
+         base monad-par monad-par-extras mtl mwc-random primitive vector
+       ];
+       jailbreak = true;
+       homepage = "http://jtobin.github.com/flat-mcmc";
+       description = "Painless general-purpose sampling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "flexible-defaults" = callPackage
+    ({ mkDerivation, base, containers, template-haskell, th-extras
+     , transformers
+     }:
+     mkDerivation {
+       pname = "flexible-defaults";
+       version = "0.0.1.1";
+       sha256 = "0cbp8hb7y29xz3hl780173cs6ca4df0r98fz7v3drqr46aq55ipl";
+       buildDepends = [
+         base containers template-haskell th-extras transformers
+       ];
+       homepage = "https://github.com/mokus0/flexible-defaults";
+       description = "Generate default function implementations for complex type classes";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "flexible-time" = callPackage
+    ({ mkDerivation, base, bytestring, unix-time }:
+     mkDerivation {
+       pname = "flexible-time";
+       version = "0.1.0.3";
+       sha256 = "179k0r58r5s0g1vfs7ab382iq7qf5xbrnmvx2y8p86pz8fcz7a8l";
+       buildDepends = [ base bytestring unix-time ];
+       homepage = "https://github.com/tattsun/flexible-time";
+       description = "simple extension of Data.UnixTime.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "flexible-unlit" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "flexible-unlit";
+       version = "0.2013.314.0";
+       sha256 = "0jwsa2qfzw4rdj55axy7cw1p82314i28c16f7p7pjp53cwnsp02a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring text ];
+       description = "A configurable reimplementation of unlit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "flexiwrap" = callPackage
+    ({ mkDerivation, base, data-type, mtl, QuickCheck }:
+     mkDerivation {
+       pname = "flexiwrap";
+       version = "0.1.0";
+       sha256 = "0vvl9w3i374k720sscbcsbha89fcfk1hcvdr0nk4y7gkp13xwdba";
+       buildDepends = [ base data-type mtl QuickCheck ];
+       jailbreak = true;
+       description = "Flexible wrappers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "flexiwrap-smallcheck" = callPackage
+    ({ mkDerivation, base, data-type, flexiwrap, mtl, smallcheck }:
+     mkDerivation {
+       pname = "flexiwrap-smallcheck";
+       version = "0.0.1";
+       sha256 = "1dara0az10fxx46jmplf2l6a6x8qqjk00fxjzb9n10ndd4lxcsm3";
+       buildDepends = [ base data-type flexiwrap mtl smallcheck ];
+       jailbreak = true;
+       description = "SmallCheck (Serial) instances for flexiwrap";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "flickr" = callPackage
+    ({ mkDerivation, base, filepath, HTTP, mime, network, random
+     , utf8-string, xhtml, xml
+     }:
+     mkDerivation {
+       pname = "flickr";
+       version = "0.3.3";
+       sha256 = "12fi34zl2ggbxf5gmfldplzi1pk9byf8rpn58ljw2fvz3qb8x6yl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base filepath HTTP mime network random utf8-string xhtml xml
+       ];
+       description = "Haskell binding to the Flickr API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "flippers" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "flippers";
+       version = "1.0.1";
+       revision = "1";
+       sha256 = "1swyj1f67giq7h9xcl6dzsw4ywk1jbl6avpihbv0q9g9hp6yzqp3";
+       editedCabalFile = "e908ada5c891a6ac39cefb7e41648606d1a5f1b1048281f93bd496c5f22d73b4";
+       buildDepends = [ base ];
+       description = "Variations on flip for multiple arguments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "flite" = callPackage
+    ({ mkDerivation, array, base, containers, haskell98, parsec }:
+     mkDerivation {
+       pname = "flite";
+       version = "0.1.2";
+       sha256 = "0ck44icwg6gzi9x5h5iszk59qnr0fhsj95ghk0lxm8aygavwq44d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers haskell98 parsec ];
+       jailbreak = true;
+       homepage = "http://www.cs.york.ac.uk/fp/reduceron/";
+       description = "f-lite compiler, interpreter and libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "flo" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, parsec, regex-compat, text
+     }:
+     mkDerivation {
+       pname = "flo";
+       version = "0.1";
+       sha256 = "1hxzdgnsfxallmw7z07hs4ax8pfn57hk55kyjxg8vnrj7i07bp9l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring mtl parsec regex-compat text ];
+       description = "Generate flow charts from your code base";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "float-binstring" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, HUnit, QuickCheck, split
+     , text
+     }:
+     mkDerivation {
+       pname = "float-binstring";
+       version = "0.2";
+       sha256 = "0dcxk1s13ppslqxd378yh92pzmxnmnhk1q07wl5ifcnfy5zamzdq";
+       buildDepends = [ attoparsec base split text ];
+       testDepends = [
+         attoparsec base hspec HUnit QuickCheck split text
+       ];
+       homepage = "https://github.com/llelf/float-binstring";
+       description = "C99 printf \"%a\" style formatting and parsing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "floating-bits" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "floating-bits";
+       version = "0.2.0.0";
+       sha256 = "0b50pabkwvlj90vyld795k072am1w387215lz1cvm42pwb6m6ara";
+       buildDepends = [ base ];
+       testDepends = [ base ];
+       description = "Conversions between floating and integral values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "floatshow" = callPackage
+    ({ mkDerivation, array, base, integer-gmp }:
+     mkDerivation {
+       pname = "floatshow";
+       version = "0.2.4";
+       sha256 = "1zsxjwgm8nkphnmsbz03yvplc2r02qybb387n910j4j6vya98khc";
+       buildDepends = [ array base integer-gmp ];
+       homepage = "https://bitbucket.org/dafis/floatshow";
+       description = "Alternative faster String representations for Double and Float, String representations for more general numeric types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "flock" = callPackage
+    ({ mkDerivation, base, lifted-base, monad-control, transformers
+     , unix
+     }:
+     mkDerivation {
+       pname = "flock";
+       version = "0.3.1.8";
+       sha256 = "1g1gf7qnlqkl57h28nzxnbzj7v2h73czffp5y7s7jm9vbihcwd4n";
+       buildDepends = [
+         base lifted-base monad-control transformers unix
+       ];
+       homepage = "http://github.com/hesselink/flock";
+       description = "Wrapper for flock(2)";
+       license = "unknown";
+     }) {};
+
+  "flow" = callPackage
+    ({ mkDerivation, base, doctest, QuickCheck, template-haskell }:
+     mkDerivation {
+       pname = "flow";
+       version = "1.0.0";
+       revision = "1";
+       sha256 = "15vr7d1fyabr9v9r9vnh9m2x0r2i0ggg714cc7r6zxhjbrrc9rbn";
+       editedCabalFile = "acf5b2b49db56bf047774bc90e57e6c81c5c4d413849d4cdff9dfaf4c71246ab";
+       buildDepends = [ base ];
+       testDepends = [ base doctest QuickCheck template-haskell ];
+       homepage = "http://taylor.fausak.me/flow/";
+       description = "Write more understandable Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "flow2dot" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, QuickCheck
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "flow2dot";
+       version = "0.9.0.3";
+       sha256 = "1pf60wpwsvxxgqkz3zh2qlcyz9pyd8axi41y5y6pn77n9x8p2613";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl parsec QuickCheck utf8-string
+       ];
+       homepage = "http://adept.linux.kiev.ua:8080/repos/flow2dot";
+       description = "Library and binary to generate sequence/flow diagrams from plain text source";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "flowdock" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , http-client, http-client-tls, lens, mtl, pipes, pipes-aeson
+     , pipes-http, pipes-parse, template-haskell, text
+     , unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "flowdock";
+       version = "0.2.0.0";
+       sha256 = "1lmjhy6cxdr86pia9v04h4q40w0401r3a2srsdhgwbgxzj3syi1r";
+       buildDepends = [
+         aeson base base64-bytestring bytestring http-client http-client-tls
+         lens mtl pipes pipes-aeson pipes-http pipes-parse template-haskell
+         text unordered-containers uuid
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/brewtown/hs-flowdock";
+       description = "Flowdock client library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "flowdock-api" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, blaze-builder
+     , bytestring, data-default, directory, filepath, heredoc, HsOpenSSL
+     , hspec, http-streams, http-types, io-streams, monad-logger
+     , MonadCatchIO-transformers, optparse-applicative, split
+     , template-haskell, text, time, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "flowdock-api";
+       version = "0.1.0.0";
+       sha256 = "0p0b0pabyykvli9l0jrcbfgpyq7dna3zilb4z0s1hb6mamfdn7ng";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring blaze-builder bytestring data-default
+         directory filepath HsOpenSSL http-streams http-types io-streams
+         monad-logger MonadCatchIO-transformers optparse-applicative split
+         text time transformers unordered-containers vector
+       ];
+       testDepends = [
+         aeson base base64-bytestring blaze-builder bytestring data-default
+         heredoc HsOpenSSL hspec http-streams http-types io-streams
+         monad-logger MonadCatchIO-transformers template-haskell text time
+         transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/gabemc/flowdock-api";
+       description = "API integration with Flowdock";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "flower" = callPackage
+    ({ mkDerivation, array, base, binary, bio, bytestring, cmdargs
+     , containers, mtl, random
+     }:
+     mkDerivation {
+       pname = "flower";
+       version = "0.7.2";
+       sha256 = "0r9l3b91kyhf4ab8m2qv5jsfqf3k7x639bq1wjbf852imzl6138b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bio bytestring cmdargs containers mtl random
+       ];
+       jailbreak = true;
+       homepage = "http://biohaskell.org/Applications/Flower";
+       description = "Analyze 454 flowgrams (.SFF files)";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "flowsim" = callPackage
+    ({ mkDerivation, array, base, biocore, biofasta, biosff, bytestring
+     , cmdargs, containers, directory, MonadRandom, mtl, random
+     }:
+     mkDerivation {
+       pname = "flowsim";
+       version = "0.3.5";
+       sha256 = "0l3222a2r2khhrfhzvd0iikqq1rlcwhvf785bwnwqygq35i1w6j3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base biocore biofasta biosff bytestring cmdargs containers
+         directory MonadRandom mtl random
+       ];
+       homepage = "http://biohaskell.org/Applications/FlowSim";
+       description = "Simulate 454 pyrosequencing";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "fltkhs" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, directory, process }:
+     mkDerivation {
+       pname = "fltkhs";
+       version = "0.1.0.1";
+       sha256 = "026cx8l24qjf91d8ikqyz7bj92apm3qzq0ml6rvybj44mrpd1c34";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory process ];
+       buildTools = [ c2hs ];
+       homepage = "http://github.com/deech/fltkhs";
+       description = "FLTK bindings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fluent-logger" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cereal
+     , cereal-conduit, conduit, conduit-extra, containers, exceptions
+     , hspec, messagepack, network, network-socket-options, random, stm
+     , text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "fluent-logger";
+       version = "0.2.3.0";
+       sha256 = "1zmkb36ki30chvjfabm1vn4xzixf8dk2y5ryy72as5c9n6xnkkkq";
+       buildDepends = [
+         base bytestring cereal containers messagepack network
+         network-socket-options random stm text time vector
+       ];
+       testDepends = [
+         attoparsec base bytestring cereal cereal-conduit conduit
+         conduit-extra containers exceptions hspec messagepack network text
+         time transformers
+       ];
+       description = "A structured logger for Fluentd (Haskell)";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "fluent-logger-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, fluent-logger
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "fluent-logger-conduit";
+       version = "0.3.0.0";
+       sha256 = "0z21dg1y0rqfgvpvgci5kp3jh0kdx5v5paxdidwp8dd6v7y3ag9q";
+       buildDepends = [
+         base bytestring conduit fluent-logger resourcet transformers
+       ];
+       description = "Conduit interface for fluent-logger";
+       license = "unknown";
+     }) {};
+
+  "fluidsynth" = callPackage
+    ({ mkDerivation, base, bindings-DSL, containers, directory
+     , fluidsynth
+     }:
+     mkDerivation {
+       pname = "fluidsynth";
+       version = "0.2.0.0";
+       sha256 = "18r7q7sh35sr71ays0c9ic6f7vmrblpw25mz1y5v9sbk5x2lh64s";
+       buildDepends = [ base bindings-DSL containers directory ];
+       extraLibraries = [ fluidsynth ];
+       jailbreak = true;
+       homepage = "https://github.com/MostAwesomeDude/hsfluidsynth";
+       description = "Haskell bindings to FluidSynth";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) fluidsynth;};
+
+  "fmark" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, process, Unixutils
+     }:
+     mkDerivation {
+       pname = "fmark";
+       version = "0.1.1";
+       sha256 = "1bjkkd90mw1nbm5pyjh52dwhqa6xx3i3hhl2ys3qpk08mrw5r09l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath mtl process Unixutils ];
+       jailbreak = true;
+       homepage = "http://github.com/jabolopes/fmark";
+       description = "A Friendly Markup language without syntax";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fmlist" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fmlist";
+       version = "0.9";
+       sha256 = "1gzwmsrbxk22v7syf8zfvxphm23dmjzfpysz6qww3qvib8wm64aq";
+       buildDepends = [ base ];
+       homepage = "https://github.com/sjoerdvisscher/fmlist";
+       description = "FoldMap lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "focus" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "focus";
+       version = "0.1.4";
+       sha256 = "0h6q48ybcch1p15f4x56ya4d8mn4dwzbfjx573dy6z3x12v7qi2n";
+       buildDepends = [ base ];
+       homepage = "https://github.com/nikita-volkov/focus";
+       description = "A general abstraction for manipulating elements of container data structures";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "foldl" = callPackage
+    ({ mkDerivation, base, bytestring, containers, primitive, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "foldl";
+       version = "1.0.9";
+       sha256 = "10y9r4h6a6na0gpf5sy5mm34k94swisv6wbj2k210zyfvnrx9r36";
+       buildDepends = [
+         base bytestring containers primitive text transformers vector
+       ];
+       description = "Composable, streaming, and efficient left folds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "foldl-incremental" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, foldl
+     , histogram-fill, mwc-random, pipes, QuickCheck, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "foldl-incremental";
+       version = "0.2.0.0";
+       sha256 = "09xf9cba3j49z4bwfmad6q9gdnp3f1zn817q4px7hky2gln3bhzk";
+       buildDepends = [
+         base containers deepseq foldl histogram-fill vector
+       ];
+       testDepends = [
+         base bytestring containers foldl histogram-fill mwc-random pipes
+         QuickCheck tasty tasty-golden tasty-hunit tasty-quickcheck vector
+       ];
+       homepage = "https://github.com/tonyday567/foldl-incremental";
+       description = "incremental folds";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "folds" = callPackage
+    ({ mkDerivation, base, bytestring, comonad, contravariant, deepseq
+     , directory, doctest, filepath, lens, mtl, pointed, profunctors
+     , reflection, semigroupoids, semigroups, tagged, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "folds";
+       version = "0.6.2";
+       sha256 = "13zdmf7szdy9ka5dw0vgzbfmndm7w8fz7ryz5h2z5hsqg9am2qqa";
+       buildDepends = [
+         base comonad contravariant lens pointed profunctors reflection
+         semigroupoids tagged transformers vector
+       ];
+       testDepends = [
+         base bytestring deepseq directory doctest filepath mtl semigroups
+       ];
+       configureFlags = [ "-f-test-hlint" ];
+       homepage = "http://github.com/ekmett/folds";
+       description = "Beautiful Folding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "folds-common" = callPackage
+    ({ mkDerivation, base, containers, folds, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "folds-common";
+       version = "0.2.0.0";
+       sha256 = "1dcyh798ijq4ms8xr0jwfp4fy5i5l4czl7m3yvk2z6rkha9w1zmc";
+       buildDepends = [ base containers folds ];
+       testDepends = [ base containers tasty tasty-quickcheck ];
+       description = "A playground of common folds for folds";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "follower" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, cmdargs, directory, filepath
+     , hs-twitter, old-locale, strict, time
+     }:
+     mkDerivation {
+       pname = "follower";
+       version = "0.0.1";
+       sha256 = "0iy8q06fpc03n4z6dcrl95vji67dia6bp30q42rrlqw6s9cwigsm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base cmdargs directory filepath hs-twitter
+         old-locale strict time
+       ];
+       homepage = "http://rebworks.net/projects/follower/";
+       description = "Follow Tweets anonymously";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "font-opengl-basic4x6" = callPackage
+    ({ mkDerivation, base, GLFW-b, OpenGL }:
+     mkDerivation {
+       pname = "font-opengl-basic4x6";
+       version = "0.0.3";
+       sha256 = "0myjb8g3mis887l0jmr88nb757x0zcvhnanx02hxjbfb5iqx3cx9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base GLFW-b OpenGL ];
+       jailbreak = true;
+       description = "Basic4x6 font for OpenGL";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "foo" = callPackage
+    ({ mkDerivation, base, containers, GLUT, haskell98, OpenGL }:
+     mkDerivation {
+       pname = "foo";
+       version = "1.0";
+       sha256 = "1f1abijdfvnmkgbvw9q94k4p39pbqslmg9am1j1sjyxrag5y0vv8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers GLUT haskell98 OpenGL ];
+       homepage = "http://sourceforge.net/projects/fooengine/?abmode=1";
+       description = "Paper soccer, an OpenGL game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "for-free" = callPackage
+    ({ mkDerivation, base, comonad, comonad-transformers, containers
+     , contravariant, transformers
+     }:
+     mkDerivation {
+       pname = "for-free";
+       version = "0.1";
+       sha256 = "048m95sg8jq7kpr55iq5h93c7zbaqp5v340phb13v9yw2hv50sql";
+       buildDepends = [
+         base comonad comonad-transformers containers contravariant
+         transformers
+       ];
+       jailbreak = true;
+       description = "Functor, Monad, MonadPlus, etc for free";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "forbidden-fruit" = callPackage
+    ({ mkDerivation, base, control-monad-loop, hashable, hashtables
+     , hspec, primitive, transformers, transformers-base, vector
+     }:
+     mkDerivation {
+       pname = "forbidden-fruit";
+       version = "0.1.0";
+       sha256 = "0sxaa2lpz6j0ljz8kjxifvp4lk5x12w0ka9wjws4w7r8q9bld8dd";
+       buildDepends = [
+         base control-monad-loop hashable hashtables primitive transformers
+         transformers-base vector
+       ];
+       testDepends = [
+         base control-monad-loop hashable hashtables hspec primitive
+         transformers vector
+       ];
+       homepage = "http://github.com/minpou/forbidden-fruit";
+       description = "A library accelerates imperative style programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "force-layout" = callPackage
+    ({ mkDerivation, base, containers, data-default-class, lens
+     , vector-space, vector-space-points
+     }:
+     mkDerivation {
+       pname = "force-layout";
+       version = "0.3.0.11";
+       sha256 = "01cjj30xf34j7c8nk0pbrsy7zp1pyl9qwq3mvnvbikrjqbhdylhh";
+       buildDepends = [
+         base containers data-default-class lens vector-space
+         vector-space-points
+       ];
+       description = "Simple force-directed layout";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fordo" = callPackage
+    ({ mkDerivation, base, process, transformers }:
+     mkDerivation {
+       pname = "fordo";
+       version = "0.1";
+       sha256 = "0vlh5rfn3n8vi3gbfmpbw20jgv5skvcw187walgv6dns39pagsar";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process transformers ];
+       description = "Run a command on files with magic substituion support (sequencing and regexp)";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "forecast-io" = callPackage
+    ({ mkDerivation, aeson, base, text }:
+     mkDerivation {
+       pname = "forecast-io";
+       version = "0.1.0.0";
+       sha256 = "0z2hv8lv75zij9arvxdircc0db0r0m86fgk5496hh1gvxxd5pqw6";
+       buildDepends = [ aeson base text ];
+       homepage = "https://github.com/stormont/forecast-io";
+       description = "A Haskell library for working with forecast.io data.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "foreign-storable-asymmetric" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "foreign-storable-asymmetric";
+       version = "0.0.1";
+       sha256 = "1pj30p7z5nq8j95z9c4kjv6spandfch3r0dvx3n8wsbh3270dvxj";
+       buildDepends = [ base ];
+       description = "Types and instances for implementing a Storable with different peek and poke";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "foreign-store" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "foreign-store";
+       version = "0.2";
+       sha256 = "1p436dn6l5zjzizcsj0hn10s2n907gr7c8y89i4sm3h69lhqlw86";
+       buildDepends = [ base ];
+       homepage = "https://github.com/chrisdone/foreign-store";
+       description = "Store a stable pointer in a foreign context to be retrieved later";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "foreign-var" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "foreign-var";
+       version = "0.1";
+       sha256 = "1rxfmzq9npj1170i85qhq5fhvvzb9j1wdi5lzmj57k4hlyxcwqjd";
+       buildDepends = [ base stm transformers ];
+       homepage = "http://github.com/ekmett/foreign-var/";
+       description = "Encapsulating mutatable state in external libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "forkable-monad" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "forkable-monad";
+       version = "0.1.1";
+       sha256 = "0nxcjx3cf8bkl0cwkpgz5c6byld13kw2601q4157fmfa370bi11h";
+       buildDepends = [ base transformers ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/forkable-monad/";
+       description = "An implementation of forkIO for monad stacks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "formal" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, containers
+     , directory, file-embed, HTTP, indents, interpolatedstring-perl6
+     , jmacro, MissingH, mtl, network, pandoc, parsec, process, text
+     , transformers, urlencoded, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "formal";
+       version = "0.1.0";
+       sha256 = "0z8a5a9w7mg69c1x6h8825bhkll63gz6j85lbc0w59w1ag2x8865";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring containers directory file-embed HTTP
+         indents interpolatedstring-perl6 jmacro MissingH mtl network pandoc
+         parsec process text transformers urlencoded wl-pprint-text
+       ];
+       jailbreak = true;
+       description = "A statically typed, functional programming language";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "format" = callPackage
+    ({ mkDerivation, haskell2010, parsec, QuickCheck }:
+     mkDerivation {
+       pname = "format";
+       version = "0.1.0.0";
+       sha256 = "1vv9b0hif5hi3jkd1n6j85b5mkfkjyixldblm2l4qfgrj95igmph";
+       buildDepends = [ haskell2010 parsec ];
+       testDepends = [ haskell2010 parsec QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/bytbox/hs-format";
+       description = "Rendering from and scanning to format strings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "format-status" = callPackage
+    ({ mkDerivation, base, data-concurrent-queue, old-locale, stm, text
+     , time
+     }:
+     mkDerivation {
+       pname = "format-status";
+       version = "0.2.0.0";
+       sha256 = "0dfmjp307c8685cdw41nmjmisf3aplyf177r973wyqcrifabvs2q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base data-concurrent-queue old-locale stm text time
+       ];
+       jailbreak = true;
+       description = "A utility for writing the date to dzen2";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "formatting" = callPackage
+    ({ mkDerivation, base, clock, old-locale, scientific, text
+     , text-format, time
+     }:
+     mkDerivation {
+       pname = "formatting";
+       version = "6.2.0";
+       sha256 = "13w2322djffajqdy48lwfngcrbh5pc9ivhy1w5zgxcjqc0amlv5v";
+       buildDepends = [
+         base clock old-locale scientific text text-format time
+       ];
+       description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "forml" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cereal
+     , containers, directory, file-embed, ghc-prim, GraphSCC, hslogger
+     , HTTP, indents, interpolatedstring-perl6, jmacro, MissingH, mtl
+     , network, pandoc, parsec, process, text, urlencoded, utf8-string
+     , zlib
+     }:
+     mkDerivation {
+       pname = "forml";
+       version = "0.2";
+       sha256 = "1bqfw3h06mbznivg37840qnzjygflzp90wkyssnb1kjxi4bj1vbv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring cereal containers directory
+         file-embed ghc-prim GraphSCC hslogger HTTP indents
+         interpolatedstring-perl6 jmacro MissingH mtl network pandoc parsec
+         process text urlencoded utf8-string zlib
+       ];
+       jailbreak = true;
+       homepage = "http://texodus.github.com/forml";
+       description = "A statically typed, functional programming language";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "formlets" = callPackage
+    ({ mkDerivation, applicative-extras, base, blaze-html, bytestring
+     , haskell98, syb, transformers, xhtml
+     }:
+     mkDerivation {
+       pname = "formlets";
+       version = "0.8";
+       sha256 = "0jx56vhrzcwca33rgp738plmssw95nv20rrzw5xrxcmdv26zp1w9";
+       buildDepends = [
+         applicative-extras base blaze-html bytestring haskell98 syb
+         transformers xhtml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/chriseidhof/formlets/tree/master";
+       description = "Formlets implemented in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "formlets-hsp" = callPackage
+    ({ mkDerivation, applicative-extras, base, formlets, haskell98, hsp
+     , hsx, mtl, trhsx
+     }:
+     mkDerivation {
+       pname = "formlets-hsp";
+       version = "2.3.1";
+       sha256 = "19m0nryrksh1cgsz7sx3gamjczw36hqfsbml05p6j7li3bk0fpw2";
+       buildDepends = [
+         applicative-extras base formlets haskell98 hsp hsx mtl
+       ];
+       buildTools = [ trhsx ];
+       description = "HSP support for Formlets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "forth-hll" = callPackage
+    ({ mkDerivation, array-forth, base, free, mtl }:
+     mkDerivation {
+       pname = "forth-hll";
+       version = "0.1.0.0";
+       sha256 = "1hmcicxnxcl99chidkbg1kspjzpxxcw8qh4lrwvmlpz2knzf11g3";
+       buildDepends = [ array-forth base free mtl ];
+       jailbreak = true;
+       description = "A simple eDSL for generating arrayForth code";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "fountain" = callPackage
+    ({ mkDerivation, base, containers, random }:
+     mkDerivation {
+       pname = "fountain";
+       version = "0.1";
+       sha256 = "0mxzrvrag2qwn22llklmdkcf4icd8n9ifg1awd9q7ffll8a1a67p";
+       buildDepends = [ base containers random ];
+       homepage = "http://tomahawkins.org";
+       description = "A fountain codec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fpco-api" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-html, bytestring, cereal, containers, data-default, deepseq
+     , deepseq-generics, directory, failure, fay, filepath, ghc-prim
+     , hashable, http-conduit, http-types, ini, lifted-async
+     , lifted-base, monad-control, monad-extras, monad-logger, mtl
+     , network, optparse-applicative, persistent, persistent-template
+     , pretty-show, process, random, resourcet, safe, semigroups
+     , shakespeare, shakespeare-i18n, stm, syb, template-haskell, text
+     , time, transformers, transformers-base, unordered-containers
+     , vector, yesod-core
+     }:
+     mkDerivation {
+       pname = "fpco-api";
+       version = "1.2.0.5";
+       sha256 = "1r80a6vimpy4nviskl62c4ivp2l8wrg3vhzgdg53nnfa5j6lmha2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base base64-bytestring blaze-html bytestring
+         cereal containers data-default deepseq deepseq-generics directory
+         failure fay filepath ghc-prim hashable http-conduit http-types ini
+         lifted-async lifted-base monad-control monad-extras monad-logger
+         mtl network optparse-applicative persistent persistent-template
+         pretty-show process random resourcet safe semigroups shakespeare
+         shakespeare-i18n stm syb template-haskell text time transformers
+         transformers-base unordered-containers vector yesod-core
+       ];
+       homepage = "https://www.fpcomplete.com/page/api";
+       description = "Simple interface to the FP Complete IDE API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fpipe" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fpipe";
+       version = "0.0.1";
+       sha256 = "1b6r19yy9wh5w8xb0ajjxsd2qyzjnkgyav1975qv92wwxslyxwr8";
+       buildDepends = [ base ];
+       description = "F#-style composition and application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fpnla" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fpnla";
+       version = "0.1.1";
+       sha256 = "15qpfi3b9vnpm17q3y64nsrhlj5vi9rgrgysjfk98aw1gkj9mvv4";
+       buildDepends = [ base ];
+       description = "A library for NLA operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fpnla-examples" = callPackage
+    ({ mkDerivation, accelerate, array, base, data-default, deepseq
+     , fpnla, hmatrix, HUnit, linear-algebra-cblas, monad-par, parallel
+     , QuickCheck, random, repa, tagged, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time, vector
+     }:
+     mkDerivation {
+       pname = "fpnla-examples";
+       version = "0.1.1";
+       sha256 = "1p305r0jgcqrbny22ic1ziyav9yjy6v02wgna0sgh4p0c1wi7pb2";
+       buildDepends = [
+         accelerate array base deepseq fpnla hmatrix linear-algebra-cblas
+         monad-par parallel repa vector
+       ];
+       testDepends = [
+         accelerate array base data-default deepseq fpnla hmatrix HUnit
+         linear-algebra-cblas monad-par parallel QuickCheck random repa
+         tagged test-framework test-framework-hunit
+         test-framework-quickcheck2 time vector
+       ];
+       description = "Example implementations for FPNLA library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fptest" = callPackage
+    ({ mkDerivation, base, doctest, Glob, hlint, HUnit, parsec
+     , parsec3-numbers, process, QuickCheck, regex-compat
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "fptest";
+       version = "0.2.2.0";
+       sha256 = "1wqca640h9qcrnwkqdw1pyl73c4nraglgwqgimkrgbkjlwpyn824";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base HUnit parsec parsec3-numbers QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       testDepends = [
+         base doctest Glob hlint HUnit parsec parsec3-numbers process
+         QuickCheck regex-compat test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jrp2014/fptest";
+       description = "IEEE754r floating point conformance tests";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fquery" = callPackage
+    ({ mkDerivation, base, directory, extensible-exceptions, hashtables
+     , parsec, process, regex-compat, unix
+     }:
+     mkDerivation {
+       pname = "fquery";
+       version = "0.2.1.5";
+       sha256 = "1v1qrbr5kz17haawrh0ksmjw7j4ks0x4kqzss5z1fbldl6axw97i";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory extensible-exceptions hashtables parsec process
+         regex-compat unix
+       ];
+       description = "Installed package query tool for Gentoo Linux";
+       license = "unknown";
+     }) {};
+
+  "fractal" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fractal";
+       version = "0.0.1";
+       sha256 = "0iw5454mi0ms3w62m118rlqr6lr1j9mbxwfj26mlc5p38bq9k7ds";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Draw Newton, Julia and Mandelbrot fractals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fraction" = callPackage
+    ({ mkDerivation, base, semigroups }:
+     mkDerivation {
+       pname = "fraction";
+       version = "0.1.0.3";
+       sha256 = "0kjpfqy528s11kfigp27kr5a4xw8kn11mpgjzb6fapdbip6y9579";
+       buildDepends = [ base semigroups ];
+       jailbreak = true;
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/fraction";
+       description = "Fractions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "frag" = callPackage
+    ({ mkDerivation, array, base, GLUT, OpenGL, random }:
+     mkDerivation {
+       pname = "frag";
+       version = "1.1.2";
+       sha256 = "1xgnp4cls8i61hyl4kcf3afri77jlcahwjvww498xl5d5frdiv90";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base GLUT OpenGL random ];
+       homepage = "http://haskell.org/haskellwiki/Frag";
+       description = "A 3-D First Person Shooter Game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "frame" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , ghc-binary, happstack-fastcgi, happstack-server, haskell98
+     , haskelldb, haskelldb-hdbc, haskelldb-hdbc-odbc, HDBC, HDBC-odbc
+     , HTTP, MissingH, mtl, old-time, pretty, utf8-string
+     }:
+     mkDerivation {
+       pname = "frame";
+       version = "0.1";
+       sha256 = "0ldncqifcnk4d50qivgw62hcdy4nc23zr64q787azid0vb9vsdja";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory ghc-binary happstack-fastcgi
+         happstack-server haskell98 haskelldb haskelldb-hdbc
+         haskelldb-hdbc-odbc HDBC HDBC-odbc HTTP MissingH mtl old-time
+         pretty utf8-string
+       ];
+       jailbreak = true;
+       description = "A simple web framework";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { ghc-binary = null;};
+
+  "frame-markdown" = callPackage
+    ({ mkDerivation, base, frame, pandoc }:
+     mkDerivation {
+       pname = "frame-markdown";
+       version = "0.1";
+       sha256 = "0wy1c9xgd6ykymqciga1sla83wfdwy17p88bygfp6pflbc0rw57g";
+       buildDepends = [ base frame pandoc ];
+       jailbreak = true;
+       description = "A markdown to Frame GUI writer for Pandoc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "franchise" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "franchise";
+       version = "0.0.6";
+       sha256 = "144fywp5fcix5i06wvwvzwsr19bgxpajx7bi7jw43hnm3rlcj4vr";
+       buildDepends = [ base ];
+       description = "A package for configuring and building Haskell software";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "free" = callPackage
+    ({ mkDerivation, base, bifunctors, comonad, distributive, mtl
+     , prelude-extras, profunctors, semigroupoids, semigroups
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "free";
+       version = "4.11";
+       sha256 = "0k645n6ywy1as2lmw4gv2bmmr9y67pcnar0jhhf9kpaqvl5s2h5y";
+       buildDepends = [
+         base bifunctors comonad distributive mtl prelude-extras profunctors
+         semigroupoids semigroups template-haskell transformers
+       ];
+       homepage = "http://github.com/ekmett/free/";
+       description = "Monads for free";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "free-functors" = callPackage
+    ({ mkDerivation, algebraic-classes, base, comonad, constraints
+     , template-haskell, transformers, void
+     }:
+     mkDerivation {
+       pname = "free-functors";
+       version = "0.6.3.3";
+       sha256 = "05q3b5ls6c63piywyxpa87gzn0c46xwgisq6skb05a38q24za3a0";
+       buildDepends = [
+         algebraic-classes base comonad constraints template-haskell
+         transformers void
+       ];
+       homepage = "https://github.com/sjoerdvisscher/free-functors";
+       description = "Provides free functors that are adjoint to functors that forget class constraints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "free-game" = callPackage
+    ({ mkDerivation, array, base, boundingboxes, colors, containers
+     , control-bool, directory, filepath, free, freetype2, GLFW-b
+     , hashable, JuicyPixels, JuicyPixels-util, lens, linear, mtl
+     , OpenGL, OpenGLRaw, random, reflection, template-haskell
+     , transformers, vector, void
+     }:
+     mkDerivation {
+       pname = "free-game";
+       version = "1.1.80";
+       sha256 = "1vpwrviwxib22mkaqmwndzfly8iicr85sh1y914gwp5n83lmkava";
+       buildDepends = [
+         array base boundingboxes colors containers control-bool directory
+         filepath free freetype2 GLFW-b hashable JuicyPixels
+         JuicyPixels-util lens linear mtl OpenGL OpenGLRaw random reflection
+         template-haskell transformers vector void
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fumieval/free-game";
+       description = "Create games for free";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "free-operational" = callPackage
+    ({ mkDerivation, base, comonad-transformers, free, kan-extensions
+     , mtl, transformers
+     }:
+     mkDerivation {
+       pname = "free-operational";
+       version = "0.5.0.0";
+       sha256 = "0gim4m0l76sxxg6a8av1gl6qjpwxwdzyviij86d06v1150r08dmb";
+       buildDepends = [
+         base comonad-transformers free kan-extensions mtl transformers
+       ];
+       jailbreak = true;
+       description = "Operational Applicative, Alternative, Monad and MonadPlus from free types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "free-theorems" = callPackage
+    ({ mkDerivation, base, containers, haskell-src, haskell-src-exts
+     , mtl, pretty, syb
+     }:
+     mkDerivation {
+       pname = "free-theorems";
+       version = "0.3.2.0";
+       sha256 = "1r0qz8h8fjb9akkhd3impr30gd0s5ky51dj667x0pf155b4lvx2w";
+       buildDepends = [
+         base containers haskell-src haskell-src-exts mtl pretty syb
+       ];
+       description = "Automatic generation of free theorems";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "free-theorems-counterexamples" = callPackage
+    ({ mkDerivation, base, cgi, containers, free-theorems, haskell-src
+     , haskell-src-exts, HUnit, mtl, pretty, syb, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "free-theorems-counterexamples";
+       version = "0.3.1.0";
+       sha256 = "1wq5lvnylw92qzv1q93liz4i3q2j8sbgwgaw8nw79q0x0cdvbbb3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cgi containers free-theorems haskell-src haskell-src-exts
+         HUnit mtl pretty syb utf8-string xhtml
+       ];
+       description = "Automatically Generating Counterexamples to Naive Free Theorems";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "free-theorems-seq" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, free-theorems
+     , haskell-src, mtl, old-locale, old-time, parsec, pretty, syb
+     , utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "free-theorems-seq";
+       version = "1.0";
+       sha256 = "1scqjv6hc2y0w1x9f8v8bwrl1dnz64hf5jgrdam12dxbsk6qjs6g";
+       buildDepends = [
+         array base bytestring containers free-theorems haskell-src mtl
+         old-locale old-time parsec pretty syb utf8-string xhtml
+       ];
+       description = "Taming Selective Strictness";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "free-theorems-seq-webui" = callPackage
+    ({ mkDerivation, base, cgi, containers, free-theorems-seq, mtl
+     , network, pretty, syb, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "free-theorems-seq-webui";
+       version = "1.0.0.2";
+       sha256 = "1bx7fg1ddycl9pgrlh2qij5vb6fqx79gl6lbm248c95xyygi3iy5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cgi containers free-theorems-seq mtl network pretty syb
+         utf8-string xhtml
+       ];
+       description = "Taming Selective Strictness";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "free-theorems-webui" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, csv, dataenc, directory
+     , filepath, free-theorems, process, time, xhtml
+     }:
+     mkDerivation {
+       pname = "free-theorems-webui";
+       version = "0.2.1.1";
+       sha256 = "1qxdfbzr52dw0qww03l86vpgmylznifqzvjarmgpkfr129szl7ba";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cgi csv dataenc directory filepath free-theorems
+         process time xhtml
+       ];
+       description = "CGI-based web interface for the free-theorems package";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "freekick2" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, EdisonCore, filepath, FTGL, haskell98, mtl, OpenGL
+     , pngload, random, SDL, template-haskell
+     }:
+     mkDerivation {
+       pname = "freekick2";
+       version = "0.1.2";
+       sha256 = "1ybmffs05hgzn81szcd8nrz4f94qc64d9y2d2hkyq57djb87503j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory EdisonCore
+         filepath FTGL haskell98 mtl OpenGL pngload random SDL
+         template-haskell
+       ];
+       homepage = "http://github.com/anttisalonen/freekick2";
+       description = "A soccer game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "freenect" = callPackage
+    ({ mkDerivation, base, freenect, freenect_sync, vector }:
+     mkDerivation {
+       pname = "freenect";
+       version = "1.2";
+       sha256 = "11ggp90npdyfdmf8zhjk442zl0j0lni6hizhgc0409za9i6s1l5g";
+       buildDepends = [ base vector ];
+       extraLibraries = [ freenect freenect_sync ];
+       homepage = "https://github.com/chrisdone/freenect";
+       description = "Interface to the Kinect device";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { freenect = null;  freenect_sync = null;};
+
+  "freesect" = callPackage
+    ({ mkDerivation, array, base, cpphs, directory, mtl, parallel
+     , pretty, random, syb
+     }:
+     mkDerivation {
+       pname = "freesect";
+       version = "0.8";
+       sha256 = "150ch1xmx3slmq7hb74z8sjrqhrsc9kl1zjn030fj6k6kphrwd88";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base cpphs directory mtl parallel pretty random syb
+       ];
+       jailbreak = true;
+       homepage = "http://fremissant.net/freesect";
+       description = "A Haskell syntax extension for generalised sections";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "freesound" = callPackage
+    ({ mkDerivation, base, bytestring, curl, data-accessor
+     , data-accessor-template, directory, mtl, xml
+     }:
+     mkDerivation {
+       pname = "freesound";
+       version = "0.1.0";
+       sha256 = "0a34qc62sjc355qfr3qz92nh27gmcyqk2jlhq77pjfdzv0ivigcy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring curl data-accessor data-accessor-template directory
+         mtl xml
+       ];
+       homepage = "http://code.haskell.org/~StefanKersten/code/freesound";
+       description = "Access the Freesound Project database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "freetype-simple" = callPackage
+    ({ mkDerivation, base, boundingboxes, bytestring, freetype2, linear
+     }:
+     mkDerivation {
+       pname = "freetype-simple";
+       version = "0.1.0.1";
+       sha256 = "1qhiy896a10af9fnzcp4y0ra1c9l6fbcclrr3k74pn2qvvfybnss";
+       buildDepends = [ base boundingboxes bytestring freetype2 linear ];
+       homepage = "https://github.com/capsjac/freetype-simple";
+       description = "Single line text rendering for OpenGL ES";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "freetype2" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "freetype2";
+       version = "0.1.1";
+       sha256 = "16ayyqvbl278z68ssfbv2nvbyxs7585zmnk2w53vlxvj0k9zj66s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Haskell binding for FreeType 2 library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fresh" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts, syb }:
+     mkDerivation {
+       pname = "fresh";
+       version = "0.1.1";
+       sha256 = "1441yv55bwmiwnr6jsccq91anq8vhc2a4ka0irn3i2i9cjzw0gkw";
+       buildDepends = [ base containers haskell-src-exts syb ];
+       homepage = "https://github.com/davidlazar/fresh";
+       description = "Introduce fresh variables into Haskell source code";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "friday" = callPackage
+    ({ mkDerivation, base, bytestring, convertible, deepseq, primitive
+     , QuickCheck, ratio-int, test-framework, test-framework-quickcheck2
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "friday";
+       version = "0.2.1.0";
+       sha256 = "02n0cdmd4fc3vi2i73s7q4pynnn29dpa1rh94z6j5lb5arcz9i8p";
+       buildDepends = [
+         base bytestring convertible deepseq primitive ratio-int
+         transformers vector
+       ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/RaphaelJ/friday";
+       description = "A functional image processing library for Haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "friday-devil" = callPackage
+    ({ mkDerivation, base, bytestring, convertible, deepseq, friday
+     , libdevil, transformers, vector
+     }:
+     mkDerivation {
+       pname = "friday-devil";
+       version = "0.1.1.1";
+       sha256 = "19g1h7palsaycv81fks9zbq979jdn7fqapxd6igxhkgzw73n69aj";
+       buildDepends = [
+         base bytestring convertible deepseq friday transformers vector
+       ];
+       extraLibraries = [ libdevil ];
+       homepage = "https://github.com/RaphaelJ/friday-devil";
+       description = "Uses the DevIL C library to read and write images from and to files and memory buffers";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libdevil;};
+
+  "friendly-time" = callPackage
+    ({ mkDerivation, base, HUnit, old-locale, test-framework
+     , test-framework-hunit, time
+     }:
+     mkDerivation {
+       pname = "friendly-time";
+       version = "0.3";
+       sha256 = "10p78qbb1c87d0ag6cwc7blgwaw8r5sbs00gp5qg3sh9x7n9l3nj";
+       buildDepends = [ base old-locale time ];
+       testDepends = [
+         base HUnit old-locale test-framework test-framework-hunit time
+       ];
+       homepage = "http://github.com/pbrisbin/friendly-time";
+       description = "Print time information in friendly ways";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "frisby" = callPackage
+    ({ mkDerivation, array, base, containers, mtl }:
+     mkDerivation {
+       pname = "frisby";
+       version = "0.2";
+       sha256 = "0isj9p7j33va1a4q78vnq32j9jdbjww596rxja235z4whicraf53";
+       buildDepends = [ array base containers mtl ];
+       homepage = "http://repetae.net/computer/frisby/";
+       description = "Linear time composable parser for PEG grammars";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "frp-arduino" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "frp-arduino";
+       version = "0.1.0.3";
+       sha256 = "00659x5f5dq4lb25ss880cqggqc63i7wqik04qvzk1kq3dl9six5";
+       buildDepends = [ base containers mtl ];
+       homepage = "http://github.com/frp-arduino/frp-arduino";
+       description = "Arduino programming without the hassle of C";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "frquotes" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "frquotes";
+       version = "0.2.1";
+       sha256 = "0s5cb0m6xgf9zfch75nzk9b8lvghl4nc5dk35xkakq6ys3zizw6c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Lexical extension for Quasi-Quotations using French-Quotes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fs-events" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fs-events";
+       version = "0.1";
+       sha256 = "0jw6cx9fzzs8r20acjq8nq8zjhwiwnvg1b0kc97c2sij1bhw6pw4";
+       buildDepends = [ base ];
+       homepage = "http://github.com/nkpart/fs-events";
+       description = "A haskell binding to the FSEvents API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fsharp" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fsharp";
+       version = "0.0.4";
+       sha256 = "1scmvhbsn988x6j4a94ibg1c7adrxf8lzn06n9n1iv62bjd450m3";
+       buildDepends = [ base ];
+       description = "some F# operators, high priority pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fsmActions" = callPackage
+    ({ mkDerivation, base, containers, fgl, filepath, graphviz
+     , MissingH, mtl, parsec, pretty
+     }:
+     mkDerivation {
+       pname = "fsmActions";
+       version = "0.4.4";
+       sha256 = "05713wj1s1307brqkbnapqi42dva55kcjgb8n3x6yirpfp6lhdsc";
+       buildDepends = [
+         base containers fgl filepath graphviz MissingH mtl parsec pretty
+       ];
+       homepage = "http://projects.haskell.org/fsmActions/";
+       description = "Finite state machines and FSM actions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fsnotify" = callPackage
+    ({ mkDerivation, async, base, containers, directory, hinotify
+     , system-fileio, system-filepath, tasty, tasty-hunit, temporary-rc
+     , text, time
+     }:
+     mkDerivation {
+       pname = "fsnotify";
+       version = "0.1.0.3";
+       sha256 = "0m6jyg45azk377jklgwyqrx95q174cxd5znpyh9azznkh09wq58z";
+       buildDepends = [
+         async base containers hinotify system-fileio system-filepath text
+         time
+       ];
+       testDepends = [
+         async base directory system-fileio system-filepath tasty
+         tasty-hunit temporary-rc
+       ];
+       description = "Cross platform library for file change notification";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fst" = callPackage
+    ({ mkDerivation, array, base, haskeline, mtl, QuickCheck
+     , transformers
+     }:
+     mkDerivation {
+       pname = "fst";
+       version = "0.10.0.0";
+       sha256 = "14135p69zjn0f0300q09g79dm9vgrmvgnjwdhy7f58z0blhahibs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base haskeline mtl transformers ];
+       testDepends = [ base QuickCheck ];
+       homepage = "http://www.cse.chalmers.se/alumni/markus/fstStudio/";
+       description = "Finite state transducers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fsutils" = callPackage
+    ({ mkDerivation, base, directory, filepath }:
+     mkDerivation {
+       pname = "fsutils";
+       version = "0.1.2";
+       sha256 = "07lx4928d1fnjbpfmky4jhhk7sqj98b11vdbv4f67p3bwfn5lrp8";
+       buildDepends = [ base directory filepath ];
+       jailbreak = true;
+       homepage = "https://github.com/Raynes/fsutils";
+       description = "File system utilities for Haskell that are missing from built in libraries";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fswatcher" = callPackage
+    ({ mkDerivation, base, directory, fsnotify, process
+     , system-filepath, unix
+     }:
+     mkDerivation {
+       pname = "fswatcher";
+       version = "0.1.2";
+       sha256 = "1b6pm3jfyi5lbrpjv8n6z970xs11h61hj1g5ph54fhsqd2wvmpc2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory fsnotify process system-filepath unix
+       ];
+       homepage = "http://www.github.com/ehamberg/fswatcher/";
+       description = "Watch a file/directory and run a command when it's modified";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ftdi" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bytestring, safe
+     , transformers, usb
+     }:
+     mkDerivation {
+       pname = "ftdi";
+       version = "0.2.0.1";
+       sha256 = "1gnfbngn3jwva6nvrcrzmi2n2vy4k55yh41zvg0kyb61w7kgm4m8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols bytestring safe transformers usb
+       ];
+       jailbreak = true;
+       description = "A thin layer over USB to communicate with FTDI chips";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ftp-conduit" = callPackage
+    ({ mkDerivation, base, byteorder, bytestring, conduit, MissingH
+     , network, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "ftp-conduit";
+       version = "0.0.5";
+       sha256 = "0gb65g46nr9haysy3dbrylka08fsz81yn7aiwwingc6wlp7d76dg";
+       buildDepends = [
+         base byteorder bytestring conduit MissingH network transformers
+         utf8-string
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/litherum/ftp-conduit";
+       description = "FTP client package with conduit interface based off http-conduit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ftphs" = callPackage
+    ({ mkDerivation, base, hslogger, MissingH, mtl, network, parsec
+     , regex-compat
+     }:
+     mkDerivation {
+       pname = "ftphs";
+       version = "1.0.9.1";
+       sha256 = "1whvawaifhi5xgmiagdayjf7m6p6vs71mvc4a4csd4vzzjr0a2yf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base hslogger MissingH mtl network parsec regex-compat
+       ];
+       homepage = "http://software.complete.org/ftphs";
+       description = "FTP Client and Server Library";
+       license = "LGPL";
+     }) {};
+
+  "ftree" = callPackage
+    ({ mkDerivation, base, ShowF, type-unary }:
+     mkDerivation {
+       pname = "ftree";
+       version = "0.1.3";
+       sha256 = "1ma87jnwsgzlr7z6ac303i0qy9i2lywvjgb2zjv9qgnbkf18pg3m";
+       buildDepends = [ base ShowF type-unary ];
+       homepage = "https://github.com/conal/ftree/";
+       description = "Depth-typed functor-based trees, both top-down and bottom-up";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ftshell" = callPackage
+    ({ mkDerivation, base, containers, free-theorems, mtl, pretty
+     , Shellac, Shellac-readline
+     }:
+     mkDerivation {
+       pname = "ftshell";
+       version = "0.3.0.1";
+       sha256 = "1jrpb6dzq47xy6xvsisc7g1y53dc97s4l826f9sscxpdsrx3yp8r";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers free-theorems mtl pretty Shellac Shellac-readline
+       ];
+       jailbreak = true;
+       description = "Shell interface to the FreeTheorems library";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fugue" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fugue";
+       version = "0.1";
+       sha256 = "0g0qy0lcixbjm5srmfl1dnci4m09zwqcs5dpknpnsdc4b4l3925r";
+       buildDepends = [ base ];
+       description = "A recapitulated prelude with minimal dependencies and profligate exports";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "full-sessions" = callPackage
+    ({ mkDerivation, base, ghc, network }:
+     mkDerivation {
+       pname = "full-sessions";
+       version = "0.6.2.1";
+       sha256 = "0irm1zrggjl9zrapzxfl3kj32d81k30c8nbmr3bf9ramjg65xm90";
+       buildDepends = [ base ghc network ];
+       homepage = "http://www.agusa.i.is.nagoya-u.ac.jp/person/sydney/full-sessions.html";
+       description = "a monad for protocol-typed network programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "full-text-search" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy, QuickCheck
+     , tasty, tasty-quickcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "full-text-search";
+       version = "0.2.1.1";
+       sha256 = "1rz4gimbk32677158321xs36pkc5ywjhm2sisw8hrwa3zlfjkrfc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers text vector ];
+       testDepends = [
+         array base containers QuickCheck tasty tasty-quickcheck text vector
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       description = "In-memory full text search engine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fullstop" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, split, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "fullstop";
+       version = "0.1.4";
+       sha256 = "10452kdl98igk2y48bb2ligj8nk7gpjcsf0nsiifvpjbfxv4gakc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base split ];
+       testDepends = [
+         base HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "http://hub.darcs.net/kowey/fullstop";
+       description = "Simple sentence segmenter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "funcmp" = callPackage
+    ({ mkDerivation, base, filepath, process }:
+     mkDerivation {
+       pname = "funcmp";
+       version = "1.8";
+       sha256 = "09kmfgl15d71fr5h66j2b0ngw69y8dp41d55lz35nrjxq3l3gz1k";
+       buildDepends = [ base filepath process ];
+       homepage = "http://savannah.nongnu.org/projects/funcmp/";
+       description = "Functional MetaPost";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "function-combine" = callPackage
+    ({ mkDerivation, base, data-type }:
+     mkDerivation {
+       pname = "function-combine";
+       version = "0.1.0";
+       sha256 = "1m8bmqxb9kar3y8zv22qs2a6kzd636m5li1r2q4y6pps0nglv9i9";
+       buildDepends = [ base data-type ];
+       description = "Combining functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "function-instances-algebra" = callPackage
+    ({ mkDerivation, base, numeric-prelude }:
+     mkDerivation {
+       pname = "function-instances-algebra";
+       version = "0.1";
+       sha256 = "0dxym6xrylngw8r5spi246nmi8fvvxxx776qismcr04zqshv7ygw";
+       buildDepends = [ base numeric-prelude ];
+       jailbreak = true;
+       homepage = "github.com/kreuzschlitzschraubenzieher/function-instances-algebra";
+       description = "Instances of the Algebra.* classes for functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "functional-arrow" = callPackage
+    ({ mkDerivation, base, HList }:
+     mkDerivation {
+       pname = "functional-arrow";
+       version = "0.0";
+       sha256 = "1la9xqm5gs6a6cb18wyx9wr0nx6p5ryhczvb72d0zm6xrjrf0r5s";
+       buildDepends = [ base HList ];
+       jailbreak = true;
+       description = "Combinators that allow for a more functional/monadic style of Arrow programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "functor-apply" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "functor-apply";
+       version = "0.11";
+       sha256 = "0jshf7and80p0gq26zz83xj4p3ff8lppa5252qg0646xsr06lfkr";
+       homepage = "http://comonad.com/reader/";
+       description = "This package has been subsumed by semigroupoids";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "functor-combo" = callPackage
+    ({ mkDerivation, base, containers, data-inttrie, lub, type-unary
+     , TypeCompose
+     }:
+     mkDerivation {
+       pname = "functor-combo";
+       version = "0.3.5";
+       sha256 = "1q93chk6bj43dym8v620sdcpwfzw4q1ws3jcry84h33ymlpwqnpp";
+       buildDepends = [
+         base containers data-inttrie lub type-unary TypeCompose
+       ];
+       description = "Functor combinators with tries & zippers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "functor-infix" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "functor-infix";
+       version = "0.0.1";
+       sha256 = "1f8m4nxlr2il9j0ilgw91fhp6mmz5xqlhylavncqwvbcq82362dc";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://github.com/fmap/functor-infix";
+       description = "Compositions of functors";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "functor-monadic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "functor-monadic";
+       version = "0.1.0.1";
+       sha256 = "0791pqg4b9nr4ggfhi6ijjxmnwyf2yyqxfk9iahf6jn0y09lr7pm";
+       buildDepends = [ base ];
+       homepage = "https://github.com/ombocomp/FunctorMonadic/";
+       description = "Monad-style combinators for functors";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "functorm" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "functorm";
+       version = "1.0.1";
+       sha256 = "1aa4f6yp4vrrrs3rswhjxw2gij3mwn8yf299kgv42wd03xazyxrs";
+       buildDepends = [ base ];
+       description = "Data.FunctorM (compatibility package)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "functors" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "functors";
+       version = "0.1";
+       sha256 = "0nfnjxihn0nhj0rhi1wvqax1f95wskr3fwb7c2clz4lvsma6bfg6";
+       buildDepends = [ base ];
+       homepage = "https://github.com/aristidb/functors";
+       description = "(.:) and friends, syntax for Functor and Applicative.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "funion" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, haskell98
+     , HFuse, unix
+     }:
+     mkDerivation {
+       pname = "funion";
+       version = "0.0.2";
+       sha256 = "0pgl4fg29xg7g2pdyjqmi7qlpzcs25ggwg6d9y4fzbc7fzh31wxv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath haskell98 HFuse unix
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/nathanwiegand/funion";
+       description = "A unioning file-system using HFuse";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "funpat" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "funpat";
+       version = "0.1";
+       sha256 = "0zblrfg8mfbc1hzxb36hk2lb3c167xmpcvg8h595m9kjpdmj4ayw";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       description = "A generalization of pattern matching";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "funsat" = callPackage
+    ({ mkDerivation, array, base, bimap, bitset, containers, fgl, mtl
+     , parse-dimacs, pretty, QuickCheck, random, time
+     }:
+     mkDerivation {
+       pname = "funsat";
+       version = "0.6.2";
+       sha256 = "1hyyx3ivrhw5svklyl36qzbcd0wwx4978znvn42lsl53273ds5n3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bimap bitset containers fgl mtl parse-dimacs pretty
+         QuickCheck random time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/dbueno/funsat";
+       description = "A modern DPLL-style SAT solver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "futun" = callPackage
+    ({ mkDerivation, base, bytestring, network, unix }:
+     mkDerivation {
+       pname = "futun";
+       version = "0.1.0.2";
+       sha256 = "1vfi30mlr0lds975wgq3197sv1qdwy6lvm6xaqwk28h5flmk28k1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring network unix ];
+       jailbreak = true;
+       description = "Simple IP-over-UDP tunnel using TUNTAP";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "future" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "future";
+       version = "2.0.0";
+       sha256 = "1gvv1m6sfxdc28h4rzp5dh6hrz6nfh031nhs192606v8wg78m3ri";
+       buildDepends = [ base ];
+       homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/future";
+       description = "Supposed to mimics and enhance proposed C++ \"future\" features";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "future-resource" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "future-resource";
+       version = "0.3.0.0";
+       revision = "1";
+       sha256 = "1w1ifjzfpqlqf7dzlnca67xhc1m1ddaflq3xin5xf9s2qnmsahvx";
+       editedCabalFile = "f9842af26e96134d6190b8ee4f8588c0352f192443330012e66105ac4e18b082";
+       buildDepends = [ base ];
+       description = "realtime resource handling with manual concurrency";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "fuzzcheck" = callPackage
+    ({ mkDerivation, base, hspec, hspec-expectations, HUnit
+     , lifted-base, monad-control, QuickCheck, random, transformers
+     }:
+     mkDerivation {
+       pname = "fuzzcheck";
+       version = "0.1.1";
+       sha256 = "0qfr4f0b50l368b45yzwhqd4g2y1kvfrfj4hr84cdxcwdrwn9mpc";
+       buildDepends = [
+         base lifted-base monad-control QuickCheck random transformers
+       ];
+       testDepends = [ base hspec hspec-expectations HUnit QuickCheck ];
+       homepage = "https://github.com/fpco/fuzzcheck";
+       description = "A simple checker for stress testing monadic code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fuzzy-timings" = callPackage
+    ({ mkDerivation, base, containers, glpk-hs, HUnit, mtl, QuickCheck
+     , random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time
+     }:
+     mkDerivation {
+       pname = "fuzzy-timings";
+       version = "0.0.1";
+       sha256 = "1sm4g04y9n8r61q2sqa91n87hh32kpcn2r5zjlvdy7qxc11lrmj7";
+       buildDepends = [ base containers glpk-hs mtl random time ];
+       testDepends = [
+         base containers HUnit mtl QuickCheck random test-framework
+         test-framework-hunit test-framework-quickcheck2 time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tlaitinen/fuzzy-timings";
+       description = "Translates high-level definitions of \"fuzzily\" scheduled objects (e.g. play this commercial 10 times per hour between 9:00-13:00) to a list of accurately scheduled objects using glpk-hs.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "fuzzytime" = callPackage
+    ({ mkDerivation, base, cmdargs, directory, old-time, process }:
+     mkDerivation {
+       pname = "fuzzytime";
+       version = "0.7.7";
+       sha256 = "16ybyzki390g2172d3f48vyr1gr27grkvs1jjb6cblws34n5g2pr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs directory old-time process ];
+       description = "A 'ten past six' style clock";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fwgl" = callPackage
+    ({ mkDerivation, base, hashable, transformers, unordered-containers
+     , vector, Yampa
+     }:
+     mkDerivation {
+       pname = "fwgl";
+       version = "0.1.1.0";
+       sha256 = "07ml9f8x4rw7wg6wib63nayh8mpszrkx0zal9zz0cpjh2f85n10a";
+       buildDepends = [
+         base hashable transformers unordered-containers vector Yampa
+       ];
+       homepage = "https://github.com/ZioCrocifisso/FWGL";
+       description = "FRP 2D/3D game engine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fwgl-glfw" = callPackage
+    ({ mkDerivation, base, fwgl, gl, GLFW-b, hashable, JuicyPixels
+     , transformers, unordered-containers, vector, Yampa
+     }:
+     mkDerivation {
+       pname = "fwgl-glfw";
+       version = "0.1.0.3";
+       revision = "1";
+       sha256 = "1zmvw7945lkghavik72w096rqh8ivjyb9h6j98yjvlj6xf85bsq0";
+       editedCabalFile = "f2a35fcd71bbea225624cf3b6d1f78647e103a1ee1edcc0a7eb9e27b0c4642d8";
+       buildDepends = [
+         base fwgl gl GLFW-b hashable JuicyPixels transformers
+         unordered-containers vector Yampa
+       ];
+       homepage = "https://github.com/ZioCrocifisso/FWGL";
+       description = "FWGL GLFW backend";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fwgl-javascript" = callPackage
+    ({ mkDerivation, base, fwgl, ghcjs-base, hashable
+     , unordered-containers, Yampa
+     }:
+     mkDerivation {
+       pname = "fwgl-javascript";
+       version = "0.1.0.2";
+       sha256 = "1vgc3dqm0pqac8l17w0fi4xv2rx2bik6n405qzarjnjlyp7czqcm";
+       buildDepends = [
+         base fwgl ghcjs-base hashable unordered-containers Yampa
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ZioCrocifisso/FWGL";
+       description = "FWGL GHCJS backend";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { ghcjs-base = null;};
+
+  "g-npm" = callPackage
+    ({ mkDerivation, base, HTTP, json }:
+     mkDerivation {
+       pname = "g-npm";
+       version = "0.1.0";
+       sha256 = "1blr3xbqn8fa59av4kgfp2y3szky40v5qmw3k9gsr2barrvkjqz0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HTTP json ];
+       description = "Generate Gentoo ebuilds from NodeJS/npm packages";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gact" = callPackage
+    ({ mkDerivation, base, biopsl, bytestring, cmdargs, hashable
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "gact";
+       version = "0.2";
+       sha256 = "0p1rb24yldkjnkrygjb43g63vfgzq2bix7rrmiqyrdwb37s65ixq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base biopsl bytestring cmdargs hashable unordered-containers
+       ];
+       description = "General Alignment Clustering Tool";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "game-probability" = callPackage
+    ({ mkDerivation, base, containers, probability, random }:
+     mkDerivation {
+       pname = "game-probability";
+       version = "1.1";
+       sha256 = "1wl29h702g79kwy4ca35x1q37aaj3rphf1i9vdm2hmd44bzrwvkk";
+       buildDepends = [ base containers probability random ];
+       jailbreak = true;
+       description = "Simple probability library for dice rolls, card games and similar";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "game-tree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "game-tree";
+       version = "0.1.0.0";
+       sha256 = "1g8gkp4g18dr6m0scilhgdwg0zh0f9a2q3b1sk0gh4m3jw6gj4m5";
+       buildDepends = [ base ];
+       description = "Searching game trees with alpha-beta pruning";
+       license = "GPL";
+     }) {};
+
+  "gameclock" = callPackage
+    ({ mkDerivation, base, cairo, containers, glib, gtk, time }:
+     mkDerivation {
+       pname = "gameclock";
+       version = "1.0.4";
+       sha256 = "192rn2d8bil8wqilnaqxba8nzq0fjlbf0innv6rdcjs1kxw1ga0l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cairo containers glib gtk time ];
+       description = "Game clock that shows two analog clock faces";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gamma" = callPackage
+    ({ mkDerivation, base, continued-fractions, converge
+     , template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "gamma";
+       version = "0.9.0.2";
+       sha256 = "09z4m0qsf1aa2al7x3gl7z3xy6r4m0xqhnz8b917dxa104zw6flq";
+       buildDepends = [
+         base continued-fractions converge template-haskell vector
+       ];
+       homepage = "https://github.com/mokus0/gamma";
+       description = "Gamma function and related functions";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "gang-of-threads" = callPackage
+    ({ mkDerivation, base, containers, mtl, stm, transformers }:
+     mkDerivation {
+       pname = "gang-of-threads";
+       version = "3.2.1";
+       sha256 = "0gj7ln0xq1a7zzxhyl636z854xfq714kmh2ld30ll0dskr701l1p";
+       buildDepends = [ base containers mtl stm transformers ];
+       description = "Non-deterministic parallelism with bags";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "garepinoh" = callPackage
+    ({ mkDerivation, base, haskeline, transformers }:
+     mkDerivation {
+       pname = "garepinoh";
+       version = "0.9.9.2.1";
+       sha256 = "1cylwaj62gmcjczw5g44k9x6g5bamgk88h2arbbripzphhaf7cm7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base haskeline transformers ];
+       homepage = "http://hub.darcs.net/mekeor/Garepinoh/text/README.md";
+       description = "reverse prefix notation calculator and calculation library";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "garsia-wachs" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "garsia-wachs";
+       version = "1.2";
+       sha256 = "0mks5nwc19i0wsc5hhxh0ji2bh0224y3r89b3p9dfzzn64n3za6v";
+       buildDepends = [ base ];
+       description = "A Functional Implementation of the Garsia-Wachs Algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gbu" = callPackage
+    ({ mkDerivation, base, containers, fgl, Graphalyze, haskell98, mtl
+     , regex-posix
+     }:
+     mkDerivation {
+       pname = "gbu";
+       version = "0.1";
+       sha256 = "0zqgq5hr3vmajijf1vmc1s1lwilnymwvv493rra4fl0zy28k5cz6";
+       buildDepends = [
+         base containers fgl Graphalyze haskell98 mtl regex-posix
+       ];
+       homepage = "http://www.daneel0yaitskov.000space.com";
+       description = "planar graph embedding into a plane";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gc-monitoring-wai" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, conduit, http-types
+     , text, transformers, unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "gc-monitoring-wai";
+       version = "0.1.2";
+       sha256 = "04i86mngz0s6x5j36vs2nrxivqayqjfa2ppk016r4ffs4mi7i4va";
+       buildDepends = [
+         aeson base blaze-builder conduit http-types text transformers
+         unordered-containers wai
+       ];
+       homepage = "https://github.com/yihuang/gc-monitoring-wai";
+       description = "a wai application to show GHC.GCStats";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gconf" = callPackage
+    ({ mkDerivation, base, GConf, glib, gtk2hs-buildtools, text }:
+     mkDerivation {
+       pname = "gconf";
+       version = "0.13.0.2";
+       sha256 = "0xyxia19bfpi4pd118d33z8gi5cnyygs3idrby7zrmj69rnwj2lk";
+       buildDepends = [ base glib text ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ GConf ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the GNOME configuration database system";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs.gnome) GConf;};
+
+  "gd" = callPackage
+    ({ mkDerivation, base, bytestring, expat, fontconfig, freetype, gd
+     , libjpeg, libpng, zlib
+     }:
+     mkDerivation {
+       pname = "gd";
+       version = "3000.7.3";
+       sha256 = "1dkzv6zs00qi0jmblkw05ywizc8y3baz7pnz0lcqn1cs1mhcpbhl";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [
+         expat fontconfig freetype gd libjpeg libpng zlib
+       ];
+       description = "A Haskell binding to a subset of the GD graphics library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) expat;  inherit (pkgs) fontconfig;
+          inherit (pkgs) freetype;  inherit (pkgs) gd;
+          inherit (pkgs) libjpeg;  inherit (pkgs) libpng;
+          inherit (pkgs) zlib;};
+
+  "gdiff" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "gdiff";
+       version = "1.1";
+       sha256 = "1d0d8f8bfw7ld6a1d5y6syzdha5qsm909mqzd5gfqcbi2wnh8aqc";
+       buildDepends = [ base ];
+       homepage = "https://github.com/eelco/gdiff";
+       description = "Generic diff and patch";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gdiff-ig" = callPackage
+    ({ mkDerivation, array, base, ghc-prim, instant-generics
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "gdiff-ig";
+       version = "0.1.1";
+       sha256 = "1ma9w9ypk078vvqwlfgkwcw962xha1g1fx4abji1b7km09p58jm2";
+       buildDepends = [
+         array base ghc-prim instant-generics template-haskell
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics";
+       description = "Generic diff for the instant-generics library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gdiff-th" = callPackage
+    ({ mkDerivation, base, containers, gdiff, mtl, template-haskell
+     , th-expand-syns, uniplate
+     }:
+     mkDerivation {
+       pname = "gdiff-th";
+       version = "0.1.0.7";
+       sha256 = "1ihbz95k01giqbpbp1hddx71pkhz63pz5q4b71gv6z2vvvh34s2w";
+       buildDepends = [
+         base containers gdiff mtl template-haskell th-expand-syns uniplate
+       ];
+       testDepends = [
+         base containers gdiff mtl template-haskell th-expand-syns uniplate
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jfischoff/gdiff-th";
+       description = "Generate gdiff GADTs and Instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gearbox" = callPackage
+    ({ mkDerivation, base, GLUT, OpenGLRaw, Vec }:
+     mkDerivation {
+       pname = "gearbox";
+       version = "1.0.0.3";
+       sha256 = "1j68vrb0fxschslh3q5i1afv0vx8q6qgv1bipfr3p77cqazp26zx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT OpenGLRaw Vec ];
+       jailbreak = true;
+       homepage = "http://code.mathr.co.uk/gearbox";
+       description = "zooming rotating fractal gears graphics demo";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "geek" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, air, air-extra, air-th, base
+     , bytestring, containers, curl, data-default, directory, filepath
+     , fsnotify, Glob, hack2, hack2-contrib, miku, moe, mtl, old-locale
+     , process, random, safe, system-filepath, text, text-icu, time
+     }:
+     mkDerivation {
+       pname = "geek";
+       version = "1.1.0.1";
+       sha256 = "09ajjb12ziknfrw2m4plm10r99crq1hhizymni441x58wprpcdm2";
+       buildDepends = [
+         aeson aeson-pretty air air-extra air-th base bytestring containers
+         curl data-default directory filepath fsnotify Glob hack2
+         hack2-contrib miku moe mtl old-locale process random safe
+         system-filepath text text-icu time
+       ];
+       homepage = "http://github.com/nfjinjing/geek";
+       description = "Geek blog engine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geek-server" = callPackage
+    ({ mkDerivation, air, base, bytestring, data-default, geek, hack2
+     , hack2-handler-snap-server, pandoc, text
+     }:
+     mkDerivation {
+       pname = "geek-server";
+       version = "1.1";
+       sha256 = "1951jw8la59c7qvjpx8x898l7hnwc51c4264mmw0h402ik233bp2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         air base bytestring data-default geek hack2
+         hack2-handler-snap-server pandoc text
+       ];
+       homepage = "http://github.com/nfjinjing/geek";
+       description = "Geek blog engine server";
+       license = "GPL";
+     }) {};
+
+  "gemstone" = callPackage
+    ({ mkDerivation, array, base, bitmap, bitmap-opengl, containers
+     , FTGL, lens, linear, OpenGL, random, SDL, SDL-image, stb-image
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gemstone";
+       version = "0.3.0.1";
+       sha256 = "0y9ilxpkyb42iddks31k1f6vjkm78z6yaj2yd9ppis42r2advg40";
+       buildDepends = [
+         array base bitmap bitmap-opengl containers FTGL lens linear OpenGL
+         random SDL SDL-image stb-image transformers
+       ];
+       jailbreak = true;
+       homepage = "http://corbinsimpson.com/";
+       description = "A simple library of helpers for SDL+GL games";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gencheck" = callPackage
+    ({ mkDerivation, base, combinat, containers, ieee754, memoize
+     , random, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "gencheck";
+       version = "0.1.1";
+       sha256 = "1fa1p13zmqqhlcakcy73ypasn4ircg1x5p3q1p5mklvfjifphfir";
+       buildDepends = [
+         base combinat containers ieee754 memoize random template-haskell
+         transformers
+       ];
+       homepage = "http://github.com/JacquesCarette/GenCheck";
+       description = "A testing framework inspired by QuickCheck and SmallCheck";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gender" = callPackage
+    ({ mkDerivation, attoparsec, base, text }:
+     mkDerivation {
+       pname = "gender";
+       version = "0.1.1.0";
+       sha256 = "0sfl3729v03s5ykd8ijv4yrf8lzja5hyaphsfgk96gcx3zvd1a0q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ attoparsec base text ];
+       jailbreak = true;
+       homepage = "https://github.com/womfoo/gender";
+       description = "Identify a persons gender by their first name";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "general-prelude" = callPackage
+    ({ mkDerivation, base, lens, pointless-fun, strict, system-filepath
+     }:
+     mkDerivation {
+       pname = "general-prelude";
+       version = "0.1.2";
+       sha256 = "0km8nrd7pili8s5fz68xpb6nw9mfk0phgwaxnflk6a78vz9ic76d";
+       buildDepends = [ base lens pointless-fun strict system-filepath ];
+       description = "Prelude replacement using generalized type classes where possible";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generator" = callPackage
+    ({ mkDerivation, base, List, transformers }:
+     mkDerivation {
+       pname = "generator";
+       version = "0.5.4";
+       sha256 = "1yphw9ira01c0989gq1hrh53xcd3qvq8fib5k1bpsmb313j7x8b8";
+       buildDepends = [ base List transformers ];
+       homepage = "http://github.com/yairchu/generator/tree";
+       description = "Python-generators notation for creation of monadic lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generators" = callPackage
+    ({ mkDerivation, base, mtl, random }:
+     mkDerivation {
+       pname = "generators";
+       version = "1.0.3";
+       sha256 = "0i51xx2hhjqjdvyzy2jza921jcfhy37azyp1cfaakvrj9kxl2w2q";
+       buildDepends = [ base mtl random ];
+       jailbreak = true;
+       homepage = "http://liamoc.net/pdf/Generator.pdf";
+       description = "Actually useful monadic random value generators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-accessors" = callPackage
+    ({ mkDerivation, base, HUnit, linear, QuickCheck, spatial-math
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "generic-accessors";
+       version = "0.1.0.1";
+       sha256 = "0lkzwbz2kmv7nl6hlys2iqn5nq1a11n18q2apymp517pvkq3if95";
+       buildDepends = [ base linear spatial-math ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+       ];
+       description = "stringly-named getters for generic data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-aeson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, generic-deriving, mtl
+     , tagged, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "generic-aeson";
+       version = "0.2.0.4";
+       sha256 = "1h5vj66dx25iais9yia33ia95nr0ywxsbnrcm71v50jvj73ywhbx";
+       buildDepends = [
+         aeson attoparsec base generic-deriving mtl tagged text
+         unordered-containers vector
+       ];
+       description = "Derivation of Aeson instances using GHC generics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-binary" = callPackage
+    ({ mkDerivation, base, binary, bytestring, ghc-prim }:
+     mkDerivation {
+       pname = "generic-binary";
+       version = "1.0.1";
+       sha256 = "1h6xs56c351137mjc3hdba7yfcw8jy9dvzj0vdrgwm0dprn0xh29";
+       buildDepends = [ base binary bytestring ghc-prim ];
+       jailbreak = true;
+       description = "Generic Data.Binary derivation using GHC generics.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-church" = callPackage
+    ({ mkDerivation, base, HUnit, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "generic-church";
+       version = "0.3.0.0";
+       sha256 = "1cw48dnw2nbnm3vr5xcsz7nma6g8dxvwvv7hwm63jikd9jgisnac";
+       buildDepends = [ base ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       description = "Automatically convert Generic instances to and from church representations";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "generic-deepseq" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "generic-deepseq";
+       version = "2.0.1.1";
+       sha256 = "1yajkzp79ri5i7n5ynv0i6spxyg6kyi6qvqj46brlgjag98526iv";
+       buildDepends = [ base ghc-prim ];
+       description = "Generic deep evaluation of data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-deriving" = callPackage
+    ({ mkDerivation, base, ghc-prim, template-haskell }:
+     mkDerivation {
+       pname = "generic-deriving";
+       version = "1.7.0";
+       sha256 = "145bixg4jr0hhw32jznrvl4qjjk7bgjbxlfznqra1s1rnmcyr5v6";
+       buildDepends = [ base ghc-prim template-haskell ];
+       description = "Generic programming library for generalised deriving";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-lucid-scaffold" = callPackage
+    ({ mkDerivation, base, lucid, text }:
+     mkDerivation {
+       pname = "generic-lucid-scaffold";
+       version = "0.0.1";
+       sha256 = "13lry3hqqrqgk5z9dc6q6hr70iqky4ssra2l71y51gnrg1kprkrz";
+       buildDepends = [ base lucid text ];
+       description = "General-purpose web page scaffold for Lucid";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "generic-maybe" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, directory
+     , doctest, filepath, generic-deriving, ghc-prim, hlint, mtl, nats
+     , parallel, semigroups, simple-reflect, split, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "generic-maybe";
+       version = "0.3.0.4";
+       sha256 = "1gs89wzs3288l2p24pj5yi68xyy2kj3aczj31zk6v9xi3bwb73x1";
+       buildDepends = [ base ghc-prim ];
+       testDepends = [
+         base bytestring containers deepseq directory doctest filepath
+         generic-deriving hlint mtl nats parallel semigroups simple-reflect
+         split text unordered-containers vector
+       ];
+       homepage = "https://github.com/jfischoff/generic-maybe";
+       description = "A generic version of Data.Maybe";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-pretty" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
+     , tasty, tasty-hunit, text, vector
+     }:
+     mkDerivation {
+       pname = "generic-pretty";
+       version = "0.1.0";
+       sha256 = "0mg7mdbxf3va0xl2j0kz5wzy3mg6nvxv68axfjvx1zij1yjlamn7";
+       buildDepends = [
+         ansi-wl-pprint base bytestring containers text vector
+       ];
+       testDepends = [
+         base bytestring containers tasty tasty-hunit text vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tanakh/generic-pretty";
+       description = "Pretty printing for Generic value";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "generic-server" = callPackage
+    ({ mkDerivation, base, bytestring, network }:
+     mkDerivation {
+       pname = "generic-server";
+       version = "0.1";
+       sha256 = "0bl3gfqdw6sdwcailzkzmpz433cpxf6np9w9qnkwwa05xhcpd2k6";
+       buildDepends = [ base bytestring network ];
+       description = "Simple generic TCP/IP server";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-storable" = callPackage
+    ({ mkDerivation, base, ghc-prim, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "generic-storable";
+       version = "0.1.0.0";
+       sha256 = "016gg232r453i7grbjg2hb69ww8jqgafnq32f38lv7l81dgzwfxj";
+       buildDepends = [ base ghc-prim ];
+       testDepends = [ base ghc-prim hspec QuickCheck ];
+       jailbreak = true;
+       description = "Generic implementation of Storable";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "generic-tree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "generic-tree";
+       version = "15329.2";
+       sha256 = "1frwwa45kahflnw2cgs8nb8jfxgrxw0n9i7h9cakpqzgbywy9b28";
+       buildDepends = [ base ];
+       description = "Generic Tree data type";
+       license = "LGPL";
+     }) {};
+
+  "generic-trie" = callPackage
+    ({ mkDerivation, base, containers, transformers }:
+     mkDerivation {
+       pname = "generic-trie";
+       version = "0.3.0.1";
+       sha256 = "09f4rasw8q2yi7dakcr21igy02vhgiasylw6lzsz225kl58vjwz7";
+       buildDepends = [ base containers transformers ];
+       homepage = "http://github.com/glguy/tries";
+       description = "A map, where the keys may be complex structured data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generic-xml" = callPackage
+    ({ mkDerivation, base, HaXml, mtl, syb-with-class, template-haskell
+     }:
+     mkDerivation {
+       pname = "generic-xml";
+       version = "0.1";
+       sha256 = "08fy9wc90wcnr74wbr7q3pfr0bigrzhchx158p1ji3gagb2n2njd";
+       buildDepends = [ base HaXml mtl syb-with-class template-haskell ];
+       description = "Marshalling Haskell values to/from XML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "generic-xmlpickler" = callPackage
+    ({ mkDerivation, base, generic-deriving, hxt, text }:
+     mkDerivation {
+       pname = "generic-xmlpickler";
+       version = "0.1.0.0";
+       sha256 = "0ybh3laciskf7yyhb8li4l8w758avgywfl7gy0df16im3x0cx0jy";
+       buildDepends = [ base generic-deriving hxt text ];
+       homepage = "http://github.com/silkapp/generic-xmlpickler";
+       description = "Generic generation of HXT XmlPickler instances using GHC Generics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "generics-sop" = callPackage
+    ({ mkDerivation, base, ghc-prim, template-haskell }:
+     mkDerivation {
+       pname = "generics-sop";
+       version = "0.1.1.2";
+       sha256 = "1r9icxwyh4pg952yaywk4nfj4j21klzf361z9z24avd6vw89p6v7";
+       buildDepends = [ base ghc-prim template-haskell ];
+       description = "Generic Programming using True Sums of Products";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "genericserialize" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "genericserialize";
+       version = "0.1";
+       sha256 = "0zpb5rq2zvfsb0wlp9q4cckjkz6sdrngpir49d0sr06pivh8s6cl";
+       buildDepends = [ base ];
+       description = "Serialization library using Data.Generics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "genetics" = callPackage
+    ({ mkDerivation, base, random-fu }:
+     mkDerivation {
+       pname = "genetics";
+       version = "0.0.2";
+       sha256 = "0rq1m7psvs2r35mnz7gwmsvzyd3jv44bqp0zhq8l7mq2pq2x7dhv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base random-fu ];
+       description = "A Genetic Algorithm library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "geni-gui" = callPackage
+    ({ mkDerivation, array, base, cabal-macosx, containers, directory
+     , filepath, GenI, graphviz, hslogger, json, mtl, process, text
+     , transformers, wx, wxcore, yaml-light
+     }:
+     mkDerivation {
+       pname = "geni-gui";
+       version = "0.24.1";
+       sha256 = "1kng7bv8amch6bswhica6xhmavc0r5phg402lg76xwz7ywrsc6y3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base cabal-macosx containers directory filepath GenI graphviz
+         hslogger json mtl process text transformers wx wxcore yaml-light
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/GenI";
+       description = "GenI graphical user interface";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "geni-util" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , cmdargs, directory, filepath, GenI, geniserver, HTTP
+     , http-streams, io-streams, json, text
+     }:
+     mkDerivation {
+       pname = "geni-util";
+       version = "0.24.1.1";
+       sha256 = "1ydxg10s6bk02i3mikb8aqjai099874gby26q50lwf9xp04csbfk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html blaze-markup bytestring cmdargs directory filepath
+         GenI geniserver HTTP http-streams io-streams json text
+       ];
+       jailbreak = true;
+       homepage = "http://kowey.github.io/GenI";
+       description = "Companion tools for use with the GenI surface realiser";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "geniconvert" = callPackage
+    ({ mkDerivation, base, binary, containers, GenI, haskell98, HaXml
+     , HUnit, mtl, parsec, QuickCheck, utf8-string
+     }:
+     mkDerivation {
+       pname = "geniconvert";
+       version = "0.20";
+       sha256 = "0brnh6f8zdpn37fjdmnpbdvb75vmaf6iq7i9vpv4a8g7asc425wd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers GenI haskell98 HaXml HUnit mtl parsec
+         QuickCheck utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://wiki.loria.fr/wiki/GenI";
+       description = "Conversion utility for the GenI generator";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "genifunctors" = callPackage
+    ({ mkDerivation, base, containers, mtl, template-haskell }:
+     mkDerivation {
+       pname = "genifunctors";
+       version = "0.2.2.0";
+       sha256 = "0j0pxpb46iq5vqbr5x1cjng9dpjcbd3q2r53ds27b956pyi82m19";
+       buildDepends = [ base containers mtl template-haskell ];
+       testDepends = [ base containers mtl template-haskell ];
+       homepage = "https://github.com/danr/genifunctors";
+       description = "Generate generalized fmap, foldMap and traverse";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geniplate" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "geniplate";
+       version = "0.6.0.5";
+       sha256 = "01cwyf5kql4hf76p1ssqpmhaxyl7rmnmqwv644wgd0j8km8b6szc";
+       buildDepends = [ base mtl template-haskell ];
+       description = "Use Template Haskell to generate Uniplate-like functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geniserver" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, GenI, http-types, json
+     , snap-core, snap-server, text, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "geniserver";
+       version = "0.24.1.1";
+       sha256 = "1597ah64rqag20qx8dvjmdhhhsjzsfdq2f43y3jyy2cnzssj953c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs GenI http-types json snap-core snap-server
+         text transformers utf8-string
+       ];
+       jailbreak = true;
+       description = "Simple HTTP server for GenI results";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "genprog" = callPackage
+    ({ mkDerivation, base, MonadRandom, syb, syz }:
+     mkDerivation {
+       pname = "genprog";
+       version = "0.1.0.2";
+       sha256 = "1a9b2h4swfwx5zwcyr2zdhxdxi9f68pwpglijxhxb5javjc4dppr";
+       buildDepends = [ base MonadRandom syb syz ];
+       jailbreak = true;
+       homepage = "http://github.com/jsnajder/genprog";
+       description = "Genetic programming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gentlemark" = callPackage
+    ({ mkDerivation, base, HUnit, parsec, transformers }:
+     mkDerivation {
+       pname = "gentlemark";
+       version = "1.0.0";
+       sha256 = "1cb9si5axwqi1d893vp6n2mr68isdxc9qp6dfygy0v6hci2spnmm";
+       buildDepends = [ base parsec transformers ];
+       testDepends = [ base HUnit parsec transformers ];
+       homepage = "http://github.com/andriyp/gentlemark";
+       description = "Gentle markup language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geocalc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "geocalc";
+       version = "1.0.0";
+       sha256 = "1bvbvrkxh8dvm796ilpp294qlacid6aap2ljdi9pmz1lkf20fxjg";
+       buildDepends = [ base ];
+       description = "Libary for calculating distances between two coordinates in WSG84";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geodetic" = callPackage
+    ({ mkDerivation, base, coordinate, directory, doctest, filepath
+     , lens, optional, QuickCheck, radian, template-haskell
+     }:
+     mkDerivation {
+       pname = "geodetic";
+       version = "0.1.4";
+       sha256 = "07l6yha31l0ahd6jhlj09vclms8km4q82xq2mfx2a3lbv2kffcfz";
+       buildDepends = [ base coordinate lens optional radian ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/NICTA/geodetic";
+       description = "Geodetic calculations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geodetics" = callPackage
+    ({ mkDerivation, array, base, dimensional, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "geodetics";
+       version = "0.0.3";
+       sha256 = "15ax0cj6q2zhlxl0fjxb434v1npq6w7n8bdqsw3vz3s9ngsvbldg";
+       buildDepends = [ array base dimensional ];
+       testDepends = [
+         array base 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;
+     }) {};
+
+  "geohash" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "geohash";
+       version = "1.0.1";
+       sha256 = "1pdx4pnq893kkjmgg0bgh9bfvfqdvzfq5fi02zfyhw3h8h4k05v4";
+       buildDepends = [ array base ];
+       description = "Geohash latitudes and longitudes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geoip2" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-mmap
+     , containers, iproute, reinterpret-cast, text
+     }:
+     mkDerivation {
+       pname = "geoip2";
+       version = "0.1.0.0";
+       sha256 = "11vpk32kbsgvzq45brpmy6hn5ibcmpgjh2lqxp1s2y87fx6g9y6h";
+       buildDepends = [
+         base binary bytestring bytestring-mmap containers iproute
+         reinterpret-cast text
+       ];
+       description = "Pure haskell interface to MaxMind GeoIP database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "geojson" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, doctest
+     , filepath, hlint, lens, QuickCheck, semigroups, text, transformers
+     , validation, vector
+     }:
+     mkDerivation {
+       pname = "geojson";
+       version = "1.2.0";
+       sha256 = "1i6fyqxqksq657nd3m19qk690l74j4frvsvwhbdyjs07rc0xvbli";
+       buildDepends = [
+         aeson base lens semigroups text transformers validation vector
+       ];
+       testDepends = [
+         base bytestring directory doctest filepath hlint QuickCheck
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/domdere/hs-geojson";
+       description = "A thin GeoJSON Layer above the aeson library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "getemx" = callPackage
+    ({ mkDerivation, base, curl, directory, filepath, haskell98, hxt
+     , mtl, old-locale, process, time
+     }:
+     mkDerivation {
+       pname = "getemx";
+       version = "0.1";
+       sha256 = "1qgq465ck4z0mix3ari9n7a5qx5xc1zii4hmfsp093vx3qlc5nwm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base curl directory filepath haskell98 hxt mtl old-locale process
+         time
+       ];
+       homepage = "http://bitbucket.org/kenko/getemx";
+       description = "Fetch from emusic using .emx files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "getflag" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "getflag";
+       version = "1.0";
+       sha256 = "0jsr8cmbnllcswdvf1rp11sc6cpjhwr22x7kx9sk3dw8bv772jjc";
+       buildDepends = [ base ];
+       description = "Command-line parser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "getopt-generics" = callPackage
+    ({ mkDerivation, base, base-compat, generics-sop, hspec
+     , hspec-expectations, silently, tagged
+     }:
+     mkDerivation {
+       pname = "getopt-generics";
+       version = "0.2";
+       sha256 = "12zidbkxnksh05l8ds100y6sx29l0i8x0xy3zfczh4cir4lbz67g";
+       buildDepends = [ base base-compat generics-sop tagged ];
+       testDepends = [
+         base base-compat generics-sop hspec hspec-expectations silently
+         tagged
+       ];
+       description = "Simple command line argument parsing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "getopt-simple" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "getopt-simple";
+       version = "0.1.0.2";
+       sha256 = "1pf40nc3jzprv4wn9h8mr0nhzxzilffgkapxg3k0qksfxydzv7pp";
+       buildDepends = [ base containers ];
+       homepage = "https://bitbucket.org/dpwiz/getopt-simple";
+       description = "A \"System.Console.GetOpt\" wrapper to make simple use case easy.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gf" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, Cabal, containers
+     , directory, filepath, fst, happy, haskeline, HTF, HUnit
+     , lifted-base, mtl, old-locale, parallel, pretty, process, random
+     , time, time-compat, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "gf";
+       version = "3.6";
+       revision = "2";
+       sha256 = "10s8vgca36jz7b9sbd3n1in13xifwc7h42qwd58yq1lvk3j1fizx";
+       editedCabalFile = "ad294ebcd390005a243fe6d2203ec51f7ca2ab87a7f2fa7e7e080f0d416cb6a8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory filepath fst haskeline
+         lifted-base mtl old-locale parallel pretty process random time
+         time-compat unix utf8-string
+       ];
+       testDepends = [ base Cabal directory filepath HTF HUnit process ];
+       buildTools = [ alex happy ];
+       homepage = "http://www.grammaticalframework.org/";
+       description = "Grammatical Framework";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ggtsTC" = callPackage
+    ({ mkDerivation, base, containers, parsec }:
+     mkDerivation {
+       pname = "ggtsTC";
+       version = "0.5";
+       sha256 = "0k5in0r3lwjr5yn4ayw5ssdvinh7zwzsx6pfjdj246ngx1r7ydxj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers parsec ];
+       homepage = "http://a319-101.ipm.edu.mo/~wke/ggts/impl/";
+       description = "A type checker and runtime system of rCOS/g (impl. of ggts-FCS).";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "ghc-core" = callPackage
+    ({ mkDerivation, base, colorize-haskell, directory, filepath
+     , pcre-light, process
+     }:
+     mkDerivation {
+       pname = "ghc-core";
+       version = "0.5.6";
+       sha256 = "11byidxq2mcqams9a7df0hwwlzir639mr1s556sw5rrbi7jz6d7c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base colorize-haskell directory filepath pcre-light process
+       ];
+       homepage = "https://github.com/shachaf/ghc-core";
+       description = "Display GHC's core and assembly output in a pager";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-core-html" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, containers, mtl
+     , parsec, process
+     }:
+     mkDerivation {
+       pname = "ghc-core-html";
+       version = "0.1.2";
+       sha256 = "1yhyi99cbnfk2a65j9v6hinp0rpmc341z55dvqvli1wx5c9i7gf6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html bytestring containers mtl parsec process
+       ];
+       homepage = "http://github.com/vincenthz/ghc-core-html";
+       description = "Core to HTML display";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-datasize" = callPackage
+    ({ mkDerivation, base, ghc-heap-view }:
+     mkDerivation {
+       pname = "ghc-datasize";
+       version = "0.1.2";
+       sha256 = "0bjdcfrk3q0rsy9wmw0b01q0vmbi9jsw1bxl4l78azs7xpk9yl03";
+       buildDepends = [ base ghc-heap-view ];
+       homepage = "http://felsin9.de/nnis/ghc-datasize";
+       description = "Determine the size of data structures in GHC's memory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-dup" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "ghc-dup";
+       version = "0.1";
+       sha256 = "0aw4wnbzfw031xqmq0lpi4zz2md1f43nj921ni91mhdl5xgqcajm";
+       buildDepends = [ base ghc ];
+       jailbreak = true;
+       description = "Explicitly prevent sharing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghc-events" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers, mtl
+     }:
+     mkDerivation {
+       pname = "ghc-events";
+       version = "0.4.3.0";
+       sha256 = "128p651hp8v1i0iaccmfh3ap6lajcrzdihjb853s71pgnpal6izr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base binary bytestring containers mtl ];
+       testDepends = [ array base binary bytestring containers mtl ];
+       description = "Library and tool for parsing .eventlog files from GHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-events-analyze" = callPackage
+    ({ mkDerivation, base, containers, diagrams-lib, diagrams-svg
+     , filepath, ghc-events, lens, mtl, optparse-applicative, parsec
+     , SVGFonts, template-haskell, th-lift, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-events-analyze";
+       version = "0.2.1";
+       sha256 = "0lf063p2wj2d1hxb5hx4bcid3a3ni3g9x8sglm5q5kfbmdk7awj4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers diagrams-lib diagrams-svg filepath ghc-events lens
+         mtl optparse-applicative parsec SVGFonts template-haskell th-lift
+         transformers
+       ];
+       jailbreak = true;
+       description = "Analyze and visualize event logs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghc-events-parallel" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ghc-events-parallel";
+       version = "0.5.0.1";
+       sha256 = "181qnh6mm3pmlalf17g2g87gj7hyzf5pxzvix1cmap2f31x4p6by";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers transformers
+       ];
+       testDepends = [
+         array base binary bytestring containers transformers
+       ];
+       description = "Library and tool for parsing .eventlog files from parallel GHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-exactprint" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, free, ghc
+     , ghc-paths, ghc-syb-utils, HUnit, mtl, random, stm, syb
+     }:
+     mkDerivation {
+       pname = "ghc-exactprint";
+       version = "0.2";
+       sha256 = "1sqk6y6b1scn51kjbvdnazw34bkwmfii5dhb1fzwzx4cb4iqg3ik";
+       buildDepends = [
+         base containers directory filepath free ghc ghc-paths ghc-syb-utils
+         mtl syb
+       ];
+       testDepends = [
+         base containers directory filepath ghc ghc-paths ghc-syb-utils
+         HUnit mtl random stm syb
+       ];
+       description = "ExactPrint for GHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-gc-tune" = callPackage
+    ({ mkDerivation, base, directory, filepath, process }:
+     mkDerivation {
+       pname = "ghc-gc-tune";
+       version = "0.3";
+       sha256 = "0ghp3f86m91zi6kl8zq157717s2p73nwdgln4aiclq830m72ys9w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath process ];
+       homepage = "http://code.haskell.org/~dons/code/ghc-gc-tune";
+       description = "Graph performance of Haskell programs with different GC flags";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-generic-instances" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "ghc-generic-instances";
+       version = "0.1.0.0";
+       sha256 = "0264ma0w85fwypnagd0l4zfs1wi1yk16rygn6fhpzgsxycwmg47h";
+       buildDepends = [ base ghc ];
+       jailbreak = true;
+       homepage = "https://github.com/alanz/ghc-generic-instances";
+       description = "Derived instances of GHC.Generic of the GHC AST";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghc-heap-view" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq, ghc
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-heap-view";
+       version = "0.5.3";
+       sha256 = "1jcqi4gahxmhd61hl75wgb9dp99kxld68860jnd9x4hnp5cd33q0";
+       buildDepends = [
+         base binary bytestring containers ghc template-haskell transformers
+       ];
+       testDepends = [ base deepseq ];
+       postInstall = ''
+         ensureDir "$out/share/ghci"
+         ln -s "$out/share/$pname-$version/ghci" "$out/share/ghci/$pname"
+       '';
+       description = "Extract the heap representation of Haskell values and thunks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-imported-from" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
+     , ghc-mod, ghc-paths, ghc-syb-utils, hspec, mtl
+     , optparse-applicative, parsec, process, safe, syb, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-imported-from";
+       version = "0.2.0.6";
+       sha256 = "0y9gln7lbp8xqg5apfwfs95z3faawd236wqz69q8j7riwfra9bqm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath ghc ghc-mod ghc-paths
+         ghc-syb-utils hspec mtl optparse-applicative parsec process safe
+         syb transformers
+       ];
+       testDepends = [
+         base Cabal containers directory filepath ghc ghc-mod ghc-paths
+         ghc-syb-utils hspec mtl optparse-applicative parsec process safe
+         syb transformers
+       ];
+       homepage = "https://github.com/carlohamalainen/ghc-imported-from";
+       description = "Find the Haddock documentation for a symbol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-make" = callPackage
+    ({ mkDerivation, base, process, shake, unordered-containers }:
+     mkDerivation {
+       pname = "ghc-make";
+       version = "0.3.2";
+       sha256 = "10vbibmgssb1ichxha92q5mqlaglhkcv4xxiikq4mh3l3bgzw6bj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process shake unordered-containers ];
+       homepage = "https://github.com/ndmitchell/ghc-make#readme";
+       description = "Accelerated version of ghc --make";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-man-completion" = callPackage
+    ({ mkDerivation, base, parsec, process }:
+     mkDerivation {
+       pname = "ghc-man-completion";
+       version = "0.0.0.3";
+       sha256 = "08qyn6mpmkq1vdfrqhckfqc096jv21scss76x9zcss4hfbljfa0p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base parsec process ];
+       jailbreak = true;
+       description = "Generate a bash completion from the GHC manpage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-mod" = callPackage
+    ({ mkDerivation, async, base, Cabal, containers, data-default
+     , deepseq, directory, djinn-ghc, doctest, emacs, filepath, ghc
+     , ghc-paths, ghc-syb-utils, haskell-src-exts, hlint, hspec
+     , io-choice, makeWrapper, monad-control, monad-journal, mtl
+     , old-time, pretty, process, split, syb, temporary, text, time
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "ghc-mod";
+       version = "5.2.1.2";
+       sha256 = "11wnrdb6blw169w6kd49ax9h1r9qkka5329lmdhimvki8amv8riv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base Cabal containers data-default deepseq directory
+         djinn-ghc filepath ghc ghc-paths ghc-syb-utils haskell-src-exts
+         hlint io-choice monad-control monad-journal mtl old-time pretty
+         process split syb temporary text time transformers
+         transformers-base
+       ];
+       testDepends = [
+         base Cabal containers deepseq directory djinn-ghc doctest filepath
+         ghc ghc-paths ghc-syb-utils haskell-src-exts hlint hspec io-choice
+         monad-control monad-journal mtl old-time pretty process split syb
+         temporary text time transformers transformers-base
+       ];
+       buildTools = [ emacs makeWrapper ];
+       configureFlags = "--datasubdir=ghc-mod-5.2.1.2";
+       postInstall = ''
+         cd $out/share/ghc-mod-5.2.1.2
+         make
+         rm Makefile
+         cd ..
+         ensureDir "$out/share/emacs"
+         mv ghc-mod-5.2.1.2 emacs/site-lisp
+       '';
+       homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
+       description = "Happy Haskell Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) emacs;  inherit (pkgs) makeWrapper;};
+
+  "ghc-mtl" = callPackage
+    ({ mkDerivation, base, exceptions, extensible-exceptions, ghc, mtl
+     }:
+     mkDerivation {
+       pname = "ghc-mtl";
+       version = "1.2.1.0";
+       sha256 = "0h6r6gip9nsjlsq88wj105hhqliy7ac2dmmndsfzbjz07b03cklk";
+       buildDepends = [ base exceptions extensible-exceptions ghc mtl ];
+       homepage = "http://hub.darcs.net/jcpetruzza/ghc-mtl";
+       description = "An mtl compatible version of the Ghc-Api monads and monad-transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-parmake" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , HUnit, process, QuickCheck, temporary, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "ghc-parmake";
+       version = "0.1.8";
+       sha256 = "089ma8mjyvz61hr2907aihz8bh7h1pdmjrpm9smqmz8j5x72bsfc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath process temporary
+       ];
+       testDepends = [
+         base directory filepath HUnit process QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/23Skidoo/ghc-parmake";
+       description = "A parallel wrapper for 'ghc --make'";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-parser" = callPackage
+    ({ mkDerivation, base, cpphs, ghc, happy }:
+     mkDerivation {
+       pname = "ghc-parser";
+       version = "0.1.6.0";
+       sha256 = "1j0axpzm1ysi6sv80rr2bka1wycinrnqvkpnxlb18yb3zbwijz76";
+       buildDepends = [ base ghc ];
+       buildTools = [ cpphs happy ];
+       patchPhase = ''
+         substituteInPlace build-parser.sh --replace "/bin/bash" "$SHELL"
+       '';
+       homepage = "https://github.com/gibiansky/IHaskell";
+       description = "Haskell source parser from GHC";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ghc-paths" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ghc-paths";
+       version = "0.1.0.9";
+       sha256 = "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg";
+       buildDepends = [ base ];
+       patches = [ ./ghc-paths-nix.patch ];
+       description = "Knowledge of GHC's installation directories";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-pkg-autofix" = callPackage
+    ({ mkDerivation, base, Cabal, cmdargs, filepath, parsec, process
+     , split
+     }:
+     mkDerivation {
+       pname = "ghc-pkg-autofix";
+       version = "0.2.0.1";
+       sha256 = "0rm7vksfzwkpby1b8k2v745d7bylxbgspjhhfvdxc40a3rix8sz7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal cmdargs filepath parsec process split
+       ];
+       jailbreak = true;
+       description = "Simple utility to fix BROKEN package dependencies for cabal-install";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-pkg-lib" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, ghc, ghc-paths
+     }:
+     mkDerivation {
+       pname = "ghc-pkg-lib";
+       version = "0.3";
+       sha256 = "1m2ny3f5i1ihvpq0vigpzj701gzrbzdz5h7f41qn37ikp9a6kd5a";
+       buildDepends = [ base Cabal directory filepath ghc ghc-paths ];
+       homepage = "https://github.com/JPMoresmau/ghc-pkg-lib";
+       description = "Provide library support for ghc-pkg information";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-prim_0_4_0_0" = callPackage
+    ({ mkDerivation, rts }:
+     mkDerivation {
+       pname = "ghc-prim";
+       version = "0.4.0.0";
+       sha256 = "1w3hkl1xyfi67kh65gqn99pinxrfqjl2s08yg0010r907w3qys31";
+       buildDepends = [ rts ];
+       description = "GHC primitives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-server" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "ghc-server";
+       version = "1.2";
+       sha256 = "1hg5iddlh87hir5vqjby2bihah4xcyarsfcgff3gd8l2h7mqi2dn";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghc-srcspan-plugin" = callPackage
+    ({ mkDerivation, array, base, containers, ghc, hpc }:
+     mkDerivation {
+       pname = "ghc-srcspan-plugin";
+       version = "0.2.1.0";
+       sha256 = "1cb669zhgibv9x7c924333kyzqa728031invr0smdnv0a2mgi2wi";
+       buildDepends = [ array base containers ghc hpc ];
+       description = "Generic GHC Plugin for annotating Haskell code with source location data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-syb" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "ghc-syb";
+       version = "0.2.0.0";
+       sha256 = "0rwx7l89r5yfi1187c0zgx1ph2rsagyvrizb1c0vnbyrwhpbslh0";
+       buildDepends = [ base ghc ];
+       jailbreak = true;
+       homepage = "http://github.com/nominolo/ghc-syb";
+       description = "Data and Typeable instances for the GHC API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghc-syb-utils" = callPackage
+    ({ mkDerivation, base, ghc, syb }:
+     mkDerivation {
+       pname = "ghc-syb-utils";
+       version = "0.2.3";
+       sha256 = "0rxwdivpcppwzbqglbrz8rm9f4g1gmba9ij7p7aj3di9x37kzxky";
+       buildDepends = [ base ghc syb ];
+       homepage = "http://github.com/nominolo/ghc-syb";
+       description = "Scrap Your Boilerplate utilities for the GHC API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-time-alloc-prof" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, text, time }:
+     mkDerivation {
+       pname = "ghc-time-alloc-prof";
+       version = "0.0.0";
+       sha256 = "0a3800pngsbjc0fxpbqps9caa7gp5956wfyh18ybarlpi0ah7d7r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ attoparsec base containers text time ];
+       homepage = "https://github.com/maoe/ghc-time-alloc-prof";
+       description = "Library for parsing GHC time and allocation profiling reports";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghc-typelits-natnormalise" = callPackage
+    ({ mkDerivation, base, ghc, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "ghc-typelits-natnormalise";
+       version = "0.1";
+       sha256 = "0c4kl0sz7dvyzf3hcwclcgxi631gvdmyr227d4p0v3zd4p2bs75k";
+       buildDepends = [ base ghc ];
+       testDepends = [ base tasty tasty-hunit ];
+       jailbreak = true;
+       homepage = "http://www.clash-lang.org/";
+       description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "ghc-vis" = callPackage
+    ({ mkDerivation, base, cairo, containers, deepseq, fgl
+     , ghc-heap-view, graphviz, gtk, mtl, svgcairo, text, transformers
+     , xdot
+     }:
+     mkDerivation {
+       pname = "ghc-vis";
+       version = "0.7.2.7";
+       sha256 = "0kxkmbp71yx5mskzpcyjd8s2yq01q1q6dxmqzmwg6naalcpcbswv";
+       buildDepends = [
+         base cairo containers deepseq fgl ghc-heap-view graphviz gtk mtl
+         svgcairo text transformers xdot
+       ];
+       postInstall = ''
+         ensureDir "$out/share/ghci"
+         ln -s "$out/share/$pname-$version/ghci" "$out/share/ghci/$pname"
+       '';
+       homepage = "http://felsin9.de/nnis/ghc-vis";
+       description = "Live visualization of data structures in GHCi";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghci-diagrams" = callPackage
+    ({ mkDerivation, base, cairo, colour, diagrams, gtk }:
+     mkDerivation {
+       pname = "ghci-diagrams";
+       version = "0.1.1";
+       sha256 = "1jlym5k2d43avkgw7ff3pdaad5j2q5yq803cy74bgy0z69x77v1w";
+       buildDepends = [ base cairo colour diagrams gtk ];
+       jailbreak = true;
+       description = "Display simple diagrams from ghci";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghci-haskeline" = callPackage
+    ({ mkDerivation, array, base, bytestring, directory, filepath, ghc
+     , ghc-paths, haskeline, mtl, process, unix
+     }:
+     mkDerivation {
+       pname = "ghci-haskeline";
+       version = "0.2";
+       sha256 = "01j2ryxxmd5zzdv1ayvzibi3njl3nbn0ypxmafvglrvn2zwnmsqy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring directory filepath ghc ghc-paths haskeline
+         mtl process unix
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~judah/ghci-haskeline";
+       description = "An implementation of ghci using the Haskeline line-input library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghci-lib" = callPackage
+    ({ mkDerivation, base, ghc, MissingH }:
+     mkDerivation {
+       pname = "ghci-lib";
+       version = "0.1.0.0";
+       sha256 = "06lg1czsr6k5h18aks33p2kbahiidhv7xsrv7n1fcvqsgglzgk3z";
+       buildDepends = [ base ghc MissingH ];
+       jailbreak = true;
+       homepage = "http://github.com/gibiansky/IHaskell";
+       description = "A library for interactively evaluating Haskell code";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ghci-ng" = callPackage
+    ({ mkDerivation, array, base, bytestring, directory, filepath, ghc
+     , ghc-paths, haskeline, process, transformers, unix
+     }:
+     mkDerivation {
+       pname = "ghci-ng";
+       version = "7.6.3.5";
+       sha256 = "01ghvv0y1qif19v8dlbspxyb9m5zag832sx2k3qyhqh8iccnr14x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring directory filepath ghc ghc-paths haskeline
+         process transformers unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/hvr/ghci-ng";
+       description = "Extended GHCi fork";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghci-pretty" = callPackage
+    ({ mkDerivation, base, hscolour, ipprint }:
+     mkDerivation {
+       pname = "ghci-pretty";
+       version = "0.0.2";
+       sha256 = "01syl5c6ana4m8d3jc5pbi64zf3c4l2x0r7jwkizm7kymszmbns5";
+       buildDepends = [ base hscolour ipprint ];
+       homepage = "https://github.com/larskuhtz/ghci-pretty";
+       description = "colored pretty-printing within ghci";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ghcid" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, directory, extra
+     , filepath, process, tasty, tasty-hunit, terminal-size, time
+     }:
+     mkDerivation {
+       pname = "ghcid";
+       version = "0.3.6";
+       sha256 = "15aasq3f8h5nimgd5zz0mhkflslmcadl2f0srbw4q0462flvmjm8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base cmdargs directory extra filepath process
+         terminal-size time
+       ];
+       testDepends = [
+         ansi-terminal base cmdargs directory extra filepath process tasty
+         tasty-hunit terminal-size time
+       ];
+       homepage = "https://github.com/ndmitchell/ghcid#readme";
+       description = "GHCi based bare bones IDE";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ghcjs-codemirror" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ghcjs-codemirror";
+       version = "0.0.0.1";
+       sha256 = "04x5h0i4fgyc2c5ihrnk0w3l1f3avvcl115zlnich93nillgbnfw";
+       buildDepends = [ base ];
+       homepage = "https://github.com/ghcjs/CodeMirror";
+       description = "Installs CodeMirror JavaScript files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ghcjs-dom" = callPackage
+    ({ mkDerivation, base, glib, gtk3, mtl, text, transformers
+     , webkitgtk3
+     }:
+     mkDerivation {
+       pname = "ghcjs-dom";
+       version = "0.1.1.3";
+       sha256 = "0pdxb2s7fflrh8sbqakv0qi13jkn3d0yc32xhg2944yfjg5fvlly";
+       buildDepends = [ base glib gtk3 mtl text transformers webkitgtk3 ];
+       description = "DOM library that supports both GHCJS and WebKitGTK";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ghcjs-dom-hello" = callPackage
+    ({ mkDerivation, base, ghcjs-dom, mtl }:
+     mkDerivation {
+       pname = "ghcjs-dom-hello";
+       version = "1.2.0.0";
+       sha256 = "0jbn6nhaq7h01wh1limsb4xzgwp7i71922gql5mz916kv6wa2cgl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ghcjs-dom mtl ];
+       homepage = "https://github.com/ghcjs/ghcjs-dom-hello";
+       description = "GHCJS DOM Hello World, an example package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ghclive" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, diagrams-lib, diagrams-svg, directory, file-embed
+     , ghc-prim, hint, mtl, text, time, unix, unordered-containers
+     , vector, wai, wai-websockets, warp, websockets, yesod
+     , yesod-static
+     }:
+     mkDerivation {
+       pname = "ghclive";
+       version = "0.1.0.2";
+       sha256 = "0rnmv09sl5pj9y8hr7s8hwh23zfm4j8nsn524hpj73diwmzf5fh8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-html blaze-markup bytestring containers
+         diagrams-lib diagrams-svg directory file-embed ghc-prim hint mtl
+         text time unix unordered-containers vector wai wai-websockets warp
+         websockets yesod yesod-static
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/shapr/ghclive/";
+       description = "Interactive Haskell interpreter in a browser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghczdecode" = callPackage
+    ({ mkDerivation, base, zenc }:
+     mkDerivation {
+       pname = "ghczdecode";
+       version = "0.1.0.1";
+       sha256 = "1yn6blszccmgv0zrq5cxv6kww47j7pwgywgy7piz6is44ab5s5l9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base zenc ];
+       homepage = "https://github.com/Peaker/ghczdecode";
+       description = "Decode Z-encoded strings from GHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ght" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-default, directory
+     , filepath, iteratee, iteratee-compress, mmap, mtl, old-locale, SHA
+     , storable-endian, time, ui-command, unix, zlib
+     }:
+     mkDerivation {
+       pname = "ght";
+       version = "0.4.0.1";
+       sha256 = "03lrn3s79gxdn5fwh6cbp46k303662fnisjs7qp1yf8c66vxi8wc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring data-default directory filepath iteratee
+         iteratee-compress mmap mtl old-locale SHA storable-endian time
+         ui-command unix zlib
+       ];
+       description = "Trivial routines for inspecting git repositories";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gimlh" = callPackage
+    ({ mkDerivation, base, split }:
+     mkDerivation {
+       pname = "gimlh";
+       version = "0.1.2.0";
+       sha256 = "06n198b43qpixr9jqzqq4wlff01k43vqk13xhr2ly64k5nymnlr4";
+       buildDepends = [ base split ];
+       homepage = "https://github.com/gazay/gimlh";
+       description = "Haskell parser for GIML";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ginsu" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, mtl, network, old-locale, old-time, openssl, parsec
+     , pretty, process, random, regex-posix, syb, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "ginsu";
+       version = "0.8.1";
+       sha256 = "0gnmdw430zfxhfhjimaminbdi13acwmb85a38hdyhfranra9yiif";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory mtl network
+         old-locale old-time parsec pretty process random regex-posix syb
+         unix utf8-string
+       ];
+       extraLibraries = [ openssl ];
+       homepage = "http://repetae.net/computer/ginsu/";
+       description = "Ginsu Gale Client";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) openssl;};
+
+  "gio" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, glib
+     , gtk2hs-buildtools, mtl
+     }:
+     mkDerivation {
+       pname = "gio";
+       version = "0.13.1.0";
+       sha256 = "1qxbdjznxz56jw108cc78lzwh1r4g8l2jcaz2bh2akc1nwhv2x5j";
+       buildDepends = [ array base bytestring containers glib mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the GIO";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "gipeda" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cassava, containers
+     , directory, filepath, shake, split, text, unordered-containers
+     , vector, yaml
+     }:
+     mkDerivation {
+       pname = "gipeda";
+       version = "0.1.0.2";
+       sha256 = "0d3pbssndmlzmhk88214mz77jmgqh3ca2l8si9fr5v9wi0v5d8yz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring cassava containers directory filepath shake
+         split text unordered-containers vector yaml
+       ];
+       homepage = "https://github.com/nomeata/gipeda";
+       description = "Git Performance Dashboard";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gist" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, http-conduit
+     , text
+     }:
+     mkDerivation {
+       pname = "gist";
+       version = "0.1";
+       sha256 = "1jgdhga0qjbc6kx1nr5yngcx560rlxiil3cnsmzh8mwazbs3yyl1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ aeson base bytestring conduit http-conduit text ];
+       jailbreak = true;
+       homepage = "http://github.com/simonmichael/gist";
+       description = "A reliable command-line client for gist.github.com";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "git-all" = callPackage
+    ({ mkDerivation, base, cmdargs, hslogger, parallel-io, regex-posix
+     , shelly, system-fileio, system-filepath, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "git-all";
+       version = "1.5.0";
+       sha256 = "0wfvfrmwn81myiaa5x4bw6ypyk0hljaaf3f7b9rnpxwk291dwc3z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs hslogger parallel-io regex-posix shelly system-fileio
+         system-filepath text transformers unix
+       ];
+       homepage = "https://github.com/jwiegley/git-all";
+       description = "Determine which Git repositories need actions to be taken";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "git-annex" = callPackage
+    ({ mkDerivation, aeson, async, aws, base, blaze-builder
+     , bloomfilter, bup, byteable, bytestring, case-insensitive
+     , clientsession, conduit, conduit-extra, containers, crypto-api
+     , cryptohash, curl, data-default, dataenc, DAV, dbus, directory
+     , dlist, dns, edit-distance, esqueleto, exceptions, fdo-notify
+     , feed, filepath, git, gnupg1, gnutls, hamlet, hinotify, hslogger
+     , http-client, http-conduit, http-types, IfElse, json, lsof
+     , MissingH, monad-control, monad-logger, mtl, network, network-info
+     , network-multicast, network-protocol-xmpp, network-uri, old-locale
+     , openssh, optparse-applicative, path-pieces, perl, persistent
+     , persistent-sqlite, persistent-template, process, QuickCheck
+     , random, regex-tdfa, resourcet, rsync, SafeSemaphore, securemem
+     , SHA, shakespeare, stm, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-rerun, template-haskell, text, time, torrent, transformers
+     , unix, unix-compat, utf8-string, uuid, wai, wai-extra, warp
+     , warp-tls, wget, which, xml-types, yesod, yesod-core
+     , yesod-default, yesod-form, yesod-static
+     }:
+     mkDerivation {
+       pname = "git-annex";
+       version = "5.20150406.1";
+       sha256 = "11r4i1bwkkwwffqqk0s9w9brbc7xnkjr6qw7amzagk4lfvcvpsvi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson async aws base blaze-builder bloomfilter byteable bytestring
+         case-insensitive clientsession conduit conduit-extra containers
+         crypto-api cryptohash data-default dataenc DAV dbus directory dlist
+         dns edit-distance esqueleto exceptions fdo-notify feed filepath
+         gnutls hamlet hinotify hslogger http-client http-conduit http-types
+         IfElse json MissingH monad-control monad-logger mtl network
+         network-info network-multicast network-protocol-xmpp network-uri
+         old-locale optparse-applicative path-pieces persistent
+         persistent-sqlite persistent-template process QuickCheck random
+         regex-tdfa resourcet SafeSemaphore securemem SHA shakespeare stm
+         tasty tasty-hunit tasty-quickcheck tasty-rerun template-haskell
+         text time torrent transformers unix unix-compat utf8-string uuid
+         wai wai-extra warp warp-tls xml-types yesod yesod-core
+         yesod-default yesod-form yesod-static
+       ];
+       buildTools = [
+         bup curl git gnupg1 lsof openssh perl rsync wget which
+       ];
+       configureFlags = [ "-fassistant" "-fproduction" ];
+       preConfigure = "export HOME=$TEMPDIR";
+       checkPhase = ''
+         cp dist/build/git-annex/git-annex git-annex
+         ./git-annex test
+       '';
+       homepage = "http://git-annex.branchable.com/";
+       description = "manage files with git, without checking their contents into git";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) bup;  inherit (pkgs) curl;  inherit (pkgs) git;
+          inherit (pkgs) gnupg1;  inherit (pkgs) lsof;
+          inherit (pkgs) openssh;  inherit (pkgs) perl;
+          inherit (pkgs) rsync;  inherit (pkgs) wget;
+          inherit (pkgs) which;};
+
+  "git-checklist" = callPackage
+    ({ mkDerivation, base, directory, filepath, optparse-applicative
+     , parsec, pretty, process
+     }:
+     mkDerivation {
+       pname = "git-checklist";
+       version = "1.0.0.0";
+       sha256 = "1q4fbvpdjca5k530dcm6yspsgzy60dx7nimar2fkm8s086qsf662";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath optparse-applicative parsec pretty process
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dougalstanton/git-checklist";
+       description = "Maintain per-branch checklists in Git";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "git-date" = callPackage
+    ({ mkDerivation, base, bytestring, old-locale, QuickCheck
+     , test-framework, test-framework-quickcheck2, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "git-date";
+       version = "0.2.2";
+       sha256 = "0yld8p7jgq0ihz21nkmirz3ynwi0mgrlgzx727kim59hplm6xrcl";
+       buildDepends = [ base bytestring time utf8-string ];
+       testDepends = [
+         base bytestring old-locale QuickCheck test-framework
+         test-framework-quickcheck2 time utf8-string
+       ];
+       homepage = "https://github.com/singpolyma/git-date-haskell";
+       description = "Bindings to the date parsing from Git";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "git-embed" = callPackage
+    ({ mkDerivation, base, directory, filepath, process
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "git-embed";
+       version = "0.1.0";
+       sha256 = "0yrx06ay25zsk90djr4mrqnn80xp3w6cmkciqavrmijf25fc5jvn";
+       buildDepends = [
+         base directory filepath process template-haskell
+       ];
+       homepage = "https://github.com/borsboom/git-embed";
+       description = "Use TH to embed Git repo information";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "git-freq" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec
+     , optparse-applicative, process, text
+     }:
+     mkDerivation {
+       pname = "git-freq";
+       version = "0.0.2";
+       sha256 = "1vi87kdb58d7yg5bc97nkz2lcnfxsmn4w66m2m52rbfi8xnqkl6l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers optparse-applicative process text
+       ];
+       testDepends = [
+         base bytestring containers hspec optparse-applicative process text
+       ];
+       homepage = "https://github.com/fujimura/git-freq";
+       description = "A Git subcommand to show total addition, deletion per file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "git-gpush" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , gitlib, gitlib-cmdline, hslogger, old-locale
+     , optparse-applicative, shelly, tagged, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "git-gpush";
+       version = "3.1.0.1";
+       sha256 = "13m95j227mvl7facqjlwcz11kd88ibhr7fwf5ph81wppyic8136g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath gitlib gitlib-cmdline
+         hslogger old-locale optparse-applicative shelly tagged text time
+         transformers
+       ];
+       homepage = "http://github.com/jwiegley/gitlib";
+       description = "More intelligent push-to-GitHub utility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "git-monitor" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , gitlib, gitlib-libgit2, lifted-async, logging, monad-logger
+     , old-locale, optparse-applicative, shelly, tagged
+     , template-haskell, text, time, transformers, unix
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "git-monitor";
+       version = "3.1.1.3";
+       sha256 = "0xcb7i5hvx7967wqsyawxz8fk052ylrb90y3b2spw9pxhqry3j4s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath gitlib gitlib-libgit2
+         lifted-async logging monad-logger old-locale optparse-applicative
+         shelly tagged template-haskell text time transformers unix
+         unordered-containers
+       ];
+       homepage = "http://github.com/jwiegley/gitlib";
+       description = "Passively snapshots working tree changes efficiently";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "git-object" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , bytestring, directory, enumerator, filepath, zlib-enum
+     }:
+     mkDerivation {
+       pname = "git-object";
+       version = "0.0.2";
+       sha256 = "1hwsl5n6im6b13iy1whvgd3avax9xb81maaan2vf3r474r3321jm";
+       buildDepends = [
+         attoparsec attoparsec-enumerator base bytestring directory
+         enumerator filepath zlib-enum
+       ];
+       homepage = "http://www.mew.org/~kazu/";
+       description = "Git object and its parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "git-repair" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , exceptions, filepath, hslogger, IfElse, MissingH, mtl, network
+     , network-uri, optparse-applicative, process, QuickCheck, text
+     , time, transformers, unix, unix-compat, utf8-string
+     }:
+     mkDerivation {
+       pname = "git-repair";
+       version = "1.20150106";
+       sha256 = "19hgrp2kjqhcw53rf9payiajzfz6d7jqf2m2mnmbjv2zpr9y74dp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring containers directory exceptions filepath
+         hslogger IfElse MissingH mtl network network-uri
+         optparse-applicative process QuickCheck text time transformers unix
+         unix-compat utf8-string
+       ];
+       homepage = "http://git-repair.branchable.com/";
+       description = "repairs a damanged git repisitory";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "git-sanity" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, machines, machines-io
+     , machines-process, process, safe, transformers
+     }:
+     mkDerivation {
+       pname = "git-sanity";
+       version = "0.1.0.0";
+       sha256 = "1yywxganjl7rj4lf3pp1fh4adjhp3110l4az1w76r3rywql6v8w2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal machines machines-io machines-process process
+         safe transformers
+       ];
+       homepage = "github.com/aloiscochard/git-sanity";
+       description = "A sanity checker for your git history";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "git-vogue" = callPackage
+    ({ mkDerivation, base, bifunctors, Cabal, containers, cpphs, Diff
+     , directory, filepath, formatting, ghc-mod, haskell-src-exts, hlint
+     , hscolour, hspec, mtl, optparse-applicative, process, split
+     , strict, stylish-haskell, temporary, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "git-vogue";
+       version = "0.2.0.1";
+       sha256 = "1l1ly1wkfidpzxr68z0qyfyj0pq7wdn534m4ks0hvh45sp6v569c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bifunctors Cabal containers cpphs Diff directory filepath
+         formatting ghc-mod haskell-src-exts hlint hscolour mtl
+         optparse-applicative process split strict stylish-haskell text
+         transformers unix
+       ];
+       testDepends = [
+         base containers directory filepath hspec process temporary
+         transformers unix
+       ];
+       homepage = "https://github.com/anchor/git-vogue";
+       description = "A framework for pre-commit checks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gitcache" = callPackage
+    ({ mkDerivation, base, cryptohash, directory, filepath, process
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "gitcache";
+       version = "0.2";
+       sha256 = "0vd580k1cxipycyyjpzhwvv6q70nf6fjfrsxp3gz3gy4iqzzssgy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cryptohash directory filepath process utf8-string
+       ];
+       homepage = "https://github.com/vincenthz/gitcache";
+       description = "Simple git utility to use and manage clone cache";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gitdo" = callPackage
+    ({ mkDerivation, aeson, aeson-lens, base, bytestring, foldl, lens
+     , mtl, optparse-applicative, sqlite-simple, system-filepath, text
+     , turtle, wreq
+     }:
+     mkDerivation {
+       pname = "gitdo";
+       version = "0.1.0.0";
+       sha256 = "0krna2rqdscnrd86d7ipq4gad7dzk1w5lnk8757a13qnd5jqrxdl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-lens base bytestring foldl lens mtl
+         optparse-applicative sqlite-simple system-filepath text turtle wreq
+       ];
+       homepage = "https://github.com/mattyhall/gitdo";
+       description = "Create Github issues out of TODO comments in code";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "github" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , byteable, bytestring, case-insensitive, conduit, containers
+     , cryptohash, data-default, failure, hashable, HTTP, http-conduit
+     , http-types, network, old-locale, text, time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "github";
+       version = "0.13.1";
+       sha256 = "0rz89lpswxxsdyfjb63v9md96bxr3abxzwqryh1a2jxhm7f1ia5l";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring byteable bytestring
+         case-insensitive conduit containers cryptohash data-default failure
+         hashable HTTP http-conduit http-types network old-locale text time
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/fpco/github";
+       description = "Access to the Github API, v3";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "github-backup" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , exceptions, filepath, git, github, hslogger, IfElse, MissingH
+     , mtl, network, network-uri, optparse-applicative, pretty-show
+     , process, text, transformers, unix, unix-compat
+     }:
+     mkDerivation {
+       pname = "github-backup";
+       version = "1.20150106";
+       sha256 = "0y68ml1pp7w6kpfvr0p0sl8q0qmlfyijmw6pd33m301b3ys3p62p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory exceptions filepath github
+         hslogger IfElse MissingH mtl network network-uri
+         optparse-applicative pretty-show process text transformers unix
+         unix-compat
+       ];
+       buildTools = [ git ];
+       homepage = "https://github.com/joeyh/github-backup";
+       description = "backs up everything github knows about a repository, to the repository";
+       license = "GPL";
+     }) { inherit (pkgs) git;};
+
+  "github-post-receive" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , email-validate, http-types, text, wai, wai-logger, warp
+     }:
+     mkDerivation {
+       pname = "github-post-receive";
+       version = "1.2.0.1";
+       sha256 = "14vd9rnr3x3wasnc6w6d3kcs5dnka902n9cbxblqdryc8l7p360q";
+       buildDepends = [
+         aeson base bytestring containers email-validate http-types text wai
+         wai-logger warp
+       ];
+       homepage = "https://github.com/amutake/github-post-receive";
+       description = "GitHub webhooks library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "github-types" = callPackage
+    ({ mkDerivation, aeson, base, text }:
+     mkDerivation {
+       pname = "github-types";
+       version = "0.1.0.5";
+       sha256 = "0lymbga0rwhni0rrjdla6fz5a1gz8zclf421rdiz5cnnh8lbd97i";
+       buildDepends = [ aeson base text ];
+       description = "Type definitions for objects used by the GitHub v3 API";
+       license = "unknown";
+     }) {};
+
+  "github-utils" = callPackage
+    ({ mkDerivation, base, basic-prelude, github, text }:
+     mkDerivation {
+       pname = "github-utils";
+       version = "0.1.0";
+       sha256 = "1d7g1rzaqg19bc41vqvcdxdi37z9h7ajy3khsqa4pwbfavj412a5";
+       buildDepends = [ base basic-prelude github text ];
+       homepage = "https://github.com/greenrd/github-utils";
+       description = "Useful functions that use the GitHub API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gitignore" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , http-conduit, network, safe, text
+     }:
+     mkDerivation {
+       pname = "gitignore";
+       version = "1.0.1";
+       sha256 = "03sjhlsp7xswciypp7sw9x0b3h6m7fvc2dk5k0a3bibflns2zgql";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring bytestring http-conduit network safe
+         text
+       ];
+       homepage = "https://github.com/relrod/gitignore";
+       description = "Apply GitHub .gitignore templates to already existing repositories.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gitit" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, blaze-html
+     , bytestring, ConfigFile, containers, directory, feed, filepath
+     , filestore, ghc, ghc-paths, happstack-server, highlighting-kate
+     , hoauth2, hslogger, HStringTemplate, HTTP, http-client-tls
+     , http-conduit, json, mtl, network, network-uri, old-locale
+     , old-time, pandoc, pandoc-types, parsec, pretty, process, random
+     , recaptcha, safe, SHA, split, syb, tagsoup, text, time, uri, url
+     , utf8-string, uuid, xhtml, xml, xss-sanitize, zlib
+     }:
+     mkDerivation {
+       pname = "gitit";
+       version = "0.10.6.2";
+       sha256 = "0n4g4v6mdqml83vz5gz48l58747xnzz1h645kj6pwygfg4s48nza";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring blaze-html bytestring ConfigFile
+         containers directory feed filepath filestore ghc ghc-paths
+         happstack-server highlighting-kate hoauth2 hslogger HStringTemplate
+         HTTP http-client-tls http-conduit json mtl network network-uri
+         old-locale old-time pandoc pandoc-types parsec pretty process
+         random recaptcha safe SHA split syb tagsoup text time uri url
+         utf8-string uuid xhtml xml xss-sanitize zlib
+       ];
+       homepage = "http://gitit.net";
+       description = "Wiki using happstack, git or darcs, and pandoc";
+       license = "GPL";
+     }) {};
+
+  "gitlib" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, conduit
+     , conduit-combinators, containers, directory, exceptions, filepath
+     , hashable, lifted-async, lifted-base, monad-control, monad-logger
+     , mtl, resourcet, semigroups, system-filepath, tagged, text, time
+     , transformers, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "gitlib";
+       version = "3.1.0.1";
+       sha256 = "0h6drwxb8nc3nsw9b5w6xaqpwnila0i546w4xykxb61lybjdmw2g";
+       buildDepends = [
+         base base16-bytestring bytestring conduit conduit-combinators
+         containers directory exceptions filepath hashable lifted-async
+         lifted-base monad-control monad-logger mtl resourcet semigroups
+         system-filepath tagged text time transformers unix
+         unordered-containers
+       ];
+       description = "API library for working with Git repositories";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gitlib-cmdline" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , containers, directory, exceptions, gitlib, gitlib-test, hspec
+     , hspec-expectations, monad-control, mtl, old-locale, parsec
+     , process-extras, shelly, system-filepath, tagged, text, time
+     , transformers, transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "gitlib-cmdline";
+       version = "3.1.0.1";
+       sha256 = "1vsn7sz71vj79ghcn9wmzf0jnjnaiibvx0k4q8vm4q8aqnl7rvl4";
+       buildDepends = [
+         base bytestring conduit conduit-combinators containers directory
+         exceptions gitlib monad-control mtl old-locale parsec
+         process-extras shelly system-filepath tagged text time transformers
+         transformers-base unordered-containers
+       ];
+       testDepends = [
+         base gitlib gitlib-test hspec hspec-expectations system-filepath
+         tagged text transformers
+       ];
+       description = "Gitlib repository backend that uses the git command-line tool";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gitlib-cross" = callPackage
+    ({ mkDerivation, base, gitlib, gitlib-cmdline, gitlib-libgit2
+     , gitlib-test, hspec, hspec-expectations, HUnit
+     }:
+     mkDerivation {
+       pname = "gitlib-cross";
+       version = "3.1.0";
+       sha256 = "0iack7kafbfa45s9k7ypbafapahrifh2grjdzyrhvzjg767l3i1h";
+       buildDepends = [ base ];
+       testDepends = [
+         base gitlib gitlib-cmdline gitlib-libgit2 gitlib-test hspec
+         hspec-expectations HUnit
+       ];
+       description = "Run tests between repositories";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gitlib-libgit2" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , containers, directory, exceptions, fast-logger, filepath, gitlib
+     , gitlib-test, hlibgit2, hspec, hspec-expectations, HUnit
+     , lifted-async, lifted-base, missing-foreign, mmorph, monad-control
+     , monad-logger, monad-loops, mtl, resourcet, stm, stm-conduit
+     , tagged, template-haskell, text, text-icu, time, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "gitlib-libgit2";
+       version = "3.1.0.3";
+       sha256 = "19lly5nrxa05gj6mv887d419mm65ha40rggv2a8y1jd6s7z6drfi";
+       buildDepends = [
+         base bytestring conduit conduit-combinators containers directory
+         exceptions fast-logger filepath gitlib hlibgit2 lifted-async
+         lifted-base missing-foreign mmorph monad-control monad-logger
+         monad-loops mtl resourcet stm stm-conduit tagged template-haskell
+         text text-icu time transformers transformers-base
+       ];
+       testDepends = [
+         base exceptions gitlib gitlib-test hspec hspec-expectations HUnit
+         monad-logger transformers
+       ];
+       description = "Libgit2 backend for gitlib";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gitlib-s3" = callPackage
+    ({ mkDerivation, aeson, attempt, aws, base, bifunctors, binary
+     , bytestring, conduit, conduit-combinators, data-default, directory
+     , exceptions, filepath, ghc-prim, gitlib, gitlib-libgit2
+     , gitlib-test, hlibgit2, hspec, hspec-expectations, http-conduit
+     , HUnit, lens, lifted-base, monad-control, monad-logger, resourcet
+     , retry, split, stm, template-haskell, temporary, text, time
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "gitlib-s3";
+       version = "3.1.0.1";
+       sha256 = "1vcx26dny7pj4lqn1rli3vqad2xh7vkqj86c6i7hyskilgbs6n8m";
+       buildDepends = [
+         aeson attempt aws base bifunctors binary bytestring conduit
+         conduit-combinators data-default directory exceptions filepath
+         ghc-prim gitlib gitlib-libgit2 hlibgit2 http-conduit lens
+         lifted-base monad-control monad-logger resourcet retry split stm
+         template-haskell text time transformers unordered-containers
+       ];
+       testDepends = [
+         aws base data-default directory exceptions filepath gitlib
+         gitlib-libgit2 gitlib-test hlibgit2 hspec hspec-expectations HUnit
+         monad-logger resourcet temporary text transformers
+       ];
+       description = "Gitlib repository backend for storing Git objects in Amazon S3";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gitlib-sample" = callPackage
+    ({ mkDerivation, base, exceptions, gitlib, mtl, transformers }:
+     mkDerivation {
+       pname = "gitlib-sample";
+       version = "3.1.0";
+       sha256 = "1px3yskxkr1kmgwfw1jdrbgjgkz8wxznz56g0gn3gqx63haxifmc";
+       buildDepends = [ base exceptions gitlib mtl transformers ];
+       description = "Sample backend for gitlib showing the basic structure for any backend";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gitlib-test" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , exceptions, gitlib, hspec, hspec-expectations, HUnit
+     , monad-control, tagged, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "gitlib-test";
+       version = "3.1.0.2";
+       sha256 = "0nny0fp1j3g5fsxskqnlwcqrrxn74yjxkg9avfqdgai8b585yka2";
+       buildDepends = [
+         base bytestring conduit conduit-combinators exceptions gitlib hspec
+         hspec-expectations HUnit monad-control tagged text time
+         transformers
+       ];
+       description = "Test library for confirming gitlib backend compliance";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gitlib-utils" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, data-default, failure
+     , gitlib, hex, lifted-base, system-fileio, system-filepath, tagged
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "gitlib-utils";
+       version = "1.2.0";
+       sha256 = "081vagmlf6lkh7qqr9y42nl8c1ds011s05a567dsw6ckf166wshn";
+       buildDepends = [
+         base bytestring conduit data-default failure gitlib hex lifted-base
+         system-fileio system-filepath tagged text transformers
+         unordered-containers
+       ];
+       description = "Generic utility functions for working with Git repositories";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gitrev" = callPackage
+    ({ mkDerivation, base, directory, filepath, process
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "gitrev";
+       version = "1.0.0";
+       sha256 = "05jxzhpjzd9n5sdaa8d9y2zczs2v5w4n9718wl411ghvx54jhnfd";
+       buildDepends = [
+         base directory filepath process template-haskell
+       ];
+       homepage = "https://github.com/acfoltzer/gitrev";
+       description = "Compile git revision info into Haskell projects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gitson" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
+     , doctest, errors, filepath, flock, Glob, hspec, monad-control
+     , process, transformers
+     }:
+     mkDerivation {
+       pname = "gitson";
+       version = "0.5.1";
+       sha256 = "175j2pkc3cb37h3vilb99i782as9yg68nacs2ysnp1m7hrxvvyjy";
+       buildDepends = [
+         aeson aeson-pretty base bytestring directory errors filepath flock
+         monad-control process transformers
+       ];
+       testDepends = [
+         aeson base directory doctest Glob hspec process transformers
+       ];
+       homepage = "https://github.com/myfreeweb/gitson";
+       description = "A document store library for Git + JSON";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gl" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, fixed, half
+     , hxt, mesa, split, transformers
+     }:
+     mkDerivation {
+       pname = "gl";
+       version = "0.7.4";
+       sha256 = "08b7mayd1qfalqrr2zh8ra7mm05l2inifjamvxn84697mnvxhjg7";
+       buildDepends = [
+         base containers directory filepath fixed half hxt split
+         transformers
+       ];
+       extraLibraries = [ mesa ];
+       description = "Complete OpenGL raw bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) mesa;};
+
+  "gl-capture" = callPackage
+    ({ mkDerivation, base, bytestring, OpenGL }:
+     mkDerivation {
+       pname = "gl-capture";
+       version = "0.1.0.0";
+       sha256 = "0pcan0fpb1mfwda69f8z8pdrdav79rdm31yvmrk98dca7al7k583";
+       buildDepends = [ base bytestring OpenGL ];
+       description = "simple image capture from OpenGL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "glade" = callPackage
+    ({ mkDerivation, base, glib, gtk, gtk2hs-buildtools, libglade }:
+     mkDerivation {
+       pname = "glade";
+       version = "0.12.5.0";
+       sha256 = "0dbl7y5rdwzcham16iym9cikfyaphzr1rqcsni9ab6s2368a1vkr";
+       buildDepends = [ base glib gtk ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ libglade ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the glade library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs.gnome) libglade;};
+
+  "gladexml-accessor" = callPackage
+    ({ mkDerivation, base, glade, HaXml, template-haskell }:
+     mkDerivation {
+       pname = "gladexml-accessor";
+       version = "0.0";
+       sha256 = "06kzakvssmldjgx0s8qm0a3cd9glmwrdnh690sv708jcvg8x45y3";
+       buildDepends = [ base glade HaXml template-haskell ];
+       description = "Automagically declares getters for widget handles in specified interface file";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "glapp" = callPackage
+    ({ mkDerivation, base, containers, GLFW-b, lens, mtl, OpenGL }:
+     mkDerivation {
+       pname = "glapp";
+       version = "0.1.0.1";
+       sha256 = "076v7h0p91dj8hx110vm0li2njsc8p5dgcf6zxk721mdx5xkymhz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers GLFW-b lens mtl OpenGL ];
+       jailbreak = true;
+       homepage = "zyghost.com";
+       description = "An OpenGL micro framework";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "glib" = callPackage
+    ({ mkDerivation, base, bytestring, containers, glib
+     , gtk2hs-buildtools, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "glib";
+       version = "0.13.1.0";
+       sha256 = "11scv2imljnr6ng7692jdagr7fc924hgfwfbnw4a5sra3w7ja7fz";
+       buildDepends = [ base bytestring containers text utf8-string ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ glib ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the GLIB library for Gtk2Hs";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) glib;};
+
+  "glider-nlp" = callPackage
+    ({ mkDerivation, base, Cabal, containers, HUnit, text }:
+     mkDerivation {
+       pname = "glider-nlp";
+       version = "0.1";
+       sha256 = "1i604gj3ssabr3dcas6gfh20d4psqwl1j4d7wk4p3gy0hvjvr8fb";
+       buildDepends = [ base containers text ];
+       testDepends = [ base Cabal containers HUnit text ];
+       jailbreak = true;
+       homepage = "https://github.com/klangner/glider-nlp";
+       description = "Natural Language Processing library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "glintcollider" = callPackage
+    ({ mkDerivation, base, ppm, split }:
+     mkDerivation {
+       pname = "glintcollider";
+       version = "0.0.2";
+       sha256 = "1xgx02cxvpc8sv99wl44lpzbv9cc87nnihbpalmddb71mwrmj4ji";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ppm split ];
+       description = "A simple ray tracer in an early stage of development";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "global" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, haskell-src-exts-qq
+     , loch-th, SafeSemaphore, stm, syntax-trees-fork-bairyn, tagged
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "global";
+       version = "0.2.1.0";
+       sha256 = "00d9qsh0n9yxr411mdisk602qiizy9h4wgz4k04mfr5x5g6cp418";
+       buildDepends = [
+         base haskell-src-exts haskell-src-exts-qq loch-th SafeSemaphore stm
+         syntax-trees-fork-bairyn tagged template-haskell
+       ];
+       homepage = "https://github.com/bairyn/global";
+       description = "Library enabling unique top-level declarations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "global-config" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, global-variables
+     , HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "global-config";
+       version = "0.3.1";
+       sha256 = "1rp855j0rzx528x01q5wi2hah80bwqf5rrw7p8p8qzl39fhlpzqa";
+       buildDepends = [ base data-default global-variables transformers ];
+       testDepends = [
+         base bytestring data-default HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+       ];
+       homepage = "https://github.com/akaspin/global-config";
+       description = "Global mutable configuration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "global-lock" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "global-lock";
+       version = "0.1";
+       sha256 = "0b2sz9ag6wcr0amgrx08l7924brfansnh9rv64wg9s3nk4ni2sxp";
+       buildDepends = [ base ];
+       description = "A global lock implemented without unsafePerformIO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "global-variables" = callPackage
+    ({ mkDerivation, base, containers, stm }:
+     mkDerivation {
+       pname = "global-variables";
+       version = "1.0.1.1";
+       sha256 = "0fvhh6q6z114qyi5rhwzxhrlqfhx6af97187b49lyvx2k9zkzvzp";
+       buildDepends = [ base containers stm ];
+       jailbreak = true;
+       description = "Namespaced, global, and top-level mutable variables without unsafePerformIO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "glome-hs" = callPackage
+    ({ mkDerivation, array, base, GlomeTrace, GlomeVec, GLUT, haskell98
+     , OpenGL, parallel, random, time
+     }:
+     mkDerivation {
+       pname = "glome-hs";
+       version = "0.61";
+       sha256 = "069j4xvh5039xkg300h1cwa0lyvkycixasxr8zh4iqyl1g5bcvs8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base GlomeTrace GlomeVec GLUT haskell98 OpenGL parallel
+         random time
+       ];
+       jailbreak = true;
+       homepage = "http://haskell.org/haskellwiki/Glome";
+       description = "ray tracer";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gloss_1_9_2_1" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, ghc-prim
+     , gloss-rendering, GLUT, OpenGL
+     }:
+     mkDerivation {
+       pname = "gloss";
+       version = "1.9.2.1";
+       sha256 = "1fk7472lw4621gv64fv4mna8z1av15f7d0didpc9r22rdlkpa80l";
+       buildDepends = [
+         base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
+       ];
+       jailbreak = true;
+       homepage = "http://gloss.ouroborus.net";
+       description = "Painless 2D vector graphics, animations and simulations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gloss" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, ghc-prim
+     , gloss-rendering, GLUT, OpenGL
+     }:
+     mkDerivation {
+       pname = "gloss";
+       version = "1.9.3.1";
+       sha256 = "01a4l164f7ffwskd626q10z9klsbn6dkh3nbik3iq68426jryvns";
+       buildDepends = [
+         base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
+       ];
+       jailbreak = true;
+       homepage = "http://gloss.ouroborus.net";
+       description = "Painless 2D vector graphics, animations and simulations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gloss-accelerate" = callPackage
+    ({ mkDerivation, accelerate, accelerate-cuda, base, gloss }:
+     mkDerivation {
+       pname = "gloss-accelerate";
+       version = "1.8.15.0";
+       revision = "1";
+       sha256 = "1nj2rnp2bg3xmi4xbaws9jc7qx3b4qqg9fyvfv13xdav28d7iqb0";
+       editedCabalFile = "3c0195c2208cb3c6786b8d1f27a17f5249af3797f6a37af410e95f23d03fb8d6";
+       buildDepends = [ accelerate accelerate-cuda base gloss ];
+       jailbreak = true;
+       description = "Extras to interface Gloss and Accelerate";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gloss-algorithms" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, gloss }:
+     mkDerivation {
+       pname = "gloss-algorithms";
+       version = "1.9.3.1";
+       sha256 = "1fdbjnrc1f42jxzgi362wccdx8fdhb1ws6bg3ds7cfanffkkf6an";
+       buildDepends = [ base containers ghc-prim gloss ];
+       jailbreak = true;
+       homepage = "http://gloss.ouroborus.net";
+       description = "Data structures and algorithms for working with 2D graphics";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gloss-banana" = callPackage
+    ({ mkDerivation, base, gloss, reactive-banana }:
+     mkDerivation {
+       pname = "gloss-banana";
+       version = "0.1.0.4";
+       sha256 = "0zzpdryfcqvxpzv53ymsvkm2nza9ryvzqgf3n89pnvrni91avgj3";
+       buildDepends = [ base gloss reactive-banana ];
+       jailbreak = true;
+       homepage = "https://github.com/Twey/gloss-banana";
+       description = "An Interface for gloss in terms of a reactive-banana Behavior";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "gloss-devil" = callPackage
+    ({ mkDerivation, base, bytestring, gloss, repa, repa-devil }:
+     mkDerivation {
+       pname = "gloss-devil";
+       version = "0.2";
+       sha256 = "17gwy13z4lymm9dpj26q4ihcl198gqn9kpcjdw8lcgfcg4gxszsm";
+       buildDepends = [ base bytestring gloss repa repa-devil ];
+       description = "Display images in Gloss using libdevil for decoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gloss-examples" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, ghc-prim
+     , GLFW-b, gloss, gloss-algorithms, gloss-raster, gloss-rendering
+     , random, repa, repa-algorithms, repa-io, vector
+     }:
+     mkDerivation {
+       pname = "gloss-examples";
+       version = "1.9.3.1";
+       sha256 = "0d9wh50n2n6ia9vds2pnd8p9wdyxl423c7s135bbjx1iwrsvyq11";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bmp bytestring containers ghc-prim GLFW-b gloss
+         gloss-algorithms gloss-raster gloss-rendering random repa
+         repa-algorithms repa-io vector
+       ];
+       jailbreak = true;
+       homepage = "http://gloss.ouroborus.net";
+       description = "Examples using the gloss library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gloss-game" = callPackage
+    ({ mkDerivation, base, gloss, gloss-juicy }:
+     mkDerivation {
+       pname = "gloss-game";
+       version = "0.3.3.0";
+       sha256 = "01k9600f9lv65n9bi2v40gzcl14gg9cm27fxz8yk4kx1hk5hv980";
+       buildDepends = [ base gloss gloss-juicy ];
+       homepage = "https://github.com/mchakravarty/gloss-game";
+       description = "Gloss wrapper that simplifies writing games";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gloss-juicy" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, gloss, JuicyPixels, vector
+     }:
+     mkDerivation {
+       pname = "gloss-juicy";
+       version = "0.2";
+       sha256 = "1y525ck3cqqg9zggd88ilzxv1pfcz801s0sdgprw3amzyxn71kqq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bmp bytestring gloss JuicyPixels vector ];
+       homepage = "http://github.com/alpmestan/gloss-juicy";
+       description = "Load any image supported by Juicy.Pixels in your gloss application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gloss-raster" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, gloss, gloss-rendering
+     , llvm, repa
+     }:
+     mkDerivation {
+       pname = "gloss-raster";
+       version = "1.9.3.1";
+       sha256 = "1siwsmx8n0yaalcbm0c2dwxfxk5im1gpddbc2nkbf9br5yvn7py5";
+       buildDepends = [
+         base containers ghc-prim gloss gloss-rendering repa
+       ];
+       extraLibraries = [ llvm ];
+       jailbreak = true;
+       homepage = "http://gloss.ouroborus.net";
+       description = "Parallel rendering of raster images";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (self.llvmPackages) llvm;};
+
+  "gloss-raster-accelerate" = callPackage
+    ({ mkDerivation, accelerate, accelerate-cuda, base, gloss
+     , gloss-accelerate
+     }:
+     mkDerivation {
+       pname = "gloss-raster-accelerate";
+       version = "1.8.15.0";
+       revision = "2";
+       sha256 = "1fs3ybrzkykslac1zzh6g73lfdfysn6y2fr1pra9hd0a7x5a8j10";
+       editedCabalFile = "7dc701f53445822b911329368601a2de82ef2457573d6ac8ae795c74d61a5635";
+       buildDepends = [
+         accelerate accelerate-cuda base gloss gloss-accelerate
+       ];
+       jailbreak = true;
+       description = "Parallel rendering of raster images using Accelerate";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gloss-rendering" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, GLUT, OpenGL }:
+     mkDerivation {
+       pname = "gloss-rendering";
+       version = "1.9.3.1";
+       sha256 = "1ns9x9fwkvxy0dwgdd3apv3p0d4857h3mkb3dx0rg9rs3wbapyzy";
+       buildDepends = [ base bmp bytestring containers GLUT OpenGL ];
+       jailbreak = true;
+       description = "Gloss picture data types and rendering functions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gloss-sodium" = callPackage
+    ({ mkDerivation, base, gloss, sodium }:
+     mkDerivation {
+       pname = "gloss-sodium";
+       version = "0.1.0.0";
+       sha256 = "0ygjqzb1pn092j0d0gcwhxdv940rdlvpaj1gxa347mdgvp4jb9za";
+       buildDepends = [ base gloss sodium ];
+       jailbreak = true;
+       homepage = "https://github.com/Twey/gloss-sodium";
+       description = "A Sodium interface to the Gloss drawing package";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "glpk-hs" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, glpk, mtl }:
+     mkDerivation {
+       pname = "glpk-hs";
+       version = "0.3.4";
+       sha256 = "0wyasd0dqi5nnh52lx980vnyhm0rwib0sd7qnpj4s9hq8rn994cm";
+       buildDepends = [ array base containers deepseq mtl ];
+       extraLibraries = [ glpk ];
+       description = "Comprehensive GLPK linear programming bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) glpk;};
+
+  "gluturtle" = callPackage
+    ({ mkDerivation, base, convertible, GLUT, stm, yjsvg, yjtools }:
+     mkDerivation {
+       pname = "gluturtle";
+       version = "0.0.58.1";
+       sha256 = "0jwkppf9ipm61g052r9m65awq3nsigf3q4m9bj2hmb3n9z75i1hp";
+       buildDepends = [ base convertible GLUT stm yjsvg yjtools ];
+       description = "turtle like LOGO with glut";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gmap" = callPackage
+    ({ mkDerivation, array, AvlTree, base, COrdering, QuickCheck
+     , random
+     }:
+     mkDerivation {
+       pname = "gmap";
+       version = "0.1";
+       sha256 = "0kwx0zknxpda0pjf9hphniz33b9m0md54z8zx09vzkjq7lpljx7r";
+       buildDepends = [ array AvlTree base COrdering QuickCheck random ];
+       description = "Composable maps and generic tries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gmndl" = callPackage
+    ({ mkDerivation, ad, array, base, gtk, gtkglext, mtl, OpenGL
+     , OpenGLRaw, parsec, priority-queue, qd, reflection, Vec
+     }:
+     mkDerivation {
+       pname = "gmndl";
+       version = "0.4.0.2";
+       sha256 = "04r7n24jnqgggi19d4l1lj1ag5jrh3zk2pvxwm5xfb7imlg37zm8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ad array base gtk gtkglext mtl OpenGL OpenGLRaw parsec
+         priority-queue qd reflection Vec
+       ];
+       jailbreak = true;
+       description = "Mandelbrot Set explorer using GTK";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gnome-desktop" = callPackage
+    ({ mkDerivation, base, directory, gconf, glib, gtk, random }:
+     mkDerivation {
+       pname = "gnome-desktop";
+       version = "1.0.0.0";
+       sha256 = "0ipx8hka4ly3dc3dv6dnk2bq3hbiiahqqragdm1bqgy1plvwa5q6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory gconf glib gtk random ];
+       description = "Randomly set a picture as the GNOME desktop background";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gnome-keyring" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, gnome_keyring, text, time
+     }:
+     mkDerivation {
+       pname = "gnome-keyring";
+       version = "0.3.1";
+       sha256 = "08fayi4ixqyzin7lxyx2s3yap377y6nrdf4fmv7bi895j2k642l8";
+       buildDepends = [ base bytestring text time ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ gnome_keyring ];
+       pkgconfigDepends = [ gnome_keyring ];
+       homepage = "https://john-millikin.com/software/haskell-gnome-keyring/";
+       description = "Bindings for libgnome-keyring";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.gnome) gnome_keyring;};
+
+  "gnomevfs" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gnome_vfs
+     , gnome_vfs_module, gtk, gtk2hs-buildtools, haskell98, mtl
+     }:
+     mkDerivation {
+       pname = "gnomevfs";
+       version = "0.11.0";
+       sha256 = "0g4dic9k1c4221v4kacc46sj2vra1jlnb4pn657zfwbkni8z0kmp";
+       buildDepends = [ array base containers glib gtk haskell98 mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gnome_vfs gnome_vfs_module ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/gtk2hs/";
+       description = "Binding to the GNOME Virtual File System library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.gnome) gnome_vfs;  gnome_vfs_module = null;};
+
+  "gnuidn" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, libidn, text }:
+     mkDerivation {
+       pname = "gnuidn";
+       version = "0.2.1";
+       sha256 = "1jii635wc3j1jnwwx24j9gg9xd91g2iw5967acn74p7db62lqx37";
+       buildDepends = [ base bytestring text ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ libidn ];
+       pkgconfigDepends = [ libidn ];
+       homepage = "https://john-millikin.com/software/haskell-gnuidn/";
+       description = "Bindings for GNU IDN";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) libidn;};
+
+  "gnuplot" = callPackage
+    ({ mkDerivation, array, base, containers, data-accessor
+     , data-accessor-transformers, deepseq, filepath, old-locale
+     , process, temporary, time, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "gnuplot";
+       version = "0.5.3.1";
+       sha256 = "03q226k7dhlc9mvfkkw3p00h7fh55s7l5hxgb2aarlz6q3rnjrcb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers data-accessor data-accessor-transformers
+         deepseq filepath old-locale process temporary time transformers
+         utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Gnuplot";
+       description = "2D and 3D plots using gnuplot";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gnutls" = callPackage
+    ({ mkDerivation, base, bytestring, gnutls, monads-tf, transformers
+     }:
+     mkDerivation {
+       pname = "gnutls";
+       version = "0.1.5";
+       sha256 = "1sf6b4g0jwk1jrzjq4vwwak57lzm1zc43ggysp973q5icm6gs8wp";
+       buildDepends = [ base bytestring monads-tf transformers ];
+       extraLibraries = [ gnutls ];
+       pkgconfigDepends = [ gnutls ];
+       homepage = "https://john-millikin.com/software/haskell-gnutls/";
+       description = "Bindings for GNU libgnutls";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) gnutls;};
+
+  "goa" = callPackage
+    ({ mkDerivation, base, directory, filepath, process }:
+     mkDerivation {
+       pname = "goa";
+       version = "3.3";
+       revision = "1";
+       sha256 = "0z1mhi2y4qm1lj6vfsmxf2gs5shfwdac3p9gqj89hx28mpc3rmzk";
+       editedCabalFile = "5ae2bd1f4c29e22070fa32e5c126066813467ffe71a912148304d6f30d200137";
+       buildDepends = [ base directory filepath process ];
+       description = "GHCi bindings to lambdabot";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "goatee" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, parsec
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "goatee";
+       version = "0.3.0";
+       sha256 = "1py0cnmvqnjdf6bwwn8p6c78p9qnmk82932j7j6y2q91yhna6b2d";
+       buildDepends = [ base containers mtl parsec template-haskell ];
+       testDepends = [ base containers HUnit mtl parsec ];
+       homepage = "http://khumba.net/projects/goatee";
+       description = "A monadic take on a 2,500-year-old board game - library";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "goatee-gtk" = callPackage
+    ({ mkDerivation, base, cairo, containers, directory, filepath
+     , goatee, gtk, HUnit, mtl, parsec
+     }:
+     mkDerivation {
+       pname = "goatee-gtk";
+       version = "0.3.0";
+       sha256 = "0wdspqs5pfa4axys87c8bci2s3y475fddjrdwh1kvc9vdsanb7xv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers directory filepath goatee gtk mtl parsec
+       ];
+       testDepends = [ base HUnit ];
+       jailbreak = true;
+       homepage = "http://khumba.net/projects/goatee";
+       description = "A monadic take on a 2,500-year-old board game - GTK+ UI";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gofer-prelude" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "gofer-prelude";
+       version = "2.30.3";
+       sha256 = "1whl3fvwxh26nsb4l6brljsmwl891w5yxlsv69mdfvfb1rl7p64f";
+       buildDepends = [ base ghc-prim ];
+       homepage = "http://code.haskell.org/~dons/code/gofer-prelude";
+       description = "The Gofer 2.30 standard prelude";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "google-dictionary" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HTTP, lens, mtl }:
+     mkDerivation {
+       pname = "google-dictionary";
+       version = "0.1.0.2";
+       sha256 = "12ib4y8cjg0dvvizy8yxgjaqvyawdy7vxmh1ab12b4yg40wwsg6g";
+       buildDepends = [ aeson base bytestring HTTP lens mtl ];
+       homepage = "https://github.com/mitchellwrosen/google-dictionary-api";
+       description = "Simple interface to the google.com/dictionary API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "google-drive" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, conduit-extra
+     , directory, filepath, google-oauth2, hspec
+     , hspec-expectations-lifted, http-conduit, http-types, load-env
+     , mtl, random, resourcet, text, time, timerep
+     }:
+     mkDerivation {
+       pname = "google-drive";
+       version = "0.3.1";
+       sha256 = "0fzz9dgb2l5zcfjrzf4bqv0dgjhy12r9i1h66y1mji2z0f9qj37y";
+       buildDepends = [
+         aeson base bytestring conduit conduit-extra directory filepath
+         http-conduit http-types mtl random resourcet text time timerep
+       ];
+       testDepends = [
+         base bytestring conduit conduit-extra directory google-oauth2 hspec
+         hspec-expectations-lifted load-env text time
+       ];
+       description = "Google Drive API access";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "google-html5-slide" = callPackage
+    ({ mkDerivation, base, blaze-html, cmdargs, data-default, hamlet
+     , pandoc, shakespeare-css, syb, text, time
+     }:
+     mkDerivation {
+       pname = "google-html5-slide";
+       version = "2011.0";
+       sha256 = "0wkblf0i4lfw6s8adf2clcqj3161863vbsq1cip3rcn9djqbimzl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html cmdargs data-default hamlet pandoc shakespeare-css
+         syb text time
+       ];
+       jailbreak = true;
+       description = "Google HTML5 Slide generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "google-mail-filters" = callPackage
+    ({ mkDerivation, base, containers, google-search, old-locale, text
+     , time, xml-conduit
+     }:
+     mkDerivation {
+       pname = "google-mail-filters";
+       version = "0.0.1.1";
+       sha256 = "0cxslr062h536q4vgs16r2s1lm7x5m9lcy1hzif6mpnmvjzqsn11";
+       buildDepends = [
+         base containers google-search old-locale text time xml-conduit
+       ];
+       testDepends = [ base google-search text time xml-conduit ];
+       homepage = "https://github.com/liyang/google-mail-filters";
+       description = "Write GMail filters and output to importable XML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "google-oauth2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, HTTP, http-conduit
+     , http-types, load-env
+     }:
+     mkDerivation {
+       pname = "google-oauth2";
+       version = "0.1.0";
+       sha256 = "0sn86raxvgzp4hjmg5b0gm5ibhiys5jimvxgds13qxbgrgcvvwh6";
+       buildDepends = [ aeson base bytestring HTTP http-conduit ];
+       testDepends = [
+         base bytestring hspec http-conduit http-types load-env
+       ];
+       description = "Google OAuth2 token negotiation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "google-search" = callPackage
+    ({ mkDerivation, base, free, nats, old-locale, text, time }:
+     mkDerivation {
+       pname = "google-search";
+       version = "0.1.0.1";
+       sha256 = "0nkpvp5zjf3mkhqv6z5xvrmr6b6d5zgmzlh67y7ssslp4620m5m7";
+       buildDepends = [ base free nats old-locale text time ];
+       homepage = "https://github.com/liyang/google-search";
+       description = "EDSL for Google and GMail search expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "googleplus" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , enumerator, haskell98, http-enumerator, http-types, mtl, text
+     , time, timerep, transformers, url
+     }:
+     mkDerivation {
+       pname = "googleplus";
+       version = "0.3.1.1";
+       sha256 = "046fvrr8cg00wagx4vdx35l2xk8qbs7fbs0v5hj45h4jk9dnk2jg";
+       buildDepends = [
+         aeson attoparsec base bytestring containers enumerator haskell98
+         http-enumerator http-types mtl text time timerep transformers url
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/michaelxavier/GooglePlus";
+       description = "Haskell implementation of the Google+ API v1";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gopherbot" = callPackage
+    ({ mkDerivation, base, HDBC, HDBC-postgresql, MissingH, network
+     , parsec, unix
+     }:
+     mkDerivation {
+       pname = "gopherbot";
+       version = "0.1.0";
+       sha256 = "0qa4xs07975spf4pwc2y0hichn4x8l7kn2949v0j19gbd099vjng";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base HDBC HDBC-postgresql MissingH network parsec unix
+       ];
+       description = "Spidering robot to download files from Gopherspace";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gpah" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cmdargs, containers, csv
+     , deepseq, directory, filepath, haskell-src-exts, hint, HTTP
+     , network, process, syb, tar, uniplate, uu-parsinglib, zlib
+     }:
+     mkDerivation {
+       pname = "gpah";
+       version = "0.0.2";
+       sha256 = "1zwz065fdg3k09nh976igr90p1qpb397fyi7jh941c512m70qbxr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal cmdargs containers csv deepseq directory
+         filepath haskell-src-exts hint HTTP network process syb tar
+         uniplate uu-parsinglib zlib
+       ];
+       description = "Generic Programming Use in Hackage";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gpcsets" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "gpcsets";
+       version = "0.9.2.0";
+       sha256 = "1fm0k6n6fb5a3wvmb2l6k4zq3sdfxv16cb2y2zmjgxgj5n3gy9s8";
+       buildDepends = [ base ];
+       description = "Generalized Pitch Class Sets for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gpolyline" = callPackage
+    ({ mkDerivation, base, split }:
+     mkDerivation {
+       pname = "gpolyline";
+       version = "0.1.0.1";
+       sha256 = "01bsl7s8r33jgvk9lyca02awj43acii8spa6sskz19ivhm2adcr8";
+       buildDepends = [ base split ];
+       homepage = "https://github.com/fegu/gpolyline";
+       description = "Pure module for encoding/decoding Google Polyline";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gps" = callPackage
+    ({ mkDerivation, base, gpx-conduit, pretty, prettyclass, QuickCheck
+     , statistics, test-framework, test-framework-quickcheck2, text
+     , time, vector
+     }:
+     mkDerivation {
+       pname = "gps";
+       version = "1.2";
+       sha256 = "1krq6sv9qblwqlx7j6gb5qfv5zarxlyvaj6svhd4n8f7pr5w510r";
+       buildDepends = [
+         base pretty prettyclass statistics text time vector
+       ];
+       testDepends = [
+         base gpx-conduit QuickCheck statistics test-framework
+         test-framework-quickcheck2 time vector
+       ];
+       description = "For manipulating GPS coordinates and trails";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gps2htmlReport" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, Chart, cmdargs, colour
+     , data-accessor, directory, filepath, gd, gps, GPX, hsmagick, html
+     , http-enumerator, process, random, tar, time, xsd
+     }:
+     mkDerivation {
+       pname = "gps2htmlReport";
+       version = "0.3.1";
+       sha256 = "1n6a1c6w3wmyaqan3ymlrk36h98yvy40wgwfdah4ayyxlsmvvxg8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo Chart cmdargs colour data-accessor directory
+         filepath gd gps GPX hsmagick html http-enumerator process random
+         tar time xsd
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/robstewart57/Gps2HtmlReport";
+       description = "GPS to HTML Summary Report";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gpx-conduit" = callPackage
+    ({ mkDerivation, attoparsec, base, conduit, filepath, monad-control
+     , old-locale, text, time, void, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "gpx-conduit";
+       version = "0.1.1";
+       sha256 = "0ffb0npx0yb69qxdcdznxpw36zjp2za7vdpzy2r5l245y0xr7mj4";
+       buildDepends = [
+         attoparsec base conduit filepath monad-control old-locale text time
+         void xml-conduit xml-types
+       ];
+       jailbreak = true;
+       description = "Read GPX files using conduits";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graceful" = callPackage
+    ({ mkDerivation, base, directory, filepath, hspec, network, process
+     , stm, unix
+     }:
+     mkDerivation {
+       pname = "graceful";
+       version = "0.1.1.5";
+       sha256 = "1kl4y01ny5w1y77r2jf830d7vd99by7frk106m2wc9nbl066mbhr";
+       buildDepends = [ base directory network stm unix ];
+       testDepends = [
+         base directory filepath hspec network process stm unix
+       ];
+       description = "Library to write graceful shutdown / upgrade service";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "grammar-combinators" = callPackage
+    ({ mkDerivation, base, containers, enumerable, fgl, graphviz
+     , MaybeT, mtl, multirec, parsec, template-haskell, text
+     , uu-parsinglib
+     }:
+     mkDerivation {
+       pname = "grammar-combinators";
+       version = "0.2.7";
+       sha256 = "1z7i1270g919g1756wgfap2mfhvln13bhgya2pw4b9lbr5fphkdd";
+       buildDepends = [
+         base containers enumerable fgl graphviz MaybeT mtl multirec parsec
+         template-haskell text uu-parsinglib
+       ];
+       homepage = "http://projects.haskell.org/grammar-combinators/";
+       description = "A parsing library of context-free grammar combinators";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "grapefruit-examples" = callPackage
+    ({ mkDerivation, base, colour, containers, fraction, grapefruit-frp
+     , grapefruit-records, grapefruit-ui
+     }:
+     mkDerivation {
+       pname = "grapefruit-examples";
+       version = "0.1.0.5";
+       sha256 = "0ad64jnp71gh7rj3rlfw7z67l5xnmc052g5q3slw3s6ga7spajlr";
+       buildDepends = [
+         base colour containers fraction grapefruit-frp grapefruit-records
+         grapefruit-ui
+       ];
+       homepage = "http://grapefruit-project.org/";
+       description = "Examples using the Grapefruit library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "grapefruit-frp" = callPackage
+    ({ mkDerivation, arrows, base, containers, fingertree, semigroups
+     , TypeCompose
+     }:
+     mkDerivation {
+       pname = "grapefruit-frp";
+       version = "0.1.0.5";
+       sha256 = "155hmjflmzm463b00r1jjwbpjq8ilwss5xqwi6nz6lm3xbc2ddhm";
+       buildDepends = [
+         arrows base containers fingertree semigroups TypeCompose
+       ];
+       jailbreak = true;
+       homepage = "http://grapefruit-project.org/";
+       description = "Functional Reactive Programming core";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "grapefruit-records" = callPackage
+    ({ mkDerivation, arrows, base, grapefruit-frp }:
+     mkDerivation {
+       pname = "grapefruit-records";
+       version = "0.1.0.5";
+       sha256 = "02hyrbsz20fl9mnynval55xar175vgy77s23zaq66r3f8c6gf6h1";
+       buildDepends = [ arrows base grapefruit-frp ];
+       homepage = "http://grapefruit-project.org/";
+       description = "A record system for Functional Reactive Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "grapefruit-ui" = callPackage
+    ({ mkDerivation, arrows, base, colour, containers, fraction
+     , grapefruit-frp, grapefruit-records
+     }:
+     mkDerivation {
+       pname = "grapefruit-ui";
+       version = "0.1.0.5";
+       sha256 = "11xxvg2847vyzpw8i11a6mnflyr639hdwj51r9pfyaq95034q9jq";
+       buildDepends = [
+         arrows base colour containers fraction grapefruit-frp
+         grapefruit-records
+       ];
+       homepage = "http://grapefruit-project.org/";
+       description = "Declarative user interface programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "grapefruit-ui-gtk" = callPackage
+    ({ mkDerivation, base, colour, containers, fraction, glib
+     , grapefruit-frp, grapefruit-records, grapefruit-ui, gtk
+     }:
+     mkDerivation {
+       pname = "grapefruit-ui-gtk";
+       version = "0.1.0.5";
+       sha256 = "106svyjnv72f0ikcfxgq8zagqxcn52yc1f31kfgz9258mmdki49z";
+       buildDepends = [
+         base colour containers fraction glib grapefruit-frp
+         grapefruit-records grapefruit-ui gtk
+       ];
+       homepage = "http://grapefruit-project.org/";
+       description = "GTK+-based backend for declarative user interface programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-core" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable, HTF, mtl
+     , QuickCheck, safe, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "graph-core";
+       version = "0.2.2.0";
+       sha256 = "0czqcdg7w7al7gl339b9l15kn5n79zmdjbic3gn9mblnjb1666r9";
+       buildDepends = [
+         base containers deepseq hashable mtl QuickCheck safe
+         unordered-containers vector
+       ];
+       testDepends = [
+         base containers deepseq hashable HTF mtl QuickCheck safe
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/factisresearch/graph-core";
+       description = "Fast, memory efficient and persistent graph implementation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "graph-generators" = callPackage
+    ({ mkDerivation, base, Cabal, containers, fgl, hspec
+     , hspec-expectations, multiset, mwc-random, QuickCheck
+     }:
+     mkDerivation {
+       pname = "graph-generators";
+       version = "0.1.2.0";
+       sha256 = "0iw22rmlhryc0z6k92lzdyjkc1qs98lj2509rk7qc7z0ghbhir9s";
+       buildDepends = [ base containers fgl multiset mwc-random ];
+       testDepends = [
+         base Cabal containers fgl hspec hspec-expectations multiset
+         mwc-random QuickCheck
+       ];
+       homepage = "https://github.com/ulikoehler/graph-random";
+       description = "Functions for generating structured or random FGL graphs";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "graph-matchings" = callPackage
+    ({ mkDerivation, base, containers, fgl }:
+     mkDerivation {
+       pname = "graph-matchings";
+       version = "0.1.0.0";
+       sha256 = "0dzkv13w06hkxg2vkbblpskvsq02c2ay06rw2j4vyjpw13hms5bv";
+       buildDepends = [ base containers fgl ];
+       description = "An implementation of algorithms for matchings in graphs";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "graph-rewriting" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers, mtl }:
+     mkDerivation {
+       pname = "graph-rewriting";
+       version = "0.7.6";
+       sha256 = "014zsw98ksylr4g1ax3xxlsh9jiybaz7xjapl2h88a8ma91da3jz";
+       buildDepends = [ base base-unicode-symbols containers mtl ];
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Monadic graph rewriting of hypergraphs with ports and multiedges";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-rewriting-cl" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, GLUT, graph-rewriting
+     , graph-rewriting-gl, graph-rewriting-layout, OpenGL, parsec
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-cl";
+       version = "0.2.2";
+       sha256 = "0rwycs3vnzy9awm081h836136s2wjyk9qyhsx9j6z7y3lgsb2cr0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols GLUT graph-rewriting graph-rewriting-gl
+         graph-rewriting-layout OpenGL parsec
+       ];
+       jailbreak = true;
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Interactive graph rewriting system implementing various well-known combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graph-rewriting-gl" = callPackage
+    ({ mkDerivation, AC-Vector, base, base-unicode-symbols, containers
+     , GLUT, graph-rewriting, graph-rewriting-layout, OpenGL
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-gl";
+       version = "0.7.5";
+       sha256 = "0cynzhr226944w3sn13bdnl60z9fy87va5fjayd4g0as2168ikhy";
+       buildDepends = [
+         AC-Vector base base-unicode-symbols containers GLUT graph-rewriting
+         graph-rewriting-layout OpenGL
+       ];
+       jailbreak = true;
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "OpenGL interface for interactive port graph rewriting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-rewriting-lambdascope" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, GLUT, graph-rewriting
+     , graph-rewriting-gl, graph-rewriting-layout
+     , graph-rewriting-strategies, IndentParser, OpenGL, parsec
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-lambdascope";
+       version = "0.5.6";
+       sha256 = "1qwy2mn22a5ppz3lrqz6czxrr3j26zxpp6lm3sf121k3a78c7vvp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols GLUT graph-rewriting graph-rewriting-gl
+         graph-rewriting-layout graph-rewriting-strategies IndentParser
+         OpenGL parsec
+       ];
+       jailbreak = true;
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Lambdascope, an optimal evaluator of the lambda calculus, as an interactive graph-rewriting system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graph-rewriting-layout" = callPackage
+    ({ mkDerivation, AC-Vector, base, base-unicode-symbols
+     , graph-rewriting
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-layout";
+       version = "0.5.3";
+       sha256 = "09fscyaknd3nhqn7d3wa4j8n2yagmmfk661m41cqx5hlay60x5f5";
+       buildDepends = [
+         AC-Vector base base-unicode-symbols graph-rewriting
+       ];
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Force-directed node placement intended for incremental graph drawing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-rewriting-ski" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, GLUT, graph-rewriting
+     , graph-rewriting-gl, graph-rewriting-layout, OpenGL, parsec
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-ski";
+       version = "0.6.4";
+       sha256 = "0jdfwcz427lx3r0alba1rphc6hj43mqygkdqmwn37yll4r1c62a4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols GLUT graph-rewriting graph-rewriting-gl
+         graph-rewriting-layout OpenGL parsec
+       ];
+       jailbreak = true;
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Two evalutors of the SKI combinator calculus as interactive graph rewrite systems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-rewriting-strategies" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers
+     , graph-rewriting
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-strategies";
+       version = "0.2.3";
+       sha256 = "0mimp7xbmnp9c2j8hr09qivc6kgfi4g63p071s560laddins39jr";
+       buildDepends = [
+         base base-unicode-symbols containers graph-rewriting
+       ];
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Evaluation strategies for port-graph rewriting systems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-rewriting-trs" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers, directory
+     , filepath, GLUT, graph-rewriting, graph-rewriting-gl
+     , graph-rewriting-layout, OpenGL, uu-parsinglib
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-trs";
+       version = "0.1.6";
+       sha256 = "1v8imc3ym0jjyhpw10xh36l060nvd0klp9llnmdnv8qkmy7pn8yg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols containers directory filepath GLUT
+         graph-rewriting graph-rewriting-gl graph-rewriting-layout OpenGL
+         uu-parsinglib
+       ];
+       jailbreak = true;
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Evaluate first-order applicative term rewrite systems interactively using graph reduction";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-rewriting-ww" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, GLUT, graph-rewriting
+     , graph-rewriting-gl, graph-rewriting-layout, IndentParser, OpenGL
+     , parsec
+     }:
+     mkDerivation {
+       pname = "graph-rewriting-ww";
+       version = "0.3.4";
+       sha256 = "169s5iy15q9ll12fjxizrc0l2q34rvqmxfpbcanc602cj3inav2w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols GLUT graph-rewriting graph-rewriting-gl
+         graph-rewriting-layout IndentParser OpenGL parsec
+       ];
+       jailbreak = true;
+       homepage = "http://rochel.info/#graph-rewriting";
+       description = "Evaluator of the lambda-calculus in an interactive graph rewriting system with explicit sharing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-serialize" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers }:
+     mkDerivation {
+       pname = "graph-serialize";
+       version = "0.2";
+       sha256 = "1a9qq5gpyxg6j6ja3kjldnf11wywjvvxpwvgiahlsrmwfw2c8d74";
+       buildDepends = [ array base bytestring containers ];
+       homepage = "http://github.com/nominolo/graph-serialize";
+       description = "Serialization of data structures with references";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-utils" = callPackage
+    ({ mkDerivation, base, containers, fgl, mtl, parsec, syb
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "graph-utils";
+       version = "0.3.7";
+       sha256 = "06wl6i8z0gfndr96g5ps11h877rbwvi1d9cbbr3d2whvbcsyclsf";
+       buildDepends = [
+         base containers fgl mtl parsec syb template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/konn/graph-utils/";
+       description = "A simple wrapper & quasi quoter for fgl";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graph-visit" = callPackage
+    ({ mkDerivation, base, containers, data-lens, data-lens-template
+     , mtl
+     }:
+     mkDerivation {
+       pname = "graph-visit";
+       version = "0.1.0.2";
+       sha256 = "0afj0wqpk549n0xs4vqcblrxs1d6knmxcldfnmz5vy2da5zlfn0q";
+       buildDepends = [
+         base containers data-lens data-lens-template mtl
+       ];
+       homepage = "https://github.com/atzedijkstra/graph-visit";
+       description = "Graph walk abstraction";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graph-wrapper" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "graph-wrapper";
+       version = "0.2.4.3";
+       sha256 = "1wfazkczc9m1r0snzv5b4ax315g93qgrnqc2wnrqqnzhcfy1symg";
+       buildDepends = [ array base containers ];
+       homepage = "http://www.github.com/batterseapower/graph-wrapper";
+       description = "A wrapper around the standard Data.Graph with a less awkward interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graphbuilder" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "graphbuilder";
+       version = "0.1.0.0";
+       sha256 = "0zhjzb53qaj6dy6ncqjaxdfrs2hwfy4g9czybpsgnbniqm07i22b";
+       buildDepends = [ base containers mtl ];
+       testDepends = [
+         base containers mtl QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tel/graphbuilder";
+       description = "A declarative, monadic graph construction language for small graphs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "graphene" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, hashable
+     , lens-family, lens-family-core, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "graphene";
+       version = "0.1.0.4";
+       sha256 = "09q57hqf3s29y3b6wn79wa9ksm5r2p75ww3kpwqmigvngy4sz006";
+       buildDepends = [
+         base bifunctors containers hashable lens-family lens-family-core
+         mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/5outh/graphene";
+       description = "A minimal Graph Theory library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "graphics-drawingcombinators" = callPackage
+    ({ mkDerivation, base, bitmap, FTGL, OpenGL, stb-image }:
+     mkDerivation {
+       pname = "graphics-drawingcombinators";
+       version = "1.5";
+       sha256 = "064g5zcdm0xpczyf8xwx0q0yr6jrd54461qpfxbvsh90lq0pa051";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bitmap FTGL OpenGL stb-image ];
+       jailbreak = true;
+       homepage = "http://github.com/luqui/graphics-drawingcombinators";
+       description = "A functional interface to 2D drawing in OpenGL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graphics-formats-collada" = callPackage
+    ({ mkDerivation, base, bitmap-opengl, containers, hxt, OpenGL
+     , stb-image, transformers
+     }:
+     mkDerivation {
+       pname = "graphics-formats-collada";
+       version = "0.3.1";
+       sha256 = "1kfx1c2x8v2i7ckhjiqv7ghhn44w7fscghxkn1iqkp3mj1p3xvbv";
+       buildDepends = [
+         base bitmap-opengl containers hxt OpenGL stb-image transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/luqui/collada";
+       description = "Load 3D geometry in the COLLADA format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graphicsFormats" = callPackage
+    ({ mkDerivation, base, haskell98, OpenGL, QuickCheck }:
+     mkDerivation {
+       pname = "graphicsFormats";
+       version = "0.1";
+       sha256 = "0bcqj0n8qqaqfrn21qgkf8si5qgxl3qlsc8djy0rqhnfi2grb8nh";
+       buildDepends = [ base haskell98 OpenGL QuickCheck ];
+       description = "Classes for renderable objects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graphicstools" = callPackage
+    ({ mkDerivation, base, bindings-DSL, containers, CV, directory
+     , ghc-prim, wx, wxcore
+     }:
+     mkDerivation {
+       pname = "graphicstools";
+       version = "0.2.2";
+       sha256 = "0hcz8w6yf7dls4sv0i5kihs22ysv0dl63q5bs5y4hgv6d747psp8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bindings-DSL containers CV directory ghc-prim wx wxcore
+       ];
+       homepage = "https://yousource.it.jyu.fi/cvlab/pages/GraphicsTools";
+       description = "Tools for creating graphical UIs, based on wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graphmod" = callPackage
+    ({ mkDerivation, base, containers, directory, dotgen, filepath
+     , haskell-lexer
+     }:
+     mkDerivation {
+       pname = "graphmod";
+       version = "1.2.6";
+       sha256 = "02p1x44ywv2mb4l2dsz9z3ybnvv4nns3882lqm3nc8sw2hkib8z3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory dotgen filepath haskell-lexer
+       ];
+       homepage = "http://github.com/yav/graphmod/wiki";
+       description = "Present the module dependencies of a program as a \"dot\" graph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graphs" = callPackage
+    ({ mkDerivation, array, base, containers, transformers, void }:
+     mkDerivation {
+       pname = "graphs";
+       version = "0.6.0.1";
+       sha256 = "061n1k5v6izpa77wyxch3ym4hzs1k64a902x2250gi724mj3mjsk";
+       buildDepends = [ array base containers transformers void ];
+       homepage = "http://github.com/ekmett/graphs";
+       description = "A simple monadic graph library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "graphtype" = callPackage
+    ({ mkDerivation, base, containers, dotgen, haskell-src-exts
+     , haskell98, uniplate
+     }:
+     mkDerivation {
+       pname = "graphtype";
+       version = "0.2.0";
+       sha256 = "13nblgd4b3pwpw8idvbd54fq2lf233vj8gvsl0qr381lsvj69fbi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers dotgen haskell-src-exts haskell98 uniplate
+       ];
+       homepage = "http://github.com/explicitcall/graphtype";
+       description = "A simple tool to illustrate dependencies between Haskell types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "graphviz" = callPackage
+    ({ mkDerivation, base, bytestring, colour, containers, directory
+     , dlist, fgl, filepath, polyparse, process, QuickCheck, temporary
+     , text, transformers, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "graphviz";
+       version = "2999.17.0.2";
+       sha256 = "1zfndf5mpwx3nrgybxg5hy8n30zwsfx6jgp9468b0pp8c5h65j13";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring colour containers directory dlist fgl filepath
+         polyparse process temporary text transformers wl-pprint-text
+       ];
+       testDepends = [ base containers fgl filepath QuickCheck text ];
+       homepage = "http://projects.haskell.org/graphviz/";
+       description = "Bindings to Graphviz for graph visualisation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gravatar" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, hspec, HTTP
+     , pureMD5, text
+     }:
+     mkDerivation {
+       pname = "gravatar";
+       version = "0.8.0";
+       sha256 = "1mzl08qzwzzhz6bvkz4qnrdnzsgvsmi2lnhzf743yzx4msn00q3g";
+       buildDepends = [ base bytestring data-default HTTP pureMD5 text ];
+       testDepends = [ base hspec text ];
+       description = "Generate Gravatar image URLs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gray-code" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "gray-code";
+       version = "0.3.1";
+       sha256 = "0b0pm24mxjsxg95q6yisr9pa0jfklsfw66cicryib42czvv083av";
+       buildDepends = [ base ];
+       testDepends = [ base QuickCheck ];
+       homepage = "http://bitbucket.org/astanin/hs-gray-code";
+       description = "Gray code encoder/decoder";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gray-extended" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "gray-extended";
+       version = "1.5.1";
+       sha256 = "1lami8ncp9d4k25vzb23gz9067ahp8vws378qb57hnkisfnn932q";
+       buildDepends = [ base ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/mhwombat/gray-extended";
+       description = "Gray encoding schemes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "greencard" = callPackage
+    ({ mkDerivation, array, base, containers, pretty }:
+     mkDerivation {
+       pname = "greencard";
+       version = "3.0.4.2";
+       sha256 = "1vl9p6mqss5r4jfqnjir7m1q7fhh9f204c99qd5y5d0j7yc26r5y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers pretty ];
+       homepage = "https://github.com/sof/greencard";
+       description = "GreenCard, a foreign function pre-processor for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "greencard-lib" = callPackage
+    ({ mkDerivation, array, base, containers, greencard, pretty }:
+     mkDerivation {
+       pname = "greencard-lib";
+       version = "3.0.1";
+       sha256 = "1a8h36kclb5db7kfy1pb4h2pwy6a6wwnjpm21xzvc9fjx9vj44kd";
+       buildDepends = [ array base containers greencard pretty ];
+       homepage = "http://www.haskell.org/greencard/";
+       description = "A foreign function interface pre-processor library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "greg-client" = callPackage
+    ({ mkDerivation, base, binary, bytestring, clock, hostname, network
+     , stm, system-uuid, time
+     }:
+     mkDerivation {
+       pname = "greg-client";
+       version = "1.0.2";
+       sha256 = "1p645qgn5i194mna20ariypxp0dci7lzyxhszmnyylpd0icyg4in";
+       buildDepends = [
+         base binary bytestring clock hostname network stm system-uuid time
+       ];
+       homepage = "http://code.google.com/p/greg/";
+       description = "A scalable distributed logger with a high-precision global time axis";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "grid" = callPackage
+    ({ mkDerivation, base, cereal, containers, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "grid";
+       version = "7.7.1";
+       sha256 = "06xpfzqnsyrknfccqb748prvx3f87jzvmzfpp75x5s1psms7685b";
+       buildDepends = [ base cereal containers ];
+       testDepends = [
+         base containers QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/mhwombat/grid";
+       description = "Tools for working with regular grids (graphs, lattices)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "grm" = callPackage
+    ({ mkDerivation, base, Cabal, cmdargs, directory, filepath, happy
+     , parsec, process, syb, wl-pprint
+     }:
+     mkDerivation {
+       pname = "grm";
+       version = "0.1.1";
+       sha256 = "1za45931c6avyqxb6dwiafl739fmwdk68kxpk13zkv0jwxxpp9px";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal cmdargs directory filepath parsec process syb wl-pprint
+       ];
+       buildTools = [ happy ];
+       description = "grm grammar converter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "groom" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "groom";
+       version = "0.1.2";
+       sha256 = "045hzpnf17rp1ib6q3gcznl9b7ivz5zmv0gh7qfg726kr8i030hf";
+       buildDepends = [ base haskell-src-exts ];
+       description = "Pretty printing for well-behaved Show instances";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "groundhog" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-builder, bytestring, containers, monad-control
+     , monad-logger, mtl, scientific, text, time, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "groundhog";
+       version = "0.7.0.3";
+       sha256 = "0n5c501wfyqcl1iy4017yyxp95kz7mb4lgc0mjjk9si36ixkww9r";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring blaze-builder bytestring
+         containers monad-control monad-logger mtl scientific text time
+         transformers transformers-base
+       ];
+       homepage = "http://github.com/lykahb/groundhog";
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "groundhog-inspector" = callPackage
+    ({ mkDerivation, aeson-pretty, base, bytestring, cmdargs
+     , containers, groundhog, groundhog-sqlite, groundhog-th, mtl
+     , regex-compat, syb, template-haskell, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "groundhog-inspector";
+       version = "0.7.1.1";
+       sha256 = "17bnzi1gkhl8ps9dihmrw3nb0mdlbgd83k67dplqzgj1q3z52lpy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson-pretty base bytestring cmdargs containers groundhog
+         groundhog-sqlite groundhog-th mtl regex-compat syb template-haskell
+         text time transformers
+       ];
+       homepage = "http://github.com/lykahb/groundhog";
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "groundhog-mysql" = callPackage
+    ({ mkDerivation, base, bytestring, containers, groundhog
+     , monad-control, monad-logger, mysql, mysql-simple, resource-pool
+     , text, time, transformers
+     }:
+     mkDerivation {
+       pname = "groundhog-mysql";
+       version = "0.7.0.1";
+       sha256 = "01pnninva0va0pl9k7mjk2l7fm42978j9x82sj8z7cscshvl327f";
+       buildDepends = [
+         base bytestring containers groundhog monad-control monad-logger
+         mysql mysql-simple resource-pool text time transformers
+       ];
+       description = "MySQL backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "groundhog-postgresql" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, groundhog, monad-control, monad-logger
+     , postgresql-libpq, postgresql-simple, resource-pool, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "groundhog-postgresql";
+       version = "0.7.0.2";
+       sha256 = "18wdj51v6qqyqx10lvknr3irhs5qddvh301bx7l9cdcpkk1la81i";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring containers groundhog
+         monad-control monad-logger postgresql-libpq postgresql-simple
+         resource-pool text time transformers
+       ];
+       description = "PostgreSQL backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "groundhog-sqlite" = callPackage
+    ({ mkDerivation, base, bytestring, containers, direct-sqlite
+     , groundhog, monad-control, monad-logger, resource-pool, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "groundhog-sqlite";
+       version = "0.7.0.1";
+       sha256 = "0lsm9yfapdpy4nf5bxrbjkvw9nwc82qfmyw1h9l3mc4b8nfp12dy";
+       buildDepends = [
+         base bytestring containers direct-sqlite groundhog monad-control
+         monad-logger resource-pool text transformers unordered-containers
+       ];
+       description = "Sqlite3 backend for the groundhog library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "groundhog-th" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, groundhog
+     , template-haskell, text, time, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "groundhog-th";
+       version = "0.7.0";
+       sha256 = "14g4665wrr3226m2v63p4j8g9bcyi5la7nk2vh509xyz3z17aq67";
+       buildDepends = [
+         aeson base bytestring containers groundhog template-haskell text
+         time unordered-containers yaml
+       ];
+       description = "Type-safe datatype-database mapping library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "group-with" = callPackage
+    ({ mkDerivation, base, Cabal, containers, hspec, hspec-expectations
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "group-with";
+       version = "0.2.0.2";
+       sha256 = "0c7p3bj3b68h2zp0lzldfjwq7x2a38v0gnxyflisawdg61jnx8h6";
+       buildDepends = [ base containers ];
+       testDepends = [
+         base Cabal containers hspec hspec-expectations QuickCheck
+       ];
+       homepage = "https://github.com/ulikoehler/group-with";
+       description = "Classify objects by key-generating function, like SQL GROUP BY";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "groupoid" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "groupoid";
+       version = "0.1.0";
+       sha256 = "0gpjlq9f2il4vp7ihh1sf5g2jr1rbi5big5c6dhjk961n8b1dq0z";
+       buildDepends = [ base ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "A Groupoid class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "groupoids" = callPackage
+    ({ mkDerivation, base, semigroupoids }:
+     mkDerivation {
+       pname = "groupoids";
+       version = "4.0";
+       sha256 = "08la44c19pz2clws5mb939zc1d17cb6qy9qlh2n1634pl0zrawb6";
+       buildDepends = [ base semigroupoids ];
+       homepage = "http://github.com/ekmett/groupoids/";
+       description = "This package has been absorbed into semigroupoids 4.0";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "groups" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "groups";
+       version = "0.4.0.0";
+       sha256 = "1kp8h3617cimya8nnadljyy4vk66dzl5nzfm900k2gh3ci8kja6k";
+       buildDepends = [ base ];
+       description = "Haskell 98 groups";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "growler" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring
+     , case-insensitive, either, http-types, lens, monad-control, mtl
+     , pipes, pipes-aeson, pipes-wai, regex-compat, text, transformers
+     , transformers-base, unordered-containers, vector, wai, wai-extra
+     , warp
+     }:
+     mkDerivation {
+       pname = "growler";
+       version = "0.6.0";
+       sha256 = "0skykz2p0kcs8g1vq7832h7fnw193hpq4pplkcaxazg8z97k8q75";
+       buildDepends = [
+         aeson base blaze-builder bytestring case-insensitive either
+         http-types lens monad-control mtl pipes pipes-aeson pipes-wai
+         regex-compat text transformers transformers-base
+         unordered-containers vector wai wai-extra warp
+       ];
+       homepage = "http://github.com/iand675/growler";
+       description = "A revised version of the scotty library that attempts to be simpler and more performant";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gruff" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , FTGL, gtk, gtkglext, mtl, old-locale, OpenGL, OpenGLRaw, parallel
+     , qd, qd-vec, ruff, time, Vec
+     }:
+     mkDerivation {
+       pname = "gruff";
+       version = "0.3.4";
+       sha256 = "0is9bpaalyr78g0hfp6bbmny4w6w8a3aj9a041f82499hhy0vv0h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath FTGL gtk gtkglext mtl
+         old-locale OpenGL OpenGLRaw parallel qd qd-vec ruff time Vec
+       ];
+       jailbreak = true;
+       description = "fractal explorer GUI using the ruff library";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gruff-examples" = callPackage
+    ({ mkDerivation, base, containers, data-memocombinators, filepath
+     , gruff, qd, qd-vec, random, ruff, Vec
+     }:
+     mkDerivation {
+       pname = "gruff-examples";
+       version = "0.3.1";
+       sha256 = "02ygb88zxikf5ggw9ypyzganngk4dgfcszpkyzy6cwm47mksdzg7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers data-memocombinators filepath gruff qd qd-vec
+         random ruff Vec
+       ];
+       jailbreak = true;
+       description = "Mandelbrot Set examples using ruff and gruff";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gsasl" = callPackage
+    ({ mkDerivation, base, bytestring, gsasl, transformers }:
+     mkDerivation {
+       pname = "gsasl";
+       version = "0.3.5";
+       sha256 = "1797rs6syrgs82akbj7nkmj0nni4w83fhwrl1zy2l3jqkcacvbm3";
+       buildDepends = [ base bytestring transformers ];
+       pkgconfigDepends = [ gsasl ];
+       homepage = "https://john-millikin.com/software/haskell-gsasl/";
+       description = "Bindings for GNU libgsasl";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) gsasl;};
+
+  "gsc-weighting" = callPackage
+    ({ mkDerivation, base, hierarchical-clustering }:
+     mkDerivation {
+       pname = "gsc-weighting";
+       version = "0.2";
+       sha256 = "1mdm0n96gy00wf7lv6c0qxk9bi1ahf58vzrgnh3jfiwhzjivcvlj";
+       buildDepends = [ base hierarchical-clustering ];
+       description = "Generic implementation of Gerstein/Sonnhammer/Chothia weighting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "gsl-random" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "gsl-random";
+       version = "0.5.0";
+       sha256 = "0bhwi2ianxazyxyp2siczk8rfdnj4dx3rfz5d82bag2xcbzcrbfj";
+       buildDepends = [ base vector ];
+       homepage = "http://github.com/patperry/hs-gsl-random";
+       description = "Bindings the the GSL random number generation facilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gsl-random-fu" = callPackage
+    ({ mkDerivation, base, gsl-random, random-fu }:
+     mkDerivation {
+       pname = "gsl-random-fu";
+       version = "0.0.0.1";
+       sha256 = "1qf5m3zksn16mlgavrwbq6yd1mbyafy27qf1ws4nmkxl8ci0k48i";
+       buildDepends = [ base gsl-random random-fu ];
+       homepage = "http://code.haskell.org/~mokus/gsl-random-fu";
+       description = "Instances for using gsl-random with random-fu";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gsmenu" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, permute, sindre
+     , text, X11
+     }:
+     mkDerivation {
+       pname = "gsmenu";
+       version = "3.0";
+       sha256 = "15ddm69fmk0nkkrs5g80amdvld2mq59ah58nbnk83mwkffpi484f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl parsec permute sindre text X11
+       ];
+       jailbreak = true;
+       homepage = "http://sigkill.dk/programs/gsmenu";
+       description = "A visual generic menu";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gstreamer" = callPackage
+    ({ mkDerivation, array, base, bytestring, directory, glib
+     , gst_plugins_base, gstreamer, gtk2hs-buildtools, mtl
+     }:
+     mkDerivation {
+       pname = "gstreamer";
+       version = "0.12.5.0";
+       sha256 = "0grg20wsvdyfpm2y3ykw7d3j7s2hlbs8psjwfy0yfz3839yvccy6";
+       buildDepends = [ array base bytestring directory glib mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gst_plugins_base gstreamer ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the GStreamer open source multimedia framework";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) gst_plugins_base;  inherit (pkgs) gstreamer;};
+
+  "gt-tools" = callPackage
+    ({ mkDerivation, base, containers, extensible-exceptions, haskeline
+     , HTTP, json, mtl, unix, url, utf8-string
+     }:
+     mkDerivation {
+       pname = "gt-tools";
+       version = "0.2.1";
+       sha256 = "1mkccxgnvgjxkbsdl6bcn61yv0zi20i8h9z11hqcfd3ibfnsw7bh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers extensible-exceptions haskeline HTTP json mtl unix
+         url utf8-string
+       ];
+       homepage = "http://github.com/styx/gtc";
+       description = "Console and GUI interface for Google Translate service";
+       license = "GPL";
+     }) {};
+
+  "gtfs" = callPackage
+    ({ mkDerivation, base, csv, directory, filepath, rowrecord, split
+     }:
+     mkDerivation {
+       pname = "gtfs";
+       version = "0.1";
+       sha256 = "0m0i13xpj9wz6ykngwfqi2vnrliwf0y1d2cxg9254dm865l5gvsi";
+       buildDepends = [ base csv directory filepath rowrecord split ];
+       description = "The General Transit Feed Specification format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtk" = callPackage
+    ({ mkDerivation, array, base, bytestring, cairo, containers, gio
+     , glib, gtk, gtk2hs-buildtools, mtl, pango, text
+     }:
+     mkDerivation {
+       pname = "gtk";
+       version = "0.13.6";
+       sha256 = "1xj3vafk6rhy5nifixsp72n88i0idlknggcq1w626jfszx5anx2c";
+       buildDepends = [
+         array base bytestring cairo containers gio glib mtl pango text
+       ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtk ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Gtk+ graphical user interface library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs.gnome) gtk;};
+
+  "gtk-jsinput" = callPackage
+    ({ mkDerivation, base, gtk, json, transformers }:
+     mkDerivation {
+       pname = "gtk-jsinput";
+       version = "0.0.0";
+       sha256 = "0fjlk6z8j77l35k9cdzgbyf1w5wd0v0k1sry78vf7f6j4mvv8wb0";
+       buildDepends = [ base gtk json transformers ];
+       homepage = "http://github.com/timthelion/gtk-jsinput";
+       description = "A simple custom form widget for gtk which allows inputing of JSON values";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "gtk-largeTreeStore" = callPackage
+    ({ mkDerivation, base, containers, glib, gtk3, hspec, mtl
+     , nested-sets
+     }:
+     mkDerivation {
+       pname = "gtk-largeTreeStore";
+       version = "0.0.1.0";
+       sha256 = "0nzddvm17gqkdjpkls4rd5lxshx8fwvn35b9r3njqqpm2yi5qci0";
+       buildDepends = [ base containers glib gtk3 mtl nested-sets ];
+       testDepends = [ base containers gtk3 hspec ];
+       description = "Large TreeStore support for gtk2hs";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "gtk-mac-integration" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gtk
+     , gtk-mac-integration, gtk2hs-buildtools, mtl
+     }:
+     mkDerivation {
+       pname = "gtk-mac-integration";
+       version = "0.3.0.2";
+       sha256 = "05pihi7fc413j8iwwrdb7p1ckxsjzd8cvayk76hhwnqcyykvjlr5";
+       buildDepends = [ array base containers glib gtk mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtk-mac-integration ];
+       homepage = "http://www.haskell.org/gtk2hs/";
+       description = "Bindings for the Gtk/OS X integration library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { gtk-mac-integration = null;};
+
+  "gtk-serialized-event" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gtk, haskell98, mtl
+     }:
+     mkDerivation {
+       pname = "gtk-serialized-event";
+       version = "0.12.0";
+       sha256 = "0gh8kwd9758ws941xbxhrm3144pmnqln0md5r6vjbq7s1x54bsrf";
+       buildDepends = [ array base containers glib gtk haskell98 mtl ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/gtk2hs/";
+       description = "GTK+ Serialized event";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtk-simple-list-view" = callPackage
+    ({ mkDerivation, base, gtk }:
+     mkDerivation {
+       pname = "gtk-simple-list-view";
+       version = "0.0.0";
+       sha256 = "1qqfhaap2996015h3jkgg9j3hyxrh88wn6kba29ys0q1h35f8yws";
+       buildDepends = [ base gtk ];
+       homepage = "http://github.com/timthelion/gtk-simple-list-view";
+       description = "A simple custom form widget for gtk which allows single LOC creation/updating of list views";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "gtk-toggle-button-list" = callPackage
+    ({ mkDerivation, base, gtk }:
+     mkDerivation {
+       pname = "gtk-toggle-button-list";
+       version = "0.0.0";
+       sha256 = "14hb7nxf4l0q7hab8dzll8dh5ccb4hhc8arywijdgdrz4i2s2706";
+       buildDepends = [ base gtk ];
+       homepage = "http://github.com/timthelion/gtk-toggle-button-list";
+       description = "A simple custom form widget for gtk which allows single LOC creation/updating of toggle button lists";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "gtk-toy" = callPackage
+    ({ mkDerivation, base, containers, gtk }:
+     mkDerivation {
+       pname = "gtk-toy";
+       version = "0.2.0";
+       sha256 = "0zf3k0c5h5wcgkqr8np5kvgz4c9nha86k5whsn4f1wk0ikj98dfq";
+       buildDepends = [ base containers gtk ];
+       jailbreak = true;
+       description = "Convenient Gtk canvas with mouse and keyboard input";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtk-traymanager" = callPackage
+    ({ mkDerivation, base, glib, gtk, x11 }:
+     mkDerivation {
+       pname = "gtk-traymanager";
+       version = "0.1.5";
+       sha256 = "0hzl9pa5vx04vslb2visx35wwjagzzi1j5gyk5acy8pym8ly50hm";
+       buildDepends = [ base glib gtk ];
+       pkgconfigDepends = [ x11 ];
+       homepage = "http://github.com/travitch/gtk-traymanager";
+       description = "A wrapper around the eggtraymanager library for Linux system trays";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) x11;};
+
+  "gtk2hs-buildtools" = callPackage
+    ({ mkDerivation, alex, array, base, containers, directory, filepath
+     , happy, hashtables, pretty, process, random
+     }:
+     mkDerivation {
+       pname = "gtk2hs-buildtools";
+       version = "0.13.0.3";
+       sha256 = "1ijcmcjp8mralpzl1gvh24bzq8njlzkvck1r07b010rrklv04arp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath hashtables pretty process
+         random
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Tools to build the Gtk2Hs suite of User Interface libraries";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "gtk2hs-cast-glade" = callPackage
+    ({ mkDerivation, base, glade, gtk, gtk2hs-cast-glib, hint
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "gtk2hs-cast-glade";
+       version = "0.10.1.1";
+       sha256 = "0azyf3h53r5dqvz66bbvqk9qp418v0mq0yzd1ia6pc6d7ypknkx6";
+       buildDepends = [
+         base glade gtk gtk2hs-cast-glib hint template-haskell
+       ];
+       description = "A type class for cast functions of Gtk2hs: glade package";
+       license = "unknown";
+     }) {};
+
+  "gtk2hs-cast-glib" = callPackage
+    ({ mkDerivation, base, glib }:
+     mkDerivation {
+       pname = "gtk2hs-cast-glib";
+       version = "0.10.1.1";
+       sha256 = "1bsz1zyz2hxf07q6xr232aciwxl3819jklj16hqqbfjwm4mzn2mp";
+       buildDepends = [ base glib ];
+       description = "A type class for cast functions of Gtk2hs: glib package";
+       license = "unknown";
+     }) {};
+
+  "gtk2hs-cast-gnomevfs" = callPackage
+    ({ mkDerivation, base, gnomevfs, gtk2hs-cast-glib, gtk2hs-cast-th
+     , hint, template-haskell
+     }:
+     mkDerivation {
+       pname = "gtk2hs-cast-gnomevfs";
+       version = "0.10.1.2";
+       sha256 = "0fkrrsvagsn51rn0b16y8ac3fg509wrxqdfwsij9nbprcd8iz75g";
+       buildDepends = [
+         base gnomevfs gtk2hs-cast-glib gtk2hs-cast-th hint template-haskell
+       ];
+       description = "A type class for cast functions of Gtk2hs: gnomevfs package";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtk2hs-cast-gtk" = callPackage
+    ({ mkDerivation, base, gtk, gtk2hs-cast-glib, gtk2hs-cast-th, hint
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "gtk2hs-cast-gtk";
+       version = "0.10.1.2";
+       sha256 = "15d6c0mdd9nzpb310n19kyw0jqv019w17ncxxhg3wk90ckb43l3j";
+       buildDepends = [
+         base gtk gtk2hs-cast-glib gtk2hs-cast-th hint template-haskell
+       ];
+       description = "A type class for cast functions of Gtk2hs: gtk package";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtk2hs-cast-gtkglext" = callPackage
+    ({ mkDerivation, base, gtk2hs-cast-glib, gtk2hs-cast-th, gtkglext
+     , hint, template-haskell
+     }:
+     mkDerivation {
+       pname = "gtk2hs-cast-gtkglext";
+       version = "0.10.1.2";
+       sha256 = "05m4h8wh820mwiarrysa4fkxj14l90ky89kv24irpa3vw27xnsm9";
+       buildDepends = [
+         base gtk2hs-cast-glib gtk2hs-cast-th gtkglext hint template-haskell
+       ];
+       description = "A type class for cast functions of Gtk2hs: gtkglext package";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtk2hs-cast-gtksourceview2" = callPackage
+    ({ mkDerivation, base, gtk2hs-cast-glib, gtk2hs-cast-th
+     , gtksourceview2, hint, template-haskell
+     }:
+     mkDerivation {
+       pname = "gtk2hs-cast-gtksourceview2";
+       version = "0.10.1.2";
+       sha256 = "1fyca2kwjc4hk9jqshn9hzq4m7415kapdln1nv0rgxsd1iabjk81";
+       buildDepends = [
+         base gtk2hs-cast-glib gtk2hs-cast-th gtksourceview2 hint
+         template-haskell
+       ];
+       description = "A type class for cast functions of Gtk2hs: gtksourceview2 package";
+       license = "unknown";
+     }) {};
+
+  "gtk2hs-cast-th" = callPackage
+    ({ mkDerivation, base, hint, template-haskell }:
+     mkDerivation {
+       pname = "gtk2hs-cast-th";
+       version = "0.10.1.0";
+       sha256 = "19a7qb0dlfqw22fz7m94xyzbssvia106wlvy3brag5nhfza833px";
+       buildDepends = [ base hint template-haskell ];
+       description = "A type class for cast functions of Gtk2hs: TH package";
+       license = "unknown";
+     }) {};
+
+  "gtk2hs-hello" = callPackage
+    ({ mkDerivation, base, glib, gtk3, transformers }:
+     mkDerivation {
+       pname = "gtk2hs-hello";
+       version = "1.1.0.0";
+       sha256 = "0km86yd8wkn85x8xr326a8pzrfmbrf0cpf6zz3sggk3kn4jrmbj4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base glib gtk3 transformers ];
+       homepage = "http://www.haskell.org/hello/";
+       description = "Gtk2Hs Hello World, an example package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "gtk2hs-rpn" = callPackage
+    ({ mkDerivation, base, cairo, glib, gtk, mtl }:
+     mkDerivation {
+       pname = "gtk2hs-rpn";
+       version = "0.2.1";
+       sha256 = "01wikd60b48qcz6vk31kwfkpkf2za5laxbhdyns45s90lvr98rvi";
+       buildDepends = [ base cairo glib gtk mtl ];
+       jailbreak = true;
+       description = "Adds a module to gtk2hs allowing layouts to be defined using reverse polish notation";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtk3" = callPackage
+    ({ mkDerivation, array, base, bytestring, cairo, containers, gio
+     , glib, gtk2hs-buildtools, gtk3, mtl, pango, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gtk3";
+       version = "0.13.6";
+       sha256 = "12fsbl56gf8inxvg7jqad2j689gpwp4bwznyz153y6xzgqs7vaq0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cairo containers gio glib mtl pango text time
+         transformers
+       ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtk3 ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Gtk+ graphical user interface library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { gtk3 = null;};
+
+  "gtk3-mac-integration" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gtk-mac-integration
+     , gtk2hs-buildtools, gtk3, mtl
+     }:
+     mkDerivation {
+       pname = "gtk3-mac-integration";
+       version = "0.3.0.2";
+       sha256 = "0fsgcy5vwdcy7mf57w6axqa7804w0729mbzb7gvf4wh25k2i2xhp";
+       buildDepends = [ array base containers glib gtk3 mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtk-mac-integration ];
+       homepage = "http://www.haskell.org/gtk2hs/";
+       description = "Bindings for the Gtk/OS X integration library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { gtk-mac-integration = null;};
+
+  "gtkglext" = callPackage
+    ({ mkDerivation, base, glib, gtk, gtk2hs-buildtools, gtkglext
+     , pango, pangox_compat
+     }:
+     mkDerivation {
+       pname = "gtkglext";
+       version = "0.12.5.0";
+       sha256 = "1xhalcb85cpswdpqxx64fxpmyqq7iakgaczjrbr25fp0h1glshhk";
+       buildDepends = [ base glib gtk pango ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtkglext pangox_compat ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the GTK+ OpenGL Extension";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.gnome) gtkglext;
+          inherit (pkgs) pangox_compat;};
+
+  "gtkimageview" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gtk
+     , gtk2hs-buildtools, gtkimageview, haskell98, mtl
+     }:
+     mkDerivation {
+       pname = "gtkimageview";
+       version = "0.12.0";
+       sha256 = "0sdfb7gmgqh4dkc0a39abx84x7j7zs5z1l62nfzz22wsx1h641j3";
+       buildDepends = [ array base containers glib gtk haskell98 mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtkimageview ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/gtk2hs/";
+       description = "Binding to the GtkImageView library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) gtkimageview;};
+
+  "gtkrsync" = callPackage
+    ({ mkDerivation, base, gconf, glade, gtk, MissingH, process
+     , regex-posix, unix
+     }:
+     mkDerivation {
+       pname = "gtkrsync";
+       version = "1.0.4";
+       sha256 = "0z7mwgmjpbmj2949bfrragyjr6s38vv9sz8zpy63ss9h7b5xn4xw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base gconf glade gtk MissingH process regex-posix unix
+       ];
+       homepage = "http://hg.complete.org/gtkrsync";
+       description = "Gnome rsync progress display";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gtksourceview2" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gtk
+     , gtk2hs-buildtools, gtksourceview, mtl, text
+     }:
+     mkDerivation {
+       pname = "gtksourceview2";
+       version = "0.13.1.3";
+       sha256 = "1ji8sfkjggjxl4yrazm6n8gp74hlh3h28kjc9nfxka062bjmxfhf";
+       buildDepends = [ array base containers glib gtk mtl text ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtksourceview ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the GtkSourceView library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs.gnome) gtksourceview;};
+
+  "gtksourceview3" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gtk2hs-buildtools
+     , gtk3, gtksourceview, mtl, text
+     }:
+     mkDerivation {
+       pname = "gtksourceview3";
+       version = "0.13.1.3";
+       sha256 = "1h23wy26mjivr4wmdscsnjzsija1g560a1bgcxvmrl4k1x9799d0";
+       buildDepends = [ array base containers glib gtk3 mtl text ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gtksourceview ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the GtkSourceView library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs.gnome) gtksourceview;};
+
+  "guarded-rewriting" = callPackage
+    ({ mkDerivation, base, instant-generics }:
+     mkDerivation {
+       pname = "guarded-rewriting";
+       version = "0.1";
+       sha256 = "04396pd4c4yqpw6ai5ciigva9l3acdz7yn4d5hvyks52khv5fsf9";
+       buildDepends = [ base instant-generics ];
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/GuardedRewriting";
+       description = "Datatype-generic rewriting with preconditions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "guess-combinator" = callPackage
+    ({ mkDerivation, base, HList }:
+     mkDerivation {
+       pname = "guess-combinator";
+       version = "0.1.1";
+       sha256 = "1xaj8zl6cbgks3r0asbnkz1ixq1hlglpjxdymj6ikyjq955sxmzj";
+       buildDepends = [ base HList ];
+       homepage = "http://code.atnnn.com/project/guess";
+       description = "Generate simple combinators given their type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "gulcii" = callPackage
+    ({ mkDerivation, base, cairo, containers, filepath, gtk }:
+     mkDerivation {
+       pname = "gulcii";
+       version = "0.2.0.3";
+       sha256 = "0g86vgy0fhvmqvg1v1hxn6vrdcbq0n69fa0ysxvw7126ijrm5l29";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cairo containers filepath gtk ];
+       homepage = "http://code.mathr.co.uk/gulcii";
+       description = "graphical untyped lambda calculus interactive interpreter";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "gutenberg-fibonaccis" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "gutenberg-fibonaccis";
+       version = "1.1.0";
+       sha256 = "0vvzlfnvh9r9jqf7v83d0piqpvl40sg0mswf9f41vncgzg0z79v2";
+       buildDepends = [ base ];
+       homepage = "https://github.com/justinhanekom/gutenberg-fibonaccis";
+       description = "The first 1001 Fibonacci numbers, retrieved from the Gutenberg Project";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "h-booru" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , http-conduit, hxt, mtl, stm, template-haskell, transformers
+     , utf8-string, vinyl
+     }:
+     mkDerivation {
+       pname = "h-booru";
+       version = "0.3.0.0";
+       sha256 = "0v2mcf35j4dr32j9n6rx10h7mx9d9f14bh70yphj01laxg240746";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath http-conduit hxt mtl
+         stm template-haskell transformers utf8-string vinyl
+       ];
+       homepage = "https://github.com/Fuuzetsu/h-booru";
+       description = "Haskell library for retrieving data from various booru image sites";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "h-gpgme" = callPackage
+    ({ mkDerivation, base, bindings-gpgme, bytestring, either, HUnit
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, time
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "h-gpgme";
+       version = "0.3.0.0";
+       sha256 = "172awh918zldbivnn8jy24r30mxppgjvn2bz52phjxln02kcpm3x";
+       buildDepends = [ base bindings-gpgme bytestring either time unix ];
+       testDepends = [
+         base bindings-gpgme bytestring either HUnit QuickCheck tasty
+         tasty-hunit tasty-quickcheck time transformers unix
+       ];
+       homepage = "https://github.com/rethab/h-gpgme";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "h2048" = callPackage
+    ({ mkDerivation, base, HUnit, MonadRandom, mtl, text, transformers
+     , vty, vty-ui
+     }:
+     mkDerivation {
+       pname = "h2048";
+       version = "0.2.0.1";
+       sha256 = "1s8r476bhvmhpj914n4sjsa1z6dgf26m872rpzhlsyhw1rsxgcfr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base MonadRandom mtl text transformers vty vty-ui
+       ];
+       testDepends = [ base HUnit MonadRandom mtl transformers ];
+       homepage = "https://github.com/Javran/h2048";
+       description = "a haskell implementation of Game 2048";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hArduino" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, serialport
+     , time
+     }:
+     mkDerivation {
+       pname = "hArduino";
+       version = "0.9";
+       sha256 = "03wq0c9aqv3n27zcm74l2df75z3sr7kvyszgs0m2sn2680izl024";
+       buildDepends = [ base bytestring containers mtl serialport time ];
+       homepage = "http://leventerkok.github.com/hArduino";
+       description = "Control your Arduino board from Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hBDD" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hBDD";
+       version = "0.0.2";
+       sha256 = "15pq6r8kz7ki1siz9xihd85qck9gnkp17cdz331srgr5kzij3lgv";
+       buildDepends = [ base ];
+       description = "An abstraction layer for BDD libraries";
+       license = "LGPL";
+     }) {};
+
+  "hBDD-CUDD" = callPackage
+    ({ mkDerivation, base, c2hs, containers, cudd, deepseq, epd, hBDD
+     , mtr, st, unix, util
+     }:
+     mkDerivation {
+       pname = "hBDD-CUDD";
+       version = "0.0.2";
+       sha256 = "0rjfycxnhwwylpdb5sm4kqzypfbigzmx6azrs44sixmkq0cv5yb4";
+       buildDepends = [ base containers deepseq hBDD unix ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ cudd epd mtr st util ];
+       description = "An FFI binding to the CUDD library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { cudd = null;  epd = null;  inherit (pkgs) mtr;
+          inherit (pkgs) st;  util = null;};
+
+  "hCsound" = callPackage
+    ({ mkDerivation, base, c2hs, csound64, libsndfile, monads-tf
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "hCsound";
+       version = "0.4.2";
+       sha256 = "0z4zcf70jplm68k69kigj0kfx78r00y6fx6rjymzpvpbhppmyyd2";
+       buildDepends = [ base monads-tf transformers vector ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ csound64 libsndfile ];
+       description = "interface to CSound API";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { csound64 = null;  inherit (pkgs) libsndfile;};
+
+  "hDFA" = callPackage
+    ({ mkDerivation, base, containers, directory, process }:
+     mkDerivation {
+       pname = "hDFA";
+       version = "0.0.2";
+       sha256 = "1ays1qy2zsl3h49ryr2y9dymfv1ak1m1d0jvarmqwg3nb49armhm";
+       buildDepends = [ base containers directory process ];
+       description = "A simple library for representing and minimising DFAs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hF2" = callPackage
+    ({ mkDerivation, base, cereal, vector }:
+     mkDerivation {
+       pname = "hF2";
+       version = "0.2";
+       sha256 = "1y0731fsay2dp9m4b94w15m054vqsnnafz4k8jjqjvvrmwyfgicz";
+       buildDepends = [ base cereal vector ];
+       description = "F(2^e) math for cryptography";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hGelf" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, network, old-time
+     , pureMD5, QuickCheck, text, time, zlib
+     }:
+     mkDerivation {
+       pname = "hGelf";
+       version = "0.1";
+       sha256 = "0jkgf0sm8xv204hrzpkplccfq88y5xyrm8y2b5gjfp473872jqxw";
+       buildDepends = [
+         aeson base bytestring cereal network old-time pureMD5 QuickCheck
+         text time zlib
+       ];
+       description = "Haskell GELF library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hMollom" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, Crypto
+     , dataenc, ghc-prim, HTTP, mtl, old-locale, old-time, pureMD5
+     , random, time
+     }:
+     mkDerivation {
+       pname = "hMollom";
+       version = "0.4.0";
+       sha256 = "1grhkvmcdyi7gmmcqfqi3n78p4gbimzxa4mylj1f0j8iy5iycmg5";
+       buildDepends = [
+         aeson attoparsec base bytestring Crypto dataenc ghc-prim HTTP mtl
+         old-locale old-time pureMD5 random time
+       ];
+       homepage = "http://github.com/itkovian/hMollom";
+       description = "Library to interact with the @Mollom anti-spam service";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hOpenPGP" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bifunctors, binary, binary-conduit, byteable, bytestring, bzlib
+     , conduit, conduit-extra, containers, crypto-cipher-types
+     , crypto-pubkey, crypto-random, cryptocipher, cryptohash
+     , data-default-class, errors, hashable, incremental-parser, ixset
+     , lens, monad-loops, nettle, network, network-uri, newtype
+     , old-locale, openpgp-asciiarmor, QuickCheck, quickcheck-instances
+     , resourcet, securemem, semigroups, split, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, unordered-containers
+     , wl-pprint-extras, zlib
+     }:
+     mkDerivation {
+       pname = "hOpenPGP";
+       version = "2.0";
+       sha256 = "1krk1019d0ix4ix0qh55l4pzgbggl151vqgd0jbhdcbkmvhfi4xv";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring bifunctors binary
+         binary-conduit byteable bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types crypto-pubkey crypto-random
+         cryptocipher cryptohash data-default-class errors hashable
+         incremental-parser ixset lens monad-loops nettle network
+         network-uri newtype old-locale openpgp-asciiarmor resourcet
+         securemem semigroups split text time transformers
+         unordered-containers wl-pprint-extras zlib
+       ];
+       testDepends = [
+         aeson attoparsec base bifunctors binary binary-conduit byteable
+         bytestring bzlib conduit conduit-extra containers
+         crypto-cipher-types crypto-pubkey crypto-random cryptocipher
+         cryptohash data-default-class errors hashable incremental-parser
+         ixset lens monad-loops nettle network network-uri newtype
+         old-locale QuickCheck quickcheck-instances resourcet securemem
+         semigroups split tasty tasty-hunit tasty-quickcheck text time
+         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;
+     }) {};
+
+  "hPDB" = callPackage
+    ({ mkDerivation, AC-Vector, base, bytestring, containers, deepseq
+     , directory, ghc-prim, iterable, mmap, mtl, Octree, parallel
+     , QuickCheck, tagged, template-haskell, text, vector, zlib
+     }:
+     mkDerivation {
+       pname = "hPDB";
+       version = "1.2.0.2";
+       sha256 = "0mymyvd9p63sf3801bn2pyihj47fymp8wwfbllhbvw2l92hy79vk";
+       buildDepends = [
+         AC-Vector base bytestring containers deepseq directory ghc-prim
+         iterable mmap mtl Octree parallel QuickCheck tagged
+         template-haskell text vector zlib
+       ];
+       homepage = "https://github.com/BioHaskell/hPDB";
+       description = "Protein Databank file format library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hPDB-examples" = callPackage
+    ({ mkDerivation, AC-Vector, base, bytestring, containers, deepseq
+     , directory, ghc-prim, GLUT, hPDB, IfElse, iterable, mtl, Octree
+     , OpenGL, process, QuickCheck, template-haskell, text, text-format
+     , time, vector
+     }:
+     mkDerivation {
+       pname = "hPDB-examples";
+       version = "1.2.0.1";
+       sha256 = "0ppwbm0ag9dd5rzpvzk89c4ykwkgvwz9fg6d3lr9vwfid15a116s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         AC-Vector base bytestring containers deepseq directory ghc-prim
+         GLUT hPDB iterable mtl Octree OpenGL QuickCheck template-haskell
+         text text-format vector
+       ];
+       testDepends = [
+         AC-Vector base bytestring containers deepseq directory ghc-prim
+         hPDB IfElse iterable mtl process template-haskell text time vector
+       ];
+       homepage = "https://github.com/BioHaskell/hPDB-examples";
+       description = "Examples for hPDB library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hPushover" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, network
+     , text
+     }:
+     mkDerivation {
+       pname = "hPushover";
+       version = "0.2";
+       sha256 = "14k3sdy2c0anfsw0hdir0l107ixlsnr90miwxrxdsckh40kz3ad3";
+       buildDepends = [ aeson base bytestring http-conduit network text ];
+       homepage = "tot";
+       description = "Pushover.net API functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hR" = callPackage
+    ({ mkDerivation, array, base, containers, unix }:
+     mkDerivation {
+       pname = "hR";
+       version = "0.1.1";
+       sha256 = "1kc03mgsxijszdvxw4qwq4fnd0ln61v08rk9y1k6kx9vyqc7bilc";
+       buildDepends = [ array base containers unix ];
+       description = "R bindings and interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hRESP" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "hRESP";
+       version = "0.1.0.0";
+       sha256 = "188rs1g2yacka8c4wbqkhwjrin95f3ribm8007lqsxiapaj1d89y";
+       buildDepends = [ attoparsec base bytestring ];
+       homepage = "https://github.com/yihuang/hresp";
+       description = "haskell implementation of RESP (REdis Serialization Protocol)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hS3" = callPackage
+    ({ mkDerivation, base, bytestring, Crypto, dataenc, HTTP, hxt
+     , MissingH, network, network-uri, old-locale, old-time, random
+     , regex-compat, utf8-string
+     }:
+     mkDerivation {
+       pname = "hS3";
+       version = "0.5.9";
+       sha256 = "0nf71jb15gkkcrb0x83mmql6j55c6dnz3bl3yq1grphwn0jbmq3y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Crypto dataenc HTTP hxt MissingH network
+         network-uri old-locale old-time random regex-compat utf8-string
+       ];
+       homepage = "http://gregheartsfield.com/hS3/";
+       description = "Interface to Amazon's Simple Storage Service (S3)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hSimpleDB" = callPackage
+    ({ mkDerivation, base, bytestring, Crypto, dataenc, HTTP, hxt
+     , network, old-locale, old-time, utf8-string
+     }:
+     mkDerivation {
+       pname = "hSimpleDB";
+       version = "0.3";
+       sha256 = "045mgg2b7wmkcziil8njb2wsy8pgzqcc46dwdrabxgbw1nzsfkaa";
+       buildDepends = [
+         base bytestring Crypto dataenc HTTP hxt network old-locale old-time
+         utf8-string
+       ];
+       jailbreak = true;
+       description = "Interface to Amazon's SimpleDB service";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hTalos" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "hTalos";
+       version = "0.2";
+       sha256 = "05l9nlrwpb9gwgj8z48paxx46lkasa82naiq7armi98salk1a9ip";
+       buildDepends = [ base bytestring ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/mgajda/hTalos";
+       description = "Parser, print and manipulate structures in PDB file format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hTensor" = callPackage
+    ({ mkDerivation, base, containers, hmatrix, random }:
+     mkDerivation {
+       pname = "hTensor";
+       version = "0.8.2";
+       sha256 = "1nwzh68v2b11lph64432bjdrpxrr62cv4hdh935wml13mac3l2ly";
+       buildDepends = [ base containers hmatrix random ];
+       homepage = "http://perception.inf.um.es/tensor";
+       description = "Multidimensional arrays and simple tensor computations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hVOIDP" = callPackage
+    ({ mkDerivation, array, base, blas, hmatrix, lapack }:
+     mkDerivation {
+       pname = "hVOIDP";
+       version = "1.0.2";
+       sha256 = "0r9a461k1rr0j9zgjfq1z37i6blv9rqf8pzb984h1nmlfqpnidnc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base hmatrix ];
+       extraLibraries = [ blas lapack ];
+       homepage = "http://dslsrv4.cs.missouri.edu/~qqbm9";
+       description = "Optimal variable selection in chain graphical model";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) blas;  lapack = null;};
+
+  "haar" = callPackage
+    ({ mkDerivation, base, QuickCheck, split, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "haar";
+       version = "0.1";
+       sha256 = "1xmz659lqr25c0xxkmly5w4fxgk9rqnms2sknd5ab8czqdgq6n1v";
+       buildDepends = [ base split ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/mhwombat/haar";
+       description = "Haar wavelet transforms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hacanon-light" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "hacanon-light";
+       version = "2008.10.28";
+       sha256 = "0m0wfg74kmpz6ydldz5h9z5xd54957v1rprl9wal9sjr0pzl28a7";
+       buildDepends = [ base mtl template-haskell ];
+       description = "Template Haskell framework for automatic FFI code generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack" = callPackage
+    ({ mkDerivation, base, bytestring, data-default }:
+     mkDerivation {
+       pname = "hack";
+       version = "2012.2.6";
+       sha256 = "0wrfa9fa6skl985fi2a6iv4m8kchg87w9x3k37nf3l8vaz95jmdr";
+       buildDepends = [ base bytestring data-default ];
+       homepage = "http://github.com/nfjinjing/hack/tree/master";
+       description = "a Haskell Webserver Interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack-contrib" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, cgi, containers
+     , data-default, directory, filepath, hack, haskell98, mps, network
+     , old-locale, old-time, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "hack-contrib";
+       version = "2010.9.28";
+       sha256 = "1r0g8fcwz6r4vrsadjyb5awjmfbqsskmc1c8xkfwv0knak1qq2p1";
+       buildDepends = [
+         ansi-wl-pprint base bytestring cgi containers data-default
+         directory filepath hack haskell98 mps network old-locale old-time
+         time utf8-string
+       ];
+       homepage = "http://github.com/nfjinjing/hack-contrib";
+       description = "Hack contrib";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-contrib-press" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-class, containers
+     , hack, json, mtl, parsec, press
+     }:
+     mkDerivation {
+       pname = "hack-contrib-press";
+       version = "0.1.2";
+       sha256 = "12v7xw448cxl93bnbzqkinlij74flffpif0x5jd51sndvpgsh12r";
+       buildDepends = [
+         base bytestring bytestring-class containers hack json mtl parsec
+         press
+       ];
+       homepage = "http://github.com/bickfordb/hack-contrib-press";
+       description = "Hack helper that renders Press templates";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-frontend-happstack" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hack
+     , happstack-server, network, utf8-string
+     }:
+     mkDerivation {
+       pname = "hack-frontend-happstack";
+       version = "2009.6.24.1";
+       sha256 = "1x4kaj4nk5lrgsm6pfxr6f8rvjyxhy0agqv9f810xh6s1r9pihw1";
+       buildDepends = [
+         base bytestring containers hack happstack-server network
+         utf8-string
+       ];
+       homepage = "http://github.com/nfjinjing/hack/tree/master";
+       description = "hack-frontend-happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-frontend-monadcgi" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, containers, hack }:
+     mkDerivation {
+       pname = "hack-frontend-monadcgi";
+       version = "0.0.3.1";
+       sha256 = "0m0af44jv03djn5i2lgrnnvvcdqx44qppfx76m1bwr7gv1vzm432";
+       buildDepends = [ base bytestring cgi containers hack ];
+       description = "Allows programs written against MonadCGI to run with any hack handler. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-handler-cgi" = callPackage
+    ({ mkDerivation, base, bytestring, hack }:
+     mkDerivation {
+       pname = "hack-handler-cgi";
+       version = "0.2.0.2";
+       sha256 = "0pm8vs94dbaahqrdwfffwa1jb9ghyjnq48sirlw1dj2gcsa3np2x";
+       buildDepends = [ base bytestring hack ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/hack-handler-cgi/tree/master";
+       description = "Hack handler using CGI protocol. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack-handler-epoll" = callPackage
+    ({ mkDerivation, base, containers, data-default, epoll, failure
+     , hack, HTTP, network, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "hack-handler-epoll";
+       version = "0.1.3";
+       sha256 = "0q4cw789x8c93y53lwhr7g0hkli8x6qb9k0cg5pxln6cxxvi9p82";
+       buildDepends = [
+         base containers data-default epoll failure hack HTTP network unix
+         utf8-string
+       ];
+       homepage = "http://github.com/twittner/hack-handler-epoll/";
+       description = "hack handler implementation using epoll";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-handler-evhttp" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-class, containers
+     , data-default, event, hack, hack-contrib, network
+     }:
+     mkDerivation {
+       pname = "hack-handler-evhttp";
+       version = "2009.8.4";
+       sha256 = "1a09ls9jgakdx8ya6zd5z3ss2snb4pp0db1573hzmrhr37i2gklz";
+       buildDepends = [
+         base bytestring bytestring-class containers data-default hack
+         hack-contrib network
+       ];
+       extraLibraries = [ event ];
+       homepage = "http://github.com/bickfordb/hack-handler-evhttp";
+       description = "Hack EvHTTP (libevent) Handler";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { event = null;};
+
+  "hack-handler-fastcgi" = callPackage
+    ({ mkDerivation, base, bytestring, fcgi, hack, hack-handler-cgi }:
+     mkDerivation {
+       pname = "hack-handler-fastcgi";
+       version = "0.2.0.1";
+       sha256 = "02slh33r9qy8q0vpi4s4vvf5lmb14ypk8bixdicvxakahjvxhanr";
+       buildDepends = [ base bytestring hack hack-handler-cgi ];
+       extraLibraries = [ fcgi ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/hack-handler-fastcgi/tree/master";
+       description = "Hack handler direct to fastcgi (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) fcgi;};
+
+  "hack-handler-happstack" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, containers, data-default
+     , hack, happstack-server, mtl, network
+     }:
+     mkDerivation {
+       pname = "hack-handler-happstack";
+       version = "2009.12.20";
+       sha256 = "10b3cp1gap59ialfl33dwhzw50nwrqg49zvv0v813q7rqk3nkhg4";
+       buildDepends = [
+         base bytestring cgi containers data-default hack happstack-server
+         mtl network
+       ];
+       homepage = "http://github.com/nfjinjing/hack-handler-happstack";
+       description = "Hack Happstack server handler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-handler-hyena" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, hack
+     , hyena, network
+     }:
+     mkDerivation {
+       pname = "hack-handler-hyena";
+       version = "2010.3.15";
+       sha256 = "1p0zyki1iapz2xncq0l5bbas44pk5kb29kbb3bdxb4anb0m5jb2q";
+       buildDepends = [
+         base bytestring containers data-default hack hyena network
+       ];
+       homepage = "http://github.com/nfjinjing/hack-handler-hyena";
+       description = "Hyena hack handler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-handler-kibro" = callPackage
+    ({ mkDerivation, base, cgi, data-default, hack, kibro, network }:
+     mkDerivation {
+       pname = "hack-handler-kibro";
+       version = "2009.5.27";
+       sha256 = "0py30rp7r4hrazrfq3avpqcp1w8405pyfw1yxz7msb58yjppa792";
+       buildDepends = [ base cgi data-default hack kibro network ];
+       homepage = "http://github.com/nfjinjing/hack/tree/master";
+       description = "Hack Kibro handler";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-handler-simpleserver" = callPackage
+    ({ mkDerivation, base, bytestring, failure, hack, network
+     , web-encodings
+     }:
+     mkDerivation {
+       pname = "hack-handler-simpleserver";
+       version = "0.2.2";
+       sha256 = "1p7igprgxkzkqhsy5n2qci75dbx2qxs1dcq8krghwj3isl6wds3y";
+       buildDepends = [
+         base bytestring failure hack network web-encodings
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/hack-handler-simpleserver/tree/master";
+       description = "A simplistic HTTP server handler for Hack. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-middleware-cleanpath" = callPackage
+    ({ mkDerivation, base, bytestring, hack, split, web-encodings }:
+     mkDerivation {
+       pname = "hack-middleware-cleanpath";
+       version = "0.0.1.1";
+       sha256 = "0107ajkiwkn33h56dz576y4dxl0sr2lkkcmjy6f9s2nzqp9ibin4";
+       buildDepends = [ base bytestring hack split web-encodings ];
+       homepage = "http://github.com/snoyberg/hack-middleware-cleanpath/tree/master";
+       description = "Applies some basic redirect rules to get cleaner paths. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack-middleware-clientsession" = callPackage
+    ({ mkDerivation, base, clientsession, hack, old-locale, predicates
+     , time, web-encodings
+     }:
+     mkDerivation {
+       pname = "hack-middleware-clientsession";
+       version = "0.0.1.1";
+       sha256 = "0h4l2lvshf9cqg43az9alq4rybhr4k07mhrila4fx7yjxslw871f";
+       buildDepends = [
+         base clientsession hack old-locale predicates time web-encodings
+       ];
+       homepage = "http://github.com/snoyberg/hack-middleware-clientsession/tree/master";
+       description = "Middleware for easily keeping session data in client cookies. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack-middleware-gzip" = callPackage
+    ({ mkDerivation, base, hack, split, zlib }:
+     mkDerivation {
+       pname = "hack-middleware-gzip";
+       version = "0.0.0.1";
+       sha256 = "1x7526939h7g44yyscyk324gdb40cryyiffh13iinf8aw1rach70";
+       buildDepends = [ base hack split zlib ];
+       homepage = "http://github.com/snoyberg/hack-middleware-gzip/tree/master";
+       description = "Automatic gzip compression of responses. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack-middleware-jsonp" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-class, hack
+     , web-encodings
+     }:
+     mkDerivation {
+       pname = "hack-middleware-jsonp";
+       version = "0.0.2.1";
+       sha256 = "0g7l441s0065f5dw2rj82m547nnc1i7cclx81kvgbpbi8q6hz0iw";
+       buildDepends = [
+         base bytestring bytestring-class hack web-encodings
+       ];
+       homepage = "http://github.com/snoyberg/hack-middleware-jsonp/tree/master";
+       description = "Automatic wrapping of JSON responses to convert into JSONP. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack2" = callPackage
+    ({ mkDerivation, base, bytestring, data-default }:
+     mkDerivation {
+       pname = "hack2";
+       version = "2014.11.17";
+       sha256 = "1b6jzdisv58scyzb9pxhqrnz74sy0j96jkbbnf84wccwbwn4rf28";
+       buildDepends = [ base bytestring data-default ];
+       homepage = "https://github.com/nfjinjing/hack2";
+       description = "a Haskell Webserver Interface (V2)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack2-contrib" = callPackage
+    ({ mkDerivation, air, base, bytestring, containers, data-default
+     , directory, filepath, hack2, network-uri, old-locale, text, time
+     }:
+     mkDerivation {
+       pname = "hack2-contrib";
+       version = "2014.11.17";
+       sha256 = "1fjk86r1lh77r729qgaj664swq07fqz4pafm99xfzy3xwvbfx5lx";
+       buildDepends = [
+         air base bytestring containers data-default directory filepath
+         hack2 network-uri old-locale text time
+       ];
+       homepage = "https://github.com/nfjinjing/hack2-contrib";
+       description = "Hack2 contrib";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack2-contrib-extra" = callPackage
+    ({ mkDerivation, air, air-extra, base, bytestring, cgi, containers
+     , data-default, directory, filepath, hack2, hack2-contrib, network
+     , old-locale, old-time, time
+     }:
+     mkDerivation {
+       pname = "hack2-contrib-extra";
+       version = "2014.12.20";
+       sha256 = "1mxgvlr593cw523mknr5bcwf55544q04cz0nlpzgm5bg3336b5wl";
+       buildDepends = [
+         air air-extra base bytestring cgi containers data-default directory
+         filepath hack2 hack2-contrib network old-locale old-time time
+       ];
+       homepage = "https://github.com/nfjinjing/hack2-contrib";
+       description = "Hack2 contrib extra";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack2-handler-happstack-server" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, containers, data-default
+     , enumerator, hack2, happstack-server, mtl, network
+     }:
+     mkDerivation {
+       pname = "hack2-handler-happstack-server";
+       version = "2011.6.20";
+       sha256 = "115nrzf0626pc716n01qjhxs44c1awdd4q1c8kbax025cwac7kpx";
+       buildDepends = [
+         base bytestring cgi containers data-default enumerator hack2
+         happstack-server mtl network
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/nfjinjing/hack2-handler-happstack-server";
+       description = "Hack2 Happstack server handler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack2-handler-mongrel2-http" = callPackage
+    ({ mkDerivation, aeson, air, attoparsec, base, blaze-builder
+     , blaze-textual, bytestring, containers, data-default, directory
+     , enumerator, hack2, mtl, network, safe, stm, text, unix
+     , zeromq-haskell
+     }:
+     mkDerivation {
+       pname = "hack2-handler-mongrel2-http";
+       version = "2011.10.31";
+       sha256 = "1pymar803n696yx3dwqpfwqlkg93ncff162p26mrs7iqn14v851w";
+       buildDepends = [
+         aeson air attoparsec base blaze-builder blaze-textual bytestring
+         containers data-default directory enumerator hack2 mtl network safe
+         stm text unix zeromq-haskell
+       ];
+       homepage = "https://github.com/nfjinjing/hack2-handler-mongrel2-http";
+       description = "Hack2 Mongrel2 HTTP handler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack2-handler-snap-server" = callPackage
+    ({ mkDerivation, air, base, blaze-builder, bytestring
+     , case-insensitive, containers, data-default, directory, enumerator
+     , hack2, mtl, network, snap-core, snap-server
+     }:
+     mkDerivation {
+       pname = "hack2-handler-snap-server";
+       version = "2015.3.9";
+       sha256 = "1qs5mncl44p410ni8hbpgvmv81158z62mcg66fmnnlrkwdr1bbh7";
+       buildDepends = [
+         air base blaze-builder bytestring case-insensitive containers
+         data-default directory enumerator hack2 mtl network snap-core
+         snap-server
+       ];
+       homepage = "https://github.com/nfjinjing/hack2-handler-snap-server";
+       description = "Hack2 Snap server handler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hack2-handler-warp" = callPackage
+    ({ mkDerivation, air, base, data-default, hack2
+     , hack2-interface-wai, warp
+     }:
+     mkDerivation {
+       pname = "hack2-handler-warp";
+       version = "2012.5.25";
+       sha256 = "1p0lkhf95xkllfpcb9yibpa1rkam90bccmzj2aa60shd7v9qx9r5";
+       buildDepends = [
+         air base data-default hack2 hack2-interface-wai warp
+       ];
+       homepage = "https://github.com/nfjinjing/hack2-handler-warp";
+       description = "Hack2 warp handler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hack2-interface-wai" = callPackage
+    ({ mkDerivation, air, base, bytestring, case-insensitive
+     , containers, data-default, hack2, http-types, mtl, network, safe
+     , wai
+     }:
+     mkDerivation {
+       pname = "hack2-interface-wai";
+       version = "2012.5.25";
+       sha256 = "18yyvb38axz18ac2q9z31qmqjd3d9yrzsgiv11wbf8ccdp2irm5w";
+       buildDepends = [
+         air base bytestring case-insensitive containers data-default hack2
+         http-types mtl network safe wai
+       ];
+       homepage = "https://github.com/nfjinjing/hack2-interface-wai";
+       description = "Hack2 interface of WAI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackage-db" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, tar, utf8-string
+     }:
+     mkDerivation {
+       pname = "hackage-db";
+       version = "1.22";
+       revision = "1";
+       sha256 = "0rhh7w4929zkwzv10ika952yiw4dkffqd8f79f1bl76lz1la6cjd";
+       editedCabalFile = "b5277a8cbbfcfba81f29db4910003c2fa7e34c06bceb4f3e7318510e1ce74376";
+       buildDepends = [
+         base bytestring Cabal containers directory filepath tar utf8-string
+       ];
+       homepage = "http://github.com/peti/hackage-db";
+       description = "access Hackage's package database via Data.Map";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hackage-diff" = callPackage
+    ({ mkDerivation, ansi-terminal, async, attoparsec, base, Cabal
+     , cpphs, directory, filepath, haskell-src-exts, HTTP, mtl, process
+     , text
+     }:
+     mkDerivation {
+       pname = "hackage-diff";
+       version = "0.1.0.0";
+       sha256 = "0kdc7ah1mn6xcaan56li9k7ccrcsjz3ysi04fp334l57kd3i105z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal async attoparsec base Cabal cpphs directory filepath
+         haskell-src-exts HTTP mtl process text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/blitzcode/hackage-diff";
+       description = "Compare the public API of different versions of a Hackage library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackage-mirror" = callPackage
+    ({ mkDerivation, aws, base, bytestring, cereal, conduit
+     , conduit-extra, cryptohash, data-default, directory, exceptions
+     , fast-logger, filepath, http-conduit, lifted-async, lifted-base
+     , mmorph, monad-control, monad-logger, old-locale
+     , optparse-applicative, resourcet, retry, shakespeare, stm, tar
+     , template-haskell, temporary, text, thyme, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "hackage-mirror";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "1iaaxdn4lsfrjksax8c9pawrjwj4sb6irqd4sfkdm3k9l2f8nqvg";
+       editedCabalFile = "848ea26073e706a9303ec1baf811a74b65859ae649731a3b799b4fb8c558c1bc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aws base bytestring cereal conduit conduit-extra cryptohash
+         data-default directory exceptions fast-logger filepath http-conduit
+         lifted-async lifted-base mmorph monad-control monad-logger
+         old-locale optparse-applicative resourcet retry shakespeare stm tar
+         template-haskell temporary text thyme transformers
+         unordered-containers
+       ];
+       homepage = "http://fpcomplete.com";
+       description = "Simple mirroring utility for Hackage";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hackage-plot" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , download-curl, filepath, gnuplot, old-locale, old-time, parsedate
+     }:
+     mkDerivation {
+       pname = "hackage-plot";
+       version = "0.2.1";
+       sha256 = "11vlnmadnjz1q4iw4ay8gh1yclba7550mnxwakdryakws5v75am1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory download-curl filepath gnuplot
+         old-locale old-time parsedate
+       ];
+       homepage = "http://code.haskell.org/~dons/code/hackage-plot";
+       description = "Generate cumulative graphs of hackage uploads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hackage-proxy" = callPackage
+    ({ mkDerivation, base, basic-prelude, blaze-builder, bytestring
+     , Cabal, case-insensitive, conduit, containers, filepath
+     , http-client, http-client-conduit, http-conduit, http-types
+     , optparse-applicative, tar, text, transformers
+     , unordered-containers, wai, warp, zlib, zlib-conduit
+     }:
+     mkDerivation {
+       pname = "hackage-proxy";
+       version = "0.3.0.1";
+       sha256 = "1vicmj070nb76zcxfmkj4sv0rxrrl13r31psnsgb8azbmvs1s0yp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base basic-prelude blaze-builder bytestring Cabal case-insensitive
+         conduit containers filepath http-client http-client-conduit
+         http-conduit http-types optparse-applicative tar text transformers
+         unordered-containers wai warp zlib zlib-conduit
+       ];
+       homepage = "http://github.com/snoyberg/hackage-proxy";
+       description = "Provide a proxy for Hackage which modifies responses in some way. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackage-server" = callPackage
+    ({ mkDerivation, acid-state, aeson, alex, array, async, attoparsec
+     , base, base16-bytestring, base64-bytestring, binary, blaze-builder
+     , bytestring, Cabal, cereal, containers, crypto-api, csv, deepseq
+     , directory, filepath, happstack-server, happy, HaXml, hscolour
+     , hslogger, HStringTemplate, HTTP, lifted-base, mime-mail, mtl
+     , network, old-locale, parsec, pretty, process, pureMD5, QuickCheck
+     , random, rss, safecopy, snowball, split, stm, tar, text, time
+     , tokenize, transformers, unix, unordered-containers, vector, xhtml
+     , xml, zlib
+     }:
+     mkDerivation {
+       pname = "hackage-server";
+       version = "0.5.0";
+       sha256 = "1xsy2clsg53rhxgkb9vlan7dw7xqphm8gr1ajl8kq5ymfahnyd1i";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         acid-state aeson array async attoparsec base base16-bytestring
+         base64-bytestring binary blaze-builder bytestring Cabal cereal
+         containers crypto-api csv deepseq directory filepath
+         happstack-server HaXml hscolour hslogger HStringTemplate HTTP
+         lifted-base mime-mail mtl network old-locale parsec pretty process
+         pureMD5 QuickCheck random rss safecopy snowball split stm tar text
+         time tokenize transformers unix unordered-containers vector xhtml
+         zlib
+       ];
+       testDepends = [
+         aeson base base64-bytestring bytestring Cabal directory filepath
+         HTTP network process random tar text unix unordered-containers
+         vector xml zlib
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       description = "The Hackage web server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackage-sparks" = callPackage
+    ({ mkDerivation, base, bytestring, directory, download, filepath
+     , hsparklines, old-locale, old-time, parsedate, tagsoup
+     }:
+     mkDerivation {
+       pname = "hackage-sparks";
+       version = "0.5.1";
+       sha256 = "0b43vd1b18ksivxr7cfymzwcgs8rhwib2prn86wmwhghyx8a4qnw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory download filepath hsparklines old-locale
+         old-time parsedate tagsoup
+       ];
+       homepage = "http://code.haskell.org/~dons/code/hackage-sparks";
+       description = "Generate sparkline graphs of hackage statistics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackage2hwn" = callPackage
+    ({ mkDerivation, base, download, feed, tagsoup }:
+     mkDerivation {
+       pname = "hackage2hwn";
+       version = "0.5.1";
+       sha256 = "0vbp7c1g7dx119xxsn0f0fhk14l35jxmg7zdaqr1vcjhprj3nh6q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base download feed tagsoup ];
+       homepage = "http://code.haskell.org/~dons/code/hackage2hwn";
+       description = "Convert Hackage RSS feeds to wiki format for publishing on Haskell.org";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackage2twitter" = callPackage
+    ({ mkDerivation, base, feed, feed2twitter }:
+     mkDerivation {
+       pname = "hackage2twitter";
+       version = "0.2.1";
+       sha256 = "131hl59imxhql3hfp8m9363fgsgdywz1p8idrybncipyblwpsjgq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base feed feed2twitter ];
+       homepage = "http://github.com/tomlokhorst/hackage2twitter";
+       description = "Send new Hackage releases to Twitter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackager" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, mtl
+     , process
+     }:
+     mkDerivation {
+       pname = "hackager";
+       version = "1.0.1";
+       sha256 = "03vnqrvb1iby58gnd6hrx1c5q3zvfy3szp8qwp10c9s4cdddxyvy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath mtl process
+       ];
+       homepage = "https://github.com/dterei/Hackager";
+       description = "Hackage testing tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hackernews" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, either
+     , HsOpenSSL, hspec, http-streams, io-streams, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hackernews";
+       version = "0.3.1.2";
+       sha256 = "0y7548x98zgmaqzgzaxrjs1zckkhzx4w7440ml3zfh2rv65frkkj";
+       buildDepends = [
+         aeson attoparsec base bytestring either HsOpenSSL http-streams
+         io-streams text time transformers
+       ];
+       testDepends = [ base hspec transformers ];
+       description = "API for Hacker News";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hackertyper" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hackertyper";
+       version = "0.1.0.1";
+       sha256 = "17c77f687874bfwahmzcz2v6k8z9p4fv555r5r1f38snsdi825gf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "https://github.com/fgaz/hackertyper";
+       description = "\"Hack\" like a programmer in movies and games!";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hackport" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , directory, extensible-exceptions, filepath, HTTP, HUnit, MissingH
+     , mtl, network, network-uri, old-locale, old-time, parsec, pretty
+     , process, regex-compat, tar, time, unix, xml, zlib
+     }:
+     mkDerivation {
+       pname = "hackport";
+       version = "0.4.5";
+       sha256 = "18sv8kwhg0frsn6phg47hsm5vv84yaxxvk47sazgrb5hjl3qiam7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers deepseq directory
+         extensible-exceptions filepath HTTP MissingH mtl network
+         network-uri old-locale old-time parsec pretty process regex-compat
+         tar time unix xml zlib
+       ];
+       testDepends = [
+         base bytestring containers deepseq directory extensible-exceptions
+         filepath HUnit mtl pretty process time unix xml
+       ];
+       description = "Hackage and Portage integration tool";
+       license = "GPL";
+     }) {};
+
+  "hactor" = callPackage
+    ({ mkDerivation, base, containers, monad-control, mtl, resourcet
+     , stm, stm-chans, transformers-base
+     }:
+     mkDerivation {
+       pname = "hactor";
+       version = "1.2.0.0";
+       sha256 = "0jgnifwgfxapi8l0ds56xr7h66jprn1ynpwmvhafbyk84ymznf8y";
+       buildDepends = [
+         base containers monad-control mtl resourcet stm stm-chans
+         transformers-base
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Forkk/hactor";
+       description = "Lightweight Erlang-style actors for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hactors" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "hactors";
+       version = "0.0.3.1";
+       sha256 = "0nxcl3v9gnnyjzdpk30m2pmrhwcva9rky2dxrj4nnkr67ajm2dj0";
+       buildDepends = [ base stm ];
+       jailbreak = true;
+       homepage = "https://github.com/treep/hactors";
+       description = "Practical actors for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "haddock" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, haddock-api
+     , process
+     }:
+     mkDerivation {
+       pname = "haddock";
+       version = "2.16.0";
+       sha256 = "1afb96w1vv3gmvha2f1h3p8zywpdk8dfk6bgnsa307ydzsmsc3qa";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haddock-api ];
+       testDepends = [ base Cabal directory filepath process ];
+       preCheck = "unset GHC_PACKAGE_PATH";
+       homepage = "http://www.haskell.org/haddock/";
+       description = "A documentation-generation tool for Haskell libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haddock-api_2_15_0_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers
+     , deepseq, directory, filepath, ghc, ghc-paths, haddock-library
+     , xhtml
+     }:
+     mkDerivation {
+       pname = "haddock-api";
+       version = "2.15.0.2";
+       sha256 = "1gdmwid3qg86ql0828bp8g121psvmz11s0xivrzhiv8knxbqj8l7";
+       buildDepends = [
+         array base bytestring Cabal containers deepseq directory filepath
+         ghc ghc-paths haddock-library xhtml
+       ];
+       homepage = "http://www.haskell.org/haddock/";
+       description = "A documentation-generation tool for Haskell libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haddock-api" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers
+     , deepseq, directory, filepath, ghc, ghc-paths, haddock-library
+     , xhtml
+     }:
+     mkDerivation {
+       pname = "haddock-api";
+       version = "2.16.0";
+       sha256 = "0hk42w6fbr6xp8xcpjv00bhi9r75iig5kp34vxbxdd7k5fqxr1hj";
+       buildDepends = [
+         array base bytestring Cabal containers deepseq directory filepath
+         ghc ghc-paths haddock-library xhtml
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haddock/";
+       description = "A documentation-generation tool for Haskell libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haddock-leksah" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, ghc, ghc-paths, pretty
+     }:
+     mkDerivation {
+       pname = "haddock-leksah";
+       version = "2.6.0";
+       sha256 = "1a56nihkxybldk55g69v2aw6r4ipa9x86i0jr19fd23zxvancs8h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers directory filepath ghc ghc-paths pretty
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haddock/";
+       description = "A documentation-generation tool for Haskell libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haddock-library" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "haddock-library";
+       version = "1.1.1";
+       sha256 = "0sjnmbmq1pss9ikcqnhvpf57rv78lzi1r99ywpmmvj1gyva2s31m";
+       buildDepends = [ base bytestring deepseq ];
+       testDepends = [
+         base base-compat bytestring deepseq hspec QuickCheck
+       ];
+       homepage = "http://www.haskell.org/haddock/";
+       description = "Library exposing some functionality of Haddock";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haddock-library_1_2_0" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
+     , QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "haddock-library";
+       version = "1.2.0";
+       sha256 = "0kf8qihkxv86phaznb3liq6qhjs53g3iq0zkvz5wkvliqas4ha56";
+       buildDepends = [ base bytestring deepseq transformers ];
+       testDepends = [
+         base base-compat bytestring deepseq hspec QuickCheck transformers
+       ];
+       homepage = "http://www.haskell.org/haddock/";
+       description = "Library exposing some functionality of Haddock";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haddocset" = callPackage
+    ({ mkDerivation, base, Cabal, conduit, conduit-extra, exceptions
+     , ghc, haddock-api, mtl, optparse-applicative, process, resourcet
+     , sqlite-simple, system-fileio, system-filepath, tagsoup, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "haddocset";
+       version = "0.3.2";
+       sha256 = "0ppbvmmiz07p8kyblkplzkki3kc4z8hlmxc9h18fj0xwr6dpfib7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal conduit conduit-extra exceptions ghc haddock-api mtl
+         optparse-applicative process resourcet sqlite-simple system-fileio
+         system-filepath tagsoup text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/philopon/haddocset";
+       description = "Generate docset of Dash by Haddock haskell documentation tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hadoop-formats" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, filepath, snappy
+     , text, vector
+     }:
+     mkDerivation {
+       pname = "hadoop-formats";
+       version = "0.2.1.1";
+       sha256 = "1w3869jz3mxhzdik5fwaha7dn9rhjg5w8g0qnznd4x45cnzxv5ga";
+       buildDepends = [ attoparsec base bytestring text vector ];
+       testDepends = [ base bytestring filepath text vector ];
+       extraLibraries = [ snappy ];
+       homepage = "http://github.com/jystic/hadoop-formats";
+       description = "Read/write file formats commonly used by Hadoop";
+       license = stdenv.lib.licenses.asl20;
+     }) { inherit (pkgs) snappy;};
+
+  "hadoop-rpc" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cereal, exceptions
+     , hashable, monad-loops, network, protobuf, random, socks, stm
+     , tasty, tasty-hunit, text, transformers, unix
+     , unordered-containers, uuid, vector, xmlhtml
+     }:
+     mkDerivation {
+       pname = "hadoop-rpc";
+       version = "1.0.0.1";
+       sha256 = "1nm1xgb1ks57sbqg8x8aasr5l8lgdf4inr4ndgnnlsdjah6nbli1";
+       buildDepends = [
+         attoparsec base bytestring cereal exceptions hashable monad-loops
+         network protobuf random socks stm text transformers unix
+         unordered-containers uuid vector xmlhtml
+       ];
+       testDepends = [ base protobuf tasty tasty-hunit vector ];
+       jailbreak = true;
+       homepage = "http://github.com/jystic/hadoop-rpc";
+       description = "Use the Hadoop RPC interface from Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "hadoop-tools" = callPackage
+    ({ mkDerivation, attoparsec, base, boxes, bytestring, configurator
+     , exceptions, filepath, hadoop-rpc, old-locale
+     , optparse-applicative, protobuf, regex-pcre-builtin, split, stm
+     , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers
+     , unix, vector
+     }:
+     mkDerivation {
+       pname = "hadoop-tools";
+       version = "0.6";
+       revision = "2";
+       sha256 = "1nkkv9i0qk4k9vijabf1lylq8wsfsycllxvkza7abljii5jpj5fp";
+       editedCabalFile = "31166d3ed285e22977d237a1ae42d29b33503ad7be39c11f97b5890571da19ec";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base boxes bytestring configurator exceptions filepath
+         hadoop-rpc old-locale optparse-applicative protobuf
+         regex-pcre-builtin split stm text time transformers unix vector
+       ];
+       testDepends = [
+         attoparsec base bytestring hadoop-rpc tasty tasty-hunit
+         tasty-quickcheck vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jystic/hadoop-tools";
+       description = "Fast command line tools for working with Hadoop";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "haeredes" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, dns, doctest, filemanip
+     , iproute, MissingH, parallel-io
+     }:
+     mkDerivation {
+       pname = "haeredes";
+       version = "0.4.3";
+       sha256 = "0m6d75kgf40m3vnh148v2ysfhplspqbbqs8jha29ascap8xz7n47";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs dns iproute MissingH parallel-io
+       ];
+       testDepends = [ base doctest filemanip ];
+       homepage = "http://michael.orlitzky.com/code/haeredes.php";
+       description = "Confirm delegation of NS and MX records";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "haggis" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , convertible, directory, filemanip, filepath, HDBC, HDBC-sqlite3
+     , hquery, MissingH, network, old-locale, optparse-applicative
+     , pandoc, pandoc-types, parsec, rss, split, text, time, unix
+     , xmlhtml
+     }:
+     mkDerivation {
+       pname = "haggis";
+       version = "0.1.2.1";
+       sha256 = "09mqs4y26w7f4729gvrpv9mh431xpdngas14ad86bbjf2ncvggjg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring containers convertible directory
+         filemanip filepath HDBC HDBC-sqlite3 hquery MissingH network
+         old-locale optparse-applicative pandoc pandoc-types parsec rss
+         split text time unix xmlhtml
+       ];
+       homepage = "http://github.com/tych0/haggis";
+       description = "A static site generator with blogging/comments support";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haha" = callPackage
+    ({ mkDerivation, base, containers, time }:
+     mkDerivation {
+       pname = "haha";
+       version = "0.3.1.1";
+       sha256 = "1vfsy6ks9rnynwvavakj90662vxgvk7y0vwpdga2k2fc8nkqjf10";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers time ];
+       description = "A simple library for creating animated ascii art on ANSI terminals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hailgun" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, email-validate
+     , exceptions, filepath, http-client, http-client-tls, http-types
+     , tagsoup, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "hailgun";
+       version = "0.4.0.0";
+       sha256 = "0f833chxrc3ac9f2sc1cwszz0pdhg7yz4ni5fq5x647vm5wifhcj";
+       buildDepends = [
+         aeson base bytestring email-validate exceptions filepath
+         http-client http-client-tls http-types tagsoup text time
+         transformers
+       ];
+       jailbreak = true;
+       description = "Mailgun REST api interface for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hailgun-send" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, hailgun, text }:
+     mkDerivation {
+       pname = "hailgun-send";
+       version = "0.1.1.1";
+       sha256 = "1cxvzg5bfwsdly9k24izwnk5gf9vvzisaj3m6ng647bm1fc598c6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring configurator hailgun text ];
+       jailbreak = true;
+       description = "A program to send emails throught the Mailgun api";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hails" = callPackage
+    ({ mkDerivation, authenticate, base, base64-bytestring, binary
+     , blaze-builder, bson, bytestring, conduit, conduit-extra
+     , containers, cookie, directory, exceptions, failure, filepath
+     , ghc-paths, hint, http-conduit, http-types, HUnit, lio, mongoDB
+     , mtl, network, network-uri, parsec, QuickCheck
+     , quickcheck-instances, quickcheck-lio-instances, resourcet, SHA
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time, transformers, unix, wai, wai-app-static, wai-extra
+     , wai-test, warp
+     }:
+     mkDerivation {
+       pname = "hails";
+       version = "0.11.2.0";
+       sha256 = "0s16hrkvbnpqdpykwwq0i0530lq4v2zpc2bx7b8ykf7isnwvjzhf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         authenticate base base64-bytestring binary blaze-builder bson
+         bytestring conduit conduit-extra containers cookie directory
+         exceptions failure filepath ghc-paths hint http-conduit http-types
+         lio mongoDB mtl network network-uri parsec resourcet SHA text time
+         transformers unix wai wai-app-static wai-extra warp
+       ];
+       testDepends = [
+         base bson containers http-types HUnit lio mongoDB QuickCheck
+         quickcheck-instances quickcheck-lio-instances test-framework
+         test-framework-hunit test-framework-quickcheck2 text time unix wai
+         wai-test
+       ];
+       jailbreak = true;
+       description = "Multi-app web platform framework";
+       license = stdenv.lib.licenses.mit;
+       broken = true;
+     }) { quickcheck-lio-instances = null;};
+
+  "hails-bin" = callPackage
+    ({ mkDerivation, base, bson, bytestring, containers, ghc-paths
+     , hails, iterIO, iterio-server, mongoDB, mtl
+     }:
+     mkDerivation {
+       pname = "hails-bin";
+       version = "0.1.1.1";
+       sha256 = "006qy5mkhh8zqy9mrpwjiym7klqma49zglwpjmx2ikmkkq9qnfvr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bson bytestring containers ghc-paths hails iterIO
+         iterio-server mongoDB mtl
+       ];
+       jailbreak = true;
+       description = "Dynamic launcher of Hails applications";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "hairy" = callPackage
+    ({ mkDerivation, aeson, base, data-default, heroku, hspec
+     , http-types, monad-logger, mtl, persistent, persistent-postgresql
+     , persistent-template, scotty, text, time, transformers, wai
+     , wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "hairy";
+       version = "0.1.3";
+       sha256 = "19kgygj9d3m56xcfc1zm0ki2ncgifrrsrf90bvp9bykyixycplap";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base data-default heroku http-types monad-logger mtl
+         persistent persistent-postgresql persistent-template scotty text
+         time transformers wai wai-extra warp
+       ];
+       testDepends = [
+         base hspec http-types mtl persistent scotty time wai wai-extra
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tfausak/hairy";
+       description = "A JSON REST API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hakaru" = callPackage
+    ({ mkDerivation, aeson, array, base, bytestring, Cabal, cassava
+     , containers, directory, hmatrix, HUnit, integration, logfloat
+     , math-functions, monad-loops, mwc-random, parallel, parsec, pretty
+     , primitive, QuickCheck, random, statistics, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     , transformers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "hakaru";
+       version = "0.1.4";
+       sha256 = "033m28jckpqgc4izmyf4h60riy29mcvfhyw340z604miqg7ss2hf";
+       buildDepends = [
+         aeson array base bytestring cassava containers directory hmatrix
+         integration logfloat math-functions monad-loops mwc-random parallel
+         parsec pretty primitive random statistics text transformers vector
+         zlib
+       ];
+       testDepends = [
+         base Cabal containers hmatrix HUnit logfloat math-functions
+         monad-loops mwc-random pretty primitive QuickCheck random
+         statistics test-framework test-framework-hunit
+         test-framework-quickcheck2 vector
+       ];
+       jailbreak = true;
+       homepage = "http://indiana.edu/~ppaml/";
+       description = "A probabilistic programming embedded DSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hake" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, process, regexpr
+     , time, yjtools
+     }:
+     mkDerivation {
+       pname = "hake";
+       version = "1.3.8.1";
+       sha256 = "0h0y466b664xyxi1hr8c7il4cslrmb1hyhsjzhvs55l33zb7591b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath mtl process regexpr time yjtools
+       ];
+       homepage = "http://homepage3.nifty.com/salamander/second/projects/hake/index.xhtml";
+       description = "make tool. ruby : rake = haskell : hake";
+       license = "GPL";
+     }) {};
+
+  "hakismet" = callPackage
+    ({ mkDerivation, base, HTTP, network }:
+     mkDerivation {
+       pname = "hakismet";
+       version = "0.1";
+       sha256 = "1ddmnzan16vn0fbp1fgsidahayihhr0vw8saypdqq7lnhqw8j9d4";
+       buildDepends = [ base HTTP network ];
+       jailbreak = true;
+       homepage = "https://code.reaktor42.de/projects/hakismet";
+       description = "Akismet spam protection library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hako" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, parsec, QuickCheck
+     , template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "hako";
+       version = "1.0.0";
+       sha256 = "1gcw15522yh0aa7xa793gda45qmq8my15id4ybivv3n16pcr7prm";
+       buildDepends = [
+         base haskell-src-meta parsec template-haskell text transformers
+       ];
+       testDepends = [ base QuickCheck ];
+       jailbreak = true;
+       description = "A mako-like quasi-quoter template library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hakyll" = callPackage
+    ({ mkDerivation, base, binary, blaze-html, blaze-markup, bytestring
+     , cmdargs, containers, cryptohash, data-default, deepseq, directory
+     , filepath, fsnotify, http-conduit, http-types, HUnit, lrucache
+     , mtl, network, network-uri, old-locale, old-time, pandoc
+     , pandoc-citeproc, parsec, process, QuickCheck, random, regex-base
+     , regex-tdfa, snap-core, snap-server, system-filepath, tagsoup
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time, time-locale-compat
+     }:
+     mkDerivation {
+       pname = "hakyll";
+       version = "4.6.8.1";
+       sha256 = "0f8c2b9zy55pscmkmwjb72qqsm2kmrjlwfhkl6igpj631r804iyr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary blaze-html blaze-markup bytestring cmdargs containers
+         cryptohash data-default deepseq directory filepath fsnotify
+         http-conduit http-types lrucache mtl network network-uri old-locale
+         old-time pandoc pandoc-citeproc parsec process random regex-base
+         regex-tdfa snap-core snap-server system-filepath tagsoup text time
+         time-locale-compat
+       ];
+       testDepends = [
+         base binary blaze-html blaze-markup bytestring cmdargs containers
+         cryptohash data-default deepseq directory filepath fsnotify
+         http-conduit http-types HUnit lrucache mtl network network-uri
+         old-locale old-time pandoc pandoc-citeproc parsec process
+         QuickCheck random regex-base regex-tdfa snap-core snap-server
+         system-filepath tagsoup test-framework test-framework-hunit
+         test-framework-quickcheck2 text time time-locale-compat
+       ];
+       homepage = "http://jaspervdj.be/hakyll";
+       description = "A static website compiler library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hakyll-agda" = callPackage
+    ({ mkDerivation, Agda, base, containers, directory, filepath
+     , hakyll, mtl, pandoc, transformers, xhtml
+     }:
+     mkDerivation {
+       pname = "hakyll-agda";
+       version = "0.1.9";
+       sha256 = "1fh0901r140p3lvw54q8d6x17zhbvpik5bsx2hifa8q2g5bnxnxd";
+       buildDepends = [
+         Agda base containers directory filepath hakyll mtl pandoc
+         transformers xhtml
+       ];
+       homepage = "https://github.com/bitonic/hakyll-agda";
+       description = "Wrapper to integrate literate Agda files with Hakyll";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hakyll-blaze-templates" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, hakyll }:
+     mkDerivation {
+       pname = "hakyll-blaze-templates";
+       version = "0.1.1.0";
+       sha256 = "11dl3rqls2yxkmycx63xr1cix4adk6b29sbwr4v5n48bqamr7p1j";
+       buildDepends = [ base blaze-html blaze-markup hakyll ];
+       jailbreak = true;
+       description = "Blaze templates for Hakyll";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hakyll-contrib" = callPackage
+    ({ mkDerivation, base, directory, filepath, hakyll, pandoc }:
+     mkDerivation {
+       pname = "hakyll-contrib";
+       version = "0.1.0.1";
+       sha256 = "0w23laiw6a5hxfq5hjq8vn3k7fx5l4yb9p8qcbm62zlycza1ci14";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath hakyll pandoc ];
+       jailbreak = true;
+       homepage = "http://jaspervdj.be/hakyll";
+       description = "Extra modules for the hakyll website compiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hakyll-contrib-hyphenation" = callPackage
+    ({ mkDerivation, base, hakyll, hyphenation, split, tagsoup }:
+     mkDerivation {
+       pname = "hakyll-contrib-hyphenation";
+       version = "0.1.0.3";
+       sha256 = "0mkbsivifggi64k97ssxb0dskzwf7h0sny4m8gmkdsvwqjhfdjam";
+       buildDepends = [ base hakyll hyphenation split tagsoup ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/rvlm/hakyll-contrib-hyphenation";
+       description = "automatic hyphenation for Hakyll";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hakyll-contrib-links" = callPackage
+    ({ mkDerivation, base, binary, containers, hakyll, pandoc
+     , pandoc-types, parsec, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hakyll-contrib-links";
+       version = "0.2.0.0";
+       sha256 = "0gzg88pcqxwj4qwr2qj24csjljvxcz3v9iclhz5f9g8dx41rkiy5";
+       buildDepends = [
+         base binary containers hakyll pandoc pandoc-types parsec
+       ];
+       testDepends = [
+         base binary QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "A hakyll library that helps maintain a separate links database";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hakyll-convert" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cmdargs, directory, feed
+     , filepath, hakyll, old-locale, text, time, xml
+     }:
+     mkDerivation {
+       pname = "hakyll-convert";
+       version = "0.1.0.0";
+       sha256 = "1dvif26avp6fczhlg8pi591wp8d1z3kvjr745r5p17lzwpwy1rx3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cmdargs directory feed filepath hakyll
+         old-locale text time xml
+       ];
+       homepage = "http://github.com/kowey/hakyll-convert";
+       description = "Convert from other blog engines to Hakyll";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hakyll-elm" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, Elm, hakyll, mtl
+     }:
+     mkDerivation {
+       pname = "hakyll-elm";
+       version = "0.2.1";
+       sha256 = "0bgwcxarsa40aylvg4cc7ha5y87xklkc4ifwd17l69l4xbb4iqpk";
+       buildDepends = [ base blaze-html blaze-markup Elm hakyll mtl ];
+       jailbreak = true;
+       homepage = "https://github.com/maxsnew/hakyll-elm";
+       description = "Hakyll wrapper for the Elm compiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "halberd" = callPackage
+    ({ mkDerivation, base, Cabal, containers, haskell-names
+     , haskell-packages, haskell-src-exts, HUnit, mtl, safe, split, syb
+     , tagged, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "halberd";
+       version = "0.1.2.9";
+       sha256 = "1d8r1cz9q9mgw1abz8b8n6lnnc19g223hv3igznxfldbws7d6zrj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers haskell-names haskell-packages
+         haskell-src-exts mtl safe syb tagged
+       ];
+       testDepends = [
+         base Cabal containers haskell-names haskell-packages
+         haskell-src-exts HUnit mtl split tagged test-framework
+         test-framework-hunit
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-suite/halberd/";
+       description = "A tool to generate missing import statements for Haskell modules";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "half" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "half";
+       version = "0.2.0.1";
+       revision = "1";
+       sha256 = "0lwh5bv8pnp9fzq64z1fg1i4fv8h2lcchs1298agq881hcay19qw";
+       editedCabalFile = "cfadc0b87a5d9c4cc9a3ab5d7a5524221ae88e962f812eb41beba7b39111ccce";
+       buildDepends = [ base ];
+       homepage = "http://github.com/ekmett/half";
+       description = "Half-precision floating-point";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "halfs" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , directory, filepath, fingertree, HFuse, mtl, QuickCheck, random
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "halfs";
+       version = "2.0";
+       sha256 = "1k47q0vp0cmvmxz28hmv8dgniz9ks7h0wjjmdkjgvb77p8jj2akd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cereal containers directory filepath
+         fingertree HFuse mtl QuickCheck random time unix
+       ];
+       jailbreak = true;
+       description = "The HAskelL File System (\"halfs\" -- intended for use on the HaLVM)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "halipeto" = callPackage
+    ({ mkDerivation, base, directory, HaXml, pandoc }:
+     mkDerivation {
+       pname = "halipeto";
+       version = "2.4.1";
+       sha256 = "1anyf6mh13rmj5a0lsayrcxzvm3zk0a2943pzkgz06y3aqgmcbdb";
+       buildDepends = [ base directory HaXml pandoc ];
+       jailbreak = true;
+       homepage = "http://github.com/peti/halipeto";
+       description = "Haskell Static Web Page Generator";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "halma" = callPackage
+    ({ mkDerivation, async, base, containers, data-default
+     , diagrams-cairo, diagrams-gtk, diagrams-lib, grid, gtk, HUnit, mtl
+     , mvc, pipes, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, timeit, vector-space-points
+     }:
+     mkDerivation {
+       pname = "halma";
+       version = "0.1.0.1";
+       sha256 = "1k12f3ag54qqnl391i5sw3lmlrsjn693yjkigv9ypaghan02gh9p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base containers data-default diagrams-cairo diagrams-gtk
+         diagrams-lib grid gtk mtl mvc pipes timeit vector-space-points
+       ];
+       testDepends = [
+         base containers grid HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/timjb/halma";
+       description = "Library implementing Halma rules";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "haltavista" = callPackage
+    ({ mkDerivation, base, hint, process }:
+     mkDerivation {
+       pname = "haltavista";
+       version = "0.1.0.1";
+       sha256 = "0l2qlibfxj8n7jqqqrbswx3fgislxz39075bhip07qx55193dx2f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hint process ];
+       description = "looks for functions given a set of example input/outputs";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "hamid" = callPackage
+    ({ mkDerivation, base, HCodecs, newtype }:
+     mkDerivation {
+       pname = "hamid";
+       version = "0.10";
+       sha256 = "19792k9pwpkqwqznxm00nbq22swnayz7fv60ly0wsw5zmf1g6wv8";
+       buildDepends = [ base HCodecs newtype ];
+       description = "Binding to the OS level Midi services (fork of system-midi)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hamlet" = callPackage
+    ({ mkDerivation, base, shakespeare }:
+     mkDerivation {
+       pname = "hamlet";
+       version = "1.2.0";
+       sha256 = "0rla3ap3malk8j6mh07fr2aqvbscpy743wrfq3skgjv3j4jlpjfi";
+       buildDepends = [ base shakespeare ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "Haml-like template files that are compile-time checked (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hampp" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , Glob, preprocessor-tools
+     }:
+     mkDerivation {
+       pname = "hampp";
+       version = "0.2.1";
+       sha256 = "0y7lsh16xrlgsgfsqw00ldcdcjwsy8cziw8p3g753k9m23can4wl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath Glob
+         preprocessor-tools
+       ];
+       jailbreak = true;
+       description = "Haskell macro preprocessor";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hamtmap" = callPackage
+    ({ mkDerivation, array, base, deepseq, hashable }:
+     mkDerivation {
+       pname = "hamtmap";
+       version = "0.3";
+       sha256 = "04fr1wjlbmr0c9cp9ybdcirlgayw843klxi0lwl9b9pzwzn0glfl";
+       buildDepends = [ array base deepseq hashable ];
+       homepage = "https://github.com/exclipy/pdata";
+       description = "A purely functional and persistent hash map";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hamusic" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, haskore
+     , HaXml, musicxml, non-negative, process
+     }:
+     mkDerivation {
+       pname = "hamusic";
+       version = "0.1.2.1";
+       sha256 = "1gfzydgnf8fffsl2f189gy81pb13dbf81i1a83laqsck6dhp60in";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath haskore HaXml musicxml
+         non-negative process
+       ];
+       jailbreak = true;
+       homepage = "https://troglodita.di.uminho.pt/svn/musica/work/HaMusic";
+       description = "Library to handle abstract music";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "handa-gdata" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring
+     , case-insensitive, cmdargs, data-default, directory, filepath
+     , GenericPretty, HTTP, http-conduit, json, network, old-locale
+     , pretty, process, pureMD5, random, regex-posix, resourcet, split
+     , time, unix-compat, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "handa-gdata";
+       version = "0.7.0.2";
+       sha256 = "0h75qj05hpdyl9x54rcb3sqzzzyby57g2aihjgawif2zg7wif7a7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring binary bytestring case-insensitive cmdargs
+         data-default directory filepath GenericPretty HTTP http-conduit
+         json network old-locale pretty process pureMD5 random regex-posix
+         resourcet split time unix-compat utf8-string xml
+       ];
+       homepage = "http://code.google.com/p/hgdata";
+       description = "Library and command-line utility for accessing Google services and APIs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "handa-geodata" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, scientific }:
+     mkDerivation {
+       pname = "handa-geodata";
+       version = "0.2.0.1";
+       sha256 = "0x0ix66wcpv172rxk9daifirnrcbblkjlvlg762z4i7qhipjfi2n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aeson base bytestring containers scientific ];
+       homepage = "http://code.bwbush.io/handa-geodata/";
+       description = "Geographic and Geometric Data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "handle-like" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "handle-like";
+       version = "0.1.0.2";
+       sha256 = "1cn7423962fg21m75ww5gpg2kwbn1fb7y76hgfq9n6hhbnz8nd4m";
+       buildDepends = [ base bytestring ];
+       description = "HandleLike class";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "handsy" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, operational
+     , process-extras, retry, shell-escape, split, tasty, tasty-hunit
+     , tasty-th, transformers
+     }:
+     mkDerivation {
+       pname = "handsy";
+       version = "0.0.14";
+       sha256 = "1a2yzpj883wsn013cy2jvn6wjsqqyf5xn91nkw6f5cg4sd9znzmy";
+       buildDepends = [
+         base bytestring data-default-class operational process-extras retry
+         shell-escape split transformers
+       ];
+       testDepends = [ base bytestring tasty tasty-hunit tasty-th ];
+       homepage = "https://github.com/utdemir/handsy";
+       description = "A DSL to describe common shell operations and interpeters for running them locally and remotely";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hangman" = callPackage
+    ({ mkDerivation, base, mtl, random, utility-ht }:
+     mkDerivation {
+       pname = "hangman";
+       version = "1.0.3";
+       sha256 = "0k86z27qiaz967hsdnb3sac5ybmnyzd4d2gxzvdngw8rcvcq3biy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl random utility-ht ];
+       description = "Hangman implementation in Haskell written in two hours";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hannahci" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, formatting
+     , http-types, lens, lens-aeson, process, scotty, text, transformers
+     , unix-time, wai-extra, wai-middleware-static, yaml
+     }:
+     mkDerivation {
+       pname = "hannahci";
+       version = "0.1.4.2";
+       sha256 = "072f9zsfrs8g6nw83g6qzczzybngrhyrm1m2y7ha37vf0y9gdpn0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory formatting http-types lens
+         lens-aeson process scotty text transformers unix-time wai-extra
+         wai-middleware-static yaml
+       ];
+       description = "Simple Continuous Integration/Deployment System";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "hans" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring, cereal
+     , containers, fingertree, HTTP, monadLib, old-locale, random, time
+     , unix
+     }:
+     mkDerivation {
+       pname = "hans";
+       version = "2.4.0.0";
+       sha256 = "1sjvjx27hll04i0g0744zlvlq4vd7q0299czg9bnihvsds6rr84n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html blaze-markup bytestring cereal containers
+         fingertree HTTP monadLib old-locale random time unix
+       ];
+       description = "IPv4 Network Stack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hans-pcap" = callPackage
+    ({ mkDerivation, base, bytestring, hans, pcap }:
+     mkDerivation {
+       pname = "hans-pcap";
+       version = "0.1.0.2";
+       sha256 = "10zj129s6l4gf9acvs1yahdwv5vqj9kqwshvfjdak3gbi7arw48s";
+       buildDepends = [ base bytestring hans pcap ];
+       homepage = "https://github.com/tolysz/hans-pcap";
+       description = "Driver for real ethernet devices for HaNS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hans-pfq" = callPackage
+    ({ mkDerivation, base, bytestring, hans, pfq }:
+     mkDerivation {
+       pname = "hans-pfq";
+       version = "0.1.0.0";
+       sha256 = "07jspsi8y921n5m5ar93w4gqaff4mjx79ss416ccm4s1k4l2km0b";
+       buildDepends = [ base bytestring hans pfq ];
+       jailbreak = true;
+       homepage = "https://github.com/tolysz/hans-pfq";
+       description = "Driver for real ethernet devices for HaNS";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { pfq = null;};
+
+  "hapistrano" = callPackage
+    ({ mkDerivation, base, base-compat, directory, either, filepath
+     , hspec, mtl, old-locale, process, temporary, time, transformers
+     }:
+     mkDerivation {
+       pname = "hapistrano";
+       version = "0.2.0.1";
+       sha256 = "0k8715gaay1fjwgdsjk3h7vffj0bx217l1yn8wr6sfh4v7azg1f6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-compat either filepath mtl old-locale process time
+         transformers
+       ];
+       testDepends = [
+         base base-compat directory either filepath hspec mtl old-locale
+         process temporary time transformers
+       ];
+       homepage = "https://github.com/stackbuilders/hapistrano";
+       description = "A deployment library for Haskell applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "happindicator" = callPackage
+    ({ mkDerivation, appindicator, array, base, bytestring, containers
+     , glib, gtk, gtk2hs-buildtools, mtl
+     }:
+     mkDerivation {
+       pname = "happindicator";
+       version = "0.0.4";
+       sha256 = "1d0ycpxmlz2ab8dzys7i6ihc3rbs43d0l5l2mxvshqbpj3j73643";
+       buildDepends = [ array base bytestring containers glib gtk mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ appindicator ];
+       jailbreak = true;
+       description = "Binding to the appindicator library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { appindicator = null;};
+
+  "happindicator3" = callPackage
+    ({ mkDerivation, appindicator, base, glib, gtk3, text }:
+     mkDerivation {
+       pname = "happindicator3";
+       version = "0.2.1";
+       sha256 = "09h3077s61krg814aw2whgc869m6ff96rrxfk6rjpjy71lkmcl92";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base glib gtk3 text ];
+       pkgconfigDepends = [ appindicator ];
+       homepage = "https://github.com/mlacorte/happindicator3";
+       description = "Binding to the appindicator library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { appindicator = null;};
+
+  "happraise" = callPackage
+    ({ mkDerivation, base, directory, filepath }:
+     mkDerivation {
+       pname = "happraise";
+       version = "0.1";
+       sha256 = "1vcbfil9wxhk7vrmrmkn094rb281h4a3mrzpw5gl1842dpp5hp1g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath ];
+       description = "A small program for counting the comments in haskell source";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happs-hsp" = callPackage
+    ({ mkDerivation, base, bytestring, HAppS-Server, hsp, mtl, plugins
+     }:
+     mkDerivation {
+       pname = "happs-hsp";
+       version = "0.1";
+       sha256 = "0l1gb0qhhmld77qyz8qclbqxnv0hvyvjhav78690z50kvpjpqrxx";
+       buildDepends = [ base bytestring HAppS-Server hsp mtl plugins ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happs-hsp-template" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , HAppS-Server, hinotify, hsp, mtl, network, plugins, RJson
+     }:
+     mkDerivation {
+       pname = "happs-hsp-template";
+       version = "0.2";
+       sha256 = "0591ipk9zzzznmhz5wpp3qk7fkirhcp801qnk399jsms66fc8378";
+       buildDepends = [
+         base bytestring containers directory filepath HAppS-Server hinotify
+         hsp mtl network plugins RJson
+       ];
+       description = "Utilities for using HSP templates in HAppS applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happs-tutorial" = callPackage
+    ({ mkDerivation, base, bytestring, containers, DebugTraceHelpers
+     , directory, filepath, happstack, happstack-data, happstack-helpers
+     , happstack-ixset, happstack-server, happstack-state, hscolour
+     , HStringTemplate, HStringTemplateHelpers, HTTP, mtl, old-time
+     , parsec, pretty, pureMD5, safe, syb
+     }:
+     mkDerivation {
+       pname = "happs-tutorial";
+       version = "0.9.5";
+       sha256 = "1pkk78npgrr6dar00n93j6fbbkjam6198lkxp3q4zpdqspz4qypn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers DebugTraceHelpers directory filepath
+         happstack happstack-data happstack-helpers happstack-ixset
+         happstack-server happstack-state hscolour HStringTemplate
+         HStringTemplateHelpers HTTP mtl old-time parsec pretty pureMD5 safe
+         syb
+       ];
+       jailbreak = true;
+       description = "A Happstack Tutorial that is its own web 2.0-type demo.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack" = callPackage
+    ({ mkDerivation, base, happstack-server }:
+     mkDerivation {
+       pname = "happstack";
+       version = "7.0.2";
+       sha256 = "1dfmfyrynggf1ff6364kb9a53rm64zhirx6ispnhykwdf60zbm6r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base happstack-server ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "The haskell application server stack + code generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-auth" = callPackage
+    ({ mkDerivation, base, bytestring, containers, convertible
+     , happstack, happstack-data, happstack-ixset, happstack-server
+     , happstack-state, mtl, old-time, random
+     }:
+     mkDerivation {
+       pname = "happstack-auth";
+       version = "0.2.1.1";
+       sha256 = "0mfd2r88681dskn1l1gcbam8rvaqsry09zavywkm4kvmw8912vy4";
+       buildDepends = [
+         base bytestring containers convertible happstack happstack-data
+         happstack-ixset happstack-server happstack-state mtl old-time
+         random
+       ];
+       jailbreak = true;
+       homepage = "http://n-sch.de/happstack-auth";
+       description = "A Happstack Authentication Suite";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-authenticate" = callPackage
+    ({ mkDerivation, acid-state, aeson, authenticate, base, blaze-html
+     , bytestring, containers, fb, happstack-server, http-conduit
+     , http-types, ixset, mtl, pwstore-purehaskell, QuickCheck, reform
+     , reform-blaze, reform-happstack, safecopy, text, time
+     , unordered-containers, web-routes, web-routes-happstack
+     }:
+     mkDerivation {
+       pname = "happstack-authenticate";
+       version = "0.10.16";
+       sha256 = "15r725mmfln8hhk13ypg497xy4x88cxyd4gqmgfg6dpmrmgvdvgw";
+       buildDepends = [
+         acid-state aeson authenticate base blaze-html bytestring containers
+         fb happstack-server http-conduit http-types ixset mtl
+         pwstore-purehaskell QuickCheck reform reform-blaze reform-happstack
+         safecopy text time unordered-containers web-routes
+         web-routes-happstack
+       ];
+       homepage = "http://www.happstack.com/";
+       description = "Happstack Authentication Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-clientsession" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, clientsession
+     , happstack-server, monad-control, mtl, safecopy, transformers-base
+     }:
+     mkDerivation {
+       pname = "happstack-clientsession";
+       version = "7.2.7";
+       sha256 = "1zwdcnsdq9nb88wf0mc8vh4wkw5kl5r39mmhq098ny3wpvwnp7lx";
+       buildDepends = [
+         base bytestring cereal clientsession happstack-server monad-control
+         mtl safecopy transformers-base
+       ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "client-side session data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-contrib" = callPackage
+    ({ mkDerivation, base, bytestring, directory, happstack-data
+     , happstack-ixset, happstack-server, happstack-state
+     , happstack-util, HTTP, HUnit, mtl, network, old-time, syb, unix
+     }:
+     mkDerivation {
+       pname = "happstack-contrib";
+       version = "0.2.1";
+       sha256 = "0cqdfnjcmghw3wwny2brw51qbkvi8ps2crl8382sqwqq9gkw0l75";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory happstack-data happstack-ixset
+         happstack-server happstack-state happstack-util HTTP HUnit mtl
+         network old-time syb unix
+       ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "Web related tools and services";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-data" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, mtl, pretty
+     , syb, syb-with-class, syb-with-class-instances-text
+     , template-haskell, text, time
+     }:
+     mkDerivation {
+       pname = "happstack-data";
+       version = "6.0.1";
+       sha256 = "0v2ln4mdnild72p02mzjn8mn5srvjixsjqjgkdqzshvxjnnm95l8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers mtl pretty syb syb-with-class
+         syb-with-class-instances-text template-haskell text time
+       ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "Happstack data manipulation libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-dlg" = callPackage
+    ({ mkDerivation, applicative-extras, base, bytestring, containers
+     , formlets, happstack-server, mtl, random, template-haskell, time
+     , xhtml
+     }:
+     mkDerivation {
+       pname = "happstack-dlg";
+       version = "0.1.2";
+       sha256 = "1zm8f224r0nwpykvil8s05lcswrw31iigcw9arnf4j362y03n2qp";
+       buildDepends = [
+         applicative-extras base bytestring containers formlets
+         happstack-server mtl random template-haskell time xhtml
+       ];
+       homepage = "http://patch-tag.com/r/cdsmith/happstack-dlg";
+       description = "Cross-request user interactions for Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-facebook" = callPackage
+    ({ mkDerivation, applicative-extras, base, bytestring, containers
+     , filepath, happstack, happstack-data, happstack-hsp
+     , happstack-ixset, happstack-server, happstack-state
+     , happstack-util, harp, hsp, hsx, html, HTTP, json, mtl, network
+     , old-time, random, RJson, syb, text, time, trhsx, utf8-string
+     , web-routes, web-routes-mtl
+     }:
+     mkDerivation {
+       pname = "happstack-facebook";
+       version = "0.30";
+       sha256 = "1rfd2rkizviq7pv6lmhkp0dmwwk2m25kz9vzczk3ycm57mk7ql8c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         applicative-extras base bytestring containers filepath happstack
+         happstack-data happstack-hsp happstack-ixset happstack-server
+         happstack-state happstack-util harp hsp hsx html HTTP json mtl
+         network old-time random RJson syb text time utf8-string web-routes
+         web-routes-mtl
+       ];
+       buildTools = [ trhsx ];
+       homepage = "http://src.seereason.com/happstack-facebook/";
+       description = "A package for building Facebook applications using Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-fastcgi" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, containers, fastcgi
+     , happstack-server, mtl, utf8-string
+     }:
+     mkDerivation {
+       pname = "happstack-fastcgi";
+       version = "0.1.5";
+       sha256 = "0rvb041nx2f8azvfy1yysisjqrmsfbxnccn992v5q7zhlglcvj8h";
+       buildDepends = [
+         base bytestring cgi containers fastcgi happstack-server mtl
+         utf8-string
+       ];
+       description = "Happstack extension for use with FastCGI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-fay" = callPackage
+    ({ mkDerivation, aeson, base, fay, happstack-fay-ajax
+     , happstack-server, mtl
+     }:
+     mkDerivation {
+       pname = "happstack-fay";
+       version = "0.2.0";
+       sha256 = "1mwx7ki35s6x3ypxl8sv611a2h4zxwd77ij95bydf5azzz9l6ys5";
+       buildDepends = [
+         aeson base fay happstack-fay-ajax happstack-server mtl
+       ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Support for using Fay with Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-fay-ajax" = callPackage
+    ({ mkDerivation, fay-base, fay-jquery }:
+     mkDerivation {
+       pname = "happstack-fay-ajax";
+       version = "0.2.0";
+       sha256 = "0zdkvvmywnfvqg5jdvf29qczzxmprvspxj0r1vj46fd6vld53j4j";
+       buildDepends = [ fay-base fay-jquery ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Support for using Fay with Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-foundation" = callPackage
+    ({ mkDerivation, acid-state, base, happstack-hsp, happstack-server
+     , hsp, lifted-base, monad-control, mtl, reform, reform-happstack
+     , reform-hsp, safecopy, text, web-routes, web-routes-happstack
+     , web-routes-hsp, web-routes-th
+     }:
+     mkDerivation {
+       pname = "happstack-foundation";
+       version = "0.5.8";
+       sha256 = "1sbqp78mgnc5rrnn35myd0izlh3w1nv5pgpg807w3cax2xakw3bh";
+       buildDepends = [
+         acid-state base happstack-hsp happstack-server hsp lifted-base
+         monad-control mtl reform reform-happstack reform-hsp safecopy text
+         web-routes web-routes-happstack web-routes-hsp web-routes-th
+       ];
+       homepage = "http://www.happstack.com/";
+       description = "Glue code for using Happstack with acid-state, web-routes, reform, and HSP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-hamlet" = callPackage
+    ({ mkDerivation, base, happstack-server, shakespeare, text }:
+     mkDerivation {
+       pname = "happstack-hamlet";
+       version = "7.0.4";
+       sha256 = "1l12gyyqzblb9psk6692r9xw640jxzyxqldfyg2yrzz8y0zi649a";
+       buildDepends = [ base happstack-server shakespeare text ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Support for Hamlet HTML templates in Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-heist" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, either, filepath
+     , happstack-server, heist, mtl, text
+     }:
+     mkDerivation {
+       pname = "happstack-heist";
+       version = "7.2.4";
+       sha256 = "1ax1fyw9788iilmczqr6s1ryh2h9x2f6n9c8mqxjmq58zg1lc2d3";
+       buildDepends = [
+         base blaze-builder bytestring either filepath happstack-server
+         heist mtl text
+       ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Support for using Heist templates in Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-helpers" = callPackage
+    ({ mkDerivation, base, bytestring, containers, DebugTraceHelpers
+     , directory, filepath, happstack-data, happstack-ixset
+     , happstack-server, happstack-state, haskell98, hscolour, HSH
+     , HStringTemplate, HStringTemplateHelpers, HTTP, MissingH, mtl
+     , network, old-time, parsec, PBKDF2, pureMD5, random, safe, syb
+     , text, utf8-string
+     }:
+     mkDerivation {
+       pname = "happstack-helpers";
+       version = "0.56";
+       sha256 = "0yrspdcgxj2izivwm7fy8msfbzlpdn3zv0j1z6b1smzydcbad202";
+       buildDepends = [
+         base bytestring containers DebugTraceHelpers directory filepath
+         happstack-data happstack-ixset happstack-server happstack-state
+         haskell98 hscolour HSH HStringTemplate HStringTemplateHelpers HTTP
+         MissingH mtl network old-time parsec PBKDF2 pureMD5 random safe syb
+         text utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/tphyahoo/HAppSHelpers/home";
+       description = "Convenience functions for Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-hsp" = callPackage
+    ({ mkDerivation, base, bytestring, happstack-server, harp, hsp
+     , hsx2hs, mtl, syb, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "happstack-hsp";
+       version = "7.3.4";
+       sha256 = "08msr1l0fan2xs1bmczv9cjbik984m2c7hpzqjkgh3mkwwgf1nqf";
+       buildDepends = [
+         base bytestring happstack-server harp hsp hsx2hs mtl syb text
+         utf8-string
+       ];
+       homepage = "http://www.happstack.com/";
+       description = "Support for using HSP templates in Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-hstringtemplate" = callPackage
+    ({ mkDerivation, base, bytestring, happstack-server, hslogger
+     , HStringTemplate, mtl
+     }:
+     mkDerivation {
+       pname = "happstack-hstringtemplate";
+       version = "7.0.4";
+       sha256 = "1pcj6vixzrbdmqi2yxcxhjnj5rdwlyg4nzcjkgks01ilgpg7fsf4";
+       buildDepends = [
+         base bytestring happstack-server hslogger HStringTemplate mtl
+       ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Support for using HStringTemplate in Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-ixset" = callPackage
+    ({ mkDerivation, base, containers, happstack-data, happstack-util
+     , mtl, syb, syb-with-class, template-haskell
+     }:
+     mkDerivation {
+       pname = "happstack-ixset";
+       version = "6.0.1";
+       sha256 = "1hnhn0iyfw5rknz17p7m1p3rrngr77zv3lkni8d35q50bzzyw8ni";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers happstack-data happstack-util mtl syb
+         syb-with-class template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "Efficient relational queries on Haskell sets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-jmacro" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cereal
+     , digest, happstack-server, jmacro, text, utf8-string
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "happstack-jmacro";
+       version = "7.0.9";
+       sha256 = "005naz3zxl01vpz8w4n66dbd8sj94gazpj16rxf3li7zh0pixpsg";
+       buildDepends = [
+         base base64-bytestring bytestring cereal digest happstack-server
+         jmacro text utf8-string wl-pprint-text
+       ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Support for using JMacro with Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-lite" = callPackage
+    ({ mkDerivation, base, bytestring, happstack-server, mtl, text }:
+     mkDerivation {
+       pname = "happstack-lite";
+       version = "7.3.6";
+       sha256 = "1mvzpbmjgf5gv9ls5kmg0s6cr765jl701vy2kmbynjkg6jimjmp8";
+       buildDepends = [ base bytestring happstack-server mtl text ];
+       homepage = "http://www.happstack.com/";
+       description = "Happstack minus the useless stuff";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-monad-peel" = callPackage
+    ({ mkDerivation, base, happstack-server, monad-peel, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "happstack-monad-peel";
+       version = "0.1";
+       sha256 = "0v6lshy572pvzhgqphyrhw8w2wsgxp9mqz8p3lrxmcp3i7sgqbry";
+       buildDepends = [
+         base happstack-server monad-peel mtl transformers
+       ];
+       description = "monad-peel instances for Happstack types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-plugins" = callPackage
+    ({ mkDerivation, base, happstack-server, mtl, plugins-auto
+     , template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "happstack-plugins";
+       version = "7.0.2";
+       sha256 = "07zh0gk77rbd1akzax29l7d6412sx5ghjhz640d6cbzxs39nlaif";
+       buildDepends = [
+         base happstack-server mtl plugins-auto template-haskell th-lift
+       ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "The haskell application server stack + reload";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-server" = callPackage
+    ({ 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
+     , time-compat, transformers, transformers-base, transformers-compat
+     , unix, utf8-string, xhtml, zlib
+     }:
+     mkDerivation {
+       pname = "happstack-server";
+       version = "7.4.3";
+       sha256 = "0ij359i1lmxs1gpzl6spli94s0mpp6mbbhjcf4jrbxkpavdg8g73";
+       buildDepends = [
+         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
+       ];
+       testDepends = [ base bytestring containers HUnit parsec zlib ];
+       homepage = "http://happstack.com";
+       description = "Web related tools and services";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-server-tls" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-exceptions
+     , happstack-server, hslogger, HsOpenSSL, network, openssl, sendfile
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "happstack-server-tls";
+       version = "7.1.5";
+       sha256 = "148xryarw10i2smqd136yfa9snfvlxrx62974zvavcn2jfimmcny";
+       buildDepends = [
+         base bytestring extensible-exceptions happstack-server hslogger
+         HsOpenSSL network sendfile time unix
+       ];
+       extraLibraries = [ openssl ];
+       homepage = "http://www.happstack.com/";
+       description = "extend happstack-server with https:// support (TLS/SSL)";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) openssl;};
+
+  "happstack-state" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , extensible-exceptions, filepath, happstack-data, happstack-util
+     , hslogger, mtl, old-time, random, stm, syb, template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "happstack-state";
+       version = "6.1.4";
+       sha256 = "1xfp0546z70sfda0z7w7ns4jhgcbx3vmnz4vsnckzhgflzmdixq9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory extensible-exceptions
+         filepath happstack-data happstack-util hslogger mtl old-time random
+         stm syb template-haskell unix
+       ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "Event-based distributed state";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-static-routing" = callPackage
+    ({ mkDerivation, base, containers, happstack-server, list-tries
+     , transformers
+     }:
+     mkDerivation {
+       pname = "happstack-static-routing";
+       version = "0.4.0";
+       sha256 = "1dpi7nmax447ilagsjdpvnbj6xh27s7bcp69c8y39cs6bmjg42v1";
+       buildDepends = [
+         base containers happstack-server list-tries transformers
+       ];
+       homepage = "https://github.com/scrive/happstack-static-routing";
+       description = "Support for static URL routing with overlap detection for Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happstack-util" = callPackage
+    ({ mkDerivation, array, base, bytestring, directory
+     , extensible-exceptions, filepath, hslogger, mtl, network
+     , old-locale, old-time, parsec, process, random, template-haskell
+     , time, unix, unix-compat
+     }:
+     mkDerivation {
+       pname = "happstack-util";
+       version = "6.0.3";
+       sha256 = "0hqssd5wzir6rxn46q8r3hdp3nl7v5m7w322j39120xpg2bhiphh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring directory extensible-exceptions filepath
+         hslogger mtl network old-locale old-time parsec process random
+         template-haskell time unix unix-compat
+       ];
+       jailbreak = true;
+       homepage = "http://happstack.com";
+       description = "Web framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happstack-yui" = callPackage
+    ({ mkDerivation, base, boomerang, bytestring, containers, directory
+     , happstack-jmacro, happstack-server, hsp, interpolatedstring-perl6
+     , jmacro, mtl, pretty, template-haskell, text, web-routes
+     , web-routes-boomerang, web-routes-happstack, web-routes-th
+     }:
+     mkDerivation {
+       pname = "happstack-yui";
+       version = "7373.5.3";
+       sha256 = "178r3jqxmrdp0glp9p4baw8x7zk0w8j4m5l173rjnz9yxn53nyni";
+       buildDepends = [
+         base boomerang bytestring containers directory happstack-jmacro
+         happstack-server hsp interpolatedstring-perl6 jmacro mtl pretty
+         template-haskell text web-routes web-routes-boomerang
+         web-routes-happstack web-routes-th
+       ];
+       jailbreak = true;
+       homepage = "http://hub.darcs.net/dag/yui/browse/happstack-yui";
+       description = "Utilities for using YUI3 with Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happy" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, perl, process }:
+     mkDerivation {
+       pname = "happy";
+       version = "1.19.5";
+       revision = "1";
+       sha256 = "1nj353q4z1g186fpjzf0dnsg71qhxqpamx8jy89rjjvv3p0kmw32";
+       editedCabalFile = "d6a01f50aab2c480799b7d19643c5bb01891e01ac97aa892ffec3e6029a1446c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers mtl ];
+       testDepends = [ base process ];
+       buildTools = [ perl ];
+       homepage = "http://www.haskell.org/happy/";
+       description = "Happy is a parser generator for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) perl;};
+
+  "happy-meta" = callPackage
+    ({ mkDerivation, array, base, containers, happy, haskell-src-meta
+     , mtl, template-haskell
+     }:
+     mkDerivation {
+       pname = "happy-meta";
+       version = "0.2.0.7";
+       sha256 = "12599233lh0ffmvlim0gs5jzg8lly1g11i1cg44lb37bz3l7psh9";
+       buildDepends = [
+         array base containers haskell-src-meta mtl template-haskell
+       ];
+       buildTools = [ happy ];
+       description = "Quasi-quoter for Happy parsers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "happybara" = callPackage
+    ({ mkDerivation, aeson, base, filepath, http-types, lifted-base
+     , monad-control, mtl, text, time, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "happybara";
+       version = "0.0.1";
+       sha256 = "1lp2awvj077d16gppir6nv9fx6d9g1k7w6j01bxkffy3q5x04xrv";
+       buildDepends = [
+         aeson base filepath http-types lifted-base monad-control mtl text
+         time transformers transformers-base
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/cstrahan/happybara";
+       description = "Acceptance test framework for web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happybara-webkit" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , data-default, directory, filepath, happybara, http-types
+     , lifted-base, monad-control, mtl, network, process, text, time
+     , transformers, transformers-base, vector, word8
+     }:
+     mkDerivation {
+       pname = "happybara-webkit";
+       version = "0.0.1";
+       sha256 = "17446wkyljwd7nq6mhsj2v411zb9wsz833sczm4nzcigywvhx4fw";
+       buildDepends = [
+         aeson base bytestring case-insensitive data-default directory
+         filepath happybara http-types lifted-base monad-control mtl network
+         process text time transformers transformers-base vector word8
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/cstrahan/happybara/happybara-webkit";
+       description = "WebKit Happybara driver";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "happybara-webkit-server" = callPackage
+    ({ mkDerivation, base, directory, filepath, process }:
+     mkDerivation {
+       pname = "happybara-webkit-server";
+       version = "0.0.1";
+       sha256 = "0vh9ig9mvg12qgysk7gbqwiib3m2ciwi10asb1i0x25xjp585shi";
+       buildDepends = [ base directory filepath process ];
+       jailbreak = true;
+       homepage = "https://github.com/cstrahan/happybara/happybara-webkit-server";
+       description = "WebKit Server binary for Happybara (taken from capybara-webkit)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "har" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath, text
+     }:
+     mkDerivation {
+       pname = "har";
+       version = "0.1.1.0";
+       sha256 = "0x51sqlybfq2pqv6nrhvf50yds3gs08sfih7zi9ijvn5dkrxx1z3";
+       buildDepends = [ aeson base bytestring directory filepath text ];
+       homepage = "https://github.com/freizl/har";
+       description = "HAR spec in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "harchive" = callPackage
+    ({ mkDerivation, base, binary, network, openssl, parsec, sqlite
+     , unix, zlib
+     }:
+     mkDerivation {
+       pname = "harchive";
+       version = "0.2";
+       sha256 = "10485indn9sszq3514gs547phb0kpikm8m6ykq1ns2kp0pmkgz9m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary network parsec unix zlib ];
+       extraLibraries = [ openssl sqlite ];
+       homepage = "http://www.davidb.org/darcs/harchive/";
+       description = "Networked content addressed backup and restore software";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) openssl;  inherit (pkgs) sqlite;};
+
+  "hark" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, haskell98
+     , mtl, old-locale, old-time, regex-pcre
+     }:
+     mkDerivation {
+       pname = "hark";
+       version = "0.2";
+       sha256 = "1wxwxx3l4zvb1jr19lckamb0gxywsq1f4n4ncb373vqdnwnrr8x4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath haskell98 mtl old-locale
+         old-time regex-pcre
+       ];
+       homepage = "http://code.google.com/p/hark/";
+       description = "A Gentoo package query tool";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haroonga" = callPackage
+    ({ mkDerivation, base, bindings-DSL, groonga, monad-control
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "haroonga";
+       version = "0.1.7.1";
+       sha256 = "0j4668611qazzwb4w05v0xliw1w0a7kmlz0g2z9ixz0kywbfim2g";
+       buildDepends = [
+         base bindings-DSL monad-control resourcet transformers
+       ];
+       pkgconfigDepends = [ groonga ];
+       description = "Low level bindings for Groonga";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { groonga = null;};
+
+  "haroonga-httpd" = callPackage
+    ({ mkDerivation, base, directory, haroonga, http-types, old-locale
+     , optparse-applicative, scotty, text, time, transformers, wai-extra
+     }:
+     mkDerivation {
+       pname = "haroonga-httpd";
+       version = "0.1.1.0";
+       sha256 = "1745b7khz1dn7n9w3z89na01jap62vbg1mb6c7i9n2mgwkkrys5g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory haroonga http-types old-locale optparse-applicative
+         scotty text time transformers wai-extra
+       ];
+       description = "Yet another Groonga http server";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "harp" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "harp";
+       version = "0.4";
+       sha256 = "0fk3prqai1ynm5wdfsn9f700i9r499jc2z9fbsgy81k1rci2mrxh";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.chalmers.se/~d00nibro/harp/";
+       description = "HaRP allows pattern-matching with regular expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "harpy" = callPackage
+    ({ mkDerivation, array, base, containers, disassembler, mtl, parsec
+     , pretty, template-haskell
+     }:
+     mkDerivation {
+       pname = "harpy";
+       version = "0.5.0.0";
+       sha256 = "11h235j9348i01qcmvc389khl8xp5azj3y31g75cs59kiblz1bk7";
+       buildDepends = [
+         array base containers disassembler mtl parsec pretty
+         template-haskell
+       ];
+       homepage = "http://code.haskell.org/harpy/";
+       description = "Runtime code generation for x86 machine code";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "has" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "has";
+       version = "0.5.0.1";
+       sha256 = "0zydwhr2ac66knmrlf0b9vsys61w6370g9rid2gag2dvmy7xqp2s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base QuickCheck ];
+       homepage = "http://github.com/nonowarn/has";
+       description = "Entity based records";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "has-th" = callPackage
+    ({ mkDerivation, base, has, template-haskell }:
+     mkDerivation {
+       pname = "has-th";
+       version = "0.1";
+       sha256 = "0yyrfd8mgxwyfgwcg61q7yj2cq2zj6zlk1l340y4vzj71r53qgc4";
+       buildDepends = [ base has template-haskell ];
+       homepage = "http://github.com/chrisdone/has-th";
+       description = "Template Haskell function for Has records";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hascal" = callPackage
+    ({ mkDerivation, base, HUnit, numbers }:
+     mkDerivation {
+       pname = "hascal";
+       version = "2.0.0.1";
+       sha256 = "1nq383fg2cn82rbmnp6kgzyk42fgp9xnqj84ypz0kf42954n4h1l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base numbers ];
+       testDepends = [ HUnit ];
+       homepage = "http://darcsden.com/mekeor/hascal";
+       description = "A minimalistic but extensible and precise calculator";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hascat" = callPackage
+    ({ mkDerivation, base, bytestring, hascat-lib, hascat-setup
+     , hascat-system, HaXml, haxr, html, HTTP, network, unix
+     }:
+     mkDerivation {
+       pname = "hascat";
+       version = "0.2";
+       sha256 = "04z9q3l2hwf7lii8d3cxbh7zh6cqbbmy07yv5bal4lvrnd1wqia7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring hascat-lib hascat-setup hascat-system HaXml haxr
+         html HTTP network unix
+       ];
+       jailbreak = true;
+       description = "Hascat Web Server";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hascat-lib" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, haskell98
+     , HaXml, html, HTTP, mtl, network, old-locale, old-time, parsec
+     , plugins, xhtml
+     }:
+     mkDerivation {
+       pname = "hascat-lib";
+       version = "0.2";
+       sha256 = "0l2cixgnyv2xhbpvkzrrn1wxikx7gcmwpkwagkfzx27iy33xkrqj";
+       buildDepends = [
+         base bytestring containers directory haskell98 HaXml html HTTP mtl
+         network old-locale old-time parsec plugins xhtml
+       ];
+       jailbreak = true;
+       description = "Hascat Package";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hascat-setup" = callPackage
+    ({ mkDerivation, base, directory, hascat-lib, hascat-system
+     , haskell98, plugins
+     }:
+     mkDerivation {
+       pname = "hascat-setup";
+       version = "0.2";
+       sha256 = "058abyr70yr2130nbi64zhigglw207dh5anyxzw19c1qk4zmwsyi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory hascat-lib hascat-system haskell98 plugins
+       ];
+       description = "Hascat Installation helper";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hascat-system" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hascat-lib, HaXml
+     , HTTP, mtl, network, old-time, parsec, plugins, unix
+     }:
+     mkDerivation {
+       pname = "hascat-system";
+       version = "0.2";
+       sha256 = "1fabn71llrlxs5xlcpzkkvzjv7zibxlna0jvh6rkrz6pqyp1nd94";
+       buildDepends = [
+         base bytestring containers hascat-lib HaXml HTTP mtl network
+         old-time parsec plugins unix
+       ];
+       jailbreak = true;
+       description = "Hascat System Package";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hash" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, data-default
+     , directory, doctest, filepath, generic-deriving, hashable, lens
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hash";
+       version = "0.2.0.1";
+       sha256 = "1ka6izpkz6gs4ag3xvnslxywi9344w3mh9rl968vq6ck203pv2rx";
+       buildDepends = [
+         base bifunctors bytestring data-default generic-deriving hashable
+         lens transformers
+       ];
+       testDepends = [ base directory doctest filepath ];
+       jailbreak = true;
+       homepage = "http://github.com/analytics/hash/";
+       description = "Hashing tools";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hashable" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, HUnit, integer-gmp
+     , QuickCheck, random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, unix
+     }:
+     mkDerivation {
+       pname = "hashable";
+       version = "1.2.3.2";
+       sha256 = "0h9295pv2sgbaqlwpwbx2bap6nngm0jcdhkqham1wpjwyxqgqrlc";
+       buildDepends = [ base bytestring ghc-prim integer-gmp text ];
+       testDepends = [
+         base bytestring ghc-prim HUnit QuickCheck random test-framework
+         test-framework-hunit test-framework-quickcheck2 text unix
+       ];
+       homepage = "http://github.com/tibbe/hashable";
+       description = "A class for types that can be converted to a hash value";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hashable-extras" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, directory, doctest
+     , filepath, generic-deriving, hashable, transformers
+     }:
+     mkDerivation {
+       pname = "hashable-extras";
+       version = "0.2.0.1";
+       revision = "1";
+       sha256 = "09y2m0wpim7sl7n9qnkr0miwfsbvb1q8lm6shpcq0jxzxknbag7s";
+       editedCabalFile = "0797bee08c6190172fa48ce7f2821160efcd26f9fcf2afce08ea64737c1aef7d";
+       buildDepends = [
+         base bifunctors bytestring generic-deriving hashable transformers
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/analytics/hashable-extras/";
+       description = "Higher-rank Hashable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hashable-generics" = callPackage
+    ({ mkDerivation, base, ghc-prim, hashable, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hashable-generics";
+       version = "1.1.8";
+       sha256 = "1l5i4lasz32hsjvm9fbf7p9fy7s6bjy868w7rmpxci40qkz7ffhq";
+       buildDepends = [ base ghc-prim hashable ];
+       testDepends = [
+         base ghc-prim hashable QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/wowus/hashable-generics";
+       description = "Automatically generates Hashable instances with GHC.Generics.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hashable-time" = callPackage
+    ({ mkDerivation, base, hashable, time }:
+     mkDerivation {
+       pname = "hashable-time";
+       version = "0.1.0.1";
+       sha256 = "1137cc7jyyn293g3nx9bs4mw4r8i7k9cq0rz5f5rs7j8997gkmbf";
+       buildDepends = [ base hashable time ];
+       description = "Hashable instances for Data.Time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hashed-storage" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, dataenc
+     , directory, extensible-exceptions, filepath, mmap, mtl, zlib
+     }:
+     mkDerivation {
+       pname = "hashed-storage";
+       version = "0.5.11";
+       sha256 = "0s8mnayxlvwrrii2l63b372yi5g08br6gpbgz2256d8y128mwjvk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers dataenc directory
+         extensible-exceptions filepath mmap mtl zlib
+       ];
+       description = "Hashed file storage support code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hashmap" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable }:
+     mkDerivation {
+       pname = "hashmap";
+       version = "1.3.0.1";
+       sha256 = "16scl1rbq0f18mggrj4lbhgkz7kzshsw9a523rjd8cjkdjz1ijwr";
+       buildDepends = [ base containers deepseq hashable ];
+       homepage = "http://git.auryn.cz/haskell/hashmap/";
+       description = "Persistent containers Map and Set based on hashing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hashring" = callPackage
+    ({ mkDerivation, base, containers, hashable, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hashring";
+       version = "0.0.0";
+       sha256 = "05q9iay0ygr79x8yikgbi99v74kagyrd68zvjx8qakfzqgs9a19j";
+       buildDepends = [ base containers hashable ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mkscrg/hashring";
+       description = "Efficient consistent hashing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hashtables" = callPackage
+    ({ mkDerivation, base, ghc-prim, hashable, primitive, vector }:
+     mkDerivation {
+       pname = "hashtables";
+       version = "1.2.0.2";
+       sha256 = "0dqq5ssgkqzplqf5dmc4l8cj28j5py7i6n6a069qn4cibvxfjaq1";
+       buildDepends = [ base ghc-prim hashable primitive vector ];
+       homepage = "http://github.com/gregorycollins/hashtables";
+       description = "Mutable hash tables in the ST monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hashtables-plus" = callPackage
+    ({ mkDerivation, base, hashable, hashtables, loch-th, placeholders
+     }:
+     mkDerivation {
+       pname = "hashtables-plus";
+       version = "0.2.0";
+       sha256 = "0g9jmc15g36iy0wmmsj74qwybh509j4lf8jzv3dws7c2j24kc7l7";
+       buildDepends = [ base hashable hashtables loch-th placeholders ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/hashtables-plus";
+       description = "Extensions for a \"hashtables\" library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hasim" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "hasim";
+       version = "0.1.2";
+       sha256 = "03wn142r0sh7adfghjqwb2mgq4rgkqs8nq2rx2jq717dr2xp987n";
+       buildDepends = [ base containers mtl ];
+       homepage = "http://huygens.functor.nl/hasim/";
+       description = "Process-Based Discrete Event Simulation library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hask" = callPackage
+    ({ mkDerivation, base, constraints, ghc-prim, reflection, tagged
+     , transformers, void
+     }:
+     mkDerivation {
+       pname = "hask";
+       version = "0";
+       revision = "1";
+       sha256 = "1c87jxafxpnlyblhdif4br61wqvnad0s6hvfhmzhx9y1jri3rb39";
+       editedCabalFile = "04abcba45a7fbaa11d7f3bd9834f1e70a30f356ae871e59ab472f20d4cd60026";
+       buildDepends = [
+         base constraints ghc-prim reflection tagged transformers void
+       ];
+       homepage = "http://github.com/ekmett/hask";
+       description = "Categories";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hask-home" = callPackage
+    ({ mkDerivation, base, Cabal, directory, hmarkup, hsemail, network
+     , parsec, process, regex-compat, xhtml
+     }:
+     mkDerivation {
+       pname = "hask-home";
+       version = "2009.3.18";
+       sha256 = "128hkd1yycjvbnvwjd2r2mxhjdnmfkghyf0fcslh9fxprqgrhk18";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory hmarkup hsemail network parsec process
+         regex-compat xhtml
+       ];
+       homepage = "http://gregheartsfield.com/hask-home";
+       description = "Generate homepages for cabal packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskades" = callPackage
+    ({ mkDerivation, base, bytestring, containers, errors, haskell-src
+     , text, text-format
+     }:
+     mkDerivation {
+       pname = "haskades";
+       version = "0.2.1";
+       sha256 = "19cglzgzxbg65qr7m68gnc6y45b7n0wl98pgd9jrk20sblrhc6p6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers errors haskell-src text text-format
+       ];
+       homepage = "http://github.com/singpolyma/haskades";
+       description = "Utility to generate bindings for BlackBerry Cascades";
+       license = "unknown";
+     }) {};
+
+  "haskakafka" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, containers, either-unwrap
+     , hspec, rdkafka, regex-posix, temporary, unix
+     }:
+     mkDerivation {
+       pname = "haskakafka";
+       version = "1.0.0";
+       sha256 = "0j1vii11lp91gydw3h0hb2b3lb85n9cji9m9rvb1d7svs91nhhk7";
+       buildDepends = [ base bytestring containers temporary unix ];
+       testDepends = [
+         base bytestring containers either-unwrap hspec regex-posix
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ rdkafka ];
+       homepage = "http://github.com/cosbynator/haskakafka";
+       description = "Kafka bindings for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) rdkafka;};
+
+  "haskanoid" = callPackage
+    ({ mkDerivation, base, freenect, hcwiid, IfElse, MissingH, mtl, SDL
+     , SDL-image, SDL-mixer, SDL-ttf, transformers, vector, Yampa
+     }:
+     mkDerivation {
+       pname = "haskanoid";
+       version = "0.1.3";
+       sha256 = "11hwnjw01bra1xcp71kn2sdlk2a46vfv6sblymgf56mcqnj9pkra";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base freenect hcwiid IfElse MissingH mtl SDL SDL-image SDL-mixer
+         SDL-ttf transformers vector Yampa
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ivanperez-keera/haskanoid";
+       description = "A breakout game written in Yampa using SDL";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskarrow" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, cpphs, directory
+     , her-lexer, split
+     }:
+     mkDerivation {
+       pname = "haskarrow";
+       version = "0.0";
+       sha256 = "01l90qningjlb4wn02avjy9lmi4ry4yxzw0a9sd29qbzfpnf3viy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers cpphs directory her-lexer split
+       ];
+       description = "A dialect of haskell with order of execution based on dependency resolution";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskbot-core" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, connection, containers
+     , hspec, http-conduit, http-types, monads-tf, stm, text, wai, warp
+     }:
+     mkDerivation {
+       pname = "haskbot-core";
+       version = "0.1";
+       sha256 = "0alqjgg2gvb9610s2b4fil5frknn5j8d6r558bfp1n6a0d51pz74";
+       buildDepends = [
+         aeson base bytestring connection containers http-conduit http-types
+         monads-tf stm text wai warp
+       ];
+       testDepends = [
+         aeson base bytestring connection containers hspec http-conduit
+         http-types monads-tf stm text wai warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jonplussed/haskbot-core";
+       description = "Easily-extensible chatbot for Slack messaging service";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "haskdeep" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base
+     , base16-bytestring, bytestring, cereal, conduit, containers
+     , crypto-api, crypto-conduit, cryptohash, cryptohash-cryptoapi
+     , filesystem-conduit, old-locale, optparse-applicative, regex-tdfa
+     , regex-tdfa-text, system-fileio, system-filepath, text, time
+     }:
+     mkDerivation {
+       pname = "haskdeep";
+       version = "0.2.0.0";
+       sha256 = "1kfrnhcx4805aimb16ji5s9hpyfc113y8m3ajq2wws7phy401r5l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec attoparsec-conduit base base16-bytestring bytestring
+         cereal conduit containers crypto-api crypto-conduit cryptohash
+         cryptohash-cryptoapi filesystem-conduit old-locale
+         optparse-applicative regex-tdfa regex-tdfa-text system-fileio
+         system-filepath text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/maurotrb/haskdeep";
+       description = "Computes and audits file hashes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskdogs" = callPackage
+    ({ mkDerivation, base, Cabal, filepath, HSH }:
+     mkDerivation {
+       pname = "haskdogs";
+       version = "0.3.2";
+       sha256 = "0vl3c66ki9j9ncs2rapdn80kbfk0l3y97qwfraqlnjycdl10sm6r";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal filepath HSH ];
+       homepage = "http://github.com/ierton/haskdogs";
+       description = "Generate ctags file for haskell project directory and it's deps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskeem" = callPackage
+    ({ mkDerivation, base, containers, directory, haskeline, haskell98
+     , mtl, network, old-time, parsec, process, random, unix
+     }:
+     mkDerivation {
+       pname = "haskeem";
+       version = "0.7.16";
+       sha256 = "0fmglaiq2axpb9f4yyk53fpppc1ysqglqgjxhy78yl3r8mik836n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory haskeline haskell98 mtl network old-time
+         parsec process random unix
+       ];
+       homepage = "http://www.korgwal.com/haskeem/";
+       description = "A small scheme interpreter";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskeline_0_7_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , terminfo, transformers, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "haskeline";
+       version = "0.7.2.1";
+       sha256 = "09v4vy6nf23b13ws9whdqwv84mj1nhnla88rw2939qyqxb4a6mmf";
+       buildDepends = [
+         base bytestring containers directory filepath terminfo transformers
+         unix utf8-string
+       ];
+       configureFlags = [ "-fterminfo" ];
+       homepage = "http://trac.haskell.org/haskeline";
+       description = "A command-line interface for user input, written in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskeline-class" = callPackage
+    ({ mkDerivation, base, haskeline, mtl }:
+     mkDerivation {
+       pname = "haskeline-class";
+       version = "0.6.2";
+       sha256 = "0xgdq2xgw2ccyfzkj5n36s5n6km5l947d2iy4y1qms8kbc05zmfl";
+       buildDepends = [ base haskeline mtl ];
+       jailbreak = true;
+       homepage = "http://community.haskell.org/~aslatter/code/haskeline-class";
+       description = "Class interface for working with Haskeline";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-aliyun" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, basic-prelude
+     , blaze-builder, bytestring, case-insensitive, conduit, Crypto
+     , data-default, http-conduit, http-types, lifted-base
+     , monad-control, old-locale, resourcet, safe, system-filepath, text
+     , time, transformers, transformers-base, vector, xml2json
+     }:
+     mkDerivation {
+       pname = "haskell-aliyun";
+       version = "0.1.0.0";
+       sha256 = "1id1l7arf3yq9mym6ds58k5wins57k71v8fgzyhxsg81657vh74a";
+       buildDepends = [
+         aeson base base64-bytestring basic-prelude blaze-builder bytestring
+         case-insensitive conduit Crypto data-default http-conduit
+         http-types lifted-base monad-control old-locale resourcet safe
+         system-filepath text time transformers transformers-base vector
+         xml2json
+       ];
+       homepage = "https://github.com/yihuang/haskell-aliyun/";
+       description = "haskell client of aliyun service";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-awk" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, doctest
+     , easy-file, exceptions, filepath, haskell-src-exts, hint, hspec
+     , HUnit, MonadCatchIO-mtl, mtl, network, process, stringsearch
+     , temporary, test-framework, test-framework-hunit, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "haskell-awk";
+       version = "1.1";
+       revision = "3";
+       sha256 = "0ic21rfm35jp7476pm6ggkp4faqsn9rhvzb58b497ilgj9wzv1dp";
+       editedCabalFile = "dda4e94c57a8fce2f7d269dc09363ee84b71b33863bf1601347fa5a4b1a55698";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory easy-file exceptions filepath
+         haskell-src-exts hint MonadCatchIO-mtl mtl network process
+         stringsearch time transformers
+       ];
+       testDepends = [
+         base bytestring containers directory doctest easy-file exceptions
+         filepath haskell-src-exts hint hspec HUnit mtl network process
+         stringsearch temporary test-framework test-framework-hunit time
+         transformers
+       ];
+       jailbreak = true;
+       description = "Transform text from the command-line using Haskell expressions";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-bcrypt" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "haskell-bcrypt";
+       version = "0.3.1";
+       sha256 = "1w8crppmm02qw03n59s7dnqfhmqwmd44sj8qm38bf90fabl1wa7d";
+       buildDepends = [ base bytestring ];
+       homepage = "http://www.github.com/zbskii/haskell-bcrypt";
+       description = "A bcrypt implementation for haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-brainfuck" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, parsec, QuickCheck, tasty
+     , tasty-quickcheck, tasty-th
+     }:
+     mkDerivation {
+       pname = "haskell-brainfuck";
+       version = "0.1.0.1";
+       sha256 = "12yhnlcif0jj9pmi3a098f1swvnww45rg2rpn6g82bkjzmd4sjr8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring mtl parsec ];
+       testDepends = [
+         base bytestring mtl QuickCheck tasty tasty-quickcheck tasty-th
+       ];
+       jailbreak = true;
+       description = "BrainFuck interpreter";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-cnc" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , extensible-exceptions, ghc-prim, HSH, HUnit, MissingH, mtl
+     , process, random, time, unix
+     }:
+     mkDerivation {
+       pname = "haskell-cnc";
+       version = "0.1.3.200";
+       sha256 = "0x1kjdxbayq6z85w9fw6c4mpixzl60332wxgx4nh0ih9235jfdhd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory extensible-exceptions
+         ghc-prim HSH HUnit MissingH mtl process random time unix
+       ];
+       homepage = "http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/";
+       description = "Library for parallel programming in the Intel Concurrent Collections paradigm";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-coffee" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "haskell-coffee";
+       version = "0.1.0.1";
+       sha256 = "0g95vhqga7hq6w6x993d29wpphcqidmm0vzni93blqka7yfc7ybb";
+       buildDepends = [ base process ];
+       jailbreak = true;
+       description = "Simple CoffeeScript API";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "haskell-compression" = callPackage
+    ({ mkDerivation, base, bimap, boolean-list, bytestring, containers
+     }:
+     mkDerivation {
+       pname = "haskell-compression";
+       version = "0.1.1";
+       sha256 = "0d0rfkl6ladsl0s033ny390nk5qkiwddg84di0d8hgxblqsxj11m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bimap boolean-list bytestring containers ];
+       homepage = "codekinder.com";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-course-preludes" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "haskell-course-preludes";
+       version = "0.0.0.4";
+       sha256 = "1r0vhaxcsszrcqnw70gz8xpfrqddmxf9kpka63gix1bjic4alzjn";
+       buildDepends = [ base deepseq ];
+       description = "Small modules for a Haskell course in which Haskell is taught by implementing Prelude functionality";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "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
+     }:
+     mkDerivation {
+       pname = "haskell-docs";
+       version = "4.2.5";
+       sha256 = "09xagxs0br6781flp430syfn6yv36ri0y1yki8cakrn7ak722fq2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base16-bytestring bytestring Cabal containers cryptohash
+         directory filepath ghc ghc-paths haddock-api monad-loops process
+         text unordered-containers
+       ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://github.com/chrisdone/haskell-docs";
+       description = "A program to find and display the docs and type of a name";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-formatter" = callPackage
+    ({ mkDerivation, base, containers, directory, directory-tree
+     , doctest, filemanip, filepath, haskell-src-exts, hlint
+     , optparse-applicative, scientific, tasty, tasty-hunit, text
+     , unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "haskell-formatter";
+       version = "1.0.0";
+       sha256 = "0mrcd57g3pnn11smgak51pikxxf5zsi7h06f270pmf2r1vv2977b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath haskell-src-exts
+         optparse-applicative scientific text unordered-containers yaml
+       ];
+       testDepends = [
+         base containers directory-tree doctest filemanip filepath hlint
+         tasty tasty-hunit
+       ];
+       homepage = "https://github.com/evolutics/haskell-formatter";
+       description = "Haskell source code formatter";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-ftp" = callPackage
+    ({ mkDerivation, base, basic-prelude, bytestring, case-insensitive
+     , conduit, directory, lifted-base, monad-control, network
+     , network-conduit, process-conduit, system-filepath, text
+     , transformers, transformers-base, unix
+     }:
+     mkDerivation {
+       pname = "haskell-ftp";
+       version = "0.1.0.1";
+       sha256 = "0736kh5q63qgvq23k5w06ds9538cwymk64i5wdycxh35lz64qaip";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base basic-prelude bytestring case-insensitive conduit directory
+         lifted-base monad-control network network-conduit process-conduit
+         system-filepath text transformers transformers-base unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/yihuang/haskell-ftp";
+       description = "A Haskell ftp server with configurable backend";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-generate" = callPackage
+    ({ mkDerivation, base, containers, directory, doctest, filepath
+     , haskell-src-exts, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "haskell-generate";
+       version = "0.2.3";
+       sha256 = "07j0z9jxxgbxfxz9bpy5w8nphrqsl5wyq1jysfhypfi7v87nv9an";
+       buildDepends = [
+         base containers haskell-src-exts template-haskell transformers
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/bennofs/haskell-generate/";
+       description = "Typesafe generation of haskell source code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-in-space" = callPackage
+    ({ mkDerivation, base, HGL, random }:
+     mkDerivation {
+       pname = "haskell-in-space";
+       version = "0.1.1";
+       sha256 = "1rcz5s3xa0f9yalyqb540l47bzql8p18y2mmax1zr92m7sh7m274";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HGL random ];
+       homepage = "http://www.informatik.uni-bremen.de/~cxl/lehre/pi3.ws01/asteroids/";
+       description = "'Asteroids' arcade games";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-lexer" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "haskell-lexer";
+       version = "1.0";
+       sha256 = "11jv30msg4rym73lk6j21ky2510c3av8qxk5p4z63j4m283w9l46";
+       buildDepends = [ base ];
+       description = "A fully compliant Haskell 98 lexer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-modbus" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, hspec }:
+     mkDerivation {
+       pname = "haskell-modbus";
+       version = "0.3.2";
+       sha256 = "08bcw7g84509rak9xqn2g4pr1mk3a2clikgfdiafrsr7lff16gyf";
+       buildDepends = [ array base bytestring cereal ];
+       testDepends = [ array base bytestring cereal hspec ];
+       homepage = "http://www.github.com/jhickner/haskell-modbus";
+       description = "A cereal-based parser for the Modbus protocol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-mpi" = callPackage
+    ({ mkDerivation, array, base, bytestring, c2hs, cereal
+     , extensible-exceptions, open-pal, open-rte, openmpi
+     }:
+     mkDerivation {
+       pname = "haskell-mpi";
+       version = "1.4.0";
+       sha256 = "1aw8jjvysdf3vsf6rcxnvwnqpiqmfrp88gryngakjjkxwzzh5an0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cereal extensible-exceptions
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ open-pal open-rte openmpi ];
+       homepage = "http://github.com/bjpop/haskell-mpi";
+       description = "Distributed parallel programming in Haskell using MPI";
+       license = stdenv.lib.licenses.bsd3;
+     }) { open-pal = null;  open-rte = null;  inherit (pkgs) openmpi;};
+
+  "haskell-names" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , data-lens-light, filemanip, filepath, haskell-packages
+     , haskell-src-exts, hse-cpp, mtl, pretty-show, tagged, tasty
+     , tasty-golden, transformers, traverse-with-class, type-eq
+     , uniplate, utf8-string
+     }:
+     mkDerivation {
+       pname = "haskell-names";
+       version = "0.5.2";
+       sha256 = "0dxv33facklxyy6x9a3xxwv5avfzn6jbigl7zdd2zkvrr6rnz9zf";
+       buildDepends = [
+         aeson base bytestring Cabal containers data-lens-light filepath
+         haskell-packages haskell-src-exts hse-cpp mtl tagged transformers
+         traverse-with-class type-eq uniplate
+       ];
+       testDepends = [
+         aeson base bytestring Cabal containers filemanip filepath
+         haskell-packages haskell-src-exts hse-cpp mtl pretty-show tagged
+         tasty tasty-golden traverse-with-class uniplate utf8-string
+       ];
+       homepage = "http://documentup.com/haskell-suite/haskell-names";
+       description = "Name resolution library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-neo4j-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , data-default, hashable, HTTP, http-conduit, http-types, HUnit
+     , lifted-base, mtl, QuickCheck, resourcet, scientific
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, text, transformers, transformers-base
+     , transformers-compat, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haskell-neo4j-client";
+       version = "0.3.0.15";
+       sha256 = "1gxnwz7xzf4l0d4hwi8ij95910d38l89i9x3sw051zwn4fzns1cv";
+       buildDepends = [
+         aeson base bytestring containers data-default hashable HTTP
+         http-conduit http-types lifted-base mtl resourcet scientific text
+         transformers transformers-base transformers-compat
+         unordered-containers vector
+       ];
+       testDepends = [
+         aeson base bytestring Cabal data-default hashable HTTP http-conduit
+         http-types HUnit lifted-base mtl QuickCheck resourcet scientific
+         test-framework test-framework-hunit test-framework-quickcheck2
+         test-framework-th text transformers transformers-base
+         transformers-compat unordered-containers vector
+       ];
+       homepage = "https://github.com/asilvestre/haskell-neo4j-rest-client";
+       description = "A Haskell neo4j client";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-openflow" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, network, network-info }:
+     mkDerivation {
+       pname = "haskell-openflow";
+       version = "0.0.0.1";
+       sha256 = "1zrzkvw4i7jaz74g63k1yj1v2i9lsxgr8zj2b6p3srag1dwgnmkd";
+       buildDepends = [ base bytestring cereal network network-info ];
+       testDepends = [ base ];
+       homepage = "https://github.com/brooksbp/haskell-openflow";
+       description = "OpenFlow protocol in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-packages" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , deepseq, directory, filepath, haskell-src-exts, hse-cpp, mtl
+     , optparse-applicative, tagged, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "haskell-packages";
+       version = "0.2.4.4";
+       revision = "1";
+       sha256 = "1n4il9vkszr48n0zg3kccyqa744p0cc6idamdk6xb6hj0flpqzzc";
+       editedCabalFile = "0d8b5e0dd102cc4c6aac5bc12e523d5c2ad94d981f33792b459d9373bb25c399";
+       buildDepends = [
+         aeson base bytestring Cabal containers deepseq directory filepath
+         haskell-src-exts hse-cpp mtl optparse-applicative tagged
+         transformers transformers-compat
+       ];
+       homepage = "http://documentup.com/haskell-suite/haskell-packages";
+       description = "Haskell suite library for package management and integration with Cabal";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "haskell-pdf-presenter" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, containers, directory
+     , filepath, glib, gtk, old-locale, poppler, template-haskell, time
+     , zlib
+     }:
+     mkDerivation {
+       pname = "haskell-pdf-presenter";
+       version = "0.2.5";
+       sha256 = "11y3n7ldnlx8vq2qb42kn8fg6ikq42x28bm46ivydx7h3z0zf5s3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo containers directory filepath glib gtk
+         old-locale poppler template-haskell time zlib
+       ];
+       jailbreak = true;
+       homepage = "http://michaeldadams.org/projects/haskell-pdf-presenter/";
+       description = "Tool for presenting PDF-based presentations";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-platform-test" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, Cabal, cgi
+     , containers, deepseq, directory, extensible-exceptions, fgl
+     , filepath, ghc, ghc-prim, GLUT, happy, haskell-src, haskell98, hpc
+     , html, HTTP, HUnit, mtl, network, old-locale, old-time, OpenGL
+     , parallel, parsec, pretty, process, QuickCheck, random, regex-base
+     , regex-compat, regex-posix, stm, syb, template-haskell, time, unix
+     , xhtml, zlib
+     }:
+     mkDerivation {
+       pname = "haskell-platform-test";
+       version = "2010.2.0.0";
+       sha256 = "0ki6mppxk9a6lm0miagr4mpsbjx66gizc3qxl5vfp7wvbc977bwk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring Cabal cgi containers deepseq directory
+         extensible-exceptions fgl filepath ghc ghc-prim GLUT haskell-src
+         haskell98 hpc html HTTP HUnit mtl network old-locale old-time
+         OpenGL parallel parsec pretty process QuickCheck random regex-base
+         regex-compat regex-posix stm syb template-haskell time unix xhtml
+         zlib
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~dons/code/haskell-platform-test";
+       description = "A test system for the Haskell Platform environment";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-plot" = callPackage
+    ({ mkDerivation, base, Chart, Chart-cairo, Chart-gtk, colour
+     , data-default, lens, math-functions, vector
+     }:
+     mkDerivation {
+       pname = "haskell-plot";
+       version = "0.1.0.0";
+       sha256 = "0dwa2kz3sbnhc99kzhspf4hhid9q0c8irq8m9vr95l9kbq45avpi";
+       buildDepends = [
+         base Chart Chart-cairo Chart-gtk colour data-default lens
+         math-functions vector
+       ];
+       homepage = "https://github.com/kaizhang/haskell-plot";
+       description = "A library for generating 2D plots painlessly";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-qrencode" = callPackage
+    ({ mkDerivation, base, bytestring, qrencode }:
+     mkDerivation {
+       pname = "haskell-qrencode";
+       version = "1.0.4";
+       sha256 = "1cq6fpz4vsx1kfnxnxnqz0pi5nzfg86s76vd0hcqvyqxnqbcd8hj";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ qrencode ];
+       homepage = "https://github.com/jamessanders/haskell-qrencode";
+       description = "Haskell bindings for libqrencode";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) qrencode;};
+
+  "haskell-reflect" = callPackage
+    ({ mkDerivation, base, containers, hint, MonadCatchIO-mtl, mtl
+     , parsec, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "haskell-reflect";
+       version = "0.9";
+       sha256 = "116vs8p9j0py3rxh0m53nanwsa99ga0lg9z3avn5r0clmpak9zyn";
+       buildDepends = [
+         base containers hint MonadCatchIO-mtl mtl parsec template-haskell
+         transformers
+       ];
+       description = "Reflect Haskell types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-rules" = callPackage
+    ({ mkDerivation, base, syb }:
+     mkDerivation {
+       pname = "haskell-rules";
+       version = "0.1.0.1";
+       sha256 = "03d8c1gnxd923f3fqqw06w3ibnd20llfgd7s5jgkscc872i5ghz6";
+       buildDepends = [ base syb ];
+       description = "A DSL for expressing natural deduction rules in Haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-spacegoo" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, conduit-extra
+     , mtl, pretty, pretty-show, text, vector, vector-space
+     }:
+     mkDerivation {
+       pname = "haskell-spacegoo";
+       version = "0.2.0.1";
+       sha256 = "0g6ximrv5jwibklkyr74vy3qkx8mv4xbpc7f6w1qg9gnlylzmcqy";
+       buildDepends = [
+         aeson base bytestring conduit conduit-extra mtl pretty pretty-show
+         text vector vector-space
+       ];
+       description = "Client API for Rocket Scissor Spacegoo";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-src" = callPackage
+    ({ mkDerivation, array, base, happy, pretty, syb }:
+     mkDerivation {
+       pname = "haskell-src";
+       version = "1.0.2.0";
+       sha256 = "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a";
+       buildDepends = [ array base pretty syb ];
+       buildTools = [ happy ];
+       description = "Support for manipulating Haskell source code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-src-exts_1_15_0_1" = callPackage
+    ({ mkDerivation, array, base, containers, cpphs, directory
+     , filemanip, filepath, ghc-prim, happy, mtl, pretty, smallcheck
+     , syb, tasty, tasty-golden, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "haskell-src-exts";
+       version = "1.15.0.1";
+       sha256 = "0xp5i06c478vn5m504ax5dfa7p5zc0kflbdkm2ijdzc779lpbx45";
+       buildDepends = [ array base cpphs ghc-prim pretty ];
+       testDepends = [
+         base containers directory filemanip filepath mtl smallcheck syb
+         tasty tasty-golden tasty-smallcheck
+       ];
+       buildTools = [ happy ];
+       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;
+     }) {};
+
+  "haskell-src-exts" = callPackage
+    ({ mkDerivation, array, base, containers, cpphs, directory
+     , filepath, ghc-prim, happy, mtl, pretty, smallcheck, syb, tasty
+     , tasty-golden, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "haskell-src-exts";
+       version = "1.16.0.1";
+       sha256 = "1h8gjw5g92rvvzadqzpscg73x7ajvs1wlphrh27afim3scdd8frz";
+       buildDepends = [ array base cpphs ghc-prim pretty ];
+       testDepends = [
+         base containers directory filepath mtl smallcheck syb tasty
+         tasty-golden tasty-smallcheck
+       ];
+       buildTools = [ happy ];
+       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;
+     }) {};
+
+  "haskell-src-exts-qq" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, haskell-src-meta, syb
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "haskell-src-exts-qq";
+       version = "0.6.1";
+       sha256 = "0cblv8fk369236szwzwmyaxaa8fkwia5r50zz5ghfbglb2xvwsmn";
+       buildDepends = [
+         base haskell-src-exts haskell-src-meta syb template-haskell
+       ];
+       description = "A quasiquoter for haskell-src-exts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-src-meta" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, pretty, syb
+     , template-haskell, th-orphans, uniplate
+     }:
+     mkDerivation {
+       pname = "haskell-src-meta";
+       version = "0.6.0.9";
+       sha256 = "18dhgfaski58lxgfga9dy1kcmb049758z2r55y0yyw855rdi1rxf";
+       buildDepends = [
+         base haskell-src-exts pretty syb template-haskell th-orphans
+         uniplate
+       ];
+       description = "Parse source to template-haskell abstract syntax";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell-src-meta-mwotton" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, haskell-src-exts
+     , pretty, syb, template-haskell
+     }:
+     mkDerivation {
+       pname = "haskell-src-meta-mwotton";
+       version = "0.1.0";
+       sha256 = "04f0p3jxmvw1kqygvxihdr4dirapi6bdv2w213c2s771xbnx88nn";
+       buildDepends = [
+         base containers ghc-prim haskell-src-exts pretty syb
+         template-haskell
+       ];
+       jailbreak = true;
+       description = "Parse source to template-haskell abstract syntax";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-token-utils" = callPackage
+    ({ mkDerivation, base, containers, Diff, directory, dual-tree, ghc
+     , ghc-mod, ghc-paths, ghc-prim, ghc-syb-utils, haskell-src-exts
+     , hspec, HUnit, monoid-extras, mtl, pretty, QuickCheck, rosezipper
+     , semigroups, syb, uniplate
+     }:
+     mkDerivation {
+       pname = "haskell-token-utils";
+       version = "0.0.0.6";
+       sha256 = "14nzlw9vqnp70xcwan6mjsr318p2sky5nsyqxw5iivggy7qspp9r";
+       buildDepends = [
+         base containers dual-tree ghc ghc-paths ghc-syb-utils
+         haskell-src-exts monoid-extras mtl pretty rosezipper semigroups syb
+       ];
+       testDepends = [
+         base containers Diff directory dual-tree ghc ghc-mod ghc-paths
+         ghc-prim ghc-syb-utils haskell-src-exts hspec HUnit monoid-extras
+         mtl pretty QuickCheck rosezipper semigroups syb uniplate
+       ];
+       homepage = "https://github.com/alanz/haskell-token-utils";
+       description = "Utilities to tie up tokens to an AST";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-type-exts" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts, pretty }:
+     mkDerivation {
+       pname = "haskell-type-exts";
+       version = "0.1.0";
+       sha256 = "051lsg9j3dgkr2akannfaddawdhybvsnm6x6xafmdmwn31v73z98";
+       buildDepends = [ base containers haskell-src-exts pretty ];
+       homepage = "http://code.haskell.org/haskell-type-exts";
+       description = "A type checker for Haskell/haskell-src-exts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-typescript" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "haskell-typescript";
+       version = "0.1.0.0";
+       sha256 = "0fv533nac6dlawgffr1kvn4xpv63hdcb4wgyqbbg2s6dg9a2hw38";
+       buildDepends = [ base process ];
+       jailbreak = true;
+       description = "Simple TypeScript API";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "haskell-tyrant" = callPackage
+    ({ mkDerivation, base, binary, bytestring, network }:
+     mkDerivation {
+       pname = "haskell-tyrant";
+       version = "0.4";
+       sha256 = "1pqh1v0klpi8iq882l5gk0fsf87kabq6rw1wjwkiq6fvw8cc1l97";
+       buildDepends = [ base binary bytestring network ];
+       homepage = "https://github.com/PeterScott/haskell-tyrant";
+       description = "Haskell implementation of the Tokyo Tyrant binary protocol";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-updater" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, process
+     }:
+     mkDerivation {
+       pname = "haskell-updater";
+       version = "1.2.9";
+       sha256 = "0nd8xjlyr8zjrqj9mw6xpn3rxsj9vpb8khc6hq6dc5agmldl9z7a";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory filepath process
+       ];
+       homepage = "http://haskell.org/haskellwiki/Gentoo#haskell-updater";
+       description = "Rebuild Haskell dependencies in Gentoo";
+       license = "GPL";
+     }) {};
+
+  "haskell-xmpp" = callPackage
+    ({ mkDerivation, array, base, HaXml, html, mtl, network, polyparse
+     , pretty, random, regex-compat, stm, utf8-string
+     }:
+     mkDerivation {
+       pname = "haskell-xmpp";
+       version = "1.0.2";
+       sha256 = "1z4x4mn0vry8mwq6ily668ignmf4s9m92fmga15dr83y7aq5wd59";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base HaXml html mtl network polyparse pretty random
+         regex-compat stm utf8-string
+       ];
+       homepage = "http://patch-tag.com/r/adept/haskell-xmpp/home";
+       description = "Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell2010_1_1_2_0" = callPackage
+    ({ mkDerivation, array, base, ghc-prim }:
+     mkDerivation {
+       pname = "haskell2010";
+       version = "1.1.2.0";
+       sha256 = "1s0avb08b5iwaym42jz783mk1az9kmjf3zmhfag0kzdw10qcnz4m";
+       buildDepends = [ array base ghc-prim ];
+       homepage = "http://www.haskell.org/onlinereport/haskell2010/";
+       description = "Compatibility with Haskell 2010";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell98_2_0_0_3" = callPackage
+    ({ mkDerivation, array, base, directory, old-locale, old-time
+     , process, time
+     }:
+     mkDerivation {
+       pname = "haskell98";
+       version = "2.0.0.3";
+       sha256 = "1450bgkn7gasj6cmkxn4afs828fc9slrrp2lqsqs3jlryr94cpdx";
+       buildDepends = [
+         array base directory old-locale old-time process time
+       ];
+       homepage = "http://www.haskell.org/definition/";
+       description = "Compatibility with Haskell 98";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskell98libraries" = callPackage
+    ({ mkDerivation, array, base, directory, old-locale, old-time
+     , process, time
+     }:
+     mkDerivation {
+       pname = "haskell98libraries";
+       version = "2.0.0.2";
+       sha256 = "1dcjwkvggvwrs8lv2pcxcz2kcz179nbca9q16mbk90qnznysr8i8";
+       buildDepends = [
+         array base directory old-locale old-time process time
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/definition/";
+       description = "Compatibility with Haskell 98";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb" = callPackage
+    ({ mkDerivation, base, containers, directory, mtl, old-locale
+     , old-time, pretty, time
+     }:
+     mkDerivation {
+       pname = "haskelldb";
+       version = "2.2.4";
+       sha256 = "0f8c9bz25wzsc65czv0chxk93w947824axl7p821fljlrykcm45y";
+       buildDepends = [
+         base containers directory mtl old-locale old-time pretty time
+       ];
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "A library of combinators for generating and executing SQL statements";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-connect-hdbc" = callPackage
+    ({ mkDerivation, base, containers, haskelldb, HDBC }:
+     mkDerivation {
+       pname = "haskelldb-connect-hdbc";
+       version = "0.1.0.0";
+       sha256 = "1l9ifff33xbgdr6fahnzz00nb7va2r0i3pncjd1j8bbnyya1w2kl";
+       buildDepends = [ base containers haskelldb HDBC ];
+       homepage = "http://twitter.com/khibino";
+       description = "Bracketed HDBC session for HaskellDB";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-connect-hdbc-catchio-mtl" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-connect-hdbc, HDBC
+     , MonadCatchIO-mtl, mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-connect-hdbc-catchio-mtl";
+       version = "0.1.0.0";
+       sha256 = "1ssg96r7cphakis5c494m5lc3m5ksn1w03k554p0qx2kl1g885xw";
+       buildDepends = [
+         base haskelldb haskelldb-connect-hdbc HDBC MonadCatchIO-mtl mtl
+       ];
+       homepage = "http://twitter.com/khibino";
+       description = "Bracketed HaskellDB HDBC session using MonadCatchIO-mtl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-connect-hdbc-catchio-tf" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-connect-hdbc, HDBC
+     , MonadCatchIO-transformers, transformers
+     }:
+     mkDerivation {
+       pname = "haskelldb-connect-hdbc-catchio-tf";
+       version = "0.1.0.0";
+       sha256 = "16qab88ryli9jbinw9frhhzl0ph09dinzx40x9cr9a3db7wvphw4";
+       buildDepends = [
+         base haskelldb haskelldb-connect-hdbc HDBC
+         MonadCatchIO-transformers transformers
+       ];
+       homepage = "http://twitter.com/khibino";
+       description = "Bracketed HaskellDB HDBC session using MonadCatchIO-transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-connect-hdbc-catchio-transformers" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-connect-hdbc, HDBC
+     , MonadCatchIO-transformers, transformers
+     }:
+     mkDerivation {
+       pname = "haskelldb-connect-hdbc-catchio-transformers";
+       version = "0.1.0.0";
+       sha256 = "0hbb6klc4azz6f5wi39l5736xq0b7wgja35fk9vmmn0lnf6iv5j7";
+       buildDepends = [
+         base haskelldb haskelldb-connect-hdbc HDBC
+         MonadCatchIO-transformers transformers
+       ];
+       homepage = "http://twitter.com/khibino";
+       description = "Bracketed HaskellDB HDBC session using MonadCatchIO-transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-connect-hdbc-lifted" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-connect-hdbc, HDBC
+     , lifted-base, monad-control, transformers-base
+     }:
+     mkDerivation {
+       pname = "haskelldb-connect-hdbc-lifted";
+       version = "0.1.0.0";
+       sha256 = "1ysnha7bmrd3accrnbswr17nv6j4pj1mbshcphjkhdffcvxb82wa";
+       buildDepends = [
+         base haskelldb haskelldb-connect-hdbc HDBC lifted-base
+         monad-control transformers-base
+       ];
+       homepage = "http://twitter.com/khibino";
+       description = "Bracketed HaskellDB HDBC session using lifted-base";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-dynamic" = callPackage
+    ({ mkDerivation, base, haskell98, haskelldb, mtl, plugins }:
+     mkDerivation {
+       pname = "haskelldb-dynamic";
+       version = "1.0.0";
+       sha256 = "0wdiywxjara2fwb1d548f9s0vcjxm1c38v4s05xqm5bz141l7a6a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base haskell98 haskelldb mtl plugins ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the dynamically loaded drivers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelldb-flat" = callPackage
+    ({ mkDerivation, base, containers, directory, haskelldb, mtl
+     , old-time
+     }:
+     mkDerivation {
+       pname = "haskelldb-flat";
+       version = "1.0.1";
+       sha256 = "0f75am17zfpbxhg951gnjqmdfgi1q7byhw1xv1rz4k36kcg623x1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory haskelldb mtl old-time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "An experimental HaskellDB back-end in pure Haskell (no SQL)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-hdbc" = callPackage
+    ({ mkDerivation, base, containers, convertible, haskelldb, HDBC
+     , mtl, old-time
+     }:
+     mkDerivation {
+       pname = "haskelldb-hdbc";
+       version = "2.2.2";
+       sha256 = "06vzzya6k1l74bm5ky7cbn6ch1wx5j5phnhi49bw17y3q632vd3f";
+       buildDepends = [
+         base containers convertible haskelldb HDBC mtl old-time
+       ];
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for HDBC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-hdbc-mysql" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hdbc, HDBC, HDBC-mysql
+     , mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hdbc-mysql";
+       version = "0.1.1";
+       sha256 = "0nn8jjrsi62xqws00izh3qi2shlxa58l37q91x1xnd9fig7j0ai2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hdbc HDBC HDBC-mysql mtl
+       ];
+       jailbreak = true;
+       description = "HaskellDB support for the HDBC MySQL driver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelldb-hdbc-odbc" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hdbc, HDBC, HDBC-odbc
+     , mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hdbc-odbc";
+       version = "2.1.2";
+       sha256 = "1y87iiil6k9ycsni70kvfcq50fiws8aqnhmk4018f6k6q1bx7q6p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hdbc HDBC HDBC-odbc mtl
+       ];
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HDBC ODBC driver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-hdbc-postgresql" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hdbc, HDBC
+     , HDBC-postgresql, mtl, postgresql
+     }:
+     mkDerivation {
+       pname = "haskelldb-hdbc-postgresql";
+       version = "2.1.2";
+       sha256 = "08cv3y22zvf0pf1cs57vrma3vp3b5fzzs6nsnvcnfnzsvacanh7g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hdbc HDBC HDBC-postgresql mtl
+       ];
+       extraLibraries = [ postgresql ];
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HDBC PostgreSQL driver";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) postgresql;};
+
+  "haskelldb-hdbc-sqlite3" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hdbc, HDBC
+     , HDBC-sqlite3, mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hdbc-sqlite3";
+       version = "2.1.2";
+       sha256 = "0qdp2lzhk8ywb9pmppvvmwqkaagvrnyjiglahy6mb7rdfq89bas6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hdbc HDBC HDBC-sqlite3 mtl
+       ];
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HDBC SQLite driver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-hsql" = callPackage
+    ({ mkDerivation, base, haskelldb, hsql, mtl, old-time }:
+     mkDerivation {
+       pname = "haskelldb-hsql";
+       version = "1.0.0";
+       sha256 = "0j1aqix21pqcsw7skl897pd1ir6hg836g4zb2h5338h4gih6blx0";
+       buildDepends = [ base haskelldb hsql mtl old-time ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for HSQL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelldb-hsql-mysql" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hsql, hsql, hsql-mysql
+     , mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hsql-mysql";
+       version = "1.0.0";
+       sha256 = "09rlrv9jb2hw7jypglfqhgfx3b0bcp68iq2wk4jfqw74m4d34xkm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hsql hsql hsql-mysql mtl
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HSQL MySQL driver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelldb-hsql-odbc" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hsql, hsql, hsql-odbc
+     , mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hsql-odbc";
+       version = "1.0.0";
+       sha256 = "18r7b4x43729c9l34gvbhgw2fwgq7llcb6cfwcp077f9ia0kgn6a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hsql hsql hsql-odbc mtl
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HSQL ODBC driver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelldb-hsql-oracle" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hsql, hsql, hsql-oracle
+     , mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hsql-oracle";
+       version = "1.0.0";
+       sha256 = "0j26gm9bibnj2jl5fs3sf2m8b5gl05brf55bzxnxa1cb78dgbpx9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hsql hsql hsql-oracle mtl
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HSQL Oracle driver";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { hsql-oracle = null;};
+
+  "haskelldb-hsql-postgresql" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hsql, hsql
+     , hsql-postgresql, mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hsql-postgresql";
+       version = "1.0.0";
+       sha256 = "1d1vgw9q95h864gfv0n2gmdvnvkxjg4pdjmfpfj899xx1s0a0vsv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hsql hsql hsql-postgresql mtl
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HSQL PostgreSQL driver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelldb-hsql-sqlite" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hsql, hsql, hsql-sqlite
+     , mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hsql-sqlite";
+       version = "1.0.0";
+       sha256 = "0hs8ympicys4p6lpfcvny3c183v4s25lk990yb4fzrpv0hy3bhhw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hsql hsql hsql-sqlite mtl
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HSQL SQLite driver";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { hsql-sqlite = null;};
+
+  "haskelldb-hsql-sqlite3" = callPackage
+    ({ mkDerivation, base, haskelldb, haskelldb-hsql, hsql
+     , hsql-sqlite3, mtl
+     }:
+     mkDerivation {
+       pname = "haskelldb-hsql-sqlite3";
+       version = "1.0.0";
+       sha256 = "11xlr2f7203wxg17696yjqgyzckavqjazc9brmdqpbrnplaqdrc5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base haskelldb haskelldb-hsql hsql hsql-sqlite3 mtl
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for the HSQL SQLite3 driver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelldb-th" = callPackage
+    ({ mkDerivation, base, haskelldb, mtl, template-haskell }:
+     mkDerivation {
+       pname = "haskelldb-th";
+       version = "2.1.0";
+       sha256 = "12whvz0qy9lqk1frfl5px9lhr1nwy519vj2z9c3g8nqjzscwzayb";
+       buildDepends = [ base haskelldb mtl template-haskell ];
+       jailbreak = true;
+       homepage = "http://trac.haskell.org/haskelldb-th";
+       description = "Template Haskell utilities for HaskellDB";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskelldb-wx" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "haskelldb-wx";
+       version = "1.0.0";
+       sha256 = "01652m0bym80400navqlpdv5n0gfgnfzd1d0857f3kd13ksqk2hy";
+       homepage = "https://github.com/m4dc4p/haskelldb";
+       description = "HaskellDB support for WXHaskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskellscrabble" = callPackage
+    ({ mkDerivation, array, base, containers, directory, errors
+     , filepath, HUnit, mtl, parsec, QuickCheck, random, safe
+     , semigroups, split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskellscrabble";
+       version = "0.1.0.2";
+       sha256 = "1f0vdkgjyqwk1lkbn86gbnzbv1r021l0808aw57plb9jmmpn0m4s";
+       buildDepends = [
+         array base containers errors mtl parsec QuickCheck random safe
+         semigroups split transformers unordered-containers
+       ];
+       testDepends = [
+         base containers directory filepath HUnit QuickCheck random
+         semigroups test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "http://www.github.com/happy0/haskellscrabble";
+       description = "A scrabble library capturing the core game logic of scrabble";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskelm" = callPackage
+    ({ mkDerivation, aeson, base, binary, containers, directory, Elm
+     , haskell-src-exts, haskell-src-meta, mtl, parsec, pretty
+     , shakespeare, split, template-haskell, temporary, text, th-desugar
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haskelm";
+       version = "0.1.12.0";
+       sha256 = "1bzp79fcq6gxy8pvspw4q71iakzvrbdwr3vjahd698ymfbj5ji8y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary containers directory haskell-src-exts
+         haskell-src-meta mtl parsec pretty split template-haskell temporary
+         text th-desugar unordered-containers vector
+       ];
+       testDepends = [
+         aeson base binary containers directory Elm haskell-src-exts
+         haskell-src-meta mtl parsec pretty shakespeare split
+         template-haskell temporary text th-desugar unordered-containers
+         vector
+       ];
+       homepage = "http://github.com/JoeyEremondi/haskelm";
+       description = "Elm to Haskell translation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskgame" = callPackage
+    ({ mkDerivation, base, containers, haskell98, SDL, SDL-ttf }:
+     mkDerivation {
+       pname = "haskgame";
+       version = "0.0.6";
+       sha256 = "061dhk7d9d8mnb1rs7077q383sqlby8s31ips8jjadkkhyxi5lvz";
+       buildDepends = [ base containers haskell98 SDL SDL-ttf ];
+       homepage = "http://haskell.org/haskellwiki/HaskGame";
+       description = "Haskell game library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskheap" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
+     , network, old-locale, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskheap";
+       version = "0.1.2";
+       sha256 = "1c2fgqq2i3s2v0xi04y8y6li41ilvi50zlf2ba843my9s3i8njqr";
+       buildDepends = [
+         aeson base bytestring http-conduit http-types network old-locale
+         text time unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Raynes/haskheap";
+       description = "Haskell bindings to refheap";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskhol-core" = callPackage
+    ({ mkDerivation, acid-state, base, containers, deepseq, filepath
+     , ghc-prim, hashable, mtl, parsec, pretty, safecopy, shelly
+     , template-haskell, text, text-show, th-lift, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskhol-core";
+       version = "1.1.0";
+       sha256 = "0vlzybbplqggvgnj61yl0g2rak2qbsp7hly9srgr6wd6qm9l1nxx";
+       buildDepends = [
+         acid-state base containers deepseq filepath ghc-prim hashable mtl
+         parsec pretty safecopy shelly template-haskell text text-show
+         th-lift unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://haskhol.org";
+       description = "The core logical system of HaskHOL, an EDSL for HOL theorem proving";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskintex" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, haskell-src-exts, HaTeX, hint, parsec, process, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "haskintex";
+       version = "0.5.0.2";
+       sha256 = "1qfqslr8pxks3qmfarmscgvc0q8zn72prqyk5xhmfvkf6q35pmfn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory filepath
+         haskell-src-exts HaTeX hint parsec process text transformers
+       ];
+       homepage = "http://daniel-diaz.github.io/projects/haskintex";
+       description = "Haskell Evaluation inside of LaTeX code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haskmon" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, http-streams
+     , io-streams, old-locale, time, vector
+     }:
+     mkDerivation {
+       pname = "haskmon";
+       version = "0.1.1.0";
+       sha256 = "1xsp0jd7n5rbky4giy3dik2hcsnkzwlj2mdr8v3ahr17cqj3sm74";
+       buildDepends = [
+         aeson base bytestring containers http-streams io-streams old-locale
+         time vector
+       ];
+       jailbreak = true;
+       description = "A haskell wrapper for PokeAPI.co (www.pokeapi.co)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskoin" = callPackage
+    ({ mkDerivation, aeson, async, base, binary, byteable, bytestring
+     , containers, cryptohash, deepseq, either, HUnit, json-rpc, mtl
+     , pbkdf, QuickCheck, split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "haskoin";
+       version = "0.1.0.2";
+       sha256 = "0l3h2wvi56k0dcfjambqyjrd45hb7bj0brp8nzrrcfn7fbpyjg8c";
+       buildDepends = [
+         aeson base binary byteable bytestring containers cryptohash deepseq
+         either json-rpc mtl pbkdf split text
+       ];
+       testDepends = [
+         aeson async base binary byteable bytestring containers cryptohash
+         deepseq either HUnit json-rpc mtl pbkdf QuickCheck split
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskoin/haskoin";
+       description = "Implementation of the Bitcoin protocol";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "haskoin-crypto" = callPackage
+    ({ mkDerivation, base, binary, byteable, bytestring, containers
+     , cryptohash, haskoin-util, HUnit, mtl, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "haskoin-crypto";
+       version = "0.0.1.1";
+       sha256 = "00argpj3qkaj8dcxbd46xsi1abjgr394li6ygyvna55508r1hd79";
+       buildDepends = [
+         base binary byteable bytestring containers cryptohash haskoin-util
+         mtl QuickCheck
+       ];
+       testDepends = [
+         base binary byteable bytestring containers cryptohash haskoin-util
+         HUnit mtl QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/plaprade/haskoin-crypto";
+       description = "Implementation of Bitcoin cryptographic primitives";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "haskoin-protocol" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskoin-crypto
+     , haskoin-util, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "haskoin-protocol";
+       version = "0.0.1.1";
+       sha256 = "0r15csyylg5vd95z0spl5wkv6r8w7lpi983alsvlnkhv4dqnrg2v";
+       buildDepends = [
+         base binary bytestring haskoin-crypto haskoin-util QuickCheck
+       ];
+       testDepends = [
+         base binary bytestring haskoin-crypto haskoin-util HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/plaprade/haskoin-protocol";
+       description = "Implementation of the Bitcoin network protocol messages";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "haskoin-script" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskoin-crypto
+     , haskoin-protocol, haskoin-util, HUnit, mtl, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "haskoin-script";
+       version = "0.0.1";
+       sha256 = "18lw5hxwvj4ichw1k4a35hjih7h0hd24khvl4m0yf2cq12m2gl11";
+       buildDepends = [
+         base binary bytestring haskoin-crypto haskoin-protocol haskoin-util
+         mtl QuickCheck
+       ];
+       testDepends = [
+         base binary bytestring haskoin-crypto haskoin-protocol haskoin-util
+         HUnit mtl QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/plaprade/haskoin-script";
+       description = "Implementation of Bitcoin script parsing and evaluation";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "haskoin-util" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, either
+     , HUnit, mtl, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "haskoin-util";
+       version = "0.0.1.1";
+       sha256 = "0hh3vavqsp8pafw4nrv9py1kqcc1yx52zr80xsqzqjlsxq04fgfw";
+       buildDepends = [ base binary bytestring either mtl QuickCheck ];
+       testDepends = [
+         base binary bytestring containers either HUnit mtl QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/plaprade/haskoin-util";
+       description = "Utility functions for the Network.Haskoin project";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "haskoin-wallet" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, bytestring
+     , conduit, containers, directory, either, haskoin-crypto
+     , haskoin-protocol, haskoin-script, haskoin-util, HUnit, mtl
+     , persistent, persistent-sqlite, persistent-template, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "haskoin-wallet";
+       version = "0.0.1";
+       sha256 = "18q110q93qc00mqzprs5wprzrl0jfw5fjpli73n99knqb127aq5s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base binary bytestring conduit containers
+         directory either haskoin-crypto haskoin-protocol haskoin-script
+         haskoin-util mtl persistent persistent-sqlite persistent-template
+         QuickCheck text time unordered-containers vector yaml
+       ];
+       testDepends = [
+         aeson aeson-pretty base binary bytestring conduit containers either
+         haskoin-crypto haskoin-protocol haskoin-script haskoin-util HUnit
+         mtl persistent persistent-sqlite persistent-template QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time unordered-containers vector yaml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/plaprade/haskoin-wallet";
+       description = "Implementation of a Bitcoin hierarchical deterministric wallet (BIP32)";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskoon" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, directory, fastcgi
+     , filepath, hslogger, hsp, hsx, MaybeT, MissingH, mtl, network
+     , regex-posix, safe, utf8-string
+     }:
+     mkDerivation {
+       pname = "haskoon";
+       version = "0.3.1.1";
+       sha256 = "1rf5w1mvpsiqim1h5hh6s2cxzh3c5gm1k3n6z4h2ryc1s7m2bl9l";
+       buildDepends = [
+         base bytestring cgi directory fastcgi filepath hslogger hsp hsx
+         MaybeT MissingH mtl network regex-posix safe utf8-string
+       ];
+       description = "Web Application Abstraction";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskoon-httpspec" = callPackage
+    ({ mkDerivation, base, bidispec, bytestring, haskoon, hslogger
+     , HTTP, httpspec, mtl, network
+     }:
+     mkDerivation {
+       pname = "haskoon-httpspec";
+       version = "0.5.0.1";
+       sha256 = "059hywia5fa15j2dpbzvnvjzv55bzgivy3ddxcrdskd85zx7lx6z";
+       buildDepends = [
+         base bidispec bytestring haskoon hslogger HTTP httpspec mtl network
+       ];
+       description = "Integrating HttpSpec with Haskoon";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskoon-salvia" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, fclabels, haskoon, hslogger
+     , HTTP, monads-fd, mtl, network, salvia, salvia-protocol
+     , transformers
+     }:
+     mkDerivation {
+       pname = "haskoon-salvia";
+       version = "0.4.0.2";
+       sha256 = "0d0s0zd9gr3xbssyk62l7w507prjnyak81czhnd6fgbfqx82d6hk";
+       buildDepends = [
+         base bytestring cgi fclabels haskoon hslogger HTTP monads-fd mtl
+         network salvia salvia-protocol transformers
+       ];
+       description = "Integrating HttpSpec with Haskoon";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskore" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-accessor
+     , event-list, haskell-src, markov-chain, midi, non-negative, parsec
+     , process, random, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "haskore";
+       version = "0.2.0.5";
+       sha256 = "0zvr7hwxnv01g626617yv7f0vwpmyqvlwbyc6yhb2mrlfqwdgbd0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers data-accessor event-list
+         haskell-src markov-chain midi non-negative parsec process random
+         transformers utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Haskore";
+       description = "The Haskore Computer Music System";
+       license = "GPL";
+     }) {};
+
+  "haskore-realtime" = callPackage
+    ({ mkDerivation, base, bytestring, data-accessor, directory
+     , event-list, haskore, midi, non-negative, old-time, process
+     , transformers, unix, utility-ht
+     }:
+     mkDerivation {
+       pname = "haskore-realtime";
+       version = "0.2";
+       sha256 = "0fhlfivp44py93gjlqrp370cjkvi0g79p156vayylds128hgpi5f";
+       buildDepends = [
+         base bytestring data-accessor directory event-list haskore midi
+         non-negative old-time process transformers unix utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Haskore/";
+       description = "Routines for realtime playback of Haskore songs";
+       license = "GPL";
+     }) {};
+
+  "haskore-supercollider" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-accessor
+     , event-list, haskore, haskore-realtime, hosc, hsc3, non-negative
+     , opensoundcontrol-ht, process, random, supercollider-ht
+     , transformers, unix, utility-ht
+     }:
+     mkDerivation {
+       pname = "haskore-supercollider";
+       version = "0.3";
+       sha256 = "04rzbk1v8ay569npd8i1xv3aqx55jn8p6cvqpi6774afaxvb0qxy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers data-accessor event-list haskore
+         haskore-realtime hosc hsc3 non-negative opensoundcontrol-ht process
+         random supercollider-ht transformers unix utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/SuperCollider";
+       description = "Haskore back-end for SuperCollider";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskore-synthesizer" = callPackage
+    ({ mkDerivation, base, data-accessor, event-list, haskore
+     , non-negative, numeric-prelude, random, synthesizer-core
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "haskore-synthesizer";
+       version = "0.0.3.1";
+       sha256 = "0bdfn8s7gj39i3rr3xvi9xchi8zczqimb5gnkg0225m2zcfgvmy8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base data-accessor event-list haskore non-negative numeric-prelude
+         random synthesizer-core utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Music rendering coded in Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskore-vintage" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "haskore-vintage";
+       version = "0.2";
+       sha256 = "1dpqs7xv3hvhla94v60q0fxfzgr4l3l69s7xc45rh712r9iws66n";
+       buildDepends = [ base ];
+       homepage = "http://haskell.org/haskore/";
+       description = "The February 2000 version of Haskore";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hasktags" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, json, unix
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hasktags";
+       version = "0.69.1";
+       sha256 = "1rpi9nrxizvzs7cxmykxvkbwd78144gwglk5f0rc19qyb0n80gr4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath json unix utf8-string
+       ];
+       homepage = "http://github.com/MarcWeber/hasktags";
+       description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haslo" = callPackage
+    ({ mkDerivation, base, mtl, old-time, QuickCheck, time, wtk }:
+     mkDerivation {
+       pname = "haslo";
+       version = "0.1.3";
+       sha256 = "0iizdi98w4k9kdizg9xwm2aca6mnn30frp15f8kyak3i194sk3kl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl old-time QuickCheck time wtk ];
+       description = "Loan calculator engine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hasloGUI" = callPackage
+    ({ mkDerivation, base, convertible, gtk, haslo, lenses, mtl
+     , old-time, QuickCheck, time, wtk, wtk-gtk
+     }:
+     mkDerivation {
+       pname = "hasloGUI";
+       version = "0.1";
+       sha256 = "03avp9yn7ag1dc1wzk07sxkj3krqsrg3n44qcynxw9n1fmvk54lx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base convertible gtk haslo lenses mtl old-time QuickCheck time wtk
+         wtk-gtk
+       ];
+       description = "Loan calculator Gtk GUI. Based on haslo (Haskell Loan) library.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hasparql-client" = callPackage
+    ({ mkDerivation, base, HTTP, monads-fd, network, xml }:
+     mkDerivation {
+       pname = "hasparql-client";
+       version = "0.1";
+       sha256 = "1ln0kdm40y6l8sncrjl0mj9bpd30ffg3msaxyd6fq520ypyws9pm";
+       buildDepends = [ base HTTP monads-fd network xml ];
+       homepage = "https://github.com/lhpaladin/HaSparql-Client";
+       description = "This package enables to write SPARQL queries to remote endpoints";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haspell" = callPackage
+    ({ mkDerivation, aspell, base, bytestring }:
+     mkDerivation {
+       pname = "haspell";
+       version = "1.1.0";
+       sha256 = "08ihdjgjvr8mgxxw62xwymj1lyl33r6w3mhy9chlw7ijcsy44y21";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ aspell ];
+       homepage = "https://github.com/otters/haspell";
+       description = "Haskell bindings to aspell";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) aspell;};
+
+  "hasql" = callPackage
+    ({ mkDerivation, attoparsec, base, base-prelude, either
+     , hasql-backend, hasql-postgres, hspec, list-t, mmorph
+     , monad-control, mtl, mtl-prelude, resource-pool, slave-thread
+     , template-haskell, text, transformers, transformers-base, vector
+     }:
+     mkDerivation {
+       pname = "hasql";
+       version = "0.7.3";
+       sha256 = "0a8wcncqz2k1lj2cad96rg9xi9116q0x209jfbpkcp8sbi3n3rb8";
+       buildDepends = [
+         attoparsec base base-prelude either hasql-backend list-t mmorph
+         monad-control mtl resource-pool template-haskell text transformers
+         transformers-base vector
+       ];
+       testDepends = [
+         base-prelude either hasql-backend hasql-postgres hspec
+         monad-control mtl-prelude slave-thread text vector
+       ];
+       homepage = "https://github.com/nikita-volkov/hasql";
+       description = "A minimalistic general high level API for relational databases";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hasql-backend" = callPackage
+    ({ mkDerivation, base-prelude, bytestring, either, free, list-t
+     , text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "hasql-backend";
+       version = "0.4.1";
+       sha256 = "037ibla582gwsi17fsfrwlc0azh54iyyfawvy0nlabzg6lc38snm";
+       buildDepends = [
+         base-prelude bytestring either free list-t text transformers vector
+       ];
+       homepage = "https://github.com/nikita-volkov/hasql-backend";
+       description = "API for backends of \"hasql\"";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hasql-postgres" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-prelude, bytestring
+     , directory, doctest, either, filepath, free, hashable, hashtables
+     , hasql, hasql-backend, hspec, list-t, loch-th, mmorph, mtl-prelude
+     , old-locale, placeholders, postgresql-binary, postgresql-libpq
+     , QuickCheck, quickcheck-instances, scientific, template-haskell
+     , text, time, transformers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "hasql-postgres";
+       version = "0.10.3";
+       sha256 = "12452z4li3b30zw1ar4x2r14q93vx06165g3rdj9s1wxjzsnsr4w";
+       buildDepends = [
+         aeson attoparsec base-prelude bytestring either free hashable
+         hashtables hasql-backend list-t loch-th mmorph placeholders
+         postgresql-binary postgresql-libpq scientific template-haskell text
+         time transformers uuid vector
+       ];
+       testDepends = [
+         aeson base base-prelude bytestring directory doctest either
+         filepath hashable hasql hasql-backend hspec list-t mtl-prelude
+         old-locale postgresql-binary QuickCheck quickcheck-instances
+         scientific text time vector
+       ];
+       homepage = "https://github.com/nikita-volkov/hasql-postgres";
+       description = "A \"PostgreSQL\" backend for the \"hasql\" library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hasql-postgres-options" = callPackage
+    ({ mkDerivation, base-prelude, hasql-postgres, optparse-applicative
+     }:
+     mkDerivation {
+       pname = "hasql-postgres-options";
+       version = "0.1.4";
+       sha256 = "19jsi8r63phyjcwgvbbs30idl944dnl0iw15i0q2d501sa51ksf4";
+       buildDepends = [
+         base-prelude hasql-postgres optparse-applicative
+       ];
+       homepage = "https://github.com/nikita-volkov/hasql-postgres-options";
+       description = "An \"optparse-applicative\" parser for \"hasql-postgres\"";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hastache" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , directory, filepath, HUnit, ieee754, mtl, process, syb, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hastache";
+       version = "0.6.1";
+       revision = "2";
+       sha256 = "0r5l8k157pgvz1ck4lfid5x05f2s0nlmwf33f4fj09b1kmk8k3wc";
+       editedCabalFile = "92cea66e7c2d33e62c5caac8eaaf0e716fa6e2146ef906360db4d5f72cd30091";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring containers directory filepath ieee754
+         mtl process syb text transformers
+       ];
+       testDepends = [ base bytestring directory HUnit mtl syb text ];
+       homepage = "http://github.com/lymar/hastache";
+       description = "Haskell implementation of Mustache templates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hastache-aeson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , hastache, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hastache-aeson";
+       version = "0.1.0.0";
+       sha256 = "0b69ppgs0s8zjkrycz5iyd1wa92wr9wln3dvgzf736pbfhsgv2qi";
+       buildDepends = [
+         aeson attoparsec base bytestring containers hastache text
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/proger/hastache-aeson";
+       description = "render hastache templates using aeson values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haste" = callPackage
+    ({ mkDerivation, base, curl, filepath, mtl }:
+     mkDerivation {
+       pname = "haste";
+       version = "0.1.1";
+       sha256 = "1vz36i74l1nnm34nn1rj3v8kprqa2piz3j5f58cccg2gvxl0abnj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base curl filepath mtl ];
+       jailbreak = true;
+       description = "A universal pastebin tool, written in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haste-compiler" = callPackage
+    ({ mkDerivation, array, base, binary, blaze-builder, bytestring
+     , bzlib, containers, data-binary-ieee754, data-default, directory
+     , either, filepath, ghc, ghc-paths, ghc-prim, HTTP, monads-tf, mtl
+     , network, network-uri, process, random, shellmate, system-fileio
+     , tar, transformers, utf8-string, websockets
+     }:
+     mkDerivation {
+       pname = "haste-compiler";
+       version = "0.4.4.4";
+       sha256 = "19raiciwll7pgc73h2h704yi9wcifcn7s2gxyjrndp6d7kf1ygyy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary blaze-builder bytestring bzlib containers
+         data-binary-ieee754 data-default directory either filepath ghc
+         ghc-paths ghc-prim HTTP monads-tf mtl network network-uri process
+         random shellmate system-fileio tar transformers utf8-string
+         websockets
+       ];
+       configureFlags = [ "-fportable" ];
+       homepage = "http://haste-lang.org/";
+       description = "Haskell To ECMAScript compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haste-markup" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, haste-lib
+     }:
+     mkDerivation {
+       pname = "haste-markup";
+       version = "0.0.1.0";
+       sha256 = "02rqm4qjaww2c622bqd1bb2mjb73w2s7d7pwvz94x03npxkf4hn1";
+       buildDepends = [ base containers directory filepath haste-lib ];
+       jailbreak = true;
+       homepage = "http://github.com/ajnsit/haste-markup";
+       description = "A port of blaze-markup and blaze-html to Haste";
+       license = stdenv.lib.licenses.mit;
+       broken = true;
+     }) { haste-lib = null;};
+
+  "haste-perch" = callPackage
+    ({ mkDerivation, base, haste-compiler, transformers }:
+     mkDerivation {
+       pname = "haste-perch";
+       version = "0.1.0.8";
+       sha256 = "0p15wzl7rina4pnldhkm188addqlgmc9k4cryv7v2dr9i0wv5y8f";
+       buildDepends = [ base haste-compiler transformers ];
+       homepage = "https://github.com/agocorona/haste-perch";
+       description = "Create, navigate and modify the DOM tree with composable syntax, with the haste compiler";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hat" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , haskeline, haskell-src-exts, old-locale, old-time, process
+     , random
+     }:
+     mkDerivation {
+       pname = "hat";
+       version = "2.8.0.0";
+       sha256 = "06qb34g2kxsldkgpw02xs7cknhj6igfwgjxi2fxyr2856y8laj0j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath haskeline
+         haskell-src-exts old-locale old-time process random
+       ];
+       homepage = "http://projects.haskell.org/hat/";
+       description = "The Haskell tracer, generating and viewing Haskell execution traces";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hatex-guide" = callPackage
+    ({ mkDerivation, base, blaze-html, directory, filepath, HaTeX
+     , parsec, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "hatex-guide";
+       version = "1.3.1.0";
+       sha256 = "11wi053g9kybw0qa3wdfccyy0ka3xnnghgamaaf220r8hz49g25y";
+       buildDepends = [
+         base blaze-html directory filepath HaTeX parsec text time
+         transformers
+       ];
+       description = "HaTeX User's Guide";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hath" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, dns, MissingH
+     , parallel-io, process, split, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "hath";
+       version = "0.2.3";
+       sha256 = "17ijsy0fmvaqq4ql7c2788kk3pi975pbi1g7ijh5fj0ybgxk5dww";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs dns MissingH parallel-io split tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       testDepends = [
+         base bytestring cmdargs dns MissingH parallel-io process split
+         tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Hath manipulates network blocks in CIDR notation";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hatt" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, cmdargs, containers
+     , haskeline, parsec, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hatt";
+       version = "1.5.0.3";
+       sha256 = "0dgjia07v489wlk23hg84d1043rh71hl9yg7vdcih2jcj8pn00z4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base cmdargs containers haskeline parsec QuickCheck
+       ];
+       testDepends = [ base test-framework test-framework-quickcheck2 ];
+       homepage = "http://extralogical.net/projects/hatt";
+       description = "A truth table generator for classical propositional logic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hawitter" = callPackage
+    ({ mkDerivation, base, base64-string, bytestring, clock, containers
+     , gconf, glade, gtk, hoauth, HTTP, json, mtl, network, old-locale
+     , parsec, regex-base, regex-tdfa, SHA, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "hawitter";
+       version = "0.4";
+       sha256 = "10qg24qkh17l9zqn47g64cg6hp48x7bjbcwigj35zpqcq71s9dxc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base64-string bytestring clock containers gconf glade gtk
+         hoauth HTTP json mtl network old-locale parsec regex-base
+         regex-tdfa SHA time utf8-string
+       ];
+       homepage = "http://d.hatena.ne.jp/xanxys/20100321/1269137834";
+       description = "A twitter client for GTK+. Beta version.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haxl" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, hashable, HUnit, pretty, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haxl";
+       version = "0.1.0.0";
+       sha256 = "1spkcvsy0p3ksxapaz93db09y2jsswr5k6qs6cvxmwxxhbnswv36";
+       buildDepends = [
+         aeson base bytestring containers directory filepath hashable HUnit
+         pretty text time unordered-containers vector
+       ];
+       testDepends = [
+         aeson base bytestring containers hashable HUnit text
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/facebook/Haxl";
+       description = "A Haskell library for efficient, concurrent, and concise data access";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haxl-facebook" = callPackage
+    ({ mkDerivation, aeson, async, base, conduit, data-default, fb
+     , hashable, haxl, http-client-tls, http-conduit, resourcet, text
+     , time, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haxl-facebook";
+       version = "0.1.0.0";
+       sha256 = "0m8dycsh51sfrxhmajsaydgima4r0nc60yklv9w26302i176j2aq";
+       buildDepends = [
+         aeson async base conduit data-default fb hashable haxl
+         http-client-tls http-conduit resourcet text time transformers
+       ];
+       testDepends = [
+         aeson async base conduit data-default fb hashable haxl
+         http-client-tls http-conduit resourcet text time transformers
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/facebook/Haxl";
+       description = "An example Haxl data source for accessing the Facebook Graph API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haxparse" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , data-binary-ieee754, data-default, mtl, optparse-applicative
+     , parsec, split, template-haskell, transformers, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "haxparse";
+       version = "0.3.1.0";
+       sha256 = "12ksmhmk1yns8znh9srqm53q4by8dibdvkd9qhbihiwdyz137y6j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers data-binary-ieee754 data-default
+         mtl optparse-applicative parsec split template-haskell transformers
+         utf8-string zlib
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/joelteon/haxparse";
+       description = "Readable HaxBall replays";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haxr" = callPackage
+    ({ mkDerivation, array, base, base64-bytestring, blaze-builder
+     , bytestring, HaXml, HTTP, mtl, mtl-compat, network, network-uri
+     , old-locale, old-time, template-haskell, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "haxr";
+       version = "3000.10.4.2";
+       sha256 = "1v9sx73lwnamynsjf51pjr84v6qli9jcql5kf8d7af27bm54j0ry";
+       buildDepends = [
+         array base base64-bytestring blaze-builder bytestring HaXml HTTP
+         mtl mtl-compat network network-uri old-locale old-time
+         template-haskell time utf8-string
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/HaXR";
+       description = "XML-RPC client and server library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haxr-th" = callPackage
+    ({ mkDerivation, base, haxr, template-haskell }:
+     mkDerivation {
+       pname = "haxr-th";
+       version = "3000.5";
+       sha256 = "1h1g4r7c5k3rja49ip4m21f2sscn06xjxharnlyazvvs6mzfysif";
+       buildDepends = [ base haxr template-haskell ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haxr/";
+       description = "Automatic deriving of XML-RPC structs for Haskell records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "haxy" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, hostname
+     , HTTP, http-server, mtl, url
+     }:
+     mkDerivation {
+       pname = "haxy";
+       version = "1.0";
+       revision = "2";
+       sha256 = "1fzdxk0vl7pd3k1dgxli6f721lfvwpb2zl354fl0zy5gimiky7fs";
+       editedCabalFile = "1dfd6805d921438c33b5388de37716d320af9aff2d8067837f510d43c3cf5940";
+       buildDepends = [
+         base bytestring data-default-class hostname HTTP http-server mtl
+         url
+       ];
+       homepage = "http://github.com/achudnov/haxy";
+       description = "A simple HTTP proxy server library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hayland" = callPackage
+    ({ mkDerivation, base, data-flags, process, template-haskell, time
+     , wayland-client, wayland-cursor, wayland-egl, wayland-server, xml
+     }:
+     mkDerivation {
+       pname = "hayland";
+       version = "0.1.0.1";
+       sha256 = "0dpisbqfsay8lwpfihw5fmpzi2ajc8qshsawbr4r6x8indy4kdy0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base data-flags process template-haskell time xml
+       ];
+       testDepends = [ base process xml ];
+       extraLibraries = [
+         wayland-client wayland-cursor wayland-egl wayland-server
+       ];
+       description = "Haskell bindings for the C Wayland library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { wayland-client = null;  wayland-cursor = null;
+          wayland-egl = null;  wayland-server = null;};
+
+  "hayoo-cli" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
+     , optparse-applicative, pandoc, url
+     }:
+     mkDerivation {
+       pname = "hayoo-cli";
+       version = "0.1.0.4";
+       sha256 = "05wfxpkpxma3ynla3wdgzq0raxqwg21fsa01qqpsh1ib7v462ls0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring http-conduit http-types optparse-applicative
+         pandoc url
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Gonzih/hayoo-cli";
+       description = "Hayoo CLI";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hback" = callPackage
+    ({ mkDerivation, base, cairo, filepath, glade, gtk, haskell98
+     , process, svgcairo, time, unix
+     }:
+     mkDerivation {
+       pname = "hback";
+       version = "0.0.3";
+       sha256 = "01wx4dls0ccl0q09hvydjhj0lfpqfd32z76rjgc89p5889czkm5j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo filepath glade gtk haskell98 process svgcairo time unix
+       ];
+       homepage = "http://hback.googlecode.com/";
+       description = "N-back memory game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hbayes" = callPackage
+    ({ mkDerivation, array, base, binary, boxes, containers, directory
+     , filepath, gamma, HUnit, mtl, mwc-random, parsec, pretty
+     , QuickCheck, random, split, statistics, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "hbayes";
+       version = "0.5";
+       sha256 = "1zhjhham5jyfwll8sp3kprp92l4whqfyys4jfl81gpb5igpgz039";
+       buildDepends = [
+         array base binary boxes containers directory filepath gamma HUnit
+         mtl mwc-random parsec pretty QuickCheck random split statistics
+         test-framework test-framework-hunit test-framework-quickcheck2
+         vector
+       ];
+       homepage = "http://www.alpheccar.org";
+       description = "Bayesian Networks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hbb" = callPackage
+    ({ mkDerivation, base, directory, ghc, ghc-mod, ghc-paths, libhbb
+     }:
+     mkDerivation {
+       pname = "hbb";
+       version = "0.4.0.2";
+       sha256 = "1whnsbv04b9hr3dc6a3xzv270q7ygk8x4i20mb092fr98klbk9wn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory ghc ghc-mod ghc-paths libhbb ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/bhris/hbb";
+       description = "Haskell Busy Bee, a backend for text editors";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hbcd" = callPackage
+    ({ mkDerivation, base, bytestring, Decimal, digits, split }:
+     mkDerivation {
+       pname = "hbcd";
+       version = "1.0";
+       sha256 = "1glld44m6h8yfh5h63w9q5isy238j0j312ycx43va1xa80x5r4dq";
+       buildDepends = [ base bytestring Decimal digits split ];
+       description = "Packed binary-coded decimal (BCD) serialization";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hbeanstalk" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, network
+     }:
+     mkDerivation {
+       pname = "hbeanstalk";
+       version = "0.2.4";
+       sha256 = "13xcia1nnayhr22zi1wzgn8qs403ib4n2zikpxd3xnzy33yrgbzy";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring containers network
+       ];
+       homepage = "http://github.com/scsibug/hbeanstalk/";
+       description = "Client for the beanstalkd workqueue service";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hbeat" = callPackage
+    ({ mkDerivation, base, containers, mtl, old-time, OpenGL, SDL
+     , SDL-mixer, SDL_mixer
+     }:
+     mkDerivation {
+       pname = "hbeat";
+       version = "0.1.2";
+       sha256 = "1lgsjwwpimvgczzgg2lvnf08hhcsnk5is52rm2lbmilky8ayhxjp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl old-time OpenGL SDL SDL-mixer
+       ];
+       extraLibraries = [ SDL SDL_mixer ];
+       homepage = "http://www.dockerz.net/software/hbeat.html";
+       description = "A simple step sequencer GUI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL;  inherit (pkgs) SDL_mixer;};
+
+  "hblas" = callPackage
+    ({ mkDerivation, base, blas, HUnit, lapack, primitive
+     , storable-complex, tasty, tasty-hunit, vector
+     }:
+     mkDerivation {
+       pname = "hblas";
+       version = "0.3.2.1";
+       sha256 = "05c2mqhwjq0r8jyaj0cncaxn4n5x27dd8z6lv8g8cdc7r749q59y";
+       buildDepends = [ base primitive storable-complex vector ];
+       testDepends = [ base HUnit tasty tasty-hunit vector ];
+       extraLibraries = [ blas lapack ];
+       jailbreak = true;
+       homepage = "http://github.com/wellposed/hblas/";
+       description = "Human friendly BLAS and Lapack bindings for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) blas;  lapack = null;};
+
+  "hblock" = callPackage
+    ({ mkDerivation, aeson, base, blaze-markup, bytestring, cereal
+     , containers, deepseq, hashable, path-pieces, safecopy, text
+     , unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "hblock";
+       version = "0.1.0.2";
+       sha256 = "0g8hj42ir3jcpmwf3pin2k4zdcf5p1f1sx1f8rj380qbyxgdrw3v";
+       buildDepends = [
+         aeson base blaze-markup bytestring cereal containers deepseq
+         hashable path-pieces safecopy text unordered-containers uuid vector
+       ];
+       description = "A mutable vector that provides indexation on the datatype fields it stores";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hbro" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, classy-prelude, cond
+     , containers, data-default-class, dyre, errors, fast-logger, glib
+     , gtk3, integer-simple, lens, lifted-async, lifted-base
+     , monad-control, monad-logger, mtl, network-uri
+     , optparse-applicative, pango, parsec, process, resourcet, safe
+     , semigroups, stm-chans, system-fileio, text, time, transformers
+     , transformers-base, unix, webkitgtk3, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "hbro";
+       version = "1.3.0.0";
+       sha256 = "114g9dz9f7s59s9d8hb38qffmdif617nhbs2z9vsdqmylgirirmz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring classy-prelude cond containers
+         data-default-class dyre errors fast-logger glib gtk3 integer-simple
+         lens lifted-async lifted-base monad-control monad-logger mtl
+         network-uri optparse-applicative pango parsec process resourcet
+         safe semigroups stm-chans system-fileio text time transformers
+         transformers-base unix webkitgtk3 zeromq4-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/k0ral/hbro";
+       description = "Minimal extensible web-browser";
+       license = "unknown";
+       broken = true;
+     }) { integer-simple = null;};
+
+  "hbro-contrib" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
+     , classy-prelude, containers, glib, gtk3, hbro, lens, monad-control
+     , mtl, network-uri, pango, parsec, process, resourcet, safe
+     , system-fileio, text, time, transformers-base, unix, webkitgtk3
+     }:
+     mkDerivation {
+       pname = "hbro-contrib";
+       version = "1.3.0.0";
+       revision = "1";
+       sha256 = "09q7n5x61gsrjcv7ixh36daq3hj4sip5iph5ll7pfwpqd9mhxq95";
+       editedCabalFile = "1df0341291f1e2820b8b0833b4951a555a96df54b3ef7cee754d32a6e53c69f0";
+       buildDepends = [
+         aeson aeson-pretty base bytestring classy-prelude containers glib
+         gtk3 hbro lens monad-control mtl network-uri pango parsec process
+         resourcet safe system-fileio text time transformers-base unix
+         webkitgtk3
+       ];
+       homepage = "https://github.com/k0ral/hbro-contrib";
+       description = "Third-party extensions to hbro";
+       license = "unknown";
+     }) {};
+
+  "hburg" = callPackage
+    ({ mkDerivation, array, base, containers, filepath, haskell98, mtl
+     }:
+     mkDerivation {
+       pname = "hburg";
+       version = "1.1.2";
+       sha256 = "03gd0hgms5hmjvd1j533357h0gh7mh16vmlbbgdhzad1igq1lcfv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers filepath haskell98 mtl ];
+       homepage = "http://www.bytelabs.org/hburg.html";
+       description = "Haskell Bottom Up Rewrite Generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hcc" = callPackage
+    ({ mkDerivation, base, bytestring, language-c }:
+     mkDerivation {
+       pname = "hcc";
+       version = "0.0.0";
+       sha256 = "04aczl9mh1gb25kggh2jj043az61gzzhxqfg9gb3lcjr5krrnh4p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring language-c ];
+       jailbreak = true;
+       homepage = "http://tomahawkins.org";
+       description = "A toy C compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hcg-minus" = callPackage
+    ({ mkDerivation, base, colour }:
+     mkDerivation {
+       pname = "hcg-minus";
+       version = "0.15";
+       sha256 = "04g0f4sr7904w3ynyl0gnbyi2sl0z7ziv5q15mfb6c7h0zl25d5r";
+       buildDepends = [ base colour ];
+       homepage = "http://rd.slavepianos.org/t/hcg-minus";
+       description = "haskell cg (minus)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hcg-minus-cairo" = callPackage
+    ({ mkDerivation, base, cairo, colour, filepath, hcg-minus
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hcg-minus-cairo";
+       version = "0.15";
+       sha256 = "002gh8adqzhcjfnqkbcnpzz8qiqbj9zkbk6jj11dnnxjigc4l2q9";
+       buildDepends = [
+         base cairo colour filepath hcg-minus utf8-string
+       ];
+       homepage = "http://rd.slavepianos.org/t/hcg-minus-cairo";
+       description = "haskell cg (minus) (cairo rendering)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hcheat" = callPackage
+    ({ mkDerivation, base, mps }:
+     mkDerivation {
+       pname = "hcheat";
+       version = "2010.1.16";
+       sha256 = "1fwgnp15kha9qb7iagd8n5ahjjhg194wbva5i436mb57fn86pya2";
+       buildDepends = [ base mps ];
+       homepage = "http://github.com/nfjinjing/hcheat/";
+       description = "A collection of code cheatsheet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hchesslib" = callPackage
+    ({ mkDerivation, array, attoparsec, base, containers, hlint, hspec
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hchesslib";
+       version = "0.1.0.0";
+       sha256 = "10785d9n87ddln1rvr19wnvcj401x3b53psdcf8vrwfaq930kjrv";
+       buildDepends = [ array attoparsec base containers text ];
+       testDepends = [
+         array attoparsec base containers hlint hspec QuickCheck text
+       ];
+       homepage = "https://github.com/nablaa/hchesslib";
+       description = "Chess library";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hcltest" = callPackage
+    ({ mkDerivation, base, bytestring, directory, dlist, doctest
+     , either, filepath, free, lens, mmorph, monad-control, mtl
+     , optparse-applicative, process, random-shuffle, split, stm, tagged
+     , tasty, temporary, text, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "hcltest";
+       version = "0.3.6";
+       sha256 = "145l3kfxi1slngcmh4dnn09hhpr5v6s5nppk0i5a5jzxpp2yx6sd";
+       buildDepends = [
+         base bytestring directory dlist either filepath free lens mmorph
+         monad-control mtl optparse-applicative process random-shuffle split
+         stm tagged tasty temporary text transformers transformers-base
+       ];
+       testDepends = [ base directory doctest filepath ];
+       jailbreak = true;
+       homepage = "http://github.com/bennofs/hcltest/";
+       description = "A testing library for command line applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hcron" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, mtl
+     , old-locale, pretty, process, random, stm, time
+     }:
+     mkDerivation {
+       pname = "hcron";
+       version = "0.0.0.3";
+       sha256 = "0ckq98aj6fgdgpwyy6ssydp4jazhhfshnalv71h2xx1z80m1ynq7";
+       buildDepends = [
+         base bytestring containers directory mtl old-locale pretty process
+         random stm time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tbh/hcron";
+       description = "A simple job scheduler, which just runs some IO action at a given time";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hcube" = callPackage
+    ({ mkDerivation, base, directory, HaskellForMaths, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hcube";
+       version = "0.1.1";
+       sha256 = "1h1g05a8wnk2q65mm4mwywxhygr7fs0150q8ml33ik59mcc5v7fr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory HaskellForMaths QuickCheck text ];
+       description = "Virtual Rubik's cube of arbitrary size";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hcwiid" = callPackage
+    ({ mkDerivation, base, bluetooth, cwiid, unix }:
+     mkDerivation {
+       pname = "hcwiid";
+       version = "0.0.5";
+       sha256 = "0dn19kkd1da9yk6yk8mmpz927d1gsjyip9v4dibsvc1w4v49n94x";
+       buildDepends = [ base unix ];
+       extraLibraries = [ bluetooth cwiid ];
+       homepage = "https://github.com/ivanperez-keera/hcwiid";
+       description = "Library to interface with the wiimote";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { bluetooth = null;  cwiid = null;};
+
+  "hdaemonize" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, filepath, hsyslog
+     , mtl, unix
+     }:
+     mkDerivation {
+       pname = "hdaemonize";
+       version = "0.5.0.0";
+       sha256 = "15dyaa9rbmsjp3sg9yxg1i90kfy9rvlzmwg5kl8kwal69ajzjjgv";
+       buildDepends = [
+         base extensible-exceptions filepath hsyslog mtl unix
+       ];
+       homepage = "http://github.com/madhadron/hdaemonize";
+       description = "Library to handle the details of writing daemons for UNIX";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hdaemonize-buildfix" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, filepath, hsyslog
+     , mtl, unix
+     }:
+     mkDerivation {
+       pname = "hdaemonize-buildfix";
+       version = "0.4.5";
+       sha256 = "15k4z77caa5y1jix4llqdmqpx0j7iv9nx5lk3vc5hs8vl2ax86f6";
+       buildDepends = [
+         base extensible-exceptions filepath hsyslog mtl unix
+       ];
+       homepage = "http://github.com/madhadron/hdaemonize";
+       description = "Library to handle the details of writing daemons for UNIX";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hdbc-aeson" = callPackage
+    ({ mkDerivation, aeson, base, convertible, HDBC, scientific, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hdbc-aeson";
+       version = "0.1.3.2";
+       sha256 = "04bp1zxw5alazk241gbz7g1s4cr0gabb7c15irzzlkbjz5jsk6d5";
+       buildDepends = [
+         aeson base convertible HDBC scientific text unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/danchoi/hdbc-aeson";
+       description = "Deserialize from HDBC rows to FromJSON instances";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hdbc-postgresql-hstore" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, HDBC, text }:
+     mkDerivation {
+       pname = "hdbc-postgresql-hstore";
+       version = "0.0.1.1";
+       sha256 = "034zsmqgavh4ns69f6j4a1afyqbd1b7h35macmf20vzxj0j0bawj";
+       buildDepends = [ attoparsec base containers HDBC text ];
+       jailbreak = true;
+       homepage = "http://bitbucket.com/dpwiz/hdbc-postgresql-hstore";
+       description = "Manipulate data in PostgreSQL \"hstore\" columns";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hdbc-tuple" = callPackage
+    ({ mkDerivation, base, convertible, HDBC, typical }:
+     mkDerivation {
+       pname = "hdbc-tuple";
+       version = "0.0.1";
+       sha256 = "155darl83c1b3gjkh7x8pwpj6v4nqfb389ix9vr39j7qw1pkjwdd";
+       buildDepends = [ base convertible HDBC typical ];
+       description = "Type save tuples for HDBC";
+       license = "GPL";
+     }) {};
+
+  "hdbi" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, Decimal, deepseq, derive, hspec-expectations, HUnit
+     , old-locale, QuickCheck, quickcheck-assertions
+     , quickcheck-instances, stm, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, time
+     , uuid
+     }:
+     mkDerivation {
+       pname = "hdbi";
+       version = "1.3.0";
+       sha256 = "0z8ivqs79lkqr2bji6nc5djd29ajag5r7d7caja482ksfq75wdc2";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring containers Decimal deepseq
+         old-locale stm template-haskell text time uuid
+       ];
+       testDepends = [
+         attoparsec base blaze-builder bytestring containers Decimal deepseq
+         derive hspec-expectations HUnit old-locale QuickCheck
+         quickcheck-assertions quickcheck-instances stm template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time uuid
+       ];
+       homepage = "https://github.com/s9gf4ult/hdbi";
+       description = "Haskell Database Independent interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hdbi-conduit" = callPackage
+    ({ mkDerivation, base, conduit, hdbi, hdbi-sqlite, QuickCheck
+     , quickcheck-assertions, resourcet, test-framework
+     , test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "hdbi-conduit";
+       version = "1.3.0";
+       sha256 = "1wrc38m8451vslvnmd4p128x9885dbjx5hzc566s06dw8wshfdgj";
+       buildDepends = [ base conduit hdbi resourcet transformers ];
+       testDepends = [
+         base conduit hdbi hdbi-sqlite QuickCheck quickcheck-assertions
+         resourcet test-framework test-framework-quickcheck2 transformers
+       ];
+       homepage = "https://github.com/s9gf4ult/hdbi-conduit";
+       description = "Conduit glue for HDBI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hdbi-postgresql" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, Decimal, derive, hdbi, hdbi-tests, HUnit, ieee754
+     , mtl, old-locale, postgresql-libpq, postgresql-simple, QuickCheck
+     , quickcheck-assertions, quickcheck-instances, safe, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, time
+     , uuid
+     }:
+     mkDerivation {
+       pname = "hdbi-postgresql";
+       version = "1.3.0";
+       sha256 = "1fjcp3ldc54bm8gj8l9ifjvdxx6h6lsswjspmwnzwfh1ahfrbg1x";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring hdbi mtl old-locale
+         postgresql-libpq postgresql-simple safe text time uuid
+       ];
+       testDepends = [
+         attoparsec base blaze-builder bytestring containers Decimal derive
+         hdbi hdbi-tests HUnit ieee754 mtl old-locale postgresql-libpq
+         postgresql-simple QuickCheck quickcheck-assertions
+         quickcheck-instances safe test-framework test-framework-hunit
+         test-framework-quickcheck2 text time uuid
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/s9gf4ult/hdbi-postgresql";
+       description = "PostgreSQL driver for hdbi";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hdbi-sqlite" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, direct-sqlite
+     , hdbi, hdbi-tests, test-framework, text
+     }:
+     mkDerivation {
+       pname = "hdbi-sqlite";
+       version = "1.3.0";
+       sha256 = "03vf5xv14hb6rwwaiv997a7j3s5rgp81cb60v0n013l20dqh1g04";
+       buildDepends = [
+         base blaze-builder bytestring direct-sqlite hdbi text
+       ];
+       testDepends = [
+         base blaze-builder bytestring direct-sqlite hdbi hdbi-tests
+         test-framework text
+       ];
+       homepage = "https://github.com/s9gf4ult/hdbi-sqlite";
+       description = "SQlite driver for HDBI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hdbi-tests" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Decimal, hdbi, HUnit
+     , ieee754, QuickCheck, quickcheck-assertions, quickcheck-instances
+     , stm, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, uuid
+     }:
+     mkDerivation {
+       pname = "hdbi-tests";
+       version = "1.3.0";
+       sha256 = "0rvrjcv890flsmq8v6bpgh8kvg0ix3x2n149kdg7xviy26liyjg5";
+       buildDepends = [
+         base bytestring containers Decimal hdbi HUnit ieee754 QuickCheck
+         quickcheck-assertions quickcheck-instances stm test-framework
+         test-framework-hunit test-framework-quickcheck2 text time uuid
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/s9gf4ult/hdbi-tests";
+       description = "test suite for testing HDBI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hdevtools" = callPackage
+    ({ mkDerivation, base, Cabal, cmdargs, directory, filepath, ghc
+     , ghc-paths, network, syb, time, unix
+     }:
+     mkDerivation {
+       pname = "hdevtools";
+       version = "0.1.0.8";
+       sha256 = "1a84in8ip037p1f10199g2mk87ymjchyraic8zmxn7vxm1b88217";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal cmdargs directory filepath ghc ghc-paths network syb
+         time unix
+       ];
+       homepage = "https://github.com/schell/hdevtools/";
+       description = "Persistent GHC powered background server for FAST haskell development tools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hdf" = callPackage
+    ({ mkDerivation, base, directory, fgl, fgl-visualize, filepath
+     , hosc, hsc3, murmur-hash, process, split, transformers
+     }:
+     mkDerivation {
+       pname = "hdf";
+       version = "0.15";
+       sha256 = "11nf9wlymdhydf0bhh9gdl0cdn0i4mbvx3hfdcmnxfvag5jmfbkk";
+       buildDepends = [
+         base directory fgl fgl-visualize filepath hosc hsc3 murmur-hash
+         process split transformers
+       ];
+       homepage = "http://rd.slavepianos.org/t/hdf";
+       description = "HDF: Uniform Rate Audio Signal Processing in Haskell";
+       license = "GPL";
+     }) {};
+
+  "hdigest" = callPackage
+    ({ mkDerivation, base, cgi, Crypto, network, parsec, random, time
+     }:
+     mkDerivation {
+       pname = "hdigest";
+       version = "1.0";
+       sha256 = "1wm9j8ncjfb0gscdz4zmkymrzykc6rqbcx7988r207l5s9q3043f";
+       buildDepends = [ base cgi Crypto network parsec random time ];
+       description = "Server-side HTTP Digest (RFC2617) in the CGI monad";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hdirect" = callPackage
+    ({ mkDerivation, array, base, happy, haskell98, pretty }:
+     mkDerivation {
+       pname = "hdirect";
+       version = "0.21.0";
+       sha256 = "1v7yx9k0kib6527k49hf3s4jvdda7a0wgv09qhyjk6lyriyi3ny2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base haskell98 pretty ];
+       buildTools = [ happy ];
+       homepage = "http://www.haskell.org/hdirect/";
+       description = "An IDL compiler for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hdis86" = callPackage
+    ({ mkDerivation, base, bytestring, containers, QuickCheck }:
+     mkDerivation {
+       pname = "hdis86";
+       version = "0.2";
+       sha256 = "0qr8d4qbvkncv4im0iwwdr9khvkyy4ky8wnwxri1jqhylcq8vdks";
+       buildDepends = [ base bytestring containers QuickCheck ];
+       homepage = "https://github.com/kmcallister/hdis86";
+       description = "Interface to the udis86 disassembler for x86 and x86-64 / AMD64";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hdiscount" = callPackage
+    ({ mkDerivation, base, bytestring, markdown }:
+     mkDerivation {
+       pname = "hdiscount";
+       version = "0.1.0.0";
+       sha256 = "0z6kpsk57gjqwpvs5v6ikiirnyyg26mbrxx827bb1v27lhsy7py0";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ markdown ];
+       jailbreak = true;
+       homepage = "https://github.com/jamwt/hdiscount";
+       description = "Haskell bindings to the Discount markdown library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { markdown = null;};
+
+  "hdm" = callPackage
+    ({ mkDerivation, base, directory, process, unix, vty }:
+     mkDerivation {
+       pname = "hdm";
+       version = "0.0.1";
+       sha256 = "1qgq4bwq2ip315j43f0pyhxah033bjrj3wrmvnzmc62s8k2rfvgh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory process unix vty ];
+       description = "a small display manager";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hdocs" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , filepath, ghc, ghc-paths, haddock-api, haddock-library
+     , MonadCatchIO-transformers, mtl, network, process, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hdocs";
+       version = "0.4.2.0";
+       sha256 = "1qsahvm24hxjzfd0qvyfsasdplh2hbg9fkxcdkysgqxpzq8kx4gb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base bytestring containers filepath ghc
+         ghc-paths haddock-api haddock-library MonadCatchIO-transformers mtl
+         network process text transformers
+       ];
+       testDepends = [ base containers mtl ];
+       jailbreak = true;
+       homepage = "https://github.com/mvoidex/hdocs";
+       description = "Haskell docs tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hdph" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, deepseq
+     , hdph-closure, mtl, network, network-info, network-multicast
+     , network-transport, network-transport-tcp, random
+     , template-haskell, time
+     }:
+     mkDerivation {
+       pname = "hdph";
+       version = "0.0.1";
+       sha256 = "116499cr0pcc1gg7aniprlcp9vp8s61b4vk7rcm673nw3lay496a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal containers deepseq hdph-closure mtl network
+         network-info network-multicast network-transport
+         network-transport-tcp random template-haskell time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/PatrickMaier/HdpH";
+       description = "Haskell distributed parallel Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hdph-closure" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , deepseq, template-haskell
+     }:
+     mkDerivation {
+       pname = "hdph-closure";
+       version = "0.0.1";
+       sha256 = "0rcmp5i7jvpghg8nql5wlidbyjs79cxxmdb6bq3xxk806gdj66d8";
+       buildDepends = [
+         array base bytestring cereal containers deepseq template-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/PatrickMaier/HdpH";
+       description = "Explicit closures in Haskell distributed parallel Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "heap" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "heap";
+       version = "1.0.2";
+       sha256 = "1xwgdx4m558m2xqmqnskkbja9s1lqm131xphjgk0yclsk0sv8was";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base QuickCheck ];
+       description = "Heaps in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "heaps" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath }:
+     mkDerivation {
+       pname = "heaps";
+       version = "0.3.2.1";
+       sha256 = "1g4nf361qfjyymwpyiiq0qk5brrsr4wz1pncij69pwda919b3j6b";
+       buildDepends = [ base ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/heaps/";
+       description = "Asymptotically optimal Brodal/Okasaki heaps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "heapsort" = callPackage
+    ({ mkDerivation, array, base, QuickCheck }:
+     mkDerivation {
+       pname = "heapsort";
+       version = "0.1.0";
+       sha256 = "0fzws9fjhqsygsbwj7nvj786j16264vqvqzc97dr73y72538k9qa";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base QuickCheck ];
+       homepage = "http://wiki.cs.pdx.edu/bartforge/heapsort";
+       description = "Heapsort of MArrays as a demo of imperative programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hebrew-time" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time
+     }:
+     mkDerivation {
+       pname = "hebrew-time";
+       version = "0.1.1";
+       sha256 = "0ckridxf4rvhhp0k1mckbbbpzfs32l4mwg7n9mrmsggldpl7x6f7";
+       buildDepends = [ base time ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 time
+       ];
+       homepage = "https://github.com/snoyberg/hebrew-time";
+       description = "Hebrew dates and prayer times";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hecc" = callPackage
+    ({ mkDerivation, base, cereal, crypto-api, hF2 }:
+     mkDerivation {
+       pname = "hecc";
+       version = "0.4.1.1";
+       sha256 = "1p7h9mlap8i0w2inhq944r0dgr27rzwk44igylil7gv0dgf4hsyx";
+       buildDepends = [ base cereal crypto-api hF2 ];
+       description = "Elliptic Curve Cryptography for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hedis" = callPackage
+    ({ mkDerivation, attoparsec, base, BoundedChan, bytestring
+     , bytestring-lexing, HUnit, mtl, network, resource-pool
+     , test-framework, test-framework-hunit, time, vector
+     }:
+     mkDerivation {
+       pname = "hedis";
+       version = "0.6.5";
+       sha256 = "1kn8i49yxms1bpjwpy4m8vyycgi755zvy4zc66w068nmnd1kiykh";
+       buildDepends = [
+         attoparsec base BoundedChan bytestring bytestring-lexing mtl
+         network resource-pool time vector
+       ];
+       testDepends = [
+         base bytestring HUnit mtl test-framework test-framework-hunit 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-config" = callPackage
+    ({ mkDerivation, aeson, base, hedis, scientific, text, time }:
+     mkDerivation {
+       pname = "hedis-config";
+       version = "0.0.1";
+       sha256 = "1c524klmsl8n6alphxdmwm4hw05hhq3rcyb5540ksnnys77b8y2b";
+       buildDepends = [ aeson base hedis scientific text time ];
+       homepage = "https://bitbucket.org/s9gf4ult/hedis-config";
+       description = "Easy trivial configuration for Redis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hedis-monadic" = callPackage
+    ({ mkDerivation, base, hedis, monad-control, mtl, transformers
+     , transformers-base, transformers-compat
+     }:
+     mkDerivation {
+       pname = "hedis-monadic";
+       version = "0.0.3";
+       sha256 = "1z80kdm1cs1pk6fpbby20q49ji840zp9xwbynbry2v43g5q18lq6";
+       buildDepends = [
+         base hedis monad-control mtl transformers transformers-base
+         transformers-compat
+       ];
+       homepage = "https://bitbucket.org/s9gf4ult/redis-monadic";
+       description = "A la MonadReader for Redis connection";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hedis-pile" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hedis, hedis-tags, HUnit
+     , lifted-base, string-conversions, test-framework
+     , test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "hedis-pile";
+       version = "0.6.3";
+       sha256 = "0awwga4hvmfkkkqy68g4ja51szjifs1z20rav0kmbn3gn978248n";
+       buildDepends = [
+         base binary bytestring hedis hedis-tags string-conversions
+         transformers
+       ];
+       testDepends = [
+         base binary bytestring hedis HUnit lifted-base string-conversions
+         test-framework test-framework-hunit transformers
+       ];
+       homepage = "https://github.com/akaspin/hedis-pile";
+       description = "Caching mandatory data with Redis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hedis-simple" = callPackage
+    ({ mkDerivation, base, bytestring, either, hedis, mtl }:
+     mkDerivation {
+       pname = "hedis-simple";
+       version = "0.1.0.0";
+       sha256 = "1dq7rpqg35caqj664q2ndqgd59mq7cfjahkaka5mlk1k5yjvz7av";
+       buildDepends = [ base bytestring either hedis mtl ];
+       jailbreak = true;
+       homepage = "http://github.com/sanetracker/hedis-simple";
+       description = "A simplified API for hedis";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hedis-tags" = callPackage
+    ({ mkDerivation, base, bytestring, hedis, HUnit, lifted-base
+     , test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "hedis-tags";
+       version = "0.2.3";
+       sha256 = "0d9jr26366xjjcc39ma36bs944d11xpw5izww9pw3lajsgdr0d1s";
+       buildDepends = [ base bytestring hedis ];
+       testDepends = [
+         base bytestring hedis HUnit lifted-base test-framework
+         test-framework-hunit transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/akaspin/hedis-tags";
+       description = "Tags for hedis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hedn" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
+     , hspec, HUnit, mtl, old-locale, QuickCheck, stringsearch
+     , template-haskell, text, time, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "hedn";
+       version = "0.1.8.1";
+       sha256 = "12r7ndjq59q9pdnhziq7af4jkp2mgpq7qhnnzgv6w1z8v893b9r1";
+       buildDepends = [
+         attoparsec base bytestring containers deepseq mtl old-locale
+         stringsearch text time utf8-string vector
+       ];
+       testDepends = [
+         base bytestring containers hspec HUnit QuickCheck template-haskell
+         text time vector
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/dpwiz/hedn";
+       description = "EDN parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "heist" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
+     , bytestring, containers, directory, directory-tree, dlist, errors
+     , filepath, hashable, map-syntax, MonadCatchIO-transformers, mtl
+     , process, random, text, time, transformers, unordered-containers
+     , vector, xmlhtml
+     }:
+     mkDerivation {
+       pname = "heist";
+       version = "0.14.1";
+       revision = "1";
+       sha256 = "11g6nrg9xn9ypwrz7mj3hqjhg45ia1miihh1ydls7vfdm2fqlagy";
+       editedCabalFile = "2d58f7f1572a3a9ed3f20cb344a4f45e33303a40889b1e5bd8f83e4b972b195e";
+       buildDepends = [
+         aeson attoparsec base blaze-builder blaze-html bytestring
+         containers directory directory-tree dlist errors filepath hashable
+         map-syntax MonadCatchIO-transformers mtl process random text time
+         transformers unordered-containers vector xmlhtml
+       ];
+       homepage = "http://snapframework.com/";
+       description = "An Haskell template system supporting both HTML5 and XML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "heist-aeson" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, containers
+     , heist, monads-fd, text, vector, xmlhtml
+     }:
+     mkDerivation {
+       pname = "heist-aeson";
+       version = "0.5";
+       sha256 = "1m0rwrb0gzsajnp5h0w7cf10jf6fram4mjkmny5hk0h5xwcn19dc";
+       buildDepends = [
+         aeson base blaze-builder bytestring containers heist monads-fd text
+         vector xmlhtml
+       ];
+       description = "Use JSON directly from Heist templates";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "heist-async" = callPackage
+    ({ mkDerivation, base, heist, template-haskell, text, xmlhtml }:
+     mkDerivation {
+       pname = "heist-async";
+       version = "0.6.0.0";
+       sha256 = "16ab3cfs6fj66ssf6ypmx2yddq5an115wlmwybk3va0a7kbp58ll";
+       buildDepends = [ base heist template-haskell text xmlhtml ];
+       homepage = "http://github.com/dbp/heist-async";
+       description = "Adding support for asynchronous updates (\"AJAX\") with heist";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "helics" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-show
+     , data-default-class, newrelic-collector-client, newrelic-common
+     , newrelic-transaction, time, unix
+     }:
+     mkDerivation {
+       pname = "helics";
+       version = "0.5.1";
+       revision = "1";
+       sha256 = "06kj42rmlzlw6zrilq9kc5whk0np5714wwn3nwbpv6fx4ginzg2c";
+       editedCabalFile = "698732187d22f634ca220584e3b4056415c873360a85bc0a4ab7c1e2c86fca3d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-show data-default-class time unix
+       ];
+       extraLibraries = [
+         newrelic-collector-client newrelic-common newrelic-transaction
+       ];
+       homepage = "https://github.com/philopon/helics";
+       description = "New Relic® agent SDK wrapper for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { newrelic-collector-client = null;  newrelic-common = null;
+          newrelic-transaction = null;};
+
+  "helics-wai" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, helics
+     , vault, wai
+     }:
+     mkDerivation {
+       pname = "helics-wai";
+       version = "0.5.1";
+       sha256 = "10rb9l4sf31h59f5pwv54vqjnlm047mbq5gvhv5wblkh53ch1b31";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring data-default-class helics vault wai
+       ];
+       homepage = "https://github.com/philopon/helics";
+       description = "New Relic® agent SDK wrapper for wai";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "helisp" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, process }:
+     mkDerivation {
+       pname = "helisp";
+       version = "0.1";
+       sha256 = "1j495j3kc43d34aviln6jrab3ydzsp1hrnk079p53mcnx2rpjz81";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers mtl parsec process ];
+       homepage = "http://www.codersbase.com/index.php/Helisp";
+       description = "An incomplete Elisp compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "helium" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, lvmlib, mtl
+     , network, parsec, process, Top, transformers, wl-pprint
+     }:
+     mkDerivation {
+       pname = "helium";
+       version = "1.8";
+       sha256 = "0nhpkilxhkp0q9flq6ap8lhync21v8bz5jvb6j79flcvb0vh74rq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath lvmlib mtl network parsec
+         process Top transformers wl-pprint
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/Helium/WebHome";
+       description = "The Helium Compiler";
+       license = "GPL";
+     }) {};
+
+  "hell" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , data-default, directory, filepath, ghc, ghc-paths, haskeline
+     , monad-extras, mtl, pdfinfo, process, process-extras, resourcet
+     , shell-conduit, split, template-haskell, text, time, transformers
+     , unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "hell";
+       version = "2.1";
+       sha256 = "1kdxkk994g38bl2kcxcs0p9wn1rankn0jw14nlvy9z9appgxalnl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit conduit-extra data-default directory
+         filepath ghc ghc-paths haskeline monad-extras mtl pdfinfo process
+         process-extras resourcet shell-conduit split template-haskell text
+         time transformers unix utf8-string
+       ];
+       description = "A Haskell shell based on shell-conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hellage" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, hellnet
+     , hjpath, hjson, HTTP, Lucu, mtl, network, regex-pcre, safe, stm
+     , tar, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "hellage";
+       version = "0.1.1";
+       sha256 = "1gqz042qycwhka6fyma6fb104mi8wd22nsbywrini3m3nib5ci75";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory hellnet hjpath hjson HTTP Lucu
+         mtl network regex-pcre safe stm tar utf8-string zlib
+       ];
+       homepage = "http://bitcheese.net/wiki/hellnet/hellage";
+       description = "Distributed hackage mirror";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hellnet" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Crypto, directory
+     , filepath, haskell98, hjpath, hjson, HTTP, Lucu, mtl, network
+     , old-locale, parsec, pretty, process, random, regex-posix, RSA
+     , safe, time, unix, uri, utf8-string
+     }:
+     mkDerivation {
+       pname = "hellnet";
+       version = "0.1.1";
+       sha256 = "0fb4r9nb39l1qr7xczgkx5i93cv4rqrin0fl22qq4h12ajvrp6m6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers Crypto directory filepath haskell98
+         hjpath hjson HTTP Lucu mtl network old-locale parsec pretty process
+         random regex-posix RSA safe time unix uri utf8-string
+       ];
+       homepage = "http://bitcheese.net/wiki/hellnet/hspawn";
+       description = "Simple, distributed, anonymous data sharing network";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hello" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hello";
+       version = "1.0.0.2";
+       sha256 = "1x6q7frbrc4jdfx1qhxrydmdp5k7mm3lx504d7rhg6z2m6ibbh57";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://www.haskell.org/hello/";
+       description = "Hello World, an example package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "helm" = callPackage
+    ({ mkDerivation, base, cairo, containers, cpu, elerea, filepath
+     , HUnit, mtl, pango, random, sdl2, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "helm";
+       version = "0.7.1";
+       sha256 = "04smx6q2k4zj4gjvwy393s4abik9k108c5j31yy3dwksbbhhmygg";
+       buildDepends = [
+         base cairo containers cpu elerea filepath mtl pango random sdl2
+         text time transformers
+       ];
+       testDepends = [
+         base cairo containers elerea HUnit sdl2 test-framework
+         test-framework-hunit test-framework-quickcheck2 time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/switchface/helm";
+       description = "A functionally reactive game engine";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "help-esb" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, MissingH
+     , network, network-uri, text, uuid
+     }:
+     mkDerivation {
+       pname = "help-esb";
+       version = "0.1.6";
+       sha256 = "0fy0dygx3hdkbdip7gppk25akjar0p2px0s5q7sl1lmzgkcl1016";
+       buildDepends = [
+         aeson base bytestring containers MissingH network network-uri text
+         uuid
+       ];
+       homepage = "https://github.com/helpdotcom/help-esb.hs";
+       description = "A Haskell client for the Help.com team's ESB.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hemkay" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, hemkay-core
+     , portaudio
+     }:
+     mkDerivation {
+       pname = "hemkay";
+       version = "0.2.0";
+       sha256 = "16f1nzpi20j7fza1rs1b89mhyni4162q2x4l3ixrnd82yjmcmc1l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring hemkay-core portaudio
+       ];
+       description = "A module music mixer and player";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hemkay-core" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring }:
+     mkDerivation {
+       pname = "hemkay-core";
+       version = "0.1.4";
+       sha256 = "0br41879jynw3dzb2hlb07m55zmzgyim6gi8i48bzimbi70c9z89";
+       buildDepends = [ array base binary bytestring ];
+       description = "A device independent module music mixer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hemokit" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring, cairo
+     , cipher-aes, conduit, deepseq, deepseq-generics, gtk, hidapi
+     , hspec, HUnit, mtl, network-simple, optparse-applicative
+     , pretty-show, robot, split, svgcairo, text, time, transformers
+     , vector, vector-fftw, websockets
+     }:
+     mkDerivation {
+       pname = "hemokit";
+       version = "0.6.5";
+       sha256 = "104387q98qfhykmjkyhg08rji8pljlllp2j57ilhpb7ws9ik2g26";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring bytestring cairo cipher-aes conduit
+         deepseq deepseq-generics gtk hidapi mtl network-simple
+         optparse-applicative pretty-show robot split svgcairo text time
+         transformers vector vector-fftw websockets
+       ];
+       testDepends = [ base bytestring hspec HUnit vector ];
+       jailbreak = true;
+       homepage = "https://github.com/nh2/haskell-hemokit";
+       description = "Haskell port of the Emokit EEG project";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hen" = callPackage
+    ({ mkDerivation, base, bitset, exceptions, mtl, QuickCheck, tasty
+     , tasty-quickcheck, transformers, uuid, xenctrl
+     }:
+     mkDerivation {
+       pname = "hen";
+       version = "0.1.3";
+       sha256 = "1ri6brxmc2m09jx2r9p47lgpfn8zkxy147hyyw3x2pw3g6cgsill";
+       buildDepends = [ base bitset exceptions mtl transformers uuid ];
+       testDepends = [
+         base bitset exceptions mtl QuickCheck tasty tasty-quickcheck
+         transformers uuid
+       ];
+       extraLibraries = [ xenctrl ];
+       jailbreak = true;
+       homepage = "https://github.com/selectel/hen";
+       description = "Haskell bindings to Xen hypervisor interface";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { xenctrl = null;};
+
+  "henet" = callPackage
+    ({ mkDerivation, base, bitset, bytestring, network, typesafe-endian
+     }:
+     mkDerivation {
+       pname = "henet";
+       version = "1.3.9.3";
+       sha256 = "0pm5lnn7rc647ic404c8bmki9wfrkc0mdmmkng50vv0bm2d7z5aq";
+       buildDepends = [ base bitset bytestring network typesafe-endian ];
+       description = "Bindings and high level interface for to ENet v1.3.9";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hepevt" = callPackage
+    ({ mkDerivation, bytestring, haskell2010, lha }:
+     mkDerivation {
+       pname = "hepevt";
+       version = "0.5";
+       sha256 = "0b7syzfzbcznjb98hi4k8bp46ss08s9qg2763bnnm1b10i7km23z";
+       buildDepends = [ bytestring haskell2010 lha ];
+       description = "HEPEVT parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "her-lexer" = callPackage
+    ({ mkDerivation, base, mtl, split }:
+     mkDerivation {
+       pname = "her-lexer";
+       version = "0.1.1";
+       sha256 = "1hbx48r8zdmyr5qjf0b3pagmamj8pibsp7ca7bxdgk4jz8pxv2my";
+       buildDepends = [ base mtl split ];
+       homepage = "http://personal.cis.strath.ac.uk/~conor/pub/she";
+       description = "A lexer for Haskell source code";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "her-lexer-parsec" = callPackage
+    ({ mkDerivation, base, her-lexer, parsec, transformers }:
+     mkDerivation {
+       pname = "her-lexer-parsec";
+       version = "0.0.0";
+       sha256 = "1gkcd9ikaxjirxh8haq8b9a372n1dlaq63n9xzq9gsyazkxz7lgn";
+       buildDepends = [ base her-lexer parsec transformers ];
+       description = "Parsec frontend to \"her-lexer\" for Haskell source code";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "herbalizer" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, indents, mtl, parsec
+     , regex-posix
+     }:
+     mkDerivation {
+       pname = "herbalizer";
+       version = "0.4.9";
+       sha256 = "1gm1ya1p1i734sxadbmj1zn6mbq1gssmzp897h5xjgb8vsa2fxs6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers ghc-prim indents mtl parsec regex-posix
+       ];
+       homepage = "https://github.com/danchoi/herbalizer";
+       description = "HAML to ERB translator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "here" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, mtl, parsec
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "here";
+       version = "1.2.7";
+       sha256 = "1fqjqzfg3fif67ic75pavsnfjb9lxk5cf82chxs2hrkx41gm4gr6";
+       buildDepends = [
+         base haskell-src-meta mtl parsec template-haskell
+       ];
+       homepage = "https://github.com/tmhedberg/here";
+       description = "Here docs & interpolated strings via quasiquotation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "heredoc" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "heredoc";
+       version = "0.2.0.0";
+       sha256 = "0h0g2f7yscwl1ba1yn3jnz2drvd6ns9m910hwlmq3kdq3k39y3f9";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://hackage.haskell.org/package/heredoc";
+       description = "multi-line string / here document using QuasiQuotes";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "hermit" = callPackage
+    ({ mkDerivation, alex, ansi-terminal, array, base, containers
+     , data-default-class, directory, ghc, happy, haskeline, kure
+     , marked-pretty, mtl, operational, process, stm, temporary
+     , terminfo, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "hermit";
+       version = "0.7.1.0";
+       sha256 = "0ckjh7ql2s6l09lbgdn9plfpvmdcx6b3yh9lbdih9l4lcf1k8f56";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal array base containers data-default-class directory
+         ghc haskeline kure marked-pretty mtl operational process stm
+         temporary terminfo transformers transformers-compat
+       ];
+       buildTools = [ alex happy ];
+       description = "Haskell Equational Reasoning Model-to-Implementation Tunnel";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hermit-syb" = callPackage
+    ({ mkDerivation, base, containers, ghc, ghc-prim, hermit, syb
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "hermit-syb";
+       version = "0.1.0.0";
+       sha256 = "1970n7q88q76dnp2h7h8r1d6psq0d9pdvrim556rqiv8smwi661x";
+       buildDepends = [
+         base containers ghc ghc-prim hermit syb template-haskell
+       ];
+       description = "HERMIT plugin for optimizing Scrap-Your-Boilerplate traversals";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "heroku" = callPackage
+    ({ mkDerivation, base, hspec, network-uri, text }:
+     mkDerivation {
+       pname = "heroku";
+       version = "0.1.2.2";
+       sha256 = "0ixsdjxp3vpgsnx2cibyk80h7yjz7cgkcd3y8ggv8789s9bc4i77";
+       buildDepends = [ base network-uri text ];
+       testDepends = [ base hspec network-uri text ];
+       homepage = "https://github.com/gregwebs/haskell-heroku";
+       description = "helpers for deploying to Heroku";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "heroku-persistent" = callPackage
+    ({ mkDerivation, base, bytestring, heroku, hspec
+     , persistent-postgresql, text
+     }:
+     mkDerivation {
+       pname = "heroku-persistent";
+       version = "0.1.0";
+       sha256 = "1ws4076dk4a8l2yz9mwfwqk57sm7y2ch2c5318agsm7hnwil7wbf";
+       buildDepends = [
+         base bytestring heroku persistent-postgresql text
+       ];
+       testDepends = [ base hspec persistent-postgresql ];
+       description = "Parse DATABASE_URL into configuration types for Persistent";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "herringbone" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , http-types, mtl, old-locale, process, process-listlike
+     , system-fileio, system-filepath, text, time, transformers
+     , unix-compat
+     }:
+     mkDerivation {
+       pname = "herringbone";
+       version = "0.1.1";
+       sha256 = "1xpdz24dinm56z4gx51frw19j2169ms9jvasg8xixi944q34hwmk";
+       buildDepends = [
+         base bytestring containers directory http-types mtl old-locale
+         process process-listlike system-fileio system-filepath text time
+         transformers unix-compat
+       ];
+       description = "A library for compiling and serving static web assets";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "herringbone-embed" = callPackage
+    ({ mkDerivation, base, bytestring, file-embed, herringbone
+     , system-fileio, system-filepath, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "herringbone-embed";
+       version = "0.1.1";
+       sha256 = "02i0k29fg0nb4ax0yaw6bnrnb0v0rk2fy7lckd5f5bny557mk1h6";
+       buildDepends = [
+         base bytestring file-embed herringbone system-fileio
+         system-filepath template-haskell text
+       ];
+       description = "Embed preprocessed web assets in your executable with Template Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "herringbone-wai" = callPackage
+    ({ mkDerivation, base, bytestring, herringbone, http-types
+     , system-fileio, system-filepath, text, time, wai, wai-app-static
+     }:
+     mkDerivation {
+       pname = "herringbone-wai";
+       version = "0.1.1";
+       sha256 = "1kw0n89qqazyap9w315pa6k4smnw1pf8s82grbm8z9d9xyhk980f";
+       buildDepends = [
+         base bytestring herringbone http-types system-fileio
+         system-filepath text time wai wai-app-static
+       ];
+       description = "Wai adapter for the Herringbone web asset preprocessor";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hesql" = callPackage
+    ({ mkDerivation, base, filepath, haskell-src, HDBC, HDBC-postgresql
+     , hssqlppp, parsec
+     }:
+     mkDerivation {
+       pname = "hesql";
+       version = "0.8";
+       sha256 = "1xxmm5b3n8wj548lmf7hp05g7qwy0sq7mkh0g98n7z1iqdmfamwa";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base filepath haskell-src HDBC HDBC-postgresql hssqlppp parsec
+       ];
+       jailbreak = true;
+       description = "Haskell's embedded SQL";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hetero-map" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hetero-map";
+       version = "0.21";
+       sha256 = "1fnzj37kya5gqjchm3yq0709ay50n0spb24x5rxkxfbl0yy2nzk7";
+       buildDepends = [ base ];
+       homepage = "http://github.com/luqui/hetero-map";
+       description = "Pure heterogeneous maps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hetris" = callPackage
+    ({ mkDerivation, array, base, curses, hscurses, old-time, random }:
+     mkDerivation {
+       pname = "hetris";
+       version = "0.2";
+       sha256 = "0sj0grykzb7xq7iz0nj27c4fzhcr9f0yshfcq81xq2wdmg09j8yx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base hscurses old-time random ];
+       extraLibraries = [ curses ];
+       homepage = "http://web.comlab.ox.ac.uk/oucl/work/ian.lynagh/Hetris/";
+       description = "Text Tetris";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { curses = null;};
+
+  "heukarya" = callPackage
+    ({ mkDerivation, base, containers, deepseq, parallel, random, text
+     }:
+     mkDerivation {
+       pname = "heukarya";
+       version = "0.2.0.2";
+       sha256 = "1ycfy29crdj8ch07wm77lfpg656vm2vl34mdqvsxfxijdxb23cxg";
+       buildDepends = [ base containers deepseq parallel random text ];
+       homepage = "https://github.com/t3476/heukarya";
+       description = "A genetic programming based on tree structure";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hevolisa" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, filepath, haskell98 }:
+     mkDerivation {
+       pname = "hevolisa";
+       version = "0.0.1";
+       sha256 = "1ys7xqdrnvwn6z2vgmh49zhfxj73pdmscblqcjk6qrwmpb2xha2s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring cairo filepath haskell98 ];
+       description = "Genetic Mona Lisa problem in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hevolisa-dph" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, dph-seq, filepath
+     , haskell98
+     }:
+     mkDerivation {
+       pname = "hevolisa-dph";
+       version = "0.0.1";
+       sha256 = "0jsynxd33r7d5s5vn204z4wdgm4cq6qyjs7afa77p94ni5m2p3kb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo dph-seq filepath haskell98
+       ];
+       description = "Genetic Mona Lisa problem in Haskell - using Data Parallel Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hex" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "hex";
+       version = "0.1.2";
+       sha256 = "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj";
+       buildDepends = [ base bytestring ];
+       description = "Convert strings into hexadecimal and back";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hexdump" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hexdump";
+       version = "0.1";
+       sha256 = "012hknn9qhwr3hn3dbyd9s7vvaz4i3bvimmxkb1jyfckw3wjcnhc";
+       buildDepends = [ base ];
+       description = "A library for forming hexdumps";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "hexif" = callPackage
+    ({ mkDerivation, base, binary, bytestring, filepath }:
+     mkDerivation {
+       pname = "hexif";
+       version = "0.2.0.0";
+       sha256 = "1asv5vs694mcifffvm5a4gsplpz7frk3p3zr9lqqv1f172ql9lql";
+       buildDepends = [ base binary bytestring filepath ];
+       jailbreak = true;
+       homepage = "http://www.github.com/hansroland/hexif";
+       description = "Reading Exif data form a JPEG file with Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hexpat" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, List, text
+     , transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "hexpat";
+       version = "0.20.9";
+       sha256 = "17cx8iafb07f2c8wmfmrfgpz9cjilciba6001klf42z039ghf72x";
+       buildDepends = [
+         base bytestring containers deepseq List text transformers
+         utf8-string
+       ];
+       homepage = "http://haskell.org/haskellwiki/Hexpat/";
+       description = "XML parser/formatter based on expat";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hexpat-iteratee" = callPackage
+    ({ mkDerivation, base, bytestring, containers
+     , extensible-exceptions, hexpat, iteratee, List, parallel
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hexpat-iteratee";
+       version = "0.6";
+       sha256 = "10cqgrrqg518lhr9mk6gq48fgc0sjzwiakm2amhqgfflva3q0nqn";
+       buildDepends = [
+         base bytestring containers extensible-exceptions hexpat iteratee
+         List parallel transformers
+       ];
+       jailbreak = true;
+       homepage = "http://haskell.org/haskellwiki/Hexpat/";
+       description = "Chunked XML parsing using iteratees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hexpat-lens" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hexpat, hexpat-tagsoup
+     , lens
+     }:
+     mkDerivation {
+       pname = "hexpat-lens";
+       version = "0.1.3";
+       sha256 = "0283zpzj1xsav50d4k66i90fhll89flqnb1jv0x7gxppv1460vfr";
+       buildDepends = [
+         base bytestring deepseq hexpat hexpat-tagsoup lens
+       ];
+       description = "Lenses for Hexpat";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hexpat-pickle" = callPackage
+    ({ mkDerivation, base, bytestring, containers
+     , extensible-exceptions, hexpat, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "hexpat-pickle";
+       version = "0.6";
+       sha256 = "1k01s49mz4xxfbw1b7ab0ian2m0d7w5awbwf4jyz5ykgxg11kz9m";
+       buildDepends = [
+         base bytestring containers extensible-exceptions hexpat text
+         utf8-string
+       ];
+       homepage = "http://code.haskell.org/hexpat-pickle/";
+       description = "XML picklers based on hexpat, source-code-similar to those of the HXT package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hexpat-pickle-generic" = callPackage
+    ({ mkDerivation, base, bytestring, hexpat, QuickCheck
+     , test-framework, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "hexpat-pickle-generic";
+       version = "0.1.7";
+       sha256 = "0l0h5n1afkg8zjq28h7aidsskdzf1i5lnz9jlq0hblwa9wamamis";
+       buildDepends = [ base bytestring hexpat text ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       description = "Picklers for de/serialising Generic data types to and from XML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hexpat-tagsoup" = callPackage
+    ({ mkDerivation, base, hexpat, tagsoup }:
+     mkDerivation {
+       pname = "hexpat-tagsoup";
+       version = "0.1";
+       sha256 = "0481446ba5m0h8lxmp216gzll0wr77mhk6hvm087749fwjj597aj";
+       buildDepends = [ base hexpat tagsoup ];
+       description = "Parse (possibly malformed) HTML to hexpat tree";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hexpr" = callPackage
+    ({ mkDerivation, base, data-ref, either, mtl, parsec, transformers
+     }:
+     mkDerivation {
+       pname = "hexpr";
+       version = "0.0.0.0";
+       sha256 = "0wpmbzxdl63r2p398101ywzfs7b4p4x8ds4zzqbhvhs2r0fsg5wv";
+       buildDepends = [ base data-ref either mtl parsec transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/Zankoku-Okuno/hexpr/";
+       description = "A framework for symbolic, homoiconic languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hexquote" = callPackage
+    ({ mkDerivation, base, bytestring, containers, parsec
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "hexquote";
+       version = "0.1";
+       sha256 = "0fr0sn2k12yvbbwmldqkmwgg0qk6bfd6811h2dgpq77821y62hq8";
+       buildDepends = [
+         base bytestring containers parsec template-haskell
+       ];
+       description = "Hexadecimal ByteString literals, with placeholders that bind variables";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hfann" = callPackage
+    ({ mkDerivation, base, doublefann, fann }:
+     mkDerivation {
+       pname = "hfann";
+       version = "0.4.2";
+       sha256 = "09pr24riz63irvykn6csbnm28z35ikwzg52ksah1p7zrywmgq9as";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       extraLibraries = [ doublefann ];
+       pkgconfigDepends = [ fann ];
+       description = "Haskell binding to the FANN library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { doublefann = null;  fann = null;};
+
+  "hfd" = callPackage
+    ({ mkDerivation, base, bytestring, haskeline, iteratee, MissingH
+     , MonadCatchIO-transformers, network, transformers
+     }:
+     mkDerivation {
+       pname = "hfd";
+       version = "0.0.2";
+       sha256 = "1n60h76hzkb4avnsl6lybq7ya4p4ghcdlplyml7fqwg7i20cak54";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring haskeline iteratee MissingH
+         MonadCatchIO-transformers network transformers
+       ];
+       jailbreak = true;
+       description = "Flash debugger";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hfiar" = callPackage
+    ({ mkDerivation, base, eprocess, mtl, wx, wxcore }:
+     mkDerivation {
+       pname = "hfiar";
+       version = "2.1.1";
+       sha256 = "1jsq33cdpdd52yriky989vd8wlafi9dq1bxzild7sjw1mql69d71";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base eprocess mtl wx wxcore ];
+       jailbreak = true;
+       homepage = "http://github.com/elbrujohalcon/hfiar";
+       description = "Four in a Row in Haskell!!";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hflags" = callPackage
+    ({ mkDerivation, base, containers, template-haskell, text }:
+     mkDerivation {
+       pname = "hflags";
+       version = "0.4";
+       sha256 = "17zzx273kmnwwazmmns78cllz3l7wad1gi7hizgcxi68j04blhd4";
+       buildDepends = [ base containers template-haskell text ];
+       homepage = "http://github.com/errge/hflags";
+       description = "Command line flag parser, very similar to Google's gflags";
+       license = "unknown";
+     }) {};
+
+  "hfoil" = callPackage
+    ({ mkDerivation, base, directory, haskeline, hmatrix, HTTP, linear
+     , not-gloss, parsec, transformers
+     }:
+     mkDerivation {
+       pname = "hfoil";
+       version = "0.2.0.1";
+       sha256 = "0y8amvxx77368z48gdg414iwhp1fkhdscn6gzvwb4i3vga98mga4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory haskeline hmatrix HTTP linear not-gloss parsec
+         transformers
+       ];
+       description = "Hess-Smith panel code for inviscid 2-d airfoil analysis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hfov" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hfov";
+       version = "1.0.2";
+       sha256 = "04qwmjxm06akvpakc5imcx0ls9zlsz74s4r9p7xzj0q5fv20z09l";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/nornagon/hfov";
+       description = "Field-of-view calculation for low-resolution 2D raster grids";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hfractal" = callPackage
+    ({ mkDerivation, array, base, colour, containers, data-accessor
+     , data-accessor-template, gd, GLUT, OpenGL, OpenGLRaw
+     }:
+     mkDerivation {
+       pname = "hfractal";
+       version = "0.4.2.5";
+       sha256 = "060qx7wmqhlavamxxyzjyn2ar1cigvfw5ww7c0r70ns54xm0rw5z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base colour containers data-accessor data-accessor-template
+         gd GLUT OpenGL OpenGLRaw
+       ];
+       homepage = "http://github.com/cmh/Hfractal";
+       description = "OpenGL fractal renderer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hfsevents" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, mtl, text, unix }:
+     mkDerivation {
+       pname = "hfsevents";
+       version = "0.1.5";
+       sha256 = "0hp9jjj59smfcs51d9zjhyvgdbn46l0rl0jr98wbzg3qya0vwj5k";
+       buildDepends = [ base bytestring cereal mtl text unix ];
+       homepage = "http://github.com/luite/hfsevents";
+       description = "File/folder watching for OS X";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hfusion" = callPackage
+    ({ mkDerivation, base, containers, haskell-src, mtl, pretty, syb }:
+     mkDerivation {
+       pname = "hfusion";
+       version = "0.0.6.1";
+       sha256 = "05pisic8s6n2jqymyd2qjifr8kr824v3mflng1a0y4rp8pvbaj7r";
+       buildDepends = [ base containers haskell-src mtl pretty syb ];
+       homepage = "http://www.fing.edu.uy/inco/proyectos/fusion";
+       description = "A library for fusing a subset of Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hg-buildpackage" = callPackage
+    ({ mkDerivation, base, directory, HSH, hslogger, MissingH, network
+     , parsec, regex-compat, regex-posix, unix
+     }:
+     mkDerivation {
+       pname = "hg-buildpackage";
+       version = "1.0.4";
+       sha256 = "0csibld3wrxi4jp35qqhfm17sw9fd5sca5rs9yd7i7l4jvsmfqhq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory HSH hslogger MissingH network parsec regex-compat
+         regex-posix unix
+       ];
+       description = "Tools to help manage Debian packages with Mercurial";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hgal" = callPackage
+    ({ mkDerivation, array, base, containers, mtl }:
+     mkDerivation {
+       pname = "hgal";
+       version = "2.0.0.2";
+       sha256 = "17qw8izy54042g56mp3hdbmqcyk95cdarg58xggniwd85q2l5dpi";
+       buildDepends = [ array base containers mtl ];
+       description = "library for computation automorphism group and canonical labelling of a graph";
+       license = "GPL";
+     }) {};
+
+  "hgalib" = callPackage
+    ({ mkDerivation, array, base, haskell98, mtl }:
+     mkDerivation {
+       pname = "hgalib";
+       version = "0.2";
+       sha256 = "08a8lmh1rg3d1rmpfhcc2fzyc0kybqhzahx4hrvfrqjw7czcnmrw";
+       buildDepends = [ array base haskell98 mtl ];
+       description = "Haskell Genetic Algorithm Library";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hgdbmi" = callPackage
+    ({ mkDerivation, base, directory, HUnit, parsec, process, stm
+     , template-haskell, temporary, test-framework, test-framework-hunit
+     , unix
+     }:
+     mkDerivation {
+       pname = "hgdbmi";
+       version = "0.2";
+       sha256 = "1gfmpk9a909vc8khf40lr32l3srqqrfbcprp28dp6g02id1xmck4";
+       buildDepends = [ base parsec process stm unix ];
+       testDepends = [
+         base directory HUnit process template-haskell temporary
+         test-framework test-framework-hunit
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/copton/hgdbmi";
+       description = "GDB Machine Interface: program-driven control of GDB";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hgen" = callPackage
+    ({ mkDerivation, base, directory, filepath, hylolib, mtl, random }:
+     mkDerivation {
+       pname = "hgen";
+       version = "1.4.0";
+       sha256 = "190zm0lkr2ymq91ka84a3v2lhxjv9yl43abqcyxj6c3cjqym9ib5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath hylolib mtl random ];
+       homepage = "http://www.glyc.dc.uba.ar/intohylo/hgen.php";
+       description = "Random generation of modal and hybrid logic formulas";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hgeometric" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hgeometric";
+       version = "0.0.2.2";
+       sha256 = "0l460mmbla7354dldil0d7qzba7dp4jhhsna0s27gdd9aad4flsd";
+       buildDepends = [ base containers ];
+       homepage = "ftp://ftp.cs.man.ac.uk/pub/toby/gpc/";
+       description = "A geometric library with bindings to GPC";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hgeometry" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hgeometry";
+       version = "0.1.1.1";
+       sha256 = "04czprwf74cyghi5c0mj5iyxdxc0wln6wxvknfvb7ns739mg2019";
+       buildDepends = [ base ];
+       description = "Geometry types in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hgettext" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , haskell-src-exts, process, setlocale, uniplate
+     }:
+     mkDerivation {
+       pname = "hgettext";
+       version = "0.1.30";
+       sha256 = "1pgzyd1nqzl7g88pcw7sncija5sd2k4zif9d8qfw96cw6m6kli96";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath haskell-src-exts process
+         setlocale uniplate
+       ];
+       homepage = "https://github.com/vasylp/hgettext";
+       description = "Bindings to libintl.h (gettext, bindtextdomain)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hgithub" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, case-insensitive, cmdargs, directory, http-enumerator
+     , text
+     }:
+     mkDerivation {
+       pname = "hgithub";
+       version = "0.1.0";
+       sha256 = "05dxbz9z457b5nl0wsv95pgah9b74agdfwziqf7x79j5q2qqjc2l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base base64-bytestring bytestring case-insensitive
+         cmdargs directory http-enumerator text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/noteed/hgithub";
+       description = "Haskell bindings to the GitHub API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hgl-example" = callPackage
+    ({ mkDerivation, array, base, HGL, HTam, random, utility-ht }:
+     mkDerivation {
+       pname = "hgl-example";
+       version = "0.0.2";
+       sha256 = "0bigji3i3311wlphxa0g8lkls0i4cn05d2m57fcrdfan8rayjwxr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base HGL HTam random utility-ht ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/hgl-example/";
+       description = "Various animations generated using HGL";
+       license = "GPL";
+       broken = true;
+     }) { HTam = null;};
+
+  "hgom" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl, parsec
+     , wl-pprint
+     }:
+     mkDerivation {
+       pname = "hgom";
+       version = "0.6";
+       sha256 = "0amdfdp1xmh506lgfbb4war2spfb4gqls864q18psmvshcwlpsmv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath mtl parsec wl-pprint
+       ];
+       homepage = "http://github.com/polux/hgom";
+       description = "An haskell port of the java version of gom";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hgopher" = callPackage
+    ({ mkDerivation, base, bytestring, network }:
+     mkDerivation {
+       pname = "hgopher";
+       version = "0.1.0.0";
+       sha256 = "0j6ybi8f5csa9rpbpy8dc9p6l6vf2qh2zk589a9nqj2phllz7mwf";
+       buildDepends = [ base bytestring network ];
+       jailbreak = true;
+       description = "Gopher server";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hharp" = callPackage
+    ({ mkDerivation, base, harp }:
+     mkDerivation {
+       pname = "hharp";
+       version = "0.1.1.0";
+       sha256 = "1f7k1jlc2ncxyxmc6rl603nw0lynqwv0dmj11hrcdmv282h4ff6s";
+       buildDepends = [ base ];
+       extraLibraries = [ harp ];
+       jailbreak = true;
+       homepage = "http://www.harphttp.org";
+       description = "Binding to libharp";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { harp = null;};
+
+  "hi" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, directory
+     , doctest, filepath, hspec, HUnit, optparse-applicative, parsec
+     , process, silently, split, template, temporary, text, time
+     }:
+     mkDerivation {
+       pname = "hi";
+       version = "1.2.0.0";
+       sha256 = "16c3j7pc87mxk9rgk98bicl9jhvnyj2d9spfjvhiknpsixb847h9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base bytestring directory filepath
+         optparse-applicative parsec process split template temporary text
+         time
+       ];
+       testDepends = [
+         ansi-wl-pprint base bytestring directory doctest filepath hspec
+         HUnit optparse-applicative parsec process silently split template
+         temporary text time
+       ];
+       homepage = "https://github.com/fujimura/hi";
+       description = "Generate scaffold for cabal project";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hiccup" = callPackage
+    ({ mkDerivation, base, bytestring, containers, haskell98, HUnit
+     , mtl, parsec, random, readline, time
+     }:
+     mkDerivation {
+       pname = "hiccup";
+       version = "0.40";
+       sha256 = "1skzr5ipxz61zrndwifkngw70zdf2yh5f8qpbmfzaq0bscrzdxg5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers haskell98 HUnit mtl parsec random
+         readline time
+       ];
+       homepage = "http://hiccup.googlecode.com/";
+       description = "Relatively efficient Tcl interpreter with support for basic operations";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hichi" = callPackage
+    ({ mkDerivation, array, base, bytestring, mtl, network }:
+     mkDerivation {
+       pname = "hichi";
+       version = "0.0.1";
+       sha256 = "1f5cqqw9zn1nji0k2vp0ln1fdbzv9iwjqiaw9vd77kz9pz7p0kvq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base bytestring mtl network ];
+       description = "haskell robot for IChat protocol";
+       license = "GPL";
+     }) {};
+
+  "hidapi" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq-generics, systemd }:
+     mkDerivation {
+       pname = "hidapi";
+       version = "0.1.3";
+       sha256 = "0ql6avpwi2m89rrglj9zk3fyi8vl91xswagqv8h24b2xgm7pw5i0";
+       buildDepends = [ base bytestring deepseq-generics ];
+       extraLibraries = [ systemd ];
+       homepage = "https://github.com/vahokif/haskell-hidapi";
+       description = "Haskell bindings to HIDAPI";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) systemd;};
+
+  "hieraclus" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, multiset }:
+     mkDerivation {
+       pname = "hieraclus";
+       version = "0.1.2.1";
+       sha256 = "11fjfmdjzvid0352d346p5xf44bl7dn8bd8pms5pi34xysdyr7pg";
+       buildDepends = [ base containers HUnit mtl multiset ];
+       description = "Automated clustering of arbitrary elements in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hierarchical-clustering" = callPackage
+    ({ mkDerivation, array, base, containers, hspec, HUnit, QuickCheck
+     }:
+     mkDerivation {
+       pname = "hierarchical-clustering";
+       version = "0.4.4";
+       sha256 = "1hm47fccji8dn70477ww7s6846mxrmgr5n056c11dh9azz5jl5x2";
+       buildDepends = [ array base containers ];
+       testDepends = [ base hspec HUnit QuickCheck ];
+       description = "Fast algorithms for single, average/UPGMA and complete linkage clustering";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hierarchical-clustering-diagrams" = callPackage
+    ({ mkDerivation, base, diagrams-cairo, diagrams-lib
+     , hierarchical-clustering, hspec, HUnit
+     }:
+     mkDerivation {
+       pname = "hierarchical-clustering-diagrams";
+       version = "0.3";
+       sha256 = "0yq3sh6xn3p1jzp3w33zv1sx7yhv9v2ddcqd27cl3rm6lhph81jc";
+       buildDepends = [ base diagrams-lib hierarchical-clustering ];
+       testDepends = [
+         base diagrams-cairo diagrams-lib hierarchical-clustering hspec
+         HUnit
+       ];
+       jailbreak = true;
+       description = "Draw diagrams of dendrograms made by hierarchical-clustering";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hierarchical-exceptions" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "hierarchical-exceptions";
+       version = "1.0.1";
+       sha256 = "1yzhw7kgz5iljm8ndh5kyr18367cl6l120m1gkn5x9hpsh9mlamm";
+       buildDepends = [ base template-haskell ];
+       description = "Template Haskell functions to easily create exception hierarchies";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "hiernotify" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, old-time, stm
+     , timers-updatable
+     }:
+     mkDerivation {
+       pname = "hiernotify";
+       version = "2011.4.12";
+       sha256 = "1imgwi6b0cn9y4y7vgqsyfgsyxjvsl1wkmqmrf51jkfqasnqsqh5";
+       buildDepends = [
+         base directory filepath mtl old-time stm timers-updatable
+       ];
+       homepage = "http://github.com/paolino/hiernotify";
+       description = "Notification library for a filesystem hierarchy";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "highWaterMark" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "highWaterMark";
+       version = "0.1.1";
+       sha256 = "1bwvhrzvrf004lypf0zrx6q6k6fn5qwvlk45vppmnv65v9vq519p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ghc ];
+       homepage = "http://www.cs.mu.oz.au/~bjpop/code.html";
+       description = "Memory usage statistics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "higher-leveldb" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, data-default, hspec
+     , leveldb-haskell, lifted-base, monad-control, mtl, process
+     , resourcet, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "higher-leveldb";
+       version = "0.2.1.0";
+       sha256 = "13bwh9jg7smh8vwgrih79ivi073690l9nn478r5m0w64gbkvdm5p";
+       buildDepends = [
+         base bytestring cereal data-default leveldb-haskell lifted-base
+         monad-control mtl resourcet transformers transformers-base
+       ];
+       testDepends = [
+         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;
+     }) {};
+
+  "higherorder" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "higherorder";
+       version = "0.0";
+       revision = "1";
+       sha256 = "06cqhk9jalyps4v9w6wmpy9jdj3piwsp0wl3fvkzwa5iydlyvisz";
+       editedCabalFile = "c587250ea9c4828876f3837e82e5b1543e0dc2cc59bb4ec59ce0d947bae3d459";
+       buildDepends = [ base ];
+       description = "Some higher order functions for Bool and []";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "highlight-versions" = callPackage
+    ({ mkDerivation, ansi-terminal, base, Cabal, containers, hackage-db
+     }:
+     mkDerivation {
+       pname = "highlight-versions";
+       version = "0.1.3.5";
+       sha256 = "0nk7kdzzlyq2ml30mj661616h23zar3kqq8xd36lqs1ssr7nqnj7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ ansi-terminal base Cabal containers hackage-db ];
+       description = "Highlight package versions which differ from the latest version on Hackage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "highlighter" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, filepath, mtl
+     , pcre-light, text
+     }:
+     mkDerivation {
+       pname = "highlighter";
+       version = "0.2.2";
+       sha256 = "1x381ngd2gg2ff2rj7dyqmhy1achly2wbssjhsrcm0p6sxqab21x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html bytestring filepath mtl pcre-light text
+       ];
+       description = "source code highlighting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "highlighter2" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, filepath, mtl, pcre-light, text
+     }:
+     mkDerivation {
+       pname = "highlighter2";
+       version = "0.2.5";
+       sha256 = "1gndzxi2i9hybqj6v14wflw8335v09q832knbx61hq9wcgq1hxwi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html blaze-markup bytestring containers filepath mtl
+         pcre-light text
+       ];
+       jailbreak = true;
+       description = "source code highlighting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "highlighting-kate" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, Diff, directory
+     , filepath, mtl, parsec, pcre-light, process, utf8-string
+     }:
+     mkDerivation {
+       pname = "highlighting-kate";
+       version = "0.5.14";
+       sha256 = "0hpg2f660s035gj0fzy42s52adgqlgssn7pf2k0bcxml3qxf3jnr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html containers filepath mtl parsec pcre-light
+         utf8-string
+       ];
+       testDepends = [
+         base blaze-html containers Diff directory filepath process
+       ];
+       configureFlags = [ "-fpcre-light" ];
+       homepage = "http://github.com/jgm/highlighting-kate";
+       description = "Syntax highlighting";
+       license = "GPL";
+     }) {};
+
+  "hills" = callPackage
+    ({ mkDerivation, array, base, bytestring, directory, filepath
+     , optparse-applicative, text, transformers
+     }:
+     mkDerivation {
+       pname = "hills";
+       version = "0.1.1.0";
+       sha256 = "0fankar6p0m6n1ffis4ww5x9dqdbjh9py63jirbimpdcrzcxcym5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring directory filepath optparse-applicative text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.bubblycloud.com/hills/";
+       description = "Generate STL models from SRTM elevation data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "himerge" = callPackage
+    ({ mkDerivation, base, directory, glib, gtk, haskell98, mozembed
+     , old-time, parallel, process, unix
+     }:
+     mkDerivation {
+       pname = "himerge";
+       version = "0.20";
+       sha256 = "0ivrl5wymqzwcn7vyr3anychlk35003ksxsvr463qz768vbcql00";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory glib gtk haskell98 mozembed old-time parallel
+         process unix
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/himerge";
+       description = "Haskell Graphical User Interface for Emerge";
+       license = "GPL";
+       broken = true;
+     }) { mozembed = null;};
+
+  "himg" = callPackage
+    ({ mkDerivation, base, bytestring, directory, gtk, HTTP
+     , http-conduit, network, temporary
+     }:
+     mkDerivation {
+       pname = "himg";
+       version = "0.1.0.0";
+       sha256 = "09ya9966fn3ss7xxc1cd0izb5js35gwr2r1km881w4455sknl093";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory gtk HTTP http-conduit network temporary
+       ];
+       homepage = "http://github.com/Fuuzetsu/himg";
+       description = "Simple gtk2hs image viewer. Point it at an image and fire away.";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "himpy" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
+     , cereal, containers, MissingH, NetSNMP, network, old-time
+     , protobuf, regex-posix, stm, text, type-level
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "himpy";
+       version = "0.5.0";
+       sha256 = "0rpgvv9hq8ai6imhsbfw95igfyqnnzdgx9mw6cpd8ch5kb6wfqig";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base binary bytestring cereal containers MissingH
+         NetSNMP network old-time protobuf regex-posix stm text type-level
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pyr/himpy";
+       description = "multithreaded snmp poller for riemann";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hindent" = callPackage
+    ({ mkDerivation, applicative-quoters, base, data-default
+     , descriptive, directory, ghc-prim, haskell-src-exts, hspec
+     , monad-loops, mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "hindent";
+       version = "4.4.2";
+       sha256 = "14g3sqkps2bg8fc8vp5f632hj7msbl4kj0baasykxvf0iylgj7ii";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         applicative-quoters base data-default descriptive directory
+         ghc-prim haskell-src-exts monad-loops mtl text transformers
+       ];
+       testDepends = [
+         base data-default directory haskell-src-exts hspec monad-loops mtl
+         text
+       ];
+       homepage = "http://www.github.com/chrisdone/hindent";
+       description = "Extensible Haskell pretty printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hinduce-associations-apriori" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hinduce-missingh
+     , parallel, vector
+     }:
+     mkDerivation {
+       pname = "hinduce-associations-apriori";
+       version = "0.0.0.0";
+       sha256 = "002ca2mxrmyvg1w5rr1n7ksc89qxqznasq0cw5grfr5h22pxs57z";
+       buildDepends = [
+         base containers deepseq hinduce-missingh parallel vector
+       ];
+       homepage = "https://github.com/roberth/hinduce-associations-apriori";
+       description = "Apriori algorithm for association rule mining";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hinduce-classifier" = callPackage
+    ({ mkDerivation, base, hinduce-missingh, layout }:
+     mkDerivation {
+       pname = "hinduce-classifier";
+       version = "0.0.0.1";
+       sha256 = "1cdx916xkpsy2ilsmmdkyqax2gb0cx6sgkydvjbiw7qibd76ylza";
+       buildDepends = [ base hinduce-missingh layout ];
+       description = "Interface and utilities for classifiers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hinduce-classifier-decisiontree" = callPackage
+    ({ mkDerivation, base, convertible, hinduce-classifier
+     , hinduce-missingh, layout
+     }:
+     mkDerivation {
+       pname = "hinduce-classifier-decisiontree";
+       version = "0.0.0.1";
+       sha256 = "1hdz4lbbpy2yc5j7chkagjvslsakmv3hbz2s7lpz0isfq7ls9idl";
+       buildDepends = [
+         base convertible hinduce-classifier hinduce-missingh layout
+       ];
+       description = "Decision Tree Classifiers for hInduce";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hinduce-examples" = callPackage
+    ({ mkDerivation, base, containers, convertible, csv
+     , hinduce-associations-apriori, hinduce-classifier
+     , hinduce-classifier-decisiontree, hinduce-missingh, layout, vector
+     }:
+     mkDerivation {
+       pname = "hinduce-examples";
+       version = "0.0.0.2";
+       sha256 = "17jnrc8iji5byqbd08llwk0mw9yi1dq3biaszqp9jyinf50hcb4w";
+       buildDepends = [
+         base containers convertible csv hinduce-associations-apriori
+         hinduce-classifier hinduce-classifier-decisiontree hinduce-missingh
+         layout vector
+       ];
+       description = "Example data for hInduce";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hinduce-missingh" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hinduce-missingh";
+       version = "0.0.0.0";
+       sha256 = "1606fz8qhvwqidi798y3mxlmbmwn8yp3a4cl59j4i8s05vgbaj9z";
+       buildDepends = [ base ];
+       homepage = "https://github.com/roberth/hinduce-missingh";
+       description = "Utility functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hinotify" = callPackage
+    ({ mkDerivation, base, containers, directory, unix }:
+     mkDerivation {
+       pname = "hinotify";
+       version = "0.3.7";
+       sha256 = "0i7mxg9ilzcgijda6j3ya5xnpbxa3wm9xswdfif95jim9w82sw0b";
+       buildDepends = [ base containers directory unix ];
+       homepage = "https://github.com/kolmodin/hinotify.git";
+       description = "Haskell binding to inotify";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hinquire" = callPackage
+    ({ mkDerivation, base, bifunctors, QuickCheck, test-framework
+     , test-framework-quickcheck2, test-framework-th
+     }:
+     mkDerivation {
+       pname = "hinquire";
+       version = "0.1.1";
+       sha256 = "1mm0qi1y2qkiknb5s2jbgc3zljda52mi4mmh0fh7z8ck5rnng1x1";
+       buildDepends = [
+         base bifunctors QuickCheck test-framework
+         test-framework-quickcheck2 test-framework-th
+       ];
+       testDepends = [
+         base bifunctors QuickCheck test-framework
+         test-framework-quickcheck2 test-framework-th
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/joneshf/hinquire";
+       description = "Generate armet style query strings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hinstaller" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , process, template-haskell
+     }:
+     mkDerivation {
+       pname = "hinstaller";
+       version = "2008.2.16";
+       sha256 = "1ldfqx98w7inpj76xyi0drh2lykfjfq9r34hlbcw7mv4bgxp4l8c";
+       buildDepends = [
+         base bytestring Cabal directory filepath process template-haskell
+       ];
+       homepage = "http://www.wellquite.org/hinstaller/";
+       description = "Installer wrapper for Haskell applications";
+       license = "LGPL";
+     }) {};
+
+  "hint" = callPackage
+    ({ mkDerivation, base, directory, exceptions, extensible-exceptions
+     , filepath, ghc, ghc-mtl, ghc-paths, HUnit, mtl, random, unix
+     }:
+     mkDerivation {
+       pname = "hint";
+       version = "0.4.2.2";
+       sha256 = "1gv4nmwqp8xxvz90g9k48bixpc3cabx8591vj1zv6aah8fbng06w";
+       buildDepends = [
+         base directory exceptions extensible-exceptions filepath ghc
+         ghc-mtl ghc-paths mtl random unix
+       ];
+       testDepends = [
+         base directory exceptions extensible-exceptions filepath HUnit mtl
+       ];
+       homepage = "http://hub.darcs.net/jcpetruzza/hint";
+       description = "Runtime Haskell interpreter (GHC API wrapper)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hint-server" = callPackage
+    ({ mkDerivation, base, eprocess, exceptions, hint, monad-loops, mtl
+     }:
+     mkDerivation {
+       pname = "hint-server";
+       version = "1.4.0";
+       sha256 = "0iirk76n9j4iwll44gs4spnssv2kkxrw4ypp228gap5h4pyimvx5";
+       buildDepends = [ base eprocess exceptions hint monad-loops mtl ];
+       jailbreak = true;
+       description = "A server process that runs hint";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hinvaders" = callPackage
+    ({ mkDerivation, base, haskell98, random }:
+     mkDerivation {
+       pname = "hinvaders";
+       version = "0.1";
+       sha256 = "01v5szci7kbp3w2jsdcnzv9j3lbcl5bvn9ipcvp3v2xvfjik110h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 random ];
+       homepage = "http://www.cs.mu.oz.au/~bjpop/code.html";
+       description = "Space Invaders";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hinze-streams" = callPackage
+    ({ mkDerivation, base, haskell98, Stream }:
+     mkDerivation {
+       pname = "hinze-streams";
+       version = "1.0";
+       sha256 = "137jjwcs3a9n2zybkqqfdy2m1a2ahpdcmficwfmn7ykdz487xcsq";
+       buildDepends = [ base haskell98 Stream ];
+       homepage = "http://code.haskell.org/~dons/code/hinze-streams";
+       description = "Streams and Unique Fixed Points";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hipe" = callPackage
+    ({ mkDerivation, base, containers, hgeometry, hxt, parsec, split
+     , text, text-format
+     }:
+     mkDerivation {
+       pname = "hipe";
+       version = "0.2.0.0";
+       sha256 = "1y8awzmvrvixlba1ndvw5rwm8i38lj1yf4mcfm6h7pmmvpdvr5ah";
+       buildDepends = [
+         base containers hgeometry hxt parsec split text text-format
+       ];
+       homepage = "http://fstaals.net/software/hipe";
+       description = "Support for reading and writing ipe7 files (http://ipe7.sourceforge.net)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hips" = callPackage
+    ({ mkDerivation, base, bytestring, directory, functors, mtl }:
+     mkDerivation {
+       pname = "hips";
+       version = "0.1";
+       sha256 = "0m3ribabhpdkwavhywjpc8iqqa9bbdl19d7g3agm4f402gd3rmvr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory functors mtl ];
+       homepage = "http://closure.ath.cx/hips";
+       description = "an IPS patcher";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hircules" = callPackage
+    ({ mkDerivation, base, containers, directory, gtk, mtl, network
+     , old-locale, old-time, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "hircules";
+       version = "0.4.1";
+       sha256 = "1i291m3i3c082nsgg7mx2xx2a0q97kdmyashz26i4varqkwhz7qx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory gtk mtl network old-locale old-time time
+         utf8-string
+       ];
+       description = "IRC client";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hirt" = callPackage
+    ({ mkDerivation, attoparsec, base, cmdargs, containers, csv
+     , hlbfgsb, hmatrix, mwc-random, numeric-extras, random, statistics
+     , text, text-format, vector, vector-space
+     }:
+     mkDerivation {
+       pname = "hirt";
+       version = "0.0.1.1";
+       sha256 = "0scn4gljgx0ig2fr4rfavk6k3pcychpxlasffd6gp2k1v3sb850v";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base cmdargs containers csv hlbfgsb hmatrix mwc-random
+         numeric-extras random statistics text text-format vector
+         vector-space
+       ];
+       jailbreak = true;
+       homepage = "https://people.ksp.sk/~ivan/hirt";
+       description = "Calculates IRT 2PL and 3PL models";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hissmetrics" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, http-conduit
+     , http-types, text, time
+     }:
+     mkDerivation {
+       pname = "hissmetrics";
+       version = "0.5.1";
+       sha256 = "1rz0yxng4szhmjj1n6d36ljv3388ch8nih09yjrxk4l83zd6hc6d";
+       buildDepends = [
+         base bytestring conduit http-conduit http-types text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/prowdsponsor/hissmetrics";
+       description = "Unofficial API bindings to KISSmetrics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hist-pl" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cmdargs
+     , containers, hist-pl-dawg, hist-pl-fusion, hist-pl-lexicon
+     , hist-pl-lmf, hist-pl-transliter, morfeusz, pipes, polimorf, text
+     }:
+     mkDerivation {
+       pname = "hist-pl";
+       version = "0.3.2";
+       sha256 = "01c6k3f432yhcvcz7k4w29z7kbvhxlcnh57z1m47qbkymm5b4y7b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base bytestring cmdargs containers hist-pl-dawg
+         hist-pl-fusion hist-pl-lexicon hist-pl-lmf hist-pl-transliter
+         morfeusz pipes polimorf text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/hist-pl/tree/master/umbrella";
+       description = "Umbrella package for the historical dictionary of Polish";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hist-pl-dawg" = callPackage
+    ({ mkDerivation, base, binary, containers, dawg, text, text-binary
+     }:
+     mkDerivation {
+       pname = "hist-pl-dawg";
+       version = "0.2.1";
+       sha256 = "1ghhwabi46dimzfk79nkcnk8s4rlcyvqfcpr8ay7sfy7xns2ahjg";
+       buildDepends = [ base binary containers dawg text text-binary ];
+       homepage = "https://github.com/kawu/hist-pl/tree/master/dawg";
+       description = "A generic, DAWG-based dictionary";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hist-pl-fusion" = callPackage
+    ({ mkDerivation, base, binary, containers, dawg, hist-pl-dawg
+     , hist-pl-lexicon, polimorf, text, text-binary
+     }:
+     mkDerivation {
+       pname = "hist-pl-fusion";
+       version = "0.5.3";
+       sha256 = "0ism9qw3g0x0r40qm6v0gj1b2fj5zdnfik7b4h0b0dqyi08m6sq3";
+       buildDepends = [
+         base binary containers dawg hist-pl-dawg hist-pl-lexicon polimorf
+         text text-binary
+       ];
+       homepage = "https://github.com/kawu/hist-pl/tree/master/fusion";
+       description = "Merging historical dictionary with PoliMorf";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hist-pl-lexicon" = callPackage
+    ({ mkDerivation, base, binary, containers, dawg, directory
+     , filepath, hist-pl-dawg, hist-pl-types, pipes, text, transformers
+     }:
+     mkDerivation {
+       pname = "hist-pl-lexicon";
+       version = "0.6.1";
+       sha256 = "1baq1a5l44q56msp2y2m9hyd5v841jkxm0cdlgi816fmc0768cqk";
+       buildDepends = [
+         base binary containers dawg directory filepath hist-pl-dawg
+         hist-pl-types pipes text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/hist-pl/tree/master/lexicon";
+       description = "A binary representation of the historical dictionary of Polish";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hist-pl-lmf" = callPackage
+    ({ mkDerivation, base, hist-pl-types, polysoup, text }:
+     mkDerivation {
+       pname = "hist-pl-lmf";
+       version = "0.1.0";
+       sha256 = "146vz15fig8k1wcvcw7fg64abxvg1nyarvhigz9jkzf5yngkzwvm";
+       buildDepends = [ base hist-pl-types polysoup text ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/hist-pl/tree/master/lmf";
+       description = "LMF parsing for the historical dictionary of Polish";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hist-pl-transliter" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "hist-pl-transliter";
+       version = "0.1.1";
+       sha256 = "146ywyh67a0hasgcpfmffrj8w1kg6anksaa3mm9f80k83shqhvrb";
+       buildDepends = [ base parsec ];
+       homepage = "https://github.com/kawu/hist-pl/tree/master/transliter";
+       description = "A simple EDSL for transliteration rules";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hist-pl-types" = callPackage
+    ({ mkDerivation, base, binary, text, text-binary }:
+     mkDerivation {
+       pname = "hist-pl-types";
+       version = "0.1.0";
+       sha256 = "0i13aj1xcwap0k3w48vyiiganbvj93zydawmw3gw7m0kr6nl5l9v";
+       buildDepends = [ base binary text text-binary ];
+       homepage = "https://github.com/kawu/hist-pl/tree/master/types";
+       description = "Types in the historical dictionary of Polish";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "histogram-fill" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, monad-primitive
+     , primitive, vector
+     }:
+     mkDerivation {
+       pname = "histogram-fill";
+       version = "0.8.4.1";
+       sha256 = "0zamqza4ky90l27sjgv55rp7s1g4hs0k0qn2qza7lfwk991ijn9q";
+       buildDepends = [
+         base deepseq ghc-prim monad-primitive primitive vector
+       ];
+       homepage = "https://github.com/Shimuuar/histogram-fill/";
+       description = "Library for histograms creation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "histogram-fill-binary" = callPackage
+    ({ mkDerivation, base, binary, histogram-fill, vector }:
+     mkDerivation {
+       pname = "histogram-fill-binary";
+       version = "0.6.2.1";
+       sha256 = "0bv70h1q8h50x3sr8ia6855vw0rrbvnzlnnh45k4i1dfadj6zsi2";
+       buildDepends = [ base binary histogram-fill vector ];
+       homepage = "https://github.com/Shimuuar/histogram-fill/";
+       description = "Binary instances for histogram-fill package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "histogram-fill-cereal" = callPackage
+    ({ mkDerivation, base, cereal, histogram-fill, vector }:
+     mkDerivation {
+       pname = "histogram-fill-cereal";
+       version = "0.6.2.0";
+       sha256 = "17bnn6cb64333ak0qh841192jh2zwxg73rbc3zh5agp00wi23ism";
+       buildDepends = [ base cereal histogram-fill vector ];
+       homepage = "http://bitbucket.org/Shimuuar/histogram-fill-cereal/";
+       description = "Library for histograms creation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "historian" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, process
+     , regex-compat, regex-posix
+     }:
+     mkDerivation {
+       pname = "historian";
+       version = "0.0.1";
+       sha256 = "1lgajnq092jk4izy86qcw71ghxz6b8mprm4ha3ybrm5i2rlh12r6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath process regex-compat regex-posix
+       ];
+       jailbreak = true;
+       description = "Extract the interesting bits from shell history";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hit" = callPackage
+    ({ mkDerivation, attoparsec, base, byteable, bytedump, bytestring
+     , containers, cryptohash, hourglass, mtl, parsec, patience, random
+     , system-fileio, system-filepath, tasty, tasty-quickcheck
+     , unix-compat, utf8-string, vector, zlib, zlib-bindings
+     }:
+     mkDerivation {
+       pname = "hit";
+       version = "0.6.3";
+       sha256 = "0wg44vgd5jzi0r0vg8k5zrvlr7rcrb4nrp862c6y991941qv71nv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base byteable bytestring containers cryptohash hourglass
+         mtl parsec patience random system-fileio system-filepath
+         unix-compat utf8-string vector zlib zlib-bindings
+       ];
+       testDepends = [
+         base bytedump bytestring hourglass tasty tasty-quickcheck
+       ];
+       homepage = "http://github.com/vincenthz/hit";
+       description = "Git operations in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hjcase" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HUnit, test-framework
+     , test-framework-hunit, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hjcase";
+       version = "0.1.0.0";
+       sha256 = "0n2wy39i3v2asifk3n9mlz1dwgyv9fr2mkqp9dbdbawnk2g96y4l";
+       buildDepends = [
+         aeson base bytestring HUnit test-framework test-framework-hunit
+         text unordered-containers vector
+       ];
+       homepage = "https://github.com/seagreen/hjcase";
+       description = "Jcase library for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hjpath" = callPackage
+    ({ mkDerivation, base, containers, hjson, parsec }:
+     mkDerivation {
+       pname = "hjpath";
+       version = "3.0.1";
+       sha256 = "0wmzxwi24q7r0yxnalzqnn3k0bzf7wc4ql26dv94pvzir156kahj";
+       buildDepends = [ base containers hjson parsec ];
+       homepage = "http://bitcheese.net/wiki/code/hjpath";
+       description = "XPath-like syntax for querying JSON";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hjs" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , mtl, parsec, regex-compat
+     }:
+     mkDerivation {
+       pname = "hjs";
+       version = "0.2.1";
+       sha256 = "0gk4misxbkc2x8hh7ynrj1ma91fs0h6q702w6r0kjq136fh48zhi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory mtl parsec regex-compat
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Libraries_and_tools/HJS";
+       description = "JavaScript Parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hjsmin" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
+     , HUnit, language-javascript, optparse-applicative, QuickCheck
+     , test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "hjsmin";
+       version = "0.1.4.7";
+       sha256 = "1gw9is6piqrqxnrwp8v3vij90icmym58rxqnnklrcjfi3ai7y58f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring containers language-javascript
+         optparse-applicative text
+       ];
+       testDepends = [
+         base blaze-builder bytestring Cabal containers HUnit
+         language-javascript QuickCheck test-framework test-framework-hunit
+         text
+       ];
+       homepage = "http://github.com/alanz/hjsmin";
+       description = "Haskell implementation of a javascript minifier";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hjson" = callPackage
+    ({ mkDerivation, base, containers, parsec }:
+     mkDerivation {
+       pname = "hjson";
+       version = "1.3.2";
+       sha256 = "1r59g5ypqjsldflsddg7pzpa6j8jps5nwm4h9cwiw7qk734rjik8";
+       buildDepends = [ base containers parsec ];
+       description = "JSON parsing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hjson-query" = callPackage
+    ({ mkDerivation, base, containers, hjson }:
+     mkDerivation {
+       pname = "hjson-query";
+       version = "1.0.2";
+       sha256 = "0sj86rm5pz0q9079f5kjnpz51dxvvq72waaf8h64jzrrhkpz8mlx";
+       buildDepends = [ base containers hjson ];
+       description = "library for querying from JSON";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hjsonpointer" = callPackage
+    ({ mkDerivation, aeson, base, http-types, HUnit, test-framework
+     , test-framework-hunit, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hjsonpointer";
+       version = "0.2.0.1";
+       sha256 = "0r44fpljqwzwzj818p3xplhwkdbndwmbxf2mrgdqsjxj0dmnifhq";
+       buildDepends = [ aeson base text unordered-containers vector ];
+       testDepends = [
+         aeson base http-types HUnit test-framework test-framework-hunit
+         text unordered-containers vector
+       ];
+       homepage = "https://github.com/seagreen/hjsonpointer";
+       description = "JSON Pointer library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hjsonschema" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, file-embed
+     , filepath, hashable, hjsonpointer, http-client, http-types, HUnit
+     , regexpr, scientific, test-framework, test-framework-hunit, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hjsonschema";
+       version = "0.5.3.1";
+       sha256 = "1ggqxi2f10qdls67lk3204wc4naicchr20i00p17ynkzxl9ndi8b";
+       buildDepends = [
+         aeson base bytestring file-embed hashable hjsonpointer http-client
+         http-types regexpr scientific text unordered-containers vector
+       ];
+       testDepends = [
+         aeson base bytestring directory filepath HUnit test-framework
+         test-framework-hunit text unordered-containers vector
+       ];
+       homepage = "https://github.com/seagreen/hjsonschema";
+       description = "JSON Schema Draft 4 library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hlatex" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers, derive
+     , directory, filepath, frquotes, mtl, process, template-haskell
+     , transformers, uniplate, utf8-string
+     }:
+     mkDerivation {
+       pname = "hlatex";
+       version = "0.3";
+       sha256 = "03v8law4yfm63f44zyiqngjmpismk8clqisq4sl4gcp1yc1hn704";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols containers derive directory filepath
+         frquotes mtl process template-haskell transformers uniplate
+         utf8-string
+       ];
+       description = "A library to build valid LaTeX files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hlbfgsb" = callPackage
+    ({ mkDerivation, base, gfortran, HUnit, test-framework
+     , test-framework-hunit, vector
+     }:
+     mkDerivation {
+       pname = "hlbfgsb";
+       version = "0.0.1.0";
+       sha256 = "0nar59rbi5zr6gi2k0f49f09fnxcmshnq9bb2dh973a4y3gcw6dx";
+       buildDepends = [ base vector ];
+       testDepends = [
+         base HUnit test-framework test-framework-hunit vector
+       ];
+       buildTools = [ gfortran ];
+       extraLibraries = [ gfortran ];
+       homepage = "http://people.ksp.sk/~ivan/hlbfgsb";
+       description = "Haskell binding to L-BFGS-B version 3.0";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) gfortran;};
+
+  "hlcm" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-csv
+     , containers, haskell98, parallel
+     }:
+     mkDerivation {
+       pname = "hlcm";
+       version = "0.2.2";
+       sha256 = "14yqc02kfp2c9i22inma29cprqz9k8yx6c7m90kwimv4psv8766a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring bytestring-csv containers haskell98 parallel
+       ];
+       jailbreak = true;
+       homepage = "http://membres-liglab.imag.fr/termier/HLCM/hlcm.html";
+       description = "Fast algorithm for mining closed frequent itemsets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hledger" = callPackage
+    ({ mkDerivation, base, base-compat, cmdargs, containers, csv
+     , directory, filepath, haskeline, hledger-lib, HUnit, mtl
+     , mtl-compat, old-locale, old-time, parsec, pretty-show, process
+     , regex-tdfa, regexpr, safe, shakespeare, shakespeare-text, split
+     , tabular, terminfo, test-framework, test-framework-hunit, text
+     , time, transformers, utf8-string, wizards
+     }:
+     mkDerivation {
+       pname = "hledger";
+       version = "0.25";
+       sha256 = "0gzhlrxdjgg7313aipxr0ziakvdlj07d7sm9cc0q2mx3f37mrnxx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-compat cmdargs containers csv directory filepath
+         haskeline hledger-lib HUnit mtl mtl-compat old-locale old-time
+         parsec pretty-show process regex-tdfa regexpr safe shakespeare
+         shakespeare-text split tabular terminfo text time utf8-string
+         wizards
+       ];
+       testDepends = [
+         base base-compat cmdargs containers csv directory filepath
+         haskeline hledger-lib HUnit mtl mtl-compat old-locale old-time
+         parsec pretty-show process regex-tdfa regexpr safe shakespeare
+         shakespeare-text split tabular test-framework test-framework-hunit
+         text time transformers wizards
+       ];
+       homepage = "http://hledger.org";
+       description = "The main command-line interface for the hledger accounting tool";
+       license = "GPL";
+     }) {};
+
+  "hledger-chart" = callPackage
+    ({ mkDerivation, base, Chart, cmdargs, colour, containers, hledger
+     , hledger-lib, HUnit, safe, time
+     }:
+     mkDerivation {
+       pname = "hledger-chart";
+       version = "0.16.1";
+       sha256 = "1yk563032ir98gqdvxazjjl1alg6q1pflzawh11pr3zrdnriracn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Chart cmdargs colour containers hledger hledger-lib HUnit safe
+         time
+       ];
+       jailbreak = true;
+       homepage = "http://hledger.org";
+       description = "A pie chart image generator for the hledger accounting tool";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hledger-diff" = callPackage
+    ({ mkDerivation, base, hledger-lib, time }:
+     mkDerivation {
+       pname = "hledger-diff";
+       version = "0.2.0.2";
+       sha256 = "1bdskrg6rxnhf3jzhg5n933ynkkn6n2fyphpwz3svv4qs9sqnwl1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hledger-lib time ];
+       jailbreak = true;
+       homepage = "https://github.com/gebner/hledger-diff";
+       description = "Compares the transactions in two ledger files";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hledger-interest" = callPackage
+    ({ mkDerivation, base, Cabal, Decimal, hledger-lib, mtl, time }:
+     mkDerivation {
+       pname = "hledger-interest";
+       version = "1.4.4";
+       sha256 = "16knk1cwrpg5jn6vgcab7hqpjzg33ysz57x1f2glrmhhv1slmbfn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal Decimal hledger-lib mtl time ];
+       homepage = "http://github.com/peti/hledger-interest";
+       description = "computes interest for a given account";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hledger-irr" = callPackage
+    ({ mkDerivation, base, Cabal, Decimal, hledger-lib, statistics
+     , time
+     }:
+     mkDerivation {
+       pname = "hledger-irr";
+       version = "0.1.1.5";
+       sha256 = "0xv8rmxf1534g6mbxlhmrx71w0amdrhhj1dwyw5dv91i743br5mp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal Decimal hledger-lib statistics time ];
+       jailbreak = true;
+       description = "computes the internal rate of return of an investment";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hledger-lib" = callPackage
+    ({ mkDerivation, array, base, base-compat, blaze-markup, bytestring
+     , cmdargs, containers, csv, Decimal, directory, filepath, HUnit
+     , mtl, mtl-compat, old-locale, old-time, parsec, pretty-show
+     , regex-tdfa, regexpr, safe, split, test-framework
+     , test-framework-hunit, time, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "hledger-lib";
+       version = "0.25";
+       sha256 = "0p0j69gyd9q6rx86vzrqaclf4jys1d60rw5344danb2m3vgv7c21";
+       buildDepends = [
+         array base base-compat blaze-markup bytestring cmdargs containers
+         csv Decimal directory filepath HUnit mtl mtl-compat old-locale
+         old-time parsec pretty-show regex-tdfa regexpr safe split time
+         transformers utf8-string
+       ];
+       testDepends = [
+         array base base-compat blaze-markup cmdargs containers csv Decimal
+         directory filepath HUnit mtl mtl-compat old-locale old-time parsec
+         pretty-show regex-tdfa regexpr safe split test-framework
+         test-framework-hunit time transformers
+       ];
+       homepage = "http://hledger.org";
+       description = "Core data types, parsers and utilities for the hledger accounting tool";
+       license = "GPL";
+     }) {};
+
+  "hledger-vty" = callPackage
+    ({ mkDerivation, base, cmdargs, hledger, hledger-lib, HUnit, safe
+     , time, vty
+     }:
+     mkDerivation {
+       pname = "hledger-vty";
+       version = "0.16.1";
+       sha256 = "10aq9apxz6nrzvvynha0wkhy34dn8dybizr8assni6rns8ylh188";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs hledger hledger-lib HUnit safe time vty
+       ];
+       jailbreak = true;
+       homepage = "http://hledger.org";
+       description = "A curses-style console interface for the hledger accounting tool";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hledger-web" = callPackage
+    ({ mkDerivation, base, base-compat, blaze-html, blaze-markup
+     , bytestring, clientsession, cmdargs, conduit-extra, data-default
+     , directory, filepath, hjsmin, hledger, hledger-lib, hspec
+     , http-client, http-conduit, HUnit, json, network-conduit
+     , old-locale, parsec, regexpr, safe, shakespeare, template-haskell
+     , text, time, transformers, wai, wai-extra, wai-handler-launch
+     , warp, yaml, yesod, yesod-core, yesod-form, yesod-static
+     , yesod-test
+     }:
+     mkDerivation {
+       pname = "hledger-web";
+       version = "0.25";
+       sha256 = "15rkmw9zg95ijsl4xchgm642y888fa76lxwpzg4qqb5gpjbflz9x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-compat blaze-html blaze-markup bytestring clientsession
+         cmdargs conduit-extra data-default directory filepath hjsmin
+         hledger hledger-lib http-client http-conduit HUnit json
+         network-conduit old-locale parsec regexpr safe shakespeare
+         template-haskell text time transformers wai wai-extra
+         wai-handler-launch warp yaml yesod yesod-core yesod-form
+         yesod-static
+       ];
+       testDepends = [ base base-compat hspec yesod yesod-test ];
+       homepage = "http://hledger.org";
+       description = "A web interface for the hledger accounting tool";
+       license = "GPL";
+     }) {};
+
+  "hlibBladeRF" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, hlint, libbladeRF
+     }:
+     mkDerivation {
+       pname = "hlibBladeRF";
+       version = "0.1.0.6";
+       sha256 = "15k15afy04kld6ar317lk441js873fcyk8qh92r98hnhbpq3nrmw";
+       buildDepends = [ base bindings-DSL bytestring ];
+       testDepends = [ base hlint ];
+       pkgconfigDepends = [ libbladeRF ];
+       homepage = "https://victoredwardocallaghan.github.io/hlibBladeRF";
+       description = "Haskell binding to libBladeRF SDR library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) libbladeRF;};
+
+  "hlibev" = callPackage
+    ({ mkDerivation, base, ev, network }:
+     mkDerivation {
+       pname = "hlibev";
+       version = "0.4.0";
+       sha256 = "0416w0k5ahnj57gc6n15ihpsyznmm36s1sjkycl35l7s8bxdldyw";
+       buildDepends = [ base network ];
+       extraLibraries = [ ev ];
+       homepage = "http://github.com/aycanirican/hlibev";
+       description = "FFI interface to libev";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { ev = null;};
+
+  "hlibfam" = callPackage
+    ({ mkDerivation, base, fam }:
+     mkDerivation {
+       pname = "hlibfam";
+       version = "0.2";
+       sha256 = "10rxwfq2ppmqs3kjb8cq6l04g0qsxqy7w7ri7dj013kiz7rzk1yd";
+       buildDepends = [ base ];
+       extraLibraries = [ fam ];
+       description = "FFI interface to libFAM";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) fam;};
+
+  "hlibgit2" = callPackage
+    ({ mkDerivation, base, bindings-DSL, git, openssl, process, zlib }:
+     mkDerivation {
+       pname = "hlibgit2";
+       version = "0.18.0.14";
+       sha256 = "0fxglcgi0iwj9xqgx1f3dixia9pqfzz0yq9iq7flaggpr9pvn3n0";
+       buildDepends = [ base bindings-DSL zlib ];
+       testDepends = [ base process ];
+       buildTools = [ git ];
+       extraLibraries = [ openssl ];
+       description = "Low-level bindings to libgit2";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) git;  inherit (pkgs) openssl;};
+
+  "hlint" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers, cpphs
+     , directory, extra, filepath, haskell-src-exts, hscolour, process
+     , transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "hlint";
+       version = "1.9.19";
+       sha256 = "07wibincqgz0sqvc00c06r5am2iyiknrrnywc8023rafajv3079p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base cmdargs containers cpphs directory extra
+         filepath haskell-src-exts hscolour process transformers uniplate
+       ];
+       homepage = "http://community.haskell.org/~ndm/hlint/";
+       description = "Source code suggestions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hlogger" = callPackage
+    ({ mkDerivation, base, old-locale, time }:
+     mkDerivation {
+       pname = "hlogger";
+       version = "0.0.3.0";
+       sha256 = "1q3jsnxy7x0lv7wqfv9hlqnr22661k4agbb8yjbhj32fxyjqrn4f";
+       buildDepends = [ base old-locale time ];
+       homepage = "http://www.pontarius.org/sub-projects/hlogger/";
+       description = "Simple, concurrent, extendable and easy-to-use logging library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hlongurl" = callPackage
+    ({ mkDerivation, base, bytestring, curl, json, regex-base
+     , regex-posix
+     }:
+     mkDerivation {
+       pname = "hlongurl";
+       version = "0.9.3";
+       sha256 = "1njj7cvj9zjy0gghkr33bzwsv6lj27xvf56kicsr0pyyn76wplv5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring curl json regex-base regex-posix
+       ];
+       description = "Library and utility interfacing to longurl.org";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hls" = callPackage
+    ({ mkDerivation, base, containers, hcg-minus, hps }:
+     mkDerivation {
+       pname = "hls";
+       version = "0.15";
+       sha256 = "0h32fyvnqkxx8c9vfpdjvnqaxkvr8b15myjavxmnm6kwh7v2796l";
+       buildDepends = [ base containers hcg-minus hps ];
+       homepage = "http://rd.slavepianos.org/t/hls";
+       description = "Haskell Lindenmayer Systems";
+       license = "GPL";
+     }) {};
+
+  "hlwm" = callPackage
+    ({ mkDerivation, base, monads-tf, stm, transformers, unix, X11 }:
+     mkDerivation {
+       pname = "hlwm";
+       version = "0.1.0.1";
+       revision = "1";
+       sha256 = "1vp21440v9gq4mvnqnsw1ha72ywgc4hmp137pkpvs5p13ixyfrgi";
+       editedCabalFile = "ce22b9186e03c83f13e56b33630f4af561b604c51374c23dc1ef4e24ced9a54e";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base monads-tf stm transformers unix X11 ];
+       description = "Bindings to the herbstluftwm window manager";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "hly" = callPackage
+    ({ mkDerivation, base, directory, filepath, hmt, process }:
+     mkDerivation {
+       pname = "hly";
+       version = "0.15";
+       sha256 = "192szfq39g3fdcdsxj4bsi13bfha8gjbqbixav3iywmdsgxp1hj8";
+       buildDepends = [ base directory filepath hmt process ];
+       homepage = "http://rd.slavepianos.org/t/hly";
+       description = "Haskell LilyPond";
+       license = "GPL";
+     }) {};
+
+  "hmark" = callPackage
+    ({ mkDerivation, base, bytestring, random, safe
+     , tokyocabinet-haskell, utf8-string
+     }:
+     mkDerivation {
+       pname = "hmark";
+       version = "1.2";
+       sha256 = "1s4ichb5dchcimcq9pvdddv2ibbdk2cb2b7p0l7p9s5lxn53bxgg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring random safe tokyocabinet-haskell utf8-string
+       ];
+       homepage = "http://bitcheese.net/wiki/code/hmark";
+       description = "A tool and library for Markov chains based text generation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hmarkup" = callPackage
+    ({ mkDerivation, base, containers, mtl, network, parsec, xhtml }:
+     mkDerivation {
+       pname = "hmarkup";
+       version = "3000.0.1";
+       sha256 = "0p6f1jd1b01dvzffiac17f8z0l403f54vrph8k9b3549lpjfh452";
+       buildDepends = [ base containers mtl network parsec xhtml ];
+       description = "Simple wikitext-like markup format implementation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hmatrix" = callPackage
+    ({ mkDerivation, array, base, binary, blas, bytestring, deepseq
+     , liblapack, random, split, storable-complex, vector
+     }:
+     mkDerivation {
+       pname = "hmatrix";
+       version = "0.16.1.5";
+       sha256 = "1da1iy2rzz51l69nixacsl7gqhkzld1w8z5h0klkha3mcnf1kkkq";
+       buildDepends = [
+         array base binary bytestring deepseq random split storable-complex
+         vector
+       ];
+       extraLibraries = [ blas liblapack ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Numeric Linear Algebra";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) blas;  inherit (pkgs) liblapack;};
+
+  "hmatrix-banded" = callPackage
+    ({ mkDerivation, base, hmatrix, lapack, transformers }:
+     mkDerivation {
+       pname = "hmatrix-banded";
+       version = "0.0";
+       sha256 = "05jgm3hnlylnfhavcicjbhbxq929whm6mapggfwbxkzajhh0paaj";
+       buildDepends = [ base hmatrix transformers ];
+       extraLibraries = [ lapack ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/hmatrix-banded/";
+       description = "HMatrix interface to LAPACK functions for banded matrices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { lapack = null;};
+
+  "hmatrix-csv" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, hmatrix, vector }:
+     mkDerivation {
+       pname = "hmatrix-csv";
+       version = "0.1.0.1";
+       sha256 = "0xfh7gj4f5sb14j3m15mp9bddz90jk0g4qz0rjhfdwyd8k9k6hfp";
+       buildDepends = [ base bytestring cassava hmatrix vector ];
+       homepage = "https://github.com/grtlr/hmatrix-csv";
+       description = "CSV encoding and decoding for hmatrix";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmatrix-glpk" = callPackage
+    ({ mkDerivation, base, containers, glpk, hmatrix }:
+     mkDerivation {
+       pname = "hmatrix-glpk";
+       version = "0.4.1.0";
+       sha256 = "0jy00mblbqp7bx0nxmvzfpa94b21fbl4cam0mha673hzq11rfrxi";
+       buildDepends = [ base containers hmatrix ];
+       extraLibraries = [ glpk ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Linear Programming based on GLPK";
+       license = "GPL";
+     }) { inherit (pkgs) glpk;};
+
+  "hmatrix-gsl" = callPackage
+    ({ mkDerivation, array, base, gsl, hmatrix, process, random, vector
+     }:
+     mkDerivation {
+       pname = "hmatrix-gsl";
+       version = "0.16.0.3";
+       sha256 = "07hg9rfrr1029n9q8xyicyh4rr9x4c02cqn1xxnks9p9qyccf4kg";
+       buildDepends = [ array base hmatrix process random vector ];
+       pkgconfigDepends = [ gsl ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Numerical computation";
+       license = "GPL";
+     }) { inherit (pkgs) gsl;};
+
+  "hmatrix-gsl-stats" = callPackage
+    ({ mkDerivation, base, binary, blas, hmatrix, lapack
+     , storable-complex
+     }:
+     mkDerivation {
+       pname = "hmatrix-gsl-stats";
+       version = "0.2.1";
+       sha256 = "1sfyvp5dlxcfqwpfwzqly9h8g26lm8470xaqcw6nj15dya1zl1fj";
+       buildDepends = [ base binary hmatrix storable-complex ];
+       extraLibraries = [ blas lapack ];
+       homepage = "http://code.haskell.org/hmatrix-gsl-stats";
+       description = "GSL Statistics interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) blas;  lapack = null;};
+
+  "hmatrix-mmap" = callPackage
+    ({ mkDerivation, base, hmatrix, mmap }:
+     mkDerivation {
+       pname = "hmatrix-mmap";
+       version = "0.0.5";
+       sha256 = "03z1f1xqw4hqh41q6hh8p103cl7dg9hqcawqlinapfmkvw5mzy8d";
+       buildDepends = [ base hmatrix mmap ];
+       homepage = "http://github.com/alanfalloon/hmatrix-mmap";
+       description = "Memory map Vector from disk into memory efficiently";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmatrix-nipals" = callPackage
+    ({ mkDerivation, base, hmatrix }:
+     mkDerivation {
+       pname = "hmatrix-nipals";
+       version = "0.2";
+       sha256 = "0afmpwfi4hqz5bpcsm579mcvz1dx7vxqmqj2rb6axnw9512xyarj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base hmatrix ];
+       homepage = "http://github.com/alanfalloon/hmatrix-nipals";
+       description = "NIPALS method for Principal Components Analysis on large data-sets";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "hmatrix-quadprogpp" = callPackage
+    ({ mkDerivation, base, hmatrix, QuadProgpp, vector }:
+     mkDerivation {
+       pname = "hmatrix-quadprogpp";
+       version = "0.2.0.2";
+       sha256 = "02ysxyy7ixpnrghl0ignfmjy6j358i5xbmklmpxykkg27jgzvic3";
+       buildDepends = [ base hmatrix vector ];
+       extraLibraries = [ QuadProgpp ];
+       description = "Bindings to the QuadProg++ quadratic programming library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { QuadProgpp = null;};
+
+  "hmatrix-repa" = callPackage
+    ({ mkDerivation, base, hmatrix, repa, vector }:
+     mkDerivation {
+       pname = "hmatrix-repa";
+       version = "0.1.2.1";
+       sha256 = "0xx02kll13c2zw5x13p9746av2yhgpybfxi508qgi84drfa8caa8";
+       buildDepends = [ base hmatrix repa vector ];
+       homepage = "http://code.haskell.org/hmatrix-repa";
+       description = "Adaptors for interoperability between hmatrix and repa";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmatrix-special" = callPackage
+    ({ mkDerivation, base, gsl, hmatrix, hmatrix-gsl }:
+     mkDerivation {
+       pname = "hmatrix-special";
+       version = "0.3.0.1";
+       sha256 = "1ziqzbfrk7xyah5n0cys1ccnmj2z91wxdamanv3y5v717zhdrqix";
+       buildDepends = [ base hmatrix hmatrix-gsl ];
+       extraLibraries = [ gsl ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Interface to GSL special functions";
+       license = "GPL";
+     }) { inherit (pkgs) gsl;};
+
+  "hmatrix-static" = callPackage
+    ({ mkDerivation, array, base, haskell-src-meta, hmatrix, parsec
+     , template-haskell, tfp
+     }:
+     mkDerivation {
+       pname = "hmatrix-static";
+       version = "0.3.0.2";
+       sha256 = "1qjxj8k4cracinyyjpk0nr3c5n119v39kpxig78c11cjhvhm3zgi";
+       buildDepends = [
+         array base haskell-src-meta hmatrix parsec template-haskell tfp
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/hmatrix-static/";
+       description = "hmatrix with vector and matrix sizes encoded in types";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hmatrix-svdlibc" = callPackage
+    ({ mkDerivation, base, hmatrix }:
+     mkDerivation {
+       pname = "hmatrix-svdlibc";
+       version = "0.3.1";
+       sha256 = "0mi41n31i4bjnqjnsmqs4mbrprg3sx4vx4wqixgyp3qk0jm6lijm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base hmatrix ];
+       homepage = "http://github.com/bgamari/hmatrix-svdlibc";
+       description = "SVDLIBC bindings for HMatrix";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmatrix-syntax" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, haskell-src-meta, hmatrix
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "hmatrix-syntax";
+       version = "0.1.2.1";
+       sha256 = "0qy5dx480hf9i03d16kylg2l8dsj10lzwfbik5ijqa4x3h7h038b";
+       buildDepends = [
+         base haskell-src-exts haskell-src-meta hmatrix template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/reinerp/hmatrix-syntax";
+       description = "MATLAB-like syntax for hmatrix vectors and matrices";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hmatrix-tests" = callPackage
+    ({ mkDerivation, base, hmatrix, hmatrix-gsl, HUnit, QuickCheck
+     , random
+     }:
+     mkDerivation {
+       pname = "hmatrix-tests";
+       version = "0.4.1.0";
+       sha256 = "0jrq9719japf9a7v14xbwqj4fs8y14wkji13jhyn00x1xpp4nkh3";
+       buildDepends = [
+         base hmatrix hmatrix-gsl HUnit QuickCheck random
+       ];
+       testDepends = [ base HUnit QuickCheck random ];
+       homepage = "https://github.com/albertoruiz/hmatrix";
+       description = "Tests for hmatrix";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmeap" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-lexing
+     , delimited-text, parsec
+     }:
+     mkDerivation {
+       pname = "hmeap";
+       version = "0.15";
+       sha256 = "19hip2xzlsgj1fd8y4l4zhn4lcj8n8qyrayn6idzvlskx4vca0bh";
+       buildDepends = [
+         array base bytestring bytestring-lexing delimited-text parsec
+       ];
+       homepage = "http://rd.slavepianos.org/t/hmeap";
+       description = "Haskell Meapsoft Parser";
+       license = "GPL";
+     }) {};
+
+  "hmeap-utils" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-lexing
+     , delimited-text, gnuplot, hmatrix, hmeap, hosc, hsc3, parsec
+     }:
+     mkDerivation {
+       pname = "hmeap-utils";
+       version = "0.14";
+       sha256 = "1dnmvzy7vkx2rfbkkqapfpql8h0gm9sq0333r90hy5nsyl9hhbq8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring bytestring-lexing delimited-text gnuplot
+         hmatrix hmeap hosc hsc3 parsec
+       ];
+       jailbreak = true;
+       homepage = "http://slavepianos.org/rd/?t=hmeap-utils";
+       description = "Haskell Meapsoft Parser Utilities";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hmemdb" = callPackage
+    ({ mkDerivation, base, binary, containers, monad-stm, stm
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hmemdb";
+       version = "0.4.0.0";
+       sha256 = "0zdz9nkianzviy0rn7fvzs01ymnz89p25kiis64rfvj3zwxk535w";
+       buildDepends = [
+         base binary containers monad-stm stm transformers
+       ];
+       description = "In-memory relational database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmidi" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "hmidi";
+       version = "0.2.1.0";
+       sha256 = "143w042krxayn2xbn3ag3mkfd9j4075adrjqs651hh3mbr8s9725";
+       buildDepends = [ base stm ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Binding to the OS level MIDI services";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmk" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, parsec, pcre-light, process, unix
+     }:
+     mkDerivation {
+       pname = "hmk";
+       version = "0.9.7.3";
+       sha256 = "08cq1lk1nkhkcjjjvkzy4xrr0gx6j2lpsv2vmj25kg6j9j33ilxh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath mtl parsec pcre-light
+         process unix
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/mboes/hmk";
+       description = "A make alternative based on Plan9's mk";
+       license = "GPL";
+     }) {};
+
+  "hmm" = callPackage
+    ({ mkDerivation, array, base, data-memocombinators, list-extras
+     , logfloat
+     }:
+     mkDerivation {
+       pname = "hmm";
+       version = "0.2.1.1";
+       sha256 = "08gdicnhls8y180il2k51zrcra1acw8m1qw0s2nz5w57mhfnxq31";
+       buildDepends = [
+         array base data-memocombinators list-extras logfloat
+       ];
+       homepage = "https://github.com/mikeizbicki/hmm";
+       description = "A hidden markov model library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hmp3" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , curses, directory, mersenne-random, old-time, pcre-light, process
+     , unix, zlib
+     }:
+     mkDerivation {
+       pname = "hmp3";
+       version = "1.5.2.1";
+       sha256 = "0kfqzydilajcpaazpbhmpv3h18n3lx839wxmcbjlzvjc78ajblb3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory mersenne-random
+         old-time pcre-light process unix zlib
+       ];
+       extraLibraries = [ curses ];
+       homepage = "http://www.cse.unsw.edu.au/~dons/hmp3.html";
+       description = "An ncurses mp3 player written in Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { curses = null;};
+
+  "hmpfr" = callPackage
+    ({ mkDerivation, base, integer-gmp, mpfr }:
+     mkDerivation {
+       pname = "hmpfr";
+       version = "0.3.3.5";
+       sha256 = "00gqrmfwg7hk21iyfbma8h4ahpxgj21wi9fcxjdms506ahk7rwf4";
+       buildDepends = [ base integer-gmp ];
+       extraLibraries = [ mpfr ];
+       homepage = "http://code.google.com/p/hmpfr/";
+       description = "Haskell binding to the MPFR library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) mpfr;};
+
+  "hmt" = callPackage
+    ({ mkDerivation, array, base, bytestring, colour, containers
+     , data-ordlist, directory, filepath, lazy-csv, logict
+     , multiset-comb, parsec, permutation, primes, safe, split
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hmt";
+       version = "0.15";
+       sha256 = "051kgsh9nl5f1nw8a24x7ds18g6ppzbhk3d9lf74nvvnccnzg3a9";
+       buildDepends = [
+         array base bytestring colour containers data-ordlist directory
+         filepath lazy-csv logict multiset-comb parsec permutation primes
+         safe split utf8-string
+       ];
+       homepage = "http://rd.slavepianos.org/t/hmt";
+       description = "Haskell Music Theory";
+       license = "GPL";
+     }) {};
+
+  "hmt-diagrams" = callPackage
+    ({ mkDerivation, base, cairo, colour, filepath, hcg-minus
+     , hcg-minus-cairo, hmt, html-minimalist, process, xml
+     }:
+     mkDerivation {
+       pname = "hmt-diagrams";
+       version = "0.15";
+       sha256 = "1g64b31bz31x0kiivazn20s22y2w7dz9f2gw5cnfkcnjd20k7glm";
+       buildDepends = [
+         base cairo colour filepath hcg-minus hcg-minus-cairo hmt
+         html-minimalist process xml
+       ];
+       homepage = "http://rd.slavepianos.org/t/hmt-diagrams";
+       description = "Haskell Music Theory Diagrams";
+       license = "GPL";
+     }) {};
+
+  "hmumps" = callPackage
+    ({ mkDerivation, base, containers, haskeline, mtl, parsec
+     , QuickCheck, regex-compat, syb, text
+     }:
+     mkDerivation {
+       pname = "hmumps";
+       version = "0.1.1";
+       sha256 = "06bixsd7vzfj0gwv0b2880p4xx3f9j7y1snindlnlcfr1qdp9jn2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers haskeline mtl parsec QuickCheck regex-compat syb
+         text
+       ];
+       jailbreak = true;
+       description = "Interpreter for the MUMPS langugae";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hnetcdf" = callPackage
+    ({ mkDerivation, base, c2hs, containers, directory, either, errors
+     , filepath, hmatrix, HUnit, netcdf, QuickCheck, repa
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "hnetcdf";
+       version = "0.3.0.0";
+       sha256 = "1309kzb5jrc9yy18bir3dy3r5xhmfnbd180ky9x4l3i1m4q5r31s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers either errors filepath hmatrix repa transformers
+         vector
+       ];
+       testDepends = [
+         base containers directory errors hmatrix HUnit QuickCheck repa
+         test-framework test-framework-hunit test-framework-quickcheck2
+         vector
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ netcdf ];
+       homepage = "https://github.com/ian-ross/hnetcdf";
+       description = "Haskell NetCDF library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) netcdf;};
+
+  "hnn" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hmatrix, mwc-random
+     , random, vector, vector-binary-instances, zlib
+     }:
+     mkDerivation {
+       pname = "hnn";
+       version = "0.2.0.0";
+       sha256 = "13i2rs1ab7kh2mzf34hckkihpbrxpxzwfcdd529zd7dynhd3psjw";
+       buildDepends = [
+         base binary bytestring hmatrix mwc-random random vector
+         vector-binary-instances zlib
+       ];
+       homepage = "http://github.com/alpmestan/hnn";
+       description = "A reasonably fast and simple neural network library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hnop" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hnop";
+       version = "0.1";
+       sha256 = "0sfw9gmcn7qclgsgzqm9zalyxhz0mig91fabcfq3g0r98krgjnr2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       license = stdenv.lib.licenses.unfree;
+     }) {};
+
+  "hoauth" = callPackage
+    ({ mkDerivation, base, binary, bytestring, crypto-pubkey-types
+     , curl, dataenc, entropy, mtl, old-locale, random, RSA, SHA, time
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hoauth";
+       version = "0.3.5";
+       sha256 = "06vk3dv2dby7wadxg4qq2bzy10hl8ix2x4vpxggwd13xy3kpzjqp";
+       buildDepends = [
+         base binary bytestring crypto-pubkey-types curl dataenc entropy mtl
+         old-locale random RSA SHA time utf8-string
+       ];
+       description = "A Haskell implementation of OAuth 1.0a protocol.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hoauth2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
+     , text
+     }:
+     mkDerivation {
+       pname = "hoauth2";
+       version = "0.4.7";
+       sha256 = "1y4bp6b7jxm4cx0xx27kff835jzxdnxiivf9kky2f2q65aj3q9xq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring http-conduit http-types text
+       ];
+       homepage = "https://github.com/freizl/hoauth2";
+       description = "hoauth2";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hob" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , glib, gtk-largeTreeStore, gtk3, gtksourceview3, hspec, mtl, pango
+     , system-filepath, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "hob";
+       version = "0.0.1.0";
+       sha256 = "1m2sxbw5il818g50b0650cm5vrb7njclk09m0na6i3amx3q10xjc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath glib
+         gtk-largeTreeStore gtk3 gtksourceview3 mtl pango system-filepath
+         text transformers vector
+       ];
+       testDepends = [
+         base containers gtk3 gtksourceview3 hspec mtl text
+       ];
+       jailbreak = true;
+       homepage = "http://svalaskevicius.github.io/hob/";
+       description = "A source code editor aiming for the convenience of use";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hobbes" = callPackage
+    ({ mkDerivation, base, filemanip, filepath, fsnotify
+     , system-filepath, text
+     }:
+     mkDerivation {
+       pname = "hobbes";
+       version = "0.2.2";
+       sha256 = "1pri63d59q918jv1hdp2ib06m6lzw9a2b6bjyn86b2qrrx2512xd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base filemanip filepath fsnotify system-filepath text
+       ];
+       homepage = "http://github.com/jhickner/hobbes";
+       description = "A small file watcher for OSX";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hobbits" = callPackage
+    ({ mkDerivation, base, deepseq, haskell-src-exts, haskell-src-meta
+     , mtl, syb, tagged, template-haskell, th-expand-syns, transformers
+     , type-equality
+     }:
+     mkDerivation {
+       pname = "hobbits";
+       version = "1.1.1";
+       sha256 = "0q668jvlpqs7y3l27fk9m96aa8rzhdkz8jf0whifdb2gahlhx9hs";
+       buildDepends = [
+         base deepseq haskell-src-exts haskell-src-meta mtl syb tagged
+         template-haskell th-expand-syns transformers type-equality
+       ];
+       jailbreak = true;
+       description = "A library for canonically representing terms with binding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hoe" = callPackage
+    ({ mkDerivation, base, cmdargs, exceptions, hint, mtl, regex-posix
+     , split, time
+     }:
+     mkDerivation {
+       pname = "hoe";
+       version = "1.0.1";
+       sha256 = "06z44i4lmd44l9fjdd49lf0j4a8gmh5njiwlr77ycsyxf9mcwaa1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs exceptions hint mtl regex-posix split time
+       ];
+       homepage = "http://github.com/tanakh/hoe";
+       description = "hoe: Haskell One-liner Evaluator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hofix-mtl" = callPackage
+    ({ mkDerivation, base, mtl, star-to-star, template-haskell }:
+     mkDerivation {
+       pname = "hofix-mtl";
+       version = "1.0";
+       sha256 = "1xlsddrdv56n7ww7a377jwz43xkkckl5zygghwxs9k88wxzskvvd";
+       buildDepends = [ base mtl star-to-star template-haskell ];
+       jailbreak = true;
+       description = "defining @mtl@-ready monads as * -> * fixed-points";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hog" = callPackage
+    ({ mkDerivation, base, cmdargs, filepath, irc, network, old-locale
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "hog";
+       version = "0.1.1";
+       sha256 = "0mmp7ymmzvhpwmwjjnin9493a81vijai7hcyqwv9wrfhdjnykb1d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs filepath irc network old-locale time unix
+       ];
+       jailbreak = true;
+       description = "Simple IRC logger bot";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hogg" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, HUnit, mtl
+     , old-locale, random, time
+     }:
+     mkDerivation {
+       pname = "hogg";
+       version = "0.4.1.2";
+       sha256 = "0djgbgahhrfdpxknqfjqkqwzy7ra3d7mnxyv6n76kpldalhihklw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers HUnit mtl old-locale random time
+       ];
+       homepage = "http://www.kfish.org/software/hogg/";
+       description = "Library and tools to manipulate the Ogg container format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hogre" = callPackage
+    ({ mkDerivation, base, cgen, cgen-hs, grgen, OGRE, OgreMain }:
+     mkDerivation {
+       pname = "hogre";
+       version = "0.1.5";
+       sha256 = "0ndgnflcj885ylxf8q8l71cykrpm4j6svzqxlpdynf054safq174";
+       buildDepends = [ base cgen ];
+       buildTools = [ cgen cgen-hs grgen ];
+       extraLibraries = [ OgreMain ];
+       pkgconfigDepends = [ OGRE ];
+       homepage = "http://anttisalonen.github.com/hogre";
+       description = "Haskell binding to a subset of OGRE";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { OGRE = null;  OgreMain = null;  cgen-hs = null;
+          grgen = null;};
+
+  "hogre-examples" = callPackage
+    ({ mkDerivation, base, hogre, OgreMain }:
+     mkDerivation {
+       pname = "hogre-examples";
+       version = "0.1.4";
+       sha256 = "10zq4qch5bs0aawvs0zg3yyz41lykg1jrna5jqxlrvbq0wfz2s5g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hogre ];
+       extraLibraries = [ OgreMain ];
+       homepage = "http://github.com/anttisalonen/hogre-examples";
+       description = "Examples for using Hogre";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { OgreMain = null;};
+
+  "hois" = callPackage
+    ({ mkDerivation, base, OIS, X11 }:
+     mkDerivation {
+       pname = "hois";
+       version = "0.1.0.0";
+       sha256 = "0awb7dfa77y7n88ljkcdxs63g37qyc5xkr0j7lqwzx23q83a5c4k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base X11 ];
+       extraLibraries = [ OIS ];
+       jailbreak = true;
+       description = "OIS bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { OIS = null;};
+
+  "hoist-error" = callPackage
+    ({ mkDerivation, base, either, mtl }:
+     mkDerivation {
+       pname = "hoist-error";
+       version = "0.1.0.2";
+       revision = "1";
+       sha256 = "1485adrlm52jm5afcwa7qnfy4b1679nqjhhlsjp264wqmm0h9l0z";
+       editedCabalFile = "900b08c7b95c9490dfc65334b32c1fdcb4a578e458f47dbfa58108c433fe7a8a";
+       buildDepends = [ base either mtl ];
+       description = "Some convenience facilities for hoisting errors into a monad";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hold-em" = callPackage
+    ({ mkDerivation, base, random, safe }:
+     mkDerivation {
+       pname = "hold-em";
+       version = "0.1.0.0";
+       sha256 = "1j2ql6izsd85skd6l9j1qfg7pj5rf513096s9bkvqip9bb4ibr4r";
+       buildDepends = [ base random safe ];
+       jailbreak = true;
+       description = "An engine for Texas hold'em Poker";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hole" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hole";
+       version = "0.1.1";
+       sha256 = "05ba87wk9b5i5b4gsfvsj16rv91dqsmzyys6b5fkssrxh2ika36c";
+       buildDepends = [ base containers ];
+       description = "Higher kinded type removal";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "holey-format" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "holey-format";
+       version = "2.1.0";
+       sha256 = "13f6f647ykssqgdqw4fp7gnr2ardxbcn41ksgs15v5dx1n1xvan1";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "holy-project" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
+     , directory, filepath, hastache, http-conduit, HUnit, lens
+     , lens-aeson, process, QuickCheck, random, smallcheck, split, syb
+     , tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck, text
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "holy-project";
+       version = "0.1.1.1";
+       sha256 = "0vb4mlz6gb01aadm2b8kgvgnrwwvl6q4ndx6xldi0xi3rm22xkwj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-terminal base bytestring Cabal directory filepath
+         hastache http-conduit HUnit lens lens-aeson process QuickCheck
+         random smallcheck split syb tasty tasty-hunit tasty-quickcheck
+         tasty-smallcheck text time unix
+       ];
+       testDepends = [
+         base bytestring Cabal HUnit QuickCheck smallcheck tasty tasty-hunit
+         tasty-quickcheck tasty-smallcheck
+       ];
+       homepage = "http://github.com/yogsototh/holy-project";
+       description = "Start your Haskell project with cabal, git and tests";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "homeomorphic" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck }:
+     mkDerivation {
+       pname = "homeomorphic";
+       version = "0.1";
+       sha256 = "1wm15bdz02sjgpz2n266xd50q3p6mncnv8mhimky6ps1kmzb5r6c";
+       buildDepends = [ base containers mtl QuickCheck ];
+       homepage = "http://www-users.cs.york.ac.uk/~ndm/homeomorphic/";
+       description = "Homeomorphic Embedding Test";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hommage" = callPackage
+    ({ mkDerivation, array, base, directory, haskell98, random, time }:
+     mkDerivation {
+       pname = "hommage";
+       version = "0.0.6";
+       sha256 = "053zv30ghm7c9idb6za44zasnn88g85z4bzbdpfpixlkvcm4sbck";
+       buildDepends = [ array base directory haskell98 random time ];
+       description = "Haskell Offline Music Manipulation And Generation EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hommage-ds" = callPackage
+    ({ mkDerivation, array, base, DirectSound, haskell98, hommage }:
+     mkDerivation {
+       pname = "hommage-ds";
+       version = "0.0.5";
+       sha256 = "0gnwpzs6kwhf2wm0nqcgwqa1pp7xwbnqh337pr62w40i76g252v4";
+       buildDepends = [ array base DirectSound haskell98 hommage ];
+       jailbreak = true;
+       homepage = "substitut-fuer-feinmotorik/projects/haskellommage";
+       description = "DirectSound extension (Windows) for the Hommage sound library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "honi" = callPackage
+    ({ mkDerivation, base, bytestring, freenect, hspec, HUnit, OpenNI2
+     , text
+     }:
+     mkDerivation {
+       pname = "honi";
+       version = "0.1.0.0";
+       sha256 = "0g1w1i78a93d10zgdy9ixkflblx9xixa493hh2cc8jzznqsp5yfi";
+       buildDepends = [ base bytestring text ];
+       testDepends = [ base freenect hspec HUnit OpenNI2 ];
+       extraLibraries = [ freenect OpenNI2 ];
+       description = "OpenNI 2 binding";
+       license = stdenv.lib.licenses.mit;
+       broken = true;
+     }) { OpenNI2 = null;  freenect = null;};
+
+  "honk" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "honk";
+       version = "1.2.0.0";
+       sha256 = "0aql3rqhx7jj1k0csx5rhb5kqsf1r28rvr7rl9axzkc9imz53wvx";
+       buildDepends = [ base ];
+       homepage = "http://lfairy.github.io/honk/";
+       description = "Cross-platform interface to the PC speaker";
+       license = "unknown";
+     }) {};
+
+  "hoobuddy" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, directory
+     , filepath, hoogle, monad-loops, mtl, process, yaml
+     }:
+     mkDerivation {
+       pname = "hoobuddy";
+       version = "0.1.0.1";
+       sha256 = "0l1q6h0irfv3275jajvylajm2rhkfmvi1kpfan6n6z5adibh9and";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring Cabal directory filepath hoogle monad-loops
+         mtl process yaml
+       ];
+       homepage = "http://github.com/gilligan/hoobuddy";
+       description = "Simple tool for fetching and merging hoogle data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hood" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "hood";
+       version = "0.2";
+       sha256 = "16p6jr9mkd1qv725655awcx623samrkcswlpml0kvhbm1i5kfmcn";
+       buildDepends = [ array base ];
+       homepage = "http://www.ittc.ku.edu/csdl/fpg/Hood";
+       description = "Debugging by observing in place";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hood-off" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hood-off";
+       version = "0.2";
+       sha256 = "15rj6qfyhihzc5svl3dwkn387x7bbkl5am7h0kj5jjj8hv2q1pnc";
+       buildDepends = [ base ];
+       description = "Dummy package to disable Hood without having to remove all the calls to observe";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoodie" = callPackage
+    ({ mkDerivation, array, astar, base, containers, hfov, monad-loops
+     , mtl, ncurses, random
+     }:
+     mkDerivation {
+       pname = "hoodie";
+       version = "0.1.0.0";
+       sha256 = "1q3wpsqz833vypqnd7ljiraiyn1klxid35mh5vyizldk3i0qqf6w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array astar base containers hfov monad-loops mtl ncurses random
+       ];
+       jailbreak = true;
+       description = "A small, toy roguelike";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hoodle" = callPackage
+    ({ mkDerivation, base, cmdargs, configurator, containers, directory
+     , filepath, hoodle-core, mtl
+     }:
+     mkDerivation {
+       pname = "hoodle";
+       version = "0.4.0";
+       sha256 = "0ygmizbhag16ifdyp8gcvs0m9vinvirn8v7jfbi2m457bllmbsmq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs configurator containers directory filepath hoodle-core
+         mtl
+       ];
+       homepage = "http://ianwookim.org/hoodle";
+       description = "Executable for hoodle";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hoodle-builder" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, double-conversion
+     , hoodle-types, lens, strict, text
+     }:
+     mkDerivation {
+       pname = "hoodle-builder";
+       version = "0.3.0";
+       sha256 = "0g4a3gf1mgf5gyniif0i2b89dz416h28171mwx7k7ivjw23gjvm7";
+       buildDepends = [
+         base blaze-builder bytestring double-conversion hoodle-types lens
+         strict text
+       ];
+       description = "text builder for hoodle file format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoodle-core" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base
+     , base64-bytestring, binary, bytestring, cairo, case-insensitive
+     , cereal, configurator, containers, coroutine-object, Diff
+     , directory, either, errors, filepath, fsnotify, gd, gtk
+     , handa-gdata, hoodle-builder, hoodle-parser, hoodle-publish
+     , hoodle-render, hoodle-types, http-types, lens, libX11, libXi
+     , monad-loops, mtl, network-uri, old-locale, pango, poppler
+     , process, pureMD5, stm, strict, svgcairo, system-filepath
+     , template-haskell, text, time, transformers, transformers-free
+     , unordered-containers, uuid, vector, websockets, xournal-parser
+     }:
+     mkDerivation {
+       pname = "hoodle-core";
+       version = "0.15.0";
+       sha256 = "04007hbnv4n3dl2yngfjzl6vrqd40yk5h9lq0ws2z33k4xa3a3rk";
+       buildDepends = [
+         aeson aeson-pretty array attoparsec base base64-bytestring binary
+         bytestring cairo case-insensitive cereal configurator containers
+         coroutine-object Diff directory either errors filepath fsnotify gd
+         gtk handa-gdata hoodle-builder hoodle-parser hoodle-publish
+         hoodle-render hoodle-types http-types lens monad-loops mtl
+         network-uri old-locale pango poppler process pureMD5 stm strict
+         svgcairo system-filepath template-haskell text time transformers
+         transformers-free unordered-containers uuid vector websockets
+         xournal-parser
+       ];
+       extraLibraries = [ libX11 libXi ];
+       homepage = "http://ianwookim.org/hoodle";
+       description = "Core library for hoodle";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs.xlibs) libXi;};
+
+  "hoodle-extra" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, binary, bytestring, cmdargs, conduit
+     , containers, directory, either, filepath, hoodle-parser
+     , hoodle-types, http-conduit, lens, monad-loops, mtl
+     , network-simple, process, pureMD5, resourcet, text, time
+     , transformers, unordered-containers, xournal-parser
+     }:
+     mkDerivation {
+       pname = "hoodle-extra";
+       version = "0.1";
+       sha256 = "1mqx4qia457n8v4pdyd8mc8h7ybzx5asxm2d4p9ws5g2q4ybmshy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring binary
+         bytestring cmdargs conduit containers directory either filepath
+         hoodle-parser hoodle-types http-conduit lens monad-loops mtl
+         network-simple process pureMD5 resourcet text time transformers
+         unordered-containers xournal-parser
+       ];
+       homepage = "http://ianwookim.org/hoodle";
+       description = "extra hoodle tools";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hoodle-parser" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, either
+     , hoodle-types, lens, mtl, strict, text, transformers
+     , xournal-types
+     }:
+     mkDerivation {
+       pname = "hoodle-parser";
+       version = "0.3.0";
+       sha256 = "0qp7x6csacf4w9crvmyrs7qsm9caici95qiwm11zyzyz2k9nm52g";
+       buildDepends = [
+         attoparsec base bytestring containers either hoodle-types lens mtl
+         strict text transformers xournal-types
+       ];
+       homepage = "http://ianwookim.org/hoodle";
+       description = "Hoodle file parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoodle-publish" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cairo, cmdargs
+     , containers, directory, directory-tree, filepath, gtk
+     , hoodle-parser, hoodle-render, hoodle-types, HTTP, io-streams
+     , lens, mtl, network-uri, pdf-toolbox-core, pdf-toolbox-document
+     , process, transformers, unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "hoodle-publish";
+       version = "0.2.0";
+       sha256 = "1nx2y4f000gid9mps0xxx4l6h0nh120568h9cl45gsp6qlw3sa5m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cairo cmdargs containers directory
+         directory-tree filepath gtk hoodle-parser hoodle-render
+         hoodle-types HTTP io-streams lens mtl network-uri pdf-toolbox-core
+         pdf-toolbox-document process transformers unordered-containers uuid
+       ];
+       homepage = "http://ianwookim.org/hoodle";
+       description = "publish hoodle files as a static web site";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoodle-render" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cairo
+     , containers, directory, filepath, gd, gtk, hashable, hoodle-types
+     , lens, monad-loops, mtl, poppler, stm, strict, svgcairo, time
+     , transformers, unix, unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "hoodle-render";
+       version = "0.5.0";
+       sha256 = "0460j9flj5cnvgv6cnchc6am0r5sw81lp67qf45rgcyjpz9q424i";
+       buildDepends = [
+         base base64-bytestring bytestring cairo containers directory
+         filepath gd gtk hashable hoodle-types lens monad-loops mtl poppler
+         stm strict svgcairo time transformers unix unordered-containers
+         uuid
+       ];
+       description = "Hoodle file renderer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoodle-types" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, lens, mtl
+     , strict, text, uuid
+     }:
+     mkDerivation {
+       pname = "hoodle-types";
+       version = "0.3.0";
+       sha256 = "0mkx3n1sni43665dk5ify890wdfxamxvkx1h61kzsk3c3bazngr5";
+       buildDepends = [
+         base bytestring cereal containers lens mtl strict text uuid
+       ];
+       description = "Data types for programs for hoodle file format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoogle" = callPackage
+    ({ mkDerivation, aeson, array, base, binary, blaze-builder
+     , bytestring, Cabal, case-insensitive, cmdargs, conduit, containers
+     , deepseq, directory, filepath, haskell-src-exts, http-types
+     , old-locale, parsec, process, QuickCheck, random, resourcet, safe
+     , shake, tagsoup, temporary, text, time, transformers, uniplate
+     , unix, vector, vector-algorithms, wai, warp
+     }:
+     mkDerivation {
+       pname = "hoogle";
+       version = "4.2.39";
+       sha256 = "0n3sh13lhg9aip1390by0wfdfsrnqz61zgs6ji143ak7fdff1559";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base binary blaze-builder bytestring Cabal
+         case-insensitive cmdargs conduit containers deepseq directory
+         filepath haskell-src-exts http-types old-locale parsec process
+         QuickCheck random resourcet safe shake tagsoup text time
+         transformers uniplate unix vector vector-algorithms wai warp
+       ];
+       testDepends = [ base directory filepath process temporary ];
+       testTarget = "--test-option=--no-net";
+       homepage = "http://www.haskell.org/hoogle/";
+       description = "Haskell API Search";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoogle-index" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , errors, filepath, hoogle, optparse-applicative, process
+     , temporary, transformers
+     }:
+     mkDerivation {
+       pname = "hoogle-index";
+       version = "0.4.1";
+       sha256 = "09ax7y205ds8wb99qmwszclam8p9s9swv0byf0ap2qiz948gjfbg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory errors filepath hoogle
+         optparse-applicative process temporary transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/bgamari/hoogle-index";
+       description = "Easily generate Hoogle indices for installed packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hooks-dir" = callPackage
+    ({ mkDerivation, base, directory, process, text }:
+     mkDerivation {
+       pname = "hooks-dir";
+       version = "0.1.1.0";
+       sha256 = "0gwdqpml8kn8xxxaq628d4way29k2f31f5av49fx7qj150h5qs5b";
+       buildDepends = [ base directory process text ];
+       homepage = "https://github.com/ibotty/hooks-dir";
+       description = "run executables in a directory as hooks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoopl_3_10_0_2" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hoopl";
+       version = "3.10.0.2";
+       sha256 = "11j7xd82zx7ja08lsnnkfq39yzqc2wbgdxgnwsviml58bkp495yj";
+       buildDepends = [ base containers ];
+       homepage = "http://ghc.cs.tufts.edu/hoopl/";
+       description = "A library to support dataflow analysis and optimization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hoovie" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, configurator
+     , directory, enumerator, file-embed, filepath, HDBC, HDBC-sqlite3
+     , mtl, network, network-info, network-multicast, old-locale
+     , old-time, process, regex-compat, snap-core, snap-server, text
+     , time, transformers, unix, xml
+     }:
+     mkDerivation {
+       pname = "hoovie";
+       version = "0.1.1";
+       sha256 = "1g486kj7pwfvdr0a0mpfjxv9hifrkbp7120hxcfyrhx2zjmmc449";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring configurator directory enumerator
+         file-embed filepath HDBC HDBC-sqlite3 mtl network network-info
+         network-multicast old-locale old-time process regex-compat
+         snap-core snap-server text time transformers unix xml
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/pvdbrand/hoovie";
+       description = "Haskell Media Server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hopencc" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, opencc, QuickCheck
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hopencc";
+       version = "0.1.0.0";
+       sha256 = "1ygldh3r09qzpws28mnmhm3ai7h162gsafdc7nwl2f10kjnpjhyw";
+       buildDepends = [ base bytestring utf8-string ];
+       testDepends = [ base QuickCheck ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ opencc ];
+       jailbreak = true;
+       homepage = "https://github.com/MnO2/hopencc";
+       description = "Haskell binding to libopencc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { opencc = null;};
+
+  "hopencl" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, HUnit, OpenCL, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hopencl";
+       version = "0.2.1";
+       sha256 = "1kdrjr1y5wfq8bb31bkh360pvgb7ryhn9awnqszbq5d4wdwplqk8";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ OpenCL ];
+       homepage = "https://github.com/merijn/hopencl";
+       description = "Haskell bindings for OpenCL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { OpenCL = null;};
+
+  "hopenpgp-tools" = 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, ixset, lens
+     , monad-loops, old-locale, openpgp-asciiarmor, optparse-applicative
+     , resourcet, text, time, transformers, unordered-containers
+     , wl-pprint-extras, yaml
+     }:
+     mkDerivation {
+       pname = "hopenpgp-tools";
+       version = "0.14.1";
+       sha256 = "0ckmz6v6y8lwbpx0aw4a5japxgx1m664p7pgrblsbw9pn5yjrkcw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         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
+         ixset lens monad-loops old-locale openpgp-asciiarmor
+         optparse-applicative resourcet text time transformers
+         unordered-containers wl-pprint-extras yaml
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://floss.scru.org/hopenpgp-tools";
+       description = "hOpenPGP-based command-line tools";
+       license = "unknown";
+     }) {};
+
+  "hopenssl" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, openssl }:
+     mkDerivation {
+       pname = "hopenssl";
+       version = "1.7";
+       sha256 = "1zs69kxwz5fnm62mdscbpfz78vwnda75gyx1vxmmlisfhfslprly";
+       buildDepends = [ base bytestring mtl ];
+       extraLibraries = [ openssl ];
+       homepage = "http://github.com/peti/hopenssl";
+       description = "FFI bindings to OpenSSL's EVP digest interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) openssl;};
+
+  "hopfield" = callPackage
+    ({ mkDerivation, array, base, deepseq, directory, erf
+     , exact-combinatorics, hmatrix, hspec, HUnit, JuicyPixels
+     , MagickCore, MagickWand, monad-loops, MonadRandom
+     , optparse-applicative, parallel, probability, QuickCheck, random
+     , random-fu, rvar, split, vector
+     }:
+     mkDerivation {
+       pname = "hopfield";
+       version = "0.1.0.2";
+       sha256 = "1cpr3540fdrqr39p6xhb64iz2fz8mzryd19515c55522s7xjk1zw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base deepseq directory erf exact-combinatorics hmatrix
+         JuicyPixels monad-loops MonadRandom optparse-applicative parallel
+         probability QuickCheck random random-fu rvar split vector
+       ];
+       testDepends = [
+         base erf exact-combinatorics hspec HUnit MonadRandom parallel
+         QuickCheck random vector
+       ];
+       extraLibraries = [ MagickCore MagickWand ];
+       homepage = "https://github.com/imperialhopfield/hopfield";
+       description = "Hopfield Networks, Boltzmann Machines and Clusters";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { MagickCore = null;  MagickWand = null;};
+
+  "hopfield-networks" = callPackage
+    ({ mkDerivation, base, matrix, MonadRandom, QuickCheck, split
+     , test-framework, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "hopfield-networks";
+       version = "0.1.0.0";
+       sha256 = "1d3jcjk6s7raack7rvm1jzyh2fvaha6xy7k97fmq4cx22fzb48sd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base matrix MonadRandom QuickCheck split vector ];
+       testDepends = [
+         base matrix MonadRandom QuickCheck test-framework
+         test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/ajtulloch/hopfield-networks";
+       description = "Hopfield Networks for unsupervised learning in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hopfli" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, QuickCheck, zlib }:
+     mkDerivation {
+       pname = "hopfli";
+       version = "0.2.1.0";
+       sha256 = "1rx5kvacnzm3qmc0z8n9fhrcrac059akzh9ccq0qswl7w9m4iby3";
+       buildDepends = [ base bytestring zlib ];
+       testDepends = [ base bytestring hspec QuickCheck zlib ];
+       jailbreak = true;
+       homepage = "https://github.com/ananthakumaran/hopfli";
+       description = "zlib compatible compression using Zopfli Compression Algorithm";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "hoq" = callPackage
+    ({ mkDerivation, alex, array, base, bifunctors, bytestring
+     , filepath, happy, mtl, pretty, readline, void
+     }:
+     mkDerivation {
+       pname = "hoq";
+       version = "0.3";
+       sha256 = "0h9cq1qzai1kbzc77bjlm0dbkrasfj0d21ydrh86kv9jd6gr7gb7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bifunctors bytestring filepath mtl pretty readline void
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://github.com/valis/hoq";
+       description = "A language based on homotopy type theory with an interval type";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "horizon" = callPackage
+    ({ mkDerivation, AC-Angle, base, time }:
+     mkDerivation {
+       pname = "horizon";
+       version = "0.1.1";
+       sha256 = "1qx27i0xlrgcrdzp6lc06skipj888cfdxwwfrd7fyig48jn3wyd4";
+       buildDepends = [ AC-Angle base time ];
+       homepage = "https://github.com/intractable/horizon";
+       description = "Sunrise and sunset UTC approximations from latitude and longitude coordinates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hosc" = callPackage
+    ({ mkDerivation, base, binary, blaze-builder, bytestring
+     , data-binary-ieee754, network, QuickCheck, test-framework
+     , test-framework-quickcheck2, time, transformers
+     }:
+     mkDerivation {
+       pname = "hosc";
+       version = "0.15";
+       sha256 = "1yp25n159p69r32y3x7iwc55l5q9qaamj2vyl1473x8ras5afdcf";
+       buildDepends = [
+         base binary blaze-builder bytestring data-binary-ieee754 network
+         time transformers
+       ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://rd.slavepianos.org/t/hosc";
+       description = "Haskell Open Sound Control";
+       license = "GPL";
+     }) {};
+
+  "hosc-json" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, bytestring
+     , hosc, json, text, unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "hosc-json";
+       version = "0.15";
+       sha256 = "0sask4nr5njf9grzigldflrbp7460z55fsam1pc3wcnsa575hxhi";
+       buildDepends = [
+         aeson attoparsec base bifunctors bytestring hosc json text
+         unordered-containers utf8-string vector
+       ];
+       homepage = "http://rd.slavepianos.org/t/hosc-json";
+       description = "Haskell Open Sound Control JSON Serialisation";
+       license = "GPL";
+     }) {};
+
+  "hosc-utils" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, haskeline, hosc, hosc-json
+     , hsc3, json, text, transformers, utf8-string, websockets
+     , www-minus
+     }:
+     mkDerivation {
+       pname = "hosc-utils";
+       version = "0.15";
+       sha256 = "0zk59ig52vqym4n47yl9jgv21gszcwwbc0qc9ff0080allp6ddml";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cgi haskeline hosc hosc-json hsc3 json text
+         transformers utf8-string websockets www-minus
+       ];
+       jailbreak = true;
+       homepage = "http://rd.slavepianos.org/?t=hosc-utils";
+       description = "Haskell Open Sound Control Utilities";
+       license = "GPL";
+       broken = true;
+     }) { www-minus = null;};
+
+  "hostname" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hostname";
+       version = "1.0";
+       sha256 = "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv";
+       buildDepends = [ base ];
+       description = "A very simple package providing a cross-platform means of determining the hostname";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hostname-validate" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "hostname-validate";
+       version = "1.0.0";
+       sha256 = "0my8g4kqf9mz7ii79ff53rwkx3yv9kkn4jbm60q4b7g1rzhb3bvz";
+       buildDepends = [ attoparsec base bytestring ];
+       description = "Validate hostnames e.g. localhost or foo.co.uk.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hosts-server" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, data-default, dns
+     , iproute, network
+     }:
+     mkDerivation {
+       pname = "hosts-server";
+       version = "0.1.1";
+       sha256 = "1g5kga58c5iqm3svs2d0d2akkibxjnh0hc1jjhjf7dzxghg2paqy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring data-default dns iproute network
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/yihuang/hosts-server";
+       description = "An dns server which is extremely easy to config";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hothasktags" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, cpphs, filepath
+     , haskell-src-exts
+     }:
+     mkDerivation {
+       pname = "hothasktags";
+       version = "0.3.3";
+       sha256 = "1nyr77lm813v521fhhsd3zf7hlpad70g1aj729plrwaxj8c0cizl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers cpphs filepath haskell-src-exts
+       ];
+       homepage = "http://github.com/luqui/hothasktags";
+       description = "Generates ctags for Haskell, incorporating import lists and qualified imports";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hotswap" = callPackage
+    ({ mkDerivation, base, plugins }:
+     mkDerivation {
+       pname = "hotswap";
+       version = "0.1.9.13";
+       sha256 = "1c614gvwypfqaj4gqsdimqq40i34w393vikq5hhy3d4qll2qp8hv";
+       buildDepends = [ base plugins ];
+       jailbreak = true;
+       homepage = "https://github.com/mikeplus64/hotswap";
+       description = "Simple code hotswapping";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hourglass" = callPackage
+    ({ mkDerivation, base, deepseq, mtl, old-locale, tasty, tasty-hunit
+     , tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "hourglass";
+       version = "0.2.9";
+       sha256 = "1xha17nwzxdjizbcp63d2142c6q051y77facs7xribgcl5iz2m4v";
+       buildDepends = [ base deepseq ];
+       testDepends = [
+         base deepseq mtl old-locale tasty tasty-hunit tasty-quickcheck time
+       ];
+       homepage = "https://github.com/vincenthz/hs-hourglass";
+       description = "simple performant time related library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hp2any-core" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, filepath, network, old-locale, process, time
+     }:
+     mkDerivation {
+       pname = "hp2any-core";
+       version = "0.11.2";
+       sha256 = "1gmw9bggw8hsp6pi0xgrryf0sqjb1aaxbwh85q5h72h4ixskwn1y";
+       buildDepends = [
+         attoparsec base bytestring containers directory filepath network
+         old-locale process time
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Hp2any";
+       description = "Heap profiling helper library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hp2any-graph" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , freeglut, GLUT, hp2any-core, mesa, network, OpenGL, parseargs
+     , process
+     }:
+     mkDerivation {
+       pname = "hp2any-graph";
+       version = "0.5.4.2";
+       sha256 = "1yj1miqn265pxq2dfhx87s20vjnnxmsl3d9xdy88cbzglpx2v9il";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath GLUT hp2any-core
+         network OpenGL parseargs process
+       ];
+       extraLibraries = [ freeglut mesa ];
+       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;
+     }) { inherit (pkgs) freeglut;  inherit (pkgs) mesa;};
+
+  "hp2any-manager" = callPackage
+    ({ mkDerivation, array, base, bytestring, cairo, containers
+     , directory, filepath, glade, glib, gtk, gtkglext, hp2any-core
+     , hp2any-graph, OpenGL, time
+     }:
+     mkDerivation {
+       pname = "hp2any-manager";
+       version = "0.4.6";
+       sha256 = "143j3ylvzyq1s2l357vzqrwdcgg6rqhnmv0awb3nvm66c9smaarv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cairo containers directory filepath glade
+         glib gtk gtkglext hp2any-core hp2any-graph OpenGL time
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Hp2any";
+       description = "A utility to visualise and compare heap profiles";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hp2html" = callPackage
+    ({ mkDerivation, base, containers, filepath }:
+     mkDerivation {
+       pname = "hp2html";
+       version = "0.2";
+       sha256 = "11v0w5406d9lql5jaj2kwrvdgai9y76kbdlwpjnn2wjn36b8hdwa";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers filepath ];
+       description = "A tool for converting GHC heap-profiles to HTML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hp2pretty" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , filepath, floatshow, mtl
+     }:
+     mkDerivation {
+       pname = "hp2pretty";
+       version = "0.5";
+       sha256 = "1kjfvp29s8wwdwpkqx47qpqy5ybl1ynx42idraarngcv8i9bzfgm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array attoparsec base bytestring containers filepath floatshow mtl
+       ];
+       homepage = "http://gitorious.org/hp2pretty";
+       description = "generate pretty graphs from heap profiles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hpaco" = callPackage
+    ({ mkDerivation, aeson, base, cmdargs, filepath, hpaco-lib, strict
+     , utf8-string, yaml
+     }:
+     mkDerivation {
+       pname = "hpaco";
+       version = "0.28.0.5";
+       sha256 = "03h634wwyj4d5ycvn7nmm94qcxwq9vayd7d9l44hqhka1ach4sx9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base cmdargs filepath hpaco-lib strict utf8-string yaml
+       ];
+       homepage = "https://bitbucket.org/tdammers/hpaco";
+       description = "Modular template compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hpaco-lib" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-variant
+     , file-embed, filepath, mtl, parsec, safe, split, strict
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hpaco-lib";
+       version = "0.28.0.5";
+       sha256 = "1n6lmkip1is6y4x5vivqv30if5di8cy35l6fs2kyg8wjxcqcsyqm";
+       buildDepends = [
+         aeson base bytestring containers data-variant file-embed filepath
+         mtl parsec safe split strict transformers
+       ];
+       homepage = "https://bitbucket.org/tdammers/hpaco";
+       description = "Modular template compiler library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hpage" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cabal-macosx, containers
+     , directory, eprocess, filepath, FindBin, haskell-src-exts, hint
+     , hint-server, monad-loops, mtl, process, time, wx, wxcore
+     }:
+     mkDerivation {
+       pname = "hpage";
+       version = "0.12.2";
+       sha256 = "0sl2qh3l5vbijln2al7vmvxm4zhn3qsz8axvprs6jxjfbndmk78j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal cabal-macosx containers directory eprocess
+         filepath FindBin haskell-src-exts hint hint-server monad-loops mtl
+         process time wx wxcore
+       ];
+       jailbreak = true;
+       homepage = "http://haskell.hpage.com";
+       description = "A scrapbook for Haskell developers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpapi" = callPackage
+    ({ mkDerivation, base, papi }:
+     mkDerivation {
+       pname = "hpapi";
+       version = "0.0.1.0";
+       sha256 = "0n07nr6mm9ssf632h30s6bqxsgvlfzpr39dhdl7vwrfyj2jvdg2s";
+       buildDepends = [ base ];
+       extraLibraries = [ papi ];
+       description = "Binding for the PAPI library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { papi = null;};
+
+  "hpaste" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
+     , bytestring, cgi, ConfigFile, containers, css, Diff, directory
+     , download-curl, feed, filepath, haskell-src-exts, HJScript, hlint
+     , hscolour, mime-mail, MissingH, MonadCatchIO-transformers, mtl
+     , named-formlet, network, old-locale, postgresql-simple, process
+     , safe, snap-app, snap-core, snap-server, text, time, transformers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hpaste";
+       version = "1.2.0";
+       sha256 = "1p8dfqm93598zcnz1ksj8px6l8i7kfn9514d68gx7qxvd4xw0fnm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder blaze-html blaze-markup bytestring cgi
+         ConfigFile containers css Diff directory download-curl feed
+         filepath haskell-src-exts HJScript hlint hscolour mime-mail
+         MissingH MonadCatchIO-transformers mtl named-formlet network
+         old-locale postgresql-simple process safe snap-app snap-core
+         snap-server text time transformers utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://hpaste.org/";
+       description = "Haskell paste web site";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpasteit" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath
+     , http-conduit, http-types, lifted-base, network
+     , optparse-applicative, process, safe, utf8-string
+     }:
+     mkDerivation {
+       pname = "hpasteit";
+       version = "0.3.3";
+       sha256 = "1jj5q1gpnajnafikwf9jmayvaimi5486fvi90fk8q4b3lg7z9awm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath http-conduit http-types
+         lifted-base network optparse-applicative process safe utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/parcs/hpasteit";
+       description = "A command-line client for hpaste.org";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpc_0_6_0_2" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, time }:
+     mkDerivation {
+       pname = "hpc";
+       version = "0.6.0.2";
+       sha256 = "1bqa9jmnjqk4jbvx2y90rz717hf2rhzbpmy9xqan97pyrkjz3rlm";
+       buildDepends = [ base containers directory filepath time ];
+       description = "Code Coverage Library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hpc-coveralls" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, cmdargs
+     , containers, curl, directory, directory-tree, hpc, HUnit, process
+     , pureMD5, regex-posix, retry, safe, split
+     }:
+     mkDerivation {
+       pname = "hpc-coveralls";
+       version = "0.9.0";
+       sha256 = "0ika073kkm8kivd0m2dhb7ysk5h7q9vsj02xf4azh3c4xpvw4086";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base bytestring cmdargs containers curl directory
+         directory-tree hpc process pureMD5 regex-posix retry safe split
+       ];
+       testDepends = [ base HUnit ];
+       homepage = "https://github.com/guillaume-nargeot/hpc-coveralls";
+       description = "Coveralls.io support for Haskell.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpc-strobe" = callPackage
+    ({ mkDerivation, base, filepath, hpc }:
+     mkDerivation {
+       pname = "hpc-strobe";
+       version = "0.1";
+       sha256 = "1fgw4pf72684mi7s5pqvfj75s8y004rxf3ww377kyrlw1mb7405c";
+       buildDepends = [ base filepath hpc ];
+       description = "Hpc-generated strobes for a running Haskell program";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hpc-tracer" = callPackage
+    ({ mkDerivation, array, base, containers, haskell98, hpc, network
+     , parsec, pretty, process, unix
+     }:
+     mkDerivation {
+       pname = "hpc-tracer";
+       version = "0.3.1";
+       sha256 = "1mahyall1p96nc8z270002cdk8is9ahrd0zn0663w36ic158i3li";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers haskell98 hpc network parsec pretty process
+         unix
+       ];
+       description = "Tracer with AJAX interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hplayground" = callPackage
+    ({ mkDerivation, base, containers, data-default, haste-compiler
+     , haste-perch, monads-tf, transformers
+     }:
+     mkDerivation {
+       pname = "hplayground";
+       version = "0.1.2.9";
+       sha256 = "090j08ygfjsmhyfdg0azl0qwfm0i96yyk67xnwyv1as56r2pvn6r";
+       buildDepends = [
+         base containers data-default haste-compiler haste-perch monads-tf
+         transformers
+       ];
+       homepage = "https://github.com/agocorona/hplayground";
+       description = "monadic, reactive Formlets running in the Web browser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hplaylist" = callPackage
+    ({ mkDerivation, base, directory, filepath, process }:
+     mkDerivation {
+       pname = "hplaylist";
+       version = "0.2";
+       sha256 = "01xkpsb8fjlifdz6fckwfawj1s5c4rs4slizcdr1hpij6mcdcg6y";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath process ];
+       description = "Application for managing playlist files on a music player";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpodder" = callPackage
+    ({ mkDerivation, base, ConfigFile, directory, filepath, HaXml, HDBC
+     , HDBC-sqlite3, hslogger, MissingH, mtl, network, old-time, parsec
+     , process, unix
+     }:
+     mkDerivation {
+       pname = "hpodder";
+       version = "1.1.6";
+       sha256 = "0gi94phkqxffxf3sq5al3cmn3zhc9vz6jql4hjsvz5nbhpdjhwda";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile directory filepath HaXml HDBC HDBC-sqlite3 hslogger
+         MissingH mtl network old-time parsec process unix
+       ];
+       jailbreak = true;
+       homepage = "http://software.complete.org/hpodder";
+       description = "Podcast Aggregator (downloader)";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpqtypes" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , exceptions, HUnit, lifted-base, monad-control, mtl, postgresql
+     , QuickCheck, random, resource-pool, test-framework
+     , test-framework-hunit, text, time, transformers, transformers-base
+     , vector
+     }:
+     mkDerivation {
+       pname = "hpqtypes";
+       version = "1.4.0";
+       sha256 = "0sq4abqqqq71yw2rgpx5xmm7h8fhcj654vbkhb4wlgi1g5kj9kh1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-default-class exceptions HUnit
+         lifted-base monad-control mtl QuickCheck random resource-pool
+         test-framework test-framework-hunit text time transformers
+         transformers-base vector
+       ];
+       extraLibraries = [ postgresql ];
+       description = "Haskell bindings to libpqtypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) postgresql;};
+
+  "hprotoc" = 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.0.17";
+       sha256 = "1mfmbggjnpmdpv6a9yhwyplf4g1n45s089qjwhvy1p6drn4mk3hp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory filepath
+         haskell-src-exts mtl parsec protocol-buffers
+         protocol-buffers-descriptor utf8-string
+       ];
+       buildTools = [ alex ];
+       homepage = "http://code.haskell.org/protocol-buffers/";
+       description = "Parse Google Protocol Buffer specifications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hprotoc-fork" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , directory, filepath, haskell-src-exts, mtl, parsec
+     , protocol-buffers-descriptor-fork, protocol-buffers-fork
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hprotoc-fork";
+       version = "2.0.16.1";
+       sha256 = "1fbpdi4mcc66z3ina01dkqxhy8slcjs4irh03ll2msp6p5vdqw9r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory filepath
+         haskell-src-exts mtl parsec protocol-buffers-descriptor-fork
+         protocol-buffers-fork utf8-string
+       ];
+       buildTools = [ alex ];
+       jailbreak = true;
+       homepage = "http://darcs.factisresearch.com/pub/protocol-buffers-fork/";
+       description = "Parse Google Protocol Buffer specifications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hps" = callPackage
+    ({ mkDerivation, base, directory, filepath, hcg-minus, random }:
+     mkDerivation {
+       pname = "hps";
+       version = "0.15";
+       sha256 = "0kmmrjg93rr6cjmg5n821p00qr4m3q46nnyfhql2s2nf20p7kprh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath hcg-minus random ];
+       homepage = "http://rd.slavepianos.org/?t=hps";
+       description = "Haskell Postscript";
+       license = "GPL";
+     }) {};
+
+  "hps-cairo" = callPackage
+    ({ mkDerivation, base, cairo, gtk, hps, random }:
+     mkDerivation {
+       pname = "hps-cairo";
+       version = "0.11";
+       sha256 = "1xyk0q6qiqcqd849km86jns4bcfmyrvikg0zw44929wlmlbf0hg7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cairo gtk hps random ];
+       jailbreak = true;
+       homepage = "http://slavepianos.org/rd/?t=hps-cairo";
+       description = "Cairo rendering for the haskell postscript library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hps-kmeans" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "hps-kmeans";
+       version = "0.1.0.0";
+       sha256 = "0w1yyrv4k7fi016084j4k1lh6jgxg5502r83zszr9cjc6rraj8fc";
+       buildDepends = [ base vector ];
+       jailbreak = true;
+       homepage = "http://stathacking.com/hps-kmeans";
+       description = "A nice implementation of the k-Means algorithm";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hpuz" = callPackage
+    ({ mkDerivation, array, base, bytestring, c2hs, parsec }:
+     mkDerivation {
+       pname = "hpuz";
+       version = "1.1.2";
+       sha256 = "04k9hdbc3ipn9z0qzzpm6xsiv0bkr1v48sfs2haapawd49bw7rhk";
+       buildDepends = [ array base bytestring parsec ];
+       buildTools = [ c2hs ];
+       homepage = "https://github.com/ccasin/hpuz";
+       description = "Haskell bindings for libpuz";
+       license = "unknown";
+     }) {};
+
+  "hpygments" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, process, process-extras
+     }:
+     mkDerivation {
+       pname = "hpygments";
+       version = "0.1.3";
+       sha256 = "1hb9yslb94ynzlphsp0i4f547zqxblrj49hqy4d7zivdqp38lqla";
+       buildDepends = [ aeson base bytestring process process-extras ];
+       jailbreak = true;
+       homepage = "https://github.com/davidlazar/hpygments";
+       description = "Highlight source code using Pygments";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpylos" = callPackage
+    ({ mkDerivation, array, base, containers, EEConfig, GLUT, OpenGL }:
+     mkDerivation {
+       pname = "hpylos";
+       version = "1.0";
+       sha256 = "1vdpy9x3bg43zj9rcrnkz0jfsd9mrp4k5y2hn6jb2ar2bvq0iwha";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers EEConfig GLUT OpenGL ];
+       homepage = "http://sourceforge.net/projects/hpylos/";
+       description = "AI of Pylos game with GLUT interface";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpyrg" = callPackage
+    ({ mkDerivation, base, lens, optparse-applicative, parsec, text }:
+     mkDerivation {
+       pname = "hpyrg";
+       version = "0.1.0.0";
+       sha256 = "00ddyiznx07qkh3s4qjls39x991fqxvdw2bj245ypbxpxsk9fvsw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base lens optparse-applicative parsec text ];
+       description = "pyrg utility done right";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hquantlib" = callPackage
+    ({ mkDerivation, base, containers, hmatrix, hmatrix-gsl
+     , hmatrix-special, HUnit, mersenne-random, parallel, QuickCheck
+     , statistics, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "hquantlib";
+       version = "0.0.2.5";
+       sha256 = "1n84j2bha8cgv38rl8jxsjiybwws2sc60x8pjmnkn83jpscgcqv0";
+       buildDepends = [
+         base containers hmatrix hmatrix-gsl hmatrix-special mersenne-random
+         parallel statistics time vector vector-algorithms
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       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
+    ({ mkDerivation, base, bytestring, containers, filepath, HUnit
+     , parsec, test-framework, test-framework-hunit, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "hquery";
+       version = "0.1.1.0";
+       sha256 = "0phlbbvkifw65ndjb4nc8ar0xx6z4sqn8xj41bg8qgr31ffpcjf8";
+       buildDepends = [ base containers parsec text xmlhtml ];
+       testDepends = [
+         base bytestring filepath HUnit parsec test-framework
+         test-framework-hunit text xmlhtml
+       ];
+       description = "A query language for transforming HTML5";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hranker" = callPackage
+    ({ mkDerivation, base, HCL, NonEmpty }:
+     mkDerivation {
+       pname = "hranker";
+       version = "0.1.1";
+       sha256 = "0hg2qjjr5pcnx62382r3d3rqvb3z7h1926lpym68869n4s19wz7d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HCL NonEmpty ];
+       description = "Basic utility for ranking a list of items";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hricket" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hricket";
+       version = "0.5";
+       sha256 = "1zhp9w0rki3chb27jbzvwifsgcjxzczn3q7hh7g3d0akfbg1v47f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       homepage = "http://github.com/Raynes/Hricket";
+       description = "A Cricket scoring application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hruby" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, QuickCheck
+     , scientific, stm, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hruby";
+       version = "0.3.1";
+       sha256 = "1w13j70r6b66nyjj2fsa1z1m5p8v0zil6jf31x0h0f222x4fvmih";
+       buildDepends = [
+         aeson attoparsec base bytestring scientific stm text
+         unordered-containers vector
+       ];
+       testDepends = [ aeson attoparsec base QuickCheck text vector ];
+       description = "Embed a Ruby intepreter in your Haskell program !";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-GeoIP" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, GeoIP }:
+     mkDerivation {
+       pname = "hs-GeoIP";
+       version = "0.3";
+       sha256 = "135bl4cjijq6mr485waz7aaxgkaji2fsdjhdy4v4756q6ahzcpwf";
+       buildDepends = [ base bytestring deepseq ];
+       extraLibraries = [ GeoIP ];
+       homepage = "http://github.com/ozataman/hs-GeoIP";
+       description = "Haskell bindings to the MaxMind GeoIPCity database via the C library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { GeoIP = null;};
+
+  "hs-bibutils" = callPackage
+    ({ mkDerivation, base, syb }:
+     mkDerivation {
+       pname = "hs-bibutils";
+       version = "5.5";
+       sha256 = "0pf5lh179rw9jkmw16ss3kiwydlj6zgfk868mjl5s57kx55z7ycm";
+       buildDepends = [ base syb ];
+       homepage = "http://istitutocolli.org/repos/hs-bibutils/";
+       description = "Haskell bindings to bibutils, the bibliography conversion utilities";
+       license = "GPL";
+     }) {};
+
+  "hs-blake2" = callPackage
+    ({ mkDerivation, b2, base, bytestring, bytestring-arbitrary
+     , QuickCheck, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "hs-blake2";
+       version = "0.0.2";
+       sha256 = "0i0yqci0z5gqmpgb0gk76grcd8mn7xql6gjalm78z6cl84vzsgh4";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         b2 base bytestring bytestring-arbitrary QuickCheck tasty
+         tasty-quickcheck
+       ];
+       extraLibraries = [ b2 ];
+       homepage = "https://github.com/tsuraan/hs-blake2";
+       description = "A cryptohash-inspired library for blake2";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { b2 = null;};
+
+  "hs-captcha" = callPackage
+    ({ mkDerivation, base, bytestring, gd, random }:
+     mkDerivation {
+       pname = "hs-captcha";
+       version = "1.0";
+       sha256 = "02dd7kli8nm01jxs0p8imqvbdr4yzqizi6bwyyr228p3wscbdsn8";
+       buildDepends = [ base bytestring gd random ];
+       homepage = "http://www.dankna.com/software/";
+       description = "Generate images suitable for use as CAPTCHAs in online web-form security";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs-carbon" = callPackage
+    ({ mkDerivation, base, deepseq, HUnit, mtl, parallel, random }:
+     mkDerivation {
+       pname = "hs-carbon";
+       version = "0.1.0.0";
+       sha256 = "0i6jzqqlayxi1aqkrsdlb9kbj6ysj2qxr0rbmdw66zr5hinm345v";
+       buildDepends = [ base deepseq mtl parallel random ];
+       testDepends = [ base HUnit ];
+       description = "A Haskell framework for parallel monte carlo simulations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hs-carbon-examples" = callPackage
+    ({ mkDerivation, base, deepseq, gloss, hs-carbon, monad-loops, mtl
+     , tf-random
+     }:
+     mkDerivation {
+       pname = "hs-carbon-examples";
+       version = "0.0.0.1";
+       sha256 = "1hcg6z3slzry4lkxnv5bllmlfsr50hcyxmpz3qhsb487j9r76c2z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base deepseq gloss hs-carbon monad-loops mtl tf-random
+       ];
+       description = "Example Monte Carlo simulations implemented with Carbon";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-cdb" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-mmap
+     , directory, filepath, mtl
+     }:
+     mkDerivation {
+       pname = "hs-cdb";
+       version = "0.1.1";
+       sha256 = "07pkz35mmk7qaa9ahfxmj4dddja23ksn7dm1fp8g9v8z8d9r9zl0";
+       buildDepends = [
+         array base bytestring bytestring-mmap directory filepath mtl
+       ];
+       homepage = "http://github.com/adamsmasher/hs-cdb";
+       description = "A library for reading CDB (Constant Database) files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-dotnet" = callPackage
+    ({ mkDerivation, base, ghc-prim, ole32, oleaut32 }:
+     mkDerivation {
+       pname = "hs-dotnet";
+       version = "0.4.0";
+       sha256 = "1l2h1zv63c25k80gljnan3vg2r25a4b7byf5yryj3cjwa9xcg457";
+       buildDepends = [ base ghc-prim ];
+       extraLibraries = [ ole32 oleaut32 ];
+       description = "Pragmatic .NET interop for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { ole32 = null;  oleaut32 = null;};
+
+  "hs-excelx" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, text, time
+     , xml-conduit, zip-archive
+     }:
+     mkDerivation {
+       pname = "hs-excelx";
+       version = "0.6.0.0";
+       sha256 = "12hpfad8wn4r811md6269w10inx6nbipryhn8vdhbbcj9mmda3l5";
+       buildDepends = [
+         base bytestring containers mtl text time xml-conduit zip-archive
+       ];
+       jailbreak = true;
+       description = "HS-Excelx provides basic read-only access to Excel 2007 and 2010 documents in XLSX format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs-ffmpeg" = callPackage
+    ({ mkDerivation, base, bytestring, haskell98 }:
+     mkDerivation {
+       pname = "hs-ffmpeg";
+       version = "0.3.4";
+       sha256 = "0j52drd3pb6ssgngfqxdsvvjjnx11nsmxwjsin6cmbv0nifpyq51";
+       buildDepends = [ base bytestring haskell98 ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/VasylPasternak/hs-ffmpeg";
+       description = "Bindings to FFMPEG library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-fltk" = callPackage
+    ({ mkDerivation, base, fltk, fltk_images }:
+     mkDerivation {
+       pname = "hs-fltk";
+       version = "0.2.5";
+       sha256 = "0nbxfy219mz0k27d16r3ir7hk0j450gxba9wrvrz1j17mr3gvqzx";
+       buildDepends = [ base ];
+       extraLibraries = [ fltk fltk_images ];
+       homepage = "http://www.cs.helsinki.fi/u/ekarttun/hs-fltk/";
+       description = "Binding to GUI library FLTK";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { fltk = null;  fltk_images = null;};
+
+  "hs-gchart" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "hs-gchart";
+       version = "0.4.1";
+       sha256 = "0nmykgdzkqidxv51bhlcn4zax4zfw26s4l65z3a3405si2s5x459";
+       buildDepends = [ base mtl ];
+       homepage = "http://github.com/deepakjois/hs-gchart";
+       description = "Haskell wrapper for the Google Chart API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs-gen-iface" = callPackage
+    ({ mkDerivation, base, Cabal, containers, filepath, haskell-names
+     , haskell-packages, haskell-src-exts, hse-cpp, mtl, tagged
+     }:
+     mkDerivation {
+       pname = "hs-gen-iface";
+       version = "0.5.0";
+       sha256 = "1mvzpn7zpk5ffyyqh214yd315dcis8zmm9p4m5099bqhfr735kws";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers filepath haskell-names haskell-packages
+         haskell-src-exts hse-cpp mtl tagged
+       ];
+       description = "Utility to generate haskell-names interface files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hs-gizapp" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, parsec
+     , process
+     }:
+     mkDerivation {
+       pname = "hs-gizapp";
+       version = "0.1.0.3";
+       sha256 = "1j7ws3jm52n910p08432k60w09971bpcz4j5w48a305nz1dbkscm";
+       buildDepends = [
+         base containers directory filepath parsec process
+       ];
+       jailbreak = true;
+       description = "Haskell wrapper around the GIZA++ toolkit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs-inspector" = callPackage
+    ({ mkDerivation, base, haskell-src, hspec }:
+     mkDerivation {
+       pname = "hs-inspector";
+       version = "0.3.0.0";
+       sha256 = "0nr7g8z70cgxfzqqs331aj1f11va0hjd0am83hm8iwmyrqv9rbk1";
+       buildDepends = [ base haskell-src ];
+       testDepends = [ base haskell-src hspec ];
+       description = "Haskell source code analyzer";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hs-java" = callPackage
+    ({ mkDerivation, array, base, binary, binary-state, bytestring
+     , containers, control-monad-exception, data-binary-ieee754
+     , data-default, directory, filepath, Glob, LibZip, MissingH, mtl
+     , parsec, utf8-string
+     }:
+     mkDerivation {
+       pname = "hs-java";
+       version = "0.3.4";
+       sha256 = "1qv6zwp9fws9s6502d9afwwbsh025xfpw4vsq8wgh2i0gvlskzq7";
+       buildDepends = [
+         array base binary binary-state bytestring containers
+         control-monad-exception data-binary-ieee754 data-default directory
+         filepath Glob LibZip MissingH mtl parsec utf8-string
+       ];
+       description = "Java .class files assembler/disassembler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs-json-rpc" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HTTP, network, text }:
+     mkDerivation {
+       pname = "hs-json-rpc";
+       version = "0.0.0.1";
+       sha256 = "0qlzylkplcb0bvh7pd8mwmc0pg69jjh8229a1hg3rhaix08mmj3c";
+       buildDepends = [ aeson base bytestring HTTP network text ];
+       homepage = "http://patch-tag.com/r/Azel/hs-json-rpc";
+       description = "JSON-RPC client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-logo" = callPackage
+    ({ mkDerivation, base, cmdargs, colour, containers, diagrams-core
+     , diagrams-lib, diagrams-svg, HUnit, mtl, parsec, parsec-numbers
+     , QuickCheck, random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hs-logo";
+       version = "0.5.1";
+       sha256 = "0ypr4jpc12f771g3gsahbj0yjzd0ns8mmwjl90knwg267d712i13";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs colour containers diagrams-core diagrams-lib
+         diagrams-svg mtl parsec parsec-numbers random
+       ];
+       testDepends = [
+         base cmdargs colour containers diagrams-core diagrams-lib
+         diagrams-svg HUnit mtl parsec parsec-numbers QuickCheck random
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://deepakjois.github.com/hs-logo";
+       description = "Logo interpreter written in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-mesos" = callPackage
+    ({ mkDerivation, base, bytestring, lens, managed, mesos, protobuf
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "hs-mesos";
+       version = "0.20.2.0";
+       sha256 = "1vnfmb5mnp3wsbd7s1ls6rz0ywlirykdx7dclkxcc3rh1y0mxp1n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring lens managed template-haskell ];
+       testDepends = [
+         base bytestring lens managed QuickCheck tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       extraLibraries = [ mesos protobuf ];
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) mesos;  inherit (pkgs) protobuf;};
+
+  "hs-nombre-generator" = callPackage
+    ({ mkDerivation, base, HandsomeSoup, hxt, random }:
+     mkDerivation {
+       pname = "hs-nombre-generator";
+       version = "0.2.1.0";
+       sha256 = "1bk278ni5bk8qcc8mbb7h26g9k5hcdl4h1ilrh8prc0kvngz8g4w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HandsomeSoup hxt random ];
+       description = "Name generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hs-pgms" = callPackage
+    ({ mkDerivation, array, base, directory, glib, gtk, MonadPrompt
+     , mtl, random
+     }:
+     mkDerivation {
+       pname = "hs-pgms";
+       version = "0.1.0.1";
+       sha256 = "064sk0g8mzkqm80hfxg03qn6g1awydlw15ylikk3rs4wf7fclw30";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base directory glib gtk MonadPrompt mtl random
+       ];
+       description = "Programmer's Mine Sweeper in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-php-session" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "hs-php-session";
+       version = "0.0.9.3";
+       sha256 = "1xwdikiqy2dxyzr6wx51wy51vifsvshblx7kkhfqd7izjf87ww8f";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/elblake/hs-php-session";
+       description = "PHP session and values serialization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs-pkg-config" = callPackage
+    ({ mkDerivation, base, data-default-class, text }:
+     mkDerivation {
+       pname = "hs-pkg-config";
+       version = "0.2.1.0";
+       sha256 = "09v2kp643asl3zpv8rbb8a7zv0h3bn5l4gxz44d71kly9qr3jkhh";
+       buildDepends = [ base data-default-class text ];
+       homepage = "https://github.com/trskop/hs-pkg-config";
+       description = "Create pkg-config configuration files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs-pkpass" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit
+     , directory, filesystem-conduit, old-locale, random
+     , shakespeare-text, shelly, system-filepath, text, time
+     , transformers, unordered-containers, uuid, zip-archive
+     }:
+     mkDerivation {
+       pname = "hs-pkpass";
+       version = "0.4";
+       sha256 = "01jcl2ia8p29gg5yazpxm6cdxyskl6z895lmgh888qkf9jlzf5mf";
+       buildDepends = [
+         aeson attoparsec base bytestring conduit directory
+         filesystem-conduit old-locale random shakespeare-text shelly
+         system-filepath text time transformers unordered-containers uuid
+         zip-archive
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tazjin/hs-pkpass";
+       description = "A library for Passbook pass creation & signing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-re" = callPackage
+    ({ mkDerivation, array, base, regex-base, regex-posix }:
+     mkDerivation {
+       pname = "hs-re";
+       version = "0.1.0";
+       sha256 = "0rx7shfjyi9k910mvzskykqxnijl8rrh08c0bkqlmqwisyhl7wbb";
+       buildDepends = [ array base regex-base regex-posix ];
+       description = "Easy to use Regex";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hs-scrape" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , exceptions, hspec, html-conduit, lens, retry, safe, tasty
+     , tasty-hunit, text, transformers, url, wreq, xml-conduit
+     }:
+     mkDerivation {
+       pname = "hs-scrape";
+       version = "0.1.0.0";
+       sha256 = "0w5zrd7xj3ccw4xkdsq20j1ki2j8sy3glzijsq5m2227szwv7y6v";
+       buildDepends = [
+         base bytestring containers data-default exceptions hspec
+         html-conduit lens retry safe text transformers url wreq xml-conduit
+       ];
+       testDepends = [
+         base containers hspec tasty tasty-hunit xml-conduit
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/codygman/hs-scrape/";
+       description = "Simple and easy web scraping and automation in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hs-twitter" = callPackage
+    ({ mkDerivation, base, HTTP, json, mime, network, old-locale
+     , old-time, random, utf8-string
+     }:
+     mkDerivation {
+       pname = "hs-twitter";
+       version = "0.2.8";
+       sha256 = "1r8bd5q7d5mxmd6012mpp1yx353wzib174xd9v0mvkbb009b4mph";
+       buildDepends = [
+         base HTTP json mime network old-locale old-time random utf8-string
+       ];
+       description = "Haskell binding to the Twitter API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-twitterarchiver" = callPackage
+    ({ mkDerivation, base, HTTP, json, mtl, network, pretty }:
+     mkDerivation {
+       pname = "hs-twitterarchiver";
+       version = "0.2";
+       sha256 = "077mc8dn2f6x3s29pm80qi7mj6s2crdhky0vygzfqd8v23gmhqcg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HTTP json mtl network pretty ];
+       homepage = "https://github.com/deepakjois/hs-twitterarchiver";
+       description = "Commandline Twitter feed archiver";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs-vcard" = callPackage
+    ({ mkDerivation, base, old-locale, time }:
+     mkDerivation {
+       pname = "hs-vcard";
+       version = "0.1";
+       sha256 = "0qb7gsbki3ciqddxp9j46rnx64vv622n2p9vidv1b000wbmmrz15";
+       buildDepends = [ base old-locale time ];
+       homepage = "http://qrcard.us/";
+       description = "Implements the RFC 2426 vCard 3.0 spec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hs2048" = callPackage
+    ({ mkDerivation, base, doctest, Glob, hlint, hspec, HUnit, process
+     , QuickCheck, random, regex-compat
+     }:
+     mkDerivation {
+       pname = "hs2048";
+       version = "0.1.0";
+       sha256 = "1hm9lwhq1b8i04gl3z2iw6g67slrjcrymp2fxxvykxgkff6dmkps";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base random ];
+       testDepends = [
+         base doctest Glob hlint hspec HUnit process QuickCheck random
+         regex-compat
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tfausak/hs2048";
+       description = "A 2048 clone in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hs2bf" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , haskell-src, mtl
+     }:
+     mkDerivation {
+       pname = "hs2bf";
+       version = "0.6.2";
+       sha256 = "1lx0px0gicwry5i4rwgzz6jasjhp24f620w2iby9xpbvn6h3zflm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath haskell-src mtl
+       ];
+       homepage = "http://www.xanxys.net/hs2bf/";
+       description = "Haskell to Brainfuck compiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hs2dot" = callPackage
+    ({ mkDerivation, base, directory, haskell-src, haskell-src-exts
+     , haskell98, split
+     }:
+     mkDerivation {
+       pname = "hs2dot";
+       version = "0.1.4";
+       sha256 = "0pfbclqpndlnxnvs630q8x272q13z9dfp35gp9dj6m527x78fapx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory haskell-src haskell-src-exts haskell98 split
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/finnsson/hs2graphviz";
+       description = "Generate graphviz-code from Haskell-code";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsConfigure" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, unix }:
+     mkDerivation {
+       pname = "hsConfigure";
+       version = "0.1.0.2";
+       revision = "2";
+       sha256 = "199sza2jh3d5046yyb141b0jwh1m1p68hv4x3b5xz6vw9dzfbw3c";
+       editedCabalFile = "ab3264ebf799e07e40fd913b9061197b346a7d84145908566155231e62a45c02";
+       buildDepends = [ base directory filepath process unix ];
+       homepage = "http://github.com/YoshikuniJujo/hsConfigure/wiki";
+       description = "By using this package, you can make application configurable";
+       license = "LGPL";
+     }) {};
+
+  "hsSqlite3" = callPackage
+    ({ mkDerivation, base, bindings-sqlite3, bytestring, mtl
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "hsSqlite3";
+       version = "0.1";
+       sha256 = "0wmsswccwcz2zd3zap0wsapzbya72cxdyzhlcch4akvwqcl9hz6a";
+       buildDepends = [
+         base bindings-sqlite3 bytestring mtl utf8-string
+       ];
+       jailbreak = true;
+       description = "Sqlite3 bindings";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsXenCtrl" = callPackage
+    ({ mkDerivation, array, base, bytestring, dlist, mtl, xenctrl }:
+     mkDerivation {
+       pname = "hsXenCtrl";
+       version = "0.2.0";
+       sha256 = "0zxmlyckp9c0i5s8vi62d3qvnilh8kl093ckqr7dchgmki4az7rp";
+       buildDepends = [ array base bytestring dlist mtl ];
+       extraLibraries = [ xenctrl ];
+       jailbreak = true;
+       homepage = "http://haskell.org/haskellwiki/HsXenCtrl";
+       description = "FFI bindings to the Xen Control library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { xenctrl = null;};
+
+  "hsay" = callPackage
+    ({ mkDerivation, base, Hclip, HTTP, process, unix }:
+     mkDerivation {
+       pname = "hsay";
+       version = "1.1.0";
+       sha256 = "0qar7y4190dfv63jmzx8saxqxzh73spc2q3i6pqywdbv7zb6zvrl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Hclip HTTP process unix ];
+       description = "(ab)Use Google Translate as a speech synthesiser";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hsb2hs" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , preprocessor-tools
+     }:
+     mkDerivation {
+       pname = "hsb2hs";
+       version = "0.2";
+       sha256 = "013n3l80449wxmbfmcidg8mdjk4nkxv7s3jcbfy5g4jps6gsg1fx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath preprocessor-tools
+       ];
+       description = "Preprocesses a file, adding blobs from files as string literals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsbackup" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, directory, filepath
+     , hashed-storage, old-locale, strict, time
+     }:
+     mkDerivation {
+       pname = "hsbackup";
+       version = "0.1.1";
+       sha256 = "1g1lb43f7cdm5fjmdd64n9vl2nxlm8jpng94hyyldwv8a6x7555z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs directory filepath hashed-storage
+         old-locale strict time
+       ];
+       description = "simple utility for rolling filesystem backups";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsbencher" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, data-default
+     , directory, filepath, GenericPretty, HUnit, io-streams, mtl
+     , process, random, test-framework, test-framework-hunit, text, time
+     , unix
+     }:
+     mkDerivation {
+       pname = "hsbencher";
+       version = "1.20.0.3";
+       sha256 = "1qnj4zhq6j4cvnxcparm2xr9qc6l9q7j72h4dr5jz04lz8c2fkcl";
+       buildDepends = [
+         async base bytestring containers data-default directory filepath
+         GenericPretty io-streams mtl process random time unix
+       ];
+       testDepends = [
+         base bytestring containers directory HUnit test-framework
+         test-framework-hunit text time
+       ];
+       description = "Launch and gather data from Haskell and non-Haskell benchmarks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsbencher-codespeed" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , directory, filepath, hsbencher, HTTP, http-conduit, http-types
+     , json, mtl, network, resourcet, time
+     }:
+     mkDerivation {
+       pname = "hsbencher-codespeed";
+       version = "0.1";
+       sha256 = "1mq2d5sl0r6maw3sajqs3mcwmc37kr6pkf6qplpl5hskv8i3i7ni";
+       buildDepends = [
+         base bytestring containers data-default directory filepath
+         hsbencher HTTP http-conduit http-types json mtl network resourcet
+         time
+       ];
+       jailbreak = true;
+       description = "Backend for uploading benchmark data to CodeSpeed";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsbencher-fusion" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, csv
+     , data-default, directory, filepath, handa-gdata, hsbencher
+     , http-conduit, mtl, network, statistics, text, time
+     }:
+     mkDerivation {
+       pname = "hsbencher-fusion";
+       version = "0.3.4";
+       sha256 = "078jzxvlka273nlpfsl9l3sbga2qbnm9hqdprpaks1xrldzzg949";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers criterion csv data-default directory
+         filepath handa-gdata hsbencher http-conduit mtl network statistics
+         text time
+       ];
+       description = "Backend for uploading benchmark data to Google Fusion Tables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsc2hs" = callPackage
+    ({ mkDerivation, base, containers, directory, process }:
+     mkDerivation {
+       pname = "hsc2hs";
+       version = "0.67.20120610";
+       sha256 = "0kfvpsapgslxywpmqba5vcx79xmbj87dwg8fjjjk517x28wisivz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers directory process ];
+       jailbreak = true;
+       description = "A preprocessor that helps with writing Haskell bindings to C code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, data-default
+     , data-ordlist, directory, filepath, hashable, hosc, network
+     , process, random, safe, split, transformers
+     }:
+     mkDerivation {
+       pname = "hsc3";
+       version = "0.15";
+       sha256 = "1rmxl1wcly74bjkw79zw9ydmiclk5716w75b4nz8xkqraijiafrg";
+       buildDepends = [
+         base binary bytestring containers data-default data-ordlist
+         directory filepath hashable hosc network process random safe split
+         transformers
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3";
+       description = "Haskell SuperCollider";
+       license = "GPL";
+     }) {};
+
+  "hsc3-auditor" = callPackage
+    ({ mkDerivation, base, filepath, hmt, hosc, hsc3, hsc3-sf-hsndfile
+     }:
+     mkDerivation {
+       pname = "hsc3-auditor";
+       version = "0.15";
+       sha256 = "02p4y06p08mizdrbvl52364szksrwnx28s992prw8b2ilav11563";
+       buildDepends = [ base filepath hmt hosc hsc3 hsc3-sf-hsndfile ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-auditor";
+       description = "Haskell SuperCollider Auditor";
+       license = "GPL";
+     }) {};
+
+  "hsc3-cairo" = callPackage
+    ({ mkDerivation, base, cairo, gtk, hosc, hsc3, split }:
+     mkDerivation {
+       pname = "hsc3-cairo";
+       version = "0.14";
+       sha256 = "1f62mfjssky7igbp1nx2zf1azbih76m65xydnf5akp8pim7nzmis";
+       buildDepends = [ base cairo gtk hosc hsc3 split ];
+       jailbreak = true;
+       homepage = "http://rd.slavepianos.org/?t=hsc3-cairo";
+       description = "haskell supercollider cairo drawing";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-data" = callPackage
+    ({ mkDerivation, base, bifunctors, Glob, hcg-minus, hmt, hsc3-lang
+     , hsc3-plot, hsc3-sf-hsndfile, safe, split, SVGPath, xml
+     }:
+     mkDerivation {
+       pname = "hsc3-data";
+       version = "0.15";
+       sha256 = "0321rnajfiwldwwpns78im842hypykc1js7flnasld7al6m7487d";
+       buildDepends = [
+         base bifunctors Glob hcg-minus hmt hsc3-lang hsc3-plot
+         hsc3-sf-hsndfile safe split SVGPath xml
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-data";
+       description = "haskell supercollider data";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-db" = callPackage
+    ({ mkDerivation, base, hsc3, safe }:
+     mkDerivation {
+       pname = "hsc3-db";
+       version = "0.15";
+       sha256 = "0sj3hq0d8dl4m6fn75lvyr78sg283p6y13lg8yi2yrgz74kn4zbl";
+       buildDepends = [ base hsc3 safe ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-db";
+       description = "Haskell SuperCollider Unit Generator Database";
+       license = "GPL";
+     }) {};
+
+  "hsc3-dot" = callPackage
+    ({ mkDerivation, base, directory, filepath, hsc3, process }:
+     mkDerivation {
+       pname = "hsc3-dot";
+       version = "0.15";
+       sha256 = "1ck2g15zw23smry1xvn9ida8ln57vnvkxvr3khhp5didwisgm90m";
+       buildDepends = [ base directory filepath hsc3 process ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-dot";
+       description = "haskell supercollider graph drawing";
+       license = "GPL";
+     }) {};
+
+  "hsc3-forth" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hashable
+     , hosc, hsc3, hsc3-db, hsc3-dot, mtl, unix
+     }:
+     mkDerivation {
+       pname = "hsc3-forth";
+       version = "0.15";
+       sha256 = "0b3q6w1r12wv1fl05armkrprlkx2s7n08mimkxxndsd9kl6zl8lw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath hashable hosc hsc3 hsc3-db
+         hsc3-dot mtl unix
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-forth";
+       description = "FORTH SUPERCOLLIDER";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-graphs" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cairo, containers
+     , data-default, directory, filepath, hashable, hls, hmt, hosc, hps
+     , hsc3, hsc3-cairo, hsc3-lang, hsc3-sf, hsc3-unsafe, hsc3-utils
+     , hsharc, MonadRandom, primes, process, random, random-shuffle
+     , sc3-rdu, she, split
+     }:
+     mkDerivation {
+       pname = "hsc3-graphs";
+       version = "0.15";
+       sha256 = "1d59gl0shwkwi9581j7x7yy1j63acns9ccpwin4y5lwk0k5x6s38";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring cairo containers data-default
+         directory filepath hashable hls hmt hosc hps hsc3 hsc3-cairo
+         hsc3-lang hsc3-sf hsc3-unsafe hsc3-utils hsharc MonadRandom primes
+         process random random-shuffle sc3-rdu she split
+       ];
+       jailbreak = true;
+       homepage = "http://rd.slavepianos.org/t/hsc3-graphs";
+       description = "Haskell SuperCollider Graphs";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-lang" = callPackage
+    ({ mkDerivation, array, base, bifunctors, bytestring, containers
+     , data-default, data-ordlist, dlist, hashable, hmatrix-special
+     , hosc, hsc3, MonadRandom, random, random-shuffle, split
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "hsc3-lang";
+       version = "0.15";
+       sha256 = "09qn9kb8h40cwhnjf4pl70i2vi7cn4pa4wkdwjbn07hrdpvxgihf";
+       buildDepends = [
+         array base bifunctors bytestring containers data-default
+         data-ordlist dlist hashable hmatrix-special hosc hsc3 MonadRandom
+         random random-shuffle split transformers vector
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-lang";
+       description = "Haskell SuperCollider Language";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-lisp" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hashable
+     , hosc, hsc3, hsc3-dot, husk-scheme, mtl, safe, unix
+     }:
+     mkDerivation {
+       pname = "hsc3-lisp";
+       version = "0.15";
+       sha256 = "1k45ipivvlfymvh6rzxsv1kfvd11spsn3skmsswg2vd76bcgh20x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath hashable hosc hsc3 hsc3-dot
+         husk-scheme mtl safe unix
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-lisp";
+       description = "LISP SUPERCOLLIDER";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-plot" = callPackage
+    ({ mkDerivation, base, directory, filepath, hosc, hsc3, hsc3-lang
+     , process, split, statistics, vector
+     }:
+     mkDerivation {
+       pname = "hsc3-plot";
+       version = "0.15";
+       sha256 = "1v5n4k54qp8ifwka2bhrq9w1kfzd3ldzhqyhvkcgl0z46xcf7lk3";
+       buildDepends = [
+         base directory filepath hosc hsc3 hsc3-lang process split
+         statistics vector
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-plot";
+       description = "Haskell SuperCollider Plotting";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-process" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , directory, filepath, hosc, hsc3, process, time, time-compat
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hsc3-process";
+       version = "0.10.0";
+       sha256 = "1h769akpd5gsmmlzmhya3dh56rhpf4fkj0vl6zngahc5hl4s7qxc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-default directory filepath hosc
+         hsc3 process time time-compat transformers
+       ];
+       homepage = "https://github.com/kaoskorobase/hsc3-process";
+       description = "Create and control scsynth processes";
+       license = "GPL";
+     }) {};
+
+  "hsc3-rec" = callPackage
+    ({ mkDerivation, base, hsc3 }:
+     mkDerivation {
+       pname = "hsc3-rec";
+       version = "0.14.1";
+       sha256 = "0m814vr41i0mm0c001vbih9i93048niljv3z8czaz32wysa8xpfl";
+       buildDepends = [ base hsc3 ];
+       jailbreak = true;
+       homepage = "http://rd.slavepianos.org/?t=hsc3-rec";
+       description = "Haskell SuperCollider Record Variants";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-rw" = callPackage
+    ({ mkDerivation, base, directory, haskell-src-exts, parsec
+     , polyparse, split, syb, transformers
+     }:
+     mkDerivation {
+       pname = "hsc3-rw";
+       version = "0.15";
+       sha256 = "1jcnw0a1nf4wwf5bz61bkpwd3jfgccfxmcqq06vy43pc98223z8p";
+       buildDepends = [
+         base directory haskell-src-exts parsec polyparse split syb
+         transformers
+       ];
+       homepage = "http://rd.slavepianos.org/?t=hsc3-rw";
+       description = "hsc3 re-writing";
+       license = "GPL";
+     }) {};
+
+  "hsc3-server" = callPackage
+    ({ mkDerivation, base, bitset, bytestring, containers, data-default
+     , failure, hashtables, hosc, hsc3, hsc3-process, lifted-base
+     , ListZipper, monad-control, QuickCheck, random, resourcet
+     , test-framework, test-framework-quickcheck2, transformers
+     , transformers-base, unix
+     }:
+     mkDerivation {
+       pname = "hsc3-server";
+       version = "0.9.2";
+       sha256 = "1lq4y57d555jb0yi10n4j69h4whwsm5h2k6j4r7f9avds5ahh6s2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bitset bytestring containers data-default failure hashtables
+         hosc hsc3 hsc3-process lifted-base ListZipper monad-control random
+         resourcet transformers transformers-base unix
+       ];
+       testDepends = [
+         base failure QuickCheck random test-framework
+         test-framework-quickcheck2 transformers
+       ];
+       homepage = "https://github.com/kaoskorobase/hsc3-server";
+       description = "SuperCollider server resource management and synchronization";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-sf" = callPackage
+    ({ mkDerivation, base, bytestring, hosc }:
+     mkDerivation {
+       pname = "hsc3-sf";
+       version = "0.15";
+       sha256 = "1dg3gqhvi2rshfqnw7i89bd4bvqjvbk4f9g17x18swyrvgkz9wr7";
+       buildDepends = [ base bytestring hosc ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-sf";
+       description = "Haskell SuperCollider SoundFile";
+       license = "GPL";
+     }) {};
+
+  "hsc3-sf-hsndfile" = callPackage
+    ({ mkDerivation, array, base, hsc3-sf, hsndfile, hsndfile-vector
+     , vector
+     }:
+     mkDerivation {
+       pname = "hsc3-sf-hsndfile";
+       version = "0.15";
+       sha256 = "11ksss2g8a7lqpjqvdwj4j9y3kdc8algc9mhlyjmj38mgg4raa2i";
+       buildDepends = [
+         array base hsc3-sf hsndfile hsndfile-vector vector
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-sf-hsndfile";
+       description = "Haskell SuperCollider SoundFile";
+       license = "GPL";
+     }) {};
+
+  "hsc3-unsafe" = callPackage
+    ({ mkDerivation, base, hsc3 }:
+     mkDerivation {
+       pname = "hsc3-unsafe";
+       version = "0.14";
+       sha256 = "0kywqx7x10hqzhq8by0f62aznrnq4y3013cxkccx1r0naajpz3yj";
+       buildDepends = [ base hsc3 ];
+       jailbreak = true;
+       homepage = "http://rd.slavepianos.org/?t=hsc3-unsafe";
+       description = "Unsafe Haskell SuperCollider";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsc3-utils" = callPackage
+    ({ mkDerivation, base, directory, filepath, hashable, hosc, hsc3
+     , hsc3-dot, hsc3-rw, hsc3-sf, process
+     }:
+     mkDerivation {
+       pname = "hsc3-utils";
+       version = "0.15";
+       sha256 = "1pvg2z6n2r7jhwgwx9rv4q94jdj2ql3kgjh4smjq4xafnzzlyrix";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath hashable hosc hsc3 hsc3-dot hsc3-rw hsc3-sf
+         process
+       ];
+       homepage = "http://rd.slavepianos.org/t/hsc3-utils";
+       description = "Haskell SuperCollider Utilities";
+       license = "GPL";
+     }) {};
+
+  "hscamwire" = callPackage
+    ({ mkDerivation, array, base, camwire_1394, dc1394_control, raw1394
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "hscamwire";
+       version = "0.2.1";
+       sha256 = "0alnwc170hd2dyq718nvfq5dsbnyp29j3z49w2w5k59pi9pnqybc";
+       buildDepends = [ array base time unix ];
+       extraLibraries = [ camwire_1394 dc1394_control raw1394 ];
+       jailbreak = true;
+       description = "Haskell bindings to IIDC1394 cameras, via Camwire";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { camwire_1394 = null;  dc1394_control = null;
+          raw1394 = null;};
+
+  "hscassandra" = callPackage
+    ({ mkDerivation, base, bytestring, cassandra-thrift, containers
+     , mtl, network, old-time, Thrift
+     }:
+     mkDerivation {
+       pname = "hscassandra";
+       version = "0.0.7";
+       sha256 = "06jr17karspq3qpan9iqh0zk2w3b2d7ghdvl8wd4hjz73yacw6f4";
+       buildDepends = [
+         base bytestring cassandra-thrift containers mtl network old-time
+         Thrift
+       ];
+       homepage = "https://github.com/necrobious/hscassandra";
+       description = "cassandra database interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hscd" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, ghc-prim, HTTP }:
+     mkDerivation {
+       pname = "hscd";
+       version = "0.0.3";
+       sha256 = "1wjf3gba1gfbd54d0r4xpkfq7lyvyamhfw21wnsnqsl4hvp335jr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aeson base bytestring ghc-prim HTTP ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/sebasmagri/hscd";
+       description = "Command line client and library for SoundCloud.com";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsclock" = callPackage
+    ({ mkDerivation, base, cairo, glib, gtk, old-time }:
+     mkDerivation {
+       pname = "hsclock";
+       version = "1.0";
+       sha256 = "0g853fq9vv33nga05rhls6hk5h4gaby8mws0i8yq2iday6j576nf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cairo glib gtk old-time ];
+       homepage = "http://haskell.org/gtk2hs/archives/2006/01/26/cairo-eye-candy/";
+       description = "An elegant analog clock using Haskell, GTK and Cairo";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hscolour" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hscolour";
+       version = "1.22";
+       sha256 = "1iqmxvpvj3icg7mhx4450p2wqjsfx1xh3lwgrrmxvm339hksx3rw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "http://code.haskell.org/~malcolm/hscolour/";
+       description = "Colourise Haskell code";
+       license = "GPL";
+     }) {};
+
+  "hscope" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cpphs, deepseq
+     , directory, haskell-src-exts, mtl, process, pure-cdb, test-simple
+     , uniplate, Unixutils, vector
+     }:
+     mkDerivation {
+       pname = "hscope";
+       version = "0.4.1";
+       sha256 = "1m5mp45pvf64pnpc3lsig382177vfc232bbm9g3a8q58jrwridy7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal cpphs deepseq directory haskell-src-exts mtl
+         process pure-cdb uniplate vector
+       ];
+       testDepends = [ base directory mtl process test-simple Unixutils ];
+       homepage = "https://github.com/bosu/hscope";
+       description = "cscope like browser for Haskell code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hscrtmpl" = callPackage
+    ({ mkDerivation, base, directory, old-locale, process, time }:
+     mkDerivation {
+       pname = "hscrtmpl";
+       version = "1.2";
+       sha256 = "1ipk44lc2bdh9yhn30b2hkkymyp2srgsqgfdsy8xbxa8frlabhhg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory old-locale process time ];
+       homepage = "http://ui3.info/darcs/hscrtmpl/";
+       description = "Haskell shell script template";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hscurses" = callPackage
+    ({ mkDerivation, base, exceptions, mtl, old-locale, old-time, unix
+     }:
+     mkDerivation {
+       pname = "hscurses";
+       version = "1.4.2.0";
+       sha256 = "0msf80475l3ncpnb1lcpnyscl1svmqg074ylb942rx7dbvck71bj";
+       buildDepends = [ base exceptions mtl old-locale old-time unix ];
+       homepage = "https://github.com/skogsbaer/hscurses";
+       description = "NCurses bindings for Haskell";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hscurses-fish-ex" = callPackage
+    ({ mkDerivation, base, hscurses, random, safe, unix }:
+     mkDerivation {
+       pname = "hscurses-fish-ex";
+       version = "1.3.1";
+       sha256 = "1s7b2v3cl0nl2b55agn5wkvxn30f2bgp6mznkn33148vlbya1mzs";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hscurses random safe unix ];
+       homepage = "http://ui3.info/darcs/hscurses-fish-ex/";
+       description = "hscurses swimming fish example";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsdev" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base
+     , bytestring, Cabal, containers, deepseq, directory, exceptions
+     , filepath, ghc, ghc-mod, ghc-paths, haddock-api, haskell-src-exts
+     , hdocs, HTTP, lens, monad-loops, mtl, network, process
+     , regex-pcre-builtin, scientific, template-haskell, text, time
+     , transformers, uniplate, unix, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hsdev";
+       version = "0.1.3.4";
+       sha256 = "1m21wwl93sba113qr733a9qpxc0ljrn6mpd17760gzxpa5vhfjqd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty array attoparsec base bytestring Cabal
+         containers deepseq directory exceptions filepath ghc ghc-mod
+         ghc-paths haddock-api haskell-src-exts hdocs HTTP lens monad-loops
+         mtl network process regex-pcre-builtin scientific template-haskell
+         text time transformers uniplate unix unordered-containers vector
+       ];
+       testDepends = [ base ];
+       homepage = "https://github.com/mvoidex/hsdev";
+       description = "Haskell development library and tool with support of autocompletion, symbol info, go to declaration, find references etc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsdif" = callPackage
+    ({ mkDerivation, base, bytestring, hosc }:
+     mkDerivation {
+       pname = "hsdif";
+       version = "0.14";
+       sha256 = "1wxms6z8mpyf4l1qqxi6gvscls3mwlj5aq6g3ldashzrmb7pcimm";
+       buildDepends = [ base bytestring hosc ];
+       jailbreak = true;
+       homepage = "http://rd.slavepianos.org/?t=hsdif";
+       description = "Haskell SDIF";
+       license = "GPL";
+     }) {};
+
+  "hsdip" = callPackage
+    ({ mkDerivation, base, cairo, containers, HUnit, parsec }:
+     mkDerivation {
+       pname = "hsdip";
+       version = "0.1";
+       sha256 = "0hqwpcf2bcrj36wg02mxd2zdg07dqh4b5mv9yn295xp64snrdw84";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cairo containers HUnit parsec ];
+       homepage = "http://neugierig.org/software/darcs/hsdip/";
+       description = "hsdip - a Diplomacy parser/renderer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsdns" = callPackage
+    ({ mkDerivation, adns, base, containers, network }:
+     mkDerivation {
+       pname = "hsdns";
+       version = "1.6.1";
+       sha256 = "0s63acjy1n75k7gjm4kam7v5d4a5kn0aw178mygkqwr5frflghb4";
+       buildDepends = [ base containers network ];
+       extraLibraries = [ adns ];
+       homepage = "http://github.com/peti/hsdns";
+       description = "Asynchronous DNS Resolver";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) adns;};
+
+  "hsdns-cache" = callPackage
+    ({ mkDerivation, base, hsdns, network, SafeSemaphore, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "hsdns-cache";
+       version = "1.0.4";
+       sha256 = "1f0822kly602izwzxfi46w668k0jybn3khfacnxmc1744jpqr89i";
+       buildDepends = [
+         base hsdns network SafeSemaphore text time unordered-containers
+       ];
+       homepage = "https://github.com/bazqux/hsdns-cache";
+       description = "Caching asynchronous DNS resolver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hse-cpp" = callPackage
+    ({ mkDerivation, base, cpphs, haskell-src-exts }:
+     mkDerivation {
+       pname = "hse-cpp";
+       version = "0.1";
+       sha256 = "0f1bgi1hnpnry1pm7jhi626afdvymzy7k0a70n07n41js46pjxd0";
+       buildDepends = [ base cpphs haskell-src-exts ];
+       description = "Preprocess+parse haskell code";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hsebaysdk" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client, http-types
+     , text, time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hsebaysdk";
+       version = "0.3.0.0";
+       sha256 = "1bmkka53dxaizbiazici0i60qrqq2zbff95xqxlfp11v3cclcffg";
+       buildDepends = [
+         aeson base bytestring http-client http-types text time transformers
+         unordered-containers
+       ];
+       homepage = "https://github.com/creichert/hsebaysdk";
+       description = "Haskell eBay SDK";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsemail" = callPackage
+    ({ mkDerivation, base, doctest, hspec, mtl, old-time, parsec }:
+     mkDerivation {
+       pname = "hsemail";
+       version = "1.7.7";
+       sha256 = "16wqrpzi5njv26za1rckn74jsqmyswndb6k38yz1567h1y4w7ai5";
+       buildDepends = [ base mtl old-time parsec ];
+       testDepends = [ base doctest hspec old-time parsec ];
+       homepage = "http://github.com/peti/hsemail";
+       description = "Internet Message Parsers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsemail-ns" = callPackage
+    ({ mkDerivation, base, mtl, old-time, parsec }:
+     mkDerivation {
+       pname = "hsemail-ns";
+       version = "1.3.2";
+       sha256 = "03d0pnsba7yj5x7zrg8b80kxsnqn5g40vd2i717s1dnn3bd3vz4s";
+       buildDepends = [ base mtl old-time parsec ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/hsemail-ns/home";
+       description = "Internet Message Parsers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsenv" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, file-embed
+     , filepath, http-streams, io-streams, mtl, process, safe, split
+     , unix
+     }:
+     mkDerivation {
+       pname = "hsenv";
+       version = "0.5";
+       sha256 = "1kjj9p8x6369g9ah9h86xlyvcm4jkahvlz2pvj1m73javbgyyf03";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal directory file-embed filepath http-streams
+         io-streams mtl process safe split unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tmhedberg/hsenv";
+       description = "Virtual Haskell Environment builder";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hserv" = callPackage
+    ({ mkDerivation, base, cmdargs, wai-app-static, warp }:
+     mkDerivation {
+       pname = "hserv";
+       version = "0.1.0.3";
+       sha256 = "1dvnkd3nwgdz9hq8zafvmn75hczsiflbf05j10nmrj8imhyh70j3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cmdargs wai-app-static warp ];
+       homepage = "http://github.com/rejuvyesh/hserv";
+       description = "Simple http server in haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hsexif" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, hspec, HUnit
+     , iconv, text, time
+     }:
+     mkDerivation {
+       pname = "hsexif";
+       version = "0.6.0.1";
+       sha256 = "17vxm7vh8l7bnf5kcw4igkrjwwfzn0byjamaim70095al0ndvrjy";
+       buildDepends = [
+         base binary bytestring containers iconv text time
+       ];
+       testDepends = [
+         base binary bytestring containers hspec HUnit iconv text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/emmanueltouzery/hsexif";
+       description = "EXIF handling library in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsfacter" = callPackage
+    ({ mkDerivation, base, containers, language-puppet, text }:
+     mkDerivation {
+       pname = "hsfacter";
+       version = "0.2.1";
+       sha256 = "1j7pny0yjpx5qw2d9br723dyic4v09k1qbvrham57p9qxn9m5b0q";
+       buildDepends = [ base containers language-puppet text ];
+       homepage = "http://lpuppet.banquise.net";
+       description = "A small and ugly library that emulates the output of the puppet facter program";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsfcsh" = callPackage
+    ({ mkDerivation, base, hdaemonize, hslogger, network, process }:
+     mkDerivation {
+       pname = "hsfcsh";
+       version = "0.0.1";
+       sha256 = "1fc1fk33wslfkpb83c3ax251h60d5zn2qiqyw81v19wd5r2a6kqc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hdaemonize hslogger network process ];
+       jailbreak = true;
+       homepage = "https://github.com/Yuras/hsfcsh";
+       description = "Incremental builder for flash";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsfilt" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "hsfilt";
+       version = "0.1.0.0";
+       sha256 = "063k5f64734wvrl45nrp1yvh3bf51w3dzzf3jj4fmj1gjp07zy48";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ghc ];
+       description = "Z-decoder";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hsgnutls" = callPackage
+    ({ mkDerivation, base, bytestring, gcrypt, gnutls, mtl, old-time }:
+     mkDerivation {
+       pname = "hsgnutls";
+       version = "0.2.3.2";
+       sha256 = "1nd3z8kb4qjaj0hic9b305c15a7g6sfx6dixz8pspvqg1x84cjnm";
+       buildDepends = [ base bytestring mtl old-time ];
+       extraLibraries = [ gcrypt gnutls ];
+       homepage = "http://www.cs.helsinki.fi/u/ekarttun/hsgnutls";
+       description = "Library wrapping the GnuTLS API";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { gcrypt = null;  inherit (pkgs) gnutls;};
+
+  "hsgnutls-yj" = callPackage
+    ({ mkDerivation, base, bytestring, gcrypt, gnutls, mtl, old-time }:
+     mkDerivation {
+       pname = "hsgnutls-yj";
+       version = "0.2.3.3";
+       sha256 = "05dn7kvjxk2pnzv040hyw71nvr83jvdvajq4a9v76kcyjhhwiv0w";
+       buildDepends = [ base bytestring mtl old-time ];
+       extraLibraries = [ gcrypt gnutls ];
+       homepage = "http://www.cs.helsinki.fi/u/ekarttun/hsgnutls";
+       description = "Library wrapping the GnuTLS API";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { gcrypt = null;  inherit (pkgs) gnutls;};
+
+  "hsgsom" = callPackage
+    ({ mkDerivation, base, containers, random, stm, time }:
+     mkDerivation {
+       pname = "hsgsom";
+       version = "0.2.0";
+       sha256 = "1043lavrimaxmscayg4knx7ly0yc0gsb729pg72g897hc455r2dn";
+       buildDepends = [ base containers random stm time ];
+       description = "An implementation of the GSOM clustering algorithm";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsgtd" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers, directory
+     , haskeline, mtl
+     }:
+     mkDerivation {
+       pname = "hsgtd";
+       version = "0.2";
+       sha256 = "0rsi54zhznqdycjkbkdblbfcx7lbvwdwvw0zlxqspyiz2px6lqc6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base containers directory haskeline mtl
+       ];
+       homepage = "http://www.mlesniak.com/haskell/gettings-things-done-in-haskell/";
+       description = "Console-based gettings-things-done application";
+       license = "GPL";
+     }) {};
+
+  "hsharc" = callPackage
+    ({ mkDerivation, base, xml }:
+     mkDerivation {
+       pname = "hsharc";
+       version = "0.14";
+       sha256 = "1mzi074iiz48pcy6rvgqz6ckm0zx115kmvax60bx9bfcanw686vf";
+       buildDepends = [ base xml ];
+       homepage = "http://rd.slavepianos.org/?t=hsharc";
+       description = "Haskell SHARC bindings";
+       license = "GPL";
+     }) {};
+
+  "hsignal" = callPackage
+    ({ mkDerivation, array, base, binary, blas, bytestring, hmatrix
+     , hmatrix-gsl, hmatrix-gsl-stats, hstatistics, lapack, mtl
+     , storable-complex
+     }:
+     mkDerivation {
+       pname = "hsignal";
+       version = "0.2.7";
+       sha256 = "1a75n22rk5lpzf1fnwdpw61azibavy9x45wz1cp0l1c49477fxs0";
+       buildDepends = [
+         array base binary bytestring hmatrix hmatrix-gsl hmatrix-gsl-stats
+         hstatistics mtl storable-complex
+       ];
+       extraLibraries = [ blas lapack ];
+       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;  lapack = null;};
+
+  "hsilop" = callPackage
+    ({ mkDerivation, base, haskeline }:
+     mkDerivation {
+       pname = "hsilop";
+       version = "0.1.0.0";
+       sha256 = "1yaghdyw94ynq5wg6qk5yswrwwf4vx6j7kpl43alym8dh754npw5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskeline ];
+       homepage = "https://github.com/Rnhmjoj/hsilop";
+       description = "RPN calculator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hsimport" = callPackage
+    ({ mkDerivation, attoparsec, base, cmdargs, directory, dyre
+     , filepath, haskell-src-exts, lens, mtl, split, tasty, tasty-golden
+     , text
+     }:
+     mkDerivation {
+       pname = "hsimport";
+       version = "0.6.5";
+       sha256 = "10h19rdzqskjvaax30znqpvx765x0lj58wp1zgf8dv6mgvaz77zy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base cmdargs directory dyre haskell-src-exts lens mtl
+         split text
+       ];
+       testDepends = [
+         base filepath haskell-src-exts tasty tasty-golden
+       ];
+       jailbreak = true;
+       description = "A command line program for extending the import list of a Haskell source file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsini" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HUnit, mtl, parsec
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th
+     }:
+     mkDerivation {
+       pname = "hsini";
+       version = "0.3.1";
+       sha256 = "06cys4i1nsic13dkp5jgammm3qykzizlnp6wdka2vl699rvnzaaf";
+       buildDepends = [ base bytestring containers mtl parsec ];
+       testDepends = [
+         base bytestring containers HUnit mtl parsec QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         test-framework-th
+       ];
+       description = "Package for user configuration files (INI)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hskeleton" = callPackage
+    ({ mkDerivation, base, Cabal }:
+     mkDerivation {
+       pname = "hskeleton";
+       version = "0.1.1";
+       sha256 = "0f06xir28rzpwphk14gkpww8l7gbws4habhm26915idpnd4bva2w";
+       buildDepends = [ base Cabal ];
+       description = "Skeleton for new Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hslackbuilder" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, process, unix }:
+     mkDerivation {
+       pname = "hslackbuilder";
+       version = "0.0.2";
+       sha256 = "0j4wkw6hqajgwzik8flfzs2m5rlmy9blm98n5ym56svjypshl55q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal directory filepath process unix ];
+       homepage = "http://code.haskell.org/~arossato/hslackbuilder";
+       description = "HSlackBuilder automatically generates slackBuild scripts from a cabal package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hslibsvm" = callPackage
+    ({ mkDerivation, base, containers, svm }:
+     mkDerivation {
+       pname = "hslibsvm";
+       version = "2.89.0.1";
+       sha256 = "00smw10j2ipw10133qc38famar5r6rkswj7bhvb9hdj2rrdyx6sf";
+       buildDepends = [ base containers ];
+       extraLibraries = [ svm ];
+       description = "A FFI binding to libsvm";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { svm = null;};
+
+  "hslinks" = callPackage
+    ({ mkDerivation, base, Cabal, hint, MemoTrie, process, regex-compat
+     }:
+     mkDerivation {
+       pname = "hslinks";
+       version = "0.6.1";
+       sha256 = "1dqicdvklkczn216qxb7gnjjgvgmr0s6iljyb33qhmmabrx5a7x1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal hint MemoTrie process regex-compat ];
+       description = "Resolves links to Haskell identifiers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hslogger" = callPackage
+    ({ mkDerivation, base, containers, directory, mtl, network
+     , old-locale, process, time, unix
+     }:
+     mkDerivation {
+       pname = "hslogger";
+       version = "1.2.8";
+       sha256 = "0i7cji7d23kv8m0vr32ws8zm4ah5vxzb1ykv833m7i6m2g1p4dfy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory mtl network old-locale process time unix
+       ];
+       homepage = "http://software.complete.org/hslogger";
+       description = "Versatile logging framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hslogger-template" = callPackage
+    ({ mkDerivation, base, hslogger, mtl, template-haskell }:
+     mkDerivation {
+       pname = "hslogger-template";
+       version = "2.0.2";
+       sha256 = "0qkyclj9fajvzbfcs0ik8ncy66x916r40jd85r4wi5nh482i7sp3";
+       buildDepends = [ base hslogger mtl template-haskell ];
+       description = "Automatic generation of hslogger functions";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "hslogger4j" = callPackage
+    ({ mkDerivation, hslogger }:
+     mkDerivation {
+       pname = "hslogger4j";
+       version = "0.2";
+       sha256 = "0mypcdj8npygj9g8d276rhr2wagk96zc4rjimwx2ylw4qm0scv5n";
+       buildDepends = [ hslogger ];
+       homepage = "http://hslogger4j.googlecode.com/";
+       description = "DEPRECATED hslogger handlers for log4j's XMLLayout";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hslogstash" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
+     , conduit, containers, data-default, hedis, hspec, http-conduit
+     , http-types, iconv, lens, network, network-conduit, parallel-io
+     , QuickCheck, split, stm, stm-chans, stm-conduit, stm-firehose
+     , text, text-format, time, transformers, unordered-containers
+     , vector, wai
+     }:
+     mkDerivation {
+       pname = "hslogstash";
+       version = "0.3.7.1";
+       sha256 = "040564f4wxmdhglziahava5cbyhvwbiw1ifi1g3cfb9zna2xl8p6";
+       buildDepends = [
+         aeson attoparsec base blaze-builder bytestring conduit containers
+         data-default hedis http-conduit http-types iconv lens network
+         network-conduit parallel-io stm stm-chans stm-conduit stm-firehose
+         text text-format time transformers unordered-containers vector wai
+       ];
+       testDepends = [
+         base conduit hspec QuickCheck split stm transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bartavelle/hslogstash";
+       description = "A library to work with, or as, a logstash server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hslua" = callPackage
+    ({ mkDerivation, base, lua, mtl }:
+     mkDerivation {
+       pname = "hslua";
+       version = "0.3.13";
+       sha256 = "02j3hrzq3dgcv4bvf4xz14qxvzlb0vlxrf7lk9wqwdy43b978mz9";
+       buildDepends = [ base mtl ];
+       testDepends = [ base ];
+       pkgconfigDepends = [ lua ];
+       configureFlags = [ "-fsystem-lua" ];
+       description = "A Lua language interpreter embedding in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) lua;};
+
+  "hsmagick" = callPackage
+    ({ mkDerivation, base, bytestring, bzip2, directory, filepath
+     , freetype2, GraphicsMagick, jasper, lcms, libjpeg, libpng, libxml2
+     , pretty, process, tiff, wmflite, zlib
+     }:
+     mkDerivation {
+       pname = "hsmagick";
+       version = "0.5";
+       sha256 = "1bfzbwddss0m0z4jf7i0b06pmxy9rvknpqnzhf0v5jggv5nr442p";
+       buildDepends = [
+         base bytestring directory filepath pretty process
+       ];
+       extraLibraries = [ bzip2 jasper libjpeg libpng tiff wmflite zlib ];
+       pkgconfigDepends = [ freetype2 GraphicsMagick lcms libxml2 ];
+       homepage = "https://github.com/vincentg/hsmagick";
+       description = "FFI bindings for the GraphicsMagick library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { GraphicsMagick = null;  inherit (pkgs) bzip2;
+          freetype2 = null;  inherit (pkgs) jasper;  inherit (pkgs) lcms;
+          inherit (pkgs) libjpeg;  inherit (pkgs) libpng;
+          inherit (pkgs) libxml2;  tiff = null;  wmflite = null;
+          inherit (pkgs) zlib;};
+
+  "hsmisc" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, old-locale, parsec
+     , regex-compat, time
+     }:
+     mkDerivation {
+       pname = "hsmisc";
+       version = "1.1";
+       sha256 = "1n340agvf103g84xndc9fbhq4rhywx611iykmkk10wxi364dv7wg";
+       buildDepends = [
+         base containers mtl old-locale parsec regex-compat time
+       ];
+       testDepends = [ base containers HUnit mtl regex-compat ];
+       homepage = "http://foo/bar/baz.html";
+       description = "A collection of miscellaneous modules";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsmtpclient" = callPackage
+    ({ mkDerivation, array, base, directory, network, old-time }:
+     mkDerivation {
+       pname = "hsmtpclient";
+       version = "1.0";
+       sha256 = "08gbrwrc85in34nrgjm0zr5sjz2zbjc7hk2zlpvk1dq8x62a6wsg";
+       buildDepends = [ array base directory network old-time ];
+       homepage = "http://code.google.com/p/hsmtpclient/";
+       description = "Simple SMTP Client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsndfile" = callPackage
+    ({ mkDerivation, base, c2hs, libsndfile }:
+     mkDerivation {
+       pname = "hsndfile";
+       version = "0.7.1";
+       sha256 = "1254r811sspd7h8a4yr4ff3a6c39ywp1zjrkxbsczpxbyg9bdnv2";
+       buildDepends = [ base ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ libsndfile ];
+       homepage = "http://haskell.org/haskellwiki/Hsndfile";
+       description = "Haskell bindings for libsndfile";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) libsndfile;};
+
+  "hsndfile-storablevector" = callPackage
+    ({ mkDerivation, base, hsndfile, storablevector }:
+     mkDerivation {
+       pname = "hsndfile-storablevector";
+       version = "0.5.2";
+       sha256 = "1n7jw14pnixiv1z50lb7yzwyyl3yd3gdfg5w0gx0m52pnmqiav9z";
+       buildDepends = [ base hsndfile storablevector ];
+       homepage = "http://haskell.org/haskellwiki/Hsndfile";
+       description = "Haskell bindings for libsndfile (Data.StorableVector interface)";
+       license = stdenv.lib.licenses.lgpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsndfile-vector" = callPackage
+    ({ mkDerivation, base, hsndfile, vector }:
+     mkDerivation {
+       pname = "hsndfile-vector";
+       version = "0.5.2";
+       sha256 = "1598bf87llbiri1qh8zirhbsd94c9vhd41lf9vialqrykbmi3zig";
+       buildDepends = [ base hsndfile vector ];
+       homepage = "http://haskell.org/haskellwiki/Hsndfile";
+       description = "Haskell bindings for libsndfile (Data.Vector interface)";
+       license = stdenv.lib.licenses.lgpl2;
+     }) {};
+
+  "hsnock" = callPackage
+    ({ mkDerivation, base, HUnit, parsec, QuickCheck, readline
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hsnock";
+       version = "0.5.1";
+       sha256 = "1hh4lyrd2ki79q6pfz62icp3igzyljwa5bz8ba9vk4kxxawrnbhw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parsec readline ];
+       testDepends = [
+         base HUnit parsec QuickCheck readline test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/mrdomino/hsnock/";
+       description = "Nock 5K interpreter";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "hsnoise" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "hsnoise";
+       version = "0.0.2";
+       sha256 = "0f8xpmzmg71l7qn1vjvzncsx8r7vfpzvlnlq0029ixf64gshbmzl";
+       buildDepends = [ base vector ];
+       homepage = "https://github.com/colinhect/hsnoise";
+       description = "A coherent 3d noise library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsns" = callPackage
+    ({ mkDerivation, base, network, pcap }:
+     mkDerivation {
+       pname = "hsns";
+       version = "0.5.3";
+       sha256 = "0r3z9h5l4hxbjfcqsfk67jp2r964wgvrisk352lpx550vwd6chbf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base network pcap ];
+       description = "a miniature network sniffer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsnsq" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, attoparsec-binary, base
+     , bytestring, containers, hostname, hslogger, mtl, network, pipes
+     , pipes-attoparsec, pipes-network, stm, stm-chans, text
+     }:
+     mkDerivation {
+       pname = "hsnsq";
+       version = "0.1.2.0";
+       sha256 = "0chmcyfar29rnsni47yx286a308rll098lxrr1zhyi7kxvh9j4fb";
+       buildDepends = [
+         aeson async attoparsec attoparsec-binary base bytestring containers
+         hostname hslogger mtl network pipes pipes-attoparsec pipes-network
+         stm stm-chans text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/gamelost/hsnsq";
+       description = "Haskell NSQ client";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "hsntp" = callPackage
+    ({ mkDerivation, array, base, mtl, network, old-time, random, unix
+     }:
+     mkDerivation {
+       pname = "hsntp";
+       version = "0.1";
+       sha256 = "0pw5l6z1yjjvcxgw71i00gfnjdqcvg09bsacazq9ahvnwsn4aayd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base mtl network old-time random unix ];
+       homepage = "http://www.cs.helsinki.fi/u/ekarttun/util/";
+       description = "Libraries to use SNTP protocol and small client/server implementations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsoptions" = callPackage
+    ({ mkDerivation, base, containers, directory, HUnit, parsec
+     , QuickCheck, regex-compat, regex-posix, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "hsoptions";
+       version = "1.0.0.0";
+       sha256 = "1c4sigmagwbs3g5pj3as4f930mvba090p7cjq4cy8hbmv6cz0fn1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory parsec regex-compat regex-posix
+       ];
+       testDepends = [
+         base containers directory HUnit parsec QuickCheck regex-compat
+         regex-posix test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/josercruz01/hsoptions";
+       description = "Haskell library that supports command-line flag processing";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsp" = callPackage
+    ({ mkDerivation, base, mtl, text }:
+     mkDerivation {
+       pname = "hsp";
+       version = "0.10.0";
+       sha256 = "1ayfywgrlmzivsq6lirmgvl65x1shf8041lzw2yh245rkmd91lsf";
+       buildDepends = [ base mtl text ];
+       homepage = "http://hub.darcs.net/nibro/hsp";
+       description = "Haskell Server Pages is a library for writing dynamic server-side web pages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsp-cgi" = callPackage
+    ({ mkDerivation, base, containers, harp, hsp, network }:
+     mkDerivation {
+       pname = "hsp-cgi";
+       version = "0.4.4";
+       sha256 = "0m1xylqzmi2c1c92zk5bq6232id9fmjlx4s88ic2fvf5a389n11n";
+       buildDepends = [ base containers harp hsp network ];
+       homepage = "http://code.google.com/p/hsp";
+       description = "Facilitates running Haskell Server Pages web pages as CGI programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsparklines" = callPackage
+    ({ mkDerivation, base, bytestring, dataenc, gd }:
+     mkDerivation {
+       pname = "hsparklines";
+       version = "0.1.0";
+       sha256 = "10za4f07a5agg3zgy32fdz02vg9fl344qswhzj5mnx8wpnxmr3y6";
+       buildDepends = [ base bytestring dataenc gd ];
+       homepage = "http://www.jasani.org/search/label/hsparklines";
+       description = "Sparklines for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsparql" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HTTP, http-types
+     , HUnit, MissingH, mtl, network, rdf4h, test-framework
+     , test-framework-hunit, text, wai, warp, xml
+     }:
+     mkDerivation {
+       pname = "hsparql";
+       version = "0.2.5";
+       sha256 = "1rhkl5l414w6pp3q3x0pkahghyagq3fwlny61vn0rpxlyihcin42";
+       buildDepends = [
+         base bytestring HTTP MissingH mtl network rdf4h text xml
+       ];
+       testDepends = [
+         base containers http-types HUnit rdf4h test-framework
+         test-framework-hunit text wai warp
+       ];
+       homepage = "https://github.com/robstewart57/hsparql";
+       description = "A SPARQL query generator and DSL, and a client to query a SPARQL server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hspear" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, split
+     , utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "hspear";
+       version = "0.14";
+       sha256 = "1h3av9mpgsqfdrd817fz0isqrxn3lxmjyanw33dk9jax136ivi1h";
+       buildDepends = [
+         base bytestring bytestring-lexing split utf8-string zlib
+       ];
+       homepage = "http://rd.slavepianos.org/?t=hspear";
+       description = "Haskell Spear Parser";
+       license = "GPL";
+     }) {};
+
+  "hspec" = callPackage
+    ({ mkDerivation, base, directory, hspec-core, hspec-discover
+     , hspec-expectations, hspec-meta, HUnit, QuickCheck, stringbuilder
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hspec";
+       version = "2.1.5";
+       sha256 = "0lj8inhp0lxh23ayc3wcj5c7rslwr4q6s6wqswhda0v3cz3lfmsc";
+       buildDepends = [
+         base hspec-core hspec-discover hspec-expectations HUnit QuickCheck
+         transformers
+       ];
+       testDepends = [
+         base directory hspec-core hspec-meta stringbuilder
+       ];
+       doCheck = false;
+       homepage = "http://hspec.github.io/";
+       description = "A Testing Framework for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, hspec
+     , hspec-expectations, text
+     }:
+     mkDerivation {
+       pname = "hspec-attoparsec";
+       version = "0.1.0.2";
+       sha256 = "0r7v6x0k5r8jxl0rnsq8h3gqhbiimsic3kiphn6dxaw954zqnypa";
+       buildDepends = [
+         attoparsec base bytestring hspec-expectations text
+       ];
+       testDepends = [
+         attoparsec base bytestring hspec hspec-expectations text
+       ];
+       homepage = "http://github.com/alpmestan/hspec-attoparsec";
+       description = "Utility functions for testing your attoparsec parsers with hspec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hspec-checkers" = callPackage
+    ({ mkDerivation, base, checkers, hspec }:
+     mkDerivation {
+       pname = "hspec-checkers";
+       version = "0.1.0";
+       sha256 = "043qzgjp9ch9wqm269dd87jn8wk5c90q25098hnz8ilv5pnywk6d";
+       buildDepends = [ base checkers hspec ];
+       testDepends = [ base checkers hspec ];
+       description = "Allows to use checkers properties from hspec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hspec-contrib" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, HUnit, QuickCheck }:
+     mkDerivation {
+       pname = "hspec-contrib";
+       version = "0.2.0";
+       sha256 = "0p6jh3j84cq66gfp2pk957ha4ds7797vfbfri9lsg9gd4998dwkq";
+       buildDepends = [ base hspec-core HUnit ];
+       testDepends = [ base hspec hspec-core HUnit QuickCheck ];
+       homepage = "http://hspec.github.io/";
+       description = "Contributed functionality for Hspec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-core" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, deepseq
+     , hspec-expectations, hspec-meta, HUnit, process, QuickCheck
+     , quickcheck-io, random, setenv, silently, tf-random, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hspec-core";
+       version = "2.1.5";
+       sha256 = "1za9ybkcqrzgrmqvzijvw471yk5kjhp0pr0n47n4f4cy0ha7l0fb";
+       buildDepends = [
+         ansi-terminal async base deepseq hspec-expectations HUnit
+         QuickCheck quickcheck-io random setenv tf-random time transformers
+       ];
+       testDepends = [
+         ansi-terminal async base deepseq hspec-expectations hspec-meta
+         HUnit process QuickCheck quickcheck-io random setenv silently
+         tf-random time transformers
+       ];
+       homepage = "http://hspec.github.io/";
+       description = "A Testing Framework for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-discover" = callPackage
+    ({ mkDerivation, base, directory, filepath, hspec-meta }:
+     mkDerivation {
+       pname = "hspec-discover";
+       version = "2.1.5";
+       sha256 = "03bs5gxzhn605f8k7wdm629kzsmxy5mjb1v834q69f3w1iczx304";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath ];
+       testDepends = [ base directory filepath hspec-meta ];
+       homepage = "http://hspec.github.io/";
+       description = "Automatically discover and run Hspec tests";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-expectations" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, markdown-unlit, silently }:
+     mkDerivation {
+       pname = "hspec-expectations";
+       version = "0.6.1.1";
+       sha256 = "0f36b2cp2ipbqz9g6lp43nvx8dykkw196wg97kgb07mmnq6gakix";
+       buildDepends = [ base HUnit ];
+       testDepends = [ base hspec HUnit markdown-unlit silently ];
+       homepage = "https://github.com/sol/hspec-expectations#readme";
+       description = "Catchy combinators for HUnit";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-expectations-lens" = callPackage
+    ({ mkDerivation, base, hspec, hspec-expectations, HUnit, lens
+     , silently
+     }:
+     mkDerivation {
+       pname = "hspec-expectations-lens";
+       version = "0.4.0";
+       sha256 = "17c9qn525bmg113mw30sc35gm207rl0d6h156c7c1npnkyp1pw0k";
+       buildDepends = [ base hspec hspec-expectations HUnit lens ];
+       testDepends = [ base hspec lens silently ];
+       homepage = "http://supki.github.io/hspec-expectations-lens/";
+       description = "Hspec expectations for the lens stuff";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "hspec-expectations-lifted" = callPackage
+    ({ mkDerivation, base, hspec, hspec-expectations, transformers }:
+     mkDerivation {
+       pname = "hspec-expectations-lifted";
+       version = "0.5.0";
+       sha256 = "0c3fxgwxjwqgwpnlxlbp2amhk44m34iq2lxs1rxkp3vjwkqi2m8b";
+       buildDepends = [ base hspec-expectations transformers ];
+       testDepends = [ base hspec ];
+       description = "A version of hspec-expectations generalized to MonadIO";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-expectations-pretty" = callPackage
+    ({ mkDerivation, base, deepseq, hspec-expectations
+     , wl-pprint-extras, wl-pprint-terminfo
+     }:
+     mkDerivation {
+       pname = "hspec-expectations-pretty";
+       version = "0.1";
+       sha256 = "1x8xpc9b2m33sqwf7j643wjzja956m4vcdvaqrwlpxwqn887sxn5";
+       buildDepends = [
+         base deepseq hspec-expectations wl-pprint-extras wl-pprint-terminfo
+       ];
+       homepage = "https://github.com/hspec/hspec-expectations#readme";
+       description = "hspec-expectations with pretty printing on failure";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hspec-experimental" = callPackage
+    ({ mkDerivation, base, hspec, hspec-meta, HUnit, QuickCheck }:
+     mkDerivation {
+       pname = "hspec-experimental";
+       version = "0.1.0";
+       sha256 = "197c9x25r41xmaq84xqhi0kizxi7as7jn7k9klj7pq9fmd9hcg7m";
+       buildDepends = [ base hspec HUnit QuickCheck ];
+       testDepends = [ base hspec-meta ];
+       jailbreak = true;
+       description = "An experimental DSL for testing on top of Hspec";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hspec-jenkins" = callPackage
+    ({ mkDerivation, base, blaze-markup, hspec }:
+     mkDerivation {
+       pname = "hspec-jenkins";
+       version = "0.1.1";
+       sha256 = "16aql0fyssc16z85isskccq93dj5i1pydblnf2q1np7z6pl1azy2";
+       buildDepends = [ base blaze-markup hspec ];
+       homepage = "https://github.com/worksap-ate/hspec-jenkins";
+       description = "Jenkins-friendly XML formatter for Hspec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-laws" = callPackage
+    ({ mkDerivation, base, hspec, markdown-unlit, QuickCheck }:
+     mkDerivation {
+       pname = "hspec-laws";
+       version = "0.0.0";
+       sha256 = "15mcspn20znjxjsjqivrfvpndjd2i3kic5nyij13lfwyd3p2al0j";
+       buildDepends = [ base hspec QuickCheck ];
+       testDepends = [ base hspec markdown-unlit QuickCheck ];
+       description = "Document and test laws for standard type classes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-meta" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, deepseq, directory
+     , filepath, hspec-expectations, HUnit, QuickCheck, quickcheck-io
+     , random, setenv, time, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-meta";
+       version = "2.1.5";
+       sha256 = "02v4a5hcp4bbvnjb18vpw6fwz4qxjll8k8ama0hf6y8jppp72hid";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal async base deepseq directory filepath
+         hspec-expectations HUnit QuickCheck quickcheck-io random setenv
+         time transformers
+       ];
+       homepage = "http://hspec.github.io/";
+       description = "A version of Hspec which is used to test Hspec itself";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-server" = callPackage
+    ({ mkDerivation, base, containers, hspec, hspec-contrib, hspec-core
+     , hspec-expectations, HUnit, process, regex-posix, temporary
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hspec-server";
+       version = "0.4.1";
+       sha256 = "17bn5v3fqcmcd0qi4q9n9fj27kpw4iqyrjpjvvc4gwz1bc5bhf5q";
+       buildDepends = [
+         base containers hspec hspec-core hspec-expectations HUnit process
+         regex-posix temporary transformers
+       ];
+       testDepends = [ base hspec hspec-contrib transformers ];
+       description = "Test Framework for checking server's status";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hspec-shouldbe" = callPackage
+    ({ mkDerivation, hspec, test-shouldbe }:
+     mkDerivation {
+       pname = "hspec-shouldbe";
+       version = "0.0.1";
+       sha256 = "0b4y84vqyx22kihr0sbbxzr6sdz99hi2rhyl09r8ddzkzqadfii3";
+       buildDepends = [ hspec test-shouldbe ];
+       description = "Convenience wrapper and utilities for hspec";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hspec-smallcheck" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck, smallcheck }:
+     mkDerivation {
+       pname = "hspec-smallcheck";
+       version = "0.3.0";
+       sha256 = "1yybyrbbj0fv62cf8nh851rgbb8phyhpsm57mzn7s5vqz7lf7dxw";
+       buildDepends = [ base hspec smallcheck ];
+       testDepends = [ base hspec QuickCheck smallcheck ];
+       homepage = "http://hspec.github.io/";
+       description = "SmallCheck support for the Hspec testing framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-snap" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , digestive-functors, directory, HandsomeSoup, hspec, hspec-core
+     , hxt, lens, mtl, snap, snap-core, snap-extras, text, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-snap";
+       version = "0.3.2.3";
+       sha256 = "187j2fhiwv3v2rlh1h9jdxpywdms9n37yp3597dmsbq2kggzsigh";
+       buildDepends = [
+         base bytestring containers digestive-functors HandsomeSoup hspec
+         hspec-core hxt lens mtl snap snap-core text transformers
+       ];
+       testDepends = [
+         aeson base bytestring containers digestive-functors directory
+         HandsomeSoup hspec hspec-core hxt lens mtl snap snap-core
+         snap-extras text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dbp/hspec-snap";
+       description = "A library for testing with Hspec and the Snap Web Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hspec-test-framework" = callPackage
+    ({ mkDerivation, base, hspec, hspec-contrib, hspec-core, HUnit
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "hspec-test-framework";
+       version = "0.1.0";
+       sha256 = "13rlyn4yibajj469hzvw6hmvm3lyra11fl73g49zc3nvcial5ldv";
+       buildDepends = [
+         base hspec hspec-contrib hspec-core HUnit QuickCheck
+       ];
+       homepage = "http://hspec.github.io/";
+       description = "Run test-framework tests with Hspec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-test-framework-th" = callPackage
+    ({ mkDerivation, base, hspec-test-framework, HUnit
+     , language-haskell-extract, template-haskell
+     }:
+     mkDerivation {
+       pname = "hspec-test-framework-th";
+       version = "0.1.0";
+       sha256 = "1apzvrbyksz5jai0i6x5y8lz1rpi2px5x9rwirhm1flbzvpdypma";
+       buildDepends = [
+         base hspec-test-framework language-haskell-extract template-haskell
+       ];
+       testDepends = [ base hspec-test-framework HUnit ];
+       homepage = "http://hspec.github.io/";
+       description = "Run test-framework tests with Hspec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-test-sandbox" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, test-sandbox }:
+     mkDerivation {
+       pname = "hspec-test-sandbox";
+       version = "0.1.0";
+       sha256 = "1kg7lpm1is5yxwcjhmdayxv8g52d2q215d9f8f8h33qvc7w0a8yp";
+       buildDepends = [ base hspec hspec-core test-sandbox ];
+       testDepends = [ base hspec test-sandbox ];
+       description = "Hspec convenience functions for use with test-sandbox";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hspec-wai" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, hspec
+     , hspec-core, hspec-expectations, http-types, QuickCheck, text
+     , transformers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "hspec-wai";
+       version = "0.6.3";
+       sha256 = "0vydfzpfwrld6wi47bk1d27hm5mz8hll3fc0ckzy7dyyzrgfnp4i";
+       buildDepends = [
+         base bytestring case-insensitive hspec-core hspec-expectations
+         http-types text transformers wai wai-extra
+       ];
+       testDepends = [
+         base bytestring case-insensitive hspec hspec-core
+         hspec-expectations http-types QuickCheck text transformers wai
+         wai-extra
+       ];
+       description = "Experimental Hspec support for testing WAI applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-wai-json" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, bytestring, hspec
+     , hspec-wai, template-haskell
+     }:
+     mkDerivation {
+       pname = "hspec-wai-json";
+       version = "0.6.0";
+       sha256 = "0r9p8v3cynyx5gnan86cc0l5hrmnm3mx7w2kkc1npv6zq0cj1bgq";
+       buildDepends = [
+         aeson aeson-qq base bytestring hspec-wai template-haskell
+       ];
+       testDepends = [ base hspec hspec-wai ];
+       description = "Testing JSON APIs with hspec-wai";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec-webdriver" = callPackage
+    ({ mkDerivation, base, data-default, hashable, hspec, hspec-core
+     , HUnit, lifted-base, stm, text, transformers, unordered-containers
+     , webdriver
+     }:
+     mkDerivation {
+       pname = "hspec-webdriver";
+       version = "1.0.2";
+       sha256 = "1wkdv129arxbfby1214a93sfqbi1kvkgvqpp4z6qzh45q74hhd9c";
+       buildDepends = [
+         base data-default hashable hspec hspec-core HUnit lifted-base stm
+         text transformers unordered-containers webdriver
+       ];
+       homepage = "https://bitbucket.org/wuzzeb/webdriver-utils";
+       description = "Write end2end web application tests using webdriver and hspec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspec2" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover }:
+     mkDerivation {
+       pname = "hspec2";
+       version = "0.6.1";
+       revision = "1";
+       sha256 = "0zlvm7r46q8yhgx2kx9mfrf6x2f5amdbi3a59fh69dsqs4lbgmf4";
+       editedCabalFile = "d41ebaf2f80c6ae149a944cd77e31fce98c0eea45cf47a561c5c25d48e03107f";
+       buildDepends = [ base hspec hspec-discover ];
+       homepage = "http://hspec.github.io/";
+       description = "Alpha version of Hspec 2.0";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hspr-sh" = callPackage
+    ({ mkDerivation, base, old-time }:
+     mkDerivation {
+       pname = "hspr-sh";
+       version = "0.3";
+       sha256 = "1qnqg2gg93l5dp2nyvvaq7n58gsnljvbafbhfpvys48g5ry2dk7a";
+       buildDepends = [ base old-time ];
+       homepage = "http://www.cs.chalmers.se/~d00nibro/hsp/";
+       description = "Session handler for HSP";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "hspread" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , extensible-exceptions, network
+     }:
+     mkDerivation {
+       pname = "hspread";
+       version = "0.3.3";
+       sha256 = "1z7v5awagmhxyz4cl020s4gk4yxp0i62z3hqm9kwf73b3b69x2kf";
+       buildDepends = [
+         base binary bytestring containers extensible-exceptions network
+       ];
+       description = "A client library for the spread toolkit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hspresent" = callPackage
+    ({ mkDerivation, array, base, bytestring, vty }:
+     mkDerivation {
+       pname = "hspresent";
+       version = "0.2.2";
+       sha256 = "0x4f3y8l8vj1498bnw4fxw9nzf7q2y4vjys72j73h50c7hr83j07";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base bytestring vty ];
+       jailbreak = true;
+       description = "A terminal presentation tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsprocess" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, easy-file
+     , filepath, hint, hspec, HUnit, MonadCatchIO-mtl, process
+     , QuickCheck, stringsearch, test-framework, test-framework-hunit
+     , time
+     }:
+     mkDerivation {
+       pname = "hsprocess";
+       version = "0.3";
+       sha256 = "1g47g3i8fgknzyf7pp7g1mk2bfn7r7igm0c6j2v9fnahhrpj4a5z";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory easy-file filepath hint
+         MonadCatchIO-mtl process stringsearch time
+       ];
+       testDepends = [
+         base bytestring containers hspec HUnit QuickCheck test-framework
+         test-framework-hunit
+       ];
+       description = "The Haskell Stream Processor command line utility";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hsql" = callPackage
+    ({ mkDerivation, base, old-time }:
+     mkDerivation {
+       pname = "hsql";
+       version = "1.8.2";
+       sha256 = "0i53n42ynq22fzlz4kpmri4q4abmi4dz8bz0izn307is1pmk4bby";
+       buildDepends = [ base old-time ];
+       description = "Database access from Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsql-mysql" = callPackage
+    ({ mkDerivation, base, Cabal, hsql, mysqlclient }:
+     mkDerivation {
+       pname = "hsql-mysql";
+       version = "1.8.3";
+       revision = "1";
+       sha256 = "0834jr5jrr1m7ap93wvmb5ir0906f7f7xx52x21i1l1jfpan34j9";
+       editedCabalFile = "e1bbb71ecb6e310acf23a93e4a5e0121c8bd332e7a81dfa5bfe27ae94cbf14ab";
+       buildDepends = [ base Cabal hsql ];
+       extraLibraries = [ mysqlclient ];
+       description = "MySQL driver for HSQL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { mysqlclient = null;};
+
+  "hsql-odbc" = callPackage
+    ({ mkDerivation, base, hsql, old-time, unixODBC }:
+     mkDerivation {
+       pname = "hsql-odbc";
+       version = "1.8.2";
+       sha256 = "0lz9zjy1xgjjbabbi2hcrvsnfid6c78y2cb2703qjwr93xy54f1f";
+       buildDepends = [ base hsql old-time ];
+       extraLibraries = [ unixODBC ];
+       description = "A Haskell Interface to ODBC";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) unixODBC;};
+
+  "hsql-postgresql" = callPackage
+    ({ mkDerivation, base, hsql, old-time, postgresql }:
+     mkDerivation {
+       pname = "hsql-postgresql";
+       version = "1.8.2";
+       sha256 = "0yj0jalpapjvpxmc79yd6bn93ax13pp87dipbg2c9mxf3p38jc9z";
+       buildDepends = [ base hsql old-time ];
+       extraLibraries = [ postgresql ];
+       description = "A Haskell Interface to PostgreSQL via the PQ library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) postgresql;};
+
+  "hsql-sqlite3" = callPackage
+    ({ mkDerivation, base, hsql, sqlite }:
+     mkDerivation {
+       pname = "hsql-sqlite3";
+       version = "1.8.2";
+       sha256 = "15f7f4f4k1afrpmkw2k6lyx1b81hlwvwv660yh0vm2vz269mxycl";
+       buildDepends = [ base hsql ];
+       extraLibraries = [ sqlite ];
+       description = "SQLite3 driver for HSQL";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) sqlite;};
+
+  "hsqml" = callPackage
+    ({ mkDerivation, base, c2hs, containers, directory, filepath, qt5
+     , QuickCheck, tagged, text, transformers
+     }:
+     mkDerivation {
+       pname = "hsqml";
+       version = "0.3.3.0";
+       sha256 = "0m0g822182q45cvl3k7ir1c6g5wzwb1c9137g1c62f3npinb0kmz";
+       buildDepends = [
+         base containers filepath tagged text transformers
+       ];
+       testDepends = [ base containers directory QuickCheck tagged text ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ qt5 ];
+       jailbreak = true;
+       homepage = "http://www.gekkou.co.uk/software/hsqml/";
+       description = "Haskell binding for Qt Quick";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) qt5;};
+
+  "hsqml-demo-morris" = callPackage
+    ({ mkDerivation, base, containers, deepseq, directory, hsqml
+     , OddWord, text
+     }:
+     mkDerivation {
+       pname = "hsqml-demo-morris";
+       version = "0.3.1.0";
+       sha256 = "0zkjcll4hgsv1ji4rd48fx95hn90vl9vvdzxbirqfaf40xai58md";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers deepseq directory hsqml OddWord text
+       ];
+       homepage = "http://www.gekkou.co.uk/software/hsqml/";
+       description = "HsQML-based implementation of Nine Men's Morris";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsqml-demo-notes" = callPackage
+    ({ mkDerivation, base, hsqml, sqlite-simple, text }:
+     mkDerivation {
+       pname = "hsqml-demo-notes";
+       version = "0.3.2.0";
+       sha256 = "0d754caiip1hgzhw2lc09bqyk7g3zqlyr3y51fa76v4dl7d0maxj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hsqml sqlite-simple text ];
+       homepage = "http://www.gekkou.co.uk/software/hsqml/";
+       description = "Sticky notes example program implemented in HsQML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsqml-demo-samples" = callPackage
+    ({ mkDerivation, base, hsqml, OpenGL, OpenGLRaw, text }:
+     mkDerivation {
+       pname = "hsqml-demo-samples";
+       version = "0.3.3.0";
+       sha256 = "072k2vc6wk8r2zn2isp37p9xhi8dbg15sy5hmpj868lzbq3mzyac";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hsqml OpenGL OpenGLRaw text ];
+       jailbreak = true;
+       homepage = "http://www.gekkou.co.uk/software/hsqml/";
+       description = "HsQML sample programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsqml-morris" = callPackage
+    ({ mkDerivation, base, containers, deepseq, directory, hsqml
+     , OddWord, tagged
+     }:
+     mkDerivation {
+       pname = "hsqml-morris";
+       version = "0.2.0.0";
+       sha256 = "1qisi1r8lljgkwc9v5p3nqq6b78vdn9wyydsp31dxqnbd1lyg5ax";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers deepseq directory hsqml OddWord tagged
+       ];
+       jailbreak = true;
+       homepage = "http://www.gekkou.co.uk/";
+       description = "HsQML-based implementation of Nine Men's Morris";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsshellscript" = callPackage
+    ({ mkDerivation, base, c2hs, directory, parsec, random, unix }:
+     mkDerivation {
+       pname = "hsshellscript";
+       version = "3.3.3";
+       sha256 = "0g8qm1nx2dzsmkn2rp1vwqgvgqpxgjambnmq81qyky66d83mgbz1";
+       buildDepends = [ base directory parsec random unix ];
+       buildTools = [ c2hs ];
+       homepage = "http://www.volker-wysk.de/hsshellscript/";
+       description = "Haskell for Unix shell scripting tasks";
+       license = "LGPL";
+     }) {};
+
+  "hssourceinfo" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, regexpr }:
+     mkDerivation {
+       pname = "hssourceinfo";
+       version = "0.0.2";
+       sha256 = "07g1wsm4131ymp4ym33fx8yfs0bsqn9as65lkyg21ajc0dz2j1qa";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers directory filepath regexpr ];
+       description = "get haskell source code info";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hssqlppp" = callPackage
+    ({ mkDerivation, base, containers, groom, HUnit, mtl, parsec
+     , pretty, syb, template-haskell, test-framework
+     , test-framework-hunit, transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "hssqlppp";
+       version = "0.4.2";
+       sha256 = "083mczqb5ca52ly88xhmd8244q8j1iyf0kkxmgp4w13w6sa5lwzl";
+       buildDepends = [
+         base containers mtl parsec pretty syb template-haskell transformers
+         uniplate
+       ];
+       testDepends = [
+         base containers groom HUnit mtl parsec pretty syb template-haskell
+         test-framework test-framework-hunit transformers uniplate
+       ];
+       jailbreak = true;
+       homepage = "http://jakewheat.github.com/hssqlppp/";
+       description = "SQL parser and type checker";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hstatistics" = callPackage
+    ({ mkDerivation, array, base, hmatrix, hmatrix-gsl-stats, random
+     , vector
+     }:
+     mkDerivation {
+       pname = "hstatistics";
+       version = "0.2.5.2";
+       sha256 = "08bkffx3d87c3cb3zp0gdj10cw1cb2m55lbqkh6b6lvxjy26igvp";
+       buildDepends = [
+         array base hmatrix hmatrix-gsl-stats random vector
+       ];
+       homepage = "http://code.haskell.org/hstatistics";
+       description = "Statistics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hstats" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "hstats";
+       version = "0.3";
+       sha256 = "04v03gha4p0i9ymjladmzpw8mwk72s60aihk50k2ixqja976y9hj";
+       buildDepends = [ base haskell98 ];
+       homepage = "http://github.com/unmarshal/hstats/";
+       description = "Statistical Computing in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hstatsd" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, network, text }:
+     mkDerivation {
+       pname = "hstatsd";
+       version = "0.1";
+       sha256 = "092q52yyb1xdji1y72bdcgvp8by2w1z9j717sl1gmh2p89cpjrs4";
+       buildDepends = [ base bytestring mtl network text ];
+       homepage = "https://github.com/mokus0/hstatsd";
+       description = "Quick and dirty statsd interface";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "hstest" = callPackage
+    ({ mkDerivation, base, directory, filepath, ghc, ghc-paths, HUnit
+     , mtl, QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "hstest";
+       version = "0.0.1";
+       sha256 = "0afvl5b82alnbdj0l26scg1qy7rln94qk9an252p83zlg5nd16gd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath ghc ghc-paths HUnit mtl QuickCheck random
+       ];
+       jailbreak = true;
+       homepage = "http://bitbucket.org/dave4420/hstest/wiki/Home";
+       description = "Runs tests via QuickCheck1 and HUnit; like quickCheck-script but uses GHC api";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hstidy" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "hstidy";
+       version = "0.2";
+       sha256 = "1hjsdxl0vn42n5kfiq42yvrr3j31sjy9g7iwjlnj2x72jff79vxs";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell-src-exts ];
+       homepage = "http://code.haskell.org/~morrow/code/haskell/hstidy";
+       description = "Takes haskell source on stdin, parses it, then prettyprints it to stdout";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hstorchat" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, hsqml, HUnit
+     , network, process, QuickCheck, random, safecopy, socks, tagged
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text
+     }:
+     mkDerivation {
+       pname = "hstorchat";
+       version = "0.1.1.0";
+       sha256 = "1d87s6f6qgq7sbqzdgidnn3gxz9panhdk2mfhd7263hb9mrq1k3c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base containers hsqml network process random safecopy
+         socks tagged text
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "Distributed instant messaging over Tor";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hstradeking" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , case-insensitive, conduit, configurator, containers, hoauth
+     , http-conduit, lifted-base, numbers, old-locale, resourcet, RSA
+     , safe, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "hstradeking";
+       version = "0.1.0";
+       sha256 = "10wyvfha6vngrj8h8i9dx1skyz3c4g1pcx13cafix5cpim6dr64w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring case-insensitive conduit
+         configurator containers hoauth http-conduit lifted-base numbers
+         old-locale resourcet RSA safe text time transformers vector
+       ];
+       jailbreak = true;
+       description = "Tradeking API bindings for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hstyle" = callPackage
+    ({ mkDerivation, base, cmdargs, directory, filepath
+     , haskell-src-exts, syb, text, vector
+     }:
+     mkDerivation {
+       pname = "hstyle";
+       version = "0.2.0.3";
+       sha256 = "1a63i54zd9ls1lii4p2qzpds3q8xbcl8w8b6m53ix3n6ikpa4n35";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs directory filepath haskell-src-exts syb text vector
+       ];
+       jailbreak = true;
+       description = "Checks Haskell source code for style compliance";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hstzaar" = callPackage
+    ({ mkDerivation, base, cairo, containers, directory, filepath
+     , glade, gtk, parallel, QuickCheck, random, xml
+     }:
+     mkDerivation {
+       pname = "hstzaar";
+       version = "0.9.3";
+       sha256 = "1hjf5n7m5d9bnj1rwnsf2pvs6vcfvv2hf53a6pbyb63c4rgqzk2m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers directory filepath glade gtk parallel
+         QuickCheck random xml
+       ];
+       jailbreak = true;
+       homepage = "http://www.dcc.fc.up.pt/~pbv/stuff/hstzaar";
+       description = "A two player abstract strategy game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsubconvert" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, general-prelude, gitlib
+     , hslogger, lens, mtl, parallel-io, regex-posix, stringable
+     , svndump, system-fileio, system-filepath, text, text-format, time
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "hsubconvert";
+       version = "0.0.2";
+       sha256 = "1sl7dxqi47x937wivdlx5yg6a4niczcz22xs3flvgsrxbx1ahy9w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs general-prelude gitlib hslogger lens mtl
+         parallel-io regex-posix stringable svndump system-fileio
+         system-filepath text text-format time transformers unix
+       ];
+       homepage = "https://github.com/jwiegley/hsubconvert";
+       description = "One-time, faithful conversion of Subversion repositories to Git";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsverilog" = callPackage
+    ({ mkDerivation, base, containers, hspec, hspec-contrib
+     , hspec-expectations-lifted, shakespeare, text, transformers
+     }:
+     mkDerivation {
+       pname = "hsverilog";
+       version = "0.1.0";
+       sha256 = "1qk34zl1894ra9w0w2gzg8ivz230ymgyjghsd2cwn00fcsyafa7a";
+       buildDepends = [ base containers shakespeare text transformers ];
+       testDepends = [
+         base containers hspec hspec-contrib hspec-expectations-lifted
+         shakespeare text transformers
+       ];
+       description = "Synthesizable Verilog DSL supporting for multiple clock and reset";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hswip" = callPackage
+    ({ mkDerivation, base, haskell98, mtl, ncurses, readline, swipl }:
+     mkDerivation {
+       pname = "hswip";
+       version = "0.3";
+       sha256 = "11nlpnfjnypz76m2padkz7ppjdir1vz3bp65s9wzphvnsmp3a681";
+       buildDepends = [ base haskell98 mtl ];
+       extraLibraries = [ ncurses readline swipl ];
+       description = "embedding prolog in haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) ncurses;  inherit (pkgs) readline;
+          swipl = null;};
+
+  "hsx" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, mtl, utf8-string }:
+     mkDerivation {
+       pname = "hsx";
+       version = "0.10.5";
+       sha256 = "046428y16h6za41lwqkp5pnqfd74zw8jiz8xw7j7sq0rhylg134v";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base haskell-src-exts mtl utf8-string ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/nibro/hsx";
+       description = "HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsx-jmacro" = callPackage
+    ({ mkDerivation, base, happstack-hsp, hsp, jmacro, mtl, text
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "hsx-jmacro";
+       version = "7.3.6";
+       sha256 = "1fr60b57z2ri2pfs890xvrzrh4n75p2j4nmb7b819cf4rhgshgnh";
+       buildDepends = [
+         base happstack-hsp hsp jmacro mtl text wl-pprint-text
+       ];
+       homepage = "http://www.happstack.com/";
+       description = "hsp+jmacro support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsx-xhtml" = callPackage
+    ({ mkDerivation, base, hsx, mtl }:
+     mkDerivation {
+       pname = "hsx-xhtml";
+       version = "0.4.4";
+       sha256 = "1051fh4yjnsax60v4rfh5r87n660ygq033gmg710nm3gw57ihkl2";
+       buildDepends = [ base hsx mtl ];
+       homepage = "http://code.google.com/hsp";
+       description = "XHTML utilities to use together with HSX";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsx2hs" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-exts
+     , haskell-src-meta, mtl, template-haskell, utf8-string
+     }:
+     mkDerivation {
+       pname = "hsx2hs";
+       version = "0.13.3.1";
+       sha256 = "12hj4vqkz097kjf2gk40jj9r61sydfmlhm6b5r0z1q96ys9m82k9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring haskell-src-exts haskell-src-meta mtl
+         template-haskell utf8-string
+       ];
+       homepage = "https://github.com/seereason/hsx2hs";
+       description = "HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hsyscall" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hsyscall";
+       version = "0.4";
+       sha256 = "0ysi317vwgksaq78k31sb8s34rjjhl4w8ncvycfsmmdnv7cdg2ld";
+       buildDepends = [ base ];
+       homepage = "http://github.com/aycanirican/hsyscall";
+       description = "FFI to syscalls";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hsyslog" = callPackage
+    ({ mkDerivation, base, doctest }:
+     mkDerivation {
+       pname = "hsyslog";
+       version = "2.0";
+       sha256 = "02v698grn43bvikqhqiz9ys8x2amngdmhvl3i0ar9203p2x8q3pq";
+       buildDepends = [ base ];
+       testDepends = [ base doctest ];
+       homepage = "http://github.com/peti/hsyslog";
+       description = "FFI interface to syslog(3) from POSIX.1-2001";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hszephyr" = callPackage
+    ({ mkDerivation, base, bytestring, com_err, mtl, time, zephyr }:
+     mkDerivation {
+       pname = "hszephyr";
+       version = "0.1";
+       sha256 = "0lgzricdq2vijmsqrwg93amxslmdwzj17c4ppmws3pcb54xj2fsr";
+       buildDepends = [ base bytestring mtl time ];
+       extraLibraries = [ com_err zephyr ];
+       description = "Simple libzephyr bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { com_err = null;  zephyr = null;};
+
+  "htags" = callPackage
+    ({ mkDerivation, base, directory, filepath, haskell-src, mtl }:
+     mkDerivation {
+       pname = "htags";
+       version = "1.0.1";
+       sha256 = "064ddzligzqimdhprgpgl1j0gf4xv53anaisx3fc88as104q8zjk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath haskell-src mtl ];
+       description = "A Haskell98 parsing tags program similar to ctags";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "htar" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib, directory, filepath
+     , old-locale, tar, time, zlib
+     }:
+     mkDerivation {
+       pname = "htar";
+       version = "0.4.0.1";
+       sha256 = "17zxk0fig5sh967zz33k8as132i2ghazpj5w93vl6hw8d1hrj2n6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bzlib directory filepath old-locale tar time zlib
+       ];
+       description = "Command-line tar archive utility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "htiled" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, containers
+     , filepath, hxt, split, zlib
+     }:
+     mkDerivation {
+       pname = "htiled";
+       version = "0.1.2.0";
+       sha256 = "1g0fak4iwjii5zvn79hcdydrp4vs5c0nwwbf7v2m2gajw1r34fg9";
+       buildDepends = [
+         base base64-bytestring bytestring containers filepath hxt split
+         zlib
+       ];
+       description = "Import from the Tiled map editor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "htime" = callPackage
+    ({ mkDerivation, base, process, time }:
+     mkDerivation {
+       pname = "htime";
+       version = "0.3.1";
+       sha256 = "14y7ipbc6ic1qraxnrs4k0hrqh5c8ks1fsm8af6wm9x762bcfaxr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process time ];
+       description = "Timing utility for the command line";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "html" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "html";
+       version = "1.0.1.2";
+       sha256 = "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c";
+       buildDepends = [ base ];
+       description = "HTML combinator library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "html-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , containers, hspec, HUnit, resourcet, system-filepath
+     , tagstream-conduit, text, transformers, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "html-conduit";
+       version = "1.1.1.2";
+       sha256 = "116sg4wig2irqqaha257h99ajgqdq6i3jbksvqn1ywqzq96lcx34";
+       buildDepends = [
+         base bytestring conduit conduit-extra containers resourcet
+         system-filepath tagstream-conduit text transformers xml-conduit
+         xml-types
+       ];
+       testDepends = [
+         base bytestring containers hspec HUnit xml-conduit
+       ];
+       homepage = "https://github.com/snoyberg/xml";
+       description = "Parse HTML documents using xml-conduit datatypes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "html-email-validate" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, QuickCheck
+     , regex-pcre-builtin, text, text-show
+     }:
+     mkDerivation {
+       pname = "html-email-validate";
+       version = "0.1.0.0";
+       sha256 = "076xiv1r9yzaxr84v211kib6xy9aggal0vgyz565vgwqpfm2hif4";
+       buildDepends = [ attoparsec base text text-show ];
+       testDepends = [
+         attoparsec base hspec QuickCheck regex-pcre-builtin text
+       ];
+       description = "Validating an email address against HTML standard";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "html-kure" = callPackage
+    ({ mkDerivation, base, hxt, kure }:
+     mkDerivation {
+       pname = "html-kure";
+       version = "0.2";
+       sha256 = "022m9lm642g7as0a5qkgmmamsh51kgx9nk6y01wgq24ln65injmr";
+       buildDepends = [ base hxt kure ];
+       homepage = "www.ittc.ku.edu/csdl/fpg/software/html-kure";
+       description = "HTML rewrite engine, using KURE";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "html-minimalist" = callPackage
+    ({ mkDerivation, base, xml }:
+     mkDerivation {
+       pname = "html-minimalist";
+       version = "0.15";
+       sha256 = "06qhjb8c1x9wab77g493bbqqm068alkc4vn7c6dj810gdgxwgw5j";
+       buildDepends = [ base xml ];
+       homepage = "http://rd.slavepianos.org/t/html-minimalist";
+       description = "Minimalist haskell html library";
+       license = "GPL";
+     }) {};
+
+  "html-rules" = callPackage
+    ({ mkDerivation, base, lens, mtl, tagsoup, transformers }:
+     mkDerivation {
+       pname = "html-rules";
+       version = "0.1.0.1";
+       sha256 = "1k0jqx1mlcar6z8ggrz3fv1nzilkwdxvg3gvsb3pg7nvbkhz5lpw";
+       buildDepends = [ base lens mtl tagsoup transformers ];
+       homepage = "http://github.com/kylcarte/html-rules/";
+       description = "Perform traversals of HTML structures using sets of rules";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "html-truncate" = callPackage
+    ({ mkDerivation, base, tagsoup }:
+     mkDerivation {
+       pname = "html-truncate";
+       version = "0.3.0.0";
+       sha256 = "1d66kdg81774b8isw1mfkl54sgmaz0n04n6shd5jjz18sjwyxp14";
+       buildDepends = [ base tagsoup ];
+       homepage = "https://github.com/mruegenberg/html-truncate";
+       description = "A HTML truncator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "html2hamlet" = callPackage
+    ({ mkDerivation, ascii, base, blaze-builder, bytestring, cmdargs
+     , hamlet, http-enumerator, network, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "html2hamlet";
+       version = "0.1.0";
+       sha256 = "1nh6whpc9xdlmkw4n3lfi8xgfbgvb0lz7dry25j5fgxgvpsa0g9d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ascii base blaze-builder bytestring cmdargs hamlet http-enumerator
+         network text xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tanakh/html2hamlet";
+       description = "HTML to Hamlet converter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "html5-entity" = callPackage
+    ({ mkDerivation, base, containers, text }:
+     mkDerivation {
+       pname = "html5-entity";
+       version = "0.2.0.2";
+       sha256 = "1vy47b9k71jjrrhgakq9hla67cf006fvj6ggqxq14b0a1bclfkf7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers text ];
+       homepage = "https://github.com/zudov/html5-entity/";
+       description = "A library for looking up and validating HTML5 entities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "htodo" = callPackage
+    ({ mkDerivation, base, HDBC, HDBC-sqlite3 }:
+     mkDerivation {
+       pname = "htodo";
+       version = "0.0.4";
+       sha256 = "0av34wypj47h4aifwqjjdwihb5b5jly5hcr32jq64ld94b7r4l2m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HDBC HDBC-sqlite3 ];
+       homepage = "http://github.com/pirapira/htodo";
+       description = "A todo application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "htoml" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , file-embed, old-locale, parsec, tasty, tasty-hspec, tasty-hunit
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "htoml";
+       version = "0.1.0.2";
+       sha256 = "0gv57isivg65wd05yxcyi2wv4ck2f153pkk2vblp6q1xh7d81asm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring Cabal containers file-embed old-locale parsec
+         tasty tasty-hspec tasty-hunit text time unordered-containers vector
+       ];
+       testDepends = [
+         base bytestring Cabal containers file-embed parsec tasty
+         tasty-hspec tasty-hunit text time unordered-containers vector
+       ];
+       homepage = "https://github.com/cies/htoml";
+       description = "Parser for TOML files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "htrace" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "htrace";
+       version = "0.1";
+       sha256 = "0ar1w9p6ppag2vp8kw6byirhfdfs4r639pjh5icnyiiliz6jkvlx";
+       buildDepends = [ base ];
+       description = "Hierarchical tracing for debugging of lazy evaluation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hts" = callPackage
+    ({ mkDerivation, base, hmt, xml }:
+     mkDerivation {
+       pname = "hts";
+       version = "0.15";
+       sha256 = "0l09skjsds4p9kdwrwrxg8hdd1ja7m2zmggf23dfimzm1jsij6y2";
+       buildDepends = [ base hmt xml ];
+       homepage = "http://rd.slavepianos.org/t/hts";
+       description = "Haskell Music Typesetting";
+       license = "GPL";
+     }) {};
+
+  "htsn" = callPackage
+    ({ mkDerivation, base, cmdargs, configurator, directory, filepath
+     , hdaemonize, hslogger, htsn-common, hxt, MissingH, network
+     , process, tasty, tasty-hunit, unix
+     }:
+     mkDerivation {
+       pname = "htsn";
+       version = "0.1.1";
+       sha256 = "123h3x22652xfnc1szvclnhfnr5wb5ndx8ahyvramvgjr1mmxpp5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs configurator directory filepath hdaemonize hslogger
+         htsn-common hxt MissingH network tasty tasty-hunit unix
+       ];
+       testDepends = [
+         base cmdargs configurator directory filepath hdaemonize hslogger
+         htsn-common hxt MissingH network process tasty tasty-hunit unix
+       ];
+       description = "Parse XML files from The Sports Network feed";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "htsn-common" = callPackage
+    ({ mkDerivation, ansi-terminal, base, hslogger, transformers }:
+     mkDerivation {
+       pname = "htsn-common";
+       version = "0.0.2";
+       sha256 = "0ywp0683mna16znsqn6h6k5iihpzhj909hivgmlvfzkrn6plvc15";
+       buildDepends = [ ansi-terminal base hslogger transformers ];
+       description = "Display/logging facilities used by both htsn and htsn-import";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "htsn-import" = callPackage
+    ({ mkDerivation, base, cmdargs, configurator, containers, directory
+     , doctest, filepath, fixed-vector-hetero, groundhog
+     , groundhog-postgresql, groundhog-sqlite, groundhog-th, hslogger
+     , htsn-common, hxt, MissingH, old-locale, process, split, tasty
+     , tasty-hunit, time, transformers, tuple
+     }:
+     mkDerivation {
+       pname = "htsn-import";
+       version = "0.2.4";
+       sha256 = "1mm098a748dmwzzak0ciam7dq80l3iv4hvk8c1crr03dbybr8rq3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs configurator containers directory filepath
+         fixed-vector-hetero groundhog groundhog-postgresql groundhog-sqlite
+         groundhog-th hslogger htsn-common hxt MissingH old-locale split
+         tasty tasty-hunit time transformers tuple
+       ];
+       testDepends = [
+         base cmdargs configurator containers directory doctest filepath
+         fixed-vector-hetero groundhog groundhog-postgresql groundhog-sqlite
+         groundhog-th hslogger htsn-common hxt MissingH old-locale process
+         split tasty tasty-hunit time transformers tuple
+       ];
+       description = "Import XML files from The Sports Network into an RDBMS";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "http-accept" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "http-accept";
+       version = "0.2";
+       sha256 = "1ivwkwr9jgbf6m2dv4gaw5vxrz2vm5wzz65ncl5jpma6wimwh4ii";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/singpolyma/http-accept";
+       description = "Functions for working with HTTP Accept headers";
+       license = "unknown";
+     }) {};
+
+  "http-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, http-types }:
+     mkDerivation {
+       pname = "http-attoparsec";
+       version = "0.1.1";
+       sha256 = "12l892fix11mrvm10awwvv31y59q5rb6gb0sqjp6l4p4ym9ngqa3";
+       buildDepends = [ attoparsec base bytestring http-types ];
+       jailbreak = true;
+       homepage = "https://github.com/tlaitinen/http-attoparsec";
+       description = "Attoparsec parsers for http-types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-client" = callPackage
+    ({ mkDerivation, array, async, base, base64-bytestring
+     , blaze-builder, bytestring, case-insensitive, clock, containers
+     , cookie, data-default-class, deepseq, directory, exceptions
+     , filepath, ghc-prim, hspec, http-types, mime-types, monad-control
+     , network, network-uri, publicsuffixlist, random, streaming-commons
+     , text, time, transformers, zlib
+     }:
+     mkDerivation {
+       pname = "http-client";
+       version = "0.4.11";
+       sha256 = "0lzrvkja3na2s6r4ixgnj7fx8gjm02bxxs101d69d6s3b0n80phb";
+       buildDepends = [
+         array base base64-bytestring blaze-builder bytestring
+         case-insensitive clock containers cookie data-default-class deepseq
+         exceptions filepath ghc-prim http-types mime-types network
+         network-uri publicsuffixlist random streaming-commons text time
+         transformers
+       ];
+       testDepends = [
+         async base base64-bytestring blaze-builder bytestring
+         case-insensitive containers deepseq directory hspec http-types
+         monad-control network streaming-commons text time transformers zlib
+       ];
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "An HTTP client engine, intended as a base layer for more user-friendly packages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "http-client-auth" = callPackage
+    ({ mkDerivation, base, base64-string, blaze-builder, bytestring
+     , case-insensitive, conduit, crypto-conduit, http-client
+     , http-conduit, pureMD5, resourcet, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "http-client-auth";
+       version = "0.1.0.1";
+       sha256 = "07scawz138qffcgw5lyxbxmwdm0czhylqy1rzm0ff59n8amr46j4";
+       buildDepends = [
+         base base64-string blaze-builder bytestring case-insensitive
+         conduit crypto-conduit http-client http-conduit pureMD5 resourcet
+         transformers utf8-string
+       ];
+       description = "HTTP authorization (both basic and digest) done right";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-client-conduit" = callPackage
+    ({ mkDerivation, base, http-client }:
+     mkDerivation {
+       pname = "http-client-conduit";
+       version = "0.3.0";
+       sha256 = "0k2vq9y7kfbkhcsszjr74ahq5nw5z7dbzjhw1ixbigcr56axsd19";
+       buildDepends = [ base http-client ];
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "Frontend support for using http-client with conduit (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "http-client-lens" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-types, lens
+     , network
+     }:
+     mkDerivation {
+       pname = "http-client-lens";
+       version = "0.1.0";
+       sha256 = "1n5q3wprhp8kwwq2n1v06l1a9k9p3z96rxv3kr6bbwga9lsb3jip";
+       buildDepends = [
+         base bytestring http-client http-types lens network
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/reinh/http-client-lens";
+       description = "Optics for http-client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-client-multipart" = callPackage
+    ({ mkDerivation, base, http-client }:
+     mkDerivation {
+       pname = "http-client-multipart";
+       version = "0.3.0.0";
+       sha256 = "18za6s3658hgm95rrygghrz0b643c7nkzaimb14v2hv82w3k9crg";
+       buildDepends = [ base http-client ];
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "Generate multipart uploads for http-client. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "http-client-openssl" = callPackage
+    ({ mkDerivation, base, HsOpenSSL, hspec, http-client, http-types
+     , network
+     }:
+     mkDerivation {
+       pname = "http-client-openssl";
+       version = "0.2.0.1";
+       sha256 = "1mg2gn51ixb68wd8mm66kcj4627q6gj64810wsa1axy3jmk5qym3";
+       buildDepends = [ base HsOpenSSL http-client network ];
+       testDepends = [ base HsOpenSSL hspec http-client http-types ];
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "http-client backend using the OpenSSL library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "http-client-request-modifiers" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, http-client
+     , http-media, http-types, network, network-uri
+     }:
+     mkDerivation {
+       pname = "http-client-request-modifiers";
+       version = "0.1";
+       sha256 = "1bd6r24gh0nxfj040q3x39nqnpkdqkri1wdlg3jf2h61cb5gli5r";
+       buildDepends = [
+         base bytestring exceptions http-client http-media http-types
+         network network-uri
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/spl/http-client-request-modifiers";
+       description = "Convenient monadic HTTP request modifiers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http-client-streams" = callPackage
+    ({ mkDerivation, base, bytestring, HsOpenSSL, http-client
+     , http-client-openssl, io-streams, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "http-client-streams";
+       version = "0.3.1.0";
+       sha256 = "1q9w0l89a599l4955kb3156ysmlg7il9pz0x7kfl3bxly4gadf8z";
+       buildDepends = [
+         base bytestring HsOpenSSL http-client http-client-openssl
+         io-streams mtl transformers
+       ];
+       jailbreak = true;
+       description = "http-client for io-streams supporting openssl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-client-tls" = callPackage
+    ({ mkDerivation, base, bytestring, connection, data-default-class
+     , hspec, http-client, http-types, network, tls
+     }:
+     mkDerivation {
+       pname = "http-client-tls";
+       version = "0.2.2";
+       sha256 = "0a01r05h5fxswyn6k6cgqgak4scqjan72hyy5wbdqzzhl4rmh7j5";
+       buildDepends = [
+         base bytestring connection data-default-class http-client network
+         tls
+       ];
+       testDepends = [ base hspec http-client http-types ];
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "http-client backend using the connection package and tls library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "http-common" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
+     , case-insensitive, directory, mtl, network, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "http-common";
+       version = "0.7.2.0";
+       sha256 = "0w83qz35aaxc2k3qqpamh8anqxr7w3vym5qh40w1a8n4x00pm960";
+       buildDepends = [
+         base base64-bytestring blaze-builder bytestring case-insensitive
+         directory mtl network text transformers unordered-containers
+       ];
+       homepage = "http://research.operationaldynamics.com/projects/http-streams/";
+       description = "Common types for HTTP clients and servers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-conduit" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , conduit, conduit-extra, connection, cookie, data-default-class
+     , hspec, http-client, http-client-tls, http-types, HUnit
+     , lifted-base, monad-control, mtl, network, resourcet
+     , streaming-commons, text, time, transformers, utf8-string, wai
+     , wai-conduit, warp, warp-tls
+     }:
+     mkDerivation {
+       pname = "http-conduit";
+       version = "2.1.5";
+       sha256 = "0vk2an6h3h7a5klk9xrf3apfm6xdmqm418yrr7pb56b7w5sfq003";
+       buildDepends = [
+         base bytestring conduit http-client http-client-tls http-types
+         lifted-base monad-control mtl resourcet transformers
+       ];
+       testDepends = [
+         base blaze-builder bytestring case-insensitive conduit
+         conduit-extra connection cookie data-default-class hspec
+         http-client http-types HUnit lifted-base network streaming-commons
+         text time transformers utf8-string wai wai-conduit warp warp-tls
+       ];
+       homepage = "http://www.yesodweb.com/book/http-conduit";
+       description = "HTTP client package with conduit interface and HTTPS support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-conduit-browser" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
+     , case-insensitive, conduit, containers, cookie, data-default
+     , exceptions, hspec, http-client, http-conduit, http-types, HUnit
+     , lifted-base, monad-control, network, network-uri, resourcet, text
+     , time, transformers, transformers-base, wai, warp
+     }:
+     mkDerivation {
+       pname = "http-conduit-browser";
+       version = "2.0.0.0";
+       sha256 = "1swgsb14mwsfrwhw2ggydi2wm24hrqlisslh5q46qll7rl2gx19q";
+       buildDepends = [
+         base bytestring conduit containers cookie data-default exceptions
+         http-client http-conduit http-types lifted-base monad-control
+         network-uri resourcet time transformers transformers-base
+       ];
+       testDepends = [
+         base base64-bytestring blaze-builder bytestring case-insensitive
+         conduit containers cookie data-default hspec http-client
+         http-conduit http-types HUnit lifted-base monad-control network
+         resourcet text time transformers wai warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/exbb2/http-conduit-browser";
+       description = "Browser interface to the http-conduit package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http-conduit-downloader" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, connection
+     , data-default, HsOpenSSL, http-client, http-conduit, http-types
+     , lifted-base, mtl, network, network-uri, old-locale, resourcet
+     , time, zlib
+     }:
+     mkDerivation {
+       pname = "http-conduit-downloader";
+       version = "1.0.25";
+       sha256 = "0g393cmkbpb40in03zlyahxxwiy5i7zj7wg5zb92a0hkmjkgbrka";
+       buildDepends = [
+         base bytestring conduit connection data-default HsOpenSSL
+         http-client http-conduit http-types lifted-base mtl network
+         network-uri old-locale resourcet time zlib
+       ];
+       homepage = "https://github.com/bazqux/http-conduit-downloader";
+       description = "HTTP downloader tailored for web-crawler needs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-date" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, doctest
+     , hspec, old-locale, time
+     }:
+     mkDerivation {
+       pname = "http-date";
+       version = "0.0.6";
+       sha256 = "0f1s4bfazckl016pi2nzrmmiv0f6pnr9mgvsdj33ysvknp0md3c9";
+       buildDepends = [ array attoparsec base bytestring ];
+       testDepends = [ base bytestring doctest hspec old-locale time ];
+       description = "HTTP Date parser/formatter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-encodings" = callPackage
+    ({ mkDerivation, base, bytestring, HTTP, iconv, mime, mtl, parsec
+     , text, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "http-encodings";
+       version = "0.9.3";
+       revision = "1";
+       sha256 = "0b29zqa2ybja73jip83qn1xhiinn1k64b6dmc39ccp48ip1xdnvn";
+       editedCabalFile = "b9e6dd65c8dd4119887c084f1bd14570ab0540e723afb845212f041e871210d7";
+       buildDepends = [
+         base bytestring HTTP iconv mime mtl parsec text utf8-string zlib
+       ];
+       homepage = "http://github.com/achudnov/http-encodings";
+       description = "A library for encoding and decoding bodies of HTTP messages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-enumerator" = callPackage
+    ({ mkDerivation, asn1-data, attoparsec, attoparsec-enumerator, base
+     , base64-bytestring, blaze-builder, blaze-builder-enumerator
+     , bytestring, case-insensitive, certificate, containers, cprng-aes
+     , data-default, enumerator, failure, http-types, monad-control
+     , network, tls, tls-extra, transformers, utf8-string, zlib-enum
+     }:
+     mkDerivation {
+       pname = "http-enumerator";
+       version = "0.7.3.3";
+       sha256 = "10w2ppgb4kjl3h77iq7j9qh3gcl6a0fvbpidi2njd4pfhrq4lgs6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         asn1-data attoparsec attoparsec-enumerator base base64-bytestring
+         blaze-builder blaze-builder-enumerator bytestring case-insensitive
+         certificate containers cprng-aes data-default enumerator failure
+         http-types monad-control network tls tls-extra transformers
+         utf8-string zlib-enum
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/http-enumerator";
+       description = "HTTP client package with enumerator interface and HTTPS support. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http-kit" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, hspec
+     , http-types, QuickCheck, quickcheck-instances
+     }:
+     mkDerivation {
+       pname = "http-kit";
+       version = "0.5.1";
+       sha256 = "1swnvsbaabk946pys9q9kr0bgdvalnznd59dw981sg7cywqdcz28";
+       buildDepends = [ base bytestring case-insensitive http-types ];
+       testDepends = [
+         base bytestring hspec http-types QuickCheck quickcheck-instances
+       ];
+       description = "A low-level HTTP library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "http-link-header" = callPackage
+    ({ mkDerivation, attoparsec, base, errors, hspec, hspec-attoparsec
+     , network-uri, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "http-link-header";
+       version = "0.1.0";
+       sha256 = "1lcl0ylj8lq0i2b806k1yqvzbv9dg1m4ka9bmvmhz4z78kiahck1";
+       buildDepends = [ attoparsec base errors network-uri text ];
+       testDepends = [ base hspec hspec-attoparsec QuickCheck text ];
+       jailbreak = true;
+       homepage = "https://github.com/myfreeweb/http-link-header";
+       description = "A parser and writer for the HTTP Link header as specified in RFC 5988 \"Web Linking\"";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "http-media" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cabal-test-quickcheck
+     , case-insensitive, containers, QuickCheck
+     }:
+     mkDerivation {
+       pname = "http-media";
+       version = "0.6.1";
+       sha256 = "0x2smkccs64ll31adwj4n7kr1qalihyj28py2k5qwl2ynyygxbxq";
+       buildDepends = [ base bytestring case-insensitive containers ];
+       testDepends = [
+         base bytestring Cabal cabal-test-quickcheck case-insensitive
+         containers QuickCheck
+       ];
+       homepage = "https://github.com/zmthy/http-media";
+       description = "Processing HTTP Content-Type and Accept headers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "http-monad" = callPackage
+    ({ mkDerivation, base, bytestring, containers, explicit-exception
+     , HTTP, lazyio, network, parsec, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "http-monad";
+       version = "0.1.1";
+       sha256 = "127fy54km9js02kp5ws9pyg2d1qc2ar1342g1w2p3h8086il6mp7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers explicit-exception HTTP lazyio network
+         parsec transformers utility-ht
+       ];
+       jailbreak = true;
+       description = "Monad abstraction for HTTP allowing lazy transfer and non-I/O simulation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http-proxy" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder
+     , blaze-builder-conduit, bytestring, bytestring-lexing
+     , case-insensitive, conduit, ghc-prim, http-conduit, http-types
+     , lifted-base, network, resourcet, tls, transformers, wai
+     }:
+     mkDerivation {
+       pname = "http-proxy";
+       version = "0.0.12";
+       sha256 = "0k6qmr3xrky1w90if2jvzc9bgifxifxkwbymw8zndgxs976zpdig";
+       buildDepends = [
+         base base64-bytestring blaze-builder blaze-builder-conduit
+         bytestring bytestring-lexing case-insensitive conduit ghc-prim
+         http-conduit http-types lifted-base network resourcet tls
+         transformers wai
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/erikd/http-proxy";
+       description = "A library for writing HTTP and HTTPS proxies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http-querystring" = callPackage
+    ({ mkDerivation, base, bytestring, containers, doctest, hspec
+     , http-types, QuickCheck
+     }:
+     mkDerivation {
+       pname = "http-querystring";
+       version = "1.0";
+       sha256 = "0n21x8w9pggyp5lbgww70g7860k6n35csq669s9gvrmv1n22k7m6";
+       buildDepends = [ base bytestring containers http-types ];
+       testDepends = [
+         base bytestring containers doctest hspec http-types QuickCheck
+       ];
+       homepage = "https://github.com/worksap-ate/http-querystring";
+       description = "The HTTP query builder";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-reverse-proxy" = 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
+     }:
+     mkDerivation {
+       pname = "http-reverse-proxy";
+       version = "0.4.1.2";
+       sha256 = "1gggn5l08g7mxbka0h7h8w687y3awbm19395fi6wvis76isyz8wy";
+       buildDepends = [
+         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
+       ];
+       testDepends = [
+         base blaze-builder bytestring conduit conduit-extra hspec
+         http-conduit http-types lifted-base network resourcet
+         streaming-commons transformers wai warp
+       ];
+       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;
+     }) {};
+
+  "http-server" = callPackage
+    ({ mkDerivation, base, HTTP, mime, network, network-uri, text, unix
+     , url, utf8-string
+     }:
+     mkDerivation {
+       pname = "http-server";
+       version = "1.0.6";
+       sha256 = "1da385swv7x92d8cpdz28bdp38a8h058svbbpnkqpvrs0m0lgm2w";
+       buildDepends = [
+         base HTTP mime network network-uri text unix url utf8-string
+       ];
+       homepage = "https://github.com/GaloisInc/http-server";
+       description = "A library for writing Haskell web servers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-shed" = callPackage
+    ({ mkDerivation, base, network }:
+     mkDerivation {
+       pname = "http-shed";
+       version = "0.1";
+       sha256 = "0asb499rkxr3jzyv5abiqcjx7jdsxkqndcaiqrlx7sfb6f3rccdv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base network ];
+       description = "A simple websever with an interact style API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http-streams" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, blaze-builder, bytestring, case-insensitive
+     , directory, ghc-prim, HsOpenSSL, hspec, hspec-expectations
+     , http-common, HUnit, io-streams, MonadCatchIO-transformers, mtl
+     , network, network-uri, openssl-streams, snap-core, snap-server
+     , system-fileio, system-filepath, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "http-streams";
+       version = "0.7.2.6";
+       sha256 = "1n44cscyrwrp71j96kjbwhak8c7hy4pjgp4b4p6ygm1hiy2xx1b7";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring blaze-builder bytestring
+         case-insensitive directory HsOpenSSL http-common io-streams mtl
+         network network-uri openssl-streams text transformers
+         unordered-containers
+       ];
+       testDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring blaze-builder
+         bytestring case-insensitive directory ghc-prim HsOpenSSL hspec
+         hspec-expectations http-common HUnit io-streams
+         MonadCatchIO-transformers mtl network network-uri openssl-streams
+         snap-core snap-server system-fileio system-filepath text
+         transformers unordered-containers
+       ];
+       homepage = "http://research.operationaldynamics.com/projects/http-streams/";
+       description = "An HTTP client using io-streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-test" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client, lens
+     , lens-aeson, mtl, tasty, tasty-hunit, text, time, wreq
+     }:
+     mkDerivation {
+       pname = "http-test";
+       version = "0.2.4";
+       sha256 = "06y7nikmyr9jrcrnsqy63p1zv1nv0z1h1bmbryr4dkh5pisfmr83";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring http-client lens lens-aeson mtl tasty
+         tasty-hunit text time wreq
+       ];
+       homepage = "https://github.com/openbrainsrc/http-test";
+       description = "Test framework for HTTP APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http-types" = callPackage
+    ({ mkDerivation, array, base, blaze-builder, bytestring
+     , case-insensitive, doctest, hspec, QuickCheck
+     , quickcheck-instances, text
+     }:
+     mkDerivation {
+       pname = "http-types";
+       version = "0.8.6";
+       sha256 = "1q1ni88rs8d79xnk1x2jaf3848ygxlfhpvv4gw46k08lw29ihfxh";
+       buildDepends = [
+         array base blaze-builder bytestring case-insensitive text
+       ];
+       testDepends = [
+         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-wget" = callPackage
+    ({ mkDerivation, base, failure, process, transformers }:
+     mkDerivation {
+       pname = "http-wget";
+       version = "0.6.2.3";
+       sha256 = "1sbg4gpx8ikaxb15wflm7fnjnkr32fj07bva62z54dsm630s37fx";
+       buildDepends = [ base failure process transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/http-wget/tree/master";
+       description = "Provide a simple HTTP client interface by wrapping the wget command line tool. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "http2" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base, blaze-builder
+     , bytestring, containers, directory, doctest, filepath, Glob, hex
+     , hspec, PSQueue, text, unordered-containers, vector, word8
+     }:
+     mkDerivation {
+       pname = "http2";
+       version = "0.9.1";
+       sha256 = "1aqc8rhnh1l3f3fq6n9vjgamxjxjip52f9j01caaccrylahy57mm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty array base blaze-builder bytestring containers
+         directory filepath hex PSQueue text unordered-containers vector
+         word8
+       ];
+       testDepends = [
+         aeson aeson-pretty array base blaze-builder bytestring containers
+         directory doctest filepath Glob hex hspec PSQueue text
+         unordered-containers vector word8
+       ];
+       description = "HTTP/2.0 library including frames and HPACK";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "httpd-shed" = callPackage
+    ({ mkDerivation, base, network, network-uri }:
+     mkDerivation {
+       pname = "httpd-shed";
+       version = "0.4.0.3";
+       sha256 = "064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base network network-uri ];
+       description = "A simple web-server with an interact style API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "https-everywhere-rules" = callPackage
+    ({ mkDerivation, attoparsec, base, errors, functor-infix, hspec
+     , http-client, https-everywhere-rules-raw, lens, network, pipes
+     , string-conversions, taggy-lens, text, text-icu
+     }:
+     mkDerivation {
+       pname = "https-everywhere-rules";
+       version = "0.1.0";
+       sha256 = "170ynbjv8dz221rs26i4d0kwkv3h4ljmx5azslc9jj9lzgb42knp";
+       buildDepends = [
+         attoparsec base errors functor-infix http-client
+         https-everywhere-rules-raw lens network pipes string-conversions
+         taggy-lens text text-icu
+       ];
+       testDepends = [
+         attoparsec base errors functor-infix hspec http-client
+         https-everywhere-rules-raw lens network pipes string-conversions
+         taggy-lens text text-icu
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fmap/https-everywhere-rules";
+       description = "High-level access to HTTPS Everywhere rulesets";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "https-everywhere-rules-raw" = callPackage
+    ({ mkDerivation, base, directory, filepath, functor-infix, text }:
+     mkDerivation {
+       pname = "https-everywhere-rules-raw";
+       version = "4.0";
+       sha256 = "0zm3znn42nzh9dlpjjn38nsz8rsb0gzl5rv6ngii1vfq534sddy6";
+       buildDepends = [ base directory filepath functor-infix text ];
+       jailbreak = true;
+       homepage = "https://github.com/fmap/https-everywhere-rules-raw";
+       description = "Low-level (i.e. XML) access to HTTPS Everywhere rulesets.";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "httpspec" = callPackage
+    ({ mkDerivation, base, bidispec, bytestring, cgi, containers
+     , encoding, filepath, HTTP, hxt, hxthelper, MissingH, mtl, network
+     , pretty, safe
+     }:
+     mkDerivation {
+       pname = "httpspec";
+       version = "0.3.0.1";
+       sha256 = "1vghkrs72cja9x2lqshh6nhsdp8f68s3wh7zljn86011h4widd5v";
+       buildDepends = [
+         base bidispec bytestring cgi containers encoding filepath HTTP hxt
+         hxthelper MissingH mtl network pretty safe
+       ];
+       description = "Specification of HTTP request/response generators and parsers";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "htune" = callPackage
+    ({ mkDerivation, alsa-pcm, base, carray, fft, gloss }:
+     mkDerivation {
+       pname = "htune";
+       version = "0.2";
+       sha256 = "1il1d8b7xyv59f7xim337zyh88s1qchsrdhrgmv322hqf73n6rh2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ alsa-pcm base carray fft gloss ];
+       jailbreak = true;
+       description = "harmonic analyser and tuner for musical instruments";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "htzaar" = callPackage
+    ({ mkDerivation, base, OpenGL, random, SDL }:
+     mkDerivation {
+       pname = "htzaar";
+       version = "0.0.2";
+       sha256 = "12g41q821yh43nslb96jpqyb58k1lz6g0a6vmqw202m0hv94npdb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base OpenGL random SDL ];
+       jailbreak = true;
+       homepage = "http://tomahawkins.org";
+       description = "A two player abstract strategy game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hub" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , fgl, filepath, hexpat, process, regex-compat, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "hub";
+       version = "1.9.0.1";
+       sha256 = "10hcaddk1mqzyl1fmzsvzqq141lg9a43295158ckmkbnx8i1rxv1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory fgl filepath hexpat
+         process regex-compat unix utf8-string
+       ];
+       homepage = "http://justhub.org";
+       description = "For multiplexing GHC installations and providing development sandboxes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hubigraph" = callPackage
+    ({ mkDerivation, base, containers, haxr, mtl }:
+     mkDerivation {
+       pname = "hubigraph";
+       version = "0.3.2";
+       sha256 = "19mxblqy3bchhrk725x4kmpa9hidjzj0d0sqhx34smqw7v36x814";
+       buildDepends = [ base containers haxr mtl ];
+       homepage = "http://ooxo.org/hubigraph/";
+       description = "A haskell wrap for Ubigraph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hubris" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers, ghc
+     , ghc-paths, haskell98, hint, mtl, old-time, process, ruby
+     }:
+     mkDerivation {
+       pname = "hubris";
+       version = "0.0.3";
+       sha256 = "135q3nzchncbkx4bpx7p1glwnc9aw5j77f3xnr0d6llfba1bw79l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring Cabal containers ghc ghc-paths haskell98 hint
+         mtl old-time process
+       ];
+       extraLibraries = [ ruby ];
+       jailbreak = true;
+       description = "Support library for Hubris, the Ruby <=> Haskell bridge";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) ruby;};
+
+  "huffman" = callPackage
+    ({ mkDerivation, base, containers, fingertree }:
+     mkDerivation {
+       pname = "huffman";
+       version = "1.0.1";
+       sha256 = "191llv4s64jrh8cma43r5z740avd5picja5fr45l4mi2gwmkx4s3";
+       buildDepends = [ base containers fingertree ];
+       description = "Pure Haskell implementation of the Huffman encoding algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hugs2yc" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl, parsec
+     , uniplate, ycextra, yhccore
+     }:
+     mkDerivation {
+       pname = "hugs2yc";
+       version = "0.1.1";
+       sha256 = "1bmcdjwh08q84ijx7hdfraz0wqq0wwgf5pj0jlmdq5rbpb9c547a";
+       buildDepends = [
+         base containers directory filepath mtl parsec uniplate ycextra
+         yhccore
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Yhc";
+       description = "Hugs Front-end to Yhc Core";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hulk" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive, cmdargs
+     , ConfigFile, containers, Crypto, directory, fastirc, filepath
+     , ghc-prim, monad-extras, mtl, network, split, strict, text, time
+     , unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "hulk";
+       version = "0.2.0";
+       sha256 = "0vq0sb11kiiry67bh5ish1cwj8sf6rgf70p1zrm462zsqgv9wkk2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring case-insensitive cmdargs ConfigFile
+         containers Crypto directory fastirc filepath ghc-prim monad-extras
+         mtl network split strict text time unix utf8-string
+       ];
+       jailbreak = true;
+       description = "IRC server written in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hums" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , ConfigFile, containers, directory, filepath, HaXml, http-types
+     , hxt, MissingH, mtl, network, system-fileio, system-filepath
+     , system-uuid, text, transformers, unix, unordered-containers, wai
+     , warp
+     }:
+     mkDerivation {
+       pname = "hums";
+       version = "0.7.0";
+       sha256 = "1wb9bn83lrn6cpp0gkpc7v40m9wlx8i8zqijm4dmd23zzmrlrxhr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring case-insensitive ConfigFile
+         containers directory filepath HaXml http-types hxt MissingH mtl
+         network system-fileio system-filepath system-uuid text transformers
+         unix unordered-containers wai warp
+       ];
+       jailbreak = true;
+       description = "Haskell UPnP Media Server";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hunit-gui" = callPackage
+    ({ mkDerivation, base, cairo, gtk, haskell98, HUnit }:
+     mkDerivation {
+       pname = "hunit-gui";
+       version = "0.1.4";
+       sha256 = "0wzy2gjxpqr0j2cfnl88ixccm8dv3z9cql1zpzr4ph6g37dc9w60";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cairo gtk haskell98 HUnit ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/kwallmar/hunit_gui/home";
+       description = "A GUI testrunner for HUnit";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hunit-parsec" = callPackage
+    ({ mkDerivation, base, HUnit, parsec }:
+     mkDerivation {
+       pname = "hunit-parsec";
+       version = "0.3";
+       sha256 = "089l8n1yjcf6sypr76r8p0djwpcqaa5xdk1d0m2k9piig9fnzr40";
+       buildDepends = [ base HUnit parsec ];
+       description = "An HUnit Testable instance for Parsec parser unit tests";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hunit-rematch" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, rematch }:
+     mkDerivation {
+       pname = "hunit-rematch";
+       version = "0.1.0.1";
+       sha256 = "1xj5f6l8nfanbf0xdwl2j2na45w5h0spi9a8pxqgpxx2rak145gs";
+       buildDepends = [ base HUnit rematch ];
+       testDepends = [ base hspec HUnit rematch ];
+       jailbreak = true;
+       homepage = "github.com/tcrayford/rematch";
+       description = "HUnit support for rematch";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hunp" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, monads-fd
+     , parsec, pcre-light, process, split
+     }:
+     mkDerivation {
+       pname = "hunp";
+       version = "0.1";
+       sha256 = "0k07dbqrlnhg3a4yk25gc665z43hcl57kblr20mzryw0cf9zdsci";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath monads-fd parsec pcre-light
+         process split
+       ];
+       homepage = "http://github.com/skorpan/hunp/tree/master";
+       description = "Unpacker tool with DWIM";
+       license = "GPL";
+     }) {};
+
+  "hunt-searchengine" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, bytestring
+     , containers, data-default, data-r-tree, data-stringmap, deepseq
+     , directory, dlist, filepath, hslogger, HUnit, hxt-regex-xmlschema
+     , monad-parallel, mtl, murmur-hash, old-locale, parsec, QuickCheck
+     , random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hunt-searchengine";
+       version = "0.3.0.1";
+       sha256 = "1y8pq158jwdl3zq5f0xdgszihp8z181lhwd92d66ckw9nh0sllw6";
+       buildDepends = [
+         aeson aeson-pretty base binary bytestring containers data-default
+         data-r-tree data-stringmap deepseq dlist filepath hslogger
+         hxt-regex-xmlschema monad-parallel mtl murmur-hash parsec text time
+         transformers unordered-containers vector
+       ];
+       testDepends = [
+         aeson base binary containers data-default data-r-tree directory
+         HUnit monad-parallel mtl old-locale QuickCheck random
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/hunt-framework/";
+       description = "A search and indexing engine";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hunt-server" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, blaze-html
+     , blaze-markup, bytestring, cmdargs, containers, data-default
+     , deepseq, ekg-core, hamlet, hslogger, http-types
+     , hunt-searchengine, mtl, scotty, shakespeare-js, text, wai
+     , wai-extra, wai-middleware-static, warp
+     }:
+     mkDerivation {
+       pname = "hunt-server";
+       version = "0.3.0.2";
+       sha256 = "19bbn97pj01sbqbjkgh82hiwzxfybnnm29wj4irgicab0d72jvg6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base binary blaze-html blaze-markup bytestring
+         cmdargs containers data-default deepseq ekg-core hamlet hslogger
+         http-types hunt-searchengine mtl scotty shakespeare-js text wai
+         wai-extra wai-middleware-static warp
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/hunt-framework";
+       description = "A search and indexing engine server";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hunt-server-cli" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, bytestring
+     , conduit, conduit-extra, containers, csv-conduit, data-default
+     , docopt, hslogger, http-types, hunt-client, hunt-searchengine, mtl
+     , resourcet, string-conversions, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "hunt-server-cli";
+       version = "0.2.0.0";
+       sha256 = "1pmlg06jipmc99v7clz2q7x3bh4ndar55595fx729khnjrbiy9bz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base binary bytestring conduit conduit-extra
+         containers csv-conduit data-default docopt hslogger http-types
+         hunt-client hunt-searchengine mtl resourcet string-conversions text
+         time transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/hunt-framework";
+       description = "A Command line Interface for the Hunt server";
+       license = stdenv.lib.licenses.mit;
+       broken = true;
+     }) { hunt-client = null;};
+
+  "hurdle" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, kangaroo }:
+     mkDerivation {
+       pname = "hurdle";
+       version = "0.4.0";
+       sha256 = "13hg6v7vk72yiy0qhwm1f3ksm85vf56a3g5mm62kpbb0lcxvvqwf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base bytestring containers kangaroo ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Extract function names from Windows DLLs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "husk-scheme" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, ghc-paths, haskeline, knob, mtl, parsec, process, time
+     , transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "husk-scheme";
+       version = "3.19";
+       sha256 = "1y8b15cgiky6kasx21q4gw4h40scyby4mkqynq96kaq2yrrayd5q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory filepath ghc-paths
+         haskeline knob mtl parsec process time transformers utf8-string
+       ];
+       homepage = "http://justinethier.github.com/husk-scheme";
+       description = "R5RS Scheme interpreter, compiler, and library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "husk-scheme-libs" = callPackage
+    ({ mkDerivation, array, base, containers, husk-scheme, json, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "husk-scheme-libs";
+       version = "0.0.1";
+       sha256 = "18c8ww2f7bgxbh33agcrpb36xgjn7zs509ji7q968hnwqnx9vgcj";
+       buildDepends = [
+         array base containers husk-scheme json mtl transformers
+       ];
+       homepage = "http://justinethier.github.com/husk-scheme";
+       description = "Extra libraries for the husk Scheme platform";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "husky" = callPackage
+    ({ mkDerivation, base, containers, mtl, old-locale, parsec
+     , readline, time
+     }:
+     mkDerivation {
+       pname = "husky";
+       version = "0.4";
+       sha256 = "136sskjkb4nwsqdmgyly207zv4kv27bxf633p2wl869wcr6kkdbg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl old-locale parsec readline time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/markusle/husky/tree/master";
+       description = "A simple command line calculator";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "huzzy" = callPackage
+    ({ mkDerivation, base, easyplot }:
+     mkDerivation {
+       pname = "huzzy";
+       version = "0.1.5.5";
+       sha256 = "0i8h380nszd7hk7x6l7qx0ri6k12551li2m77gspzakcf47l6ldp";
+       buildDepends = [ base easyplot ];
+       description = "Fuzzy logic library with support for T1, IT2, GT2";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hwall-auth-iitk" = callPackage
+    ({ mkDerivation, base, bytestring, haskeline, http-conduit
+     , http-types, mtl, regex-compat, unix
+     }:
+     mkDerivation {
+       pname = "hwall-auth-iitk";
+       version = "0.1.0.1";
+       sha256 = "0ibxdyg9r5n3dc8szhb8fvdjsbgpbwdah2aahn0kagi1zxw24fl2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring haskeline http-conduit http-types mtl regex-compat
+         unix
+       ];
+       description = "Initial version of firewall Authentication for IITK network";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hweblib" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, HUnit
+     , mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "hweblib";
+       version = "0.6.3";
+       sha256 = "03dmx5irlsyb3b9zg2r6nz947sslizkn0nlk65ldb5n4m8my33hy";
+       buildDepends = [
+         attoparsec base bytestring containers mtl text transformers
+       ];
+       testDepends = [
+         attoparsec base bytestring containers HUnit mtl transformers
+       ];
+       homepage = "http://github.com/aycanirican/hweblib";
+       description = "Haskell Web Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hws" = callPackage
+    ({ mkDerivation, array, base, containers, directory, haskell98
+     , html, mtl, network, old-time, regex-compat, text, unix
+     }:
+     mkDerivation {
+       pname = "hws";
+       version = "1.1.0.1";
+       sha256 = "0d0f0bwbfcmbm1jx6m90qxxjad2adz5k0k51i4jh5ylrfa9xfs7r";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory haskell98 html mtl network old-time
+         regex-compat text unix
+       ];
+       jailbreak = true;
+       description = "Simple Haskell Web Server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hwsl2" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cabal-test-quickcheck
+     , QuickCheck, quickcheck-properties
+     }:
+     mkDerivation {
+       pname = "hwsl2";
+       version = "0.3.0.1";
+       sha256 = "1zs1wlnvh316n914mrlihrd4njbnq9n070ckq5f7hbax37v3h9p5";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base bytestring Cabal cabal-test-quickcheck QuickCheck
+         quickcheck-properties
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/srijs/hwsl2";
+       description = "Hashing with SL2";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hx" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hx";
+       version = "0.4";
+       sha256 = "04wkgql6gs9glmp9kj5awis5b15vmwgkyqzi814k9514k3c7c1rb";
+       buildDepends = [ base ];
+       description = "Haskell extras (missing utility functions)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hxmppc" = callPackage
+    ({ mkDerivation, base, fclabels, network, network-protocol-xmpp
+     , text, transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "hxmppc";
+       version = "0.2.3";
+       sha256 = "1fri1xcs95ynkf471hrkai0k8kvxhx77ra07yripycnlpa9fcwj9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base fclabels network network-protocol-xmpp text transformers
+         xml-types
+       ];
+       jailbreak = true;
+       description = "Haskell XMPP (Jabber Client) Command Line Interface (CLI)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hxournal" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, cmdargs, configurator
+     , containers, Diff, directory, double-conversion, dyre, fclabels
+     , filepath, gtk, monad-coroutine, mtl, poppler, strict
+     , template-haskell, time, transformers, TypeCompose
+     , xournal-builder, xournal-parser, xournal-render, xournal-types
+     }:
+     mkDerivation {
+       pname = "hxournal";
+       version = "0.6.6.1";
+       sha256 = "1fk4cgk4ncf5v7k8hankwb49ablfcxj1rcw64ka6pz3jrz4sablq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo cmdargs configurator containers Diff
+         directory double-conversion dyre fclabels filepath gtk
+         monad-coroutine mtl poppler strict template-haskell time
+         transformers TypeCompose xournal-builder xournal-parser
+         xournal-render xournal-types
+       ];
+       jailbreak = true;
+       homepage = "http://ianwookim.org/hxournal";
+       description = "A pen notetaking program written in haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hxt" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , directory, filepath, HUnit, hxt-charproperties
+     , hxt-regex-xmlschema, hxt-unicode, mtl, network-uri, parsec
+     }:
+     mkDerivation {
+       pname = "hxt";
+       version = "9.3.1.15";
+       sha256 = "0q35jqi3g5qfwzp2p2hm22lkmbmk08bx2qvpgq4731zm48y7ngkj";
+       buildDepends = [
+         base binary bytestring containers deepseq directory filepath HUnit
+         hxt-charproperties hxt-regex-xmlschema hxt-unicode mtl network-uri
+         parsec
+       ];
+       configureFlags = [ "-fnetwork-uri" ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "A collection of tools for processing XML with Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hxt-binary" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bzlib, deepseq
+     , haskell98, hxt
+     }:
+     mkDerivation {
+       pname = "hxt-binary";
+       version = "0.0.2";
+       sha256 = "1hbby0lcb9kis05zsf5rgyisa1qwryvv8zf91q9fi0j0d7s3rasw";
+       buildDepends = [
+         base binary bytestring bzlib deepseq haskell98 hxt
+       ];
+       jailbreak = true;
+       homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+       description = "Serialisation and deserialisation of HXT XmlTrees";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hxt-cache" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , directory, filepath, hxt, old-locale, SHA, time, unix
+     }:
+     mkDerivation {
+       pname = "hxt-cache";
+       version = "9.1.0.1";
+       sha256 = "1ki3h9x186c6p1c6hnczr0a1idil6kfvs2jl9d9hmzp9rlmh2w7l";
+       buildDepends = [
+         base binary bytestring containers deepseq directory filepath hxt
+         old-locale SHA time unix
+       ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "Cache for HXT XML Documents and other binary data";
+       license = "unknown";
+     }) {};
+
+  "hxt-charproperties" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hxt-charproperties";
+       version = "9.2.0.1";
+       sha256 = "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4";
+       buildDepends = [ base ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "Character properties and classes for XML and Unicode";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hxt-css" = callPackage
+    ({ mkDerivation, base, hxt, parsec, split }:
+     mkDerivation {
+       pname = "hxt-css";
+       version = "0.1.0.1";
+       sha256 = "0z8qswykx0k965n2mfp87b6h8fixrydvjg98d8h37bclfsqzj15w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base hxt parsec split ];
+       homepage = "https://github.com/redneb/hxt-css";
+       description = "CSS selectors for HXT";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hxt-curl" = callPackage
+    ({ mkDerivation, base, bytestring, curl, hxt, parsec }:
+     mkDerivation {
+       pname = "hxt-curl";
+       version = "9.1.1.1";
+       sha256 = "1sn5ngzz5qszdb3anbpqbjdijz29gmrwjrg9vsmrqsdqz65wrhfd";
+       buildDepends = [ base bytestring curl hxt parsec ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "LibCurl interface for HXT";
+       license = "unknown";
+     }) {};
+
+  "hxt-expat" = callPackage
+    ({ mkDerivation, base, bytestring, hexpat, hxt }:
+     mkDerivation {
+       pname = "hxt-expat";
+       version = "9.1.1";
+       sha256 = "1mi2f2i31nqjqzwl82iypm1qngrpxp7lz506pjgqfbn840yc9n8h";
+       buildDepends = [ base bytestring hexpat hxt ];
+       homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+       description = "Expat parser for HXT";
+       license = "unknown";
+     }) {};
+
+  "hxt-extras" = callPackage
+    ({ mkDerivation, base, hxt }:
+     mkDerivation {
+       pname = "hxt-extras";
+       version = "0.4.1";
+       sha256 = "1bv8kcra2vgjbp7k0yczlrfbjh7ib2xixaqpnnd60hq84878nzb1";
+       buildDepends = [ base hxt ];
+       homepage = "http://code.google.com/p/hxt-extras/";
+       description = "Extra functions for HXT";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hxt-filter" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, haskell98
+     , HTTP, HUnit, hxt, network, parsec, process
+     }:
+     mkDerivation {
+       pname = "hxt-filter";
+       version = "8.4.2";
+       sha256 = "0jxiph7c59dc2fy5c2ygii1xlcmh8s5zb8c0hwvjkj0hzfjznra0";
+       buildDepends = [
+         base containers directory filepath haskell98 HTTP HUnit hxt network
+         parsec process
+       ];
+       jailbreak = true;
+       homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+       description = "A collection of tools for processing XML with Haskell (Filter variant)";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hxt-http" = callPackage
+    ({ mkDerivation, base, bytestring, HTTP, hxt, network, network-uri
+     , parsec
+     }:
+     mkDerivation {
+       pname = "hxt-http";
+       version = "9.1.5.2";
+       sha256 = "02yxvzczv89j518b94wh8m4dsmnymzxgv9158m7w6lqxk41rv8bg";
+       buildDepends = [
+         base bytestring HTTP hxt network network-uri parsec
+       ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "Interface to native Haskell HTTP package HTTP";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hxt-pickle-utils" = callPackage
+    ({ mkDerivation, base, hxt, mtl }:
+     mkDerivation {
+       pname = "hxt-pickle-utils";
+       version = "0.1.0.2";
+       revision = "1";
+       sha256 = "06v4935lljcyyx4a5v0z4id3fz4v28aghsrzr94k6diibpnwcdz2";
+       editedCabalFile = "89173b402c57c3ee7ee0eb2814e58d81e46cce5742a4f01684980b841359d2fb";
+       buildDepends = [ base hxt mtl ];
+       homepage = "https://github.com/silkapp/hxt-pickle-utils";
+       description = "Utility functions for using HXT picklers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hxt-regex-xmlschema" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, hxt-charproperties
+     , parsec, text
+     }:
+     mkDerivation {
+       pname = "hxt-regex-xmlschema";
+       version = "9.2.0.2";
+       sha256 = "1hkcd5p7rhv8z2vlcpd1gcdiyni28m8k8yd5fnxw8a9bvrnnfi27";
+       buildDepends = [ base bytestring hxt-charproperties parsec text ];
+       testDepends = [ base bytestring HUnit parsec text ];
+       homepage = "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema";
+       description = "A regular expression library for W3C XML Schema regular expressions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hxt-relaxng" = callPackage
+    ({ mkDerivation, base, containers, hxt, hxt-charproperties
+     , hxt-regex-xmlschema, network-uri, parsec
+     }:
+     mkDerivation {
+       pname = "hxt-relaxng";
+       version = "9.1.5.5";
+       sha256 = "07s47z5xhd0pdzz8mr9vg78qxay450sm8ljycpprq7y7mgh2vzhf";
+       buildDepends = [
+         base containers hxt hxt-charproperties hxt-regex-xmlschema
+         network-uri parsec
+       ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "The HXT RelaxNG validator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hxt-tagsoup" = callPackage
+    ({ mkDerivation, base, hxt, hxt-charproperties, hxt-unicode
+     , tagsoup
+     }:
+     mkDerivation {
+       pname = "hxt-tagsoup";
+       version = "9.1.3";
+       sha256 = "1rp499j6w3h9xfxqyw2fn05ffq3z0wg1r9h2c205m37mb8visq77";
+       buildDepends = [ base hxt hxt-charproperties hxt-unicode tagsoup ];
+       homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+       description = "TagSoup parser for HXT";
+       license = "unknown";
+     }) {};
+
+  "hxt-unicode" = callPackage
+    ({ mkDerivation, base, hxt-charproperties }:
+     mkDerivation {
+       pname = "hxt-unicode";
+       version = "9.0.2.4";
+       sha256 = "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v";
+       buildDepends = [ base hxt-charproperties ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hxt-xpath" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hxt, parsec
+     }:
+     mkDerivation {
+       pname = "hxt-xpath";
+       version = "9.1.2.2";
+       sha256 = "0wlq9s01icalnvjkkilx5zaqp3ff4v5limj1xy8i18qpzjspqdsh";
+       buildDepends = [ base containers directory filepath hxt parsec ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "The XPath modules for HXT";
+       license = "unknown";
+     }) {};
+
+  "hxt-xslt" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hxt
+     , hxt-xpath, parsec
+     }:
+     mkDerivation {
+       pname = "hxt-xslt";
+       version = "9.1.1.1";
+       sha256 = "020k7zjwbad5j2zbc0cgp8f5lggws5jijlcwmi71p510n0f51y9j";
+       buildDepends = [
+         base containers directory filepath hxt hxt-xpath parsec
+       ];
+       homepage = "https://github.com/UweSchmidt/hxt";
+       description = "The XSLT modules for HXT";
+       license = "unknown";
+     }) {};
+
+  "hxthelper" = callPackage
+    ({ mkDerivation, base, bytestring, encoding, hxt, mtl }:
+     mkDerivation {
+       pname = "hxthelper";
+       version = "0.2.2";
+       sha256 = "1il21mqmvvfdny5ksnyixj1wqhabvxqhccd6vj4dbzlvvf5yb6k1";
+       buildDepends = [ base bytestring encoding hxt mtl ];
+       jailbreak = true;
+       description = "Helper functions for HXT";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hxweb" = callPackage
+    ({ mkDerivation, base, cgi, fastcgi, libxml, mtl, xslt }:
+     mkDerivation {
+       pname = "hxweb";
+       version = "0.1";
+       sha256 = "0faiyflyhmn2y0bs920qgm9xkj9i69lzxhsg4rxffal989gi32z8";
+       buildDepends = [ base cgi fastcgi libxml mtl xslt ];
+       description = "Minimal webframework using fastcgi, libxml2 and libxslt";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hyahtzee" = callPackage
+    ({ mkDerivation, base, containers, HUnit, random }:
+     mkDerivation {
+       pname = "hyahtzee";
+       version = "0.2";
+       sha256 = "0zv9ycgf9sii59q86s04m6krjyjgmrqaxz4lyvwa58b7a886wcmv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers HUnit random ];
+       homepage = "http://github.com/DamienCassou/HYahtzee";
+       description = "A Yahtzee game implementation in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hyakko" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, cmdargs
+     , directory, filepath, highlighting-kate, mtl, pandoc
+     , regex-pcre-builtin, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hyakko";
+       version = "0.6.6";
+       sha256 = "1y0b5rxgiaygy0y42s2rnnw87br4d73nbjii9gpbf80rlvhdjagw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-html bytestring cmdargs directory filepath
+         highlighting-kate mtl pandoc regex-pcre-builtin text
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://sourrust.github.io/hyakko/";
+       description = "Literate-style Documentation Generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hybrid" = callPackage
+    ({ mkDerivation, base, containers, haskell98, mtl, parsec }:
+     mkDerivation {
+       pname = "hybrid";
+       version = "2.0";
+       sha256 = "05v69csnz7g9ikymnrmzjqhdwlrfsb44pbv8mzddgk6my9ddlb9w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers haskell98 mtl parsec ];
+       homepage = "http://repos.mine.nu/davve/darcs/hybrid";
+       description = "A implementation of a type-checker for Lambda-H";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hybrid-vectors" = callPackage
+    ({ mkDerivation, base, deepseq, primitive, vector }:
+     mkDerivation {
+       pname = "hybrid-vectors";
+       version = "0.1.2.1";
+       revision = "1";
+       sha256 = "0xh6yvv7jyahzrqihc13g1nlv81v0mzxvaxib5fcyr1njwbcwv59";
+       editedCabalFile = "9adcfe7dc98b64c7a1506a58c7a771bbc244874790b68f8bc7e1c859207632d7";
+       buildDepends = [ base deepseq primitive vector ];
+       homepage = "http://github.com/ekmett/hybrid-vectors";
+       description = "Hybrid vectors e.g. Mixed Boxed/Unboxed vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hydra-hs" = callPackage
+    ({ mkDerivation, base, hmatrix, sixense_x64 }:
+     mkDerivation {
+       pname = "hydra-hs";
+       version = "1.0.0.2";
+       sha256 = "18sxqangnl3gbb77dsg036ymsjj6w7zws2v43qnp3cfi0ksjxx8s";
+       buildDepends = [ base hmatrix ];
+       testDepends = [ base ];
+       extraLibraries = [ sixense_x64 ];
+       jailbreak = true;
+       homepage = "https://github.com/mruegenberg/hydra-hs";
+       description = "Haskell binding to the Sixense SDK for the Razer Hydra";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { sixense_x64 = null;};
+
+  "hydra-print" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , filepath, HUnit, io-streams, mtl, ncurses, process, QuickCheck
+     , random, semigroups, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, text, time
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "hydra-print";
+       version = "0.1.0.3";
+       sha256 = "16cgp3a475pzy0zasvfv3cvkvgc84g6p960sykk7y4aki0n3769i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring containers directory filepath io-streams mtl
+         ncurses process random semigroups text time transformers unix
+       ];
+       testDepends = [
+         async base bytestring containers directory HUnit io-streams mtl
+         ncurses process QuickCheck random semigroups test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+         text time transformers unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/rrnewton/hydra-print";
+       description = "NCurses interface to view multiple ByteString streams in parallel";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hydrogen" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, mtl, pretty
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hydrogen";
+       version = "0.3.0.0";
+       sha256 = "0aq4svvwcys06mv172zz4yp624f6mnjg94lycj4r66xhm8m3fv4i";
+       buildDepends = [ base bytestring containers mtl pretty text ];
+       testDepends = [ base Cabal containers mtl QuickCheck ];
+       jailbreak = true;
+       homepage = "https://www.github.com/ktvoelker/hydrogen";
+       description = "An alternate Prelude";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "hydrogen-cli" = callPackage
+    ({ mkDerivation, base, hydrogen-cli-args, hydrogen-data
+     , hydrogen-multimap, hydrogen-parsing, hydrogen-prelude
+     , hydrogen-syntax
+     }:
+     mkDerivation {
+       pname = "hydrogen-cli";
+       version = "0.14";
+       sha256 = "03hz4z964zg1b5nzywymrd1m3ss081rq6nnbqwcgbwabx6wd209b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base hydrogen-cli-args hydrogen-data hydrogen-multimap
+         hydrogen-parsing hydrogen-prelude hydrogen-syntax
+       ];
+       jailbreak = true;
+       homepage = "https://scravy.de/hydrogen-cli/";
+       description = "Hydrogen Data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hydrogen-cli-args" = callPackage
+    ({ mkDerivation, base, containers, hydrogen-multimap
+     , hydrogen-prelude
+     }:
+     mkDerivation {
+       pname = "hydrogen-cli-args";
+       version = "0.17";
+       sha256 = "1wapq5lfyvm09sl9n7zhiaxpb8iapirvizq3ak9rl17vy4iz5xl4";
+       buildDepends = [
+         base containers hydrogen-multimap hydrogen-prelude
+       ];
+       jailbreak = true;
+       homepage = "https://scravy.de/hydrogen-cli-args/";
+       description = "Hydrogen Command Line Arguments Parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hydrogen-data" = callPackage
+    ({ mkDerivation, base, hydrogen-parsing, hydrogen-prelude }:
+     mkDerivation {
+       pname = "hydrogen-data";
+       version = "0.14";
+       sha256 = "0d9457sarii5z1m2p1jzfk1g1ix2bm0s3ghfw7gab1w74i3hlh88";
+       buildDepends = [ base hydrogen-parsing hydrogen-prelude ];
+       jailbreak = true;
+       homepage = "https://scravy.de/hydrogen-data/";
+       description = "Hydrogen Data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hydrogen-multimap" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim }:
+     mkDerivation {
+       pname = "hydrogen-multimap";
+       version = "0.3";
+       sha256 = "0ik68a85yxdz12sgfpqi7bagkhvm9qgvl2bgplm2anxjsxcqbi93";
+       buildDepends = [ base containers ghc-prim ];
+       homepage = "https://scravy.de/hydrogen-multimap/";
+       description = "Hydrogen Multimap";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hydrogen-parsing" = callPackage
+    ({ mkDerivation, base, containers, hydrogen-prelude, parsec }:
+     mkDerivation {
+       pname = "hydrogen-parsing";
+       version = "0.17";
+       sha256 = "0m9rliry031lr7bn4xkbjmar288zcrnpsbnjdyxs13v675bh7h29";
+       buildDepends = [ base containers hydrogen-prelude parsec ];
+       jailbreak = true;
+       homepage = "https://scravy.de/hydrogen-parsing/";
+       description = "Hydrogen Parsing Utilities";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hydrogen-prelude" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cereal
+     , containers, directory, filepath, hashable, hydrogen-multimap
+     , hydrogen-version, network, process, random, regex-base
+     , regex-tdfa, strict, text, time, transformers, uuid
+     }:
+     mkDerivation {
+       pname = "hydrogen-prelude";
+       version = "0.20";
+       sha256 = "18g3r95ssg385zqzny3137ms0ppv7d33xgvc4gvxkijv8cgj1697";
+       buildDepends = [
+         array base binary bytestring cereal containers directory filepath
+         hashable hydrogen-multimap hydrogen-version network process random
+         regex-base regex-tdfa strict text time transformers uuid
+       ];
+       homepage = "http://scravy.de/hydrogen-prelude/";
+       description = "Hydrogen Prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hydrogen-prelude-parsec" = callPackage
+    ({ mkDerivation, base, hydrogen-prelude, parsec }:
+     mkDerivation {
+       pname = "hydrogen-prelude-parsec";
+       version = "0.17";
+       sha256 = "0hdvvp3kxc66y6bxzcrjqp7wc6s21isvfra0ps53j69jmnzqd2mh";
+       buildDepends = [ base hydrogen-prelude parsec ];
+       jailbreak = true;
+       homepage = "http://scravy.de/hydrogen-prelude-parsec/";
+       description = "Hydrogen Prelude /w Parsec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hydrogen-syntax" = callPackage
+    ({ mkDerivation, base, containers, hydrogen-parsing
+     , hydrogen-prelude, nicify, parsec, uuid
+     }:
+     mkDerivation {
+       pname = "hydrogen-syntax";
+       version = "0.17";
+       sha256 = "17j6iq2fh1s3vwkzd5js786abk1zkmj4dfg425d290k4nvdl08dv";
+       buildDepends = [
+         base containers hydrogen-parsing hydrogen-prelude nicify parsec
+         uuid
+       ];
+       jailbreak = true;
+       homepage = "https://scravy.de/hydrogen-syntax/";
+       description = "Hydrogen Syntax";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hydrogen-util" = callPackage
+    ({ mkDerivation, base, containers, hydrogen-prelude, parsec, time
+     }:
+     mkDerivation {
+       pname = "hydrogen-util";
+       version = "0.8";
+       sha256 = "14z2nf2af0ydqr2sm4r4cn252qn0hbacdc4z1lhyjnin66djb1a8";
+       buildDepends = [ base containers hydrogen-prelude parsec time ];
+       jailbreak = true;
+       homepage = "https://scravy.de/hydrogen-util/";
+       description = "Hydrogen Tools";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hydrogen-version" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "hydrogen-version";
+       version = "1.4";
+       sha256 = "04v39lvh0z0ig6igsz7ncfasag3j6pdbsa86gyp63n4g325fmf38";
+       buildDepends = [ base ];
+       homepage = "https://scravy.de/hydrogen-version/";
+       description = "Hydrogen Version Type";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hyena" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , extensible-exceptions, filepath, mtl, network, network-bytestring
+     , unix
+     }:
+     mkDerivation {
+       pname = "hyena";
+       version = "0.1.0.1";
+       sha256 = "0899lw0vyvcw03ph4w717rxach2ncb69xfn9387j7fl0s01ch0ji";
+       buildDepends = [
+         base bytestring containers directory extensible-exceptions filepath
+         mtl network network-bytestring unix
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tibbe/hyena";
+       description = "Simple web application server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hylolib" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, pretty, QuickCheck
+     , random, uniplate
+     }:
+     mkDerivation {
+       pname = "hylolib";
+       version = "1.4.0";
+       sha256 = "160k8lp6r2rbgj7qz3msa5sd5yxkdb5rjlhwd5lqbcxw2sry0vj2";
+       buildDepends = [
+         array base containers mtl pretty QuickCheck random uniplate
+       ];
+       jailbreak = true;
+       description = "Tools for hybrid logics related programs";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hylotab" = callPackage
+    ({ mkDerivation, base, hylolib, mtl }:
+     mkDerivation {
+       pname = "hylotab";
+       version = "1.2.1";
+       sha256 = "0xynx72xpb84g19gnsgq00gwj3ycfgk5qgd9j949b6k3fqr3n71w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base hylolib mtl ];
+       homepage = "http://www.glyc.dc.uba.ar/intohylo/hylotab.php";
+       description = "Tableau based theorem prover for hybrid logics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hyloutils" = callPackage
+    ({ mkDerivation, base, containers, hylolib, mtl, uniplate }:
+     mkDerivation {
+       pname = "hyloutils";
+       version = "1.0";
+       sha256 = "1pn14f3hjcxa5bww0pg2irqmbvfs7f3vfwl8z87jmxfyydgffgnh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers hylolib mtl uniplate ];
+       description = "Very small programs for hybrid logics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hyperdrive" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing
+     , extensible-exceptions, mtl, network, pipes, pretty
+     }:
+     mkDerivation {
+       pname = "hyperdrive";
+       version = "0.1";
+       sha256 = "0hvgxsrq1aws5c97w1lrk87d74kn8796vmclkdxhajfammj6ccz9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-lexing extensible-exceptions mtl network
+         pipes pretty
+       ];
+       jailbreak = true;
+       description = "a fast, trustworthy HTTP(s) server built";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hyperloglog" = callPackage
+    ({ mkDerivation, approximate, base, binary, bits, bytes, cereal
+     , cereal-vector, comonad, deepseq, directory, distributive, doctest
+     , filepath, generic-deriving, hashable, hashable-extras, lens
+     , reflection, safecopy, semigroupoids, semigroups, simple-reflect
+     , siphash, tagged, vector
+     }:
+     mkDerivation {
+       pname = "hyperloglog";
+       version = "0.3.1";
+       sha256 = "13pmqkqldy5n274rld9acdypp39f51qmc9v14kwpw95lkpd9bxnl";
+       buildDepends = [
+         approximate base binary bits bytes cereal cereal-vector comonad
+         deepseq distributive generic-deriving hashable hashable-extras lens
+         reflection safecopy semigroupoids semigroups siphash tagged vector
+       ];
+       testDepends = [
+         base directory doctest filepath generic-deriving semigroups
+         simple-reflect
+       ];
+       homepage = "http://github.com/analytics/hyperloglog";
+       description = "An approximate streaming (constant space) unique object counter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hyperpublic" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , http-enumerator, http-types
+     }:
+     mkDerivation {
+       pname = "hyperpublic";
+       version = "0.1.1";
+       sha256 = "07jz89x0daps5rkmccjprrbkwn5mzdskp2yv8asfnmcyir36lmzd";
+       buildDepends = [
+         aeson attoparsec base bytestring http-enumerator http-types
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mkscrg/hyperpublic-haskell";
+       description = "A thin wrapper for the Hyperpublic API";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hyphenate" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hyphenate";
+       version = "0.1";
+       sha256 = "0pnp5d1a0hwn6jm8v6i7yygd831q2bvsz6qb9n8db8n17lfxikx4";
+       buildDepends = [ base containers ];
+       homepage = "http://www.alpheccar.org";
+       description = "Text hyphenation algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hyphenation" = callPackage
+    ({ mkDerivation, base, containers, directory, doctest, filepath
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "hyphenation";
+       version = "0.5";
+       sha256 = "10xw74d1q2kz8mv8gspa9amgax5a864iz9jxihyjcs9x1pgh762a";
+       buildDepends = [ base containers unordered-containers ];
+       testDepends = [
+         base containers directory doctest filepath unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/hyphenation";
+       description = "Configurable Knuth-Liang hyphenation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hypher" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , data-default, hashable, HTTP, http-conduit, http-types, HUnit
+     , lifted-base, monad-control, mtl, QuickCheck, resourcet
+     , scientific, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, text, transformers
+     , transformers-base, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hypher";
+       version = "0.1.5";
+       sha256 = "0q5lpza6l4aqd85i1wxkkrdd3j9kk2k8xd0l6szpgkv87b41qfhk";
+       buildDepends = [
+         aeson base bytestring containers data-default hashable HTTP
+         http-conduit http-types lifted-base monad-control mtl resourcet
+         scientific text transformers transformers-base unordered-containers
+         vector
+       ];
+       testDepends = [
+         aeson base bytestring Cabal data-default hashable HTTP http-conduit
+         http-types HUnit lifted-base monad-control mtl QuickCheck resourcet
+         scientific test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th text transformers
+         transformers-base unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/zoetic-community/hypher";
+       description = "A Haskell neo4j client";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hzk" = callPackage
+    ({ mkDerivation, base, bytestring, resource-pool, tasty
+     , tasty-hunit, time, zookeeper_mt
+     }:
+     mkDerivation {
+       pname = "hzk";
+       version = "2.1.0";
+       sha256 = "1jcvha3wzf6wka1zpmsvg1j48jl85v1s4p0mryfhjqz7l9h3wkac";
+       buildDepends = [ base bytestring resource-pool time ];
+       testDepends = [
+         base bytestring resource-pool tasty tasty-hunit time
+       ];
+       buildTools = [ zookeeper_mt ];
+       extraLibraries = [ zookeeper_mt ];
+       homepage = "http://github.com/dgvncsz0f/hzk";
+       description = "Haskell client library for Apache Zookeeper";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) zookeeper_mt;};
+
+  "hzulip" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, conduit
+     , exceptions, hspec, http-client, http-client-tls, http-types, lens
+     , lens-aeson, mtl, raw-strings-qq, scotty, stm, stm-conduit, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hzulip";
+       version = "1.1.1.1";
+       sha256 = "1gxywjng4mv0g13yap2a0i62l8wlbncj8ajj87ca6p8aikrd6cm1";
+       buildDepends = [
+         aeson base bytestring conduit exceptions http-client
+         http-client-tls http-types lens lens-aeson mtl stm stm-conduit text
+         transformers
+       ];
+       testDepends = [
+         aeson async base bytestring conduit exceptions hspec http-client
+         http-client-tls http-types lens lens-aeson mtl raw-strings-qq
+         scotty stm stm-conduit text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/yamadapc/hzulip";
+       description = "A haskell wrapper for the Zulip API";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "i18n" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath, mtl
+     , old-locale, old-time, parsec, utf8-string
+     }:
+     mkDerivation {
+       pname = "i18n";
+       version = "0.3";
+       sha256 = "0l1z9acg1nnxs66w70vyhlj3wx2xg7w0lja59yp5awmh98815q1p";
+       buildDepends = [
+         array base containers directory filepath mtl old-locale old-time
+         parsec utf8-string
+       ];
+       description = "Internationalization for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iCalendar" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring
+     , case-insensitive, containers, data-default, mime, mtl, network
+     , network-uri, old-locale, parsec, text, time
+     }:
+     mkDerivation {
+       pname = "iCalendar";
+       version = "0.4.0.2";
+       sha256 = "0a6kj6ih8dpzvld7hjvjp6gcf4f2y81x6bx17z6wgzwdj9fv7jry";
+       buildDepends = [
+         base base64-bytestring bytestring case-insensitive containers
+         data-default mime mtl network network-uri old-locale parsec text
+         time
+       ];
+       homepage = "http://github.com/tingtun/iCalendar";
+       description = "iCalendar data types, parser, and printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iException" = callPackage
+    ({ mkDerivation, base, interleavableIO, mtl }:
+     mkDerivation {
+       pname = "iException";
+       version = "0.0.1";
+       sha256 = "0g9hh7v5m194wyj9c5vzsjjc10fia60c9p8si778yky4chvfvj7p";
+       buildDepends = [ base interleavableIO mtl ];
+       description = "Version of Control.Exception using InterleavableIO.";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "iban" = callPackage
+    ({ mkDerivation, base, containers, HUnit, iso3166-country-codes
+     , tasty, tasty-hunit, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "iban";
+       version = "0.1.1.0";
+       sha256 = "0rg4h2as5n324zf9y6jllz28s4wj687vdiqvrbnzlavl2kbx96vl";
+       buildDepends = [
+         base containers iso3166-country-codes text unordered-containers
+       ];
+       testDepends = [ base HUnit tasty tasty-hunit text ];
+       homepage = "https://github.com/ibotty/iban";
+       description = "Validate and generate IBANs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iconv" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "iconv";
+       version = "0.4.1.2";
+       sha256 = "0sd7by7idcnw368mdc1rs3j4xwbzdvgvkd5p1bwgw7wcd272c142";
+       buildDepends = [ base bytestring ];
+       description = "String encoding conversion";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ide-backend" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring
+     , bytestring-trie, Cabal-ide-backend, containers, crypto-api
+     , data-accessor, data-accessor-mtl, deepseq, directory
+     , executable-path, filemanip, filepath, fingertree, ghc-prim, HUnit
+     , ide-backend-common, mtl, pretty-show, process, pureMD5, random
+     , regex-compat, stm, tagged, tasty, template-haskell, temporary
+     , test-framework, test-framework-hunit, text, time, transformers
+     , unix, unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "ide-backend";
+       version = "0.9.0.7";
+       sha256 = "0z85pxf4hmk0b374y3wrxsjx7lvmqhgb3k5153yfd08rh606p0s3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async attoparsec base binary bytestring bytestring-trie
+         Cabal-ide-backend containers crypto-api data-accessor
+         data-accessor-mtl directory executable-path filemanip filepath
+         fingertree ghc-prim ide-backend-common mtl pretty-show process
+         pureMD5 random tagged template-haskell temporary text time
+         transformers unix unordered-containers utf8-string
+       ];
+       testDepends = [
+         aeson async base binary bytestring Cabal-ide-backend containers
+         deepseq directory executable-path filemanip filepath HUnit
+         ide-backend-common process random regex-compat stm tagged tasty
+         template-haskell temporary test-framework test-framework-hunit text
+         unix utf8-string
+       ];
+       description = "An IDE backend library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ide-backend-common" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring
+     , bytestring-trie, containers, crypto-api, data-accessor, directory
+     , filepath, fingertree, mtl, pretty-show, pureMD5, tagged
+     , template-haskell, temporary, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "ide-backend-common";
+       version = "0.9.1";
+       sha256 = "1gix76gbc9ccx1hkddymk8hfx418kf1i7caajyzmdp6k8snvkc12";
+       buildDepends = [
+         aeson async attoparsec base binary bytestring bytestring-trie
+         containers crypto-api data-accessor directory filepath fingertree
+         mtl pretty-show pureMD5 tagged template-haskell temporary text
+         transformers unix
+       ];
+       description = "Shared library used be ide-backend and ide-backend-server";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ide-backend-rts" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ide-backend-rts";
+       version = "0.1.3.1";
+       sha256 = "1zj1glpyhmgpkxy4n96aqqf3s1gl2irl8ksnx4i9y4nwvs06qzj0";
+       buildDepends = [ base ];
+       description = "RTS for the IDE backend";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ideas" = callPackage
+    ({ mkDerivation, array, base, cgi, containers, directory, filepath
+     , parsec, QuickCheck, random, time, uniplate, wl-pprint
+     }:
+     mkDerivation {
+       pname = "ideas";
+       version = "1.2";
+       sha256 = "13mj1xa1bpr0bj9id00vcm6fnai7cf2289s6gs52rmkbnhkp998m";
+       buildDepends = [
+         array base cgi containers directory filepath parsec QuickCheck
+         random time uniplate wl-pprint
+       ];
+       jailbreak = true;
+       homepage = "http://ideas.cs.uu.nl/www/";
+       description = "Feedback services for intelligent tutoring systems";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ideas-math" = callPackage
+    ({ mkDerivation, base, containers, ideas, parsec, QuickCheck
+     , random
+     }:
+     mkDerivation {
+       pname = "ideas-math";
+       version = "1.1";
+       sha256 = "1wvxkav9c7d2na9wkzkl4pxhwihlw6iqdjga7gbjy7pmqn8xja51";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers ideas parsec QuickCheck random ];
+       jailbreak = true;
+       homepage = "http://ideas.cs.uu.nl/www/";
+       description = "Interactive domain reasoner for logic and mathematics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "idempotent" = callPackage
+    ({ mkDerivation, base, containers, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "idempotent";
+       version = "0.1.2";
+       sha256 = "18jwk65mm50lqnbx9px4c8aa2x7n5dkrazzpzvdwq7cy4q614bj0";
+       buildDepends = [ base containers ];
+       testDepends = [ base containers hspec QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/prophile/idempotent";
+       description = "Idempotent monoids";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "identifiers" = callPackage
+    ({ mkDerivation, base, binary, cereal, containers, deepseq
+     , hashable, ListLike, QuickCheck, test-framework
+     , test-framework-quickcheck2, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "identifiers";
+       version = "0.4.0.0";
+       sha256 = "0lk58c465a77mshz1b8rdgpidkgr73xbh9q0hij5dqw8d32h958f";
+       buildDepends = [
+         base binary cereal containers deepseq hashable ListLike text
+         unordered-containers
+       ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "Numeric identifiers for values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "idiii" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-accessor
+     , directory, filepath, HUnit, MissingH, polyparse, process, text
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "idiii";
+       version = "0.1.3.3";
+       sha256 = "11595aj56sjwk28grh6ldsbk5c6kgrirsc2xglfixw82vj7viw8h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-accessor MissingH polyparse text
+         utf8-string
+       ];
+       testDepends = [
+         base bytestring containers data-accessor directory filepath HUnit
+         MissingH polyparse process text utf8-string
+       ];
+       description = "ID3v2 (tagging standard for MP3 files) library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "idna" = callPackage
+    ({ mkDerivation, base, punycode, stringprep, text }:
+     mkDerivation {
+       pname = "idna";
+       version = "0.3.0";
+       sha256 = "04w2mp9wa4mzdz4njx47j081jia8y000b46cw8vmx44fx8gv1zwp";
+       buildDepends = [ base punycode stringprep text ];
+       description = "Implements IDNA (RFC 3490)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "idna2008" = callPackage
+    ({ mkDerivation, base, punycode, split }:
+     mkDerivation {
+       pname = "idna2008";
+       version = "0.0.1.0";
+       sha256 = "1pd62pr1hyk565mxc15f5lxyms58bywcqll5ya6cnzw20lv4lzlz";
+       buildDepends = [ base punycode split ];
+       jailbreak = true;
+       description = "Converts Unicode hostnames into ASCII";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "idris" = callPackage
+    ({ mkDerivation, annotated-wl-pprint, ansi-terminal, ansi-wl-pprint
+     , base, base64-bytestring, binary, blaze-html, blaze-markup
+     , boehmgc, bytestring, cheapskate, containers, deepseq, directory
+     , filepath, fingertree, gmp, happy, haskeline, lens, libffi, mtl
+     , network, optparse-applicative, parsers, pretty, process, safe
+     , split, text, time, transformers, transformers-compat, trifecta
+     , uniplate, unix, unordered-containers, utf8-string, vector
+     , vector-binary-instances, xml, zlib
+     }:
+     mkDerivation {
+       pname = "idris";
+       version = "0.9.17.1";
+       sha256 = "16a3z7jq1pmqnb411aqn9qmirwyzpx3bqb0hrawc1404kbq7gdx7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         annotated-wl-pprint ansi-terminal ansi-wl-pprint base
+         base64-bytestring binary blaze-html blaze-markup bytestring
+         cheapskate containers deepseq directory filepath fingertree
+         haskeline lens libffi mtl network optparse-applicative parsers
+         pretty process safe split text time transformers
+         transformers-compat trifecta uniplate unix unordered-containers
+         utf8-string vector vector-binary-instances xml zlib
+       ];
+       buildTools = [ happy ];
+       extraLibraries = [ boehmgc gmp ];
+       configureFlags = [ "-fffi" "-fgmp" ];
+       jailbreak = true;
+       homepage = "http://www.idris-lang.org/";
+       description = "Functional Programming Language with Dependent Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) boehmgc;  inherit (pkgs) gmp;};
+
+  "ieee" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ieee";
+       version = "0.7";
+       sha256 = "0ckhmy10l4kchr5bg1hlygrj86ij0wrj3r8in9g3c3jhh00dx3km";
+       buildDepends = [ base ];
+       homepage = "http://github.com/patperry/hs-ieee";
+       description = "Utilities for dealing with IEEE floating point numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ieee-utils" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ieee-utils";
+       version = "0.4.0";
+       sha256 = "0548m1xjvzf65kkklmqjr2f5h85zdfpvxmdbx5rcg33zi8aiqfgk";
+       buildDepends = [ base ];
+       description = "ieee-utils";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ieee-utils-tempfix" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ieee-utils-tempfix";
+       version = "0.4.0.1";
+       sha256 = "0x0mkvnf3q4yfh7bi7hv6364gy0l57syzy9xgzyax8z94zh465c3";
+       buildDepends = [ base ];
+       description = "ieee-utils";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ieee754" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ieee754";
+       version = "0.7.6";
+       sha256 = "03s56h82n7hcwcn2dhd646prcf9wxj5jq49xqsnl7cnvi9768h2q";
+       buildDepends = [ base ];
+       homepage = "http://github.com/patperry/hs-ieee754";
+       description = "Utilities for dealing with IEEE floating point numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ieee754-parser" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "ieee754-parser";
+       version = "0.1";
+       sha256 = "06pyzjd9imcnrffc0h4dwq46llkb9cmfk1nygmjgfz0y0f9481iv";
+       buildDepends = [ base binary bytestring ];
+       license = "GPL";
+     }) {};
+
+  "iff" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "iff";
+       version = "0.0.5";
+       sha256 = "1qy19d39zkf79z2j3mvimcnr48vpka5zj05g46fl4f9hz9xjiv16";
+       buildDepends = [ base binary bytestring ];
+       homepage = "http://code.haskell.org/~thielema/iff/";
+       description = "Constructing and dissecting IFF files";
+       license = "GPL";
+     }) {};
+
+  "ifscs" = callPackage
+    ({ mkDerivation, base, containers, failure, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "ifscs";
+       version = "0.2.0.0";
+       sha256 = "1675j66kmlfcwd8g0wanx4jfs3vnnvz8hpazskzng6ghvp4bam1q";
+       buildDepends = [ base containers failure ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       description = "An inductive-form set constraint solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ig" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , bytestring, conduit, conduit-extra, crypto-api, cryptohash
+     , cryptohash-cryptoapi, data-default, http-conduit, http-types
+     , lifted-base, monad-control, resourcet, text, time, transformers
+     , transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ig";
+       version = "0.2.1";
+       sha256 = "0kl44fv3djcrr87gqpcdbsvqiliwxz2iw5fd07h8xrvmls3b1lgj";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring bytestring conduit
+         conduit-extra crypto-api cryptohash cryptohash-cryptoapi
+         data-default http-conduit http-types lifted-base monad-control
+         resourcet text time transformers transformers-base
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/prowdsponsor/ig";
+       description = "Bindings to Instagram's API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ige-mac-integration" = callPackage
+    ({ mkDerivation, array, base, containers, glib, gtk
+     , gtk2hs-buildtools, haskell98, ige-mac-integration, mtl
+     }:
+     mkDerivation {
+       pname = "ige-mac-integration";
+       version = "0.1.0.1";
+       sha256 = "1949c5v3157xlwcmddawc79iagxlgy4l08skpkldi45amyy3jqn6";
+       buildDepends = [ array base containers glib gtk haskell98 mtl ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ ige-mac-integration ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/gtk2hs/";
+       description = "Bindings for the Gtk/OS X integration library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { ige-mac-integration = null;};
+
+  "igraph" = callPackage
+    ({ mkDerivation, base, c2hs, containers, hashable, igraph
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "igraph";
+       version = "0.1.1";
+       sha256 = "098b1y1iwmlpi3kspq4cd82cs0bbxvygghssjr986664lgv06hsd";
+       buildDepends = [ base containers hashable unordered-containers ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ igraph ];
+       homepage = "http://giorgidze.github.com/igraph/";
+       description = "Bindings to the igraph C library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { igraph = null;};
+
+  "igrf" = callPackage
+    ({ mkDerivation, ad, base, polynomial }:
+     mkDerivation {
+       pname = "igrf";
+       version = "0.2.0.0";
+       revision = "1";
+       sha256 = "04ipbhry1v3cpkflshqa9sp46px0k6g67n8apvdqykk5fsssdpm1";
+       editedCabalFile = "7d616cb461fb1406310675937e1e761f2d09757824dce8a92d235b7ef6ce1e4f";
+       buildDepends = [ ad base polynomial ];
+       homepage = "https://github.com/dmcclean/igrf";
+       description = "International Geomagnetic Reference Field";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ihaskell" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bin-package-db
+     , bytestring, cereal, classy-prelude, cmdargs, containers
+     , directory, filepath, ghc, ghc-parser, ghc-paths, haskeline
+     , haskell-src-exts, here, hlint, hspec, http-client
+     , http-client-tls, HUnit, ipython-kernel, MissingH
+     , mono-traversable, mtl, parsec, process, random, setenv, shelly
+     , split, stm, strict, system-argv0, system-filepath, tar, text
+     , transformers, unix, unordered-containers, utf8-string, uuid
+     , vector
+     }:
+     mkDerivation {
+       pname = "ihaskell";
+       version = "0.6.0.0";
+       sha256 = "15fsan1dxlmd7y31630rqrg9gaa205g3s89vlqnxjv0dfvs86qf0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring bin-package-db bytestring cereal
+         classy-prelude cmdargs containers directory filepath ghc ghc-parser
+         ghc-paths haskeline haskell-src-exts here hlint hspec http-client
+         http-client-tls HUnit ipython-kernel MissingH mono-traversable mtl
+         parsec process random shelly split stm strict system-argv0
+         system-filepath tar text transformers unix unordered-containers
+         utf8-string uuid vector
+       ];
+       testDepends = [
+         aeson base base64-bytestring bin-package-db bytestring cereal
+         classy-prelude cmdargs containers directory filepath ghc ghc-parser
+         ghc-paths haskeline haskell-src-exts here hlint hspec http-client
+         http-client-tls HUnit ipython-kernel MissingH mono-traversable mtl
+         parsec process random setenv shelly split stm strict system-argv0
+         system-filepath tar text transformers unix unordered-containers
+         utf8-string uuid vector
+       ];
+       jailbreak = true;
+       homepage = "http://gibiansky.github.io/IHaskell/";
+       description = "A Haskell backend kernel for the IPython project";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-aeson" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, chunked-data
+     , classy-prelude, here, ihaskell
+     }:
+     mkDerivation {
+       pname = "ihaskell-aeson";
+       version = "0.2.0.0";
+       sha256 = "1ag8xv456r4dgibqsazmw6xhhfvplc8sw128prr26hw2139ci6w9";
+       buildDepends = [
+         aeson aeson-pretty base chunked-data classy-prelude here ihaskell
+       ];
+       homepage = "http://www.github.com/gibiansky/ihaskell";
+       description = "IHaskell display instances for Aeson";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-basic" = callPackage
+    ({ mkDerivation, base, classy-prelude, ihaskell }:
+     mkDerivation {
+       pname = "ihaskell-basic";
+       version = "0.2.0.0";
+       sha256 = "0xf2z4xr0gkq3zvpiwvl73b6wbql4x8fdbw81kz990ifb0vwq65w";
+       buildDepends = [ base classy-prelude ihaskell ];
+       homepage = "http://www.github.com/gibiansky/IHaskell";
+       description = "IHaskell display instances for basic types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-blaze" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, classy-prelude
+     , ihaskell
+     }:
+     mkDerivation {
+       pname = "ihaskell-blaze";
+       version = "0.2.0.0";
+       sha256 = "1z3fcfyvx1is30ami7bfmcq6xxfj0l8bymyc85k8rgzjfirqfcdd";
+       buildDepends = [
+         base blaze-html blaze-markup classy-prelude ihaskell
+       ];
+       homepage = "http://www.github.com/gibiansky/ihaskell";
+       description = "IHaskell display instances for blaze-html types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-charts" = callPackage
+    ({ mkDerivation, base, bytestring, Chart, Chart-cairo
+     , classy-prelude, data-default-class, directory, ihaskell
+     }:
+     mkDerivation {
+       pname = "ihaskell-charts";
+       version = "0.2.0.0";
+       sha256 = "0zncvhjr3nkpr80m5lhl52jq1ha8ml14bjkykkg6d2l1pqnrb3mg";
+       buildDepends = [
+         base bytestring Chart Chart-cairo classy-prelude data-default-class
+         directory ihaskell
+       ];
+       homepage = "http://www.github.com/gibiansky/ihaskell";
+       description = "IHaskell display instances for charts types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-diagrams" = callPackage
+    ({ mkDerivation, base, bytestring, classy-prelude, diagrams
+     , diagrams-cairo, diagrams-lib, directory, ihaskell
+     }:
+     mkDerivation {
+       pname = "ihaskell-diagrams";
+       version = "0.2.0.0";
+       sha256 = "1if010ky6raw4g0wl24iww1i8qygy4jwd4f8yi9axhxzqzknmqvi";
+       buildDepends = [
+         base bytestring classy-prelude diagrams diagrams-cairo diagrams-lib
+         directory ihaskell
+       ];
+       homepage = "http://www.github.com/gibiansky/ihaskell";
+       description = "IHaskell display instances for diagram types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-display" = callPackage
+    ({ mkDerivation, base, classy-prelude, ihaskell }:
+     mkDerivation {
+       pname = "ihaskell-display";
+       version = "0.1.0.0";
+       sha256 = "1cbfhv9kg33dj28mn6mhhi363pz9jr2kw4ph64ga1fiawlj563l0";
+       buildDepends = [ base classy-prelude ihaskell ];
+       jailbreak = true;
+       homepage = "http://www.github.com/gibiansky/IHaskell";
+       description = "IHaskell display instances for basic types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-hatex" = callPackage
+    ({ mkDerivation, base, HaTeX, ihaskell, text }:
+     mkDerivation {
+       pname = "ihaskell-hatex";
+       version = "0.2.0.0";
+       sha256 = "02ynqhirz8bblcfaxksgxxqgnkmxqazj8imwxc2gbrw2v3p0i39s";
+       buildDepends = [ base HaTeX ihaskell text ];
+       homepage = "http://www.github.com/gibiansky/IHaskell";
+       description = "IHaskell display instances for hatex";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-juicypixels" = callPackage
+    ({ mkDerivation, base, bytestring, classy-prelude, directory
+     , ihaskell, JuicyPixels
+     }:
+     mkDerivation {
+       pname = "ihaskell-juicypixels";
+       version = "0.2.0.0";
+       sha256 = "058a7wcksbmxq2nahyvpbckd24ziya5f99vmlb3l9wgy9a3i4v2k";
+       buildDepends = [
+         base bytestring classy-prelude directory ihaskell JuicyPixels
+       ];
+       homepage = "http://www.github.com/gibiansky/ihaskell";
+       description = "IHaskell - IHaskellDisplay instances of the image types of the JuicyPixels package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-magic" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring
+     , classy-prelude, ihaskell, ipython-kernel, magic, text
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "ihaskell-magic";
+       version = "0.2.0.0";
+       sha256 = "0kmvhxc9bw7zg16m9pcs5ck3akc0fwnz3w6mmzj7dkc7avafmwcg";
+       buildDepends = [
+         base base64-bytestring bytestring classy-prelude ihaskell
+         ipython-kernel magic text utf8-string
+       ];
+       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
+    ({ mkDerivation, aeson, base, classy-prelude, here, ihaskell
+     , parsec, random, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ihaskell-parsec";
+       version = "0.2.1.0";
+       sha256 = "1fxwv7z5ypim4cqb0sfba36g8gmk57blp6pcmgrikpdzjpyjmmzl";
+       buildDepends = [
+         aeson base classy-prelude here ihaskell parsec random
+         unordered-containers
+       ];
+       homepage = "http://www.github.com/gibiansky/ihaskell";
+       description = "IHaskell display instances for Parsec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ihaskell-rlangqq" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-html, bytestring
+     , directory, filepath, ihaskell, ihaskell-blaze, Rlang-QQ, split
+     , stm, template-haskell, xformat
+     }:
+     mkDerivation {
+       pname = "ihaskell-rlangqq";
+       version = "0.2.0.1";
+       sha256 = "1si38n47p57kwqsmsqw9bnv4k6z3zd6n8f5kmsmmbcmjdqmi7i86";
+       buildDepends = [
+         base base64-bytestring blaze-html bytestring directory filepath
+         ihaskell ihaskell-blaze Rlang-QQ split stm template-haskell xformat
+       ];
+       description = "a rDisp quasiquote to show plots from Rlang-QQ in IHaskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ihttp" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , contstuff, enumerator, netlines, network
+     }:
+     mkDerivation {
+       pname = "ihttp";
+       version = "0.3.0";
+       sha256 = "1rcv92cdy3g9v3qgr3zvjjj0c4d7k99n7ya0mym0bjj79wj4r5zm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers contstuff enumerator netlines
+         network
+       ];
+       description = "Incremental HTTP iteratee";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "illuminate" = callPackage
+    ({ mkDerivation, alex, array, base, containers, filemanip, filepath
+     , hscolour, html, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "illuminate";
+       version = "0.1";
+       sha256 = "16ijh2sadbayh3ldiagjq67xilhyv55qhqmmz8a73lbnlq3cphk5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers filemanip filepath hscolour html utf8-string
+         xhtml
+       ];
+       buildTools = [ alex ];
+       homepage = "http://github.com/jgm/illuminate";
+       description = "A fast syntax highlighting library built with alex";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "image-type" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "image-type";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "0xr55c5g4jn1y83qy7bqa5ww9r73vw9clgln9ld893vypmb91wks";
+       editedCabalFile = "47033c893690f2cea85ba867343f277a8e2594f9010a5466a39dc7f3c4d682f2";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/Icelandjack/Image-type";
+       description = "Determine the type of an image by reading the first bytes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "imagefilters" = callPackage
+    ({ mkDerivation, base, gd }:
+     mkDerivation {
+       pname = "imagefilters";
+       version = "0.1";
+       sha256 = "1n7awx8wsm6z0sp54jri3sp403n14wzr08vjj4a422q1lf306l3y";
+       buildDepends = [ base gd ];
+       homepage = "https://github.com/tchannel/imagefilters";
+       description = "Image Filters (contrast, brightness, gaussian blur, etc)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "imagemagick" = callPackage
+    ({ mkDerivation, base, bytestring, directory, HUnit, ImageMagick
+     , lifted-base, MagickWand, MonadCatchIO-transformers, QuickCheck
+     , resourcet, system-filepath, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "imagemagick";
+       version = "0.0.3.5";
+       revision = "1";
+       sha256 = "0vwmx86wpxr1f5jrwlqpvrb94dbrm0jjdqq6bppfnfyppd3s1mmq";
+       editedCabalFile = "9666a02ba8aef32515f97734c86453b3b9759c46c6a9306be9f20dbdb6b98203";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring MonadCatchIO-transformers resourcet system-filepath
+         text transformers vector
+       ];
+       testDepends = [
+         base bytestring directory HUnit ImageMagick lifted-base MagickWand
+         QuickCheck resourcet system-filepath test-framework
+         test-framework-hunit test-framework-quickcheck2 text transformers
+         vector
+       ];
+       pkgconfigDepends = [ ImageMagick MagickWand ];
+       description = "bindings to imagemagick library";
+       license = "unknown";
+       broken = true;
+     }) { ImageMagick = null;  MagickWand = null;};
+
+  "imagepaste" = callPackage
+    ({ mkDerivation, base, containers, HTTP, json, mtl, network
+     , regex-posix, tagsoup, template-haskell, transformers
+     , vcs-revision
+     }:
+     mkDerivation {
+       pname = "imagepaste";
+       version = "0.2.0.1";
+       sha256 = "1k512mw4a2hm6nzz2sn00rmkf7fb7mj4a2lk1klr1wmlchwimvpv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers HTTP json mtl network regex-posix tagsoup
+         template-haskell transformers vcs-revision
+       ];
+       homepage = "https://bitbucket.org/balta2ar/imagepaste";
+       description = "Command-line image paste utility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "imagesize-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , exceptions, hspec, resourcet
+     }:
+     mkDerivation {
+       pname = "imagesize-conduit";
+       version = "1.1";
+       sha256 = "06dc0453l7n3g05pg118y4smlzkl6p56zazpi4dr41dkg12pii9i";
+       buildDepends = [
+         base bytestring conduit conduit-extra exceptions
+       ];
+       testDepends = [
+         base bytestring conduit conduit-extra hspec resourcet
+       ];
+       homepage = "http://github.com/silkapp/imagesize-conduit";
+       description = "Determine the size of some common image formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "imapget" = callPackage
+    ({ mkDerivation, base, bytestring, directory, HaskellNet, HsOpenSSL
+     , network, text
+     }:
+     mkDerivation {
+       pname = "imapget";
+       version = "0.0.3";
+       sha256 = "0h6kbh3z78xm1rjphyv7zkjc5knd7v9agss0b9rzarm1z4qd2q5v";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory HaskellNet HsOpenSSL network text
+       ];
+       jailbreak = true;
+       description = "Downloads email from imap SSL servers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "imbib" = callPackage
+    ({ mkDerivation, base, bibtex, bytestring, ConfigFile, containers
+     , curl, directory, download-curl, filepath, glib, gnomevfs, gtk
+     , mtl, parsec, process, split, utf8-string
+     }:
+     mkDerivation {
+       pname = "imbib";
+       version = "1.0.0";
+       sha256 = "0x31wjd6maqixr3rbangaph0s5skp18fmb8xgm1a6jsky8k367vz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bibtex bytestring ConfigFile containers curl directory
+         download-curl filepath glib gnomevfs gtk mtl parsec process split
+         utf8-string
+       ];
+       jailbreak = true;
+       description = "Minimalistic reference manager";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "imgurder" = callPackage
+    ({ mkDerivation, base, curl, directory, haskell98, hxt, hxt-xpath
+     , url
+     }:
+     mkDerivation {
+       pname = "imgurder";
+       version = "1.2";
+       sha256 = "156a3fq274112j3a6lqiprwhgrcrjp3izix2z1s9bbx3c04pwrjx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base curl directory haskell98 hxt hxt-xpath url ];
+       description = "Uploader for Imgur";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "imm" = callPackage
+    ({ mkDerivation, async, base, bytestring, case-insensitive, cond
+     , data-default, directory, dyre, feed, filepath, hslogger
+     , http-conduit, http-types, lens, mime-mail, monad-control, mtl
+     , network, network-uri, old-locale, opml, random, resourcet, text
+     , text-icu, time, timerep, tls, transformers, transformers-base
+     , utf8-string, xdg-basedir, xml
+     }:
+     mkDerivation {
+       pname = "imm";
+       version = "0.6.0.3";
+       sha256 = "0fhqb36xj2xr1hhfrhk1npms9lnvbh6fmvki9mmm3gqs06hb925l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring case-insensitive cond data-default directory
+         dyre feed filepath hslogger http-conduit http-types lens mime-mail
+         monad-control mtl network network-uri old-locale opml random
+         resourcet text text-icu time timerep tls transformers
+         transformers-base utf8-string xdg-basedir xml
+       ];
+       description = "Retrieve RSS/Atom feeds and write one mail per new item in a maildir";
+       license = "unknown";
+     }) {};
+
+  "immortal" = callPackage
+    ({ mkDerivation, base, lifted-base, monad-control, stm, tasty
+     , tasty-hunit, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "immortal";
+       version = "0.2";
+       sha256 = "1si9zh309xh29qrxkhb0shwisjrsja2d9lpj17dwlzn0gv0i1672";
+       buildDepends = [
+         base lifted-base monad-control transformers-base
+       ];
+       testDepends = [
+         base lifted-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;
+     }) {};
+
+  "imparse" = callPackage
+    ({ mkDerivation, ascetic, base, compilation, containers, directory
+     , indents, MissingH, parsec, richreports, split, staticanalysis
+     , text, uxadt
+     }:
+     mkDerivation {
+       pname = "imparse";
+       version = "0.0.0.3";
+       sha256 = "15bpz985d39az15jn8hd6wcil7ivsi3vcnxi5lcfs34i848rs9fg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ascetic base compilation containers directory indents MissingH
+         parsec richreports split staticanalysis text uxadt
+       ];
+       jailbreak = true;
+       description = "Multi-platform parser analyzer and generator";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "implicit" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-markup, blaze-svg
+     , bytestring, containers, deepseq, directory, filepath, JuicyPixels
+     , mtl, optparse-applicative, parallel, parsec, storable-endian
+     , text, unordered-containers, vector-space
+     }:
+     mkDerivation {
+       pname = "implicit";
+       version = "0.0.3";
+       sha256 = "0zsd25gd0c4sp1ipjnsbn1gbdl6s0y2vy8n4nwn3dxgrv75cd1l9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder blaze-markup blaze-svg bytestring containers
+         deepseq directory filepath JuicyPixels mtl optparse-applicative
+         parallel parsec storable-endian text unordered-containers
+         vector-space
+       ];
+       homepage = "https://github.com/colah/ImplicitCAD";
+       description = "Math-inspired programmatic 2&3D CAD: CSG, bevels, and shells; gcode export..";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "implicit-params" = callPackage
+    ({ mkDerivation, base, data-default-class }:
+     mkDerivation {
+       pname = "implicit-params";
+       version = "0.2.1";
+       sha256 = "1da01fnwxf1350ywawvl58qf479q2rz81wi9s8lvw2n3d75qpn8i";
+       buildDepends = [ base data-default-class ];
+       homepage = "http://github.com/duairc/implicit-params";
+       description = "Named and unnamed implicit parameters with defaults";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "imports" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl }:
+     mkDerivation {
+       pname = "imports";
+       version = "0.1.2.1";
+       sha256 = "1hm4dg07mw8cihkqziz827kwa3qqvgjg1y45r2lg66crsaanprgz";
+       buildDepends = [ base directory filepath mtl ];
+       testDepends = [ base directory filepath mtl ];
+       jailbreak = true;
+       homepage = "https://github.com/CindyLinz/Haskell-imports";
+       description = "Generate code for importing directories automatically";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "improve" = callPackage
+    ({ mkDerivation, base, mtl, yices }:
+     mkDerivation {
+       pname = "improve";
+       version = "0.4.0";
+       sha256 = "0z8w7lgk263ickb4l3ajhvy1bjq38bbiiw6c048a3yn4h8kpg67a";
+       buildDepends = [ base mtl yices ];
+       jailbreak = true;
+       homepage = "http://github.com/tomahawkins/improve/wiki/ImProve";
+       description = "An imperative, verifiable programming language for high assurance applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "inc-ref" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "inc-ref";
+       version = "0.3.0.0";
+       sha256 = "0hr25bdwq2a1mj74wb8dvb95jyfqx13rz0h4makyb5kqlhxz40xl";
+       buildDepends = [ base stm ];
+       homepage = "https://github.com/jfischoff/inc-ref";
+       description = "A STM reference useful for incremental computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "inch" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , IndentParser, mtl, parsec, presburger, pretty
+     }:
+     mkDerivation {
+       pname = "inch";
+       version = "0.2.0";
+       sha256 = "05f25yza05ib0xnkpfimhrb3nqyp5km85r1j9n6yh9k0cwdagndi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath IndentParser mtl parsec presburger pretty
+       ];
+       testDepends = [
+         base containers directory filepath IndentParser mtl parsec
+         presburger pretty
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/adamgundry/inch/";
+       description = "A type-checker for Haskell with integer constraints";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "include-file" = callPackage
+    ({ mkDerivation, base, bytestring, template-haskell }:
+     mkDerivation {
+       pname = "include-file";
+       version = "0.1.0.2";
+       sha256 = "0yrqvdp37wjw9j7vknzyiw4954yskxh75z8r3sic6qdmz17zv8ba";
+       buildDepends = [ base bytestring template-haskell ];
+       testDepends = [ base bytestring ];
+       description = "Inclusion of files in executables at compile-time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "incremental-computing" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-test-quickcheck, containers
+     , dlist, fingertree, order-maintenance, QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "incremental-computing";
+       version = "0.0.0.0";
+       sha256 = "0zdq122m0nq18igvdxis7lqgdflf6sc94m1aqypjwfkxy4qfvvq3";
+       buildDepends = [
+         base containers dlist fingertree order-maintenance transformers
+       ];
+       testDepends = [
+         base Cabal cabal-test-quickcheck containers QuickCheck
+       ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/incremental-computing";
+       description = "Incremental computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "incremental-parser" = callPackage
+    ({ mkDerivation, base, checkers, monoid-subclasses, QuickCheck
+     , tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "incremental-parser";
+       version = "0.2.3.4";
+       sha256 = "0n2318i4dzgcs9xcs80wcfbm9rc902w02nwqa30b3nrwl21cjag3";
+       buildDepends = [ base monoid-subclasses ];
+       testDepends = [
+         base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
+       ];
+       homepage = "http://patch-tag.com/r/blamario/incremental-parser/wiki/";
+       description = "Generic parser library capable of providing partial results from partial input";
+       license = "GPL";
+     }) {};
+
+  "incremental-sat-solver" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "incremental-sat-solver";
+       version = "0.1.7";
+       sha256 = "1kic3q19lli8yd28szrngpfsqi50wc47k6597ay24zmiikhx4c2v";
+       buildDepends = [ base containers mtl ];
+       homepage = "http://github.com/sebfisch/incremental-sat-solver";
+       description = "Simple, Incremental SAT Solving as a Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "increments" = callPackage
+    ({ mkDerivation, base, beamable, bytestring, containers, ghc-prim
+     , QuickCheck, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "increments";
+       version = "0.1.0.4";
+       sha256 = "0dsand1y9f215fsikwr2601zxrzxpv85aka6f0gaaf0657mr4x9i";
+       buildDepends = [ base beamable bytestring containers ghc-prim ];
+       testDepends = [
+         base beamable bytestring containers ghc-prim QuickCheck
+         test-framework test-framework-quickcheck2
+       ];
+       description = "type classes for incremental updates to data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "indentation" = callPackage
+    ({ mkDerivation, base, mtl, parsec, parsers, tasty, tasty-hunit
+     , trifecta
+     }:
+     mkDerivation {
+       pname = "indentation";
+       version = "0.2.1.1";
+       sha256 = "1wb5kv0wx25hhg08afsqpzkkc8c981pbhp8wrzdclb4105y4l4vj";
+       buildDepends = [ base mtl parsec parsers trifecta ];
+       testDepends = [ base parsec tasty tasty-hunit trifecta ];
+       homepage = "https://bitbucket.org/mdmkolbe/indentation";
+       description = "Indentation sensitive parsing combinators for Parsec and Trifecta";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "indentparser" = callPackage
+    ({ mkDerivation, base, mtl, parsec }:
+     mkDerivation {
+       pname = "indentparser";
+       version = "0.1";
+       sha256 = "141bzmhdk5x2bzjx9g7hcf5p07h4q2vzzxlda8vf3dcgxgpdc7aw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec ];
+       homepage = "http://www.cse.iitk.ac.in/users/ppk/code/HASKELL/indentparser";
+       description = "A parser for indentation based structures";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "indents" = callPackage
+    ({ mkDerivation, base, concatenative, mtl, parsec }:
+     mkDerivation {
+       pname = "indents";
+       version = "0.3.3";
+       sha256 = "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn";
+       buildDepends = [ base concatenative mtl parsec ];
+       homepage = "http://patch-tag.com/r/salazar/indents";
+       description = "indentation sensitive parser-combinators for parsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "index-core" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "index-core";
+       version = "1.0.1";
+       revision = "1";
+       sha256 = "01d7025js5a3373a8ixl3clvmd0blpkly6js3ggnp26p4h5ilhv4";
+       editedCabalFile = "dbc4c7390f6664ca0ad083bb005897e6f3ca5dca5e95709621c131d7a1a0f09f";
+       buildDepends = [ base ];
+       description = "Indexed Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "indexed" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "indexed";
+       version = "0.1";
+       sha256 = "1dx5pyi5psjd2l26hc3wfsapnywdl0kqpw98b3jwc0xq4406ax12";
+       buildDepends = [ base ];
+       homepage = "https://github.com/reinerp/indexed";
+       description = "Haskell98 indexed functors, monads, comonads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "indexed-do-notation" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, indexed, template-haskell
+     }:
+     mkDerivation {
+       pname = "indexed-do-notation";
+       version = "0.1";
+       sha256 = "10yvbhjjzg19lyw9ynn2j1cyms2k4hxly5hmw0ad416f8zxmisf9";
+       buildDepends = [ base haskell-src-meta indexed template-haskell ];
+       homepage = "https://github.com/fumieval/indexed-do-notation";
+       description = "Do notation for indexed monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "indexed-extras" = callPackage
+    ({ mkDerivation, base, bifunctors, indexed, mtl, pointed }:
+     mkDerivation {
+       pname = "indexed-extras";
+       version = "0.1.1";
+       sha256 = "0mhzk2smcli5mk6ghcxpbnq58adryf42s50qmqrj72sxsfd7a09r";
+       buildDepends = [ base bifunctors indexed mtl pointed ];
+       jailbreak = true;
+       homepage = "https://github.com/reinerp/indexed-extras";
+       description = "Indexed functors, monads and comonads that require extensions to Haskell98";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "indexed-free" = callPackage
+    ({ mkDerivation, base, indexed }:
+     mkDerivation {
+       pname = "indexed-free";
+       version = "0.3.1";
+       sha256 = "1172vxhyzyf061mnlb8dndnvycjk3shxhiqd8hdz42ipv223admx";
+       buildDepends = [ base indexed ];
+       homepage = "https://github.com/fumieval/indexed-free";
+       description = "indexed monads for free";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "indian-language-font-converter" = callPackage
+    ({ mkDerivation, base, gtk, HDBC, HDBC-sqlite3 }:
+     mkDerivation {
+       pname = "indian-language-font-converter";
+       version = "0.2";
+       sha256 = "1dw0fy3v2hfvlaw371af2c288v4p0wyg43h88clswids3nh1lpn8";
+       buildDepends = [ base gtk HDBC HDBC-sqlite3 ];
+       description = "Indian Language Font Converter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "indices" = callPackage
+    ({ mkDerivation, base, QuickCheck, tagged, template-haskell }:
+     mkDerivation {
+       pname = "indices";
+       version = "1.7.1";
+       sha256 = "1sy609gq9idk5x28wasd9i61jwhlpf9ls21jps1nw1dfymid41c5";
+       buildDepends = [ base tagged template-haskell ];
+       testDepends = [ base QuickCheck ];
+       description = "Multi-dimensional statically bounded indices";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "infer-upstream" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, github, optparse-applicative
+     , parsec, process, text
+     }:
+     mkDerivation {
+       pname = "infer-upstream";
+       version = "0.1.1.0";
+       sha256 = "11v8njjinjqzqfa5hggj0r1gki3hz6y7cxj5qfnzxa77hdav10fa";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base github optparse-applicative parsec process text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/silky/infer-upstream";
+       description = "Find the repository from where a given repo was forked";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "infinite-search" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "infinite-search";
+       version = "0.12";
+       sha256 = "18sf9798nna155xix71lw68k19r7ayk9kmppjzd76yxa61r38g41";
+       buildDepends = [ base ];
+       homepage = "http://github.com/luqui/infinite-search";
+       description = "Exhaustively searchable infinite sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "infinity" = callPackage
+    ({ mkDerivation, base, binary, Cabal, filepath, ghc, irc, plugins
+     }:
+     mkDerivation {
+       pname = "infinity";
+       version = "0.3";
+       sha256 = "1d2l6a4ngawm7zqgfwxd19rh3zwihivbgns39q44yjh1d5v0azab";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary Cabal filepath ghc irc plugins ];
+       jailbreak = true;
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "infix" = callPackage
+    ({ mkDerivation, base, containers, haskell-src }:
+     mkDerivation {
+       pname = "infix";
+       version = "0.1.1";
+       sha256 = "156lcw4bvav9w41vggfjk84z41ppam31880wpislxwcsvc9jrd6q";
+       buildDepends = [ base containers haskell-src ];
+       homepage = "http://www.cs.mu.oz.au/~bjpop/code.html";
+       description = "Infix expression re-parsing (for HsParser library)";
+       license = "GPL";
+     }) {};
+
+  "inflections" = callPackage
+    ({ mkDerivation, base, containers, HUnit, parsec, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "inflections";
+       version = "0.1.0.9";
+       sha256 = "10l7dnjc6h75bf61rp38w7pqm6yqvhssvjqmh01nwa2bxxayzl7m";
+       buildDepends = [ base containers parsec ];
+       testDepends = [
+         base containers HUnit parsec QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/stackbuilders/inflections-hs";
+       description = "Inflections library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "inflist" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "inflist";
+       version = "0.0.1";
+       sha256 = "0srw75ds7hic0sjs2fnj0hsqsygzvppgy17y8qmsjz9z14ryqncw";
+       buildDepends = [ base QuickCheck ];
+       testDepends = [ base QuickCheck ];
+       homepage = "https://bitbucket.org/eegg/inflist";
+       description = "An infinite list type and operations thereon";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "influxdb" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , data-default-class, dlist, exceptions, http-client, HUnit, mtl
+     , mwc-random, network-uri, retry, scientific, tagged, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-th, template-haskell, text
+     , time, vector
+     }:
+     mkDerivation {
+       pname = "influxdb";
+       version = "0.9.1.1";
+       sha256 = "0ijc97xj1fz8ahfg0dha5mmbvd5nsb38dlvyvrwq2gpr0j79138r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring containers data-default-class
+         dlist exceptions http-client mtl mwc-random network-uri retry
+         scientific tagged template-haskell text time vector
+       ];
+       testDepends = [
+         base http-client HUnit mtl tasty tasty-hunit tasty-quickcheck
+         tasty-th text vector
+       ];
+       homepage = "https://github.com/maoe/influxdb-haskell";
+       description = "Haskell client library for InfluxDB";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "informative" = callPackage
+    ({ mkDerivation, base, csv, highlighting-kate, http-conduit
+     , monad-logger, old-locale, pandoc, persistent
+     , persistent-postgresql, shakespeare, text, time, yesod, yesod-auth
+     , yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "informative";
+       version = "0.1.0.5";
+       sha256 = "1jc9hf90a22b7g58paqgwzxyjv89lmsqlpbjh39h79w6gm6a89xs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base csv highlighting-kate http-conduit monad-logger old-locale
+         pandoc persistent persistent-postgresql shakespeare text time yesod
+         yesod-auth yesod-core yesod-form
+       ];
+       jailbreak = true;
+       homepage = "http://doomanddarkness.eu/pub/informative";
+       description = "A yesod subsite serving a wiki";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ini" = callPackage
+    ({ mkDerivation, attoparsec, base, text, unordered-containers }:
+     mkDerivation {
+       pname = "ini";
+       version = "0.3.1";
+       sha256 = "01iwf4ifdx3mrw1rybj4crip4hmjxhab250rv995dgbwldh1iyqb";
+       buildDepends = [ attoparsec base text unordered-containers ];
+       description = "Quick and easy configuration files in the INI format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "inject" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, hspec-expectations
+     , process, text
+     }:
+     mkDerivation {
+       pname = "inject";
+       version = "0.1.0";
+       sha256 = "0rm81xkxfwbm98ywcwjnh1l9qkah3xma59l8z5l37b458hayxjqq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ attoparsec base process text ];
+       testDepends = [
+         attoparsec base hspec hspec-expectations process text
+       ];
+       description = "A minimalistic template engine";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "inject-function" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "inject-function";
+       version = "0.2.1.0";
+       sha256 = "1iw82rzw2w3y40zndz3mxpa7k5ds8zs87ccvp228s4zva0mp5ddl";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/skypers/inject-function";
+       description = "Monadic functions with injected parameters";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "inquire" = callPackage
+    ({ mkDerivation, aether, base, text }:
+     mkDerivation {
+       pname = "inquire";
+       version = "0.1";
+       sha256 = "18qcjdwgn7a1lrdnqnh6sh1bzii0nvb5jv56qq5kri8m6qwc9wl8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ aether base text ];
+       jailbreak = true;
+       description = "Console client for encyclopedias";
+       license = stdenv.lib.licenses.gpl3;
+       broken = true;
+     }) { aether = null;};
+
+  "inserts" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, dlist }:
+     mkDerivation {
+       pname = "inserts";
+       version = "0.1.2";
+       sha256 = "1m72ysfd2g2jszvcihh7zbfxvpj2a8qjq3ra4vs4bjzpja4kh477";
+       buildDepends = [ attoparsec base bytestring dlist ];
+       homepage = "http://github.com/tel/inserts";
+       description = "Stupid simple bytestring templates";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "inspection-proxy" = callPackage
+    ({ mkDerivation, async, base, bytestring, cmdargs, pipes
+     , pipes-network
+     }:
+     mkDerivation {
+       pname = "inspection-proxy";
+       version = "0.1.0.3";
+       sha256 = "09mk2wd4bs31zhz0x8z3ajlk734r0rp5k07g0mfdy4bsvi2hdqiy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring cmdargs pipes pipes-network
+       ];
+       description = "A simple proxy for debugging plaintext protocols communication";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "instant-generics" = callPackage
+    ({ mkDerivation, base, containers, syb, template-haskell }:
+     mkDerivation {
+       pname = "instant-generics";
+       version = "0.4.1";
+       sha256 = "1jcs6spa3g8mazgpivn61gz4c740ks19rkz9sh24ns6n4q53zdvq";
+       buildDepends = [ base containers syb template-haskell ];
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics";
+       description = "Generic programming library with a sum of products view";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "instant-zipper" = callPackage
+    ({ mkDerivation, base, instant-generics, mtl }:
+     mkDerivation {
+       pname = "instant-zipper";
+       version = "0.0.0";
+       sha256 = "0gd5hzlm5rlmzba2dl37al711vp1nn2b30d36rvb2j8y90y8c44c";
+       buildDepends = [ base instant-generics mtl ];
+       description = "Heterogenous Zipper in Instant Generics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "instinct" = callPackage
+    ({ mkDerivation, base, containers, mersenne-random, vector }:
+     mkDerivation {
+       pname = "instinct";
+       version = "0.1.0";
+       sha256 = "0wh95zjdv9j1n3ccg2j08av43qnb9vmiyvqvyi70p47dr481npl8";
+       buildDepends = [ base containers mersenne-random vector ];
+       description = "Fast artifical neural networks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "instrument-chord" = callPackage
+    ({ mkDerivation, array, base, containers, music-diatonic }:
+     mkDerivation {
+       pname = "instrument-chord";
+       version = "0.1.0.9";
+       sha256 = "0gq79i1mqpbyvxm8cfpr2b8h0knbc6f2m3b3mnm0p3yvi2d642nb";
+       buildDepends = [ array base containers music-diatonic ];
+       homepage = "https://github.com/xpika/chord";
+       description = "Render Instrument Chords";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "int-cast" = callPackage
+    ({ mkDerivation, base, nats, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "int-cast";
+       version = "0.1.2.0";
+       sha256 = "0gfx3pg0n1jyn8z2q804iyc24ahi41sjr3h7v5ivzc3g57vi1ykb";
+       buildDepends = [ base nats ];
+       testDepends = [
+         base nats QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/hvr/int-cast";
+       description = "Checked conversions between integral types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "integer-gmp_1_0_0_0" = callPackage
+    ({ mkDerivation, ghc-prim }:
+     mkDerivation {
+       pname = "integer-gmp";
+       version = "1.0.0.0";
+       revision = "1";
+       sha256 = "0sh01sbib7z0bx934a7gq6583hdz8yncaxpfi9k8y4v18gm8j55f";
+       editedCabalFile = "5d63fab9a7c94b4e713d151bdc0c361228efbac2b7583dfa8e6c5370ecae5663";
+       buildDepends = [ ghc-prim ];
+       jailbreak = true;
+       description = "Integer library based on GMP";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "integer-pure" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "integer-pure";
+       version = "1.0";
+       sha256 = "0lrhf6mw90bfph3hbyxv3n7g2n2xnjfq4qnhyhw4ml76k4yybmxa";
+       homepage = "http://projects.haskell.org/~malcolm/integer-pure";
+       description = "A pure-Haskell implementation of arbitrary-precision Integers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "integration" = callPackage
+    ({ mkDerivation, base, parallel }:
+     mkDerivation {
+       pname = "integration";
+       version = "0.2.1";
+       sha256 = "0bsqad6q4kc0wykswwqykcn6nd4wj6yd9dzpg075h2n1mmg3h9qc";
+       buildDepends = [ base parallel ];
+       homepage = "https://github.com/ekmett/integration";
+       description = "Fast robust numeric integration via tanh-sinh quadrature";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "intel-aes" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, crypto-api, DRBG
+     , intel_aes, largeword, process, random, rdtsc, split, tagged, time
+     , unix
+     }:
+     mkDerivation {
+       pname = "intel-aes";
+       version = "0.2.1.1";
+       sha256 = "11cy9dlynlz9mgbs4w4xfjb9dx05dklfjl3gg2130si8q2kk3cm9";
+       buildDepends = [
+         base bytestring cereal crypto-api DRBG largeword process random
+         rdtsc split tagged time unix
+       ];
+       extraLibraries = [ intel_aes ];
+       homepage = "https://github.com/rrnewton/intel-aes/wiki";
+       description = "Hardware accelerated AES encryption and Random Number Generation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { intel_aes = null;};
+
+  "interchangeable" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "interchangeable";
+       version = "0.2.0.0";
+       sha256 = "1r0gxwbl2k4i9r7jlbmabr1088q8nk1an4nhf79gsx2ybfdzlndh";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/arowM/interchangeable";
+       description = "A type class for interchangeable data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "interleavableGen" = callPackage
+    ({ mkDerivation, base, directory, haskell-src, hint, mtl }:
+     mkDerivation {
+       pname = "interleavableGen";
+       version = "0.0.1";
+       sha256 = "10clafccpg8xciqhj2hzbi4kixzprgp733396qf531nwakvnqpp2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory haskell-src hint mtl ];
+       description = "Generates a version of a module using InterleavableIO";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "interleavableIO" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "interleavableIO";
+       version = "0.0.1";
+       sha256 = "19jdrfr6n6yzvj1i8r7hhr3k6zkkbrs6pizqcbzhb0nvzzshmqa8";
+       buildDepends = [ base mtl ];
+       description = "Use other Monads in functions that asks for an IO Monad";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "interleave" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "interleave";
+       version = "1.0";
+       sha256 = "062ixqbrrmamwv3fj6vpfcxy35p37i1wpmsxk1gl9n06n0lg9a8c";
+       buildDepends = [ base ];
+       description = "Combinators for supporting interleaving of different behaviours";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "interlude" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "interlude";
+       version = "0.1.2";
+       sha256 = "1yiv24n0mfjzbpm9p6djllhwck3brjz9adzyp6k4fpk430304k7s";
+       buildDepends = [ base ];
+       homepage = "http://malde.org/~ketil/";
+       description = "Replaces some Prelude functions for enhanced error reporting";
+       license = "GPL";
+     }) {};
+
+  "intern" = callPackage
+    ({ mkDerivation, array, base, bytestring, hashable, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "intern";
+       version = "0.9.1.4";
+       sha256 = "0snjar5mil9zsyy1ml13a8p1g2cvq62c5r8547i6z451w06j1zk0";
+       buildDepends = [
+         array base bytestring hashable text unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/intern/";
+       description = "Efficient hash-consing for arbitrary data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "internetmarke" = callPackage
+    ({ mkDerivation, base, explicit-exception, HPDF, parsec, process
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "internetmarke";
+       version = "0.0.3";
+       sha256 = "1gn6vvrnhck9f9hzs8igdg20gvrvjnba00bj191paw02kpzbgx7z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base explicit-exception HPDF parsec process transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/internetmarke/";
+       description = "Shell command for constructing custom stamps for German Post";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "interpol" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, HUnit, regex-posix, syb
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "interpol";
+       version = "0.2.3";
+       sha256 = "11awkl6rgy33yl4qcnf7ns464c87xjk9hqcf10z8shjjbaadbz43";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base haskell-src-exts regex-posix syb ];
+       testDepends = [
+         base haskell-src-exts HUnit regex-posix syb test-framework
+         test-framework-hunit
+       ];
+       homepage = "https://github.com/scvalex/interpol";
+       description = "GHC preprocessor and library to enable variable interpolation in strings";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "interpolate" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-meta, hspec
+     , QuickCheck, quickcheck-instances, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "interpolate";
+       version = "0.1.0";
+       sha256 = "0wlc10qd1bq3xj64a3yq2gzds9kas9zyylkm9kxd46gy35fns6id";
+       buildDepends = [ base haskell-src-meta template-haskell ];
+       testDepends = [
+         base bytestring haskell-src-meta hspec QuickCheck
+         quickcheck-instances template-haskell text
+       ];
+       description = "String interpolation done right";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "interpolatedstring-perl6" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-meta
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "interpolatedstring-perl6";
+       version = "0.9.0";
+       sha256 = "15hzmni3wfdgjl0vyk5mcld61ba99wdax87s7wkz2s8bsyxkbq9n";
+       buildDepends = [
+         base bytestring haskell-src-meta template-haskell text
+       ];
+       description = "QuasiQuoter for Perl6-style multi-line interpolated strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "interpolatedstring-qq" = callPackage
+    ({ mkDerivation, base, haskell-src-meta-mwotton, template-haskell
+     }:
+     mkDerivation {
+       pname = "interpolatedstring-qq";
+       version = "0.2";
+       sha256 = "1bqn9gqc43r158hyk35x8avsiqyd43vlpw2jkhpdfmr2wx29jprq";
+       buildDepends = [ base haskell-src-meta-mwotton template-haskell ];
+       description = "QuasiQuoter for Ruby-style multi-line interpolated strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "interpolatedstring-qq-mwotton" = callPackage
+    ({ mkDerivation, base, haskell-src-meta-mwotton, template-haskell
+     }:
+     mkDerivation {
+       pname = "interpolatedstring-qq-mwotton";
+       version = "0.1.1";
+       sha256 = "1cwhy4jwbl50nglfw0wfmdr3rrg33dqskw0wq06prx14x22yshbk";
+       buildDepends = [ base haskell-src-meta-mwotton template-haskell ];
+       jailbreak = true;
+       description = "DO NOT USE THIS. interpolatedstring-qq works now.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "interpolation" = callPackage
+    ({ mkDerivation, base, QuickCheck, utility-ht }:
+     mkDerivation {
+       pname = "interpolation";
+       version = "0.0";
+       sha256 = "0l6i6gz555sq2kzffmlidh14wjg2hzvd7qc7b4sv532qbmlrhixv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base utility-ht ];
+       testDepends = [ base QuickCheck utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/interpolation/";
+       description = "piecewise linear and cubic Hermite interpolation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "intervals" = callPackage
+    ({ mkDerivation, array, base, directory, distributive, doctest
+     , filepath, ghc-prim
+     }:
+     mkDerivation {
+       pname = "intervals";
+       version = "0.7.1";
+       sha256 = "03ra3jkch26x4crsq6nh2wnj51jrx7zmwafmq22xqrpsg7hpav92";
+       buildDepends = [ array base distributive ghc-prim ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/intervals";
+       description = "Interval Arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "intricacy" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , cryptohash, directory, filepath, hscurses, mtl, network-fancy
+     , random, SDL, SDL-gfx, SDL-mixer, SDL-ttf, stm, time, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "intricacy";
+       version = "0.3.8";
+       sha256 = "1w4lawwd59zkfdvi8lkg7cmqnzr0mjrkcsgpibyr8p2x42zxskgm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers cryptohash directory
+         filepath hscurses mtl network-fancy random SDL SDL-gfx SDL-mixer
+         SDL-ttf stm time transformers vector
+       ];
+       homepage = "http://mbays.freeshell.org/intricacy";
+       description = "A game of competitive puzzle-design";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "intset" = callPackage
+    ({ mkDerivation, base, bits-extras, bytestring, deepseq, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "intset";
+       version = "0.1.1.0";
+       sha256 = "044nw8z2ga46mal9pr64vsc714n4dibx0k2lwgnrkk49729c7lk0";
+       buildDepends = [ base bits-extras bytestring deepseq ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/pxqr/intset";
+       description = "Pure, mergeable, succinct Int sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "invariant" = callPackage
+    ({ mkDerivation, base, contravariant }:
+     mkDerivation {
+       pname = "invariant";
+       version = "0.1.1";
+       sha256 = "077jhn2fspnjkr8p3sh6draidqpk6wpism73rz8172acd4jjg4fz";
+       buildDepends = [ base contravariant ];
+       description = "Haskell 98 invariant functors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "invertible-syntax" = callPackage
+    ({ mkDerivation, base, partial-isomorphisms }:
+     mkDerivation {
+       pname = "invertible-syntax";
+       version = "0.2.1";
+       sha256 = "0kyi7gq0a792v4lwmpq8i56vzwk6g7cjc3lbpxch47jsqv8lfhbp";
+       buildDepends = [ base partial-isomorphisms ];
+       homepage = "http://www.informatik.uni-marburg.de/~rendel/unparse";
+       description = "Invertible syntax descriptions for both parsing and pretty printing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-capture" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "io-capture";
+       version = "0.3";
+       sha256 = "03kjjsz1i1viwngmq9mvkzd43490g93mbkcvgjvcway2z5prv06f";
+       buildDepends = [ base unix ];
+       description = "capture IO action's stdout and stderr";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-choice" = callPackage
+    ({ mkDerivation, base, hspec, lifted-base, monad-control
+     , template-haskell, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "io-choice";
+       version = "0.0.5";
+       sha256 = "19nr8kxcg98510cqgjn4c9sd8i9yz8fv4ryqg6lzzgpwqzkvx5ph";
+       buildDepends = [
+         base lifted-base monad-control template-haskell transformers
+         transformers-base
+       ];
+       testDepends = [
+         base hspec lifted-base monad-control transformers
+       ];
+       description = "Choice for IO and lifted IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-manager" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "io-manager";
+       version = "0.1.0.2";
+       sha256 = "0f21h36z2ls0d6g31pcf4kcyfninaxws8w159zy33bwa19saf2mz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       description = "Skeleton library around the IO monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-memoize" = callPackage
+    ({ mkDerivation, async, base }:
+     mkDerivation {
+       pname = "io-memoize";
+       version = "1.1.1.0";
+       sha256 = "0ga85wdvz67jjx8qh6f687kfikcrfmp7winn13v6na7vlaqs2ly7";
+       buildDepends = [ async base ];
+       homepage = "https://github.com/DanBurton/io-memoize";
+       description = "Memoize IO actions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-reactive" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "io-reactive";
+       version = "0.1.1";
+       sha256 = "09iq8c86ql0hmzdf7i82lpdqa6nn6r0zy9lgryd6chkxd0kcpgvn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "An API for generating TIMBER style reactive objects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "io-region" = callPackage
+    ({ mkDerivation, base, hspec, stm, transformers }:
+     mkDerivation {
+       pname = "io-region";
+       version = "0.1.0";
+       sha256 = "11k1kw47g0mv0nd6gl9pyslr7y2d3wfbw04l6cqqf8cb1mrgl8j2";
+       buildDepends = [ base stm ];
+       testDepends = [ base hspec transformers ];
+       homepage = "https://github.com/Yuras/io-region/wiki";
+       description = "Exception safe resource management with dynamic regions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-storage" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "io-storage";
+       version = "0.3";
+       sha256 = "1ga9bd7iri6vlsxnjx765yy3bxc4lbz644wyw88yzvpjgz6ga3cs";
+       buildDepends = [ base containers ];
+       homepage = "http://github.com/willdonnelly/io-storage";
+       description = "A key-value store in the IO monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-streams" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , deepseq, directory, filepath, HUnit, mtl, network, primitive
+     , process, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers, vector
+     , zlib, zlib-bindings
+     }:
+     mkDerivation {
+       pname = "io-streams";
+       version = "1.2.1.2";
+       sha256 = "03jwm9p4pmh6bra19lkgbkb08aghfylv4gjwg3mfcipw981dnzb8";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring network primitive process
+         text time transformers vector zlib-bindings
+       ];
+       testDepends = [
+         attoparsec base blaze-builder bytestring deepseq directory filepath
+         HUnit mtl network primitive process QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text time
+         transformers vector zlib zlib-bindings
+       ];
+       configureFlags = [ "-fnointeractivetests" ];
+       description = "Simple, composable, and easy-to-use stream I/O";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-streams-http" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-client-tls
+     , io-streams, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "io-streams-http";
+       version = "0.2.0.2";
+       sha256 = "0vzl61hkhgyi5vanfl2fmfxp95yici96kgg8iz6rxjhipxs0ff86";
+       buildDepends = [
+         base bytestring http-client http-client-tls io-streams mtl
+         transformers
+       ];
+       jailbreak = true;
+       description = "http-client for io-streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "io-throttle" = callPackage
+    ({ mkDerivation, base, SafeSemaphore, threads }:
+     mkDerivation {
+       pname = "io-throttle";
+       version = "0.1.0";
+       revision = "1";
+       sha256 = "043plb9n606hkbdjddgk9kg12fzzs7ry063ckiky4zymy2vprcj9";
+       editedCabalFile = "c3903532515f76e374229ea572d11f7ab02a560062425f33649399c5ac61a16e";
+       buildDepends = [ base SafeSemaphore threads ];
+       testDepends = [ base ];
+       homepage = "http://github.com/rodrigosetti/io-throttle";
+       description = "Limit number of IO actions started per second";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ioctl" = callPackage
+    ({ mkDerivation, base, network, unix }:
+     mkDerivation {
+       pname = "ioctl";
+       version = "0.0.1";
+       sha256 = "0rwh7mlwdd24ndzz4b4vd5b5daz9cga47m9nz6g75m03iyy237qs";
+       buildDepends = [ base network unix ];
+       description = "Type-safe I/O control package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "iothread" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "iothread";
+       version = "0.1.0.0";
+       sha256 = "1nvysb0nmx42q0ilr09nzbsmr7mbbclhgl0iikibhhfb34r2afx0";
+       buildDepends = [ base ];
+       homepage = "https://github.com/tattsun/iothread";
+       description = "run IOs in a single thread";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "iotransaction" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "iotransaction";
+       version = "0.1";
+       sha256 = "0ylwrim2wfx3v03syd8v0iwf9kbw9154wlxsp8wc1d3n6sz7p1cc";
+       buildDepends = [ base ];
+       homepage = "https://bitbucket.org/dshearer/iotransaction/";
+       description = "Supports the automatic undoing of IO operations when an exception is thrown";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ip6addr" = callPackage
+    ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
+     mkDerivation {
+       pname = "ip6addr";
+       version = "0.5.0.1";
+       sha256 = "08nwzas5r3b47chldc3dmwmwxam5dlmsyqqqmql7rjm87h645di4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cmdargs IPv6Addr text ];
+       homepage = "https://github.com/MichelBoucey/ip6addr";
+       description = "Commandline tool to generate IPv6 address text representations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ipatch" = callPackage
+    ({ mkDerivation, base, bytestring, darcs, directory, filepath
+     , hashed-storage, process, unix
+     }:
+     mkDerivation {
+       pname = "ipatch";
+       version = "0.1.1";
+       sha256 = "19yf0b82ifplja05if38llfs38mzmxxald89jc2yzqzzkvws9ldq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring darcs directory filepath hashed-storage process
+         unix
+       ];
+       homepage = "http://darcs.nomeata.de/ipatch";
+       description = "interactive patch editor";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ipc" = callPackage
+    ({ mkDerivation, base, binary, bytestring, dlist, mtl, network
+     , network-bytestring, stm
+     }:
+     mkDerivation {
+       pname = "ipc";
+       version = "0.0.5";
+       sha256 = "0d1w62181s21ks63548i3jdfk4k1rg0hssnhkm97ymkrlcz6w68d";
+       buildDepends = [
+         base binary bytestring dlist mtl network network-bytestring stm
+       ];
+       jailbreak = true;
+       description = "High level inter-process communication library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ipcvar" = callPackage
+    ({ mkDerivation, base, binary, bytestring, directory, hspec, unix
+     }:
+     mkDerivation {
+       pname = "ipcvar";
+       version = "0.0.1";
+       sha256 = "085p03xk29wk03yfshpjvzkf2z79byhp9yy81vra1aci9nkgjr3n";
+       buildDepends = [ base binary bytestring directory unix ];
+       testDepends = [ base hspec unix ];
+       description = "Simple inter-process communication through IPCVars";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ipopt-hs" = callPackage
+    ({ mkDerivation, ad, ansi-wl-pprint, base, c2hs, containers
+     , criterion, ipopt, lens, linear, mtl, nlopt, random-shuffle
+     , Rlang-QQ, splines, template-haskell, uu-parsinglib, vector
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "ipopt-hs";
+       version = "0.4.2.0";
+       sha256 = "1lp0prql6f487zp08rj5hkdsf4al6qlzzfjpxildwmwsgajnw942";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ad ansi-wl-pprint base containers criterion lens linear mtl
+         random-shuffle Rlang-QQ splines template-haskell uu-parsinglib
+         vector vector-space
+       ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ ipopt nlopt ];
+       description = "haskell binding to ipopt and nlopt including automatic differentiation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) ipopt;  inherit (pkgs) nlopt;};
+
+  "ipprint" = callPackage
+    ({ mkDerivation, base, Extra, haskell-src }:
+     mkDerivation {
+       pname = "ipprint";
+       version = "0.5";
+       sha256 = "0h75k21blbnzvp5l20qsima557dx6zfrww79y7qsqf04pbd81j7s";
+       buildDepends = [ base Extra haskell-src ];
+       description = "Tiny helper for pretty-printing values in ghci console";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iproute" = callPackage
+    ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec
+     , network, QuickCheck, safe
+     }:
+     mkDerivation {
+       pname = "iproute";
+       version = "1.4.0";
+       sha256 = "00f4xddz9js73bsy15zsznmnad2psq7wg1ha7pmhdmdw5zlmqvad";
+       buildDepends = [ appar base byteorder containers network ];
+       testDepends = [
+         appar base byteorder containers doctest hspec network QuickCheck
+         safe
+       ];
+       homepage = "http://www.mew.org/~kazu/proj/iproute/";
+       description = "IP Routing Table";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iptables-helpers" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, QuickCheck, safe
+     , syb, utf8-string
+     }:
+     mkDerivation {
+       pname = "iptables-helpers";
+       version = "0.5.0";
+       sha256 = "13xv7g349ssgbz9c0g8q77hf52gp0v7nw9q665l697237jbvl57j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl parsec QuickCheck safe syb utf8-string
+       ];
+       jailbreak = true;
+       description = "iptables rules parser/printer library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "iptadmin" = callPackage
+    ({ mkDerivation, augeas, base, blaze-html, blaze-markup, bytestring
+     , ConfigFile, containers, file-embed, filepath, happstack-server
+     , happstack-server-tls, hdaemonize, hsyslog, iptables-helpers, mtl
+     , network, old-time, pam, parsec, process, random, safe
+     , template-haskell, time, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "iptadmin";
+       version = "1.3.4";
+       sha256 = "1ksnypq95xaybsb3vvhmabrh8l3c2c3mcqz83a61md9c1vw3n94m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         augeas base blaze-html blaze-markup bytestring ConfigFile
+         containers file-embed filepath happstack-server
+         happstack-server-tls hdaemonize hsyslog iptables-helpers mtl
+         network old-time pam parsec process random safe template-haskell
+         time unix utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://iptadmin.117.su";
+       description = "web-interface for iptables";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ipython-kernel" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, containers
+     , directory, filepath, mtl, parsec, SHA, tar, text, transformers
+     , unix, uuid, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "ipython-kernel";
+       version = "0.6.0.0";
+       sha256 = "0pk49hz2ba2ikd96nymrlk7nrd5sw1fmy7xbx24hrri5izqfjjli";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring cereal containers directory filepath mtl
+         parsec SHA tar text transformers unix uuid zeromq4-haskell
+       ];
+       homepage = "http://github.com/gibiansky/IHaskell";
+       description = "A library for creating kernels for IPython frontends";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "irc" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "irc";
+       version = "0.6.1.0";
+       sha256 = "1q9p2qwfy9rsfyaja4x3gjr8ql2ka2ja5qv56b062bdkvzafl5iq";
+       buildDepends = [ attoparsec base bytestring ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "A small library for parsing IRC messages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "irc-bytestring" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "irc-bytestring";
+       version = "0.1";
+       sha256 = "09n4y93x74wblbz89s1hwzmanwwi72cj0baz72485svarg55kid7";
+       buildDepends = [ attoparsec base bytestring ];
+       homepage = "https://github.com/kallisti-dev/irc-bytestring";
+       description = "serialization and parsing of IRC messages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "irc-client" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, data-default-class
+     , irc-conduit, irc-ctcp, old-locale, stm, stm-conduit, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "irc-client";
+       version = "0.2.3.1";
+       sha256 = "1i5wsqkz8b0h3vc4xjb1n7dqjhqqlka1pchhwax9w9lvnhw5wl9v";
+       buildDepends = [
+         base bytestring conduit data-default-class irc-conduit irc-ctcp
+         old-locale stm stm-conduit text time transformers
+       ];
+       homepage = "https://github.com/barrucadu/irc-client";
+       description = "An IRC client library";
+       license = "unknown";
+     }) {};
+
+  "irc-conduit" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit, conduit-extra
+     , connection, irc, irc-ctcp, network-conduit-tls, text, time, tls
+     , transformers, x509-validation
+     }:
+     mkDerivation {
+       pname = "irc-conduit";
+       version = "0.1.1.2";
+       sha256 = "1ib75a7dp9f6v7zl51a5z1pvv0vpll6czf5i8zad7ajn3q9d4z3p";
+       buildDepends = [
+         async base bytestring conduit conduit-extra connection irc irc-ctcp
+         network-conduit-tls text time tls transformers x509-validation
+       ];
+       homepage = "https://github.com/barrucadu/irc-conduit";
+       description = "Streaming IRC message library using conduits";
+       license = "unknown";
+     }) {};
+
+  "irc-core" = callPackage
+    ({ mkDerivation, array, attoparsec, base, base64-bytestring
+     , bytestring, config-value, connection, containers
+     , data-default-class, deepseq, directory, filepath, free
+     , haskell-lexer, lens, network, old-locale, split, stm, text, time
+     , tls, transformers, vty, x509, x509-store, x509-system
+     , x509-validation
+     }:
+     mkDerivation {
+       pname = "irc-core";
+       version = "1.0";
+       revision = "1";
+       sha256 = "02ymy4zar7jl14pkhl6f4l42yzb1jv8apdsf86sv39sw9yygs305";
+       editedCabalFile = "1fbb89234408096eb458a63862ebd84dcb5b103b93d587548490e9a5dc2d6b31";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array attoparsec base base64-bytestring bytestring config-value
+         connection containers data-default-class deepseq directory filepath
+         free haskell-lexer lens network old-locale split stm text time tls
+         transformers vty x509 x509-store x509-system x509-validation
+       ];
+       homepage = "https://github.com/glguy/irc-core";
+       description = "An IRC client library and text client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "irc-ctcp" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "irc-ctcp";
+       version = "0.1.2.1";
+       revision = "1";
+       sha256 = "1bpn9i9mqmhiif6mhw6q9nzy5cwx1x1yh81216gkqc5gi43gsc5s";
+       editedCabalFile = "23e92ff7cad332b34f89273fe543e9b8b87a19b30fb1a18fad61c9c3952d0dce";
+       buildDepends = [ base bytestring text ];
+       homepage = "https://github.com/barrucadu/irc-ctcp";
+       description = "A CTCP encoding and decoding library for IRC clients";
+       license = "unknown";
+     }) {};
+
+  "ircbot" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , irc, mtl, network, old-locale, parsec, random, SafeSemaphore, stm
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "ircbot";
+       version = "0.6.2";
+       sha256 = "0jl6sgm7bk4yi1l4s6j3yir3rpbxx8r4ri267xcw77b2vzbxq7l0";
+       buildDepends = [
+         base bytestring containers directory filepath irc mtl network
+         old-locale parsec random SafeSemaphore stm time unix
+       ];
+       homepage = "http://hub.darcs.net/stepcut/ircbot";
+       description = "A library for writing irc bots";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ircbouncer" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "ircbouncer";
+       version = "0.2.0";
+       sha256 = "1bn0m9x89pqknz8gn8gk9is6w6px4hznp3fqqb5dxwssmmjm99zm";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ireal" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "ireal";
+       version = "0.2.1";
+       sha256 = "0i9850l0k1w7vmdx4cs35789rf6j4i1xalpyrinf8x85f6c8mfxa";
+       buildDepends = [ base QuickCheck ];
+       description = "Real numbers and intervals with relatively efficient exact arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iron-mq" = callPackage
+    ({ mkDerivation, aeson, base, http-client, lens, text, wreq }:
+     mkDerivation {
+       pname = "iron-mq";
+       version = "0.1.1.0";
+       sha256 = "1yi1ia4ii6xg17ndp0v47cix0ds6bbrsbf0pghcmx3y4b55v0dlr";
+       buildDepends = [ aeson base http-client lens text wreq ];
+       homepage = "https://github.com/arnoblalam/iron_mq_haskell";
+       description = "Iron.IO message queueing client library";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "ironforge" = callPackage
+    ({ mkDerivation, antisplice, base, chatty, chatty-utils, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ironforge";
+       version = "0.1.0.34";
+       sha256 = "0f5hhncn1svv7kh8jl1jcscm9686401b0cvln5lv6gf3yij15107";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         antisplice base chatty chatty-utils mtl transformers
+       ];
+       description = "A technical demo for Antisplice";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "is" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "is";
+       version = "0.2";
+       sha256 = "1ihrrpypdjhsr42nd9chyq730kllx239igjpa12m14458lnrcb2h";
+       buildDepends = [ base template-haskell ];
+       testDepends = [ base template-haskell ];
+       description = "Pattern predicates using TH";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "isdicom" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "isdicom";
+       version = "0.0.2";
+       sha256 = "05f99nv4ydals0x1y39mswm3437s6bisdk63bgfzb89sgh0p9w1p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/tonymorris/isdicom";
+       description = "An executable and library to determine if a file is a DICOM file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "isevaluated" = callPackage
+    ({ mkDerivation, base, vacuum }:
+     mkDerivation {
+       pname = "isevaluated";
+       version = "0.3.0.2";
+       sha256 = "10f09br33xy5ldl924kfnnlc5ilwq44hd17s2qdf9jm75q4sa7d5";
+       buildDepends = [ base vacuum ];
+       jailbreak = true;
+       description = "Check whether a value has been evaluated";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "isiz" = callPackage
+    ({ mkDerivation, base, gtk3 }:
+     mkDerivation {
+       pname = "isiz";
+       version = "0.0.1";
+       sha256 = "0k0nyiicz87lvay95vligf563k1dgx93zds0f0kzqxn20miq480s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gtk3 ];
+       description = "A program to show the size of image and whether suitable for wallpaper";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "islink" = callPackage
+    ({ mkDerivation, base, unordered-containers }:
+     mkDerivation {
+       pname = "islink";
+       version = "0.1.0.0";
+       sha256 = "1mxfs8k0znc7v2iynjnhr4k5c9as4ip37ybvxnvjfqy4dld9rgyg";
+       buildDepends = [ base unordered-containers ];
+       homepage = "https://github.com/redneb/islink";
+       description = "Check if an HTML element is a link";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ismtp" = callPackage
+    ({ mkDerivation, base, bytestring, containers, contstuff, dnscache
+     , enumerator, lifted-base, monad-control, netlines, network, vector
+     }:
+     mkDerivation {
+       pname = "ismtp";
+       version = "4.0.2";
+       sha256 = "0skyrp497p0gfh39j1ng7ahpbzfykfvykq720akafgnapgsfxkhm";
+       buildDepends = [
+         base bytestring containers contstuff dnscache enumerator
+         lifted-base monad-control netlines network vector
+       ];
+       description = "Advanced ESMTP library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "iso3166-country-codes" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "iso3166-country-codes";
+       version = "0.20140203.7";
+       sha256 = "1cfmrkrx5wdcr8rrwakhmv0a5bxipxc3l7p4z5nxzl5nrjrli79s";
+       buildDepends = [ base ];
+       description = "A datatype for ISO 3166 country codes";
+       license = "LGPL";
+     }) {};
+
+  "iso639" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "iso639";
+       version = "0.1.0.3";
+       sha256 = "1s15vb00nqxnmm59axapipib1snh6q5qhfdw7pgb9vdsz8i86jqj";
+       buildDepends = [ base ];
+       homepage = "https://github.com/HugoDaniel/iso639";
+       description = "ISO-639-1 language codes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iso8583-bitmaps" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, parsec, syb
+     , template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "iso8583-bitmaps";
+       version = "0.1.0.0";
+       sha256 = "0w6m8ygpy1g95zvmbzq9402rxh4dj48i5bhcdzc4s0kig239gzqd";
+       buildDepends = [
+         base binary bytestring containers parsec syb template-haskell
+         th-lift
+       ];
+       description = "Parse and merge ISO 8583-style bitmaps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iso8601-time" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, old-locale, time }:
+     mkDerivation {
+       pname = "iso8601-time";
+       version = "0.1.3";
+       sha256 = "05qwpcj4whibj0bmdnq0wns9ks5v4fqnsyq7sl2v36pd11h9i9zv";
+       buildDepends = [ base old-locale time ];
+       testDepends = [ base hspec HUnit time ];
+       homepage = "https://github.com/nh2/iso8601-time";
+       description = "Convert to/from the ISO 8601 time format";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "isohunt" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, ghc-prim
+     , http-conduit, text, unordered-containers, uri, vector
+     }:
+     mkDerivation {
+       pname = "isohunt";
+       version = "0.1.3";
+       sha256 = "189dmxczmr0kqh440ziyp6kxx6iza2yyq7cs05hic9w8lhpwa6pw";
+       buildDepends = [
+         aeson base bytestring data-default ghc-prim http-conduit text
+         unordered-containers uri vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/reinerp/isohunt";
+       description = "Bindings to the isoHunt torrent search API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "itanium-abi" = callPackage
+    ({ mkDerivation, base, boomerang, HUnit, process, test-framework
+     , test-framework-hunit, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "itanium-abi";
+       version = "0.1.0.0";
+       sha256 = "19ywiim8jjkpj2f7agvq98j4p7l1bw8lp2lmgimwq3bz17nrawwk";
+       buildDepends = [
+         base boomerang text transformers unordered-containers
+       ];
+       testDepends = [
+         base HUnit process test-framework test-framework-hunit
+       ];
+       description = "An implementation of name mangling/demangling for the Itanium ABI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iter-stats" = callPackage
+    ({ mkDerivation, base, heap, HUnit, iteratee, ListLike, mtl
+     , statistics, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "iter-stats";
+       version = "0.1.0.4";
+       sha256 = "1pfvxxps319ynfpaqgkiyk7gbpi4l2rfqzqyw27jhzlxx860yq71";
+       buildDepends = [ base heap iteratee ListLike mtl ];
+       testDepends = [
+         base heap HUnit iteratee ListLike mtl statistics test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/JohnLato/iter-stats";
+       description = "iteratees for statistical processing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "iterIO" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , filepath, HsOpenSSL, ListLike, mtl, network, old-locale, process
+     , stringsearch, time, unix, zlib
+     }:
+     mkDerivation {
+       pname = "iterIO";
+       version = "0.2.2";
+       sha256 = "0cq0awzl249m9kzgs0hzs49r2v29q4dhq3sbd818izvyqzfzz4zm";
+       buildDepends = [
+         array attoparsec base bytestring containers filepath HsOpenSSL
+         ListLike mtl network old-locale process stringsearch time unix
+       ];
+       extraLibraries = [ zlib ];
+       jailbreak = true;
+       homepage = "http://www.scs.stanford.edu/~dm/iterIO";
+       description = "Iteratee-based IO with pipe operators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) zlib;};
+
+  "iterable" = callPackage
+    ({ mkDerivation, base, mtl, tagged, template-haskell, vector }:
+     mkDerivation {
+       pname = "iterable";
+       version = "3.0";
+       sha256 = "194718jpjwkv3ynlpgjlpvf0iqnj7dkd3zmci363gsa425i3vlbc";
+       buildDepends = [ base mtl tagged template-haskell vector ];
+       homepage = "https://github.com/BioHaskell/iterable";
+       description = "API for hierarchical multilevel collections";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iteratee" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions, HUnit
+     , ListLike, monad-control, mtl, parallel, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , transformers, transformers-base, unix
+     }:
+     mkDerivation {
+       pname = "iteratee";
+       version = "0.8.9.6";
+       sha256 = "1yc5fqqb8warvgld3cymka7d2wmjydvfin5jy7zaazb7alf14q1p";
+       buildDepends = [
+         base bytestring containers exceptions ListLike monad-control
+         parallel transformers transformers-base unix
+       ];
+       testDepends = [
+         base bytestring exceptions HUnit ListLike monad-control mtl
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 transformers transformers-base unix
+       ];
+       jailbreak = true;
+       homepage = "http://www.tiresiaspress.us/haskell/iteratee";
+       description = "Iteratee-based I/O";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "iteratee-compress" = callPackage
+    ({ mkDerivation, base, bytestring, bzip2, iteratee, mtl, zlib }:
+     mkDerivation {
+       pname = "iteratee-compress";
+       version = "0.3.3.1";
+       sha256 = "1j5w3pfi8mx88wfg6fwrj5jccfp8spw0jwb4zh3yyzg1jacrpal4";
+       buildDepends = [ base bytestring iteratee mtl ];
+       extraLibraries = [ bzip2 zlib ];
+       description = "Enumeratees for compressing and decompressing streams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) bzip2;  inherit (pkgs) zlib;};
+
+  "iteratee-mtl" = callPackage
+    ({ mkDerivation, base, bytestring, containers, ListLike
+     , MonadCatchIO-mtl, mtl, unix
+     }:
+     mkDerivation {
+       pname = "iteratee-mtl";
+       version = "0.5.0.0";
+       sha256 = "0a3f0m9lgc4ks18891a689bbb1c1kdrxswj42s5syvcq73y7v2h0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers ListLike MonadCatchIO-mtl mtl unix
+       ];
+       jailbreak = true;
+       homepage = "http://inmachina.net/~jwlato/haskell/iteratee";
+       description = "Iteratee-based I/O";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iteratee-parsec" = callPackage
+    ({ mkDerivation, base, iteratee, ListLike, parsec, reference
+     , transformers
+     }:
+     mkDerivation {
+       pname = "iteratee-parsec";
+       version = "0.0.6";
+       sha256 = "1saffq3pl20fph6jdss6yzdgfaqxwb2183gb3qxj6cwsrblzz628";
+       buildDepends = [
+         base iteratee ListLike parsec reference transformers
+       ];
+       jailbreak = true;
+       description = "Package allowing parsec parser initeratee";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "iteratee-stm" = callPackage
+    ({ mkDerivation, base, iteratee, stm, stm-chans, transformers }:
+     mkDerivation {
+       pname = "iteratee-stm";
+       version = "0.1.2";
+       sha256 = "1916phr07ckvm571rspswqr93z22la0mkxghvzljr0vgd1zi4p0x";
+       buildDepends = [ base iteratee stm stm-chans transformers ];
+       jailbreak = true;
+       homepage = "http://www.tiresiaspress.us/~jwlato/haskell/iteratee-stm";
+       description = "Concurrent iteratees using STM";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "iterio-server" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, iterIO, ListLike
+     , monadIO, mtl, network, split, transformers, unix
+     }:
+     mkDerivation {
+       pname = "iterio-server";
+       version = "0.3";
+       sha256 = "1yz05y6i036irdbnsmhhr9lpcfk56ii6ls1fqdgh80h9giyi6c0n";
+       buildDepends = [
+         base bytestring filepath iterIO ListLike monadIO mtl network split
+         transformers unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/alevy/iterio-server";
+       description = "Library for building servers with IterIO";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivar-simple" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ivar-simple";
+       version = "0.3";
+       sha256 = "13if0mqgnc6lsx1acw6395milygqq18sm5vazfkxdhmppsqb91ch";
+       buildDepends = [ base ];
+       description = "Write once concurrency primitives";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivor" = callPackage
+    ({ mkDerivation, base, binary, containers, directory, haskell98
+     , mtl, parsec
+     }:
+     mkDerivation {
+       pname = "ivor";
+       version = "0.1.14.1";
+       sha256 = "0r9ykfkxpwsrhsvv691r361pf79a7y511hxy2mvd6ysz1441mych";
+       buildDepends = [
+         base binary containers directory haskell98 mtl parsec
+       ];
+       homepage = "http://www.dcs.st-and.ac.uk/~eb/Ivor/";
+       description = "Theorem proving library based on dependent type theory";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory" = callPackage
+    ({ mkDerivation, base, containers, monadLib, parsec, pretty
+     , template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "ivory";
+       version = "0.1.0.0";
+       sha256 = "1rn1akrsci0k5nbk4zipxznkdm0y3rvv9la5mnrr9mkj5zikj5sc";
+       buildDepends = [
+         base containers monadLib parsec pretty template-haskell th-lift
+       ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "Safe embedded C programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory-backend-c" = callPackage
+    ({ mkDerivation, base, bytestring, cmdlib, containers, directory
+     , filepath, ivory, ivory-opts, language-c-quote, mainland-pretty
+     , monadLib, process, srcloc, template-haskell
+     }:
+     mkDerivation {
+       pname = "ivory-backend-c";
+       version = "0.1.0.1";
+       sha256 = "12rcaanxl86wna05x1gdkpfj90azn1z74cs3kfk9cp5g3g230ii4";
+       buildDepends = [
+         base bytestring cmdlib containers directory filepath ivory
+         ivory-opts language-c-quote mainland-pretty monadLib process srcloc
+         template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "Ivory C backend";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory-bitdata" = callPackage
+    ({ mkDerivation, base, ivory, ivory-backend-c, monadLib, parsec
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ivory-bitdata";
+       version = "0.2.0.0";
+       sha256 = "03qqax98qr2qyidc71i81f70lbma1s2q5jikl3m4ni4wyj3gg1m3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base ivory ivory-backend-c monadLib parsec template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "Ivory bit-data support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory-examples" = callPackage
+    ({ mkDerivation, base, ivory, ivory-backend-c, ivory-opts
+     , ivory-quickcheck, ivory-stdlib, mainland-pretty, monadLib, pretty
+     , QuickCheck, template-haskell, wl-pprint
+     }:
+     mkDerivation {
+       pname = "ivory-examples";
+       version = "0.1.0.2";
+       sha256 = "0jjcr72s616y8g4288fz506p1swrv06c2fmds28yd1rqc57g1mrm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ivory ivory-backend-c ivory-opts ivory-quickcheck ivory-stdlib
+         mainland-pretty monadLib pretty QuickCheck template-haskell
+         wl-pprint
+       ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "Ivory examples";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory-hw" = callPackage
+    ({ mkDerivation, base, filepath, ivory, ivory-backend-c
+     , ivory-bitdata
+     }:
+     mkDerivation {
+       pname = "ivory-hw";
+       version = "0.1.0.0";
+       sha256 = "1sa0ayym7ng5q7i356n59p18qqpy9cr2xcsmgh96a7ni4srbrbsy";
+       buildDepends = [
+         base filepath ivory ivory-backend-c ivory-bitdata
+       ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "Ivory hardware model (STM32F4)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory-opts" = callPackage
+    ({ mkDerivation, base, containers, dlist, fgl, filepath, ivory
+     , monadLib
+     }:
+     mkDerivation {
+       pname = "ivory-opts";
+       version = "0.1.0.1";
+       sha256 = "08ywjwkd37dld6h355r6a36h72s94gai7hs2r4hj5nk5pm7k4s5z";
+       buildDepends = [
+         base containers dlist fgl filepath ivory monadLib
+       ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "Ivory compiler optimizations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory-quickcheck" = callPackage
+    ({ mkDerivation, base, ivory, monadLib, QuickCheck, random }:
+     mkDerivation {
+       pname = "ivory-quickcheck";
+       version = "0.1.0.0";
+       sha256 = "0jbfpsmz8kq0h9gg5lm44pcdzhv8kv2rr554m4bic2bny94hnsjd";
+       buildDepends = [ base ivory monadLib QuickCheck random ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "QuickCheck driver for Ivory";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivory-stdlib" = callPackage
+    ({ mkDerivation, base, filepath, ivory }:
+     mkDerivation {
+       pname = "ivory-stdlib";
+       version = "0.1.0.0";
+       sha256 = "1a3d9916rgrznr5ci79ki918xg6xxd81krn8irv9wbp8h8ird2xq";
+       buildDepends = [ base filepath ivory ];
+       jailbreak = true;
+       homepage = "http://smaccmpilot.org/languages/ivory-introduction.html";
+       description = "Ivory standard library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ivy-web" = callPackage
+    ({ mkDerivation, base, invertible-syntax, partial-isomorphisms
+     , snap, snap-core
+     }:
+     mkDerivation {
+       pname = "ivy-web";
+       version = "0.2";
+       sha256 = "0m2wd8lh22nqyjiijw9ldl6l17fbkj7b4n0j5ymgrs3yx2mnnv1q";
+       buildDepends = [
+         base invertible-syntax partial-isomorphisms snap snap-core
+       ];
+       homepage = "https://github.com/lilac/ivy-web/";
+       description = "A lightweight web framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ix-shapable" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "ix-shapable";
+       version = "0.1.0";
+       sha256 = "08ljlzywnw0h8ijwb6yh4r8l6z7bbknwxv9cjq7lkfx7m2vgy1sh";
+       buildDepends = [ array base ];
+       description = "Reshape multi-dimensional arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ixdopp" = callPackage
+    ({ mkDerivation, base, preprocessor-tools, syb }:
+     mkDerivation {
+       pname = "ixdopp";
+       version = "0.1.3";
+       sha256 = "1vknwznk42b33q4pmh6z620g761yf3cmsmrmhilgq42i5qhll4d4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base preprocessor-tools syb ];
+       jailbreak = true;
+       homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/";
+       description = "A preprocessor for expanding \"ixdo\" notation for indexed monads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ixmonad" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "ixmonad";
+       version = "0.57";
+       sha256 = "1k8qfx9p6jw6gb4jsgq6y2bc6y6ah4h44gdgs0fxkrg371wyym7k";
+       buildDepends = [ base ghc-prim ];
+       description = "Embeds effect systems into Haskell using parameteric effect monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ixset" = callPackage
+    ({ mkDerivation, base, containers, safecopy, syb, syb-with-class
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ixset";
+       version = "1.0.6";
+       sha256 = "097f9fkm9a2n67bzagr9h2v7acdn8h1ayv9c83n7nv1dh157bpyv";
+       buildDepends = [
+         base containers safecopy syb syb-with-class template-haskell
+       ];
+       homepage = "http://happstack.com";
+       description = "Efficient relational queries on Haskell sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ixset-typed" = callPackage
+    ({ mkDerivation, base, containers, deepseq, HUnit, QuickCheck
+     , safecopy, syb, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ixset-typed";
+       version = "0.3";
+       sha256 = "0m6k5n755pfkx1grd5rbp1a9vlps6fdm25l91aa0wp5af1sakjmk";
+       buildDepends = [
+         base containers deepseq safecopy syb template-haskell
+       ];
+       testDepends = [
+         base containers HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Efficient relational queries on Haskell sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iyql" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, haskeline, haskell98, hoauth, mtl, old-locale, parsec
+     , time, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "iyql";
+       version = "0.0.7";
+       sha256 = "1jb97jzm9w8z8jyswbcr3kdraam95by6bc1gpjddwn817dijf0q4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory filepath haskeline
+         haskell98 hoauth mtl old-locale parsec time utf8-string xml
+       ];
+       description = "CLI (command line interface) to YQL";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "j2hs" = callPackage
+    ({ mkDerivation, base, bimap, containers, directory, filepath, hx
+     , java-bridge, java-bridge-extras, java-reflect, mtl, named-records
+     , split, strict, strings, syb, transformers
+     }:
+     mkDerivation {
+       pname = "j2hs";
+       version = "0.99.1";
+       sha256 = "0fls5krx9l0c7g755b4yyksiki45hbb6v7m0y6nsmpd217rggkb2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bimap containers directory filepath hx java-bridge
+         java-bridge-extras java-reflect mtl named-records split strict
+         strings syb transformers
+       ];
+       jailbreak = true;
+       description = "j2hs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jack" = callPackage
+    ({ mkDerivation, array, base, bytestring, enumset, event-list
+     , explicit-exception, jack2, midi, non-negative, transformers, unix
+     }:
+     mkDerivation {
+       pname = "jack";
+       version = "0.7.0.3";
+       sha256 = "12ap7xcgzmp5zwmqkwsgxplh5li21m7xngijr4mhnn9y33xc1lrk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring enumset event-list explicit-exception midi
+         non-negative transformers unix
+       ];
+       pkgconfigDepends = [ jack2 ];
+       homepage = "http://www.haskell.org/haskellwiki/JACK";
+       description = "Bindings for the JACK Audio Connection Kit";
+       license = "GPL";
+     }) { inherit (pkgs) jack2;};
+
+  "jack-bindings" = callPackage
+    ({ mkDerivation, base, c2hs, jack2, mtl }:
+     mkDerivation {
+       pname = "jack-bindings";
+       version = "0.1.1";
+       sha256 = "1gmz2qiz7wzydj0rhswbfhwi0zbdcbps29l1lryzqxm8chfc9mbm";
+       buildDepends = [ base mtl ];
+       buildTools = [ c2hs ];
+       pkgconfigDepends = [ jack2 ];
+       description = "DEPRECATED Bindings to the JACK Audio Connection Kit";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) jack2;};
+
+  "jackminimix" = callPackage
+    ({ mkDerivation, base, hosc }:
+     mkDerivation {
+       pname = "jackminimix";
+       version = "0.1";
+       sha256 = "03ysmgg5f3dsimskqw5vpnrv5jg4gf1gd0khmf0s1ilfm1jc1nfd";
+       buildDepends = [ base hosc ];
+       jailbreak = true;
+       homepage = "http://www.renickbell.net/doku.php?id=jackminimix";
+       description = "control JackMiniMix";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jacobi-roots" = callPackage
+    ({ mkDerivation, base, binary, bytestring, doctest, vector }:
+     mkDerivation {
+       pname = "jacobi-roots";
+       version = "0.2.0.4";
+       sha256 = "1skpw2jm5g0lylc79n5fk37d3lrvhwb3cmn50wcy4i5nnjvfdijc";
+       buildDepends = [ base binary bytestring vector ];
+       testDepends = [ base doctest ];
+       homepage = "http://github.com/ghorn/jacobi-roots";
+       description = "Roots of two shifted Jacobi polynomials (Legendre and Radau) to double precision";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jail" = callPackage
+    ({ mkDerivation, base, containers, directory, monads-fd
+     , transformers
+     }:
+     mkDerivation {
+       pname = "jail";
+       version = "0.0.1.1";
+       sha256 = "0wxz3w5r1zc571ibyqskwk27ba1dafwwpr10psbsg44fj7ii3vvz";
+       buildDepends = [
+         base containers directory monads-fd transformers
+       ];
+       jailbreak = true;
+       description = "Jailed IO monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jailbreak-cabal" = callPackage
+    ({ mkDerivation, base, Cabal }:
+     mkDerivation {
+       pname = "jailbreak-cabal";
+       version = "1.3";
+       sha256 = "1i4a8azbq74r3pb4hvb816amy13z03afpq4jvyps3s399id6zhx2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal ];
+       homepage = "http://github.com/peti/jailbreak-cabal";
+       description = "Strip version restrictions from build dependencies in Cabal files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jalaali" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "jalaali";
+       version = "0.2.0";
+       sha256 = "025ryrz87bii3401nq0bhyigzrs6lkippds6r4h0qzpq4pg8l7m0";
+       buildDepends = [ base ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/jalaali/jalaali-hs";
+       description = "Convert Jalaali and Gregorian calendar systems to each other";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "jalla" = callPackage
+    ({ mkDerivation, base, blas, c2hs, cblas, convertible, HUnit
+     , lapacke, mtl, QuickCheck, random, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "jalla";
+       version = "0.2";
+       sha256 = "02n9dfspn648090d3yhk3ngqzjky82ly770qi13d1h13ixbv2lx0";
+       buildDepends = [ base convertible mtl QuickCheck random ];
+       testDepends = [
+         base HUnit QuickCheck random test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ blas cblas lapacke ];
+       homepage = "https://github.com/cgo/jalla";
+       description = "Higher level functions for linear algebra. Wraps BLAS and LAPACKE.";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) blas;  cblas = null;  lapacke = null;};
+
+  "jammittools" = callPackage
+    ({ mkDerivation, base, boxes, bytestring, conduit, conduit-audio
+     , containers, directory, filepath, HPDF, JuicyPixels, process
+     , property-list, resourcet, temporary, transformers, vector
+     }:
+     mkDerivation {
+       pname = "jammittools";
+       version = "0.4.1";
+       sha256 = "0dmnv20nqv72wm42m5widcq0b63rnrslg8ylabc6hqp7xdqa7vil";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base boxes bytestring conduit conduit-audio containers directory
+         filepath HPDF JuicyPixels process property-list resourcet temporary
+         transformers vector
+       ];
+       homepage = "https://github.com/mtolly/jammittools";
+       description = "Export sheet music and audio from Windows/Mac app Jammit";
+       license = "GPL";
+     }) {};
+
+  "jarfind" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, regex-tdfa
+     , zip-archive
+     }:
+     mkDerivation {
+       pname = "jarfind";
+       version = "0.1.0.3";
+       sha256 = "0cfxq8k0k8r3wf4siypb78rqx5c9m2cm899bpa0zz591hc0p6k0w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring regex-tdfa zip-archive
+       ];
+       description = "Tool for searching java classes, members and fields in classfiles and JAR archives";
+       license = "GPL";
+     }) {};
+
+  "java-bridge" = callPackage
+    ({ mkDerivation, base, bimap, containers, cpphs, directory
+     , filepath, hinduce-missingh, hint, mtl, multimap, named-records
+     , names, split, strings, syb, transformers, unix
+     }:
+     mkDerivation {
+       pname = "java-bridge";
+       version = "0.20130606.3";
+       sha256 = "16nm5jn5y3rs3g1m524gn8xqxw13973cmpllmylh6qdpqcz47457";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bimap containers cpphs directory filepath hinduce-missingh
+         hint mtl multimap named-records names split strings syb
+         transformers unix
+       ];
+       description = "Bindings to the JNI and a high level interface generator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "java-bridge-extras" = callPackage
+    ({ mkDerivation, base, java-bridge, transformers }:
+     mkDerivation {
+       pname = "java-bridge-extras";
+       version = "0.99";
+       sha256 = "0wjxm0h5xlsab7iphcabb66c7gjxy7hyb502inlj5zxq1ic5ghzv";
+       buildDepends = [ base java-bridge transformers ];
+       jailbreak = true;
+       description = "Utilities for working with the java-bridge package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "java-character" = callPackage
+    ({ mkDerivation, base, diet }:
+     mkDerivation {
+       pname = "java-character";
+       version = "0.0.4";
+       sha256 = "1ms8m95mara3pp7qdg8jn2ajbq3zj8pnbs1b9jhpxbdkl5220768";
+       buildDepends = [ base diet ];
+       homepage = "https://github.com/tonymorris/java-character";
+       description = "Functions to simulate Java's Character class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "java-reflect" = callPackage
+    ({ mkDerivation, base, containers, hx, java-bridge }:
+     mkDerivation {
+       pname = "java-reflect";
+       version = "0.99";
+       sha256 = "1vdfq3c8chqhss6jiy139yrm45mij4kjdwxf2wrsfm4064j0n3wc";
+       buildDepends = [ base containers hx java-bridge ];
+       jailbreak = true;
+       description = "Tools for reflecting on Java classes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "javasf" = callPackage
+    ({ mkDerivation, base, binary, bytestring, directory, doctest
+     , filepath, language-java-classfile, QuickCheck
+     }:
+     mkDerivation {
+       pname = "javasf";
+       version = "0.1.0";
+       sha256 = "0k8si8rdhplfhfp5yq7rlkifj80401qyanfhv101h8amxg20m97w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring language-java-classfile ];
+       testDepends = [ base directory doctest filepath QuickCheck ];
+       homepage = "https://github.com/tonymorris/javasf";
+       description = "A utility to print the SourceFile attribute of one or more Java class files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "javav" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, QuickCheck }:
+     mkDerivation {
+       pname = "javav";
+       version = "0.1.1";
+       sha256 = "1kzhp9gim9jl78jw8gm9vzxciiz6m04pjamgx1pqbhkji3lkw55d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       testDepends = [ base directory doctest filepath QuickCheck ];
+       homepage = "https://github.com/tonymorris/javav";
+       description = "A utility to print the target version of Java class files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jcdecaux-vls" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "jcdecaux-vls";
+       version = "0.1.0";
+       sha256 = "11army6p19xmdils32nxf5zbjh4fcsp075x7h3v2hbc08n6fkj8s";
+       buildDepends = [
+         aeson base bytestring http-conduit text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/Herzult/jcdecaux-vls";
+       description = "JCDecaux self-service bicycles API client";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "jdi" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, mtl, network
+     , transformers
+     }:
+     mkDerivation {
+       pname = "jdi";
+       version = "0.0.3";
+       sha256 = "1jznizbnyg37lir155sq84dbsqcaavz061hj2a703w9x28s6pcnb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers mtl network transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/VictorDenisov/jdi";
+       description = "Implementation of Java Debug Interface";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "jespresso" = callPackage
+    ({ mkDerivation, arrows, base, bytestring, cmdargs
+     , data-default-class, data-default-instances-base, Diff, directory
+     , filepath, HTTP, http-encodings, hxt, hxt-tagsoup
+     , language-ecmascript, network, random, tasty, tasty-golden
+     , transformers
+     }:
+     mkDerivation {
+       pname = "jespresso";
+       version = "1.0.1";
+       sha256 = "0rl4k1vn5q23rjylpyya6dmp6pwdbdvrlxgkczxwy84j9xm665zg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         arrows base bytestring cmdargs data-default-class
+         data-default-instances-base HTTP http-encodings hxt hxt-tagsoup
+         language-ecmascript network random
+       ];
+       testDepends = [
+         arrows base Diff directory filepath hxt tasty tasty-golden
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/achudnov/jespresso";
+       description = "Extract all JavaScript from an HTML page and consolidate it in one script";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jmacro" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , haskell-src-exts, haskell-src-meta, mtl, parseargs, parsec
+     , regex-posix, safe, syb, template-haskell, text
+     , unordered-containers, vector, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "jmacro";
+       version = "0.6.11";
+       sha256 = "1b45graag0nmadaf1ssaps4g9p7xx7d2h7dy84nzmdhrpvdlw4xs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers haskell-src-exts haskell-src-meta
+         mtl parseargs parsec regex-posix safe syb template-haskell text
+         unordered-containers vector wl-pprint-text
+       ];
+       description = "QuasiQuotation library for programmatic generation of Javascript code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jmacro-rpc" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
+     , containers, contravariant, jmacro, mtl, scientific, split, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jmacro-rpc";
+       version = "0.3";
+       sha256 = "1fkcky2f51764xcbbwnxpxyhk2mmnp364hf8njfcjsijanv938zw";
+       buildDepends = [
+         aeson attoparsec base blaze-html bytestring containers
+         contravariant jmacro mtl scientific split text unordered-containers
+         vector
+       ];
+       homepage = "http://hub.darcs.net/gershomb/jmacro";
+       description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jmacro-rpc-happstack" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, containers
+     , happstack-server, jmacro, jmacro-rpc, mtl
+     }:
+     mkDerivation {
+       pname = "jmacro-rpc-happstack";
+       version = "0.3.1";
+       sha256 = "0b77nrvrh1wzsp6djji0hkgl6flyl664l7kzbf5kpi30mqh45a6a";
+       buildDepends = [
+         aeson base blaze-html bytestring containers happstack-server jmacro
+         jmacro-rpc mtl
+       ];
+       homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
+       description = "Happstack backend for jmacro-rpc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jmacro-rpc-snap" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, jmacro
+     , jmacro-rpc, mtl, snap-core
+     }:
+     mkDerivation {
+       pname = "jmacro-rpc-snap";
+       version = "0.3";
+       sha256 = "1syzx2lw4r8knsqhsvilp04wb8a718379cmn0nhjqlwhpaja9bj8";
+       buildDepends = [
+         aeson base bytestring containers jmacro jmacro-rpc mtl snap-core
+       ];
+       homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
+       description = "Snap backend for jmacro-rpc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jobqueue" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , containers, data-default, directory, fast-logger, HDBC
+     , HDBC-sqlite3, hslogger, hspec, hzk, lifted-base, monad-control
+     , monad-logger, mtl, network, QuickCheck, regex-posix, split, stm
+     , template-haskell, text, text-format, time, transformers-base
+     }:
+     mkDerivation {
+       pname = "jobqueue";
+       version = "0.1.5";
+       sha256 = "0zfdh559qyzflrnh0gg23zfpw4vkp8qsx6syrblq2d0iknfybhir";
+       buildDepends = [
+         aeson attoparsec base bytestring containers data-default
+         fast-logger HDBC HDBC-sqlite3 hslogger hzk lifted-base
+         monad-control monad-logger mtl network regex-posix split stm
+         template-haskell text text-format time transformers-base
+       ];
+       testDepends = [
+         async base bytestring data-default directory hspec network
+         QuickCheck stm
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/gree/haskell-jobqueue";
+       description = "A job queue library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "join" = callPackage
+    ({ mkDerivation, base, haskell98, multisetrewrite, stm }:
+     mkDerivation {
+       pname = "join";
+       version = "0.4";
+       sha256 = "0bx9cvdhhw7z30qgxwpl0j23z18sx7xyin2y7bwxvg5ga737j8qx";
+       buildDepends = [ base haskell98 multisetrewrite stm ];
+       homepage = "http://sulzmann.blogspot.com/2008/12/parallel-join-patterns-with-guards-and.html";
+       description = "Parallel Join Patterns with Guards and Propagation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "joinlist" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "joinlist";
+       version = "0.3.0";
+       sha256 = "0hjlyyylbh471696v9b1jckm7d4gfp1ka978sr1j0005d03gwv35";
+       buildDepends = [ base ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Join list - symmetric list type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jonathanscard" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HTTP, json, mtl
+     , network, old-locale, time
+     }:
+     mkDerivation {
+       pname = "jonathanscard";
+       version = "0.1.1";
+       sha256 = "0zwd5mdwamyl6xlflhj0yvp9k5yfrxggvv49d3hriz9z15f5v5g8";
+       buildDepends = [
+         base bytestring containers HTTP json mtl network old-locale time
+       ];
+       jailbreak = true;
+       homepage = "http://rawr.mschade.me/jonathanscard/";
+       description = "An implementation of the Jonathan's Card API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jort" = callPackage
+    ({ mkDerivation, array, base, gtk }:
+     mkDerivation {
+       pname = "jort";
+       version = "1.0.0";
+       sha256 = "1c1nr8pq4vyn4mvyqms2mq1sm42qgr2mrznn5rsv34rd1f75b2d3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base gtk ];
+       jailbreak = true;
+       description = "JP's own ray tracer";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jose" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bifunctors, byteable, bytestring, crypto-pubkey
+     , crypto-pubkey-types, crypto-random, cryptohash
+     , data-default-class, ghc-prim, hspec, integer-gmp, lens
+     , network-uri, old-locale, safe, semigroups, template-haskell, text
+     , time, unordered-containers, vector, x509
+     }:
+     mkDerivation {
+       pname = "jose";
+       version = "0.3.41.1";
+       sha256 = "1grb1yq3knm7hniqiivkx76mxkgacyq2qa12mv5lz097w7bldf4l";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring bifunctors byteable
+         bytestring crypto-pubkey crypto-pubkey-types crypto-random
+         cryptohash data-default-class ghc-prim integer-gmp lens network-uri
+         safe semigroups template-haskell text time unordered-containers
+         vector x509
+       ];
+       testDepends = [
+         aeson attoparsec base base64-bytestring bifunctors byteable
+         bytestring crypto-pubkey crypto-pubkey-types crypto-random
+         cryptohash data-default-class hspec lens network-uri old-locale
+         safe semigroups template-haskell text time unordered-containers
+         vector x509
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/frasertweedale/hs-jose";
+       description = "Javascript Object Signing and Encryption and JSON Web Token library";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "jose-jwt" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, base64-bytestring, byteable
+     , bytestring, cereal, cipher-aes, containers, cprng-aes
+     , crypto-cipher-types, crypto-numbers, crypto-pubkey
+     , crypto-pubkey-types, crypto-random, cryptohash, doctest, either
+     , errors, hspec, HUnit, mtl, QuickCheck, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jose-jwt";
+       version = "0.5";
+       sha256 = "0pk6fq3wsbl6pl79dcyns1c94xmv98acfr6rbxhyfqmc5lys759s";
+       buildDepends = [
+         aeson base base64-bytestring byteable bytestring cereal cipher-aes
+         containers crypto-cipher-types crypto-numbers crypto-pubkey
+         crypto-pubkey-types crypto-random cryptohash errors mtl text time
+         unordered-containers vector
+       ];
+       testDepends = [
+         aeson aeson-qq base base64-bytestring bytestring cipher-aes
+         cprng-aes crypto-cipher-types crypto-pubkey crypto-pubkey-types
+         crypto-random cryptohash doctest either hspec HUnit mtl QuickCheck
+         text
+       ];
+       homepage = "http://github.com/tekul/jose-jwt";
+       description = "JSON Object Signing and Encryption Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jpeg" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "jpeg";
+       version = "0.0.1.1";
+       sha256 = "1hnfapr21zpfyiywa4zzmwa518jzg73dnmaakrbvvpcmr4fvh9qx";
+       buildDepends = [ base mtl ];
+       description = "A library for decoding JPEG files written in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "js-flot" = callPackage
+    ({ mkDerivation, base, HTTP }:
+     mkDerivation {
+       pname = "js-flot";
+       version = "0.8.3";
+       sha256 = "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv";
+       buildDepends = [ base ];
+       testDepends = [ base HTTP ];
+       homepage = "https://github.com/ndmitchell/js-flot#readme";
+       description = "Obtain minified flot code";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "js-good-parts" = callPackage
+    ({ mkDerivation, base, wl-pprint }:
+     mkDerivation {
+       pname = "js-good-parts";
+       version = "0.0.7";
+       sha256 = "0i3r3xl8hi2a3d6hrj77vbfi54bkq4pidrjcz13vz4az9dvz6k75";
+       buildDepends = [ base wl-pprint ];
+       homepage = "https://github.com/sseefried/js-good-parts.git";
+       description = "Javascript: The Good Parts -- AST & Pretty Printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "js-jquery" = callPackage
+    ({ mkDerivation, base, HTTP }:
+     mkDerivation {
+       pname = "js-jquery";
+       version = "1.11.2";
+       sha256 = "0sdzgz3gfic0i6636kd2szlqczhydi8m6vjr188n1bjc1y1xh112";
+       buildDepends = [ base ];
+       testDepends = [ base HTTP ];
+       homepage = "https://github.com/ndmitchell/js-jquery#readme";
+       description = "Obtain minified jQuery code";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "jsaddle" = callPackage
+    ({ mkDerivation, base, hslogger, lens, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "jsaddle";
+       version = "0.2.0.3";
+       sha256 = "0bldhn9bhhz07shcdcdc0p01ggxa8af43cf0bza9za8zywgq5i9x";
+       buildDepends = [ base lens template-haskell text transformers ];
+       testDepends = [
+         base hslogger lens template-haskell text transformers
+       ];
+       jailbreak = true;
+       description = "High level interface for webkit-javascriptcore";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jsaddle-hello" = callPackage
+    ({ mkDerivation, base, ghcjs-dom, jsaddle, lens }:
+     mkDerivation {
+       pname = "jsaddle-hello";
+       version = "1.0.0.0";
+       sha256 = "07kgjp35vbwljhyz9i49fbvbj4d05gn8swzynb0hd02bbsl5i0dp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ghcjs-dom jsaddle lens ];
+       jailbreak = true;
+       homepage = "https://github.com/ghcjs/jsaddle-hello";
+       description = "JSaddle Hello World, an example package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jsc" = callPackage
+    ({ mkDerivation, base, glib, gtk3, hslogger, jmacro, lens
+     , template-haskell, text, transformers, webkitgtk3
+     , webkitgtk3-javascriptcore
+     }:
+     mkDerivation {
+       pname = "jsc";
+       version = "0.1.1.1";
+       sha256 = "18mvpncvsfv4gv7lx00g8aixjmhzp0yklxaajx45v2hsx0azn8zc";
+       buildDepends = [
+         base jmacro lens template-haskell text transformers webkitgtk3
+         webkitgtk3-javascriptcore
+       ];
+       testDepends = [
+         base glib gtk3 hslogger jmacro lens template-haskell text
+         transformers webkitgtk3 webkitgtk3-javascriptcore
+       ];
+       jailbreak = true;
+       description = "High level interface for webkit-javascriptcore";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jsmw" = callPackage
+    ({ mkDerivation, base, DOM, mtl, WebBits }:
+     mkDerivation {
+       pname = "jsmw";
+       version = "0.1";
+       sha256 = "1r36w2h5007qln56gnyyd7w6bcqiymn1jw287z0waf4fhpy02ygq";
+       buildDepends = [ base DOM mtl WebBits ];
+       jailbreak = true;
+       description = "Javascript Monadic Writer base package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "json" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl, parsec
+     , pretty, syb, text
+     }:
+     mkDerivation {
+       pname = "json";
+       version = "0.9.1";
+       sha256 = "18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn";
+       buildDepends = [
+         array base bytestring containers mtl parsec pretty syb text
+       ];
+       description = "Support for serialising Haskell to and from JSON";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "json-assertions" = callPackage
+    ({ mkDerivation, aeson, base, indexed, indexed-free, lens
+     , lens-aeson, text
+     }:
+     mkDerivation {
+       pname = "json-assertions";
+       version = "1.0.5";
+       sha256 = "1vf6y8xbl48giq1p6d62294rfvfdw62l1q4dspy990ii0v5gkyck";
+       buildDepends = [
+         aeson base indexed indexed-free lens lens-aeson text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ocharles/json-assertions.git";
+       description = "Test that your (Aeson) JSON encoding matches your expectations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "json-autotype" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, GenericPretty, hashable, hflags, hint, lens, mtl
+     , pretty, process, QuickCheck, scientific, smallcheck, text
+     , uniplate, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "json-autotype";
+       version = "0.5";
+       sha256 = "05r61sgp5asyah71zxhy3gw7f97bqsqxgqinfvj6fiwq7gir58wr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers filepath GenericPretty hashable
+         hflags hint lens mtl pretty process scientific text uniplate
+         unordered-containers vector
+       ];
+       testDepends = [
+         aeson base bytestring containers directory filepath GenericPretty
+         hashable hflags lens mtl 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;
+     }) {};
+
+  "json-b" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-nums, bytestring-trie
+     , bytestringparser-temporary, containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "json-b";
+       version = "0.0.4";
+       sha256 = "0wcvaswgffzvhfq7v5lqxp6xhxajaabbxkqpqxp5vwcv5slkiags";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-nums bytestring-trie
+         bytestringparser-temporary containers utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jsnx/JSONb/";
+       description = "JSON parser that uses byte strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "json-builder" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-textual, bytestring
+     , containers, text, unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "json-builder";
+       version = "0.3";
+       sha256 = "0k8b93bqi68c7nwq09cws8kfm84kd4k5lpy4z9ifks1jaiyj3vxm";
+       buildDepends = [
+         base blaze-builder blaze-textual bytestring containers text
+         unordered-containers utf8-string vector
+       ];
+       homepage = "http://github.com/lpsmith/json-builder";
+       description = "Data structure agnostic JSON serialization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "json-enumerator" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-builder-enumerator
+     , bytestring, containers, enumerator, json-types, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "json-enumerator";
+       version = "0.0.1.2";
+       sha256 = "08gwrm15pvvhhrkrncy6wr4fi5v55fdhc8byfrw5zd62hmx8xm9d";
+       buildDepends = [
+         base blaze-builder blaze-builder-enumerator bytestring containers
+         enumerator json-types text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/json-enumerator";
+       description = "Pure-Haskell utilities for dealing with JSON with the enumerator package. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "json-extra" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default
+     , template-haskell, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "json-extra";
+       version = "0.1.0.1";
+       revision = "1";
+       sha256 = "1wqn68brkjmix7xidcb7170ydpxwq1p48qqmm4w9ak0zkvm70fks";
+       editedCabalFile = "76113c3d47cb5d8087ffe18e1b09eaa22cc8dcd07010537739c7f1e4dc6b0741";
+       buildDepends = [
+         aeson base bytestring data-default template-haskell
+         unordered-containers yaml
+       ];
+       homepage = "https://bitbucket.org/tdammers/json-extra";
+       description = "Utility functions to extend Aeson";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "json-fu" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , hashable, hspec, mtl, syb, text, time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "json-fu";
+       version = "0.1.1";
+       sha256 = "098ps56igr12wm9hai3agh2hdmvd00rzpdd5lw0ffjivjxxfh829";
+       buildDepends = [
+         aeson attoparsec base bytestring containers hashable mtl syb text
+         time unordered-containers vector
+       ];
+       testDepends = [
+         aeson attoparsec base bytestring containers hashable hspec mtl syb
+         text time unordered-containers vector
+       ];
+       description = "Generic JSON serialization / deserialization";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "json-python" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, pureMD5
+     , python, template-haskell
+     }:
+     mkDerivation {
+       pname = "json-python";
+       version = "0.4.0.1";
+       sha256 = "0ga3clvmq20xlyx47bril651xg8rhq77s7nj6r1v836m3xwcb0y9";
+       buildDepends = [
+         aeson base bytestring containers pureMD5 template-haskell
+       ];
+       pkgconfigDepends = [ python ];
+       homepage = "http://stewart.guru";
+       description = "Call python inline from haskell";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) python;};
+
+  "json-qq" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, parsec, template-haskell
+     }:
+     mkDerivation {
+       pname = "json-qq";
+       version = "0.4.1";
+       sha256 = "0rpfv0i4jhjkq39xcs3b89ms0w4il4l7f385msqj93qzj76is7m6";
+       buildDepends = [ base haskell-src-meta parsec template-haskell ];
+       homepage = "http://github.com/finnsson/json-qq";
+       description = "Json Quasiquatation library for Haskell";
+       license = "unknown";
+     }) {};
+
+  "json-rpc" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, conduit
+     , conduit-extra, deepseq, hashable, mtl, QuickCheck, stm
+     , stm-conduit, test-framework, test-framework-quickcheck2, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "json-rpc";
+       version = "0.2.1.2";
+       sha256 = "0lwn9gmjads8hbn2yi9rsn8h1k57mba6z4p06vzwli95f8gdsy0h";
+       buildDepends = [
+         aeson async base bytestring conduit conduit-extra deepseq hashable
+         mtl stm stm-conduit text unordered-containers
+       ];
+       testDepends = [
+         aeson async base bytestring conduit conduit-extra deepseq hashable
+         mtl QuickCheck stm stm-conduit test-framework
+         test-framework-quickcheck2 text unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/xenog/json-rpc";
+       description = "Fully-featured JSON-RPC 2.0 library";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "json-rpc-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HUnit, json-rpc-server
+     , mtl, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "json-rpc-client";
+       version = "0.1.0.0";
+       sha256 = "0sfdlj5i7flb9kkmi4lmmx199ikw7gp17flr9yx104z5a9r5f51m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring json-rpc-server mtl text unordered-containers
+         vector
+       ];
+       testDepends = [
+         aeson base bytestring HUnit json-rpc-server mtl QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       description = "JSON-RPC 2.0 on the client side.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "json-rpc-server" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, HUnit, mtl
+     , test-framework, test-framework-hunit, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "json-rpc-server";
+       version = "0.1.5.0";
+       sha256 = "1328366gdcsgfwqjzqgz07nnxn2j8gpbrcr6888wq1br0bxyczj5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring deepseq mtl text unordered-containers vector
+       ];
+       testDepends = [
+         aeson base bytestring HUnit mtl test-framework test-framework-hunit
+         text unordered-containers vector
+       ];
+       description = "JSON-RPC 2.0 on the server side.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "json-schema" = callPackage
+    ({ mkDerivation, aeson, aeson-utils, attoparsec, base, bytestring
+     , containers, generic-aeson, generic-deriving, mtl, scientific
+     , tagged, tasty, tasty-hunit, tasty-th, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "json-schema";
+       version = "0.7.3.3";
+       sha256 = "0645ji3dl0xilpkgpblz3kkp1yvzxxcm9qm205wk2xsn00mp864c";
+       buildDepends = [
+         aeson base containers generic-aeson generic-deriving mtl scientific
+         tagged text time unordered-containers vector
+       ];
+       testDepends = [
+         aeson aeson-utils attoparsec base bytestring generic-aeson tagged
+         tasty tasty-hunit tasty-th text vector
+       ];
+       description = "Types and type classes for defining JSON schemas";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "json-sop" = callPackage
+    ({ mkDerivation, aeson, base, generics-sop, lens-sop, tagged, text
+     , time, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "json-sop";
+       version = "0.1.0.4";
+       sha256 = "02x65fh0s3gl8adij8xg8mgqp7p3jj4yjhhvch51zgbhcflsb7cv";
+       buildDepends = [
+         aeson base generics-sop lens-sop tagged text time transformers
+         unordered-containers vector
+       ];
+       description = "Generics JSON (de)serialization using generics-sop";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "json-tools" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , process, tar, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "json-tools";
+       version = "0.5.0";
+       sha256 = "13iyhsq4010ypgmlsdkdk93w8dhg6v0cllsf0avfaxkdva9lrqkf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring containers process tar text
+         unordered-containers vector
+       ];
+       description = "A collection of JSON tools";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "json-types" = callPackage
+    ({ mkDerivation, base, containers, text }:
+     mkDerivation {
+       pname = "json-types";
+       version = "0.1";
+       sha256 = "088if9qv0didjyb6y1583viihjgc4nwr61qfjqdg9rzc2ya6vqdn";
+       buildDepends = [ base containers text ];
+       description = "Basic types for representing JSON";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "json2" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , json2-types, mtl, old-locale, parsec, pretty, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "json2";
+       version = "0.8.3";
+       sha256 = "1w7x67cykbnr2h8jjjqd5whf7pq7vwk7r9g1q1i9g25b9b49i7r8";
+       buildDepends = [
+         base blaze-builder bytestring containers json2-types mtl old-locale
+         parsec pretty time utf8-string
+       ];
+       description = "Library provides support for JSON";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "json2-hdbc" = callPackage
+    ({ mkDerivation, base, containers, HDBC, json2, json2-types, time
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "json2-hdbc";
+       version = "0.5.1";
+       sha256 = "1flbh68ymm39ccw5h9fiwy35qarn8zkxljmnjgg6fd39j8zbc3dj";
+       buildDepends = [
+         base containers HDBC json2 json2-types time utf8-string
+       ];
+       description = "Support JSON for SQL Database";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "json2-types" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "json2-types";
+       version = "0.1";
+       sha256 = "0gr5mfi68hvk8wajw6wbimmwxd0rgjwqrg3mjyfppkr1nwkyfzpr";
+       buildDepends = [ base containers ];
+       description = "Defined JSON data types and function for renders JSON to string";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "json2yaml" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, yaml }:
+     mkDerivation {
+       pname = "json2yaml";
+       version = "0.3.2.3";
+       sha256 = "1ip9qgrzr59v3zxcj6l1dys0zbfj9s8fgdj4lv1grh7wbzdfz9dn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ aeson base bytestring yaml ];
+       homepage = "http://github.com/snoyberg/json2yaml/tree/master";
+       description = "Utility to convert a file from JSON to YAML format. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jsonresume" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, old-locale, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "jsonresume";
+       version = "0.1.0.1";
+       sha256 = "14kv1cbjh1m9ri0vjj015hx6bx6l7jv71gpfa6n0fg21hh5fl7a4";
+       buildDepends = [
+         aeson base bytestring old-locale text time unordered-containers
+       ];
+       homepage = "https://github.com/dpwright/jsonresume.hs";
+       description = "Parser and datatypes for the JSON Resume format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jsonrpc-conduit" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit
+     , conduit-extra, mtl, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "jsonrpc-conduit";
+       version = "0.2.6";
+       sha256 = "08mjwic7qbp241ydxiy5lm782igwd4ba27sii3csv4wdgdxgd3vy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring conduit conduit-extra mtl text
+         transformers unordered-containers
+       ];
+       description = "JSON-RPC 2.0 server over a Conduit.";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "jsonsql" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , HUnit, optparse-applicative, scientific, string-qq, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jsonsql";
+       version = "0.1.0.1";
+       sha256 = "1mr4xdwspza87kvaq4337k6hwzvrjxsr5bybdp1sv3x3fdg481ir";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring containers HUnit
+         optparse-applicative scientific string-qq text unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/danchoi/jsonsql";
+       description = "Interpolate JSON object values into SQL strings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "jsontsv" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , csv, optparse-applicative, scientific, string-qq, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jsontsv";
+       version = "0.1.4.6";
+       sha256 = "05rfpzs7ln87n17dbq22g990hkiqwwr656w6l2mrqfnq10qzx8xc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring containers csv
+         optparse-applicative scientific string-qq text unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/danchoi/jsontsv";
+       description = "JSON to TSV transformer";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "jspath" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-trie, JSONb
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "jspath";
+       version = "0.1";
+       sha256 = "072q6mipfaqf33w806chf2226zpay124lgph0wlgfdbhfd5118n7";
+       buildDepends = [
+         base bytestring bytestring-trie JSONb utf8-string
+       ];
+       description = "Extract substructures from JSON by following a path";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "judy" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, hspec, Judy
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "judy";
+       version = "0.2.3";
+       sha256 = "1acw072v0lj2jkc6lffcigl1miy1r4wv52qxk6qql0wdg5ydjcjh";
+       buildDepends = [ base bytestring ghc-prim ];
+       testDepends = [ base hspec QuickCheck ];
+       extraLibraries = [ Judy ];
+       homepage = "http://github.com/mwotton/judy";
+       description = "Fast, scalable, mutable dynamic arrays, maps and hashes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { Judy = null;};
+
+  "jukebox" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , directory, filepath, hashable, minisat, mtl, pretty, process
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "jukebox";
+       version = "0.1.3";
+       sha256 = "024q90vsphh3ka4p2l0xmyvp874jp5a61s4gwmg985v5b54srzh5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory filepath hashable
+         minisat mtl pretty process unordered-containers
+       ];
+       buildTools = [ alex ];
+       description = "A first-order reasoning toolbox";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jvm-parser" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , data-binary-ieee754, fgl, fingertree, pretty, zlib
+     }:
+     mkDerivation {
+       pname = "jvm-parser";
+       version = "0.2.1";
+       sha256 = "0rhixf1syrnhql3aqlvl9hcylaiyhca1yvismdzalkhbz0qdgvir";
+       buildDepends = [
+         array base binary bytestring containers data-binary-ieee754 fgl
+         fingertree pretty zlib
+       ];
+       description = "A parser for JVM bytecode files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "jwt" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , containers, cryptohash, data-default, http-types, HUnit, lens
+     , lens-aeson, network, network-uri, QuickCheck, scientific
+     , semigroups, tasty, tasty-hunit, tasty-quickcheck, tasty-th, text
+     , time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "jwt";
+       version = "0.5.3";
+       sha256 = "1225fa53gghfpgwhr4x269a6kygfj39fh2qdapdi9mrrvlg302i4";
+       buildDepends = [
+         aeson base base64-bytestring bytestring containers cryptohash
+         data-default http-types network network-uri scientific semigroups
+         text time unordered-containers vector
+       ];
+       testDepends = [
+         aeson base base64-bytestring bytestring containers cryptohash
+         data-default http-types HUnit lens lens-aeson network network-uri
+         QuickCheck 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;
+     }) {};
+
+  "kafka-client" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, digest, dlist, hspec
+     , hspec-discover, network, QuickCheck, snappy, time, zlib
+     }:
+     mkDerivation {
+       pname = "kafka-client";
+       version = "0.7.0.0";
+       revision = "1";
+       sha256 = "1qaz47qqrbg1k4jjvq30qy3j57vsa0pqz91dcgx67pvqqw13n7r2";
+       editedCabalFile = "2a9089e946bf6bbb67d9e464a672da4b958775a2572faf78554f1d2875eb7357";
+       buildDepends = [
+         base bytestring cereal digest dlist network snappy time zlib
+       ];
+       testDepends = [
+         base bytestring cereal hspec hspec-discover QuickCheck time
+       ];
+       homepage = "https://github.com/abhinav/kafka-client";
+       description = "Low-level Haskell client library for Apache Kafka 0.7.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "kan-extensions" = callPackage
+    ({ mkDerivation, adjunctions, array, base, comonad, containers
+     , contravariant, distributive, free, mtl, semigroupoids, tagged
+     , transformers
+     }:
+     mkDerivation {
+       pname = "kan-extensions";
+       version = "4.2.1";
+       revision = "1";
+       sha256 = "0lymh1njw1zh9is6zk3bmr7jylna28632l4pylh6chlxpjvy4zwl";
+       editedCabalFile = "c0b1fdbd894c452f2658615bb14db240921b9ba5115f4f232d173ecbdae83ead";
+       buildDepends = [
+         adjunctions array base comonad containers contravariant
+         distributive 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;
+     }) {};
+
+  "kangaroo" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "kangaroo";
+       version = "0.4.0";
+       sha256 = "1l7b71dhrxd2g3nbqg3h0n5dvgxr23av1cy1f0mvw347y91rx36x";
+       buildDepends = [ array base ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Binary parsing with random access";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kansas-comet" = callPackage
+    ({ mkDerivation, aeson, base, containers, data-default, scotty, stm
+     , text, time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "kansas-comet";
+       version = "0.3.1";
+       sha256 = "0xbapi4clmkighxh0jb12zpzgrz9sqyfpwdkvrj6cdq6i6a22qx1";
+       buildDepends = [
+         aeson base containers data-default scotty stm text time
+         transformers unordered-containers
+       ];
+       homepage = "https://github.com/ku-fpg/kansas-comet/";
+       description = "A JavaScript push mechanism based on the comet idiom";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "kansas-lava" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers
+     , data-default, data-reify, directory, dotgen, filepath, netlist
+     , netlist-to-vhdl, process, random, sized-types, strict
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "kansas-lava";
+       version = "0.2.4.2";
+       sha256 = "1rng6hjkp6rqqp18dnfm3aps8k5hkxcjm9q1yynyzn12prv4xb1q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs containers data-default data-reify
+         directory dotgen filepath netlist netlist-to-vhdl process random
+         sized-types strict template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://ittc.ku.edu/csdl/fpg/Tools/KansasLava";
+       description = "Kansas Lava is a hardware simulator and VHDL generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kansas-lava-cores" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, data-default
+     , directory, filepath, kansas-lava, network, sized-types
+     }:
+     mkDerivation {
+       pname = "kansas-lava-cores";
+       version = "0.1.2.1";
+       sha256 = "0x2rgl3cf06srsfvcrrg8kf9r42x3qrvch7kk97zh9vp1f19jd9q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring data-default directory filepath
+         kansas-lava network sized-types
+       ];
+       homepage = "http://ittc.ku.edu/csdl/fpg/Tools/KansasLava";
+       description = "FPGA Cores Written in Kansas Lava";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kansas-lava-papilio" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, data-default
+     , directory, filepath, kansas-lava, kansas-lava-cores, netlist
+     , network, sized-types
+     }:
+     mkDerivation {
+       pname = "kansas-lava-papilio";
+       version = "0.2.0";
+       sha256 = "1p1mlpcm5jaxa6ja5g9vcgkf1dqnh6b2xzy45m0qas9ak47qrhrd";
+       buildDepends = [
+         ansi-terminal base bytestring data-default directory filepath
+         kansas-lava kansas-lava-cores netlist network sized-types
+       ];
+       description = "Kansas Lava support files for the Papilio FPGA board";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kansas-lava-shake" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hastache
+     , kansas-lava, shake, temporary, text
+     }:
+     mkDerivation {
+       pname = "kansas-lava-shake";
+       version = "0.1.2";
+       sha256 = "00xkrm724d7q5dmdgz41gm5s058b75rr4pgv3f6qkkx7g9qbd6d7";
+       buildDepends = [
+         base containers directory filepath hastache kansas-lava shake
+         temporary text
+       ];
+       description = "Shake rules for building Kansas Lava projects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "karakuri" = callPackage
+    ({ mkDerivation, base, comonad, containers, minioperational, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "karakuri";
+       version = "0.1.1";
+       sha256 = "0ys4kx4pq9xrb4gjg6syyim8mpfy3yzyyiw2mdc4vh9hmsny373c";
+       buildDepends = [
+         base comonad containers minioperational mtl transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fumieval/karakuri";
+       description = "Good stateful automata";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "karver" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, hspec, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "karver";
+       version = "0.1.1";
+       sha256 = "1n6q13i6j68siq36bli0hnf1ssny4ax71ai48da1x3z6996hbg06";
+       buildDepends = [
+         aeson attoparsec base bytestring text unordered-containers vector
+       ];
+       testDepends = [
+         aeson attoparsec base hspec text unordered-containers vector
+       ];
+       description = "A simple template engine, inspired by jinja2";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "katt" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, ConfigFile, containers
+     , directory, errors, filepath, lens, mtl, parsec, text, url, wreq
+     , zip-archive
+     }:
+     mkDerivation {
+       pname = "katt";
+       version = "0.2.0.3";
+       sha256 = "1hvi23r9wgz77w6wl9nhpvkcbajm5m8kmy87pjmfgifj60d9cmhg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring ConfigFile containers directory errors
+         filepath lens mtl parsec text url wreq zip-archive
+       ];
+       testDepends = [ base bytestring directory mtl ];
+       jailbreak = true;
+       homepage = "https://github.com/davnils/katt";
+       description = "Client for the Kattis judge system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "kbq-gu" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "kbq-gu";
+       version = "0.2";
+       sha256 = "1skz1yllkwbpx4wd8w8q4zmqd3f62baaj5pja6dpqr2xviiv0j6g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://tcana.info/rpoku";
+       description = "Rpoku spoken word programming language";
+       license = "GPL";
+     }) {};
+
+  "kd-tree" = callPackage
+    ({ mkDerivation, base, lens, linear, vector, vector-algorithms }:
+     mkDerivation {
+       pname = "kd-tree";
+       version = "0.1.0";
+       sha256 = "0j9wlap9gx2szb5saa4pxm7mp2w132ki1p6mlcv0s0wy9rv6dnm7";
+       buildDepends = [ base lens linear vector vector-algorithms ];
+       jailbreak = true;
+       homepage = "http://github.com/bgamari/kd-tree";
+       description = "A simple k-d tree implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "kdesrc-build-extra" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cmdargs
+     , directory, MissingH, parsec, process
+     }:
+     mkDerivation {
+       pname = "kdesrc-build-extra";
+       version = "0.1.0.2";
+       sha256 = "1n19jika26wgv7nhbbwnjjhmcbgqqag06k467r6q0s16ilp1p5nr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring cmdargs directory MissingH parsec
+         process
+       ];
+       description = "Build profiles for kdesrc-build";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "kdt" = callPackage
+    ({ mkDerivation, base, deepseq, deepseq-generics, heap, QuickCheck
+     }:
+     mkDerivation {
+       pname = "kdt";
+       version = "0.2.3";
+       sha256 = "0chxxl53jnnhfs02gxr2a3kzppmsnwrrfr1fjyx71lkvigwy71yk";
+       buildDepends = [ base deepseq deepseq-generics heap ];
+       testDepends = [ base deepseq deepseq-generics QuickCheck ];
+       homepage = "https://github.com/giogadi/kdt";
+       description = "Fast and flexible k-d trees for various types of point queries";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "keiretsu" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, async, base, bytestring
+     , conduit, conduit-extra, directory, filepath, hslogger, network
+     , optparse-applicative, process, text, unix, unordered-containers
+     , yaml
+     }:
+     mkDerivation {
+       pname = "keiretsu";
+       version = "0.4.4";
+       sha256 = "0bwwsxav04dnipg5xvb8j4ncxbd5mw6r5gisn5avqjm34wr8y2b9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-terminal async base bytestring conduit conduit-extra
+         directory filepath hslogger network optparse-applicative process
+         text unix unordered-containers yaml
+       ];
+       jailbreak = true;
+       description = "Multi-process orchestration for development and integration testing";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "keter" = callPackage
+    ({ mkDerivation, aeson, array, async, attoparsec, base
+     , blaze-builder, bytestring, case-insensitive, conduit
+     , conduit-extra, containers, data-default, directory, filepath
+     , fsnotify, hspec, http-client, http-conduit, http-reverse-proxy
+     , http-types, HUnit, lifted-base, mtl, network, process, random
+     , regex-tdfa, stm, system-fileio, system-filepath, tar
+     , template-haskell, text, time, transformers, unix, unix-compat
+     , unordered-containers, vector, wai, wai-app-static, wai-extra
+     , warp, warp-tls, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "keter";
+       version = "1.3.9.2";
+       sha256 = "1c5hsckcdy966c5nn1cwa63sc7fqmyhanw0156cllkss8kzwzj4r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson array async attoparsec base blaze-builder bytestring
+         case-insensitive conduit conduit-extra containers data-default
+         directory filepath fsnotify http-client http-conduit
+         http-reverse-proxy http-types lifted-base mtl network process
+         random regex-tdfa stm system-fileio system-filepath tar
+         template-haskell text time transformers unix unix-compat
+         unordered-containers vector wai wai-app-static wai-extra warp
+         warp-tls yaml zlib
+       ];
+       testDepends = [
+         base bytestring conduit hspec HUnit transformers unix
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Web application deployment manager, focusing on Haskell web frameworks";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "kevin" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , cprng-aes, damnpacket, data-default, exceptions, HTTP, lens, mtl
+     , network, regex-pcre-builtin, stm, text, time, tls, tls-extra
+     }:
+     mkDerivation {
+       pname = "kevin";
+       version = "0.11.0";
+       sha256 = "00hghd44h8d87kbf0j8ns78syz79a9sdwl454sb5n6ynq62fgwr1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers cprng-aes damnpacket
+         data-default exceptions HTTP lens mtl network regex-pcre-builtin
+         stm text time tls tls-extra
+       ];
+       description = "a dAmn ↔ IRC proxy";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "keycode" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "keycode";
+       version = "0.1";
+       sha256 = "1cwj96mzxqagim3bcshzsrm2mxgmm8rrawy6hkvki9l55cggwbpv";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/RyanGlScott/keycode";
+       description = "Maps web browser keycodes to their corresponding keyboard keys";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "keyring" = callPackage
+    ({ mkDerivation, base, udbus }:
+     mkDerivation {
+       pname = "keyring";
+       version = "0.1.0.3";
+       sha256 = "06sp308nwgk7cdpj0q7zinp05vy5fcgm7jrawhdmcvxka6l22yiy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base udbus ];
+       homepage = "https://github.com/lunaryorn/haskell-keyring";
+       description = "Keyring access";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "keys" = callPackage
+    ({ mkDerivation, array, base, comonad, containers, free
+     , semigroupoids, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "keys";
+       version = "3.10.1";
+       sha256 = "007lbpfan5n1cgswsrzc4xjv0kjmjr9vn4lpqm3gwk3lnfpg8i4n";
+       buildDepends = [
+         array base comonad containers free semigroupoids semigroups
+         transformers
+       ];
+       homepage = "http://github.com/ekmett/keys/";
+       description = "Keyed functors and containers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "keystore" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, api-tools
+     , asn1-encoding, asn1-types, base, base64-bytestring, byteable
+     , bytestring, cipher-aes, containers, crypto-pubkey, crypto-random
+     , directory, filepath, lens, mtl, old-locale, optparse-applicative
+     , pbkdf, process, raw-strings-qq, regex-compat-tdfa, safe, setenv
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "keystore";
+       version = "0.7.0.1";
+       sha256 = "0hswqspbb0lmr33bz1d5f12fhs66i2ynynxii6qwcsrzjn77ps8j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty ansi-wl-pprint api-tools asn1-encoding
+         asn1-types base base64-bytestring byteable bytestring cipher-aes
+         containers crypto-pubkey crypto-random directory filepath lens mtl
+         old-locale optparse-applicative pbkdf process raw-strings-qq
+         regex-compat-tdfa safe setenv text time unordered-containers vector
+       ];
+       homepage = "http://github.com/cdornan/keystore";
+       description = "Managing stores of secret things";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "keyvaluehash" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, derive, directory
+     , filepath, hashable, mmap, storable-record
+     }:
+     mkDerivation {
+       pname = "keyvaluehash";
+       version = "0.3.1.2";
+       sha256 = "1gph4cfx1xqjzhzx6nl2sfgqa6mk6a272a65gk5j43yjfh4s17gl";
+       buildDepends = [
+         array base binary bytestring derive directory filepath hashable
+         mmap storable-record
+       ];
+       description = "Pure Haskell key/value store implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "keyword-args" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, containers, hspec
+     , parsec
+     }:
+     mkDerivation {
+       pname = "keyword-args";
+       version = "0.2.0.1";
+       sha256 = "1bzljlab62bdcjnq6n06rv2lcgs5mpwdhcrpxkdwk241np1iz12g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring cassava containers parsec ];
+       testDepends = [ base containers hspec parsec ];
+       description = "Extract data from a keyword-args config file format";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "kibro" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "kibro";
+       version = "0.5.0";
+       sha256 = "0yfyx4jyz0n3p2w6pca3nxc72s01240n3siy5sx883ldz706adls";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kicad-data" = callPackage
+    ({ mkDerivation, base, ieee754, lens-family, parsec, parsec-numbers
+     , pretty-compact, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "kicad-data";
+       version = "0.1.0.0";
+       sha256 = "02bgz21jw76kzn57z2a7njbwz366j5hpjimyn7dw05h3c64gf8h1";
+       buildDepends = [
+         base ieee754 lens-family parsec parsec-numbers pretty-compact
+       ];
+       testDepends = [
+         base ieee754 lens-family parsec parsec-numbers pretty-compact
+         QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/kasbah/haskell-kicad-data";
+       description = "Parser and writer for KiCad files";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kickass-torrents-dump-parser" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, hspec
+     , hspec-expectations, string-qq, text, vector
+     }:
+     mkDerivation {
+       pname = "kickass-torrents-dump-parser";
+       version = "0.0.1";
+       sha256 = "1bqv07v5sx0jaalnzyk703g08js6sb2snvpsk6ld5zr6iqm7k4wk";
+       buildDepends = [ base bytestring cassava text vector ];
+       testDepends = [
+         base bytestring cassava hspec hspec-expectations string-qq text
+         vector
+       ];
+       jailbreak = true;
+       description = "Parses kat.ph torrent dumps";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kickchan" = callPackage
+    ({ mkDerivation, base, containers, HUnit, primitive, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector
+     }:
+     mkDerivation {
+       pname = "kickchan";
+       version = "0.1.0.4";
+       sha256 = "1gmp8d2gm275mc379rhyhyfk7r2z8d1mhaz0nikbg4wpczhqf0n7";
+       buildDepends = [ base containers primitive vector ];
+       testDepends = [
+         base containers HUnit primitive QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/JohnLato/kickchan";
+       description = "Kick Channels: bounded channels with non-blocking writes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "kif-parser" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, hostname, old-time
+     , parsec, twine
+     }:
+     mkDerivation {
+       pname = "kif-parser";
+       version = "0.0.3";
+       sha256 = "1d8abd4l8mcgcfqmm06zmd7yxvfls1kqkphx64bi6mmqzy8lcx3k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs hostname old-time parsec twine
+       ];
+       description = "Process KIF iOS test logs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kinds" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "kinds";
+       version = "0.0.1.5";
+       sha256 = "169f2b0nn7mkjws6c5sb3mih2p6snhfq42bkfds3zxz01y53v2g5";
+       buildDepends = [ base ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/kinds";
+       description = "Emulation of subkinds and subkind polymorphism";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "kit" = callPackage
+    ({ mkDerivation, ansi-terminal, attoparsec, base, cabal-file-th
+     , cmdargs, containers, directory, errors, filepath, Glob, mtl
+     , process, text, unix, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "kit";
+       version = "0.7.12";
+       sha256 = "0557v1js7bzd9a00lq078csr66pdrr4kr9qiign2zwz03rrcaviw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal attoparsec base cabal-file-th cmdargs containers
+         directory errors filepath Glob mtl process text unix
+         unordered-containers yaml
+       ];
+       homepage = "http://github.com/nkpart/kit";
+       description = "A dependency manager for Xcode (Objective-C) projects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kmeans" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "kmeans";
+       version = "0.1.3";
+       sha256 = "02rc3bd2cp1fp0fxbzqiy34s5gn38j8hgviilz1584z05jhj97ix";
+       buildDepends = [ base ];
+       description = "K-means clustering algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "kmeans-par" = callPackage
+    ({ mkDerivation, base, hspec, metric, normaldistribution, parallel
+     , QuickCheck, semigroups, vector
+     }:
+     mkDerivation {
+       pname = "kmeans-par";
+       version = "1.5.1";
+       sha256 = "087z1r9fljvysgl940qpnrf7any80fy33shmn8hbmn2kwgczn69c";
+       buildDepends = [ base metric parallel semigroups vector ];
+       testDepends = [
+         base hspec metric normaldistribution parallel QuickCheck semigroups
+         vector
+       ];
+       description = "Sequential and parallel implementations of Lloyd's algorithm";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kmeans-vector" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, vector }:
+     mkDerivation {
+       pname = "kmeans-vector";
+       version = "0.3";
+       sha256 = "0n957b7pcq3v8kf4507crbrd172mv9g14p5hmpalfjzlpb3b5ll1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl QuickCheck vector ];
+       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;
+     }) {};
+
+  "knob" = callPackage
+    ({ mkDerivation, base, bytestring, transformers }:
+     mkDerivation {
+       pname = "knob";
+       version = "0.1.1";
+       sha256 = "05qj7s04p5pbasivyxc06l0jbii250zjnvb3l1y2sfhglb7q8b4c";
+       buildDepends = [ base bytestring transformers ];
+       homepage = "https://john-millikin.com/software/knob/";
+       description = "Memory-backed handles";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "knots" = callPackage
+    ({ mkDerivation, array, base, containers, data-default, deepseq
+     , mtl, parallel, vector, yap
+     }:
+     mkDerivation {
+       pname = "knots";
+       version = "0.1.0.0";
+       sha256 = "1kqcfabbk308ph9i04d6sz9hrh2lcmqp7aml7av9h15hdhq77nf2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers data-default deepseq mtl parallel vector yap
+       ];
+       jailbreak = true;
+       description = "Khovanov homology computations";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "koellner-phonetic" = callPackage
+    ({ mkDerivation, base, HUnit }:
+     mkDerivation {
+       pname = "koellner-phonetic";
+       version = "0.0";
+       sha256 = "0r7gbgvs49y1nyq5z5f2sb4sjfr847l1vrbih2f5975i3hd9c9kg";
+       buildDepends = [ base HUnit ];
+       testDepends = [ base HUnit ];
+       description = "\"map German words to code representing pronunciation\"";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kontrakcja-templates" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, hslogger
+     , HStringTemplate, html, HUnit, MissingH, mtl, old-time, parsec
+     , string-templates, syb, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "kontrakcja-templates";
+       version = "0.1";
+       sha256 = "020vcd04dxaxcd3bb9vwgw1qvxnz5gx590mjkbnnxrcjhl9yd9j8";
+       buildDepends = [
+         base bytestring containers directory HStringTemplate html MissingH
+         mtl old-time parsec transformers utf8-string
+       ];
+       testDepends = [
+         base containers directory hslogger HStringTemplate HUnit MissingH
+         mtl old-time string-templates syb test-framework
+         test-framework-hunit test-framework-quickcheck2 time
+       ];
+       jailbreak = true;
+       description = "Utilities for working with many HStringTemplate templates from files";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { string-templates = null;};
+
+  "koofr-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, filepath, http-client
+     , http-client-tls, http-types, mtl
+     }:
+     mkDerivation {
+       pname = "koofr-client";
+       version = "1.0.0.3";
+       sha256 = "1bz7akd7sssn1gzqfvr0y343771zk7dn1n3as0m93wg4ifpz1dia";
+       buildDepends = [
+         aeson base bytestring filepath http-client http-client-tls
+         http-types mtl
+       ];
+       homepage = "https://github.com/edofic/koofr-api-hs";
+       description = "Client to Koofr API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "korfu" = callPackage
+    ({ mkDerivation, base, bio, bytestring, haskell98, simpleargs }:
+     mkDerivation {
+       pname = "korfu";
+       version = "0.2";
+       sha256 = "1mwndf83yl57bawc6vk8983qca3yhcdiczj6q7n1rgv8qphnw0wz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bio bytestring haskell98 simpleargs ];
+       homepage = "http://blog.malde.org/";
+       description = "The Korfu ORF Utility";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kqueue" = callPackage
+    ({ mkDerivation, base, c2hs, directory, filepath, mtl, time, unix
+     }:
+     mkDerivation {
+       pname = "kqueue";
+       version = "0.1.2.6";
+       sha256 = "1q25ahsxsxrj8l99skymzssklj11d5prsa09b23dmbgc4qw28lg8";
+       buildDepends = [ base directory filepath mtl time unix ];
+       buildTools = [ c2hs ];
+       homepage = "http://github.com/hesselink/kqueue";
+       description = "A binding to the kqueue event library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "krpc" = callPackage
+    ({ mkDerivation, base, bencoding, bytestring, containers
+     , data-default-class, hspec, lifted-base, monad-control
+     , monad-logger, mtl, network, QuickCheck, quickcheck-instances
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "krpc";
+       version = "0.6.1.0";
+       sha256 = "0ldhg4ahhfp4jy3ijssfmcwfg68dggw3biqmc4my2qrcgd2mvx29";
+       buildDepends = [
+         base bencoding bytestring containers data-default-class lifted-base
+         monad-control monad-logger mtl network text transformers
+       ];
+       testDepends = [
+         base bencoding bytestring hspec monad-logger mtl network QuickCheck
+         quickcheck-instances
+       ];
+       homepage = "https://github.com/cobit/krpc";
+       description = "KRPC protocol implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ks-test" = callPackage
+    ({ mkDerivation, base, gamma, random-fu, roots, vector }:
+     mkDerivation {
+       pname = "ks-test";
+       version = "0.1";
+       sha256 = "1xj9bnwiws3rnax3rlf67p8dh487w07xl99h81a9j1wjkqysldym";
+       buildDepends = [ base gamma random-fu roots vector ];
+       description = "Kolmogorov distribution and Kolmogorov-Smirnov test";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "kure" = callPackage
+    ({ mkDerivation, base, dlist, transformers }:
+     mkDerivation {
+       pname = "kure";
+       version = "2.16.10";
+       sha256 = "0xfnrp39w2ip9744898mfd63sbya8an72fx3nwj1s3vzdb1h3lhm";
+       buildDepends = [ base dlist transformers ];
+       homepage = "http://www.ittc.ku.edu/csdl/fpg/software/kure.html";
+       description = "Combinators for Strategic Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "kure-your-boilerplate" = callPackage
+    ({ mkDerivation, base, kure, template-haskell }:
+     mkDerivation {
+       pname = "kure-your-boilerplate";
+       version = "0.1.3";
+       sha256 = "0bfcmx1fz521vkc2lrbpyvaqcy4c29h5xp6wmyxvgrjjnq32ld1b";
+       buildDepends = [ base kure template-haskell ];
+       jailbreak = true;
+       homepage = "http://ittc.ku.edu/~andygill/kure.php";
+       description = "Generator for Boilerplate KURE Combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "kyotocabinet" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, kyotocabinet }:
+     mkDerivation {
+       pname = "kyotocabinet";
+       version = "0.1.3";
+       sha256 = "1wzwmfmh2cx3c9blnhk7ibsimwsnnxz9jpcdfdkgy5rb28wvvkyz";
+       buildDepends = [ base bytestring cereal ];
+       extraLibraries = [ kyotocabinet ];
+       description = "Mid level bindings to Kyoto Cabinet";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) kyotocabinet;};
+
+  "l-bfgs-b" = callPackage
+    ({ mkDerivation, base, lbfgsb, vector }:
+     mkDerivation {
+       pname = "l-bfgs-b";
+       version = "0.1.0.1";
+       sha256 = "0ypzkq2rpbmdjfqba72pl3wf6d4wz0z5vmy84dq5m38ij5mlb4y7";
+       buildDepends = [ base vector ];
+       extraLibraries = [ lbfgsb ];
+       homepage = "http://nonempty.org/software/haskell-l-bfgs-b";
+       description = "Bindings to L-BFGS-B, Fortran code for limited-memory quasi-Newton bound-constrained optimization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { lbfgsb = null;};
+
+  "labeled-graph" = callPackage
+    ({ mkDerivation, base, labeled-tree }:
+     mkDerivation {
+       pname = "labeled-graph";
+       version = "1.0.0.0";
+       sha256 = "060nvnlh1h8vxi6k2hsz79fn4xypangdj5v4q0kc6abyf9garf7r";
+       buildDepends = [ base labeled-tree ];
+       description = "Labeled graph structure";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "labeled-tree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "labeled-tree";
+       version = "1.0.0.0";
+       sha256 = "1cnnyic5z5y21hpxpmx66ph34mjyysckgiasmzg7yx202y2ih7s7";
+       buildDepends = [ base ];
+       description = "Labeled tree structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "laborantin-hs" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, cmdlib, containers
+     , directory, hslogger, mtl, old-locale, parsec, random, split, text
+     , time, transformers, uuid
+     }:
+     mkDerivation {
+       pname = "laborantin-hs";
+       version = "0.1.5.2";
+       sha256 = "18bgd9v4bh3wfh7p7xjzrsj130cppm6x55vzagcpn10cwqag41cs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base bytestring cmdlib containers directory hslogger
+         mtl old-locale parsec random split text time transformers uuid
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/lucasdicioccio/laborantin-hs";
+       description = "an experiment management framework";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "labyrinth" = callPackage
+    ({ mkDerivation, base, containers, derive, HTF, HUnit, lens
+     , monad-loops, MonadRandom, mtl, parsec, QuickCheck, random
+     , safecopy, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "labyrinth";
+       version = "0.5.0.0";
+       sha256 = "1yi53vg248j8ww08z2a5v3agci84q3m2d37h9mdbprciryh3hfcl";
+       buildDepends = [
+         base containers derive lens monad-loops MonadRandom mtl parsec
+         random safecopy template-haskell transformers
+       ];
+       testDepends = [
+         base containers derive HTF HUnit lens monad-loops MonadRandom mtl
+         parsec QuickCheck random safecopy template-haskell transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/koterpillar/labyrinth";
+       description = "A complicated turn-based game";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "labyrinth-server" = callPackage
+    ({ mkDerivation, acid-state, aeson, base, bytestring, containers
+     , derive, directory, filepath, hamlet, HTF, http-types, HUnit
+     , labyrinth, lens, mtl, parsec, QuickCheck, random, safecopy
+     , shakespeare-css, shakespeare-js, template-haskell, text
+     , transformers, unordered-containers, utf8-string, vector, wai
+     , wai-test, wai-websockets, warp, websockets, yesod, yesod-static
+     }:
+     mkDerivation {
+       pname = "labyrinth-server";
+       version = "0.1.4.1";
+       sha256 = "00mx8zmwqawp2hh1a0v4r26w7wsji0iz7jwsh83742wimir316aw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         acid-state aeson base bytestring containers derive filepath hamlet
+         labyrinth lens mtl parsec random safecopy shakespeare-css
+         shakespeare-js template-haskell text transformers
+         unordered-containers utf8-string vector wai-websockets warp
+         websockets yesod yesod-static
+       ];
+       testDepends = [
+         acid-state aeson base bytestring containers derive directory
+         filepath hamlet HTF http-types HUnit labyrinth lens mtl parsec
+         QuickCheck random safecopy shakespeare-css shakespeare-js
+         template-haskell text transformers unordered-containers utf8-string
+         vector wai wai-test wai-websockets warp websockets yesod
+         yesod-static
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/koterpillar/labyrinth-server";
+       description = "A complicated turn-based game - Web server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lagrangian" = callPackage
+    ({ mkDerivation, ad, base, hmatrix, HUnit, nonlinear-optimization
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector
+     }:
+     mkDerivation {
+       pname = "lagrangian";
+       version = "0.6.0.1";
+       sha256 = "07jlmfynnq42syim9k7hks6zmkzq2i62slvwwik8w2rg07ran72v";
+       buildDepends = [ ad base hmatrix nonlinear-optimization vector ];
+       testDepends = [
+         ad base hmatrix HUnit nonlinear-optimization test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       homepage = "http://github.com/jfischoff/lagrangian";
+       description = "Solve Lagrange multiplier problems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "laika" = callPackage
+    ({ mkDerivation, attoparsec, base-prelude, either, record
+     , system-fileio, system-filepath, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "laika";
+       version = "0.1.3";
+       sha256 = "1j9f76sch91igpgarw7pwzhymd6ji7wnwr9l8riallglphc55g7l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base-prelude either record system-fileio system-filepath
+         template-haskell text transformers
+       ];
+       homepage = "https://github.com/nikita-volkov/laika";
+       description = "Minimalistic type-checked compile-time template engine";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lambda-ast" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lambda-ast";
+       version = "0.0.12";
+       sha256 = "07i0fw7hvkzky9rwrnh4b3i35crbv4mkj0w001dwkgsh1flzh95f";
+       buildDepends = [ base ];
+       description = "Lambda Calculi Abstract Syntax Trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lambda-bridge" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lambda-bridge";
+       version = "0.1";
+       sha256 = "0qiqw4av62fdf2b1qc64lvj84lkzcfpik7lvq81qk015pz58cbs3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://www.ittc.ku.edu/csdl/fpg/Tools/LambdaBridge";
+       description = "A bridge from Haskell (on a CPU) to VHDL on a FPGA";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambda-canvas" = callPackage
+    ({ mkDerivation, base, GLUT, mtl, OpenGL, time }:
+     mkDerivation {
+       pname = "lambda-canvas";
+       version = "0.1";
+       sha256 = "14wl1w1sc0j1yjfad5v00346ccxp0grfs1677hnjqwisashdac92";
+       buildDepends = [ base GLUT mtl OpenGL time ];
+       jailbreak = true;
+       description = "Educational drawing canvas for FP explorers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lambda-devs" = callPackage
+    ({ mkDerivation, base, binary, containers, dimensional
+     , distributed-process, HUnit, numtype, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "lambda-devs";
+       version = "0.4.0";
+       sha256 = "1j2j6clm35ffvdjlh7apydir06g7az40gsqvlcw8p4qbdk2z2vrh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers dimensional distributed-process numtype
+       ];
+       testDepends = [
+         base binary containers dimensional distributed-process HUnit
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/alios/lambda-devs";
+       description = "a Paralell-DEVS implementaion based on distributed-process";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambda-placeholders" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lambda-placeholders";
+       version = "0.0.0.0";
+       sha256 = "0s3y55yqa5js1q3rfq8dgdip6rnjag4w5j5vdldghq9ax5yph3gd";
+       buildDepends = [ base ];
+       homepage = "https://github.com/mmirman/lambda-placeholders";
+       description = "A library to emulate laceholders similar to Scala";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lambda-toolbox" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lambda-toolbox";
+       version = "1.0.1";
+       sha256 = "1m11gdwq4nma3231043h5szplmask5152y2r9ayyrpacczddcbim";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://scravy.de/blog/2012-02-20/a-lambda-toolbox-in-haskell.htm";
+       description = "An application to work with the lambda calculus (for learning)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambda2js" = callPackage
+    ({ mkDerivation, haskell2010, parsec }:
+     mkDerivation {
+       pname = "lambda2js";
+       version = "0.1";
+       sha256 = "0490yswk7zsyc2lskyqkwa98xsaj5a2cgw4pyxbg5920lyjqb3n8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ haskell2010 parsec ];
+       homepage = "https://patch-tag.com/r/mkollar/lambda2js/";
+       description = "Untyped Lambda calculus to JavaScript compiler";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "lambdaBase" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "lambdaBase";
+       version = "0.0.1.0";
+       sha256 = "0mmdkyadpnkm8d3jv6vb7ln762vkf744hcq6qiyhznxhvih0k28x";
+       buildDepends = [ base parsec ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lambdaFeed" = callPackage
+    ({ mkDerivation, base, haskell98, html }:
+     mkDerivation {
+       pname = "lambdaFeed";
+       version = "0.3.1";
+       sha256 = "0gji0jix99qbldqkclymnwf5pnmiszy0qka9m2wq8kyi09f3y4h8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 html ];
+       homepage = "http://www.cse.unsw.edu.au/~chak/haskell/lambdaFeed/";
+       description = "RSS 2.0 feed generator";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdaLit" = callPackage
+    ({ mkDerivation, base, bytestring, haskeline, lambdaBase, mtl
+     , network
+     }:
+     mkDerivation {
+       pname = "lambdaLit";
+       version = "0.1.1.0";
+       sha256 = "1xw1496q84wrzy1r3dwvwy04sb3184namnmdj5kspc5pmd8ipx0h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring haskeline lambdaBase mtl network
+       ];
+       description = "...";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lambdabot" = callPackage
+    ({ mkDerivation, base, lambdabot-core, lambdabot-haskell-plugins
+     , lambdabot-irc-plugins, lambdabot-misc-plugins
+     , lambdabot-novelty-plugins, lambdabot-reference-plugins
+     , lambdabot-social-plugins
+     }:
+     mkDerivation {
+       pname = "lambdabot";
+       version = "5.0.1";
+       sha256 = "1zf29cqdr71n2bj7idh9v7yygk0ckpadr44f5ghqr74zdpyw6dyi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base lambdabot-core lambdabot-haskell-plugins lambdabot-irc-plugins
+         lambdabot-misc-plugins lambdabot-novelty-plugins
+         lambdabot-reference-plugins lambdabot-social-plugins
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Lambdabot is a development tool and advanced IRC bot";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-core" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , dependent-map, dependent-sum, dependent-sum-template, directory
+     , edit-distance, filepath, haskeline, hslogger, HTTP, lifted-base
+     , monad-control, mtl, network, parsec, random, random-fu
+     , random-source, regex-tdfa, SafeSemaphore, split, template-haskell
+     , time, transformers, transformers-base, unix, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "lambdabot-core";
+       version = "5.0.1";
+       sha256 = "06asm62k2nb32yr0z4sw70z0r4ikakgkph6zqhjw7wj14ic2nxbk";
+       buildDepends = [
+         base binary bytestring containers dependent-map dependent-sum
+         dependent-sum-template directory edit-distance filepath haskeline
+         hslogger HTTP lifted-base monad-control mtl network parsec random
+         random-fu random-source regex-tdfa SafeSemaphore split
+         template-haskell time transformers transformers-base unix
+         utf8-string zlib
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Lambdabot core functionality";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-haskell-plugins" = callPackage
+    ({ mkDerivation, array, arrows, base, bytestring, containers
+     , data-memocombinators, directory, filepath, haskell-src-exts
+     , hoogle, HTTP, IOSpec, lambdabot-core, lambdabot-reference-plugins
+     , lambdabot-trusted, lifted-base, logict, MonadRandom, mtl, mueval
+     , network, numbers, oeis, parsec, pretty, process, QuickCheck
+     , regex-tdfa, show, split, syb, transformers, utf8-string
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "lambdabot-haskell-plugins";
+       version = "5.0.1";
+       sha256 = "0bzfbaksij0sav93qp2j4k4qlclb9zdz8z8233ziismf9bq4bm16";
+       buildDepends = [
+         array arrows base bytestring containers data-memocombinators
+         directory filepath haskell-src-exts hoogle HTTP IOSpec
+         lambdabot-core lambdabot-reference-plugins lambdabot-trusted
+         lifted-base logict MonadRandom mtl mueval network numbers oeis
+         parsec pretty process QuickCheck regex-tdfa show split syb
+         transformers utf8-string vector-space
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Lambdabot Haskell plugins";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-irc-plugins" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , lambdabot-core, lifted-base, mtl, network, SafeSemaphore, split
+     , time
+     }:
+     mkDerivation {
+       pname = "lambdabot-irc-plugins";
+       version = "5.0.1";
+       sha256 = "13ybjyx5x84g0w7l2yyni5yary59j4kpaqc4pl1942bp6y7lbfrp";
+       buildDepends = [
+         base bytestring containers directory filepath lambdabot-core
+         lifted-base mtl network SafeSemaphore split time
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "IRC plugins for lambdabot";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-misc-plugins" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath, hstatsd
+     , lambdabot-core, lifted-base, mtl, network, network-uri, parsec
+     , process, random, random-fu, random-source, regex-tdfa
+     , SafeSemaphore, split, tagsoup, template-haskell, time
+     , transformers, transformers-base, unix, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "lambdabot-misc-plugins";
+       version = "5.0.1";
+       sha256 = "08dhwls7lgwrpyqzjxpg95cn80mqf3izrwnzbmygkp3my8xqxakp";
+       buildDepends = [
+         base bytestring containers filepath hstatsd lambdabot-core
+         lifted-base mtl network network-uri parsec process random random-fu
+         random-source regex-tdfa SafeSemaphore split tagsoup
+         template-haskell time transformers transformers-base unix
+         utf8-string zlib
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Lambdabot miscellaneous plugins";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-novelty-plugins" = callPackage
+    ({ mkDerivation, base, binary, brainfuck, bytestring, containers
+     , dice, directory, lambdabot-core, misfortune, process, random-fu
+     , regex-tdfa, unlambda
+     }:
+     mkDerivation {
+       pname = "lambdabot-novelty-plugins";
+       version = "5.0.1";
+       sha256 = "1h9qnxbdqnpwarbvviaqrl18fxd9bs33f6n60b7cdx1p2imzbp25";
+       buildDepends = [
+         base binary brainfuck bytestring containers dice directory
+         lambdabot-core misfortune process random-fu regex-tdfa unlambda
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Novelty plugins for Lambdabot";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-reference-plugins" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HTTP, lambdabot-core
+     , mtl, network, network-uri, oeis, process, regex-tdfa, split
+     , tagsoup, utf8-string
+     }:
+     mkDerivation {
+       pname = "lambdabot-reference-plugins";
+       version = "5.0.1";
+       sha256 = "11hljsbb8kdbf6h4si97c52643w2fxicql1xq743f4gkys2y0x2a";
+       buildDepends = [
+         base bytestring containers HTTP lambdabot-core mtl network
+         network-uri oeis process regex-tdfa split tagsoup utf8-string
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Lambdabot reference plugins";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-social-plugins" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , lambdabot-core, mtl, split, time
+     }:
+     mkDerivation {
+       pname = "lambdabot-social-plugins";
+       version = "5.0.1";
+       sha256 = "0ylp40j54whn4fsgxi0843mvs0gx286c5fm127ja1h7j6c74svkc";
+       buildDepends = [
+         base binary bytestring containers lambdabot-core mtl split time
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Social plugins for Lambdabot";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-trusted" = callPackage
+    ({ mkDerivation, base, oeis, QuickCheck }:
+     mkDerivation {
+       pname = "lambdabot-trusted";
+       version = "5.0.1";
+       sha256 = "1ijpr8b4vzvyfbry1g8wphk9wn7pxvay2wk6racl5k78kw27jd1c";
+       buildDepends = [ base oeis QuickCheck ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Lambdabot trusted code";
+       license = "GPL";
+     }) {};
+
+  "lambdabot-utils" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, haskell-src
+     , mtl, network, old-time, process, random, regex-compat
+     , regex-posix, syb, tagsoup, unix, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "lambdabot-utils";
+       version = "4.2.2";
+       sha256 = "0mmz9rn6vv8xnavmz66g164h1liir3rzg1n7lmbcsgwcyhm925d7";
+       buildDepends = [
+         base binary bytestring containers haskell-src mtl network old-time
+         process random regex-compat regex-posix syb tagsoup unix
+         utf8-string zlib
+       ];
+       homepage = "http://haskell.org/haskellwiki/Lambdabot";
+       description = "Utility libraries for the advanced IRC bot, Lambdabot";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdacat" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, dyre, glade, gtk, mtl
+     , network, webkit
+     }:
+     mkDerivation {
+       pname = "lambdacat";
+       version = "0.1.1";
+       sha256 = "18m7z0lmi26ib1n1wrql96wb5i229k8fk3iw4vavs9j59b4pz1br";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers dyre glade gtk mtl network webkit
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/baldo/lambdacat";
+       description = "Webkit Browser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdacms-core" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, containers
+     , data-default, esqueleto, file-embed, friendly-time, gravatar
+     , lists, mime-mail, old-locale, persistent, shakespeare
+     , template-haskell, text, time, uuid, wai, yesod, yesod-auth
+     , yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "lambdacms-core";
+       version = "0.0.8.0";
+       sha256 = "1aayf3gfv0lpyx5di3m9n0py25ldv6c666z8bkd4kcb8k0ay5bs7";
+       buildDepends = [
+         base blaze-html bytestring containers data-default esqueleto
+         file-embed friendly-time gravatar lists mime-mail old-locale
+         persistent shakespeare template-haskell text time uuid wai yesod
+         yesod-auth yesod-core yesod-form
+       ];
+       homepage = "http://lambdacms.org";
+       description = "Core CMS extension for Yesod apps";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lambdacms-media" = callPackage
+    ({ mkDerivation, base, directory, filepath, lambdacms-core
+     , persistent, shakespeare, text, time, yesod, yesod-form
+     }:
+     mkDerivation {
+       pname = "lambdacms-media";
+       version = "0.0.2";
+       sha256 = "1cbgbkj22pj1nv6k5vcqzfwc2wrdkhr3966pl13d99jj7sfb5jw5";
+       buildDepends = [
+         base directory filepath lambdacms-core persistent shakespeare text
+         time yesod yesod-form
+       ];
+       homepage = "http://lambdacms.org/media";
+       description = "Media CMS extension for Yesod apps";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lambdacube" = callPackage
+    ({ mkDerivation, base, editline, mtl, pretty }:
+     mkDerivation {
+       pname = "lambdacube";
+       version = "2008.12.25";
+       sha256 = "1qwwcbs7slddpjlz3dlyjr32xk66clcbxbnb6j1d5v5dz9mvjh3b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base editline mtl pretty ];
+       description = "A simple lambda cube type checker";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdacube-bullet" = callPackage
+    ({ mkDerivation, base, bullet, lambdacube-engine, mtl, vector }:
+     mkDerivation {
+       pname = "lambdacube-bullet";
+       version = "0.2.1";
+       sha256 = "1wnv8vgp100fdnx4g80d3gshbba9jni7rbjhhj8rx1mi0wcc1bcv";
+       buildDepends = [ base bullet lambdacube-engine mtl vector ];
+       homepage = "http://www.haskell.org/haskellwiki/LambdaCubeEngine";
+       description = "Example for combining LambdaCube and Bullet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdacube-core" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-trie, containers, mtl
+     , vector
+     }:
+     mkDerivation {
+       pname = "lambdacube-core";
+       version = "0.2.0";
+       sha256 = "001nw31h61dawh036yk4w9b35aha6c6xdmsl4vdipnr3kwykgk9l";
+       buildDepends = [
+         base bytestring bytestring-trie containers mtl vector
+       ];
+       jailbreak = true;
+       homepage = "http://lambdacube3d.wordpress.com/";
+       description = "LambdaCube 3D IR";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lambdacube-edsl" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-trie, containers
+     , ghc-prim, lambdacube-core, mtl, vector
+     }:
+     mkDerivation {
+       pname = "lambdacube-edsl";
+       version = "0.2.0";
+       sha256 = "18lbkshc9wh7scb2bbvl565w6yryz7n1iy14r81cahnj7m68fj8m";
+       buildDepends = [
+         base bytestring bytestring-trie containers ghc-prim lambdacube-core
+         mtl vector
+       ];
+       jailbreak = true;
+       homepage = "http://lambdacube3d.wordpress.com/";
+       description = "LambdaCube 3D EDSL definition";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lambdacube-engine" = callPackage
+    ({ mkDerivation, array, base, binary, bitmap, bytestring
+     , bytestring-trie, containers, directory, filepath, mtl, OpenGLRaw
+     , stb-image, uulib, vect, vector, vector-algorithms, xml
+     , zip-archive
+     }:
+     mkDerivation {
+       pname = "lambdacube-engine";
+       version = "0.2.4";
+       sha256 = "1xdp10nylndmfw16dywqrxj30g99rf9qbcx5qiglvzm1c1kxid3f";
+       buildDepends = [
+         array base binary bitmap bytestring bytestring-trie containers
+         directory filepath mtl OpenGLRaw stb-image uulib vect vector
+         vector-algorithms xml zip-archive
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/LambdaCubeEngine";
+       description = "3D rendering engine written entirely in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdacube-examples" = callPackage
+    ({ mkDerivation, base, elerea, GLFW-b, lambdacube-engine, mtl }:
+     mkDerivation {
+       pname = "lambdacube-examples";
+       version = "0.2.2";
+       sha256 = "14l40ncbkblphmyn4prqiy2w70agcw830bpyawfdilf93bs340b9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base elerea GLFW-b lambdacube-engine mtl ];
+       homepage = "http://www.haskell.org/haskellwiki/LambdaCubeEngine";
+       description = "Examples for LambdaCube";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdacube-gl" = callPackage
+    ({ mkDerivation, base, binary, bitmap, bytestring, bytestring-trie
+     , containers, lambdacube-core, lambdacube-edsl, language-glsl, mtl
+     , OpenGLRaw, prettyclass, vector
+     }:
+     mkDerivation {
+       pname = "lambdacube-gl";
+       version = "0.2.0";
+       sha256 = "1r26gvpyfvk87wx1fpp6y5687q5y7pxzmjvm55r96m976200lz50";
+       buildDepends = [
+         base binary bitmap bytestring bytestring-trie containers
+         lambdacube-core lambdacube-edsl language-glsl mtl OpenGLRaw
+         prettyclass vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/LambdaCubeEngine";
+       description = "OpenGL backend for LambdaCube graphics language (main package)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lambdacube-samples" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-trie, elerea, GLFW-b
+     , lambdacube-core, lambdacube-edsl, lambdacube-gl, mtl, OpenGLRaw
+     , stb-image, time, vect, vector
+     }:
+     mkDerivation {
+       pname = "lambdacube-samples";
+       version = "0.2.0";
+       sha256 = "0zl9d524a81vg3h7f9cbfi34b0hw452bd30xmgvg9ayfwxa842d1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-trie elerea GLFW-b lambdacube-core
+         lambdacube-edsl lambdacube-gl mtl OpenGLRaw stb-image time vect
+         vector
+       ];
+       jailbreak = true;
+       homepage = "http://lambdacube3d.wordpress.com/";
+       description = "Samples for LambdaCube 3D";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lambdatwit" = callPackage
+    ({ mkDerivation, acid-state, authenticate-oauth, base, bytestring
+     , case-insensitive, conduit, containers, data-default, exceptions
+     , hint, http-conduit, http-types, lens, MissingH, monad-control
+     , monad-logger, mtl, mueval, network-uri, resourcet, safecopy, text
+     , transformers, transformers-base, twitter-conduit, twitter-types
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "lambdatwit";
+       version = "0.1.0.0";
+       sha256 = "01mqmhnq70k3yg29z492x7d6mzpwlijdrrgf0zbz8c8mlgnm4ljx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         acid-state authenticate-oauth base bytestring case-insensitive
+         conduit containers data-default exceptions hint http-conduit
+         http-types lens MissingH monad-control monad-logger mtl mueval
+         network-uri resourcet safecopy text transformers transformers-base
+         twitter-conduit twitter-types utf8-string
+       ];
+       homepage = "http://github.com/ashyisme/lambdatwit";
+       description = "Lambdabot running as a twitter bot. Similar to the @fsibot f# bot.";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lambdiff" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , bytestring, enumerator, gtk, mtl
+     }:
+     mkDerivation {
+       pname = "lambdiff";
+       version = "0.1";
+       sha256 = "0xlvz4r09vn1vdvs5wykry626hwcsg2zvdvl6jf6zrsq9331zcwy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec attoparsec-enumerator base bytestring enumerator gtk mtl
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jamwt/lambdiff.git";
+       description = "Diff Viewer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lame-tester" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, semigroups, tasty
+     , tasty-hunit, validation
+     }:
+     mkDerivation {
+       pname = "lame-tester";
+       version = "1.2";
+       sha256 = "1wa7h48a7hfb748i4chl2lpizrqmsdydg9vbwjf8gmy5cwlh816y";
+       buildDepends = [
+         base bifunctors containers semigroups validation
+       ];
+       testDepends = [ base containers tasty tasty-hunit ];
+       homepage = "http://github.com/TheBizzle";
+       description = "A strange and unnecessary selective test-running library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-asn1" = callPackage
+    ({ mkDerivation, base, parsec, syb }:
+     mkDerivation {
+       pname = "language-asn1";
+       version = "0.5";
+       sha256 = "14aiqk1l1d3bh7dcml4a85xg81583h3r30h5splw0lvcxmbggzp3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parsec syb ];
+       homepage = "http://patch-tag.com/r/adept/language-asn1";
+       description = "Parsing of ASN1 definitions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-bash" = callPackage
+    ({ mkDerivation, base, parsec, pretty, transformers }:
+     mkDerivation {
+       pname = "language-bash";
+       version = "0.6.0";
+       sha256 = "07hb9hg4grmf01zlvfm583q9km4dxfgm4pkb9glihl3v7iqz21vs";
+       buildDepends = [ base parsec pretty transformers ];
+       homepage = "http://github.com/knrafto/language-bash/";
+       description = "Parsing and pretty-printing Bash shell scripts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-boogie" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers, filepath
+     , HUnit, lens, mtl, parsec, pretty, random, stream-monad, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "language-boogie";
+       version = "0.2";
+       sha256 = "166n9x3gil42w26r7p9d1jq6iy0yi9zacijkfmxj2gkkswyyb91x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base cmdargs containers filepath HUnit lens mtl
+         parsec pretty random stream-monad time transformers
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/nadiapolikarpova/boogaloo";
+       description = "Interpreter and language infrastructure for Boogie";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-c" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , directory, filepath, happy, pretty, process, syb
+     }:
+     mkDerivation {
+       pname = "language-c";
+       version = "0.4.7";
+       sha256 = "1r0jlncv6d6ai8kblrdq9gz8abx57b24y6hfh30xx20zdgccjvaz";
+       buildDepends = [
+         array base bytestring containers directory filepath pretty process
+         syb
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://www.sivity.net/projects/language.c/";
+       description = "Analysis and generation of C code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-c-comments" = callPackage
+    ({ mkDerivation, alex, array, base, language-c }:
+     mkDerivation {
+       pname = "language-c-comments";
+       version = "0.3";
+       sha256 = "1rmciff72zpcq7pvbbxlsg2339dbk00k18vxp35sz8haql0jnrf2";
+       buildDepends = [ array base language-c ];
+       buildTools = [ alex ];
+       homepage = "http://github.com/ghulette/language-c-comments";
+       description = "Extracting comments from C code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-c-inline" = callPackage
+    ({ mkDerivation, array, base, containers, filepath
+     , language-c-quote, mainland-pretty, template-haskell
+     }:
+     mkDerivation {
+       pname = "language-c-inline";
+       version = "0.7.9.1";
+       sha256 = "0apxv1mcmglb3m06dchs25sc7bhgz6v4gv098yfb79qmjmsxpc33";
+       buildDepends = [
+         array base containers filepath language-c-quote mainland-pretty
+         template-haskell
+       ];
+       testDepends = [ base language-c-quote ];
+       jailbreak = true;
+       homepage = "https://github.com/mchakravarty/language-c-inline/";
+       description = "Inline C & Objective-C code in Haskell for language interoperability";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-c-quote" = 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.10.2.1";
+       sha256 = "0klr7b4sdi8bsln9hw3xa56d3s1h869zkyqnm97fiyvzar91g532";
+       buildDepends = [
+         array base bytestring containers exception-mtl
+         exception-transformers filepath haskell-src-meta mainland-pretty
+         mtl srcloc syb symbol template-haskell
+       ];
+       testDepends = [
+         base HUnit srcloc symbol test-framework test-framework-hunit
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "http://www.cs.drexel.edu/~mainland/";
+       description = "C/CUDA/OpenCL/Objective-C quasiquoting library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-cil" = callPackage
+    ({ mkDerivation, base, bool-extras }:
+     mkDerivation {
+       pname = "language-cil";
+       version = "0.2.2";
+       sha256 = "0b3yapn53bwaxia7b59kizzcxh1d3842as1cbkyzd096v8wsgwfa";
+       buildDepends = [ base bool-extras ];
+       jailbreak = true;
+       homepage = "https://github.com/tomlokhorst/language-cil";
+       description = "Manipulating Common Intermediate Language AST";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-css" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "language-css";
+       version = "0.0.3";
+       sha256 = "1g0mh08rz44533473isrqbfn6hp12np9dxm85cn5xpx68jl9ni9g";
+       buildDepends = [ base pretty ];
+       description = "CSS 2.1 syntax";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-dot" = callPackage
+    ({ mkDerivation, base, mtl, parsec, pretty }:
+     mkDerivation {
+       pname = "language-dot";
+       version = "0.0.8";
+       sha256 = "0cjjfm7mcsl0x5by7gvbsdrr92x88i8sadb4pz6qh618sgrci7ax";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec pretty ];
+       description = "A library for the analysis and creation of Graphviz DOT files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-ecmascript" = callPackage
+    ({ mkDerivation, base, containers, data-default-class, Diff
+     , directory, filepath, HUnit, mtl, parsec, QuickCheck
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, testing-feat, uniplate, wl-pprint
+     }:
+     mkDerivation {
+       pname = "language-ecmascript";
+       version = "0.17";
+       revision = "2";
+       sha256 = "15v0nwp97058yjn0sp0hlsk7pvs6vaak3521p99f0z7a1dx4d876";
+       editedCabalFile = "834526a1a67668bc7689b50d0ff28b674235724d5b3df5ce8cccbcd5fd4f5622";
+       buildDepends = [
+         base containers data-default-class Diff mtl parsec QuickCheck
+         template-haskell testing-feat uniplate wl-pprint
+       ];
+       testDepends = [
+         base containers data-default-class Diff directory filepath HUnit
+         mtl parsec QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 uniplate wl-pprint
+       ];
+       homepage = "http://github.com/jswebtools/language-ecmascript";
+       description = "JavaScript parser and pretty-printer library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-ecmascript-analysis" = callPackage
+    ({ mkDerivation, base, containers, language-ecmascript, parsec
+     , uniplate
+     }:
+     mkDerivation {
+       pname = "language-ecmascript-analysis";
+       version = "0.9.1";
+       sha256 = "04zc3iwls4hxlsa2c77an5q1h0xylndld02sn38sgykx6ibmmy9n";
+       buildDepends = [
+         base containers language-ecmascript parsec uniplate
+       ];
+       homepage = "http://github.com/jswebtools/language-ecmascript-analysis";
+       description = "JavaScript static analysis library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-eiffel" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , deepseq, derive, ghc-prim, hashable, lens, mtl, parsec, pretty
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "language-eiffel";
+       version = "0.1.2";
+       sha256 = "1v3m31ffx4pmgq92ahvlyzsh9hjvrdsmyzhd61qxzgpn3z9zzlcm";
+       buildDepends = [
+         array base binary bytestring containers deepseq derive ghc-prim
+         hashable lens mtl parsec pretty text unordered-containers
+       ];
+       buildTools = [ alex ];
+       homepage = "https://github.com/scottgw/language-eiffel";
+       description = "Parser and pretty printer for the Eiffel language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-fortran" = callPackage
+    ({ mkDerivation, alex, array, base, happy, haskell-src, parsec, syb
+     }:
+     mkDerivation {
+       pname = "language-fortran";
+       version = "0.3";
+       sha256 = "0csp0nmiwb2kflahhnnjxa7gmam3k9c4ivvh2wg919x85yp7v40z";
+       buildDepends = [ array base haskell-src parsec syb ];
+       buildTools = [ alex happy ];
+       description = "Fortran lexer and parser, language support, and extensions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-gcl" = callPackage
+    ({ mkDerivation, base, bifunctors, parsers }:
+     mkDerivation {
+       pname = "language-gcl";
+       version = "0.2";
+       sha256 = "12yh49zh9wissms20rbvgzw5i5wlc8m1iqwkxg68f52g7mk6clrf";
+       buildDepends = [ base bifunctors parsers ];
+       description = "Something similar to Dijkstra's guarded command language";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "language-glsl" = callPackage
+    ({ mkDerivation, base, HUnit, parsec, pretty, prettyclass
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "language-glsl";
+       version = "0.1.1";
+       sha256 = "06dc339a2cddzgjda3nzprgr0v2clbhlpl8j81m04i66bbj2l15y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parsec pretty prettyclass ];
+       testDepends = [
+         base HUnit parsec prettyclass test-framework test-framework-hunit
+       ];
+       description = "GLSL abstract syntax tree, parser, and pretty-printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-go" = callPackage
+    ({ mkDerivation, array, base, parsec, utf8-string }:
+     mkDerivation {
+       pname = "language-go";
+       version = "0.8";
+       sha256 = "1p545115x73q4mzfja50f4lxal97ydvz9r3wq6pvcqls2xgvxzvc";
+       buildDepends = [ array base parsec utf8-string ];
+       jailbreak = true;
+       description = "A library for analysis and synthesis of Go code";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-guess" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers }:
+     mkDerivation {
+       pname = "language-guess";
+       version = "0.1.2";
+       sha256 = "0gdnkc1hb0mcn494vk9r7fw19hvaba807brwh6fna0sxyh2nx3p0";
+       buildDepends = [ base bytestring cereal containers ];
+       description = "Guess at which language a text is written in using trigrams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-haskell-extract" = callPackage
+    ({ mkDerivation, base, regex-posix, template-haskell }:
+     mkDerivation {
+       pname = "language-haskell-extract";
+       version = "0.2.4";
+       sha256 = "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl";
+       buildDepends = [ base regex-posix template-haskell ];
+       homepage = "http://github.com/finnsson/template-helper";
+       description = "Module to automatically extract functions from the local code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-java" = callPackage
+    ({ mkDerivation, alex, array, base, cpphs, directory, filepath
+     , HUnit, mtl, parsec, pretty, QuickCheck, syb, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "language-java";
+       version = "0.2.7";
+       sha256 = "1519grsjw0f4skldxs563qz07mmj1cg72ma0plmvzpas7inkikyf";
+       buildDepends = [ array base cpphs parsec pretty syb ];
+       testDepends = [
+         base directory filepath HUnit mtl QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       buildTools = [ alex ];
+       homepage = "http://github.com/vincenthz/language-java";
+       description = "Manipulating Java source: abstract syntax, lexer, parser, and pretty-printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-java-classfile" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , data-binary-ieee754, data-flags, deepseq, language-java, LibZip
+     , mtl, parsec, utf8-string
+     }:
+     mkDerivation {
+       pname = "language-java-classfile";
+       version = "0.2.0";
+       sha256 = "0pzlvzx5rv006mn88b15zvvrhf7h681xpl166368b92dc0x85gcf";
+       buildDepends = [
+         array base binary bytestring containers data-binary-ieee754
+         data-flags deepseq language-java LibZip mtl parsec utf8-string
+       ];
+       description = "Parser for Java .class files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-javascript" = callPackage
+    ({ mkDerivation, alex, array, base, blaze-builder, bytestring
+     , Cabal, containers, happy, HUnit, mtl, QuickCheck, test-framework
+     , test-framework-hunit, utf8-light, utf8-string
+     }:
+     mkDerivation {
+       pname = "language-javascript";
+       version = "0.5.13.3";
+       sha256 = "069spax169v0qq5axwccgxdmiyjlnjg1bhzqh09dp5yx9w5fk47x";
+       buildDepends = [
+         array base blaze-builder bytestring containers mtl utf8-string
+       ];
+       testDepends = [
+         array base blaze-builder bytestring Cabal containers HUnit mtl
+         QuickCheck test-framework test-framework-hunit utf8-light
+         utf8-string
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://github.com/alanz/language-javascript";
+       description = "Parser for JavaScript";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-lua" = callPackage
+    ({ mkDerivation, alex, array, base, deepseq, directory, filepath
+     , mtl, parsec, QuickCheck, safe, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "language-lua";
+       version = "0.6.3.2";
+       sha256 = "0wnmybaqiwwxg8xcs7g1ffsmv8kmld7m6s0a8wp0lvhdil7d9xq6";
+       buildDepends = [ array base deepseq mtl parsec safe ];
+       testDepends = [
+         base deepseq directory filepath parsec QuickCheck tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       buildTools = [ alex ];
+       homepage = "http://github.com/osa1/language-lua";
+       description = "Lua parser and pretty-printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-mixal" = callPackage
+    ({ mkDerivation, base, mtl, parsec, pretty }:
+     mkDerivation {
+       pname = "language-mixal";
+       version = "0.1";
+       sha256 = "0fgjkx003bn0bi4z6rgg8yvsl8k8almydh2lajkyp6zi5348vcv5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec pretty ];
+       homepage = "http://github.com/jtdaugherty/language-mixal/";
+       description = "Parser, pretty-printer, and AST types for the MIXAL assembly language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-objc" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , directory, filepath, happy, newtype, pretty, process, syb
+     }:
+     mkDerivation {
+       pname = "language-objc";
+       version = "0.4.2.8";
+       sha256 = "0dqx8fzbh53kakbh62zmq3x4gx4p5zfwisi3z6n03mjyfv3wv6jv";
+       buildDepends = [
+         array base bytestring containers directory filepath newtype pretty
+         process syb
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://www.tiresiaspress.us/haskell/language-objc";
+       description = "Analysis and generation of Objective C code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-openscad" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "language-openscad";
+       version = "0.1.6";
+       sha256 = "0xbwd0arsxinszlmdql5d61w33mpqya8gybkllyb1v7xhqskjasr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ attoparsec base bytestring ];
+       homepage = "http://www.github.com/bgamari/language-openscad";
+       description = "A simple parser for OpenSCAD";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-pig" = callPackage
+    ({ mkDerivation, base, Cabal, containers, HUnit, parsec
+     , pretty-tree, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "language-pig";
+       version = "0.3.0.1";
+       sha256 = "1lv8zm352him9rby1k0n90bklx8wlvr1w8anzmr54fmbd9ibx0f2";
+       buildDepends = [ base Cabal containers parsec pretty-tree ];
+       testDepends = [
+         base Cabal HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       jailbreak = true;
+       description = "Pig parser in haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "language-puppet" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
+     , base16-bytestring, bytestring, case-insensitive, containers
+     , cryptohash, Diff, directory, filecache, Glob, hashable, hruby
+     , hslogger, hslua, hspec, http-conduit, http-types, HUnit, iconv
+     , lens, lens-aeson, luautils, mtl, operational
+     , optparse-applicative, parallel-io, parsec, parsers, pcre-utils
+     , process, regex-pcre-builtin, scientific, split, stm
+     , strict-base-types, temporary, text, time, transformers-compat
+     , unix, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "language-puppet";
+       version = "1.1.0";
+       sha256 = "1mda3ip071qx7xfhv3d4q1pdivhycsdk9fxykm7hcs9a7a4c5jls";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-wl-pprint attoparsec base base16-bytestring bytestring
+         case-insensitive containers cryptohash Diff directory filecache
+         Glob hashable hruby hslogger hslua hspec http-conduit http-types
+         iconv lens lens-aeson luautils mtl operational optparse-applicative
+         parallel-io parsec parsers pcre-utils process regex-pcre-builtin
+         scientific split stm strict-base-types text time
+         transformers-compat unix unordered-containers vector yaml
+       ];
+       testDepends = [
+         ansi-wl-pprint base Glob hspec HUnit lens parsec parsers
+         strict-base-types temporary text unix unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "http://lpuppet.banquise.net/";
+       description = "Tools to parse and evaluate the Puppet DSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-python" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy, monads-tf
+     , pretty, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "language-python";
+       version = "0.5.0";
+       sha256 = "1z0m0lbvrcjyh04zr52wi1zhmb28m4s67zlvf2wc6qh0z9y4l7wy";
+       buildDepends = [
+         array base containers monads-tf pretty transformers utf8-string
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "http://github.com/bjpop/language-python";
+       description = "Parsing and pretty printing of Python code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-python-colour" = callPackage
+    ({ mkDerivation, base, haskell98, language-python, xhtml }:
+     mkDerivation {
+       pname = "language-python-colour";
+       version = "0.1";
+       sha256 = "1cspr1v0dm4lbjrb654n8lax9nvmj94a89cp3vqir8xccaxhggpz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 language-python xhtml ];
+       homepage = "http://www.cs.mu.oz.au/~bjpop/";
+       description = "Generate coloured XHTML for Python code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-python-test" = callPackage
+    ({ mkDerivation, base, language-python }:
+     mkDerivation {
+       pname = "language-python-test";
+       version = "0.5.0";
+       sha256 = "0sxl2snzwi4v3fzfgdwy2fx1pih4qvh1z8s1qkkq346x76n4rgnv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base language-python ];
+       homepage = "http://github.com/bjpop/language-python-test";
+       description = "testing code for the language-python library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-sh" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, parsec, pcre-light
+     }:
+     mkDerivation {
+       pname = "language-sh";
+       version = "0.0.3.1";
+       sha256 = "12yjynd1sib1mxx4jc28gs1k3r7kl1qv7xhanvn635dkcmswsd5k";
+       buildDepends = [ base directory filepath mtl parsec pcre-light ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/shsh/";
+       description = "A package for parsing shell scripts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-slice" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, parsec, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , transformers
+     }:
+     mkDerivation {
+       pname = "language-slice";
+       version = "0.3.0.0";
+       sha256 = "1d9g41z1nw327z5n7hj8gj0yfvmkj7hz7cpwhi4r32xa7x98hdzy";
+       buildDepends = [ base bytestring parsec transformers ];
+       testDepends = [
+         base bytestring HUnit parsec QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+       ];
+       homepage = "https://github.com/paulkoerbitz/language-slice";
+       description = "AST and parser for the ZeroC Slice language (Specification language for ICE)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-spelling" = callPackage
+    ({ mkDerivation, array, base, bk-tree, bytestring, containers
+     , criterion, ListLike, listlike-instances, random-shuffle, text
+     , time, tst, vector
+     }:
+     mkDerivation {
+       pname = "language-spelling";
+       version = "0.3.2";
+       sha256 = "05jgx1rcfb9aidrim2h9vr72c3m9hak2njkh04hkf4q3v1pv03ym";
+       buildDepends = [
+         array base bk-tree bytestring containers ListLike
+         listlike-instances text tst vector
+       ];
+       testDepends = [ base bytestring criterion random-shuffle time ];
+       homepage = "https://github.com/bitonic/language-spelling";
+       description = "Various tools to detect/correct mistakes in words";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-sqlite" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl
+     , template-haskell, utf8-string
+     }:
+     mkDerivation {
+       pname = "language-sqlite";
+       version = "1.1";
+       sha256 = "1mpbp56xgqx6j4mfla00kvr9q6mysncjw57mphvrz86ificjw93m";
+       buildDepends = [
+         array base bytestring containers mtl template-haskell utf8-string
+       ];
+       homepage = "http://dankna.com/software/";
+       description = "Full parser and generator for SQL as implemented by SQLite3";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "language-thrift" = callPackage
+    ({ mkDerivation, base, mtl, parsers, text, trifecta }:
+     mkDerivation {
+       pname = "language-thrift";
+       version = "0.1.0.0";
+       sha256 = "17x6311mrijm1in78nbcgfq4gmhahqcrhf5yynq3g6b1hylgswsv";
+       buildDepends = [ base mtl parsers text trifecta ];
+       homepage = "https://github.com/abhinav/language-thrift";
+       description = "Parser for the Thrift IDL format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "language-typescript" = callPackage
+    ({ mkDerivation, base, containers, parsec, pretty }:
+     mkDerivation {
+       pname = "language-typescript";
+       version = "0.0.4";
+       sha256 = "07lm3d4m7c6j2b5gywqm05189iwkh2zjiv5xwwmcw1fm2a63r2zd";
+       buildDepends = [ base containers parsec pretty ];
+       homepage = "http://github.com/paf31/language-typescript";
+       description = "A library for working with TypeScript Definition files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "largeword" = callPackage
+    ({ mkDerivation, base, binary, bytestring, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "largeword";
+       version = "1.2.3";
+       sha256 = "1ldcsnnji6p84sn03j17pdcpg7vqn1xrhyn4wys0v5fyy0d383ln";
+       buildDepends = [ base binary ];
+       testDepends = [
+         base binary bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/idontgetoutmuch/largeword";
+       description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lat" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, cmdargs, directory, filepath
+     , haskell98, haxr, HDBC, HDBC-sqlite3, hsini, HTTP, mtl, old-locale
+     , regex-compat, tagsoup, time
+     }:
+     mkDerivation {
+       pname = "lat";
+       version = "0.6";
+       sha256 = "0snzcck07v3w1qcgw2j6w7g4ydm59cprf3cqivl9qbgsjljl3zxn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base cmdargs directory filepath haskell98 haxr HDBC
+         HDBC-sqlite3 hsini HTTP mtl old-locale regex-compat tagsoup time
+       ];
+       jailbreak = true;
+       description = "Tool to track security alerts on LWN";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "latest-npm-version" = callPackage
+    ({ mkDerivation, aeson, base, cmdargs, hspec, http-client
+     , http-types, lens, network, pipes, pipes-attoparsec
+     , pipes-bytestring, pipes-http, text, text-format, transformers
+     }:
+     mkDerivation {
+       pname = "latest-npm-version";
+       version = "0.3.1";
+       sha256 = "0z6jl0i9d9r4nifyn2h6pk8s3ni5zfmbc4gpaqim3hzzbh6kqrn0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base cmdargs http-client http-types lens network pipes
+         pipes-attoparsec pipes-bytestring pipes-http text text-format
+         transformers
+       ];
+       testDepends = [
+         aeson base hspec http-client http-types lens network pipes
+         pipes-attoparsec pipes-bytestring pipes-http text text-format
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/passy/latest-npm-version";
+       description = "Find the latest version of a package on npm";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "latex" = callPackage
+    ({ mkDerivation, base, containers, utility-ht }:
+     mkDerivation {
+       pname = "latex";
+       version = "0.1.0.3";
+       sha256 = "1linwqab6z2s91vdxr874vk7rg7gv1ckabsxwmlr80gnhdfgyhmp";
+       buildDepends = [ base containers utility-ht ];
+       homepage = "http://www.haskell.org/haskellwiki/LaTeX";
+       description = "Parse, format and process LaTeX files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lattices" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "lattices";
+       version = "1.2.1.1";
+       sha256 = "0ppqvc3w7v56zya43b3fqwis50c8b57hlighzmk8jphv39y3ilp6";
+       buildDepends = [ base containers ];
+       description = "Fine-grained library for constructing and manipulating lattices";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "launchpad-control" = callPackage
+    ({ mkDerivation, array, base, containers, hmidi, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "launchpad-control";
+       version = "0.0.1.0";
+       sha256 = "0lbrrm5wfi3vgmvba9rvbzq78idq6z98psjfh5scjp8hg0qbf8q2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers hmidi mtl transformers ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "High and low-level interface to the Novation Launchpad midi controller";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lax" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lax";
+       version = "0.1.0.3";
+       sha256 = "12f0k2545nk50cvs3gd41dhsfls19xkhvn3avhmgx69y57mhalcy";
+       buildDepends = [ base ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/lax";
+       description = "Lax arrows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "layers" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "layers";
+       version = "0.1";
+       sha256 = "1yn8swgxb908wslcnh04919m9rzy47dxgawns89zw5v1gbq3wmdf";
+       buildDepends = [ base transformers ];
+       homepage = "http://github.com/duairc/layers";
+       description = "Modular type class machinery for monad transformer stacks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "layers-game" = callPackage
+    ({ mkDerivation, base, cmdargs, composition, data-lens, Gamgine
+     , GLFW-b, ListZipper, mtl, OpenGLRaw, pretty-show
+     }:
+     mkDerivation {
+       pname = "layers-game";
+       version = "0.5";
+       sha256 = "01j1gq3jd8mm519p3drxfpd32mm1qmik39vijncrx64p7wii73k8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs composition data-lens Gamgine GLFW-b ListZipper mtl
+         OpenGLRaw pretty-show
+       ];
+       jailbreak = true;
+       description = "A prototypical 2d platform game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "layout" = callPackage
+    ({ mkDerivation, base, convertible, hinduce-missingh }:
+     mkDerivation {
+       pname = "layout";
+       version = "0.0.0.1";
+       sha256 = "04075x2f646ifaw9pxi5s6avp1vis1j524w9a2m3apyrz583cj0g";
+       buildDepends = [ base convertible hinduce-missingh ];
+       description = "Turn values into pretty text or markup";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "layout-bootstrap" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, text }:
+     mkDerivation {
+       pname = "layout-bootstrap";
+       version = "0.2.2";
+       sha256 = "0rm0w5l4g865ais4rg3vdfx6fyzp1dginlhlabvqclbjwwzkiyqi";
+       buildDepends = [ base blaze-html containers text ];
+       homepage = "https://bitbucket.org/dpwiz/layout-bootstrap";
+       description = "Template and widgets for Bootstrap2 to use with Text.Blaze.Html5";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lazy-csv" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "lazy-csv";
+       version = "0.5";
+       sha256 = "0xm5j3why2wfajcn7r8my63ranq2mm7jlj15dj153n2izgvd1dh0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       homepage = "http://code.haskell.org/lazy-csv";
+       description = "Efficient lazy parsers for CSV (comma-separated values)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lazy-io" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lazy-io";
+       version = "0.1.0";
+       sha256 = "0fbvm8wwvp4xm4rq2mdfnrra7c88dps91j7ay2vn7iqmpdkcwly9";
+       buildDepends = [ base ];
+       homepage = "https://github.com/kawu/lazy-io";
+       description = "Lazy IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lazyarray" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "lazyarray";
+       version = "0.1.3";
+       sha256 = "0bc2n7x8fydmzc84yb5zbdaca1r4qwpk7zlvbgcycycr87fk7p7n";
+       buildDepends = [ array base ];
+       description = "Efficient implementation of lazy monolithic arrays (lazy in indexes)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lazyio" = callPackage
+    ({ mkDerivation, base, transformers, unsafe }:
+     mkDerivation {
+       pname = "lazyio";
+       version = "0.1.0.1";
+       sha256 = "16cl1yifcmfywqc7kgz9kmp0x6s4300ccgmcrzr4j4jgwcgl38bc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base transformers unsafe ];
+       homepage = "http://www.haskell.org/haskellwiki/Lazy_IO";
+       description = "Run IO actions lazily while respecting their order";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lazysmallcheck" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lazysmallcheck";
+       version = "0.6";
+       sha256 = "0lqggm75m1qd34lzqj3ibvnjwhjqvq16cab8zxm4yzn7j2sxzm4x";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.york.ac.uk/~mfn/lazysmallcheck/";
+       description = "A library for demand-driven testing of Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lazysplines" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lazysplines";
+       version = "0.2";
+       sha256 = "0r6z3b6yaxsnz8cbfr815q97jlzsjrqszb2vvzwjyqbh6qqw006y";
+       buildDepends = [ base ];
+       description = "Differential solving with lazy splines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lbfgs" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "lbfgs";
+       version = "0.0.5";
+       sha256 = "0j69hq053ksypb5a3dcvnfa5pscvxhsnby1p5pj4bw6c209g8a06";
+       buildDepends = [ array base ];
+       description = "L-BFGS optimization";
+       license = "unknown";
+     }) {};
+
+  "lca" = callPackage
+    ({ mkDerivation, base, doctest }:
+     mkDerivation {
+       pname = "lca";
+       version = "0.3";
+       sha256 = "081fk0ci5vb84w4zwah6qwbr0i78v2pr6m6nn1y226vv5w3kakza";
+       buildDepends = [ base ];
+       testDepends = [ base doctest ];
+       homepage = "http://github.com/ekmett/lca/";
+       description = "O(log n) persistent on-line lowest common ancestor calculation without preprocessing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lcs" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "lcs";
+       version = "0.2";
+       sha256 = "1w8z80vqb86zl6ap4nd87kpl91qms8310k1d8r6qrxg2skm6gnxl";
+       buildDepends = [ array base ];
+       homepage = "http://urchin.earth.li/~ian/cabal/lcs/";
+       description = "Find longest common sublist of two lists";
+       license = "unknown";
+     }) {};
+
+  "lda" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, mtl, random-fu
+     , random-source, rvar, vector
+     }:
+     mkDerivation {
+       pname = "lda";
+       version = "0.0.2";
+       sha256 = "125y7syfpwg6356h4rq34k45h115ywbz9yisvd741jf6aij23is2";
+       buildDepends = [
+         base containers ghc-prim mtl random-fu random-source rvar vector
+       ];
+       homepage = "https://bitbucket.org/gchrupala/colada";
+       description = "Online Latent Dirichlet Allocation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ldif" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers, directory
+     , filepath, HUnit, parsec, rosezipper
+     }:
+     mkDerivation {
+       pname = "ldif";
+       version = "0.0.13";
+       sha256 = "0mf0cvjzgimrqf80g6hg75azv18930g5mrvjjxw70116mdpp718a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs containers directory filepath parsec
+         rosezipper
+       ];
+       testDepends = [ base HUnit ];
+       homepage = "http://rampa.sk/static/ldif.html";
+       description = "The LDAP Data Interchange Format (LDIF) tools";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "leaf" = callPackage
+    ({ mkDerivation, base, blaze-html, directory, filepath, pandoc
+     , split
+     }:
+     mkDerivation {
+       pname = "leaf";
+       version = "1.0.1.1";
+       sha256 = "1czk4d2xa2g7djdz669h1q6ciflzwxm4n05m9jv3d3z7r6fcch6z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base blaze-html directory filepath pandoc split ];
+       jailbreak = true;
+       homepage = "https://github.com/skypers/leaf";
+       description = "A simple portfolio generator";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "leaky" = callPackage
+    ({ mkDerivation, base, cpphs, deepseq-bounded, deepseq-generics
+     , generics-sop, random, seqaid, template-haskell
+     }:
+     mkDerivation {
+       pname = "leaky";
+       version = "0.4.0.0";
+       sha256 = "17cs1mszcfibfkcbwxdcn4pi3n6b84a23szv548vqxwypyrzlbf0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cpphs deepseq-bounded deepseq-generics generics-sop random
+         seqaid template-haskell
+       ];
+       homepage = "http://fremissant.net/leaky";
+       description = "Robust space leak, and its strictification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "leankit-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, colour, curl, split }:
+     mkDerivation {
+       pname = "leankit-api";
+       version = "0.4";
+       sha256 = "14ax9w72cdmbsgy879mwwi2g0345xzfvivrq8b7ngkr8dyfp72r7";
+       buildDepends = [ aeson base bytestring colour curl split ];
+       description = "LeanKit API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "leapseconds-announced" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "leapseconds-announced";
+       version = "2015";
+       sha256 = "14k57jw0n9nqrc9rrqsjiafk3li7z8azf9cm72gm3yrms72ph3m8";
+       buildDepends = [ base time ];
+       description = "Leap seconds announced at library release time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "learn" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "learn";
+       version = "0.1.1";
+       sha256 = "1i2rn4pmgbqxj0xsjqp5rh50lv6zgnblbjgwmqh5cxb3dsillvpj";
+       buildDepends = [ base containers ];
+       description = "Learning Algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "learn-physics" = callPackage
+    ({ mkDerivation, base, gloss, gnuplot, not-gloss, spatial-math
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "learn-physics";
+       version = "0.5";
+       sha256 = "0bh7p0pp4pspb5m4bfab5z3sfrywlw59yc7w11sa6ax29q9r9faq";
+       buildDepends = [
+         base gloss gnuplot not-gloss spatial-math vector-space
+       ];
+       jailbreak = true;
+       description = "Haskell code for learning physics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "learn-physics-examples" = callPackage
+    ({ mkDerivation, base, gloss, gnuplot, learn-physics, not-gloss
+     , spatial-math
+     }:
+     mkDerivation {
+       pname = "learn-physics-examples";
+       version = "0.5.0.1";
+       sha256 = "0fwmc7q59srasciijd7ws1bqay4cc7jhi1469my67kchg0n45q3k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base gloss gnuplot learn-physics not-gloss spatial-math
+       ];
+       jailbreak = true;
+       description = "examples for learn-physics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "learning-hmm" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hmatrix, random-fu
+     , random-source, vector
+     }:
+     mkDerivation {
+       pname = "learning-hmm";
+       version = "0.3.2.2";
+       sha256 = "1a2a97cflnlalcqr54ssbmy047i6y1xgswssy64hsr36g2lhywrs";
+       buildDepends = [
+         base containers deepseq hmatrix random-fu random-source vector
+       ];
+       homepage = "https://github.com/mnacamura/learning-hmm";
+       description = "Yet another library for hidden Markov models";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "leetify" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "leetify";
+       version = "0.1.0.1";
+       sha256 = "106pr7rlma67dqqyfhknh9fb6r37lsj00qjx1dq3xx7yxp368nvr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "http://github.com/phaazon/leetify";
+       description = "Leetify text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "leksah" = callPackage
+    ({ mkDerivation, array, base, binary, binary-shared, blaze-html
+     , bytestring, Cabal, conduit, containers, deepseq, directory
+     , executable-path, filepath, ghc, ghcjs-codemirror, ghcjs-dom, gio
+     , glib, gtk3, gtksourceview3, hamlet, haskell-src-exts, hlint
+     , hslogger, jsaddle, leksah-server, lens, ltk, monad-loops, mtl
+     , network, network-uri, old-time, parsec, pretty, pretty-show
+     , QuickCheck, regex-base, regex-tdfa, regex-tdfa-text, shakespeare
+     , strict, text, time, transformers, unix, utf8-string, vado, vcsgui
+     , vcswrapper, webkitgtk3, webkitgtk3-javascriptcore
+     }:
+     mkDerivation {
+       pname = "leksah";
+       version = "0.14.4.0";
+       sha256 = "13p6fil3s8pgjgicxgkn1qfcdhvv5j0lilk85a66nz7vw4rg3x2v";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary binary-shared blaze-html bytestring Cabal conduit
+         containers deepseq directory executable-path filepath ghc
+         ghcjs-codemirror ghcjs-dom gio glib gtk3 gtksourceview3 hamlet
+         haskell-src-exts hlint hslogger jsaddle leksah-server lens ltk mtl
+         network network-uri old-time parsec pretty pretty-show QuickCheck
+         regex-base regex-tdfa regex-tdfa-text shakespeare strict text time
+         transformers unix utf8-string vado vcsgui vcswrapper webkitgtk3
+         webkitgtk3-javascriptcore
+       ];
+       testDepends = [
+         base Cabal containers glib gtk3 gtksourceview3 hslogger
+         leksah-server ltk monad-loops QuickCheck text transformers
+         webkitgtk3
+       ];
+       homepage = "http://www.leksah.org";
+       description = "Haskell IDE written in Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "leksah-server" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base, binary
+     , binary-shared, bytestring, Cabal, conduit, conduit-extra
+     , containers, deepseq, directory, executable-path, filepath, ghc
+     , haddock-api, hslogger, HTTP, HUnit, ltk, network, network-uri
+     , parsec, pretty, process, resourcet, strict, text, time
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "leksah-server";
+       version = "0.14.3.2";
+       sha256 = "0gbjxbma0jyw0jli63f3apfsap9by6nr75qx77773nj2l48hxz3w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec attoparsec-conduit base binary binary-shared bytestring
+         Cabal conduit conduit-extra containers deepseq directory
+         executable-path filepath ghc haddock-api hslogger HTTP ltk network
+         network-uri parsec pretty process resourcet strict text time
+         transformers unix
+       ];
+       testDepends = [
+         base conduit conduit-extra hslogger HUnit process resourcet
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://leksah.org";
+       description = "Metadata collection for leksah";
+       license = "GPL";
+     }) {};
+
+  "lens_4_7_0_1" = callPackage
+    ({ mkDerivation, array, base, bifunctors, bytestring, comonad
+     , containers, contravariant, deepseq, directory, distributive
+     , doctest, exceptions, filepath, free, generic-deriving, ghc-prim
+     , hashable, hlint, HUnit, mtl, nats, parallel, primitive
+     , profunctors, QuickCheck, reflection, semigroupoids, semigroups
+     , simple-reflect, split, tagged, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, text, transformers, transformers-compat
+     , unordered-containers, vector, void
+     }:
+     mkDerivation {
+       pname = "lens";
+       version = "4.7.0.1";
+       revision = "2";
+       sha256 = "1j9d7g4sj38zq2r8vhy05b2kbxx1sg2k0b3yx05lbxlb79wcm1j1";
+       editedCabalFile = "fd79ae606fe461d82d0eca185ade4ba04200b4afbf65348a59ffc600a5b7dc03";
+       buildDepends = [
+         array base bifunctors bytestring comonad containers contravariant
+         distributive exceptions filepath free ghc-prim hashable mtl
+         parallel primitive profunctors reflection semigroupoids semigroups
+         split tagged template-haskell text transformers transformers-compat
+         unordered-containers vector void
+       ];
+       testDepends = [
+         base bytestring containers deepseq directory doctest filepath
+         generic-deriving hlint HUnit mtl nats parallel QuickCheck
+         semigroups simple-reflect split test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th text transformers
+         unordered-containers vector
+       ];
+       homepage = "http://github.com/ekmett/lens/";
+       description = "Lenses, Folds and Traversals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens" = callPackage
+    ({ mkDerivation, array, base, bifunctors, bytestring, comonad
+     , containers, contravariant, deepseq, directory, distributive
+     , doctest, exceptions, filepath, free, generic-deriving, ghc-prim
+     , hashable, hlint, 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, transformers, transformers-compat
+     , unordered-containers, vector, void
+     }:
+     mkDerivation {
+       pname = "lens";
+       version = "4.9";
+       sha256 = "1ssnjdcd50khm18pb4ramvadqqnqn119z90i7991jja3na2mwsqr";
+       buildDepends = [
+         array base bifunctors bytestring comonad containers contravariant
+         distributive exceptions filepath free ghc-prim hashable
+         kan-extensions mtl parallel profunctors reflection semigroupoids
+         semigroups tagged template-haskell text transformers
+         transformers-compat unordered-containers vector void
+       ];
+       testDepends = [
+         base bytestring containers deepseq directory doctest filepath
+         generic-deriving hlint HUnit mtl nats parallel QuickCheck
+         semigroups simple-reflect test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th text transformers
+         unordered-containers vector
+       ];
+       homepage = "http://github.com/ekmett/lens/";
+       description = "Lenses, Folds and Traversals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-action" = callPackage
+    ({ mkDerivation, base, comonad, contravariant, directory, doctest
+     , filepath, lens, mtl, profunctors, semigroupoids, semigroups
+     , transformers
+     }:
+     mkDerivation {
+       pname = "lens-action";
+       version = "0.1.0.1";
+       sha256 = "0ycasfbwkqc3v3frjq8kfm1nzj7g1vr25ywzf0irk05gfhxfpvig";
+       buildDepends = [
+         base comonad contravariant lens mtl profunctors semigroupoids
+         semigroups transformers
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/lens-action/";
+       description = "Monadic Getters and Folds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-aeson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, directory
+     , doctest, filepath, generic-deriving, lens, scientific, semigroups
+     , simple-reflect, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "lens-aeson";
+       version = "1.0.0.3";
+       sha256 = "0wfbnazarwcza5dn3icsdvsmkyf9ki5lr5d5yidmgijhs63ak7ac";
+       buildDepends = [
+         aeson attoparsec base bytestring lens scientific text
+         unordered-containers vector
+       ];
+       testDepends = [
+         base directory doctest filepath generic-deriving semigroups
+         simple-reflect
+       ];
+       homepage = "http://github.com/lens/lens-aeson/";
+       description = "Law-abiding lenses for aeson";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-datetime" = callPackage
+    ({ mkDerivation, base, lens, time }:
+     mkDerivation {
+       pname = "lens-datetime";
+       version = "0.2.1";
+       sha256 = "1wqks7ynw3njlizdd9hvgrc1xjxcgcfck9ppj1lgg8wr3l2myi72";
+       buildDepends = [ base lens time ];
+       homepage = "http://github.com/nilcons/lens-datetime";
+       description = "Lenses for Data.Time.* types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-family" = callPackage
+    ({ mkDerivation, base, containers, lens-family-core, mtl
+     , transformers
+     }:
+     mkDerivation {
+       pname = "lens-family";
+       version = "1.2.0";
+       sha256 = "0pbyx43ajx96nhcw4brml1r5azs1041k7nv4m94ak6x77n5sr4mb";
+       buildDepends = [
+         base containers lens-family-core mtl transformers
+       ];
+       description = "Lens Families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-family-core" = callPackage
+    ({ mkDerivation, base, containers, transformers }:
+     mkDerivation {
+       pname = "lens-family-core";
+       version = "1.2.0";
+       sha256 = "0hxrbbc4azfafnr4ab2zxgic093wwg6gx5h1ggp4xks55d8rhraz";
+       buildDepends = [ base containers transformers ];
+       description = "Haskell 98 Lens Families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-family-th" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "lens-family-th";
+       version = "0.4.1.0";
+       sha256 = "084yng26xyhw6c6hij3p70zvjpvm1dlw6klphw51car9gi6dqkvm";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://github.com/DanBurton/lens-family-th#readme";
+       description = "Generate lens-family style lenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-properties" = callPackage
+    ({ mkDerivation, base, lens, QuickCheck, transformers }:
+     mkDerivation {
+       pname = "lens-properties";
+       version = "4.7";
+       sha256 = "07acd6a9qp0z06nxb33ml8fa470i04v8bxyrhf7i30lvyy40gfik";
+       buildDepends = [ base lens QuickCheck transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/lens/";
+       description = "QuickCheck properties for lens";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-sop" = callPackage
+    ({ mkDerivation, base, fclabels, generics-sop, transformers }:
+     mkDerivation {
+       pname = "lens-sop";
+       version = "0.1.0.2";
+       sha256 = "1b56q8qsg3w5gzra7bjf76mqinv8vpjrb6any7c3wdpjgvssly56";
+       buildDepends = [ base fclabels generics-sop transformers ];
+       description = "Computing lenses generically using generics-sop";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lens-text-encoding" = callPackage
+    ({ mkDerivation, base, bytestring, lens, text }:
+     mkDerivation {
+       pname = "lens-text-encoding";
+       version = "0.1.0.0";
+       sha256 = "1yxab87ci6gl0c5gsdd8pb780ai8lmxxa3fxkpl1shv1pw124fsv";
+       buildDepends = [ base bytestring lens text ];
+       homepage = "http://github.com/iand675/text-lens-encoding";
+       description = "Isomorphisms and prisms for text <=> bytestring conversions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lens-time" = callPackage
+    ({ mkDerivation, base, lens, time }:
+     mkDerivation {
+       pname = "lens-time";
+       version = "0.1.0.0";
+       sha256 = "1hrp9d6qja7yc3zj68w3hylgflyfsvh79m8daw9030yjdxm525za";
+       buildDepends = [ base lens time ];
+       jailbreak = true;
+       description = "lens for Data.Time";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lenses" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "lenses";
+       version = "0.1.6";
+       sha256 = "0n2r7gjiq5vk6jjaxn7kr3g5gvn4y0gmdqpn9l0nfgqdnscmfbiv";
+       buildDepends = [ base mtl template-haskell ];
+       homepage = "http://github.com/jvranish/Lenses/tree/master";
+       description = "Simple Functional Lenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lensref" = callPackage
+    ({ mkDerivation, base, monad-control, mtl, transformers }:
+     mkDerivation {
+       pname = "lensref";
+       version = "0.2";
+       sha256 = "0dj43hqrv198dgfnngq4l8kwnksqcm6nydcr1z1a5gqz5s99m4bn";
+       buildDepends = [ base monad-control mtl transformers ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/LGtk";
+       description = "References which can be joined and on which lenses can be applied";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "level-monad" = callPackage
+    ({ mkDerivation, base, fmlist }:
+     mkDerivation {
+       pname = "level-monad";
+       version = "0.4.1";
+       sha256 = "1l5jyhpvbcj4fmyggp8bjy4gx9igcydply3yb1s23fxdcz0b638a";
+       buildDepends = [ base fmlist ];
+       homepage = "http://github.com/sebfisch/level-monad";
+       description = "Non-Determinism Monad for Level-Wise Search";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "leveldb-haskell" = callPackage
+    ({ mkDerivation, async, base, bytestring, data-default, directory
+     , exceptions, filepath, leveldb, mtl, QuickCheck, resourcet, tasty
+     , tasty-quickcheck, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "leveldb-haskell";
+       version = "0.6.2";
+       sha256 = "0gx9rn5vbmy5nq1n2ga1v5v7b7p11d0rxhdh75pz4dqgazxyjlax";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring data-default exceptions filepath resourcet
+         transformers
+       ];
+       testDepends = [
+         base bytestring data-default directory exceptions mtl QuickCheck
+         tasty tasty-quickcheck temporary transformers
+       ];
+       extraLibraries = [ leveldb ];
+       homepage = "http://github.com/kim/leveldb-haskell";
+       description = "Haskell bindings to LevelDB";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) leveldb;};
+
+  "leveldb-haskell-fork" = callPackage
+    ({ mkDerivation, async, base, bytestring, data-default, filepath
+     , hspec, hspec-expectations, leveldb, mtl, process, QuickCheck
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "leveldb-haskell-fork";
+       version = "0.3.4.4";
+       sha256 = "021ckykw5wwkm8gpbqq1znis4rakqmri8bz8ldmm8cmlb3v3b6aq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring data-default filepath resourcet transformers
+       ];
+       testDepends = [
+         base bytestring data-default hspec hspec-expectations mtl process
+         QuickCheck transformers
+       ];
+       extraLibraries = [ leveldb ];
+       homepage = "http://github.com/kim/leveldb-haskell";
+       description = "Haskell bindings to LevelDB";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) leveldb;};
+
+  "levmar" = callPackage
+    ({ mkDerivation, base, bindings-levmar, hmatrix, vector }:
+     mkDerivation {
+       pname = "levmar";
+       version = "1.2.1.5";
+       sha256 = "09ambniwcvrss8s3f9rvgrq204d9y7baxiw52r3pp693spmwazkj";
+       buildDepends = [ base bindings-levmar hmatrix vector ];
+       homepage = "https://github.com/basvandijk/levmar";
+       description = "An implementation of the Levenberg-Marquardt algorithm";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "levmar-chart" = callPackage
+    ({ mkDerivation, base, Chart, colour, data-accessor, levmar, random
+     }:
+     mkDerivation {
+       pname = "levmar-chart";
+       version = "0.2";
+       sha256 = "0ws9d2ipk67ir4b31rd7vakyglhrr290k400zpb24ny3vvdgcwaj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Chart colour data-accessor levmar random ];
+       jailbreak = true;
+       description = "Plots the results of the Levenberg-Marquardt algorithm in a chart";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lexer-applicative" = callPackage
+    ({ mkDerivation, base, deepseq, regex-applicative, srcloc, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "lexer-applicative";
+       version = "1.0.0.1";
+       sha256 = "14srsxw3xyhllmxlxkfid1njay5dca4zy488sa1lmsffrfdkp20z";
+       buildDepends = [ base regex-applicative srcloc ];
+       testDepends = [
+         base deepseq regex-applicative srcloc tasty tasty-hunit
+       ];
+       homepage = "https://github.com/feuerbach/lexer-applicative";
+       description = "Simple lexer based on applicative regular expressions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lgtk" = callPackage
+    ({ mkDerivation, array, base, cairo, colour, containers
+     , diagrams-cairo, diagrams-lib, directory, filepath, fsnotify
+     , GLFW-b, groups, lens, lensref, monad-control, mtl, OpenGLRaw
+     , operational, random, random-shuffle, semigroups, system-filepath
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "lgtk";
+       version = "0.8.0.4";
+       sha256 = "1bph09i8znzv3c8sqbg2xbrdlpvlnx52psgyybwn0imqip81lmv5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base cairo colour containers diagrams-cairo diagrams-lib
+         directory filepath fsnotify GLFW-b groups lens lensref
+         monad-control mtl OpenGLRaw operational random random-shuffle
+         semigroups system-filepath transformers vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/LGtk";
+       description = "Lens GUI Toolkit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lha" = callPackage
+    ({ mkDerivation, haskell2010 }:
+     mkDerivation {
+       pname = "lha";
+       version = "0.1.2";
+       sha256 = "0a5h1d0sdnpy209k4zkmcrrxl4b000226hif098bqs9pngpbgki1";
+       buildDepends = [ haskell2010 ];
+       homepage = "https://github.com/bytbox/lha.hs";
+       description = "Data structures for the Les Houches Accord";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lhae" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , hgettext, mtl, parsec, process, setlocale, utf8-string, wx
+     , wxcore
+     }:
+     mkDerivation {
+       pname = "lhae";
+       version = "0.0.3";
+       sha256 = "120g8x0wbd5va2gqvkr5mx643g8r4hrfyqa68nm3apvfc9z7f8g3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath hgettext mtl parsec
+         process setlocale utf8-string wx wxcore
+       ];
+       jailbreak = true;
+       homepage = "http://www.imn.htwk-leipzig.de/~abau/lhae";
+       description = "Simple spreadsheet program";
+       license = "GPL";
+     }) {};
+
+  "lhc" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, binary, bytestring
+     , bytestring-trie, Cabal, containers, core, derive, digest
+     , directory, extensible-exceptions, filepath, haskell98, HUnit, mtl
+     , parallel, pretty, process, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck, time, unix
+     , xhtml
+     }:
+     mkDerivation {
+       pname = "lhc";
+       version = "0.10";
+       sha256 = "1x50k6lx9p36qxl0qn9zfyqlkgsq3wdzvcv7l6sn920hg5scvcr3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base binary bytestring bytestring-trie Cabal
+         containers core derive digest directory extensible-exceptions
+         filepath haskell98 HUnit mtl parallel pretty process QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck time
+         unix xhtml
+       ];
+       homepage = "http://lhc.seize.it/";
+       description = "LHC Haskell Compiler";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "lhe" = callPackage
+    ({ mkDerivation, bytestring, haskell2010, HaXml, lha }:
+     mkDerivation {
+       pname = "lhe";
+       version = "0.5";
+       sha256 = "08725r5i71ni9ip4qbc5fr111j256rsii936yvxbd7kbbw4ap2a9";
+       buildDepends = [ bytestring haskell2010 HaXml lha ];
+       description = "Parser and writer for Les-Houches event files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lhs2TeX-hl" = callPackage
+    ({ mkDerivation, base, cmdargs, filepath, haskell-src-exts, syb
+     , uu-parsinglib
+     }:
+     mkDerivation {
+       pname = "lhs2TeX-hl";
+       version = "0.1.4.5";
+       sha256 = "1mm6ikiv6zj025yh5abq3f8mqkw9302mfzd01xcihbh74bsdpi9l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs filepath haskell-src-exts syb uu-parsinglib
+       ];
+       jailbreak = true;
+       homepage = "http://spockz.github.com/lhs2texhl/";
+       description = "Literate highlighter preprocessor for lhs2tex";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lhs2html" = callPackage
+    ({ mkDerivation, base, directory, filepath, Glob }:
+     mkDerivation {
+       pname = "lhs2html";
+       version = "0.999999";
+       sha256 = "1cwvpn6cl0d5rs5x6q3c2pw4l4hpxz20sr717mggafzsj6j7cccv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath Glob ];
+       description = "Compile lhs in bird style to md, html, hs";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "lhs2tex" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, process
+     , regex-compat, texLive
+     }:
+     mkDerivation {
+       pname = "lhs2tex";
+       version = "1.19";
+       sha256 = "03mhhkrqjjqmmh18im8di1cl6wqv30lsib5hv73f0wsnv5bhbbi4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath mtl process regex-compat
+       ];
+       extraLibraries = [ texLive ];
+       postInstall = ''
+         mkdir -p "$out/share/doc/$name"
+         cp doc/Guide2.pdf $out/share/doc/$name
+         mkdir -p "$out/nix-support"
+       '';
+       homepage = "http://www.andres-loeh.de/lhs2tex/";
+       description = "Preprocessor for typesetting Haskell sources with LaTeX";
+       license = "GPL";
+     }) { inherit (pkgs) texLive;};
+
+  "lhslatex" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, regex-posix }:
+     mkDerivation {
+       pname = "lhslatex";
+       version = "0.1.0.0";
+       sha256 = "0kgmx160i1rylgzh23qlg8ds0sq64yk1i3rah8kmgwabpnvds7f7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath process regex-posix ];
+       homepage = "https://github.com/tvh/lhslatex";
+       description = "Tool for using pdflatex with .lhs files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "libGenI" = callPackage
+    ({ mkDerivation, base, binary, containers, HUnit, mtl, parsec
+     , process, QuickCheck
+     }:
+     mkDerivation {
+       pname = "libGenI";
+       version = "0.16.1";
+       sha256 = "1n37pccmx0466425zcbdfpgivsrnqzwsm0nwcjv8lkg8jxjxrwmz";
+       buildDepends = [
+         base binary containers HUnit mtl parsec process QuickCheck
+       ];
+       homepage = "http://trac.loria.fr/~geni";
+       description = "A natural language generator (specifically, an FB-LTAG surface realiser)";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "libarchive-conduit" = callPackage
+    ({ mkDerivation, archive, base, bytestring, conduit, resourcet
+     , transformers
+     }:
+     mkDerivation {
+       pname = "libarchive-conduit";
+       version = "0.1.0.0";
+       sha256 = "022fnxxwz44cjzcldk3yg1xs77xqnrvkr9bv6hi7kdy120dk4p04";
+       buildDepends = [ base bytestring conduit resourcet transformers ];
+       extraLibraries = [ archive ];
+       description = "Read many archive formats with libarchive and conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) { archive = null;};
+
+  "libcspm" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , directory, filepath, graph-wrapper, hashable, hashtables, mtl
+     , pretty, test-framework, text, value-supply
+     }:
+     mkDerivation {
+       pname = "libcspm";
+       version = "1.0.0";
+       sha256 = "1v8w8i871a0fjyjqb8hr4yk9wli5v7djfpyjgg14rjb26v6yq79v";
+       buildDepends = [
+         array base bytestring containers deepseq directory filepath
+         graph-wrapper hashable hashtables mtl pretty text value-supply
+       ];
+       testDepends = [ base directory filepath mtl test-framework ];
+       jailbreak = true;
+       homepage = "https://github.com/tomgr/libcspm";
+       description = "A library providing a parser, type checker and evaluator for CSPM";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "libexpect" = callPackage
+    ({ mkDerivation, base, expect, tcl, unix }:
+     mkDerivation {
+       pname = "libexpect";
+       version = "0.3.2";
+       sha256 = "0xpsc9a16biqg4z9b9wk9wqz6ypshw99xrksnxi8nlh3qn98lrsc";
+       buildDepends = [ base unix ];
+       extraLibraries = [ expect tcl ];
+       description = "Library for interacting with console applications via pseudoterminals";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) expect;  inherit (pkgs) tcl;};
+
+  "libffi" = callPackage
+    ({ mkDerivation, base, bytestring, libffi }:
+     mkDerivation {
+       pname = "libffi";
+       version = "0.1";
+       sha256 = "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28";
+       buildDepends = [ base bytestring ];
+       pkgconfigDepends = [ libffi ];
+       description = "A binding to libffi";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libffi;};
+
+  "libgit" = callPackage
+    ({ mkDerivation, base, mtl, process }:
+     mkDerivation {
+       pname = "libgit";
+       version = "0.3.0";
+       sha256 = "0k2287d84s0p73md1mfcyg1qy1l5ncgrvmkaa7607d8zlk9b8ci6";
+       buildDepends = [ base mtl process ];
+       homepage = "http://github.com/vincenthz/hs-tls";
+       description = "Simple Git Wrapper";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "libgraph" = callPackage
+    ({ mkDerivation, array, base, containers, monads-tf, process
+     , union-find
+     }:
+     mkDerivation {
+       pname = "libgraph";
+       version = "1.4";
+       sha256 = "0j4rjwcp85cwfzvqvmxkxrvldfhz6k8ws3qjf29lzr0yrk1vfbjm";
+       buildDepends = [
+         array base containers monads-tf process union-find
+       ];
+       homepage = "http://maartenfaddegon.nl";
+       description = "Store and manipulate data in a graph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "libhbb" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath, ghc
+     , ghc-paths, hspec, mtl, process, syb, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "libhbb";
+       version = "0.4.1.0";
+       sha256 = "17wycfnp1f288fxq3vd9c206gcard3n59s0a0myy0hkl6xy281s8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory filepath ghc ghc-paths mtl process
+         syb text time unordered-containers
+       ];
+       testDepends = [ base bytestring ghc ghc-paths hspec mtl syb ];
+       homepage = "https://bitbucket.org/bhris/libhbb";
+       description = "Backend for text editors to provide better Haskell editing support";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "libjenkins" = callPackage
+    ({ mkDerivation, async, attoparsec, base, bytestring, conduit
+     , containers, directory, doctest, filepath, free, hspec
+     , hspec-expectations-lens, http-client, http-conduit, http-types
+     , lens, lifted-async, lifted-base, monad-control, mtl, network
+     , network-uri, profunctors, resourcet, text, transformers
+     , xml-conduit
+     }:
+     mkDerivation {
+       pname = "libjenkins";
+       version = "0.8.1";
+       sha256 = "00h4wzzs6b3s9cv4bw2slj3c0ckb6p8gph7wzx8cgrxjyjqqx85z";
+       buildDepends = [
+         async attoparsec base bytestring conduit containers free
+         http-client http-conduit http-types monad-control mtl network
+         network-uri profunctors resourcet text transformers
+       ];
+       testDepends = [
+         async attoparsec base bytestring conduit containers directory
+         doctest filepath free hspec hspec-expectations-lens http-client
+         http-conduit http-types lens lifted-async lifted-base monad-control
+         mtl network network-uri profunctors resourcet text transformers
+         xml-conduit
+       ];
+       description = "Jenkins API interface";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "liblastfm" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, containers
+     , crypto-api, hspec, hspec-expectations-lens, http-client
+     , http-client-tls, HUnit, lens, lens-aeson, network-uri
+     , profunctors, pureMD5, semigroups, text, xml-conduit
+     , xml-html-conduit-lens
+     }:
+     mkDerivation {
+       pname = "liblastfm";
+       version = "0.5.1";
+       sha256 = "1bf508a1rqjb486wcwn0n36bm8lwnj3b4bg0826lp92zmaxiyxpy";
+       buildDepends = [
+         aeson base bytestring cereal containers crypto-api http-client
+         http-client-tls network-uri profunctors pureMD5 semigroups text
+         xml-conduit
+       ];
+       testDepends = [
+         aeson base bytestring cereal containers crypto-api hspec
+         hspec-expectations-lens http-client http-client-tls HUnit lens
+         lens-aeson network-uri profunctors pureMD5 text xml-conduit
+         xml-html-conduit-lens
+       ];
+       description = "Lastfm API interface";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "liblinear-enumerator" = callPackage
+    ({ mkDerivation, base, bindings-DSL, enumerator, mtl, vector }:
+     mkDerivation {
+       pname = "liblinear-enumerator";
+       version = "0.1.2";
+       sha256 = "19x0y70fn2pr06qsz4z6s67sym7dw5x3qa3z6jf3nmwncsy64qi2";
+       buildDepends = [ base bindings-DSL enumerator mtl vector ];
+       jailbreak = true;
+       homepage = "http://github.com/NathanHowell/liblinear-enumerator";
+       description = "liblinear iteratee";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "libltdl" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "libltdl";
+       version = "0.1.0.3";
+       sha256 = "05a4l841w20l4a0wmbp93bb1vc4kmnbcv7pmnym5hrrd7daj2vzr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://www.eecs.harvard.edu/~mainland/projects/libffi";
+       description = "FFI interface to libltdl";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "libmpd" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , data-default-class, filepath, hspec, mtl, network, old-locale
+     , QuickCheck, text, time, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "libmpd";
+       version = "0.9.0.2";
+       sha256 = "1q6lcp9gfzvzcsigv6958ng9c44kq68qh4amnszjjji0jq0lvdjz";
+       buildDepends = [
+         attoparsec base bytestring containers data-default-class filepath
+         mtl network old-locale text time utf8-string
+       ];
+       testDepends = [
+         attoparsec base bytestring containers data-default-class filepath
+         hspec mtl network old-locale QuickCheck text time unix utf8-string
+       ];
+       homepage = "http://github.com/vimus/libmpd-haskell#readme";
+       description = "An MPD client library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "libnotify" = callPackage
+    ({ mkDerivation, base, bytestring, glib, gtk, libnotify }:
+     mkDerivation {
+       pname = "libnotify";
+       version = "0.1.1.0";
+       sha256 = "1wc19v14agadj7dzi81lm3qzk2x33apaj5ylmg7x232k56xzfvr0";
+       buildDepends = [ base bytestring glib gtk ];
+       extraLibraries = [ libnotify ];
+       description = "Bindings to libnotify library";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) libnotify;};
+
+  "libnvvm" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, Cabal, cuda, HUnit, nvvm
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "libnvvm";
+       version = "1.0.0";
+       sha256 = "00vblp869zyk8gr33b846rnvn9axlsbldhx1gkj14xgrlyambdmx";
+       buildDepends = [ base bytestring cuda ];
+       testDepends = [
+         base bytestring Cabal HUnit test-framework test-framework-hunit
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ nvvm ];
+       homepage = "https://github.com/nvidia-compiler-sdk/hsnvvm";
+       description = "FFI binding to libNVVM, a compiler SDK component from NVIDIA";
+       license = stdenv.lib.licenses.mit;
+     }) { nvvm = null;};
+
+  "liboleg" = callPackage
+    ({ mkDerivation, base, CC-delcont, containers, mtl
+     , template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "liboleg";
+       version = "2010.1.10.0";
+       sha256 = "1lv0il1psy8bfdxc76ivc5nlwga4m475gys1g0ia3wacdksgs7a6";
+       buildDepends = [
+         base CC-delcont containers mtl template-haskell unix
+       ];
+       homepage = "http://okmij.org/ftp/";
+       description = "An evolving collection of Oleg Kiselyov's Haskell modules";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "libpq" = callPackage
+    ({ mkDerivation, base, bytestring, postgresql, unix }:
+     mkDerivation {
+       pname = "libpq";
+       version = "0.4.1";
+       sha256 = "11s8zaxq7qwzqdgyfd3v7sk6vf5cq3wzv2j02g0gnri9w45wf2i7";
+       buildDepends = [ base bytestring unix ];
+       extraLibraries = [ postgresql ];
+       homepage = "http://github.com/tnarg/haskell-libpq";
+       description = "libpq binding for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) postgresql;};
+
+  "librandomorg" = callPackage
+    ({ mkDerivation, base, bytestring, curl }:
+     mkDerivation {
+       pname = "librandomorg";
+       version = "0.0.1.0";
+       sha256 = "07xg59f48jw78mjbx83bz1rc2fxvdnlb08cdfd7hwkj43a127kxn";
+       buildDepends = [ base bytestring curl ];
+       jailbreak = true;
+       homepage = "https://github.com/supki/haskell-random.org";
+       description = "Wrapper to Random.org API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "librato" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, either
+     , http-client, http-conduit, http-types, mtl, resourcet, text
+     , unordered-containers, uri-templater, vector
+     }:
+     mkDerivation {
+       pname = "librato";
+       version = "0.2.0.1";
+       sha256 = "1l0q8kx0v563glplz5blg5scnvwf1aak04w08abxkrbfdjq6a8z4";
+       buildDepends = [
+         aeson attoparsec base bytestring either http-client http-conduit
+         http-types mtl resourcet text unordered-containers uri-templater
+         vector
+       ];
+       homepage = "https://github.com/SaneTracker/librato";
+       description = "Bindings to the Librato API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "libssh2" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, libssh2, network, ssh2
+     , syb, time
+     }:
+     mkDerivation {
+       pname = "libssh2";
+       version = "0.2.0.3";
+       sha256 = "0xfdhszz4j98spmzwxwcjnm3kzjkg76bwszmky0lmx9zmqirzakw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring network syb time ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ ssh2 ];
+       pkgconfigDepends = [ libssh2 ];
+       homepage = "https://github.com/portnov/libssh2-hs";
+       description = "FFI bindings to libssh2 SSH2 client library (http://libssh2.org/)";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libssh2;  ssh2 = null;};
+
+  "libssh2-conduit" = callPackage
+    ({ mkDerivation, base, conduit, libssh2, monad-control, stm
+     , transformers
+     }:
+     mkDerivation {
+       pname = "libssh2-conduit";
+       version = "0.1";
+       sha256 = "1zpcj6qwc4kpdcgdqlzspzwz99a990f3r5wpl13l54j8c1g0kc8h";
+       buildDepends = [
+         base conduit libssh2 monad-control stm transformers
+       ];
+       homepage = "http://redmine.iportnov.ru/projects/libssh2-hs";
+       description = "Conduit wrappers for libssh2 FFI bindings (see libssh2 package)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "libstackexchange" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , data-default, http-conduit, profunctors, text
+     }:
+     mkDerivation {
+       pname = "libstackexchange";
+       version = "0.3.0.0";
+       sha256 = "00v8hmk67dsb0j1bncc06fh46jkz4raf5a796l223mg6x0l3a828";
+       buildDepends = [
+         aeson attoparsec base bytestring containers data-default
+         http-conduit profunctors text
+       ];
+       homepage = "https://github.com/supki/libstackexchange";
+       description = "StackExchange API interface";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "libsystemd-daemon" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, libsystemd-daemon
+     , network, systemd-daemon, test-framework, test-framework-hunit
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "libsystemd-daemon";
+       version = "0.1.0.1";
+       sha256 = "1rmzyca7ry30d6wvhv3k30jaksa3iw8kzk1rwp6gwclxizsvwgf0";
+       buildDepends = [ base bytestring network utf8-string ];
+       testDepends = [
+         base HUnit network test-framework test-framework-hunit
+       ];
+       extraLibraries = [ systemd-daemon ];
+       pkgconfigDepends = [ libsystemd-daemon ];
+       description = "Haskell bindings for libsystemd-daemon";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { libsystemd-daemon = null;  systemd-daemon = null;};
+
+  "libsystemd-journal" = callPackage
+    ({ mkDerivation, base, bytestring, hashable, hsyslog, pipes
+     , pipes-safe, systemd, text, transformers, uniplate
+     , unix-bytestring, unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "libsystemd-journal";
+       version = "1.3.1";
+       sha256 = "1i66w6dhycvi3d0vnws91mc0k9v46qr0zpc35yliv1paipm1s51a";
+       buildDepends = [
+         base bytestring hashable hsyslog pipes pipes-safe text transformers
+         uniplate unix-bytestring unordered-containers uuid vector
+       ];
+       pkgconfigDepends = [ systemd ];
+       homepage = "http://github.com/ocharles/libsystemd-journal";
+       description = "Haskell bindings to libsystemd-journal";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) systemd;};
+
+  "libtagc" = callPackage
+    ({ mkDerivation, base, bytestring, glib, taglib }:
+     mkDerivation {
+       pname = "libtagc";
+       version = "0.12.0";
+       sha256 = "1f7r82cfrkxrqcrxk92y6zhk79qwpack2g67crww5q8hs7438vja";
+       buildDepends = [ base bytestring glib ];
+       extraLibraries = [ taglib ];
+       pkgconfigDepends = [ taglib ];
+       jailbreak = true;
+       homepage = "https://patch-tag.com/r/AndyStewart/libtagc/home";
+       description = "Binding to TagLib C library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) taglib;};
+
+  "libvirt-hs" = callPackage
+    ({ mkDerivation, base, c2hs, syb, virt }:
+     mkDerivation {
+       pname = "libvirt-hs";
+       version = "0.1";
+       sha256 = "0fgxvzzfw52s4hs838l0sr6lxln4bhqqhzzy6grww2fs27gjpb4c";
+       buildDepends = [ base syb ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ virt ];
+       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;
+     }) { virt = null;};
+
+  "libvorbis" = callPackage
+    ({ mkDerivation, base, bytestring, cpu }:
+     mkDerivation {
+       pname = "libvorbis";
+       version = "0.1.0.0";
+       sha256 = "1rl8hqbidxj34j3m8nwy32a9fnbzand726zvyljkgpjfkg1mfb2c";
+       buildDepends = [ base bytestring cpu ];
+       homepage = "https://github.com/the-real-blackh/libvorbis";
+       description = "Haskell binding for libvorbis, for decoding Ogg Vorbis audio files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "libxml" = callPackage
+    ({ mkDerivation, base, bytestring, libxml2, mtl }:
+     mkDerivation {
+       pname = "libxml";
+       version = "0.1.1";
+       sha256 = "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi";
+       buildDepends = [ base bytestring mtl ];
+       extraLibraries = [ libxml2 ];
+       description = "Binding to libxml2";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libxml2;};
+
+  "libxml-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, libxml-sax, text
+     , transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "libxml-enumerator";
+       version = "0.5";
+       sha256 = "0mqh454w1f3k75kcshdn848ynva938q6xm3a5yzcyf7nflzw75pg";
+       buildDepends = [
+         base bytestring enumerator libxml-sax text transformers xml-types
+       ];
+       jailbreak = true;
+       homepage = "http://john-millikin.com/software/libxml-enumerator/";
+       description = "Enumerator-based API for libXML's SAX interface";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "libxml-sax" = callPackage
+    ({ mkDerivation, base, bytestring, libxml2, text, xml-types }:
+     mkDerivation {
+       pname = "libxml-sax";
+       version = "0.7.5";
+       sha256 = "0lbdq6lmiyrnzk6gkx09vvp928wj8qnqnqfzy14mfv0drj21f54r";
+       buildDepends = [ base bytestring text xml-types ];
+       extraLibraries = [ libxml2 ];
+       pkgconfigDepends = [ libxml2 ];
+       homepage = "https://john-millikin.com/software/haskell-libxml/";
+       description = "Bindings for the libXML2 SAX interface";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) libxml2;};
+
+  "libxslt" = callPackage
+    ({ mkDerivation, base, bytestring, libxml, xslt }:
+     mkDerivation {
+       pname = "libxslt";
+       version = "0.1";
+       sha256 = "1szz8zkm1w8dbfgix3ii896sc4vljgivcgx8j7vpny4ci9sfmn5a";
+       buildDepends = [ base bytestring libxml ];
+       extraLibraries = [ xslt ];
+       jailbreak = true;
+       description = "Binding to libxslt";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { xslt = null;};
+
+  "life" = callPackage
+    ({ mkDerivation, array, base, GLUT, OpenGL, random }:
+     mkDerivation {
+       pname = "life";
+       version = "0.1";
+       sha256 = "0drsv1d0318yr7a0aa2j6kvsiyl8jj8h4z6wpdnrcyxw6z4qlssq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base GLUT OpenGL random ];
+       homepage = "http://github.com/sproingie/haskell-cells/";
+       description = "Conway's Life cellular automaton";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lifted-async" = callPackage
+    ({ mkDerivation, async, base, constraints, HUnit, lifted-base
+     , monad-control, mtl, tasty, tasty-hunit, tasty-th
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "lifted-async";
+       version = "0.7.0";
+       sha256 = "1i9wm7pz8mh0gjyp7jhf3as82yi1axskv1mp5596gq7pszgglyd6";
+       buildDepends = [
+         async base constraints lifted-base monad-control transformers-base
+       ];
+       testDepends = [
+         async base HUnit lifted-base monad-control mtl tasty tasty-hunit
+         tasty-th
+       ];
+       homepage = "https://github.com/maoe/lifted-async";
+       description = "Run lifted IO operations asynchronously and wait for their results";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lifted-base" = callPackage
+    ({ mkDerivation, base, HUnit, monad-control, test-framework
+     , test-framework-hunit, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "lifted-base";
+       version = "0.2.3.6";
+       sha256 = "1yz14a1rsgknwyl08n4kxrlc26hfwmb95a3c2drbnsgmhdyq7iap";
+       buildDepends = [ base monad-control transformers-base ];
+       testDepends = [
+         base HUnit monad-control test-framework test-framework-hunit
+         transformers transformers-base transformers-compat
+       ];
+       homepage = "https://github.com/basvandijk/lifted-base";
+       description = "lifted IO operations from the base library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lifted-threads" = callPackage
+    ({ mkDerivation, base, monad-control, threads, transformers-base }:
+     mkDerivation {
+       pname = "lifted-threads";
+       version = "1.0";
+       sha256 = "1sq071bn5z8ks2qj52bfx6n8bdx2chijh62ai3rz6lmjai6dazbz";
+       buildDepends = [ base monad-control threads transformers-base ];
+       homepage = "https://github.com/scrive/lifted-threads";
+       description = "lifted IO operations from the threads library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lifter" = callPackage
+    ({ mkDerivation, array, base, bitmap, bytestring, directory
+     , filepath, gloss, mtl, stb-image
+     }:
+     mkDerivation {
+       pname = "lifter";
+       version = "0.1";
+       sha256 = "11c0j2mdrp4rvinl4iym9mfsqzh101yb5sf710vm8n7qih1fzcpc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bitmap bytestring directory filepath gloss mtl stb-image
+       ];
+       homepage = "http://icfpcontest2012.wordpress.com/";
+       description = "A boulderdash-like game and solution validator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ligature" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "ligature";
+       version = "0.1.0.0";
+       sha256 = "03h30lbhppi9hmpsc8fhsrsad6w9sjs9n53lz76czz3iqaknkcrb";
+       buildDepends = [ base text ];
+       jailbreak = true;
+       description = "Expand ligatures in unicode text";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ligd" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ligd";
+       version = "0.2";
+       sha256 = "1hxfx514ar9hr9gqzzdgd7avfvlsvr7lv6hgza5k04b2xm73ysrp";
+       buildDepends = [ base ];
+       homepage = "https://github.com/spl/ligd";
+       description = "Lightweight Implementation of Generics and Dynamics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lighttpd-conf" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, happy, packedstring
+     , pretty, template-haskell
+     }:
+     mkDerivation {
+       pname = "lighttpd-conf";
+       version = "0.4";
+       sha256 = "085msb62wpqyc1sp4zbwbyn70k48p9k9cky9rxn93xm0gjsaydf8";
+       buildDepends = [
+         array base bytestring packedstring pretty template-haskell
+       ];
+       buildTools = [ alex happy ];
+       description = "Lighttpd configuration file tools";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lighttpd-conf-qq" = callPackage
+    ({ mkDerivation, array, base, bytestring, haskell-src-exts
+     , lighttpd-conf, template-haskell
+     }:
+     mkDerivation {
+       pname = "lighttpd-conf-qq";
+       version = "0.5";
+       sha256 = "1nd30inhh6wzq34rg76lq6m3wp0x3sc0l7jv37gw6dk3dnkwqh6q";
+       buildDepends = [
+         array base bytestring haskell-src-exts lighttpd-conf
+         template-haskell
+       ];
+       description = "A QuasiQuoter for lighttpd configuration files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lilypond" = callPackage
+    ({ mkDerivation, base, data-default, music-dynamics-literal
+     , music-pitch-literal, prettify, process, semigroups, vector-space
+     }:
+     mkDerivation {
+       pname = "lilypond";
+       version = "1.8.1";
+       sha256 = "0y60i1rsl6rzdvbx2jj3y660bqlsz6dywwxq8nl4q1g6gr2k97fd";
+       buildDepends = [
+         base data-default music-dynamics-literal music-pitch-literal
+         prettify process semigroups vector-space
+       ];
+       jailbreak = true;
+       description = "Bindings to Lilypond";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "limp" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, tasty
+     , tasty-quickcheck, tasty-th
+     }:
+     mkDerivation {
+       pname = "limp";
+       version = "0.3.2.0";
+       sha256 = "0shc69jlzmn8b2pxdfav9lk9cbhxpd1cmsr36rwgyvyn5shiijy1";
+       buildDepends = [ base containers ];
+       testDepends = [
+         base containers QuickCheck tasty tasty-quickcheck tasty-th
+       ];
+       homepage = "https://github.com/amosr/limp";
+       description = "representation of Integer Linear Programs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "limp-cbc" = callPackage
+    ({ mkDerivation, base, c2hs, containers, limp, vector }:
+     mkDerivation {
+       pname = "limp-cbc";
+       version = "0.3.2.0";
+       sha256 = "10cm2vwbjyzqpq2ras8viza0vy0r0hgrm84landlcgkbhfj71l79";
+       buildDepends = [ base containers limp vector ];
+       testDepends = [ base limp ];
+       buildTools = [ c2hs ];
+       homepage = "https://github.com/amosr/limp-cbc";
+       description = "bindings for integer linear programming solver Coin/CBC";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lin-alg" = callPackage
+    ({ mkDerivation, base, NumInstances, vector }:
+     mkDerivation {
+       pname = "lin-alg";
+       version = "0.1.0.2";
+       sha256 = "19123k967mql69my6c19mnvp4qwa4b3bgimmlbhipqdljykj7pqc";
+       buildDepends = [ base NumInstances vector ];
+       description = "Low-dimensional matrices and vectors for graphics and physics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linda" = callPackage
+    ({ mkDerivation, base, hmatrix, HUnit }:
+     mkDerivation {
+       pname = "linda";
+       version = "0.1.2";
+       sha256 = "0d58i69hvry9vzr4i7f1yhhm99808vqw238hfjc3sr51plc1is45";
+       buildDepends = [ base hmatrix HUnit ];
+       description = "LINear Discriminant Analysis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "line2pdf" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "line2pdf";
+       version = "0.0.7";
+       sha256 = "0x8kbjjd9i6gp0agdfsfgicj2z1g4jwj7axj4hq01c31wrzb6g95";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers ];
+       description = "Simple command-line utility to convert text into PDF";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linear" = callPackage
+    ({ mkDerivation, adjunctions, base, binary, bytes, bytestring
+     , cereal, containers, deepseq, directory, distributive, doctest
+     , filepath, ghc-prim, hashable, HUnit, lens, reflection
+     , semigroupoids, semigroups, simple-reflect, tagged
+     , template-haskell, test-framework, test-framework-hunit
+     , transformers, transformers-compat, unordered-containers, vector
+     , void
+     }:
+     mkDerivation {
+       pname = "linear";
+       version = "1.18.0.1";
+       sha256 = "06gbrmr7yv9s6la14g22lwqfjyfr0xrlmkrffizy4n01xknmkbig";
+       buildDepends = [
+         adjunctions base binary bytes cereal containers deepseq
+         distributive ghc-prim hashable lens reflection semigroupoids
+         semigroups tagged template-haskell transformers transformers-compat
+         unordered-containers vector void
+       ];
+       testDepends = [
+         base binary bytestring directory doctest filepath HUnit lens
+         simple-reflect test-framework test-framework-hunit
+       ];
+       homepage = "http://github.com/ekmett/linear/";
+       description = "Linear Algebra";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linear-accelerate" = callPackage
+    ({ mkDerivation, accelerate, base, lens, linear }:
+     mkDerivation {
+       pname = "linear-accelerate";
+       version = "0.2";
+       sha256 = "0433mzw2cswk86nmj3gnygn3d07yq0sbmv2ylxbw8ri35yddjap6";
+       buildDepends = [ accelerate base lens linear ];
+       homepage = "http://github.com/ekmett/linear-accelerate/";
+       description = "Instances to use linear vector spaces on accelerate backends";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linear-algebra-cblas" = callPackage
+    ({ mkDerivation, base, ieee754, QuickCheck, storable-complex
+     , test-framework, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "linear-algebra-cblas";
+       version = "0.1";
+       sha256 = "1wsan17zrlg4kr9dwk23ggfvylignnmg4sa62krri45s925kvh3i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base ieee754 QuickCheck storable-complex test-framework
+         test-framework-quickcheck2 vector
+       ];
+       homepage = "http://github.com/cartazio/hs-cblas";
+       description = "A linear algebra library with bindings to BLAS and LAPACK";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "linear-maps" = callPackage
+    ({ mkDerivation, base, containers, HUnit }:
+     mkDerivation {
+       pname = "linear-maps";
+       version = "0.6.1";
+       sha256 = "0671px94wvqg2yyc8qhjcwrv5k2ifwp5mrj7fkcwlwvg8w1bp19k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers HUnit ];
+       jailbreak = true;
+       description = "Finite maps for linear use";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "linear-opengl" = callPackage
+    ({ mkDerivation, base, distributive, lens, linear, OpenGL
+     , OpenGLRaw, tagged
+     }:
+     mkDerivation {
+       pname = "linear-opengl";
+       version = "0.2.0.7";
+       sha256 = "0yj98757d6z1bh3mqajn58ax2iaxnf2nl68wvbjv2pncwfn679m6";
+       buildDepends = [
+         base distributive lens linear OpenGL OpenGLRaw tagged
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/bgamari/linear-opengl";
+       description = "Isomorphisms between linear and OpenGL types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linear-vect" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "linear-vect";
+       version = "0.1.1.0";
+       sha256 = "0i6z10pgqcykkygl6kq63phx5hvwi2d84j2f5vw4nrnic59sm9jy";
+       buildDepends = [ base random ];
+       jailbreak = true;
+       homepage = "https://github.com/capsjac/linear-vect";
+       description = "A low-dimensional linear algebra library, operating on the Num typeclass";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linearEqSolver" = callPackage
+    ({ mkDerivation, base, sbv }:
+     mkDerivation {
+       pname = "linearEqSolver";
+       version = "1.3";
+       sha256 = "0bszi1k27ag4yk31zxkn3jk3cqh1xzdcscm4nb6k4n0psf0qm2rp";
+       buildDepends = [ base sbv ];
+       homepage = "http://github.com/LeventErkok/linearEqSolver";
+       description = "Use SMT solvers to solve linear systems over integers and rationals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linearscan" = callPackage
+    ({ mkDerivation, base, containers, mtl, transformers }:
+     mkDerivation {
+       pname = "linearscan";
+       version = "0.4.0.0";
+       sha256 = "170dppl4hgfrxpqix19a7nf1dv46wc46s797h8ppa2j0xvcdf4xs";
+       buildDepends = [ base containers mtl transformers ];
+       homepage = "http://github.com/jwiegley/linearscan";
+       description = "Linear scan register allocator, formally verified in Coq";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linearscan-hoopl" = callPackage
+    ({ mkDerivation, base, containers, free, hoopl, hspec
+     , hspec-expectations, lens-family-core, linearscan, transformers
+     }:
+     mkDerivation {
+       pname = "linearscan-hoopl";
+       version = "0.4.0.1";
+       sha256 = "0b8p1ij5rsap4z7cfs5byrn2ixm997ppl3z41m82kmk1vzsj04my";
+       buildDepends = [
+         base containers free hoopl linearscan transformers
+       ];
+       testDepends = [
+         base containers hoopl hspec hspec-expectations lens-family-core
+         linearscan transformers
+       ];
+       homepage = "http://github.com/jwiegley/linearscan-hoopl";
+       description = "Makes it easy to use the linearscan register allocator with Hoopl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linebreak" = callPackage
+    ({ mkDerivation, base, hyphenation }:
+     mkDerivation {
+       pname = "linebreak";
+       version = "1.0.0.3";
+       sha256 = "1fds2mgsijfsc96dq95skn562iv2r341zr7v0qsz48y9fh97s3p7";
+       buildDepends = [ base hyphenation ];
+       homepage = "http://ariis.it/static/articles/linebreak/page.html";
+       description = "breaks strings to fit width";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linguistic-ordinals" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "linguistic-ordinals";
+       version = "0.1.0.0";
+       sha256 = "0adcdxf0lxc372j12fk87klyrgr3b42sas6f1smiyza4wicjp9h3";
+       buildDepends = [ base text ];
+       homepage = "http://github.com/argiopetech/linguistic-ordinals";
+       description = "Express Integral types as linguistic ordinals (1st, 2nd, 3rd, etc)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linkchk" = callPackage
+    ({ mkDerivation, base, gtk, haskell98, popenhs, regex-compat, unix
+     }:
+     mkDerivation {
+       pname = "linkchk";
+       version = "0.0.2";
+       sha256 = "0fzszn8nb5kglg4s5hk9k51vdkarlc08bdp67rbrj0cwfxpkn6wd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gtk haskell98 popenhs regex-compat unix ];
+       homepage = "http://www.haskell.org/~petersen/haskell/linkchk/";
+       description = "linkchk is a network interface link ping monitor";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "linkcore" = callPackage
+    ({ mkDerivation, base, containers, extcore, filepath, process }:
+     mkDerivation {
+       pname = "linkcore";
+       version = "0.4.1";
+       sha256 = "0m1jwqa3vbiyzcdrn1h63dm0709j5xijm00j2x7dpwgn8k92iq81";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers extcore filepath process ];
+       description = "Combines multiple GHC Core modules into a single module";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "linkedhashmap" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable, mtl, tasty
+     , tasty-hunit, unordered-containers
+     }:
+     mkDerivation {
+       pname = "linkedhashmap";
+       version = "0.4.0.0";
+       sha256 = "1bv39g9vivr3j8arnpla39dhnwaja5l9da2yw580pzmw5bqi0wyq";
+       buildDepends = [
+         base containers deepseq hashable unordered-containers
+       ];
+       testDepends = [
+         base containers deepseq hashable mtl tasty tasty-hunit
+         unordered-containers
+       ];
+       homepage = "https://github.com/abasko/linkedhashmap";
+       description = "Persistent LinkedHashMap data structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linklater" = callPackage
+    ({ mkDerivation, aeson, base, base-prelude, bytestring, containers
+     , http-types, text, wai, wreq
+     }:
+     mkDerivation {
+       pname = "linklater";
+       version = "3.1.0.0";
+       sha256 = "0mvmlq1nl428syc013hif07rssvya7wxkr44rs58rjn2zsxhhlqq";
+       buildDepends = [
+         aeson base base-prelude bytestring containers http-types text wai
+         wreq
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/hlian/linklater";
+       description = "The fast and fun way to write Slack.com bots";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linux-blkid" = callPackage
+    ({ mkDerivation, base, blkid, monad-control, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "linux-blkid";
+       version = "0.2.0.0";
+       sha256 = "06f7zwb40zgps6503cyp65c68181gj3s9q1s6vh43y6najiimzqx";
+       buildDepends = [
+         base monad-control transformers transformers-base
+       ];
+       pkgconfigDepends = [ blkid ];
+       jailbreak = true;
+       description = "Linux libblkid";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { blkid = null;};
+
+  "linux-cgroup" = callPackage
+    ({ mkDerivation, base, filepath }:
+     mkDerivation {
+       pname = "linux-cgroup";
+       version = "0.1.1.2";
+       sha256 = "0dd1ii1n6y9frilnkxikzahp9xrh3i334i7syvd8fyxp51dpzgy1";
+       buildDepends = [ base filepath ];
+       jailbreak = true;
+       description = "Very basic interface to the Linux CGroup Virtual Filesystem";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "linux-evdev" = callPackage
+    ({ mkDerivation, base, bytestring, time, unix }:
+     mkDerivation {
+       pname = "linux-evdev";
+       version = "0.3.1";
+       sha256 = "1zx5m0446rkbbj43m1f110a7jvl7vd7wkhikqql608a0jzqr7bk0";
+       buildDepends = [ base bytestring time unix ];
+       homepage = "http://github.com/bgamari/linux-evdev";
+       description = "Bindings to Linux evdev input device interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linux-file-extents" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "linux-file-extents";
+       version = "0.2.0.0";
+       sha256 = "1l4vznam1a8vf3nixhbmw38rpzkvmbka0cbdfdsgfrpn03kxjz3c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base unix ];
+       homepage = "https://github.com/redneb/linux-file-extents";
+       description = "Retrieve file fragmentation information under Linux";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linux-inotify" = callPackage
+    ({ mkDerivation, base, bytestring, hashable, unix }:
+     mkDerivation {
+       pname = "linux-inotify";
+       version = "0.2.0.1";
+       sha256 = "1970v1zkbp45amylmg79bbdfhk8kg6vzxjznd76gfl5kff2cv12r";
+       buildDepends = [ base bytestring hashable unix ];
+       description = "Thinner binding to the Linux Kernel's inotify interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linux-kmod" = callPackage
+    ({ mkDerivation, base, directory, libkmod }:
+     mkDerivation {
+       pname = "linux-kmod";
+       version = "0.1.0.1";
+       sha256 = "1vqbibp93fw6r03v5q2cisya6m12xb12rad11myxrkbn29rjmhws";
+       buildDepends = [ base directory ];
+       pkgconfigDepends = [ libkmod ];
+       homepage = "https://github.com/tensor5/linux-kmod";
+       description = "Linux kernel modules support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { libkmod = null;};
+
+  "linux-mount" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "linux-mount";
+       version = "0.2.0.1";
+       sha256 = "12bwrniaxg6gm347jdgbf535pdz4z57pkyiwa98c903y9q9ssnyi";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/tensor5/linux-mount";
+       description = "Mount and unmount filesystems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linux-namespaces" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "linux-namespaces";
+       version = "0.1.2.0";
+       sha256 = "0yznnp9rdz15drm79pvbqbrbk2nczbkmlf00pb7rki7w1l9njp2q";
+       buildDepends = [ base unix ];
+       homepage = "https://github.com/redneb/hs-linux-namespaces";
+       description = "Create new or enter an existing linux namespaces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linux-perf" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, ghc-events, mtl, pretty, process, unix
+     }:
+     mkDerivation {
+       pname = "linux-perf";
+       version = "0.3";
+       sha256 = "18akjagbqw2fswrnp4ifzivwdwsbny28kvnm0hfc1ysyy9id8511";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory filepath ghc-events mtl
+         pretty process unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bjpop/haskell-linux-perf";
+       description = "Read files generated by perf on Linux";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linux-ptrace" = callPackage
+    ({ mkDerivation, base, bytestring, mmap, posix-waitpid, process
+     , template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "linux-ptrace";
+       version = "0.1.2";
+       sha256 = "0hzniy9vlycbsqkrr9xxdgnx070h5v6jz4gqx7rc60a3q0hqn43m";
+       buildDepends = [
+         base bytestring mmap posix-waitpid process template-haskell unix
+       ];
+       jailbreak = true;
+       description = "Wrapping of Linux' ptrace(2)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "linux-xattr" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "linux-xattr";
+       version = "0.1.1.0";
+       sha256 = "0rpq5sm557gm227id2rfsffgr47lrj4d4kpzh194d74dx2qkg5g6";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/tensor5/linux-xattr";
+       description = "Read, set and list extended attributes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "linx-gateway" = callPackage
+    ({ mkDerivation, base, binary, bytestring, network, QuickCheck
+     , test-framework, test-framework-quickcheck2, time
+     }:
+     mkDerivation {
+       pname = "linx-gateway";
+       version = "0.1.0.2";
+       sha256 = "0diacwvxpq2iyfzlcmdqrbfndhmlmgzq9hvxlyp12idlzwa9p1cq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring network time ];
+       testDepends = [
+         base binary bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/kosmoskatten/linx-gateway";
+       description = "Implementation of the Enea LINX gateway protocol";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lio" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hashable }:
+     mkDerivation {
+       pname = "lio";
+       version = "0.11.5.0";
+       sha256 = "10miy18x1898dcq58bnk0md3ymw9ckh9j26grsr6w3jqnvw69712";
+       buildDepends = [ base bytestring containers hashable ];
+       description = "Labeled IO Information Flow Control Library";
+       license = "GPL";
+     }) {};
+
+  "lio-eci11" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, dclabel-eci11
+     , directory, filepath, mtl, old-time, SHA, time, unix
+     }:
+     mkDerivation {
+       pname = "lio-eci11";
+       version = "0.2";
+       sha256 = "11vl27kn0wdxndkwn3yvxd6kg9jv0lilxpvx2hkax37lq3x15rc8";
+       buildDepends = [
+         array base bytestring containers dclabel-eci11 directory filepath
+         mtl old-time SHA time unix
+       ];
+       description = "Labeled IO library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lio-fs" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , lio, SHA, unix, xattr
+     }:
+     mkDerivation {
+       pname = "lio-fs";
+       version = "0.0.1.2";
+       sha256 = "1zzxsr0kg3bxm2wzhsqw2irk5myzshgqhr3fxi062hzw2rh0nqn9";
+       buildDepends = [
+         base bytestring containers directory filepath lio SHA unix xattr
+       ];
+       description = "Labeled File System interface for LIO";
+       license = "GPL";
+     }) {};
+
+  "lio-simple" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, cmdargs, conduit, directory, filepath, http-types
+     , lio, simple, simple-templates, text, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "lio-simple";
+       version = "0.0.2.2";
+       sha256 = "1nddiakk6b9biay6ijnc48dxcfgpi9vx4g6a8r9vz6cjh6mh0154";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base base64-bytestring bytestring cmdargs conduit
+         directory filepath http-types lio simple simple-templates text wai
+         wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "http://simple.cx";
+       description = "LIO support for the Simple web framework";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lipsum-gen" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "lipsum-gen";
+       version = "0.1.0.2";
+       sha256 = "07bkxv6cmjf75jy31gbzs4nkjlynhkg8qv2idl71xilgzpnalk3c";
+       buildDepends = [ base QuickCheck ];
+       description = "Generators for random sequences of English-like nonsense text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "liquid-fixpoint" = callPackage
+    ({ mkDerivation, ansi-terminal, array, attoparsec, base, bifunctors
+     , bytestring, cmdargs, containers, deepseq, directory, filemanip
+     , filepath, ghc-prim, hashable, intern, mtl, ocaml, parsec, pretty
+     , process, syb, text, text-format, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "liquid-fixpoint";
+       version = "0.2.3.2";
+       sha256 = "0gm2cy4a1l6kh65cwj3ssv9r9ry4nk2sjr3cqhkp5i7mhmpc6q58";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal array attoparsec base bifunctors bytestring cmdargs
+         containers deepseq directory filemanip filepath ghc-prim hashable
+         intern mtl parsec pretty process syb text text-format transformers
+         unordered-containers
+       ];
+       buildTools = [ ocaml ];
+       configureFlags = [ "-fbuild-external" ];
+       homepage = "https://github.com/ucsd-progsys/liquid-fixpoint";
+       description = "Predicate Abstraction-based Horn-Clause/Implication Constraint Solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) ocaml;};
+
+  "liquidhaskell" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, array, base, bifunctors
+     , bytestring, cmdargs, containers, cpphs, data-default, deepseq
+     , Diff, directory, filemanip, filepath, fingertree, ghc, ghc-paths
+     , hashable, hpc, hscolour, intern, liquid-fixpoint, mtl
+     , optparse-applicative, parsec, pretty, process, syb, tagged, tasty
+     , tasty-hunit, tasty-rerun, template-haskell, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "liquidhaskell";
+       version = "0.3.1.0";
+       sha256 = "0dcrgbwchssp62n8ywkdfa70dvx186338s3gyyj7rlfvxilfqc7k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-terminal array base bifunctors bytestring cmdargs
+         containers cpphs data-default deepseq Diff directory filemanip
+         filepath fingertree ghc ghc-paths hashable hpc hscolour intern
+         liquid-fixpoint mtl parsec pretty process syb template-haskell text
+         time unordered-containers vector
+       ];
+       testDepends = [
+         base directory filepath optparse-applicative process tagged tasty
+         tasty-hunit tasty-rerun
+       ];
+       doCheck = false;
+       homepage = "http://goto.ucsd.edu/liquidhaskell";
+       description = "Liquid Types for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lispparser" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "lispparser";
+       version = "0.3.1";
+       sha256 = "1hj5fwmzxp2gw2gx86wa1fy36jmmh3sf8kd4acc8x0rghpmlw0w8";
+       buildDepends = [ base parsec ];
+       description = "Simple parser for LISP S-expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "list-extras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "list-extras";
+       version = "0.4.1.3";
+       sha256 = "16w10xgh2y76q8aj5pgw4zq5p2phjzf5g1bmkacrm8gbwkp4v71s";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Common not-so-common functions for lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "list-fusion-probe" = callPackage
+    ({ mkDerivation, base, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "list-fusion-probe";
+       version = "0.1.0.3";
+       sha256 = "1djmh6bwnmp64vwq5f5j4f54ygrjkl56gp0la06yxknyvyn9k8jp";
+       buildDepends = [ base ];
+       testDepends = [ base tasty tasty-hunit ];
+       description = "testing list fusion for success";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "list-grouping" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "list-grouping";
+       version = "0.1.1";
+       sha256 = "0w9f68cr4k0p8zl81y8ax19i6ypzks0y27hdlz71wwmgn5v2y63l";
+       buildDepends = [ base ];
+       homepage = "http://coder.bsimmons.name/blog/2009/08/list-grouping-module-released/";
+       description = "Functions for grouping a list into sublists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "list-mux" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "list-mux";
+       version = "1.0";
+       sha256 = "147zb156g79a5p1w0b9vcvjy5x7nsrhng5rgjqq3cy3xpbam4nys";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://github.com/hellertime/list-mux";
+       description = "List Multiplexing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "list-remote-forwards" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, configurator
+     , containers, directory, dns, doctest, filemanip, filepath, HDBC
+     , HDBC-postgresql, HDBC-sqlite3, MissingH, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "list-remote-forwards";
+       version = "0.0.1";
+       sha256 = "1bq5244ys4xy3pfj72dq399x0g57q41lrllbd5hgvk9z0j92lxys";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs configurator containers directory dns
+         filepath HDBC HDBC-postgresql HDBC-sqlite3 MissingH tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       testDepends = [
+         base bytestring cmdargs configurator containers directory dns
+         doctest filemanip filepath HDBC HDBC-postgresql HDBC-sqlite3
+         MissingH tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "List all remote forwards for mail accounts stored in a SQL database";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "list-t" = callPackage
+    ({ mkDerivation, base-prelude, HTF, mmorph, monad-control
+     , mtl-prelude, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "list-t";
+       version = "0.4.3";
+       sha256 = "0di3w397cib37snazjvqgfsaapcwa136xcn032p5f5s5njkn3sid";
+       buildDepends = [
+         base-prelude mmorph monad-control transformers transformers-base
+       ];
+       testDepends = [ base-prelude HTF mmorph mtl-prelude ];
+       homepage = "https://github.com/nikita-volkov/list-t";
+       description = "ListT done right";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "list-tries" = callPackage
+    ({ mkDerivation, base, binary, containers, dlist }:
+     mkDerivation {
+       pname = "list-tries";
+       version = "0.6.1";
+       sha256 = "06li8zwhy3i3shgqrq4505af1b1dz9xpzx2lpx2has4p79bgd1mq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary containers dlist ];
+       homepage = "http://iki.fi/matti.niemenmaa/list-tries/";
+       description = "Tries and Patricia tries: finite sets and maps for list keys";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "listlike-instances" = callPackage
+    ({ mkDerivation, base, bytestring, ListLike, text, vector }:
+     mkDerivation {
+       pname = "listlike-instances";
+       version = "0.2.3.1";
+       sha256 = "0mkhnqn7wxspzxvivhaksxmxp7d6x9bazhl28nl9gck56bpa90sm";
+       buildDepends = [ base bytestring ListLike text vector ];
+       jailbreak = true;
+       homepage = "http://jwlato.webfactional.com/haskell/listlike-instances";
+       description = "Extra instances of the ListLike class";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lists" = callPackage
+    ({ mkDerivation, base, list-extras, split }:
+     mkDerivation {
+       pname = "lists";
+       version = "0.4.2";
+       sha256 = "0qjziksh6gl6v8rzvqajkcbakbby5j3i4z2jk6w6zs89b93rwnln";
+       buildDepends = [ base list-extras split ];
+       description = "Functions for dealing with lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "listsafe" = callPackage
+    ({ mkDerivation, base, exceptions }:
+     mkDerivation {
+       pname = "listsafe";
+       version = "0.1.0.0";
+       sha256 = "0mkyhanay0zr318cc01wgp4qxwpqj1wzydqlq7c12hbfrjb1ah4b";
+       buildDepends = [ base exceptions ];
+       jailbreak = true;
+       homepage = "https://github.com/ombocomp/listsafe";
+       description = "Safe wrappers for partial list functions, supporting MonadThrow";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "lit" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, cheapskate
+     , directory, filepath, highlighting-kate, parsec, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "lit";
+       version = "0.1.0.5";
+       sha256 = "0xnbifi0g1kmxi88l9f77ypkgmdvhi69vy3fycbxwn926gc12v1r";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html blaze-markup cheapskate directory filepath
+         highlighting-kate parsec text time unordered-containers
+       ];
+       homepage = "https://github.com/cdosborn/lit";
+       description = "A simple tool for literate programming";
+       license = "GPL";
+     }) {};
+
+  "literals" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "literals";
+       version = "1.0";
+       sha256 = "06n4svp0qss78l8827qmppmd63877wq01d6w9xagd10vn3c4hs2j";
+       buildDepends = [ base ];
+       description = "Non-overloaded functions for concrete literals";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "live-sequencer" = callPackage
+    ({ mkDerivation, alsa-core, alsa-seq, base, bytestring, cgi
+     , concurrent-split, containers, data-accessor
+     , data-accessor-transformers, directory, event-list
+     , explicit-exception, filepath, html, httpd-shed, midi, midi-alsa
+     , network, non-empty, non-negative, parsec, pretty, process, stm
+     , stm-split, strict, transformers, unix, utility-ht, wx, wxcore
+     }:
+     mkDerivation {
+       pname = "live-sequencer";
+       version = "0.0.4";
+       sha256 = "04n8s2p772ylzfjpclbrq01im0j9rlp0xd37i8jshll7r51iz66l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         alsa-core alsa-seq base bytestring cgi concurrent-split containers
+         data-accessor data-accessor-transformers directory event-list
+         explicit-exception filepath html httpd-shed midi midi-alsa network
+         non-empty non-negative parsec pretty process stm stm-split strict
+         transformers unix utility-ht wx wxcore
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Live-Sequencer";
+       description = "Live coding of MIDI music";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ll-picosat" = callPackage
+    ({ mkDerivation, base, picosat }:
+     mkDerivation {
+       pname = "ll-picosat";
+       version = "0.1.0.0";
+       sha256 = "0393ccnlink30492aw1gyv4jzd7rsckd8ymkm1wgbpma13vkf67h";
+       buildDepends = [ base ];
+       extraLibraries = [ picosat ];
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) picosat;};
+
+  "llrbtree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "llrbtree";
+       version = "0.1.1";
+       sha256 = "057bp1f1mpzlgg408b02x1bdzsixrrkcl1536nyvhp43rvxmgj61";
+       buildDepends = [ base ];
+       description = "Purely functional sets and heaps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llsd" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers
+     , dataenc, ghc-prim, hexpat, mtl, network, old-locale, parsec
+     , pretty, random, template-haskell, text, time, utf8-string, uuid
+     }:
+     mkDerivation {
+       pname = "llsd";
+       version = "0.2.0.0";
+       sha256 = "1v1yaaj02qk6z58kiz3g7dr9cik8141vv409cyxlzqv1k79rpzrg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cereal containers dataenc ghc-prim hexpat
+         mtl network old-locale parsec pretty random template-haskell text
+         time utf8-string uuid
+       ];
+       jailbreak = true;
+       homepage = "http://wiki.secondlife.com/wiki/LLSD";
+       description = "An implementation of the LLSD data system";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "llvm" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, llvm-base
+     , mtl, process, type-level
+     }:
+     mkDerivation {
+       pname = "llvm";
+       version = "3.2.0.2";
+       sha256 = "11k1m80vg9x6fgiyh9gxzl1i2i0l0jw9hbn3gs1d1dd7avzl9mrr";
+       buildDepends = [
+         base bytestring containers directory llvm-base mtl process
+         type-level
+       ];
+       homepage = "https://github.com/bos/llvm";
+       description = "Bindings to the LLVM compiler toolkit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-analysis" = callPackage
+    ({ mkDerivation, array, base, boomerang, bytestring, containers
+     , deepseq, directory, failure, fgl, filemanip, filepath
+     , GenericPretty, graphviz, hashable, hoopl, HUnit, ifscs
+     , itanium-abi, lens, llvm-base-types, llvm-data-interop, monad-par
+     , process, temporary, test-framework, test-framework-hunit, text
+     , transformers, uniplate, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "llvm-analysis";
+       version = "0.3.0";
+       sha256 = "0jck1c9wy11wjss6aji64jw927mrncwd2nmnq65zq85r5hha3m8k";
+       buildDepends = [
+         array base boomerang bytestring containers deepseq directory
+         failure fgl filemanip filepath GenericPretty graphviz hashable
+         hoopl HUnit ifscs itanium-abi lens llvm-base-types monad-par
+         process temporary test-framework test-framework-hunit text
+         transformers uniplate unordered-containers vector
+       ];
+       testDepends = [
+         base bytestring containers filepath HUnit itanium-abi
+         llvm-data-interop transformers uniplate unordered-containers
+       ];
+       description = "A Haskell library for analyzing LLVM bitcode";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "llvm-base" = callPackage
+    ({ mkDerivation, base, llvm, mtl }:
+     mkDerivation {
+       pname = "llvm-base";
+       version = "3.2.0.2";
+       sha256 = "1f76nb85hnidp06v6lbl4aasac4h7ff9r8i054m8cnby2vc59r4n";
+       buildDepends = [ base mtl ];
+       extraLibraries = [ llvm ];
+       homepage = "https://github.com/bos/llvm";
+       description = "FFI bindings to the LLVM compiler toolkit";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (self.llvmPackages) llvm;};
+
+  "llvm-base-types" = callPackage
+    ({ mkDerivation, base, c2hs, containers, deepseq, dwarf, failure
+     , GenericPretty, graphviz, hashable, pretty, regex-tdfa, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "llvm-base-types";
+       version = "0.3.0";
+       sha256 = "142xc7w250y0nx60qnm4gc5hrqjm1bxk0nhgsp669g5kvxqcd3bn";
+       buildDepends = [
+         base containers deepseq dwarf failure GenericPretty graphviz
+         hashable pretty regex-tdfa text transformers unordered-containers
+         vector
+       ];
+       buildTools = [ c2hs ];
+       description = "The base types for a mostly pure Haskell LLVM analysis library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-base-util" = callPackage
+    ({ mkDerivation, base, llvm-base }:
+     mkDerivation {
+       pname = "llvm-base-util";
+       version = "3.0.1.0";
+       sha256 = "07q6dvwkg7h6qkwq0a7719g82anipj2pk0xid5p24pvzssa9z22w";
+       buildDepends = [ base llvm-base ];
+       homepage = "https://github.com/bos/llvm";
+       description = "Utilities for bindings to the LLVM compiler toolkit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-data-interop" = callPackage
+    ({ mkDerivation, array, base, bytestring, c2hs, containers
+     , data-default, deepseq, dwarf, hashable, hashtables
+     , llvm-base-types, loch-th, mtl, text, transformers, unification-fd
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "llvm-data-interop";
+       version = "0.3.0";
+       sha256 = "08kflxb0qannp6nb2sizz0bhl850dl1sszl1hk9l28m21r2akdy1";
+       buildDepends = [
+         array base bytestring containers data-default deepseq dwarf
+         hashable hashtables llvm-base-types loch-th mtl text transformers
+         unification-fd unordered-containers vector
+       ];
+       buildTools = [ c2hs ];
+       description = "A low-level data interoperability binding for LLVM";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "llvm-extra" = callPackage
+    ({ mkDerivation, base, containers, cpuid, llvm-tf, non-empty, tfp
+     , transformers, unsafe, utility-ht
+     }:
+     mkDerivation {
+       pname = "llvm-extra";
+       version = "0.6";
+       sha256 = "0nlh5l070zc7y1jpwnyxnc0223w8xaw0z92agmigiw6bm8vcs568";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers cpuid llvm-tf non-empty tfp transformers unsafe
+         utility-ht
+       ];
+       homepage = "http://code.haskell.org/~thielema/llvm-extra/";
+       description = "Utility functions for the llvm interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-ffi" = callPackage
+    ({ mkDerivation, base, llvm }:
+     mkDerivation {
+       pname = "llvm-ffi";
+       version = "3.0.0";
+       sha256 = "07hb4n7wk0gmprjps045cvhcyvmis0jp5f11jbk55y4mgn4jy0cv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       pkgconfigDepends = [ llvm ];
+       homepage = "http://haskell.org/haskellwiki/LLVM";
+       description = "FFI bindings to the LLVM compiler toolkit";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (self.llvmPackages) llvm;};
+
+  "llvm-general" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, HUnit
+     , llvm-config, llvm-general-pure, mtl, parsec, QuickCheck, setenv
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers, transformers-compat
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "llvm-general";
+       version = "3.4.5.2";
+       sha256 = "1n6c1dna2lw3z36y6pnx15qsqwdmdd0cki0snh4yhbfjvcz5lack";
+       buildDepends = [
+         array base bytestring containers llvm-general-pure mtl parsec
+         setenv template-haskell transformers transformers-compat
+         utf8-string
+       ];
+       testDepends = [
+         base containers HUnit llvm-general-pure mtl QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         transformers transformers-compat
+       ];
+       buildTools = [ llvm-config ];
+       doCheck = false;
+       description = "General purpose LLVM bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { llvm-config = null;};
+
+  "llvm-general-pure" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, parsec, QuickCheck
+     , setenv, template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "llvm-general-pure";
+       version = "3.4.5.2";
+       sha256 = "1ybrn3y10nz69jsmhhzv652skyd4d4xb6b89zlc4n5xvrpxxg36j";
+       buildDepends = [
+         base containers mtl parsec setenv template-haskell transformers
+         transformers-compat
+       ];
+       testDepends = [
+         base containers HUnit mtl QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       doCheck = false;
+       description = "Pure Haskell LLVM functionality (no FFI)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "llvm-general-quote" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers, happy
+     , haskell-src-meta, HUnit, llvm-general-pure, mainland-pretty, mtl
+     , split, srcloc, syb, symbol, tasty, tasty-hunit, template-haskell
+     , th-lift
+     }:
+     mkDerivation {
+       pname = "llvm-general-quote";
+       version = "0.2.0.0";
+       sha256 = "02j3npamy5s6ircfd9njg0y25asbpxl6fpsxjpxy7k4v1y6c3b75";
+       buildDepends = [
+         array base bytestring containers haskell-src-meta llvm-general-pure
+         mainland-pretty mtl split srcloc syb symbol template-haskell
+         th-lift
+       ];
+       testDepends = [
+         base containers HUnit llvm-general-pure tasty tasty-hunit
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "https://github.com/tvh/llvm-general-quote";
+       description = "QuasiQuoting llvm code for llvm-general";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "llvm-ht" = callPackage
+    ({ mkDerivation, base, bytestring, directory, mtl, process
+     , type-level
+     }:
+     mkDerivation {
+       pname = "llvm-ht";
+       version = "0.7.0.0";
+       sha256 = "1yn8wyp2jjjdggvf1jz7iras4f7fg2dq57ramr5prvcapc6r5yn6";
+       buildDepends = [
+         base bytestring directory mtl process type-level
+       ];
+       homepage = "http://darcs.serpentine.com/llvm/";
+       description = "Bindings to the LLVM compiler toolkit with some custom extensions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "llvm-pkg-config" = callPackage
+    ({ mkDerivation, base, Cabal, explicit-exception, process
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "llvm-pkg-config";
+       version = "0.0";
+       sha256 = "1sfw901bhnwiam8mm7h50fb6rpqv7vs8j7bxdx6azcf02cmivx6w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal explicit-exception process transformers utility-ht
+       ];
+       description = "Generate Pkg-Config configuration file for LLVM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-pretty" = callPackage
+    ({ mkDerivation, base, containers, monadLib, pretty }:
+     mkDerivation {
+       pname = "llvm-pretty";
+       version = "0.3.1.1";
+       sha256 = "1qk3dlinhic9m8ahynqqi90y7ai728p10c4mkmj2w135wp8a8ran";
+       buildDepends = [ base containers monadLib pretty ];
+       description = "A pretty printing library inspired by the llvm binding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-pretty-bc-parser" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , directory, fgl, fgl-visualize, filepath, llvm-pretty, monadLib
+     , pretty, process
+     }:
+     mkDerivation {
+       pname = "llvm-pretty-bc-parser";
+       version = "0.1.3.1";
+       sha256 = "15h66zdkisjg1mrrchkyzknj0mq5xybjn41mrnfs3pzalnffsfqs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cereal containers fgl fgl-visualize
+         llvm-pretty monadLib pretty
+       ];
+       testDepends = [
+         base bytestring directory filepath llvm-pretty process
+       ];
+       description = "LLVM bitcode parsing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-tf" = callPackage
+    ({ mkDerivation, base, containers, llvm-ffi, non-empty, process
+     , storable-record, tfp, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "llvm-tf";
+       version = "3.0.3.1";
+       sha256 = "0bkx86gv5f7w14hxny6h36balsklscxzm3qakv8f2ana0bk1sv09";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers llvm-ffi non-empty process storable-record tfp
+         transformers utility-ht
+       ];
+       description = "Bindings to the LLVM compiler toolkit using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "llvm-tools" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base, blaze-html
+     , blaze-markup, bytestring, conduit, containers, directory
+     , filemanip, filepath, graphviz, llvm-analysis, llvm-data-interop
+     , optparse-applicative, parallel-io, process-conduit
+     , unordered-containers, xml
+     }:
+     mkDerivation {
+       pname = "llvm-tools";
+       version = "0.2.0.1";
+       sha256 = "1nyp0sgdqsaa2f2v7xgmm3s8mf2a170mzz2h3wwsi163ggvxwvhd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec attoparsec-conduit base blaze-html blaze-markup
+         bytestring conduit containers directory filemanip filepath graphviz
+         llvm-analysis llvm-data-interop optparse-applicative parallel-io
+         process-conduit unordered-containers xml
+       ];
+       jailbreak = true;
+       description = "Useful tools built on llvm-analysis";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lmdb" = callPackage
+    ({ mkDerivation, array, base, lmdb }:
+     mkDerivation {
+       pname = "lmdb";
+       version = "0.2.5";
+       sha256 = "0z8wj06b5ii0w6pls2jlqmd3mhyrplhxd1c6h1my1p0w45b2hmc0";
+       buildDepends = [ array base ];
+       extraLibraries = [ lmdb ];
+       homepage = "http://github.com/dmbarbour/haskell-lmdb";
+       description = "Lightning MDB bindings";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { lmdb = null;};
+
+  "load-env" = callPackage
+    ({ mkDerivation, base, directory, hspec, HUnit, parsec }:
+     mkDerivation {
+       pname = "load-env";
+       version = "0.1.0";
+       sha256 = "1yvnb42i1pzmvs2mjfjl8crxyr6ghw00dhrv548pmks1q5md8z75";
+       buildDepends = [ base directory parsec ];
+       testDepends = [ base directory hspec HUnit parsec ];
+       description = "Load environment variables from a file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "loadavg" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "loadavg";
+       version = "0.1";
+       sha256 = "13q2yxqyzkh099jwz32plmdc71p4w2gkajx5bbi3fkvl2gylqlk6";
+       buildDepends = [ base ];
+       description = "Load average parsing from /proc/loadavg and bindings to getloadavg (3)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "local-address" = callPackage
+    ({ mkDerivation, base, network }:
+     mkDerivation {
+       pname = "local-address";
+       version = "0.0.1";
+       sha256 = "1846lhs0jc8finxcp1hfgifzs7hwzzxvmmv03laxzl63p5h2k8x9";
+       buildDepends = [ base network ];
+       homepage = "http://bitbucket.org/khibino/haskell-local-address";
+       description = "Functions to get local interface address";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "local-search" = callPackage
+    ({ mkDerivation, base, combinatorial-problems, containers, erf
+     , random
+     }:
+     mkDerivation {
+       pname = "local-search";
+       version = "0.0.7";
+       sha256 = "0xrp34m2qfbz458g7bxdkp2lvsm0hskwxfcrm1d8n8g150ddn2xf";
+       buildDepends = [
+         base combinatorial-problems containers erf random
+       ];
+       homepage = "http://www.comp.leeds.ac.uk/sc06r2s/Projects/HaskellLocalSearch";
+       description = "Generalised local search within Haskell, for applications in combinatorial optimisation";
+       license = "GPL";
+     }) {};
+
+  "locators" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, cryptohash
+     , hspec, hspec-expectations, HUnit, QuickCheck
+     }:
+     mkDerivation {
+       pname = "locators";
+       version = "0.2.4.2";
+       sha256 = "172fbxb51p09afsgp9g28zpbisxnf0wxdr3bwi6hwp40ac3363g4";
+       buildDepends = [ base bytestring cereal containers cryptohash ];
+       testDepends = [
+         base bytestring cereal containers cryptohash hspec
+         hspec-expectations HUnit QuickCheck
+       ];
+       description = "Human exchangable identifiers and locators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "loch" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "loch";
+       version = "0.2";
+       sha256 = "1dwv4v76i1fd60rrr0bla3wjz62x9dcgpd48p8z11lsjgpqarld3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Support for precise error locations in source files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "loch-th" = callPackage
+    ({ mkDerivation, base, pretty, template-haskell }:
+     mkDerivation {
+       pname = "loch-th";
+       version = "0.2.1";
+       sha256 = "1kfrjsgzq6wl749n2wm1fhwwigjxcd9lww7whiwjrbmhiz5ism3p";
+       buildDepends = [ base pretty template-haskell ];
+       homepage = "https://github.com/liskin/loch-th";
+       description = "Support for precise error locations in source files (Template Haskell version)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lock-file" = callPackage
+    ({ mkDerivation, base, data-default-class, directory, exceptions
+     , filepath, HUnit, tagged-exception-core, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "lock-file";
+       version = "0.5.0.1";
+       sha256 = "0x1pis244pg5k91y3p40m2pc483vx49gcdqa95f7q0gjsnvb9yi9";
+       buildDepends = [
+         base data-default-class directory exceptions tagged-exception-core
+         transformers
+       ];
+       testDepends = [
+         base data-default-class directory exceptions filepath HUnit
+         tagged-exception-core test-framework test-framework-hunit
+         test-framework-quickcheck2 transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/trskop/lock-file";
+       description = "Provide exclusive access to a resource using lock file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lockfree-queue" = callPackage
+    ({ mkDerivation, abstract-deque, abstract-deque-tests
+     , atomic-primops, base, bytestring, ghc-prim, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "lockfree-queue";
+       version = "0.2.3.1";
+       sha256 = "131s1w6bdd958pg42s2i62xvw4basagir45y3vhbvsp8p9a6lmra";
+       buildDepends = [
+         abstract-deque atomic-primops base bytestring ghc-prim
+       ];
+       testDepends = [
+         abstract-deque abstract-deque-tests atomic-primops base bytestring
+         ghc-prim HUnit test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+       description = "Michael and Scott lock-free queues";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "log-domain" = callPackage
+    ({ mkDerivation, base, binary, bytes, cereal, comonad, deepseq
+     , directory, distributive, doctest, filepath, generic-deriving
+     , hashable, hashable-extras, safecopy, semigroupoids, semigroups
+     , simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "log-domain";
+       version = "0.10.0.1";
+       sha256 = "04k7k8p1p8fgzyms21ry4qf1l987k3pvs673sq9rh1h6hmk9bsg2";
+       buildDepends = [
+         base binary bytes cereal comonad deepseq distributive
+         generic-deriving hashable hashable-extras safecopy semigroupoids
+         semigroups vector
+       ];
+       testDepends = [
+         base directory doctest filepath generic-deriving semigroups
+         simple-reflect
+       ];
+       homepage = "http://github.com/analytics/log-domain/";
+       description = "Log-domain arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "log-effect" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-effects, fast-logger
+     , time
+     }:
+     mkDerivation {
+       pname = "log-effect";
+       version = "0.4.0.1";
+       sha256 = "05rx54bsypisw6k8xm87a4rssyb0lwx7xavwamb1ciiwmvg3j14m";
+       buildDepends = [
+         base bytestring extensible-effects fast-logger time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ibotty/log-effect";
+       description = "An extensible log effect using extensible-effects";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "log2json" = callPackage
+    ({ mkDerivation, base, containers, json, parsec }:
+     mkDerivation {
+       pname = "log2json";
+       version = "0.1";
+       sha256 = "0cidi9zkvqvdqpibr0jpnlk33kprmxwh016w0f86zg9cm3dfb5zf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers json parsec ];
+       jailbreak = true;
+       homepage = "https://github.com/haroldl/log2json";
+       description = "Turn log file records into JSON";
+       license = "GPL";
+     }) {};
+
+  "logfloat" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "logfloat";
+       version = "0.13.3";
+       sha256 = "0m1d0g14p6yb4g4irhisfchx3241b2vlm4g527rhwpr8lxd3fqzp";
+       buildDepends = [ array base ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Log-domain floating point numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "logger" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, containers, lens, mtl
+     , template-haskell, time, transformers, unagi-chan
+     }:
+     mkDerivation {
+       pname = "logger";
+       version = "0.1.0.0";
+       sha256 = "1v264iv34k13lz63ajci03iikc7ajqcl3dvcaxcv7m3h538km8vm";
+       buildDepends = [
+         ansi-wl-pprint base containers lens mtl template-haskell time
+         transformers unagi-chan
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/wdanilo/haskell-logger";
+       description = "Fast & extensible logging framework";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "logging" = callPackage
+    ({ mkDerivation, base, binary, bytestring, fast-logger, hspec
+     , lifted-base, monad-control, monad-logger, old-locale, pcre-light
+     , text, time, transformers, unix, vector-space
+     }:
+     mkDerivation {
+       pname = "logging";
+       version = "2.1.0";
+       sha256 = "15ad4g7zkbklawd98m6x838fr5383vkvq92y75f56j1kj17g7rrh";
+       buildDepends = [
+         base binary bytestring fast-logger lifted-base monad-control
+         monad-logger old-locale pcre-light text time transformers
+         vector-space
+       ];
+       testDepends = [ base hspec monad-logger unix ];
+       description = "Simplified logging in IO for application writers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "logging-facade" = callPackage
+    ({ mkDerivation, base, hspec, template-haskell, transformers }:
+     mkDerivation {
+       pname = "logging-facade";
+       version = "0.0.0";
+       sha256 = "0i7m4dpj7b556bfiahisvxcvdb1lv352zggjyrcr69iqnrac30z8";
+       buildDepends = [ base template-haskell transformers ];
+       testDepends = [ base hspec ];
+       description = "Simple logging abstraction that allows multiple backends";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "logging-facade-journald" = callPackage
+    ({ mkDerivation, base, hspec, libsystemd-journal, logging-facade
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "logging-facade-journald";
+       version = "0.0.0";
+       sha256 = "151p7574v9mxiniwxa4lngm5g4viznw4kg9adnngc3pi5nnh1z7l";
+       buildDepends = [
+         base libsystemd-journal logging-facade text unordered-containers
+       ];
+       testDepends = [
+         base hspec libsystemd-journal logging-facade text
+         unordered-containers
+       ];
+       description = "Journald back-end for logging-facade";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "logic-TPTP" = callPackage
+    ({ mkDerivation, alex, ansi-wl-pprint, array, base, containers
+     , happy, mtl, pointed, QuickCheck, syb, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "logic-TPTP";
+       version = "0.4.2.0";
+       sha256 = "1pqs0hr05b4jsnf73fqfgqng3h63dlswlx18142fbkv1bhphg8al";
+       buildDepends = [
+         ansi-wl-pprint array base containers mtl pointed QuickCheck syb
+         transformers transformers-compat
+       ];
+       buildTools = [ alex happy ];
+       description = "Import, export etc. for TPTP, a syntax for first-order logic";
+       license = "GPL";
+     }) {};
+
+  "logic-classes" = callPackage
+    ({ mkDerivation, applicative-extras, base, containers, fgl, HUnit
+     , mtl, pretty, PropLogic, safecopy, set-extra, syb, syb-with-class
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "logic-classes";
+       version = "1.5";
+       sha256 = "12rdq38wga5d4d2mw21rmdmgjg7vqhap0zl2f5wzn79hl7814rwz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         applicative-extras base containers fgl HUnit mtl pretty PropLogic
+         safecopy set-extra syb syb-with-class template-haskell text
+       ];
+       homepage = "http://src.seereason.com/logic-classes";
+       description = "Framework for propositional and first order logic, theorem proving";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "logicst" = callPackage
+    ({ mkDerivation, base, logict, transformers }:
+     mkDerivation {
+       pname = "logicst";
+       version = "0.1.0.0";
+       sha256 = "061x6g92334m2776xclh8mcbjind3l595pggc0g7yi4qzs31zbdc";
+       buildDepends = [ base logict transformers ];
+       homepage = "http://github.com/sonyandy/logicst";
+       description = "Backtracking mutable references in the ST and IO monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "logict" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "logict";
+       version = "0.6.0.2";
+       sha256 = "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi";
+       buildDepends = [ base mtl ];
+       homepage = "http://code.haskell.org/~dolio/";
+       description = "A backtracking logic-programming monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "logsink" = callPackage
+    ({ mkDerivation, base, hspec, hsyslog, logging-facade, time }:
+     mkDerivation {
+       pname = "logsink";
+       version = "0.1.0";
+       sha256 = "1yxzqx47017z0djm8bymz43pc8cccnpkawaisvvzb646j6nbrw93";
+       buildDepends = [ base hsyslog logging-facade time ];
+       testDepends = [ base hspec logging-facade ];
+       description = "A logging framework for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lojban" = callPackage
+    ({ mkDerivation, base, containers, curl, directory, haskell98, HTTP
+     , markov-chain, mtl, parsec, process, random, regex-compat, strict
+     , tagsoup, xml
+     }:
+     mkDerivation {
+       pname = "lojban";
+       version = "0.3";
+       revision = "1";
+       sha256 = "0pd31g21db8yh1mrnmy7r60lr0dbpwlxpwc0hli3y1wcr4fisnx6";
+       editedCabalFile = "9d30c9c8f1aa80aea24ca606d74ee1b3a9af0ecde15a0e65b1150d483d6b1cfc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers curl directory haskell98 HTTP markov-chain mtl
+         parsec process random regex-compat strict tagsoup xml
+       ];
+       jailbreak = true;
+       description = "Useful utilities for the Lojban language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lojbanParser" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lojbanParser";
+       version = "0.1.9.2";
+       sha256 = "0axi63dvls9k87samaa0jihisfqyl92jbhmx1j9q73yjrn5wsk8j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "lojban parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lojbanXiragan" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "lojbanXiragan";
+       version = "0.3";
+       sha256 = "1h7jmhs38v6mfas4nj22shm2dwphx46247sv3mia28xlzim3xdsp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "lojban to xiragan";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lojysamban" = callPackage
+    ({ mkDerivation, base, lojbanParser, yjtools }:
+     mkDerivation {
+       pname = "lojysamban";
+       version = "0.0.8.1";
+       sha256 = "0c571fk7kz4szpba85d7bf5awak5bc25r59kyx3xvyvk011y9hhd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base lojbanParser yjtools ];
+       homepage = "http://homepage3.nifty.com/salamander/myblog/lojysamban.html";
+       description = "Prolog with lojban";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "loli" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, hack
+     , hack-contrib, mps, mtl, template, utf8-string
+     }:
+     mkDerivation {
+       pname = "loli";
+       version = "2011.6.24";
+       sha256 = "1m23dkxh2vah7d47arpqx5zdpwczm8k4jixzslmqbdizm9h933ja";
+       buildDepends = [
+         base bytestring containers data-default hack hack-contrib mps mtl
+         template utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/nfjinjing/loli";
+       description = "A minimum web dev DSL in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "loop" = callPackage
+    ({ mkDerivation, base, hspec, mtl }:
+     mkDerivation {
+       pname = "loop";
+       version = "0.2.0";
+       sha256 = "11ifqahlg9ky5klid1fhsyfvfb6w8yb0dsy43s0cxcmldbw3qv5x";
+       buildDepends = [ base ];
+       testDepends = [ base hspec mtl ];
+       homepage = "https://github.com/nh2/loop";
+       description = "Fast loops (for when GHC can't optimize forM_)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "loop-effin" = callPackage
+    ({ mkDerivation, base, effin }:
+     mkDerivation {
+       pname = "loop-effin";
+       version = "0.1.1.0";
+       sha256 = "02x02m98ka1y8f1jjqwfwmsyx29g583gnr4jdm5syqxfr0dz6c52";
+       buildDepends = [ base effin ];
+       homepage = "https://github.com/konn/loop-effin";
+       description = "control-monad-loop port for effin";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "loop-while" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "loop-while";
+       version = "1.0.0";
+       sha256 = "1yvw91gn1iyw72rbq455zzrbb3pq8ph9cv1c6800qzjyxx0694bd";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       description = "A monad transformer supporting various styles of while loop";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "loops" = callPackage
+    ({ mkDerivation, base, primitive, tasty, tasty-quickcheck
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "loops";
+       version = "0.2.0.2";
+       sha256 = "1syx22gp2zra2dhwvmm2np6c1lvqk622a62k4xxjd8y1fs2ckks7";
+       buildDepends = [ base primitive transformers vector ];
+       testDepends = [ base tasty tasty-quickcheck ];
+       description = "Fast imperative-style loops";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "loopy" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, directory, filepath
+     , GoogleChart, hmatrix, process, random
+     }:
+     mkDerivation {
+       pname = "loopy";
+       version = "0.0.1";
+       sha256 = "0gyd7l4i3vzv7swyqfywzwhsdxq3j5869c2id6hz6nm7db47wyy6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers directory filepath GoogleChart hmatrix
+         process random
+       ];
+       homepage = "http://www.esc.cam.ac.uk/people/research-students/emily-king";
+       description = "Find all biological feedback loops within an ecosystem graph";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lord" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, attoparsec-conduit, base
+     , bytestring, case-insensitive, conduit, conduit-extra, daemons
+     , data-default, directory, fast-logger, hspec, html-conduit, HTTP
+     , http-conduit, http-types, HUnit, libmpd, optparse-applicative
+     , process, resourcet, text, transformers, unix
+     , unordered-containers, utf8-string, wai-logger, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "lord";
+       version = "2.20150122";
+       sha256 = "0kzvi4310mbz51zkgmm84qyxxpi4m5ww2bsrfkj73a45bn7z198j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-terminal attoparsec-conduit base bytestring
+         case-insensitive conduit conduit-extra daemons data-default
+         directory fast-logger html-conduit HTTP http-conduit http-types
+         libmpd optparse-applicative process resourcet text transformers
+         unix unordered-containers utf8-string wai-logger xml-conduit yaml
+       ];
+       testDepends = [
+         aeson ansi-terminal attoparsec-conduit base bytestring
+         case-insensitive conduit daemons data-default directory fast-logger
+         hspec html-conduit HTTP http-conduit http-types HUnit libmpd
+         optparse-applicative process text transformers unix
+         unordered-containers utf8-string wai-logger xml-conduit yaml
+       ];
+       homepage = "https://github.com/rnons/lord";
+       description = "A command line interface to online radios";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "loris" = callPackage
+    ({ mkDerivation, base, c2hs, loris, vector }:
+     mkDerivation {
+       pname = "loris";
+       version = "0.3.1";
+       sha256 = "19w1c3gsmy03y4a238yp844wgqcv9s53cwrcapv2yvn9xpchm2gq";
+       buildDepends = [ base vector ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ loris ];
+       homepage = "http://www.tiresiaspress.us/haskell/loris";
+       description = "interface to Loris API";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { loris = null;};
+
+  "loshadka" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, cryptohash
+     , directory, hex, network, process, split
+     }:
+     mkDerivation {
+       pname = "loshadka";
+       version = "0.2";
+       sha256 = "01jjbcgzpkh3mp729xahy2437hrg6wc2l1qnwcm069zrs3c1bdny";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring cryptohash directory hex network
+         process split
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tvorcesky/loshadka";
+       description = "Minecraft 1.7 server proxy that answers to queries when the server is offline";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "lostcities" = callPackage
+    ({ mkDerivation, array, base, containers, haskell98, mtl, wx
+     , wxcore
+     }:
+     mkDerivation {
+       pname = "lostcities";
+       version = "0.2";
+       sha256 = "1avlq28k0jcfbnd0pfww80ixz5lvpp4jkf20dybjl7pfqyhj3s9p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers haskell98 mtl wx wxcore ];
+       jailbreak = true;
+       homepage = "http://www.ncc.up.pt/~pbv/stuff/lostcities";
+       description = "An implementation of an adictive two-player card game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lowgl" = callPackage
+    ({ mkDerivation, base, data-default, gl, linear, vector }:
+     mkDerivation {
+       pname = "lowgl";
+       version = "0.3.1.1";
+       sha256 = "1c354ddx9niimfnppbg43d0v2dfr5s9s5dkppi0sld06jxaakxc5";
+       buildDepends = [ base data-default gl linear vector ];
+       jailbreak = true;
+       description = "Basic gl wrapper and reference";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "lrucache" = callPackage
+    ({ mkDerivation, base, containers, contravariant }:
+     mkDerivation {
+       pname = "lrucache";
+       version = "1.2.0.0";
+       sha256 = "05knlckzx261yxbz38rqq8vy86zj1np0w2l32cnib6714vhaj5sz";
+       buildDepends = [ base containers contravariant ];
+       homepage = "http://github.com/chowells79/lrucache";
+       description = "a simple, pure LRU cache";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ls-usb" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, base-unicode-symbols
+     , cmdtheline, text, usb, usb-id-database, vector
+     }:
+     mkDerivation {
+       pname = "ls-usb";
+       version = "0.1.1";
+       sha256 = "08xaf27iirdxax7gjjjzvw4nv0qya6vz46826bzmp7f0i0rn88qk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint base base-unicode-symbols cmdtheline text usb
+         usb-id-database vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/roelvandijk/ls-usb";
+       description = "List USB devices";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lscabal" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, pretty, process
+     }:
+     mkDerivation {
+       pname = "lscabal";
+       version = "0.1.1";
+       sha256 = "14j19jcmx20nhvb9a7im81j3wwkkx6lkb6b1kfizv8qkgnp0jd5j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory filepath pretty process
+       ];
+       homepage = "http://code.haskell.org/~dons/code/lscabal";
+       description = "List exported modules from a set of .cabal files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lss" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, directory, filepath
+     , hspec2, language-css, language-css-attoparsec, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "lss";
+       version = "0.1.0.0";
+       sha256 = "1r890sya0db0xvs9cm5ghhr6x55hkqplirv95km6y7py7hj69cjr";
+       buildDepends = [
+         attoparsec base containers directory filepath language-css
+         language-css-attoparsec text xmlhtml
+       ];
+       testDepends = [
+         attoparsec base containers hspec2 language-css
+         language-css-attoparsec text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dbp/lss";
+       description = "Lexical Style Sheets - a language for writing styles that is focused around lexical (ie, static) scoping and re-use of large components";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { language-css-attoparsec = null;};
+
+  "lsystem" = callPackage
+    ({ mkDerivation, base, haskell98, uu-parsinglib, wx, wxcore }:
+     mkDerivation {
+       pname = "lsystem";
+       version = "1.2";
+       sha256 = "1wk41hsr7pp9azac3449xp0xv8kd31bwif3yw6cfw9jfg3g498xg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 uu-parsinglib wx wxcore ];
+       description = "Paint an L-System Grammar";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ltk" = callPackage
+    ({ mkDerivation, base, Cabal, containers, filepath, ghc, glib, gtk3
+     , mtl, parsec, pretty, text, transformers
+     }:
+     mkDerivation {
+       pname = "ltk";
+       version = "0.14.3.0";
+       sha256 = "0f0xm5pg98yvccxlpqvhkwy8q9miyzr6n0aznqzc4qxf05dbi4s9";
+       buildDepends = [
+         base Cabal containers filepath ghc glib gtk3 mtl parsec pretty text
+         transformers
+       ];
+       homepage = "http://www.leksah.org";
+       description = "Leksah tool kit";
+       license = "GPL";
+     }) {};
+
+  "ltl" = callPackage
+    ({ mkDerivation, base, vcd }:
+     mkDerivation {
+       pname = "ltl";
+       version = "0.0.0";
+       sha256 = "0h3jxngsdmakcr35zapxjaykjsqs44lxxk86d5i4rg0gi0i9qw3g";
+       buildDepends = [ base vcd ];
+       homepage = "http://tomahawkins.org";
+       description = "Using linear temporal logic (LTL) to verify embedded software and hardware";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lua-bytecode" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , hashable, numeric-extras, vector
+     }:
+     mkDerivation {
+       pname = "lua-bytecode";
+       version = "0.1.0.0";
+       sha256 = "1cwpixaxxkfd8n714c8w82z97h3h8bqqqnh2wsn22cll168rb6zl";
+       buildDepends = [
+         array base bytestring cereal containers hashable numeric-extras
+         vector
+       ];
+       description = "Library for loading Lua bytecode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "luachunk" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring
+     , custom-prelude, ghc-prim, pretty, text
+     }:
+     mkDerivation {
+       pname = "luachunk";
+       version = "0.1.0.0";
+       sha256 = "03a8adaz3m93wnfmrvsqbmc57h1d8h0a90spfj1cb7yrpz0pr3ck";
+       buildDepends = [
+         attoparsec base binary bytestring custom-prelude ghc-prim pretty
+         text
+       ];
+       jailbreak = true;
+       description = "Library functions for reading and writing Lua chunks";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "luautils" = callPackage
+    ({ mkDerivation, base, containers, custom-prelude, hslua
+     , monad-loops, QuickCheck, quickcheck-instances, test-framework
+     , test-framework-quickcheck2, test-framework-th, text
+     }:
+     mkDerivation {
+       pname = "luautils";
+       version = "0.1.3";
+       sha256 = "1y0a70sqykc003kazx6bddjp4l7pc6099iqg6w78k7wigzmkld7y";
+       buildDepends = [
+         base containers custom-prelude hslua monad-loops text
+       ];
+       testDepends = [
+         base containers hslua QuickCheck quickcheck-instances
+         test-framework test-framework-quickcheck2 test-framework-th text
+       ];
+       description = "Helpers for Haskell integration with Lua";
+       license = "GPL";
+     }) {};
+
+  "lub" = callPackage
+    ({ mkDerivation, base, unamb }:
+     mkDerivation {
+       pname = "lub";
+       version = "0.1.7";
+       sha256 = "1dsm7cg0i930r5dn8591aabkl0p8b5l348pccdvi7p0g7asx451h";
+       buildDepends = [ base unamb ];
+       homepage = "http://haskell.org/haskellwiki/lub";
+       description = "information operators: least upper bound (lub) and greatest lower bound (glb)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lucid" = callPackage
+    ({ mkDerivation, base, bifunctors, blaze-builder, bytestring
+     , containers, hashable, hspec, HUnit, mtl, parsec, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "lucid";
+       version = "2.9.2";
+       sha256 = "0r3bzh9pmcqsac5id064jcscn9x2pyfhpazdzvz0666smf4b9jah";
+       buildDepends = [
+         base blaze-builder bytestring containers hashable mtl text
+         transformers unordered-containers
+       ];
+       testDepends = [ base bifunctors hspec HUnit mtl parsec text ];
+       homepage = "https://github.com/chrisdone/lucid";
+       description = "Clear to write, read and edit DSL for HTML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lucid-foundation" = callPackage
+    ({ mkDerivation, base, hspec, lucid, QuickCheck
+     , quickcheck-instances, text
+     }:
+     mkDerivation {
+       pname = "lucid-foundation";
+       version = "0.0.2.1";
+       sha256 = "10l6xvb3kmkjb9sq92ijwnnbpm3rmp6j8r8vf00kdxkgx84n1zqd";
+       buildDepends = [ base lucid text ];
+       testDepends = [ base hspec QuickCheck quickcheck-instances ];
+       description = "Basic Zurb Foundation API in Lucid";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lucid-svg" = callPackage
+    ({ mkDerivation, base, blaze-builder, lucid, text, transformers }:
+     mkDerivation {
+       pname = "lucid-svg";
+       version = "0.4.0.4";
+       sha256 = "16clq3dvi7s08w9ddl8k205050lx9ma69050wyhv4nc5zhmjdq12";
+       buildDepends = [ base blaze-builder lucid text transformers ];
+       homepage = "http://github.com/jeffreyrosenbluth/lucid-svg.git";
+       description = "DSL for SVG using lucid for HTML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lucienne" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-html, bson
+     , bytestring, compact-string-fix, feed, happstack, happstack-server
+     , HTTP, mongoDB, mtl, network, SHA, text, time
+     }:
+     mkDerivation {
+       pname = "lucienne";
+       version = "0.0.2";
+       sha256 = "1dcvax756cqpqg6rrrjrd4sfr3ggvqdiwp42rb8fdrsi3v2skwrj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring blaze-html bson bytestring
+         compact-string-fix feed happstack happstack-server HTTP mongoDB mtl
+         network SHA text time
+       ];
+       jailbreak = true;
+       homepage = "http://www.imn.htwk-leipzig.de/~abau/lucienne";
+       description = "Server side feed aggregator/reader";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "luhn" = callPackage
+    ({ mkDerivation, base, digits, QuickCheck }:
+     mkDerivation {
+       pname = "luhn";
+       version = "0.2";
+       sha256 = "0ix7x28kmd3iarydl709vqd041h0qx6kv582c8ca54z8ag7lzynz";
+       buildDepends = [ base digits QuickCheck ];
+       description = "An implementation of Luhn's check digit algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lui" = callPackage
+    ({ mkDerivation, base, containers, haskell98, haskgame, MaybeT, mtl
+     , SDL
+     }:
+     mkDerivation {
+       pname = "lui";
+       version = "0.0.6";
+       sha256 = "081451gpm20z8zl3y1mjy9015a461g7q99w7sjnr8alvd3pbhd6v";
+       buildDepends = [
+         base containers haskell98 haskgame MaybeT mtl SDL
+       ];
+       description = "Purely FunctionaL User Interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "luka" = callPackage
+    ({ mkDerivation, air, base, bytestring, libffi, objc }:
+     mkDerivation {
+       pname = "luka";
+       version = "2012.8.29";
+       sha256 = "00g7a80nlw1bgw6x2pqg1qn4786ra3bwbwbfm9b7iyhb101b7s9s";
+       buildDepends = [ air base bytestring libffi ];
+       extraLibraries = [ objc ];
+       homepage = "https://github.com/nfjinjing/luka";
+       description = "Simple ObjectiveC runtime binding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { objc = null;};
+
+  "lushtags" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, text, vector }:
+     mkDerivation {
+       pname = "lushtags";
+       version = "0.0.1";
+       sha256 = "0325c064nsczypapvwdchx7x5n69jxjbyjs90ah7q5ydxbjl6w9c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell-src-exts text vector ];
+       jailbreak = true;
+       homepage = "https://github.com/bitc/lushtags";
+       description = "Create ctags compatible tags files for Haskell programs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "luthor" = callPackage
+    ({ mkDerivation, base, mtl, parsec }:
+     mkDerivation {
+       pname = "luthor";
+       version = "0.0.1";
+       sha256 = "023kckpcdn6n5dyq0dip0132jp1w30hdx1qb5hbsd3js86j52a12";
+       buildDepends = [ base mtl parsec ];
+       testDepends = [ base mtl parsec ];
+       jailbreak = true;
+       homepage = "https://github.com/Zankoku-Okuno/luthor";
+       description = "Tools for lexing and utilizing lexemes that integrate with Parsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lvish" = callPackage
+    ({ mkDerivation, async, atomic-primops, base, bits-atomic
+     , containers, deepseq, ghc-prim, HUnit, lattices, missing-foreign
+     , QuickCheck, random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, text, time
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "lvish";
+       version = "1.1.4";
+       revision = "1";
+       sha256 = "1s7i1jxb6m7ivk4nd60dy8hn4wgfhv1gcamvv6hgjvcw6rxn4k44";
+       editedCabalFile = "38b0af7bd2ebc54b5a2b01a2c24a3832d80f76596c8a8fad621499996ce76e76";
+       buildDepends = [
+         async atomic-primops base bits-atomic containers deepseq ghc-prim
+         lattices missing-foreign random transformers vector
+       ];
+       testDepends = [
+         async atomic-primops base bits-atomic containers deepseq ghc-prim
+         HUnit lattices missing-foreign QuickCheck random test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+         text time transformers vector
+       ];
+       description = "Parallel scheduler, LVar data structures, and infrastructure to build more";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lvmlib" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , parsec, wl-pprint
+     }:
+     mkDerivation {
+       pname = "lvmlib";
+       version = "1.1";
+       sha256 = "1lr2qr817mb8qb7b3wvry9jpj3wjphj5s60rn3dyqibx8gny36bg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath parsec wl-pprint
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/Helium/WebHome";
+       description = "The Lazy Virtual Machine (LVM)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lvmrun" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "lvmrun";
+       version = "1.0";
+       sha256 = "0wcf9brcvf4b7qcs51mngca3qxilk0x50h3dml28zg6lg93wwbfa";
+       isLibrary = false;
+       isExecutable = true;
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/Helium/WebHome";
+       description = "The Lazy Virtual Machine (LVM) Runtime System";
+       license = "LGPL";
+     }) {};
+
+  "lxc" = callPackage
+    ({ mkDerivation, base, bindings-lxc, mtl, transformers }:
+     mkDerivation {
+       pname = "lxc";
+       version = "0.3.1.1";
+       sha256 = "1mksram2nlb611b81yh5smvgr3dqxyabphrrpimspixwwl8173zr";
+       buildDepends = [ base bindings-lxc mtl transformers ];
+       homepage = "https://github.com/fizruk/lxc";
+       description = "High level Haskell bindings to LXC (Linux containers)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lye" = callPackage
+    ({ mkDerivation, base, containers, free, HCodecs, lens, parsers
+     , transformers, trifecta
+     }:
+     mkDerivation {
+       pname = "lye";
+       version = "0.1.0.0";
+       sha256 = "1pmlxvnlwdsb51pjrkak1sakfh3nyk5lia5pqmr7larlm1n3dx9m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers free HCodecs lens parsers transformers trifecta
+       ];
+       description = "A Lilypond-compiling music box";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "lz4" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, hspec, HUnit, QuickCheck
+     }:
+     mkDerivation {
+       pname = "lz4";
+       version = "0.2.3.1";
+       sha256 = "1wck0sl7m873pqnpmn95vrp9jbr7awjdp9rrkqgj0nd3l6z65k4q";
+       buildDepends = [ base bytestring cereal ];
+       testDepends = [ base bytestring hspec HUnit QuickCheck ];
+       homepage = "http://github.com/mwotton/lz4hs";
+       description = "LZ4 compression for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "lzma-conduit" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, conduit, HUnit
+     , lzma, QuickCheck, resourcet, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "lzma-conduit";
+       version = "1.1.3";
+       sha256 = "01pf7q56y4m377qcbfwdv767dhlvkhd4cs01bqcg9k667iy21fr4";
+       buildDepends = [
+         base bindings-DSL bytestring conduit resourcet transformers
+       ];
+       testDepends = [
+         base bytestring conduit HUnit QuickCheck resourcet test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       extraLibraries = [ lzma ];
+       homepage = "http://github.com/alphaHeavy/lzma-conduit";
+       description = "Conduit interface for lzma/xz compression";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) lzma;};
+
+  "lzma-enumerator" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, enumerator, HUnit
+     , lzma, mtl, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "lzma-enumerator";
+       version = "0.1.3";
+       sha256 = "0pzz8bf6310p23pmsa013i8vib0xsfvlkj7zp0w9xs2xsi4j7jk1";
+       buildDepends = [ base bindings-DSL bytestring enumerator mtl ];
+       testDepends = [
+         base bytestring enumerator HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       extraLibraries = [ lzma ];
+       jailbreak = true;
+       homepage = "http://github.com/alphaHeavy/lzma-enumerator";
+       description = "Enumerator interface for lzma/xz compression";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) lzma;};
+
+  "maam" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, ghc
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "maam";
+       version = "0.2.0.1";
+       sha256 = "1r6vp774gjb52bd1lmjx6xzh0pw82b060pl7bh8n0z58i67bvm9q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory ghc template-haskell text
+       ];
+       description = "An application of the Galois Transformers framework to two example semantics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "maccatcher" = callPackage
+    ({ mkDerivation, base, binary, parsec, process }:
+     mkDerivation {
+       pname = "maccatcher";
+       version = "2.1.5";
+       sha256 = "0z56rbfr8vijhjf3dcqd4kaxgx9bf3qgi9sm61yc3i6ra60w7byb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary parsec process ];
+       description = "Obtain the host MAC address on *NIX and Windows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "machinecell" = callPackage
+    ({ mkDerivation, arrows, base, free, hspec, mtl, profunctors
+     , QuickCheck, semigroups
+     }:
+     mkDerivation {
+       pname = "machinecell";
+       version = "1.3.1";
+       sha256 = "1v4rrjszh6sm2x1nwq33f4xwa41bnls0awhy9qfkap62bpad8fxg";
+       buildDepends = [ arrows base free mtl profunctors semigroups ];
+       testDepends = [ base hspec mtl profunctors QuickCheck ];
+       homepage = "http://github.com/as-capabl/machinecell";
+       description = "Arrow based stream transducers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "machines" = callPackage
+    ({ mkDerivation, base, comonad, containers, directory, doctest
+     , filepath, free, mtl, pointed, profunctors, semigroups
+     , transformers, void
+     }:
+     mkDerivation {
+       pname = "machines";
+       version = "0.4.1";
+       revision = "1";
+       sha256 = "1wripnvpzfdnf7i2aygjyh33cp7srkb5638snwyn700bjbi2j7gb";
+       editedCabalFile = "6c00ca655eed187aefe091a7dbfb49c08fc0bf89f7c75f11c0a0dfcae9296df8";
+       buildDepends = [
+         base comonad containers free mtl pointed profunctors semigroups
+         transformers void
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/machines/";
+       description = "Networked stream transducers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "machines-directory" = callPackage
+    ({ mkDerivation, base, directory, filepath, machines, machines-io
+     , transformers
+     }:
+     mkDerivation {
+       pname = "machines-directory";
+       version = "0.2.0.0";
+       sha256 = "1b1jv23ijhm51nggxrncjhz24k4pl4nvj6s9h3jabr0gsnsb8y2v";
+       buildDepends = [
+         base directory filepath machines machines-io transformers
+       ];
+       homepage = "http://github.com/aloiscochard/machines-io";
+       description = "Directory (system) utilities for the machines library";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "machines-io" = callPackage
+    ({ mkDerivation, base, bytestring, chunked-data, machines
+     , transformers
+     }:
+     mkDerivation {
+       pname = "machines-io";
+       version = "0.2.0.0";
+       sha256 = "0qjbfwyhscjmjbfj709kb9xr5p3yz4v21aq2g4dv1abqwgf85x03";
+       buildDepends = [
+         base bytestring chunked-data machines transformers
+       ];
+       homepage = "http://github.com/aloiscochard/machines-io";
+       description = "IO utilities for the machines library";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "machines-process" = callPackage
+    ({ mkDerivation, base, chunked-data, machines, machines-io, process
+     }:
+     mkDerivation {
+       pname = "machines-process";
+       version = "0.2.0.0";
+       sha256 = "028l6hijabrgnn5klm1bv35h2z2qmm1r49bj1bvvaffhn5fdpz7y";
+       buildDepends = [ base chunked-data machines machines-io process ];
+       homepage = "http://github.com/aloiscochard/machines-io";
+       description = "Process (system) utilities for the machines library";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "machines-zlib" = callPackage
+    ({ mkDerivation, base, basic-prelude, machines, streaming-commons
+     }:
+     mkDerivation {
+       pname = "machines-zlib";
+       version = "0.1.0";
+       sha256 = "0ajdc7878vzam5zphdaw8zn8knzk8kq80y3yf84jwlakb6ihrv6d";
+       buildDepends = [ base basic-prelude machines streaming-commons ];
+       homepage = "https://github.com/lshift/machines-zlib";
+       description = "Decompression support for machines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "macho" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "macho";
+       version = "0.22";
+       sha256 = "13i8bap38ha8j0259kw4gfx18jxc4860awp3s9rz16i4q2vik0v2";
+       buildDepends = [ base binary bytestring ];
+       homepage = "http://github.com/erikcharlebois/macho";
+       description = "Parser for Mach-O object format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "maclight" = callPackage
+    ({ mkDerivation, base, filemanip, filepath, HUnit
+     , optparse-applicative, parsec, strict, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "maclight";
+       version = "0.1.0.0";
+       sha256 = "0qf44jza8avq2yfsx2f0bdxbnda4lm3xq9qaivmslfbdfjy3mxv3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base filemanip filepath optparse-applicative parsec strict
+       ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       homepage = "http://github.com/tych0/maclight";
+       description = "Control screen and keyboard backlights on MACs under Linux";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "macosx-make-standalone" = callPackage
+    ({ mkDerivation, base, containers, data-lens, data-lens-template
+     , deepseq, directory, filepath, graph-visit, mtl, process
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "macosx-make-standalone";
+       version = "0.1.0.1";
+       sha256 = "04j5fpj4758bl8ksaqn4zz6dl8pg24ih65k1b0pg8qrar4275r14";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers data-lens data-lens-template deepseq directory
+         filepath graph-visit mtl process transformers unix
+       ];
+       homepage = "https://github.com/atzedijkstra/macosx-make-standalone";
+       description = "Make a macosx app standalone deployable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mage" = callPackage
+    ({ mkDerivation, array, base, containers, curses, mtl, random }:
+     mkDerivation {
+       pname = "mage";
+       version = "1.1.0";
+       sha256 = "0fknvy48sanvq7vg5pxwbjsahpiby1hba5wf8w6rq2g3d0a1cjwz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers mtl random ];
+       extraLibraries = [ curses ];
+       homepage = "http://www.scannedinavian.com/~shae/mage-1.0pre35.tar.gz";
+       description = "Rogue-like";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { curses = null;};
+
+  "magic" = callPackage
+    ({ mkDerivation, base, magic }:
+     mkDerivation {
+       pname = "magic";
+       version = "1.1";
+       sha256 = "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j";
+       buildDepends = [ base ];
+       extraLibraries = [ magic ];
+       description = "Interface to C file/magic library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { magic = null;};
+
+  "magma" = callPackage
+    ({ mkDerivation, base, deepseq, profunctors, semigroups }:
+     mkDerivation {
+       pname = "magma";
+       version = "0.3.0.0";
+       sha256 = "0bk4a9kw2jxvvz81ppj6qh3kk8cbknnqmg6vvkd0kpn70rcx0hnv";
+       buildDepends = [ base deepseq profunctors semigroups ];
+       homepage = "https://github.com/cutsea110/magma";
+       description = "magma is an algebraic structure consisting a set together with an binary operation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mahoro" = callPackage
+    ({ mkDerivation, base, ConfigFile, containers, curl, directory
+     , happstack-state, MissingH, mtl, network, old-time, regex-posix
+     , tagsoup, utf8-string, XMPP
+     }:
+     mkDerivation {
+       pname = "mahoro";
+       version = "0.1.2";
+       sha256 = "0fmhms0415wawd539ipdj47gf27h2jjq2gpzhb0s21r6z63ayp7f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile containers curl directory happstack-state MissingH
+         mtl network old-time regex-posix tagsoup utf8-string XMPP
+       ];
+       homepage = "http://kagami.touhou.ru/projects/show/mahoro";
+       description = "ImageBoards to XMPP gate";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "maid" = callPackage
+    ({ mkDerivation, air, air-th, base, bytestring, containers
+     , data-default, directory, filepath, hack2, hack2-contrib
+     , hack2-handler-snap-server, moe, process, text
+     }:
+     mkDerivation {
+       pname = "maid";
+       version = "2014.10.14";
+       sha256 = "1gss86263pzwvm14yx5lqzskrwc3z6521z9yp0mg8780qgr8h9sr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         air air-th base bytestring containers data-default directory
+         filepath hack2 hack2-contrib hack2-handler-snap-server moe process
+         text
+       ];
+       homepage = "https://github.com/nfjinjing/maid";
+       description = "A simple static web server";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mailbox-count" = callPackage
+    ({ mkDerivation, base, cmdargs, configurator, containers, directory
+     , doctest, filemanip, filepath, HDBC, HDBC-postgresql, HDBC-sqlite3
+     , MissingH, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "mailbox-count";
+       version = "0.0.2";
+       sha256 = "1zd3vd0sj4pq8nhjn768rpfyn9a06a9c3j2fnhxsb9d800ilpvvf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs configurator containers directory filepath HDBC
+         HDBC-postgresql HDBC-sqlite3 MissingH tasty tasty-hunit
+       ];
+       testDepends = [
+         base cmdargs configurator containers directory doctest filemanip
+         filepath HDBC HDBC-postgresql HDBC-sqlite3 MissingH tasty
+         tasty-hunit
+       ];
+       description = "Count mailboxes in a SQL database";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "mailchimp-subscribe" = callPackage
+    ({ mkDerivation, aeson, base, http-client, http-client-tls
+     , http-types, reflection, scotty, text, transformers, wai-extra
+     }:
+     mkDerivation {
+       pname = "mailchimp-subscribe";
+       version = "1.0";
+       sha256 = "0c6sn7bpzw82iarpw40l88f58xrjl9gzdqx1xnbafzdyfhbrnzbi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base http-client http-client-tls http-types reflection scotty
+         text transformers wai-extra
+       ];
+       homepage = "https://github.com/mietek/mailchimp-subscribe/";
+       description = "MailChimp subscription request handler";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mailgun" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, exceptions, failure
+     , http-client, http-client-multipart, http-conduit, monad-control
+     , network, text, transformers
+     }:
+     mkDerivation {
+       pname = "mailgun";
+       version = "0.1.0.4";
+       sha256 = "01xcr0dwbkpryavk054y52fdk9qis4s6df8d0yxz05kdl8b5nczq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit exceptions failure http-client
+         http-client-multipart http-conduit monad-control network text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/AndrewRademacher/mailgun";
+       description = "Connector to Rackspace's Mailgun Service";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mainland-pretty" = callPackage
+    ({ mkDerivation, base, containers, srcloc, text }:
+     mkDerivation {
+       pname = "mainland-pretty";
+       version = "0.2.7.2";
+       sha256 = "0spn95apa05bx2akcl13kmg0vlyyakca3jx1960ja4z9dm9lwadd";
+       buildDepends = [ base containers srcloc text ];
+       homepage = "http://www.cs.drexel.edu/~mainland/";
+       description = "Pretty printing designed for printing source code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "majordomo" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, monad-loops, old-locale
+     , threads, time, unix, zeromq-haskell
+     }:
+     mkDerivation {
+       pname = "majordomo";
+       version = "0.1.6";
+       sha256 = "1rjarfwjqlrq9cdgjv93v6jwg58984c0dwjk506svsr29ll0p1b1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs monad-loops old-locale threads time unix
+         zeromq-haskell
+       ];
+       jailbreak = true;
+       description = "Majordomo protocol for ZeroMQ";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "majority" = callPackage
+    ({ mkDerivation, haskell2010 }:
+     mkDerivation {
+       pname = "majority";
+       version = "1.1";
+       sha256 = "1442xw8i9jgk3hqavqikks98qs9l3i37lk63xyzpdgnlkfqapzka";
+       buildDepends = [ haskell2010 ];
+       homepage = "https://github.com/niswegmann/majority";
+       description = "Boyer-Moore Majority Vote Algorithm";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "make-hard-links" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , unix
+     }:
+     mkDerivation {
+       pname = "make-hard-links";
+       version = "0.2";
+       sha256 = "0bynbrn7fnnw7s6wafaji5yf21zjsrdmdfyb7m97bk77ss0gprq2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath unix
+       ];
+       description = "Change duplicated files into hard-links";
+       license = "GPL";
+     }) {};
+
+  "make-package" = callPackage
+    ({ mkDerivation, async, base, bytestring, configurator, containers
+     , directory, filepath, github, haskeline, lens, lens-datetime, mtl
+     , process, text, time
+     }:
+     mkDerivation {
+       pname = "make-package";
+       version = "1.2.0";
+       sha256 = "1502pggc0gcmsj6fhzkjcrbqydaxz4qivsmv57jm6cxpbypkyin3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring configurator containers directory filepath
+         github haskeline lens lens-datetime mtl process text time
+       ];
+       homepage = "https://github.com/Philonous/make-package";
+       description = "Make a cabalized package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "makedo" = callPackage
+    ({ mkDerivation, base, directory, filepath, HSH, process }:
+     mkDerivation {
+       pname = "makedo";
+       version = "0.1";
+       sha256 = "0sc2fa45a046lw5x5z839gb1zk0d5nj663ghxajiclm6iw65kl2n";
+       buildDepends = [ base directory filepath HSH process ];
+       jailbreak = true;
+       homepage = "http://darcsden.com/kowey/makedo";
+       description = "Helper for writing redo scripts in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "managed" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "managed";
+       version = "1.0.0";
+       sha256 = "06nb71pd68m5l6a48sz5kkrdif74phbg3y6bn9ydd00y515b9gn5";
+       buildDepends = [ base transformers ];
+       description = "A monad for managed values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "manatee" = callPackage
+    ({ mkDerivation, base, binary, cairo, containers, dbus-client
+     , dbus-core, derive, directory, filepath, gtk, gtk-serialized-event
+     , manatee-core, mtl, stm, template-haskell, text, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee";
+       version = "0.2.2";
+       sha256 = "1v44kml92i426hbinjmx00znyp7dwxa8qj0bmhb3hz0fwmgck1c3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary cairo containers dbus-client dbus-core derive directory
+         filepath gtk gtk-serialized-event manatee-core mtl stm
+         template-haskell text unix utf8-string
+       ];
+       jailbreak = true;
+       description = "The Haskell/Gtk+ Integrated Live Environment";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-all" = callPackage
+    ({ mkDerivation, base, manatee, manatee-browser, manatee-core
+     , manatee-curl, manatee-editor, manatee-filemanager
+     , manatee-imageviewer, manatee-ircclient, manatee-mplayer
+     , manatee-pdfviewer, manatee-processmanager, manatee-reader
+     , manatee-terminal, manatee-welcome
+     }:
+     mkDerivation {
+       pname = "manatee-all";
+       version = "0.2.2";
+       sha256 = "1l3s22svds27q8hyh9nsawpc11crcll3vrcbfy6dvk64s04mwr21";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base manatee manatee-browser manatee-core manatee-curl
+         manatee-editor manatee-filemanager manatee-imageviewer
+         manatee-ircclient manatee-mplayer manatee-pdfviewer
+         manatee-processmanager manatee-reader manatee-terminal
+         manatee-welcome
+       ];
+       description = "Virtual package to install all Manatee packages";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "manatee-anything" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dataenc, dbus-client
+     , dbus-core, filepath, gio, GoogleSuggest, gtk, manatee-core, mtl
+     , network, proc, regex-tdfa, split, stm, text, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-anything";
+       version = "0.0.8";
+       sha256 = "1ag0272cv700yi7y539hz3r04hqfqq9mx3cacp4hix4wag25f0n8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers dataenc dbus-client dbus-core filepath
+         gio GoogleSuggest gtk manatee-core mtl network proc regex-tdfa
+         split stm text unix utf8-string
+       ];
+       jailbreak = true;
+       description = "Multithread interactive input/search framework for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-browser" = callPackage
+    ({ mkDerivation, base, binary, containers, dbus-client, derive
+     , filepath, gtk, manatee-core, mtl, stm, text, utf8-string, webkit
+     }:
+     mkDerivation {
+       pname = "manatee-browser";
+       version = "0.1.1";
+       sha256 = "01blfcfynfbshznrz4arn89j7s063s7xhlkqnzbv42wqk04i083h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers dbus-client derive filepath gtk manatee-core
+         mtl stm text utf8-string webkit
+       ];
+       jailbreak = true;
+       description = "Browser extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-core" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Cabal, cairo
+     , containers, dataenc, dbus-client, dbus-core, derive, directory
+     , filepath, gconf, ghc, ghc-paths, gio, glib, gtk
+     , gtk-serialized-event, gtksourceview2, haskell-src-exts, mtl
+     , network, old-locale, old-time, process, regex-tdfa, split, stm
+     , template-haskell, text, time, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-core";
+       version = "0.1.1";
+       sha256 = "05s5cd43a395jgyh4i01wzzzwha9rx9vrflwyr6lpz5nqnfp755v";
+       buildDepends = [
+         array base binary bytestring Cabal cairo containers dataenc
+         dbus-client dbus-core derive directory filepath gconf ghc ghc-paths
+         gio glib gtk gtk-serialized-event gtksourceview2 haskell-src-exts
+         mtl network old-locale old-time process regex-tdfa split stm
+         template-haskell text time unix utf8-string
+       ];
+       jailbreak = true;
+       description = "The core of Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-curl" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, curl
+     , dbus-client, dbus-core, derive, directory, filepath, gio, glib
+     , gtk, manatee-core, mtl, network, old-locale, old-time, regex-tdfa
+     , stm, template-haskell, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-curl";
+       version = "0.1.1";
+       sha256 = "0v525dcg6cs8mfrcbaxk9vx86gnd37c2z8gp9q8fck11616vckvn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers curl dbus-client dbus-core derive
+         directory filepath gio glib gtk manatee-core mtl network old-locale
+         old-time regex-tdfa stm template-haskell text utf8-string
+       ];
+       jailbreak = true;
+       description = "Download Manager extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-editor" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, dbus-client
+     , dbus-core, derive, filepath, gtk, gtksourceview2, manatee-core
+     , regex-tdfa, stm, text
+     }:
+     mkDerivation {
+       pname = "manatee-editor";
+       version = "0.1.1";
+       sha256 = "0rd6xjc1hmvfchwjh32ij4sa36z0v6b1k81gnx7278qqsscmgl9y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers dbus-client dbus-core derive
+         filepath gtk gtksourceview2 manatee-core regex-tdfa stm text
+       ];
+       jailbreak = true;
+       description = "Editor extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-filemanager" = callPackage
+    ({ mkDerivation, base, binary, containers, dbus-client, derive
+     , filepath, gio, glib, gtk, manatee-core, mtl, old-locale, old-time
+     , stm, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-filemanager";
+       version = "0.1.1";
+       sha256 = "06zrhycpsnfi8r3a071p6qlrqidddv004h10zcglb9ryhw0sh2p1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers dbus-client derive filepath gio glib gtk
+         manatee-core mtl old-locale old-time stm text utf8-string
+       ];
+       jailbreak = true;
+       description = "File manager extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-imageviewer" = callPackage
+    ({ mkDerivation, base, binary, containers, dbus-client, derive
+     , filepath, gio, glib, gtk, gtkimageview, manatee-core, regex-tdfa
+     , stm, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-imageviewer";
+       version = "0.1.1";
+       sha256 = "0yn32xsckvw96kxskfhgcqg98rffl07hkwfjzyd7cm221hwd9s0g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers dbus-client derive filepath gio glib gtk
+         gtkimageview manatee-core regex-tdfa stm text utf8-string
+       ];
+       jailbreak = true;
+       description = "Image viewer extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-ircclient" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
+     , curl, dbus-client, dbus-core, derive, fastirc, filepath, ghc
+     , GoogleTranslate, groom, gtk, gtksourceview2, manatee-core
+     , MorseCode, mtl, nano-md5, network, regex-posix, split, stm
+     , template-haskell, text, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-ircclient";
+       version = "0.1.1";
+       sha256 = "0l14r4mw5bwyjzs5m49sp3vdi2lzfgyjwhsb0q94l3937wb4abgy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring Cabal containers curl dbus-client
+         dbus-core derive fastirc filepath ghc GoogleTranslate groom gtk
+         gtksourceview2 manatee-core MorseCode mtl nano-md5 network
+         regex-posix split stm template-haskell text unix utf8-string
+       ];
+       jailbreak = true;
+       description = "IRC client extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "manatee-mplayer" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, dbus-client
+     , dbus-core, derive, filepath, gio, gtk, libtagc, manatee-core
+     , process, random, regex-tdfa, stm, text, time, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-mplayer";
+       version = "0.1.1";
+       sha256 = "1jg9ikshscpjyq73g125acqndd049ry8zw7h0gglsi63xbqpldz4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers dbus-client dbus-core derive
+         filepath gio gtk libtagc manatee-core process random regex-tdfa stm
+         text time unix utf8-string
+       ];
+       jailbreak = true;
+       description = "Mplayer client extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-pdfviewer" = callPackage
+    ({ mkDerivation, base, binary, cairo, containers, dbus-client
+     , derive, filepath, gtk, manatee-core, mtl, poppler, stm, text
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "manatee-pdfviewer";
+       version = "0.1.1";
+       sha256 = "0k00drrk7mpbc8ak5cwzx245xf968186dkc12cxp7n2h2mccb456";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary cairo containers dbus-client derive filepath gtk
+         manatee-core mtl poppler stm text utf8-string
+       ];
+       jailbreak = true;
+       description = "PDF viewer extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-processmanager" = callPackage
+    ({ mkDerivation, base, binary, containers, dbus-client, derive
+     , filepath, gtk, manatee-core, proc, stm, text
+     }:
+     mkDerivation {
+       pname = "manatee-processmanager";
+       version = "0.1.1";
+       sha256 = "1zxkfil6anh2v692ky9l6gf40784y2czbx8853xmypnhnvgr95ll";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers dbus-client derive filepath gtk manatee-core
+         proc stm text
+       ];
+       jailbreak = true;
+       description = "Process manager extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-reader" = callPackage
+    ({ mkDerivation, base, binary, containers, curl, dbus-client
+     , derive, download-curl, feed, filepath, gtk, manatee-core, stm
+     , text, utf8-string, webkit
+     }:
+     mkDerivation {
+       pname = "manatee-reader";
+       version = "0.1.1";
+       sha256 = "07zkjg1q3gdqiw1pp0325pyvh84740mxvlf8k6sc6l1l258zpk90";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers curl dbus-client derive download-curl feed
+         filepath gtk manatee-core stm text utf8-string webkit
+       ];
+       jailbreak = true;
+       description = "Feed reader extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-template" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, dbus-client
+     , dbus-core, derive, filepath, gtk, gtksourceview2, manatee-core
+     , regex-tdfa, stm, text
+     }:
+     mkDerivation {
+       pname = "manatee-template";
+       version = "0.1.1";
+       sha256 = "0lcd3g7gp3fl4xpc51wgk0q9q1lijgnfdla521h7nqz84wcdfbcy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers dbus-client dbus-core derive
+         filepath gtk gtksourceview2 manatee-core regex-tdfa stm text
+       ];
+       jailbreak = true;
+       description = "Template code to create Manatee application";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-terminal" = callPackage
+    ({ mkDerivation, base, binary, containers, dbus-client, derive
+     , filepath, gtk, manatee-core, stm, text, unix, vte
+     }:
+     mkDerivation {
+       pname = "manatee-terminal";
+       version = "0.1.1";
+       sha256 = "1aj1pghad0jdm3biy9f4caahvpyby0ia3clrl8lg2rmp2j703wkd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers dbus-client derive filepath gtk manatee-core
+         stm text unix vte
+       ];
+       jailbreak = true;
+       description = "Terminal Emulator extension for Manatee";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manatee-welcome" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, dbus-client
+     , dbus-core, derive, filepath, gtk, manatee-core, regex-tdfa, stm
+     , text
+     }:
+     mkDerivation {
+       pname = "manatee-welcome";
+       version = "0.1.1";
+       sha256 = "1vwj91i05rwgqmral4v2mmcmlrqy54h816j8vi6d0ivs1693p308";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers dbus-client dbus-core derive
+         filepath gtk manatee-core regex-tdfa stm text
+       ];
+       jailbreak = true;
+       description = "Welcome module to help user play Manatee quickly";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mancala" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mancala";
+       version = "0.1";
+       sha256 = "1vsrp69qhndagzlw5fg9chi0hhphfbjmlvarypqi3g9fgrdghn46";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "https://github.com/julianalucena/mancala";
+       description = "Simple mancala game";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "mandrill" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, blaze-html
+     , bytestring, containers, email-validate, http-client
+     , http-client-tls, http-types, lens, mtl, old-locale, QuickCheck
+     , raw-strings-qq, tasty, tasty-hunit, tasty-quickcheck, text, time
+     }:
+     mkDerivation {
+       pname = "mandrill";
+       version = "0.2.1.0";
+       sha256 = "0gmlf50hq9dh2xh74dvsyywrbrv7i31d6j7k4pgmfinn8pih03lz";
+       buildDepends = [
+         aeson base base64-bytestring blaze-html bytestring containers
+         email-validate http-client http-client-tls http-types lens mtl
+         old-locale QuickCheck text time
+       ];
+       testDepends = [
+         aeson base bytestring QuickCheck raw-strings-qq tasty tasty-hunit
+         tasty-quickcheck text
+       ];
+       description = "Library for interfacing with the Mandrill JSON API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mandulia" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, GLUT, hslua, time
+     }:
+     mkDerivation {
+       pname = "mandulia";
+       version = "0.7";
+       sha256 = "1wrpzai3482c9g7zfacmjszi6h073ip00fbq17nyc22z2zw4908s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers directory filepath GLUT hslua time
+       ];
+       homepage = "http://gitorious.org/maximus/mandulia";
+       description = "A zooming visualisation of the Mandelbrot Set as many Julia Sets";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mangopay" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, base16-bytestring
+     , base64-bytestring, blaze-builder, bytestring, case-insensitive
+     , conduit, conduit-extra, connection, country-codes, data-default
+     , HTF, http-conduit, http-types, HUnit, lifted-base, monad-control
+     , monad-logger, resourcet, template-haskell, text, time, tls
+     , transformers, transformers-base, unordered-containers
+     , utf8-string, vector, wai, warp, x509-system
+     }:
+     mkDerivation {
+       pname = "mangopay";
+       version = "1.11";
+       sha256 = "1ipw08z1p4kl9b682jl061g87df8kljxn4cdbfz6fx7g82ab58g3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async attoparsec base base16-bytestring base64-bytestring
+         blaze-builder bytestring case-insensitive conduit conduit-extra
+         connection country-codes data-default http-conduit http-types HUnit
+         lifted-base monad-control monad-logger resourcet template-haskell
+         text time tls transformers transformers-base unordered-containers
+         utf8-string vector wai warp x509-system
+       ];
+       testDepends = [
+         aeson async attoparsec base base16-bytestring base64-bytestring
+         blaze-builder bytestring case-insensitive conduit conduit-extra
+         connection country-codes data-default HTF http-conduit http-types
+         HUnit lifted-base monad-control monad-logger resourcet
+         template-haskell text time tls transformers transformers-base
+         unordered-containers utf8-string vector wai warp x509-system
+       ];
+       homepage = "https://github.com/prowdsponsor/mangopay";
+       description = "Bindings to the MangoPay API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "manifolds" = callPackage
+    ({ mkDerivation, base, comonad, constrained-categories, containers
+     , MemoTrie, MonadRandom, random, semigroups, tagged, transformers
+     , vector, vector-algorithms, vector-space, void
+     }:
+     mkDerivation {
+       pname = "manifolds";
+       version = "0.1.0.2";
+       sha256 = "05ysr2rmjc0rqgy409qcga8j748l0w322vxbjdw9yyhcp2kbrv14";
+       buildDepends = [
+         base comonad constrained-categories containers MemoTrie MonadRandom
+         random semigroups tagged transformers vector vector-algorithms
+         vector-space void
+       ];
+       description = "Working with manifolds in a direct, embedding-free way";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "map-syntax" = callPackage
+    ({ mkDerivation, base, containers, deepseq, HUnit, mtl, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , transformers
+     }:
+     mkDerivation {
+       pname = "map-syntax";
+       version = "0.2";
+       sha256 = "02v1dvq86qzbfbwbza4myj3a6a6a5p059fi5m3g548hmqk3v2p1r";
+       buildDepends = [ base containers mtl ];
+       testDepends = [
+         base containers deepseq HUnit mtl QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+       ];
+       description = "Syntax sugar for defining maps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "marionetta" = callPackage
+    ({ mkDerivation, base, containers, gloss, mtl, splines, vector
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "marionetta";
+       version = "0.1.0.3";
+       sha256 = "0k25m5q8p592xrg2qa0mvm3749gllrj4cmmx2h1k5hssan68bk9g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers gloss mtl splines vector vector-space
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/paolino/marionetta";
+       description = "A study of marionetta movements";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "markdown" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-html, blaze-markup
+     , conduit, conduit-extra, containers, data-default, hspec
+     , system-fileio, system-filepath, text, transformers, xss-sanitize
+     }:
+     mkDerivation {
+       pname = "markdown";
+       version = "0.1.13.1";
+       sha256 = "0b10cvz5yryzrzfg2j0pikhfxcly7x4hfmjwnwycs4hy97h2rdnq";
+       buildDepends = [
+         attoparsec base blaze-html blaze-markup conduit conduit-extra
+         containers data-default text transformers xss-sanitize
+       ];
+       testDepends = [
+         base blaze-html conduit conduit-extra containers hspec
+         system-fileio system-filepath text transformers
+       ];
+       homepage = "https://github.com/snoyberg/markdown";
+       description = "Convert Markdown to HTML, with XSS protection";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "markdown-kate" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base, blaze-html
+     , conduit, containers, data-default, highlighting-kate, hspec
+     , markdown, system-fileio, system-filepath, text, transformers
+     , xss-sanitize
+     }:
+     mkDerivation {
+       pname = "markdown-kate";
+       version = "0.1.2.1";
+       sha256 = "0zjqy163rxpjy0w3bn21j193qp04f7sdc8mfskaddqfks402h4i0";
+       buildDepends = [
+         attoparsec attoparsec-conduit base blaze-html conduit containers
+         data-default highlighting-kate text transformers xss-sanitize
+       ];
+       testDepends = [
+         base blaze-html conduit containers hspec markdown system-fileio
+         system-filepath text transformers
+       ];
+       homepage = "https://github.com/joelteon/markdown-kate";
+       description = "Convert Markdown to HTML, with XSS protection";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "markdown-pap" = callPackage
+    ({ mkDerivation, base, monads-tf, papillon }:
+     mkDerivation {
+       pname = "markdown-pap";
+       version = "0.0.1.10";
+       sha256 = "0cq0s9yixkg98vhsgiv1xjia2cn0b4q6gjl1wv0q7yrm26anaqcq";
+       buildDepends = [ base monads-tf papillon ];
+       description = "markdown parser with papillon";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "markdown-unlit" = callPackage
+    ({ mkDerivation, base, directory, hspec, QuickCheck, silently
+     , stringbuilder
+     }:
+     mkDerivation {
+       pname = "markdown-unlit";
+       version = "0.2.0.1";
+       sha256 = "1bc3vcifv2xcddh8liq380c6sxarrs5pf21pfs9i4dx9rfl3hvhq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       testDepends = [
+         base directory hspec QuickCheck silently stringbuilder
+       ];
+       description = "Literate Haskell support for Markdown";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "markdown2svg" = callPackage
+    ({ mkDerivation, base, binary-file, Cabal, directory, filepath
+     , markdown-pap, monads-tf, papillon, png-file, yjsvg
+     }:
+     mkDerivation {
+       pname = "markdown2svg";
+       version = "0.0.1.27";
+       sha256 = "0sman1849sfr0d56kifpyb0ba9pqghvmyhr3gchcd13qimp80395";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary-file Cabal directory filepath markdown-pap monads-tf
+         papillon png-file yjsvg
+       ];
+       description = "markdown to svg converter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "marked-pretty" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "marked-pretty";
+       version = "0.1";
+       sha256 = "0xwymfwja9fh4wgqpqczi9zrn9bynxy069sfcg5d14zd5j54zy8w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Pretty-printing library, with scoping, based on pretty-1.0.0.0";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "markov" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "markov";
+       version = "0.1";
+       sha256 = "1ka44rvrl9ppshbjmk95997cna670bqwjsharcr9qsalp6pchmdf";
+       buildDepends = [ base ];
+       description = "Simple interpreter for Markov's normal algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "markov-chain" = callPackage
+    ({ mkDerivation, base, containers, random, transformers }:
+     mkDerivation {
+       pname = "markov-chain";
+       version = "0.0.3.3";
+       sha256 = "1y9fjsf6dg6a9ha75w2szq4gi5fhq89l1r7wqb20hmadkcjjplx8";
+       buildDepends = [ base containers random transformers ];
+       homepage = "http://code.haskell.org/~thielema/markov-chain/";
+       description = "Markov Chains for generating random sequences with a user definable behaviour";
+       license = "GPL";
+     }) {};
+
+  "markov-processes" = callPackage
+    ({ mkDerivation, assertions, base, bifunctors, memoize, MonadRandom
+     , random
+     }:
+     mkDerivation {
+       pname = "markov-processes";
+       version = "0.0.2";
+       sha256 = "1pd09fdy05l3drmpdd3rbid6g2vdyalrpc704xmacbp186hmnf38";
+       buildDepends = [ base bifunctors memoize MonadRandom random ];
+       testDepends = [ assertions base bifunctors memoize random ];
+       description = "Hidden Markov processes";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "markup" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, hspec, lucid, mtl
+     , text, transformers, urlpath
+     }:
+     mkDerivation {
+       pname = "markup";
+       version = "0.0.6.1";
+       sha256 = "1dhmimqzgr9dgfww714pjmf8zkmygr8ja2sbz0awmlcn5zad48bl";
+       buildDepends = [
+         base blaze-html blaze-markup lucid mtl text transformers urlpath
+       ];
+       testDepends = [ base hspec ];
+       description = "Abstraction for markup languages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "markup-preview" = callPackage
+    ({ mkDerivation, base, cmdargs, directory, glib, gtk
+     , gtk2hs-buildtools, MissingH, mtl, pandoc, temporary, text
+     , transformers, webkit
+     }:
+     mkDerivation {
+       pname = "markup-preview";
+       version = "0.2.2.1";
+       sha256 = "09gfmh9hdzyjijkv2h5a6gfa9rfmba2642rhhh80wsw9y4rg8ns1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs directory glib gtk gtk2hs-buildtools MissingH mtl
+         pandoc temporary text transformers webkit
+       ];
+       jailbreak = true;
+       description = "A simple markup document preview (markdown, textile, reStructuredText)";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "marmalade-upload" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, data-default
+     , directory, exceptions, filepath, http-client, http-client-tls
+     , http-types, keyring, mtl, network, optparse-applicative, process
+     , shake, split, tasty, tasty-hunit, text, transformers, zip-archive
+     }:
+     mkDerivation {
+       pname = "marmalade-upload";
+       version = "0.10";
+       sha256 = "0643l0xnm4rq6zfbbd01ps3z7qnw7crvpblg7n5rwigi0m1zl4n9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring Cabal data-default directory exceptions
+         filepath http-client http-client-tls http-types keyring mtl network
+         optparse-applicative process shake split text transformers
+         zip-archive
+       ];
+       testDepends = [
+         aeson base exceptions tasty tasty-hunit text transformers
+       ];
+       homepage = "https://github.com/lunaryorn/marmalade-upload";
+       description = "Upload packages to Marmalade";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "marquise" = callPackage
+    ({ mkDerivation, async, attoparsec, base, binary, bytestring
+     , containers, cryptohash, data-binary-ieee754, directory, either
+     , errors, fast-logger, filepath, hashable, hslogger, hspec
+     , lifted-async, mmorph, monad-control, monad-logger, mtl
+     , old-locale, optparse-applicative, packer, pipes, pipes-attoparsec
+     , pipes-bytestring, pipes-group, semigroups, siphash, text, time
+     , transformers, transformers-base, unix, unordered-containers
+     , vaultaire-common, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "marquise";
+       version = "4.0.0";
+       sha256 = "1w2lvns840hdzyismdwv70s70qd2af2ms14y58nhp24yf6h58j7b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async attoparsec base binary bytestring containers cryptohash
+         data-binary-ieee754 directory either errors fast-logger filepath
+         hashable hslogger lifted-async mmorph monad-control monad-logger
+         mtl old-locale optparse-applicative packer pipes pipes-attoparsec
+         pipes-bytestring pipes-group semigroups siphash text time
+         transformers transformers-base unix unordered-containers
+         vaultaire-common zeromq4-haskell
+       ];
+       testDepends = [ base bytestring hspec ];
+       description = "Client library for Vaultaire";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "marxup" = callPackage
+    ({ mkDerivation, base, configurator, containers, cubicbezier
+     , directory, dlist, filepath, glpk-hs, graphviz, labeled-tree, lens
+     , mtl, parsek, polynomials-bernstein, pretty, process, text
+     , typography-geometry, vector
+     }:
+     mkDerivation {
+       pname = "marxup";
+       version = "3.0.0.1";
+       sha256 = "01yz9ry25k6kq1r8z3dbqj2xqm95wssfh2jhwarv3w3z65wa6x8n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base configurator containers cubicbezier directory dlist filepath
+         glpk-hs graphviz labeled-tree lens mtl parsek polynomials-bernstein
+         pretty process text typography-geometry vector
+       ];
+       description = "Markup language preprocessor for Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "masakazu-bot" = callPackage
+    ({ mkDerivation, authenticate-oauth, base, bytestring, conduit
+     , datetime, lens, monad-logger, parsers, persistent
+     , persistent-sqlite, persistent-template, regex-posix, text
+     , transformers, twitter-conduit, twitter-types
+     }:
+     mkDerivation {
+       pname = "masakazu-bot";
+       version = "0.4.0.0";
+       sha256 = "1p9d2vy3c7yh1w1aczh3f4886q0hldrpisnkk40w62cqvjg7sig7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         authenticate-oauth base bytestring conduit datetime lens
+         monad-logger parsers persistent persistent-sqlite
+         persistent-template regex-posix text transformers twitter-conduit
+         twitter-types
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/minamiyama1994/chomado-bot-on-haskell/tree/minamiyama1994";
+       description = "@minamiyama1994_bot on haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mastermind" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "mastermind";
+       version = "2010.7.25.1";
+       sha256 = "0bxzjs19n2c7xd1v2hrzx6h1rrw6m8yax7kbcar0q766bv36qfmy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base random ];
+       homepage = "http://wiki.github.com/paolino/mastermind";
+       description = "console mastermind decypher";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "matchers" = callPackage
+    ({ mkDerivation, base, bytestring, pcre, prednote, text }:
+     mkDerivation {
+       pname = "matchers";
+       version = "0.24.0.0";
+       sha256 = "171ncbch38nzy46lb6p9navaar1b492hgf4b9kbd3g6fsldvny64";
+       buildDepends = [ base bytestring prednote text ];
+       extraLibraries = [ pcre ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/matchers";
+       description = "Text matchers";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) pcre;};
+
+  "math-functions" = callPackage
+    ({ mkDerivation, base, deepseq, erf, HUnit, ieee754, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "math-functions";
+       version = "0.1.5.2";
+       sha256 = "12cznf7gwia1ki7xhvlhk5p8d09zrdvfgn07pkp4sfrwsc4vijcy";
+       buildDepends = [ base deepseq erf vector vector-th-unbox ];
+       testDepends = [
+         base HUnit ieee754 QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/bos/math-functions";
+       description = "Special functions and Chebyshev polynomials";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mathblog" = callPackage
+    ({ mkDerivation, base, bytestring, ConfigFile, directory, filepath
+     , HStringTemplate, HUnit, old-locale, pandoc, pandoc-types, process
+     , SHA, test-framework, test-framework-hunit, time, unix
+     }:
+     mkDerivation {
+       pname = "mathblog";
+       version = "0.5";
+       sha256 = "01iyzrwscqirhcr4622d0n16mr4p54qbvg5m2a0ns36j59xfd79g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring ConfigFile directory filepath HStringTemplate HUnit
+         old-locale pandoc pandoc-types process SHA test-framework
+         test-framework-hunit time unix
+       ];
+       jailbreak = true;
+       description = "A program for creating and managing a static weblog with LaTeX math and function graphs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mathgenealogy" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cmdargs, containers
+     , directory, fgl, filepath, graphviz, HTTP, process, safe, tagsoup
+     , text
+     }:
+     mkDerivation {
+       pname = "mathgenealogy";
+       version = "1.3.0";
+       sha256 = "1gbk1bv5v7s4mbs3cr30zhfnm3zrhxhly3791mar5807bqw86q5v";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cmdargs containers directory fgl filepath
+         graphviz HTTP process safe tagsoup text
+       ];
+       jailbreak = true;
+       description = "Discover your (academic) ancestors!";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "mathlink" = callPackage
+    ({ mkDerivation, array, base, c2hs, containers, haskell98
+     , ix-shapable, mtl
+     }:
+     mkDerivation {
+       pname = "mathlink";
+       version = "2.0.1.1";
+       sha256 = "1agqbhl6r40swsvsllyx9vf9hc9a709wvg546rh6fn315waifqqk";
+       buildDepends = [ array base containers haskell98 ix-shapable mtl ];
+       buildTools = [ c2hs ];
+       jailbreak = true;
+       homepage = "http://community.haskell.org/~TracyWadleigh/mathlink";
+       description = "Write Mathematica packages in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "matlab" = callPackage
+    ({ mkDerivation, array, base, Cabal, eng, filepath, mat, mx }:
+     mkDerivation {
+       pname = "matlab";
+       version = "0.2.0.0";
+       sha256 = "08kalclinzqxy5l7j115hz6h9nw1g7mf9rzmpz8dblbhbwvj4l7x";
+       buildDepends = [ array base Cabal filepath ];
+       extraLibraries = [ eng mat mx ];
+       description = "Matlab bindings and interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { eng = null;  mat = null;  mx = null;};
+
+  "matrices" = callPackage
+    ({ mkDerivation, base, binary, primitive, vector
+     , vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "matrices";
+       version = "0.3.2";
+       sha256 = "09d2c6b99hiw858j9llawljb0ls2biky8ddc1cjc72605aacac73";
+       buildDepends = [
+         base binary primitive vector vector-binary-instances
+       ];
+       description = "native matrix based on vector";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "matrix" = callPackage
+    ({ mkDerivation, base, deepseq, loop, primitive, QuickCheck, tasty
+     , tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "matrix";
+       version = "0.3.4.3";
+       sha256 = "1nshgxiza384xh7h22qgbwa75bylc1l3gh6dsm51axapr1ldi8gg";
+       buildDepends = [ base deepseq loop primitive vector ];
+       testDepends = [ base QuickCheck tasty tasty-quickcheck ];
+       description = "A native implementation of matrix operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "matrix-market" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "matrix-market";
+       version = "1.2";
+       sha256 = "1hzpjkmwr24073mf9i13rx3n23ri0b5vmvwx8k9lxbrg1821hy28";
+       buildDepends = [ base bytestring ];
+       homepage = "http://stat.stanford.edu/~patperry/code/matrix-market";
+       description = "Read and write NIST Matrix Market files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "matrix-market-pure" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "matrix-market-pure";
+       version = "0.2";
+       sha256 = "05jjf5wnxhbafrca1qfzlrxvysy5bff22mzk45pia5b9gwdhygn1";
+       buildDepends = [ array base containers ];
+       homepage = "http://bitbucket.org/jetxee/hs-matrix-market";
+       description = "Pure and composable reader and writer of the Matrix Market format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "matsuri" = callPackage
+    ({ mkDerivation, base, ConfigFile, containers, directory, MissingH
+     , mtl, network, old-locale, split, time, vty, vty-ui, XMPP
+     }:
+     mkDerivation {
+       pname = "matsuri";
+       version = "0.0.4";
+       sha256 = "15pjqyy9qs9bn2vfayl73h5maf01snv7rvq1acb3ly8pain36lh4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile containers directory MissingH mtl network
+         old-locale split time vty vty-ui XMPP
+       ];
+       homepage = "http://kagami.touhou.ru/projects/show/matsuri";
+       description = "ncurses XMPP client";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "maude" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, process-extras
+     , temporary, text, xml
+     }:
+     mkDerivation {
+       pname = "maude";
+       version = "0.6.1";
+       sha256 = "0qadqpj5vzg84mqh29p6vr2ffih7y69ds0jdpxmr17am5bh3mhql";
+       buildDepends = [
+         base directory filepath process process-extras temporary text xml
+       ];
+       homepage = "https://github.com/davidlazar/maude-hs";
+       description = "An interface to the Maude rewriting system";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "maxent" = callPackage
+    ({ mkDerivation, ad, base, hmatrix, lagrangian
+     , nonlinear-optimization, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "maxent";
+       version = "0.7";
+       sha256 = "0vxfxlvcrmqcxplw6f2r7nljcam9iv92jy2nxa7x67ldyj7yxk28";
+       buildDepends = [
+         ad base lagrangian nonlinear-optimization vector
+       ];
+       testDepends = [
+         ad base hmatrix lagrangian nonlinear-optimization QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         vector
+       ];
+       homepage = "https://github.com/jfischoff/maxent";
+       description = "Compute Maximum Entropy Distributions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "maximal-cliques" = callPackage
+    ({ mkDerivation, base, containers, vector }:
+     mkDerivation {
+       pname = "maximal-cliques";
+       version = "0.1.1";
+       sha256 = "1sbmykgb5lrd32rih09d8d0r5isz4nh5slfyd93dgln7ag3hb7bh";
+       buildDepends = [ base containers vector ];
+       description = "Enumerate all maximal cliques of a graph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "maxsharing" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, boxes, containers
+     , containers-unicode-symbols, HaLeX, IndentParser, mtl, parsec
+     , process, uuagc, uuagc-cabal
+     }:
+     mkDerivation {
+       pname = "maxsharing";
+       version = "1.0.2";
+       sha256 = "1a9z3bmdjl5mhn718bj8h95m4xlhiyimkz7z54d0dmcv6ryld4wx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols boxes containers
+         containers-unicode-symbols HaLeX IndentParser mtl parsec process
+         uuagc uuagc-cabal
+       ];
+       jailbreak = true;
+       homepage = "http://rochel.info/maxsharing/";
+       description = "Maximal sharing of terms in the lambda calculus with letrec";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "maybench" = callPackage
+    ({ mkDerivation, base, benchpress, Cabal, directory, filepath, mtl
+     , old-time, process, time
+     }:
+     mkDerivation {
+       pname = "maybench";
+       version = "0.2.4.1";
+       sha256 = "1iqfmvj9maa0f4gk66g0j1dv1prhac3vb0b225d9sw9bliwnb1br";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base benchpress Cabal directory filepath mtl old-time process time
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/maybench/";
+       description = "Automated benchmarking tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mbox" = callPackage
+    ({ mkDerivation, base, old-locale, safe, text, time }:
+     mkDerivation {
+       pname = "mbox";
+       version = "0.3";
+       sha256 = "0b4304pb3a24rziybdlkypv2l10kg1ja4zmf94zyy53ahy3kms50";
+       buildDepends = [ base old-locale safe text time ];
+       description = "Read and write standard mailbox files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mbox-tools" = callPackage
+    ({ mkDerivation, base, bytestring, codec-mbox, containers, fclabels
+     , hsemail, mtl, parsec, process, pureMD5, random
+     }:
+     mkDerivation {
+       pname = "mbox-tools";
+       version = "0.2.0.4";
+       sha256 = "1j0dl97skgbxq2gcd3w6jzsdd2yv1mw6z4fz61akcimzyn8c2lvh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring codec-mbox containers fclabels hsemail mtl parsec
+         process pureMD5 random
+       ];
+       homepage = "https://github.com/np/mbox-tools";
+       description = "A collection of tools to process mbox files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mcmaster-gloss-examples" = callPackage
+    ({ mkDerivation, base, gloss }:
+     mkDerivation {
+       pname = "mcmaster-gloss-examples";
+       version = "2013";
+       sha256 = "178f2n2r7m4jznkzhnqqslqf0czvz9h7cifhbdmvr1nihhgb532q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gloss ];
+       jailbreak = true;
+       homepage = "http://www.cas.mcmaster.ca/~anand/";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mcmc-samplers" = callPackage
+    ({ mkDerivation, base, containers, hakaru, hmatrix, mwc-random
+     , primitive, statistics
+     }:
+     mkDerivation {
+       pname = "mcmc-samplers";
+       version = "0.1.1.1";
+       sha256 = "0pqc6i86b5vdhfw93x220k0x7dcfs77s7az6avaw7fn2q6xl1qli";
+       buildDepends = [
+         base containers hakaru hmatrix mwc-random primitive statistics
+       ];
+       description = "Combinators for MCMC sampling";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mcmc-synthesis" = callPackage
+    ({ mkDerivation, base, MonadRandom }:
+     mkDerivation {
+       pname = "mcmc-synthesis";
+       version = "0.1.2.2";
+       sha256 = "14z1x9dqnjj391nrlngs9s887yqh3arc7kfgk0m3d89vrkc185vq";
+       buildDepends = [ base MonadRandom ];
+       jailbreak = true;
+       description = "MCMC applied to probabilistic program synthesis";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "mcpi" = callPackage
+    ({ mkDerivation, base, network, pipes, split, transformers }:
+     mkDerivation {
+       pname = "mcpi";
+       version = "0.0.1.2";
+       sha256 = "15ab4fl49nq398q49wz5fgphfb7xzbrf4j51rnd80qb30rm6xfl6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base network pipes split transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/DougBurke/hmcpi";
+       description = "Connect to MineCraft running on a Raspberry PI";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "mdcat" = callPackage
+    ({ mkDerivation, ansi-terminal, base, directory, pandoc, terminfo
+     }:
+     mkDerivation {
+       pname = "mdcat";
+       version = "0.1.0.4";
+       sha256 = "0jynmcawrxwv6xfbwvz3915rsp2ssx9s8h7i3pgd5adlzqpws19l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ ansi-terminal base directory pandoc terminfo ];
+       homepage = "https://github.com/dorafmon/mdcat";
+       description = "Markdown viewer in your terminal";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mdo" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "mdo";
+       version = "0.0.1";
+       sha256 = "13i4lb74m69k6ij3rq0dqwghdazwmc60fs55prc1h3p7b0rz15mv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process ];
+       description = "Command-line tool to run a command on each of the items";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mecab" = callPackage
+    ({ mkDerivation, base, bytestring, mecab, text }:
+     mkDerivation {
+       pname = "mecab";
+       version = "0.4.0";
+       sha256 = "0z650y4fnxr4mk0i5s8axjbq14dcpgnrzkafbpg17vfhl2v5a3z3";
+       buildDepends = [ base bytestring text ];
+       extraLibraries = [ mecab ];
+       jailbreak = true;
+       homepage = "http://github.com/tanakh/hsmecab";
+       description = "A Haskell binding to MeCab";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { mecab = null;};
+
+  "mecha" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mecha";
+       version = "0.1.1";
+       sha256 = "0y3rzif667kjaxmnf9d382lcbxf27y4ik02kisij125kc7yi6d21";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://tomahawkins.org";
+       description = "A constructive solid geometry (CSG) modeling language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mediawiki" = callPackage
+    ({ mkDerivation, base, HTTP, mime, network, pretty, utf8-string
+     , xml
+     }:
+     mkDerivation {
+       pname = "mediawiki";
+       version = "0.2.6";
+       sha256 = "1wfrhii7zqrw6rmskab40h9zliidi34kd4n07rdkvf8f8nypwg1r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base HTTP mime network pretty utf8-string xml ];
+       description = "Interfacing with the MediaWiki API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mediawiki2latex" = callPackage
+    ({ mkDerivation, array, base, blaze-html, bytestring, containers
+     , directory, directory-tree, file-embed, filepath, happstack-server
+     , highlighting-kate, HTTP, http-conduit, hxt, hxt-http, mtl
+     , network, parsec, process, split, temporary, text, transformers
+     , url, utf8-string, utility-ht
+     }:
+     mkDerivation {
+       pname = "mediawiki2latex";
+       version = "7.9.0.1";
+       sha256 = "0q708hh5280k5hknf1mh3nza7qvpszplcis90y0i78a2jd0x2r3w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base blaze-html bytestring containers directory
+         directory-tree file-embed filepath happstack-server
+         highlighting-kate HTTP http-conduit hxt hxt-http mtl network parsec
+         process split temporary text transformers url utf8-string
+         utility-ht
+       ];
+       homepage = "http://sourceforge.net/projects/wb2pdf/";
+       description = "Convert MediaWiki text to LaTeX";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "meep" = callPackage
+    ({ mkDerivation, base, bifunctors, doctest, hspec
+     , hspec-expectations-lens, lens, QuickCheck, semigroups
+     }:
+     mkDerivation {
+       pname = "meep";
+       version = "0.1.1.0";
+       sha256 = "1rk5mrvmk07m5zdayfvxirak58d1bxwb04sgg0gcx07w8q8k4yyq";
+       buildDepends = [ base bifunctors lens semigroups ];
+       testDepends = [
+         base bifunctors doctest hspec hspec-expectations-lens lens
+         QuickCheck semigroups
+       ];
+       description = "A silly container";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mega-sdist" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, directory
+     , http-conduit, http-types, network, shelly, system-fileio
+     , system-filepath, tar, text, transformers, zlib-conduit
+     }:
+     mkDerivation {
+       pname = "mega-sdist";
+       version = "0.2.10.4";
+       sha256 = "0x85l77q9zzi1gmcl9h3rrjbgyfynxqcczl636iah88wvdg7lplg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit containers directory http-conduit
+         http-types network shelly system-fileio system-filepath tar text
+         transformers zlib-conduit
+       ];
+       homepage = "https://github.com/snoyberg/mega-sdist";
+       description = "Handles uploading to Hackage from mega repos (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "meldable-heap" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "meldable-heap";
+       version = "2.0.3";
+       sha256 = "1p75zjlls38sd1lma7w95mpmb9kdff19s2as6pz1ki1g20nnxdk3";
+       buildDepends = [ base ];
+       homepage = "http://code.google.com/p/priority-queues/";
+       description = "Asymptotically optimal, Coq-verified meldable heaps, AKA priority queues";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "melody" = callPackage
+    ({ mkDerivation, base, containers, either, HUnit, lens, mtl, parsec
+     , ParsecTools, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "melody";
+       version = "0.2";
+       sha256 = "1sbwd1xmgh94ll3xm7ancjsaalk2mphnr1l331zix5s3kqvy6g6p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers either lens mtl parsec ParsecTools
+       ];
+       testDepends = [
+         base containers HUnit mtl test-framework test-framework-hunit
+       ];
+       jailbreak = true;
+       description = "A functional scripting language";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "memcache" = callPackage
+    ({ mkDerivation, base, binary, blaze-builder, bytestring, network
+     }:
+     mkDerivation {
+       pname = "memcache";
+       version = "0.0.0";
+       sha256 = "0bwnr28wn5anc2bcg2fwci3rgn2ykxp1gg58qg97d7lw1djmikwr";
+       buildDepends = [ base binary blaze-builder bytestring network ];
+       testDepends = [ base bytestring ];
+       homepage = "https://github.com/dterei/memcache-hs";
+       description = "A memcached client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "memcache-haskell" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, hashable
+     , hashtables, HUnit, mtl, network, network-conduit, QuickCheck
+     , resourcet, split, stm, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, transformers
+     }:
+     mkDerivation {
+       pname = "memcache-haskell";
+       version = "0.0.10";
+       sha256 = "1k853wc1rqwq4wrsk72qs4gravd7scdgi4cvsjzjg8w0vn0scqm2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers hashable hashtables mtl
+         network network-conduit resourcet split stm transformers
+       ];
+       testDepends = [
+         base bytestring HUnit network QuickCheck split test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+       ];
+       jailbreak = true;
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "memcached" = callPackage
+    ({ mkDerivation, base, bytestring, network, utf8-light }:
+     mkDerivation {
+       pname = "memcached";
+       version = "0.2.1";
+       sha256 = "1a6wzznhpz06c0y3wrjf5bskdd8myild8v0p0x1h0swhmy6di2yd";
+       buildDepends = [ base bytestring network utf8-light ];
+       jailbreak = true;
+       homepage = "http://github.com/olegkat/haskell-memcached";
+       description = "haskell bindings for memcached";
+       license = "unknown";
+     }) {};
+
+  "memcached-binary" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, hspec, HUnit
+     , network, process, resource-pool, storable-endian, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "memcached-binary";
+       version = "0.2.0";
+       revision = "2";
+       sha256 = "137vb065f744jq3avpraqryzspch78vc5krp0fw2zzcbk5cm92ad";
+       editedCabalFile = "663a104dc09413397f9640534b6d1a743835a395598f641d02ef0dbd44093530";
+       buildDepends = [
+         base bytestring data-default-class network resource-pool
+         storable-endian time unordered-containers
+       ];
+       testDepends = [
+         base bytestring data-default-class hspec HUnit network process
+       ];
+       homepage = "https://github.com/philopon/memcached-binary";
+       description = "memcached client using binary protocol";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "memexml" = callPackage
+    ({ mkDerivation, base, hxt }:
+     mkDerivation {
+       pname = "memexml";
+       version = "0.0.2";
+       revision = "1";
+       sha256 = "07cmjx10wbpfcblnd23rzdkma04nyjcpd1g58gp0phajj6xj4i7a";
+       editedCabalFile = "a1712ea7643a27f1fb40a771fdae76282818b5d317fe8da6a22e705b06bc3b3e";
+       buildDepends = [ base hxt ];
+       jailbreak = true;
+       homepage = "https://github.com/eggzilla/memexml";
+       description = "Library for reading Meme XML output";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "memo-sqlite" = callPackage
+    ({ mkDerivation, base, direct-sqlite }:
+     mkDerivation {
+       pname = "memo-sqlite";
+       version = "0.1";
+       sha256 = "1gijza29wj79k8czfg4mghq7nqsbpyf1scnm9hmg2ykhnllpzvy3";
+       buildDepends = [ base direct-sqlite ];
+       jailbreak = true;
+       homepage = "https://gitorious.org/memo-sqlite";
+       description = "memoize functions using SQLite3 database";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "memoize" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "memoize";
+       version = "0.7";
+       sha256 = "1sqi9n9r2q3sh00isgj3rmayrlm970a2g9x389rlfb0kczixdnq4";
+       buildDepends = [ base template-haskell ];
+       description = "A memoization library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "memscript" = callPackage
+    ({ mkDerivation, base, readline }:
+     mkDerivation {
+       pname = "memscript";
+       version = "0.0.2.0";
+       sha256 = "0vbmgvdjq4mxax39zr6anmb96pr2pgqlwmc4qbkrz2c7v8hg2mjb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base readline ];
+       homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/memscript";
+       description = "Command line utility for memorizing scriptures or any other text";
+       license = "GPL";
+     }) {};
+
+  "mersenne-random" = callPackage
+    ({ mkDerivation, base, old-time }:
+     mkDerivation {
+       pname = "mersenne-random";
+       version = "1.0.0.1";
+       sha256 = "193qz3wn7lz18aywddr9qyn8v08ifv2yxwr68c67p5mn8vr8mvmw";
+       buildDepends = [ base old-time ];
+       homepage = "http://code.haskell.org/~dons/code/mersenne-random";
+       description = "Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mersenne-random-pure64" = callPackage
+    ({ mkDerivation, base, old-time, random }:
+     mkDerivation {
+       pname = "mersenne-random-pure64";
+       version = "0.2.0.4";
+       sha256 = "0qh72ynfg1k4c70qxdzsa6f1x9wyxil2d9gi85c879wrc41k899h";
+       buildDepends = [ base old-time random ];
+       homepage = "http://code.haskell.org/~dons/code/mersenne-random-pure64/";
+       description = "Generate high quality pseudorandom numbers purely using a Mersenne Twister";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "messagepack" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cereal, containers
+     , QuickCheck, test-framework, test-framework-quickcheck2
+     , test-framework-th, text
+     }:
+     mkDerivation {
+       pname = "messagepack";
+       version = "0.3.0";
+       sha256 = "1icl40fh9glzr105aha3971gnbnzw528sgdia8kwlj751v3nnpa0";
+       buildDepends = [
+         attoparsec base bytestring cereal containers text
+       ];
+       testDepends = [
+         base bytestring cereal containers QuickCheck test-framework
+         test-framework-quickcheck2 test-framework-th text
+       ];
+       homepage = "https://github.com/rodrigosetti/messagepack";
+       description = "Serialize instance for Message Pack Object";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "messagepack-rpc" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, messagepack
+     , network-simple, text
+     }:
+     mkDerivation {
+       pname = "messagepack-rpc";
+       version = "0.1.0.3";
+       sha256 = "0g9lj3fb81gng3z4kdikwa9vgz73hjdqygzhcqd8fphcynv8j6m1";
+       buildDepends = [
+         base bytestring cereal containers messagepack network-simple text
+       ];
+       homepage = "http://github.com/rodrigosetti/messagepack-rpc";
+       description = "Message Pack RPC over TCP";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "messente" = callPackage
+    ({ mkDerivation, base, bytestring, HTTP, http-conduit, network }:
+     mkDerivation {
+       pname = "messente";
+       version = "0.1.0.1";
+       sha256 = "1yv2dspkn34yf61z8c09aijngjr96w30s2sjmhyv9c2c48ys6jc5";
+       buildDepends = [ base bytestring HTTP http-conduit network ];
+       homepage = "http://github.com/kaiko/messente-haskell";
+       description = "Messente SMS Gateway";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "meta-misc" = callPackage
+    ({ mkDerivation, base, loch-th, template-haskell }:
+     mkDerivation {
+       pname = "meta-misc";
+       version = "0.1.0.3";
+       sha256 = "0pxsg67r2z0f9zxr8m98sndlii0bixyxwgjkc31z5743ciw9ch0c";
+       buildDepends = [ base loch-th template-haskell ];
+       homepage = "https://github.com/bairyn/meta-misc";
+       description = "Utility library providing miscellaneous meta-programming utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "meta-par" = callPackage
+    ({ mkDerivation, abstract-deque, abstract-par, base, bytestring
+     , containers, deepseq, mtl, mwc-random, transformers, vector
+     }:
+     mkDerivation {
+       pname = "meta-par";
+       version = "0.3";
+       sha256 = "012blwbwxac2wikiydvjsa4b7f866wws3g33bczv8dzcx3123ljn";
+       buildDepends = [
+         abstract-deque abstract-par base bytestring containers deepseq mtl
+         mwc-random transformers vector
+       ];
+       homepage = "https://github.com/simonmar/monad-par";
+       description = "Provides the monad-par interface, but based on modular scheduler \"mix-ins\"";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "meta-par-accelerate" = callPackage
+    ({ mkDerivation, abstract-deque, abstract-par
+     , abstract-par-accelerate, accelerate, array, base, meta-par
+     , QuickCheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "meta-par-accelerate";
+       version = "0.3.5";
+       sha256 = "0gl6bh2jqf697vl4cg88z39g6180bbha01h67qz46f1vcyvi0lwq";
+       buildDepends = [
+         abstract-deque abstract-par abstract-par-accelerate accelerate
+         array base meta-par QuickCheck transformers vector
+       ];
+       homepage = "https://github.com/simonmar/monad-par";
+       description = "Support for integrated Accelerate computations within Meta-par";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "metadata" = callPackage
+    ({ mkDerivation, base, text, time }:
+     mkDerivation {
+       pname = "metadata";
+       version = "0.2.0.0";
+       sha256 = "148c7vgh8zxgy5fb0xflk0lzm5d233d1ynjncpiwi1bb9jzbdm3r";
+       buildDepends = [ base text time ];
+       jailbreak = true;
+       homepage = "http://github.com/cutsea110/metadata";
+       description = "metadata library for semantic web";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "metamorphic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "metamorphic";
+       version = "0.1.2.3";
+       sha256 = "0pazw2kdsl8g4dax6bg0hfg7vp2nna6lrsnzdkixpins7ac95078";
+       buildDepends = [ base ];
+       homepage = "http://github.com/technogeeky/metamorphic";
+       description = "metamorphisms: ana . cata or understanding folds and unfolds";
+       license = "unknown";
+     }) {};
+
+  "metaplug" = callPackage
+    ({ mkDerivation, base, Cabal, filepath, ghc, haskell98 }:
+     mkDerivation {
+       pname = "metaplug";
+       version = "0.1.1";
+       sha256 = "086n9kqyi2jqki31jgylm0r63ahgvw3pf7mi5hln2m86a5x4ij4n";
+       buildDepends = [ base Cabal filepath ghc haskell98 ];
+       description = "a tiny ghc api wrapper";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "metric" = callPackage
+    ({ mkDerivation, base, data-default, edit-distance, hmatrix
+     , QuickCheck, test-framework, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "metric";
+       version = "0.2.0";
+       sha256 = "172drfn8p5yqyvka2jphhi1lfj5msv2xssa271lfb3w757br452d";
+       buildDepends = [ base data-default edit-distance hmatrix vector ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2 vector
+       ];
+       description = "Metric spaces";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "metrics" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
+     , lens, mtl, mwc-random, primitive, QuickCheck, text, time, unix
+     , unordered-containers, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "metrics";
+       version = "0.2.1.0";
+       sha256 = "1q3j4ssij3v688yhn0zzs1bvyp21p0vnp2760qbvha1a7g0m8gif";
+       buildDepends = [
+         ansi-terminal base bytestring containers lens mtl mwc-random
+         primitive text time unix unordered-containers vector
+         vector-algorithms
+       ];
+       testDepends = [
+         async base lens mwc-random primitive QuickCheck unix
+       ];
+       description = "High-performance application metric tracking";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "metricsd-client" = callPackage
+    ({ mkDerivation, base, network }:
+     mkDerivation {
+       pname = "metricsd-client";
+       version = "0.1";
+       sha256 = "1q807wvmj1q605257jj60h0j2wal6ypjiad9wkjmv836p3mis5q9";
+       buildDepends = [ base network ];
+       jailbreak = true;
+       description = "Client for the metrics aggregator Metricsd";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "metronome" = callPackage
+    ({ mkDerivation, base, data-lens, data-lens-template, hosc, stm }:
+     mkDerivation {
+       pname = "metronome";
+       version = "0.1";
+       sha256 = "0gx0g8s5w99mhvip1v1kj03dhij3fhig1b8myha0zdssf2x6vjwc";
+       buildDepends = [ base data-lens data-lens-template hosc stm ];
+       description = "Time Synchronized execution";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mgeneric" = callPackage
+    ({ mkDerivation, base, containers, lens, mtl, template-haskell }:
+     mkDerivation {
+       pname = "mgeneric";
+       version = "0.0.0.2";
+       sha256 = "1pgmgssysl0nv9z4vvlmxjijl6y7jvy1b7ph30jnj3fmcrwdf6w3";
+       buildDepends = [ base containers lens mtl template-haskell ];
+       homepage = "http://github.com/RafaelBocquet/haskell-mgeneric/";
+       description = "Generics with multiple parameters";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mi" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, parsec, split
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "mi";
+       version = "0.0.1";
+       sha256 = "03virg707xxy330xq4g60fy1rvs1rq9w5p08yc5khzh64v1g3i2b";
+       buildDepends = [
+         base haskell-src-meta parsec split template-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/matt76k/mi";
+       description = "Multiple Instance for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "microbench" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "microbench";
+       version = "0.1";
+       sha256 = "05yphn77rxg7zqpn27292yvmah2634hqfx2mgfyp5yws5ickrvkg";
+       buildDepends = [ base time ];
+       homepage = "http://neugierig.org/software/darcs/browse/?r=microbench;a=summary";
+       description = "Microbenchmark Haskell code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "microformats2-types" = callPackage
+    ({ mkDerivation, aeson, base, data-default-class, pandoc-types
+     , setters, text, time
+     }:
+     mkDerivation {
+       pname = "microformats2-types";
+       version = "0.4.0";
+       sha256 = "020193sbvg5arha9pvbc88wqrqyvshy19kz02knkh5kv0dzqngf6";
+       buildDepends = [
+         aeson base data-default-class pandoc-types setters text time
+       ];
+       homepage = "https://github.com/myfreeweb/microformats2-types";
+       description = "Microformats 2 types (with Aeson instances)";
+       license = "unknown";
+     }) {};
+
+  "microtimer" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "microtimer";
+       version = "0.0.1.2";
+       sha256 = "09w8jn6g8fq3zsp2ahdrzv33mvayh8vladmc2wf8pbmpmdii0kap";
+       buildDepends = [ base time ];
+       homepage = "http://thoughtpolice.github.com/hs-microtimer";
+       description = "A tiny library for benchmarking IO actions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "midi" = callPackage
+    ({ mkDerivation, base, binary, bytestring, event-list
+     , explicit-exception, monoid-transformer, non-negative, QuickCheck
+     , random, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "midi";
+       version = "0.2.1.3";
+       sha256 = "0mqf6q7686zdxljkz3bqa2zhkgirqz5c1fkbd3n4wyipzhjc773a";
+       buildDepends = [
+         base binary bytestring event-list explicit-exception
+         monoid-transformer non-negative QuickCheck random transformers
+         utility-ht
+       ];
+       testDepends = [
+         base bytestring event-list explicit-exception non-negative
+         QuickCheck transformers utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/MIDI";
+       description = "Handling of MIDI messages and files";
+       license = "GPL";
+     }) {};
+
+  "midi-alsa" = callPackage
+    ({ mkDerivation, alsa-seq, base, data-accessor, midi, utility-ht }:
+     mkDerivation {
+       pname = "midi-alsa";
+       version = "0.2.1";
+       sha256 = "13dc299d252nrll1vzp7pl1ncv0qw3xhz5b3kqnc8hb0g4mkkgpc";
+       buildDepends = [ alsa-seq base data-accessor midi utility-ht ];
+       homepage = "http://www.haskell.org/haskellwiki/MIDI";
+       description = "Convert between datatypes of the midi and the alsa packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "midi-util" = callPackage
+    ({ mkDerivation, base, containers, event-list, midi, non-negative
+     }:
+     mkDerivation {
+       pname = "midi-util";
+       version = "0.1.1";
+       sha256 = "14apfrhahm5pniwpjgk5ckgb1y6zlfxcb91xsh4qpg1axav89cr2";
+       buildDepends = [ base containers event-list midi non-negative ];
+       homepage = "http://github.com/mtolly/midi-util";
+       description = "Utility functions for processing MIDI files";
+       license = "GPL";
+     }) {};
+
+  "midimory" = callPackage
+    ({ mkDerivation, alsa-core, alsa-seq, base, containers, random
+     , transformers, wx, wxcore
+     }:
+     mkDerivation {
+       pname = "midimory";
+       version = "0.0.0.2";
+       sha256 = "13bfb2s6ybvspmmq427v55nb2csvcp4ijfgm9fvfh6cab2pm1dyz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         alsa-core alsa-seq base containers random transformers wx wxcore
+       ];
+       jailbreak = true;
+       homepage = "http://www.youtube.com/watch?v=cOlR73h2uII";
+       description = "A Memory-like (Concentration, Pairs, ...) game for tones";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "midisurface" = callPackage
+    ({ mkDerivation, alsa-core, alsa-seq, base, containers, gtk, mtl
+     , stm
+     }:
+     mkDerivation {
+       pname = "midisurface";
+       version = "0.1.0.0";
+       sha256 = "0i1g1hqr1jjjnrrkfgp0i9zm5cm6aza1kzqy2z8hmbqjdvyv21fz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ alsa-core alsa-seq base containers gtk mtl stm ];
+       jailbreak = true;
+       description = "A control midi surface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mighttpd" = callPackage
+    ({ mkDerivation, base, bytestring, c10k, directory, filepath
+     , haskell98, hdaemonize, hslogger, network, parsec, time, unix
+     , webserver
+     }:
+     mkDerivation {
+       pname = "mighttpd";
+       version = "0.4.3";
+       sha256 = "0xl6x4755x8sz2igqfp3mr5n29q7hb4v5b1mycah9vffk1bhi0yf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring c10k directory filepath haskell98 hdaemonize
+         hslogger network parsec time unix webserver
+       ];
+       homepage = "http://www.mew.org/~kazu/proj/mighttpd/";
+       description = "Simple Web Server in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "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-logger, warp
+     }:
+     mkDerivation {
+       pname = "mighttpd2";
+       version = "3.2.7";
+       sha256 = "1l1d7hbx0ffxgfjvm8v4ay2pmw50yifw9g31mqa88pfwnjb4v5sp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array async auto-update base blaze-builder byteorder bytestring
+         case-insensitive conduit conduit-extra directory filepath
+         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-logger warp
+       ];
+       testDepends = [ base hspec http-client ];
+       homepage = "http://www.mew.org/~kazu/proj/mighttpd/";
+       description = "High performance web server on WAI/warp";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mikmod" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "mikmod";
+       version = "0.2.0.0";
+       sha256 = "0wr671a7r20ysnry92qimdsdnf5gijbxzv382mb7w8fav88v5kvv";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/evanrinehart/mikmod";
+       description = "MikMod bindings";
+       license = "LGPL";
+     }) {};
+
+  "miku" = callPackage
+    ({ mkDerivation, air, air-th, base, bytestring, containers
+     , data-default, hack2, hack2-contrib, mtl
+     }:
+     mkDerivation {
+       pname = "miku";
+       version = "2014.11.17";
+       sha256 = "1zfvi7v05cdp94cdrwxxhwkzqyliaakl16klk9zb0byvsg32ns3n";
+       buildDepends = [
+         air air-th base bytestring containers data-default hack2
+         hack2-contrib mtl
+       ];
+       homepage = "https://github.com/nfjinjing/miku";
+       description = "A minimum web dev DSL in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "milena" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, digest
+     , either, hspec, lens, mtl, network, QuickCheck, random
+     , resource-pool, transformers
+     }:
+     mkDerivation {
+       pname = "milena";
+       version = "0.2.0.0";
+       sha256 = "08nfjd1jn9cniksj8zrifaz3fjgnhzgydlswbz2h4lqv9kyqvvrm";
+       buildDepends = [
+         base bytestring cereal containers digest either lens mtl network
+         random resource-pool transformers
+       ];
+       testDepends = [ base bytestring hspec network QuickCheck ];
+       jailbreak = true;
+       description = "A Kafka client for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mime" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "mime";
+       version = "0.4.0.1";
+       sha256 = "1m987sqnns54qbsg68332mnrjkh71z6s83cma2kwavf0y305mrp0";
+       buildDepends = [ base text ];
+       homepage = "https://github.com/GaloisInc/mime";
+       description = "Working with MIME types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mime-directory" = callPackage
+    ({ mkDerivation, base, base64-string, bytestring, containers
+     , old-locale, regex-pcre, time
+     }:
+     mkDerivation {
+       pname = "mime-directory";
+       version = "0.5.1";
+       sha256 = "1f54rbznv52m4h72yazr397k1d9jyb1i524pfl3d494swvn9b05r";
+       buildDepends = [
+         base base64-string bytestring containers old-locale regex-pcre time
+       ];
+       homepage = "http://code.haskell.org/~mboes/mime-directory.git";
+       description = "A library for parsing/printing the text/directory mime type";
+       license = "LGPL";
+     }) {};
+
+  "mime-mail" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
+     , filepath, hspec, process, random, text
+     }:
+     mkDerivation {
+       pname = "mime-mail";
+       version = "0.4.8.2";
+       sha256 = "19f2q4x8b19sc7y1yyxvl3fsyggjs07yhf1zjw42a875lp4mnvia";
+       buildDepends = [
+         base base64-bytestring blaze-builder bytestring filepath process
+         random text
+       ];
+       testDepends = [ base blaze-builder bytestring hspec text ];
+       homepage = "http://github.com/snoyberg/mime-mail";
+       description = "Compose MIME email messages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "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
+     }:
+     mkDerivation {
+       pname = "mime-mail-ses";
+       version = "0.3.2.2";
+       sha256 = "1dzlfrpqw3bdqkwgp5i52azkp8lv2cgvrdvl1w39q484ra4by2y1";
+       buildDepends = [
+         base base64-bytestring byteable bytestring conduit cryptohash
+         http-client 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";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mime-string" = callPackage
+    ({ mkDerivation, base, base64-string, bytestring, iconv, mtl
+     , network, old-time
+     }:
+     mkDerivation {
+       pname = "mime-string";
+       version = "0.4";
+       sha256 = "0v028cgqll918zdaa95myazlg7dnvb2cvvvm1iyyqw81grza3r61";
+       buildDepends = [
+         base base64-string bytestring iconv mtl network old-time
+       ];
+       description = "MIME implementation for String's";
+       license = "unknown";
+     }) {};
+
+  "mime-types" = callPackage
+    ({ mkDerivation, base, bytestring, containers, text }:
+     mkDerivation {
+       pname = "mime-types";
+       version = "0.1.0.6";
+       sha256 = "090z3dp928243amnc6s8g10rk2h2bprk9y138q6wj3cpflzr72pw";
+       buildDepends = [ base bytestring containers text ];
+       homepage = "https://github.com/yesodweb/wai";
+       description = "Basic mime-type handling types and functions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mines" = callPackage
+    ({ mkDerivation, base, directory, mtl, random }:
+     mkDerivation {
+       pname = "mines";
+       version = "0.1";
+       sha256 = "16s98hwskycl2bqv1n2bnivh8w8q3xhhj687hk8flcg9s9ny4s8k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory mtl random ];
+       homepage = "http://finder.homelinux.org/haskell/Mines";
+       description = "Minesweeper simulation using neural networks";
+       license = "unknown";
+     }) {};
+
+  "minesweeper" = callPackage
+    ({ mkDerivation, base, binary, binary-generic, bytestring, cairo
+     , containers, directory, filepath, glade, gtk, random, time
+     }:
+     mkDerivation {
+       pname = "minesweeper";
+       version = "0.9.2.1";
+       sha256 = "1cbw136wl9rdcl4vbbz9i5w1mw33qhr0gzbww0qf63zfz2lg4gs2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary binary-generic bytestring cairo containers directory
+         filepath glade gtk random time
+       ];
+       jailbreak = true;
+       description = "Minesweeper game which is always solvable without guessing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "miniball" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "miniball";
+       version = "0.1.0.2";
+       sha256 = "16fdzbfspxqi0h7v6gn25n065anvk9zm28236qvfwbvr9l2ki172";
+       buildDepends = [ base vector ];
+       homepage = "http://nonempty.org/software/haskell-miniball";
+       description = "Bindings to Miniball, a smallest enclosing ball library";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "miniforth" = callPackage
+    ({ mkDerivation, base, containers, lens, MonadRandom, mtl
+     , mtl-compat, parsec, parsec3-numbers, readline
+     }:
+     mkDerivation {
+       pname = "miniforth";
+       version = "0.1.0.1";
+       sha256 = "1f2scxg7j6zifqj6q2khxb8s49ilnk4r9qms72vysp1s5p76zk0g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers lens MonadRandom mtl mtl-compat parsec
+         parsec3-numbers readline
+       ];
+       jailbreak = true;
+       description = "Miniature FORTH-like interpreter";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "minimal-configuration" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, tconfig }:
+     mkDerivation {
+       pname = "minimal-configuration";
+       version = "0.1.1";
+       revision = "1";
+       sha256 = "06r710l30kf5aaz2k446z9fhc6zshdsssp1zwri0572r1jryzd43";
+       editedCabalFile = "12049d8491610c2789c61e4736586d3fa8b1122c5c7657647c3de8d21073ef80";
+       buildDepends = [ base containers directory filepath tconfig ];
+       description = "Minimal ini like configuration library with a few extras";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "minimorph" = callPackage
+    ({ mkDerivation, base, HUnit, test-framework, test-framework-hunit
+     , text
+     }:
+     mkDerivation {
+       pname = "minimorph";
+       version = "0.1.6.0";
+       sha256 = "17ds0bjpyz7ngsq7nnlqix6yjfr6clr7xkwgpg4fysii7qvymbkz";
+       buildDepends = [ base text ];
+       testDepends = [
+         base HUnit test-framework test-framework-hunit text
+       ];
+       homepage = "https://github.com/Mikolaj/minimorph";
+       description = "English spelling functions with an emphasis on simplicity";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "minimung" = callPackage
+    ({ mkDerivation, base, GLUT, haskell98, unix }:
+     mkDerivation {
+       pname = "minimung";
+       version = "0.1";
+       sha256 = "0i825bd751adfj22lkgc929jlgxjj16i81k8qqkhqh7ib131kqlf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT haskell98 unix ];
+       description = "Shows how to run grabber on Mac OS X";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "minions" = callPackage
+    ({ mkDerivation, ansi-terminal, base, MissingH, process, time }:
+     mkDerivation {
+       pname = "minions";
+       version = "0.2.0.0";
+       sha256 = "1r7c07pa9lr7h32y1mgxrlrj6a4sf8kfwc7vvvrr6bjfwr3m54vl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ ansi-terminal base MissingH process time ];
+       jailbreak = true;
+       homepage = "http://github.com/jhickner/minions";
+       description = "A fast parallel ssh tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "minioperational" = callPackage
+    ({ mkDerivation, base, containers, elevator, extensible, mtl
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "minioperational";
+       version = "0.4.9";
+       sha256 = "0kbfk3gpgzxi84kyjf7awdc2x579339zd7c42khlflhk6y88j95m";
+       buildDepends = [
+         base containers elevator extensible mtl template-haskell
+         transformers
+       ];
+       homepage = "https://github.com/fumieval/minioperational";
+       description = "fast and simple operational monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "miniplex" = callPackage
+    ({ mkDerivation, base, colock, directory, mtl, network, stm, unix
+     }:
+     mkDerivation {
+       pname = "miniplex";
+       version = "0.3.4";
+       sha256 = "15rsg617wmh8cb0f2pkd5hyzrj96qjvar4p6nx21vlxr3b2plcg4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base colock directory mtl network stm unix ];
+       jailbreak = true;
+       description = "simple 1-to-N interprocess communication";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "minirotate" = callPackage
+    ({ mkDerivation, base, data-accessor, data-accessor-template
+     , directory, filepath, mtl, old-locale, old-time, process, safe
+     , split, template-haskell
+     }:
+     mkDerivation {
+       pname = "minirotate";
+       version = "0.1.2.2";
+       sha256 = "15hgag1r0w6smilab7059z7bsn9i1czhdknma53rmj1ma2pd148y";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base data-accessor data-accessor-template directory filepath mtl
+         old-locale old-time process safe split template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://tener.github.com/haskell-minirotate/";
+       description = "Minimalistic file rotation utility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "minisat" = callPackage
+    ({ mkDerivation, async, base, zlib }:
+     mkDerivation {
+       pname = "minisat";
+       version = "0.1.1";
+       sha256 = "1myy23mrhnm7wv6mzyym9jmw8pnlqkfam9dl082i8qll3mxrl83i";
+       buildDepends = [ async base ];
+       extraLibraries = [ zlib ];
+       description = "A Haskell bundle of the Minisat SAT solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) zlib;};
+
+  "ministg" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, monads-tf
+     , parsec, pretty, transformers, xhtml
+     }:
+     mkDerivation {
+       pname = "ministg";
+       version = "0.3";
+       sha256 = "05ddhr50pbqy0yjgcw0wgfjxlkgapg0zppqqyxfy5apr68zd02mm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath monads-tf parsec pretty
+         transformers xhtml
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Ministg";
+       description = "an interpreter for an operational semantics for the STG machine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "miniutter" = callPackage
+    ({ mkDerivation, base, binary, containers, ghc-prim, HUnit
+     , minimorph, test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "miniutter";
+       version = "0.4.4.1";
+       sha256 = "1raq5dq6mx56ddyq5hnh9r2yflry6prcjf17p15ds1w5r8cp8yx1";
+       buildDepends = [ base binary containers ghc-prim minimorph text ];
+       testDepends = [
+         base containers HUnit test-framework test-framework-hunit text
+       ];
+       homepage = "https://github.com/Mikolaj/miniutter";
+       description = "Simple English clause creation from arbitrary words";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mirror-tweet" = callPackage
+    ({ mkDerivation, authenticate-oauth, base, bytestring, conduit
+     , lens, monad-logger, text, transformers, twitter-conduit
+     }:
+     mkDerivation {
+       pname = "mirror-tweet";
+       version = "0.1.0.0";
+       sha256 = "07dz0c65xkb7kgr2rby7m3g5893rqsbyl2nmjhf4q2wqsypmiipa";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         authenticate-oauth base bytestring conduit lens monad-logger text
+         transformers twitter-conduit
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/minamiyama1994/mirror-tweet";
+       description = "Tweet mirror";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "misfortune" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, directory, filepath
+     , knob, monad-loops, random-fu, regex-base, regex-pcre, semigroups
+     , text, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "misfortune";
+       version = "0.1.1.1";
+       sha256 = "0knb31jxxn7zds13a90d4lir39386nwzd181mlzkrw5niw1zwmhb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal directory filepath knob monad-loops
+         random-fu regex-base regex-pcre semigroups text utf8-string vector
+       ];
+       homepage = "https://github.com/mokus0/misfortune";
+       description = "fortune-mod clone";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "missing-foreign" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "missing-foreign";
+       version = "0.1.1";
+       sha256 = "11f8pknbarlj956nmalqhd2v704z7d7xbi61hs1q8vb2p36kc6wy";
+       buildDepends = [ base ];
+       description = "Convenience functions for FFI work";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "missing-py2" = callPackage
+    ({ mkDerivation, anydbm, base, Cabal, directory, HUnit, MissingH }:
+     mkDerivation {
+       pname = "missing-py2";
+       version = "1.0.1";
+       sha256 = "0daa310acml90r4f4qdjf3qns70gvx08mpjzw2h3v46vrwlacrmj";
+       buildDepends = [ anydbm base MissingH ];
+       testDepends = [ anydbm base Cabal directory HUnit MissingH ];
+       homepage = "https://github.com/domdere/missing-py2";
+       description = "Haskell interface to Python";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mix-arrows" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mix-arrows";
+       version = "1.2";
+       sha256 = "0m70l09bmr8b95d87rpz4vdircdar2rsvnamr2g07542wx024931";
+       buildDepends = [ base ];
+       description = "Mixing effects of one arrow into another one";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mixed-strategies" = callPackage
+    ({ mkDerivation, array, base, containers, simple-tabular }:
+     mkDerivation {
+       pname = "mixed-strategies";
+       version = "0.1.0.0";
+       sha256 = "0vsldq2j2avj98fcz2lbydf4y23iwydr4jsvpbcvwlvqavgz1rkc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers simple-tabular ];
+       jailbreak = true;
+       homepage = "http://wiki.cs.pdx.edu/bartforge/oms";
+       description = "Find optimal mixed strategies for two-player games";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mkbndl" = callPackage
+    ({ mkDerivation, base, directory, filepath, haskell98 }:
+     mkDerivation {
+       pname = "mkbndl";
+       version = "0.2.1";
+       sha256 = "1qzfmf92sx5vq5jxrqhln1a6y8kayrip36izf5m8hryymxd4dard";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath haskell98 ];
+       description = "Makes an OS X .app bundle from a binary.";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mkcabal" = callPackage
+    ({ mkDerivation, base, directory, extensible-exceptions, mtl
+     , old-locale, old-time, pcre-light, pretty, readline
+     }:
+     mkDerivation {
+       pname = "mkcabal";
+       version = "1.0.0";
+       sha256 = "1cmawm49i01xxvzgf67cin6s9hihfc3ihr6s5hn2makasfxbnryc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory extensible-exceptions mtl old-locale old-time
+         pcre-light pretty readline
+       ];
+       homepage = "http://code.haskell.org/~dons/code/mkcabal";
+       description = "Generate cabal files for a Haskell project";
+       license = "GPL";
+     }) {};
+
+  "ml-w" = callPackage
+    ({ mkDerivation, base, mtl, parsec, pretty }:
+     mkDerivation {
+       pname = "ml-w";
+       version = "0.1.1";
+       sha256 = "04d0drqyaz075y6fs3rj6c2sp8ns1x4rfxqf1dbm2b31q09ycnl1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec pretty ];
+       description = "Minimal ML language to to demonstrate the W type infererence algorithm";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "mlist" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "mlist";
+       version = "0.0.2";
+       sha256 = "06mwmahyp781wigjva12kz7w75vjkkprl8k1yiqd1yd0162vp31k";
+       buildDepends = [ base haskell98 ];
+       homepage = "http://haskell.org/haskellwiki/mlist";
+       description = "Monadic List alternative to lazy I/O";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mmap" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "mmap";
+       version = "0.5.9";
+       sha256 = "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       description = "Memory mapped files for POSIX and Windows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mmorph" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "mmorph";
+       version = "1.0.4";
+       sha256 = "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2";
+       buildDepends = [ base transformers ];
+       description = "Monad morphisms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mmtl" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mmtl";
+       version = "0.1";
+       sha256 = "0bb19l52s56y2dwyskvjwdal7387ii2dg9cc1l6f341y3695nj7l";
+       buildDepends = [ base ];
+       description = "Modular Monad transformer library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mmtl-base" = callPackage
+    ({ mkDerivation, base, mmtl }:
+     mkDerivation {
+       pname = "mmtl-base";
+       version = "15321.1";
+       sha256 = "13hdaxpb9zds3yc2l3pl60h26541yvswprdc43swn05hzf6p01nq";
+       buildDepends = [ base mmtl ];
+       description = "MonadBase type-class for mmtl";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "moan" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, dawg
+     , regex-tdfa, regex-tdfa-text, tagset-positional, text, zlib
+     }:
+     mkDerivation {
+       pname = "moan";
+       version = "0.2.0.2";
+       sha256 = "0fb0z3v4a8kblwx4xjs7xdkczpvcyz9la7071kz7q6cjl6w49i30";
+       buildDepends = [
+         base binary bytestring containers dawg regex-tdfa regex-tdfa-text
+         tagset-positional text zlib
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/vjeranc/moan";
+       description = "Language-agnostic analyzer for positional morphosyntactic tags";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "modbus-tcp" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bytestring, cereal
+     , network
+     }:
+     mkDerivation {
+       pname = "modbus-tcp";
+       version = "0.1";
+       sha256 = "1j0gkc6vrvydz0vcdm8bpiarl75zqh4k5z18s4903b6mqwpscslr";
+       buildDepends = [
+         base base-unicode-symbols bytestring cereal network
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/roelvandijk/modbus-tcp";
+       description = "Communicate with Modbus devices over TCP";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "modelicaparser" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers, filepath, parsec
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "modelicaparser";
+       version = "0.1.0.0";
+       sha256 = "0ifsgdqi3376z7xspjlx62hh3dah3dskqrar3s63pmw1cf9b6qfl";
+       buildDepends = [ base containers parsec ];
+       testDepends = [
+         ansi-terminal base containers filepath parsec QuickCheck
+       ];
+       jailbreak = true;
+       description = "A parser for the modelica language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "modsplit" = callPackage
+    ({ mkDerivation, base, directory, filepath, haskell98, mtl
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "modsplit";
+       version = "0.2.1";
+       sha256 = "0xm9vj78clawys9ascgm2fl8kqg5zmdfbkkb42d1d1h5z72cc55p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath haskell98 mtl utf8-string
+       ];
+       description = "Haskell source splitter driven by special comments";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "modular-arithmetic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "modular-arithmetic";
+       version = "1.2.0.0";
+       sha256 = "1qlvi0xjdvr4730xj303i6gp610mz4xrlrk191yy8hr7afjysm0k";
+       buildDepends = [ base ];
+       description = "A type for integers modulo some constant";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "modular-prelude" = callPackage
+    ({ mkDerivation, base, basic-prelude, bytestring, containers
+     , data-default, hashable, system-filepath, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "modular-prelude";
+       version = "0.3.0.0";
+       sha256 = "0hlmxm9xfnf55qz1nrljm0s4bhpa6x973h3qi2b7bl8pil423rkf";
+       buildDepends = [
+         base basic-prelude bytestring containers data-default hashable
+         system-filepath text transformers unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/DanBurton/modular-prelude#readme";
+       description = "A new Prelude featuring first class modules";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "modular-prelude-classy" = callPackage
+    ({ mkDerivation, base, classy-prelude, modular-prelude }:
+     mkDerivation {
+       pname = "modular-prelude-classy";
+       version = "0.1.0.0";
+       sha256 = "1izinrgd9a6sm57isg8jgs4wjidczwqcxl6vg5h4gy5zz9dg8xnx";
+       buildDepends = [ base classy-prelude modular-prelude ];
+       jailbreak = true;
+       homepage = "https://github.com/DanBurton/modular-prelude#readme";
+       description = "Reifying ClassyPrelude a la ModularPrelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "module-management" = callPackage
+    ({ mkDerivation, applicative-extras, base, bytestring, Cabal
+     , cmdargs, containers, data-default, directory, filepath, haskeline
+     , haskell-src-exts, HUnit, lens, lifted-base, monad-control, mtl
+     , pretty, process, pureMD5, set-extra, syb, system-fileio
+     , temporary, transformers-base
+     }:
+     mkDerivation {
+       pname = "module-management";
+       version = "0.20.3";
+       sha256 = "1lj2jhlpn1ywq60q4ph9fbmjn6rjd8wqkj2lrdgscagcvryh9ad2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         applicative-extras base bytestring Cabal cmdargs containers
+         data-default directory filepath haskeline haskell-src-exts HUnit
+         lens lifted-base monad-control mtl pretty process pureMD5 set-extra
+         syb system-fileio temporary transformers-base
+       ];
+       testDepends = [
+         base containers filepath haskell-src-exts HUnit process
+       ];
+       homepage = "https://github.com/seereason/module-management";
+       description = "Clean up module imports, split and merge modules";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "modulespection" = callPackage
+    ({ mkDerivation, base, exceptions, filepath, ghc, ghc-paths
+     , template-haskell, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "modulespection";
+       version = "0.1.2.2";
+       sha256 = "00172s9v4823q4f8mvln2v3m7zcri8vp2b7b8j1ank0sb9lbyjlf";
+       buildDepends = [
+         base exceptions filepath ghc ghc-paths template-haskell temporary
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jfischoff/modulespection";
+       description = "Template Haskell for introspecting a module's declarations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "modulo" = callPackage
+    ({ mkDerivation, atto-lisp, base, data-default, directory
+     , haskell-src, language-c, mtl, nats, pandoc-types, parsec
+     , prettify, process, semigroups, text
+     }:
+     mkDerivation {
+       pname = "modulo";
+       version = "1.9.1";
+       sha256 = "1dxvfd8f7zx43zm9h5dd71ci768khhmh8660h3abazqhm7ws367c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         atto-lisp base data-default directory haskell-src language-c mtl
+         nats pandoc-types parsec prettify process semigroups text
+       ];
+       jailbreak = true;
+       description = "Modular C code generator";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "moe" = callPackage
+    ({ mkDerivation, air, base, bytestring, data-default, dlist, mtl
+     , text
+     }:
+     mkDerivation {
+       pname = "moe";
+       version = "2014.11.17";
+       sha256 = "1rh9g4f488l0fjjvwfaxaf1lbxz1pvq24nxjy2c4yyrg7m7b61z5";
+       buildDepends = [ air base bytestring data-default dlist mtl text ];
+       homepage = "https://github.com/nfjinjing/moe";
+       description = "html with style";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mohws" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-accessor
+     , directory, explicit-exception, filepath, html, HTTP, network
+     , old-locale, old-time, parsec, process, transformers, unix
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "mohws";
+       version = "0.2.1.3";
+       sha256 = "1na585nc16s3giq88kr5i8wlqc03i29blqsgqp40da6dyqiihqwf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-accessor directory
+         explicit-exception filepath html HTTP network old-locale old-time
+         parsec process transformers unix utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/mohws/";
+       description = "Modular Haskell Web Server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-abort-fd" = callPackage
+    ({ mkDerivation, base, data-default, monad-control, mtl
+     , transformers, transformers-abort, transformers-base
+     }:
+     mkDerivation {
+       pname = "monad-abort-fd";
+       version = "0.4";
+       sha256 = "01ny9pq66cma3wai48mhzijk465h7ssrj253npyy2myxnj0y93zr";
+       buildDepends = [
+         base data-default monad-control mtl transformers transformers-abort
+         transformers-base
+       ];
+       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
+    ({ mkDerivation, base, containers, ghc-prim, mtl }:
+     mkDerivation {
+       pname = "monad-atom";
+       version = "0.4.1";
+       sha256 = "16dnp6wz0s56gm58k6m5cv5c47hb2vz1m4a3pqvrg3j97y344c3q";
+       buildDepends = [ base containers ghc-prim mtl ];
+       homepage = "https://bitbucket.org/gchrupala/lingo";
+       description = "Monadically convert object to unique integers and back";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-atom-simple" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, mtl }:
+     mkDerivation {
+       pname = "monad-atom-simple";
+       version = "0.0.2";
+       sha256 = "1k4rcrdjjs52p9mnsbwp0gmb2inivhcqw044l56dbc080yxrk32j";
+       buildDepends = [ base containers ghc-prim mtl ];
+       description = "Monadically map objects to unique ints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-bool" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monad-bool";
+       version = "0.2.0";
+       sha256 = "1f3n2wbd3lbsp2snsf9x4h09apw62hayhzjibakp6mqw6174444h";
+       buildDepends = [ base ];
+       description = "This package has been removed";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-classes" = callPackage
+    ({ mkDerivation, base, conduit, data-lens-light, ghc-prim, mmorph
+     , monad-control, peano, reflection, tasty, tasty-hunit
+     , transformers, transformers-base, transformers-compat
+     }:
+     mkDerivation {
+       pname = "monad-classes";
+       version = "0.3.1.1";
+       sha256 = "1n0ry7lq0vh9siaqxfdfavg67a99zmws5nvr1hjq8k212v36v40c";
+       buildDepends = [
+         base ghc-prim mmorph monad-control peano reflection transformers
+         transformers-base transformers-compat
+       ];
+       testDepends = [
+         base conduit data-lens-light ghc-prim mmorph tasty tasty-hunit
+         transformers
+       ];
+       homepage = "https://github.com/strake/monad-classes.hs";
+       description = "more flexible mtl";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-codec" = callPackage
+    ({ mkDerivation, base, binary, containers, data-lens, mtl }:
+     mkDerivation {
+       pname = "monad-codec";
+       version = "0.2.0";
+       sha256 = "0jim6hk891jby2gch6f1k4262jm8fl9jgl808dj204ylz8w1475l";
+       buildDepends = [ base binary containers data-lens mtl ];
+       homepage = "https://github.com/kawu/monad-codec";
+       description = "Monadic conversion between complex data structures and unique integers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-control" = callPackage
+    ({ mkDerivation, base, stm, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "monad-control";
+       version = "1.0.0.4";
+       sha256 = "07pn1p4m80wdd7gw62s4yny8rbvm60ka1q8qx5y1plznd8sbg179";
+       buildDepends = [
+         base stm transformers transformers-base transformers-compat
+       ];
+       homepage = "https://github.com/basvandijk/monad-control";
+       description = "Lift control operations, like exception catching, through monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-coroutine" = callPackage
+    ({ mkDerivation, base, monad-parallel, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "monad-coroutine";
+       version = "0.9.0.1";
+       sha256 = "10b98w0xr7hbnawfz93qqkbcpvklgkpljxmv9drr40bd9bv33wij";
+       buildDepends = [
+         base monad-parallel transformers transformers-compat
+       ];
+       homepage = "http://trac.haskell.org/SCC/wiki/monad-coroutine";
+       description = "Coroutine monad transformer for suspending and resuming monadic computations";
+       license = "GPL";
+     }) {};
+
+  "monad-exception" = callPackage
+    ({ mkDerivation, base, monad-control, mtl-evil-instances
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "monad-exception";
+       version = "0.1";
+       sha256 = "1mh19mxi6mlkvd083vjjdmdimdnk6n5yaj7v7xxgqycl5sazqkh8";
+       buildDepends = [
+         base monad-control mtl-evil-instances transformers
+         transformers-base
+       ];
+       jailbreak = true;
+       description = "Exstensible monadic exceptions";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-extras" = callPackage
+    ({ mkDerivation, base, mmorph, monad-control, stm, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "monad-extras";
+       version = "0.5.9";
+       sha256 = "1y24yz635brllfygia1mbln4d8xiwb0pq0izh5pil7511gijhs0s";
+       buildDepends = [
+         base mmorph monad-control stm transformers transformers-base
+       ];
+       homepage = "http://github.com/jwiegley/monad-extras";
+       description = "Extra utility functions for working with monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-fork" = callPackage
+    ({ mkDerivation, base, monad-control }:
+     mkDerivation {
+       pname = "monad-fork";
+       version = "0.1";
+       sha256 = "15xwavq4yc3xfif4isjh9m0q9h1bh7pmv2i3rh99sndmd34cdpwc";
+       buildDepends = [ base monad-control ];
+       jailbreak = true;
+       description = "Type class for monads which support a fork operation";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "monad-gen" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "monad-gen";
+       version = "0.3.0.1";
+       sha256 = "0rc4r6sg29sjgh9xsk7q80h0lixhyxs60bszj5dnn8yf7w18b15y";
+       buildDepends = [ base mtl transformers ];
+       description = "A simple monad for generating fresh integers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-interleave" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monad-interleave";
+       version = "0.1";
+       sha256 = "09hpl7ah5ivsrx4xlk96d129n1j4wpx7kj6l95zwadyaz7rj9fp7";
+       buildDepends = [ base ];
+       homepage = "http://github.com/patperry/monad-interleave";
+       description = "Monads with an unsaveInterleaveIO-like operation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-journal" = callPackage
+    ({ mkDerivation, base, either, monad-control, mtl, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "monad-journal";
+       version = "0.7";
+       sha256 = "1bfm5p027vf8dz92m6s47z06h05j2jv4pbwkl31svrz5pi5a9lz2";
+       buildDepends = [
+         base either monad-control mtl transformers transformers-base
+       ];
+       homepage = "http://github.com/phaazon/monad-journal";
+       description = "Pure logger typeclass and monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-levels" = callPackage
+    ({ mkDerivation, base, constraints, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "monad-levels";
+       version = "0.1.0.1";
+       sha256 = "1v3i12h4c788yz93a2c9nxcczrhz8nwpq0057q7b1nad74g70lan";
+       buildDepends = [
+         base constraints transformers transformers-compat
+       ];
+       homepage = "https://github.com/ivan-m/monad-levels";
+       description = "Specific levels of monad transformers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "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
+     }:
+     mkDerivation {
+       pname = "monad-logger";
+       version = "0.3.13.1";
+       sha256 = "0mwdihxly22axrjs9g741zab2yyrm6zy73di99m7lvg8jdj4m2r6";
+       buildDepends = [
+         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
+       ];
+       homepage = "https://github.com/kazu-yamamoto/logger";
+       description = "A class of monads which can log messages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-logger-json" = callPackage
+    ({ mkDerivation, aeson, base, monad-logger, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "monad-logger-json";
+       version = "0.1.0.0";
+       sha256 = "1ap98487lwgvgrrxkjskga86ckbv6rhn2n6pzp403343xx51r1qh";
+       buildDepends = [ aeson base monad-logger template-haskell text ];
+       homepage = "http://github.com/fpco/monad-logger-json";
+       description = "JSON-friendly Logging APIs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-logger-syslog" = callPackage
+    ({ mkDerivation, base, bytestring, fast-logger, hsyslog
+     , monad-logger, text, transformers
+     }:
+     mkDerivation {
+       pname = "monad-logger-syslog";
+       version = "0.1.1.1";
+       sha256 = "0hdm495knrdrl76xlsdp0sk6n0v6qnl9b6r6x9ac6s1p7j1w66vf";
+       buildDepends = [
+         base bytestring fast-logger hsyslog monad-logger text transformers
+       ];
+       homepage = "https://github.com/fpco/monad-logger-syslog";
+       description = "syslog output for monad-logger";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-loops" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monad-loops";
+       version = "0.4.2.1";
+       sha256 = "1dprwndc0bxzpmrkj1xb9kzjrg3i06zsg43yaabn5x5gcaj8is56";
+       buildDepends = [ base ];
+       homepage = "https://github.com/mokus0/monad-loops";
+       description = "Monadic loops";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "monad-loops-stm" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "monad-loops-stm";
+       version = "0.4";
+       sha256 = "0y7j2xpr1s7ggwm3vvpb5mlagsnxhq9qpncapibhk2pbf2d5r7as";
+       buildDepends = [ base stm ];
+       homepage = "https://github.com/mokus0/monad-loops-stm";
+       description = "Monadic loops for STM";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "monad-lrs" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "monad-lrs";
+       version = "0.0.2.1";
+       revision = "1";
+       sha256 = "01i8hz50r3lf8r3rasl96blr6br3p1x6hvckhbi8aw61x507jmcg";
+       editedCabalFile = "dd714797826911e564a0e418307530fa99a8ba9ea91400517be2bb78b4e695c1";
+       buildDepends = [ base containers ];
+       testDepends = [
+         base containers QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/bjin/monad-lrs";
+       description = "a monad to calculate linear recursive sequence";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-memo" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, primitive
+     , QuickCheck, random, test-framework, test-framework-quickcheck2
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "monad-memo";
+       version = "0.4.1";
+       sha256 = "07gid18rsja7gvk2ccsbwvpz223x59mdk9x9w36bz18cy2pw802c";
+       buildDepends = [
+         array base containers mtl primitive transformers vector
+       ];
+       testDepends = [
+         array base containers mtl primitive QuickCheck random
+         test-framework test-framework-quickcheck2 transformers vector
+       ];
+       homepage = "https://github.com/EduardSergeev/monad-memo";
+       description = "Memoization monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-mersenne-random" = callPackage
+    ({ mkDerivation, base, mersenne-random-pure64 }:
+     mkDerivation {
+       pname = "monad-mersenne-random";
+       version = "0.1";
+       sha256 = "03kbqbgv4npzfzn90jk4p17y8kb62sslby6q36819qkif1j76lq6";
+       buildDepends = [ base mersenne-random-pure64 ];
+       homepage = "http://code.haskell.org/~dons/code/monad-mersenne-random";
+       description = "An efficient random generator monad, based on the Mersenne Twister";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-open" = callPackage
+    ({ mkDerivation, base, exceptions, mtl, transformers }:
+     mkDerivation {
+       pname = "monad-open";
+       version = "0.1.0.0";
+       sha256 = "18h24zdvbffnwr2xh4qahakr80z8ly65pmksmk3ngjykxrvif2vx";
+       buildDepends = [ base exceptions mtl transformers ];
+       jailbreak = true;
+       description = "Open recursion for when you need it";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-ox" = callPackage
+    ({ mkDerivation, base, containers, mtl, text, vector }:
+     mkDerivation {
+       pname = "monad-ox";
+       version = "0.3.0";
+       sha256 = "1x65jvh816a296y2ds8vysfzl83am4pwwrnap4zdg0prpcxfpwl8";
+       buildDepends = [ base containers mtl text vector ];
+       homepage = "https://github.com/kawu/monad-ox";
+       description = "Monad for observation extraction";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-par" = callPackage
+    ({ mkDerivation, abstract-deque, abstract-par, array, base
+     , containers, deepseq, HUnit, monad-par-extras, mtl, mwc-random
+     , parallel, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, time
+     }:
+     mkDerivation {
+       pname = "monad-par";
+       version = "0.3.4.7";
+       sha256 = "12n27hs274nrfkpa6hx0gdkrc76wxzliqf53x6689idl363sdf13";
+       buildDepends = [
+         abstract-deque abstract-par array base containers deepseq
+         monad-par-extras mtl mwc-random parallel
+       ];
+       testDepends = [
+         abstract-deque abstract-par array base containers deepseq HUnit
+         monad-par-extras mtl mwc-random QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+         time
+       ];
+       homepage = "https://github.com/simonmar/monad-par";
+       description = "A library for parallel programming based on a monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-par-extras" = callPackage
+    ({ mkDerivation, abstract-par, base, cereal, deepseq, mtl, random
+     , transformers
+     }:
+     mkDerivation {
+       pname = "monad-par-extras";
+       version = "0.3.3";
+       sha256 = "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2";
+       buildDepends = [
+         abstract-par base cereal deepseq mtl random transformers
+       ];
+       homepage = "https://github.com/simonmar/monad-par";
+       description = "Combinators and extra features for Par monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-parallel" = callPackage
+    ({ mkDerivation, base, parallel, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "monad-parallel";
+       version = "0.7.1.4";
+       sha256 = "01sadhl3kv7gsx1m90fb76n2xh7b9awjc9071gzn0ab26d67a98b";
+       buildDepends = [ base parallel transformers transformers-compat ];
+       homepage = "http://trac.haskell.org/SCC/wiki/monad-parallel";
+       description = "Parallel execution of monadic computations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-parallel-progressbar" = callPackage
+    ({ mkDerivation, base, monad-parallel, monadIO
+     , terminal-progress-bar
+     }:
+     mkDerivation {
+       pname = "monad-parallel-progressbar";
+       version = "0.1.0.1";
+       sha256 = "1pqi2alyvsflwy5ygp4cl5g90jg50ix61plqxvsldpdkzncmmk84";
+       buildDepends = [
+         base monad-parallel monadIO terminal-progress-bar
+       ];
+       homepage = "https://github.com/mnacamura/monad-parallel-progressbar";
+       description = "Parallel execution of monadic computations with a progress bar";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-param" = callPackage
+    ({ mkDerivation, base, mtl, stm }:
+     mkDerivation {
+       pname = "monad-param";
+       version = "0.0.4";
+       sha256 = "08rm902kclapqh1iafjrsqspf0szhbx5jaqv6hh9p5zbg8ipdkhc";
+       buildDepends = [ base mtl stm ];
+       homepage = "http://hackage.haskell.org/package/monad-param";
+       description = "Parameterized monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-peel" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, transformers }:
+     mkDerivation {
+       pname = "monad-peel";
+       version = "0.1.1";
+       revision = "1";
+       sha256 = "0n3cxa94wd3hjvy9jgf3d8p7qfb9jaaf29simjya7rlcb673pg3l";
+       editedCabalFile = "64e1f99ea3e8c36d5d4e86794d1fc02966e7036b43ae4e1dcf01ade192962611";
+       buildDepends = [ base extensible-exceptions transformers ];
+       jailbreak = true;
+       homepage = "http://andersk.mit.edu/haskell/monad-peel/";
+       description = "Lift control operations like exception catching through monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-primitive" = callPackage
+    ({ mkDerivation, base, primitive, transformers }:
+     mkDerivation {
+       pname = "monad-primitive";
+       version = "0.1";
+       sha256 = "1vi6g65hdyq5vq78mfag0qljxgzb6vq83m82x3cpgjl7dr9k5h1x";
+       buildDepends = [ base primitive transformers ];
+       homepage = "http://bitbucket.org/Shimuuar/monad-primitive";
+       description = "Type class for monad transformers stack with pirimitive base monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-products" = callPackage
+    ({ mkDerivation, base, semigroupoids }:
+     mkDerivation {
+       pname = "monad-products";
+       version = "4.0.0.1";
+       sha256 = "017cxiavxfw0f08sr0d6m3avla1lplmdj51rxpf1103ripq20r53";
+       buildDepends = [ base semigroupoids ];
+       homepage = "http://github.com/ekmett/monad-products";
+       description = "Monad products";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-ran" = callPackage
+    ({ mkDerivation, base, ghc-prim, mtl }:
+     mkDerivation {
+       pname = "monad-ran";
+       version = "0.1.0";
+       sha256 = "04y9s2b4hz2f8khr0q62xy0f6l2v896s7x03i3s18i14bwscqlax";
+       buildDepends = [ base ghc-prim mtl ];
+       jailbreak = true;
+       description = "Fast monads and monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monad-resumption" = callPackage
+    ({ mkDerivation, base, mmorph, mtl, transformers }:
+     mkDerivation {
+       pname = "monad-resumption";
+       version = "0.1.1.4";
+       sha256 = "0zrzxkzg6fzxiqr9k4kw6r1ivw22qwz2dhl1nd5xqr7lfsqc00zs";
+       buildDepends = [ base mmorph mtl transformers ];
+       homepage = "https://github.com/igraves/resumption_monads";
+       description = "Resumption and reactive resumption monads for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-skeleton" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim }:
+     mkDerivation {
+       pname = "monad-skeleton";
+       version = "0";
+       sha256 = "0niv5pd3n87d1yqn13sam2qsha0dnnkclvn7wxha5zk66km56zyq";
+       buildDepends = [ base containers ghc-prim ];
+       homepage = "https://github.com/fumieval/monad-skeleton";
+       description = "An undead monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-st" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "monad-st";
+       version = "0.2.4";
+       sha256 = "1j67s07p5lsr81cjl0ch5d1q7zarmpak5kmnwckhavihg3l5m3bi";
+       buildDepends = [ base transformers ];
+       homepage = "http://github.com/ekmett/monad-st";
+       description = "Provides a MonadST class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-state" = callPackage
+    ({ mkDerivation, AbortT-transformers, base, fclabels, monads-tf
+     , transformers
+     }:
+     mkDerivation {
+       pname = "monad-state";
+       version = "0.2.0.3";
+       sha256 = "1dh1dw7n39rb85wk4zq0hw2g9x81zyha033awv81l6xl8pjdxqxv";
+       buildDepends = [
+         AbortT-transformers base fclabels monads-tf transformers
+       ];
+       homepage = "https://github.com/bairyn/monad-state";
+       description = "Utility library for monads, particularly those involving state";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-statevar" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "monad-statevar";
+       version = "0.1";
+       sha256 = "08sr29qr02kfqja51ciqcpsf95wp3bypx64f4cwgpwh23xapr1fx";
+       buildDepends = [ base transformers ];
+       testDepends = [ base stm ];
+       homepage = "http://github.com/joeyadams/hs-monad-statevar";
+       description = "Concise, overloaded accessors for IORef, STRef, TVar";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-stlike-io" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, monads-tf
+     }:
+     mkDerivation {
+       pname = "monad-stlike-io";
+       version = "0.2.2";
+       sha256 = "1lizwf31d8ha0xq644cfcn91l8sz8i4ldy12ig4ajfghxj2x4ad5";
+       buildDepends = [ base bytestring containers deepseq monads-tf ];
+       homepage = "http://github.com/taruti/monad-stlike-io";
+       description = "ST-like monad capturing variables to regions and supporting IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-stlike-stm" = callPackage
+    ({ mkDerivation, base, monad-stlike-io, stm }:
+     mkDerivation {
+       pname = "monad-stlike-stm";
+       version = "0.1.1";
+       sha256 = "007rsq9x0dq8xmiimgqb0v8k15xizx63qmc76b1b8a66nfsd9w56";
+       buildDepends = [ base monad-stlike-io stm ];
+       homepage = "http://github.com/taruti/monad-stlike-stm";
+       description = "ST-like monad capturing variables to regions and supporting STM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-stm" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "monad-stm";
+       version = "0.1.0.2";
+       sha256 = "09bbhbj9zg928j3dnvvxsrv8hw1c7s0vj0wffrhs810aqlf1m9xp";
+       buildDepends = [ base stm transformers ];
+       description = "MonadSTM class analogous to MonadIO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-supply" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "monad-supply";
+       version = "0.6";
+       sha256 = "1gg4r7fwaq2fa0lz8pz301mk3q16xpbs7qv54hhggxrv3i1h33ir";
+       buildDepends = [ base mtl ];
+       description = "Stateful supply monad";
+       license = "unknown";
+     }) {};
+
+  "monad-task" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "monad-task";
+       version = "0.1.0";
+       sha256 = "01w3wqmsfl9w96kfpdiwfyghm2zjn70x78l436bzxfrcm1d3ayi8";
+       buildDepends = [ base mtl transformers ];
+       homepage = "http://github.com/ninegua/monad-task";
+       description = "A monad transformer that turns event processing into co-routine programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-tx" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monad-tx";
+       version = "0.0.1";
+       sha256 = "0jv3pcmbm3bph42hhr4i0l3dchapixf5j5gd7ybs9j3bbk3yydk9";
+       buildDepends = [ base ];
+       description = "A transactional state monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monad-unify" = callPackage
+    ({ mkDerivation, base, mtl, unordered-containers }:
+     mkDerivation {
+       pname = "monad-unify";
+       version = "0.2.2";
+       sha256 = "1icl4jaa4vc4lb75m6wv4vjvf8b2xx7aziqhsg2pshizdkfxmgwp";
+       buildDepends = [ base mtl unordered-containers ];
+       description = "Generic first-order unification";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-unlift" = callPackage
+    ({ mkDerivation, base, constraints, exceptions, monad-control, mtl
+     , mutable-containers, stm, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "monad-unlift";
+       version = "0.1.0.1";
+       sha256 = "0mgz9yxyvsrxp7l01frr7qdlpqg2krci472fj4id2ndnn7gk4mmf";
+       buildDepends = [
+         base constraints exceptions monad-control mtl mutable-containers
+         stm transformers transformers-base
+       ];
+       homepage = "https://github.com/fpco/monad-unlift";
+       description = "Typeclasses for representing monad transformer unlifting";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monad-wrap" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "monad-wrap";
+       version = "0.1";
+       sha256 = "1hmigg0cbrsdvf6s0z2wn3s81q12qg3c30jjlsrw4jdfwv1qn13f";
+       buildDepends = [ base transformers ];
+       description = "Wrap functions such as catch around different monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadIO" = callPackage
+    ({ mkDerivation, base, mtl, stm }:
+     mkDerivation {
+       pname = "monadIO";
+       version = "0.10.1.4";
+       sha256 = "08158j978h69knbnzxkzv856sjhhw24h5lh7d8hx2lyhzbpnfarl";
+       buildDepends = [ base mtl stm ];
+       description = "Overloading of concurrency variables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadLib" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monadLib";
+       version = "3.7.3";
+       sha256 = "17m9rj6spr5n9jlhwwvk8p40yrpwgz3j9kj3pjq7mpyrc1ssfd0q";
+       buildDepends = [ base ];
+       homepage = "http://wiki.github.com/yav/monadlib";
+       description = "A collection of monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadLib-compose" = callPackage
+    ({ mkDerivation, base, monadLib }:
+     mkDerivation {
+       pname = "monadLib-compose";
+       version = "0.2";
+       sha256 = "14byhdcby094qpgmkblysnplz5r88xnfk7rnfddihzz4jgjzlvy1";
+       buildDepends = [ base monadLib ];
+       jailbreak = true;
+       homepage = "http://github.com/aristidb/monadLib-compose";
+       description = "Arrow-like monad composition for monadLib";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadacme" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monadacme";
+       version = "0.0.2";
+       sha256 = "1qam6k3gax2kf9zbf0q2mbsknkmx8y73i9qshbylj8wrpf896y97";
+       buildDepends = [ base ];
+       description = "The Acme and AcmeT monads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monadbi" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "monadbi";
+       version = "0.1";
+       sha256 = "0r5hja34nalhvlc4x2rmhk9j1rsd363ilfjkd7y7cv4l8yzvifq7";
+       buildDepends = [ base mtl ];
+       homepage = "https://github.com/ajnsit/monadbi";
+       description = "Extract underlying monads from monad transformers";
+       license = "GPL";
+     }) {};
+
+  "monadcryptorandom" = callPackage
+    ({ mkDerivation, base, bytestring, crypto-api, mtl, tagged
+     , transformers
+     }:
+     mkDerivation {
+       pname = "monadcryptorandom";
+       version = "0.6.1";
+       sha256 = "0j99j0f2qwhslimfgslsdlv0xihsddas3i69pfnjwnsd9zg5pgj2";
+       buildDepends = [
+         base bytestring crypto-api mtl tagged transformers
+       ];
+       homepage = "https://github.com/TomMD/monadcryptorandom";
+       description = "A monad for using CryptoRandomGen";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadfibre" = callPackage
+    ({ mkDerivation, base, monadbi }:
+     mkDerivation {
+       pname = "monadfibre";
+       version = "0.1.2.1";
+       sha256 = "0vj84g5y0k903pz4lk12sa6l6c0f26dc42x62f1mqny8457r3ds6";
+       buildDepends = [ base monadbi ];
+       homepage = "https://github.com/ajnsit/monadfibre";
+       description = "Monadic functions which provide Choice and Parallelism";
+       license = "GPL";
+     }) {};
+
+  "monadic-arrays" = callPackage
+    ({ mkDerivation, array, base, stm, transformers }:
+     mkDerivation {
+       pname = "monadic-arrays";
+       version = "0.2.1.4";
+       sha256 = "1vlqh0mqfkg1f47dhl5lw49b7xawlbyjmq7xpmmf16q3idxnkahh";
+       buildDepends = [ array base stm transformers ];
+       homepage = "http://github.com/ekmett/monadic-arrays/";
+       description = "Boxed and unboxed arrays for monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadiccp" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, pretty, random }:
+     mkDerivation {
+       pname = "monadiccp";
+       version = "0.7.6";
+       sha256 = "083ppr53ac85r5ybndngsfwxgalj63giz32aa7wpcm629b9g4lxc";
+       buildDepends = [ base containers mtl parsec pretty random ];
+       homepage = "http://users.ugent.be/~tschrijv/MCP/";
+       description = "Constraint Programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monadiccp-gecode" = callPackage
+    ({ mkDerivation, base, containers, gecodeint, gecodekernel
+     , gecodesearch, gecodeset, gecodesupport, monadiccp, mtl
+     }:
+     mkDerivation {
+       pname = "monadiccp-gecode";
+       version = "0.1.2";
+       sha256 = "1ylyzklcb37khrq8a11fzlyd0sa1nrhpd7cv470m23v7l1hc1wg0";
+       buildDepends = [ base containers monadiccp mtl ];
+       extraLibraries = [
+         gecodeint gecodekernel gecodesearch gecodeset gecodesupport
+       ];
+       homepage = "http://users.ugent.be/~tschrijv/MCP/";
+       description = "Constraint Programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { gecodeint = null;  gecodekernel = null;  gecodesearch = null;
+          gecodeset = null;  gecodesupport = null;};
+
+  "monadio-unwrappable" = callPackage
+    ({ mkDerivation, base, monads-tf, transformers }:
+     mkDerivation {
+       pname = "monadio-unwrappable";
+       version = "0.3";
+       sha256 = "18hbi4vxj9lfcla11b17sb88ysskxavq00zmrjx62cpyzkp85yxh";
+       buildDepends = [ base monads-tf transformers ];
+       description = "Reversibly allow monad transformer stacks to run in IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadlist" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monadlist";
+       version = "0.0.2";
+       sha256 = "1zpxqp5zhcpk4358xqrapvkcfyazpdsdlrw3g14518y2kwnfifq6";
+       buildDepends = [ base ];
+       description = "Monadic versions of list functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadloc" = callPackage
+    ({ mkDerivation, base, template-haskell, transformers }:
+     mkDerivation {
+       pname = "monadloc";
+       version = "0.7.1";
+       sha256 = "1a773nysrsj61ka7bdacb0i7dxlgb1fjz3x5w9c1w1dv7rmhynmj";
+       buildDepends = [ base template-haskell transformers ];
+       homepage = "http://github.com/pepeiborra/monadloc";
+       description = "A class for monads which can keep a monadic call trace";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "monadloc-pp" = callPackage
+    ({ mkDerivation, base, filepath, haskell-src-exts, monadloc, pretty
+     , syb
+     }:
+     mkDerivation {
+       pname = "monadloc-pp";
+       version = "0.3.1";
+       sha256 = "0ch25kcz63xhinwd6mjqbhm282hfh280s3z910wnvdp3krgx0mpc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base filepath haskell-src-exts monadloc pretty syb
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/pepeiborra/monadloc-pp";
+       description = "A preprocessor for generating monadic call traces";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "monadplus" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monadplus";
+       version = "1.4.2";
+       sha256 = "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin";
+       buildDepends = [ base ];
+       description = "Haskell98 partial maps and filters over MonadPlus";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monads-fd" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "monads-fd";
+       version = "0.2.0.0";
+       sha256 = "1iqr5p3va5sxmpvydwqz2src54j5njcyrzn9p5apc60nv7yv6x4c";
+       buildDepends = [ base mtl transformers ];
+       jailbreak = true;
+       description = "Monad classes, using functional dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monads-tf" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "monads-tf";
+       version = "0.1.0.2";
+       sha256 = "0z07z2lfm3l93fx0qhfd98j76d1rksi5llq67l5v09pm8da4jvyb";
+       buildDepends = [ base transformers ];
+       description = "Monad classes, using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monadtransform" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "monadtransform";
+       version = "0.0.2";
+       sha256 = "0i586zh6247jfmkw2x27j0aq47yz1c71irj9iwrlx1zrmvzak1yv";
+       buildDepends = [ base transformers ];
+       homepage = "https://github.com/tonymorris/monadtransform";
+       description = "A type-class for transforming monads (homomorphism) in a transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monarch" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, doctest
+     , hspec, lifted-base, monad-control, mtl, network, pool-conduit
+     , stm, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "monarch";
+       version = "0.10.0.0";
+       sha256 = "1a47hhlmllrm3k4ssr8rr3bgq1w7i6jpx07nyf0k8k9x5sgi1siv";
+       buildDepends = [
+         base binary bytestring containers lifted-base monad-control mtl
+         network pool-conduit stm transformers transformers-base
+       ];
+       testDepends = [ base bytestring doctest hspec transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/notogawa/monarch";
+       description = "Monadic interface for TokyoTyrant";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mongoDB" = callPackage
+    ({ mkDerivation, array, base, binary, bson, bytestring, containers
+     , cryptohash, hashtables, hspec, lifted-base, monad-control, mtl
+     , network, old-locale, parsec, random, random-shuffle, text, time
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "mongoDB";
+       version = "2.0.4";
+       sha256 = "1gcv2vzmg6vllvpl8pzfkwmf4rqwldz4p0l4gl78hixbbilx0pgy";
+       buildDepends = [
+         array base binary bson bytestring containers cryptohash hashtables
+         lifted-base monad-control mtl network parsec random random-shuffle
+         text transformers-base
+       ];
+       testDepends = [ base hspec mtl old-locale time ];
+       homepage = "https://github.com/mongodb-haskell/mongodb";
+       description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
+       license = "unknown";
+     }) {};
+
+  "mongodb-queue" = callPackage
+    ({ mkDerivation, base, data-default, hspec, lifted-base
+     , monad-control, mongoDB, network, text, transformers
+     }:
+     mkDerivation {
+       pname = "mongodb-queue";
+       version = "0.4.0.1";
+       sha256 = "1y3c5ydf7595ai3h6iapc0dmls348vv1jmy4g8n5wfmwzy4li22s";
+       buildDepends = [
+         base data-default lifted-base monad-control mongoDB network text
+         transformers
+       ];
+       testDepends = [
+         base data-default hspec lifted-base monad-control mongoDB network
+         text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/docmunch/haskell-mongodb-queue";
+       description = "message queue using MongoDB";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mongrel2-handler" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-textual
+     , bytestring, case-insensitive, containers, http-types, text
+     , zeromq-haskell
+     }:
+     mkDerivation {
+       pname = "mongrel2-handler";
+       version = "0.3.2";
+       sha256 = "1bv9i2b0pb50r7l7l43h26ng5rcs1iyymwndcwxji8dnmbnr4jdf";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-textual bytestring
+         case-insensitive containers http-types text zeromq-haskell
+       ];
+       jailbreak = true;
+       description = "Mongrel2 Handler Library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monitor" = callPackage
+    ({ mkDerivation, base, filepath, hinotify, process }:
+     mkDerivation {
+       pname = "monitor";
+       version = "0.1.1";
+       sha256 = "06p9xj5y3xl4hcl57afqz4m4yc2vaah8i6f4smmhwmkzslg7svbs";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base filepath hinotify process ];
+       description = "Do things when files change";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mono-foldable" = callPackage
+    ({ mkDerivation, base, bytestring, text, vector }:
+     mkDerivation {
+       pname = "mono-foldable";
+       version = "0.1.0.2";
+       sha256 = "1qnbw9pd06czwyj2xcsjdigg7bj8d23p3ljnnkgd3d0r67qxxlxm";
+       buildDepends = [ base bytestring text vector ];
+       jailbreak = true;
+       homepage = "http://github.com/JohnLato/mono-foldable";
+       description = "Folds for monomorphic containers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mono-traversable" = callPackage
+    ({ mkDerivation, base, bytestring, comonad, containers, dlist
+     , dlist-instances, foldl, hashable, hspec, HUnit, QuickCheck
+     , semigroupoids, semigroups, text, transformers
+     , unordered-containers, vector, vector-algorithms, vector-instances
+     }:
+     mkDerivation {
+       pname = "mono-traversable";
+       version = "0.9.1";
+       sha256 = "0hzqlldilkkfmrq3pkymwkzpp9dn40v6fa18kahxlf4qiyih0xzc";
+       buildDepends = [
+         base bytestring comonad containers dlist dlist-instances hashable
+         semigroupoids semigroups text transformers unordered-containers
+         vector vector-algorithms vector-instances
+       ];
+       testDepends = [
+         base bytestring containers foldl hspec HUnit QuickCheck semigroups
+         text transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable";
+       description = "Type classes for mapping, folding, and traversing monomorphic containers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "monoid-extras" = callPackage
+    ({ mkDerivation, base, groups, semigroupoids, semigroups }:
+     mkDerivation {
+       pname = "monoid-extras";
+       version = "0.3.3.5";
+       sha256 = "07xll4pz0ijjxj75z0s0bz1lia2f65hsm61snlx0jv3aybrnw280";
+       buildDepends = [ base groups semigroupoids semigroups ];
+       description = "Various extra monoid-related definitions and utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monoid-owns" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "monoid-owns";
+       version = "2010.5.29";
+       sha256 = "1n05f95yhn6jp7rdnlx686k1lsls4iilxdxnp41ds4afsypaclfk";
+       buildDepends = [ base bytestring containers ];
+       homepage = "http://github.com/nfjinjing/monoid-owns";
+       description = "a practical monoid implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monoid-record" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monoid-record";
+       version = "0.1";
+       sha256 = "14xs1nvf0ngx4jvinkhzq3ainhs159zx0396z88y21vvc8kw42i5";
+       buildDepends = [ base ];
+       description = "Support for modifying record fields of monoidal type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monoid-statistics" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monoid-statistics";
+       version = "0.3.1";
+       sha256 = "0gfdjmx457r580lc40vpg8fkzd8n971b5vam96v6kzssg2cznqy3";
+       buildDepends = [ base ];
+       homepage = "https://bitbucket.org/Shimuuar/monoid-statistics";
+       description = "Monoids for calculation of statistics of sample";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monoid-subclasses" = callPackage
+    ({ mkDerivation, base, bytestring, containers, primes, QuickCheck
+     , quickcheck-instances, tasty, tasty-quickcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "monoid-subclasses";
+       version = "0.4.0.4";
+       sha256 = "1wg5yx49gx8j9hxcr3mp3pq40wqpwhh4cccsg7m2fgdnangxd6rh";
+       buildDepends = [ base bytestring containers primes text vector ];
+       testDepends = [
+         base bytestring containers primes QuickCheck quickcheck-instances
+         tasty tasty-quickcheck text vector
+       ];
+       homepage = "https://github.com/blamario/monoid-subclasses/";
+       description = "Subclasses of Monoid";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monoid-transformer" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monoid-transformer";
+       version = "0.0.3";
+       sha256 = "1f06ppvv50w5pacm4bs89zwkydih626cgbd2z6xqbp8cmhg6dj4l";
+       buildDepends = [ base ];
+       description = "Monoid counterparts to some ubiquitous monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monoidal-containers" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable, lens, newtype
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "monoidal-containers";
+       version = "0.1.2.1";
+       sha256 = "1n76vjh785yzirfkh63nlrpi9y1bb9z1r3v514150wfxjn3n723j";
+       buildDepends = [
+         base containers deepseq hashable lens newtype unordered-containers
+       ];
+       homepage = "http://github.com/bgamari/monoidal-containers";
+       description = "Containers with monoidal accumulation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monoidplus" = callPackage
+    ({ mkDerivation, base, contravariant, semigroups, transformers }:
+     mkDerivation {
+       pname = "monoidplus";
+       version = "0.1.0.1";
+       sha256 = "1klgwv3sd9zmqpj157rypln51kcwml9b1fyaxnip0a1525h6c2s9";
+       buildDepends = [ base contravariant semigroups transformers ];
+       jailbreak = true;
+       description = "Extra classes/functions about monoids";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "monoids" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, fingertree
+     , parallel, text
+     }:
+     mkDerivation {
+       pname = "monoids";
+       version = "0.3.2";
+       sha256 = "0yn15q0569mdm20wdbwydbb1vdzfdh1ismhwplwbvi2989h78kca";
+       buildDepends = [
+         array base bytestring containers fingertree parallel text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/monoids";
+       description = "Deprecated: Use 'reducers'";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "monomorphic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "monomorphic";
+       version = "0.0.3.2";
+       sha256 = "13zw506wifz2lf7n4a48rkn7ym44jpiqag21zc1py6xxdlkbrhh2";
+       buildDepends = [ base ];
+       homepage = "https://github.com/konn/monomorphic";
+       description = "Library to convert polymorphic datatypes to/from its monomorphic represetation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "montage" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, ListLike
+     , old-locale, pool-conduit, protocol-buffers
+     , protocol-buffers-descriptor, riak-bump, safe, stats-web, stm
+     , system-uuid, text, time, unordered-containers, zeromq-haskell
+     }:
+     mkDerivation {
+       pname = "montage";
+       version = "0.1.1";
+       sha256 = "1yx2aagfxjgs9jwipbwa05aiqkm1xgxd0gwnc4qj6mwz9913zsl7";
+       buildDepends = [
+         aeson base bytestring containers ListLike old-locale pool-conduit
+         protocol-buffers protocol-buffers-descriptor riak-bump safe
+         stats-web stm system-uuid text time unordered-containers
+         zeromq-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/bumptech/montage";
+       description = "Riak Resolution Proxy";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { riak-bump = null;  stats-web = null;};
+
+  "montage-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, ListLike, mtl
+     , old-locale, pool-conduit, protocol-buffers
+     , protocol-buffers-descriptor, riak-bump, safe, stats-web, stm
+     , system-uuid, text, text-format, time, unordered-containers
+     , zeromq-haskell
+     }:
+     mkDerivation {
+       pname = "montage-client";
+       version = "0.1.1";
+       sha256 = "18bgaw0i7zllabq8ys6p6qd8qga3xgxsfmgn88g4dijh6v6zf7pf";
+       buildDepends = [
+         aeson base bytestring containers ListLike mtl old-locale
+         pool-conduit protocol-buffers protocol-buffers-descriptor riak-bump
+         safe stats-web stm system-uuid text text-format time
+         unordered-containers zeromq-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/bumptech/montage-haskell-client";
+       description = "Riak Resolution Proxy Client";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { riak-bump = null;  stats-web = null;};
+
+  "monte-carlo" = callPackage
+    ({ mkDerivation, base, gsl-random, ieee754, primitive, QuickCheck
+     , random, test-framework, test-framework-quickcheck2, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "monte-carlo";
+       version = "0.6.1";
+       sha256 = "1zk8wyf9bzarnvsxh9a6diyssb78sfq1pl729gq113j0vibs8f0x";
+       buildDepends = [ base gsl-random primitive transformers vector ];
+       testDepends = [
+         base gsl-random ieee754 primitive QuickCheck random test-framework
+         test-framework-quickcheck2 transformers vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/patperry/hs-monte-carlo";
+       description = "A monad and transformer for Monte Carlo calculations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "moo" = callPackage
+    ({ mkDerivation, array, base, containers, gray-code, HUnit
+     , mersenne-random-pure64, monad-mersenne-random, mtl, random
+     , random-shuffle, time
+     }:
+     mkDerivation {
+       pname = "moo";
+       version = "1.0";
+       sha256 = "02ah9v6h4ansd8kz76jnrx0yra9nz6ql92p5rm01pxri1gc7kn6w";
+       buildDepends = [
+         array base gray-code mersenne-random-pure64 monad-mersenne-random
+         mtl random random-shuffle time
+       ];
+       testDepends = [
+         array base containers gray-code HUnit mersenne-random-pure64
+         monad-mersenne-random mtl random random-shuffle time
+       ];
+       homepage = "http://www.github.com/astanin/moo/";
+       description = "Genetic algorithm library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "morfette" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, filepath, mtl, pretty, QuickCheck, text, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "morfette";
+       version = "0.4.3";
+       sha256 = "149jp0s5nsa02zivlp868qqvvam59wwf6nkq79ynlqjsa4lanvay";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory filepath mtl
+         pretty QuickCheck text utf8-string vector
+       ];
+       jailbreak = true;
+       homepage = "http://sites.google.com/site/morfetteweb/";
+       description = "A tool for supervised learning of morphology";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "morfeusz" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, morfeusz
+     , mtl, text
+     }:
+     mkDerivation {
+       pname = "morfeusz";
+       version = "0.4.2";
+       sha256 = "1lzl5ks7px1xibfa6y0wnfv2mk2w39hscrrynqn7a3gjnca00sx0";
+       buildDepends = [ base bytestring containers directory mtl text ];
+       extraLibraries = [ morfeusz ];
+       homepage = "https://github.com/kawu/morfeusz";
+       description = "Bindings to the morphological analyser Morfeusz";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { morfeusz = null;};
+
+  "morte" = callPackage
+    ({ mkDerivation, alex, array, base, binary, deepseq, happy
+     , lens-family-core, optparse-applicative, pipes, text, transformers
+     }:
+     mkDerivation {
+       pname = "morte";
+       version = "1.1.2";
+       sha256 = "1rz15nmzagwngjd15kd25vnrpz3br23kmjzf558qp61bxlhflybc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary deepseq lens-family-core optparse-applicative
+         pipes text transformers
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       description = "A bare-bones calculus of constructions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mount" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "mount";
+       version = "0.2.1";
+       sha256 = "0rdlnz0xk6mil79a8ygfrwgdychsn6h1gbv6qn2nybzaw1zjf4z3";
+       buildDepends = [ base bytestring ];
+       description = "Mounts and umounts filesystems";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "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 {
+       pname = "mp";
+       version = "0.2.2";
+       revision = "1";
+       sha256 = "1klz2ykglgkvxs66j5iacjbx5cv5gq0y4d12g68ng2pcmpwc93ir";
+       editedCabalFile = "8c578611352448e5aea9a082fb0696e7bb890397214631a009351925db2f88b1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring ConfigFile daemons directory filepath glib
+         gstreamer hgettext MissingH mtl network random setlocale text unix
+         unordered-containers utf8-string vty vty-ui
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/borekpiotr/linux-music-player";
+       description = "Music player for linux";
+       license = "GPL";
+     }) {};
+
+  "mp3decoder" = callPackage
+    ({ mkDerivation, base, binary-strict, bytestring, haskell98, mtl }:
+     mkDerivation {
+       pname = "mp3decoder";
+       version = "0.0.1";
+       sha256 = "0kwjnbrmlp9a5wz3mgf76nd2ar32d3n1f4jmbfpsggcm7jdp1rmv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary-strict bytestring haskell98 mtl ];
+       homepage = "http://www.bjrn.se/mp3dec";
+       description = "MP3 decoder for teaching";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mpdmate" = callPackage
+    ({ mkDerivation, base, directory, network, powermate, unix }:
+     mkDerivation {
+       pname = "mpdmate";
+       version = "0.1";
+       sha256 = "02p6g8wgmmzxl3dnrvbj1msg972c40s300rfykqsg1g5wiqbllf2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory network powermate unix ];
+       homepage = "http://neugierig.org/software/darcs/powermate/";
+       description = "MPD/PowerMate executable";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mpppc" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, split, text }:
+     mkDerivation {
+       pname = "mpppc";
+       version = "0.1.3";
+       sha256 = "1zcilskpslpqyrbwpabwbry4p3kpcfca94wchh9dkq9g8pg8laxi";
+       buildDepends = [ ansi-terminal base bytestring split text ];
+       jailbreak = true;
+       description = "Multi-dimensional parametric pretty-printer with color";
+       license = "GPL";
+     }) {};
+
+  "mpretty" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers, data-lens-fd
+     , data-lens-template, mtl, orders, text, transformers
+     }:
+     mkDerivation {
+       pname = "mpretty";
+       version = "0.1.0.0";
+       sha256 = "0q4fi7jmdf3bvcqk6fc7194h59sjwf76ld8niwqczc30v8lyjq2n";
+       buildDepends = [
+         ansi-terminal base containers data-lens-fd data-lens-template mtl
+         orders text transformers
+       ];
+       jailbreak = true;
+       description = "a monadic, extensible pretty printing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mprover" = callPackage
+    ({ mkDerivation, base, containers, haskell98, mtl, parsec, pretty
+     , transformers, unbound
+     }:
+     mkDerivation {
+       pname = "mprover";
+       version = "0.0.0.0";
+       sha256 = "1b5vzhbn5jnpxc0bzbhdak51qhzv5hif0300jsrbi5ffyvcjqkss";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers haskell98 mtl parsec pretty transformers unbound
+       ];
+       description = "Simple equational reasoning for a Haskell-ish language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mps" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, monoid-owns, old-locale, old-time, parallel, parsec
+     , regexpr, template-haskell, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "mps";
+       version = "2010.11.28";
+       sha256 = "1xhflvgwrjzj7qb69dn149lh32c7q9161zrzfs07ncs233y0w4lg";
+       buildDepends = [
+         array base bytestring containers directory filepath monoid-owns
+         old-locale old-time parallel parsec regexpr template-haskell time
+         utf8-string
+       ];
+       homepage = "http://github.com/nfjinjing/mps/";
+       description = "simply oo";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mpvguihs" = callPackage
+    ({ mkDerivation, base, directory, filepath, gtk, mtl, process
+     , template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "mpvguihs";
+       version = "0.1.1";
+       sha256 = "1nmc03s8h3khmvajyhwaniczq0r4wrinq2sjjp1c6gyc2nggxzyx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath gtk mtl process template-haskell unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/sebadoom/mpvguihs";
+       description = "A minimalist mpv GUI written in I/O heavy Haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mqtt-hs" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, monad-loops, mtl
+     , network, singletons, text
+     }:
+     mkDerivation {
+       pname = "mqtt-hs";
+       version = "0.2.0";
+       revision = "1";
+       sha256 = "0jvzr6qbmdxl11j8fwnbasgqgdfm395lm2gh2va9zfpk5xpx0mjg";
+       editedCabalFile = "aa0a2e9ea99cfbed4646ac02625b66361f8175ae2d70efc041dc517119706439";
+       buildDepends = [
+         attoparsec base bytestring monad-loops mtl network singletons text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/k00mi/mqtt-hs";
+       description = "A MQTT client library";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "msgpack" = callPackage
+    ({ mkDerivation, base, binary, blaze-builder, bytestring
+     , containers, data-binary-ieee754, deepseq, hashable, mtl
+     , QuickCheck, tasty, tasty-quickcheck, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "msgpack";
+       version = "1.0.0";
+       sha256 = "0kk6nqn290sh0l0hhglccs0cqgk0fb3xdjzqz19yw9wb8aw01xh8";
+       buildDepends = [
+         base binary blaze-builder bytestring containers data-binary-ieee754
+         deepseq hashable mtl text unordered-containers vector
+       ];
+       testDepends = [
+         base bytestring QuickCheck tasty tasty-quickcheck
+       ];
+       jailbreak = true;
+       homepage = "http://msgpack.org/";
+       description = "A Haskell implementation of MessagePack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "msgpack-aeson" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, msgpack
+     , scientific, tasty, tasty-hunit, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "msgpack-aeson";
+       version = "0.1.0.0";
+       sha256 = "1ygnki55cj6951y75snc4gnv4vsjp9pgwqg3jp7cy9bcss3msq3j";
+       buildDepends = [
+         aeson base bytestring deepseq msgpack scientific text
+         unordered-containers vector
+       ];
+       testDepends = [ aeson base msgpack tasty tasty-hunit ];
+       homepage = "http://msgpack.org/";
+       description = "Aeson adapter for MessagePack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "msgpack-idl" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, cmdargs
+     , containers, directory, filepath, hspec, msgpack, peggy
+     , shakespeare-text, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "msgpack-idl";
+       version = "0.2.1";
+       sha256 = "0z28qikcfvfkj9xr87g13jlm2blqfxj3rfrg7hm2hfgv3qz4gkfz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring cmdargs containers directory filepath
+         msgpack peggy shakespeare-text template-haskell text
+       ];
+       testDepends = [ base hspec ];
+       jailbreak = true;
+       homepage = "http://msgpack.org/";
+       description = "An IDL Compiler for MessagePack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "msgpack-rpc" = callPackage
+    ({ mkDerivation, async, base, binary, binary-conduit, bytestring
+     , conduit, conduit-extra, exceptions, monad-control, msgpack, mtl
+     , network, random, tasty, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "msgpack-rpc";
+       version = "1.0.0";
+       sha256 = "00m5hpj5cd521j3jzsaw49asbpxvka0x1zi2qs26si82wxgnpjkn";
+       buildDepends = [
+         base binary binary-conduit bytestring conduit conduit-extra
+         exceptions monad-control msgpack mtl network random text
+       ];
+       testDepends = [ async base mtl network tasty tasty-hunit ];
+       jailbreak = true;
+       homepage = "http://msgpack.org/";
+       description = "A MessagePack-RPC Implementation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mstate" = callPackage
+    ({ mkDerivation, base, monad-peel, mtl, stm }:
+     mkDerivation {
+       pname = "mstate";
+       version = "0.2.7";
+       sha256 = "05rcpfang0biy16aglf6da44zp9zqy2x0zdsfl75mv1drkky6225";
+       buildDepends = [ base monad-peel mtl stm ];
+       description = "MState: A consistent State monad for concurrent applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "msu" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, parsec, process
+     , xdg-basedir
+     }:
+     mkDerivation {
+       pname = "msu";
+       version = "0.0.2";
+       sha256 = "0bqzzk7y3dj60r02xn3cjlq955jzsrvcbq63pvav0w952bvxvx5c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath mtl parsec process xdg-basedir
+       ];
+       homepage = "http://github.com/pbrisbin/msu";
+       description = "Monitor Setup Utility";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mtgoxapi" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, bytestring, curl, either, errors, hashable
+     , HTTP, HUnit, ixset, network, QuickCheck, SHA, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, time
+     , transformers, unordered-containers, vector, watchdog
+     }:
+     mkDerivation {
+       pname = "mtgoxapi";
+       version = "0.5.0.2";
+       sha256 = "1iyn2mq0fql952phmbs8578awrv5l6q9iqkmsaby2jp48mnwizji";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bytestring curl either errors hashable HTTP ixset network SHA text
+         time transformers unordered-containers vector watchdog
+       ];
+       testDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bytestring curl errors hashable HTTP HUnit ixset network QuickCheck
+         SHA test-framework test-framework-hunit test-framework-quickcheck2
+         text time transformers unordered-containers vector watchdog
+       ];
+       jailbreak = true;
+       description = "Library to communicate with Mt.Gox";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mtl" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "mtl";
+       version = "2.1.3.1";
+       sha256 = "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp";
+       buildDepends = [ base transformers ];
+       homepage = "http://github.com/ekmett/mtl";
+       description = "Monad classes, using functional dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mtl_2_2_1" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "mtl";
+       version = "2.2.1";
+       sha256 = "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa";
+       buildDepends = [ base transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/mtl";
+       description = "Monad classes, using functional dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mtl-compat" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "mtl-compat";
+       version = "0.2.1.3";
+       sha256 = "15388p9ybdn6digk6cpdsw6havd0yva8vvwl3p7fnc9sb59wln34";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       homepage = "https://github.com/RyanGlScott/mtl-compat";
+       description = "Backported Control.Monad.Except module from mtl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mtl-evil-instances" = callPackage
+    ({ mkDerivation, base, monad-control, mtl, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "mtl-evil-instances";
+       version = "0.1";
+       sha256 = "1z10p0dmvjyadjc46nkzyqicfk0097ff2ni3fiypw9z5knsxhym4";
+       buildDepends = [
+         base monad-control mtl transformers transformers-base
+       ];
+       jailbreak = true;
+       description = "Instances for the mtl classes for all monad transformers";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "mtl-prelude_1_0_3" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "mtl-prelude";
+       version = "1.0.3";
+       sha256 = "1qr0bwcg9rlj53gbnji969s86qh8laaiibkfy2msziqnp011108x";
+       buildDepends = [ base mtl transformers ];
+       homepage = "https://github.com/nikita-volkov/mtl-prelude";
+       description = "Reexports of most definitions from \"mtl\" and \"transformers\"";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mtl-prelude" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "mtl-prelude";
+       version = "2.0.2";
+       sha256 = "1j42pdkiiqjkdmidgmgpfbwh2i8dwsc40labw4pm86qzsi0r8m2v";
+       buildDepends = [ base mtl transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/mtl-prelude";
+       description = "Reexports of most definitions from \"mtl\" and \"transformers\"";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mtl-tf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mtl-tf";
+       version = "0.1";
+       sha256 = "0qfmswdkj95bh6wkic8hh002wsxqlrylw45k6w9iyzv4saqnl22f";
+       buildDepends = [ base ];
+       description = "Monad transformer library using type families";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mtlparse" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "mtlparse";
+       version = "0.1.4.0";
+       sha256 = "1fl5rvmgk37bqgjzs3c2wh80pfhr0i4yakxbsaryg7piws7j6ygc";
+       buildDepends = [ base mtl ];
+       homepage = "http://homepage3.nifty.com/salamander/second/projects/mtlparse/";
+       description = "parse library using mtl package";
+       license = "LGPL";
+     }) {};
+
+  "mtlx" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck }:
+     mkDerivation {
+       pname = "mtlx";
+       version = "0.1.6";
+       sha256 = "0s0cniqn1fb7rq14w3wjh7mkzkxpndj1h1wrgssxds6cs3vkk4dn";
+       buildDepends = [ base mtl QuickCheck ];
+       description = "Monad transformer library with type indexes, providing 'free' copies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mtp" = callPackage
+    ({ mkDerivation, base, filepath, mtp, unix }:
+     mkDerivation {
+       pname = "mtp";
+       version = "0.1.1.1";
+       sha256 = "164q7p81c5an4w3pqpfk94rgn0banfs2yp7fhbbckdyb2qymsbww";
+       buildDepends = [ base filepath unix ];
+       extraLibraries = [ mtp ];
+       jailbreak = true;
+       description = "Bindings to libmtp";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { mtp = null;};
+
+  "mtree" = callPackage
+    ({ mkDerivation, base, bifunctors }:
+     mkDerivation {
+       pname = "mtree";
+       version = "0.1";
+       sha256 = "1l4kjrmr5v8pkhf48w0ym6dlrsvaf21p3x5sykq1rxwp821cqglv";
+       buildDepends = [ base bifunctors ];
+       description = "Tree with Meta and Content parameters";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "mucipher" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mucipher";
+       version = "0.6.0";
+       sha256 = "0bmdri4bni9whjgz4mxvkk9jbxkscci38l06gk2n5xiwyg1hwg0y";
+       buildDepends = [ base ];
+       description = "A library to produce simple ciphers for use with lambdabot";
+       license = "GPL";
+     }) {};
+
+  "mudbath" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cryptohash, directory
+     , github-types, http-conduit, http-types, process, random
+     , snap-core, snap-server, stm, text, transformers
+     }:
+     mkDerivation {
+       pname = "mudbath";
+       version = "0.0.3";
+       sha256 = "1bfsgsl09aajxa8ajps63zj348ccr8pswppj0dar5k8mr6nr6n3q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring cryptohash directory github-types
+         http-conduit http-types process random snap-core snap-server stm
+         text transformers
+       ];
+       jailbreak = true;
+       description = "Continuous deployment server for use with GitHub";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mueval" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory
+     , extensible-exceptions, filepath, hint, mtl, process, show
+     , simple-reflect, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "mueval";
+       version = "0.9.1.1";
+       sha256 = "0p9qf8lb3c1y87qpl9b4n6v6bjrb9fw3yfg4p7niqdz31454d2pz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory extensible-exceptions filepath hint
+         mtl process show simple-reflect unix utf8-string
+       ];
+       homepage = "https://github.com/gwern/mueval";
+       description = "Safely evaluate pure Haskell expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multext-east-msd" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "multext-east-msd";
+       version = "0.1.0.4";
+       sha256 = "1if1ip22y7w59lkyshn4ic4p46zrfs4kcdzzjai9l8xbscavgdl6";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://github.com/jsnajder/multex-east-msd";
+       description = "MULTEXT-East morphosyntactic descriptors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multiarg" = callPackage
+    ({ mkDerivation, base, QuickCheck, tasty, tasty-quickcheck
+     , tasty-th, utf8-string
+     }:
+     mkDerivation {
+       pname = "multiarg";
+       version = "0.30.0.8";
+       sha256 = "18lq0q76a4vx5r28wrxwa3cb2gdx6hv8vylkky07dqccqgxdg5ss";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base utf8-string ];
+       testDepends = [ base QuickCheck tasty tasty-quickcheck tasty-th ];
+       homepage = "https://github.com/massysett/multiarg";
+       description = "Command lines for options that take multiple arguments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multifocal" = callPackage
+    ({ mkDerivation, array, base, containers, haskell-src-exts, HaXml
+     , hxt, hxt-xpath, mtl, parsec, pointless-haskell, pointless-lenses
+     , pointless-rewrite, pretty, process, syb
+     }:
+     mkDerivation {
+       pname = "multifocal";
+       version = "0.0.1";
+       sha256 = "0w47ffx8f8hw2a35kxjwi16l9bfgc0k2ac7r844123anmgv2wcfm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers haskell-src-exts HaXml hxt hxt-xpath mtl
+         parsec pointless-haskell pointless-lenses pointless-rewrite pretty
+         process syb
+       ];
+       description = "Bidirectional Two-level Transformation of XML Schemas";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "multihash" = callPackage
+    ({ mkDerivation, attoparsec, base, base58-bytestring
+     , base64-bytestring, byteable, bytestring, cryptohash, hex
+     , io-streams, optparse-applicative
+     }:
+     mkDerivation {
+       pname = "multihash";
+       version = "0.1.1";
+       sha256 = "09yjr7whddn60kyn25hzjjls1m5xi87nqzbkrb6vp4hlvmzm0b1g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base base58-bytestring base64-bytestring byteable
+         bytestring cryptohash hex io-streams optparse-applicative
+       ];
+       homepage = "https://github.com/LukeHoersten/multihash";
+       description = "Multihash library and CLI executable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multimap" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "multimap";
+       version = "1.2.1";
+       sha256 = "0d3l5q4yvmywl6i9ip96zz0fvhjdh00mfbbniphbjxsi8wlwack3";
+       buildDepends = [ base containers ];
+       homepage = "http://hub.darcs.net/scravy/multimap";
+       description = "A multimap";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "multipart" = callPackage
+    ({ mkDerivation, base, bytestring, parsec }:
+     mkDerivation {
+       pname = "multipart";
+       version = "0.1.2";
+       sha256 = "0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5";
+       buildDepends = [ base bytestring parsec ];
+       homepage = "http://www.github.com/silkapp/multipart";
+       description = "HTTP multipart split out of the cgi package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multipart-names" = callPackage
+    ({ mkDerivation, base, case-insensitive, HUnit, lens, parsec
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "multipart-names";
+       version = "0.0.1";
+       sha256 = "17cw9lg1qi3rm38yh13n6gkb0grld4gc003hz49vdz8bx4gzfqxc";
+       buildDepends = [ base case-insensitive lens parsec ];
+       testDepends = [
+         base HUnit lens test-framework test-framework-hunit
+       ];
+       homepage = "http://github.com/nedervold/multipart-names";
+       description = "Handling of multipart names in various casing styles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multipass" = callPackage
+    ({ mkDerivation, base, binary, containers, ghc-prim, hashable, keys
+     , math-functions, newtype, unordered-containers
+     }:
+     mkDerivation {
+       pname = "multipass";
+       version = "0.1.0.2";
+       sha256 = "0zs5sw9m5r8g9p29knrihqsvihwihr1ca28vb0283k5jik18aifm";
+       buildDepends = [
+         base binary containers ghc-prim hashable keys math-functions
+         newtype unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/multipass/";
+       description = "Folding data with multiple named passes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "multiplate" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "multiplate";
+       version = "0.0.2";
+       sha256 = "02pqfkdcv4fn0pmxphg19b3fiazn4hpphfj8xgp77vpy2lczndsw";
+       buildDepends = [ base transformers ];
+       homepage = "http://haskell.org/haskellwiki/Multiplate";
+       description = "Lightweight generic library for mutually recursive data types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "multiplate-simplified" = callPackage
+    ({ mkDerivation, base, multiplate, transformers }:
+     mkDerivation {
+       pname = "multiplate-simplified";
+       version = "0.0.0.2";
+       sha256 = "0xzjl3nsm6wgbqd6rjn0bf9jhiw6l6ql5gj5m8xqccv8363i5v2r";
+       buildDepends = [ base multiplate transformers ];
+       jailbreak = true;
+       description = "Shorter, more generic functions for Multiplate";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "multiplicity" = callPackage
+    ({ mkDerivation, base, containers, fez-conf, mtl, process }:
+     mkDerivation {
+       pname = "multiplicity";
+       version = "0.1.0";
+       sha256 = "1y0v06qnpna8sa0aw24i4s29yc49m3a7d8yrl6xiv1jrgycjcafc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers fez-conf mtl process ];
+       homepage = "http://ui3.info/d/proj/multiplicity.html";
+       description = "Wrapper program for duplicity, adding config files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multirec" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "multirec";
+       version = "0.7.5";
+       sha256 = "164a0rbka606d7d0l2p11j0zry0dlwkymig10wrkvckj7mh5yydz";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
+       description = "Generic programming for families of recursive datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multirec-alt-deriver" = callPackage
+    ({ mkDerivation, base, containers, mtl, multirec, syb
+     , template-haskell, th-expand-syns
+     }:
+     mkDerivation {
+       pname = "multirec-alt-deriver";
+       version = "0.1.3";
+       sha256 = "0hrzrzmgj1y784dvwiz20y842m4kk9rd9vhbwz8cazafs8gindfc";
+       buildDepends = [
+         base containers mtl multirec syb template-haskell th-expand-syns
+       ];
+       jailbreak = true;
+       description = "Alternative multirec instances deriver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "multirec-binary" = callPackage
+    ({ mkDerivation, base, binary, multirec }:
+     mkDerivation {
+       pname = "multirec-binary";
+       version = "0.0.1";
+       sha256 = "1cj1rfjqxwc06vr5w12fqbcpjb0fjsphf8vp40sp2naizpvvnmzs";
+       buildDepends = [ base binary multirec ];
+       jailbreak = true;
+       description = "Generic Data.Binary instances using MultiRec.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "multiset" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "multiset";
+       version = "0.2.2";
+       sha256 = "1g14c1zm4rdc8nxvb69k98h542wi24q2lpba1gpqjqspk4d0sjmn";
+       buildDepends = [ base containers ];
+       description = "The Data.MultiSet container type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multiset-comb" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "multiset-comb";
+       version = "0.2.3";
+       sha256 = "0qkl6csnl1g6wbsyxirdq8hdbbbkp3dfsjix76yx242wdyh1j6pq";
+       buildDepends = [ base ];
+       description = "Combinatorial algorithms over multisets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "multisetrewrite" = callPackage
+    ({ mkDerivation, base, haskell98, stm }:
+     mkDerivation {
+       pname = "multisetrewrite";
+       version = "0.6";
+       sha256 = "1chgdikgp70rkzw2k3wy7i276j5vb435vq26yl37lkh0im1bg5ay";
+       buildDepends = [ base haskell98 stm ];
+       homepage = "http://sulzmann.blogspot.com/2008/10/multi-set-rewrite-rules-with-guards-and.html";
+       description = "Multi-set rewrite rules with guards and a parallel execution scheme";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "multistate" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "multistate";
+       version = "0.3.0.0";
+       sha256 = "1sqaxvvs94max8gw1sz3kkgnp8y9zwrjdclnzv1kkkhciix9a1d1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl 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;
+     }) {};
+
+  "muon" = callPackage
+    ({ mkDerivation, base, blaze-html, ConfigFile, directory, Glob
+     , happstack-server, HStringTemplate, markdown, MissingH, process
+     , text
+     }:
+     mkDerivation {
+       pname = "muon";
+       version = "0.1.0.8";
+       sha256 = "0s11xvhawwrcr31f0khp0q6fimwjps12n992z35ldnh0kk3dmk9z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html ConfigFile directory Glob happstack-server
+         HStringTemplate markdown MissingH process text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/kaashif-hymabaccus/muon";
+       description = "Static blog generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "murder" = callPackage
+    ({ mkDerivation, AspectAG, base, containers, HList, ListLike
+     , template-haskell, TTTAS, uu-parsinglib, uulib
+     }:
+     mkDerivation {
+       pname = "murder";
+       version = "1.3.4";
+       sha256 = "0pr77j3br8knk26iknsa6hy076bx2bb6jgii3v6aqhv40ykcrv15";
+       buildDepends = [
+         AspectAG base containers HList ListLike template-haskell TTTAS
+         uu-parsinglib uulib
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.uu.nl/wiki/Center/CoCoCo";
+       description = "MUtually Recursive Definitions Explicitly Represented";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "murmur-hash" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "murmur-hash";
+       version = "0.1.0.8";
+       sha256 = "01isk1gy1x75zksdmddcpp7mnx69wb96g1xv8gl3anvx9bfg9fbc";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/nominolo/murmur-hash";
+       description = "MurmurHash2 implementation for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "murmurhash3" = callPackage
+    ({ mkDerivation, haskell2010 }:
+     mkDerivation {
+       pname = "murmurhash3";
+       version = "1.0";
+       sha256 = "1hz6rf1qrzgixx19bn9hnp07jfb61wnrjq5bgqnd3px569afwdb2";
+       buildDepends = [ haskell2010 ];
+       homepage = "https://github.com/niswegmann/murmurhash3";
+       description = "32-bit non-cryptographic hashing";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "music-articulation" = callPackage
+    ({ mkDerivation, average, base, semigroups }:
+     mkDerivation {
+       pname = "music-articulation";
+       version = "1.8.1";
+       sha256 = "1wmj1265bk4fb1qw3vmm6r7a576i8fc2dshrfh3i7w39vy9ywprr";
+       buildDepends = [ average base semigroups ];
+       description = "Abstract representation of musical articulation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "music-diatonic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "music-diatonic";
+       version = "0.1.1";
+       sha256 = "19sflj0b5qslclqjwyacgc2pdplwr3mimmhf8ka7bbs70r557wbs";
+       buildDepends = [ base ];
+       description = "Implementation of basic western musical theory objects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "music-dynamics" = callPackage
+    ({ mkDerivation, average, base, music-dynamics-literal, semigroups
+     }:
+     mkDerivation {
+       pname = "music-dynamics";
+       version = "1.8.1";
+       sha256 = "1rdv9kn3i5m6l9xpfmccdwjkdw0smr9qiaw4p0y79fr9gdqrd6a1";
+       buildDepends = [ average base music-dynamics-literal semigroups ];
+       description = "Abstract representation of musical dynamics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "music-dynamics-literal" = callPackage
+    ({ mkDerivation, base, semigroups }:
+     mkDerivation {
+       pname = "music-dynamics-literal";
+       version = "1.8.1";
+       sha256 = "1p5r9fj71rvg2hma1r4s4vlxxqzam7iq99hfmn8k92sv7yzjm5na";
+       buildDepends = [ base semigroups ];
+       description = "Overloaded dynamics literals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "music-graphics" = callPackage
+    ({ mkDerivation, aeson, base, blaze-svg, bytestring, lens
+     , music-pitch, music-preludes, music-score, process
+     }:
+     mkDerivation {
+       pname = "music-graphics";
+       version = "1.8.1";
+       sha256 = "1764qmb8pafddsclr5gl5ibqpi9wvwa96idn6iqx8d3jbpqc4fam";
+       buildDepends = [
+         aeson base blaze-svg bytestring lens music-pitch music-preludes
+         music-score process
+       ];
+       jailbreak = true;
+       description = "Diagrams-based visualization of musical data structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "music-parts" = callPackage
+    ({ mkDerivation, adjunctions, aeson, base, containers, data-default
+     , lens, music-dynamics, music-pitch, roman-numerals, semigroups
+     }:
+     mkDerivation {
+       pname = "music-parts";
+       version = "1.8.1";
+       sha256 = "1m0grrqmlj21ld5g381zz1y7s25ngkjq0d5sr3wd7z7ssp44xxs2";
+       buildDepends = [
+         adjunctions aeson base containers data-default lens music-dynamics
+         music-pitch roman-numerals semigroups
+       ];
+       jailbreak = true;
+       description = "Musical instruments, parts and playing techniques";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "music-pitch" = callPackage
+    ({ mkDerivation, base, containers, data-interval, lens
+     , music-pitch-literal, nats, positive, semigroups, type-unary
+     , vector-space, vector-space-points
+     }:
+     mkDerivation {
+       pname = "music-pitch";
+       version = "1.8.1";
+       sha256 = "01wrhzyn7mpa4xk1iyg17clfwyy6ggfg1bz45dvr62pz3gl0sd03";
+       buildDepends = [
+         base containers data-interval lens music-pitch-literal nats
+         positive semigroups type-unary vector-space vector-space-points
+       ];
+       jailbreak = true;
+       description = "Musical pitch representation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "music-pitch-literal" = callPackage
+    ({ mkDerivation, base, semigroups }:
+     mkDerivation {
+       pname = "music-pitch-literal";
+       version = "1.8.1";
+       sha256 = "11qjsxn10lrl3z7yi8h2likasy1g68ybbfzpnx03d01irl5kyzyf";
+       buildDepends = [ base semigroups ];
+       description = "Overloaded pitch literals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "music-preludes" = callPackage
+    ({ mkDerivation, async, average, base, containers, filepath, lens
+     , lilypond, monadplus, music-articulation, music-dynamics
+     , music-dynamics-literal, music-parts, music-pitch
+     , music-pitch-literal, music-score, musicxml2, optparse-applicative
+     , process, semigroups, split, tasty, tasty-golden, temporary, unix
+     , vector-space, vector-space-points
+     }:
+     mkDerivation {
+       pname = "music-preludes";
+       version = "1.8.1";
+       sha256 = "0apqhv3658i7nrh40ksfxzbi21xvfaix1mm2m3bxid2plbm88qav";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async average base containers filepath lens lilypond monadplus
+         music-articulation music-dynamics music-dynamics-literal
+         music-parts music-pitch music-pitch-literal music-score musicxml2
+         optparse-applicative process semigroups split temporary unix
+         vector-space vector-space-points
+       ];
+       testDepends = [ base process tasty tasty-golden ];
+       jailbreak = true;
+       description = "Some useful preludes for the Music Suite";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "music-score" = callPackage
+    ({ mkDerivation, adjunctions, aeson, average, base, bifunctors
+     , colour, comonad, containers, contravariant, distributive, HCodecs
+     , lens, lilypond, monadplus, mtl, music-dynamics-literal
+     , music-pitch-literal, musicxml2, nats, NumInstances, parsec
+     , prettify, process, semigroups, transformers, transformers-compat
+     , vector-space, vector-space-points
+     }:
+     mkDerivation {
+       pname = "music-score";
+       version = "1.8.1";
+       sha256 = "1bz93g4v69wkwsamjmgbdxwnv77nwrnvrahj180vjkfwj77f88hq";
+       buildDepends = [
+         adjunctions aeson average base bifunctors colour comonad containers
+         contravariant distributive HCodecs lens lilypond monadplus mtl
+         music-dynamics-literal music-pitch-literal musicxml2 nats
+         NumInstances parsec prettify process semigroups transformers
+         transformers-compat vector-space vector-space-points
+       ];
+       jailbreak = true;
+       description = "Musical score and part representation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "music-sibelius" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, lens, monadplus
+     , music-pitch-literal, music-preludes, music-score, semigroups
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "music-sibelius";
+       version = "1.8.1";
+       sha256 = "0g36m4fym11kw2qwciv93zxbxklikmkxbvxlmgi6l9nkjd0n5q9v";
+       buildDepends = [
+         aeson base bytestring lens monadplus music-pitch-literal
+         music-preludes music-score semigroups unordered-containers
+       ];
+       jailbreak = true;
+       description = "Interaction with Sibelius";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "music-suite" = callPackage
+    ({ mkDerivation, abcnotation, lilypond, music-articulation
+     , music-dynamics, music-dynamics-literal, music-parts, music-pitch
+     , music-pitch-literal, music-preludes, music-score, musicxml2
+     }:
+     mkDerivation {
+       pname = "music-suite";
+       version = "1.8.1";
+       sha256 = "14hhzmsq5m2h0qq3220xv1gg90sn69whmiysj3y0mw6rcm0zia0f";
+       buildDepends = [
+         abcnotation lilypond music-articulation music-dynamics
+         music-dynamics-literal music-parts music-pitch music-pitch-literal
+         music-preludes music-score musicxml2
+       ];
+       description = "A set of libraries for composition, analysis and manipulation of music";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "music-util" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, fgl, process
+     , shelly, split, text, unix
+     }:
+     mkDerivation {
+       pname = "music-util";
+       version = "0.17";
+       sha256 = "0pv6mwdrk2kz3lr8r3jkc368zch46w4rn5dmqbjqm0ykfw1n3bqf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory fgl process shelly split text unix
+       ];
+       description = "Utility for developing the Music Suite";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "musicbrainz-email" = callPackage
+    ({ mkDerivation, aeson, amqp, base, blaze-builder, bytestring
+     , configurator, errors, ghc-prim, heist, HTTP, HUnit, mime-mail
+     , mtl, network, network-metrics, optparse-applicative
+     , postgresql-simple, smallcheck, stm, test-framework
+     , test-framework-hunit, test-framework-smallcheck, text, time
+     , transformers, xmlhtml
+     }:
+     mkDerivation {
+       pname = "musicbrainz-email";
+       version = "1.0.0.0";
+       sha256 = "10salrdl4vfdy3x26564i8kdv6lx8py697v5n8q9ywqsd05dcrv2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson amqp base blaze-builder errors ghc-prim heist HTTP mime-mail
+         mtl network network-metrics optparse-applicative postgresql-simple
+         text time transformers xmlhtml
+       ];
+       testDepends = [
+         aeson amqp base blaze-builder bytestring configurator errors
+         ghc-prim heist HTTP HUnit mime-mail mtl postgresql-simple
+         smallcheck stm test-framework test-framework-hunit
+         test-framework-smallcheck text time transformers xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/metabrainz/mass-mail";
+       description = "Send an email to all MusicBrainz editors";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "musicxml" = callPackage
+    ({ mkDerivation, base, containers, directory, HaXml, old-time
+     , pretty
+     }:
+     mkDerivation {
+       pname = "musicxml";
+       version = "0.1.2";
+       sha256 = "0sn8gzymf6xpdksd7v2xyb4y2iks2l09hyw0rch109lgrnsy5gp8";
+       buildDepends = [ base containers directory HaXml old-time pretty ];
+       jailbreak = true;
+       homepage = "https://troglodita.di.uminho.pt/svn/musica/work/MusicXML";
+       description = "MusicXML format encoded as Haskell type and functions of reading and writting";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "musicxml2" = callPackage
+    ({ mkDerivation, base, data-default, music-dynamics-literal
+     , music-pitch-literal, nats, reverse-apply, semigroups, type-unary
+     , xml
+     }:
+     mkDerivation {
+       pname = "musicxml2";
+       version = "1.8.1";
+       sha256 = "096vm73a4ngl1yc27x7z226difh97zjm5386cy5vw58ndmf1fws7";
+       buildDepends = [
+         base data-default music-dynamics-literal music-pitch-literal nats
+         reverse-apply semigroups type-unary xml
+       ];
+       description = "A representation of the MusicXML format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mustache-haskell" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory
+     , optparse-applicative, parsec, pretty-show, scientific, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "mustache-haskell";
+       version = "0.1.0.5";
+       sha256 = "0mkj5ngcblm949wkxiq2qck3zak93r5zipppwgis59yg01cp79v2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory optparse-applicative parsec
+         pretty-show scientific text transformers unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/danchoi/mustache-haskell";
+       description = "Straight implementation of mustache templates";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mustache2hs" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, filepath
+     , haskell-src, parsec, text, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "mustache2hs";
+       version = "0.3";
+       sha256 = "1m15q6dy3hbbf5q302gw3y2znxf2mfz9pwbdyawg8bqiw81zahis";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring filepath haskell-src parsec text
+         transformers utf8-string
+       ];
+       homepage = "http://github.com/singpolyma/mustache2hs";
+       description = "Utility to generate Haskell code from Mustache templates";
+       license = "unknown";
+     }) {};
+
+  "mutable-containers" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, hspec
+     , mono-traversable, primitive, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "mutable-containers";
+       version = "0.3.0";
+       sha256 = "1xsz214z5z1qrl5xy5gyq97bsh8b1li3kaz7cp6zm955bz43rv6c";
+       buildDepends = [
+         base containers ghc-prim mono-traversable primitive vector
+       ];
+       testDepends = [
+         base containers hspec primitive QuickCheck vector
+       ];
+       homepage = "https://github.com/fpco/mutable-containers";
+       description = "Abstactions and concrete implementations of mutable containers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mutable-iter" = callPackage
+    ({ mkDerivation, base, iteratee, MonadCatchIO-transformers
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "mutable-iter";
+       version = "0.6.1";
+       sha256 = "08fqfkzb6b0pzzffkfcwigcm0s4hgadh7jl4pg6smjcyfjz9572f";
+       buildDepends = [
+         base iteratee MonadCatchIO-transformers transformers vector
+       ];
+       jailbreak = true;
+       homepage = "http://jwlato.webfactional.com/haskell/mutable-iter";
+       description = "iteratees based upon mutable buffers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mute-unmute" = callPackage
+    ({ mkDerivation, base, directory, filepath, hslogger
+     , hslogger-template, mtl, network-dbus, process
+     }:
+     mkDerivation {
+       pname = "mute-unmute";
+       version = "0.2.0.0";
+       sha256 = "0nd1c4l2z7bflnghz7bbbahpfl2jj9mygpygxc7028axrrxj09af";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath hslogger hslogger-template mtl network-dbus
+         process
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/Tener/mute-unmute";
+       description = "Watches your screensaver and (un)mutes music when you (un)lock the screen";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "mvc" = callPackage
+    ({ mkDerivation, async, base, contravariant, managed, mmorph, pipes
+     , pipes-concurrency, transformers
+     }:
+     mkDerivation {
+       pname = "mvc";
+       version = "1.0.3";
+       sha256 = "1b1342qxyn2jxb3a5c9bp6ai7iwhbjxgfpbh2kjm7v75444lx78g";
+       buildDepends = [
+         async base contravariant managed mmorph pipes pipes-concurrency
+         transformers
+       ];
+       jailbreak = true;
+       description = "Model-view-controller";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mvc-updates" = callPackage
+    ({ mkDerivation, async, base, foldl, mvc }:
+     mkDerivation {
+       pname = "mvc-updates";
+       version = "1.2.0";
+       sha256 = "125bwc79qcmwb8dn8yqkrxlbqf3vwdzhjx66c69j2jbrp70061n6";
+       buildDepends = [ async base foldl mvc ];
+       description = "Concurrent and combinable updates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mvclient" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, binary, bytestring
+     , containers, control-event, Crypto, data-binary-ieee754, hexpat
+     , http-enumerator, maccatcher, mtl, network, parsec, time, uuid
+     }:
+     mkDerivation {
+       pname = "mvclient";
+       version = "0.4";
+       sha256 = "12ckzfb6wwa3865isxnzw7xmwh9f43ali0ab5mal6brs33zz0z53";
+       buildDepends = [
+         base base-unicode-symbols binary bytestring containers
+         control-event Crypto data-binary-ieee754 hexpat http-enumerator
+         maccatcher mtl network parsec time uuid
+       ];
+       jailbreak = true;
+       description = "Client library for metaverse systems like Second Life";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mwc-random" = callPackage
+    ({ mkDerivation, base, HUnit, primitive, QuickCheck, statistics
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , time, vector
+     }:
+     mkDerivation {
+       pname = "mwc-random";
+       version = "0.13.3.2";
+       sha256 = "01jqmq52knlwskgyx7940c81dmgdivrj0sbi2h6l0ccbxiaf7c9c";
+       buildDepends = [ base primitive time vector ];
+       testDepends = [
+         base HUnit QuickCheck statistics test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       homepage = "https://github.com/bos/mwc-random";
+       description = "Fast, high quality pseudo random number generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mwc-random-monad" = callPackage
+    ({ mkDerivation, base, monad-primitive, mwc-random, primitive
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "mwc-random-monad";
+       version = "0.7.3.0";
+       sha256 = "16l42xybkkp99qvv8ilcxqvzzmvhrwx974n38yxj27yy74ds3rk5";
+       buildDepends = [
+         base monad-primitive mwc-random primitive transformers vector
+       ];
+       description = "Monadic interface for mwc-random";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "myTestlll" = callPackage
+    ({ mkDerivation, ansi-terminal, array, arrows, base, bytestring
+     , Cabal, CCA, containers, deepseq, Euterpea, ghc-prim, HCodecs
+     , heap, markov-chain, monadIO, mtl, PortMidi, pure-fft, QuickCheck
+     , random, stm, syb, template-haskell, UISF
+     }:
+     mkDerivation {
+       pname = "myTestlll";
+       version = "1.0.0";
+       revision = "4";
+       sha256 = "1rd3pxc20xwb3j0q9ckygy59mks8p38vzmi4wfg8zp1dq92jmhy0";
+       editedCabalFile = "e554b67c3f8efd73e028328341e3b535dc4898b3d476524a40c236c4c2871e43";
+       buildDepends = [
+         array arrows base bytestring CCA containers deepseq ghc-prim
+         HCodecs heap markov-chain monadIO mtl PortMidi pure-fft random stm
+         syb template-haskell UISF
+       ];
+       testDepends = [ ansi-terminal base Cabal Euterpea QuickCheck ];
+       jailbreak = true;
+       homepage = "http://haskell.cs.yale.edu/";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mybitcoin-sci" = callPackage
+    ({ mkDerivation, base, cgi, curl, directory, mtl, process, split }:
+     mkDerivation {
+       pname = "mybitcoin-sci";
+       version = "0.3";
+       sha256 = "1iy84z13i98wbkman7yp2y2821yzf3xxpcy10rh9bdskjijvgjnq";
+       buildDepends = [ base cgi curl directory mtl process split ];
+       description = "Binding to mybitcoin.com's Shopping Cart Interface.";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mysnapsession" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, clientsession
+     , containers, mtl, random, regex-posix, snap, snap-core, time
+     }:
+     mkDerivation {
+       pname = "mysnapsession";
+       version = "0.4.1";
+       sha256 = "0871nq9nhpslni5kfldwiswhvpk1aajj7ikyiy9ikmcq16fb1z9m";
+       buildDepends = [
+         base bytestring cereal clientsession containers mtl random
+         regex-posix snap snap-core time
+       ];
+       jailbreak = true;
+       description = "Sessions and continuations for Snap web apps";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mysnapsession-example" = callPackage
+    ({ mkDerivation, base, bytestring, clientsession, heist, mtl
+     , mysnapsession, snap, snap-core, snap-server, text, time
+     }:
+     mkDerivation {
+       pname = "mysnapsession-example";
+       version = "0.4";
+       sha256 = "0lxzn8fn97f1j3fx97f46m16y25w7m1w84l59r75xisr662gc9lz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring clientsession heist mtl mysnapsession snap
+         snap-core snap-server text time
+       ];
+       jailbreak = true;
+       description = "Example projects using mysnapsession";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mysql" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mysql, openssl, zlib
+     }:
+     mkDerivation {
+       pname = "mysql";
+       version = "0.1.1.8";
+       sha256 = "115xz4khg4klrgjvv9dy83pv197b4y1zgw6fbpv8j88yr3qjmw4h";
+       buildDepends = [ base bytestring containers ];
+       buildTools = [ mysql ];
+       extraLibraries = [ openssl zlib ];
+       homepage = "https://github.com/bos/mysql";
+       description = "A low-level MySQL client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { mysql = null;  inherit (pkgs) openssl;  inherit (pkgs) zlib;};
+
+  "mysql-effect" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-effects, mysql
+     , mysql-simple
+     }:
+     mkDerivation {
+       pname = "mysql-effect";
+       version = "0.2.0.3";
+       revision = "1";
+       sha256 = "11fpsh4w2zlqdqhk5snb276pcbx4p9g1igs94fympa9asfr2rxm3";
+       editedCabalFile = "d4474591079b806b8e26d102824d46c7e4c239afb3479ea8d1e8cbd39f015718";
+       buildDepends = [
+         base bytestring extensible-effects mysql mysql-simple
+       ];
+       homepage = "https://github.com/ibotty/mysql-effect";
+       description = "An extensible mysql effect using extensible-effects and mysql-simple";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "mysql-simple" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
+     , blaze-textual, bytestring, mysql, old-locale, pcre-light, text
+     , time
+     }:
+     mkDerivation {
+       pname = "mysql-simple";
+       version = "0.2.2.5";
+       sha256 = "132igmgrgkpc0g9063d593ha3iv40k5dd017nlb07sz0qs9hi8w6";
+       buildDepends = [
+         attoparsec base base16-bytestring blaze-builder blaze-textual
+         bytestring mysql old-locale pcre-light text time
+       ];
+       homepage = "https://github.com/bos/mysql-simple";
+       description = "A mid-level MySQL client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mysql-simple-quasi" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, mysql-simple
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "mysql-simple-quasi";
+       version = "1.0.0.2";
+       sha256 = "1ggqqjn83rx23qk7lzrcgj1arjhmhi85xfl7d2pz27rrjx2ywpn8";
+       buildDepends = [
+         base haskell-src-meta mysql-simple template-haskell
+       ];
+       description = "Quasi-quoter for use with mysql-simple";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "mysql-simple-typed" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, mysql, mysql-simple
+     , template-haskell, typedquery, utf8-string
+     }:
+     mkDerivation {
+       pname = "mysql-simple-typed";
+       version = "0.1.1.1";
+       sha256 = "0cizs7c51884j05409nc8ldzlsbjcwpwc1ral1p1g1c98y1mpkcc";
+       buildDepends = [
+         base haskell-src-meta mysql mysql-simple template-haskell
+         typedquery utf8-string
+       ];
+       homepage = "https://github.com/tolysz/mysql-simple-typed";
+       description = "Typed extension to mysql simple";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mzv" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "mzv";
+       version = "0.1.0.2";
+       sha256 = "044x87jzyqsg5npp3s0mncgcl0gv26h6hzhc7bbgjja95x16ma2l";
+       buildDepends = [ base transformers ];
+       homepage = "http://github.com/ifigueroap/mzv";
+       description = "Implementation of the \"Monads, Zippers and Views\" (Schrijvers and Oliveira, ICFP'11)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "n-m" = callPackage
+    ({ mkDerivation, base, HSH, mtl, process }:
+     mkDerivation {
+       pname = "n-m";
+       version = "0.0.1";
+       sha256 = "189ybl8fb70cf24zhnjcmgrgkshrf2ziacklg9ixgvnbdp3abb7m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base HSH mtl process ];
+       description = "Utility to call iwconfig";
+       license = "unknown";
+     }) {};
+
+  "nagios-check" = callPackage
+    ({ mkDerivation, base, bifunctors, exceptions, hspec, mtl
+     , nagios-perfdata, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "nagios-check";
+       version = "0.2.1";
+       sha256 = "0qnzdljrdwzrsfapm2d6ykz2xzdhq5hzxy51gixsbmlvknglx5bh";
+       buildDepends = [
+         base bifunctors exceptions mtl nagios-perfdata text
+       ];
+       testDepends = [ base hspec QuickCheck text ];
+       homepage = "https://github.com/fractalcat/haskell-nagios-check";
+       description = "Package for writing monitoring plugins";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "nagios-perfdata" = callPackage
+    ({ mkDerivation, attoparsec, base, bifunctors, bytestring
+     , containers, hspec, HUnit, MissingH, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "nagios-perfdata";
+       version = "0.2.2";
+       sha256 = "159m45fvxgdabh7n24bkmg2901y3792afcrccqna1in3ha9vxd22";
+       buildDepends = [
+         attoparsec base bifunctors bytestring containers mtl
+       ];
+       testDepends = [
+         base bytestring hspec HUnit MissingH transformers
+       ];
+       homepage = "https://github.com/anchor/nagios-perfdata";
+       description = "Parse Nagios performance data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "named-formlet" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, containers, mtl
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "named-formlet";
+       version = "0.2";
+       sha256 = "0wpjxn03cnxnn5x1706byl9d1129g9p1vkl1a1v9qw0afgzlj8y7";
+       buildDepends = [
+         base blaze-html bytestring containers mtl text transformers
+       ];
+       description = "A simple formlet library with named formlets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "named-lock" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "named-lock";
+       version = "0.1";
+       sha256 = "1db12f2q395yk6pwz5gnb2q0kf4s868z8d1vvwa7vngnfc1h924i";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       homepage = "http://github.com/nominolo/named-lock";
+       description = "A named lock that is created on demand";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "named-records" = callPackage
+    ({ mkDerivation, base, binary, names, template-haskell }:
+     mkDerivation {
+       pname = "named-records";
+       version = "0.5";
+       sha256 = "0ykcmmnns63zjfd00kd9941c33l19n9c5b5xkin4n7r9v0qvirwr";
+       buildDepends = [ base binary names template-haskell ];
+       description = "Flexible records with named fields";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "names" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "names";
+       version = "0.3.1";
+       sha256 = "0sjjp90zfrkjavj8fqyscnvc9d72mkvv8f7ajd47jba92mhwzr5g";
+       buildDepends = [ base template-haskell ];
+       description = "Type level names";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "names-th" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "names-th";
+       version = "0.1.0.0";
+       sha256 = "05ghdjif8r0x8k2qqixh2wzzq356f80py1nfps6wim8g9sv1h5rc";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Manipulate name strings for TH";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nano-cryptr" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "nano-cryptr";
+       version = "0.1.1.3";
+       sha256 = "1pqwzl8l48c4q83jhjj11jd3kwwa0ail2c6kv3k38kig9yvj7ff8";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/chowells79/nano-cryptr";
+       description = "A threadsafe binding to glibc's crypt_r function";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nano-hmac" = callPackage
+    ({ mkDerivation, base, bytestring, openssl }:
+     mkDerivation {
+       pname = "nano-hmac";
+       version = "0.2.0";
+       sha256 = "0rrwa1c3mval1jm4siqyx1vk14ibifya62hni13cimcdafj35fnq";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ openssl ];
+       homepage = "http://www.jasani.org/search/label/nano-hmac";
+       description = "Bindings to OpenSSL HMAC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) openssl;};
+
+  "nano-md5" = callPackage
+    ({ mkDerivation, base, bytestring, openssl }:
+     mkDerivation {
+       pname = "nano-md5";
+       version = "0.1.2";
+       sha256 = "18db3y76w0kv2m7h3lrqxcag4lc7519b2j80113g6hhm1wxkpabk";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ openssl ];
+       homepage = "http://code.haskell.org/~dons/code/nano-md5";
+       description = "Efficient, ByteString bindings to OpenSSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) openssl;};
+
+  "nanoAgda" = callPackage
+    ({ mkDerivation, base, BNFC-meta, cmdargs, containers, mtl, parsec
+     , pretty, transformers
+     }:
+     mkDerivation {
+       pname = "nanoAgda";
+       version = "1.0.0";
+       sha256 = "034mwssj296xn7j123sqvfl9rv1bwnj1v5sw5l34481dk5zsi9sm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base BNFC-meta cmdargs containers mtl parsec pretty transformers
+       ];
+       jailbreak = true;
+       description = "A toy dependently-typed language";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nanocurses" = callPackage
+    ({ mkDerivation, base, bytestring, curses, unix }:
+     mkDerivation {
+       pname = "nanocurses";
+       version = "1.5.2";
+       sha256 = "04kgf3vvjdx6d1fmfzp0xy5x42zlg0ij59ayi1zhz8hkwsfn5g1m";
+       buildDepends = [ base bytestring unix ];
+       extraLibraries = [ curses ];
+       homepage = "http://www.cse.unsw.edu.au/~dons/hmp3.html";
+       description = "Simple Curses binding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { curses = null;};
+
+  "nanomsg" = callPackage
+    ({ mkDerivation, base, bytestring, nanomsg }:
+     mkDerivation {
+       pname = "nanomsg";
+       version = "0.1.1";
+       sha256 = "06jb8s3jxjiz7r6dn8xx33xqd76f2r5q1mshsz41z4q0khf4wdp3";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ nanomsg ];
+       jailbreak = true;
+       description = "nanomsg - scalability protocols library";
+       license = stdenv.lib.licenses.publicDomain;
+     }) { inherit (pkgs) nanomsg;};
+
+  "nanomsg-haskell" = callPackage
+    ({ mkDerivation, base, binary, bytestring, nanomsg, QuickCheck
+     , test-framework, test-framework-quickcheck2, test-framework-th
+     }:
+     mkDerivation {
+       pname = "nanomsg-haskell";
+       version = "0.2.2";
+       sha256 = "1p4d0qdyqfg4qidcdcddjnyw4x2q8551ka6bsryz9b6dpj6kywch";
+       buildDepends = [ base binary bytestring ];
+       testDepends = [
+         base binary bytestring QuickCheck test-framework
+         test-framework-quickcheck2 test-framework-th
+       ];
+       extraLibraries = [ nanomsg ];
+       homepage = "https://github.com/ivarnymoen/nanomsg-haskell";
+       description = "Bindings to the nanomsg library";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) nanomsg;};
+
+  "nanoparsec" = callPackage
+    ({ mkDerivation, base, bytestring, ListLike }:
+     mkDerivation {
+       pname = "nanoparsec";
+       version = "0.1.1";
+       sha256 = "00ghdzkzshk24g7v42hq7zq0dxsq8vjpkslj41dxdnx0zizwbn3m";
+       buildDepends = [ base bytestring ListLike ];
+       jailbreak = true;
+       description = "An implementation of attoparsec-like parser around list-like";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nanospec" = callPackage
+    ({ mkDerivation, base, hspec, silently }:
+     mkDerivation {
+       pname = "nanospec";
+       version = "0.2.0";
+       sha256 = "0g10l86cv33r58zxn2bprqlm80i7g86bwzhn9jqg9s81xc0aw2qv";
+       buildDepends = [ base ];
+       testDepends = [ base hspec silently ];
+       description = "A lightweight implementation of a subset of Hspec's API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "narc" = callPackage
+    ({ mkDerivation, base, HDBC, HUnit, mtl, QuickCheck, random }:
+     mkDerivation {
+       pname = "narc";
+       version = "0.1.3";
+       sha256 = "1ng1rzj1lf6h9g3pk8gsz05bnck72rp5j62iwn82vlcw8pyk0fsc";
+       buildDepends = [ base HDBC HUnit mtl QuickCheck random ];
+       homepage = "http://ezrakilty.net/projects/narc";
+       description = "Query SQL databases using Nested Relational Calculus embedded in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nat" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "nat";
+       version = "0.3";
+       sha256 = "1v43c1dr72qn8mymnwcq6an8sqxjaxhac037k4gbv8z8bg18zmf5";
+       buildDepends = [ base ];
+       description = "Lazy binary natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nats" = callPackage
+    ({ mkDerivation, base, hashable }:
+     mkDerivation {
+       pname = "nats";
+       version = "1";
+       sha256 = "0r6s8l4s0yq3x2crrkv0b8zac13magfasr9v8hnq6rn1icsfhic0";
+       buildDepends = [ base hashable ];
+       homepage = "http://github.com/ekmett/nats/";
+       description = "Natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nats-queue" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, containers
+     , dequeue, hspec, network, network-uri, random, text
+     }:
+     mkDerivation {
+       pname = "nats-queue";
+       version = "0.1.2.0";
+       sha256 = "0gqgqf87dzja0yhfpazqbdpvia1jisarhnph9bxvb3mfl4is9sgf";
+       buildDepends = [
+         aeson async base bytestring containers dequeue network network-uri
+         random text
+       ];
+       testDepends = [
+         aeson base bytestring containers dequeue hspec network network-uri
+         random text
+       ];
+       description = "Haskell API for NATS messaging system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "natural-number" = callPackage
+    ({ mkDerivation, base, type-equality, type-level-natural-number
+     , type-level-natural-number-induction
+     }:
+     mkDerivation {
+       pname = "natural-number";
+       version = "1.0";
+       sha256 = "1n8qgjbi4c50pwynlya4bjxd6lpwj00257drqk04mlrr3nw3gp5x";
+       buildDepends = [
+         base type-equality type-level-natural-number
+         type-level-natural-number-induction
+       ];
+       jailbreak = true;
+       description = "Natural numbers tagged with a type-level representation of the number";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "natural-numbers" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "natural-numbers";
+       version = "0.1.2.0";
+       sha256 = "0cj9lnnlvry425bkixqv9fh5b9xhy7dmwcqsxprj6lamccvxspwn";
+       buildDepends = [ base ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/natural-numbers";
+       description = "Natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "natural-sort" = callPackage
+    ({ mkDerivation, base, bytestring, parsec, text }:
+     mkDerivation {
+       pname = "natural-sort";
+       version = "0.1.2";
+       sha256 = "0l3bkbqzrlpdhzazqqlx71ah0m13ypa0981qvw3sn9q8d0sbfwkv";
+       buildDepends = [ base bytestring parsec text ];
+       homepage = "https://john-millikin.com/software/natural-sort/";
+       description = "User-friendly text collation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "natural-transformation" = callPackage
+    ({ mkDerivation, base, containers, quickcheck-instances, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "natural-transformation";
+       version = "0.2";
+       sha256 = "1fxgbjf74kdag42hscplc5sn63z0idz2z2yykk1jz4zp71wa0wdp";
+       buildDepends = [ base ];
+       testDepends = [
+         base containers quickcheck-instances tasty tasty-quickcheck
+       ];
+       homepage = "https://github.com/ku-fpg/natural-transformation";
+       description = "A natural transformation package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "naturalcomp" = callPackage
+    ({ mkDerivation, base, text, utf8-string }:
+     mkDerivation {
+       pname = "naturalcomp";
+       version = "0.0.3";
+       sha256 = "1l594lkd3yb52lhh0raygvk3jlzwkcc2pmcqjmg02dmd6j6mw42x";
+       buildDepends = [ base text utf8-string ];
+       homepage = "not yet available";
+       description = "Natural-order string comparison";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "naturals" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "naturals";
+       version = "0.2.0.2";
+       sha256 = "1ay291833dcah411zc3r4qjilaw8x13ljlnb5z40d1s7784djm16";
+       buildDepends = [ base ];
+       homepage = "frigidcode.com";
+       description = "Constructors and related functions for natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nbt" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, zlib
+     }:
+     mkDerivation {
+       pname = "nbt";
+       version = "0.5.1";
+       sha256 = "08184rn4mwxd2m2fnqvja23jpkzlkvb8d2vn8i4rqcil136wb6q0";
+       buildDepends = [ array base bytestring cereal text ];
+       testDepends = [
+         array base bytestring cereal HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text zlib
+       ];
+       homepage = "https://github.com/acfoltzer/nbt";
+       description = "A parser/serializer for Minecraft's Named Binary Tag (NBT) data format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nc-indicators" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , gtk, hflags, lens, pipes, stm, unix
+     }:
+     mkDerivation {
+       pname = "nc-indicators";
+       version = "0.3";
+       sha256 = "0w5nddirsib9vz96dpan9bgdg1mag9gaz7w7ix51l44ls9r8yn3m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array attoparsec base bytestring containers gtk hflags lens pipes
+         stm unix
+       ];
+       homepage = "https://github.com/nilcons/nc-indicators";
+       description = "CPU load and memory usage indicators for i3bar";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "ncurses" = callPackage
+    ({ mkDerivation, base, c2hs, containers, ncurses, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ncurses";
+       version = "0.2.11";
+       sha256 = "08jr224i37jxrprka9c276sid6mw001m8r2krd6g8jscshwd5nzk";
+       buildDepends = [ base containers text transformers ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ ncurses ];
+       patchPhase = "find . -type f -exec sed -i -e 's|ncursesw/||' {} \\;";
+       homepage = "https://john-millikin.com/software/haskell-ncurses/";
+       description = "Modernised bindings to GNU ncurses";
+       license = stdenv.lib.licenses.gpl3;
+     }) { inherit (pkgs) ncurses;};
+
+  "neat" = callPackage
+    ({ mkDerivation, base, filepath, parsec }:
+     mkDerivation {
+       pname = "neat";
+       version = "0.1.0";
+       sha256 = "0lh5clnlfkzd5d9zmm9r92wpzrp8g7x6ndml7wajr882s53dv6jk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base filepath parsec ];
+       homepage = "https://github.com/ajg/neat";
+       description = "A Fast Retargetable Template Engine";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "neat-interpolation" = callPackage
+    ({ mkDerivation, base, base-prelude, HTF, parsec, template-haskell
+     }:
+     mkDerivation {
+       pname = "neat-interpolation";
+       version = "0.2.2";
+       sha256 = "0hjv33gpikfiwfhzna35bxiqh62d54776d3ahfb98dxfrjijl20c";
+       buildDepends = [ base base-prelude parsec template-haskell ];
+       testDepends = [ base-prelude HTF ];
+       homepage = "https://github.com/nikita-volkov/neat-interpolation";
+       description = "A quasiquoter for neat and simple multiline text interpolation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "needle" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-meta, mtl, parsec
+     , parsec-extra, template-haskell, text, vector
+     }:
+     mkDerivation {
+       pname = "needle";
+       version = "0.1.0.1";
+       sha256 = "1p7hmja7mvdbd10jv7bzr5b9i18l9nghdcvvxpn9xvfm8ycz7yg2";
+       buildDepends = [
+         base containers haskell-src-meta mtl parsec parsec-extra
+         template-haskell text vector
+       ];
+       jailbreak = true;
+       homepage = "http://scrambledeggsontoast.github.io/2014/09/28/needle-announce/";
+       description = "ASCII-fied arrow notation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "nehe-tuts" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, directory, GLFW-b
+     , GLURaw, OpenGLRaw, random
+     }:
+     mkDerivation {
+       pname = "nehe-tuts";
+       version = "0.2.4";
+       sha256 = "00zll88gk44l22lqxv47v4j5ipfapy5599ld8fcsvhk57nfcm2r0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cereal directory GLFW-b GLURaw OpenGLRaw
+         random
+       ];
+       description = "Port of the NeHe OpenGL tutorials to Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "neil" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, directory, extra
+     , filepath, GoogleChart, json, old-time, process, time
+     }:
+     mkDerivation {
+       pname = "neil";
+       version = "0.9";
+       sha256 = "0cg4x4b2x81d3mbk8nhwqib3pr154hd0snh160bfbm3b31yfr19k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers directory extra filepath GoogleChart json
+         old-time process time
+       ];
+       homepage = "http://community.haskell.org/~ndm/";
+       description = "General tools for Neil";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "neither" = callPackage
+    ({ mkDerivation, base, failure, transformers }:
+     mkDerivation {
+       pname = "neither";
+       version = "0.3.1.1";
+       sha256 = "192l840yb1pprfjjq7ax5xaraagl1pbmsidkg1yibp6r4azd61yf";
+       buildDepends = [ base failure transformers ];
+       homepage = "http://github.com/snoyberg/neither";
+       description = "Provide versions of Either with good monad and applicative instances. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nemesis" = callPackage
+    ({ mkDerivation, air, air-th, base, containers, directory, dlist
+     , Glob, mtl, process, time
+     }:
+     mkDerivation {
+       pname = "nemesis";
+       version = "2014.5.19";
+       sha256 = "1kj7w9rp8kimrbwwb1f1336ijdb99r2b6jwpmgxjp0q3sq07wmvc";
+       buildDepends = [
+         air air-th base containers directory dlist Glob mtl process time
+       ];
+       homepage = "http://github.com/nfjinjing/nemesis";
+       description = "a task management tool for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nemesis-titan" = callPackage
+    ({ mkDerivation, air, air-th, base, bytestring, directory, filepath
+     , hspec, HStringTemplate, nemesis, random, uuid
+     }:
+     mkDerivation {
+       pname = "nemesis-titan";
+       version = "2014.5.19";
+       sha256 = "183m6wz52lrf5kfwxz11ad7v5zazv4gcf1c2rcylh2ys6zda4xmd";
+       buildDepends = [
+         air air-th base bytestring directory filepath hspec HStringTemplate
+         nemesis random uuid
+       ];
+       homepage = "http://github.com/nfjinjing/nemesis-titan";
+       description = "A collection of Nemesis tasks to bootstrap a Haskell project with a focus on continuous integration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nerf" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cmdargs, containers
+     , crf-chain1, data-named, dawg, directory, filepath, IntervalMap
+     , monad-ox, mtl, network, polimorf, polysoup, sgd, tagsoup
+     , temporary, text, text-binary, tokenize, vector
+     }:
+     mkDerivation {
+       pname = "nerf";
+       version = "0.5.3";
+       sha256 = "18rkjgk2r6784mjbdd2lydv9yac252xvj18m78bbaplnac1504ak";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cmdargs containers crf-chain1 data-named
+         dawg directory filepath IntervalMap monad-ox mtl network polimorf
+         polysoup sgd tagsoup temporary text text-binary tokenize vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/nerf";
+       description = "Nerf, the named entity recognition tool based on linear-chain CRFs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nero" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, containers, doctest
+     , Glob, lens, tasty, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "nero";
+       version = "0.2";
+       sha256 = "1jw8sji0ci4za62zgjdlxsh9rknaj3pdm7p32rxdd33i6ir6pmh0";
+       buildDepends = [ base bifunctors bytestring containers lens text ];
+       testDepends = [
+         base bytestring doctest Glob lens tasty tasty-hunit text
+       ];
+       homepage = "https://github.com/jdnavarro/nero";
+       description = "Lens-based HTTP toolkit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nested-routes" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, containers
+     , hspec, http-types, lucid, mtl, pseudo-trie, QuickCheck
+     , quickcheck-instances, semigroups, text, transformers, wai
+     , wai-extra
+     }:
+     mkDerivation {
+       pname = "nested-routes";
+       version = "0.1";
+       sha256 = "0fz6lshm79iy62bxgg22bgrn8irgfalp5a3dllzlhbci8q5xs02k";
+       buildDepends = [
+         aeson base blaze-html bytestring containers http-types lucid mtl
+         pseudo-trie semigroups text transformers wai wai-extra
+       ];
+       testDepends = [ base hspec QuickCheck quickcheck-instances ];
+       description = "Declarative, compositional Wai responses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nested-sets" = callPackage
+    ({ mkDerivation, base, containers, hspec }:
+     mkDerivation {
+       pname = "nested-sets";
+       version = "0.0.1.1";
+       sha256 = "0a3ppsl6x9yh2pvx7fyir1khdg99wlx9d9zjflamv3gcck3d8p4i";
+       buildDepends = [ base containers ];
+       testDepends = [ base containers hspec ];
+       description = "Nested set model implementation";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "net-concurrent" = callPackage
+    ({ mkDerivation, base, bytestring, containers, ghc-binary, hslogger
+     , monad-loops, network
+     }:
+     mkDerivation {
+       pname = "net-concurrent";
+       version = "0.1.0";
+       sha256 = "0ar5y38nqgh10y23yxjcz0vlvdj2hcp2b2kq0srmbh17iw8d8906";
+       buildDepends = [
+         base bytestring containers ghc-binary hslogger monad-loops network
+       ];
+       jailbreak = true;
+       homepage = "http://phaul.hobby-site.org/node/4123";
+       description = "Concurrent over the network execution library";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { ghc-binary = null;};
+
+  "netclock" = callPackage
+    ({ mkDerivation, base, bytestring, hosc, network }:
+     mkDerivation {
+       pname = "netclock";
+       version = "0.6";
+       sha256 = "0vskyczfhv9bszl2hnr6j9cvhkfampja5s41kh6i9wk8j9kpf9p8";
+       buildDepends = [ base bytestring hosc network ];
+       homepage = "http://netclock.slab.org/";
+       description = "Netclock protocol";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "netcore" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bimap, binary, binary-strict
+     , bytestring, containers, fgl, HList, hslogger, HUnit, mtl
+     , multiset, network, parsec, process, QuickCheck, random, syb
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th
+     }:
+     mkDerivation {
+       pname = "netcore";
+       version = "1.0.0";
+       sha256 = "0biqhmfvszwmmnpgja6qk3k2s5ynx4l659zq9awrxr0637dc19a5";
+       buildDepends = [
+         ansi-wl-pprint base bimap binary binary-strict bytestring
+         containers fgl HList hslogger mtl multiset network parsec process
+         random syb
+       ];
+       testDepends = [
+         ansi-wl-pprint base bimap binary binary-strict bytestring
+         containers fgl HList hslogger HUnit mtl multiset network parsec
+         process QuickCheck random syb test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th
+       ];
+       jailbreak = true;
+       homepage = "http://frenetic-lang.org";
+       description = "The NetCore compiler and runtime system for OpenFlow networks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "netlines" = callPackage
+    ({ mkDerivation, base, bytestring, contstuff, enumerator, HTF
+     , random, text, time
+     }:
+     mkDerivation {
+       pname = "netlines";
+       version = "1.0.0";
+       sha256 = "006ca49rhh09lz8did0sil2f0xp1ggk69d4dqb2kx12drijp1jgj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring contstuff enumerator HTF random text time
+       ];
+       description = "Enumerator tools for text-based network protocols";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "netlink" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, cereal, containers
+     , monad-loops, unix
+     }:
+     mkDerivation {
+       pname = "netlink";
+       version = "0.1";
+       sha256 = "0w2iyxmmk53k8gg0i8g3339dkdlpjgj39ar0kmsrzhxa6nakclwn";
+       buildDepends = [
+         base bytestring cereal containers monad-loops unix
+       ];
+       buildTools = [ c2hs ];
+       jailbreak = true;
+       homepage = "http://netlink-hs.googlecode.com/";
+       description = "Netlink communication for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "netlist" = callPackage
+    ({ mkDerivation, base, binary, containers, syb }:
+     mkDerivation {
+       pname = "netlist";
+       version = "0.3.1";
+       sha256 = "0f3fwgpg0p3ajgxfzbqr4z04ly5cdbhjxms5xbd0k2ixdwgyxm67";
+       buildDepends = [ base binary containers syb ];
+       description = "Netlist AST";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "netlist-to-vhdl" = callPackage
+    ({ mkDerivation, base, netlist, pretty }:
+     mkDerivation {
+       pname = "netlist-to-vhdl";
+       version = "0.3.2";
+       sha256 = "107pkkihj62qjkfwrnhwfscpph5r76lx6r3s0m3b0dbsf1jy2a61";
+       buildDepends = [ base netlist pretty ];
+       description = "Convert a Netlist AST to VHDL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "netpbm" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-binary, base, bytestring
+     , hspec, HUnit, storable-record, unordered-containers, vector
+     , vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "netpbm";
+       version = "1.0.1";
+       sha256 = "02gj7m7gmislrkpk0mn5qb66z77zqy2k3py5c965bcjm086pk3fc";
+       buildDepends = [
+         attoparsec attoparsec-binary base bytestring storable-record
+         unordered-containers vector vector-th-unbox
+       ];
+       testDepends = [ base bytestring hspec HUnit vector ];
+       homepage = "https://github.com/nh2/haskell-netpbm";
+       description = "Loading PBM, PGM, PPM image files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "netrc" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, parsec, tasty
+     , tasty-golden, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "netrc";
+       version = "0.2.0.0";
+       sha256 = "11iax3ick0im397jyyjkny7lax9bgrlgk90a25dp2jsglkphfpls";
+       buildDepends = [ base bytestring deepseq parsec ];
+       testDepends = [
+         base bytestring tasty tasty-golden tasty-quickcheck
+       ];
+       homepage = "https://github.com/hvr/netrc";
+       description = "Parser for .netrc files";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "netspec" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, mtl, network
+     , template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "netspec";
+       version = "0.2.0.0";
+       sha256 = "0qmca5pf6r0zam86a8wghs3ylsmvd4cxk9g3nlv2gc3vl3fb8caq";
+       buildDepends = [
+         aeson base binary bytestring mtl network template-haskell text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/DanBurton/netspec";
+       description = "Simplify static Networking tasks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "netstring-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, transformers }:
+     mkDerivation {
+       pname = "netstring-enumerator";
+       version = "0.1.1";
+       sha256 = "1n1g8d8507i0k4i93wb4i6yh7j7l3r0d9dfgxwl02hsk1svk5hkm";
+       buildDepends = [ base bytestring enumerator transformers ];
+       homepage = "https://john-millikin.com/software/netstring-enumerator/";
+       description = "Enumerator-based netstring parsing";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "nettle" = callPackage
+    ({ mkDerivation, array, base, byteable, bytestring
+     , crypto-cipher-tests, crypto-cipher-types, HUnit, nettle
+     , QuickCheck, securemem, tagged, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "nettle";
+       version = "0.1.0";
+       sha256 = "1ms96laa9d2ns39ymw6mlwm0mj03vss7855cs9npymhb4fmqkcas";
+       buildDepends = [
+         base byteable bytestring crypto-cipher-types securemem tagged
+       ];
+       testDepends = [
+         array base bytestring crypto-cipher-tests crypto-cipher-types HUnit
+         QuickCheck tagged test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       pkgconfigDepends = [ nettle ];
+       homepage = "https://github.com/stbuehler/haskell-nettle";
+       description = "safe nettle binding";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) nettle;};
+
+  "nettle-frp" = callPackage
+    ({ mkDerivation, base, bimap, binary, bytestring, containers, mtl
+     , nettle-openflow, network, network-data, random, time
+     }:
+     mkDerivation {
+       pname = "nettle-frp";
+       version = "0.1.1";
+       sha256 = "0jkb9a3vci91gx1rj81jbanhf0xw7n4xk69a5nhy7b55vclv8lcr";
+       buildDepends = [
+         base bimap binary bytestring containers mtl nettle-openflow network
+         network-data random time
+       ];
+       jailbreak = true;
+       description = "FRP for controlling networks of OpenFlow switches";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nettle-netkit" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, mtl
+     , nettle-openflow, unix
+     }:
+     mkDerivation {
+       pname = "nettle-netkit";
+       version = "0.2.0";
+       sha256 = "152i4mdmqfrbvzq4nfzl8vy2n3jczbn18wd2mjxng1130l86cylp";
+       buildDepends = [
+         base containers directory filepath mtl nettle-openflow unix
+       ];
+       description = "DSL for describing OpenFlow networks, and a compiler generating NetKit labs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nettle-openflow" = callPackage
+    ({ mkDerivation, array, base, bimap, binary, binary-strict
+     , bytestring, containers, HList, mtl, network, parsec, syb
+     }:
+     mkDerivation {
+       pname = "nettle-openflow";
+       version = "0.2.0";
+       sha256 = "1jc9dpsz8s6ivmkmddxy7i8kyiqf93x8rhnxly357nxlgmsn5dgk";
+       buildDepends = [
+         array base bimap binary binary-strict bytestring containers HList
+         mtl network parsec syb
+       ];
+       description = "OpenFlow protocol messages, binary formats, and servers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "netwire" = callPackage
+    ({ mkDerivation, base, containers, deepseq, parallel, profunctors
+     , random, semigroups, time, transformers
+     }:
+     mkDerivation {
+       pname = "netwire";
+       version = "5.0.1";
+       sha256 = "1izl4iarcc6z2j0d6gkcygpp63asajikn1p44p8ixwzx96xx578r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers deepseq parallel profunctors random semigroups time
+         transformers
+       ];
+       homepage = "http://hub.darcs.net/ertes/netwire";
+       description = "Functional reactive programming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "netwire-input" = callPackage
+    ({ mkDerivation, base, netwire }:
+     mkDerivation {
+       pname = "netwire-input";
+       version = "0.0.3";
+       sha256 = "0c6wi1gfr0pxm8hav6ziic444a83cns3yf07kdylxbymgzgq7n7z";
+       buildDepends = [ base 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 {
+       pname = "netwire-input-glfw";
+       version = "0.0.3";
+       sha256 = "04flihwgs4wibhppyjw7x23s2629rbywafbv9dmdcda6bv6d8qm3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers GLFW-b mtl netwire-input stm ];
+       homepage = "https://www.github.com/Mokosha/netwire-input-glfw";
+       description = "GLFW instance of netwire-input";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "network" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, test-framework
+     , test-framework-hunit, unix
+     }:
+     mkDerivation {
+       pname = "network";
+       version = "2.6.0.2";
+       sha256 = "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4";
+       buildDepends = [ base bytestring unix ];
+       testDepends = [
+         base bytestring HUnit test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/haskell/network";
+       description = "Low-level networking interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-address" = callPackage
+    ({ mkDerivation, base, Cabal, criterion, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "network-address";
+       version = "0.2.0";
+       sha256 = "0pz6x11naxzby14jxrm31j2jdd6gwqspbrx1hv5204rbf7lifib1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal criterion ];
+       testDepends = [
+         base Cabal QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/sebnow/haskell-network-address";
+       description = "IP data structures and textual representation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-anonymous-i2p" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, exceptions, hspec
+     , hspec-attoparsec, hspec-expectations, mtl, network
+     , network-attoparsec, network-simple, text, transformers, uuid
+     }:
+     mkDerivation {
+       pname = "network-anonymous-i2p";
+       version = "0.10.0";
+       sha256 = "0b7z7w105l1yd3xpnnl2z779m5zknf756cslksbbpsy16rn7kxfg";
+       buildDepends = [
+         attoparsec base bytestring exceptions mtl network
+         network-attoparsec network-simple text transformers uuid
+       ];
+       testDepends = [
+         attoparsec base bytestring exceptions hspec hspec-attoparsec
+         hspec-expectations mtl network network-simple transformers uuid
+       ];
+       homepage = "http://github.com/solatis/haskell-network-anonymous-i2p";
+       description = "Haskell API for I2P anonymous networking";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-api-support" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , case-insensitive, http-client, http-client-tls, http-types, text
+     , time, tls
+     }:
+     mkDerivation {
+       pname = "network-api-support";
+       version = "0.1.0";
+       sha256 = "11x9f1cbakwaqxs995vk9ardbf1h7zdg39n7nykhrr387biyq653";
+       buildDepends = [
+         aeson attoparsec base bytestring case-insensitive http-client
+         http-client-tls http-types text time tls
+       ];
+       homepage = "https://github.com/apiengine/network-api-support";
+       description = "Toolkit for building http client libraries over Network.Http.Conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, enclosed-exceptions
+     , exceptions, hspec, lifted-base, monad-control, mtl, network
+     , network-simple, transformers
+     }:
+     mkDerivation {
+       pname = "network-attoparsec";
+       version = "0.12.2";
+       sha256 = "1w08py367mmwfg5lff6y9s6hdpg1nbjf7v6vv9s19aw6saxak44p";
+       buildDepends = [
+         attoparsec base bytestring enclosed-exceptions exceptions
+         lifted-base monad-control mtl network transformers
+       ];
+       testDepends = [
+         attoparsec base bytestring exceptions hspec mtl network
+         network-simple transformers
+       ];
+       homepage = "http://github.com/solatis/haskell-network-attoparsec";
+       description = "Utility functions for running a parser against a socket";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "network-bitcoin" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cookie, HTTP
+     , http-client, http-types, network, QuickCheck, text, time
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "network-bitcoin";
+       version = "1.8.1";
+       sha256 = "0gw04wh24j4vpyvx0wy0bdhh3dkwdxrg2laq7vsvwlpzwgcny99h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring cookie HTTP http-client http-types
+         network QuickCheck text time unordered-containers vector
+       ];
+       homepage = "http://github.com/mndrix/network-bitcoin";
+       description = "An interface to bitcoind";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-builder" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cabal-test-bin, hspec
+     , hspec-server, optparse-applicative, process, shelly, text, yaml
+     }:
+     mkDerivation {
+       pname = "network-builder";
+       version = "0.1.0";
+       sha256 = "0faa3clz80158m9cy4mblnszla6k9hbf8bdwp5cam05dwmvsdcyw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring optparse-applicative shelly text yaml
+       ];
+       testDepends = [ base cabal-test-bin hspec hspec-server process ];
+       description = "Linux NetworkNameSpace Builder";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, network, unix }:
+     mkDerivation {
+       pname = "network-bytestring";
+       version = "0.1.3.4";
+       sha256 = "19m10mj9nqsa7s0syv9dyhqkhvmf2h7yna8n7bq0xkdp8m9l0g96";
+       buildDepends = [ base bytestring network unix ];
+       jailbreak = true;
+       homepage = "http://github.com/tibbe/network-bytestring";
+       description = "Fast, memory-efficient, low-level networking";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-carbon" = callPackage
+    ({ mkDerivation, base, bytestring, network, text, time, vector }:
+     mkDerivation {
+       pname = "network-carbon";
+       version = "1.0.2";
+       sha256 = "0r9riydwvmn8v9iih475agl4idb3z6v3djmn3pjlda28g3p0zw9h";
+       buildDepends = [ base bytestring network text time vector ];
+       homepage = "http://github.com/ocharles/network-carbon";
+       description = "A Haskell implementation of the Carbon protocol (part of the Graphite monitoring tools)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-conduit" = callPackage
+    ({ mkDerivation, base, conduit }:
+     mkDerivation {
+       pname = "network-conduit";
+       version = "1.1.0";
+       sha256 = "06amxl8rg4zfnmgc1iyq5mxy9qihcqddqgqkbfvaf25mwr43992p";
+       buildDepends = [ base conduit ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Stream socket data using conduits. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-conduit-tls" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , connection, cprng-aes, data-default, HUnit, monad-control, mtl
+     , network, streaming-commons, system-fileio, system-filepath, tls
+     , transformers
+     }:
+     mkDerivation {
+       pname = "network-conduit-tls";
+       version = "1.1.1";
+       sha256 = "0wq074k6nwn3h1ww1an7n6i9zx6ii9hsm9vw6x51w22mp787dj1p";
+       buildDepends = [
+         base bytestring conduit conduit-extra connection cprng-aes
+         data-default monad-control network streaming-commons system-fileio
+         system-filepath tls transformers
+       ];
+       testDepends = [
+         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-connection" = callPackage
+    ({ mkDerivation, base, bytestring, containers, network
+     , network-bytestring, stm
+     }:
+     mkDerivation {
+       pname = "network-connection";
+       version = "0.1.1";
+       sha256 = "0v3dwq5vxmgknsiq2nddfj3gvvvaxdlfsnk0bxrqw9zzzdkpi0q1";
+       buildDepends = [
+         base bytestring containers network network-bytestring stm
+       ];
+       homepage = "http://darcs.imperialviolet.org/network-connection";
+       description = "A wrapper around a generic stream-like connection";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-data" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, pretty, prettyclass }:
+     mkDerivation {
+       pname = "network-data";
+       version = "0.5.2";
+       sha256 = "0vbmg1m4qylzbmj3z5746srfkiwvh32qi9zyc39gc87bfw2gzn8s";
+       buildDepends = [ base bytestring cereal pretty prettyclass ];
+       description = "Library for network data structures and their serialization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-dbus" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, mtl, network
+     , parsec, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "network-dbus";
+       version = "0.0";
+       sha256 = "024h0gfgn7hmfh90y74nf03kpvj5mg74a54lgb6clvxxfp8j64w9";
+       buildDepends = [
+         base binary bytestring containers mtl network parsec unix
+         utf8-string
+       ];
+       jailbreak = true;
+       description = "D-Bus";
+       license = "unknown";
+     }) {};
+
+  "network-dns" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers
+     , data-textual, hashable, network-ip, parsers, tagged, text-latin1
+     , text-printer
+     }:
+     mkDerivation {
+       pname = "network-dns";
+       version = "1.0.0.1";
+       sha256 = "0gg1g1gnbi6dzw5anz3dam2gh09q948d3k7q84agkswa64c0azn8";
+       buildDepends = [
+         base binary bytestring cereal containers data-textual hashable
+         network-ip parsers tagged text-latin1 text-printer
+       ];
+       homepage = "https://github.com/mvv/network-dns";
+       description = "Domain Name System data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, network
+     , transformers
+     }:
+     mkDerivation {
+       pname = "network-enumerator";
+       version = "0.1.5";
+       sha256 = "11hwgdw03a39k3akjy5qlg9zsb7z8qiikvdmcqr2dhj6ykmfwsvk";
+       buildDepends = [ base bytestring enumerator network transformers ];
+       homepage = "https://john-millikin.com/software/network-enumerator/";
+       description = "Enumerators for network sockets";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "network-fancy" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "network-fancy";
+       version = "0.2.2";
+       sha256 = "12q2ifjwg4ss5l2pv42nfhsawncbwm6y4dwrspadkjv9b8idl91j";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/taruti/network-fancy";
+       description = "Networking support with a cleaner API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-house" = callPackage
+    ({ mkDerivation, array, base, containers, mtl }:
+     mkDerivation {
+       pname = "network-house";
+       version = "0.1.0.1";
+       sha256 = "0s9ysp28nd29q2g62w7ch5h7l2kxdjfqqbz4h70vg8py3zs5gfqn";
+       buildDepends = [ array base containers mtl ];
+       homepage = "https://github.com/nh2/network-house";
+       description = "data and parsers for Ethernet, TCP, UDP, IPv4, IPv6, ICMP, DHCP, TFTP";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "network-info" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "network-info";
+       version = "0.2.0.5";
+       sha256 = "0ggxnkjkbspynma0wjrc1wwwb9ygx2dhl0n9lfaq7l8r69z7pqwf";
+       buildDepends = [ base ];
+       homepage = "http://github.com/jystic/network-info";
+       description = "Access the local computer's basic network configuration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-interfacerequest" = callPackage
+    ({ mkDerivation, base, bytestring, ioctl, network }:
+     mkDerivation {
+       pname = "network-interfacerequest";
+       version = "0.0.1";
+       sha256 = "0qa5rbbcw9axg7mj4kjj027hfsclnw85cj8nmi6jvrzq2yhhk56c";
+       buildDepends = [ base bytestring ioctl network ];
+       jailbreak = true;
+       description = "Haskell bindings for the ifreq structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-ip" = callPackage
+    ({ mkDerivation, base, binary, cereal, data-default-class
+     , data-dword, data-endian, data-textual, hashable, parsers, tasty
+     , tasty-quickcheck, text-printer, type-hint
+     }:
+     mkDerivation {
+       pname = "network-ip";
+       version = "0.2.1.1";
+       sha256 = "0abc07pi39drsldhk4znlq1j6cv0vxm7y8yyg2z4qanb3sy990iy";
+       buildDepends = [
+         base binary cereal data-default-class data-dword data-endian
+         data-textual hashable parsers text-printer type-hint
+       ];
+       testDepends = [
+         base data-dword data-textual parsers tasty tasty-quickcheck
+         text-printer
+       ];
+       homepage = "https://github.com/mvv/network-ip";
+       description = "Internet Protocol data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-metrics" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-default, network
+     , random, time
+     }:
+     mkDerivation {
+       pname = "network-metrics";
+       version = "0.4";
+       sha256 = "0dvrjf84pdm42pxwc7fm4gvswc5nzmdsq7cr7ab8jyzvjqb8684c";
+       buildDepends = [
+         base binary bytestring data-default network random time
+       ];
+       homepage = "http://github.com/brendanhay/network-metrics";
+       description = "Send metrics to Ganglia, Graphite, and statsd";
+       license = "unknown";
+     }) {};
+
+  "network-minihttp" = callPackage
+    ({ mkDerivation, base, binary, binary-strict, bytestring
+     , containers, filepath, HsOpenSSL, mtl, network, network-bytestring
+     , network-connection, network-dns, old-locale, stm, tagsoup, time
+     , unix
+     }:
+     mkDerivation {
+       pname = "network-minihttp";
+       version = "0.2";
+       sha256 = "104jfksb0xagd8am3h390avqqr3k7qgxcd0znppz4hr0p9d681f5";
+       buildDepends = [
+         base binary binary-strict bytestring containers filepath HsOpenSSL
+         mtl network network-bytestring network-connection network-dns
+         old-locale stm tagsoup time unix
+       ];
+       homepage = "http://darcs.imperialviolet.org/network-minihttp";
+       description = "A ByteString based library for writing HTTP(S) servers and clients";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-msg" = callPackage
+    ({ mkDerivation, base, binary, bytestring, network, unix }:
+     mkDerivation {
+       pname = "network-msg";
+       version = "0.4";
+       sha256 = "13dn06rgw8ygw1iikadf0m7bh7kvdx0s90iachip7kg50nq90waw";
+       buildDepends = [ base binary bytestring network unix ];
+       description = "Recvmsg and sendmsg bindings";
+       license = "unknown";
+     }) {};
+
+  "network-multicast" = callPackage
+    ({ mkDerivation, base, network }:
+     mkDerivation {
+       pname = "network-multicast";
+       version = "0.0.11";
+       sha256 = "0fgscv9crk2lx99rh234ipgl5psbrjili95inxj23drvwmsj3135";
+       buildDepends = [ base network ];
+       description = "Simple multicast library";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "network-netpacket" = callPackage
+    ({ mkDerivation, base, bytestring, foreign-storable-asymmetric
+     , ioctl, network, network-interfacerequest
+     }:
+     mkDerivation {
+       pname = "network-netpacket";
+       version = "0.0.1";
+       sha256 = "12q3bqy57lj46m3l44zdk3sqkhbnqfd5cjp3qy1m5m5wxfdnmx56";
+       buildDepends = [
+         base bytestring foreign-storable-asymmetric ioctl network
+         network-interfacerequest
+       ];
+       jailbreak = true;
+       description = "Haskell bindings for low-level packet sockets (AF_PACKET)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-pgi" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , bytestring, enumerator, tnet
+     }:
+     mkDerivation {
+       pname = "network-pgi";
+       version = "0.0.1";
+       sha256 = "0s0rk3q1nlic2ibcpr0px0kb8gwp2hbnra5109l71q3dr713n2yw";
+       buildDepends = [
+         attoparsec attoparsec-enumerator base bytestring enumerator tnet
+       ];
+       description = "Library for writing PGI applications";
+       license = "unknown";
+     }) {};
+
+  "network-protocol-xmpp" = callPackage
+    ({ mkDerivation, base, bytestring, gnuidn, gnutls, gsasl
+     , libxml-sax, monads-tf, network, text, transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "network-protocol-xmpp";
+       version = "0.4.6";
+       sha256 = "0xmafjz11v2dlbyg2ny90ycz315s23yprdpxz3l06igjxw6h3v6n";
+       buildDepends = [
+         base bytestring gnuidn gnutls gsasl libxml-sax monads-tf network
+         text transformers xml-types
+       ];
+       homepage = "https://john-millikin.com/software/haskell-xmpp/";
+       description = "Client library for the XMPP protocol";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "network-rpca" = callPackage
+    ({ mkDerivation, array, base, binary, binary-strict, bytestring
+     , codec-libevent, containers, control-timeout, network
+     , network-bytestring, stm
+     }:
+     mkDerivation {
+       pname = "network-rpca";
+       version = "0.0.1";
+       sha256 = "1dhy4n0502rx66pansmgmjv8avwwbhvf23afhb98zqksqlkavdir";
+       buildDepends = [
+         array base binary binary-strict bytestring codec-libevent
+         containers control-timeout network network-bytestring stm
+       ];
+       description = "A cross-platform RPC library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-server" = callPackage
+    ({ mkDerivation, base, network, unix }:
+     mkDerivation {
+       pname = "network-server";
+       version = "0.2.0";
+       sha256 = "0iijgw07b5g3rcd4va98pb4hdkk912c67y2d1lkz03bfyq75b6xk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base network unix ];
+       description = "A light abstraction over sockets & co. for servers";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-service" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, network
+     , network-simple
+     }:
+     mkDerivation {
+       pname = "network-service";
+       version = "0.1.0.0";
+       sha256 = "1js0p0i27fj8rjnq54pcq97bgvhdx7jpwj1ghqmdwpvhn8ds07p4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring bytestring network network-simple
+       ];
+       homepage = "https://github.com/angerman/network-service";
+       description = "Provide a service at the data type level";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "network-simple" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, network
+     , transformers
+     }:
+     mkDerivation {
+       pname = "network-simple";
+       version = "0.4.0.4";
+       sha256 = "0qa3ax29ci7m01af0d2rvnx9m24q1d9zw727bzhc88k2g6k2xzah";
+       buildDepends = [ base bytestring exceptions network transformers ];
+       homepage = "https://github.com/k0001/network-simple";
+       description = "Simple network sockets usage patterns";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-simple-sockaddr" = callPackage
+    ({ mkDerivation, base, bytestring, directory, exceptions, network
+     , transformers
+     }:
+     mkDerivation {
+       pname = "network-simple-sockaddr";
+       version = "0.1";
+       sha256 = "0k54scgxwgj57vqpfshr0cr6a70nsfhrfvfjh77x17imk1795npw";
+       buildDepends = [
+         base bytestring directory exceptions network transformers
+       ];
+       homepage = "https://github.com/jdnavarro/network-simple-sockaddr";
+       description = "network-simple for resolved addresses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-simple-tls" = callPackage
+    ({ mkDerivation, base, bytestring, certificate, cprng-aes
+     , exceptions, network, network-simple, tls, tls-extra, transformers
+     }:
+     mkDerivation {
+       pname = "network-simple-tls";
+       version = "0.2.1";
+       sha256 = "0hbpxbs357bxifksbqrlrdkwkkfaydxcf9wdla6kafaymhrxhc0k";
+       buildDepends = [
+         base bytestring certificate cprng-aes exceptions network
+         network-simple tls tls-extra transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/k0001/network-simple-tls";
+       description = "Simple interface to TLS secured network sockets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-socket-options" = callPackage
+    ({ mkDerivation, base, network }:
+     mkDerivation {
+       pname = "network-socket-options";
+       version = "0.2.0.1";
+       sha256 = "00qf22nwzsv8229gb7yqaaafiz573xl4v78mn1zf9ajvwzvwb63r";
+       buildDepends = [ base network ];
+       homepage = "https://github.com/joeyadams/haskell-network-socket-options";
+       description = "Type-safe, portable alternative to getSocketOption/setSocketOption";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-stream" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, enumerator
+     , network, stm, text, transformers
+     }:
+     mkDerivation {
+       pname = "network-stream";
+       version = "0.1.0";
+       sha256 = "1y7c2m8yrkb67iqqv6sjbxxmhlnv0s6k82lv9f6wk4mhckcsc5n1";
+       buildDepends = [
+         base binary bytestring cereal enumerator network stm text
+         transformers
+       ];
+       jailbreak = true;
+       description = "ByteString and Text streams for networking";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "network-topic-models" = callPackage
+    ({ mkDerivation, base, bayes-stack, bimap, bytestring, cereal
+     , containers, deepseq, directory, filepath, logfloat, mwc-random
+     , optparse-applicative, random-fu, statistics, stm, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "network-topic-models";
+       version = "0.2.0.1";
+       sha256 = "1l5m9f08aizrxxkv2dspv8swf558cch6vx4gyzs6qs6826v9q32b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bayes-stack bimap bytestring cereal containers deepseq
+         directory filepath logfloat mwc-random optparse-applicative
+         random-fu statistics stm text transformers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bgamari/bayes-stack";
+       description = "A few network topic model implementations for bayes-stack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "network-transport" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hashable, transformers
+     }:
+     mkDerivation {
+       pname = "network-transport";
+       version = "0.4.1.0";
+       sha256 = "0xn879ngrbnm71i1wsbxxiih22sdb6csy6aip6fgqyafqlpc1c93";
+       buildDepends = [ base binary bytestring hashable transformers ];
+       homepage = "http://haskell-distributed.github.com";
+       description = "Network abstraction layer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-transport-tcp" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-accessor
+     , network, network-transport, network-transport-tests
+     }:
+     mkDerivation {
+       pname = "network-transport-tcp";
+       version = "0.4.1";
+       sha256 = "11fj0f2yrvdqn3sivfb4p0chs74bx26a0yc49fh160kkcmk42yaf";
+       buildDepends = [
+         base bytestring containers data-accessor network network-transport
+       ];
+       testDepends = [
+         base network network-transport network-transport-tests
+       ];
+       homepage = "http://haskell-distributed.github.com";
+       description = "TCP instantiation of Network.Transport";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-transport-tests" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, containers, mtl
+     , network-transport, random
+     }:
+     mkDerivation {
+       pname = "network-transport-tests";
+       version = "0.2.2.0";
+       sha256 = "0914sj3884sp5sxbm460x5frvl0ipn8v1jpkskhc9ajjx4v0s106";
+       buildDepends = [
+         ansi-terminal base bytestring containers mtl network-transport
+         random
+       ];
+       homepage = "http://haskell-distributed.github.com";
+       description = "Unit tests for Network.Transport implementations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-transport-zeromq" = callPackage
+    ({ mkDerivation, async, base, binary, bytestring, containers
+     , criterion, data-accessor, distributed-process
+     , distributed-process-tests, exceptions, network, network-transport
+     , network-transport-tests, random, semigroups, stm, stm-chans
+     , tasty, tasty-hunit, test-framework, transformers, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "network-transport-zeromq";
+       version = "0.2.1";
+       sha256 = "0bfznyxf893k0yf4cm53bmmcpyrs7llpf6fd077rccn37x1kj0ih";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base binary bytestring containers criterion data-accessor
+         distributed-process exceptions network-transport random semigroups
+         stm stm-chans transformers zeromq4-haskell
+       ];
+       testDepends = [
+         base bytestring containers distributed-process-tests network
+         network-transport network-transport-tests stm stm-chans tasty
+         tasty-hunit test-framework zeromq4-haskell
+       ];
+       homepage = "https://github.com/tweag/network-transport-zeromq";
+       description = "ZeroMQ backend for network-transport";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-uri" = callPackage
+    ({ mkDerivation, base, HUnit, network, parsec, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "network-uri";
+       version = "2.6.0.1";
+       sha256 = "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37";
+       buildDepends = [ base parsec ];
+       testDepends = [
+         base HUnit network test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/haskell/network-uri";
+       description = "URI manipulation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "network-wai-router" = callPackage
+    ({ mkDerivation, base, wai }:
+     mkDerivation {
+       pname = "network-wai-router";
+       version = "0.3.0.1";
+       sha256 = "1fnqc1vbahy6zy632s9kam8bv7108bhmynyh2iwkqb7ybkkj37i9";
+       buildDepends = [ base wai ];
+       description = "A routing library for wai";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "network-websocket" = callPackage
+    ({ mkDerivation, base, haskell98, network, webserver }:
+     mkDerivation {
+       pname = "network-websocket";
+       version = "0.3";
+       sha256 = "053qrlm2bd14mlcvlh64awsqsgn355nkr13k9h4dnfabafymkkbm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base haskell98 network webserver ];
+       jailbreak = true;
+       homepage = "http://github.com/michaelmelanson/network-websocket";
+       description = "WebSocket library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "networked-game" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, network
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "networked-game";
+       version = "0.1.0.1";
+       sha256 = "12sy97cgqrsmqywh0cznp8wbsw8z2yahlfalsjy32qarcz44banz";
+       buildDepends = [
+         base binary bytestring containers network time transformers
+       ];
+       description = "Networked-game support library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "newports" = callPackage
+    ({ mkDerivation, base, directory, old-time }:
+     mkDerivation {
+       pname = "newports";
+       version = "1.1";
+       sha256 = "1paxqr8rm8lbp0896qsd7v76c0kahkk6fngpcdzswbrqpyqhwjwc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory old-time ];
+       homepage = "http://www.b7j0c.org/content/haskell-newports.html";
+       description = "List ports newer than N days on a FreeBSD system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "newsynth" = callPackage
+    ({ mkDerivation, base, containers, fixedprec, random, superdoc
+     , time
+     }:
+     mkDerivation {
+       pname = "newsynth";
+       version = "0.2.0.1";
+       sha256 = "0xijyxfy62pv7ydfckhai7sdd7rdxlh0vw5wr7ic3z68vc0h6cai";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers fixedprec random superdoc time ];
+       homepage = "http://www.mathstat.dal.ca/~selinger/newsynth/";
+       description = "Exact and approximate synthesis of quantum circuits";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "newt" = callPackage
+    ({ mkDerivation, array, base, bytestring, cmdargs, containers
+     , directory, filemanip, filepath, HUnit, mtl, process, QuickCheck
+     , safe, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, Unixutils, uuid
+     }:
+     mkDerivation {
+       pname = "newt";
+       version = "0.0.3.1";
+       sha256 = "0amhpvqqy8pan3vihjvpkd25jz3m4syavw4l15cvqny8mhrxbvpj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cmdargs containers directory filemanip
+         filepath HUnit mtl process QuickCheck safe test-framework
+         test-framework-hunit test-framework-quickcheck2 text Unixutils uuid
+       ];
+       jailbreak = true;
+       description = "A trivially simple app to create things from simple templates";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "newtype" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "newtype";
+       version = "0.2";
+       sha256 = "0ng4i5r73256gzwl6bw57h0abqixj783c3ggph1hk2wsplx0655p";
+       buildDepends = [ base ];
+       description = "A typeclass and set of functions for working with newtypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "newtype-deriving" = callPackage
+    ({ mkDerivation, base, base-prelude, monad-control
+     , template-haskell, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "newtype-deriving";
+       version = "0.1.1";
+       sha256 = "16rfzkmay9gpy75l56i6ra6vjramvq8dwpq0adsh7xqpx101cd21";
+       buildDepends = [
+         base base-prelude monad-control template-haskell transformers
+         transformers-base
+       ];
+       homepage = "https://github.com/nikita-volkov/newtype-deriving";
+       description = "Instance derivers for newtype wrappers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "newtype-generics" = callPackage
+    ({ mkDerivation, base, hspec, HUnit }:
+     mkDerivation {
+       pname = "newtype-generics";
+       version = "0.4.0.1";
+       sha256 = "1xghpqmpwnjyk944m9nsfzk2jlyqwdvcr5zrmr66d4n650cf1m2b";
+       buildDepends = [ base ];
+       testDepends = [ base hspec HUnit ];
+       jailbreak = true;
+       description = "A typeclass and set of functions for working with newtypes, with generics support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "newtype-th" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, newtype, syb
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "newtype-th";
+       version = "0.3.3";
+       sha256 = "1slgphymjxzbxxgsilfijkhiwapfy2gkhkby2dxqj107v4s0788k";
+       buildDepends = [
+         base haskell-src-meta newtype syb template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/mgsloan/newtype-th";
+       description = "A template haskell deriver to create Control.Newtype instances.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "newtyper" = callPackage
+    ({ mkDerivation, base, Kleislify, newtype }:
+     mkDerivation {
+       pname = "newtyper";
+       version = "0.1";
+       sha256 = "1s1mzy1m3wpawv1ci85dl02105v550l1fdi5rxi5gqnxb0jrg4fs";
+       buildDepends = [ base Kleislify newtype ];
+       homepage = "https://github.com/techtangents/Newtyper";
+       description = "Extra functions for the Control.Newtype typeclass";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nextstep-plist" = callPackage
+    ({ mkDerivation, base, parsec, pretty, QuickCheck }:
+     mkDerivation {
+       pname = "nextstep-plist";
+       version = "0.0.1";
+       sha256 = "0wld4nc6hcv642km60vvjyclsfwnpfavq59mqm8fm3a73al4csyw";
+       buildDepends = [ base parsec pretty QuickCheck ];
+       description = "NextStep style plist parser and printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ngrams-loader" = callPackage
+    ({ mkDerivation, attoparsec, base, machines, mtl, parseargs
+     , resourcet, sqlite-simple, text
+     }:
+     mkDerivation {
+       pname = "ngrams-loader";
+       version = "0.1.0.1";
+       sha256 = "0z26mpk1q7hnx4vkcyfwy6pbm7nm76ydm04z3vk598q2ifq5vmpd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base machines mtl parseargs resourcet sqlite-simple text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/YoEight/ngrams-loader";
+       description = "Ngrams loader based on http://www.ngrams.info format";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "nibblestring" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, base16-bytestring
+     , bytestring, containers, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "nibblestring";
+       version = "0.0.3";
+       sha256 = "0ijcv7ph09mmllly09jgigwiq64m05c7qkq2riki3mbza2skxbrr";
+       buildDepends = [
+         ansi-wl-pprint base base16-bytestring bytestring
+       ];
+       testDepends = [
+         base base16-bytestring bytestring containers HUnit test-framework
+         test-framework-hunit
+       ];
+       description = "Packed, strict nibble arrays with a list interface (ByteString for nibbles)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nicify" = callPackage
+    ({ mkDerivation, base, nicify-lib }:
+     mkDerivation {
+       pname = "nicify";
+       version = "1.2.1";
+       sha256 = "0qpm18md4jmfznfxqbi9aqvlqrgmiab7b477s11hwcb6y00kyfwk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base nicify-lib ];
+       description = "Pretty print the standard output of default `Show` instances";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "nicify-lib" = callPackage
+    ({ mkDerivation, base, parsec, transformers }:
+     mkDerivation {
+       pname = "nicify-lib";
+       version = "1.0.1";
+       sha256 = "0cp76s0msf1i8a7pkzjl6qgi18n7zdya3pg90ml1dnidg5nzh9kx";
+       buildDepends = [ base parsec transformers ];
+       description = "Pretty print the standard output of default `Show` instances";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "nicovideo-translator" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, dns, http-client, http-types, iso639, lens
+     , lens-aeson, random, setlocale, text, wai, warp, wreq, xml-conduit
+     }:
+     mkDerivation {
+       pname = "nicovideo-translator";
+       version = "0.1.0.0";
+       sha256 = "01qbmkr9h78iwyrgdijqyf06xl8wk2z9nn4v8dc5pb1gknlbp8wh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring case-insensitive containers dns http-client
+         http-types iso639 lens lens-aeson random setlocale text wai warp
+         wreq xml-conduit
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dahlia/nicovideo-translator";
+       description = "Nico Nico Douga (ニコニコ動画) Comment Translator";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "nikepub" = callPackage
+    ({ mkDerivation, base, containers, filepath, GoogleChart, haskell98
+     , haxr, hs-twitter, HStringTemplate, HTTP, hxt, json, network
+     , old-locale, old-time, regex-compat, regex-posix, syb, time
+     }:
+     mkDerivation {
+       pname = "nikepub";
+       version = "1.1.2";
+       sha256 = "1w7cvkh36p7i9n62rvfh6nlr8z16hds06fbr1lpvbc84ymci75v0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath GoogleChart haskell98 haxr hs-twitter
+         HStringTemplate HTTP hxt json network old-locale old-time
+         regex-compat regex-posix syb time
+       ];
+       homepage = "http://www.codemanic.com/uwe";
+       description = "Command line utility publishes Nike+ runs on blogs and Twitter";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nimber" = callPackage
+    ({ mkDerivation, arithmoi, base }:
+     mkDerivation {
+       pname = "nimber";
+       version = "0.1.3";
+       sha256 = "0350fmddnfp09051i89fl5ibrxqy36cx5560l00cjssx2gs2dh8w";
+       buildDepends = [ arithmoi base ];
+       homepage = "http://andersk.mit.edu/haskell/nimber/";
+       description = "Finite nimber arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nitro" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "nitro";
+       version = "0.2.2.5";
+       sha256 = "17aqzk1kq670fwawia0qjmd8ld1b0h8zh0w8j8x4y48hlzyb75xb";
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       homepage = "http://haskell.gonitro.io";
+       description = "Haskell bindings for Nitro";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nixos-types" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "nixos-types";
+       version = "1.5";
+       sha256 = "1q38cs0747fyf94y35cq734yzmsdcyfmmk5w6qv563jns55qj36c";
+       homepage = "http://hackage.haskell.org/package/cabal2nix";
+       description = "this package is obsolete; see cabal2nix instead";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nkjp" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-named, filepath
+     , polysoup, tar, text, zlib
+     }:
+     mkDerivation {
+       pname = "nkjp";
+       version = "0.4.0";
+       sha256 = "1i9q0xyfqi3cv29k8yflrg34hgblxfyj2dqr1zjg20jpymsfi06l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-named filepath polysoup tar text
+         zlib
+       ];
+       homepage = "https://github.com/kawu/nkjp";
+       description = "Manipulating the National Corpus of Polish (NKJP)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nlp-scores" = callPackage
+    ({ mkDerivation, base, containers, strict }:
+     mkDerivation {
+       pname = "nlp-scores";
+       version = "0.7.0";
+       sha256 = "0cxa6f4y3416hlal4wnqf0qpq82zj9x58nprnaw3s2kdxxav0d9m";
+       buildDepends = [ base containers strict ];
+       homepage = "https://bitbucket.org/gchrupala/lingo";
+       description = "Scoring functions commonly used for evaluation in NLP and IR";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nlp-scores-scripts" = callPackage
+    ({ mkDerivation, base, containers, nlp-scores, split, text }:
+     mkDerivation {
+       pname = "nlp-scores-scripts";
+       version = "0.2.0.0";
+       sha256 = "02jisx8slzzljv77d931b169hxq6i6ajg5ly9a37g13q9h75gd2c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers nlp-scores split text ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/gchrupala/lingo";
+       description = "NLP scoring command-line programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nm" = callPackage
+    ({ mkDerivation, base, g, glib, libnm-glib, nm-glib, vector }:
+     mkDerivation {
+       pname = "nm";
+       version = "1.0.1";
+       sha256 = "028p25pb2cqlvrydy87y26rinvypbq0lnphd59k3zaxvxxikqwf1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base vector ];
+       extraLibraries = [ g nm-glib ];
+       pkgconfigDepends = [ glib libnm-glib ];
+       description = "Network Manager, binding to libnm-glib";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { g = null;  inherit (pkgs) glib;  libnm-glib = null;
+          nm-glib = null;};
+
+  "nme" = callPackage
+    ({ mkDerivation, base, bytestring, utf8-string }:
+     mkDerivation {
+       pname = "nme";
+       version = "0.2";
+       sha256 = "14qzc4af1pm1myjdfs7z4b1jxxj0gz9c4cl9qgpm06hjzvjjf8wm";
+       buildDepends = [ base bytestring utf8-string ];
+       homepage = "https://github.com/singpolyma/NME-Haskell";
+       description = "Bindings to the Nyctergatis Markup Engine";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nntp" = callPackage
+    ({ mkDerivation, base, bytestring, monad-loops, mtl, network
+     , old-locale, parsec, time
+     }:
+     mkDerivation {
+       pname = "nntp";
+       version = "0.0.4";
+       sha256 = "1yg91zai4krxx7yqzskss19jjgh4nvc2vqzddvpwsdm07lri8g35";
+       buildDepends = [
+         base bytestring monad-loops mtl network old-locale parsec time
+       ];
+       description = "Library to connect to an NNTP Server";
+       license = "LGPL";
+     }) {};
+
+  "no-role-annots" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "no-role-annots";
+       version = "1.1";
+       sha256 = "1kk9ii5w40di3azlqzbz4vkvwdz8apca0lh4jn94nvr3hns6l5s7";
+       buildDepends = [ base template-haskell ];
+       testDepends = [ base template-haskell ];
+       homepage = "https://github.com/goldfirere/no-role-annots";
+       description = "Role annotations without -XRoleAnnotations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "noise" = callPackage
+    ({ mkDerivation, base, blaze-markup, blaze-svg, bytestring
+     , containers, cryptohash, HTF, HUnit, network, parsec, QuickCheck
+     , string-qq
+     }:
+     mkDerivation {
+       pname = "noise";
+       version = "0.0.1";
+       sha256 = "0h9aq4f8n1acmzhdq185y0adl35cf7avms6zvgsyf9lkx2msja0q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-markup blaze-svg bytestring containers cryptohash
+         network parsec
+       ];
+       testDepends = [ base HTF HUnit parsec QuickCheck string-qq ];
+       jailbreak = true;
+       homepage = "http://github.com/brow/noise";
+       description = "A friendly language for graphic design";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "non-empty" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, utility-ht }:
+     mkDerivation {
+       pname = "non-empty";
+       version = "0.2.1";
+       sha256 = "1p0jp44xlc77da5g5fq78vvgfv8r9z4m0axm36qbliv609rnp5g3";
+       buildDepends = [ base containers QuickCheck utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/non-empty/";
+       description = "List-like structures with static restrictions on the number of elements";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "non-negative" = callPackage
+    ({ mkDerivation, base, QuickCheck, utility-ht }:
+     mkDerivation {
+       pname = "non-negative";
+       version = "0.1.1";
+       sha256 = "163g3j3xrx1jkrbg2wnha3yyxyg1mn7kabmbpg82y3rbl3ihy1p7";
+       buildDepends = [ base QuickCheck utility-ht ];
+       testDepends = [ base QuickCheck utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/non-negative/";
+       description = "Non-negative numbers";
+       license = "GPL";
+     }) {};
+
+  "nonce" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cprng-aes
+     , crypto-random, text, transformers
+     }:
+     mkDerivation {
+       pname = "nonce";
+       version = "1.0.1";
+       sha256 = "10vlm550m0hjl004rwcz70j1d89sd9g0fnxxxksvk8nxqf9fnfpr";
+       buildDepends = [
+         base base64-bytestring bytestring cprng-aes crypto-random text
+         transformers
+       ];
+       homepage = "https://github.com/prowdsponsor/nonce";
+       description = "Generate cryptographic nonces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nondeterminism" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "nondeterminism";
+       version = "1.0";
+       sha256 = "0hxfqrm51svmr9lk1i8l5ib5bi5zlc92q6k3qwnvkqz8qgb4w8i0";
+       buildDepends = [ base containers mtl ];
+       description = "A monad and monad transformer for nondeterministic computations";
+       license = "LGPL";
+     }) {};
+
+  "nonfree" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "nonfree";
+       version = "0.1.0.1";
+       sha256 = "05jf3i9m58lwixd3mnj9ikgkrg1gdcxz7d8m5k5k5j3fdbbgbmqi";
+       buildDepends = [ base ];
+       description = "Free structures sans laws";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "nonlinear-optimization" = callPackage
+    ({ mkDerivation, base, primitive, vector }:
+     mkDerivation {
+       pname = "nonlinear-optimization";
+       version = "0.3.7";
+       sha256 = "147dbq19n18ixfz6bhx9yi9ppr9j3wnc5dfz8kx5gwihy64b8l1b";
+       buildDepends = [ base primitive vector ];
+       description = "Various iterative algorithms for optimization of nonlinear functions";
+       license = "GPL";
+     }) {};
+
+  "nonlinear-optimization-ad" = callPackage
+    ({ mkDerivation, ad, base, nonlinear-optimization, primitive
+     , reflection, vector
+     }:
+     mkDerivation {
+       pname = "nonlinear-optimization-ad";
+       version = "0.2.0";
+       sha256 = "1aglqfmvjb7wmxlnlkakkp27lbyq62pjy48k18sqppj6q0qp062m";
+       buildDepends = [
+         ad base nonlinear-optimization primitive reflection vector
+       ];
+       homepage = "https://github.com/msakai/nonlinear-optimization-ad";
+       description = "Wrapper of nonlinear-optimization package for using with AD package";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "noodle" = callPackage
+    ({ mkDerivation, base, directory, filepath }:
+     mkDerivation {
+       pname = "noodle";
+       version = "0.0.19";
+       sha256 = "08v5rz5skmaqxqj85l76kjxqmlhnf3vapgfdqd042cmh41zwznx0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath ];
+       homepage = "https://github.com/jessopher/noodle";
+       description = "the noodle programming language";
+       license = "unknown";
+     }) {};
+
+  "normaldistribution" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "normaldistribution";
+       version = "1.1.0.3";
+       sha256 = "1q7p0bx435amqb7r9qksix0mrbpnqsyfb44chjyz6xkgjj0s6yvd";
+       buildDepends = [ base random ];
+       homepage = "https://github.com/bjornbm/normaldistribution";
+       description = "Minimum fuss normally distributed random values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "not-gloss" = callPackage
+    ({ mkDerivation, base, binary, bmp, bytestring, cereal, GLUT
+     , OpenGLRaw, spatial-math, time
+     }:
+     mkDerivation {
+       pname = "not-gloss";
+       version = "0.7.2.1";
+       sha256 = "0jkdfkkacb4qsf9f229z79ihrzm9xsgc7pnw96ainmnhjgvfmihj";
+       buildDepends = [
+         base binary bmp bytestring cereal GLUT OpenGLRaw spatial-math time
+       ];
+       description = "Painless 3D graphics, no affiliation with gloss";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "not-gloss-examples" = callPackage
+    ({ mkDerivation, base, containers, GLUT, linear, not-gloss
+     , spatial-math, X11
+     }:
+     mkDerivation {
+       pname = "not-gloss-examples";
+       version = "0.5.0";
+       sha256 = "0dszimvwb78ac1zfp25iy8lhnsq0grjs6zrsiyr1d80fj9kmg49y";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers GLUT linear not-gloss spatial-math X11
+       ];
+       description = "examples for not-gloss";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "not-in-base" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "not-in-base";
+       version = "0.1.1";
+       sha256 = "1mm1j0l3h8qxpk0bis4g1f6zp5407rkq2z5ldyr036frbvfwqaj5";
+       buildDepends = [ base ];
+       homepage = "http://github.com/finnsson/not-in-base";
+       description = "Useful utility functions that only depend on base";
+       license = "unknown";
+     }) {};
+
+  "notcpp" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "notcpp";
+       version = "0.2.0.2";
+       sha256 = "1qdqwwy16n43djgrynzn8xv64vv450my6z2xddypafxwhvp7jaqy";
+       buildDepends = [ base template-haskell ];
+       testDepends = [ base template-haskell ];
+       jailbreak = true;
+       description = "Avoiding the C preprocessor via cunning use of Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "notmuch-haskell" = callPackage
+    ({ mkDerivation, base, containers, filepath, glib, gmime, haskell98
+     , notmuch, nsl, old-locale, parseargs, talloc, time, xapian, zlib
+     }:
+     mkDerivation {
+       pname = "notmuch-haskell";
+       version = "0.2.2";
+       sha256 = "1i86cwwvisgyc89nmd7drwszmq4cqrwgci9zqwh50zg9cgq5qhz5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath haskell98 old-locale parseargs time
+       ];
+       extraLibraries = [ glib gmime notmuch nsl talloc xapian zlib ];
+       description = "Binding for notmuch MUA library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) glib;  inherit (pkgs) gmime;
+          inherit (pkgs) notmuch;  nsl = null;  inherit (pkgs) talloc;
+          inherit (pkgs) xapian;  inherit (pkgs) zlib;};
+
+  "notmuch-web" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-conduit, base
+     , blaze-builder, blaze-html, blaze-markup, bytestring
+     , case-insensitive, conduit, containers, data-default, directory
+     , email-validate, filepath, hamlet, hashable, hjsmin, hspec
+     , http-conduit, http-types, HUnit, lifted-base, markdown, mime-mail
+     , network, old-locale, process, process-conduit, pwstore-fast
+     , random, tagsoup, template-haskell, text, text-icu, time
+     , transformers, unordered-containers, vector, wai, wai-extra, warp
+     , xss-sanitize, yaml, yesod, yesod-auth, yesod-core, yesod-static
+     , yesod-test
+     }:
+     mkDerivation {
+       pname = "notmuch-web";
+       version = "0.2.0";
+       sha256 = "1jjk3fhzhpf9wrgk980rgp55kji5zjzdl0xyi4wgz3xvn1k8hrhs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec attoparsec-conduit base blaze-builder blaze-html
+         blaze-markup bytestring case-insensitive conduit containers
+         data-default directory email-validate filepath hamlet hashable
+         hjsmin http-conduit http-types lifted-base markdown mime-mail
+         network old-locale process process-conduit pwstore-fast random
+         tagsoup template-haskell text text-icu time transformers
+         unordered-containers vector wai wai-extra warp xss-sanitize yaml
+         yesod yesod-auth yesod-static
+       ];
+       testDepends = [
+         base hspec HUnit mime-mail text yesod yesod-core yesod-test
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/wuzzeb/notmuch-web";
+       description = "A web interface to the notmuch email indexer";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "np-extras" = callPackage
+    ({ mkDerivation, base, containers, numeric-prelude, primes }:
+     mkDerivation {
+       pname = "np-extras";
+       version = "0.3";
+       sha256 = "14lphbssmcvabg1rqzhy4bwvssfyzb69b2g9n45vd22xnvf9q0il";
+       buildDepends = [ base containers numeric-prelude primes ];
+       jailbreak = true;
+       description = "NumericPrelude extras";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "np-linear" = callPackage
+    ({ mkDerivation, base, binary, containers, numeric-prelude
+     , reflection, tagged
+     }:
+     mkDerivation {
+       pname = "np-linear";
+       version = "0.3.0.2";
+       sha256 = "00rmm36is8i6k1a0xyri61v09asc54fanlp5nai7k7vhp0wyfzz1";
+       buildDepends = [
+         base binary containers numeric-prelude reflection tagged
+       ];
+       jailbreak = true;
+       description = "Linear algebra for the numeric-prelude framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "nptools" = callPackage
+    ({ mkDerivation, ansi-terminal, array, base, bytestring, colour
+     , containers, HSH, old-locale, process, split, time, unix
+     }:
+     mkDerivation {
+       pname = "nptools";
+       version = "0.6.0";
+       sha256 = "1zipawfk8l98bszi1yviv7ph96x1z715d3nlzs3w2mzahir57h3d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal array base bytestring colour containers HSH
+         old-locale process split time unix
+       ];
+       description = "A collection of random tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nsis" = callPackage
+    ({ mkDerivation, base, directory, process, transformers, uniplate
+     }:
+     mkDerivation {
+       pname = "nsis";
+       version = "0.2.5";
+       sha256 = "1lbd1yx2yr96mv58jk3d9qpxpvc9nqkgvi62z4jahwv6wz5wap61";
+       buildDepends = [ base transformers uniplate ];
+       testDepends = [ base directory process transformers uniplate ];
+       homepage = "https://github.com/ndmitchell/nsis#readme";
+       description = "DSL for producing Windows Installer using NSIS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nthable" = callPackage
+    ({ mkDerivation, base, type-level }:
+     mkDerivation {
+       pname = "nthable";
+       version = "0.1";
+       sha256 = "1qi1wq7wbnp3sv3c2v4185mnq80646vcsnqq16mqlshiy164wsly";
+       buildDepends = [ base type-level ];
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ntp-control" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, cereal
+     , network, old-locale, time
+     }:
+     mkDerivation {
+       pname = "ntp-control";
+       version = "0.1";
+       sha256 = "14ns5lbvbdn0yrmfjp9rb4id19fxfd6dp68pgzm4lkh0xk0qnc4y";
+       buildDepends = [
+         base bytestring bytestring-lexing cereal network old-locale time
+       ];
+       testDepends = [
+         base bytestring bytestring-lexing cereal network old-locale time
+       ];
+       description = "Client library for NTP control messaging";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "null-canvas" = callPackage
+    ({ mkDerivation, aeson, base, containers, filepath, scotty, split
+     , stm, text, transformers, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "null-canvas";
+       version = "0.2.7";
+       sha256 = "1i6krgxlbdmv5md1p3n5mcw3sk24f5sk6y7yiznx8glxncxmfdll";
+       buildDepends = [
+         aeson base containers filepath scotty split stm text transformers
+         wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Tener/null-canvas";
+       description = "HTML5 Canvas Graphics Library - forked Blank Canvas";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "numbering" = callPackage
+    ({ mkDerivation, base, containers, vector }:
+     mkDerivation {
+       pname = "numbering";
+       version = "0.2.1";
+       sha256 = "0hh4km2zbvs7rsb142f1rifqvwzajh0grgky2vyyyf48dk5plrlv";
+       buildDepends = [ base containers vector ];
+       homepage = "https://github.com/DanielSchuessler/numbering";
+       description = "Combinators for creating bijections from some type to the natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numbers" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "numbers";
+       version = "3000.2.0.1";
+       sha256 = "10z1bi5qbc81z5xx2v1ylwcpmcfl1ci7lxrswkgi0dd1wi8havbk";
+       buildDepends = [ base ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/jwiegley/numbers#readme";
+       description = "Various number types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numerals" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers
+     , containers-unicode-symbols, fingertree, HUnit, integer-gmp
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "numerals";
+       version = "0.4";
+       sha256 = "1fkxlwf68bn353hs3622yqvlbndjnf263jbnh4q2rkj4xiirn4qm";
+       buildDepends = [
+         base base-unicode-symbols containers containers-unicode-symbols
+         fingertree integer-gmp text
+       ];
+       testDepends = [
+         base base-unicode-symbols HUnit integer-gmp QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/roelvandijk/numerals";
+       description = "Convert numbers to number words";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numerals-base" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, containers
+     , containers-unicode-symbols, fingertree, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "numerals-base";
+       version = "0.3";
+       sha256 = "0qp9xhsqvs22siyfwjzffqc1kbpsanbxks3pbjfdcmbcwlq7hpg8";
+       buildDepends = [
+         base base-unicode-symbols containers containers-unicode-symbols
+         fingertree
+       ];
+       testDepends = [
+         base base-unicode-symbols containers containers-unicode-symbols
+         fingertree HUnit test-framework test-framework-hunit
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/roelvandijk/numerals-base";
+       description = "Convert numbers to number words";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "numeric-extras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numeric-extras";
+       version = "0.0.3";
+       sha256 = "18jyjrk6iizz3sgkwgbh1rxf6zdf166bkgs7wia8b4z7f6261nzg";
+       buildDepends = [ base ];
+       homepage = "http://github.com/ekmett/numeric-extras";
+       description = "Useful tools from the C standard library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numeric-limits" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numeric-limits";
+       version = "0.1.0.0";
+       sha256 = "0lsi0my45lpd30vjbwdbzhisz8r3lryvg1c80qcmwipnxklnr5cb";
+       buildDepends = [ base ];
+       description = "Various floating point limit related constants";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numeric-prelude" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, non-negative
+     , parsec, QuickCheck, random, storable-record, utility-ht
+     }:
+     mkDerivation {
+       pname = "numeric-prelude";
+       version = "0.4.2";
+       sha256 = "1i6qavz3av3dbf70li7yqsh184bl618l1sm9s9ia15srrkzsj9sk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers deepseq non-negative parsec QuickCheck random
+         storable-record utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Numeric_Prelude";
+       description = "An experimental alternative hierarchy of numeric type classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numeric-qq" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, loch-th
+     , placeholders, template-haskell
+     }:
+     mkDerivation {
+       pname = "numeric-qq";
+       version = "0.1.2";
+       sha256 = "0zxiaiqzcg4z354wyvxl672ffswvhbqk6h6nvpgmydw84akpimcm";
+       buildDepends = [ base loch-th placeholders template-haskell ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "https://github.com/nikita-volkov/numeric-qq";
+       description = "Quasi-quoters for numbers of different bases";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "numeric-quest" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "numeric-quest";
+       version = "0.2.0.1";
+       revision = "1";
+       sha256 = "110v2frn085pggjzl3l8wqgr4vcdd5h29x2wak2a59x16ngjg7ga";
+       editedCabalFile = "aae9d00f380bf447af5575311f566cd6960aafb7eec8c30abbab09a2fcff092e";
+       buildDepends = [ array base ];
+       homepage = "http://www.haskell.org/haskellwiki/Numeric_Quest";
+       description = "Math and quantum mechanics";
+       license = "GPL";
+     }) {};
+
+  "numeric-tools" = callPackage
+    ({ mkDerivation, base, HUnit, ieee754, primitive, vector }:
+     mkDerivation {
+       pname = "numeric-tools";
+       version = "0.2.0.1";
+       sha256 = "0frdsj90gqpa55ybjfkzfcda43bbwkqd2v26l6w35kyq1snqyhd3";
+       buildDepends = [ base ieee754 primitive vector ];
+       testDepends = [ base HUnit ];
+       homepage = "https://bitbucket.org/Shimuuar/numeric-tools";
+       description = "Collection of numerical tools for integration, differentiation etc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numericpeano" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numericpeano";
+       version = "0.2.0.0";
+       sha256 = "1f9ar8kdwzi8xarzb7mrq204v1n3n8kh0fbqv06l9677vv1pc19v";
+       buildDepends = [ base ];
+       homepage = "https://github.com/ombocomp/numericpeano/";
+       description = "Peano numbers with attendant bells and whistles";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "nums" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "nums";
+       version = "1.2.0";
+       sha256 = "0bbl7f3qd26sa92k73qni3r1jwxxrfq5k19hcvh5rgdh5ig9d6v8";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "numtype" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numtype";
+       version = "1.1";
+       sha256 = "1az10xcfl6qpyy9qnh8g2iqx53rxnjxzc1h8kl1gira6yv7g6857";
+       buildDepends = [ base ];
+       homepage = "http://dimensional.googlecode.com/";
+       description = "Type-level (low cardinality) integers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "numtype-tf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numtype-tf";
+       version = "0.1.2";
+       sha256 = "00bnz9k4nq21z4vax37qjv6ra2jvlshk0jlici1w8y9rx39zrjyx";
+       buildDepends = [ base ];
+       homepage = "http://dimensional.googlecode.com/";
+       description = "Type-level (low cardinality) integers, implemented using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nyan" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, ncurses, text }:
+     mkDerivation {
+       pname = "nyan";
+       version = "0.2";
+       sha256 = "02bcyb6ibb6m84d2r6pp05vbv9jv09v1lp35n18mn2vkrgwls649";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring mtl ncurses text ];
+       description = "Bored? Nyan cat!";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nymphaea" = callPackage
+    ({ mkDerivation, base, cairo, containers, glade, glib, gtk, mtl
+     , parsec, random
+     }:
+     mkDerivation {
+       pname = "nymphaea";
+       version = "0.3";
+       sha256 = "1nlnz7mvdkhcqp4v1fyfb6r6v18xpxi0ddqqp84dsqg6ahdypc13";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers glade glib gtk mtl parsec random
+       ];
+       jailbreak = true;
+       description = "An interactive GUI for manipulating L-systems";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "oauthenticated" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, blaze-builder
+     , bytestring, case-insensitive, crypto-random, cryptohash, either
+     , exceptions, http-client, http-types, mtl, network, network-uri
+     , text, time, transformers
+     }:
+     mkDerivation {
+       pname = "oauthenticated";
+       version = "0.1.3.4";
+       sha256 = "1l6qir6qnipq8295cljl66mhlws2rrqjvz9nsl7rq2ldqv711bbm";
+       buildDepends = [
+         aeson base base64-bytestring blaze-builder bytestring
+         case-insensitive crypto-random cryptohash either exceptions
+         http-client http-types mtl network network-uri text time
+         transformers
+       ];
+       description = "Simple OAuth for http-client";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "obdd" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, random }:
+     mkDerivation {
+       pname = "obdd";
+       version = "0.3.2";
+       sha256 = "0dck1jaw2smvnc1cdjmxjchsxsjw14h98y58lm5z0ccl3rfjr1hw";
+       buildDepends = [ array base containers mtl random ];
+       homepage = "https://github.com/jwaldmann/haskell-obdd";
+       description = "Ordered Reduced Binary Decision Diagrams";
+       license = "GPL";
+     }) {};
+
+  "oberon0" = callPackage
+    ({ mkDerivation, array, AspectAG, base, containers, ghc-prim, HList
+     , language-c, mtl, murder, template-haskell, transformers
+     , uu-parsinglib, uulib
+     }:
+     mkDerivation {
+       pname = "oberon0";
+       version = "0.0.2";
+       sha256 = "0w8ygppqr1mjklc0545z2n503ap5xzxmjw2xsmb0i85nmh6f95hv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array AspectAG base containers ghc-prim HList language-c mtl murder
+         template-haskell transformers uu-parsinglib uulib
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/Center/CoCoCo";
+       description = "Oberon0 Compiler";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "obj" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, checkers
+     , Codec-Image-DevIL, containers, directory, filepath
+     , graphicsFormats, haskell98, InfixApplicative, OpenGL, OpenGLCheck
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "obj";
+       version = "0.1.2";
+       sha256 = "0w9yyyd2i88lkhqlghnf7zkrx0sql5w8vwx67j9j1jr7d5zrad4z";
+       buildDepends = [
+         array base binary bytestring checkers Codec-Image-DevIL containers
+         directory filepath graphicsFormats haskell98 InfixApplicative
+         OpenGL OpenGLCheck QuickCheck
+       ];
+       description = "Reads and writes obj models";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "objectid" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring
+     , bytestring-arbitrary, cereal, cryptohash, QuickCheck, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "objectid";
+       version = "0.1.0.2";
+       sha256 = "1cr9hzrkj8a6ggym8d6gyy0rmric93x8xwdjqfal10bg5s6d6vgs";
+       buildDepends = [ base blaze-builder bytestring cereal cryptohash ];
+       testDepends = [
+         base bytestring bytestring-arbitrary cereal QuickCheck tasty
+         tasty-quickcheck
+       ];
+       homepage = "https://github.com/tsuraan/objectid";
+       description = "Rather unique identifier for things that need to be stored";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "objective" = callPackage
+    ({ mkDerivation, base, containers, either, exceptions, free
+     , hashable, monad-stm, profunctors, stm, transformers
+     , unordered-containers, void, witherable
+     }:
+     mkDerivation {
+       pname = "objective";
+       version = "1.0.3";
+       sha256 = "1b6062isdmy5v6diqsgd8bigkmk4xy83hjglqrfns4n1a5c3fgzg";
+       buildDepends = [
+         base containers either exceptions free hashable monad-stm
+         profunctors stm transformers unordered-containers void witherable
+       ];
+       homepage = "https://github.com/fumieval/objective";
+       description = "Extensible objects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "octohat" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, base16-bytestring
+     , base64-bytestring, bytestring, containers, cryptohash, dotenv
+     , either, errors, hspec, hspec-expectations, http-client
+     , http-types, lens, mtl, text, time, transformers
+     , unordered-containers, wreq, xmlhtml
+     }:
+     mkDerivation {
+       pname = "octohat";
+       version = "0.1.2";
+       sha256 = "1mqakxvi2rh4w8bvd1galpcj33yjabj5c3kz1baw75p7sw2b081r";
+       buildDepends = [
+         aeson base base-compat base16-bytestring base64-bytestring
+         bytestring containers cryptohash dotenv either errors http-client
+         http-types lens mtl text time transformers unordered-containers
+         wreq xmlhtml
+       ];
+       testDepends = [
+         base base-compat dotenv hspec hspec-expectations text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/stackbuilders/octohat";
+       description = "A tested, minimal wrapper around GitHub's API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "octopus" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, hexpr, mtl
+     , parsec, symbol, text
+     }:
+     mkDerivation {
+       pname = "octopus";
+       version = "0.0.2.1";
+       sha256 = "1p1sf694a5zryvb2i38ygd7fby54pqi0v5r3b24wcpwj43dy57ca";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers hexpr mtl parsec symbol text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Zankoku-Okuno/octopus/";
+       description = "Lisp with more dynamism, more power, more simplicity";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "oculus" = callPackage
+    ({ mkDerivation, base, either, libX11, libXinerama, mesa, monads-tf
+     , ovr, systemd, transformers, vect-floating
+     }:
+     mkDerivation {
+       pname = "oculus";
+       version = "0.1.0.2";
+       sha256 = "04015wbh5j36gd66k7fn12nl92lq68d0c9dia8fz0pr8y3b7ims4";
+       buildDepends = [
+         base either monads-tf transformers vect-floating
+       ];
+       extraLibraries = [ libX11 libXinerama mesa ovr systemd ];
+       jailbreak = true;
+       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.xlibs) libX11;
+          inherit (pkgs.xlibs) libXinerama;  inherit (pkgs) mesa;
+          ovr = null;  inherit (pkgs) systemd;};
+
+  "oeis" = callPackage
+    ({ mkDerivation, base, HTTP, HUnit, network, network-uri
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "oeis";
+       version = "0.3.6";
+       sha256 = "1q7ywczm2d5inrjqgz3j8vfk5sj2yixvwdkzlfs2whd0gadbcfa0";
+       buildDepends = [ base HTTP network network-uri ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       description = "Interface to the Online Encyclopedia of Integer Sequences (OEIS)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "off-simple" = callPackage
+    ({ mkDerivation, base, parsec3, vector }:
+     mkDerivation {
+       pname = "off-simple";
+       version = "0.1";
+       sha256 = "03sb2bmjw8v01908zkzmw8njsmqy5k2hcnv6ajbia7n8qawyhivj";
+       buildDepends = [ base parsec3 vector ];
+       jailbreak = true;
+       homepage = "https://github.com/acfoltzer/off-simple";
+       description = "A parser for simplified-syntax OFF files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ofx" = callPackage
+    ({ mkDerivation, base, parsec, pretty, time }:
+     mkDerivation {
+       pname = "ofx";
+       version = "0.4.0.2";
+       sha256 = "0vhr2pydnfc0ma7w1qdn5p5yylzlj3n47fnm16mlbhlb5ydnjshg";
+       buildDepends = [ base parsec pretty time ];
+       homepage = "http://www.github.com/massysett/ofx";
+       description = "Parser for OFX data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ohloh-hs" = callPackage
+    ({ mkDerivation, base, cmdargs, data-lens, hxt, hxt-curl
+     , pretty-show, QuickCheck, test-framework
+     , test-framework-quickcheck2, text-format-simple
+     }:
+     mkDerivation {
+       pname = "ohloh-hs";
+       version = "0.0.2";
+       sha256 = "0nbk24ymkkjrapxa83qzhzl1m7zi3bxdc9jsjkbqvb7r9nz3jhyj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs data-lens hxt hxt-curl pretty-show text-format-simple
+       ];
+       testDepends = [
+         base data-lens hxt QuickCheck test-framework
+         test-framework-quickcheck2 text-format-simple
+       ];
+       homepage = "https://github.com/fthomas/ohloh-hs";
+       description = "Interface to the Ohloh API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "oi" = callPackage
+    ({ mkDerivation, base, comonad, directory, filepath, parallel
+     , SafeSemaphore
+     }:
+     mkDerivation {
+       pname = "oi";
+       version = "0.3.1";
+       sha256 = "14q8map7r2cc8jcfhczyb16br553h2m9xf40qm34l6pb9l1bzn2p";
+       buildDepends = [
+         base comonad directory filepath parallel SafeSemaphore
+       ];
+       description = "Library for purely functional lazy interactions with the outer world";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ois-input-manager" = callPackage
+    ({ mkDerivation, base, hogre, OIS }:
+     mkDerivation {
+       pname = "ois-input-manager";
+       version = "0.1.0.1";
+       sha256 = "1p34xybkf5079pq5hkildaz6skx06f6s3qg0k2i73jhh93q3ckiq";
+       buildDepends = [ base hogre ];
+       extraLibraries = [ OIS ];
+       jailbreak = true;
+       description = "wrapper for OIS input manager for use with hogre";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { OIS = null;};
+
+  "old-locale_1_0_0_7" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "old-locale";
+       version = "1.0.0.7";
+       sha256 = "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv";
+       buildDepends = [ base ];
+       description = "locale library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "old-time_1_1_0_3" = callPackage
+    ({ mkDerivation, base, old-locale }:
+     mkDerivation {
+       pname = "old-time";
+       version = "1.1.0.3";
+       sha256 = "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw";
+       buildDepends = [ base old-locale ];
+       description = "Time library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "olwrapper" = callPackage
+    ({ mkDerivation, base, bytestring, fay, fay-jquery, fay-text, lens
+     , mtl, snap, snap-core, snap-loader-dynamic, snap-loader-static
+     , snap-server, snaplet-fay, text
+     }:
+     mkDerivation {
+       pname = "olwrapper";
+       version = "0.4.1";
+       sha256 = "0cnkanaxsrsshk2y37sbvyyzc40k61r57zb0c3jarz583h3yzlai";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring fay fay-jquery fay-text lens mtl snap snap-core
+         snap-loader-dynamic snap-loader-static snap-server snaplet-fay text
+       ];
+       jailbreak = true;
+       description = "An OpenLayers JavaScript Wrapper and Webframework with snaplet-fay";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "omaketex" = callPackage
+    ({ mkDerivation, base, optparse-applicative, shakespeare-text
+     , shelly, text
+     }:
+     mkDerivation {
+       pname = "omaketex";
+       version = "0.1.1.0";
+       sha256 = "0kq2j8pndzn3fjdklyh22vcg8am48i29gx4jq2i74p4gmdryavn9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base optparse-applicative shakespeare-text shelly text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pcapriotti/omaketex";
+       description = "A simple tool to generate OMakefile for latex files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "omega" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , pretty, time
+     }:
+     mkDerivation {
+       pname = "omega";
+       version = "1.5.2";
+       sha256 = "0v11j2gz98g5ng9dsfbr7k3a2xhw2xqa1qi1q8ad53sx2yhjv0ly";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath pretty time
+       ];
+       homepage = "http://code.google.com/p/omega/";
+       description = "A purely functional programming language and a proof system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "omnicodec" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, conduit, sandi
+     , transformers
+     }:
+     mkDerivation {
+       pname = "omnicodec";
+       version = "0.7";
+       sha256 = "18xkwsinfjvd20249bm3z0qvsi51j776ifqa6vkrrl186pwa8im7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs conduit sandi transformers
+       ];
+       jailbreak = true;
+       description = "data encoding and decoding command line utilities";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "on-a-horse" = callPackage
+    ({ mkDerivation, arrows, base, bytestring, case-insensitive
+     , containers, cookie, http-types, mtl, random, safe, split, text
+     , time, transformers, utf8-string, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "on-a-horse";
+       version = "0.3";
+       sha256 = "18nbvdbdg05fmymbvvhig6invr6ald0gdadl666m4axc8m9n6pvg";
+       buildDepends = [
+         arrows base bytestring case-insensitive containers cookie
+         http-types mtl random safe split text time transformers utf8-string
+         wai wai-extra warp
+       ];
+       homepage = "http://haskell.on-a-horse.org";
+       description = "\"Haskell on a Horse\" - A combinatorial web framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "on-demand-ssh-tunnel" = callPackage
+    ({ mkDerivation, base, bytestring, GenericPretty, network, process
+     , random
+     }:
+     mkDerivation {
+       pname = "on-demand-ssh-tunnel";
+       version = "0.1.0.6";
+       sha256 = "0pmkaw3w69nf928z263my7q0l2zi2v4yx5w49warbgv66h00wgkz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring GenericPretty network process random
+       ];
+       homepage = "https://github.com/crackleware/on-demand-ssh-tunnel";
+       description = "Program that sends traffic through SSH tunnels on-demand";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "one-liner" = callPackage
+    ({ mkDerivation, base, contravariant, ghc-prim, transformers }:
+     mkDerivation {
+       pname = "one-liner";
+       version = "0.5.1";
+       sha256 = "0nb3cix82nvs06v5mv1xa6076j5cvwyx2jrn7dmyrpf67a76kfh0";
+       buildDepends = [ base contravariant ghc-prim transformers ];
+       homepage = "https://github.com/sjoerdvisscher/one-liner";
+       description = "Constraint-based generics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "oneOfN" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "oneOfN";
+       version = "0.1.0.1";
+       sha256 = "05gycp2zvq08bjl9dx1lm3cjr12i50k3cwq4al34y1rlp2r531lk";
+       buildDepends = [ base ];
+       homepage = "https://github.com/mokus0/oneOfN";
+       description = "Anonymous coproduct type";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "oneormore" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "oneormore";
+       version = "0.1.0.3";
+       sha256 = "1lz429abk7qqwfya3wa1m5pcyyldagcmmc0ghjfbl8byhkaax63p";
+       buildDepends = [ base ];
+       homepage = "https://github.com/thinkpad20/oneormore";
+       description = "A never-empty list type";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "only" = callPackage
+    ({ mkDerivation, base, parsec, regex-compat }:
+     mkDerivation {
+       pname = "only";
+       version = "0.0.6.0";
+       sha256 = "17c9yy0fshxhpdfqb6hi23kvnvvckcdmlr2dffpgx4cg9znh62s1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base parsec regex-compat ];
+       description = "A grep-like tool for filtering on words or lines";
+       license = "GPL";
+     }) {};
+
+  "onu-course" = callPackage
+    ({ mkDerivation, base, smallcheck }:
+     mkDerivation {
+       pname = "onu-course";
+       version = "1";
+       sha256 = "1d0yn5bj04ircxbi12rx80kds54zssmq4j9kqyk05nmv506x76k0";
+       buildDepends = [ base smallcheck ];
+       description = "Code for the Haskell course taught at the Odessa National University in 2012";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "oo-prototypes" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "oo-prototypes";
+       version = "0.1.0.0";
+       sha256 = "0xpm2adf47clhzpwd833w706mc5xfxwr2wp4aywigy11687f9bly";
+       buildDepends = [ base ];
+       homepage = "https://github.com/yi-editor/oo-prototypes";
+       description = "Support for OO-like prototypes";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "opaleye" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, bytestring
+     , case-insensitive, contravariant, postgresql-simple, pretty
+     , product-profunctors, profunctors, semigroups, text, time
+     , time-locale-compat, transformers, uuid
+     }:
+     mkDerivation {
+       pname = "opaleye";
+       version = "0.3.1.2";
+       sha256 = "01ldghza5l1qgcpvsphajfkq7g09fw0dm4vnya9wbs0hla307av9";
+       buildDepends = [
+         attoparsec base base16-bytestring bytestring case-insensitive
+         contravariant postgresql-simple pretty product-profunctors
+         profunctors semigroups text time time-locale-compat transformers
+         uuid
+       ];
+       testDepends = [
+         base postgresql-simple product-profunctors profunctors time
+       ];
+       homepage = "https://github.com/tomjaguarpaw/haskell-opaleye";
+       description = "An SQL-generating DSL targeting PostgreSQL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "open-pandoc" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , extensible-exceptions, filepath, HTTP, mtl, network, old-time
+     , parsec, pretty, process, syb, texmath, utf8-string, xhtml, xml
+     , zip-archive
+     }:
+     mkDerivation {
+       pname = "open-pandoc";
+       version = "1.5.1.1";
+       sha256 = "1k9d1r1z7q6lm8fha630rg2qfmwwnr9dv2ajvqwvrki2m6i9sczn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory extensible-exceptions filepath
+         HTTP mtl network old-time parsec pretty process syb texmath
+         utf8-string xhtml xml zip-archive
+       ];
+       homepage = "http://johnmacfarlane.net/pandoc";
+       description = "Conversion between markup formats";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "open-typerep" = callPackage
+    ({ mkDerivation, base, constraints, syntactic, tagged }:
+     mkDerivation {
+       pname = "open-typerep";
+       version = "0.2";
+       sha256 = "0z1bp7hansv2zzvwq3n8yqln9pi9vlby5s9mlb7v8wrj99w563lp";
+       buildDepends = [ base constraints syntactic tagged ];
+       testDepends = [ base ];
+       homepage = "https://github.com/emilaxelsson/open-typerep";
+       description = "Open type representations and dynamic types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "open-union" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "open-union";
+       version = "0.1.0.1";
+       sha256 = "1dkz7a5k86r74lnf891grn48q8agkmd81czfp1g4l4dnxslldsqw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "https://github.com/RobotGymnast/open-union";
+       description = "Extensible, type-safe unions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "open-witness" = callPackage
+    ({ mkDerivation, base, mtl, witness }:
+     mkDerivation {
+       pname = "open-witness";
+       version = "0.1.1";
+       sha256 = "1i38lhy1wla0xqgcbyf06179r1hs6194wqd8gg26q491ddc0vp3l";
+       buildDepends = [ base mtl witness ];
+       jailbreak = true;
+       description = "open witnesses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "opencv-raw" = callPackage
+    ({ mkDerivation, base, bindings-DSL, Cabal, opencv, vector }:
+     mkDerivation {
+       pname = "opencv-raw";
+       version = "0.1.0.0";
+       sha256 = "040hjkqd2zqkd8zbnfv8wmyzkfgckiv4njryilx1gpyp7c6qxpwn";
+       buildDepends = [ base bindings-DSL Cabal vector ];
+       pkgconfigDepends = [ opencv ];
+       jailbreak = true;
+       homepage = "www.github.com/arjuncomar/opencv-raw.git";
+       description = "Raw Haskell bindings to OpenCV >= 2.0";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) opencv;};
+
+  "opendatatable" = callPackage
+    ({ mkDerivation, base, hxt, template-haskell, th-lift }:
+     mkDerivation {
+       pname = "opendatatable";
+       version = "0.0.0";
+       sha256 = "1bv729ljw07arz9fzg0nqj6fkpwkxkjds073cz3zr9in0a5b1531";
+       buildDepends = [ base hxt template-haskell th-lift ];
+       jailbreak = true;
+       homepage = "https://github.com/fabianbergmark/OpenDataTable";
+       description = "A library for working with Open Data Tables";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "openexchangerates" = callPackage
+    ({ mkDerivation, aeson, base, containers, currency, errors, HTTP
+     , network, text
+     }:
+     mkDerivation {
+       pname = "openexchangerates";
+       version = "0.1.0.0";
+       sha256 = "0ci1hfdcf0msn3j5l42z4pnn9sw77r0a4anlqsrnl2vrcpfs3j8l";
+       buildDepends = [
+         aeson base containers currency errors HTTP network text
+       ];
+       homepage = "https://github.com/singpolyma/openexchangerates-haskell";
+       description = "Fetch exchange rates from OpenExchangeRates.org";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "opengles" = callPackage
+    ({ mkDerivation, base, bytestring, distributive, EGL
+     , future-resource, ghc-prim, GLESv2, lens, linear, packer, vector
+     }:
+     mkDerivation {
+       pname = "opengles";
+       version = "0.7.0";
+       sha256 = "0vzd1dfg772947h4wny1fsskgdfxk31q86n0p507vmd7pxz6m5dj";
+       buildDepends = [
+         base bytestring distributive future-resource ghc-prim lens linear
+         packer vector
+       ];
+       extraLibraries = [ EGL GLESv2 ];
+       description = "OpenGL ES 2.0 and 3.0 with EGL 1.4";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { EGL = null;  GLESv2 = null;};
+
+  "openid" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HsOpenSSL, HTTP
+     , monadLib, network, time, xml
+     }:
+     mkDerivation {
+       pname = "openid";
+       version = "0.2.0.2";
+       sha256 = "0rhd2hz3ls9ifcrifxhd4qvd7axydnlk5gckxay55dp2lcfc4css";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers HsOpenSSL HTTP monadLib network time xml
+       ];
+       homepage = "http://github.com/elliottt/hsopenid";
+       description = "An implementation of the OpenID-2.0 spec.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "openpgp" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bzlib, HUnit, QuickCheck
+     , quickcheck-instances, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, utf8-string, zlib
+     }:
+     mkDerivation {
+       pname = "openpgp";
+       version = "0.6.1";
+       sha256 = "03sdl0nzxnqbg8cnkglxkbz5xh5s57n6qgdjdnd82sdz139ia69s";
+       buildDepends = [ base binary bytestring bzlib utf8-string zlib ];
+       testDepends = [
+         base binary bytestring bzlib HUnit QuickCheck quickcheck-instances
+         test-framework test-framework-hunit test-framework-quickcheck2
+         utf8-string zlib
+       ];
+       homepage = "http://github.com/singpolyma/OpenPGP-Haskell";
+       description = "Implementation of the OpenPGP message format";
+       license = "unknown";
+     }) {};
+
+  "openpgp-Crypto" = callPackage
+    ({ mkDerivation, base, binary, bytestring, Crypto, HUnit, openpgp
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, utf8-string
+     }:
+     mkDerivation {
+       pname = "openpgp-Crypto";
+       version = "0.5";
+       sha256 = "0gsdzfg378j7s2kpryg43ajxcdk8s5szk0yq48qfvnlsbgrxz07r";
+       buildDepends = [
+         base binary bytestring Crypto openpgp utf8-string
+       ];
+       testDepends = [
+         base binary bytestring Crypto HUnit openpgp QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/singpolyma/OpenPGP-Crypto";
+       description = "Implementation of cryptography for use with OpenPGP using the Crypto library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "openpgp-asciiarmor" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
+     , cereal, HUnit, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "openpgp-asciiarmor";
+       version = "0.1";
+       sha256 = "1xrv0n7n1n8izvxvqm8wmj6mkn5l6wcq18bxs9zd1q5riynmmm2w";
+       buildDepends = [
+         attoparsec base base64-bytestring bytestring cereal
+       ];
+       testDepends = [
+         attoparsec base base64-bytestring bytestring cereal HUnit
+         test-framework test-framework-hunit
+       ];
+       homepage = "http://floss.scru.org/openpgp-asciiarmor";
+       description = "OpenPGP (RFC4880) ASCII Armor codec";
+       license = "unknown";
+     }) {};
+
+  "openpgp-crypto-api" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, crypto-api
+     , cryptocipher, cryptohash, HUnit, openpgp, QuickCheck
+     , quickcheck-instances, tagged, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "openpgp-crypto-api";
+       version = "0.6.3";
+       sha256 = "18grb5jzf7n4670xww3ca2l05ck3lj2msynl57y5fjia8gfr8ijm";
+       buildDepends = [
+         base binary bytestring cereal crypto-api cryptocipher cryptohash
+         openpgp tagged transformers
+       ];
+       testDepends = [
+         base binary bytestring cereal crypto-api cryptocipher cryptohash
+         HUnit openpgp QuickCheck quickcheck-instances tagged test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+         utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/singpolyma/OpenPGP-CryptoAPI";
+       description = "Implement cryptography for OpenPGP using crypto-api compatible libraries";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "opensoundcontrol-ht" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hosc, process, random
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "opensoundcontrol-ht";
+       version = "0.3";
+       sha256 = "154bviaqkh9a02li6f2351764wgy0b0lh4a4s0wg8ql7ml0fykza";
+       buildDepends = [
+         base binary bytestring hosc process random transformers utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/SuperCollider";
+       description = "Haskell OpenSoundControl utilities";
+       license = "GPL";
+     }) {};
+
+  "openssh-github-keys" = callPackage
+    ({ mkDerivation, base, directory, dotenv, filepath, hspec, octohat
+     , optparse-applicative, text, unix
+     }:
+     mkDerivation {
+       pname = "openssh-github-keys";
+       version = "0.1.0.0";
+       sha256 = "0zm7rypr2lsvidl8sl64nh7zc3r0m1yz606n9g7n3gr2dya4c032";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory dotenv filepath octohat optparse-applicative text
+         unix
+       ];
+       testDepends = [ base hspec octohat text ];
+       homepage = "https://github.com/stackbuilders/openssh-github-keys";
+       description = "Fetch OpenSSH keys from a Github team";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "openssl-createkey" = callPackage
+    ({ mkDerivation, base, directory, HsOpenSSL, time, unix }:
+     mkDerivation {
+       pname = "openssl-createkey";
+       version = "0.1";
+       sha256 = "1p59wlkirz4dwyhsnzzzbvy2cwfizn2zky5sxrsmnrzfkbpx1ig5";
+       buildDepends = [ base directory HsOpenSSL time unix ];
+       description = "Create OpenSSL keypairs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "openssl-streams" = callPackage
+    ({ mkDerivation, base, bytestring, HsOpenSSL, HUnit, io-streams
+     , network, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "openssl-streams";
+       version = "1.2.1.0";
+       sha256 = "1jqrc9wxvw196vgcbhpazi9vldqs31jb6jxc529iy9k7vh4mk5m9";
+       buildDepends = [ base bytestring HsOpenSSL io-streams network ];
+       testDepends = [
+         base bytestring HsOpenSSL HUnit io-streams network test-framework
+         test-framework-hunit
+       ];
+       description = "OpenSSL network support for io-streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "opentheory" = callPackage
+    ({ mkDerivation, base, opentheory-primitive, QuickCheck, random }:
+     mkDerivation {
+       pname = "opentheory";
+       version = "1.76";
+       sha256 = "011xz72b0sn50pa62h3x9spr1y1prxyyyn3sc8nm1jg0r0rda99c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base opentheory-primitive QuickCheck random ];
+       description = "The Haskell base";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "opentheory-char" = callPackage
+    ({ mkDerivation, base, opentheory, opentheory-parser
+     , opentheory-primitive, QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "opentheory-char";
+       version = "1.41";
+       sha256 = "0z0dg3bgck8yjn45a7i5ymx2gm9i5m9skmg0n1cg7p6hgdka9j9i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base opentheory opentheory-parser opentheory-primitive QuickCheck
+         random
+       ];
+       description = "Unicode characters";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "opentheory-parser" = callPackage
+    ({ mkDerivation, base, opentheory, opentheory-primitive, QuickCheck
+     , random
+     }:
+     mkDerivation {
+       pname = "opentheory-parser";
+       version = "1.117";
+       sha256 = "0wrqah4vq0shh9541lqjdciz6v79qrr5s7711zmpcap51gs9d9bl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base opentheory opentheory-primitive QuickCheck random
+       ];
+       description = "Stream parsers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "opentheory-prime" = callPackage
+    ({ mkDerivation, base, opentheory, opentheory-primitive, QuickCheck
+     , random
+     }:
+     mkDerivation {
+       pname = "opentheory-prime";
+       version = "1.23";
+       sha256 = "1mg0bhjcml8camgy7hqci4lpd5raw5yii1rsln160hwsalkaxj1c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base opentheory opentheory-primitive QuickCheck random
+       ];
+       description = "Prime numbers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "opentheory-primitive" = callPackage
+    ({ mkDerivation, base, QuickCheck, random }:
+     mkDerivation {
+       pname = "opentheory-primitive";
+       version = "1.2";
+       sha256 = "028z444528v1a35g5iac4fzqgwlxr23ii71sjb264h3v4i4i81d8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base QuickCheck random ];
+       description = "Haskell primitives used by OpenTheory packages";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "operational" = callPackage
+    ({ mkDerivation, base, mtl, random }:
+     mkDerivation {
+       pname = "operational";
+       version = "0.2.3.2";
+       sha256 = "1aj3jhiyz4190b0qmyp684b8lbzrp8jn56s898892rvbp0hxa0pd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl random ];
+       homepage = "http://haskell.org/haskellwiki/Operational";
+       description = "Implementation of difficult monads made easy with operational semantics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "opml" = callPackage
+    ({ mkDerivation, base, directory, xml }:
+     mkDerivation {
+       pname = "opml";
+       version = "0.4";
+       sha256 = "1bnr6lkcf2qs7pvrmd8a5xmklcg67l64b776hzclfvxqy1qil29x";
+       buildDepends = [ base directory xml ];
+       description = "Representing and handling OPML subscription information";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "opn" = callPackage
+    ({ mkDerivation, base, directory, filepath, ini, network-uri
+     , optparse-applicative, process, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "opn";
+       version = "0.1.2";
+       sha256 = "0x53kvcpbd9fh00zs8wdkb3xsl8hf1bsqgl83ci17di1jyg3m4ch";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath ini network-uri optparse-applicative
+         process text unordered-containers
+       ];
+       homepage = "http://github.com/akc/opn";
+       description = "Open files or URLs using associated programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "optimal-blocks" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-arbitrary, cryptohash
+     , deepseq, hex, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "optimal-blocks";
+       version = "0.1.0";
+       sha256 = "1863sh22yfy7i5ibqjsp3bzbaxjd7vwhy2j3r523qrcci0xs8n9b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring cryptohash deepseq hex vector ];
+       testDepends = [
+         base bytestring bytestring-arbitrary deepseq QuickCheck vector
+       ];
+       homepage = "https://github.com/tsuraan/optimal-blocks";
+       description = "Optimal Block boundary determination for rsync-like behaviours";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "optimization" = callPackage
+    ({ mkDerivation, ad, base, directory, distributive, doctest
+     , filepath, linear, semigroupoids, vector
+     }:
+     mkDerivation {
+       pname = "optimization";
+       version = "0.1.6";
+       sha256 = "182dwjs24m60waqqhvq42l9hpshwzr07bbb87jjpmhfjrlxf4xly";
+       buildDepends = [
+         ad base distributive linear semigroupoids vector
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/bgamari/optimization";
+       description = "Numerical optimization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "optimusprime" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, fgl, flite, graphviz
+     , haskell98, mtl, parsec, uniplate, wl-pprint
+     }:
+     mkDerivation {
+       pname = "optimusprime";
+       version = "0.0.1.20091117";
+       sha256 = "0642f9vv08qyqk3pjgin5k2sfv2ffhah9h9rc2xw6ahnygqbpbmf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers fgl flite graphviz haskell98 mtl parsec
+         uniplate wl-pprint
+       ];
+       jailbreak = true;
+       homepage = "http://optimusprime.posterous.com/";
+       description = "A supercompiler for f-lite";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "optional" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, QuickCheck }:
+     mkDerivation {
+       pname = "optional";
+       version = "0.0.1";
+       sha256 = "1i1nl81gg5fndf3vafirpmklikn4xpy791is6ff8j7pzys0qfj8g";
+       buildDepends = [ base ];
+       testDepends = [ base directory doctest filepath QuickCheck ];
+       homepage = "https://github.com/tonymorris/optional";
+       description = "Using type-classes for optional function arguments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "options" = callPackage
+    ({ mkDerivation, base, chell, chell-quickcheck, containers
+     , monads-tf, transformers
+     }:
+     mkDerivation {
+       pname = "options";
+       version = "1.2.1.1";
+       sha256 = "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8";
+       buildDepends = [ base containers monads-tf transformers ];
+       testDepends = [
+         base chell chell-quickcheck containers monads-tf transformers
+       ];
+       homepage = "https://john-millikin.com/software/haskell-options/";
+       description = "A powerful and easy-to-use command-line option parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "options-time" = callPackage
+    ({ mkDerivation, base, chell, old-locale, options, time }:
+     mkDerivation {
+       pname = "options-time";
+       version = "1.0.1";
+       sha256 = "0rsmwalmnry71w23k6sg0a307xgb2s71j9s12zqqq380fw6c1bhm";
+       buildDepends = [ base old-locale options time ];
+       testDepends = [ base chell options time ];
+       homepage = "https://john-millikin.com/software/haskell-options/";
+       description = "Command-line option types for dates and times";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "optparse-applicative_0_10_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, process, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "optparse-applicative";
+       version = "0.10.0";
+       revision = "1";
+       sha256 = "04hr6rzgc8h0c8fy748as3q7sc8vm94gvk0rw4gdj605z8hvaxcb";
+       editedCabalFile = "20d6ce280b028a493a1920dcc22bb39bee10e9c788a58e03dcaeecba97afffb0";
+       buildDepends = [
+         ansi-wl-pprint base process transformers transformers-compat
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pcapriotti/optparse-applicative";
+       description = "Utilities and combinators for parsing command line options";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "optparse-applicative" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, process, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "optparse-applicative";
+       version = "0.11.0.2";
+       sha256 = "0ni52ii9555jngljvzxn1ngicr6i2w647ww3rzhdrmng04y95iii";
+       buildDepends = [
+         ansi-wl-pprint base process transformers transformers-compat
+       ];
+       homepage = "https://github.com/pcapriotti/optparse-applicative";
+       description = "Utilities and combinators for parsing command line options";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "orc" = callPackage
+    ({ mkDerivation, base, deepseq, monadIO, mtl, process, random, stm
+     }:
+     mkDerivation {
+       pname = "orc";
+       version = "1.2.1.4";
+       sha256 = "0zl456v2mwa68k2lq7fx3ds6xr9vbrijq8q8ma5mm1kk9p9znr0x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base deepseq monadIO mtl process random stm ];
+       description = "Orchestration-style co-ordination EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "orchestrate" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , data-default, either, errors, hspec, http-client, http-types
+     , lens, mtl, QuickCheck, smallcheck, text, transformers
+     , unordered-containers, wreq
+     }:
+     mkDerivation {
+       pname = "orchestrate";
+       version = "0.2.0.0";
+       sha256 = "0d9p6b4ficxbsxmig7zjm130v2k60q8jskcm2gvjlg7z8xsqmhzl";
+       buildDepends = [
+         aeson base bytestring case-insensitive data-default either errors
+         http-client http-types lens mtl text transformers
+         unordered-containers wreq
+       ];
+       testDepends = [
+         aeson base bytestring errors hspec lens QuickCheck smallcheck text
+         wreq
+       ];
+       description = "An API client for http://orchestrate.io/.";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "orchid" = callPackage
+    ({ mkDerivation, base, bytestring, containers, encoding
+     , extensible-exceptions, fclabels, filestore, hscolour, mtl
+     , nano-md5, parsec, process, QuickCheck, salvia, salvia-extras, stm
+     , time, unix, xml
+     }:
+     mkDerivation {
+       pname = "orchid";
+       version = "0.0.8";
+       sha256 = "1d3cfhhsv1qpiiin4cs9wxx2a6vwcj0iad746z7l1qzyxrhg4dkm";
+       buildDepends = [
+         base bytestring containers encoding extensible-exceptions fclabels
+         filestore hscolour mtl nano-md5 parsec process QuickCheck salvia
+         salvia-extras stm time unix xml
+       ];
+       jailbreak = true;
+       description = "Haskell Wiki Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "orchid-demo" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, mtl, network, orchid
+     , Pipe, salvia, salvia-extras, stm
+     }:
+     mkDerivation {
+       pname = "orchid-demo";
+       version = "0.0.6";
+       sha256 = "1gfjmakfx8244q1yqbgp2ji9bh45ll8ixvxbdd961my30j7gh29z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base extensible-exceptions mtl network orchid Pipe salvia
+         salvia-extras stm
+       ];
+       jailbreak = true;
+       description = "Haskell Wiki Demo";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ord-adhoc" = callPackage
+    ({ mkDerivation, base, void }:
+     mkDerivation {
+       pname = "ord-adhoc";
+       version = "0.0.0.1";
+       sha256 = "062wkfpww1ic3xiy26k22369azk5wjlpn5wm5xh1w75kc9crv263";
+       buildDepends = [ base void ];
+       homepage = "https://github.com/fumieval/ord-adhoc/";
+       description = "Creating Ord instances instantly";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "order-maintenance" = callPackage
+    ({ mkDerivation, base, containers, transformers }:
+     mkDerivation {
+       pname = "order-maintenance";
+       version = "0.0.0.0";
+       sha256 = "1d416a277fcchcgyn4n5m7kpn0aky8gsi8fkk0gh3a4lcap18h2d";
+       buildDepends = [ base containers transformers ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/order-maintenance";
+       description = "Algorithms for the order maintenance problem with a safe interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "order-statistics" = callPackage
+    ({ mkDerivation, base, containers, math-functions, statistics
+     , vector, vector-space
+     }:
+     mkDerivation {
+       pname = "order-statistics";
+       version = "0.1.1";
+       sha256 = "1df9b0q4rmgnd74q7pckcppyiygzba6f39vajkwb2pmxlfafcy7a";
+       buildDepends = [
+         base containers math-functions statistics vector vector-space
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/order-statistics/";
+       description = "L-Estimators for robust statistics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ordered" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ordered";
+       version = "0.1";
+       sha256 = "0s0g5kgzdw7qjsdcddszjclamx9bi0369pkwhh0wncjg68a7mq69";
+       buildDepends = [ base ];
+       description = "A definition of Posets";
+       license = "unknown";
+     }) {};
+
+  "orders" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "orders";
+       version = "0.1.0.0";
+       sha256 = "1ry6flg5sh3hl1xpkqk67ayd4y0xx3j2pwcz26q1pgqn6m84plzr";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       description = "basic orders";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ordrea" = callPackage
+    ({ mkDerivation, base, containers, directory, process, split
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "ordrea";
+       version = "0.3.0.0";
+       sha256 = "067nf69diqi00vswd7xarl55ps9v5cwqmph1w6nzjylnl0pjh811";
+       buildDepends = [ base containers transformers vector ];
+       testDepends = [ base directory process split ];
+       description = "Push-pull implementation of discrete-time FRP";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "organize-imports" = callPackage
+    ({ mkDerivation, attoparsec, base, text }:
+     mkDerivation {
+       pname = "organize-imports";
+       version = "0.3.0.0";
+       sha256 = "04d56k6x6psynk8lddbawc3kfa4yc66w4qgjag20grm4zd7y45ax";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ attoparsec base text ];
+       jailbreak = true;
+       description = "Organize scala imports";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "orgmode-parse" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , free, hashable, HUnit, old-locale, tasty, tasty-hunit, text
+     , thyme, unordered-containers
+     }:
+     mkDerivation {
+       pname = "orgmode-parse";
+       version = "0.1.0";
+       sha256 = "1n1azp4ymsc9z89x39ycxx45hax8h2pqyr18q9sc88rawr31k4f8";
+       buildDepends = [
+         aeson attoparsec base bytestring containers free hashable
+         old-locale text thyme unordered-containers
+       ];
+       testDepends = [
+         aeson attoparsec base bytestring containers hashable HUnit
+         old-locale tasty tasty-hunit text thyme unordered-containers
+       ];
+       jailbreak = true;
+       description = "A parser and writer for org-mode flavored documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "origami" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, HUnit, lens, mtl
+     , pretty, template-haskell, test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "origami";
+       version = "0.0.4";
+       sha256 = "0q0dsyhpp63kkpjqvjksy1xnwp1f9yilgxrxgwcqrzdjzmgg4rzw";
+       buildDepends = [
+         base bifunctors containers lens mtl pretty template-haskell
+       ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       homepage = "http://github.com/nedervold/origami";
+       description = "An un-SYB framework for transforming heterogenous data through folds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "os-release" = callPackage
+    ({ mkDerivation, base, containers, hlint, hspec, parsec, process
+     , regex-compat, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "os-release";
+       version = "0.2.0";
+       sha256 = "1y59n0gsp26xbgdfszc6gnwr75h1bmwc8rvsf9p02gwgvcylxhly";
+       buildDepends = [ base containers parsec transformers ];
+       testDepends = [
+         base containers hlint hspec parsec process regex-compat temporary
+         transformers
+       ];
+       homepage = "https://github.com/yaccz/os-release";
+       description = "/etc/os-release helpers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "osdkeys" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , containers, libnotify, process, resourcet, time, transformers
+     }:
+     mkDerivation {
+       pname = "osdkeys";
+       version = "0.0";
+       sha256 = "18pc2r5acb3b6dr7niib4fn8x2la6y3f5zlj3ibrxhl5c1q35j6y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit conduit-extra containers libnotify process
+         resourcet time transformers
+       ];
+       description = "Show keys pressed with an on-screen display (Linux only)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "osm-download" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers
+     , data-default, directory, gps, http-conduit, http-types
+     , monad-control, monadIO, mtl, persistent, persistent-sqlite
+     , persistent-template, pool-conduit, stm, stm-chans, text, time
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "osm-download";
+       version = "0.4";
+       sha256 = "056ggv31nycgz59gkmibzmx0k5x8klb5bwlnbhdih8d71larbsb3";
+       buildDepends = [
+         base bytestring conduit containers data-default directory gps
+         http-conduit http-types monad-control monadIO mtl persistent
+         persistent-sqlite persistent-template pool-conduit stm stm-chans
+         text time transformers transformers-base
+       ];
+       jailbreak = true;
+       description = "Download Open Street Map tiles";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "osx-ar" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers }:
+     mkDerivation {
+       pname = "osx-ar";
+       version = "0.11";
+       sha256 = "1d2lna7gvygiq062p2y1zy182wv3vkr0lda49y502ad6jf483xdn";
+       buildDepends = [ base binary bytestring containers ];
+       description = "Parser for OS X static archive format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ot" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, binary, either, ghc
+     , HUnit, mtl, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "ot";
+       version = "0.2.0.0";
+       sha256 = "0vf4lqc0mffnhz4a03jvs35rl1ygp2ipdmn3dyb5darsg941gsd3";
+       buildDepends = [
+         aeson attoparsec base binary either ghc mtl QuickCheck text
+       ];
+       testDepends = [
+         aeson base binary HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text
+       ];
+       homepage = "https://github.com/operational-transformation/ot.hs";
+       description = "Real-time collaborative editing with Operational Transformation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ottparse-pretty" = callPackage
+    ({ mkDerivation, base, containers, parsec, split, uniplate }:
+     mkDerivation {
+       pname = "ottparse-pretty";
+       version = "0.1.2.5";
+       sha256 = "1dwl9jbrhw5b7z2imlnkn8qjk36z06gqca4y9h8r85phsdkyzbm4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers parsec split uniplate ];
+       description = "Pretty-printer for Ott parse trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "overture" = callPackage
+    ({ mkDerivation, base, doctest }:
+     mkDerivation {
+       pname = "overture";
+       version = "0.0.5";
+       sha256 = "0mv9iakq1yjawf7f0zckmxbzlcv2rlqngsllfsrcydi6lxazznzw";
+       buildDepends = [ base ];
+       testDepends = [ base doctest ];
+       description = "An alternative to some of the Prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pack" = callPackage
+    ({ mkDerivation, array, base, bytestring, lens, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "pack";
+       version = "0.4.0";
+       sha256 = "19ps1dk855br5h9x72f26sjx8xnh4gmqb0cf5mi65jpp5zvp0zj9";
+       buildDepends = [ array base bytestring lens transformers vector ];
+       homepage = "https://github.com/capsjac/pack";
+       description = "Bidirectional fast ByteString packer/unpacker";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "package-o-tron" = callPackage
+    ({ mkDerivation, base, Cabal, filemanip, filepath, groom, packdeps
+     , process
+     }:
+     mkDerivation {
+       pname = "package-o-tron";
+       version = "0.1.0.0";
+       sha256 = "0r4zksyszbhywyyayjs1cn8d69cnm0p4y9xqir9nw1g4gkl23df8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal filemanip filepath groom packdeps process
+       ];
+       description = "Utilities for working with cabal packages and your package database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "package-vt" = callPackage
+    ({ mkDerivation, base, Cabal, Diff, filepath, haskell-src-exts }:
+     mkDerivation {
+       pname = "package-vt";
+       version = "0.1.3.3";
+       sha256 = "0rsv60n6fd9kkjihdjzi7hadxj8yd6bd640w92y2wx1y9qxl8lhm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal Diff filepath haskell-src-exts ];
+       jailbreak = true;
+       description = "Haskell Package Versioning Tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "packdeps" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, split, tar, text, time
+     }:
+     mkDerivation {
+       pname = "packdeps";
+       version = "0.4.0.3";
+       sha256 = "08an9nwg448d3w4yds67l02mgikmjmn52pvva3i386fv4hfkabhp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory filepath split tar text
+         time
+       ];
+       homepage = "http://packdeps.haskellers.com/";
+       description = "Check your cabal packages for lagging dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "packed-dawg" = callPackage
+    ({ mkDerivation, base, binary, deepseq, HUnit, mtl, QuickCheck
+     , tasty, tasty-hunit, tasty-quickcheck, unordered-containers
+     , vector, vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "packed-dawg";
+       version = "0.2.0.4";
+       sha256 = "0lvn1kj5mqy22lkm3h5yhsqw83kv6nwdwm6yvgia3xr0c8nnvx4c";
+       buildDepends = [
+         base binary deepseq mtl unordered-containers vector
+         vector-binary-instances
+       ];
+       testDepends = [
+         base binary deepseq HUnit mtl QuickCheck tasty tasty-hunit
+         tasty-quickcheck unordered-containers vector
+         vector-binary-instances
+       ];
+       description = "Generation and traversal of highly compressed directed acyclic word graphs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "packedstring" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "packedstring";
+       version = "0.1.0.1";
+       revision = "1";
+       sha256 = "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8";
+       editedCabalFile = "cbc334ff8e721fb18b6799b28dc3e77addc7234aa553725b0af68375f75e0bcf";
+       buildDepends = [ array base ];
+       jailbreak = true;
+       description = "(Deprecated) Packed Strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "packer" = callPackage
+    ({ mkDerivation, array, base, bytestring, HUnit, mtl, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "packer";
+       version = "0.1.5";
+       sha256 = "1bqxpa13ccvkkzy45374rl5w0qswsh3lsgv6mrxs9hp6b4w3f46j";
+       buildDepends = [ array base bytestring mtl ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-packer";
+       description = "Fast byte serializer and unserializer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "packunused" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, haskell-src-exts
+     , optparse-applicative, split
+     }:
+     mkDerivation {
+       pname = "packunused";
+       version = "0.1.1.4";
+       revision = "1";
+       sha256 = "1ahb8wq7yxnfzwcvppk8cyhj9r51fz9ci1pwy0h4ql7iyc3z0vy8";
+       editedCabalFile = "5ddb122ff2a1ac4e79226f31b4d8f7dab67bb5501d0e715d84dbfe36c845b772";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory filepath haskell-src-exts optparse-applicative
+         split
+       ];
+       homepage = "https://github.com/hvr/packunused";
+       description = "Tool for detecting redundant Cabal package dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pacman-memcache" = callPackage
+    ({ mkDerivation, base, deepseq, directory-tree }:
+     mkDerivation {
+       pname = "pacman-memcache";
+       version = "0.1.0.3";
+       sha256 = "04jlfinds38kjy0qrk00a7ik5x7mkdwkb0cwmlzlif45x4zrhwfv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base deepseq directory-tree ];
+       jailbreak = true;
+       homepage = "https://github.com/Tener/archlinux-utils";
+       description = "Read whole Pacman database which pushes it into the memory cache";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "padKONTROL" = callPackage
+    ({ mkDerivation, base, containers, hmidi, minioperational
+     , transformers
+     }:
+     mkDerivation {
+       pname = "padKONTROL";
+       version = "0.1";
+       sha256 = "1sv7124ms2msqb2wb361xshykmh8cr4i85qayjak8y8q7bpzkdfd";
+       buildDepends = [
+         base containers hmidi minioperational transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fumieval/padKONTROL";
+       description = "Controlling padKONTROL native mode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pagarme" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, lens, text
+     , wreq
+     }:
+     mkDerivation {
+       pname = "pagarme";
+       version = "0.1.0.0";
+       sha256 = "1zkh8cx4bdgsyra7x9kzzdcckg65y1hacwq90w36gdl6i4hs7nj0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ aeson base bytestring containers lens text wreq ];
+       homepage = "https://github.com/diogob/pagarme_haskell";
+       description = "Pagarme API wrapper";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pagerduty" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring
+     , bytestring-conversion, conduit, data-default-class, exceptions
+     , generics-sop, http-client, http-types, lens, lens-aeson, mmorph
+     , monad-control, mtl, template-haskell, text, time
+     , time-locale-compat, transformers, transformers-base
+     , transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "pagerduty";
+       version = "0.0.3";
+       sha256 = "1jqg7k0vr78fv5cv0rn74v8p5jd4wvv6l5nc5xdwh46b7rjwcpj1";
+       buildDepends = [
+         aeson base bifunctors bytestring bytestring-conversion conduit
+         data-default-class exceptions generics-sop http-client http-types
+         lens lens-aeson mmorph monad-control mtl template-haskell text time
+         time-locale-compat transformers transformers-base
+         transformers-compat unordered-containers
+       ];
+       homepage = "http://github.com/brendanhay/pagerduty";
+       description = "Client library for PagerDuty Integration and REST APIs";
+       license = "unknown";
+     }) {};
+
+  "palette" = callPackage
+    ({ mkDerivation, array, base, colour, containers }:
+     mkDerivation {
+       pname = "palette";
+       version = "0.1.0.1";
+       sha256 = "0065b83qrmlqrm96399p3hqqd5psmvxawhwqnwkjm7gid4qgiaha";
+       buildDepends = [ array base colour containers ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Utilities for choosing and creating color schemes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "palindromes" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers }:
+     mkDerivation {
+       pname = "palindromes";
+       version = "0.4";
+       sha256 = "1k0kvd8p1ivwmpmf8khwmb4vyk8z0di74xn5840zy9jhf1cwx4kn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base bytestring containers ];
+       homepage = "http://www.jeuring.net/homepage/palindromes/index.html";
+       description = "Finding palindromes in strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pam" = callPackage
+    ({ mkDerivation, base, c2hs, pam }:
+     mkDerivation {
+       pname = "pam";
+       version = "0.1";
+       sha256 = "1lmkq12p18qavx2c7xrnha56017y0f21ri4l3cqal4fb8zy0g5nj";
+       buildDepends = [ base ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ pam ];
+       description = "Haskell binding for C PAM API";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) pam;};
+
+  "panda" = callPackage
+    ({ mkDerivation, base, cgi, containers, data-default, directory
+     , filepath, gravatar, haskell98, hcheat, kibro, MissingH, mps
+     , network, old-locale, old-time, pandoc, parsec, parsedate, process
+     , rss, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "panda";
+       version = "2009.4.1";
+       sha256 = "0yn6ia1pql5fvj784a57ym74n5sd08n1g9djgapllw9lkf6r7hv7";
+       buildDepends = [
+         base cgi containers data-default directory filepath gravatar
+         haskell98 hcheat kibro MissingH mps network old-locale old-time
+         pandoc parsec parsedate process rss utf8-string xhtml
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Panda";
+       description = "A simple static blog engine";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pandoc" = callPackage
+    ({ mkDerivation, aeson, alex, ansi-terminal, array, base
+     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
+     , containers, data-default, deepseq-generics, Diff, directory
+     , executable-path, extensible-exceptions, filepath, haddock-library
+     , happy, highlighting-kate, hslua, HTTP, http-client
+     , http-client-tls, http-types, HUnit, JuicyPixels, mtl, network
+     , network-uri, old-locale, old-time, pandoc-types, parsec, process
+     , QuickCheck, random, scientific, SHA, syb, tagsoup, temporary
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , texmath, text, time, unordered-containers, vector, xml, yaml
+     , zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "pandoc";
+       version = "1.13.2";
+       revision = "2";
+       sha256 = "12kd71g70d1wzz19p5yq7f00hw8d4ra8ghn83g7yzsal8igl8p76";
+       editedCabalFile = "1b9479a2579d76c43089283b6fb7a060e16050fd62fe0da896a722db815671d6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson alex array base base64-bytestring binary blaze-html
+         blaze-markup bytestring containers data-default deepseq-generics
+         directory extensible-exceptions filepath haddock-library happy
+         highlighting-kate hslua HTTP http-client http-client-tls http-types
+         JuicyPixels mtl network network-uri old-locale old-time
+         pandoc-types parsec process random scientific SHA syb tagsoup
+         temporary texmath text time unordered-containers vector xml yaml
+         zip-archive zlib
+       ];
+       testDepends = [
+         ansi-terminal base bytestring containers Diff directory
+         executable-path filepath highlighting-kate HUnit pandoc-types
+         process QuickCheck syb test-framework test-framework-hunit
+         test-framework-quickcheck2 text zip-archive
+       ];
+       configureFlags = [ "-fhttps" "-fmake-pandoc-man-pages" ];
+       jailbreak = true;
+       homepage = "http://johnmacfarlane.net/pandoc";
+       description = "Conversion between markup formats";
+       license = "GPL";
+     }) {};
+
+  "pandoc-citeproc" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , containers, data-default, directory, filepath, hs-bibutils, mtl
+     , old-locale, pandoc, pandoc-types, parsec, process, rfc5051, split
+     , syb, tagsoup, temporary, text, time, vector, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-citeproc";
+       version = "0.6";
+       sha256 = "1whi8mrbhfi8wr3qbj1lkgc1pngn8151jjri409hshl1mng4aq5b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty attoparsec base bytestring containers
+         data-default directory filepath hs-bibutils mtl old-locale pandoc
+         pandoc-types parsec process rfc5051 split syb tagsoup temporary
+         text time vector xml-conduit yaml
+       ];
+       testDepends = [
+         aeson base bytestring directory filepath pandoc pandoc-types
+         process temporary text yaml
+       ];
+       description = "Supports using pandoc with citeproc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pandoc-lens" = callPackage
+    ({ mkDerivation, base, containers, lens, pandoc-types }:
+     mkDerivation {
+       pname = "pandoc-lens";
+       version = "0.3.2";
+       sha256 = "1n0h3cf2yb5rmlfd0bbxlj3r8bm4h8yffd76fqsbw3s5jm0df4wb";
+       buildDepends = [ base containers lens pandoc-types ];
+       homepage = "http://github.com/bgamari/pandoc-lens";
+       description = "Lenses for Pandoc documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pandoc-types" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , deepseq-generics, ghc-prim, syb
+     }:
+     mkDerivation {
+       pname = "pandoc-types";
+       version = "1.12.4.2";
+       sha256 = "0j9zzlpwjyy8fqr91fsnzy507ylwrwk7hhl9nkxzk19iva2c42n9";
+       buildDepends = [
+         aeson base bytestring containers deepseq-generics ghc-prim syb
+       ];
+       homepage = "http://johnmacfarlane.net/pandoc";
+       description = "Types for representing a structured document";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pandoc-unlit" = callPackage
+    ({ mkDerivation, base, pandoc }:
+     mkDerivation {
+       pname = "pandoc-unlit";
+       version = "0.1.0";
+       sha256 = "0jdlfqhp7h6jsp9qq2ndnm8fs96m19cmmd5rnjpqb76ilg6kn7l9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base pandoc ];
+       description = "Literate Haskell support for GitHub's Markdown flavor";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pango" = callPackage
+    ({ mkDerivation, array, base, cairo, containers, directory, glib
+     , gtk2hs-buildtools, mtl, pango, pretty, process, text
+     }:
+     mkDerivation {
+       pname = "pango";
+       version = "0.13.1.0";
+       sha256 = "0s69ga5gn9grdqcfxkbnvk0f3malql3fnhzh9cwvpfzqk3hxn4hn";
+       buildDepends = [
+         array base cairo containers directory glib mtl pretty process text
+       ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ pango ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Pango text rendering engine";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs.gnome) pango;};
+
+  "papillon" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, monads-tf
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "papillon";
+       version = "0.1.0.0";
+       sha256 = "02j3bydxzs39ljfnx1sgsn9ppw1cah81dfbws57yp9vdrcyq2ipf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring 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 {
+       pname = "pappy";
+       version = "0.1.0.2";
+       sha256 = "14f4mv9xgqwmmyy3fg1miqdmi7a6bs3hixqk4z46r0pz44w6nlxd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://pdos.csail.mit.edu/~baford/packrat/thesis/";
+       description = "Packrat parsing; linear-time parsers for grammars in TDPL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "para" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "para";
+       version = "1.1";
+       sha256 = "0l5abmqi548s10f87m124ld4hhphhl1szljyc04a13fah4dsqjbh";
+       buildDepends = [ base ];
+       description = "Text paragraph formatting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "paragon" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers, cpphs
+     , directory, filepath, haskell-src-meta, parsec, pretty, syb
+     , template-haskell, th-lift, uniplate
+     }:
+     mkDerivation {
+       pname = "paragon";
+       version = "0.1.28";
+       sha256 = "1iz7fg7ziq3ffq1wac0z2m151rn4xmvd5kig04fdw1cy0x487c9c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers cpphs directory filepath
+         haskell-src-meta parsec pretty syb template-haskell th-lift
+         uniplate
+       ];
+       buildTools = [ alex ];
+       jailbreak = true;
+       description = "Paragon";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parallel_3_2_0_3" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq }:
+     mkDerivation {
+       pname = "parallel";
+       version = "3.2.0.3";
+       sha256 = "1kbdzdz9s8jq0xysqgvxx1zvzqlxgj1sk476mciwcn327kpl0fhn";
+       buildDepends = [ array base containers deepseq ];
+       jailbreak = true;
+       description = "Parallel programming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parallel" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq }:
+     mkDerivation {
+       pname = "parallel";
+       version = "3.2.0.6";
+       sha256 = "0hp6vf4zxsw6vz6lj505xihmnfhgjp39c9q7nyzlgcmps3xx6a5r";
+       buildDepends = [ array base containers deepseq ];
+       description = "Parallel programming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parallel-io" = callPackage
+    ({ mkDerivation, base, containers, extensible-exceptions, random }:
+     mkDerivation {
+       pname = "parallel-io";
+       version = "0.3.3";
+       revision = "1";
+       sha256 = "0i86x3bf8pjlg6mdg1zg5lcrjpg75pbqs2mrgrbp4z4bkcmw051s";
+       editedCabalFile = "75eeeb51593fa2771c8dbc965ca09d830d62e08135870188a10446f842178bee";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers extensible-exceptions random ];
+       homepage = "http://batterseapower.github.com/parallel-io";
+       description = "Combinators for executing IO actions in parallel on a thread pool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parallel-tasks" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, deepseq, here
+     , old-locale, stm, time, transformers, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "parallel-tasks";
+       version = "4.0.1.0";
+       sha256 = "0cng14pivk0cw3xax0z4j59s0vpbkm7hjycsb3cif6pfjbypsm3x";
+       buildDepends = [
+         base bytestring cereal deepseq here old-locale stm time
+         transformers vector vector-algorithms
+       ];
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parallel-tree-search" = callPackage
+    ({ mkDerivation, base, parallel, tree-monad }:
+     mkDerivation {
+       pname = "parallel-tree-search";
+       version = "0.4.1";
+       sha256 = "1x2k649q6gqz9z16vwg1j59ajf2wp59lfwb65g8819fz4rwimncr";
+       buildDepends = [ base parallel tree-monad ];
+       homepage = "http://github.com/sebfisch/parallel-tree-search";
+       description = "Parallel Tree Search";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "parameterized-data" = callPackage
+    ({ mkDerivation, base, template-haskell, type-level }:
+     mkDerivation {
+       pname = "parameterized-data";
+       version = "0.1.5";
+       sha256 = "1zcfpapbgmzfrrwn8bq829scb89b52p1567xaw45d77z3hw24cq1";
+       buildDepends = [ base template-haskell type-level ];
+       homepage = "http://code.haskell.org/parameterized-data";
+       description = "Parameterized data library implementing lightweight dependent types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parco" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "parco";
+       version = "0.1";
+       sha256 = "0598hz6zqcn4lh5y3vr54z4jh4ampxnh8rq29k6p5vnmrpvn4lq4";
+       buildDepends = [ base mtl ];
+       description = "Generalised parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parco-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, mtl, parco }:
+     mkDerivation {
+       pname = "parco-attoparsec";
+       version = "0.1";
+       sha256 = "0bc2gyvc1i3l3p702zs6hfkab7fmc7li5kh4mdzy3a91gzgsl3jh";
+       buildDepends = [ attoparsec base mtl parco ];
+       description = "Generalised parser combinators - Attoparsec interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parco-parsec" = callPackage
+    ({ mkDerivation, base, mtl, parco, parsec }:
+     mkDerivation {
+       pname = "parco-parsec";
+       version = "0.1";
+       sha256 = "0m3dsjay3av4y0v4j76wxybmk4mkjdhqq81w1wsfr173d4blgxf3";
+       buildDepends = [ base mtl parco parsec ];
+       description = "Generalised parser combinators - Parsec interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parcom-lib" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, text
+     , transformers, utf8-string, word8
+     }:
+     mkDerivation {
+       pname = "parcom-lib";
+       version = "0.8.0.2";
+       sha256 = "14afqaq4r556rf1wmjd14682dph8ji2b9r4dx1mjlxyr096l84h6";
+       buildDepends = [
+         base bytestring containers mtl text transformers utf8-string word8
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/tdammers/parcom-lib";
+       description = "A simple parser-combinator library, a bit like Parsec but without the frills";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parconc-examples" = callPackage
+    ({ mkDerivation, abstract-par, accelerate, accelerate-io, array
+     , async, base, binary, bytestring, containers, deepseq, directory
+     , distributed-process, distributed-process-simplelocalnet
+     , distributed-static, fclabels, filepath, HTTP, monad-par, network
+     , normaldistribution, parallel, random, repa, stm, template-haskell
+     , time, transformers, utf8-string, vector, xml
+     }:
+     mkDerivation {
+       pname = "parconc-examples";
+       version = "0.3.4";
+       sha256 = "1i8kkjak3byzypaiqi7iavhswmvs98cvcrakdxpd8cm52gj6xk2d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         abstract-par accelerate accelerate-io array async base binary
+         bytestring containers deepseq directory distributed-process
+         distributed-process-simplelocalnet distributed-static fclabels
+         filepath HTTP monad-par network normaldistribution parallel random
+         repa stm template-haskell time transformers utf8-string vector xml
+       ];
+       jailbreak = true;
+       description = "Examples to accompany the book \"Parallel and Concurrent Programming in Haskell\"";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parport" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "parport";
+       version = "0.0.0";
+       sha256 = "1d4fq67179n6flmi4ll0341cnnx6p7v44sj5xkk5vknm7qv1p5nx";
+       buildDepends = [ array base ];
+       description = "Simply interfacing the parallel port on linux";
+       license = "GPL";
+     }) {};
+
+  "parse-dimacs" = callPackage
+    ({ mkDerivation, array, base, bytestring, parsec }:
+     mkDerivation {
+       pname = "parse-dimacs";
+       version = "1.3";
+       sha256 = "0amh3h49xi65kx8l34cy5jkai1f0d9l1qxp4937f3cjf7afif0pj";
+       buildDepends = [ array base bytestring parsec ];
+       description = "DIMACS CNF parser library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parse-help" = callPackage
+    ({ mkDerivation, attoparsec, base, cmdargs, containers
+     , data-default, file-location, template-haskell, text, th-lift
+     }:
+     mkDerivation {
+       pname = "parse-help";
+       version = "0.0";
+       sha256 = "1vy7v49nh60gkb7vsig87hv11cxn19xs2jjvd0xnnhdz0zm4z7yf";
+       buildDepends = [
+         attoparsec base containers data-default file-location
+         template-haskell text th-lift
+       ];
+       testDepends = [ cmdargs ];
+       jailbreak = true;
+       homepage = "http://github.com/gregwebs/cmdargs-help";
+       description = "generate command line arguments from a --help output";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parseargs" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "parseargs";
+       version = "0.1.5.2";
+       sha256 = "0pzw7w1kr2rv6ffqgn93rypn37wy2r5k01p3y5256laaplm575am";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "http://github.com/BartMassey/parseargs";
+       description = "Command-line argument parsing library for Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, mtl, test-framework
+     , test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "parsec";
+       version = "3.1.9";
+       sha256 = "1ja20cmj6v336jy87c6h3jzjp00sdbakwbdwp11iln499k913xvi";
+       buildDepends = [ base bytestring mtl text ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       homepage = "https://github.com/aslatter/parsec";
+       description = "Monadic parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec-extra" = callPackage
+    ({ mkDerivation, base, monads-tf, parsec, transformers }:
+     mkDerivation {
+       pname = "parsec-extra";
+       version = "0.1.0.5";
+       sha256 = "0x5lpkly8z26ygp0k8ddkybgmfi5n2vnf6sv3sjn3xm531xf6qy4";
+       buildDepends = [ base monads-tf parsec transformers ];
+       description = "Some miscellaneous basic string parsers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec-numbers" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "parsec-numbers";
+       version = "0.1.0";
+       sha256 = "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp";
+       buildDepends = [ base parsec ];
+       description = "Utilities for parsing numbers from strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec-parsers" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, parsec
+     , parsers
+     }:
+     mkDerivation {
+       pname = "parsec-parsers";
+       version = "0.2";
+       sha256 = "1knmcciyq07vp06s3xh4hwz654n017863dh9hdp1mwm57vc43s3j";
+       buildDepends = [ base parsec parsers ];
+       testDepends = [ base directory doctest filepath ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/parsec-parsers/";
+       description = "Parsing instances for Parsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec-permutation" = callPackage
+    ({ mkDerivation, base, parsec, QuickCheck }:
+     mkDerivation {
+       pname = "parsec-permutation";
+       version = "0.1.2.0";
+       sha256 = "0yfdgvw093kk5id9h6b566zniss26kw6rxnvsni6dgr4knzyx1xi";
+       buildDepends = [ base parsec ];
+       testDepends = [ base parsec QuickCheck ];
+       description = "Applicative permutation parser for Parsec intended as a replacement for Text.Parsec.Perm.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec-tagsoup" = callPackage
+    ({ mkDerivation, base, parsec, tagsoup }:
+     mkDerivation {
+       pname = "parsec-tagsoup";
+       version = "0.1";
+       sha256 = "1pzspf5fimjlki5fn3lxz1kdpd9pf2ww8z9sf08zaiyfp4ms15n1";
+       buildDepends = [ base parsec tagsoup ];
+       description = "Parsec parsers for Tagsoup tag streams";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "parsec-utils" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "parsec-utils";
+       version = "0.1.0.0";
+       sha256 = "0pfdl9zsdzxcbjh37234djcbg6sdhqzx3fnin0b55hxn78k26ivi";
+       buildDepends = [ base parsec ];
+       description = "Utility functions and combinators for Text.Parsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "parsec1";
+       version = "1.0.0.6";
+       sha256 = "0wwmghla8cqmmpwx9wwcmh39d9np9cgc1d0w3xf18k4adb1sg636";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.uu.nl/~daan/parsec.html";
+       description = "Portable monadic parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec2" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "parsec2";
+       version = "1.0.0";
+       sha256 = "0iq5b5d0pdm49qnigss29vnxj3yjqa5rllp29dxl8df6393k6sk9";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.uu.nl/~daan/parsec.html";
+       description = "Monadic parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec3" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, text }:
+     mkDerivation {
+       pname = "parsec3";
+       version = "1.0.1.8";
+       sha256 = "00p3kffqmsi6lvxbpa60nql3lgm9vnxsspp8m0jz2d2hfl7hadqf";
+       buildDepends = [ base bytestring mtl text ];
+       homepage = "http://www.cs.uu.nl/~daan/parsec.html";
+       description = "Monadic parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsec3-numbers" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "parsec3-numbers";
+       version = "0.1.0";
+       sha256 = "0i7fvbhvvmf5nld51kv9v0vpb42dlnpivxcl7ll0zwa3gzks2cm5";
+       buildDepends = [ base parsec ];
+       description = "Utilities for parsing numbers from Char sequences";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsedate" = callPackage
+    ({ mkDerivation, base, old-locale, old-time, parsec }:
+     mkDerivation {
+       pname = "parsedate";
+       version = "3000.0.0";
+       sha256 = "0gsylvm8srddmh3g3ysjgqqmgp0ddg6pdi2sz15v6nrvsqfabiip";
+       buildDepends = [ base old-locale old-time parsec ];
+       homepage = "http://www.cs.chalmers.se/~bringert/darcs/parsedate/doc/";
+       description = "Data and time parsing for CalendarTime";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parseerror-eq" = callPackage
+    ({ mkDerivation, base, hspec, parsec }:
+     mkDerivation {
+       pname = "parseerror-eq";
+       version = "0.1.0.0";
+       sha256 = "1vyghahkmsvd6nj5armf2i3plnzp7mkcnx4a999c3yzxpic71vic";
+       buildDepends = [ base parsec ];
+       testDepends = [ base hspec parsec ];
+       homepage = "https://github.com/stackbuilders/parseerror-eq";
+       description = "Adds and Eq instance for Parsec's ParseError if needed";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "parsek" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "parsek";
+       version = "1.0.1.2";
+       sha256 = "0ybh76cx5y73ywhlv4g2z74x1mvg5n2rxl045mscs6dwcyw9vhbd";
+       buildDepends = [ base ];
+       description = "Parallel Parsing Processes";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "parsely" = callPackage
+    ({ mkDerivation, base, mtl, parsec }:
+     mkDerivation {
+       pname = "parsely";
+       version = "0.1";
+       sha256 = "16sg32qs1kq184wk6d83z20b9firh1kjmysqwd2aqaiyq37zjyyb";
+       buildDepends = [ base mtl parsec ];
+       homepage = "http://naesten.dyndns.org:8080/repos/parsely";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parser-helper" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, haskell-src-exts, text }:
+     mkDerivation {
+       pname = "parser-helper";
+       version = "0.1.0.0";
+       sha256 = "0cvdvphxlbyv5l9q5yc4b4kb59ghar2pmqx8pk387ffgz71r7ppb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ aeson base bytestring haskell-src-exts text ];
+       jailbreak = true;
+       description = "Prints Haskell parse trees in JSON";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parsergen" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, HUnit
+     , parsec, QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "parsergen";
+       version = "0.2.0.7";
+       sha256 = "01yx4pa5x87nqz8k999jr7bnyfkjlgk660c53xkj5ipcvl4b9mfi";
+       buildDepends = [
+         base bytestring directory filepath parsec template-haskell
+       ];
+       testDepends = [
+         base bytestring directory filepath HUnit parsec QuickCheck
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "TH parser generator for splitting bytestring into fixed-width fields";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsers" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, charset, containers
+     , directory, doctest, filepath, parsec, QuickCheck
+     , quickcheck-instances, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "parsers";
+       version = "0.12.1.1";
+       sha256 = "1yx75xbmg3lms0hj79r5w9fl81g5cbsm842lijhd9jnnbli2mzfw";
+       buildDepends = [
+         attoparsec base charset containers parsec text transformers
+         unordered-containers
+       ];
+       testDepends = [
+         attoparsec base bytestring containers directory doctest filepath
+         parsec QuickCheck quickcheck-instances
+       ];
+       homepage = "http://github.com/ekmett/parsers/";
+       description = "Parsing combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsestar" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, bytestring-mmap
+     , bytestring-nums, bytestring-show, containers, deepseq, derive
+     , happy, mtl, zlib
+     }:
+     mkDerivation {
+       pname = "parsestar";
+       version = "1.5";
+       sha256 = "0prbn7vi2bp66x4fs5cm8lz9qv4d1kpcd20mf24zwpa9siwyf4aq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring bytestring-mmap bytestring-nums
+         bytestring-show containers deepseq derive mtl zlib
+       ];
+       buildTools = [ happy ];
+       description = "NMR-STAR file format parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "parsimony" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "parsimony";
+       version = "1.3";
+       sha256 = "0vbayvk989m85qfxxls74rn0v8ylb5l7lywp30sw2wybvi4r08lg";
+       buildDepends = [ base bytestring text ];
+       description = "Monadic parser combinators derived from Parsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "partial" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "partial";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "0ybh0yz68gawbfswk1s498asc1z7qw6b8qys7rasw5i5iw6vjvr8";
+       editedCabalFile = "f49cbb0cfb2f101a006bb54ada3982ae85b6413d019fd92927ce259b3666e172";
+       buildDepends = [ base ];
+       homepage = "https://github.com/paf31/partial";
+       description = "A nullary type class for partial functions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "partial-handler" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "partial-handler";
+       version = "0.1.0";
+       sha256 = "07dhsm2r89iviz481r9wxw0scq40dgfzw0mi6klky78xn8r9x4ds";
+       buildDepends = [ base ];
+       homepage = "https://github.com/nikita-volkov/partial-handler";
+       description = "A composable exception handler";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "partial-isomorphisms" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "partial-isomorphisms";
+       version = "0.2";
+       sha256 = "0wmlx1dp7i9rp3s5028gvqa7z0g1dkzlyd134kh04s1lx2hb94px";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://www.informatik.uni-marburg.de/~rendel/unparse";
+       description = "Partial isomorphisms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "partial-lens" = callPackage
+    ({ mkDerivation, base, comonad-transformers, data-lens
+     , transformers
+     }:
+     mkDerivation {
+       pname = "partial-lens";
+       version = "0.0.1";
+       sha256 = "0s7p69fl1a3q4x2n9hf4540dcxjxjsj4knf2nal3wl1djh067ja8";
+       buildDepends = [
+         base comonad-transformers data-lens transformers
+       ];
+       jailbreak = true;
+       description = "Haskell 98 Partial Lenses";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "partial-uri" = callPackage
+    ({ mkDerivation, base, network-uri }:
+     mkDerivation {
+       pname = "partial-uri";
+       version = "0.2";
+       sha256 = "0n3rmajbmnydqk6jk36n83a6ra5p1dkdbd592ywjfq4jhmh98333";
+       buildDepends = [ base network-uri ];
+       homepage = "https://github.com/singpolyma/partial-uri";
+       description = "Datatype for passing around unresolved URIs";
+       license = "unknown";
+     }) {};
+
+  "partly" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
+     , binary, bytestring, optparse-applicative, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "partly";
+       version = "1.0.0.2";
+       sha256 = "0s5cr0ysxv74dlziyf2ga29wawwlikqgb2njv8g1f1rb8i5n97gv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base base64-bytestring binary bytestring
+         optparse-applicative vector
+       ];
+       testDepends = [
+         aeson base base64-bytestring binary bytestring QuickCheck vector
+       ];
+       homepage = "https://github.com/startling/partly";
+       description = "Inspect, create, and alter MBRs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "passage" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , GraphSCC, monadLib, mwc-random, pretty, primitive, process
+     , random
+     }:
+     mkDerivation {
+       pname = "passage";
+       version = "0.1";
+       sha256 = "11qrm27a1fn8p8z0q1400nd30sblm8pcn6znz4syg9jkmqhpn8ig";
+       buildDepends = [
+         array base containers directory filepath GraphSCC monadLib
+         mwc-random pretty primitive process random
+       ];
+       description = "Parallel code generation for hierarchical Bayesian modeling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "passwords" = callPackage
+    ({ mkDerivation, base, containers, MonadRandom, random }:
+     mkDerivation {
+       pname = "passwords";
+       version = "0.1.0.5";
+       sha256 = "0m0ks6wpj800fxqry7gz69ki9bfpnix4zfqrc3sca2k88yl53miv";
+       buildDepends = [ base containers MonadRandom random ];
+       description = "Password generation/validation library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pastis" = callPackage
+    ({ mkDerivation, base, HTTP, network }:
+     mkDerivation {
+       pname = "pastis";
+       version = "0.1.2";
+       sha256 = "1425gzss5maqzrphrvvsw60lkapwg3wfjx10c59qkylx63k5ixjl";
+       buildDepends = [ base HTTP network ];
+       description = "Interface to the past.is URL shortening service";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pasty" = callPackage
+    ({ mkDerivation, base, bytestring, mtl }:
+     mkDerivation {
+       pname = "pasty";
+       version = "0.1";
+       sha256 = "12pmqcpqa6gjph40w4ga53ij8b989igaf3r6jwxng67kmddkq22z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring mtl ];
+       homepage = "http://github.com/markusle/pasty/tree/master";
+       description = "A simple command line pasting utility";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "patch-combinators" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "patch-combinators";
+       version = "0.2.2";
+       sha256 = "007bxr6xfqjmbx4b9k3n3qw7jmrn298v8cqxvycfhy5924l9jyi6";
+       buildDepends = [ base ];
+       description = "A library for patching functions and data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "patch-image" = callPackage
+    ({ mkDerivation, accelerate, accelerate-arithmetic, accelerate-cuda
+     , accelerate-fft, accelerate-io, accelerate-utility, base, Cabal
+     , filepath, gnuplot, hmatrix, JuicyPixels, utility-ht, vector
+     }:
+     mkDerivation {
+       pname = "patch-image";
+       version = "0.1.0.1";
+       sha256 = "0ls3dlwgki483l1raaqb247by0kpzvqc54g1gmvr71zfgbfxrjl2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         accelerate accelerate-arithmetic accelerate-cuda accelerate-fft
+         accelerate-io accelerate-utility base Cabal filepath gnuplot
+         hmatrix JuicyPixels utility-ht vector
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/patch-image/";
+       description = "Compose a big image from overlapping parts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "path-pieces" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, QuickCheck, text, time }:
+     mkDerivation {
+       pname = "path-pieces";
+       version = "0.2.0";
+       sha256 = "116zx2ryzywh2rd4q16a5vh04gw92as9vgfvraw3a66xn0m6g5y0";
+       buildDepends = [ base text time ];
+       testDepends = [ base hspec HUnit QuickCheck text ];
+       description = "Components of paths";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pathfindingcore" = callPackage
+    ({ mkDerivation, array, base, HUnit, split, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "pathfindingcore";
+       version = "1.2";
+       sha256 = "0x2bw79ym5rndhy5qd50gqv6fkqvp2zby4af2d5gdvsbm9fhv6c8";
+       buildDepends = [ array base split ];
+       testDepends = [ array base HUnit tasty tasty-hunit ];
+       homepage = "http://github.com/TheBizzle";
+       description = "A toy pathfinding library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pathtype" = callPackage
+    ({ mkDerivation, base, directory, QuickCheck, time }:
+     mkDerivation {
+       pname = "pathtype";
+       version = "0.5.4";
+       sha256 = "1ns5q3nrkl99xp4mrmk8wpvb9qzyvnw5cyjwh5rh76ykm2d5dbg7";
+       buildDepends = [ base directory QuickCheck time ];
+       homepage = "http://code.haskell.org/pathtype";
+       description = "Type-safe replacement for System.FilePath etc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "patience" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "patience";
+       version = "0.1.1";
+       sha256 = "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm";
+       buildDepends = [ base containers ];
+       description = "Patience diff and longest increasing subsequence";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "patronscraper" = callPackage
+    ({ mkDerivation, base, HandsomeSoup, hxt }:
+     mkDerivation {
+       pname = "patronscraper";
+       version = "0.0.0.1";
+       sha256 = "0agmgp3qvd710fcrqyfyvhck6yd311wxmmh5qd8lfgdm6597lhvi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HandsomeSoup hxt ];
+       description = "A webpage scraper for Patreon which dumps a list of patrons to a text file";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pattern-arrows" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "pattern-arrows";
+       version = "0.0.2";
+       sha256 = "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg";
+       buildDepends = [ base mtl ];
+       homepage = "http://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html";
+       description = "Arrows for Pretty Printing";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "patterns" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, mtl, time
+     , utf8-string, zeromq-haskell
+     }:
+     mkDerivation {
+       pname = "patterns";
+       version = "0.1.1";
+       sha256 = "176si32zbrklf7wsspg0qdswd85ah0gl9k25ylx9qi2rr1vp18pv";
+       buildDepends = [
+         base bytestring conduit containers mtl time utf8-string
+         zeromq-haskell
+       ];
+       homepage = "http://github.com/toschoo/mom";
+       description = "Common patterns in message-oriented applications";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "paymill" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "paymill";
+       version = "0.0.0";
+       sha256 = "1gw3mxh766wf5anyn84qcf8nn96fzd1ibcjg55bk9b1yw6dc1va0";
+       buildDepends = [ base ];
+       testDepends = [ base hspec ];
+       description = "This is an unofficial client for the Paymill API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "paypal-adaptive-hoops" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, errors
+     , http-client, HUnit, lens, lens-aeson, test-framework
+     , test-framework-hunit, text, time, transformers
+     , unordered-containers, vector, wreq
+     }:
+     mkDerivation {
+       pname = "paypal-adaptive-hoops";
+       version = "0.10.0.1";
+       sha256 = "0h4dq8p91jbzgr19jwmvmvk9agi3id226qdm46lxpnz3w6hrh5p6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring data-default errors http-client lens
+         lens-aeson text time transformers vector wreq
+       ];
+       testDepends = [
+         aeson base bytestring data-default HUnit test-framework
+         test-framework-hunit text unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fanjam/paypal-adaptive-hoops";
+       description = "Client for a limited part of PayPal's Adaptive Payments API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "paypal-api" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, failure
+     , http-conduit, http-types, mtl, old-locale, text, time, wai
+     }:
+     mkDerivation {
+       pname = "paypal-api";
+       version = "0.2";
+       sha256 = "0im96yxvbb78sb0b83yypcwsa27gnjbjxbfki5rdnpgbf2yr8k9h";
+       buildDepends = [
+         base bytestring conduit containers failure http-conduit http-types
+         mtl old-locale text time wai
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/paypal-api/";
+       description = "PayPal API, currently supporting \"ButtonManager\"";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pb" = callPackage
+    ({ mkDerivation, base, containers, HTTP, network, process }:
+     mkDerivation {
+       pname = "pb";
+       version = "0.1.0";
+       sha256 = "03cb5diy7wvcd0gm09r4172mck0n4v5hxyc622r8k3phzvzq9zdf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers HTTP network process ];
+       description = "pastebin command line application";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pbc4hs" = callPackage
+    ({ mkDerivation, base, hslua, string-qq }:
+     mkDerivation {
+       pname = "pbc4hs";
+       version = "0.1.1.5";
+       sha256 = "16dki82d9x6rpkbax090ax8ynwjxv31cvpzpy51ynq83kjg3v2z9";
+       buildDepends = [ base hslua string-qq ];
+       jailbreak = true;
+       homepage = "https://github.com/DavidFeng/pbc4hs";
+       description = "pbc for HsLua";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pbkdf" = callPackage
+    ({ mkDerivation, base, binary, byteable, bytedump, bytestring
+     , cryptohash, utf8-string
+     }:
+     mkDerivation {
+       pname = "pbkdf";
+       version = "1.1.1.1";
+       sha256 = "1nbn8kan43i00g23g8aljxjpaxm9q1qhzxxdgks0mc4mr1f7bifx";
+       buildDepends = [
+         base binary byteable bytedump bytestring cryptohash utf8-string
+       ];
+       testDepends = [
+         base binary byteable bytedump bytestring cryptohash utf8-string
+       ];
+       homepage = "https://github.com/cdornan/pbkdf";
+       description = "Haskell implementation of the PBKDF functions from RFC-2898";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pcap" = callPackage
+    ({ mkDerivation, base, bytestring, libpcap, network, time }:
+     mkDerivation {
+       pname = "pcap";
+       version = "0.4.5.2";
+       sha256 = "0pydw62qqw61sxfd8x9vvwgpgl3zp6mqv8rm4c825ymzyipjxsg7";
+       buildDepends = [ base bytestring network time ];
+       extraLibraries = [ libpcap ];
+       homepage = "https://github.com/bos/pcap";
+       description = "A system-independent interface for user-level packet capture";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libpcap;};
+
+  "pcap-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, pcap, transformers }:
+     mkDerivation {
+       pname = "pcap-conduit";
+       version = "0.1";
+       sha256 = "07a6cwaq668a948njjybj9clbswmhz88xrwjkb42jg9gm1nh46kz";
+       buildDepends = [ base bytestring conduit pcap transformers ];
+       homepage = "http://github.com/thoughtpolice/pcap-conduit";
+       description = "Conduit <-> libpcap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pcap-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, pcap, transformers
+     }:
+     mkDerivation {
+       pname = "pcap-enumerator";
+       version = "0.5";
+       sha256 = "0v7ar3jbs54ibhrbbzmvajc7pc8h8dv56wr77w4vsbyz6xq4sqdb";
+       buildDepends = [ base bytestring enumerator pcap transformers ];
+       homepage = "http://github.com/cutsea110/pcap-enumerator";
+       description = "Convert a pcap into an enumerator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pcd-loader" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, deepseq
+     , directory, HUnit, lens, linear, mtl, string-qq, test-framework
+     , test-framework-hunit, text, vector
+     }:
+     mkDerivation {
+       pname = "pcd-loader";
+       version = "0.3.0.1";
+       sha256 = "1nwyv5c0x262b4j73560bnxhab07ky0cba8nrzdbmmwl2g72c8m7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base binary bytestring deepseq lens linear mtl text
+         vector
+       ];
+       testDepends = [
+         base directory HUnit lens string-qq test-framework
+         test-framework-hunit text vector
+       ];
+       description = "PCD file loader";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pcf" = callPackage
+    ({ mkDerivation, base, bound, c-dsl, containers, monad-gen, mtl
+     , prelude-extras, transformers, void
+     }:
+     mkDerivation {
+       pname = "pcf";
+       version = "0.1.0.1";
+       sha256 = "1dmp9afylsf4n7gxa23wn25w8h89lqyhjlxa5g7gshrbwxkx7c55";
+       buildDepends = [
+         base bound c-dsl containers monad-gen mtl prelude-extras
+         transformers void
+       ];
+       description = "A one file compiler for PCF";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pcg-random" = callPackage
+    ({ mkDerivation, base, doctest, primitive, random, time }:
+     mkDerivation {
+       pname = "pcg-random";
+       version = "0.1.2.0";
+       sha256 = "1h2ry2p1nnvh3prrl6xz18p3npccrb0p9qzq41lcn10sizfsgpzx";
+       buildDepends = [ base primitive random time ];
+       testDepends = [ base doctest ];
+       homepage = "http://github.com/cchalmers/pcg-random";
+       description = "Haskell bindings to the PCG random number generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pcre-heavy" = callPackage
+    ({ mkDerivation, base, bytestring, doctest, Glob, pcre-light
+     , stringable, template-haskell
+     }:
+     mkDerivation {
+       pname = "pcre-heavy";
+       version = "0.2.2";
+       sha256 = "08cv6vmf5qpjky8zfrz3c5cczn5vrf30p5masyb3m625wm2sjjw3";
+       buildDepends = [
+         base bytestring pcre-light stringable template-haskell
+       ];
+       testDepends = [ base doctest Glob ];
+       homepage = "https://github.com/myfreeweb/pcre-heavy";
+       description = "A regexp library on top of pcre-light you can actually use";
+       license = "unknown";
+     }) {};
+
+  "pcre-less" = callPackage
+    ({ mkDerivation, array, base, regex-pcre }:
+     mkDerivation {
+       pname = "pcre-less";
+       version = "0.2.1";
+       sha256 = "1widnpz4r2az96lwxrq21vm21j9j7b4sn86kqn2iih3xs2dpwqf9";
+       buildDepends = [ array base regex-pcre ];
+       description = "Nicer interface to regex-pcre";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pcre-light" = callPackage
+    ({ mkDerivation, base, bytestring, pcre }:
+     mkDerivation {
+       pname = "pcre-light";
+       version = "0.4.0.3";
+       sha256 = "0l1df2sk5qwf424bvb8mbdkr2xjg43fi92n5r22yd7vm1zz0jqvf";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ pcre ];
+       homepage = "https://github.com/Daniel-Diaz/pcre-light";
+       description = "A small, efficient and portable regex library for Perl 5 compatible regular expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) pcre;};
+
+  "pcre-light-extra" = callPackage
+    ({ mkDerivation, base, bytestring, pcre-light }:
+     mkDerivation {
+       pname = "pcre-light-extra";
+       version = "0.0.0";
+       sha256 = "1kjh36gglszd16rsh0rm2q5fxjlfipzld4hw0l2r23y0flbqkbvx";
+       buildDepends = [ base bytestring pcre-light ];
+       jailbreak = true;
+       homepage = "http://github.com/urso/pcre-light-extra";
+       description = "pcre-light extra functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pcre-utils" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, HUnit, mtl
+     , regex-pcre-builtin, vector
+     }:
+     mkDerivation {
+       pname = "pcre-utils";
+       version = "0.1.5";
+       sha256 = "0b6n3sls6r65kn7i9z607ck99sxw2xxh7frljc09cx73iy71ml69";
+       buildDepends = [
+         array attoparsec base bytestring mtl regex-pcre-builtin vector
+       ];
+       testDepends = [ base bytestring HUnit regex-pcre-builtin ];
+       description = "Perl-like substitute and split for PCRE regexps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdf-toolbox-content" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, bytestring
+     , containers, io-streams, pdf-toolbox-core, text
+     }:
+     mkDerivation {
+       pname = "pdf-toolbox-content";
+       version = "0.0.3.2";
+       sha256 = "09nscaska3jpc0kkz4fgiyini8g6pk9b5p6kw5yp5nx984f8579a";
+       buildDepends = [
+         attoparsec base base16-bytestring bytestring containers io-streams
+         pdf-toolbox-core text
+       ];
+       homepage = "https://github.com/Yuras/pdf-toolbox";
+       description = "A collection of tools for processing PDF files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdf-toolbox-core" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, errors
+     , io-streams, scientific, transformers, zlib-bindings
+     }:
+     mkDerivation {
+       pname = "pdf-toolbox-core";
+       version = "0.0.3.2";
+       sha256 = "0wz9khfymnsyjrcvj2dgav1a1sjira481gx9ks7sz23h5pj69bds";
+       buildDepends = [
+         attoparsec base bytestring containers errors io-streams scientific
+         transformers zlib-bindings
+       ];
+       homepage = "https://github.com/Yuras/pdf-toolbox";
+       description = "A collection of tools for processing PDF files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdf-toolbox-document" = callPackage
+    ({ mkDerivation, base, bytestring, cipher-aes, cipher-rc4
+     , containers, crypto-api, cryptohash, io-streams
+     , pdf-toolbox-content, pdf-toolbox-core, text, transformers
+     }:
+     mkDerivation {
+       pname = "pdf-toolbox-document";
+       version = "0.0.5.0";
+       sha256 = "0ilgbwmv2qvzbji79ybam5f2aghlqhq1jgchq39xxwrs2i40vrxz";
+       buildDepends = [
+         base bytestring cipher-aes cipher-rc4 containers crypto-api
+         cryptohash io-streams pdf-toolbox-content pdf-toolbox-core text
+         transformers
+       ];
+       homepage = "https://github.com/Yuras/pdf-toolbox";
+       description = "A collection of tools for processing PDF files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdf-toolbox-viewer" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, containers, directory
+     , filepath, gtk, io-streams, pdf-toolbox-content
+     , pdf-toolbox-document, process, random, text, transformers
+     }:
+     mkDerivation {
+       pname = "pdf-toolbox-viewer";
+       version = "0.0.3.2";
+       sha256 = "14245lv0jfmvmsldrhnp9n0fk7x2wjzsamwqjphbcxw70h9hw9s8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo containers directory filepath gtk io-streams
+         pdf-toolbox-content pdf-toolbox-document process random text
+         transformers
+       ];
+       homepage = "https://github.com/Yuras/pdf-toolbox";
+       description = "Simple pdf viewer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdf2line" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, filepath
+     , FindBin, process
+     }:
+     mkDerivation {
+       pname = "pdf2line";
+       version = "0.0.1";
+       sha256 = "07a9ddr4j5f4vhv1md32f0d3mwhx5p9lw0bwjikfhhqq49jvrpa5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers filepath FindBin process
+       ];
+       description = "Simple command-line utility to convert PDF into text";
+       license = "GPL";
+     }) {};
+
+  "pdfinfo" = callPackage
+    ({ mkDerivation, base, mtl, old-locale, process-extras, text, time
+     }:
+     mkDerivation {
+       pname = "pdfinfo";
+       version = "1.5.2";
+       sha256 = "1s2hhmcqsg57fppqjvrkp77bms1npblysjvfl37fgn0jafn0mhjq";
+       buildDepends = [ base mtl old-locale process-extras text time ];
+       homepage = "https://github.com/chrisdone/pdfinfo";
+       description = "Wrapper around the pdfinfo command";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdfsplit" = callPackage
+    ({ mkDerivation, base, directory, pdfinfo, process, temporary }:
+     mkDerivation {
+       pname = "pdfsplit";
+       version = "0.0.1";
+       sha256 = "00bnbfy3awl9vd9vvmh6ylfn2d882r3r1am6b6788b78lvznypxa";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory pdfinfo process temporary ];
+       jailbreak = true;
+       homepage = "http://dmwit.com/pdfsplit";
+       description = "split two-column PDFs, so there is one column per page";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pdynload" = callPackage
+    ({ mkDerivation, base, directory, filepath, ghc, ghc-paths
+     , old-time, process
+     }:
+     mkDerivation {
+       pname = "pdynload";
+       version = "0.0.3";
+       sha256 = "0949nzk85fp9vs6v90cd6kxgg52pcaz2mfahv7416qpgp65hpw93";
+       buildDepends = [
+         base directory filepath ghc ghc-paths old-time process
+       ];
+       description = "pdynload is polymorphic dynamic linking library";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "peakachu" = callPackage
+    ({ mkDerivation, base, derive, GLUT, List, template-haskell, time
+     , TypeCompose
+     }:
+     mkDerivation {
+       pname = "peakachu";
+       version = "0.3.0";
+       sha256 = "0awj571rgcn69vl907b26j68azy7kyd3kki014lsfsngql9cp1pq";
+       buildDepends = [
+         base derive GLUT List template-haskell time TypeCompose
+       ];
+       jailbreak = true;
+       description = "Experiemental library for composable interactive programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "peano" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "peano";
+       version = "0.1.0.1";
+       sha256 = "0yzcxrl41dacvx2wkyxjj7hgvz56l4qb59r4h9rmaqd7jcwx5z9i";
+       buildDepends = [ base ];
+       description = "Peano numbers";
+       license = "unknown";
+     }) {};
+
+  "peano-inf" = callPackage
+    ({ mkDerivation, base, containers, lazysmallcheck }:
+     mkDerivation {
+       pname = "peano-inf";
+       version = "0.6.5";
+       sha256 = "1w8rvlckqcy41ciq2csb2nf83l969nwvvrrlm0x1yzf5i6ibg33b";
+       buildDepends = [ base containers lazysmallcheck ];
+       description = "Lazy Peano numbers including observable infinity value";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pec" = callPackage
+    ({ mkDerivation, array, base, Cabal, cmdargs, containers, deepseq
+     , derive, directory, filepath, grm, mtl, old-time, process, shake
+     , syb, uniplate, wl-pprint
+     }:
+     mkDerivation {
+       pname = "pec";
+       version = "0.2.3";
+       sha256 = "110i4y93gm6b76and12vra8nr5q2dz20dvgpbpdgic3sv2ds16k0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal cmdargs containers deepseq derive directory
+         filepath grm mtl old-time process shake syb uniplate wl-pprint
+       ];
+       description = "pec embedded compiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pecoff" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers }:
+     mkDerivation {
+       pname = "pecoff";
+       version = "0.11";
+       sha256 = "0vb22jfl309k4a6b80015cyrs5cxls7vyf8faz7lrm7i0vj0vz1q";
+       buildDepends = [ base binary bytestring containers ];
+       description = "Parser for PE/COFF format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "peg" = callPackage
+    ({ mkDerivation, base, containers, filepath, haskeline, logict, mtl
+     , parsec
+     }:
+     mkDerivation {
+       pname = "peg";
+       version = "0.2";
+       sha256 = "0mh56nkn31dwpyrl238b06gyfwy3p7y90b9y6k639vpqkn9nnzcd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath haskeline logict mtl parsec
+       ];
+       homepage = "http://github.com/HackerFoo/peg";
+       description = "a lazy non-deterministic concatenative programming language";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "peggy" = callPackage
+    ({ mkDerivation, base, hashtables, haskell-src-meta, ListLike
+     , monad-control, mtl, template-haskell
+     }:
+     mkDerivation {
+       pname = "peggy";
+       version = "0.3.2";
+       sha256 = "1km847arc193wq6cdr38xvz1znbdmrgdyji2p9rs4j2p35rr6s6y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base hashtables haskell-src-meta ListLike monad-control mtl
+         template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://tanakh.github.com/Peggy";
+       description = "The Parser Generator for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pem" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, HUnit, mtl
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "pem";
+       version = "0.2.2";
+       sha256 = "162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p";
+       buildDepends = [ base base64-bytestring bytestring mtl ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-pem";
+       description = "Privacy Enhanced Mail (PEM) format reader and writer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "penn-treebank" = callPackage
+    ({ mkDerivation, base, containers, parsec }:
+     mkDerivation {
+       pname = "penn-treebank";
+       version = "0.1.0.1";
+       sha256 = "12c5bzn3ac8783lny56n7rd8a1ik4ayfm1pr5v7gm7z53f7iz0qy";
+       buildDepends = [ base containers parsec ];
+       description = "Tools for manipulating the Penn TreeBank";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "penny" = callPackage
+    ({ mkDerivation, action-permutations, anonymous-sums, base
+     , bytestring, cereal, containers, contravariant, either, matchers
+     , multiarg, ofx, old-locale, parsec, prednote, QuickCheck, rainbow
+     , rainbox, random-shuffle, semigroups, split, tasty
+     , tasty-quickcheck, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "penny";
+       version = "0.32.0.10";
+       sha256 = "0bzxihhi7cs8cqbnz7mf6sj12dyr267265asc010pgyffpjc22qi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         action-permutations anonymous-sums base bytestring cereal
+         containers contravariant either matchers multiarg ofx old-locale
+         parsec prednote rainbow rainbox semigroups split text time
+         transformers
+       ];
+       testDepends = [
+         anonymous-sums base parsec QuickCheck random-shuffle semigroups
+         tasty tasty-quickcheck text time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/penny";
+       description = "Extensible double-entry accounting system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "penny-bin" = callPackage
+    ({ mkDerivation, base, containers, explicit-exception, multiarg
+     , parsec, penny-lib, pretty-show, semigroups, text, transformers
+     }:
+     mkDerivation {
+       pname = "penny-bin";
+       version = "0.22.0.0";
+       sha256 = "0mdl8wpcy2yzscpww6vv5vhgiwy5xi0js1yxd7y4h5dmvhxsrr9l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers explicit-exception multiarg parsec penny-lib
+         pretty-show semigroups text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/penny";
+       description = "Deprecated - use penny package instead";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "penny-lib" = callPackage
+    ({ mkDerivation, action-permutations, base, binary, bytestring
+     , cereal, containers, explicit-exception, matchers, multiarg, ofx
+     , old-locale, parsec, prednote, pretty-show, rainbow, semigroups
+     , split, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "penny-lib";
+       version = "0.22.0.0";
+       sha256 = "0fy671xvia7kjlcrwpsv93gsnyz5wvcajlva98ykbh7cdkf56b17";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         action-permutations base binary bytestring cereal containers
+         explicit-exception matchers multiarg ofx old-locale parsec prednote
+         pretty-show rainbow semigroups split text time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/penny";
+       description = "Deprecated - use penny package instead";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "peparser" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskell98 }:
+     mkDerivation {
+       pname = "peparser";
+       version = "0.21";
+       sha256 = "1qy8hghpvp9idiq4ksn55n1dpx7823s7mjfvqfgrmhj0xl1b1y54";
+       buildDepends = [ base binary bytestring haskell98 ];
+       homepage = "https://github.com/igraves/peparser-haskell";
+       description = "A parser for PE object files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "perceptron" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "perceptron";
+       version = "0.1.0.3";
+       sha256 = "0w1vrsv43z92y6vsv9nzs2pjlqkhrxvzh53r2722530lzff34m78";
+       buildDepends = [ base ];
+       description = "The perceptron learning algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "perdure" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cognimeta-utils
+     , collections-api, comonad-transformers, containers, cryptohash
+     , data-binary-ieee754, data-lens, data-lens-fd, data-lens-template
+     , filepath, ghc-prim, MonadRandom, mtl, primitive, QuickCheck, stm
+     , strict, tagged, template-haskell, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "perdure";
+       version = "0.2.1";
+       sha256 = "04vj8kva5qmrf8r93xyf0qw8nx64j241pdc19s2ddvd21lq5wqkz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring cognimeta-utils collections-api
+         comonad-transformers containers cryptohash data-binary-ieee754
+         data-lens data-lens-fd data-lens-template filepath ghc-prim
+         MonadRandom mtl primitive QuickCheck stm strict tagged
+         template-haskell time transformers unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Cognimeta/perdure";
+       description = "Robust persistence for acyclic immutable data";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "perm" = callPackage
+    ({ mkDerivation, base, catch-fd, HUnit, mtl, test-framework
+     , test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "perm";
+       version = "0.4.0.0";
+       sha256 = "0lf6smw3m32vwrga5y671z355w0vphp3n63cfnsirk1kiz5ik5rx";
+       buildDepends = [ base catch-fd mtl transformers ];
+       testDepends = [
+         base HUnit mtl test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/sonyandy/perm";
+       description = "permutation Applicative and Monad with many mtl instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "permutation" = callPackage
+    ({ mkDerivation, base, ghc-prim, QuickCheck }:
+     mkDerivation {
+       pname = "permutation";
+       version = "0.5.0.5";
+       sha256 = "005737s6k9dfpjmjf41m3k1wc31c2kql08ig7fd6npk22nhwmdai";
+       buildDepends = [ base ghc-prim QuickCheck ];
+       homepage = "https://github.com/spacekitteh/permutation";
+       description = "A library for permutations and combinations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "permute" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "permute";
+       version = "1.0";
+       sha256 = "03g1d9h26f1id0pnaigy9xy1cv5pvzqcjrwgzn75xnnbm5c3y9ch";
+       buildDepends = [ base mtl ];
+       description = "Generalised permutation parser combinator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "persistable-record" = callPackage
+    ({ mkDerivation, array, base, containers, dlist, names-th
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "persistable-record";
+       version = "0.1.0.0";
+       sha256 = "1z03rixy03zp4l4ygb9jlj4p4x5vp20r5qq39hi8vn1x37j39x26";
+       buildDepends = [
+         array base containers dlist names-th template-haskell transformers
+       ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Binding between SQL database values and haskell records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "persistent" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-html, blaze-markup, bytestring, conduit, containers
+     , exceptions, fast-logger, hspec, lifted-base, monad-control
+     , monad-logger, mtl, old-locale, path-pieces, resource-pool
+     , resourcet, scientific, silently, sqlite, tagged, template-haskell
+     , text, time, transformers, transformers-base, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "persistent";
+       version = "2.1.2";
+       sha256 = "17p81s1w7wqs2hm5zcwncvidd808gm4zlha7mqv9wwpf6ql1b359";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring blaze-html blaze-markup
+         bytestring conduit containers exceptions fast-logger 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
+       ];
+       testDepends = [
+         aeson attoparsec base base64-bytestring blaze-html bytestring
+         conduit containers hspec monad-control monad-logger old-locale
+         path-pieces resourcet scientific text time transformers
+         unordered-containers vector
+       ];
+       extraLibraries = [ sqlite ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Type-safe, multi-backend data serialization";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) sqlite;};
+
+  "persistent-cereal" = callPackage
+    ({ mkDerivation, base, cereal, persistent, text }:
+     mkDerivation {
+       pname = "persistent-cereal";
+       version = "0.1.0";
+       sha256 = "09akf8vpkn2jskf1vf9mq96sakqzr7mfs8hhri8qlbkwx3i5nr6f";
+       buildDepends = [ base cereal persistent text ];
+       jailbreak = true;
+       homepage = "http://hub.darcs.net/co-dan/persistent-cereal";
+       description = "Helper functions for writing Persistent instances";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "persistent-equivalence" = callPackage
+    ({ mkDerivation, array, base, diffarray }:
+     mkDerivation {
+       pname = "persistent-equivalence";
+       version = "0.3";
+       sha256 = "14nn01bbwskllbccgcnwnjwzyws6vppqv4l51n6pcvhwbphn18qz";
+       buildDepends = [ array base diffarray ];
+       jailbreak = true;
+       description = "Persistent equivalence relations (aka union-find)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "persistent-hssqlppp" = callPackage
+    ({ mkDerivation, base, bytestring, hssqlppp, monad-control, mtl
+     , persistent, persistent-template, template-haskell, text, th-lift
+     }:
+     mkDerivation {
+       pname = "persistent-hssqlppp";
+       version = "0.1";
+       sha256 = "1p4fpa5qlkn2jmggszzmzg0bva8r8j0x7b2bidqyzlw2i9332ba2";
+       buildDepends = [
+         base bytestring hssqlppp monad-control mtl persistent
+         persistent-template template-haskell text th-lift
+       ];
+       description = "Declare Persistent entities using SQL SELECT query syntax";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "persistent-map" = callPackage
+    ({ mkDerivation, base, binary, containers, directory, EdisonAPI
+     , EdisonCore, filepath, LRU, mtl, stm-io-hooks
+     }:
+     mkDerivation {
+       pname = "persistent-map";
+       version = "0.3.5";
+       sha256 = "0an0j6xkxygxlvjj50fq356sc4njbniz9jzv6v2h9pihsmcckhvq";
+       buildDepends = [
+         base binary containers directory EdisonAPI EdisonCore filepath LRU
+         mtl stm-io-hooks
+       ];
+       jailbreak = true;
+       homepage = "http://darcs.monoid.at/persistent-map";
+       description = "A thread-safe (STM) persistency interface for finite map types";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "persistent-mongoDB" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bson, bytestring, cereal
+     , conduit, containers, monad-control, mongoDB, network, path-pieces
+     , persistent, resource-pool, resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "persistent-mongoDB";
+       version = "2.1.2.1";
+       sha256 = "130jd85h1fl5klfr369kg11w29aavl81d22w1is5dg38s0pzn76a";
+       buildDepends = [
+         aeson attoparsec base bson bytestring cereal conduit containers
+         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-mysql" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , containers, monad-control, monad-logger, mysql, mysql-simple
+     , persistent, resourcet, text, transformers
+     }:
+     mkDerivation {
+       pname = "persistent-mysql";
+       version = "2.1.3";
+       sha256 = "1k1sjzxz96z6pgk4012v8p4w6scgm4g2j5fs4sjgsj9azp3b7gwh";
+       buildDepends = [
+         aeson base blaze-builder bytestring conduit containers
+         monad-control monad-logger mysql mysql-simple persistent 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-odbc" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , convertible, HDBC, HDBC-odbc, monad-control, monad-logger
+     , persistent, persistent-template, resourcet, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "persistent-odbc";
+       version = "0.2.0.1";
+       sha256 = "0rvcjl9p7pj0hrf0ghhj96ib2knhxnfi9nhc7cppn7gnja1x8ldp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring conduit containers convertible HDBC HDBC-odbc
+         monad-control monad-logger persistent persistent-template resourcet
+         text time transformers
+       ];
+       homepage = "https://github.com/gbwey/persistent-odbc";
+       description = "Backend for the persistent library using ODBC";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "persistent-postgresql" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , containers, monad-control, monad-logger, persistent
+     , postgresql-libpq, postgresql-simple, resourcet, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "persistent-postgresql";
+       version = "2.1.3";
+       sha256 = "0hgvpfgbwb1q0zkl5g9hxdz1wh4xbl0hx26j5944qcll5f6298is";
+       buildDepends = [
+         aeson base blaze-builder bytestring conduit containers
+         monad-control monad-logger persistent postgresql-libpq
+         postgresql-simple resourcet text time transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using postgresql";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "persistent-protobuf" = callPackage
+    ({ mkDerivation, base, bytestring, persistent, protocol-buffers
+     , protocol-buffers-descriptor, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "persistent-protobuf";
+       version = "0.1.5";
+       sha256 = "046dpasgv6bwcm17w0z9dz4bvaa622cdb8paj7j6accmsc4rvs9z";
+       buildDepends = [
+         base bytestring persistent protocol-buffers
+         protocol-buffers-descriptor template-haskell text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mstone/persistent-protobuf";
+       description = "Template-Haskell helpers for integrating protobufs with persistent";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "persistent-ratelimit" = callPackage
+    ({ mkDerivation, base, time, yesod }:
+     mkDerivation {
+       pname = "persistent-ratelimit";
+       version = "0.1.0.0";
+       sha256 = "00kvmqisi6y8r8vpfa61kzxr0iyy6varj8920kjwsd2jk2i7q8wl";
+       buildDepends = [ base time yesod ];
+       homepage = "https://github.com/jprider63/persistent-ratelimit";
+       description = "A library for rate limiting activities with a persistent backend";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "persistent-redis" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring, hedis
+     , monad-control, mtl, path-pieces, persistent, persistent-template
+     , scientific, template-haskell, text, time, transformers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "persistent-redis";
+       version = "0.3.2";
+       sha256 = "0p5wjf4f201mpdwry188v1h9wf3fh1pvfsm663x4ipy3b1yc8b1k";
+       buildDepends = [
+         aeson attoparsec base binary bytestring hedis monad-control mtl
+         path-pieces persistent scientific text time transformers
+         utf8-string
+       ];
+       testDepends = [
+         aeson attoparsec base binary bytestring hedis monad-control mtl
+         path-pieces persistent persistent-template scientific
+         template-haskell text time transformers utf8-string
+       ];
+       jailbreak = true;
+       description = "Backend for persistent library using Redis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "persistent-refs" = callPackage
+    ({ mkDerivation, base, containers, mtl, ref-fd, transformers }:
+     mkDerivation {
+       pname = "persistent-refs";
+       version = "0.3";
+       sha256 = "0575lg2fd5qnfb0p7y1gg2aqdg39435nkab8291x642cdz1jbg6s";
+       buildDepends = [ base containers mtl ref-fd transformers ];
+       homepage = "https://github.com/acfoltzer/persistent-refs";
+       description = "Haskell references backed by an IntMap for persistence and reversibility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "persistent-sqlite" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , hspec, monad-control, monad-logger, old-locale, persistent
+     , persistent-template, resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "persistent-sqlite";
+       version = "2.1.4.1";
+       sha256 = "0lwm1j7zz1zsfw70p7qwcsjlz0kmiliz2fdb2jgksxglw212nh2h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring conduit containers monad-control monad-logger
+         old-locale persistent resourcet text time transformers
+       ];
+       testDepends = [
+         base hspec persistent persistent-template time transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using sqlite3";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "persistent-template" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, ghc-prim
+     , hspec, monad-control, monad-logger, path-pieces, persistent
+     , QuickCheck, tagged, template-haskell, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "persistent-template";
+       version = "2.1.1";
+       sha256 = "1bvmxpx8dqqsq87v079sw8wy795iykkz0fknrlpxhywja2j40dxc";
+       buildDepends = [
+         aeson base bytestring containers ghc-prim monad-control
+         monad-logger path-pieces persistent tagged template-haskell text
+         transformers unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring hspec persistent QuickCheck text transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Type-safe, non-relational, multi-backend persistence";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "persistent-vector" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "persistent-vector";
+       version = "0.1.0.1";
+       sha256 = "0a2ck5q9cz8q1hplqrqcanrvlgl001vfb8cyl7rcag2bgxlj29r4";
+       buildDepends = [ base deepseq ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/travitch/persistent-vector";
+       description = "A persistent sequence based on array mapped tries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "persistent-zookeeper" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
+     , bytestring, conduit, containers, hspec, hzk, monad-control, mtl
+     , path-pieces, persistent, persistent-template, resource-pool
+     , resourcet, scientific, template-haskell, text, time, transformers
+     , transformers-base, utf8-string
+     }:
+     mkDerivation {
+       pname = "persistent-zookeeper";
+       version = "0.2.0";
+       sha256 = "11s99wrxhyzyfg657dqma1v1vvdadskvrjybrya2zm8lp675ri9z";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring binary bytestring conduit
+         containers hzk monad-control mtl path-pieces persistent
+         persistent-template resource-pool resourcet scientific
+         template-haskell text time transformers transformers-base
+         utf8-string
+       ];
+       testDepends = [
+         aeson attoparsec base base64-bytestring binary bytestring conduit
+         containers hspec hzk monad-control mtl path-pieces persistent
+         persistent-template resource-pool resourcet scientific
+         template-haskell text time transformers transformers-base
+         utf8-string
+       ];
+       description = "Backend for persistent library using Zookeeper";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "persona" = callPackage
+    ({ mkDerivation, aeson, base, data-default-class, jose, lens
+     , network-uri, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "persona";
+       version = "0.1.0.0";
+       sha256 = "1w1m1m3kybk8cg8qn44l04i19i0zqgaz1i1k6666gvvrzk2rh7nh";
+       buildDepends = [
+         aeson base data-default-class jose lens network-uri text time
+         unordered-containers
+       ];
+       homepage = "https://github.com/frasertweedale/hs-persona";
+       description = "Persona (BrowserID) library";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "persona-idp" = callPackage
+    ({ mkDerivation, aeson, asn1-types, base, blaze-markup, bytestring
+     , crypto-random, directory, filepath, hamlet, http-types, jose
+     , lens, optparse-applicative, pem, persona, scotty, shakespeare
+     , text, time, transformers, unix, wai, x509
+     }:
+     mkDerivation {
+       pname = "persona-idp";
+       version = "0.1.0.2";
+       sha256 = "082ly9m0m0g9brgzma489i4b4pkqqy50gv0a6hn7pvyhpr901b6n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson asn1-types base blaze-markup bytestring crypto-random
+         directory filepath hamlet http-types jose lens optparse-applicative
+         pem persona scotty shakespeare text time transformers unix wai x509
+       ];
+       homepage = "https://github.com/frasertweedale/hs-persona-idp";
+       description = "Persona (BrowserID) Identity Provider";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "pesca" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "pesca";
+       version = "4.0.1";
+       sha256 = "12cwmjszbbqrd1f21jvwvp026ja3377c3p0wfrbrl34g23gnysgp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process ];
+       homepage = "http://www.cs.chalmers.se/~aarne/pesca/";
+       description = "Proof Editor for Sequent Calculus";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "peyotls" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, bytable
+     , bytestring, cipher-aes, crypto-numbers, crypto-pubkey
+     , crypto-pubkey-types, crypto-random, cryptohash, handle-like
+     , monad-control, monads-tf, network, pem, random, stm
+     , transformers-base, word24, x509, x509-store, x509-validation
+     }:
+     mkDerivation {
+       pname = "peyotls";
+       version = "0.1.6.5";
+       sha256 = "0dy641izw76cn1rslf7mbmbwhl5ajxjll95w4rg7pyvq2lq2qk9f";
+       buildDepends = [
+         asn1-encoding asn1-types base bytable bytestring cipher-aes
+         crypto-numbers crypto-pubkey crypto-pubkey-types crypto-random
+         cryptohash handle-like monad-control monads-tf pem stm
+         transformers-base word24 x509 x509-store x509-validation
+       ];
+       testDepends = [
+         base bytestring crypto-random handle-like network random stm x509
+         x509-store
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/YoshikuniJujo/peyotls/wiki";
+       description = "Pretty Easy YOshikuni-made TLS library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pez" = callPackage
+    ({ mkDerivation, base, failure, fclabels, QuickCheck
+     , test-framework, test-framework-quickcheck2, thrist
+     }:
+     mkDerivation {
+       pname = "pez";
+       version = "0.1.0";
+       sha256 = "0w2m8i1h87v9l5lhz8mdllnrx62fk3isqhw3cvnv9rf6rk3zhv74";
+       buildDepends = [ base failure fclabels thrist ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://brandon.si/code/pez-zipper-library-released/";
+       description = "A Pretty Extraordinary Zipper library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pg-harness" = callPackage
+    ({ mkDerivation, async, base, ini, postgresql-simple, random
+     , scotty, text, transformers
+     }:
+     mkDerivation {
+       pname = "pg-harness";
+       version = "0.1.0";
+       sha256 = "0ds161h0pcazq1lnbf5m89vm36mwjnhxakglyb2ixg39sd5a03g1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         async base ini postgresql-simple random scotty text transformers
+       ];
+       jailbreak = true;
+       description = "REST service for creating temporary PostgreSQL databases";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "pgdl" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, configurator
+     , directory, filepath, HTTP, network-uri, process, tagsoup, text
+     , vty, vty-ui
+     }:
+     mkDerivation {
+       pname = "pgdl";
+       version = "8.0";
+       sha256 = "1pll0zr16f1h53vcsbbd69x8kkim165mvlgmlgdpf4p9gll01pra";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring Cabal configurator directory filepath HTTP
+         network-uri process tagsoup text vty vty-ui
+       ];
+       description = "pgdownloader";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "pgm" = callPackage
+    ({ mkDerivation, array, base, bytestring, parsec }:
+     mkDerivation {
+       pname = "pgm";
+       version = "0.1.4";
+       sha256 = "1s3kch1qsxrfzk9sa4b0jn9vzjhw7dvh1sajgnnz97gl5y0gydmv";
+       buildDepends = [ array base bytestring parsec ];
+       homepage = "https://github.com/astanin/haskell-pgm";
+       description = "Pure Haskell implementation of PGM image format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pgsql-simple" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, binary
+     , blaze-builder, blaze-textual, bytestring, containers
+     , MonadCatchIO-transformers, mtl, network, old-locale, pcre-light
+     , text, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "pgsql-simple";
+       version = "0.1.2";
+       sha256 = "1z39g6bp748ya54in48vcg8z20c3skza82cv203rqy192nj01km5";
+       buildDepends = [
+         attoparsec base base16-bytestring binary blaze-builder
+         blaze-textual bytestring containers MonadCatchIO-transformers mtl
+         network old-locale pcre-light text time utf8-string
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/chrisdone/pgsql-simple";
+       description = "A mid-level PostgreSQL client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "phantom-state" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "phantom-state";
+       version = "0.2.0.2";
+       sha256 = "04fg0j79nkajsiw8n2yy62mwiw1r4fjy2jln5ng07h64pwyncdnm";
+       buildDepends = [ base transformers ];
+       description = "Phantom State Transformer. Like State Monad, but without values.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "phasechange" = callPackage
+    ({ mkDerivation, array, base, ghc-prim, monad-st, primitive, vector
+     }:
+     mkDerivation {
+       pname = "phasechange";
+       version = "0.1";
+       sha256 = "0i54myn9abrpzrs58llqgii9fhd9ns9hipnaj00dnqx2mfbg7pan";
+       buildDepends = [ array base ghc-prim monad-st primitive vector ];
+       jailbreak = true;
+       homepage = "http://github.com/glehel/phasechange";
+       description = "Freezing, thawing, and copy elision";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "phash" = callPackage
+    ({ mkDerivation, base, doctest, HUnit, pHash, smallcheck, tasty
+     , tasty-hunit, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "phash";
+       version = "0.0.3";
+       sha256 = "0w3c7i4n4f12nkg0bqvm568s2y1fdgaicxqr3ky80lygbz1h20hw";
+       buildDepends = [ base ];
+       testDepends = [
+         base doctest HUnit pHash smallcheck tasty tasty-hunit
+         tasty-smallcheck
+       ];
+       extraLibraries = [ pHash ];
+       homepage = "http://github.com/michaelxavier/phash";
+       description = "Haskell bindings to pHash, the open source perceptual hash library";
+       license = stdenv.lib.licenses.gpl3;
+       broken = true;
+     }) { pHash = null;};
+
+  "phone-push" = callPackage
+    ({ mkDerivation, base, base16-bytestring, binary, bytestring
+     , conduit, convertible, HsOpenSSL, http-conduit, network, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "phone-push";
+       version = "0.1.3";
+       sha256 = "0ndaddj3ssrdclzigdj0q04pwpdkbmhfc3rz8j7q9f4l7iv6yshi";
+       buildDepends = [
+         base base16-bytestring binary bytestring conduit convertible
+         HsOpenSSL http-conduit network time transformers
+       ];
+       homepage = "https://github.com/gurgeh/haskell-phone-push";
+       description = "Push notifications for Android and iOS";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "phonetic-code" = callPackage
+    ({ mkDerivation, array, base, containers, regex-compat }:
+     mkDerivation {
+       pname = "phonetic-code";
+       version = "0.1.1.1";
+       sha256 = "0pjvjqxp37n901s16ys5qq5rzblamz8izvsd1992w06bcyrs36cw";
+       buildDepends = [ array base containers regex-compat ];
+       homepage = "http://wiki.cs.pdx.edu/bartforge/phonetic-code";
+       description = "Phonetic codes: Soundex and Phonix";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "phooey" = callPackage
+    ({ mkDerivation, array, base, mtl, reactive, TypeCompose, wx
+     , wxcore
+     }:
+     mkDerivation {
+       pname = "phooey";
+       version = "2.0.0.1";
+       sha256 = "0aa0s7qmy78s4q1mjcnw0qiqlbmdmkmk2nbn6hkmw5fn29iq0iwj";
+       buildDepends = [ array base mtl reactive TypeCompose wx wxcore ];
+       jailbreak = true;
+       homepage = "http://haskell.org/haskellwiki/Phooey";
+       description = "Functional user interfaces";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "photoname" = callPackage
+    ({ mkDerivation, base, directory, exif, filepath, HUnit, mtl
+     , old-locale, parsec, process, regex-posix, time, unix
+     }:
+     mkDerivation {
+       pname = "photoname";
+       version = "3.0.1";
+       sha256 = "171vxmjzzwjzb4ixqnkwkg5d1zhswv5377hx79zj8sw68gm1h6b9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory exif filepath mtl old-locale parsec time unix
+       ];
+       testDepends = [
+         base directory exif filepath HUnit mtl old-locale parsec process
+         regex-posix time unix
+       ];
+       homepage = "http://ui3.info/d/proj/photoname.html";
+       description = "Rename JPEG photo files based on shoot date";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "phraskell" = callPackage
+    ({ mkDerivation, base, mtl, SDL, transformers }:
+     mkDerivation {
+       pname = "phraskell";
+       version = "0.1.4";
+       sha256 = "1bczvnmbgc7qcpmlhrnmql4yn2grry2ys7hcg06sqzwr5qhl1k9k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl SDL transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/skypers/phraskell";
+       description = "A fractal viewer";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "phybin" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , fgl, filepath, graphviz, hierarchical-clustering, HUnit, parsec
+     , prettyclass, process, split, test-framework, test-framework-hunit
+     , test-framework-th, text, time, vector
+     }:
+     mkDerivation {
+       pname = "phybin";
+       version = "0.3";
+       sha256 = "1v6zcyfjnkgwc9kffi7lf15qb3j4wq2kclx26i1k9ssf6h7cs5g9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring containers directory fgl filepath graphviz
+         hierarchical-clustering HUnit parsec prettyclass process split text
+         time vector
+       ];
+       testDepends = [
+         async base bytestring containers directory fgl filepath graphviz
+         hierarchical-clustering HUnit parsec prettyclass process split
+         test-framework test-framework-hunit test-framework-th text time
+         vector
+       ];
+       jailbreak = true;
+       homepage = "http://www.cs.indiana.edu/~rrnewton/projects/phybin/";
+       description = "Utility for clustering phylogenetic trees in Newick format based on Robinson-Foulds distance";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pi-calculus" = callPackage
+    ({ mkDerivation, AES, base, binary, byteable, bytestring
+     , containers, cryptohash, HTTP, io-streams, mtl, network, parsec
+     , RSA, transformers
+     }:
+     mkDerivation {
+       pname = "pi-calculus";
+       version = "0.0.5";
+       sha256 = "1w5krkss2qzzcqqmgqs369p5xnqyrm76vvsxd7mlhcdqaaj06n2q";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         AES base binary byteable bytestring containers cryptohash HTTP
+         io-streams mtl network parsec RSA transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/renzyq19/pi-calculus";
+       description = "Applied pi-calculus interpreter";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pianola" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-iteratee, base, bytestring
+     , comonad, comonad-transformers, containers, either, errors
+     , filepath, free, iteratee, logict, msgpack, mtl, network, pipes
+     , streams, text, transformers
+     }:
+     mkDerivation {
+       pname = "pianola";
+       version = "0.1.1";
+       sha256 = "02y630yskx139l5yii45rf47w2a2v3x0pad59ac9qzjalv7s68aq";
+       buildDepends = [
+         attoparsec attoparsec-iteratee base bytestring comonad
+         comonad-transformers containers either errors filepath free
+         iteratee logict msgpack mtl network pipes streams text transformers
+       ];
+       testDepends = [
+         base containers errors filepath network streams text transformers
+       ];
+       description = "Remotely controlling Java Swing applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "picologic" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, picosat, pretty }:
+     mkDerivation {
+       pname = "picologic";
+       version = "0.1.1";
+       sha256 = "14wil9fqx7n7zk7ldhk336g9mbybcf0gljvwjrnra3r01yiz7f20";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers mtl parsec picosat pretty ];
+       homepage = "https://github.com/sdiehl/picologic";
+       description = "Utilities for symbolic predicate logic expressions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "picoparsec" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , monoid-subclasses, QuickCheck, quickcheck-instances
+     , quickcheck-unicode, scientific, tasty, tasty-quickcheck, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "picoparsec";
+       version = "0.1.2.1";
+       sha256 = "1nlklprhnr0cgmzfp9vnyv9knn3qz5dlhpxr036fygaad67950ci";
+       buildDepends = [
+         array base bytestring containers deepseq monoid-subclasses
+         scientific text
+       ];
+       testDepends = [
+         array base bytestring deepseq monoid-subclasses QuickCheck
+         quickcheck-instances quickcheck-unicode scientific tasty
+         tasty-quickcheck text vector
+       ];
+       homepage = "https://bitbucket.org/blamario/picoparsec";
+       description = "Fast combinator parsing for bytestrings and text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "picosat" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "picosat";
+       version = "0.1.2";
+       sha256 = "0x43fbhlinqflrvv548bxjrslnnsprklqig6iv9l8q9xv83scrvg";
+       buildDepends = [ base ];
+       homepage = "https://github.com/sdiehl/haskell-picosat";
+       description = "Bindings to the PicoSAT solver";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "piet" = callPackage
+    ({ mkDerivation, array, base, containers, Imlib, mtl }:
+     mkDerivation {
+       pname = "piet";
+       version = "0.1";
+       sha256 = "0ab0msb12cj38qimxllwk0p0g9aggfxhgvdp2b5znxpixlr39cz9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers Imlib mtl ];
+       description = "A Piet interpreter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "piki" = callPackage
+    ({ mkDerivation, base, mtl, parsec, text }:
+     mkDerivation {
+       pname = "piki";
+       version = "0.5.2";
+       sha256 = "0rsc2anh20hlr2dfyh07dyrrfns0l1pibz6w129fp5l8m6h3xjin";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec text ];
+       homepage = "http://www.mew.org/~kazu/proj/piki/";
+       description = "Yet another text-to-html converter";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pinboard" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, either
+     , haskell-src-exts, HsOpenSSL, http-streams, http-types, io-streams
+     , mtl, network, old-locale, random, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "pinboard";
+       version = "0.6.5";
+       sha256 = "0xnxdnr2ifn0z78jzibg64znki2jppfy13fsl7s8vwrw0i5ys7a8";
+       buildDepends = [
+         aeson base bytestring containers either haskell-src-exts HsOpenSSL
+         http-streams http-types io-streams mtl network old-locale random
+         text time transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/jonschoning/pinboard";
+       description = "Access to the Pinboard API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pipes" = callPackage
+    ({ mkDerivation, base, mmorph, mtl, QuickCheck, test-framework
+     , test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "pipes";
+       version = "4.1.5";
+       sha256 = "1c19am4dr6na9xpx4h7yngvbml0ghc1dbym8988hjhw84gq4lhfx";
+       buildDepends = [ base mmorph mtl transformers ];
+       testDepends = [
+         base mtl QuickCheck test-framework test-framework-quickcheck2
+         transformers
+       ];
+       description = "Compositional pipelines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-aeson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, pipes
+     , pipes-attoparsec, pipes-bytestring, pipes-parse, transformers
+     }:
+     mkDerivation {
+       pname = "pipes-aeson";
+       version = "0.4.1.2";
+       sha256 = "0wacib0wf40bkm6rp2qcsrahc43g89l3icclbrshk8r54dhbazl7";
+       buildDepends = [
+         aeson attoparsec base bytestring pipes pipes-attoparsec
+         pipes-bytestring pipes-parse transformers
+       ];
+       homepage = "https://github.com/k0001/pipes-aeson";
+       description = "Encode and decode JSON streams using Aeson and Pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, HUnit, mmorph, pipes
+     , pipes-parse, tasty, tasty-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "pipes-attoparsec";
+       version = "0.5.1.1";
+       sha256 = "1ns8s3p6jh4iya71z3j81cqnrfnr4n92kblwgkjlapb23dykl2qz";
+       buildDepends = [
+         attoparsec base bytestring pipes pipes-parse text transformers
+       ];
+       testDepends = [
+         attoparsec base HUnit mmorph pipes pipes-parse tasty tasty-hunit
+         text transformers
+       ];
+       homepage = "https://github.com/k0001/pipes-attoparsec";
+       description = "Attoparsec and Pipes integration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-attoparsec-streaming" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, pipes-core
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-attoparsec-streaming";
+       version = "0.1.0.0";
+       sha256 = "0alr94jjh583cdi19zrlacrc71dspy12lhq8h24hqiar6l2lr1d7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring pipes-core transformers
+       ];
+       jailbreak = true;
+       description = "Streaming parsing in the pipes-core framework with Attoparsec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-binary" = callPackage
+    ({ mkDerivation, base, binary, bytestring, ghc-prim
+     , lens-family-core, pipes, pipes-bytestring, pipes-parse
+     , smallcheck, tasty, tasty-hunit, tasty-smallcheck, transformers
+     }:
+     mkDerivation {
+       pname = "pipes-binary";
+       version = "0.4.0.4";
+       sha256 = "1c90vvdzbrp5x73iwpdcsi701v4krmqqxj0l9kyzfygvd242i56i";
+       buildDepends = [
+         base binary bytestring ghc-prim pipes pipes-bytestring pipes-parse
+         transformers
+       ];
+       testDepends = [
+         base binary bytestring ghc-prim lens-family-core pipes pipes-parse
+         smallcheck tasty tasty-hunit tasty-smallcheck transformers
+       ];
+       homepage = "https://github.com/k0001/pipes-binary";
+       description = "Encode and decode binary streams using the pipes and binary libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, pipes, pipes-group, pipes-parse
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-bytestring";
+       version = "2.1.1";
+       sha256 = "1zn8vbsq214x1dswaz1sb7vjjvwxjy5sg8cv67cdmac0l1rw5dmz";
+       buildDepends = [
+         base bytestring pipes pipes-group pipes-parse transformers
+       ];
+       description = "ByteString support for pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-cereal-plus" = callPackage
+    ({ mkDerivation, base, bytestring, cereal-plus, errors, mtl, pipes
+     , pipes-bytestring, text
+     }:
+     mkDerivation {
+       pname = "pipes-cereal-plus";
+       version = "0.4.0";
+       sha256 = "1x1qfl8s0lhvcz2hqh5dl5ilyixar995bqqzas721ni2skflbhqr";
+       buildDepends = [
+         base bytestring cereal-plus errors mtl pipes pipes-bytestring text
+       ];
+       homepage = "https://github.com/nikita-volkov/pipes-cereal-plus";
+       description = "A streaming serialization library on top of \"pipes\" and \"cereal-plus\"";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pipes-cliff" = callPackage
+    ({ mkDerivation, async, base, bytestring, pipes, pipes-safe
+     , process, stm
+     }:
+     mkDerivation {
+       pname = "pipes-cliff";
+       version = "0.10.0.0";
+       sha256 = "1xzjw7bd96q7fg7q43rvcxv29p6ziknp6z08qzrnx5i4w9gjnk8s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring pipes pipes-safe process stm
+       ];
+       homepage = "http://www.github.com/massysett/pipes-cliff";
+       description = "Streaming to and from subprocesses using Pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-concurrency" = callPackage
+    ({ mkDerivation, async, base, pipes, stm }:
+     mkDerivation {
+       pname = "pipes-concurrency";
+       version = "2.0.3";
+       sha256 = "0jsfnlzl6yvhikgn6v361ld9aypv2h2nsz1q24dxfk953zvm2sp5";
+       buildDepends = [ base pipes stm ];
+       testDepends = [ async base pipes stm ];
+       description = "Concurrency for the pipes ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-conduit" = callPackage
+    ({ mkDerivation, base, conduit, mtl, pipes-core }:
+     mkDerivation {
+       pname = "pipes-conduit";
+       version = "0.0.1";
+       sha256 = "1nzylhmi3f2m0xnqgx0m9g0p5pwl6xnidsz8ykzmv8wafrh60dh8";
+       buildDepends = [ base conduit mtl pipes-core ];
+       jailbreak = true;
+       homepage = "https://github.com/pcapriotti/pipes-extra";
+       description = "Conduit adapters";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pipes-core" = callPackage
+    ({ mkDerivation, base, categories, lifted-base, monad-control
+     , transformers, void
+     }:
+     mkDerivation {
+       pname = "pipes-core";
+       version = "0.1.0";
+       sha256 = "1abzy45bjiy8lijg4a5xkwdh1k37c6m921y2s31x0yqgq79qlgyp";
+       buildDepends = [
+         base categories lifted-base monad-control transformers void
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pcapriotti/pipes-core";
+       description = "Compositional pipelines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-courier" = callPackage
+    ({ mkDerivation, base, courier, pipes }:
+     mkDerivation {
+       pname = "pipes-courier";
+       version = "0.1.0.0";
+       sha256 = "1v2bm2cmzb6a7bmpv8byrb5x4k5pivp3s8ma6r6dwhldic294jgf";
+       buildDepends = [ base courier pipes ];
+       homepage = "http://github.com/kvanberendonck/pipes-courier";
+       description = "Pipes utilities for interfacing with the courier message-passing framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-csv" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, cassava, HUnit
+     , pipes, pipes-bytestring, test-framework, test-framework-hunit
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "pipes-csv";
+       version = "1.4.0";
+       sha256 = "1q1gnfnkvlkk8lwllhyar7323k3jynh9rl6x9yks7lc3nqr1n16j";
+       buildDepends = [
+         base blaze-builder bytestring cassava pipes unordered-containers
+         vector
+       ];
+       testDepends = [
+         base bytestring cassava HUnit pipes pipes-bytestring test-framework
+         test-framework-hunit vector
+       ];
+       description = "Fast, streaming csv parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pipes-errors" = callPackage
+    ({ mkDerivation, base, errors, pipes }:
+     mkDerivation {
+       pname = "pipes-errors";
+       version = "0.2";
+       sha256 = "1lnb8pgp4a8rcsnz2kc34zzpbf781vw7cvphs7birsnb2r2w6waw";
+       buildDepends = [ base errors pipes ];
+       homepage = "https://github.com/jdnavarro/pipes-errors";
+       description = "Integration between pipes and errors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-extra" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, mtl, pipes-core
+     , test-framework, test-framework-hunit, test-framework-th-prime
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-extra";
+       version = "0.2.0";
+       sha256 = "0yrbjs9y9s9a1q59138f7m0fsp8vsg0a31sfzgwfrg9pm2sfivfr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring pipes-core transformers ];
+       testDepends = [
+         base bytestring HUnit mtl pipes-core test-framework
+         test-framework-hunit test-framework-th-prime
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pcapriotti/pipes-extra";
+       description = "Various basic utilities for Pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-extras" = callPackage
+    ({ mkDerivation, base, foldl, HUnit, pipes, test-framework
+     , test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "pipes-extras";
+       version = "1.0.0";
+       sha256 = "1dwqvbmngiprdffi9l0vhrlchfrr8cl0dvzlb34pmczkm9rvq8xk";
+       buildDepends = [ base foldl pipes transformers ];
+       testDepends = [
+         base HUnit pipes test-framework test-framework-hunit transformers
+       ];
+       description = "Extra utilities for pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-group" = callPackage
+    ({ mkDerivation, base, free, pipes, pipes-parse, transformers }:
+     mkDerivation {
+       pname = "pipes-group";
+       version = "1.0.2";
+       sha256 = "01k1j0b7rg39lfh2zhxxnj1bclmaas69b9wiai89h5i1m6aanmp0";
+       buildDepends = [ base free pipes pipes-parse transformers ];
+       description = "Group streams into substreams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-http" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-client-tls
+     , pipes
+     }:
+     mkDerivation {
+       pname = "pipes-http";
+       version = "1.0.2";
+       sha256 = "0hqab1pzcj11qwvc4dznis0qsyn1zc1d0riqxy6b5k04p9i2jbzk";
+       buildDepends = [
+         base bytestring http-client http-client-tls pipes
+       ];
+       description = "HTTP client with pipes interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-interleave" = callPackage
+    ({ mkDerivation, base, containers, pipes }:
+     mkDerivation {
+       pname = "pipes-interleave";
+       version = "0.2.1";
+       sha256 = "1xs48bxr4qjnwcmaajl3av4db87bxwm6nyffk3k5rks47lqmra3r";
+       buildDepends = [ base containers pipes ];
+       homepage = "http://github.com/bgamari/pipes-interleave";
+       description = "Interleave and merge streams of elements";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-network" = callPackage
+    ({ mkDerivation, base, bytestring, network, network-simple, pipes
+     , pipes-safe, transformers
+     }:
+     mkDerivation {
+       pname = "pipes-network";
+       version = "0.6.4";
+       sha256 = "1wabyv5j4q0wxiz8ry7dq3amlvfh4r0721pd2lksx7hj3a5qzm2p";
+       buildDepends = [
+         base bytestring network network-simple pipes pipes-safe
+         transformers
+       ];
+       homepage = "https://github.com/k0001/pipes-network";
+       description = "Use network sockets together with the pipes library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-network-tls" = callPackage
+    ({ mkDerivation, base, bytestring, network, network-simple
+     , network-simple-tls, pipes, pipes-network, pipes-safe, tls
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-network-tls";
+       version = "0.2.1";
+       sha256 = "0k3w13s3vasd85mapa594xhi31mhdwqycxqnadidqy24q5s6zdhc";
+       buildDepends = [
+         base bytestring network network-simple network-simple-tls pipes
+         pipes-network pipes-safe tls transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/k0001/pipes-network-tls";
+       description = "TLS-secured network connections support for pipes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pipes-p2p" = callPackage
+    ({ mkDerivation, async, base, binary, bytestring, errors
+     , exceptions, mtl, network, network-simple-sockaddr, pipes
+     , pipes-concurrency, pipes-network
+     }:
+     mkDerivation {
+       pname = "pipes-p2p";
+       version = "0.3";
+       sha256 = "0iig35b2m30dqc0f9p9n3cfz2f21ac2rkqw6cvaydfvh31vbh4iw";
+       buildDepends = [
+         async base binary bytestring errors exceptions mtl network
+         network-simple-sockaddr pipes pipes-concurrency pipes-network
+       ];
+       homepage = "https://github.com/jdnavarro/pipes-p2p";
+       description = "P2P network nodes with pipes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pipes-p2p-examples" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, errors, mtl
+     , network, network-simple-sockaddr, pipes, pipes-network, pipes-p2p
+     }:
+     mkDerivation {
+       pname = "pipes-p2p-examples";
+       version = "0.3";
+       sha256 = "08fdk005yrmr8mz3qlsfjys3pz9iidk53maylbgdk3nixk8plwwm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers errors mtl network
+         network-simple-sockaddr pipes pipes-network pipes-p2p
+       ];
+       homepage = "https://github.com/jdnavarro/pipes-p2p-examples";
+       description = "Examples using pipes-p2p";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pipes-parse" = callPackage
+    ({ mkDerivation, base, pipes, transformers }:
+     mkDerivation {
+       pname = "pipes-parse";
+       version = "3.0.2";
+       sha256 = "1d5lhh8knk0hmvd9wv2ihs5z9ybyvhd1n7qaazqkazqkyl14pd08";
+       buildDepends = [ base pipes transformers ];
+       description = "Parsing infrastructure for the pipes ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-postgresql-simple" = callPackage
+    ({ mkDerivation, async, base, bytestring, exceptions, mtl, pipes
+     , pipes-concurrency, pipes-safe, postgresql-simple, stm, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-postgresql-simple";
+       version = "0.1.2.0";
+       sha256 = "12ij2msdwjzzc93mlvvizh6amam5ld9j1a0b9xsa2awdjd21mwc1";
+       buildDepends = [
+         async base bytestring exceptions mtl pipes pipes-concurrency
+         pipes-safe postgresql-simple stm text transformers
+       ];
+       description = "Convert various postgresql-simple calls to work with pipes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pipes-rt" = callPackage
+    ({ mkDerivation, base, mwc-random, pipes, time }:
+     mkDerivation {
+       pname = "pipes-rt";
+       version = "0.5.0";
+       sha256 = "1wlgwil8ag6ax0kvammbqk7v2d8k6ygdqpjpys97zxrvy47dfc6r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mwc-random pipes time ];
+       homepage = "http://github.com/ImAlsoGreg/pipes-rt";
+       description = "A few pipes to control the timing of yields";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-safe" = callPackage
+    ({ mkDerivation, base, containers, exceptions, pipes, transformers
+     }:
+     mkDerivation {
+       pname = "pipes-safe";
+       version = "2.2.2";
+       sha256 = "1sp0fw5w4kcf5llxx2qqzx8n5ps8qw1jx5asqg7al89mqr38am05";
+       buildDepends = [ base containers exceptions pipes transformers ];
+       description = "Safety for the pipes ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-shell" = callPackage
+    ({ mkDerivation, async, base, bytestring, directory, hspec, pipes
+     , pipes-bytestring, pipes-safe, process, stm, stm-chans, text
+     }:
+     mkDerivation {
+       pname = "pipes-shell";
+       version = "0.1.3";
+       sha256 = "0w49il312ns8pyl05144gznxfdchd0rnq8hprmjrgy8yp3v8j4v1";
+       buildDepends = [
+         async base bytestring pipes pipes-bytestring pipes-safe process stm
+         stm-chans text
+       ];
+       testDepends = [
+         async base bytestring directory hspec pipes pipes-bytestring
+         pipes-safe process stm stm-chans text
+       ];
+       jailbreak = true;
+       description = "Create proper Pipes from System.Process";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-text" = callPackage
+    ({ mkDerivation, base, bytestring, pipes, pipes-bytestring
+     , pipes-group, pipes-parse, pipes-safe, streaming-commons, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-text";
+       version = "0.0.0.15";
+       sha256 = "10906gdb9gjhxxmxvmib6kw7py6fl2r4df5bryqvbjvr1afcc3x9";
+       buildDepends = [
+         base bytestring pipes pipes-bytestring pipes-group pipes-parse
+         pipes-safe streaming-commons text transformers
+       ];
+       homepage = "https://github.com/michaelt/text-pipes";
+       description = "Text pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-vector" = callPackage
+    ({ mkDerivation, base, monad-primitive, pipes, primitive
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "pipes-vector";
+       version = "0.6";
+       sha256 = "0a3q8cj05b6a6iy2gi8mp2qc6xvmwmiqvcd5i3v0kzvi3rv8fh86";
+       buildDepends = [
+         base monad-primitive pipes primitive transformers vector
+       ];
+       jailbreak = true;
+       description = "Various proxies for streaming data into vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-wai" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, http-types, pipes
+     , transformers, wai
+     }:
+     mkDerivation {
+       pname = "pipes-wai";
+       version = "3.0.2";
+       sha256 = "0wfab4nln9v91qprwm2ik9cz27m2qdhcw7qnndg4dhq47m7kvaw8";
+       buildDepends = [
+         base blaze-builder bytestring http-types pipes transformers wai
+       ];
+       homepage = "http://github.com/brewtown/pipes-wai";
+       description = "A port of wai-conduit for the pipes ecosystem";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pipes-websockets" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "pipes-websockets";
+       version = "0.0.0.0";
+       sha256 = "176gp747anh6a4wghkcj3jblb7ywhrp8c5wc7wrain77vn1sihk6";
+       buildDepends = [ base ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ixmatus/pipes-websockets";
+       description = "Library for using websockets ontop of pipes-network";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-zeromq4" = callPackage
+    ({ mkDerivation, base, bytestring, pipes, pipes-safe, semigroups
+     , zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "pipes-zeromq4";
+       version = "0.2.0.0";
+       sha256 = "1zlj7vcn3ng11n80a9m37al7y322ph9grq5qxn022vpb82baxwr4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring pipes pipes-safe semigroups zeromq4-haskell
+       ];
+       homepage = "https://github.com/peddie/pipes-zeromq4";
+       description = "Pipes integration for ZeroMQ messaging";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pipes-zlib" = callPackage
+    ({ mkDerivation, base, bytestring, pipes, transformers, zlib
+     , zlib-bindings
+     }:
+     mkDerivation {
+       pname = "pipes-zlib";
+       version = "0.4.3";
+       sha256 = "04iiw0r1mnxl4myyp87wqhff6jm0g2246gwismi7jnwy7xmllsmc";
+       buildDepends = [
+         base bytestring pipes transformers zlib zlib-bindings
+       ];
+       homepage = "https://github.com/k0001/pipes-zlib";
+       description = "Zlib and GZip compression and decompression for Pipes streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pisigma" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, haskeline
+     , haskeline-class, mpppc, mtl, parsec, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "pisigma";
+       version = "0.2.1";
+       sha256 = "1mz4cfhg8y7cv38ir2lzl7b2p1nfm8c4syvgzz4b9j98dxg694xz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers haskeline haskeline-class mpppc
+         mtl parsec text utf8-string
+       ];
+       jailbreak = true;
+       description = "A dependently typed core language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pit" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath
+     , optparse-applicative, process, temporary, text
+     , unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "pit";
+       version = "0.3.1";
+       sha256 = "10qrhpxk8v5qrs4pq4ghj0dj3brsbiv61pb5vakpq031h7grfg8p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath optparse-applicative process
+         temporary text unordered-containers yaml
+       ];
+       homepage = "https://github.com/chiro/haskell-pit";
+       description = "Account management tool";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pkcs1" = callPackage
+    ({ mkDerivation, base, bytestring, random }:
+     mkDerivation {
+       pname = "pkcs1";
+       version = "1.0.2";
+       sha256 = "1598gj6r6mv3z68qir1rgjk4p73w0k2fwkkban04s97xf86a0669";
+       buildDepends = [ base bytestring random ];
+       homepage = "http://sep07.mroot.net/";
+       description = "RSA encryption with PKCS1 padding";
+       license = "GPL";
+     }) {};
+
+  "pkggraph" = callPackage
+    ({ mkDerivation, base, Cabal, split }:
+     mkDerivation {
+       pname = "pkggraph";
+       version = "0.1";
+       sha256 = "019mli0g65g7k4rsp2myxc7g6p6wykj85amvb2g2ipw117zpzkfz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal split ];
+       description = "Package dependency graph for installed packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pktree" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "pktree";
+       version = "0.2";
+       sha256 = "172dsg1krxqamq8ids9xwyfqidr9z0qq4nmbq4rk2x62g4q0960c";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/singpolyma/pktree-haskell";
+       description = "Implementation of the PKTree spatial index data structure";
+       license = "unknown";
+     }) {};
+
+  "placeholders" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "placeholders";
+       version = "0.1";
+       sha256 = "0ih35n2pw5gr9ggj2xz5zfcs4bdk200fdw6q9hdy3xna7maphak5";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://github.com/ahammar/placeholders";
+       description = "Placeholders for use while developing Haskell code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plailude" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, time, unix }:
+     mkDerivation {
+       pname = "plailude";
+       version = "0.6.0";
+       sha256 = "13hqkz0p3c81d7v3qnbcf90cxyb15na9icfjch4hw0222i6kn21i";
+       buildDepends = [ base bytestring mtl time unix ];
+       jailbreak = true;
+       homepage = "https://secure.plaimi.net/works/plailude";
+       description = "plaimi's prelude";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "planar-graph" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, data-clist, deepseq
+     }:
+     mkDerivation {
+       pname = "planar-graph";
+       version = "1.0.0.0";
+       sha256 = "1c7a168wkym50nh6a0vqfnqgj4hsk91d4x3w84ip0phcnig65iip";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring containers data-clist
+         deepseq
+       ];
+       jailbreak = true;
+       description = "A representation of planar graphs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plat" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, utf8-string }:
+     mkDerivation {
+       pname = "plat";
+       version = "0.1.0.1";
+       sha256 = "06syff2yzrs7qvj8m1f7bgzd6qc834zl9qphv67q3ps5r2hy09qd";
+       buildDepends = [ base bytestring containers mtl utf8-string ];
+       description = "Simple templating library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "playlists" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, doctest, filepath
+     , hlint, hspec, optparse-applicative, text, word8
+     }:
+     mkDerivation {
+       pname = "playlists";
+       version = "0.3.0.0";
+       sha256 = "1g49w0h3fms4ihxwbaq0bg0dzgqa1k83zrbnnd57svcr5qgi9clb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring filepath optparse-applicative text word8
+       ];
+       testDepends = [ base bytestring doctest hlint hspec ];
+       homepage = "https://github.com/pjones/playlists";
+       description = "Library and executable for working with playlist files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plist" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, hxt }:
+     mkDerivation {
+       pname = "plist";
+       version = "0.0.6";
+       sha256 = "0xsx1pvlnqyidpvswisir9p9054r7fczi81nccflazijn3pr9rgb";
+       buildDepends = [ base base64-bytestring bytestring hxt ];
+       description = "Generate and parse Mac OS X property list format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plivo" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, errors
+     , http-streams, http-types, io-streams, network-uri, old-locale
+     , time, unexceptionalio
+     }:
+     mkDerivation {
+       pname = "plivo";
+       version = "0.2.0.0";
+       revision = "1";
+       sha256 = "16q6jwnbzxhapmkzi2sn1k02z8gq11s9wp555fv7msv2if5axrp0";
+       editedCabalFile = "7ef78cd34067e8d72872b32bcad9d01537710c11efce159c990aeb4670e4efb3";
+       buildDepends = [
+         aeson base blaze-builder bytestring errors http-streams http-types
+         io-streams network-uri old-locale time unexceptionalio
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/singpolyma/plivo-haskell";
+       description = "Plivo API wrapper for Haskell";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "plot" = callPackage
+    ({ mkDerivation, array, base, cairo, colour, hmatrix, mtl, pango
+     , transformers
+     }:
+     mkDerivation {
+       pname = "plot";
+       version = "0.2.3.4";
+       sha256 = "1dclv0z94xpxmx80yzzppahq92cqjwaqr0g1ama0spywxhz6l7h3";
+       buildDepends = [
+         array base cairo colour hmatrix mtl pango transformers
+       ];
+       homepage = "http://github.com/amcphail/plot";
+       description = "A plotting library, exportable as eps/pdf/svg/png or renderable with gtk";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plot-gtk" = callPackage
+    ({ mkDerivation, base, glib, gtk, hmatrix, mtl, plot, process }:
+     mkDerivation {
+       pname = "plot-gtk";
+       version = "0.2.0.2";
+       sha256 = "18p3jjrs1asd35q3fykfsrwx22d7rqczymbyxsaqwya5y0nv3ymn";
+       buildDepends = [ base glib gtk hmatrix mtl plot process ];
+       homepage = "http://code.haskell.org/plot";
+       description = "GTK plots and interaction with GHCi";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plot-gtk-ui" = callPackage
+    ({ mkDerivation, base, cairo, colour, fixed-vector, gtk, hmatrix
+     , plot, text, vector
+     }:
+     mkDerivation {
+       pname = "plot-gtk-ui";
+       version = "0.0.3.0";
+       sha256 = "12slwfhhrzjyscxbs5f8nqayqcbk1lh7b4cla419lbwixhbs3zbg";
+       buildDepends = [
+         base cairo colour fixed-vector gtk hmatrix plot text vector
+       ];
+       homepage = "https://github.com/sumitsahrawat/plot-gtk-ui";
+       description = "A quick way to use Mathematica like Manipulation abilities";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "plot-gtk3" = callPackage
+    ({ mkDerivation, base, glib, gtk3, hmatrix, mtl, plot, process }:
+     mkDerivation {
+       pname = "plot-gtk3";
+       version = "0.1";
+       sha256 = "0dw6ypnwr3xnjl1cvr55x3j182vchjhinc9fxsnd5z7ciraqvnv0";
+       buildDepends = [ base glib gtk3 hmatrix mtl plot process ];
+       homepage = "http://code.haskell.org/plot";
+       description = "GTK3 plots and interaction with GHCi";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plot-lab" = callPackage
+    ({ mkDerivation, base, colour, gtk, hmatrix, plot, text, vector }:
+     mkDerivation {
+       pname = "plot-lab";
+       version = "0.0.1.9";
+       sha256 = "1qa5mxq9j5m5zbvzsmrzg8jb9w9v8ik50c8w5ffddcrrqb9b8mcq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base colour gtk hmatrix plot text vector ];
+       homepage = "https://github.com/sumitsahrawat/plot-lab";
+       description = "A plotting tool with Mathematica like Manipulation abilities";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "plotserver-api" = callPackage
+    ({ mkDerivation, base, curl, split }:
+     mkDerivation {
+       pname = "plotserver-api";
+       version = "0.22";
+       sha256 = "17vr3c9dnd1jabx66qih7z19mk0irrxzab51gl5gifcgdxlf4s3x";
+       buildDepends = [ base curl split ];
+       description = "Plotserver API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "plugins" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, ghc, ghc-paths, ghc-prim, haskell-src, process, random
+     }:
+     mkDerivation {
+       pname = "plugins";
+       version = "1.5.4.0";
+       sha256 = "126lp2bbz9aa3pfi5dmbbzgsancdj1m26k7man96avixb21mzbi8";
+       buildDepends = [
+         array base Cabal containers directory filepath ghc ghc-paths
+         ghc-prim haskell-src process random
+       ];
+       homepage = "http://hub.darcs.net/stepcut/plugins";
+       description = "Dynamic linking for Haskell and C objects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plugins-auto" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hinotify
+     , mtl, plugins, process, template-haskell
+     }:
+     mkDerivation {
+       pname = "plugins-auto";
+       version = "0.0.4";
+       sha256 = "1gia9d45d7rb658wm6ihkfz36l4ph7w0hr0vnfw42s035aj5shy4";
+       buildDepends = [
+         base containers filepath hinotify mtl plugins template-haskell
+       ];
+       testDepends = [ base directory process ];
+       description = "Automatic recompilation and reloading of haskell modules";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "plugins-multistage" = callPackage
+    ({ mkDerivation, base, template-haskell, th-expand-syns }:
+     mkDerivation {
+       pname = "plugins-multistage";
+       version = "0.5.2";
+       sha256 = "0ij2yyf7kw0a3hhcih1fc96vsjxy7bd6ny0rbnikildydld5842g";
+       buildDepends = [ base template-haskell th-expand-syns ];
+       description = "Dynamic linking for embedded DSLs with staged compilation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "plumbers" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "plumbers";
+       version = "0.0.3";
+       sha256 = "1grw827jhxwka1zl0n5ycgrpc4ljw8bxg3psms8lsxfiiz6mwmq9";
+       buildDepends = [ base template-haskell ];
+       description = "Pointless plumbing combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ply-loader" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cereal, directory
+     , filepath, lens, linear, parallel-io, transformers, vector
+     }:
+     mkDerivation {
+       pname = "ply-loader";
+       version = "0.4.1";
+       sha256 = "0hi32n4gjvydahlclzc47qsnwqhzxxa7irc4qv6qbgpra4j6zqg1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cereal directory filepath lens linear
+         parallel-io transformers vector
+       ];
+       description = "PLY file loader";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "png-file" = callPackage
+    ({ mkDerivation, array, base, binary-file, bytestring, monads-tf
+     , template-haskell, zlib
+     }:
+     mkDerivation {
+       pname = "png-file";
+       version = "0.0.1.1";
+       sha256 = "18m5pqf2dx26spwjav9b67plha9f3bgn4wl6g6pckl0mmym3zm10";
+       buildDepends = [
+         array base binary-file bytestring monads-tf template-haskell zlib
+       ];
+       homepage = "https://skami.iocikun.jp/haskell/packages/png-file";
+       description = "read/write png file";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pngload" = callPackage
+    ({ mkDerivation, array, base, bytestring, haskell98, mtl, parsec
+     , zlib
+     }:
+     mkDerivation {
+       pname = "pngload";
+       version = "0.1";
+       sha256 = "1j8zagi5xcb4spvq1r0wcnn211y2pryzf0r8z7h70ypqak7sy6ps";
+       buildDepends = [ array base bytestring haskell98 mtl parsec zlib ];
+       description = "Pure Haskell loader for PNG images";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pngload-fixed" = callPackage
+    ({ mkDerivation, array, base, bytestring, mtl, parsec, zlib }:
+     mkDerivation {
+       pname = "pngload-fixed";
+       version = "1.0";
+       sha256 = "02ikfn7kl8jx5iffa2pv0n1z1c75qcg9aq94nrccfdp532wxr7bx";
+       buildDepends = [ array base bytestring mtl parsec zlib ];
+       description = "Pure Haskell loader for PNG images";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pnm" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "pnm";
+       version = "0.1.0.0";
+       sha256 = "0h6wsqv6c36cmk30gs3rjdjbxxq9zih49pmzhj2dh9nyxsqbj2yw";
+       buildDepends = [ base bytestring ];
+       description = "PNM image format header parsing and pretty printing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pocket-dns" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cabal-test-bin
+     , data-default, dns, hspec, hspec-contrib, hspec-server
+     , hspec-test-sandbox, http-conduit, iproute, monad-control, network
+     , optparse-applicative, persistent, persistent-sqlite
+     , persistent-template, persistent-zookeeper, shakespeare, shelly
+     , test-sandbox, text, transformers, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "pocket-dns";
+       version = "0.1.1";
+       sha256 = "1736gj66ljgarmdxwzc9m5aa9inkmgzfmn9sjcqlcs0kpp5faqsh";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring data-default dns http-conduit iproute
+         monad-control network optparse-applicative persistent
+         persistent-sqlite persistent-template persistent-zookeeper shelly
+         text transformers unordered-containers yaml
+       ];
+       testDepends = [
+         base cabal-test-bin hspec hspec-contrib hspec-server
+         hspec-test-sandbox shakespeare test-sandbox text transformers
+       ];
+       description = "Multi-backend (zookeeper and sqlite) DNS Server using persistent-library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pointed" = callPackage
+    ({ mkDerivation, base, comonad, containers, data-default-class
+     , kan-extensions, semigroupoids, semigroups, stm, tagged
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "pointed";
+       version = "4.2";
+       sha256 = "1rwavs2vycb02d04ba8ziywsxbl6k4yqk6pnmzcx5zhnkcfqvmbm";
+       buildDepends = [
+         base comonad containers data-default-class kan-extensions
+         semigroupoids semigroups stm tagged transformers
+         transformers-compat
+       ];
+       homepage = "http://github.com/ekmett/pointed/";
+       description = "Pointed and copointed data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pointedlist" = callPackage
+    ({ mkDerivation, base, binary }:
+     mkDerivation {
+       pname = "pointedlist";
+       version = "0.6.1";
+       sha256 = "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l";
+       buildDepends = [ base binary ];
+       description = "A zipper-like comonad which works as a list, tracking a position";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pointfree" = callPackage
+    ({ mkDerivation, array, base, containers, haskell-src-exts, HUnit
+     , QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "pointfree";
+       version = "1.0.4.8";
+       sha256 = "0nb3mqp6zwnnq6fs27xhcqv4w8h6sr5k01hldkqnkgwz0yyy7ljy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers haskell-src-exts transformers
+       ];
+       testDepends = [
+         array base containers haskell-src-exts HUnit QuickCheck
+         transformers
+       ];
+       description = "Tool for refactoring expressions into pointfree form";
+       license = "unknown";
+     }) {};
+
+  "pointful" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts, mtl, syb
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pointful";
+       version = "1.0.6";
+       sha256 = "151cyy324g6cl5bdwcpbvcvpavj3x2592jbic1jq5q3fgahf5wqk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers haskell-src-exts mtl syb transformers
+       ];
+       homepage = "http://github.com/23Skidoo/pointful";
+       description = "Pointful refactoring tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pointless-fun" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "pointless-fun";
+       version = "1.1.0.5";
+       sha256 = "17gzh3w5j05l6ig1sdjqrl7br17zzpy9yh5k2lck0gjl5prcjclw";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Some common point-free combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pointless-haskell" = callPackage
+    ({ mkDerivation, base, GHood, process, syb }:
+     mkDerivation {
+       pname = "pointless-haskell";
+       version = "0.0.9";
+       sha256 = "0f0bnd6dyi1ancdxd2hkszshws9d8jz8iamz5pir0i4nsj69mqyx";
+       buildDepends = [ base GHood process syb ];
+       homepage = "http://haskell.di.uminho.pt/wiki/Pointless+Haskell";
+       description = "Pointless Haskell library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pointless-lenses" = callPackage
+    ({ mkDerivation, base, containers, derive, pointless-haskell
+     , process, QuickCheck
+     }:
+     mkDerivation {
+       pname = "pointless-lenses";
+       version = "0.0.9";
+       sha256 = "1z09wbx9nrlpg0msq69zyaypp28rfm653l22g7q5xcn0wn4hfs0b";
+       buildDepends = [
+         base containers derive pointless-haskell process QuickCheck
+       ];
+       homepage = "http://haskell.di.uminho.pt/wiki/Pointless+Lenses";
+       description = "Pointless Lenses library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pointless-rewrite" = callPackage
+    ({ mkDerivation, base, containers, mtl, pointless-haskell
+     , pointless-lenses, process
+     }:
+     mkDerivation {
+       pname = "pointless-rewrite";
+       version = "0.0.3";
+       sha256 = "0dc37gw8p5zyi23g94llbq7vb5n09rgznjf24nhg28jw2vmf3f0n";
+       buildDepends = [
+         base containers mtl pointless-haskell pointless-lenses process
+       ];
+       description = "Pointless Rewrite library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "poker-eval" = callPackage
+    ({ mkDerivation, array, base, mtl, poker-eval, random, vector }:
+     mkDerivation {
+       pname = "poker-eval";
+       version = "0.3.1";
+       sha256 = "0v1is9jnpw1ij3b7h9figkjqk58dzc44v6vpdmxfmb80w0myihrv";
+       buildDepends = [ array base mtl random vector ];
+       extraLibraries = [ poker-eval ];
+       description = "Binding to libpoker-eval";
+       license = stdenv.lib.licenses.publicDomain;
+     }) { inherit (pkgs) poker-eval;};
+
+  "pokitdok" = callPackage
+    ({ mkDerivation, aeson, base, base64-string, bytestring
+     , case-insensitive, directory, hex, HTTP, http-client, http-conduit
+     , http-types, strict, text, time
+     }:
+     mkDerivation {
+       pname = "pokitdok";
+       version = "4.1.0.2";
+       sha256 = "08pknbn79hihkil1vcpr7a8ilah3i5b6lnlc41bmprycyqz5vj1w";
+       buildDepends = [
+         aeson base base64-string bytestring case-insensitive directory hex
+         HTTP http-client http-conduit http-types strict text time
+       ];
+       homepage = "https://platform.pokitdok.com";
+       description = "PokitDok Platform API Client for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "polar" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "polar";
+       version = "0.0.1";
+       sha256 = "1f0anpxc57vxa5z0x4wrfay0g1sw2qwnz5nkz74y9vmh8vd99kkh";
+       buildDepends = [ base ];
+       homepage = "http://space.k-hornz.de/polar";
+       description = "Complex numbers in polar form";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "polh-lexicon" = callPackage
+    ({ mkDerivation, base, binary, containers, dawg, directory
+     , filepath, mtl, polysoup, text, text-binary, transformers
+     }:
+     mkDerivation {
+       pname = "polh-lexicon";
+       version = "0.2.2";
+       sha256 = "0mnccx3xj568s3q82achf1pj57zqdpj9iskgh62w39xbqm7spivl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary containers dawg directory filepath mtl polysoup text
+         text-binary transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/polh/tree/master/lexicon";
+       description = "A library for manipulating the historical dictionary of Polish (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "polimorf" = callPackage
+    ({ mkDerivation, base, binary, containers, text, text-binary }:
+     mkDerivation {
+       pname = "polimorf";
+       version = "0.7.3";
+       sha256 = "0vv7j1l0wnjwpd3hpxswq0k33izl0ck2njspcga885bkrd45lzdr";
+       buildDepends = [ base binary containers text text-binary ];
+       homepage = "https://github.com/kawu/polimorf";
+       description = "Working with the PoliMorf dictionary";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "poll" = callPackage
+    ({ mkDerivation, base, enumset, utility-ht }:
+     mkDerivation {
+       pname = "poll";
+       version = "0.0";
+       sha256 = "0v4cyrr506zqvxqbxkncss2pl2j38skl02p1vj6cjxcvlzb2y43p";
+       buildDepends = [ base enumset utility-ht ];
+       description = "Bindings to poll.h";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "polyToMonoid" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "polyToMonoid";
+       version = "0.1";
+       sha256 = "068acarrpd66682yjscm6l5k9kj9p8zxbf3hi76kz7gvkhkbsjj8";
+       buildDepends = [ base ];
+       description = "Polyvariadic functions mapping to a given monoid";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "polynomial" = callPackage
+    ({ mkDerivation, base, deepseq, pretty, prettyclass, vector
+     , vector-space, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "polynomial";
+       version = "0.7.1";
+       sha256 = "0jnqx4w9f99ynmrc5r05f5sfl2wrxnns3l67c2bnqh1sxw5hnbdp";
+       buildDepends = [
+         base deepseq pretty prettyclass vector vector-space vector-th-unbox
+       ];
+       homepage = "https://github.com/mokus0/polynomial";
+       description = "Polynomials";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "polynomials-bernstein" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "polynomials-bernstein";
+       version = "1.1.1";
+       sha256 = "0pjdwi84gz5j1rij4m89nyljjafzjnakmf4yd6vj4xz54nmmygg6";
+       buildDepends = [ base vector ];
+       description = "A solver for systems of polynomial equations in bernstein form";
+       license = "GPL";
+     }) {};
+
+  "polyparse" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "polyparse";
+       version = "1.11";
+       sha256 = "1z417f80b0jm4dgv25fk408p3d9mmcd1dlbya3ry0zdx4md09vrh";
+       buildDepends = [ base bytestring text ];
+       homepage = "http://code.haskell.org/~malcolm/polyparse/";
+       description = "A variety of alternative parser combinator libraries";
+       license = "LGPL";
+     }) {};
+
+  "polyseq" = callPackage
+    ({ mkDerivation, array, base, bytestring, cgi, containers
+     , free-theorems, haskell-src, mtl, network, old-locale, old-time
+     , parsec, pretty, syb, utf8-string, xhtml
+     }:
+     mkDerivation {
+       pname = "polyseq";
+       version = "0.1.2.1";
+       sha256 = "1l31ynlkjkk2zzpsv194gv3pbl55liizvq4x16m5z52vzgszb570";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cgi containers free-theorems haskell-src mtl
+         network old-locale old-time parsec pretty syb utf8-string xhtml
+       ];
+       description = "Taming Selective Strictness";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "polysoup" = callPackage
+    ({ mkDerivation, base, containers, polyparse, tagsoup }:
+     mkDerivation {
+       pname = "polysoup";
+       version = "0.5.2";
+       sha256 = "13923ff6lzvl6j059gyhcb3cx27plkxgbyjr7skg9g5hxia5j73b";
+       buildDepends = [ base containers polyparse tagsoup ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/polysoup";
+       description = "Online XML parsing with polyparse and tagsoup";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "polytypeable" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "polytypeable";
+       version = "0.1.0.0";
+       sha256 = "0vb2adm97ypi553lsjz7333q3dg9fmi0incrxlikqixk0f3ajaq8";
+       buildDepends = [ base ];
+       description = "Typeable for polymorphic types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "polytypeable-utils" = callPackage
+    ({ mkDerivation, base, haskell98, polytypeable }:
+     mkDerivation {
+       pname = "polytypeable-utils";
+       version = "0.1.0.0";
+       sha256 = "1hbpamgqsmsjkzjjva15f566yra77hwasp88b6y68nx9qa36a821";
+       buildDepends = [ base haskell98 polytypeable ];
+       description = "Utilities for polytypeable";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ponder" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "ponder";
+       version = "0.0.1";
+       sha256 = "1nq4z063g429hxwf4vbyyr2b2s7sn325m0h6ggf793inlj48ci0h";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       homepage = "https://gihub.com/matt76k/ponder";
+       description = "PEG parser combinator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pontarius-mediaserver" = callPackage
+    ({ mkDerivation, base, HDBC, HDBC-sqlite3, hlogger, pontarius-xmpp
+     , pontarius-xpmn, xml-types
+     }:
+     mkDerivation {
+       pname = "pontarius-mediaserver";
+       version = "0.0.2.0";
+       sha256 = "00qyrbibav26x5ycipnyypybgjms2kxn38s3iy9gqzv0kmgsdxna";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base HDBC HDBC-sqlite3 hlogger pontarius-xmpp pontarius-xpmn
+         xml-types
+       ];
+       jailbreak = true;
+       homepage = "http://www.pontarius.org/projects/pontarius-mediaserver/";
+       description = "Extended Personal Media Network (XPMN) media server";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pontarius-xmpp" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring, binary
+     , bytestring, Cabal, conduit, containers, crypto-api, crypto-random
+     , cryptohash, cryptohash-cryptoapi, data-default, derive, directory
+     , dns, doctest, filepath, hslogger, hspec, hspec-expectations
+     , iproute, lens, lifted-base, mtl, network, pureMD5, QuickCheck
+     , quickcheck-instances, random, ranges, resourcet, smallcheck
+     , split, stm, stringprep, tasty, tasty-hspec, tasty-hunit
+     , tasty-quickcheck, tasty-th, template-haskell, text, tls
+     , transformers, unbounded-delays, void, xml-conduit, xml-picklers
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "pontarius-xmpp";
+       version = "0.4.0.2";
+       sha256 = "0s633z93qw1k0rs5bx85slmk40rlzlacr2fyxfp5qs3b74k93m7d";
+       buildDepends = [
+         attoparsec base base64-bytestring binary bytestring conduit
+         containers crypto-api crypto-random cryptohash cryptohash-cryptoapi
+         data-default dns hslogger iproute lifted-base mtl network pureMD5
+         random resourcet split stm stringprep template-haskell text tls
+         transformers unbounded-delays void xml-conduit xml-picklers
+         xml-types
+       ];
+       testDepends = [
+         async base Cabal conduit containers data-default derive directory
+         doctest filepath hslogger hspec hspec-expectations lens network
+         QuickCheck quickcheck-instances ranges smallcheck stm stringprep
+         tasty tasty-hspec tasty-hunit tasty-quickcheck tasty-th text
+         transformers xml-picklers xml-types
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pontarius/pontarius-xmpp/";
+       description = "An XMPP client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pontarius-xpmn" = callPackage
+    ({ mkDerivation, base, containers, pontarius-xmpp, random, text
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "pontarius-xpmn";
+       version = "0.0.1.0";
+       sha256 = "1nd228fgsxlqxql38wkvhq8k5d04bgknpx7i83qxrzj8kb6890dy";
+       buildDepends = [
+         base containers pontarius-xmpp random text xml-types
+       ];
+       jailbreak = true;
+       homepage = "http://www.pontarius.org/projects/pontarius-xpmn/";
+       description = "Extended Personal Media Network (XPMN) library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pony" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "pony";
+       version = "1.0";
+       sha256 = "0a8bya0kwk9d965awpg881bgzy9z1szcwsqqr0lfkd6bw3cb9fyy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://www.ascii-art.de/ascii/uvw/unicorn.txt";
+       description = "Can I have a pony?";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pool" = callPackage
+    ({ mkDerivation, base, monad-control, transformers }:
+     mkDerivation {
+       pname = "pool";
+       version = "0.1.2.1";
+       revision = "1";
+       sha256 = "1fwwnwxk3kprr2z9y7bwa1qwxfkzwcb2n5l6vkq1c5s8gjls581c";
+       editedCabalFile = "c79e139723764f4d4ba584c6cf6f73174700271910b15ed0f25a150a53a8c951";
+       buildDepends = [ base monad-control transformers ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Thread-safe resource pools. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pool-conduit" = callPackage
+    ({ mkDerivation, base, monad-control, resource-pool, resourcet
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pool-conduit";
+       version = "0.1.2.3";
+       sha256 = "1myjbmbh0jm89ycx9d961mpgw8hp7al8wgnsls4p19gvr73gcbfv";
+       buildDepends = [
+         base monad-control resource-pool resourcet transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Resource pool allocations via ResourceT. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pooled-io" = callPackage
+    ({ mkDerivation, base, deepseq, transformers, unsafe, utility-ht }:
+     mkDerivation {
+       pname = "pooled-io";
+       version = "0.0.0.1";
+       sha256 = "1phk5mqyyjvlrf3fknhzrwzjmx3inwrs8hs328p8jpwwig8zfpv7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base deepseq transformers unsafe utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/pooled-io/";
+       description = "Run jobs on a limited number of threads and support data dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pop3-client" = callPackage
+    ({ mkDerivation, base, mtl, network }:
+     mkDerivation {
+       pname = "pop3-client";
+       version = "0.1.4";
+       sha256 = "0kfcfxfwg5rjm7qx9r0ssdvkrvca95hflahrip1hi5wbplf224xv";
+       buildDepends = [ base mtl network ];
+       homepage = "https://github.com/tmrudick/haskell-pop3-client/";
+       description = "POP3 Client Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "popenhs" = callPackage
+    ({ mkDerivation, base, directory, haskell98, unix }:
+     mkDerivation {
+       pname = "popenhs";
+       version = "1.0.0";
+       sha256 = "01pb8g5zl99zccnjnkwklfgaz1pqjp1xrgz5b3qy45nclyln0bm4";
+       buildDepends = [ base directory haskell98 unix ];
+       homepage = "http://www.haskell.org/~petersen/haskell/popenhs/";
+       description = "popenhs is a popen-like library for Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "poppler" = callPackage
+    ({ mkDerivation, array, base, bytestring, cairo, containers
+     , gdk_pixbuf, glib, gtk, gtk2hs-buildtools, mtl, pango, poppler
+     }:
+     mkDerivation {
+       pname = "poppler";
+       version = "0.13";
+       sha256 = "1fv0h2ixanzv5vy4l2ln23f9n8ghmgdxzlyx54hh69bwhrcg049s";
+       buildDepends = [
+         array base bytestring cairo containers glib gtk mtl
+       ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ gdk_pixbuf pango poppler ];
+       homepage = "http://www.haskell.org/gtk2hs/";
+       description = "Binding to the Poppler";
+       license = stdenv.lib.licenses.gpl2;
+     }) { inherit (pkgs) gdk_pixbuf;  inherit (pkgs.gnome) pango;
+          inherit (pkgs) poppler;};
+
+  "populate-setup-exe-cache" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "populate-setup-exe-cache";
+       version = "1.0";
+       sha256 = "06z723fgqwvcxgxy63pqwmjb6xkcl69xmdry117f0i5rhy0aix3y";
+       buildDepends = [ base ];
+       homepage = "https://github.com/mietek/populate-setup-exe-cache/";
+       description = "Empty Cabal package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "portable-lines" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "portable-lines";
+       version = "0.1";
+       sha256 = "1l94p3s56a3kfqc8fzqc52z12rhg3c8xsmgcw1i20dnl8aygalsh";
+       buildDepends = [ base bytestring ];
+       description = "Alternative 'lines' implementation that understands CR-LF and CR";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "portaudio" = callPackage
+    ({ mkDerivation, base, containers, portaudio }:
+     mkDerivation {
+       pname = "portaudio";
+       version = "0.2.4";
+       sha256 = "0vxlfn2462fmknj94sd5ajbm3lydy3z8mrqb3vgh47wwn0sq8sk3";
+       buildDepends = [ base containers ];
+       extraLibraries = [ portaudio ];
+       homepage = "http://code.haskell.org/portaudio";
+       description = "Haskell bindings for the PortAudio library";
+       license = "unknown";
+     }) { inherit (pkgs) portaudio;};
+
+  "porte" = callPackage
+    ({ mkDerivation, base, bytestring, containers
+     , extensible-exceptions, stringsearch
+     }:
+     mkDerivation {
+       pname = "porte";
+       version = "0.0.4";
+       sha256 = "1cc7kbbz0vqh60acaxyn8b8pdmwx2w022sgvk1mw7p60s8jhng2d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers extensible-exceptions stringsearch
+       ];
+       description = "FreeBSD ports index search and analysis tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "porter" = callPackage
+    ({ mkDerivation, haskell2010 }:
+     mkDerivation {
+       pname = "porter";
+       version = "0.1";
+       sha256 = "0aw1gq7z3h5ag5vzl6crw7vijg9w25s0jvxr4rkniv4jk0wlfmnk";
+       buildDepends = [ haskell2010 ];
+       description = "Implementation of the Porter stemming algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ports" = callPackage
+    ({ mkDerivation, base, haskell98, unix }:
+     mkDerivation {
+       pname = "ports";
+       version = "0.4.3.2";
+       sha256 = "1ixyrg4k1f91v2r485r2fs8bgq373bhvg02mza5jdcb1amyfi7rm";
+       buildDepends = [ base haskell98 unix ];
+       homepage = "http://www.cse.unsw.edu.au/~chak/haskell/ports/";
+       description = "The Haskell Ports Library";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ports-tools" = callPackage
+    ({ mkDerivation, base, directory, process }:
+     mkDerivation {
+       pname = "ports-tools";
+       version = "0.0.1";
+       sha256 = "0bs7b88qiczf59dliqhbxbzciv4xi07b6djspgpydigyrf5maac6";
+       buildDepends = [ base directory process ];
+       homepage = "http://github.com/ppenzin/hs-ports-tools/";
+       description = "Library to interact with port tools on FreeBSD";
+       license = "unknown";
+     }) {};
+
+  "positive" = callPackage
+    ({ mkDerivation, base, nats, semigroups }:
+     mkDerivation {
+       pname = "positive";
+       version = "0.4";
+       sha256 = "0vj0gd7xln1xihf8dyrr2sm7zh5wg6qvfzy30nslwgvzyn4f14gv";
+       buildDepends = [ base nats semigroups ];
+       jailbreak = true;
+       description = "Positive integers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "posix-acl" = callPackage
+    ({ mkDerivation, acl, base, bytestring, containers, lifted-base
+     , monad-control, transformers, transformers-base, unix
+     }:
+     mkDerivation {
+       pname = "posix-acl";
+       version = "0.2.0.0";
+       sha256 = "1qiq5bqq6bwdxrxc3i27jiq1ic5pn0309453a0y6vjwamrc8h7rv";
+       buildDepends = [
+         base bytestring containers lifted-base monad-control transformers
+         transformers-base unix
+       ];
+       extraLibraries = [ acl ];
+       jailbreak = true;
+       homepage = "https://github.com/tensor5/posix-acl";
+       description = "Support for Posix ACL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) acl;};
+
+  "posix-escape" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "posix-escape";
+       version = "0.1";
+       sha256 = "0yrx8cr6qximfy0vh7qqljlkj27q9gksrnqmqbnj2hk5bsa5l48w";
+       buildDepends = [ base ];
+       description = "Quote arguments to be passed through the Unix shell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "posix-filelock" = callPackage
+    ({ mkDerivation, base, transformers, unix }:
+     mkDerivation {
+       pname = "posix-filelock";
+       version = "0.1";
+       sha256 = "106rrbw4d0f13wcj19m6h0vy3v53j11bawqd3q4r0pcsypk53qmk";
+       buildDepends = [ base transformers unix ];
+       homepage = "https://github.com/singpolyma/posix-filelock-haskell";
+       description = "Nice wrapper around POSIX fcntl advisory locks";
+       license = "unknown";
+     }) {};
+
+  "posix-paths" = callPackage
+    ({ mkDerivation, base, bytestring, doctest, HUnit, QuickCheck, unix
+     }:
+     mkDerivation {
+       pname = "posix-paths";
+       version = "0.2.0.5";
+       sha256 = "046y5i4hw4a326r3145yrfd1p6sn3b9xsn6rdk73nv74ks4wrn5v";
+       buildDepends = [ base bytestring unix ];
+       testDepends = [ base bytestring doctest HUnit QuickCheck unix ];
+       description = "POSIX filepath/directory functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "posix-pty" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "posix-pty";
+       version = "0.1.1";
+       sha256 = "0ndr47bfm07b00kfy2p48jm7fjrd76bxbw3l7wm5yc0d0jyi65cd";
+       buildDepends = [ base bytestring unix ];
+       homepage = "https://bitbucket.org/merijnv/posix-pty";
+       description = "Pseudo terminal interaction with subprocesses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "posix-realtime" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "posix-realtime";
+       version = "0.0.0.2";
+       sha256 = "1i3ag71ymmbcg1v0s6fqkpli8d1wplhj2jkalrv7alz8z666ms3h";
+       buildDepends = [ base unix ];
+       jailbreak = true;
+       description = "POSIX Realtime functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "posix-timer" = callPackage
+    ({ mkDerivation, base, transformers-base, unix }:
+     mkDerivation {
+       pname = "posix-timer";
+       version = "0.3";
+       sha256 = "0z4j98pb46gzhi5i5pvxxm7an7am5i757p43cp2jv8pirx33k8zd";
+       buildDepends = [ base transformers-base unix ];
+       homepage = "https://github.com/mvv/posix-timer";
+       description = "Bindings to POSIX clock and timer functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "posix-waitpid" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "posix-waitpid";
+       version = "0.1";
+       sha256 = "1v3y3pg3gv0s26hdqc5fsar2j3vk4kpldkr23zxm14ncpz2w2dhk";
+       buildDepends = [ base unix ];
+       description = "Low-level wrapping of POSIX waitpid(2)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "possible" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "possible";
+       version = "0.1.0.5";
+       sha256 = "1iiyz3yf5rwcdawrbawdrx3fwrhb1s62ram6yavfwkvc7j9rfvzx";
+       buildDepends = [ base ];
+       homepage = "https://github.com/tolysz/possible";
+       description = "Three valued Data.Maybe";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "post-mess-age" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "post-mess-age";
+       version = "0.1.0.0";
+       sha256 = "1rl7i37szwnqs6slhha3wv45mw9w9x6yxcrkbdcfvdc63x8nh74w";
+       buildDepends = [ base ];
+       description = "Send messages to a Handle concurrently without getting them mixed";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postcodes" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HTTP }:
+     mkDerivation {
+       pname = "postcodes";
+       version = "0.1.1";
+       sha256 = "1z0d5pl11jymd0jj1k50si35lq2af3y0apiyz6mbi25zl5x49bi8";
+       buildDepends = [ aeson base bytestring HTTP ];
+       homepage = "https://github.com/mattyhall/haskell-postcodes";
+       description = "A library that gets postcode information from the uk-postcodes.com";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postgresql-binary" = callPackage
+    ({ mkDerivation, attoparsec, base-prelude, bytestring, HTF, loch-th
+     , placeholders, postgresql-libpq, QuickCheck, quickcheck-instances
+     , scientific, text, time, transformers, uuid
+     }:
+     mkDerivation {
+       pname = "postgresql-binary";
+       version = "0.5.2";
+       sha256 = "1fwh3r0f63wcwnw544jdirzsd0brslkqahn8d2iwr2jvpm5f0pqh";
+       buildDepends = [
+         attoparsec base-prelude bytestring loch-th placeholders scientific
+         text time transformers uuid
+       ];
+       testDepends = [
+         base-prelude bytestring HTF postgresql-libpq QuickCheck
+         quickcheck-instances scientific text time uuid
+       ];
+       homepage = "https://github.com/nikita-volkov/postgresql-binary";
+       description = "Encoders and decoders for the PostgreSQL's binary format";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "postgresql-config" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, monad-control, mtl
+     , postgresql-simple, resource-pool, time
+     }:
+     mkDerivation {
+       pname = "postgresql-config";
+       version = "0.0.1";
+       sha256 = "1hp6ki078d4hvb910403ppvcb8q6ji79z3ccv6alkpnd494wd4wr";
+       buildDepends = [
+         aeson base bytestring monad-control mtl postgresql-simple
+         resource-pool time
+       ];
+       homepage = "https://bitbucket.org/s9gf4ult/postgresql-config";
+       description = "Types for easy adding postgresql configuration to your program";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postgresql-copy-escape" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "postgresql-copy-escape";
+       version = "0.1";
+       sha256 = "063phxj8r3vy25awwwn47k9ac0s8z59igpgqrhb9gbfdq4ldrlpm";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/joeyadams/hs-postgresql-copy-escape";
+       description = "Format data to feed to a PostgreSQL COPY FROM statement";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postgresql-libpq" = callPackage
+    ({ mkDerivation, base, bytestring, postgresql }:
+     mkDerivation {
+       pname = "postgresql-libpq";
+       version = "0.9.0.2";
+       sha256 = "1x1nmzl1j6vc3vy746ch6ps4wy6hwqm78yl9cq9fvkpllh0a2dnw";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ postgresql ];
+       homepage = "http://github.com/lpsmith/postgresql-libpq";
+       description = "low-level binding to libpq";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) postgresql;};
+
+  "postgresql-orm" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, directory
+     , filepath, ghc-prim, mtl, old-locale, postgresql-simple, process
+     , text, time, transformers, unix, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-orm";
+       version = "0.3.1";
+       sha256 = "1npynkpilp7p6y2biqr9m5a9r179ga67p8lx39pildn94iz1yg76";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-builder bytestring directory filepath ghc-prim mtl
+         old-locale postgresql-simple process text time transformers unix
+         unordered-containers vector
+       ];
+       description = "An ORM (Object Relational Mapping) and migrations DSL for PostgreSQL";
+       license = "GPL";
+     }) {};
+
+  "postgresql-query" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
+     , containers, either, exceptions, file-embed, haskell-src-meta
+     , monad-control, monad-logger, mtl, postgresql-simple, QuickCheck
+     , quickcheck-assertions, quickcheck-instances, resource-pool
+     , semigroups, tasty, tasty-hunit, tasty-quickcheck, tasty-th
+     , template-haskell, text, time, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "postgresql-query";
+       version = "1.0.1";
+       sha256 = "0p11a6rzcpwnq55s9hslfqbi70g39gf1qbz6805a232y9wwkf8rn";
+       buildDepends = [
+         aeson attoparsec base blaze-builder bytestring containers either
+         exceptions file-embed haskell-src-meta monad-control monad-logger
+         mtl postgresql-simple resource-pool semigroups template-haskell
+         text time transformers transformers-base transformers-compat
+       ];
+       testDepends = [
+         attoparsec base QuickCheck quickcheck-assertions
+         quickcheck-instances tasty tasty-hunit tasty-quickcheck tasty-th
+         text
+       ];
+       homepage = "https://bitbucket.org/s9gf4ult/postgresql-query";
+       description = "Sql interpolating quasiquote plus some kind of primitive ORM using it";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postgresql-simple" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , blaze-builder, blaze-textual, bytestring, case-insensitive
+     , containers, cryptohash, hashable, HUnit, postgresql-libpq
+     , scientific, template-haskell, text, time, transformers, uuid
+     , vector
+     }:
+     mkDerivation {
+       pname = "postgresql-simple";
+       version = "0.4.10.0";
+       sha256 = "0ar8rjd3fsk56ykf7ys3f14ld3771dknhvkfk08fq7054rilrir0";
+       buildDepends = [
+         aeson attoparsec base blaze-builder blaze-textual bytestring
+         case-insensitive containers hashable postgresql-libpq scientific
+         template-haskell text time transformers uuid vector
+       ];
+       testDepends = [
+         aeson base base16-bytestring bytestring containers cryptohash HUnit
+         text time vector
+       ];
+       description = "Mid-Level PostgreSQL client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postgresql-simple-migration" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
+     , directory, hspec, postgresql-simple, time
+     }:
+     mkDerivation {
+       pname = "postgresql-simple-migration";
+       version = "0.1.3.0";
+       sha256 = "0qz75dgp346q6sbxwlfrqd9hpkh14krij2r8440nhb9qs4ccl2jz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring bytestring cryptohash directory
+         postgresql-simple time
+       ];
+       testDepends = [ base bytestring hspec postgresql-simple ];
+       jailbreak = true;
+       homepage = "https://github.com/ameingast/postgresql-simple-migration";
+       description = "PostgreSQL Schema Migrations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postgresql-simple-sop" = callPackage
+    ({ mkDerivation, base, generics-sop, postgresql-simple }:
+     mkDerivation {
+       pname = "postgresql-simple-sop";
+       version = "0.1.0.5";
+       sha256 = "1v4rqjhwki6q46q5y4rmrk8y5p60s00faa153fg71zpkzafqqx0q";
+       buildDepends = [ base generics-sop postgresql-simple ];
+       homepage = "https://github.com/openbrainsrc/postgresql-simple-sop";
+       description = "Generic functions for postgresql-simple";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "postgresql-simple-typed" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, postgresql-libpq
+     , postgresql-simple, template-haskell, typedquery, utf8-string
+     }:
+     mkDerivation {
+       pname = "postgresql-simple-typed";
+       version = "0.1.0.0";
+       sha256 = "1n9fkg1qcrycb7gvx4pln4xq3hpbczic4p2zv0f9hq7ljb5h3f1a";
+       buildDepends = [
+         base haskell-src-meta postgresql-libpq postgresql-simple
+         template-haskell typedquery utf8-string
+       ];
+       homepage = "https://github.com/tolysz/postgresql-simple-typed";
+       description = "Typed extension for PostgreSQL simple";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "postgresql-typed" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , cryptohash, haskell-src-meta, network, old-locale, parsec
+     , postgresql-binary, scientific, template-haskell, text, time
+     , utf8-string, uuid
+     }:
+     mkDerivation {
+       pname = "postgresql-typed";
+       version = "0.3.2";
+       sha256 = "0q1k5sj6q9c4mssf3z9m69fqyn9z8iz15v2b0rcc7c8x1za1kq2i";
+       buildDepends = [
+         array base binary bytestring containers cryptohash haskell-src-meta
+         network old-locale parsec postgresql-binary scientific
+         template-haskell text time utf8-string uuid
+       ];
+       testDepends = [ base network time ];
+       homepage = "https://github.com/dylex/postgresql-typed";
+       description = "A PostgreSQL access library with compile-time SQL type inference";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "postgrest" = callPackage
+    ({ mkDerivation, aeson, base, base64-string, bcrypt, blaze-builder
+     , bytestring, case-insensitive, containers, convertible, hasql
+     , hasql-backend, hasql-postgres, hlint, hspec, hspec-wai
+     , hspec-wai-json, HTTP, http-media, http-types, MissingH, mtl
+     , network, network-uri, optparse-applicative, packdeps, process
+     , QuickCheck, Ranged-sets, regex-base, regex-tdfa, regex-tdfa-text
+     , resource-pool, scientific, split, string-conversions
+     , stringsearch, text, time, transformers, unordered-containers
+     , vector, wai, wai-cors, wai-extra, wai-middleware-static, warp
+     }:
+     mkDerivation {
+       pname = "postgrest";
+       version = "0.2.7.0";
+       sha256 = "1mr7wka4kxxmpnhw9p49a4vh68iavrh74shc712z17gmr9yahvcx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-string bcrypt blaze-builder bytestring
+         case-insensitive containers convertible hasql hasql-backend
+         hasql-postgres HTTP http-types MissingH mtl network network-uri
+         optparse-applicative Ranged-sets regex-base regex-tdfa
+         regex-tdfa-text resource-pool scientific split string-conversions
+         stringsearch text time transformers unordered-containers vector wai
+         wai-cors wai-extra wai-middleware-static warp
+       ];
+       testDepends = [
+         aeson base base64-string bcrypt blaze-builder bytestring
+         case-insensitive containers convertible hasql hasql-backend
+         hasql-postgres hlint hspec hspec-wai hspec-wai-json HTTP http-media
+         http-types MissingH mtl network network-uri optparse-applicative
+         packdeps process QuickCheck Ranged-sets regex-base regex-tdfa
+         regex-tdfa-text resource-pool scientific split string-conversions
+         stringsearch text time transformers unordered-containers vector wai
+         wai-cors wai-extra wai-middleware-static warp
+       ];
+       homepage = "https://github.com/begriffs/postgrest";
+       description = "REST API for any Postgres database";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "postie" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cprng-aes
+     , data-default-class, mtl, network, pipes, pipes-bytestring
+     , pipes-parse, stringsearch, tls, transformers, uuid
+     }:
+     mkDerivation {
+       pname = "postie";
+       version = "0.5.0.0";
+       sha256 = "1iqg7wirdcysjq4i7ah3lkzc2rzlbgvc7asq953zdir21g9jpqwk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cprng-aes data-default-class mtl network
+         pipes pipes-bytestring pipes-parse stringsearch tls transformers
+         uuid
+       ];
+       description = "SMTP server library to receive emails from within Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postmark" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , http-client-tls, http-types, network-api-support, text
+     }:
+     mkDerivation {
+       pname = "postmark";
+       version = "0.1.1";
+       sha256 = "1jh1byixnc8mh3g4xb1w0nx9ghh5dchhqf1nxji869kbim2lqgaw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring containers http-client-tls
+         http-types network-api-support text
+       ];
+       homepage = "https://github.com/apiengine/postmark";
+       description = "Library for postmarkapp.com HTTP Api";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "postmaster" = callPackage
+    ({ mkDerivation, adns, base, bytestring, containers, directory
+     , hopenssl, hsdns, hsemail, hsyslog, mtl, network, old-time
+     , openssl, parsec, unix
+     }:
+     mkDerivation {
+       pname = "postmaster";
+       version = "0.3";
+       sha256 = "1yzhblrqnd94gvcl4dzxx6glx1qyyvjy7gqa6ymqahcy8kh1v7ki";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory hopenssl hsdns hsemail hsyslog
+         mtl network old-time parsec unix
+       ];
+       extraLibraries = [ adns openssl ];
+       homepage = "http://github.com/peti/postmaster";
+       description = "Postmaster ESMTP Server";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) adns;  inherit (pkgs) openssl;};
+
+  "powermate" = callPackage
+    ({ mkDerivation, base, directory, network, unix }:
+     mkDerivation {
+       pname = "powermate";
+       version = "0.1";
+       sha256 = "19qsi4g4v2dwagps3gq9grbin44rzk9ydpkpbwysc4gbizh1lrs0";
+       buildDepends = [ base directory network unix ];
+       homepage = "http://neugierig.org/software/darcs/powermate/";
+       description = "PowerMate bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "powerpc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "powerpc";
+       version = "0.0.1";
+       sha256 = "0z3nqv8l9h0kwdaqb2vnk7vx5d0hmx02giv2k01llk7vznlkqqny";
+       buildDepends = [ base ];
+       homepage = "http://tomahawkins.org";
+       description = "Tools for PowerPC programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ppm" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "ppm";
+       version = "2009.5.13";
+       sha256 = "0nzvxi1ybfxb1zqkbfqfic8j3mf3r6i2zdyjf7x41rz6m6lhqfcy";
+       buildDepends = [ base mtl ];
+       homepage = "http://github.com/nfjinjing/ppm/tree/master";
+       description = "a tiny PPM image generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pqc" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, QuickCheck, random, stm }:
+     mkDerivation {
+       pname = "pqc";
+       version = "0.8";
+       sha256 = "1n71qhlxn9js5cizyqdq9f7m08m5j0354871r8b47bnzdi2kqkc4";
+       buildDepends = [ base QuickCheck random stm ];
+       testDepends = [ base ChasingBottoms ];
+       homepage = "http://hub.darcs.net/shelarcy/pqc";
+       description = "Parallel batch driver for QuickCheck";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pqueue" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "pqueue";
+       version = "1.2.1";
+       sha256 = "1fily60f4njby7zknmik7a2wxsm3y77ckr69w9bb3fgq22gbzky6";
+       buildDepends = [ base deepseq ];
+       description = "Reliable, persistent, fast priority queues";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pqueue-mtl" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, MaybeT, mtl
+     , stateful-mtl, uvector
+     }:
+     mkDerivation {
+       pname = "pqueue-mtl";
+       version = "1.0.7";
+       sha256 = "0ikg11klbq25fjcbpyb7i7z9wyx9mf4hv262m14j741x4dk9ib6g";
+       buildDepends = [
+         base containers ghc-prim MaybeT mtl stateful-mtl uvector
+       ];
+       jailbreak = true;
+       description = "Fully encapsulated monad transformers with queuelike functionality";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "practice-room" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, directory, json
+     , mps
+     }:
+     mkDerivation {
+       pname = "practice-room";
+       version = "0.0.2";
+       sha256 = "071arrk0wir2lwziw6p3cbq6ybjdf3gfc4d25sh21gpnk10ighp2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring data-default directory json mps ];
+       homepage = "http://github.com/nfjinjing/practice-room";
+       description = "Practice Room";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "precis" = callPackage
+    ({ mkDerivation, base, Cabal, containers, cpphs, directory
+     , filepath, haskell-src-exts, xhtml
+     }:
+     mkDerivation {
+       pname = "precis";
+       version = "0.5.0";
+       sha256 = "0d0cl60p58i8w2ll8z826r94zx0svm7v578fy70r7i19pn64l6bd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers cpphs directory filepath haskell-src-exts
+         xhtml
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Diff Cabal packages";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "predicates" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "predicates";
+       version = "0.1";
+       sha256 = "0ly64xml5gbazyq07s409swgysvlwjc19w4x46yp1684ifv0gghf";
+       buildDepends = [ base ];
+       description = "A couple of convenience functions for forming predicates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prednote" = callPackage
+    ({ mkDerivation, base, bytestring, containers, contravariant
+     , QuickCheck, rainbow, split, tasty, tasty-quickcheck, tasty-th
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "prednote";
+       version = "0.32.0.6";
+       sha256 = "0ammlm2dfhjmgy2ackrk4gvwgxz8sph8d2n4pwk2vl17hy024dbj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers contravariant rainbow split text
+         transformers
+       ];
+       testDepends = [
+         base bytestring containers contravariant QuickCheck rainbow split
+         tasty tasty-quickcheck tasty-th text transformers
+       ];
+       homepage = "http://www.github.com/massysett/prednote";
+       description = "Evaluate and display trees of predicates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prednote-test" = callPackage
+    ({ mkDerivation, barecheck, base, containers, prednote, QuickCheck
+     , quickpull, rainbow, rainbow-tests, text
+     }:
+     mkDerivation {
+       pname = "prednote-test";
+       version = "0.26.0.4";
+       sha256 = "0amx13lnbx6x37adpjrxjac23qbx1xvsk82pn572kyp7pshn7ijj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         barecheck base containers prednote QuickCheck quickpull rainbow
+         rainbow-tests text
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/prednote";
+       description = "Tests and QuickCheck generators to accompany prednote";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prefix-units" = callPackage
+    ({ mkDerivation, base, Cabal, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "prefix-units";
+       version = "0.1.0.2";
+       revision = "1";
+       sha256 = "07b5s2bsqlaad06dgr5psidfgi1nmgc5c16j6kzayw9f4najjrav";
+       editedCabalFile = "492d6b953a52678e44a880c5272c30175eed27c3f2bd4de82fc29eee4b4db00a";
+       buildDepends = [ base ];
+       testDepends = [
+         base Cabal HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/iustin/prefix-units";
+       description = "A basic library for SI/binary prefix units";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prefork" = callPackage
+    ({ mkDerivation, async, base, blaze-builder, bytestring, cab
+     , cmdargs, containers, data-default, directory, filepath, hspec
+     , http-types, network, process, stm, system-argv0, system-filepath
+     , unix, wai, warp
+     }:
+     mkDerivation {
+       pname = "prefork";
+       version = "0.0.9";
+       sha256 = "0zraxygc8ybf93sw7lq60nynd5k1q65dns5kl4mdyflv3in8cfw8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base blaze-builder bytestring cmdargs containers data-default
+         http-types network process stm system-argv0 system-filepath unix
+         wai warp
+       ];
+       testDepends = [
+         base cab containers directory filepath hspec process stm unix
+       ];
+       jailbreak = true;
+       description = "A library for building a prefork-style server quickly";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pregame" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers
+     , data-default, lens, mtl, parallel, safe, stm, text, transformers
+     , tuple, vector
+     }:
+     mkDerivation {
+       pname = "pregame";
+       version = "0.1.4.3";
+       sha256 = "0ls2fmg1xm10njwzz7nifndggq4bpi7ylx3n9aah8bn1hqwf8sy4";
+       buildDepends = [
+         base bytestring cmdargs containers data-default lens mtl parallel
+         safe stm text transformers tuple vector
+       ];
+       homepage = "https://github.com/jxv/pregame";
+       description = "Prelude counterpart";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "prelude-extras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "prelude-extras";
+       version = "0.4";
+       sha256 = "0mzsc9pzcamaa7i3g9hkajy35sbpqdjrflv6r98r8hhlr0yrdjan";
+       buildDepends = [ base ];
+       homepage = "http://github.com/ekmett/prelude-extras";
+       description = "Haskell 98 - higher order versions of Prelude classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prelude-generalize" = callPackage
+    ({ mkDerivation, base, comonad, logict, transformers }:
+     mkDerivation {
+       pname = "prelude-generalize";
+       version = "0.4";
+       sha256 = "0h452pn7zs97z5gv2p3x9pg61phphwcw5y5g1w38k3gihdvym8jl";
+       buildDepends = [ base comonad logict transformers ];
+       jailbreak = true;
+       description = "Another kind of alternate Prelude file";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "prelude-plus" = callPackage
+    ({ mkDerivation, base, utf8-string }:
+     mkDerivation {
+       pname = "prelude-plus";
+       version = "0.0.0.6";
+       sha256 = "139b0580f1gx4hj211c7lwcq5y6a0qpdzsaidvqbfq36h04w8kjv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base utf8-string ];
+       description = "Prelude for rest of us";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prelude-prime" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "prelude-prime";
+       version = "0.1";
+       sha256 = "1avj11a5bqn8sxizzh1fxhw3dvd55xsimbbhdwymxfn45vvfswr7";
+       buildDepends = [ base ];
+       description = "A slightly better (but conservative) Prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "prelude-safeenum" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "prelude-safeenum";
+       version = "0.1.1.1";
+       sha256 = "0cff77nbhy3dsamrwm2wxhbi1mf2bzkdd1pdzqv3klpbzjwkdszv";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "A redefinition of the Prelude's Enum class in order to render it safe";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "preprocess-haskell" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, basic-prelude
+     , bytestring, Cabal, containers, cpphs, deepseq, directory
+     , file-embed, foldl, haskell-src-exts, here, system-filepath
+     , temporary, text, turtle, unix
+     }:
+     mkDerivation {
+       pname = "preprocess-haskell";
+       version = "0.0.1.1";
+       sha256 = "1jglriabjw44f9phx7ah87wwmri64a61v236dzs58snagzdiq84r";
+       buildDepends = [
+         base base-unicode-symbols basic-prelude bytestring Cabal containers
+         cpphs deepseq directory file-embed foldl haskell-src-exts here
+         system-filepath temporary text turtle unix
+       ];
+       description = "Preprocess Haskell Repositories";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "preprocessor-tools" = callPackage
+    ({ mkDerivation, base, mtl, parsec, syb }:
+     mkDerivation {
+       pname = "preprocessor-tools";
+       version = "1.0.1";
+       sha256 = "0ngfmvw6hvbr52i01n180ls4c8rx2wk2rka6g6igpvy9x2gwjin9";
+       buildDepends = [ base mtl parsec syb ];
+       homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/";
+       description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "presburger" = callPackage
+    ({ mkDerivation, base, containers, pretty, QuickCheck }:
+     mkDerivation {
+       pname = "presburger";
+       version = "1.3.1";
+       sha256 = "15yhqc6gk14dsqr4b0x87i1xw0sc3iscw28grg4vmcspsjxil0l6";
+       buildDepends = [ base containers pretty ];
+       testDepends = [ base QuickCheck ];
+       homepage = "http://github.com/yav/presburger";
+       description = "A decision procedure for quantifier-free linear arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "present" = callPackage
+    ({ mkDerivation, aeson, atto-lisp, base, bytestring, data-default
+     , mtl, semigroups, text
+     }:
+     mkDerivation {
+       pname = "present";
+       version = "2.2";
+       sha256 = "1z9zvmszda7h1h4inq4b6ig9bd205mskqq85ns3rzsffxaj471p4";
+       buildDepends = [
+         aeson atto-lisp base bytestring data-default mtl semigroups text
+       ];
+       description = "Make presentations for data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "press" = callPackage
+    ({ mkDerivation, base, containers, json, mtl, parsec }:
+     mkDerivation {
+       pname = "press";
+       version = "0.1.2";
+       sha256 = "0aa3079az8bazyzqxxhx575vxr4a0p3wvlgh765w3k01vh6dkzgf";
+       buildDepends = [ base containers json mtl parsec ];
+       homepage = "http://github.com/bickfordb/text-press";
+       description = "Text template library targeted at the web / HTML generation";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "prettify" = callPackage
+    ({ mkDerivation, base, containers, semigroups }:
+     mkDerivation {
+       pname = "prettify";
+       version = "1.0";
+       sha256 = "18bwgz2cgkd6n9gwpwipv2bc6d5501mflmr0r2akwy98q2gb9qg8";
+       buildDepends = [ base containers semigroups ];
+       description = "Haskell2010 structured text formatting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pretty_1_1_3_2" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck }:
+     mkDerivation {
+       pname = "pretty";
+       version = "1.1.3.2";
+       sha256 = "0k61v71c40dy4whvy1q1n3hs0xnhscg4svp0prcihn7s57j2spvi";
+       buildDepends = [ base deepseq ghc-prim ];
+       testDepends = [ base deepseq ghc-prim QuickCheck ];
+       homepage = "http://github.com/haskell/pretty";
+       description = "Pretty-printing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pretty-class" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "pretty-class";
+       version = "1.0.1.1";
+       sha256 = "1qdfp2kpahzflq9a3idwmb0pqs4l7almxn5rbw5gp2pmdx81p3am";
+       buildDepends = [ base pretty ];
+       homepage = "https://github.com/ddssff/pretty-class";
+       description = "Pretty printing class similar to Show";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pretty-compact" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "pretty-compact";
+       version = "1.0";
+       sha256 = "0k6yvdwcfhjp0dbfmc55xfncfry7b69hrp5rsaqm2iia3ahx0nan";
+       buildDepends = [ base ];
+       description = "Pretty-printing library";
+       license = "GPL";
+     }) {};
+
+  "pretty-hex" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "pretty-hex";
+       version = "1.0";
+       sha256 = "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz";
+       buildDepends = [ base bytestring ];
+       description = "A library for hex dumps of ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pretty-ncols" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "pretty-ncols";
+       version = "0.1";
+       sha256 = "0bvd8wgjrj9g86b1z8m9mjzswibrmhasgajnkgr2dlizl5lg7faq";
+       buildDepends = [ base pretty ];
+       description = "A implementation of multi-column layout w/ Text.PrettyPrint";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pretty-show" = callPackage
+    ({ mkDerivation, array, base, filepath, ghc-prim, happy
+     , haskell-lexer, pretty
+     }:
+     mkDerivation {
+       pname = "pretty-show";
+       version = "1.6.8.2";
+       sha256 = "1s95nzjkmqb747s50i68c9s8p91cxgydzqkd2l5yjzdaygrvrhqv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base filepath ghc-prim haskell-lexer pretty
+       ];
+       buildTools = [ happy ];
+       homepage = "http://wiki.github.com/yav/pretty-show";
+       description = "Tools for working with derived `Show` instances and generic inspection of values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pretty-sop" = callPackage
+    ({ mkDerivation, base, generics-sop, pretty-show }:
+     mkDerivation {
+       pname = "pretty-sop";
+       version = "0.1.0.1";
+       sha256 = "1sv6lwzgj9jv7lx3lb868md5w93p77mzspgxgqcss1kr9q5xyfvm";
+       buildDepends = [ base generics-sop pretty-show ];
+       description = "A generic pretty-printer using generics-sop";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pretty-tree" = callPackage
+    ({ mkDerivation, base, boxes, containers }:
+     mkDerivation {
+       pname = "pretty-tree";
+       version = "0.1.0.0";
+       sha256 = "0cf856qjacc0lmiina44s00i17ga2qrfr7wdlxhwiqdmpsh5g3fw";
+       buildDepends = [ base boxes containers ];
+       description = "Pretty-print trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prettyclass" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "prettyclass";
+       version = "1.0.0.0";
+       sha256 = "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5";
+       buildDepends = [ base pretty ];
+       description = "Pretty printing class similar to Show";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prim-uniq" = callPackage
+    ({ mkDerivation, base, dependent-sum, primitive }:
+     mkDerivation {
+       pname = "prim-uniq";
+       version = "0.1.0.1";
+       sha256 = "1zssi4zaihjaf3an10ar39d4qb155wcl1j66aymfrr9z2f2rf1gv";
+       buildDepends = [ base dependent-sum primitive ];
+       homepage = "https://github.com/mokus0/prim-uniq";
+       description = "Opaque unique identifiers in primitive state monads";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "primes" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "primes";
+       version = "0.2.1.0";
+       sha256 = "0ny6fzr967d1fifk050k95j9snnbjjif2bxf3v9s93k3zdc6bmkl";
+       buildDepends = [ base ];
+       homepage = "http://github.com/sebfisch/primes";
+       description = "Efficient, purely functional generation of prime numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "primitive_0_5_1_0" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "primitive";
+       version = "0.5.1.0";
+       revision = "1";
+       sha256 = "0a8mf8k62xga5r5dd0fna1swqbx2r94c0mvqnc4mfq640zrsa5w8";
+       editedCabalFile = "ee8bf53215343bfc18dc8d310fd0e03ad3eaab8b85afdbc97dea3b047e0d98ec";
+       buildDepends = [ base ghc-prim ];
+       homepage = "https://github.com/haskell/primitive";
+       description = "Primitive memory-related operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "primitive" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "primitive";
+       version = "0.5.4.0";
+       revision = "1";
+       sha256 = "05gdgj383xdrdkhxh26imlvs8ji0z28ny38ms9snpvv5i8l2lg10";
+       editedCabalFile = "df0a129c168c61a06a02123898de081b1d0b254cce6d7ab24b8f43ec37baef9e";
+       buildDepends = [ base ghc-prim ];
+       testDepends = [ base ghc-prim ];
+       homepage = "https://github.com/haskell/primitive";
+       description = "Primitive memory-related operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "primitive_0_6" = callPackage
+    ({ mkDerivation, base, ghc-prim, transformers }:
+     mkDerivation {
+       pname = "primitive";
+       version = "0.6";
+       sha256 = "08lpsvrgdvqh8xw7f1wzkvwdnkizblbym8y2xpknk0y62f9g799l";
+       buildDepends = [ base ghc-prim transformers ];
+       testDepends = [ base ghc-prim ];
+       homepage = "https://github.com/haskell/primitive";
+       description = "Primitive memory-related operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "primula-board" = callPackage
+    ({ mkDerivation, base, ConfigFile, containers, directory, happstack
+     , happstack-helpers, happstack-server, happstack-state, hsp
+     , MissingH, mtl, old-locale, old-time, random, regex-posix, split
+     , time
+     }:
+     mkDerivation {
+       pname = "primula-board";
+       version = "0.0.1";
+       sha256 = "0hh13i0idpwv509zavg92wwvp3s20vc1ivz7vfwa4kxp0h21phs9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile containers directory happstack happstack-helpers
+         happstack-server happstack-state hsp MissingH mtl old-locale
+         old-time random regex-posix split time
+       ];
+       homepage = "http://kagami.touhou.ru/projects/show/primula";
+       description = "ImageBoard on Happstack and HSP";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "primula-bot" = callPackage
+    ({ mkDerivation, base, ConfigFile, directory, HTTP, mtl, network
+     , parsec, utf8-string, XMPP
+     }:
+     mkDerivation {
+       pname = "primula-bot";
+       version = "0.0.2";
+       sha256 = "0j3xjlwvix81zxd38540jwb3vp438d72gmfxdhbypyi5f1qgx01x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base ConfigFile directory HTTP mtl network parsec utf8-string XMPP
+       ];
+       jailbreak = true;
+       homepage = "http://kagami.touhou.ru/projects/show/primula";
+       description = "Jabber-bot for primula-board ImageBoard";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "printf-mauke" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , template-haskell, utf8-string
+     }:
+     mkDerivation {
+       pname = "printf-mauke";
+       version = "0.6.0";
+       sha256 = "1fyxm4bdhv27g83q21d0j59p7da8kgi8sfnsp39xb8gl4k0gd80z";
+       buildDepends = [
+         base bytestring containers data-default template-haskell
+         utf8-string
+       ];
+       description = "A Perl printf like formatter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "printxosd" = callPackage
+    ({ mkDerivation, base, xosd }:
+     mkDerivation {
+       pname = "printxosd";
+       version = "0.1";
+       sha256 = "1myn6bp28d8nf92v9xf3iw5jvzwmrxbzf8px254hmzv8zvd5ki1i";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base xosd ];
+       homepage = "http://code.haskell.org/~dons/code/printxosd";
+       description = "Simple tool to display some text on an on-screen display";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "priority-queue" = callPackage
+    ({ mkDerivation, base, containers, queue, reord, stateref }:
+     mkDerivation {
+       pname = "priority-queue";
+       version = "0.2.2";
+       sha256 = "0nsiil0yl32m80a1kpg3z0wd5fxwkpz2lzf66pa06iy24q0rz5lf";
+       buildDepends = [ base containers queue reord stateref ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~mokus/priority-queue";
+       description = "Simple implementation of a priority queue";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "priority-sync" = callPackage
+    ({ mkDerivation, base, containers, parallel, PSQueue, random, stm
+     }:
+     mkDerivation {
+       pname = "priority-sync";
+       version = "0.2.1.1";
+       sha256 = "1ffg3ba6wfd72r2d86hq28y83qx80pdza939knay9hsnyw84vd6g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers parallel PSQueue random stm ];
+       description = "Cooperative task prioritization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "privileged-concurrency" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "privileged-concurrency";
+       version = "0.3";
+       sha256 = "0r345189lympvin6xw6r8s04dldj94kv2703ilcazm0a6mgf0q67";
+       buildDepends = [ base stm ];
+       description = "Provides privilege separated versions of the concurrency primitives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prizm" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "prizm";
+       version = "0.3.1.2";
+       sha256 = "0n0pihi8f8y349lmy6hcv2z728isvwjlcggv9pnhm8d0k97la2b9";
+       buildDepends = [ base text ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/ixmatus/prizm";
+       description = "Compute with colors and differenct color spaces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "probability" = callPackage
+    ({ mkDerivation, base, containers, random, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "probability";
+       version = "0.2.4.1";
+       sha256 = "0nh73l03d7niz3a3h2y4i80mlp64ilfkx7krn57skzfi8drwnjvc";
+       buildDepends = [ base containers random transformers utility-ht ];
+       homepage = "http://www.haskell.org/haskellwiki/Probabilistic_Functional_Programming";
+       description = "Probabilistic Functional Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "probable" = callPackage
+    ({ mkDerivation, base, mtl, mwc-random, primitive, statistics
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "probable";
+       version = "0.1.0.0";
+       sha256 = "1269cajfjnfrqacs874v6zczrb497474hqhid5wmm8f9fmhiy0wz";
+       buildDepends = [
+         base mtl mwc-random primitive statistics transformers vector
+       ];
+       homepage = "http://github.com/alpmestan/probable";
+       description = "Easy and reasonably efficient probabilistic programming and random generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "proc" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, process
+     , regex-tdfa, split, strict, xformat
+     }:
+     mkDerivation {
+       pname = "proc";
+       version = "0.0.9";
+       sha256 = "0p3cr4q34h81g77psypja4m0mgs9mwl51mfb5kdxj5xrsf2nd3la";
+       buildDepends = [
+         base containers directory filepath process regex-tdfa split strict
+         xformat
+       ];
+       description = "Parse process information for Linux";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "process_1_2_3_0" = callPackage
+    ({ mkDerivation, base, deepseq, directory, filepath, unix }:
+     mkDerivation {
+       pname = "process";
+       version = "1.2.3.0";
+       sha256 = "1ib01nkh513v5ab7wa255jqpsnqjsjdmh8d9dz8inqw3f4ah97k1";
+       buildDepends = [ base deepseq directory filepath unix ];
+       testDepends = [ base ];
+       description = "Process libraries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "process-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , control-monad-loop, hspec, mtl, process, resourcet, shakespeare
+     , shakespeare-text, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "process-conduit";
+       version = "1.2.0.1";
+       sha256 = "0hnbywmjvk3y26sc9a0jfqzm04pg08zd2bflld1mvni02s89lvc8";
+       buildDepends = [
+         base bytestring conduit control-monad-loop mtl process resourcet
+         shakespeare shakespeare-text template-haskell text
+       ];
+       testDepends = [
+         base bytestring conduit conduit-extra hspec resourcet
+       ];
+       homepage = "http://github.com/snoyberg/process-conduit";
+       description = "Conduits for processes (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "process-extras" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, ListLike, process, text
+     }:
+     mkDerivation {
+       pname = "process-extras";
+       version = "0.3.3.4";
+       sha256 = "1cnq7lzrwckyhd829ir8h1rbh404yw0m40lka7sl23i7mak51mbp";
+       buildDepends = [ base bytestring deepseq ListLike process text ];
+       homepage = "https://github.com/seereason/process-extras";
+       description = "Process extras";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "process-iterio" = callPackage
+    ({ mkDerivation, base, bytestring, cpphs, iterIO, process
+     , transformers
+     }:
+     mkDerivation {
+       pname = "process-iterio";
+       version = "0.0.0";
+       sha256 = "18kdj70fv4y5fnw7d8pd0mbvlwca1pm1f88z4ibpji0n4dja332z";
+       buildDepends = [
+         base bytestring cpphs iterIO process transformers
+       ];
+       testDepends = [
+         base bytestring cpphs iterIO process transformers
+       ];
+       homepage = "https://github.com/garious/process-iterio";
+       description = "IterIO Process Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "process-leksah" = callPackage
+    ({ mkDerivation, base, directory, filepath, unix }:
+     mkDerivation {
+       pname = "process-leksah";
+       version = "1.0.1.4";
+       sha256 = "1899ybhnsj22sir2l933lhkk9fpcgjbb4qd6gscnby28qcs5bwbv";
+       buildDepends = [ base directory filepath unix ];
+       jailbreak = true;
+       description = "Process libraries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "process-listlike" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, ListLike, process, text
+     }:
+     mkDerivation {
+       pname = "process-listlike";
+       version = "1.0";
+       sha256 = "0yaz90pfpx9kahwbvbvl2ir62imxxsq7v72i67ac2zv3585c427r";
+       buildDepends = [ base bytestring deepseq ListLike process text ];
+       homepage = "https://github.com/ddssff/process-listlike";
+       description = "Process extras";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "process-progress" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, HUnit, ListLike, mtl
+     , process, process-listlike, text, time, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "process-progress";
+       version = "0.14";
+       sha256 = "0kdzb8m6fx0ah9i15fpcz6phzqd88g4djf0a5h0vi4d4qkib6kin";
+       buildDepends = [
+         base bytestring deepseq HUnit ListLike mtl process process-listlike
+         text time unix utf8-string
+       ];
+       homepage = "https://src.seereason.com/process-progress";
+       description = "Run a process and do reportsing on its progress";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "process-qq" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, mtl, process
+     , shakespeare-text, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "process-qq";
+       version = "0.2.0";
+       sha256 = "1495dc39kjf9mjvn7ag8hb95bsmhb18sd0ykg4mz7rrl0q03ig2a";
+       buildDepends = [
+         base bytestring enumerator mtl process shakespeare-text
+         template-haskell text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tanakh/process-qq";
+       description = "Quasi-Quoters for exec process";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "process-streaming" = callPackage
+    ({ mkDerivation, attoparsec, base, bifunctors, bytestring, conceit
+     , containers, contravariant, directory, doctest, exceptions
+     , filepath, foldl, free, lens, pipes, pipes-attoparsec
+     , pipes-bytestring, pipes-concurrency, pipes-group, pipes-parse
+     , pipes-safe, pipes-text, process, semigroups, tasty, tasty-hunit
+     , text, transformers, transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "process-streaming";
+       version = "0.7.1.0";
+       sha256 = "07f3qykiqf3a2al2dj72fm2mlpl263vgvb4n3m9a32lf7mw6243d";
+       buildDepends = [
+         base bifunctors bytestring conceit containers contravariant foldl
+         free pipes pipes-bytestring pipes-concurrency pipes-parse
+         pipes-safe pipes-text process semigroups text transformers
+         transformers-compat void
+       ];
+       testDepends = [
+         attoparsec base bifunctors bytestring containers directory doctest
+         exceptions filepath free lens pipes pipes-attoparsec
+         pipes-bytestring pipes-concurrency pipes-group pipes-parse
+         pipes-safe pipes-text process semigroups tasty tasty-hunit text
+         transformers transformers-compat void
+       ];
+       jailbreak = true;
+       description = "Streaming interface to system processes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "processing" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, directory, filepath
+     , mainland-pretty, multiset, QuickCheck, quickcheck-instances
+     , template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "processing";
+       version = "1.2.0.1";
+       sha256 = "1axryd8453b2l4hbhqy5vkj29hqppsvk1sqxbawdhk3d3hs705pa";
+       buildDepends = [
+         base blaze-html containers directory filepath mainland-pretty
+         multiset QuickCheck quickcheck-instances template-haskell text
+         transformers
+       ];
+       description = "Web graphic applications with processing.js.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "processor-creative-kit" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , deepseq, mtl
+     }:
+     mkDerivation {
+       pname = "processor-creative-kit";
+       version = "0.1.0.1";
+       sha256 = "1jshzych1vbb24bm219sdpxkb2amvv11fbhqwf7iy4l1prg248h7";
+       buildDepends = [
+         array attoparsec base bytestring containers deepseq mtl
+       ];
+       homepage = "https://github.com/takenobu-hs/processor-creative-kit";
+       description = "a creation kit for instruction sets and cpu simulators and development tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "procrastinating-structure" = callPackage
+    ({ mkDerivation, base, procrastinating-variable }:
+     mkDerivation {
+       pname = "procrastinating-structure";
+       version = "1.0.1";
+       sha256 = "126mp2mfmy9xg1kichl19ga6j3w1s0qpk3hqh47x5x5120qh63l3";
+       buildDepends = [ base procrastinating-variable ];
+       description = "Pure structures that can be incrementally created in impure code";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "procrastinating-variable" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "procrastinating-variable";
+       version = "1.0.2";
+       sha256 = "12px0nk7j74hyfzcvxacd9020gk3cd3ijqb7fjmmg8y33354jkc4";
+       buildDepends = [ base ];
+       homepage = "http://github.com/gcross/procrastinating-variable";
+       description = "Haskell values that cannot be evaluated immediately";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "procstat" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring }:
+     mkDerivation {
+       pname = "procstat";
+       version = "0.1.0.1";
+       sha256 = "1md75jc32nfnvs7ygf1mna00gl0wmimp2lkdcs9r9v0iy4b1hr5m";
+       buildDepends = [ attoparsec base bytestring ];
+       jailbreak = true;
+       homepage = "http://closure.ath.cx/procstat";
+       description = "get information on processes in Linux";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "proctest" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, HUnit, process
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "proctest";
+       version = "0.1.3.0";
+       sha256 = "02iz323arx9zwclvspgaaqz81bp6jdnj89pjm08n2gamg39zsbdn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring hspec HUnit process QuickCheck text
+       ];
+       homepage = "https://github.com/nh2/proctest";
+       description = "An IO library for testing interactive command line programs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "product-profunctors" = callPackage
+    ({ mkDerivation, base, contravariant, profunctors, template-haskell
+     }:
+     mkDerivation {
+       pname = "product-profunctors";
+       version = "0.6";
+       revision = "4";
+       sha256 = "1qhl2v0shzip5yh7x7b6k7xsnd4d5spf1f69h0qr0l57lm6jywl4";
+       editedCabalFile = "84407dc2bb4ba0fab1d21463e367149586a67758f2f6bba8eaa86b0cb1f07ac0";
+       buildDepends = [ base contravariant profunctors template-haskell ];
+       testDepends = [ base profunctors ];
+       homepage = "https://github.com/tomjaguarpaw/product-profunctors";
+       description = "product-profunctors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prof2dot" = callPackage
+    ({ mkDerivation, base, containers, filepath, haskell98, parsec }:
+     mkDerivation {
+       pname = "prof2dot";
+       version = "0.4.1";
+       sha256 = "1cf1ysnfpng7ijgsbnly5878wg7cp907cqpvf4yq9sd6nym8hcng";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers filepath haskell98 parsec ];
+       homepage = "http://antiope.com/downloads.html";
+       description = "Convert GHC profiles into GraphViz's dot format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "prof2pretty" = callPackage
+    ({ mkDerivation, base, containers, filepath, haskell-src-exts
+     , semigroups, uniplate, zenc
+     }:
+     mkDerivation {
+       pname = "prof2pretty";
+       version = "0.1.0.0";
+       sha256 = "104frg0czfk4rgjxyf0xz7100j3y9ndvf01jgv3yibaq98v2h64r";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath haskell-src-exts semigroups uniplate zenc
+       ];
+       homepage = "https://gitorious.org/prof2pretty";
+       description = "generate pretty source from time/allocation profiles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "profiteur" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, filepath
+     , text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "profiteur";
+       version = "0.2.0.0";
+       sha256 = "0pgjd7a8xflnk0v2r2smc5qb7j8zsr5qrlxkdk36547plfjfvnv4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring filepath text unordered-containers
+         vector
+       ];
+       homepage = "http://github.com/jaspervdj/profiteur";
+       description = "Treemap visualiser for GHC prof files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "profunctor-extras" = callPackage
+    ({ mkDerivation, base, profunctors }:
+     mkDerivation {
+       pname = "profunctor-extras";
+       version = "4.0";
+       sha256 = "10j458liqlyz5s9gkg95c6aq7ap5fa7d8pc7hygy71nn87pm2g4a";
+       buildDepends = [ base profunctors ];
+       homepage = "http://github.com/ekmett/profunctor-extras/";
+       description = "This package has been absorbed into profunctors 4.0";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "profunctors" = callPackage
+    ({ mkDerivation, base, comonad, distributive, semigroupoids, tagged
+     , transformers
+     }:
+     mkDerivation {
+       pname = "profunctors";
+       version = "4.4.1";
+       revision = "1";
+       sha256 = "1x5q4bc18cyxajv39xxbxzgpq75xzrhx450n8rc3p8gir92hx645";
+       editedCabalFile = "72f05aa59d302bcd53277bdff17e920bc0128e5787b2f8edf584c517cd084db7";
+       buildDepends = [
+         base comonad distributive semigroupoids tagged transformers
+       ];
+       homepage = "http://github.com/ekmett/profunctors/";
+       description = "Profunctors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "progress" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "progress";
+       version = "1.0";
+       sha256 = "0cac4v6k2nrpglnf3680y334kw4k0s6xfm86wrfyszl5sq2a7w94";
+       buildDepends = [ base time ];
+       description = "Simple progress tracking & projection library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "progressbar" = callPackage
+    ({ mkDerivation, base, io-reactive }:
+     mkDerivation {
+       pname = "progressbar";
+       version = "0.0.1";
+       sha256 = "09yfspxcdp4y5chim2qmylfmjp0kdg4qg2w54kg3hir8f7kih3ns";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base io-reactive ];
+       description = "Progressbar API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "progression" = callPackage
+    ({ mkDerivation, base, containers, criterion, directory, filepath
+     , haskeline, process, txt-sushi
+     }:
+     mkDerivation {
+       pname = "progression";
+       version = "0.5.0.2";
+       sha256 = "01s01v59hjy5i8dd9a1gxjpyw2qq3r81np7acn94wjh64c8rrmpa";
+       buildDepends = [
+         base containers criterion directory filepath haskeline process
+         txt-sushi
+       ];
+       jailbreak = true;
+       homepage = "http://chplib.wordpress.com/2010/02/04/progression-supporting-optimisation-in-haskell/";
+       description = "Automates the recording and graphing of criterion benchmarks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "progressive" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, ghc-prim, process, text
+     }:
+     mkDerivation {
+       pname = "progressive";
+       version = "0.1.0.1";
+       sha256 = "1psbgl19x2wwh4rcd4nsayrc1bq2g27qywr1m9jgmshcz1cinpbh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory filepath ghc-prim
+         process text
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/gchrupala/progression";
+       description = "Multilabel classification model which learns sequentially (online)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "proj4-hs-bindings" = callPackage
+    ({ mkDerivation, base, ghc-prim, proj }:
+     mkDerivation {
+       pname = "proj4-hs-bindings";
+       version = "0.1";
+       sha256 = "0cwkjg1bm1swl103nsziyc71yqgvdq82ywgi2jnn7cj9lk4ihrah";
+       buildDepends = [ base ghc-prim ];
+       extraLibraries = [ proj ];
+       description = "Haskell bindings for the Proj4 C dynamic library";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) proj;};
+
+  "project-template" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, conduit
+     , conduit-extra, containers, hspec, mtl, QuickCheck, resourcet
+     , system-fileio, system-filepath, text, transformers
+     }:
+     mkDerivation {
+       pname = "project-template";
+       version = "0.1.4.2";
+       sha256 = "10n23s6g7fv0l42hsb804z0qqcyxqw32kwzg1f0w3c6gka844akr";
+       buildDepends = [
+         base base64-bytestring bytestring conduit conduit-extra containers
+         mtl resourcet system-fileio system-filepath text transformers
+       ];
+       testDepends = [
+         base base64-bytestring bytestring conduit containers hspec
+         QuickCheck resourcet system-filepath text transformers
+       ];
+       homepage = "https://github.com/fpco/haskell-ide";
+       description = "Specify Haskell project templates and generate files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "projection" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "projection";
+       version = "0.1";
+       revision = "1";
+       sha256 = "0g9zrdp92w8ygrsmbw4600xaf8d17sm4pq68qd6z7hnf8zps22c1";
+       editedCabalFile = "805db4a9404200c6d8c00b7e96f95c9c71e3595b6601f75efed7237ad5bed30b";
+       buildDepends = [ base ];
+       description = "Projection function for arbitrarily nested binary product types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prolog" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec, syb
+     , template-haskell, th-lift, transformers
+     }:
+     mkDerivation {
+       pname = "prolog";
+       version = "0.2.0.1";
+       sha256 = "073sd3rhcfqw9csm0qsbc57ix57dv3k5yjr9hcc33b9zq5y10sp0";
+       buildDepends = [
+         base containers mtl parsec syb template-haskell th-lift
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Erdwolf/prolog";
+       description = "A Prolog interpreter written in Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "prolog-graph" = callPackage
+    ({ mkDerivation, base, cmdargs, fgl, graphviz, mtl, prolog
+     , prolog-graph-lib, text
+     }:
+     mkDerivation {
+       pname = "prolog-graph";
+       version = "0.1.0.2";
+       sha256 = "1w3wz0sn1qhw286g3arin30jvlldadw976xr7hp0afdvqicl3892";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs fgl graphviz mtl prolog prolog-graph-lib text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Erdwolf/prolog";
+       description = "A command line tool to visualize query resolution in Prolog";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "prolog-graph-lib" = callPackage
+    ({ mkDerivation, base, fgl, graphviz, mtl, prolog, text }:
+     mkDerivation {
+       pname = "prolog-graph-lib";
+       version = "0.2.0.1";
+       sha256 = "02xa4hqmhmsv7vkdy3m3dr1w3z88kc8ly0jjn7q6pba5yarci7nr";
+       buildDepends = [ base fgl graphviz mtl prolog text ];
+       homepage = "https://github.com/Erdwolf/prolog";
+       description = "Generating images of resolution trees for Prolog queries";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "promise" = callPackage
+    ({ mkDerivation, async, base }:
+     mkDerivation {
+       pname = "promise";
+       version = "0.1.0.0";
+       sha256 = "1hzsprmw15apc654n77ima1pgs9nj6287d412jb5z37154bd0nfg";
+       buildDepends = [ async base ];
+       homepage = "http://github.com/jfischoff/promise";
+       description = "A monadic interface for async";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "propane" = callPackage
+    ({ mkDerivation, base, colour, containers, directory, filepath
+     , repa, repa-devil, spawn
+     }:
+     mkDerivation {
+       pname = "propane";
+       version = "0.1";
+       sha256 = "1kzlwsxka72h3a612xi2s741hdx88qsib07kcralv2k76krqxlj4";
+       buildDepends = [
+         base colour containers directory filepath repa repa-devil spawn
+       ];
+       description = "Functional synthesis of images and animations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "propellor" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
+     , directory, filepath, hslogger, IfElse, MissingH
+     , MonadCatchIO-transformers, mtl, network, process, QuickCheck
+     , time, unix, unix-compat
+     }:
+     mkDerivation {
+       pname = "propellor";
+       version = "2.2.1";
+       sha256 = "0dc1km96k58m98ww7z2n8d167ihr5b7vws4y2va4nl30ghpfga56";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal async base bytestring containers directory filepath
+         hslogger IfElse MissingH MonadCatchIO-transformers mtl network
+         process QuickCheck time unix unix-compat
+       ];
+       homepage = "https://propellor.branchable.com/";
+       description = "property-based host configuration management in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "properties" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "properties";
+       version = "0.0.2";
+       sha256 = "04a35zxgps9rn6y86x3jf6gma6kjl8izmnyl45hz64cl9yb5dwwi";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "check quickCheck properties in real time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "property-list" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cereal
+     , containers, free, old-locale, oneOfN, recursion-schemes, syb
+     , template-haskell, text, time, transformers, vector, xml
+     }:
+     mkDerivation {
+       pname = "property-list";
+       version = "0.1.0.4";
+       sha256 = "19i0pzdys7k0gavax6ygk0x58cf636phzp2r99glyn8qcb51yj0z";
+       buildDepends = [
+         base base64-bytestring bytestring cereal containers free old-locale
+         oneOfN recursion-schemes syb template-haskell text time
+         transformers vector xml
+       ];
+       homepage = "https://github.com/mokus0/property-list";
+       description = "Apple property list parser";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "proplang" = callPackage
+    ({ mkDerivation, base, glade, glib, gtk }:
+     mkDerivation {
+       pname = "proplang";
+       version = "0.1";
+       sha256 = "1vm01qvd0jgcdpqx3p2h6gafhxi5x7bs8r5a6xsk4zz6cc1cbw4m";
+       buildDepends = [ base glade glib gtk ];
+       homepage = "http://www-users.cs.york.ac.uk/~ndm/proplang/";
+       description = "A library for functional GUI development";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "props" = callPackage
+    ({ mkDerivation, base, doctest, QuickCheck }:
+     mkDerivation {
+       pname = "props";
+       version = "0.1.2";
+       sha256 = "10bkbqhl15xgc9iglx0f9h218a2hcfg0wali2c6a17wvlpfcwjbx";
+       buildDepends = [ base ];
+       testDepends = [ base doctest QuickCheck ];
+       homepage = "http://github.com/deviant-logic/props";
+       description = "Reusable quickcheck properties";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "proteaaudio" = callPackage
+    ({ mkDerivation, alsaLib, base, c2hs }:
+     mkDerivation {
+       pname = "proteaaudio";
+       version = "0.6.2";
+       sha256 = "10ayg0pr7vjffk8l114gwf098kpmamirk6cknw1xhpnr7hwr1mln";
+       buildDepends = [ base ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ alsaLib ];
+       description = "A wrapper for the proteaaudio library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) alsaLib;};
+
+  "protobuf" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers
+     , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged
+     , tasty, tasty-hunit, tasty-quickcheck, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "protobuf";
+       version = "0.2.0.4";
+       sha256 = "0gg678cb1psgdsjzv9x7mhcjmywj8bgzmp9pd850d3p9zyiw9l2j";
+       buildDepends = [
+         base bytestring cereal data-binary-ieee754 deepseq mtl text
+         unordered-containers
+       ];
+       testDepends = [
+         base bytestring cereal containers hex HUnit mtl QuickCheck tagged
+         tasty tasty-hunit tasty-quickcheck text unordered-containers
+       ];
+       homepage = "https://github.com/alphaHeavy/protobuf";
+       description = "Google Protocol Buffers via GHC.Generics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "protobuf-native" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cplusplus-th, criterion
+     , hprotoc-fork, protobuf, protocol-buffers-fork, QuickCheck
+     , template-haskell, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "protobuf-native";
+       version = "1.0.0.1";
+       sha256 = "0k3cljm4r3jxlklkmfhv0362hg8095f1cq73mgdqkbqa5gwrk86r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cplusplus-th template-haskell text
+       ];
+       testDepends = [
+         base bytestring cereal cplusplus-th criterion hprotoc-fork protobuf
+         protocol-buffers-fork QuickCheck text utf8-string
+       ];
+       extraLibraries = [ protobuf ];
+       jailbreak = true;
+       homepage = "https://github.com/nicta/protobuf-native";
+       description = "Protocol Buffers via C++";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) protobuf;};
+
+  "protocol-buffers" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, filepath, mtl, parsec, syb, utf8-string
+     }:
+     mkDerivation {
+       pname = "protocol-buffers";
+       version = "2.0.17";
+       sha256 = "12aky44ssgdj6vsjg0yvr8350cym7n6kn7gdaax0nxzpfxrjfy1v";
+       buildDepends = [
+         array base binary bytestring containers directory filepath mtl
+         parsec syb utf8-string
+       ];
+       homepage = "http://code.haskell.org/protocol-buffers/";
+       description = "Parse Google Protocol Buffer specifications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "protocol-buffers-descriptor" = callPackage
+    ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
+     mkDerivation {
+       pname = "protocol-buffers-descriptor";
+       version = "2.0.17";
+       sha256 = "0jl041645d83iqqiw891d2k760jql6djvi2mmjh9lnmp48lwjy3p";
+       buildDepends = [ base bytestring containers protocol-buffers ];
+       homepage = "http://code.haskell.org/protocol-buffers/";
+       description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "protocol-buffers-descriptor-fork" = callPackage
+    ({ mkDerivation, base, bytestring, containers
+     , protocol-buffers-fork
+     }:
+     mkDerivation {
+       pname = "protocol-buffers-descriptor-fork";
+       version = "2.0.16";
+       sha256 = "1wn6yqs70n26j6z44yfmz4j4rwj2h1zfpysn56wzaq7bwsdb0bqb";
+       buildDepends = [
+         base bytestring containers protocol-buffers-fork
+       ];
+       homepage = "http://darcs.factisresearch.com/pub/protocol-buffers-fork/";
+       description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "protocol-buffers-fork" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, filepath, mtl, syb, utf8-string
+     }:
+     mkDerivation {
+       pname = "protocol-buffers-fork";
+       version = "2.0.16";
+       sha256 = "061kc43dg3xdv81wmj4yjm1s6amrd8ql59nj7vff4vdb87v9nriz";
+       buildDepends = [
+         array base binary bytestring containers directory filepath mtl syb
+         utf8-string
+       ];
+       homepage = "http://darcs.factisresearch.com/pub/protocol-buffers-fork/";
+       description = "Parse Google Protocol Buffer specifications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prototype" = callPackage
+    ({ mkDerivation, base, monads-tf }:
+     mkDerivation {
+       pname = "prototype";
+       version = "0.5.3";
+       sha256 = "1kzinhdy622gzg3mzfln15vgi890i2l3lkrgrw0n0yb08r2n53i7";
+       buildDepends = [ base monads-tf ];
+       description = "prototype-based programming on Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "prove-everywhere-server" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , http-types, optparse-applicative, parsec, parsers, process, safe
+     , text, time, unordered-containers, wai, warp
+     }:
+     mkDerivation {
+       pname = "prove-everywhere-server";
+       version = "0.1.1";
+       sha256 = "127ky7rj9d2bqaddcg99azm18m65ksxr26amq0r5prhym8kmc3jx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring case-insensitive http-types
+         optparse-applicative parsec parsers process safe text time
+         unordered-containers wai warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/prove-everywhere/server";
+       description = "The server for ProveEverywhere";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "proxy-kindness" = callPackage
+    ({ mkDerivation, base, tagged }:
+     mkDerivation {
+       pname = "proxy-kindness";
+       version = "0.1";
+       sha256 = "0wpzj6hnlxvgd7lfd2921mrk97aw7ljf77jry3my97zdapkxz8i7";
+       buildDepends = [ base tagged ];
+       jailbreak = true;
+       homepage = "https://github.com/jberryman/proxy-kindness";
+       description = "A library for kind-polymorphic manipulation and inspection of Proxy values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pseudo-trie" = callPackage
+    ({ mkDerivation, base, semigroups }:
+     mkDerivation {
+       pname = "pseudo-trie";
+       version = "0.0.4.2";
+       sha256 = "0b09qxgxv86wmcsns2rl00pna0a3jfngddyzk9dfjk1xjaq8cb59";
+       buildDepends = [ base semigroups ];
+       description = "A tagged rose-tree with short circuited unique leaves";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pseudomacros" = callPackage
+    ({ mkDerivation, base, old-locale, template-haskell, time }:
+     mkDerivation {
+       pname = "pseudomacros";
+       version = "0.0.1";
+       sha256 = "168vqim5m72yl51w6pi9vxzp324i1gnawrl2zlsayw81s7lf1jp4";
+       buildDepends = [ base old-locale template-haskell time ];
+       description = "cpp-style built-in macros using Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "psqueues" = callPackage
+    ({ mkDerivation, array, base, deepseq, ghc-prim, hashable, HUnit
+     , QuickCheck, tagged, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "psqueues";
+       version = "0.2.0.1";
+       sha256 = "1c1m5dzglpn3la61gxd6cz1b9fdmn9fkc9y5xnl4wf12fwpsg8bf";
+       buildDepends = [ base deepseq ghc-prim hashable ];
+       testDepends = [
+         array base deepseq ghc-prim hashable HUnit QuickCheck tagged
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       description = "Pure priority search queues";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pub" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, ConfigFile, containers
+     , groom, hedis, hslogger, mtl, network, pipes, pipes-bytestring
+     , safe, system-filepath, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "pub";
+       version = "2.0.2";
+       sha256 = "0ps4i5q4kzkla6gzr8amf2bql2y5g0gb4dbjf9w0q58yzzvpp2c8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs ConfigFile containers groom hedis hslogger
+         mtl network pipes pipes-bytestring safe system-filepath text time
+         transformers
+       ];
+       jailbreak = true;
+       description = "Pipe stdin to a redis pub/sub channel";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "publicsuffixlist" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, data-default
+     , HUnit, idna, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "publicsuffixlist";
+       version = "0.1";
+       sha256 = "0mbrmhgyjp8jms3fd3nq4knc4j97sw8ijrmnlfjs7qj8jw4vwzxk";
+       buildDepends = [
+         base bytestring cereal containers data-default text utf8-string
+       ];
+       testDepends = [
+         base bytestring cereal containers data-default HUnit idna text
+         utf8-string
+       ];
+       homepage = "https://github.com/litherum/publicsuffixlist";
+       description = "Is a given string a domain suffix?";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "publicsuffixlistcreate" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, containers
+     , data-default, HUnit, idna, publicsuffixlist, text
+     }:
+     mkDerivation {
+       pname = "publicsuffixlistcreate";
+       version = "0.0.2";
+       sha256 = "0v4arfixnfzpsi3hvik2s2lqqp61324bd98wc8ympqxlmldpbri3";
+       buildDepends = [
+         base bytestring conduit containers data-default idna
+         publicsuffixlist text
+       ];
+       testDepends = [ base cereal HUnit publicsuffixlist ];
+       jailbreak = true;
+       homepage = "https://github.com/litherum/publicsuffixlist";
+       description = "Create the publicsuffixlist package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pubnub" = callPackage
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
+     , Cabal, cipher-aes, conduit, conduit-extra, crypto-api
+     , crypto-cipher-types, data-default, http-client, http-conduit
+     , http-types, HUnit, lifted-base, mtl, QuickCheck, SHA, smallcheck
+     , tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck, text
+     , time, transformers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "pubnub";
+       version = "1.1.1";
+       sha256 = "0clcf5gsw34gpqycw652wq8ndmlzz48mf2gla0g7j815j21hrhv8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base base64-bytestring bytestring Cabal cipher-aes
+         conduit conduit-extra crypto-api crypto-cipher-types data-default
+         http-client http-conduit http-types HUnit lifted-base mtl
+         QuickCheck SHA smallcheck tasty tasty-hunit tasty-quickcheck
+         tasty-smallcheck text time transformers uuid vector
+       ];
+       testDepends = [
+         base Cabal HUnit QuickCheck smallcheck tasty tasty-hunit
+         tasty-quickcheck tasty-smallcheck
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/pubnub/haskell";
+       description = "PubNub Haskell SDK";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pubsub" = callPackage
+    ({ mkDerivation, base, fastcgi, feed, HTTP, json, mime, network
+     , random, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "pubsub";
+       version = "0.11";
+       sha256 = "09xaycbzq50q1299r4s84nb8wjhqalimvipv8z135fifvgdsjpm8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base fastcgi feed HTTP json mime network random utf8-string xml
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/pubsub/";
+       description = "A library for Google/SixApart pubsub hub interaction";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "puffytools" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
+     , console-program, containers, directory, MissingH, old-locale
+     , QuickCheck, random-fu, safe, test-framework
+     , test-framework-quickcheck2, text, time, vector
+     }:
+     mkDerivation {
+       pname = "puffytools";
+       version = "0.0.0.1";
+       sha256 = "0pqqcs3plrhq6474j29lnwvc6fhr1wskb0ph8x64gzv9ly52dc9i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base bytestring console-program containers
+         directory MissingH old-locale random-fu safe text time vector
+       ];
+       testDepends = [
+         aeson base bytestring QuickCheck test-framework
+         test-framework-quickcheck2 text time vector
+       ];
+       homepage = "https://github.com/pharpend/puffytools";
+       description = "A CLI assistant";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pugixml" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, tasty
+     , tasty-hunit, template-haskell
+     }:
+     mkDerivation {
+       pname = "pugixml";
+       version = "0.3.2";
+       sha256 = "0pvvx7cd16a7cjp991l487p0vgpkdyv7ic64brz92bkjxgrpw94i";
+       buildDepends = [
+         base bytestring data-default-class template-haskell
+       ];
+       testDepends = [ base bytestring tasty tasty-hunit ];
+       homepage = "https://github.com/philopon/pugixml-hs";
+       description = "pugixml binding";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "pugs-DrIFT" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HsSyck, mtl
+     , old-time, pretty, random, stm, utf8-string
+     }:
+     mkDerivation {
+       pname = "pugs-DrIFT";
+       version = "2.2.3.20130611";
+       sha256 = "0c5h829zh8clggf53byng4gh5g0zxk3763w1nk0ihf2laak238c6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers HsSyck mtl old-time pretty random stm
+         utf8-string
+       ];
+       homepage = "http://pugscode.org/";
+       description = "DrIFT with pugs-specific rules";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pugs-HsSyck" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "pugs-HsSyck";
+       version = "0.41";
+       sha256 = "108dfhd83yzmlhbgff6j0a40r6vx9aq9dcdd8swk4yib9gbvsrp1";
+       buildDepends = [ base bytestring ];
+       description = "Fast, lightweight YAML loader and dumper";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pugs-compat" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , mtl, network, process, random, regex-base, regex-pcre-builtin
+     , stm, stringtable-atom, syb, time, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "pugs-compat";
+       version = "0.0.6.20130611.0";
+       sha256 = "15pgg4z6clqgazi70jac280ib0d4rhz1hdqbg5i4kffziv2q6jsm";
+       buildDepends = [
+         array base bytestring containers directory mtl network process
+         random regex-base regex-pcre-builtin stm stringtable-atom syb time
+         unix utf8-string
+       ];
+       description = "Portable Haskell/POSIX layer for Pugs";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pugs-hsregex" = callPackage
+    ({ mkDerivation, array, base, haskell98 }:
+     mkDerivation {
+       pname = "pugs-hsregex";
+       version = "1.0";
+       sha256 = "1px8qvz7afws2w8scplxs4zm628anvh5ssbf0ba9hajh686h133i";
+       buildDepends = [ array base haskell98 ];
+       homepage = "http://repetae.net/john/computer/haskell/hsregex/";
+       description = "Haskell PCRE binding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pulse-simple" = callPackage
+    ({ mkDerivation, base, bytestring, pulse-simple }:
+     mkDerivation {
+       pname = "pulse-simple";
+       version = "0.1.14";
+       sha256 = "1as1cnx50mqmib5llzy2w218rg7dxmhz6nfa9kryfjzk0n5rshl4";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ pulse-simple ];
+       description = "binding to Simple API of pulseaudio";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { pulse-simple = null;};
+
+  "punkt" = callPackage
+    ({ mkDerivation, array, base, mtl, regex-tdfa, regex-tdfa-text
+     , tasty, tasty-hunit, tasty-quickcheck, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "punkt";
+       version = "0.1.1";
+       sha256 = "0hhrpkbgm56zs1ynd0ba37fv1vg2bxr79kfb2myjfxsnc6gr4h9b";
+       buildDepends = [
+         array base mtl regex-tdfa regex-tdfa-text text unordered-containers
+       ];
+       testDepends = [
+         base mtl regex-tdfa tasty tasty-hunit tasty-quickcheck text
+       ];
+       homepage = "https://github.com/bryant/punkt";
+       description = "Multilingual unsupervised sentence tokenization with Punkt";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "punycode" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, encoding, HUnit, mtl
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "punycode";
+       version = "2.0";
+       sha256 = "192jgfixnpxdj6jiiz92kx5bi6ij3c389b76q9f4vyfmvcajj1sr";
+       buildDepends = [ base bytestring cereal mtl text ];
+       testDepends = [
+         base bytestring cereal encoding HUnit mtl QuickCheck text
+       ];
+       homepage = "https://github.com/litherum/punycode";
+       description = "Encode unicode strings to ascii forms according to RFC 3492";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "puppetresources" = callPackage
+    ({ mkDerivation, base, bytestring, containers, Diff, hsfacter
+     , hslogger, language-puppet, mtl, text
+     }:
+     mkDerivation {
+       pname = "puppetresources";
+       version = "0.4.2";
+       sha256 = "064swfpxk7jhb81bi0v9l0r1hn0z2cafnzx7ijdr33xhikyc92rb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers Diff hsfacter hslogger language-puppet
+         mtl text
+       ];
+       homepage = "http://lpuppet.banquise.net";
+       description = "A program that displays the puppet resources associated to a node given .pp files.";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pure-cdb" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , mtl, test-simple, Unixutils, vector
+     }:
+     mkDerivation {
+       pname = "pure-cdb";
+       version = "0.1.1";
+       sha256 = "1yjh7h02hkhx2vgvn7qfmfd3bp12ibpkf4znybsd2bfh0i1pzn0n";
+       buildDepends = [
+         base binary bytestring containers directory mtl vector
+       ];
+       testDepends = [
+         base bytestring containers mtl test-simple Unixutils vector
+       ];
+       homepage = "https://github.com/bosu/pure-cdb";
+       description = "Another pure-haskell CDB (Constant Database) implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pure-fft" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "pure-fft";
+       version = "0.2.0";
+       sha256 = "1zzravfgxbx07c38pf0p73a9nzjk2pbq3hzfw8v9zkqj95b3l94i";
+       buildDepends = [ base ];
+       description = "Fast Fourier Transform";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pure-io" = callPackage
+    ({ mkDerivation, base, containers, mtl, safe }:
+     mkDerivation {
+       pname = "pure-io";
+       version = "0.2.1";
+       sha256 = "0pzvkd8jxw859s187n972yaq5wmwi00cxwhivgffr7z29hr0zvx9";
+       buildDepends = [ base containers mtl safe ];
+       description = "Pure IO monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pure-priority-queue" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "pure-priority-queue";
+       version = "0.14";
+       sha256 = "125vnkjx6n7pgflk9iqg7b6daw55a1rdfi9pfgp39ikfcx9vhb3p";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       description = "A pure priority queue";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pure-priority-queue-tests" = callPackage
+    ({ mkDerivation, base, containers, pure-priority-queue, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "pure-priority-queue-tests";
+       version = "0.12";
+       sha256 = "17x2drpmdppzxp3nnxq0vajxrzdnhpapk9rz9qcqaxbg934c7h3d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers pure-priority-queue QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "Tests for the pure-priority-queue package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pure-zlib" = callPackage
+    ({ mkDerivation, base, bytestring, containers, fingertree, HUnit
+     , monadLib, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "pure-zlib";
+       version = "0.3";
+       sha256 = "1in93rx2y3zaahzpblwybskjrbwc0zrzh792ibi64jxvkrxjkyxn";
+       buildDepends = [ base bytestring containers fingertree monadLib ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/GaloisInc/pure-zlib";
+       description = "A Haskell-only implementation of zlib / DEFLATE";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pureMD5" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, crypto-api
+     , tagged
+     }:
+     mkDerivation {
+       pname = "pureMD5";
+       version = "2.1.2.1";
+       sha256 = "1zsn949qk95bwx1fbyv84q0lhb4k18bgixl7nivfzsnmhr31fs37";
+       buildDepends = [ base binary bytestring cereal crypto-api tagged ];
+       description = "A Haskell-only implementation of the MD5 digest (hash) algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "purescript" = callPackage
+    ({ mkDerivation, base, boxes, containers, directory, file-embed
+     , filepath, haskeline, mtl, nodejs, optparse-applicative, parsec
+     , pattern-arrows, process, time, transformers, unordered-containers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "purescript";
+       version = "0.6.9.3";
+       sha256 = "1hdxj1qxxvkjacm8msfn1xjbgwhmg0kx5ha1fxv11nks0m0h4wcr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base boxes containers directory file-embed filepath haskeline mtl
+         optparse-applicative parsec pattern-arrows process time
+         transformers unordered-containers utf8-string
+       ];
+       testDepends = [
+         base containers directory filepath mtl parsec process transformers
+       ];
+       buildTools = [ nodejs ];
+       jailbreak = true;
+       homepage = "http://www.purescript.org/";
+       description = "PureScript Programming Language Compiler";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) nodejs;};
+
+  "push-notify" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec-conduit, base
+     , base16-bytestring, bytestring, cereal, certificate, conduit
+     , connection, containers, convertible, cprng-aes, data-default
+     , http-client, http-conduit, http-types, monad-control, mtl
+     , network, resourcet, retry, stm, text, time, tls, tls-extra
+     , transformers, unordered-containers, xml-conduit
+     }:
+     mkDerivation {
+       pname = "push-notify";
+       version = "0.1.0.1";
+       sha256 = "1ca9cs55yj1960cx7vha2w33nvqj89rhkdji555aaac3z302jgjs";
+       buildDepends = [
+         aeson async attoparsec-conduit base base16-bytestring bytestring
+         cereal certificate conduit connection containers convertible
+         cprng-aes data-default http-client http-conduit http-types
+         monad-control mtl network resourcet retry stm text time tls
+         tls-extra transformers unordered-containers xml-conduit
+       ];
+       homepage = "http://gsoc2013cwithmobiledevices.blogspot.com.ar/";
+       description = "A server-side library for sending push notifications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "push-notify-ccs" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , cprng-aes, crypto-random, data-default, hslogger, mtl, network
+     , pontarius-xmpp, push-notify, retry, stm, text, tls, tls-extra
+     , unordered-containers, xml-types
+     }:
+     mkDerivation {
+       pname = "push-notify-ccs";
+       version = "0.1.0.1";
+       sha256 = "1fgpzcbkcsb03lysml28a8w3c9l3nx4mirrn287g7y1kb4kx3bw0";
+       buildDepends = [
+         aeson async attoparsec base bytestring cprng-aes crypto-random
+         data-default hslogger mtl network pontarius-xmpp push-notify retry
+         stm text tls tls-extra unordered-containers xml-types
+       ];
+       homepage = "http://gsoc2013cwithmobiledevices.blogspot.com.ar/";
+       description = "A server-side library for sending/receiving push notifications through CCS (Google Cloud Messaging)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "push-notify-general" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , hashable, http-client, http-conduit, http-types, push-notify
+     , push-notify-ccs, text, unordered-containers, xml-conduit, yesod
+     }:
+     mkDerivation {
+       pname = "push-notify-general";
+       version = "0.1.0.1";
+       sha256 = "0vyw3733xm2s3nxybav8an68mlagk8v3bb43qlz71hkjgjddvpdh";
+       buildDepends = [
+         aeson base bytestring containers data-default hashable http-client
+         http-conduit http-types push-notify push-notify-ccs text
+         unordered-containers xml-conduit yesod
+       ];
+       homepage = "http://gsoc2013cwithmobiledevices.blogspot.com.ar/";
+       description = "A general library for sending/receiving push notif. through dif. services.";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pushme" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , hslogger, io-storage, lens, old-locale, optparse-applicative
+     , parallel-io, pointless-fun, regex-posix, shelly, system-fileio
+     , system-filepath, text, text-format, time, unix
+     , unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "pushme";
+       version = "1.5.0";
+       sha256 = "0cn350p0v6wb6c1n589c2l460c8pac41c645fja5xqxyyiiyni4d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers deepseq hslogger io-storage lens
+         old-locale optparse-applicative parallel-io pointless-fun
+         regex-posix shelly system-fileio system-filepath text text-format
+         time unix unordered-containers yaml
+       ];
+       homepage = "https://github.com/jwiegley/pushme";
+       description = "Tool to synchronize multiple directories with rsync, zfs or git-annex";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "putlenses" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, lens, mtl, QuickCheck
+     , random, safe, split, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "putlenses";
+       version = "0.1.3";
+       sha256 = "153hxffd1rg3m73kss0j3s7102lj6p84c95gvzyl0gmjpljfxffp";
+       buildDepends = [
+         base containers ghc-prim lens mtl QuickCheck random safe split
+         template-haskell transformers
+       ];
+       description = "Put-based lens library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "puzzle-draw" = callPackage
+    ({ mkDerivation, aeson, base, blaze-svg, bytestring, containers
+     , deepseq, diagrams-lib, diagrams-svg, filepath, hashable, mtl
+     , optparse-applicative, parsec, SVGFonts, tasty, tasty-hunit, text
+     , unordered-containers, vector-space, yaml
+     }:
+     mkDerivation {
+       pname = "puzzle-draw";
+       version = "0.1.0.4";
+       sha256 = "0jbc24a959klaf3niri5ilq0jdqpxdg4fg79bjfdpg51na4xr3hi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base containers diagrams-lib diagrams-svg filepath hashable
+         mtl optparse-applicative parsec SVGFonts text unordered-containers
+         vector-space yaml
+       ];
+       testDepends = [
+         base blaze-svg bytestring containers deepseq diagrams-lib
+         diagrams-svg tasty tasty-hunit text yaml
+       ];
+       description = "Creating graphics for pencil puzzles";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "puzzle-draw-cmdline" = callPackage
+    ({ mkDerivation, aeson, base, diagrams-lib, diagrams-svg, filepath
+     , optparse-applicative, puzzle-draw, yaml
+     }:
+     mkDerivation {
+       pname = "puzzle-draw-cmdline";
+       version = "0.1.0.4";
+       sha256 = "0jv0gai689ba5f4c6kdfdlfx5dz000zzk0gdwlz5d9n9pxxfgzxf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base diagrams-lib diagrams-svg filepath optparse-applicative
+         puzzle-draw yaml
+       ];
+       jailbreak = true;
+       description = "Creating graphics for pencil puzzles, command line tools";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pvd" = callPackage
+    ({ mkDerivation, array, base, Codec-Image-DevIL, containers
+     , haskell98, libdevil, mtl, network, stm, X11
+     }:
+     mkDerivation {
+       pname = "pvd";
+       version = "1.1.1";
+       sha256 = "18hlsh3ndlybkiblcfqzjm1pa4myc01yzr9hx7p48yp86q519hvr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base Codec-Image-DevIL containers haskell98 mtl network stm
+         X11
+       ];
+       extraLibraries = [ libdevil ];
+       homepage = "http://code.haskell.org/pvd";
+       description = "A photo viewer daemon application with remote controlling abilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) libdevil;};
+
+  "pwstore-cli" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, HUnit, process
+     , pwstore-fast, test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "pwstore-cli";
+       version = "0.4";
+       sha256 = "1cwb214bifiql2d4jacjl93swhy8yigzj72wbhv213c593bxg8jr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring cmdargs pwstore-fast text ];
+       testDepends = [
+         base bytestring HUnit process pwstore-fast test-framework
+         test-framework-hunit
+       ];
+       homepage = "http://hub.darcs.net/rycee/pwstore-cli";
+       description = "Command line interface for the pwstore library";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "pwstore-fast" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, byteable
+     , bytestring, cryptohash, random
+     }:
+     mkDerivation {
+       pname = "pwstore-fast";
+       version = "2.4.4";
+       sha256 = "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj";
+       buildDepends = [
+         base base64-bytestring binary byteable bytestring cryptohash random
+       ];
+       homepage = "https://github.com/PeterScott/pwstore";
+       description = "Secure password storage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pwstore-purehaskell" = callPackage
+    ({ mkDerivation, base, base64-bytestring, byteable, bytestring
+     , random, SHA
+     }:
+     mkDerivation {
+       pname = "pwstore-purehaskell";
+       version = "2.1.4";
+       sha256 = "1g7lmlgw8iscbbs96r3a534cf46fyks49b1f9y7hv25ny4wp1p9c";
+       buildDepends = [
+         base base64-bytestring byteable bytestring random SHA
+       ];
+       homepage = "https://github.com/PeterScott/pwstore";
+       description = "Secure password storage, in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "pxsl-tools" = callPackage
+    ({ mkDerivation, base, containers, mtl, parsec }:
+     mkDerivation {
+       pname = "pxsl-tools";
+       version = "1.0.1";
+       sha256 = "1q45l1grcja0mf1g90yxsdlr49gqrx27ycr6vln4hsqb5c0iqcfw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers mtl parsec ];
+       homepage = "http://community.moertel.com/ss/space/PXSL";
+       description = "Parsimonious XML Shorthand Language--to-XML compiler";
+       license = "GPL";
+     }) {};
+
+  "pyffi" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, pureMD5
+     , python, template-haskell
+     }:
+     mkDerivation {
+       pname = "pyffi";
+       version = "0.4.0.2";
+       sha256 = "0cpzl0d0hsdlm1786s75xsq3c93mm1sp7alr6xhihmnrsj71d58h";
+       buildDepends = [
+         aeson base bytestring containers pureMD5 template-haskell
+       ];
+       pkgconfigDepends = [ python ];
+       homepage = "http://github.com/Russell91/json-python";
+       description = "Call python inline from haskell";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) python;};
+
+  "pyfi" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, pureMD5
+     , python, template-haskell
+     }:
+     mkDerivation {
+       pname = "pyfi";
+       version = "0.4.0.4";
+       sha256 = "0xq5nhc11dkf2yvzcd129n0r7vpias091lzkll4f4cjsmljbxigw";
+       buildDepends = [
+         aeson base bytestring containers pureMD5 template-haskell
+       ];
+       pkgconfigDepends = [ python ];
+       homepage = "http://github.com/Russell91/pyfi";
+       description = "Call python inline from haskell";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) python;};
+
+  "python-pickle" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cereal, cmdargs
+     , containers, mtl
+     }:
+     mkDerivation {
+       pname = "python-pickle";
+       version = "0.2.0";
+       sha256 = "0p7pmwqs9jfv6464106j0k22x6lij5rc5v74aqbfclx7iwp6lh75";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cereal cmdargs containers mtl
+       ];
+       jailbreak = true;
+       description = "Serialization/deserialization using Python Pickle format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "qc-oi-testgenerator" = callPackage
+    ({ mkDerivation, base, fclabels, QuickCheck, template-haskell }:
+     mkDerivation {
+       pname = "qc-oi-testgenerator";
+       version = "1.2.0.3";
+       sha256 = "13rga5haz26qvx3hznbl6ik55s8g7qi3nj7a6vhyx46vjhzwnsvg";
+       buildDepends = [ base fclabels QuickCheck template-haskell ];
+       jailbreak = true;
+       homepage = "http://www.iai.uni-bonn.de/~jv/GV14.html";
+       description = "Compile time generation of operation invariance tests for QuickCheck";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "qd" = callPackage
+    ({ mkDerivation, base, floatshow, qd }:
+     mkDerivation {
+       pname = "qd";
+       version = "1.0.2.1";
+       sha256 = "0dhvdrpcbc6qiqna2kiaa0zbz7cgq7ziy2my6k85cbgv6k77p918";
+       buildDepends = [ base floatshow ];
+       extraLibraries = [ qd ];
+       description = "double-double and quad-double number type via libqd";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { qd = null;};
+
+  "qd-vec" = callPackage
+    ({ mkDerivation, base, qd, Vec }:
+     mkDerivation {
+       pname = "qd-vec";
+       version = "1.1";
+       sha256 = "0lj5kg0sjkck89phvi239xb2k7hxmxg9dh7yg2df2iaj4c2m2ync";
+       buildDepends = [ base qd Vec ];
+       description = "'Vec' instances for 'qd' types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "qhull-simple" = callPackage
+    ({ mkDerivation, base, qhull, vector }:
+     mkDerivation {
+       pname = "qhull-simple";
+       version = "0.1";
+       sha256 = "0g0abqc5z9nysm21c77kylkka1bvyn16ycinws1lcrjy53cb82sw";
+       buildDepends = [ base vector ];
+       extraLibraries = [ qhull ];
+       homepage = "http://nonempty.org/software/haskell-qhull-simple";
+       description = "Simple bindings to Qhull, a library for computing convex hulls";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) qhull;};
+
+  "qrcode" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, vector }:
+     mkDerivation {
+       pname = "qrcode";
+       version = "0.1.2";
+       sha256 = "1wfnxlz6rqjcgnkaqq0wdn75jsh3b9hagb84c1ljnwqaw98n3a9d";
+       buildDepends = [ array base containers mtl vector ];
+       description = "QR Code library in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quadratic-irrational" = callPackage
+    ({ mkDerivation, arithmoi, base, containers, directory, doctest
+     , filepath, mtl, numbers, QuickCheck, tasty, tasty-quickcheck
+     , transformers
+     }:
+     mkDerivation {
+       pname = "quadratic-irrational";
+       version = "0.0.5";
+       sha256 = "1z9a1q8px4sx7fq9i1lwfx98kz0nv8zhkz5vsfn31krvd4xvkndz";
+       buildDepends = [ arithmoi base containers mtl transformers ];
+       testDepends = [
+         base directory doctest filepath mtl numbers QuickCheck tasty
+         tasty-quickcheck
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ion1/quadratic-irrational";
+       description = "An implementation of quadratic irrationals";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "quandl-api" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring
+     , http-conduit, http-types, old-locale, syb, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "quandl-api";
+       version = "0.2.0.0";
+       sha256 = "1h6gh9wssb8dw9r5f7caanxq542d0jw9shvp7wx0i1k47f54kb3k";
+       buildDepends = [
+         aeson base blaze-builder bytestring http-conduit http-types
+         old-locale syb text time unordered-containers
+       ];
+       homepage = "https://github.com/pvdbrand/quandl-api";
+       description = "Quandl.com API library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quantfin" = callPackage
+    ({ mkDerivation, base, containers, mersenne-random-pure64, mtl
+     , random-fu, rvar, transformers, vector
+     }:
+     mkDerivation {
+       pname = "quantfin";
+       version = "0.1.0.1";
+       sha256 = "1rx8jrdhlqnbj28d2yi7vb3x1z7g5qrvzrhfx44zdiqlgw215f05";
+       buildDepends = [
+         base containers mersenne-random-pure64 mtl random-fu rvar
+         transformers vector
+       ];
+       homepage = "https://github.com/boundedvariation/quantfin";
+       description = "Quant finance library in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quantities" = callPackage
+    ({ mkDerivation, base, containers, doctest, Glob, hlint, hspec, mtl
+     , parsec, process, regex-compat
+     }:
+     mkDerivation {
+       pname = "quantities";
+       version = "0.3.0";
+       sha256 = "1c9ll27qwmzz8rfy7jlknzg56r0z2hij9aha3vwylv6iaynl4fr9";
+       buildDepends = [ base containers mtl parsec ];
+       testDepends = [
+         base containers doctest Glob hlint hspec mtl parsec process
+         regex-compat
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jdreaver/quantities";
+       description = "Unit conversion and manipulation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quantum-arrow" = callPackage
+    ({ mkDerivation, base, MonadRandom, mtl, QuickCheck, random }:
+     mkDerivation {
+       pname = "quantum-arrow";
+       version = "0.0.5";
+       sha256 = "19z5b0jwnz20g0203xd78cv8rgm92diyxard4mbj6dyrj2kkfgww";
+       buildDepends = [ base MonadRandom mtl QuickCheck random ];
+       jailbreak = true;
+       homepage = "http://github.com/luqui/quantum-arrow";
+       description = "An embedding of quantum computation as a Haskell arrow";
+       license = "LGPL";
+     }) {};
+
+  "qudb" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, directory, happy
+     , mtl, snappy
+     }:
+     mkDerivation {
+       pname = "qudb";
+       version = "0.0.1";
+       sha256 = "0cpvik35qv587k2qsd2rh7awlwll1gciv0nr7wjr79bn0q9df0cq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base bytestring directory mtl snappy ];
+       buildTools = [ alex happy ];
+       homepage = "https://github.com/jstepien/qudb";
+       description = "Quite Useless DB";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quenya-verb" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cmdargs, cond, containers
+     , directory, iproute, MissingH, network, safe, scotty, text
+     , transformers, wai, wai-extra, wai-middleware-static, warp
+     }:
+     mkDerivation {
+       pname = "quenya-verb";
+       version = "0.0.1";
+       sha256 = "0zw15qym8r00m7kir9h9cys1rmszdqihfcvy6dw52f1pb6cp5vsx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring cmdargs cond containers directory iproute
+         MissingH network safe scotty text transformers wai wai-extra
+         wai-middleware-static warp
+       ];
+       description = "Quenya verb conjugator";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "querystring-pickle" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, test-framework
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "querystring-pickle";
+       version = "0.2.0";
+       sha256 = "18by7671q3sp38cii7j8b0jvdbbix4wyaa3wan77s0mfkdxzicrf";
+       buildDepends = [ base bytestring text ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       description = "Picklers for de/serialising Generic data types to and from query strings";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "questioner" = callPackage
+    ({ mkDerivation, ansi-terminal, base, readline, terminal-size }:
+     mkDerivation {
+       pname = "questioner";
+       version = "0.1.1.0";
+       sha256 = "05q64mslkbg017fpjx7ma2al6iz5zjrkyzipm8p86n8zcx3l1aw3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ ansi-terminal base readline terminal-size ];
+       homepage = "https://github.com/yamadapc/haskell-questioner.git";
+       description = "A package for prompting values from the command-line";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "queue" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "queue";
+       version = "0.1.2";
+       sha256 = "0fx2svkj2sy2wd056lha9h20hy2z6gjspzl11jmv7i3rdwwfr6f7";
+       buildDepends = [ base stm ];
+       homepage = "http://code.haskell.org/~mokus/queue";
+       description = "Abstraction typeclasses for queue-like things";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "queuelike" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, stateful-mtl }:
+     mkDerivation {
+       pname = "queuelike";
+       version = "1.0.9";
+       sha256 = "0nvs9ln55wrczpn948i4z110rbfp0rv2wv8iz94lbyxhilhyjf1z";
+       buildDepends = [ array base containers mtl stateful-mtl ];
+       description = "A library of queuelike data structures, both functional and stateful";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quick-generator" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "quick-generator";
+       version = "0.3";
+       sha256 = "1bccyvm300bkm3n98ayjc3syfcakjnf26bs2mdqdjimdfw2f0g6n";
+       buildDepends = [ base QuickCheck ];
+       description = "Generator random test data for QuickCheck";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quickcheck-assertions" = callPackage
+    ({ mkDerivation, base, hspec, ieee754, QuickCheck }:
+     mkDerivation {
+       pname = "quickcheck-assertions";
+       version = "0.2.0";
+       sha256 = "0h7pa84hzy3bhv1acf1rvvw3lza0m8shd8a0vykzpx8lnkxbl3v0";
+       buildDepends = [ base ieee754 QuickCheck ];
+       testDepends = [ base hspec ieee754 QuickCheck ];
+       homepage = "https://github.com/s9gf4ult/quickcheck-assertions";
+       description = "HUnit like assertions for QuickCheck";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "quickcheck-instances" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, hashable
+     , old-time, QuickCheck, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "quickcheck-instances";
+       version = "0.3.11";
+       sha256 = "041s6963czs1pz0fc9cx17lgd6p83czqy2nxji7bhxqxwl2j15h2";
+       buildDepends = [
+         array base bytestring containers hashable old-time QuickCheck text
+         time unordered-containers
+       ];
+       homepage = "https://github.com/aslatter/qc-instances";
+       description = "Common quickcheck instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quickcheck-io" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck }:
+     mkDerivation {
+       pname = "quickcheck-io";
+       version = "0.1.1";
+       sha256 = "16q3sqvxnaqmbb1zbda8f61mdlmmzxhrznqxab113lmg380nwfm2";
+       buildDepends = [ base HUnit QuickCheck ];
+       description = "Use HUnit assertions as QuickCheck properties";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "quickcheck-poly" = callPackage
+    ({ mkDerivation, base, haskell98, hint, MonadCatchIO-mtl
+     , QuickCheck, regex-compat, regex-tdfa
+     }:
+     mkDerivation {
+       pname = "quickcheck-poly";
+       version = "0.2.0.1";
+       sha256 = "0imigjsb6jy1k9xipi5b4b300cpv2l7hhd2iiqpn80dp10v7y5na";
+       buildDepends = [
+         base haskell98 hint MonadCatchIO-mtl QuickCheck regex-compat
+         regex-tdfa
+       ];
+       description = "Automating QuickCheck for polymorphic and overlaoded properties";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quickcheck-properties" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "quickcheck-properties";
+       version = "0.1";
+       sha256 = "0hr61w1wpah1p4h87iz17aby53ysa8waqsl0als8b69in0zyv29w";
+       buildDepends = [ base ];
+       description = "QuickCheck properties for standard type classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quickcheck-property-comb" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck }:
+     mkDerivation {
+       pname = "quickcheck-property-comb";
+       version = "0.1.0.2";
+       sha256 = "0wqz2amhwf1djbwwdin142mzp94mxbzb12khznijissjdz38knp5";
+       buildDepends = [ base mtl QuickCheck ];
+       jailbreak = true;
+       homepage = "http://www.github.com/jfeltz/quickcheck-property-comb";
+       description = "Combinators for Quickcheck Property construction and diagnostics";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "quickcheck-property-monad" = callPackage
+    ({ mkDerivation, base, directory, doctest, either, filepath
+     , QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "quickcheck-property-monad";
+       version = "0.2.3";
+       sha256 = "12vg14xwhhsqwygrs5lylsg514am5sslqc15nbl8mwzzxix1w8xb";
+       buildDepends = [ base either QuickCheck transformers ];
+       testDepends = [ base directory doctest filepath QuickCheck ];
+       homepage = "http://github.com/bennofs/quickcheck-property-monad/";
+       description = "quickcheck-property-monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quickcheck-regex" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, regex-genex
+     , regex-tdfa
+     }:
+     mkDerivation {
+       pname = "quickcheck-regex";
+       version = "0.0.3";
+       sha256 = "00h08l3qabj140zzcpj87hy9zb6cw1xj5w6xv6sq2m8yc3pdwi8n";
+       buildDepends = [
+         base containers QuickCheck regex-genex regex-tdfa
+       ];
+       homepage = "http://github.com/audreyt/quickcheck-regex/";
+       description = "Generate regex-constrained strings for QuickCheck";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quickcheck-relaxng" = callPackage
+    ({ mkDerivation, base, hxt, hxt-relaxng, QuickCheck
+     , quickcheck-regex
+     }:
+     mkDerivation {
+       pname = "quickcheck-relaxng";
+       version = "0.0.2";
+       sha256 = "1wrndgvza9610ai02gkwab30hp8ngdknw8n2lx0mg6qajsiiy949";
+       buildDepends = [
+         base hxt hxt-relaxng QuickCheck quickcheck-regex
+       ];
+       homepage = "http://github.com/audreyt/quickcheck-relaxng/";
+       description = "Generate RelaxNG-constrained XML documents for QuickCheck";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quickcheck-rematch" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, QuickCheck, rematch }:
+     mkDerivation {
+       pname = "quickcheck-rematch";
+       version = "0.1.0.0";
+       sha256 = "0pmw9441l36sprw9ngq6gn2yi4v427zd5n22s9zicfyiwi4qf5ba";
+       buildDepends = [ base QuickCheck rematch ];
+       testDepends = [ base hspec HUnit QuickCheck rematch ];
+       jailbreak = true;
+       homepage = "http://github.com/tcrayford/rematch";
+       description = "QuickCheck support for rematch";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quickcheck-script" = callPackage
+    ({ mkDerivation, base, directory, process, QuickCheck }:
+     mkDerivation {
+       pname = "quickcheck-script";
+       version = "0.1.1.1";
+       sha256 = "157v4qcyk5c6hnmhmy5rsrfsj46m343nn2bvrqyb6r92wh70is5g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory process QuickCheck ];
+       homepage = "http://www.cs.chalmers.se/~rjmh/QuickCheck/";
+       description = "Automated test tool for QuickCheck";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quickcheck-unicode" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "quickcheck-unicode";
+       version = "1.0.0.1";
+       sha256 = "1a8nl6x7l9b22yx61wm0bh2n1xzb1hd5i5zgg1w4fpaivjnrrhi4";
+       buildDepends = [ base QuickCheck ];
+       homepage = "https://github.com/bos/quickcheck-unicode";
+       description = "Generator and shrink functions for testing Unicode-related software";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quickcheck-webdriver" = callPackage
+    ({ mkDerivation, base, QuickCheck, transformers, webdriver }:
+     mkDerivation {
+       pname = "quickcheck-webdriver";
+       version = "0.1.0.7";
+       sha256 = "12jkj8jy4f0mix658pd8jfgwx268fs3bbqz90mac1vvag4c72i0h";
+       buildDepends = [ base QuickCheck transformers webdriver ];
+       description = "Utilities for using WebDriver with QuickCheck";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "quicklz" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "quicklz";
+       version = "1.5.0.11";
+       sha256 = "17v9bfdp4ib9258r7001naqwss7l6v83by40va3gm3l418vj62qd";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/thoughtpolice/hs-quicklz";
+       description = "QuickLZ compression for ByteStrings";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "quickpull" = callPackage
+    ({ mkDerivation, barecheck, base, directory, filepath, QuickCheck
+     }:
+     mkDerivation {
+       pname = "quickpull";
+       version = "0.4.2.2";
+       sha256 = "0vy5s3qa67kwj68rxqc0zhqizqpvqa1x0bg3dakq5pimrqhmb7d4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ barecheck base directory filepath QuickCheck ];
+       testDepends = [ base directory filepath QuickCheck ];
+       homepage = "http://www.github.com/massysett/quickpull";
+       description = "Generate Main module with QuickCheck tests";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quickset" = callPackage
+    ({ mkDerivation, base, vector, vector-algorithms }:
+     mkDerivation {
+       pname = "quickset";
+       version = "0.1.0";
+       sha256 = "0xiw57wi9z567nmp4h0vfcw3sr9dciy29jadn47bvi3q278v7zdy";
+       buildDepends = [ base vector vector-algorithms ];
+       description = "Very fast and memory-compact query-only set and map structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quickspec" = callPackage
+    ({ mkDerivation, array, base, containers, ghc-prim, QuickCheck
+     , random, spoon, transformers
+     }:
+     mkDerivation {
+       pname = "quickspec";
+       version = "0.9.6";
+       sha256 = "0prwzxsrvfqryl75rmma229d4y7ra61vc3d72kyqi4l44ga2ay21";
+       buildDepends = [
+         array base containers ghc-prim QuickCheck random spoon transformers
+       ];
+       homepage = "https://github.com/nick8325/quickspec";
+       description = "Equational laws for free!";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "quicktest" = callPackage
+    ({ mkDerivation, base, directory, haskell98, mtl, process }:
+     mkDerivation {
+       pname = "quicktest";
+       version = "0.1.3";
+       sha256 = "0nvh6jd155xrjzkkbsz5q8d08z50881vkdhmprm7fdxax1gvjc95";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory haskell98 mtl process ];
+       homepage = "https://github.com/davidsiegel/quicktest";
+       description = "A reflective batch tester for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "quickwebapp" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, scotty, text }:
+     mkDerivation {
+       pname = "quickwebapp";
+       version = "2.1.0.0";
+       sha256 = "0zwqfwwna1d588yk2i20nzryl56k2bh4nyg03ljszyhna16iclij";
+       buildDepends = [ base bytestring http-types scotty text ];
+       description = "A quick webapp generator for any file processing tool";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "quoridor-hs" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
+     , directory, dlist, exceptions, filepath, hex, HUnit, mtl, network
+     , network-simple, parsec, process, snap-core, snap-server, stm
+     , websockets, websockets-snap
+     }:
+     mkDerivation {
+       pname = "quoridor-hs";
+       version = "0.1.1.2";
+       sha256 = "1yha2rsphq2ar8c7p15dlg621d4ym46xgv70fga9mlq2r4zwy2lv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal async base bytestring containers directory dlist
+         exceptions filepath hex mtl network network-simple parsec process
+         snap-core snap-server stm websockets websockets-snap
+       ];
+       testDepends = [ base HUnit mtl ];
+       jailbreak = true;
+       homepage = "https://github.com/talw/quoridor-hs";
+       description = "A Quoridor implementation in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rabocsv2qif" = callPackage
+    ({ mkDerivation, base, old-locale, split, time }:
+     mkDerivation {
+       pname = "rabocsv2qif";
+       version = "1.1.5";
+       sha256 = "1vb9r2nmkhybx1ra2jpzfz5i6klgz2jz09zhg5wi95dnml82p33g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base old-locale split time ];
+       description = "A library and program to create QIF files from Rabobank CSV exports";
+       license = "GPL";
+     }) {};
+
+  "rad" = callPackage
+    ({ mkDerivation, array, base, containers, data-reify }:
+     mkDerivation {
+       pname = "rad";
+       version = "0.1.6.3";
+       sha256 = "19g2lc3vmnapccdxf390cmkfl9bd3agcn01kk8ccd4lmaqn2c12d";
+       buildDepends = [ array base containers data-reify ];
+       jailbreak = true;
+       homepage = "http://comonad.com/reader/";
+       description = "Reverse Automatic Differentiation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "radian" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, lens
+     , QuickCheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "radian";
+       version = "0.0.4";
+       sha256 = "1f53h9gcbmfga5khc67z81aysibcj5pqgi3iwa2shy5mfd10a86a";
+       buildDepends = [ base lens ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/NICTA/radian";
+       description = "A floating-point wrapper for measurements that use radians";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "radium" = callPackage
+    ({ mkDerivation, base, Cabal, containers, hspec, parsec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "radium";
+       version = "0.4.2";
+       sha256 = "1kwbv7qvpjwdcnj6l26dpyw0xl3irhd5igwda4xx509llc8j8n3s";
+       buildDepends = [ base containers parsec ];
+       testDepends = [ base Cabal containers hspec parsec QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/klangner/radium";
+       description = "Chemistry";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "radium-formula-parser" = callPackage
+    ({ mkDerivation, base, Cabal, containers, hspec, parsec, QuickCheck
+     }:
+     mkDerivation {
+       pname = "radium-formula-parser";
+       version = "0.2";
+       sha256 = "1b2gmc27dj9fanbjh7h0902jjh3jz1ydc6qvp9p3rfskaf6854bf";
+       buildDepends = [ base containers parsec ];
+       testDepends = [ base Cabal containers hspec parsec QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/klangner/radium-formula-parser";
+       description = "Chemistry";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "radix" = callPackage
+    ({ mkDerivation, base, filepath }:
+     mkDerivation {
+       pname = "radix";
+       version = "1.0.0.0";
+       sha256 = "1hkz0fd1w72g6wnx9dq7z249195kjlhalcd1y8z13gj6yqn1sl9s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base filepath ];
+       homepage = "https://github.com/thomaseding/radix";
+       description = "Command-line tool for emitting numbers in various bases";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rados-haskell" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, hspec, HUnit
+     , mtl, rados, uuid
+     }:
+     mkDerivation {
+       pname = "rados-haskell";
+       version = "3.1.0";
+       sha256 = "0xffgf95dss442sf6adh7yys39i0z64w155akjyzr9dp2jzr6f2k";
+       buildDepends = [ async base bytestring containers mtl uuid ];
+       testDepends = [ async base bytestring hspec HUnit mtl rados uuid ];
+       extraLibraries = [ rados ];
+       homepage = "github";
+       description = "librados haskell bindings";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { rados = null;};
+
+  "rail-compiler-editor" = callPackage
+    ({ mkDerivation, base, cairo, containers, gtk, HUnit, llvm-general
+     , llvm-general-pure, mtl, process, transformers
+     }:
+     mkDerivation {
+       pname = "rail-compiler-editor";
+       version = "0.3.0.0";
+       sha256 = "0jjsa21a7f4hysbk9qvcxyyc2ncrmmjh02n7yyhjnfjgdp4sclwb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers gtk llvm-general llvm-general-pure mtl
+         process transformers
+       ];
+       testDepends = [ base containers HUnit process ];
+       jailbreak = true;
+       homepage = "https://github.com/SWP-Ubau-SoSe2014-Haskell/SWPSoSe14";
+       description = "Compiler and editor for the esolang rail";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rainbow" = callPackage
+    ({ mkDerivation, base, bytestring, process, QuickCheck, text }:
+     mkDerivation {
+       pname = "rainbow";
+       version = "0.22.0.2";
+       sha256 = "0bzjh7j0ckdzvmfb29pi1l7h28hg77rykwj4bndzi55mbqkabrs9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring process text ];
+       testDepends = [ base bytestring process QuickCheck text ];
+       homepage = "https://www.github.com/massysett/rainbow";
+       description = "Print text to terminal with colors and effects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rainbow-tests" = callPackage
+    ({ mkDerivation, barecheck, base, QuickCheck, rainbow, terminfo
+     , text
+     }:
+     mkDerivation {
+       pname = "rainbow-tests";
+       version = "0.20.0.4";
+       sha256 = "0cjq2m2zpk4j2f7gw65yqqvyc4kng1rsnq48fs4xcs6bdzw0zhlg";
+       buildDepends = [ barecheck base QuickCheck rainbow terminfo text ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/rainbow";
+       description = "Tests and QuickCheck generators to accompany rainbow";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rainbox" = callPackage
+    ({ mkDerivation, array, base, bytestring, ChasingBottoms
+     , QuickCheck, rainbow, tasty, tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "rainbox";
+       version = "0.10.0.2";
+       sha256 = "1s08p7ckni17q15p059nccpyq19iw5chfy28m1k8c6vm4fcrkjyw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base bytestring rainbow text transformers ];
+       testDepends = [
+         array base bytestring ChasingBottoms QuickCheck rainbow tasty
+         tasty-quickcheck text transformers
+       ];
+       homepage = "http://www.github.com/massysett/rainbox";
+       description = "Two-dimensional box pretty printing, with colors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rakhana" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, lens
+     , mtl, pipes, scientific, transformers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "rakhana";
+       version = "0.2.0.2";
+       sha256 = "10gk2wk8495y1zk148sqsm993dzi4z6a49nn717qccpc2qi4lw6k";
+       buildDepends = [
+         attoparsec base bytestring containers lens mtl pipes scientific
+         transformers vector zlib
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/YoEight/rakhana";
+       description = "Stream based PDF library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ralist" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ralist";
+       version = "0.1.0.0";
+       sha256 = "0v2cg1d2wzjcygk78qcz1yfy9rcqw8yrplnnk6cax41qifhr5z5i";
+       buildDepends = [ base ];
+       description = "Random access list with a list compatible interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rallod" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "rallod";
+       version = "0.0.1";
+       sha256 = "14fnk2q702qm0mh30r9kznbh4ikpv4fsd5mrnwphm5d06vmq6hq9";
+       buildDepends = [ base haskell98 ];
+       homepage = "http://github.com/moonmaster9000/rallod";
+       description = "'$' in reverse";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rand-vars" = callPackage
+    ({ mkDerivation, array, base, IntervalMap, mtl, random }:
+     mkDerivation {
+       pname = "rand-vars";
+       version = "0.1";
+       sha256 = "165jvx59vzmpxp7gw60ivfka77kgc1irwijikkwja7jb4dm4ay3x";
+       buildDepends = [ array base IntervalMap mtl random ];
+       description = "Random variable library, with Functor, Applicative and Monad instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "randfile" = callPackage
+    ({ mkDerivation, base, crypto-api, directory, filepath
+     , monadcryptorandom, transformers, unix
+     }:
+     mkDerivation {
+       pname = "randfile";
+       version = "0.1.0.0";
+       sha256 = "11f72kfya4l41dihjvaz15hzipry281r8i6k6dzp5q3gq4valgyz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base crypto-api directory filepath monadcryptorandom transformers
+         unix
+       ];
+       description = "Program for picking a random file";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "random" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "random";
+       version = "1.1";
+       sha256 = "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p";
+       buildDepends = [ base time ];
+       testDepends = [ base ];
+       description = "random number library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "random-access-list" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "random-access-list";
+       version = "0.2";
+       sha256 = "1ymbs3f38l6ch0nphsy9pi32yb1a4hazn3grm9fl0dvgqw28xl8r";
+       buildDepends = [ array base containers ];
+       description = "Random-access lists in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "random-eff" = callPackage
+    ({ mkDerivation, base, extensible-effects, random }:
+     mkDerivation {
+       pname = "random-eff";
+       version = "0.1.0.1";
+       sha256 = "1m28np0zfabp1n1d08przh35bxfr1l7d39kj4a5z61jkchmsaxyf";
+       buildDepends = [ base extensible-effects random ];
+       jailbreak = true;
+       description = "A simple random generator library for extensible-effects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "random-effin" = callPackage
+    ({ mkDerivation, base, effin, random }:
+     mkDerivation {
+       pname = "random-effin";
+       version = "0.1.1.0";
+       sha256 = "0p1n5dfdsp00q9mlhd7xcl93k5d0wji91p59858gmfx9xf8j0p0h";
+       buildDepends = [ base effin random ];
+       jailbreak = true;
+       description = "A simple random generator library for effin";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "random-extras" = callPackage
+    ({ mkDerivation, array, base, containers, random-fu, random-source
+     }:
+     mkDerivation {
+       pname = "random-extras";
+       version = "0.19";
+       sha256 = "1b45s314rqkk0np460p3p0wrqvkv9dczifny8pp76ikksalfvgn0";
+       buildDepends = [ array base containers random-fu random-source ];
+       homepage = "http://github.com/aristidb/random-extras";
+       description = "Additional functions for random values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "random-fu" = callPackage
+    ({ mkDerivation, base, erf, log-domain, math-functions, monad-loops
+     , mtl, random-shuffle, random-source, rvar, syb, template-haskell
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "random-fu";
+       version = "0.2.6.2";
+       sha256 = "1j7zr7h860vjwlh9d9sj319xs44ly2vyzn3s72c5qc39r0yv00ng";
+       buildDepends = [
+         base erf log-domain math-functions monad-loops mtl random-shuffle
+         random-source rvar syb template-haskell transformers vector
+       ];
+       homepage = "https://github.com/mokus0/random-fu";
+       description = "Random number generation";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "random-hypergeometric" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-test-quickcheck, math-functions
+     , mwc-random, QuickCheck, random-fu, vector
+     }:
+     mkDerivation {
+       pname = "random-hypergeometric";
+       version = "0.1.0.0";
+       sha256 = "0jg4j2nwijb5ic9zl5y9miqhn881dmf0s49gj8f818as3mhvqlgh";
+       buildDepends = [ base math-functions random-fu ];
+       testDepends = [
+         base Cabal cabal-test-quickcheck math-functions mwc-random
+         QuickCheck random-fu vector
+       ];
+       homepage = "https://github.com/srijs/random-hypergeometric";
+       description = "Random variate generation from hypergeometric distributions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "random-shuffle" = callPackage
+    ({ mkDerivation, base, MonadRandom, random }:
+     mkDerivation {
+       pname = "random-shuffle";
+       version = "0.0.4";
+       sha256 = "0586bnlh0g2isc44jbjvafkcl4yw6lp1db8x6vr0pza0y08l8w2j";
+       buildDepends = [ base MonadRandom random ];
+       description = "Random shuffle implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "random-source" = callPackage
+    ({ mkDerivation, base, flexible-defaults, mersenne-random-pure64
+     , mtl, mwc-random, random, stateref, syb, template-haskell
+     , th-extras
+     }:
+     mkDerivation {
+       pname = "random-source";
+       version = "0.3.0.6";
+       sha256 = "0wsv41kpswqml04ym5bq2nan4i637f7h3fmvda2zy506xwxfrpzk";
+       buildDepends = [
+         base flexible-defaults mersenne-random-pure64 mtl mwc-random random
+         stateref syb template-haskell th-extras
+       ];
+       homepage = "https://github.com/mokus0/random-fu";
+       description = "Generic basis for random number generators";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "random-stream" = callPackage
+    ({ mkDerivation, base, binary, bytestring, random }:
+     mkDerivation {
+       pname = "random-stream";
+       version = "0.1.1";
+       sha256 = "0q191kz3hmjzrgs143nja5gcis07igb38f51mwqw64zx7vjqvx66";
+       buildDepends = [ base binary bytestring random ];
+       description = "An infinite stream of random data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "randomgen" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mersenne-random-pure64
+     , openssl
+     }:
+     mkDerivation {
+       pname = "randomgen";
+       version = "0.1";
+       sha256 = "0y7yvsach0c27ahscxr36avjrq281pmg7w6cv2yj5kmbk7ddwlyi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring mersenne-random-pure64 ];
+       extraLibraries = [ openssl ];
+       homepage = "http://galois.com";
+       description = "A fast, SMP parallel random data generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) openssl;};
+
+  "randproc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "randproc";
+       version = "0.4";
+       sha256 = "0fb0239fwvn1n3rbdr03k4kx1igzbb638a1iq0ln1k1i1fpaayd7";
+       buildDepends = [ base ];
+       homepage = "http://www.haskell.org/haskellwiki/Random_Processes";
+       description = "Data structures and support functions for working with random processes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "randsolid" = callPackage
+    ({ mkDerivation, base, random, X11 }:
+     mkDerivation {
+       pname = "randsolid";
+       version = "0.3";
+       sha256 = "0v7j6qqs16j281hn0330vcpkriqgyvl7087ll665c7dcqqh2bswk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base random X11 ];
+       description = "Set the background of your root window to a random colour";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "range" = callPackage
+    ({ mkDerivation, base, Cabal, parsec, QuickCheck, random
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "range";
+       version = "0.1.0.1";
+       sha256 = "04nzxjgjnql6bq30pkkmlxcj0cxmw3hlzb6y1fhb052rxmpaq8mk";
+       buildDepends = [ base parsec ];
+       testDepends = [
+         base Cabal QuickCheck random test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       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
+    ({ mkDerivation, base, containers, tasty, tasty-quickcheck }:
+     mkDerivation {
+       pname = "range-set-list";
+       version = "0.0.7";
+       sha256 = "1qgw95gvbxar13ia6562ddz9zqd14ffyxwp9qi41w859prfc1728";
+       buildDepends = [ base ];
+       testDepends = [ base containers tasty tasty-quickcheck ];
+       jailbreak = true;
+       homepage = "https://github.com/phadej/range-set-list";
+       description = "Memory efficient sets with continuous ranges of elements";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "range-space" = callPackage
+    ({ mkDerivation, base, QuickCheck, semigroups, test-framework
+     , test-framework-quickcheck2, time, vector-space
+     , vector-space-points
+     }:
+     mkDerivation {
+       pname = "range-space";
+       version = "0.1.1.2";
+       sha256 = "06cl5kgyl1lccr78galqxp21nli2vkvlywy6394cnp14wqfz8r94";
+       buildDepends = [
+         base semigroups vector-space vector-space-points
+       ];
+       testDepends = [
+         base QuickCheck semigroups test-framework
+         test-framework-quickcheck2 time vector-space vector-space-points
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/JohnLato/range-space";
+       description = "A Range type with vector-space instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rangemin" = callPackage
+    ({ mkDerivation, base, containers, primitive, vector }:
+     mkDerivation {
+       pname = "rangemin";
+       version = "2.2.2";
+       sha256 = "01n1m3ibi44pjg04mg16j751fjzkspmnq8bzxz55qbyi22wshnwc";
+       buildDepends = [ base containers primitive vector ];
+       description = "Linear range-min algorithms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ranges" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "ranges";
+       version = "0.2.4";
+       sha256 = "1ymvmvfvzkdxblg691g9n5y94gpiz782jgyvaisg5mydzj1s1fyv";
+       buildDepends = [ base containers ];
+       description = "Ranges and various functions on them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rank1dynamic" = callPackage
+    ({ mkDerivation, base, binary, constraints, ghc-prim, HUnit
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "rank1dynamic";
+       version = "0.2.0.1";
+       sha256 = "1np3ghp7wdn0clsyslk5j6fhs4c5cd6y0xlvdg2jj6ydaglzcchl";
+       buildDepends = [ base binary ghc-prim ];
+       testDepends = [
+         base constraints HUnit test-framework test-framework-hunit
+       ];
+       homepage = "http://haskell-distributed.github.com";
+       description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rascal" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, containers, curl
+     , curl-aeson, directory, filepath, HUnit, mtl, process, QuickCheck
+     , tasty, tasty-hunit, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "rascal";
+       version = "1.1.6";
+       sha256 = "0q7afppkm5jd1p13fszzsfjpdz6g6bw1vd6wigcy3janxn5686rs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson ansi-terminal base containers curl curl-aeson directory
+         filepath mtl process vector
+       ];
+       testDepends = [
+         aeson ansi-terminal base containers curl curl-aeson directory
+         filepath HUnit mtl process QuickCheck tasty tasty-hunit
+         tasty-quickcheck vector
+       ];
+       jailbreak = true;
+       homepage = "http://soli.github.io/rascal/";
+       description = "A command-line client for Reddit";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rasterific-svg" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, FontyFruity, JuicyPixels, lens, linear, mtl
+     , optparse-applicative, Rasterific, scientific, svg-tree, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "rasterific-svg";
+       version = "0.1.1";
+       sha256 = "16nnvy3vvks4bc6nbm7m5cc0z195z2xk2qbnlar06axv7kqvwps6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory filepath FontyFruity
+         JuicyPixels lens linear mtl optparse-applicative Rasterific
+         scientific svg-tree text transformers vector
+       ];
+       description = "SVG renderer based on Rasterific";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rate-limit" = callPackage
+    ({ mkDerivation, base, time-units }:
+     mkDerivation {
+       pname = "rate-limit";
+       version = "1.1.1";
+       sha256 = "1d1dfj05vi8jr2cfy42a58wnm84zm6cmx7fabp2rb83qqm4l2riz";
+       buildDepends = [ base time-units ];
+       homepage = "http://github.com/acw/rate-limit";
+       description = "A basic library for rate-limiting IO actions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ratio-int" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ratio-int";
+       version = "0.1.2";
+       sha256 = "06kqr4iyi184sa8y2vdkw5h0pvh5f8lwcqb8mbcn34lpqm961s7g";
+       buildDepends = [ base ];
+       homepage = "https://github.com/RaphaelJ/ratio-int";
+       description = "Fast specialisation of Data.Ratio for Int.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "raven-haskell" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit
+     , network, old-locale, random, text, time, unordered-containers
+     , uuid
+     }:
+     mkDerivation {
+       pname = "raven-haskell";
+       version = "0.1.0.0";
+       sha256 = "06pa03g9pxxv1qk34ckcgwp5wirj5ag1akml48k18la6p0a2r3mx";
+       buildDepends = [
+         aeson base bytestring http-conduit network old-locale random text
+         time unordered-containers uuid
+       ];
+       testDepends = [ aeson base bytestring hspec unordered-containers ];
+       homepage = "https://bitbucket.org/dpwiz/raven-haskell";
+       description = "Haskell client for Sentry logging service";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "raven-haskell-scotty" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, mtl
+     , raven-haskell, scotty, text, wai
+     }:
+     mkDerivation {
+       pname = "raven-haskell-scotty";
+       version = "0.1.0.3";
+       sha256 = "0vllfasn4rky8r8fg3mpln8pdkxbcvrvx8wamn0xswfwf1rvcf6k";
+       buildDepends = [
+         base bytestring case-insensitive mtl raven-haskell scotty text wai
+       ];
+       homepage = "http://bitbucket.org/dpwiz/raven-haskell";
+       description = "Sentry http interface for Scotty web server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "raw-strings-qq" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "raw-strings-qq";
+       version = "1.0.2";
+       sha256 = "0wnifa97am2s9bqixlidw3nf8w14h2qkg3sn1rxzgvc3fws57jg9";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://github.com/23Skidoo/raw-strings-qq";
+       description = "Raw string literals for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rawstring-qm" = callPackage
+    ({ mkDerivation, base, bytestring, template-haskell, text }:
+     mkDerivation {
+       pname = "rawstring-qm";
+       version = "0.2.2.2";
+       sha256 = "0h3s62sn84skwx3p9lcycswydvg6rijig7pk3g7v4rvypfdlybz6";
+       buildDepends = [ base bytestring template-haskell text ];
+       homepage = "https://github.com/tolysz/rawstring-qm";
+       description = "Simple raw string quotation and dictionary interpolation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rbr" = callPackage
+    ({ mkDerivation, base, bio, bytestring, containers }:
+     mkDerivation {
+       pname = "rbr";
+       version = "0.8.6";
+       sha256 = "0q7b990k3ijjjwhnm1283k9vzmvypyg7mhvbzagvi74q0sgwyac7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bio bytestring containers ];
+       homepage = "http://malde.org/~ketil/";
+       description = "Mask nucleotide (EST) sequences in Fasta format";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rclient" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-binary-ieee754
+     , network, QuickCheck, split
+     }:
+     mkDerivation {
+       pname = "rclient";
+       version = "0.1.0.0";
+       sha256 = "1hdcbnkb184a1zfxsh4fxgff9znc5sw6503qbix67c45qiw25zhn";
+       buildDepends = [
+         base binary bytestring data-binary-ieee754 network QuickCheck split
+       ];
+       description = "Haskell client for Rserve";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rdf4h" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, hashable
+     , HTTP, HUnit, hxt, knob, network, network-uri, parsec, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "rdf4h";
+       version = "1.3.0";
+       sha256 = "0d6jqhfiy1zlvbf04n7q8qmq2ql0vrd0lpfaxsmqwwnz5ip297jp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory hashable HTTP hxt network
+         network-uri parsec text unordered-containers
+       ];
+       testDepends = [
+         base bytestring containers hashable HTTP HUnit hxt knob network
+         network-uri parsec QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 text unordered-containers
+       ];
+       homepage = "https://github.com/robstewart57/rdf4h";
+       description = "A library for RDF processing in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rdioh" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hoauth, hspec
+     , json, MissingH, mtl, transformers, urlencoded
+     }:
+     mkDerivation {
+       pname = "rdioh";
+       version = "0.2.1";
+       sha256 = "1k0djlhabycj4q7x85bj7n3k0rcyxn9b3k3ijb4za2vxj081qdj0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers hoauth hspec json MissingH mtl
+         transformers urlencoded
+       ];
+       description = "A Haskell wrapper for Rdio's API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rdtsc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "rdtsc";
+       version = "1.3.0.0";
+       sha256 = "1j421cfyz35mkh78idw89b0gl7c810n04pfh0lvdprghlfk90adk";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/rdtsc";
+       description = "Binding for the rdtsc machine instruction";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rdtsc-enolan" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "rdtsc-enolan";
+       version = "0.1";
+       sha256 = "0v3x7ga4gx5q4gwh8xdhb2arlmjyilr9igz28wysy9qqlcdw775q";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/rdtsc";
+       description = "Binding to sources of high-efficiency, high-precision, monotonically increasing relative time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "re2" = callPackage
+    ({ mkDerivation, base, bytestring, chell, vector }:
+     mkDerivation {
+       pname = "re2";
+       version = "0.1";
+       sha256 = "08mmbxj9dpnb56b6vh0lz7nimp3w3v9g2c6ypxgz8ahvlia0a4f5";
+       buildDepends = [ base bytestring vector ];
+       testDepends = [ base bytestring chell vector ];
+       homepage = "https://john-millikin.com/software/haskell-re2/";
+       description = "Bindings to the re2 regular expression library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "react-haskell" = callPackage
+    ({ mkDerivation, base, deepseq, haste-compiler, lens-family
+     , monads-tf, transformers, void
+     }:
+     mkDerivation {
+       pname = "react-haskell";
+       version = "1.3.0.0";
+       sha256 = "1jq96fiq133ng6ayknzxwcz59f2gxa5f5hhj9n46pixwdp6bf2aa";
+       buildDepends = [
+         base deepseq haste-compiler lens-family monads-tf transformers void
+       ];
+       homepage = "https://github.com/joelburget/react-haskell";
+       description = "Haskell React bindings";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "reaction-logic" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck }:
+     mkDerivation {
+       pname = "reaction-logic";
+       version = "2010.11.17";
+       sha256 = "0g1lbr0lsx71ddmd64q9lxx3gj63ncc7nqd12l4739wq495q57r0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl QuickCheck ];
+       homepage = "http://wiki.github.com/paolino/realogic";
+       description = "pluggable pure logic serializable reactor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reactive" = callPackage
+    ({ mkDerivation, base, category-extras, checkers, old-time
+     , QuickCheck, random, Stream, TypeCompose, unamb, vector-space
+     }:
+     mkDerivation {
+       pname = "reactive";
+       version = "0.11.5";
+       sha256 = "1axhgggl1g8yjdvp817bnkj4xc23scc3i2k224k43942255sf71j";
+       buildDepends = [
+         base category-extras checkers old-time QuickCheck random Stream
+         TypeCompose unamb vector-space
+       ];
+       homepage = "http://haskell.org/haskellwiki/reactive";
+       description = "Push-pull functional reactive programming";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactive-bacon" = callPackage
+    ({ mkDerivation, base, containers, HUnit, old-time, stm }:
+     mkDerivation {
+       pname = "reactive-bacon";
+       version = "0.4.1";
+       sha256 = "0cic01yikwgalbprz8y0fs7i7c0pynxl7aivsfjgsl75wdpjsj3m";
+       buildDepends = [ base old-time stm ];
+       testDepends = [ base containers HUnit old-time stm ];
+       homepage = "http://github.com/raimohanska/reactive-bacon";
+       description = "FRP (functional reactive programming) framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactive-balsa" = callPackage
+    ({ mkDerivation, alsa-core, alsa-seq, base, containers
+     , data-accessor, data-accessor-transformers, event-list
+     , extensible-exceptions, midi, midi-alsa, non-negative, random
+     , reactive-banana, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "reactive-balsa";
+       version = "0.1.1";
+       sha256 = "14k65rjvyxwb4psa53qcz89jllabqv76vh4xwx2k6k5ssl6qfr3n";
+       buildDepends = [
+         alsa-core alsa-seq base containers data-accessor
+         data-accessor-transformers event-list extensible-exceptions midi
+         midi-alsa non-negative random reactive-banana transformers
+         utility-ht
+       ];
+       jailbreak = true;
+       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
+     , test-framework, test-framework-hunit, transformers
+     , unordered-containers, vault
+     }:
+     mkDerivation {
+       pname = "reactive-banana";
+       version = "0.8.1.0";
+       sha256 = "166bw6lr3jd0m7b9hfr45lwyvyrggkz0xqh6ybqwvcpmc5h99dcg";
+       buildDepends = [
+         base containers hashable pqueue transformers unordered-containers
+         vault
+       ];
+       testDepends = [
+         base containers hashable HUnit pqueue test-framework
+         test-framework-hunit transformers unordered-containers vault
+       ];
+       homepage = "http://haskell.org/haskellwiki/Reactive-banana";
+       description = "Library for functional reactive programming (FRP)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reactive-banana-sdl" = callPackage
+    ({ mkDerivation, base, data-lens, data-lens-template
+     , reactive-banana, SDL, SDL-image, SDL-ttf
+     }:
+     mkDerivation {
+       pname = "reactive-banana-sdl";
+       version = "0.2.0";
+       sha256 = "067g8v7xhll416f47prifv0l2i8vr6aywbahhci8kwci75a1al6m";
+       buildDepends = [
+         base data-lens data-lens-template reactive-banana SDL SDL-image
+         SDL-ttf
+       ];
+       homepage = "https://github.com/JPMoresmau/reactive-banana-sdl";
+       description = "Reactive Banana bindings for SDL";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactive-banana-threepenny" = callPackage
+    ({ mkDerivation, base, reactive-banana, threepenny-gui }:
+     mkDerivation {
+       pname = "reactive-banana-threepenny";
+       version = "0.7.1.3";
+       sha256 = "1fb0bq7rcxsnga2hxh94h2rpp4kjh383z06qgk36m49pyvnbnl9a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base reactive-banana threepenny-gui ];
+       jailbreak = true;
+       homepage = "http://haskell.org/haskellwiki/Reactive-banana";
+       description = "Examples for the reactive-banana library, using threepenny-gui";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactive-banana-wx" = callPackage
+    ({ mkDerivation, base, cabal-macosx, reactive-banana, wx, wxcore }:
+     mkDerivation {
+       pname = "reactive-banana-wx";
+       version = "0.8.0.4";
+       sha256 = "1r000r9svkf1sqxhg5mpawg9a7dkfndsyz242sbmfaxf94nrrscg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cabal-macosx reactive-banana wx wxcore ];
+       configureFlags = [ "-f-buildexamples" ];
+       homepage = "http://haskell.org/haskellwiki/Reactive-banana";
+       description = "Examples for the reactive-banana library, using wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reactive-fieldtrip" = callPackage
+    ({ mkDerivation, base, FieldTrip, InfixApplicative, reactive
+     , reactive-glut, unamb, vector-space
+     }:
+     mkDerivation {
+       pname = "reactive-fieldtrip";
+       version = "0.0.9";
+       sha256 = "092bxjnhbcyqlij8jc014c56k67ncp5wjm8kmwvn8argfplyscxg";
+       buildDepends = [
+         base FieldTrip InfixApplicative reactive reactive-glut unamb
+         vector-space
+       ];
+       homepage = "http://haskell.org/haskellwiki/reactive-fieldtrip";
+       description = "Connect Reactive and FieldTrip";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactive-glut" = callPackage
+    ({ mkDerivation, base, GLUT, old-time, OpenGL, reactive
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "reactive-glut";
+       version = "0.1.10";
+       sha256 = "164ivzgrnvqvx7r1jagsng9m47ql0jkayzahhcvs8wd78ksbbsfh";
+       buildDepends = [ base GLUT old-time OpenGL reactive vector-space ];
+       homepage = "http://haskell.org/haskellwiki/reactive-glut";
+       description = "Connects Reactive and GLUT";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactive-haskell" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "reactive-haskell";
+       version = "0.0.1";
+       sha256 = "115zjaymcx1dm7lwdqjq810j664a2kj8phrvjkhfkdsl95srqc85";
+       buildDepends = [ base ];
+       description = "minimal fork of io-reactive";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reactive-io" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "reactive-io";
+       version = "0.1";
+       sha256 = "0s7a29cfzb2j5xvqykx1n5naci2np36zjs3qyq0i4yzjf3qprr63";
+       buildDepends = [ base transformers ];
+       description = "IO-oriented FRP library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "reactive-thread" = callPackage
+    ({ mkDerivation, base, monad-parallel, SDL, stm, transformers }:
+     mkDerivation {
+       pname = "reactive-thread";
+       version = "0.3.2.1";
+       sha256 = "1mydwb3p2c4xm7zfv7cwcyscq1wdcvs2az743s3j8gl8ggc1zs50";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base monad-parallel SDL stm transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/strager/reactive-thread";
+       description = "Reactive programming via imperative threads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reactor" = callPackage
+    ({ mkDerivation, array, base, bits-atomic, comonad, contravariant
+     , mtl, semigroupoids, transformers
+     }:
+     mkDerivation {
+       pname = "reactor";
+       version = "0.1.3";
+       sha256 = "0g57vkq8cgigy6383p5jk6bbp3l1vcihryz8sjwvr8hs4y96642f";
+       buildDepends = [
+         array base bits-atomic comonad contravariant mtl semigroupoids
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://comonad.com/reader/";
+       description = "Reactor - task parallel reactive programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "read-bounded" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "read-bounded";
+       version = "0.1.0.0";
+       sha256 = "1nvfkxjxn38rpplvg48sgx671fmfxj80dy2a77pjvm3c31q0hhqm";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Class for reading bounded values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "readable" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "readable";
+       version = "0.3.1";
+       sha256 = "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h";
+       buildDepends = [ base bytestring text ];
+       homepage = "https://github.com/mightybyte/readable";
+       description = "Reading from Text and ByteString";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "readline" = callPackage
+    ({ mkDerivation, base, ncurses, process, readline }:
+     mkDerivation {
+       pname = "readline";
+       version = "1.0.3.0";
+       sha256 = "1sszlx34qa88fad3wlhd4rkb1my1nrpzvyd8vq7dn806j5sf3ff0";
+       buildDepends = [ base process ];
+       extraLibraries = [ ncurses readline ];
+       description = "An interface to the GNU readline library";
+       license = "GPL";
+     }) { inherit (pkgs) ncurses;  inherit (pkgs) readline;};
+
+  "readline-statevar" = callPackage
+    ({ mkDerivation, base, readline, StateVar }:
+     mkDerivation {
+       pname = "readline-statevar";
+       version = "1.0.1.0";
+       sha256 = "1gfxs3wfdkkarxil2an5l58syrm2vajj0qpshzabzchni32yxic8";
+       buildDepends = [ base readline StateVar ];
+       jailbreak = true;
+       description = "Readline with variables (setX/getY) wrapped in state vars";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "readpyc" = callPackage
+    ({ mkDerivation, base, bliplib, parseargs }:
+     mkDerivation {
+       pname = "readpyc";
+       version = "0.2.1";
+       sha256 = "1icb7w3hgfczrr48x48lwvln05yaw3c9bxwrrfxc92h3q73v1rpp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bliplib parseargs ];
+       homepage = "https://github.com/bjpop/blip";
+       description = "Read and pretty print Python bytecode (.pyc) files.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "really-simple-xml-parser" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "really-simple-xml-parser";
+       version = "0.4.0.0";
+       sha256 = "1qmrfisnvm9a25a9ssg4r466yna69vzbwn7s7f4zql28cndg3syy";
+       buildDepends = [ base parsec ];
+       jailbreak = true;
+       homepage = "http://website-ckkashyap.rhcloud.com";
+       description = "A really simple XML parser";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reasonable-lens" = callPackage
+    ({ mkDerivation, base, mtl, split, template-haskell }:
+     mkDerivation {
+       pname = "reasonable-lens";
+       version = "0.2.1.0";
+       sha256 = "1qlcvhxgzi1pf4k2apa0fh5927bd132rbnnhyf9yf6qa9hz3d28f";
+       buildDepends = [ base mtl split template-haskell ];
+       homepage = "https://github.com/tokiwoousaka/reasonable-lens";
+       description = "Lens implementation. It is more small but adequately.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "reasonable-operational" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "reasonable-operational";
+       version = "0.1.0.1";
+       revision = "1";
+       sha256 = "18d49rzpygbsd17d9hz79bbgj6jznlx2jzhkw43gzw3rhvklwyh9";
+       editedCabalFile = "963ed294ec0f951858022c25b9713b06e65d2a05098068a1183110e298b5c8cf";
+       buildDepends = [ base ];
+       homepage = "https://github.com/tokiwoousaka/reasonable-operational";
+       description = "Just size Operational Monad implementation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "recaptcha" = callPackage
+    ({ mkDerivation, base, HTTP, network, network-uri, xhtml }:
+     mkDerivation {
+       pname = "recaptcha";
+       version = "0.1.0.3";
+       sha256 = "18rqsqzni11nr2cvs7ah9k87w493d92c0gmc0n6fhfq6gay9ia19";
+       buildDepends = [ base HTTP network network-uri xhtml ];
+       homepage = "http://github.com/jgm/recaptcha/tree/master";
+       description = "Functions for using the reCAPTCHA service in web applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "record" = callPackage
+    ({ mkDerivation, attoparsec, base, base-prelude, directory, doctest
+     , filepath, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "record";
+       version = "0.3.1";
+       sha256 = "11ddiz2i4rx0rydcm82j8gwf9zr26if78ij539hfdyi2zbvyri85";
+       buildDepends = [
+         attoparsec base base-prelude template-haskell text transformers
+       ];
+       testDepends = [ base base-prelude directory doctest filepath ];
+       homepage = "https://github.com/nikita-volkov/record";
+       description = "First class records implemented with quasi-quotation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "record-gl" = callPackage
+    ({ mkDerivation, base, base-prelude, containers, GLUtil, HUnit
+     , linear, OpenGL, record, tagged, template-haskell, test-framework
+     , test-framework-hunit, vector
+     }:
+     mkDerivation {
+       pname = "record-gl";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "0z0qwnzayarwlamig9g4zngq3mcddhl3pgalir811lxf3a3g1dqq";
+       editedCabalFile = "6d2017f9112690ce717a1bb7dad9d2d4272b01b4bce8ee3ae79247f97f277d85";
+       buildDepends = [
+         base base-prelude containers GLUtil linear OpenGL record tagged
+         template-haskell vector
+       ];
+       testDepends = [
+         base HUnit linear OpenGL record tagged test-framework
+         test-framework-hunit
+       ];
+       description = "Utilities for working with OpenGL's GLSL shading language and Nikita Volkov's \"Record\"s";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "records" = callPackage
+    ({ mkDerivation, base, kinds, type-functions }:
+     mkDerivation {
+       pname = "records";
+       version = "0.1.1.6";
+       sha256 = "1nzqqbqwgsr066ykmanyzmlv5nzdzpkkcla0lg8klyw6ck9ddk69";
+       buildDepends = [ base kinds type-functions ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/records";
+       description = "A flexible record system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "records-th" = callPackage
+    ({ mkDerivation, aeson, base, data-default, kinds, records
+     , template-haskell, text, type-functions, unordered-containers
+     }:
+     mkDerivation {
+       pname = "records-th";
+       version = "0.1.1.0";
+       sha256 = "1m6v52kmh1clcgah07jjjxvsfpbp6z8lkdd78wap0v3mqiv8mdcg";
+       buildDepends = [
+         aeson base data-default kinds records template-haskell text
+         type-functions unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "github.com/lassoinc/records-th";
+       description = "Template Haskell declarations for the records package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "recursion-schemes" = callPackage
+    ({ mkDerivation, base, comonad, free, transformers }:
+     mkDerivation {
+       pname = "recursion-schemes";
+       version = "4.1";
+       sha256 = "03rf65ak6bxsr204j6d8g5zyxva9vbmncycav3smqwfg5n3b3pwf";
+       buildDepends = [ base comonad free transformers ];
+       homepage = "http://github.com/ekmett/recursion-schemes/";
+       description = "Generalized bananas, lenses and barbed wire";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "recursive-line-count" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath, gtk, mtl
+     , process
+     }:
+     mkDerivation {
+       pname = "recursive-line-count";
+       version = "0.1";
+       sha256 = "0iyacn4gb7v6ly0bdci34mrjkjc29mbplqc6bhfv8ksz74aaafyn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers filepath gtk mtl process
+       ];
+       homepage = "https://github.com/joeyadams/haskell-recursive-line-count";
+       description = "Count lines in files and display them hierarchically";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "redHandlers" = callPackage
+    ({ mkDerivation, array, base, bytestring, cgi, containers
+     , haskell98, MaybeT, mtl, network, old-time, parsec, stm, unix
+     , xhtml
+     }:
+     mkDerivation {
+       pname = "redHandlers";
+       version = "0.1";
+       sha256 = "1llb81aqr0jlsajsmy20br5vqd6ap54bk17ipg8z3gmzd0wcf9c9";
+       buildDepends = [
+         array base bytestring cgi containers haskell98 MaybeT mtl network
+         old-time parsec stm unix xhtml
+       ];
+       jailbreak = true;
+       description = "Monadic HTTP request handlers combinators to build a standalone web apps";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "redis" = callPackage
+    ({ mkDerivation, base, bytestring, concurrent-extra, containers
+     , MonadCatchIO-mtl, mtl, network, old-time, utf8-string
+     }:
+     mkDerivation {
+       pname = "redis";
+       version = "0.13.0.1";
+       sha256 = "0djwih122pp7y0c1lx7ab7n80ra1488hrwgf0iq20gywk8an9wfq";
+       buildDepends = [
+         base bytestring concurrent-extra containers MonadCatchIO-mtl mtl
+         network old-time utf8-string
+       ];
+       homepage = "http://hub.darcs.net/ganesh/redis";
+       description = "A driver for Redis key-value database";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "redis-hs" = callPackage
+    ({ mkDerivation, base, bytestring, network, utf8-string }:
+     mkDerivation {
+       pname = "redis-hs";
+       version = "0.1.2";
+       sha256 = "1irayxwkdksc9v70g7il7zl7pmkrim2admcgjwcm9inyca7618wg";
+       buildDepends = [ base bytestring network utf8-string ];
+       homepage = "http://ohloh.net/p/redis-hs";
+       description = "A simple Redis library for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "redis-io" = callPackage
+    ({ mkDerivation, async, attoparsec, auto-update, base, bytestring
+     , bytestring-conversion, containers, exceptions, monad-control, mtl
+     , network, operational, redis-resp, resource-pool, tasty
+     , tasty-hunit, time, tinylog, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "redis-io";
+       version = "0.4.1";
+       sha256 = "0xd0dwkh8l7m75fp7sla8wf07hlgjlgqkpsj9cnwfg4g1gyx2yy2";
+       buildDepends = [
+         attoparsec auto-update base bytestring containers exceptions
+         monad-control mtl network operational redis-resp resource-pool time
+         tinylog transformers transformers-base
+       ];
+       testDepends = [
+         async base bytestring bytestring-conversion containers redis-resp
+         tasty tasty-hunit tinylog transformers
+       ];
+       homepage = "https://github.com/twittner/redis-io/";
+       description = "Yet another redis client";
+       license = "unknown";
+     }) {};
+
+  "redis-resp" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring
+     , bytestring-conversion, containers, dlist, double-conversion
+     , operational, semigroups, split, transformers
+     }:
+     mkDerivation {
+       pname = "redis-resp";
+       version = "0.3.2";
+       revision = "1";
+       sha256 = "07lvgq2l2fahhc9z3hjjjpx3n4rzdxl2l2ww9brxnv23432xpz97";
+       editedCabalFile = "74f97af6250dcf3b26d424e5a53a4a9bdcda5de4f7f4d5fc4d6b686f60f6d931";
+       buildDepends = [
+         attoparsec base bytestring bytestring-conversion containers dlist
+         double-conversion operational semigroups split transformers
+       ];
+       homepage = "https://github.com/twittner/redis-resp/";
+       description = "REdis Serialization Protocol (RESP) implementation";
+       license = "unknown";
+     }) {};
+
+  "redis-simple" = callPackage
+    ({ mkDerivation, base, binary, bytestring, redis }:
+     mkDerivation {
+       pname = "redis-simple";
+       version = "0.1.1";
+       sha256 = "0kzs5lc2y40dzx57k0klz0k9zijhi7mh0awi6rzhzd3h5z1gdr43";
+       buildDepends = [ base binary bytestring redis ];
+       homepage = "http://github.com/jaspervdj/redis-simple";
+       description = "Simple redis bindings for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "redo" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , process, pureMD5
+     }:
+     mkDerivation {
+       pname = "redo";
+       version = "0.2.0";
+       sha256 = "18951sri8wix8aazd8hy8g2gzcpxw2x1ihzmn2prlf10zy1jcy4d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory filepath process pureMD5
+       ];
+       homepage = "https://github.com/jekor/redo";
+       description = "software build system, make replacement, implementation of djb's redo";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "reducers" = callPackage
+    ({ mkDerivation, array, base, bytestring, comonad, containers
+     , fingertree, hashable, keys, pointed, semigroupoids, semigroups
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "reducers";
+       version = "3.10.3.1";
+       sha256 = "0qmd93jdh0qjyc9if9hr2yjanrqx5nlbz5j0daiywzxcb0hi7ri8";
+       buildDepends = [
+         array base bytestring comonad containers fingertree hashable keys
+         pointed semigroupoids semigroups text transformers
+         unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/reducers/";
+       description = "Semigroups, specialized containers and a general map/reduce framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reenact" = callPackage
+    ({ mkDerivation, base, hamid, HCodecs, stm, time, vector-space }:
+     mkDerivation {
+       pname = "reenact";
+       version = "0.9";
+       sha256 = "19xw0w15ja8h5wxpz4x65vzvc7qxpn3k33p82pa2g3w9l9hlj2xw";
+       buildDepends = [ base hamid HCodecs stm time vector-space ];
+       description = "A reimplementation of the Reactive library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reexport-crypto-random" = callPackage
+    ({ mkDerivation, base, crypto-api }:
+     mkDerivation {
+       pname = "reexport-crypto-random";
+       version = "0.1.0.0";
+       sha256 = "0lraykl190x0cj65z495c11vi4pcg3g8gz1bdgdndf6662lp56x9";
+       buildDepends = [ base crypto-api ];
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "ref" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "ref";
+       version = "0.1.1.2";
+       sha256 = "109illgbz4g4a6qavgc4wvyxfjvjhyrxa2gpps67avmr1v90gihr";
+       buildDepends = [ base ghc-prim ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/carter/ref";
+       description = "Generic Mutable Ref Abstraction Layer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ref-fd" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "ref-fd";
+       version = "0.4";
+       sha256 = "1r8cj6v798chr3bp7x6qvsiz04xsj2iicpa6824b4fzzy5ixkj96";
+       buildDepends = [ base stm transformers ];
+       homepage = "http://www.cs.drexel.edu/~mainland/";
+       description = "A type class for monads with references using functional dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ref-mtl" = callPackage
+    ({ mkDerivation, base, mtl, stm, transformers }:
+     mkDerivation {
+       pname = "ref-mtl";
+       version = "0.3";
+       sha256 = "0wijkaf3qyp6qjz0cwyhb89z5jrcz792hx8m9a43xrp7v2f84080";
+       buildDepends = [ base mtl stm transformers ];
+       jailbreak = true;
+       homepage = "http://www.eecs.harvard.edu/~mainland/";
+       description = "A type class for monads with references compatible with the mtl2 library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ref-tf" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "ref-tf";
+       version = "0.4";
+       sha256 = "049xpdn14py3r7hs4ikqdz7jgfsxi6vdsxgq0jfz69gzg4binc25";
+       buildDepends = [ base stm transformers ];
+       homepage = "http://www.cs.drexel.edu/~mainland/";
+       description = "A type class for monads with references using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "refcount" = callPackage
+    ({ mkDerivation, base, Cabal, hashable, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, unordered-containers
+     }:
+     mkDerivation {
+       pname = "refcount";
+       version = "0.1.2";
+       sha256 = "1h1gprc4c784pf3wi2ri2hxk7pbh9y8bqc0xcryjcyjk3519ig16";
+       buildDepends = [ base hashable QuickCheck unordered-containers ];
+       testDepends = [
+         base Cabal hashable HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+         unordered-containers
+       ];
+       homepage = "https://github.com/RobotGymnast/refcount";
+       description = "Container with element counts";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "reference" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "reference";
+       version = "0.1";
+       sha256 = "1gqbbiwhx5wq1g73m3apwyrrpapqzimincmw2b64fpkkykq66dq1";
+       buildDepends = [ base stm ];
+       description = "A class for references in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "references" = callPackage
+    ({ mkDerivation, array, base, containers, directory, either
+     , filepath, instance-control, mtl, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "references";
+       version = "0.3.0.0";
+       sha256 = "0rw3r9sz39f3pw2zxq7n9ca9jccfrj6lnjs3frimh0xrmdi9bmjk";
+       buildDepends = [
+         array base containers directory either filepath instance-control
+         mtl template-haskell text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/lazac/references";
+       description = "Generalization of lenses, folds and traversals to handle monads and addition";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { instance-control = null;};
+
+  "refh" = callPackage
+    ({ mkDerivation, base, clippard, cmdargs, directory, filepath
+     , haskheap, network
+     }:
+     mkDerivation {
+       pname = "refh";
+       version = "0.1.1";
+       sha256 = "1fhvn4cjfq92hi422mcdq4xwb405cc4pvlax0bqvyw3bg9ngqz9m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base clippard cmdargs directory filepath haskheap network
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Raynes/refh";
+       description = "A command-line tool for pasting to https://www.refheap.com";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reflection" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "reflection";
+       version = "1.5.1.2";
+       sha256 = "09fs42gmhdgfag7k4gm19l63sz5b1sxw6s3hgszpcnnsbv1g9ad4";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://github.com/ekmett/reflection";
+       description = "Reifies arbitrary terms into types that can be reflected back into terms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reflection-extras" = callPackage
+    ({ mkDerivation, aeson, base, constraints, lens, reflection, tagged
+     }:
+     mkDerivation {
+       pname = "reflection-extras";
+       version = "0.1.1.0";
+       sha256 = "1cnqd8hrcvjvcdrida0q3dxkkmp36qsfqhv0a5zr94b1y5zfrj4k";
+       buildDepends = [ aeson base constraints lens reflection tagged ];
+       jailbreak = true;
+       homepage = "http://github.com/jfischoff/reflection-extras";
+       description = "Utilities for the reflection package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reflection-without-remorse" = callPackage
+    ({ mkDerivation, base, type-aligned }:
+     mkDerivation {
+       pname = "reflection-without-remorse";
+       version = "0.9.5";
+       sha256 = "1iz4k42hc8f11a6kg2db847zmq5qpfiwns1448s62jswc2xm0x0r";
+       buildDepends = [ base type-aligned ];
+       homepage = "https://github.com/atzeus/reflection-without-remorse";
+       description = "Efficient free and operational monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reflex" = callPackage
+    ({ mkDerivation, base, containers, dependent-map, dependent-sum
+     , mtl, primitive, semigroups, template-haskell, these
+     }:
+     mkDerivation {
+       pname = "reflex";
+       version = "0.1.0";
+       sha256 = "1l64kz1haicq4qfw5nrn93jrv37c93zz6z0xkhjnm5rxff7qrdns";
+       buildDepends = [
+         base containers dependent-map dependent-sum mtl primitive
+         semigroups template-haskell these
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ryantrinkle/reflex";
+       description = "Higher-order Functional Reactive Programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reform" = callPackage
+    ({ mkDerivation, base, containers, mtl, text }:
+     mkDerivation {
+       pname = "reform";
+       version = "0.2.6";
+       sha256 = "02izf5hhhwc27lza0w93n3n5sdg1f0h6njgz3vw4bv71114wfcj7";
+       buildDepends = [ base containers mtl text ];
+       homepage = "http://www.happstack.com/";
+       description = "reform is an HTML form generation and validation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reform-blaze" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, reform, text }:
+     mkDerivation {
+       pname = "reform-blaze";
+       version = "0.2.3";
+       sha256 = "1bbmmvrprbig4ic1vq8jjhb4nxxkn0a4dxxaa62i02ms3wb1vsf5";
+       buildDepends = [ base blaze-html blaze-markup reform text ];
+       homepage = "http://www.happstack.com/";
+       description = "Add support for using blaze-html with Reform";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reform-hamlet" = callPackage
+    ({ mkDerivation, base, blaze-markup, reform, shakespeare, text }:
+     mkDerivation {
+       pname = "reform-hamlet";
+       version = "0.0.4";
+       sha256 = "1f8rh9wiax6g7kh1j0j2zmqr7n1ll9ijn2xqp1shhsq8vp30f8fg";
+       buildDepends = [ base blaze-markup reform shakespeare text ];
+       homepage = "http://www.happstack.com/";
+       description = "Add support for using Hamlet with Reform";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reform-happstack" = callPackage
+    ({ mkDerivation, base, bytestring, happstack-server, mtl, random
+     , reform, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "reform-happstack";
+       version = "0.2.4";
+       sha256 = "0igyvf8a0dd8376khzsssr6bjp3m224rrynm1ws4slxq9h3dklqn";
+       buildDepends = [
+         base bytestring happstack-server mtl random reform text utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://www.happstack.com/";
+       description = "Happstack support for reform";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reform-hsp" = callPackage
+    ({ mkDerivation, base, hsp, reform, text }:
+     mkDerivation {
+       pname = "reform-hsp";
+       version = "0.2.5";
+       sha256 = "0fq4g2v22nsqby72sasr15hs02rl97n8j85v9lgirw1jk2mbsqar";
+       buildDepends = [ base hsp reform text ];
+       homepage = "http://www.happstack.com/";
+       description = "Add support for using HSP with Reform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-applicative" = callPackage
+    ({ mkDerivation, base, containers, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, transformers
+     }:
+     mkDerivation {
+       pname = "regex-applicative";
+       version = "0.3.1";
+       sha256 = "1klmi101zfpngf8c7fp2ch48kadbw6xs5lg0h00x7wi0zfrdbf0y";
+       buildDepends = [ base containers transformers ];
+       testDepends = [
+         base containers smallcheck tasty tasty-hunit tasty-smallcheck
+         transformers
+       ];
+       homepage = "https://github.com/feuerbach/regex-applicative";
+       description = "Regex-based parsing with applicative interface";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "regex-base" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl }:
+     mkDerivation {
+       pname = "regex-base";
+       version = "0.93.2";
+       sha256 = "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10";
+       buildDepends = [ array base bytestring containers mtl ];
+       homepage = "http://sourceforge.net/projects/lazy-regex";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-compat" = callPackage
+    ({ mkDerivation, array, base, regex-base, regex-posix }:
+     mkDerivation {
+       pname = "regex-compat";
+       version = "0.95.1";
+       sha256 = "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m";
+       buildDepends = [ array base regex-base regex-posix ];
+       homepage = "http://sourceforge.net/projects/lazy-regex";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-compat-tdfa" = callPackage
+    ({ mkDerivation, array, base, regex-base, regex-tdfa }:
+     mkDerivation {
+       pname = "regex-compat-tdfa";
+       version = "0.95.1.4";
+       sha256 = "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg";
+       buildDepends = [ array base regex-base regex-tdfa ];
+       homepage = "http://hub.darcs.net/shelarcy/regex-compat-tdfa";
+       description = "Unicode Support version of Text.Regex, using regex-tdfa";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-deriv" = callPackage
+    ({ mkDerivation, base, bitset, bytestring, containers, deepseq
+     , dequeue, ghc-prim, hashable, hashtables, mtl, parallel, parsec
+     , regex-base
+     }:
+     mkDerivation {
+       pname = "regex-deriv";
+       version = "0.0.4";
+       sha256 = "0anj0az7q3fzdxknc83vci3nm5w0wj54w77xz2jphcbmn9ix9s4c";
+       buildDepends = [
+         base bitset bytestring containers deepseq dequeue ghc-prim hashable
+         hashtables mtl parallel parsec regex-base
+       ];
+       homepage = "http://code.google.com/p/xhaskell-regex-deriv/";
+       description = "Replaces/Enhances Text.Regex. Implementing regular expression matching using Brzozowski's Deriviatives";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-dfa" = callPackage
+    ({ mkDerivation, base, mtl, parsec, regex-base }:
+     mkDerivation {
+       pname = "regex-dfa";
+       version = "0.91";
+       sha256 = "1f846d86wg7yha29qinchpi3r5gv9795f384pqahbyc13wfky7dp";
+       buildDepends = [ base mtl parsec regex-base ];
+       homepage = "http://sourceforge.net/projects/lazy-regex";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-easy" = callPackage
+    ({ mkDerivation, array, base, bytestring, regex-pcre
+     , string-conversions
+     }:
+     mkDerivation {
+       pname = "regex-easy";
+       version = "0.1.0.0";
+       sha256 = "1062h3zd0bxak7rins7kk8n95ic04z5l9zqhg22h0iq5csapllf9";
+       buildDepends = [
+         array base bytestring regex-pcre string-conversions
+       ];
+       homepage = "https://github.com/zerobuzz/regex-easy";
+       description = "sugar for regex-pcre";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-genex" = callPackage
+    ({ mkDerivation, base, containers, logict, mtl, regex-tdfa, sbv
+     , stream-monad, text
+     }:
+     mkDerivation {
+       pname = "regex-genex";
+       version = "0.6.2";
+       sha256 = "1816zmlh1bmxykvjp1q2viqckjvcj2g9b11ggz31ja5xi2mwc9iq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers logict mtl regex-tdfa sbv stream-monad text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/audreyt/regex-genex";
+       description = "From a regex, generate all possible strings it can match";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-parsec" = callPackage
+    ({ mkDerivation, base, parsec, regex-base }:
+     mkDerivation {
+       pname = "regex-parsec";
+       version = "0.90";
+       sha256 = "0zf5cr10mxlxxd8fp4q4ix6ibxc5xx3ml3k043kx28f9vfdh2xnx";
+       buildDepends = [ base parsec regex-base ];
+       homepage = "http://sourceforge.net/projects/lazy-regex";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-pcre" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, pcre
+     , regex-base
+     }:
+     mkDerivation {
+       pname = "regex-pcre";
+       version = "0.94.4";
+       sha256 = "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf";
+       buildDepends = [ array base bytestring containers regex-base ];
+       extraLibraries = [ pcre ];
+       homepage = "http://hackage.haskell.org/package/regex-pcre";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) pcre;};
+
+  "regex-pcre-builtin" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, regex-base }:
+     mkDerivation {
+       pname = "regex-pcre-builtin";
+       version = "0.94.4.8.8.35";
+       sha256 = "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b";
+       buildDepends = [ array base bytestring containers regex-base ];
+       homepage = "http://hackage.haskell.org/package/regex-pcre";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-pderiv" = callPackage
+    ({ mkDerivation, base, bitset, bytestring, containers, deepseq
+     , ghc-prim, mtl, parallel, parsec, regex-base
+     }:
+     mkDerivation {
+       pname = "regex-pderiv";
+       version = "0.1.3";
+       sha256 = "1jh7ksv3cgsjd0f51yyrs2kvji1wyi9qk2ysavh3w34nkgyxmg55";
+       buildDepends = [
+         base bitset bytestring containers deepseq ghc-prim mtl parallel
+         parsec regex-base
+       ];
+       homepage = "http://code.google.com/p/xhaskell-library/";
+       description = "Replaces/Enhances Text.Regex. Implementing regular expression matching using Antimirov's partial derivatives.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regex-posix" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, regex-base }:
+     mkDerivation {
+       pname = "regex-posix";
+       version = "0.95.2";
+       sha256 = "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an";
+       buildDepends = [ array base bytestring containers regex-base ];
+       homepage = "http://sourceforge.net/projects/lazy-regex";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-posix-unittest" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl
+     , regex-base, regex-posix
+     }:
+     mkDerivation {
+       pname = "regex-posix-unittest";
+       version = "1.1";
+       sha256 = "0kcxsdn5lgmpfrkpkygr54jrnjqd93b12shb00n6j00rg7p755vx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers mtl regex-base regex-posix
+       ];
+       description = "Unit tests for the plaform's Posix regex library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-tdfa" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, ghc-prim, mtl
+     , parsec, regex-base
+     }:
+     mkDerivation {
+       pname = "regex-tdfa";
+       version = "1.2.0";
+       sha256 = "00gl9sx3hzd83lp38jlcj7wvzrda8kww7njwlm1way73m8aar0pw";
+       buildDepends = [
+         array base bytestring containers ghc-prim mtl parsec regex-base
+       ];
+       homepage = "http://hackage.haskell.org/package/regex-tdfa";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-tdfa-rc" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, ghc-prim, mtl
+     , parsec, regex-base
+     }:
+     mkDerivation {
+       pname = "regex-tdfa-rc";
+       version = "1.1.8.3";
+       sha256 = "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3";
+       buildDepends = [
+         array base bytestring containers ghc-prim mtl parsec regex-base
+       ];
+       homepage = "http://hackage.haskell.org/package/regex-tdfa";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-tdfa-text" = callPackage
+    ({ mkDerivation, array, base, regex-base, regex-tdfa, text }:
+     mkDerivation {
+       pname = "regex-tdfa-text";
+       version = "1.0.0.2";
+       sha256 = "1p17xv3j2xd74iilyqwlqhkmyp26asq4k1pb0h2f0wdqqfr87bfd";
+       buildDepends = [ array base regex-base regex-tdfa text ];
+       description = "Text interface for regex-tdfa";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-tdfa-unittest" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl
+     , regex-base, regex-tdfa
+     }:
+     mkDerivation {
+       pname = "regex-tdfa-unittest";
+       version = "1.1";
+       sha256 = "1b9cca3l46qxvc5ck3z27dg6w1888pabkk0q752bzjqr3fc4nidc";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers mtl regex-base regex-tdfa
+       ];
+       description = "Unit tests for the regex-tdfa";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-tdfa-utf8" = callPackage
+    ({ mkDerivation, array, base, bytestring, regex-base, regex-tdfa
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "regex-tdfa-utf8";
+       version = "1.0";
+       sha256 = "0i5di03v9dsvvhz8mdfx5qba8zcpim0fpx1cjg9gvz4gh0yhqf4k";
+       buildDepends = [
+         array base bytestring regex-base regex-tdfa utf8-string
+       ];
+       description = "This combines regex-tdfa with utf8-string to allow searching over UTF8 encoded lazy bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regex-tre" = callPackage
+    ({ mkDerivation, base, regex-base, tre }:
+     mkDerivation {
+       pname = "regex-tre";
+       version = "0.91";
+       sha256 = "1b7x0y8q1fvipnzh06by48f8l9l5ypm6yblpl35fzf641z3m9b7j";
+       buildDepends = [ base regex-base ];
+       extraLibraries = [ tre ];
+       homepage = "http://sourceforge.net/projects/lazy-regex";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) tre;};
+
+  "regex-xmlschema" = callPackage
+    ({ mkDerivation, base, haskell98, parsec }:
+     mkDerivation {
+       pname = "regex-xmlschema";
+       version = "0.1.5";
+       sha256 = "1dmhvnz6sj80kdnm2v7n0lvx8g9arhf9pqqzkn0rwzfhr2by0ss4";
+       buildDepends = [ base haskell98 parsec ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema";
+       description = "A regular expression library for W3C XML Schema regular expressions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regexchar" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, parallel, parsec
+     , QuickCheck, regex-base, regex-posix, regexdot, toolshed
+     }:
+     mkDerivation {
+       pname = "regexchar";
+       version = "0.9.0.10";
+       sha256 = "1nj43gvhm233609rc0pj183bciiz4nafi6ypq06rs3sb8sin3frj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers parallel parsec QuickCheck regex-base
+         regex-posix regexdot toolshed
+       ];
+       jailbreak = true;
+       homepage = "http://functionalley.eu";
+       description = "A POSIX, extended regex-engine";
+       license = "GPL";
+     }) {};
+
+  "regexdot" = callPackage
+    ({ mkDerivation, base, deepseq, parallel, parsec, toolshed }:
+     mkDerivation {
+       pname = "regexdot";
+       version = "0.11.1.0";
+       sha256 = "0hxqhfamy98ygnbh0ajhdab1zqnx4qnkwclnn5x5f9ra5iqj0rrq";
+       buildDepends = [ base deepseq parallel parsec toolshed ];
+       homepage = "http://functionalley.eu";
+       description = "A polymorphic, POSIX, extended regex-engine";
+       license = "GPL";
+     }) {};
+
+  "regexp-tries" = callPackage
+    ({ mkDerivation, base, containers, derive-trie, template-haskell
+     , weighted-regexp
+     }:
+     mkDerivation {
+       pname = "regexp-tries";
+       version = "0.2";
+       sha256 = "16spdq22dsblksvpd85cm6bmjd9053znphw6na1iy9pkmc491v1l";
+       buildDepends = [
+         base containers derive-trie template-haskell weighted-regexp
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/baldo/regexp-tries";
+       description = "Regular Expressions on Tries";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regexpr" = callPackage
+    ({ mkDerivation, base, HUnit, mtl, mtlparse }:
+     mkDerivation {
+       pname = "regexpr";
+       version = "0.5.4";
+       sha256 = "0136wp6hrnmj6pbdhp3a131dzz8bp1pbd92bpagpv1r6gwj16y5z";
+       buildDepends = [ base HUnit mtl mtlparse ];
+       homepage = "http://homepage3.nifty.com/salamander/second/projects/regexpr/";
+       description = "regular expression like Perl/Ruby in Haskell";
+       license = "LGPL";
+     }) {};
+
+  "regexpr-symbolic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "regexpr-symbolic";
+       version = "0.5";
+       sha256 = "1cpwvb5mmcaqwy617m6cr25pcb4v4yxwzxng82bcrwkhjfdklsdr";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://sulzmann.blogspot.com/2008/12/equality-containment-and-intersection.html";
+       description = "Regular expressions via symbolic manipulation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regexqq" = callPackage
+    ({ mkDerivation, base, bytestring, pcre-light, template-haskell }:
+     mkDerivation {
+       pname = "regexqq";
+       version = "0.6";
+       sha256 = "10vh4i7q9vf6b716hf2i9pv1dy6vlyrh8bybqh91i704a55m40f3";
+       buildDepends = [ base bytestring pcre-light template-haskell ];
+       homepage = "http://code.haskell.org/~morrow/code/haskell/regexqq";
+       description = "A quasiquoter for PCRE regexes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regional-pointers" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, regions, transformers
+     }:
+     mkDerivation {
+       pname = "regional-pointers";
+       version = "0.7";
+       sha256 = "1v71k64is86yc19n96062wl8f382xna1vnm0spcmr9jx6x3wyqv2";
+       buildDepends = [ base base-unicode-symbols regions transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/regional-pointers/";
+       description = "Regional memory pointers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regions" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, monad-control
+     , transformers
+     }:
+     mkDerivation {
+       pname = "regions";
+       version = "0.11";
+       sha256 = "1l4wi4vziw0d0vaagbknf8bsvh4irqxls6qbhcg8ngpn62a0fa7p";
+       buildDepends = [
+         base base-unicode-symbols monad-control transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/regions/";
+       description = "Provides the region monad for safely opening and working with scarce resources";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regions-monadsfd" = callPackage
+    ({ mkDerivation, base-unicode-symbols, monads-fd, regions
+     , transformers
+     }:
+     mkDerivation {
+       pname = "regions-monadsfd";
+       version = "0.3.1.3";
+       sha256 = "13xyigw1f92bzppqrl96wbz36j9cwrsaxdb2vkg8sjjvnirly3h9";
+       buildDepends = [
+         base-unicode-symbols monads-fd regions transformers
+       ];
+       jailbreak = true;
+       description = "Monads-fd instances for the RegionT monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regions-monadstf" = callPackage
+    ({ mkDerivation, base-unicode-symbols, monads-tf, regions
+     , transformers
+     }:
+     mkDerivation {
+       pname = "regions-monadstf";
+       version = "0.3.1.7";
+       sha256 = "0r4fr3p2k4k8r1lw6la7h4al068xf5kzb8cgq5864rlkrgf53fxb";
+       buildDepends = [
+         base-unicode-symbols monads-tf regions transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/regions-monadstf/";
+       description = "Monads-tf instances for the RegionT monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regions-mtl" = callPackage
+    ({ mkDerivation, base-unicode-symbols, mtl, regions }:
+     mkDerivation {
+       pname = "regions-mtl";
+       version = "0.3.1.7";
+       sha256 = "1s0sr42k1kmwgmrnj5zcan0j9br8xrrm1vdnj6yhliqdfz41ifc0";
+       buildDepends = [ base-unicode-symbols mtl regions ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/regions-mtl/";
+       description = "mtl instances for the RegionT monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regular" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "regular";
+       version = "0.3.4.4";
+       sha256 = "112n3j27ac9lzs0lc3q12r6wmpkmfgdalv18h1qklhd5nh4j9wl5";
+       buildDepends = [ base template-haskell ];
+       description = "Generic programming library for regular datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "regular-extras" = callPackage
+    ({ mkDerivation, base, binary, deepseq, QuickCheck, regular }:
+     mkDerivation {
+       pname = "regular-extras";
+       version = "0.2.3";
+       sha256 = "0x1sbps0ccwpvf6fx1jnbjxylqsvvfzkkynliip9jyh6gkhm44vx";
+       buildDepends = [ base binary deepseq QuickCheck regular ];
+       jailbreak = true;
+       description = "Additional functions for regular: arbitrary, coarbitrary, and binary get/put";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regular-web" = callPackage
+    ({ mkDerivation, applicative-extras, base, fclabels, formlets, json
+     , mtl, regular, xhtml
+     }:
+     mkDerivation {
+       pname = "regular-web";
+       version = "0.1.1";
+       sha256 = "0f4lsly4497p7szibasin27hf2xy5cs8gp87vsbg6mlkk07bvysz";
+       buildDepends = [
+         applicative-extras base fclabels formlets json mtl regular xhtml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/chriseidhof/regular-web";
+       description = "Generic programming for the web";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "regular-xmlpickler" = callPackage
+    ({ mkDerivation, base, hxt, regular, text }:
+     mkDerivation {
+       pname = "regular-xmlpickler";
+       version = "0.2";
+       sha256 = "1qjx4xsidnpr2as3m2ir97ap5vc9cw6a0z332g53ifx9gskjli9f";
+       buildDepends = [ base hxt regular text ];
+       homepage = "http://github.com/silkapp/regular-xmlpickler";
+       description = "Generic generation of HXT XmlPickler instances using Regular";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reheat" = callPackage
+    ({ mkDerivation, base, directory, QuickCheck, text, vty, vty-ui }:
+     mkDerivation {
+       pname = "reheat";
+       version = "0.1.5";
+       sha256 = "0m6s6r2d39g3qkjylsrhixk9l9sb2jv0ihxwjn7b0wz7585g2bdv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory text vty vty-ui ];
+       testDepends = [ base directory QuickCheck text vty vty-ui ];
+       homepage = "https://github.com/mrVanDalo/reheat";
+       description = "to make notes and reduce impact on idle time on writing other programms";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rehoo" = callPackage
+    ({ mkDerivation, base, cmdargs, parallel-io, shelly, split
+     , system-filepath, text
+     }:
+     mkDerivation {
+       pname = "rehoo";
+       version = "0.3.1";
+       sha256 = "0pwmz1q2866yj8hxbvha4v1smhppkd3jsrrhbhmbxw137l54ijgf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs parallel-io shelly split system-filepath text
+       ];
+       homepage = "https://github.com/jwiegley/rehoo";
+       description = "Rebuild default.hoo from many .hoo files in the current directory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reified-records" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "reified-records";
+       version = "0.2.2";
+       sha256 = "0vg05idyiy3havw8rlsky7x4y34mpk6by9500r7rb921xgpdq70a";
+       buildDepends = [ base containers mtl ];
+       homepage = "http://bitbucket.org/jozefg/reified-records";
+       description = "Reify records to Maps and back again";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "reify" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "reify";
+       version = "0.1.1";
+       sha256 = "1bl4yv77i8c4w1y5lqr6b8xi1m4ym2phvdjwc9l95rx1vrxkqpk1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ghc ];
+       jailbreak = true;
+       homepage = "http://www.cs.mu.oz.au/~bjpop/code.html";
+       description = "Serialize data";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reinterpret-cast" = callPackage
+    ({ mkDerivation, array, base, data-binary-ieee754, hspec, loop }:
+     mkDerivation {
+       pname = "reinterpret-cast";
+       version = "0.1.0";
+       sha256 = "1r2k2fyfm5lknfdfs282l274bgaxf4j4dikk4hpwchjbj0n64m2n";
+       buildDepends = [ array base ];
+       testDepends = [ base data-binary-ieee754 hspec loop ];
+       homepage = "https://github.com/nh2/reinterpret-cast";
+       description = "Memory reinterpretation casts for Float/Double and Word32/Word64";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "relacion" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "relacion";
+       version = "0.1";
+       sha256 = "1jq3ii9j8s7q8fr7ac2pdr2l33jvzsyyq70cjd9q1spqa1v6k976";
+       buildDepends = [ array base containers ];
+       homepage = "not available";
+       description = "A relation data structure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "relation" = callPackage
+    ({ mkDerivation, array, base, containers, groom }:
+     mkDerivation {
+       pname = "relation";
+       version = "0.2.1";
+       sha256 = "03h6l8v3ppxbwg9ddgg121yx3i2v4vbcpwrv1vg3mgbw5pwq7x4c";
+       buildDepends = [ array base containers groom ];
+       jailbreak = true;
+       homepage = "https://www.github.com/d-day/relation/";
+       description = "A data structure representing Relations on Sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "relational-postgresql8" = callPackage
+    ({ mkDerivation, base, containers, HDBC, names-th
+     , persistable-record, relational-query, relational-query-HDBC
+     , template-haskell, time
+     }:
+     mkDerivation {
+       pname = "relational-postgresql8";
+       version = "0.1.0.0";
+       sha256 = "1fmgb7qbcbyr5simy5x6fqnib3v3cq0vsz9i720snszs7a2k1z8f";
+       buildDepends = [
+         base containers HDBC names-th persistable-record relational-query
+         relational-query-HDBC template-haskell time
+       ];
+       homepage = "https://github.com/yuga/haskell-relational-record-driver-postgresql8";
+       description = "PostgreSQL v8.x driver for haskell-relational-record";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "relational-query" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, cabal-test-compat
+     , containers, dlist, names-th, persistable-record, sql-words
+     , template-haskell, text, time, time-locale-compat, transformers
+     }:
+     mkDerivation {
+       pname = "relational-query";
+       version = "0.4.0.1";
+       sha256 = "00ysy5lg0mpv5b1vcjlfi6nx72df3iqz5nmrfsrr0k7i65xp1fzi";
+       buildDepends = [
+         array base bytestring containers dlist names-th persistable-record
+         sql-words template-haskell text time time-locale-compat
+         transformers
+       ];
+       testDepends = [
+         base Cabal cabal-test-compat containers transformers
+       ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Typeful, Modular, Relational, algebraic query engine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "relational-query-HDBC" = callPackage
+    ({ mkDerivation, base, containers, convertible, HDBC, HDBC-session
+     , names-th, persistable-record, relational-query
+     , relational-schemas, template-haskell
+     }:
+     mkDerivation {
+       pname = "relational-query-HDBC";
+       version = "0.1.0.0";
+       sha256 = "1r5lj96w8cqcmma2kh46g8xyw0zz161nv1h9bwqia21vvis396vj";
+       buildDepends = [
+         base containers convertible HDBC HDBC-session names-th
+         persistable-record relational-query relational-schemas
+         template-haskell
+       ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "HDBC instance of relational join and typed query for HDBC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "relational-record" = callPackage
+    ({ mkDerivation, base, relational-query, relational-query-HDBC }:
+     mkDerivation {
+       pname = "relational-record";
+       version = "0.1.1.0";
+       sha256 = "1rxwlp49a1i4y2qnzjwjwp92ggphd92ikcgxpmkiw6a6frspy3zs";
+       buildDepends = [ base relational-query relational-query-HDBC ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Meta package of Relational Record";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "relational-record-examples" = callPackage
+    ({ mkDerivation, base, HDBC, HDBC-session, HDBC-sqlite3, names-th
+     , persistable-record, relational-query, relational-query-HDBC
+     , template-haskell, time
+     }:
+     mkDerivation {
+       pname = "relational-record-examples";
+       version = "0.2.0.0";
+       sha256 = "0gm9gpyhhvlxzw6xykmlw6qhinjfnq5x9fny4yhfi1mfp80gwfhx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base HDBC HDBC-session HDBC-sqlite3 names-th persistable-record
+         relational-query relational-query-HDBC template-haskell time
+       ];
+       description = "Examples of Haskell Relationa Record";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "relational-schemas" = callPackage
+    ({ mkDerivation, base, bytestring, containers, persistable-record
+     , relational-query, template-haskell, time
+     }:
+     mkDerivation {
+       pname = "relational-schemas";
+       version = "0.1.0.2";
+       sha256 = "1267bv92z2k8s2cmn8sgw0i0vs3y2m8jyvnv969v15lrpsid1vvw";
+       buildDepends = [
+         base bytestring containers persistable-record relational-query
+         template-haskell time
+       ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "RDBMSs' schema templates for relational-query";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "relative-date" = callPackage
+    ({ mkDerivation, base, concatenative, datetime, mtl, parsec, time
+     }:
+     mkDerivation {
+       pname = "relative-date";
+       version = "0.0.1";
+       sha256 = "052rk17flm5zp70wcl7ki3ys47hnaa2d5c1vjsap7bfkcg4lff66";
+       buildDepends = [ base concatenative datetime mtl parsec time ];
+       jailbreak = true;
+       description = "Durations and generalized time parsing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "relit" = callPackage
+    ({ mkDerivation, base, regex-base, template-haskell }:
+     mkDerivation {
+       pname = "relit";
+       version = "0.1.3";
+       sha256 = "03cnra0yfpijp65p1x0wv4fvc1p1l27lcb00k22ijrcy2mxqr9cg";
+       buildDepends = [ base regex-base template-haskell ];
+       description = "Literal for regular expression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rematch" = callPackage
+    ({ mkDerivation, base, hspec, HUnit }:
+     mkDerivation {
+       pname = "rematch";
+       version = "0.2.0.0";
+       sha256 = "0law4al9hzn9qljfm8rwgmb15pzpcs8i44v1l6279977q0lxx5pr";
+       buildDepends = [ base ];
+       testDepends = [ base hspec HUnit ];
+       description = "A simple api for matchers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rematch-text" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, rematch, text }:
+     mkDerivation {
+       pname = "rematch-text";
+       version = "0.1.0.2";
+       sha256 = "0q8jf7128360waq6k369ykp0hfjwydkm7f8ykwzd8xflmgfiywfd";
+       buildDepends = [ base rematch text ];
+       testDepends = [ base hspec HUnit rematch text ];
+       description = "`rematch` matchers for Data.Text";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "remote" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , filepath, mtl, network, pureMD5, stm, syb, template-haskell, time
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "remote";
+       version = "0.1.1";
+       sha256 = "14awzhpc21pp4iq53vz4ib81ygxsnlnfppv723zy77z6jja08gf0";
+       buildDepends = [
+         base binary bytestring containers directory filepath mtl network
+         pureMD5 stm syb template-haskell time utf8-string
+       ];
+       description = "Cloud Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "remote-debugger" = callPackage
+    ({ mkDerivation, array, base, ghc, ghc-paths, json, network }:
+     mkDerivation {
+       pname = "remote-debugger";
+       version = "0.2.1";
+       sha256 = "0mgq2n92d4xk6yqzrbghlp0h18nmkyhxnv5zynrqykfw5h9xl0f8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base ghc ghc-paths json network ];
+       jailbreak = true;
+       homepage = "https://github.com/octomarat/HaskellDebugger";
+       description = "Interface to ghci debugger";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "remotion" = callPackage
+    ({ mkDerivation, async, base, bytestring, concurrent-extra
+     , containers, directory, errors, filelock, hashable, hashtables
+     , HTF, HUnit, lifted-async, loch-th, monad-control, mtl, network
+     , network-simple, old-locale, pipes, pipes-bytestring
+     , pipes-cereal-plus, pipes-network, pipes-parse, placeholders
+     , QuickCheck, quickcheck-instances, stm, system-fileio
+     , system-filepath, text, time, transformers-base
+     }:
+     mkDerivation {
+       pname = "remotion";
+       version = "0.2.0";
+       sha256 = "0m7x5i00i6ai39yii6h5vzlsp1rnmprmddqllqja57kdy3q7v7na";
+       buildDepends = [
+         async base bytestring concurrent-extra containers directory errors
+         filelock hashable hashtables lifted-async loch-th monad-control mtl
+         network network-simple old-locale pipes pipes-bytestring
+         pipes-cereal-plus pipes-network pipes-parse placeholders stm
+         system-fileio system-filepath text time transformers-base
+       ];
+       testDepends = [
+         async base bytestring concurrent-extra containers directory errors
+         filelock hashable hashtables HTF HUnit lifted-async loch-th
+         monad-control mtl network network-simple old-locale pipes
+         pipes-bytestring pipes-cereal-plus pipes-network pipes-parse
+         placeholders QuickCheck quickcheck-instances stm system-fileio
+         system-filepath text time transformers-base
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/remotion";
+       description = "A library for client-server applications based on custom protocols";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reord" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "reord";
+       version = "0.0.0.2";
+       sha256 = "07lxnfj0q565ydjzgcnb9dhjlrs7s1h6ybam7aic68lfd4p0hr7y";
+       buildDepends = [ base ];
+       description = "Ad-hoc Ord instances";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "reorderable" = callPackage
+    ({ mkDerivation, base, constraints, haskell-src-exts
+     , haskell-src-meta, template-haskell
+     }:
+     mkDerivation {
+       pname = "reorderable";
+       version = "0.3.1";
+       sha256 = "1i81yran553jdsyx0bx5g72dg6v24yk3g6l40m1cd430f8yy8a6f";
+       buildDepends = [
+         base constraints haskell-src-exts haskell-src-meta template-haskell
+       ];
+       jailbreak = true;
+       description = "Define compound types that do not depend on member order";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repa" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, QuickCheck
+     , template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "repa";
+       version = "3.4.0.1";
+       sha256 = "197ab7z0fi50n3i8lkcxqazgnv39dv8dhndzihppsmfkil5y58l4";
+       buildDepends = [
+         base bytestring ghc-prim QuickCheck template-haskell vector
+       ];
+       jailbreak = true;
+       homepage = "http://repa.ouroborus.net";
+       description = "High performance, regular, shape polymorphic parallel arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-algorithms" = callPackage
+    ({ mkDerivation, base, llvm, repa, vector }:
+     mkDerivation {
+       pname = "repa-algorithms";
+       version = "3.4.0.1";
+       sha256 = "0q8jwp1msg5icvcqxszh5c1190llwz17gxc7nmd1bkyca59j8w0l";
+       buildDepends = [ base repa vector ];
+       extraLibraries = [ llvm ];
+       jailbreak = true;
+       homepage = "http://repa.ouroborus.net";
+       description = "Algorithms using the Repa array library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (self.llvmPackages) llvm;};
+
+  "repa-array" = callPackage
+    ({ mkDerivation, base, bytestring, double-conversion, mtl
+     , primitive, repa-convert, repa-eval, repa-stream, text, vector
+     }:
+     mkDerivation {
+       pname = "repa-array";
+       version = "4.1.0.1";
+       sha256 = "04bi2j2y5rrpkfzys6ma0d5fhsrapip0xb43gqsgcqz3rk89lank";
+       buildDepends = [
+         base bytestring double-conversion mtl primitive repa-convert
+         repa-eval repa-stream text vector
+       ];
+       jailbreak = true;
+       homepage = "http://repa.ouroborus.net";
+       description = "Bulk array representations and operators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-bytestring" = callPackage
+    ({ mkDerivation, base, repa }:
+     mkDerivation {
+       pname = "repa-bytestring";
+       version = "3.0.0.1";
+       sha256 = "1q7kvm39iqabanrgyi438n8mfn1ikvpygralyakfc02rm2gpl0gb";
+       buildDepends = [ base repa ];
+       jailbreak = true;
+       homepage = "http://repa.ouroborus.net";
+       description = "(deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repa-convert" = callPackage
+    ({ mkDerivation, base, primitive, vector }:
+     mkDerivation {
+       pname = "repa-convert";
+       version = "4.1.0.1";
+       sha256 = "197lqlyvljbngnckw742kij7frsx1rwakfa13xwaij6gxmyz9zx6";
+       buildDepends = [ base primitive vector ];
+       homepage = "http://repa.ouroborus.net";
+       description = "Packing and unpacking binary data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-devil" = callPackage
+    ({ mkDerivation, base, libdevil, repa, transformers }:
+     mkDerivation {
+       pname = "repa-devil";
+       version = "0.3.2.2";
+       sha256 = "0p46ni9z8wymyk4qmcy04kwycxb31yyprd8ddxsxpjilhbw848lh";
+       buildDepends = [ base repa transformers ];
+       extraLibraries = [ libdevil ];
+       homepage = "https://github.com/RaphaelJ/repa-devil";
+       description = "Support for image reading and writing of Repa arrays using in-place FFI calls";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libdevil;};
+
+  "repa-eval" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "repa-eval";
+       version = "4.0.0.1";
+       sha256 = "0vng0y835gma937q1996qghfzx06wabxf7ln8ckrwy5djzza8h9y";
+       buildDepends = [ base ghc-prim ];
+       homepage = "http://repa.ouroborus.net";
+       description = "Low-level parallel operators on bulk random-accessble arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-examples" = callPackage
+    ({ mkDerivation, base, llvm, QuickCheck, random, repa
+     , repa-algorithms, repa-io, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "repa-examples";
+       version = "3.4.0.1";
+       sha256 = "00v1z4kscvmnd4k7lsswzaxafkk7mbsy4ghdd503wpvr4fvslgaz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base QuickCheck random repa repa-algorithms repa-io
+         template-haskell vector
+       ];
+       extraLibraries = [ llvm ];
+       jailbreak = true;
+       homepage = "http://repa.ouroborus.net";
+       description = "Examples using the Repa array library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (self.llvmPackages) llvm;};
+
+  "repa-fftw" = callPackage
+    ({ mkDerivation, base, carray, fft, repa, storable-complex, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "repa-fftw";
+       version = "3.2.3.2";
+       sha256 = "0y05hjysf484nfdr2qs1mbs7znxi58q9f0kxfnkcbskijwxnj320";
+       buildDepends = [ base carray fft repa storable-complex ];
+       testDepends = [ base repa tasty tasty-hunit tasty-quickcheck ];
+       description = "Perform fft with repa via FFTW";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repa-flow" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , primitive, repa-array, repa-eval, repa-stream, text, vector
+     }:
+     mkDerivation {
+       pname = "repa-flow";
+       version = "4.1.0.1";
+       sha256 = "0d3j4wc3f0rbxmmj2hq9m8m9hjnad6siard279xs7sd4qzwkcpg7";
+       buildDepends = [
+         base bytestring containers directory filepath primitive repa-array
+         repa-eval repa-stream text vector
+       ];
+       homepage = "http://repa.ouroborus.net";
+       description = "Data-parallel data flows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-io" = callPackage
+    ({ mkDerivation, base, binary, bmp, bytestring, old-time, repa
+     , vector
+     }:
+     mkDerivation {
+       pname = "repa-io";
+       version = "3.4.0.1";
+       sha256 = "06ks4gxsajnalxh9mpnl4pckxnyfc59823war3m74anb0pqcrbbl";
+       buildDepends = [ base binary bmp bytestring old-time repa vector ];
+       jailbreak = true;
+       homepage = "http://repa.ouroborus.net";
+       description = "Read and write Repa arrays in various formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-plugin" = callPackage
+    ({ mkDerivation, base, containers, ddc-base, ddc-core
+     , ddc-core-flow, ddc-core-simpl, ghc, mtl
+     }:
+     mkDerivation {
+       pname = "repa-plugin";
+       version = "1.0.0.1";
+       sha256 = "0s644rlk6sqz8sb2rwak42153xxsp5vjpqhlxnmbic0b7r67s8y9";
+       buildDepends = [
+         base containers ddc-base ddc-core ddc-core-flow ddc-core-simpl ghc
+         mtl
+       ];
+       jailbreak = true;
+       description = "Data Flow Fusion GHC Plugin";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repa-series" = callPackage
+    ({ mkDerivation, base, ghc, ghc-prim, vector }:
+     mkDerivation {
+       pname = "repa-series";
+       version = "1.0.0.1";
+       sha256 = "1kldz4d4cv0vliqw78ywbcfgh0mw4i5cd93j0jdagvhsbhlxlp5k";
+       buildDepends = [ base ghc ghc-prim vector ];
+       jailbreak = true;
+       description = "Series Expressionss API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repa-sndfile" = callPackage
+    ({ mkDerivation, base, directory, filepath, hsndfile
+     , hsndfile-vector, repa, vector
+     }:
+     mkDerivation {
+       pname = "repa-sndfile";
+       version = "3.2.3.3";
+       sha256 = "0pgrdhi7s1capainmd6hq1h8wjzppyr8fn93fzygwjpvnnhfggk8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base hsndfile hsndfile-vector repa vector ];
+       testDepends = [
+         base directory filepath hsndfile hsndfile-vector repa vector
+       ];
+       description = "Reading and writing sound files with repa arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-stream" = callPackage
+    ({ mkDerivation, base, mtl, primitive, vector }:
+     mkDerivation {
+       pname = "repa-stream";
+       version = "4.1.0.1";
+       sha256 = "17n48ixypx5a3anj212h4vxa6sqwk5yssjqyprb8lb3mnqfdlxmm";
+       buildDepends = [ base mtl primitive vector ];
+       jailbreak = true;
+       homepage = "http://repa.ouroborus.net";
+       description = "Stream functions not present in the vector library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repa-v4l2" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, deepseq, gloss
+     , mtl, repa, transformers, v4l2, vector
+     }:
+     mkDerivation {
+       pname = "repa-v4l2";
+       version = "0.2.0.0";
+       sha256 = "1d8spppfjbcb9smk735zxgpz1v1f5p1sm50nfzry68bdb1p29xnz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bmp bytestring containers deepseq gloss mtl repa transformers
+         v4l2 vector
+       ];
+       homepage = "https://github.com/cgo/hsimage";
+       description = "Provides high-level access to webcams";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repl" = callPackage
+    ({ mkDerivation, base, ghc, ghc-paths, haskell-src-exts, parsec }:
+     mkDerivation {
+       pname = "repl";
+       version = "1.1";
+       sha256 = "0q9gk76r9n8gyn8fwqfmywbrjhyqy0gz8blmmvrvwghyfscabnh9";
+       buildDepends = [ base ghc ghc-paths haskell-src-exts parsec ];
+       jailbreak = true;
+       homepage = "https://github.com/mikeplus64/repl";
+       description = "IRC friendly REPL library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repl-toolkit" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, directory
+     , exceptions, functor-monadic, ListLike, listsafe, monad-loops, mtl
+     , numericpeano, parsec, system-filepath, text, transformers
+     }:
+     mkDerivation {
+       pname = "repl-toolkit";
+       version = "0.3.1.0";
+       sha256 = "1bf2cigrn0frxprp8lgd78pv0ahk4zln9qyv15pwhmirvbbppgvn";
+       buildDepends = [
+         aeson base bytestring data-default directory exceptions
+         functor-monadic ListLike listsafe monad-loops mtl numericpeano
+         parsec system-filepath text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ombocomp/repl-toolkit";
+       description = "Toolkit for quickly whipping up config files and command-line interfaces";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "repline" = callPackage
+    ({ mkDerivation, base, containers, haskeline, mtl }:
+     mkDerivation {
+       pname = "repline";
+       version = "0.1.3.0";
+       sha256 = "0cdbsmcvgrizpkfkzalfzw2lxfh8hcm62h1h1gcly41y0acb5ka5";
+       buildDepends = [ base containers haskeline mtl ];
+       jailbreak = true;
+       description = "Haskeline wrapper for GHCi-like REPL interfaces";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "repo-based-blog" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, data-default
+     , directory, dyre, filepath, filestore, hspec, hspec-discover
+     , ixset, lens, mtl, old-locale, pandoc, parsec, QuickCheck, stm
+     , text, time, transformers, transformers-base, transformers-compat
+     }:
+     mkDerivation {
+       pname = "repo-based-blog";
+       version = "0.0.1";
+       sha256 = "0ada0xqpkp6ch71sizf8fscvz6rjq95asmfgdvg8jj8gwpzvlncs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html containers data-default directory dyre filepath
+         filestore ixset lens mtl old-locale pandoc parsec stm text time
+         transformers transformers-base transformers-compat
+       ];
+       testDepends = [
+         base blaze-html containers directory filepath filestore hspec
+         hspec-discover ixset lens mtl old-locale parsec QuickCheck stm text
+         time transformers transformers-base transformers-compat
+       ];
+       homepage = "https://github.com/saep/repo-based-blog";
+       description = "Blogging module using blaze html for markup";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "repr" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, dstring, random
+     , string-combinators
+     }:
+     mkDerivation {
+       pname = "repr";
+       version = "0.4.1.3";
+       sha256 = "1y1zl81yjc9jrci83bm6bn8hrfqf6x25vxzkhrkydhhwcwqfqaj5";
+       buildDepends = [
+         base base-unicode-symbols dstring random string-combinators
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/repr";
+       description = "Render overloaded expressions to their textual representation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "repr-tree-syb" = callPackage
+    ({ mkDerivation, base, containers, syb, text }:
+     mkDerivation {
+       pname = "repr-tree-syb";
+       version = "0.1.0";
+       sha256 = "1kpxfvbmfv3zhn0fx7fznnppqxjz2f70g5n89hzkiqjz2am0ls5s";
+       buildDepends = [ base containers syb text ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/repr-tree-syb";
+       description = "Tree representation and pretty-printing of data structures based on SYB";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "representable-functors" = callPackage
+    ({ mkDerivation, array, base, comonad, comonad-transformers
+     , comonads-fd, containers, contravariant, distributive, free, keys
+     , mtl, semigroupoids, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "representable-functors";
+       version = "3.2.0.2";
+       sha256 = "156rhm9hqxkwpv4ppg6647gz2q95mp61rx6ii0nk6i0ygmjvw1l2";
+       buildDepends = [
+         array base comonad comonad-transformers comonads-fd containers
+         contravariant distributive free keys mtl semigroupoids semigroups
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/representable-functors/";
+       description = "Representable functors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "representable-profunctors" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "representable-profunctors";
+       version = "3.2";
+       sha256 = "0bly94xix00krgl7iaxwb0l0bvykrm0zqz57m78p8j7pdmkr89wc";
+       buildDepends = [ base ];
+       homepage = "http://github.com/ekmett/representable-profunctors/";
+       description = "This package has been absorbed into profunctor-extras";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "representable-tries" = callPackage
+    ({ mkDerivation, adjunctions, base, bifunctors, comonad
+     , comonad-transformers, containers, distributive, keys, mtl
+     , representable-functors, semigroupoids, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "representable-tries";
+       version = "3.0.2";
+       sha256 = "07qjm04xf9qndyybph4mhjp65yjvz54pia4y8kj7wps75gjail2m";
+       buildDepends = [
+         adjunctions base bifunctors comonad comonad-transformers containers
+         distributive keys mtl representable-functors semigroupoids
+         semigroups transformers
+       ];
+       homepage = "http://github.com/ekmett/representable-tries/";
+       description = "Tries from representations of polynomial functors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "request-monad" = callPackage
+    ({ mkDerivation, base, free, mtl, transformers }:
+     mkDerivation {
+       pname = "request-monad";
+       version = "0.3.0.1";
+       sha256 = "1aqcsm9a3zd11k7d4nbvxsy7l35fr77z7gyhrl7rvflnixid29ws";
+       buildDepends = [ base free mtl transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/nahiluhmot/request-monad";
+       description = "A transformer for generic requests";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "reroute" = callPackage
+    ({ mkDerivation, base, deepseq, graph-core, hashable, hspec, mtl
+     , path-pieces, regex-compat, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "reroute";
+       version = "0.2.2.1";
+       sha256 = "1hrzbjvsdkz3c27lksxzxlhhdrwqbvq90xyawwsc8zh3fp1nzqpn";
+       buildDepends = [
+         base deepseq graph-core hashable mtl path-pieces regex-compat text
+         transformers unordered-containers vector
+       ];
+       testDepends = [ base hspec mtl text unordered-containers vector ];
+       homepage = "http://github.com/agrafix/reroute";
+       description = "abstract implementation of typed and untyped web routing";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "reserve" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, directory, hspec
+     , http-conduit, http-kit, http-types, network, process, QuickCheck
+     , unix, warp
+     }:
+     mkDerivation {
+       pname = "reserve";
+       version = "0.1.1";
+       sha256 = "152pngw3xrlyrq905a231hi9hg3pf5ddpcihwic496rng5hd5hj2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base base-compat bytestring directory http-kit http-types network
+         process unix
+       ];
+       testDepends = [
+         base base-compat bytestring directory hspec http-conduit http-kit
+         http-types network process QuickCheck unix warp
+       ];
+       description = "Reserve reloads web applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "resolve-trivial-conflicts" = callPackage
+    ({ mkDerivation, ansi-terminal, base, Diff, directory, filepath
+     , mtl, process, unix
+     }:
+     mkDerivation {
+       pname = "resolve-trivial-conflicts";
+       version = "0.2.0.2";
+       sha256 = "1xfafd85q7mk3lb9xy7wfishg3zfzhnvrbzd6r5akmpbpgvf2ddk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base Diff directory filepath mtl process unix
+       ];
+       homepage = "https://github.com/ElastiLotem/resolve-trivial-conflicts";
+       description = "Remove trivial conflict markers in a git repository";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "resource-effect" = callPackage
+    ({ mkDerivation, base, containers, extensible-effects, HUnit, mtl
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "resource-effect";
+       version = "0.1.1";
+       sha256 = "085ila27irk7pflx4kgn1p364wx2hj9wlm2lvdq0ix25hv8afxnb";
+       buildDepends = [ base containers extensible-effects ];
+       testDepends = [
+         base containers extensible-effects HUnit mtl QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/wowus/resource-effect/";
+       description = "A port of the package 'resourcet' for extensible effects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "resource-embed" = callPackage
+    ({ mkDerivation, base, bytestring, directory }:
+     mkDerivation {
+       pname = "resource-embed";
+       version = "0.1.0.0";
+       sha256 = "1i33z3rr72s5z2k6j5c10vjy7nslgfn3xqgwf8w05n9m2pwhn2fv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory ];
+       homepage = "https://bitbucket.org/tdammers/resource-embed";
+       description = "Embed data files via C and FFI";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "resource-pool" = callPackage
+    ({ mkDerivation, base, hashable, monad-control, stm, time
+     , transformers, transformers-base, vector
+     }:
+     mkDerivation {
+       pname = "resource-pool";
+       version = "0.2.3.2";
+       sha256 = "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6";
+       buildDepends = [
+         base hashable monad-control stm time transformers transformers-base
+         vector
+       ];
+       homepage = "http://github.com/bos/pool";
+       description = "A high-performance striped resource pooling implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "resource-pool-catchio" = callPackage
+    ({ mkDerivation, base, hashable, MonadCatchIO-transformers, stm
+     , time, transformers, transformers-base, vector
+     }:
+     mkDerivation {
+       pname = "resource-pool-catchio";
+       version = "0.2.1.0";
+       sha256 = "0g9r6hnn01n3p2ikcfkfc4afh83pzam29zal3k2ivajpl3kramsw";
+       buildDepends = [
+         base hashable MonadCatchIO-transformers stm time transformers
+         transformers-base vector
+       ];
+       homepage = "http://github.com/norm2782/pool";
+       description = "Fork of resource-pool, with a MonadCatchIO constraint";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "resource-simple" = callPackage
+    ({ mkDerivation, base, containers, monad-control, monad-fork
+     , mtl-evil-instances, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "resource-simple";
+       version = "0.2";
+       sha256 = "0m6jdhnq0f9anjm9bqmz3v8d0k12nkp4nks7mvhw7hjbjnkgscni";
+       buildDepends = [
+         base containers monad-control monad-fork mtl-evil-instances
+         transformers transformers-base
+       ];
+       jailbreak = true;
+       description = "Allocate resources which are guaranteed to be released";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "resourcet" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
+     , mmorph, monad-control, mtl, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "resourcet";
+       version = "1.1.4.1";
+       sha256 = "1qw9bjr22g8a1fr84cmwjqpqs7cfc8iagix4s618snrg1r1gp6p2";
+       buildDepends = [
+         base containers exceptions lifted-base mmorph monad-control mtl
+         transformers transformers-base transformers-compat
+       ];
+       testDepends = [ base hspec lifted-base transformers ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Deterministic allocation and freeing of scarce resources";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "respond" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
+     , data-default-class, exceptions, fast-logger, formatting, HList
+     , http-media, http-types, lens, monad-control, monad-logger, mtl
+     , path-pieces, safe, scientific, template-haskell, text, time
+     , transformers, transformers-base, unordered-containers, vector
+     , wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "respond";
+       version = "1.1.0";
+       sha256 = "0j2xafk6rrspffmd0fxsmmz8gnmxxn3dxngh684nwj4030cg9m3r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bifunctors bytestring containers data-default-class
+         exceptions fast-logger formatting HList http-media http-types lens
+         monad-control monad-logger mtl path-pieces safe scientific
+         template-haskell text time transformers transformers-base
+         unordered-containers vector wai wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/raptros/respond";
+       description = "process and route HTTP requests and generate responses on top of WAI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rest-client" = callPackage
+    ({ mkDerivation, aeson-utils, base, bytestring, case-insensitive
+     , data-default, exceptions, 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.0.2";
+       sha256 = "1sykmz3mms714sypkpbjhk6dapb0saqsvwjjxnr3cklxdhxhyvz6";
+       buildDepends = [
+         aeson-utils base bytestring case-insensitive data-default
+         exceptions 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-core" = callPackage
+    ({ mkDerivation, aeson, aeson-utils, base, bytestring
+     , case-insensitive, either, errors, fclabels, HUnit, hxt
+     , hxt-pickle-utils, json-schema, mtl, mtl-compat, multipart, random
+     , rest-stringmap, rest-types, safe, semigroups, split
+     , test-framework, test-framework-hunit, text, transformers
+     , transformers-compat, unordered-containers, uri-encode
+     , utf8-string, uuid
+     }:
+     mkDerivation {
+       pname = "rest-core";
+       version = "0.35.1";
+       sha256 = "16mzvbkv69i0kabjj214166rmsqqc0ga5ad1i7yhm6202s11fx4n";
+       buildDepends = [
+         aeson aeson-utils base bytestring case-insensitive either errors
+         fclabels hxt hxt-pickle-utils json-schema mtl mtl-compat multipart
+         random rest-stringmap rest-types safe semigroups split text
+         transformers transformers-compat unordered-containers uri-encode
+         utf8-string uuid
+       ];
+       testDepends = [
+         base bytestring HUnit mtl test-framework test-framework-hunit
+         transformers transformers-compat unordered-containers
+       ];
+       description = "Rest API library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rest-example" = callPackage
+    ({ mkDerivation, aeson, base, containers, filepath, generic-aeson
+     , hxt, json-schema, mtl, regular, regular-xmlpickler, rest-core
+     , rest-gen, safe, stm, text, time, transformers, transformers-base
+     , transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "rest-example";
+       version = "0.2.0.1";
+       sha256 = "0pc8q6ky8flh0rz4s3fl7fyharg1p026v689s8h709mcf5q6kvkf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base containers filepath generic-aeson hxt json-schema mtl
+         regular regular-xmlpickler rest-core rest-gen safe stm text time
+         transformers transformers-base transformers-compat
+         unordered-containers
+       ];
+       homepage = "http://www.github.com/silkapp/rest";
+       description = "Example project for rest";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rest-gen" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, Cabal, code-builder
+     , directory, fclabels, filepath, hashable, haskell-src-exts
+     , HStringTemplate, HUnit, hxt, json-schema, pretty, process
+     , rest-core, safe, scientific, semigroups, split, tagged
+     , test-framework, test-framework-hunit, text, uniplate
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "rest-gen";
+       version = "0.17.0.3";
+       sha256 = "0hydifrpyzgd2kyrxxwzh7z5iiz0x3584nlgx8gzikyqab8gbk04";
+       buildDepends = [
+         aeson base blaze-html Cabal code-builder directory fclabels
+         filepath hashable haskell-src-exts HStringTemplate hxt json-schema
+         pretty process rest-core safe scientific semigroups split tagged
+         text uniplate unordered-containers vector
+       ];
+       testDepends = [
+         base fclabels haskell-src-exts HUnit rest-core test-framework
+         test-framework-hunit
+       ];
+       description = "Documentation and client generation from rest definition";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rest-happstack" = callPackage
+    ({ mkDerivation, base, containers, happstack-server, mtl, rest-core
+     , rest-gen, utf8-string
+     }:
+     mkDerivation {
+       pname = "rest-happstack";
+       version = "0.2.10.7";
+       sha256 = "17fqfax3whslip0knwr21f2h674nz5ayqk6947dryhglvwhsyn5v";
+       buildDepends = [
+         base containers happstack-server mtl rest-core rest-gen utf8-string
+       ];
+       description = "Rest driver for Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rest-snap" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, rest-core
+     , safe, snap-core, unordered-containers, uri-encode, utf8-string
+     }:
+     mkDerivation {
+       pname = "rest-snap";
+       version = "0.1.17.17";
+       sha256 = "1q2w9p9g66fv4mq566895l15l8ywz7nl4bf0zlyf1ng64fmi9far";
+       buildDepends = [
+         base bytestring case-insensitive rest-core safe snap-core
+         unordered-containers uri-encode utf8-string
+       ];
+       description = "Rest driver for Snap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rest-stringmap" = callPackage
+    ({ mkDerivation, aeson, base, containers, hashable, hxt
+     , json-schema, tagged, text, tostring, unordered-containers
+     }:
+     mkDerivation {
+       pname = "rest-stringmap";
+       version = "0.2.0.4";
+       sha256 = "0r9wmy5myysnw83000qlw547ny9lpshm09fi8hmfr14kd3mr9fb1";
+       buildDepends = [
+         aeson base containers hashable hxt json-schema tagged text tostring
+         unordered-containers
+       ];
+       description = "Maps with stringy keys that can be transcoded to JSON and XML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rest-types" = callPackage
+    ({ mkDerivation, aeson, base, case-insensitive, generic-aeson, hxt
+     , json-schema, mtl, regular, regular-xmlpickler, rest-stringmap
+     , text, transformers, transformers-compat, uuid
+     }:
+     mkDerivation {
+       pname = "rest-types";
+       version = "1.13.1";
+       sha256 = "09lyx0a4w1mp1ivcky3wnlhisp2a8sd3f37zcr5ckxi8sjmcvsli";
+       buildDepends = [
+         aeson base case-insensitive generic-aeson hxt json-schema mtl
+         regular regular-xmlpickler rest-stringmap text transformers
+         transformers-compat uuid
+       ];
+       description = "Silk Rest Framework Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rest-wai" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , http-types, mime-types, mtl, rest-core, text
+     , unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "rest-wai";
+       version = "0.1.0.7";
+       revision = "1";
+       sha256 = "0agvs26x26cgzls66jx7pj2qdn01snjr11rv7sd3x3h4g3ww375v";
+       editedCabalFile = "1b15b246eb06e388c3ac37b6a7eb5697109f04f085a46ced92d9e4e809841981";
+       buildDepends = [
+         base bytestring case-insensitive containers http-types mime-types
+         mtl rest-core text unordered-containers wai
+       ];
+       description = "Rest driver for WAI applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "restful-snap" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , data-default, digestive-functors, errors, heist, lens, mtl
+     , old-locale, readable, snap, snap-core, snap-extras
+     , template-haskell, text, time, xmlhtml
+     }:
+     mkDerivation {
+       pname = "restful-snap";
+       version = "0.2";
+       sha256 = "16gqbk9wl2a1ivhq30yh584h7p2vd7qvwx1rprin47amqzn5b6gc";
+       buildDepends = [
+         base blaze-builder bytestring containers data-default
+         digestive-functors errors heist lens mtl old-locale readable snap
+         snap-core snap-extras template-haskell text time xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ozataman/restful-snap";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "restricted-workers" = callPackage
+    ({ mkDerivation, async, base, bytestring, cereal, data-default
+     , directory, either, filepath, monad-control, mtl, network, selinux
+     , stm, text, transformers, transformers-base, unix
+     }:
+     mkDerivation {
+       pname = "restricted-workers";
+       version = "0.1.1";
+       sha256 = "0lxipqp8nsgw07hmb4b8rfxlfmfhj0l7sg8k0042qscys92rzg9l";
+       buildDepends = [
+         async base bytestring cereal data-default directory either filepath
+         monad-control mtl network selinux stm text transformers
+         transformers-base unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/co-dan/interactive-diagrams/wiki/Restricted-Workers";
+       description = "Running worker processes under system resource restrictions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "restyle" = callPackage
+    ({ mkDerivation, base, directory, filepath, utf8-string }:
+     mkDerivation {
+       pname = "restyle";
+       version = "0.1.0";
+       sha256 = "0hzkdg4f5h96zqznnrbjbxrzv17gz1zvd5g4a51rrpsgpngkax7x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath utf8-string ];
+       jailbreak = true;
+       description = "Convert between camel case and separated words style";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "resumable-exceptions" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "resumable-exceptions";
+       version = "0.0.0.20100920";
+       sha256 = "06lzjf8dcbxks57x434n27146whryzzpwcn8bq2mclwfcrv9g3gs";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       description = "A monad transformer for resumable exceptions";
+       license = "unknown";
+     }) {};
+
+  "rethinkdb" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
+     , bytestring, containers, data-default, doctest, mtl, network
+     , scientific, text, time, unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "rethinkdb";
+       version = "1.16.0.0";
+       sha256 = "125gg719isf60yv5yj0frkg92bp42cb43d4qzs7jqic1wvhx32yy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base base64-bytestring binary bytestring
+         containers data-default mtl network scientific text time
+         unordered-containers utf8-string vector
+       ];
+       testDepends = [ base doctest ];
+       homepage = "http://github.com/atnnn/haskell-rethinkdb";
+       description = "A driver for RethinkDB 1.16";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "rethinkdb-client-driver" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, hashable, hspec
+     , hspec-smallcheck, mtl, network, old-locale, scientific
+     , smallcheck, template-haskell, text, time, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "rethinkdb-client-driver";
+       version = "0.0.16";
+       sha256 = "1x4kw64mjp4900qnmvakrd7vfqg14h35k0jzai5qh6y88rr3qaf1";
+       buildDepends = [
+         aeson base binary bytestring hashable mtl network old-locale
+         scientific template-haskell text time unordered-containers vector
+       ];
+       testDepends = [
+         base hspec hspec-smallcheck smallcheck text time
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/wereHamster/rethinkdb-client-driver";
+       description = "Client driver for RethinkDB";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rethinkdb-wereHamster" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , data-default, ghc-prim, mtl, network, protocol-buffers
+     , protocol-buffers-descriptor, text, time, unordered-containers
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "rethinkdb-wereHamster";
+       version = "1.8.0.5";
+       sha256 = "0wkxf1iixy9rnl2rawima61qpjz77g4w08dd13q004g6c1n0h6kq";
+       buildDepends = [
+         aeson attoparsec base bytestring containers data-default ghc-prim
+         mtl network protocol-buffers protocol-buffers-descriptor text time
+         unordered-containers utf8-string vector
+       ];
+       homepage = "http://github.com/atnnn/haskell-rethinkdb";
+       description = "RethinkDB driver for Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "retry" = callPackage
+    ({ mkDerivation, base, data-default-class, exceptions, hspec, HUnit
+     , QuickCheck, time, transformers
+     }:
+     mkDerivation {
+       pname = "retry";
+       version = "0.6";
+       sha256 = "1ry2zqs5361mg5ibnd6awjpl3nl3a6ha18m0v2f28hs9kw6dnsgj";
+       buildDepends = [ base data-default-class exceptions transformers ];
+       testDepends = [
+         base data-default-class exceptions hspec HUnit QuickCheck time
+         transformers
+       ];
+       homepage = "http://github.com/Soostone/retry";
+       description = "Retry combinators for monadic actions that may fail";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "retryer" = callPackage
+    ({ mkDerivation, base, optparse-applicative, process }:
+     mkDerivation {
+       pname = "retryer";
+       version = "0.1.0.1";
+       sha256 = "1rvblmzlsyfvvvjz71ngb8l412rrr943s7pp75gqjcxnklnlc97j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base optparse-applicative process ];
+       homepage = "https://github.com/dgonyeo/retryer";
+       description = "Retry failed commands";
+       license = stdenv.lib.licenses.mpl20;
+     }) {};
+
+  "rev-state" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "rev-state";
+       version = "0.1";
+       sha256 = "1lsq7b225v86rwm2rnrnhn28asjh6r3zwbvdm5vl4sp46cr5i4cf";
+       buildDepends = [ base mtl ];
+       homepage = "https://github.com/DanBurton/rev-state#readme";
+       description = "Reverse State monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "revdectime" = callPackage
+    ({ mkDerivation, base, old-time }:
+     mkDerivation {
+       pname = "revdectime";
+       version = "0.1.1";
+       sha256 = "0lbf7dclcdvy56b7wjyq3iam757wf4vic4b5qyxd4bffk66q3asm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base old-time ];
+       description = "A French revolutionary decimal time (metric) clock";
+       license = "GPL";
+     }) {};
+
+  "reverse-apply" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "reverse-apply";
+       version = "2.0.1";
+       sha256 = "0iw1j2xr5dy29a1bwcg7fqk3lv72izr0nhj31rn45w53py1367nb";
+       buildDepends = [ base ];
+       description = "Standard version of the reverse apply operator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reverse-geocoding" = callPackage
+    ({ mkDerivation, aeson, base, iso3166-country-codes, lens
+     , lens-aeson, text, wreq
+     }:
+     mkDerivation {
+       pname = "reverse-geocoding";
+       version = "0.2.1";
+       sha256 = "089p1fv1ghznfsnhw1bdnwna3hcxmmqakw2qgzg91w5gifzaf18s";
+       buildDepends = [
+         aeson base iso3166-country-codes lens lens-aeson text wreq
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jcristovao/reverse-geocoding";
+       description = "Simple reverse geocoding using OpenStreeMap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "reversi" = callPackage
+    ({ mkDerivation, array, base, process }:
+     mkDerivation {
+       pname = "reversi";
+       version = "0.1.1";
+       sha256 = "1dddlldp55c6l7g5n2gi8r1r0f8r6r3ipq9mlx11d54j8wmvvlnz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base process ];
+       jailbreak = true;
+       description = "Text-only reversi (aka othelo) game";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "rewrite" = callPackage
+    ({ mkDerivation, base, bytestring, directory, multiarg, process }:
+     mkDerivation {
+       pname = "rewrite";
+       version = "0.10";
+       sha256 = "10cbsjilc4nv4hi4ipb078hiy7afnjl20f9kcda15pmpmqxxywjg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory multiarg process ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/rewrite";
+       description = "open file and rewrite it with new contents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rewriting" = callPackage
+    ({ mkDerivation, base, containers, regular }:
+     mkDerivation {
+       pname = "rewriting";
+       version = "0.2.2";
+       sha256 = "0gnd8awqjnm905m29yldy3z7w7jvilj5svijz63lzmwbjknfh6bs";
+       buildDepends = [ base containers regular ];
+       description = "Generic rewriting library for regular datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rex" = callPackage
+    ({ mkDerivation, base, bytestring, containers, haskell-src-exts
+     , haskell-src-meta, pcre-light, template-haskell
+     }:
+     mkDerivation {
+       pname = "rex";
+       version = "0.5.1";
+       sha256 = "18g09pg7hhj052v72vncjvy900h3xhza8hl2g3akad8asn9k6jl6";
+       buildDepends = [
+         base bytestring containers haskell-src-exts haskell-src-meta
+         pcre-light template-haskell
+       ];
+       homepage = "http://github.com/mgsloan/rex";
+       description = "A quasi-quoter for typeful results of regex captures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rezoom" = callPackage
+    ({ mkDerivation, base, bytestring, containers, datetime, HTTP, json
+     , mtl, nano-md5, xhtml
+     }:
+     mkDerivation {
+       pname = "rezoom";
+       version = "0.0.4";
+       sha256 = "122hca6whzxqk3x7207k4clrrl2awy96pafq0gjwddqicny41jza";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers datetime HTTP json mtl nano-md5 xhtml
+       ];
+       jailbreak = true;
+       description = "Github resume generator";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rfc3339" = callPackage
+    ({ mkDerivation, base, old-locale, time }:
+     mkDerivation {
+       pname = "rfc3339";
+       version = "1.0.4";
+       sha256 = "0vrcfmkfikszcalcpa59rzwrjk2dlbwrqgpy2jx0z4kbiaalbg6j";
+       buildDepends = [ base old-locale time ];
+       description = "Parse and display time according to RFC3339";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rfc5051" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "rfc5051";
+       version = "0.1.0.3";
+       sha256 = "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers ];
+       description = "Simple unicode collation as per RFC5051";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rhythm-game-tutorial" = callPackage
+    ({ mkDerivation, base, call, containers, lens, mtl, objective
+     , split
+     }:
+     mkDerivation {
+       pname = "rhythm-game-tutorial";
+       version = "0.1.1";
+       sha256 = "08ddm1pxi7qdjz2mgvjvwdgxyskvac4ahi3jp2fd8z1sh68c7x7s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base call containers lens mtl objective split ];
+       homepage = "https://github.com/fumieval/rhythm-game-tutorial";
+       description = "Haskell rhythm game tutorial";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "riak" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, binary, blaze-builder
+     , bytestring, containers, monad-control, network
+     , protocol-buffers-fork, pureMD5, QuickCheck, random, resource-pool
+     , riak-protobuf, test-framework, test-framework-quickcheck2, text
+     , time
+     }:
+     mkDerivation {
+       pname = "riak";
+       version = "0.7.2.1";
+       sha256 = "0i7lq6difvl6pskk6j4ajm3q3nliv802h4c74hkmkpqwf5n3pwa7";
+       buildDepends = [
+         aeson attoparsec base binary blaze-builder bytestring containers
+         monad-control network protocol-buffers-fork pureMD5 random
+         resource-pool riak-protobuf text time
+       ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/markhibberd/riak-haskell-client";
+       description = "A Haskell client for the Riak decentralized data store";
+       license = "unknown";
+     }) {};
+
+  "riak-protobuf" = callPackage
+    ({ mkDerivation, array, base, parsec
+     , protocol-buffers-descriptor-fork, protocol-buffers-fork
+     }:
+     mkDerivation {
+       pname = "riak-protobuf";
+       version = "0.18.0.0";
+       sha256 = "0vs8l2czbqhfgx4iyhqldrrnvdjbbq94pab33sw3nqbwij3012hw";
+       buildDepends = [
+         array base parsec protocol-buffers-descriptor-fork
+         protocol-buffers-fork
+       ];
+       homepage = "http://github.com/markhibberd/riak-haskell-client";
+       description = "Haskell types for the Riak protocol buffer API";
+       license = "unknown";
+     }) {};
+
+  "richreports" = callPackage
+    ({ mkDerivation, ascetic, base, MissingH }:
+     mkDerivation {
+       pname = "richreports";
+       version = "0.0.3.0";
+       sha256 = "0mik0m6nziwm6z517wkxdmjp92nh3qz1m8yk3x5897zafgs1y5kk";
+       buildDepends = [ ascetic base MissingH ];
+       description = "Integrated pretty-printing and error/static analysis reporting";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "riff" = callPackage
+    ({ mkDerivation, base, binary, bytestring, either, filepath
+     , transformers
+     }:
+     mkDerivation {
+       pname = "riff";
+       version = "0.3.0.0";
+       sha256 = "1gmvmid0cja2ip4f6y0ciynbxw5li5v25xcbnnsbkvj3yk79cdpa";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring either filepath transformers
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/robertmassaioli/riff/overview";
+       description = "RIFF parser for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ring-buffer" = callPackage
+    ({ mkDerivation, base, mtl, primitive, vector }:
+     mkDerivation {
+       pname = "ring-buffer";
+       version = "0.1.1";
+       sha256 = "03v2xxj1gd35738qrhxcl0d3bx6pps4l1singb0yg1smrx5nkpp7";
+       buildDepends = [ base mtl primitive vector ];
+       jailbreak = true;
+       homepage = "http://github.com/bgamari/ring-buffer";
+       description = "A concurrent, mutable ring-buffer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "riot" = callPackage
+    ({ mkDerivation, base, containers, directory, haskell98, mtl
+     , ncurses, old-locale, packedstring, process, unix
+     }:
+     mkDerivation {
+       pname = "riot";
+       version = "1.20080618";
+       sha256 = "1dgdwr9d0jl3r78f4shx0ff22vqlq72n5w5whw3ppirm8ccxf0ms";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory haskell98 mtl old-locale packedstring
+         process unix
+       ];
+       extraLibraries = [ ncurses ];
+       homepage = "http://modeemi.fi/~tuomov/riot/";
+       description = "Riot is an Information Organisation Tool";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) ncurses;};
+
+  "ripple" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base58address, binary
+     , bytestring, cereal, crypto-api, crypto-pubkey-types
+     , cryptohash-cryptoapi, ecdsa, errors, largeword, text, time
+     , transformers, utility-ht, websockets
+     }:
+     mkDerivation {
+       pname = "ripple";
+       version = "0.3";
+       sha256 = "1y19kp63chg4ljcccq6cp9n3g26x6jyyhch3jqj04ya9c16cbypw";
+       buildDepends = [
+         aeson attoparsec base base58address binary bytestring cereal
+         crypto-api crypto-pubkey-types cryptohash-cryptoapi ecdsa errors
+         largeword text time transformers utility-ht websockets
+       ];
+       homepage = "https://github.com/singpolyma/ripple-haskell";
+       description = "Ripple payment system library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ripple-federation" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base58address
+     , blaze-builder, bytestring, errors, http-streams, http-types
+     , io-streams, network-uri, text, unexceptionalio
+     }:
+     mkDerivation {
+       pname = "ripple-federation";
+       version = "0.3";
+       sha256 = "0m7mlv8qmw257hnk9lngxvq3nskninl88f5hl77r7w8r5hbymf0s";
+       buildDepends = [
+         aeson attoparsec base base58address blaze-builder bytestring errors
+         http-streams http-types io-streams network-uri text unexceptionalio
+       ];
+       homepage = "https://github.com/singpolyma/ripple-federation-haskell";
+       description = "Utilities and types to work with the Ripple federation protocol";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "risc386" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy, mtl, pretty
+     }:
+     mkDerivation {
+       pname = "risc386";
+       version = "0.0.20130719";
+       sha256 = "0i0fkg4vys3n31jwazrajirywxmk7idjv2kz3nlb8kwriqc6d723";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers mtl pretty ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "http://www2.tcs.ifi.lmu.de/~abel/";
+       description = "Reduced instruction set i386 simulator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rivers" = callPackage
+    ({ mkDerivation, base, lazysmallcheck, oeis, QuickCheck }:
+     mkDerivation {
+       pname = "rivers";
+       version = "0.1.0";
+       sha256 = "0x7r04mwxwnqckfk865dckml4am11zx80a9k5kc91kz5ikq1ns64";
+       buildDepends = [ base lazysmallcheck oeis QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/d-rive/rivers";
+       description = "Rivers are like Streams, but different";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rmonad" = callPackage
+    ({ mkDerivation, base, containers, HUnit, suitable, test-framework
+     , test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "rmonad";
+       version = "0.8.0.2";
+       sha256 = "1pamp8n88f1y4q0q83vmvbqbfva03prcfdqfj3x888mjwxgh6h8l";
+       buildDepends = [ base containers suitable transformers ];
+       testDepends = [
+         base containers HUnit test-framework test-framework-hunit
+       ];
+       description = "Restricted monad library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rncryptor" = callPackage
+    ({ mkDerivation, base, bytestring, cipher-aes, io-streams, mtl
+     , pbkdf, QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "rncryptor";
+       version = "0.0.2.1";
+       sha256 = "086cq7b7x0l98q5di2bpbv9vjrhl7b62nlzwchdl8pqb5w83345m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cipher-aes io-streams mtl pbkdf QuickCheck random
+       ];
+       testDepends = [
+         base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Haskell implementation of the RNCryptor file format";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rng-utils" = callPackage
+    ({ mkDerivation, base, bytestring, mwc-random, vector }:
+     mkDerivation {
+       pname = "rng-utils";
+       version = "0.2.1";
+       sha256 = "11yy6v0dbdf0cn823vlyd90zc5q5aw0zjzylpz5s9c94wsd4pjfa";
+       buildDepends = [ base bytestring mwc-random vector ];
+       description = "RNG within an MVar for convenient concurrent use";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "robot" = callPackage
+    ({ mkDerivation, base, containers, exceptions, transformers, xhb }:
+     mkDerivation {
+       pname = "robot";
+       version = "1.4";
+       sha256 = "1vac4ks3kdyf9wdiiw224rz2nm5859np7cqjpl5mrb2h27bycv5c";
+       buildDepends = [ base containers exceptions transformers xhb ];
+       homepage = "https://github.com/lfairy/robot";
+       description = "Simulate keyboard and mouse events";
+       license = "unknown";
+     }) {};
+
+  "robots-txt" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, directory, heredoc
+     , hspec, old-locale, QuickCheck, time, transformers
+     }:
+     mkDerivation {
+       pname = "robots-txt";
+       version = "0.4.1.2";
+       sha256 = "0lqws8c8qjw7gakyp5ridp1khjhvv0na44rakbh6nhycykvnnfkv";
+       buildDepends = [ attoparsec base bytestring old-locale time ];
+       testDepends = [
+         attoparsec base bytestring directory heredoc hspec QuickCheck
+         transformers
+       ];
+       homepage = "http://github.com/meanpath/robots";
+       description = "Parser for robots.txt";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rocksdb-haskell" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, filepath
+     , resourcet, rocksdb, transformers
+     }:
+     mkDerivation {
+       pname = "rocksdb-haskell";
+       version = "0.1.0";
+       sha256 = "1wi8mc0xzdd47r2vxa1x4gmbm4yikp4pyfj00ycnydvs4b2n3iad";
+       buildDepends = [
+         base bytestring data-default filepath resourcet transformers
+       ];
+       extraLibraries = [ rocksdb ];
+       homepage = "http://github.com/agrafix/rocksdb-haskell";
+       description = "Haskell bindings to RocksDB";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { rocksdb = null;};
+
+  "roguestar" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, old-time
+     , process
+     }:
+     mkDerivation {
+       pname = "roguestar";
+       version = "0.6.0.1";
+       sha256 = "0xnpji131pva54drxjqra5nkciqljf4x6zylm3snzs8s4c7klak6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath old-time process
+       ];
+       homepage = "http://roguestar.downstairspeople.org/";
+       description = "Sci-fi roguelike game. Client application.";
+       license = "unknown";
+     }) {};
+
+  "roguestar-engine" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers
+     , data-memocombinators, hslogger, MaybeT, MonadRandom, mtl
+     , old-time, parallel, priority-sync, PSQueue, random, stm
+     }:
+     mkDerivation {
+       pname = "roguestar-engine";
+       version = "0.6.0.1";
+       sha256 = "056080bzdmrn6k0c9lx2d69l2ygal275xlkd6y31sj2ax9yizqkv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers data-memocombinators hslogger
+         MaybeT MonadRandom mtl old-time parallel priority-sync PSQueue
+         random stm
+       ];
+       jailbreak = true;
+       homepage = "http://roguestar.downstairspeople.org/";
+       description = "Sci-fi roguelike game. Backend.";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "roguestar-gl" = callPackage
+    ({ mkDerivation, arrows, base, bytestring, containers, filepath
+     , GLUT, MonadRandom, mtl, OpenGL, priority-sync, random, rsagl
+     , rsagl-frp, rsagl-math, stm
+     }:
+     mkDerivation {
+       pname = "roguestar-gl";
+       version = "0.6.0.1";
+       sha256 = "1lajrc6ay1vk9rbi3x8mx56rrsxkihmapzfm7l8aav2jx0wwryzs";
+       buildDepends = [
+         arrows base bytestring containers filepath GLUT MonadRandom mtl
+         OpenGL priority-sync random rsagl rsagl-frp rsagl-math stm
+       ];
+       jailbreak = true;
+       homepage = "http://roguestar.downstairspeople.org/";
+       description = "Sci-fi roguelike game. Client library.";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "roguestar-glut" = callPackage
+    ({ mkDerivation, base, GLUT, roguestar-gl, rsagl }:
+     mkDerivation {
+       pname = "roguestar-glut";
+       version = "0.6.0.1";
+       sha256 = "13kg8mabh0y1a48zjx9f9k207i5qn0hkabjyg10ha5d0kf36xbyh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT roguestar-gl rsagl ];
+       jailbreak = true;
+       homepage = "http://roguestar.downstairspeople.org/";
+       description = "Sci-fi roguelike game. GLUT front-end.";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rollbar" = callPackage
+    ({ mkDerivation, aeson, base, basic-prelude, http-conduit
+     , monad-control, network, text, vector
+     }:
+     mkDerivation {
+       pname = "rollbar";
+       version = "0.3.1";
+       sha256 = "0hv9i38c0c1bv36xy4inq6dghn79bmjw1x0xgi5mlwf5lzzp2fv1";
+       buildDepends = [
+         aeson base basic-prelude http-conduit monad-control network text
+         vector
+       ];
+       homepage = "https://github.com/docmunch/rollbar-haskell";
+       description = "error tracking through rollbar.com";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "roller" = callPackage
+    ({ mkDerivation, base, optparse-applicative, random
+     , regex-applicative
+     }:
+     mkDerivation {
+       pname = "roller";
+       version = "0.1.3";
+       sha256 = "07bicx83h66xmy3i2jszl5awkxw6fvy9y5r3v4hq2rz86z09zw0s";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base optparse-applicative random regex-applicative
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Econify/roller";
+       description = "Playing with applicatives and dice!";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "rolling-queue" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "rolling-queue";
+       version = "0.1";
+       sha256 = "1l39dlq8pn38b48iwqgrnh83h74qkmm34l5m9a0rbg76s2z04c43";
+       buildDepends = [ base stm ];
+       homepage = "https://github.com/joeyadams/haskell-rolling-queue";
+       description = "Bounded channel for STM that discards old entries when full";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "roman-numerals" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bytestring, text }:
+     mkDerivation {
+       pname = "roman-numerals";
+       version = "0.5.1.5";
+       sha256 = "10da5vls9l5i255bapms4b2r7dnwmxgsaa1cdll2lrmid5dikixr";
+       buildDepends = [ base base-unicode-symbols bytestring text ];
+       homepage = "https://github.com/roelvandijk/roman-numerals";
+       description = "Parsing and pretty printing of Roman numerals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "romkan" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, HUnit
+     , test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "romkan";
+       version = "0.1.0.0";
+       sha256 = "094z59jbkpy6gv51kf990q4fgmjyylifc63ij4kcdm0hlhmrmdc8";
+       buildDepends = [ attoparsec base containers text ];
+       testDepends = [
+         attoparsec base containers HUnit test-framework
+         test-framework-hunit text
+       ];
+       homepage = "https://github.com/karlvoigtland/romkan-hs";
+       description = "Japanese Romaji <-> Japanese Kana conversion library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "roots" = callPackage
+    ({ mkDerivation, base, tagged }:
+     mkDerivation {
+       pname = "roots";
+       version = "0.1.1.2";
+       sha256 = "0xzsz4w153mbkkkv07558xkv83fph4g98hvjf6iljwvbbp47l0j9";
+       buildDepends = [ base tagged ];
+       homepage = "/dev/null";
+       description = "Root-finding algorithms (1-dimensional)";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "rope" = callPackage
+    ({ mkDerivation, base, bytestring, fingertree, mtl, utf8-string }:
+     mkDerivation {
+       pname = "rope";
+       version = "0.6.4";
+       sha256 = "1g77bv2mmfhy2mkb08k92m3f2jab6p2la2s7rfib2r1jy6lq5vhb";
+       buildDepends = [ base bytestring fingertree mtl utf8-string ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/rope";
+       description = "Tools for manipulating fingertrees of bytestrings with optional annotations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rosa" = callPackage
+    ({ mkDerivation, aeson, argparser, base, bytestring, lens, process
+     , text, unordered-containers, vector, wreq
+     }:
+     mkDerivation {
+       pname = "rosa";
+       version = "0.1.3.0";
+       sha256 = "1wyjcmr3a7lljksiq45ch3ng15dd7sk40bbb2l8yvvjgyk12990a";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson argparser base bytestring lens process text
+         unordered-containers vector wreq
+       ];
+       description = "Query the namecoin blockchain";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rose-trees" = callPackage
+    ({ mkDerivation, base, containers, data-default, hspec, pseudo-trie
+     , QuickCheck, quickcheck-instances, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "rose-trees";
+       version = "0.0.1.1";
+       sha256 = "0ii9jxyd7q0x30zyp1gal29msd81n5vj613mkxxavjlz9ar9gvgx";
+       buildDepends = [
+         base containers data-default pseudo-trie semigroups transformers
+       ];
+       testDepends = [ base hspec QuickCheck quickcheck-instances ];
+       description = "A collection of rose tree structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rosezipper" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "rosezipper";
+       version = "0.2";
+       sha256 = "1g6ppa8cappdbq9923lsac504dfjh0ks64gbm6qbihrc34f4zavc";
+       buildDepends = [ base containers ];
+       description = "Generic zipper implementation for Data.Tree";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "roshask" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, BoundedChan, bytestring
+     , Cabal, containers, data-default-generics, deepseq, directory
+     , filemanip, filepath, haxr, mtl, network, parsec, process, pureMD5
+     , SafeSemaphore, snap-core, snap-server, stm, storable-tuple, tasty
+     , tasty-hunit, template-haskell, testpack, time, transformers, unix
+     , uri, utf8-string, vector, vector-space, xml
+     }:
+     mkDerivation {
+       pname = "roshask";
+       version = "0.2";
+       sha256 = "1zgvvf7dvfazb4if9wmapgnklh561mjikn21w0ch43zxaqpx6b6k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base binary BoundedChan bytestring Cabal containers
+         data-default-generics deepseq directory filemanip filepath haxr mtl
+         network parsec process pureMD5 SafeSemaphore snap-core snap-server
+         stm storable-tuple template-haskell time transformers unix uri
+         utf8-string vector vector-space xml
+       ];
+       testDepends = [
+         attoparsec base bytestring containers data-default-generics
+         filepath mtl pureMD5 tasty tasty-hunit testpack transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/acowley/roshask";
+       description = "Haskell support for the ROS robotics framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rosso" = callPackage
+    ({ mkDerivation, base, containers, deepseq }:
+     mkDerivation {
+       pname = "rosso";
+       version = "1.0";
+       sha256 = "0cz5kqpvq9qjkdy2x3y6aqia3armawjjsnv2pxifl0l6f9hhrvis";
+       buildDepends = [ base containers deepseq ];
+       description = "General purpose utility library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rot13" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "rot13";
+       version = "0.1.0.2";
+       sha256 = "0d9c0zfc92xfp5v5dp83w2897pg2gyz9n14xpggakwk6ynfmf6hd";
+       buildDepends = [ base bytestring ];
+       testDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/kvanberendonck/codec-rot13";
+       description = "Fast ROT13 cipher for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rotating-log" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, old-locale
+     , time
+     }:
+     mkDerivation {
+       pname = "rotating-log";
+       version = "0.2";
+       sha256 = "1gqdfzdz3nwp6mjy61a49kwhcrykjl00aq9gq1v68li6z75zf85k";
+       buildDepends = [
+         base bytestring directory filepath old-locale time
+       ];
+       testDepends = [
+         base bytestring directory filepath old-locale time
+       ];
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rounding" = callPackage
+    ({ mkDerivation, array, base, numeric-extras }:
+     mkDerivation {
+       pname = "rounding";
+       version = "0.3.0";
+       sha256 = "1d2vaijcna8gwcrhsjpclqw4gjdvdpmnrlyszqzcxnqf0l206a6y";
+       buildDepends = [ array base numeric-extras ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/ekmett/rounding";
+       description = "Explicit floating point rounding mode wrappers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "roundtrip" = callPackage
+    ({ mkDerivation, base, containers, pretty, safe, template-haskell
+     , text, xml-types
+     }:
+     mkDerivation {
+       pname = "roundtrip";
+       version = "0.2.0.3";
+       sha256 = "1q7n8fnlf9kg4647pm2a3s347dzj7qp29f6hkr0rqfmzp774zwhi";
+       buildDepends = [
+         base containers pretty safe template-haskell text xml-types
+       ];
+       description = "Bidirectional (de-)serialization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "roundtrip-string" = callPackage
+    ({ mkDerivation, base, mtl, parsec, roundtrip }:
+     mkDerivation {
+       pname = "roundtrip-string";
+       version = "0.1.0.1";
+       sha256 = "1lad64y877rf36dgldkc7qcg5xagjc00z4cf2r1ahamv379df8d7";
+       buildDepends = [ base mtl parsec roundtrip ];
+       description = "Bidirectional (de-)serialization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "roundtrip-xml" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-builder-enumerator
+     , bytestring, containers, enumerator, mtl, pretty, reference
+     , roundtrip, roundtrip-string, safe, text, xml-enumerator
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "roundtrip-xml";
+       version = "0.3.0.5";
+       sha256 = "1gl649saiaj1biqda64wmpbnv5f3njm3rmfgvf1iavyliqgrwn9m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder blaze-builder-enumerator bytestring containers
+         enumerator mtl pretty reference roundtrip roundtrip-string safe
+         text xml-enumerator xml-types
+       ];
+       description = "Bidirectional (de-)serialization for XML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "route-generator" = callPackage
+    ({ mkDerivation, attoparsec, base, network, text, yesod-routes }:
+     mkDerivation {
+       pname = "route-generator";
+       version = "0.6.1";
+       sha256 = "0bfrb3mz9nxrl4l5pikrp3x4igq4w9jlmvwikyc71ph8ks6rghc6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ attoparsec base network text yesod-routes ];
+       homepage = "http://github.com/singpolyma/route-generator";
+       description = "Utility to generate routes for use with yesod-routes";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "route-planning" = callPackage
+    ({ mkDerivation, base, containers, coordinate, directory, doctest
+     , filepath, lens, QuickCheck, semigroupoids, semigroups, text, xsd
+     }:
+     mkDerivation {
+       pname = "route-planning";
+       version = "0.0.3";
+       sha256 = "0l3z9hjd8xqnahffg930qi13pf8cpiq44diqmpmh1narcllcbgj7";
+       buildDepends = [
+         base containers coordinate lens semigroupoids semigroups text xsd
+       ];
+       testDepends = [ base directory doctest filepath QuickCheck ];
+       homepage = "https://github.com/tonymorris/route";
+       description = "A library and utilities for creating a route";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rowrecord" = callPackage
+    ({ mkDerivation, base, containers, template-haskell }:
+     mkDerivation {
+       pname = "rowrecord";
+       version = "0.1";
+       sha256 = "0gcrdy75f0rqfayn37frwcixb086x4s7dygphxhxbpvyl8sjnl0l";
+       buildDepends = [ base containers template-haskell ];
+       description = "Build records from lists of strings, as from CSV files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rpc" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, derive
+     , network-fancy, template-haskell, th-lift
+     }:
+     mkDerivation {
+       pname = "rpc";
+       version = "0.0.1";
+       sha256 = "0bw92pmnkfq1azw08ygpmp1z856l3ybhmxkfhy4sfds769k2s4j9";
+       buildDepends = [
+         base bytestring cereal containers derive network-fancy
+         template-haskell th-lift
+       ];
+       description = "type safe rpcs provided as basic IO actions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rpc-framework" = callPackage
+    ({ mkDerivation, base, containers, mtl, network, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "rpc-framework";
+       version = "2.0.0.2";
+       sha256 = "0avjbw9zsa6nsjlwmb1lll0n80j9ggniwpy9sllaam83r6jpxhqq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl network template-haskell transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/mmirman/rpc-framework";
+       description = "a remote procedure call framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rpf" = callPackage
+    ({ mkDerivation, appar, base, blaze-builder, bytestring, c10k
+     , containers, dns, domain-auth, hslogger, iproute, parsec, unix
+     }:
+     mkDerivation {
+       pname = "rpf";
+       version = "0.2.5";
+       sha256 = "0x40j5rk8v61wzhcj730g75a97ikki7j22dfrh4z873b6mxwfh4k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         appar base blaze-builder bytestring c10k containers dns domain-auth
+         hslogger iproute parsec unix
+       ];
+       homepage = "http://www.mew.org/~kazu/proj/rpf/";
+       description = "Receiver Policy Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rpm" = callPackage
+    ({ mkDerivation, base, directory, filepath, HaXml, process }:
+     mkDerivation {
+       pname = "rpm";
+       version = "0.0.1";
+       sha256 = "1wvaf1llcw4xcp8hmd80scqlk490qfiv5sqncpjmafw7zanrab4z";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath HaXml process ];
+       description = "Cozy little project to question unruly rpm packages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rsagl" = callPackage
+    ({ mkDerivation, array, arrows, base, containers
+     , data-memocombinators, deepseq, mtl, old-time, OpenGL, OpenGLRaw
+     , parallel, parsec, random, rsagl-frp, rsagl-math, stm, Vec
+     , Vec-OpenGLRaw
+     }:
+     mkDerivation {
+       pname = "rsagl";
+       version = "0.6.0.1";
+       sha256 = "0f1f6kksrz1ghn6jhbdqsh4rhpkp65ccc4ci2fn5kmmw7qxzal59";
+       buildDepends = [
+         array arrows base containers data-memocombinators deepseq mtl
+         old-time OpenGL OpenGLRaw parallel parsec random rsagl-frp
+         rsagl-math stm Vec Vec-OpenGLRaw
+       ];
+       jailbreak = true;
+       homepage = "http://roguestar.downstairspeople.org/";
+       description = "The RogueStar Animation and Graphics Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rsagl-frp" = callPackage
+    ({ mkDerivation, array, arrows, base, containers, mtl, old-time
+     , random, rsagl-math, stm
+     }:
+     mkDerivation {
+       pname = "rsagl-frp";
+       version = "0.6.0.1";
+       sha256 = "0lim4slnhy1sq449kmvs489xy4axryn6qkk32hkzmlwvw8hqpl01";
+       buildDepends = [
+         array arrows base containers mtl old-time random rsagl-math stm
+       ];
+       jailbreak = true;
+       homepage = "http://roguestar.downstairspeople.org/";
+       description = "The RogueStar Animation and Graphics Library: Functional Reactive Programming";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rsagl-math" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, OpenGL
+     , OpenGLRaw, parallel, parsec, random, Vec, Vec-OpenGLRaw
+     }:
+     mkDerivation {
+       pname = "rsagl-math";
+       version = "0.6.0.1";
+       sha256 = "04i1l6zb1jm784gdr86jrfm5m999px7ymzwwr5nyh69dk1730znn";
+       buildDepends = [
+         array base containers deepseq OpenGL OpenGLRaw parallel parsec
+         random Vec Vec-OpenGLRaw
+       ];
+       jailbreak = true;
+       homepage = "http://roguestar.downstairspeople.org/";
+       description = "The RogueStar Animation and Graphics Library: Mathematics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rss" = callPackage
+    ({ mkDerivation, base, HaXml, network, network-uri, old-locale
+     , time
+     }:
+     mkDerivation {
+       pname = "rss";
+       version = "3000.2.0.4";
+       sha256 = "1kq7bk3kl48699n2ri15im5ds8cd2pmcjglh06br1knxkli80kbq";
+       buildDepends = [ base HaXml network network-uri old-locale time ];
+       homepage = "https://github.com/basvandijk/rss";
+       description = "A library for generating RSS 2.0 feeds.";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "rss2irc" = callPackage
+    ({ mkDerivation, base, bytestring, cabal-file-th, cmdargs
+     , containers, deepseq, feed, http-client, http-conduit, http-types
+     , io-storage, irc, network, old-locale, parsec, regexpr, resourcet
+     , safe, split, text, time, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "rss2irc";
+       version = "1.0.6";
+       sha256 = "0gflfr97y2ypm9h5alm5c851pc0171p8wckdqdhr4wb6r844g8dw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cabal-file-th cmdargs containers deepseq feed
+         http-client http-conduit http-types io-storage irc network
+         old-locale parsec regexpr resourcet safe split text time
+         transformers utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://hackage.haskell.org/package/rss2irc";
+       description = "watches an RSS/Atom feed and writes it to an IRC channel";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rtld" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "rtld";
+       version = "0.0.2";
+       sha256 = "18y55lv3vyl4kpwzphw5gb1jsvp1f6i4dqh9rs6i9fyvabndvfik";
+       buildDepends = [ base ];
+       homepage = "https://github.com/kkardzis/rtld";
+       description = "dynamic linker tools for Haskell";
+       license = "unknown";
+     }) {};
+
+  "rtlsdr" = callPackage
+    ({ mkDerivation, base, c2hs, rtlsdr }:
+     mkDerivation {
+       pname = "rtlsdr";
+       version = "0.1.0.3";
+       sha256 = "0v1vm73f1wn3lcxqlih5c7cj50g8ffbz8fcya0zvs1ab4kxxnrnv";
+       buildDepends = [ base ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ rtlsdr ];
+       homepage = "https://github.com/adamwalker/hrtlsdr";
+       description = "Bindings to librtlsdr";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { rtlsdr = null;};
+
+  "rtorrent-rpc" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-textual
+     , bytestring, deepseq, haxr, mtl, network, split, utf8-string
+     }:
+     mkDerivation {
+       pname = "rtorrent-rpc";
+       version = "0.2.2.0";
+       sha256 = "0k14m4r0zsalngb6c4dckr7z521mymabc0ihk0zz402l7s13n68s";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-textual bytestring deepseq haxr
+         mtl network split utf8-string
+       ];
+       homepage = "https://github.com/megantti/rtorrent-rpc";
+       description = "A library for communicating with RTorrent over its XML-RPC interface";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "rtorrent-state" = callPackage
+    ({ mkDerivation, base, bencoding, bytestring, containers, directory
+     , filepath, hspec, lens, QuickCheck, temporary, utf8-string
+     }:
+     mkDerivation {
+       pname = "rtorrent-state";
+       version = "0.1.0.1";
+       sha256 = "0lh7plp9qwlya0dnfvz2sg8nhg42vnrypi2p8rh6i278glniwn90";
+       buildDepends = [
+         base bencoding bytestring containers directory filepath lens
+         utf8-string
+       ];
+       testDepends = [
+         base bencoding bytestring containers directory filepath hspec
+         QuickCheck temporary utf8-string
+       ];
+       homepage = "http://github.com/Fuuzetsu/rtorrent-state";
+       description = "Parsing and manipulation of rtorrent state file contents";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "rubberband" = callPackage
+    ({ mkDerivation, base, rubberband, vector }:
+     mkDerivation {
+       pname = "rubberband";
+       version = "0.1.0.1";
+       sha256 = "03dhmk4sad20xjic8li1bmwfxril9j6fffcwkf575pd51ds7kghf";
+       buildDepends = [ base vector ];
+       extraLibraries = [ rubberband ];
+       pkgconfigDepends = [ rubberband ];
+       homepage = "https://github.com/mtolly/rubberband";
+       description = "Binding to the C++ audio stretching library Rubber Band";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) rubberband;};
+
+  "ruby-qq" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-exts
+     , haskell-src-meta, pcre-light, process, template-haskell, trifecta
+     }:
+     mkDerivation {
+       pname = "ruby-qq";
+       version = "0.1.0.0";
+       sha256 = "1d2a31kiiv0p8d2yygpg8mgrz0xy6zh5qnf49hz70yk2vavkcac1";
+       buildDepends = [
+         base bytestring haskell-src-exts haskell-src-meta pcre-light
+         process template-haskell trifecta
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/joelteon/ruby-qq";
+       description = "rubyish quasiquoters";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "ruff" = callPackage
+    ({ mkDerivation, array, base, mtl, parsec, safe, strict, Vec }:
+     mkDerivation {
+       pname = "ruff";
+       version = "0.4";
+       sha256 = "09gj31p5cbjdns7d2xs2s08kpaks0bqnhzbf93xypci6zr6gxvyl";
+       buildDepends = [ array base mtl parsec safe strict Vec ];
+       homepage = "https://gitorious.org/ruff";
+       description = "relatively useful fractal functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ruler" = callPackage
+    ({ mkDerivation, base, containers, mtl, shuffle, uhc-util, uuagc
+     , uuagc-cabal, uulib
+     }:
+     mkDerivation {
+       pname = "ruler";
+       version = "0.4.0.1";
+       sha256 = "1caca7353zhpfwrssp2pzmw8jk5sqjxh1nr2h6lpsy964kfa3m69";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl shuffle uhc-util uuagc uuagc-cabal uulib
+       ];
+       homepage = "https://github.com/UU-ComputerScience/ruler";
+       description = "Ruler tool for UHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ruler-core" = callPackage
+    ({ mkDerivation, array, base, containers, directory, fgl, filepath
+     , haskell98, mtl, uuagc, uulib
+     }:
+     mkDerivation {
+       pname = "ruler-core";
+       version = "1.0";
+       sha256 = "06c55pdfkh9vcmmzlf485d0qxczgd2xj1ajkz277df72p29xvrgd";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory fgl filepath haskell98 mtl uuagc
+         uulib
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "rungekutta" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "rungekutta";
+       version = "1.0.2";
+       sha256 = "07drd0xvkg06p2fsbncafnr7wzkrs4m6sfs1szbbscggw3pxh4fp";
+       buildDepends = [ base ];
+       description = "A collection of explicit Runge-Kutta methods of various orders";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "runghc" = callPackage
+    ({ mkDerivation, base, cmdargs, directory, filepath, old-time
+     , process
+     }:
+     mkDerivation {
+       pname = "runghc";
+       version = "0.1.0.3";
+       sha256 = "1vn08xdisdf5l3ps6bcpg3rvl89209f3ig504w7ysqbjgdib96n0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs directory filepath old-time process
+       ];
+       homepage = "https://github.com/bacchanalia/runghc";
+       description = "runghc replacement for fast repeated runs";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "runmemo" = callPackage
+    ({ mkDerivation, base, data-memocombinators, time }:
+     mkDerivation {
+       pname = "runmemo";
+       version = "1.0.0.1";
+       sha256 = "12fn0lsil0rj0pj0ixzppsdw2fmj0cnzci4fh11z9rcggwbz6pms";
+       testDepends = [ base data-memocombinators time ];
+       homepage = "https://github.com/DanBurton/runmemo";
+       description = "A simple memoization helper library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "rvar" = callPackage
+    ({ mkDerivation, base, MonadPrompt, mtl, random-source
+     , transformers
+     }:
+     mkDerivation {
+       pname = "rvar";
+       version = "0.2.0.2";
+       sha256 = "1n24fl27mrm7cndp8b646b9c5hjm3hf5m12y9ni0f850dd739jm4";
+       buildDepends = [ base MonadPrompt mtl random-source transformers ];
+       homepage = "https://github.com/mokus0/random-fu";
+       description = "Random Variables";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "rwlock" = callPackage
+    ({ mkDerivation, base, monad-loops-stm, stm, syb }:
+     mkDerivation {
+       pname = "rwlock";
+       version = "0.0.0.3";
+       sha256 = "0isx32ayaqh7vhcyl11ykdy8f1chs1fdw73h3c2r53k989yfkmba";
+       buildDepends = [ base monad-loops-stm stm syb ];
+       homepage = "https://github.com/mokus0/rwlock";
+       description = "Multiple-read / single-write locks";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "rws" = callPackage
+    ({ mkDerivation, base, binary, bytestring, parsec, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "rws";
+       version = "0.1.1.2";
+       sha256 = "1ildbmnpdh8x25m6kjdc6506cjgngjmjhvrdfkrcwg5cdqcqs266";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring parsec ];
+       testDepends = [
+         base binary bytestring parsec QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/karknu/rws";
+       description = "Packet Generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "s3-signer" = callPackage
+    ({ mkDerivation, base, base64-bytestring, cryptohash, http-types
+     , time, utf8-string
+     }:
+     mkDerivation {
+       pname = "s3-signer";
+       version = "0.2.0.0";
+       sha256 = "08n2ip8ba3apgc5x8pq1b0rs9j0ng1d7hkw2jrd307q4q85gngy0";
+       buildDepends = [
+         base base64-bytestring cryptohash http-types time utf8-string
+       ];
+       homepage = "https://github.com/dmjio/s3-signer";
+       description = "Pre-signed Amazon S3 URLs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "safe" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "safe";
+       version = "0.3.8";
+       sha256 = "0k5lk85z2y8kgk7dx7km32g8vi55vnwln8ys2gs174ljd136cjdf";
+       buildDepends = [ base ];
+       homepage = "http://community.haskell.org/~ndm/safe/";
+       description = "Library of safe (exception free) functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "safe-access" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "safe-access";
+       version = "0.2.1.1";
+       sha256 = "0pijjy8ilq0spmanilmhqxkkrky7ldacxphz5ci8pvnw4g6y40z8";
+       buildDepends = [ base mtl transformers ];
+       jailbreak = true;
+       homepage = "http://hub.darcs.net/thoferon/safe-access";
+       description = "A simple environment to control access to data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safe-failure" = callPackage
+    ({ mkDerivation, base, failure }:
+     mkDerivation {
+       pname = "safe-failure";
+       version = "0.5.0.2";
+       sha256 = "102fjardfdf9zy0vyalgq6m1l64356b0a0xaam49j31lqgfldaw7";
+       buildDepends = [ base failure ];
+       homepage = "http://www-users.cs.york.ac.uk/~ndm/safe/";
+       description = "Library for safe functions (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "safe-failure-cme" = callPackage
+    ({ mkDerivation, base, control-monad-exception, safe-failure }:
+     mkDerivation {
+       pname = "safe-failure-cme";
+       version = "0.1.0";
+       sha256 = "0np0gq6f9xvywdf2fz5cb43ji0r4c9aqk6gb5w80hwklxdy553gk";
+       buildDepends = [ base control-monad-exception safe-failure ];
+       description = "control-monad-exception Instances for safe-failure";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "safe-freeze" = callPackage
+    ({ mkDerivation, base, indexed, mtl, vector }:
+     mkDerivation {
+       pname = "safe-freeze";
+       version = "0.2.1";
+       sha256 = "12mqgak0rla20n9b4m6ynx64bwr06njcr849csc0z0r573xw2v33";
+       buildDepends = [ base indexed mtl vector ];
+       jailbreak = true;
+       homepage = "https://github.com/reinerp/safe-freeze";
+       description = "Support for safely freezing multiple arrays in the ST monad";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safe-globals" = callPackage
+    ({ mkDerivation, base, stm, template-haskell }:
+     mkDerivation {
+       pname = "safe-globals";
+       version = "0.1.1";
+       sha256 = "0an3hy28fpdw3v5gjx13fbszzp4r2p65l8mgks0pdflscf2cwwv5";
+       buildDepends = [ base stm template-haskell ];
+       description = "Safe top-level mutable variables which scope like ordinary values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safe-lazy-io" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, parallel, strict-io
+     }:
+     mkDerivation {
+       pname = "safe-lazy-io";
+       version = "0.1";
+       sha256 = "1hqw4i814sz94iqyj79jai8aa2mwmv0mrnfk8ggb0sdx4xqn784c";
+       buildDepends = [ base extensible-exceptions parallel strict-io ];
+       description = "A library providing safe lazy IO features";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safe-plugins" = callPackage
+    ({ mkDerivation, base, directory, filepath, haskell-src-exts
+     , plugins, Unixutils
+     }:
+     mkDerivation {
+       pname = "safe-plugins";
+       version = "0.1";
+       sha256 = "1nxy70iig54098pzbi8mwc8412fj759y6ihmsdjsk6xlpy6bwx65";
+       buildDepends = [
+         base directory filepath haskell-src-exts plugins Unixutils
+       ];
+       description = "A small wrapper over hs-plugins to allow loading safe plugins";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safecopy" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers, lens
+     , lens-action, old-time, quickcheck-instances, tasty
+     , tasty-quickcheck, template-haskell, text, time, vector
+     }:
+     mkDerivation {
+       pname = "safecopy";
+       version = "0.8.4";
+       sha256 = "0zwgbaigvysxf5zqdzkfsf0rqdwjq76hp207lchqgvx5rv8wda8h";
+       buildDepends = [
+         array base bytestring cereal containers old-time template-haskell
+         text time vector
+       ];
+       testDepends = [
+         array base cereal containers lens lens-action quickcheck-instances
+         tasty tasty-quickcheck template-haskell time vector
+       ];
+       homepage = "http://acid-state.seize.it/safecopy";
+       description = "Binary serialization with version control";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "safeint" = callPackage
+    ({ mkDerivation, base, ghc-prim, HUnit, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "safeint";
+       version = "0.5.3";
+       sha256 = "1xrdqylf4f6nk2rnpp0zyaj562cdn2wmf9skir21fbzkw1lzvq7j";
+       buildDepends = [ base ghc-prim ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       description = "overflow-checked Int type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safer-file-handles" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, explicit-iomodes
+     , pathtype, regional-pointers, regions, transformers
+     }:
+     mkDerivation {
+       pname = "safer-file-handles";
+       version = "0.11";
+       sha256 = "1jqw13drzj36gjvlaf9fqd4cj1dpy8psmgsdykag6krxvhq6p639";
+       buildDepends = [
+         base base-unicode-symbols explicit-iomodes pathtype
+         regional-pointers regions transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/safer-file-handles/";
+       description = "Type-safe file handling";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safer-file-handles-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, explicit-iomodes-bytestring
+     , regions, safer-file-handles, transformers
+     }:
+     mkDerivation {
+       pname = "safer-file-handles-bytestring";
+       version = "0.3.0.1";
+       sha256 = "1fbhk5hmq9bpw556vz6w3vq5j380n5pzfgby6w4vrmwnn93y12b9";
+       buildDepends = [
+         base bytestring explicit-iomodes-bytestring regions
+         safer-file-handles transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/safer-file-handles-bytestring/";
+       description = "Extends safer-file-handles with ByteString operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "safer-file-handles-text" = callPackage
+    ({ mkDerivation, explicit-iomodes-text, regions, safer-file-handles
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "safer-file-handles-text";
+       version = "0.2.0.2";
+       sha256 = "14x0kig9dnjrksh7b4gmwdwqr045cqcqjgicvjckhf85jc8bcanm";
+       buildDepends = [
+         explicit-iomodes-text regions safer-file-handles text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/safer-file-handles-text/";
+       description = "Extends safer-file-handles with Text operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "saferoute" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, text }:
+     mkDerivation {
+       pname = "saferoute";
+       version = "0.2.0.0";
+       sha256 = "00ykmy44paghgc3m731p1hh00zv11416pl2xil4cav7vrr43nb6h";
+       buildDepends = [ base blaze-html containers text ];
+       jailbreak = true;
+       description = "A simple type-safe routing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sai-shape-syb" = callPackage
+    ({ mkDerivation, base, containers, ghc, ghc-syb-utils, HUnit, syb
+     }:
+     mkDerivation {
+       pname = "sai-shape-syb";
+       version = "0.3.4";
+       sha256 = "07g7qpf7avv5hnxykrh4x7qr8sx9mwwv4hbavnsqi1n7zy2z91a3";
+       buildDepends = [ base containers ghc ghc-syb-utils syb ];
+       testDepends = [ base containers ghc ghc-syb-utils HUnit syb ];
+       homepage = "http://fremissant.net/shape-syb";
+       description = "Obtain homogeneous values from arbitrary values, transforming or culling data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "saltine" = callPackage
+    ({ mkDerivation, base, bytestring, libsodium, profunctors
+     , QuickCheck, test-framework, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "saltine";
+       version = "0.0.0.3";
+       sha256 = "1xjpjblxlpziyyz74ldaqh04shvy2qi34sc6b3232wpc0kyl5s8y";
+       buildDepends = [ base bytestring profunctors ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2 vector
+       ];
+       extraLibraries = [ libsodium ];
+       description = "Cryptography that's easy to digest (NaCl/libsodium bindings)";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) libsodium;};
+
+  "saltine-quickcheck" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-arbitrary, hex
+     , QuickCheck, saltine, sodium, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "saltine-quickcheck";
+       version = "0.1.0.1";
+       sha256 = "041286rsyzv67qqbbbd38fc9qqzmml0js4qr0rqhaljv8cf1sxnj";
+       buildDepends = [
+         base bytestring bytestring-arbitrary hex QuickCheck saltine
+       ];
+       testDepends = [
+         base bytestring-arbitrary QuickCheck saltine tasty tasty-quickcheck
+       ];
+       extraLibraries = [ sodium ];
+       homepage = "https://github.com/tsuraan/saltine-quickcheck";
+       description = "Quickcheck implementations for some NaCl data";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) sodium;};
+
+  "salvia" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, fclabels
+     , MaybeT-transformers, monads-fd, network, old-locale, process
+     , pureMD5, random, safe, salvia-protocol, split, stm, text
+     , threadmanager, time, transformers, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "salvia";
+       version = "1.0.0";
+       sha256 = "1qcnhj3ifjqrkaw1ixqkwmv2br9w5dlk1mrrwgl73c3wxgin7gni";
+       buildDepends = [
+         base bytestring containers directory fclabels MaybeT-transformers
+         monads-fd network old-locale process pureMD5 random safe
+         salvia-protocol split stm text threadmanager time transformers unix
+         utf8-string
+       ];
+       jailbreak = true;
+       description = "Modular web application framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "salvia-demo" = callPackage
+    ({ mkDerivation, base, c10k, fclabels, filestore, monads-fd
+     , network, salvia, salvia-extras, salvia-protocol, salvia-sessions
+     , salvia-websocket, stm, threadmanager, transformers
+     }:
+     mkDerivation {
+       pname = "salvia-demo";
+       version = "1.0.0";
+       sha256 = "0sfvx7hj0z2g57gs6l1s078z3a34hfgm4pfcb1qr1pvbc8lj3f1h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base c10k fclabels filestore monads-fd network salvia salvia-extras
+         salvia-protocol salvia-sessions salvia-websocket stm threadmanager
+         transformers
+       ];
+       jailbreak = true;
+       description = "Demo Salvia servers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "salvia-extras" = callPackage
+    ({ mkDerivation, base, bytestring, c10k, clevercss, fclabels
+     , filestore, hscolour, HStringTemplate, monads-fd, network
+     , old-locale, pureMD5, salvia, salvia-protocol, sendfile, split
+     , stm, text, threadmanager, time, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "salvia-extras";
+       version = "1.0.0";
+       sha256 = "1nfiak4nabxm27ddksaif1jdpwn7drbz25jrqk0bmyr5q6q70a51";
+       buildDepends = [
+         base bytestring c10k clevercss fclabels filestore hscolour
+         HStringTemplate monads-fd network old-locale pureMD5 salvia
+         salvia-protocol sendfile split stm text threadmanager time
+         transformers utf8-string
+       ];
+       jailbreak = true;
+       description = "Collection of non-fundamental handlers for the Salvia web server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "salvia-protocol" = callPackage
+    ({ mkDerivation, base, bimap, bytestring, containers, fclabels
+     , parsec, safe, split, utf8-string
+     }:
+     mkDerivation {
+       pname = "salvia-protocol";
+       version = "1.0.1";
+       sha256 = "0a49wjjhdhhlnrwfi6l2zn6jl7vynwyil6s6qzp1za7s5vji48vb";
+       buildDepends = [
+         base bimap bytestring containers fclabels parsec safe split
+         utf8-string
+       ];
+       jailbreak = true;
+       description = "Salvia webserver protocol suite supporting URI, HTTP, Cookie and MIME";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "salvia-sessions" = callPackage
+    ({ mkDerivation, base, containers, fclabels, MaybeT-transformers
+     , monads-fd, pureMD5, random, safe, salvia, salvia-protocol, stm
+     , time, utf8-string
+     }:
+     mkDerivation {
+       pname = "salvia-sessions";
+       version = "1.0.0";
+       sha256 = "0cfl9xhawg16gkl18wfxpjysn312yb3q9bagmclrhqk3qzwxgb0h";
+       buildDepends = [
+         base containers fclabels MaybeT-transformers monads-fd pureMD5
+         random safe salvia salvia-protocol stm time utf8-string
+       ];
+       jailbreak = true;
+       description = "Session support for the Salvia webserver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "salvia-websocket" = callPackage
+    ({ mkDerivation, base, bytestring, fclabels, monads-fd, salvia
+     , salvia-protocol, stm, utf8-string
+     }:
+     mkDerivation {
+       pname = "salvia-websocket";
+       version = "1.0.0";
+       sha256 = "14sr5z5z9xjkf18z1srz6cgciyrhhs4zyl7a8pffxmb893a2gngl";
+       buildDepends = [
+         base bytestring fclabels monads-fd salvia salvia-protocol stm
+         utf8-string
+       ];
+       jailbreak = true;
+       description = "Websocket implementation for the Salvia Webserver";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sample-frame" = callPackage
+    ({ mkDerivation, base, QuickCheck, storable-record }:
+     mkDerivation {
+       pname = "sample-frame";
+       version = "0.0.3";
+       sha256 = "0ivj0bcnqqc805np62bdpvh8v4ykmw86ph5rp7k54bbv9wd31bsv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base QuickCheck storable-record ];
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Handling of samples in an (audio) signal";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sample-frame-np" = callPackage
+    ({ mkDerivation, base, numeric-prelude, sample-frame }:
+     mkDerivation {
+       pname = "sample-frame-np";
+       version = "0.0.4";
+       sha256 = "1l7447xjxj98jx99b75hdfdjps6mcm293yhx0fjrqwxkz6anxv6d";
+       buildDepends = [ base numeric-prelude sample-frame ];
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Orphan instances for types from sample-frame and numericprelude";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "samtools" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, filepath, process, seqloc
+     , vector, zlib
+     }:
+     mkDerivation {
+       pname = "samtools";
+       version = "0.2.4.1";
+       sha256 = "00hm12wz6sqv0jn9v7vqxzvq1m7k8d4fdaw25x928ck7g95gk9id";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring filepath process seqloc vector ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ zlib ];
+       homepage = "http://www.ingolia-lab.org/samtools-tutorial.html";
+       description = "Binding to the C samtools library";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) zlib;};
+
+  "samtools-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, filepath, resourcet
+     , samtools, transformers
+     }:
+     mkDerivation {
+       pname = "samtools-conduit";
+       version = "0.1.1.0";
+       sha256 = "0s59ds9s8ghj8wq2cfnh2s865v8bmga53aqvcqf781iv9zvxbqmw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit filepath resourcet samtools transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.ingolia-lab.org/samtools-tutorial.html";
+       description = "Conduit interface to SAM/BAM format files through samtools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "samtools-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, samtools
+     , transformers
+     }:
+     mkDerivation {
+       pname = "samtools-enumerator";
+       version = "0.1.2.1";
+       sha256 = "0wk2m2av9fd5zvx29my4llbc8zqk1hrczfvnhrvd90qmw8p33r5m";
+       buildDepends = [
+         base bytestring enumerator samtools transformers
+       ];
+       description = "Enumerator interface to SamTools library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "samtools-iteratee" = callPackage
+    ({ mkDerivation, base, bytestring, iteratee, monads-tf, samtools
+     , transformers
+     }:
+     mkDerivation {
+       pname = "samtools-iteratee";
+       version = "0.2.2.1";
+       sha256 = "139cp03lm05s536gsf03in7lrsmiprs2x6vpr9vci4k0pq2pd06l";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring iteratee monads-tf samtools transformers
+       ];
+       description = "Iteratee interface to SamTools library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sandi" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, exceptions, HUnit
+     , tasty, tasty-hunit, tasty-quickcheck, tasty-th
+     }:
+     mkDerivation {
+       pname = "sandi";
+       version = "0.3.3";
+       sha256 = "0nbp5brry13nfs05aqzscyy4gp678bzqsq8d0726dj23iffd4191";
+       buildDepends = [ base bytestring conduit exceptions ];
+       testDepends = [
+         base bytestring HUnit tasty tasty-hunit tasty-quickcheck tasty-th
+       ];
+       homepage = "http://hackage.haskell.org/package/sandi";
+       description = "Data encoding library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sandlib" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "sandlib";
+       version = "0.0.2";
+       sha256 = "07wh6va4rpf6vvxnjqbmwfna3rg20ysjh2pnzylz6xzlayzq0pkx";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://github.com/regularlambda/sandlib";
+       description = "SAND data serialization and manipulation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sandman" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , optparse-applicative, process, text, unix-compat
+     }:
+     mkDerivation {
+       pname = "sandman";
+       version = "0.1.0.0";
+       sha256 = "02lgpcr70icq9cgxzpd79d60pbk2fsg6n7pn8zmvjks7dv86bdvn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath optparse-applicative
+         process text unix-compat
+       ];
+       homepage = "https://github.com/abhinav/sandman";
+       description = "Manages Cabal sandboxes to avoid rebuilding packages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "sarasvati" = callPackage
+    ({ mkDerivation, base, deepseq, portaudio }:
+     mkDerivation {
+       pname = "sarasvati";
+       version = "0.3.0.0";
+       sha256 = "0x8d5n2mydhwl9h7vzk7nr58b2aym9xb21p4m21rfa6vy6r2n438";
+       buildDepends = [ base deepseq portaudio ];
+       jailbreak = true;
+       homepage = "https://github.com/tokiwoousaka/Sarasvati";
+       description = "audio library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sasl" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
+     , monads-tf, papillon, simple-pipe
+     }:
+     mkDerivation {
+       pname = "sasl";
+       version = "0.0.0.2";
+       sha256 = "02cv19vi8wfwzxhi33f32zihjqypxjz1x6j7ff70my2wffw95w26";
+       buildDepends = [
+         base base64-bytestring bytestring cryptohash monads-tf papillon
+         simple-pipe
+       ];
+       homepage = "https://github.com/YoshikuniJujo/sasl/wiki";
+       description = "SASL implementation using simple-pipe";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sat" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "sat";
+       version = "1.1.1";
+       sha256 = "1ia2asqnxzpyr9s4n488yy00388x0bfy8kwqjx17fap33jkjfi6p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://tcana.info/sat.html";
+       description = "CNF SATisfier";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sat-micro-hs" = callPackage
+    ({ mkDerivation, base, containers, haskell98, mtl, parse-dimacs
+     , pretty
+     }:
+     mkDerivation {
+       pname = "sat-micro-hs";
+       version = "0.1.1";
+       sha256 = "1w09ccky9rhp1l5g3rxjp9ydfyn0cc7kxmhz922ngls4ywd1hbc4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers haskell98 mtl parse-dimacs pretty
+       ];
+       description = "A minimal SAT solver";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "satchmo" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , lens, minisat, mtl, process
+     }:
+     mkDerivation {
+       pname = "satchmo";
+       version = "2.9.7.1";
+       sha256 = "1wrbf5mnk4f1m40dw2pyp66g76rvhqbxv7qwdx6lha2wjx7z1020";
+       buildDepends = [
+         array base bytestring containers directory lens minisat mtl process
+       ];
+       testDepends = [ array base ];
+       homepage = "https://github.com/jwaldmann/satchmo";
+       description = "SAT encoding monad";
+       license = "GPL";
+     }) {};
+
+  "satchmo-backends" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, process
+     , satchmo, timeit
+     }:
+     mkDerivation {
+       pname = "satchmo-backends";
+       version = "1.9.1";
+       sha256 = "1hyzwmhy0f4k60hqjbh9jl3qr4xw3rjgl8nz2gfcdvm5ad91bfdf";
+       buildDepends = [
+         array base bytestring containers process satchmo timeit
+       ];
+       homepage = "http://dfa.imn.htwk-leipzig.de/satchmo/";
+       description = "driver for external satchmo backends";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "satchmo-examples" = callPackage
+    ({ mkDerivation, array, base, containers, process, satchmo
+     , satchmo-backends
+     }:
+     mkDerivation {
+       pname = "satchmo-examples";
+       version = "1.8.1";
+       sha256 = "1xvgamq53yfzcl1p9wbfyy7dlhxsnbj6pjpxgjkyycndgszc84w3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers process satchmo satchmo-backends
+       ];
+       homepage = "http://dfa.imn.htwk-leipzig.de/satchmo/";
+       description = "examples that show how to use satchmo";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "satchmo-funsat" = callPackage
+    ({ mkDerivation, array, base, containers, funsat, parse-dimacs
+     , satchmo
+     }:
+     mkDerivation {
+       pname = "satchmo-funsat";
+       version = "1.4";
+       sha256 = "0nx0xlbwwcdhdd608akmiwzx8abrd5v4b411221rdl8fshqrbv34";
+       buildDepends = [
+         array base containers funsat parse-dimacs satchmo
+       ];
+       homepage = "http://dfa.imn.htwk-leipzig.de/satchmo/";
+       description = "funsat driver as backend for satchmo";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "satchmo-minisat" = callPackage
+    ({ mkDerivation, base, containers, process, satchmo }:
+     mkDerivation {
+       pname = "satchmo-minisat";
+       version = "1.3";
+       sha256 = "1dwgj16l2zjqfmf92kpr695ycliwki6a38sxc06scvs6sv6wkc56";
+       buildDepends = [ base containers process satchmo ];
+       homepage = "http://dfa.imn.htwk-leipzig.de/satchmo/";
+       description = "minisat driver as backend for satchmo";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "satchmo-toysat" = callPackage
+    ({ mkDerivation, array, base, containers, satchmo, toysolver }:
+     mkDerivation {
+       pname = "satchmo-toysat";
+       version = "0.2.0.0";
+       sha256 = "10prfalf8gic4p5sj35svnypzdgn69f6vwbj9dh55bcq70gqqgn2";
+       buildDepends = [ array base containers satchmo toysolver ];
+       jailbreak = true;
+       homepage = "https://github.com/msakai/satchmo-toysat";
+       description = "toysat driver as backend for satchmo";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sbv" = callPackage
+    ({ mkDerivation, array, async, base, containers, deepseq, directory
+     , filepath, HUnit, mtl, old-time, pretty, process, QuickCheck
+     , random, syb
+     }:
+     mkDerivation {
+       pname = "sbv";
+       version = "4.2";
+       sha256 = "1q62fa2wi8sxkbx93qpxqr6sivs5q028kdbs35j3ym9mb3pa8y8q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array async base containers deepseq directory filepath HUnit mtl
+         old-time pretty process QuickCheck random syb
+       ];
+       testDepends = [ base directory filepath HUnit syb ];
+       homepage = "http://leventerkok.github.com/sbv/";
+       description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sc3-rdu" = callPackage
+    ({ mkDerivation, base, hsc3, hsc3-db }:
+     mkDerivation {
+       pname = "sc3-rdu";
+       version = "0.15";
+       sha256 = "0zrd9w3s535b2dpnmmrfg4i6jd9f4nh338x1cbggcw3pjyv8gk30";
+       buildDepends = [ base hsc3 hsc3-db ];
+       homepage = "http://rd.slavepianos.org/t/sc3-rdu";
+       description = "Haskell bindings to sc3-rdu (sc3 rd ugens)";
+       license = "GPL";
+     }) {};
+
+  "scalable-server" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , blaze-builder, BoundedChan, bytestring, enumerator, mtl, network
+     , network-enumerator
+     }:
+     mkDerivation {
+       pname = "scalable-server";
+       version = "0.2.2";
+       sha256 = "066ncvz6zid1j6d6j89m4k2hywq58p73z30dkqn2l1svlic7dmx6";
+       buildDepends = [
+         attoparsec attoparsec-enumerator base blaze-builder BoundedChan
+         bytestring enumerator mtl network network-enumerator
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jamwt/haskell-scalable-server/";
+       description = "Library for writing fast/scalable TCP-based services";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scaleimage" = callPackage
+    ({ mkDerivation, base, filepath, gd }:
+     mkDerivation {
+       pname = "scaleimage";
+       version = "0.1";
+       sha256 = "0alhi0zr2n97942wpnyzq8q62nd4nzjl0rdxaarr7psx6dd3h3nn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base filepath gd ];
+       homepage = "http://code.haskell.org/~dons/code/scaleimage";
+       description = "Scale an image to a new geometry";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scalpel" = callPackage
+    ({ mkDerivation, base, bytestring, curl, download-curl, HUnit
+     , regex-base, regex-tdfa, tagsoup, text
+     }:
+     mkDerivation {
+       pname = "scalpel";
+       version = "0.1.2";
+       revision = "1";
+       sha256 = "1h0fj56a3mppcc2pfjs7philm2jy1yb3vvzbvswsans5x4xvh8dv";
+       editedCabalFile = "5062d07770eb7d265cd5c76dc7e3c90c36a2a4f6a7bc3e688d139cd8114a8f5c";
+       buildDepends = [
+         base bytestring curl download-curl regex-base regex-tdfa tagsoup
+         text
+       ];
+       testDepends = [
+         base bytestring curl download-curl HUnit regex-base regex-tdfa
+         tagsoup text
+       ];
+       homepage = "https://github.com/fimad/scalpel";
+       description = "A high level web scraping library for Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "scan" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "scan";
+       version = "0.1.0.9";
+       sha256 = "0imc8zmg0d42pzbrxiyi8lqx5q24i73ajj3pmb3kqinfhm465jgv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base parsec ];
+       homepage = "http://projects.haskell.org/style-scanner";
+       description = "lexical style suggestions for source code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scan-vector-machine" = callPackage
+    ({ mkDerivation, accelerate, array, base, dph-base, HUnit }:
+     mkDerivation {
+       pname = "scan-vector-machine";
+       version = "0.2.7";
+       sha256 = "112ibzc205pjcmjiwbknw7pdh0c5fyq6i4sqk97jfdr0ynb72vvc";
+       buildDepends = [ accelerate array base dph-base HUnit ];
+       testDepends = [ array base HUnit ];
+       description = "An implementation of the Scan Vector Machine instruction set in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scat" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, mtl
+     , optparse-applicative, scrypt, vector
+     }:
+     mkDerivation {
+       pname = "scat";
+       version = "1.1.0.1";
+       sha256 = "18sn7dg2pc5wx73gxs6036fxp8yal95pfh336llvmn3azmkd6n95";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring mtl optparse-applicative scrypt
+         vector
+       ];
+       testDepends = [
+         ansi-terminal base bytestring mtl optparse-applicative scrypt
+         vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/redelmann/scat";
+       description = "Generates unique passwords for various websites from a single password";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scc" = callPackage
+    ({ mkDerivation, base, bytestring, containers, haskeline
+     , incremental-parser, monad-coroutine, monad-parallel
+     , monoid-subclasses, parsec, process, QuickCheck, test-framework
+     , test-framework-quickcheck2, text, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "scc";
+       version = "0.8.2.2";
+       sha256 = "0rsx9h0y5g2sgwg47lzdzpmx5nfnpb033fyzz5xkxnc5k4bllad5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers haskeline incremental-parser
+         monad-coroutine monad-parallel monoid-subclasses parsec process
+         text transformers transformers-compat
+       ];
+       testDepends = [
+         base bytestring containers incremental-parser monad-coroutine
+         monad-parallel monoid-subclasses QuickCheck test-framework
+         test-framework-quickcheck2 text transformers transformers-compat
+       ];
+       jailbreak = true;
+       homepage = "http://trac.haskell.org/SCC/";
+       description = "Streaming component combinators";
+       license = "GPL";
+     }) {};
+
+  "scenegraph" = callPackage
+    ({ mkDerivation, array, base, containers, fgl, GLUT, haskell98
+     , hmatrix, mtl, old-time, OpenGL, process
+     }:
+     mkDerivation {
+       pname = "scenegraph";
+       version = "0.1.0.2";
+       sha256 = "1l946h6sggg2n8ldx34v2sx4dyjqxd7i34wrsllz88iiy4qd90yw";
+       buildDepends = [
+         array base containers fgl GLUT haskell98 hmatrix mtl old-time
+         OpenGL process
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/SceneGraph";
+       description = "Scene Graph";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scgi" = callPackage
+    ({ mkDerivation, base, bytestring, cgi, extensible-exceptions
+     , network
+     }:
+     mkDerivation {
+       pname = "scgi";
+       version = "0.3.3";
+       sha256 = "0zmn5w5vwxv8slnydbrj1jfhmbvsyars2wf9bbrbgvwsfd40zd2m";
+       buildDepends = [
+         base bytestring cgi extensible-exceptions network
+       ];
+       description = "A Haskell library for writing SCGI programs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "schedevr" = callPackage
+    ({ mkDerivation, base, directory, filepath, old-locale, time
+     , xturtle
+     }:
+     mkDerivation {
+       pname = "schedevr";
+       version = "0.1.0.6";
+       sha256 = "1ggywgyfpdza1fk66ixj8z3a1nv1r64dmw7l4d1m3h65yzxx9jcb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath old-locale time xturtle ];
+       jailbreak = true;
+       description = "Marge schedules and show EVR";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "schedyield" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "schedyield";
+       version = "1.0";
+       sha256 = "0lzhxlfxa660vx4y49gbg2q76v8dda00h3rznj5fhdjj29pkypgp";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Exposes standard POSIX function sched_yield";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scholdoc" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, binary, blaze-html
+     , blaze-markup, bytestring, containers, data-default, Diff
+     , directory, executable-path, extensible-exceptions, filepath
+     , highlighting-kate, hslua, HTTP, http-client, http-client-tls
+     , http-types, HUnit, JuicyPixels, mtl, network, network-uri
+     , old-locale, old-time, parsec, process, QuickCheck, random
+     , scholdoc-texmath, scholdoc-types, scientific, SHA, syb, tagsoup
+     , temporary, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, unordered-containers
+     , vector, xml, yaml, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "scholdoc";
+       version = "0.1.3";
+       revision = "1";
+       sha256 = "0dsbr4nk56cmbgdnk91s39lc4qp2wb39hkyisaf4f1n6nmx8zmn4";
+       editedCabalFile = "bbe7070ca2ca48d86095c9a45120d2bfbf6a480b3894117d70e0f8e3ccabb435";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring binary blaze-html blaze-markup
+         bytestring containers data-default directory extensible-exceptions
+         filepath highlighting-kate hslua HTTP http-client http-client-tls
+         http-types JuicyPixels mtl network network-uri old-locale old-time
+         parsec process random scholdoc-texmath scholdoc-types scientific
+         SHA syb tagsoup temporary text time unordered-containers vector xml
+         yaml zip-archive zlib
+       ];
+       testDepends = [
+         base bytestring containers Diff directory executable-path filepath
+         HUnit process QuickCheck scholdoc-types syb test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://scholdoc.scholarlymarkdown.com";
+       description = "Converts ScholarlyMarkdown documents to HTML5/LaTeX/Docx format";
+       license = "GPL";
+     }) {};
+
+  "scholdoc-citeproc" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , containers, data-default, directory, filepath, hs-bibutils, mtl
+     , old-locale, parsec, process, rfc5051, scholdoc, scholdoc-types
+     , split, syb, tagsoup, temporary, text, time, vector, xml-conduit
+     , yaml
+     }:
+     mkDerivation {
+       pname = "scholdoc-citeproc";
+       version = "0.6";
+       revision = "1";
+       sha256 = "0wy8cwr933zcqb85qscj9l9qcl2xv8mkbd2g9b4gs7c1k5b6khll";
+       editedCabalFile = "33a066de8000d8bdb0a8f04f71baca64e27f4a2bb2d2a330f6d5a7f81090b118";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty attoparsec base bytestring containers
+         data-default directory filepath hs-bibutils mtl old-locale parsec
+         process rfc5051 scholdoc scholdoc-types split syb tagsoup temporary
+         text time vector xml-conduit yaml
+       ];
+       testDepends = [
+         aeson base bytestring directory filepath process scholdoc
+         scholdoc-types temporary text yaml
+       ];
+       homepage = "http://scholdoc.scholarlymarkdown.com";
+       description = "Scholdoc fork of pandoc-citeproc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scholdoc-texmath" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, network-uri, parsec, process, scholdoc-types, split, syb
+     , temporary, text, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "scholdoc-texmath";
+       version = "0.1.0.1";
+       sha256 = "05yb55df33v357khdkr95ghmxqzikvq8gxqkh143zc8fi43gjf99";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl network-uri parsec scholdoc-types syb xml
+       ];
+       testDepends = [
+         base bytestring directory filepath process split temporary text
+         utf8-string xml
+       ];
+       homepage = "http://github.com/timtylin/scholdoc-texmath";
+       description = "Scholdoc fork of texmath";
+       license = "GPL";
+     }) {};
+
+  "scholdoc-types" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , deepseq-generics, ghc-prim, syb
+     }:
+     mkDerivation {
+       pname = "scholdoc-types";
+       version = "0.1.3.1";
+       sha256 = "02335isa6w7mxjziiwsdm2883b778v0y0ayzxpha9p0xr5nlkbar";
+       buildDepends = [
+         aeson base bytestring containers deepseq-generics ghc-prim syb
+       ];
+       homepage = "http://scholdoc.scholarlymarkdown.com";
+       description = "Scholdoc fork of pandoc-types";
+       license = "GPL";
+     }) {};
+
+  "schonfinkeling" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "schonfinkeling";
+       version = "0.1.0.0";
+       sha256 = "1wwbalfkfg66azr9zizscvdc2csi9q73d6wq5bwbiq33z522nwxy";
+       buildDepends = [ base ];
+       description = "Transformation of n-ary functions to unary functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sci-ratio" = callPackage
+    ({ mkDerivation, base, hashable }:
+     mkDerivation {
+       pname = "sci-ratio";
+       version = "0.2.1.0";
+       sha256 = "1qddamwk2fzakixx9f0y0r3z9z6kmyyxgpb3dhiiiza6krnf8r9k";
+       buildDepends = [ base hashable ];
+       testDepends = [ base ];
+       homepage = "https://github.com/Rufflewind/sci-ratio";
+       description = "Rational numbers in scientific notation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "science-constants" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "science-constants";
+       version = "0.2.0.0";
+       sha256 = "0qp3d9la929kks2b2pyylgznl86gy91lp3zgpb9bn7gas3wll9vy";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Mathematical/physical/chemical constants";
+       license = "unknown";
+     }) {};
+
+  "science-constants-dimensional" = callPackage
+    ({ mkDerivation, base, dimensional, numtype, science-constants }:
+     mkDerivation {
+       pname = "science-constants-dimensional";
+       version = "0.1.0.1";
+       sha256 = "0n39pfs7kfhy62vl9q2ka5f9bfckncpssjsdx71d1hrld0jcq2g8";
+       buildDepends = [ base dimensional numtype science-constants ];
+       jailbreak = true;
+       description = "Mathematical/physical/chemical constants";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scientific" = callPackage
+    ({ mkDerivation, array, base, bytestring, deepseq, ghc-prim
+     , hashable, integer-gmp, QuickCheck, smallcheck, tasty
+     , tasty-ant-xml, tasty-hunit, tasty-quickcheck, tasty-smallcheck
+     , text
+     }:
+     mkDerivation {
+       pname = "scientific";
+       version = "0.3.3.8";
+       sha256 = "0k6f9g3jpwhm52af4zayhdby8xibarn60mpxbb8xxgm78hmdw373";
+       buildDepends = [
+         array base bytestring deepseq ghc-prim hashable integer-gmp text
+       ];
+       testDepends = [
+         base bytestring QuickCheck smallcheck tasty tasty-ant-xml
+         tasty-hunit tasty-quickcheck tasty-smallcheck text
+       ];
+       homepage = "https://github.com/basvandijk/scientific";
+       description = "Numbers represented using scientific notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scion" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, ghc, ghc-paths, ghc-syb, hslogger, json, multiset
+     , network, network-bytestring, time, uniplate, utf8-string
+     }:
+     mkDerivation {
+       pname = "scion";
+       version = "0.1.0.2";
+       sha256 = "1ihq538ym6hh099p0h9p1ngjsq3a9h9k5ssnwyr4bqhlmv8xam0i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory filepath ghc ghc-paths
+         ghc-syb hslogger json multiset network network-bytestring time
+         uniplate utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/nominolo/scion";
+       description = "Haskell IDE library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scion-browser" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
+     , conduit, containers, deepseq, derive, directory, filepath, ghc
+     , ghc-paths, ghc-pkg-lib, haskeline, haskell-src-exts, HTTP
+     , http-conduit, monad-logger, mtl, parallel-io, parsec, persistent
+     , persistent-sqlite, persistent-template, process, resourcet, tar
+     , text, transformers, unix, unordered-containers, utf8-string
+     , vector, zlib
+     }:
+     mkDerivation {
+       pname = "scion-browser";
+       version = "0.5.0";
+       sha256 = "1nf4rvy8szxjra6l20jxd0v2f6zf985jiz2d1y5rkfvrqx1pwqnc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring Cabal conduit containers deepseq
+         derive directory filepath ghc ghc-paths ghc-pkg-lib haskeline
+         haskell-src-exts HTTP http-conduit monad-logger mtl parallel-io
+         parsec persistent persistent-sqlite persistent-template process
+         resourcet tar text transformers unix unordered-containers
+         utf8-string vector zlib
+       ];
+       homepage = "http://github.com/JPMoresmau/scion-class-browser";
+       description = "Command-line interface for browsing and searching packages documentation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scons2dot" = callPackage
+    ({ mkDerivation, base, bytestring, containers, process }:
+     mkDerivation {
+       pname = "scons2dot";
+       version = "0.9";
+       sha256 = "1c9akvpvwakdnqciz57bwjhqkdfkky43wmj7rx9fsk552pamzijk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers process ];
+       jailbreak = true;
+       description = "Generates graphviz file of scons dependency information";
+       license = "GPL";
+     }) {};
+
+  "scope" = callPackage
+    ({ mkDerivation, base, bytestring, containers, iteratee
+     , MonadCatchIO-transformers, mtl, mwc-random, time, unix
+     , zoom-cache
+     }:
+     mkDerivation {
+       pname = "scope";
+       version = "0.8.0.1";
+       sha256 = "1ks66paa30xwqgrllkyz0phh73pc0d2f6aq474cpz7gdb7zyrkzi";
+       buildDepends = [
+         base bytestring containers iteratee MonadCatchIO-transformers mtl
+         mwc-random time unix zoom-cache
+       ];
+       description = "An interactive renderer for plotting time-series data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scope-cairo" = callPackage
+    ({ mkDerivation, base, cairo, gtk, MonadCatchIO-transformers, mtl
+     , old-locale, scope, time, zoom-cache
+     }:
+     mkDerivation {
+       pname = "scope-cairo";
+       version = "0.8.0.1";
+       sha256 = "0dhpyf0kh6qrrcyr3iwp3i3rkj5vcl7k7aa9qmxq2qq1f6dhw4p6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cairo gtk MonadCatchIO-transformers mtl old-locale scope time
+         zoom-cache
+       ];
+       description = "An interactive renderer for plotting time-series data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scottish" = callPackage
+    ({ mkDerivation, base, data-default, enclosed-exceptions
+     , http-types, lens, mtl, persistent, resource-pool, scotty, stm
+     , text, transformers, wai, warp
+     }:
+     mkDerivation {
+       pname = "scottish";
+       version = "0.1.0.1";
+       sha256 = "01874r5r6lzwa7w0pa5i0ymnxb5vpkpxyfnf3knlyblv9b5j82nx";
+       buildDepends = [
+         base data-default enclosed-exceptions http-types lens mtl
+         persistent resource-pool scotty stm text transformers wai warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/echaozh/scottish";
+       description = "scotty with batteries included";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scotty" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring
+     , case-insensitive, data-default, hspec, hspec-wai, http-types
+     , lifted-base, monad-control, mtl, regex-compat, text, transformers
+     , transformers-base, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "scotty";
+       version = "0.9.1";
+       revision = "1";
+       sha256 = "0w07ghnd7l8ibfbl8p74lwn8gxy3z28mp0rlv5crma3yh42irsqm";
+       editedCabalFile = "5a0fefbeb7107a096658d4f0743084bd26e9b0c84853fd560715b0aa46c5802a";
+       buildDepends = [
+         aeson base blaze-builder bytestring case-insensitive data-default
+         http-types monad-control mtl regex-compat text transformers
+         transformers-base wai wai-extra warp
+       ];
+       testDepends = [
+         base bytestring hspec hspec-wai http-types lifted-base text wai
+       ];
+       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;
+     }) {};
+
+  "scotty-binding-play" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, http-client, HUnit, mtl
+     , scotty, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "scotty-binding-play";
+       version = "1.3";
+       sha256 = "0k9ylywhvb4nfnm304zlan0bzdx8rxcwnvip8assz80kz47zvjp9";
+       buildDepends = [
+         base bytestring mtl scotty template-haskell text
+       ];
+       testDepends = [
+         base bytestring hspec http-client HUnit scotty text transformers
+       ];
+       homepage = "https://github.com/welmo/scotty-binding-play";
+       description = "The Play Framework style data binding in Scotty";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scotty-blaze" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, mtl, scotty, wai
+     }:
+     mkDerivation {
+       pname = "scotty-blaze";
+       version = "0.1.3";
+       sha256 = "0bl37bplal6y6ma0ba8llypsrx11959vcq04s8x6642hzk0cgid7";
+       buildDepends = [ base blaze-builder blaze-html mtl scotty wai ];
+       description = "blaze-html integration for Scotty";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scotty-cookie" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , cookie, scotty, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "scotty-cookie";
+       version = "0.1.0.3";
+       sha256 = "0wyvx30889lbbgq7dmjfldlbnyg1b8b3zh1py5lis59mwz6r3w9l";
+       buildDepends = [
+         base blaze-builder bytestring containers cookie scotty text time
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/wniare/scotty-cookie";
+       description = "Cookie management helper functions for Scotty framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scotty-fay" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, directory, fay
+     , fay-jquery, filepath, http-types, HUnit, scotty, test-framework
+     , test-framework-hunit, text, transformers, wai, wai-test
+     }:
+     mkDerivation {
+       pname = "scotty-fay";
+       version = "0.1.1";
+       sha256 = "13ksxw2v6gac3r368ifnbrrgmmafr2fyki63ws4qxw415fwnqa82";
+       buildDepends = [
+         base bytestring data-default directory fay fay-jquery filepath
+         http-types scotty text transformers wai
+       ];
+       testDepends = [
+         base bytestring data-default directory fay fay-jquery filepath
+         http-types HUnit scotty test-framework test-framework-hunit text
+         transformers wai wai-test
+       ];
+       jailbreak = true;
+       description = "Fay integration for Scotty";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scotty-hastache" = callPackage
+    ({ mkDerivation, base, containers, filepath, hastache, http-types
+     , mtl, scotty, text, wai, warp
+     }:
+     mkDerivation {
+       pname = "scotty-hastache";
+       version = "0.2.1";
+       sha256 = "1yyip8iq1n71iidmpbfs7rifxvpphyrcaf4z394rx36hq72ka8dn";
+       buildDepends = [
+         base containers filepath hastache http-types mtl scotty text wai
+         warp
+       ];
+       homepage = "https://github.com/scotty-web/scotty-hastache";
+       description = "Easy Mustache templating support for Scotty";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scotty-session" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
+     , crypto-api, http-types, old-locale, scotty, stm, text, time
+     , transformers, unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "scotty-session";
+       version = "0.0.4";
+       sha256 = "0dacj58d78alfpqfn8ibnwxqk1yddf5y14sh1csqqnhra8k2pn4j";
+       buildDepends = [
+         base base64-bytestring blaze-builder bytestring crypto-api
+         http-types old-locale scotty stm text time transformers
+         unordered-containers wai
+       ];
+       homepage = "https://github.com/agrafix/scotty-session";
+       description = "Adding session functionality to scotty";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scotty-tls" = callPackage
+    ({ mkDerivation, base, scotty, transformers, wai, warp, warp-tls }:
+     mkDerivation {
+       pname = "scotty-tls";
+       version = "0.3.0.0";
+       sha256 = "11zpbqrfmjyl8kck1za0pvf1b1gn0ih3an8vq85si22414bs5j23";
+       buildDepends = [ base scotty transformers wai warp warp-tls ];
+       homepage = "https://github.com/dmjio/scotty-tls.git";
+       description = "TLS for Scotty";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scp-streams" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cmdargs, io-streams
+     , process, SHA, sha-streams, unix
+     }:
+     mkDerivation {
+       pname = "scp-streams";
+       version = "0.1.0";
+       sha256 = "1wi860cl9dsq6hfhyas3dk0gcjyd8hx62k3fjwgr5x56ps5fp6ry";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cmdargs io-streams process SHA
+         sha-streams unix
+       ];
+       testDepends = [ base bytestring io-streams ];
+       jailbreak = true;
+       homepage = "https://github.com/noteed/scp-streams";
+       description = "An SCP protocol implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scrabble-bot" = callPackage
+    ({ mkDerivation, array, base, binary, containers, deepseq
+     , directory, mtl, packed-dawg, parallel, split
+     }:
+     mkDerivation {
+       pname = "scrabble-bot";
+       version = "0.1.0.0";
+       sha256 = "035jpwp58l70jd0dklx5rg0sm8b2bd5r1m726dbhhlv60w6bdfn3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary containers deepseq directory mtl packed-dawg
+         parallel split
+       ];
+       jailbreak = true;
+       description = "Scrabble play generation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scrobble" = callPackage
+    ({ mkDerivation, base, containers, curl, MissingH, network
+     , network-uri, old-locale, pureMD5, time, url
+     }:
+     mkDerivation {
+       pname = "scrobble";
+       version = "0.2.1.1";
+       sha256 = "161l75bni4fxmh35dfz8r2vgllmmf0s55j9y2xpyskqfj3xc85a7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers curl MissingH network network-uri old-locale
+         pureMD5 time url
+       ];
+       description = "Scrobbling server";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scroll" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , data-default, IfElse, monad-loops, mtl, ncurses
+     , optparse-applicative, random, text, unix, vector
+     }:
+     mkDerivation {
+       pname = "scroll";
+       version = "1.20150323";
+       sha256 = "06nzvvqn592jgf93zck74w1nhzjq0llzypsy7x575ljvprb3ph0d";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring case-insensitive containers data-default IfElse
+         monad-loops mtl ncurses optparse-applicative random text unix
+         vector
+       ];
+       homepage = "https://joeyh.name/code/scroll/";
+       description = "scroll(6), a roguelike game";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "scrypt" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, entropy
+     , HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "scrypt";
+       version = "0.5.0";
+       sha256 = "1cnrjdq1ncv224dlk236a7w29na8r019d2acrsxlsaiy74iadh1y";
+       buildDepends = [ base base64-bytestring bytestring entropy ];
+       testDepends = [
+         base bytestring HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/informatikr/scrypt";
+       description = "Stronger password hashing via sequential memory-hard functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "scrz" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
+     , conduit, containers, cryptohash, directory, filepath
+     , friendly-time, hashable, http-conduit, http-types, MonadRandom
+     , mtl, network, old-locale, process, random, stm, template-haskell
+     , text, time, unix
+     }:
+     mkDerivation {
+       pname = "scrz";
+       version = "0.0.0.1";
+       sha256 = "1j5mvvrk1647qfqdl4q6ywnx7l9bgnqp6rsjr1l8bynikfm0ghcg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base16-bytestring bytestring conduit containers
+         cryptohash directory filepath friendly-time hashable http-conduit
+         http-types MonadRandom mtl network old-locale process random stm
+         template-haskell text time unix
+       ];
+       homepage = "http://github.com/wereHamster/scrz";
+       description = "Process management and supervision daemon";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "scyther-proof" = callPackage
+    ({ mkDerivation, alex, array, base, cmdargs, containers, directory
+     , filepath, json, mtl, parsec, pretty, process, safe, tagsoup, time
+     , uniplate, utf8-string
+     }:
+     mkDerivation {
+       pname = "scyther-proof";
+       version = "0.10.0.0";
+       sha256 = "1mzv56d1v4r0024azz7s1yfxpdq53yf6231657y9hnc5z1ybsig3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base cmdargs containers directory filepath json mtl parsec
+         pretty process safe tagsoup time uniplate utf8-string
+       ];
+       buildTools = [ alex ];
+       jailbreak = true;
+       description = "Automatic generation of Isabelle/HOL correctness proofs for security protocols";
+       license = "GPL";
+     }) {};
+
+  "sde-solver" = callPackage
+    ({ mkDerivation, base, cereal, cereal-vector, ghc-prim, haskell-mpi
+     , mersenne-random-pure64, mtl, mwc-random, normaldistribution
+     , parallel, vector
+     }:
+     mkDerivation {
+       pname = "sde-solver";
+       version = "0.1.0.0";
+       sha256 = "0sp12fcf1h4qs0l5iblf3kl6nv1sb4ff49p2ybmrx7jifiwqxma6";
+       buildDepends = [
+         base cereal cereal-vector ghc-prim haskell-mpi
+         mersenne-random-pure64 mtl mwc-random normaldistribution parallel
+         vector
+       ];
+       homepage = "https://github.com/davnils/sde-solver";
+       description = "Distributed SDE solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sdf2p1-parser" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, HUnit, parsec
+     , test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "sdf2p1-parser";
+       version = "0.1.1";
+       sha256 = "1az42i4ridb4xza6zyg2mrsfv7gjp61727cmnfcy5x5b55nl3ahz";
+       buildDepends = [ base bytestring parsec transformers ];
+       testDepends = [
+         base bytestring Cabal HUnit parsec test-framework
+         test-framework-hunit transformers
+       ];
+       homepage = "https://github.com/kojung/sdf2p1-parser";
+       description = "A parser for SDF version 2.1 using Parsec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "sdl2" = callPackage
+    ({ mkDerivation, base, SDL2, transformers }:
+     mkDerivation {
+       pname = "sdl2";
+       version = "1.3.0";
+       sha256 = "0fi9kjf12qlp64r2pxwc1k9241s23j6xm0dmwdsc18y8f6acvqxa";
+       buildDepends = [ base transformers ];
+       extraLibraries = [ SDL2 ];
+       pkgconfigDepends = [ SDL2 ];
+       description = "Low-level bindings to SDL2";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) SDL2;};
+
+  "sdl2-image" = callPackage
+    ({ mkDerivation, base, SDL2, sdl2, SDL2_image }:
+     mkDerivation {
+       pname = "sdl2-image";
+       version = "0.1.1.0";
+       sha256 = "1rxkb4fl3350vxzwvsj25a1m8s7s179anaal33kq3q3kn0jfa72i";
+       buildDepends = [ base sdl2 ];
+       extraLibraries = [ SDL2 ];
+       pkgconfigDepends = [ SDL2 SDL2_image ];
+       jailbreak = true;
+       description = "Haskell binding to sdl2-image";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL2;  inherit (pkgs) SDL2_image;};
+
+  "sdl2-ttf" = callPackage
+    ({ mkDerivation, base, SDL2, sdl2, SDL2_ttf }:
+     mkDerivation {
+       pname = "sdl2-ttf";
+       version = "0.2.0";
+       revision = "1";
+       sha256 = "0ikdkzzzh3wwzypas5bd6wcm17cckxj2qyqkw6y76v0k2kpnzc35";
+       editedCabalFile = "25cb57affc8ad5bb0ff533037512a39803f4fcd961cb2aca3632f0ab7dc2540b";
+       buildDepends = [ base sdl2 ];
+       testDepends = [ base sdl2 ];
+       extraLibraries = [ SDL2 SDL2_ttf ];
+       description = "Binding to libSDL2-ttf";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) SDL2;  inherit (pkgs) SDL2_ttf;};
+
+  "sdnv" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "sdnv";
+       version = "0.1.0.0";
+       sha256 = "07d7989v4a8dz5jqrhz56ki9wkngaf1d0153271lylj015y00rmc";
+       buildDepends = [ base binary bytestring ];
+       description = "Self-delimiting numeric values encoding library";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "seacat" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, bytestring
+     , ConfigFile, data-default, directory, filepath, http-types
+     , mime-types, MissingH, monad-control, mtl, network, persistent
+     , persistent-postgresql, persistent-sqlite, persistent-template
+     , text, time, transformers, wai, wai-extra, wai-middleware-static
+     , warp, web-routes, web-routes-wai
+     }:
+     mkDerivation {
+       pname = "seacat";
+       version = "1.0.0.3";
+       sha256 = "0iyl7mp0vpxy4kqr7qqqz642zxpla3ydlbdzmw4ipjmg5gwjr7pm";
+       buildDepends = [
+         base blaze-builder blaze-html bytestring ConfigFile data-default
+         directory filepath http-types mime-types MissingH monad-control mtl
+         network persistent persistent-postgresql persistent-sqlite
+         persistent-template text time transformers wai wai-extra
+         wai-middleware-static warp web-routes web-routes-wai
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Barrucadu/lambdadelta";
+       description = "Small web framework using Warp and WAI";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "seal-module" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "seal-module";
+       version = "0.1.0.1";
+       sha256 = "0x2m280qbfaswr2gk26d26dwg2s3v1nk4n93zh2fh1ikpkw13dfq";
+       buildDepends = [ base template-haskell ];
+       description = "Template Haskell support for global configuration data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "search" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, ghc-prim
+     , profunctors, semigroupoids, tagged, transformers
+     }:
+     mkDerivation {
+       pname = "search";
+       version = "0.1.0.1";
+       sha256 = "0w9pfyw33zrfjy70bwslbgyns1jswshzxcz71cgbfl4q5hjbmvkw";
+       buildDepends = [
+         base ghc-prim profunctors semigroupoids tagged transformers
+       ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/search/";
+       description = "Infinite search in finite time with Hilbert's epsilon";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sec" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "sec";
+       version = "0.0.1";
+       sha256 = "1ryl0nm1a37r606xhxy6ykf3c8c1gml6gdqna428w8y3a2vg5q2v";
+       buildDepends = [ base template-haskell ];
+       jailbreak = true;
+       homepage = "http://github.com/urso/sec";
+       description = "Semantic Editor Combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "secdh" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "secdh";
+       version = "0.2";
+       sha256 = "0qrb2g7dfhh2m3hwp39xlimbc3kinww279a58pah738gqnhmayrs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "http://github.com/pgavin/secdh";
+       description = "SECDH Machine Simulator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "seclib" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "seclib";
+       version = "1.1.0.2";
+       sha256 = "0jbgdd3mh126c3n0sblvd7rbcnnzrfyfajrj9xcsj7zi7jqvs8nw";
+       buildDepends = [ base ];
+       description = "A simple library for static information-flow security in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "second-transfer" = callPackage
+    ({ mkDerivation, base, base16-bytestring, binary, bytestring
+     , conduit, containers, hashable, hashtables, hslogger, http2, lens
+     , network, network-uri, openssl, text, transformers
+     }:
+     mkDerivation {
+       pname = "second-transfer";
+       version = "0.1.0.0";
+       sha256 = "0y6wjni3sj0mkjwc6mbx9majc91aw51vwyqki603dggjfbp78b0x";
+       buildDepends = [
+         base base16-bytestring binary bytestring conduit containers
+         hashable hashtables hslogger http2 lens network network-uri text
+         transformers
+       ];
+       testDepends = [ base conduit ];
+       extraLibraries = [ openssl ];
+       jailbreak = true;
+       homepage = "www.zunzun.se";
+       description = "Second Transfer HTTP/2 web server";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) openssl;};
+
+  "secret-santa" = callPackage
+    ({ mkDerivation, base, containers, diagrams-cairo, diagrams-lib
+     , haskell-qrencode, random
+     }:
+     mkDerivation {
+       pname = "secret-santa";
+       version = "0.1.0.0";
+       sha256 = "0qrc1jk2hhhhq0cq9h9g8pc2frjsb1m96h6sdj79m7km5dc2slm8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers diagrams-cairo diagrams-lib haskell-qrencode random
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/rodrigosetti/secret-santa";
+       description = "Secret Santa game assigner using QR-Codes";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "secret-sharing" = callPackage
+    ({ mkDerivation, base, binary, bytestring, dice-entropy-conduit
+     , finite-field, polynomial, QuickCheck, test-framework
+     , test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "secret-sharing";
+       version = "1.0.0.3";
+       sha256 = "0q315gmfnhpzgi4r0p3li8vvrdl2a0xgh0gxdin6s3nkh6hjpbv2";
+       buildDepends = [
+         base binary bytestring dice-entropy-conduit finite-field polynomial
+         vector
+       ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://monoid.at/code";
+       description = "Information-theoretic secure secret sharing";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "secrm" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "secrm";
+       version = "0.0";
+       sha256 = "0hcf8mxl1br27764ha0gdf7jdl7zlxknbspqijw0jr6ws7hshxg9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 ];
+       jailbreak = true;
+       description = "Example of writing \"secure\" file removal in Haskell rather than C";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "secure-sockets" = callPackage
+    ({ mkDerivation, base, bytestring, directory, HsOpenSSL, network
+     , process, transformers
+     }:
+     mkDerivation {
+       pname = "secure-sockets";
+       version = "1.2.9.2";
+       sha256 = "0ijizi76fzqamynwhyd3ppzy90bfvypmzbjr0v63ng2w0mwnrjlz";
+       buildDepends = [
+         base bytestring directory HsOpenSSL network process transformers
+       ];
+       homepage = "http://code.google.com/p/secure-hs/";
+       description = "Secure point-to-point connectivity library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "securemem" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, ghc-prim }:
+     mkDerivation {
+       pname = "securemem";
+       version = "0.1.7";
+       sha256 = "14mmis2y9xf3jzmf6s6g7g8ixgbrx99x0b422zv4ix3vpx2lj57r";
+       buildDepends = [ base byteable bytestring ghc-prim ];
+       homepage = "http://github.com/vincenthz/hs-securemem";
+       description = "abstraction to an auto scrubbing and const time eq, memory chunk";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sednaDBXML" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, containers
+     , iteratee, mtl, sedna, text
+     }:
+     mkDerivation {
+       pname = "sednaDBXML";
+       version = "0.1.2.5";
+       sha256 = "068yl4z0wb5kr7a7c7haah3z391mjqdzgxh5rg68rrjgvf7dczky";
+       buildDepends = [
+         base bindings-DSL bytestring containers iteratee mtl text
+       ];
+       extraLibraries = [ sedna ];
+       description = "Sedna C API XML Binding";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { sedna = null;};
+
+  "select" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "select";
+       version = "0.4.0.1";
+       sha256 = "180cj5m0bap1lb19s68icpn1dvk2s395cmlcc6dnwz3mpbj5alj0";
+       buildDepends = [ base ];
+       homepage = "http://nonempty.org/software/haskell-select";
+       description = "Wrap the select(2) POSIX function";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "selectors" = callPackage
+    ({ mkDerivation, alex, array, base, containers, happy
+     , template-haskell, text, xml-conduit
+     }:
+     mkDerivation {
+       pname = "selectors";
+       version = "0.0.3.0";
+       sha256 = "1chs2d1j58y4r01231hh50gr4h0wnwsg9mardzq8ybqc6z6l32pr";
+       buildDepends = [
+         array base containers template-haskell text xml-conduit
+       ];
+       buildTools = [ alex happy ];
+       homepage = "http://github.com/rcallahan/selectors";
+       description = "CSS Selectors for DOM traversal";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "selenium" = callPackage
+    ({ mkDerivation, base, HTTP, HUnit, mtl, network, pretty }:
+     mkDerivation {
+       pname = "selenium";
+       version = "0.2.5";
+       sha256 = "0vr3d891pj947lv2grgbc83nm828gz9bbz6dp8mnf9bsji3ih7l7";
+       buildDepends = [ base HTTP HUnit mtl network pretty ];
+       description = "Test web applications through a browser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "selenium-server" = callPackage
+    ({ mkDerivation, base, conduit, directory, filepath, hspec
+     , http-conduit, http-conduit-downloader, network, process, random
+     , regex-tdfa, text, utf8-string, webdriver
+     }:
+     mkDerivation {
+       pname = "selenium-server";
+       version = "0.1.0.0";
+       sha256 = "13bqzhia3z35174hzf2ipl4ga62mcvh7whvhwj5b8rsazgi259qf";
+       buildDepends = [
+         base conduit directory filepath http-conduit
+         http-conduit-downloader network process random regex-tdfa
+         utf8-string
+       ];
+       testDepends = [ base hspec text webdriver ];
+       jailbreak = true;
+       homepage = "https://github.com/joelteon/selenium-server.git";
+       description = "Run the selenium standalone server for usage with webdriver";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "selfrestart" = callPackage
+    ({ mkDerivation, base, directory, executable-path, unix }:
+     mkDerivation {
+       pname = "selfrestart";
+       version = "0.1.0";
+       sha256 = "100a427r8xjfv7fsh7khj3db9klqwnalfy33w23khxqp7k1bkq3n";
+       buildDepends = [ base directory executable-path unix ];
+       homepage = "https://github.com/nh2/selfrestart";
+       description = "Restarts the current executable (on binary change)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "selinux" = callPackage
+    ({ mkDerivation, base, selinux, unix }:
+     mkDerivation {
+       pname = "selinux";
+       version = "0.1.1";
+       sha256 = "1r0lwah32y3cza5jnihzwkl4wdk23qh7sgw6yzcajq7rjnzrf8qw";
+       buildDepends = [ base unix ];
+       extraLibraries = [ selinux ];
+       homepage = "https://github.com/luite/selinux";
+       description = "SELinux bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { selinux = null;};
+
+  "semaphore-plus" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "semaphore-plus";
+       version = "0.1";
+       sha256 = "1349pzjs91xayx4dib520037mmgh4lvyc0wjx8h8yf492dvfbdkr";
+       buildDepends = [ base ];
+       description = "Various concurrency abstractions built on top of semaphores";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "semi-iso" = callPackage
+    ({ mkDerivation, base, lens, profunctors, semigroupoids
+     , transformers, tuple-morph
+     }:
+     mkDerivation {
+       pname = "semi-iso";
+       version = "1.0.0.0";
+       sha256 = "09hcg6hkyd4bnk0586gk4dzc76g64sx37jg0pz3jq87lrq8dzm5g";
+       buildDepends = [
+         base lens profunctors semigroupoids transformers tuple-morph
+       ];
+       description = "Weakened partial isomorphisms, reversible computations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "semigroupoid-extras" = callPackage
+    ({ mkDerivation, base, semigroupoids }:
+     mkDerivation {
+       pname = "semigroupoid-extras";
+       version = "4.0";
+       sha256 = "07aa7z4nywcrp9msq83b1pcmryl25yxha89sn5vwlgq40cibcm3g";
+       buildDepends = [ base semigroupoids ];
+       homepage = "http://github.com/ekmett/semigroupoid-extras";
+       description = "This package has been absorbed into semigroupoids 4.0";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "semigroupoids" = callPackage
+    ({ mkDerivation, base, comonad, containers, contravariant
+     , distributive, doctest, Glob, semigroups, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "semigroupoids";
+       version = "4.3";
+       revision = "1";
+       sha256 = "1qn0rffc1zskk6f34pxrp96iarxgp36l2404rs6sz9khl1hh58sf";
+       editedCabalFile = "564644e3fb93fa01f5c45772256a980baa07275a763f1015859816942ab210b3";
+       buildDepends = [
+         base comonad containers contravariant distributive semigroups
+         transformers transformers-compat
+       ];
+       testDepends = [ base doctest Glob ];
+       homepage = "http://github.com/ekmett/semigroupoids";
+       description = "Semigroupoids: Category sans id";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "semigroupoids-syntax" = callPackage
+    ({ mkDerivation, base, comonad, containers, contravariant
+     , directory, distributive, doctest, filepath, QuickCheck
+     , semigroupoids, semigroups, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "semigroupoids-syntax";
+       version = "0.0.1";
+       sha256 = "1r3byywgbcn82dq9xw4k9m5lgmhsgj02rxwmkrp4jwrjaax8v4zh";
+       buildDepends = [
+         base comonad containers contravariant distributive semigroupoids
+         semigroups transformers
+       ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/NICTA/semigroupoids-syntax";
+       description = "RebindableSyntax using the semigroupoids package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "semigroups" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, hashable
+     , nats, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "semigroups";
+       version = "0.16.2.2";
+       sha256 = "0mzdv05yhrvnib62mwfwwj66fmyzs3axm0y5sn374ig2r113wzni";
+       buildDepends = [
+         base bytestring containers deepseq hashable nats text
+         unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/semigroups/";
+       description = "Anything that associates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "semigroups-actions" = callPackage
+    ({ mkDerivation, base, containers, semigroups }:
+     mkDerivation {
+       pname = "semigroups-actions";
+       version = "0.1";
+       sha256 = "0vns2vdchszw34i12s9rfl4cm76ympfrivpb397j2vzg2i7bghqb";
+       buildDepends = [ base containers semigroups ];
+       jailbreak = true;
+       homepage = "http://github.com/ppetr/semigroups-actions/";
+       description = "Semigroups actions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "semiring" = callPackage
+    ({ mkDerivation, base, Boolean, containers, HUnit, monoids
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "semiring";
+       version = "0.3";
+       sha256 = "1b56y5a45fha07rbqqjl6f5i2bw9pji97pagyjcn9bprzqfbiymy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Boolean containers HUnit monoids QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/srush/SemiRings/tree/master";
+       description = "Semirings, ring-like structures used for dynamic programming applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "semiring-simple" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "semiring-simple";
+       version = "0.2.1.0";
+       sha256 = "074wp8bn6jhx8jjp78dzjpy9bdwc2i1a1sp6qkqj689zvrhwfman";
+       buildDepends = [ base ];
+       description = "A module for dealing with semirings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "semver" = callPackage
+    ({ mkDerivation, attoparsec, base, deepseq, tasty, tasty-hunit
+     , text
+     }:
+     mkDerivation {
+       pname = "semver";
+       version = "0.3.3.1";
+       sha256 = "1cf8dcxq4s479f826drncqc4hd07hv330zsipkrn0vc30sbkdlrn";
+       buildDepends = [ attoparsec base deepseq text ];
+       testDepends = [ base tasty tasty-hunit text ];
+       homepage = "https://github.com/brendanhay/semver";
+       description = "Representation, manipulation, and de/serialisation of Semantic Versions";
+       license = "unknown";
+     }) {};
+
+  "sendfile" = callPackage
+    ({ mkDerivation, base, bytestring, network }:
+     mkDerivation {
+       pname = "sendfile";
+       version = "0.7.9";
+       sha256 = "0hnw1ym81cff49dwww19kgbs4s0kpandbvn6h5cml3y0p1nxybqh";
+       buildDepends = [ base bytestring network ];
+       homepage = "http://hub.darcs.net/stepcut/sendfile";
+       description = "A portable sendfile library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sensenet" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, process, stm
+     , zeromq3-haskell
+     }:
+     mkDerivation {
+       pname = "sensenet";
+       version = "0.1.0.0";
+       sha256 = "1yzh1ngfddybxwqybvdg7l5lgg85kmhqhdl3mzsnndvz2labphp1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers process stm zeromq3-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/rossdylan/sensenet";
+       description = "Distributed sensor network for the raspberry pi";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sentry" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cereal, cmdargs
+     , directory, filepath, old-locale, old-time, process, safecopy
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "sentry";
+       version = "0.1.0";
+       sha256 = "1kv4ldms739x4b2fbs6hjwy8bssrwv0kavn4jqdc2svzlfqxqsqx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring cereal cmdargs directory filepath
+         old-locale old-time process safecopy time unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/noteed/sentry";
+       description = "Process monitoring tool written and configured in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "senza" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "senza";
+       version = "0.1";
+       sha256 = "0pl7dcs9w4dzzajlfnkrjl5kgsx8zdzzl5hvikh9v9djsmw2290h";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "separated" = callPackage
+    ({ mkDerivation, base, bifunctors, directory, doctest, filepath
+     , lens, QuickCheck, semigroupoids, semigroups, template-haskell
+     }:
+     mkDerivation {
+       pname = "separated";
+       version = "0.1.0";
+       sha256 = "18kb9c6l0ikhzy3kiw4pg5b7vcm42hhbkp693qyygpr74hzpi2h2";
+       buildDepends = [ base bifunctors lens semigroupoids semigroups ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/tonymorris/separated";
+       description = "A data type with elements separated by values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "seqaid" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, cpphs
+     , deepseq-bounded, directory, exceptions, filepath, ghc, ghc-paths
+     , mtl, process, regex-base, regex-pcre, syb, template-haskell
+     , temporary, transformers
+     }:
+     mkDerivation {
+       pname = "seqaid";
+       version = "0.4.0.0";
+       sha256 = "0kmzzxk1z10lqjawl0yqbv1n35b0bx41ikgiqii202m73khbg9qn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers cpphs deepseq-bounded directory
+         exceptions filepath ghc ghc-paths mtl process regex-base regex-pcre
+         syb template-haskell temporary transformers
+       ];
+       jailbreak = true;
+       homepage = "http://fremissant.net/seqaid";
+       description = "Dynamic strictness control, including space leak repair";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "seqid_0_1_0" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "seqid";
+       version = "0.1.0";
+       sha256 = "0q5vs8kravhiq906rrzi5iw5837bb8s6fibycgdracyfwrzvxly0";
+       buildDepends = [ base transformers ];
+       jailbreak = true;
+       description = "Sequence ID production and consumption";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "seqid" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "seqid";
+       version = "0.3.2";
+       sha256 = "03xyvjflas8sfnsxzpcnm0k3kf8x72y9hwfayxn8zn3gjmwl3b3y";
+       buildDepends = [ base transformers ];
+       jailbreak = true;
+       description = "Sequence ID production and consumption";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "seqid-streams_0_1_0" = callPackage
+    ({ mkDerivation, base, io-streams, seqid }:
+     mkDerivation {
+       pname = "seqid-streams";
+       version = "0.1.0";
+       sha256 = "13g0c76lyl3b4qdznpyr2a3szjb1dch2bsvgyv68br94045fk6d2";
+       buildDepends = [ base io-streams seqid ];
+       jailbreak = true;
+       description = "Sequence ID IO-Streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "seqid-streams" = callPackage
+    ({ mkDerivation, base, io-streams, seqid }:
+     mkDerivation {
+       pname = "seqid-streams";
+       version = "0.3.2";
+       sha256 = "0v2d5125zyldr7f50zdhvgm1wcp7zbrnas9i2chqsq3s17qkrkm5";
+       buildDepends = [ base io-streams seqid ];
+       description = "Sequence ID IO-Streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "seqloc" = callPackage
+    ({ mkDerivation, attoparsec, base, biocore, bytestring, hashable
+     , QuickCheck, random, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "seqloc";
+       version = "0.6.1.1";
+       sha256 = "1hsm9y6q0g7ixnqj562a33lmyka4k7f778fndcmn25v4m1myfda4";
+       buildDepends = [
+         attoparsec base biocore bytestring hashable unordered-containers
+         vector
+       ];
+       testDepends = [
+         attoparsec base biocore bytestring hashable QuickCheck random
+         unordered-containers vector
+       ];
+       homepage = "http://www.ingolia-lab.org/seqloc-tutorial.html";
+       description = "Handle sequence locations for bioinformatics";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "seqloc-datafiles" = callPackage
+    ({ mkDerivation, attoparsec, base, biocore, bytestring, cmdtheline
+     , conduit, conduit-extra, directory, filepath, hashable, iteratee
+     , lifted-base, monads-tf, pretty, process, QuickCheck, random
+     , resourcet, seqloc, transformers, transformers-base
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "seqloc-datafiles";
+       version = "0.4.2";
+       sha256 = "175nifix2vax5xsinz604mm3nid7krh5a9d7gqpy02wh4f5qdrja";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base biocore bytestring cmdtheline conduit conduit-extra
+         filepath hashable iteratee lifted-base monads-tf pretty QuickCheck
+         random resourcet seqloc transformers transformers-base
+         unordered-containers vector
+       ];
+       testDepends = [
+         attoparsec base biocore bytestring conduit conduit-extra directory
+         hashable iteratee lifted-base process QuickCheck random seqloc
+         transformers transformers-base unordered-containers vector
+       ];
+       homepage = "http://www.ingolia-lab.org/seqloc-datafiles-tutorial.html";
+       description = "Read and write BED and GTF format genome annotations";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sequence" = callPackage
+    ({ mkDerivation, base, containers, transformers }:
+     mkDerivation {
+       pname = "sequence";
+       version = "0.9.6";
+       sha256 = "0qn224369bwmdcq3z1j8rpcw4mcvgyh1sp427dx0yncp9d0srqcs";
+       buildDepends = [ base containers transformers ];
+       homepage = "https://github.com/atzeus/sequence";
+       description = "A type class for sequences and various sequence data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sequent-core" = callPackage
+    ({ mkDerivation, base, containers, ghc, transformers }:
+     mkDerivation {
+       pname = "sequent-core";
+       version = "0.3";
+       sha256 = "1f5s9aikfsff46x4xf4s9vsc36yhbnbvhf7yhvnl5z9sms52yjiw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ghc transformers ];
+       homepage = "https://github.com/lukemaurer/sequent-core";
+       description = "Alternative Core language for GHC plugins";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sequential-index" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "sequential-index";
+       version = "0.2.0.1";
+       sha256 = "0vd7nrkx59vsxrhpb46kgzbvz7v830wh5zx3vg9494wvski983y6";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/aristidb/sequential-index";
+       description = "Sequential numbers that allow arbitrarily inserting numbers - for containers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sequor" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers, mtl
+     , nlp-scores, pretty, split, text, vector
+     }:
+     mkDerivation {
+       pname = "sequor";
+       version = "0.7.2";
+       sha256 = "1m41yk7bgazl9g30im8qvnvzjh4f4kvrd6jhk1wz2r31xxlxp7ms";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers mtl nlp-scores pretty split
+         text vector
+       ];
+       homepage = "https://bitbucket.org/gchrupala/sequor";
+       description = "A sequence labeler based on Collins's sequence perceptron";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "serf" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base, conduit, mtl
+     , operational, process, resourcet, text
+     }:
+     mkDerivation {
+       pname = "serf";
+       version = "0.1.0.0";
+       sha256 = "18ddr4pkr1zld49x6k3lcbrv9916s9r1mxfsi9nfrv7lbvrjmj3v";
+       buildDepends = [
+         attoparsec attoparsec-conduit base conduit mtl operational process
+         resourcet text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/sanetracker/serf";
+       description = "Interact with Serf via Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "serial" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "serial";
+       version = "0.2.6";
+       sha256 = "17z0pkc0nz3hf9s68spbb6ijcx6b2dw4y50cavf5110aav59kik1";
+       buildDepends = [ base unix ];
+       jailbreak = true;
+       description = "POSIX serial port wrapper";
+       license = "LGPL";
+     }) {};
+
+  "serial-test-generators" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, cereal, here
+     , hspec, QuickCheck, system-fileio, transformers
+     }:
+     mkDerivation {
+       pname = "serial-test-generators";
+       version = "0.1.3";
+       sha256 = "0crivy8j3jnlm2vpbvfqgvmr6afwyg3lkzaj7jl0j6vgvq16xyas";
+       buildDepends = [ aeson base binary bytestring cereal here ];
+       testDepends = [
+         aeson base binary bytestring cereal here hspec QuickCheck
+         system-fileio transformers
+       ];
+       description = "Test your 'Aeson' 'Serialize' and 'Binary' instances for stability over time";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "serialport" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, unix }:
+     mkDerivation {
+       pname = "serialport";
+       version = "0.4.7";
+       sha256 = "1z2drw7ighyws72wqms015n5hy0zxbrphdca7ldn34pz28122z07";
+       buildDepends = [ base bytestring unix ];
+       testDepends = [ base bytestring HUnit ];
+       homepage = "https://github.com/jputcu/serialport";
+       description = "Cross platform serial port library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant" = callPackage
+    ({ mkDerivation, base, hspec, parsec, QuickCheck
+     , string-conversions, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "servant";
+       version = "0.2.2";
+       sha256 = "1pblmnarq1939d2krwbmd9ssm68ar9ip54dl28zjv2j51vhhhzhc";
+       buildDepends = [
+         base parsec string-conversions template-haskell text
+       ];
+       testDepends = [
+         base hspec parsec QuickCheck string-conversions text
+       ];
+       homepage = "http://haskell-servant.github.io/";
+       description = "A family of combinators for defining webservices APIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-client" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
+     , either, exceptions, hspec, http-client, http-client-tls
+     , http-types, network, network-uri, QuickCheck, safe, servant
+     , servant-server, string-conversions, text, transformers, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-client";
+       version = "0.2.2";
+       sha256 = "0b96aglic4aawdcpaxyv9k807kjfrr0a9kniqgj5nfcpgwglnp5r";
+       buildDepends = [
+         aeson attoparsec base bytestring either exceptions http-client
+         http-client-tls http-types network-uri safe servant
+         string-conversions text transformers
+       ];
+       testDepends = [
+         aeson base bytestring deepseq either hspec http-types network
+         QuickCheck servant servant-server wai warp
+       ];
+       homepage = "http://haskell-servant.github.io/";
+       description = "automatical derivation of querying functions for servant webservices";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-docs" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, hashable
+     , lens, servant, string-conversions, system-filepath, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "servant-docs";
+       version = "0.3.1";
+       sha256 = "1xbwi5ix5yanrcldc97dwim7s358g7hbr5pwk3r6azknwjzf5fd4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base bytestring hashable lens servant
+         string-conversions system-filepath text unordered-containers
+       ];
+       homepage = "http://haskell-servant.github.io/";
+       description = "generate API docs for your servant webservice";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-jquery" = callPackage
+    ({ mkDerivation, aeson, base, filepath, hspec, language-ecmascript
+     , lens, servant, servant-server, stm, transformers, warp
+     }:
+     mkDerivation {
+       pname = "servant-jquery";
+       version = "0.2.2.1";
+       sha256 = "0s3c85jpy630bfnzq0wlzv38bkr18cpw5lffn6wh8pjwshd5y8zi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base filepath lens servant servant-server stm transformers
+         warp
+       ];
+       testDepends = [ base hspec language-ecmascript servant ];
+       homepage = "http://haskell-servant.github.io/";
+       description = "Automatically derive (jquery) javascript functions to query servant webservices";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-pandoc" = callPackage
+    ({ mkDerivation, base, bytestring, pandoc-types, servant-docs, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "servant-pandoc";
+       version = "0.1.0.2";
+       sha256 = "0k7fb1ijnvicsrdddibcw1kzjfaq5s776znf6mrpwjgazidq6wfl";
+       buildDepends = [
+         base bytestring pandoc-types servant-docs text unordered-containers
+       ];
+       description = "Use Pandoc to render servant API documentation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "servant-pool" = callPackage
+    ({ mkDerivation, base, resource-pool, servant, time }:
+     mkDerivation {
+       pname = "servant-pool";
+       version = "0.1";
+       sha256 = "0if4lxb0fpdd4lnkz9j7z6vhjbrcc80pvz9jb6sdb9p6sbbgqf69";
+       buildDepends = [ base resource-pool servant time ];
+       homepage = "http://github.com/zalora/servant-pool";
+       description = "Utility functions for creating servant 'Context's with \"context/connection pooling\" support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "servant-postgresql" = callPackage
+    ({ mkDerivation, base, bytestring, postgresql-simple, servant
+     , servant-pool, servant-response
+     }:
+     mkDerivation {
+       pname = "servant-postgresql";
+       version = "0.1";
+       sha256 = "1svy1v6sl5pq0zs8ms4qf7wn6zar63bqmfiyfqgz84ryli0wxrhj";
+       buildDepends = [
+         base bytestring postgresql-simple servant servant-pool
+         servant-response
+       ];
+       homepage = "http://github.com/zalora/servant-postgresql";
+       description = "Useful functions and instances for using servant with a PostgreSQL context";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "servant-response" = callPackage
+    ({ mkDerivation, aeson, base, http-types, text }:
+     mkDerivation {
+       pname = "servant-response";
+       version = "0.1";
+       sha256 = "0vgzi6nm3f1vjbnvhzcr6v2fh75fsl18wsps54ya0mbmfn2v6chy";
+       buildDepends = [ aeson base http-types text ];
+       homepage = "http://github.com/zalora/servant";
+       description = "Machinery to express how servant should turn results of database operations into proper JSON-encodable response types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servant-scotty" = callPackage
+    ({ mkDerivation, aeson, base, http-types, scotty, servant
+     , servant-response, text, transformers
+     }:
+     mkDerivation {
+       pname = "servant-scotty";
+       version = "0.1.1";
+       sha256 = "0d3yc7aa2p1izizqnj81iscj9hbgbkpyav1ncmxzkr48svr6h783";
+       buildDepends = [
+         aeson base http-types scotty servant servant-response text
+         transformers
+       ];
+       homepage = "http://github.com/zalora/servant";
+       description = "Generate a web service for servant 'Resource's using scotty and JSON";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "servant-server" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, directory
+     , either, exceptions, hspec, hspec-wai, http-types, network
+     , network-uri, parsec, QuickCheck, safe, servant, split
+     , string-conversions, system-filepath, temporary, text
+     , transformers, wai, wai-app-static, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "servant-server";
+       version = "0.2.4";
+       sha256 = "11bds7zhkvqg9w27kb0dd792qvz8gjgkmkpbnijvwwzah5gmipi0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring either http-types network-uri safe
+         servant split string-conversions system-filepath text transformers
+         wai wai-app-static warp
+       ];
+       testDepends = [
+         aeson base bytestring directory either exceptions hspec hspec-wai
+         http-types network parsec QuickCheck servant string-conversions
+         temporary text transformers wai wai-extra warp
+       ];
+       homepage = "http://haskell-servant.github.io/";
+       description = "A family of combinators for defining webservices APIs and serving them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "servius" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, bytestring
+     , cmdargs, containers, directory, hamlet, http-types, mime-types
+     , shakespeare-css, text, transformers, wai, wai-app-static
+     , wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "servius";
+       version = "1.1.1.2";
+       sha256 = "02c570ghvrp0qw2s6k30548k619424p77bpi1mfh02yrv1a45jdk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder blaze-html bytestring cmdargs containers
+         directory hamlet http-types mime-types shakespeare-css text
+         transformers wai wai-app-static wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/yesodweb/hamlet";
+       description = "Serve Shakespearean templates via Warp (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ses-html" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-html, byteable
+     , bytestring, cryptohash, HsOpenSSL, http-streams, old-locale
+     , tagsoup, time
+     }:
+     mkDerivation {
+       pname = "ses-html";
+       version = "0.2.0.2";
+       sha256 = "0dfrhsn6scwid7ycnq4j21nkq64s59hkc05ygcg4qsf7vcizgs0d";
+       buildDepends = [
+         base base64-bytestring blaze-html byteable bytestring cryptohash
+         HsOpenSSL http-streams old-locale tagsoup time
+       ];
+       description = "Send HTML formatted emails using Amazon's SES REST API with blaze";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ses-html-snaplet" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, configurator
+     , ses-html, snap, text, transformers
+     }:
+     mkDerivation {
+       pname = "ses-html-snaplet";
+       version = "0.1.0.0";
+       sha256 = "1lrr321gk7djyzv9yb7x967d53azxflh4jkf9zlkpxh3p7rz6793";
+       buildDepends = [
+         base blaze-html bytestring configurator ses-html snap text
+         transformers
+       ];
+       description = "Snaplet for the ses-html package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sessions" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, mtl, network
+     }:
+     mkDerivation {
+       pname = "sessions";
+       version = "2008.7.18";
+       sha256 = "0zijfbakj3fh052b8nvaddg1xy87ysfbm3qnibisam93lx0agp2s";
+       buildDepends = [ base binary bytestring containers mtl network ];
+       homepage = "http://www.wellquite.org/sessions/";
+       description = "Session Types for Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "set-cover" = callPackage
+    ({ mkDerivation, base, containers, utility-ht }:
+     mkDerivation {
+       pname = "set-cover";
+       version = "0.0.4";
+       sha256 = "0323l2jnk5caa3wsxqxgsdkvnfs9llb4yh13c0rx55q0is8a203j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/set-cover/";
+       description = "Solve exact set cover problems like Sudoku, 8 Queens, Soma Cube, Tetris Cube";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "set-extra" = callPackage
+    ({ mkDerivation, base, containers, mtl, syb }:
+     mkDerivation {
+       pname = "set-extra";
+       version = "1.3.2";
+       sha256 = "0lyxz1mnslsq8crc0vnvygz8r5r3iqyl457sjvg2j6lnz132917p";
+       buildDepends = [ base containers mtl syb ];
+       homepage = "https://github.com/ddssff/set-extra";
+       description = "Functions that could be added to Data.Set.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "set-monad" = callPackage
+    ({ mkDerivation, base, containers, deepseq }:
+     mkDerivation {
+       pname = "set-monad";
+       version = "0.2.0.0";
+       sha256 = "1nxgn8d0qff4s66gcvfrnxjh0aq5q5jk0s453km28457qh946azb";
+       buildDepends = [ base containers deepseq ];
+       description = "Set monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "setdown" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, cmdargs, containers
+     , directory, filepath, happy, mtl, split, text, uuid
+     }:
+     mkDerivation {
+       pname = "setdown";
+       version = "0.1.0.1";
+       sha256 = "1007cb1p8ymnm39cbk423jfgzvdk7yip54yy3ydiiqwkfy2rxs5g";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring cmdargs containers directory filepath mtl
+         split text uuid
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "http://bitbucket.org/robertmassaioli/setdown";
+       description = "Treating files as sets to perform rapid set manipulation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "setenv" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "setenv";
+       version = "0.1.1.3";
+       revision = "1";
+       sha256 = "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73";
+       editedCabalFile = "c5916ac0d2a828473cd171261328a290afe0abd799db1ac8c310682fe778c45b";
+       buildDepends = [ base unix ];
+       description = "A cross-platform library for setting environment variables";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "setlocale" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "setlocale";
+       version = "1.0.0.2";
+       sha256 = "07yby0lz51b9pazh1abpgp1m86gxydkzky51ba04h771nschjj50";
+       buildDepends = [ base ];
+       description = "Haskell bindings to setlocale";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "setops" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "setops";
+       version = "0.1.2";
+       sha256 = "1mja48p8g9prfk53218qbv83ks6rs63s0n6jad0jgrj1221afpvg";
+       buildDepends = [ base containers ];
+       description = "Uniform names (and Unicode operators) for set operations on data structures";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "setters" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "setters";
+       version = "0.1";
+       sha256 = "0rw9m9f7cqi0kvjcq81b7qrn3v672d4w0ch1k377m1151vg20a2z";
+       buildDepends = [ base mtl template-haskell ];
+       description = "Small (TH) library to declare setters for typical `record' data type fields";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sexp" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cmdargs, containers
+     , dlist, ghc-prim, HUnit, mtl, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, vector
+     }:
+     mkDerivation {
+       pname = "sexp";
+       version = "0.7";
+       sha256 = "19blk6nzbsm9syx45zzlmqxq1mi2prv0jq12cf83b4kf4pvwk32n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cmdargs containers dlist ghc-prim mtl
+         vector
+       ];
+       testDepends = [
+         base bytestring containers HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/scvalex/sexp";
+       description = "S-Expression parsing/printing made fun and easy";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "sexp-show" = callPackage
+    ({ mkDerivation, base, pretty-show }:
+     mkDerivation {
+       pname = "sexp-show";
+       version = "0.1.1.0";
+       revision = "1";
+       sha256 = "1ip1y1y2z2d6ib3ihq18j93081cp2lkwjm27bc0d0ihixd154gy5";
+       editedCabalFile = "314f05a4542c657517d485faa31ec23324458782cf0112acda948fb7092a154c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base pretty-show ];
+       description = "Produce a s-expression representation of Show values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sexpr" = callPackage
+    ({ mkDerivation, base, base64-string, binary, bytestring, pretty
+     , QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "sexpr";
+       version = "0.2.1";
+       sha256 = "1ffs5r065zkipsa3y4v14if45fqjbzgksj3r40qci453kc3xq93p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-string binary bytestring pretty QuickCheck random
+       ];
+       description = "S-expression printer and parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sext" = callPackage
+    ({ mkDerivation, base, bytestring, template-haskell }:
+     mkDerivation {
+       pname = "sext";
+       version = "0.1.0.0";
+       sha256 = "0vq7fbm8gm7fym9qjaxsy2mk89rn2pjfkbhv3ym94xslcybwrwpy";
+       buildDepends = [ base bytestring template-haskell ];
+       homepage = "http://github.com/dzhus/sext/";
+       description = "Lists, Texts and ByteStrings with type-encoded length";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sfml-audio" = callPackage
+    ({ mkDerivation, base, bytestring, libsndfile, openal }:
+     mkDerivation {
+       pname = "sfml-audio";
+       version = "0.7.1.1816";
+       sha256 = "057z0z2xbls1p43k0kixbw26v0pv6lsvfh5ycjx37r8xw8ks31ba";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ libsndfile openal ];
+       homepage = "http://patch-tag.com/r/shahn/sfml-audio";
+       description = "minimal bindings to the audio module of sfml";
+       license = "unknown";
+     }) { inherit (pkgs) libsndfile;  inherit (pkgs) openal;};
+
+  "sfmt" = callPackage
+    ({ mkDerivation, base, bytestring, entropy, primitive }:
+     mkDerivation {
+       pname = "sfmt";
+       version = "0.1.0";
+       revision = "1";
+       sha256 = "1amfcnh3jrb54zpl6vrdmngqvmjiczzinhq3r9gx9hb1r635v04x";
+       editedCabalFile = "e0b52289bb67a211186ecaa0f45275870e792430d71929cf4f1a66f29da071a4";
+       buildDepends = [ base bytestring entropy primitive ];
+       homepage = "https://github.com/philopon/sfmt-hs";
+       description = "SIMD-oriented Fast Mersenne Twister(SFMT) binding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sgd" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , filepath, lazy-io, logfloat, monad-par, mtl, primitive, random
+     , temporary, vector
+     }:
+     mkDerivation {
+       pname = "sgd";
+       version = "0.3.7";
+       sha256 = "1z4w81mbk2syrxacfrjb690ik6lcsh1fb7m3d65zlz37y3pk5q04";
+       buildDepends = [
+         base binary bytestring containers deepseq filepath lazy-io logfloat
+         monad-par mtl primitive random temporary vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/kawu/sgd";
+       description = "Stochastic gradient descent";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sgf" = callPackage
+    ({ mkDerivation, base, containers, encoding, extensible-exceptions
+     , mtl, parsec, split, time, transformers
+     }:
+     mkDerivation {
+       pname = "sgf";
+       version = "0.1.3.1";
+       sha256 = "1bwfphbbkkwi2q8l0916yvpl58j7fb0nr144w582vpsq3wfvgiwc";
+       buildDepends = [
+         base containers encoding extensible-exceptions mtl parsec split
+         time transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tonicebrian/sgf";
+       description = "SGF (Smart Game Format) parser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sgrep" = callPackage
+    ({ mkDerivation, base, bio, regex-compat }:
+     mkDerivation {
+       pname = "sgrep";
+       version = "0.0";
+       sha256 = "0ai9j735wj5lclixwlki5g2s50g2mscglfrir2q7bj0lwg76dygi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bio regex-compat ];
+       homepage = "http://blog.malde.org/";
+       description = "Sgrep - grep Fasta files for sequences matching a regular expression";
+       license = "GPL";
+     }) {};
+
+  "sha-streams" = callPackage
+    ({ mkDerivation, base, binary, bytestring, io-streams, SHA }:
+     mkDerivation {
+       pname = "sha-streams";
+       version = "0.1.1";
+       sha256 = "1qasdpm244dr7zh3hnr51jbp1b8qnrwbxvm3nnrbaf7bah1y4d2i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring io-streams SHA ];
+       jailbreak = true;
+       homepage = "https://github.com/noteed/sha-streams";
+       description = "SHA hashes for io-streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shadower" = callPackage
+    ({ mkDerivation, base, doctest, filemanip, fsnotify, MissingH, mtl
+     , process, safe, system-filepath, text
+     }:
+     mkDerivation {
+       pname = "shadower";
+       version = "0.1.0.6";
+       sha256 = "1m0zxnmxn536jnaj5l4qpj5k7xshffsbca0cl53y3dnb6ssq9fni";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base doctest filemanip fsnotify MissingH mtl process safe
+         system-filepath text
+       ];
+       testDepends = [
+         base doctest filemanip fsnotify MissingH mtl process safe
+         system-filepath text
+       ];
+       homepage = "http://github.com/karun012/shadower";
+       description = "An automated way to run doctests in files that are changing";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "shadowsocks" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, containers
+     , cryptohash, HsOpenSSL, HUnit, network, optparse-applicative
+     , process, unordered-containers
+     }:
+     mkDerivation {
+       pname = "shadowsocks";
+       version = "1.20141007";
+       sha256 = "1630lfspy8fnsi9j2np9sygdng59bxx1q54kcr7cx7rgq434s5ys";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring containers cryptohash HsOpenSSL
+         network optparse-applicative unordered-containers
+       ];
+       testDepends = [
+         base binary bytestring containers cryptohash HUnit process
+       ];
+       homepage = "https://github.com/rnons/shadowsocks-haskell";
+       description = "A fast tunnel proxy that help you get through firewalls";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "shady-gen" = callPackage
+    ({ mkDerivation, applicative-numbers, base, Boolean, containers
+     , data-treify, MemoTrie, mtl, ty, TypeCompose, vector-space
+     , wl-pprint
+     }:
+     mkDerivation {
+       pname = "shady-gen";
+       version = "0.5.1";
+       sha256 = "1vsk0ah6ngcgn5i6xda9j400xan1y843v25hc4lqcql37mg3ifn8";
+       buildDepends = [
+         applicative-numbers base Boolean containers data-treify MemoTrie
+         mtl ty TypeCompose vector-space wl-pprint
+       ];
+       homepage = "http://haskell.org/haskellwiki/shady";
+       description = "Functional GPU programming - DSEL & compiler";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shady-graphics" = callPackage
+    ({ mkDerivation, applicative-numbers, base, Boolean, containers
+     , data-treify, MemoTrie, mtl, shady-gen, ty, TypeCompose
+     , vector-space, wl-pprint
+     }:
+     mkDerivation {
+       pname = "shady-graphics";
+       version = "0.5.0";
+       sha256 = "1wzlygmpjfys4ijyqh8ymv2f75swy9zd0g05gxpqhxkvlrw3jdk4";
+       buildDepends = [
+         applicative-numbers base Boolean containers data-treify MemoTrie
+         mtl shady-gen ty TypeCompose vector-space wl-pprint
+       ];
+       homepage = "http://haskell.org/haskellwiki/shady";
+       description = "Functional GPU programming - DSEL & compiler";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shake" = callPackage
+    ({ mkDerivation, base, binary, bytestring, deepseq, directory
+     , extra, filepath, hashable, js-flot, js-jquery, old-time, process
+     , QuickCheck, random, time, transformers, unix
+     , unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "shake";
+       version = "0.15";
+       sha256 = "02zqkm248fvv6nh10nj6rw7ks5w832q2zrzzk9z9gp1zrqnbhxhk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring deepseq directory extra filepath hashable
+         js-flot js-jquery old-time process random time transformers unix
+         unordered-containers utf8-string
+       ];
+       testDepends = [
+         base binary bytestring deepseq directory extra filepath hashable
+         js-flot js-jquery old-time process QuickCheck random time
+         transformers unix unordered-containers utf8-string
+       ];
+       homepage = "http://www.shakebuild.com/";
+       description = "Build system library, like Make, but more accurate dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shake-cabal-build" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, process }:
+     mkDerivation {
+       pname = "shake-cabal-build";
+       version = "0.1.0";
+       sha256 = "1ql2w164f2sfmbcqk2da00nihwfr6a85f99apx5dwpbkfbc53n8l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base Cabal directory filepath process ];
+       homepage = "https://github.com/samplecount/shake-cabal-build";
+       description = "Utility for building Shake build systems using Cabal sandboxes";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "shake-extras" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, directory, filepath
+     , shake
+     }:
+     mkDerivation {
+       pname = "shake-extras";
+       version = "0.1.1";
+       sha256 = "0qqzdhd6q8hhix7lx4j1v4j37b8jnv710clilk2wxbyvz03rbblz";
+       buildDepends = [
+         base bytestring cmdargs directory filepath shake
+       ];
+       jailbreak = true;
+       homepage = "http://thoughtpolice.github.com/shake-extras";
+       description = "Extra utilities for shake build systems";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shake-language-c" = callPackage
+    ({ mkDerivation, base, data-default-class, directory, doctest
+     , fclabels, hspec, process, shake, split, unordered-containers
+     }:
+     mkDerivation {
+       pname = "shake-language-c";
+       version = "0.6.4";
+       sha256 = "1wn491jcx78v748dyis7wg3jlg0kff0iv605a6f2ig3j7sxka1yz";
+       buildDepends = [
+         base data-default-class fclabels process shake split
+         unordered-containers
+       ];
+       testDepends = [ base directory doctest hspec shake ];
+       homepage = "https://github.com/samplecount/shake-language-c";
+       description = "Utilities for cross-compiling with Shake";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "shake-minify" = callPackage
+    ({ mkDerivation, base, bytestring, css-text, hjsmin, shake, text }:
+     mkDerivation {
+       pname = "shake-minify";
+       version = "0.1.3";
+       sha256 = "1634dm4rzpp5bkxczj5bbnzcn1mcaxkqbvg08x9gib1nyi2m6zzb";
+       buildDepends = [ base bytestring css-text hjsmin shake text ];
+       homepage = "https://github.com/LukeHoersten/shake-minify";
+       description = "Shake Minify Rules";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shake-pack" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib, shake, tar }:
+     mkDerivation {
+       pname = "shake-pack";
+       version = "0.1.2";
+       sha256 = "0iy2n7cg7fm0by479s1hm5w2jzzfdavjlyq6nf2sh6qlkc6w2ga1";
+       buildDepends = [ base bytestring bzlib shake tar ];
+       homepage = "https://github.com/LukeHoersten/shake-pack";
+       description = "Shake File Pack Rule";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shaker" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , filepath, ghc, ghc-paths, haskeline, haskell-src, HUnit, mtl
+     , old-time, parsec3, QuickCheck, regex-posix, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "shaker";
+       version = "0.5.1";
+       sha256 = "1m4b7pvpr5mg6g5sc9xhnn7i9lx65vb3ass38zkyrfgksg65lwhf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal containers directory filepath ghc ghc-paths
+         haskeline haskell-src HUnit mtl old-time parsec3 QuickCheck
+         regex-posix template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/bonnefoa/Shaker";
+       description = "simple and interactive command-line build tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shakespeare" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
+     , process, system-fileio, system-filepath, template-haskell, text
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "shakespeare";
+       version = "2.0.4.1";
+       sha256 = "0z3aw13kjknrb0r15jffvc4b2aj89r1zl83ighs2cv318dd89qzi";
+       buildDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim parsec process system-fileio system-filepath
+         template-haskell text time transformers
+       ];
+       testDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim hspec HUnit parsec process system-fileio
+         system-filepath template-haskell text time transformers
+       ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "A toolkit for making compile-time interpolated templates";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "shakespeare-css" = callPackage
+    ({ mkDerivation, base, shakespeare }:
+     mkDerivation {
+       pname = "shakespeare-css";
+       version = "1.1.0";
+       sha256 = "18d0kxfrs0aj9pfd9p1j7w5amch1hvsww3xycgn5qk6i0z7l4ywz";
+       buildDepends = [ base shakespeare ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "Stick your haskell variables into css at compile time. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shakespeare-i18n" = callPackage
+    ({ mkDerivation, base, shakespeare }:
+     mkDerivation {
+       pname = "shakespeare-i18n";
+       version = "1.1.0";
+       sha256 = "0ahhg9r7d8kdxn0x33bp5p8wmwkh1yvdqhw05yjwif0ky5y9h625";
+       buildDepends = [ base shakespeare ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "A type-based approach to internationalization. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shakespeare-js" = callPackage
+    ({ mkDerivation, base, shakespeare }:
+     mkDerivation {
+       pname = "shakespeare-js";
+       version = "1.3.0";
+       sha256 = "0hihcrgvzf4nsrgw6vqpkzbgskq01yc1mnvp7g2wy7vq0dv4pjp4";
+       buildDepends = [ base shakespeare ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "Stick your haskell variables into javascript/coffeescript at compile time. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "shakespeare-text" = callPackage
+    ({ mkDerivation, base, shakespeare }:
+     mkDerivation {
+       pname = "shakespeare-text";
+       version = "1.1.0";
+       sha256 = "18ixixb9aqn630s9wblxcki1gggm4i0fj9752c55p3b42q8h86rc";
+       buildDepends = [ base shakespeare ];
+       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+       description = "Interpolation with quasi-quotation: put variables strings (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "shana" = callPackage
+    ({ mkDerivation, base, directory, regex-posix }:
+     mkDerivation {
+       pname = "shana";
+       version = "2009.12.1";
+       sha256 = "0fg16nbi0r0pdd3sfabzdz1f4595x3hz3b4pxfwy8l78p8lppv0y";
+       buildDepends = [ base directory regex-posix ];
+       homepage = "http://github.com/nfjinjing/hack/tree/master";
+       description = "treat haskell functions as unix pipes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shapefile" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-binary-ieee754, dbf
+     , filepath, rwlock
+     }:
+     mkDerivation {
+       pname = "shapefile";
+       version = "0.0.0.1";
+       sha256 = "0j6c01igj767ab3pd5yzkjkd8374rmjr57f2gw5c69qnh288c6w6";
+       buildDepends = [
+         base binary bytestring data-binary-ieee754 dbf filepath rwlock
+       ];
+       homepage = "http://code.haskell.org/~mokus/shapefile";
+       description = "Parser and related tools for ESRI shapefile format";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "shapely-data" = callPackage
+    ({ mkDerivation, base, containers, proxy-kindness, QuickCheck
+     , tagged, template-haskell
+     }:
+     mkDerivation {
+       pname = "shapely-data";
+       version = "0.1";
+       sha256 = "1yn1rim4y6j834ngpz47wsi5pyhbi2gaznj0pyrqrmallzv0zin8";
+       buildDepends = [ base proxy-kindness tagged template-haskell ];
+       testDepends = [
+         base containers proxy-kindness QuickCheck tagged template-haskell
+       ];
+       homepage = "http://github.com/jberryman/shapely-data";
+       description = "Generics using @(,)@ and @Either@, with algebraic operations and typed conversions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shared-buffer" = callPackage
+    ({ mkDerivation, base, bytestring, hsc2hs, QuickCheck
+     , test-framework, test-framework-quickcheck2, unix
+     }:
+     mkDerivation {
+       pname = "shared-buffer";
+       version = "0.2.2";
+       sha256 = "031aabqynp5d4k47rjjwyx3xjzh4f1k4csfgdnnhsf45xv5nc3kc";
+       buildDepends = [ base bytestring unix ];
+       testDepends = [
+         base bytestring hsc2hs QuickCheck test-framework
+         test-framework-quickcheck2 unix
+       ];
+       description = "A circular buffer built on shared memory";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shared-memory" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "shared-memory";
+       version = "0.1.0.0";
+       sha256 = "15h4j81q2v97dx61pnpaqs99z4vvlw7xl1dxbh878imxj8zn4z84";
+       buildDepends = [ base unix ];
+       testDepends = [ base bytestring unix ];
+       homepage = "https://github.com/nh2/shared-memory";
+       description = "POSIX shared memory";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "sharedio" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "sharedio";
+       version = "0.1.0";
+       sha256 = "08hmmb2nn2lpirdnpp928m6xadzkv8k90x1nycw2b58vp1rpk7zv";
+       buildDepends = [ base ];
+       homepage = "https://github.com/nh2/haskell-sharedio";
+       description = "Bundles shared calls to IO functions to perform them only once";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "she" = callPackage
+    ({ mkDerivation, base, filepath, mtl }:
+     mkDerivation {
+       pname = "she";
+       version = "0.6";
+       sha256 = "0x3jc2c4j0b8xavap7hj4673zb89zgww1pv13sddkn6p49pk1zvc";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base filepath mtl ];
+       homepage = "http://personal.cis.strath.ac.uk/~conor/pub/she";
+       description = "A Haskell preprocessor adding miscellaneous features";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shell-conduit" = callPackage
+    ({ mkDerivation, 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
+     }:
+     mkDerivation {
+       pname = "shell-conduit";
+       version = "4.5.2";
+       sha256 = "04kc9gzlqbw3d2pj6qn13pnmmrlmx8nmmj5bvxn7zdmh25nw6ys2";
+       buildDepends = [
+         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
+       ];
+       homepage = "https://github.com/chrisdone/shell-conduit";
+       description = "Write shell scripts with Conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shell-escape" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, vector }:
+     mkDerivation {
+       pname = "shell-escape";
+       version = "0.1.2";
+       sha256 = "1wdkc2l7g33czh6ws735szl3nm5lq8aqjjjcr6xm4l5km67alnxh";
+       buildDepends = [ base binary bytestring containers vector ];
+       homepage = "http://github.com/solidsnack/shell-escape";
+       description = "Shell escaping library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shell-monad" = callPackage
+    ({ mkDerivation, base, containers, text, unix }:
+     mkDerivation {
+       pname = "shell-monad";
+       version = "0.6.3";
+       sha256 = "0wfn1zwbqzwvbvh1x28rpgsvn8i2ff5r6v4i5kriiw025vdb5r2v";
+       buildDepends = [ base containers text unix ];
+       description = "shell monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shell-pipe" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "shell-pipe";
+       version = "0.1";
+       sha256 = "0xyarxm2hs8yypmz8w4zbnjvv5xl9dd657j7j3a82gbghsb93vyy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://gnu.rtin.bz/directory/devel/prog/other/shell-haskell.html";
+       description = "Pipe streams through external shell commands";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shellish" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, mtl
+     , process, strict, time, unix-compat
+     }:
+     mkDerivation {
+       pname = "shellish";
+       version = "0.1.4";
+       sha256 = "1ldwid270mwyky6zmggbvn72hvs4s39hhf2zj8r0jahxnwlpbfan";
+       buildDepends = [
+         base bytestring directory filepath mtl process strict time
+         unix-compat
+       ];
+       homepage = "http://repos.mornfall.net/shellish";
+       description = "shell-/perl- like (systems) programming in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shellmate" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, temporary
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "shellmate";
+       version = "0.1.6";
+       sha256 = "17fpl0h58cw5hp6jzrajkl629mw2c6x15cmlcbdxqk9xlxqrg4hr";
+       buildDepends = [
+         base directory filepath process temporary time transformers
+       ];
+       homepage = "http://github.com/valderman/shellmate";
+       description = "Simple interface for shell scripting in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shelltestrunner" = callPackage
+    ({ mkDerivation, base, cmdargs, Diff, directory, filemanip
+     , filepath, HUnit, parsec, pretty-show, process, regex-tdfa, safe
+     , test-framework, test-framework-hunit, utf8-string
+     }:
+     mkDerivation {
+       pname = "shelltestrunner";
+       version = "1.3.5";
+       sha256 = "0ad8sc4md8mp0l0s40yx7qbgaabqzd4nz8lx15ajcdbwr2ffnra2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs Diff directory filemanip filepath HUnit parsec
+         pretty-show process regex-tdfa safe test-framework
+         test-framework-hunit utf8-string
+       ];
+       homepage = "http://joyful.com/shelltestrunner";
+       description = "A tool for testing command-line programs";
+       license = "GPL";
+     }) {};
+
+  "shelly" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , enclosed-exceptions, exceptions, lifted-async, lifted-base
+     , monad-control, mtl, process, system-fileio, system-filepath, text
+     , time, transformers, transformers-base, unix-compat
+     }:
+     mkDerivation {
+       pname = "shelly";
+       version = "1.6.1.2";
+       sha256 = "0iv0ypl6qbrcax43smqc7s5zpm5ck5a5zby59ibnahv5a6wn16ki";
+       buildDepends = [
+         async base bytestring containers directory enclosed-exceptions
+         exceptions 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;
+     }) {};
+
+  "shelly-extra" = callPackage
+    ({ mkDerivation, async, base, HUnit, mtl, SafeSemaphore, shelly
+     , text
+     }:
+     mkDerivation {
+       pname = "shelly-extra";
+       version = "0.3";
+       sha256 = "0rin1rqpzrjh4gs9235wy9w8rj4ac9yh83ap78a6nj0zi9w9vlwd";
+       buildDepends = [ async base mtl SafeSemaphore shelly ];
+       testDepends = [ base HUnit SafeSemaphore shelly text ];
+       homepage = "https://github.com/yesodweb/Shelly.hs";
+       description = "shelly features that require extra dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shivers-cfg" = callPackage
+    ({ mkDerivation, base, containers, directory, HPDF, language-dot
+     , mtl, pretty, process
+     }:
+     mkDerivation {
+       pname = "shivers-cfg";
+       version = "0.1";
+       sha256 = "1jrf9l25lcmqh55zy3g2nbi60ph9m0ycvjz1q0qvpb403kqhd0wa";
+       buildDepends = [
+         base containers directory HPDF language-dot mtl pretty process
+       ];
+       description = "Implementation of Shivers' Control-Flow Analysis";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shoap" = callPackage
+    ({ mkDerivation, base, curl }:
+     mkDerivation {
+       pname = "shoap";
+       version = "0.2";
+       sha256 = "0ywb8bfkdpqqv2spb92j9rzx4fv5k1c7b65wj0zwnn9rp7ckq59v";
+       buildDepends = [ base curl ];
+       jailbreak = true;
+       homepage = "http://richardfergie.com/shoap";
+       description = "A very basic SOAP package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shortcircuit" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "shortcircuit";
+       version = "0.1";
+       sha256 = "02gcr6glp1kjs4l7ds8487dbblr1pw8nyq34i3rg1hskz0b83l6z";
+       buildDepends = [ base ];
+       homepage = "http://github.com/aristidb/shortcircuit";
+       description = "Short-circuit values and expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shorten-strings" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "shorten-strings";
+       version = "0.1.0.1";
+       sha256 = "1srqbc2kx1zn0xlzv94y7kqdrflmdck3jy6d2fl75zhf11wilxw3";
+       buildDepends = [ base text ];
+       jailbreak = true;
+       homepage = "https://github.com/Tarrasch/shorten-strings";
+       description = "Shorten a variety of string-like types adding ellipsis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "show" = callPackage
+    ({ mkDerivation, base, syb }:
+     mkDerivation {
+       pname = "show";
+       version = "0.6";
+       sha256 = "15bvfffnr034z8wbmhxa8h5qskbxwbflk434dx023l1qlm3sjmsg";
+       buildDepends = [ base syb ];
+       description = "'Show' instances for Lambdabot";
+       license = "GPL";
+     }) {};
+
+  "show-type" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "show-type";
+       version = "0.1.1";
+       sha256 = "1sppi8vj1cg7gwz7vagc1cry22b814wlwbm6jjj1c4d5f4kmpyyv";
+       buildDepends = [ base ];
+       homepage = "https://github.com/Kinokkory/show-type";
+       description = "convert types into string values in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "showdown" = callPackage
+    ({ mkDerivation, base, glade, gtk, random }:
+     mkDerivation {
+       pname = "showdown";
+       version = "0.5.3";
+       sha256 = "1gpjb8lw5zmnsd8ic739j91iqsv9a707nd9j5mbnhq6gilk61nrh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base glade gtk random ];
+       jailbreak = true;
+       description = "A simple gtk based Russian Roulette game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "shpider" = callPackage
+    ({ mkDerivation, base, bytestring, containers, curl, mtl
+     , regex-posix, tagsoup, tagsoup-parsec, time, url, web-encodings
+     }:
+     mkDerivation {
+       pname = "shpider";
+       version = "0.2.1.1";
+       sha256 = "19741zlma2fp3jbfsmqgl0004bvfpizbjljg2k5xam1k4v144kwd";
+       buildDepends = [
+         base bytestring containers curl mtl regex-posix tagsoup
+         tagsoup-parsec time url web-encodings
+       ];
+       homepage = "http://github.com/ozataman/shpider";
+       description = "Web automation library in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shplit" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "shplit";
+       version = "0.3";
+       sha256 = "0wml7x8843ib8jmwq6xz9q011hz4vpd7zmnvbc8h2zdql6p6lqxr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl ];
+       homepage = "http://personal.cis.strath.ac.uk/~conor/pub/shplit";
+       description = "A Haskell pattern splitter with emacs attachments";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "shqq" = callPackage
+    ({ mkDerivation, base, parsec, posix-escape, process
+     , template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "shqq";
+       version = "0.1";
+       sha256 = "08mdnlnq001slxml0y1rg7nry2fz8qcf1cw0q22j84gx3csrfhcm";
+       buildDepends = [
+         base parsec posix-escape process template-haskell unix
+       ];
+       description = "Embed shell commands with interpolated Haskell variables, and capture output";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "shuffle" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, network, network-uri, process, uhc-util, uuagc
+     , uuagc-cabal, uulib
+     }:
+     mkDerivation {
+       pname = "shuffle";
+       version = "0.1.3.1";
+       sha256 = "120rc9gzdhad4nqich1mwixzax9bhsm3vv87qkvyarcz0qf80qcx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers directory filepath network network-uri
+         process uhc-util uuagc uuagc-cabal uulib
+       ];
+       homepage = "https://github.com/UU-ComputerScience/shuffle";
+       description = "Shuffle tool for UHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sieve" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "sieve";
+       version = "0.1.0.1";
+       sha256 = "19zjwzh3i8ql5xz9rvmbz7n2l3z7dcq683ikrpvqx3wxnc06058m";
+       buildDepends = [ base ];
+       homepage = "http://www.the-singleton.com";
+       description = "Sieve is an implementation of the Sieve abstract data type";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "sifflet" = callPackage
+    ({ mkDerivation, base, cairo, containers, directory, fgl, filepath
+     , glib, gtk, hxt, mtl, parsec, process, sifflet-lib, unix
+     }:
+     mkDerivation {
+       pname = "sifflet";
+       version = "2.2.1";
+       sha256 = "0xahs91s1kvb2vrdr6xwg4nrm3d4pfz807rnb7dj9rfj1knlaw4j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers directory fgl filepath glib gtk hxt mtl
+         parsec process sifflet-lib unix
+       ];
+       jailbreak = true;
+       homepage = "http://mypage.iu.edu/~gdweber/software/sifflet/";
+       description = "A simple, visual, functional programming language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sifflet-lib" = callPackage
+    ({ mkDerivation, base, cairo, containers, directory, fgl, filepath
+     , gdk_x11, glib, gtk, gtk_x11, hxt, mtl, parsec, process, unix
+     }:
+     mkDerivation {
+       pname = "sifflet-lib";
+       version = "2.2.1";
+       sha256 = "1snaq0vlsk4r2lbg2sk389ppwnz22mqwhf1lgwjh3cg91ab905n4";
+       buildDepends = [
+         base cairo containers directory fgl filepath glib gtk hxt mtl
+         parsec process unix
+       ];
+       extraLibraries = [ gdk_x11 gtk_x11 ];
+       jailbreak = true;
+       homepage = "http://mypage.iu.edu/~gdweber/software/sifflet/";
+       description = "Library of modules shared by sifflet and its tests and its exporters";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { gdk_x11 = null;  gtk_x11 = null;};
+
+  "sign" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable, HUnit
+     , lattices, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th
+     }:
+     mkDerivation {
+       pname = "sign";
+       version = "0.4.1";
+       sha256 = "1d7hxvvmbbv8izr74l4ah1q50fwmmgman90rhjixkvppkq8fwjhz";
+       buildDepends = [ base containers deepseq hashable lattices ];
+       testDepends = [
+         base containers HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+       ];
+       description = "Arithmetic over signs and sets of signs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "signals" = callPackage
+    ({ mkDerivation, array, base, constraints, containers, data-reify
+     , exception-mtl, exception-transformers, language-c-quote
+     , mainland-pretty, mtl, operational
+     }:
+     mkDerivation {
+       pname = "signals";
+       version = "0.0.0.1";
+       sha256 = "12l5vixyv6j3fz8j9rwahf5ifvibqb38kc9j7xg36akc5v2n11s2";
+       buildDepends = [
+         array base constraints containers data-reify exception-mtl
+         exception-transformers language-c-quote mainland-pretty mtl
+         operational
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/markus-git/signals";
+       description = "Stream Processing for Embedded Domain Specific Languages";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "signed-multiset" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "signed-multiset";
+       version = "0.4";
+       sha256 = "0pxi6g095axf9x6hsiqf0ilsjlws4zvl0pjfjamjyyl1wj82h747";
+       buildDepends = [ base containers ];
+       description = "Multisets with negative membership";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "silently" = callPackage
+    ({ mkDerivation, base, deepseq, directory, nanospec }:
+     mkDerivation {
+       pname = "silently";
+       version = "1.2.4.1";
+       sha256 = "035dw3zg680ykyz5rqkkrjn51wkznbc4jb45a8l2gh3vgqzgbf52";
+       buildDepends = [ base deepseq directory ];
+       testDepends = [ base deepseq directory nanospec ];
+       homepage = "https://github.com/trystan/silently";
+       description = "Prevent or capture writing to stdout and other handles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simd" = callPackage
+    ({ mkDerivation, base, ghc-prim, primitive, vector }:
+     mkDerivation {
+       pname = "simd";
+       version = "0.1.0.1";
+       sha256 = "0rmp715k7k41h7nnfg3ik28pf602jvh5wb23yzbpz0j8vkfysn8m";
+       buildDepends = [ base ghc-prim primitive vector ];
+       homepage = "http://github.com/mikeizbicki/simd";
+       description = "simple interface to GHC's SIMD instructions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simgi" = callPackage
+    ({ mkDerivation, base, containers, haskell98
+     , mersenne-random-pure64, mtl, parsec, random
+     }:
+     mkDerivation {
+       pname = "simgi";
+       version = "0.3";
+       sha256 = "1yqd9799ys8y4n325mayq8qps99ajv1r4j8h6r16l5n94wvyw1ba";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers haskell98 mersenne-random-pure64 mtl parsec random
+       ];
+       jailbreak = true;
+       homepage = "http://simgi.sourceforge.net/";
+       description = "stochastic simulation engine";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-builder, bytestring, cmdargs, directory, filepath, hspec
+     , http-types, HUnit, mime-types, monad-control, mtl, process
+     , setenv, simple-templates, text, transformers, transformers-base
+     , unordered-containers, vector, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "simple";
+       version = "0.10.1";
+       sha256 = "1s75cr2fjgicgf6mndaf659xrp0dga68i2ii8l5dbjz0b2sbhhm7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base base64-bytestring blaze-builder bytestring
+         cmdargs directory filepath http-types mime-types monad-control mtl
+         process setenv simple-templates text transformers transformers-base
+         unordered-containers vector wai wai-extra
+       ];
+       testDepends = [
+         base hspec HUnit monad-control mtl transformers wai
+       ];
+       jailbreak = true;
+       homepage = "http://simple.cx";
+       description = "A minimalist web framework for the WAI server interface";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-actors" = callPackage
+    ({ mkDerivation, base, chan-split, contravariant, mtl, transformers
+     }:
+     mkDerivation {
+       pname = "simple-actors";
+       version = "0.4.0";
+       sha256 = "13xjyr6gf55yxinaah4c8fx56a9fyr191v4lwycnlkdz8vvizw25";
+       buildDepends = [ base chan-split contravariant mtl transformers ];
+       homepage = "http://brandon.si/code/simple-actors-0-1-0-released/";
+       description = "A library for more structured concurrent programming, based on the Actor Model";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-atom" = callPackage
+    ({ mkDerivation, base, containers, deepseq }:
+     mkDerivation {
+       pname = "simple-atom";
+       version = "0.2";
+       sha256 = "1kqkaay3r03plxvvyan3hdgj2rfynygnisi6hrsjwqgj4nw6va17";
+       buildDepends = [ base containers deepseq ];
+       jailbreak = true;
+       homepage = "http://github.com/nominolo/simple-atom";
+       description = "Atom (or symbol) datatype for fast comparision and sorting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-bluetooth" = callPackage
+    ({ mkDerivation, base, bluetooth, bytestring, network }:
+     mkDerivation {
+       pname = "simple-bluetooth";
+       version = "0.1.0.0";
+       sha256 = "1qrlvqy2vcl36db3403nb1c0sx233d3vwxrbqb7jip13hy0h6jf4";
+       buildDepends = [ base bytestring network ];
+       extraLibraries = [ bluetooth ];
+       description = "Simple Bluetooth API for Windows and Linux (bluez)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { bluetooth = null;};
+
+  "simple-c-value" = callPackage
+    ({ mkDerivation, base, checkers, DebugTraceHelpers, derive, dlist
+     , ghc-prim, HUnit, mtl, QuickCheck, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , tuple, uniplate
+     }:
+     mkDerivation {
+       pname = "simple-c-value";
+       version = "0.0.0.1";
+       sha256 = "0ky0yilcc54hx8sl11z4dl14n6k9wfz0w9bwv3pbgyi44ravr8gs";
+       buildDepends = [ base DebugTraceHelpers dlist ghc-prim tuple ];
+       testDepends = [
+         base checkers DebugTraceHelpers derive dlist ghc-prim HUnit mtl
+         QuickCheck template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 tuple uniplate
+       ];
+       homepage = "https://github.com/jfischoff/simple-c-value";
+       description = "A simple C value type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-conduit" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, chunked-data
+     , containers, either, exceptions, filepath, free, lifted-async
+     , lifted-base, mmorph, monad-control, mono-traversable, mtl
+     , mwc-random, primitive, semigroups, stm, streaming-commons, text
+     , transformers, transformers-base, vector
+     }:
+     mkDerivation {
+       pname = "simple-conduit";
+       version = "0.5.1";
+       sha256 = "1jy70cdw2h6fd2618dczajml5k82kkjmd2n0mgbby2mr6r3sk5zr";
+       buildDepends = [
+         base bifunctors bytestring chunked-data containers either
+         exceptions filepath free lifted-async lifted-base mmorph
+         monad-control mono-traversable mtl mwc-random primitive semigroups
+         stm streaming-commons text transformers transformers-base vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jwiegley/simple-conduit";
+       description = "A simple streaming I/O library based on monadic folds";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-config" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, hspec, network-uri
+     , parsec, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "simple-config";
+       version = "1.2.2.1";
+       sha256 = "1ndczlpqycrmyjm8v3gpsw1f946lfvc70kzmipli4ir9cbqh5d5k";
+       buildDepends = [
+         base bytestring data-default network-uri parsec template-haskell
+         transformers
+       ];
+       testDepends = [ base hspec ];
+       homepage = "https://github.com/yunomu/simple-config";
+       description = "Simple config file parser generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-css" = callPackage
+    ({ mkDerivation, base, blaze-html, hashable, language-css
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "simple-css";
+       version = "0.0.4";
+       sha256 = "19a2yfp9gji7w5ps5lh8jwvnhma21d83v4fm2hrc92490fpq9aid";
+       buildDepends = [
+         base blaze-html hashable language-css unordered-containers
+       ];
+       description = "simple binding of css and html";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-eval" = callPackage
+    ({ mkDerivation, base, parsec, text, transformers }:
+     mkDerivation {
+       pname = "simple-eval";
+       version = "0.1.0.1";
+       sha256 = "185dgpfc7b1ayw0ajfdnf28fy1a87b3kqn4fh9y5l9krzlqs2lfl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parsec text transformers ];
+       homepage = "https://github.com/gitfoxi/Language.Eval";
+       description = "Evaluate a Text to an Integer: \"1 + 1\" -> 2";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "simple-firewire" = callPackage
+    ({ mkDerivation, base, bindings-dc1394, CV }:
+     mkDerivation {
+       pname = "simple-firewire";
+       version = "0.1.3.4";
+       sha256 = "14fh3z3vqkmfgvgxja431ivm3lk1ksgrxaqjzz25wdc493j640ka";
+       buildDepends = [ base bindings-dc1394 CV ];
+       homepage = "https://github.com/aleator/simple-firewire";
+       description = "Simplified interface for firewire cameras";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-form" = callPackage
+    ({ mkDerivation, base, blaze-html, digestive-functors
+     , email-validate, network-uri, old-locale, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "simple-form";
+       version = "0.5.0";
+       sha256 = "01pqp7593vxf32fw18g7351qblj4lxvbgvs0psgb9aghsw3dss53";
+       buildDepends = [
+         base blaze-html digestive-functors email-validate network-uri
+         old-locale text time transformers
+       ];
+       homepage = "https://github.com/singpolyma/simple-form-haskell";
+       description = "Forms that configure themselves based on type";
+       license = "unknown";
+     }) {};
+
+  "simple-genetic-algorithm" = callPackage
+    ({ mkDerivation, base, deepseq, parallel, random }:
+     mkDerivation {
+       pname = "simple-genetic-algorithm";
+       version = "0.2.0.0";
+       sha256 = "14gy8bmkvv81zd1hmdzmmdzf4pspn4nymfpjx07jxcgm5isn49qi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base deepseq parallel random ];
+       jailbreak = true;
+       homepage = "http://eax.me/haskell-genetic-algorithm/";
+       description = "Simple parallel genetic algorithm implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-get-opt" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "simple-get-opt";
+       version = "0.1.0.0";
+       sha256 = "1hia6kjx3nnv6i5wrkmvj6vz52pw12fwsz48gkz7049ygpa5jnl5";
+       buildDepends = [ base ];
+       description = "A simple library for processing command-line options";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-index" = callPackage
+    ({ mkDerivation, base, containers, hashable, safecopy
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "simple-index";
+       version = "0.1.0.1";
+       sha256 = "0w5nqhabv1rdbgnjw5vgx6p19dhqiq6xn5ljld3s7ndfk8nfddgy";
+       buildDepends = [
+         base containers hashable safecopy unordered-containers
+       ];
+       jailbreak = true;
+       description = "Allows simple indexation on any data type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-log" = callPackage
+    ({ mkDerivation, base, containers, deepseq, directory, filepath
+     , MonadCatchIO-transformers, mtl, SafeSemaphore, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "simple-log";
+       version = "0.3.2";
+       sha256 = "1nlnxjv2p6fkk069480czn0wg1m2jcw1g2sb38cb524kv0qn1kr0";
+       buildDepends = [
+         base containers deepseq directory filepath
+         MonadCatchIO-transformers mtl SafeSemaphore text time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/mvoidex/simple-log";
+       description = "Simple log for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-log-syslog" = callPackage
+    ({ mkDerivation, base, hsyslog, simple-log, text }:
+     mkDerivation {
+       pname = "simple-log-syslog";
+       version = "0.2.0";
+       sha256 = "1619jsxgz5afmwhjcixg54i7dhh8jl29cmziifjrg60mm4rf2c34";
+       buildDepends = [ base hsyslog simple-log text ];
+       jailbreak = true;
+       homepage = "http://github.com/mvoidex/simple-log-syslog";
+       description = "Syslog backend for simple-log";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-neural-networks" = callPackage
+    ({ mkDerivation, base, containers, deepseq, parallel, random, split
+     }:
+     mkDerivation {
+       pname = "simple-neural-networks";
+       version = "0.2.0.1";
+       sha256 = "07brvfs19qprbpiys38gw3ypkwyx8y31fdil3kkzc9gszvcfi7vy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers deepseq parallel random split ];
+       jailbreak = true;
+       homepage = "http://eax.me/haskell-neural-networks/";
+       description = "Simple parallel neural networks implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-observer" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "simple-observer";
+       version = "0.0.1";
+       sha256 = "1njzw6zjarlpjrmbkxwivr9azj8v1298bsd1ai3ddlmylwyhn24r";
+       buildDepends = [ base ];
+       homepage = "http://github.com/gimbo/observer.hs";
+       description = "The Observer pattern";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-pascal" = callPackage
+    ({ mkDerivation, base, containers, filepath, mtl, parsec
+     , simple-stacked-vm
+     }:
+     mkDerivation {
+       pname = "simple-pascal";
+       version = "0.1";
+       sha256 = "1nrm52agsgr2gxljv14l7f713jvbfa99qnzkcni2s7777xc33dkk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers filepath mtl parsec simple-stacked-vm
+       ];
+       description = "Simplified Pascal language to SSVM compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-pipe" = callPackage
+    ({ mkDerivation, base, bytestring, lifted-base, monad-control
+     , monads-tf, stm, transformers-base
+     }:
+     mkDerivation {
+       pname = "simple-pipe";
+       version = "0.0.0.28";
+       sha256 = "11bvk1dwi6anmnsvv3hi7ii60yy3d64g38vfmxhabh93sjr4b4nm";
+       buildDepends = [
+         base bytestring lifted-base monad-control monads-tf stm
+         transformers-base
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/YoshikuniJujo/simple-pipe/wiki";
+       description = "simple pipeline library like conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-postgresql-orm" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath
+     , postgresql-orm, postgresql-simple, resource-pool, simple
+     , transformers
+     }:
+     mkDerivation {
+       pname = "simple-postgresql-orm";
+       version = "0.9.0.1";
+       sha256 = "0j1v64ywfchxjdidy5pb1dzab0qhn516vcy580incw1bminyh3rz";
+       buildDepends = [
+         base bytestring directory filepath postgresql-orm postgresql-simple
+         resource-pool simple transformers
+       ];
+       homepage = "http://simple.cx";
+       description = "Connector package for integrating postgresql-orm with the Simple web framework";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-reflect" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "simple-reflect";
+       version = "0.3.2";
+       sha256 = "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq";
+       buildDepends = [ base ];
+       homepage = "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions";
+       description = "Simple reflection of expressions containing variables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-rope" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck }:
+     mkDerivation {
+       pname = "simple-rope";
+       version = "0.1";
+       sha256 = "187ghgn8nivvn5m8nsn0vrjh8mr6h7n6r1p1119gr4h3m2hpmrpl";
+       buildDepends = [ base bytestring QuickCheck ];
+       homepage = "http://github.com/jkff/haskell-rope";
+       description = "Memory-efficient strings with concatenation and splitting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-sendfile" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , directory, hspec, HUnit, network, process, resourcet, unix
+     }:
+     mkDerivation {
+       pname = "simple-sendfile";
+       version = "0.2.18";
+       sha256 = "1dc7c4bkcwzfhbm982svi9j6dzxxf0z6pjkdrs23m9bc9g8aly49";
+       buildDepends = [ base bytestring network unix ];
+       testDepends = [
+         base bytestring conduit conduit-extra directory hspec HUnit network
+         process resourcet unix
+       ];
+       description = "Cross platform library for the sendfile system call";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-server" = callPackage
+    ({ mkDerivation, base, bytestring, concurrent-extra, containers
+     , hashtables, network, time, unbounded-delays
+     }:
+     mkDerivation {
+       pname = "simple-server";
+       version = "0.0.3";
+       sha256 = "0qmqkcyikyjcfsq82w0i54ydizfnp72h0qfsbjw5qjizf4l3awcr";
+       buildDepends = [
+         base bytestring concurrent-extra containers hashtables network time
+         unbounded-delays
+       ];
+       description = "Simple Server interface";
+       license = "GPL";
+     }) {};
+
+  "simple-session" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, byteable
+     , bytestring, containers, cookie, cryptohash, http-types, simple
+     , transformers, wai
+     }:
+     mkDerivation {
+       pname = "simple-session";
+       version = "0.10.0.0";
+       sha256 = "1vqpikn6ml4fmz9pg29blw1c5ck8d4xx1qrb388jw57x24gknp0k";
+       buildDepends = [
+         base base64-bytestring blaze-builder byteable bytestring containers
+         cookie cryptohash http-types simple transformers wai
+       ];
+       homepage = "http://simple.cx";
+       description = "Cookie-based session management for the Simple web framework";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-sessions" = callPackage
+    ({ mkDerivation, base, indexed, synchronous-channels }:
+     mkDerivation {
+       pname = "simple-sessions";
+       version = "0.1.3";
+       sha256 = "08abag1im9gp2jpndd12sv911ca2qwh6frrz6qr87mj11xfhbky5";
+       buildDepends = [ base indexed synchronous-channels ];
+       homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/";
+       description = "A simple implementation of session types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-smt" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "simple-smt";
+       version = "0.6.0";
+       sha256 = "15dnd6vjf8zl0bi5r4pczxdns8614rvdq1f44sgrmy8crc4x9d0c";
+       buildDepends = [ base process ];
+       description = "A simple way to interact with an SMT solver process";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-sql-parser" = callPackage
+    ({ mkDerivation, base, HUnit, mtl, parsec, pretty, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "simple-sql-parser";
+       version = "0.4.1";
+       sha256 = "0hz5acbkn9i46c8hpx258vkyj0q9ii4kh5wsjjj79avlnal2gz8q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec pretty ];
+       testDepends = [
+         base HUnit mtl parsec pretty test-framework test-framework-hunit
+       ];
+       homepage = "http://jakewheat.github.io/simple-sql-parser/";
+       description = "A parser for SQL queries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-stacked-vm" = callPackage
+    ({ mkDerivation, array, base, binary-state, containers, filepath
+     , mtl, parsec
+     }:
+     mkDerivation {
+       pname = "simple-stacked-vm";
+       version = "0.1.1";
+       sha256 = "1grhdaf6z6illki5km1glliaaqlyvskwjvvcqz2vh8467arsy2pd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary-state containers filepath mtl parsec
+       ];
+       description = "Simple stacked virtual machine: assembler, disassembler, bytecode interpreter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simple-tabular" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "simple-tabular";
+       version = "0.1.0.0";
+       sha256 = "0p7rd8y6rhwg0ap6cib7l32bglvfkvbzg938pdwpb2ss6cv8b9zs";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://github.com/BartMassey/simple-tabular";
+       description = "Simple tabular-text formatter";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "simple-templates" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, hspec, HUnit, scientific
+     , text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "simple-templates";
+       version = "0.8.0.0";
+       sha256 = "1lmls90fbd18bklhhblfm0983w9bk66jj8iad3jzi5gd2injwj78";
+       buildDepends = [
+         aeson attoparsec base scientific text unordered-containers vector
+       ];
+       testDepends = [
+         aeson attoparsec base hspec HUnit scientific vector
+       ];
+       homepage = "http://simple.cx";
+       description = "A basic template language for the Simple web framework";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simple-vec3" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "simple-vec3";
+       version = "0.1.0.1";
+       sha256 = "1vzx88drwg40a9b7dzz4nbd5faawrc15wgyd1b12zmrsysn0h6s4";
+       buildDepends = [ base vector ];
+       jailbreak = true;
+       homepage = "http://github.com/dzhus/simple-vec3/";
+       description = "Three-dimensional vectors of doubles with basic operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simpleargs" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "simpleargs";
+       version = "0.2.1";
+       sha256 = "1grjjpb3397wnr6sd0bn679k9pfg1zlm61350zd2gj5yq6pshl6p";
+       buildDepends = [ base ];
+       homepage = "http://malde.org/~ketil/simpleargs";
+       description = "Provides a more flexible getArgs function with better error reporting";
+       license = "LGPL";
+     }) {};
+
+  "simpleirc" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec, HUnit, knob
+     , network, old-locale, time
+     }:
+     mkDerivation {
+       pname = "simpleirc";
+       version = "0.3.0";
+       sha256 = "045rbiz06zpqvkfh4hxsxz7fr338zmr3mgk2xpaqhh8pp2v14h59";
+       buildDepends = [
+         base bytestring containers network old-locale time
+       ];
+       testDepends = [ base bytestring hspec HUnit knob ];
+       homepage = "http://github.com/dom96/SimpleIRC";
+       description = "Simple IRC Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simpleirc-lens" = callPackage
+    ({ mkDerivation, base, bytestring, simpleirc }:
+     mkDerivation {
+       pname = "simpleirc-lens";
+       version = "0.1.0.0";
+       revision = "2";
+       sha256 = "0lr4zrp8h7xgg8zsznawqkkzh3pvlzfw5hl6n0hss5ramb71ccy5";
+       editedCabalFile = "618750d5b230316747d59d784bd40481a4404443316fc9c3a73e1349e3d10975";
+       buildDepends = [ base bytestring simpleirc ];
+       homepage = "https://github.com/relrod/simpleirc-lens";
+       description = "Lenses for simpleirc types";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simplenote" = callPackage
+    ({ mkDerivation, base, bytestring, curl, dataenc, download-curl
+     , HTTP, json, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "simplenote";
+       version = "1.0";
+       sha256 = "0kggnvbhvzrsqj387vqq2xpspk4xn3830k65g4cc642gmw4l803v";
+       buildDepends = [
+         base bytestring curl dataenc download-curl HTTP json time
+         utf8-string
+       ];
+       description = "Haskell interface for the simplenote API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simpleprelude" = callPackage
+    ({ mkDerivation, base, ghc-paths, haskell-src-exts, process
+     , uniplate
+     }:
+     mkDerivation {
+       pname = "simpleprelude";
+       version = "1.0.1.3";
+       sha256 = "0qlhh9m455fh8w9hdzykgxbw699mkd926ar031j99dhimca2d4hj";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base ghc-paths haskell-src-exts process uniplate
+       ];
+       jailbreak = true;
+       description = "A simplified Haskell prelude for teaching";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simplesmtpclient" = callPackage
+    ({ mkDerivation, array, base, directory, network, old-time }:
+     mkDerivation {
+       pname = "simplesmtpclient";
+       version = "0.2";
+       revision = "1";
+       sha256 = "0z8g82222nvh3yhn8qisr8qqnsv02zxjyzs32qrcg2pshbd5mdj8";
+       editedCabalFile = "e6021c7bbf5e50c15433dca491f4618483229203c810a7b71e7c42094e13ad25";
+       buildDepends = [ array base directory network old-time ];
+       description = "Very simple SMTP Client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "simplessh" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, ssh2 }:
+     mkDerivation {
+       pname = "simplessh";
+       version = "0.2.0.5";
+       sha256 = "1f0rck8shcm69bg2n2ijjad6dzrybfyrjqpsx5qh333mmz0q7bbq";
+       buildDepends = [ base bytestring mtl ];
+       extraLibraries = [ ssh2 ];
+       homepage = "http://hub.darcs.net/thoferon/simplessh";
+       description = "Simple wrapper around libssh2";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { ssh2 = null;};
+
+  "simplex" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, process, random
+     , regex-compat, split, time
+     }:
+     mkDerivation {
+       pname = "simplex";
+       version = "0.3.8";
+       sha256 = "0z8ysg43dydij5l271ary8g5l26k0fvsymi99ycyjnl2ij1sg482";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath mtl process random regex-compat split time
+       ];
+       homepage = "http://github.com/scravy/simplex";
+       description = "A simple markup language that translates to LaTeX";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "simseq" = callPackage
+    ({ mkDerivation, base, bio, bytestring, random }:
+     mkDerivation {
+       pname = "simseq";
+       version = "0.0";
+       sha256 = "0i60ksi5xc0d0rg5xzhbdjv2f3b5jr6rl9khn9i2b1n9sh1lv36m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bio bytestring random ];
+       homepage = "http://malde.org/~ketil/";
+       description = "Simulate sequencing with different models for priming and errors";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "simtreelo" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "simtreelo";
+       version = "0.1.0.2";
+       sha256 = "0r985v4159hnz371g1fxvn6x3x91c0xyymjnfnj2iaya5nmds6qp";
+       buildDepends = [ base containers ];
+       description = "Loader for data organized in a tree";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "sindre" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , libXft, mtl, parsec, permute, process, regex-pcre, setlocale
+     , text, unix, utf8-string, X11, X11-rm, x11-xim, X11-xshape
+     }:
+     mkDerivation {
+       pname = "sindre";
+       version = "0.4";
+       sha256 = "0p76rsk02p6rw51ppbr3j7ydk57k34684qf50nrz5qd0jrnapjm2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array attoparsec base bytestring containers mtl parsec permute
+         process regex-pcre setlocale text unix utf8-string X11 X11-rm
+         x11-xim X11-xshape
+       ];
+       pkgconfigDepends = [ libXft ];
+       jailbreak = true;
+       homepage = "http://sigkill.dk/programs/sindre";
+       description = "A programming language for simple GUIs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.xlibs) libXft;};
+
+  "singletons" = callPackage
+    ({ mkDerivation, base, Cabal, constraints, containers, filepath
+     , mtl, process, tasty, tasty-golden, template-haskell, th-desugar
+     }:
+     mkDerivation {
+       pname = "singletons";
+       version = "1.1.1";
+       sha256 = "1pbz42i2vxmw3sf3f4sqvgyp9a1b1q5my7xq64h37a9g6jd2246a";
+       buildDepends = [ base containers mtl template-haskell th-desugar ];
+       testDepends = [
+         base Cabal constraints filepath process tasty tasty-golden
+       ];
+       homepage = "http://www.cis.upenn.edu/~eir/packages/singletons";
+       description = "A framework for generating singleton types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sink" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "sink";
+       version = "0.1.0.1";
+       sha256 = "04ny9450h2mlw1j0gn6a1vvgwsk3gbhhzshqv2sbcg5pwkzkdrzp";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "An alternative to lazy I/O that doesn't conflate execution with evaluation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "siphash" = callPackage
+    ({ mkDerivation, base, bytestring, cpu, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "siphash";
+       version = "1.0.3";
+       sha256 = "1wq5dan30ggjgmravy92ylqjvjv1q7mxrmddr7zc8h6aqr0wx0fg";
+       buildDepends = [ base bytestring cpu ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/vincenthz/hs-siphash";
+       description = "siphash: a fast short input PRF";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sirkel" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, hashtables
+     , haskell98, random, remote, SHA, transformers
+     }:
+     mkDerivation {
+       pname = "sirkel";
+       version = "0.1";
+       sha256 = "0hhphhdvzcq9az5zriip7sgypfwbf5plx65s96nvrm2lznw4pzan";
+       buildDepends = [
+         base binary bytestring containers hashtables haskell98 random
+         remote SHA transformers
+       ];
+       description = "Sirkel, a Chord DHT";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sitemap" = callPackage
+    ({ mkDerivation, base, lens, taggy, taggy-lens, text }:
+     mkDerivation {
+       pname = "sitemap";
+       version = "0.1.2";
+       sha256 = "0njb20w6kazsqgw61ykvfx3syqywv9frs7ch9bf2sr0i1d3b61bd";
+       buildDepends = [ base lens taggy taggy-lens text ];
+       homepage = "http://github.com/alpmestan/sitemap";
+       description = "Sitemap parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sized" = callPackage
+    ({ mkDerivation, base, constraints, containers, ListLike
+     , monomorphic, type-natural, vector
+     }:
+     mkDerivation {
+       pname = "sized";
+       version = "0.1.0.0";
+       sha256 = "00n9fb7kk3c6dy4j19d9ikmynllpxc7yd51sign0rhvnasmyrghl";
+       buildDepends = [
+         base constraints containers ListLike monomorphic type-natural
+         vector
+       ];
+       description = "Sized sequence data-types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sized-types" = callPackage
+    ({ mkDerivation, array, base, containers, singletons }:
+     mkDerivation {
+       pname = "sized-types";
+       version = "0.5.0";
+       sha256 = "1cvgw2plzgpddg2p74hylx499dv4hn2nc8s085mnayp5n9jkn8md";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers singletons ];
+       jailbreak = true;
+       homepage = "http://www.ittc.ku.edu/csdl/fpg/Tools";
+       description = "Sized types in Haskell using the GHC Nat kind";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sized-vector" = callPackage
+    ({ mkDerivation, base, constraints, deepseq, equational-reasoning
+     , hashable, monomorphic, singletons, type-natural
+     }:
+     mkDerivation {
+       pname = "sized-vector";
+       version = "1.4.2.0";
+       sha256 = "0lz1fr2n5x7xfb6y8l7prnawj1p3fp79bbgi98w1n22wazcy9jkm";
+       buildDepends = [
+         base constraints deepseq equational-reasoning hashable monomorphic
+         singletons type-natural
+       ];
+       homepage = "https://github.com/konn/sized-vector";
+       description = "Size-parameterized vector types and functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sizes" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, deepseq, dlist, lens
+     , parallel-io, regex-posix, system-fileio, system-filepath, text
+     , unix
+     }:
+     mkDerivation {
+       pname = "sizes";
+       version = "2.3.2";
+       sha256 = "0xns0xl3khks1jvsmxh0nqf1saxs7qscvkbcg4270pp7n6lziqdg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs deepseq dlist lens parallel-io regex-posix
+         system-fileio system-filepath text unix
+       ];
+       homepage = "https://github.com/jwiegley/sizes";
+       description = "Recursively show space (size and i-nodes) used in subdirectories";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "skein" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, crypto-api, filepath
+     , hspec, tagged
+     }:
+     mkDerivation {
+       pname = "skein";
+       version = "1.0.9.2";
+       revision = "1";
+       sha256 = "1j8bhqm25r9vd4qb4v12g32r0dv6xyhk48cq287wfbzjraayi1gw";
+       editedCabalFile = "824638ce2aaf27614e10fe56fe886e486969fb9483e722a025b38fff3fb099ab";
+       buildDepends = [ base bytestring cereal crypto-api tagged ];
+       testDepends = [
+         base bytestring cereal crypto-api filepath hspec tagged
+       ];
+       homepage = "https://github.com/meteficha/skein";
+       description = "Skein, a family of cryptographic hash functions. Includes Skein-MAC as well.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "skell" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, containers
+     , http-types, text, wai
+     }:
+     mkDerivation {
+       pname = "skell";
+       version = "0.1.0.0";
+       sha256 = "0lnlqcw5slv5gshdq35il16pm57fh07hkd7zx95gfxx1aipyr4lp";
+       buildDepends = [
+         base blaze-html bytestring containers http-types text wai
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pharpend/skell";
+       description = "An overly complex Haskell web framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "skype4hs" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, lifted-base
+     , monad-control, mtl, stm, text, time, transformers-base, word8
+     , X11
+     }:
+     mkDerivation {
+       pname = "skype4hs";
+       version = "0.0.0.0";
+       sha256 = "0mrd63yfmxxmv3l5v5i01rh4lyl831pfb06k9bxvc6m5q88fxglp";
+       buildDepends = [
+         attoparsec base bytestring lifted-base monad-control mtl stm text
+         time transformers-base word8 X11
+       ];
+       homepage = "https://github.com/emonkak/haskell-skype";
+       description = "Skype Desktop API binding for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "skypelogexport" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, filepath, ghc-binary, haskell98, IfElse, old-locale
+     , regex-pcre, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "skypelogexport";
+       version = "0.2";
+       sha256 = "0rk9m9fw6as7zzjkm4jhwgw7nbs05ky1s556xmjbnkh6l9xp2chw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers directory filepath ghc-binary
+         haskell98 IfElse old-locale regex-pcre time utf8-string
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jdevelop/skypelogexport/wiki";
+       description = "Export Skype chat logs to text files";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { ghc-binary = null;};
+
+  "slack" = callPackage
+    ({ mkDerivation, aeson, base, containers, either, http-conduit, mtl
+     , old-locale, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "slack";
+       version = "0.1.0.0";
+       sha256 = "0sqi4g8wavxdd98cnv869qx2p9g77f6dznxlfmgv1jlvd4a1ya67";
+       buildDepends = [
+         aeson base containers either http-conduit mtl old-locale text time
+         transformers
+       ];
+       jailbreak = true;
+       description = "Haskell API for interacting with Slack";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "slack-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, errors
+     , HsOpenSSL, io-streams, lens, lens-aeson, monad-loops, mtl
+     , network, network-uri, openssl-streams, text, time
+     , time-locale-compat, transformers, websockets, wreq
+     }:
+     mkDerivation {
+       pname = "slack-api";
+       version = "0.4";
+       sha256 = "1xwpcvk906v2w995gsk8g41ml46w1r8h1gybsspkx6s6z6whhik5";
+       buildDepends = [
+         aeson base bytestring containers errors HsOpenSSL io-streams lens
+         lens-aeson monad-loops mtl network network-uri openssl-streams text
+         time time-locale-compat transformers websockets wreq
+       ];
+       testDepends = [ base ];
+       description = "Bindings to the Slack RTM API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "slack-notify-haskell" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HTTP, http-client
+     , http-client-tls, network, text
+     }:
+     mkDerivation {
+       pname = "slack-notify-haskell";
+       version = "0.2.3";
+       sha256 = "0sz05v40b78qdpz8cqpnblhjy4dxqsz5175hq5083j7iv3xi3kc7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers HTTP http-client http-client-tls network
+         text
+       ];
+       homepage = "https://github.com/tattsun/slack-notify-haskell";
+       description = "Slack notifier for Haskell project";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "slave-thread" = callPackage
+    ({ mkDerivation, base, base-prelude, HTF, list-t, mmorph
+     , partial-handler, QuickCheck, quickcheck-instances, SafeSemaphore
+     , stm-containers, transformers
+     }:
+     mkDerivation {
+       pname = "slave-thread";
+       version = "0.1.5";
+       sha256 = "0qw4c6406hbdnv6i55sh8ps8739szm7rnqjzk6ynm7dfbf3vxhw4";
+       buildDepends = [
+         base base-prelude list-t mmorph partial-handler stm-containers
+         transformers
+       ];
+       testDepends = [
+         base base-prelude HTF QuickCheck quickcheck-instances SafeSemaphore
+       ];
+       homepage = "https://github.com/nikita-volkov/slave-thread";
+       description = "A principal solution to ghost threads and silent exceptions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "slice-cpp-gen" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers, directory
+     , filepath, language-slice, MissingH
+     }:
+     mkDerivation {
+       pname = "slice-cpp-gen";
+       version = "0.3.0.0";
+       sha256 = "0mvjj8hs8837dby54ii71wd1sg2z3r14sr7w2hnj2nhnjy7c23yy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs containers directory filepath
+         language-slice MissingH
+       ];
+       homepage = "https://github.com/paulkoerbitz/slice-cpp-gen";
+       description = "Generate C++ skeletons from slice files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "slidemews" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, MonadCatchIO-transformers
+     , mtl, pandoc, snap-core, snap-server, utf8-string
+     }:
+     mkDerivation {
+       pname = "slidemews";
+       version = "0.3";
+       sha256 = "0x6blvdqwf9sqspwj48drasizx1pb1i92a0lp06szwa2nszdvzf0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring MonadCatchIO-transformers mtl pandoc
+         snap-core snap-server utf8-string
+       ];
+       description = "ws convert markdown to reveal-js";
+       license = "GPL";
+     }) {};
+
+  "sloane" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cereal
+     , containers, directory, download-curl, filepath, HTTP, network
+     , optparse-applicative, stringsearch, terminal-size, text, zlib
+     }:
+     mkDerivation {
+       pname = "sloane";
+       version = "2.0.5";
+       sha256 = "1jmnyw5n2k9c0bsdgna7hxc6yxjrycss02wjwsavbq13i7amq8i9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring cereal containers directory
+         download-curl filepath HTTP network optparse-applicative
+         stringsearch terminal-size text zlib
+       ];
+       postInstall = ''
+         mkdir -p $out/share/man/man1
+         cp sloane.1 $out/share/man/man1/
+       '';
+       homepage = "http://github.com/akc/sloane";
+       description = "A command line interface to Sloane's On-Line Encyclopedia of Integer Sequences";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "slot-lambda" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts
+     , haskell-src-meta, syb, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "slot-lambda";
+       version = "0.1.0.3";
+       sha256 = "1npin7yaharbi5nzwksj1j7rf2k1nvmr1jgcf2xpnvvbcga7l69i";
+       buildDepends = [
+         base containers haskell-src-exts haskell-src-meta syb
+         template-haskell vector
+       ];
+       homepage = "https://github.com/ducis/pa_slot";
+       description = "Write lambdas without naming the parameters";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "sloth" = callPackage
+    ({ mkDerivation, base, mtl, process }:
+     mkDerivation {
+       pname = "sloth";
+       version = "0.0.2";
+       sha256 = "0x3iw1mqbl3q723kkxr6b0i1hxcfb4sink4kmg6xnpzd3hwaspq9";
+       buildDepends = [ base mtl process ];
+       description = "Testing for minimal strictness";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smallarray" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hashable }:
+     mkDerivation {
+       pname = "smallarray";
+       version = "0.2.2.4";
+       sha256 = "16fgxsg8grxhqx6d4s3mm89qbkw2k72qvr4r701ih1i8gmf1ms1z";
+       buildDepends = [ base bytestring deepseq hashable ];
+       jailbreak = true;
+       homepage = "http://community.haskell.org/~aslatter/code/bytearray";
+       description = "low-level unboxed arrays, with minimal features";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "smallcaps" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, data-default
+     , directory, filepath, parsec, text, transformers
+     }:
+     mkDerivation {
+       pname = "smallcaps";
+       version = "0.6.0.0";
+       sha256 = "1vjzvsvci8zn4y2lh7s2kh6v1c6447nfksqxcv468zz8d1mflsfi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base containers data-default directory filepath parsec
+         text transformers
+       ];
+       testDepends = [
+         attoparsec base containers data-default parsec text
+       ];
+       description = "Flatten camel case text in LaTeX files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smallcheck" = callPackage
+    ({ mkDerivation, base, ghc-prim, logict, mtl, pretty }:
+     mkDerivation {
+       pname = "smallcheck";
+       version = "1.1.1";
+       sha256 = "1ygrabxh40bym3grnzqyfqn96lirnxspb8cmwkkr213239y605sd";
+       buildDepends = [ base ghc-prim logict mtl pretty ];
+       homepage = "https://github.com/feuerbach/smallcheck";
+       description = "A property-based testing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smallpt-hs" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "smallpt-hs";
+       version = "0.1";
+       sha256 = "1g4g2sgj39pkm3ll4yv0q9dcmq2lyd26qkr1gir1svmxs6hdwp59";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base vector ];
+       jailbreak = true;
+       homepage = "http://github.com/noteed/smallpt-hs";
+       description = "A Haskell port of the smallpt path tracer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "smallstring" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hashable, smallarray
+     , text, utf8-string
+     }:
+     mkDerivation {
+       pname = "smallstring";
+       version = "0.3.3";
+       sha256 = "1wkgbnknx9k56ikl6hpv91r9sav8v5qvl2w7z2jadgrlj29fy755";
+       buildDepends = [
+         base bytestring deepseq hashable smallarray text utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://community.haskell.org/~aslatter/code/smallstring/";
+       description = "A Unicode text type, optimized for low memory overhead";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "smartGroup" = callPackage
+    ({ mkDerivation, base, bytestring, containers, template-haskell }:
+     mkDerivation {
+       pname = "smartGroup";
+       version = "0.3.0";
+       sha256 = "10wb5v87xl54bsl2xxsh1fh54bgqbhmmkhyaa3ly23nm2f01cpnp";
+       buildDepends = [ base bytestring containers template-haskell ];
+       homepage = "http://patch-tag.com/r/salazar/smartGroup";
+       description = "group strings or bytestrings by words in common";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "smartcheck" = callPackage
+    ({ mkDerivation, base, containers, generic-deriving, ghc-prim, mtl
+     , QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "smartcheck";
+       version = "0.2.1";
+       sha256 = "1rkw4fhiidn9rfq4dvik58zr453jsh2l8xpswas2rsv6k5w0909r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers generic-deriving ghc-prim mtl QuickCheck random
+       ];
+       homepage = "https://github.com/leepike/SmartCheck";
+       description = "A smarter QuickCheck";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smartconstructor" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "smartconstructor";
+       version = "0.2.0.0";
+       sha256 = "1082siphwd4xx9akqip78kzpqi19i3l53h0s2vghhdm5lwplcvlv";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://github.com/frerich/smartconstructor";
+       description = "A package exposing a helper function for generating smart constructors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smartword" = callPackage
+    ({ mkDerivation, base, haskell98, pretty, unix, utf8-string }:
+     mkDerivation {
+       pname = "smartword";
+       version = "0.0.0.5";
+       sha256 = "0dxw4jgmwcz92n2rymdrfaz1v8lc2wknql9ca5p98jc14l8c2bl3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 pretty unix utf8-string ];
+       homepage = "http://kyagrd.dyndns.org/~kyagrd/project/smartword/";
+       description = "Web based flash card for Word Smart I and II vocabularies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sme" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "sme";
+       version = "0.1";
+       sha256 = "1d3kjyskwzc7p5bi6pv9yxfa6l6dqkkqc24dmmxl5wx7vmbfma25";
+       buildDepends = [ base ];
+       description = "A library for Secure Multi-Execution in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smoothie" = callPackage
+    ({ mkDerivation, base, linear, vector }:
+     mkDerivation {
+       pname = "smoothie";
+       version = "0.1.3";
+       sha256 = "1326hqinlfipbxcynqfsskh4bq5136b48z3kjic8qnddkgkhgg1s";
+       buildDepends = [ base linear vector ];
+       homepage = "https://github.com/phaazon/smoothie";
+       description = "Smooth curves via several splines and polynomials";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smt-lib" = callPackage
+    ({ mkDerivation, array, base, directory, polyparse }:
+     mkDerivation {
+       pname = "smt-lib";
+       version = "0.0.2";
+       sha256 = "1phm50pabahrpxrzp25mfhpafzhp4hz8cxp6fp93rwh4cl7cckky";
+       buildDepends = [ array base directory polyparse ];
+       jailbreak = true;
+       homepage = "http://tomahawkins.org";
+       description = "Parsing and printing SMT-LIB";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "smtLib" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "smtLib";
+       version = "1.0.7";
+       sha256 = "1jn2790x7g7n6jm5cfgd692n3l6iafyv0zyz40hx8ykcs4jh2rkf";
+       buildDepends = [ base pretty ];
+       description = "A library for working with the SMTLIB format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smtlib2" = callPackage
+    ({ mkDerivation, array, atto-lisp, attoparsec, base, blaze-builder
+     , bytestring, constraints, containers, data-fix, mtl, process
+     , tagged, text, transformers
+     }:
+     mkDerivation {
+       pname = "smtlib2";
+       version = "0.2";
+       sha256 = "1xkbsqhfjsnf3qx9x7n7hqp3l769k4bbrp1274sf9cqqgbcs2ny6";
+       buildDepends = [
+         array atto-lisp attoparsec base blaze-builder bytestring
+         constraints containers data-fix mtl process tagged text
+         transformers
+       ];
+       description = "A type-safe interface to communicate with an SMT solver";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "smtp-mail" = callPackage
+    ({ mkDerivation, array, base, base16-bytestring, base64-bytestring
+     , bytestring, cryptohash, filepath, mime-mail, network, text
+     }:
+     mkDerivation {
+       pname = "smtp-mail";
+       version = "0.1.4.5";
+       sha256 = "010fbrcbypajwd9fjjc35br9p5axl1pqd0n1v51585ncrlv2icyw";
+       buildDepends = [
+         array base base16-bytestring base64-bytestring bytestring
+         cryptohash filepath mime-mail network text
+       ];
+       homepage = "http://github.com/jhickner/smtp-mail";
+       description = "Simple email sending via SMTP";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smtp-mail-ng" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring
+     , base64-bytestring, bytestring, crypto-random, cryptohash
+     , filepath, haskeline, mime-mail, mtl, network, stringsearch, text
+     , tls, transformers, transformers-compat, x509-store, x509-system
+     }:
+     mkDerivation {
+       pname = "smtp-mail-ng";
+       version = "0.1.0.1";
+       sha256 = "1r177mpyjr3bdnzghfwjamin6jna7qs33b9kfl36qg2l959qn49n";
+       buildDepends = [
+         attoparsec base base16-bytestring base64-bytestring bytestring
+         crypto-random cryptohash filepath haskeline mime-mail mtl network
+         stringsearch text tls transformers transformers-compat x509-store
+         x509-system
+       ];
+       homepage = "https://github.com/avieth/smtp-mail-ng";
+       description = "An SMTP client EDSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "smtp2mta" = callPackage
+    ({ mkDerivation, base, haskell98, network, process }:
+     mkDerivation {
+       pname = "smtp2mta";
+       version = "0.2";
+       sha256 = "0z36zvrh6xhg8s7wai65d2y6hz0qz016ick9a4yrjpqxxk78h902";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 network process ];
+       homepage = "https://github.com/singpolyma/sock2stream";
+       description = "Listen for SMTP traffic and send it to an MTA script";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "smtps-gmail" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
+     , conduit, conduit-extra, cprng-aes, data-default, filepath
+     , mime-mail, network, resourcet, stringsearch, text, tls
+     , transformers
+     }:
+     mkDerivation {
+       pname = "smtps-gmail";
+       version = "1.3.0";
+       sha256 = "0vbykxqrw0gdhxwgchvgvkxwh7pwyrc1wvl26x5wqlkmkalmkvv9";
+       buildDepends = [
+         attoparsec base base64-bytestring bytestring conduit conduit-extra
+         cprng-aes data-default filepath mime-mail network resourcet
+         stringsearch text tls transformers
+       ];
+       homepage = "https://github.com/enzoh/smtps-gmail";
+       description = "Gmail SMTP Client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snake-game" = callPackage
+    ({ mkDerivation, base, GLUT, OpenGL, random }:
+     mkDerivation {
+       pname = "snake-game";
+       version = "1.2";
+       sha256 = "1iy3m20ldc98agdi7n71ik8k2f62ybfg719z79lcf8pzynbfsrbd";
+       buildDepends = [ base GLUT OpenGL random ];
+       description = "Snake Game Using OpenGL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
+     , clientsession, comonad, configurator, containers, directory
+     , directory-tree, dlist, errors, filepath, hashable, heist, lens
+     , logict, MonadCatchIO-transformers, mtl, mwc-random, old-time
+     , pwstore-fast, regex-posix, snap-core, snap-server, stm, syb
+     , template-haskell, text, time, transformers, unordered-containers
+     , vector, vector-algorithms, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snap";
+       version = "0.14.0.2";
+       revision = "1";
+       sha256 = "1yv1snkibsqd7cdxyqi7c8gvnv1hzzhw5jlk19kps526n5xvay7r";
+       editedCabalFile = "1640756ec7bfd3130869dce451904d6cc762ab6c8b8128982933fba80f325c92";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring cereal clientsession comonad
+         configurator containers directory directory-tree dlist errors
+         filepath hashable heist lens logict MonadCatchIO-transformers mtl
+         mwc-random old-time pwstore-fast regex-posix snap-core snap-server
+         stm syb template-haskell text time transformers
+         unordered-containers vector vector-algorithms xmlhtml
+       ];
+       homepage = "http://snapframework.com/";
+       description = "Top-level package for the Snap Web Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-accept" = callPackage
+    ({ mkDerivation, base, http-media, snap-core }:
+     mkDerivation {
+       pname = "snap-accept";
+       version = "0.1.0";
+       sha256 = "19sn7q9avb7y9j46fk7iga237qgcdm69sanb351c5s0lfgcpnf1m";
+       buildDepends = [ base http-media snap-core ];
+       jailbreak = true;
+       homepage = "http://github.com/zimothy/snap-accept";
+       description = "Accept header branching for the Snap web framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snap-app" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "snap-app";
+       version = "0.7.0";
+       sha256 = "1v3izzvxadjplir47ipi087sj6fcmfj5ivlhbkpp9ld7vj8sv2hi";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snap-auth-cli" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
+     , clientsession, cmdargs, snap, text, unordered-containers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "snap-auth-cli";
+       version = "0.1.0.1";
+       sha256 = "0spdn7zazd17yrcx004m4yag8vy4bac4997f81nfvy25jvg87hhl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson aeson-pretty base bytestring clientsession cmdargs snap text
+         unordered-containers utf8-string
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dzhus/snap-auth-cli";
+       description = "Command-line tool to manage Snap AuthManager database";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-blaze" = callPackage
+    ({ mkDerivation, base, blaze-html, snap-core }:
+     mkDerivation {
+       pname = "snap-blaze";
+       version = "0.2.1.2";
+       sha256 = "136i5q9ipfqrh7fw8rgn1ws6zkjdrfwfq9wpccrm8dg3l61380wh";
+       buildDepends = [ base blaze-html snap-core ];
+       homepage = "http://github.com/jaspervdj/snap-blaze";
+       description = "blaze-html integration for Snap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-blaze-clay" = callPackage
+    ({ mkDerivation, base, blaze-html, clay, snap-core }:
+     mkDerivation {
+       pname = "snap-blaze-clay";
+       version = "0.1.0.0";
+       sha256 = "05zi9rjd37xznjj8yhm5har12mfrclsrwd9fbcwh5ngccd7h7fiy";
+       buildDepends = [ base blaze-html clay snap-core ];
+       jailbreak = true;
+       homepage = "http://github.com/deckool/snap-blaze-clay";
+       description = "blaze-html-clay integration for Snap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-configuration-utilities" = callPackage
+    ({ mkDerivation, base, configurator, text, unordered-containers }:
+     mkDerivation {
+       pname = "snap-configuration-utilities";
+       version = "0.1.0.0";
+       sha256 = "07cm60v7bz585fawfc8mml178z54zqfg8kb7ldln5bsa0ggpha2z";
+       buildDepends = [ base configurator text unordered-containers ];
+       description = "Methods to manipulate Configurator objects for Snap & Snaplets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-core" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , blaze-builder, blaze-builder-enumerator, bytestring
+     , bytestring-mmap, case-insensitive, containers, deepseq, directory
+     , enumerator, filepath, hashable, HUnit, MonadCatchIO-transformers
+     , mtl, random, regex-posix, text, time, unix, unix-compat
+     , unordered-containers, vector, zlib-enum
+     }:
+     mkDerivation {
+       pname = "snap-core";
+       version = "0.9.7.0";
+       sha256 = "0ambk7q35v76ww62m4y6j45ga63c141zi3wxkgazybbazk5i36nw";
+       buildDepends = [
+         attoparsec attoparsec-enumerator base blaze-builder
+         blaze-builder-enumerator bytestring bytestring-mmap
+         case-insensitive containers deepseq directory enumerator filepath
+         hashable HUnit MonadCatchIO-transformers mtl random regex-posix
+         text time unix unix-compat unordered-containers vector zlib-enum
+       ];
+       homepage = "http://snapframework.com/";
+       description = "Snap: A Haskell Web Framework (core interfaces and types)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-cors" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, case-insensitive
+     , hashable, network, network-uri, snap, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "snap-cors";
+       version = "1.2.7";
+       sha256 = "0yvy27fvcryc17k24y0z84zvi5b65x1zn36gz0277b3fp2dqfskc";
+       buildDepends = [
+         attoparsec base bytestring case-insensitive hashable network
+         network-uri snap text transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ocharles/snap-cors";
+       description = "Add CORS headers to Snap applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-elm" = callPackage
+    ({ mkDerivation, base, bytestring, directory, Elm, filepath
+     , process, snap-core, text, transformers
+     }:
+     mkDerivation {
+       pname = "snap-elm";
+       version = "0.1.1.2";
+       sha256 = "1lp76s5yqgw5zvkv13b4552zq9f2mrngp5l5vd8kwz9rhawgl6kr";
+       buildDepends = [
+         base bytestring directory Elm filepath process snap-core text
+         transformers
+       ];
+       description = "Serve Elm files through the Snap web framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snap-error-collector" = callPackage
+    ({ mkDerivation, async, base, containers, monad-loops
+     , MonadCatchIO-transformers, snap, stm, time, transformers
+     }:
+     mkDerivation {
+       pname = "snap-error-collector";
+       version = "1.1.0";
+       sha256 = "06pqlv93qgibl5gbrp7p1vg6x421nrpkvhazbrcipdpbawrsgaj2";
+       buildDepends = [
+         async base containers monad-loops MonadCatchIO-transformers snap
+         stm time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ocharles/snap-error-collector";
+       description = "Collect errors in batches and dispatch them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-extras" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, blaze-html, bytestring
+     , configurator, containers, data-default, digestive-functors
+     , digestive-functors-heist, digestive-functors-snap, directory-tree
+     , errors, filepath, heist, jmacro, mtl, readable, safe, snap
+     , snap-core, text, transformers, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snap-extras";
+       version = "0.9";
+       revision = "1";
+       sha256 = "143n0y3cavfgn6f40sh7i441q77ys4lkfv0g9cai714n7yr0ya1v";
+       editedCabalFile = "3a360180bc4463874da336da5b4f1271a1cce298ca36cf9407a04823d4df58d8";
+       buildDepends = [
+         aeson base blaze-builder blaze-html bytestring configurator
+         containers data-default digestive-functors digestive-functors-heist
+         digestive-functors-snap directory-tree errors filepath heist jmacro
+         mtl readable safe snap snap-core text transformers xmlhtml
+       ];
+       jailbreak = true;
+       description = "A collection of useful helpers and utilities for Snap web applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snap-loader-dynamic" = callPackage
+    ({ mkDerivation, base, directory, directory-tree, hint, mtl
+     , snap-core, template-haskell, time, unix
+     }:
+     mkDerivation {
+       pname = "snap-loader-dynamic";
+       version = "0.10.0.2";
+       revision = "1";
+       sha256 = "0fnpzhwnj3dsqwx880391x9x6y0ry8f6dfrzkfs963zib9l3qvh7";
+       editedCabalFile = "2f64bcfd0c84d6f6f161c4418778e5c463d127a383c2f3f8216155d161d87d7d";
+       buildDepends = [
+         base directory directory-tree hint mtl snap-core template-haskell
+         time unix
+       ];
+       homepage = "http://snapframework.com/";
+       description = "Snap: A Haskell Web Framework: dynamic loader";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-loader-static" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "snap-loader-static";
+       version = "0.9.0.2";
+       sha256 = "0d6s7n6yryfs2jkw0hxvhvc79fhbj256askb1c6ksqhscxxxwz1m";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://snapframework.com/";
+       description = "Snap: A Haskell Web Framework: static loader";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-predicates" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, case-insensitive
+     , containers, HUnit, monads-tf, QuickCheck, snap-core
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "snap-predicates";
+       version = "0.3.1";
+       sha256 = "02rksb2p8wgpla86313z6lwqli5f4ryv4wr95s61kamcpbmf18y5";
+       buildDepends = [
+         attoparsec base bytestring case-insensitive containers monads-tf
+         snap-core text transformers
+       ];
+       testDepends = [
+         attoparsec base bytestring case-insensitive containers HUnit
+         monads-tf QuickCheck snap-core test-framework test-framework-hunit
+         test-framework-quickcheck2 text transformers
+       ];
+       description = "Declarative routing for Snap";
+       license = "unknown";
+     }) {};
+
+  "snap-server" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , blaze-builder, blaze-builder-enumerator, bytestring
+     , case-insensitive, containers, enumerator, HsOpenSSL
+     , MonadCatchIO-transformers, mtl, network, old-locale, snap-core
+     , text, time, unix, unix-compat
+     }:
+     mkDerivation {
+       pname = "snap-server";
+       version = "0.9.5.0";
+       sha256 = "1rsn3zxrl8cngpl47hd4js18gw90dwn0zhwv2z6hxi7ygwnx8q0i";
+       buildDepends = [
+         attoparsec attoparsec-enumerator base blaze-builder
+         blaze-builder-enumerator bytestring case-insensitive containers
+         enumerator HsOpenSSL MonadCatchIO-transformers mtl network
+         old-locale snap-core text time unix unix-compat
+       ];
+       configureFlags = [ "-fopenssl" ];
+       homepage = "http://snapframework.com/";
+       description = "A fast, iteratee-based, epoll-enabled web server for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-testing" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers
+     , digestive-functors, HandsomeSoup, hxt, io-streams, lens, mtl
+     , process, QuickCheck, snap, snap-core, text, transformers
+     }:
+     mkDerivation {
+       pname = "snap-testing";
+       version = "0.6.0.0";
+       sha256 = "1kzcdlfahhrpczihbr4f41p4ijps27lhghrh29csl6jl7n71lvqk";
+       buildDepends = [
+         async base bytestring containers digestive-functors HandsomeSoup
+         hxt io-streams mtl process QuickCheck snap snap-core text
+         transformers
+       ];
+       testDepends = [
+         async base bytestring containers digestive-functors HandsomeSoup
+         hxt io-streams lens mtl process QuickCheck snap snap-core text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dbp/snap-testing";
+       description = "A library for BDD-style testing with the Snap Web Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-utils" = callPackage
+    ({ mkDerivation, base, bytestring, heist, http-types
+     , MonadCatchIO-transformers, mtl, snap, snap-core, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snap-utils";
+       version = "0.1.2";
+       sha256 = "1kr09fj1jfs6sfmca51k0gwn4acya70s9irzay9yf5b9yyvka391";
+       buildDepends = [
+         base bytestring heist http-types MonadCatchIO-transformers mtl snap
+         snap-core text xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/LukeHoersten/snap-utils";
+       description = "Snap Framework utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snap-web-routes" = callPackage
+    ({ mkDerivation, base, bytestring, heist, mtl, snap, snap-core
+     , text, web-routes, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snap-web-routes";
+       version = "0.5.0.0";
+       sha256 = "1ml0b759k2n9bd2x4akz4dfyk8ywnpgrdlcymng4vhjxbzngnniv";
+       buildDepends = [
+         base bytestring heist mtl snap snap-core text web-routes xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/lukerandall/snap-web-routes";
+       description = "Type safe URLs for Snap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-acid-state" = callPackage
+    ({ mkDerivation, acid-state, base, mtl, snap, text, transformers }:
+     mkDerivation {
+       pname = "snaplet-acid-state";
+       version = "0.2.6.2";
+       sha256 = "0p4cfc5llz2z0jfmkj225nxi8abdncjl53g1rjwc86yfgld0wwm9";
+       buildDepends = [ acid-state base mtl snap text transformers ];
+       homepage = "https://github.com/mightybyte/snaplet-acid-state";
+       description = "acid-state snaplet for Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-actionlog" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring
+     , digestive-functors, digestive-functors-heist
+     , digestive-functors-snap, errors, heist, persistent
+     , persistent-postgresql, persistent-template, readable
+     , restful-snap, snap, snap-extras, snaplet-persistent, text, time
+     , transformers, unordered-containers, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snaplet-actionlog";
+       version = "0.2.0.1";
+       sha256 = "177a1b9fvlqh59hd9b5y92lq8yxv14jh79aadkyhxb4i0l5rl9vv";
+       buildDepends = [
+         base blaze-builder bytestring digestive-functors
+         digestive-functors-heist digestive-functors-snap errors heist
+         persistent persistent-postgresql persistent-template readable
+         restful-snap snap snap-extras snaplet-persistent text time
+         transformers unordered-containers xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/soostone/snaplet-actionlog";
+       description = "Generic action log snaplet for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-amqp" = callPackage
+    ({ mkDerivation, amqp, base, bytestring, configurator, lens
+     , monad-control, mtl, network, resource-pool, snap, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-amqp";
+       version = "1.1.0.0";
+       sha256 = "01qw28paifysk402lpb7y8dyhf401ls1l0dcn6fiigvczwxzmk91";
+       buildDepends = [
+         amqp base bytestring configurator lens monad-control mtl network
+         resource-pool snap transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ixmatus/snaplet-amqp";
+       description = "Snap framework snaplet for the AMQP library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-auth-acid" = callPackage
+    ({ mkDerivation, acid-state, aeson, attoparsec, base, cereal
+     , clientsession, directory, errors, filepath, hashable, lens
+     , MonadCatchIO-transformers, mtl, safecopy, snap, snap-core, text
+     , time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "snaplet-auth-acid";
+       version = "0.0.1";
+       sha256 = "1f6p8iqb5cq2yz6c6zdd71p6cfkvnhqkczqiyb7080xira9w5ia3";
+       buildDepends = [
+         acid-state aeson attoparsec base cereal clientsession directory
+         errors filepath hashable lens MonadCatchIO-transformers mtl
+         safecopy snap snap-core text time unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Provides an Acid-State backend for the Auth Snaplet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-coffee" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, directory
+     , filepath, haskell-coffee, mtl, snap, snap-core
+     }:
+     mkDerivation {
+       pname = "snaplet-coffee";
+       version = "0.1.0.2";
+       sha256 = "1kxxnk8m9154sallhy3rf8nmz0qkvchh8m761jgzhfbnnwlznpnf";
+       buildDepends = [
+         base bytestring configurator directory filepath haskell-coffee mtl
+         snap snap-core
+       ];
+       homepage = "https://github.com/AtticHacker/snaplet-coffee";
+       description = "CoffeeScript for Snap, auto-compilation and pre-compilation";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "snaplet-css-min" = callPackage
+    ({ mkDerivation, base, bytestring, css-text, directory, filepath
+     , lens, snap, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "snaplet-css-min";
+       version = "0.1.2";
+       sha256 = "1bp6y0x03dpflbp4b1kkbxnqwsgnynbbpdgcpswwxz48xkpcp0ij";
+       buildDepends = [
+         base bytestring css-text directory filepath lens snap text
+         utf8-string
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/zmthy/snaplet-css-min";
+       description = "A Snaplet for CSS minification";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "snaplet-environments" = callPackage
+    ({ mkDerivation, base, bson, configurator, mtl, regex-tdfa, snap
+     , snap-core, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-environments";
+       version = "0.1.1";
+       sha256 = "1kk2ry19z73cmmwh3hmg87n00hqhzpmdvnb36b7yf9ck4zkhgy3h";
+       buildDepends = [
+         base bson configurator mtl regex-tdfa snap snap-core text
+         unordered-containers
+       ];
+       jailbreak = true;
+       description = "DEPRECATED! You should use standard Snap >= 0.9 \"environments\" functionality. It provided ability to easly read configuration based on given app environment given at command line, envs are defined in app configuration file";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-fay" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, configurator, directory
+     , fay, filepath, mtl, snap, snap-core, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-fay";
+       version = "0.3.3.11";
+       sha256 = "18g61qivc49g37zmb4qv2piwlgs572fmngdpsjdhjmrgqn049fjr";
+       buildDepends = [
+         aeson base bytestring configurator directory fay filepath mtl snap
+         snap-core transformers
+       ];
+       homepage = "https://github.com/faylang/snaplet-fay";
+       description = "Fay integration for Snap with request- and pre-compilation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-hasql" = callPackage
+    ({ mkDerivation, base, hasql, hasql-backend, lens, mtl, snap }:
+     mkDerivation {
+       pname = "snaplet-hasql";
+       version = "0.0.2";
+       sha256 = "1argaxdmr1znjgvhyj8cnbnygj98nan66la9n4knmbizaqy0yw3m";
+       buildDepends = [ base hasql hasql-backend lens mtl snap ];
+       jailbreak = true;
+       description = "A Hasql snaplet";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "snaplet-haxl" = callPackage
+    ({ mkDerivation, base, haxl, MonadCatchIO-transformers, snap
+     , transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-haxl";
+       version = "0.0.0.2";
+       sha256 = "0xqz62qrhzr0ik60055w7jawxkps6cn5k6v1g7nx2zzhyvg1w4wl";
+       buildDepends = [
+         base haxl MonadCatchIO-transformers snap transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ChristopherBiscardi/snaplet-haxl";
+       description = "Snaplet for Facebook's Haxl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-hdbc" = callPackage
+    ({ mkDerivation, base, bytestring, clientsession, containers
+     , convertible, data-lens, data-lens-template, HDBC
+     , MonadCatchIO-transformers, mtl, resource-pool-catchio, snap, text
+     , time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-hdbc";
+       version = "0.9.1";
+       sha256 = "17r7ailc2cnfny1ki7b027b5xipg2nvgr2yxvfh0sfzq8xkqa8ym";
+       buildDepends = [
+         base bytestring clientsession containers convertible data-lens
+         data-lens-template HDBC MonadCatchIO-transformers mtl
+         resource-pool-catchio snap text time transformers
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://norm2782.com/";
+       description = "HDBC snaplet for Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-hslogger" = callPackage
+    ({ mkDerivation, base, configurator, hslogger, mtl, snap
+     , transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-hslogger";
+       version = "1.0.0.2";
+       sha256 = "15cvpiz3p1qhb80sgz61mabvkb8h6j713jrny6mbg6qj945jbb0x";
+       buildDepends = [
+         base configurator hslogger mtl snap transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ixmatus/snaplet-logger";
+       description = "Snap framework snaplet for the Logger API library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-i18n" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, filepath, heist
+     , lens, snap, snap-loader-static, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snaplet-i18n";
+       version = "0.0.5";
+       sha256 = "0yl28vvk5p1qazcvb3ca3748cqzr45x9274ifcidcn13p327kck2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring configurator filepath heist lens snap
+         snap-loader-static text xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/HaskellCNOrg/snaplet-i18n";
+       description = "snaplet-i18n";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-influxdb" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, http-client
+     , influxdb, lens, monad-control, mtl, network, snap, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-influxdb";
+       version = "1.0.1.1";
+       sha256 = "1dv800rclzl0b251bixksfl7jf28z82ql7nikf5dvginfpm71j7j";
+       buildDepends = [
+         base bytestring configurator http-client influxdb lens
+         monad-control mtl network snap text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ixmatus/snaplet-influxdb";
+       description = "Snap framework snaplet for the InfluxDB library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-lss" = callPackage
+    ({ mkDerivation, base, directory, filepath, heist, hspec-snap
+     , hspec2, lens, lss, snap, text, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snaplet-lss";
+       version = "0.1.0.0";
+       sha256 = "0gll9r65xahx5vai4pbi0nrvscg6z964m30s58kkzy3898j000gx";
+       buildDepends = [
+         base directory filepath heist lss snap text xmlhtml
+       ];
+       testDepends = [ base hspec-snap hspec2 lens snap text ];
+       homepage = "https://github.com/dbp/lss";
+       description = "Lexical Style Sheets - Snap Web Framework adaptor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-mandrill" = callPackage
+    ({ mkDerivation, base, configurator, mandrill, mtl, network, snap
+     , transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-mandrill";
+       version = "0.1.0.3";
+       sha256 = "0yyb0qbd14v6xw5vix08pv40w9l8p2vwvmh67sa9b4q9wkvwv962";
+       buildDepends = [
+         base configurator mandrill mtl network snap transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ixmatus/snaplet-mandrill";
+       description = "Snap framework snaplet for the Mandrill API library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-mongoDB" = callPackage
+    ({ mkDerivation, base, bson, bytestring, compact-string-fix
+     , containers, haskell-src-exts, MonadCatchIO-transformers, mongoDB
+     , mtl, parsec, regular, safe, snap, snap-core, template-haskell
+     , text, time
+     }:
+     mkDerivation {
+       pname = "snaplet-mongoDB";
+       version = "0.2";
+       sha256 = "0hpm2bhvb8gh4sz4dfx53s24gkkk2c234szhwbrn10bmd7hrapaw";
+       buildDepends = [
+         base bson bytestring compact-string-fix containers haskell-src-exts
+         MonadCatchIO-transformers mongoDB mtl parsec regular safe snap
+         snap-core template-haskell text time
+       ];
+       jailbreak = true;
+       description = "Snap Framework MongoDB support as Snaplet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-mongodb-minimalistic" = callPackage
+    ({ mkDerivation, base, lens, mongoDB, mtl, snap, text, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-mongodb-minimalistic";
+       version = "0.0.6.12";
+       sha256 = "0d0hnn0qp4zd453wzh1d3adls68gpv28dnkr7dcmjfl4f5igdran";
+       buildDepends = [ base lens mongoDB mtl snap text transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/Palmik/snaplet-mongodb-minimalistic";
+       description = "Minimalistic MongoDB Snaplet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-mysql-simple" = callPackage
+    ({ mkDerivation, base, bytestring, clientsession, configurator
+     , containers, errors, lens, MonadCatchIO-transformers, mtl, mysql
+     , mysql-simple, resource-pool-catchio, snap, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-mysql-simple";
+       version = "0.2.1.0";
+       sha256 = "0hq58xsk5089kcdv2pby7dd71nb3nqzxrpppzb9qyqfz7pf45nr1";
+       buildDepends = [
+         base bytestring clientsession configurator containers errors lens
+         MonadCatchIO-transformers mtl mysql mysql-simple
+         resource-pool-catchio snap text transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ibotty/snaplet-mysql-simple";
+       description = "mysql-simple snaplet for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-oauth" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, bytestring-show
+     , data-lens, data-lens-template, failure, hashable, heist, hoauth2
+     , http-conduit, http-types, HUnit, MonadCatchIO-mtl, snap
+     , snap-core, snap-loader-dynamic, snap-loader-static
+     , test-framework, test-framework-hunit, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-oauth";
+       version = "0.0.6";
+       sha256 = "177yspz91nlzz9pw9x9zh4s4q7z7w9kl8gg5fd285xbadxazp3yl";
+       buildDepends = [
+         aeson base bytestring bytestring-show data-lens data-lens-template
+         failure hashable heist hoauth2 http-conduit http-types
+         MonadCatchIO-mtl snap snap-core snap-loader-dynamic
+         snap-loader-static text unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring bytestring-show HUnit test-framework
+         test-framework-hunit text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/HaskellCNOrg/snaplet-oauth";
+       description = "snaplet-oauth";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-persistent" = callPackage
+    ({ mkDerivation, base, bytestring, clientsession, configurator
+     , errors, heist, lens, monad-logger, MonadCatchIO-transformers, mtl
+     , persistent, persistent-postgresql, persistent-template, readable
+     , resource-pool, resourcet, safe, snap, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-persistent";
+       version = "0.5";
+       sha256 = "1zbxknmsg9q6jwbxr4nh8nkfgkjmxb7pr2wwqa7rgr0wvh8ipx5k";
+       buildDepends = [
+         base bytestring clientsession configurator errors heist lens
+         monad-logger MonadCatchIO-transformers mtl persistent
+         persistent-postgresql persistent-template readable resource-pool
+         resourcet safe snap text time transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/soostone/snaplet-persistent";
+       description = "persistent snaplet for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-postgresql-simple" = callPackage
+    ({ mkDerivation, base, bytestring, clientsession, configurator
+     , errors, lens, MonadCatchIO-transformers, mtl, postgresql-simple
+     , resource-pool-catchio, snap, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-postgresql-simple";
+       version = "0.6.0.1";
+       sha256 = "0njs0nlznq0yh7gmihwjvxbngw3r0f7csw26pynyi3q0daccsgxg";
+       buildDepends = [
+         base bytestring clientsession configurator errors lens
+         MonadCatchIO-transformers mtl postgresql-simple
+         resource-pool-catchio snap text transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mightybyte/snaplet-postgresql-simple";
+       description = "postgresql-simple snaplet for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-postmark" = callPackage
+    ({ mkDerivation, base, configurator, mtl, postmark, snap, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-postmark";
+       version = "0.2.0";
+       sha256 = "0006i88ssgh6z9g967wlw0km8abxmxdjjs7aalsddzla6xdp8wnx";
+       buildDepends = [
+         base configurator mtl postmark snap text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/LukeHoersten/snaplet-postmark";
+       description = "Postmark snaplet for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-purescript" = callPackage
+    ({ mkDerivation, base, configurator, mtl, raw-strings-qq, shelly
+     , snap, snap-core, text
+     }:
+     mkDerivation {
+       pname = "snaplet-purescript";
+       version = "0.2.0.0";
+       sha256 = "0f9014v92j5rgy0x6j965d4gay0ipz668rv7rp3m56qnghc8vp5h";
+       buildDepends = [
+         base configurator mtl raw-strings-qq shelly snap snap-core text
+       ];
+       jailbreak = true;
+       description = "Automatic (re)compilation of purescript projects";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "snaplet-recaptcha" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring
+     , configurator, heist, http-conduit, lens
+     , MonadCatchIO-transformers, mtl, snap, text, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-recaptcha";
+       version = "1.0.3";
+       sha256 = "02f5fv70r7zjzycrrqsd1jwgpa7sq1m6rci74dlcbnms7z9cpv26";
+       buildDepends = [
+         aeson base blaze-builder bytestring configurator heist http-conduit
+         lens MonadCatchIO-transformers mtl snap text transformers
+       ];
+       homepage = "http://github.com/mikeplus64/snaplet-recaptcha";
+       description = "A ReCAPTCHA verification snaplet with Heist integration and connection sharing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-redis" = callPackage
+    ({ mkDerivation, base, configurator, hedis, lens, mtl, network
+     , snap, text, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-redis";
+       version = "0.1.4.2";
+       sha256 = "0ri5cj3gjz5c1snh7kbncb08ijs1551ixr06v3nxjsb03hrl4hhh";
+       buildDepends = [
+         base configurator hedis lens mtl network snap text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dzhus/snaplet-redis/";
+       description = "Redis support for Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-redson" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, configurator, containers
+     , data-lens, data-lens-template, easy-file, hedis, mtl, snap
+     , snap-core, snaplet-redis, text, utf8-string, websockets
+     , websockets-snap
+     }:
+     mkDerivation {
+       pname = "snaplet-redson";
+       version = "0.1.0.0";
+       sha256 = "0pvan8fnddn27cps5x8gyrwmm88z96jjh124i9g3mi9aqpyx8z5d";
+       buildDepends = [
+         aeson base bytestring configurator containers data-lens
+         data-lens-template easy-file hedis mtl snap snap-core snaplet-redis
+         text utf8-string websockets websockets-snap
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dzhus/snaplet-redson/";
+       description = "CRUD for JSON data with Redis storage";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-rest" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring
+     , case-insensitive, http-media, lens, mtl, snap, snap-accept
+     , snap-core, text, utf8-string, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snaplet-rest";
+       version = "0.1.0";
+       sha256 = "1w1cy5zisn0mxj6rrz7wrw31ariia006cjxqwh9ahds6iwqh40y1";
+       buildDepends = [
+         aeson base blaze-builder bytestring case-insensitive http-media
+         lens mtl snap snap-accept snap-core text utf8-string xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/zimothy/snaplet-rest";
+       description = "REST resources for the Snap web framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-riak" = callPackage
+    ({ mkDerivation, aeson, base, containers, data-lens
+     , data-lens-template, mtl, riak, riak-protobuf, snap, snap-core
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-riak";
+       version = "0.2.0.0";
+       sha256 = "0q0mnk0cl31xidax6bahvwabm9341p5852939yzgbam72mcv8jh0";
+       buildDepends = [
+         aeson base containers data-lens data-lens-template mtl riak
+         riak-protobuf snap snap-core time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/statusfailed/snaplet-riak";
+       description = "A Snaplet for the Riak database";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "snaplet-sass" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, directory
+     , filepath, mtl, process, snap, snap-core, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-sass";
+       version = "0.1.0.0";
+       sha256 = "0wv9a7pa6r7nzgppbywasqy38zk79ann2ivwyyh2b9dny95mx5yd";
+       buildDepends = [
+         base bytestring configurator directory filepath mtl process snap
+         snap-core transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/lukerandall/snaplet-sass";
+       description = "Sass integration for Snap with request- and pre-compilation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-sedna" = callPackage
+    ({ mkDerivation, base, bytestring, containers, monad-control, mtl
+     , resource-pool, sednaDBXML, snap
+     }:
+     mkDerivation {
+       pname = "snaplet-sedna";
+       version = "0.0.1.0";
+       sha256 = "1rd0ymsnanf3nk02cim8lm9gppm739jfi2x6fzmp10xs9wmlhqab";
+       buildDepends = [
+         base bytestring containers monad-control mtl resource-pool
+         sednaDBXML snap
+       ];
+       jailbreak = true;
+       description = "Snaplet for Sedna Bindings. Essentailly a rip of snaplet-hdbc.";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-ses-html" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, configurator
+     , ses-html, snap, text, transformers
+     }:
+     mkDerivation {
+       pname = "snaplet-ses-html";
+       version = "0.1.0.0";
+       sha256 = "14q577mnyf9r113v4sbfcpqlfd47wcdnbwvz70w5bqp996627jyl";
+       buildDepends = [
+         base blaze-html bytestring configurator ses-html snap text
+         transformers
+       ];
+       description = "Snaplet for the ses-html package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-sqlite-simple" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, clientsession
+     , configurator, containers, direct-sqlite, directory, errors, HUnit
+     , lens, MonadCatchIO-transformers, mtl, SafeSemaphore, snap
+     , snap-core, sqlite-simple, stm, test-framework
+     , test-framework-hunit, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-sqlite-simple";
+       version = "0.4.8.2";
+       sha256 = "00a92wymniaw0si4xpkx1442prmcjimwrjjqiqnkj6k8bxs7p2jm";
+       buildDepends = [
+         aeson base bytestring clientsession configurator direct-sqlite
+         MonadCatchIO-transformers mtl snap sqlite-simple text transformers
+         unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring clientsession configurator containers
+         directory errors HUnit lens MonadCatchIO-transformers mtl
+         SafeSemaphore snap snap-core sqlite-simple stm test-framework
+         test-framework-hunit text time transformers unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/nurpax/snaplet-sqlite-simple";
+       description = "sqlite-simple snaplet for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-stripe" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, heist
+     , lens-family-core, mtl, snap, stripe, text, text-format
+     , transformers, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snaplet-stripe";
+       version = "0.3.0";
+       sha256 = "0j85vzfmw6skag8rfww4gsg1lyfc7qbxiqhmwbsh4vfjiagrc9wp";
+       buildDepends = [
+         base bytestring configurator heist lens-family-core mtl snap stripe
+         text text-format transformers xmlhtml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/LukeHoersten/snaplet-stripe";
+       description = "Stripe snaplet for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snaplet-tasks" = callPackage
+    ({ mkDerivation, base, bytestring, containers, curl, data-hash
+     , haskell98, MissingH, mtl, network, snap, snap-core
+     }:
+     mkDerivation {
+       pname = "snaplet-tasks";
+       version = "0.1.2";
+       sha256 = "0wkhjjjmd08jbhp41j6xvcvg3g7c74cz18mm89k8alwfc50krvc0";
+       buildDepends = [
+         base bytestring containers curl data-hash haskell98 MissingH mtl
+         network snap snap-core
+       ];
+       jailbreak = true;
+       description = "Snaplet for Snap Framework enabling developers to administrative tasks akin to Rake tasks from Ruby On Rails framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snaplet-typed-sessions" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, clientsession
+     , containers, hashtables, mtl, PSQueue, random, regex-posix, snap
+     , snap-core, time
+     }:
+     mkDerivation {
+       pname = "snaplet-typed-sessions";
+       version = "0.5";
+       sha256 = "0gc6vnxsbwgciv281p6jff8ylcni4qpkmak2zqz710in86grjbgw";
+       buildDepends = [
+         base bytestring cereal clientsession containers hashtables mtl
+         PSQueue random regex-posix snap snap-core time
+       ];
+       jailbreak = true;
+       description = "Typed session snaplets and continuation-based programming for the Snap web framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snappy" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, snappy
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "snappy";
+       version = "0.2.0.2";
+       sha256 = "14fdx0fikkd9krpzqrvas6mjqmmhmh0qwqzvz1kymil7d8rdyr85";
+       buildDepends = [ base bytestring ];
+       testDepends = [
+         base bytestring QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       extraLibraries = [ snappy ];
+       homepage = "http://github.com/bos/snappy";
+       description = "Bindings to the Google Snappy library for fast compression/decompression";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) snappy;};
+
+  "snappy-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, snappy }:
+     mkDerivation {
+       pname = "snappy-conduit";
+       version = "0.1.0.0";
+       sha256 = "0k93v3dyv7818xy45l7i5wykfmnwyqkykxjh6xr937zh8a4qapfi";
+       buildDepends = [ base bytestring conduit snappy ];
+       homepage = "http://github.com/tatac1/snappy-conduit/";
+       description = "Conduit bindings for Snappy (see snappy package)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "snappy-framing" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, snappy }:
+     mkDerivation {
+       pname = "snappy-framing";
+       version = "0.1.0";
+       sha256 = "1m7zk4ns8igh2717d77k4zvf06byp35dly3ykawaz9hxwsxn1jb2";
+       buildDepends = [ array base binary bytestring snappy ];
+       homepage = "https://github.com/kim/snappy-framing";
+       description = "Snappy Framing Format in Haskell";
+       license = "unknown";
+     }) {};
+
+  "snappy-iteratee" = callPackage
+    ({ mkDerivation, base, bytestring, iteratee, snappy }:
+     mkDerivation {
+       pname = "snappy-iteratee";
+       version = "0.1";
+       sha256 = "17jwsvw7ik2bjanmzw4h72mdjaz031b5a6hi7cjz4ba1yjkiqnmk";
+       buildDepends = [ base bytestring iteratee snappy ];
+       homepage = "http://github.com/iand675/snappy-iteratee";
+       description = "An enumeratee that uses Google's snappy compression library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sndfile-enumerators" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, filepath
+     , iteratee, listlike-instances, MonadCatchIO-transformers
+     , transformers, vector, word24
+     }:
+     mkDerivation {
+       pname = "sndfile-enumerators";
+       version = "0.10.0.0";
+       sha256 = "1nnlbhnm88xy462sh3d54b751ndl0r2qggbxn2irrwqdnhc21v4r";
+       buildDepends = [
+         base binary bytestring containers filepath iteratee
+         listlike-instances MonadCatchIO-transformers transformers vector
+         word24
+       ];
+       jailbreak = true;
+       homepage = "http://www.tiresiaspress.us/haskell/sndfile-enumerators";
+       description = "Audio file reading/writing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snippet-extractor" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "snippet-extractor";
+       version = "0.2.0";
+       sha256 = "0iyya6p5i5jrhvah45bcvqgldfx49qv8393vwi5k413vxjr7c3zm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base parsec ];
+       description = "Extracts labeled snippets of code to files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snm" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, HsSyck
+     , parsec, safe, spoonutil, xhtml
+     }:
+     mkDerivation {
+       pname = "snm";
+       version = "0.0.4";
+       sha256 = "1n2cj35qrp6a766w29qrqcpcrv81xcpk9agkbibxngxh03abyhji";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath HsSyck parsec safe spoonutil
+         xhtml
+       ];
+       homepage = "http://github.com/elginer/snm";
+       description = "The Simple Nice-Looking Manual Generator";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snmp" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-parse, asn1-types, async, base
+     , binary, bytestring, cipher-aes, cipher-des, containers
+     , crypto-cipher-types, cryptohash, mtl, network, network-info
+     , random, securemem, text, time
+     }:
+     mkDerivation {
+       pname = "snmp";
+       version = "0.1.0.2";
+       sha256 = "0w7fzkbbfdn5kkkvr0i06bk34mbwscxph38l2l3xxn2ggn8xwkfs";
+       buildDepends = [
+         asn1-encoding asn1-parse asn1-types async base binary bytestring
+         cipher-aes cipher-des containers crypto-cipher-types cryptohash mtl
+         network network-info random securemem text time
+       ];
+       description = "API for write snmp client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snow-white" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mps }:
+     mkDerivation {
+       pname = "snow-white";
+       version = "2009.12.1";
+       sha256 = "007hzr8dpj0mhvmnpdg0gi296q3mlicnx36s6hmgifzmyaa8kssi";
+       buildDepends = [ base binary bytestring mps ];
+       homepage = "http://github.com/nfjinjing/snow-white";
+       description = "encode any binary instance to white space";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snowball" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, QuickCheck
+     , quickcheck-instances, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, text, text-icu
+     }:
+     mkDerivation {
+       pname = "snowball";
+       version = "1.0.0.1";
+       sha256 = "0fvxzm14ffjqq6n51bi5cmq5yrlggpkbb9rbbw522l6cjgv0apbx";
+       buildDepends = [ base bytestring text text-icu ];
+       testDepends = [
+         base HUnit QuickCheck quickcheck-instances test-framework-hunit
+         test-framework-quickcheck2 test-framework-th text
+       ];
+       homepage = "http://hub.darcs.net/dag/snowball";
+       description = "Bindings to the Snowball library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snowflake" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "snowflake";
+       version = "0.1.1.1";
+       sha256 = "1pfd8lqwv0504hli6fhwiqckcca0x9pnfzmy3kz36w7138rclmpi";
+       buildDepends = [ base time ];
+       description = "A loose port of Twitter Snowflake to Haskell. Generates arbitrary precision, unique, time-sortable identifiers.";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "snowglobe" = callPackage
+    ({ mkDerivation, base, bytestring, containers, gl-capture, GLUT
+     , OpenGL, OpenGLRaw, random
+     }:
+     mkDerivation {
+       pname = "snowglobe";
+       version = "3.0.0.2";
+       sha256 = "0l6hy0mza344k7m9skb6v9al611zgrrknhjdzx4ipqdd9zky9p23";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers gl-capture GLUT OpenGL OpenGLRaw random
+       ];
+       jailbreak = true;
+       homepage = "http://code.mathr.co.uk/snowglobe";
+       description = "randomized fractal snowflakes demo";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "soap" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, configurator
+     , data-default, exceptions, hspec, http-client, http-types, HUnit
+     , iconv, mtl, resourcet, text, unordered-containers, xml-conduit
+     , xml-conduit-writer, xml-types
+     }:
+     mkDerivation {
+       pname = "soap";
+       version = "0.2.2.5";
+       sha256 = "1imh9g2my0d981prai69yr9yf7linvaijcn80zlyaz44pasxnrw7";
+       buildDepends = [
+         base bytestring conduit configurator data-default exceptions
+         http-client http-types iconv mtl resourcet text
+         unordered-containers xml-conduit xml-conduit-writer xml-types
+       ];
+       testDepends = [
+         base bytestring hspec HUnit text unordered-containers xml-conduit
+         xml-conduit-writer
+       ];
+       homepage = "https://bitbucket.org/dpwiz/haskell-soap";
+       description = "SOAP client tools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "soap-openssl" = callPackage
+    ({ mkDerivation, base, configurator, data-default, HsOpenSSL
+     , http-client, http-client-openssl, soap, text
+     }:
+     mkDerivation {
+       pname = "soap-openssl";
+       version = "0.1.0.2";
+       sha256 = "03w389yhybzvc06gpxigibqga9mr7m41rkg1ki3n686j9xzm8210";
+       buildDepends = [
+         base configurator data-default HsOpenSSL http-client
+         http-client-openssl soap text
+       ];
+       homepage = "https://bitbucket.org/dpwiz/haskell-soap";
+       description = "TLS-enabled SOAP transport (using openssl bindings)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "soap-tls" = callPackage
+    ({ mkDerivation, base, configurator, connection, data-default
+     , http-client, http-client-tls, soap, text, tls, x509, x509-store
+     , x509-validation
+     }:
+     mkDerivation {
+       pname = "soap-tls";
+       version = "0.1.1.2";
+       sha256 = "0xnzwzmhh2i5nci7xbnkr28hxm376fbmgjcwz7svk46k1vxvlfp4";
+       buildDepends = [
+         base configurator connection data-default http-client
+         http-client-tls soap text tls x509 x509-store x509-validation
+       ];
+       homepage = "https://bitbucket.org/dpwiz/haskell-soap";
+       description = "TLS-enabled SOAP transport (using tls package)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "sock2stream" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , haskell98, network
+     }:
+     mkDerivation {
+       pname = "sock2stream";
+       version = "0.3";
+       sha256 = "1vnrjza4x4jqlvz7mmihrjbdf4ngw02fkkn1j768w81m814vny7h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory haskell98 network
+       ];
+       homepage = "https://github.com/singpolyma/sock2stream";
+       description = "Tunnel a socket over a single datastream (stdin/stdout)";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sockaddr" = callPackage
+    ({ mkDerivation, base, byteorder, bytestring, network }:
+     mkDerivation {
+       pname = "sockaddr";
+       version = "0.0.0";
+       sha256 = "1h74k5pipv9314y1d2wgpwgvyxfp6pcnq5051fdqr1shqlkpwbs2";
+       buildDepends = [ base byteorder bytestring network ];
+       description = "Printing SockAddr";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "socket-activation" = callPackage
+    ({ mkDerivation, base, network, transformers, unix }:
+     mkDerivation {
+       pname = "socket-activation";
+       version = "0.1.0.1";
+       sha256 = "109zxc16zlp98ggc99ap7wbzaa40yg34v3abn2nfs0w49dvh1zma";
+       buildDepends = [ base network transformers unix ];
+       homepage = "https://github.com/sakana/haskell-socket-activation";
+       description = "systemd socket activation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "socket-io" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, engine-io
+     , mtl, stm, text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "socket-io";
+       version = "1.3.0";
+       sha256 = "10zza904qrbj65bgi5n0mcf41s7imwfc0qrq7cykb5la7anb2k4q";
+       buildDepends = [
+         aeson attoparsec base bytestring engine-io mtl stm text
+         transformers unordered-containers vector
+       ];
+       homepage = "http://github.com/ocharles/engine.io";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "socketio" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
+     , blaze-builder, bytestring, conduit, conduit-extra, http-types
+     , HUnit, lifted-base, monad-control, mtl, QuickCheck, random
+     , scientific, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, transformers-base
+     , unordered-containers, vector, wai, warp
+     }:
+     mkDerivation {
+       pname = "socketio";
+       version = "0.1.3";
+       sha256 = "19rwkix7fjj3znd7z5bzknnpcfkmkmpcmrksv3q51b9fwph8gwrq";
+       buildDepends = [
+         aeson ansi-terminal attoparsec base blaze-builder bytestring
+         conduit conduit-extra http-types lifted-base monad-control mtl
+         random text transformers-base unordered-containers vector wai warp
+       ];
+       testDepends = [
+         aeson ansi-terminal attoparsec base blaze-builder bytestring
+         conduit conduit-extra http-types HUnit lifted-base monad-control
+         mtl QuickCheck random scientific test-framework
+         test-framework-hunit test-framework-quickcheck2 text
+         transformers-base unordered-containers vector wai warp
+       ];
+       jailbreak = true;
+       description = "Socket.IO server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "socks" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, network }:
+     mkDerivation {
+       pname = "socks";
+       version = "0.5.4";
+       sha256 = "1nmldlwxqasmg359i2aa3a903gi3lmnlspvf12xk49jrg3mf3dg9";
+       buildDepends = [ base bytestring cereal network ];
+       homepage = "http://github.com/vincenthz/hs-socks";
+       description = "Socks proxy (version 5) implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sodium" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "sodium";
+       version = "0.11.0.3";
+       sha256 = "00qs1calial08a185ma5hm17lmmzig0yjf3710d5ikq1bmrgcqga";
+       buildDepends = [ base containers mtl ];
+       description = "Sodium Reactive Programming (FRP) System";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "soegtk" = callPackage
+    ({ mkDerivation, base, cairo, gtk, old-time, stm }:
+     mkDerivation {
+       pname = "soegtk";
+       version = "0.12.1";
+       sha256 = "01f49hwxc5h85iwzgnddxlh1lmb3s27zddmghxrlq958gcrr2iar";
+       buildDepends = [ base cairo gtk old-time stm ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "GUI functions as used in the book \"The Haskell School of Expression\"";
+       license = stdenv.lib.licenses.lgpl21;
+     }) {};
+
+  "som" = callPackage
+    ({ mkDerivation, base, containers, grid, MonadRandom, QuickCheck
+     , random, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "som";
+       version = "8.0.0";
+       sha256 = "030vb8blgcbky6yrxmlgrjq68mm95x91cg2yqk0vd5c412rrnwwl";
+       buildDepends = [ base containers grid MonadRandom ];
+       testDepends = [
+         base containers grid MonadRandom QuickCheck random test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/mhwombat/som";
+       description = "Self-Organising Maps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sonic-visualiser" = callPackage
+    ({ mkDerivation, array, base, bytestring, bzlib, containers, mtl
+     , pretty, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "sonic-visualiser";
+       version = "0.1.1";
+       sha256 = "0gihsk7szq27ihhy9idiaslv164by23c9c70fhzwyqx3wk7z1aip";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring bzlib containers mtl pretty utf8-string xml
+       ];
+       homepage = "http://darcs.k-hornz.de/cgi-bin/darcsweb.cgi?r=sonic-visualiser;a=summary";
+       description = "Sonic Visualiser";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sophia" = callPackage
+    ({ mkDerivation, base, bindings-sophia, bytestring, directory
+     , tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "sophia";
+       version = "0.1.2";
+       sha256 = "18svfy0ald8cz03vfv3m43w777rxksmaz0713a1vzcmyfb6h5iwg";
+       buildDepends = [ base bindings-sophia bytestring ];
+       testDepends = [
+         base bindings-sophia bytestring directory tasty tasty-hunit
+       ];
+       jailbreak = true;
+       description = "Bindings to Sophia library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sort-by-pinyin" = callPackage
+    ({ mkDerivation, air, air-extra, air-th, base, bytestring
+     , containers, text
+     }:
+     mkDerivation {
+       pname = "sort-by-pinyin";
+       version = "2014.5.19";
+       sha256 = "1ksfx5zhagg2y8virg8am1w8ljrzc9ddmf7xgvi5gx88zibi32fd";
+       buildDepends = [
+         air air-extra air-th base bytestring containers text
+       ];
+       homepage = "https://github.com/nfjinjing/sort-by-pinyin";
+       description = "Sort simplified Chinese by PinYin";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sorted" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "sorted";
+       version = "0.0.1";
+       sha256 = "0rzcxhzc4s4sbdnysmjh1i8pd39jyx7a4hbhkarsp2qbx29s4h03";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Efficient, type-safe sorted sequences";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sorty" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "sorty";
+       version = "0.1.1";
+       sha256 = "04bripdlc90rlkv5q6p44j10n7c1zdwv0ibiq5p365xijgribfaq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       description = "Sort lines per file size";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sound-collage" = callPackage
+    ({ mkDerivation, array, base, carray, directory, fft, filepath
+     , numeric-prelude, optparse-applicative, sample-frame, soxlib
+     , storablevector, storablevector-carray, synthesizer-core
+     , temporary, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "sound-collage";
+       version = "0.1";
+       sha256 = "11zwhq5r21phgadfvxxmvz7gcz3vhyrqw2rmwnkxz0n65p5az15m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base carray directory fft filepath numeric-prelude
+         optparse-applicative sample-frame soxlib storablevector
+         storablevector-carray synthesizer-core temporary transformers
+         utility-ht
+       ];
+       description = "Approximate a song from other pieces of sound";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sounddelay" = callPackage
+    ({ mkDerivation, base, containers, parseargs, WAVE }:
+     mkDerivation {
+       pname = "sounddelay";
+       version = "0.1.0.2";
+       sha256 = "1mqa70zbhpw860hclns4y8pri6d9swahzbhac7jhzrwq4vyia9xj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers parseargs WAVE ];
+       homepage = "http://github.com/BartMassey/sounddelay";
+       description = "Audio delay line";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "source-code-server" = callPackage
+    ({ mkDerivation, base, bytestring, containers, curl, data-default
+     , directory, filepath, hack, hack-contrib, hack-handler-happstack
+     , haskell98, HDBC, HDBC-sqlite3, json, loli, mps, mtl, process
+     , safe, StateVar, stm, template-haskell, time, unix
+     }:
+     mkDerivation {
+       pname = "source-code-server";
+       version = "2010.9.1";
+       sha256 = "1934awipc837mdhkfa3ghmljxk0vb16wd4f31qdl4q9nxgwfv6c8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers curl data-default directory filepath
+         hack hack-contrib hack-handler-happstack haskell98 HDBC
+         HDBC-sqlite3 json loli mps mtl process safe StateVar stm
+         template-haskell time unix
+       ];
+       homepage = "http://github.com/nfjinjing/source-code-server";
+       description = "The server backend for the source code iPhone app";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sourcemap" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, process, text
+     , unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "sourcemap";
+       version = "0.1.3.0";
+       revision = "1";
+       sha256 = "1flfsjs2z2zjzqwvmc2vcibvxh19s89ah4s560xr2s5mhdqwbkk5";
+       editedCabalFile = "aa8b674ddb6f30642da0a391ad3481b44241f9f1cb2ee661503e59dac3ca2053";
+       buildDepends = [
+         aeson attoparsec base bytestring process text unordered-containers
+         utf8-string
+       ];
+       description = "Implementation of source maps as proposed by Google and Mozilla";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sousit" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, mtl, QuickCheck
+     , resourcet, stm, test-framework, test-framework-quickcheck2
+     , transformers
+     }:
+     mkDerivation {
+       pname = "sousit";
+       version = "0.4";
+       sha256 = "0vfgl4l3zwfsb2p5fds47bikyvfcsypmbjd1yvkjvi36x2g3pzwr";
+       buildDepends = [
+         base bytestring cereal mtl resourcet stm transformers
+       ];
+       testDepends = [
+         base mtl QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/msiegenthaler/SouSiT";
+       description = "Source/Sink/Transform: An alternative to lazy IO and iteratees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sox" = callPackage
+    ({ mkDerivation, base, containers, explicit-exception
+     , extensible-exceptions, process, sample-frame, transformers, unix
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "sox";
+       version = "0.2.2.5";
+       sha256 = "19jczxackqhbi85i0i3jl26ng34a9hkfw73jlfscfl8xjqc0j99n";
+       buildDepends = [
+         base containers explicit-exception extensible-exceptions process
+         sample-frame transformers unix utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Sox";
+       description = "Play, write, read, convert audio signals using Sox";
+       license = "GPL";
+     }) {};
+
+  "soxlib" = callPackage
+    ({ mkDerivation, base, containers, explicit-exception
+     , extensible-exceptions, sample-frame, sox, storablevector
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "soxlib";
+       version = "0.0.2";
+       sha256 = "1d82sqihmx3ymgyahbnjlzmam4pj4rwyp956p74fpl0gsmqphmr8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers explicit-exception extensible-exceptions
+         sample-frame storablevector transformers utility-ht
+       ];
+       pkgconfigDepends = [ sox ];
+       homepage = "http://www.haskell.org/haskellwiki/Sox";
+       description = "Write, read, convert audio signals using libsox";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) sox;};
+
+  "soyuz" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cmdargs, containers
+     , pretty, QuickCheck, trifecta, uniplate, vector
+     }:
+     mkDerivation {
+       pname = "soyuz";
+       version = "0.0.0";
+       sha256 = "1w8adkrics3jp8lc1gwjiwn4i94yfzxba13wf65qywhmdr9lcy3p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cereal cmdargs containers pretty QuickCheck
+         trifecta uniplate vector
+       ];
+       homepage = "https://github.com/amtal/0x10c";
+       description = "DCPU-16 architecture utilities for Notch's 0x10c game";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "spacefill" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "spacefill";
+       version = "0.1";
+       sha256 = "0md1ygps2y2ri49g012xj5vv9iglixw06sicl685k60h4sskiqsk";
+       buildDepends = [ base ];
+       testDepends = [ base ];
+       homepage = "https://github.com/knz/spacefill";
+       description = "Generators for space-filling curves";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "spacepart" = callPackage
+    ({ mkDerivation, base, vector-space }:
+     mkDerivation {
+       pname = "spacepart";
+       version = "0.1.0.0";
+       sha256 = "118wch92ix54jp1hi4qw9mk46571lnak4df8ji83bs2vz3vax6jp";
+       buildDepends = [ base vector-space ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/data-spacepart";
+       description = "Space partition data structures. Currently only a QuadTree.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sparse" = callPackage
+    ({ mkDerivation, base, bytestring, containers, contravariant
+     , deepseq, directory, doctest, filepath, hlint, hybrid-vectors
+     , lens, linear, mtl, primitive, QuickCheck, semigroups
+     , simple-reflect, test-framework, test-framework-quickcheck2
+     , test-framework-th, transformers, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "sparse";
+       version = "0.9.1";
+       sha256 = "1pa1h21ca710fdjz60b79jg0v2lr0l11avpiynp9n1cw5bz137fk";
+       buildDepends = [
+         base contravariant deepseq hybrid-vectors lens primitive
+         transformers vector vector-algorithms
+       ];
+       testDepends = [
+         base bytestring containers deepseq directory doctest filepath hlint
+         hybrid-vectors lens linear mtl QuickCheck semigroups simple-reflect
+         test-framework test-framework-quickcheck2 test-framework-th
+         transformers vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/sparse";
+       description = "A playground of sparse linear algebra primitives using Morton ordering";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sparse-lin-alg" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "sparse-lin-alg";
+       version = "0.4.3";
+       sha256 = "1255q13mb6196i3hv1i41agifg1x1840z535mx48jjkln297gmc9";
+       buildDepends = [ base containers ];
+       testDepends = [
+         base containers QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/laughedelic/sparse-lin-alg";
+       description = "Effective linear algebra on sparse matrices";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sparsebit" = callPackage
+    ({ mkDerivation, base, haskell98 }:
+     mkDerivation {
+       pname = "sparsebit";
+       version = "0.5";
+       sha256 = "1a4gsnmr1y8b05iws2vrmjqbs5y9svfsz0jb3k19dddn1aszzm07";
+       buildDepends = [ base haskell98 ];
+       homepage = "http://kyagrd.dyndns.org/wiki/SparseBitmapsForPatternMatchCoverage";
+       description = "Sparse bitmaps for pattern match coverage";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sparsecheck" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "sparsecheck";
+       version = "0.1.0.3";
+       sha256 = "19h9vy7arhi35rqafbq3nf9a50vnlw5mbfwvl6sp1j61w0yxai95";
+       buildDepends = [ base containers ];
+       homepage = "http://www.cs.york.ac.uk/~mfn/sparsecheck/";
+       description = "A Logic Programming Library for Test-Data Generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sparser" = callPackage
+    ({ mkDerivation, base, containers, data-default, monadplus, nats
+     , pointed, semigroups
+     }:
+     mkDerivation {
+       pname = "sparser";
+       version = "0.6.1";
+       sha256 = "1mhnjlsqmvvwnh35dzrms9vsdvr563aq49qhwg35pvscsia2fpr2";
+       buildDepends = [
+         base containers data-default monadplus nats pointed semigroups
+       ];
+       description = "Lightweight parsing library based on partial functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spata" = callPackage
+    ({ mkDerivation, base, dlist, mps, mtl }:
+     mkDerivation {
+       pname = "spata";
+       version = "2010.10.10";
+       sha256 = "1cr0d82l2b96jvszca4yavdgwq450yzigcyrrlddrf9m9908kkzy";
+       buildDepends = [ base dlist mps mtl ];
+       homepage = "http://github.com/nfjinjing/spata";
+       description = "brainless form validation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "spatial-math" = callPackage
+    ({ mkDerivation, base, binary, cereal, doctest, ghc-prim, linear }:
+     mkDerivation {
+       pname = "spatial-math";
+       version = "0.2.1.2";
+       sha256 = "18b6q3dmw7xnl53ckhcsj831b98m3vx3nk9p16sjzh10zdpb0nk8";
+       buildDepends = [ base binary cereal ghc-prim linear ];
+       testDepends = [ base doctest ];
+       description = "3d math including quaternions/euler angles/dcms and utility functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spawn" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "spawn";
+       version = "0.3";
+       sha256 = "0xkkl0w30rqif2jwdzjv239raly4yaf0116vkqcwh1i41jqn7ij8";
+       buildDepends = [ base ];
+       description = "Tiny library for concurrent computations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spe" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "spe";
+       version = "0.6.3";
+       sha256 = "02cq8f9yz5z3rwkcj4nj8dgzwnn2w3b1jpndmmcqwsjymmivy8fr";
+       buildDepends = [ base ];
+       testDepends = [ base ];
+       homepage = "http://github.com/akc/spe";
+       description = "Combinatorial species lite";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "special-functors" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "special-functors";
+       version = "1.0.0.1";
+       sha256 = "0c68af104qxn9lhzshcy9s466q10n3ic7q4navqi53mmmmznivrd";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       description = "Control.Applicative, Data.Foldable, Data.Traversable (compatibility package)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "special-keys" = callPackage
+    ({ mkDerivation, aeson, base, blaze-markup, bytestring, cereal
+     , deepseq, hashable, mwc-random, path-pieces, primitive, safecopy
+     , text, uuid
+     }:
+     mkDerivation {
+       pname = "special-keys";
+       version = "0.1.0.3";
+       sha256 = "0r66rzyh9m9wsy8mhyq09ar0zbalfyr627z9xrxny8242nbsygpy";
+       buildDepends = [
+         aeson base blaze-markup bytestring cereal deepseq hashable
+         mwc-random path-pieces primitive safecopy text uuid
+       ];
+       description = "Simple data types that help me here and there";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "specialize-th" = callPackage
+    ({ mkDerivation, base, checkers, composition, DebugTraceHelpers
+     , derive, HUnit, MissingH, mtl, newtype, newtype-th, QuickCheck
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, th-expand-syns, tuple, type-sub-th
+     , uniplate, universe-th
+     }:
+     mkDerivation {
+       pname = "specialize-th";
+       version = "0.0.0.8";
+       sha256 = "1b9bs08zja8id739zf0q47y91aq10gjr1ikbf7rvzav9i3w6djnc";
+       buildDepends = [
+         base composition derive MissingH mtl newtype newtype-th
+         template-haskell th-expand-syns tuple type-sub-th uniplate
+         universe-th
+       ];
+       testDepends = [
+         base checkers composition DebugTraceHelpers derive HUnit MissingH
+         mtl newtype newtype-th QuickCheck template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2 th-expand-syns
+         type-sub-th uniplate universe-th
+       ];
+       homepage = "https://github.com/jfischoff/specialize-th";
+       description = "Create specialized types from polymorphic ones using TH";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "species" = callPackage
+    ({ mkDerivation, base, containers, multiset-comb, np-extras
+     , numeric-prelude, template-haskell
+     }:
+     mkDerivation {
+       pname = "species";
+       version = "0.3.2.3";
+       sha256 = "1ip6q92l95jgqa2vbws4440n4qqn2cf785pbwd9g58zpx9wvi9ai";
+       buildDepends = [
+         base containers multiset-comb np-extras numeric-prelude
+         template-haskell
+       ];
+       jailbreak = true;
+       homepage = "http://www.cis.upenn.edu/~byorgey/species";
+       description = "Computational combinatorial species";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "speculation" = callPackage
+    ({ mkDerivation, base, ghc-prim, stm, transformers }:
+     mkDerivation {
+       pname = "speculation";
+       version = "1.5.0.2";
+       sha256 = "11d4v3x9phayx29lxl4na0b940ax27rjd867f7l9jb284p1rvhp5";
+       buildDepends = [ base ghc-prim stm transformers ];
+       homepage = "http://github.com/ekmett/speculation";
+       description = "A framework for safe, programmable, speculative parallelism";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "speculation-transformers" = callPackage
+    ({ mkDerivation, speculation }:
+     mkDerivation {
+       pname = "speculation-transformers";
+       version = "0.1.2";
+       sha256 = "0050iy5q9m1ylkhbbnpff7yl99917pa46pgvj76isij4lvdl4f5a";
+       buildDepends = [ speculation ];
+       homepage = "http://github.com/ekmett/speculation/";
+       description = "Merged into 'speculation'. Use that instead.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "spelling-suggest" = callPackage
+    ({ mkDerivation, base, edit-distance, parseargs, phonetic-code
+     , sqlite
+     }:
+     mkDerivation {
+       pname = "spelling-suggest";
+       version = "0.5.2.1";
+       sha256 = "0n0b2lbvj3pjg841pdw7pb09cpkz2d186dd4pmabjnm6r6wabm2n";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base edit-distance parseargs phonetic-code sqlite
+       ];
+       homepage = "https://github.com/gregwebs/haskell-spell-suggest";
+       description = "Spelling suggestion tool with library and command-line interfaces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sphero" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, mtl
+     , simple-bluetooth
+     }:
+     mkDerivation {
+       pname = "sphero";
+       version = "0.1.0.0";
+       sha256 = "1b5i6zpp3xz8jcvs44g97iyam5vcig3fpy0hcsldg51cm762sv48";
+       buildDepends = [
+         base bytestring cereal containers mtl simple-bluetooth
+       ];
+       jailbreak = true;
+       description = "Orbotix Sphero client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sphinx" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-binary-ieee754
+     , network, text, text-icu, xml
+     }:
+     mkDerivation {
+       pname = "sphinx";
+       version = "0.6.0.1";
+       sha256 = "1pcm4y9k5lc00805ddv519cx4j3qld2v1dnbckg38n9dyp96wj98";
+       buildDepends = [
+         base binary bytestring data-binary-ieee754 network text text-icu
+         xml
+       ];
+       homepage = "https://github.com/gregwebs/haskell-sphinx-client";
+       description = "Haskell bindings to the Sphinx full-text searching daemon";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sphinx-cli" = callPackage
+    ({ mkDerivation, base, sphinx }:
+     mkDerivation {
+       pname = "sphinx-cli";
+       version = "0.1";
+       sha256 = "08fqfmd6462skjywv2j4ilnmpbzr28d6vwmb187w3sv0byvvjzw3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base sphinx ];
+       description = "Sphinx CLI and demo of Haskell Sphinx library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "spice" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, elerea
+     , GLFW, JuicyPixels, JuicyPixels-repa, OpenGL
+     }:
+     mkDerivation {
+       pname = "spice";
+       version = "0.5.0.0";
+       sha256 = "1xs09ipg9l38nq3kxpdyv6643ywivhw87w6il0q9bzhng4rpfj6g";
+       buildDepends = [
+         base bytestring containers data-default elerea GLFW JuicyPixels
+         JuicyPixels-repa OpenGL
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/crockeo/spice";
+       description = "An FRP-based game engine written in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "spike" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, glib
+     , global-variables, gtk, libsoup, mtl, process, random, rosezipper
+     , stm, webkit
+     }:
+     mkDerivation {
+       pname = "spike";
+       version = "0.3";
+       sha256 = "11xr80fmbd6ps79fyzb40ha1gw4crxr8gff2nk39spj0sj64jqdn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath glib global-variables gtk mtl
+         process random rosezipper stm webkit
+       ];
+       pkgconfigDepends = [ libsoup ];
+       jailbreak = true;
+       homepage = "http://github.com/Tener/spike";
+       description = "Experimental web browser";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.gnome) libsoup;};
+
+  "spine" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "spine";
+       version = "0.1";
+       sha256 = "1sk2vkslcbmr4z87xc7q38ywbj118bcgqrkz9fqsp7jffxvy4bgv";
+       buildDepends = [ base ];
+       homepage = "https://github.com/spl/spine";
+       description = "Simple implementation of the generic spine view";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spir-v" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "spir-v";
+       version = "0.0.0.1";
+       sha256 = "1aazv418dd4kgpm8kq7n1cfm0gwcr0amsfdks0n1d9mn1rvz7b9p";
+       buildDepends = [ base ];
+       homepage = "https://github.com/expipiplus1/spir-v";
+       description = "Some utilities for reading and writing SPIR-V files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "splaytree" = callPackage
+    ({ mkDerivation, base, containers, deepseq, QuickCheck
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "splaytree";
+       version = "0.1.5";
+       sha256 = "0jilqkgp1mk6sllxhigp1sidnp7amgsfdmxf23r0l69hp0w4dcm7";
+       buildDepends = [ base deepseq ];
+       testDepends = [
+         base containers QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/JohnLato/splaytree";
+       description = "Provides an annotated splay tree";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "splice" = callPackage
+    ({ mkDerivation, base, network }:
+     mkDerivation {
+       pname = "splice";
+       version = "0.6.1.1";
+       sha256 = "0lsfkm4vfipzbnqpf3yli6fwrv5a5mwbs149dfzhs7spa9kbxyl1";
+       buildDepends = [ base network ];
+       homepage = "http://corsis.github.com/splice/";
+       description = "Cross-platform Socket to Socket Data Splicing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "splines" = callPackage
+    ({ mkDerivation, base, containers, polynomial, QuickCheck
+     , test-framework, test-framework-quickcheck2, vector, vector-space
+     }:
+     mkDerivation {
+       pname = "splines";
+       version = "0.5.0.1";
+       sha256 = "1bq5m8izvkrw21v9anp381rrq41svsmkxa0fk86ncm0lkaj09l5b";
+       buildDepends = [ base containers polynomial vector vector-space ];
+       testDepends = [
+         base containers polynomial QuickCheck test-framework
+         test-framework-quickcheck2 vector vector-space
+       ];
+       description = "B-Splines, other splines, and NURBS";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "split_0_1_4_3" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "split";
+       version = "0.1.4.3";
+       sha256 = "1i9vmb0zvmhqj6qcbnsapsk9lhsyzznz336c8s7v4sz20s99hsby";
+       buildDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~byorgey/code/split";
+       description = "Combinator library for splitting lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "split" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "split";
+       version = "0.2.2";
+       revision = "1";
+       sha256 = "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr";
+       editedCabalFile = "9098e40414e8491b0a400f5874408e577a444c4eadf1e03fb4ea6dfcc32e30c4";
+       buildDepends = [ base ];
+       testDepends = [ base QuickCheck ];
+       description = "Combinator library for splitting lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "split-channel" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "split-channel";
+       version = "0.2.0.1";
+       sha256 = "0w2sgj1f5ydfvhm80d3pbka9988jwl80n14bp5nisawpd2glxvak";
+       buildDepends = [ base ];
+       description = "Control.Concurrent.Chan split into sending and receiving halves.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "split-record" = callPackage
+    ({ mkDerivation, base, numeric-prelude, soxlib, storablevector
+     , synthesizer-core, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "split-record";
+       version = "0.1.1.1";
+       sha256 = "0d53npfi3mba83vpjkq59ga51nxqvkvv7gr0mj1jb8kj8i4jjw7v";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base numeric-prelude soxlib storablevector synthesizer-core
+         transformers utility-ht
+       ];
+       homepage = "http://code.haskell.org/~thielema/split-record/";
+       description = "Split a big audio file into pieces at positions of silence";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "split-tchan" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "split-tchan";
+       version = "0.1.0.0";
+       sha256 = "0qwcbvnm2vlr4bmn8r1q3ycamvgs0nfap4dkyzgp54f9rrl73x2p";
+       buildDepends = [ base stm ];
+       description = "STM's TChan split into sending and receiving halves";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "splitter" = callPackage
+    ({ mkDerivation, base, directory, filepath, parsec, range }:
+     mkDerivation {
+       pname = "splitter";
+       version = "0.1.0.0";
+       sha256 = "1nibmm0ab7a2j9rdmnphzz2svc3xfq268jbn23a403465s0v6sq6";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath parsec range ];
+       homepage = "https://bitbucket.org/robertmassaioli/splitter";
+       description = "Use numerical ranges to split out certain lines from a file";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "splot" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, cairo, colour
+     , containers, HUnit, mtl, strptime, template-haskell, time
+     , vcs-revision
+     }:
+     mkDerivation {
+       pname = "splot";
+       version = "0.3.12";
+       sha256 = "0xk5p2ikrzrmhvl69cl36sskcqgfnhxbbdlyp7bzl5pny0l0h9in";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-lexing cairo colour containers HUnit mtl
+         strptime template-haskell time vcs-revision
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Splot";
+       description = "A tool for visualizing the lifecycle of many concurrent multi-staged processes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spool" = callPackage
+    ({ mkDerivation, base, bytestring, vector }:
+     mkDerivation {
+       pname = "spool";
+       version = "0.1";
+       sha256 = "1svkz3cxkyi6f3akakjfk1cvij85xy69v52d88gh97xgiawp5346";
+       buildDepends = [ base bytestring vector ];
+       description = "Convert between ByteString and Vector.Storable without copying";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spoon" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "spoon";
+       version = "0.3.1";
+       revision = "1";
+       sha256 = "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr";
+       editedCabalFile = "e46c5e919cc9d0c7b0f671cddb631ef0979622a1e2250c59c7e491a799944527";
+       buildDepends = [ base deepseq ];
+       description = "Catch errors thrown from pure computations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spoonutil" = callPackage
+    ({ mkDerivation, base, directory, extensible-exceptions, filepath
+     , parsec
+     }:
+     mkDerivation {
+       pname = "spoonutil";
+       version = "0.0.1";
+       sha256 = "0xkarfm0c0931dz6yjs7pb5s2zizz1psnx9gfri5jq16skxk2nhd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory extensible-exceptions filepath parsec
+       ];
+       homepage = "http://github.com/elginer/SpoonUtilities";
+       description = "Spoon's utilities. Simple testing and nice looking error reporting.";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "spoty" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, lens, lens-aeson, pipes
+     , text, unordered-containers, wreq
+     }:
+     mkDerivation {
+       pname = "spoty";
+       version = "0.1.0.2";
+       sha256 = "0p1mn8yixlyj2al98mxzs10m0klqqmmdfjcwc9xax97xp4ixjcm3";
+       buildDepends = [
+         aeson base bytestring lens lens-aeson pipes text
+         unordered-containers wreq
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/davnils/spoty";
+       description = "Spotify web API wrapper";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spreadsheet" = callPackage
+    ({ mkDerivation, base, explicit-exception, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "spreadsheet";
+       version = "0.1.3.3";
+       sha256 = "1q6cdgn1bf6dz6brd237ypw3cn0arbf9sm8ghzfngz20k0rbgcj1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base explicit-exception transformers utility-ht ];
+       homepage = "http://www.haskell.org/haskellwiki/Spreadsheet";
+       description = "Read and write spreadsheets from and to CSV files in a lazy way";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "spritz" = callPackage
+    ({ mkDerivation, base, lens, mtl, vector }:
+     mkDerivation {
+       pname = "spritz";
+       version = "0.1.0.0";
+       sha256 = "1syv2l0z7c2s6bbi5103i4var40j8pavahiic813v8m9s6waa4fk";
+       buildDepends = [ base lens mtl vector ];
+       jailbreak = true;
+       homepage = "https://github.com/relrod/spritz";
+       description = "An implementation of the Spritz RC4-like stream cipher in Haskell";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "spsa" = callPackage
+    ({ mkDerivation, base, hmatrix, HUnit, mtl, QuickCheck, random
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "spsa";
+       version = "0.2.0.0";
+       sha256 = "0jj08bkvmg8cj0lp7j8sd2ksanyrr5i2xxcz4kfwkrlyf8zhqxrh";
+       buildDepends = [ base hmatrix mtl random ];
+       testDepends = [
+         base hmatrix HUnit QuickCheck random test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/yanatan16/haskell-spsa";
+       description = "Simultaneous Perturbation Stochastic Approximation Optimization Algorithm";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "spy" = callPackage
+    ({ mkDerivation, base, cmdargs, directory, filemanip, filepath
+     , fsnotify, HUnit, json, process, QuickCheck, system-filepath
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "spy";
+       version = "0.10";
+       sha256 = "1b3nhx009mzwl7n9d1bka4i9mwdh1gq08bsfmcnw9s7527nhn0ph";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs directory filemanip filepath fsnotify json process
+         system-filepath time unix
+       ];
+       testDepends = [
+         base cmdargs directory filemanip filepath fsnotify HUnit json
+         process QuickCheck system-filepath test-framework
+         test-framework-hunit test-framework-quickcheck2 time unix
+       ];
+       homepage = "https://bitbucket.org/ssaasen/spy";
+       description = "A compact file system watcher for Mac OS X, Linux and Windows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sql-simple" = callPackage
+    ({ mkDerivation, base, containers, exceptions, monad-control, text
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "sql-simple";
+       version = "0.3.1";
+       sha256 = "1vhg8ijpa64qalgza5sr3j8y1ihk6ys5lyf34vwcmjv8nlpyhpwh";
+       buildDepends = [
+         base containers exceptions monad-control text transformers
+         transformers-base
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/philopon/sql-simple";
+       description = "common middle-level sql client";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sql-simple-mysql" = callPackage
+    ({ mkDerivation, base, data-default-class, mysql, mysql-simple
+     , sql-simple, text
+     }:
+     mkDerivation {
+       pname = "sql-simple-mysql";
+       version = "0.3.0";
+       sha256 = "1i9xgzl3pjxii4mgx8az5gmygxq2vn1km7kmndwy07qkh26ynd7p";
+       buildDepends = [
+         base data-default-class mysql mysql-simple sql-simple text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/philopon/sql-simple";
+       description = "mysql backend for sql-simple";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sql-simple-pool" = callPackage
+    ({ mkDerivation, base, data-default-class, monad-control
+     , resource-pool, sql-simple, text, time
+     }:
+     mkDerivation {
+       pname = "sql-simple-pool";
+       version = "0.3.0";
+       sha256 = "14pradqy01vsd2cngvcbwvrwq5r3c5a00awi6j5vmkb51dycizh9";
+       buildDepends = [
+         base data-default-class monad-control resource-pool sql-simple text
+         time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/philopon/sql-simple";
+       description = "conection pool for sql-simple";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sql-simple-postgresql" = callPackage
+    ({ mkDerivation, base, data-default-class, postgresql-simple
+     , sql-simple, text
+     }:
+     mkDerivation {
+       pname = "sql-simple-postgresql";
+       version = "0.3.0";
+       sha256 = "0dk2829zkcwxyqw0p2nsrm9gw527cmggdslhflrylg8xr1ag6zs1";
+       buildDepends = [
+         base data-default-class postgresql-simple sql-simple text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/philopon/sql-simple";
+       description = "postgresql backend for sql-simple";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sql-simple-sqlite" = callPackage
+    ({ mkDerivation, base, sql-simple, sqlite-simple }:
+     mkDerivation {
+       pname = "sql-simple-sqlite";
+       version = "0.3.0";
+       sha256 = "07ji17b4q9b8w9q9r8digb218qkjcrxfc24113p0f3pmgbwci3f1";
+       buildDepends = [ base sql-simple sqlite-simple ];
+       homepage = "https://github.com/philopon/sql-simple";
+       description = "sqlite backend for sql-simple";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sql-words" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-test-compat, QuickCheck }:
+     mkDerivation {
+       pname = "sql-words";
+       version = "0.1.3.0";
+       sha256 = "03r6lk4rgk55idxqifazrq673hnkzr089b34qjv1x3yk160xnmz8";
+       buildDepends = [ base ];
+       testDepends = [ base Cabal cabal-test-compat QuickCheck ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Simple idea SQL keywords data constructor into OverloadedString";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sqlite" = callPackage
+    ({ mkDerivation, base, bytestring, directory, pretty, sqlite, time
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "sqlite";
+       version = "0.5.2.2";
+       sha256 = "1hlyv2w4q2dlcsz18fqbmqf7nwsbzyh184ynzfnz5svvc8j9hbrp";
+       buildDepends = [
+         base bytestring directory pretty time utf8-string
+       ];
+       extraLibraries = [ sqlite ];
+       description = "Haskell binding to sqlite3";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) sqlite;};
+
+  "sqlite-simple" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
+     , blaze-textual, bytestring, containers, direct-sqlite, HUnit, text
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "sqlite-simple";
+       version = "0.4.8.0";
+       sha256 = "098d1s80wlvsp307422f79bm3a9knvgw5ni6jap62fl4rpa7fsmz";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-textual bytestring containers
+         direct-sqlite text time transformers
+       ];
+       testDepends = [
+         base base16-bytestring bytestring direct-sqlite HUnit text time
+       ];
+       homepage = "http://github.com/nurpax/sqlite-simple";
+       description = "Mid-Level SQLite client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sqlite-simple-typed" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, sqlite, sqlite-simple
+     , template-haskell, typedquery, utf8-string
+     }:
+     mkDerivation {
+       pname = "sqlite-simple-typed";
+       version = "0.1.0.0";
+       sha256 = "00flij4wv8ga0bpnnai6gwwga1fkra9kr3y9yw30j7czwl5r2h0r";
+       buildDepends = [
+         base haskell-src-meta sqlite sqlite-simple template-haskell
+         typedquery utf8-string
+       ];
+       homepage = "https://github.com/tolysz/sqlite-simple-typed";
+       description = "Typed extension to sqlite simple";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sqlvalue-list" = callPackage
+    ({ mkDerivation, base, convertible, HDBC, template-haskell }:
+     mkDerivation {
+       pname = "sqlvalue-list";
+       version = "0.2";
+       sha256 = "1r9y3p355rl57pnm84flx734zzjxnnc53fkcfdkykxi5wi5j05v0";
+       buildDepends = [ base convertible HDBC template-haskell ];
+       description = "Class and instances for conversion to list of SqlValue";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "squeeze" = callPackage
+    ({ mkDerivation, base, Cabal, directory, factory, filepath, mtl
+     , QuickCheck, random, toolshed, unix
+     }:
+     mkDerivation {
+       pname = "squeeze";
+       version = "1.0.4.2";
+       sha256 = "0p39ibms8c2gk1m8v2cysqsd06pvy1mkjvmbvgpfqhkax89lqzak";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory factory filepath mtl QuickCheck random
+         toolshed unix
+       ];
+       homepage = "http://functionalley.eu";
+       description = "A file-packing application";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "srcinst" = callPackage
+    ({ mkDerivation, base, directory, hslogger, MissingH, network
+     , parsec, process, regex-compat, unix
+     }:
+     mkDerivation {
+       pname = "srcinst";
+       version = "0.8.10";
+       sha256 = "05ydsh4ippapxcx7j3fq8s64qiskcrmndgvilxkdp4qhxyi80gj9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory hslogger MissingH network parsec process
+         regex-compat unix
+       ];
+       description = "Build and install Debian packages completely from source";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "srcloc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "srcloc";
+       version = "0.5.0.1";
+       sha256 = "0v13s813s3a4xgadpcjwf36kw8qf6chpghrnx7r6nqii92nvry8q";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.drexel.edu/~mainland/";
+       description = "Data types for managing source code locations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "srec" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "srec";
+       version = "0.1.0";
+       sha256 = "028sb4znvdqsygipcsf44j0xazk03pdfkirzrczmxcd11srh3h1k";
+       buildDepends = [ base bytestring ];
+       homepage = "http://tomahawkins.org";
+       description = "Parsing and processing s-records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sscgi" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, case-insensitive
+     , containers, Glob, MonadCatchIO-mtl, mtl, transformers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "sscgi";
+       version = "0.3.0";
+       sha256 = "0pkhk6xhh1404yncyl62mjyp7mc2i06ihy243r0mq7qyy7ak417r";
+       buildDepends = [
+         attoparsec base bytestring case-insensitive containers Glob
+         MonadCatchIO-mtl mtl transformers utf8-string
+       ];
+       homepage = "https://github.com/jekor/haskell-sscgi";
+       description = "Simple SCGI Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ssh" = callPackage
+    ({ mkDerivation, asn1-data, base, base64-string, binary, bytestring
+     , cereal, containers, crypto-api, crypto-pubkey-types
+     , cryptohash-cryptoapi, HsOpenSSL, network, process, random, RSA
+     , SHA, SimpleAES, split, transformers
+     }:
+     mkDerivation {
+       pname = "ssh";
+       version = "0.2.13.1";
+       sha256 = "05bz4six0bffv6n2il4rzr6rbj4ym5ijqvpkrjdw2xdb7cfqs09i";
+       buildDepends = [
+         asn1-data base base64-string binary bytestring cereal containers
+         crypto-api crypto-pubkey-types cryptohash-cryptoapi HsOpenSSL
+         network process random RSA SHA SimpleAES split transformers
+       ];
+       jailbreak = true;
+       homepage = "http://hub.darcs.net/simon/ssh";
+       description = "A pure-Haskell SSH server library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sshd-lint" = callPackage
+    ({ mkDerivation, base, containers, hspec, keyword-args
+     , nagios-check, parsec
+     }:
+     mkDerivation {
+       pname = "sshd-lint";
+       version = "0.1.0.1";
+       sha256 = "0q34zx8cn0gs91c4x4bicmygfaary5kk42ib62jk0hlrh3rzdi7c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers keyword-args nagios-check parsec
+       ];
+       testDepends = [
+         base containers hspec keyword-args nagios-check parsec
+       ];
+       description = "Check sshd configuration for adherence to best practices";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "sshtun" = callPackage
+    ({ mkDerivation, base, containers, curl, directory, hdaemonize
+     , hslogger, mtl, process, regex-compat, stm, unix
+     }:
+     mkDerivation {
+       pname = "sshtun";
+       version = "1.0.0";
+       sha256 = "0794vsv043ppydzyjxnh06m4l3gbnga7x8nwsamh8skrzjfwn6jq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers curl directory hdaemonize hslogger mtl process
+         regex-compat stm unix
+       ];
+       homepage = "http://ui3.info/d/proj/sshtun.html";
+       description = "Wrapper daemon to manage an ssh tunnel";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sssp" = callPackage
+    ({ mkDerivation, attempt, attoparsec, aws, base, base64-bytestring
+     , blaze-builder, bytestring, case-insensitive, cereal, conduit
+     , containers, cryptohash, data-default, http-conduit, http-types
+     , mtl, network-conduit, text, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "sssp";
+       version = "1.1.1";
+       sha256 = "1nr30nrldjd3q1iw3l967x3v1rvl9afz1p87hhhkvpy60gri8m7c";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attempt attoparsec aws base base64-bytestring blaze-builder
+         bytestring case-insensitive cereal conduit containers cryptohash
+         data-default http-conduit http-types mtl network-conduit text wai
+         wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/erudify/sssp/";
+       description = "HTTP proxy for S3";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sstable" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cmdargs
+     , containers, deepseq, directory, iteratee
+     }:
+     mkDerivation {
+       pname = "sstable";
+       version = "1.0";
+       sha256 = "1siyjj75k1nsncpqwz53algbnvgbmr4syw45rfj1cpq4qbfwlcgm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring cmdargs containers deepseq directory
+         iteratee
+       ];
+       description = "SSTables in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ssv" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "ssv";
+       version = "0.3";
+       sha256 = "1z01611d380rgn64b0sbwxfbz7m8lgwhkc3lljpih6nsdn9hwrq5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/BartMassey/ssv";
+       description = "Comma-separated-value (CSV) read, show and write routines";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stable-maps" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim }:
+     mkDerivation {
+       pname = "stable-maps";
+       version = "0.0.5";
+       sha256 = "1sjidykbj5f692di93nml0frazvyw9kxyhjwbyyvrb9gwgc2ms3w";
+       buildDepends = [ base containers ghc-prim ];
+       homepage = "http://github.com/ekmett/stable-maps";
+       description = "Heterogeneous maps keyed by StableNames";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stable-memo" = callPackage
+    ({ mkDerivation, base, ghc-prim, hashtables, tagged }:
+     mkDerivation {
+       pname = "stable-memo";
+       version = "0.3.0";
+       sha256 = "0a218ilzx1bgwirfp6v6bzgwwkx8l60q1xnxq347xas750wjn8a8";
+       buildDepends = [ base ghc-prim hashtables tagged ];
+       jailbreak = true;
+       description = "Memoization based on argument identity";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stable-tree" = callPackage
+    ({ mkDerivation, base, binary, blaze-builder, bytestring
+     , bytestring-arbitrary, cereal, containers, mtl, objectid
+     , QuickCheck, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "stable-tree";
+       version = "0.7.0";
+       sha256 = "0mcb983sdwfsf39gd8zsls7pgndqrnnzvxsz8kn9c5nqjxwdll4p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary blaze-builder bytestring cereal containers mtl objectid
+         text
+       ];
+       testDepends = [
+         base bytestring bytestring-arbitrary cereal containers mtl objectid
+         QuickCheck tasty tasty-quickcheck text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tsuraan/stable-tree";
+       description = "Trees whose branches are resistant to change";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stack-prism" = callPackage
+    ({ mkDerivation, base, profunctors, tagged, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "stack-prism";
+       version = "0.1.3";
+       sha256 = "0v69gd81b7qaci3f9bmlvpvhnzdksqx4nvazxghrmdq04f28gfjm";
+       buildDepends = [
+         base profunctors tagged template-haskell transformers
+       ];
+       testDepends = [ base template-haskell ];
+       homepage = "https://github.com/MedeaMelana/stack-prism";
+       description = "Stack prisms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stackage" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, Cabal
+     , classy-prelude-conduit, conduit, conduit-extra, containers
+     , data-default-class, directory, filepath, hspec, http-client
+     , http-client-tls, http-conduit, mono-traversable, mtl, old-locale
+     , optparse-applicative, process, QuickCheck, semigroups, stm
+     , streaming-commons, system-fileio, system-filepath, tar, temporary
+     , text, time, transformers, unix-compat, utf8-string, xml-conduit
+     , yaml, zlib
+     }:
+     mkDerivation {
+       pname = "stackage";
+       version = "0.6.0.1";
+       sha256 = "0y785cc71rw5g6jlbrljabing0dpizqyid36hp97r3kwa1bc5x2m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base bytestring Cabal classy-prelude-conduit conduit
+         conduit-extra containers data-default-class directory filepath
+         http-client http-client-tls http-conduit mono-traversable mtl
+         old-locale optparse-applicative process semigroups stm
+         streaming-commons system-fileio system-filepath tar temporary text
+         time transformers unix-compat utf8-string xml-conduit yaml zlib
+       ];
+       testDepends = [
+         base Cabal classy-prelude-conduit containers hspec http-client
+         http-client-tls QuickCheck text yaml
+       ];
+       homepage = "https://github.com/fpco/stackage";
+       description = "\"Stable Hackage,\" tools for creating a vetted set of packages from Hackage";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stackage-curator" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, Cabal
+     , classy-prelude-conduit, conduit, conduit-extra, containers
+     , data-default-class, directory, filepath, hspec, http-client
+     , http-client-tls, http-conduit, mono-traversable, mtl, old-locale
+     , optparse-applicative, process, QuickCheck, semigroups
+     , stackage-types, stm, streaming-commons, system-fileio
+     , system-filepath, tar, temporary, text, time, transformers
+     , unix-compat, utf8-string, xml-conduit, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "stackage-curator";
+       version = "0.7.4";
+       sha256 = "181wdsrwr0dlgp969zkqyg231kz3xh8mzii8ikcxx5z0yharn3gk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base bytestring Cabal classy-prelude-conduit conduit
+         conduit-extra containers data-default-class directory filepath
+         http-client http-client-tls http-conduit mono-traversable mtl
+         old-locale optparse-applicative process semigroups stackage-types
+         stm streaming-commons system-fileio system-filepath tar temporary
+         text time transformers unix-compat utf8-string xml-conduit yaml
+         zlib
+       ];
+       testDepends = [
+         base Cabal classy-prelude-conduit containers hspec http-client
+         http-client-tls QuickCheck text yaml
+       ];
+       homepage = "https://github.com/fpco/stackage";
+       description = "Tools for curating Stackage bundles";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stackage-types" = callPackage
+    ({ mkDerivation, aeson, base, Cabal, containers, exceptions
+     , hashable, semigroups, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "stackage-types";
+       version = "1.0.0";
+       sha256 = "17077awl2bfrhpdlqsl4dxb7hxq4dr5hxqcviyv1cbxlk6z38a4z";
+       buildDepends = [
+         aeson base Cabal containers exceptions hashable semigroups text
+         unordered-containers vector
+       ];
+       homepage = "https://github.com/fpco/stackage-types";
+       description = "Shared data types between various Stackage packages";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "standalone-haddock" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , optparse-applicative
+     }:
+     mkDerivation {
+       pname = "standalone-haddock";
+       version = "1.1.4.3";
+       sha256 = "0kzgd4c2zashhcg9pblayvzwnkzhkkmdvbkx5yc9a7rcjaqzh40j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath optparse-applicative
+       ];
+       jailbreak = true;
+       homepage = "http://documentup.com/feuerbach/standalone-haddock";
+       description = "Generate standalone haddock documentation for a set of packages";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "star-to-star" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "star-to-star";
+       version = "1.0";
+       sha256 = "1nxkb1rdw6lhka49r6xdjskipyig09jzrvp82hx8a1xnqb9cyrrj";
+       buildDepends = [ base ];
+       description = "the * -> * types, operators, and covariant instances";
+       license = "unknown";
+     }) {};
+
+  "star-to-star-contra" = callPackage
+    ({ mkDerivation, base, star-to-star }:
+     mkDerivation {
+       pname = "star-to-star-contra";
+       version = "1.0";
+       sha256 = "1kmpjm51jzk4pv6qggvwjvfqvqnr5z7znfbhiscvcq89j1842x53";
+       buildDepends = [ base star-to-star ];
+       description = "contravariant instances for * -> * types and operators";
+       license = "unknown";
+     }) {};
+
+  "starling" = callPackage
+    ({ mkDerivation, base, binary, bytestring, failure, transformers }:
+     mkDerivation {
+       pname = "starling";
+       version = "0.3.0";
+       sha256 = "0i0f19k2b5y6vb0jngqwnf035csgiaqjgiw37wvj8vs2lbh907bp";
+       buildDepends = [ base binary bytestring failure transformers ];
+       jailbreak = true;
+       homepage = "http://community.haskell.org/~aslatter/starling";
+       description = "A memcached client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "starrover2" = callPackage
+    ({ mkDerivation, base, bytestring, directory, EdisonCore, FTGL
+     , haskell98, mtl, OpenGL, random, SDL
+     }:
+     mkDerivation {
+       pname = "starrover2";
+       version = "0.1.1";
+       sha256 = "0rdkxyhy62h87vdq08znqpjhg4wriwvbmn0pwak9nqsd5xk6slka";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory EdisonCore FTGL haskell98 mtl OpenGL
+         random SDL
+       ];
+       homepage = "http://github.com/anttisalonen/starrover2";
+       description = "Space simulation game";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "state" = callPackage
+    ({ mkDerivation, arrows, base, mtl }:
+     mkDerivation {
+       pname = "state";
+       version = "0.1";
+       sha256 = "0j5hbh0rkcwfigvskmgb0hql95qs0cjbys61c6sni2hc719bshx6";
+       buildDepends = [ arrows base mtl ];
+       jailbreak = true;
+       description = "Data.State";
+       license = "LGPL";
+     }) {};
+
+  "state-plus" = callPackage
+    ({ mkDerivation, base, checkers, mtl, QuickCheck }:
+     mkDerivation {
+       pname = "state-plus";
+       version = "0.1.1";
+       sha256 = "09zc4rymzvpq12mgl59h069m418qr43myhsj8dlf62g477wyx4g1";
+       buildDepends = [ base mtl ];
+       testDepends = [ base checkers mtl QuickCheck ];
+       description = "MonadPlus for StateT";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "state-record" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "state-record";
+       version = "0.0.1";
+       sha256 = "1y9ql1dlv2kf564x153gyw5h967pjn5zilfq88px8rqmkydqix7g";
+       buildDepends = [ base mtl template-haskell ];
+       homepage = "https://github.com/ktvoelker/state-record";
+       description = "Better records for State monad states";
+       license = "GPL";
+     }) {};
+
+  "stateWriter" = callPackage
+    ({ mkDerivation, base, free, hspec, mtl, QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "stateWriter";
+       version = "0.2.2";
+       sha256 = "0vs9l59ka2knalarkdibhl4bjrwsj70pxl1lkrz4hmz2qzg7bi94";
+       buildDepends = [ base mtl transformers ];
+       testDepends = [ base free hspec mtl QuickCheck ];
+       description = "A faster variant of the RWS monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "statechart" = callPackage
+    ({ mkDerivation, base, polyparse }:
+     mkDerivation {
+       pname = "statechart";
+       version = "0.1.0";
+       sha256 = "122vv9h3rxn126chm5bj4rkxd7mbzndy73ck5nlmnhhxyks25d26";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base polyparse ];
+       homepage = "http://tomahawkins.org";
+       description = "Compiles Rhapsody statecharts to C";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stateful-mtl" = callPackage
+    ({ mkDerivation, base, MaybeT, mtl }:
+     mkDerivation {
+       pname = "stateful-mtl";
+       version = "1.0.7";
+       sha256 = "19645rqfqbcvngq8hj7bryl35lgx7p5k55vgsxa1a2hm2kq8vm5h";
+       buildDepends = [ base MaybeT mtl ];
+       description = "Typeclass instances for monad transformer stacks with an ST thread at the bottom";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stateref" = callPackage
+    ({ mkDerivation, base, mtl, stm }:
+     mkDerivation {
+       pname = "stateref";
+       version = "0.3";
+       sha256 = "0hdpw6g255lj7jjvgqwhjdpzmka546vda5qjvry8gjj6nfm91lvx";
+       buildDepends = [ base mtl stm ];
+       homepage = "http://code.haskell.org/~mokus/stateref/";
+       description = "Abstraction for things that work like IORef";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "statestack" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "statestack";
+       version = "0.2.0.3";
+       sha256 = "0w5vw8jmnwbfyma4a3ggdm9jvxf3c18kpwbvcmvr5szifaqv9sgx";
+       buildDepends = [ base mtl transformers ];
+       description = "Simple State-like monad transformer with saveable and restorable state";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "statethread" = callPackage
+    ({ mkDerivation, applicative, base, transformers }:
+     mkDerivation {
+       pname = "statethread";
+       version = "0.1.1";
+       sha256 = "05clniwqk4i3zz22jzbjj2x9cgkxb2ks7mccjyp3gyy4zbm2xlmz";
+       buildDepends = [ applicative base transformers ];
+       jailbreak = true;
+       description = "The ST monad and STRefs";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { applicative = null;};
+
+  "statgrab" = callPackage
+    ({ mkDerivation, async, base, bytestring, statgrab, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "statgrab";
+       version = "0.1.3";
+       sha256 = "1rckyxg1px6v69rbr1ldy107b1q5rrh89dawlrdjzwbnmxjgbvj5";
+       buildDepends = [ async base bytestring time transformers ];
+       extraLibraries = [ statgrab ];
+       homepage = "http://github.com/brendanhay/statgrab";
+       description = "Collect system level metrics and statistics";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { statgrab = null;};
+
+  "static-canvas" = callPackage
+    ({ mkDerivation, base, double-conversion, free, mtl, text }:
+     mkDerivation {
+       pname = "static-canvas";
+       version = "0.2.0.0";
+       sha256 = "10fk8kjzksym7qz9xc8pcglcn24rzi6ry03rnhxiy0mc6d6dsrb4";
+       buildDepends = [ base double-conversion free mtl text ];
+       jailbreak = true;
+       homepage = "https://github.com/jeffreyrosenbluth/static-canvas";
+       description = "DSL to generate HTML5 Canvas javascript";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "static-hash" = callPackage
+    ({ mkDerivation, array, base, containers, hashable, primes }:
+     mkDerivation {
+       pname = "static-hash";
+       version = "0.0.1";
+       sha256 = "0nkgx4s389027zi23wmbc6wqnmplvjvbrsbyzy7zn41mbwmzqz8l";
+       buildDepends = [ array base containers hashable primes ];
+       description = "Immutable hash";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "static-resources" = callPackage
+    ({ mkDerivation, base, directory, filepath, hslogger, HUnit
+     , MissingH, mtl, old-time, process, syb, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, time
+     }:
+     mkDerivation {
+       pname = "static-resources";
+       version = "0.1.7";
+       sha256 = "0wf9kpn1l2iq00m1ms46vn2lrnyy8ip1z54ya2h4kqarcy5sr8m9";
+       buildDepends = [
+         base directory filepath hslogger MissingH mtl old-time process syb
+         time
+       ];
+       testDepends = [
+         base directory hslogger HUnit MissingH mtl old-time syb
+         test-framework test-framework-hunit test-framework-quickcheck2 time
+       ];
+       description = "JavaScript and Css files concat for http optimization. Now with LESS support.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "staticanalysis" = callPackage
+    ({ mkDerivation, base, MissingH }:
+     mkDerivation {
+       pname = "staticanalysis";
+       version = "0.0.0.3";
+       sha256 = "0b6y8yi0cfisi58pxxx1gnd1vab2i8f5wb3gzv1dfsxx5hl6jlwf";
+       buildDepends = [ base MissingH ];
+       description = "Reusable static analysis interfaces and modules";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "statistics" = callPackage
+    ({ mkDerivation, aeson, base, binary, deepseq, erf, HUnit, ieee754
+     , math-functions, monad-par, mwc-random, primitive, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector, vector-algorithms, vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "statistics";
+       version = "0.13.2.3";
+       sha256 = "1gbghzbacfrm7vn24ssx7wz9sycafxk9b306zm6cdlsr954v296n";
+       buildDepends = [
+         aeson base binary deepseq erf math-functions monad-par mwc-random
+         primitive vector vector-algorithms vector-binary-instances
+       ];
+       testDepends = [
+         base binary erf HUnit ieee754 math-functions mwc-random primitive
+         QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 vector vector-algorithms
+       ];
+       homepage = "https://github.com/bos/statistics";
+       description = "A library of statistical types, data, and functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "statistics-dirichlet" = callPackage
+    ({ mkDerivation, base, deepseq, hmatrix-special
+     , nonlinear-optimization, vector
+     }:
+     mkDerivation {
+       pname = "statistics-dirichlet";
+       version = "0.6.1";
+       sha256 = "1kd9s7m2a8awqiqbsj0z3w585bq236fmj5s5sadsdd698irkkib1";
+       buildDepends = [
+         base deepseq hmatrix-special nonlinear-optimization vector
+       ];
+       jailbreak = true;
+       description = "Functions for working with Dirichlet densities and mixtures on vectors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "statistics-fusion" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "statistics-fusion";
+       version = "1.0.1";
+       sha256 = "17w7vz0jarbyf9y72bn9yg134q6ja5ymfyl1v9nx94glbhbybrlf";
+       buildDepends = [ base vector ];
+       homepage = "http://code.haskell.org/~dons/code/statistics-fusion";
+       description = "An implementation of high performance, minimal statistics functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "statistics-hypergeometric-genvar" = callPackage
+    ({ mkDerivation, base, math-functions, mwc-random, primitive
+     , statistics
+     }:
+     mkDerivation {
+       pname = "statistics-hypergeometric-genvar";
+       version = "0.1.0.0";
+       sha256 = "05j83vaklwi73yr4q4yq5f36wzmbas73lxkj0dkg0w1ss97syv7m";
+       buildDepends = [
+         base math-functions mwc-random primitive statistics
+       ];
+       homepage = "https://github.com/srijs/statistics-hypergeometric-genvar";
+       description = "Random variate generation from hypergeometric distributions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "statistics-linreg" = callPackage
+    ({ mkDerivation, base, MonadRandom, random, random-shuffle, safe
+     , statistics, vector
+     }:
+     mkDerivation {
+       pname = "statistics-linreg";
+       version = "0.3";
+       sha256 = "02c9xrd3b8iy7bwgsf1r06smi88k3sgpqv2ivr782wl0dcbc4wv2";
+       buildDepends = [
+         base MonadRandom random random-shuffle safe statistics vector
+       ];
+       homepage = "http://github.com/alpmestan/statistics-linreg";
+       description = "Linear regression between two samples, based on the 'statistics' package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stats" = callPackage
+    ({ mkDerivation, base, statistics, text, vector }:
+     mkDerivation {
+       pname = "stats";
+       version = "0.1.1";
+       sha256 = "08ig4nrlqshxmiar739zfbs95hlrp8l212hszh4zs0w2x4i3s17f";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base statistics text vector ];
+       jailbreak = true;
+       homepage = "http://github.com/cheecheeo/stats/";
+       description = "command line statistics";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "statsd" = callPackage
+    ({ mkDerivation, base, bytestring, monad-control, mtl, network
+     , random
+     }:
+     mkDerivation {
+       pname = "statsd";
+       version = "0.1.0.1";
+       sha256 = "13bcqms31rvzs3lfbmx43wqkmp21jbzj326yn971334cf722f0a1";
+       buildDepends = [
+         base bytestring monad-control mtl network random
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mitchellwrosen/statsd-haskell";
+       description = "StatsD API";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "statsd-datadog" = callPackage
+    ({ mkDerivation, base, bytestring, monad-control, network, text
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "statsd-datadog";
+       version = "0.2.0.0";
+       sha256 = "1c9kgyzfk5xdxsjkjhs6vbiz03mqm41qr0ycyfxc11v0wl78yazk";
+       buildDepends = [
+         base bytestring monad-control network text transformers-base
+       ];
+       homepage = "https://bitbucket.org/dpwiz/statsd-datadog";
+       description = "DataDog-flavored StatsD client";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "statvfs" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "statvfs";
+       version = "0.2";
+       sha256 = "16z9fddgvf5sl7zy7p74fng9lkdw5m9i5np3q4s2h8jdi43mwmg1";
+       buildDepends = [ base ];
+       description = "Get unix filesystem statistics with statfs, statvfs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stb-image" = callPackage
+    ({ mkDerivation, base, bitmap, bytestring }:
+     mkDerivation {
+       pname = "stb-image";
+       version = "0.2.1";
+       sha256 = "1mx6i5q56wy13fvpnypb2c6fk2z3i5xdfblkpazzc70p2dgxaf52";
+       buildDepends = [ base bitmap bytestring ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "A wrapper around Sean Barrett's JPEG/PNG decoder";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "stb-truetype" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers }:
+     mkDerivation {
+       pname = "stb-truetype";
+       version = "0.1.2";
+       sha256 = "1hbbi7hax5fw5zb7ashfs5paixqzqrrr64lwisda80dskdazld4m";
+       buildDepends = [ array base bytestring containers ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "A wrapper around Sean Barrett's TrueType rasterizer library";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stdata" = callPackage
+    ({ mkDerivation, base, parsec, syb, template-haskell }:
+     mkDerivation {
+       pname = "stdata";
+       version = "0.0.4";
+       sha256 = "0ijir2knl4vc1cpzzmf32wcjfdc958li1wd7w5vdmgk4bx45kybf";
+       buildDepends = [ base parsec syb template-haskell ];
+       jailbreak = true;
+       description = "Structure Data Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stdf" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring
+     , containers, data-binary-ieee754, split, text, time, unix-time
+     , zlib
+     }:
+     mkDerivation {
+       pname = "stdf";
+       version = "0.2.0.0";
+       sha256 = "1blwf18qvsrhkxfakyznr3ljr35dw6d027jybr2hh4a5yfqn6zyd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring binary bytestring containers
+         data-binary-ieee754 split text time unix-time zlib
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/gitfoxi/Stdf";
+       description = "Parse Structured Test Data Format (STDF)";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "steambrowser" = callPackage
+    ({ mkDerivation, base, directory, parsec, transformers }:
+     mkDerivation {
+       pname = "steambrowser";
+       version = "0.1.0.0";
+       sha256 = "071ial002ip6lsm422wf9xzq7ka70h4va67382smkbgiinbma5g4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory parsec transformers ];
+       description = "List and launch steam games from the cli";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "steeloverseer" = callPackage
+    ({ mkDerivation, base, fsnotify, process, regex-tdfa
+     , system-filepath, text, time, unix
+     }:
+     mkDerivation {
+       pname = "steeloverseer";
+       version = "1.1.0.4";
+       sha256 = "1wqhjg6xw2k863fkfhq0i706c399xsv7z7gaf61x7l9wrc91pcbn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base fsnotify process regex-tdfa system-filepath text time unix
+       ];
+       homepage = "https://github.com/schell/steeloverseer";
+       description = "A file watcher";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stemmer" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "stemmer";
+       version = "0.5.1";
+       sha256 = "0jiwwhwyqnbwzfn0vhd6d4f2zq6aazh18fbhm8w7zjc3cz0cr4m0";
+       buildDepends = [ base ];
+       homepage = "http://www.github.com/bgamari/stemmer";
+       description = "Haskell bindings to the Snowball stemming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stepwise" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "stepwise";
+       version = "1.0.2";
+       sha256 = "059k8g3wb4hkxk42vm83vv6kh3igrpf7fc97xvn3qai5rx3jmgqf";
+       buildDepends = [ base containers mtl ];
+       homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stickyKeysHotKey" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "stickyKeysHotKey";
+       version = "0.1.0.1";
+       sha256 = "18p0yxfw9wnzk0yxdvlm3g23k8zq5nb707411i92z5m82l6pkpmi";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "get and set STICKYKEYS.SKF_HOTKEYACTIVE";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "stm";
+       version = "2.4.4";
+       sha256 = "0gc8zvdijp3rwmidkpxv76b4i0dc8dw6nbd92rxl4vxl0655iysx";
+       buildDepends = [ array base ];
+       description = "Software Transactional Memory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-channelize" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "stm-channelize";
+       version = "0.1.1";
+       sha256 = "1aj4zibq54ssbb7smkxjrjl24d9vccgjpl2b9261yqyg692cz9hm";
+       buildDepends = [ base stm ];
+       description = "Transactional I/O for duplex streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-chans" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "stm-chans";
+       version = "3.0.0.3";
+       sha256 = "058miz12xm21lghc4bi06grsddd8hf2x9x5qdh0dva6lk0h9y7mk";
+       buildDepends = [ base stm ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Additional types of channels for STM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-chunked-queues" = callPackage
+    ({ mkDerivation, async, base, HUnit, stm, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "stm-chunked-queues";
+       version = "0.1.0.0";
+       sha256 = "0264air2mhwbya2sxskrh4z1bs8il7d9iv4vm6wyz8zxxc95v1nj";
+       buildDepends = [ async base stm ];
+       testDepends = [ async base HUnit stm tasty tasty-hunit ];
+       homepage = "http://github.com/kholdstare/stm-chunked-queues/";
+       description = "Chunked Communication Queues";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "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 = "2.6.0";
+       sha256 = "0lhqhsvisyn4wgj5qk0slzbgy7lbmzgcryi4vlw1d058nsjnpxwj";
+       buildDepends = [
+         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
+       ];
+       testDepends = [
+         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/wowus/stm-conduit";
+       description = "Introduces conduits to channels, and promotes using conduits concurrently";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-containers" = callPackage
+    ({ mkDerivation, base-prelude, focus, free, hashable, HTF, list-t
+     , loch-th, mtl, mtl-prelude, placeholders, primitive, QuickCheck
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "stm-containers";
+       version = "0.2.9";
+       sha256 = "0p2lyz1s98cxdcqfamqyx7dxxa4fzxr0a93cbm7lnmzfjvk48p52";
+       buildDepends = [
+         base-prelude focus hashable list-t loch-th placeholders primitive
+         transformers
+       ];
+       testDepends = [
+         base-prelude focus free hashable HTF list-t loch-th mtl mtl-prelude
+         placeholders primitive QuickCheck transformers unordered-containers
+       ];
+       homepage = "https://github.com/nikita-volkov/stm-containers";
+       description = "Containers for STM";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stm-delay" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "stm-delay";
+       version = "0.1.1.1";
+       sha256 = "0cla21v89gcvmr1iwzibq13v1yq02xg4h6k9l6kcprj7mhd5hcmi";
+       buildDepends = [ base stm ];
+       testDepends = [ base stm ];
+       homepage = "https://github.com/joeyadams/haskell-stm-delay";
+       description = "Updatable one-shot timer polled with STM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-firehose" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, hspec, http-types
+     , HUnit, network-conduit, stm, stm-chans, stm-conduit, transformers
+     , wai, warp
+     }:
+     mkDerivation {
+       pname = "stm-firehose";
+       version = "0.2.1";
+       sha256 = "0y4q3qj3ih2xcn0mhd4jszb1d5l87abkvlmhdvx9d1407bw9j99r";
+       buildDepends = [
+         base blaze-builder conduit http-types network-conduit stm stm-chans
+         stm-conduit transformers wai warp
+       ];
+       testDepends = [ base hspec HUnit stm ];
+       jailbreak = true;
+       description = "Conduits and STM operations for fire hoses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stm-io-hooks" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, stm }:
+     mkDerivation {
+       pname = "stm-io-hooks";
+       version = "1.0.1";
+       sha256 = "079q34wyiv4c8cn92bagh1axdvl7b03amlgygqm0ln9khni0lkg4";
+       buildDepends = [ array base containers mtl stm ];
+       description = "STM with IO hooks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stm-lifted" = callPackage
+    ({ mkDerivation, base, stm, transformers }:
+     mkDerivation {
+       pname = "stm-lifted";
+       version = "0.1.0.0";
+       sha256 = "1x3yxxyik0vyh3p530msxh2a1aylmh8zab05qpq7nfl5m9v6v090";
+       buildDepends = [ base stm transformers ];
+       description = "Software Transactional Memory lifted to MonadIO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-linkedlist" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "stm-linkedlist";
+       version = "0.1.0.0";
+       sha256 = "1x65z38dx0qi55fmbarc1827wpl4j08m23nklq8854y7kqznf9kr";
+       buildDepends = [ base stm ];
+       description = "Mutable, doubly linked lists for STM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-orelse-io" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "stm-orelse-io";
+       version = "0.1";
+       sha256 = "11v0xc5zlw641mf6r5k8lqhzxc4y9bsx3xivwmbkfniph0x7g5m4";
+       buildDepends = [ base stm ];
+       homepage = "http://nonempty.org/software/stm-orelse-io";
+       description = "Choose between the return value of an STM operation and an IO action";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-promise" = callPackage
+    ({ mkDerivation, base, mtl, process, QuickCheck, stm, unix }:
+     mkDerivation {
+       pname = "stm-promise";
+       version = "0.0.3.1";
+       sha256 = "07wrbj88gwdbsczjr225g0z1ai1v13mdg71gl9qsmipqs0s0pfwc";
+       buildDepends = [ base mtl process stm unix ];
+       testDepends = [ base QuickCheck stm ];
+       homepage = "http://www.github.com/danr/stm-promise";
+       description = "Simple STM Promises for IO computations and external processes";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "stm-queue-extras" = callPackage
+    ({ mkDerivation, base, stm, stm-chans }:
+     mkDerivation {
+       pname = "stm-queue-extras";
+       version = "0.2.0.0";
+       revision = "1";
+       sha256 = "1qd6zsr2lkkg5yxp72l38h00b2xj40jn38qx9sfvgpss6rkda40s";
+       editedCabalFile = "0c90122c2c5998a0b60d00506effde335dbd71ad60bc1b798759a05d4fb3193b";
+       buildDepends = [ base stm stm-chans ];
+       description = "Extra queue utilities for STM";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "stm-sbchan" = callPackage
+    ({ mkDerivation, base, stm, stm-tlist }:
+     mkDerivation {
+       pname = "stm-sbchan";
+       version = "0.1";
+       sha256 = "0fz4vfbyr848b32vbdm3pjj9gwi7wj39l3vsqmdpjnbfwvkw0y0s";
+       buildDepends = [ base stm stm-tlist ];
+       homepage = "https://github.com/joeyadams/haskell-stm-sbchan";
+       description = "Bounded channel for STM where item sizes can vary";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-split" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "stm-split";
+       version = "0.0.0.1";
+       sha256 = "05338nbfhwmyy8njynznmbv0lddqs4kzs5x132992xq346dvvww8";
+       buildDepends = [ base stm ];
+       description = "TMVars, TVars and TChans with distinguished input and output side";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-stats" = callPackage
+    ({ mkDerivation, base, containers, stm, template-haskell, time }:
+     mkDerivation {
+       pname = "stm-stats";
+       version = "0.2.0.0";
+       sha256 = "0i8ky2l8lvh7nymxglvbifp0ylbyjw20p75avzb51zpzx6qkjkqa";
+       buildDepends = [ base containers stm template-haskell time ];
+       description = "retry statistics for STM transactions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stm-tlist" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "stm-tlist";
+       version = "0.1.1";
+       sha256 = "0ssr8phmm9m93kcp045jr0rcn1dxzz202cgyw1vzjl2ch55bcsy6";
+       buildDepends = [ base stm ];
+       homepage = "https://github.com/joeyadams/haskell-stm-tlist";
+       description = "Mutable, singly-linked list in STM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stmcontrol" = callPackage
+    ({ mkDerivation, base, haskell98, mtl, stm }:
+     mkDerivation {
+       pname = "stmcontrol";
+       version = "0.1";
+       sha256 = "0m42pgnvzqadqycq0qbml5da0zw7myc24y5vka1qydz7rdfyaa24";
+       buildDepends = [ base haskell98 mtl stm ];
+       homepage = "http://sulzmann.blogspot.com/2008/12/stm-with-control-communication-for.html";
+       description = "Control communication among retrying transactions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stomp-conduit" = callPackage
+    ({ mkDerivation, base, conduit, mime, mtl, resourcet, stomp-queue
+     , stompl
+     }:
+     mkDerivation {
+       pname = "stomp-conduit";
+       version = "0.0.3";
+       sha256 = "0i2fz5hcqjhrnnqkfzpizn1w9iyqy966yny2anl3glwi6nqyam0s";
+       buildDepends = [
+         base conduit mime mtl resourcet stomp-queue stompl
+       ];
+       homepage = "http://github.com/toschoo/mom";
+       description = "Stompl Conduit Client";
+       license = "LGPL";
+     }) {};
+
+  "stomp-patterns" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mime, mtl, split
+     , stomp-queue, stompl, time
+     }:
+     mkDerivation {
+       pname = "stomp-patterns";
+       version = "0.0.1";
+       sha256 = "0wa07y1ks581fvlkfzv23vb0r96iwr5x0r95j9bmcsh0ln405nrn";
+       buildDepends = [
+         base bytestring containers mime mtl split stomp-queue stompl time
+       ];
+       homepage = "http://github.com/toschoo/mom";
+       description = "Stompl MOM Stomp Patterns";
+       license = "LGPL";
+     }) {};
+
+  "stomp-queue" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, conduit
+     , conduit-extra, mime, mtl, network-conduit-tls, split, stompl
+     , time, utf8-string
+     }:
+     mkDerivation {
+       pname = "stomp-queue";
+       version = "0.2.0";
+       sha256 = "0xd9sdyjasp8ncb5qyzkx77a3wrybcajxdpvndx0viykma6bfmqr";
+       buildDepends = [
+         attoparsec base bytestring conduit conduit-extra mime mtl
+         network-conduit-tls split stompl time utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/toschoo/mom";
+       description = "Stompl Client Library";
+       license = "LGPL";
+     }) {};
+
+  "stompl" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, mime, split, text
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "stompl";
+       version = "0.2.0";
+       sha256 = "1p583n14q2iqwhw2n6942zcav261119i1g8h2rca5ankpp227a2z";
+       buildDepends = [
+         attoparsec base bytestring mime split text utf8-string
+       ];
+       homepage = "http://github.com/toschoo/mom";
+       description = "Stomp Parser and Utilities";
+       license = "LGPL";
+     }) {};
+
+  "storable" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "storable";
+       version = "0.1";
+       sha256 = "10289mf3fskfpg0jwgzyhvg4arb0hcj3r94jngb3hlbidvf8k1jg";
+       buildDepends = [ base mtl ];
+       homepage = "http://anna.fi.muni.cz/~xjanous3/gitweb/?p=storable.git;a=summary";
+       description = "Storable type class for variable-sized data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "storable-complex" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "storable-complex";
+       version = "0.2.2";
+       sha256 = "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb";
+       buildDepends = [ base ];
+       homepage = "https://github.com/cartazio/storable-complex";
+       description = "Storable instance for Complex";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "storable-endian" = callPackage
+    ({ mkDerivation, base, byteorder }:
+     mkDerivation {
+       pname = "storable-endian";
+       version = "0.2.5";
+       sha256 = "04j1nk0wga4dqrqvhm8yd9h9194db1n3yrnhg8s3gsc0jk7yw1p2";
+       buildDepends = [ base byteorder ];
+       description = "Storable instances with endianness";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "storable-record" = callPackage
+    ({ mkDerivation, base, transformers, utility-ht }:
+     mkDerivation {
+       pname = "storable-record";
+       version = "0.0.3";
+       sha256 = "1mv2s4r7dqkl2fy0wjnywyr2zi2g53nkn0z72mgr8drkzdszzxx1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base transformers utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/storable-record/";
+       description = "Elegant definition of Storable instances for records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "storable-static-array" = callPackage
+    ({ mkDerivation, array, base, tagged, vector }:
+     mkDerivation {
+       pname = "storable-static-array";
+       version = "0.6.1.0";
+       sha256 = "0akdh6v2cdq38jw8v69bn3m50g6wxanh0plikq4hj5mfrkg6xsxm";
+       buildDepends = [ array base tagged vector ];
+       jailbreak = true;
+       description = "Statically-sized array wrappers with Storable instances for FFI marshaling";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "storable-tuple" = callPackage
+    ({ mkDerivation, base, storable-record, utility-ht }:
+     mkDerivation {
+       pname = "storable-tuple";
+       version = "0.0.2";
+       sha256 = "03qls46rwc3za730r6pv63rrnjq4vkh3h2vjhx9082dqa9q7vqqd";
+       buildDepends = [ base storable-record utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/storable-tuple/";
+       description = "Storable instance for pairs and triples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "storablevector" = callPackage
+    ({ mkDerivation, base, bytestring, non-negative, QuickCheck, random
+     , syb, transformers, unsafe, utility-ht
+     }:
+     mkDerivation {
+       pname = "storablevector";
+       version = "0.2.10";
+       sha256 = "0195j9b0p5217jdai4lwyhfwihnxgsqxcbzpa375wsa66kxjk7bl";
+       buildDepends = [
+         base non-negative QuickCheck syb transformers unsafe utility-ht
+       ];
+       testDepends = [ base bytestring QuickCheck random utility-ht ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Storable_Vector";
+       description = "Fast, packed, strict storable arrays with a list interface like ByteString";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "storablevector-carray" = callPackage
+    ({ mkDerivation, base, carray, storablevector, utility-ht }:
+     mkDerivation {
+       pname = "storablevector-carray";
+       version = "0.0";
+       sha256 = "1cqgfddaldxj2yig39fr2smm23nfz52dvh5grf4zr222djm7043i";
+       buildDepends = [ base carray storablevector utility-ht ];
+       homepage = "http://www.haskell.org/haskellwiki/Storable_Vector";
+       description = "Conversion between storablevector and carray";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "storablevector-streamfusion" = callPackage
+    ({ mkDerivation, base, binary, bytestring, old-time, storablevector
+     , stream-fusion, utility-ht
+     }:
+     mkDerivation {
+       pname = "storablevector-streamfusion";
+       version = "0.0";
+       sha256 = "1qgnakr01f28iarq1qd5x86919fj7zwf19nb80w7757l0dhdjb6m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring old-time storablevector stream-fusion
+         utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Storable_Vector";
+       description = "Conversion between storablevector and stream-fusion lists with fusion";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "str" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, Crypto
+     , hashable, MissingH, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "str";
+       version = "0.1.0.0";
+       sha256 = "093bgzjj183g48gapmjvbrbp7ns7wfcf94ishgwy84gajpkyb6sr";
+       buildDepends = [
+         base base16-bytestring bytestring Crypto hashable MissingH text
+         utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/thinkpad20/str";
+       description = "A type class to abstract between many different string types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stratum-tool" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, bytestring-builder
+     , cmdargs, connection, containers, curl, curl-aeson, network, stm
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "stratum-tool";
+       version = "0.0.4";
+       sha256 = "02m8znx5spg8mjphbqw4kw5mavjki8hjfqf6x9j9i0xsja88958p";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson async base bytestring bytestring-builder cmdargs connection
+         containers curl curl-aeson network stm text time
+         unordered-containers vector
+       ];
+       description = "Client for Stratum protocol";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "stream-fusion" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "stream-fusion";
+       version = "0.1.2.5";
+       sha256 = "006fz03jdwd9d0kwf8ma3077xxmg6zym94pwbb4sx1xcn7zf4yc6";
+       buildDepends = [ base ];
+       homepage = "http://hackage.haskell.org/trac/ghc/ticket/915";
+       description = "Faster Haskell lists using stream fusion";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stream-monad" = callPackage
+    ({ mkDerivation, base, logict }:
+     mkDerivation {
+       pname = "stream-monad";
+       version = "0.4.0.2";
+       sha256 = "0311j6a378pm26g9qqfjpnjq7909qj69fhiw253ln603z5q5gkc6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base logict ];
+       jailbreak = true;
+       homepage = "http://github.com/sebfisch/stream-monad";
+       description = "Simple, Fair and Terminating Backtracking Monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "streamed" = callPackage
+    ({ mkDerivation, alsa-core, alsa-seq, base, containers
+     , data-accessor, data-accessor-transformers, event-list, midi
+     , midi-alsa, non-negative, random, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "streamed";
+       version = "0.2";
+       sha256 = "0dql0vxw28nr60979zhhc9frwqhg6cmj8g03r4m8zlb6anqwv7xa";
+       buildDepends = [
+         alsa-core alsa-seq base containers data-accessor
+         data-accessor-transformers event-list midi midi-alsa non-negative
+         random transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/MIDI";
+       description = "Programmatically edit MIDI event streams via ALSA";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "streaming-commons" = callPackage
+    ({ mkDerivation, array, async, base, blaze-builder, bytestring
+     , deepseq, directory, hspec, network, process, QuickCheck, random
+     , stm, text, transformers, unix, zlib
+     }:
+     mkDerivation {
+       pname = "streaming-commons";
+       version = "0.1.10.0";
+       sha256 = "15bsjprj3xr7bcqskgjs9c1pgy1yq56579qj4r4wk1ccg3kqfw8q";
+       buildDepends = [
+         array base blaze-builder bytestring directory network process
+         random stm text transformers unix zlib
+       ];
+       testDepends = [
+         array async base blaze-builder bytestring deepseq hspec network
+         QuickCheck text unix zlib
+       ];
+       homepage = "https://github.com/fpco/streaming-commons";
+       description = "Common lower-level functions needed by various streaming data libraries";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "streaming-histogram" = callPackage
+    ({ mkDerivation, base, containers, criterion, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "streaming-histogram";
+       version = "0.1.0.0";
+       sha256 = "1sm05hx5llab6ng6d27rz44kd6njk85axkn3bs3nm03pr85c9xq7";
+       buildDepends = [ base containers criterion ];
+       testDepends = [
+         base containers tasty tasty-hunit tasty-quickcheck
+       ];
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "streamproc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "streamproc";
+       version = "1.6.2";
+       sha256 = "1wl44n4nav4h203mzfdf1bd5nh4v23dib54lvxka1rl3zymgyvp7";
+       buildDepends = [ base ];
+       homepage = "http://github.com/peti/streamproc";
+       description = "Stream Processer Arrow";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "streams" = callPackage
+    ({ mkDerivation, adjunctions, base, comonad, distributive
+     , semigroupoids, semigroups
+     }:
+     mkDerivation {
+       pname = "streams";
+       version = "3.2";
+       sha256 = "1pms4wiispnpzysq44fcvspdxmbwk47rfcpcyshnnhpw7c7qngni";
+       buildDepends = [
+         adjunctions base comonad distributive semigroupoids semigroups
+       ];
+       homepage = "http://github.com/ekmett/streams/issues";
+       description = "Various Haskell 2010 stream comonads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "strict" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "strict";
+       version = "0.3.2";
+       sha256 = "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc";
+       buildDepends = [ array base ];
+       homepage = "http://www.cse.unsw.edu.au/~rl/code/strict.html";
+       description = "Strict data types and String IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "strict-base-types" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, binary, deepseq, ghc-prim
+     , lens, QuickCheck, strict
+     }:
+     mkDerivation {
+       pname = "strict-base-types";
+       version = "0.3.0";
+       sha256 = "03z38yxig43qq4xw9hinzzfarzy7176s5gfv8rsjnild8sa0bsvb";
+       buildDepends = [
+         aeson base bifunctors binary deepseq ghc-prim 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-concurrency" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "strict-concurrency";
+       version = "0.2.4.1";
+       sha256 = "128sbh5fnv02v2xdjlk7cb525bfckqyj7fyz5399nfycs0nj2f89";
+       buildDepends = [ base deepseq ];
+       homepage = "http://code.haskell.org/~dons/code/strict-concurrency";
+       description = "Strict concurrency abstractions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "strict-ghc-plugin" = callPackage
+    ({ mkDerivation, base, ghc, syb }:
+     mkDerivation {
+       pname = "strict-ghc-plugin";
+       version = "0.1.1";
+       sha256 = "0hx1zp99npwdp5w3q93xfidcw59lxskilmbqc80xi97d4w4h8jrb";
+       buildDepends = [ base ghc syb ];
+       homepage = "http://thoughtpolice.github.com/strict-ghc-plugin";
+       description = "Compiler plugin for making Haskell strict";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "strict-identity" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "strict-identity";
+       version = "0.1.0.0";
+       sha256 = "1fzcim7baycdb60z5icdw5flj1a3dfn6xscpyif6l94c1538g3i1";
+       buildDepends = [ base ];
+       homepage = "https://github.com/cartazio/strict-identity";
+       description = "Strict Identity Monad, handy for writing fast code!";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "strict-io" = callPackage
+    ({ mkDerivation, base, deepseq, extensible-exceptions }:
+     mkDerivation {
+       pname = "strict-io";
+       version = "0.2.1";
+       sha256 = "003pfzjixa04qyx4db0rgk7y72nk2xwlb29aigmdmfn80xbmw9md";
+       buildDepends = [ base deepseq extensible-exceptions ];
+       description = "A library wrapping standard IO modules to provide strict IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "strictify" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, unix }:
+     mkDerivation {
+       pname = "strictify";
+       version = "0.1";
+       sha256 = "0z28ifg21xgzh75ird41mp40a4rrc5p0wrnbhrxv92ih6pf5zmah";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath process unix ];
+       description = "Find a local optimum of strictness annotations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "strictly" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "strictly";
+       version = "1.0.0.0";
+       sha256 = "1a3azrg9ksb4kmbckjqw3krxj0app6q19ighd6k3z7xpf682qx3c";
+       buildDepends = [ base deepseq ];
+       jailbreak = true;
+       homepage = "https://github.com/DanBurton/strictly#readme";
+       description = "Combinators for strictifying functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "string" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "string";
+       version = "0.4.0";
+       sha256 = "1l94p8c9j8a2dbpwj5q7d1m61gdhmi6vllz34g8d9qjfwpnx7z6z";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "string-class" = callPackage
+    ({ mkDerivation, base, bytestring, tagged, text }:
+     mkDerivation {
+       pname = "string-class";
+       version = "0.1.6.4";
+       sha256 = "0hh2xcbf7sjsv15jgldpy5njjvkkkxwlg2g9961z9fn94zyi7854";
+       buildDepends = [ base bytestring tagged text ];
+       jailbreak = true;
+       homepage = "https://github.com/bairyn/string-class";
+       description = "String class library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "string-combinators" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "string-combinators";
+       version = "0.6.0.5";
+       sha256 = "07ky2z5f1l5mb7r3rvyraak0bzciq4krkg5lv8g0a5vxpnzlm4cl";
+       buildDepends = [ base ];
+       homepage = "https://github.com/basvandijk/string-combinators";
+       description = "Polymorphic functions to build and combine stringlike values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "string-conv" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "string-conv";
+       version = "0.1";
+       sha256 = "0zjmlkjmdiqnfnb9qqam6bkipwqz5iwy4bjy9xcs20ljf01586l6";
+       buildDepends = [ base bytestring text ];
+       description = "Standardized conversion between string types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "string-conversions" = callPackage
+    ({ mkDerivation, base, bytestring, text, utf8-string }:
+     mkDerivation {
+       pname = "string-conversions";
+       version = "0.3.0.3";
+       sha256 = "0n2ifim9n5vm305r989lh5xlbd8qc6byip2nfavf6gd2bcscs84p";
+       buildDepends = [ base bytestring text utf8-string ];
+       description = "Simplifies dealing with different types for strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "string-convert" = callPackage
+    ({ mkDerivation, base, bytestring, text, utf8-string }:
+     mkDerivation {
+       pname = "string-convert";
+       version = "2.0.0";
+       sha256 = "1wwx7j6qvb93yc0r2hdah1rgbi96r2mjhmibx72d4x7idhn0xsd9";
+       buildDepends = [ base bytestring text utf8-string ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/tdammers/string-convert";
+       description = "Provide universal string conversions between any two string-like types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "string-qq" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "string-qq";
+       version = "0.0.2";
+       sha256 = "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp";
+       buildDepends = [ base template-haskell ];
+       description = "QuasiQuoter for non-interpolated strings, texts and bytestrings";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "string-quote" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "string-quote";
+       version = "0.0.1";
+       sha256 = "1pfkd3lwdphvl00gly7zbpvsmlw6b2d5568rxyqmq2qw6vzf9134";
+       buildDepends = [ base template-haskell ];
+       description = "QuasiQuoter for non-interpolated strings, texts and bytestrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "string-similarity" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, QuickCheck, suffixtree }:
+     mkDerivation {
+       pname = "string-similarity";
+       version = "0.1.0.0";
+       sha256 = "0k03krg3m03bxk9i5ph5ipks9b0j8yqsal0haf8fyjq83xs1hbmv";
+       buildDepends = [ base suffixtree ];
+       testDepends = [ base bytestring hspec QuickCheck ];
+       homepage = "http://github.com/mwotton/string-similarity";
+       description = "longest common substring";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stringable" = callPackage
+    ({ mkDerivation, base, bytestring, system-filepath, text }:
+     mkDerivation {
+       pname = "stringable";
+       version = "0.1.3";
+       sha256 = "10jsvbiqbmnbipv1566k5mqkpgfyrzbk8m7b18rqjb5m3qg9dbz7";
+       buildDepends = [ base bytestring system-filepath text ];
+       description = "A Stringable type class, in the spirit of Foldable and Traversable";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stringbuilder" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "stringbuilder";
+       version = "0.5.0";
+       sha256 = "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9";
+       buildDepends = [ base ];
+       testDepends = [ base hspec QuickCheck ];
+       description = "A writer monad for multi-line string literals";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stringlike" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, quickcheck-instances
+     , test-framework, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "stringlike";
+       version = "0.0.0";
+       sha256 = "0wrhma5g73lnyazbb11z2xhd7fdz93mb1kgbqxjn1prhlc3j7ahy";
+       buildDepends = [ base bytestring text ];
+       testDepends = [
+         base bytestring QuickCheck quickcheck-instances test-framework
+         test-framework-quickcheck2 text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/selectel/stringlike";
+       description = "Transformations to several string-like types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stringprep" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, tasty
+     , tasty-quickcheck, tasty-th, text, text-icu
+     }:
+     mkDerivation {
+       pname = "stringprep";
+       version = "1.0.0";
+       sha256 = "0ha4cvzdppd514xh9315v3nvrn1q4xd74gifdqpszw98hj2mw0b0";
+       buildDepends = [ base containers text text-icu ];
+       testDepends = [
+         base containers QuickCheck tasty tasty-quickcheck tasty-th text
+         text-icu
+       ];
+       description = "Implements the \"StringPrep\" algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "strings" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "strings";
+       version = "1.1";
+       sha256 = "1xz9v3w5s13yhk7iy9dw6i8s2jc6c0b1ci96dwmcq9a1n3l3ng4v";
+       buildDepends = [ base bytestring text ];
+       homepage = "http://hub.darcs.net/scravy/strings";
+       description = "Functions for working with strings, including Text, ByteString, etc";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stringsearch" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers }:
+     mkDerivation {
+       pname = "stringsearch";
+       version = "0.3.6.6";
+       sha256 = "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9";
+       buildDepends = [ array base bytestring containers ];
+       homepage = "https://bitbucket.org/dafis/stringsearch";
+       description = "Fast searching, splitting and replacing of ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stringtable-atom" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, syb }:
+     mkDerivation {
+       pname = "stringtable-atom";
+       version = "0.0.7";
+       sha256 = "1wp6w12bflrqcwi09y7s1crj72n4pbj8bkpwj2ia5gaqn5x56wjs";
+       buildDepends = [ base binary bytestring containers syb ];
+       homepage = "http://github.com/audreyt/stringtable-atom/";
+       description = "Memoize Strings as Atoms for fast comparison and sorting, with maps and sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stripe" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
+     , mtl, text, time, unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "stripe";
+       version = "0.8.3";
+       sha256 = "1lqz116lvj2444sf2j58dg1nkjwaxm9abrizp1zqkmixbl7ykaqh";
+       buildDepends = [
+         aeson base bytestring http-conduit http-types mtl text time
+         unordered-containers utf8-string
+       ];
+       homepage = "https://github.com/michaelschade/hs-stripe";
+       description = "A Haskell implementation of the Stripe API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stripe-haskell" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, either, HsOpenSSL, hspec
+     , http-streams, io-streams, mtl, random, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "stripe-haskell";
+       version = "0.1.3.1";
+       sha256 = "0c0g1ixjja49ifdch06flsb1k233sazy7yybqskacv7xmb1bpixy";
+       buildDepends = [
+         aeson base bytestring either HsOpenSSL http-streams io-streams mtl
+         random text time transformers unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring either HsOpenSSL hspec http-streams random
+         text time transformers
+       ];
+       homepage = "https://github.com/dmjio/stripe";
+       description = "Stripe API for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "strive" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
+     , hlint, http-conduit, http-types, markdown-unlit, template-haskell
+     , text, time, transformers
+     }:
+     mkDerivation {
+       pname = "strive";
+       version = "1.0.0";
+       sha256 = "02nfwi2h40cq393p1f43rrlx635v8fmgs4ww8jx7bl36nsrcjvwg";
+       buildDepends = [
+         aeson base bytestring data-default gpolyline http-conduit
+         http-types template-haskell text time transformers
+       ];
+       testDepends = [ base bytestring hlint markdown-unlit time ];
+       homepage = "http://taylor.fausak.me/strive/";
+       description = "A Haskell client for the Strava V3 API";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "strptime" = callPackage
+    ({ mkDerivation, base, bytestring, text, time }:
+     mkDerivation {
+       pname = "strptime";
+       version = "1.0.10";
+       sha256 = "1f42yf49fqr2fyjfakscmmlnmw3w5rg7wyy6gjyrf0gcgsh0h9fd";
+       buildDepends = [ base bytestring text time ];
+       description = "Efficient parsing of LocalTime using a binding to C's strptime, with some extra features (i.e. fractional seconds)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "structural-induction" = callPackage
+    ({ mkDerivation, base, containers, genifunctors, geniplate
+     , language-haskell-extract, mtl, pretty, QuickCheck, safe
+     , testing-feat
+     }:
+     mkDerivation {
+       pname = "structural-induction";
+       version = "0.1.2";
+       sha256 = "153w6p4xn3fv13kdq3cf4jwiikplnyiaczw30dy9mwyb2i8fp7r5";
+       buildDepends = [ base containers genifunctors mtl pretty safe ];
+       testDepends = [
+         base geniplate language-haskell-extract mtl pretty QuickCheck safe
+         testing-feat
+       ];
+       homepage = "http://www.github.com/danr/structural-induction";
+       description = "Instantiate structural induction schemas for algebraic data types";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "structured-haskell-mode" = callPackage
+    ({ mkDerivation, applicative-quoters, base, descriptive, emacs
+     , ghc-prim, haskell-src-exts, text
+     }:
+     mkDerivation {
+       pname = "structured-haskell-mode";
+       version = "1.0.20";
+       sha256 = "1pcy83ic95l7k3839py4m10zlx4s4pk4n3bsx3mb7n8rp8zngcv2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         applicative-quoters base descriptive ghc-prim haskell-src-exts text
+       ];
+       buildTools = [ emacs ];
+       postInstall = ''
+         emacs -L elisp --batch -f batch-byte-compile "elisp/"*.el
+         install -d $out/share/emacs/site-lisp
+         install "elisp/"*.el "elisp/"*.elc  $out/share/emacs/site-lisp
+       '';
+       homepage = "https://github.com/chrisdone/structured-haskell-mode";
+       description = "Structured editing Emacs mode for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) emacs;};
+
+  "structured-mongoDB" = callPackage
+    ({ mkDerivation, array, base, bson, bytestring, compact-string-fix
+     , containers, monad-control, mongoDB, mtl, old-time
+     , template-haskell, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "structured-mongoDB";
+       version = "0.3";
+       sha256 = "0f4s4zi6h53jhcj3f43a2arra02fk1i2almdm6x2mjy1mzhdkjdx";
+       buildDepends = [
+         array base bson bytestring compact-string-fix containers
+         monad-control mongoDB mtl old-time template-haskell transformers
+         transformers-base
+       ];
+       jailbreak = true;
+       description = "Structured MongoDB interface";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "structures" = callPackage
+    ({ mkDerivation, base, bytestring, containers, contravariant
+     , deepseq, directory, doctest, filepath, free, ghc, ghc-prim
+     , hashable, hlint, hybrid-vectors, lens, monad-st, parallel
+     , primitive, QuickCheck, semigroups, tasty, tasty-quickcheck
+     , tasty-th, transformers, unordered-containers, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "structures";
+       version = "0.2";
+       sha256 = "000misbp9fsnmzhqi7na9b56h45c18ac86j7gfaxv7fgqz82zis8";
+       buildDepends = [
+         base containers contravariant deepseq free ghc ghc-prim hashable
+         hybrid-vectors lens monad-st parallel primitive semigroups
+         transformers vector vector-algorithms
+       ];
+       testDepends = [
+         base bytestring containers deepseq directory doctest filepath hlint
+         QuickCheck semigroups tasty tasty-quickcheck tasty-th
+         unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/structures";
+       description = "\"Advanced\" Data Structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "stunclient" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, crypto-api, cryptohash
+     , cryptohash-cryptoapi, digest, network, QuickCheck, random
+     , stringprep, test-framework, test-framework-quickcheck2, text
+     , transformers, unbounded-delays
+     }:
+     mkDerivation {
+       pname = "stunclient";
+       version = "0.1.0.1";
+       sha256 = "0i9sbicwx6d3vsp2fxjr31msd1n5nqh1vxb2hn4in5n8y6d32qlx";
+       buildDepends = [
+         base bytestring cereal crypto-api cryptohash cryptohash-cryptoapi
+         digest network random stringprep text transformers unbounded-delays
+       ];
+       testDepends = [
+         base bytestring cereal digest network QuickCheck random
+         test-framework test-framework-quickcheck2 text transformers
+         unbounded-delays
+       ];
+       description = "RFC 5389: Session Traversal Utilities for NAT (STUN) client";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "stunts" = callPackage
+    ({ mkDerivation, base, binary, bullet, bytestring, containers
+     , directory, elerea, GLFW-b, lambdacube-bullet, lambdacube-engine
+     , mtl, random, vector
+     }:
+     mkDerivation {
+       pname = "stunts";
+       version = "0.1.2";
+       sha256 = "075rbdhlrz88qkwx54jrmb4h4jq8q5wk4ncb858llaswcbsfgl8w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary bullet bytestring containers directory elerea GLFW-b
+         lambdacube-bullet lambdacube-engine mtl random vector
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/LambdaCubeEngine";
+       description = "A revival of the classic game Stunts (LambdaCube tech demo)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stylish-haskell" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cmdargs, containers
+     , directory, filepath, haskell-src-exts, HUnit, mtl, strict, syb
+     , test-framework, test-framework-hunit, yaml
+     }:
+     mkDerivation {
+       pname = "stylish-haskell";
+       version = "0.5.11.2";
+       sha256 = "1rbr1vkrlbvqijhrqq3f1dq8vn0q12832rlkbynmnknn6a682n8x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring cmdargs containers directory filepath
+         haskell-src-exts mtl strict syb yaml
+       ];
+       testDepends = [
+         aeson base bytestring cmdargs 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;
+     }) {};
+
+  "stylized" = callPackage
+    ({ mkDerivation, ansi-terminal, base }:
+     mkDerivation {
+       pname = "stylized";
+       version = "0.1.3";
+       sha256 = "09gacqlq3vlnsnbjjr44pjypw9v3amg8sqsxg0xwl8ricxpww774";
+       buildDepends = [ ansi-terminal base ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/r/lucid/Stylized";
+       description = "Ways to output stylized text on ANSI consoles";
+       license = "GPL";
+     }) {};
+
+  "subnet" = callPackage
+    ({ mkDerivation, base, split }:
+     mkDerivation {
+       pname = "subnet";
+       version = "0.0.1.2";
+       sha256 = "199kslgxlhxv8zx3mj5pxgicjxyff7vzjhw13fwfxcf9pa9289nv";
+       buildDepends = [ base split ];
+       homepage = "https://github.com/gcganley/subnet";
+       description = "subnetting calculator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "subtitleParser" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, text }:
+     mkDerivation {
+       pname = "subtitleParser";
+       version = "0.5";
+       sha256 = "1kkr6zbnv777gnv2lwq3pyxq3vv5r24f4avwv5g4dds3y8d8mv3q";
+       buildDepends = [ attoparsec base containers text ];
+       homepage = "https://patch-tag.com/r/rubenAst/subtitleParser/home";
+       description = "A parser for .srt and .sub files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "subtitles" = callPackage
+    ({ mkDerivation, base, split }:
+     mkDerivation {
+       pname = "subtitles";
+       version = "0.0.1";
+       sha256 = "0pvcwwz6i4mpmir0s2xnjy27j2cnbi4l9lxhlmxcsw4yz4spdgcl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base split ];
+       description = "Modify SRT subtitle files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "suffixarray" = callPackage
+    ({ mkDerivation, base, HUnit, vector }:
+     mkDerivation {
+       pname = "suffixarray";
+       version = "0.0.3.1";
+       sha256 = "0wa2yfz5y90dq9mf3xyl7126rvjldnaa32gmg253bfv6hjvk4hhp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base HUnit vector ];
+       jailbreak = true;
+       homepage = "https://github.com/VictorDenisov/suffixarray";
+       description = "n log n implementation of suffix array";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "suffixtree" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "suffixtree";
+       version = "0.2.2.1";
+       sha256 = "1ddk2hp27al9jzcgkrhv7v1i7knci4l22flkgb2r94h96z5nhfq6";
+       buildDepends = [ base bytestring containers ];
+       homepage = "https://github.com/bos/suffixtree";
+       description = "Efficient, lazy suffix tree implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sugarhaskell" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "sugarhaskell";
+       version = "0.1";
+       sha256 = "1hlzckm5c1dih79nmwy2gk4fjnn4kxzp3pk0adfyhldapkq6wpmq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process ];
+       homepage = "http://sugarj.org";
+       description = "Library-based syntactic extensibility for Haskell";
+       license = "GPL";
+     }) {};
+
+  "suitable" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "suitable";
+       version = "0.1.1";
+       sha256 = "1pvw7zgvfr0z2gjy224gd92ayh20j3v97rdlqmq6k6g4yabdpgci";
+       buildDepends = [ base containers ];
+       description = "Abstract over the constraints on the parameters to type constructors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sundown" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "sundown";
+       version = "0.6";
+       sha256 = "09xh3pbyarflfjk17bn2isgpmsq49d6gmq7z918kf4c32fc7x6yb";
+       buildDepends = [ base bytestring text ];
+       homepage = "https://github.com/bitonic/sundown";
+       description = "Bindings to the sundown markdown library";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "sunlight" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, old-locale
+     , process, random, time, tuple
+     }:
+     mkDerivation {
+       pname = "sunlight";
+       version = "0.6.0.0";
+       sha256 = "1q90fxv40jz5ngh6xi1n6xjx6hh1as223wjjhchk6k0y0frdg55x";
+       buildDepends = [
+         base bytestring Cabal directory old-locale process random time
+         tuple
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/sunlight";
+       description = "Test Cabalized package against multiple dependency versions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sunroof-compiler" = callPackage
+    ({ mkDerivation, base, Boolean, containers, data-default
+     , data-reify, mtl, operational, semigroups, tagged
+     , template-haskell, transformers, vector-space
+     }:
+     mkDerivation {
+       pname = "sunroof-compiler";
+       version = "0.2";
+       sha256 = "1r03aw55s4vnpbfk0n39li0aai3wvm209pqdimfkkk3kkan648cz";
+       buildDepends = [
+         base Boolean containers data-default data-reify mtl operational
+         semigroups tagged template-haskell transformers vector-space
+       ];
+       homepage = "https://github.com/ku-fpg/sunroof-compiler";
+       description = "Monadic Javascript Compiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sunroof-examples" = callPackage
+    ({ mkDerivation, base, Boolean, containers, data-default, directory
+     , filepath, parallel-io, process, QuickCheck, random, semigroups
+     , shake, stm, sunroof-compiler, sunroof-server
+     }:
+     mkDerivation {
+       pname = "sunroof-examples";
+       version = "0.2.2";
+       sha256 = "0bcxai3gq1akbcxqkkj0n52a43zqcnw865bnngy9b4z26b43kj5k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base Boolean containers data-default directory filepath parallel-io
+         process QuickCheck random semigroups shake stm sunroof-compiler
+         sunroof-server
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ku-fpg/sunroof-examples";
+       description = "Tests for Sunroof";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sunroof-server" = callPackage
+    ({ mkDerivation, aeson, base, containers, data-default, filepath
+     , kansas-comet, scientific, scotty, semigroups, stm
+     , sunroof-compiler, tagged, text, time, transformers
+     , unordered-containers, vector, vector-space, wai-middleware-static
+     , warp
+     }:
+     mkDerivation {
+       pname = "sunroof-server";
+       version = "0.2.1";
+       sha256 = "11acyb846wga6g6zcvlaffh299qn0l8jic8syg76cchm3l3348d5";
+       buildDepends = [
+         aeson base containers data-default filepath kansas-comet scientific
+         scotty semigroups stm sunroof-compiler tagged text time
+         transformers unordered-containers vector vector-space
+         wai-middleware-static warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ku-fpg/sunroof-server";
+       description = "Monadic Javascript Compiler - Server Utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "supercollider-ht" = callPackage
+    ({ mkDerivation, base, hosc, hsc3, opensoundcontrol-ht, process
+     , random, transformers
+     }:
+     mkDerivation {
+       pname = "supercollider-ht";
+       version = "0.3";
+       sha256 = "1v8nqcfdn2dasiv24lny73bc0xz2d26wvvybhxw6s7dz4bkb9kiw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base hosc hsc3 opensoundcontrol-ht process random transformers
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/SuperCollider";
+       description = "Haskell SuperCollider utilities";
+       license = "GPL";
+     }) {};
+
+  "supercollider-midi" = callPackage
+    ({ mkDerivation, alsa-seq, array, base, containers, data-accessor
+     , data-accessor-transformers, event-list, hosc, hsc3, midi
+     , midi-alsa, non-negative, opensoundcontrol-ht, random
+     , supercollider-ht, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "supercollider-midi";
+       version = "0.2.1";
+       sha256 = "1m3h6d49bjwhldbf4khyp6p8k4vr05m5392nk3d33x3d9pfhl20k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         alsa-seq array base containers data-accessor
+         data-accessor-transformers event-list hosc hsc3 midi midi-alsa
+         non-negative opensoundcontrol-ht random supercollider-ht
+         transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/SuperCollider";
+       description = "Demonstrate how to control SuperCollider via ALSA-MIDI";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "superdoc" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath }:
+     mkDerivation {
+       pname = "superdoc";
+       version = "0.1.2.1";
+       sha256 = "1fjy25fm7hz495dnxl9jw0asfhl23ykyax1w4q4yvkpmx8ars9wd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal containers directory filepath ];
+       homepage = "http://www.mathstat.dal.ca/~selinger/superdoc/";
+       description = "Additional documentation markup and Unicode support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "supero" = callPackage
+    ({ mkDerivation, base, containers, cpphs, directory, filepath
+     , haskell-src-exts, mtl, process, time, uniplate
+     }:
+     mkDerivation {
+       pname = "supero";
+       version = "3.0";
+       sha256 = "0jnip7wahy4z1jiablqzvmbk40as1ala65m7da7gsp0xvf2q7hwf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers cpphs directory filepath haskell-src-exts mtl
+         process time uniplate
+       ];
+       jailbreak = true;
+       homepage = "http://community.haskell.org/~ndm/supero/";
+       description = "A Supercompiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "supervisor" = callPackage
+    ({ mkDerivation, base, containers, exceptions, monadloc, mtl }:
+     mkDerivation {
+       pname = "supervisor";
+       version = "0.1.1.0";
+       sha256 = "1gdgqm89ig236hkrz8sjgy3shqnl961401qgavs4qpqw7r2xk8vx";
+       buildDepends = [ base containers exceptions monadloc mtl ];
+       homepage = "http://github.com/agocorona/supervisor";
+       description = "Control an internal monad execution for trace generation, backtrakcking, testing and other purposes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "suspend" = callPackage
+    ({ mkDerivation, base, lifted-base, transformers-base }:
+     mkDerivation {
+       pname = "suspend";
+       version = "0.2.0.0";
+       sha256 = "0wphk3dabba6rgd9lkxbsmq5vivvyy6b4jfxfndqb53yhdj5nkrg";
+       buildDepends = [ base lifted-base transformers-base ];
+       description = "Simple package that allows for long thread suspensions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "svg-tree" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , JuicyPixels, lens, linear, mtl, scientific, text, transformers
+     , vector, xml
+     }:
+     mkDerivation {
+       pname = "svg-tree";
+       version = "0.2";
+       sha256 = "1qn1xq1lbbqpy0jpw67gq9f8ng46hyxm43lvb8q0ifn5ll2grn36";
+       buildDepends = [
+         attoparsec base bytestring containers JuicyPixels lens linear mtl
+         scientific text transformers vector xml
+       ];
+       description = "SVG file loader and serializer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "svg2q" = callPackage
+    ({ mkDerivation, base, haskell98, language-c, pretty, svgutils, syb
+     , xml
+     }:
+     mkDerivation {
+       pname = "svg2q";
+       version = "0.3.2";
+       sha256 = "0bkhh1klwp3lgsx0s62bpdhsw9sa1cdw8gjijj9npnygznbi7jhj";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base haskell98 language-c pretty svgutils syb xml
+       ];
+       jailbreak = true;
+       homepage = "http://www.informatik.uni-kiel.de/~jgr/svg2q";
+       description = "Code generation tool for Quartz code from a SVG";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "svgcairo" = callPackage
+    ({ mkDerivation, base, cairo, glib, gtk2hs-buildtools, librsvg, mtl
+     , text
+     }:
+     mkDerivation {
+       pname = "svgcairo";
+       version = "0.13.0.3";
+       sha256 = "0jbcz46n5324vf9i05y8zdjp4ayid2frggsadm5nr8h9mnd4vncz";
+       buildDepends = [ base cairo glib mtl text ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ librsvg ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the libsvg-cairo library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) librsvg;};
+
+  "svgutils" = callPackage
+    ({ mkDerivation, base, filepath, xml }:
+     mkDerivation {
+       pname = "svgutils";
+       version = "0.1";
+       sha256 = "131mic1c09adcphry7153bviiib59avxrd7dgwny0vdmw23cgfs1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base filepath xml ];
+       jailbreak = true;
+       homepage = "https://patch-tag.com/r/twistedsquare/svgutils/home";
+       description = "Helper functions for dealing with SVG files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "svm" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "svm";
+       version = "1.0.0.1";
+       sha256 = "19fr1lzp8j0hmqqy1hyx85gmkgxc2hy8cz5zv6jlvni0qqibiksz";
+       buildDepends = [ array base ];
+       homepage = "http://github.com/andrewdougherty/svm";
+       description = "A support vector machine written in Haskell";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "svm-light-utils" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers }:
+     mkDerivation {
+       pname = "svm-light-utils";
+       version = "0.1.2";
+       sha256 = "1p2rnx045zw9qqd88m5ldx5p3xmbsi6rkdh1bfk6ab1a0krjiifa";
+       buildDepends = [ attoparsec base bytestring containers ];
+       homepage = "http://github.com/bgamari/svm-light-utils";
+       description = "Parsers and formatters for the SVMlight input file format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "svm-simple" = callPackage
+    ({ mkDerivation, base, binary, bindings-svm, bytestring, containers
+     , deepseq, directory, monad-par, mwc-random, vector
+     }:
+     mkDerivation {
+       pname = "svm-simple";
+       version = "0.2.7.1";
+       sha256 = "07s9mly01ar6c3p4fdl7wsi5j4bziagjjlbssr7x6s3ab5r8k9vd";
+       buildDepends = [
+         base binary bindings-svm bytestring containers deepseq directory
+         monad-par mwc-random vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/aleator/Simple-SVM";
+       description = "Medium level, simplified, bindings to libsvm";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "svndump" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, doctest, filepath, old-locale, text, time, zlib
+     }:
+     mkDerivation {
+       pname = "svndump";
+       version = "0.4.5";
+       sha256 = "0m6agn9riamsadf13w1g6i0nx59xl812112xdkqh0zl34rf5hkwp";
+       buildDepends = [
+         attoparsec base bytestring containers filepath old-locale text time
+       ];
+       testDepends = [
+         attoparsec base bytestring directory doctest filepath zlib
+       ];
+       homepage = "http://github.com/jwiegley/svndump/";
+       description = "Library for reading Subversion dump files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "swagger" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, tasty, tasty-hunit, text
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "swagger";
+       version = "0.2.1";
+       sha256 = "0b3yj37l80nvk2qnd1hnvqr6xsh11v7sb6s75wnr5gm6v7q5fd47";
+       buildDepends = [ aeson base bytestring text time transformers ];
+       testDepends = [ aeson base bytestring tasty tasty-hunit ];
+       description = "Implementation of swagger data model";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "swapper" = callPackage
+    ({ mkDerivation, base, binary, bytestring, deepseq, happstack-data
+     , happstack-state, parallel, tokyocabinet
+     }:
+     mkDerivation {
+       pname = "swapper";
+       version = "0.1";
+       sha256 = "0a9g6cv7pvwna11cz1xc274rs0dgyhb84hqqdg5zyga7kkx0i06l";
+       buildDepends = [
+         base binary bytestring deepseq happstack-data happstack-state
+         parallel
+       ];
+       extraLibraries = [ tokyocabinet ];
+       homepage = "http://github.com/roman-smrz/swapper/";
+       description = "Transparently swapping data from in-memory structures to disk";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) tokyocabinet;};
+
+  "swearjure" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, fixplate, mtl
+     , pretty, random, random-shuffle, readline, system-fileio
+     , system-filepath, text
+     }:
+     mkDerivation {
+       pname = "swearjure";
+       version = "1.0.0";
+       sha256 = "0g3xq3abwkv6rs7kvv6niwdhx50c90ys1zrrzspx2g47c9fbs2iq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base containers fixplate mtl pretty random
+         random-shuffle readline system-fileio system-filepath text
+       ];
+       jailbreak = true;
+       homepage = "http://www.swearjure.com";
+       description = "Clojure without alphanumerics";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "swf" = callPackage
+    ({ mkDerivation, base, mtl, pretty }:
+     mkDerivation {
+       pname = "swf";
+       version = "1.0.1";
+       sha256 = "1jx5941kb97w4zpgz7m1r2x2lxllmi1i9a9nmwflinyj74xxg1rl";
+       buildDepends = [ base mtl pretty ];
+       homepage = "http://www.n-heptane.com/nhlab";
+       description = "A library for creating Shockwave Flash (SWF) files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "swift-lda" = callPackage
+    ({ mkDerivation, array, base, containers, ghc-prim, mwc-random
+     , primitive, vector
+     }:
+     mkDerivation {
+       pname = "swift-lda";
+       version = "0.7.0.0";
+       sha256 = "0cjvj7v8kjabv6a146hwgyk8k6b4z7gz4yrhz3d0nxa86ilvjl9q";
+       buildDepends = [
+         array base containers ghc-prim mwc-random primitive vector
+       ];
+       homepage = "https://bitbucket.org/gchrupala/colada";
+       description = "Online sampler for Latent Dirichlet Allocation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "swish" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hashable
+     , HUnit, intern, mtl, network-uri, old-locale, polyparse
+     , semigroups, test-framework, test-framework-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "swish";
+       version = "0.9.1.3";
+       sha256 = "07h5677d1liap81z3gvjab5yjib2vbmzvhfzqqmkjg7grk1dblld";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath hashable intern mtl network-uri
+         old-locale polyparse semigroups text time
+       ];
+       testDepends = [
+         base containers hashable HUnit network-uri old-locale semigroups
+         test-framework test-framework-hunit text time
+       ];
+       homepage = "https://bitbucket.org/doug_burke/swish/wiki/Home";
+       description = "A semantic web toolkit";
+       license = "LGPL";
+     }) {};
+
+  "sws" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring
+     , crypto-pubkey, crypto-random, directory, filepath, hourglass
+     , http-types, network, pem, resourcet, transformers, wai, wai-extra
+     , wai-middleware-static, warp, warp-tls, x509
+     }:
+     mkDerivation {
+       pname = "sws";
+       version = "0.3.1.0";
+       sha256 = "1ph0a7n4kch5as703jildijkwn6ivmv82jcmdsh9nzbx3fifra9b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         asn1-encoding asn1-types base bytestring crypto-pubkey
+         crypto-random directory filepath hourglass http-types network pem
+         resourcet transformers wai wai-extra wai-middleware-static warp
+         warp-tls x509
+       ];
+       jailbreak = true;
+       description = "A simple web server for serving directories, similar to weborf";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "syb" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl }:
+     mkDerivation {
+       pname = "syb";
+       version = "0.4.4";
+       sha256 = "11sc9kmfvcn9bfxf227fgmny502z2h9xs3z0m9ak66lk0dw6f406";
+       buildDepends = [ base ];
+       testDepends = [ base containers HUnit mtl ];
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+       description = "Scrap Your Boilerplate";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "syb-extras" = callPackage
+    ({ mkDerivation, base, eq, prelude-extras }:
+     mkDerivation {
+       pname = "syb-extras";
+       version = "0.3";
+       sha256 = "1l1637kf1f7n5nvcp2hv516qah7baykh5w2wmil2b909k75iq2x9";
+       buildDepends = [ base eq prelude-extras ];
+       homepage = "http://github.com/ekmett/syb-extras/";
+       description = "Higher order versions of the Scrap Your Boilerplate classes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "syb-with-class" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "syb-with-class";
+       version = "0.6.1.5";
+       sha256 = "1gn4p92jabgvbk7bg1nzjimyfzznl800bi9hw4ssvc7jqqnyw5zn";
+       buildDepends = [
+         array base bytestring containers template-haskell
+       ];
+       description = "Scrap Your Boilerplate With Class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "syb-with-class-instances-text" = callPackage
+    ({ mkDerivation, base, syb-with-class, text }:
+     mkDerivation {
+       pname = "syb-with-class-instances-text";
+       version = "0.0.1";
+       sha256 = "0vnpqk89nxs0anx62mzasl9wrcscw18vwc284y067ryb086aj2hf";
+       buildDepends = [ base syb-with-class text ];
+       description = "Scrap Your Boilerplate With Class Text instance";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sylvia" = callPackage
+    ({ mkDerivation, base, cairo, comonad-transformers, data-default
+     , data-lens, data-lens-template, gtk, optparse-applicative, parsec
+     , smallcheck, test-framework, test-framework-smallcheck
+     , transformers, void
+     }:
+     mkDerivation {
+       pname = "sylvia";
+       version = "0.2.2";
+       sha256 = "1yjvjfkg623kpnzpkknljfgcizyf3jsvkncz49yjsy9j2iklqg2k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cairo comonad-transformers data-default data-lens
+         data-lens-template gtk optparse-applicative parsec transformers
+         void
+       ];
+       testDepends = [
+         base parsec smallcheck test-framework test-framework-smallcheck
+         void
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/lfairy/sylvia";
+       description = "Lambda calculus visualization";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "sym" = callPackage
+    ({ mkDerivation, array, base, containers, hashable, QuickCheck }:
+     mkDerivation {
+       pname = "sym";
+       version = "0.11.1";
+       sha256 = "140wy1l2y71v70fhl1z4sa5dvasz5f98w2knayhd7lvw15cglmbj";
+       buildDepends = [ array base containers hashable QuickCheck ];
+       homepage = "https://github.com/akc/sym";
+       description = "Permutations, patterns, and statistics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sym-plot" = callPackage
+    ({ mkDerivation, base, diagrams-cairo, diagrams-lib, sym }:
+     mkDerivation {
+       pname = "sym-plot";
+       version = "0.2.0";
+       sha256 = "0186i6c3dyvs5pa4fh0b284wgpm10pgwax9prahirnq8whph94p2";
+       buildDepends = [ base diagrams-cairo diagrams-lib sym ];
+       jailbreak = true;
+       homepage = "http://github.com/akc/sym-plot";
+       description = "Plot permutations; an addition to the sym package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "symbol" = callPackage
+    ({ mkDerivation, base, containers, deepseq }:
+     mkDerivation {
+       pname = "symbol";
+       version = "0.2.4";
+       sha256 = "0cc8kdm68pirb0s7n46v0yvw5b718qf7qip40jkg5q3c3xsafx6h";
+       buildDepends = [ base containers deepseq ];
+       homepage = "http://www.cs.drexel.edu/~mainland/";
+       description = "A 'Symbol' type for fast symbol comparison";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "sync" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "sync";
+       version = "0.1";
+       sha256 = "10c2divizmjij5w7x2ky6dzhq6y6wr6qq1pwl7wlhgv663y9yalk";
+       buildDepends = [ base stm ];
+       description = "A fast implementation of synchronous channels with a CML-like API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "synchronous-channels" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "synchronous-channels";
+       version = "0.1";
+       sha256 = "0j9ikxd7mihy2ljb8s14lz50nj8x30siffpdznlzs7ps0s97cszh";
+       buildDepends = [ base ];
+       description = "Synchronous communication channels";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "syncthing-hs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, connection, containers
+     , derive, either, exceptions, http-client, http-client-tls, lens
+     , old-locale, quickcheck-instances, regex-posix, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, unordered-containers
+     , wreq
+     }:
+     mkDerivation {
+       pname = "syncthing-hs";
+       version = "0.1.2.0";
+       sha256 = "15s2pz775bgygq2pnb6x546sf16vcr2dzyn5qnwf4wl7gg4hjalj";
+       buildDepends = [
+         aeson base bytestring connection containers either exceptions
+         http-client http-client-tls lens old-locale regex-posix text time
+         transformers unordered-containers wreq
+       ];
+       testDepends = [
+         aeson base bytestring containers derive either lens
+         quickcheck-instances tasty tasty-hunit tasty-quickcheck text
+         transformers wreq
+       ];
+       homepage = "https://github.com/jetho/syncthing-hs";
+       description = "Haskell bindings for the Syncthing REST API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "synt" = callPackage
+    ({ mkDerivation, argparser, base, haskell-src-exts, hpc, hspec
+     , regexpr, split, Synt
+     }:
+     mkDerivation {
+       pname = "synt";
+       version = "0.1.2";
+       sha256 = "12d9ilb81vcm24s8whk2cbq1nxlrzdsr7049962q6b0vkrk64v5v";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ argparser base haskell-src-exts regexpr split ];
+       testDepends = [
+         argparser base haskell-src-exts hpc hspec regexpr split Synt
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/brentlintner/synt";
+       description = "Similar code analysis";
+       license = "unknown";
+       broken = true;
+     }) { Synt = null;};
+
+  "syntactic" = callPackage
+    ({ mkDerivation, base, constraints, containers, data-hash, mtl
+     , QuickCheck, safe, tagged, tasty, tasty-golden, tasty-quickcheck
+     , tasty-th, template-haskell, tree-view, utf8-string
+     }:
+     mkDerivation {
+       pname = "syntactic";
+       version = "2.0";
+       sha256 = "0b90afdfymsbgllk8np3xfkgrn2b5ry3n2wbpkn660rknsayw94x";
+       buildDepends = [
+         base constraints containers data-hash mtl safe tagged
+         template-haskell tree-view
+       ];
+       testDepends = [
+         base containers QuickCheck tagged tasty tasty-golden
+         tasty-quickcheck tasty-th utf8-string
+       ];
+       homepage = "https://github.com/emilaxelsson/syntactic";
+       description = "Generic representation and manipulation of abstract syntax";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "syntactical" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "syntactical";
+       version = "0.1";
+       sha256 = "1sqnmarmdm4mha28h8gbp3jddlig84v7zqn53a29047w3877g3gw";
+       buildDepends = [ base ];
+       description = "Distfix expression parsing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "syntax" = callPackage
+    ({ mkDerivation, base, lens, mono-traversable, scientific, semi-iso
+     , text, vector
+     }:
+     mkDerivation {
+       pname = "syntax";
+       version = "1.0.0.0";
+       revision = "1";
+       sha256 = "1dhbzbf1zlpfjhnacqfhzvjznwlzv39c12a3y8ivqhplnkmqsm7x";
+       editedCabalFile = "7f3d7f3a8c8aedb78145f4d8a992815cdb644d839a5431b23e5fad0a62d7dd5c";
+       buildDepends = [
+         base lens mono-traversable scientific semi-iso text vector
+       ];
+       description = "Reversible parsing and pretty-printing";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "syntax-attoparsec" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, scientific, semi-iso
+     , syntax, text, vector
+     }:
+     mkDerivation {
+       pname = "syntax-attoparsec";
+       version = "1.0.0.0";
+       sha256 = "1ygikzc7s967bh9yz19r9zd2r1jychlf04cylbigaakrxnnkj4hi";
+       buildDepends = [
+         attoparsec base bytestring scientific semi-iso syntax text vector
+       ];
+       description = "Syntax instances for Attoparsec";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "syntax-example" = callPackage
+    ({ mkDerivation, attoparsec, base, lens, scientific, semi-iso
+     , syntax, syntax-attoparsec, syntax-printer, text
+     }:
+     mkDerivation {
+       pname = "syntax-example";
+       version = "1.0.0.0";
+       sha256 = "1szfapnlcgr19cipm4q68w7p52sw2hapks63vcnn9qfjnav17ljr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base lens scientific semi-iso syntax syntax-attoparsec
+         syntax-printer text
+       ];
+       description = "Example application using syntax, a library for abstract syntax descriptions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "syntax-example-json" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, lens, scientific
+     , semi-iso, syntax, syntax-attoparsec, syntax-printer, text
+     }:
+     mkDerivation {
+       pname = "syntax-example-json";
+       version = "1.0.0.0";
+       sha256 = "1bgv2y97rk5jr2gkl4d1pm19v3pl1gziz4sxnlv9w539dna0dwim";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base containers lens scientific semi-iso syntax
+         syntax-attoparsec syntax-printer text
+       ];
+       description = "Example JSON parser/pretty-printer";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "syntax-pretty" = callPackage
+    ({ mkDerivation, base, pretty, scientific, semi-iso, syntax, text
+     }:
+     mkDerivation {
+       pname = "syntax-pretty";
+       version = "0.2.0.0";
+       sha256 = "1dyv0d998lbjndiw05hz9rmiazzz3rvw8hqdx5npb6yjmq237zmf";
+       buildDepends = [ base pretty scientific semi-iso syntax text ];
+       description = "Syntax instance for pretty, the pretty printing library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "syntax-printer" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, scientific, semi-iso
+     , semigroupoids, syntax, text, vector
+     }:
+     mkDerivation {
+       pname = "syntax-printer";
+       version = "1.0.0.0";
+       sha256 = "051gkxj9qgrmjp8jl48nb7487y2hd6ymrzjl62k2faa0cfz6sbqz";
+       buildDepends = [
+         base bifunctors bytestring scientific semi-iso semigroupoids syntax
+         text vector
+       ];
+       description = "Text and ByteString printers for 'syntax'";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "syntax-trees" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, hint, mtl
+     , template-haskell, uniplate
+     }:
+     mkDerivation {
+       pname = "syntax-trees";
+       version = "0.1.2";
+       sha256 = "19lgaiql3d8v6w8dl0a7adrfw63ch5376dz6y4jzndrwzi43p9sb";
+       buildDepends = [
+         base haskell-src-exts hint mtl template-haskell uniplate
+       ];
+       description = "Convert between different Haskell syntax trees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "syntax-trees-fork-bairyn" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, hint, mtl
+     , template-haskell, uniplate
+     }:
+     mkDerivation {
+       pname = "syntax-trees-fork-bairyn";
+       version = "0.1.2.5";
+       sha256 = "1n4k8m4zl5phxyrh6s46ijxcba9iljyh7zvhrrzzaw3d00nfvqg6";
+       buildDepends = [
+         base haskell-src-exts hint mtl template-haskell uniplate
+       ];
+       description = "Convert between different Haskell syntax trees. Bairyn's fork.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "synthesizer" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, event-list, filepath, gnuplot, non-negative
+     , numeric-prelude, numeric-quest, old-time, process, QuickCheck
+     , random, sox, storable-record, storablevector, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer";
+       version = "0.2.0.1";
+       sha256 = "1n5r7061x8212a8wfv0j9g28l79lxgbymr1f0m1qgzkhqf80gz3d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory event-list
+         filepath gnuplot non-negative numeric-prelude numeric-quest
+         old-time process QuickCheck random sox storable-record
+         storablevector transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Audio signal processing coded in Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "synthesizer-alsa" = callPackage
+    ({ mkDerivation, alsa-core, alsa-pcm, alsa-seq, base, event-list
+     , midi, midi-alsa, non-negative, numeric-prelude, old-time, random
+     , sox, storablevector, synthesizer-core, synthesizer-dimensional
+     , synthesizer-midi, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer-alsa";
+       version = "0.5.0.2";
+       sha256 = "0k4hnhldrqjxz391p45rc125d2v8pbx23qxsvfs4hwra886imny3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         alsa-core alsa-pcm alsa-seq base event-list midi midi-alsa
+         non-negative numeric-prelude old-time random sox storablevector
+         synthesizer-core synthesizer-dimensional synthesizer-midi
+         transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Control synthesizer effects via ALSA/MIDI";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "synthesizer-core" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, event-list, explicit-exception, filepath, non-empty
+     , non-negative, numeric-prelude, numeric-quest, process, QuickCheck
+     , random, sample-frame-np, sox, storable-record, storable-tuple
+     , storablevector, stream-fusion, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer-core";
+       version = "0.7.1";
+       sha256 = "0h3dj4j9ha1db2lw3vd7zai05ivm9lfydaynq2bxqhz77s07skzf";
+       buildDepends = [
+         array base binary bytestring containers deepseq event-list
+         explicit-exception filepath non-empty non-negative numeric-prelude
+         numeric-quest process QuickCheck random sample-frame-np sox
+         storable-record storable-tuple storablevector stream-fusion
+         transformers utility-ht
+       ];
+       testDepends = [
+         base containers event-list non-empty non-negative numeric-prelude
+         QuickCheck random storable-tuple storablevector utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Audio signal processing coded in Haskell: Low level part";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "synthesizer-dimensional" = callPackage
+    ({ mkDerivation, base, bytestring, event-list, non-negative
+     , numeric-prelude, random, sox, storable-record, storablevector
+     , synthesizer-core, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer-dimensional";
+       version = "0.7.0.2";
+       sha256 = "1y3jnlzpgs0n42vf5ami98c3nc1kz645spxirdaqn60f3ig4bvzb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring event-list non-negative numeric-prelude random sox
+         storable-record storablevector synthesizer-core transformers
+         utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Audio signal processing with static physical dimensions";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "synthesizer-inference" = callPackage
+    ({ mkDerivation, base, event-list, non-negative, numeric-prelude
+     , random, synthesizer-core, transformers, UniqueLogicNP, utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer-inference";
+       version = "0.2";
+       sha256 = "07jhdd73vrhlvx6aq6rdd78qk8vfy2jcc9vrdrf8y6ikq6ir99rb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base event-list non-negative numeric-prelude random
+         synthesizer-core transformers UniqueLogicNP utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Audio signal processing with dynamic physical dimensions";
+       license = "GPL";
+       broken = true;
+     }) { UniqueLogicNP = null;};
+
+  "synthesizer-llvm" = callPackage
+    ({ mkDerivation, base, containers, event-list, filepath, llvm-extra
+     , llvm-tf, midi, non-empty, non-negative, numeric-prelude
+     , QuickCheck, random, sox, storable-record, storable-tuple
+     , storablevector, synthesizer-core, synthesizer-midi, tfp
+     , transformers, unsafe, utility-ht, vault
+     }:
+     mkDerivation {
+       pname = "synthesizer-llvm";
+       version = "0.7.0.1";
+       sha256 = "04mzsdwf8n31nqjlv7ryylx64mvhcfkx6r8jq1yijvnb1pih4vk2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers event-list filepath llvm-extra llvm-tf midi
+         non-empty non-negative numeric-prelude random sox storable-record
+         storable-tuple storablevector synthesizer-core synthesizer-midi tfp
+         transformers unsafe utility-ht vault
+       ];
+       testDepends = [
+         base llvm-extra llvm-tf numeric-prelude QuickCheck random
+         storablevector synthesizer-core tfp utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
+       description = "Efficient signal processing using runtime compilation";
+       license = "GPL";
+     }) {};
+
+  "synthesizer-midi" = callPackage
+    ({ mkDerivation, array, base, containers, data-accessor
+     , data-accessor-transformers, deepseq, event-list, midi
+     , non-negative, numeric-prelude, sox, storable-record
+     , storablevector, synthesizer-core, synthesizer-dimensional
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "synthesizer-midi";
+       version = "0.6.0.2";
+       sha256 = "0xsfjgh82nxpwrhpllhjxxzaj42cxb5cbbpgwd1b1bsv67441h2x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers data-accessor data-accessor-transformers
+         deepseq event-list midi non-negative numeric-prelude sox
+         storable-record storablevector synthesizer-core
+         synthesizer-dimensional transformers utility-ht
+       ];
+       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
+    ({ mkDerivation, base, doctest, process, text }:
+     mkDerivation {
+       pname = "sys-auth-smbclient";
+       version = "2.0.0.0";
+       sha256 = "00j1ss8xsnd8m0v0p9r9mampbczclzanzcli2qrxcl4j9vkp2mb7";
+       buildDepends = [ base process text ];
+       testDepends = [ base doctest ];
+       homepage = "https://github.com/kkazuo/sys-auth-smbclient";
+       description = "Auth with smbclient command";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "system-argv0" = callPackage
+    ({ mkDerivation, base, bytestring, system-filepath, text }:
+     mkDerivation {
+       pname = "system-argv0";
+       version = "0.1.1";
+       sha256 = "1ijfry2r3cypp3zmws6dczk21m4n86fkxjld7yl19gjp46fxllbd";
+       buildDepends = [ base bytestring system-filepath text ];
+       homepage = "https://john-millikin.com/software/haskell-filesystem/";
+       description = "Get argv[0] as a FilePath";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "system-canonicalpath" = callPackage
+    ({ mkDerivation, base, basic-prelude, chell, directory
+     , system-filepath, text
+     }:
+     mkDerivation {
+       pname = "system-canonicalpath";
+       version = "0.3.2.0";
+       sha256 = "031m5j7xglxdgp3rkgf2v37jya1a3hhjp3mxbfyyjl27wv7pzhjy";
+       buildDepends = [
+         base basic-prelude directory system-filepath text
+       ];
+       testDepends = [ base basic-prelude chell system-filepath ];
+       homepage = "https://github.com/d12frosted/CanonicalPath";
+       description = "Abstract data type for canonical paths with some utilities";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "system-command" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, process
+     , QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "system-command";
+       version = "0.0.10";
+       sha256 = "11lfr6xm5xpvq4244pc7a0psy2m1krz0b1jd9pdw6kzn5ammi1b2";
+       buildDepends = [ base directory filepath process transformers ];
+       testDepends = [ base directory doctest filepath QuickCheck ];
+       homepage = "https://github.com/tonymorris/system-command";
+       description = "A replacement for System.Exit and System.Process";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "system-fileio" = callPackage
+    ({ mkDerivation, base, bytestring, chell, system-filepath
+     , temporary, text, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "system-fileio";
+       version = "0.3.16.2";
+       sha256 = "17mk1crlgrh9c9lfng6a2fdk49m2mbkkdlq5iysl1rzwkn12mmkd";
+       buildDepends = [ base bytestring system-filepath text time unix ];
+       testDepends = [
+         base bytestring chell system-filepath temporary text time
+         transformers unix
+       ];
+       homepage = "https://github.com/fpco/haskell-filesystem";
+       description = "Consistent filesystem interaction across GHC versions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "system-filepath" = callPackage
+    ({ mkDerivation, base, bytestring, chell, chell-quickcheck, deepseq
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "system-filepath";
+       version = "0.4.13.2";
+       sha256 = "0nmzahybk7mijq6dxcp2hr5mh5hlmz3q1dg1d31b5saazfnsicsj";
+       buildDepends = [ base bytestring deepseq text ];
+       testDepends = [
+         base bytestring chell chell-quickcheck QuickCheck text
+       ];
+       homepage = "https://github.com/fpco/haskell-filesystem";
+       description = "High-level, byte-based file and directory path manipulations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "system-gpio" = callPackage
+    ({ mkDerivation, array, base, ghc-prim }:
+     mkDerivation {
+       pname = "system-gpio";
+       version = "0.0.2";
+       sha256 = "1i718k96xvsfl9rh1x4n5ra88838wd6rzmj3p70bfkxxrsvv1zi4";
+       buildDepends = [ array base ghc-prim ];
+       homepage = "https://github.com/luzhuomi/system-gpio/";
+       description = "GPIO wrapper libary for Raspberry Pi";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "system-inotify" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "system-inotify";
+       version = "0.1";
+       sha256 = "0ndw4vcvvf7p6nb5vn91mhbj4w9lmgm4cl0jzsks4mxs625bv4lg";
+       buildDepends = [ base bytestring ];
+       homepage = "http://darcs.imperialviolet.org/system-inotify";
+       description = "Binding to Linux's inotify interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "system-lifted" = callPackage
+    ({ mkDerivation, base, directory, either, haskell-src-meta
+     , template-haskell, text, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "system-lifted";
+       version = "0.2.0.1";
+       sha256 = "1c27y14867dd6706kp9n9y287vi7vqfzd2qr9365mk2854zvqifw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory either haskell-src-meta template-haskell text time
+         transformers unix
+       ];
+       homepage = "https://github.com/jcristovao/system-lifted";
+       description = "Lifted versions of System functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "system-posix-redirect" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "system-posix-redirect";
+       version = "1.1.0.1";
+       sha256 = "1wkfz898d3607xnx779l1k1qc8i2k63ixg47542r45scwq8m0lsk";
+       buildDepends = [ base bytestring unix ];
+       description = "A toy module to temporarily redirect a program's stdout";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "system-random-effect" = callPackage
+    ({ mkDerivation, base, bytestring, crypto-api, extensible-effects
+     , HUnit, mersenne-random-pure64, primitive, QuickCheck, statistics
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "system-random-effect";
+       version = "0.4.1.3";
+       sha256 = "1gfzyjap173brh0i4plgad0409hpah98wsf9w0n7mcr2ysrvjdmb";
+       buildDepends = [
+         base bytestring crypto-api extensible-effects
+         mersenne-random-pure64 primitive statistics vector
+         vector-algorithms
+       ];
+       testDepends = [
+         base extensible-effects HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/wowus/system-random-effect";
+       description = "Random number generation for extensible effects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "system-time-monotonic" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "system-time-monotonic";
+       version = "0.2";
+       sha256 = "0f5grhh6x2fbawmdk0gq1nsjz47iz8f8r2592d1l69fqddwdhc3v";
+       buildDepends = [ base time ];
+       homepage = "https://github.com/joeyadams/haskell-system-time-monotonic";
+       description = "Simple library for using the system's monotonic clock";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "system-util" = callPackage
+    ({ mkDerivation, base, directory, easy-data, either, filepath
+     , hspec, quickcheck-instances, semigroups, system-lifted
+     , template-haskell, transformers, unix
+     }:
+     mkDerivation {
+       pname = "system-util";
+       version = "0.2";
+       sha256 = "0sjgsm4n3imnl45zgpvs1vd10wmgci2am03kpjphbqgi5bdywzqk";
+       buildDepends = [
+         base directory either filepath semigroups system-lifted
+         template-haskell transformers unix
+       ];
+       testDepends = [
+         base directory easy-data either filepath hspec quickcheck-instances
+         semigroups system-lifted template-haskell transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jcristovao/system-util";
+       description = "Various system utils lifted to EitherT";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { easy-data = null;};
+
+  "system-uuid" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, libossp_uuid
+     , murmur-hash, parsec, template-haskell
+     }:
+     mkDerivation {
+       pname = "system-uuid";
+       version = "2.1.1";
+       sha256 = "12c05aqgxfqfsc5hbwlfwy6rhcx29ywz6ai86009y45hx9iii4cb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers murmur-hash parsec
+         template-haskell
+       ];
+       extraLibraries = [ libossp_uuid ];
+       homepage = "http://github.com/solidsnack/system-uuid/";
+       description = "Bindings to system UUID functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) libossp_uuid;};
+
+  "systemd" = callPackage
+    ({ mkDerivation, base, bytestring, network, transformers, unix }:
+     mkDerivation {
+       pname = "systemd";
+       version = "1.0.0";
+       sha256 = "10iyiw0m543bx9j9vdnz2lpnc3944i7ff9vbpdivvgv5z7gd17yn";
+       buildDepends = [ base bytestring network transformers unix ];
+       testDepends = [ base ];
+       homepage = "https://github.com/erebe/systemd";
+       description = "Systemd facilities (Socket activation, Notify)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "syz" = callPackage
+    ({ mkDerivation, base, syb }:
+     mkDerivation {
+       pname = "syz";
+       version = "0.2.0.0";
+       sha256 = "1m5395937yyxsa1bmlfn1dxa1jr15yjhlz9s15bpwapshcd8119y";
+       buildDepends = [ base syb ];
+       homepage = "http://www.cs.indiana.edu/~adamsmd/papers/scrap_your_zippers/";
+       description = "Scrap Your Zippers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "t-regex" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts
+     , haskell-src-meta, lens, mtl, QuickCheck, recursion-schemes
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "t-regex";
+       version = "0.1.0.0";
+       sha256 = "0g1sv92cglcvdcq320rwdndmq80nyy1yljl6hm86mjppha20dnxl";
+       buildDepends = [
+         base containers haskell-src-exts haskell-src-meta lens mtl
+         QuickCheck recursion-schemes template-haskell transformers
+       ];
+       description = "Matchers and grammars using tree regular expressions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ta" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, mtl, Takusen
+     , template-haskell, time
+     }:
+     mkDerivation {
+       pname = "ta";
+       version = "0.1";
+       sha256 = "1i9d34gdxrc0gnny5zgp73m0si9583i8w0gw97mqpyha4pzz6hxx";
+       buildDepends = [
+         base containers ghc-prim mtl Takusen template-haskell time
+       ];
+       jailbreak = true;
+       homepage = "not available";
+       description = "Transito Abierto: convenience library when using Takusen and Oracle";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "table" = callPackage
+    ({ mkDerivation, base, csv, optparse-applicative, process, split }:
+     mkDerivation {
+       pname = "table";
+       version = "0.1.0.0";
+       sha256 = "1aqi8ivmlzi5j8kxjcwyd2nbz9jpp6q3xya8acsni5fis9l4757w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base csv optparse-applicative process split ];
+       homepage = "https://github.com/danchoi/table";
+       description = "Simple tool to generate tables from DSV input";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "table-tennis" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "table-tennis";
+       version = "0.1.0.3";
+       sha256 = "1v5g4fbbspgm4smjxk499a0grh5xsr18688kmivql8knhxh1351k";
+       buildDepends = [ base ];
+       description = "A table tennis game tracking engine";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tableaux" = callPackage
+    ({ mkDerivation, base, cgi, containers, html, mtl, parsec
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "tableaux";
+       version = "0.2";
+       sha256 = "0dc1qdjlwxqjfb286knmbam6y9w9wlr6ah7l2ndq33yia4n2jp8b";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base cgi containers html mtl parsec QuickCheck ];
+       description = "An interactive theorem prover based on semantic tableaux";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tables" = callPackage
+    ({ mkDerivation, base, binary, cereal, comonad, containers, deepseq
+     , directory, doctest, filepath, hashable, lens, profunctors
+     , safecopy, template-haskell, transformers, transformers-compat
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "tables";
+       version = "0.4.1.1";
+       sha256 = "1bv51i0bn0nlgi0zj8sjdch6m9dd8ncmnksz699fa28cn57ln64p";
+       buildDepends = [
+         base binary cereal comonad containers deepseq hashable lens
+         profunctors safecopy template-haskell transformers
+         transformers-compat unordered-containers
+       ];
+       testDepends = [
+         base containers directory doctest filepath lens transformers
+         unordered-containers
+       ];
+       homepage = "http://github.com/ekmett/tables/";
+       description = "In-memory storage with multiple keys using lenses and traversals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tablestorage" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, conduit
+     , crypto-api, cryptohash, HTTP, http-conduit, http-types, mtl
+     , network, old-locale, resourcet, SHA, time, transformers
+     , utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "tablestorage";
+       version = "0.2.1.0";
+       sha256 = "03j8cqq85i9wikw772swazbvyv1dcw0mnhmqq3slydl0axi12yr8";
+       buildDepends = [
+         base base64-bytestring bytestring conduit crypto-api cryptohash
+         HTTP http-conduit http-types mtl network old-locale resourcet SHA
+         time transformers utf8-string xml
+       ];
+       homepage = "http://github.com/paf31/tablestorage";
+       description = "Azure Table Storage REST API Wrapper";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tabloid" = callPackage
+    ({ mkDerivation, base, bytestring, containers, gtk, hint, parallel
+     , process, regex-base, regex-posix
+     }:
+     mkDerivation {
+       pname = "tabloid";
+       version = "0.47";
+       sha256 = "1qcay15g6g2c9h6vfc7pi7rl4d8fsl09vrq33pdqvgg2fp2xclh3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers gtk hint parallel process regex-base
+         regex-posix
+       ];
+       description = "View the output of shell commands in a table";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tabular" = callPackage
+    ({ mkDerivation, base, csv, html, mtl }:
+     mkDerivation {
+       pname = "tabular";
+       version = "0.2.2.7";
+       sha256 = "1ysgq7rrks7f98nnvxil8xz1q27hxdgz4szbjhqwzbwd209dmy0k";
+       buildDepends = [ base csv html mtl ];
+       homepage = "http://hub.darcs.net/kowey/tabular";
+       description = "Two-dimensional data tables with rendering functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "taffybar" = callPackage
+    ({ mkDerivation, 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
+     }:
+     mkDerivation {
+       pname = "taffybar";
+       version = "0.4.5";
+       sha256 = "0igwq5gmfki61igrs6v51pm8r3wz8pzv6iz8dw30nmqgr3ypddlw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         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
+       ];
+       homepage = "http://github.com/travitch/taffybar";
+       description = "A desktop bar similar to xmobar, but with more GUI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tag-bits" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "tag-bits";
+       version = "0.1.1.2";
+       sha256 = "0crn1g3dh97s3b55z0pkvjm9h89kq99c2agk687vr0vij6r5di65";
+       buildDepends = [ base ghc-prim ];
+       homepage = "http://github.com/ekmett/tag-bits";
+       description = "Provides access to the dynamic pointer tagging bits used by GHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tag-stream" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , enumerator
+     }:
+     mkDerivation {
+       pname = "tag-stream";
+       version = "0.2.1";
+       sha256 = "160kyp1w3y3zg0hj198v5a3jvhpfdy0y0lfz4r2d8azay4f1pkmn";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring enumerator
+       ];
+       homepage = "http://github.com/yihuang/tag-stream";
+       description = "streamlined html tag parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagchup" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-accessor
+     , explicit-exception, transformers, utility-ht, xml-basic
+     }:
+     mkDerivation {
+       pname = "tagchup";
+       version = "0.4.0.3";
+       sha256 = "1wjins7kmmmq9s8gawibnk7sr46jblclzxyj9xqxabj3vs8j6l76";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-accessor explicit-exception
+         transformers utility-ht xml-basic
+       ];
+       homepage = "http://code.haskell.org/~thielema/tagchup/";
+       description = "alternative package for processing of tag soups";
+       license = "GPL";
+     }) {};
+
+  "tagged" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "tagged";
+       version = "0.8.0.1";
+       sha256 = "1w1xi107lmp8pfhf9d6hmaji2lp7himx0hqc8gh81w2rpr8g3bjh";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://github.com/ekmett/tagged";
+       description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagged-binary" = callPackage
+    ({ mkDerivation, base, binary, bytestring, data-default, pureMD5
+     , spoon
+     }:
+     mkDerivation {
+       pname = "tagged-binary";
+       version = "0.1.2.0";
+       sha256 = "1ci2dgqix1r9x4k77igv367r3z1qphd906cg1mxfw92mq61m7f0w";
+       buildDepends = [
+         base binary bytestring data-default pureMD5 spoon
+       ];
+       description = "Provides tools for serializing data tagged with type information";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tagged-exception-core" = callPackage
+    ({ mkDerivation, base, exceptions, extensible-exceptions, mmorph
+     , transformers
+     }:
+     mkDerivation {
+       pname = "tagged-exception-core";
+       version = "2.0.0.0";
+       sha256 = "02ny4yz9afaazw2pxpkpalffx8i5nhi3x9561blrd0pdrqq8qnib";
+       buildDepends = [
+         base exceptions extensible-exceptions mmorph transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/trskop/tagged-exception";
+       description = "Reflect exceptions using phantom types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagged-list" = callPackage
+    ({ mkDerivation, AbortT-transformers, base, binary, natural-number
+     , type-equality, type-level-natural-number
+     , type-level-natural-number-induction
+     , type-level-natural-number-operations
+     }:
+     mkDerivation {
+       pname = "tagged-list";
+       version = "1.1";
+       sha256 = "1gdkq9d6hc25z9y8wcsjq10vz25fw40hz2hbp8jfwczhchdxy35s";
+       buildDepends = [
+         AbortT-transformers base binary natural-number type-equality
+         type-level-natural-number type-level-natural-number-induction
+         type-level-natural-number-operations
+       ];
+       jailbreak = true;
+       description = "Lists tagged with a type-level natural number representing their length";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tagged-th" = callPackage
+    ({ mkDerivation, base, tagged, template-haskell, type-spine }:
+     mkDerivation {
+       pname = "tagged-th";
+       version = "0.1";
+       sha256 = "1qqysn5zrkx2q3rv8ynf6nmy5rwdqk6niw0fphg5kyrg72h31s69";
+       buildDepends = [ base tagged template-haskell type-spine ];
+       jailbreak = true;
+       description = "QuasiQuoter and Template Haskell splices for creating proxies at higher-kinds";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tagged-transformer" = callPackage
+    ({ mkDerivation, base, comonad, contravariant, distributive
+     , exceptions, mtl, reflection, semigroupoids, tagged
+     }:
+     mkDerivation {
+       pname = "tagged-transformer";
+       version = "0.7.1";
+       sha256 = "1qgfx546pj4aqdblb4gddfxp642snn5dx4kxj3sn5q7c9lsgdh8j";
+       buildDepends = [
+         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";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagging" = callPackage
+    ({ mkDerivation, base, bytestring, pcre-light }:
+     mkDerivation {
+       pname = "tagging";
+       version = "0.1";
+       sha256 = "012lcbp2c9a38s4l2i9jaiqcxaidk93v7gxcnf9lplixrnzczy93";
+       buildDepends = [ base bytestring pcre-light ];
+       homepage = "git://github.com/jre2/HaskellTagging.git";
+       description = "Library for tagging data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "taggy" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-html, blaze-markup
+     , directory, hspec, hspec-attoparsec, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "taggy";
+       version = "0.1.4";
+       sha256 = "1fanngprqscpjczqi7v0h5s6qd52y3vj11jv1fasp4hwj6gx92f7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base blaze-html blaze-markup text unordered-containers
+         vector
+       ];
+       testDepends = [
+         attoparsec base blaze-html blaze-markup directory hspec
+         hspec-attoparsec text unordered-containers vector
+       ];
+       homepage = "http://github.com/alpmestan/taggy";
+       description = "Efficient and simple HTML/XML parsing library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "taggy-lens" = callPackage
+    ({ mkDerivation, base, doctest, hspec, lens, taggy, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "taggy-lens";
+       version = "0.1.2";
+       sha256 = "05m2c9q0rz4y0zz6n3dqf0hhzfvk0mp1692jxykg86c802d7pkib";
+       buildDepends = [ base lens taggy text unordered-containers ];
+       testDepends = [
+         base doctest hspec lens taggy text unordered-containers
+       ];
+       homepage = "http://github.com/alpmestan/taggy-lens";
+       description = "Lenses for the taggy html/xml parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "taglib" = callPackage
+    ({ mkDerivation, base, bytestring, taglib, utf8-string }:
+     mkDerivation {
+       pname = "taglib";
+       version = "0.1.1";
+       sha256 = "16qyfy8rxaab0q9j2v00h4j5d3la95acfhmp32x1hdxz1rwr6zfp";
+       buildDepends = [ base bytestring utf8-string ];
+       extraLibraries = [ taglib ];
+       pkgconfigDepends = [ taglib ];
+       description = "Binding to TagLib (ID3 tag library)";
+       license = "LGPL";
+     }) { inherit (pkgs) taglib;};
+
+  "taglib-api" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, taglib, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "taglib-api";
+       version = "0.1.1.3";
+       sha256 = "1ahbwi28yjigbkgfv52iaaqalmmlc4d09fa65l0yczxrs7rzchmj";
+       buildDepends = [
+         base bytestring containers mtl text transformers
+       ];
+       pkgconfigDepends = [ taglib ];
+       jailbreak = true;
+       description = "An FFI layer over TagLib's C bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) taglib;};
+
+  "tagset-positional" = callPackage
+    ({ mkDerivation, base, binary, containers, parsec, text
+     , text-binary
+     }:
+     mkDerivation {
+       pname = "tagset-positional";
+       version = "0.3.0";
+       sha256 = "0x1mwwlwhka12bzshy0j0w7iq9ka6kn1jgsifi26jmg7zf79zydf";
+       buildDepends = [ base binary containers parsec text text-binary ];
+       homepage = "https://github.com/kawu/tagset-positional";
+       description = "Positional tags and tagsets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagshare" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "tagshare";
+       version = "0.0";
+       sha256 = "1q3chp1rmwmxa8rxv7548wsvbqbng6grrnv1587p08385sp4ncfj";
+       buildDepends = [ base containers mtl ];
+       description = "TagShare - explicit sharing with tags";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagsoup" = callPackage
+    ({ mkDerivation, base, bytestring, containers, text }:
+     mkDerivation {
+       pname = "tagsoup";
+       version = "0.13.3";
+       sha256 = "13b6zy6346r3cxhaivys84fnxarg8wbv7r2znazfjdkqil8n5a1j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers text ];
+       homepage = "http://community.haskell.org/~ndm/tagsoup/";
+       description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagsoup-ht" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-accessor
+     , explicit-exception, old-time, tagsoup, transformers, utility-ht
+     , xml-basic
+     }:
+     mkDerivation {
+       pname = "tagsoup-ht";
+       version = "0.3";
+       sha256 = "1yxb1lmayqqlnxx4jgcbvya8llfgdbbr8rvcxwicwjrq3xsjl8km";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-accessor explicit-exception
+         old-time tagsoup transformers utility-ht xml-basic
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/tagsoup-ht/";
+       description = "alternative parser for the tagsoup package";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tagsoup-parsec" = callPackage
+    ({ mkDerivation, base, parsec, tagsoup }:
+     mkDerivation {
+       pname = "tagsoup-parsec";
+       version = "0.0.8";
+       sha256 = "0h62kqls8nrq5wqxbzvxav4kfn1lxc6qm5vg8dhkvqdp5z6xnkzk";
+       buildDepends = [ base parsec tagsoup ];
+       homepage = "http://www.killersmurf.com";
+       description = "Tokenizes Tag, so [ Tag ] can be used as parser input";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tagstream-conduit" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , case-insensitive, conduit, conduit-extra, data-default, hspec
+     , HUnit, QuickCheck, resourcet, text, transformers, xml-conduit
+     }:
+     mkDerivation {
+       pname = "tagstream-conduit";
+       version = "0.5.5.3";
+       sha256 = "1arlf7qil9bzcqykda8yyrnncm29jsfjvz5kbcdrbbhqpbqfi5mj";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring case-insensitive conduit
+         conduit-extra data-default resourcet text transformers xml-conduit
+       ];
+       testDepends = [
+         base bytestring conduit hspec HUnit QuickCheck resourcet text
+       ];
+       homepage = "http://github.com/yihuang/tagstream-conduit";
+       description = "streamlined html tag parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "takahashi" = callPackage
+    ({ mkDerivation, base, mtl, reasonable-lens, reasonable-operational
+     }:
+     mkDerivation {
+       pname = "takahashi";
+       version = "0.2.0.2";
+       revision = "1";
+       sha256 = "0iwwmb0przjjgfz9xav4whgqh09dq4ndil29dmq2bp81wryay0l4";
+       editedCabalFile = "907771d78ac3db503a9d832bae2dcc3a20d03a3a7698ff7769cb9e84703b27a1";
+       buildDepends = [ base mtl reasonable-lens reasonable-operational ];
+       description = "create slide for presentation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "takusen-oracle" = callPackage
+    ({ mkDerivation, base, clntsh, mtl, old-time, QuickCheck, random
+     , sqlplus, time
+     }:
+     mkDerivation {
+       pname = "takusen-oracle";
+       version = "0.9.3";
+       sha256 = "1d57zcv409d3w6qz8n1c8k93wqrqvgynm327vx3w8p7kqs20yaad";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl old-time QuickCheck random time ];
+       buildTools = [ sqlplus ];
+       extraLibraries = [ clntsh ];
+       homepage = "https://github.com/paulrzcz/takusen-oracle.git";
+       description = "Database library with left-fold interface for Oracle";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { clntsh = null;  sqlplus = null;};
+
+  "tamarin-prover" = callPackage
+    ({ mkDerivation, aeson, array, base, binary, blaze-builder
+     , blaze-html, bytestring, cmdargs, conduit, containers, deepseq
+     , derive, directory, dlist, fclabels, filepath, hamlet, http-types
+     , HUnit, lifted-base, monad-control, mtl, old-locale, parallel
+     , parsec, process, safe, shakespeare, syb, tamarin-prover-term
+     , tamarin-prover-theory, tamarin-prover-utils, text, threads, time
+     , transformers, uniplate, wai, warp, yesod-core, yesod-json
+     , yesod-static
+     }:
+     mkDerivation {
+       pname = "tamarin-prover";
+       version = "0.8.6.1";
+       sha256 = "0g7gwqaykvn2r7zbddcvcr4qjs78n0w0cvzk9sfm51i0xgmx3llg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson array base binary blaze-builder blaze-html bytestring cmdargs
+         conduit containers deepseq derive directory dlist fclabels filepath
+         hamlet http-types HUnit lifted-base monad-control mtl old-locale
+         parallel parsec process safe shakespeare syb tamarin-prover-term
+         tamarin-prover-theory tamarin-prover-utils text threads time
+         transformers uniplate wai warp yesod-core yesod-json yesod-static
+       ];
+       jailbreak = true;
+       homepage = "http://www.infsec.ethz.ch/research/software/tamarin";
+       description = "The Tamarin prover for security protocol analysis";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tamarin-prover-term" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, containers
+     , deepseq, derive, directory, dlist, HUnit, mtl, parsec, process
+     , safe, split, syb, tamarin-prover-utils
+     }:
+     mkDerivation {
+       pname = "tamarin-prover-term";
+       version = "0.8.5.1";
+       sha256 = "17wq4hr7wfxw5x52jzk8882197zq1lwdqk5yr9wagsbn7hldmaa5";
+       buildDepends = [
+         attoparsec base binary bytestring containers deepseq derive
+         directory dlist HUnit mtl parsec process safe split syb
+         tamarin-prover-utils
+       ];
+       jailbreak = true;
+       homepage = "http://www.infsec.ethz.ch/research/software/tamarin";
+       description = "Term manipulation library for the tamarin prover";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tamarin-prover-theory" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, cmdargs
+     , containers, deepseq, derive, directory, dlist, fclabels, filepath
+     , HUnit, mtl, parallel, parsec, process, safe, syb
+     , tamarin-prover-term, tamarin-prover-utils, time, transformers
+     , uniplate
+     }:
+     mkDerivation {
+       pname = "tamarin-prover-theory";
+       version = "0.8.6.0";
+       sha256 = "1xc11mrzfg1v8ilp7yb1zlg2359w14szhbdy86pbfzbjl31852l3";
+       buildDepends = [
+         array base binary bytestring cmdargs containers deepseq derive
+         directory dlist fclabels filepath HUnit mtl parallel parsec process
+         safe syb tamarin-prover-term tamarin-prover-utils time transformers
+         uniplate
+       ];
+       jailbreak = true;
+       homepage = "http://www.infsec.ethz.ch/research/software/tamarin";
+       description = "Term manipulation library for the tamarin prover";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tamarin-prover-utils" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, blaze-builder
+     , bytestring, containers, deepseq, dlist, fclabels, mtl, parsec
+     , pretty, SHA, syb, time, transformers
+     }:
+     mkDerivation {
+       pname = "tamarin-prover-utils";
+       version = "0.8.5.1";
+       sha256 = "11phn05fb8s80g6zk6sly8wi1rl8i3rnymkr99la8abr8yw12j3c";
+       buildDepends = [
+         base base64-bytestring binary blaze-builder bytestring containers
+         deepseq dlist fclabels mtl parsec pretty SHA syb time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.infsec.ethz.ch/research/software/tamarin";
+       description = "Utility library for the tamarin prover";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tamper" = callPackage
+    ({ mkDerivation, base, containers, mtl, safe, text }:
+     mkDerivation {
+       pname = "tamper";
+       version = "0.4.0";
+       sha256 = "16ca5c4w0qmar1nv4m91cwrjw38ql76lphxd25d063d5v77lwr8z";
+       buildDepends = [ base containers mtl safe text ];
+       jailbreak = true;
+       description = "An HTML templating system similar to Blaze, implemented as a monad transformer of sorts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tar" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, time }:
+     mkDerivation {
+       pname = "tar";
+       version = "0.4.1.0";
+       sha256 = "05875pc5ns1fsbl9qgr8sqh29xl4mhvj0pwsa9z4afxv6h6328bm";
+       buildDepends = [ base bytestring directory filepath time ];
+       description = "Reading, writing and manipulating \".tar\" archive files.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tardis" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "tardis";
+       version = "0.3.0.0";
+       sha256 = "15f88b5qg4v1ah60y0jxkww9n6z7gvnkslx4inckh6m6c7yvj8k6";
+       buildDepends = [ base mtl ];
+       homepage = "https://github.com/DanBurton/tardis";
+       description = "Bidirectional state monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "target" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, directory
+     , exceptions, filepath, ghc, ghc-paths, ghc-prim, liquid-fixpoint
+     , liquidhaskell, mtl, pretty, process, syb, tagged, tasty
+     , tasty-hunit, template-haskell, text, text-format, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "target";
+       version = "0.1.1.0";
+       sha256 = "1b6kbiqpx57ghi98ki4gbqclyl91rs113ayd51bx8wmwwbaag21v";
+       buildDepends = [
+         base containers directory exceptions filepath ghc ghc-paths
+         liquid-fixpoint liquidhaskell mtl pretty process syb tagged
+         template-haskell text text-format transformers unordered-containers
+         vector
+       ];
+       testDepends = [
+         array base containers deepseq ghc ghc-prim liquid-fixpoint
+         liquidhaskell mtl tagged tasty tasty-hunit template-haskell
+         unordered-containers
+       ];
+       description = "Generate test-suites from refinement types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "task" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , csv-enumerator, directory, filepath, old-locale, random, text
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "task";
+       version = "0.0.1";
+       sha256 = "0z4f4hs2c7xl6c134bqhk81wzxhb6yf7fsar2fnqvahviaqqgzqn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring containers csv-enumerator
+         directory filepath old-locale random text time unix
+       ];
+       jailbreak = true;
+       description = "A command line tool for keeping track of tasks you worked on";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "taskpool" = callPackage
+    ({ mkDerivation, async, base, containers, fgl, hspec, stm
+     , transformers
+     }:
+     mkDerivation {
+       pname = "taskpool";
+       version = "0.1.0";
+       sha256 = "02r7y882sfj7m3yaj68v40f4065ajiig2b25v55svh13jars7c3n";
+       buildDepends = [ async base containers fgl stm transformers ];
+       testDepends = [ async base containers fgl hspec stm transformers ];
+       description = "Manage pools of possibly interdependent tasks using STM and async";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tasty" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, containers, deepseq
+     , mtl, optparse-applicative, regex-tdfa-rc, stm, tagged, time
+     , unbounded-delays
+     }:
+     mkDerivation {
+       pname = "tasty";
+       version = "0.10.1";
+       sha256 = "1l8ah7018f3m8css56h59fcly1jhanm5wd0hbgm8mg6pn7rrjml5";
+       buildDepends = [
+         ansi-terminal async base containers deepseq mtl
+         optparse-applicative regex-tdfa-rc stm tagged time unbounded-delays
+       ];
+       homepage = "http://documentup.com/feuerbach/tasty";
+       description = "Modern and extensible testing framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tasty-ant-xml" = callPackage
+    ({ mkDerivation, base, containers, generic-deriving, ghc-prim, mtl
+     , stm, tagged, tasty, transformers, xml
+     }:
+     mkDerivation {
+       pname = "tasty-ant-xml";
+       version = "1.0.1";
+       sha256 = "1wb9lm9rbk46g9cm2lpcrzh59zpcy270p824agg61bj1xb9jymsc";
+       buildDepends = [
+         base containers generic-deriving ghc-prim mtl stm tagged tasty
+         transformers xml
+       ];
+       homepage = "http://github.com/ocharles/tasty-ant-xml";
+       description = "Render tasty output to XML for Jenkins";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tasty-golden" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, deepseq
+     , directory, filepath, mtl, optparse-applicative, process, tagged
+     , tasty, tasty-hunit, temporary-rc
+     }:
+     mkDerivation {
+       pname = "tasty-golden";
+       version = "2.3.0.1";
+       sha256 = "19jlfxhgrphsv7nfwsfil5ci2snlm9qsqwswnzn68pa3440zqiji";
+       buildDepends = [
+         async base bytestring containers deepseq directory filepath mtl
+         optparse-applicative process tagged tasty temporary-rc
+       ];
+       testDepends = [
+         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-hspec" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, random, tasty
+     , tasty-quickcheck, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "tasty-hspec";
+       version = "1.1";
+       sha256 = "15ly6jf4kgdc15k6b584d99j18xb41alas62gyakw5sf8y0y02i6";
+       buildDepends = [
+         base hspec hspec-core QuickCheck random tasty tasty-quickcheck
+         tasty-smallcheck
+       ];
+       homepage = "http://github.com/mitchellwrosen/tasty-hspec";
+       description = "Hspec support for the Tasty test framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tasty-html" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, containers, filepath
+     , generic-deriving, mtl, stm, tagged, tasty, text, transformers
+     }:
+     mkDerivation {
+       pname = "tasty-html";
+       version = "0.4.1";
+       sha256 = "0a4j8w4gm8wr9pgmkkahadl5k2sd19za9f6x323f01v4ff455hwg";
+       buildDepends = [
+         base blaze-html bytestring containers filepath generic-deriving mtl
+         stm tagged tasty text transformers
+       ];
+       homepage = "http://github.com/feuerbach/tasty-html";
+       description = "Render tasty output to HTML";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tasty-hunit" = callPackage
+    ({ mkDerivation, base, tasty }:
+     mkDerivation {
+       pname = "tasty-hunit";
+       version = "0.9.2";
+       sha256 = "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf";
+       buildDepends = [ base tasty ];
+       homepage = "http://documentup.com/feuerbach/tasty";
+       description = "HUnit support for the Tasty test framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tasty-hunit-adapter" = callPackage
+    ({ mkDerivation, base, HUnit, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "tasty-hunit-adapter";
+       version = "1.0";
+       sha256 = "0626islqqkncdma8790z2z47r8x90y9v7fj0p5nhkw6mpy6p0ifg";
+       buildDepends = [ base HUnit tasty tasty-hunit ];
+       homepage = "https://github.com/jstolarek/tasty-hunit-adapter";
+       description = "Use existing HUnit tests with tasty";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tasty-integrate" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cmdargs, containers
+     , deepseq, directory, either, haskell-src-exts
+     , language-haskell-extract, lens, mtl, parsec, QuickCheck
+     , quickcheck-property-comb, regex-posix, split, stm, stringbuilder
+     , system-filepath, tasty, tasty-quickcheck, text, transformers
+     , unix
+     }:
+     mkDerivation {
+       pname = "tasty-integrate";
+       version = "0.0.1";
+       sha256 = "0zjbs7ax5nrxcg1njnrliavablda5rgjciq2h3nycvic8r1g9p7x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring cmdargs containers directory either
+         haskell-src-exts language-haskell-extract lens mtl parsec
+         regex-posix split system-filepath tasty tasty-quickcheck text
+         transformers unix
+       ];
+       testDepends = [
+         base bytestring containers deepseq directory haskell-src-exts lens
+         mtl QuickCheck quickcheck-property-comb regex-posix split stm
+         stringbuilder system-filepath tasty tasty-quickcheck text
+         transformers
+       ];
+       jailbreak = true;
+       description = "automated integration of QuickCheck properties into tasty suites";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tasty-kat" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "tasty-kat";
+       version = "0.0.3";
+       sha256 = "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7";
+       buildDepends = [ base bytestring tasty ];
+       testDepends = [
+         base bytestring mtl tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/vincenthz/tasty-kat";
+       description = "Known Answer Tests (KAT) framework for tasty";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tasty-program" = callPackage
+    ({ mkDerivation, base, deepseq, directory, filepath, process, tasty
+     }:
+     mkDerivation {
+       pname = "tasty-program";
+       version = "1.0.2";
+       sha256 = "0ii7jcmvmbw03r1ghm2bq9bmbs7w0jqgfc7qx34n45ymjy7ipc55";
+       buildDepends = [ base deepseq directory filepath process tasty ];
+       homepage = "https://github.com/jstolarek/tasty-program";
+       description = "Use tasty framework to test whether a program executes correctly";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tasty-quickcheck" = callPackage
+    ({ mkDerivation, base, pcre-light, QuickCheck, tagged, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "tasty-quickcheck";
+       version = "0.8.3.2";
+       sha256 = "1q1fghmsjrdl6jkcnajmsvw4d893m6cyhzpai9vvrhxy9vdy0l1v";
+       buildDepends = [ base QuickCheck tagged tasty ];
+       testDepends = [ base pcre-light tasty tasty-hunit ];
+       homepage = "http://documentup.com/feuerbach/tasty";
+       description = "QuickCheck support for the Tasty test framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tasty-rerun" = callPackage
+    ({ mkDerivation, base, containers, mtl, optparse-applicative
+     , reducers, split, stm, tagged, tasty, transformers
+     }:
+     mkDerivation {
+       pname = "tasty-rerun";
+       version = "1.1.3";
+       sha256 = "1pgm3h7kyg7q8ydgqqj9sn65ckl6i7cz6a8g1cfighf4gy5y0cj3";
+       buildDepends = [
+         base containers mtl optparse-applicative reducers split stm tagged
+         tasty transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ocharles/tasty-rerun";
+       description = "Run tests by filtering the test tree depending on the result of previous test runs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tasty-silver" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
+     , deepseq, directory, filepath, mtl, optparse-applicative, process
+     , process-extras, stm, tagged, tasty, tasty-hunit, temporary, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "tasty-silver";
+       version = "3.1.3";
+       sha256 = "18ciqnj2h77cyr07wypyjdbry5g4m88zmlrxqavhqxz4008biqlx";
+       buildDepends = [
+         ansi-terminal async base bytestring containers deepseq directory
+         filepath mtl optparse-applicative process process-extras stm tagged
+         tasty temporary text
+       ];
+       testDepends = [
+         base directory filepath process tasty tasty-hunit temporary
+         transformers
+       ];
+       homepage = "https://github.com/phile314/tasty-silver";
+       description = "Golden tests support for tasty. Fork of tasty-golden.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tasty-smallcheck" = callPackage
+    ({ mkDerivation, async, base, smallcheck, tagged, tasty }:
+     mkDerivation {
+       pname = "tasty-smallcheck";
+       version = "0.8.0.1";
+       sha256 = "0yckfbz8na8ccyw2911i3a4hd3fdncclk3ng5343hs5cylw6y4sm";
+       buildDepends = [ async base smallcheck tagged tasty ];
+       homepage = "http://documentup.com/feuerbach/tasty";
+       description = "SmallCheck support for the Tasty test framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tasty-th" = callPackage
+    ({ mkDerivation, base, language-haskell-extract, tasty
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "tasty-th";
+       version = "0.1.3";
+       sha256 = "1fl5pagm9bdqvp7v54ilkr91m667rxw1jifwfdhrikr938aqrzx3";
+       buildDepends = [
+         base language-haskell-extract tasty template-haskell
+       ];
+       homepage = "http://github.com/bennofs/tasty-th";
+       description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tau" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "tau";
+       version = "6.2831";
+       sha256 = "10vw3y3vimqpb22amhk7n0d0jni46j60iva1gqa28ky8lhqq8ssz";
+       buildDepends = [ base ];
+       description = "Tau, the ratio between any circle's circumference and radius";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tbox" = callPackage
+    ({ mkDerivation, array, base, binary, cautious-file, containers
+     , directory, filepath, IfElse, monad-loops, mtl, random
+     , safe-failure, stm-io-hooks
+     }:
+     mkDerivation {
+       pname = "tbox";
+       version = "0.1.0";
+       sha256 = "0qsc4mdiryrf3pqzzjvx57iz92xagp7692h312q2pm412zg6p1vy";
+       buildDepends = [
+         array base binary cautious-file containers directory filepath
+         IfElse monad-loops mtl random safe-failure stm-io-hooks
+       ];
+       jailbreak = true;
+       homepage = "http://darcs.monoid.at/tbox";
+       description = "Transactional variables and data structures with IO hooks";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tcache-AWS" = callPackage
+    ({ mkDerivation, aws, base, bytestring, conduit, http-conduit
+     , network, TCache, text
+     }:
+     mkDerivation {
+       pname = "tcache-AWS";
+       version = "0.0.1";
+       sha256 = "18hi8jvc117pxjhpb891hqlsbi4wvmd6nr3vwnqqr7rcw2dsmnwv";
+       buildDepends = [
+         aws base bytestring conduit http-conduit network TCache text
+       ];
+       description = "tcache using Amazon Web Services as default persistence mechanism";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tccli" = callPackage
+    ({ mkDerivation, base, bytestring, tokyocabinet-haskell
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "tccli";
+       version = "0.0.1";
+       sha256 = "0ljfn9dvyncl205mrnpic5j0633gnzka03gjc4dmccsqq0c1wjm7";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring tokyocabinet-haskell utf8-string
+       ];
+       homepage = "http://bitcheese.net/wiki/code/tccli";
+       description = "TokyoCabinet CLI interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tce-conf" = callPackage
+    ({ mkDerivation, base, containers, HUnit }:
+     mkDerivation {
+       pname = "tce-conf";
+       version = "1.1";
+       sha256 = "1c3wr9rab7835dfg9qmxhprb2r21iyig1wkvwl49h7brhmhxzpnh";
+       buildDepends = [ base containers ];
+       testDepends = [ base containers HUnit ];
+       homepage = "http://hub.darcs.net/dino/tce-conf";
+       description = "Very simple config file reading";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tconfig" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "tconfig";
+       version = "0.5.2";
+       sha256 = "05cnlbrdddbrdwlm8s7b76ydwrn49vaifdgaklfhv8rzz9dfpvbr";
+       buildDepends = [ base containers ];
+       description = "Simple text configuration file parser library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tcp" = callPackage
+    ({ mkDerivation, base, containers, old-time }:
+     mkDerivation {
+       pname = "tcp";
+       version = "0.0.2";
+       sha256 = "1wqkfnkd2di9a6h0br33fd7jaf1yqpaf7kjnpjwp52l4xv04ajlv";
+       buildDepends = [ base containers old-time ];
+       homepage = "http://www.cl.cam.ac.uk/~pes20/Netsem/";
+       description = "A purely functional TCP implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tdd-util" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, lens
+     , MonadCatchIO-transformers, parallel-io, process, QuickCheck
+     , random, string-class, system-posix-redirect, tagged
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "tdd-util";
+       version = "0.3.0.1";
+       sha256 = "1d9avxpj2d90agd2pvc905j7jfa4rssl7bnrp2fmky4hfcbqa8ly";
+       buildDepends = [
+         base bytestring HUnit lens MonadCatchIO-transformers parallel-io
+         process QuickCheck random system-posix-redirect tagged
+         test-framework test-framework-hunit test-framework-quickcheck2 time
+         transformers
+       ];
+       testDepends = [
+         base bytestring HUnit lens MonadCatchIO-transformers parallel-io
+         process QuickCheck random string-class system-posix-redirect tagged
+         test-framework test-framework-hunit test-framework-quickcheck2 time
+         transformers
+       ];
+       description = "Test framework wrapper";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tdoc" = callPackage
+    ({ mkDerivation, base, bytestring, template-haskell, transformers
+     , xhtml
+     }:
+     mkDerivation {
+       pname = "tdoc";
+       version = "0.4.6";
+       sha256 = "0gslj3z3lnh2wl7ljg8rza6kmmgfmgv94hgla75nblirvyka8v48";
+       buildDepends = [
+         base bytestring template-haskell transformers xhtml
+       ];
+       homepage = "https://github.com/np/tdoc";
+       description = "TDoc is a typed document builder with support for (X)HTML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "teams" = callPackage
+    ({ mkDerivation, base, containers, fgl, graphviz }:
+     mkDerivation {
+       pname = "teams";
+       version = "0.0.2.3";
+       sha256 = "04jq7qdh0kr55a7a3gkjc8dgn130bp0kqh8qcmf284wz981vj9gd";
+       buildDepends = [ base containers fgl graphviz ];
+       description = "Graphical modeling tools for sequential teams";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "teeth" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "teeth";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "1hxii574qdxcbh10f4bgwyaxf83inqj9vrcwk7vkffv6pg349xcl";
+       editedCabalFile = "84bb818fc4cb06bf91450e31e9a023926449a6157ce1e5de60649cda931db416";
+       buildDepends = [ base ];
+       homepage = "https://github.com/expipiplus1/teeth";
+       description = "Dental data types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tellbot" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, errors, mtl, network
+     , split, time, transformers
+     }:
+     mkDerivation {
+       pname = "tellbot";
+       version = "0.4.0.4";
+       sha256 = "1d5jdkk82y1xj22rpaz42ph3gp0fclghg5wbd8p7z2d9vas4p36n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bifunctors containers errors mtl network split time
+         transformers
+       ];
+       description = "IRC tellbot";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "template" = callPackage
+    ({ mkDerivation, base, mtl, text }:
+     mkDerivation {
+       pname = "template";
+       version = "0.2.0.10";
+       sha256 = "10mcnhi2rdflmv79z0359nn5sylifvk9ih38xnjqqby6n4hs7mcg";
+       buildDepends = [ base mtl text ];
+       description = "Simple string substitution";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "template-default" = callPackage
+    ({ mkDerivation, base, data-default, template-haskell }:
+     mkDerivation {
+       pname = "template-default";
+       version = "0.1.1";
+       sha256 = "07b8j11v0247fwaf3mv72m7aaq3crbsyrxmxa352vn9h2g6l1jsd";
+       buildDepends = [ base data-default template-haskell ];
+       jailbreak = true;
+       homepage = "https://github.com/haskell-pkg-janitors/template-default";
+       description = "declaring Default instances just got even easier";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "template-haskell_2_10_0_0" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "template-haskell";
+       version = "2.10.0.0";
+       sha256 = "1y0dikbpy98n9g1rwb6swng86cch815x5ipj8kfjgpjgs0c3i2im";
+       buildDepends = [ base pretty ];
+       jailbreak = true;
+       description = "Support library for Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "template-haskell-util" = callPackage
+    ({ mkDerivation, base, GenericPretty, ghc-prim, template-haskell }:
+     mkDerivation {
+       pname = "template-haskell-util";
+       version = "0.1.1.0";
+       sha256 = "032gkb6pgd5l8ih48971ckiy7spvvr6fcmjx4ysiyyaj7hra174f";
+       buildDepends = [ base GenericPretty ghc-prim template-haskell ];
+       homepage = "https://github.com/HaskellZhangSong/TemplateHaskellUtils";
+       description = "Some utilities for template Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "template-hsml" = callPackage
+    ({ mkDerivation, base, blaze-markup, haskell-src-exts
+     , haskell-src-meta, parsec, QuickCheck, template-haskell
+     , test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "template-hsml";
+       version = "0.2.0.3";
+       sha256 = "1lnw1rhxj66zn34p8ca2dx98326l40w8kj6nrxxhff0v30myxa1g";
+       buildDepends = [
+         base blaze-markup haskell-src-exts haskell-src-meta parsec
+         template-haskell
+       ];
+       testDepends = [
+         base parsec QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       description = "Haskell's Simple Markup Language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "templatepg" = callPackage
+    ({ mkDerivation, base, binary, bytestring, haskell-src-meta, mtl
+     , network, old-locale, parsec, regex-compat, regex-posix
+     , template-haskell, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "templatepg";
+       version = "0.2.6";
+       sha256 = "1i5ais5nlga3qv0w2fg5fdkfxikks9yg6fgwqx7agcrxp4wpqcb7";
+       buildDepends = [
+         base binary bytestring haskell-src-meta mtl network old-locale
+         parsec regex-compat regex-posix template-haskell time utf8-string
+       ];
+       homepage = "https://github.com/jekor/templatepg";
+       description = "A PostgreSQL access library with compile-time SQL type inference";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tempodb" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, containers
+     , HsOpenSSL, HTTP, http-streams, io-streams, mtl, old-locale, text
+     , time
+     }:
+     mkDerivation {
+       pname = "tempodb";
+       version = "0.2.2.5";
+       sha256 = "00z02hl31ad497rvxjxx5khb20ql6irkgpdvsg5m7axq8bi3d5fl";
+       buildDepends = [
+         aeson base blaze-builder bytestring containers HsOpenSSL HTTP
+         http-streams io-streams mtl old-locale text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ixmatus/hs-tempodb";
+       description = "A small Haskell wrapper around the TempoDB api";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporal-csound" = callPackage
+    ({ mkDerivation, base, csound-catalog, csound-expression
+     , temporal-media, temporal-music-notation
+     , temporal-music-notation-western
+     }:
+     mkDerivation {
+       pname = "temporal-csound";
+       version = "0.4.3.1";
+       sha256 = "1c7difs3svrq1ka8bdf61vvg9b29baqd086l19a84f0734q5ph19";
+       buildDepends = [
+         base csound-catalog csound-expression temporal-media
+         temporal-music-notation temporal-music-notation-western
+       ];
+       homepage = "https://github.com/anton-k/temporal-csound";
+       description = "library to make electronic music, brings together temporal-music-notation and csound-expression packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporal-media" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "temporal-media";
+       version = "0.4.0";
+       sha256 = "0x421j06xqa3rrx3pavc720j6xhnajgp3x1m8hdafis2g93d4mb0";
+       buildDepends = [ base ];
+       homepage = "https://github.com/anton-k/temporal-media";
+       description = "data types for temporal media";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporal-music-notation" = callPackage
+    ({ mkDerivation, base, data-default, temporal-media, vector }:
+     mkDerivation {
+       pname = "temporal-music-notation";
+       version = "0.4.0";
+       sha256 = "1flf4dfyj87yiyhqdrm2bph8vcsmhp5rwg3k4npbxxzdgr8z9g92";
+       buildDepends = [ base data-default temporal-media vector ];
+       homepage = "https://github.com/anton-k/temporal-music-notation";
+       description = "music notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporal-music-notation-demo" = callPackage
+    ({ mkDerivation, base, binary, data-default, HCodecs
+     , temporal-music-notation
+     }:
+     mkDerivation {
+       pname = "temporal-music-notation-demo";
+       version = "0.4.0";
+       sha256 = "1jd9yd9ay9xmlmpm4wnkpd0ic69xlg8igqbagrycc6kv4zf1p20z";
+       buildDepends = [
+         base binary data-default HCodecs temporal-music-notation
+       ];
+       homepage = "https://github.com/anton-k/temporal-music-notation-demo";
+       description = "generates midi from score notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporal-music-notation-western" = callPackage
+    ({ mkDerivation, base, temporal-music-notation }:
+     mkDerivation {
+       pname = "temporal-music-notation-western";
+       version = "0.4.0";
+       sha256 = "012pv4l5r3ijnyid7b8h1lpifjs7cf3k4a13f6773r93qfgvxpkc";
+       buildDepends = [ base temporal-music-notation ];
+       homepage = "https://github.com/anton-k/temporal-music-notation-western";
+       description = "western music notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporary" = callPackage
+    ({ mkDerivation, base, directory, exceptions, filepath
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "temporary";
+       version = "1.2.0.3";
+       sha256 = "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a";
+       buildDepends = [
+         base directory exceptions filepath transformers unix
+       ];
+       homepage = "http://www.github.com/batterseapower/temporary";
+       description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporary-rc" = callPackage
+    ({ mkDerivation, base, directory, exceptions, filepath
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "temporary-rc";
+       version = "1.2.0.3";
+       sha256 = "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs";
+       buildDepends = [
+         base directory exceptions filepath transformers unix
+       ];
+       homepage = "http://www.github.com/feuerbach/temporary";
+       description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "temporary-resourcet" = callPackage
+    ({ mkDerivation, base, directory, exceptions, filepath, resourcet
+     , tasty, tasty-hunit, transformers, unix
+     }:
+     mkDerivation {
+       pname = "temporary-resourcet";
+       version = "0.1.0.0";
+       sha256 = "1nxl8ivp5sd250w7pwm4f1kas5g1ikij3z39px717ys1xvk1r81h";
+       buildDepends = [
+         base directory exceptions filepath resourcet transformers unix
+       ];
+       testDepends = [
+         base directory resourcet tasty tasty-hunit transformers
+       ];
+       homepage = "http://www.github.com/ttuegel/temporary-resourcet";
+       description = "Portable temporary files and directories with automatic deletion";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tempus" = callPackage
+    ({ mkDerivation, array, base, directory, executable-path, filepath
+     , happy, haskeline, mtl, uniplate, utf8-string
+     }:
+     mkDerivation {
+       pname = "tempus";
+       version = "0.1.0";
+       sha256 = "0hv5b09vly9zakjfgi4bnjx503ny334dhg13g5ma85rp3dbsjvsn";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base directory executable-path filepath haskeline mtl
+         uniplate utf8-string
+       ];
+       buildTools = [ happy ];
+       jailbreak = true;
+       description = "Interpreter for the FRP language Tempus";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tensor" = callPackage
+    ({ mkDerivation, base, ghc-prim, QuickCheck, random, vector }:
+     mkDerivation {
+       pname = "tensor";
+       version = "0.3.0.1";
+       sha256 = "03m612xvx3p44za0g291xir89lcgm4pk885lpy3wshp0987ij1nf";
+       buildDepends = [ base ghc-prim random vector ];
+       testDepends = [ base QuickCheck random ];
+       homepage = "http://noaxiom.org/tensor";
+       description = "A completely type-safe library for linear algebra";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "term-rewriting" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, array, base, containers, HUnit
+     , mtl, multiset, parsec, QuickCheck, union-find-array
+     }:
+     mkDerivation {
+       pname = "term-rewriting";
+       version = "0.1.2.1";
+       sha256 = "06lz89dhaq6pqp1zjx8bmgpx06fq3xgnqy1llipik5c9zyr4zrfv";
+       buildDepends = [
+         ansi-wl-pprint array base containers mtl multiset parsec
+         union-find-array
+       ];
+       testDepends = [ base containers HUnit QuickCheck ];
+       jailbreak = true;
+       homepage = "http://cl-informatik.uibk.ac.at/software/haskell-rewriting/";
+       description = "Term Rewriting Library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "terminal-progress-bar" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, HUnit, stm, stm-chans
+     , test-framework, test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "terminal-progress-bar";
+       version = "0.0.1.4";
+       sha256 = "0ldvii23ks446xrd27aklh8s8pn1yi3dzhhzl05gipjqbhq3lsx3";
+       buildDepends = [ base base-unicode-symbols stm stm-chans ];
+       testDepends = [
+         base base-unicode-symbols 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-size" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "terminal-size";
+       version = "0.3.0";
+       sha256 = "0g8v08d20hlfsah9dlgv2v2pzj0m4dva0zp6zi4jrkxjhg6vi7bw";
+       buildDepends = [ base ];
+       description = "Get terminal window height and width";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "termination-combinators" = callPackage
+    ({ mkDerivation, base, containers, contravariant }:
+     mkDerivation {
+       pname = "termination-combinators";
+       version = "0.1";
+       sha256 = "1k32s5vzkxnsawj8vdscyfc96hk0s97zpj1mgw1hk93hwcrxn9wh";
+       buildDepends = [ base containers contravariant ];
+       jailbreak = true;
+       homepage = "http://www.github.com/batterseapower/termination-combinators";
+       description = "Termination combinators for forcing non-terminating algorithms to terminate";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "terminfo_0_4_0_1" = callPackage
+    ({ mkDerivation, base, ncurses }:
+     mkDerivation {
+       pname = "terminfo";
+       version = "0.4.0.1";
+       sha256 = "1qsspg1kqk68ja217fn3anv1j8arr1pwzzb5m74zpxpjaqb02153";
+       buildDepends = [ base ];
+       extraLibraries = [ ncurses ];
+       homepage = "https://github.com/judah/terminfo";
+       description = "Haskell bindings to the terminfo library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) ncurses;};
+
+  "terminfo-hs" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, errors, filepath, QuickCheck
+     }:
+     mkDerivation {
+       pname = "terminfo-hs";
+       version = "0.1.0.1";
+       sha256 = "1bbf37c34l8q12hy9yhw1jcjzcb1g87r850pxhwyzsikwhf75g81";
+       buildDepends = [
+         attoparsec base bytestring containers directory errors filepath
+       ];
+       testDepends = [ base directory errors filepath QuickCheck ];
+       description = "A pure-Haskell (no FFI) module for accessing terminfo databases";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "terrahs" = callPackage
+    ({ mkDerivation, base, haskell98, old-time, terralib4c, translib }:
+     mkDerivation {
+       pname = "terrahs";
+       version = "0.9";
+       sha256 = "0gciz8nvn7x1lclzihvwy8v1c53p6frb1q32ckpmsqw7xiasqlhb";
+       buildDepends = [ base haskell98 old-time ];
+       extraLibraries = [ terralib4c translib ];
+       jailbreak = true;
+       homepage = "http://lucc.ess.inpe.br/doku.php?id=terrahs";
+       description = "A Haskell GIS Programming Environment";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { terralib4c = null;  translib = null;};
+
+  "tersmu" = callPackage
+    ({ mkDerivation, base, containers, mtl, process, syb, transformers
+     }:
+     mkDerivation {
+       pname = "tersmu";
+       version = "0.2";
+       sha256 = "064s43a7iq2rr643x4ahibgjanyq3v5h6qcgvc68j1dycq56snnl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers mtl process syb transformers ];
+       homepage = "http://mbays.freeshell.org/tersmu";
+       description = "A semantic parser for lojban";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "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";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         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-doctest" = callPackage
+    ({ mkDerivation, base, doctest, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "test-framework-doctest";
+       version = "0.2.1.2";
+       sha256 = "01k0kcsbc41zaric5zgnhfnrp9dd19brv4d3p22vly7a7bmn6n0q";
+       buildDepends = [
+         base doctest test-framework test-framework-hunit
+       ];
+       testDepends = [ base test-framework ];
+       jailbreak = true;
+       description = "Test.Framework wrapper for DocTest";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "test-framework-golden" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, mtl, process
+     , temporary, test-framework
+     }:
+     mkDerivation {
+       pname = "test-framework-golden";
+       version = "1.1.3.1";
+       sha256 = "1vmkc16z3gzbq9aibfk3wv7ms7sq7yivaamld63qrzlqaffz1xrw";
+       buildDepends = [
+         base bytestring filepath mtl process temporary test-framework
+       ];
+       homepage = "https://github.com/feuerbach/test-framework-golden";
+       description = "Golden tests support for test-framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "test-framework-hunit" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, HUnit, test-framework
+     }:
+     mkDerivation {
+       pname = "test-framework-hunit";
+       version = "0.3.0.1";
+       sha256 = "1h0h55kf6ff25nbfx1mhliwyknc0glwv3zi78wpzllbjbs7gvyfk";
+       buildDepends = [ base extensible-exceptions HUnit test-framework ];
+       homepage = "https://batterseapower.github.io/test-framework/";
+       description = "HUnit support for the test-framework package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-program" = callPackage
+    ({ mkDerivation, base, directory, process, test-framework }:
+     mkDerivation {
+       pname = "test-framework-program";
+       version = "1.1";
+       sha256 = "10p6xxxbfx3yr71wdbvk7qhm3xkxq3a1dv4hgcirzynsdfk36s3z";
+       buildDepends = [ base directory process test-framework ];
+       description = "Test framework support for running simple test programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-quickcheck" = callPackage
+    ({ mkDerivation, base, deepseq, extensible-exceptions, QuickCheck
+     , random, test-framework
+     }:
+     mkDerivation {
+       pname = "test-framework-quickcheck";
+       version = "0.3.0";
+       sha256 = "0g8sh3x3mhns03svccgbdbw8crzpzmahp1hr1fs6ag66fqr8p9mv";
+       buildDepends = [
+         base deepseq extensible-exceptions QuickCheck random test-framework
+       ];
+       jailbreak = true;
+       homepage = "http://batterseapower.github.com/test-framework/";
+       description = "QuickCheck support for the test-framework package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-quickcheck2" = callPackage
+    ({ mkDerivation, base, extensible-exceptions, QuickCheck, random
+     , test-framework
+     }:
+     mkDerivation {
+       pname = "test-framework-quickcheck2";
+       version = "0.3.0.3";
+       sha256 = "12p1zwrsz35r3j5gzbvixz9z1h5643rhihf5gqznmc991krwd5nc";
+       buildDepends = [
+         base extensible-exceptions QuickCheck random test-framework
+       ];
+       homepage = "https://batterseapower.github.io/test-framework/";
+       description = "QuickCheck2 support for the test-framework package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-sandbox" = callPackage
+    ({ mkDerivation, ansi-terminal, base, HUnit, lifted-base, mtl
+     , temporary, test-framework, test-sandbox, test-sandbox-hunit
+     , transformers
+     }:
+     mkDerivation {
+       pname = "test-framework-sandbox";
+       version = "0.1.0";
+       sha256 = "0bfj0l189dh52dipdnxcqllk2h6g4dwcwcw5pll2my3n7r78pn7v";
+       buildDepends = [
+         ansi-terminal base lifted-base mtl temporary test-framework
+         test-sandbox transformers
+       ];
+       testDepends = [
+         base HUnit test-framework test-sandbox test-sandbox-hunit
+       ];
+       homepage = "http://gree.github.io/haskell-test-sandbox/";
+       description = "test-sandbox support for the test-framework package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-skip" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, smallcheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-smallcheck
+     }:
+     mkDerivation {
+       pname = "test-framework-skip";
+       version = "1.0";
+       sha256 = "1avs36j6a846a3qiy0f23qnld1swgpngidb3098dcib2rbw4p3n9";
+       buildDepends = [ base test-framework ];
+       testDepends = [
+         base HUnit QuickCheck smallcheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+         test-framework-smallcheck
+       ];
+       jailbreak = true;
+       description = "Functions for conveniently marking some of the tests in a suite as being skipped";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-smallcheck" = callPackage
+    ({ mkDerivation, base, smallcheck, test-framework, transformers }:
+     mkDerivation {
+       pname = "test-framework-smallcheck";
+       version = "0.2";
+       sha256 = "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0";
+       buildDepends = [ base smallcheck test-framework transformers ];
+       homepage = "https://github.com/feuerbach/smallcheck";
+       description = "Support for SmallCheck tests in test-framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-testing-feat" = callPackage
+    ({ mkDerivation, base, test-framework, testing-feat }:
+     mkDerivation {
+       pname = "test-framework-testing-feat";
+       version = "0.1.0.1";
+       sha256 = "0pf07psqc4ihg0wrqqm127hd9qjbllmqw9lzf1ridg6r3xs63994";
+       buildDepends = [ base test-framework testing-feat ];
+       testDepends = [ base test-framework testing-feat ];
+       homepage = "http://github.com/jfischoff/test-framework-testing-feat";
+       description = "A test framework provider for testing-feat";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-th" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, language-haskell-extract
+     , regex-posix, template-haskell, test-framework
+     }:
+     mkDerivation {
+       pname = "test-framework-th";
+       version = "0.2.4";
+       sha256 = "12lw7yj02jb9s0i7rb98jjam43j2h0gzmnbj9zi933fx7sg0sy4b";
+       buildDepends = [
+         base haskell-src-exts language-haskell-extract regex-posix
+         template-haskell test-framework
+       ];
+       homepage = "http://github.com/finnsson/test-generator";
+       description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-framework-th-prime" = callPackage
+    ({ mkDerivation, base, cpphs, haskell-src-exts, template-haskell
+     , test-framework
+     }:
+     mkDerivation {
+       pname = "test-framework-th-prime";
+       version = "0.0.7";
+       sha256 = "056d66jk7gn0ghsb75f2kpspws0gs1w9vnw0ywpq6kbskv992v0p";
+       buildDepends = [
+         base cpphs haskell-src-exts template-haskell test-framework
+       ];
+       description = "Template Haskell for test framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-pkg" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "test-pkg";
+       version = "0.3.0.0";
+       sha256 = "0fncybd3sxrbnrd4l1hri18rhfg9h0fm3k4305iwh4l65fbwg2n8";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Just tests Hackage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-sandbox" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, data-default
+     , directory, filepath, hastache, heredoc, hspec
+     , hspec-expectations-lifted, lifted-base, monad-control
+     , monad-loops, mtl, network, process, QuickCheck, random
+     , random-shuffle, regex-posix, template-haskell, temporary, text
+     , transformers, transformers-base, transformers-compat, unix
+     }:
+     mkDerivation {
+       pname = "test-sandbox";
+       version = "0.1.3";
+       sha256 = "0hkpz3l5b1vpnpgagl150g5rdawwf9mwgb7ai0xilj4d7i55gdwl";
+       buildDepends = [
+         base bytestring cereal containers data-default directory filepath
+         lifted-base monad-control monad-loops mtl network process random
+         random-shuffle regex-posix temporary transformers transformers-base
+         transformers-compat unix
+       ];
+       testDepends = [
+         base containers directory hastache heredoc hspec
+         hspec-expectations-lifted mtl process QuickCheck regex-posix
+         template-haskell text transformers transformers-compat unix
+       ];
+       homepage = "http://gree.github.io/haskell-test-sandbox/";
+       description = "Sandbox for system tests";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-sandbox-compose" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cabal-test-bin
+     , containers, directory, hastache, hspec, hspec-test-sandbox
+     , http-conduit, lifted-base, network, optparse-applicative, process
+     , shakespeare, shelly, test-sandbox, text, unix, wai, wai-extra
+     , warp, yaml, yesod, yesod-core
+     }:
+     mkDerivation {
+       pname = "test-sandbox-compose";
+       version = "0.1.3";
+       sha256 = "1yqh5b3gzmwqf0wj491pmkvbn9jzpg36bh427vkl1w6yj5c4ha7x";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers directory hastache http-conduit
+         lifted-base network optparse-applicative process shelly
+         test-sandbox text unix wai wai-extra warp yaml yesod yesod-core
+       ];
+       testDepends = [
+         base bytestring cabal-test-bin hspec hspec-test-sandbox process
+         shakespeare test-sandbox text unix
+       ];
+       description = "Lightweight development enviroments using test-sandbox";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-sandbox-hunit" = callPackage
+    ({ mkDerivation, base, HUnit, lifted-base, test-sandbox }:
+     mkDerivation {
+       pname = "test-sandbox-hunit";
+       version = "0.1.0";
+       sha256 = "1kg5i6l0809c0mmi4arp1dcaf52lq2i0lwcv1p3vp3vcc20srfsf";
+       buildDepends = [ base HUnit lifted-base test-sandbox ];
+       homepage = "http://gree.github.io/haskell-test-sandbox/";
+       description = "HUnit convenience functions for use with test-sandbox";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-sandbox-quickcheck" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, random, test-sandbox
+     , transformers
+     }:
+     mkDerivation {
+       pname = "test-sandbox-quickcheck";
+       version = "0.1.0";
+       sha256 = "0gijq6qwcljq2kvh08nffb6d9qblwpj4hw2jlxidvxy1hzbsgiyi";
+       buildDepends = [
+         base mtl QuickCheck random test-sandbox transformers
+       ];
+       homepage = "http://gree.github.io/haskell-test-sandbox/";
+       description = "QuickCheck convenience functions for use with test-sandbox";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "test-shouldbe" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, HUnit, silently }:
+     mkDerivation {
+       pname = "test-shouldbe";
+       version = "0.2.1.1";
+       sha256 = "0wagfhljym2mnwpxld8dcf4qcdbp3d9liyf9mcigd4kiy5sdhfx4";
+       buildDepends = [ base HUnit ];
+       testDepends = [ base hspec hspec-discover silently ];
+       jailbreak = true;
+       description = "Catchy combinators for HUnit";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "test-simple" = callPackage
+    ({ mkDerivation, base, executable-path, mtl, process, QuickCheck
+     , state-plus, template-haskell
+     }:
+     mkDerivation {
+       pname = "test-simple";
+       version = "0.1.7";
+       sha256 = "1p9y15vv23j1qn3shxl2wqb8skh0n53vrb39qv1nvff9bclxldka";
+       buildDepends = [ base mtl QuickCheck state-plus template-haskell ];
+       testDepends = [ base executable-path mtl process QuickCheck ];
+       description = "Simple Perl inspired testing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "testPkg" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "testPkg";
+       version = "0.0";
+       sha256 = "0lppzyh0qxqry8a2d1yqrin51kizw2hl937pxg2a6pi34grlhdd0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Small test package";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "testing-feat" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, tagshare, template-haskell
+     }:
+     mkDerivation {
+       pname = "testing-feat";
+       version = "0.4.0.2";
+       revision = "1";
+       sha256 = "15gi6w7p4alnih9grklhhr8338y1aal07admbz4n2f724hnhyb2j";
+       editedCabalFile = "0168dde1e9ac0e7a1f80a33c12a6c5d2b7c5e59e4dcd060ffb8d82f100c4dd3f";
+       buildDepends = [ base mtl QuickCheck tagshare template-haskell ];
+       description = "Functional Enumeration of Algebraic Types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "testloop" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath, fsnotify, hint
+     , mtl, system-filepath, time, unix
+     }:
+     mkDerivation {
+       pname = "testloop";
+       version = "0.1.1.0";
+       sha256 = "1bygfdcnd0y60jhyp34zkss2cxr3s2jq6ysxm0w9c4vhl361ib7z";
+       buildDepends = [
+         base Cabal directory filepath fsnotify hint mtl system-filepath
+         time unix
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/roman/testloop";
+       description = "Quick feedback loop for test suites";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "testpack" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "testpack";
+       version = "2.1.3.0";
+       sha256 = "1rq5d64d7j3gpgbfxmfr4xmzizjy0ricw5ghrakv8gzvxmi2bn4p";
+       buildDepends = [ base containers HUnit mtl QuickCheck random ];
+       homepage = "https://github.com/jgoerzen/testpack";
+       description = "Test Utililty Pack for HUnit and QuickCheck (unmaintained)";
+       license = "LGPL";
+     }) {};
+
+  "testpattern" = callPackage
+    ({ mkDerivation, base, filepath, gtk }:
+     mkDerivation {
+       pname = "testpattern";
+       version = "0.1";
+       sha256 = "0a0kw5546z5jydk6dq2p16p2kpwv7fnmy1m907m3x6n580i1vh3l";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base filepath gtk ];
+       homepage = "http://code.haskell.org/~dons/code/testpattern";
+       description = "Display a monitor test pattern";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "testrunner" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, random, regex-compat, stm
+     }:
+     mkDerivation {
+       pname = "testrunner";
+       version = "0.9.1";
+       sha256 = "1887g3wn5mnlbxj4vbzv0zm3gwaj9ycr9sk7hy27qbb2x7c30iaw";
+       buildDepends = [ base HUnit QuickCheck random regex-compat stm ];
+       description = "Easy unit test driver framework";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tetris" = callPackage
+    ({ mkDerivation, base, GLUT, random }:
+     mkDerivation {
+       pname = "tetris";
+       version = "0.27178";
+       sha256 = "10wlw1frkaa3j8mb8lxgpvxcx87m8wdpca3mli9c5kirdm51vjgw";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT random ];
+       homepage = "http://d.hatena.ne.jp/mokehehe/20080921/tetris";
+       description = "A 2-D clone of Tetris";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tex2txt" = callPackage
+    ({ mkDerivation, base, containers, deepseq, parsec }:
+     mkDerivation {
+       pname = "tex2txt";
+       version = "0.1.0.0";
+       sha256 = "1q41kphll7xhbccwyvlsvk5vxisig23ipmcqf7v9qc3rx1hb0p0w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers deepseq parsec ];
+       homepage = "http://textmining.lt/tex2txt/";
+       description = "LaTeX to plain-text conversion";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "texmath" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, network-uri, pandoc-types, parsec, process, split, syb
+     , temporary, text, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "texmath";
+       version = "0.8.0.2";
+       sha256 = "11hzqfik99zydvsnwy4ihpgqvsiq398pxnw777bcaqzdrvyw7fa7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers mtl network-uri pandoc-types parsec syb xml
+       ];
+       testDepends = [
+         base bytestring directory filepath process split temporary text
+         utf8-string xml
+       ];
+       homepage = "http://github.com/jgm/texmath";
+       description = "Conversion between formats used to represent mathematics";
+       license = "GPL";
+     }) {};
+
+  "text" = callPackage
+    ({ mkDerivation, array, base, 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.0.4";
+       sha256 = "004p1c74crs8wmjafwsmw3mmycspq1j8fpm1lvfpq6acha7bnpc6";
+       buildDepends = [
+         array base bytestring deepseq ghc-prim integer-gmp
+       ];
+       testDepends = [
+         array base bytestring deepseq directory ghc-prim HUnit integer-gmp
+         QuickCheck quickcheck-unicode random test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/bos/text";
+       description = "An efficient packed Unicode text type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-and-plots" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, containers, markdown
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "text-and-plots";
+       version = "0.2.1.0";
+       sha256 = "0fjwjdr6pbqfzlyi75apfclsq07qld4yj4h574pgyc22lnk2z9z8";
+       buildDepends = [
+         base blaze-html bytestring containers markdown text
+         unordered-containers
+       ];
+       homepage = "https://github.com/andersjel/haskell-text-and-plots";
+       description = "EDSL to create HTML documents with plots based on the C3.js library.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "text-binary" = callPackage
+    ({ mkDerivation, base, binary, text }:
+     mkDerivation {
+       pname = "text-binary";
+       version = "0.1.0";
+       sha256 = "0wc501j8hqspnhf4d1hyb18f1wgc4kl2qx1b5s4bkxv0dfbwrk6z";
+       buildDepends = [ base binary text ];
+       homepage = "https://github.com/kawu/text-binary";
+       description = "Binary instances for text types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-format" = callPackage
+    ({ mkDerivation, array, base, double-conversion, ghc-prim
+     , integer-gmp, old-locale, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "text-format";
+       version = "0.3.1.1";
+       sha256 = "02zfgzfjvkaxbma1h2gr95h10c8q9gyaadag41q579j68iv15qbd";
+       buildDepends = [
+         array base double-conversion ghc-prim integer-gmp old-locale text
+         time transformers
+       ];
+       homepage = "https://github.com/bos/text-format";
+       description = "Text formatting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-format-simple" = callPackage
+    ({ mkDerivation, base, MissingH }:
+     mkDerivation {
+       pname = "text-format-simple";
+       version = "1.1.0";
+       sha256 = "0iqs3v03kirjczlp7jpqdqzrfvqsbm260g110abkbpbxws3szqhk";
+       buildDepends = [ base MissingH ];
+       description = "Simple text formatting library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-icu" = callPackage
+    ({ mkDerivation, array, base, bytestring, deepseq, directory
+     , ghc-prim, HUnit, icu, QuickCheck, random, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "text-icu";
+       version = "0.7.0.1";
+       sha256 = "0y3z5jda7v2iyll2148ivxfd2yhp27d3ryxrspp0cdq394klqxp2";
+       buildDepends = [ base bytestring deepseq text ];
+       testDepends = [
+         array base bytestring deepseq directory ghc-prim HUnit QuickCheck
+         random test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       extraLibraries = [ icu ];
+       homepage = "https://github.com/bos/text-icu";
+       description = "Bindings to the ICU library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) icu;};
+
+  "text-icu-translit" = callPackage
+    ({ mkDerivation, base, icu, QuickCheck, test-framework
+     , test-framework-quickcheck2, text, text-icu
+     }:
+     mkDerivation {
+       pname = "text-icu-translit";
+       version = "0.1.0.7";
+       sha256 = "1qfmkydayqj1knlvfs1l6nq42a4y81k5z2g87lvzafrylyjjd002";
+       buildDepends = [ base text ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2 text
+         text-icu
+       ];
+       extraLibraries = [ icu ];
+       description = "ICU transliteration";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) icu;};
+
+  "text-json-qq" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, json, json-qq, parsec
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "text-json-qq";
+       version = "0.4.1";
+       sha256 = "137m593yz5gl6jj7mi1f9kjsgi1np4n6707aqp94iw0qzxj8hdhg";
+       buildDepends = [
+         base haskell-src-meta json json-qq parsec template-haskell
+       ];
+       homepage = "http://github.com/finnsson/text-json-qq";
+       description = "Json Quasiquatation for Haskell";
+       license = "unknown";
+     }) {};
+
+  "text-latin1" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, data-checked
+     , hashable, text
+     }:
+     mkDerivation {
+       pname = "text-latin1";
+       version = "0.3";
+       sha256 = "1cs09qwkcljbnckakzr1wnpclkzjb0in3nnz6fpjyl4mxp5bqaw9";
+       buildDepends = [
+         base bytestring case-insensitive data-checked hashable text
+       ];
+       homepage = "https://github.com/mvv/text-latin1";
+       description = "Latin-1 (including ASCII) utility functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-ldap" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, bytestring
+     , Cabal, cabal-test-compat, containers, dlist, QuickCheck, random
+     , semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "text-ldap";
+       version = "0.1.1.5";
+       sha256 = "164kyvcmbhpvpqb5yvr55zd90cq2lw6q5qqd6wb4caa668badpzb";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base base64-bytestring bytestring containers dlist
+         semigroups transformers
+       ];
+       testDepends = [
+         base bytestring Cabal cabal-test-compat QuickCheck random
+         semigroups
+       ];
+       description = "Parser and Printer for LDAP text data stream";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "text-locale-encoding" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-handle, text }:
+     mkDerivation {
+       pname = "text-locale-encoding";
+       version = "0.1.0.2";
+       sha256 = "1ls41s45qwrmmac8k1gryvxbhhczqy2wanwanw48m7xnbv52p9fg";
+       buildDepends = [ base bytestring bytestring-handle text ];
+       homepage = "https://github.com/exbb2/text-locale-encoding";
+       description = "Encode and decode Text to/from ByteString using TextEncoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-manipulate" = callPackage
+    ({ mkDerivation, base, tasty, tasty-hunit, text, text-format }:
+     mkDerivation {
+       pname = "text-manipulate";
+       version = "0.1.3.1";
+       sha256 = "0k7mh9p6c8yif8sbfgqclk9v9jzymhlpv66bypn0z1y3p4ywfgjc";
+       buildDepends = [ base text text-format ];
+       testDepends = [ base tasty tasty-hunit text ];
+       homepage = "https://github.com/brendanhay/text-manipulate";
+       description = "Case conversion, word boundary manipulation, and textual subjugation";
+       license = "unknown";
+     }) {};
+
+  "text-normal" = callPackage
+    ({ mkDerivation, base, deepseq, hspec, QuickCheck
+     , quickcheck-instances, text, text-icu
+     }:
+     mkDerivation {
+       pname = "text-normal";
+       version = "0.2.1.0";
+       sha256 = "10cxvn450q2fdjxly72m20x2yikkvwx3dvyqs7b992c2dr1zc1iv";
+       buildDepends = [ base deepseq text text-icu ];
+       testDepends = [ base hspec QuickCheck quickcheck-instances ];
+       homepage = "https://github.com/joelteon/text-normal.git";
+       description = "Unicode-normalized text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "text-printer" = callPackage
+    ({ mkDerivation, base, bytestring, pretty, QuickCheck, semigroups
+     , test-framework, test-framework-quickcheck2, text, text-latin1
+     }:
+     mkDerivation {
+       pname = "text-printer";
+       version = "0.4";
+       sha256 = "0jcixgxln4c12nzmj50g3mmslki6f083xjrm9hr6hqvqzffxny5q";
+       buildDepends = [
+         base bytestring pretty semigroups text text-latin1
+       ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/mvv/text-printer";
+       description = "Abstract interface for text builders/printers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-regex-replace" = callPackage
+    ({ mkDerivation, attoparsec, base, hspec, QuickCheck, smallcheck
+     , text, text-icu
+     }:
+     mkDerivation {
+       pname = "text-regex-replace";
+       version = "0.1.0.0";
+       sha256 = "1f5rqyf3i6ppraic97cla6z7cxyp7ign8x929qaicncccx7nrwx5";
+       buildDepends = [ attoparsec base text text-icu ];
+       testDepends = [ base hspec QuickCheck smallcheck text text-icu ];
+       description = "Easy replacement when using text-icu regexes";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "text-register-machine" = callPackage
+    ({ mkDerivation, base, containers, mtl, vector }:
+     mkDerivation {
+       pname = "text-register-machine";
+       version = "0.4.0";
+       sha256 = "0g0iihfin5vjfk69r7jjw4vs3l1k3f0kkg3bbc4xqm274vd72bph";
+       buildDepends = [ base containers mtl vector ];
+       jailbreak = true;
+       homepage = "https://github.com/acfoltzer/text-register-machine";
+       description = "A Haskell implementation of the 1# Text Register Machine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-show" = callPackage
+    ({ mkDerivation, array, base, bytestring, ghc-prim, nats
+     , QuickCheck, quickcheck-instances, semigroups, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, transformers
+     , transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "text-show";
+       version = "0.7.0.1";
+       sha256 = "1qmvnni69dkxdjay387qxnvy1j4cffnw5igdgqbaqvrm0cgkkg4a";
+       buildDepends = [
+         array base bytestring ghc-prim nats semigroups template-haskell
+         text transformers void
+       ];
+       testDepends = [
+         array base bytestring ghc-prim nats QuickCheck quickcheck-instances
+         tasty tasty-hunit tasty-quickcheck text transformers
+         transformers-compat void
+       ];
+       homepage = "https://github.com/RyanGlScott/text-show";
+       description = "Efficient conversion of values into Text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-show-instances" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , haskeline, hoopl, hpc, old-locale, old-time, pretty
+     , quickcheck-instances, random, semigroups, tagged, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, terminfo, text
+     , text-show, time, transformers, transformers-compat, unix
+     , unordered-containers, utf8-string, vector, xhtml
+     }:
+     mkDerivation {
+       pname = "text-show-instances";
+       version = "0.3.0.1";
+       sha256 = "1a6ybgx5jivacy7b0bja5f7an1xq9mjmr2x348knaf84v2wqws9p";
+       buildDepends = [
+         base binary bytestring containers directory haskeline hoopl hpc
+         old-locale old-time pretty random semigroups tagged
+         template-haskell terminfo text text-show time transformers
+         transformers-compat unix unordered-containers utf8-string vector
+         xhtml
+       ];
+       testDepends = [
+         base binary bytestring containers directory haskeline hoopl hpc
+         old-locale old-time pretty quickcheck-instances random semigroups
+         tagged tasty tasty-hunit tasty-quickcheck template-haskell terminfo
+         text-show time transformers transformers-compat unix
+         unordered-containers utf8-string vector xhtml
+       ];
+       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, deepseq, hspec, text }:
+     mkDerivation {
+       pname = "text-stream-decode";
+       version = "0.1.0.5";
+       revision = "1";
+       sha256 = "1s2lncs5k8rswg1bpf4vz5p1maj46bsgf7ar4lzcla9bf3f4bppy";
+       editedCabalFile = "d4ea8ff401a3ccbd8a6ce2918385bac4859150047ce9b7f752ff5575db71e9fd";
+       buildDepends = [ base bytestring text ];
+       testDepends = [ base bytestring deepseq hspec text ];
+       homepage = "http://github.com/fpco/text-stream-decode";
+       description = "Streaming decoding functions for UTF encodings. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "text-utf7" = callPackage
+    ({ mkDerivation, base, bytestring, quickcheck-instances, tasty
+     , tasty-hunit, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "text-utf7";
+       version = "0.1.0.0";
+       sha256 = "0kcbw9gb8mwvc4p10m0g5gplgi38qlnnc0plaw22l1qdkx0k8ilv";
+       buildDepends = [ base bytestring text ];
+       testDepends = [
+         base bytestring quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck text
+       ];
+       homepage = "https://github.com/dpwright/text-utf7";
+       description = "UTF-7 encoding/decoding for Data.Text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "text-xml-generic" = callPackage
+    ({ mkDerivation, base, bytestring, containers, haskell98, mtl
+     , not-in-base, split, syb, template-haskell, xml
+     }:
+     mkDerivation {
+       pname = "text-xml-generic";
+       version = "0.1.1";
+       sha256 = "1w3gqv94yj1j71qhs1s6sxnxax8ahxwsz7brv0w79sg3r9akl31h";
+       buildDepends = [
+         base bytestring containers haskell98 mtl not-in-base split syb
+         template-haskell xml
+       ];
+       homepage = "http://github.com/finnsson/Text.XML.Generic";
+       description = "Serialize Data to XML (strings)";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "text-xml-qq" = callPackage
+    ({ mkDerivation, base, parsec, template-haskell, xml }:
+     mkDerivation {
+       pname = "text-xml-qq";
+       version = "0.1";
+       sha256 = "0311in43n89bk1fg4y9qglvbbl47ygvcvr0f7zpr8bpaqbb1ard5";
+       buildDepends = [ base parsec template-haskell xml ];
+       homepage = "http://www.github.com/finnsson/text-xml-qq";
+       description = "Quasiquoter for xml. XML DSL in Haskell.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "textPlot" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "textPlot";
+       version = "0.2";
+       sha256 = "0sy5lf5aa3yl3wy199ifb14cnkq5xghcv8m9ny9vzhyyk00h0j6y";
+       buildDepends = [ array base ];
+       description = "Plot functions in text";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "textmatetags" = callPackage
+    ({ mkDerivation, base, haskell98, process }:
+     mkDerivation {
+       pname = "textmatetags";
+       version = "0.0.1.2";
+       sha256 = "1q47s8z6igi21m4gqbyizlgiq1z7frk9pi4jppckxmpcjs5xd0gk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskell98 process ];
+       homepage = "https://github.com/spockz/Haskell-Code-Completion-for-TextMate";
+       description = "A simple Haskell program to provide tags for Haskell code completion in TextMate";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "texts" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "texts";
+       version = "0.4.0";
+       sha256 = "15r3lrd6qrhhsll6qlbvgd5g545mj2s6banahwlibcimqqdw8s9h";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tf-random" = callPackage
+    ({ mkDerivation, base, primitive, random, time }:
+     mkDerivation {
+       pname = "tf-random";
+       version = "0.5";
+       sha256 = "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f";
+       buildDepends = [ base primitive random time ];
+       description = "High-quality splittable pseudorandom number generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tfp" = callPackage
+    ({ mkDerivation, base, QuickCheck, utility-ht }:
+     mkDerivation {
+       pname = "tfp";
+       version = "1.0";
+       sha256 = "03jf2dk7sgggnr72wk6chxs3l4aycpmnapdjfm5f9i8wr0spga4l";
+       buildDepends = [ base utility-ht ];
+       testDepends = [ base QuickCheck ];
+       homepage = "http://www.haskell.org/haskellwiki/Type_arithmetic";
+       description = "Type-level integers, booleans, lists using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tfp-th" = callPackage
+    ({ mkDerivation, base, template-haskell, tfp }:
+     mkDerivation {
+       pname = "tfp-th";
+       version = "0.8";
+       sha256 = "139dcwvik8yfpl3i71ddjml1xn126qrx1mbxa4mcwfm6q81fvkzm";
+       buildDepends = [ base template-haskell tfp ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/Type_arithmetic";
+       description = "Template-Haskell code for tfp";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tftp" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , hslogger, mtl, network, QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "tftp";
+       version = "0.2";
+       sha256 = "0d95nhz5z0zi665h3npcags71zgprgrh7rq86yzn3wamnavlvswn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory hslogger mtl network
+         transformers
+       ];
+       testDepends = [
+         base hslogger mtl network QuickCheck transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/sheyll/tftp";
+       description = "A library for building tftp servers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tga" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "tga";
+       version = "0.2";
+       sha256 = "0lpc5z575y7cq03ww2knr5qdkfb36qnim5y1gkh552r9k3pfdjhf";
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       description = "Reading and writing of tga image files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-alpha" = callPackage
+    ({ mkDerivation, base, containers, derive, mmorph, mtl, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, th-desugar
+     , transformers
+     }:
+     mkDerivation {
+       pname = "th-alpha";
+       version = "0.2.0.2";
+       sha256 = "1syp28514wwj2c66jcx89zl5ax311jhywqgpcpqlfapfwqphysgk";
+       buildDepends = [
+         base containers mmorph mtl template-haskell th-desugar transformers
+       ];
+       testDepends = [
+         base derive tasty tasty-hunit tasty-quickcheck template-haskell
+       ];
+       homepage = "https://github.com/jkarni/th-alpha";
+       description = "Alpha equivalence for TH Exp";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-build" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "th-build";
+       version = "0.4.0.0";
+       sha256 = "0f16cgwkmqhkm5nxyic0f56swzm96yqmagmbh7vjd203mn9zv9z6";
+       buildDepends = [ base template-haskell ];
+       homepage = "https://github.com/DanielSchuessler/th-build";
+       description = "More convenient construction of TH ASTs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-desugar" = callPackage
+    ({ mkDerivation, base, containers, hspec, HUnit, mtl, syb
+     , template-haskell, th-lift, th-orphans
+     }:
+     mkDerivation {
+       pname = "th-desugar";
+       version = "1.5.3";
+       sha256 = "1bnbx5fpdnw24q3cjq1riccing8wadhl2xa588kf1qdf1nd9g7i0";
+       buildDepends = [
+         base containers mtl syb template-haskell th-lift th-orphans
+       ];
+       testDepends = [
+         base containers hspec HUnit mtl syb template-haskell th-lift
+         th-orphans
+       ];
+       homepage = "http://www.cis.upenn.edu/~eir/packages/th-desugar";
+       description = "Functions to desugar Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-expand-syns" = callPackage
+    ({ mkDerivation, base, containers, syb, template-haskell }:
+     mkDerivation {
+       pname = "th-expand-syns";
+       version = "0.3.0.6";
+       sha256 = "03qv93pyqk8all39knsf0mzmbfdck5x61kqnyn8rbisw5c1ymx6j";
+       buildDepends = [ base containers syb template-haskell ];
+       testDepends = [ base template-haskell ];
+       description = "Expands type synonyms in Template Haskell ASTs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-extras" = callPackage
+    ({ mkDerivation, base, syb, template-haskell }:
+     mkDerivation {
+       pname = "th-extras";
+       version = "0.0.0.2";
+       sha256 = "15sqf2jjnqcssq8hp80fk0ysgwqykjjc31gvvmzg4sypskpjs8cl";
+       buildDepends = [ base syb template-haskell ];
+       homepage = "https://github.com/mokus0/th-extras";
+       description = "A grab bag of functions for use with Template Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "th-fold" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "th-fold";
+       version = "0.0.0.1";
+       sha256 = "10n1aw74xi5gzs1847dhiv6yjxcz99idw91hvf34zhhs8hp8zf2z";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://code.haskell.org/~mokus/th-fold";
+       description = "TH fold generator";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "th-instance-reification" = callPackage
+    ({ mkDerivation, base, containers, HTF, HUnit, list-extras, loch-th
+     , placeholders, QuickCheck, quickcheck-instances, template-haskell
+     , th-expand-syns
+     }:
+     mkDerivation {
+       pname = "th-instance-reification";
+       version = "0.1.3";
+       sha256 = "1aiq4ygxdh9mz59wcnhbjr74sk7l20dvwpjkc4nkj2048axq17h1";
+       buildDepends = [
+         base containers list-extras loch-th placeholders template-haskell
+         th-expand-syns
+       ];
+       testDepends = [
+         base containers HTF HUnit list-extras loch-th placeholders
+         QuickCheck quickcheck-instances template-haskell th-expand-syns
+       ];
+       homepage = "https://github.com/nikita-volkov/th-instance-reification";
+       description = "Fixed versions of instances reification functions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "th-instances" = callPackage
+    ({ mkDerivation, base, checkers, DebugTraceHelpers, derive, HUnit
+     , mtl, QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, th-kinds
+     , th-lift
+     }:
+     mkDerivation {
+       pname = "th-instances";
+       version = "0.1.0.14";
+       sha256 = "1izamc2j1zjyrvzns7kj1mcma4bbmyd3sagbzxsyi4ja8kszcy0v";
+       buildDepends = [
+         base checkers derive mtl QuickCheck template-haskell th-kinds
+         th-lift
+       ];
+       testDepends = [
+         base checkers DebugTraceHelpers derive HUnit mtl QuickCheck
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 th-kinds th-lift
+       ];
+       description = "A place to collect orphan instances for Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "th-kinds" = callPackage
+    ({ mkDerivation, base, containers, mtl, template-haskell }:
+     mkDerivation {
+       pname = "th-kinds";
+       version = "0.1.1";
+       sha256 = "0d8n0wnygdyi9qhkr7418f0227r3dcjwvmfhpw0kslryz0vqyf5b";
+       buildDepends = [ base containers mtl template-haskell ];
+       jailbreak = true;
+       description = "Automated kind inference in Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "th-lift" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "th-lift";
+       version = "0.7.2";
+       sha256 = "0jl2x09mh9frsx5bccw8m4m3h72bncjaix9ylyfpvizisivj8p3m";
+       buildDepends = [ base template-haskell ];
+       testDepends = [ base template-haskell ];
+       homepage = "http://github.com/mboes/th-lift";
+       description = "Derive Template Haskell's Lift class for datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-lift-instances" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, doctest
+     , filepath, QuickCheck, template-haskell, text, th-lift, vector
+     }:
+     mkDerivation {
+       pname = "th-lift-instances";
+       version = "0.1.4";
+       sha256 = "02sf7qn1rs33cdf1dl7vpwkhqzhmj8h3naw0ngh2kz05ymk2qng4";
+       buildDepends = [
+         base bytestring containers template-haskell text th-lift vector
+       ];
+       testDepends = [
+         base bytestring containers directory doctest filepath QuickCheck
+         template-haskell text vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/bennofs/th-lift-instances/";
+       description = "Lift instances for template-haskell for common data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-orphans" = callPackage
+    ({ mkDerivation, base, hspec, mtl, nats, template-haskell, th-lift
+     , th-reify-many
+     }:
+     mkDerivation {
+       pname = "th-orphans";
+       version = "0.11.1";
+       sha256 = "111ckvvicr953aqnnkn7rn089dprz57h95cg95rs7f1zz318h2xy";
+       buildDepends = [
+         base mtl nats template-haskell th-lift th-reify-many
+       ];
+       testDepends = [ base hspec template-haskell ];
+       description = "Orphan instances for TH datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-printf" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, hspec, HUnit
+     , QuickCheck, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "th-printf";
+       version = "0.3.0.0";
+       sha256 = "10kq1x8klgny6k5aq8h23fnrja3wfmva58j5kpjwzkz0xzr83biq";
+       buildDepends = [
+         attoparsec base bytestring template-haskell text transformers
+       ];
+       testDepends = [
+         base bytestring hspec HUnit QuickCheck template-haskell text
+       ];
+       homepage = "https://github.com/joelteon/th-printf";
+       description = "Compile-time printf";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "th-reify-many" = callPackage
+    ({ mkDerivation, base, containers, mtl, safe, template-haskell
+     , th-expand-syns
+     }:
+     mkDerivation {
+       pname = "th-reify-many";
+       version = "0.1.3";
+       sha256 = "00hryljcs434wcv1vaamfdbjk857f46djxv7mlwplkl3zsmfhlfx";
+       buildDepends = [
+         base containers mtl safe template-haskell th-expand-syns
+       ];
+       testDepends = [ base template-haskell ];
+       homepage = "http://github.com/mgsloan/th-reify-many";
+       description = "Recurseively reify template haskell datatype info";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-sccs" = callPackage
+    ({ mkDerivation, base, containers, template-haskell }:
+     mkDerivation {
+       pname = "th-sccs";
+       version = "0.0.0.20110723";
+       sha256 = "0vrjqwdjv2922kqmh57ypbslbv1m829wag78addqsr4vjd9b3zl6";
+       buildDepends = [ base containers template-haskell ];
+       description = "Binding group analysis in Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "themoviedb" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, either
+     , http-client, http-client-tls, http-types, mtl, network
+     , network-uri, old-locale, tasty, tasty-hunit, text, text-binary
+     , time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "themoviedb";
+       version = "1.0.0.0";
+       sha256 = "1gwvhbxmhzc5sbcfvyln84x7j8jpglknxx15q82dyr8bhccs4x0w";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring either http-client http-client-tls
+         http-types mtl network network-uri old-locale text text-binary time
+         transformers unix
+       ];
+       testDepends = [
+         aeson base bytestring network old-locale tasty tasty-hunit text
+         time transformers unix
+       ];
+       homepage = "http://github.com/pjones/themoviedb";
+       description = "Haskell API bindings for http://themoviedb.org";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "themplate" = callPackage
+    ({ mkDerivation, base, configurator, directory, either, errors
+     , filepath, optparse-applicative, text, transformers
+     }:
+     mkDerivation {
+       pname = "themplate";
+       version = "1.1";
+       sha256 = "1bjiiwhbwq6am7269gzsaqq6hpvy45x4pkq0kq7qm2j4bzrmfr14";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base configurator directory either errors filepath
+         optparse-applicative text transformers
+       ];
+       homepage = "http://github.com/bennofs/themplate/";
+       description = "themplate";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "theoremquest" = callPackage
+    ({ mkDerivation, base, HTTP, json, utf8-string }:
+     mkDerivation {
+       pname = "theoremquest";
+       version = "0.0.0";
+       sha256 = "05z0jppjbw70rlyh2qis27xp8vdx9fgn7i22ckxb0m2y75gffq61";
+       buildDepends = [ base HTTP json utf8-string ];
+       jailbreak = true;
+       description = "A common library for TheoremQuest, a theorem proving game";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "theoremquest-client" = callPackage
+    ({ mkDerivation, base, HTTP, network, theoremquest }:
+     mkDerivation {
+       pname = "theoremquest-client";
+       version = "0.0.0";
+       sha256 = "0kdfbz5sa2gcy9znz4c2hnyni01vpabixrclg2gs7awysw8hiy3a";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base HTTP network theoremquest ];
+       jailbreak = true;
+       description = "A simple client for the TheoremQuest theorem proving game";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "these" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, mtl, profunctors
+     , semigroupoids, semigroups, transformers, vector
+     }:
+     mkDerivation {
+       pname = "these";
+       version = "0.4.2";
+       revision = "1";
+       sha256 = "0hs59i07k1lkynvdpymjvl1va2frc3aq6wyrmbi7mz3vmz0bjcp7";
+       editedCabalFile = "02eb71fed8c848cc4f94f1181f09a6f9667caac38746f757bd57ca881aa47629";
+       buildDepends = [
+         base bifunctors containers mtl profunctors semigroupoids semigroups
+         transformers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/isomorphism/these";
+       description = "An either-or-both data type, with corresponding hybrid error/writer monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "thespian" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "thespian";
+       version = "0.999";
+       sha256 = "0z3cqjcf6xr0z7g3s1jszcs39w43sl0793gl0qm3dklbginqbcnn";
+       buildDepends = [ base containers mtl ];
+       homepage = "http://bitbucket.org/alinabi/thespian";
+       description = "Lightweight Erlang-style actors for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "theta-functions" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "theta-functions";
+       version = "1.0.1";
+       sha256 = "0m9k1b75ja5a6vq7jdqzsbqjc4fh1kzy29rzss08ph6700bm6z8f";
+       buildDepends = [ base ];
+       homepage = "https://github.com/hijarian/theta-functions";
+       description = "Theta-functions implemented as trigonometric series";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "thih" = callPackage
+    ({ mkDerivation, base, pretty }:
+     mkDerivation {
+       pname = "thih";
+       version = "1.0";
+       sha256 = "0ir8z7al3fxjwq5nb05l136k7vp82ag6khcyf9bvjcymlra4cs0m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base pretty ];
+       homepage = "http://web.cecs.pdx.edu/~mpj/thih/";
+       description = "Typing Haskell In Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "thimk" = callPackage
+    ({ mkDerivation, base, edit-distance, parseargs, phonetic-code
+     , sqlite
+     }:
+     mkDerivation {
+       pname = "thimk";
+       version = "0.3.1";
+       sha256 = "1pjz6rnbm1llxgp47fasv40w2vg197z582vf9mm7rhm5qjp25zi0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base edit-distance parseargs phonetic-code sqlite
+       ];
+       homepage = "http://wiki.cs.pdx.edu/bartforge/thimk";
+       description = "Command-line spelling word suggestion tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "thorn" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, contravariant, mtl
+     , profunctors, random, template-haskell
+     }:
+     mkDerivation {
+       pname = "thorn";
+       version = "0.2";
+       revision = "1";
+       sha256 = "1krxfsgj4ciifg76khsl4lw1nb40xx4gs07nwd84ail85s394h1h";
+       editedCabalFile = "d19e959e95f55075f6f4f0013cbc980e2c351c871e3d9d5bbe2febafb7711b9a";
+       buildDepends = [
+         base bifunctors containers contravariant mtl profunctors random
+         template-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Kinokkory/Thorn";
+       description = "Datatype Manipulation with Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "thread-local-storage" = callPackage
+    ({ mkDerivation, atomic-primops, base, containers }:
+     mkDerivation {
+       pname = "thread-local-storage";
+       version = "0.1.0.3";
+       sha256 = "0ka6xrxzsw2z95qcc4v2hh4ldb22zkd5s62lns3v1853g4dw7k3l";
+       buildDepends = [ base containers ];
+       testDepends = [ atomic-primops base containers ];
+       description = "Several options for thread-local-storage (TLS) in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "threadPool" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "threadPool";
+       version = "0.3.1";
+       sha256 = "18zr8k9sldbkvs5yw0ann92amri6dv2n8wws87lcqxgs52sw6pwi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process ];
+       homepage = "http://bjaress.blogspot.com/";
+       description = "Runs other programs in the manner of a thread pool";
+       license = "GPL";
+     }) {};
+
+  "threadmanager" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "threadmanager";
+       version = "0.1.7";
+       sha256 = "17s26hlailbr8c9d3dv1pwiy81m3nzr3sw0v9y716rmhldf7k09f";
+       buildDepends = [ base containers ];
+       description = "(deprecated in favor of 'threads') Simple thread management";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "threads" = callPackage
+    ({ mkDerivation, base, concurrent-extra, HUnit, stm, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "threads";
+       version = "0.5.1.3";
+       sha256 = "04b4hjwv38iv48hdaxrw8ngrid6pgia32h6vci80szgpjxslrg82";
+       buildDepends = [ base stm ];
+       testDepends = [
+         base concurrent-extra HUnit stm test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/basvandijk/threads";
+       description = "Fork threads and wait for their result";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "threads-pool" = callPackage
+    ({ mkDerivation, base, containers, mtl, stm }:
+     mkDerivation {
+       pname = "threads-pool";
+       version = "0.1";
+       sha256 = "1x1yafxaaf8r02cqipqnm9shj74kja1bqdp0d1cq5kdhcnh22xkz";
+       buildDepends = [ base containers mtl stm ];
+       description = "A library to operate with pool of haskell's IO threads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "threads-supervisor" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, retry, stm, tasty
+     , tasty-hunit, tasty-quickcheck, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "threads-supervisor";
+       version = "1.0.3.0";
+       sha256 = "1iipljryqj1g06bqmlyvkxagq7l3rfx7w5d1ci5dw22qsrijnkmn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base retry stm time unordered-containers ];
+       testDepends = [
+         base bytestring QuickCheck retry stm tasty tasty-hunit
+         tasty-quickcheck time transformers
+       ];
+       description = "Simple, IO-based library for Erlang-style thread supervision";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "threadscope" = callPackage
+    ({ mkDerivation, array, base, binary, cairo, containers, deepseq
+     , filepath, ghc-events, glib, gtk, mtl, pango, text, time, unix
+     }:
+     mkDerivation {
+       pname = "threadscope";
+       version = "0.2.6";
+       sha256 = "0pycxvf3gjx86yp948anczxidhi6ra95szkqyvvlfpriay7klfya";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary cairo containers deepseq filepath ghc-events glib
+         gtk mtl pango text time unix
+       ];
+       configureFlags = [ "--ghc-options=-rtsopts" ];
+       homepage = "http://www.haskell.org/haskellwiki/ThreadScope";
+       description = "A graphical tool for profiling parallel Haskell programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "threefish" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, crypto-api
+     , data-default, entropy, random, tagged
+     }:
+     mkDerivation {
+       pname = "threefish";
+       version = "0.2.6";
+       sha256 = "1v4vxm2yb7wmzkh9rsf5b6m04wjmy7yr7jq49b5msddjdzhfmf91";
+       buildDepends = [
+         array base bytestring cereal crypto-api data-default entropy random
+         tagged
+       ];
+       homepage = "http://github.com/valderman/threefish";
+       description = "The Threefish block cipher and the Skein hash function for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "threepenny-gui" = callPackage
+    ({ mkDerivation, aeson, attoparsec-enumerator, base, bytestring
+     , containers, data-default, deepseq, filepath, hashable
+     , MonadCatchIO-transformers, network-uri, safe, snap-core
+     , snap-server, stm, template-haskell, text, time, transformers
+     , unordered-containers, utf8-string, vault, websockets
+     , websockets-snap
+     }:
+     mkDerivation {
+       pname = "threepenny-gui";
+       version = "0.5.0.0";
+       sha256 = "0rr826k6p2hbp66qr12sci6km40krbi7lbs293r11jxi0ivj5drd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec-enumerator base bytestring containers data-default
+         deepseq filepath hashable MonadCatchIO-transformers network-uri
+         safe snap-core snap-server stm template-haskell text time
+         transformers unordered-containers utf8-string vault websockets
+         websockets-snap
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/Threepenny-gui";
+       description = "GUI framework that uses the web browser as a display";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "thrift" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, containers
+     , ghc-prim, hashable, HTTP, network, network-uri, QuickCheck, split
+     , text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "thrift";
+       version = "0.9.2";
+       sha256 = "1c8x66agbbrcsk08i9ha3h9kdq97lnz8sby7xsjx84v5f6kmd7a4";
+       buildDepends = [
+         attoparsec base binary bytestring containers ghc-prim hashable HTTP
+         network network-uri QuickCheck split text unordered-containers
+         vector
+       ];
+       homepage = "http://thrift.apache.org";
+       description = "Haskell bindings for the Apache Thrift RPC system";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "thrist" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "thrist";
+       version = "0.3.0.2";
+       sha256 = "01y4s5mpk7d0y878fr40j9k19dryj37am9g86v2s9lr5d0q2nnqp";
+       buildDepends = [ base ];
+       homepage = "http://heisenbug.blogspot.com/search/label/thrist";
+       description = "Type-threaded list";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "throttle" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "throttle";
+       version = "3.0.0";
+       sha256 = "1yxmq7244a8bcw1jg00dqcpwzf8h1333c51k9d0v39flpkzp5qlc";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "thumbnail" = callPackage
+    ({ mkDerivation, base, bytestring, gd }:
+     mkDerivation {
+       pname = "thumbnail";
+       version = "0.8.0";
+       sha256 = "1ms7pzw4lrpkpv6sb0l7jvw5a0n5j7fc9wyi28bq7ik22d4sc8kd";
+       buildDepends = [ base bytestring gd ];
+       homepage = "https://github.com/cutsea110/thumbnail";
+       description = "generate thumbnail image";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "thumbnail-plus" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , data-default, directory, either, gd, hspec, imagesize-conduit
+     , resourcet, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "thumbnail-plus";
+       version = "1.0.4";
+       sha256 = "110vfk5ri394awzmmq82r87gc9pmvy3500i836602syvd5zfa92x";
+       buildDepends = [
+         base bytestring conduit conduit-extra data-default directory either
+         gd imagesize-conduit resourcet temporary transformers
+       ];
+       testDepends = [
+         base conduit conduit-extra data-default directory hspec resourcet
+         transformers
+       ];
+       homepage = "https://github.com/prowdsponsor/thumbnail-plus";
+       description = "Generate thumbnails easily and safely";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "thyme" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
+     , containers, cpphs, deepseq, directory, filepath, mtl, old-locale
+     , profunctors, QuickCheck, random, system-posix-redirect, text
+     , time, vector, vector-space, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "thyme";
+       version = "0.3.5.5";
+       sha256 = "0v3rbjl92bqggsdra72zdq6rxzb2qf1268424p94225lnwgp1il4";
+       buildDepends = [
+         aeson attoparsec base bytestring containers deepseq mtl old-locale
+         profunctors QuickCheck random text time vector vector-space
+         vector-th-unbox
+       ];
+       testDepends = [
+         attoparsec base bytestring Cabal containers directory filepath mtl
+         old-locale profunctors QuickCheck random system-posix-redirect text
+         time vector-space
+       ];
+       buildTools = [ cpphs ];
+       homepage = "https://github.com/liyang/thyme";
+       description = "A faster time library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tianbar" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, containers
+     , dbus, directory, gtk, gtk-traymanager, happstack-server, network
+     , network-uri, process, random, split, text, transformers
+     , utf8-string, webkit, xdg-basedir, xmonad, xmonad-contrib
+     }:
+     mkDerivation {
+       pname = "tianbar";
+       version = "0.4.6.3";
+       sha256 = "1ns1gsjqq1xcdxqw7xplcax88ydfx8pn6id42n5idmcbgxkjzm9p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-html blaze-markup containers dbus directory gtk
+         gtk-traymanager happstack-server network network-uri process random
+         split text transformers utf8-string webkit xdg-basedir xmonad
+         xmonad-contrib
+       ];
+       homepage = "https://github.com/koterpillar/tianbar";
+       description = "A desktop bar based on WebKit";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tic-tac-toe" = callPackage
+    ({ mkDerivation, base, glade, gtk, haskell98 }:
+     mkDerivation {
+       pname = "tic-tac-toe";
+       version = "0.1";
+       sha256 = "0bdls2xz281zdxq5z6vbkahmf6bpiqr0ra823j21783jwiyh8j01";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base glade gtk haskell98 ];
+       homepage = "http://ecks.homeunix.net";
+       description = "Useful if reading \"Why FP matters\" by John Hughes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tickle" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, directory, doctest
+     , filepath, lens, mtl, QuickCheck, semigroupoids, semigroups
+     , template-haskell, transformers, validation
+     }:
+     mkDerivation {
+       pname = "tickle";
+       version = "0.0.4";
+       sha256 = "11zm6fwnykp6hlfp9d4xcvcvmczj5x77sfkkx6v1gwz3qfkf2qcj";
+       buildDepends = [
+         base bifunctors bytestring lens mtl semigroupoids semigroups
+         transformers validation
+       ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/nicta/tickle";
+       description = "A port of @Data.Binary@";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tidal" = callPackage
+    ({ mkDerivation, base, binary, bytestring, colour, containers
+     , hashable, hmt, hosc, mersenne-random-pure64, mtl, parsec, process
+     , text, time, transformers, websockets
+     }:
+     mkDerivation {
+       pname = "tidal";
+       version = "0.4.30";
+       sha256 = "1awc2xgq4vn8nnfij3cnklcayh9d4khwpldm75jbghqi75921jni";
+       buildDepends = [
+         base binary bytestring colour containers hashable hmt hosc
+         mersenne-random-pure64 mtl parsec process text time transformers
+         websockets
+       ];
+       homepage = "http://tidal.lurk.org/";
+       description = "Pattern language for improvised music";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tidal-midi" = callPackage
+    ({ mkDerivation, alsa-core, alsa-seq, base, containers, hashable
+     , hosc, process, tidal
+     }:
+     mkDerivation {
+       pname = "tidal-midi";
+       version = "0.0.1";
+       sha256 = "0j2smcjbnsa6ksrgfmcjbm6sjq9ps0l8fqzaib60pgi34b6dnzv8";
+       buildDepends = [
+         alsa-core alsa-seq base containers hashable hosc process tidal
+       ];
+       homepage = "http://tidal.lurk.org/";
+       description = "MIDI support for tidal";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "tidal-vis" = callPackage
+    ({ mkDerivation, base, cairo, colour, tidal }:
+     mkDerivation {
+       pname = "tidal-vis";
+       version = "0.1.8";
+       sha256 = "1j9a4sgvji2wc9kq9xf0ja45b9md4v1xlanh6cfqk8p0b2qgmcrw";
+       buildDepends = [ base cairo colour tidal ];
+       homepage = "http://yaxu.org/tidal/";
+       description = "Visual rendering for Tidal patterns";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tie-knot" = callPackage
+    ({ mkDerivation, base, containers, mtl, recursion-schemes }:
+     mkDerivation {
+       pname = "tie-knot";
+       version = "0.2";
+       sha256 = "1iksr5h6cyyl88z35fbaskriv4vhc1696d3i1i3c171c0vq0hwg4";
+       buildDepends = [ base containers mtl recursion-schemes ];
+       jailbreak = true;
+       homepage = "https://github.com/ppetr/tie-knot";
+       description = "\"Ties the knot\" on a given set of structures that reference each other by keys";
+       license = "LGPL";
+     }) {};
+
+  "tiempo" = callPackage
+    ({ mkDerivation, base, deepseq, time }:
+     mkDerivation {
+       pname = "tiempo";
+       version = "0.0.1.0";
+       sha256 = "1gmaiiwcbn3z3zmhgii7q3922c2rwdgkjsc4104gyzjm2m08998r";
+       buildDepends = [ base deepseq time ];
+       homepage = "http://github.com/HaskVan/tiempo";
+       description = "Specify time intervals in different units (secs, mins, hours, etc.)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tiger" = callPackage
+    ({ mkDerivation, array, base, containers, uuagc, uuagc-cabal, uulib
+     }:
+     mkDerivation {
+       pname = "tiger";
+       version = "1.1.1";
+       sha256 = "1llmizacz4sg77l5yi3f9m9xkckl1mpjh0ly20cbqf5747q354q1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ array base containers uuagc uuagc-cabal uulib ];
+       homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
+       description = "Tiger Compiler of Universiteit Utrecht";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tightrope" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, http-types
+     , lens, mtl, text, wai, wai-extra, wreq
+     }:
+     mkDerivation {
+       pname = "tightrope";
+       version = "0.2.0.0";
+       sha256 = "1vvzfsl166qhg0ykq71rzavllid216f6fg5xrk2454z9zskc9n60";
+       buildDepends = [
+         aeson base bytestring containers http-types lens mtl text wai
+         wai-extra wreq
+       ];
+       jailbreak = true;
+       description = "Nice API for a Slackbot";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tighttp" = callPackage
+    ({ mkDerivation, base, bytestring, handle-like, monads-tf
+     , old-locale, papillon, simple-pipe, time
+     }:
+     mkDerivation {
+       pname = "tighttp";
+       version = "0.0.0.8";
+       sha256 = "0xbipgy79pivy69a84lrriw7ams60r1a2rrkqy6llhsw4v2qk497";
+       buildDepends = [
+         base bytestring handle-like monads-tf old-locale papillon
+         simple-pipe time
+       ];
+       homepage = "https://github.com/YoshikuniJujo/tighttp/wiki";
+       description = "Tiny and Incrementally-Growing HTTP library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tilings" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "tilings";
+       version = "0.1";
+       sha256 = "03a9bc4zbfb3c0dd75rxj7h9pj3sc23l9a9gmabcww5nsx8kpjys";
+       buildDepends = [ base ];
+       homepage = "https://gitorious.org/tilings";
+       description = "substitution tilings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timberc" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, bzlib, filepath
+     , happy, haskell98, mtl, pretty
+     }:
+     mkDerivation {
+       pname = "timberc";
+       version = "1.0.3";
+       sha256 = "0x2yc57g9g5ii14l65xkly55rhx44nfjqnbl4bqf286mqsgz191j";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring bzlib filepath haskell98 mtl pretty
+       ];
+       buildTools = [ happy ];
+       homepage = "http://www.timber-lang.org";
+       description = "The Timber Compiler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "time_1_5_0_1" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck, test-framework
+     , test-framework-quickcheck2, unix
+     }:
+     mkDerivation {
+       pname = "time";
+       version = "1.5.0.1";
+       sha256 = "0knixcmdsl2jhjw0x6is02yrw6dhjn4gr3fh06adc003gc3wr894";
+       buildDepends = [ base deepseq ];
+       testDepends = [
+         base deepseq QuickCheck test-framework test-framework-quickcheck2
+         unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/haskell/time";
+       description = "A time library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "time-compat" = callPackage
+    ({ mkDerivation, base, old-time, time }:
+     mkDerivation {
+       pname = "time-compat";
+       version = "0.1.0.3";
+       sha256 = "0zqgzr8yjn36rn6gflwh5s0c92vl44xzxiw0jz8d5h0h8lhi21sr";
+       buildDepends = [ base old-time time ];
+       homepage = "http://hub.darcs.net/dag/time-compat";
+       description = "Compatibility with old-time for the time package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "time-extras" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "time-extras";
+       version = "1.1.4";
+       sha256 = "1k9adm922l431gyk8figx5df1n2xk5awir2fpijnvvyphrwk5p3l";
+       buildDepends = [ base time ];
+       jailbreak = true;
+       homepage = "http://semantic.org/TimeLib/";
+       description = "Data instances for the time package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "time-exts" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bindings-DSL, containers
+     , convertible, data-default, deepseq, fclabels, mtl, old-locale
+     , QuickCheck, random, text, time, timezone-olson
+     }:
+     mkDerivation {
+       pname = "time-exts";
+       version = "2.1.0";
+       sha256 = "0y73axrlm6lh8150i4av0jza18zpd5fiiqv9y5m8a7xx11a386bm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bindings-DSL containers convertible
+         data-default deepseq fclabels mtl old-locale QuickCheck random text
+         time timezone-olson
+       ];
+       homepage = "https://github.com/enzoh/time-exts";
+       description = "Efficient Timestamps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "time-http" = callPackage
+    ({ mkDerivation, ascii, attempt, attoparsec, base
+     , base-unicode-symbols, blaze-builder, blaze-textual, bytestring
+     , convertible-text, data-default, failure, QuickCheck, tagged, time
+     }:
+     mkDerivation {
+       pname = "time-http";
+       version = "0.5";
+       sha256 = "0jbiawi14p8cgcxvr5b38kyjdmhq1lagr1dqnlpymlv7d7pcxljd";
+       buildDepends = [
+         ascii attempt attoparsec base base-unicode-symbols blaze-builder
+         blaze-textual bytestring convertible-text data-default failure
+         tagged time
+       ];
+       testDepends = [
+         ascii attempt attoparsec base base-unicode-symbols blaze-builder
+         blaze-textual bytestring convertible-text data-default failure
+         QuickCheck tagged time
+       ];
+       jailbreak = true;
+       homepage = "http://cielonegro.org/HTTPDateTime.html";
+       description = "Parse and format HTTP/1.1 Date and Time strings";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "time-io-access" = callPackage
+    ({ mkDerivation, base, base-io-access, time }:
+     mkDerivation {
+       pname = "time-io-access";
+       version = "0.1.0.0";
+       sha256 = "0n05lw6zpcfr3lwy2qn7v0j3ym1la9x0mak8szaxc2nbkyc8drrb";
+       buildDepends = [ base base-io-access time ];
+       jailbreak = true;
+       description = "IO Access for time";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "time-lens" = callPackage
+    ({ mkDerivation, base, data-lens-light, time }:
+     mkDerivation {
+       pname = "time-lens";
+       version = "0.4.0.1";
+       sha256 = "0916qfan93aq91icf87ifvskrq6s6s75rhkajvl8pxp74j28hlwz";
+       buildDepends = [ base data-lens-light time ];
+       description = "Lens-based interface to Data.Time data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "time-locale-compat" = callPackage
+    ({ mkDerivation, base, old-locale, time }:
+     mkDerivation {
+       pname = "time-locale-compat";
+       version = "0.1.0.1";
+       sha256 = "0q5d134cvcy7hlr473fanqqixqnqpqvz9ka2r45m59l6kzrws95c";
+       buildDepends = [ base old-locale time ];
+       homepage = "http://twitter.com/khibino/";
+       description = "Compatibility of TimeLocale between old-locale and time-1.5";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "time-patterns" = callPackage
+    ({ mkDerivation, base, intervals, lens, thyme, vector-space }:
+     mkDerivation {
+       pname = "time-patterns";
+       version = "0.1.3.1";
+       sha256 = "17gfin2bd6zsk3ij4hdh5xddlki0kb05mq9xkmvly9ka39gsr82n";
+       buildDepends = [ base intervals lens thyme vector-space ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/jfmueller/time-patterns";
+       description = "Patterns for recurring events";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "time-recurrence" = callPackage
+    ({ mkDerivation, base, data-ordlist, HUnit, mtl, old-locale
+     , test-framework, test-framework-hunit, time
+     }:
+     mkDerivation {
+       pname = "time-recurrence";
+       version = "0.9.2";
+       sha256 = "1arqmkagmswimbh78qfz5bcilk9i14w29j4vf4i89d00vac3vrzm";
+       buildDepends = [ base data-ordlist mtl time ];
+       testDepends = [
+         base data-ordlist HUnit mtl old-locale test-framework
+         test-framework-hunit time
+       ];
+       homepage = "http://github.com/hellertime/time-recurrence";
+       description = "Generate recurring dates";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "time-series" = callPackage
+    ({ mkDerivation, array, base, containers, mtl }:
+     mkDerivation {
+       pname = "time-series";
+       version = "0.1.0.0";
+       sha256 = "1j6xrf45i4japgr35kzqcawlhdn13k3fbsjfmm2j3j92skwra095";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers mtl ];
+       description = "Time series analysis";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "time-units" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "time-units";
+       version = "1.0.0";
+       sha256 = "16g0i6r6vj9w4lbn12jqrhgbbjjca8wbzq6546dz08aks1yrk0g1";
+       buildDepends = [ base ];
+       homepage = "http://github.com/acw/time-units";
+       description = "A basic library for defining units of time as types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "time-w3c" = callPackage
+    ({ mkDerivation, base, convertible, parsec, time }:
+     mkDerivation {
+       pname = "time-w3c";
+       version = "0.1.0.1";
+       sha256 = "12hnvhcv18kv1djqn5dqv8i1rrzsxlvnsjyjsy9m1ngmr9nvvfbg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base convertible parsec time ];
+       jailbreak = true;
+       homepage = "http://cielonegro.org/W3CDateTime.html";
+       description = "Parse, format and convert W3C Date and Time";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "timecalc" = callPackage
+    ({ mkDerivation, base, haskeline, uu-parsinglib }:
+     mkDerivation {
+       pname = "timecalc";
+       version = "0.1.1";
+       sha256 = "05nzfydzn9nmjfmdnpf5jl238kdixbwwqkyrax89i4anmpxv1v9s";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base haskeline uu-parsinglib ];
+       homepage = "https://github.com/chriseidhof/TimeCalc";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "timeit" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "timeit";
+       version = "1.0.0.0";
+       sha256 = "0dkjbp636dp882zlbwvvz76k4g7ga28wksd41w6mh0k8z45xjj5x";
+       buildDepends = [ base ];
+       description = "Time a computation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timeout" = callPackage
+    ({ mkDerivation, base, exceptions, mtl, QuickCheck, tasty
+     , tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "timeout";
+       version = "0.1.1";
+       sha256 = "1jddkkmc3d8ysh8rnlpkzvlg67if8c71wqmjdsysddpwwm3wbgjn";
+       buildDepends = [ base exceptions mtl time ];
+       testDepends = [
+         base exceptions mtl QuickCheck tasty tasty-quickcheck time
+       ];
+       homepage = "https://github.com/lambda-llama/timeout";
+       description = "Generalized sleep and timeout functions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "timeout-control" = callPackage
+    ({ mkDerivation, base, ghc-prim, lifted-base, monad-control, mtl
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "timeout-control";
+       version = "0.1";
+       sha256 = "1w2y39699zsxv43w53q8qbi1wfvg14kqvxqfp92pisvxnrwpcisp";
+       buildDepends = [
+         base ghc-prim lifted-base monad-control mtl transformers-base
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/alphaHeavy/timeout-control";
+       description = "Updatable timeouts as a Monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "timeout-with-results" = callPackage
+    ({ mkDerivation, base, deepseq, mtl, parallel }:
+     mkDerivation {
+       pname = "timeout-with-results";
+       version = "0.2";
+       sha256 = "1y5mc1awahcp9xpmmwqc74cfn7g0zm1cyxi396xirll8nk335nd0";
+       buildDepends = [ base deepseq mtl parallel ];
+       homepage = "https://github.com/ppetr/timeout-with-results";
+       description = "Runs a time-limited computation alowing it to return intermediate results";
+       license = "LGPL";
+     }) {};
+
+  "timeparsers" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , convertible, mtl, time
+     }:
+     mkDerivation {
+       pname = "timeparsers";
+       version = "0.3.2";
+       sha256 = "1dicp58f2amn5rgmnlfjpv4aj7ak6jrdlba2marglddvj4ycq1h7";
+       buildDepends = [
+         attoparsec base bytestring containers convertible mtl time
+       ];
+       jailbreak = true;
+       description = "Attoparsec parsers for various Date/Time formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timeplot" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, cairo, Chart
+     , Chart-cairo, colour, containers, data-default, lens, regex-tdfa
+     , strptime, template-haskell, time, transformers, vcs-revision
+     }:
+     mkDerivation {
+       pname = "timeplot";
+       version = "1.0.28";
+       sha256 = "1bazhm0hlhhkw6vhn34hsk8xk0h3k2dlram5xhpnn51g7z2b9v71";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring bytestring-lexing cairo Chart Chart-cairo colour
+         containers data-default lens regex-tdfa strptime template-haskell
+         time transformers vcs-revision
+       ];
+       homepage = "http://haskell.org/haskellwiki/Timeplot";
+       description = "A tool for visualizing time series from log files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timerep" = callPackage
+    ({ mkDerivation, base, old-locale, time }:
+     mkDerivation {
+       pname = "timerep";
+       version = "1.0.3";
+       sha256 = "14lz8nzfy1j7snvifbwjkk1fjc8wy4jk67xk9n87r25v3cva3x0p";
+       buildDepends = [ base old-locale time ];
+       description = "Parse and display time according to some RFCs (RFC3339, RFC2822)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timers" = callPackage
+    ({ mkDerivation, base, lifted-base, monad-control, suspend
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "timers";
+       version = "0.2.0.2";
+       sha256 = "0ivlgpc45iss44pjmcxprwg98zh68fkpym0y19vx5ysacy6p04yh";
+       buildDepends = [
+         base lifted-base monad-control suspend transformers-base
+       ];
+       jailbreak = true;
+       description = "Simple package that implements timers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timers-updatable" = callPackage
+    ({ mkDerivation, base, stm }:
+     mkDerivation {
+       pname = "timers-updatable";
+       version = "0.2.0.2";
+       sha256 = "1naw59xvbfhgz49qhvgzng4xjf4fzi59gl996pcp5l6s2sbpx4mw";
+       buildDepends = [ base stm ];
+       homepage = "http://github.com/paolino/timers-updatable";
+       description = "timers which are updatable in the remaining time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timestamp-subprocess-lines" = callPackage
+    ({ mkDerivation, base, bytestring, old-locale, process, split, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "timestamp-subprocess-lines";
+       version = "0.1.0.3";
+       sha256 = "1vn947bbfh7awmz2rxzn2rya439ljjm83rggp6g9v178hxff5aim";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring old-locale process split time transformers
+       ];
+       homepage = "https://github.com/Peaker/timestamp-subprocess-lines";
+       description = "Run a command and timestamp its stdout/stderr lines";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timestamper" = callPackage
+    ({ mkDerivation, base, old-locale, time }:
+     mkDerivation {
+       pname = "timestamper";
+       version = "1.0";
+       sha256 = "14b9zg2lyd8lja9agy73vpscjbkv5nwk6h780wl0xk6m4md9vyj3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base old-locale time ];
+       homepage = "https://github.com/kisom/timestamper";
+       description = "Read standard input and prepend each line with a timestamp";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "timezone-olson" = callPackage
+    ({ mkDerivation, base, binary, bytestring, extensible-exceptions
+     , time, timezone-series
+     }:
+     mkDerivation {
+       pname = "timezone-olson";
+       version = "0.1.6";
+       sha256 = "0gg1fq85km5d48966a267q6z0wwl1dz88xq88v0l1jlkwd9jsb0z";
+       buildDepends = [
+         base binary bytestring extensible-exceptions time timezone-series
+       ];
+       homepage = "http://projects.haskell.org/time-ng/";
+       description = "A pure Haskell parser and renderer for binary Olson timezone files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timezone-series" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "timezone-series";
+       version = "0.1.4";
+       sha256 = "06p5v0dimhwmra100gwkhkz3ll492i2bvafw0qx2qzcxx4yxff40";
+       buildDepends = [ base time ];
+       homepage = "http://projects.haskell.org/time-ng/";
+       description = "Enhanced timezone handling for Data.Time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "timing-convenience" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "timing-convenience";
+       version = "0.1";
+       sha256 = "078p6gzzb7f9g68lm3q5806azhrs6li35ras9jnb9gs2r6i0w83j";
+       buildDepends = [ base time ];
+       description = "Convenient functions for getting times";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tinyMesh" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, hex, serialport
+     , unix
+     }:
+     mkDerivation {
+       pname = "tinyMesh";
+       version = "0.1.0.0";
+       sha256 = "19jpwnk7hmi0mg46nqhyiipz085dkakqwgh17lv9ccvvcirpclm3";
+       buildDepends = [ attoparsec base bytestring hex serialport unix ];
+       homepage = "http://github.com/mgajda/tinyMesh";
+       description = "TinyMesh - communicating with auto-meshing sensor network";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "tinylog" = callPackage
+    ({ mkDerivation, auto-update, base, bytestring, containers
+     , double-conversion, fast-logger, text, transformers, unix-time
+     }:
+     mkDerivation {
+       pname = "tinylog";
+       version = "0.12.1";
+       sha256 = "1hh70788d0rd35raybix383s6bb3mnibmmpdxwbqybv2dgmm4jq9";
+       buildDepends = [
+         auto-update base bytestring containers double-conversion
+         fast-logger text transformers unix-time
+       ];
+       homepage = "https://github.com/twittner/tinylog/";
+       description = "Simplistic logging using fast-logger";
+       license = "unknown";
+     }) {};
+
+  "titlecase" = callPackage
+    ({ mkDerivation, base, blaze-markup, semigroups, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "titlecase";
+       version = "0.1.0.0";
+       sha256 = "09zq7z3icziad12ssn663l32k6c5z31azzlhg789q635ab3dckn0";
+       buildDepends = [ base blaze-markup semigroups text ];
+       testDepends = [
+         base semigroups tasty tasty-hunit tasty-quickcheck text
+       ];
+       homepage = "https://github.com/nkaretnikov/titlecase";
+       description = "Convert English words to title case";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tkhs" = callPackage
+    ({ mkDerivation, base, HUnit, mtl, parsec, pretty, test-framework
+     , test-framework-hunit, utf8-string, vty
+     }:
+     mkDerivation {
+       pname = "tkhs";
+       version = "0.3.0";
+       sha256 = "1svsdjb1ac5mb9zcx3wqmxdjfmf99ph94v616scya5f7lqkjcfgp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base mtl parsec pretty utf8-string vty ];
+       testDepends = [ HUnit test-framework test-framework-hunit ];
+       homepage = "http://patch-tag.com/r/nonowarn/tkhs/snapshot/current/content/pretty/README";
+       description = "Simple Presentation Utility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tkyprof" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-conduit, base
+     , blaze-builder, bytestring, cmdargs, conduit, containers
+     , data-default, directory, filepath, hamlet, http-types, mtl
+     , resourcet, rosezipper, shakespeare-css, shakespeare-js, stm
+     , template-haskell, text, time, transformers, unordered-containers
+     , vector, wai, wai-extra, warp, web-routes, yesod, yesod-core
+     , yesod-form, yesod-static
+     }:
+     mkDerivation {
+       pname = "tkyprof";
+       version = "0.2.2";
+       sha256 = "0c3sdpjs22fqg5nkwig6smggf6snx1y5dg11y3s5cgm1ihy27h75";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec attoparsec-conduit base blaze-builder bytestring
+         cmdargs conduit containers data-default directory filepath hamlet
+         http-types mtl resourcet rosezipper shakespeare-css shakespeare-js
+         stm template-haskell text time transformers unordered-containers
+         vector wai wai-extra warp web-routes yesod yesod-core yesod-form
+         yesod-static
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/maoe/tkyprof";
+       description = "A web-based visualizer for GHC Profiling Reports";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tls" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, async, base, byteable
+     , bytestring, cereal, cipher-aes, cipher-des, cipher-rc4, cprng-aes
+     , crypto-cipher-types, crypto-numbers, crypto-pubkey
+     , crypto-pubkey-types, crypto-random, cryptohash
+     , data-default-class, hourglass, mtl, network, QuickCheck, tasty
+     , tasty-quickcheck, transformers, x509, x509-store, x509-validation
+     }:
+     mkDerivation {
+       pname = "tls";
+       version = "1.2.16";
+       sha256 = "0z5w8bj6acr7517y25dkqi3scjn08kzq2hjkhrc1rs6cafn8cl20";
+       buildDepends = [
+         asn1-encoding asn1-types async base byteable bytestring cereal
+         cipher-aes cipher-des cipher-rc4 crypto-cipher-types crypto-numbers
+         crypto-pubkey crypto-pubkey-types crypto-random cryptohash
+         data-default-class mtl network transformers x509 x509-store
+         x509-validation
+       ];
+       testDepends = [
+         base bytestring cereal cprng-aes crypto-pubkey crypto-random
+         data-default-class hourglass mtl QuickCheck tasty tasty-quickcheck
+         x509 x509-validation
+       ];
+       homepage = "http://github.com/vincenthz/hs-tls";
+       description = "TLS/SSL protocol native implementation (Server and Client)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tls-debug" = callPackage
+    ({ mkDerivation, base, bytestring, cprng-aes, crypto-pubkey
+     , data-default-class, network, pem, time, tls, x509, x509-system
+     , x509-validation
+     }:
+     mkDerivation {
+       pname = "tls-debug";
+       version = "0.3.4";
+       sha256 = "08bxcl0lf07fx3xfajd99090glvgnpn5s4826g2hirr75b9a5b93";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cprng-aes crypto-pubkey data-default-class network
+         pem time tls x509 x509-system x509-validation
+       ];
+       homepage = "http://github.com/vincenthz/hs-tls";
+       description = "Set of programs for TLS testing and debugging";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tls-extra" = callPackage
+    ({ mkDerivation, base, bytestring, certificate, cipher-aes
+     , cipher-rc4, crypto-pubkey, crypto-random, cryptohash, mtl
+     , network, pem, time, tls, vector
+     }:
+     mkDerivation {
+       pname = "tls-extra";
+       version = "0.6.6";
+       sha256 = "0k0sj3nq1lrvbmd582mjj8cxbxigivz1hm8hhij1ncl2pgnq5xyv";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring certificate cipher-aes cipher-rc4 crypto-pubkey
+         crypto-random cryptohash mtl network pem time tls vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/vincenthz/hs-tls";
+       description = "TLS extra default values and helpers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tmpl" = callPackage
+    ({ mkDerivation, base, bytestring, directory, template, text }:
+     mkDerivation {
+       pname = "tmpl";
+       version = "0.0.0.1";
+       sha256 = "101q4f51am8722b0b2d9hk84iqfg1z1shzrbikya63jpf3s6jrvg";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory template text ];
+       homepage = "https://www.github.com/michelk/tmpl";
+       description = "simple executable for templating";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "tn" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, process
+     , safe, text, time, yaml
+     }:
+     mkDerivation {
+       pname = "tn";
+       version = "1.0.2";
+       sha256 = "0rk7zqzwxc1sjar0n3k919snjpxw7an9vgxjh6b407mkzvz62n94";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers directory process safe text time yaml
+       ];
+       description = "A simple daily journal program";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "tnet" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, utf8-string }:
+     mkDerivation {
+       pname = "tnet";
+       version = "0.0.1";
+       sha256 = "1hxka8jfybq72isicvav81f4l9hjxhmzx4i4znkqbwzkarg2gsw9";
+       buildDepends = [ attoparsec base bytestring utf8-string ];
+       description = "Library for encoding/decoding TNET strings for PGI";
+       license = "unknown";
+     }) {};
+
+  "to-haskell" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts, transformers
+     }:
+     mkDerivation {
+       pname = "to-haskell";
+       version = "0.3.0";
+       sha256 = "0glf7m0r9gpab2pg1bq9qa37mrzpjwvqr3xsws6w53qqlcaw54qk";
+       buildDepends = [ base containers haskell-src-exts transformers ];
+       homepage = "https://github.com/conal/to-haskell";
+       description = "A type class and some utilities for generating Haskell code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "to-string-class" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "to-string-class";
+       version = "0.1.2";
+       sha256 = "0l2hj0cbc0dhd7m5bn6xqgzkdf2z4knirmv8c65hsjig9mpsvsxf";
+       buildDepends = [ base ];
+       description = "Converting string-like types to Strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "to-string-instances" = callPackage
+    ({ mkDerivation, to-string-class }:
+     mkDerivation {
+       pname = "to-string-instances";
+       version = "0.2";
+       sha256 = "1h5aq3shagzgh1j8sbslvi2rrkqv1djm595d522ci8hpj6h8vxl9";
+       buildDepends = [ to-string-class ];
+       description = "Instances for the ToString class";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "todos" = callPackage
+    ({ mkDerivation, ansi-terminal, base, base-unicode-symbols
+     , containers, data-hash, dates, directory, dyre, filepath, Glob
+     , mtl, parsec, process, regex-pcre, syb, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "todos";
+       version = "0.5.3.2";
+       sha256 = "1wgnxg9kndijm8faxsy48qznjzfcwqgjxgyff6x9c9h2fayvl719";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base base-unicode-symbols containers data-hash dates
+         directory dyre filepath Glob mtl parsec process regex-pcre syb time
+         utf8-string
+       ];
+       homepage = "http://gitorious.org/todos";
+       description = "Easy-to-use TODOs manager";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tofromxml" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, filepath
+     , hexpat, hexpat-pickle
+     }:
+     mkDerivation {
+       pname = "tofromxml";
+       version = "0.1.0.2";
+       sha256 = "0wqdxr6fijbdzq0767cvi7yf07q6dcv1anzmsv7ms2apcyag63qh";
+       buildDepends = [
+         array base bytestring containers hexpat hexpat-pickle
+       ];
+       testDepends = [
+         array base bytestring containers filepath hexpat hexpat-pickle
+       ];
+       description = "Reading and writing Haskell data from and to XML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "toilet" = callPackage
+    ({ mkDerivation, base, containers, old-locale, strict, time
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "toilet";
+       version = "0.0.1";
+       sha256 = "09j6h4rwb6i87223zhbzclns12iyrbdmv0kawd27any5r2hkz63x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers old-locale strict time transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/toilet/";
+       description = "Manage the toilet queue at the IMO";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "token-bucket" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "token-bucket";
+       version = "0.1.0.1";
+       sha256 = "1l3axqdkrjf28pxhrvdvlpf9wi79czsfvhi33w4v2wbj0g00j9ii";
+       buildDepends = [ base ];
+       testDepends = [ base time ];
+       homepage = "https://github.com/hvr/token-bucket";
+       description = "Rate limiter using lazy bucket algorithm";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "tokenize" = callPackage
+    ({ mkDerivation, base, split, text }:
+     mkDerivation {
+       pname = "tokenize";
+       version = "0.2.2";
+       sha256 = "0pf4bbvd02jp8blfhyjhygsjgisqp61kw9n42zgnw08bnnqshln3";
+       buildDepends = [ base split text ];
+       homepage = "https://bitbucket.org/gchrupala/lingo/overview";
+       description = "Simple tokenizer for English text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "toktok" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, filepath
+     , gf, haskell98, HUnit, iconv, progression, QuickCheck
+     }:
+     mkDerivation {
+       pname = "toktok";
+       version = "0.5";
+       sha256 = "0y4s68gnp4xw0x22w3kdcr5wnkqygv6ajwkhb8apphja268np98v";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers criterion filepath gf haskell98 HUnit
+         iconv progression QuickCheck
+       ];
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tokyocabinet-haskell" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, tokyocabinet }:
+     mkDerivation {
+       pname = "tokyocabinet-haskell";
+       version = "0.0.5";
+       sha256 = "1v6s39q8a6cnc0ggpspz9i0xw6aih4ixn9bhn4hwf9kwgcspardg";
+       buildDepends = [ base bytestring mtl ];
+       extraLibraries = [ tokyocabinet ];
+       homepage = "http://tom-lpsd.github.com/tokyocabinet-haskell/";
+       description = "Haskell binding of Tokyo Cabinet";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) tokyocabinet;};
+
+  "tokyotyrant-haskell" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, tokyocabinet, tokyotyrant
+     }:
+     mkDerivation {
+       pname = "tokyotyrant-haskell";
+       version = "1.0.1";
+       sha256 = "1xz8n3hgkhrdabwc8hsqj3yf5x112palzz192f6pkl07vi8yz1ph";
+       buildDepends = [ base bytestring mtl ];
+       extraLibraries = [ tokyocabinet tokyotyrant ];
+       homepage = "http://www.polarmobile.com/";
+       description = "FFI bindings to libtokyotyrant";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) tokyocabinet;  inherit (pkgs) tokyotyrant;};
+
+  "tomato-rubato-openal" = callPackage
+    ({ mkDerivation, base, OpenAL, stm, vector }:
+     mkDerivation {
+       pname = "tomato-rubato-openal";
+       version = "0.1.0.3";
+       sha256 = "0dk7s5fng3vybdqgqn9vqg7k6sjw4zgqld51i926lgqnixgpmw8z";
+       buildDepends = [ base OpenAL stm vector ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/tomato-rubato";
+       description = "Easy to use library for audio programming";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "toml" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , old-locale, time
+     }:
+     mkDerivation {
+       pname = "toml";
+       version = "0.1.3";
+       sha256 = "0wby1jas854niwyac95n39liqc874xcd1ahqpw6ksi2nhv2ld6f2";
+       buildDepends = [
+         attoparsec base bytestring containers old-locale time
+       ];
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "toolshed" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, deepseq, directory
+     , filepath, QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "toolshed";
+       version = "0.15.0.0";
+       sha256 = "19cam8s8fcfsip2cr7gcr43plvxy2zhbczlygd6p5rcax4295ikd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers deepseq directory filepath QuickCheck
+         random
+       ];
+       homepage = "http://functionalley.eu";
+       description = "Utilities used by other packages";
+       license = "GPL";
+     }) {};
+
+  "topkata" = callPackage
+    ({ mkDerivation, ALUT, array, base, filepath, GLUT, OpenAL, OpenGL
+     , random
+     }:
+     mkDerivation {
+       pname = "topkata";
+       version = "0.2.3";
+       sha256 = "19lm9i65ywh3a8hsrqnihq8gkfxmz81zznyqlqgcf1914w826i3a";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ALUT array base filepath GLUT OpenAL OpenGL random
+       ];
+       homepage = "http://home.arcor.de/chr_bauer/topkata.html";
+       description = "OpenGL Arcade Game";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "torch" = callPackage
+    ({ mkDerivation, base, mtl, parallel, QuickCheck }:
+     mkDerivation {
+       pname = "torch";
+       version = "0.1";
+       sha256 = "1bai1vxd2vfxl9zn37dvrb05yh4knr5gw5syqpi6lxxd3lf0ngzc";
+       buildDepends = [ base mtl parallel QuickCheck ];
+       homepage = "http://patch-tag.com/repo/torch/home";
+       description = "Simple unit test library (or framework)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "torrent" = callPackage
+    ({ mkDerivation, base, bencode, binary, bytestring, containers
+     , filepath, syb
+     }:
+     mkDerivation {
+       pname = "torrent";
+       version = "10000.0.0";
+       sha256 = "030ll4m80ljkvq72n1aa8a2ygqa56ykkndzy5g40vh9j9j5vq52r";
+       buildDepends = [
+         base bencode binary bytestring containers filepath syb
+       ];
+       description = "BitTorrent file parser and generater";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tostring" = callPackage
+    ({ mkDerivation, base, case-insensitive, text, utf8-string }:
+     mkDerivation {
+       pname = "tostring";
+       version = "0.2.1.1";
+       sha256 = "0c95a1vjnnn3bwdz8v5hv7q2sbzn23ban3hcwqmwhmzc9ba019zg";
+       buildDepends = [ base case-insensitive text utf8-string ];
+       description = "The ToString class";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "total" = callPackage
+    ({ mkDerivation, base, ghc-prim, void }:
+     mkDerivation {
+       pname = "total";
+       version = "1.0.2";
+       sha256 = "1di1iblxijdffczv3yni8bj1yjjc2258w7dxf8iwrd5n5h6574d4";
+       buildDepends = [ base ghc-prim void ];
+       description = "Exhaustive pattern matching using lenses, traversals, and prisms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "total-map" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "total-map";
+       version = "0.0.4";
+       sha256 = "1gjwviqhxm3zavmb9yd14rv66qhw9cf0r6n8mdg1lkmkqi1ycb98";
+       buildDepends = [ base containers ];
+       homepage = "http://github.com/conal/total-map/";
+       description = "Finitely represented /total/ maps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "total-maps" = callPackage
+    ({ mkDerivation, adjunctions, base, base-compat, bytes, containers
+     , distributive, keys, linear, reflection, semigroups, vector
+     }:
+     mkDerivation {
+       pname = "total-maps";
+       version = "1.0.0.2";
+       sha256 = "0i5xr0xnqazjk5j9lzhdcxlaarij1jwbfih4plfa3kpqygz5s6ps";
+       buildDepends = [
+         adjunctions base base-compat bytes containers distributive keys
+         linear reflection semigroups vector
+       ];
+       description = "Dense and sparse total maps";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "touched" = callPackage
+    ({ mkDerivation, base, cmdargs, directory, process, time }:
+     mkDerivation {
+       pname = "touched";
+       version = "0.2.0.1";
+       sha256 = "0lik2glqynjwcd64bdla2jsfy4yqqk4aap5f0c9zkqv9g916bxgi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs directory process time ];
+       description = "Library (and cli) to execute a procedure on file change";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "toysolver" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers
+     , data-default-class, data-interval, deepseq, exceptions
+     , extended-reals, filepath, finite-field, ghc-prim, hashable, heaps
+     , HUnit, intern, loop, mtl, multiset, old-locale, OptDir
+     , parse-dimacs, parsec, prettyclass, primes, process, queue
+     , QuickCheck, random, sign, stm, temporary, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, time, type-level-numbers, unbounded-delays
+     , unordered-containers, vector-space
+     }:
+     mkDerivation {
+       pname = "toysolver";
+       version = "0.2.0";
+       sha256 = "1lqm4b63cq6iq7f0s70ch6w0n03d2vdpb79ykdbgypvndwwfqy23";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers data-default-class data-interval
+         deepseq exceptions extended-reals filepath finite-field ghc-prim
+         hashable heaps intern loop mtl multiset old-locale OptDir
+         parse-dimacs parsec prettyclass primes process queue random sign
+         stm temporary time type-level-numbers unbounded-delays
+         unordered-containers vector-space
+       ];
+       testDepends = [
+         array base containers data-interval finite-field HUnit mtl OptDir
+         prettyclass QuickCheck stm test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th vector-space
+       ];
+       description = "Assorted decision procedures for SAT, Max-SAT, PB, MIP, etc";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tpdb" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath, hashable
+     , HaXml, hxt, mtl, parsec, pretty, time, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "tpdb";
+       version = "1.1.1";
+       sha256 = "1wsjf7ds8xnfx4q3cjv5vwspyrvyq73439w9v4v3qrmmj5qcm7p9";
+       buildDepends = [
+         base containers filepath hashable HaXml hxt mtl parsec time
+         wl-pprint-text
+       ];
+       testDepends = [
+         base bytestring containers hashable HaXml hxt parsec pretty time
+         wl-pprint-text
+       ];
+       homepage = "https://github.com/jwaldmann/haskell-tpdb";
+       description = "Data Type for Rewriting Systems";
+       license = "GPL";
+     }) {};
+
+  "trace" = callPackage
+    ({ mkDerivation, base, containers, deepseq, either, kan-extensions
+     , monad-control, mtl, profunctors, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "trace";
+       version = "0.1.0.5";
+       sha256 = "19l06mxw5n9r6mnygvgvrsrdkwyf2zxfjb0ky23v2bgrs5wjx4vc";
+       buildDepends = [
+         base containers deepseq either kan-extensions monad-control mtl
+         profunctors transformers transformers-base transformers-compat
+       ];
+       description = "A monad transformer for tracing provenience of errors";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "trace-call" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "trace-call";
+       version = "0.1";
+       sha256 = "1fiz1v9d4ck8na68cywha53vgbgdk6iqad1zv6pj3lq0pwvkx6aw";
+       buildDepends = [ base containers mtl ];
+       jailbreak = true;
+       description = "functions for logging the arguments and results of function calls";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "trace-function-call" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "trace-function-call";
+       version = "0.1";
+       sha256 = "0c5nsq9x59rmdkyvcrr1v94kjya48nhl9pnsad6xdmh77msf33xy";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "Easy lightweight tracing of function arguments and results for ad hoc debugging";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "traced" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty }:
+     mkDerivation {
+       pname = "traced";
+       version = "3000";
+       sha256 = "1pniabsbybhjvlq4dmys8sxc1r8rhalsahdr3hbvif287h610hi9";
+       buildDepends = [ base containers mtl pretty ];
+       description = "Simple evaluation trace";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tracer" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "tracer";
+       version = "0.1";
+       sha256 = "1rgnls2zry29zrnvxv700bljdf7iqkkyzayr4lan0qvhv1bcs5jm";
+       buildDepends = [ base mtl transformers ];
+       testDepends = [ base mtl transformers ];
+       homepage = "https://github.com/knz/hs-tracer";
+       description = "Tracing utilities for Functor/Applicative/Monad types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tracker" = callPackage
+    ({ mkDerivation, base, containers, glib }:
+     mkDerivation {
+       pname = "tracker";
+       version = "0.1";
+       sha256 = "1jkcwkkzg3hkvffg6y2vz2c8y0iypij4ngryc4bca9q3g4zvxzs2";
+       buildDepends = [ base containers glib ];
+       description = "Client library for Tracker metadata database, indexer and search tool";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "trajectory" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cmdargs
+     , containers, http-enumerator, http-types, regexpr, text
+     , unordered-containers, uri
+     }:
+     mkDerivation {
+       pname = "trajectory";
+       version = "0.1.0.0";
+       sha256 = "1n7vl903p5yg2xcyfxbxj45yd7ayd7p63fr9qfahlb0pgfl32s7h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring cmdargs containers http-enumerator
+         http-types regexpr text unordered-containers uri
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mike-burns/trajectory";
+       description = "Tools and a library for working with Trajectory";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "transactional-events" = callPackage
+    ({ mkDerivation, base, ListZipper, MonadPrompt, stm }:
+     mkDerivation {
+       pname = "transactional-events";
+       version = "0.1.0.0";
+       sha256 = "0jb3cf4bn007x3by70piwcvcb216kvav4xzrqr1k5v483jaj2zml";
+       buildDepends = [ base ListZipper MonadPrompt stm ];
+       description = "Transactional events, based on Concurrent ML semantics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "transf" = callPackage
+    ({ mkDerivation, async, base, containers, data-default, filepath
+     , hashable, hint, monadplus, mtl, process, semigroups
+     }:
+     mkDerivation {
+       pname = "transf";
+       version = "0.13.1";
+       sha256 = "1p9nrs7a96n53cmmrv107kvwjm27gj45m9b4vj23dsvk5lsx7wil";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base containers data-default filepath hashable hint monadplus
+         mtl process semigroups
+       ];
+       description = "Text transformer and interpreter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "transformations" = callPackage
+    ({ mkDerivation, base, containers, criterion, mtl, multirec, parsec
+     , QuickCheck, regular, template-haskell
+     }:
+     mkDerivation {
+       pname = "transformations";
+       version = "0.2.0.0";
+       sha256 = "0nmzsd8q01ixfgqfgymbjwa5c8msq7chi16n4dwdf8x68mah7lam";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers criterion mtl multirec parsec QuickCheck regular
+         template-haskell
+       ];
+       description = "Generic representation of tree transformations";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "transformers_0_4_3_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "transformers";
+       version = "0.4.3.0";
+       sha256 = "179sbhvc9dghyw58hz80109pbrzgh7vh437227a51jhmx2bsgl5k";
+       buildDepends = [ base ];
+       description = "Concrete functor and monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "transformers-abort" = callPackage
+    ({ mkDerivation, base, data-default-class, monad-control, pointed
+     , semigroupoids, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "transformers-abort";
+       version = "0.5.0.1";
+       sha256 = "0s0vvjii3h7vw8kg3xf1ig6fkxdw7z69czwdyg6nvsrcc9kbs9gm";
+       buildDepends = [
+         base data-default-class monad-control pointed semigroupoids
+         transformers transformers-base
+       ];
+       homepage = "https://github.com/mvv/transformers-abort";
+       description = "A better error monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "transformers-base" = callPackage
+    ({ mkDerivation, base, stm, transformers, transformers-compat }:
+     mkDerivation {
+       pname = "transformers-base";
+       version = "0.4.4";
+       sha256 = "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va";
+       buildDepends = [ base 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;
+     }) {};
+
+  "transformers-compat" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "transformers-compat";
+       version = "0.4.0.4";
+       sha256 = "0lmg8ry6bgigb0v2lg0n74lxi8z5m85qq0qi4h1k9llyjb4in8ym";
+       buildDepends = [ base mtl transformers ];
+       configureFlags = [ "-fthree" ];
+       homepage = "http://github.com/ekmett/transformers-compat/";
+       description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "transformers-compose" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "transformers-compose";
+       version = "0.1";
+       sha256 = "0kvhl5s1js6i639hc6c4ib9jmgy4l1503ifs30a9ajrk97nagp6d";
+       buildDepends = [ base transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/aristidb/transformers-compose";
+       description = "Arrow-like / category-like composition for transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "transformers-convert" = callPackage
+    ({ mkDerivation, base, data-easy, directory, either, errors
+     , haskell-src-exts, hlint, hspec, HUnit, QuickCheck, text
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "transformers-convert";
+       version = "0.2.0.0";
+       sha256 = "0nx99jygbg5jlvb1sbgb9kz84af9861nkjdcshvfhlq8w069z737";
+       buildDepends = [ base data-easy either transformers ];
+       testDepends = [
+         base data-easy directory either errors haskell-src-exts hlint hspec
+         HUnit QuickCheck text transformers unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jcristovao/transformers-convert";
+       description = "Sensible conversions between some of the monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "transformers-free" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "transformers-free";
+       version = "1.0.1";
+       sha256 = "0fbzkr7ifvqng8wqi3332vwvmx36f8z167angyskfdd0a5rik2z0";
+       buildDepends = [ base transformers ];
+       description = "Free monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "transformers-runnable" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "transformers-runnable";
+       version = "0.1.0.0";
+       sha256 = "0m1vvdfi661mmxm5rghsfnwcjd2r0r7ryc3jk0nwlzs0kaw5xi1s";
+       buildDepends = [ base transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/JanBessai/transformers-runnable";
+       description = "A unified interface for the run operation of monad transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "transformers-supply" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "transformers-supply";
+       version = "0.1.0";
+       sha256 = "09f9n3cxi3sjmd8yscvcyahvdsqa5db5bckj9ryaflswsdm0ximq";
+       buildDepends = [ base mtl transformers ];
+       description = "Supply applicative, monad, applicative transformer and monad transformer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "translatable-intset" = callPackage
+    ({ mkDerivation, base, fingertree }:
+     mkDerivation {
+       pname = "translatable-intset";
+       version = "0.1";
+       sha256 = "0pv81l5q46a4f2dxps7fdzvmnphydgw7xz3xsi5cjad2kw0dsmkm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base fingertree ];
+       jailbreak = true;
+       description = "Integer sets with a constant time translate operation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "translate" = callPackage
+    ({ mkDerivation, base, curl, json, network, utf8-string }:
+     mkDerivation {
+       pname = "translate";
+       version = "2010.1.24";
+       sha256 = "0vcqw0x7c9nb8yigvk35x72rds50kvma02rwkb757y1sk80q0mzf";
+       buildDepends = [ base curl json network utf8-string ];
+       homepage = "http://github.com/nfjinjing/translate";
+       description = "Haskell binding to Google's AJAX Language API for Translation and Detection";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "traverse-with-class" = callPackage
+    ({ mkDerivation, base, template-haskell, transformers }:
+     mkDerivation {
+       pname = "traverse-with-class";
+       version = "0.2.0.3";
+       sha256 = "0snms19w3n9ni1wmf4ikwpp298nc6qk6phrjxi5g023ihqqdvr6g";
+       buildDepends = [ base template-haskell transformers ];
+       description = "Generic applicative traversals";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "traypoweroff" = callPackage
+    ({ mkDerivation, base, gtk, process }:
+     mkDerivation {
+       pname = "traypoweroff";
+       version = "1.0.0";
+       sha256 = "0g7x1jj3x58jgbg6zcakyakc5jskcas03jakj7v5pfwdmk8kbc4m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gtk process ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/traypoweroff";
+       description = "Tray Icon application to PowerOff / Reboot computer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tree-monad" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "tree-monad";
+       version = "0.3";
+       sha256 = "1zs1qgp908d0y7dm9mhzwl529z2aw24zr8balsvn1lzl1aynzslm";
+       buildDepends = [ base ];
+       homepage = "http://sebfisch.github.com/tree-monad";
+       description = "Non-Determinism Monad for Tree Search";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tree-view" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "tree-view";
+       version = "0.4";
+       sha256 = "0mzywp6nipc6zs98dy4ny2s3r9d745lqpjazfnj5y4hx8swyckgn";
+       buildDepends = [ base containers mtl ];
+       description = "Render trees as foldable HTML and Unicode art";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "treemap-html" = callPackage
+    ({ mkDerivation, base, Cabal, containers, filepath, ghc, html
+     , parsec, regex-posix
+     }:
+     mkDerivation {
+       pname = "treemap-html";
+       version = "0.1";
+       sha256 = "0jqjwg3z528z4wchpmi208lazd1nazqdai327lwxvznzjcq1m385";
+       buildDepends = [
+         base Cabal containers filepath ghc html parsec regex-posix
+       ];
+       jailbreak = true;
+       homepage = "http://rampa.sk/static/treemap-html.html";
+       description = "Generates HTML for Data.Tree as TreeMap";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "treemap-html-tools" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, ghc
+     , parsec, regex-posix, split, treemap-html, xml
+     }:
+     mkDerivation {
+       pname = "treemap-html-tools";
+       version = "0.2";
+       sha256 = "0a7im8v118plxpi9dcgr1jhdlgj4f2a015dngyzfxqi7ij3cy6bf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal containers directory filepath ghc parsec regex-posix
+         split treemap-html xml
+       ];
+       jailbreak = true;
+       homepage = "http://rampa.sk/static/treemap-html.html";
+       description = "Treemap related commands for producing foldable TreeMap HTML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "treeviz" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, random }:
+     mkDerivation {
+       pname = "treeviz";
+       version = "1.0.0";
+       sha256 = "0nz93fn5k5fc9748h60a12j9gsl4ldm11a8y431mrm45jf8hnzq2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers mtl QuickCheck random ];
+       testDepends = [ base containers mtl QuickCheck random ];
+       homepage = "http://www.haskell.org/haskellwiki/Treeviz";
+       description = "Visualization of computation decomposition trees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tremulous-query" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
+     , mtl, network
+     }:
+     mkDerivation {
+       pname = "tremulous-query";
+       version = "1.0.7";
+       sha256 = "0vf6fh0p9ng2f0qqac8bqp259hfmv0bg146idm2pv668l1pkr7bx";
+       buildDepends = [
+         attoparsec base bytestring containers deepseq mtl network
+       ];
+       description = "Library for polling Tremulous servers";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "trhsx" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "trhsx";
+       version = "0.2.2";
+       sha256 = "11jx2jf6vi7368ys39mz0ziy6xknbi0z87926n2y16am6k2h25k3";
+       description = "Deprecated";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "triangulation" = callPackage
+    ({ mkDerivation, array, base, collada-types, haskell98, tuple
+     , vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "triangulation";
+       version = "0.3";
+       sha256 = "0lx9y54n6p3xf3z6dzw0b2p87hwb1rrcgzilnl51fwvcs1m0fgdf";
+       buildDepends = [
+         array base collada-types haskell98 tuple vector vector-algorithms
+       ];
+       homepage = "http://www.dinkla.net/";
+       description = "triangulation of polygons";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "trifecta" = callPackage
+    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, array, base
+     , blaze-builder, blaze-html, blaze-markup, bytestring, charset
+     , comonad, containers, deepseq, directory, doctest, filepath
+     , fingertree, ghc-prim, hashable, lens, mtl, parsers, QuickCheck
+     , reducers, semigroups, transformers, unordered-containers
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "trifecta";
+       version = "1.5.1.3";
+       revision = "1";
+       sha256 = "1yd55bfhdn8ckkf2c5084fsnfwhib229xw9bn2a4lwpkzbbpflxw";
+       editedCabalFile = "4aef1e889929b131bcfbc3b111cc865b1c31f86be983aee768adbfeadee03f2a";
+       buildDepends = [
+         ansi-terminal ansi-wl-pprint array base blaze-builder blaze-html
+         blaze-markup bytestring charset comonad containers deepseq
+         fingertree ghc-prim hashable lens mtl parsers reducers semigroups
+         transformers unordered-containers utf8-string
+       ];
+       testDepends = [
+         base directory doctest filepath parsers QuickCheck
+       ];
+       homepage = "http://github.com/ekmett/trifecta/";
+       description = "A modern parser combinator library with convenient diagnostics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "trimpolya" = callPackage
+    ({ mkDerivation, base, bio, bytestring, simpleargs }:
+     mkDerivation {
+       pname = "trimpolya";
+       version = "0";
+       sha256 = "1y559q5p0pzlr468224c6m5859z72gg0sk2vrgl82ilwkjn08i9i";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bio bytestring simpleargs ];
+       jailbreak = true;
+       description = "Search for, annotate and trim poly-A tail";
+       license = "GPL";
+     }) {};
+
+  "trivia" = callPackage
+    ({ mkDerivation, base, comonad, distributive }:
+     mkDerivation {
+       pname = "trivia";
+       version = "0.0";
+       sha256 = "03xmzjqwk6492jmmbq6066ymsxb0wk0pmyf0c5f018nfps0g3i78";
+       buildDepends = [ base comonad distributive ];
+       homepage = "https://github.com/fumieval/trivia";
+       description = "The trivial monad and comonad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "trivial-constraint" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "trivial-constraint";
+       version = "0.3.0.0";
+       revision = "1";
+       sha256 = "0fl72wai6yj5wflhx3cbvi3ixcfrc73217skncyb9b1ai7vg3x3y";
+       editedCabalFile = "c2fb0af78c16b340f5dfeb5bf5935250a7f70b72b9b5c07416aee2c8b9138b4b";
+       buildDepends = [ base ];
+       homepage = "https://github.com/leftaroundabout/trivial-constraint";
+       description = "Constraints that any type, resp. no type fulfills";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "tropical" = callPackage
+    ({ mkDerivation, base, semiring-simple }:
+     mkDerivation {
+       pname = "tropical";
+       version = "0.0.0.2";
+       sha256 = "1in9jjfzbqws4bk83082yra2gcb5b095948qyji63ckbz3igp0k2";
+       buildDepends = [ base semiring-simple ];
+       description = "A library for tropical mathematics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "true-name" = callPackage
+    ({ mkDerivation, base, containers, template-haskell, time }:
+     mkDerivation {
+       pname = "true-name";
+       version = "0.0.0.1";
+       sha256 = "1qp70i08hf7w90zyc4kz9hnyx8qaf925sy8x01r1z3dbxd473dgm";
+       buildDepends = [ base template-haskell ];
+       testDepends = [ base containers template-haskell time ];
+       homepage = "https://github.com/liyang/true-name";
+       description = "Template Haskell hack to violate another module's abstractions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "truelevel" = callPackage
+    ({ mkDerivation, base, containers, parseargs, WAVE }:
+     mkDerivation {
+       pname = "truelevel";
+       version = "0.1.3.1";
+       sha256 = "0q5civsnjwwhdkb16h8jak7prkfwvhds1p3xzzhwqk2p8dxf6jij";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers parseargs WAVE ];
+       homepage = "http://github.com/BartMassey/truelevel";
+       description = "Audio file compressor-limiter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tsession" = callPackage
+    ({ mkDerivation, base, containers, mtl, time, transformers }:
+     mkDerivation {
+       pname = "tsession";
+       version = "0.1";
+       revision = "2";
+       sha256 = "1rj11vyd272h66cjx8pq6smcpi65n3vlfv4g7indcnpcz4w5l6rk";
+       editedCabalFile = "afd89984a633388a2db5ad107968c92693527eb6f746318c4752993633705e57";
+       buildDepends = [ base containers mtl time transformers ];
+       description = "A Transaction Framework for Web Applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tsession-happstack" = callPackage
+    ({ mkDerivation, base, happstack-server, transformers, tsession }:
+     mkDerivation {
+       pname = "tsession-happstack";
+       version = "0.1";
+       sha256 = "1sv62iqrlvzx95g6nd307y8zknp2h3ir06zc6qw4y221wz21rfyz";
+       buildDepends = [ base happstack-server transformers tsession ];
+       description = "A Transaction Framework for Happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tskiplist" = callPackage
+    ({ mkDerivation, array, base, containers, random, stm }:
+     mkDerivation {
+       pname = "tskiplist";
+       version = "1.0.0";
+       sha256 = "0bayh8fl3wb98mifdiss8crb17jfqxxj0f1va5c2h4l7qwizh85a";
+       buildDepends = [ array base containers random stm ];
+       homepage = "https://github.com/thaldyron/tskiplist";
+       description = "A Skip List Implementation in Software Transactional Memory (STM)";
+       license = "LGPL";
+     }) {};
+
+  "tsp-viz" = callPackage
+    ({ mkDerivation, base, gloss, stm, vector }:
+     mkDerivation {
+       pname = "tsp-viz";
+       version = "0.1.0.0";
+       sha256 = "0wrnpmvds2amm85a5j1c1nqffy6vj4y6xq21w5ia1051wrxzrbjk";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gloss stm vector ];
+       jailbreak = true;
+       homepage = "https://github.com/davnils/tsp-viz";
+       description = "Real time TSP tour visualization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tsparse" = callPackage
+    ({ mkDerivation, base, Decimal, parsec, pretty, process, random
+     , split, time
+     }:
+     mkDerivation {
+       pname = "tsparse";
+       version = "0.4.0.0";
+       sha256 = "0s5vlpvi1w6q2zxv586plvhs9p6rlc7653x7jzygfir70754n6si";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Decimal parsec pretty process random split time
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/massysett/tsparse";
+       description = "Parses U.S. federal Thrift Savings Plan PDF quarterly statements";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tst" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "tst";
+       version = "0.1.1";
+       sha256 = "1vr1l4pm02pwr8238qd9j0drkildns8m79qyq0lbzll30gc12vhx";
+       buildDepends = [ base ];
+       homepage = "https://github.com/bitonic/language-spelling";
+       description = "BK-tree implementation";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "ttrie" = callPackage
+    ({ mkDerivation, atomic-primops, base, hashable, primitive, stm }:
+     mkDerivation {
+       pname = "ttrie";
+       version = "0.1.0.0";
+       sha256 = "1lyz2hyi52fc0w1pix15g5h88y9x66wfw65k8bm4zc79irfv969h";
+       buildDepends = [ atomic-primops base hashable primitive stm ];
+       jailbreak = true;
+       homepage = "http://github.com/mcschroeder/ttrie";
+       description = "Contention-free STM hash map";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tttool" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, containers
+     , directory, filepath, ghc-prim, hashable, JuicyPixels, mtl
+     , old-locale, parsec, process, template-haskell, text, time
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "tttool";
+       version = "1.3";
+       sha256 = "03wb7ra4zk6x40z2h2i8rdlf53abd9lnj67c2438y2vk70ljmlny";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring containers directory filepath ghc-prim
+         hashable JuicyPixels mtl old-locale parsec process template-haskell
+         text time unordered-containers vector yaml
+       ];
+       homepage = "https://github.com/entropia/tip-toi-reveng";
+       description = "Working with files for the Tiptoi® pen";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tuntap" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "tuntap";
+       version = "0.0.2";
+       sha256 = "0q6g2wcjddb9r1l9fxpn2qcssw5gyfwsam15rc3q6xjqbwz7fm41";
+       buildDepends = [ base bytestring unix ];
+       jailbreak = true;
+       description = "Interface to TUN/TAP drivers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tup-functor" = callPackage
+    ({ mkDerivation, base, cpphs, haskell-src-exts, parsec2 }:
+     mkDerivation {
+       pname = "tup-functor";
+       version = "0.3.0.0";
+       sha256 = "1kj68g5g9m46dpncbrisl19gah8pzac33iyr09ym1pqk3x6jh9ix";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cpphs haskell-src-exts parsec2 ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Homogeneous tuples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tuple" = callPackage
+    ({ mkDerivation, base, OneTuple }:
+     mkDerivation {
+       pname = "tuple";
+       version = "0.3.0.2";
+       sha256 = "094nx29aahyrvbcn7yca9zs2a5rxz1is7510w1q43rpvza7hdjrg";
+       buildDepends = [ base OneTuple ];
+       description = "Various functions on tuples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tuple-gen" = callPackage
+    ({ mkDerivation, base, combinat }:
+     mkDerivation {
+       pname = "tuple-gen";
+       version = "2.0";
+       sha256 = "0bgwsxq8wrh76hhbwadv0rag4c7dx3644zrh2aflnsych0rncvd7";
+       buildDepends = [ base combinat ];
+       jailbreak = true;
+       description = "Enum instances for tuples where the digits increase with the same speed";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tuple-hlist" = callPackage
+    ({ mkDerivation, base, HList, OneTuple }:
+     mkDerivation {
+       pname = "tuple-hlist";
+       version = "0.2.0.0";
+       sha256 = "0z1mmm6gnhv3c4hn60v1yasvr9j5rakvyma4c535s51hk5s7g7bl";
+       buildDepends = [ base HList OneTuple ];
+       homepage = "http://github.com/dudebout/tuple-hlist";
+       description = "Functions to convert between tuples and HLists";
+       license = "unknown";
+     }) {};
+
+  "tuple-lenses" = callPackage
+    ({ mkDerivation, base, lens, template-haskell }:
+     mkDerivation {
+       pname = "tuple-lenses";
+       version = "0.1.0.2";
+       sha256 = "1qq1sla89410wr9pnkmj100izkraad1gr163815p3dvh7qi04c7w";
+       buildDepends = [ base lens template-haskell ];
+       jailbreak = true;
+       homepage = "http://github.com/jfischoff/tuple-lenses";
+       description = "Stock FieldN combos and generators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tuple-morph" = callPackage
+    ({ mkDerivation, base, HList, template-haskell }:
+     mkDerivation {
+       pname = "tuple-morph";
+       version = "0.1.0.0";
+       revision = "4";
+       sha256 = "1zi6nh1z7z2jz5h0pvdm2czfy1rx7ixnnvp9akcpas19npgyfk94";
+       editedCabalFile = "835c4661ff3b962ec5fa6f1899c6cb0d241362f06636478935fd5475c684eada";
+       buildDepends = [ base HList template-haskell ];
+       description = "Morph between tuples, or convert them from and to HLists";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "tuple-th" = callPackage
+    ({ mkDerivation, base, containers, template-haskell }:
+     mkDerivation {
+       pname = "tuple-th";
+       version = "0.2.4";
+       sha256 = "1bhdg1yld8rbkc46fg04l32sk0pxwmbpvp9fmdp2b3snrg8hkvkn";
+       buildDepends = [ base containers template-haskell ];
+       description = "Generate (non-recursive) utility functions for tuples of statically known size";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tupleinstances" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "tupleinstances";
+       version = "0.0.1";
+       sha256 = "0kcmcg1fxsslpzpg766r9hr8aysg0s5fyang2xc0aa77zi71qyi3";
+       buildDepends = [ base template-haskell ];
+       jailbreak = true;
+       homepage = "http://github.com/diegoeche/tupleinstances";
+       description = "Functor, Applicative and Monad for n-ary tuples";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tuples-homogenous-h98" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "tuples-homogenous-h98";
+       version = "0.1.1.0";
+       sha256 = "0fhz246wh6x0s0sjkmd3qcylsx2gfrmgmvgb7js2zjg91y7zqnh2";
+       buildDepends = [ base ];
+       homepage = "https://github.com/ppetr/tuples-homogenous-h98";
+       description = "Wrappers for n-ary tuples with Traversable and Applicative/Monad instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "turing-music" = callPackage
+    ({ mkDerivation, ALUT, base }:
+     mkDerivation {
+       pname = "turing-music";
+       version = "0.1.1";
+       sha256 = "163fggvjixs6m2rwc3gd3s9703r2mnz3bknii1aagwzvw5kczky3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ ALUT base ];
+       description = "Plays music generated by Turing machines with 5 states and 2 symbols";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "turni" = callPackage
+    ({ mkDerivation, base, containers, MonadRandom, random }:
+     mkDerivation {
+       pname = "turni";
+       version = "2011.1.15";
+       sha256 = "0152xhvm0x1ncjdib0bckhywgpzm4f1qj1ghs0jn84cz562ddwnl";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base containers MonadRandom random ];
+       homepage = "http://wiki.github.com/paolino/turni";
+       description = "shifts scheduling tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "turtle" = callPackage
+    ({ mkDerivation, async, base, clock, directory, doctest, foldl
+     , managed, process, system-fileio, system-filepath, temporary, text
+     , time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "turtle";
+       version = "1.1.0";
+       sha256 = "0qpw366hyvprgcmxr83in2ay07f7br7bff2zqw9pnm7lkmkxrlkw";
+       buildDepends = [
+         async base clock directory foldl managed process system-fileio
+         system-filepath temporary text time transformers unix
+       ];
+       testDepends = [ base doctest ];
+       description = "Shell programming, Haskell-style";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "tweak" = callPackage
+    ({ mkDerivation, base, containers, lens, stm, transformers }:
+     mkDerivation {
+       pname = "tweak";
+       version = "0.1.0.1";
+       sha256 = "1l5y94gac9s55wgn6w610pqb63c8l20vmlpsnmgbzw1f9vbnzgiw";
+       buildDepends = [ base containers lens stm transformers ];
+       jailbreak = true;
+       homepage = "http://github.com/jfischoff/tweak";
+       description = "A library for incremental computing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twentefp" = callPackage
+    ({ mkDerivation, base, gloss, parsec, time }:
+     mkDerivation {
+       pname = "twentefp";
+       version = "0.4.2";
+       sha256 = "1kmf907i6g6lfhw8g403b6701srrd298n4r53dvcqzy72c5qaixl";
+       buildDepends = [ base gloss parsec time ];
+       description = "Lab Assignments Environment at Univeriteit Twente";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twentefp-eventloop-graphics" = callPackage
+    ({ mkDerivation, base, network, text, twentefp-number
+     , twentefp-websockets
+     }:
+     mkDerivation {
+       pname = "twentefp-eventloop-graphics";
+       version = "0.1.0.4";
+       revision = "1";
+       sha256 = "086vx0849c7kmsz5pa4jwzp24cwaf4482bq37dr7jrqx22hvk4lm";
+       editedCabalFile = "2a887ef5e938d11f5944ea59ced4cf4bd22930b452f6e6b884f58031761cf817";
+       buildDepends = [
+         base network text twentefp-number twentefp-websockets
+       ];
+       jailbreak = true;
+       description = "Used as Lab Assignments Environment at the University of Twente";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twentefp-graphs" = callPackage
+    ({ mkDerivation, base, twentefp-eventloop-graphics }:
+     mkDerivation {
+       pname = "twentefp-graphs";
+       version = "0.1.0.3";
+       sha256 = "1ran49yvbylf14hbr3ffmbxpkjwva785hgyvnmwzp2v2hwz1343m";
+       buildDepends = [ base twentefp-eventloop-graphics ];
+       description = "Lab Assignments Environment at Univeriteit Twente";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twentefp-number" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "twentefp-number";
+       version = "0.1.0.2";
+       sha256 = "1kh0a6h4syx98ygwidw6cc24ci91v1blshpfcczx96z850x1h6xf";
+       buildDepends = [ base parsec ];
+       description = "Lab Assignments Environment at Univeriteit Twente";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twentefp-rosetree" = callPackage
+    ({ mkDerivation, base, twentefp-eventloop-graphics, twentefp-number
+     }:
+     mkDerivation {
+       pname = "twentefp-rosetree";
+       version = "0.1.0.1";
+       sha256 = "1dy4hmwciaglz2kfdk9fxf6hik7pgr4a4xj9y9l7s7p4k35r5bd7";
+       buildDepends = [
+         base twentefp-eventloop-graphics twentefp-number
+       ];
+       jailbreak = true;
+       description = "RoseTree type and show functions for lab assignment of University of Twente";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twentefp-trees" = callPackage
+    ({ mkDerivation, base, twentefp-eventloop-graphics }:
+     mkDerivation {
+       pname = "twentefp-trees";
+       version = "0.1.0.2";
+       sha256 = "0mmj96xbqjzm4cylk39pib9jfwh6m350q1cwf6ij8pl0swab3b0g";
+       buildDepends = [ base twentefp-eventloop-graphics ];
+       description = "Tree type and show functions for lab assignment of University of Twente. Contains RoseTree and ParseTree";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twentefp-websockets" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary
+     , blaze-builder, bytestring, case-insensitive, concurrent-extra
+     , containers, entropy, io-streams, mtl, network, random, SHA, text
+     }:
+     mkDerivation {
+       pname = "twentefp-websockets";
+       version = "0.1.0.1";
+       sha256 = "08227phlyvvg01n7zqyivx2f3dpfbipxaajqz4fc07zhkpmxy8h4";
+       buildDepends = [
+         attoparsec base base64-bytestring binary blaze-builder bytestring
+         case-insensitive concurrent-extra containers entropy io-streams mtl
+         network random SHA text
+       ];
+       jailbreak = true;
+       description = "A fork of the popular websockets package. It is used for the practical assignments of the University of Twente. A sensible and clean way to write WebSocket-capable servers in Haskell.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twhs" = callPackage
+    ({ mkDerivation, ansi-terminal, authenticate-oauth, base
+     , bytestring, case-insensitive, conduit, containers, data-default
+     , hspec, http-conduit, lens, monad-control, monad-logger, network
+     , QuickCheck, resourcet, text, transformers, transformers-base
+     , twitter-conduit
+     }:
+     mkDerivation {
+       pname = "twhs";
+       version = "0.1.0.3";
+       sha256 = "0d06bv26lvr4va431h2146v88bqcxvfr0wp36f7l4a6xqgghf2l1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal authenticate-oauth base bytestring case-insensitive
+         conduit containers data-default http-conduit lens monad-control
+         monad-logger network resourcet text transformers transformers-base
+         twitter-conduit
+       ];
+       testDepends = [ base hspec QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/suzuki-shin/twhs";
+       description = "CLI twitter client";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twidge" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, ConfigFile, curl
+     , directory, hoauth, HSH, hslogger, MissingH, mtl, network
+     , old-locale, parsec, regex-posix, text, time, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "twidge";
+       version = "1.1.2";
+       sha256 = "162n5w4z3a1qyasd39q7751z872v31njzyhrnjfjxhsni3kif8b1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring ConfigFile curl directory hoauth HSH
+         hslogger MissingH mtl network old-locale parsec regex-posix text
+         time unix utf8-string
+       ];
+       jailbreak = true;
+       homepage = "http://software.complete.org/twidge";
+       description = "Unix Command-Line Twitter and Identica Client";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twilight-stm" = callPackage
+    ({ mkDerivation, base, containers, haskell98, mtl }:
+     mkDerivation {
+       pname = "twilight-stm";
+       version = "1.2";
+       sha256 = "1hp9mkfasjyh1ji6gfmdpmx3nm9g22ag3y47nva7i30bjrs65cdr";
+       buildDepends = [ base containers haskell98 mtl ];
+       homepage = "http://proglang.informatik.uni-freiburg.de/projects/twilight/";
+       description = "STM library with safe irrevocable I/O and inconsistency repair";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twilio" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
+     , containers, errors, exceptions, free, http-client
+     , http-client-tls, http-types, mtl, network-uri, old-locale, text
+     , time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "twilio";
+       version = "0.1.1.0";
+       sha256 = "0pzdmsr8ncbpqs42g0n1rbjprg70yfqrxlp8fn719s7gg37qaz78";
+       buildDepends = [
+         aeson base bifunctors bytestring containers errors exceptions free
+         http-client http-client-tls http-types mtl network-uri old-locale
+         text time transformers unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring Cabal http-client http-client-tls text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/markandrus/twilio-haskell";
+       description = "Twilio REST API library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twill" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, bytestring, cryptohash, data-default, datetime
+     , errors, old-locale, QuickCheck, text, time
+     }:
+     mkDerivation {
+       pname = "twill";
+       version = "0.1.0.3";
+       sha256 = "0wkcxjfpd5fz72hwg8spxjqk8b6axm51zppld00q9f3dzagsbwx6";
+       buildDepends = [
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bytestring cryptohash data-default datetime errors old-locale
+         QuickCheck text time
+       ];
+       jailbreak = true;
+       description = "Twilio API interaction";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twiml" = callPackage
+    ({ mkDerivation, base, Cabal, lens, network, xml }:
+     mkDerivation {
+       pname = "twiml";
+       version = "0.1.0.0";
+       sha256 = "0ipc8i1hbsjdz6rp7ks25w0zbrcv4byp0791aw9rrdpyqzdir0zx";
+       buildDepends = [ base network xml ];
+       testDepends = [ base Cabal lens ];
+       jailbreak = true;
+       homepage = "https://github.com/markandrus/twiml-haskell";
+       description = "TwiML library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twine" = callPackage
+    ({ mkDerivation, base, bytestring, containers, convertible
+     , filepath, mtl, parsec
+     }:
+     mkDerivation {
+       pname = "twine";
+       version = "0.1.2";
+       sha256 = "0q4dsh6x1w1indsx070rqayvjlzdk2nznvh0cjxd5f3jn5ggwwb1";
+       buildDepends = [
+         base bytestring containers convertible filepath mtl parsec
+       ];
+       homepage = "http://twine.james-sanders.com";
+       description = "very simple template language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twisty" = callPackage
+    ({ mkDerivation, array, base, containers, data-memocombinators
+     , MonadRandom, parallel
+     }:
+     mkDerivation {
+       pname = "twisty";
+       version = "0.1.0";
+       sha256 = "02w8763m6gm9wj035s62ydg63iv7wa2cbjq2g1jd283vf2djsjyj";
+       buildDepends = [
+         array base containers data-memocombinators MonadRandom parallel
+       ];
+       jailbreak = true;
+       description = "Simulator of twisty puzzles à la Rubik's Cube";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twitch" = callPackage
+    ({ mkDerivation, base, data-default, directory, fsnotify, Glob
+     , hspec, optparse-applicative, QuickCheck, system-fileio
+     , system-filepath, time, transformers
+     }:
+     mkDerivation {
+       pname = "twitch";
+       version = "0.1.6.1";
+       sha256 = "0hvwcnkjma3ib00qa7ymiyrvspa7ixxp0w3wgs9zjrs49j36dmak";
+       buildDepends = [
+         base data-default directory fsnotify Glob optparse-applicative
+         system-fileio system-filepath time transformers
+       ];
+       testDepends = [
+         base data-default directory fsnotify Glob hspec
+         optparse-applicative QuickCheck system-fileio system-filepath time
+         transformers
+       ];
+       homepage = "https://github.com/jfischoff/twitch";
+       description = "A high level file watcher DSL";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twitter" = callPackage
+    ({ mkDerivation, base, curl, directory, filepath, json, mtl
+     , old-locale, readline, time, xml
+     }:
+     mkDerivation {
+       pname = "twitter";
+       version = "0.1.1";
+       sha256 = "12q5w9wfnrzh2gjmq66qhwy6i6wixfb805jg2cbphxrjjnc2v9gx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base curl directory filepath json mtl old-locale readline time xml
+       ];
+       description = "A Haskell-based CLI Twitter client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "twitter-conduit" = callPackage
+    ({ mkDerivation, aeson, attoparsec, authenticate-oauth, base
+     , bytestring, case-insensitive, conduit, conduit-extra, containers
+     , data-default, directory, doctest, filepath, hlint, hspec
+     , http-client, http-conduit, http-types, lens, lens-aeson
+     , monad-control, network-uri, resourcet, template-haskell, text
+     , time, transformers, transformers-base, twitter-types
+     , twitter-types-lens
+     }:
+     mkDerivation {
+       pname = "twitter-conduit";
+       version = "0.1.0";
+       revision = "2";
+       sha256 = "1cymgp3wlswxn5qfdr442cqq2ak48b5w1zcsr67n2g5p1izadwji";
+       editedCabalFile = "e70397da5f43d657c6c3bef7419810f61675e78aa0b0da688b1f5939d1e11bf8";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec authenticate-oauth base bytestring conduit
+         conduit-extra containers data-default http-client http-conduit
+         http-types lens lens-aeson network-uri resourcet template-haskell
+         text time transformers twitter-types twitter-types-lens
+       ];
+       testDepends = [
+         aeson attoparsec authenticate-oauth base bytestring
+         case-insensitive conduit conduit-extra containers data-default
+         directory doctest filepath hlint hspec http-client http-conduit
+         http-types lens lens-aeson monad-control network-uri resourcet
+         template-haskell text time transformers transformers-base
+         twitter-types twitter-types-lens
+       ];
+       jailbreak = true;
+       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
+    ({ mkDerivation, aeson, attoparsec, attoparsec-enumerator
+     , authenticate, base, bytestring, containers, enumerator
+     , http-enumerator, http-types, text, tls-extra, transformers
+     }:
+     mkDerivation {
+       pname = "twitter-enumerator";
+       version = "0.0.3";
+       sha256 = "1c8y7kq0x7lnq7x7ah8c78q6cy2963nz6y83klzh2jgmr8rma6q4";
+       buildDepends = [
+         aeson attoparsec attoparsec-enumerator authenticate base bytestring
+         containers enumerator http-enumerator http-types text tls-extra
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/himura/twitter-enumerator";
+       description = "Twitter API package with enumerator interface and Streaming API support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twitter-feed" = callPackage
+    ({ mkDerivation, aeson, authenticate-oauth, base, bytestring
+     , containers, http-conduit, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "twitter-feed";
+       version = "0.1.1.3";
+       sha256 = "1c50rirj3wymbh1850c7dm79jyglcn34116vljh5f54f8sv17y96";
+       buildDepends = [
+         aeson authenticate-oauth base bytestring http-conduit
+       ];
+       testDepends = [
+         base containers HUnit test-framework test-framework-hunit
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/stackbuilders/twitter-feed";
+       description = "Client for fetching Twitter timeline via Oauth";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twitter-types" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, derive
+     , directory, filepath, HUnit, old-locale, QuickCheck
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th-prime, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "twitter-types";
+       version = "0.7.0";
+       sha256 = "0smzz3y6xgb0yddp62bvw4j278fw5dnjffrjfxz3dc6hd602cvlh";
+       buildDepends = [
+         aeson base old-locale text time unordered-containers
+       ];
+       testDepends = [
+         aeson attoparsec base bytestring derive directory filepath HUnit
+         old-locale QuickCheck template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2
+         test-framework-th-prime text time unordered-containers
+       ];
+       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
+    ({ mkDerivation, base, lens, template-haskell, text, time
+     , twitter-types
+     }:
+     mkDerivation {
+       pname = "twitter-types-lens";
+       version = "0.7.0";
+       sha256 = "1775ydjpv0rii3zbz60xl8dz3537fcid3j4867ynw0zvk1sl01wc";
+       buildDepends = [
+         base lens template-haskell text time twitter-types
+       ];
+       homepage = "https://github.com/himura/twitter-types-lens";
+       description = "Twitter JSON types (lens powered)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tx" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, safecopy, stm
+     , transformers
+     }:
+     mkDerivation {
+       pname = "tx";
+       version = "0.1.0.0";
+       sha256 = "18fpkpri2g93vxw3qdk94nc4zlh5kqgfbvdmzkwqjadkck39alsy";
+       buildDepends = [
+         base bytestring cereal safecopy stm transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mcschroeder/tx";
+       description = "Persistent transactions on top of STM";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "txt-sushi" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, directory
+     , parsec, regex-posix
+     }:
+     mkDerivation {
+       pname = "txt-sushi";
+       version = "0.6.0";
+       sha256 = "0375q8qcirkalz6n48rkylkx1j8z5gvjhh8n2fdvvjqvn064q1s6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers directory parsec regex-posix
+       ];
+       homepage = "http://keithsheppard.name/txt-sushi";
+       description = "The SQL link in your *NIX chain";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "txt2rtf" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "txt2rtf";
+       version = "1.0.1";
+       sha256 = "0vn01ppcmdfi9n9f8h62ll9f08nda2pcrxvck0lgkwzky54v19s4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://github.com/jgoerzen/txt2rtf";
+       description = "Filter to convert plain text files to RTF";
+       license = "GPL";
+     }) {};
+
+  "txtblk" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "txtblk";
+       version = "0.2.0.1";
+       sha256 = "08qpdyb1dbkif4zwrap6478fsf7lha6hk18wm0r4803avrr5w2bb";
+       buildDepends = [ base ];
+       description = "Deprecated in favor of eros";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ty" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "ty";
+       version = "0.1.6";
+       sha256 = "0i18c293f6dz7qgr5z4x6rzndhqv5q7myw1wvs8i9ld23d87fjhy";
+       buildDepends = [ base ghc-prim ];
+       homepage = "https://github.com/conal/ty";
+       description = "Typed type representations and equality proofs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "typalyze" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, ghc
+     , process
+     }:
+     mkDerivation {
+       pname = "typalyze";
+       version = "0.1.1";
+       sha256 = "1wc1z7ps1rcbws2snci64hxddjd3bi3kbi4iwvbfaac0dz52085m";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring directory filepath ghc process ];
+       homepage = "http://www.decidable.org/haskell/typalyze";
+       description = "Analyzes Haskell source files for easy reference";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-aligned" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "type-aligned";
+       version = "0.9.6";
+       sha256 = "0mfyd9w13kd3ha43220p9qabw828xv19sxywy9imadpwrdqp51qv";
+       buildDepends = [ base ];
+       homepage = "https://github.com/atzeus/type-aligned";
+       description = "Various type-aligned sequence data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-booleans" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "type-booleans";
+       version = "0.1";
+       sha256 = "11kbnfbvclkdwirnnpdi4f20pibdar4l47anvnkaxxl330zi7yfh";
+       buildDepends = [ base ];
+       description = "Type-level booleans via type-families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-cereal" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, data-hash
+     , template-haskell, type-digits, type-spine
+     }:
+     mkDerivation {
+       pname = "type-cereal";
+       version = "0.3";
+       sha256 = "1w1s1c7f2q5zwc9fghbbd1nhavh0mzzndh0mdxr7sy88a523svcv";
+       buildDepends = [
+         base bytestring cereal data-hash template-haskell type-digits
+         type-spine
+       ];
+       description = "Type-level serialization of type constructors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-digits" = callPackage
+    ({ mkDerivation, base, template-haskell, type-spine }:
+     mkDerivation {
+       pname = "type-digits";
+       version = "0.3";
+       sha256 = "0rmqy3wcypyq09gnfz0xvkr2ly9gnpsjnil2n981ajfxsk2shi58";
+       buildDepends = [ base template-haskell type-spine ];
+       description = "Arbitrary-base type-level digits";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-eq" = callPackage
+    ({ mkDerivation, base, cpphs }:
+     mkDerivation {
+       pname = "type-eq";
+       version = "0.5";
+       sha256 = "007srln0xxi27wca8dk72xp3cdwnk8iqmlqgbxi17c9l2x7lrkwz";
+       buildDepends = [ base ];
+       buildTools = [ cpphs ];
+       homepage = "http://github.com/glaebhoerl/type-eq";
+       description = "Type equality evidence you can carry around";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-equality" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "type-equality";
+       version = "0.1.2";
+       sha256 = "06acqpkvyvalv5knjzzbgm40hzas6cdfsypvjxsbb0mhq4d80xwr";
+       buildDepends = [ base ];
+       homepage = "http://github.com/hesselink/type-equality/";
+       description = "Type equality, coercion/cast and other operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-equality-check" = callPackage
+    ({ mkDerivation, base, type-level }:
+     mkDerivation {
+       pname = "type-equality-check";
+       version = "0.0.0.3";
+       sha256 = "0fsj2mbsbhiqlv6dlkkwh3af5kx8qcif9374wiy7zf62pz4bry67";
+       buildDepends = [ base type-level ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/type-equality-check";
+       description = "Type equality check";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-functions" = callPackage
+    ({ mkDerivation, base, kinds }:
+     mkDerivation {
+       pname = "type-functions";
+       version = "0.2.0.3";
+       sha256 = "1vs6wk1z3zp3s1fxbz6bnfjlkdrcs6v4ihdnr504z9qklwb91vam";
+       buildDepends = [ base kinds ];
+       homepage = "http://darcs.wolfgang.jeltsch.info/haskell/type-functions";
+       description = "Emulation of type-level functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-hint" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "type-hint";
+       version = "0.1";
+       sha256 = "1fcrma7m6y7i1y42rzhv7qch8xkk93lkh1767saw4hsb9fzwsq8i";
+       buildDepends = [ base ];
+       homepage = "https://github.com/mvv/type-hint";
+       description = "Guide type inference with proxy values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-int" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "type-int";
+       version = "0.5.0.2";
+       sha256 = "1lakw4mvkii32a570zain510n9x7b2ka2r3qj5rpil1j4bpc662w";
+       buildDepends = [ base template-haskell ];
+       homepage = "http://github.com/ekmett/type-int";
+       description = "Type Level 2s- and 16s- Complement Integers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-iso" = callPackage
+    ({ mkDerivation, base, data-default, nats, numericpeano, text }:
+     mkDerivation {
+       pname = "type-iso";
+       version = "0.1.0.0";
+       sha256 = "03qs8frsj0a2jxpk1rrmhaivf68hg8dhjn4s3q85h4zrsxwfskjx";
+       buildDepends = [ base data-default nats numericpeano text ];
+       homepage = "https://github.com/ombocomp/type-iso";
+       description = "Typeclasses for injective relations and isomorphisms between types";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "type-level" = callPackage
+    ({ mkDerivation, base, syb, template-haskell }:
+     mkDerivation {
+       pname = "type-level";
+       version = "0.2.4";
+       sha256 = "1cgph4y6j7wnzglzz89zd60f1mv8v82vp0n1bmkp4yqq0w2wmg9v";
+       buildDepends = [ base syb template-haskell ];
+       homepage = "http://code.haskell.org/type-level";
+       description = "Type-level programming library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-level-bst" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "type-level-bst";
+       version = "0.1";
+       sha256 = "0c51p6dy84ddikj6jch5hljn1i37q38wbak3chbc3ds5r674y5hk";
+       buildDepends = [ base ];
+       homepage = "https://github.com/Kinokkory/type-level-bst";
+       description = "type-level binary search trees in haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-level-natural-number" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "type-level-natural-number";
+       version = "2.0";
+       sha256 = "17zgm5ys1z61kxxczz3bzi9m3c48py6pvyx3cqk3xlh1w7n58ryk";
+       buildDepends = [ base ];
+       description = "Simple type level natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-level-natural-number-induction" = callPackage
+    ({ mkDerivation, base, transformers, type-level-natural-number }:
+     mkDerivation {
+       pname = "type-level-natural-number-induction";
+       version = "1.0.0.1";
+       sha256 = "1mwnsz5rbqnwskzf4cyv05zxha86afqh68b5ppwvizrvwf4jav2r";
+       buildDepends = [ base transformers type-level-natural-number ];
+       jailbreak = true;
+       description = "High-level combinators for performing inductive operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-level-natural-number-operations" = callPackage
+    ({ mkDerivation, base, type-level-natural-number }:
+     mkDerivation {
+       pname = "type-level-natural-number-operations";
+       version = "1.0";
+       sha256 = "0vql5q5zhbhmwv0wqqb0xi4ayqdsz149rymhs730c583pq0h9r3w";
+       buildDepends = [ base type-level-natural-number ];
+       jailbreak = true;
+       description = "Basic operations on type-level natural numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-level-numbers" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "type-level-numbers";
+       version = "0.1.1.1";
+       sha256 = "12iiyaqi60fpds7fv1qvphy84rwyj71maq54mfwpcr0bdrgyymjv";
+       buildDepends = [ base template-haskell ];
+       testDepends = [ base template-haskell ];
+       description = "Type level numbers implemented using type families";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-level-sets" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "type-level-sets";
+       version = "0.5";
+       sha256 = "1mrrwyvpjywnv2vd1nzzk0vnzsnjvbxiyxp03n9djsgwnfslzxbj";
+       buildDepends = [ base ghc-prim ];
+       description = "Type-level sets (with value-level counterparts and various operations)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-level-tf" = callPackage
+    ({ mkDerivation, base, syb, template-haskell }:
+     mkDerivation {
+       pname = "type-level-tf";
+       version = "0.2.1";
+       sha256 = "07q69219yvf7rpfwilp70hvx2fzsxklvld7j3gayj17l9wp23g2m";
+       buildDepends = [ base syb template-haskell ];
+       homepage = "https://github.com/coreyoconnor/type-level-tf";
+       description = "Type-level programming library (type families)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-list" = callPackage
+    ({ mkDerivation, base, singletons }:
+     mkDerivation {
+       pname = "type-list";
+       version = "0.0.0.1";
+       sha256 = "1mbgwin1rcf1fkm3cq6h2dqv157xwgjca3019fxi759cxg9j70d2";
+       buildDepends = [ base singletons ];
+       description = "Operations on type-level lists and tuples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-natural" = callPackage
+    ({ mkDerivation, base, constraints, equational-reasoning
+     , monomorphic, singletons, template-haskell
+     }:
+     mkDerivation {
+       pname = "type-natural";
+       version = "0.2.3.2";
+       sha256 = "0qydsrksg9rasv90d4ivjgf1sdwfzjg0xf1wimfkhva545mray7h";
+       buildDepends = [
+         base constraints equational-reasoning monomorphic singletons
+         template-haskell
+       ];
+       homepage = "https://github.com/konn/type-natural";
+       description = "Type-level natural and proofs of their properties";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "type-ord" = callPackage
+    ({ mkDerivation, base, template-haskell, type-digits, type-spine }:
+     mkDerivation {
+       pname = "type-ord";
+       version = "0.3";
+       sha256 = "16nfnxh0klxx1f2mj1hc5blcm259b664w3l4frx4bksdavhnkmg5";
+       buildDepends = [ base template-haskell type-digits type-spine ];
+       description = "Type-level comparison operator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-ord-spine-cereal" = callPackage
+    ({ mkDerivation, base, template-haskell, type-cereal, type-ord
+     , type-spine
+     }:
+     mkDerivation {
+       pname = "type-ord-spine-cereal";
+       version = "0.2";
+       sha256 = "1gwchzi4l7a0jm11paxz959mv9a5pbga86fyyjyglypd1988rvrb";
+       buildDepends = [
+         base template-haskell type-cereal type-ord type-spine
+       ];
+       description = "Generic type-level comparison of types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-prelude" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "type-prelude";
+       version = "0.1";
+       sha256 = "1ygg511j0av1g94mclrsf3p0qb2kc89jcz9nfr5fm073a2jlzlih";
+       buildDepends = [ base ghc-prim ];
+       homepage = "http://code.atnnn.com/projects/type-prelude";
+       description = "Partial port of prelude to the type level. Requires GHC 7.6.1.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-settheory" = callPackage
+    ({ mkDerivation, base, containers, syb, template-haskell
+     , transformers, type-equality
+     }:
+     mkDerivation {
+       pname = "type-settheory";
+       version = "0.1.3.1";
+       sha256 = "1b4p9f03diq2mlp2mb39qrm095731i35q8k783bkq2knzlq01dsi";
+       buildDepends = [
+         base containers syb template-haskell transformers type-equality
+       ];
+       description = "Sets and functions-as-relations in the type system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-spine" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "type-spine";
+       version = "0.2.20120924";
+       sha256 = "0vy9ixmz1xm3dd0376s0h66q7qi64jqc5kqsqjpcg7akxidl03hi";
+       buildDepends = [ base template-haskell ];
+       description = "A spine-view on types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-structure" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, hashable, HTF
+     , HUnit, loch-th, mtl, placeholders, QuickCheck, QuickCheck-GenT
+     , quickcheck-instances, template-haskell, text
+     , th-instance-reification, time, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "type-structure";
+       version = "0.1.1";
+       sha256 = "0y2360llc41772ybjj3dcsk1r81js3yqsxww1w0j62gsdp6g9wfv";
+       buildDepends = [
+         array base bytestring containers hashable loch-th mtl placeholders
+         template-haskell text th-instance-reification time transformers
+         unordered-containers vector
+       ];
+       testDepends = [
+         array base bytestring containers hashable HTF HUnit loch-th mtl
+         placeholders QuickCheck QuickCheck-GenT quickcheck-instances
+         template-haskell text th-instance-reification time transformers
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/type-structure";
+       description = "Type structure analysis";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-sub-th" = callPackage
+    ({ mkDerivation, base, checkers, DebugTraceHelpers, HUnit
+     , QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, th-instances
+     , tuple, uniplate
+     }:
+     mkDerivation {
+       pname = "type-sub-th";
+       version = "0.1.0.6";
+       sha256 = "11aycmbvqlrsd4kzm9m5smg7ghqz8kn3i62b19acnlpmrlr5v497";
+       buildDepends = [
+         base DebugTraceHelpers HUnit QuickCheck template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2
+         tuple uniplate
+       ];
+       testDepends = [
+         base checkers DebugTraceHelpers HUnit QuickCheck template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2
+         th-instances tuple uniplate
+       ];
+       homepage = "http://github.com/jfischoff/type-sub-th";
+       description = "Substitute types for other types with Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "type-unary" = callPackage
+    ({ mkDerivation, applicative-numbers, base, newtype, ty
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "type-unary";
+       version = "0.2.16";
+       sha256 = "1pn65smi07gwd4h46irjawh1dnjnizs9ag0cyv55i0mjg8plyzvj";
+       buildDepends = [
+         applicative-numbers base newtype ty vector-space
+       ];
+       homepage = "https://github.com/conal/type-unary";
+       description = "Type-level and typed unary natural numbers, inequality proofs, vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "typeable-th" = callPackage
+    ({ mkDerivation, base, template-haskell, transformers }:
+     mkDerivation {
+       pname = "typeable-th";
+       version = "0.1.5";
+       sha256 = "1ps9rkysx7zbcqkz51ahayg2jivlihiqdlb27iq7bf9aa7383k6v";
+       buildDepends = [ base template-haskell transformers ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://github.com/bennofs/typeable-th";
+       description = "Automatic deriving of TypeableN instances with Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "typedquery" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, haskell-src-meta, parsec
+     , template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "typedquery";
+       version = "0.1.0.2";
+       sha256 = "0l0fxhh1mq0801gb73pv531943i0iy5lm58hwyf5g6x6l50lj660";
+       buildDepends = [
+         aeson base bytestring haskell-src-meta parsec template-haskell text
+         transformers
+       ];
+       homepage = "https://github.com/tolysz/typedquery";
+       description = "Parser for SQL augmented with types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "typehash" = callPackage
+    ({ mkDerivation, base, binary, bytestring, mtl, pureMD5, syb }:
+     mkDerivation {
+       pname = "typehash";
+       version = "1.4.0.4";
+       sha256 = "11s10arrbri1f71jfpynhmwh53cgkrfxsrqch1f02j0aii7n0lpv";
+       buildDepends = [ base binary bytestring mtl pureMD5 syb ];
+       description = "Create a unique hash value for a type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "typelevel-tensor" = callPackage
+    ({ mkDerivation, array, base, HUnit, numeric-prelude, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "typelevel-tensor";
+       version = "0.2.1";
+       sha256 = "174f6xh3znf45w94xkhqwnxnzw6crpb13zff57svnj2dqvpf00gd";
+       buildDepends = [ base numeric-prelude QuickCheck ];
+       testDepends = [
+         array base HUnit numeric-prelude QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/nushio3/typelevel-tensor";
+       description = "Tensors whose ranks and dimensions type-inferred and type-checked";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "typeof" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "typeof";
+       version = "0.1.2";
+       sha256 = "1mnzkj5dp4rc4anaqxc6ia88wgrjhxwacxpqw8vp6pjqxbhhq92n";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base process ];
+       description = "Small script for inferring types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "typeparams" = callPackage
+    ({ mkDerivation, base, constraints, deepseq, ghc-prim, primitive
+     , reflection, tagged, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "typeparams";
+       version = "0.0.6";
+       sha256 = "1blhqm8ba37mqp2ziipm0igyccyrqlwcink5xbz0m56ca7lid0vb";
+       buildDepends = [
+         base constraints deepseq ghc-prim primitive reflection tagged
+         template-haskell vector
+       ];
+       homepage = "http://github.com/mikeizbicki/typeparams/";
+       description = "Lens-like interface for type level parameters; allows unboxed unboxed vectors and supercompilation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "types-compat" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "types-compat";
+       version = "0.1.1";
+       revision = "2";
+       sha256 = "1fl3ddsz9m0s0mnd7wq6lqkkmpq0dz83aisqgs1cpg91xlllghby";
+       editedCabalFile = "8fbb17ec66d4bf5f2fffdb2327647b44292253822c9623a06b489ff547a71041";
+       buildDepends = [ base ];
+       homepage = "https://github.com/philopon/types-compat";
+       description = "ghc-7.6/7.8 compatible GHC.TypeLits, Data.Typeable and Data.Proxy.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "typesafe-endian" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "typesafe-endian";
+       version = "0.1.0.1";
+       sha256 = "1kg4pvrnf7vwvrcb998l9w08dpdy9hg7x2d9h5s3lqpnvvxfgcfj";
+       buildDepends = [ base ];
+       homepage = "https://github.com/Ericson2314/typesafe-endian";
+       description = "Enforce endianness with types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "typescript-docs" = callPackage
+    ({ mkDerivation, base, blaze-html, cmdtheline, containers
+     , filemanip, filepath, language-typescript, parsec, split, syb
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "typescript-docs";
+       version = "0.0.3";
+       sha256 = "12axp6y652zlv9c9m0n5m4allpy23x0bk274gy78csrqp26akq3k";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html cmdtheline containers filemanip filepath
+         language-typescript parsec split syb utf8-string
+       ];
+       homepage = "http://github.com/paf31/typescript-docs";
+       description = "A documentation generator for TypeScript Definition files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "typical" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "typical";
+       version = "0.0.1";
+       sha256 = "0dw6mwppbhcblnr03qgavhx27l9dl6gd981afgg4spi8avfzgh4q";
+       buildDepends = [ base ];
+       description = "Type level numbers, vectors, list. This lib needs to be extended.";
+       license = "GPL";
+     }) {};
+
+  "typography-geometry" = callPackage
+    ({ mkDerivation, base, containers, parallel, polynomials-bernstein
+     , vector
+     }:
+     mkDerivation {
+       pname = "typography-geometry";
+       version = "1.0.0";
+       sha256 = "1vvqch3pdwymjbmir7b208qyzdzljsw1gf8icmzw5pi3vn6wkihf";
+       buildDepends = [
+         base containers parallel polynomials-bernstein vector
+       ];
+       description = "Drawings for printed text documents";
+       license = "GPL";
+     }) {};
+
+  "tz" = callPackage
+    ({ mkDerivation, base, binary, bindings-posix, bytestring
+     , containers, deepseq, HUnit, QuickCheck, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, time, tzdata, unix, vector
+     }:
+     mkDerivation {
+       pname = "tz";
+       version = "0.0.0.10";
+       sha256 = "15j0ai0i4savvvhd8b7f9mrm1kwdmvjrphyjclmlj1k65c6ap5qm";
+       buildDepends = [
+         base binary bytestring containers deepseq template-haskell time
+         tzdata vector
+       ];
+       testDepends = [
+         base bindings-posix HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+         time tzdata unix vector
+       ];
+       homepage = "https://github.com/nilcons/haskell-tz";
+       description = "Efficient time zone handling";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "tzdata" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filemanip
+     , filepath, HUnit, MissingH, test-framework, test-framework-hunit
+     , test-framework-th, unix, vector
+     }:
+     mkDerivation {
+       pname = "tzdata";
+       version = "0.1.20150129.1";
+       sha256 = "167ik26nsq2v6xqfk0rljp4p4g3r35rkvsza7cvi8qdak96dc4ay";
+       buildDepends = [ base bytestring containers vector ];
+       testDepends = [
+         base bytestring directory filemanip filepath HUnit MissingH
+         test-framework test-framework-hunit test-framework-th unix
+       ];
+       homepage = "https://github.com/nilcons/haskell-tzdata";
+       description = "Time zone database (as files and as a module)";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "uAgda" = callPackage
+    ({ mkDerivation, array, base, BNFC-meta, cmdargs, containers, mtl
+     , parsec, pretty, split, transformers
+     }:
+     mkDerivation {
+       pname = "uAgda";
+       version = "1.2.0.4";
+       sha256 = "01a1h6pflvid5zcd8wy3px7cz4pxwy5pw354v9rp8k7sx4q82am8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base BNFC-meta cmdargs containers mtl parsec pretty split
+         transformers
+       ];
+       jailbreak = true;
+       description = "A simplistic dependently-typed language with parametricity";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ua-parser" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, criterion, data-default
+     , deepseq, derive, file-embed, filepath, HUnit, pcre-light, syb
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, yaml
+     }:
+     mkDerivation {
+       pname = "ua-parser";
+       version = "0.5";
+       sha256 = "0fljfvs9gzqyn01sw57s738jazki839grff43n09bqf7nk1janbf";
+       buildDepends = [
+         aeson base bytestring data-default file-embed pcre-light syb text
+         yaml
+       ];
+       testDepends = [
+         aeson base bytestring criterion data-default deepseq derive
+         file-embed filepath HUnit pcre-light syb test-framework
+         test-framework-hunit test-framework-quickcheck2 text yaml
+       ];
+       jailbreak = true;
+       description = "A library for parsing User-Agent strings, official Haskell port of ua-parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uacpid" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hslogger
+     , mtl, network, old-locale, process, regex-compat, time, unix
+     }:
+     mkDerivation {
+       pname = "uacpid";
+       version = "1.0.3.0";
+       sha256 = "02l88vpjs6qc0rwa4kn438i1gwc376sj8g2h5xqm3pz7adwfv24a";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath hslogger mtl network old-locale
+         process regex-compat time unix
+       ];
+       homepage = "http://ui3.info/d/proj/uacpid.html";
+       description = "Userspace Advanced Configuration and Power Interface event daemon";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uberlast" = callPackage
+    ({ mkDerivation, base, lens, tagged, template-haskell }:
+     mkDerivation {
+       pname = "uberlast";
+       version = "0.0";
+       sha256 = "12p948706scjiazlwv0x1afl3v8fhv4a3l8yqn1x4y9xnr4pfmc9";
+       buildDepends = [ base lens tagged template-haskell ];
+       homepage = "https:/github.com/fumieval/uberlast";
+       description = "Generate overloaded lenses from plain data declaration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uconv" = callPackage
+    ({ mkDerivation, base, bytestring, icu }:
+     mkDerivation {
+       pname = "uconv";
+       version = "0.0.3";
+       sha256 = "0v71qw494klyh3ar8qdp7wx7kn7629iy83xham9b7jpmvk2p76bv";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ icu ];
+       description = "String encoding conversion with ICU";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) icu;};
+
+  "udbus" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, containers
+     , ghc-prim, mtl, network, unix, utf8-string
+     }:
+     mkDerivation {
+       pname = "udbus";
+       version = "0.2.1";
+       sha256 = "0a7kksh99nll91q41z4xgrcwc8pnfm0p71bxw6yymcd7yb0v09fk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring cereal containers ghc-prim mtl network unix
+         utf8-string
+       ];
+       homepage = "http://github.com/vincenthz/hs-udbus";
+       description = "Small DBus implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "udbus-model" = callPackage
+    ({ mkDerivation, base, bytestring, udbus, xml }:
+     mkDerivation {
+       pname = "udbus-model";
+       version = "0.2.1";
+       sha256 = "0xiz3z0x7p9agj14j9lm8njfqiqpyif0m2fn7lppi3w482ssfzji";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring udbus xml ];
+       homepage = "http://github.com/vincenthz/hs-udbus";
+       description = "Model API for udbus introspection and definitions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "udcode" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "udcode";
+       version = "0.2.0.0";
+       sha256 = "1namnm91divk1x8ki7wfbd79f4nrym58r4ki9yamj2giv4nxda36";
+       buildDepends = [ base containers mtl ];
+       description = "Does a set of code words form a uniquely decodable code?";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "udev" = callPackage
+    ({ mkDerivation, base, bytestring, libudev, posix-paths, select
+     , unix
+     }:
+     mkDerivation {
+       pname = "udev";
+       version = "0.1.0.0";
+       sha256 = "1a5i57f50scxbv5snn4xd953bx98qq3cgzhxjnqvxyazqz3h1fx2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring posix-paths select unix ];
+       pkgconfigDepends = [ libudev ];
+       homepage = "https://github.com/pxqr/udev";
+       description = "libudev bindings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { libudev = null;};
+
+  "uglymemo" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "uglymemo";
+       version = "0.1.0.1";
+       sha256 = "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy";
+       buildDepends = [ base containers ];
+       description = "A simple (but internally ugly) memoization function";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "uhc-light" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, fgl, filepath, hashable, mtl, network, old-locale
+     , primitive, process, syb, transformers, uhc-util, uulib, vector
+     }:
+     mkDerivation {
+       pname = "uhc-light";
+       version = "1.1.8.10";
+       sha256 = "12rrcvmqpani5pp9qpf4yqsgvbzx4xwj87nfw0kl4mrhl4gd8c8d";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers directory fgl filepath
+         hashable mtl network old-locale primitive process syb transformers
+         uhc-util uulib vector
+       ];
+       homepage = "https://github.com/UU-ComputerScience/uhc";
+       description = "Part of UHC packaged as cabal/hackage installable library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uhc-util" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , directory, fclabels, fgl, hashable, ListLike, mtl, process, syb
+     , time, time-compat, uulib
+     }:
+     mkDerivation {
+       pname = "uhc-util";
+       version = "0.1.5.3";
+       sha256 = "0hy950rl4d7ml0aqs0bkyjz3xc8b6p3m2ik6dqkagxxjl3cksjz3";
+       buildDepends = [
+         array base binary bytestring containers directory fclabels fgl
+         hashable ListLike mtl process syb time time-compat uulib
+       ];
+       homepage = "https://github.com/UU-ComputerScience/uhc-util";
+       description = "UHC utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uhexdump" = callPackage
+    ({ mkDerivation, base, bytestring, split }:
+     mkDerivation {
+       pname = "uhexdump";
+       version = "0.3";
+       sha256 = "064cm531yci41jf14k177w7j4zy8dfjwrpjcrwf7kpz2rhx1djyi";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring split ];
+       jailbreak = true;
+       description = "hex dumper for UTF-8 text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uhttpc" = callPackage
+    ({ mkDerivation, async, base, bytestring, bytestring-lexing
+     , cmdargs, deepseq, network
+     }:
+     mkDerivation {
+       pname = "uhttpc";
+       version = "0.1.0.0";
+       sha256 = "116x62yq51xb5z0ndvf0q42plw442lf275b0z2wyvcyl3m5mpmhd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base bytestring bytestring-lexing cmdargs deepseq network
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/hvr/uhttpc";
+       description = "Minimal HTTP client library optimized for benchmarking";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ui-command" = callPackage
+    ({ mkDerivation, base, data-default, mtl, old-locale, time }:
+     mkDerivation {
+       pname = "ui-command";
+       version = "0.5.4";
+       sha256 = "1qq902p5q6z1m0556bdc6brads7m2qrhrwnzd8k8c4jynzc829w7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base data-default mtl old-locale time ];
+       description = "A framework for friendly commandline programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uid" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, dataenc, text
+     , uuid
+     }:
+     mkDerivation {
+       pname = "uid";
+       version = "0.1.0.1";
+       sha256 = "11v67dbanw9gmy9rbfln3ma87a9hkwvc5bwzdx840ngij5gh559b";
+       buildDepends = [ aeson base bytestring cereal dataenc text uuid ];
+       homepage = "http://github.com/hargettp/uid.git";
+       description = "Simple unique identifier datatype, serializable and encodable as base32";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "una" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, directory, filepath
+     , io-storage, process
+     }:
+     mkDerivation {
+       pname = "una";
+       version = "2.1.0";
+       sha256 = "0gpycwd0dgnw7cdicpn19wv1xb4jq3j9dfzry2ilv85h02zkwfvh";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs directory filepath io-storage process
+       ];
+       homepage = "https://github.com/jwiegley/una";
+       description = "Universal un-archiver utility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unagi-chan" = callPackage
+    ({ mkDerivation, atomic-primops, base, containers, ghc-prim
+     , primitive
+     }:
+     mkDerivation {
+       pname = "unagi-chan";
+       version = "0.3.0.2";
+       sha256 = "1a6jpr6gynpfh3kqfq42arzxfij5ms18rqhl0xlf49iscj0c15lg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ atomic-primops base ghc-prim primitive ];
+       testDepends = [
+         atomic-primops base containers ghc-prim primitive
+       ];
+       description = "Fast concurrent queues with a Chan-like API, and more";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unagi-streams" = callPackage
+    ({ mkDerivation, base, io-streams, unagi-chan }:
+     mkDerivation {
+       pname = "unagi-streams";
+       version = "0.1.2";
+       sha256 = "0fhs55bap2dkp9lismq4df4sy8878f52xawr4an4cl0v1yj12cq0";
+       buildDepends = [ base io-streams unagi-chan ];
+       description = "Unagi Chan IO-Streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unamb" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unamb";
+       version = "0.2.5";
+       sha256 = "12cbqlc7qf2sf2m4zmisx06bcc104bwivnzq2df0jqdf09bg0n9k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://haskell.org/haskellwiki/unamb";
+       description = "Unambiguous choice";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unamb-custom" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "unamb-custom";
+       version = "0.13";
+       sha256 = "0r694wi9xg8brgcwl2kyv5amp6v539l121s9bpmd5lhjdnrvqjwk";
+       buildDepends = [ base containers mtl ];
+       homepage = "http://github.com/luqui/unamb-custom";
+       description = "Functional concurrency with unamb using a custom scheduler";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unbound" = callPackage
+    ({ mkDerivation, base, binary, containers, mtl, RepLib
+     , transformers
+     }:
+     mkDerivation {
+       pname = "unbound";
+       version = "0.4.3.1";
+       sha256 = "1xkp47y7yg8dl95gf4w3iwddc3yivrhcxj184cfhrx6a9rbsflpz";
+       buildDepends = [ base binary containers mtl RepLib transformers ];
+       homepage = "http://code.google.com/p/replib/";
+       description = "Generic support for programming with names and binders";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unbound-generics" = callPackage
+    ({ mkDerivation, base, containers, contravariant, mtl, QuickCheck
+     , tasty, tasty-hunit, tasty-quickcheck, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "unbound-generics";
+       version = "0.1";
+       sha256 = "10flwmkmpnkxib1v9f5qv11wnvjmnn3aiag4f2qgpdc3hadq6j0q";
+       buildDepends = [
+         base containers contravariant mtl transformers transformers-compat
+       ];
+       testDepends = [
+         base mtl QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "http://github.com/lambdageek/unbound-generics";
+       description = "Reimplementation of Unbound using GHC Generics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unbounded-delays" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unbounded-delays";
+       version = "0.1.0.9";
+       sha256 = "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420";
+       buildDepends = [ base ];
+       homepage = "https://github.com/basvandijk/unbounded-delays";
+       description = "Unbounded thread delays and timeouts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unbounded-delays-units" = callPackage
+    ({ mkDerivation, base, unbounded-delays, units, units-defs }:
+     mkDerivation {
+       pname = "unbounded-delays-units";
+       version = "0.4";
+       sha256 = "02j4i2dms15vb87ar3m99hvpxrjdakljyql708zs716k1jdm7614";
+       buildDepends = [ base unbounded-delays units units-defs ];
+       jailbreak = true;
+       homepage = "https://github.com/jcristovao/unbouded-delays-units";
+       description = "Thread delays and timeouts using proper time units";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unboxed-containers" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "unboxed-containers";
+       version = "0.0.2.4";
+       sha256 = "0yahavqjjnlf4ps8kd41s9s64nbhx2hf7qzk2xxkmq0i3b91d123";
+       buildDepends = [ base containers ];
+       homepage = "http://github.com/ekmett/unboxed-containers";
+       description = "Self-optimizing unboxed sets using view patterns and data families";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unexceptionalio" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unexceptionalio";
+       version = "0.2.0";
+       sha256 = "1p1han6027n6d9cx0cqrfrpwqlhkainj7xi839swqj1k6d4n022n";
+       buildDepends = [ base ];
+       homepage = "https://github.com/singpolyma/unexceptionalio";
+       description = "IO without any non-error, synchronous exceptions";
+       license = "unknown";
+     }) {};
+
+  "unfoldable" = callPackage
+    ({ mkDerivation, base, ghc-prim, QuickCheck, random, transformers
+     }:
+     mkDerivation {
+       pname = "unfoldable";
+       version = "0.8.2";
+       sha256 = "0r6jffm2i2la70xzqsribfbsa84ha5g4zfqphp9gqkvr1x2jmr2i";
+       buildDepends = [ base ghc-prim QuickCheck random transformers ];
+       jailbreak = true;
+       homepage = "https://github.com/sjoerdvisscher/unfoldable";
+       description = "Class of data structures that can be unfolded";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ungadtagger" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ungadtagger";
+       version = "1.0.0";
+       sha256 = "1hn30p9vpsvkph54grzwdrca5vh9grpa7d0w1zlvim1mnvqxmn4b";
+       buildDepends = [ base ];
+       homepage = "http://github.com/andriyp/ungadtagger";
+       description = "Abstract GADTs from typelevel tags";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uni-events" = callPackage
+    ({ mkDerivation, base, containers, uni-util }:
+     mkDerivation {
+       pname = "uni-events";
+       version = "2.2.2.0";
+       sha256 = "1damlhi56xfp4xvdk2ijxjx7vxywhhbi4hiprdx09b5ipblrfpqz";
+       buildDepends = [ base containers uni-util ];
+       homepage = "http://www.informatik.uni-bremen.de/uniform/wb/";
+       description = "Event handling for the uniform workbench";
+       license = "LGPL";
+     }) {};
+
+  "uni-graphs" = callPackage
+    ({ mkDerivation, base, containers, mtl, uni-events, uni-htk
+     , uni-reactor, uni-util
+     }:
+     mkDerivation {
+       pname = "uni-graphs";
+       version = "2.2.1.0";
+       sha256 = "1vwm0gmgj8c7qdildplr3jng5gj9q6b669vgmnxw4v514y529bz5";
+       buildDepends = [
+         base containers mtl uni-events uni-htk uni-reactor uni-util
+       ];
+       homepage = "http://www.informatik.uni-bremen.de/uniform/wb/";
+       description = "Graphs";
+       license = "LGPL";
+     }) {};
+
+  "uni-htk" = callPackage
+    ({ mkDerivation, base, containers, directory, uni-events
+     , uni-posixutil, uni-reactor, uni-util
+     }:
+     mkDerivation {
+       pname = "uni-htk";
+       version = "2.2.1.2";
+       sha256 = "1zdbg2jz6dgw4jvicl2vgnnnz2mmq8r9cabfgzw7zyc6ycp5hmyk";
+       buildDepends = [
+         base containers directory uni-events uni-posixutil uni-reactor
+         uni-util
+       ];
+       homepage = "http://www.informatik.uni-bremen.de/htk/";
+       description = "Graphical User Interface for Haskell Programs";
+       license = "LGPL";
+     }) {};
+
+  "uni-posixutil" = callPackage
+    ({ mkDerivation, base, directory, process, uni-events, uni-util
+     , unix
+     }:
+     mkDerivation {
+       pname = "uni-posixutil";
+       version = "2.2.1.1";
+       sha256 = "0wh3ni6l1x7rxn5yppva1xs0yb6z5hxfmzxxrnh6hbcq1pa62m5d";
+       buildDepends = [ base directory process uni-events uni-util unix ];
+       homepage = "http://www.informatik.uni-bremen.de/uniform/wb/";
+       description = "Posix utilities for the uniform workbench";
+       license = "LGPL";
+     }) {};
+
+  "uni-reactor" = callPackage
+    ({ mkDerivation, base, containers, directory, uni-events, uni-util
+     }:
+     mkDerivation {
+       pname = "uni-reactor";
+       version = "2.2.1.0";
+       sha256 = "147nizw920xbbj5b8kqrgri1r9wpx3qddspnryxhdxq10q1xlyh2";
+       buildDepends = [ base containers directory uni-events uni-util ];
+       homepage = "http://www.informatik.uni-bremen.de/uniform/wb/";
+       description = "Reactors for the uniform workbench";
+       license = "LGPL";
+     }) {};
+
+  "uni-uDrawGraph" = callPackage
+    ({ mkDerivation, base, containers, uni-events, uni-graphs
+     , uni-posixutil, uni-reactor, uni-util
+     }:
+     mkDerivation {
+       pname = "uni-uDrawGraph";
+       version = "2.2.0.3";
+       sha256 = "0sh504l3xi9xlmwb28wzsana6c9ahmbdhx05s55w2ffwzbz0ca8a";
+       buildDepends = [
+         base containers uni-events uni-graphs uni-posixutil uni-reactor
+         uni-util
+       ];
+       homepage = "http://www.informatik.uni-bremen.de/uniform/wb";
+       description = "Graphs binding";
+       license = "LGPL";
+     }) {};
+
+  "uni-util" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , ghc-prim, mtl, network, old-time, parsec
+     }:
+     mkDerivation {
+       pname = "uni-util";
+       version = "2.3.0.1";
+       sha256 = "0simxjsd0qi8yxnpiq88zy3bsrrw5rxfpfknr8yaf4xhc7vv39nh";
+       buildDepends = [
+         array base bytestring containers directory ghc-prim mtl network
+         old-time parsec
+       ];
+       homepage = "http://www.informatik.uni-bremen.de/uniform/wb/";
+       description = "Utilities for the uniform workbench";
+       license = "LGPL";
+     }) {};
+
+  "unicode" = callPackage
+    ({ mkDerivation, base, containers, utility-ht }:
+     mkDerivation {
+       pname = "unicode";
+       version = "0.0";
+       sha256 = "0fy89j864dy5dzfj15aavm8bqpv2f51zf42dyjvs50qah3shh5yl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers ];
+       testDepends = [ base containers utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/unicode/";
+       description = "Construct and transform unicode characters";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unicode-names" = callPackage
+    ({ mkDerivation, array, base, containers, unicode-properties }:
+     mkDerivation {
+       pname = "unicode-names";
+       version = "3.2.0.0";
+       sha256 = "15088dbmhvw118p3w08wxpsx41gzi0wqinqyg143225pp07aa5gc";
+       buildDepends = [ array base containers unicode-properties ];
+       description = "Unicode 3.2.0 character names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unicode-normalization" = callPackage
+    ({ mkDerivation, base, bytestring, compact-string, icu }:
+     mkDerivation {
+       pname = "unicode-normalization";
+       version = "0.1";
+       sha256 = "1smfc7a62xi6y4sc0vai2l0nljxl9dr9l5zkqi17n14cq36ppfwb";
+       buildDepends = [ base bytestring compact-string ];
+       extraLibraries = [ icu ];
+       homepage = "http://sloompie.reinier.de/unicode-normalization/";
+       description = "Unicode normalization using the ICU library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) icu;};
+
+  "unicode-prelude" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unicode-prelude";
+       version = "0.1.1";
+       sha256 = "05zakihlk06wckzgm43f3g26fjdn4gb3d1ypw4vcwqmipq2dbfsw";
+       buildDepends = [ base ];
+       description = "Unicode notation for some definitions in Prelude";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unicode-properties" = callPackage
+    ({ mkDerivation, array, base, containers }:
+     mkDerivation {
+       pname = "unicode-properties";
+       version = "3.2.0.0";
+       sha256 = "06zrr2z9irbsxwf7fbnhp2sg36ykb2amfys2y78nzn0mw63xb3q1";
+       buildDepends = [ array base containers ];
+       description = "Unicode 3.2.0 character properties";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unicode-symbols" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "unicode-symbols";
+       version = "0.1.1.2";
+       sha256 = "0y1awqrf1x2in158linszma69zyz3zp14h3rmdx3vmbmif9fvbyv";
+       buildDepends = [ base containers ];
+       jailbreak = true;
+       description = "Unicode alternatives for common functions and operators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unicoder" = callPackage
+    ({ mkDerivation, attoparsec, base, directory, text }:
+     mkDerivation {
+       pname = "unicoder";
+       version = "0.4.1";
+       sha256 = "17a2rxq5b4a66ia4jm1g0lmkvsanfc477567wygq9kz4w9q4xwc3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ attoparsec base directory text ];
+       testDepends = [ attoparsec base text ];
+       jailbreak = true;
+       homepage = "https://github.com/Zankoku-Okuno/unicoder";
+       description = "Make writing in unicode easy";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unification-fd" = callPackage
+    ({ mkDerivation, base, containers, logict, mtl }:
+     mkDerivation {
+       pname = "unification-fd";
+       version = "0.10.0";
+       sha256 = "1jin4w4csy6vhjrqk4lwn6aa6ic3xqnk86fsasznp2x9jv3rzw2b";
+       buildDepends = [ base containers logict mtl ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Simple generic unification algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uniform-pair" = callPackage
+    ({ mkDerivation, base, ShowF }:
+     mkDerivation {
+       pname = "uniform-pair";
+       version = "0.1.5";
+       sha256 = "0zkkhxmhx7xpi0fjxks435z5p52f2jvw8fvp0z2qi81a18v8fh81";
+       buildDepends = [ base ShowF ];
+       homepage = "https://github.com/conal/uniform-pair/";
+       description = "Uniform pairs with class instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "union-find" = callPackage
+    ({ mkDerivation, base, containers, transformers }:
+     mkDerivation {
+       pname = "union-find";
+       version = "0.2";
+       sha256 = "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6";
+       buildDepends = [ base containers transformers ];
+       homepage = "http://github.com/nominolo/union-find";
+       description = "Efficient union and equivalence testing of sets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "union-find-array" = callPackage
+    ({ mkDerivation, array, base, mtl }:
+     mkDerivation {
+       pname = "union-find-array";
+       version = "0.1.0.1";
+       sha256 = "0p50w0kb1pz80nq0nm9l20wshsqjcaaagrrjfqx955awrvz2wmf7";
+       buildDepends = [ array base mtl ];
+       homepage = "https://github.com/haskell-rewriting/union-find-array";
+       description = "union find data structure";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "union-map" = callPackage
+    ({ mkDerivation, base, containers, extensible }:
+     mkDerivation {
+       pname = "union-map";
+       version = "0.1";
+       sha256 = "0q1qg0vg01ypjlb90xq8zl3zc53b3yn23vgpnzv92q7xmc46gb5l";
+       buildDepends = [ base containers extensible ];
+       homepage = "http://github.com/minpou/union-map";
+       description = "Heterogeneous map by open unions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uniplate" = callPackage
+    ({ mkDerivation, base, containers, hashable, syb
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "uniplate";
+       version = "1.6.12";
+       sha256 = "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw";
+       buildDepends = [
+         base containers hashable syb unordered-containers
+       ];
+       homepage = "http://community.haskell.org/~ndm/uniplate/";
+       description = "Help writing simple, concise and fast generic operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unique-logic" = callPackage
+    ({ mkDerivation, base, non-empty, QuickCheck, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "unique-logic";
+       version = "0.3";
+       sha256 = "0pjkqvam73d6xy528r9zf75km2yr997in902174raj6kw3kgdl41";
+       buildDepends = [ base transformers utility-ht ];
+       testDepends = [
+         base non-empty QuickCheck transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/unique-logic/";
+       description = "Solve simple simultaneous equations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unique-logic-tf" = callPackage
+    ({ mkDerivation, base, containers, explicit-exception, non-empty
+     , QuickCheck, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "unique-logic-tf";
+       version = "0.4.1.1";
+       sha256 = "0gc41whidll04fgzjydcxgxvq270ncvqcamsd3b3qd4hfn3v9qv8";
+       buildDepends = [
+         base containers explicit-exception transformers utility-ht
+       ];
+       testDepends = [
+         base non-empty QuickCheck transformers utility-ht
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/unique-logic-tf/";
+       description = "Solve simple simultaneous equations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uniqueid" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "uniqueid";
+       version = "0.1.1";
+       sha256 = "0s1jw29g5s9ll8hbfkyalhdjpsv54w1n63mz4jph36dbq68zb7g6";
+       buildDepends = [ base ];
+       homepage = "http://github.com/sebfisch/uniqueid/wikis";
+       description = "Splittable Unique Identifier Supply";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "units" = callPackage
+    ({ mkDerivation, base, containers, HUnit-approx, mtl, multimap
+     , parsec, singletons, syb, tasty, tasty-hunit, template-haskell
+     , th-desugar, vector-space
+     }:
+     mkDerivation {
+       pname = "units";
+       version = "2.2.1";
+       sha256 = "0b4h8kv8yraqs4rxidqi60833iib0zvqdnsywi4aryw14zkpvl17";
+       buildDepends = [
+         base containers mtl multimap parsec singletons syb template-haskell
+         th-desugar vector-space
+       ];
+       testDepends = [
+         base containers HUnit-approx mtl multimap parsec singletons syb
+         tasty tasty-hunit template-haskell th-desugar vector-space
+       ];
+       homepage = "https://github.com/goldfirere/units";
+       description = "A domain-specific type system for dimensional analysis";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "units-defs" = callPackage
+    ({ mkDerivation, base, template-haskell, units }:
+     mkDerivation {
+       pname = "units-defs";
+       version = "2.0.0.1";
+       sha256 = "04k9wjyq23ml89nnjx2lwxiik54wc4rcbmpvvr7fh9wgsl74k6pv";
+       buildDepends = [ base template-haskell units ];
+       homepage = "http://github.com/goldfirere/units-defs";
+       description = "Definitions for use with the units package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "units-parser" = callPackage
+    ({ mkDerivation, base, containers, mtl, multimap, parsec, syb
+     , tasty, tasty-hunit, template-haskell
+     }:
+     mkDerivation {
+       pname = "units-parser";
+       version = "0.1.0.0";
+       sha256 = "0ha1saapphk15xk10a36k5qmn01nqpz10f8gi35ra9zqlhv8amfq";
+       buildDepends = [ base containers mtl multimap parsec ];
+       testDepends = [
+         base containers mtl multimap parsec syb tasty tasty-hunit
+         template-haskell
+       ];
+       description = "A parser for units of measure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unittyped" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unittyped";
+       version = "0.1";
+       sha256 = "1ab27rwnp8ncfn5sm4llxjxx7fbp495sl1838g8z9hishr5dgddl";
+       buildDepends = [ base ];
+       testDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/xnyhps/haskell-unittyped/";
+       description = "An extendable library for type-safe computations including units";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "universal-binary" = callPackage
+    ({ mkDerivation, base, binary, bytestring }:
+     mkDerivation {
+       pname = "universal-binary";
+       version = "0.11";
+       sha256 = "1gnrq6s7pipjqfyispkxib3xfzii1ss6a9iwv07mvb5a93hc45cw";
+       buildDepends = [ base binary bytestring ];
+       description = "Parser for OS X Universal Binary format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "universe" = callPackage
+    ({ mkDerivation, universe-instances-base
+     , universe-instances-extended, universe-instances-trans
+     , universe-reverse-instances
+     }:
+     mkDerivation {
+       pname = "universe";
+       version = "1.0";
+       sha256 = "19zr9zcqc5sfp5qfn8slkk2732j1814m3j1jkbim739limwf900z";
+       buildDepends = [
+         universe-instances-base universe-instances-extended
+         universe-instances-trans universe-reverse-instances
+       ];
+       homepage = "https://github.com/dmwit/universe";
+       description = "Classes for types where we know all the values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "universe-base" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "universe-base";
+       version = "1.0";
+       sha256 = "1bhgmikh876bda37a79iapzp58ssgfx6n57gpblyd1fprxnwqxc4";
+       buildDepends = [ base ];
+       homepage = "https://github.com/dmwit/universe";
+       description = "A class for finite and recursively enumerable types and some helper functions for enumerating them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "universe-instances-base" = callPackage
+    ({ mkDerivation, base, containers, universe-base }:
+     mkDerivation {
+       pname = "universe-instances-base";
+       version = "1.0";
+       sha256 = "04njgl32lk5a0masjdjkm4l2wsyrr29g0fsp599864mp7gp504d2";
+       buildDepends = [ base containers universe-base ];
+       homepage = "https://github.com/dmwit/universe";
+       description = "Universe instances for types from the base package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "universe-instances-extended" = callPackage
+    ({ mkDerivation, adjunctions, base, comonad
+     , universe-instances-base, void
+     }:
+     mkDerivation {
+       pname = "universe-instances-extended";
+       version = "1.0";
+       sha256 = "0cla7n6id0v2pphmzsc8cbghvhyjjx9720gmxdqch8ysrfknkbgi";
+       buildDepends = [
+         adjunctions base comonad universe-instances-base void
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/dmwit/universe";
+       description = "Universe instances for types from select extra packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "universe-instances-trans" = callPackage
+    ({ mkDerivation, base, mtl, transformers, universe-base
+     , universe-instances-base
+     }:
+     mkDerivation {
+       pname = "universe-instances-trans";
+       version = "1.0.0.1";
+       sha256 = "03iix0bdhfi4qlgwr8sl3gsqck6lsbkqgx245w2z5yaaxgqpq10d";
+       buildDepends = [
+         base mtl transformers universe-base universe-instances-base
+       ];
+       homepage = "https://github.com/dmwit/universe";
+       description = "Universe instances for types from the transformers and mtl packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "universe-reverse-instances" = callPackage
+    ({ mkDerivation, base, containers, universe-instances-base }:
+     mkDerivation {
+       pname = "universe-reverse-instances";
+       version = "1.0";
+       sha256 = "0jcd7qyvzq8xxv9d3hfi0f1h48xdsy9r9xnxgxc7ggga4szirm79";
+       buildDepends = [ base containers universe-instances-base ];
+       homepage = "https://github.com/dmwit/universe";
+       description = "instances of standard classes that are made possible by enumerations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "universe-th" = callPackage
+    ({ mkDerivation, base, checkers, composition, DebugTraceHelpers
+     , HUnit, mtl, QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, th-instances
+     , tuple, uniplate
+     }:
+     mkDerivation {
+       pname = "universe-th";
+       version = "0.0.0.6";
+       sha256 = "143kcgv4lp9266d8za878l343j6g97mxc3z7gj348jjamvpyg9wx";
+       buildDepends = [
+         base composition mtl template-haskell tuple uniplate
+       ];
+       testDepends = [
+         base checkers composition DebugTraceHelpers HUnit mtl QuickCheck
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 th-instances tuple uniplate
+       ];
+       homepage = "http://github.com/jfishcoff/universe-th";
+       description = "Construct a Dec's ancestor list";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unix_2_7_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, time }:
+     mkDerivation {
+       pname = "unix";
+       version = "2.7.1.0";
+       sha256 = "0p74ljsl1zgwnyl69pg4l15z5rqidam9fw9il4siam2m700ydm3b";
+       buildDepends = [ base bytestring time ];
+       homepage = "https://github.com/haskell/unix";
+       description = "POSIX functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unix-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "unix-bytestring";
+       version = "0.3.7.2";
+       sha256 = "0n1i7pcdwhs0wz6spf3pndr8i74qn0cdzr3p46w4r4mvvwr76i2s";
+       buildDepends = [ base bytestring ];
+       homepage = "http://code.haskell.org/~wren/";
+       description = "Unix/Posix-specific functions for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unix-compat" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "unix-compat";
+       version = "0.4.1.4";
+       sha256 = "0jxk7j5pz2kgfpqr4hznndjg31pqj5xg2qfc5308fcn9xyg1myps";
+       buildDepends = [ base unix ];
+       homepage = "http://github.com/jystic/unix-compat";
+       description = "Portable POSIX-compatibility layer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unix-handle" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "unix-handle";
+       version = "0.0.0";
+       sha256 = "07ysmd9ks5lm2lg1dik75m509ryn5azw28j9hcisknf5bmrfy9li";
+       buildDepends = [ base unix ];
+       description = "POSIX operations on Handles";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unix-io-extra" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unix-io-extra";
+       version = "0.1";
+       sha256 = "1qy28y1apm2dxp47v0ngxj4ww3iyq4lj0n0i4z9phyr1122fglig";
+       buildDepends = [ base ];
+       description = "Support for writev, pwrite and pread";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unix-memory" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, unix
+     }:
+     mkDerivation {
+       pname = "unix-memory";
+       version = "0.1.2";
+       sha256 = "1r8s7z39d31h1n7rcincy156lbsvamr6jicx52kv8simb9gvarpp";
+       buildDepends = [ base ];
+       testDepends = [
+         base mtl QuickCheck tasty tasty-hunit tasty-quickcheck unix
+       ];
+       homepage = "http://github.com/vincenthz/hs-unix-memory";
+       description = "Unix memory syscalls";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unix-process-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, directory, filepath
+     , hspec, process, stm, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "unix-process-conduit";
+       version = "0.2.2.3";
+       sha256 = "0ldgjwdvshggygxn9fpnxvb01dba0q0bn9f7iiw5xgqhli46nvcy";
+       buildDepends = [
+         base bytestring conduit directory filepath process stm time
+         transformers unix
+       ];
+       testDepends = [ base bytestring conduit hspec transformers unix ];
+       jailbreak = true;
+       homepage = "https://github.com/snoyberg/conduit";
+       description = "Run processes on Unix systems, with a conduit interface (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unix-pty-light" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "unix-pty-light";
+       version = "0.1";
+       sha256 = "1n21cd6chih86g6kfl6b0x4k533ykzz93anhf6wga3033rvy09wj";
+       buildDepends = [ base unix ];
+       homepage = "http://code.haskell.org/~scook0/unix-pty-light";
+       description = "POSIX pseudo-terminal support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unix-time" = callPackage
+    ({ mkDerivation, base, binary, bytestring, doctest, hspec
+     , old-locale, old-time, QuickCheck, time
+     }:
+     mkDerivation {
+       pname = "unix-time";
+       version = "0.3.5";
+       sha256 = "0pk7046lmvl7dw6g7508xsixwi3gpiq5dw0a0lfwpfr80g6mh73z";
+       buildDepends = [ base binary bytestring old-time ];
+       testDepends = [
+         base bytestring doctest hspec old-locale old-time QuickCheck time
+       ];
+       description = "Unix time parser/formatter and utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unlambda" = callPackage
+    ({ mkDerivation, array, base, mtl, unix }:
+     mkDerivation {
+       pname = "unlambda";
+       version = "0.1.3";
+       sha256 = "0clcpkhg23a7ma72rjjpl2w8jpg2mdn4rgm3vf0vqr7lbyma1h89";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base mtl unix ];
+       description = "Unlambda interpreter";
+       license = "GPL";
+     }) {};
+
+  "unlit" = callPackage
+    ({ mkDerivation, base, directory, text }:
+     mkDerivation {
+       pname = "unlit";
+       version = "0.3.0.3";
+       sha256 = "0nwd4cm3licmdx06cmq42ig7r0iirw2s3ifnna4yzxpysj2aapnf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory text ];
+       description = "Tool to convert literate code between styles or to code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unm-hip" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, process
+     , vector
+     }:
+     mkDerivation {
+       pname = "unm-hip";
+       version = "0.3.1.6";
+       sha256 = "170ivv689jg2k9p8czp6miq3samjbdwanh3vh9csm8iq88yrzry5";
+       buildDepends = [ array base bytestring containers process vector ];
+       description = "A Library for the manipulation of images";
+       license = "GPL";
+     }) {};
+
+  "unordered-containers" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, containers, deepseq
+     , hashable, HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "unordered-containers";
+       version = "0.2.5.1";
+       sha256 = "06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f";
+       buildDepends = [ base deepseq hashable ];
+       testDepends = [
+         base ChasingBottoms containers hashable HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/tibbe/unordered-containers";
+       description = "Efficient hashing-based container types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unordered-containers-rematch" = callPackage
+    ({ mkDerivation, base, hashable, hspec, HUnit, rematch
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "unordered-containers-rematch";
+       version = "0.1.0.0";
+       sha256 = "13ld8whx1m5xglaj2adsn0qb1x00p6ir8l9kz7fv815n6ahgcii8";
+       buildDepends = [ base hashable rematch unordered-containers ];
+       testDepends = [
+         base hashable hspec HUnit rematch unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tcrayford/rematch";
+       description = "Rematch support for unordered containers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unpack-funcs" = callPackage
+    ({ mkDerivation, base, bytestring, primitive, template-haskell
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "unpack-funcs";
+       version = "0.3.1";
+       sha256 = "0ha8xbg1a560rd5grg6i2acg3nzq6f4d6qa7i6vrbnz7bqbg77q3";
+       buildDepends = [
+         base bytestring primitive template-haskell transformers vector
+       ];
+       description = "Monad transformers that mirror worker-wrapper transformations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unroll-ghc-plugin" = callPackage
+    ({ mkDerivation, base, ghc }:
+     mkDerivation {
+       pname = "unroll-ghc-plugin";
+       version = "0.1.1";
+       sha256 = "0n05777fqqpbgnh9jab04ayw1j1as4wkkbrjixi1288fhi44m87p";
+       buildDepends = [ base ghc ];
+       homepage = "http://thoughtpolice.github.com/unroll-ghc-plugin";
+       description = "Compiler plugin for loop unrolling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unsafe" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unsafe";
+       version = "0.0";
+       sha256 = "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz";
+       buildDepends = [ base ];
+       homepage = "http://code.haskell.org/~thielema/unsafe/";
+       description = "Unified interface to unsafe functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unsafe-promises" = callPackage
+    ({ mkDerivation, base, threads }:
+     mkDerivation {
+       pname = "unsafe-promises";
+       version = "0.0.1.3";
+       sha256 = "1018c3q0aq6l0011az661dvlibiv6jvwdv4c40bi8pwapri66k70";
+       buildDepends = [ base threads ];
+       homepage = "https://github.com/kallisti-dev/unsafe-promises";
+       description = "Create pure futures using lazy IO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unsafely" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unsafely";
+       version = "0.2.0.0";
+       sha256 = "10v50bzd7ccjs0d1spvyl6awhwdhxmkcacm2lkillk9f7myild0r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://github.com/konn/unsafely";
+       description = "Flexible access control for unsafe operations and instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unsafeperformst" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unsafeperformst";
+       version = "0.9.2";
+       sha256 = "0l268mzlmswm0p9cybjvi6krsgic706av9kf90fx3ylyvhgzygvc";
+       buildDepends = [ base ];
+       homepage = "https://github.com/atzeus/unsafeperformst";
+       description = "Like unsafeperformIO, but for the ST monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "unscramble" = callPackage
+    ({ mkDerivation, array, base, optparse-applicative, stream-fusion
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "unscramble";
+       version = "1.0";
+       sha256 = "1zlf9dw3yid6s9p0q837h3qs2wnd9wr9kh282j4j4m0gpv9dcrrf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base optparse-applicative stream-fusion unordered-containers
+       ];
+       description = "Solve Boggle-like word games";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "unusable-pkg" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unusable-pkg";
+       version = "0.1";
+       sha256 = "102dzsa64vnbhx2pnnh6q0vn7wag9bd8pmmag3i2yl68iqaqlvpm";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       description = "Utility construction of the graph depending unusable packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "up" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl, parsec, split
+     , transformers
+     }:
+     mkDerivation {
+       pname = "up";
+       version = "1.0.0.2";
+       sha256 = "10dd90walys2q30b80c6z76v4lixp6cjbxq7gc43mqb67p0qnk67";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath mtl parsec split transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/thomaseding/up";
+       description = "Command line tool to generate pathnames to facilitate moving upward in a file system";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "up-grade" = callPackage
+    ({ mkDerivation, base, ports-tools, process }:
+     mkDerivation {
+       pname = "up-grade";
+       version = "0.0.2";
+       sha256 = "1njmx622ghpzgnwm4wykzjj1ixpalbj21hs7nkbwpmljniakp2fb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ports-tools process ];
+       homepage = "http://github.com/ppenzin/up/";
+       description = "Software management tool";
+       license = "unknown";
+     }) {};
+
+  "uploadcare" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cryptohash
+     , hex, http-conduit, http-types, old-locale, time
+     }:
+     mkDerivation {
+       pname = "uploadcare";
+       version = "0.1";
+       sha256 = "1lm7mp8djhxylavihaljqjfsgzpn747plkq6f7yd2dk32xlsb5bz";
+       buildDepends = [
+         aeson attoparsec base bytestring cryptohash hex http-conduit
+         http-types old-locale time
+       ];
+       jailbreak = true;
+       description = "Haskell client for Uploadcare";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "upskirt" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "upskirt";
+       version = "0.0.4";
+       sha256 = "0528345xiq2xmi9fwzv0rvbjqfhcvyhkik8c453yr2nr03k0zs4c";
+       buildDepends = [ base bytestring ];
+       description = "Binding to upskirt";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ureader" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, async, base, bytestring
+     , containers, curl, data-default, deepseq, directory, download-curl
+     , feed, filepath, implicit-params, network, old-locale, opml
+     , optparse-applicative, parallel-io, split, tagsoup, terminal-size
+     , text, time, xml
+     }:
+     mkDerivation {
+       pname = "ureader";
+       version = "0.2.0.0";
+       sha256 = "11zgs8mmmkvddyq6s0x98gdqbdaj6n3rxf6ab3xf1ap2cd4siwb8";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-wl-pprint async base bytestring containers curl data-default
+         deepseq directory download-curl feed filepath implicit-params
+         network old-locale opml optparse-applicative parallel-io split
+         tagsoup terminal-size text time xml
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/pxqr/ureader";
+       description = "Minimalistic CLI RSS reader";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "urembed" = callPackage
+    ({ mkDerivation, base, bytestring, cake3, directory, filepath
+     , language-javascript, mime-types, mtl, optparse-applicative
+     , process, syb, text
+     }:
+     mkDerivation {
+       pname = "urembed";
+       version = "0.5.0.1";
+       sha256 = "0fnr3xskzwxxxk7iv5bmqa18zbr612pn27jjiac0l4wzv33lisik";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cake3 directory filepath language-javascript
+         mime-types mtl optparse-applicative process syb text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/grwlf/urembed";
+       description = "Ur/Web static content generator";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uri" = callPackage
+    ({ mkDerivation, base, parsec, safe, utf8-string }:
+     mkDerivation {
+       pname = "uri";
+       version = "0.1.6.3";
+       sha256 = "1dhmrn4mq3ia0iv3y2k5pw71a6677q3vdqqf2w4b3aksi6wna49j";
+       buildDepends = [ base parsec safe utf8-string ];
+       homepage = "http://gitorious.org/uri";
+       description = "Library for working with URIs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uri-bytestring" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, derive, HUnit
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "uri-bytestring";
+       version = "0.0.1";
+       sha256 = "16cp95r94cqzch529i7h282w7d7nrjjxqb6rxd2k5nj7ax0pavy5";
+       buildDepends = [ attoparsec base bytestring ];
+       testDepends = [
+         attoparsec base bytestring derive HUnit QuickCheck tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://travis-ci.org/Soostone/uri-bytestring";
+       description = "Haskell URI parsing as ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uri-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, deepseq
+     , failure, monad-control, network, system-fileio, system-filepath
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "uri-conduit";
+       version = "1.1.1.2";
+       sha256 = "0bmq241in1x0bjffp6nmbz8lf324q926mcddpvmzn2j1ipy7fvg6";
+       buildDepends = [
+         base bytestring conduit containers deepseq failure monad-control
+         network system-fileio system-filepath text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Read and write URIs (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uri-encode" = callPackage
+    ({ mkDerivation, base, bytestring, network-uri, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "uri-encode";
+       version = "1.5.0.4";
+       sha256 = "10pmg48h1az474qsr951inyvkm5y9xqwrdzyvxf83k53i07kijpp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring network-uri text utf8-string ];
+       description = "Unicode aware uri-encoding";
+       license = "unknown";
+     }) {};
+
+  "uri-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, containers, enumerator, failure
+     , network, text, transformers
+     }:
+     mkDerivation {
+       pname = "uri-enumerator";
+       version = "0.1.0.1";
+       sha256 = "164yzmx18ykkf2vbl9zhqmbvb80dig8bx3pfadw23a6wyvigmhw5";
+       buildDepends = [
+         base bytestring containers enumerator failure network text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Read and write URIs (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uri-enumerator-file" = callPackage
+    ({ mkDerivation, base, bytestring, containers, enumerator
+     , lifted-base, monad-control, network, system-fileio
+     , system-filepath, text, transformers, uri-enumerator
+     }:
+     mkDerivation {
+       pname = "uri-enumerator-file";
+       version = "0.1.1.1";
+       sha256 = "15ycv01kmwnwq3qkjjcl8ayal0p4klhflzkykm2rlq1d8mi2vmd6";
+       buildDepends = [
+         base bytestring containers enumerator lifted-base monad-control
+         network system-fileio system-filepath text transformers
+         uri-enumerator
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/xml";
+       description = "uri-enumerator backend for the file scheme (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uri-template" = callPackage
+    ({ mkDerivation, base, containers, utf8-string }:
+     mkDerivation {
+       pname = "uri-template";
+       version = "0.2";
+       sha256 = "1y1jqymjbawwdywk770j4rk8sy7p1plvfliwcmqr0h16y31kzlpl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base containers utf8-string ];
+       description = "URI template library for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uri-templater" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, charset, containers, dlist
+     , HTTP, HUnit, mtl, parsers, template-haskell, text, trifecta
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "uri-templater";
+       version = "0.2.0.0";
+       sha256 = "0ypyi5vz7fjgvw1xicjksjfbpvm472dif2jw6pn09jfgqkal075s";
+       buildDepends = [
+         ansi-wl-pprint base charset containers dlist HTTP mtl parsers
+         template-haskell text trifecta unordered-containers vector
+       ];
+       testDepends = [ ansi-wl-pprint base HUnit mtl template-haskell ];
+       homepage = "http://github.com/sanetracker/uri-templater";
+       description = "Parsing & Quasiquoting for RFC 6570 URI Templates";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "url" = callPackage
+    ({ mkDerivation, base, utf8-string }:
+     mkDerivation {
+       pname = "url";
+       version = "2.1.3";
+       sha256 = "0qag18wbrq9jjk1444mjigz1xl7xl03fz66b1lnya9qaihzpxwjs";
+       buildDepends = [ base utf8-string ];
+       homepage = "http://www.haskell.org/haskellwiki/Url";
+       description = "A library for working with URLs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "url-generic" = callPackage
+    ({ mkDerivation, base, mtl, syb }:
+     mkDerivation {
+       pname = "url-generic";
+       version = "0.1";
+       revision = "1";
+       sha256 = "0yfcy2nhc67kxb7n9mjxi4z5jcq4iz4kq80fb9lbi461vijhmw5m";
+       editedCabalFile = "d9926e2ce6433a73b2ba940d476f7046890752c8a1145b42a78561e8d3ff6fb9";
+       buildDepends = [ base mtl syb ];
+       description = "Parse/format generic key/value URLs from record data types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "urlcheck" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, network
+     , old-time
+     }:
+     mkDerivation {
+       pname = "urlcheck";
+       version = "0.1.1";
+       sha256 = "1mddlppdb0c9pxvjfm40i0bcrg7wbc61hzlrlv6kir0n1j9yb8ri";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring containers mtl network old-time ];
+       homepage = "http://code.haskell.org/~dons/code/urlcheck";
+       description = "Parallel link checker";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "urldecode" = callPackage
+    ({ mkDerivation, base, network }:
+     mkDerivation {
+       pname = "urldecode";
+       version = "1.0.0.2";
+       sha256 = "13fip41s78qcnrg4zccd5lk3qbsaax7h5sspc0xjzlaca664hq3y";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base network ];
+       homepage = "https://github.com/beastaugh/urldecode";
+       description = "Decode percent-encoded strings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "urldisp-happstack" = callPackage
+    ({ mkDerivation, base, bytestring, happstack-server, mtl }:
+     mkDerivation {
+       pname = "urldisp-happstack";
+       version = "0.1";
+       sha256 = "1kg25w5pnmsnjwycnf0q6d65cqfw5d0xn9rwyn4ybhh3a8q2yaa8";
+       buildDepends = [ base bytestring happstack-server mtl ];
+       description = "Simple, declarative, expressive URL routing -- on happstack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "urlencoded" = callPackage
+    ({ mkDerivation, base, mtl, network, split }:
+     mkDerivation {
+       pname = "urlencoded";
+       version = "0.4.0";
+       sha256 = "0idh70apfxx8bkbsxda4xhb0b5xf4x237dwi4v55ildrhxx4b68k";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base mtl network split ];
+       homepage = "https://github.com/pheaver/urlencoded";
+       description = "Generate or process x-www-urlencoded data";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "urlpath" = callPackage
+    ({ mkDerivation, base, hspec, mtl, QuickCheck, quickcheck-instances
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "urlpath";
+       version = "0.2";
+       sha256 = "0rbw76m9d1gr0zc7wppzdad5nnwdrg2g5v54lc7hxk5wk53pran1";
+       buildDepends = [ base mtl transformers ];
+       testDepends = [
+         base hspec mtl QuickCheck quickcheck-instances text transformers
+       ];
+       description = "Painfully simple URL writing combinators";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "urn" = callPackage
+    ({ mkDerivation, base, hspec, parsec }:
+     mkDerivation {
+       pname = "urn";
+       version = "0.1.0.0";
+       sha256 = "1wxgq445nzfly9773bjx3mr15l8ga4840d2q1zw50kk07fwxx6h7";
+       buildDepends = [ base parsec ];
+       testDepends = [ base hspec ];
+       jailbreak = true;
+       homepage = "https://github.com/pxqr/urn";
+       description = "Universal Resource Names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "urxml" = callPackage
+    ({ mkDerivation, base, filepath, mtl, optparse-applicative, parsec
+     , process, syb
+     }:
+     mkDerivation {
+       pname = "urxml";
+       version = "0.2.0.0";
+       sha256 = "141b2dhqpbirqlv53rm3xsl14mq0vxw96r3qhygraw5gp5vlvgl9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base filepath mtl optparse-applicative parsec process syb
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/grwlf/urxml";
+       description = "XML parser-printer supporting Ur/Web syntax extensions";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "usb" = callPackage
+    ({ mkDerivation, base, bindings-libusb, bytestring, containers
+     , ghc-prim, text, vector
+     }:
+     mkDerivation {
+       pname = "usb";
+       version = "1.3.0.0";
+       sha256 = "0h9lzjmppq2cbyma3rrk2xfayf4aq1xjz8zh18v53m1ky34rhjgp";
+       buildDepends = [
+         base bindings-libusb bytestring containers ghc-prim text vector
+       ];
+       homepage = "http://basvandijk.github.com/usb";
+       description = "Communicate with USB devices";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "usb-enumerator" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bindings-libusb
+     , iteratee, monad-control, transformers, usb
+     }:
+     mkDerivation {
+       pname = "usb-enumerator";
+       version = "0.3";
+       sha256 = "1gd132pshcqa8539g1dmx1hpzfdd33x7vpi9d3hrc6q6l6312nfs";
+       buildDepends = [
+         base base-unicode-symbols bindings-libusb iteratee monad-control
+         transformers usb
+       ];
+       jailbreak = true;
+       description = "Iteratee enumerators for the usb package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "usb-hid" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, usb }:
+     mkDerivation {
+       pname = "usb-hid";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "0mx4f1zrk098c9isczni66i8qisx54r85kwyk2s238dznlys39gh";
+       editedCabalFile = "3fe150e203f72b72c425bef276254a2ca91ca40cab21f6088838bb32c806e8dc";
+       buildDepends = [ attoparsec base bytestring usb ];
+       homepage = "https://github.com/mapinguari/usb-hid";
+       description = "Parser and request Library for USB HIDs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "usb-id-database" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bytestring, containers
+     , containers-unicode-symbols, parsimony
+     }:
+     mkDerivation {
+       pname = "usb-id-database";
+       version = "0.4.0.9";
+       sha256 = "1ji6zrglmlkhv743w4d4lrqvhva4yl5kqxb420z44l1wymvgg1s1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base-unicode-symbols bytestring containers
+         containers-unicode-symbols parsimony
+       ];
+       homepage = "https://github.com/roelvandijk/usb-id-database";
+       description = "A database of USB identifiers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "usb-iteratee" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bindings-libusb
+     , iteratee, monad-control, usb, vector
+     }:
+     mkDerivation {
+       pname = "usb-iteratee";
+       version = "0.5";
+       sha256 = "04kv2pfw24d46b135p6mwgf40wb9q43lcy66cbczh4lz0630j771";
+       buildDepends = [
+         base base-unicode-symbols bindings-libusb iteratee monad-control
+         usb vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/usb-iteratee";
+       description = "Iteratee enumerators for the usb package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "usb-safe" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, bindings-libusb
+     , bytestring, iteratee, regions, text, transformers, usb
+     }:
+     mkDerivation {
+       pname = "usb-safe";
+       version = "0.14";
+       sha256 = "1dhx7y74f2c04dmlsx0i80ar31d6k2qsgh7432c8k0y29iwhdzfm";
+       buildDepends = [
+         base base-unicode-symbols bindings-libusb bytestring iteratee
+         regions text transformers usb
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/usb-safe/";
+       description = "Type-safe communication with USB devices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "users" = callPackage
+    ({ mkDerivation, aeson, base, bcrypt, path-pieces, text, time }:
+     mkDerivation {
+       pname = "users";
+       version = "0.2.0.1";
+       sha256 = "0h0265yynj22p6m84gb9by4axby90awsf7zr2s2g0sb9j38z2b4p";
+       buildDepends = [ aeson base bcrypt path-pieces text time ];
+       homepage = "https://github.com/agrafix/users";
+       description = "A library simplifying user management for web applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "users-postgresql-simple" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, mtl
+     , postgresql-simple, text, time, users, users-test, uuid
+     }:
+     mkDerivation {
+       pname = "users-postgresql-simple";
+       version = "0.2.0.0";
+       sha256 = "162bk3nswnnzblksx4n8fz2yvxaqry7jknb2gkypv15r6kw1pi43";
+       buildDepends = [
+         aeson base bytestring mtl postgresql-simple text time users uuid
+       ];
+       testDepends = [ base hspec postgresql-simple users-test ];
+       homepage = "https://github.com/agrafix/users";
+       description = "A PostgreSQL backend for the users package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "users-test" = callPackage
+    ({ mkDerivation, aeson, base, hspec, text, users }:
+     mkDerivation {
+       pname = "users-test";
+       version = "0.2.0.0";
+       sha256 = "1fli5h9i5bjx945pixnlicsy2y2caw1595isq98vwv7rsarkj8dx";
+       buildDepends = [ aeson base hspec text users ];
+       homepage = "https://github.com/agrafix/users";
+       description = "Library to test backends for the users library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "utc" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, Cabal, clock
+     , QuickCheck, test-framework, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "utc";
+       version = "0.1.0.0";
+       sha256 = "14wqwyc9vgiqps5bgr1wxsfg5x98gbbk2gpkbz2haw0bjmydzzm6";
+       buildDepends = [ attoparsec base bytestring clock text ];
+       testDepends = [
+         attoparsec base bytestring Cabal clock QuickCheck test-framework
+         test-framework-quickcheck2 text
+       ];
+       homepage = "https://github.com/lpeterse/haskell-utc";
+       description = "A pragmatic time and date library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "utf8-env" = callPackage
+    ({ mkDerivation, base, mtl, utf8-string }:
+     mkDerivation {
+       pname = "utf8-env";
+       version = "0.1";
+       sha256 = "0ls2ls2n12igm1day730sp1gfcwxvkkqd2xdp2lmyp2ldp0d72zp";
+       buildDepends = [ base mtl utf8-string ];
+       description = "UTF-8 aware substitutes for functions in System.Environment";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "utf8-light" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim }:
+     mkDerivation {
+       pname = "utf8-light";
+       version = "0.4.2";
+       sha256 = "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q";
+       buildDepends = [ base bytestring ghc-prim ];
+       description = "Unicode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "utf8-prelude" = callPackage
+    ({ mkDerivation, base, utf8-string }:
+     mkDerivation {
+       pname = "utf8-prelude";
+       version = "0.1.6";
+       sha256 = "156kjn3da02z060srlsm8kqwbxzcscjzxdkp4lmv8zq5zscha5v6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base utf8-string ];
+       description = "Variants of Prelude and System.IO with UTF8 text I/O operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "utf8-string" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "utf8-string";
+       version = "0.3.8";
+       revision = "2";
+       sha256 = "1h29dn0scsfkhmkg14ywq9178lw40ah1r36w249zfzqr02y7qxc0";
+       editedCabalFile = "0555d720026fff65342bdc500391ffd300858b6f2c6db441d4dd1eafbcb599ff";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/glguy/utf8-string/";
+       description = "Support for reading and writing UTF8 Strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "utf8-string_1" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "utf8-string";
+       version = "1";
+       sha256 = "025snarzyk4kkw1dk3i8dsxilvxh4kazl6nwq61w9q49y39qiwvr";
+       buildDepends = [ base bytestring ];
+       homepage = "http://github.com/glguy/utf8-string/";
+       description = "Support for reading and writing UTF8 Strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "utility-ht" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "utility-ht";
+       version = "0.0.10";
+       sha256 = "17ydzb0p8xhddvfvm4wjv5yjmy0v7nj6fsj11srnnpj91wc9k0xd";
+       buildDepends = [ base ];
+       testDepends = [ base QuickCheck ];
+       description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uu-cco" = callPackage
+    ({ mkDerivation, ansi-terminal, base }:
+     mkDerivation {
+       pname = "uu-cco";
+       version = "0.1.0.1";
+       sha256 = "1skg22cnsnjp5zzv1q6fk68xryynncx5l1xlcaf8jf76g183c5vi";
+       buildDepends = [ ansi-terminal base ];
+       homepage = "https://github.com/UU-ComputerScience/uu-cco";
+       description = "Utilities for compiler construction: core functionality";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uu-cco-examples" = callPackage
+    ({ mkDerivation, base, uu-cco, uuagc, uuagc-cabal }:
+     mkDerivation {
+       pname = "uu-cco-examples";
+       version = "0.1.0.1";
+       sha256 = "1i8idcbq602hl1il326lq9b5gcjm9qn00wpragr1kj676g615024";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base uu-cco uuagc uuagc-cabal ];
+       homepage = "https://github.com/UU-ComputerScience/uu-cco";
+       description = "Utilities for compiler construction: example programs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uu-cco-hut-parsing" = callPackage
+    ({ mkDerivation, base, uu-cco, uulib }:
+     mkDerivation {
+       pname = "uu-cco-hut-parsing";
+       version = "0.1.0.1";
+       sha256 = "06ddh2fcvy0zbzzdgpcx8kvlssrcmxx4swgkl8iy7223llanx0px";
+       buildDepends = [ base uu-cco uulib ];
+       homepage = "https://github.com/UU-ComputerScience/uu-cco";
+       description = "Utilities for compiler construction: Feedback wrapper around parser in uulib";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uu-cco-uu-parsinglib" = callPackage
+    ({ mkDerivation, base, ListLike, uu-cco, uu-parsinglib }:
+     mkDerivation {
+       pname = "uu-cco-uu-parsinglib";
+       version = "0.1.0.1";
+       sha256 = "1sshnlqb0ydxgrhm0i1c3mpnixfsqwrf3gl59yz4rhiw5hy33z71";
+       buildDepends = [ base ListLike uu-cco uu-parsinglib ];
+       homepage = "https://github.com/UU-ComputerScience/uu-cco";
+       description = "Utilities for compiler construction: Feedback wrapper around parser in uu-parsinglib";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uu-interleaved" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "uu-interleaved";
+       version = "0.1.0.0";
+       sha256 = "00zq89fjz3r5pj6qbci017cm9y2rsvl265y9d95q0rv6ljhsayzs";
+       buildDepends = [ base ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
+       description = "Providing an interleaving combinator for use with applicative/alternative style implementations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "uu-options" = callPackage
+    ({ mkDerivation, base, lenses, mtl, transformers, uu-interleaved
+     , uu-parsinglib
+     }:
+     mkDerivation {
+       pname = "uu-options";
+       version = "0.1.0.1";
+       sha256 = "0dygg4w3rlnf1pnmwq7i6vzz0v90b4g18ipfc5whn1ss1bixwxk4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base lenses mtl transformers uu-interleaved uu-parsinglib
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
+       description = "Parse command line options using uu-interleave and uu-parsinglib";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "uu-parsinglib" = callPackage
+    ({ mkDerivation, base, ListLike, time, uu-interleaved }:
+     mkDerivation {
+       pname = "uu-parsinglib";
+       version = "2.8.1.1";
+       sha256 = "1mz8sni7mj85b0ih0y1ld7lcj74iq5z2xi1lbwwndpqra9ahc5s6";
+       buildDepends = [ base ListLike time uu-interleaved ];
+       homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
+       description = "Fast, online, error-correcting, monadic, applicative, merging, permuting, idiomatic parser combinators";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "uu-tc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "uu-tc";
+       version = "2009.2.2";
+       sha256 = "0s7b23r7gnavwnvzpi25mc0hyg605ms249k5i4661nqpfiwn7zry";
+       buildDepends = [ base ];
+       description = "Haskell 98 parser combintors for INFOB3TC at Utrecht University";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuagc" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , ghc-prim, haskell-src-exts, mtl, uuagc-cabal, uulib
+     }:
+     mkDerivation {
+       pname = "uuagc";
+       version = "0.9.52.1";
+       sha256 = "1191a1jr1s76wjdrfzafy1ibf7a7xpg54dvwhwz4kr1jrc9jn2cq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath ghc-prim haskell-src-exts
+         mtl uuagc-cabal uulib
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
+       description = "Attribute Grammar System of Universiteit Utrecht";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuagc-bootstrap" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , ghc-prim, haskell-src-exts, mtl, uulib
+     }:
+     mkDerivation {
+       pname = "uuagc-bootstrap";
+       version = "0.9.40.2";
+       sha256 = "0zsb8pz2zx7y8sjp392hpdk30dzzmppjizcnlgd1wvq2csacnfxq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath ghc-prim haskell-src-exts
+         mtl uulib
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
+       description = "Attribute Grammar System of Universiteit Utrecht";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuagc-cabal" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, mtl
+     , process, uulib
+     }:
+     mkDerivation {
+       pname = "uuagc-cabal";
+       version = "1.0.6.0";
+       sha256 = "02xqj4vz7hir0llxl8n517qv22jlmilknhqzx4l55gccffg7zj6w";
+       buildDepends = [
+         base Cabal containers directory filepath mtl process uulib
+       ];
+       homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
+       description = "Cabal plugin for the Universiteit Utrecht Attribute Grammar System";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuagc-diagrams" = callPackage
+    ({ mkDerivation, base, diagrams-lib, SVGFonts }:
+     mkDerivation {
+       pname = "uuagc-diagrams";
+       version = "0.1.1.0";
+       sha256 = "16sf4kbjgxsi3amdpr3nqg15f2gmjvf3w2wh6pn72zhjqsbnfnmz";
+       buildDepends = [ base diagrams-lib SVGFonts ];
+       description = "Utility for drawing attribute grammar pictures with the diagrams package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuagd" = callPackage
+    ({ mkDerivation, base, blaze-html, process }:
+     mkDerivation {
+       pname = "uuagd";
+       version = "0.1.0.2";
+       sha256 = "1gcznzb8hr2x5mr5pgfqhnvjjrll96g855g4niacw5bd52wdvsla";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base blaze-html process ];
+       homepage = "https://github.com/matthijssteen/uuagd";
+       description = "A debugger for the UUAG system";
+       license = "unknown";
+     }) {};
+
+  "uuid" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cryptohash, HUnit
+     , network-info, QuickCheck, random, tasty, tasty-hunit
+     , tasty-quickcheck, time, uuid-types
+     }:
+     mkDerivation {
+       pname = "uuid";
+       version = "1.3.10";
+       sha256 = "0csq2y8rzdy8cnag4piqvxa742jasxqcq07qgrp4kmdkbnbqvyvy";
+       buildDepends = [
+         base binary bytestring cryptohash network-info random time
+         uuid-types
+       ];
+       testDepends = [
+         base bytestring HUnit QuickCheck random tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       homepage = "https://github.com/aslatter/uuid";
+       description = "For creating, comparing, parsing and printing Universally Unique Identifiers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuid-aeson" = callPackage
+    ({ mkDerivation, aeson, base, text, uuid }:
+     mkDerivation {
+       pname = "uuid-aeson";
+       version = "0.1.0.0";
+       sha256 = "0nd2xm908zycrbmrayi6d4c9p9rfplsjkwnz43nrq94xjn1dp2yg";
+       buildDepends = [ aeson base text uuid ];
+       description = "Aeson types for UUID instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuid-le" = callPackage
+    ({ mkDerivation, base, bytestring, uuid }:
+     mkDerivation {
+       pname = "uuid-le";
+       version = "0.2014.1";
+       sha256 = "1gfm7bxmr2b5hn4x3dr231ra0b1nwp36x2808w3l43yglz8zwp74";
+       buildDepends = [ base bytestring uuid ];
+       description = "Universally Unique Identifiers with little-endian-ish encoding tools";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "uuid-quasi" = callPackage
+    ({ mkDerivation, base, template-haskell, uuid }:
+     mkDerivation {
+       pname = "uuid-quasi";
+       version = "0.1.0.1";
+       sha256 = "09ijnbj2znaqanaxghql3yy1fqb0nsjhrwi6kfzg4h8nrw1ir2pj";
+       buildDepends = [ base template-haskell uuid ];
+       homepage = "http://github.com/lpeterse/uuid-quasi";
+       description = "Supplemental package for 'uuid' allowing quasiquotation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uuid-types" = callPackage
+    ({ mkDerivation, base, binary, bytestring, deepseq, hashable, HUnit
+     , QuickCheck, random, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "uuid-types";
+       version = "1.0.1";
+       sha256 = "1brws1nq3pmd3sq786kig2raaxdcx2s8anwsn9f1jj92i5r7y7jb";
+       buildDepends = [ base binary bytestring deepseq hashable random ];
+       testDepends = [
+         base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/aslatter/uuid";
+       description = "Type definitions for Universally Unique Identifiers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uulib" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "uulib";
+       version = "0.9.19";
+       sha256 = "1q7mnin2prjnxgjln60s97163191dl1kfaqjq01qxfax845c0qbn";
+       buildDepends = [ base ghc-prim ];
+       homepage = "https://github.com/UU-ComputerScience/uulib";
+       description = "Haskell Utrecht Tools Library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "uvector" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "uvector";
+       version = "0.1.1.1";
+       revision = "1";
+       sha256 = "1psbdsq20nr28cr9ni2mwzwkpz3p20n1xqp0m0m9qafz66d2vi08";
+       editedCabalFile = "e289ff93c365248deb93e6268b57be8a47d724a39702887979fd842c80577508";
+       buildDepends = [ base ghc-prim ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~dons/code/uvector";
+       description = "Fast unboxed arrays with a flexible interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uvector-algorithms" = callPackage
+    ({ mkDerivation, base, uvector }:
+     mkDerivation {
+       pname = "uvector-algorithms";
+       version = "0.2";
+       sha256 = "0jzlirrar7grq3h02k22zxyvy1wmfrjw9lscnhpjqmsxjli1jh81";
+       buildDepends = [ base uvector ];
+       homepage = "http://code.haskell.org/~dolio/";
+       description = "Efficient algorithms for uvector unboxed arrays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uxadt" = callPackage
+    ({ mkDerivation, base, json, MissingH, mtl }:
+     mkDerivation {
+       pname = "uxadt";
+       version = "0.0.16.0";
+       sha256 = "0qmp5k4wg5ja2382cwarf8fwjval2a5wdwvz32f965hvwgc9cd43";
+       buildDepends = [ base json MissingH mtl ];
+       description = "Cross-language extensible representation for algebraic data type instances";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "uzbl-with-source" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "uzbl-with-source";
+       version = "0.1.0.0";
+       sha256 = "0q6n18kqga839gkdgdwsfbnbpfm4hh1qjln17qnmfxm3ylh2l9la";
+       buildDepends = [ base process ];
+       homepage = "http://github.com/Fuuzetsu/uzbl-with-source";
+       description = "Utility function for reading a source of loaded uzbl pages";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "v4l2" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bindings-libv4l2
+     , bindings-linux-videodev2, bindings-posix, containers, ioctl
+     }:
+     mkDerivation {
+       pname = "v4l2";
+       version = "0.1.0.3";
+       sha256 = "1hhdpljlic1kyz0pgnv9a04z6prv7rl3x5bam5j0yhm5vijrisgp";
+       buildDepends = [
+         base bindings-DSL bindings-libv4l2 bindings-linux-videodev2
+         bindings-posix containers ioctl
+       ];
+       homepage = "https://gitorious.org/hsv4l2";
+       description = "interface to Video For Linux Two (V4L2)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "v4l2-examples" = callPackage
+    ({ mkDerivation, base, GLUT, v4l2 }:
+     mkDerivation {
+       pname = "v4l2-examples";
+       version = "0.1.0.2";
+       sha256 = "1knn4cbvvk1vsn9if87hqfg761n4410p08g7vlav900svfm8i1l5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base GLUT v4l2 ];
+       jailbreak = true;
+       homepage = "https://gitorious.org/hsv4l2";
+       description = "video for linux two examples";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vacuum" = callPackage
+    ({ mkDerivation, array, base, containers, ghc-paths, ghc-prim }:
+     mkDerivation {
+       pname = "vacuum";
+       version = "2.2.0.0";
+       sha256 = "157wjx2shzfh6dfl6h8x017cn9ji3ql1p0gpi79ginz4s81f2ny1";
+       buildDepends = [ array base containers ghc-prim ];
+       extraLibraries = [ ghc-paths ];
+       homepage = "http://thoughtpolice.github.com/vacuum";
+       description = "Graph representation of the GHC heap";
+       license = stdenv.lib.licenses.gpl3;
+     }) { ghc-paths = null;};
+
+  "vacuum-cairo" = callPackage
+    ({ mkDerivation, base, cairo, deepseq, directory, gtk, pretty
+     , process, strict-concurrency, svgcairo, vacuum
+     }:
+     mkDerivation {
+       pname = "vacuum-cairo";
+       version = "0.5";
+       sha256 = "0jp3xn1h28igcg3xb97ifawx11i7adnyi0ff264w0fril9b8ylwc";
+       buildDepends = [
+         base cairo deepseq directory gtk pretty process strict-concurrency
+         svgcairo vacuum
+       ];
+       homepage = "http://code.haskell.org/~dons/code/vacuum-cairo";
+       description = "Visualize live Haskell data structures using vacuum, graphviz and cairo";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vacuum-graphviz" = callPackage
+    ({ mkDerivation, base, filepath, graphviz, vacuum }:
+     mkDerivation {
+       pname = "vacuum-graphviz";
+       version = "2.1.0.1";
+       sha256 = "093ba6n30a6gyifnk3bd50rkx8qldjqq9vsk92pnq152ibs36b2m";
+       buildDepends = [ base filepath graphviz vacuum ];
+       jailbreak = true;
+       description = "A library for transforming vacuum graphs into GraphViz output";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "vacuum-opengl" = callPackage
+    ({ mkDerivation, base, bitmap, bitmap-opengl, directory, filepath
+     , GLUT, network, OpenGL, pretty, process, stb-image, vacuum
+     }:
+     mkDerivation {
+       pname = "vacuum-opengl";
+       version = "0.0.3";
+       sha256 = "1dxw3apbf59b7vi4a1gnp29ia1s2q9vx79ns7257cg9cazb01z7j";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bitmap bitmap-opengl directory filepath GLUT network OpenGL
+         pretty process stb-image vacuum
+       ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "Visualize live Haskell data structures using vacuum, graphviz and OpenGL";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vacuum-ubigraph" = callPackage
+    ({ mkDerivation, base, containers, hubigraph, vacuum }:
+     mkDerivation {
+       pname = "vacuum-ubigraph";
+       version = "0.2.0.2";
+       sha256 = "0zpag42dr2763ddrwdy7744lqkd6207ljfw3bqm6db3a1128861z";
+       buildDepends = [ base containers hubigraph vacuum ];
+       jailbreak = true;
+       description = "Visualize Haskell data structures using vacuum and Ubigraph";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vado" = callPackage
+    ({ mkDerivation, attoparsec, base, directory, filepath, process
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "vado";
+       version = "0.0.3";
+       sha256 = "1s6fb19p3lc6g13ryh7bmxciv62v8m0ihvzrymsj0nn6jghiys5f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ attoparsec base directory filepath process text ];
+       testDepends = [
+         attoparsec base directory filepath process QuickCheck text
+       ];
+       homepage = "https://github.com/hamishmack/vado";
+       description = "Runs commands on remote machines using ssh";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "valid-names" = callPackage
+    ({ mkDerivation, base, containers, MonadRandom }:
+     mkDerivation {
+       pname = "valid-names";
+       version = "0.1.0.1";
+       sha256 = "14gpkb6pbkvmny17g2gpq6i6kq7ahmcnkgrcrwm72vda12wxsl78";
+       buildDepends = [ base containers MonadRandom ];
+       jailbreak = true;
+       homepage = "https://i.joelt.io/symbols.html";
+       description = "Valid operator/module characters";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "validate" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "validate";
+       version = "2.0.0";
+       sha256 = "19d02sblyxg73prlrmlcs4vclzxzg2pzlrp67f2kx94nsw0v3l4p";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "validate-input" = callPackage
+    ({ mkDerivation, base, bytestring, either, hspec, mtl, pcre-heavy
+     , QuickCheck, stringable, text
+     }:
+     mkDerivation {
+       pname = "validate-input";
+       version = "0.2.0.0";
+       sha256 = "0ijlkfizxpjy7r0bh59zfj1jyn77gqd0ryz8k19v7znckq7bxgls";
+       buildDepends = [
+         base bytestring either mtl pcre-heavy stringable text
+       ];
+       testDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/agrafix/validate-input";
+       description = "Input validation combinator library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "validation" = callPackage
+    ({ mkDerivation, base, bifunctors, directory, doctest, filepath
+     , lens, mtl, QuickCheck, semigroupoids, semigroups
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "validation";
+       version = "0.5.1";
+       sha256 = "09fx4aa9jlyd59qyx0p6wpvzf9kr29j7xb10nsq61pxjbs1hn5qb";
+       buildDepends = [
+         base bifunctors lens mtl semigroupoids semigroups transformers
+       ];
+       testDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/NICTA/validation";
+       description = "A data-type like Either but with an accumulating Applicative";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "validations" = callPackage
+    ({ mkDerivation, base, containers, digestive-functors, HUnit, mtl
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, transformers
+     }:
+     mkDerivation {
+       pname = "validations";
+       version = "0.1.0.2";
+       sha256 = "0nviyyp0nlpilp2byckrcmbd2n6wp40pq7m10da9b24hmwajkdwk";
+       buildDepends = [
+         base containers digestive-functors mtl text transformers
+       ];
+       testDepends = [
+         base containers digestive-functors HUnit mtl QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mavenraven/validations";
+       description = "A nice way to define field validations in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "value-supply" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "value-supply";
+       version = "0.6";
+       sha256 = "0fd6rk46sgdbdmfdr9wy0f3qzwaymgd9hl9v735g2a4bqiqanmb5";
+       buildDepends = [ base ];
+       description = "A library for generating values without having to thread state";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vampire" = callPackage
+    ({ mkDerivation, base, deepseq, directory, dlist, fgl, graphviz
+     , haskell-src-exts, mtl, optparse-applicative, process, uniplate
+     }:
+     mkDerivation {
+       pname = "vampire";
+       version = "0.1.3.0";
+       sha256 = "16f1mdsyyfdgjcp3rzf3p1qj3d6la01i9y1yyp97m5nmd2jxsn1q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base deepseq directory dlist fgl graphviz haskell-src-exts mtl
+         optparse-applicative process uniplate
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/benzrf/vampire";
+       description = "Analyze and visualize expression trees";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "var" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "var";
+       version = "0.2.0.0";
+       sha256 = "1vc36yy8mvzy14jj8ly8ldc4d9vrcgyjfq3dpnzp6fhycg5kkv2i";
+       buildDepends = [ base transformers ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/sonyandy/var";
+       description = "Mutable variables and tuples";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "varan" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, cmdargs, mtl
+     , parallel, random, statistics
+     }:
+     mkDerivation {
+       pname = "varan";
+       version = "0.5.1";
+       sha256 = "1hvpx4jw0lwcnc4x8vwdqp7rv8779p7xaw57cphkax13f3rwm372";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring cmdargs mtl parallel random
+         statistics
+       ];
+       description = "Process mpileup output to identify significant differences";
+       license = "GPL";
+     }) {};
+
+  "variable-precision" = callPackage
+    ({ mkDerivation, base, complex-generic, floatshow, integer-gmp
+     , type-level-natural-number
+     }:
+     mkDerivation {
+       pname = "variable-precision";
+       version = "0.4";
+       sha256 = "1qd6mnbg06fn31vp9d4yan8rqxyymjljrlr7m4yvn2ppw560p564";
+       buildDepends = [
+         base complex-generic floatshow integer-gmp
+         type-level-natural-number
+       ];
+       jailbreak = true;
+       homepage = "https://gitorious.org/variable-precision";
+       description = "variable-precision floating point";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "variables" = callPackage
+    ({ mkDerivation, base, hspec, mtl, QuickCheck, stm }:
+     mkDerivation {
+       pname = "variables";
+       version = "0.1.1";
+       sha256 = "0garxmxm11qhp2wm7xib4nrlkfiqbyzf3glkdbqb582nip0sb1rp";
+       buildDepends = [ base mtl stm ];
+       testDepends = [ base hspec mtl QuickCheck stm ];
+       jailbreak = true;
+       homepage = "https://github.com/prophile/variables";
+       description = "Monads with variables, without deep magic";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "vault" = callPackage
+    ({ mkDerivation, base, containers, hashable, unordered-containers
+     }:
+     mkDerivation {
+       pname = "vault";
+       version = "0.3.0.4";
+       sha256 = "0ah6qrg71krc87f4vjy4b4shdd0mgyil8fikb3j6fl4kfwlg67jn";
+       buildDepends = [ base containers hashable unordered-containers ];
+       homepage = "https://github.com/HeinrichApfelmus/vault";
+       description = "a persistent store for values of arbitrary types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vaultaire-common" = callPackage
+    ({ mkDerivation, async, attoparsec, base, blaze-builder, bytestring
+     , cereal, containers, hashable, hslogger, hspec, locators, mtl
+     , old-locale, packer, QuickCheck, siphash, text, time, transformers
+     , unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "vaultaire-common";
+       version = "2.9.1";
+       sha256 = "178lh1cxk6ayb4918xas0g7zlan8282vjflm220pzymnxz07chsr";
+       buildDepends = [
+         async attoparsec base blaze-builder bytestring cereal containers
+         hashable hslogger locators old-locale packer QuickCheck siphash
+         text time transformers unix unordered-containers
+       ];
+       testDepends = [
+         base bytestring containers hspec locators mtl QuickCheck text
+         unordered-containers
+       ];
+       description = "Common types and instances for Vaultaire";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vcache" = callPackage
+    ({ mkDerivation, base, bytestring, containers, direct-murmur-hash
+     , easy-file, filelock, lmdb, random, stm, transformers
+     }:
+     mkDerivation {
+       pname = "vcache";
+       version = "0.2.4";
+       sha256 = "1dfdfcvq6554dxda1h2mnl1ggm39k8w779836v3dwpi0wnq4x249";
+       buildDepends = [
+         base bytestring containers direct-murmur-hash easy-file filelock
+         lmdb random stm transformers
+       ];
+       homepage = "http://github.com/dmbarbour/haskell-vcache";
+       description = "semi-transparent persistence for Haskell using LMDB, STM";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vcache-trie" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-builder
+     , vcache
+     }:
+     mkDerivation {
+       pname = "vcache-trie";
+       version = "0.1.1";
+       sha256 = "12nfik4fp5snxf8w3kp6r6v327i9izs18aflj90ib0gq267qrlnk";
+       buildDepends = [ array base bytestring bytestring-builder vcache ];
+       homepage = "http://github.com/dmbarbour/haskell-vcache-trie";
+       description = "patricia tries modeled above VCache";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vcard" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mime-directory }:
+     mkDerivation {
+       pname = "vcard";
+       version = "0.1.4";
+       sha256 = "1wa1pdfw7ykmq72af63fh999il5nighf7689265hn3i5awm1m16p";
+       buildDepends = [ base bytestring containers mime-directory ];
+       homepage = "http://github.com/mboes/vCard";
+       description = "A library for parsing/printing vCards from/to various formats";
+       license = "LGPL";
+     }) {};
+
+  "vcd" = callPackage
+    ({ mkDerivation, base, polyparse }:
+     mkDerivation {
+       pname = "vcd";
+       version = "0.2.2";
+       sha256 = "0x0smhllghzn0xjfk5cwxaf1vnd2yp3saxw92ylyws8a546mzhzm";
+       buildDepends = [ base polyparse ];
+       homepage = "http://tomahawkins.org";
+       description = "Reading and writing VCD files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vcs-revision" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "vcs-revision";
+       version = "0.0.2";
+       sha256 = "1lp1wf440n7kinmxz7la0gyfqfdlip6f0bn8pmwkxd1dqyrvg5cg";
+       buildDepends = [ base process ];
+       description = "Facilities for accessing the version control revision of the current directory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vcsgui" = callPackage
+    ({ mkDerivation, base, directory, filepath, gtk3, mtl, process
+     , text, vcswrapper
+     }:
+     mkDerivation {
+       pname = "vcsgui";
+       version = "0.1.1.0";
+       sha256 = "1sjkg1ncmpymv9m5ag1f4ia4pdak05bgb03d28jd84p24qvshqyk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath gtk3 mtl process text vcswrapper
+       ];
+       homepage = "https://github.com/forste/haskellVCSGUI";
+       description = "GUI library for source code management systems";
+       license = "GPL";
+     }) {};
+
+  "vcswrapper" = callPackage
+    ({ mkDerivation, base, directory, filepath, hxt, mtl, parsec
+     , process, split, text
+     }:
+     mkDerivation {
+       pname = "vcswrapper";
+       version = "0.1.1";
+       sha256 = "056gdgmyprvbz61gfffkpwfyh4m7f9fnglk69jp4xh4jfx1wr7ni";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath hxt mtl parsec process split text
+       ];
+       homepage = "https://github.com/forste/haskellVCSWrapper";
+       description = "Wrapper for source code management systems";
+       license = "GPL";
+     }) {};
+
+  "vect" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "vect";
+       version = "0.4.7";
+       sha256 = "1049jh8rcxfnyckz5m5asdlyafqszlig96k387raldyfzbrf8f4d";
+       buildDepends = [ base random ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "A low-dimensional linear algebra library, tailored to computer graphics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vect-floating" = callPackage
+    ({ mkDerivation, base, random }:
+     mkDerivation {
+       pname = "vect-floating";
+       version = "0.1.0.4";
+       sha256 = "1kxsjsiqqpi7k0xz597z7r2fd45s38plgk6jplzxagg0i3bm0q4g";
+       buildDepends = [ base random ];
+       jailbreak = true;
+       homepage = "http://github.com/cpdurham/vect-floating";
+       description = "A low-dimensional linear algebra library, operating on the Floating typeclass";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vect-floating-accelerate" = callPackage
+    ({ mkDerivation, accelerate, base, vect-floating }:
+     mkDerivation {
+       pname = "vect-floating-accelerate";
+       version = "0.1.0.4";
+       revision = "1";
+       sha256 = "10mn2gvpkp14j7rc7cc66x30k7xh56xpp04ak1aj8p46rsy75s4x";
+       editedCabalFile = "af7a5778a0ab8e79fdd4d535aeda7dba18ead15ea3f0b5ae87c3b17c5a076216";
+       buildDepends = [ accelerate base vect-floating ];
+       homepage = "http://github.com/cpdurham/vect-floating-accelerate";
+       description = "Accelerate instances for vect-floating types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vect-opengl" = callPackage
+    ({ mkDerivation, base, OpenGL, vect }:
+     mkDerivation {
+       pname = "vect-opengl";
+       version = "0.4.6.1";
+       sha256 = "1qp98j6bgldjcs71pd7iqc5sjf1ixb1jj0l267hw532j4yf81dig";
+       buildDepends = [ base OpenGL vect ];
+       homepage = "http://code.haskell.org/~bkomuves/";
+       description = "OpenGL support for the `vect' low-dimensional linear algebra library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector_0_10_9_3" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, primitive }:
+     mkDerivation {
+       pname = "vector";
+       version = "0.10.9.3";
+       sha256 = "08mlg0v7an6mm04skvxrgfndab0wikfs4glv7jj8ylxwc8959kdx";
+       buildDepends = [ base deepseq ghc-prim primitive ];
+       homepage = "https://github.com/haskell/vector";
+       description = "Efficient Arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector" = callPackage
+    ({ mkDerivation, base, deepseq, ghc-prim, primitive, QuickCheck
+     , random, template-haskell, test-framework
+     , test-framework-quickcheck2, transformers
+     }:
+     mkDerivation {
+       pname = "vector";
+       version = "0.10.12.3";
+       sha256 = "16p8i0gvc9d4n9mxlhlnvrl2s0gmgd7kcsk5czdzz2cd4gh5qxhg";
+       buildDepends = [ base deepseq ghc-prim primitive ];
+       testDepends = [
+         base QuickCheck random template-haskell test-framework
+         test-framework-quickcheck2 transformers
+       ];
+       homepage = "https://github.com/haskell/vector";
+       description = "Efficient Arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-algorithms" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, mwc-random
+     , primitive, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "vector-algorithms";
+       version = "0.6.0.4";
+       sha256 = "09f0kds50xa0r2l837gqarzazvlhx2afvvykkqiwjqma9caj52av";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring mtl mwc-random primitive vector ];
+       testDepends = [ base bytestring containers QuickCheck vector ];
+       homepage = "http://code.haskell.org/~dolio/";
+       description = "Efficient algorithms for vector arrays";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-binary" = callPackage
+    ({ mkDerivation, base, binary, vector }:
+     mkDerivation {
+       pname = "vector-binary";
+       version = "0.1.1";
+       sha256 = "1qdjibh3ywfa0lvawdahnr9qhh2qy6899lm5inbzmksjpykgbazz";
+       buildDepends = [ base binary vector ];
+       homepage = "https://github.com/kawu/vector-binary";
+       description = "Binary instances for vector types (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-binary-instances" = callPackage
+    ({ mkDerivation, base, binary, cereal, vector }:
+     mkDerivation {
+       pname = "vector-binary-instances";
+       version = "0.2.1.0";
+       sha256 = "028rsf2w193rhs1gic5yvvrwidw9sblczcn10aw64npfc6502l4l";
+       buildDepends = [ base binary cereal vector ];
+       homepage = "https://github.com/bos/vector-binary-instances";
+       description = "Instances of Data.Binary and Data.Serialize for vector";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-buffer" = callPackage
+    ({ mkDerivation, base, deepseq, vector }:
+     mkDerivation {
+       pname = "vector-buffer";
+       version = "0.4.1";
+       sha256 = "16zxc2d25qd15nankhc974ax7q3y72mg5a77v5jsfrw291brnnlv";
+       buildDepends = [ base deepseq vector ];
+       description = "A buffer compatible with Data.Vector.*";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deepseq, directory
+     , ghc-prim, primitive, QuickCheck, random, vector
+     }:
+     mkDerivation {
+       pname = "vector-bytestring";
+       version = "0.0.0.1";
+       sha256 = "0xiksm1136azrcidcsi9g59i1nb9r8lhzsn1fhnp830sr63fy7k4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring criterion deepseq ghc-prim primitive vector
+       ];
+       testDepends = [ base directory QuickCheck random ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/vector-bytestring";
+       description = "ByteStrings as type synonyms of Storable Vectors of Word8s";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vector-clock" = callPackage
+    ({ mkDerivation, array, base, binary, ghc-prim, hashable, HUnit
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "vector-clock";
+       version = "0.2.2";
+       sha256 = "0ndp25w61rcj4sadvhxlirrk1dhk7rmdzv9kha7kyqa41whr9629";
+       buildDepends = [ base binary ghc-prim hashable ];
+       testDepends = [
+         array base binary ghc-prim HUnit QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       homepage = "https://github.com/scvalex/vector-clock";
+       description = "Vector clocks for versioning message flows";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "vector-conduit" = callPackage
+    ({ mkDerivation, base, conduit, HUnit, primitive, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , vector
+     }:
+     mkDerivation {
+       pname = "vector-conduit";
+       version = "0.5.0.0";
+       sha256 = "10mqmxfqzqcgxf0isv611ailq03smdfybviamxpskncbf15sc6g1";
+       buildDepends = [ base conduit primitive vector ];
+       testDepends = [
+         base conduit HUnit primitive QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       jailbreak = true;
+       description = "Conduit utilities for vectors";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vector-fftw" = callPackage
+    ({ mkDerivation, base, fftw3, primitive, storable-complex, vector
+     }:
+     mkDerivation {
+       pname = "vector-fftw";
+       version = "0.1.3.2";
+       sha256 = "0rfvr86yiwp4wb9qjggbbacmgkfj6xrk6h7xb4xmhmk88slvifm0";
+       buildDepends = [ base primitive storable-complex vector ];
+       extraLibraries = [ fftw3 ];
+       homepage = "http://hackage.haskell.org/package/vector-fftw";
+       description = "A binding to the fftw library for one-dimensional vectors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { fftw3 = null;};
+
+  "vector-functorlazy" = callPackage
+    ({ mkDerivation, base, ghc-prim, primitive, vector, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "vector-functorlazy";
+       version = "0.0.1";
+       sha256 = "0ysic3f5xw675bk095pby9ihbgcxpkj4pgp61dwr354w28l0yc03";
+       buildDepends = [ base ghc-prim primitive vector vector-th-unbox ];
+       homepage = "http://github.com/mikeizbicki/vector-functorlazy/";
+       description = "vectors that perform the fmap operation in constant time";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vector-heterogenous" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "vector-heterogenous";
+       version = "0.2.0";
+       sha256 = "14v0qj2r484pwbjhdymvdqjnsbqszl9wr71hv6wsvs2d8ja1bajl";
+       buildDepends = [ base vector ];
+       homepage = "http://github.com/mikeizbicki/vector-heterogenous/";
+       description = "A type-safe library for vectors whose elements can be of any type, or any type satisfying some constraints";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-instances" = callPackage
+    ({ mkDerivation, base, comonad, keys, pointed, semigroupoids
+     , semigroups, vector
+     }:
+     mkDerivation {
+       pname = "vector-instances";
+       version = "3.3.0.1";
+       sha256 = "1npgvnv8pw5xcax57cam9n5j9ra9phm4b5jj26hbpzwnlh0rkcc4";
+       buildDepends = [
+         base comonad keys pointed semigroupoids semigroups vector
+       ];
+       homepage = "http://github.com/ekmett/vector-instances";
+       description = "Orphan Instances for 'Data.Vector'";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-instances-collections" = callPackage
+    ({ mkDerivation, base, collections-api, template-haskell, vector }:
+     mkDerivation {
+       pname = "vector-instances-collections";
+       version = "0.1.0.1";
+       sha256 = "13xk2iwdwrnmdm33z0fmj4sg3irih4ayl3q5pgz31qs9kcsbhi0s";
+       buildDepends = [ base collections-api template-haskell vector ];
+       jailbreak = true;
+       homepage = "http://github.com/kreuzschlitzschraubenzieher/vector-instances-collections";
+       description = "Instances of the Data.Collections classes for Data.Vector.*";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-mmap" = callPackage
+    ({ mkDerivation, base, mmap, primitive, vector }:
+     mkDerivation {
+       pname = "vector-mmap";
+       version = "0.0.2";
+       sha256 = "03hczjc7j1hxnny912cblxdwn908gwm012w03zgj2v9avldp0gmr";
+       buildDepends = [ base mmap primitive vector ];
+       homepage = "http://github.com/pumpkin/vector-mmap";
+       description = "Memory map immutable and mutable vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-random" = callPackage
+    ({ mkDerivation, base, mersenne-random-pure64, vector }:
+     mkDerivation {
+       pname = "vector-random";
+       version = "0.2";
+       sha256 = "1f74q4bs5mbcw8xg4sxb46ks5x121lbbr6cl09ssr09cpykkbdvb";
+       buildDepends = [ base mersenne-random-pure64 vector ];
+       homepage = "http://code.haskell.org/~dons/code/vector-random";
+       description = "Generate vectors filled with high quality pseudorandom numbers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vector-read-instances" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "vector-read-instances";
+       version = "0.0.2.0";
+       sha256 = "1k30n5qh16sdfxy77vp10bx52lb1ffmjn70vg87hx12j8wg9vbv6";
+       buildDepends = [ base vector ];
+       homepage = "http://www.tbi.univie.ac.at/~choener/";
+       description = "(deprecated) Read instances for 'Data.Vector'";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vector-space" = callPackage
+    ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }:
+     mkDerivation {
+       pname = "vector-space";
+       version = "0.10.2";
+       sha256 = "0n78g23jw6pcilkssnkqvnq1z8ram1al6cbas24ziacdwjbw6zah";
+       buildDepends = [ base Boolean MemoTrie NumInstances ];
+       description = "Vector & affine spaces, linear maps, and derivatives";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-space-map" = callPackage
+    ({ mkDerivation, base, containers, vector-space }:
+     mkDerivation {
+       pname = "vector-space-map";
+       version = "0.1.0.1";
+       sha256 = "1s5hh7dlbw1ai3nqqcavrqgidddfj99mi0gmhf2x2zn6ag86xr8b";
+       buildDepends = [ base containers vector-space ];
+       jailbreak = true;
+       homepage = "https://github.com/conklech/vector-space-map";
+       description = "vector-space operations for finite maps using Data.Map";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "vector-space-opengl" = callPackage
+    ({ mkDerivation, base, ieee754, OpenGL, QuickCheck, test-framework
+     , test-framework-quickcheck2, test-framework-th, vector-space
+     }:
+     mkDerivation {
+       pname = "vector-space-opengl";
+       version = "0.2";
+       sha256 = "17rczadmjiblh96r7bfcxy53m7ig534qqcf35i7w6x90354dyiaw";
+       buildDepends = [ base OpenGL vector-space ];
+       testDepends = [
+         base ieee754 OpenGL QuickCheck test-framework
+         test-framework-quickcheck2 test-framework-th vector-space
+       ];
+       description = "Instances of vector-space classes for OpenGL types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-space-points" = callPackage
+    ({ mkDerivation, base, vector-space }:
+     mkDerivation {
+       pname = "vector-space-points";
+       version = "0.2.1.1";
+       sha256 = "0d5k7wmwhm9y2jif4fy71bnp8nwbfnkh033nzhiw36wfl35aaznp";
+       buildDepends = [ base vector-space ];
+       description = "A type for points, as distinct from vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-static" = callPackage
+    ({ mkDerivation, base, primitive, vector }:
+     mkDerivation {
+       pname = "vector-static";
+       version = "0.3.0.1";
+       sha256 = "19spzrk64j2rgyi15dvs8gfbx3nc79ybssaxkv8dn9df4fwksv91";
+       buildDepends = [ base primitive vector ];
+       jailbreak = true;
+       homepage = "http://github.com/geezusfreeek/vector-static";
+       description = "Statically checked sizes on Data.Vector";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vector-strategies" = callPackage
+    ({ mkDerivation, base, deepseq, parallel, vector }:
+     mkDerivation {
+       pname = "vector-strategies";
+       version = "0.4";
+       sha256 = "04vaizcc78q94vpaly28iwhlwk6nwrsa6jmcq2afdl6yqp63njc6";
+       buildDepends = [ base deepseq parallel vector ];
+       description = "A parallel evaluation strategy for boxed vectors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vector-th-unbox" = callPackage
+    ({ mkDerivation, base, data-default, template-haskell, vector }:
+     mkDerivation {
+       pname = "vector-th-unbox";
+       version = "0.2.1.2";
+       sha256 = "01admr0akldwwmzmc465f5dbqmq03ldvma67kibanjs25m39dxhd";
+       buildDepends = [ base template-haskell vector ];
+       testDepends = [ base data-default vector ];
+       description = "Deriver for Data.Vector.Unboxed using Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "verbalexpressions" = callPackage
+    ({ mkDerivation, base, regex-pcre }:
+     mkDerivation {
+       pname = "verbalexpressions";
+       version = "1.0.0.0";
+       sha256 = "0wai72bqb1vp4p7ml1yj2jdmkjglihai9vhmgj7ri6y2qgzkpwly";
+       buildDepends = [ base regex-pcre ];
+       jailbreak = true;
+       homepage = "https://github.com/VerbalExpressions/HaskellVerbalExpressions";
+       description = "Regular expressions made easy";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "verilog" = callPackage
+    ({ mkDerivation, alex, array, base, happy }:
+     mkDerivation {
+       pname = "verilog";
+       version = "0.0.11";
+       sha256 = "0lhl6zcf8f8ndyqx7ksj1qy4a5wnhvphsawb944d5rynrnj8fd46";
+       buildDepends = [ array base ];
+       buildTools = [ alex happy ];
+       homepage = "http://github.com/tomahawkins/verilog";
+       description = "Verilog preprocessor, parser, and AST";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vhd" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, cereal, cipher-aes
+     , cryptohash, directory, filepath, mmap, QuickCheck, random
+     , storable-endian, test-framework, test-framework-quickcheck2, text
+     , time
+     }:
+     mkDerivation {
+       pname = "vhd";
+       version = "0.2.2";
+       sha256 = "0z7a17j0rd06kvn3v4qr0fhxg0xw6n3579477y2lvx4mcc3qyrvw";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base byteable bytestring cereal cipher-aes cryptohash directory
+         filepath mmap random storable-endian text time
+       ];
+       testDepends = [
+         base byteable bytestring cereal cryptohash filepath mmap QuickCheck
+         random test-framework test-framework-quickcheck2 text time
+       ];
+       homepage = "https://github.com/vincenthz/hs-vhd";
+       description = "Provides functions to inspect and manipulate virtual hard disk (VHD) files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vhdl" = callPackage
+    ({ mkDerivation, base, mtl, pretty, regex-posix }:
+     mkDerivation {
+       pname = "vhdl";
+       version = "0.1.2.1";
+       sha256 = "1bi8n8m9an1hcj4c6i2ifqyadg32nq4viffi1kiihaw3j7dh552b";
+       buildDepends = [ base mtl pretty regex-posix ];
+       description = "VHDL AST and pretty printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "views" = callPackage
+    ({ mkDerivation, base, mtl }:
+     mkDerivation {
+       pname = "views";
+       version = "1.0";
+       sha256 = "0kzwp58lki3jvx09n6w8rc97idhy947xqik72p2fqjyigkymv04h";
+       buildDepends = [ base mtl ];
+       jailbreak = true;
+       description = "Views allow you to run a State monad on part of a state";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vigilance" = callPackage
+    ({ mkDerivation, acid-state, aeson, async, attoparsec, base
+     , blaze-builder, bytestring, classy-prelude, configurator
+     , containers, data-store, derive, directory, either, entropy
+     , errors, fast-logger, hspec, hspec-expectations, http-streams
+     , http-types, HUnit, interpolatedstring-perl6, io-streams, lens
+     , mime-mail, monad-logger, monad-loops, mtl, optparse-applicative
+     , QuickCheck, quickcheck-properties, safecopy, stm
+     , template-haskell, text, time, transformers, unix
+     , unordered-containers, vector, wai, wai-extra, warp, yesod
+     , yesod-core, yesod-platform
+     }:
+     mkDerivation {
+       pname = "vigilance";
+       version = "0.1.0.1";
+       sha256 = "1qmwqc2cgrmcjcdfwz0hmfn1irzrwbb7mybrl7myf711sri9ng45";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         acid-state aeson async attoparsec base blaze-builder bytestring
+         classy-prelude configurator containers data-store directory either
+         entropy errors fast-logger http-streams http-types
+         interpolatedstring-perl6 io-streams lens mime-mail monad-logger
+         monad-loops mtl optparse-applicative safecopy stm template-haskell
+         text time transformers unix unordered-containers vector wai
+         wai-extra warp yesod yesod-core yesod-platform
+       ];
+       testDepends = [
+         acid-state aeson async attoparsec base blaze-builder bytestring
+         classy-prelude configurator containers data-store derive directory
+         entropy errors fast-logger hspec hspec-expectations http-streams
+         http-types HUnit interpolatedstring-perl6 io-streams lens mime-mail
+         monad-loops mtl QuickCheck quickcheck-properties safecopy stm text
+         time transformers unix unordered-containers vector warp yesod
+         yesod-core yesod-platform
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/michaelxavier/vigilance";
+       description = "An extensible dead-man's switch system";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vimus" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, containers, data-default
+     , deepseq, directory, filepath, hspec, hspec-expectations, libmpd
+     , mtl, ncurses, old-locale, process, QuickCheck, template-haskell
+     , time, transformers, utf8-string, wcwidth
+     }:
+     mkDerivation {
+       pname = "vimus";
+       version = "0.2.0";
+       sha256 = "0s7hfyil9rnr9rmjb08g1l1sxybx3qdkw2f59p433fkdjp2m140h";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-default deepseq directory filepath
+         libmpd mtl old-locale process template-haskell time utf8-string
+         wcwidth
+       ];
+       testDepends = [
+         base data-default hspec hspec-expectations mtl QuickCheck
+         transformers wcwidth
+       ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ ncurses ];
+       description = "An MPD client with vim-like key bindings";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) ncurses;};
+
+  "vintage-basic" = callPackage
+    ({ mkDerivation, array, base, directory, filepath, HUnit, mtl
+     , parsec, process, random, regex-base, regex-posix, time
+     }:
+     mkDerivation {
+       pname = "vintage-basic";
+       version = "1.0.1";
+       sha256 = "0hmnkmg6sz702nplh7indlzmv7bb36fmaglf9lw0fziabaj9kk25";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base directory filepath HUnit mtl parsec process random
+         regex-base regex-posix time
+       ];
+       homepage = "http://www.vintage-basic.net";
+       description = "Interpreter for microcomputer-era BASIC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vinyl" = callPackage
+    ({ mkDerivation, base, doctest, ghc-prim, lens, singletons }:
+     mkDerivation {
+       pname = "vinyl";
+       version = "0.5.1";
+       sha256 = "026h8lgz487d9xhfjscnfpykgv1ppk944hl8mb6z7y3c1vh4g63b";
+       buildDepends = [ base ghc-prim ];
+       testDepends = [ base doctest lens singletons ];
+       jailbreak = true;
+       description = "Extensible Records";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "vinyl-gl" = callPackage
+    ({ mkDerivation, base, containers, GLUtil, HUnit, linear, OpenGL
+     , tagged, test-framework, test-framework-hunit, transformers
+     , vector, vinyl
+     }:
+     mkDerivation {
+       pname = "vinyl-gl";
+       version = "0.3.0.1";
+       sha256 = "182ipz8znzk5fi7mpy3m1nbsyqq54p8y0hqycnnbmaxqsmhy6z5a";
+       buildDepends = [
+         base containers GLUtil linear OpenGL tagged transformers vector
+         vinyl
+       ];
+       testDepends = [
+         base HUnit linear OpenGL tagged test-framework test-framework-hunit
+         vinyl
+       ];
+       description = "Utilities for working with OpenGL's GLSL shading language and vinyl records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vinyl-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hlint, template-haskell
+     , text, vinyl
+     }:
+     mkDerivation {
+       pname = "vinyl-json";
+       version = "0.1.0.0";
+       sha256 = "07rjlwalpq67hc4pha6x02qbw5pxaz4yimx8sclps9dl7r76xi5c";
+       buildDepends = [
+         aeson base bytestring template-haskell text vinyl
+       ];
+       testDepends = [ base hlint ];
+       jailbreak = true;
+       description = "Provide json instances automagically to vinyl types";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vinyl-utils" = callPackage
+    ({ mkDerivation, base, contravariant, transformers, vinyl }:
+     mkDerivation {
+       pname = "vinyl-utils";
+       version = "0.1.0.1";
+       sha256 = "07clcs7rmzbwn4w9xzbiwc3flrcn2l5p0k5isapis803fpzdq2p0";
+       buildDepends = [ base contravariant transformers vinyl ];
+       homepage = "http://hub.darcs.net/mjm/vinyl-utils";
+       description = "Utilities for vinyl";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "virthualenv" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, file-embed
+     , filepath, mtl, process, safe, split
+     }:
+     mkDerivation {
+       pname = "virthualenv";
+       version = "0.2.2";
+       sha256 = "08z6dvhv4k6a71dvqhvcfl8s5aq7qcg8aj5xbym3931yykl0gxc2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring Cabal directory file-embed filepath mtl process
+         safe split
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Paczesiowa/virthualenv";
+       description = "Virtual Haskell Environment builder";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vision" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath, glib
+     , gtk, json, MonadCatchIO-transformers, mtl, parsec, PSQueue, stm
+     , url, utf8-string, xmms2-client, xmms2-client-glib
+     }:
+     mkDerivation {
+       pname = "vision";
+       version = "0.0.5.0";
+       sha256 = "1235zclhg4nkd387df4gg3q88hvsqwsdj1j20lnfnclxfah0qxa2";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory filepath glib gtk json
+         MonadCatchIO-transformers mtl parsec PSQueue stm url utf8-string
+         xmms2-client xmms2-client-glib
+       ];
+       description = "An XMMS2 client";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "visual-graphrewrite" = callPackage
+    ({ mkDerivation, base, cairo, containers, directory, fgl, glade
+     , graphviz, gtk, haskell-src, ipprint, isevaluated, lazysmallcheck
+     , parallel, pretty, process, strict-concurrency, svgcairo
+     , value-supply
+     }:
+     mkDerivation {
+       pname = "visual-graphrewrite";
+       version = "0.4.0.1";
+       sha256 = "0myppx9bd8bfhii91lqdp00ckp20bq82754mr01s87l1d01gb4wp";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base cairo containers directory fgl glade graphviz gtk haskell-src
+         ipprint isevaluated lazysmallcheck parallel pretty process
+         strict-concurrency svgcairo value-supply
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/zsol/visual-graphrewrite/";
+       description = "Visualize the graph-rewrite steps of a Haskell program";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "visual-prof" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , haskell-src-exts, mtl, pretty, process, regexpr, split, uniplate
+     }:
+     mkDerivation {
+       pname = "visual-prof";
+       version = "0.5";
+       sha256 = "00wvxsq6yaidiv2izdxsvvfzj8ksrq8y3fky9y68k82ivh7r2y39";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath haskell-src-exts mtl pretty
+         process regexpr split uniplate
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/djv/VisualProf";
+       description = "Create a visual profile of a program's source code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vivid" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , hashable, mtl, network, split, stm
+     }:
+     mkDerivation {
+       pname = "vivid";
+       version = "0.1.0.3";
+       revision = "1";
+       sha256 = "034kjk2lxfbb4hd8z1axccz9alfkm76mpgw39nisvxngjs6si158";
+       editedCabalFile = "de2442ab5d53f8044c99cd0489281bf902ef6615028be780e0df937ae60266da";
+       buildDepends = [
+         base binary bytestring containers deepseq hashable mtl network
+         split stm
+       ];
+       description = "Sound synthesis with SuperCollider";
+       license = "GPL";
+     }) {};
+
+  "vk-aws-route53" = callPackage
+    ({ mkDerivation, aws, base, bytestring, containers, http-conduit
+     , http-types, old-locale, resourcet, text, time, xml-conduit
+     , xml-hamlet
+     }:
+     mkDerivation {
+       pname = "vk-aws-route53";
+       version = "0.1.2";
+       sha256 = "0sblvj89bb7vxgy09m88gcphqc9w2mpawg8kdz0r77y7db0vzb4x";
+       buildDepends = [
+         aws base bytestring containers http-conduit http-types old-locale
+         resourcet text time xml-conduit xml-hamlet
+       ];
+       description = "Amazon Route53 DNS service plugin for the aws package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vk-posix-pty" = callPackage
+    ({ mkDerivation, base, bytestring, process, unix }:
+     mkDerivation {
+       pname = "vk-posix-pty";
+       version = "0.2.1";
+       sha256 = "1kj06niwcsb4lyhppv5bs67cf8frcs4g8fyyzv3cpipn0xdhsr97";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring process unix ];
+       homepage = "https://github.com/proger/posix-pty/tree/fork";
+       description = "Pseudo terminal interaction with subprocesses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "void" = callPackage
+    ({ mkDerivation, base, ghc-prim, hashable, semigroups }:
+     mkDerivation {
+       pname = "void";
+       version = "0.7";
+       sha256 = "0ivgr4minxb5v56v4kbd045iwqk1c2w89c830731l75mkg8qa6wq";
+       buildDepends = [ base ghc-prim hashable semigroups ];
+       homepage = "http://github.com/ekmett/void";
+       description = "A Haskell 98 logically uninhabited data type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vorbiscomment" = callPackage
+    ({ mkDerivation, base, binary-strict, bytestring, mtl, utf8-string
+     }:
+     mkDerivation {
+       pname = "vorbiscomment";
+       version = "0.0.2";
+       sha256 = "12kfih0marcrpw9y6wvxgqy6w73f62yhy02c05wcpwxww5cg9iwx";
+       buildDepends = [ base binary-strict bytestring mtl utf8-string ];
+       description = "Reading of Vorbis comments from Ogg Vorbis files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "vowpal-utils" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "vowpal-utils";
+       version = "0.1.2";
+       sha256 = "09z6nbsj4rqzhksk75glrsrmcs21p8x0jmcpqs6rc9iizz79db8g";
+       buildDepends = [ base bytestring ];
+       jailbreak = true;
+       homepage = "https://github.com/cartazio/Vowpal-Utils";
+       description = "Vowpal Wabbit utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "voyeur" = callPackage
+    ({ mkDerivation, base, bytestring, process, utf8-string }:
+     mkDerivation {
+       pname = "voyeur";
+       version = "0.1.0.1";
+       sha256 = "117xvh6llh3aw8nxrvvqyjaflq35l69b7s4j1sc79p8r972mdwff";
+       buildDepends = [ base bytestring process utf8-string ];
+       homepage = "https://github.com/sethfowler/hslibvoyeur";
+       description = "Haskell bindings for libvoyeur";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vte" = callPackage
+    ({ mkDerivation, base, glib, gtk, gtk2hs-buildtools, pango, vte }:
+     mkDerivation {
+       pname = "vte";
+       version = "0.13.0.2";
+       sha256 = "1w3y88rqkxx3pmcx73kmihivk2k4ywm7jnb9lvmvkgj4bqggis3h";
+       buildDepends = [ base glib gtk pango ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ vte ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the VTE library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs.gnome) vte;};
+
+  "vtegtk3" = callPackage
+    ({ mkDerivation, base, glib, gtk2hs-buildtools, gtk3, pango, vte }:
+     mkDerivation {
+       pname = "vtegtk3";
+       version = "0.13.0.2";
+       sha256 = "0dkmp6s58nmc4qvhmxpn91b1zxf0ard33dkbh4426086k1zkcfzg";
+       buildDepends = [ base glib gtk3 pango ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ vte ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the VTE library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.gnome) vte;};
+
+  "vty" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
+     , data-default, deepseq, directory, filepath, hashable, HUnit, lens
+     , mtl, parallel, parsec, QuickCheck, quickcheck-assertions, random
+     , smallcheck, string-qq, terminfo, test-framework
+     , test-framework-hunit, test-framework-smallcheck, text
+     , transformers, unix, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "vty";
+       version = "5.2.8";
+       sha256 = "01wra0gfv94wbv0blrixix0bggjg9cg72axgg3r9brp7qmh1qv14";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring containers data-default deepseq
+         directory filepath hashable lens mtl parallel parsec terminfo text
+         transformers unix utf8-string vector
+       ];
+       testDepends = [
+         base blaze-builder bytestring Cabal containers data-default deepseq
+         HUnit lens mtl QuickCheck quickcheck-assertions random smallcheck
+         string-qq terminfo test-framework test-framework-hunit
+         test-framework-smallcheck text unix utf8-string vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/coreyoconnor/vty";
+       description = "A simple terminal UI library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vty-examples" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, containers
+     , data-default, deepseq, lens, mtl, parallel, parsec, QuickCheck
+     , random, string-qq, terminfo, text, unix, utf8-string, vector, vty
+     }:
+     mkDerivation {
+       pname = "vty-examples";
+       version = "5.2.0";
+       sha256 = "1iyygg5sy59f586d31zxdaz1jnpwrir6bfissarb0ag55dhl1j8x";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring Cabal containers data-default deepseq lens
+         mtl parallel parsec QuickCheck random string-qq terminfo text unix
+         utf8-string vector vty
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/coreyoconnor/vty";
+       description = "Examples programs using the vty library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vty-menu" = callPackage
+    ({ mkDerivation, base, vty }:
+     mkDerivation {
+       pname = "vty-menu";
+       version = "0.0.3";
+       sha256 = "1ak6k43w381qg41mc5k5shbkwzg35kvh89yldimwk5a5sc08sqbi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base vty ];
+       jailbreak = true;
+       description = "A lib for displaying a menu and getting a selection using VTY";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "vty-ui" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-default
+     , directory, filepath, mtl, old-locale, QuickCheck, random
+     , regex-base, stm, text, time, unix, vector, vty
+     }:
+     mkDerivation {
+       pname = "vty-ui";
+       version = "1.8";
+       sha256 = "08jrcwml5g74mp4wy7kqp9jd5mfbxl04517v5354jiwn4dc77azm";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base bytestring containers data-default directory filepath
+         mtl old-locale QuickCheck random regex-base stm text time unix
+         vector vty
+       ];
+       homepage = "http://jtdaugherty.github.com/vty-ui/";
+       description = "An interactive terminal user interface library for Vty";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "vty-ui-extras" = callPackage
+    ({ mkDerivation, base, regex-base, regex-pcre, vty, vty-ui }:
+     mkDerivation {
+       pname = "vty-ui-extras";
+       version = "0.1";
+       sha256 = "1c60bvhk1riilj7sl7x7nw4d9yg56f2k0ps1aivmjm0q4brhgnx7";
+       buildDepends = [ base regex-base regex-pcre vty vty-ui ];
+       jailbreak = true;
+       description = "Extra vty-ui functionality not included in the core library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, hspec, http-types
+     , network, text, vault
+     }:
+     mkDerivation {
+       pname = "wai";
+       version = "3.0.2.3";
+       sha256 = "1mrry121xjgd2h69m35khgsiicrwhg7ysa7mzm6bw3ac41xc08ns";
+       buildDepends = [
+         base blaze-builder bytestring http-types network text vault
+       ];
+       testDepends = [ base blaze-builder bytestring hspec ];
+       homepage = "https://github.com/yesodweb/wai";
+       description = "Web Application Interface";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "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
+     }:
+     mkDerivation {
+       pname = "wai-app-file-cgi";
+       version = "3.0.7";
+       sha256 = "0ggxsnqk0wc47l98sykhyq7qwfys58y4048v1pqdd35w4p92qhbr";
+       buildDepends = [
+         array attoparsec attoparsec-conduit base blaze-builder blaze-html
+         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
+         word8
+       ];
+       testDepends = [
+         base bytestring conduit conduit-extra directory doctest filepath
+         hspec HTTP http-types unix wai warp
+       ];
+       homepage = "http://www.mew.org/~kazu/proj/mighttpd/";
+       description = "File/CGI/Rev Proxy App of WAI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-app-static" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, blaze-html
+     , blaze-markup, byteable, bytestring, containers, cryptohash
+     , cryptohash-conduit, directory, file-embed, filepath, hspec
+     , http-date, http-types, mime-types, network, old-locale
+     , optparse-applicative, system-fileio, system-filepath
+     , template-haskell, text, time, transformers, unix-compat
+     , unordered-containers, wai, wai-extra, warp, zlib
+     }:
+     mkDerivation {
+       pname = "wai-app-static";
+       version = "3.0.1";
+       sha256 = "0c2zhkm9c9ixaj210npi5vlm4rnyj56nxakjz63kahna121qjqak";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring blaze-builder blaze-html blaze-markup
+         byteable bytestring containers cryptohash cryptohash-conduit
+         directory file-embed filepath http-date http-types mime-types
+         old-locale optparse-applicative system-fileio system-filepath
+         template-haskell text time transformers unix-compat
+         unordered-containers wai wai-extra warp zlib
+       ];
+       testDepends = [
+         base bytestring hspec http-date http-types mime-types network
+         old-locale text time transformers unix-compat wai wai-extra zlib
+       ];
+       homepage = "http://www.yesodweb.com/book/web-application-interface";
+       description = "WAI application for static serving";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-conduit" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, conduit
+     , http-types, transformers, wai
+     }:
+     mkDerivation {
+       pname = "wai-conduit";
+       version = "3.0.0.2";
+       sha256 = "1wqn8biq0ghz7ikmlq7x7vpdq2yc7mk9rnz9vlng7vcm7wpqilj7";
+       buildDepends = [
+         base blaze-builder bytestring conduit http-types transformers wai
+       ];
+       homepage = "https://github.com/yesodweb/wai";
+       description = "conduit wrappers for WAI";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-cors" = callPackage
+    ({ mkDerivation, attoparsec, base, base-unicode-symbols, bytestring
+     , case-insensitive, charset, errors, http-types, parsers, resourcet
+     , transformers, wai
+     }:
+     mkDerivation {
+       pname = "wai-cors";
+       version = "0.2.1";
+       sha256 = "1bdnlrpq8s8rb3ybnv8rmmvid5j38gsps65dhlpys32ljhfzzklz";
+       buildDepends = [
+         attoparsec base base-unicode-symbols bytestring case-insensitive
+         charset errors http-types parsers resourcet transformers wai
+       ];
+       homepage = "https://github.com/alephcloud/wai-cors";
+       description = "CORS for WAI";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-digestive-functors" = callPackage
+    ({ mkDerivation, base, digestive-functors, http-types, resourcet
+     , text, transformers, wai, wai-extra, wai-util
+     }:
+     mkDerivation {
+       pname = "wai-digestive-functors";
+       version = "0.3";
+       sha256 = "04l9m43gm1zcgq32c70870kygy87p44zb4kvqcvi86zcspqdgpld";
+       buildDepends = [
+         base digestive-functors http-types resourcet text transformers wai
+         wai-extra wai-util
+       ];
+       homepage = "https://github.com/singpolyma/wai-digestive-functors";
+       description = "Helpers to bind digestive-functors onto wai requests";
+       license = "unknown";
+     }) {};
+
+  "wai-dispatch" = callPackage
+    ({ mkDerivation, base, text, wai, yesod-routes }:
+     mkDerivation {
+       pname = "wai-dispatch";
+       version = "0.1";
+       sha256 = "1qyarjbpnngb2x272gkmvrhy3f8kqygxj4nvi6giz09rdx9pfrza";
+       buildDepends = [ base text wai yesod-routes ];
+       homepage = "https://github.com/singpolyma/wai-dispatch";
+       description = "Nice wrapper around yesod-routes for use with WAI";
+       license = "unknown";
+     }) {};
+
+  "wai-eventsource" = callPackage
+    ({ mkDerivation, wai }:
+     mkDerivation {
+       pname = "wai-eventsource";
+       version = "3.0.0";
+       sha256 = "1h5zlqky7ldqbmiaixizhk1s8ghf5i3ha1xfz8flxgzr7gr0al3q";
+       buildDepends = [ wai ];
+       homepage = "http://www.yesodweb.com/book/web-application-interface";
+       description = "WAI support for server-sent events (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-extra" = callPackage
+    ({ mkDerivation, ansi-terminal, base, base64-bytestring
+     , blaze-builder, bytestring, case-insensitive, containers, cookie
+     , data-default-class, deepseq, directory, fast-logger, hspec
+     , http-types, HUnit, lifted-base, network, old-locale, resourcet
+     , streaming-commons, stringsearch, text, time, transformers, unix
+     , unix-compat, void, wai, wai-logger, word8, zlib
+     }:
+     mkDerivation {
+       pname = "wai-extra";
+       version = "3.0.6.1";
+       sha256 = "15wxr9y1f87q3wh5zkrv7d7w2mb9s4jd6l6cxwj9cgk0yw2nbi5f";
+       buildDepends = [
+         ansi-terminal base base64-bytestring blaze-builder bytestring
+         case-insensitive containers cookie data-default-class deepseq
+         directory fast-logger http-types lifted-base network old-locale
+         resourcet streaming-commons stringsearch text time transformers
+         unix unix-compat void wai wai-logger word8
+       ];
+       testDepends = [
+         base blaze-builder bytestring 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;
+     }) {};
+
+  "wai-frontend-monadcgi" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, cgi
+     , containers, http-types, transformers, wai
+     }:
+     mkDerivation {
+       pname = "wai-frontend-monadcgi";
+       version = "3.0.0.1";
+       sha256 = "0g0lkkfcfi9vldl0g4r6qy8an1hsd4xnqw9z8d66mw696ydynvsj";
+       buildDepends = [
+         base bytestring case-insensitive cgi containers http-types
+         transformers wai
+       ];
+       description = "Run CGI apps on WAI";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-graceful" = callPackage
+    ({ mkDerivation, base, http-types, mtl, resourcet, unix, wai }:
+     mkDerivation {
+       pname = "wai-graceful";
+       version = "0.1.0.1";
+       sha256 = "0a06yrakg9gwjjj4f9nr474j8i8xz642aj56m8vaq621i1kn7jaq";
+       buildDepends = [ base http-types mtl resourcet unix wai ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/dpwiz/wai-graceful";
+       description = "Graceful shutdown for WAI applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-handler-devel" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, cmdargs, directory
+     , hint, http-types, network, old-time, text, time, transformers
+     , wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "wai-handler-devel";
+       version = "2.0.0.2";
+       sha256 = "13f3w31kr3zinll76i6y3walpyqz3i1rlbsh3d7c5p8hp2d88bzy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring cmdargs directory hint http-types
+         network old-time text time transformers wai wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/yesodweb/wai";
+       description = "WAI server that automatically reloads code after modification. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-handler-fastcgi" = callPackage
+    ({ mkDerivation, base, bytestring, fcgi, wai, wai-extra }:
+     mkDerivation {
+       pname = "wai-handler-fastcgi";
+       version = "3.0.0.1";
+       sha256 = "14lm9vbh213jxd1nkxcipisja90h3ay6mi6iiim65k7snm3b7w1v";
+       buildDepends = [ base bytestring wai wai-extra ];
+       extraLibraries = [ fcgi ];
+       homepage = "http://www.yesodweb.com/book/web-application-interface";
+       description = "Wai handler to fastcgi";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) fcgi;};
+
+  "wai-handler-launch" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, http-types
+     , process, streaming-commons, transformers, wai, warp
+     }:
+     mkDerivation {
+       pname = "wai-handler-launch";
+       version = "3.0.0.3";
+       sha256 = "1nx90z37f296gqh0m9rgvw7899jizpclb6fbwhp98byy9s2ssabl";
+       buildDepends = [
+         base blaze-builder bytestring http-types process streaming-commons
+         transformers wai warp
+       ];
+       description = "Launch a web app in the default browser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-handler-scgi" = callPackage
+    ({ mkDerivation, base, bytestring, wai, wai-extra }:
+     mkDerivation {
+       pname = "wai-handler-scgi";
+       version = "2.0.0.2";
+       sha256 = "0h7d78d641bjsnmxsnz4b7s9pw4x0y0xi8bld51y4nqnbjl8gvac";
+       buildDepends = [ base bytestring wai wai-extra ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/book/web-application-interface";
+       description = "Wai handler to SCGI (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-handler-snap" = callPackage
+    ({ mkDerivation, base, bytestring, containers, enumerator
+     , snap-core, snap-server, transformers, wai
+     }:
+     mkDerivation {
+       pname = "wai-handler-snap";
+       version = "0.1.1";
+       sha256 = "0akk9h7m1hhdggbhj0grss94jzm13fmcmgj51nvh7mfj6f5kj31l";
+       buildDepends = [
+         base bytestring containers enumerator snap-core snap-server
+         transformers wai
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/wai-handler-snap";
+       description = "Web Application Interface handler using snap-server. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-handler-webkit" = callPackage
+    ({ mkDerivation, base, QtWebKit, wai, warp }:
+     mkDerivation {
+       pname = "wai-handler-webkit";
+       version = "3.0.0.1";
+       sha256 = "1fm985jq1sa8v3vj850cpcjl6kcyq2kgq6xwpb1rmzi8zmb80kpc";
+       buildDepends = [ base wai warp ];
+       pkgconfigDepends = [ QtWebKit ];
+       homepage = "https://github.com/yesodweb/wai/tree/master/wai-handler-webkit";
+       description = "Turn WAI applications into standalone GUIs using QtWebkit";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { QtWebKit = null;};
+
+  "wai-hastache" = callPackage
+    ({ mkDerivation, base, bytestring, hastache, http-types
+     , transformers, wai
+     }:
+     mkDerivation {
+       pname = "wai-hastache";
+       version = "0.1";
+       sha256 = "1kkn8n33cm5r7hw0xxf815nx1ixg09r7ckspq228j1syq5j1lzq8";
+       buildDepends = [
+         base bytestring hastache http-types transformers wai
+       ];
+       homepage = "https://github.com/singpolyma/wai-hastache";
+       description = "Nice wrapper around hastache for use with WAI";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-hmac-auth" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bifunctors, byteable
+     , bytestring, containers, cryptohash, hspec, http-types
+     , monad-loops, mtl, transformers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "wai-hmac-auth";
+       version = "1.0.0";
+       sha256 = "1hjzwh9hzy29y617faa94428s7ja2ri0bggqxwmf27a0r4qpf1r4";
+       buildDepends = [
+         base base64-bytestring bifunctors byteable bytestring containers
+         cryptohash http-types monad-loops mtl transformers wai
+       ];
+       testDepends = [
+         base base64-bytestring bifunctors byteable bytestring containers
+         cryptohash hspec http-types monad-loops mtl transformers wai
+         wai-extra
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/raptros/wai-hmac-auth";
+       description = "hmac authentication tools for WAI apps";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-lens" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, lens, network, text
+     , vault, wai
+     }:
+     mkDerivation {
+       pname = "wai-lens";
+       version = "0.1";
+       sha256 = "05vd7pjw6jgbb11yln4h2lbyr5pr471040p51pj7iy2m65s42v4x";
+       buildDepends = [
+         base bytestring http-types lens network text vault wai
+       ];
+       homepage = "https://github.com/webcrank/wai-lens";
+       description = "Lenses for WAI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-lite" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, http-types, text
+     , transformers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "wai-lite";
+       version = "0.2.0.0";
+       sha256 = "1ghxna51m304x5yvgfdgpml0yf6jqhfkixlxxnflg7z34h6wjzz4";
+       buildDepends = [
+         base bytestring conduit http-types text transformers wai wai-extra
+       ];
+       jailbreak = true;
+       description = "DEPCRECATED (use package \"simple\" instead) A minimalist web framework for WAI web applications";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-logger" = callPackage
+    ({ mkDerivation, auto-update, base, blaze-builder, byteorder
+     , bytestring, case-insensitive, doctest, easy-file, fast-logger
+     , http-types, network, unix, unix-time, wai
+     }:
+     mkDerivation {
+       pname = "wai-logger";
+       version = "2.2.4";
+       sha256 = "0l7jd3fczn1hp5d7bbhkk0qflw320sr2yw9gb10jvsv42rs1kdbv";
+       buildDepends = [
+         auto-update base blaze-builder byteorder bytestring
+         case-insensitive easy-file fast-logger http-types network unix
+         unix-time wai
+       ];
+       testDepends = [ base doctest ];
+       description = "A logging system for WAI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-logger-prefork" = callPackage
+    ({ mkDerivation, base, bytestring, date-cache, fast-logger
+     , http-types, unix, wai, wai-logger
+     }:
+     mkDerivation {
+       pname = "wai-logger-prefork";
+       version = "0.3.0";
+       sha256 = "0cfslqr2zdj0x83dbscafhdljrn2xswym7hpf23zlrsrnpz71qy4";
+       buildDepends = [
+         base bytestring date-cache fast-logger http-types unix wai
+         wai-logger
+       ];
+       description = "A logging system for preforked WAI apps";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-cache" = callPackage
+    ({ mkDerivation, base, binary, blaze-builder-conduit, bytestring
+     , conduit, crypto-conduit, http-types, HUnit, pureMD5
+     , test-framework, test-framework-hunit, wai, wai-test
+     }:
+     mkDerivation {
+       pname = "wai-middleware-cache";
+       version = "0.3.6";
+       sha256 = "1kqrqjsmnwwavcyhwx6m2x3qk7qbd0h60817ai61dz3aprwc8hdw";
+       buildDepends = [
+         base binary blaze-builder-conduit bytestring conduit crypto-conduit
+         http-types pureMD5 wai
+       ];
+       testDepends = [
+         base bytestring http-types HUnit test-framework
+         test-framework-hunit wai wai-test
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/akaspin/wai-middleware-cache";
+       description = "Caching middleware for WAI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-cache-redis" = callPackage
+    ({ mkDerivation, base, binary, blaze-builder-conduit, bytestring
+     , case-insensitive, conduit, hedis, hedis-pile, http-types
+     , transformers, wai, wai-middleware-cache
+     }:
+     mkDerivation {
+       pname = "wai-middleware-cache-redis";
+       version = "0.4.3";
+       sha256 = "1vd81jcisav6jyqzwa0qn35xarm21bjrw0qps9qbbq56svkh1lw9";
+       buildDepends = [
+         base binary blaze-builder-conduit bytestring case-insensitive
+         conduit hedis hedis-pile http-types transformers wai
+         wai-middleware-cache
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/akaspin/wai-middleware-cache-redis";
+       description = "Redis backend for wai-middleware-cache";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-catch" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, lifted-base, wai }:
+     mkDerivation {
+       pname = "wai-middleware-catch";
+       version = "0.3.6";
+       sha256 = "1vh5sad3zhdwxqbmivmy9hkbnq9vrv4k6k17rjk4f79lv2xcq56h";
+       buildDepends = [ base bytestring http-types lifted-base wai ];
+       jailbreak = true;
+       homepage = "https://github.com/akaspin/wai-middleware-catch";
+       description = "Wai error catching middleware";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-consul" = callPackage
+    ({ mkDerivation, async, base, base-prelude, bytestring, conduit
+     , conduit-extra, consul-haskell, enclosed-exceptions, http-client
+     , http-types, monad-control, monad-logger, network, process
+     , resourcet, text, transformers, void, wai, wai-app-static
+     , wai-conduit, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "wai-middleware-consul";
+       version = "0.1.0.2";
+       sha256 = "0qq7kilp9a4qjja337saqccn250s6mnf3n80sgyg935hy1dmm7fq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         async base base-prelude bytestring conduit conduit-extra
+         consul-haskell enclosed-exceptions http-client http-types
+         monad-control monad-logger network process resourcet text
+         transformers void wai wai-app-static wai-conduit wai-extra warp
+       ];
+       homepage = "https://github.com/fpco/wai-middleware-consul";
+       description = "Wai Middleware for Consul";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-etag" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
+     , filepath, http-date, http-types, unix-compat
+     , unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "wai-middleware-etag";
+       version = "0.1.0.0";
+       sha256 = "0mcqnzvxx671awr2szyfpm6jskily9zxvmg61zz430km4i2q3wj8";
+       buildDepends = [
+         base base64-bytestring bytestring cryptohash filepath http-date
+         http-types unix-compat unordered-containers wai
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ameingast/wai-middleware-etag";
+       description = "WAI ETag middleware for static files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-headers" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, wai }:
+     mkDerivation {
+       pname = "wai-middleware-headers";
+       version = "0.1";
+       sha256 = "10ap355j4dx42y7ycf1plpbg04wazv0q62mi3ibza8sb33hiiprh";
+       buildDepends = [ base bytestring http-types wai ];
+       homepage = "http://github.com/seanhess/wai-middleware-headers";
+       description = "cors and addHeaders for WAI";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-hmac" = callPackage
+    ({ mkDerivation, base, base64-bytestring, byteable, bytestring
+     , case-insensitive, cryptohash, doctest, Glob, hlint, hspec
+     , http-types, HUnit, process, regex-compat, transformers, wai
+     , wai-extra, word8
+     }:
+     mkDerivation {
+       pname = "wai-middleware-hmac";
+       version = "0.1.0.0";
+       sha256 = "01xd1nhi96lflh6ssaz3m5dkacrp2b2kwk611jc8q5j3kmyc0zqs";
+       buildDepends = [
+         base base64-bytestring byteable bytestring case-insensitive
+         cryptohash http-types transformers wai word8
+       ];
+       testDepends = [
+         base bytestring doctest Glob hlint hspec http-types HUnit process
+         regex-compat wai wai-extra
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/creichert/wai-middleware-hmac";
+       description = "HMAC Authentication Middleware for WAI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-middleware-hmac-client" = callPackage
+    ({ mkDerivation, base, base64-bytestring, byteable, bytestring
+     , case-insensitive, cryptohash, http-client, http-types, mtl
+     , old-locale, time, transformers, word8
+     }:
+     mkDerivation {
+       pname = "wai-middleware-hmac-client";
+       version = "0.1.0.2";
+       sha256 = "1jmfmcdv1js6rgadfhwb071qp418440ij0hm0fmyf03dk879qhds";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base base64-bytestring byteable bytestring case-insensitive
+         cryptohash http-client http-types mtl old-locale time transformers
+         word8
+       ];
+       description = "WAI HMAC Authentication Middleware Client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-middleware-preprocessor" = callPackage
+    ({ mkDerivation, base, Cabal, directory, mtl, split, text, wai
+     , wai-middleware-static, warp
+     }:
+     mkDerivation {
+       pname = "wai-middleware-preprocessor";
+       version = "0.2.0.0";
+       sha256 = "1n9z00v5a75pas22cdm26hj888s6kc98bddh2gfs3ffrazdmgbj1";
+       buildDepends = [
+         base directory mtl split text wai wai-middleware-static
+       ];
+       testDepends = [
+         base Cabal directory mtl split text wai wai-middleware-static warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/taktoa/wai-middleware-preprocessor";
+       description = "WAI middleware for preprocessing static files";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "wai-middleware-route" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, HUnit
+     , test-framework, test-framework-hunit, text, wai, wai-test
+     , yesod-routes
+     }:
+     mkDerivation {
+       pname = "wai-middleware-route";
+       version = "0.7.3";
+       sha256 = "0zgiaxc5rqjlkfwkb11a5zkmbybrfcqr74mq5vpj03mqz1q0lmx7";
+       buildDepends = [
+         base bytestring http-types text wai yesod-routes
+       ];
+       testDepends = [
+         base bytestring http-types HUnit test-framework
+         test-framework-hunit text wai wai-test
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/akaspin/wai-middleware-route";
+       description = "Wai dispatch middleware";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-static" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , http-types, mtl, text, wai
+     }:
+     mkDerivation {
+       pname = "wai-middleware-static";
+       version = "0.6.0.1";
+       sha256 = "1ylf2nm535d3dw0ksa9dfz1b4b78mqzkdrpdfd5pxswcqbgs266d";
+       buildDepends = [
+         base bytestring containers directory filepath http-types mtl text
+         wai
+       ];
+       homepage = "https://github.com/scotty-web/wai-middleware-static";
+       description = "WAI middleware that serves requests to static files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-middleware-static-caching" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, containers
+     , cryptohash, directory, expiring-cache-map, filepath, http-types
+     , mtl, old-locale, text, time, unix, wai
+     }:
+     mkDerivation {
+       pname = "wai-middleware-static-caching";
+       version = "0.6.0.1";
+       sha256 = "0xj4r1fr1g0fybgsq65gxcvh5zn9hafvm0f73p6dnj6jhz6dryhk";
+       buildDepends = [
+         base base16-bytestring bytestring containers cryptohash directory
+         expiring-cache-map filepath http-types mtl old-locale text time
+         unix wai
+       ];
+       homepage = "https://github.com/agrafix/wai-middleware-static";
+       description = "WAI middleware that serves requests to static files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-middleware-throttle" = callPackage
+    ({ mkDerivation, base, bytestring, containers, haddock, hlint
+     , hspec, http-types, HUnit, network, process, regex-compat, stm
+     , token-bucket, transformers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "wai-middleware-throttle";
+       version = "0.2.0.0";
+       sha256 = "1dnpx3byb1q8g41kj55qgw6vrjm4rv4sa6qbd12pafwabcgx4l74";
+       buildDepends = [
+         base containers http-types network stm token-bucket transformers
+         wai
+       ];
+       testDepends = [
+         base bytestring haddock hlint hspec http-types HUnit process
+         regex-compat stm transformers wai wai-extra
+       ];
+       description = "WAI Middleware for Request Throttling";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-predicates" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , bytestring-conversion, case-insensitive, cookie, http-types
+     , singletons, tasty, tasty-hunit, tasty-quickcheck, transformers
+     , vault, vector, wai
+     }:
+     mkDerivation {
+       pname = "wai-predicates";
+       version = "0.8.4";
+       sha256 = "06ib359k8amh15qmmv6rdmicak1rrx758xfrf75nni03z9k9rby5";
+       buildDepends = [
+         attoparsec base bytestring bytestring-conversion case-insensitive
+         cookie http-types singletons transformers vault vector wai
+       ];
+       testDepends = [
+         base blaze-builder bytestring case-insensitive http-types tasty
+         tasty-hunit tasty-quickcheck wai
+       ];
+       homepage = "https://github.com/twittner/wai-predicates/";
+       description = "WAI request predicates";
+       license = "unknown";
+     }) {};
+
+  "wai-responsible" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, wai }:
+     mkDerivation {
+       pname = "wai-responsible";
+       version = "0.0.0.0";
+       sha256 = "0qf64g11113gl45bfn12j2ikdjwrdxg9r8cicfs4pmh0dq5vj0va";
+       buildDepends = [ base bytestring http-types wai ];
+       homepage = "https://github.com/pharpend/wai-responsible";
+       description = "Response interface for WAI";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wai-route" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, mtl, QuickCheck
+     , tasty, tasty-quickcheck, unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "wai-route";
+       version = "0.3";
+       sha256 = "1gmadxdki64x2r7931vsgzzb1hkk03a1virkjmnfm3i7kz5dp4kp";
+       buildDepends = [
+         base bytestring http-types unordered-containers wai
+       ];
+       testDepends = [
+         base bytestring http-types mtl QuickCheck tasty tasty-quickcheck
+         wai
+       ];
+       description = "Minimalistic, efficient routing for WAI";
+       license = "unknown";
+     }) {};
+
+  "wai-router" = callPackage
+    ({ mkDerivation, base, text, wai }:
+     mkDerivation {
+       pname = "wai-router";
+       version = "1.0.0.1";
+       sha256 = "1827mk64vyivdc12z4h230c4b993i6g8wl4sl0364jda586z58p7";
+       buildDepends = [ base text wai ];
+       jailbreak = true;
+       homepage = "http://github.com/mdmarek/wai-router";
+       description = "Provides basic routing on URL paths for WAI";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-routes" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, http-types
+     , mtl, template-haskell, text, wai, yesod-routes
+     }:
+     mkDerivation {
+       pname = "wai-routes";
+       version = "0.5.1";
+       sha256 = "0xd4abccgnj793vbrf1a0m1ddcq8i4p8f7sxk6mz4d1lzb4y0sf0";
+       buildDepends = [
+         aeson base blaze-builder bytestring http-types mtl template-haskell
+         text wai yesod-routes
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ajnsit/wai-routes";
+       description = "Typesafe URLs for Wai applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-routing" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , bytestring-conversion, case-insensitive, containers, cookie
+     , http-types, tasty, tasty-hunit, tasty-quickcheck, transformers
+     , wai, wai-predicates, wai-route
+     }:
+     mkDerivation {
+       pname = "wai-routing";
+       version = "0.12.1";
+       sha256 = "01bs5mmycn7dkvnp01mh226iy1b419amab83fmgk0asd2f3jsfn5";
+       buildDepends = [
+         attoparsec base bytestring bytestring-conversion case-insensitive
+         cookie http-types transformers wai wai-predicates wai-route
+       ];
+       testDepends = [
+         base blaze-builder bytestring bytestring-conversion
+         case-insensitive containers http-types tasty tasty-hunit
+         tasty-quickcheck wai wai-predicates
+       ];
+       homepage = "https://github.com/twittner/wai-routing/";
+       description = "Declarative routing for WAI";
+       license = "unknown";
+     }) {};
+
+  "wai-session" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , cookie, http-types, StateVar, time, transformers, vault, wai
+     }:
+     mkDerivation {
+       pname = "wai-session";
+       version = "0.3.1";
+       sha256 = "1h2z1zahbrlw9r489vd6xjwra7nmy67lmv77gr912zls5fpf9aws";
+       buildDepends = [
+         base blaze-builder bytestring containers cookie http-types StateVar
+         time transformers vault wai
+       ];
+       homepage = "https://github.com/singpolyma/wai-session";
+       description = "Flexible session middleware for WAI";
+       license = "unknown";
+     }) {};
+
+  "wai-session-clientsession" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, clientsession, errors
+     , transformers, wai-session
+     }:
+     mkDerivation {
+       pname = "wai-session-clientsession";
+       version = "0.1";
+       sha256 = "0kczhsmkv88g0x8mk4cfy5z9wv3fzv8v3r4z0q7jkyda0grx3gwf";
+       buildDepends = [
+         base bytestring cereal clientsession errors transformers
+         wai-session
+       ];
+       homepage = "https://github.com/singpolyma/wai-session-clientsession";
+       description = "Session store based on clientsession";
+       license = "unknown";
+     }) {};
+
+  "wai-session-tokyocabinet" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, errors
+     , tokyocabinet-haskell, transformers, wai-session
+     }:
+     mkDerivation {
+       pname = "wai-session-tokyocabinet";
+       version = "0.1";
+       sha256 = "0cd4x3byc8kaarjpfczqaiv5y3ixrdcilnnypkhcavk3vj7w7pmr";
+       buildDepends = [
+         base bytestring cereal errors tokyocabinet-haskell transformers
+         wai-session
+       ];
+       homepage = "https://github.com/singpolyma/wai-session-tokyocabinet";
+       description = "Session store based on Tokyo Cabinet";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-static-cache" = callPackage
+    ({ mkDerivation, base, bytestring, cityhash, conduit
+     , conduit-combinators, containers, http-types, resourcet
+     , system-filepath, text, transformers, vector, vector-algorithms
+     , wai
+     }:
+     mkDerivation {
+       pname = "wai-static-cache";
+       version = "0.1.0.1";
+       sha256 = "0vlkh9izxx1qsb61fak57kk9k35i3vph8qbyvlmgwcw7nplagq6l";
+       buildDepends = [
+         base bytestring cityhash conduit conduit-combinators containers
+         http-types resourcet system-filepath text transformers vector
+         vector-algorithms wai
+       ];
+       description = "A simple cache for serving static files in a WAI middleware";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "wai-static-pages" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, conduit
+     , directory, http-types, text, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "wai-static-pages";
+       version = "0.3";
+       sha256 = "0xam283gvcjryq541dzrymv9qy7asyfz8k44b6dwrvm5bqphjz9h";
+       buildDepends = [
+         base blaze-builder bytestring conduit directory http-types text wai
+         wai-extra
+       ];
+       homepage = "https://github.com/gregwebs/wai-static-pages";
+       description = "generate static html pages from a WAI application";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-test" = callPackage
+    ({ mkDerivation, wai }:
+     mkDerivation {
+       pname = "wai-test";
+       version = "3.0.0";
+       sha256 = "0xys01jniib0pnhadcm7s0v5z0wcxfgi0bf5ax808zm9qzvl3xfx";
+       buildDepends = [ wai ];
+       homepage = "http://www.yesodweb.com/book/web-application-interface";
+       description = "Unit test framework (built on HUnit) for WAI applications. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wai-throttler" = callPackage
+    ({ mkDerivation, base, bytestring, containers, http-types, time
+     , wai
+     }:
+     mkDerivation {
+       pname = "wai-throttler";
+       version = "0.1.0.5";
+       sha256 = "1jh53ac1q4zksxdrmwjgsyidvx8zlhx57nnf3ca4spa3paz9n9g6";
+       buildDepends = [ base bytestring containers http-types time wai ];
+       jailbreak = true;
+       description = "Wai middleware for request throttling";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-util" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , http-accept, http-types, network-uri, text, transformers, wai
+     , wai-extra
+     }:
+     mkDerivation {
+       pname = "wai-util";
+       version = "0.8";
+       sha256 = "10rkrhs7xv6qmx31ll891c2nnaqpblyfxqmn8xwjhafp7ks1wqjm";
+       buildDepends = [
+         aeson base blaze-builder bytestring conduit http-accept http-types
+         network-uri text transformers wai wai-extra
+       ];
+       homepage = "https://github.com/singpolyma/wai-util";
+       description = "Collection of utility functions for use with WAI";
+       license = "unknown";
+     }) {};
+
+  "wai-websockets" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , file-embed, http-types, network, text, transformers, wai
+     , wai-app-static, warp, websockets
+     }:
+     mkDerivation {
+       pname = "wai-websockets";
+       version = "3.0.0.5";
+       sha256 = "1gqivkjdvln6xpkhcr6k75gk2qvjp6mr691902w3m6xpcdv1q5z0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder 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 betweeen WAI and the websockets package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "wait-handle" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "wait-handle";
+       version = "0.1.1";
+       sha256 = "09080zx6m4lqli85867ilck82gvgnz4vkq9nxx5f1v5fli1i0n7m";
+       buildDepends = [ base ];
+       homepage = "https://www.github.com/fmap/waithandle";
+       description = "Wait handles are MVars which can only be written to once, and from which values can never be removed";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "waitfree" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "waitfree";
+       version = "0.1.5";
+       sha256 = "09hlqli7zpcxfa8w7vh937gc3rxp7s8q8v1zs8ciwnmh6ca4i8rq";
+       buildDepends = [ base containers ];
+       description = "A wrapping library for waitfree computation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "waitra" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath
+     , http-types, regex-applicative, tasty, tasty-hunit
+     , template-haskell, text, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "waitra";
+       version = "0.0.3.0";
+       sha256 = "0yismhhgwzrssla2bcg44jy0fdwwxh2szypyjn8wfjvmkfhzshvn";
+       buildDepends = [
+         aeson base bytestring directory filepath http-types
+         regex-applicative template-haskell text wai
+       ];
+       testDepends = [
+         aeson base http-types regex-applicative tasty tasty-hunit wai
+         wai-extra
+       ];
+       homepage = "https://github.com/futurice/waitra";
+       description = "A very simple Wai router";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "warp" = callPackage
+    ({ mkDerivation, array, async, auto-update, base, blaze-builder
+     , bytestring, case-insensitive, doctest, ghc-prim, hashable, hspec
+     , HTTP, http-date, http-types, HUnit, iproute, lifted-base, network
+     , old-locale, QuickCheck, simple-sendfile, streaming-commons, text
+     , time, transformers, unix, unix-compat, vault, void, wai
+     }:
+     mkDerivation {
+       pname = "warp";
+       version = "3.0.11";
+       sha256 = "05sm9l8fjf18vl3b7qk3lpz2fd4knld0a90fh8smfxdvxap3fqv3";
+       buildDepends = [
+         array auto-update base blaze-builder bytestring case-insensitive
+         ghc-prim hashable http-date http-types iproute network
+         simple-sendfile streaming-commons text unix unix-compat vault void
+         wai
+       ];
+       testDepends = [
+         array async auto-update base blaze-builder bytestring
+         case-insensitive doctest ghc-prim hashable hspec HTTP http-date
+         http-types HUnit iproute lifted-base network old-locale QuickCheck
+         simple-sendfile streaming-commons text time transformers unix
+         unix-compat vault void wai
+       ];
+       homepage = "http://github.com/yesodweb/wai";
+       description = "A fast, light-weight web server for WAI applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "warp-dynamic" = callPackage
+    ({ mkDerivation, base, data-default, dyre, http-types, wai, warp }:
+     mkDerivation {
+       pname = "warp-dynamic";
+       version = "0.1.0";
+       sha256 = "1kmmy2av0ikr6mb8g7ffqmf505ha4201qv7y48fyc9p8j0p6lk6g";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base data-default dyre http-types wai warp ];
+       jailbreak = true;
+       homepage = "http://tanakh.jp";
+       description = "Dynamic configurable warp HTTP server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "warp-static" = callPackage
+    ({ mkDerivation, base, bytestring, cmdargs, containers, directory
+     , mime-types, text, wai-app-static, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "warp-static";
+       version = "2.0.1.1";
+       sha256 = "181z8cr55qngy6jyqzqz5wcgiyip4rn3q1am0hkcxvmdnif2w2km";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cmdargs containers directory mime-types text
+         wai-app-static wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/yesodweb/wai";
+       description = "Static file server based on Warp and wai-app-static (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "warp-tls" = callPackage
+    ({ mkDerivation, base, bytestring, cprng-aes, data-default-class
+     , network, streaming-commons, tls, wai, warp
+     }:
+     mkDerivation {
+       pname = "warp-tls";
+       version = "3.0.3";
+       sha256 = "1ngprhmf58i80fkw2z750pxavyv05g3sr8j7hd24h47msmghq9mm";
+       buildDepends = [
+         base bytestring cprng-aes data-default-class network
+         streaming-commons tls wai warp
+       ];
+       homepage = "http://github.com/yesodweb/wai";
+       description = "HTTP over SSL/TLS support for Warp via the TLS package";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "warp-tls-uid" = callPackage
+    ({ mkDerivation, base, bytestring, certificate, conduit
+     , crypto-random, http-types, network, network-conduit, pem, tls
+     , tls-extra, unix, wai, warp
+     }:
+     mkDerivation {
+       pname = "warp-tls-uid";
+       version = "0.1.0.4";
+       sha256 = "11av9jkf8z2xcpwg3nyx018qwpdrm0cs79qj14z93ah1yxbavb5y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring certificate conduit crypto-random http-types
+         network network-conduit pem tls tls-extra unix wai warp
+       ];
+       jailbreak = true;
+       description = "set group and user id before running server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "watchdog" = callPackage
+    ({ mkDerivation, base, mtl, time }:
+     mkDerivation {
+       pname = "watchdog";
+       version = "0.2.2.1";
+       sha256 = "06b93cqn6rbl6jbjyawzqmrx80h0dbcks7ia6l3wzdqpic8yjj6v";
+       buildDepends = [ base mtl time ];
+       description = "Simple control structure to re-try an action with exponential backoff";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "watcher" = callPackage
+    ({ mkDerivation, base, basic-prelude, containers, hinotify
+     , system-fileio, system-filepath
+     }:
+     mkDerivation {
+       pname = "watcher";
+       version = "0.0.3.0";
+       sha256 = "1c6025zpghqvw5xlapnfk8nwf32iq6dkpnpzi65pm5l5f5npwwgs";
+       buildDepends = [
+         base basic-prelude containers hinotify system-fileio
+         system-filepath
+       ];
+       jailbreak = true;
+       description = "Opinionated filesystem watcher";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "watchit" = callPackage
+    ({ mkDerivation, async, base, bytestring, fsnotify, HUnit
+     , optparse-applicative, process, QuickCheck, resource-pool
+     , smallcheck, streaming-commons, system-fileio, system-filepath
+     , tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck, text
+     }:
+     mkDerivation {
+       pname = "watchit";
+       version = "0.1.0.0";
+       sha256 = "134b9nrl2lmcr80hxmf72la220plh48vdl0r2la3c3k6qimsd276";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base fsnotify optparse-applicative process resource-pool
+         streaming-commons system-filepath text
+       ];
+       testDepends = [
+         async base bytestring HUnit QuickCheck smallcheck system-fileio
+         system-filepath tasty tasty-hunit tasty-quickcheck tasty-smallcheck
+       ];
+       description = "File change watching utility";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wavconvert" = callPackage
+    ({ mkDerivation, base, directory, filepath, process }:
+     mkDerivation {
+       pname = "wavconvert";
+       version = "0.1.1";
+       sha256 = "028qx9b4z2gr4nc6hid0phdrysvhfqswj64s71pw2grqw4f8ddkx";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath process ];
+       description = "Command-line tool for converting audio files and filling in ID3 tags";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wavesurfer" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-lexing
+     , bytestring-show, delimited-text
+     }:
+     mkDerivation {
+       pname = "wavesurfer";
+       version = "0.0.6";
+       sha256 = "1f9hsmvwdgrib44sj1rnkm4hv92iad27xg75n2y2qdq1a8giazn5";
+       buildDepends = [
+         base binary bytestring bytestring-lexing bytestring-show
+         delimited-text
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~StefanKersten/code/wavesurfer";
+       description = "Parse WaveSurfer files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wavy" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, filepath
+     , pretty-show, riff, split, vector
+     }:
+     mkDerivation {
+       pname = "wavy";
+       version = "0.1.0.0";
+       sha256 = "0rvzsmd7lzimyphc2yscadwkanqpi8wnmdk5hrzwpcm6dcavyj9q";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary bytestring containers filepath pretty-show riff split
+         vector
+       ];
+       jailbreak = true;
+       homepage = "http://bitbucket.org/robertmassaioli/wavy";
+       description = "Process WAVE files in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wcwidth" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , setlocale, utf8-string
+     }:
+     mkDerivation {
+       pname = "wcwidth";
+       version = "0.0.2";
+       sha256 = "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers setlocale utf8-string
+       ];
+       homepage = "http://github.com/solidsnack/wcwidth/";
+       description = "Native wcwidth";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "weather-api" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, HTTP, network
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "weather-api";
+       version = "0.4.3";
+       sha256 = "0wlh3p5z2vivhn9pgqzjhczrb7jyfzkz889fmwnvm7h87440jnyj";
+       buildDepends = [
+         aeson attoparsec base bytestring HTTP network utf8-string vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/cvb/hs-weather-api.git";
+       description = "Weather api implemented in haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "web-browser-in-haskell" = callPackage
+    ({ mkDerivation, base, gtk, webkit }:
+     mkDerivation {
+       pname = "web-browser-in-haskell";
+       version = "1.0";
+       sha256 = "1y674dw8slz0m7i23j7p1qykdci2wssmx6x0yf23cf0nywz1py5k";
+       buildDepends = [ base gtk webkit ];
+       description = "Web Browser In Haskell";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "web-css" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "web-css";
+       version = "0.1.0";
+       sha256 = "1havyvd6f0xagynxpar2jsmx5x1izwl7wgxia0wbwbzaj0fzn2k2";
+       buildDepends = [ base text ];
+       jailbreak = true;
+       description = "Simple functions for CSS";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-encodings" = callPackage
+    ({ mkDerivation, base, bytestring, directory, failure, old-locale
+     , text, time
+     }:
+     mkDerivation {
+       pname = "web-encodings";
+       version = "0.3.0.9";
+       sha256 = "0lg9vbsmg9nfs2440ab2srhhawg1xfi5lnhxzd9rj7kab460w2x3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory failure old-locale text time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/web-encodings/tree/master";
+       description = "Encapsulate multiple web encoding in a single package. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-fpco" = callPackage
+    ({ mkDerivation, base, happstack-server, safe, snap, snap-core
+     , snap-server
+     }:
+     mkDerivation {
+       pname = "web-fpco";
+       version = "0.1.1.0";
+       sha256 = "1iizmg1syjywd5hs9swcqxxzmix04hwa86p8c246xybwcklf667n";
+       buildDepends = [
+         base happstack-server safe snap snap-core snap-server
+       ];
+       homepage = "https://github.com/fpco/web-fpco";
+       description = "Wrappers for web frameworks to ease usage with the FP Complete environment";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "web-mongrel2" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, file-embed
+     , haskell98, HStringTemplate, json, mtl, old-time, parsec
+     , system-uuid, template-haskell, text, zeromq-haskell
+     }:
+     mkDerivation {
+       pname = "web-mongrel2";
+       version = "0.0.3";
+       sha256 = "1j2pq3kzmk2gibrr4jcm5gksz9pk9shjqqpwc85ygb2mpf5yc1gw";
+       buildDepends = [
+         base bytestring data-default file-embed haskell98 HStringTemplate
+         json mtl old-time parsec system-uuid template-haskell text
+         zeromq-haskell
+       ];
+       homepage = "http://github.com/cmoore/web-mongrel2";
+       description = "Bindings for the Mongrel2 web server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "web-page" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, bytestring, clay
+     , containers, jmacro, lens, mtl, Stream, text, vector
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "web-page";
+       version = "0.2.0";
+       sha256 = "1hzqwp67pj1xvhmdaxmij08820ffxf559d7jgr8037zzm7j02cql";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder blaze-html bytestring clay containers jmacro
+         lens mtl Stream text vector wl-pprint-text
+       ];
+       homepage = "http://hub.darcs.net/ertes/web-page";
+       description = "Monoidally construct web pages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-plugins" = callPackage
+    ({ mkDerivation, base, containers, mtl, stm, text }:
+     mkDerivation {
+       pname = "web-plugins";
+       version = "0.2.7";
+       sha256 = "0pvwhr5mr960lramlnz7sffxrr7mxqskqk5pqbspck7cabzwzsxd";
+       buildDepends = [ base containers mtl stm text ];
+       homepage = "http://www.happstack.com/";
+       description = "dynamic plugin system for web applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, ghc-prim
+     , http-types, HUnit, mtl, parsec, QuickCheck, split, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "web-routes";
+       version = "0.27.8";
+       sha256 = "1nz7nny333miap44yrdzn711g4xgr2c9nd0ivm0q02692684craq";
+       buildDepends = [
+         base blaze-builder bytestring ghc-prim http-types mtl parsec split
+         text utf8-string
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th
+       ];
+       description = "Library for maintaining correctness and composability of URLs within an application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes-boomerang" = callPackage
+    ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
+     mkDerivation {
+       pname = "web-routes-boomerang";
+       version = "0.28.3";
+       sha256 = "0d3ccp4hbzjhqzqy901da8dpz23sylwg54xs5iyjhmqvw0v7ljpn";
+       buildDepends = [ base boomerang mtl parsec text web-routes ];
+       description = "Library for maintaining correctness and composability of URLs within an application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes-happstack" = callPackage
+    ({ mkDerivation, base, bytestring, happstack-server, text
+     , web-routes
+     }:
+     mkDerivation {
+       pname = "web-routes-happstack";
+       version = "0.23.9";
+       sha256 = "0vsjm979z21858wk9z1b855jqmr4apm35b5ff8x6nynq6kiflrzw";
+       buildDepends = [
+         base bytestring happstack-server text web-routes
+       ];
+       description = "Adds support for using web-routes with Happstack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes-hsp" = callPackage
+    ({ mkDerivation, base, hsp, text, web-routes }:
+     mkDerivation {
+       pname = "web-routes-hsp";
+       version = "0.24.5";
+       sha256 = "1vnsdsipm764maqn43774vw5hn64vvaaih8gg9130fkvp6jj39nk";
+       buildDepends = [ base hsp text web-routes ];
+       description = "Adds XMLGenerator instance for RouteT monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes-mtl" = callPackage
+    ({ mkDerivation, base, web-routes }:
+     mkDerivation {
+       pname = "web-routes-mtl";
+       version = "0.20.1";
+       sha256 = "1k35ch294p2pkf7mbip8wy9rin956y31sq68b4cdrj9sj9891rx5";
+       buildDepends = [ base web-routes ];
+       description = "Extends web-routes with mtl-based MonadIO / MonadTrans RouteT instances";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes-quasi" = callPackage
+    ({ mkDerivation, base, path-pieces, template-haskell, text }:
+     mkDerivation {
+       pname = "web-routes-quasi";
+       version = "0.7.1.1";
+       sha256 = "1rqbymi0n7kdhl272qfjhx9s3gspd5k0bjrhclj9l8mjf033vdmf";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base path-pieces template-haskell text ];
+       jailbreak = true;
+       homepage = "http://docs.yesodweb.com/web-routes-quasi/";
+       description = "Define data types and parse/build functions for web-routes via a quasi-quoted DSL (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "web-routes-regular" = callPackage
+    ({ mkDerivation, base, parsec, regular, text, web-routes }:
+     mkDerivation {
+       pname = "web-routes-regular";
+       version = "0.19.0";
+       sha256 = "0qllws4mzmmc6fh4hcvj3zp7kk8pwap59yq6wy0zx7mx0ac7015r";
+       buildDepends = [ base parsec regular text web-routes ];
+       description = "Library for maintaining correctness of URLs within an application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes-th" = callPackage
+    ({ mkDerivation, base, HUnit, parsec, QuickCheck, split
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, text, web-routes
+     }:
+     mkDerivation {
+       pname = "web-routes-th";
+       version = "0.22.2";
+       sha256 = "1dk768m0bb4y3i1q9sxj2fbn6farlyyy52fxmk0ipbnbdq7if71f";
+       buildDepends = [
+         base parsec split template-haskell text web-routes
+       ];
+       testDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th web-routes
+       ];
+       description = "Support for deriving PathInfo using Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routes-transformers" = callPackage
+    ({ mkDerivation, base, transformers, web-routes }:
+     mkDerivation {
+       pname = "web-routes-transformers";
+       version = "0.19.1";
+       sha256 = "0pm1v9wqlzi6cg92lajbwbnhsdm509371i8mvyvvj6qa5m58cdib";
+       buildDepends = [ base transformers web-routes ];
+       jailbreak = true;
+       description = "Extends web-routes with some transformers instances for RouteT";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "web-routes-wai" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, text, wai
+     , web-routes
+     }:
+     mkDerivation {
+       pname = "web-routes-wai";
+       version = "0.24.1";
+       sha256 = "13mwfyafpk29c8bbx48vhbxsgk28fmh579gjn6gjlhvkisc45q1b";
+       buildDepends = [ base bytestring http-types text wai web-routes ];
+       description = "Library for maintaining correctness of URLs within an application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "web-routing" = callPackage
+    ({ mkDerivation, base, bytestring, doctest, primitive, text
+     , types-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "web-routing";
+       version = "0.6.2";
+       sha256 = "1x7imgnpq3998fk4pi2z5ba0r9xc7blf61rn1i51yqqd24la887f";
+       buildDepends = [
+         base bytestring primitive text types-compat unordered-containers
+       ];
+       testDepends = [ base doctest ];
+       homepage = "https://github.com/philopon/web-routing";
+       description = "simple routing library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "webcrank" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , case-insensitive, either, exceptions, http-date, http-media
+     , http-types, lens, mtl, network-uri, QuickCheck, semigroups, tasty
+     , tasty-hunit, tasty-quickcheck, text, transformers
+     , unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "webcrank";
+       version = "0.1";
+       revision = "1";
+       sha256 = "00jnarj4s9jsb7g03jazabpvnnscz7385yslyvvj9z2qryxwv9xk";
+       editedCabalFile = "f4521a187e8f4fca8752ab6e53c38df6cafbdc2002397c521928ad69765c1864";
+       buildDepends = [
+         attoparsec base blaze-builder bytestring case-insensitive either
+         exceptions http-date http-media http-types lens mtl network-uri
+         semigroups text transformers unordered-containers utf8-string
+       ];
+       testDepends = [
+         attoparsec base bytestring case-insensitive either exceptions
+         http-date http-media http-types lens mtl QuickCheck tasty
+         tasty-hunit tasty-quickcheck unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/webcrank/webcrank.hs";
+       description = "Webmachine inspired toolkit for building http applications and services";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "webcrank-dispatch" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, path-pieces, reroute, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "webcrank-dispatch";
+       version = "0.1";
+       sha256 = "1w4kfcm2d6iw4d45ywg2g6iysxl2iywk3nbk5ac6p6500y6hh97k";
+       buildDepends = [
+         base bytestring mtl path-pieces reroute text unordered-containers
+       ];
+       homepage = "https://github.com/webcrank/webcrank-dispatch.hs";
+       description = "A simple request dispatcher";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "webcrank-wai" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, lens, mtl
+     , unix-compat, unordered-containers, wai, wai-lens, webcrank
+     , webcrank-dispatch
+     }:
+     mkDerivation {
+       pname = "webcrank-wai";
+       version = "0.1";
+       sha256 = "16w5hw517mmh46jxv7ks9lrpzaahkyal6a26f99118kzh6w0447b";
+       buildDepends = [
+         base bytestring exceptions lens mtl unix-compat
+         unordered-containers wai wai-lens webcrank webcrank-dispatch
+       ];
+       homepage = "https://github.com/webcrank/webcrank-wai";
+       description = "Build a WAI Application from Webcrank Resources";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "webdriver" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, cond, data-default, directory, directory-tree
+     , exceptions, filepath, http-client, http-types, lifted-base
+     , monad-control, mtl, network, network-uri, parallel, scientific
+     , temporary, text, time, transformers, transformers-base
+     , unordered-containers, vector, zip-archive
+     }:
+     mkDerivation {
+       pname = "webdriver";
+       version = "0.6.1";
+       sha256 = "1464i2hzriimhykgi0sinndyz3r7vajkzpwyp80fc75piq6vr7wi";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring bytestring cond
+         data-default directory directory-tree exceptions filepath
+         http-client http-types lifted-base monad-control mtl network
+         network-uri scientific temporary text time transformers
+         transformers-base unordered-containers vector zip-archive
+       ];
+       testDepends = [ base parallel text ];
+       homepage = "https://github.com/kallisti-dev/hs-webdriver";
+       description = "a Haskell client for the Selenium WebDriver protocol";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "webdriver-angular" = callPackage
+    ({ mkDerivation, aeson, base, hspec, hspec-webdriver
+     , language-javascript, template-haskell, text, transformers
+     , unordered-containers, wai-app-static, warp, webdriver
+     }:
+     mkDerivation {
+       pname = "webdriver-angular";
+       version = "0.1.7";
+       sha256 = "18lyw9qasg9ynsa9yg90121h6z5h7kl6lzw7q5zqgkwpm1xr1p21";
+       buildDepends = [
+         aeson base language-javascript template-haskell text transformers
+         unordered-containers webdriver
+       ];
+       testDepends = [
+         base hspec hspec-webdriver transformers wai-app-static warp
+         webdriver
+       ];
+       homepage = "https://bitbucket.org/wuzzeb/webdriver-utils";
+       description = "Webdriver actions to assist with testing a webpage which uses Angular.Js";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "webdriver-snoy" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, cond, data-default, directory, directory-tree
+     , exceptions, filepath, http-client, http-types, lifted-base
+     , monad-control, mtl, network, parallel, scientific, temporary
+     , text, time, transformers, transformers-base, unordered-containers
+     , vector, zip-archive
+     }:
+     mkDerivation {
+       pname = "webdriver-snoy";
+       version = "0.6.0.4";
+       revision = "1";
+       sha256 = "02c2ihqk5gsgnv61rj14rdd76r2nhmxacml3z9krrgxgn326hrbk";
+       editedCabalFile = "7cc952e84c8ff09b8d032df7d8089bd4d5167b32834bda67c79c62a34b12d52a";
+       buildDepends = [
+         aeson attoparsec base base64-bytestring bytestring cond
+         data-default directory directory-tree exceptions filepath
+         http-client http-types lifted-base monad-control mtl network
+         scientific temporary text time transformers transformers-base
+         unordered-containers vector zip-archive
+       ];
+       testDepends = [ base parallel text ];
+       jailbreak = true;
+       homepage = "https://github.com/kallisti-dev/hs-webdriver";
+       description = "a Haskell client for the Selenium WebDriver protocol (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "webidl" = callPackage
+    ({ mkDerivation, base, bytestring, HSFFIG, LEXER, parsec, pretty
+     , utf8-env, utf8-string
+     }:
+     mkDerivation {
+       pname = "webidl";
+       version = "0.1.1";
+       sha256 = "05l4y7y171g41dlzfgd25ww59r4ajqbj9jpzrsmq5zpazx6p6gzy";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring HSFFIG LEXER parsec pretty utf8-env utf8-string
+       ];
+       jailbreak = true;
+       description = "Parser and Pretty Printer for the Web IDL Language";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) { LEXER = null;};
+
+  "webify" = callPackage
+    ({ mkDerivation, base, binary, binary-strict, blaze-builder
+     , bytestring, containers, filepath, hopfli, optparse-applicative
+     , text, vector, xmlgen, zlib
+     }:
+     mkDerivation {
+       pname = "webify";
+       version = "0.1.7.0";
+       sha256 = "16fsk6x875bmnqng5mfkxcxrkp3dcs3lkmsnds5fm416x4iw1sql";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base binary binary-strict blaze-builder bytestring containers
+         filepath hopfli optparse-applicative text vector xmlgen zlib
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ananthakumaran/webify";
+       description = "webfont generator";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "webkit" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, glib, gtk
+     , gtk2hs-buildtools, mtl, pango, text, webkit
+     }:
+     mkDerivation {
+       pname = "webkit";
+       version = "0.13.1.2";
+       sha256 = "090gp3700dafb30jdf1bw1vcn7rj7cs4h0glbi5rqp2ssg5f78kc";
+       buildDepends = [ base bytestring cairo glib gtk mtl pango text ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ webkit ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Webkit library";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) webkit;};
+
+  "webkit-javascriptcore" = callPackage
+    ({ mkDerivation, base, glib, gtk, gtk2hs-buildtools, webkit }:
+     mkDerivation {
+       pname = "webkit-javascriptcore";
+       version = "0.13.0.4";
+       sha256 = "1gj40kdll7pd84graxcrc327za6kgp453zh48srmzvrk9yvnj67x";
+       buildDepends = [ base glib gtk webkit ];
+       buildTools = [ gtk2hs-buildtools ];
+       description = "JavaScriptCore FFI from webkitgtk";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "webkitgtk3" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, glib, gtk2hs-buildtools
+     , gtk3, mtl, pango, text, webkit
+     }:
+     mkDerivation {
+       pname = "webkitgtk3";
+       version = "0.13.1.2";
+       sha256 = "11b9n7q5xljjfnpfbh91kzs568y7nqdys5rm518cr4an20mbi47l";
+       buildDepends = [ base bytestring cairo glib gtk3 mtl pango text ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ webkit ];
+       homepage = "http://projects.haskell.org/gtk2hs/";
+       description = "Binding to the Webkit library";
+       license = stdenv.lib.licenses.lgpl21;
+     }) { inherit (pkgs) webkit;};
+
+  "webkitgtk3-javascriptcore" = callPackage
+    ({ mkDerivation, base, glib, gtk2hs-buildtools, gtk3, webkit
+     , webkitgtk3
+     }:
+     mkDerivation {
+       pname = "webkitgtk3-javascriptcore";
+       version = "0.13.0.4";
+       sha256 = "0lq6n1bhvg9rf48scc5ss299dil205y23r9qzl1ls4g4msv6k25c";
+       buildDepends = [ base glib gtk3 webkitgtk3 ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ webkit ];
+       description = "JavaScriptCore FFI from webkitgtk";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) webkit;};
+
+  "webpage" = callPackage
+    ({ mkDerivation, base, blaze-html, data-default, hastache, lucid
+     , text
+     }:
+     mkDerivation {
+       pname = "webpage";
+       version = "0.0.3";
+       sha256 = "0j57jv9jh7kz27a5wl77ajp99mxj0747x7hhninw35qzgf88vizm";
+       buildDepends = [
+         base blaze-html data-default hastache lucid text
+       ];
+       description = "Organized and simple web page scaffold for blaze and lucid";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "webserver" = callPackage
+    ({ mkDerivation, base, bytestring, c10k, containers, directory
+     , filepath, network, old-locale, parsec, process, stm, time, unix
+     , zlib
+     }:
+     mkDerivation {
+       pname = "webserver";
+       version = "0.7.1.1";
+       sha256 = "0mjbw1v0xy3ji6y0wdiv77y7bc4r5z7jk67gzzgny2cx1vx3c973";
+       buildDepends = [
+         base bytestring c10k containers directory filepath network
+         old-locale parsec process stm time unix zlib
+       ];
+       description = "HTTP server library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "websnap" = callPackage
+    ({ mkDerivation, base, filepath, gtk, webkit }:
+     mkDerivation {
+       pname = "websnap";
+       version = "0.1.0.1";
+       sha256 = "05favr2lpc8y3qy7wahcriq8qhvzvr3ngvrgdyjcvf5bvyfwlp84";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base filepath gtk webkit ];
+       homepage = "https://github.com/jrb/websnap";
+       description = "Transforms URLs to PNGs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "websockets" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary
+     , blaze-builder, bytestring, case-insensitive, containers, entropy
+     , HUnit, mtl, network, QuickCheck, random, SHA, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "websockets";
+       version = "0.9.3.1";
+       sha256 = "0yqq2jj22a17n0cqcd54f0a7vjwwak2zr3wybbh1iq6gz0p5qf76";
+       buildDepends = [
+         attoparsec base base64-bytestring binary blaze-builder bytestring
+         case-insensitive containers entropy mtl network random SHA text
+       ];
+       testDepends = [
+         attoparsec base base64-bytestring binary blaze-builder bytestring
+         case-insensitive containers entropy HUnit mtl network QuickCheck
+         random SHA test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       homepage = "http://jaspervdj.be/websockets";
+       description = "A sensible and clean way to write WebSocket-capable servers in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "websockets-snap" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, mtl, snap-core
+     , snap-server, websockets
+     }:
+     mkDerivation {
+       pname = "websockets-snap";
+       version = "0.9.1.0";
+       sha256 = "170bivzyqr46s9l7l6dd1nwx3wai9pv0qpf7bw3rxh2y6lxk2546";
+       buildDepends = [
+         base bytestring enumerator mtl snap-core snap-server websockets
+       ];
+       description = "Snap integration for the websockets library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "webwire" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-builder, blaze-html
+     , bytestring, case-insensitive, containers, cookie, cprng-aes
+     , hamlet, http-types, netwire, shakespeare-css, shakespeare-js
+     , text, time, transformers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "webwire";
+       version = "0.1.0";
+       sha256 = "0m2wl7cfg67yyj2bbn811g6gsvzj7sw1sb3y2zanc0dxjd4cr4r2";
+       buildDepends = [
+         base base64-bytestring blaze-builder blaze-html bytestring
+         case-insensitive containers cookie cprng-aes hamlet http-types
+         netwire shakespeare-css shakespeare-js text time transformers wai
+         wai-extra
+       ];
+       description = "Functional reactive web framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wedding-announcement" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "wedding-announcement";
+       version = "1.1";
+       sha256 = "0rwbckf5h68170jrs1m70kgqf9h43vypj65wcw390w0xc7kmyv49";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ];
+       homepage = "http://web.mornfall.net";
+       description = "a wedding announcement";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
+  "wedged" = callPackage
+    ({ mkDerivation, array, base, colour, containers, diagrams-cairo
+     , diagrams-lib, MonadRandom, strict
+     }:
+     mkDerivation {
+       pname = "wedged";
+       version = "0";
+       revision = "1";
+       sha256 = "1sdnqc40qg5pv0kj4qw33vk5cy3yym60csh3iwmpm7pzpray7511";
+       editedCabalFile = "64bac15c983cf83ab2b05b002439b8f125b9c942ae46ed75a187f7e2dc68dba5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base colour containers diagrams-cairo diagrams-lib
+         MonadRandom strict
+       ];
+       description = "Wedged postcard generator";
+       license = "unknown";
+     }) {};
+
+  "weighted-regexp" = callPackage
+    ({ mkDerivation, array, base, happy }:
+     mkDerivation {
+       pname = "weighted-regexp";
+       version = "0.3.1.2";
+       sha256 = "0r765ppzazdsm5i3prgf6a405f88xi8sx79jdz9mck4584w7fqzr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base ];
+       buildTools = [ happy ];
+       jailbreak = true;
+       homepage = "http://sebfisch.github.com/haskell-regexp";
+       description = "Weighted Regular Expression Matcher";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "weighted-search" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "weighted-search";
+       version = "0.1.0.1";
+       sha256 = "1va2b10g3h2wfl9d7f27d55z5c93fvz41sb023l4c2ym1w9kw8zv";
+       buildDepends = [ base ];
+       homepage = "http://github.com/luqui/weighted-search";
+       description = "A weighted nondeterministic search monad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "welshy" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , http-types, lifted-base, resourcet, text, transformers
+     , unordered-containers, wai, warp
+     }:
+     mkDerivation {
+       pname = "welshy";
+       version = "0.1.0.0";
+       revision = "1";
+       sha256 = "08pgns5irmvh9c12lxq2x72ql8ggzd3npfqnrphba3l171380gki";
+       editedCabalFile = "ff6973a67b742efb8d7c1d542ba9f27056de3e547ade96d33e9b68314afec22c";
+       buildDepends = [
+         aeson base blaze-builder bytestring conduit http-types lifted-base
+         resourcet text transformers unordered-containers wai warp
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mcschroeder/welshy";
+       description = "Haskell web framework (because Scotty had trouble yodeling)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wheb-mongo" = callPackage
+    ({ mkDerivation, base, bson, mongoDB, mtl, text, Wheb }:
+     mkDerivation {
+       pname = "wheb-mongo";
+       version = "0.0.3.0";
+       sha256 = "1xxks0jxjwph7372jqnscm6z0b28zz3dvb49b2aw37jmnvwrfdcy";
+       buildDepends = [ base bson mongoDB mtl text Wheb ];
+       jailbreak = true;
+       homepage = "https://github.com/hansonkd/Wheb-Framework";
+       description = "MongoDB plugin for Wheb";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wheb-redis" = callPackage
+    ({ mkDerivation, base, bytestring, hedis, mtl, text, Wheb }:
+     mkDerivation {
+       pname = "wheb-redis";
+       version = "0.0.1.0";
+       sha256 = "025chjp41qbjr9m6c3pd9v510h4aac1rvbyrki3c7617sca8a45h";
+       buildDepends = [ base bytestring hedis mtl text Wheb ];
+       jailbreak = true;
+       homepage = "https://github.com/hansonkd/Wheb-Framework";
+       description = "Redis connection for Wheb";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wheb-strapped" = callPackage
+    ({ mkDerivation, base, mtl, StrappedTemplates, text, Wheb }:
+     mkDerivation {
+       pname = "wheb-strapped";
+       version = "0.1.0.0";
+       sha256 = "1wykpp325336kk7a1vnnjffankcw0kaw3jcfin53cp8hsx4bwfdp";
+       buildDepends = [ base mtl StrappedTemplates text Wheb ];
+       jailbreak = true;
+       homepage = "https://github.com/hansonkd/Wheb-Framework";
+       description = "Strapped templates for Wheb";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "while-lang-parser" = callPackage
+    ({ mkDerivation, base, indents, parsec }:
+     mkDerivation {
+       pname = "while-lang-parser";
+       version = "0.1.0.0";
+       sha256 = "0dlq2rldak4lb0w8hcx7aigdj7b59crp1k130p36cha7zpqdixll";
+       buildDepends = [ base indents parsec ];
+       homepage = "https://github.com/davnils/while-lang-parser";
+       description = "Parser for the While language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "whim" = callPackage
+    ({ mkDerivation, base, containers, GLUT, mtl, OpenGL, process
+     , random, X11
+     }:
+     mkDerivation {
+       pname = "whim";
+       version = "0.1.1";
+       sha256 = "0fgasnviqmz8ifkb8ikvj721f9j1xzvix5va0jxi81gh6f400ij6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers GLUT mtl OpenGL process random X11
+       ];
+       jailbreak = true;
+       homepage = "http://neugierig.org/software/darcs/whim/";
+       description = "A Haskell window manager";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "whiskers" = callPackage
+    ({ mkDerivation, base, parsec, template-haskell }:
+     mkDerivation {
+       pname = "whiskers";
+       version = "0.1.0.3";
+       sha256 = "0kbyv0q6z2d2plblafqcmwcfiyhdbijqnqg2w7qxr7dklka8245v";
+       buildDepends = [ base parsec template-haskell ];
+       jailbreak = true;
+       description = "Mustache templates with Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "whitespace" = callPackage
+    ({ mkDerivation, haskell98, random }:
+     mkDerivation {
+       pname = "whitespace";
+       version = "0.4";
+       sha256 = "1y89bayaccz8qqzsfmpr917dczgbn5srskja6f2dab3ipxhk24z9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ haskell98 random ];
+       homepage = "https://github.com/haroldl/whitespace-nd";
+       description = "Whitespace, an esoteric programming language";
+       license = "GPL";
+     }) {};
+
+  "whois" = callPackage
+    ({ mkDerivation, base, network, network-uri, split }:
+     mkDerivation {
+       pname = "whois";
+       version = "1.2.2";
+       revision = "1";
+       sha256 = "199fd710zicx7ijyvipc7p0d3yg18f6nppcln2wz38hl9kfv0iv0";
+       editedCabalFile = "c11f42da958683ffb7a2e958dcefe2ef1a3e732732010f44facfbb0fffd7571e";
+       buildDepends = [ base network network-uri split ];
+       homepage = "http://github.com/relrod/whois-hs";
+       description = "WHOIS client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wikipedia4epub" = callPackage
+    ({ mkDerivation, base, bytestring, directory, epub, filepath
+     , haskell98, HTTP, network, regex-base, regex-posix, tagsoup, url
+     , xml, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "wikipedia4epub";
+       version = "0.0.12";
+       sha256 = "089mmwrknghkliakni3wmwrd0hcngg3kqkijfmmky4bxni6w39bd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory epub filepath haskell98 HTTP network
+         regex-base regex-posix tagsoup url xml zip-archive zlib
+       ];
+       homepage = "http://rampa.sk/static/wikipedia4epub.html";
+       description = "Wikipedia EPUB E-Book construction from Firefox history";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "win-hp-path" = callPackage
+    ({ mkDerivation, base, process, split }:
+     mkDerivation {
+       pname = "win-hp-path";
+       version = "0.1.2";
+       sha256 = "131hr8c4q7fwqmwzyp1fwnz349h6103v5gjvzjpbhb7ngki38nfq";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base process split ];
+       homepage = "http://github.com/ygale/win-hp-path";
+       description = "Work with multiple Haskell Platform versions on Windows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "windowslive" = callPackage
+    ({ mkDerivation, base, Crypto, dataenc, mtl, network, parsec
+     , pretty, split, time, urlencoded
+     }:
+     mkDerivation {
+       pname = "windowslive";
+       version = "0.3";
+       sha256 = "15dk3wdv99ggxwypgnv8hs5ygn5bzqml9jhhz6l9kgnc0rrn3jbz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Crypto dataenc mtl network parsec pretty split time urlencoded
+       ];
+       jailbreak = true;
+       homepage = "http://patch-tag.com/repo/windowslive";
+       description = "Implements Windows Live Web Authentication and Delegated Authentication";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "winerror" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "winerror";
+       version = "1.0.1";
+       sha256 = "0xamx4yhyv264mka4ypp0r1xh3xv7ba31sis3lbhjycn4i07wlhd";
+       description = "Error handling for foreign calls to the Windows API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "winio" = callPackage
+    ({ mkDerivation, base, bytestring, extensible-exceptions, kernel32
+     , network, winerror, ws2_32
+     }:
+     mkDerivation {
+       pname = "winio";
+       version = "0.1";
+       sha256 = "0f13x6fcb7cb4rfza5vp1dfxx3rcggh5rgw05lkqx9jwvnqcnjwm";
+       buildDepends = [
+         base bytestring extensible-exceptions network winerror
+       ];
+       extraLibraries = [ kernel32 ws2_32 ];
+       homepage = "http://github.com/felixmar/winio";
+       description = "I/O library for Windows";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { kernel32 = null;  ws2_32 = null;};
+
+  "wiring" = callPackage
+    ({ mkDerivation, base, hspec, mtl, QuickCheck, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "wiring";
+       version = "0.2.1";
+       sha256 = "1vbvv6wkizmh6wrzfk968vdsmp9iwrkpl3dgw6465s8z90ncclj5";
+       buildDepends = [ base mtl template-haskell transformers ];
+       testDepends = [
+         base hspec mtl QuickCheck template-haskell transformers
+       ];
+       homepage = "http://github.com/seanparsons/wiring/";
+       description = "Wiring, promotion and demotion of types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "witherable" = callPackage
+    ({ mkDerivation, base, containers, hashable, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "witherable";
+       version = "0.1.2.2";
+       sha256 = "18vhaardjzxbs2if9va4fadr47cjkbv84b2lvpszarrvfgibvxb7";
+       buildDepends = [
+         base containers hashable transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/fumieval/witherable";
+       description = "Generalization of filter and catMaybes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "witness" = callPackage
+    ({ mkDerivation, base, categories, constraints, transformers }:
+     mkDerivation {
+       pname = "witness";
+       version = "0.3";
+       sha256 = "0r0395blixr5g3s2dm4x4mj93yjk4zlig0b5acbnnr7yimjmnd11";
+       buildDepends = [ base categories constraints transformers ];
+       homepage = "https://github.com/AshleyYakeley/witness";
+       description = "values that witness types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "witty" = callPackage
+    ({ mkDerivation, base, bytestring, network, unix }:
+     mkDerivation {
+       pname = "witty";
+       version = "0.0.4";
+       sha256 = "1k8c74j28nji46gib7r2ivfbvvzmkka9qnyf8hh7cyjgsmxxvq83";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring network unix ];
+       homepage = "https://github.com/kazu-yamamoto/witty/blob/master/README.md";
+       description = "A network server to show bottlenecks of GHC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wizards" = callPackage
+    ({ mkDerivation, base, containers, control-monad-free, haskeline
+     , mtl, transformers
+     }:
+     mkDerivation {
+       pname = "wizards";
+       version = "1.0.2";
+       sha256 = "02yk9d01d39c3hpvlh2c6v35fzyf3nm92f6vff0qns30dmr2r8ab";
+       buildDepends = [
+         base containers control-monad-free haskeline mtl transformers
+       ];
+       description = "High level, generic library for interrogative user interfaces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wkt" = callPackage
+    ({ mkDerivation, base, lens, linear, parsec, parsec-numbers }:
+     mkDerivation {
+       pname = "wkt";
+       version = "0.2.4";
+       sha256 = "0xbzk4p5jazdkrlvj67xzy9vphl6rw90jp8cv4hr8p63v7ja2kfq";
+       buildDepends = [ base lens linear parsec parsec-numbers ];
+       jailbreak = true;
+       homepage = "http://github.com/bgamari/wkt";
+       description = "Parsec parsers and types for geographic data in well-known text (WKT) format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wl-pprint" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "wl-pprint";
+       version = "1.1";
+       revision = "1";
+       sha256 = "16kp3fkh0x9kgzk6fdqrm8m0v7b5cgbv0m3x63ybbp5vxbhand06";
+       editedCabalFile = "faf1b4364a3b77cf970f7d966be6dea925f6029625e12db730435230527c6aed";
+       buildDepends = [ base ];
+       description = "The Wadler/Leijen Pretty Printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wl-pprint-ansiterm" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, containers, mtl
+     , nats, semigroups, text, transformers, wl-pprint-extras
+     }:
+     mkDerivation {
+       pname = "wl-pprint-ansiterm";
+       version = "0.2.0.0";
+       sha256 = "02s47f58ah08fvjqpdscxqiq9609agi5iplczrdkgxrv1vj8vkpz";
+       buildDepends = [
+         ansi-terminal base bytestring containers mtl nats semigroups text
+         transformers wl-pprint-extras
+       ];
+       homepage = "https://github.com/seagull-kamome/wl-pprint-ansiterm";
+       description = "ANSI Terminal support with wl-pprint-extras";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wl-pprint-extras" = callPackage
+    ({ mkDerivation, base, containers, HUnit, nats, semigroupoids
+     , semigroups, test-framework, test-framework-hunit, text
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "wl-pprint-extras";
+       version = "3.5.0.4";
+       sha256 = "0mvg5vff574xvrdbdwnyy71kxv0cp0q5vv8fb12fbgydnvsy3mbl";
+       buildDepends = [
+         base containers nats semigroupoids semigroups text utf8-string
+       ];
+       testDepends = [ base HUnit test-framework test-framework-hunit ];
+       homepage = "http://github.com/ekmett/wl-pprint-extras/";
+       description = "A free monad based on the Wadler/Leijen pretty printer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wl-pprint-terminfo" = callPackage
+    ({ mkDerivation, base, bytestring, containers, nats, semigroups
+     , terminfo, text, transformers, wl-pprint-extras
+     }:
+     mkDerivation {
+       pname = "wl-pprint-terminfo";
+       version = "3.7.1.3";
+       sha256 = "19z5cr1wqc3xcy39dswx78b6fpxhb41798zkiwkmb97nnvzwbdmv";
+       buildDepends = [
+         base bytestring containers nats semigroups terminfo text
+         transformers wl-pprint-extras
+       ];
+       homepage = "http://github.com/ekmett/wl-pprint-terminfo/";
+       description = "A color pretty printer with terminfo support";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wl-pprint-text" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "wl-pprint-text";
+       version = "1.1.0.4";
+       sha256 = "1xgizzimfw17mpmw2afvmnvyag976j8ggn7k5r564rkw9f0m6bgz";
+       buildDepends = [ base text ];
+       description = "A Wadler/Leijen Pretty Printer for Text values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wobsurv" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base-prelude, bytestring
+     , hastache, HTF, http-client, http-types, HUnit, lifted-async
+     , monad-control, mwc-random, network, network-simple, old-locale
+     , pipes, pipes-bytestring, pipes-network, pipes-parse, pipes-safe
+     , pipes-text, QuickCheck, quickcheck-instances, safe, stm
+     , stm-containers, system-fileio, system-filepath, text, time
+     , transformers, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "wobsurv";
+       version = "0.1.0";
+       sha256 = "1w2j7xr4f0a63bwz96js8wrdpfw73qzdg6d607lx2526yrq8xlh2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base-prelude bytestring hastache http-types
+         monad-control network network-simple old-locale pipes
+         pipes-bytestring pipes-network pipes-parse pipes-safe pipes-text
+         safe stm stm-containers system-fileio system-filepath text time
+         transformers unordered-containers yaml
+       ];
+       testDepends = [
+         base-prelude bytestring HTF http-client http-types HUnit
+         lifted-async mwc-random network QuickCheck quickcheck-instances
+         safe system-fileio system-filepath text transformers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/nikita-volkov/wobsurv";
+       description = "A simple and highly performant HTTP file server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "woffex" = callPackage
+    ({ mkDerivation, base, binary, bytestring, filepath, zlib }:
+     mkDerivation {
+       pname = "woffex";
+       version = "0.1";
+       sha256 = "0b83s5q4i3f4l45dklp1xgrlcpzrsdbd16fvlpazlcglzxk81xmv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base binary bytestring filepath zlib ];
+       jailbreak = true;
+       description = "Web Open Font Format (WOFF) unpacker";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wol" = callPackage
+    ({ mkDerivation, base, network, split }:
+     mkDerivation {
+       pname = "wol";
+       version = "0.1.2";
+       sha256 = "0w0m91srvgbj3qcxw2djpb482qlinsi2dyyb76qksdd2gw0jm57i";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base network split ];
+       jailbreak = true;
+       homepage = "http://tom.lokhorst.eu/wol";
+       description = "Send a Wake on LAN Magic Packet";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "word-trie" = callPackage
+    ({ mkDerivation, base, binary, containers, derive, hspec
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "word-trie";
+       version = "0.2.0.4";
+       sha256 = "0qgljhl2pj54mhsan9w6gchf3l94rs2c5bi9f93q1nz55va1027f";
+       buildDepends = [ base binary containers derive ];
+       testDepends = [ base binary containers derive hspec QuickCheck ];
+       homepage = "https://github.com/yi-editor/word-trie";
+       description = "Implementation of a finite trie over words";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "word12" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "word12";
+       version = "1.0.0";
+       sha256 = "19a22vs314bps0fq7md9jv43xzrya28mmfxi39zd8a1d8h99yd5c";
+       buildDepends = [ base bytestring ];
+       testDepends = [ base bytestring hspec QuickCheck ];
+       homepage = "http://github.com/minpou/word12";
+       description = "Word12 library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "word24" = callPackage
+    ({ mkDerivation, base, QuickCheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "word24";
+       version = "1.0.7";
+       sha256 = "1rh766jrmfw1hy1p4xllfq2ygxpm3zyglw4vcjainajn2r7whnhi";
+       buildDepends = [ base ];
+       testDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       homepage = "http://www.tiresiaspress.us/haskell/word24";
+       description = "24-bit word and int types for GHC";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "word8" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "word8";
+       version = "0.1.2";
+       sha256 = "1pbn8ra3qhwvw07p375cdmp7jzlg07hgdcr4cpscz3h7b9sy7fiw";
+       buildDepends = [ base ];
+       testDepends = [ base hspec ];
+       description = "Word8 library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wordcloud" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "wordcloud";
+       version = "0.1";
+       sha256 = "1jdcv5h41k5xckviyc0p0k0q68s371llcvmkdbg78vh4b3xw7cd5";
+       description = "None";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wordexp" = callPackage
+    ({ mkDerivation, array, base, c2hs, semigroups }:
+     mkDerivation {
+       pname = "wordexp";
+       version = "0.2.0.0";
+       sha256 = "1hfpvzbyyh47ai166xyrhmhvg2shrqcswsfalwa16wab6hcg32ki";
+       buildDepends = [ array base semigroups ];
+       buildTools = [ c2hs ];
+       description = "wordexp(3) wrappers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wordpass" = callPackage
+    ({ mkDerivation, base, containers, deepseq, directory, filepath
+     , hflags, random-fu, random-source, text, unix-compat, vector
+     }:
+     mkDerivation {
+       pname = "wordpass";
+       version = "1.0.0.3";
+       sha256 = "1nbgzrc3g3kcc8462sqskdywk0n1m54810r0jsw8ip2xllvkxx9b";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers deepseq directory filepath hflags random-fu
+         random-source text unix-compat vector
+       ];
+       homepage = "https://github.com/mgajda/wordpass";
+       description = "Dictionary-based password generator";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "words" = callPackage
+    ({ mkDerivation, base, directory, text }:
+     mkDerivation {
+       pname = "words";
+       version = "0.1.2";
+       sha256 = "0najaqi9fkqdkfks1c6w3fz4qf7dnr4h4brzgglg1h9ik8x5a910";
+       buildDepends = [ base directory text ];
+       description = "Cross-platform access to a list of words";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wordsearch" = callPackage
+    ({ mkDerivation, array, base, containers, fclabels }:
+     mkDerivation {
+       pname = "wordsearch";
+       version = "1.0.1";
+       sha256 = "0jq1aiw35xiklc9asa1pgw2rn6i8q17fq780chqpqz0ryq0iv4x2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base containers fclabels ];
+       description = "A word search solver library and executable";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wordsetdiff" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, containers
+     , directory, filepath, hashmap, process
+     }:
+     mkDerivation {
+       pname = "wordsetdiff";
+       version = "0.0.3.1";
+       sha256 = "0kzbs1ps8fxdsjcpyvccgpw1y6i1q5gw6brgf6j1vv6r24wsh00w";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         ansi-terminal base bytestring containers directory filepath hashmap
+         process
+       ];
+       homepage = "http://people.csail.mit.edu/newton/wordsetdiff";
+       description = "Compare two files as sets of N-tuples of words";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wp-archivebot" = callPackage
+    ({ mkDerivation, base, feed, HTTP, network, parallel, tagsoup }:
+     mkDerivation {
+       pname = "wp-archivebot";
+       version = "0.1";
+       sha256 = "04aq760z5jn81z03yi9l0d0w034qjiqiwb702lkvk2002b61mk5z";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base feed HTTP network parallel tagsoup ];
+       jailbreak = true;
+       description = "Subscribe to a wiki's RSS feed and archive external links";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wrap" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "wrap";
+       version = "0.0.0";
+       sha256 = "03pmfwwx2ykjglzrc4k09q2lv8piq107j32dg0r1aadj2ysc9fzq";
+       buildDepends = [ base ];
+       description = "Wrap a function's return value with another function";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wraparound" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "wraparound";
+       version = "0.0.2";
+       sha256 = "161mz5bfmx13s9azh3dss64fw98vbaab8krysr9pbbp9dh79i1cf";
+       buildDepends = [ base ];
+       homepage = "http://frigidcode.com";
+       description = "Convenient handling of points on a seamless 2-dimensional plane";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wraxml" = callPackage
+    ({ mkDerivation, base, containers, data-accessor
+     , explicit-exception, HaXml, hxt, hxt-filter, polyparse, tagchup
+     , tagsoup, transformers, utility-ht, xml-basic
+     }:
+     mkDerivation {
+       pname = "wraxml";
+       version = "0.4.4";
+       sha256 = "1h8lqav0q6vka8yr64032yh3ncjvz6fxp1j9q5jqhzm0ai34air3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers data-accessor explicit-exception HaXml hxt
+         hxt-filter polyparse tagchup tagsoup transformers utility-ht
+         xml-basic
+       ];
+       jailbreak = true;
+       homepage = "http://code.haskell.org/~thielema/wraxml/";
+       description = "Lazy wrapper to HaXML, HXT, TagSoup via custom XML tree structure";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wreq" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, attoparsec, base
+     , base16-bytestring, base64-bytestring, byteable, bytestring
+     , 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, old-locale, PSQueue, QuickCheck, snap-core
+     , snap-server, template-haskell, temporary, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, time
+     , transformers, unix-compat, unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "wreq";
+       version = "0.3.0.1";
+       sha256 = "13apqr8sfx2vi794ldqprmgqch79sqli9scgyk3k41v7wcwqaal4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base base16-bytestring byteable bytestring
+         case-insensitive containers cryptohash exceptions ghc-prim hashable
+         http-client http-client-tls http-types lens lens-aeson mime-types
+         old-locale PSQueue template-haskell text time unordered-containers
+       ];
+       testDepends = [
+         aeson aeson-pretty aeson-qq base base64-bytestring bytestring
+         case-insensitive containers directory doctest filepath hashable
+         http-client http-types HUnit lens lens-aeson network-info
+         QuickCheck snap-core snap-server temporary test-framework
+         test-framework-hunit test-framework-quickcheck2 text transformers
+         unix-compat uuid
+       ];
+       homepage = "http://www.serpentine.com/wreq";
+       description = "An easy-to-use HTTP client library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wright" = callPackage
+    ({ mkDerivation, assertions, base, bed-and-breakfast, containers
+     , filepath, lens
+     }:
+     mkDerivation {
+       pname = "wright";
+       version = "0.1.0.2";
+       sha256 = "180012vyslprj06npavh44fmii1813w22sws9zwxzlb4r4jdm4zi";
+       buildDepends = [ base bed-and-breakfast containers ];
+       testDepends = [
+         assertions base bed-and-breakfast containers filepath lens
+       ];
+       jailbreak = true;
+       description = "Colour space transformations and metrics";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wsedit" = callPackage
+    ({ mkDerivation, base, bencode, bytestring, containers, directory
+     , safe, utf8-string
+     }:
+     mkDerivation {
+       pname = "wsedit";
+       version = "0.1.0.0";
+       sha256 = "1035v9c22pngk2r3yisr2vvnfdjgynlgq8adj8z50xak998x22ri";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bencode bytestring containers directory safe utf8-string
+       ];
+       jailbreak = true;
+       description = "A small tool to list, add and remove webseeds from a torrent file";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "wtk" = callPackage
+    ({ mkDerivation, base, old-locale, time, transformers }:
+     mkDerivation {
+       pname = "wtk";
+       version = "0.2.1";
+       sha256 = "080y0ks5q6bv7dvla08x4cvcmzd13b5v1c5p5336k0vkg2c3fq79";
+       buildDepends = [ base old-locale time transformers ];
+       description = "Wojcik Tool Kit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wtk-gtk" = callPackage
+    ({ mkDerivation, base, containers, gtk, lenses, mtl, old-locale
+     , parsec, time, wtk
+     }:
+     mkDerivation {
+       pname = "wtk-gtk";
+       version = "0.2";
+       sha256 = "0n9fvp83z71jvv67zjpz34r427s898shns00v84kfjjklhd61q5y";
+       buildDepends = [
+         base containers gtk lenses mtl old-locale parsec time wtk
+       ];
+       description = "GTK tools within Wojcik Tool Kit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wumpus-basic" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , vector-space, wumpus-core
+     }:
+     mkDerivation {
+       pname = "wumpus-basic";
+       version = "0.24.0";
+       sha256 = "1mahlvja39jc6zvm32n23p8ya2pfwwawbyawx8srds0bsfyqqmng";
+       buildDepends = [
+         base containers directory filepath vector-space wumpus-core
+       ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Basic objects and system code built on Wumpus-Core";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wumpus-core" = callPackage
+    ({ mkDerivation, base, containers, time, vector-space }:
+     mkDerivation {
+       pname = "wumpus-core";
+       version = "0.52.1";
+       sha256 = "10q991xb9v2r3z7q53rwrqcqd4m6qazvdibrxsn2620l2zbjxnd8";
+       buildDepends = [ base containers time vector-space ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Pure Haskell PostScript and SVG generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wumpus-drawing" = callPackage
+    ({ mkDerivation, base, containers, vector-space, wumpus-basic
+     , wumpus-core
+     }:
+     mkDerivation {
+       pname = "wumpus-drawing";
+       version = "0.9.0";
+       sha256 = "1y9j2d3k862zi8681q3b2pl4nx4vyazdfwx5ji4mfgy73z62lbxw";
+       buildDepends = [
+         base containers vector-space wumpus-basic wumpus-core
+       ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "High-level drawing objects built on Wumpus-Basic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wumpus-microprint" = callPackage
+    ({ mkDerivation, base, vector-space, wumpus-basic, wumpus-core
+     , wumpus-drawing
+     }:
+     mkDerivation {
+       pname = "wumpus-microprint";
+       version = "0.14.0";
+       sha256 = "1rrw8hzns7qa9jyzhbal0x0xbi5wa99afixs0cxqk0kgm6sar9cz";
+       buildDepends = [
+         base vector-space wumpus-basic wumpus-core wumpus-drawing
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Microprints - \"greek-text\" pictures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wumpus-tree" = callPackage
+    ({ mkDerivation, base, containers, vector-space, wumpus-basic
+     , wumpus-core, wumpus-drawing
+     }:
+     mkDerivation {
+       pname = "wumpus-tree";
+       version = "0.20.0";
+       sha256 = "1xndkri4ayxb12xhik77r59qlg05nhibc8b257csrw9br7xkk8ja";
+       buildDepends = [
+         base containers vector-space wumpus-basic wumpus-core
+         wumpus-drawing
+       ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Drawing trees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wx" = callPackage
+    ({ mkDerivation, base, stm, wxcore }:
+     mkDerivation {
+       pname = "wx";
+       version = "0.91.0.0";
+       sha256 = "133cjc3vfqxyw71a5x99flzg23qa2k28p2zajw6vp0z7qhv8kfjy";
+       buildDepends = [ base stm wxcore ];
+       homepage = "http://haskell.org/haskellwiki/WxHaskell";
+       description = "wxHaskell";
+       license = "unknown";
+     }) {};
+
+  "wxAsteroids" = callPackage
+    ({ mkDerivation, base, directory, random, wx, wxcore }:
+     mkDerivation {
+       pname = "wxAsteroids";
+       version = "1.0";
+       sha256 = "0mwsh9bhzhnf8la5khy17j2brbphvkicqg0yd0y9ymnn6bgnq4br";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory random wx wxcore ];
+       homepage = "http://www.haskell.org/haskellwiki/wxAsteroids";
+       description = "Try to avoid the asteroids with your space ship";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wxFruit" = callPackage
+    ({ mkDerivation, base, old-time, wx, wxcore, Yampa }:
+     mkDerivation {
+       pname = "wxFruit";
+       version = "0.1.2.1";
+       sha256 = "09n0b8znrwa65z1cjfizxkxj2rlsp56akagih5cycxpwivj1d7p9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base old-time wx wxcore Yampa ];
+       jailbreak = true;
+       homepage = "http://www.haskell.org/haskellwiki/WxFruit";
+       description = "An implementation of Fruit using wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wxc" = callPackage
+    ({ mkDerivation, base, libX11, mesa, wxdirect, wxGTK }:
+     mkDerivation {
+       pname = "wxc";
+       version = "0.91.0.0";
+       sha256 = "0siab2h28dlyliznydxll22l9hdgwbmgddj01k1xw8hj4g7b53sa";
+       buildDepends = [ base wxdirect ];
+       extraLibraries = [ libX11 mesa wxGTK ];
+       postInstall = ''
+         cp -v dist/build/libwxc.so.0.91.0.0 $out/lib/libwxc.so
+       '';
+       homepage = "http://haskell.org/haskellwiki/WxHaskell";
+       description = "wxHaskell C++ wrapper";
+       license = "unknown";
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs) mesa;
+          inherit (pkgs) wxGTK;};
+
+  "wxcore" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, libX11, mesa, parsec, stm, time, wxc, wxdirect, wxGTK
+     }:
+     mkDerivation {
+       pname = "wxcore";
+       version = "0.91.0.0";
+       sha256 = "01pvaysihyijklyw129vcafjqyh8bpafjzvscxvzll1g86qbqlkz";
+       buildDepends = [
+         array base bytestring containers directory filepath parsec stm time
+         wxc wxdirect
+       ];
+       extraLibraries = [ libX11 mesa wxGTK ];
+       homepage = "http://haskell.org/haskellwiki/WxHaskell";
+       description = "wxHaskell core";
+       license = "unknown";
+     }) { inherit (pkgs.xlibs) libX11;  inherit (pkgs) mesa;
+          inherit (pkgs) wxGTK;};
+
+  "wxdirect" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, parsec
+     , process, strict, time
+     }:
+     mkDerivation {
+       pname = "wxdirect";
+       version = "0.91.0.0";
+       sha256 = "17xlviyyagcvmc7m1f4djnsw0wdakirarmv12j4fmwbnfnbryp27";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath parsec process strict time
+       ];
+       homepage = "http://haskell.org/haskellwiki/WxHaskell";
+       description = "helper tool for building wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wxhnotepad" = callPackage
+    ({ mkDerivation, base, wx, wxcore }:
+     mkDerivation {
+       pname = "wxhnotepad";
+       version = "1.2.0";
+       sha256 = "10897yb7mkc9hy2037r9yb4192n65lz997fd5apksra1rifrazyp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base wx wxcore ];
+       jailbreak = true;
+       homepage = "http://github.com/elbrujohalcon/wxhnotepad";
+       description = "An example of how to implement a basic notepad with wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wxturtle" = callPackage
+    ({ mkDerivation, base, convertible, Imlib, wx, yjsvg, yjtools }:
+     mkDerivation {
+       pname = "wxturtle";
+       version = "0.0.1";
+       sha256 = "0sdbi9dfja2ia0n3kggvqc3n3c5rgw096d767yvyzc52k5caakn7";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base convertible Imlib wx yjsvg yjtools ];
+       description = "turtle like LOGO with wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wybor" = callPackage
+    ({ mkDerivation, ansi-terminal, base, conduit, containers, hspec
+     , lens, process, resourcet, semigroups, terminal-size, text
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "wybor";
+       version = "0.1.0";
+       sha256 = "0cyfhjpb775891qbfc3y15y16mx2hraavgvsrvqkb701rh5vngf6";
+       buildDepends = [
+         ansi-terminal base conduit containers lens resourcet semigroups
+         terminal-size text transformers unix
+       ];
+       testDepends = [
+         ansi-terminal base conduit containers hspec lens process resourcet
+         semigroups terminal-size text transformers unix
+       ];
+       homepage = "https://github.com/supki/wybor";
+       description = "Console line fuzzy search";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "wyvern" = callPackage
+    ({ mkDerivation, base, bytestring, ConfigFile, containers, dgs
+     , directory, filepath, mtl, parsec, process, sgf, split
+     }:
+     mkDerivation {
+       pname = "wyvern";
+       version = "0.1";
+       sha256 = "147v55c1ravnb769sjw2c8i4qw0gxh3scvx5cvb1fa6nng4x0hnq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring ConfigFile containers dgs directory filepath mtl
+         parsec process sgf split
+       ];
+       jailbreak = true;
+       homepage = "http://dmwit.com/wyvern";
+       description = "An autoresponder for Dragon Go Server";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "x-dsp" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, monads-tf
+     , text, transformers, type-level
+     }:
+     mkDerivation {
+       pname = "x-dsp";
+       version = "0.2.3.1";
+       sha256 = "12l3zy9lmg7sf4q8b3yz2cb9pj9n0sgjglnqhcfkzzdg6pb0g4hj";
+       buildDepends = [
+         array base bytestring containers monads-tf text transformers
+         type-level
+       ];
+       jailbreak = true;
+       homepage = "http://jwlato.webfactional.com/haskell/x-dsp";
+       description = "A embedded DSL for manipulating DSP languages in Haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "x11-xim" = callPackage
+    ({ mkDerivation, base, utf8-string, X11 }:
+     mkDerivation {
+       pname = "x11-xim";
+       version = "0.0.9.0";
+       revision = "1";
+       sha256 = "0sn789j0kz891l9p0srx6537yq44b5jlyph9vc3xdb3ygy20bjrw";
+       editedCabalFile = "4404aa037f4df2ef8cd16834c8149d596f09b30379f0b85a3b8db9ddd30fa6b0";
+       buildDepends = [ base utf8-string X11 ];
+       homepage = "https://github.com/YoshikuniJujo/x11-xim_haskell/wiki/";
+       description = "A binding to the xim of X11 graphics library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "x11-xinput" = callPackage
+    ({ mkDerivation, base, c2hs, containers, libXi, mtl, X11 }:
+     mkDerivation {
+       pname = "x11-xinput";
+       version = "0.1.0.0";
+       sha256 = "15ij6yfjjyqgzka1163a08ngrraxa4jpbwjq2izdl2l44k0mw29v";
+       buildDepends = [ base containers mtl X11 ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ libXi ];
+       homepage = "http://redmine.iportnov.ru/projects/x11-xinput";
+       description = "Haskell FFI bindings for X11 XInput library (-lXi)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs.xlibs) libXi;};
+
+  "x509" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-parse, asn1-types, base
+     , bytestring, containers, crypto-pubkey-types, cryptohash
+     , directory, filepath, hourglass, mtl, pem, process, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "x509";
+       version = "1.5.0.1";
+       sha256 = "03gj4190f0ql1ghn2mri8901xdydhhnwijyfn8lmpjyn7pgpl3ba";
+       buildDepends = [
+         asn1-encoding asn1-parse asn1-types base bytestring containers
+         crypto-pubkey-types cryptohash directory filepath hourglass mtl pem
+         process
+       ];
+       testDepends = [
+         asn1-types base bytestring crypto-pubkey-types hourglass mtl tasty
+         tasty-quickcheck
+       ];
+       homepage = "http://github.com/vincenthz/hs-certificate";
+       description = "X509 reader and writer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "x509-store" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring
+     , containers, crypto-pubkey-types, directory, filepath, mtl, pem
+     , process, x509
+     }:
+     mkDerivation {
+       pname = "x509-store";
+       version = "1.5.0";
+       sha256 = "1w9sqb007s4avjzvrdwq13a4c528h7h2lg3m8cl31syrgznc9ny5";
+       buildDepends = [
+         asn1-encoding asn1-types base bytestring containers
+         crypto-pubkey-types directory filepath mtl pem process x509
+       ];
+       homepage = "http://github.com/vincenthz/hs-certificate";
+       description = "X.509 collection accessing and storing methods";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "x509-system" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, pem, process, x509, x509-store
+     }:
+     mkDerivation {
+       pname = "x509-system";
+       version = "1.5.0";
+       sha256 = "159zwg35nq42j1rl0p4x00hdf3iy48hd7kavz0rnpwd2p7ljamr3";
+       buildDepends = [
+         base bytestring containers directory filepath mtl pem process x509
+         x509-store
+       ];
+       homepage = "http://github.com/vincenthz/hs-certificate";
+       description = "Handle per-operating-system X.509 accessors and storage";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "x509-util" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring
+     , crypto-pubkey, crypto-pubkey-types, cryptohash, directory, pem
+     , x509, x509-store, x509-system, x509-validation
+     }:
+     mkDerivation {
+       pname = "x509-util";
+       version = "1.5.2";
+       sha256 = "12nhxi1lqr5arlj586ai6n86n226iz6k4gbnm0dq07dwgky4j0iy";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         asn1-encoding asn1-types base bytestring crypto-pubkey
+         crypto-pubkey-types cryptohash directory pem x509 x509-store
+         x509-system x509-validation
+       ];
+       homepage = "http://github.com/vincenthz/hs-certificate";
+       description = "Utility for X509 certificate and chain";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "x509-validation" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, base, byteable
+     , bytestring, containers, crypto-pubkey, crypto-pubkey-types
+     , cryptohash, data-default-class, directory, filepath, hourglass
+     , mtl, network, pem, process, x509, x509-store
+     }:
+     mkDerivation {
+       pname = "x509-validation";
+       version = "1.5.1";
+       sha256 = "19cp187id9hdlzkr7sbv2sdxqxnpjv0db09hwf3zdqqqxr30mn6x";
+       buildDepends = [
+         asn1-encoding asn1-types base byteable bytestring containers
+         crypto-pubkey crypto-pubkey-types cryptohash data-default-class
+         directory filepath hourglass mtl network pem process x509
+         x509-store
+       ];
+       homepage = "http://github.com/vincenthz/hs-certificate";
+       description = "X.509 Certificate and CRL validation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xattr" = callPackage
+    ({ mkDerivation, attr, base, bytestring, containers, directory
+     , filepath, HUnit, test-framework, test-framework-hunit, unix
+     }:
+     mkDerivation {
+       pname = "xattr";
+       version = "0.6.2";
+       sha256 = "02vbxxn0qvkxvfxv1zgr95bvdzx14fp9h7s27wbz6mjfkfgvc39q";
+       buildDepends = [ base bytestring unix ];
+       testDepends = [
+         base bytestring containers directory filepath HUnit test-framework
+         test-framework-hunit unix
+       ];
+       extraLibraries = [ attr ];
+       description = "Haskell extended file attributes interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) attr;};
+
+  "xbattbar" = callPackage
+    ({ mkDerivation, base, old-time, select, X11 }:
+     mkDerivation {
+       pname = "xbattbar";
+       version = "0.2";
+       sha256 = "1hc3k3w5x1c027jj4lgpwl4cxvy01sx78sc560fdfj6bpsqlcln0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base old-time select X11 ];
+       homepage = "https://github.com/polachok/xbattbar";
+       description = "Simple battery indicator";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xcb-types" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty, xml }:
+     mkDerivation {
+       pname = "xcb-types";
+       version = "0.7.0";
+       sha256 = "1kzqsd85zp937yna2yfpc3jy0hba92h2fp6j0a6r8r7zz5l8yk3k";
+       buildDepends = [ base containers mtl pretty xml ];
+       homepage = "http://community.haskell.org/~aslatter/code/xcb-types";
+       description = "Parses XML files used by the XCB project";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xcffib" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, filemanip, filepath, HUnit, language-python, mtl
+     , optparse-applicative, split, test-framework, test-framework-hunit
+     , xcb-types
+     }:
+     mkDerivation {
+       pname = "xcffib";
+       version = "0.2.2";
+       sha256 = "1h8rnpgzicn46i4narvmjgh4r46q90ch5wgwmxknksnqi55c7gs4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         attoparsec base bytestring containers directory filemanip filepath
+         language-python mtl optparse-applicative split xcb-types
+       ];
+       testDepends = [
+         base filepath HUnit language-python test-framework
+         test-framework-hunit xcb-types
+       ];
+       homepage = "http://github.com/tych0/xcffib";
+       description = "A cffi-based python binding for X";
+       license = "unknown";
+     }) {};
+
+  "xchat-plugin" = callPackage
+    ({ mkDerivation, base, directory, filepath, process, unix }:
+     mkDerivation {
+       pname = "xchat-plugin";
+       version = "0.0.3";
+       sha256 = "0rjpj6i4fn504m7s3hwqbydn0m0ryih0hw4xnc409338sval6xj6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory filepath process unix ];
+       description = "XChat";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xdg-basedir" = callPackage
+    ({ mkDerivation, base, directory, filepath }:
+     mkDerivation {
+       pname = "xdg-basedir";
+       version = "0.2.2";
+       sha256 = "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4";
+       buildDepends = [ base directory filepath ];
+       homepage = "http://github.com/willdonnelly/xdg-basedir";
+       description = "A basic implementation of the XDG Base Directory specification";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xdg-userdirs" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "xdg-userdirs";
+       version = "0.1.0.2";
+       sha256 = "0vh4m385a828qb61845bb7zfcqfm000g4fjkmmlvdrfyh35vpal8";
+       buildDepends = [ base containers directory filepath xdg-basedir ];
+       homepage = "http://redmine.iportnov.ru/projects/xdg-userdirs";
+       description = "Basic implementation of XDG user directories specification";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xdot" = callPackage
+    ({ mkDerivation, base, cairo, graphviz, gtk, mtl, polyparse, text
+     }:
+     mkDerivation {
+       pname = "xdot";
+       version = "0.2.4.6";
+       sha256 = "123vygzkqlycc298zh3321y7w85xnynbavzqms6cb8zgzya42wrs";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cairo graphviz gtk mtl polyparse text ];
+       jailbreak = true;
+       description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xenstore" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, mtl, network }:
+     mkDerivation {
+       pname = "xenstore";
+       version = "0.1.1";
+       sha256 = "0x788lpkkxg7ds1bgnw0kvkf6pkfbknn7jy0njhz85k7rv4kidf2";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring cereal mtl network ];
+       description = "Xenstore client access";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xfconf" = callPackage
+    ({ mkDerivation, base, glib, gtk2hs-buildtools, libxfconf-0 }:
+     mkDerivation {
+       pname = "xfconf";
+       version = "4.8.0.0";
+       sha256 = "0q63zavh3fz03dmky42gafypd0gpn8fs0nb9qn2a2zzj961vzswz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base glib ];
+       buildTools = [ gtk2hs-buildtools ];
+       pkgconfigDepends = [ libxfconf-0 ];
+       homepage = "http://patch-tag.com/r/obbele/xfconf/home";
+       description = "FFI bindings to xfconf";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { libxfconf-0 = null;};
+
+  "xformat" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "xformat";
+       version = "0.1.2.1";
+       sha256 = "1q2wm0wffvppbv5rd16z367yfkx2sq7j0i5dkfwpawf859c9pz7x";
+       buildDepends = [ base ];
+       testDepends = [ base ];
+       homepage = "http://github.com/spl/xformat";
+       description = "Extensible, type-safe formatting with scanf- and printf-like functions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xhaskell-library" = callPackage
+    ({ mkDerivation, base, bytestring, containers, ghc-prim, mtl
+     , parsec, regex-base
+     }:
+     mkDerivation {
+       pname = "xhaskell-library";
+       version = "0.0.6";
+       sha256 = "13nnlaw56izwy0m7k4kh4g75sa5pvxn0pf9h3w8l9hnjcpv4l2ya";
+       buildDepends = [
+         base bytestring containers ghc-prim mtl parsec regex-base
+       ];
+       jailbreak = true;
+       homepage = "http://code.google.com/p/xhaskell-library/";
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xhb" = callPackage
+    ({ mkDerivation, base, binary, byteorder, bytestring, containers
+     , network, parsec, stm, Xauth
+     }:
+     mkDerivation {
+       pname = "xhb";
+       version = "0.5.2014.4.10";
+       sha256 = "1r5z92p98jn8pdcqmdiv0hriq7y8743q4sxfjfds602rr4qf97gz";
+       buildDepends = [
+         base binary byteorder bytestring containers network parsec stm
+         Xauth
+       ];
+       homepage = "https://github.com/aslatter/xhb";
+       description = "X Haskell Bindings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xhb-atom-cache" = callPackage
+    ({ mkDerivation, base, hashable, mtl, transformers
+     , unordered-containers, xhb
+     }:
+     mkDerivation {
+       pname = "xhb-atom-cache";
+       version = "0.1.0.2";
+       sha256 = "113yff75i5pc0kcz4w7npbp34bl92aibpvj2cgg30f66nml61xg9";
+       buildDepends = [
+         base hashable mtl transformers unordered-containers xhb
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jotrk/xhb-atom-cache/";
+       description = "Atom cache for XHB";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "xhb-ewmh" = callPackage
+    ({ mkDerivation, base, binary, bytestring, dlist, hashable, mtl
+     , transformers, xhb, xhb-atom-cache
+     }:
+     mkDerivation {
+       pname = "xhb-ewmh";
+       version = "0.1.3.1";
+       sha256 = "02qfpwa9558svk0481dxjchr9h0phacsyqzail94kmzkhnnly64l";
+       buildDepends = [
+         base binary bytestring dlist hashable mtl transformers xhb
+         xhb-atom-cache
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jotrk/xhb-ewmh/";
+       description = "EWMH utilities for XHB";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "xhtml_3000_2_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "xhtml";
+       version = "3000.2.1";
+       sha256 = "1n6wgzxbj8xf0wf1il827qidphnffb5vzhwzqlxhh70c2y10f0ik";
+       buildDepends = [ base ];
+       homepage = "https://github.com/haskell/xhtml";
+       description = "An XHTML combinator library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xhtml-combinators" = callPackage
+    ({ mkDerivation, base, containers, random, text, transformers, xml
+     }:
+     mkDerivation {
+       pname = "xhtml-combinators";
+       version = "0.3";
+       sha256 = "06bmdl34kly965qj7phw1hm7p7siwjprflr72n7ck32lrknmy2hk";
+       buildDepends = [ base containers random text transformers xml ];
+       homepage = "http://www.dcs.shef.ac.uk/~aca08aa/xhtmlc.html";
+       description = "Fast and easy to use XHTML combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xilinx-lava" = callPackage
+    ({ mkDerivation, array, base, directory, mtl, old-time, process }:
+     mkDerivation {
+       pname = "xilinx-lava";
+       version = "5.0.1.9";
+       sha256 = "13g44483bcgbfi3366m7l49z40prvr2abml6h6vcjbjnc575cs37";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ array base directory mtl old-time process ];
+       description = "The Lava system for Xilinx FPGA design with layout combinators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xine" = callPackage
+    ({ mkDerivation, base, c2hs, containers, libxine, xine }:
+     mkDerivation {
+       pname = "xine";
+       version = "0.0.0.4";
+       sha256 = "1mvi486vjf4brg6iks24wvb7gr5n7gdcqzdvv9xnncmxrscr6x36";
+       buildDepends = [ base containers ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ xine ];
+       pkgconfigDepends = [ libxine ];
+       homepage = "http://github.com/joachifm/hxine";
+       description = "Bindings to xine-lib";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { libxine = null;  xine = null;};
+
+  "xing-api" = callPackage
+    ({ mkDerivation, aeson, authenticate-oauth, base, bytestring
+     , containers, HTF, http-conduit, http-types, lifted-base
+     , monad-control, resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "xing-api";
+       version = "0.1.3";
+       sha256 = "1z135lcyyq7as166k3vhkqa75a555wbmfhpsdr4rsvpliq4ipqmk";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson authenticate-oauth base bytestring containers http-conduit
+         http-types lifted-base monad-control resourcet text time
+         transformers
+       ];
+       testDepends = [ aeson base bytestring containers HTF text time ];
+       jailbreak = true;
+       homepage = "http://github.com/JanAhrens/xing-api-haskell";
+       description = "Wrapper for the XING API, v1";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xinput-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , transformers
+     }:
+     mkDerivation {
+       pname = "xinput-conduit";
+       version = "0.0.0";
+       sha256 = "05pcaakqc6krv13480dp7ygr8s2k5wdwr6kixmc9fcp6baa1zkn4";
+       buildDepends = [
+         base bytestring conduit conduit-extra transformers
+       ];
+       description = "Conduit of keys pressed by xinput";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xkbcommon" = callPackage
+    ({ mkDerivation, base, bytestring, cpphs, data-flags, filepath
+     , process, storable-record, template-haskell, text, transformers
+     , unix, xkbcommon
+     }:
+     mkDerivation {
+       pname = "xkbcommon";
+       version = "0.0.1";
+       sha256 = "1chv156z6208jypl2grjjgbyja4ai3acx65rfyfpqb30987yf0r5";
+       buildDepends = [
+         base bytestring cpphs data-flags filepath process storable-record
+         template-haskell text transformers
+       ];
+       testDepends = [ base unix ];
+       extraLibraries = [ xkbcommon ];
+       description = "Haskell bindings for libxkbcommon";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { xkbcommon = null;};
+
+  "xkcd" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, HTTP
+     , network, tagsoup
+     }:
+     mkDerivation {
+       pname = "xkcd";
+       version = "0.1.1";
+       sha256 = "15zwx7rkxm52pnxjhx3p979h48cls1ipb7hmryxll5rcxz9aga29";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring directory filepath HTTP network tagsoup
+       ];
+       homepage = "http://github.com/sellweek/xkcd";
+       description = "Downloads the most recent xkcd comic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xlsior" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-markup, bytestring
+     , conduit, conduit-extra, data-default, exceptions, mtl, old-locale
+     , resourcet, scientific, text, time, vector, xml-conduit, xml-types
+     , zip-archive
+     }:
+     mkDerivation {
+       pname = "xlsior";
+       version = "0.1.0.0";
+       sha256 = "0gi8dh3iflny70dfylsin88j176i7nplhsrd09c8a6cbz93w1bd6";
+       buildDepends = [
+         attoparsec base blaze-markup bytestring conduit conduit-extra
+         data-default exceptions mtl old-locale resourcet scientific text
+         time vector xml-conduit xml-types zip-archive
+       ];
+       testDepends = [
+         base blaze-markup bytestring old-locale text time zip-archive
+       ];
+       description = "Streaming Excel file generation and parsing";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xlsx" = callPackage
+    ({ mkDerivation, base, binary-search, bytestring, conduit
+     , containers, data-default, digest, HUnit, lens, old-locale
+     , old-time, smallcheck, tasty, tasty-hunit, tasty-smallcheck, text
+     , time, transformers, utf8-string, vector, xml-conduit, xml-types
+     , zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "0.1.0.4";
+       sha256 = "1zri5wan5h3nyizfrfmnw9mz2cwapi4wrc3srxqns5w12v866p3a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base binary-search bytestring conduit containers data-default
+         digest lens old-locale old-time text time transformers utf8-string
+         vector xml-conduit xml-types zip-archive zlib
+       ];
+       testDepends = [
+         base containers HUnit old-time smallcheck tasty tasty-hunit
+         tasty-smallcheck time
+       ];
+       homepage = "https://github.com/qrilka/xlsx";
+       description = "Simple and incomplete Excel file parser/writer";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xlsx-templater" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers
+     , data-default, parsec, text, time, transformers, xlsx
+     }:
+     mkDerivation {
+       pname = "xlsx-templater";
+       version = "0.0.1";
+       sha256 = "00m5x9vhl0rf8azwgin6a75xpj74gybn757021z9dkn1qy35zjwr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring conduit containers data-default parsec text time
+         transformers xlsx
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/qrilka/xlsx-templater";
+       description = "Simple and incomplete Excel file templater";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml" = callPackage
+    ({ mkDerivation, base, bytestring, text }:
+     mkDerivation {
+       pname = "xml";
+       version = "1.3.14";
+       sha256 = "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j";
+       buildDepends = [ base bytestring text ];
+       homepage = "http://code.galois.com";
+       description = "A simple XML library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-basic" = callPackage
+    ({ mkDerivation, base, containers, data-accessor
+     , explicit-exception, utility-ht
+     }:
+     mkDerivation {
+       pname = "xml-basic";
+       version = "0.1.1.3";
+       sha256 = "0m3pwg8b9pvqh9559p7nq39vnkklmf9gcay8vpvrkh17p8n14z6c";
+       buildDepends = [
+         base containers data-accessor explicit-exception utility-ht
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/XML-Basic";
+       description = "Basics for XML/HTML representation and processing";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-catalog" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, text
+     , transformers, uri-conduit, xml-conduit
+     }:
+     mkDerivation {
+       pname = "xml-catalog";
+       version = "1.1.0.2";
+       sha256 = "0jzi63v8v2ksrqrk13pcl10awx57i2vm0k8xgi01rr1ncmlrnyfc";
+       buildDepends = [
+         base bytestring conduit containers text transformers uri-conduit
+         xml-conduit
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Parse XML catalog files (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml-conduit" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , blaze-markup, bytestring, conduit, conduit-extra, containers
+     , data-default, deepseq, hspec, HUnit, monad-control, resourcet
+     , system-filepath, text, transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "xml-conduit";
+       version = "1.2.3.3";
+       sha256 = "0y5k2l6a4vl5gl8ch8gwjqyg0v2qkiwrixf0yb0ik71z8zb9ki8b";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-html blaze-markup bytestring
+         conduit conduit-extra containers data-default deepseq monad-control
+         resourcet system-filepath text transformers xml-types
+       ];
+       testDepends = [
+         base blaze-markup bytestring conduit containers hspec HUnit
+         resourcet text transformers xml-types
+       ];
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Pure-Haskell utilities for dealing with XML with the conduit package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-conduit-writer" = callPackage
+    ({ mkDerivation, base, containers, dlist, mtl, text, xml-conduit
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "xml-conduit-writer";
+       version = "0.1.1.1";
+       sha256 = "1ibiqxjr63gb3v0h9fdfzm205sqjixb5vm5y6413yn4scbf7qm2b";
+       buildDepends = [
+         base containers dlist mtl text xml-conduit xml-types
+       ];
+       testDepends = [ base text ];
+       homepage = "https://bitbucket.org/dpwiz/xml-conduit-writer";
+       description = "Warm and fuzzy creation of XML documents";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xml-enumerator" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-enumerator, base
+     , blaze-builder, blaze-builder-enumerator, bytestring, containers
+     , data-default, enumerator, failure, hspec, HUnit, text
+     , transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "xml-enumerator";
+       version = "0.4.4.1";
+       sha256 = "0vwn6s7x626970b8lgyhmngkqv5n5kvv0qikrvi9sjzq5rjyx1zj";
+       buildDepends = [
+         attoparsec attoparsec-enumerator base blaze-builder
+         blaze-builder-enumerator bytestring containers data-default
+         enumerator failure text transformers xml-types
+       ];
+       testDepends = [
+         base bytestring containers enumerator hspec HUnit text transformers
+         xml-types
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Pure-Haskell utilities for dealing with XML with the enumerator package. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml-enumerator-combinators" = callPackage
+    ({ mkDerivation, base, containers, enumerator, xml-enumerator
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "xml-enumerator-combinators";
+       version = "0.1";
+       sha256 = "1n2lywzbbjkpccpgwlj8ycf4p5wlhjs60hgqzwb33j7qiraf5jb3";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers enumerator xml-enumerator xml-types
+       ];
+       jailbreak = true;
+       description = "Parser combinators for xml-enumerator and compatible XML parsers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml-extractors" = callPackage
+    ({ mkDerivation, base, mtl, safe, transformers, xml }:
+     mkDerivation {
+       pname = "xml-extractors";
+       version = "0.4.0.0";
+       sha256 = "02380x94zvm736lj2j02926xn8asc6bq4hbhm3nshh9iw8x4phwq";
+       buildDepends = [ base mtl safe transformers xml ];
+       homepage = "https://github.com/holmisen/xml-extractors";
+       description = "Wrapper over xml to extract data from parsed xml";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-hamlet" = callPackage
+    ({ mkDerivation, base, containers, hspec, HUnit, parsec
+     , shakespeare, template-haskell, text, xml-conduit
+     }:
+     mkDerivation {
+       pname = "xml-hamlet";
+       version = "0.4.0.10";
+       sha256 = "0bvgd3xbc25d2zdmpzq1rxhr7rkglf0zpc8wy75j2yqv6ymylb6v";
+       buildDepends = [
+         base containers parsec shakespeare template-haskell text
+         xml-conduit
+       ];
+       testDepends = [
+         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-helpers" = callPackage
+    ({ mkDerivation, base, xml }:
+     mkDerivation {
+       pname = "xml-helpers";
+       version = "1.0.0";
+       sha256 = "0rrk0j7m8ws86hbjw0l4ryq4m9i8llhsag2sfisy5r1iv2zwa0lv";
+       buildDepends = [ base xml ];
+       homepage = "http://github.com/acw/xml-helpers";
+       description = "Some useful helper functions for the xml library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-html-conduit-lens" = callPackage
+    ({ mkDerivation, base, bytestring, containers, doctest, hspec
+     , hspec-expectations-lens, html-conduit, lens, text, xml-conduit
+     }:
+     mkDerivation {
+       pname = "xml-html-conduit-lens";
+       version = "0.3.2.1";
+       revision = "1";
+       sha256 = "0iy58nq5b6ixdky2xr4r8xxk3c8wqp1y3jbpsk3dr1qawzjbzp12";
+       editedCabalFile = "b525d68eb964e306dc6fab3f9ba89e2325d91af53469ad32ec1d49e5f9a80647";
+       buildDepends = [
+         base bytestring containers html-conduit lens text xml-conduit
+       ];
+       testDepends = [
+         base doctest hspec hspec-expectations-lens lens xml-conduit
+       ];
+       homepage = "https://github.com/supki/xml-html-conduit-lens#readme";
+       description = "Optics for xml-conduit and html-conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-lens" = callPackage
+    ({ mkDerivation, base, case-insensitive, containers, lens, text
+     , xml-conduit
+     }:
+     mkDerivation {
+       pname = "xml-lens";
+       version = "0.1.6.3";
+       sha256 = "1s5ivi3caz56g5yyg3pharshs3wcygcssjx1sm9aw4mv3ylz3msd";
+       buildDepends = [
+         base case-insensitive containers lens text xml-conduit
+       ];
+       homepage = "https://github.com/fumieval/xml-lens";
+       description = "Lenses, traversals, and prisms for xml-conduit";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-monad" = callPackage
+    ({ mkDerivation, base, mtl, transformers, transformers-compose, xml
+     }:
+     mkDerivation {
+       pname = "xml-monad";
+       version = "0.5";
+       sha256 = "17axppy0xzshmvw8y23hxcj2ixm2fqw3hqrjk90qmpkjcv4nk44r";
+       buildDepends = [ base mtl transformers transformers-compose xml ];
+       jailbreak = true;
+       homepage = "http://github.com/aristidb/xml-monad";
+       description = "Monadic extensions to the xml package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-parsec" = callPackage
+    ({ mkDerivation, base, HaXml, parsec }:
+     mkDerivation {
+       pname = "xml-parsec";
+       version = "1.0.3";
+       sha256 = "1zcmiqyw6bs50kl2417ygvnpsk9wy025ls5ck8cd863x47bqpdn2";
+       buildDepends = [ base HaXml parsec ];
+       homepage = "http://sep07.mroot.net/";
+       description = "Parsing XML with Parsec";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml-picklers" = callPackage
+    ({ mkDerivation, base, Cabal, containers, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck, text, xml-types
+     }:
+     mkDerivation {
+       pname = "xml-picklers";
+       version = "0.3.6";
+       sha256 = "196iy4z58x58bjk5jy4fpmn8zhiramlyca4rd732i8j3jp6h5f6i";
+       buildDepends = [ base containers text xml-types ];
+       testDepends = [
+         base Cabal QuickCheck tasty tasty-hunit tasty-quickcheck text
+         xml-types
+       ];
+       description = "XML picklers based on xml-types, ported from hexpat-pickle";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-pipe" = callPackage
+    ({ mkDerivation, base, bytestring, papillon, simple-pipe }:
+     mkDerivation {
+       pname = "xml-pipe";
+       version = "0.0.0.11";
+       sha256 = "0j5fjnf6r7cagcl1ni5idwj1k5q6vjp6c59ajwsx39iqx1kdmly4";
+       buildDepends = [ base bytestring papillon simple-pipe ];
+       homepage = "https://github.com/YoshikuniJujo/xml-pipe/wiki";
+       description = "XML parser which uses simple-pipe";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml-prettify" = callPackage
+    ({ mkDerivation, base, cmdargs, unix }:
+     mkDerivation {
+       pname = "xml-prettify";
+       version = "0.1.0.1";
+       sha256 = "1abjmxihh0ldlh8k4mp922s0h39303farmdbm08qn909pbrzm0f0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base cmdargs unix ];
+       homepage = "http://github.com/rosenbergdm/xml-prettify";
+       description = "Pretty print XML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml-push" = callPackage
+    ({ mkDerivation, base, bytestring, crypto-random, handle-like
+     , monad-control, monads-tf, peyotls, random, sasl, simple-pipe, stm
+     , tighttp, transformers-base, uuid, x509, x509-store
+     , x509-validation, xml-pipe, xmpipe
+     }:
+     mkDerivation {
+       pname = "xml-push";
+       version = "0.0.0.18";
+       sha256 = "1i8qmz7mr8rfspkn4wwyq7f7fi1grpggmqmfsmx6l7bjsjv15n3y";
+       buildDepends = [
+         base bytestring crypto-random handle-like monad-control monads-tf
+         peyotls random sasl simple-pipe stm tighttp transformers-base uuid
+         x509 x509-store x509-validation xml-pipe xmpipe
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/YoshikuniJujo/xml-push/wiki";
+       description = "Push XML from/to client to/from server over XMPP or HTTP";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml-to-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, curl
+     , hashable, hxt, hxt-curl, hxt-expat, hxt-tagsoup, regex-posix
+     , tagsoup, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "xml-to-json";
+       version = "2.0.1";
+       sha256 = "0brfdlarr4yyfsfawkfjdbk4z3lvi9ihkhvqh5ws2ll0h80ja6md";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring containers curl hashable hxt hxt-curl
+         hxt-expat hxt-tagsoup regex-posix tagsoup text unordered-containers
+         vector
+       ];
+       homepage = "https://github.com/sinelaw/xml-to-json";
+       description = "Library and command line tool for converting XML files to json";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xml-to-json-fast" = callPackage
+    ({ mkDerivation, base, directory, process, tagsoup, text }:
+     mkDerivation {
+       pname = "xml-to-json-fast";
+       version = "2.0.0";
+       sha256 = "0gsn8wdiwmvr7nvxbfj9vpzlxwdh8m9lprx2hxnkrnslmbhjz1fx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory process tagsoup text ];
+       homepage = "https://github.com/sinelaw/xml-to-json-fast";
+       description = "Fast, light converter of xml to json capable of handling huge xml files";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xml-types" = callPackage
+    ({ mkDerivation, base, deepseq, text }:
+     mkDerivation {
+       pname = "xml-types";
+       version = "0.3.4";
+       sha256 = "1689ijr4xxh4shxxvd51wdkpc535kzv6liqg4m1prag96aq05r8y";
+       buildDepends = [ base deepseq text ];
+       homepage = "https://john-millikin.com/software/haskell-xml/";
+       description = "Basic types for representing XML";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xml2html" = callPackage
+    ({ mkDerivation, base, xml-conduit }:
+     mkDerivation {
+       pname = "xml2html";
+       version = "0.2.0";
+       sha256 = "1kf4vjg4cfkd4vx8jpikbb0ib4pglmyf5vqrg3j0yllmycj22ska";
+       buildDepends = [ base xml-conduit ];
+       homepage = "http://github.com/snoyberg/xml";
+       description = "blaze-html instances for xml-conduit types (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml2json" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-conduit, base
+     , blaze-builder, blaze-builder-conduit, bytestring
+     , case-insensitive, conduit, hspec, resourcet, tagstream-conduit
+     , text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "xml2json";
+       version = "0.2.0.0";
+       sha256 = "15x3339qqy75qyj97dc7qbw7fs5dw4xvcslfrjpi36yd2596hamx";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec attoparsec-conduit base blaze-builder
+         blaze-builder-conduit bytestring case-insensitive conduit
+         tagstream-conduit text transformers unordered-containers vector
+       ];
+       testDepends = [
+         aeson base bytestring hspec resourcet text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/yihuang/xml2json";
+       description = "translate xml to json";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xml2x" = callPackage
+    ({ mkDerivation, array, base, bio, bytestring, containers
+     , directory, xhtml
+     }:
+     mkDerivation {
+       pname = "xml2x";
+       version = "0.4.2";
+       sha256 = "0cp21xzzqczb49mpnsxlgc4fyhmmgyy4mfczqnz85h383js5sbia";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base bio bytestring containers directory xhtml
+       ];
+       jailbreak = true;
+       description = "Convert BLAST output in XML format to CSV or HTML";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xmlgen" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , filepath, HUnit, hxt, mtl, process, QuickCheck, text, unix
+     }:
+     mkDerivation {
+       pname = "xmlgen";
+       version = "0.6.2.1";
+       sha256 = "1rmsg9wxs0bsj0xpagxrm3fmlqd63b0dfyc21rx9jj76g9za29wh";
+       buildDepends = [
+         base blaze-builder bytestring containers mtl text
+       ];
+       testDepends = [
+         base bytestring containers filepath HUnit hxt process QuickCheck
+         text unix
+       ];
+       description = "Fast XML generation library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xmlhtml" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
+     , bytestring, containers, parsec, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "xmlhtml";
+       version = "0.2.3.4";
+       revision = "1";
+       sha256 = "0cv5jqzbq7mi5lcrnaxr5qaprp8biv1jlyzpjhwnwqzla6fqamfr";
+       editedCabalFile = "17e37eb81bbdd03eea4b12e65bd4a00e789bc7a04b792f138dc9056c488443a9";
+       buildDepends = [
+         base blaze-builder blaze-html blaze-markup bytestring containers
+         parsec text unordered-containers
+       ];
+       description = "XML parser and renderer with HTML 5 quirks mode";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xmltv" = callPackage
+    ({ mkDerivation, base, bytestring, configurator, filepath
+     , http-client, network-uri, old-locale, split, terminfo, time, unix
+     , wl-pprint-extras, wl-pprint-terminfo, xdg-basedir, xml
+     }:
+     mkDerivation {
+       pname = "xmltv";
+       version = "0.0.1";
+       sha256 = "15i0a28svafjsziz1h3px0qys81xw0bs5bpq66hcwzxdv3s15lv9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring configurator filepath http-client network-uri
+         old-locale split terminfo time unix wl-pprint-extras
+         wl-pprint-terminfo xdg-basedir xml
+       ];
+       homepage = "http://github.com/dagle/hs-xmltv";
+       description = "Show tv channels in the terminal";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xmms2-client" = callPackage
+    ({ mkDerivation, base, c2hs, containers, haskell98, mtl
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "xmms2-client";
+       version = "0.0.7.0";
+       sha256 = "0ahsxah1irfsbgkkr4vnvasb7shk4b5iyjhgpj2dc9vi26p6y5dz";
+       buildDepends = [ base containers haskell98 mtl utf8-string ];
+       buildTools = [ c2hs ];
+       description = "An XMMS2 client library";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xmms2-client-glib" = callPackage
+    ({ mkDerivation, base, c2hs, haskell98, xmms2-client }:
+     mkDerivation {
+       pname = "xmms2-client-glib";
+       version = "0.0.7.0";
+       sha256 = "1rrc8w9nrmxl8kzjkbmdxh0j1krvai396mx50wsnlqn1cxgb54h3";
+       buildDepends = [ base haskell98 xmms2-client ];
+       buildTools = [ c2hs ];
+       description = "An XMMS2 client library — GLib integration";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xmobar" = callPackage
+    ({ mkDerivation, alsa-core, alsa-mixer, base, bytestring
+     , containers, dbus, directory, filepath, hinotify, HTTP, libmpd
+     , libXpm, libXrandr, mtl, old-locale, parsec, process, regex-compat
+     , stm, time, timezone-olson, timezone-series, transformers, unix
+     , utf8-string, wirelesstools, X11, X11-xft, Xrender
+     }:
+     mkDerivation {
+       pname = "xmobar";
+       version = "0.23";
+       sha256 = "0nl3md4d8mzdch2i79ax09brwvm1d6b3rfxy52zbg4z05iv6grdv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         alsa-core alsa-mixer base bytestring containers dbus directory
+         filepath hinotify HTTP libmpd mtl old-locale parsec process
+         regex-compat stm time timezone-olson timezone-series transformers
+         unix utf8-string X11 X11-xft
+       ];
+       extraLibraries = [ libXpm libXrandr wirelesstools Xrender ];
+       configureFlags = [ "-fall_extensions" ];
+       homepage = "http://xmobar.org";
+       description = "A Minimalistic Text Based Status Bar";
+       license = stdenv.lib.licenses.bsd3;
+     }) { Xrender = null;  inherit (pkgs.xlibs) libXpm;
+          inherit (pkgs.xlibs) libXrandr;  inherit (pkgs) wirelesstools;};
+
+  "xmonad" = callPackage
+    ({ mkDerivation, base, containers, directory, extensible-exceptions
+     , filepath, mtl, process, unix, utf8-string, X11
+     }:
+     mkDerivation {
+       pname = "xmonad";
+       version = "0.11.1";
+       sha256 = "1pfjssamiwpwjp1qqkm9m9p9s35pv381m0cwg6jxg0ppglibzq1r";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory extensible-exceptions filepath mtl
+         process unix utf8-string X11
+       ];
+       postInstall = ''
+         shopt -s globstar
+         mkdir -p $out/share/man/man1
+         mv "$out/"**"/man/"*.1 $out/share/man/man1/
+       '';
+       homepage = "http://xmonad.org";
+       description = "A tiling window manager";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xmonad-bluetilebranch" = callPackage
+    ({ mkDerivation, base, containers, directory, extensible-exceptions
+     , filepath, mtl, process, unix, X11
+     }:
+     mkDerivation {
+       pname = "xmonad-bluetilebranch";
+       version = "0.9.1.4";
+       sha256 = "1ymn56rc9kkzvdla9bpj3aq2z6rnz669xbj7n87z1b42aj74s8gn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory extensible-exceptions filepath mtl
+         process unix X11
+       ];
+       jailbreak = true;
+       homepage = "http://xmonad.org";
+       description = "A tiling window manager";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xmonad-contrib" = callPackage
+    ({ mkDerivation, base, containers, directory, extensible-exceptions
+     , mtl, old-locale, old-time, process, random, unix, utf8-string
+     , X11, X11-xft, xmonad
+     }:
+     mkDerivation {
+       pname = "xmonad-contrib";
+       version = "0.11.4";
+       sha256 = "1g5cw9vvnfbiyi599fngk02zlmdhrf82x0bndhypkn6kybab6yd3";
+       buildDepends = [
+         base containers directory extensible-exceptions mtl old-locale
+         old-time process random unix utf8-string X11 X11-xft xmonad
+       ];
+       homepage = "http://xmonad.org/";
+       description = "Third party extensions for xmonad";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xmonad-contrib-bluetilebranch" = callPackage
+    ({ mkDerivation, base, containers, directory, extensible-exceptions
+     , mtl, old-locale, old-time, process, random, unix, utf8-string
+     , X11, X11-xft, xmonad-bluetilebranch
+     }:
+     mkDerivation {
+       pname = "xmonad-contrib-bluetilebranch";
+       version = "0.9.1.4";
+       sha256 = "1ysf8yp8jwf7a1am83w5q66ys3j6kn7ss0i86n9dmfmkc3rms6l7";
+       buildDepends = [
+         base containers directory extensible-exceptions mtl old-locale
+         old-time process random unix utf8-string X11 X11-xft
+         xmonad-bluetilebranch
+       ];
+       jailbreak = true;
+       homepage = "http://xmonad.org/";
+       description = "Third party extensions for xmonad";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xmonad-contrib-gpl" = callPackage
+    ({ mkDerivation, base, mtl, xmonad, xmonad-contrib }:
+     mkDerivation {
+       pname = "xmonad-contrib-gpl";
+       version = "0.12.1";
+       sha256 = "1xs9qwzq9x552jw9wxdaddk2w1m5kc060mqahhk2f2q3zs9nk2n9";
+       buildDepends = [ base mtl xmonad xmonad-contrib ];
+       homepage = "http://xmonad.org/";
+       description = "Third party extensions for xmonad";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "xmonad-entryhelper" = callPackage
+    ({ mkDerivation, base, directory, extensible-exceptions, filepath
+     , mtl, process, unix, X11, xmonad, xmonad-contrib
+     }:
+     mkDerivation {
+       pname = "xmonad-entryhelper";
+       version = "0.1.0.0";
+       sha256 = "1xwjdy7swc4bqqx0y7bny7rci4wpq2318m9nbz365x2r7i379v9h";
+       buildDepends = [
+         base directory extensible-exceptions filepath mtl process unix X11
+         xmonad xmonad-contrib
+       ];
+       homepage = "https://github.com/Javran/xmonad-entryhelper";
+       description = "XMonad config entry point wrapper";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xmonad-eval" = callPackage
+    ({ mkDerivation, base, containers, directory, hint, mtl, old-locale
+     , old-time, process, random, unix, X11, xmonad, xmonad-contrib
+     }:
+     mkDerivation {
+       pname = "xmonad-eval";
+       version = "0.1";
+       sha256 = "0k0lb4z50kj4q3dzmii4pd8lbdnlxh5l91fx4f90a35hl3v9zggk";
+       buildDepends = [
+         base containers directory hint mtl old-locale old-time process
+         random unix X11 xmonad xmonad-contrib
+       ];
+       jailbreak = true;
+       homepage = "http://xmonad.org/";
+       description = "Module for evaluation Haskell expressions in the running xmonad instance";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xmonad-extras" = callPackage
+    ({ mkDerivation, base, containers, directory, mtl, old-locale
+     , old-time, parsec, process, random, regex-posix, split, unix, X11
+     , xmonad, xmonad-contrib
+     }:
+     mkDerivation {
+       pname = "xmonad-extras";
+       version = "0.12";
+       sha256 = "1gyj9j6x21rvs6kg6g74wr0jdd36c5ml63a670456fhjr96s8y0g";
+       buildDepends = [
+         base containers directory mtl old-locale old-time parsec process
+         random regex-posix split unix X11 xmonad xmonad-contrib
+       ];
+       configureFlags = [
+         "-f-with_hlist" "-fwith_parsec" "-fwith_split"
+       ];
+       homepage = "http://projects.haskell.org/xmonad-extras";
+       description = "Third party extensions for xmonad with wacky dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xmonad-screenshot" = callPackage
+    ({ mkDerivation, base, gtk, xmonad }:
+     mkDerivation {
+       pname = "xmonad-screenshot";
+       version = "0.1.1.0";
+       sha256 = "1iy6c8dis5jkgamkbbgxvbajz8f03bwhwdwk46l6wvlgmb072wl4";
+       buildDepends = [ base gtk xmonad ];
+       homepage = "http://github.com/supki/xmonad-screenshot";
+       description = "Workspaces screenshooting utility for XMonad";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xmonad-utils" = callPackage
+    ({ mkDerivation, base, ghc, random, unix, X11 }:
+     mkDerivation {
+       pname = "xmonad-utils";
+       version = "0.1.3.3";
+       sha256 = "1y72f8dnjbpf4kmg0fp8rfbvhwshkp10g4cj3yhy9z78w84dp9a5";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base ghc random unix X11 ];
+       homepage = "https://github.com/LeifW/xmonad-utils";
+       description = "A small collection of X utilities";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xmpipe" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, handle-like
+     , monads-tf, sasl, simple-pipe, uuid, xml-pipe
+     }:
+     mkDerivation {
+       pname = "xmpipe";
+       version = "0.0.0.4";
+       sha256 = "09g11mfq93w3097rzydva8qwq1sjq0hwi11lg1x1yshwcb1if2iw";
+       buildDepends = [
+         base base64-bytestring bytestring handle-like monads-tf sasl
+         simple-pipe uuid xml-pipe
+       ];
+       homepage = "https://github.com/YoshikuniJujo/xmpipe/wiki";
+       description = "XMPP implementation using simple-PIPE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xorshift" = callPackage
+    ({ mkDerivation, base, random, time }:
+     mkDerivation {
+       pname = "xorshift";
+       version = "2.0.1";
+       sha256 = "1pgkcnsgir8ci3hm3s5w3lk5dy7219242g9njx9cxb1m1cz5v5rf";
+       buildDepends = [ base random time ];
+       description = "Haskell implementation of the xorshift random generator";
+       license = "LGPL";
+     }) {};
+
+  "xosd" = callPackage
+    ({ mkDerivation, base, xosd }:
+     mkDerivation {
+       pname = "xosd";
+       version = "0.2.1";
+       sha256 = "1j0j64668vi0jxrzxrwyp8gwcz5zpaiai2r5k5rfsfrglhrhvhrv";
+       buildDepends = [ base ];
+       extraLibraries = [ xosd ];
+       homepage = "http://code.haskell.org/~dons/code/xosd";
+       description = "A binding to the X on-screen display";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) xosd;};
+
+  "xournal-builder" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, double-conversion
+     , strict, xournal-types
+     }:
+     mkDerivation {
+       pname = "xournal-builder";
+       version = "0.1.1.1";
+       sha256 = "0v7lfhyr28gmsbzizhbw4lddhhhv74y3vb8kb9z06b32lg5wm591";
+       buildDepends = [
+         base blaze-builder bytestring double-conversion strict
+         xournal-types
+       ];
+       jailbreak = true;
+       description = "text builder for xournal file format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xournal-convert" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, cmdargs, directory
+     , filepath, HStringTemplate, mtl, xournal-parser, xournal-render
+     , xournal-types
+     }:
+     mkDerivation {
+       pname = "xournal-convert";
+       version = "0.1.1";
+       sha256 = "1vyykx5kbq8jja6cxy38j905b23ndj73xsg0hirz0sq4pw36shmi";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo cmdargs directory filepath HStringTemplate
+         mtl xournal-parser xournal-render xournal-types
+       ];
+       jailbreak = true;
+       homepage = "http://ianwookim.org/hxournal";
+       description = "convert utility for xoj files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xournal-parser" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-conduit, base, bytestring
+     , conduit, conduit-extra, containers, exceptions, lens, mtl, strict
+     , text, transformers, xml-conduit, xml-types, xournal-types
+     , zlib-conduit
+     }:
+     mkDerivation {
+       pname = "xournal-parser";
+       version = "0.5.1";
+       sha256 = "07b1gflqsjsydn304vw6zwgwlc0g7riv0b80lr165mw6c2fkmx78";
+       buildDepends = [
+         attoparsec attoparsec-conduit base bytestring conduit conduit-extra
+         containers exceptions lens mtl strict text transformers xml-conduit
+         xml-types xournal-types zlib-conduit
+       ];
+       homepage = "http://ianwookim.org/hoodle";
+       description = "Xournal file parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xournal-render" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, containers, fclabels, mtl
+     , poppler, strict, TypeCompose, xournal-types
+     }:
+     mkDerivation {
+       pname = "xournal-render";
+       version = "0.6.0";
+       sha256 = "0fsijjzxizhb7dx1pc83rsini8xzqj21mmkqj1x0ysyzh78siaf3";
+       buildDepends = [
+         base bytestring cairo containers fclabels mtl poppler strict
+         TypeCompose xournal-types
+       ];
+       jailbreak = true;
+       description = "Xournal file renderer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xournal-types" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, lens, strict
+     , TypeCompose
+     }:
+     mkDerivation {
+       pname = "xournal-types";
+       version = "0.5.1";
+       sha256 = "1ii4d560wvy6iky09wbz2kdf370y87ldgr0ymsv50d7cqxfgbjap";
+       buildDepends = [
+         base bytestring cereal containers lens strict TypeCompose
+       ];
+       description = "Data types for programs for xournal file format";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xsact" = callPackage
+    ({ mkDerivation, array, base, containers, directory, process
+     , random, unix
+     }:
+     mkDerivation {
+       pname = "xsact";
+       version = "1.7.3";
+       sha256 = "180svhrkj3fp69abg0ichgc9l6iv760j302bb612qzxkpyjsyz0h";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory process random unix
+       ];
+       jailbreak = true;
+       homepage = "http://malde.org/~ketil/";
+       description = "Cluster EST sequences";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xsd" = callPackage
+    ({ mkDerivation, attoparsec, base, directory, doctest, filepath
+     , lens, QuickCheck, quickcheck-instances, text, time
+     }:
+     mkDerivation {
+       pname = "xsd";
+       version = "0.5.0.1";
+       sha256 = "1a5i2idpkm5i70jpp2kjglpylja4b9cd0nklgvl6lm8cpjn2j0k0";
+       buildDepends = [ attoparsec base lens text time ];
+       testDepends = [
+         base directory doctest filepath QuickCheck quickcheck-instances
+       ];
+       homepage = "https://github.com/tonymorris/xsd";
+       description = "XML Schema data structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xsha1" = callPackage
+    ({ mkDerivation, base, HUnit, QuickCheck, uniplate, vector }:
+     mkDerivation {
+       pname = "xsha1";
+       version = "0.0.0";
+       sha256 = "0xljcmc8rsvkpchrdam3lpp4igq1gmym9v3drp15a9k8rfa8irmi";
+       buildDepends = [ base HUnit QuickCheck uniplate vector ];
+       description = "cryptanalysis of Blizzard's broken SHA-1 implementation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "xslt" = callPackage
+    ({ mkDerivation, base, libxml, xslt }:
+     mkDerivation {
+       pname = "xslt";
+       version = "0.1";
+       sha256 = "0i03ihk0rjj6vk2blqdhqqqk6qqrrkxx2ckigwd5mgvp3jp64648";
+       buildDepends = [ base libxml ];
+       extraLibraries = [ xslt ];
+       description = "Binding to libxslt";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { xslt = null;};
+
+  "xss-sanitize" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, css-text, hspec
+     , HUnit, network-uri, tagsoup, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "xss-sanitize";
+       version = "0.3.5.5";
+       sha256 = "05qmhd50bdy5z0nvqvrm25ax4i642gv6gkdn678flg6sckshr4s2";
+       buildDepends = [
+         attoparsec base containers css-text network-uri tagsoup text
+         utf8-string
+       ];
+       testDepends = [
+         attoparsec base containers css-text hspec HUnit network-uri tagsoup
+         text utf8-string
+       ];
+       homepage = "http://github.com/yesodweb/haskell-xss-sanitize";
+       description = "sanitize untrusted HTML to prevent XSS attacks";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xtc" = callPackage
+    ({ mkDerivation, base, wx, wxcore }:
+     mkDerivation {
+       pname = "xtc";
+       version = "1.0.1";
+       sha256 = "0jfs3qbcx5h26irkq73dyc2m84qyrlj5dvy6d1s6p6520vhnqfal";
+       buildDepends = [ base wx wxcore ];
+       homepage = "http://github.com/alanz/xtc";
+       description = "eXtended & Typed Controls for wxHaskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xtest" = callPackage
+    ({ mkDerivation, base, libXtst, X11 }:
+     mkDerivation {
+       pname = "xtest";
+       version = "0.2";
+       sha256 = "118xxx7sydpsvdqz0x107ngb85fggn630ysw6d2ckky75fmhmxk7";
+       buildDepends = [ base X11 ];
+       extraLibraries = [ libXtst ];
+       description = "Thin FFI bindings to X11 XTest library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs.xlibs) libXtst;};
+
+  "xturtle" = callPackage
+    ({ mkDerivation, base, convertible, Imlib, setlocale, X11, X11-xft
+     , x11-xim, yjsvg, yjtools
+     }:
+     mkDerivation {
+       pname = "xturtle";
+       version = "0.1.25";
+       sha256 = "161fpfvzbz2kks5pxmq3wrkgfkrfjvqrl4izlq0v7sicqphfkgmd";
+       buildDepends = [
+         base convertible Imlib setlocale X11 X11-xft x11-xim yjsvg yjtools
+       ];
+       description = "turtle like LOGO";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xxhash" = callPackage
+    ({ mkDerivation, base, bytestring, crypto-api, hspec, QuickCheck
+     , tagged
+     }:
+     mkDerivation {
+       pname = "xxhash";
+       version = "0.0.1";
+       revision = "1";
+       sha256 = "0crmvkvk2604a06jjsn613bxx0n1lv59picl2656rx2pc7wbyidn";
+       editedCabalFile = "1d641797e9e431c6152dc41cbe72551bb2f91cec8265d3a5e3b2b9718764d274";
+       buildDepends = [ base bytestring crypto-api tagged ];
+       testDepends = [ base bytestring hspec QuickCheck ];
+       jailbreak = true;
+       description = "A Haskell implementation of the xxHash algorithm";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "y0l0bot" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mtl, network
+     , old-locale, old-time, safe, split, text, time
+     }:
+     mkDerivation {
+       pname = "y0l0bot";
+       version = "0.1.1";
+       sha256 = "0gjvnl5px7ir2lf7arpiji324n32mc1a90x3w6vh5xcyb13wvkv9";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers mtl network old-locale old-time safe
+         split text time
+       ];
+       jailbreak = true;
+       description = "#plaimi's all-encompassing bot";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
+  "yabi" = callPackage
+    ({ mkDerivation, base, word8 }:
+     mkDerivation {
+       pname = "yabi";
+       version = "0.1.1.0";
+       sha256 = "05avn1m1mmgvzx9vkjy0fyyy38vmz39km0b190lz7lhy9qrwa2bb";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base word8 ];
+       homepage = "https://github.com/fgaz/yabi";
+       description = "Yet Another Brainfuck Interpreter";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yabi-muno" = callPackage
+    ({ mkDerivation, base, bytestring, containers, lens, mtl
+     , mtl-compat, parsec
+     }:
+     mkDerivation {
+       pname = "yabi-muno";
+       version = "0.1.0.1";
+       sha256 = "169ndqawpkaj43iq6mbddqxprc7w6lsv3ws8a7cq7nmyn7n3r0jg";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers lens mtl mtl-compat parsec
+       ];
+       jailbreak = true;
+       description = "Yet Another Brainfuck Interpreter";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yackage" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, bytestring, Cabal
+     , cmdargs, conduit, containers, directory, http-conduit, http-types
+     , shakespeare, tar, text, transformers, unordered-containers
+     , vector, wai, warp, yaml, yesod-core, yesod-form, zlib
+     }:
+     mkDerivation {
+       pname = "yackage";
+       version = "0.7.0.7";
+       sha256 = "168dcl2ham94k0wmf75lgazn6q82yfww5lpl24nhmdr3fwd4p6p1";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder blaze-html bytestring Cabal cmdargs conduit
+         containers directory http-conduit http-types shakespeare tar text
+         transformers unordered-containers vector wai warp yaml yesod-core
+         yesod-form zlib
+       ];
+       homepage = "http://github.com/snoyberg/yackage";
+       description = "Personal Hackage replacement for testing new packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yahoo-finance-conduit" = callPackage
+    ({ mkDerivation, attoparsec, base, cassava, conduit, lens, mtl
+     , text, vector, wreq
+     }:
+     mkDerivation {
+       pname = "yahoo-finance-conduit";
+       version = "0.1.0.0";
+       sha256 = "1kvs12l84lgs26knrqv5f354a3bql3fg54wgnmsfcjli1vvnn1di";
+       buildDepends = [
+         attoparsec base cassava conduit lens mtl text vector wreq
+       ];
+       jailbreak = true;
+       description = "Streaming aproach to the yahoo finance api";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yahoo-web-search" = callPackage
+    ({ mkDerivation, base, HTTP, network, xml }:
+     mkDerivation {
+       pname = "yahoo-web-search";
+       version = "0.2";
+       sha256 = "064qakx4khzz9ih9isw46c8pm8wpg662fwnis4d64nszy6y9yfck";
+       buildDepends = [ base HTTP network xml ];
+       homepage = "http://www.people.fas.harvard.edu/~stewart5/code/yahoo-web-search";
+       description = "Yahoo Web Search Services";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yajl" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, text, yajl }:
+     mkDerivation {
+       pname = "yajl";
+       version = "0.3.2";
+       sha256 = "07186ilac22zym1jlgl915k2a82k418xa5z9h40ss62dgmaz2xkk";
+       buildDepends = [ base bytestring text ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ yajl ];
+       homepage = "https://john-millikin.com/software/haskell-yajl/";
+       description = "Bindings for YAJL, an event-based JSON implementation";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) yajl;};
+
+  "yajl-enumerator" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, json-types, text
+     , transformers, yajl
+     }:
+     mkDerivation {
+       pname = "yajl-enumerator";
+       version = "0.4.1";
+       sha256 = "0dz81l58qpm3gk7zmvb702qwgq79j7d0dnyimqi6k3fp0byb5wdj";
+       buildDepends = [
+         base bytestring enumerator json-types text transformers yajl
+       ];
+       jailbreak = true;
+       homepage = "https://john-millikin.com/software/haskell-yajl/";
+       description = "Enumerator-based interface to YAJL, an event-based JSON implementation";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yall" = callPackage
+    ({ mkDerivation, base, categories, transformers }:
+     mkDerivation {
+       pname = "yall";
+       version = "0.2.1";
+       sha256 = "131x7hl309zpwl31k6mwqd4fdrhkcwxvn4dvlky9bh3prc8kdm2s";
+       buildDepends = [ base categories transformers ];
+       homepage = "http://brandon.si/code/yall/";
+       description = "Lenses with a southern twang";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yamemo" = callPackage
+    ({ mkDerivation, base, containers, mtl }:
+     mkDerivation {
+       pname = "yamemo";
+       version = "0.6.0";
+       sha256 = "12qh9fi5dj4i5lprm24gc2b66qzc3mf59m22sxf93sx3dsf7rygn";
+       buildDepends = [ base containers mtl ];
+       description = "Simple memoisation function";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yaml" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, attoparsec, base, bytestring
+     , conduit, containers, directory, enclosed-exceptions, filepath
+     , hspec, hspec-expectations, HUnit, resourcet, scientific, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "yaml";
+       version = "0.8.10.1";
+       sha256 = "1a8v8digg6mcc4gx4kgfg8wzgj18wdf40wv1b7n72dg1c8kr2xz9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson attoparsec base bytestring conduit containers directory
+         enclosed-exceptions filepath resourcet scientific text transformers
+         unordered-containers vector
+       ];
+       testDepends = [
+         aeson aeson-qq base bytestring conduit directory hspec
+         hspec-expectations HUnit resourcet text transformers
+         unordered-containers vector
+       ];
+       homepage = "http://github.com/snoyberg/yaml/";
+       description = "Support for parsing and rendering YAML documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yaml-config" = callPackage
+    ({ mkDerivation, base, deepseq, failure, hashable, QuickCheck
+     , tasty, tasty-quickcheck, text, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "yaml-config";
+       version = "0.2.2";
+       sha256 = "1a6n18q6sy5sfw4r8j42d4vhcmvjggi2ax4i89ap2gmnah53jm50";
+       buildDepends = [
+         base deepseq failure text unordered-containers yaml
+       ];
+       testDepends = [
+         base deepseq failure hashable QuickCheck tasty tasty-quickcheck
+         text unordered-containers yaml
+       ];
+       jailbreak = true;
+       description = "Configuration management";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yaml-light" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HsSyck }:
+     mkDerivation {
+       pname = "yaml-light";
+       version = "0.1.4";
+       sha256 = "05pxkqp91l275n48p1aqijzh34vvzi7cx2nls879b95fz2dr8lhk";
+       buildDepends = [ base bytestring containers HsSyck ];
+       description = "A light-weight wrapper with utility functions around HsSyck";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yaml-light-lens" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-lexing, containers
+     , doctest, lens, transformers-compat, yaml-light
+     }:
+     mkDerivation {
+       pname = "yaml-light-lens";
+       version = "0.3.1.9";
+       sha256 = "0gxwa792g2nbgm2j6gl478qq5vgr06z6zzbbxranvh5fq7pq6al5";
+       buildDepends = [
+         base bytestring bytestring-lexing containers lens
+         transformers-compat yaml-light
+       ];
+       testDepends = [ base doctest ];
+       jailbreak = true;
+       description = "Lens interface to yaml-light";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yaml-rpc" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, http-client
+     , http-types, lens, template-haskell, text, th-lift, transformers
+     , unordered-containers, vector, wreq, yaml
+     }:
+     mkDerivation {
+       pname = "yaml-rpc";
+       version = "1.0.3";
+       sha256 = "01ir8yh7g3xvybg2nyfnzci0xlqpizkdkyhd8jfhyk8yka6jbr9g";
+       buildDepends = [
+         aeson base bytestring containers http-client http-types lens
+         template-haskell text th-lift transformers unordered-containers
+         vector wreq yaml
+       ];
+       homepage = "http://redmine.iportnov.ru/projects/yaml-rpc";
+       description = "Simple library for network (HTTP REST-like) YAML RPC";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yaml-rpc-scotty" = callPackage
+    ({ mkDerivation, aeson, base, containers, http-types, mmorph
+     , scotty, text, transformers, yaml, yaml-rpc
+     }:
+     mkDerivation {
+       pname = "yaml-rpc-scotty";
+       version = "1.0.2";
+       sha256 = "1kbvziqd78fr47m3w86hc6pxa6jy3ljjwc0s2ga0d8zrh0irf3b3";
+       buildDepends = [
+         aeson base containers http-types mmorph scotty text transformers
+         yaml yaml-rpc
+       ];
+       homepage = "http://redmine.iportnov.ru/projects/yaml-rpc";
+       description = "Scotty server backend for yaml-rpc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yaml-rpc-snap" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, http-types
+     , snap, text, transformers, yaml, yaml-rpc
+     }:
+     mkDerivation {
+       pname = "yaml-rpc-snap";
+       version = "1.0.3";
+       sha256 = "17csdfr4g0vb46yi2jhf6phin17rcn9arc71kmgdgx0xh2hrfin9";
+       buildDepends = [
+         aeson base bytestring containers http-types snap text transformers
+         yaml yaml-rpc
+       ];
+       homepage = "http://redmine.iportnov.ru/projects/yaml-rpc";
+       description = "Snap server backend for yaml-rpc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yaml2owl" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, network
+     , swish, text, xml, yaml
+     }:
+     mkDerivation {
+       pname = "yaml2owl";
+       version = "0.0.1";
+       sha256 = "1yz7cq6xbxjh3j5hljrzla7dpgsa2ag4ywbvc6ynf7bpikdymq65";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath network swish text xml yaml
+       ];
+       homepage = "http://github.com/leifw/yaml2owl";
+       description = "Generate OWL schema from YAML syntax, and an RDFa template";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yampa-canvas" = callPackage
+    ({ mkDerivation, base, blank-canvas, stm, text, time, Yampa }:
+     mkDerivation {
+       pname = "yampa-canvas";
+       version = "0.2";
+       sha256 = "16plby17rnr4c25sdacqx4vlyx338gbmadp1c6mr4c67zx76bi4a";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base blank-canvas stm text time Yampa ];
+       description = "blank-canvas frontend for yampa";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yampa-glfw" = callPackage
+    ({ mkDerivation, base, GLFW-b, newtype, OpenGL, vector-space, Yampa
+     }:
+     mkDerivation {
+       pname = "yampa-glfw";
+       version = "0.1.0.0";
+       sha256 = "133nz8916c99bby6ikkh4kplx4hbwmqhdg0h2g5vsp25w67ndmjr";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base GLFW-b newtype OpenGL vector-space Yampa ];
+       jailbreak = true;
+       homepage = "https://github.com/deepfire/yampa-glfw";
+       description = "Connects GLFW-b (GLFW 3+) with the Yampa FRP library";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yampa-glut" = callPackage
+    ({ mkDerivation, base, GLUT, newtype, OpenGL, vector-space, Yampa
+     }:
+     mkDerivation {
+       pname = "yampa-glut";
+       version = "0.1.1";
+       sha256 = "0sp4fwi3ibmd32vs7kdak7vrk3i2bayk2flcc617x2ax9250iyhv";
+       buildDepends = [ base GLUT newtype OpenGL vector-space Yampa ];
+       homepage = "https://github.com/ony/yampa-glut";
+       description = "Connects Yampa and GLUT";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "yampa2048" = callPackage
+    ({ mkDerivation, base, gloss, random, Yampa }:
+     mkDerivation {
+       pname = "yampa2048";
+       version = "0.1.0.0";
+       sha256 = "03plrnzxsci4fk23h8a992n5al1jc93igf61pskmhx8zgl3j3qmz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base gloss random Yampa ];
+       homepage = "https://github.com/ksaveljev/yampa-2048";
+       description = "2048 game clone using Yampa/Gloss";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yaop" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "yaop";
+       version = "0.1.2.1";
+       revision = "1";
+       sha256 = "0z66ffxb89bksgqfji9x8msch9yk7nmbzm2qrcn5j3w4ylg7dpdr";
+       editedCabalFile = "5333f04af0a27a0197004dc2e686dbbf29e5e2dc248277eb2afcb7587092a55c";
+       buildDepends = [ base mtl template-haskell ];
+       homepage = "https://github.com/esmolanka/yaop";
+       description = "Yet another option parser";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yap" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "yap";
+       version = "0.2";
+       sha256 = "14lq549jhgnf51pgy1jv31ik8qx71yl7d53w8dpq1f9mlsn1g16i";
+       buildDepends = [ base ];
+       jailbreak = true;
+       description = "yet another prelude - a simplistic refactoring with algebraic classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yarr" = callPackage
+    ({ mkDerivation, base, deepseq, fixed-vector, ghc-prim
+     , missing-foreign, primitive, template-haskell
+     }:
+     mkDerivation {
+       pname = "yarr";
+       version = "1.3.3.3";
+       revision = "1";
+       sha256 = "09nr1k0yhm1sh4g741876sf4vi0mgrh7gdq9cbw33hxn6168h547";
+       editedCabalFile = "290dde1a67c1de78074c60796f5326cf01668fb109345cd100ff1ac5a5663687";
+       buildDepends = [
+         base deepseq fixed-vector ghc-prim missing-foreign primitive
+         template-haskell
+       ];
+       jailbreak = true;
+       description = "Yet another array library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yarr-image-io" = callPackage
+    ({ mkDerivation, base, libdevil, yarr }:
+     mkDerivation {
+       pname = "yarr-image-io";
+       version = "1.3.2.1";
+       sha256 = "1wmmzw62wb5hz4qavy51wb3wwqn07zd6iiwsrzcck1jdxwy0p81x";
+       buildDepends = [ base yarr ];
+       extraLibraries = [ libdevil ];
+       description = "Image IO for Yarr library";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) libdevil;};
+
+  "yavie" = callPackage
+    ({ mkDerivation, base, Cabal, directory, event-driven, filepath
+     , monads-tf, process, regexpr
+     }:
+     mkDerivation {
+       pname = "yavie";
+       version = "0.0.1";
+       sha256 = "0h2gd0k8vbz8rl34j42ayvcqp0ksz6642k9pznrd28h145wk8gz5";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal directory event-driven filepath monads-tf process
+         regexpr
+       ];
+       description = "yet another visual editor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "ycextra" = callPackage
+    ({ mkDerivation, base, containers, csv, mtl, uniplate, yhccore }:
+     mkDerivation {
+       pname = "ycextra";
+       version = "0.1";
+       sha256 = "0aa0g2r7ck052wqkqqxzvkdqv9d7x3v7rqqd8iajwys9cvqny4m5";
+       buildDepends = [ base containers csv mtl uniplate yhccore ];
+       homepage = "http://www.haskell.org/haskellwiki/Yhc";
+       description = "Additional utilities to work with Yhc Core";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yeganesh" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, process
+     , strict, time, unix, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "yeganesh";
+       version = "2.5";
+       sha256 = "1bgw5v1g5n06jj0lyxpf48mdpaa2s49g0lbagf3jf9q01rb92bvf";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers directory filepath process strict time unix
+         xdg-basedir
+       ];
+       homepage = "http://dmwit.com/yeganesh";
+       description = "small dmenu wrapper";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yeller" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec
+     , http-client, http-client-tls, http-types, network, stm, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "yeller";
+       version = "0.1.0.4";
+       sha256 = "0r9kcjax591v366m5nrm75cy97wr4ykzb7kj1bwsgss21k185a3j";
+       buildDepends = [
+         aeson base bytestring containers http-client http-client-tls
+         http-types network stm text unordered-containers
+       ];
+       testDepends = [
+         aeson base bytestring containers hspec http-client http-client-tls
+         http-types network stm text unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://yellerapp.com";
+       description = "A Yeller Client For Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yes-precure5-command" = callPackage
+    ({ mkDerivation, base, Cabal, containers, hspec, mtl, parsec
+     , QuickCheck, random
+     }:
+     mkDerivation {
+       pname = "yes-precure5-command";
+       version = "5.5.1";
+       sha256 = "0a5qiz0sx8kbi1ijq8lqjfszp5cvqnq1jpxx18wqndfkscjfsjbd";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base Cabal containers mtl parsec random ];
+       testDepends = [ base containers hspec QuickCheck ];
+       homepage = "https://github.com/igrep/yes-precure5-command/";
+       description = "Extended yes command to reproduce phrases in Yes! Precure 5";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , conduit-extra, data-default, directory, fast-logger
+     , monad-control, monad-logger, safe, semigroups, shakespeare
+     , streaming-commons, template-haskell, text, transformers, unix
+     , unordered-containers, wai, wai-extra, wai-logger, warp, yaml
+     , yesod-auth, yesod-core, yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod";
+       version = "1.4.1.4";
+       sha256 = "1av6s5nanq5y9fqlzq2yq95989gg1fyqlpzg6y5pl4dcc45srm1x";
+       buildDepends = [
+         aeson base blaze-html blaze-markup bytestring conduit-extra
+         data-default directory fast-logger monad-control monad-logger safe
+         semigroups shakespeare streaming-commons template-haskell text
+         transformers unix unordered-containers wai wai-extra wai-logger
+         warp yaml yesod-auth yesod-core yesod-form yesod-persistent
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-angular" = callPackage
+    ({ mkDerivation, aeson, base, containers, shakespeare
+     , template-haskell, text, transformers, yesod
+     }:
+     mkDerivation {
+       pname = "yesod-angular";
+       version = "0.1.0.1";
+       sha256 = "1f2aghs78jc3v2raq2f07mrcpmkc4jjp2vvpal4bh4qq6jnyigzd";
+       buildDepends = [
+         aeson base containers shakespeare template-haskell text
+         transformers yesod
+       ];
+       jailbreak = true;
+       description = "Yesod Angular JS integration";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-auth" = callPackage
+    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
+     , base64-bytestring, binary, blaze-builder, blaze-html
+     , blaze-markup, byteable, bytestring, conduit, conduit-extra
+     , containers, cryptohash, data-default, email-validate, file-embed
+     , http-client, http-conduit, http-types, lifted-base, mime-mail
+     , network-uri, 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.4";
+       sha256 = "079ny0jdg68kxdp117y1av0d09fhpywbb8v9iyl867vswpb38b08";
+       buildDepends = [
+         aeson authenticate base base16-bytestring base64-bytestring binary
+         blaze-builder blaze-html blaze-markup byteable bytestring conduit
+         conduit-extra containers cryptohash data-default email-validate
+         file-embed http-client http-conduit http-types lifted-base
+         mime-mail network-uri 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-account" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, hspec, monad-logger
+     , mtl, nonce, persistent, persistent-sqlite, pwstore-fast
+     , resourcet, text, xml-conduit, yesod, yesod-auth, yesod-core
+     , yesod-form, yesod-persistent, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-auth-account";
+       version = "1.4.0";
+       sha256 = "15b9pwxgh73wa7bmydkh4wdndfkn85v0f7q4mfi582vk272n3ra0";
+       buildDepends = [
+         base blaze-html bytestring mtl nonce persistent pwstore-fast text
+         yesod-auth yesod-core yesod-form yesod-persistent
+       ];
+       testDepends = [
+         base bytestring hspec monad-logger mtl persistent-sqlite resourcet
+         text xml-conduit yesod yesod-auth yesod-test
+       ];
+       homepage = "https://bitbucket.org/wuzzeb/yesod-auth-account";
+       description = "An account authentication plugin for Yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-auth-basic" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, exceptions
+     , hlint, hspec, text, wai, word8, yesod, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-auth-basic";
+       version = "0.1.0.1";
+       sha256 = "1q4fb2s71bg7r282327rsgvgcghq911knm8wf5yfq53s0k4dxkki";
+       buildDepends = [
+         base base64-bytestring bytestring exceptions text wai word8 yesod
+       ];
+       testDepends = [ base hlint hspec text yesod yesod-test ];
+       jailbreak = true;
+       description = "Yesod Middleware for HTTP Basic Authentication";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-auth-bcrypt" = callPackage
+    ({ mkDerivation, base, bcrypt, bytestring, text, yesod-auth
+     , yesod-core, yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth-bcrypt";
+       version = "0.2.0";
+       sha256 = "06pbzk09zfnr290sczjpqjrfbbz1c6qig402siakp7lnizav4xz5";
+       buildDepends = [
+         base bcrypt bytestring text yesod-auth yesod-core yesod-form
+         yesod-persistent
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "BCrypt salted and hashed passwords in a database as auth for yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-auth-deskcom" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, byteable
+     , bytestring, cipher-aes, cprng-aes, crypto-api, crypto-random
+     , cryptohash, data-default, http-conduit, http-types
+     , template-haskell, text, time, transformers, yesod-auth
+     , yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-auth-deskcom";
+       version = "1.4.0";
+       sha256 = "17lpkwrfc10rdmvkjg6qmbi7gysjjhqyh7n5d1mxgxhzxzqbi06w";
+       buildDepends = [
+         aeson base base64-bytestring byteable bytestring cipher-aes
+         cprng-aes crypto-api crypto-random cryptohash data-default
+         http-conduit http-types template-haskell text time transformers
+         yesod-auth yesod-core
+       ];
+       homepage = "https://github.com/prowdsponsor/yesod-auth-deskcom";
+       description = "Desk.com remote authentication support for Yesod apps.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-auth-fb" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, fb, http-conduit
+     , lifted-base, shakespeare, text, time, transformers, wai
+     , yesod-auth, yesod-core, yesod-fb
+     }:
+     mkDerivation {
+       pname = "yesod-auth-fb";
+       version = "1.6.6";
+       sha256 = "00pk5vridic77laydkfhrixfv50ps7f15dxvcd44cn0z8s2d3y74";
+       buildDepends = [
+         aeson base bytestring conduit fb http-conduit lifted-base
+         shakespeare text time transformers wai yesod-auth yesod-core
+         yesod-fb
+       ];
+       homepage = "https://github.com/prowdsponsor/yesod-auth-fb";
+       description = "Authentication backend for Yesod using Facebook";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-auth-hashdb" = callPackage
+    ({ mkDerivation, base, bytestring, cryptohash, hspec, persistent
+     , pwstore-fast, text, yesod-auth, yesod-core, yesod-form
+     , yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth-hashdb";
+       version = "1.4.2.1";
+       sha256 = "1gc8049xvzrkqb91fpdrzr54byxag6rkqvb8650q4scpr09vzdpl";
+       buildDepends = [
+         base bytestring cryptohash persistent pwstore-fast text yesod-auth
+         yesod-core yesod-form yesod-persistent
+       ];
+       testDepends = [ base hspec text ];
+       homepage = "https://github.com/paul-rouse/yesod-auth-hashdb";
+       description = "Authentication plugin for Yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-auth-kerberos" = callPackage
+    ({ mkDerivation, authenticate-kerberos, base, bytestring
+     , shakespeare, text, transformers, yesod-auth, yesod-core
+     , yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-auth-kerberos";
+       version = "1.4.2";
+       sha256 = "1q25p6kzk4xksi64gl2k4vdnfiw2pmqmca1w5zwzvdr4zzgkmx18";
+       buildDepends = [
+         authenticate-kerberos base bytestring shakespeare text transformers
+         yesod-auth yesod-core yesod-form
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Kerberos Authentication for Yesod";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-auth-ldap" = callPackage
+    ({ mkDerivation, authenticate-ldap, base, bytestring, hamlet, LDAP
+     , text, transformers, yesod-auth, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-auth-ldap";
+       version = "0.0.3";
+       sha256 = "1ps2vk2pvni3h4pk4v2siqb3a714r09ahgr5d1l89hspb9fbzfyk";
+       buildDepends = [
+         authenticate-ldap base bytestring hamlet LDAP text transformers
+         yesod-auth yesod-core yesod-form
+       ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/";
+       description = "LDAP Authentication for Yesod";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-auth-oauth" = callPackage
+    ({ mkDerivation, authenticate-oauth, base, bytestring, lifted-base
+     , text, transformers, yesod-auth, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-auth-oauth";
+       version = "1.4.0.1";
+       sha256 = "0wy3c271jq7ssvh6fhpi0h92pin5a8f48vmr3qsw8szf4gpw1j69";
+       buildDepends = [
+         authenticate-oauth base bytestring lifted-base text transformers
+         yesod-auth yesod-core yesod-form
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "OAuth Authentication for Yesod";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-auth-oauth2" = callPackage
+    ({ mkDerivation, aeson, authenticate, base, bytestring, hoauth2
+     , http-conduit, http-types, lifted-base, network-uri, text
+     , transformers, uuid, yesod-auth, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-auth-oauth2";
+       version = "0.0.12";
+       sha256 = "1n70cnab99ldx4pd9yi7v6lvc7f1psnicmvq7sm8am8p9yhf9bs0";
+       buildDepends = [
+         aeson authenticate base bytestring hoauth2 http-conduit http-types
+         lifted-base network-uri text transformers uuid yesod-auth
+         yesod-core yesod-form
+       ];
+       homepage = "http://github.com/scan/yesod-auth-oauth2";
+       description = "Library to authenticate with OAuth 2.0 for Yesod web applications.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-auth-pam" = callPackage
+    ({ mkDerivation, base, hamlet, pam, text, yesod-auth, yesod-core
+     , yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-auth-pam";
+       version = "1.0.0.0";
+       sha256 = "02cpg67ldjvv9sb6jr7liq3ac20rqc6lq1wjybii5vsah8hmvkhy";
+       buildDepends = [
+         base hamlet pam text yesod-auth yesod-core yesod-form
+       ];
+       description = "Provides PAM authentication module";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-auth-smbclient" = callPackage
+    ({ mkDerivation, base, hamlet, sys-auth-smbclient, text, yesod-auth
+     , yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-auth-smbclient";
+       version = "2.0.0.0";
+       sha256 = "108bmfb68rvmx3q21hz55jbic331fnplcx062vlbk6sx3jyjqgaa";
+       buildDepends = [
+         base hamlet sys-auth-smbclient text yesod-auth yesod-core
+         yesod-form
+       ];
+       homepage = "https://github.com/kkazuo/yesod-auth-smbclient.git";
+       description = "Authentication plugin for Yesod using smbclient";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-auth-zendesk" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, cryptohash
+     , data-default, http-conduit, http-types, template-haskell, text
+     , time, transformers, wai, yesod-auth, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-auth-zendesk";
+       version = "1.2.1";
+       sha256 = "0jjfydbgjcymd9x47g0acjdml55f3n40193lvl4l9l02q54g9qnb";
+       buildDepends = [
+         base base16-bytestring bytestring cryptohash data-default
+         http-conduit http-types template-haskell text time transformers wai
+         yesod-auth yesod-core
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/prowdsponsor/yesod-auth-zendesk";
+       description = "Zendesk remote authentication support for Yesod apps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-bin" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring
+     , blaze-builder, bytestring, Cabal, conduit, conduit-extra
+     , containers, data-default-class, directory, file-embed, filepath
+     , fsnotify, ghc, ghc-paths, http-client, http-conduit
+     , http-reverse-proxy, http-types, lifted-base, network
+     , optparse-applicative, parsec, process, project-template
+     , resourcet, shakespeare, split, streaming-commons, system-fileio
+     , system-filepath, 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.4.7";
+       sha256 = "1xi0i9j8gmgg920wzv363yq586kxcrmbf7br5ykxj30adj5w0cvp";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         async attoparsec base base64-bytestring blaze-builder bytestring
+         Cabal conduit conduit-extra containers data-default-class directory
+         file-embed filepath fsnotify ghc ghc-paths http-client http-conduit
+         http-reverse-proxy http-types lifted-base network
+         optparse-applicative parsec process project-template resourcet
+         shakespeare split streaming-commons system-fileio system-filepath
+         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-comments" = callPackage
+    ({ mkDerivation, base, bytestring, directory, friendly-time
+     , gravatar, old-locale, persistent, template-haskell, text, time
+     , wai, yesod, yesod-auth, yesod-form, yesod-markdown
+     }:
+     mkDerivation {
+       pname = "yesod-comments";
+       version = "0.9.2";
+       sha256 = "1isw8cwzwwsm7p3hqj0ynwncsdfg7x0ihphyv02awchqbgc2c87i";
+       buildDepends = [
+         base bytestring directory friendly-time gravatar old-locale
+         persistent template-haskell text time wai yesod yesod-auth
+         yesod-form yesod-markdown
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/pbrisbin/yesod-comments";
+       description = "A generic comments interface for a Yesod application";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-continuations" = callPackage
+    ({ mkDerivation, base, datetime, hashable, hashmap, stm
+     , system-uuid, template-haskell, yesod
+     }:
+     mkDerivation {
+       pname = "yesod-continuations";
+       version = "0.1";
+       sha256 = "1pzc0v18fapfbwd4pn4nchmsp4nvnrkm33av83zqfb5gyzhlk1in";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base datetime hashable hashmap stm system-uuid template-haskell
+         yesod
+       ];
+       homepage = "https://github.com/softmechanics/yesod-continuations/";
+       description = "Continuations for Yesod";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-core" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , blaze-html, blaze-markup, bytestring, case-insensitive, cereal
+     , clientsession, conduit, conduit-extra, containers, cookie
+     , data-default, deepseq, directory, exceptions, fast-logger, hspec
+     , hspec-expectations, http-types, HUnit, lifted-base, monad-control
+     , monad-logger, mtl, mwc-random, network, old-locale, parsec
+     , path-pieces, primitive, QuickCheck, random, resourcet, safe
+     , semigroups, shakespeare, streaming-commons, template-haskell
+     , text, time, transformers, transformers-base, unix-compat
+     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
+     , word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.4.9.1";
+       sha256 = "1fqla2cahqr51jgr0l8pl2wq4rai2dq6yky75qjg5a4xrxcdq6sc";
+       buildDepends = [
+         aeson auto-update base blaze-builder blaze-html blaze-markup
+         bytestring case-insensitive cereal clientsession conduit
+         conduit-extra containers cookie data-default deepseq directory
+         exceptions fast-logger http-types lifted-base monad-control
+         monad-logger mtl mwc-random old-locale parsec path-pieces primitive
+         random resourcet safe semigroups shakespeare template-haskell text
+         time transformers transformers-base unix-compat
+         unordered-containers vector wai wai-extra wai-logger warp word8
+       ];
+       testDepends = [
+         async base blaze-builder bytestring clientsession conduit
+         conduit-extra containers cookie hspec hspec-expectations http-types
+         HUnit lifted-base mwc-random network path-pieces QuickCheck random
+         resourcet shakespeare streaming-commons template-haskell text
+         transformers wai wai-extra
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-datatables" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, data-default
+     , HUnit, monad-control, persistent, persistent-sqlite
+     , persistent-template, QuickCheck, resourcet, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, transformers, yesod, yesod-auth, yesod-core, yesod-default
+     , yesod-form, yesod-static
+     }:
+     mkDerivation {
+       pname = "yesod-datatables";
+       version = "0.1.1";
+       sha256 = "0yn6fky83069pp4i13dlx9dlk4ck2k4c6sizgnrwqcjhm39m1bz6";
+       buildDepends = [
+         aeson attoparsec base bytestring data-default persistent text yesod
+         yesod-auth yesod-core yesod-default yesod-form yesod-static
+       ];
+       testDepends = [
+         aeson attoparsec base bytestring HUnit monad-control persistent
+         persistent-sqlite persistent-template QuickCheck resourcet
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 text transformers
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/tlaitinen/yesod-datatables";
+       description = "Yesod plugin for DataTables (jQuery grid plugin)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-default" = callPackage
+    ({ mkDerivation, base, yesod-core }:
+     mkDerivation {
+       pname = "yesod-default";
+       version = "1.2.0";
+       sha256 = "15nsknnxnfbkpg4pswxcpgfb2y0hz0xxj56jknd93hcm7aay36pk";
+       buildDepends = [ base yesod-core ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Default config and main functions for your yesod application (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-dsl" = callPackage
+    ({ mkDerivation, alex, array, base, Cabal, containers, directory
+     , filepath, happy, MissingH, mtl, shakespeare-text, strict, syb
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "yesod-dsl";
+       version = "0.1.1.22";
+       sha256 = "1rfynal7l065dsmxx9zfqpjnl92ri4qj1ff62xp1482my72pin57";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base Cabal containers directory filepath MissingH mtl
+         shakespeare-text strict syb text transformers
+       ];
+       buildTools = [ alex happy ];
+       jailbreak = true;
+       homepage = "https://github.com/tlaitinen/yesod-dsl";
+       description = "DSL for generating Yesod subsite to manage an RDBMS;";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-eventsource" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, transformers, wai
+     , wai-eventsource, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-eventsource";
+       version = "1.4.0.1";
+       sha256 = "0j2x2zfr1s5a8m22kf27r6bdw041vmgf9b4v2ylc89n4m0f0dv55";
+       buildDepends = [
+         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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-examples" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, data-object
+     , data-object-yaml, hamlet, persistent-sqlite, persistent-template
+     , sqlite, stm, text, transformers, yesod, yesod-core, yesod-static
+     }:
+     mkDerivation {
+       pname = "yesod-examples";
+       version = "0.9.0.1";
+       sha256 = "1ikrx9ys8civmf1m12fbms258xa7aj55rr02x3rjwchykmzianp4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html bytestring data-object data-object-yaml hamlet
+         persistent-sqlite persistent-template stm text transformers yesod
+         yesod-core yesod-static
+       ];
+       extraLibraries = [ sqlite ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/";
+       description = "Example programs using the Yesod Web Framework. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) sqlite;};
+
+  "yesod-fay" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, directory
+     , fay, fay-dom, monad-loops, process, pureMD5, shakespeare
+     , system-fileio, system-filepath, template-haskell, text
+     , transformers, utf8-string, yesod-core, yesod-form, yesod-static
+     }:
+     mkDerivation {
+       pname = "yesod-fay";
+       version = "0.7.1";
+       sha256 = "0g17n7aqr1zhlh21dkl13rhac34nq8f77mj85kll6vgcs8nfidhl";
+       buildDepends = [
+         aeson base bytestring data-default directory fay fay-dom
+         monad-loops process pureMD5 shakespeare system-fileio
+         system-filepath template-haskell text transformers utf8-string
+         yesod-core yesod-form yesod-static
+       ];
+       homepage = "https://github.com/fpco/yesod-fay";
+       description = "Utilities for using the Fay Haskell-to-JS compiler with Yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-fb" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, crypto-api, fb
+     , http-conduit, text, wai, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-fb";
+       version = "0.3.4";
+       sha256 = "09cymp9y21vawbgr6gcj41s5xkq6j22mvk0vgl3pnyq382j33rmp";
+       buildDepends = [
+         aeson base bytestring conduit crypto-api fb http-conduit text wai
+         yesod-core
+       ];
+       homepage = "https://github.com/prowdsponsor/yesod-fb";
+       description = "Useful glue functions between the fb library and Yesod";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "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
+     , semigroups, shakespeare, template-haskell, text, time
+     , transformers, wai, xss-sanitize, yesod-core, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-form";
+       version = "1.4.4.1";
+       sha256 = "14v4vhrbca0281im2bnvk36bm7i1r8yanxhv7lvrq5y5nqbc5bl3";
+       buildDepends = [
+         aeson attoparsec base blaze-builder blaze-html blaze-markup
+         byteable bytestring containers data-default email-validate
+         network-uri persistent resourcet semigroups shakespeare
+         template-haskell text time transformers wai xss-sanitize yesod-core
+         yesod-persistent
+       ];
+       testDepends = [ base hspec text time ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Form handling support for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-form-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, text
+     , unordered-containers, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-form-json";
+       version = "0.0.1";
+       sha256 = "1hr53p4sp0zm7l1ap07kv2q6hi1xli74k13h0df4cmf9y2xn7bxz";
+       buildDepends = [
+         aeson base bytestring containers text unordered-containers
+         yesod-core yesod-form
+       ];
+       description = "Extension for Yesod web framework to handle JSON requests as applicative forms";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-gitrepo" = callPackage
+    ({ mkDerivation, base, directory, enclosed-exceptions, http-types
+     , lifted-base, process, system-filepath, temporary, text, wai
+     , yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-gitrepo";
+       version = "0.1.1.0";
+       sha256 = "1bf4rhf6i4cciyllkh6zil29i7yi5ph0nkpcqmhbihk4i7xm05zj";
+       buildDepends = [
+         base directory enclosed-exceptions http-types lifted-base process
+         system-filepath 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-goodies" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, directory, HTTP
+     , old-locale, pandoc, pureMD5, text, time, yesod, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-goodies";
+       version = "0.0.5";
+       sha256 = "0wxdwyb5dg00ycb09kbl1m12w2bzi6kxbjr4dqgrwfd3dgypcjdz";
+       buildDepends = [
+         base blaze-html bytestring directory HTTP old-locale pandoc pureMD5
+         text time yesod yesod-form
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/pbrisbin/yesod-goodies";
+       description = "A collection of various small helpers useful in any yesod application";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-json" = callPackage
+    ({ mkDerivation, base, yesod-core }:
+     mkDerivation {
+       pname = "yesod-json";
+       version = "1.2.0";
+       sha256 = "0d035k1ls5iq1c12yxknyc33qd22ayyhl69y62zmcw7arwx35sgw";
+       buildDepends = [ base yesod-core ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Generate content for Yesod using the aeson package. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-links" = callPackage
+    ({ mkDerivation, base, text, yesod-core }:
+     mkDerivation {
+       pname = "yesod-links";
+       version = "0.3.0";
+       sha256 = "0i1b4lgwv98pp7251fm3h4cdb1d868fqwm6175rk7zg699g2v61y";
+       buildDepends = [ base text yesod-core ];
+       jailbreak = true;
+       homepage = "http://github.com/pbrisbin/yesod-goodies/yesod-links";
+       description = "A typeclass which simplifies creating link widgets throughout your site";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-mangopay" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, conduit-extra
+     , containers, country-codes, data-default, directory, fast-logger
+     , hamlet, hjsmin, http-conduit, http-types, lifted-base, mangopay
+     , monad-control, monad-logger, persistent, persistent-postgresql
+     , persistent-template, resourcet, shakespeare, shakespeare-css
+     , shakespeare-js, shakespeare-text, template-haskell, text, time
+     , wai, wai-extra, wai-logger, warp, yaml, yesod, yesod-auth
+     , yesod-core, yesod-form, yesod-persistent, yesod-static
+     }:
+     mkDerivation {
+       pname = "yesod-mangopay";
+       version = "1.11";
+       sha256 = "1j6dibg7l0g3hykwvhxm9n898gg06mrgyg89yjbv31pm4mfvycsn";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring conduit conduit-extra containers
+         country-codes data-default directory fast-logger hamlet hjsmin
+         http-conduit http-types lifted-base mangopay monad-control
+         monad-logger persistent persistent-postgresql persistent-template
+         resourcet shakespeare shakespeare-css shakespeare-js
+         shakespeare-text template-haskell text time wai wai-extra
+         wai-logger warp yaml yesod yesod-auth yesod-core yesod-form
+         yesod-persistent yesod-static
+       ];
+       homepage = "https://github.com/prowdsponsor/mangopay";
+       description = "Yesod library for MangoPay API access";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-markdown" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , directory, pandoc, persistent, shakespeare, texmath, text
+     , xss-sanitize, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-markdown";
+       version = "0.9.3.1";
+       sha256 = "1spbgcsq1lkywp19k7ksiy6rsh2n060mxzh33k0ngbxxg566n08i";
+       buildDepends = [
+         base blaze-html blaze-markup bytestring directory pandoc persistent
+         shakespeare texmath text xss-sanitize yesod-core yesod-form
+       ];
+       homepage = "http://github.com/pbrisbin/yesod-markdown";
+       description = "Tools for using markdown in a yesod application";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yesod-newsfeed" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, shakespeare, text, time, xml-conduit, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-newsfeed";
+       version = "1.4.0.1";
+       sha256 = "02ydkri23vrm7mak2b1ybfhkdgc2dmv9vq3ki2d7sd005sp3zdly";
+       buildDepends = [
+         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-paginate" = callPackage
+    ({ mkDerivation, base, template-haskell, yesod }:
+     mkDerivation {
+       pname = "yesod-paginate";
+       version = "0.1";
+       sha256 = "088m7prg774wdh8fp7zljxj65zj5krl4pggl63anv2wk7nlw27py";
+       buildDepends = [ base template-haskell yesod ];
+       description = "Pagination for Yesod sites";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-pagination" = callPackage
+    ({ mkDerivation, base, esqueleto, hspec, monad-logger, persistent
+     , persistent-sqlite, resource-pool, resourcet, shakespeare
+     , utf8-string, wai-test, yesod, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-pagination";
+       version = "2.0.0";
+       sha256 = "0d42b8y7zpl624d7wa2caarni9g10hg14xsbamlkykki3bl197m1";
+       buildDepends = [ base esqueleto yesod ];
+       testDepends = [
+         base hspec monad-logger persistent persistent-sqlite resource-pool
+         resourcet shakespeare utf8-string wai-test yesod yesod-test
+       ];
+       homepage = "https://github.com/joelteon/yesod-pagination";
+       description = "Pagination in Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-paginator" = callPackage
+    ({ mkDerivation, base, persistent, resourcet, text, transformers
+     , yesod
+     }:
+     mkDerivation {
+       pname = "yesod-paginator";
+       version = "0.9.1";
+       sha256 = "0xi19gf6vdna3nwwmciypqgaprzb7gdjpwvfrpj82gr6yar1va5m";
+       buildDepends = [
+         base persistent resourcet text transformers yesod
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/pbrisbin/yesod-paginator";
+       description = "A pagination approach for yesod";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-persistent" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
+     , persistent-sqlite, persistent-template, resource-pool, resourcet
+     , text, transformers, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-persistent";
+       version = "1.4.0.2";
+       sha256 = "06qzgq0mb7k0h8q6lh47l0mzx91xn4ba07nmn22vsfvjfdji6lib";
+       buildDepends = [
+         base blaze-builder conduit persistent persistent-template
+         resource-pool resourcet transformers yesod-core
+       ];
+       testDepends = [
+         base blaze-builder conduit hspec persistent persistent-sqlite text
+         wai-extra yesod-core
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Some helpers for using Persistent from Yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-platform" = callPackage
+    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, asn1-encoding
+     , asn1-parse, asn1-types, attoparsec-conduit, authenticate
+     , auto-update, base, base16-bytestring, base64-bytestring
+     , blaze-builder, blaze-builder-conduit, blaze-html, blaze-markup
+     , byteable, byteorder, cereal, cipher-aes, cipher-des, cipher-rc4
+     , clientsession, conduit, conduit-extra, connection, cookie
+     , cprng-aes, crypto-api, crypto-cipher-types, crypto-numbers
+     , crypto-pubkey, crypto-pubkey-types, crypto-random, cryptohash
+     , cryptohash-conduit, css-text, data-default, data-default-class
+     , data-default-instances-base, data-default-instances-containers
+     , data-default-instances-dlist, data-default-instances-old-locale
+     , dlist, email-validate, entropy, esqueleto, exceptions
+     , fast-logger, file-embed, hamlet, hjsmin, hspec
+     , hspec-expectations, html-conduit, http-client, http-client-tls
+     , http-conduit, http-date, http-reverse-proxy, http-types
+     , language-javascript, lifted-base, mime-mail, mime-types, mmorph
+     , monad-control, monad-logger, monad-loops, nats, network-conduit
+     , optparse-applicative, path-pieces, pem, persistent
+     , persistent-template, publicsuffixlist, pwstore-fast
+     , quickcheck-io, resource-pool, resourcet, safe, securemem
+     , semigroups, setenv, SHA, shakespeare, shakespeare-css
+     , shakespeare-i18n, shakespeare-js, shakespeare-text, silently
+     , simple-sendfile, skein, socks, stm-chans, streaming-commons
+     , stringsearch, system-fileio, system-filepath, tagged, tagsoup
+     , tagstream-conduit, tf-random, tls, transformers-base, utf8-string
+     , void, wai, wai-app-static, wai-extra, wai-logger, wai-test, warp
+     , warp-tls, word8, x509, x509-store, x509-system, x509-validation
+     , xml-conduit, xml-types, xss-sanitize, yaml, yesod, yesod-auth
+     , yesod-auth-hashdb, yesod-core, yesod-form, yesod-persistent
+     , yesod-routes, yesod-static, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-platform";
+       version = "1.2.13.3";
+       sha256 = "1j71m9bqam7dl1ghhwvkw5ispp8z06hbkvdxslx5sca998vx9awv";
+       buildDepends = [
+         ansi-terminal ansi-wl-pprint asn1-encoding asn1-parse asn1-types
+         attoparsec-conduit authenticate auto-update base base16-bytestring
+         base64-bytestring blaze-builder blaze-builder-conduit blaze-html
+         blaze-markup byteable byteorder cereal cipher-aes cipher-des
+         cipher-rc4 clientsession conduit conduit-extra connection cookie
+         cprng-aes crypto-api crypto-cipher-types crypto-numbers
+         crypto-pubkey crypto-pubkey-types crypto-random cryptohash
+         cryptohash-conduit css-text data-default data-default-class
+         data-default-instances-base data-default-instances-containers
+         data-default-instances-dlist data-default-instances-old-locale
+         dlist email-validate entropy esqueleto exceptions fast-logger
+         file-embed hamlet hjsmin hspec hspec-expectations html-conduit
+         http-client http-client-tls http-conduit http-date
+         http-reverse-proxy http-types language-javascript lifted-base
+         mime-mail mime-types mmorph monad-control monad-logger monad-loops
+         nats network-conduit optparse-applicative path-pieces pem
+         persistent persistent-template publicsuffixlist pwstore-fast
+         quickcheck-io resource-pool resourcet safe securemem semigroups
+         setenv SHA shakespeare shakespeare-css shakespeare-i18n
+         shakespeare-js shakespeare-text silently simple-sendfile skein
+         socks stm-chans streaming-commons stringsearch system-fileio
+         system-filepath tagged tagsoup tagstream-conduit tf-random tls
+         transformers-base utf8-string void wai wai-app-static wai-extra
+         wai-logger wai-test warp warp-tls word8 x509 x509-store x509-system
+         x509-validation xml-conduit xml-types xss-sanitize yaml yesod
+         yesod-auth yesod-auth-hashdb yesod-core yesod-form yesod-persistent
+         yesod-routes yesod-static yesod-test
+       ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/";
+       description = "Meta package for Yesod (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-pnotify" = callPackage
+    ({ mkDerivation, base, shakespeare, text, transformers, yesod
+     , yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-pnotify";
+       version = "0.5.0";
+       sha256 = "05ic4n6g8jp575qj8mq9lbnhvmdm5zwxn3wf8f1blgigqimamsps";
+       buildDepends = [
+         base shakespeare text transformers yesod yesod-form
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/cutsea110/yesod-pnotify";
+       description = "Yet another getMessage/setMessage using pnotify jquery plugins";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-pure" = callPackage
+    ({ mkDerivation, base, fast-logger, text, yesod, yesod-core }:
+     mkDerivation {
+       pname = "yesod-pure";
+       version = "0.1.0.2";
+       sha256 = "0v3xvhk5nxc2y3c21y6h7w6lg5vm1s2vzf9f02qw8gj928vsidzg";
+       buildDepends = [ base fast-logger text yesod yesod-core ];
+       jailbreak = true;
+       homepage = "https://github.com/snoyberg/yesod-pure";
+       description = "Yesod in pure Haskell: no Template Haskell or QuasiQuotes (deprecated)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-purescript" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , formatting, fsnotify, mtl, purescript, regex-tdfa
+     , regex-tdfa-text, shakespeare, system-fileio, system-filepath
+     , template-haskell, text, time, transformers, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-purescript";
+       version = "0.0.5";
+       sha256 = "0arij86cfzy5hh82gc5l4i3s3z4qa9rfrnj9nrp6q25qhvgiclmy";
+       buildDepends = [
+         aeson base bytestring containers data-default formatting fsnotify
+         mtl purescript regex-tdfa regex-tdfa-text shakespeare system-fileio
+         system-filepath template-haskell text time transformers yesod-core
+       ];
+       homepage = "https://github.com/mpietrzak/yesod-purescript";
+       description = "PureScript integration for Yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-recaptcha" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, http-conduit
+     , http-types, lifted-base, network, network-info, resourcet, text
+     , wai, yesod-auth, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-recaptcha";
+       version = "1.4";
+       sha256 = "1dvbpzcfwmjv836i8g0gv80dj1iwb9gnvgwg3m5h2hi95249m471";
+       buildDepends = [
+         base bytestring data-default http-conduit http-types lifted-base
+         network network-info resourcet text wai yesod-auth yesod-core
+         yesod-form
+       ];
+       homepage = "https://github.com/prowdsponsor/yesod-recaptcha";
+       description = "Dead simple support for reCAPTCHA on Yesod applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-routes" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec, HUnit
+     , path-pieces, template-haskell, text, vector
+     }:
+     mkDerivation {
+       pname = "yesod-routes";
+       version = "1.2.0.7";
+       revision = "1";
+       sha256 = "00i2nysbhmxnq0dvfdjx6nhxy680ya38nx8gcgm13fv2xwdd2p6j";
+       editedCabalFile = "0d622fd91f5c82a3ae54849a9f55e15b39dcc6240f9f2119151362255cd7334e";
+       buildDepends = [
+         base containers path-pieces template-haskell text vector
+       ];
+       testDepends = [
+         base bytestring containers hspec HUnit path-pieces template-haskell
+         text
+       ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/";
+       description = "Efficient routing for Yesod. (deprecated)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-routes-typescript" = callPackage
+    ({ mkDerivation, attoparsec, base, classy-prelude, system-fileio
+     , text, yesod-core, yesod-routes
+     }:
+     mkDerivation {
+       pname = "yesod-routes-typescript";
+       version = "0.3.0.0";
+       sha256 = "1gn0fvspgwhzpg7pfaj029vdhlm8ypx9kyn2wdz2wzm5jkl7bnn9";
+       buildDepends = [
+         attoparsec base classy-prelude system-fileio text yesod-core
+         yesod-routes
+       ];
+       homepage = "https://github.com/docmunch/yesod-routes-typescript";
+       description = "generate TypeScript routes for Yesod";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-rst" = callPackage
+    ({ mkDerivation, base, blaze-html, directory, hamlet, pandoc
+     , persistent, text, xss-sanitize, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-rst";
+       version = "0.2.3";
+       sha256 = "1dv8xq7hndpk3d86dxwjjplv0la8fn32pwzb5l00db9cg420jp71";
+       buildDepends = [
+         base blaze-html directory hamlet pandoc persistent text
+         xss-sanitize yesod-core yesod-form
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/pSub/yesod-rst";
+       description = "Tools for using reStructuredText (RST) in a yesod application";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-s3" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra, gd, hS3
+     , mtl, network, resourcet, text, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-s3";
+       version = "0.1.1";
+       sha256 = "0vl24qa2aidrr7a082yhnscava06x6jf5y5x9fi9jdry3rnkhzbv";
+       buildDepends = [
+         base bytestring conduit conduit-extra gd hS3 mtl network resourcet
+         text yesod-core
+       ];
+       homepage = "https://github.com/tvh/yesod-s3";
+       description = "Simple Helper Library for using Amazon's Simple Storage Service (S3) with Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-session-redis" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, cookie
+     , hedis, mtl, network, pool-conduit, random, text, time, wai
+     , yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-session-redis";
+       version = "0.1.0";
+       sha256 = "06ilc1xjic66xj46nib8y6cq7n8hyc27kzz9zd001d12qh342brv";
+       buildDepends = [
+         base binary bytestring containers cookie hedis mtl network
+         pool-conduit random text time wai yesod-core
+       ];
+       homepage = "https://github.com/ollieh/yesod-session-redis";
+       description = "Redis-Powered Sessions for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-sitemap" = callPackage
+    ({ mkDerivation, base, conduit, containers, data-default, text
+     , time, xml-conduit, xml-types, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-sitemap";
+       version = "1.4.0.1";
+       sha256 = "0ri67r3yjngn4m2lj071n2v3r9w7pvsl24rayf41k7w9j3ylk100";
+       buildDepends = [
+         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-static" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring
+     , blaze-builder, byteable, bytestring, conduit, conduit-extra
+     , containers, cryptohash, cryptohash-conduit, css-text
+     , data-default, directory, file-embed, filepath, hashable, hjsmin
+     , hspec, http-types, HUnit, mime-types, old-time, process
+     , resourcet, system-fileio, system-filepath, template-haskell, text
+     , transformers, unix-compat, unordered-containers, wai
+     , wai-app-static, wai-extra, yesod-core, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-static";
+       version = "1.4.0.4";
+       sha256 = "1z01m3rvar6djxqcc2hyi53yfcpqwpi45wffpjnfp8hsr1x0zaqk";
+       buildDepends = [
+         async attoparsec base base64-bytestring blaze-builder byteable
+         bytestring conduit conduit-extra containers cryptohash
+         cryptohash-conduit css-text data-default directory file-embed
+         filepath hashable hjsmin http-types mime-types old-time process
+         resourcet system-fileio system-filepath template-haskell text
+         transformers unix-compat unordered-containers wai wai-app-static
+         yesod-core
+       ];
+       testDepends = [
+         async base base64-bytestring byteable bytestring conduit
+         conduit-extra containers cryptohash cryptohash-conduit data-default
+         directory file-embed filepath hjsmin hspec http-types HUnit
+         mime-types old-time process resourcet system-fileio system-filepath
+         template-haskell text transformers unix-compat unordered-containers
+         wai wai-app-static wai-extra yesod-core yesod-test
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Static file serving subsite for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-static-angular" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, blaze-markup
+     , bytestring, data-default, directory, filepath, hamlet, hspec
+     , HUnit, language-javascript, mime-types, shakespeare
+     , shakespeare-css, shakespeare-js, template-haskell, text, yesod
+     , yesod-core, yesod-static, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-static-angular";
+       version = "0.1.3";
+       sha256 = "115lrq6mga31qhdwa3f3hrnxcn8ifgas97hy8mg4wv6ijbzw680y";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base blaze-builder blaze-markup bytestring data-default
+         directory filepath hamlet language-javascript mime-types
+         shakespeare shakespeare-css shakespeare-js template-haskell text
+         yesod yesod-core yesod-static
+       ];
+       testDepends = [
+         base bytestring hamlet hspec HUnit shakespeare template-haskell
+         text yesod-core yesod-static yesod-test
+       ];
+       homepage = "https://bitbucket.org/wuzzeb/yesod-static-generators";
+       description = "Yesod generators for embedding AngularJs code into yesod-static at compile time";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-tableview" = callPackage
+    ({ mkDerivation, base, hamlet, persistent, yesod }:
+     mkDerivation {
+       pname = "yesod-tableview";
+       version = "0.2.1";
+       sha256 = "1qf7439c31a8xi0qs8fn2xdlrldi42n1k25lj6vn061lm8wg35yy";
+       buildDepends = [ base hamlet persistent yesod ];
+       description = "Table view for Yesod applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-test" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , blaze-markup, bytestring, case-insensitive, containers, cookie
+     , hspec, hspec-core, html-conduit, http-types, HUnit, monad-control
+     , network, persistent, text, time, transformers, wai, wai-extra
+     , xml-conduit, xml-types, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.4.3.1";
+       sha256 = "150kzp8h9wl3c1diz6h6m62qd6w0qz4drgrm095amb0sndrh37m2";
+       buildDepends = [
+         attoparsec base blaze-builder blaze-html blaze-markup bytestring
+         case-insensitive containers cookie hspec-core html-conduit
+         http-types HUnit monad-control network persistent text time
+         transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testDepends = [
+         base bytestring containers hspec html-conduit HUnit text wai
+         xml-conduit yesod-core yesod-form
+       ];
+       homepage = "http://www.yesodweb.com";
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-test-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, hspec
+     , http-types, HUnit, text, transformers, wai, wai-test
+     , yesod-default
+     }:
+     mkDerivation {
+       pname = "yesod-test-json";
+       version = "0.2.0.0";
+       sha256 = "1z6cps85fypgymfmq0z67f1z5cr2x9l9hf4wrkncvkivbcb330bh";
+       buildDepends = [
+         aeson base bytestring conduit hspec http-types HUnit text
+         transformers wai wai-test yesod-default
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bogiebro/yesod-test-json";
+       description = "Utility functions for testing JSON web services written in Yesod";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-text-markdown" = callPackage
+    ({ mkDerivation, aeson, base, markdown, persistent, shakespeare
+     , text, yesod-core, yesod-form, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-text-markdown";
+       version = "0.1.7";
+       sha256 = "133zv2f8240qbygpza39m28k4hfy2aiqmr6ds8ihwbb8dz98d5rr";
+       buildDepends = [
+         aeson base markdown persistent shakespeare text yesod-core
+         yesod-form yesod-persistent
+       ];
+       description = "Yesod support for Text.Markdown.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yesod-tls" = callPackage
+    ({ mkDerivation, base, fast-logger, monad-logger, template-haskell
+     , unix, wai, wai-extra, warp, warp-tls, yesod
+     }:
+     mkDerivation {
+       pname = "yesod-tls";
+       version = "1.4.1";
+       sha256 = "0zvhchiky51pwhbcj4c86xsa98nwfw86188jxhnk2jwdgpdb9j68";
+       buildDepends = [
+         base fast-logger monad-logger template-haskell unix wai wai-extra
+         warp warp-tls yesod
+       ];
+       homepage = "http://github.com/netom/yesod-tls";
+       description = "Provides main functions using warp-tls for yesod projects";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yesod-vend" = callPackage
+    ({ mkDerivation, base, blaze-html, hamlet, monad-logger, persistent
+     , persistent-sqlite, resourcet, text, yesod, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-vend";
+       version = "0.3.0.0";
+       sha256 = "163ah4g6k62hypm2kj1aiwnzfjx1ngss6iqfg467vjhg71s5l1j9";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-html hamlet monad-logger persistent persistent-sqlite
+         resourcet text yesod yesod-form
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/Tener/yesod-vend";
+       description = "Simple CRUD classes for easy view creation for Yesod";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-websockets" = callPackage
+    ({ mkDerivation, async, base, conduit, monad-control, transformers
+     , wai, wai-websockets, websockets, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-websockets";
+       version = "0.2.1.1";
+       sha256 = "0ksmyag5h5i78jb7bdvsvq0wkyb82k8i4y5d2m6czvhf3i1zw6da";
+       buildDepends = [
+         async base conduit 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-worker" = callPackage
+    ({ mkDerivation, base, containers, fast-logger, monad-control
+     , monad-logger, persistent, resourcet, stm, template-haskell
+     , transformers, transformers-base, yesod, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-worker";
+       version = "0.0.1";
+       sha256 = "1rwmw1hhx2mm6ikmqcfjg9vgi95mjhv2w5r4dwn8796jkkw8zpkd";
+       buildDepends = [
+         base containers fast-logger monad-control monad-logger persistent
+         resourcet stm template-haskell transformers transformers-base yesod
+         yesod-core
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jamesdabbs/yesod-worker";
+       description = "Drop-in(ish) background worker system for Yesod apps";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yet-another-logger" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, async, base
+     , base-unicode-symbols, bytestring, case-insensitive
+     , configuration-tools, deepseq, either, enclosed-exceptions, lens
+     , lifted-base, monad-control, mtl, optparse-applicative, stm
+     , stm-chans, text, trace, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "yet-another-logger";
+       version = "0.1.1.1";
+       sha256 = "0bwslcxb747krvpa4irnych4ddjik51542jf0bkzsyhagmakrjz8";
+       buildDepends = [
+         aeson ansi-terminal async base base-unicode-symbols bytestring
+         case-insensitive configuration-tools deepseq either
+         enclosed-exceptions lens lifted-base monad-control mtl
+         optparse-applicative stm stm-chans text trace transformers
+         transformers-base
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/alephcloud/hs-yet-another-logger";
+       description = "Yet Another Logger";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "yhccore" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty, uniplate }:
+     mkDerivation {
+       pname = "yhccore";
+       version = "0.9.1";
+       sha256 = "18gjzlpxn0hp723ybjgq1zdbpl35iqphs7b8r5x9ddbkm435sw93";
+       buildDepends = [ base containers mtl pretty uniplate ];
+       homepage = "http://www.haskell.org/haskellwiki/Yhc";
+       description = "Yhc's Internal Core language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yi" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, Cabal
+     , cautious-file, containers, data-default, directory, dlist
+     , dynamic-state, dyre, exceptions, filepath, glib, gtk, hashable
+     , hint, HUnit, lens, mtl, old-locale, oo-prototypes, pango, parsec
+     , pointedlist, process, QuickCheck, random, regex-base, regex-tdfa
+     , safe, semigroups, split, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, text, time, transformers-base, unix
+     , unix-compat, unordered-containers, utf8-string, vty, word-trie
+     , xdg-basedir, yi-language, yi-rope
+     }:
+     mkDerivation {
+       pname = "yi";
+       version = "0.11.2";
+       sha256 = "0kqrdbfpihyds8mdai6j4dzzd8wbcchji0gdgpfb4w5kwhhh9dvz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring Cabal cautious-file containers
+         data-default directory dlist dynamic-state dyre exceptions filepath
+         glib gtk hashable hint lens mtl old-locale oo-prototypes pango
+         parsec pointedlist process QuickCheck random regex-base regex-tdfa
+         safe semigroups split template-haskell text time transformers-base
+         unix unix-compat unordered-containers utf8-string vty word-trie
+         xdg-basedir yi-language yi-rope
+       ];
+       testDepends = [
+         base directory filepath HUnit lens QuickCheck semigroups tasty
+         tasty-hunit tasty-quickcheck text yi-language yi-rope
+       ];
+       configureFlags = [ "-fpango" "-fvty" ];
+       homepage = "http://haskell.org/haskellwiki/Yi";
+       description = "The Haskell-Scriptable Editor";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yi-contrib" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, lens, mtl
+     , old-locale, oo-prototypes, split, text, time, transformers-base
+     , yi, yi-language, yi-rope
+     }:
+     mkDerivation {
+       pname = "yi-contrib";
+       version = "0.10.1";
+       sha256 = "053hsahkxwg2mnf3h4j95gj18x5791dqqji43l310i4l7mliw91k";
+       buildDepends = [
+         base containers directory filepath lens mtl old-locale
+         oo-prototypes split text time transformers-base yi yi-language
+         yi-rope
+       ];
+       jailbreak = true;
+       homepage = "http://haskell.org/haskellwiki/Yi";
+       description = "Add-ons to Yi, the Haskell-Scriptable Editor";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yi-emacs-colours" = callPackage
+    ({ mkDerivation, base, containers, split, yi-language }:
+     mkDerivation {
+       pname = "yi-emacs-colours";
+       version = "0.1.0.1";
+       sha256 = "1kbds9s0r67bdvigjk0c58slbifnddp6ppv4jrgv6493pylp78qv";
+       buildDepends = [ base containers split yi-language ];
+       homepage = "https://github.com/Fuuzetsu/yi-emacs-colours";
+       description = "Simple mapping from colour names used in emacs to Color";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yi-fuzzy-open" = callPackage
+    ({ mkDerivation, base, binary, containers, data-default, directory
+     , filepath, mtl, text, transformers-base, vector, yi, yi-language
+     , yi-rope
+     }:
+     mkDerivation {
+       pname = "yi-fuzzy-open";
+       version = "0.1.0";
+       sha256 = "03y7ddas8w380asx4ldafp1r3h4nlyjky7n4n5sdyvwbi0rix1gc";
+       buildDepends = [
+         base binary containers data-default directory filepath mtl text
+         transformers-base vector yi yi-language yi-rope
+       ];
+       homepage = "https://github.com/yi-editor/yi-fuzzy-open";
+       description = "Fuzzy open plugin for Yi";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yi-gtk" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "yi-gtk";
+       version = "0.3";
+       sha256 = "1lgdzrxq3g24wy658ydknb98isyksdknn2bfdzsfi68rnij6z6nz";
+       homepage = "http://haskell.org/haskellwiki/Yi";
+       description = "The Haskell-Scriptable Editor, helper package";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yi-language" = callPackage
+    ({ mkDerivation, alex, array, base, binary, containers
+     , data-default, derive, filepath, hashable, hspec, lens
+     , oo-prototypes, pointedlist, QuickCheck, regex-base, regex-tdfa
+     , template-haskell, transformers-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "yi-language";
+       version = "0.1.1.0";
+       sha256 = "1gsh0njslncfh0r5wg1rq9w4f03ixkk5grd9zigkspsndhij7379";
+       buildDepends = [
+         array base binary containers data-default derive hashable lens
+         oo-prototypes pointedlist regex-base regex-tdfa template-haskell
+         transformers-base unordered-containers
+       ];
+       testDepends = [
+         array base binary containers data-default derive filepath hashable
+         hspec lens pointedlist QuickCheck regex-base regex-tdfa
+         template-haskell transformers-base unordered-containers
+       ];
+       buildTools = [ alex ];
+       homepage = "https://github.com/yi-editor/yi-language";
+       description = "Collection of language-related Yi libraries";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yi-monokai" = callPackage
+    ({ mkDerivation, base, yi }:
+     mkDerivation {
+       pname = "yi-monokai";
+       version = "0.1.1.2";
+       sha256 = "1nghfyiy8jdz144nbw0c2cdy8n6xyjmk31g6z24jk8dij7iwb60l";
+       buildDepends = [ base yi ];
+       homepage = "https://github.com/Fuuzetsu/yi-monokai";
+       description = "Monokai colour theme for the Yi text editor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yi-rope" = callPackage
+    ({ mkDerivation, base, binary, bytestring, charsetdetect-ae
+     , data-default, deepseq, fingertree, hspec, QuickCheck
+     , quickcheck-instances, text, text-icu
+     }:
+     mkDerivation {
+       pname = "yi-rope";
+       version = "0.7.0.1";
+       sha256 = "190rb5rbvdzy4d52dj3ih0kwzigh7v0fg412p3848pkv3836vmg0";
+       buildDepends = [
+         base binary bytestring charsetdetect-ae data-default deepseq
+         fingertree text text-icu
+       ];
+       testDepends = [ base hspec QuickCheck quickcheck-instances text ];
+       description = "A rope data structure used by Yi";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yi-snippet" = callPackage
+    ({ mkDerivation, base, containers, yi, yi-rope }:
+     mkDerivation {
+       pname = "yi-snippet";
+       version = "0.1.0.0";
+       sha256 = "0qbn5x7lbvb9h6gdqgvldzyy7z5y5aa9a02ss48zkccss5p6939d";
+       buildDepends = [ base containers yi yi-rope ];
+       homepage = "https://github.com/yi-editor/yi-snippet";
+       description = "Snippet support for Yi";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
+  "yi-spolsky" = callPackage
+    ({ mkDerivation, base, yi }:
+     mkDerivation {
+       pname = "yi-spolsky";
+       version = "0.1";
+       sha256 = "152ys2x416322c13nxmi25wpilq0ddd6hj36mr25jaacf1qszv6q";
+       buildDepends = [ base yi ];
+       jailbreak = true;
+       homepage = "https://github.com/melrief/yi-spolsky";
+       description = "Spolsky colour theme for the Yi text editor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yi-vty" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "yi-vty";
+       version = "0.3";
+       sha256 = "01jp8xcxq9a1s6fp4yivnvr5a48svjir70yl0dhhwil0l3m9v9c9";
+       homepage = "http://haskell.org/haskellwiki/Yi";
+       description = "The Haskell-Scriptable Editor, helper package";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yices" = callPackage
+    ({ mkDerivation, base, parsec, process }:
+     mkDerivation {
+       pname = "yices";
+       version = "0.0.0.12";
+       sha256 = "1k3q789dapk0c311x72w4r008rnbfz3cvajahxq208gy8iyjx9iz";
+       buildDepends = [ base parsec process ];
+       description = "Haskell programming interface to Yices SMT solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yices-easy" = callPackage
+    ({ mkDerivation, base, bindings-yices, containers, transformers }:
+     mkDerivation {
+       pname = "yices-easy";
+       version = "0.1";
+       sha256 = "13nl3isf8npqmgsa7mc7713g7y0nk33a654rm1qnn1s6zyz41v70";
+       buildDepends = [ base bindings-yices containers transformers ];
+       homepage = "http://www.ugcs.caltech.edu/~keegan/haskell/yices-easy/";
+       description = "Simple interface to the Yices SMT (SAT modulo theories) solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yices-painless" = callPackage
+    ({ mkDerivation, base, containers, gmp, pretty, strict-concurrency
+     , vector, yices
+     }:
+     mkDerivation {
+       pname = "yices-painless";
+       version = "0.1.2";
+       sha256 = "1q0hxzvhd9p0qb0fyps6hn06nhqcwldxyfljk8880il17ky92p3h";
+       buildDepends = [
+         base containers pretty strict-concurrency vector
+       ];
+       extraLibraries = [ gmp yices ];
+       homepage = "http://code.haskell.org/~dons/code/yices-painless";
+       description = "An embedded language for programming the Yices SMT solver";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) gmp;  inherit (pkgs) yices;};
+
+  "yjftp" = callPackage
+    ({ mkDerivation, base, directory, ftphs, haskeline, hsConfigure
+     , mtl, process, unix
+     }:
+     mkDerivation {
+       pname = "yjftp";
+       version = "0.3.6.5";
+       sha256 = "11iwz7mrx3f72i3d4l9zvqb8g0722aj00s7h7wa06y4l69rfnj6m";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory ftphs haskeline hsConfigure mtl process unix
+       ];
+       jailbreak = true;
+       homepage = "http://homepage3.nifty.com/salamander/second/projects/yjftp/index.xhtml";
+       description = "CUI FTP client like 'ftp', 'ncftp'";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yjftp-libs" = callPackage
+    ({ mkDerivation, base, directory, ftphs, mtl, process, unix }:
+     mkDerivation {
+       pname = "yjftp-libs";
+       version = "0.0.2";
+       sha256 = "1rlw9i1a034lg7gc60fkxjh6kc5yrbapc745gwl1ddi2wisy3h24";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base directory ftphs mtl process unix ];
+       jailbreak = true;
+       homepage = "http://homepage3.nifty.com/salamander/second/projects/yjftp/index.xhtml";
+       description = "CUI FTP client like 'ftp', 'ncftp'";
+       license = "GPL";
+     }) {};
+
+  "yjsvg" = callPackage
+    ({ mkDerivation, base, HaXml }:
+     mkDerivation {
+       pname = "yjsvg";
+       version = "0.1.18";
+       sha256 = "1k9shfj53vqg1wgm06k2729md0q5y252sypjkx245sn3x0a7ffji";
+       buildDepends = [ base HaXml ];
+       description = "make SVG string from Haskell data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yjtools" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "yjtools";
+       version = "0.9.18";
+       sha256 = "13zbq37p2prbyxq1wply7qqpc2wwsic78wzcgbc430nfrrpiq4lv";
+       buildDepends = [ base ];
+       homepage = "http://homepage3.nifty.com/salamander/second/projects/yjtools/index.xhtml";
+       description = "some tools for Monad, List, Tuple and so on";
+       license = "LGPL";
+     }) {};
+
+  "yocto" = callPackage
+    ({ mkDerivation, base, containers, parsec, QuickCheck
+     , quickcheck-instances
+     }:
+     mkDerivation {
+       pname = "yocto";
+       version = "1.0.1";
+       sha256 = "0i92yraawhn6qkw23wm5vmgwcjgy9pis684jyq8mkawbw0nv3q9a";
+       buildDepends = [ base containers parsec ];
+       testDepends = [
+         base containers parsec QuickCheck quickcheck-instances
+       ];
+       homepage = "https://github.com/ajg/yocto";
+       description = "A Minimal JSON Parser & Printer for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "yoko" = callPackage
+    ({ mkDerivation, base, bifunctors, containers, invariant, kinds
+     , mtl, records, semigroups, template-haskell, th-sccs, type-cereal
+     , type-digits, type-equality, type-functions, type-ord
+     , type-ord-spine-cereal, type-spine
+     }:
+     mkDerivation {
+       pname = "yoko";
+       version = "2.0";
+       sha256 = "07ivcx6xbmjpyj7053fp151k47y7pllwjddxxrwayrlx2qx456z6";
+       buildDepends = [
+         base bifunctors containers invariant kinds mtl records semigroups
+         template-haskell th-sccs type-cereal type-digits type-equality
+         type-functions type-ord type-ord-spine-cereal type-spine
+       ];
+       description = "Generic Programming with Disbanded Data Types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "york-lava" = callPackage
+    ({ mkDerivation, base, containers, haskell98 }:
+     mkDerivation {
+       pname = "york-lava";
+       version = "0.2";
+       sha256 = "1rpkxlfvk84zl965ik5bpplzcskd96wsnicp66ixnfs9bkqfj7qb";
+       buildDepends = [ base containers haskell98 ];
+       homepage = "http://www.cs.york.ac.uk/fp/reduceron/";
+       description = "A library for digital circuit description";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "youtube" = callPackage
+    ({ mkDerivation, base, bytestring, process, utility-ht }:
+     mkDerivation {
+       pname = "youtube";
+       version = "0.2.0.1";
+       sha256 = "0n33778aflcdzdkc6p0qaxdqvmyzdyg0r6rg4q2wh0g74m6pl2m4";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base bytestring process utility-ht ];
+       description = "Upload video to YouTube via YouTube API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "yql" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , containers, cryptohash, data-default, ecma262, exceptions
+     , hslogger, http-conduit, http-types, hxt, lens, opendatatable
+     , parsec, SHA, text, transformers, unordered-containers
+     , uri-template, utf8-string, uuid, vector, zlib
+     }:
+     mkDerivation {
+       pname = "yql";
+       version = "0.0.0";
+       sha256 = "1qwk78adndk2m48inxklqj1rc58wx4jrdim60gwy7ax2d3w92pg6";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         aeson base base64-bytestring bytestring containers cryptohash
+         data-default ecma262 exceptions hslogger http-conduit http-types
+         hxt lens opendatatable parsec SHA text transformers
+         unordered-containers uri-template utf8-string uuid vector zlib
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/fabianbergmark/YQL";
+       description = "A YQL engine to execute Open Data Tables";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yst" = callPackage
+    ({ mkDerivation, aeson, base, containers, csv, directory, filepath
+     , HDBC, HDBC-sqlite3, HStringTemplate, lucid, old-locale, old-time
+     , pandoc, parsec, scientific, split, text, time
+     , unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "yst";
+       version = "0.5.0.2";
+       sha256 = "0spia0dma6ppqyns2g9ywd3pci87xzi1zkg03nxzbh8mxayq7js3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base containers csv directory filepath HDBC HDBC-sqlite3
+         HStringTemplate lucid old-locale old-time pandoc parsec scientific
+         split text time unordered-containers yaml
+       ];
+       homepage = "http://github.com/jgm/yst";
+       description = "Builds a static website from templates and data in YAML or CSV files";
+       license = "GPL";
+     }) {};
+
+  "yuiGrid" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "yuiGrid";
+       version = "0.1";
+       sha256 = "005l0rr9l0l81706drq57nww4h0j4rw8n0ncpnkdb139941gywzq";
+       buildDepends = [ base ];
+       description = "Grids defined by layout hints and implemented on top of Yahoo grids";
+       license = "unknown";
+     }) {};
+
+  "yuuko" = callPackage
+    ({ mkDerivation, base, bytestring, containers, curl, deepseq
+     , directory, filepath, haskell98, mtl, network, parsec
+     }:
+     mkDerivation {
+       pname = "yuuko";
+       version = "2010.11.28";
+       sha256 = "01pf0mg6lgm34src1mfz3qj41vyhmvi50yjyv72zwamd0g7sx374";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers curl deepseq directory filepath
+         haskell98 mtl network parsec
+       ];
+       homepage = "http://github.com/nfjinjing/yuuko";
+       description = "A transcendental HTML parser gently wrapping the HXT library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "z3" = callPackage
+    ({ mkDerivation, base, containers, gomp, mtl, z3 }:
+     mkDerivation {
+       pname = "z3";
+       version = "0.3.2";
+       sha256 = "1qlklpzpjfbqjgzzkyv2j06ps42brria4px2ir2fvwgdjfzxha4n";
+       buildDepends = [ base containers mtl ];
+       extraLibraries = [ gomp z3 ];
+       homepage = "http://bitbucket.org/iago/z3-haskell";
+       description = "Bindings for the Z3 Theorem Prover";
+       license = stdenv.lib.licenses.bsd3;
+     }) { gomp = null;  inherit (pkgs) z3;};
+
+  "zampolit" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, directory, filepath
+     , HSH, MissingH, old-locale, parsec, time
+     }:
+     mkDerivation {
+       pname = "zampolit";
+       version = "0.3";
+       sha256 = "1bhp98bn41lqxdl48xxcb4b4fknva2aigq5gxffcha535igdmdy3";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base cmdargs containers directory filepath HSH MissingH old-locale
+         parsec time
+       ];
+       homepage = "https://github.com/briansniffen/zampolit";
+       description = "A tool for checking how much work is done on group projects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zasni-gerna" = callPackage
+    ({ mkDerivation, base, papillon }:
+     mkDerivation {
+       pname = "zasni-gerna";
+       version = "0.0.7";
+       sha256 = "1zl2kcd0hr021xl6pjvvxwxvmpb02cq04ck39qkwil56vannnksw";
+       buildDepends = [ base papillon ];
+       homepage = "https://skami.iocikun.jp/haskell/packages/zasni-gerna";
+       description = "lojban parser (zasni gerna)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zcache" = callPackage
+    ({ mkDerivation, array, base, containers, mersenne-random-pure64 }:
+     mkDerivation {
+       pname = "zcache";
+       version = "0.0.0";
+       sha256 = "10j0fwf58ig0j44f7p57zr8by6i9j1agnjzk6cs65iimm79m9avb";
+       buildDepends = [ array base containers mersenne-random-pure64 ];
+       homepage = "https://patch-tag.com/r/salazar/zcache/";
+       description = "Zobrist keys for game state tracking";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zenc" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "zenc";
+       version = "0.1.1";
+       sha256 = "0p0h7vz14k9v8gsnpkb9ca61i1k67vvsjg0bzy0ag4m20k94zlb2";
+       buildDepends = [ base ];
+       description = "GHC style name Z-encoding and Z-decoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zendesk-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive, conduit
+     , connection, data-default, failure, http-client, http-client-tls
+     , http-conduit, http-types, monad-logger, mtl, pem
+     , template-haskell, text, time, tls, transformers
+     , unordered-containers, x509, x509-store, x509-validation
+     }:
+     mkDerivation {
+       pname = "zendesk-api";
+       version = "0.1.0.0";
+       sha256 = "1x6801i5rw6a0nfdihi04bmka8qww9c77r7ygbhp3zx1hqdpdmmc";
+       buildDepends = [
+         aeson base bytestring case-insensitive conduit connection
+         data-default failure http-client http-client-tls http-conduit
+         http-types monad-logger mtl pem template-haskell text time tls
+         transformers unordered-containers x509 x509-store x509-validation
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/VictorDenisov/zendesk-api";
+       description = "Zendesk API for Haskell programming language";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zeno" = callPackage
+    ({ mkDerivation, array, base, containers, directory, ghc, ghc-paths
+     , mtl, parallel, process, random, text, transformers
+     }:
+     mkDerivation {
+       pname = "zeno";
+       version = "0.2.0.1";
+       sha256 = "03jwhgi9n9iv7zpn8nwkdyvsybsksnhsji8k2ma9rzayk36aba6v";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers directory ghc ghc-paths mtl parallel process
+         random text transformers
+       ];
+       description = "An automated proof system for Haskell programs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zeromq-haskell" = callPackage
+    ({ mkDerivation, base, bytestring, containers, QuickCheck
+     , test-framework, test-framework-quickcheck2, zeromq
+     }:
+     mkDerivation {
+       pname = "zeromq-haskell";
+       version = "0.8.4";
+       sha256 = "0lvjszi08r5wm5ch03153y7lir6cdgqr2gnhq45j4b0kid6gkpv3";
+       buildDepends = [ base bytestring containers ];
+       testDepends = [
+         base bytestring containers QuickCheck test-framework
+         test-framework-quickcheck2
+       ];
+       extraLibraries = [ zeromq ];
+       homepage = "http://github.com/twittner/zeromq-haskell/";
+       description = "Bindings to ZeroMQ 2.1.x";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) zeromq;};
+
+  "zeromq3-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, lifted-base
+     , monad-control, mtl, resourcet, transformers, zeromq3-haskell
+     }:
+     mkDerivation {
+       pname = "zeromq3-conduit";
+       version = "0.1.0.0";
+       sha256 = "1n6xl5izdkbl2mb4msryrcasg08prjbgzwilz4b7yi1g79y1yf77";
+       buildDepends = [
+         base bytestring conduit lifted-base monad-control mtl resourcet
+         transformers zeromq3-haskell
+       ];
+       homepage = "https://github.com/NicolasT/zeromq3-conduit";
+       description = "Conduit bindings for zeromq3-haskell";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zeromq3-haskell" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, checkers
+     , containers, MonadCatchIO-transformers, QuickCheck, semigroups
+     , transformers, zeromq
+     }:
+     mkDerivation {
+       pname = "zeromq3-haskell";
+       version = "0.5.2";
+       sha256 = "1ky92qwyk27qsxnvaj0mc9yyhk7g19ry2nq55666ayahc899z213";
+       buildDepends = [
+         async base bytestring containers MonadCatchIO-transformers
+         semigroups transformers
+       ];
+       testDepends = [
+         ansi-terminal async base bytestring checkers containers
+         MonadCatchIO-transformers QuickCheck transformers
+       ];
+       pkgconfigDepends = [ zeromq ];
+       homepage = "http://github.com/twittner/zeromq-haskell/";
+       description = "Bindings to ZeroMQ 3.x";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) { inherit (pkgs) zeromq;};
+
+  "zeromq4-haskell" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, exceptions
+     , QuickCheck, semigroups, tasty, tasty-hunit, tasty-quickcheck
+     , transformers, zeromq
+     }:
+     mkDerivation {
+       pname = "zeromq4-haskell";
+       version = "0.6.3";
+       sha256 = "0yrwqxm208n9k76i9aby5hiv55kd1p27pq6hyry5ngw95fh95p67";
+       buildDepends = [
+         async base bytestring containers exceptions semigroups transformers
+       ];
+       testDepends = [
+         async base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       pkgconfigDepends = [ zeromq ];
+       homepage = "http://github.com/twittner/zeromq-haskell/";
+       description = "Bindings to ZeroMQ 4.x";
+       license = stdenv.lib.licenses.mit;
+     }) { inherit (pkgs) zeromq;};
+
+  "zeroth" = callPackage
+    ({ mkDerivation, base, Cabal, derive, directory, filepath
+     , haskell-src-exts, hskeleton, monoid-record, process, syb
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "zeroth";
+       version = "2009.6.23.3";
+       sha256 = "10ilsxlha4l7c4z3jl6lykcjns6igyk2qma2a03yzpvgz7ijy4c0";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base Cabal derive directory filepath haskell-src-exts hskeleton
+         monoid-record process syb template-haskell
+       ];
+       jailbreak = true;
+       description = "ZeroTH - remove unnecessary TH dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zigbee-znet25" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, MissingH, mtl
+     , QuickCheck, random, transformers
+     }:
+     mkDerivation {
+       pname = "zigbee-znet25";
+       version = "0.1.1.0";
+       sha256 = "0kv52f7zhgd2x44a2dg89jrsxiis73m8884f4zmxdbznhq1prqf5";
+       buildDepends = [
+         base bytestring cereal MissingH mtl transformers
+       ];
+       testDepends = [ base bytestring mtl QuickCheck random ];
+       homepage = "https://github.com/djoyner/zigbee-znet25";
+       description = "XBee ZNet 2.5 (ZigBee) wireless modem communications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zip-archive" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , digest, directory, filepath, HUnit, mtl, old-time, pretty
+     , process, text, time, unix, zip, zlib
+     }:
+     mkDerivation {
+       pname = "zip-archive";
+       version = "0.2.3.7";
+       sha256 = "169nkxr5zlbymiz1ydlhlqr66vqiycmg85xh559phpkr64w3nqj1";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         array base binary bytestring containers digest directory filepath
+         mtl old-time pretty text time unix zlib
+       ];
+       testDepends = [
+         base bytestring directory HUnit old-time process time
+       ];
+       buildTools = [ zip ];
+       homepage = "http://github.com/jgm/zip-archive";
+       description = "Library for creating and modifying zip archives";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) zip;};
+
+  "zip-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra
+     , digest, directory, filepath, hpc, HUnit, mtl, old-time, resourcet
+     , temporary, test-framework, test-framework-hunit, time
+     , transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "zip-conduit";
+       version = "0.2.2.2";
+       sha256 = "0spb6b1mwcqwzrr231i5s6hcln9jck0z03jdfh1zlm87mvp8670v";
+       buildDepends = [
+         base bytestring cereal conduit conduit-extra digest directory
+         filepath mtl old-time resourcet time transformers utf8-string
+       ];
+       testDepends = [
+         base bytestring conduit directory filepath hpc HUnit mtl resourcet
+         temporary test-framework test-framework-hunit time
+       ];
+       homepage = "https://github.com/tymmym/zip-conduit";
+       description = "Working with zip archives via conduits";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zipedit" = callPackage
+    ({ mkDerivation, base, directory, mtl, process }:
+     mkDerivation {
+       pname = "zipedit";
+       version = "0.2.3";
+       sha256 = "17msh3gwylmsiabyz5x05ir2xh8h904kbp5isnvbf0z4kzfv33cr";
+       buildDepends = [ base directory mtl process ];
+       homepage = "http://code.haskell.org/~byorgey/code/zipedit";
+       description = "Create simple list editor interfaces";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zipper" = callPackage
+    ({ mkDerivation, base, multirec }:
+     mkDerivation {
+       pname = "zipper";
+       version = "0.4.2";
+       sha256 = "1r8092amq5w9gl5szycl1r7wx87xnmkcapdzcwfa4c3pvxrhjy44";
+       buildDepends = [ base multirec ];
+       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
+       description = "Generic zipper for families of recursive datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zippers" = callPackage
+    ({ mkDerivation, base, directory, doctest, filepath, lens
+     , profunctors, semigroupoids
+     }:
+     mkDerivation {
+       pname = "zippers";
+       version = "0.2";
+       sha256 = "1rlf01dc6dcy9sx89npsisdz1yg9v4h2byd6ms602bxnmjllm1ls";
+       buildDepends = [ base lens profunctors semigroupoids ];
+       testDepends = [ base directory doctest filepath ];
+       homepage = "http://github.com/ekmett/zippers/";
+       description = "Traversal based zippers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zippo" = callPackage
+    ({ mkDerivation, base, mtl, yall }:
+     mkDerivation {
+       pname = "zippo";
+       version = "0.3";
+       sha256 = "1ihdird5yryfb2ki9bwwchj8bxjcmmgjkp3hl605zzhi2lz3awx2";
+       buildDepends = [ base mtl yall ];
+       homepage = "http://brandon.si/code/zippo/";
+       description = "A simple lens-based, generic, heterogenous, type-checked zipper library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zlib" = callPackage
+    ({ mkDerivation, base, bytestring, zlib }:
+     mkDerivation {
+       pname = "zlib";
+       version = "0.5.4.2";
+       sha256 = "15hhsk7z3gvm7sz2ic2z1ca5c6rpsln2rr391mdbm1bxlzc1gmkm";
+       buildDepends = [ base bytestring ];
+       extraLibraries = [ zlib ];
+       description = "Compression and decompression in the gzip and zlib formats";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) zlib;};
+
+  "zlib-bindings" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, QuickCheck, zlib }:
+     mkDerivation {
+       pname = "zlib-bindings";
+       version = "0.1.1.5";
+       sha256 = "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8";
+       buildDepends = [ base bytestring zlib ];
+       testDepends = [ base bytestring hspec QuickCheck zlib ];
+       homepage = "http://github.com/snoyberg/zlib-bindings";
+       description = "Low-level bindings to the zlib package. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zlib-conduit" = callPackage
+    ({ mkDerivation, base, conduit }:
+     mkDerivation {
+       pname = "zlib-conduit";
+       version = "1.1.0";
+       sha256 = "1b22mca8bbg7f84h8y0qsb5ckzg2dw1b26y27x7b7xdxqbwpz93a";
+       buildDepends = [ base conduit ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Streaming compression/decompression via conduits. (deprecated)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zlib-enum" = callPackage
+    ({ mkDerivation, base, bytestring, enumerator, transformers
+     , zlib-bindings
+     }:
+     mkDerivation {
+       pname = "zlib-enum";
+       version = "0.2.3.1";
+       sha256 = "1nfczminxafzk69ry1sqkj1ha0jlv3l9ak10yk205snfhpmcjgg4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring enumerator transformers zlib-bindings
+       ];
+       homepage = "http://github.com/maltem/zlib-enum";
+       description = "Enumerator interface for zlib compression";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "zlib-lens" = callPackage
+    ({ mkDerivation, base, bytestring, profunctors, zlib }:
+     mkDerivation {
+       pname = "zlib-lens";
+       version = "0.1.1.2";
+       sha256 = "13zfh0639881nfxibl501f1b3ci9pjvhvdid2l5sf2na8kmpzr61";
+       buildDepends = [ base bytestring profunctors zlib ];
+       homepage = "http://lens.github.io/";
+       description = "Lenses for zlib";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zmcat" = callPackage
+    ({ mkDerivation, base, bytestring, zeromq3-haskell }:
+     mkDerivation {
+       pname = "zmcat";
+       version = "0.3";
+       sha256 = "0lg5fn89wj5blbp2gh760ibxb2zz9f11jnwicfsmsayra51micip";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring zeromq3-haskell ];
+       homepage = "https://github.com/lucasdicioccio/zmcat";
+       description = "Command-line tool for ZeroMQ";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zmidi-core" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers }:
+     mkDerivation {
+       pname = "zmidi-core";
+       version = "0.7.0";
+       sha256 = "0v8zcybr46rcdpvsji0dzr78skj79jp8l9sd49z6c7s5sddzjm9l";
+       buildDepends = [ base binary bytestring containers ];
+       homepage = "http://code.google.com/p/copperbox/";
+       description = "Read and write MIDI files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zmidi-score" = callPackage
+    ({ mkDerivation, aeson, base, binary, containers, data-ordlist
+     , deepseq, deepseq-generics, directory, filepath, mtl, parallel-io
+     , text, zmidi-core
+     }:
+     mkDerivation {
+       pname = "zmidi-score";
+       version = "0.3.0.0";
+       sha256 = "0zhh6bdpbng69sajxdvj2mnd385gc8yyli3jzyjfxp0wr0hv3biv";
+       buildDepends = [
+         aeson base binary containers data-ordlist deepseq deepseq-generics
+         directory filepath mtl parallel-io text zmidi-core
+       ];
+       jailbreak = true;
+       homepage = "https://bitbucket.org/bash/zmidi-score";
+       description = "Representing MIDI a simple score";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "zmqat" = callPackage
+    ({ mkDerivation, base, classy-prelude, optparse-applicative
+     , semigroups, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "zmqat";
+       version = "0.2.0.0";
+       sha256 = "1k10wflfsivq792jvl3bhb8nkpx6m3z8qzarz6q8aw5hs2wslvrv";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base classy-prelude optparse-applicative semigroups zeromq4-haskell
+       ];
+       description = "A socat-like tool for zeromq library";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zoneinfo" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "zoneinfo";
+       version = "0.5";
+       sha256 = "1n27j8ca79a1ijn7k7dp61kjz62i6zfzlns8n0kwgyvpx413ws8y";
+       buildDepends = [ base time ];
+       jailbreak = true;
+       description = "ZoneInfo library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zoom" = callPackage
+    ({ mkDerivation, base, directory, filepath, ghc, hamlet, hint, mtl
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "zoom";
+       version = "0.1.0.1";
+       sha256 = "0zsr3k4c6da1l5cw3laj2snfszm4g0bz76hj2bjj61yrwmc99vnl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base directory filepath ghc hamlet hint mtl template-haskell text
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/iand675/Zoom";
+       description = "A rake/thor-like task runner written in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zoom-cache" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , data-default, iteratee, iteratee-compress, ListLike
+     , MonadCatchIO-transformers, mtl, old-locale, QuickCheck, random
+     , test-framework, test-framework-quickcheck2, time, transformers
+     , type-level, ui-command, unix, zlib
+     }:
+     mkDerivation {
+       pname = "zoom-cache";
+       version = "1.2.1.6";
+       sha256 = "0761xpfmmm309r6r44ax7x2zs49dskygl2c09x2kpxpfr7rr3k5f";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base blaze-builder bytestring containers data-default iteratee
+         iteratee-compress ListLike MonadCatchIO-transformers mtl old-locale
+         QuickCheck time transformers type-level ui-command unix zlib
+       ];
+       testDepends = [
+         base blaze-builder iteratee QuickCheck random test-framework
+         test-framework-quickcheck2 transformers type-level unix
+       ];
+       jailbreak = true;
+       description = "A streamable, seekable, zoomable cache file format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zoom-cache-pcm" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , iteratee, ListLike, mtl, type-level, zoom-cache
+     }:
+     mkDerivation {
+       pname = "zoom-cache-pcm";
+       version = "0.3.0.1";
+       sha256 = "0r676wb4q7wmin3liqh525w43pgdf0gmcfx2ccpbvc4ahain9vyq";
+       buildDepends = [
+         base blaze-builder bytestring containers iteratee ListLike mtl
+         type-level zoom-cache
+       ];
+       jailbreak = true;
+       description = "Library for zoom-cache PCM audio codecs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zoom-cache-sndfile" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , hsndfile, hsndfile-vector, mtl, ui-command, vector, zoom-cache
+     , zoom-cache-pcm
+     }:
+     mkDerivation {
+       pname = "zoom-cache-sndfile";
+       version = "1.1.0.1";
+       sha256 = "0722wy6rqbx4gajn3sp946scganr2arhinxrqyq5fvvsbdxacwhz";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring containers data-default hsndfile hsndfile-vector
+         mtl ui-command vector zoom-cache zoom-cache-pcm
+       ];
+       jailbreak = true;
+       description = "Tools for generating zoom-cache-pcm files";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "zot" = callPackage
+    ({ mkDerivation, base, monads-tf }:
+     mkDerivation {
+       pname = "zot";
+       version = "0.0.2";
+       revision = "1";
+       sha256 = "12wgkrlvhby0gy6kngjwyx468yarpgkiwy51v6zb8jhx79mhidq3";
+       editedCabalFile = "325ccedb3426935b4a56f838f3d05fc914b72729a2b80d6c804bec5657593a40";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base monads-tf ];
+       description = "Zot language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "zsh-battery" = callPackage
+    ({ mkDerivation, base, directory, filepath, mtl }:
+     mkDerivation {
+       pname = "zsh-battery";
+       version = "0.2";
+       sha256 = "04d812dcvkbjg2y0q4q855r6g9nr2k54k2jhnbksbpnxkz0cmaxr";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [ base directory filepath mtl ];
+       homepage = "https://github.com/MasseR/zsh-battery";
+       description = "Ascii bars representing battery status";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ztail" = callPackage
+    ({ mkDerivation, array, base, containers, filepath, hinotify
+     , old-locale, process, regex-compat, time, unix
+     }:
+     mkDerivation {
+       pname = "ztail";
+       version = "1.1";
+       sha256 = "11x6whwyfgdgda5bhdck0k12inzix8cjfm42hh09p703nalk07nq";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         array base containers filepath hinotify old-locale process
+         regex-compat time unix
+       ];
+       description = "Multi-file, colored, filtered log tailer";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+}
diff --git a/pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch b/pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch
new file mode 100644
index 00000000000..c3df98043b3
--- /dev/null
+++ b/pkgs/development/haskell-modules/haskell-src-meta-ghc710.patch
@@ -0,0 +1,55 @@
+From 24e6f45408083745080ff2f3710f58209041113c Mon Sep 17 00:00:00 2001
+From: Luite Stegeman <stegeman@gmail.com>
+Date: Sun, 28 Dec 2014 21:33:22 +0100
+Subject: [PATCH] updates for GHC 7.10 and Template Haskell 2.10
+
+---
+ haskell-src-meta.cabal                        | 4 ++--
+ src/Language/Haskell/Meta/Syntax/Translate.hs | 6 ++++++
+ src/Language/Haskell/Meta/Utils.hs            | 5 ++++-
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/src/Language/Haskell/Meta/Syntax/Translate.hs b/src/Language/Haskell/Meta/Syntax/Translate.hs
+index 189d32e..36a08f1 100644
+--- a/src/Language/Haskell/Meta/Syntax/Translate.hs
++++ b/src/Language/Haskell/Meta/Syntax/Translate.hs
+@@ -384,9 +384,15 @@ a .->. b = AppT (AppT ArrowT a) b
+ toCxt :: Hs.Context -> Cxt
+ toCxt = fmap toPred
+  where
++#if MIN_VERSION_template_haskell(2,10,0)
++  toPred (Hs.ClassA n ts) = foldl' AppT (ConT (toName n)) (fmap toType ts)
++  toPred (Hs.InfixA t1 n t2) = foldl' AppT (ConT (toName n)) (fmap toType [t1,t2])
++  toPred (Hs.EqualP t1 t2) = foldl' AppT EqualityT (fmap toType [t1,t2])
++#else
+   toPred (Hs.ClassA n ts) = ClassP (toName n) (fmap toType ts)
+   toPred (Hs.InfixA t1 n t2) = ClassP (toName n) (fmap toType [t1, t2])
+   toPred (Hs.EqualP t1 t2) = EqualP (toType t1) (toType t2)
++#endif
+   toPred a@Hs.IParam{} = noTH "toCxt" a
+ 
+ foldAppT :: Type -> [Type] -> Type
+diff --git a/src/Language/Haskell/Meta/Utils.hs b/src/Language/Haskell/Meta/Utils.hs
+index 36f7e96..d194f3e 100644
+--- a/src/Language/Haskell/Meta/Utils.hs
++++ b/src/Language/Haskell/Meta/Utils.hs
+@@ -166,6 +166,9 @@ renameT env new (ForallT ns cxt t) =
+     unVarT (VarT n) = PlainTV n
+     renamePreds = renameThings renamePred
+ 
++#if MIN_VERSION_template_haskell(2,10,0)
++    renamePred = renameT
++#else
+     renamePred env new (ClassP n ts) = let
+         (ts', env', new') = renameTs env new [] ts
+       in (ClassP (normaliseName n) ts', env', new')
+@@ -174,7 +177,7 @@ renameT env new (ForallT ns cxt t) =
+         (t1', env1, new1) = renameT env new t1
+         (t2', env2, new2) = renameT env1 new1 t2
+       in (EqualP t1' t2', env2, new2)
+-
++#endif
+ 
+ -- | Remove qualification, etc.
+ normaliseName :: Name -> Name
+
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
new file mode 100644
index 00000000000..8f932c87023
--- /dev/null
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -0,0 +1,61 @@
+{ pkgs }:
+
+rec {
+
+  overrideCabal = drv: f: (drv.override (args: args // {
+    mkDerivation = drv: args.mkDerivation (drv // f drv);
+  })) // {
+    overrideScope = scope: overrideCabal (drv.overrideScope scope) f;
+  };
+
+  doHaddock = drv: overrideCabal drv (drv: { doHaddock = true; });
+  dontHaddock = drv: overrideCabal drv (drv: { doHaddock = false; });
+
+  doJailbreak = drv: overrideCabal drv (drv: { jailbreak = true; });
+  dontJailbreak = drv: overrideCabal drv (drv: { jailbreak = false; });
+
+  doCheck = drv: overrideCabal drv (drv: { doCheck = true; });
+  dontCheck = drv: overrideCabal drv (drv: { doCheck = false; });
+
+  dontDistribute = drv: overrideCabal drv (drv: { hydraPlatforms = []; });
+
+  appendConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = (drv.configureFlags or []) ++ [x]; });
+  removeConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = pkgs.stdenv.lib.remove x (drv.configureFlags or []); });
+
+  addBuildTool = drv: x: addBuildTools drv [x];
+  addBuildTools = drv: xs: overrideCabal drv (drv: { buildTools = (drv.buildTools or []) ++ xs; });
+
+  addExtraLibrary = drv: x: addExtraLibraries drv [x];
+  addExtraLibraries = drv: xs: overrideCabal drv (drv: { extraLibraries = (drv.extraLibraries or []) ++ xs; });
+
+  addBuildDepend = drv: x: addBuildDepends drv [x];
+  addBuildDepends = drv: xs: overrideCabal drv (drv: { buildDepends = (drv.buildDepends or []) ++ xs; });
+
+  enableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f-${x}") "-f${x}";
+  disableCabalFlag = drv: x: appendConfigureFlag (removeConfigureFlag drv "-f${x}") "-f-${x}";
+
+  markBroken = drv: overrideCabal drv (drv: { broken = true; });
+  markBrokenVersion = version: drv: assert drv.version == version; markBroken drv;
+
+  enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; });
+  disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; });
+
+  enableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = true; });
+  disableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = false; });
+
+  enableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = true; });
+  disableSharedLibraries = drv: overrideCabal drv (drv: { enableSharedLibraries = false; });
+
+  enableSplitObjs = drv: overrideCabal drv (drv: { enableSplitObjs = true; });
+  disableSplitObjs = drv: overrideCabal drv (drv: { enableSplitObjs = false; });
+
+  enableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = true; });
+  disableStaticLibraries = drv: overrideCabal drv (drv: { enableStaticLibraries = false; });
+
+  appendPatch = drv: x: appendPatches drv [x];
+  appendPatches = drv: xs: overrideCabal drv (drv: { patches = (drv.patches or []) ++ xs; });
+
+  doHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = true; });
+  dontHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = false; });
+
+}
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
new file mode 100644
index 00000000000..30035671a32
--- /dev/null
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -0,0 +1,96 @@
+{ stdenv, lib, ghc, llvmPackages, packages, buildEnv
+, makeWrapper
+, ignoreCollisions ? false, withLLVM ? false }:
+
+# This wrapper works only with GHC 6.12 or later.
+assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs;
+
+# It's probably a good idea to include the library "ghc-paths" in the
+# compiler environment, because we have a specially patched version of
+# that package in Nix that honors these environment variables
+#
+#   NIX_GHC
+#   NIX_GHCPKG
+#   NIX_GHC_DOCDIR
+#   NIX_GHC_LIBDIR
+#
+# instead of hard-coding the paths. The wrapper sets these variables
+# appropriately to configure ghc-paths to point back to the wrapper
+# instead of to the pristine GHC package, which doesn't know any of the
+# additional libraries.
+#
+# A good way to import the environment set by the wrapper below into
+# your shell is to add the following snippet to your ~/.bashrc:
+#
+#   if [ -e ~/.nix-profile/bin/ghc ]; then
+#     eval $(grep export ~/.nix-profile/bin/ghc)
+#   fi
+
+let
+  isGhcjs       = ghc.isGhcjs or false;
+  ghc761OrLater = isGhcjs || lib.versionOlder "7.6.1" ghc.version;
+  packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
+  ghcCommand    = if isGhcjs then "ghcjs" else "ghc";
+  libDir        = "$out/lib/${ghcCommand}-${ghc.version}";
+  docDir        = "$out/share/doc/ghc/html";
+  packageCfgDir = "${libDir}/package.conf.d";
+  paths         = lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages);
+  hasLibraries  = lib.any (x: x.isHaskellLibrary) paths;
+  # CLang is needed on Darwin for -fllvm to work:
+  # https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/code-generators.html
+  llvm          = lib.makeSearchPath "bin"
+                  ([ llvmPackages.llvm ]
+                   ++ lib.optional stdenv.isDarwin llvmPackages.clang);
+in
+if paths == [] && !withLLVM then ghc else
+buildEnv {
+  inherit (ghc) name;
+  paths = paths ++ [ghc];
+  inherit ignoreCollisions;
+  postBuild = ''
+    . ${makeWrapper}/nix-support/setup-hook
+
+    ${lib.optionalString isGhcjs ''
+    cp -r "${ghc}/${ghc.libDir}/"* ${libDir}/
+    ''}
+
+    if test -L "$out/bin"; then
+      binTarget="$(readlink -f "$out/bin")"
+      rm "$out/bin"
+      cp -r "$binTarget" "$out/bin"
+      chmod u+w "$out/bin"
+    fi
+
+    for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version}; do
+      rm -f $out/bin/$prg
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg             \
+        --add-flags '"-B$NIX_GHC_LIBDIR"'                   \
+        --set "NIX_GHC"        "$out/bin/${ghcCommand}"     \
+        --set "NIX_GHCPKG"     "$out/bin/${ghcCommand}-pkg" \
+        --set "NIX_GHC_DOCDIR" "${docDir}"                  \
+        --set "NIX_GHC_LIBDIR" "${libDir}"                  \
+        ${lib.optionalString withLLVM ''--prefix "PATH" ":" "${llvm}"''}
+    done
+
+    for prg in runghc runhaskell; do
+      rm -f $out/bin/$prg
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg             \
+        --add-flags "-f $out/bin/ghc"                       \
+        --set "NIX_GHC"        "$out/bin/${ghcCommand}"     \
+        --set "NIX_GHCPKG"     "$out/bin/${ghcCommand}-pkg" \
+        --set "NIX_GHC_DOCDIR" "${docDir}"                  \
+        --set "NIX_GHC_LIBDIR" "${libDir}"
+    done
+
+    for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do
+      rm -f $out/bin/$prg
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
+    done
+
+    ${lib.optionalString hasLibraries "$out/bin/${ghcCommand}-pkg recache"}
+    $out/bin/${ghcCommand}-pkg check
+  '';
+} // {
+  preferLocalBuild = true;
+  inherit (ghc) version meta;
+}
diff --git a/pkgs/development/haskell-modules/wxc-no-ldconfig.patch b/pkgs/development/haskell-modules/wxc-no-ldconfig.patch
new file mode 100644
index 00000000000..72a8648cab6
--- /dev/null
+++ b/pkgs/development/haskell-modules/wxc-no-ldconfig.patch
@@ -0,0 +1,10 @@
+Only in wxc-0.91.0.0: dist
+diff -ubr wxc-0.91.0.0-orig/Setup.hs wxc-0.91.0.0/Setup.hs
+--- wxc-0.91.0.0-orig/Setup.hs	2014-10-31 13:30:15.514809137 +0100
++++ wxc-0.91.0.0/Setup.hs	2014-10-31 13:33:53.606372005 +0100
+@@ -507,5 +507,3 @@
+         inst_lib_dir = libdir $ absoluteInstallDirs pkg_descr local_bld_info NoCopyDest

+ 

+     installOrdinaryFile (verbosity flags) (bld_dir </> lib_name) (inst_lib_dir </> lib_name)

+-    ldconfig inst_lib_dir

+-

diff --git a/pkgs/development/haskell-modules/xmonad-nix.patch b/pkgs/development/haskell-modules/xmonad-nix.patch
new file mode 100644
index 00000000000..810d8435a34
--- /dev/null
+++ b/pkgs/development/haskell-modules/xmonad-nix.patch
@@ -0,0 +1,44 @@
+--- xmonad-0.11/XMonad/Core.hs	2013-01-01 01:31:47.000000000 +0000
++++ new-xmonad/XMonad/Core.hs	2013-12-23 17:36:40.862146910 +0000
+@@ -47,6 +47,7 @@
+ import System.Process
+ import System.Directory
+ import System.Exit
++import System.Environment (lookupEnv)
+ import Graphics.X11.Xlib
+ import Graphics.X11.Xlib.Extras (Event)
+ import Data.Typeable
+@@ -452,6 +453,7 @@
+         err  = base ++ ".errors"
+         src  = base ++ ".hs"
+         lib  = dir </> "lib"
++    ghc <- fromMaybe "ghc" <$> liftIO (lookupEnv "NIX_GHC")
+     libTs <- mapM getModTime . Prelude.filter isSource =<< allFiles lib
+     srcT <- getModTime src
+     binT <- getModTime bin
+@@ -460,7 +462,7 @@
+         -- temporarily disable SIGCHLD ignoring:
+         uninstallSignalHandlers
+         status <- bracket (openFile err WriteMode) hClose $ \h ->
+-            waitForProcess =<< runProcess "ghc" ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-v0", "-o",binn] (Just dir)
++            waitForProcess =<< runProcess ghc ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-v0", "-o",binn] (Just dir)
+                                     Nothing Nothing Nothing (Just h)
+ 
+         -- re-enable SIGCHLD:
+@@ -469,6 +471,7 @@
+         -- now, if it fails, run xmessage to let the user know:
+         when (status /= ExitSuccess) $ do
+             ghcErr <- readFile err
++            xmessage <- fromMaybe "xmessage" <$> liftIO (lookupEnv "XMONAD_XMESSAGE")
+             let msg = unlines $
+                     ["Error detected while loading xmonad configuration file: " ++ src]
+                     ++ lines (if null ghcErr then show status else ghcErr)
+@@ -476,7 +479,7 @@
+             -- nb, the ordering of printing, then forking, is crucial due to
+             -- lazy evaluation
+             hPutStrLn stderr msg
+-            forkProcess $ executeFile "xmessage" True ["-default", "okay", msg] Nothing
++            forkProcess $ executeFile xmessage True ["-default", "okay", msg] Nothing
+             return ()
+         return (status == ExitSuccess)
+       else return True
diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix
index 6d074ac9f27..e723133e256 100644
--- a/pkgs/development/interpreters/acl2/default.nix
+++ b/pkgs/development/interpreters/acl2/default.nix
@@ -2,7 +2,7 @@ a :
 let 
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "v3-5" a; 
+  version = a.lib.attrByPath ["version"] "v6-5" a; 
   buildInputs = with a; [
     sbcl
   ];
@@ -10,7 +10,7 @@ in
 rec {
   src = fetchurl {
     url = "http://www.cs.utexas.edu/users/moore/acl2/${version}/distrib/acl2.tar.gz";
-    sha256 = "0zmh1njpp7n7azcyjlygr0h0k51d18s1jkj0dr1jn2bh7mpysajk";
+    sha256 = "19kfclgpdyms016s06pjf3icj3mx9jlcj8vfgpbx2ac4ls0ir36g";
     name = "acl2-${version}.tar.gz";
   };
 
@@ -26,8 +26,8 @@ rec {
   doDeploy = (a.simplyShare installSuffix);
   doBuild = a.fullDepEntry (''
     cd $out/share/${installSuffix}
-    make LISP=${a.sbcl}/bin/sbcl
-    make LISP=${a.sbcl}/bin/sbcl regression
+    make LISP='${a.sbcl}/bin/sbcl --dynamic-space-size 2000'
+    make LISP='${a.sbcl}/bin/sbcl --dynamic-space-size 2000' regression
     mkdir -p "$out/bin"
     cp saved_acl2 "$out/bin/acl2"
   '') ["doDeploy" "addInputs" "defEnsureDir"];
diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix
index 1167f121e62..4691b8be564 100644
--- a/pkgs/development/interpreters/angelscript/default.nix
+++ b/pkgs/development/interpreters/angelscript/default.nix
@@ -1,63 +1,38 @@
-x@{builderDefsPackage
-  , unzip
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
+{stdenv, fetchurl, unzip}:
+let
+  s = # Generated upstream information
+  rec {
     baseName="angelscript";
-    version = "2.29.1";
+    version = "2.30.0";
     name="${baseName}-${version}";
     url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
-    sha256 = "081a0wnn1hl0hjgrg0nz63ff7k7dgrwsgszka5i7623ny407fkl5";
+    sha256 = "00w7h2g6g1lkq9ahsvzyk78nbdzhn1adsrns9mrqb2fbxv2wbz5d";
   };
+  buildInputs = [
+    unzip
+  ];
 in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.sha256;
-  };
-
-  inherit (sourceInfo) name version;
+stdenv.mkDerivation {
+  inherit (s) name version;
   inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["prepareBuild" "doMake" "cleanLib" "doMakeInstall" "installDocs"];
-
-  prepareBuild = a.fullDepEntry ''
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  preConfigure = ''
     cd angelscript/projects/gnuc
-    sed -i makefile -e "s@LOCAL [?]= .*@LOCAL = $out@"
-    mkdir -p "$out/lib" "$out/bin" "$out/share" "$out/include"
-    export SHARED=1 
-    export VERSION="${version}"
-  '' ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-
-  cleanLib = a.fullDepEntry ''
-    rm ../../lib/*
-  '' ["minInit"];
-
-  installDocs = a.fullDepEntry ''
-    mkdir -p "$out/share/angelscript"
-    cp -r ../../../docs  "$out/share/angelscript"
-  '' ["defEnsureDir" "prepareBuild"];
-      
+    export makeFlags="$makeFlags PREFIX=$out"
+  '';
+  postInstall = ''
+    mkdir -p "$out/share/docs/angelscript"
+    cp -r ../../../docs/* "$out/share/docs/angelscript"
+  '';
   meta = {
+    inherit (s) version;
     description = "Light-weight scripting library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.zlib;
-    homepage="http://www.angelcode.com/angelscript/";
+    license = stdenv.lib.licenses.zlib ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
     downloadPage = "http://www.angelcode.com/angelscript/downloads.html";
-    inherit version;
+    homepage="http://www.angelcode.com/angelscript/";
   };
-}) x
-
+}
diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix
new file mode 100644
index 00000000000..b4a0b77e705
--- /dev/null
+++ b/pkgs/development/interpreters/chibi/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, makeWrapper }:
+let
+  version = "0.7";
+  name = "chibi-scheme-${version}";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  meta = {
+    homepage = "https://code.google.com/p/chibi-scheme/";
+    description = "Small Footprint Scheme for use as a C Extension Language";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.DerGuteMoritz ];
+  };
+
+  src = fetchurl {
+    url = "http://abrek.synthcode.com/${name}.tgz";
+    sha256 = "1hhkq0khgi8i24xv66y7r6pgk1issn1i2bf7rv91rbk0wm0kv7qm";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    make install PREFIX="$out"
+  '';
+
+  fixupPhase = ''
+    wrapProgram "$out/bin/chibi-scheme" \
+      --prefix CHIBI_MODULE_PATH : "$out/share/chibi:$out/lib/chibi"
+
+    for f in chibi-doc chibi-ffi snow-chibi; do
+      substituteInPlace "$out/bin/$f" \
+        --replace "/usr/bin/env chibi-scheme" "$out/bin/chibi-scheme"
+    done
+  '';
+}
diff --git a/pkgs/development/interpreters/clisp/2.33.2.nix b/pkgs/development/interpreters/clisp/2.33.2.nix
new file mode 100644
index 00000000000..18b325684ca
--- /dev/null
+++ b/pkgs/development/interpreters/clisp/2.33.2.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
+, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
+, libffi, libffcall, coreutils, automake, autoconf, linuxHeaders
+, groff
+}:
+        
+stdenv.mkDerivation rec {
+  version = "2.33.2";
+  name = "clisp-${version}";
+  
+  src = fetchurl {
+    url = "mirror://gnu/clisp/release/${version}/${name}.tar.gz";
+    sha256 = "0rqyggviixaa68n5ll092ll4a2xy4y7jraq65l0gn0hkjhjnm5zh";
+  };
+
+  buildInputs =
+    [ libsigsegv gettext ncurses readline libX11 libXau libXt pcre
+      zlib libXpm xproto libXext xextproto libffi libffcall 
+      automake autoconf groff
+    ]
+    ++ (stdenv.lib.optional stdenv.isLinux linuxHeaders)
+    ;
+
+  # First, replace port 9090 (rather low, can be used)
+  # with 64237 (much higher, IANA private area, not
+  # anything rememberable).
+  # Also remove reference to a type that disappeared from recent glibc
+  # (seems the correct thing to do, found no reference to any solution)
+  postPatch = ''
+    sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
+    find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
+
+    substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
+  '';
+  
+  configureFlags =
+    ''
+      builddir
+      --with-readline --with-ffcall --with-dynamic-ffi
+      --with-module=readline --with-module=i18n --with-module=pcre
+      --with-module=syscalls --with-modules=zlib --with-module=curses
+    '';
+
+  preBuild = ''
+    echo Pre-build starting!
+    sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
+    sed -e '/asm\/page.h/d' -i src/unix.d
+    cd builddir
+    ./makemake $configureFlags > Makefile
+    make config.lisp
+    cat config.lisp
+  '';
+
+  NIX_CFLAGS_COMPILE="-O0 -lreadline -lncursesw";
+
+  # TODO : make mod-check fails
+  doCheck = false;
+
+  meta = {
+    description = "ANSI Common Lisp Implementation";
+    homepage = http://clisp.cons.org;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    branch = "2.44";
+  };
+}
diff --git a/pkgs/development/interpreters/clisp/2.44.1.nix b/pkgs/development/interpreters/clisp/2.44.1.nix
index 7b811732a62..66f53831374 100644
--- a/pkgs/development/interpreters/clisp/2.44.1.nix
+++ b/pkgs/development/interpreters/clisp/2.44.1.nix
@@ -3,12 +3,12 @@
 , libffi, libffcall, coreutils }:
         
 stdenv.mkDerivation rec {
-  v = "2.49";
+  v = "2.44.1";
   name = "clisp-${v}";
   
   src = fetchurl {
     url = "mirror://gnu/clisp/release/${v}/${name}.tar.gz";
-    sha256 = "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx";
+    sha256 = "0rkp6j6rih4s5d9acifh7pi4b9xfgcspif512l269dqy9qgyy4j1";
   };
 
   buildInputs =
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     homepage = http://clisp.cons.org;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
+    branch = "2.44";
   };
 }
diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix
index d775b74c903..dd0d0e94482 100644
--- a/pkgs/development/interpreters/dart/default.nix
+++ b/pkgs/development/interpreters/dart/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     mkdir -p $out
     cp -R * $out/
     echo $libPath
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
              --set-rpath $libPath \
              $out/bin/dart
     
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
         sha256 = "00935c4vxfj2h3x354g75qdazswwissbwc7kj5k05l1m3lizikf6";
       };
  
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc ];
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ];
  
   dontStrip = true;
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix
new file mode 100644
index 00000000000..4f2e100c684
--- /dev/null
+++ b/pkgs/development/interpreters/eff/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, ocaml, findlib, menhir, which }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+
+  name = "eff-20140928";
+
+  src = fetchgit {
+    url = "https://github.com/matijapretnar/eff.git";
+    rev = "90f884a790fddddb51d4d1d3b7c2edf1e8aabb64";
+    sha256 = "28e389b35e6959072c245c2e79fe305885b1b2d44ff540a02a097e09e9f9698f";
+  };
+
+  buildInputs = [ ocaml findlib menhir which ];
+
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.eff-lang.org";
+    description = "A functional programming language based on algebraic effects and their handlers";
+    longDescription = ''
+      Eff is a functional language with handlers of not only exceptions,
+      but also of other computational effects such as state or I/O. With
+      handlers, you can simply implement transactions, redirections,
+      backtracking, multi-threading, and much more...
+    '';
+    license = licenses.bsd2;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 59629eb2f59..1166c7075c8 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
+{ stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }:
 
 let
-  version = "0.15.1";
+  version = "1.0.4";
 in
 stdenv.mkDerivation {
   name = "elixir-${version}";
 
   src = fetchurl {
     url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
-    sha256 = "8e608abf90a6e9a25ef5fb7e45dfd04e2cb7e1fecb4ac260bf6652885a7f0c50";
+    sha256 = "1babp3ff6hajdm247zl9rc311k973cdnv6dqaai7l8817gg1yd3r";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
@@ -20,16 +20,20 @@ stdenv.mkDerivation {
 
     substituteInPlace Makefile \
       --replace "/usr/local" $out
+    substituteInPlace bin/mix \
+      --replace "/usr/bin/env elixir" "$out/bin/elixir"
   '';
 
   postFixup = ''
     # Elixir binaries are shell scripts which run erl. Add some stuff
     # to PATH so the scripts can run without problems.
 
-    for f in $out/bin/*
-    do
+    for f in $out/bin/*; do
+     b=$(basename $f)
+      if [ $b == "mix" ]; then continue; fi
       wrapProgram $f \
-      --prefix PATH ":" "${erlang}/bin:${coreutils}/bin"
+      --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl}/bin:${bash}/bin" \
+      --set CURL_CA_BUNDLE "${cacert}/etc/ca-bundle.crt"
     done
   '';
 
@@ -46,7 +50,7 @@ stdenv.mkDerivation {
     '';
 
     license = licenses.epl10;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.the-kenny ];
   };
 }
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index 5945cdd8299..23243803e8d 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl
 , gnused, gawk, makeWrapper
+, odbcSupport ? false, unixODBC ? null
 , wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+assert odbcSupport -> unixODBC != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "erlang-" + version;
+  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}";
   version = "16B03-1";
 
   src = fetchurl {
@@ -17,7 +19,8 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]
+      ++ optional odbcSupport [ unixODBC ];
 
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
@@ -26,7 +29,7 @@ stdenv.mkDerivation rec {
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+  configureFlags= "--with-ssl=${openssl} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
 
   postInstall = let
     manpages = fetchurl {
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index 2aba55d3679..6b64fc32e12 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -1,23 +1,31 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl
 , gnused, gawk, makeWrapper
-, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
+, odbcSupport ? false, unixODBC ? null
+, wxSupport ? true, mesa ? null, wxGTK ? null, xlibs ? null
+, javacSupport ? false, openjdk ? null
+, enableHipe ? true}:
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+assert odbcSupport -> unixODBC != null;
+assert javacSupport ->  openjdk != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "erlang-" + version;
-  version = "17.1";
+  name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"
+  + "${optionalString javacSupport "-javac"}";
+  version = "17.5";
 
   src = fetchurl {
     url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
-    sha256 = "0mn3p5rwvjfsxjnn1vrm0lxdq40wq9bmd9nibl6hqbfcnnrga1mq";
+    sha256 = "0x34hj1a4j3rphqdaapdld7la4sqiqillamcz06wac0vk0684a1w";
   };
 
   buildInputs =
     [ perl gnum4 ncurses openssl makeWrapper
-    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+    ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]
+      ++ optional odbcSupport [ unixODBC ]
+      ++ optional javacSupport [ openjdk ];
 
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
 
@@ -26,12 +34,12 @@ stdenv.mkDerivation rec {
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
 
-  configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}";
+  configureFlags= "--with-ssl=${openssl} ${optionalString enableHipe "--enable-hipe"} ${optionalString odbcSupport "--with-odbc=${unixODBC}"} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"} ${optionalString javacSupport "--with-javac"}";
 
   postInstall = let
     manpages = fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz";
-      sha256 = "1aza6hxhh7ag2frsa0hg6il6ancjrbazvgz7jc2p7qrmy5vh48sa";
+      sha256 = "1hspm285bl7i9a0d4r6j6lm5yk4sb5d9xzpia3simh0z06hv5cc5";
     };
   in ''
     ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
@@ -65,6 +73,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     # Note: Maintainer of prev. erlang version was simons. If he wants
     # to continue maintaining erlang I'm totally ok with that.
-    maintainers = [ maintainers.the-kenny ];
+    maintainers = [ maintainers.the-kenny maintainers.sjmackenzie ];
   };
 }
diff --git a/pkgs/development/interpreters/falcon/default.nix b/pkgs/development/interpreters/falcon/default.nix
index 0b4bfacb6de..d9ce07f16f7 100644
--- a/pkgs/development/interpreters/falcon/default.nix
+++ b/pkgs/development/interpreters/falcon/default.nix
@@ -1,34 +1,21 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, zlib, sqlite }:
 
-  version = a.lib.attrByPath ["version"] "0.9.2" a; 
-  buildInputs = with a; [
-    cmake 
-  ];
-in
-rec {
-  src = fetchurl {
-    url = "http://www.falconpl.org/project_dl/_official_rel/Falcon-${version}.tar.gz";
-    sha256 = "0p32syiz2nc6lmmzi0078g4nzariw5ymdjkmhw6iamc0lkkb9x3i";
-  };
-
-  inherit buildInputs;
-  configureFlags = [];
+stdenv.mkDerivation rec {
+  name = "faclon-${version}";
+  version = "2013-09-19";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doDeploy"];
+  src = fetchFromGitHub {
+    owner = "falconpl";
+    repo = "falcon";
+    rev = "095141903c4ebab928ce803055f9bda363215c37";
+    sha256 = "1x3gdcz1gqhi060ngqi0ghryf69v8bn50yrbzfad8bhblvhzzdlf";
+  };
 
-  doDeploy = a.fullDepEntry (''
-    ./build.sh -i -p $out
-  '') ["minInit" "addInputs" "doFixInterpreter" "defEnsureDir"];
-     
-  doFixInterpreter = a.fullDepEntry (''
-    sed -e "s@/bin/bash@$shell@" -i build.sh
-  '') ["minInit" "doUnpack"];
+  buildInputs = [ cmake pkgconfig pcre zlib sqlite ];
 
-  name = "falcon-" + version;
-  meta = {
+  meta = with stdenv.lib; {
     description = "Programming language with macros and syntax at once";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix
new file mode 100644
index 00000000000..687b7319cf4
--- /dev/null
+++ b/pkgs/development/interpreters/gnu-apl/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, liblapack, readline, gettext, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "gnu-apl-${version}";
+  version = "1.5";
+
+  src = fetchurl {
+    url = "mirror://gnu/apl/apl-${version}.tar.gz";
+    sha256 = "0h4diq3wfbdwxp5nm0z4b0p1zq13lwip0y7v28r9v0mbbk8xsfh1";
+  };
+
+  buildInputs = [ liblapack readline gettext ncurses ];
+
+  postInstall = ''
+    cp -r support-files/ $out/share/doc/
+    find $out/share/doc/support-files -name 'Makefile*' -delete
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Free interpreter for the APL programming language";
+    homepage    = http://www.gnu.org/software/apl/;
+    license     = licenses.gpl3Plus;
+    maintainers = [ maintainers.kovirobi ];
+    platforms   = stdenv.lib.platforms.linux;
+    inherit version;
+
+    longDescription = ''
+      GNU APL is a free interpreter for the programming language APL, with an
+      (almost) complete implementation of ISO standard 13751 aka.  Programming
+      Language APL, Extended.  GNU APL was written and is being maintained by
+      Jürgen Sauermann.
+    '';
+  };
+}
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index fdfb5d8ca30..8650d07d00b 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.3.6";
+  version = "2.4.3";
 
   src = fetchurl {
     url = "http://dl.bintray.com/groovy/maven/groovy-binary-${version}.zip";
-    sha256 = "0yvk6x1f68avl52zzwx9p3faiqr98rfps70vql05j6kd7syyp0ah";
+    sha256 = "1qfvw49fbw9svk4gsniw0g0ghal0dqm2hf1i77qmcf80lln1vhdh";
   };
 
   installPhase = ''
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An agile dynamic language for the Java Platform";
-    homepage = http://groovy.codehaus.org/;
+    homepage = http://groovy-lang.org/;
     license = licenses.asl20;
     maintainers = with maintainers; [ pSub ];
   };
diff --git a/pkgs/development/interpreters/guile/clang.patch b/pkgs/development/interpreters/guile/clang.patch
new file mode 100644
index 00000000000..4d0f342b211
--- /dev/null
+++ b/pkgs/development/interpreters/guile/clang.patch
@@ -0,0 +1,14 @@
+diff --git a/lib/stdint.in.h b/lib/stdint.in.h
+index 889bca7..15d39b0 100644
+--- a/lib/stdint.in.h
++++ b/lib/stdint.in.h
+@@ -74,7 +74,8 @@
+      in <inttypes.h> would reinclude us, skipping our contents because
+      _@GUARD_PREFIX@_STDINT_H is defined.
+      The include_next requires a split double-inclusion guard.  */
+-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
++# include <inttypes.h>
++// # @INCLUDE_NEXT@ @NEXT_STDINT_H@
+ #endif
+ 
+ #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 2ddad5cde67..c4634de5d3f 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -7,11 +7,11 @@
  else stdenv.mkDerivation)
 
 (rec {
-  name = "guile-2.0.9";
+  name = "guile-2.0.11";
 
   src = fetchurl {
     url = "mirror://gnu/guile/${name}.tar.xz";
-    sha256 = "0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp";
+    sha256 = "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f";
   };
 
   nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
@@ -27,9 +27,11 @@
   # A native Guile 2.0 is needed to cross-build Guile.
   selfNativeBuildInput = true;
 
-  enableParallelBuilding = true;
+  # Guile 2.0.11 repeatable fails with 8-core parallel building because
+  # libguile/vm-i-system.i is not created in time
+  enableParallelBuilding = false;
 
-  patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ] ++
+  patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch ] ++
     (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
 
   # Explicitly link against libgcc_s, to work around the infamous
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index d4a1ab85b13..4c064a42ebf 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -1,81 +1,52 @@
-x@{builderDefsPackage
-  , readline
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="j";
-    version="701_b";
-    name="${baseName}-${version}";
-    url="http://www.jsoftware.com/download/${baseName}${version}_source.tar.gz";
-    hash="1gmjlpxcd647x690c4dxnf8h6ays8ndir6cib70h3zfnkrc34cys";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+{ stdenv, fetchurl, readline }:
+
+stdenv.mkDerivation rec {
+  name = "j-${version}";
+  version = "701_b";
+  src = fetchurl {
+    url = "http://www.jsoftware.com/download/j${version}_source.tar.gz";
+    sha256 = "1gmjlpxcd647x690c4dxnf8h6ays8ndir6cib70h3zfnkrc34cys";
   };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doUnpack" "doBuildJ" "doDeploy"];
-
-  bits = if a.stdenv.system == "i686-linux" then 
-    "32"
-  else if a.stdenv.system == "x86_64-linux" then
-    "64"
-  else 
-    throw "Oops, unknown system: ${a.stdenv.system}";
-
-  doBuildJ = a.fullDepEntry ''
-    sed -i bin/jconfig -e 's@bits=32@bits=${bits}@g; s@readline=0@readline=1@; s@LIBREADLINE=""@LIBREADLINE=" -lreadline "@'
+  buildInputs = [ readline ];
+  bits = if stdenv.is64bit then "64" else "32";
+
+  buildPhase = ''
+    sed -i bin/jconfig -e '
+        s@bits=32@bits=${bits}@g;
+        s@readline=0@readline=1@;
+        s@LIBREADLINE=""@LIBREADLINE=" -lreadline "@;
+        s@-W1,soname,libj.so@-Wl,-soname,libj.so@
+        '
     sed -i bin/build_libj -e 's@>& make.txt@ 2>\&1 | tee make.txt@'
 
     touch *.c *.h
-    sh bin/build_jconsole
-    sh bin/build_libj
-    sh bin/build_defs
-    sh bin/build_tsdll
+    sh -o errexit bin/build_jconsole
+    sh -o errexit bin/build_libj
+    sh -o errexit bin/build_defs
+    sh -o errexit bin/build_tsdll
 
-    sed -i j/bin/profile.ijs -e "s@userx=[.] *'.j'@userx=. '/.j'@; 
+    sed -i j/bin/profile.ijs -e "
+        s@userx=[.] *'.j'@userx=. '/.j'@;
         s@bin,'/profilex.ijs'@user,'/profilex.ijs'@ ;
 	/install=./ainstall=. install,'/share/j'
-	"
-  '' ["doUnpack" "addInputs" "minInit"];
+        "
+  '';
 
-  doDeploy = a.fullDepEntry ''
+  installPhase = ''
     mkdir -p "$out"
     cp -r j/bin "$out/bin"
     rm "$out/bin/profilex_template.ijs"
-    
+
     mkdir -p "$out/share/j"
 
     cp -r docs j/addons j/system "$out/share/j"
-  '' ["doUnpack" "doBuildJ" "minInit" "defEnsureDir"];
-      
-  meta = {
+  '';
+
+  meta = with stdenv.lib; {
     description = "J programming language, an ASCII-based APL successor";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl3Plus;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.unix;
+    license = licenses.gpl3Plus;
+    homepage = http://jsoftware.com/;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://jsoftware.com/source.htm";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
new file mode 100644
index 00000000000..a6b8478b5e2
--- /dev/null
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, sqlite }:
+
+stdenv.mkDerivation {
+  name = "jimtcl-0.75-git";
+
+  src = fetchgit {
+    url = https://github.com/msteveb/jimtcl.git;
+    rev = "c4d4bf8bc104733db1f5992a27d88fbfca9ba882";
+    sha256 = "0vnl2k5sj250l08bplqd61zj6261v7kp202pss66g01rhp42fj3r";
+  };
+
+  buildInputs = [
+    sqlite
+  ];
+
+  configureFlags = [
+    "--with-ext=oo"
+    "--with-ext=tree"
+    "--with-ext=binary"
+    "--with-ext=sqlite3"
+    "--enable-utf8"
+    "--ipv6"
+  ];
+
+  meta = {
+    description = "An open source small-footprint implementation of the Tcl programming language";
+    homepage = http://jim.tcl.tk/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ dbohdan ];
+  };
+}
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index f70fb164623..ab559aa9e65 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Ruby interpreter written in Java";
     homepage = http://jruby.org/;
-    license = "CPL-1.0 GPL-2 LGPL-2.1"; # one of those
+    license = with stdenv.lib.licenses; [ cpl10 gpl2 lgpl21 ];
   };
 }
diff --git a/pkgs/development/interpreters/kona/default.nix b/pkgs/development/interpreters/kona/default.nix
index cec0d35bde5..03c836d9251 100644
--- a/pkgs/development/interpreters/kona/default.nix
+++ b/pkgs/development/interpreters/kona/default.nix
@@ -1,51 +1,21 @@
-x@{builderDefsPackage
-  , fetchgit
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    ["fetchgit"];
+{ stdenv, fetchurl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-in
-rec {
-  srcDrv = a.fetchgit {
-    url = "https://github.com/kevinlawler/kona.git";
-    inherit rev;
-    sha256 = "a8189c94fca3e62a740eb6823ab3fc571c0960ff5e7a3eb0353e5cf36ef9fdcb";
-  };
-
-  src = "${srcDrv}/";
-
-  rev = "81e95b395144f4b02fe8782ad87c1f218b511c43";
-  version = "git-${rev}";
+stdenv.mkDerivation rec {
   name = "kona-${version}";
-  inherit buildInputs;
+  version = "3.21";
+  src = fetchurl {
+    url = "https://github.com/kevinlawler/kona/archive/Win.${version}-64.tar.gz";
+    sha256 = "0c1yf3idqkfq593xgqb25r2ykmfmp83zzh3q7kb8095a069gvri3";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["prepareOut" "doMakeInstall"];
-  makeFlags = ["PREFIX=\$out"];
+  makeFlags = "PREFIX=$(out)";
+  preInstall = ''mkdir -p "$out/bin"'';
 
-  prepareOut = a.fullDepEntry ''
-    mkdir -p "$out/bin"
-  '' ["minInit" "defEnsureDir"];
-      
-  meta = {
+  meta = with stdenv.lib; {
     description = "An interpreter of K, APL-like programming language";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "free-noncopyleft";
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "https://github.com/kevinlawler/kona";
-    };
+    homepage = https://github.com/kevinlawler/kona/;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.all;
+    license = licenses.isc;
   };
-}) x
-
+}
diff --git a/pkgs/development/interpreters/lolcode/default.nix b/pkgs/development/interpreters/lolcode/default.nix
new file mode 100644
index 00000000000..6f7330eed67
--- /dev/null
+++ b/pkgs/development/interpreters/lolcode/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, doxygen, cmake }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "lolcode-${version}";
+  version = "0.10.5";
+
+  src = fetchurl {
+    url = "https://github.com/justinmeza/lci/archive/v${version}.tar.gz";
+    sha256 = "0g6k1jxnvgjxyidrvgk8pdb8y8mai456j9zpzmvhm6fr22c4skrc";
+  };
+
+  buildInputs = [ pkgconfig doxygen cmake ];
+
+  # Maybe it clashes with lci scientific logic software package...
+  postInstall = "mv $out/bin/lci $out/bin/lolcode-lci";
+
+  meta = {
+    homepage = http://lolcode.org;
+    description = "An esoteric programming language";
+    longDescription = ''
+      LOLCODE is a funny esoteric  programming language, a bit Pascal-like,
+      whose keywords are LOLspeak.
+    '';
+    license = licenses.gpl3;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+
+}
diff --git a/pkgs/development/interpreters/lua-4/default.nix b/pkgs/development/interpreters/lua-4/default.nix
index 835b71f38bf..2d216389bd7 100644
--- a/pkgs/development/interpreters/lua-4/default.nix
+++ b/pkgs/development/interpreters/lua-4/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation {
     '';
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
+    branch = "4";
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index 1b05cb8f778..adeaa9fae7b 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, readline }:
+{ stdenv, fetchurl, fetchpatch, readline }:
 
 let
   dsoPatch = fetchurl {
@@ -18,12 +18,18 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
-  patches = if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ];
+  patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ])
+    ++ [(fetchpatch {
+      name = "CVE-2014-5461.patch";
+      url = "http://anonscm.debian.org/cgit/pkg-lua/lua5.1.git/plain/debian/patches/"
+        + "0004-Fix-stack-overflow-in-vararg-functions.patch?id=b75a2014db2ad65683521f7bb295bfa37b48b389";
+      sha256 = "05i5vh53d9i6dy11ibg9i9qpwz5hdm0s8bkx1d9cfcvy80cm4c7f";
+    })];
 
   configurePhase =
     if stdenv.isDarwin
     then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" )
+    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" CC="$CC" )
     installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' )
   '' else ''
     makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" )
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
index ea44adb462c..1812ccbf7d6 100644
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ b/pkgs/development/interpreters/lua-5/5.2.nix
@@ -9,12 +9,12 @@ let
 in
 stdenv.mkDerivation rec {
   name = "lua-${version}";
-  majorVersion = "5.2";
-  version = "${majorVersion}.2";
+  luaversion = "5.2";
+  version = "${luaversion}.3";
 
   src = fetchurl {
     url = "http://www.lua.org/ftp/${name}.tar.gz";
-    sha256 = "004zyh9p3lpvbwhyhlmrw6wwcia5abx84q4h2brkn4zdypipvmiz";
+    sha1 = "926b7907bc8d274e063d42804666b40a3f3c124c";
   };
 
   nativeBuildInputs = [ readline ];
@@ -24,17 +24,17 @@ stdenv.mkDerivation rec {
   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=${majorVersion} 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} )
     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=${majorVersion} R=${version} )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${majorVersion} liblua.so.${version}" INSTALL_DATA='cp -d' )
+    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} )
+    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' )
   '';
 
   postInstall = ''
     mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
     mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
-    rmdir $out/{share,lib}/lua/${majorVersion} $out/{share,lib}/lua
+    rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua
     mkdir -p "$out/lib/pkgconfig"
     cat >"$out/lib/pkgconfig/lua.pc" <<EOF
     prefix=$out
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
         CC=${stdenv.cross.config}-gcc
         STRIP=:
         RANLIB=${stdenv.cross.config}-ranlib
-        V=${majorVersion}
+        V=${luaversion}
         R=${version}
         ${if isMingw then "mingw" else stdenv.lib.optionalString isDarwin ''
         AR="${stdenv.cross.config}-ar rcu"
diff --git a/pkgs/development/interpreters/lua-5/sec.nix b/pkgs/development/interpreters/lua-5/sec.nix
index 33def9c51fd..08eb1c89308 100644
--- a/pkgs/development/interpreters/lua-5/sec.nix
+++ b/pkgs/development/interpreters/lua-5/sec.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lua5, lua5_sockets, openssl }:
+{ stdenv, fetchurl, lua5, openssl }:
 
 stdenv.mkDerivation rec {
   version = "0.5";
diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix
index 9c6cea38170..018fb201bcd 100644
--- a/pkgs/development/interpreters/lua-5/sockets.nix
+++ b/pkgs/development/interpreters/lua-5/sockets.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, lua5}:
+{ stdenv, fetchurl, lua5 }:
 
 stdenv.mkDerivation rec {
   name    = "lua-sockets-${version}";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
       sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
   };
 
-  luaver = "5.1"; # TODO
+  luaver = lua5.luaversion;
   patchPhase = ''
       sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua5.luaversion}," \
           -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua5.luaversion}," \
diff --git a/pkgs/development/interpreters/lua-5/zip.nix b/pkgs/development/interpreters/lua-5/zip.nix
new file mode 100644
index 00000000000..f6460be1662
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/zip.nix
@@ -0,0 +1,28 @@
+{ pkgs, stdenv, fetchurl, lua5_1, zziplib }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.3";
+  name = "lua-zip-${version}";
+  isLibrary = true;
+  src = fetchurl {
+    url = "https://github.com/luaforge/luazip/archive/0b8f5c958e170b1b49f05bc267bc0351ad4dfc44.zip";
+    sha256 = "beb9260d606fdd5304aa958d95f0d3c20be7ca0a2cff44e7b75281c138a76a50";
+  };
+
+  buildInputs = [ pkgs.unzip lua5_1 zziplib ];
+
+  preBuild = ''
+    makeFlagsArray=(
+      PREFIX=$out
+      LUA_LIBDIR="$out/lib/lua/${lua5_1.luaversion}"
+      LUA_INC="-I${lua5_1}/include");
+  '';
+
+  patches = [ ./zip.patch ];
+
+  meta = {
+    homepage = "https://github.com/luaforge/luazip";
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/interpreters/lua-5/zip.patch b/pkgs/development/interpreters/lua-5/zip.patch
new file mode 100644
index 00000000000..c3f88f451e8
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/zip.patch
@@ -0,0 +1,23 @@
+--- a/Makefile	2007-10-30 01:59:10.000000000 +0300
++++ b/Makefile	2014-09-18 11:04:53.176320021 +0400
+@@ -6,10 +6,6 @@
+
+ include $(CONFIG)
+
+-ifeq "$(LUA_VERSION_NUM)" "500"
+-COMPAT_O= $(COMPAT_DIR)/compat-5.1.o
+-endif
+-
+ SRCS= src/lua$T.c
+ OBJS= src/lua$T.o $(COMPAT_O)
+
+@@ -19,9 +15,6 @@
+ src/$(LIBNAME): $(OBJS)
+ 	export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) $(CFLAGS) $(LIB_OPTION) -o src/$(LIBNAME) $(OBJS) -lzzip
+
+-$(COMPAT_DIR)/compat-5.1.o: $(COMPAT_DIR)/compat-5.1.c
+-	$(CC) -c $(CFLAGS) -o $@ $(COMPAT_DIR)/compat-5.1.c
+-
+ install: src/$(LIBNAME)
+ 	mkdir -p $(LUA_LIBDIR)
+ 	cp src/$(LIBNAME) $(LUA_LIBDIR)
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
index 00c4ddc447f..f0d9d03991b 100644
--- a/pkgs/development/interpreters/luajit/default.nix
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -14,10 +14,12 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     substituteInPlace Makefile \
       --replace /usr/local $out
-  '' + stdenv.lib.optionalString (stdenv.gcc.libc != null)
+
+    substituteInPlace src/Makefile --replace gcc cc
+  '' + stdenv.lib.optionalString (stdenv.cc.libc != null)
   ''
     substituteInPlace Makefile \
-      --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig
+      --replace ldconfig ${stdenv.cc.libc}/sbin/ldconfig
   '';
 
   configurePhase = false;
diff --git a/pkgs/development/interpreters/mujs/default.nix b/pkgs/development/interpreters/mujs/default.nix
new file mode 100644
index 00000000000..bebacc87817
--- /dev/null
+++ b/pkgs/development/interpreters/mujs/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit, clang }:
+
+stdenv.mkDerivation rec {
+  name = "mujs-2015-01-22";
+
+  src = fetchgit {
+    url = git://git.ghostscript.com/mujs.git;
+    rev  = "c1ad1ba1e482e7d01743e3f4f9517572bebf99ac";
+    sha256 = "1713h82zzd189nb54ilpa8fj9xhinhn0jvmd3li4c2fwh6xfjpcy";
+  };
+
+  buildInputs = [ clang ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://mujs.com/;
+    description = "A lightweight, embeddable Javascript interpreter";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/interpreters/nix-exec/default.nix b/pkgs/development/interpreters/nix-exec/default.nix
new file mode 100644
index 00000000000..6e7ffa656a0
--- /dev/null
+++ b/pkgs/development/interpreters/nix-exec/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, nix, git }: let
+  version = "4.0.0";
+in stdenv.mkDerivation {
+  name = "nix-exec-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/shlevy/nix-exec/releases/download/v${version}/nix-exec-${version}.tar.xz";
+
+    sha256 = "0qw25v8pzx08mirhy46dmqj93nwnxfvgw2jsn8rvxh2d7x4nc8jv";
+  };
+
+  buildInputs = [ pkgconfig nix git ];
+
+  meta = {
+    description = "Run programs defined in nix expressions";
+
+    homepage = https://github.com/shlevy/nix-exec;
+
+    license = stdenv.lib.licenses.mit;
+
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+
+    platforms = nix.meta.platforms;
+  };
+}
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 1addccb4bf8..a0906a09a78 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,30 +1,29 @@
-{stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull,
-libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk,
-fftw, fftwSinglePrec, zlib, curl, qrupdate
-, qt ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
-, suitesparse ? null, gnuplot ? null, openjdk ? null, python ? null
+{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
+, libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk
+, fftw, fftwSinglePrec, zlib, curl, qrupdate
+, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
+, suitesparse ? null, gnuplot ? null, jdk ? null, python ? null
 }:
 
-let
-  version = "3.8.1";
-in
 stdenv.mkDerivation rec {
+  version = "3.8.2";
   name = "octave-${version}";
   src = fetchurl {
     url = "mirror://gnu/octave/${name}.tar.bz2";
-    sha256 = "1gcvzbgyz98mxzy3gjkdbdiirafkl73l9ywml11j412amp92wxnn";
+    sha256 = "83bbd701aab04e7e57d0d5b8373dd54719bebb64ce0a850e69bf3d7454f33bae";
   };
 
   buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11
     graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl
     fftw fftwSinglePrec qrupdate ]
     ++ (stdenv.lib.optional (qt != null) qt)
+    ++ (stdenv.lib.optional (qscintilla != null) qscintilla)
     ++ (stdenv.lib.optional (ghostscript != null) ghostscript)
     ++ (stdenv.lib.optional (llvm != null) llvm)
     ++ (stdenv.lib.optional (hdf5 != null) hdf5)
     ++ (stdenv.lib.optional (glpk != null) glpk)
     ++ (stdenv.lib.optional (suitesparse != null) suitesparse)
-    ++ (stdenv.lib.optional (openjdk != null) openjdk)
+    ++ (stdenv.lib.optional (jdk != null) jdk)
     ++ (stdenv.lib.optional (gnuplot != null) gnuplot)
     ++ (stdenv.lib.optional (python != null) python)
     ;
@@ -32,8 +31,7 @@ stdenv.mkDerivation rec {
   # there is a mysterious sh: command not found
   doCheck = false;
 
-  /* The build failed with a missing libranlib.la in hydra,
-     but worked on my computer. I think they have concurrency problems */
+  # problems on Hydra
   enableParallelBuilding = false;
 
   configureFlags = [ "--enable-readline" "--enable-dl" ];
diff --git a/pkgs/development/interpreters/perl/5.14/default.nix b/pkgs/development/interpreters/perl/5.14/default.nix
deleted file mode 100644
index dd4e7acf71f..00000000000
--- a/pkgs/development/interpreters/perl/5.14/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, fetchurl }:
-
-let 
-  
-  libc = if stdenv ? gcc && stdenv.gcc.libc != null then stdenv.gcc.libc else "/usr";
-
-in
-
-stdenv.mkDerivation rec {
-  name = "perl-5.14.4";
-
-  src = fetchurl {
-    url = "mirror://cpan/src/${name}.tar.gz";
-    sha256 = "1js47zzna3v38fjnirf2vq6y0rjp8m86ysj5vagzgkig956d8gw0";
-  };
-
-  patches = 
-    [ # Do not look in /usr etc. for dependencies.
-      ./no-sys-dirs.patch
-    ]
-    ++ stdenv.lib.optional stdenv.isSunOS  ./ld-shared.patch
-    ++ stdenv.lib.optional stdenv.isDarwin ./no-libutil.patch;
-
-  # Build a thread-safe Perl with a dynamic libperls.o.  We need the
-  # "installstyle" option to ensure that modules are put under
-  # $out/lib/perl5 - this is the general default, but because $out
-  # contains the string "perl", Configure would select $out/lib.
-  # Miniperl needs -lm. perl needs -lrt.
-  configureFlags = 
-    [ "-de"
-      "-Dcc=gcc"
-      "-Uinstallusrbinperl"
-      "-Dinstallstyle=lib/perl5"
-      "-Duseshrplib"
-      "-Dlocincpth=${libc}/include"
-      "-Dloclibpth=${libc}/lib"
-    ] 
-    ++ stdenv.lib.optional (stdenv ? glibc) "-Dusethreads";
-
-  configureScript = "${stdenv.shell} ./Configure";
-
-  dontAddPrefix = true;
-
-  enableParallelBuilding = true;
-
-  preConfigure =
-    ''
-      configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
-
-      ${stdenv.lib.optionalString stdenv.isArm ''
-        configureFlagsArray=(-Dldflags="-lm -lrt")
-      ''}
-    '';
-
-  preBuild = stdenv.lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
-    ''
-      # Make Cwd work on NixOS (where we don't have a /bin/pwd).
-      substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
-    '';
-
-  setupHook = ./setup-hook.sh;
-
-  passthru.libPrefix = "lib/perl5/site_perl";
-}
diff --git a/pkgs/development/interpreters/perl/5.14/ld-shared.patch b/pkgs/development/interpreters/perl/5.14/ld-shared.patch
deleted file mode 100644
index b1834ff7a1f..00000000000
--- a/pkgs/development/interpreters/perl/5.14/ld-shared.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- perl-5.14.2/hints/solaris_2.sh.orig	2013-02-14 19:29:49.453988140 +0000
-+++ perl-5.14.2/hints/solaris_2.sh	2013-02-14 19:30:31.681631019 +0000
-@@ -568,7 +568,7 @@
- #		    ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
- #		fi
- 		ldflags="$ldflags -m64"
--		lddlflags="$lddlflags -G -m64"
-+		lddlflags="$lddlflags -shared -m64"
- 		;;
- 	    *)
- 		getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
diff --git a/pkgs/development/interpreters/perl/5.14/no-libutil.patch b/pkgs/development/interpreters/perl/5.14/no-libutil.patch
deleted file mode 100644
index 9b749bccf32..00000000000
--- a/pkgs/development/interpreters/perl/5.14/no-libutil.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
---- perl-5.14.2-orig/Configure	2011-09-26 11:44:34.000000000 +0200
-+++ perl-5.14.2/Configure	2012-02-16 17:24:50.779839039 +0100
-@@ -1368,7 +1368,7 @@
- : List of libraries we want.
- : If anyone needs extra -lxxx, put those in a hint file.
- libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
--libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
-+libswanted="$libswanted m crypt sec c cposix posix ucb bsd BSD"
- : We probably want to search /usr/shlib before most other libraries.
- : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
- glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
diff --git a/pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch
deleted file mode 100644
index 54ffb28e206..00000000000
--- a/pkgs/development/interpreters/perl/5.14/no-sys-dirs.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure
---- perl-5.14.2-orig/Configure	2011-09-26 11:44:34.000000000 +0200
-+++ perl-5.14.2/Configure	2012-01-20 17:05:23.089223129 +0100
-@@ -106,15 +106,7 @@
- fi
- 
- : Proper PATH setting
--paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
--paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
--paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
--paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
--paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
--paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
--paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
--paths="$paths /sbin /usr/sbin /usr/libexec"
--paths="$paths /system/gnu_library/bin"
-+paths=''
- 
- for p in $paths
- do
-@@ -1311,8 +1303,7 @@
- archname=''
- : Possible local include directories to search.
- : Set locincpth to "" in a hint file to defeat local include searches.
--locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
--locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
-+locincpth=""
- :
- : no include file wanted by default
- inclwanted=''
-@@ -1328,17 +1319,12 @@
- archobjs=''
- libnames=''
- : change the next line if compiling for Xenix/286 on Xenix/386
--xlibpth='/usr/lib/386 /lib/386'
-+xlibpth=''
- : Possible local library directories to search.
--loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
--loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
-+loclibpth=""
- 
- : general looking path for locating libraries
--glibpth="/lib /usr/lib $xlibpth"
--glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
--test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
--test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
--test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
-+glibpth=""
- 
- : Private path used by Configure to find libraries.  Its value
- : is prepended to libpth. This variable takes care of special
-@@ -1371,8 +1357,6 @@
- libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
- : We probably want to search /usr/shlib before most other libraries.
- : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
--glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
--glibpth="/usr/shlib $glibpth"
- : Do not use vfork unless overridden by a hint file.
- usevfork=false
- 
-@@ -2380,7 +2364,6 @@
- zip
- "
- pth=`echo $PATH | sed -e "s/$p_/ /g"`
--pth="$pth /lib /usr/lib"
- for file in $loclist; do
- 	eval xxx=\$$file
- 	case "$xxx" in
-@@ -4785,7 +4768,7 @@
- : Set private lib path
- case "$plibpth" in
- '') if ./mips; then
--		plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib"
-+		plibpth="$incpath/usr/lib"
- 	fi;;
- esac
- case "$libpth" in
-@@ -8390,13 +8373,8 @@
- echo " "
- case "$sysman" in
- '') 
--	syspath='/usr/share/man/man1 /usr/man/man1'
--	syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
--	syspath="$syspath /usr/man/u_man/man1"
--	syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
--	syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
--	syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
--	sysman=`./loc . /usr/man/man1 $syspath`
-+	syspath=''
-+	sysman=''
- 	;;
- esac
- if $test -d "$sysman"; then
-@@ -19721,9 +19699,10 @@
- case "$full_ar" in
- '') full_ar=$ar ;;
- esac
-+full_ar=ar
- 
- : Store the full pathname to the sed program for use in the C program
--full_sed=$sed
-+full_sed=sed
- 
- : see what type gids are declared as in the kernel
- echo " "
-diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Errno_pm.PL
---- perl-5.14.2-orig/ext/Errno/Errno_pm.PL	2011-09-26 11:44:34.000000000 +0200
-+++ perl-5.14.2/ext/Errno/Errno_pm.PL	2012-01-20 17:02:07.938138311 +0100
-@@ -137,11 +137,7 @@
- 	if ($dep =~ /(\S+errno\.h)/) {
- 	     $file{$1} = 1;
- 	}
--    } elsif ($^O eq 'linux' &&
--	      $Config{gccversion} ne '' && 
--	      $Config{gccversion} !~ /intel/i
--	      # might be using, say, Intel's icc
--	     ) {
-+    } elsif (0) {
- 	# Some Linuxes have weird errno.hs which generate
- 	# no #file or #line directives
- 	my $linux_errno_h = -e '/usr/include/errno.h' ?
-diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh
---- perl-5.14.2-orig/hints/freebsd.sh	2011-09-19 15:18:22.000000000 +0200
-+++ perl-5.14.2/hints/freebsd.sh	2012-01-20 17:10:37.267924044 +0100
-@@ -118,21 +118,21 @@
-         objformat=`/usr/bin/objformat`
-         if [ x$objformat = xaout ]; then
-             if [ -e /usr/lib/aout ]; then
--                libpth="/usr/lib/aout /usr/local/lib /usr/lib"
--                glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
-+                libpth=""
-+                glibpth=""
-             fi
-             lddlflags='-Bshareable'
-         else
--            libpth="/usr/lib /usr/local/lib"
--            glibpth="/usr/lib /usr/local/lib"
-+            libpth=""
-+            glibpth=""
-             ldflags="-Wl,-E "
-             lddlflags="-shared "
-         fi
-         cccdlflags='-DPIC -fPIC'
-         ;;
- *)
--       libpth="/usr/lib /usr/local/lib"
--       glibpth="/usr/lib /usr/local/lib"
-+       libpth=""
-+       glibpth=""
-        ldflags="-Wl,-E "
-         lddlflags="-shared "
-         cccdlflags='-DPIC -fPIC'
diff --git a/pkgs/development/interpreters/perl/5.14/setup-hook.sh b/pkgs/development/interpreters/perl/5.14/setup-hook.sh
deleted file mode 100644
index a8656b8531d..00000000000
--- a/pkgs/development/interpreters/perl/5.14/setup-hook.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-addPerlLibPath () {
-    addToSearchPath PERL5LIB $1/lib/perl5/site_perl
-}
-
-envHooks+=(addPerlLibPath)
diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix
index 45a11f01a39..b3bc6aafde9 100644
--- a/pkgs/development/interpreters/perl/5.16/default.nix
+++ b/pkgs/development/interpreters/perl/5.16/default.nix
@@ -1,15 +1,11 @@
-{ stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, enableThreading ? true }:
 
 let
 
-  libc = if stdenv.gcc.libc or null != null then stdenv.gcc.libc else "/usr";
+  libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr";
 
 in
 
-with {
-  inherit (stdenv.lib) optional optionalString;
-};
-
 stdenv.mkDerivation rec {
   name = "perl-5.16.3";
 
@@ -28,9 +24,12 @@ stdenv.mkDerivation rec {
   patches =
     [ # Do not look in /usr etc. for dependencies.
       ./no-sys-dirs.patch
+      ./no-impure-config-time.patch
+      ./fixed-man-page-date.patch
+      ./no-date-in-perl-binary.patch
     ]
-    ++ optional stdenv.isSunOS  ./ld-shared.patch
-    ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
+    ++ lib.optional stdenv.isSunOS  ./ld-shared.patch
+    ++ lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ;
 
   # Build a thread-safe Perl with a dynamic libperls.o.  We need the
   # "installstyle" option to ensure that modules are put under
@@ -39,14 +38,13 @@ stdenv.mkDerivation rec {
   # Miniperl needs -lm. perl needs -lrt.
   configureFlags =
     [ "-de"
-      "-Dcc=gcc"
       "-Uinstallusrbinperl"
       "-Dinstallstyle=lib/perl5"
       "-Duseshrplib"
       "-Dlocincpth=${libc}/include"
       "-Dloclibpth=${libc}/lib"
     ]
-    ++ optional (stdenv ? glibc) "-Dusethreads";
+    ++ lib.optional enableThreading "-Dusethreads";
 
   configureScript = "${stdenv.shell} ./Configure";
 
@@ -58,18 +56,18 @@ stdenv.mkDerivation rec {
     ''
       configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$man/share/man/man1 -Dman3dir=$man/share/man/man3"
 
-      ${optionalString stdenv.isArm ''
+      ${lib.optionalString stdenv.isArm ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
       ''}
 
-      ${optionalString stdenv.isCygwin ''
+      ${lib.optionalString stdenv.isCygwin ''
         cp cygwin/cygwin.c{,.bak}
         echo "#define PERLIO_NOT_STDIO 0" > tmp
         cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c
       ''}
     '';
 
-  preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
+  preBuild = lib.optionalString (!(stdenv ? cc && stdenv.cc.nativeTools))
     ''
       # Make Cwd work on NixOS (where we don't have a /bin/pwd).
       substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
diff --git a/pkgs/development/interpreters/perl/5.16/fixed-man-page-date.patch b/pkgs/development/interpreters/perl/5.16/fixed-man-page-date.patch
new file mode 100644
index 00000000000..79f9bc3658e
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/fixed-man-page-date.patch
@@ -0,0 +1,11 @@
+--- a/cpan/podlators/lib/Pod/Man.pm	2014-04-07 06:25:23.730505243 +0200
++++ b/cpan/podlators/lib/Pod/Man.pm	2014-04-07 06:26:40.816552603 +0200
+@@ -768,7 +768,7 @@
+     } else {
+         ($name, $section) = $self->devise_title;
+     }
+-    my $date = $$self{date} || $self->devise_date;
++    my $date = "1970-01-01"; # Fixed date for NixOS, orig: $$self{date} || $self->devise_date;
+     $self->preamble ($name, $section, $date)
+         unless $self->bare_output or DEBUG > 9;
+ 
diff --git a/pkgs/development/interpreters/perl/5.16/no-date-in-perl-binary.patch b/pkgs/development/interpreters/perl/5.16/no-date-in-perl-binary.patch
new file mode 100644
index 00000000000..00ea47ae45f
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/no-date-in-perl-binary.patch
@@ -0,0 +1,11 @@
+--- a/perl.c	2014-04-07 07:58:01.402831615 +0200
++++ b/perl.c	2014-04-07 07:59:38.556945298 +0200
+@@ -1754,7 +1754,7 @@
+     PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options,
+ 			      sizeof(non_bincompat_options) - 1, SVs_TEMP));
+ 
+-#ifdef __DATE__
++#if 0
+ #  ifdef __TIME__
+     PUSHs(Perl_newSVpvn_flags(aTHX_
+ 			      STR_WITH_LEN("Compiled at " __DATE__ " " __TIME__),
diff --git a/pkgs/development/interpreters/perl/5.16/no-impure-config-time.patch b/pkgs/development/interpreters/perl/5.16/no-impure-config-time.patch
new file mode 100644
index 00000000000..1382de70625
--- /dev/null
+++ b/pkgs/development/interpreters/perl/5.16/no-impure-config-time.patch
@@ -0,0 +1,11 @@
+--- a/Configure	2014-04-05 20:21:33.714635700 +0200
++++ b/Configure	2014-04-05 20:23:23.377441026 +0200
+@@ -3609,6 +3609,8 @@
+ 
+ : who configured the system
+ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
++cf_time='Thu Jan  1 00:00:01 UTC 1970'
++
+ case "$cf_by" in
+ "")
+ 	cf_by=`(logname) 2>/dev/null`
diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix
index d9fb32aa43e..0ad955d0363 100644
--- a/pkgs/development/interpreters/perl/5.20/default.nix
+++ b/pkgs/development/interpreters/perl/5.20/default.nix
@@ -1,21 +1,31 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, enableThreading ? stdenv ? glibc }:
+
+# We can only compile perl with threading on platforms where we have a
+# real glibc in the stdenv.
+#
+# Instead of silently building an unthreaded perl if this is not the
+# case, we force callers to disableThreading explicitly, therefore
+# documenting the platforms where the perl is not threaded.
+#
+# In the case of stdenv linux boot stage1 it's not possible to use
+# threading because of the simpleness of the bootstrap glibc, so we
+# use enableThreading = false there.
+assert enableThreading -> (stdenv ? glibc);
 
 let
 
-  libc = if stdenv.gcc.libc or null != null then stdenv.gcc.libc else "/usr";
+  libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr";
 
 in
 
-with {
-  inherit (stdenv.lib) optional optionalString;
-};
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "perl-5.20.0";
+  name = "perl-5.20.2";
 
   src = fetchurl {
-    url = "mirror://cpan/src/${name}.tar.gz";
-    sha256 = "00ndpgw4bjing9gy2y6jvs3q46mv2ll6zrxjkhpr12fcdsnji32f";
+    url = "mirror://cpan/authors/id/S/SH/SHAY/${name}.tar.gz";
+    sha256 = "17cvplgpxbm1hshxlkra2fldn4da1iap1lsnb04hdm8ply93k95i";
   };
 
   patches =
@@ -32,14 +42,14 @@ stdenv.mkDerivation rec {
   # Miniperl needs -lm. perl needs -lrt.
   configureFlags =
     [ "-de"
-      "-Dcc=gcc"
+      "-Dcc=cc"
       "-Uinstallusrbinperl"
       "-Dinstallstyle=lib/perl5"
       "-Duseshrplib"
       "-Dlocincpth=${libc}/include"
       "-Dloclibpth=${libc}/lib"
     ]
-    ++ optional (stdenv ? glibc) "-Dusethreads";
+    ++ optional enableThreading "-Dusethreads";
 
   configureScript = "${stdenv.shell} ./Configure";
 
@@ -54,9 +64,11 @@ stdenv.mkDerivation rec {
       ${optionalString stdenv.isArm ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
       ''}
+    '' + optionalString stdenv.isDarwin ''
+      substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" ""
     '';
 
-  preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
+  preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools))
     ''
       # Make Cwd work on NixOS (where we don't have a /bin/pwd).
       substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
@@ -65,4 +77,11 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   passthru.libPrefix = "lib/perl5/site_perl";
+
+  meta = {
+    homepage = https://www.perl.org/;
+    description = "The standard implementation of the Perl 5 programmming language";
+    maintainers = [ maintainers.eelco ];
+    platforms = platforms.all;
+  };
 }
diff --git a/pkgs/development/interpreters/php/5.3-freetype-dirs.patch b/pkgs/development/interpreters/php/5.3-freetype-dirs.patch
deleted file mode 100644
index 3b78f9b309b..00000000000
--- a/pkgs/development/interpreters/php/5.3-freetype-dirs.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From a0955f351c7eb1022da7ae36970ffef3b00c8aff Mon Sep 17 00:00:00 2001
-From: Adam Harvey <aharvey@php.net>
-Date: Sat, 7 Dec 2013 19:39:40 -0800
-Subject: [PATCH] Switch to using freetype-config for freetype detection.
-
-This fixes GD compilation against libfreetype 2.5.1 and later after they made
-the rather interesting decision to change their include directory layout in a
-point release.
-
-The original suggestion in the bug was to use pkg-config, but my inclination is
-to use freetype-config instead: we should be able to get the same configuration
-information without actually needing pkg-config installed, since pkg-config is
-by no means guaranteed to exist on many Unices and distros, whereas
-freetype-config should always be present if a libfreetype build environment is
-installed. Let's try it out and see what happens.
-
-Fixes bug #64405 (Use freetype-config for determining freetype2 dir(s)).
-
-diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
-index 0e35ece..732e14c 100644
---- a/ext/gd/config.m4
-+++ b/ext/gd/config.m4
-@@ -193,30 +193,25 @@ AC_DEFUN([PHP_GD_FREETYPE2],[
-   if test "$PHP_FREETYPE_DIR" != "no"; then
- 
-     for i in $PHP_FREETYPE_DIR /usr/local /usr; do
--      if test -f "$i/include/freetype2/freetype/freetype.h"; then
-+      if test -f "$i/bin/freetype-config"; then
-         FREETYPE2_DIR=$i
--        FREETYPE2_INC_DIR=$i/include/freetype2
-+        FREETYPE2_CONFIG="$i/bin/freetype-config"
-         break
-       fi
-     done
- 
-     if test -z "$FREETYPE2_DIR"; then
--      AC_MSG_ERROR([freetype.h not found.])
-+      AC_MSG_ERROR([freetype-config not found.])
-     fi
- 
--    PHP_CHECK_LIBRARY(freetype, FT_New_Face,
--    [
--      PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_DIR/$PHP_LIBDIR, GD_SHARED_LIBADD)
--      PHP_ADD_INCLUDE($FREETYPE2_DIR/include)
--      PHP_ADD_INCLUDE($FREETYPE2_INC_DIR)
--      AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
--      AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
--      AC_DEFINE(ENABLE_GD_TTF,1,[ ])
--    ],[
--      AC_MSG_ERROR([Problem with freetype.(a|so). Please check config.log for more information.])
--    ],[
--      -L$FREETYPE2_DIR/$PHP_LIBDIR
--    ])
-+    FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
-+    FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
-+
-+    PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
-+    PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
-+    AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
-+    AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
-+    AC_DEFINE(ENABLE_GD_TTF,1,[ ])
-   else
-     AC_MSG_RESULT([If configure fails try --with-freetype-dir=<DIR>])
-   fi
diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
deleted file mode 100644
index c1d02064fe1..00000000000
--- a/pkgs/development/interpreters/php/5.3.nix
+++ /dev/null
@@ -1,245 +0,0 @@
-{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
-, apacheHttpd, mysql, libxml2, readline, zlib, curl, gd, postgresql, gettext
-, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype, libxslt
-, libmcrypt, bzip2, icu, libssh2, makeWrapper, libiconvOrEmpty, libiconv, uwimap
-, pam }:
-
-let
-  libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
-in
-
-composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
-
-  version = "5.3.28";
-
-  name = "php-${version}";
-
-  enableParallelBuilding = true;
-
-  buildInputs
-    = [ flex bison pkgconfig ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ libssh2 makeWrapper ];
-
-  # need to include the C++ standard library when compiling on darwin
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lstdc++";
-
-  # need to specify where the dylib for icu is stored
-  DYLD_LIBRARY_PATH = stdenv.lib.optionalString stdenv.isDarwin "${icu}/lib";
-
-  flags = {
-
-    # much left to do here...
-
-    # SAPI modules:
-
-      apxs2 = {
-        configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
-        buildInputs = [apacheHttpd];
-      };
-
-      # Extensions
-
-      curl = {
-        configureFlags = ["--with-curl=${curl}" "--with-curlwrappers"];
-        buildInputs = [curl openssl];
-      };
-
-      pcntl = {
-        configureFlags = [ "--enable-pcntl" ];
-      };
-
-      zlib = {
-        configureFlags = ["--with-zlib=${zlib}"];
-        buildInputs = [zlib];
-      };
-
-      libxml2 = {
-        configureFlags
-          = [ "--with-libxml-dir=${libxml2}" ]
-            ++ stdenv.lib.optional (libiconvOrEmpty != [])
-              [ "--with-iconv=${libiconv}" ];
-        buildInputs = [ libxml2 ] ++ libiconvOrEmpty;
-      };
-
-      readline = {
-        configureFlags = ["--with-readline=${readline}"];
-        buildInputs = [ readline ];
-      };
-
-      sqlite = {
-        configureFlags = ["--with-pdo-sqlite=${sqlite}"];
-        buildInputs = [ sqlite ];
-      };
-
-      postgresql = {
-        configureFlags = ["--with-pgsql=${postgresql}"];
-        buildInputs = [ postgresql ];
-      };
-
-      mysql = {
-        configureFlags = ["--with-mysql=${mysql}"];
-        buildInputs = [ mysql ];
-      };
-
-      mysqli = {
-        configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"];
-        buildInputs = [ mysql];
-      };
-
-      mysqli_embedded = {
-        configureFlags = ["--enable-embedded-mysqli"];
-        depends = "mysqli";
-        assertion = fixed.mysqliSupport;
-      };
-
-      pdo_mysql = {
-        configureFlags = ["--with-pdo-mysql=${mysql}"];
-        buildInputs = [ mysql ];
-      };
-
-      bcmath = {
-        configureFlags = ["--enable-bcmath"];
-      };
-
-      gd = {
-        configureFlags = [
-          "--with-gd=${gd}"
-          "--with-png-dir=${libpng}"
-          "--with-jpeg-dir=${libjpeg}"
-        ];
-        buildInputs = [gd libpng libjpeg freetype];
-      };
-
-      soap = {
-        configureFlags = ["--enable-soap"];
-      };
-
-      sockets = {
-        configureFlags = ["--enable-sockets"];
-      };
-
-      openssl = {
-        configureFlags = ["--with-openssl=${openssl}"];
-        buildInputs = ["openssl"];
-      };
-
-      mbstring = {
-        configureFlags = ["--enable-mbstring"];
-      };
-
-      gettext = {
-        configureFlags = ["--with-gettext=${gettext}"];
-        buildInputs = [gettext];
-      };
-
-      imap = {
-        configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ]
-          # uwimap builds with kerberos on darwin
-          ++ stdenv.lib.optional (stdenv.isDarwin) "--with-kerberos";
-        buildInputs = [ uwimap openssl ]
-          ++ stdenv.lib.optional (!stdenv.isDarwin) pam;
-      };
-
-      intl = {
-        configureFlags = ["--enable-intl"];
-        buildInputs = [icu];
-      };
-
-      exif = {
-        configureFlags = ["--enable-exif"];
-      };
-
-      xsl = {
-        configureFlags = ["--with-xsl=${libxslt}"];
-        buildInputs = [libxslt];
-      };
-
-      mcrypt = {
-        configureFlags = ["--with-mcrypt=${libmcrypt}"];
-        buildInputs = [libmcryptOverride];
-      };
-
-      bz2 = {
-        configureFlags = ["--with-bz2=${bzip2}"];
-        buildInputs = [bzip2];
-      };
-
-      zip = {
-        configureFlags = ["--enable-zip"];
-      };
-
-      ftp = {
-        configureFlags = ["--enable-ftp"];
-      };
-
-      fpm = {
-        configureFlags = ["--enable-fpm"];
-      };
-    };
-
-  cfg = {
-    apxs2Support = config.php.apxs2 or true;
-    bcmathSupport = config.php.bcmath or true;
-    bz2Support = config.php.bz2 or false;
-    curlSupport = config.php.curl or true;
-    exifSupport = config.php.exif or true;
-    ftpSupport = config.php.ftp or true;
-    fpmSupport = config.php.fpm or false;
-    gdSupport = config.php.gd or true;
-    gettextSupport = config.php.gettext or true;
-    imapSupport = config.php.imap or false;
-    intlSupport = config.php.intl or true;
-    libxml2Support = config.php.libxml2 or true;
-    mbstringSupport = config.php.mbstring or true;
-    mcryptSupport = config.php.mcrypt or false;
-    mysqlSupport = config.php.mysql or true;
-    mysqliSupport = config.php.mysqli or true;
-    opensslSupport = config.php.openssl or true;
-    pcntlSupport = config.php.pcntl or true;
-    pdo_mysqlSupport = config.php.pdo_mysql or true;
-    postgresqlSupport = config.php.postgresql or true;
-    readlineSupport = config.php.readline or true;
-    soapSupport = config.php.soap or true;
-    socketsSupport = config.php.sockets or true;
-    sqliteSupport = config.php.sqlite or true;
-    xslSupport = config.php.xsl or false;
-    zipSupport = config.php.zip or true;
-    zlibSupport = config.php.zlib or true;
-  };
-
-  configurePhase = ''
-    iniFile=$out/etc/php-recommended.ini
-    [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
-    ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
-    echo configurePhase end
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # don't build php.dSYM as the php binary
-    sed -i 's/EXEEXT = \.dSYM/EXEEXT =/' Makefile
-  '';
-
-  installPhase = ''
-    unset installPhase; installPhase;
-    cp php.ini-production $iniFile
-  '' + ( stdenv.lib.optionalString stdenv.isDarwin ''
-    for prog in $out/bin/*; do
-      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "$DYLD_LIBRARY_PATH"
-    done
-  '' );
-
-  src = fetchurl {
-    url = "http://www.php.net/distributions/php-${version}.tar.bz2";
-    sha256 = "04w53nn6qacpkd1x381mzd41kqh6k8kjnbyg44yvnkqwcl69db0c";
-    name = "php-${version}.tar.bz2";
-  };
-
-  meta = {
-    description = "An HTML-embedded scripting language";
-    homepage    = http://www.php.net/;
-    license     = "PHP-3";
-    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
-    platforms   = stdenv.lib.platforms.unix;
-  };
-
-  patches = [ ./fix.patch ./5.3-freetype-dirs.patch ];
-
-})
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index e39661b224a..6796a195286 100644
--- a/pkgs/development/interpreters/php/5.4.nix
+++ b/pkgs/development/interpreters/php/5.4.nix
@@ -9,7 +9,7 @@ in
 
 composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.4.31";
+  version = "5.4.39";
 
   name = "php-${version}";
 
@@ -41,10 +41,14 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       };
 
       curl = {
-        configureFlags = ["--with-curl=${curl}" "--with-curlwrappers"];
+        configureFlags = ["--with-curl=${curl}"];
         buildInputs = [curl openssl];
       };
 
+      curlWrappers = {
+        configureFlags = ["--with-curlwrappers"];
+      };
+
       zlib = {
         configureFlags = ["--with-zlib=${zlib}"];
         buildInputs = [zlib];
@@ -83,13 +87,13 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       };
 
       mysql = {
-        configureFlags = ["--with-mysql=${mysql}"];
-        buildInputs = [ mysql ];
+        configureFlags = ["--with-mysql=${mysql.lib}"];
+        buildInputs = [ mysql.lib ];
       };
 
       mysqli = {
-        configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"];
-        buildInputs = [ mysql];
+        configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
+        buildInputs = [ mysql.lib ];
       };
 
       mysqli_embedded = {
@@ -99,8 +103,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       };
 
       pdo_mysql = {
-        configureFlags = ["--with-pdo-mysql=${mysql}"];
-        buildInputs = [ mysql ];
+        configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
+        buildInputs = [ mysql.lib ];
       };
 
       bcmath = {
@@ -181,16 +185,18 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
         buildInputs = [freetds];
       };
 
+      zts = {
+        configureFlags = ["--enable-maintainer-zts"];
+      };
+
+      calendar = {
+        configureFlags = ["--enable-calendar"];
+      };
+
       /*
          php is build within this derivation in order to add the xdebug lines to the php.ini.
          So both Apache and command line php both use xdebug without having to configure anything.
          Xdebug could be put in its own derivation.
-      * /
-        meta = {
-                description = "debugging support for PHP";
-                homepage = http://xdebug.org;
-                license = "based on the PHP license - as is";
-                };
       */
     };
 
@@ -205,6 +211,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
     bcmathSupport = config.php.bcmath or true;
     socketsSupport = config.php.sockets or true;
     curlSupport = config.php.curl or true;
+    curlWrappersSupport = config.php.curlWrappers or false;
     gettextSupport = config.php.gettext or true;
     pcntlSupport = config.php.pcntl or true;
     postgresqlSupport = config.php.postgresql or true;
@@ -225,6 +232,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
     ftpSupport = config.php.ftp or true;
     fpmSupport = config.php.fpm or true;
     mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
+    ztsSupport = config.php.zts or false;
+    calendarSupport = config.php.calendar or false;
   };
 
   configurePhase = ''
@@ -249,15 +258,16 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
 
   src = fetchurl {
     url = "http://www.php.net/distributions/php-${version}.tar.bz2";
-    sha256 = "0kci0yir923fc7dv7j9qrc10pj05v82jnxjxjbgrj7gx64a4k3jy";
+    sha256 = "0znpd6pgri5vah4j4wwamhqc60awila43bhh699p973hir9pdsvw";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An HTML-embedded scripting language";
     homepage = http://www.php.net/;
-    license = "PHP-3";
+    license = stdenv.lib.licenses.php301;
+    maintainers = with maintainers; [ globin ];
   };
 
-  patches = [ ./fix-5.4.patch ];
+  patches = [ ./fix-paths.patch ];
 
 })
diff --git a/pkgs/development/interpreters/php/5.5.nix b/pkgs/development/interpreters/php/5.5.nix
new file mode 100644
index 00000000000..87aff4ff1a2
--- /dev/null
+++ b/pkgs/development/interpreters/php/5.5.nix
@@ -0,0 +1,270 @@
+{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
+, apacheHttpd, mysql, libxml2, readline, zlib, curl, postgresql, gettext
+, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
+, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
+, uwimap, pam, gmp }:
+
+let
+  libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
+in
+
+composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
+
+  version = "5.5.21";
+
+  name = "php-${version}";
+
+  enableParallelBuilding = true;
+
+  buildInputs = ["flex" "bison" "pkgconfig"];
+
+  flags = {
+
+    # much left to do here...
+
+    # SAPI modules:
+
+      apxs2 = {
+        configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
+        buildInputs = [apacheHttpd];
+      };
+
+      # Extensions
+      imap = {
+        configureFlags = [
+          "--with-imap=${uwimap}"
+          "--with-imap-ssl"
+          ];
+        buildInputs = [ uwimap openssl pam ];
+      };
+
+      ldap = {
+        configureFlags = ["--with-ldap=${openldap}"];
+        buildInputs = [openldap cyrus_sasl openssl];
+      };
+
+      mhash = {
+        configureFlags = ["--with-mhash"];
+        buildInputs = [libmhash];
+      };
+
+      curl = {
+        configureFlags = ["--with-curl=${curl}"];
+        buildInputs = [curl openssl];
+      };
+
+      zlib = {
+        configureFlags = ["--with-zlib=${zlib}"];
+        buildInputs = [zlib];
+      };
+
+      libxml2 = {
+        configureFlags = [
+          "--with-libxml-dir=${libxml2}"
+          ];
+        buildInputs = [ libxml2 ];
+      };
+
+      pcntl = {
+        configureFlags = [ "--enable-pcntl" ];
+      };
+
+      readline = {
+        configureFlags = ["--with-readline=${readline}"];
+        buildInputs = [ readline ];
+      };
+
+      sqlite = {
+        configureFlags = ["--with-pdo-sqlite=${sqlite}"];
+        buildInputs = [ sqlite ];
+      };
+
+      postgresql = {
+        configureFlags = ["--with-pgsql=${postgresql}"];
+        buildInputs = [ postgresql ];
+      };
+
+      pdo_pgsql = {
+        configureFlags = ["--with-pdo-pgsql=${postgresql}"];
+        buildInputs = [ postgresql ];
+      };
+
+      mysql = {
+        configureFlags = ["--with-mysql=${mysql.lib}"];
+        buildInputs = [ mysql.lib ];
+      };
+
+      mysqli = {
+        configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
+        buildInputs = [ mysql.lib ];
+      };
+
+      mysqli_embedded = {
+        configureFlags = ["--enable-embedded-mysqli"];
+        depends = "mysqli";
+        assertion = fixed.mysqliSupport;
+      };
+
+      pdo_mysql = {
+        configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
+        buildInputs = [ mysql.lib ];
+      };
+
+      bcmath = {
+        configureFlags = ["--enable-bcmath"];
+      };
+
+      gd = {
+        # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
+        configureFlags = [
+          "--with-gd"
+          "--with-freetype-dir=${freetype}"
+          "--with-png-dir=${libpng}"
+          "--with-jpeg-dir=${libjpeg}"
+        ];
+        buildInputs = [ libpng libjpeg freetype ];
+      };
+
+      gmp = {
+        configureFlags = ["--with-gmp=${gmp}"];
+        buildInputs = [ gmp ];
+      };
+
+      soap = {
+        configureFlags = ["--enable-soap"];
+      };
+
+      sockets = {
+        configureFlags = ["--enable-sockets"];
+      };
+
+      openssl = {
+        configureFlags = ["--with-openssl=${openssl}"];
+        buildInputs = ["openssl"];
+      };
+
+      mbstring = {
+        configureFlags = ["--enable-mbstring"];
+      };
+
+      gettext = {
+        configureFlags = ["--with-gettext=${gettext}"];
+        buildInputs = [gettext];
+      };
+
+      intl = {
+        configureFlags = ["--enable-intl"];
+        buildInputs = [icu];
+      };
+
+      exif = {
+        configureFlags = ["--enable-exif"];
+      };
+
+      xsl = {
+        configureFlags = ["--with-xsl=${libxslt}"];
+        buildInputs = [libxslt];
+      };
+
+      mcrypt = {
+        configureFlags = ["--with-mcrypt=${libmcryptOverride}"];
+        buildInputs = [libmcryptOverride];
+      };
+
+      bz2 = {
+        configureFlags = ["--with-bz2=${bzip2}"];
+        buildInputs = [bzip2];
+      };
+
+      zip = {
+        configureFlags = ["--enable-zip"];
+      };
+
+      ftp = {
+        configureFlags = ["--enable-ftp"];
+      };
+
+      fpm = {
+        configureFlags = ["--enable-fpm"];
+      };
+
+      mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
+        configureFlags = ["--with-mssql=${freetds}"];
+        buildInputs = [freetds];
+      };
+
+      calendar = {
+        configureFlags = ["--enable-calendar"];
+      };
+    };
+
+  cfg = {
+    imapSupport = config.php.imap or true;
+    ldapSupport = config.php.ldap or true;
+    mhashSupport = config.php.mhash or true;
+    mysqlSupport = config.php.mysql or true;
+    mysqliSupport = config.php.mysqli or true;
+    pdo_mysqlSupport = config.php.pdo_mysql or true;
+    libxml2Support = config.php.libxml2 or true;
+    apxs2Support = config.php.apxs2 or true;
+    bcmathSupport = config.php.bcmath or true;
+    socketsSupport = config.php.sockets or true;
+    curlSupport = config.php.curl or true;
+    gettextSupport = config.php.gettext or true;
+    pcntlSupport = config.php.pcntl or true;
+    postgresqlSupport = config.php.postgresql or true;
+    readlineSupport = config.php.readline or true;
+    sqliteSupport = config.php.sqlite or true;
+    soapSupport = config.php.soap or true;
+    zlibSupport = config.php.zlib or true;
+    opensslSupport = config.php.openssl or true;
+    mbstringSupport = config.php.mbstring or true;
+    gdSupport = config.php.gd or true;
+    intlSupport = config.php.intl or true;
+    exifSupport = config.php.exif or true;
+    xslSupport = config.php.xsl or false;
+    mcryptSupport = config.php.mcrypt or true;
+    bz2Support = config.php.bz2 or false;
+    zipSupport = config.php.zip or true;
+    ftpSupport = config.php.ftp or true;
+    fpmSupport = config.php.fpm or true;
+    gmpSupport = config.php.gmp or true;
+    mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
+    calendarSupport = config.php.calendar or true;
+  };
+
+  configurePhase = ''
+    # Don't record the configure flags since this causes unnecessary
+    # runtime dependencies.
+    for i in main/build-defs.h.in scripts/php-config.in; do
+      substituteInPlace $i \
+        --replace '@CONFIGURE_COMMAND@' '(omitted)' \
+        --replace '@CONFIGURE_OPTIONS@' "" \
+        --replace '@PHP_LDFLAGS@' ""
+    done
+
+    iniFile=$out/etc/php-recommended.ini
+    [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
+    ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
+  '';
+
+  installPhase = ''
+    unset installPhase; installPhase;
+    cp php.ini-production $iniFile
+  '';
+
+  src = fetchurl {
+    url = "http://www.php.net/distributions/php-${version}.tar.bz2";
+    sha256 = "1zl3valcak5hb4fmivpfa66arwpvi19js1d5cxq5vjn4fncl5sb2";
+  };
+
+  meta = with stdenv.lib; {
+    description = "An HTML-embedded scripting language";
+    homepage = http://www.php.net/;
+    license = stdenv.lib.licenses.php301;
+    maintainers = with maintainers; [ globin ];
+  };
+
+  patches = [ ./fix-paths.patch ];
+
+})
diff --git a/pkgs/development/interpreters/php/5.6.nix b/pkgs/development/interpreters/php/5.6.nix
new file mode 100644
index 00000000000..1fa98708920
--- /dev/null
+++ b/pkgs/development/interpreters/php/5.6.nix
@@ -0,0 +1,272 @@
+{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
+, apacheHttpd, mysql, libxml2, readline, zlib, curl, postgresql, gettext
+, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
+, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
+, uwimap, pam, gmp }:
+
+let
+  libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
+in
+
+composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
+
+  version = "5.6.5";
+
+  name = "php-${version}";
+
+  enableParallelBuilding = true;
+
+  buildInputs = ["flex" "bison" "pkgconfig"];
+
+  flags = {
+
+    # much left to do here...
+
+    # SAPI modules:
+
+      apxs2 = {
+        configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
+        buildInputs = [apacheHttpd];
+      };
+
+      # Extensions
+      imap = {
+        configureFlags = [
+          "--with-imap=${uwimap}"
+          "--with-imap-ssl"
+          ];
+        buildInputs = [ uwimap openssl pam ];
+      };
+
+      ldap = {
+        configureFlags = ["--with-ldap=${openldap}"];
+        buildInputs = [openldap cyrus_sasl openssl];
+      };
+
+      mhash = {
+        configureFlags = ["--with-mhash"];
+        buildInputs = [libmhash];
+      };
+
+      curl = {
+        configureFlags = ["--with-curl=${curl}"];
+        buildInputs = [curl openssl];
+      };
+
+      zlib = {
+        configureFlags = ["--with-zlib=${zlib}"];
+        buildInputs = [zlib];
+      };
+
+      libxml2 = {
+        configureFlags = [
+          "--with-libxml-dir=${libxml2}"
+          ];
+        buildInputs = [ libxml2 ];
+      };
+
+      pcntl = {
+        configureFlags = [ "--enable-pcntl" ];
+      };
+
+      readline = {
+        configureFlags = ["--with-readline=${readline}"];
+        buildInputs = [ readline ];
+      };
+
+      sqlite = {
+        configureFlags = ["--with-pdo-sqlite=${sqlite}"];
+        buildInputs = [ sqlite ];
+      };
+
+      postgresql = {
+        configureFlags = ["--with-pgsql=${postgresql}"];
+        buildInputs = [ postgresql ];
+      };
+
+      pdo_pgsql = {
+        configureFlags = ["--with-pdo-pgsql=${postgresql}"];
+        buildInputs = [ postgresql ];
+      };
+
+      mysql = {
+        configureFlags = ["--with-mysql=${mysql.lib}"];
+        buildInputs = [ mysql.lib ];
+      };
+
+      mysqli = {
+        configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
+        buildInputs = [ mysql.lib ];
+      };
+
+      mysqli_embedded = {
+        configureFlags = ["--enable-embedded-mysqli"];
+        depends = "mysqli";
+        assertion = fixed.mysqliSupport;
+      };
+
+      pdo_mysql = {
+        configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
+        buildInputs = [ mysql.lib ];
+      };
+
+      bcmath = {
+        configureFlags = ["--enable-bcmath"];
+      };
+
+      gd = {
+        # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
+        configureFlags = [
+          "--with-gd"
+          "--with-freetype-dir=${freetype}"
+          "--with-png-dir=${libpng}"
+          "--with-jpeg-dir=${libjpeg}"
+        ];
+        buildInputs = [ libpng libjpeg freetype ];
+      };
+
+      gmp = {
+        configureFlags = ["--with-gmp=${gmp}"];
+        buildInputs = [ gmp ];
+      };
+
+      soap = {
+        configureFlags = ["--enable-soap"];
+      };
+
+      sockets = {
+        configureFlags = ["--enable-sockets"];
+      };
+
+      openssl = {
+        configureFlags = ["--with-openssl=${openssl}"];
+        buildInputs = ["openssl"];
+      };
+
+      mbstring = {
+        configureFlags = ["--enable-mbstring"];
+      };
+
+      gettext = {
+        configureFlags = ["--with-gettext=${gettext}"];
+        buildInputs = [gettext];
+      };
+
+      intl = {
+        configureFlags = ["--enable-intl"];
+        buildInputs = [icu];
+      };
+
+      exif = {
+        configureFlags = ["--enable-exif"];
+      };
+
+      xsl = {
+        configureFlags = ["--with-xsl=${libxslt}"];
+        buildInputs = [libxslt];
+      };
+
+      mcrypt = {
+        configureFlags = ["--with-mcrypt=${libmcryptOverride}"];
+        buildInputs = [libmcryptOverride];
+      };
+
+      bz2 = {
+        configureFlags = ["--with-bz2=${bzip2}"];
+        buildInputs = [bzip2];
+      };
+
+      zip = {
+        configureFlags = ["--enable-zip"];
+      };
+
+      ftp = {
+        configureFlags = ["--enable-ftp"];
+      };
+
+      fpm = {
+        configureFlags = ["--enable-fpm"];
+      };
+
+      mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
+        configureFlags = ["--with-mssql=${freetds}"];
+        buildInputs = [freetds];
+      };
+
+
+      calendar = {
+        configureFlags = ["--enable-calendar"];
+      };
+
+    };
+
+  cfg = {
+    imapSupport = config.php.imap or true;
+    ldapSupport = config.php.ldap or true;
+    mhashSupport = config.php.mhash or true;
+    mysqlSupport = config.php.mysql or true;
+    mysqliSupport = config.php.mysqli or true;
+    pdo_mysqlSupport = config.php.pdo_mysql or true;
+    libxml2Support = config.php.libxml2 or true;
+    apxs2Support = config.php.apxs2 or true;
+    bcmathSupport = config.php.bcmath or true;
+    socketsSupport = config.php.sockets or true;
+    curlSupport = config.php.curl or true;
+    gettextSupport = config.php.gettext or true;
+    pcntlSupport = config.php.pcntl or true;
+    postgresqlSupport = config.php.postgresql or true;
+    readlineSupport = config.php.readline or true;
+    sqliteSupport = config.php.sqlite or true;
+    soapSupport = config.php.soap or true;
+    zlibSupport = config.php.zlib or true;
+    opensslSupport = config.php.openssl or true;
+    mbstringSupport = config.php.mbstring or true;
+    gdSupport = config.php.gd or true;
+    intlSupport = config.php.intl or true;
+    exifSupport = config.php.exif or true;
+    xslSupport = config.php.xsl or false;
+    mcryptSupport = config.php.mcrypt or true;
+    bz2Support = config.php.bz2 or false;
+    zipSupport = config.php.zip or true;
+    ftpSupport = config.php.ftp or true;
+    fpmSupport = config.php.fpm or true;
+    gmpSupport = config.php.gmp or true;
+    mssqlSupport = config.php.mssql or (!stdenv.isDarwin);
+    calendarSupport = config.php.calendar or true;
+  };
+
+  configurePhase = ''
+    # Don't record the configure flags since this causes unnecessary
+    # runtime dependencies.
+    for i in main/build-defs.h.in scripts/php-config.in; do
+      substituteInPlace $i \
+        --replace '@CONFIGURE_COMMAND@' '(omitted)' \
+        --replace '@CONFIGURE_OPTIONS@' "" \
+        --replace '@PHP_LDFLAGS@' ""
+    done
+
+    iniFile=$out/etc/php-recommended.ini
+    [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
+    ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
+  '';
+
+  installPhase = ''
+    unset installPhase; installPhase;
+    cp php.ini-production $iniFile
+  '';
+
+  src = fetchurl {
+    url = "http://www.php.net/distributions/php-${version}.tar.bz2";
+    sha256 = "0vfhvwn84lrz9psf10sjnwljbna1r7yqxq3lmsh5qajifl3lraxd";
+  };
+
+  meta = with stdenv.lib; {
+    description = "An HTML-embedded scripting language";
+    homepage = http://www.php.net/;
+    license = stdenv.lib.licenses.php301;
+    maintainers = with maintainers; [ globin ];
+  };
+
+  patches = [ ./fix-paths.patch ];
+
+})
diff --git a/pkgs/development/interpreters/php/fix-5.4.patch b/pkgs/development/interpreters/php/fix-paths.patch
index 51d98549eee..51d98549eee 100644
--- a/pkgs/development/interpreters/php/fix-5.4.patch
+++ b/pkgs/development/interpreters/php/fix-paths.patch
diff --git a/pkgs/development/interpreters/php/fix.patch b/pkgs/development/interpreters/php/fix.patch
deleted file mode 100644
index 02f2c9c6c93..00000000000
--- a/pkgs/development/interpreters/php/fix.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- php-5.0.4/configure	2005-04-03 11:42:50.000000000 +0200
-+++ php-5.0.4-1/configure	2005-07-10 11:06:22.292271176 +0200
-@@ -3381,7 +3381,7 @@
- 
-   case $host_alias in
-   *aix*)
--    APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR`
-+    APXS_LIBEXECDIR="$prefix/modules"
-     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp"
-     PHP_AIX_LDFLAGS="-Wl,-brtl"
-     build_type=shared
-@@ -3576,7 +3576,7 @@
-   if test "$?" != "0"; then
-     APACHE_INSTALL="$APXS -i -a -n php5 $SAPI_SHARED" # Old apxs does not have -S option
-   else 
--    APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
-+    APXS_LIBEXECDIR="$prefix/modules"
-     if test -z `$APXS -q SYSCONFDIR`; then
-       APACHE_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
-                        $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-@@ -4680,7 +4680,7 @@
-     { echo "configure: error: Please note that Apache version >= 2.0.40 is required." 1>&2; exit 1; }
-   fi
- 
--  APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
-+  APXS_LIBEXECDIR="$prefix/modules"
-   if test -z `$APXS -q SYSCONFDIR`; then
-     INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
-                  $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-@@ -5510,7 +5510,7 @@
-     { echo "configure: error: Please note that Apache version >= 2.0.44 is required." 1>&2; exit 1; }
-   fi
- 
--  APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
-+  APXS_LIBEXECDIR="$prefix/modules"
-   if test -z `$APXS -q SYSCONFDIR`; then
-     INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
-                  $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-@@ -6327,7 +6327,7 @@
- 
-   case $host_alias in
-   *aix*)
--    APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR`
-+    APXS_LIBEXECDIR="$prefix/modules"
-     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp"
-     PHP_AIX_LDFLAGS="-Wl,-brtl"
-     build_type=shared
-@@ -6522,7 +6522,7 @@
-   if test "$?" != "0"; then
-     APACHE_HOOKS_INSTALL="$APXS -i -a -n php5 $SAPI_SHARED" # Old apxs does not have -S option
-   else 
--    APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
-+    APXS_LIBEXECDIR="$prefix/modules"
-     if test -z `$APXS -q SYSCONFDIR`; then
-       APACHE_HOOKS_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
-                        $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-diff -rc php-5.3.18/configure php-5.3.18-new/configure
-*** php-5.3.18/configure	2012-10-17 18:29:10.000000000 +0200
---- php-5.3.18-new/configure	2012-11-13 05:36:24.730136551 +0100
-***************
-*** 45113,45121 ****
-  
-  
-  if test "$PHP_GETTEXT" != "no"; then
-!   for i in $PHP_GETTEXT /usr/local /usr; do
-!     test -r $i/include/libintl.h && GETTEXT_DIR=$i && break
-!   done
-  
-    if test -z "$GETTEXT_DIR"; then
-      { echo "configure: error: Cannot locate header file libintl.h" 1>&2; exit 1; }
---- 45113,45119 ----
-  
-  
-  if test "$PHP_GETTEXT" != "no"; then
-!   GETTEXT_DIR=$PHP_GETTEXT
-  
-    if test -z "$GETTEXT_DIR"; then
-      { echo "configure: error: Cannot locate header file libintl.h" 1>&2; exit 1; }
diff --git a/pkgs/development/interpreters/picolisp/default.nix b/pkgs/development/interpreters/picolisp/default.nix
index 196e7068e14..ddb2a26bab2 100644
--- a/pkgs/development/interpreters/picolisp/default.nix
+++ b/pkgs/development/interpreters/picolisp/default.nix
@@ -12,18 +12,18 @@ let
   sourceInfo = rec {
     baseName="picolisp";
     tarballBaseName="picoLisp";
-    version="3.0.5";
+    version="3.1.9";
     name="${baseName}-${version}";
     tarballName="${tarballBaseName}-${version}";
     extension="tgz";
     url="http://www.software-lab.de/${tarballName}.${extension}";
-    hash="07w2aygllkmnfcnby3dy88n9giqsas35s77rp2lr2ll5yy2hkc0x";
+    sha256="1rhfd743ga9qsgn4h2aw1xcgrc7amsllli2zqg8cgm408vxkr6j1";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = sourceInfo.sha256;
   };
 
   inherit (sourceInfo) name version;
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 84ae789150d..2860aceb383 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -1,52 +1,39 @@
-x@{builderDefsPackage
-  , llvm, gmp, mpfr, readline, bison, flex, makeWrapper
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ lib, stdenv, fetchurl, makeWrapper,
+  llvm, gmp, mpfr, readline, bison, flex }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="pure";
-    project="pure-lang";
-    version="0.58";
-    name="${baseName}-${version}";
-    extension="tar.gz";
+stdenv.mkDerivation rec {
+  baseName="pure";
+  project="pure-lang";
+  version="0.64";
+  name="${baseName}-${version}";
+  extension="tar.gz";
+
+  src = fetchurl {
     url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
-    hash="180ygv8nmfy8v4696km8jdahn5cnr454sc8i1av7s6z4ss7mrxmi";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256="01vvix302gh5vsmnjf2g0rrif3hl1yik4izsx1wrvv1a6hlm5mgg";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall" "doWrap"];
+  buildInputs = [ bison flex makeWrapper ];
+  propagatedBuildInputs = [ llvm gmp mpfr readline ];
 
-  doWrap = a.makeManyWrappers ''$out/bin/pure'' ''--prefix LD_LIBRARY_PATH : "${llvm}/lib"'';
+  configureFlags = [ "--enable-release" ];
+  doCheck = true;
+  checkPhase = ''
+    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${llvm}/lib make check
+  '';
+  postInstall = ''
+    wrapProgram $out/bin/pure --prefix LD_LIBRARY_PATH : ${llvm}/lib
+  '';
 
   meta = {
-    description = "A purely functional programming language based on term rewriting";
-    maintainers = with a.lib.maintainers;
+    description = "A modern-style functional programming language based on term rewriting";
+    maintainers = with lib.maintainers;
     [
       raskin
+      asppsa
     ];
-    platforms = with a.lib.platforms;
+    platforms = with lib.platforms;
       linux;
-    license = a.lib.licenses.gpl3Plus;
+    license = lib.licenses.gpl3Plus;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "https://bitbucket.org/purelang/pure-lang/downloads";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/development/interpreters/pypy/2.3/default.nix b/pkgs/development/interpreters/pypy/2.3/default.nix
deleted file mode 100644
index 0ed13e2f646..00000000000
--- a/pkgs/development/interpreters/pypy/2.3/default.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
-, sqlite, openssl, ncurses, pythonFull, expat, tcl, tk, x11, libX11 }:
-
-assert zlibSupport -> zlib != null;
-
-let
-
-  majorVersion = "2.3";
-  version = "${majorVersion}.1";
-  pythonVersion = "2.7";
-  libPrefix = "pypy${majorVersion}";
-
-  pypy = stdenv.mkDerivation rec {
-    name = "pypy-${version}";
-
-    inherit majorVersion version;
-
-    src = fetchurl {
-      url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
-      sha256 = "0fg4l48c7n59n5j3b1dgcsr927xzylkfny4a6pnk6z0pq2bhvl9z";
-    };
-
-    buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 ]
-      ++ stdenv.lib.optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc
-      ++ stdenv.lib.optional zlibSupport zlib;
-
-    C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs);
-    LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
-    LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") 
-      (stdenv.lib.filter (x : x.outPath != stdenv.gcc.libc.outPath or "") buildInputs));
-
-    preConfigure = ''
-      substituteInPlace Makefile \
-        --replace "-Ojit" "-Ojit --batch" \
-        --replace "pypy/goal/targetpypystandalone.py" "pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing"
-
-      # we are using cpython and not pypy to do translation
-      substituteInPlace rpython/bin/rpython \
-        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
-      substituteInPlace pypy/goal/targetpypystandalone.py \
-        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
-
-      # hint pypy to find nix ncurses
-      substituteInPlace pypy/module/_minimal_curses/fficurses.py \
-        --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \
-        --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \
-        --replace "ncurses/term.h" "${ncurses}/include/term.h" \
-        --replace "libraries=['curses']" "libraries=['ncurses']"
-
-      # tkinter hints
-      substituteInPlace lib_pypy/_tkinter/tklib.py \
-        --replace "'/usr/include/tcl'" "'${tk}/include', '${tcl}/include'" \
-        --replace "linklibs=['tcl', 'tk']" "linklibs=['tcl8.5', 'tk8.5']" \
-        --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']"
-
-      sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3.py
-    '';
-
-    setupHook = ./setup-hook.sh;
-
-    doCheck = true;
-    checkPhase = ''
-       export TERMINFO="${ncurses}/share/terminfo/";
-       export TERM="xterm";
-       export HOME="$TMPDIR";
-       # disable shutils because it assumes gid 0 exists
-       # disable socket because it has two actual network tests that fail
-       # disable test_mhlib because it fails for unknown reason
-       # disable sqlite3 due to https://bugs.pypy.org/issue1740
-       # disable test_multiprocessing due to transient errors
-       # disable test_os because test_urandom_failure fails
-      ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_sqlite -test_socket -test_os -test_shutil -test_mhlib -test_multiprocessing' lib-python
-    '';
-
-    installPhase = ''
-       mkdir -p $out/{bin,include,lib,pypy-c}
-
-       cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
-       ln -s $out/pypy-c/pypy-c $out/bin/pypy
-       chmod +x $out/bin/pypy
-
-       # other packages expect to find stuff according to libPrefix
-       ln -s $out/pypy-c/include $out/include/${libPrefix}
-       ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
-
-       # verify cffi modules
-       $out/bin/pypy -c "import Tkinter;import sqlite3"
-
-       # TODO: compile python files?
-    '';
-
-    passthru = {
-      inherit zlibSupport libPrefix;
-      executable = "pypy";
-      isPypy = true;
-    };
-
-    enableParallelBuilding = true;
-
-    meta = with stdenv.lib; {
-      homepage = "http://pypy.org/";
-      description = "Fast, compliant alternative implementation of the Python language (2.7.3)";
-      license = licenses.mit;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ iElectric ];
-    };
-  };
-
-in pypy
diff --git a/pkgs/development/interpreters/pypy/2.3/setup-hook.sh b/pkgs/development/interpreters/pypy/2.3/setup-hook.sh
deleted file mode 100644
index 7d325828d0e..00000000000
--- a/pkgs/development/interpreters/pypy/2.3/setup-hook.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.3/site-packages
-}
-
-toPythonPath() {
-    local paths="$1"
-    local result=
-    for i in $paths; do
-        p="$i/lib/pypy2.3/site-packages"
-        result="${result}${result:+:}$p"
-    done
-    echo $result
-}
-
-envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/pypy/default.nix b/pkgs/development/interpreters/pypy/default.nix
new file mode 100644
index 00000000000..f67c48c62d8
--- /dev/null
+++ b/pkgs/development/interpreters/pypy/default.nix
@@ -0,0 +1,119 @@
+{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
+, sqlite, openssl, ncurses, pythonFull, expat, tcl, tk, x11, libX11
+, makeWrapper, callPackage, self }:
+
+assert zlibSupport -> zlib != null;
+
+let
+
+  majorVersion = "2.5";
+  version = "${majorVersion}.0";
+  libPrefix = "pypy${majorVersion}";
+
+  pypy = stdenv.mkDerivation rec {
+    name = "pypy-${version}";
+    pythonVersion = "2.7";
+
+    inherit majorVersion version;
+
+    src = fetchurl {
+      url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
+      sha256 = "126zrsx6663n9w60018mii1z7cqb87iq9irnhp8z630mldallr4d";
+    };
+
+    buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 makeWrapper ]
+      ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
+      ++ stdenv.lib.optional zlibSupport zlib;
+
+    C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs);
+    LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
+    LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib")
+      (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs));
+
+    preConfigure = ''
+      substituteInPlace Makefile \
+        --replace "-Ojit" "-Ojit --batch" \
+        --replace "pypy/goal/targetpypystandalone.py" "pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing"
+
+      # we are using cpython and not pypy to do translation
+      substituteInPlace rpython/bin/rpython \
+        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
+      substituteInPlace pypy/goal/targetpypystandalone.py \
+        --replace "/usr/bin/env pypy" "${pythonFull}/bin/python"
+
+      # hint pypy to find nix ncurses
+      substituteInPlace pypy/module/_minimal_curses/fficurses.py \
+        --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \
+        --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \
+        --replace "ncurses/term.h" "${ncurses}/include/term.h" \
+        --replace "libraries=['curses']" "libraries=['ncurses']"
+
+      # tkinter hints
+      substituteInPlace lib_pypy/_tkinter/tklib.py \
+        --replace "'/usr/include/tcl'" "'${tk}/include', '${tcl}/include'" \
+        --replace "linklibs=['tcl', 'tk']" "linklibs=['tcl8.5', 'tk8.5']" \
+        --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']"
+
+      sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3.py
+    '';
+
+    setupHook = ./setup-hook.sh;
+
+    doCheck = true;
+    checkPhase = ''
+       export TERMINFO="${ncurses}/share/terminfo/";
+       export TERM="xterm";
+       export HOME="$TMPDIR";
+       # disable shutils because it assumes gid 0 exists
+       # disable socket because it has two actual network tests that fail
+       # disable test_mhlib because it fails for unknown reason
+       # disable sqlite3 due to https://bugs.pypy.org/issue1740
+       # disable test_multiprocessing due to transient errors
+       # disable test_os because test_urandom_failure fails
+       # disable test_urllib2net and test_urllibnet because it requires networking (example.com)
+       # disable test_zipfile64 because it randomly timeouts
+       # disable test_cpickle because timeouts
+       # disable test_ssl because no shared cipher' not found in '[Errno 1] error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
+      ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not (test_ssl or test_cpickle or test_sqlite or test_urllib2net or test_urllibnet or test_socket or test_os or test_shutil or test_mhlib or test_multiprocessing or test_zipfile64)' lib-python
+    '';
+
+    installPhase = ''
+       mkdir -p $out/{bin,include,lib,pypy-c}
+
+       cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c
+       cp libpypy-c.so $out/lib/
+       ln -s $out/pypy-c/pypy-c $out/bin/pypy
+       chmod +x $out/bin/pypy
+
+       # other packages expect to find stuff according to libPrefix
+       ln -s $out/pypy-c/include $out/include/${libPrefix}
+       ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix}
+
+       wrapProgram "$out/bin/pypy" \
+         --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
+         --set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
+
+       # verify cffi modules
+       $out/bin/pypy -c "import Tkinter;import sqlite3;import curses"
+    '';
+
+    passthru = rec {
+      inherit zlibSupport libPrefix;
+      executable = "pypy";
+      isPypy = true;
+      buildEnv = callPackage ../python/wrapper.nix { python = self; };
+      interpreter = "${self}/bin/${executable}";
+    };
+
+    enableParallelBuilding = true;  # almost no parallelization without STM
+
+    meta = with stdenv.lib; {
+      homepage = http://pypy.org/;
+      description = "Fast, compliant alternative implementation of the Python language (2.7.8)";
+      license = licenses.mit;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ iElectric ];
+    };
+  };
+
+in pypy
diff --git a/pkgs/development/interpreters/pypy/setup-hook.sh b/pkgs/development/interpreters/pypy/setup-hook.sh
new file mode 100644
index 00000000000..057e619ebc8
--- /dev/null
+++ b/pkgs/development/interpreters/pypy/setup-hook.sh
@@ -0,0 +1,15 @@
+addPythonPath() {
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.5/site-packages
+}
+
+toPythonPath() {
+    local paths="$1"
+    local result=
+    for i in $paths; do
+        p="$i/lib/pypy2.5/site-packages"
+        result="${result}${result:+:}$p"
+    done
+    echo $result
+}
+
+envHooks+=(addPythonPath)
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 64e21b75569..9bf161ffc1a 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -1,13 +1,11 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm
-}:
+{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, includeModules ? false
+, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, self, callPackage }:
 
 assert zlibSupport -> zlib != null;
 
 with stdenv.lib;
 
 let
-
   majorVersion = "2.6";
   version = "${majorVersion}.9";
 
@@ -26,58 +24,80 @@ let
       # doesn't work in Nix because Nix changes the mtime of files in
       # the Nix store to 1.  So treat that as a special case.
       ./nix-store-mtime.patch
+
+      # http://bugs.python.org/issue10013
+      ./python2.6-fix-parallel-make.patch
     ];
+    
+  preConfigure = ''
+      # Purity.
+      for i in /usr /sw /opt /pkg; do
+        substituteInPlace ./setup.py --replace $i /no-such-path
+      done
+    '' + optionalString (stdenv ? cc && stdenv.cc.libc != null) ''
+      for i in Lib/plat-*/regen; do
+        substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/
+      done
+    '' + optionalString stdenv.isCygwin ''
+      # On Cygwin, `make install' tries to read this Makefile.
+      mkdir -p $out/lib/python${majorVersion}/config
+      touch $out/lib/python${majorVersion}/config/Makefile
+      mkdir -p $out/include/python${majorVersion}
+      touch $out/include/python${majorVersion}/pyconfig.h
+    '';
 
   buildInputs =
-    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [ bzip2 openssl ]
+    optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
+    [ bzip2 openssl ]++ optionals includeModules [ db openssl ncurses gdbm readline x11 tcl tk sqlite ]
     ++ optional zlibSupport zlib;
 
 
   # Build the basic Python interpreter without modules that have
   # external dependencies.
   python = stdenv.mkDerivation {
-    name = "python-${version}";
+    name = "python${if includeModules then "" else "-minimal"}-${version}";
+    pythonVersion = majorVersion;
 
-    inherit majorVersion version src patches buildInputs;
+    inherit majorVersion version src patches buildInputs preConfigure;
 
     C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
     LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
 
     configureFlags = "--enable-shared --with-threads --enable-unicode";
 
-    preConfigure =
-      ''
-        # Purity.
-        for i in /usr /sw /opt /pkg; do
-          substituteInPlace ./setup.py --replace $i /no-such-path
-        done
-      '' + optionalString (stdenv ? gcc && stdenv.gcc.libc != null) ''
-        for i in Lib/plat-*/regen; do
-          substituteInPlace $i --replace /usr/include/ ${stdenv.gcc.libc}/include/
-        done
-      '';
-
     NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
 
     setupHook = ./setup-hook.sh;
 
     postInstall =
       ''
-        rm -rf "$out/lib/python${majorVersion}/test"
+        # needed for some packages, especially packages that backport
+        # functionality to 2.x from 3.x
+        for item in $out/lib/python${majorVersion}/test/*; do
+          if [[ "$item" != */test_support.py* ]]; then
+            rm -rf "$item"
+          fi
+        done
+        touch $out/lib/python${majorVersion}/test/__init__.py
         ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb
         ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion}
         mv $out/share/man/man1/{python.1,python2.6.1}
         ln -s $out/share/man/man1/{python2.6.1,python.1}
+        
+        paxmark E $out/bin/python${majorVersion}
+        
+        ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"}
       '';
 
     passthru = rec {
       inherit zlibSupport;
       isPy2 = true;
       isPy26 = true;
+      buildEnv = callPackage ../wrapper.nix { python = self; };
       libPrefix = "python${majorVersion}";
       executable = libPrefix;
       sitePackages = "lib/${libPrefix}/site-packages";
+      interpreter = "${self}/bin/${executable}";
     };
 
     enableParallelBuilding = true;
@@ -96,7 +116,7 @@ let
       '';
       license = stdenv.lib.licenses.psfl;
       platforms = stdenv.lib.platforms.all;
-      maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
+      maintainers = with stdenv.lib.maintainers; [ simons chaoflow iElectric ];
     };
   };
 
@@ -108,25 +128,18 @@ let
     , internalName ? "_" + moduleName
     , deps
     }:
-    stdenv.mkDerivation rec {
+    if includeModules then null else stdenv.mkDerivation rec {
       name = "python-${moduleName}-${python.version}";
 
-      inherit src patches;
+      inherit src patches preConfigure;
 
       buildInputs = [ python ] ++ deps;
 
       C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
       LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
 
-      configurePhase = "true";
-
       buildPhase =
         ''
-          # Fake the build environment that setup.py expects.
-          ln -s ${python}/include/python*/pyconfig.h .
-          ln -s ${python}/lib/python*/config/Setup Modules/
-          ln -s ${python}/lib/python*/config/Setup.local Modules/
-
           substituteInPlace setup.py --replace 'self.extensions = extensions' \
             'self.extensions = [ext for ext in self.extensions if ext.name in ["${internalName}"]]'
 
@@ -178,8 +191,6 @@ let
       deps = [ sqlite ];
     };
 
-    ssl = null;
-
     tkinter = buildInternalPythonModule {
       moduleName = "tkinter";
       deps = [ tcl tk x11 ];
diff --git a/pkgs/development/interpreters/python/2.6/python2.6-fix-parallel-make.patch b/pkgs/development/interpreters/python/2.6/python2.6-fix-parallel-make.patch
new file mode 100644
index 00000000000..c43e141f9af
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.6/python2.6-fix-parallel-make.patch
@@ -0,0 +1,37 @@
+diff -up Python-2.7/Makefile.pre.in.fix-parallel-make Python-2.7/Makefile.pre.in
+--- Python-2.7/Makefile.pre.in.fix-parallel-make	2010-07-22 15:01:39.567996932 -0400
++++ Python-2.7/Makefile.pre.in	2010-07-22 15:47:02.437998509 -0400
+@@ -207,6 +207,7 @@ SIGNAL_OBJS=	@SIGNAL_OBJS@
+ 
+ ##########################################################################
+ # Grammar
++GRAMMAR_STAMP=	$(srcdir)/grammar-stamp
+ GRAMMAR_H=	$(srcdir)/Include/graminit.h
+ GRAMMAR_C=	$(srcdir)/Python/graminit.c
+ GRAMMAR_INPUT=	$(srcdir)/Grammar/Grammar
+@@ -530,10 +531,24 @@ Modules/getpath.o: $(srcdir)/Modules/get
+ Modules/python.o: $(srcdir)/Modules/python.c
+ 	$(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
+ 
++# GNU "make" interprets rules with two dependents as two copies of the rule.
++# 
++# In a parallel build this can lead to pgen being run twice, once for each of
++# GRAMMAR_H and GRAMMAR_C, leading to race conditions in which the compiler
++# reads a partially-overwritten copy of one of these files, leading to syntax
++# errors (or linker errors if the fragment happens to be syntactically valid C)
++#
++# See http://www.gnu.org/software/hello/manual/automake/Multiple-Outputs.html
++# for more information
++#
++# Introduce ".grammar-stamp" as a contrived single output from PGEN to avoid
++# this:
++$(GRAMMAR_H) $(GRAMMAR_C): $(GRAMMAR_STAMP)
+ 
+-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
++$(GRAMMAR_STAMP): $(PGEN) $(GRAMMAR_INPUT)
+ 		-@$(INSTALL) -d Include
+ 		-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++		touch $(GRAMMAR_STAMP)
+ 
+ $(PGEN):	$(PGENOBJS)
+ 		$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix
index c19430862c2..8b24fe00463 100644
--- a/pkgs/development/interpreters/python/2.7/default.nix
+++ b/pkgs/development/interpreters/python/2.7/default.nix
@@ -1,18 +1,29 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, libX11 }:
+{ stdenv, fetchurl, self, callPackage
+, bzip2, openssl
+
+, includeModules ? false
+
+, db, gdbm, ncurses, sqlite, readline
+
+, tcl ? null, tk ? null, x11 ? null, libX11 ? null, x11Support ? true
+, zlib ? null, zlibSupport ? true
+}:
 
 assert zlibSupport -> zlib != null;
+assert x11Support -> tcl != null
+                  && tk != null
+                  && x11 != null
+                  && libX11 != null;
 
 with stdenv.lib;
 
 let
-
   majorVersion = "2.7";
-  version = "${majorVersion}.8";
+  version = "${majorVersion}.9";
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
-    sha256 = "0nh7d3dp75f1aj0pamn4hla8s0l7nbaq4a38brry453xrfh11ppd";
+    sha256 = "05j9in7yygfgl6nml0rixfvj1bbip982w3l54q05f0vyx8a7xllh";
   };
 
   patches =
@@ -30,31 +41,39 @@ let
       ./deterministic-build.patch
     ];
 
-  postPatch = stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
-    substituteInPlace ./Lib/plat-generic/regen \
-                      --replace /usr/include/netinet/in.h \
-                                ${stdenv.gcc.libc}/include/netinet/in.h
-  '';
-
-  buildInputs =
-    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [ bzip2 openssl ]
-    ++ optional zlibSupport zlib;
-
-  ensurePurity =
-    ''
+  preConfigure = ''
       # Purity.
       for i in /usr /sw /opt /pkg; do
         substituteInPlace ./setup.py --replace $i /no-such-path
       done
+    '' + optionalString (stdenv ? cc && stdenv.cc.libc != null) ''
+      for i in Lib/plat-*/regen; do
+        substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/
+      done
+    '' + optionalString stdenv.isCygwin ''
+      # On Cygwin, `make install' tries to read this Makefile.
+      mkdir -p $out/lib/python${majorVersion}/config
+      touch $out/lib/python${majorVersion}/config/Makefile
+      mkdir -p $out/include/python${majorVersion}
+      touch $out/include/python${majorVersion}/pyconfig.h
     '';
 
+  buildInputs =
+    optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
+    [ bzip2 openssl ]
+    ++ optionals includeModules (
+        [ db gdbm ncurses sqlite readline
+        ] ++ optionals x11Support [ tcl tk x11 libX11 ]
+    )
+    ++ optional zlibSupport zlib;
+
   # Build the basic Python interpreter without modules that have
   # external dependencies.
   python = stdenv.mkDerivation {
     name = "python-${version}";
+    pythonVersion = majorVersion;
 
-    inherit majorVersion version src patches postPatch buildInputs;
+    inherit majorVersion version src patches buildInputs preConfigure;
 
     LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
     C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
@@ -62,36 +81,41 @@ let
 
     configureFlags = "--enable-shared --with-threads --enable-unicode";
 
-    preConfigure = "${ensurePurity}" + optionalString stdenv.isCygwin
-      ''
-        # On Cygwin, `make install' tries to read this Makefile.
-        mkdir -p $out/lib/python${majorVersion}/config
-        touch $out/lib/python${majorVersion}/config/Makefile
-        mkdir -p $out/include/python${majorVersion}
-        touch $out/include/python${majorVersion}/pyconfig.h
-      '';
-
     NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
+    DETERMINISTIC_BUILD = 1;
 
     setupHook = ./setup-hook.sh;
 
     postInstall =
       ''
-        rm -rf "$out/lib/python${majorVersion}/test"
+        # needed for some packages, especially packages that backport
+        # functionality to 2.x from 3.x
+        for item in $out/lib/python${majorVersion}/test/*; do
+          if [[ "$item" != */test_support.py* ]]; then
+            rm -rf "$item"
+          else
+            echo $item
+          fi
+        done
+        touch $out/lib/python${majorVersion}/test/__init__.py
         ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb
         ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion}
         ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
 
         paxmark E $out/bin/python${majorVersion}
+
+        ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"}
       '';
 
     passthru = rec {
       inherit zlibSupport;
       isPy2 = true;
       isPy27 = true;
+      buildEnv = callPackage ../wrapper.nix { python = self; };
       libPrefix = "python${majorVersion}";
       executable = libPrefix;
       sitePackages = "lib/${libPrefix}/site-packages";
+      interpreter = "${self}/bin/${executable}";
     };
 
     enableParallelBuilding = true;
@@ -110,7 +134,7 @@ let
       '';
       license = stdenv.lib.licenses.psfl;
       platforms = stdenv.lib.platforms.all;
-      maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
+      maintainers = with stdenv.lib.maintainers; [ simons chaoflow iElectric ];
     };
   };
 
@@ -122,25 +146,17 @@ let
     , internalName ? "_" + moduleName
     , deps
     }:
-    stdenv.mkDerivation rec {
+    if includeModules then null else stdenv.mkDerivation rec {
       name = "python-${moduleName}-${python.version}";
 
-      inherit src patches postPatch;
+      inherit src patches preConfigure;
 
       buildInputs = [ python ] ++ deps;
 
       C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
       LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
 
-      configurePhase = "${ensurePurity}";
-
-      buildPhase =
-        ''
-          # Fake the build environment that setup.py expects.
-          ln -s ${python}/include/python*/pyconfig.h .
-          ln -s ${python}/lib/python*/config/Setup Modules/
-          ln -s ${python}/lib/python*/config/Setup.local Modules/
-
+      buildPhase = ''
           substituteInPlace setup.py --replace 'self.extensions = extensions' \
             'self.extensions = [ext for ext in self.extensions if ext.name in ["${internalName}"]]'
 
@@ -192,13 +208,15 @@ let
       deps = [ sqlite ];
     };
 
-    ssl = null;
+  } // optionalAttrs x11Support {
 
     tkinter = buildInternalPythonModule {
       moduleName = "tkinter";
       deps = [ tcl tk x11 libX11 ];
     };
 
+  } // {
+
     readline = buildInternalPythonModule {
       moduleName = "readline";
       internalName = "readline";
diff --git a/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch
deleted file mode 100644
index c69efd17f96..00000000000
--- a/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly.
-# It added the following line to NEWS:
-# - Issue #20246: Fix buffer overflow in socket.recvfrom_into.
-
-
-# HG changeset patch
-# User Benjamin Peterson <benjamin@python.org>
-# Date 1389671978 18000
-# Node ID 9c56217e5c793685eeaf0ee224848c402bdf1e4c
-# Parent  2b5cd6d4d149dea6c6941b7e07ada248b29fc9f6
-complain when nbytes > buflen to fix possible buffer overflow (closes #20246)
-
-diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
---- a/Lib/test/test_socket.py
-+++ b/Lib/test/test_socket.py
-@@ -1968,6 +1968,14 @@ class BufferIOTest(SocketConnectedTest):
- 
-     _testRecvFromIntoMemoryview = _testRecvFromIntoArray
- 
-+    def testRecvFromIntoSmallBuffer(self):
-+        # See issue #20246.
-+        buf = bytearray(8)
-+        self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024)
-+
-+    def _testRecvFromIntoSmallBuffer(self):
-+        self.serv_conn.send(MSG*2048)
-+
- 
- TIPC_STYPE = 2000
- TIPC_LOWER = 200
-diff --git a/Misc/ACKS b/Misc/ACKS
---- a/Misc/ACKS
-+++ b/Misc/ACKS
-@@ -1020,6 +1020,7 @@ Eric V. Smith
- Christopher Smith
- Gregory P. Smith
- Roy Smith
-+Ryan Smith-Roberts
- Rafal Smotrzyk
- Dirk Soede
- Paul Sokolovsky
-diff --git a/Misc/NEWS b/Misc/NEWS
---- a/Modules/socketmodule.c
-+++ b/Modules/socketmodule.c
-@@ -2598,6 +2598,11 @@ sock_recvfrom_into(PySocketSockObject *s
-     if (recvlen == 0) {
-         /* If nbytes was not specified, use the buffer's length */
-         recvlen = buflen;
-+    } else if (recvlen > buflen) {
-+        PyBuffer_Release(&pbuf);
-+        PyErr_SetString(PyExc_ValueError,
-+                        "nbytes is greater than the length of the buffer");
-+        return NULL;
-     }
- 
-     readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
-
diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix
index 489d0509c1a..2645b503344 100644
--- a/pkgs/development/interpreters/python/3.2/default.nix
+++ b/pkgs/development/interpreters/python/3.2/default.nix
@@ -9,6 +9,8 @@
 , sqlite
 , tcl, tk
 , zlib
+, callPackage
+, self
 }:
 
 assert readline != null -> ncurses != null;
@@ -17,7 +19,7 @@ with stdenv.lib;
 
 let
   majorVersion = "3.2";
-  version = "${majorVersion}.5";
+  version = "${majorVersion}.6";
 
   buildInputs = filter (p: p != null) [
     zlib bzip2 gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
@@ -25,19 +27,14 @@ let
 in
 stdenv.mkDerivation {
   name = "python3-${version}";
+  pythonVersion = majorVersion;
   inherit majorVersion version;
 
   src = fetchurl {
-    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
-    sha256 = "0pxs234g08v3lar09lvzxw4vqdpwkbqmvkv894j2w7aklskcjd6v";
+    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
+    sha256 = "1p3vvvh3qw8avq959hdl6bq5d6r7mbhrnigqzgx6mllzh40va4hx";
   };
 
-  patches =
-    [
-      # See http://bugs.python.org/issue20246
-      ./CVE-2014-1912.patch
-    ];
-
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
   preConfigure = ''
@@ -56,14 +53,25 @@ stdenv.mkDerivation {
   setupHook = ./setup-hook.sh;
 
   postInstall = ''
-    rm -rf "$out/lib/python${majorVersion}/test"
+    # needed for some packages, especially packages that backport functionality
+    # to 2.x from 3.x
+    for item in $out/lib/python${majorVersion}/test/*; do
+      if [[ "$item" != */test_support.py* ]]; then
+        rm -rf "$item"
+      else
+        echo $item
+      fi
+    done
+    touch $out/lib/python${majorVersion}/test/__init__.py
     ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
+    paxmark E $out/bin/python${majorVersion}
   '';
 
   passthru = rec {
     zlibSupport = zlib != null;
     sqliteSupport = sqlite != null;
     dbSupport = db != null;
+    buildEnv = callPackage ../wrapper.nix { python = self; };
     readlineSupport = readline != null;
     opensslSupport = openssl != null;
     tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
@@ -73,6 +81,7 @@ stdenv.mkDerivation {
     isPy32 = true;
     is_py3k = true;  # deprecated
     sitePackages = "lib/${libPrefix}/site-packages";
+    interpreter = "${self}/bin/${executable}";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix
index fcc03380349..a8953f38245 100644
--- a/pkgs/development/interpreters/python/3.3/default.nix
+++ b/pkgs/development/interpreters/python/3.3/default.nix
@@ -10,6 +10,8 @@
 , sqlite
 , tcl, tk
 , zlib
+, callPackage
+, self
 }:
 
 assert readline != null -> ncurses != null;
@@ -18,7 +20,8 @@ with stdenv.lib;
 
 let
   majorVersion = "3.3";
-  version = "${majorVersion}.5";
+  pythonVersion = majorVersion;
+  version = "${majorVersion}.6";
 
   buildInputs = filter (p: p != null) [
     zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
@@ -26,11 +29,12 @@ let
 in
 stdenv.mkDerivation {
   name = "python3-${version}";
+  pythonVersion = majorVersion;
   inherit majorVersion version;
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
-    sha256 = "1rdncc7g8g6f3lfdg33rli1yffbiq8z283xy4f5ksl1l8i49psdb";
+    sha256 = "0gsxpgd5p4mwd01gw501vsyahncyw3h9836ypkr3y32kgazy89jj";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
@@ -51,9 +55,17 @@ stdenv.mkDerivation {
   setupHook = ./setup-hook.sh;
 
   postInstall = ''
-    rm -rf "$out/lib/python${majorVersion}/test"
+    # needed for some packages, especially packages that backport functionality
+    # to 2.x from 3.x
+    for item in $out/lib/python${majorVersion}/test/*; do
+      if [[ "$item" != */test_support.py* ]]; then
+        rm -rf "$item"
+      else
+        echo $item
+      fi
+    done
+    touch $out/lib/python${majorVersion}/test/__init__.py
     ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
-
     paxmark E $out/bin/python${majorVersion}
   '';
 
@@ -66,10 +78,12 @@ stdenv.mkDerivation {
     tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
     libPrefix = "python${majorVersion}";
     executable = "python3.3m";
+    buildEnv = callPackage ../wrapper.nix { python = self; };
     isPy3 = true;
     isPy33 = true;
     is_py3k = true;  # deprecated
     sitePackages = "lib/${libPrefix}/site-packages";
+    interpreter = "${self}/bin/${executable}";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix
index 3477cedf4b7..10bb8b3215d 100644
--- a/pkgs/development/interpreters/python/3.4/default.nix
+++ b/pkgs/development/interpreters/python/3.4/default.nix
@@ -10,6 +10,8 @@
 , sqlite
 , tcl, tk
 , zlib
+, callPackage
+, self
 }:
 
 assert readline != null -> ncurses != null;
@@ -18,7 +20,8 @@ with stdenv.lib;
 
 let
   majorVersion = "3.4";
-  version = "${majorVersion}.1";
+  pythonVersion = majorVersion;
+  version = "${majorVersion}.3";
   fullVersion = "${version}";
 
   buildInputs = filter (p: p != null) [
@@ -27,11 +30,12 @@ let
 in
 stdenv.mkDerivation {
   name = "python3-${fullVersion}";
+  pythonVersion = majorVersion;
   inherit majorVersion version;
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz";
-    sha256 = "1i7dgbzyvj24i6gfhb5q2zwr9nn1ni6w1ig1rcgh96a321is35f5";
+    sha256 = "1f4nm4z08sy0kqwisvv95l02crv6dyysdmx44p1mz3bn6csrdcxm";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
@@ -40,7 +44,10 @@ stdenv.mkDerivation {
     for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
     done
-    ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''}
+    ${optionalString stdenv.isDarwin ''
+       export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
+       export MACOSX_DEPLOYMENT_TARGET=10.6
+     ''}
 
     configureFlagsArray=( --enable-shared --with-threads
                           CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}"
@@ -52,9 +59,18 @@ stdenv.mkDerivation {
   setupHook = ./setup-hook.sh;
 
   postInstall = ''
-    rm -rf "$out/lib/python${majorVersion}/test"
-    ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
+    # needed for some packages, especially packages that backport functionality
+    # to 2.x from 3.x
+    for item in $out/lib/python${majorVersion}/test/*; do
+      if [[ "$item" != */test_support.py* ]]; then
+        rm -rf "$item"
+      else
+        echo $item
+      fi
+    done
+    touch $out/lib/python${majorVersion}/test/__init__.py
 
+    ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
     paxmark E $out/bin/python${majorVersion}
   '';
 
@@ -67,10 +83,12 @@ stdenv.mkDerivation {
     tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
     libPrefix = "python${majorVersion}";
     executable = "python3.4m";
+    buildEnv = callPackage ../wrapper.nix { python = self; };
     isPy3 = true;
     isPy34 = true;
     is_py3k = true;  # deprecated
     sitePackages = "lib/${libPrefix}/site-packages";
+    interpreter = "${self}/bin/${executable}";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.nix b/pkgs/development/interpreters/python/python-linkme-wrapper.nix
deleted file mode 100644
index 040dd7531a2..00000000000
--- a/pkgs/development/interpreters/python/python-linkme-wrapper.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv }:
-
-stdenv.mkDerivation {
-  name = "python-linkme-wrapper-1.0";
-
-  unpackPhase = "true";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cat ${./python-linkme-wrapper.sh} >  $out/bin/.python-linkme-wrapper
-    chmod +x $out/bin/.python-linkme-wrapper
-  '';
-
-  preferLocalBuild = true;
-}
diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.sh b/pkgs/development/interpreters/python/python-linkme-wrapper.sh
deleted file mode 100644
index 42674aa83b0..00000000000
--- a/pkgs/development/interpreters/python/python-linkme-wrapper.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-#
-# Install it into a nix profile and from there build symlink chains.
-# The chain will be followed to set the PYTHONPATH
-# A/bin/foo -> B/bin/bar -> NIXENV/bin/.python-linkme-wrapper.sh
-#
-
-if test ! -L "$0"; then
-   echo "Link me!"
-   exit 1
-fi
-
-PROG=$(basename "$0")
-SITES=
-
-pypath() {
-  BIN=$(realpath -s "$(dirname "$1")")
-  ENV=$(dirname "$BIN")
-  SITE="$ENV/lib/python2.7/site-packages"
-  SITES="$SITES${SITES:+:}$SITE"
-
-  PRG="$BIN"/$(readlink "$1")
-
-  if test -L "$PRG"; then
-    pypath "$PRG"
-  fi
-}
-
-pypath $(realpath -s "$0")
-
-export PYTHONPATH="$PYTHONPATH${PYTHONPATH:+:}$SITES"
-
-exec "$BIN/$PROG" "$@"
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index ccfbcfcdd42..163e8d7194b 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,12 +1,15 @@
-{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? ""
-, stdLibs ? stdenv.lib.attrValues python.modules, ignoreCollisions ? false
-}:
+{ stdenv, python, buildEnv, makeWrapper
+, extraLibs ? []
+, postBuild ? ""
+, ignoreCollisions ? false }:
 
 # Create a python executable that knows about additional packages.
-
+let
+  recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; };
+in
 (buildEnv {
-  name = "python-${python.version}-wrapper";
-  paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ stdLibs ++ [ python recursivePthLoader ];
+  name = "${python.name}-env";
+  paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ [ python recursivePthLoader ];
 
   inherit ignoreCollisions;
 
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 469ef118310..e0181c6ed58 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -1,65 +1,81 @@
-{ stdenv, fetchurl, cairo, file, pango, glib, gtk
-, which, libtool, makeWrapper, libjpeg, libpng
-, fontconfig, liberation_ttf, sqlite, openssl } :
+{ stdenv, fetchurl, makeFontsConf, makeWrapper
+, cairo, coreutils, fontconfig, freefont_ttf
+, glib, gmp, gtk, libffi, libjpeg, libpng
+, libtool, mpfr, openssl, pango, poppler
+, readline, sqlite
+}:
+
+let
+
+  fontsConf = makeFontsConf {
+    fontDirectories = [ freefont_ttf ];
+  };
+
+  libPath = stdenv.lib.makeLibraryPath [
+    cairo
+    fontconfig
+    glib
+    gmp
+    gtk
+    libjpeg
+    libpng
+    mpfr
+    openssl
+    pango
+    poppler
+    readline
+    sqlite
+  ];
+
+in
 
 stdenv.mkDerivation rec {
-  pname = "racket";
-  version = "6.0.1";
-  name = "${pname}-${version}";
+  name = "racket-${version}";
+  version = "6.1.1";
 
   src = fetchurl {
     url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
-    sha256 = "e2bc0d4d0fcdfc3327a58c931f203c07a06d4724703f9708ba2e4c8ea0f9694d";
+    sha256 = "090269522d20e7a5ce85d2251a126745746ebf5e87554c05efe03f3b7173da75";
   };
 
-  # Various racket executables do run-time searches for these.
-  ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib:${sqlite}/lib:${openssl}/lib";
+  FONTCONFIG_FILE = fontsConf;
+  LD_LIBRARY_PATH = libPath;
+  NIX_LDFLAGS = "-lgcc_s";
 
-  buildInputs = [ file libtool which makeWrapper fontconfig liberation_ttf sqlite ];
+  buildInputs = [ fontconfig libffi libtool makeWrapper sqlite ];
 
   preConfigure = ''
-    export LD_LIBRARY_PATH=${ffiSharedLibs}:$LD_LIBRARY_PATH
-
-    # Chroot builds do not have access to /etc/fonts/fonts.conf, but the Racket bootstrap
-    # needs a working fontconfig, so here a simple standin is used.
-    mkdir chroot-fontconfig
-    cat ${fontconfig}/etc/fonts/fonts.conf > chroot-fontconfig/fonts.conf
-    sed -e 's@</fontconfig>@@' -i chroot-fontconfig/fonts.conf
-    echo "<dir>${liberation_ttf}</dir>" >> chroot-fontconfig/fonts.conf
-    echo "</fontconfig>" >> chroot-fontconfig/fonts.conf
-
-    export FONTCONFIG_FILE=$(pwd)/chroot-fontconfig/fonts.conf
-
-    cd src
-    sed -e 's@/usr/bin/uname@'"$(which uname)"'@g' -i configure
-    sed -e 's@/usr/bin/file@'"$(which file)"'@g' -i foreign/libffi/configure 
+    substituteInPlace src/configure --replace /usr/bin/uname ${coreutils}/bin/uname
+    mkdir src/build
+    cd src/build
   '';
 
   configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
 
-  NIX_LDFLAGS = "-lgcc_s";
+  configureScript = "../configure";
+
+  enableParallelBuilding = false;
 
   postInstall = ''
     for p in $(ls $out/bin/) ; do
-      wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}" ;
+      wrapProgram $out/bin/$p --set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}";
     done
   '';
 
-  meta = {
-    description = "Programming language derived from Scheme (formerly called PLT Scheme)";
+  meta = with stdenv.lib; {
+    description = "A programmable programming language";
     longDescription = ''
-      Racket (formerly called PLT Scheme) is a programming language derived
-      from Scheme. The Racket project has four primary components: the
-      implementation of Racket, a JIT compiler; DrRacket, the Racket program
-      development environment; the TeachScheme! outreach, an attempt to turn
-      Computing and Programming into "an indispensable part of the liberal
-      arts curriculum"; and PLaneT, Racket's web-based package
-      distribution system for user-contributed packages.
+      Racket is a full-spectrum programming language. It goes beyond
+      Lisp and Scheme with dialects that support objects, types,
+      laziness, and more. Racket enables programmers to link
+      components written in different dialects, and it empowers
+      programmers to create new, project-specific dialects. Racket's
+      libraries support applications from web servers and databases to
+      GUIs and charts.
     '';
-
     homepage = http://racket-lang.org/;
-    license = stdenv.lib.licenses.lgpl2Plus; # and licenses of contained libraries
-    maintainers = [ stdenv.lib.maintainers.kkallio ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ kkallio henrytill ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
index e788e1ad13d..dc9323f40ef 100644
--- a/pkgs/development/interpreters/rakudo/default.nix
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "rakudo-star-${version}";
-  version = "2014.04";
+  version = "2015.03";
 
   src = fetchurl {
     url    = "http://rakudo.org/downloads/star/${name}.tar.gz";
-    sha256 = "0spdrxc2kiidpgni1vl71brgs4d76h8029w5jxvah3yvjcqixz7l";
+    sha256 = "1fwvmjyc1bv3kq7p25xyl4sqinp19mbrspmf0h7rvxlwnfcrr5mv";
   };
 
   buildInputs = [ icu zlib gmp readline jdk perl ];
   configureScript = "perl ./Configure.pl";
   configureFlags =
-    [ "--gen-moar"
+    [ "--backends=moar,jvm"
+      "--gen-moar"
       "--gen-nqp"
-      "--gen-parrot"
     ];
 
   meta = {
diff --git a/pkgs/development/interpreters/regina/default.nix b/pkgs/development/interpreters/regina/default.nix
index d8b3558be4f..e6c84edacaf 100644
--- a/pkgs/development/interpreters/regina/default.nix
+++ b/pkgs/development/interpreters/regina/default.nix
@@ -12,16 +12,15 @@ let
   sourceInfo = rec {
     baseName="Regina-REXX";
     pname="regina-rexx";
-    version="3.5";
+    version = "3.9.0";
     name="${baseName}-${version}";
     url="mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz";
-    hash="0gh0k6lbhfixs44adha7lxirl3a08jabdylzr6m7mh5q5fhzv5f8";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "051w6i5xyjq7j9yrhw4r14kw105gpylby6z5x9v31f5g824n4mfr";
   };
 
   inherit (sourceInfo) name version;
@@ -43,11 +42,8 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.lgpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/";
-    };
+    downloadPage = "http://sourceforge.net/projects/regina-rexx/files/regina-rexx/";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/development/interpreters/regina/default.upstream b/pkgs/development/interpreters/regina/default.upstream
new file mode 100644
index 00000000000..7b3c6905a1c
--- /dev/null
+++ b/pkgs/development/interpreters/regina/default.upstream
@@ -0,0 +1,5 @@
+url http://sourceforge.net/projects/regina-rexx/files/regina-rexx/
+SF_version_dir
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/development/interpreters/ruby/bundix/Gemfile b/pkgs/development/interpreters/ruby/bundix/Gemfile
new file mode 100644
index 00000000000..7d2f78133c5
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundix/Gemfile
@@ -0,0 +1,4 @@
+source "http://rubygems.org"
+gem "bundix",
+  :git => "https://github.com/cstrahan/bundix.git",
+  :ref => "v1.0.2"
diff --git a/pkgs/development/interpreters/ruby/bundix/Gemfile.lock b/pkgs/development/interpreters/ruby/bundix/Gemfile.lock
new file mode 100644
index 00000000000..038fa1a7a50
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundix/Gemfile.lock
@@ -0,0 +1,18 @@
+GIT
+  remote: https://github.com/cstrahan/bundix.git
+  revision: e098b8c04087079c897aaf9542990e9fdd503bcf
+  ref: v1.0.2
+  specs:
+    bundix (1.0.2)
+      thor (~> 0.19.1)
+
+GEM
+  remote: http://rubygems.org/
+  specs:
+    thor (0.19.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  bundix!
diff --git a/pkgs/development/interpreters/ruby/bundix/default.nix b/pkgs/development/interpreters/ruby/bundix/default.nix
new file mode 100644
index 00000000000..0196adb8f4c
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundix/default.nix
@@ -0,0 +1,9 @@
+{ ruby, bundlerEnv }:
+
+bundlerEnv {
+  name = "bundix";
+  inherit ruby;
+  gemset = ./gemset.nix;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+}
diff --git a/pkgs/development/interpreters/ruby/bundix/gemset.nix b/pkgs/development/interpreters/ruby/bundix/gemset.nix
new file mode 100644
index 00000000000..adde97a49f2
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundix/gemset.nix
@@ -0,0 +1,22 @@
+{
+  "bundix" = {
+    version = "1.0.2";
+    source = {
+      type = "git";
+      url = "https://github.com/cstrahan/bundix.git";
+      rev = "e098b8c04087079c897aaf9542990e9fdd503bcf";
+      sha256 = "0www8srjqlxy1pzn2b6himy5y768dni54m7rv67gj8yvx48vd803";
+      fetchSubmodules = false;
+    };
+    dependencies = [
+      "thor"
+    ];
+  };
+  "thor" = {
+    version = "0.19.1";
+    source = {
+      type = "gem";
+      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
new file mode 100644
index 00000000000..cadda288764
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
@@ -0,0 +1,142 @@
+# The standard set of gems in nixpkgs including potential fixes.
+#
+# The gemset is derived from two points of entry:
+# - An attrset describing a gem, including version, source and dependencies
+#   This is just meta data, most probably automatically generated by a tool
+#   like Bundix (https://github.com/aflatter/bundix).
+#   {
+#     name = "bundler";
+#     version = "1.6.5";
+#     sha256 = "1s4x0f5by9xs2y24jk6krq5ky7ffkzmxgr4z1nhdykdmpsi2zd0l";
+#     dependencies = [ "rake" ];
+#   }
+# - An optional derivation that may override how the gem is built. For popular
+#   gems that don't behave correctly, fixes are already provided in the form of
+#   derivations.
+#
+# This seperates "what to build" (the exact gem versions) from "how to build"
+# (to make gems behave if necessary).
+
+{ lib, fetchurl, writeScript, ruby, libxml2, libxslt, python, stdenv, which
+, libiconv, postgresql, v8, v8_3_16_14, clang, sqlite, zlib, imagemagick
+, pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
+, cmake, libssh2, openssl, mysql
+}:
+
+let
+  v8 = v8_3_16_14;
+  mysql = assert false; (import <nixpkgs> {}).mysql;
+
+in
+
+{
+  charlock_holmes = attrs: {
+    buildInputs = [ which icu ];
+  };
+
+  ffi = attrs: {
+    buildInputs = [ libffi pkgconfig ];
+  };
+
+  gpgme = attrs: {
+    buildInputs = [ gpgme ];
+  };
+
+  libv8 = attrs: {
+    buildInputs = [ which v8 python ];
+    buildFlags = [
+      "--with-system-v8=true"
+    ];
+    patches = [
+      # see: https://github.com/cowboyd/libv8/pull/161
+      (fetchpatch {
+        url = https://github.com/cstrahan/libv8/commit/c79378bf346d4ed2429af36d745d17c478ffbe96.patch;
+        sha256 = "1l6572cmigc22g249jj8h0xlbig88mj43kdqdbimhw2pmpv3q0rs";
+      })
+    ];
+  };
+
+  mysql2 = attrs: {
+    buildInputs = [ mysql.lib zlib openssl ];
+  };
+
+  ncursesw = attrs: {
+    buildInputs = [ ncurses ];
+    buildFlags = [
+      "--with-cflags=-I${ncurses}/include"
+      "--with-ldflags=-L${ncurses}/lib"
+    ];
+  };
+
+  nokogiri = attrs: {
+    buildFlags = [
+      "--use-system-libraries"
+      "--with-zlib-dir=${zlib}"
+      "--with-xml2-lib=${libxml2}/lib"
+      "--with-xml2-include=${libxml2}/include/libxml2"
+      "--with-xslt-lib=${libxslt}/lib"
+      "--with-xslt-include=${libxslt}/include"
+      "--with-exslt-lib=${libxslt}/lib"
+      "--with-exslt-include=${libxslt}/include"
+    ] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}";
+  };
+
+  pg = attrs: {
+    buildFlags = [
+      "--with-pg-config=${postgresql}/bin/pg_config"
+    ];
+  };
+
+  rmagick = attrs: {
+    buildInputs = [ imagemagick pkgconfig ];
+  };
+
+  rugged = attrs: {
+    buildInputs = [ cmake pkgconfig openssl libssh2 zlib ];
+  };
+
+  sqlite3 = attrs: {
+    buildFlags = [
+      "--with-sqlite3-include=${sqlite}/include"
+      "--with-sqlite3-lib=${sqlite}/lib"
+    ];
+  };
+
+  sup = attrs: {
+    # prevent sup from trying to dynamically install `xapian-ruby`.
+    postPatch = ''
+      cp ${./mkrf_conf_xapian.rb} ext/mkrf_conf_xapian.rb
+
+      substituteInPlace lib/sup/crypto.rb \
+        --replace 'which gpg2' \
+                  '${which}/bin/which gpg2'
+    '';
+  };
+
+  therubyracer = attrs: {
+    buildFlags = [
+      "--with-v8-dir=${v8}"
+      "--with-v8-include=${v8}/include"
+      "--with-v8-lib=${v8}/lib"
+    ];
+  };
+
+  tzinfo = attrs: {
+    postPatch = ''
+      substituteInPlace lib/tzinfo/zoneinfo_data_source.rb \
+        --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
+    '';
+  };
+
+  xapian-ruby = attrs: {
+    # use the system xapian
+    buildInputs = [ xapian pkgconfig zlib ];
+    postPatch = ''
+      cp ${./xapian-Rakefile} Rakefile
+    '';
+    preInstall = ''
+      export XAPIAN_CONFIG=${xapian}/bin/xapian-config
+    '';
+  };
+}
+
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default.nix b/pkgs/development/interpreters/ruby/bundler-env/default.nix
new file mode 100644
index 00000000000..b51a6d49bd3
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler-env/default.nix
@@ -0,0 +1,340 @@
+{ stdenv, runCommand, writeText, writeScript, writeScriptBin, ruby, lib
+, callPackage, defaultGemConfig, fetchurl, fetchgit, buildRubyGem , bundler_HEAD
+, git
+}@defs:
+
+# This is a work-in-progress.
+# The idea is that his will replace load-ruby-env.nix.
+
+{ name, gemset, gemfile, lockfile, ruby ? defs.ruby, gemConfig ? defaultGemConfig
+, enableParallelBuilding ? false # TODO: this might not work, given the env-var shinanigans.
+, postInstall ? null
+, documentation ? false
+, meta ? {}
+, ...
+}@args:
+
+let
+
+  shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'";
+  const = x: y: x;
+  bundler = bundler_HEAD.override { inherit ruby; };
+  inherit (builtins) attrValues;
+
+  gemName = attrs: "${attrs.name}-${attrs.version}.gem";
+
+  fetchers.path = attrs: attrs.source.path;
+  fetchers.gem = attrs: fetchurl {
+    url = "${attrs.source.source or "https://rubygems.org"}/downloads/${gemName attrs}";
+    inherit (attrs.source) sha256;
+  };
+  fetchers.git = attrs: fetchgit {
+    inherit (attrs.source) url rev sha256 fetchSubmodules;
+    leaveDotGit = true;
+  };
+
+  applySrc = attrs:
+    attrs // {
+      src = (fetchers."${attrs.source.type}" attrs);
+    };
+
+  applyGemConfigs = attrs:
+    if gemConfig ? "${attrs.name}"
+    then attrs // gemConfig."${attrs.name}" attrs
+    else attrs;
+
+  needsPatch = attrs:
+    (attrs ? patches) || (attrs ? prePatch) || (attrs ? postPatch);
+
+  # patch a gem or source tree.
+  # for gems, the gem is unpacked, patched, and then repacked.
+  # see: https://github.com/fedora-ruby/gem-patch/blob/master/lib/rubygems/patcher.rb
+  applyPatches = attrs:
+    if !needsPatch attrs
+    then attrs
+    else attrs // { src =
+      stdenv.mkDerivation {
+        name = gemName attrs;
+        phases = [ "unpackPhase" "patchPhase" "installPhase" ];
+        buildInputs = [ ruby ] ++ attrs.buildInputs or [];
+        patches = attrs.patches or [ ];
+        prePatch = attrs.prePatch or "true";
+        postPatch = attrs.postPatch or "true";
+        unpackPhase = ''
+          runHook preUnpack
+
+          if [[ -f ${attrs.src} ]]; then
+            isGem=1
+            # we won't know the name of the directory that RubyGems creates,
+            # so we'll just use a glob to find it and move it over.
+            gem unpack ${attrs.src} --target=container
+            cp -r container/* contents
+            rm -r container
+          else
+            cp -r ${attrs.src} contents
+            chmod -R +w contents
+          fi
+
+          cd contents
+          runHook postUnpack
+        '';
+        installPhase = ''
+          runHook preInstall
+
+          if [[ -n "$isGem" ]]; then
+            ${writeScript "repack.rb" ''
+              #!${ruby}/bin/ruby
+              require 'rubygems'
+              require 'rubygems/package'
+              require 'fileutils'
+
+              if defined?(Encoding.default_internal)
+                Encoding.default_internal = Encoding::UTF_8
+                Encoding.default_external = Encoding::UTF_8
+              end
+
+              if Gem::VERSION < '2.0'
+                load "${./package-1.8.rb}"
+              end
+
+              out = ENV['out']
+              files = Dir['**/{.[^\.]*,*}']
+
+              package = Gem::Package.new("${attrs.src}")
+              patched_package = Gem::Package.new(package.spec.file_name)
+              patched_package.spec = package.spec.clone
+              patched_package.spec.files = files
+
+              patched_package.build(false)
+
+              FileUtils.cp(patched_package.spec.file_name, out)
+            ''}
+          else
+            cp -r . $out
+          fi
+
+          runHook postInstall
+        '';
+      };
+    };
+
+  instantiate = (attrs:
+    applyPatches (applyGemConfigs (applySrc attrs))
+  );
+
+  instantiated = lib.flip lib.mapAttrs (import gemset) (name: attrs:
+    instantiate (attrs // { inherit name; })
+  );
+
+  needsPreInstall = attrs:
+    (attrs ? preInstall) || (attrs ? buildInputs) || (attrs ? nativeBuildInputs);
+
+  # TODO: support cross compilation? look at stdenv/generic/default.nix.
+  runPreInstallers = lib.fold (next: acc:
+    if !needsPreInstall next
+    then acc
+    else acc + ''
+      ${writeScript "${next.name}-pre-install" ''
+        #!${stdenv.shell}
+
+        export nativeBuildInputs="${toString ((next.nativeBuildInputs or []) ++ (next.buildInputs or []))}"
+
+        source ${stdenv}/setup
+
+        header "running pre-install script for ${next.name}"
+
+        ${next.preInstall or ""}
+
+        ${ruby}/bin/ruby -e 'print ENV.inspect' > env/${next.name}
+
+        stopNest
+      ''}
+    ''
+  ) "" (attrValues instantiated);
+
+  # copy *.gem to ./gems
+  copyGems = lib.fold (next: acc:
+    if next.source.type == "gem"
+    then acc + "cp ${next.src} gems/${gemName next}\n"
+    else acc
+  ) "" (attrValues instantiated);
+
+  runRuby = name: env: command:
+    runCommand name env ''
+      ${ruby}/bin/ruby ${writeText name command}
+    '';
+
+  # TODO: include json_pure, so the version of ruby doesn't matter.
+  # not all rubies have support for JSON built-in,
+  # so we'll convert JSON to ruby expressions.
+  json2rb = writeScript "json2rb" ''
+    #!${ruby}/bin/ruby
+    begin
+      require 'json'
+    rescue LoadError => ex
+      require 'json_pure'
+    end
+
+    puts JSON.parse(STDIN.read).inspect
+  '';
+
+  # dump the instantiated gemset as a ruby expression.
+  serializedGemset = runCommand "gemset.rb" { json = builtins.toJSON instantiated; } ''
+    printf '%s' "$json" | ${json2rb} > $out
+  '';
+
+  # this is a mapping from a source type and identifier (uri/path/etc)
+  # to the pure store path.
+  # we'll use this from the patched bundler to make fetching sources pure.
+  sources = runRuby "sources.rb" { gemset = serializedGemset; } ''
+    out    = ENV['out']
+    gemset = eval(File.read(ENV['gemset']))
+
+    sources = {
+      "git"  => { },
+      "path" => { },
+      "gem"  => { },
+      "svn"  => { }
+    }
+
+    gemset.each_value do |spec|
+      type = spec["source"]["type"]
+      val = spec["src"]
+      key =
+        case type
+        when "gem"
+          spec["name"]
+        when "git"
+          spec["source"]["url"]
+        when "path"
+          spec["source"]["originalPath"]
+        when "svn"
+          nil # TODO
+        end
+
+      sources[type][key] = val if key
+    end
+
+    File.open(out, "wb") do |f|
+      f.print sources.inspect
+    end
+  '';
+
+  # rewrite PATH sources to point into the nix store.
+  purifiedLockfile = runRuby "purifiedLockfile" {} ''
+    out     = ENV['out']
+    sources = eval(File.read("${sources}"))
+    paths   = sources["path"]
+
+    lockfile = File.read("${lockfile}")
+
+    paths.each_pair do |impure, pure|
+      lockfile.gsub!(/^  remote: #{Regexp.escape(impure)}/, "  remote: #{pure}")
+    end
+
+    File.open(out, "wb") do |f|
+      f.print lockfile
+    end
+  '';
+
+  needsBuildFlags = attrs: attrs ? buildFlags;
+
+  mkBuildFlags = spec:
+    "export BUNDLE_BUILD__${lib.toUpper spec.name}='${lib.concatStringsSep " " (map shellEscape spec.buildFlags)}'";
+
+  allBuildFlags =
+    lib.concatStringsSep "\n"
+      (map mkBuildFlags
+        (lib.filter needsBuildFlags (attrValues instantiated)));
+
+  derivation = stdenv.mkDerivation {
+    inherit name;
+
+    buildInputs = [
+      ruby
+      bundler
+      git
+    ] ++ args.buildInputs or [];
+
+    phases = [ "installPhase" "fixupPhase" ];
+
+    outputs = [
+      "out"    # the installed libs/bins
+      "bundle" # supporting files for bundler
+    ];
+
+    installPhase = ''
+      mkdir -p $bundle
+      export BUNDLE_GEMFILE=$bundle/Gemfile
+      cp ${gemfile} $BUNDLE_GEMFILE
+      cp ${purifiedLockfile} $BUNDLE_GEMFILE.lock
+
+      export NIX_GEM_SOURCES=${sources}
+      export NIX_BUNDLER_GEMPATH=${bundler}/${ruby.gemPath}
+
+      export GEM_HOME=$out/${ruby.gemPath}
+      export GEM_PATH=$NIX_BUNDLER_GEMPATH:$GEM_HOME
+      mkdir -p $GEM_HOME
+
+      ${allBuildFlags}
+
+      mkdir gems
+      cp ${bundler}/${bundler.ruby.gemPath}/cache/bundler-*.gem gems
+      ${copyGems}
+
+      ${lib.optionalString (!documentation) ''
+        mkdir home
+        HOME="$(pwd -P)/home"
+        echo "gem: --no-rdoc --no-ri" > $HOME/.gemrc
+      ''}
+
+      mkdir env
+      ${runPreInstallers}
+
+      mkdir $out/bin
+      cp ${./monkey_patches.rb} monkey_patches.rb
+      export RUBYOPT="-rmonkey_patches.rb -I $(pwd -P)"
+      bundler install --frozen --binstubs ${lib.optionalString enableParallelBuilding "--jobs $NIX_BUILD_CORES"}
+      RUBYOPT=""
+
+      runHook postInstall
+    '';
+
+    inherit postInstall;
+
+    passthru = {
+      inherit ruby;
+      inherit bundler;
+
+      env = let
+        irbrc = builtins.toFile "irbrc" ''
+          if not ENV["OLD_IRBRC"].empty?
+            require ENV["OLD_IRBRC"]
+          end
+          require 'rubygems'
+          require 'bundler/setup'
+        '';
+        in stdenv.mkDerivation {
+          name = "interactive-${name}-environment";
+          nativeBuildInputs = [ ruby derivation ];
+          shellHook = ''
+            export BUNDLE_GEMFILE=${derivation.bundle}/Gemfile
+            export GEM_HOME=${derivation}/${ruby.gemPath}
+            export NIX_BUNDLER_GEMPATH=${bundler}/${ruby.gemPath}
+            export GEM_PATH=$NIX_BUNDLER_GEMPATH:$GEM_HOME
+            export OLD_IRBRC="$IRBRC"
+            export IRBRC=${irbrc}
+          '';
+          buildCommand = ''
+            echo >&2 ""
+            echo >&2 "*** Ruby 'env' attributes are intended for interactive nix-shell sessions, not for building! ***"
+            echo >&2 ""
+            exit 1
+          '';
+        };
+    };
+
+    inherit meta;
+  };
+
+in derivation
diff --git a/pkgs/development/interpreters/ruby/bundler-env/mkrf_conf_xapian.rb b/pkgs/development/interpreters/ruby/bundler-env/mkrf_conf_xapian.rb
new file mode 100644
index 00000000000..e19f06e23ac
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler-env/mkrf_conf_xapian.rb
@@ -0,0 +1,14 @@
+require 'rubygems'
+require 'rubygems/command.rb'
+require 'rubygems/dependency_installer.rb'
+require 'rbconfig'
+
+begin
+  Gem::Command.build_args = ARGV
+rescue NoMethodError
+end
+
+# create dummy rakefile to indicate success
+f = File.open(File.join(File.dirname(__FILE__), "Rakefile"), "w")
+f.write("task :default\n")
+f.close
diff --git a/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb b/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
new file mode 100644
index 00000000000..f3849446fe6
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
@@ -0,0 +1,238 @@
+require 'bundler'
+
+# Undo the RUBYOPT trickery.
+opt = ENV['RUBYOPT'].dup
+opt.gsub!(/-rmonkey_patches.rb -I [^ ]*/, '')
+ENV['RUBYOPT'] = opt
+
+Bundler.module_eval do
+  class << self
+    # mappings from original uris to store paths.
+    def nix_gem_sources
+      @nix_gem_sources ||=
+        begin
+          src = ENV['NIX_GEM_SOURCES']
+          eval(Bundler.read_file(src))
+        end
+    end
+
+    # extract the gemspecs from the gems pulled from Rubygems.
+    def nix_gemspecs
+      @nix_gemspecs ||= Dir.glob("gems/*.gem").map do |path|
+        Bundler.rubygems.spec_from_gem(path)
+      end
+    end
+
+    # swap out ENV
+    def nix_with_env(env, &block)
+      if env
+        old_env = ENV.to_hash
+        begin
+          ENV.replace(env)
+          block.call
+        ensure
+          ENV.replace(old_env)
+        end
+      else
+        block.call
+      end
+    end
+
+    # map a git uri to a fetchgit store path.
+    def nix_git(uri)
+      Pathname.new(nix_gem_sources["git"][uri])
+    end
+  end
+end
+
+Bundler::Source::Git::GitProxy.class_eval do
+  def checkout
+    unless path.exist?
+      FileUtils.mkdir_p(path.dirname)
+      FileUtils.cp_r(Bundler.nix_git(@uri).join(".git"), path)
+      system("chmod -R +w #{path}")
+    end
+  end
+
+  def copy_to(destination, submodules=false)
+    unless File.exist?(destination.join(".git"))
+      FileUtils.mkdir_p(destination.dirname)
+      FileUtils.cp_r(Bundler.nix_git(@uri), destination)
+      system("chmod -R +w #{destination}")
+    end
+  end
+end
+
+Bundler::Fetcher.class_eval do
+  def use_api
+    true
+  end
+
+  def fetch_dependency_remote_specs(gem_names)
+    Bundler.ui.debug "Query Gemcutter Dependency Endpoint API: #{gem_names.join(',')}"
+    deps_list = []
+
+    spec_list = gem_names.map do |name|
+      spec = Bundler.nix_gemspecs.detect {|spec| spec.name == name }
+      dependencies = spec.dependencies.
+        select {|dep| dep.type != :development}.
+        map do |dep|
+          deps_list << dep.name
+          dep
+        end
+
+      [spec.name, spec.version, spec.platform, dependencies]
+    end
+
+    [spec_list, deps_list.uniq]
+  end
+end
+
+Bundler::Source::Rubygems.class_eval do
+  # We copy all gems into $PWD/gems, and this allows RubyGems to find those
+  # gems during installation.
+  def fetchers
+    @fetchers ||= [
+      Bundler::Fetcher.new(URI.parse("file://#{File.expand_path(Dir.pwd)}"))
+    ]
+  end
+
+  # Look-up gems that were originally from RubyGems.
+  def remote_specs
+    @remote_specs ||=
+      begin
+        lockfile = Bundler::LockfileParser.new(Bundler.read_file(Bundler.default_lockfile))
+        gem_names = lockfile.specs.
+          select {|spec| spec.source.is_a?(Bundler::Source::Rubygems)}.
+          map {|spec| spec.name}
+        idx = Bundler::Index.new
+        api_fetchers.each do |f|
+          Bundler.ui.info "Fetching source index from #{f.uri}"
+          idx.use f.specs(gem_names, self)
+        end
+        idx
+      end
+  end
+end
+
+Bundler::Installer.class_eval do
+
+  # WHY:
+  # This allows us to provide a typical Nix experience, where
+  # `buildInputs` and/or `preInstall` may set up the $PATH and other env-vars
+  # as needed. By swapping out the environment per install, we can have finer
+  # grained control than we would have otherwise.
+  #
+  # HOW:
+  # This is a wrapper around the original `install_gem_from_spec`.
+  # We expect that a "pre-installer" might exist at `pre-installers/<gem-name>`,
+  # and if it does, we execute it.
+  # The pre-installer is expected to dump its environment variables as a Ruby
+  # hash to `env/<gem-name>`.
+  # We then swap out the environment for the duration of the install,
+  # and then set it back to what it was originally.
+  alias original_install_gem_from_spec install_gem_from_spec
+  def install_gem_from_spec(spec, standalone = false, worker = 0)
+    env_dump = "env/#{spec.name}"
+    if File.exist?(env_dump)
+      env = eval(Bundler.read_file(env_dump))
+      unless env
+        Bundler.ui.error "The environment variables for #{spec.name} could not be loaded!"
+        exit 1
+      end
+      Bundler.nix_with_env(env) do
+        original_install_gem_from_spec(spec, standalone, worker)
+      end
+    else
+      original_install_gem_from_spec(spec, standalone, worker)
+    end
+  end
+
+  def generate_bundler_executable_stubs(spec, options = {})
+    return if spec.executables.empty?
+
+    out = ENV['out']
+
+    spec.executables.each do |executable|
+      next if executable == "bundle" || executable == "bundler"
+
+      binstub_path = "#{out}/bin/#{executable}"
+
+      File.open(binstub_path, 'w', 0777 & ~File.umask) do |f|
+        f.print <<-TEXT
+#!#{RbConfig.ruby}
+
+old_gemfile  = ENV["BUNDLE_GEMFILE"]
+old_gem_home = ENV["GEM_HOME"]
+old_gem_path = ENV["GEM_PATH"]
+
+ENV["BUNDLE_GEMFILE"] =
+  "#{ENV["BUNDLE_GEMFILE"]}"
+ENV["GEM_HOME"] =
+  "#{ENV["GEM_HOME"]}"
+ENV["GEM_PATH"] =
+  "#{ENV["NIX_BUNDLER_GEMPATH"]}:\#{ENV["GEM_HOME"]}\#{old_gem_path ? ":\#{old_gem_path}" : ""}}"
+
+require 'rubygems'
+require 'bundler/setup'
+
+ENV["BUNDLE_GEMFILE"] = old_gemfile
+ENV["GEM_HOME"]       = old_gem_home
+ENV["GEM_PATH"]       = old_gem_path
+
+load Gem.bin_path('#{spec.name}', '#{executable}')
+TEXT
+      end
+    end
+  end
+end
+
+Gem::Installer.class_eval do
+  # Make the wrappers automagically use bundler.
+  #
+  # Stage 1.
+  #   Set $BUNDLE_GEMFILE so bundler knows what gems to load.
+  #   Set $GEM_HOME to the installed gems, because bundler looks there for
+  #     non-Rubygems installed gems (e.g. git/svn/path sources).
+  #   Set $GEM_PATH to include both bundler and installed gems.
+  #
+  # Stage 2.
+  #   Setup bundler, locking down the gem versions.
+  #
+  # Stage 3.
+  #   Reset $BUNDLE_GEMFILE, $GEM_HOME, $GEM_PATH.
+  #
+  # Stage 4.
+  #   Run the actual executable.
+  def app_script_text(bin_file_name)
+    return <<-TEXT
+#!#{RbConfig.ruby}
+#
+# This file was generated by Nix's RubyGems.
+#
+# The application '#{spec.name}' is installed as part of a gem, and
+# this file is here to facilitate running it.
+#
+
+old_gemfile  = ENV["BUNDLE_GEMFILE"]
+old_gem_home = ENV["GEM_HOME"]
+old_gem_path = ENV["GEM_PATH"]
+
+ENV["BUNDLE_GEMFILE"] =
+  "#{ENV["BUNDLE_GEMFILE"]}"
+ENV["GEM_HOME"] =
+  "#{ENV["GEM_HOME"]}"
+ENV["GEM_PATH"] =
+  "#{ENV["NIX_BUNDLER_GEMPATH"]}:\#{ENV["GEM_HOME"]}\#{old_gem_path ? ":\#{old_gem_path}" : ""}}"
+
+require 'rubygems'
+require 'bundler/setup'
+
+ENV["BUNDLE_GEMFILE"] = old_gemfile
+ENV["GEM_HOME"]       = old_gem_home
+ENV["GEM_PATH"]       = old_gem_path
+
+load Gem.bin_path('#{spec.name}', '#{bin_file_name}')
+TEXT
+  end
+end
diff --git a/pkgs/development/interpreters/ruby/bundler-env/package-1.8.rb b/pkgs/development/interpreters/ruby/bundler-env/package-1.8.rb
new file mode 100644
index 00000000000..079b65f97ec
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler-env/package-1.8.rb
@@ -0,0 +1,29 @@
+require 'rubygems/installer'
+require 'rubygems/builder'
+
+# Simulate RubyGems 2.0 behavior.
+
+module Gem::Package
+  def self.new(gem)
+    @gem = gem
+    self
+  end
+
+  def self.extract_files(dir)
+    installer = Gem::Installer.new @gem
+    installer.unpack(dir)
+  end
+
+  def self.build(skip_validation=false)
+    builder = Gem::Builder.new(spec)
+    builder.build
+  end
+
+  def self.spec=(spec)
+    @spec = spec
+  end
+
+  def self.spec
+    @spec ||= Gem::Installer.new(@gem).spec
+  end
+end
diff --git a/pkgs/development/interpreters/ruby/bundler-env/xapian-Rakefile b/pkgs/development/interpreters/ruby/bundler-env/xapian-Rakefile
new file mode 100644
index 00000000000..9f0b8e72f08
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler-env/xapian-Rakefile
@@ -0,0 +1,38 @@
+# encoding: utf-8
+# Install the xapian binaries into the lib folder of the gem
+require 'rbconfig'
+
+c = RbConfig::CONFIG
+
+def system!(cmd)
+  puts cmd
+  system(cmd) or raise
+end
+
+source_dir = 'xapian_source'
+bindings = Dir["#{source_dir}/xapian-bindings-*"].first
+bindings = File.basename(bindings, ".tar.xz")
+
+task :default do
+  system! "tar -xJf #{source_dir}/#{bindings}.tar.xz"
+
+  prefix = Dir.pwd
+  ENV['LDFLAGS'] = "-L#{prefix}/lib"
+
+  system! "mkdir -p lib"
+
+  Dir.chdir bindings do
+    ENV['RUBY'] ||= "#{c['bindir']}/#{c['RUBY_INSTALL_NAME']}"
+    system! "./configure --prefix=#{prefix} --exec-prefix=#{prefix} --with-ruby"
+    system! "make clean all"
+  end
+
+  system! "cp -r #{bindings}/ruby/.libs/_xapian.* lib"
+  system! "cp #{bindings}/ruby/xapian.rb lib"
+
+  system! "rm lib/*.la"
+  system! "rm lib/*.lai"
+
+  system! "rm -R #{bindings}"
+  system! "rm -R #{source_dir}"
+end
diff --git a/pkgs/development/interpreters/ruby/bundler-head.nix b/pkgs/development/interpreters/ruby/bundler-head.nix
new file mode 100644
index 00000000000..35b8823d22a
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler-head.nix
@@ -0,0 +1,18 @@
+{ buildRubyGem, coreutils, fetchgit }:
+
+buildRubyGem {
+  name = "bundler-HEAD";
+  src = fetchgit {
+    url = "https://github.com/bundler/bundler.git";
+    rev = "a2343c9eabf5403d8ffcbca4dea33d18a60fc157";
+    sha256 = "0q7cjmz1fsrw3yfsr3h274qjamwnw01xgaqq3h5cjbqlrni4iq7k";
+    leaveDotGit = true;
+  };
+  dontPatchShebangs = true;
+  postInstall = ''
+    find $out -type f -perm +0100 | while read f; do
+      substituteInPlace $f \
+         --replace "/usr/bin/env" "${coreutils}/bin/env"
+    done
+  '';
+}
diff --git a/pkgs/development/interpreters/ruby/bundler.nix b/pkgs/development/interpreters/ruby/bundler.nix
new file mode 100644
index 00000000000..88e0af2a21b
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/bundler.nix
@@ -0,0 +1,13 @@
+{ buildRubyGem, coreutils }:
+
+buildRubyGem {
+  name = "bundler-1.9.2";
+  sha256 = "0ck9bnqg7miimggj1d6qlabrsa5h9yaw241fqn15cvqh915209zk";
+  dontPatchShebangs = true;
+  postInstall = ''
+    find $out -type f -perm +0100 | while read f; do
+      substituteInPlace $f \
+         --replace "/usr/bin/env" "${coreutils}/bin/env"
+    done
+  '';
+}
diff --git a/pkgs/development/interpreters/ruby/config.nix b/pkgs/development/interpreters/ruby/config.nix
new file mode 100644
index 00000000000..c03c0520d7a
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/config.nix
@@ -0,0 +1,6 @@
+# Ruby >= 2.1.0 tries to download config.{guess,sub}
+fetchgit: fetchgit {
+  url = "git://git.sv.gnu.org/config.git";
+  rev = "576c839acca0e082e536fd27568b90a446ce5b96";
+  sha256 = "11bjngchjhj0qq0ppp8c37rfw0yhp230nvhs2jvlx15i9qbf56a0";
+}
diff --git a/pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch b/pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch
deleted file mode 100644
index c67eaff2ac5..00000000000
--- a/pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/lib/nix/gem-nix-command.rb b/lib/nix/gem-nix-command.rb
-index 8d3733e..ba942ff 100644
---- a/lib/nix/gem-nix-command.rb
-+++ b/lib/nix/gem-nix-command.rb
-@@ -108,11 +108,12 @@ class Gem::Commands::NixCommand < Gem::Command
- 
-       # args to dep informations
-       args.each { |arg|
--        if arg =~ /(.+)-?(.*)?/ then
-+        if arg =~ /(.+)-([0-9][^-]+)/ then
-           gem_name = $1
--          version =  $2.empty? ?  Gem::Requirement.default : Gem::Version.new($2)
-+          version =  Gem::Version.new($2)
-         else
--          raise Gem::CommandLineError, "couldn't parse arg. expected: name or name-version"
-+          gem_name = arg
-+          version =  Gem::Requirement.default
-         end
- 
-         adddep(Gem::Dependency.new gem_name, version)
-@@ -162,7 +163,13 @@ class Gem::Commands::NixCommand < Gem::Command
-     spec, source_uri = find_gem_with_source(dep)
-     full_name = spec.full_name
- 
--    return if @gems_with_deps.key?(full_name)
-+    if @gems_with_deps.key?(full_name)
-+      unless @gems_with_deps[full_name].nil?
-+        return @gems_with_deps[full_name][0]
-+      else
-+        return nil
-+      end
-+    end
-     @gems_with_deps[full_name] = nil # there maybe circular dependencies. thus mark this gem seen as early as possible
- 
-     # development deps can't be found. Some are old. Thus only add rutime dependencies
diff --git a/pkgs/development/interpreters/ruby/gem.nix b/pkgs/development/interpreters/ruby/gem.nix
index 22801aa5b04..dd6338cd813 100644
--- a/pkgs/development/interpreters/ruby/gem.nix
+++ b/pkgs/development/interpreters/ruby/gem.nix
@@ -1,62 +1,136 @@
-{stdenv, fetchurl, ruby, rubygems, makeWrapper, patches, overrides}:
-
-let
-  gemDefaults = { name, basename, requiredGems, sha256, meta }:
-  {
-    buildInputs = [rubygems ruby makeWrapper];
-    unpackPhase = ":";
-    configurePhase=":";
-    bulidPhase=":";
-
-    src = fetchurl {
-      url = "http://rubygems.org/downloads/${name}.gem";
-      inherit sha256;
+{ lib, ruby, rubygemsFun, fetchurl, makeWrapper, git } @ defs:
+
+lib.makeOverridable (
+
+{ name
+, ruby ? defs.ruby
+, rubygems ? (rubygemsFun ruby)
+, stdenv ? ruby.stdenv
+, namePrefix ? "${ruby.name}" + "-"
+, buildInputs ? []
+, doCheck ? false
+, dontBuild ? true
+, meta ? {}
+, gemPath ? []
+, ...} @ attrs:
+
+stdenv.mkDerivation (attrs // {
+  inherit ruby rubygems;
+  inherit doCheck;
+
+  buildInputs = [ ruby rubygems makeWrapper git ] ++ buildInputs;
+
+  name = namePrefix + name;
+
+  src = if attrs ? src
+    then attrs.src
+    else fetchurl {
+      url = "http://rubygems.org/downloads/${attrs.name}.gem";
+      inherit (attrs) sha256;
     };
 
-    name = "ruby-${name}";
+  phases = [ "unpackPhase" "patchPhase" "buildPhase" "checkPhase" "installPhase" "fixupPhase" ];
+
+  # The source is expected to either be a gem package or a directory.
+  #
+  # - Gem packages are already built, so they don't even need to be unpacked.
+  #   They will skip the buildPhase.
+  # - A directory containing the sources will need to go through all of the
+  #   usual phases.
+  unpackPhase= ''
+    gemRegex="\.gem"
+    if [[ $src =~ $gemRegex ]]
+    then
+      runHook preUnpack
+      echo "source is a gem package, won't unpack"
+      gempkg=$src
+      dontBuild=1
+      runHook postUnpack
+    else
+      # Fall back to the original thing for everything else.
+      unpackPhase
+    fi
+  '';
+
+  checkPhase = "true";
+
+  buildPhase = ''
+    runHook preBuild
+
+    # TODO: Investigate. The complete working tree is touched by fetchgit.
+    if [ -d .git ]; then
+      git reset
+    fi
+
+    gemspec=$(find . -name '*.gemspec')
+    echo "found the following gemspecs:"
+    echo "$gemspec"
 
-    propagatedBuildInputs = requiredGems;
-    inherit meta;
+    gemspec=$(echo "$gemspec" | head -n1)
+    echo "building $gemspec"
 
-    installPhase = ''
-      export HOME=$TMP/home; mkdir -pv "$HOME"
+    exec 3>&1
+    output=$(gem build $gemspec | tee >(cat - >&3))
+    exec 3>&-
 
-      gem install -V --ignore-dependencies \
-      -i "$out/${ruby.gemPath}" -n "$out/bin" "$src" $gemFlags -- $buildFlags
-      rm -frv $out/${ruby.gemPath}/cache # don't keep the .gem file here
+    gempkg=$(echo "$output" | grep -oP 'File: \K(.*)')
 
+    echo "gem package built: $gempkg"
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    # NOTE: This does NOT build the unpacked gem, but installs $src directly.
+    #       Gems that have not been downloaded from rubygems.org may need a
+    #       separate buildPhase.
+    #       --ignore-dependencies is necessary as rubygems otherwise always
+    #       connects to the repository, thus breaking pure builds.
+    GEM_HOME=$out/${ruby.gemPath} \
+      gem install \
+      --local \
+      --force \
+      --http-proxy "http://nodtd.invalid" \
+      --ignore-dependencies \
+      --build-root "/" \
+      --backtrace \
+      $gempkg $gemFlags -- $buildFlags
+
+    # Yes, we really do need the $out/${ruby.gemPath}/cache.
+    # This is very important in order for many parts of RubyGems/Bundler to not blow up.
+    # See https://github.com/bundler/bundler/issues/3327
+
+    mkdir -p $out/bin
+    for prog in $out/${ruby.gemPath}/gems/*/bin/*; do
+      makeWrapper $prog $out/bin/$(basename $prog) \
+        --prefix GEM_PATH : "$out/${ruby.gemPath}:$GEM_PATH" \
+        --prefix RUBYLIB : "${rubygems}/lib" \
+        $extraWrapperFlags ''${extraWrapperFlagsArray[@]}
+    done
+        #--prefix RUBYOPT rubygems \
+
+    # looks like useless files which break build repeatability and consume space
+    rm -fv $out/${ruby.gemPath}/doc/*/*/created.rid || true
+    rm -fv $out/${ruby.gemPath}/gems/*/ext/*/mkmf.log || true
+
+    mkdir -p $out/nix-support
+
+    cat > $out/nix-support/setup-hook <<EOF
+    if [[ "\$GEM_PATH" != *$out* ]]; then
       addToSearchPath GEM_PATH $out/${ruby.gemPath}
+    fi
+    EOF
+
+    runHook postInstall
+  '';
+
+  propagatedBuildInputs = gemPath;
+  propagatedUserEnvPkgs = gemPath;
+
+  passthru.isRubyGem = true;
+  inherit meta;
+})
 
-      for prog in $out/bin/*; do
-        wrapProgram "$prog" \
-          --prefix GEM_PATH : "$GEM_PATH" \
-          --prefix RUBYLIB : "${rubygems}/lib" \
-          --set RUBYOPT rubygems \
-          $extraWrapperFlags ''${extraWrapperFlagsArray[@]}
-      done
-
-      for prog in $out/gems/*/bin/*; do
-        [[ -e "$out/bin/$(basename $prog)" ]]
-      done
-
-      # looks like useless files which break build repeatability and consume space
-      rm $out/${ruby.gemPath}/doc/*/*/created.rid || true
-      rm $out/${ruby.gemPath}/gems/*/ext/*/mkmf.log || true
-
-      runHook postInstall
-    '';
-
-    propagatedUserEnvPkgs = requiredGems;
-
-    passthru.isRubyGem = true;
-
-  };
-  mb = stdenv.lib.maybeAttr;
-  patchedGem = a: stdenv.mkDerivation (removeAttrs (stdenv.lib.mergeAttrsByFuncDefaults
-      ([ (gemDefaults a) ]
-      ++ (stdenv.lib.concatMap (p: [(mb a.basename {} p) (mb a.name {} p)] )
-      patches)))
-    [ "mergeAttrBy" ]);
-in
-aName: a@{ name, basename, requiredGems, sha256, meta }:
-  stdenv.lib.foldl (d: o: mb name (mb basename d o) o) (patchedGem a) overrides
+)
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
deleted file mode 100644
index 6ec0f4f73e5..00000000000
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ /dev/null
@@ -1,2097 +0,0 @@
-# WARNING: automatically generated file
-# Generated by 'gem nix' command that comes from 'nix' gem
-g: # Get dependencies from patched gems
-{
-  aliases = {
-    ZenTest = g.ZenTest_4_10_1;
-    actionmailer = g.actionmailer_4_1_5;
-    actionpack = g.actionpack_4_1_5;
-    actionview = g.actionview_4_1_5;
-    activemodel = g.activemodel_4_1_5;
-    activerecord = g.activerecord_4_1_5;
-    activesupport = g.activesupport_4_1_5;
-    addressable = g.addressable_2_3_6;
-    arel = g.arel_5_0_1_20140414130214;
-    atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
-    autotest_rails = g.autotest_rails_4_2_1;
-    aws_sdk = g.aws_sdk_1_51_0;
-    backports = g.backports_3_6_0;
-    bitbucket_backup = g.bitbucket_backup_0_3_1;
-    builder = g.builder_3_2_2;
-    buildr = g.buildr_1_4_19;
-    bundler = g.bundler_1_7_1;
-    childprocess = g.childprocess_0_5_3;
-    chronic = g.chronic_0_10_2;
-    coderay = g.coderay_1_1_0;
-    cucumber = g.cucumber_1_3_16;
-    daemons = g.daemons_1_1_9;
-    diff_lcs = g.diff_lcs_1_2_5;
-    dimensions = g.dimensions_1_2_0;
-    domain_name = g.domain_name_0_5_20;
-    dotenv = g.dotenv_0_11_1;
-    dotenv_deployment = g.dotenv_deployment_0_0_2;
-    em_resolv_replace = g.em_resolv_replace_1_1_3;
-    erubis = g.erubis_2_7_0;
-    ethon = g.ethon_0_7_1;
-    eventmachine = g.eventmachine_1_0_3;
-    eventmachine_tail = g.eventmachine_tail_0_6_4;
-    fakes3 = g.fakes3_0_1_5_2;
-    faraday = g.faraday_0_9_0;
-    faraday_middleware = g.faraday_middleware_0_9_1;
-    ffi = g.ffi_1_9_3;
-    file_tail = g.file_tail_1_0_12;
-    foreman = g.foreman_0_74_0;
-    gettext = g.gettext_3_1_3;
-    gh = g.gh_0_13_2;
-    gherkin = g.gherkin_2_12_2;
-    highline = g.highline_1_6_21;
-    hike = g.hike_1_2_3;
-    hoe = g.hoe_3_7_1;
-    http_cookie = g.http_cookie_1_0_2;
-    i18n = g.i18n_0_6_11;
-    iconv = g.iconv_1_0_4;
-    jsduck = g.jsduck_5_3_4;
-    json = g.json_1_8_1;
-    json_pure = g.json_pure_1_8_0;
-    launchy = g.launchy_2_4_2;
-    locale = g.locale_2_1_0;
-    lockfile = g.lockfile_2_1_3;
-    macaddr = g.macaddr_1_7_1;
-    mail = g.mail_2_6_1;
-    mechanize = g.mechanize_2_7_3;
-    method_source = g.method_source_0_8_2;
-    mime_types = g.mime_types_2_3;
-    mini_portile = g.mini_portile_0_6_0;
-    minitar = g.minitar_0_5_4;
-    minitest = g.minitest_5_4_0;
-    multi_json = g.multi_json_1_10_1;
-    multi_test = g.multi_test_0_1_1;
-    multipart_post = g.multipart_post_2_0_0;
-    net_http_digest_auth = g.net_http_digest_auth_1_4;
-    net_http_persistent = g.net_http_persistent_2_9_4;
-    net_http_pipeline = g.net_http_pipeline_1_0_1;
-    net_sftp = g.net_sftp_2_1_2;
-    net_ssh = g.net_ssh_2_9_1;
-    nix = g.nix_0_1_1;
-    nokogiri = g.nokogiri_1_6_3_1;
-    ntlm_http = g.ntlm_http_0_1_1;
-    orderedhash = g.orderedhash_0_0_6;
-    papertrail = g.papertrail_0_9_10;
-    papertrail_cli = g.papertrail_cli_0_9_3;
-    parallel = g.parallel_0_7_1;
-    polyglot = g.polyglot_0_3_5;
-    pry = g.pry_0_9_12_6;
-    pusher_client = g.pusher_client_0_6_0;
-    rack = g.rack_1_5_2;
-    rack_protection = g.rack_protection_1_5_3;
-    rack_test = g.rack_test_0_6_2;
-    rails = g.rails_4_1_5;
-    railties = g.railties_4_1_5;
-    rake = g.rake_10_3_2;
-    rb_fsevent = g.rb_fsevent_0_9_4;
-    rdiscount = g.rdiscount_2_1_7_1;
-    remote_syslog = g.remote_syslog_1_6_14;
-    riemann_dash = g.riemann_dash_0_2_9;
-    right_aws = g.right_aws_3_1_0;
-    right_http_connection = g.right_http_connection_1_5_0;
-    rjb = g.rjb_1_4_9;
-    rkelly_remix = g.rkelly_remix_0_0_6;
-    rmail = g.rmail_1_0_0;
-    rspec = g.rspec_2_14_1;
-    rspec_core = g.rspec_core_2_14_8;
-    rspec_expectations = g.rspec_expectations_2_14_5;
-    rspec_mocks = g.rspec_mocks_2_14_6;
-    rubyzip = g.rubyzip_1_1_6;
-    sass = g.sass_3_4_1;
-    selenium_webdriver = g.selenium_webdriver_2_42_0;
-    servolux = g.servolux_0_10_0;
-    sinatra = g.sinatra_1_4_5;
-    slop = g.slop_3_6_0;
-    sprockets = g.sprockets_2_12_1;
-    sprockets_rails = g.sprockets_rails_2_1_3;
-    syslog_protocol = g.syslog_protocol_0_9_2;
-    systemu = g.systemu_2_6_4;
-    taskjuggler = g.taskjuggler_3_5_0;
-    term_ansicolor = g.term_ansicolor_1_3_0;
-    terminal_notifier = g.terminal_notifier_1_6_1;
-    text = g.text_1_3_0;
-    thin = g.thin_1_6_2;
-    thor = g.thor_0_19_1;
-    thread_safe = g.thread_safe_0_3_4;
-    tilt = g.tilt_1_4_1;
-    tins = g.tins_1_3_2;
-    travis = g.travis_1_7_1;
-    treetop = g.treetop_1_4_15;
-    trollop = g.trollop_2_0;
-    typhoeus = g.typhoeus_0_6_9;
-    tzinfo = g.tzinfo_1_2_2;
-    unf = g.unf_0_1_4;
-    unf_ext = g.unf_ext_0_0_6;
-    uuid = g.uuid_2_3_7;
-    webrick = g.webrick_1_3_1;
-    webrobots = g.webrobots_0_1_1;
-    websocket = g.websocket_1_2_0;
-    xapian_full = g.xapian_full_1_2_3;
-    xapian_ruby = g.xapian_ruby_1_2_17;
-    xml_simple = g.xml_simple_1_1_2;
-  };
-  gem_nix_args = [ ''autotest-rails'' ''aws-sdk'' ''bitbucket-backup'' ''buildr'' ''cucumber'' ''fakes3'' ''foreman'' ''gettext'' ''iconv'' ''jsduck'' ''lockfile'' ''mechanize'' ''nix'' ''papertrail-cli'' ''rails'' ''rake'' ''rb-fsevent'' ''remote_syslog'' ''riemann-dash'' ''right_aws'' ''rmail'' ''sass'' ''selenium-webdriver'' ''sinatra-1.3.2'' ''taskjuggler'' ''terminal-notifier'' ''thin'' ''travis'' ''trollop'' ''uuid'' ''xapian-full'' ''xapian-ruby'' ];
-  gems = {
-    ZenTest_4_10_1 = {
-      basename = ''ZenTest'';
-      meta = {
-        description = ''ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby'';
-        homepage = ''https://github.com/seattlerb/zentest'';
-        longDescription = ''ZenTest provides 4 different tools: zentest, unit_diff, autotest, and
-multiruby.
-
-zentest scans your target and unit-test code and writes your missing
-code based on simple naming rules, enabling XP at a much quicker pace.
-zentest only works with Ruby and Minitest or Test::Unit. There is
-enough evidence to show that this is still proving useful to users, so
-it stays.
-
-unit_diff is a command-line filter to diff expected results from
-actual results and allow you to quickly see exactly what is wrong.
-Do note that minitest 2.2+ provides an enhanced assert_equal obviating
-the need for unit_diff
-
-autotest is a continous testing facility meant to be used during
-development. As soon as you save a file, autotest will run the
-corresponding dependent tests.
-
-multiruby runs anything you want on multiple versions of ruby. Great
-for compatibility checking! Use multiruby_setup to manage your
-installed versions.'';
-      };
-      name = ''ZenTest-4.10.1'';
-      requiredGems = [  ];
-      sha256 = ''1jyk0lag27s71idna2h72ljskimj0snsiw7diyjx5rqxnz6fj7z1'';
-    };
-    actionmailer_4_1_5 = {
-      basename = ''actionmailer'';
-      meta = {
-        description = ''Email composition, delivery, and receiving framework (part of Rails).'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
-      };
-      name = ''actionmailer-4.1.5'';
-      requiredGems = [ g.actionpack_4_1_5 g.actionview_4_1_5 g.mail_2_5_4 ];
-      sha256 = ''19frz9njy6jbxh7yasx62l4ifns3dxfkfqvnxlqb4pwsz7lqcp9c'';
-    };
-    actionpack_4_1_5 = {
-      basename = ''actionpack'';
-      meta = {
-        description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
-      };
-      name = ''actionpack-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.rack_1_5_2 g.rack_test_0_6_2 g.actionview_4_1_5 ];
-      sha256 = ''05wh3c5rw3c0rsza3bnpmr6s63n481d4gkbhsp3ngwn9lpp3jdb6'';
-    };
-    actionview_4_1_5 = {
-      basename = ''actionview'';
-      meta = {
-        description = ''Rendering framework putting the V in MVC (part of Rails).'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''Simple, battle-tested conventions and helpers for building web pages.'';
-      };
-      name = ''actionview-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 g.erubis_2_7_0 ];
-      sha256 = ''02zb4xi2farzh892j9awxshyly7ijlvbj39g6cwq5mhs5cx59qk8'';
-    };
-    activemodel_4_1_5 = {
-      basename = ''activemodel'';
-      meta = {
-        description = ''A toolkit for building modeling frameworks (part of Rails).'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.'';
-      };
-      name = ''activemodel-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.builder_3_2_2 ];
-      sha256 = ''1anbjwdfgdjfxiv5vzysrdd98mapvd2h8xjkayq3vq54n13ymjvl'';
-    };
-    activerecord_4_1_5 = {
-      basename = ''activerecord'';
-      meta = {
-        description = ''Object-relational mapper framework (part of Rails).'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
-      };
-      name = ''activerecord-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.activemodel_4_1_5 g.arel_5_0_1_20140414130214 ];
-      sha256 = ''1z8awkkl4bn4ghdp432n2qpagbb8569ffq63kmgkbwf8127kmzrc'';
-    };
-    activesupport_4_1_5 = {
-      basename = ''activesupport'';
-      meta = {
-        description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
-      };
-      name = ''activesupport-4.1.5'';
-      requiredGems = [ g.i18n_0_6_11 g.json_1_8_1 g.tzinfo_1_2_2 g.minitest_5_4_0 g.thread_safe_0_3_4 ];
-      sha256 = ''0vmf58q96469dci509hhbqxwr7gaxq4yjsb37xd56ggpqn3qm30k'';
-    };
-    addressable_2_3_6 = {
-      basename = ''addressable'';
-      meta = {
-        description = ''URI Implementation'';
-        homepage = ''http://addressable.rubyforge.org/'';
-        longDescription = ''Addressable is a replacement for the URI implementation that is part of
-Ruby's standard library. It more closely conforms to the relevant RFCs and
-adds support for IRIs and URI templates.
-'';
-      };
-      name = ''addressable-2.3.6'';
-      requiredGems = [  ];
-      sha256 = ''137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8'';
-    };
-    arel_5_0_1_20140414130214 = {
-      basename = ''arel'';
-      meta = {
-        description = ''Arel is a SQL AST manager for Ruby'';
-        homepage = ''http://github.com/rails/arel'';
-        longDescription = ''Arel is a SQL AST manager for Ruby. It
-
-1. Simplifies the generation of complex SQL queries
-2. Adapts to various RDBMSes
-
-It is intended to be a framework framework; that is, you can build your own ORM
-with it, focusing on innovative object and collection modeling as opposed to
-database compatibility and query generation.'';
-      };
-      name = ''arel-5.0.1.20140414130214'';
-      requiredGems = [  ];
-      sha256 = ''0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9'';
-    };
-    atoulme_Antwrap_0_7_4 = {
-      basename = ''atoulme_Antwrap'';
-      meta = {
-        description = ''A Ruby module that wraps the Apache Ant build tool. Antwrap can be used to invoke Ant Tasks from a Ruby or a JRuby script.'';
-        homepage = ''http://rubyforge.org/projects/antwrap/'';
-        longDescription = ''	A Ruby module that wraps the Apache Ant build tool. Antwrap can be used to invoke Ant Tasks from a Ruby or a JRuby script.
-
-== FEATURES/PROBLEMS:
-
-	Antwrap runs on the native Ruby interpreter via the RJB (Ruby Java Bridge gem) and on the JRuby interpreter. Antwrap is compatible with Ant versions 1.5.4, 
-	1.6.5 and 1.7.0. For more information, 	see the Project Info (http://rubyforge.org/projects/antwrap/) page. 
-	 
-== SYNOPSIS:
-
-	Antwrap is a Ruby library that can be used to invoke Ant tasks. It is being used in the Buildr (http://incubator.apache.org/buildr/) project to execute 
-	Ant (http://ant.apache.org/) tasks in a Java project. If you are tired of fighting with Ant or Maven XML files in your Java project, take some time to 
-	check out Buildr!'';
-      };
-      name = ''atoulme-Antwrap-0.7.4'';
-      requiredGems = [ g.rjb_1_4_9 ];
-      sha256 = ''0sh9capkya88qm9mvixwly32fwb2c4nzif9j9vv0f73rqw8kz4j4'';
-    };
-    autotest_rails_4_2_1 = {
-      basename = ''autotest_rails'';
-      meta = {
-        description = ''This is an autotest plugin to provide rails support'';
-        homepage = ''https://github.com/seattlerb/autotest-rails'';
-        longDescription = ''This is an autotest plugin to provide rails support. It provides basic
-rails support and extra plugins for migrations and fixtures.'';
-      };
-      name = ''autotest-rails-4.2.1'';
-      requiredGems = [ g.ZenTest_4_10_1 ];
-      sha256 = ''1v1dm9zlhdlrxvk90zs8d439ldar674ix41s7pncddgyswcfgg5l'';
-    };
-    aws_sdk_1_51_0 = {
-      basename = ''aws_sdk'';
-      meta = {
-        description = ''AWS SDK for Ruby'';
-        homepage = ''http://aws.amazon.com/sdkforruby'';
-        longDescription = ''AWS SDK for Ruby'';
-      };
-      name = ''aws-sdk-1.51.0'';
-      requiredGems = [ g.nokogiri_1_6_3_1 g.json_1_8_1 ];
-      sha256 = ''092a7km6ar7zvyyzgiqsb0dm354sqa6mzx7sa0c8ndwm918lbqai'';
-    };
-    backports_3_6_0 = {
-      basename = ''backports'';
-      meta = {
-        description = ''Backports of Ruby features for older Ruby.'';
-        homepage = ''http://github.com/marcandre/backports'';
-        longDescription = ''Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.0.0 for earlier versions.'';
-      };
-      name = ''backports-3.6.0'';
-      requiredGems = [  ];
-      sha256 = ''1pinn0m4fmq124adc6xjl2hk9799xq5jw4bva82cdzd4h2hwrgq5'';
-    };
-    bitbucket_backup_0_3_1 = {
-      basename = ''bitbucket_backup'';
-      meta = {
-        description = ''A tool to backup Bitbucket repos.'';
-        homepage = ''https://bitbucket.org/seth/bitbucket-backup'';
-        longDescription = ''A tool to backup Bitbucket repos.'';
-      };
-      name = ''bitbucket-backup-0.3.1'';
-      requiredGems = [ g.highline_1_6_21 g.json_1_8_1 ];
-      sha256 = ''17d2pfk0z3cxcx9m90avcp5wxhdbrq23zd665263m3hh9b5qi0fj'';
-    };
-    builder_3_2_2 = {
-      basename = ''builder'';
-      meta = {
-        description = ''Builders for MarkUp.'';
-        homepage = ''http://onestepback.org'';
-        longDescription = ''Builder provides a number of builder objects that make creating structured data
-simple to do.  Currently the following builder objects are supported:
-
-* XML Markup
-* XML Events
-'';
-      };
-      name = ''builder-3.2.2'';
-      requiredGems = [  ];
-      sha256 = ''14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2'';
-    };
-    buildr_1_4_19 = {
-      basename = ''buildr'';
-      meta = {
-        description = ''Build like you code'';
-        homepage = ''http://buildr.apache.org/'';
-        longDescription = ''Apache Buildr is a build system for Java-based applications, including support
-for Scala, Groovy and a growing number of JVM languages and tools.  We wanted
-something that's simple and intuitive to use, so we only need to tell it what
-to do, and it takes care of the rest.  But also something we can easily extend
-for those one-off tasks, with a language that's a joy to use.
-'';
-      };
-      name = ''buildr-1.4.19'';
-      requiredGems = [ g.rake_0_9_2_2 g.builder_3_2_2 g.net_ssh_2_7_0 g.net_sftp_2_1_2 g.rubyzip_0_9_9 g.json_pure_1_8_0 g.hoe_3_7_1 g.rjb_1_4_8 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_2_4 g.rspec_expectations_2_14_3 g.rspec_mocks_2_14_3 g.rspec_core_2_14_5 g.rspec_2_14_1 g.xml_simple_1_1_2 g.minitar_0_5_4 g.bundler_1_7_1 g.orderedhash_0_0_6 ];
-      sha256 = ''07k6z149si7v1h5m1bvdhjcv0nnjwkd2c6a8n1779l8g47ckccj0'';
-    };
-    bundler_1_7_1 = {
-      basename = ''bundler'';
-      meta = {
-        description = ''The best way to manage your application's dependencies'';
-        homepage = ''http://bundler.io'';
-        longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
-      };
-      name = ''bundler-1.7.1'';
-      requiredGems = [  ];
-      sha256 = ''144yqbmi89gl933rh8dv58bm7ia14s4a098qdi2z0q09ank9n5h2'';
-    };
-    childprocess_0_5_3 = {
-      basename = ''childprocess'';
-      meta = {
-        description = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
-        homepage = ''http://github.com/jarib/childprocess'';
-        longDescription = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
-      };
-      name = ''childprocess-0.5.3'';
-      requiredGems = [ g.ffi_1_9_3 ];
-      sha256 = ''12djpdr487fddq55sav8gw1pjglcbb0ab0s6npga0ywgsqdyvsww'';
-    };
-    chronic_0_10_2 = {
-      basename = ''chronic'';
-      meta = {
-        description = ''Natural language date/time parsing.'';
-        homepage = ''http://github.com/mojombo/chronic'';
-        longDescription = ''Chronic is a natural language date/time parser written in pure Ruby.'';
-      };
-      name = ''chronic-0.10.2'';
-      requiredGems = [  ];
-      sha256 = ''1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn'';
-    };
-    coderay_1_1_0 = {
-      basename = ''coderay'';
-      meta = {
-        description = ''Fast syntax highlighting for selected languages.'';
-        homepage = ''http://coderay.rubychan.de'';
-        longDescription = ''Fast and easy syntax highlighting for selected languages, written in Ruby. Comes with RedCloth integration and LOC counter.'';
-      };
-      name = ''coderay-1.1.0'';
-      requiredGems = [  ];
-      sha256 = ''059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s'';
-    };
-    cucumber_1_3_16 = {
-      basename = ''cucumber'';
-      meta = {
-        description = ''cucumber-1.3.16'';
-        homepage = ''http://cukes.info'';
-        longDescription = ''Behaviour Driven Development with elegance and joy'';
-      };
-      name = ''cucumber-1.3.16'';
-      requiredGems = [ g.builder_3_2_2 g.diff_lcs_1_2_5 g.gherkin_2_12_2 g.multi_json_1_10_1 g.multi_test_0_1_1 ];
-      sha256 = ''11cjw2d03r41b5pn5in6q822s3v6bpd8isxc9dl7by01jrzi0662'';
-    };
-    daemons_1_1_9 = {
-      basename = ''daemons'';
-      meta = {
-        description = ''A toolkit to create and control daemons in different ways'';
-        homepage = ''http://daemons.rubyforge.org'';
-        longDescription = ''Daemons provides an easy way to wrap existing ruby scripts (for example a self-written server)  to be run as a daemon and to be controlled by simple start/stop/restart commands.  You can also call blocks as daemons and control them from the parent or just daemonize the current process.  Besides this basic functionality, daemons offers many advanced features like exception  backtracing and logging (in case your ruby script crashes) and monitoring and automatic restarting of your processes if they crash.'';
-      };
-      name = ''daemons-1.1.9'';
-      requiredGems = [  ];
-      sha256 = ''1j1m64pirsldhic6x6sg4lcrmp1bs1ihpd49xm8m1b2rc1c3irzy'';
-    };
-    diff_lcs_1_2_4 = {
-      basename = ''diff_lcs'';
-      meta = {
-        description = ''Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm'';
-        homepage = ''http://diff-lcs.rubyforge.org/'';
-        longDescription = ''Diff::LCS computes the difference between two Enumerable sequences using the
-McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
-to create a simple HTML diff output format and a standard diff-like tool.
-
-This is release 1.2.4, fixing a bug introduced after diff-lcs 1.1.3 that did
-not properly prune common sequences at the beginning of a comparison set.
-Thanks to Paul Kunysch for fixing this issue.
-
-Coincident with the release of diff-lcs 1.2.3, we reported an issue with
-Rubinius in 1.9 mode
-({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).
-We are happy to report that this issue has been resolved.'';
-      };
-      name = ''diff-lcs-1.2.4'';
-      requiredGems = [  ];
-      sha256 = ''09xbffjg639y8n43zp88ki0m489vv2c86znmfib2fg1di6svi1xd'';
-    };
-    diff_lcs_1_2_5 = {
-      basename = ''diff_lcs'';
-      meta = {
-        description = ''Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm'';
-        homepage = ''http://diff-lcs.rubyforge.org/'';
-        longDescription = ''Diff::LCS computes the difference between two Enumerable sequences using the
-McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
-to create a simple HTML diff output format and a standard diff-like tool.
-
-This is release 1.2.4, fixing a bug introduced after diff-lcs 1.1.3 that did
-not properly prune common sequences at the beginning of a comparison set.
-Thanks to Paul Kunysch for fixing this issue.
-
-Coincident with the release of diff-lcs 1.2.3, we reported an issue with
-Rubinius in 1.9 mode
-({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).
-We are happy to report that this issue has been resolved.'';
-      };
-      name = ''diff-lcs-1.2.5'';
-      requiredGems = [  ];
-      sha256 = ''1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1'';
-    };
-    dimensions_1_2_0 = {
-      basename = ''dimensions'';
-      meta = {
-        description = ''Pure Ruby dimension measurement for GIF, PNG, JPEG and TIFF images'';
-        homepage = ''https://github.com/sstephenson/dimensions'';
-        longDescription = ''A pure Ruby library for measuring the dimensions and rotation angles of GIF, PNG, JPEG and TIFF images.'';
-      };
-      name = ''dimensions-1.2.0'';
-      requiredGems = [  ];
-      sha256 = ''1pqb7yzjcpbgbyi196ifqbd1wy570cn12bkzcvpcha4xilhajja0'';
-    };
-    domain_name_0_5_20 = {
-      basename = ''domain_name'';
-      meta = {
-        description = ''Domain Name manipulation library for Ruby'';
-        homepage = ''https://github.com/knu/ruby-domain_name'';
-        longDescription = ''This is a Domain Name manipulation library for Ruby.
-
-It can also be used for cookie domain validation based on the Public
-Suffix List.
-'';
-      };
-      name = ''domain_name-0.5.20'';
-      requiredGems = [ g.unf_0_1_4 ];
-      sha256 = ''17ls88kp18dxjc93q8kmyx2anknva0vbmny60xbgpbwq3hg0qv6s'';
-    };
-    dotenv_0_11_1 = {
-      basename = ''dotenv'';
-      meta = {
-        description = ''Loads environment variables from `.env`.'';
-        homepage = ''https://github.com/bkeepers/dotenv'';
-        longDescription = ''Loads environment variables from `.env`.'';
-      };
-      name = ''dotenv-0.11.1'';
-      requiredGems = [ g.dotenv_deployment_0_0_2 ];
-      sha256 = ''09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m'';
-    };
-    dotenv_deployment_0_0_2 = {
-      basename = ''dotenv_deployment'';
-      meta = {
-        description = ''Deployment concerns for dotenv'';
-        homepage = ''https://github.com/bkeepers/dotenv-deployment'';
-      };
-      name = ''dotenv-deployment-0.0.2'';
-      requiredGems = [  ];
-      sha256 = ''1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c'';
-    };
-    em_resolv_replace_1_1_3 = {
-      basename = ''em_resolv_replace'';
-      meta = {
-        description = ''EventMachine-aware DNS lookup for Ruby'';
-        homepage = ''http://github.com/mperham/em-resolv-replace'';
-      };
-      name = ''em-resolv-replace-1.1.3'';
-      requiredGems = [  ];
-      sha256 = ''1w5y4rzmp51ni56v05qwgay5wrs2i6i3q92pvlcrghmhxhgsbqg7'';
-    };
-    erubis_2_7_0 = {
-      basename = ''erubis'';
-      meta = {
-        description = ''a fast and extensible eRuby implementation which supports multi-language'';
-        homepage = ''http://www.kuwata-lab.com/erubis/'';
-        longDescription = ''  Erubis is an implementation of eRuby and has the following features:
-
-  * Very fast, almost three times faster than ERB and about 10% faster than eruby.
-  * Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)
-  * Auto escaping support
-  * Auto trimming spaces around '&lt;% %&gt;'
-  * Embedded pattern changeable (default '&lt;% %&gt;')
-  * Enable to handle Processing Instructions (PI) as embedded pattern (ex. '&lt;?rb ... ?&gt;')
-  * Context object available and easy to combine eRuby template with YAML datafile
-  * Print statement available
-  * Easy to extend and customize in subclass
-  * Ruby on Rails support
-'';
-      };
-      name = ''erubis-2.7.0'';
-      requiredGems = [  ];
-      sha256 = ''1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3'';
-    };
-    ethon_0_7_1 = {
-      basename = ''ethon'';
-      meta = {
-        description = ''Libcurl wrapper.'';
-        homepage = ''https://github.com/typhoeus/ethon'';
-        longDescription = ''Very lightweight libcurl wrapper.'';
-      };
-      name = ''ethon-0.7.1'';
-      requiredGems = [ g.ffi_1_9_3 ];
-      sha256 = ''0b762cmnj20fjlrlzk5vsndzv4ac3ybdi4vikx5c11abl7x5wbg6'';
-    };
-    eventmachine_1_0_3 = {
-      basename = ''eventmachine'';
-      meta = {
-        description = ''Ruby/EventMachine library'';
-        homepage = ''http://rubyeventmachine.com'';
-        longDescription = ''EventMachine implements a fast, single-threaded engine for arbitrary network
-communications. It's extremely easy to use in Ruby. EventMachine wraps all
-interactions with IP sockets, allowing programs to concentrate on the
-implementation of network protocols. It can be used to create both network
-servers and clients. To create a server or client, a Ruby program only needs
-to specify the IP address and port, and provide a Module that implements the
-communications protocol. Implementations of several standard network protocols
-are provided with the package, primarily to serve as examples. The real goal
-of EventMachine is to enable programs to easily interface with other programs
-using TCP/IP, especially if custom protocols are required.'';
-      };
-      name = ''eventmachine-1.0.3'';
-      requiredGems = [  ];
-      sha256 = ''09sqlsb6x9ddlgfw5gsw7z0yjg5m2qfjiqkz2fx70zsizj3lqhil'';
-    };
-    eventmachine_tail_0_6_4 = {
-      basename = ''eventmachine_tail'';
-      meta = {
-        description = ''eventmachine tail - a file tail implementation with glob support'';
-        homepage = ''http://code.google.com/p/semicomplete/wiki/EventMachineTail'';
-        longDescription = ''Add file 'tail' implemented with EventMachine. Also includes a 'glob watch' class for watching a directory pattern for new matches, like /var/log/*.log'';
-      };
-      name = ''eventmachine-tail-0.6.4'';
-      requiredGems = [ g.eventmachine_1_0_3 ];
-      sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
-    };
-    fakes3_0_1_5_2 = {
-      basename = ''fakes3'';
-      meta = {
-        description = ''FakeS3 is a server that simulates S3 commands so you can test your S3 functionality in your projects'';
-        longDescription = ''Use FakeS3 to test basic S3 functionality without actually connecting to S3'';
-      };
-      name = ''fakes3-0.1.5.2'';
-      requiredGems = [ g.thor_0_19_1 g.builder_3_2_2 ];
-      sha256 = ''1gmg428s1jpdwn7bd9pi4ikxg8440nq9yqs22wv0k355z5cqb8by'';
-    };
-    faraday_0_9_0 = {
-      basename = ''faraday'';
-      meta = {
-        description = ''HTTP/REST API client library.'';
-        homepage = ''https://github.com/lostisland/faraday'';
-      };
-      name = ''faraday-0.9.0'';
-      requiredGems = [ g.multipart_post_2_0_0 ];
-      sha256 = ''13wi8y7j6mp0mszps50gqr0fyddiz45wqkvpnnrv797gklr9sh46'';
-    };
-    faraday_middleware_0_9_1 = {
-      basename = ''faraday_middleware'';
-      meta = {
-        description = ''Various middleware for Faraday'';
-        homepage = ''https://github.com/lostisland/faraday_middleware'';
-        longDescription = ''Various middleware for Faraday'';
-      };
-      name = ''faraday_middleware-0.9.1'';
-      requiredGems = [ g.faraday_0_9_0 ];
-      sha256 = ''1kndkrww1biz9j64fnyaqgis1gdiawxfv0ncadsz06gd555fgs6q'';
-    };
-    ffi_1_9_3 = {
-      basename = ''ffi'';
-      meta = {
-        description = ''Ruby FFI'';
-        homepage = ''http://wiki.github.com/ffi/ffi'';
-        longDescription = ''Ruby FFI library'';
-      };
-      name = ''ffi-1.9.3'';
-      requiredGems = [  ];
-      sha256 = ''0873h6jp3v65mll7av9bxlzp9m9l1cc66j0krg0llchwbh4pv5sp'';
-    };
-    file_tail_1_0_12 = {
-      basename = ''file_tail'';
-      meta = {
-        description = ''File::Tail for Ruby'';
-        homepage = ''http://github.com/flori/file-tail'';
-        longDescription = ''Library to tail files in Ruby'';
-      };
-      name = ''file-tail-1.0.12'';
-      requiredGems = [ g.tins_0_13_2 ];
-      sha256 = ''0mzxxnwj7k5pwxs0rdbmb3b41zgvzw7x40sf3qlkch4zdfx91i1j'';
-    };
-    foreman_0_74_0 = {
-      basename = ''foreman'';
-      meta = {
-        description = ''Process manager for applications with multiple components'';
-        homepage = ''http://github.com/ddollar/foreman'';
-        longDescription = ''Process manager for applications with multiple components'';
-      };
-      name = ''foreman-0.74.0'';
-      requiredGems = [ g.thor_0_19_1 g.dotenv_0_11_1 ];
-      sha256 = ''0jqblq0myzmdp2cywzz7flvgqnhf267ykcdn250cccy68s9wm37m'';
-    };
-    gettext_3_1_3 = {
-      basename = ''gettext'';
-      meta = {
-        description = ''Gettext is a pure Ruby libary and tools to localize messages.'';
-        homepage = ''http://ruby-gettext.github.com/'';
-        longDescription = ''Gettext is a GNU gettext-like program for Ruby.
-The catalog file(po-file) is same format with GNU gettext.
-So you can use GNU gettext tools for maintaining.
-'';
-      };
-      name = ''gettext-3.1.3'';
-      requiredGems = [ g.locale_2_1_0 g.text_1_3_0 ];
-      sha256 = ''066x2dbryab02kdbk6km79h4j9b0f0ynsnzcygjgvzn9001ybf9q'';
-    };
-    gh_0_13_2 = {
-      basename = ''gh'';
-      meta = {
-        description = ''layered github client'';
-        homepage = ''http://gh.rkh.im/'';
-        longDescription = ''multi-layer client for the github api v3'';
-      };
-      name = ''gh-0.13.2'';
-      requiredGems = [ g.faraday_0_9_0 g.backports_3_6_0 g.multi_json_1_10_1 g.addressable_2_3_6 g.net_http_persistent_2_9_4 g.net_http_pipeline_1_0_1 ];
-      sha256 = ''17scqa35j6ghpykzk986gnd6dvbrh8nn60ib04hb2gbyh9dns1dj'';
-    };
-    gherkin_2_12_2 = {
-      basename = ''gherkin'';
-      meta = {
-        description = ''gherkin-2.12.2'';
-        homepage = ''http://github.com/cucumber/gherkin'';
-        longDescription = ''A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.'';
-      };
-      name = ''gherkin-2.12.2'';
-      requiredGems = [ g.multi_json_1_10_1 ];
-      sha256 = ''1mxfgw15pii1jmq00xxbyp77v71mh3bp99ndgwzfwkxvbcisha25'';
-    };
-    highline_1_6_21 = {
-      basename = ''highline'';
-      meta = {
-        description = ''HighLine is a high-level command-line IO library.'';
-        homepage = ''http://highline.rubyforge.org'';
-        longDescription = ''A high-level IO library that provides validation, type conversion, and more for
-command-line interfaces. HighLine also includes a complete menu system that can
-crank out anything from simple list selection to complete shells with just
-minutes of work.
-'';
-      };
-      name = ''highline-1.6.21'';
-      requiredGems = [  ];
-      sha256 = ''06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1'';
-    };
-    hike_1_2_3 = {
-      basename = ''hike'';
-      meta = {
-        description = ''Find files in a set of paths'';
-        homepage = ''http://github.com/sstephenson/hike'';
-        longDescription = ''A Ruby library for finding files in a set of paths.'';
-      };
-      name = ''hike-1.2.3'';
-      requiredGems = [  ];
-      sha256 = ''0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm'';
-    };
-    hoe_3_7_1 = {
-      basename = ''hoe'';
-      meta = {
-        description = ''Hoe is a rake/rubygems helper for project Rakefiles'';
-        homepage = ''http://www.zenspider.com/projects/hoe.html'';
-        longDescription = ''Hoe is a rake/rubygems helper for project Rakefiles. It helps you
-manage, maintain, and release your project and includes a dynamic
-plug-in system allowing for easy extensibility. Hoe ships with
-plug-ins for all your usual project tasks including rdoc generation,
-testing, packaging, deployment, and announcement..
-
-See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
-below.
-
-For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
-      };
-      name = ''hoe-3.7.1'';
-      requiredGems = [ g.rake_10_3_2 ];
-      sha256 = ''0lyrdbzxj4isxzyfp93w0q1g9sqw6grkjp91xirzlw1z1714qsw3'';
-    };
-    http_cookie_1_0_2 = {
-      basename = ''http_cookie'';
-      meta = {
-        description = ''A Ruby library to handle HTTP Cookies based on RFC 6265'';
-        homepage = ''https://github.com/sparklemotion/http-cookie'';
-        longDescription = ''HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265.  It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers.  It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.'';
-      };
-      name = ''http-cookie-1.0.2'';
-      requiredGems = [ g.domain_name_0_5_20 ];
-      sha256 = ''0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw'';
-    };
-    i18n_0_6_11 = {
-      basename = ''i18n'';
-      meta = {
-        description = ''New wave Internationalization support for Ruby'';
-        homepage = ''http://github.com/svenfuchs/i18n'';
-        longDescription = ''New wave Internationalization support for Ruby.'';
-      };
-      name = ''i18n-0.6.11'';
-      requiredGems = [  ];
-      sha256 = ''0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk'';
-    };
-    iconv_1_0_4 = {
-      basename = ''iconv'';
-      meta = {
-        description = ''iconv wrapper library'';
-        homepage = ''https://github.com/nurse/iconv'';
-        longDescription = ''iconv wrapper library'';
-      };
-      name = ''iconv-1.0.4'';
-      requiredGems = [  ];
-      sha256 = ''16sgj6gqs4bgwv6q4vv811fb43908psr33dz7sphn1z8la3y7m2v'';
-    };
-    jsduck_5_3_4 = {
-      basename = ''jsduck'';
-      meta = {
-        description = ''Simple JavaScript Duckumentation generator'';
-        homepage = ''https://github.com/senchalabs/jsduck'';
-        longDescription = ''Documentation generator for Sencha JS frameworks'';
-      };
-      name = ''jsduck-5.3.4'';
-      requiredGems = [ g.rdiscount_2_1_7_1 g.json_1_8_1 g.parallel_0_7_1 g.rkelly_remix_0_0_6 g.dimensions_1_2_0 ];
-      sha256 = ''0hac7g9g6gg10bigbm8dskwwbv1dfch8ca353gh2bkwf244qq2xr'';
-    };
-    json_1_8_1 = {
-      basename = ''json'';
-      meta = {
-        description = ''JSON Implementation for Ruby'';
-        homepage = ''http://flori.github.com/json'';
-        longDescription = ''This is a JSON implementation as a Ruby extension in C.'';
-      };
-      name = ''json-1.8.1'';
-      requiredGems = [  ];
-      sha256 = ''0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn'';
-    };
-    json_pure_1_8_0 = {
-      basename = ''json_pure'';
-      meta = {
-        description = ''JSON Implementation for Ruby'';
-        homepage = ''http://flori.github.com/json'';
-        longDescription = ''This is a JSON implementation in pure Ruby.'';
-      };
-      name = ''json_pure-1.8.0'';
-      requiredGems = [  ];
-      sha256 = ''0kkn5zhiffav2cffj43wwvzj07825r4j463ilfjgik034vnbjs83'';
-    };
-    launchy_2_4_2 = {
-      basename = ''launchy'';
-      meta = {
-        description = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner.'';
-        homepage = ''http://github.com/copiousfreetime/launchy'';
-        longDescription = ''Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.'';
-      };
-      name = ''launchy-2.4.2'';
-      requiredGems = [ g.addressable_2_3_6 ];
-      sha256 = ''0i1nmlrqpnk2q6f7iq85cqaa7b8fw4bmqm57w60g92lsfmszs8iv'';
-    };
-    locale_2_1_0 = {
-      basename = ''locale'';
-      meta = {
-        description = ''Ruby-Locale is the pure ruby library which provides basic APIs for localization.'';
-        homepage = ''https://github.com/ruby-gettext/locale'';
-        longDescription = ''Ruby-Locale is the pure ruby library which provides basic APIs for localization.
-'';
-      };
-      name = ''locale-2.1.0'';
-      requiredGems = [  ];
-      sha256 = ''18bb0g24flq9dr8qv4j7pm7w9i2vmvmqrbmry95ibf1r1c4s60yj'';
-    };
-    lockfile_2_1_3 = {
-      basename = ''lockfile'';
-      meta = {
-        description = ''lockfile'';
-        homepage = ''https://github.com/ahoward/lockfile'';
-        longDescription = ''a ruby library for creating perfect and NFS safe lockfiles'';
-      };
-      name = ''lockfile-2.1.3'';
-      requiredGems = [  ];
-      sha256 = ''0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr'';
-    };
-    macaddr_1_7_1 = {
-      basename = ''macaddr'';
-      meta = {
-        description = ''macaddr'';
-        homepage = ''https://github.com/ahoward/macaddr'';
-        longDescription = ''cross platform mac address determination for ruby'';
-      };
-      name = ''macaddr-1.7.1'';
-      requiredGems = [ g.systemu_2_6_4 ];
-      sha256 = ''1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b'';
-    };
-    mail_2_5_4 = {
-      basename = ''mail'';
-      meta = {
-        description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.'';
-        homepage = ''http://github.com/mikel/mail'';
-        longDescription = ''A really Ruby Mail handler.'';
-      };
-      name = ''mail-2.5.4'';
-      requiredGems = [ g.mime_types_1_25_1 g.treetop_1_4_15 ];
-      sha256 = ''0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4'';
-    };
-    mail_2_6_1 = {
-      basename = ''mail'';
-      meta = {
-        description = ''Mail provides a nice Ruby DSL for making, sending and reading emails.'';
-        homepage = ''http://github.com/mikel/mail'';
-        longDescription = ''A really Ruby Mail handler.'';
-      };
-      name = ''mail-2.6.1'';
-      requiredGems = [ g.mime_types_2_3 ];
-      sha256 = ''17gsw57nc7ihk4xnbq9lidzv6h1ivh4l5m16hy790vs219n22mhx'';
-    };
-    mechanize_2_7_3 = {
-      basename = ''mechanize'';
-      meta = {
-        description = ''The Mechanize library is used for automating interaction with websites'';
-        homepage = ''http://mechanize.rubyforge.org'';
-        longDescription = ''The Mechanize library is used for automating interaction with websites.
-Mechanize automatically stores and sends cookies, follows redirects,
-and can follow links and submit forms.  Form fields can be populated and
-submitted.  Mechanize also keeps track of the sites that you have visited as
-a history.'';
-      };
-      name = ''mechanize-2.7.3'';
-      requiredGems = [ g.net_http_digest_auth_1_4 g.net_http_persistent_2_9_4 g.mime_types_2_3 g.http_cookie_1_0_2 g.nokogiri_1_6_3_1 g.ntlm_http_0_1_1 g.webrobots_0_1_1 g.domain_name_0_5_20 ];
-      sha256 = ''00jkazj8fqnynaxca0lnwx5a084irxrnw8n8i0kppq4vg71g7rrx'';
-    };
-    method_source_0_8_2 = {
-      basename = ''method_source'';
-      meta = {
-        description = ''retrieve the sourcecode for a method'';
-        homepage = ''http://banisterfiend.wordpress.com'';
-        longDescription = ''retrieve the sourcecode for a method'';
-      };
-      name = ''method_source-0.8.2'';
-      requiredGems = [  ];
-      sha256 = ''1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2'';
-    };
-    mime_types_1_25_1 = {
-      basename = ''mime_types'';
-      meta = {
-        description = ''This library allows for the identification of a file's likely MIME content type'';
-        homepage = ''http://mime-types.rubyforge.org/'';
-        longDescription = ''This library allows for the identification of a file's likely MIME content
-type. This is release 1.25.1, fixing an issue with priority comparison for
-mime-types 1.x. The current release is 2.0, which only supports Ruby 1.9 or
-later.
-
-Release 1.25.1 contains all features of 1.25, including the experimental
-caching and lazy loading functionality. The caching and lazy loading features
-were initially implemented by Greg Brockman (gdb). As these features are
-experimental, they are disabled by default and must be enabled through the use
-of environment variables. The cache is invalidated on a per-version basis; the
-cache for version 1.25 will not be reused for any later version.
-
-To use lazy loading, set the environment variable +RUBY_MIME_TYPES_LAZY_LOAD+
-to any value other than 'false'. When using lazy loading, the initial startup
-of MIME::Types is around 12–25× faster than normal startup (on my system,
-normal startup is about 90 ms; lazy startup is about 4 ms). This isn't
-generally useful, however, as the MIME::Types database has not been loaded.
-Lazy startup and load is just *slightly* faster—around 1 ms. The real advantage
-comes from using the cache.
-
-To enable the cache, set the environment variable +RUBY_MIME_TYPES_CACHE+ to a
-filename where MIME::Types will have read-write access. The first time a new
-version of MIME::Types is run using this file, it will be created, taking a
-little longer than normal. Subsequent loads using the same cache file will be
-approximately 3½× faster (25 ms) than normal loads. This can be combined with
-+RUBY_MIME_TYPES_LAZY_LOAD+, but this is *not* recommended in a multithreaded
-or multiprocess environment where all threads or processes will be using the
-same cache file.
-
-As the caching interface is still experimental, the only values cached are the
-default MIME::Types database, not any custom MIME::Types added by users.
-
-MIME types are used in MIME-compliant communications, as in e-mail or HTTP
-traffic, to indicate the type of content which is transmitted. MIME::Types
-provides the ability for detailed information about MIME entities (provided as
-a set of MIME::Type objects) to be determined and used programmatically. There
-are many types defined by RFCs and vendors, so the list is long but not
-complete; don't hesitate to ask to add additional information. This library
-follows the IANA collection of MIME types (see below for reference).
-
-MIME::Types for Ruby was originally based on MIME::Types for Perl by Mark
-Overmeer, copyright 2001 - 2009.
-
-MIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It
-tracks the {IANA registry}[http://www.iana.org/assignments/media-types/]
-({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types
-added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]
-and added by the users of MIME::Types.'';
-      };
-      name = ''mime-types-1.25.1'';
-      requiredGems = [  ];
-      sha256 = ''0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8'';
-    };
-    mime_types_2_3 = {
-      basename = ''mime_types'';
-      meta = {
-        description = ''The mime-types library provides a library and registry for information about MIME content type definitions'';
-        homepage = ''https://github.com/halostatue/mime-types/'';
-        longDescription = ''The mime-types library provides a library and registry for information about
-MIME content type definitions. It can be used to determine defined filename
-extensions for MIME types, or to use filename extensions to look up the likely
-MIME type definitions.
-
-MIME content types are used in MIME-compliant communications, as in e-mail or
-HTTP traffic, to indicate the type of content which is transmitted. The
-mime-types library provides the ability for detailed information about MIME
-entities (provided as an enumerable collection of MIME::Type objects) to be
-determined and used programmatically. There are many types defined by RFCs and
-vendors, so the list is long but by definition incomplete; don't hesitate to to
-add additional type definitions (see Contributing.rdoc). The primary sources
-for MIME type definitions found in mime-types is the IANA collection of
-registrations (see below for the link), RFCs, and W3C recommendations.
-
-This is release 2.2, mostly changing how the MIME type registry is updated from
-the IANA registry (the format of which was incompatibly changed shortly before
-this release) and taking advantage of the extra data available from IANA
-registry in the form of MIME::Type#xrefs. In addition, the {LTSW
-list}[http://www.ltsw.se/knbase/internet/mime.htp] has been dropped as a
-supported list.
-
-As a reminder, mime-types 2.x is no longer compatible with Ruby 1.8 and
-mime-types 1.x is only being maintained for security issues. No new MIME types
-or features will be added.
-
-mime-types (previously called MIME::Types for Ruby) was originally based on
-MIME::Types for Perl by Mark Overmeer, copyright 2001 - 2009. It is built to
-conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA Media
-Types registry}[https://www.iana.org/assignments/media-types/media-types.xhtml]
-with some types added by the users of mime-types.'';
-      };
-      name = ''mime-types-2.3'';
-      requiredGems = [  ];
-      sha256 = ''0j0mwzr2q9fmisp3r8rp7j95dns2gw7sd8c5sb5y6z0dfj56a4vd'';
-    };
-    mini_portile_0_6_0 = {
-      basename = ''mini_portile'';
-      meta = {
-        description = ''Simplistic port-like solution for developers'';
-        homepage = ''http://github.com/luislavena/mini_portile'';
-        longDescription = ''Simplistic port-like solution for developers. It provides a standard and simplified way to compile against dependency libraries without messing up your system.'';
-      };
-      name = ''mini_portile-0.6.0'';
-      requiredGems = [  ];
-      sha256 = ''09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn'';
-    };
-    minitar_0_5_4 = {
-      basename = ''minitar'';
-      meta = {
-        description = ''Provides POSIX tarchive management from Ruby programs.'';
-        homepage = ''http://www.github.com/atoulme/minitar'';
-        longDescription = ''Archive::Tar::Minitar is a pure-Ruby library and command-line utility that provides the ability to deal with POSIX tar(1) archive files. The implementation is based heavily on Mauricio Ferna'ndez's implementation in rpa-base, but has been reorganised to promote reuse in other projects. Antoine Toulme forked the original project on rubyforge to place it on github, under http://www.github.com/atoulme/minitar'';
-      };
-      name = ''minitar-0.5.4'';
-      requiredGems = [  ];
-      sha256 = ''1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka'';
-    };
-    minitest_5_4_0 = {
-      basename = ''minitest'';
-      meta = {
-        description = ''minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking'';
-        homepage = ''https://github.com/seattlerb/minitest'';
-        longDescription = ''minitest provides a complete suite of testing facilities supporting
-TDD, BDD, mocking, and benchmarking.
-
-    "I had a class with Jim Weirich on testing last week and we were
-     allowed to choose our testing frameworks. Kirk Haines and I were
-     paired up and we cracked open the code for a few test
-     frameworks...
-
-     I MUST say that minitest is *very* readable / understandable
-     compared to the 'other two' options we looked at. Nicely done and
-     thank you for helping us keep our mental sanity."
-
-    -- Wayne E. Seguin
-
-minitest/unit is a small and incredibly fast unit testing framework.
-It provides a rich set of assertions to make your tests clean and
-readable.
-
-minitest/spec is a functionally complete spec engine. It hooks onto
-minitest/unit and seamlessly bridges test assertions over to spec
-expectations.
-
-minitest/benchmark is an awesome way to assert the performance of your
-algorithms in a repeatable manner. Now you can assert that your newb
-co-worker doesn't replace your linear algorithm with an exponential
-one!
-
-minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)
-object framework.
-
-minitest/pride shows pride in testing and adds coloring to your test
-output. I guess it is an example of how to write IO pipes too. :P
-
-minitest/unit is meant to have a clean implementation for language
-implementors that need a minimal set of methods to bootstrap a working
-test suite. For example, there is no magic involved for test-case
-discovery.
-
-    "Again, I can't praise enough the idea of a testing/specing
-     framework that I can actually read in full in one sitting!"
-
-    -- Piotr Szotkowski
-
-Comparing to rspec:
-
-    rspec is a testing DSL. minitest is ruby.
-
-    -- Adam Hawkins, "Bow Before MiniTest"
-
-minitest doesn't reinvent anything that ruby already provides, like:
-classes, modules, inheritance, methods. This means you only have to
-learn ruby to use minitest and all of your regular OO practices like
-extract-method refactorings still apply.'';
-      };
-      name = ''minitest-5.4.0'';
-      requiredGems = [  ];
-      sha256 = ''002xflqz5wl8gcj9gw4q66mq5jkp445zgd9c5vs6cw6lsfsyg4rl'';
-    };
-    multi_json_1_10_1 = {
-      basename = ''multi_json'';
-      meta = {
-        description = ''A common interface to multiple JSON libraries.'';
-        homepage = ''http://github.com/intridea/multi_json'';
-        longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.'';
-      };
-      name = ''multi_json-1.10.1'';
-      requiredGems = [  ];
-      sha256 = ''1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c'';
-    };
-    multi_json_1_3_6 = {
-      basename = ''multi_json'';
-      meta = {
-        description = ''A gem to provide swappable JSON backends.'';
-        homepage = ''http://github.com/intridea/multi_json'';
-        longDescription = ''A gem to provide easy switching between different JSON backends, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, and OkJson.'';
-      };
-      name = ''multi_json-1.3.6'';
-      requiredGems = [  ];
-      sha256 = ''0q2zjfvd2ibds9g9nzf2p1b47fc1wqliwfywv5pw85w15lmy91yr'';
-    };
-    multi_test_0_1_1 = {
-      basename = ''multi_test'';
-      meta = {
-        description = ''multi-test-0.1.1'';
-        homepage = ''http://cukes.info'';
-        longDescription = ''Wafter-thin gem to help control rogue test/unit/autorun requires'';
-      };
-      name = ''multi_test-0.1.1'';
-      requiredGems = [  ];
-      sha256 = ''1dd810limbdc8k7ss83g83krrsjjqs79nicbdxk74l1a2sp2jhwv'';
-    };
-    multipart_post_2_0_0 = {
-      basename = ''multipart_post'';
-      meta = {
-        description = ''A multipart form post accessory for Net::HTTP.'';
-        homepage = ''https://github.com/nicksieger/multipart-post'';
-        longDescription = ''Use with Net::HTTP to do multipart form posts.  IO values that have #content_type, #original_filename, and #local_path will be posted as a binary file.'';
-      };
-      name = ''multipart-post-2.0.0'';
-      requiredGems = [  ];
-      sha256 = ''09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x'';
-    };
-    net_http_digest_auth_1_4 = {
-      basename = ''net_http_digest_auth'';
-      meta = {
-        description = ''An implementation of RFC 2617 - Digest Access Authentication'';
-        homepage = ''http://github.com/drbrain/net-http-digest_auth'';
-        longDescription = ''An implementation of RFC 2617 - Digest Access Authentication.  At this time
-the gem does not drop in to Net::HTTP and can be used for with other HTTP
-clients.
-
-In order to use net-http-digest_auth you'll need to perform some request
-wrangling on your own.  See the class documentation at Net::HTTP::DigestAuth
-for an example.'';
-      };
-      name = ''net-http-digest_auth-1.4'';
-      requiredGems = [  ];
-      sha256 = ''14801gr34g0rmqz9pv4rkfa3crfdbyfk6r48vpg5a5407v0sixqi'';
-    };
-    net_http_persistent_2_9_4 = {
-      basename = ''net_http_persistent'';
-      meta = {
-        description = ''Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8'';
-        homepage = ''http://docs.seattlerb.org/net-http-persistent'';
-        longDescription = ''Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8.
-It's thread-safe too!
-
-Using persistent HTTP connections can dramatically increase the speed of HTTP.
-Creating a new HTTP connection for every request involves an extra TCP
-round-trip and causes TCP congestion avoidance negotiation to start over.
-
-Net::HTTP supports persistent connections with some API methods but does not
-handle reconnection gracefully.  Net::HTTP::Persistent supports reconnection
-and retry according to RFC 2616.'';
-      };
-      name = ''net-http-persistent-2.9.4'';
-      requiredGems = [  ];
-      sha256 = ''1y9fhaax0d9kkslyiqi1zys6cvpaqx9a0y0cywp24rpygwh4s9r4'';
-    };
-    net_http_pipeline_1_0_1 = {
-      basename = ''net_http_pipeline'';
-      meta = {
-        description = ''An HTTP/1.1 pipelining implementation atop Net::HTTP'';
-        homepage = ''http://docs.seattlerb.org/net-http-pipeline'';
-        longDescription = ''An HTTP/1.1 pipelining implementation atop Net::HTTP.  A pipelined connection
-sends multiple requests to the HTTP server without waiting for the responses.
-The server will respond in-order.'';
-      };
-      name = ''net-http-pipeline-1.0.1'';
-      requiredGems = [  ];
-      sha256 = ''0bxjy33yhxwsbnld8xj3zv64ibgfjn9rjpiqkyd5ipmz50pww8v9'';
-    };
-    net_sftp_2_1_2 = {
-      basename = ''net_sftp'';
-      meta = {
-        description = ''A pure Ruby implementation of the SFTP client protocol'';
-        homepage = ''https://github.com/net-ssh/net-sftp'';
-        longDescription = ''A pure Ruby implementation of the SFTP client protocol'';
-      };
-      name = ''net-sftp-2.1.2'';
-      requiredGems = [ g.net_ssh_2_9_1 ];
-      sha256 = ''04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y'';
-    };
-    net_ssh_2_7_0 = {
-      basename = ''net_ssh'';
-      meta = {
-        description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
-        homepage = ''https://github.com/net-ssh/net-ssh'';
-        longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.'';
-      };
-      name = ''net-ssh-2.7.0'';
-      requiredGems = [  ];
-      sha256 = ''14v0cq2fws54kxpgz249xmjlajynhcs4s2szl8kjxgn4c78lrkmr'';
-    };
-    net_ssh_2_9_1 = {
-      basename = ''net_ssh'';
-      meta = {
-        description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
-        homepage = ''https://github.com/net-ssh/net-ssh'';
-        longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.'';
-      };
-      name = ''net-ssh-2.9.1'';
-      requiredGems = [  ];
-      sha256 = ''1vscp4r58jisiigqc6d6752w19m1m6hmi3jkzmp3ydxai7h3jb2j'';
-    };
-    nix_0_1_1 = {
-      basename = ''nix'';
-      meta = {
-        description = ''Nix package manager interface'';
-        homepage = ''http://gitorious.org/ruby-nix'';
-        longDescription = ''Adds 'gem nix' command that dumps given set of gems to format suitable for Nix package manager'';
-      };
-      name = ''nix-0.1.1'';
-      requiredGems = [  ];
-      sha256 = ''0kwrbkkg0gxibhsz9dpd5zabcf2wqsicg28yiazyb3dc9dslk26k'';
-    };
-    nokogiri_1_6_3_1 = {
-      basename = ''nokogiri'';
-      meta = {
-        description = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser'';
-        homepage = ''http://nokogiri.org'';
-        longDescription = ''Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser.  Among Nokogiri's
-many features is the ability to search documents via XPath or CSS3 selectors.
-
-XML is like violence - if it doesn’t solve your problems, you are not using
-enough of it.'';
-      };
-      name = ''nokogiri-1.6.3.1'';
-      requiredGems = [ g.mini_portile_0_6_0 ];
-      sha256 = ''11958hlfd8i3i9y0wk1b6ck9x0j95l4zdbbixmdnnh1r8ijilxli'';
-    };
-    ntlm_http_0_1_1 = {
-      basename = ''ntlm_http'';
-      meta = {
-        description = ''Ruby/NTLM HTTP library.'';
-        homepage = ''http://www.mindflowsolutions.net'';
-        longDescription = ''Ruby/NTLM HTTP provides NTLM authentication over http.'';
-      };
-      name = ''ntlm-http-0.1.1'';
-      requiredGems = [  ];
-      sha256 = ''0yx01ffrw87wya1syivqzf8hz02axk7jdpw6aw221xwvib767d36'';
-    };
-    orderedhash_0_0_6 = {
-      basename = ''orderedhash'';
-      meta = {
-        description = ''orderedhash'';
-        homepage = ''http://codeforpeople.com/lib/ruby/orderedhash/'';
-      };
-      name = ''orderedhash-0.0.6'';
-      requiredGems = [  ];
-      sha256 = ''0fryy7f9jbpx33jq5m402yqj01zcg563k9fsxlqbhmq638p4bzd7'';
-    };
-    papertrail_0_9_10 = {
-      basename = ''papertrail'';
-      meta = {
-        description = ''Command-line client for Papertrail hosted log management service.'';
-        homepage = ''http://github.com/papertrail/papertrail-cli'';
-        longDescription = ''Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix).'';
-      };
-      name = ''papertrail-0.9.10'';
-      requiredGems = [ g.chronic_0_10_2 ];
-      sha256 = ''1v2acc896w5q72m5pfxc8rx36gzih4fivyiqp0kxwypgyh0f0x58'';
-    };
-    papertrail_cli_0_9_3 = {
-      basename = ''papertrail_cli'';
-      meta = {
-        description = ''Placeholder gem to point to new papertrail gem'';
-        homepage = ''http://github.com/papertrail/papertrail-cli-gem'';
-        longDescription = ''Placeholder gem to point to new papertrail gem.'';
-      };
-      name = ''papertrail-cli-0.9.3'';
-      requiredGems = [ g.papertrail_0_9_10 ];
-      sha256 = ''1914dcfqsmw5rl4xd1zwjrfbgwglyncxm8km06bgxaqn4wnaq5iv'';
-    };
-    parallel_0_7_1 = {
-      basename = ''parallel'';
-      meta = {
-        description = ''Run any kind of code in parallel processes'';
-        homepage = ''https://github.com/grosser/parallel'';
-      };
-      name = ''parallel-0.7.1'';
-      requiredGems = [  ];
-      sha256 = ''1kzz6ydg7r23ks2b7zbpx4vz3h186n19vhgnjcwi7xwd6h2f1fsq'';
-    };
-    polyglot_0_3_5 = {
-      basename = ''polyglot'';
-      meta = {
-        description = ''Augment 'require' to load non-Ruby file types'';
-        homepage = ''http://github.com/cjheath/polyglot'';
-        longDescription = ''
-The Polyglot library allows a Ruby module to register a loader
-for the file type associated with a filename extension, and it
-augments 'require' to find and load matching files.'';
-      };
-      name = ''polyglot-0.3.5'';
-      requiredGems = [  ];
-      sha256 = ''1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr'';
-    };
-    pry_0_9_12_6 = {
-      basename = ''pry'';
-      meta = {
-        description = ''An IRB alternative and runtime developer console'';
-        homepage = ''http://pry.github.com'';
-        longDescription = ''An IRB alternative and runtime developer console'';
-      };
-      name = ''pry-0.9.12.6'';
-      requiredGems = [ g.coderay_1_1_0 g.slop_3_6_0 g.method_source_0_8_2 ];
-      sha256 = ''0wmgamn83m1zb1fbqc22hiszjf2a2xij5jd95w2gvm5x6l5p61q1'';
-    };
-    pusher_client_0_6_0 = {
-      basename = ''pusher_client'';
-      meta = {
-        description = ''Client for consuming WebSockets from http://pusher.com'';
-        homepage = ''http://github.com/pusher/pusher-ruby-client'';
-        longDescription = ''Client for consuming WebSockets from http://pusher.com'';
-      };
-      name = ''pusher-client-0.6.0'';
-      requiredGems = [ g.websocket_1_2_0 g.json_1_8_1 ];
-      sha256 = ''0n7l630qg6wgzak45b6gfjg9a0fmpbrs7mwchqqbja9mjs95r8qy'';
-    };
-    rack_1_5_2 = {
-      basename = ''rack'';
-      meta = {
-        description = ''a modular Ruby webserver interface'';
-        homepage = ''http://rack.github.com/'';
-        longDescription = ''Rack provides a minimal, modular and adaptable interface for developing
-web applications in Ruby.  By wrapping HTTP requests and responses in
-the simplest way possible, it unifies and distills the API for web
-servers, web frameworks, and software in between (the so-called
-middleware) into a single method call.
-
-Also see http://rack.github.com/.
-'';
-      };
-      name = ''rack-1.5.2'';
-      requiredGems = [  ];
-      sha256 = ''19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6'';
-    };
-    rack_protection_1_5_3 = {
-      basename = ''rack_protection'';
-      meta = {
-        description = ''You should use protection!'';
-        homepage = ''http://github.com/rkh/rack-protection'';
-        longDescription = ''You should use protection!'';
-      };
-      name = ''rack-protection-1.5.3'';
-      requiredGems = [ g.rack_1_5_2 ];
-      sha256 = ''0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r'';
-    };
-    rack_test_0_6_2 = {
-      basename = ''rack_test'';
-      meta = {
-        description = ''Simple testing API built on Rack'';
-        homepage = ''http://github.com/brynary/rack-test'';
-        longDescription = ''Rack::Test is a small, simple testing API for Rack apps. It can be used on its
-own or as a reusable starting point for Web frameworks and testing libraries
-to build on. Most of its initial functionality is an extraction of Merb 1.0's
-request helpers feature.'';
-      };
-      name = ''rack-test-0.6.2'';
-      requiredGems = [ g.rack_1_5_2 ];
-      sha256 = ''01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky'';
-    };
-    rails_4_1_5 = {
-      basename = ''rails'';
-      meta = {
-        description = ''Full-stack web application framework.'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
-      };
-      name = ''rails-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.actionview_4_1_5 g.activemodel_4_1_5 g.activerecord_4_1_5 g.actionmailer_4_1_5 g.railties_4_1_5 g.bundler_1_7_1 g.sprockets_rails_2_1_3 ];
-      sha256 = ''12s3jkvd6bn40apxc3973czgs7s6y36aclbwif6j770v7sjd9qj7'';
-    };
-    railties_4_1_5 = {
-      basename = ''railties'';
-      meta = {
-        description = ''Tools for creating, working with, and running Rails applications.'';
-        homepage = ''http://www.rubyonrails.org'';
-        longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
-      };
-      name = ''railties-4.1.5'';
-      requiredGems = [ g.activesupport_4_1_5 g.actionpack_4_1_5 g.rake_10_3_2 g.thor_0_19_1 ];
-      sha256 = ''18jkjvny51vk53l2g9ibcnjk3gjj1vgh3pyrskmk69csqm2hmaha'';
-    };
-    rake_0_9_2_2 = {
-      basename = ''rake'';
-      meta = {
-        description = ''Ruby based make-like utility.'';
-        homepage = ''http://rake.rubyforge.org'';
-        longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax.'';
-      };
-      name = ''rake-0.9.2.2'';
-      requiredGems = [  ];
-      sha256 = ''19n4qp5gzbcqy9ajh56kgwqv9p9w2hnczhyvaqz0nlvk9diyng6q'';
-    };
-    rake_10_3_2 = {
-      basename = ''rake'';
-      meta = {
-        description = ''Rake is a Make-like program implemented in Ruby'';
-        homepage = ''https://github.com/jimweirich/rake'';
-        longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
-specified in standard Ruby syntax.
-
-Rake has the following features:
-
-* Rakefiles (rake's version of Makefiles) are completely defined in
-  standard Ruby syntax.  No XML files to edit.  No quirky Makefile
-  syntax to worry about (is that a tab or a space?)
-
-* Users can specify tasks with prerequisites.
-
-* Rake supports rule patterns to synthesize implicit tasks.
-
-* Flexible FileLists that act like arrays but know about manipulating
-  file names and paths.
-
-* A library of prepackaged tasks to make building rakefiles easier. For example,
-  tasks for building tarballs and publishing to FTP or SSH sites.  (Formerly
-  tasks for building RDoc and Gems were included in rake but they're now
-  available in RDoc and RubyGems respectively.)
-
-* Supports parallel execution of tasks.'';
-      };
-      name = ''rake-10.3.2'';
-      requiredGems = [  ];
-      sha256 = ''0nvpkjrpsk8xxnij2wd1cdn6arja9q11sxx4aq4fz18bc6fss15m'';
-    };
-    rb_fsevent_0_9_4 = {
-      basename = ''rb_fsevent'';
-      meta = {
-        description = ''Very simple &amp; usable FSEvents API'';
-        homepage = ''http://rubygems.org/gems/rb-fsevent'';
-        longDescription = ''FSEvents API with Signals catching (without RubyCocoa)'';
-      };
-      name = ''rb-fsevent-0.9.4'';
-      requiredGems = [  ];
-      sha256 = ''12if5xsik64kihxf5awsyavlp595y47g9qz77vfp2zvkxgglaka7'';
-    };
-    rdiscount_2_1_7_1 = {
-      basename = ''rdiscount'';
-      meta = {
-        description = ''Fast Implementation of Gruber's Markdown in C'';
-        homepage = ''http://dafoster.net/projects/rdiscount/'';
-      };
-      name = ''rdiscount-2.1.7.1'';
-      requiredGems = [  ];
-      sha256 = ''1g70vsgv7mdwcyk9rxja7wm4qqap67prqwkj335c460vlzs6pqii'';
-    };
-    remote_syslog_1_6_14 = {
-      basename = ''remote_syslog'';
-      meta = {
-        description = ''Monitor plain text log file(s) for new entries and send to remote syslog collector'';
-        homepage = ''http://github.com/papertrail/remote_syslog'';
-        longDescription = ''Lightweight daemon to tail one or more log files and transmit UDP syslog messages to a remote syslog host (centralized log aggregation). Generates UDP packets itself instead of depending on a system syslog daemon, so it doesn't affect system-wide logging configuration.'';
-      };
-      name = ''remote_syslog-1.6.14'';
-      requiredGems = [ g.servolux_0_10_0 g.file_tail_1_0_12 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ];
-      sha256 = ''1f2yjyqhbdc4vlx52zli1b33f6yn8qc1kd4n0dpv27zswj9qfdkr'';
-    };
-    riemann_dash_0_2_9 = {
-      basename = ''riemann_dash'';
-      meta = {
-        description = ''HTTP dashboard for the distributed event system Riemann.'';
-        homepage = ''https://github.com/aphyr/riemann-dash'';
-        longDescription = ''HTTP dashboard for the distributed event system Riemann.'';
-      };
-      name = ''riemann-dash-0.2.9'';
-      requiredGems = [ g.erubis_2_7_0 g.sinatra_1_4_5 g.sass_3_4_1 g.webrick_1_3_1 g.multi_json_1_3_6 ];
-      sha256 = ''0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3'';
-    };
-    right_aws_3_1_0 = {
-      basename = ''right_aws'';
-      meta = {
-        description = ''The RightScale AWS gems have been designed to provide a robust, fast, and secure interface to Amazon EC2, EBS, S3, SQS, SDB, and CloudFront.'';
-        longDescription = ''== DESCRIPTION:
-
-The RightScale AWS gems have been designed to provide a robust, fast, and secure interface to Amazon EC2, EBS, S3, SQS, SDB, and CloudFront.
-These gems have been used in production by RightScale since late 2006 and are being maintained to track enhancements made by Amazon.
-The RightScale AWS gems comprise:
-
-- RightAws::Ec2 -- interface to Amazon EC2 (Elastic Compute Cloud) and the
-  associated EBS (Elastic Block Store)
-- RightAws::S3 and RightAws::S3Interface -- interface to Amazon S3 (Simple Storage Service)
-- RightAws::Sqs and RightAws::SqsInterface -- interface to first-generation Amazon SQS (Simple Queue Service) (API version 2007-05-01)
-- RightAws::SqsGen2 and RightAws::SqsGen2Interface -- interface to second-generation Amazon SQS (Simple Queue Service) (API version 2008-01-01)
-- RightAws::SdbInterface and RightAws::ActiveSdb -- interface to Amazon SDB (SimpleDB)
-- RightAws::AcfInterface -- interface to Amazon CloudFront, a content distribution service
-
-== FEATURES:
-
-- Full programmmatic access to EC2, EBS, S3, SQS, SDB, and CloudFront.
-- Complete error handling: all operations check for errors and report complete
-  error information by raising an AwsError.
-- Persistent HTTP connections with robust network-level retry layer using
-  RightHttpConnection).  This includes socket timeouts and retries.
-- Robust HTTP-level retry layer.  Certain (user-adjustable) HTTP errors returned
-  by Amazon's services are classified as temporary errors.
-  These errors are automaticallly retried using exponentially increasing intervals.
-  The number of retries is user-configurable.
-- Fast REXML-based parsing of responses (as fast as a pure Ruby solution allows).
-- Uses libxml (if available) for faster response parsing.
-- Support for large S3 list operations.  Buckets and key subfolders containing
-  many (&gt; 1000) keys are listed in entirety.  Operations based on list (like
-  bucket clear) work on arbitrary numbers of keys.
-- Support for streaming GETs from S3, and streaming PUTs to S3 if the data source is a file.
-- Support for single-threaded usage, multithreaded usage, as well as usage with multiple
-  AWS accounts.
-- Support for both first- and second-generation SQS (API versions 2007-05-01
-  and 2008-01-01).  These versions of SQS are not compatible.
-- Support for signature versions 0 and 1 on SQS, SDB, and EC2.
-- Interoperability with any cloud running Eucalyptus (http://eucalyptus.cs.ucsb.edu)
-- Test suite (requires AWS account to do "live" testing).
-'';
-      };
-      name = ''right_aws-3.1.0'';
-      requiredGems = [ g.right_http_connection_1_5_0 ];
-      sha256 = ''1a3l5vyvq078nq976rzkrd6fbj522sbgrxpdq3p9z373h0awha09'';
-    };
-    right_http_connection_1_5_0 = {
-      basename = ''right_http_connection'';
-      meta = {
-        description = ''RightScale's robust HTTP/S connection module'';
-        homepage = ''http://rightscale.rubyforge.org/'';
-        longDescription = ''Rightscale::HttpConnection is a robust HTTP/S library.  It implements a retry
-algorithm for low-level network errors.
-
-== FEATURES:
-
-- provides put/get streaming
-- does configurable retries on connect and read timeouts, DNS failures, etc.
-- HTTPS certificate checking
-'';
-      };
-      name = ''right_http_connection-1.5.0'';
-      requiredGems = [  ];
-      sha256 = ''0shd8v24aqxdvim1gdqzwxpanjhfgkhdaw0m0lzz7sybkb02j8qf'';
-    };
-    rjb_1_4_8 = {
-      basename = ''rjb'';
-      meta = {
-        description = ''Ruby Java bridge'';
-        homepage = ''http://rjb.rubyforge.org/'';
-        longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
-'';
-      };
-      name = ''rjb-1.4.8'';
-      requiredGems = [  ];
-      sha256 = ''06ps4ssaxb8jwja53h7v7kb31hsdr997b8na89d1yasm5zyraliw'';
-    };
-    rjb_1_4_9 = {
-      basename = ''rjb'';
-      meta = {
-        description = ''Ruby Java bridge'';
-        homepage = ''http://rjb.rubyforge.org/'';
-        longDescription = ''RJB is a bridge program that connect between Ruby and Java with Java Native Interface.
-'';
-      };
-      name = ''rjb-1.4.9'';
-      requiredGems = [  ];
-      sha256 = ''062f7bjwz6iz6da49nzzbbx4xn8ahqqha2smqvqhbf0i7kd5v0yz'';
-    };
-    rkelly_remix_0_0_6 = {
-      basename = ''rkelly_remix'';
-      meta = {
-        description = ''RKelly Remix is a fork of the RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
-        homepage = ''https://github.com/nene/rkelly-remix'';
-        longDescription = ''RKelly Remix is a fork of the
-RKelly[https://github.com/tenderlove/rkelly] JavaScript parser.'';
-      };
-      name = ''rkelly-remix-0.0.6'';
-      requiredGems = [  ];
-      sha256 = ''1ihsns5v8nx96gvj7sqw5m8d6dsnmpfzpd07y860bldjhkjsxp1z'';
-    };
-    rmail_1_0_0 = {
-      basename = ''rmail'';
-      meta = {
-        description = ''A MIME mail parsing and generation library.'';
-        homepage = ''http://www.rfc20.org/rubymail'';
-        longDescription = ''RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modify, and generate MIME mail messages.'';
-      };
-      name = ''rmail-1.0.0'';
-      requiredGems = [  ];
-      sha256 = ''0nsg7yda1gdwa96j4hlrp2s0m06vrhcc4zy5mbq7gxmlmwf9yixp'';
-    };
-    rspec_2_14_1 = {
-      basename = ''rspec'';
-      meta = {
-        description = ''rspec-2.14.1'';
-        homepage = ''http://github.com/rspec'';
-        longDescription = ''BDD for Ruby'';
-      };
-      name = ''rspec-2.14.1'';
-      requiredGems = [ g.rspec_core_2_14_8 g.rspec_expectations_2_14_5 g.rspec_mocks_2_14_6 ];
-      sha256 = ''134y4wzk1prninb5a0bhxgm30kqfzl8dg06af4js5ylnhv2wd7sg'';
-    };
-    rspec_core_2_14_5 = {
-      basename = ''rspec_core'';
-      meta = {
-        description = ''rspec-core-2.14.5'';
-        homepage = ''http://github.com/rspec/rspec-core'';
-        longDescription = ''BDD for Ruby. RSpec runner and example groups.'';
-      };
-      name = ''rspec-core-2.14.5'';
-      requiredGems = [  ];
-      sha256 = ''18zk2y5agzj4ps16hh1jlcqmyj0bmlcr24bl0m8gyhwf0gk1xmcr'';
-    };
-    rspec_core_2_14_8 = {
-      basename = ''rspec_core'';
-      meta = {
-        description = ''rspec-core-2.14.8'';
-        homepage = ''http://github.com/rspec/rspec-core'';
-        longDescription = ''BDD for Ruby. RSpec runner and example groups.'';
-      };
-      name = ''rspec-core-2.14.8'';
-      requiredGems = [  ];
-      sha256 = ''0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc'';
-    };
-    rspec_expectations_2_14_3 = {
-      basename = ''rspec_expectations'';
-      meta = {
-        description = ''rspec-expectations-2.14.3'';
-        homepage = ''http://github.com/rspec/rspec-expectations'';
-        longDescription = ''rspec expectations (should[_not] and matchers)'';
-      };
-      name = ''rspec-expectations-2.14.3'';
-      requiredGems = [ g.diff_lcs_1_2_5 ];
-      sha256 = ''0gv5sqizmw0hdj1gl57mynp5i27kj4i0gpksrwwg9gazciq898n2'';
-    };
-    rspec_expectations_2_14_5 = {
-      basename = ''rspec_expectations'';
-      meta = {
-        description = ''rspec-expectations-2.14.5'';
-        homepage = ''http://github.com/rspec/rspec-expectations'';
-        longDescription = ''rspec expectations (should[_not] and matchers)'';
-      };
-      name = ''rspec-expectations-2.14.5'';
-      requiredGems = [ g.diff_lcs_1_2_5 ];
-      sha256 = ''1ni8kw8kjv76jvwjzi4jba00k3qzj9f8wd94vm6inz0jz3gwjqf9'';
-    };
-    rspec_mocks_2_14_3 = {
-      basename = ''rspec_mocks'';
-      meta = {
-        description = ''rspec-mocks-2.14.3'';
-        homepage = ''http://github.com/rspec/rspec-mocks'';
-        longDescription = ''RSpec's 'test double' framework, with support for stubbing and mocking'';
-      };
-      name = ''rspec-mocks-2.14.3'';
-      requiredGems = [  ];
-      sha256 = ''1xfhjisvpmb212jhb3k4r1ji3rrlv509mphcf345ij5b75gaybzr'';
-    };
-    rspec_mocks_2_14_6 = {
-      basename = ''rspec_mocks'';
-      meta = {
-        description = ''rspec-mocks-2.14.6'';
-        homepage = ''http://github.com/rspec/rspec-mocks'';
-        longDescription = ''RSpec's 'test double' framework, with support for stubbing and mocking'';
-      };
-      name = ''rspec-mocks-2.14.6'';
-      requiredGems = [  ];
-      sha256 = ''1fwsmijd6w6cmqyh4ky2nq89jrpzh56hzmndx9wgkmdgfhfakv30'';
-    };
-    rubyzip_0_9_9 = {
-      basename = ''rubyzip'';
-      meta = {
-        description = ''rubyzip is a ruby module for reading and writing zip files'';
-        homepage = ''http://github.com/aussiegeek/rubyzip'';
-      };
-      name = ''rubyzip-0.9.9'';
-      requiredGems = [  ];
-      sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2'';
-    };
-    rubyzip_1_1_6 = {
-      basename = ''rubyzip'';
-      meta = {
-        description = ''rubyzip is a ruby module for reading and writing zip files'';
-        homepage = ''http://github.com/rubyzip/rubyzip'';
-      };
-      name = ''rubyzip-1.1.6'';
-      requiredGems = [  ];
-      sha256 = ''17ha7kmgcnhnxyfp9wgyrd2synp17v9g8j1pknhfd2v9x5g475m9'';
-    };
-    sass_3_4_1 = {
-      basename = ''sass'';
-      meta = {
-        description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
-        homepage = ''http://sass-lang.com/'';
-        longDescription = ''      Sass makes CSS fun again. Sass is an extension of CSS3, adding
-      nested rules, variables, mixins, selector inheritance, and more.
-      It's translated to well-formatted, standard CSS using the
-      command line tool or a web-framework plugin.
-'';
-      };
-      name = ''sass-3.4.1'';
-      requiredGems = [  ];
-      sha256 = ''0f997m7g6gcd4yaxxrf1nylk2x8ynf7w2l631sby51zfn21rfli4'';
-    };
-    selenium_webdriver_2_42_0 = {
-      basename = ''selenium_webdriver'';
-      meta = {
-        description = ''The next generation developer focused tool for automated testing of webapps'';
-        homepage = ''http://selenium.googlecode.com'';
-        longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
-      };
-      name = ''selenium-webdriver-2.42.0'';
-      requiredGems = [ g.multi_json_1_10_1 g.rubyzip_1_1_6 g.childprocess_0_5_3 g.websocket_1_0_7 ];
-      sha256 = ''04yjwzc7cy2ax5xgp618z9jbm55cx4b5l546l7xnxj1hk30znw6q'';
-    };
-    servolux_0_10_0 = {
-      basename = ''servolux'';
-      meta = {
-        description = ''* {Homepage}[http://rubygems.'';
-        homepage = ''http://gemcutter.org/gems/servolux'';
-        longDescription = ''Serv-O-Lux is a collection of Ruby classes that are useful for daemon and
-process management, and for writing your own Ruby services. The code is well
-documented and tested. It works with Ruby and JRuby supporting both 1.8 and 1.9
-interpreters.'';
-      };
-      name = ''servolux-0.10.0'';
-      requiredGems = [  ];
-      sha256 = ''08jdrk35f61ab8b48ffm85p9lgfpbnzq3n4is00gqhpcrrq72dhs'';
-    };
-    sinatra_1_3_2 = {
-      basename = ''sinatra'';
-      meta = {
-        description = ''Classy web-development dressed in a DSL'';
-        homepage = ''http://www.sinatrarb.com/'';
-        longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.'';
-      };
-      name = ''sinatra-1.3.2'';
-      requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_3 g.tilt_1_4_1 ];
-      sha256 = ''05blf915zpiwyz7agcn9rwdmddwxz0z4l3gd4qlqmrgd2vkw4sxc'';
-    };
-    sinatra_1_4_5 = {
-      basename = ''sinatra'';
-      meta = {
-        description = ''Classy web-development dressed in a DSL'';
-        homepage = ''http://www.sinatrarb.com/'';
-        longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.'';
-      };
-      name = ''sinatra-1.4.5'';
-      requiredGems = [ g.rack_1_5_2 g.tilt_1_4_1 g.rack_protection_1_5_3 ];
-      sha256 = ''0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s'';
-    };
-    slop_3_6_0 = {
-      basename = ''slop'';
-      meta = {
-        description = ''Simple Lightweight Option Parsing'';
-        homepage = ''http://github.com/leejarvis/slop'';
-        longDescription = ''A simple DSL for gathering options and parsing the command line'';
-      };
-      name = ''slop-3.6.0'';
-      requiredGems = [  ];
-      sha256 = ''00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n'';
-    };
-    sprockets_2_12_1 = {
-      basename = ''sprockets'';
-      meta = {
-        description = ''Rack-based asset packaging system'';
-        homepage = ''http://getsprockets.org/'';
-        longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
-      };
-      name = ''sprockets-2.12.1'';
-      requiredGems = [ g.hike_1_2_3 g.multi_json_1_10_1 g.rack_1_5_2 g.tilt_1_4_1 ];
-      sha256 = ''0fi5f32i3bj739qb0zn050k5jjkfqzkn8fjz5dfjwhmh9hl5pb1y'';
-    };
-    sprockets_rails_2_1_3 = {
-      basename = ''sprockets_rails'';
-      meta = {
-        description = ''Sprockets Rails integration'';
-        homepage = ''https://github.com/rails/sprockets-rails'';
-      };
-      name = ''sprockets-rails-2.1.3'';
-      requiredGems = [ g.sprockets_2_12_1 g.actionpack_4_1_5 g.activesupport_4_1_5 ];
-      sha256 = ''12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy'';
-    };
-    syslog_protocol_0_9_2 = {
-      basename = ''syslog_protocol'';
-      meta = {
-        description = ''Syslog protocol parser and generator'';
-        homepage = ''https://github.com/eric/syslog_protocol'';
-        longDescription = ''Syslog protocol parser and generator'';
-      };
-      name = ''syslog_protocol-0.9.2'';
-      requiredGems = [  ];
-      sha256 = ''1yb2cmbyj0zmb2yhkgnmghcngrkhcxs4g1svcmgfj90l2hs23nmc'';
-    };
-    systemu_2_6_4 = {
-      basename = ''systemu'';
-      meta = {
-        description = ''systemu'';
-        homepage = ''https://github.com/ahoward/systemu'';
-        longDescription = ''universal capture of stdout and stderr and handling of child process pid for windows, *nix, etc.'';
-      };
-      name = ''systemu-2.6.4'';
-      requiredGems = [  ];
-      sha256 = ''16k94azpsy1r958r6ysk4ksnpp54rqmh5hyamad9kwc3lk83i32z'';
-    };
-    taskjuggler_3_5_0 = {
-      basename = ''taskjuggler'';
-      meta = {
-        description = ''A Project Management Software'';
-        homepage = ''http://www.taskjuggler.org'';
-        longDescription = ''TaskJuggler is a modern and powerful, Free and Open Source Software project
-management tool. Its new approach to project planing and tracking is more
-flexible and superior to the commonly used Gantt chart editing tools.
-
-TaskJuggler is project management software for serious project managers. It
-covers the complete spectrum of project management tasks from the first idea
-to the completion of the project. It assists you during project scoping,
-resource assignment, cost and revenue planing, risk and communication
-management.
-'';
-      };
-      name = ''taskjuggler-3.5.0'';
-      requiredGems = [ g.mail_2_6_1 g.term_ansicolor_1_3_0 ];
-      sha256 = ''0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2'';
-    };
-    term_ansicolor_1_3_0 = {
-      basename = ''term_ansicolor'';
-      meta = {
-        description = ''Ruby library that colors strings using ANSI escape sequences'';
-        homepage = ''http://flori.github.com/term-ansicolor'';
-        longDescription = ''This library uses ANSI escape sequences to control the attributes of terminal output'';
-      };
-      name = ''term-ansicolor-1.3.0'';
-      requiredGems = [ g.tins_1_3_2 ];
-      sha256 = ''1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b'';
-    };
-    terminal_notifier_1_6_1 = {
-      basename = ''terminal_notifier'';
-      meta = {
-        description = ''Send User Notifications on Mac OS X 10.8 or higher.'';
-        homepage = ''https://github.com/alloy/terminal-notifier'';
-      };
-      name = ''terminal-notifier-1.6.1'';
-      requiredGems = [  ];
-      sha256 = ''0j14sblviiypzc9vb508ldd78winba4vhnm9nhg3zpq07p3528g7'';
-    };
-    text_1_3_0 = {
-      basename = ''text'';
-      meta = {
-        description = ''A collection of text algorithms'';
-        homepage = ''http://github.com/threedaymonk/text'';
-        longDescription = ''A collection of text algorithms: Levenshtein, Soundex, Metaphone, Double Metaphone, Porter Stemming'';
-      };
-      name = ''text-1.3.0'';
-      requiredGems = [  ];
-      sha256 = ''1bfn0rm2a7gpsxplx3dii3a7q16hi7idsqp54fh92b3j9sqgidj7'';
-    };
-    thin_1_6_2 = {
-      basename = ''thin'';
-      meta = {
-        description = ''A thin and fast web server'';
-        homepage = ''http://code.macournoyer.com/thin/'';
-        longDescription = ''A thin and fast web server'';
-      };
-      name = ''thin-1.6.2'';
-      requiredGems = [ g.rack_1_5_2 g.eventmachine_1_0_3 g.daemons_1_1_9 ];
-      sha256 = ''0v90rnnai8sc40c02dxj9aawj2mi1mhjnmi4ws0rg4yrkc6fxvmq'';
-    };
-    thor_0_19_1 = {
-      basename = ''thor'';
-      meta = {
-        description = ''Thor is a toolkit for building powerful command-line interfaces.'';
-        homepage = ''http://whatisthor.com/'';
-        longDescription = ''Thor is a toolkit for building powerful command-line interfaces.'';
-      };
-      name = ''thor-0.19.1'';
-      requiredGems = [  ];
-      sha256 = ''08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z'';
-    };
-    thread_safe_0_3_4 = {
-      basename = ''thread_safe'';
-      meta = {
-        description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier'';
-        homepage = ''https://github.com/headius/thread_safe'';
-        longDescription = ''Thread-safe collections and utilities for Ruby'';
-      };
-      name = ''thread_safe-0.3.4'';
-      requiredGems = [  ];
-      sha256 = ''1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n'';
-    };
-    tilt_1_4_1 = {
-      basename = ''tilt'';
-      meta = {
-        description = ''Generic interface to multiple Ruby template engines'';
-        homepage = ''http://github.com/rtomayko/tilt/'';
-        longDescription = ''Generic interface to multiple Ruby template engines'';
-      };
-      name = ''tilt-1.4.1'';
-      requiredGems = [  ];
-      sha256 = ''00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir'';
-    };
-    tins_0_13_2 = {
-      basename = ''tins'';
-      meta = {
-        description = ''Useful stuff.'';
-        homepage = ''http://flori.github.com/tins'';
-        longDescription = ''All the stuff that isn't good/big enough for a real library.'';
-      };
-      name = ''tins-0.13.2'';
-      requiredGems = [  ];
-      sha256 = ''1ygkm4ava7x6ap61qz6pn79193g6g29248fa04mwknsz6acfjs2y'';
-    };
-    tins_1_3_2 = {
-      basename = ''tins'';
-      meta = {
-        description = ''Useful stuff.'';
-        homepage = ''http://flori.github.com/tins'';
-        longDescription = ''All the stuff that isn't good/big enough for a real library.'';
-      };
-      name = ''tins-1.3.2'';
-      requiredGems = [  ];
-      sha256 = ''1i27zj1bhmgq19f3i5i08njprfnlv3yi5frm8ax6w0b342p6v8ly'';
-    };
-    travis_1_7_1 = {
-      basename = ''travis'';
-      meta = {
-        description = ''Travis CI client'';
-        homepage = ''https://github.com/travis-ci/travis.rb'';
-        longDescription = ''CLI and Ruby client library for Travis CI'';
-      };
-      name = ''travis-1.7.1'';
-      requiredGems = [ g.faraday_0_9_0 g.faraday_middleware_0_9_1 g.highline_1_6_21 g.backports_3_6_0 g.gh_0_13_2 g.launchy_2_4_2 g.pry_0_9_12_6 g.typhoeus_0_6_9 g.pusher_client_0_6_0 g.addressable_2_3_6 ];
-      sha256 = ''1h0xajfzkz7pdrbhs2650nl5www8qfmgazmmmw0bcr3dai5kimdf'';
-    };
-    treetop_1_4_15 = {
-      basename = ''treetop'';
-      meta = {
-        description = ''A Ruby-based text parsing and interpretation DSL'';
-        homepage = ''https://github.com/cjheath/treetop'';
-      };
-      name = ''treetop-1.4.15'';
-      requiredGems = [ g.polyglot_0_3_5 g.polyglot_0_3_5 ];
-      sha256 = ''1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz'';
-    };
-    trollop_2_0 = {
-      basename = ''trollop'';
-      meta = {
-        description = ''Trollop is a commandline option parser for Ruby that just gets out of your way.'';
-        homepage = ''http://trollop.rubyforge.org'';
-        longDescription = ''Trollop is a commandline option parser for Ruby that just
-gets out of your way. One line of code per option is all you need to write.
-For that, you get a nice automatically-generated help page, robust option
-parsing, command subcompletion, and sensible defaults for everything you don't
-specify.'';
-      };
-      name = ''trollop-2.0'';
-      requiredGems = [  ];
-      sha256 = ''0iz5k7ax7a5jm9x6p81k6f4mgp48wxxb0j55ypnwxnznih8fsghz'';
-    };
-    typhoeus_0_6_9 = {
-      basename = ''typhoeus'';
-      meta = {
-        description = ''Parallel HTTP library on top of libcurl multi.'';
-        homepage = ''https://github.com/typhoeus/typhoeus'';
-        longDescription = ''Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.'';
-      };
-      name = ''typhoeus-0.6.9'';
-      requiredGems = [ g.ethon_0_7_1 ];
-      sha256 = ''1j4l2zwx821hzsfqskcq47xpk6b7yzl30mhzmdrfrsrhsigmayar'';
-    };
-    tzinfo_1_2_2 = {
-      basename = ''tzinfo'';
-      meta = {
-        description = ''Daylight savings aware timezone library'';
-        homepage = ''http://tzinfo.github.io'';
-        longDescription = ''TZInfo provides daylight savings aware transformations between times in different time zones.'';
-      };
-      name = ''tzinfo-1.2.2'';
-      requiredGems = [ g.thread_safe_0_3_4 ];
-      sha256 = ''1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx'';
-    };
-    unf_0_1_4 = {
-      basename = ''unf'';
-      meta = {
-        description = ''A wrapper library to bring Unicode Normalization Form support to Ruby/JRuby'';
-        homepage = ''https://github.com/knu/ruby-unf'';
-        longDescription = ''This is a wrapper library to bring Unicode Normalization Form support
-to Ruby/JRuby.
-'';
-      };
-      name = ''unf-0.1.4'';
-      requiredGems = [ g.unf_ext_0_0_6 ];
-      sha256 = ''0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9'';
-    };
-    unf_ext_0_0_6 = {
-      basename = ''unf_ext'';
-      meta = {
-        description = ''Unicode Normalization Form support library for CRuby'';
-        homepage = ''https://github.com/knu/ruby-unf_ext'';
-        longDescription = ''Unicode Normalization Form support library for CRuby'';
-      };
-      name = ''unf_ext-0.0.6'';
-      requiredGems = [  ];
-      sha256 = ''07zbmkzcid6pzdqgla3456ipfdka7j1v4hsx1iaa8rbnllqbmkdg'';
-    };
-    uuid_2_3_7 = {
-      basename = ''uuid'';
-      meta = {
-        description = ''UUID generator'';
-        homepage = ''http://github.com/assaf/uuid'';
-        longDescription = ''UUID generator for producing universally unique identifiers based on RFC 4122
-(http://www.ietf.org/rfc/rfc4122.txt).
-'';
-      };
-      name = ''uuid-2.3.7'';
-      requiredGems = [ g.macaddr_1_7_1 ];
-      sha256 = ''04q10an3v40zwjihvdwm23fw6vl39fbkhdiwfw78a51ym9airnlp'';
-    };
-    webrick_1_3_1 = {
-      basename = ''webrick'';
-      meta = {
-        description = ''WEBrick is an HTTP server toolkit that can be configured as an HTTPS server,'';
-        homepage = ''http://github.com/nahi/webrick'';
-      };
-      name = ''webrick-1.3.1'';
-      requiredGems = [  ];
-      sha256 = ''0s42mxihcl2bx0h9q0v2syl70qndydfkl39a06h9il17p895ya8g'';
-    };
-    webrobots_0_1_1 = {
-      basename = ''webrobots'';
-      meta = {
-        description = ''A Ruby library to help write robots.txt compliant web robots'';
-        homepage = ''https://github.com/knu/webrobots'';
-        longDescription = ''This library helps write robots.txt compliant web robots in Ruby.
-'';
-      };
-      name = ''webrobots-0.1.1'';
-      requiredGems = [  ];
-      sha256 = ''1jlnhhpa1mkrgsmihs2qx13z3n6xhswjnlk5a2ypyplw2id5x32n'';
-    };
-    websocket_1_0_7 = {
-      basename = ''websocket'';
-      meta = {
-        description = ''Universal Ruby library to handle WebSocket protocol'';
-        homepage = ''http://github.com/imanel/websocket-ruby'';
-        longDescription = ''Universal Ruby library to handle WebSocket protocol'';
-      };
-      name = ''websocket-1.0.7'';
-      requiredGems = [  ];
-      sha256 = ''1jrfz4295qbnjaxv37fw9jzxyxz61izp7c0683mnscacpx262zw0'';
-    };
-    websocket_1_2_0 = {
-      basename = ''websocket'';
-      meta = {
-        description = ''Universal Ruby library to handle WebSocket protocol'';
-        homepage = ''http://github.com/imanel/websocket-ruby'';
-        longDescription = ''Universal Ruby library to handle WebSocket protocol'';
-      };
-      name = ''websocket-1.2.0'';
-      requiredGems = [  ];
-      sha256 = ''17q3fsqwa44cali3x852jzjpzgcvvly0n8gszmkaqx520lb9r5l4'';
-    };
-    xapian_full_1_2_3 = {
-      basename = ''xapian_full'';
-      meta = {
-        description = ''xapian-core + Ruby xapian-bindings'';
-        longDescription = ''Xapian bindings for Ruby without dependency on system Xapian library'';
-      };
-      name = ''xapian-full-1.2.3'';
-      requiredGems = [  ];
-      sha256 = ''02z0wsir38jsp5d6sqrkgv5prk8s6sdf6g2h718j2374kpnkyrxv'';
-    };
-    xapian_ruby_1_2_17 = {
-      basename = ''xapian_ruby'';
-      meta = {
-        description = ''xapian libraries and ruby bindings'';
-        homepage = ''https://github.com/garaio/xapian-ruby'';
-      };
-      name = ''xapian-ruby-1.2.17'';
-      requiredGems = [  ];
-      sha256 = ''1vhqykr0b877pb8x5n3v4fb4znm92mqhijinss7mvqzfimwfbxfg'';
-    };
-    xml_simple_1_1_2 = {
-      basename = ''xml_simple'';
-      meta = {
-        description = ''A simple API for XML processing.'';
-        homepage = ''https://github.com/maik/xml-simple'';
-      };
-      name = ''xml-simple-1.1.2'';
-      requiredGems = [  ];
-      sha256 = ''0ni8cbkj7l2k5pc4fs2jzp1ymxy4xqa2jc681l4y9iy9chrayddb'';
-    };
-  };
-}
diff --git a/pkgs/development/interpreters/ruby/libs.nix b/pkgs/development/interpreters/ruby/libs.nix
deleted file mode 100644
index 1b4b7aec2b1..00000000000
--- a/pkgs/development/interpreters/ruby/libs.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, config, fetchurl, callPackage }:
-
-let
-  inherit (stdenv.lib) fold optional;
-  gemsMergeableFun = { generatedFuns ? [], patchFuns ? [], overrideFuns ? [] }:
-  let
-    generatedAttrs = map (f: f customGems) generatedFuns;
-    generatedGems = map (a: a.gems) generatedAttrs;
-    gem = callPackage ./gem.nix {
-      patches = map (f: callPackage f { inherit gems; }) patchFuns;
-      overrides = map (f: callPackage f { }) overrideFuns;
-    };
-    customGems = stdenv.lib.mapAttrs gem (fold (x: y: x // y) { } generatedGems);
-    gems = fold (x: y: x // y) customGems (map (a: a.aliases) generatedAttrs);
-  in
-  gems // {
-    merge = { generated ? null, patches ? null, overrides ? null }:
-      gemsMergeableFun {
-        generatedFuns = generatedFuns ++ optional (generated != null) generated;
-        patchFuns = patchFuns ++ optional (patches != null) patches;
-        overrideFuns = overrideFuns ++ optional (overrides != null) overrides;
-      };
-  };
-in
-((gemsMergeableFun { }).merge {
-  generated = import ./generated.nix;
-  patches = import ./patches.nix;
-  overrides = import ./overrides.nix;
-}).merge (
-  let
-    localGemDir = (builtins.getEnv "HOME") + "/.nixpkgs/gems/";
-    getLocalGemFun = name:
-      let
-        file = localGemDir + name + ".nix";
-        fallback =
-          if builtins.pathExists file then import (builtins.toPath file)
-          else null;
-      in
-      stdenv.lib.attrByPath [ "gems" name ] fallback config;
-  in
-{
-  generated = getLocalGemFun "generated";
-  patches = getLocalGemFun "patches";
-  overrides = getLocalGemFun "overrides";
-})
diff --git a/pkgs/development/interpreters/ruby/load-ruby-env.nix b/pkgs/development/interpreters/ruby/load-ruby-env.nix
new file mode 100644
index 00000000000..c4356ed5f50
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/load-ruby-env.nix
@@ -0,0 +1,69 @@
+{ ruby, lib, callPackage, gemFixes, fetchurl, fetchgit, buildRubyGem }@defs:
+
+# This function builds a set of gems. You first convert your Gemfile to an attrset
+# called a "gemset", and then use this function to build the gemset.
+#
+# A gemset looks like the following:
+#
+#   {
+#     libv8 = {
+#       version = "3.16.14.7";
+#       src = {
+#         type = "gem";
+#         sha256 = "...";
+#       };
+#     };
+#     therubyracer = {
+#       version = "0.12.1";
+#       dependencies = [ "libv8" ];
+#       src = {
+#         type = "gem";
+#         sha256 = "...";
+#       };
+#     };
+#   }
+#
+# If you use these gems as build inputs, the GEM_PATH will be updated
+# appropriately, and command like `bundle exec` should work out of the box.
+
+{ gemset, ruby ? defs.ruby, fixes ? gemFixes }@args:
+
+let
+  const = x: y: x;
+
+  fetchers.path = attrs: attrs.src.path;
+  fetchers.gem = attrs: fetchurl {
+    url = "${attrs.src.source or "https://rubygems.org"}/downloads/${attrs.name}-${attrs.version}.gem";
+    inherit (attrs.src) sha256;
+  };
+  fetchers.git = attrs: fetchgit {
+    inherit (attrs.src) url rev sha256 fetchSubmodules;
+    leaveDotGit = true;
+  };
+
+  instantiate = (attrs:
+    let
+      defaultAttrs = {
+        name = "${attrs.name}-${attrs.version}";
+        inherit ruby gemPath;
+      };
+      gemPath = map (name: gemset''."${name}") (attrs.dependencies or []);
+      fixedAttrs = attrs // (fixes."${attrs.name}" or (const {})) attrs;
+      withSource = fixedAttrs //
+        (if (lib.isDerivation fixedAttrs.src || builtins.isString fixedAttrs.src)
+           then {}
+           else { src = (fetchers."${fixedAttrs.src.type}" fixedAttrs); });
+
+    in
+      buildRubyGem (withSource // defaultAttrs)
+  );
+
+  gemset' = if builtins.isAttrs gemset then gemset else import gemset;
+
+  gemset'' = lib.flip lib.mapAttrs gemset' (name: attrs:
+    if (lib.isDerivation attrs)
+      then attrs
+      else instantiate (attrs // { inherit name; })
+  );
+
+in gemset''
diff --git a/pkgs/development/interpreters/ruby/overrides.nix b/pkgs/development/interpreters/ruby/overrides.nix
deleted file mode 100644
index 01d73a19d64..00000000000
--- a/pkgs/development/interpreters/ruby/overrides.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ xapianBindings }:
-
-{
-  xapian_full = xapianBindings.merge { cfg = { rubySupport = true; }; };
-}
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 9d694eac1e4..0cc477c991e 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -1,6 +1,6 @@
 { fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi
-, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty, imagemagick
-, pkgconfig, libiconv }:
+, zlib, libuuid, gems, jdk, python, stdenv, libiconv, imagemagick
+, pkgconfig }:
 
 let
 
@@ -33,7 +33,7 @@ in
     NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
   };
 
-  iconv = { buildInputs = [ libiconvOrEmpty ]; };
+  iconv = { buildInputs = [ libiconv ]; };
 
   libv8 = {
     # This fix is needed to fool scons, which clears the environment by default.
@@ -83,7 +83,8 @@ in
     buildInputs = [ libxml2 ];
     buildFlags =
       [ "--with-xml2-dir=${libxml2} --with-xml2-include=${libxml2}/include/libxml2"
-        "--with-xslt-dir=${libxslt} --with-iconv-dir=${libiconv} --use-system-libraries"
+        "--with-xslt-dir=${libxslt}  --use-system-libraries"
+        libiconv
       ];
   };
 
@@ -132,4 +133,6 @@ in
         zcat ${patch} | patch -p 1
       ''; # */
     };
+
+  bundler = { dontPatchShebangs=1; };
 }
diff --git a/pkgs/development/interpreters/ruby/ruby-1.8.7.nix b/pkgs/development/interpreters/ruby/ruby-1.8.7.nix
new file mode 100644
index 00000000000..3c2ea71ecf2
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-1.8.7.nix
@@ -0,0 +1,101 @@
+{ stdenv, lib, fetchurl, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, ruby_1_8_7, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  baseruby = ruby_1_8_7.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v1_8_7_${passthru.patchLevel}";
+    sha256 = "1xddhxr0j26hpxfixvhqdscwk2ri846w2129fcfwfjzvy19igswx";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/1.8/${name}.tar.bz2";
+    sha256 = "1qq7khilwkayrhwmzlxk83scrmiqfi7lgsn4c63znyvz2c1lgqxl";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm);
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/01-ignore-generated-files.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/02-fix-tests-for-osx.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/03-sigvtalrm-fix.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/04-railsbench-gc-patch.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/05-display-full-stack-trace.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/06-better-source-file-tracing.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/07-heap-dump-support.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/08-fork-support-for-gc-logging.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/09-track-malloc-size.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/10-track-object-allocation.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/11-expose-heap-slots.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/12-fix-heap-size-growth-logic.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/13-heap-slot-size.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/14-add-trace-stats-enabled-methods.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/15-track-live-dataset-size.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/16-add-object-size-information-to-heap-dump.patch"
+    "${patchSet}/patches/ruby/1.8.7/p374/railsexpress/17-caller-for-all-threads.patch"
+  ];
+
+  configureFlags = [ "--enable-shared" "--enable-pthread" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby";
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+  };
+
+  passthru = rec {
+    majorVersion = "1";
+    minorVersion = "8";
+    teenyVersion = "7";
+    patchLevel = "374";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-1.9.3.nix b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
new file mode 100644
index 00000000000..db807ebbd8b
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
@@ -0,0 +1,121 @@
+{ stdenv, lib, fetchurl, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, ruby_1_9_3, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  baseruby = ruby_1_9_3.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v1_9_3_${passthru.patchLevel}";
+    sha256 = "040x67snfjrql5j7blizpm9j58jhwvh00v8h1h59aq90h52lkj68";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
+    sha256 = "0k7g0ahicjnd4sij2pml1p1dcb95ms3k3j1k3169n02kzz9qwn7g";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # 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);
+
+  enableParallelBuilding = true;
+
+  patches = [
+    ./ruby19-parallel-install.patch
+    ./bitperfect-rdoc.patch
+  ] ++ ops useRailsExpress [
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/01-fix-make-clean.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/02-railsbench-gc.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/04-fork-support-for-gc-logging.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/05-track-live-dataset-size.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/06-webrick_204_304_keep_alive_fix.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/07-export-a-few-more-symbols-for-ruby-prof.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/08-thread-variables.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/09-faster-loading.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/10-falcon-st-opt.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/11-falcon-sparse-array.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/12-falcon-array-queue.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/13-railsbench-gc-fixes.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/14-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/15-configurable-fiber-stack-sizes.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/16-backport-psych-20.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/17-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/1.9.3/p547/railsexpress/18-fix-process-daemon-call.patch"
+  ];
+
+  configureFlags = [ "--enable-shared" "--enable-pthread" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+
+  CFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.7";
+
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license     = "Ruby";
+    homepage    = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "1";
+    minorVersion = "9";
+    teenyVersion = "3";
+    patchLevel = "547";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-18.nix b/pkgs/development/interpreters/ruby/ruby-18.nix
deleted file mode 100644
index 356fce4913c..00000000000
--- a/pkgs/development/interpreters/ruby/ruby-18.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv, fetchurl
-, zlib, zlibSupport ? true
-, openssl, opensslSupport ? true
-, gdbm, gdbmSupport ? true
-, ncurses, readline, cursesSupport ? false
-, groff, docSupport ? false
-}:
-
-let
-  op = stdenv.lib.optional;
-  ops = stdenv.lib.optionals;
-in
-
-stdenv.mkDerivation rec {
-  version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
-  
-  name = "ruby-${version}";
-  
-  src = fetchurl {
-    url = "http://cache.ruby-lang.org/pub/ruby/1.8/${name}.tar.bz2";
-    sha256 = "b4e34703137f7bfb8761c4ea474f7438d6ccf440b3d35f39cc5e4d4e239c07e3";
-  };
-
-  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
-  NROFF = "${groff}/bin/nroff";
-
-  buildInputs = (ops cursesSupport [ ncurses readline ] )
-    ++ (op docSupport groff )
-    ++ (op zlibSupport zlib)
-    ++ (op opensslSupport openssl)
-    ++ (op gdbmSupport gdbm);
-    
-  configureFlags = ["--enable-shared" "--enable-pthread"];
-
-  installFlags = stdenv.lib.optionalString docSupport "install-doc";
-
-  postInstall = ''
-    # Bundler tries to create this directory
-    mkdir -pv $out/${passthru.gemPath}
-    mkdir -p $out/nix-support
-    cat > $out/nix-support/setup-hook <<EOF
-    addGemPath() {
-      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
-    }
-
-    envHooks+=(addGemPath)
-    EOF
-  '';
-
-  meta = {
-    license = "Ruby";
-    homepage = "http://www.ruby-lang.org/en/";
-    description = "The Ruby language";
-  };
-
-  passthru = rec {
-    majorVersion = "1.8";
-    minorVersion = "7";
-    patchLevel = "374";
-    libPath = "lib/ruby/${majorVersion}";
-    gemPath = "lib/ruby/gems/${majorVersion}";
-  };
-}
diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix
deleted file mode 100644
index d18718184ba..00000000000
--- a/pkgs/development/interpreters/ruby/ruby-19.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ stdenv, fetchurl
-, zlib, zlibSupport ? true
-, openssl, opensslSupport ? true
-, gdbm, gdbmSupport ? true
-, ncurses, readline, cursesSupport ? false
-, groff, docSupport ? false
-, libyaml, yamlSupport ? true
-}:
-
-let
-  op = stdenv.lib.optional;
-  ops = stdenv.lib.optionals;
-in
-
-stdenv.mkDerivation rec {
-  version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
-  
-  name = "ruby-${version}";
-  
-  src = fetchurl {
-    url = "http://cache.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
-    sha256 = "0fdc6e860d0023ba7b94c7a0cf1f7d32908b65b526246de9dfd5bb39d0d7922b";
-  };
-
-  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
-  NROFF = "${groff}/bin/nroff";
-
-  buildInputs = (ops cursesSupport [ ncurses readline ] )
-    ++ (op docSupport groff )
-    ++ (op zlibSupport zlib)
-    ++ (op opensslSupport openssl)
-    ++ (op gdbmSupport gdbm)
-    ++ (op yamlSupport libyaml)
-    # Looks like ruby fails to build on darwin without readline even if curses
-    # 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);
-
-  enableParallelBuilding = true;
-  patches = [ ./ruby19-parallel-install.patch
-	      ./bitperfect-rdoc.patch
-  ];
-
-  configureFlags = [ "--enable-shared" "--enable-pthread" ]
-    # on darwin, we have /usr/include/tk.h -- so the configure script detects
-    # that tk is installed
-    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
-
-  installFlags = stdenv.lib.optionalString docSupport "install-doc";
-
-  postInstall = ''
-    # Bundler tries to create this directory
-    mkdir -pv $out/${passthru.gemPath}
-    mkdir -p $out/nix-support
-    cat > $out/nix-support/setup-hook <<EOF
-    addGemPath() {
-      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
-    }
-
-    envHooks+=(addGemPath)
-    EOF
-  '';
-
-  meta = {
-    license     = "Ruby";
-    homepage    = "http://www.ruby-lang.org/en/";
-    description = "The Ruby language";
-    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
-    platforms   = stdenv.lib.platforms.all;
-  };
-
-  passthru = rec {
-    majorVersion = "1.9";
-    minorVersion = "3";
-    patchLevel = "484";
-    libPath = "lib/ruby/${majorVersion}";
-    gemPath = "lib/ruby/gems/${majorVersion}";
-  };
-}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.0.0.nix b/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
new file mode 100644
index 00000000000..31408b73807
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
@@ -0,0 +1,104 @@
+{ stdenv, lib, fetchurl, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_0_0, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  baseruby = ruby_2_0_0.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_0_0_${passthru.patchLevel}";
+    sha256 = "07ccnxgiqxn5ycmq2wl7j3aqmndm4n358y35kzaivb488ayjg3pj";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.0/${name}.tar.bz2";
+    sha256 = "1qnqccyfhx0fykxqbzlxq0yvyvq6q9v32givyfyr303dx7bxlqh7";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # 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);
+
+  enableParallelBuilding = true;
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/02-railsexpress-gc.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.0.0/p481/railsexpress/05-fix-missing-c-return-event.patch"
+  ];
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "0";
+    teenyVersion = "0";
+    patchLevel = "481";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.0.nix b/pkgs/development/interpreters/ruby/ruby-2.0.nix
deleted file mode 100644
index ae242107b96..00000000000
--- a/pkgs/development/interpreters/ruby/ruby-2.0.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ stdenv, fetchurl
-, zlib, zlibSupport ? true
-, openssl, opensslSupport ? true
-, gdbm, gdbmSupport ? true
-, ncurses, readline, cursesSupport ? false
-, groff, docSupport ? false
-, libyaml, yamlSupport ? true
-}:
-
-let
-  op = stdenv.lib.optional;
-  ops = stdenv.lib.optionals;
-in
-
-stdenv.mkDerivation rec {
-  version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
-  
-  name = "ruby-${version}";
-  
-  src = fetchurl {
-    url = "http://cache.ruby-lang.org/pub/ruby/2.0/${name}.tar.bz2";
-    sha256 = "3de4e4d9aff4682fa4f8ed2b70bd0d746fae17452fc3d3a8e8f505ead9105ad9";
-  };
-
-  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
-  NROFF = "${groff}/bin/nroff";
-
-  buildInputs = (ops cursesSupport [ ncurses readline ] )
-    ++ (op docSupport groff )
-    ++ (op zlibSupport zlib)
-    ++ (op opensslSupport openssl)
-    ++ (op gdbmSupport gdbm)
-    ++ (op yamlSupport libyaml)
-    # Looks like ruby fails to build on darwin without readline even if curses
-    # 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);
-
-  enableParallelBuilding = true;
-    
-  configureFlags = ["--enable-shared" ]
-    # on darwin, we have /usr/include/tk.h -- so the configure script detects
-    # that tk is installed
-    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
-
-  installFlags = stdenv.lib.optionalString docSupport "install-doc";
-  # Bundler tries to create this directory
-  postInstall = ''
-    # Bundler tries to create this directory
-    mkdir -pv $out/${passthru.gemPath}
-    mkdir -p $out/nix-support
-    cat > $out/nix-support/setup-hook <<EOF
-    addGemPath() {
-      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
-    }
-
-    envHooks+=(addGemPath)
-    EOF
-  '';
-
-  meta = {
-    license = "Ruby";
-    homepage = "http://www.ruby-lang.org/en/";
-    description = "The Ruby language";
-    platforms = stdenv.lib.platforms.all;
-  };
-
-  passthru = rec {
-    majorVersion = "2.0";
-    minorVersion = "0";
-    patchLevel = "353";
-    libPath = "lib/ruby/${majorVersion}";
-    gemPath = "lib/ruby/gems/${majorVersion}";
-  };
-}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.0.nix b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
new file mode 100644
index 00000000000..95ab84eedb8
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
@@ -0,0 +1,120 @@
+{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_1_0, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_0.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_0";
+    sha256 = "12sn532yvznqfz85378ys0b9ggmj7w8ddhzc1pnnlx7mbyy7r2hx";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.gz";
+    sha256 = "17fhfbw8sr13rxfn58wvrhk2f5i88lkna2afn3gdjvprd8gyqf1m";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # 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);
+
+  enableParallelBuilding = true;
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/01-current-2.1.1-fixes.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/02-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/03-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/04-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/05-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/06-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/07-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/08-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/09-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/10-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/11-funny-falcon-method-cache.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/12-backport-r44370.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "0";
+    patchLevel = "0";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.1.nix b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
new file mode 100644
index 00000000000..abd09c0f276
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
@@ -0,0 +1,118 @@
+{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_1_1, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_1.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_1";
+    sha256 = "1v2ffvyd0xx1h1qd70431zczhvsdiyyw5kjxih4rszd5avzh5grl";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz";
+    sha256 = "0hc9x3mazyvnk94gs19q8mbnanlzk8mv0hii77slkvc8mqqxyhy8";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # 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);
+
+  enableParallelBuilding = true;
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/05-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/07-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/08-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/09-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/10-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/11-funny-falcon-method-cache.patch"
+    "${patchSet}/patches/ruby/2.1.0/railsexpress/12-backport-r44370.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "1";
+    patchLevel = "0";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
new file mode 100644
index 00000000000..8612cd6bd43
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
@@ -0,0 +1,117 @@
+{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_1_2, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_2.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_2";
+    sha256 = "14f8w3zwngnxsgigffh6h9z3ng53xq8mk126xmwrsmz9n3ypm6l0";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz";
+    sha256 = "0db6krc2bd7yha8p96lcqrahjpsz7g7abhni134g708sh53n8apj";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ] )
+    ++ (op docSupport groff )
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # 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);
+
+  enableParallelBuilding = true;
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/05-fix-missing-c-return-event.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/06-backport-006e66b6680f60adfb434ee7397f0dbc77de7873.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/07-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/08-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/09-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.2/railsexpress/10-funny-falcon-method-cache.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "2";
+    patchLevel = "353";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.3.nix b/pkgs/development/interpreters/ruby/ruby-2.1.3.nix
new file mode 100644
index 00000000000..1ba97daac04
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.3.nix
@@ -0,0 +1,121 @@
+{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_1_3, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_3.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_3";
+    sha256 = "1pnam9jry2l2mbji3gvrbb7jyisxl99xjz6l1qrccwnfinxxbmhv";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz";
+    sha256 = "00bz6jcbxgnllplk4b9lnyc3w8yd3pz5rn11rmca1s8cn6vvw608";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ])
+    ++ (op docSupport groff)
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # 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);
+
+  enableParallelBuilding = true;
+
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/05-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/06-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/07-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/08-funny-falcon-method-cache.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "3";
+    patchLevel = "0";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/ruby-2.2.0.nix b/pkgs/development/interpreters/ruby/ruby-2.2.0.nix
new file mode 100644
index 00000000000..0fb01a5a535
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.2.0.nix
@@ -0,0 +1,112 @@
+{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_2_0, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_2_0.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_2_0";
+    sha256 = "1w7rr2nq1bbw6aiagddzlrr3rl95kk33x4pv6570nm072g55ybpi";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz";
+    sha256 = "1z2092fbpc2qkv1j3yj7jdz7qwvqpxqpmcnkphpjcpgvmfaf6wbn";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ])
+    ++ (op docSupport groff)
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # 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);
+
+  enableParallelBuilding = true;
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.2.0/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.2.0/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.2.0/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.2.0/railsexpress/04-backport-401c8bb.patch"
+    "${patchSet}/patches/ruby/2.2.0/railsexpress/05-fix-packed-bitfield-compat-warning-for-older-gccs.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "2";
+    teenyVersion = "0";
+    patchLevel = "0";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix
index 13829c3f9f6..773a752ffef 100644
--- a/pkgs/development/interpreters/ruby/rubygems.nix
+++ b/pkgs/development/interpreters/ruby/rubygems.nix
@@ -1,10 +1,11 @@
 args : with args; 
-rec {
 
-  version = "1.8.25";
+rec {
+  name = "rubygems-" + version;
+  version = "2.4.1";
   src = fetchurl {
     url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
-    sha256 = "1j0wiy829nsfrpdzr9xzs39jf1lga3f5b7773vxqfs3lz3fli4v4";
+    sha256 = "0cpr6cx3h74ykpb0cp4p4xg7a8j0bhz3sk271jq69l4mm4zy4h4f";
   };
 
   buildInputs = [ruby makeWrapper];
@@ -23,19 +24,12 @@ rec {
   /* doConfigure should be specified separately */
   phaseNames = ["doPatch" "doInstall"];
       
-  name = "rubygems-" + version;
   meta = {
     description = "Ruby gems package collection";
     longDescription = ''
       Nix can create nix packages from gems.
 
-      To use it do the following:
-      1. Install rubygems and rubyLibs.nix.
-      2. Add $your_profile/${ruby.gemPath} to GEM_PATH.
-      3. export RUBYLIB=$your_profile/lib RUBYOPT=rubygems.
-      4. Run `gem nix --[no-]user-install gem1 gem2 ...` to generate Nix
-      expression from gem repository.
-      5. Install rubyLibs.gem1 etc.
+      To use it by installing gem-nix package.
     '';
   };
 
diff --git a/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
new file mode 100644
index 00000000000..7685bafddc9
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
@@ -0,0 +1,8 @@
+{ fetchFromGitHub }:
+
+fetchFromGitHub {
+  owner  = "skaes";
+  repo   = "rvm-patchsets";
+  rev    = "da2e5b4d81e18154befef1448e037b844cb5a326";
+  sha256 = "0fslnkpirgsm7gjd6g194vd24i3y7kl0ihbq5gr94cgvdzzjgad0";
+}
diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix
index 39056717597..4630828fe87 100644
--- a/pkgs/development/interpreters/scheme48/default.nix
+++ b/pkgs/development/interpreters/scheme48/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "scheme48-1.9";
+  name = "scheme48-1.9.2";
 
   meta = {
     homepage = http://s48.org/;
     description = "Scheme 48";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 
   src = fetchurl {
-    url = http://s48.org/1.9/scheme48-1.9.tgz;
-    md5 = "b4c20057f92191d05a61fac1372878ad";
+    url = http://s48.org/1.9.2/scheme48-1.9.2.tgz;
+    sha256 = "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw";
   };
 }
diff --git a/pkgs/development/interpreters/scsh/default.nix b/pkgs/development/interpreters/scsh/default.nix
index 010d7c504d3..98b4f55f79b 100644
--- a/pkgs/development/interpreters/scsh/default.nix
+++ b/pkgs/development/interpreters/scsh/default.nix
@@ -15,12 +15,12 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "a Scheme shell";
+    description = "A Scheme shell";
     longDescription = ''
       SCSH is an implementation of the Scheme shell.  It is implemented as
       a heap image which is interpreted by the Scheme 48 virtual machine.
     '';
     homepage = http://www.scsh.net/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/interpreters/self/default.nix b/pkgs/development/interpreters/self/default.nix
index 98e1edee387..f53e42f0bde 100644
--- a/pkgs/development/interpreters/self/default.nix
+++ b/pkgs/development/interpreters/self/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine";
     homepage = "http://selflanguage.org/";
     license = stdenv.lib.licenses.bsd3;
-    maintainer = [ stdenv.lib.maintainers.doublec ];
+    maintainers = [ stdenv.lib.maintainers.doublec ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix
index fc4546bc09e..74f0fe2b83a 100644
--- a/pkgs/development/interpreters/spidermonkey/17.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/17.0.nix
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
   preCheck = ''
     rm jit-test/tests/sunspider/check-date-format-tofte.js    # https://bugzil.la/600522
 
+    # Test broken on ARM. Fedora disables it.
+    # https://lists.fedoraproject.org/pipermail/scm-commits/Week-of-Mon-20130617/1041155.html
+    echo -e '#!${stdenv.shell}\nexit 0' > config/find_vanilla_new_calls
+
     paxmark m shell/js17
     paxmark mr jsapi-tests/jsapi-tests
   '';
diff --git a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
index 6fc4bcb9dea..a036388f15e 100644
--- a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix
@@ -20,7 +20,22 @@ stdenv.mkDerivation rec {
     export LIBXUL_DIST=$out
   '';
 
-  configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ];
+  # Explained below in configureFlags for ARM
+  patches = stdenv.lib.optionals stdenv.isArm [
+    ./findvanilla.patch
+  ];
+
+  patchFlags = "-p3";
+
+  # On the Sheevaplug, ARM, its nanojit thing segfaults in japi-tests in
+  # "make check". Disabling tracejit makes it work, but then it needs the
+  # patch findvanilla.patch do disable a checker about allocator safety. In case
+  # of polkit, which is what matters most, it does not override the allocator
+  # so the failure of that test does not matter much.
+  configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ] ++
+    stdenv.lib.optionals stdenv.isArm [
+        "--with-cpu-arch=armv5t" 
+        "--disable-tracejit" ];
 
   # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
   preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
diff --git a/pkgs/development/interpreters/spidermonkey/findvanilla.patch b/pkgs/development/interpreters/spidermonkey/findvanilla.patch
new file mode 100644
index 00000000000..f6dab5497a0
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/findvanilla.patch
@@ -0,0 +1,19 @@
+diff --git a/js/src/Makefile.in b/js/src/Makefile.in
+index a85e055..92ef441 100644
+--- a/js/src/Makefile.in
++++ b/js/src/Makefile.in
+@@ -580,14 +580,6 @@ check-valgrind::
+ 	$(check-sync-dirs) $(srcdir)/build $(MOZ_SYNC_BUILD_FILES)/build
+ endif
+ 
+-# The "find any vanilla new/new[] calls" script is tailored to Linux, so
+-# only run it there.  That should be enough to catch any such calls that
+-# creep in.
+-ifeq ($(OS_ARCH),Linux)
+-check::
+-	$(srcdir)/config/find_vanilla_new_calls $(LIBRARY)
+-endif
+-
+ ifdef ENABLE_TRACEJIT
+ ifndef WINCE
+ JITFLAGS = ,m,j,mj,mjp,am,amj,amjp,amd
diff --git a/pkgs/development/interpreters/tcl/default.nix b/pkgs/development/interpreters/tcl/default.nix
index c9a0fd7546f..913c73f01f3 100644
--- a/pkgs/development/interpreters/tcl/default.nix
+++ b/pkgs/development/interpreters/tcl/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "tcl-8.5.15";
+  name = "tcl-8.6.4";
 
   src = fetchurl {
-    url = mirror://sourceforge/tcl/tcl8.5.15-src.tar.gz;
-    sha256 = "0kl8lbfwy4v4q4461wjmva95h0pgiprykislpw4nnpkrc7jalkpj";
+    url = mirror://sourceforge/tcl/tcl8.6.4-src.tar.gz;
+    sha256 = "13cwa4bc85ylf5gfj9vk182lvgy60qni3f7gbxghq78wk16djvly";
   };
 
   preConfigure = "cd unix";
 
   postInstall = ''
     make install-private-headers
-    ln -s $out/bin/tclsh8.5 $out/bin/tclsh
+    ln -s $out/bin/tclsh8.6 $out/bin/tclsh
   '';
   
   meta = {
diff --git a/pkgs/development/interpreters/xulrunner/default.nix b/pkgs/development/interpreters/xulrunner/default.nix
index 47dea40eba2..1f24b4dde54 100644
--- a/pkgs/development/interpreters/xulrunner/default.nix
+++ b/pkgs/development/interpreters/xulrunner/default.nix
@@ -3,21 +3,18 @@
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
 , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
 , hunspell, libevent, libstartup_notification, libvpx
-, cairo, gstreamer, gst_plugins_base, icu
+, cairo, gstreamer, gst_plugins_base, icu, firefox
 , debugBuild ? false
 }:
 
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+assert stdenv.cc ? libc && stdenv.cc.libc != null;
 
-let version = "31.0"; in
+let version = firefox.version; in
 
 stdenv.mkDerivation rec {
   name = "xulrunner-${version}";
 
-  src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
-    sha1 = "a6c3e25ee3aeb7da42db2aaeb50a385d63532beb";
-  };
+  src = firefox.src;
 
   buildInputs =
     [ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
@@ -58,9 +55,10 @@ stdenv.mkDerivation rec {
       "--disable-updater"
       "--disable-pulseaudio"
     ]
-    ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
-                      else [ "--disable-debug" "--enable-release"
-                             "--enable-optimize" "--enable-strip" ]);
+    ++ (if debugBuild
+        then [ "--enable-debug" "--enable-profiling"]
+        else [ "--disable-debug" "--enable-release" "--enable-strip"
+               "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}" ]);
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 12273f84566..505aab78242 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.3";
+  version = "4.5";
 
   name = "cgal-${version}";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/32995/CGAL-${version}.tar.xz";
-    sha256 = "015vw57dmy43bf63mg3916cgcsbv9dahwv24bnmiajyanj2mhiyc";
+    url = "https://gforge.inria.fr/frs/download.php/34139/CGAL-${version}.tar.xz";
+    sha256 = "00shds5yph4s09lqdrb6n60wnw9kpiwa25ghg9mbsgq3fnr8p7kr";
   };
 
   buildInputs = [ cmake boost gmp mpfr ];
diff --git a/pkgs/development/libraries/LASzip/default.nix b/pkgs/development/libraries/LASzip/default.nix
new file mode 100644
index 00000000000..df9d126ad71
--- /dev/null
+++ b/pkgs/development/libraries/LASzip/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  version = "2.2.0";
+  name = "LASzip-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/LASzip/LASzip/archive/v${version}.tar.gz";
+    sha256 = "b8e8cc295f764b9d402bc587f3aac67c83ed8b39f1cb686b07c168579c61fbb2";
+  };
+  
+  buildInputs = [cmake];
+
+  meta = {
+    description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
+    homepage = http://www.laszip.org;
+    license = stdenv.lib.licenses.lgpl2;
+    maintainers = [ stdenv.lib.maintainers.michelk ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index 3f1fbfcd6a9..6d6148e092a 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -7,7 +7,7 @@
 
 # OSS is no longer supported, for it's much crappier than ALSA and
 # PulseAudio.
-assert !(stdenv ? cross) -> alsaSupport || pulseaudioSupport;
+assert (stdenv.isLinux && !(stdenv ? cross)) -> alsaSupport || pulseaudioSupport;
 
 assert openglSupport -> (mesa != null && x11Support);
 assert x11Support -> (x11 != null && libXrandr != null);
@@ -51,6 +51,13 @@ stdenv.mkDerivation rec {
     "--without-x"
   ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib}/lib");
 
+  # Fix a build failure on OS X Mavericks
+  # Ticket: https://bugzilla.libsdl.org/show_bug.cgi?id=2085
+  patches = stdenv.lib.optional stdenv.isDarwin [ (fetchurl {
+    url = "http://bugzilla-attachments.libsdl.org/attachment.cgi?id=1320";
+    sha1 = "3137feb503a89a8d606405373905b92dcf7e293b";
+  }) ];
+
   crossAttrs =stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") {
     patches = let
       f = rev: sha256: fetchurl {
@@ -72,6 +79,6 @@ stdenv.mkDerivation rec {
     description = "A cross-platform multimedia library";
     homepage    = http://www.libsdl.org/;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index b122248bb23..68f40cad259 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -7,9 +7,9 @@
 
 # OSS is no longer supported, for it's much crappier than ALSA and
 # PulseAudio.
-assert alsaSupport || pulseaudioSupport;
+assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
 
-assert openglSupport -> (mesa != null && x11Support);
+assert openglSupport -> (stdenv.isDarwin || mesa != null && x11Support);
 assert x11Support -> (x11 != null && libXrandr != null);
 assert alsaSupport -> alsaLib != null;
 assert pulseaudioSupport -> pulseaudio != null;
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     description = "A cross-platform multimedia library";
     homepage = http://www.libsdl.org/;
     license = stdenv.lib.licenses.zlib;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.page ];
   };
 }
diff --git a/pkgs/development/libraries/SDL2_ttf/default.nix b/pkgs/development/libraries/SDL2_ttf/default.nix
new file mode 100644
index 00000000000..d1600ee8a8f
--- /dev/null
+++ b/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, SDL2, freetype }:
+
+stdenv.mkDerivation rec {
+  name = "SDL2_ttf-2.0.12";
+
+  src = fetchurl {
+    url = "https://www.libsdl.org/projects/SDL_ttf/release/${name}.tar.gz";
+    sha256 = "0vkg6lyj278mdpd52map3rfi65fbq16w67ahmmfcl77a8da60a47";
+  };
+
+  buildInputs = [SDL2 freetype];
+
+  postInstall = "ln -s $out/include/SDL2/SDL_ttf.h $out/include/";
+
+  meta = {
+    description = "SDL TrueType library";
+  };
+}
diff --git a/pkgs/development/libraries/SDL_image/default.nix b/pkgs/development/libraries/SDL_image/default.nix
index 2aa122a8fb2..a1d83950477 100644
--- a/pkgs/development/libraries/SDL_image/default.nix
+++ b/pkgs/development/libraries/SDL_image/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "SDL image library";
     homepage    = http://www.libsdl.org/projects/SDL_image/;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index 7aca033c147..22a67b13e0b 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libogg, libvorbis, enableNativeMidi ? false, fluidsynth ? null }:
+{ stdenv, fetchurl, SDL, libogg, libvorbis, smpeg, enableNativeMidi ? false, fluidsynth ? null }:
 
 stdenv.mkDerivation rec {
   pname   = "SDL_mixer";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n";
   };
 
-  buildInputs = [SDL libogg libvorbis fluidsynth];
+  buildInputs = [SDL libogg libvorbis fluidsynth smpeg];
 
   configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi " --enable-music-native-midi-gpl";
 
diff --git a/pkgs/development/libraries/SDL_stretch/default.nix b/pkgs/development/libraries/SDL_stretch/default.nix
new file mode 100644
index 00000000000..52c43da9d16
--- /dev/null
+++ b/pkgs/development/libraries/SDL_stretch/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, SDL }:
+
+stdenv.mkDerivation {
+  name = "SDL_stretch-0.3.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sdl-stretch/0.3.1/SDL_stretch-0.3.1.tar.bz2";
+    sha256 = "1mzw68sn4yxbp8429jg2h23h8xw2qjid51z1f5pdsghcn3x0pgvw";
+  };
+
+  buildInputs = [ SDL ];
+
+  meta = {
+     description = "Stretch Functions For SDL";
+     homepage = "http://sdl-stretch.sourceforge.net/";
+     license = stdenv.lib.licenses.lgpl2;
+     platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/aalib/darwin.patch b/pkgs/development/libraries/aalib/darwin.patch
new file mode 100644
index 00000000000..44559d06210
--- /dev/null
+++ b/pkgs/development/libraries/aalib/darwin.patch
@@ -0,0 +1,106 @@
+diff --git a/src/aaedit.c b/src/aaedit.c
+index 09534d2..2ea52f9 100644
+--- a/src/aaedit.c
++++ b/src/aaedit.c
+@@ -1,6 +1,6 @@
+ #include <string.h>
+ #include <ctype.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "aalib.h"
+ #include "aaint.h"
+ static void aa_editdisplay(struct aa_edit *e)
+ 
+diff --git a/src/aakbdreg.c b/src/aakbdreg.c
+index def65fe..f4f8efb 100644
+--- a/src/aakbdreg.c
++++ b/src/aakbdreg.c
+@@ -1,4 +1,4 @@
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "config.h"
+ #include "aalib.h"
+ #include "aaint.h"
+diff --git a/src/aalib.c b/src/aalib.c
+index 11fecc8..e3063b4 100644
+--- a/src/aalib.c
++++ b/src/aalib.c
+@@ -1,6 +1,6 @@
+ #include <stdio.h>
+ #include <string.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "aalib.h"
+ #include "aaint.h"
+ 
+diff --git a/src/aamoureg.c b/src/aamoureg.c
+index 0380828..bb55fe3 100644
+--- a/src/aamoureg.c
++++ b/src/aamoureg.c
+@@ -1,4 +1,4 @@
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "config.h"
+ #include "aalib.h"
+ #include "aaint.h"
+diff --git a/src/aarec.c b/src/aarec.c
+index 70f4ebc..ee43e8a 100644
+--- a/src/aarec.c
++++ b/src/aarec.c
+@@ -1,5 +1,5 @@
+ #include <string.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "aalib.h"
+ #include "aaint.h"
+ aa_linkedlist *aa_kbdrecommended = NULL, *aa_mouserecommended = NULL,
+diff --git a/src/aaregist.c b/src/aaregist.c
+index 54abec0..765155e 100644
+--- a/src/aaregist.c
++++ b/src/aaregist.c
+@@ -1,4 +1,4 @@
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "config.h"
+ #include "aalib.h"
+ #include "aaint.h"
+diff --git a/src/aax.c b/src/aax.c
+index adcbd82..36e3294 100644
+--- a/src/aax.c
++++ b/src/aax.c
+@@ -1,4 +1,3 @@
+-#include <malloc.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
+diff --git a/src/aaxkbd.c b/src/aaxkbd.c
+index 30d5903..da2248d 100644
+--- a/src/aaxkbd.c
++++ b/src/aaxkbd.c
+@@ -1,4 +1,3 @@
+-#include <malloc.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
+diff --git a/src/aaxmouse.c b/src/aaxmouse.c
+index 9935b03..7e725ad 100644
+--- a/src/aaxmouse.c
++++ b/src/aaxmouse.c
+@@ -1,4 +1,3 @@
+-#include <malloc.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
+diff --git a/aalib.m4 b/aalib.m4
+index c40b8db..991fbda 100644
+--- a/aalib.m4
++++ b/aalib.m4
+@@ -9,7 +9,7 @@
+ dnl AM_PATH_AALIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+ dnl Test for AALIB, and define AALIB_CFLAGS and AALIB_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_AALIB,
++AC_DEFUN([AM_PATH_AALIB],
+ [dnl 
+ dnl Get the cflags and libraries from the aalib-config script
+ dnl
diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix
index fa21a9570c7..d7dcbeba330 100644
--- a/pkgs/development/libraries/aalib/default.nix
+++ b/pkgs/development/libraries/aalib/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation {
 
   configureFlags = "--without-x --with-ncurses=${ncurses}";
 
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ];
+
   meta = {
     description = "ASCII art graphics library";
   };
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 7b85d29c81b..3ba91ccaa1a 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -2,11 +2,12 @@
 , libtool, gobjectIntrospection, polkit, systemd, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "accountsservice-0.6.37";
+  name = "accountsservice-${version}";
+  version = "0.6.40";
   
   src = fetchurl {
-    url = http://www.freedesktop.org/software/accountsservice/accountsservice-0.6.37.tar.xz;
-    sha256 = "1hd58lrl698ij7w1xk3fpj8zp7h6m2hpzvfmbw9sfx4xvhv13cmh";
+    url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
+    sha256 = "0ayb3y3l25dmwxlh9g071h02mphjfbkvi2k5f635bayb01k7akzh";
   };
 
   buildInputs = [ pkgconfig glib intltool libtool makeWrapper
@@ -24,7 +25,10 @@ stdenv.mkDerivation rec {
       --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "D-Bus interface for user account query and manipulation";
+    homepage = http://www.freedesktop.org/wiki/Software/AccountsService;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/libraries/adns/default.nix b/pkgs/development/libraries/adns/default.nix
index 8c9c6a5b9ef..cecb8ee0a49 100644
--- a/pkgs/development/libraries/adns/default.nix
+++ b/pkgs/development/libraries/adns/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 let
-  version = "1.4";
+  version = "1.5.0";
 in
 stdenv.mkDerivation {
   name = "adns-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
       "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz"
       "mirror://gnu/adns/adns-${version}.tar.gz"
     ];
-    sha256 = "1zm99i9fd5gfijd144ajngn6x73563355im79sqdi98pj6ir4yvi";
+    sha256 = "0hg89b5n84zjhzvbzrpvhl0hbm4s6d1z2pzllfis64ai656ypibz";
   };
 
   preConfigure =
@@ -21,6 +21,10 @@ stdenv.mkDerivation {
   # http://thread.gmane.org/gmane.linux.distributions.nixos/1328 for details.
   doCheck = false;
 
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id $out/lib/libadns.so.1.5 $out/lib/libadns.so.1.5
+  '';
+
   meta = {
     homepage = "http://www.chiark.greenend.org.uk/~ian/adns/";
     description = "Asynchronous DNS Resolver Library";
diff --git a/pkgs/development/libraries/afflib/default.nix b/pkgs/development/libraries/afflib/default.nix
index ed88b89b14e..c29512b86a0 100644
--- a/pkgs/development/libraries/afflib/default.nix
+++ b/pkgs/development/libraries/afflib/default.nix
@@ -1,15 +1,29 @@
-{ stdenv, fetchurl, zlib, curl, expat, fuse, openssl }:
+{ stdenv, fetchgit, zlib, curl, expat, fuse, openssl
+, autoconf, automake, libtool, python
+}:
 
 stdenv.mkDerivation rec {
-  version = "3.7.4";
+  version = "3.7.6";
   name = "afflib-${version}";
 
-  src = fetchurl {
-    url = "http://digitalcorpora.org/downloads/afflib/${name}.tar.gz";
-    sha256 = "18j1gjb31qjcmz6lry4m2d933w2a80iagg9g5vrpw5ig80lv10f8";
+  src = fetchgit {
+    url = "https://github.com/sshock/AFFLIBv3/";
+    rev = "refs/tags/v${version}";
+    sha256 = "11wpjbyja6cn0828sw3951s7dbly11abijk41my3cpy9wnvmiggh";
+    name = "afflib-${version}-checkout";
   };
 
-  buildInputs = [ zlib curl expat fuse openssl ];
+  buildInputs = [ zlib curl expat fuse openssl 
+    libtool autoconf automake python
+    ];
+
+  preConfigure = ''
+    libtoolize -f
+    autoheader -f
+    aclocal
+    automake --add-missing -c 
+    autoconf -f
+  '';
 
   meta = {
     homepage = http://afflib.sourceforge.net/;
@@ -18,7 +32,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsdOriginal;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     inherit version;
-    downloadPage = "http://digitalcorpora.org/downloads/afflib/";
-    updateWalker = true;
+    downloadPage = "https://github.com/sshock/AFFLIBv3/tags";
   };
 }
diff --git a/pkgs/development/libraries/agda/Agda-Sheaves/default.nix b/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
new file mode 100644
index 00000000000..83066f5da63
--- /dev/null
+++ b/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit }:
+
+agda.mkDerivation (self: rec {
+  version = "8a06162a8f0f7df308458db91d720cf8f7345d69";
+  name = "Agda-Sheaves-${version}";
+  src = fetchgit {
+    url = "https://github.com/jonsterling/Agda-Sheaves.git";
+    rev = version;
+    sha256 = "39e0e4a1f05e359c099cf50a5ec7dd2db7b55f98dcc019f1e4667dca8b37f001";
+  };
+
+  everythingFile = "sheaves.agda";
+  topSourceDirectories = [ "../$sourceRoot" ];
+  sourceDirectories = [];
+
+  meta = {
+    homepage = "https://github.com/jonsterling/Agda-Sheaves";
+    description = "Sheaves in Agda";
+    license = stdenv.lib.licenses.cc-by-40;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
\ No newline at end of file
diff --git a/pkgs/development/libraries/agda/TotalParserCombinators/contextfile b/pkgs/development/libraries/agda/TotalParserCombinators/contextfile
new file mode 100644
index 00000000000..46743cba3b6
--- /dev/null
+++ b/pkgs/development/libraries/agda/TotalParserCombinators/contextfile
@@ -0,0 +1,259 @@
+
+Context:
+
+[Updated the code in response to changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150319181310
+ Ignore-this: 52b9ff613d7f10b0c8f45591a0759d07
+] 
+
+[Rolled back most of "Updated the code in response to changes to Agda".
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150319101420
+ Ignore-this: c2ea7bdf79848235fa3ea64ebda116eb
+ * One of the Agda changes has been reverted.
+] 
+
+[Removed an outdated comment.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150217162945
+ Ignore-this: 3ff7732335750305fe220e65693f0cbf
+] 
+
+[Added the simplification "nonempty (return x) → fail".
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150217161718
+ Ignore-this: 56ad6a68c314446d8986a8c1b49655d0
+] 
+
+[Added Nonempty.nonempty-return.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150217161629
+ Ignore-this: 68829d3f9a248272c46848daa05ccfe3
+] 
+
+[Updated the copyright year range.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150212154744
+ Ignore-this: 3410a12ca1f9de825b00e692b136d500
+] 
+
+[Updated the code in response to changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150212152207
+ Ignore-this: 683b5eeca5fa9c8490bceaf68c23a204
+] 
+
+[Updated the copyright year range.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20141128223227
+ Ignore-this: 31d3f5e4fdd6fbfad9758d9bfd0d3a3e
+] 
+
+[Updated the code in response to changes to Agda and the library.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20141128223205
+ Ignore-this: 6392ec67aab2c534a7195abed55be47
+] 
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20140425121055
+ Ignore-this: 54d80fd647cb897eef85f57e9172f7db
+] 
+
+[Workaround for (possible) Agda bug.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20140228200347
+ Ignore-this: b17884ad17a3bdb7faff678622365a8
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20130307134644
+ Ignore-this: 50d070a22a6796b9acdf19d44ba5de16
+] 
+
+[Updated code to reflect changes to Agda and the library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20130228122951
+ Ignore-this: 761dc4d85683a59cc3667a8706c88093
+] 
+
+[Turned _◇_ into a constructor.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120316125431
+ Ignore-this: 41b492c3106a575f28f146253f78a5ae
+] 
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120316125416
+ Ignore-this: e77d817d8b391c3b4806119d10848eb3
+] 
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120215103344
+ Ignore-this: 467716429d5553cd122722108ea82a08
+] 
+
+[Modified a comment.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20120215103319
+ Ignore-this: e57d4911f692f8a96a80017d910efc5f
+] 
+
+[Updated code to reflect change to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20111006160229
+ Ignore-this: 5359da54e7e6e0f92983fa3ecaccebf3
+] 
+
+[Updated code to reflect changes to Agda and the library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20111003170117
+ Ignore-this: cbdd35172e372779e12642985cf17268
+] 
+
+[Rolled back addition of inversion lemmas.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110930150912
+ Ignore-this: 9c9b083f0afcf95aaaa55a01d871274e
+] 
+
+[Added inversion lemmas, implemented other lemmas using these lemmas.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110930150842
+ Ignore-this: 19b832c3f9e14d1e713b5911c094a130
+ + This change was a response to a change to Agda's pattern matching
+   machinery. Subsequently the machinery was made more liberal again,
+   making this change unnecessary.
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110517220158
+ Ignore-this: ea9771a5014a25cb20afc2118638f8b5
+] 
+
+[Updated code to reflect changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110512124425
+ Ignore-this: 97b154661679f574f6ab914583b14580
+] 
+
+[Proved that many constructions preserve various preorders.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110313012617
+ Ignore-this: 8008efaff967c228448baa33b82edb81
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110313002106
+ Ignore-this: 94799ba1ae411e59fd8c6c7eac3b8dfb
+] 
+
+[Simplified TotalRecognisers.LeftRecursion.MatchingParentheses.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110118102159
+ Ignore-this: 1e01a8092b0c0124979ffc5fe17a245c
+] 
+
+[Added TotalRecognisers.LeftRecursion.MatchingParentheses.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20110118102146
+ Ignore-this: 13a3bc91425364e26c3047561655bb25
+] 
+
+[Added a simplifying backend.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101229012716
+ Ignore-this: 9ac7ae21cd44c099633678a994fb9a3
+] 
+
+[Fixed another "bug" in the deep simplifier.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101229010854
+ Ignore-this: e258adf963436ef715242db23c6808e
+ + Sometimes the first layer of bind's right-hand argument was not
+   simplified.
+] 
+
+[Made simplify₁ public and changed its type.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228235603
+ Ignore-this: d39b8453a15089126261e098080223c6
+] 
+
+[Deep simplification no longer adds casts.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228192850
+ Ignore-this: 2ba016825adfa3a1e36922869eabfd39
+] 
+
+[The first constructor in a simplified parser can no longer be a cast.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228175822
+ Ignore-this: ce3e38cc0b9a096aa436655c9013ae97
+] 
+
+[Modified the outline.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228173414
+ Ignore-this: f8866e69f6d1a344e79fb6f708dfa4c
+] 
+
+[Added an example: a right recursive expression grammar.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228173159
+ Ignore-this: 9a4d732b451cca08ba19aac5d115c678
+] 
+
+[Rearranged the code.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228172209
+ Ignore-this: 50fa29406d0f150669ff3feec4dbe513
+] 
+
+[Renamed same-bag/set to (initial-bag-)cong.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228170706
+ Ignore-this: dd3ce43d77dde74cc2428d2568dd2d30
+] 
+
+[Added TotalParserCombinators.Force.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228153638
+ Ignore-this: 3b6ff6ea20df0c1293494f06845d17eb
+] 
+
+[Proved that uses of subst can be erased.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228153621
+ Ignore-this: f503ba495b923ae521718b6957167128
+] 
+
+[The deep simplifier no longer skips layers.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228141138
+ Ignore-this: 733a4a4a9aa0f890ad1740ecfc6a599f
+] 
+
+[Documented that the deep simplifier misses every second layer.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101228121910
+ Ignore-this: 8a0baf25b12f63f8748dbc1d16affacf
+] 
+
+[The simplifier now applies the token-bind rule more often.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227165413
+ Ignore-this: 40132fa6f19602886bbe29aadd8a683c
+] 
+
+[Switched back to deep simplification, now with a proper proof.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227125434
+ Ignore-this: ccc46e82f6f9c6c2a27ddb43d315f7dd
+] 
+
+[Simplified the soundness proof.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227123839
+ Ignore-this: fb6826dd9836e34fc3bfdce2928ba13d
+] 
+
+[Made some _≈[_]P_ constructors conditionally coinductive.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101227123827
+ Ignore-this: f521f70475403697229051b62343a080
+ + The structure of the soundness proof was also changed.
+] 
+
+[Unified And, AsymmetricChoice and Not.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101225103109
+ Ignore-this: 5ae8b80e1505fe6e707bb2307d22688c
+] 
+
+[Modified some comments.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101225101051
+ Ignore-this: e812d8c3e9720895c368f7a286f8315c
+] 
+
+[Modified a comment.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101223202647
+ Ignore-this: 16ea5dc01a4cbe0fe38714b2e4b7ff6
+] 
+
+[Updated code to reflect changes to library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101107162658
+ Ignore-this: 9e38a10a9997c9825ece6ad9f871b673
+] 
+
+[Added an alternative backend for TotalRecognisers.Simple.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20101020183743
+ Ignore-this: a111a89e0c237e132b649561000f53d6
+] 
+
+[TAG Code corresponding to the paper "Total Parser Combinators" (4).
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20100928013815
+ Ignore-this: 45ccc28373ed3974047315613eb14833
+] 
diff --git a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
new file mode 100644
index 00000000000..8c299000065
--- /dev/null
+++ b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, agda, fetchdarcs, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "2015-03-19";
+  name = "TotalParserCombinators-${version}";
+
+  src = fetchdarcs {
+    url = "http://www.cse.chalmers.se/~nad/repos/parser-combinators.code/";
+    context = ./contextfile;
+    sha256 = "0jlbz8yni6i7vb2qsd41bdkpchqirvc5pavckaf97z7p4gqi2mlj";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  everythingFile = "TotalParserCombinators.agda";
+  sourceDirectories = [];
+  topSourceDirectories = [ "../$sourceRoot" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.cse.chalmers.se/~nad/publications/danielsson-parser-combinators.html";
+    description = "A monadic parser combinator library which guarantees termination of parsing";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/agda-base/default.nix b/pkgs/development/libraries/agda/agda-base/default.nix
new file mode 100644
index 00000000000..cf73d7dea06
--- /dev/null
+++ b/pkgs/development/libraries/agda/agda-base/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, agda, fetchurl }:
+
+agda.mkDerivation (self: rec {
+  version = "0.1";
+  name = "agda-base-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/pcapriotti/agda-base/archive/v${version}.tar.gz";
+    sha256 = "124h06p7jdiqr2x6r46sfab9r0cgb0fznr2qs5i1psl5yf3z74h8";
+  };
+
+  sourceDirectories = [ "./." ];
+  everythingFile = "README.agda";
+
+  meta = {
+    homepage = "https://github.com/pcapriotti/agda-base";
+    description = "Base library for HoTT in Agda";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
new file mode 100644
index 00000000000..2c76c2f4350
--- /dev/null
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, agda, fetchsvn }:
+
+agda.mkDerivation (self: rec {
+  version = "18734";
+  name = "agda-iowa-stdlib-${version}";
+
+  src = fetchsvn {
+    url = "https://svn.divms.uiowa.edu/repos/clc/projects/agda/lib";
+    rev = version;
+    sha256 = "0aqib88m5n6aqb5lmns9nl62x40yqhg6zpj0zjxibbn4s4qjw9ky";
+  };
+
+  sourceDirectories = [ "./." ];
+  buildPhase = ''
+    patchShebangs find-deps.sh
+    make
+  '';
+
+  meta = {
+    homepage = "https://svn.divms.uiowa.edu/repos/clc/projects/agda/lib/";
+    description = "Agda standard library developed at Iowa";
+    license = stdenv.lib.licenses.free;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/agda-prelude/default.nix b/pkgs/development/libraries/agda/agda-prelude/default.nix
new file mode 100644
index 00000000000..9b67c5dbb5b
--- /dev/null
+++ b/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit }:
+
+agda.mkDerivation (self: rec {
+  version = "d598f35d88596c5a63766a7188a0c0144e467c8c";
+  name = "agda-prelude-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/UlfNorell/agda-prelude.git";
+    rev = version;
+    sha256 = "bdcffb675d0ad1bafa2b47f581b6a9b90347ae739b6218f89f365fda2cc4f8c8";
+  };
+
+  topSourceDirectories = [ "src" ];
+  everythingFile = "src/Prelude.agda";
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/UlfNorell/agda-prelude";
+    description = "Programming library for Agda";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/agda-stdlib/default.nix b/pkgs/development/libraries/agda/agda-stdlib/default.nix
new file mode 100644
index 00000000000..8f3d298306b
--- /dev/null
+++ b/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, agda, fetchgit, ghcWithPackages }:
+
+agda.mkDerivation (self: rec {
+  version = "2.4.2.3";
+  name = "agda-stdlib-${version}";
+
+  src = fetchgit {
+    url = "git://github.com/agda/agda-stdlib";
+    rev = "451446c5d849b8c5d6d34363e3551169eb126cfb";
+    sha256 = "40a55d3c22fb3462b110859f4cd63e79e086b25f23964b465768397b93c57701";
+  };
+
+  nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
+  preConfigure = ''
+    runhaskell GenerateEverything.hs
+  '';
+
+  topSourceDirectories = [ "src" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary";
+    description = "A standard library for use with the Agda compiler";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ jwiegley fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/bitvector/default.nix b/pkgs/development/libraries/agda/bitvector/default.nix
new file mode 100644
index 00000000000..290a2f1206d
--- /dev/null
+++ b/pkgs/development/libraries/agda/bitvector/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "f1c173313f2a41d95a8dc6053f9365a24690e18d";
+  name = "bitvector-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/copumpkin/bitvector.git";
+    rev = version;
+    sha256 = "c39f55b709366f2c627d1a3a68d4b013c415b0e0f68ca6b69e387d07e2ce6d9a";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  sourceDirectories = [ "Data" ];
+
+  meta = {
+    homepage = "https://github.com/copumpkin/bitvector";
+    description = "Sequences of bits and common operations on them";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/categories/default.nix b/pkgs/development/libraries/agda/categories/default.nix
new file mode 100644
index 00000000000..1a860496a4d
--- /dev/null
+++ b/pkgs/development/libraries/agda/categories/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, agda, fetchgit, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "33409120d071656f5198c658145889ae2e86249c";
+  name = "categories-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/copumpkin/categories.git";
+    rev = version;
+    sha256 = "cb7e8c911e10ab582c077208f5f6675711c0d65f0d9d679639d4b67a467cc4de";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  sourceDirectories = [ "Categories" "Graphs" ];
+
+  meta = {
+    homepage = "https://github.com/copumpkin/categories";
+    description = "Categories parametrized by morphism equality, in Agda";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/pretty/contextfile b/pkgs/development/libraries/agda/pretty/contextfile
new file mode 100644
index 00000000000..2ea20153bbc
--- /dev/null
+++ b/pkgs/development/libraries/agda/pretty/contextfile
@@ -0,0 +1,43 @@
+
+Context:
+
+[Updated the code in response to a change to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150319181428
+ Ignore-this: f83c3dccfe25a2a5b9d0437d1dce0ec0
+] 
+
+[Rolled back most of "Updated the code in response to changes to Agda".
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150319101413
+ Ignore-this: 5a26cf9cf83d0d146cca0c15c857d20c
+ * One of the Agda changes has been reverted.
+] 
+
+[Updated the code in response to changes to Agda.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150217101656
+ Ignore-this: a12921aebbe0fb575ef391ba5789a391
+] 
+
+[Modified the copyright year range.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20150213144338
+ Ignore-this: 1d1b22457dd6dadcb47f5d7f3eea062
+] 
+
+[Restored Grammar.Abstract and Grammar.Non-terminal.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20130727225031
+ Ignore-this: ddccb15caa7a3c26e973997ffdb4eec1
+] 
+
+[Modified the copyright year range.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20141128164015
+ Ignore-this: b9c6dddc965738aa2a7670c4c18da67f
+] 
+
+[Updated the code to reflect changes to the library API.
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20141128163950
+ Ignore-this: 8094c47f23cef0fcc596ad0c18a92b56
+] 
+
+[TAG Correct-by-Construction Pretty-Printing (2013-07-28)
+Nils Anders Danielsson <nils.anders.danielsson@gmail.com>**20130727224432
+ Ignore-this: 6aab9b2e6b638457767c8821f3c27cb4
+] 
diff --git a/pkgs/development/libraries/agda/pretty/default.nix b/pkgs/development/libraries/agda/pretty/default.nix
new file mode 100644
index 00000000000..6aaaa44b00f
--- /dev/null
+++ b/pkgs/development/libraries/agda/pretty/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, agda, fetchdarcs, AgdaStdlib }:
+
+agda.mkDerivation (self: rec {
+  version = "2015-03-19";
+  name = "pretty-${version}";
+
+  src = fetchdarcs {
+    url = "http://www.cse.chalmers.se/~nad/repos/pretty/";
+    context = ./contextfile;
+    sha256 = "0zmwh9kln7ykpmkx1qhqz64qm2arq62b17vs5fswnxk7mqxsmrf0";
+  };
+
+  buildDepends = [ AgdaStdlib ];
+  everythingFile = "Pretty.agda";
+  sourceDirectories = [];
+  topSourceDirectories = [ "../$sourceRoot" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.cse.chalmers.se/~nad/publications/danielsson-correct-pretty.html";
+    description = "Correct-by-Construction Pretty-Printing";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/allegro/5-unstable.nix b/pkgs/development/libraries/allegro/5-unstable.nix
index d7a8708e540..72589ad1065 100644
--- a/pkgs/development/libraries/allegro/5-unstable.nix
+++ b/pkgs/development/libraries/allegro/5-unstable.nix
@@ -3,7 +3,7 @@ x@{builderDefsPackage
   , texinfo, libXext, xextproto, libX11, xproto, libXpm, libXt, libXcursor
   , alsaLib, cmake, zlib, libpng, libvorbis, libXxf86dga, libXxf86misc
   , xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal, mesa
-  , kbproto, libjpeg, flac
+  , kbproto, libjpeg, flac, inputproto, libXi, fixesproto, libXfixes
   , ...}:
 builderDefsPackage
 (a :
@@ -16,7 +16,7 @@ let
   sourceInfo = rec {
     baseName="allegro";
     folderSuffix = "-unstable";
-    version = "5.1.8";
+    version = "5.1.9";
     name="${baseName}-${version}";
     project="alleg";
     url="mirror://sourceforge/project/${project}/${baseName}${folderSuffix}/${version}/${name}.tar.gz";
@@ -26,17 +26,21 @@ in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = "180mhlhgxqh3ynazf9bssnd3riw77fazjw65yr64w0av53y0h1lz";
+    sha256 = "0jn1x2l1kz0vi2fvabpk5sbn1cx4k6hwncmf2j8wnrhk8pm5af5h";
   };
 
   inherit (sourceInfo) name version;
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doCmake" "doMakeInstall"];
+  phaseNames = ["patchIncludes" "doCmake" "doMakeInstall"];
+
+  patchIncludes = a.fullDepEntry ''
+    sed -e 's@/XInput2.h@/XI2.h@g' -i CMakeLists.txt src/*.c
+  '' ["minInit" "doUnpack"];
 
   doCmake = a.fullDepEntry (''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lXext -lX11 -lXpm -lXcursor -lXxf86vm"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lXext -lX11 -lXpm -lXcursor -lXxf86vm -lXi -lXfixes"
     cmake -D CMAKE_INSTALL_PREFIX=$out -D CMAKE_SKIP_RPATH=ON .
   '') ["minInit" "doUnpack" "addInputs"];
 
@@ -45,7 +49,7 @@ rec {
 
   meta = {
     description = "A game programming library";
-    license = "free-noncopyleft"; # giftware
+    license = a.lib.licenses.free; # giftware
     maintainers = with a.lib.maintainers;
     [
       raskin
@@ -55,4 +59,3 @@ rec {
     inherit version;
   };
 }) x
-
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index f03dd5b548c..793b57c676b 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -15,7 +15,7 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="allegro";
-    version="5.0.10";
+    version = "5.0.11";
     name="${baseName}-${version}";
     project="alleg";
     url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.gz";
@@ -25,7 +25,7 @@ in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "0cd51qrh97jrr0xdmnivqgwljpmizg8pixsgvc4blqqlaz4i9zj9";
   };
 
   inherit (sourceInfo) name version;
@@ -44,7 +44,7 @@ rec {
 
   meta = {
     description = "A game programming library";
-    license = "free-noncopyleft"; # giftware
+    license = a.lib.licenses.free; # giftware
     maintainers = with a.lib.maintainers;
     [
       raskin
@@ -54,4 +54,3 @@ rec {
     inherit version;
   };
 }) x
-
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 213b086c3cc..6d31087968c 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -43,7 +43,7 @@ rec {
   meta = {
     branch = "4";
     description = "A game programming library";
-    license = "free-noncopyleft"; # giftware
+    license = a.lib.licenses.free; # giftware
     maintainers = with a.lib.maintainers;
     [
       raskin
@@ -57,4 +57,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
new file mode 100644
index 00000000000..5cdfa4bc601
--- /dev/null
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, cmake, pkgconfig, gettext, intltool
+, xmlto, docbook_xsl, docbook_xml_dtd_45
+, glib, xapian, libxml2, libyaml, gobjectIntrospection
+}:
+
+stdenv.mkDerivation {
+  name = "appstream-0.8.0";
+
+  meta = with stdenv.lib; {
+    description = "Software metadata handling library";
+    homepage    = "http://www.freedesktop.org/wiki/Distributions/AppStream/Software/";
+    longDescription =
+    ''
+      AppStream is a cross-distro effort for building Software-Center applications
+      and enhancing metadata provided by software components.  It provides
+      specifications for meta-information which is shipped by upstream projects and
+      can be consumed by other software.
+    '';
+    license     = licenses.lgpl21Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+ };
+
+  src = fetchurl {
+    url = "https://github.com/ximion/appstream/archive/APPSTREAM_0_8_0.tar.gz";
+    sha256 = "16a3b38avrwyl1pp8jdgfjv6cd5mccbmk4asni92l40y5r0xfycr";
+  };
+
+  nativeBuildInputs = [
+    cmake pkgconfig gettext intltool
+    xmlto docbook_xsl docbook_xml_dtd_45
+    gobjectIntrospection
+  ];
+
+  buildInputs = [ glib xapian libxml2 libyaml ];
+}
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index da03ab44ecd..e504aab0848 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -2,6 +2,7 @@
 , sslSupport ? true, openssl
 , bdbSupport ? false, db
 , ldapSupport ? true, openldap
+, libiconv
 }:
 
 assert sslSupport -> openssl != null;
@@ -13,11 +14,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "apr-util-1.5.3";
+  name = "apr-util-1.5.4";
 
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
-    sha256 = "0s1rpqjy5xr03k9s4xrsm5wvhj5286vlkf6jvqayw99yy5sb3vbq";
+    sha256 = "0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6";
   };
 
   configureFlags = ''
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional sslSupport openssl;
 
-  propagatedBuildInputs = [ makeWrapper apr expat ]
+  propagatedBuildInputs = [ makeWrapper apr expat libiconv ]
     ++ optional sslSupport openssl
     ++ optional bdbSupport db
     ++ optional ldapSupport openldap;
@@ -49,5 +50,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://apr.apache.org/;
     description = "A companion library to APR, the Apache Portable Runtime";
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/apr/darwin_fix_configure.patch b/pkgs/development/libraries/apr/darwin_fix_configure.patch
deleted file mode 100644
index 84d3f207870..00000000000
--- a/pkgs/development/libraries/apr/darwin_fix_configure.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Nuar apr-1.4.6/configure apr-1.4.6-darwin-fix-configure/configure
---- apr-1.4.6/configure	2012-02-08 00:17:57.000000000 +0100
-+++ apr-1.4.6-darwin-fix-configure/configure	2012-06-06 23:08:56.000000000 +0200
-@@ -6854,10 +6854,10 @@
-     *-apple-darwin*)
- 
-   if test "x$CPPFLAGS" = "x"; then
--    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp\""
--    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
-+    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK\""
-+    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
-   else
--    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
-+    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
-     for i in $apr_addto_bugger; do
-       apr_addto_duplicate="0"
-       for j in $CPPFLAGS; do
diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix
index 23ad3261fb5..2bf39f0eb26 100644
--- a/pkgs/development/libraries/apr/default.nix
+++ b/pkgs/development/libraries/apr/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1b4qw686bwjn19iyb0lg918q23xxd6s2gnyczhjq992d3m1vwjp9";
   };
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ];
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
 
   outputs = [ "dev" "out" ];
 
diff --git a/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch b/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
new file mode 100644
index 00000000000..bbc10fabb26
--- /dev/null
+++ b/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
@@ -0,0 +1,17 @@
+--- apr-1.5.1/file_io/unix/filestat.c	2014-11-01 06:42:50.000000000 -0400
++++ apr-1.5.1/file_io/unix/filestat.c.new	2014-11-01 07:07:32.000000000 -0400
+@@ -297,9 +297,11 @@
+         finfo->pool = pool;
+         finfo->fname = fname;
+         fill_out_finfo(finfo, &info, wanted);
+-        if (wanted & APR_FINFO_LINK)
+-            wanted &= ~APR_FINFO_LINK;
+-        return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
++        if (wanted & APR_FINFO_LINK) {
++            return ((wanted & ~APR_FINFO_LINK) & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
++        } else {
++            return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
++        }
+     }
+     else {
+ #if !defined(ENOENT) || !defined(ENOTDIR)
diff --git a/pkgs/development/libraries/asio/default.nix b/pkgs/development/libraries/asio/default.nix
index b5ed6f30e34..b996069466b 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.2";
-  
+  name = "asio-1.10.6";
+
   src = fetchurl {
     url = "mirror://sourceforge/asio/${name}.tar.bz2";
-    sha256 = "1lqxm3gc8rzzjq0m843l59ggbw32bih7smm5spry1j5khfc86p41";
+    sha256 = "0phr6zq8z78dwhhzs3h27q32mcv1ffg2gyq880rw3xmilx01rmz0";
   };
 
   propagatedBuildInputs = [ boost ];
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://asio.sourceforge.net/;
     description = "Cross-platform C++ library for network and low-level I/O programming";
-    license = "boost";
+    license = stdenv.lib.licenses.boost;
   };
 
 }
diff --git a/pkgs/development/libraries/aspell/clang.patch b/pkgs/development/libraries/aspell/clang.patch
new file mode 100644
index 00000000000..c4cfa426588
--- /dev/null
+++ b/pkgs/development/libraries/aspell/clang.patch
@@ -0,0 +1,18 @@
+--- interfaces/cc/aspell.h	2013-10-13 20:29:33.000000000 +0200
++++ interfaces/cc/aspell.h	2013-10-13 20:30:01.000000000 +0200
+@@ -237,6 +237,7 @@
+ /******************************** errors ********************************/
+ 
+ 
++#ifndef __cplusplus
+ extern const struct AspellErrorInfo * const aerror_other;
+ extern const struct AspellErrorInfo * const aerror_operation_not_supported;
+ extern const struct AspellErrorInfo * const   aerror_cant_copy;
+@@ -322,6 +323,7 @@
+ extern const struct AspellErrorInfo * const   aerror_bad_magic;
+ extern const struct AspellErrorInfo * const aerror_expression;
+ extern const struct AspellErrorInfo * const   aerror_invalid_expression;
++#endif
+ 
+ 
+ /******************************* speller *******************************/
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 734bcc0797c..38d734e902c 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
   };
 
+  patchPhase = ''
+    patch interfaces/cc/aspell.h < ${./clang.patch}
+  '';
+
   buildInputs = [ perl ];
 
   doCheck = true;
@@ -31,5 +35,6 @@ stdenv.mkDerivation rec {
     homepage = http://aspell.net/;
     license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ ];
+    platforms = with stdenv.lib.platforms; all;
   };
 }
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index 79a75708c16..cc0f51eb68d 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -176,4 +176,14 @@ in {
     };
   };
 
+  sk = buildDict {
+    shortName = "sk-2.01-2";
+    fullName = "Slovak";
+    src = fetchurl {
+      url = mirror://gnu/aspell/dict/sk/aspell6-sk-2.01-2.tar.bz2;
+      sha256 = "19k0m1v5pcf7xr4lxgjkzqkdlks8nyb13bvi1n7521f3i4lhma66";
+    };
+  };
+
+
 }
diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix
new file mode 100644
index 00000000000..229db910ffd
--- /dev/null
+++ b/pkgs/development/libraries/assimp/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, unzip, cmake, boost }:
+
+let
+  major = "3";
+  minor = "1";
+  revision = "1";
+  version = "${major}.${minor}.${revision}";
+in
+stdenv.mkDerivation {
+  name = "assimp-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/assimp/assimp-${major}.${minor}/assimp-${version}_no_test_models.zip";
+    sha256 = "17nyzsqzqpafamhi779f1bkh5mfgj8rpas034x3v9a0hdy3jg66s";
+  };
+
+  buildInputs = [ unzip cmake boost ];
+
+  meta = with stdenv.lib; {
+    description = "Open Asset Import Library is a library to import various 3D model formats";
+    homepage = http://assimp.sourceforge.net/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ emery ];
+    platfroms = platforms.linux;
+    inherit version;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index 416a33b09a2..b562a2e5d3d 100644
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
                   intltool dbus_glib at_spi2_core libSM ];
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index d60a0ff7480..7128e4d3f2b 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib
 , libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   versionMajor = "2.12";
   versionMinor = "0";
   moduleName   = "at-spi2-core";
@@ -21,12 +21,10 @@ 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";
+
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
-  // stdenv.lib.optionalAttrs stdenv.isDarwin {
-    NIX_LDFLAGS = "-lintl";
-  }
-)
 
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
index df509943ba2..ef53a76d20b 100644
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ b/pkgs/development/libraries/aterm/2.5.nix
@@ -21,11 +21,13 @@ stdenv.mkDerivation {
 
   dontDisableStatic = true;
 
+  NIX_CFLAGS_COMPILE = "-D__USE_BSD";
+
   meta = {
     homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.8.nix b/pkgs/development/libraries/aterm/2.8.nix
index a153443a54e..3aa0e95305a 100644
--- a/pkgs/development/libraries/aterm/2.8.nix
+++ b/pkgs/development/libraries/aterm/2.8.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
     broken = true;
   };
 }
diff --git a/pkgs/development/libraries/audio/libsmf/default.nix b/pkgs/development/libraries/audio/libsmf/default.nix
new file mode 100644
index 00000000000..dce2e363cda
--- /dev/null
+++ b/pkgs/development/libraries/audio/libsmf/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, autoreconfHook, glib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "1.3";
+  name = "libsmf-${version}";
+  src = fetchurl {
+    url = "https://github.com/stump/libsmf/archive/${name}.tar.gz";
+    sha256 = "1527pcc1vd0l5iks2yw8m0bymcrnih2md5465lwpzw0wgy4rky7n";
+  };
+
+  buildInputs = [ autoreconfHook glib pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "A C library for reading and writing Standard MIDI Files";
+    homepage = https://github.com/stump/libsmf;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index d1510e34238..9f3307742ec 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lilv-${version}";
-  version = "0.18.0";
+  version = "0.20.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1k9wfc08ylgbkwbnvh1fx1bdzl3y59xrrx8gv0vk68yzcvcmv6am";
+    sha256 = "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord sratom ];
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index 25d19d089a5..f03f6b3d371 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lv2-${version}";
-  version = "1.8.0";
+  version = "1.10.0";
 
   src = fetchurl {
     url = "http://lv2plug.in/spec/${name}.tar.bz2";
-    sha256 = "1mxkp7gajh1alw6s358cqwf3qkpr1ld9wfxwswnqrxcd9a7hxjd4";
+    sha256 = "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378";
   };
 
   buildInputs = [ gtk libsndfile pkgconfig python ];
diff --git a/pkgs/development/libraries/audio/lvtk/default.nix b/pkgs/development/libraries/audio/lvtk/default.nix
index 7b296ea6d13..6e2b9a31b30 100644
--- a/pkgs/development/libraries/audio/lvtk/default.nix
+++ b/pkgs/development/libraries/audio/lvtk/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ boost gtkmm lv2 pkgconfig python ];
 
   configurePhase = ''
-    python waf configure --prefix=$out --boost-includes=${boost}/include
+    python waf configure --prefix=$out --boost-includes="${boost.dev}/include"
   '';
 
   buildPhase = "python waf";
diff --git a/pkgs/development/libraries/audio/raul/default.nix b/pkgs/development/libraries/audio/raul/default.nix
index aad3656cde8..269e7472280 100644
--- a/pkgs/development/libraries/audio/raul/default.nix
+++ b/pkgs/development/libraries/audio/raul/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "raul-svn-${rev}";
-  rev = "5205";
+  rev = "5449";
 
   src = fetchsvn {
     url = "http://svn.drobilla.net/lad/trunk/raul";
     rev = rev;
-    sha256 = "1rkl7vxhwf6d0qfl2ymfd1qwmh9cl1xv6kkz893xg0blpvzcdmp3";
+    sha256 = "02ph1hikp1iynwbxbiaf28brkwig7n4lsb3djaivnf14arg5vmzx";
   };
 
   buildInputs = [ boost gtk pkgconfig python ];
diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix
index ac0b9d233fa..a4ba4c16c87 100644
--- a/pkgs/development/libraries/audio/sratom/default.nix
+++ b/pkgs/development/libraries/audio/sratom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sratom-${version}";
-  version = "0.4.4";
+  version = "0.4.6";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1q4044md8nmqah8ay5mf4lgdl6x0sfa4cjqyqk9da8nqzvs2j37s";
+    sha256 = "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord ];
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index 87e03472659..f5a98750ded 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "suil-${version}";
-  version = "0.8.0";
+  version = "0.8.2";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "0y5sbgaivb03vmr3jcpzj16wqxa5h744ml4w3ylzglbxs2bqgl7n";
+    sha256 = "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq";
   };
 
   buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ];
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index 0adc7d56357..6c8fe6e112b 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
-, expat, gettext, intltool, glib, libiconvOrEmpty
+, expat, gettext, intltool, glib, libiconv
 , qt4 ? null
 , qt4Support ? false
 , withLibdnssdCompat ? false }:
@@ -16,9 +16,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./no-mkdir-localstatedir.patch ];
 
-  buildInputs = [ libdaemon dbus perl perlXMLParser glib expat ]
-    ++ (stdenv.lib.optional qt4Support qt4)
-    ++ libiconvOrEmpty;
+  buildInputs = [ libdaemon dbus perl perlXMLParser glib expat libiconv ]
+    ++ (stdenv.lib.optional qt4Support qt4);
 
   nativeBuildInputs = [ pkgconfig gettext intltool ];
 
diff --git a/pkgs/development/libraries/axis/builder.sh b/pkgs/development/libraries/axis/builder.sh
deleted file mode 100644
index d979eb9d803..00000000000
--- a/pkgs/development/libraries/axis/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-mkdir -p $out
-unpackPhase
-mv $directory/* $out
diff --git a/pkgs/development/libraries/axis/default.nix b/pkgs/development/libraries/axis/default.nix
deleted file mode 100644
index 62ae463b5fc..00000000000
--- a/pkgs/development/libraries/axis/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "axis-1.3";
-  directory = "axis-1_3";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = "http://archive.apache.org/dist/ws/axis/1_3/axis-bin-1_3.tar.gz";
-    md5 = "dd8203f08c37872f4fd2bfb45c4bfe04";
-  };
-  inherit stdenv;
-
-  meta = {
-    description = "Implementation of the SOAP (Simple Object Access Protocol) submission to W3C";
-  };
-}
diff --git a/pkgs/development/libraries/babl/0_0_22.nix b/pkgs/development/libraries/babl/0_0_22.nix
deleted file mode 100644
index 3983816a8b4..00000000000
--- a/pkgs/development/libraries/babl/0_0_22.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "babl-0.0.22";
-
-  src = fetchurl {
-    url = ftp://ftp.gtk.org/pub/babl/0.0/babl-0.0.22.tar.bz2;
-    sha256 = "0v8gbf9si4sd06199f8lfmrsbvi6i0hxphd34kyvsj6g2kkkg10s";
-  };
-
-  meta = { 
-    description = "Image pixel format conversion library";
-    homepage = http://gegl.org/babl/;
-    license = stdenv.lib.licenses.gpl3;
-  };
-}
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 473df8819c0..f5de02e22bb 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.10";
+  name = "babl-0.1.12";
 
   src = fetchurl {
-    url = "ftp://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
-    sha256 = "943fc36ceac7dd25bc928256bc7b535a42989c6b971578146869eee5fe5955f4";
+    url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
+    sha256 = "01x4an6zixrhn0vibkxpcb7gg348gadydq8gpw82rdqp39zjp01g";
   };
 
   meta = { 
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
new file mode 100644
index 00000000000..6dc1b5241f2
--- /dev/null
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, libantlr3c, jre, polarssl }:
+
+let
+  # We must use antlr-3.4 with belle-sip-1.4.0
+  # We might be able to use antlr-3.5+ in the future
+  antlr = fetchurl {
+    url = "http://www.antlr3.org/download/antlr-3.4-complete.jar";
+    sha256 = "1xqbam8vf04q5fasb0m2n1pn5dbp2yw763sj492ncq04c5mqcglx";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "belle-sip-1.4.0";
+
+  src = fetchurl {
+    url = "mirror://savannah/linphone/belle-sip/${name}.tar.gz";
+    sha256 = "1lwxfvwvclbh0bfwf69jrknqzqh1igzm293wwwbmq4kn8c5fiypz";
+  };
+
+  nativeBuildInputs = [ jre ];
+
+  # belle-sip.pc doesn't have a library path for antlr3c or polarssl
+  propagatedBuildInputs = [ libantlr3c polarssl ];
+
+  postPatch = ''
+    mkdir -p $TMPDIR/share/java
+    cp ${antlr} $TMPDIR/share/java/antlr.jar
+
+    sed -i "s,\(antlr_java_prefixes=\).*,\1\"$TMPDIR/share/java\"," configure
+    cat configure | grep antlr_java
+  '';
+
+  configureFlags = [
+    "--with-polarssl=${polarssl}"
+  ];
+
+  enableParallelBuild = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.linphone.org/index.php/eng;
+    description = "A Voice-over-IP phone";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/blitz/blitz-gcc47.patch b/pkgs/development/libraries/blitz/blitz-gcc47.patch
new file mode 100644
index 00000000000..d0b35665567
--- /dev/null
+++ b/pkgs/development/libraries/blitz/blitz-gcc47.patch
@@ -0,0 +1,33 @@
+diff -ur blitz-0.10/blitz/bzdebug.h blitz-0.10.new/blitz/bzdebug.h
+--- blitz-0.10/blitz/bzdebug.h	2012-05-11 22:11:13.000000000 +0200
++++ blitz-0.10.new/blitz/bzdebug.h	2012-06-28 15:42:38.060656045 +0200
+@@ -117,15 +117,15 @@
+     }
+   }
+ 
+-    #define BZASSERT(X)        checkAssert(X, __FILE__, __LINE__)
+-    #define BZPRECONDITION(X)  checkAssert(X, __FILE__, __LINE__)
+-    #define BZPOSTCONDITION(X) checkAssert(X, __FILE__, __LINE__)
+-    #define BZSTATECHECK(X,Y)  checkAssert(X == Y, __FILE__, __LINE__)
++    #define BZASSERT(X)        blitz::checkAssert(X, __FILE__, __LINE__)
++    #define BZPRECONDITION(X)  blitz::checkAssert(X, __FILE__, __LINE__)
++    #define BZPOSTCONDITION(X) blitz::checkAssert(X, __FILE__, __LINE__)
++    #define BZSTATECHECK(X,Y)  blitz::checkAssert(X == Y, __FILE__, __LINE__)
+     #define BZPRECHECK(X,Y)                                    \
+         {                                                      \
+             if ((assertFailMode == false) && (!(X)))           \
+                 BZ_STD_SCOPE(cerr) << Y << BZ_STD_SCOPE(endl); \
+-            checkAssert(X, __FILE__, __LINE__);                \
++            blitz::checkAssert(X, __FILE__, __LINE__);                \
+         }
+ 
+     #define BZ_DEBUG_MESSAGE(X)                                          \
+@@ -138,7 +138,7 @@
+         }
+ 
+     #define BZ_DEBUG_PARAM(X) X
+-    #define BZ_PRE_FAIL        checkAssert(0)
++    #define BZ_PRE_FAIL        blitz::checkAssert(0)
+     #define BZ_ASM_DEBUG_MARKER
+ 
+ #elif defined(BZ_DEBUG)
diff --git a/pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch b/pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch
new file mode 100644
index 00000000000..fcff8685a08
--- /dev/null
+++ b/pkgs/development/libraries/blitz/blitz-testsuite-stencil-et.patch
@@ -0,0 +1,13 @@
+diff --git a/testsuite/stencil-et.cpp b/testsuite/stencil-et.cpp
+index b23e979..fe6b5ed 100644
+--- a/testsuite/stencil-et.cpp
++++ b/testsuite/stencil-et.cpp
+@@ -44,7 +44,7 @@ void test_expr(const T1& d1, const T2& d2)
+   BZTEST(all(d1==d2));
+ }
+ */
+-#define test_expr(d1,d2) BZTEST(all((d1)==(d2)));
++#define test_expr(d1,d2) BZTEST(all((d1)-(d2)<=1e-7));
+ 
+ // Test two vector expressions for equality
+ template<typename T1, typename T2>
diff --git a/pkgs/development/libraries/blitz/default.nix b/pkgs/development/libraries/blitz/default.nix
new file mode 100644
index 00000000000..a64a8bd5943
--- /dev/null
+++ b/pkgs/development/libraries/blitz/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchurl, pkgconfig, gfortran, texinfo
+
+# Select SIMD alignment width (in bytes) for vectorization.
+, simdWidth ? 1
+
+# Pad arrays to simdWidth by default?
+# Note: Only useful if simdWidth > 1
+, enablePadding ? false
+
+# Activate serialization through Boost.Serialize?
+, enableSerialization ? true, boost ? null
+
+# Activate test-suite?
+# WARNING: Some of the tests require up to 1700MB of memory to compile.
+, doCheck ? true
+
+}:
+
+assert enableSerialization -> boost != null;
+
+let
+  inherit (stdenv.lib) optional optionals optionalString;
+in
+
+stdenv.mkDerivation rec {
+  name = "blitz++-0.10";
+  src = fetchurl {
+    url = mirror://sourceforge/blitz/blitz-0.10.tar.gz;
+    sha256 = "153g9sncir6ip9l7ssl6bhc4qzh0qr3lx2d15qm68hqxj7kg0kl0";
+  };
+
+  patches = [ ./blitz-gcc47.patch ./blitz-testsuite-stencil-et.patch ];
+
+  buildInputs = [ pkgconfig gfortran texinfo ]
+    ++ optional (boost != null) boost
+    ;
+
+  configureFlags =
+    [ "--enable-shared"
+      "--disable-static"
+      "--enable-fortran"
+      "--enable-optimize"
+      "--with-pic=yes"
+      "--enable-html-docs"
+      "--disable-doxygen"
+      "--disable-dot"
+      "--disable-latex-docs"
+      "--enable-simd-width=${toString simdWidth}"
+    ]
+    ++ optional enablePadding "--enable-array-length-padding"
+    ++ optional enableSerialization "--enable-serialization"
+    ++ optionals (boost != null) [ "--with-boost=${boost.dev}"
+                                   "--with-boost-libdir=${boost.lib}/lib" ]
+    ++ optional stdenv.is64bit "--enable-64bit"
+    ;
+
+  enableParallelBuilding = true;
+
+  buildFlags = "lib info pdf html";
+  installTargets = [ "install" "install-info" "install-pdf" "install-html" ];
+
+  inherit doCheck;
+  checkTarget = "check-testsuite check-examples";
+
+  meta = {
+    description = "Fast multi-dimensional array library for C++";
+    homepage = http://sourceforge.net/projects/blitz/;
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.aherrmann ];
+
+    longDescription = ''
+      Blitz++ is a C++ class library for scientific computing which provides
+      performance on par with Fortran 77/90. It uses template techniques to
+      achieve high performance. Blitz++ provides dense arrays and vectors,
+      random number generators, and small vectors (useful for representing
+      multicomponent or vector fields).
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 26748c5d44b..08937019547 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, enableLargeConfig ? false }:
 
 stdenv.mkDerivation rec {
   name = "boehm-gc-7.2f";
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" "doc" ];
 
-  configureFlags = "--enable-cplusplus";
+  configureFlags =
+    [ "--enable-cplusplus" ]
+    ++ lib.optional enableLargeConfig "--enable-large-config";
 
   doCheck = true;
 
@@ -43,12 +45,12 @@ stdenv.mkDerivation rec {
       C or C++ programs, though that is not its primary goal.
     '';
 
-    homepage = http://www.hpl.hp.com/personal/Hans_Boehm/gc/;
+    homepage = http://hboehm.info/gc/;
 
     # non-copyleft, X11-style license
-    license = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt";
+    license = http://hboehm.info/gc/license.txt;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/boost-process/default.nix b/pkgs/development/libraries/boost-process/default.nix
new file mode 100644
index 00000000000..59d25a76732
--- /dev/null
+++ b/pkgs/development/libraries/boost-process/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation {
+  name = "boost-process-0.5";
+
+  src = fetchurl {
+    url = "http://www.highscore.de/boost/process0.5/process.zip";
+    sha256 = "1v9y9pffb2b7p642kp9ic4z6kg42ziizmyvbgrqd1ci0i4gn0831";
+  };
+
+  buildInputs = [ unzip ];
+
+  unpackPhase = ''
+    mkdir $name
+    cd $name
+    unzip $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp -r boost $out/include
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.highscore.de/boost/process0.5/";
+    description = "Library to manage system processes";
+    license = "boost-license";
+    platforms = platforms.unix;
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/development/libraries/boost/1.44.nix b/pkgs/development/libraries/boost/1.44.nix
deleted file mode 100644
index c192acd23bd..00000000000
--- a/pkgs/development/libraries/boost/1.44.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
-, enableRelease ? true
-, enableDebug ? false
-, enableSingleThreaded ? false
-, enableMultiThreaded ? true
-, enableShared ? true
-, enableStatic ? false
-, enablePIC ? false
-, taggedLayout ? false
-}:
-
-let
-
-  variant = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableRelease "release" ++
-     stdenv.lib.optional enableDebug "debug");
-
-  threading = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableSingleThreaded "single" ++
-     stdenv.lib.optional enableMultiThreaded "multi");
-
-  link = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableShared "shared" ++
-     stdenv.lib.optional enableStatic "static");
-
-  # To avoid library name collisions
-  finalLayout = if (taggedLayout || (enableRelease && enableDebug) ||
-    (enableSingleThreaded && enableMultiThreaded) ||
-    (enableShared && enableStatic)) then
-    "tagged" else "system";
-
-  cflags = if enablePIC then "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC" else "";
-
-in
-
-stdenv.mkDerivation {
-  name = "boost-1.44.0";
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Collection of C++ libraries";
-    license = "boost-license";
-
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_44_0.tar.bz2";
-    sha256 = "1nvq36mvzr1fr85q0jh86rk3bk65s1y55jgqgzfg3lcpkl12ihs5";
-  };
-
-  enableParallelBuilding = true;
-
-  buildInputs = [icu expat zlib bzip2 python];
-
-  configureScript = "./bootstrap.sh";
-  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
-
-  buildPhase = "./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
-
-  installPhase = ":";
-
-  patches = [
-    # Patch to get rid of following error, experienced by some packages like encfs, bitcoin:
-    #    terminate called after throwing an instance of 'std::runtime_error'
-    #    what():  locale::facet::_S_create_c_locale name not valid
-    (fetchurl {
-       url = https://svn.boost.org/trac/boost/raw-attachment/ticket/4688/boost_filesystem.patch ;
-       sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d";
-     })
-    ./time_utc_144.patch
-    ./boost-149-cstdint.patch
-  ];
-
-  crossAttrs = rec {
-    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
-    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
-    # override them.
-    propagatedBuildInputs = buildInputs;
-    # We want to substitute the contents of configureFlags, removing thus the
-    # usual --build and --host added on cross building.
-    preConfigure = ''
-      export configureFlags="--prefix=$out --without-icu"
-    '';
-    buildPhase = ''
-      set -x
-      cat << EOF > user-config.jam
-      using gcc : cross : $crossConfig-g++ ;
-      EOF
-      ./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix
deleted file mode 100644
index 9e61683238f..00000000000
--- a/pkgs/development/libraries/boost/1.49.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
-, enableRelease ? true
-, enableDebug ? false
-, enableSingleThreaded ? false
-, enableMultiThreaded ? true
-, enableShared ? true
-, enableStatic ? false
-, enablePIC ? false
-, enableExceptions ? false
-}:
-
-let
-
-  variant = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableRelease "release" ++
-     stdenv.lib.optional enableDebug "debug");
-
-  threading = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableSingleThreaded "single" ++
-     stdenv.lib.optional enableMultiThreaded "multi");
-
-  link = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableShared "shared" ++
-     stdenv.lib.optional enableStatic "static");
-
-  # To avoid library name collisions
-  finalLayout = if ((enableRelease && enableDebug) ||
-    (enableSingleThreaded && enableMultiThreaded) ||
-    (enableShared && enableStatic)) then
-    "tagged" else "system";
-
-  cflags = if enablePIC && enableExceptions then
-             "cflags=-fPIC -fexceptions cxxflags=-fPIC linkflags=-fPIC"
-           else if enablePIC then
-             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
-           else if enableExceptions then
-             "cflags=-fexceptions"
-           else
-             "";
-in
-
-stdenv.mkDerivation {
-  name = "boost-1.49.0";
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Collection of C++ libraries";
-    license = "boost-license";
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_49_0.tar.bz2";
-    sha256 = "0g0d33942rm073jgqqvj3znm3rk45b2y2lplfjpyg9q7amzqlx6x";
-  };
-
-  # See <http://svn.boost.org/trac/boost/ticket/4688>.
-  patches = [
-    ./CVE-2013-0252.patch # https://svn.boost.org/trac/boost/ticket/7743
-    ./boost_filesystem_post_1_49_0.patch
-    ./time_utc.patch
-    ./boost-149-cstdint.patch
-  ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch );
-
-  enableParallelBuilding = true;
-
-  buildInputs = [icu expat zlib bzip2 python];
-
-  configureScript = "./bootstrap.sh";
-  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
-
-  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
-
-  installPhase = ":";
-
-  crossAttrs = rec {
-    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
-    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
-    # override them.
-    propagatedBuildInputs = buildInputs;
-    # We want to substitute the contents of configureFlags, removing thus the
-    # usual --build and --host added on cross building.
-    preConfigure = ''
-      export configureFlags="--prefix=$out --without-icu"
-    '';
-    buildPhase = ''
-      set -x
-      cat << EOF > user-config.jam
-      using gcc : cross : $crossConfig-g++ ;
-      EOF
-      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix
index 1e9d2134d12..a10cd8ce220 100644
--- a/pkgs/development/libraries/boost/1.55.nix
+++ b/pkgs/development/libraries/boost/1.55.nix
@@ -1,99 +1,12 @@
-{ stdenv, fetchurl, icu, expat, zlib, bzip2, python, fixDarwinDylibNames
-, toolset ? null
-, enableRelease ? true
-, enableDebug ? false
-, enableSingleThreaded ? false
-, enableMultiThreaded ? true
-, enableShared ? true
-, enableStatic ? false
-, enablePIC ? false
-, enableExceptions ? false
-, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
-}:
+{ callPackage, fetchurl, ... } @ args:
 
-let
+callPackage ./generic.nix (args // rec {
+  version = "1.55.0";
 
-  variant = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableRelease "release" ++
-     stdenv.lib.optional enableDebug "debug");
-
-  threading = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableSingleThreaded "single" ++
-     stdenv.lib.optional enableMultiThreaded "multi");
-
-  link = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableShared "shared" ++
-     stdenv.lib.optional enableStatic "static");
-
-  # To avoid library name collisions
-  layout = if taggedLayout then "tagged" else "system";
-
-  cflags = if enablePIC && enableExceptions then
-             "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC"
-           else if enablePIC then
-             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
-           else if enableExceptions then
-             "cflags=-fexceptions"
-           else
-             "";
-
-  withToolset = stdenv.lib.optionalString (toolset != null) " --with-toolset=${toolset}";
-in
-
-stdenv.mkDerivation {
-  name = "boost-1.55.0";
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Collection of C++ libraries";
-    license = "boost-license";
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
+  patches = [ ./clang-math.patch ./clang-math-2.patch ];
 
   src = fetchurl {
     url = "mirror://sourceforge/boost/boost_1_55_0.tar.bz2";
     sha256 = "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z";
   };
-
-  enableParallelBuilding = true;
-
-  buildInputs =
-    [ icu expat zlib bzip2 python ]
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
-
-  configureScript = "./bootstrap.sh";
-  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python" + withToolset;
-
-  buildPhase = "${stdenv.lib.optionalString (toolset == "clang") "unset NIX_ENFORCE_PURITY; "}./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install${withToolset}";
-
-  # normal install does not install bjam, this is a separate step
-  installPhase = ''
-    cd tools/build/v2
-    sh bootstrap.sh${withToolset}
-    ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install${withToolset}
-    rm $out/bin/bjam
-    ln -s $out/bin/b2 $out/bin/bjam
-    rm -rf $out/share/boost-build/example
-  '';
-
-  crossAttrs = rec {
-    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
-    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
-    # override them.
-    propagatedBuildInputs = buildInputs;
-    # We want to substitute the contents of configureFlags, removing thus the
-    # usual --build and --host added on cross building.
-    preConfigure = ''
-      export configureFlags="--prefix=$out --without-icu"
-    '';
-    buildPhase = ''
-      set -x
-      cat << EOF > user-config.jam
-      using gcc : cross : $crossConfig-g++ ;
-      EOF
-      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${layout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
-    '';
-  };
-}
+})
diff --git a/pkgs/development/libraries/boost/1.56.nix b/pkgs/development/libraries/boost/1.56.nix
new file mode 100644
index 00000000000..fb62c2a07fa
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.56.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.56.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_56_0.tar.bz2";
+    sha256 = "07gz62nj767qzwqm3xjh11znpyph8gcii0cqhnx7wvismyn34iqk";
+  };
+})
diff --git a/pkgs/development/libraries/boost/1.57.nix b/pkgs/development/libraries/boost/1.57.nix
new file mode 100644
index 00000000000..6393c6e0d30
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.57.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.57.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_57_0.tar.bz2";
+    sha256 = "0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i";
+  };
+})
diff --git a/pkgs/development/libraries/boost/CVE-2013-0252.patch b/pkgs/development/libraries/boost/CVE-2013-0252.patch
deleted file mode 100644
index fce52d47969..00000000000
--- a/pkgs/development/libraries/boost/CVE-2013-0252.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Index: /boost/locale/utf.hpp

-===================================================================

---- /boost/locale/utf.hpp	(revision 78304)

-+++ /boost/locale/utf.hpp	(revision 81590)

-@@ -220,4 +220,6 @@

-                     return incomplete;

-                 tmp = *p++;

-+                if (!is_trail(tmp))

-+                    return illegal;

-                 c = (c << 6) | ( tmp & 0x3F);

-             case 2:

-@@ -225,4 +227,6 @@

-                     return incomplete;

-                 tmp = *p++;

-+                if (!is_trail(tmp))

-+                    return illegal;

-                 c = (c << 6) | ( tmp & 0x3F);

-             case 1:

-@@ -230,4 +234,6 @@

-                     return incomplete;

-                 tmp = *p++;

-+                if (!is_trail(tmp))

-+                    return illegal;

-                 c = (c << 6) | ( tmp & 0x3F);

-             }

-Index: /libs/locale/test/test_codepage_converter.cpp

-===================================================================

---- /libs/locale/test/test_codepage_converter.cpp	(revision 73786)

-+++ /libs/locale/test/test_codepage_converter.cpp	(revision 81590)

-@@ -140,4 +140,18 @@

-         TEST_TO("\xf8\x90\x80\x80\x80",illegal);  // 400 0000

-         TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal);  // 7fff ffff

-+

-+        std::cout << "-- Invalid trail" << std::endl;

-+        TEST_TO("\xC2\x7F",illegal);

-+        TEST_TO("\xdf\x7F",illegal);

-+        TEST_TO("\xe0\x7F\x80",illegal);

-+        TEST_TO("\xef\xbf\x7F",illegal);

-+        TEST_TO("\xe0\x7F\x80",illegal);

-+        TEST_TO("\xef\xbf\x7F",illegal);

-+        TEST_TO("\xf0\x7F\x80\x80",illegal);

-+        TEST_TO("\xf4\x7f\xbf\xbf",illegal);

-+        TEST_TO("\xf0\x90\x7F\x80",illegal);

-+        TEST_TO("\xf4\x8f\x7F\xbf",illegal);

-+        TEST_TO("\xf0\x90\x80\x7F",illegal);

-+        TEST_TO("\xf4\x8f\xbf\x7F",illegal);

- 

-         std::cout << "-- Invalid length" << std::endl;

diff --git a/pkgs/development/libraries/boost/boost-149-cstdint.patch b/pkgs/development/libraries/boost/boost-149-cstdint.patch
deleted file mode 100644
index 94c7b471666..00000000000
--- a/pkgs/development/libraries/boost/boost-149-cstdint.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ru -x '*~' boost_1_49_0-orig/boost/cstdint.hpp boost_1_49_0/boost/cstdint.hpp
---- boost_1_49_0-orig/boost/cstdint.hpp	2012-01-29 22:58:13.000000000 +0100
-+++ boost_1_49_0/boost/cstdint.hpp	2013-12-10 11:48:19.304042208 +0100
-@@ -41,7 +41,10 @@
- // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
- // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
- //
--#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
-+#if defined(BOOST_HAS_STDINT_H)					\
-+  && (!defined(__GLIBC__)					\
-+      || defined(__GLIBC_HAVE_LONG_LONG)			\
-+      || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
- 
- // The following #include is an implementation artifact; not part of interface.
- # ifdef __hpux
diff --git a/pkgs/development/libraries/boost/boost-149-darwin.patch b/pkgs/development/libraries/boost/boost-149-darwin.patch
deleted file mode 100644
index 2485f883afc..00000000000
--- a/pkgs/development/libraries/boost/boost-149-darwin.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -rc boost_1_49_0/tools/build/v2/tools/darwin.jam boost_1_49_0-new/tools/build/v2/tools/darwin.jam
-*** boost_1_49_0/tools/build/v2/tools/darwin.jam	Mon Jun  6 22:36:21 2011
---- boost_1_49_0-new/tools/build/v2/tools/darwin.jam	Thu May 23 22:07:45 2013
-***************
-*** 498,504 ****
-  flags darwin.compile OPTIONS <link>shared : -dynamic ;
-  
-  # Misc options.
-! flags darwin.compile OPTIONS : -no-cpp-precomp -gdwarf-2 -fexceptions ;
-  #~ flags darwin.link OPTIONS : -fexceptions ;
-  
-  # Add the framework names to use.
---- 498,504 ----
-  flags darwin.compile OPTIONS <link>shared : -dynamic ;
-  
-  # Misc options.
-! flags darwin.compile OPTIONS : -gdwarf-2 -fexceptions ;
-  #~ flags darwin.link OPTIONS : -fexceptions ;
-  
-  # Add the framework names to use.
-diff -rc boost_1_49_0/tools/build/v2/tools/darwin.py boost_1_49_0-new/tools/build/v2/tools/darwin.py
-*** boost_1_49_0/tools/build/v2/tools/darwin.py	Wed Oct 28 08:47:51 2009
---- boost_1_49_0-new/tools/build/v2/tools/darwin.py	Thu May 23 21:58:12 2013
-***************
-*** 37,43 ****
-  feature.feature ('framework', [], ['free'])
-  
-  toolset.flags ('darwin.compile', 'OPTIONS', '<link>shared', ['-dynamic'])
-! toolset.flags ('darwin.compile', 'OPTIONS', None, ['-Wno-long-double', '-no-cpp-precomp'])
-  toolset.flags ('darwin.compile.c++', 'OPTIONS', None, ['-fcoalesce-templates'])
-  
-  toolset.flags ('darwin.link', 'FRAMEWORK', '<framework>')
---- 37,43 ----
-  feature.feature ('framework', [], ['free'])
-  
-  toolset.flags ('darwin.compile', 'OPTIONS', '<link>shared', ['-dynamic'])
-! toolset.flags ('darwin.compile', 'OPTIONS', None, ['-Wno-long-double'])
-  toolset.flags ('darwin.compile.c++', 'OPTIONS', None, ['-fcoalesce-templates'])
-  
-  toolset.flags ('darwin.link', 'FRAMEWORK', '<framework>')
diff --git a/pkgs/development/libraries/boost/boost-155-clang.patch b/pkgs/development/libraries/boost/boost-155-clang.patch
new file mode 100644
index 00000000000..9c4e3a74cd2
--- /dev/null
+++ b/pkgs/development/libraries/boost/boost-155-clang.patch
@@ -0,0 +1,90 @@
+diff --git a/boost/atomic/detail/cas128strong.hpp b/boost/atomic/detail/cas128strong.hpp
+index 906c13e..dcb4d7d 100644
+--- a/boost/atomic/detail/cas128strong.hpp
++++ b/boost/atomic/detail/cas128strong.hpp
+@@ -196,15 +196,17 @@ class base_atomic<T, void, 16, Sign>
+ 
+ public:
+     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
+-    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
++    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
+     {
++        memset(&v_, 0, sizeof(v_));
+         memcpy(&v_, &v, sizeof(value_type));
+     }
+ 
+     void
+     store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
+     {
+-        storage_type value_s = 0;
++        storage_type value_s;
++        memset(&value_s, 0, sizeof(value_s));
+         memcpy(&value_s, &value, sizeof(value_type));
+         platform_fence_before_store(order);
+         platform_store128(value_s, &v_);
+@@ -247,7 +249,9 @@ class base_atomic<T, void, 16, Sign>
+         memory_order success_order,
+         memory_order failure_order) volatile BOOST_NOEXCEPT
+     {
+-        storage_type expected_s = 0, desired_s = 0;
++        storage_type expected_s, desired_s;
++        memset(&expected_s, 0, sizeof(expected_s));
++        memset(&desired_s, 0, sizeof(desired_s));
+         memcpy(&expected_s, &expected, sizeof(value_type));
+         memcpy(&desired_s, &desired, sizeof(value_type));
+
+diff --git a/boost/atomic/detail/gcc-atomic.hpp b/boost/atomic/detail/gcc-atomic.hpp
+index a130590..4af99a1 100644
+--- a/boost/atomic/detail/gcc-atomic.hpp
++++ b/boost/atomic/detail/gcc-atomic.hpp
+@@ -958,14 +958,16 @@ class base_atomic<T, void, 16, Sign>
+ 
+ public:
+     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
+-    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
++    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
+     {
++        memset(&v_, 0, sizeof(v_));
+         memcpy(&v_, &v, sizeof(value_type));
+     }
+ 
+     void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
+     {
+-        storage_type tmp = 0;
++        storage_type tmp;
++        memset(&tmp, 0, sizeof(tmp));
+         memcpy(&tmp, &v, sizeof(value_type));
+         __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
+     }
+@@ -980,7 +982,8 @@ class base_atomic<T, void, 16, Sign>
+ 
+     value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
+     {
+-        storage_type tmp = 0;
++        storage_type tmp;
++        memset(&tmp, 0, sizeof(tmp));
+         memcpy(&tmp, &v, sizeof(value_type));
+         tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
+         value_type res;
+@@ -994,7 +997,9 @@ class base_atomic<T, void, 16, Sign>
+         memory_order success_order,
+         memory_order failure_order) volatile BOOST_NOEXCEPT
+     {
+-        storage_type expected_s = 0, desired_s = 0;
++        storage_type expected_s, desired_s;
++        memset(&expected_s, 0, sizeof(expected_s));
++        memset(&desired_s, 0, sizeof(desired_s));
+         memcpy(&expected_s, &expected, sizeof(value_type));
+         memcpy(&desired_s, &desired, sizeof(value_type));
+         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false,
+@@ -1010,7 +1015,9 @@ class base_atomic<T, void, 16, Sign>
+         memory_order success_order,
+         memory_order failure_order) volatile BOOST_NOEXCEPT
+     {
+-        storage_type expected_s = 0, desired_s = 0;
++        storage_type expected_s, desired_s;
++        memset(&expected_s, 0, sizeof(expected_s));
++        memset(&desired_s, 0, sizeof(desired_s));
+         memcpy(&expected_s, &expected, sizeof(value_type));
+         memcpy(&desired_s, &desired, sizeof(value_type));
+         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true,
diff --git a/pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch b/pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch
deleted file mode 100644
index 334533d98a6..00000000000
--- a/pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ubr boost_1_49_0/libs/filesystem/v2/src/v2_path.cpp boost_1_49_0-patched/libs/filesystem/v2/src/v2_path.cpp
---- boost_1_49_0/libs/filesystem/v2/src/v2_path.cpp	2011-01-11 22:39:33.000000000 +0100
-+++ boost_1_49_0-patched/libs/filesystem/v2/src/v2_path.cpp	2012-02-25 20:00:33.628767485 +0100
-@@ -45,7 +45,7 @@
-   {
- #if !defined(macintosh) && !defined(__APPLE__) && !defined(__APPLE_CC__) 
-     // ISO C calls this "the locale-specific native environment":
--    static std::locale lc("");
-+    static std::locale lc;
- #else  // Mac OS
-     // "All BSD system functions expect their string parameters to be in UTF-8 encoding
-     // and nothing else."
diff --git a/pkgs/development/libraries/boost/clang-math-2.patch b/pkgs/development/libraries/boost/clang-math-2.patch
new file mode 100644
index 00000000000..f819e9bec62
--- /dev/null
+++ b/pkgs/development/libraries/boost/clang-math-2.patch
@@ -0,0 +1,45 @@
+From 6bb71fdd8f7cc346d90fb14beb38b7297fc1ffd9 Mon Sep 17 00:00:00 2001
+From: Andrey Semashev <andrey.semashev@gmail.com>
+Date: Sun, 26 Jan 2014 13:58:48 +0400
+Subject: [PATCH] Fixed incorrect initialization of 128-bit values, when no
+ native support for 128-bit integers is available.
+
+---
+ boost/atomic/detail/cas128strong.hpp | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/boost/atomic/detail/cas128strong.hpp b/boost/atomic/detail/cas128strong.hpp
+index 906c13e..dcb4d7d 100644
+--- a/boost/atomic/detail/cas128strong.hpp
++++ b/boost/atomic/detail/cas128strong.hpp
+@@ -196,15 +196,17 @@ class base_atomic<T, void, 16, Sign>
+ 
+ public:
+     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
+-    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
++    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
+     {
++        memset(&v_, 0, sizeof(v_));
+         memcpy(&v_, &v, sizeof(value_type));
+     }
+ 
+     void
+     store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
+     {
+-        storage_type value_s = 0;
++        storage_type value_s;
++        memset(&value_s, 0, sizeof(value_s));
+         memcpy(&value_s, &value, sizeof(value_type));
+         platform_fence_before_store(order);
+         platform_store128(value_s, &v_);
+@@ -247,7 +249,9 @@ class base_atomic<T, void, 16, Sign>
+         memory_order success_order,
+         memory_order failure_order) volatile BOOST_NOEXCEPT
+     {
+-        storage_type expected_s = 0, desired_s = 0;
++        storage_type expected_s, desired_s;
++        memset(&expected_s, 0, sizeof(expected_s));
++        memset(&desired_s, 0, sizeof(desired_s));
+         memcpy(&expected_s, &expected, sizeof(value_type));
+         memcpy(&desired_s, &desired, sizeof(value_type));
+ 
diff --git a/pkgs/development/libraries/boost/clang-math.patch b/pkgs/development/libraries/boost/clang-math.patch
new file mode 100644
index 00000000000..aa3d76af28b
--- /dev/null
+++ b/pkgs/development/libraries/boost/clang-math.patch
@@ -0,0 +1,65 @@
+From e4bde20f2eec0a51be14533871d2123bd2ab9cf3 Mon Sep 17 00:00:00 2001
+From: Andrey Semashev <andrey.semashev@gmail.com>
+Date: Fri, 28 Feb 2014 12:43:11 +0400
+Subject: [PATCH] More compilation fixes for the case when 128-bit integers are
+ not supported.
+
+---
+ boost/atomic/detail/gcc-atomic.hpp | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/boost/atomic/detail/gcc-atomic.hpp b/boost/atomic/detail/gcc-atomic.hpp
+index a130590..4af99a1 100644
+--- a/boost/atomic/detail/gcc-atomic.hpp
++++ b/boost/atomic/detail/gcc-atomic.hpp
+@@ -958,14 +958,16 @@ class base_atomic<T, void, 16, Sign>
+ 
+ public:
+     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
+-    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
++    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
+     {
++        memset(&v_, 0, sizeof(v_));
+         memcpy(&v_, &v, sizeof(value_type));
+     }
+ 
+     void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
+     {
+-        storage_type tmp = 0;
++        storage_type tmp;
++        memset(&tmp, 0, sizeof(tmp));
+         memcpy(&tmp, &v, sizeof(value_type));
+         __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
+     }
+@@ -980,7 +982,8 @@ class base_atomic<T, void, 16, Sign>
+ 
+     value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
+     {
+-        storage_type tmp = 0;
++        storage_type tmp;
++        memset(&tmp, 0, sizeof(tmp));
+         memcpy(&tmp, &v, sizeof(value_type));
+         tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
+         value_type res;
+@@ -994,7 +997,9 @@ class base_atomic<T, void, 16, Sign>
+         memory_order success_order,
+         memory_order failure_order) volatile BOOST_NOEXCEPT
+     {
+-        storage_type expected_s = 0, desired_s = 0;
++        storage_type expected_s, desired_s;
++        memset(&expected_s, 0, sizeof(expected_s));
++        memset(&desired_s, 0, sizeof(desired_s));
+         memcpy(&expected_s, &expected, sizeof(value_type));
+         memcpy(&desired_s, &desired, sizeof(value_type));
+         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false,
+@@ -1010,7 +1015,9 @@ class base_atomic<T, void, 16, Sign>
+         memory_order success_order,
+         memory_order failure_order) volatile BOOST_NOEXCEPT
+     {
+-        storage_type expected_s = 0, desired_s = 0;
++        storage_type expected_s, desired_s;
++        memset(&expected_s, 0, sizeof(expected_s));
++        memset(&desired_s, 0, sizeof(desired_s));
+         memcpy(&expected_s, &expected, sizeof(value_type));
+         memcpy(&desired_s, &desired, sizeof(value_type));
+         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true,
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
new file mode 100644
index 00000000000..464f244dda3
--- /dev/null
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -0,0 +1,181 @@
+{ stdenv, icu, expat, zlib, bzip2, python, fixDarwinDylibNames
+, toolset ? if stdenv.isDarwin then "clang" else null
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+, enableExceptions ? false
+, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
+, patches ? null
+, mpi ? null
+
+# Attributes inherit from specific versions
+, version, src
+, ...
+}:
+
+# We must build at least one type of libraries
+assert !enableShared -> enableStatic;
+
+with stdenv.lib;
+let
+
+  variant = concatStringsSep ","
+    (optional enableRelease "release" ++
+     optional enableDebug "debug");
+
+  threading = concatStringsSep ","
+    (optional enableSingleThreaded "single" ++
+     optional enableMultiThreaded "multi");
+
+  link = concatStringsSep ","
+    (optional enableShared "shared" ++
+     optional enableStatic "static");
+
+  runtime-link = if enableShared then "shared" else "static";
+
+  # To avoid library name collisions
+  layout = if taggedLayout then "tagged" else "system";
+
+  cflags = if enablePIC && enableExceptions then
+             "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC"
+           else if enablePIC then
+             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
+           else if enableExceptions then
+             "cflags=-fexceptions"
+           else
+             "";
+
+  withToolset = stdenv.lib.optionalString (toolset != null) "--with-toolset=${toolset}";
+
+  genericB2Flags = [
+    "--includedir=$dev/include"
+    "--libdir=$lib/lib"
+    "-j$NIX_BUILD_CORES"
+    "--layout=${layout}"
+    "variant=${variant}"
+    "threading=${threading}"
+    "runtime-link=${runtime-link}"
+    "link=${link}"
+    "${cflags}"
+  ] ++ optional (variant == "release") "debug-symbols=off";
+
+  nativeB2Flags = [
+    "-sEXPAT_INCLUDE=${expat}/include"
+    "-sEXPAT_LIBPATH=${expat}/lib"
+  ] ++ optional (toolset != null) "toolset=${toolset}"
+    ++ optional (mpi != null) "--user-config=user-config.jam";
+  nativeB2Args = concatStringsSep " " (genericB2Flags ++ nativeB2Flags);
+
+  crossB2Flags = [
+    "-sEXPAT_INCLUDE=${expat.crossDrv}/include"
+    "-sEXPAT_LIBPATH=${expat.crossDrv}/lib"
+    "--user-config=user-config.jam"
+    "toolset=gcc-cross"
+    "--without-python"
+  ];
+  crossB2Args = concatMapStringsSep " " (genericB2Flags ++ crossB2Flags);
+
+  builder = b2Args: ''
+    ./b2 ${b2Args}
+  '';
+
+  installer = b2Args: ''
+    # boostbook is needed by some applications
+    mkdir -p $dev/share/boostbook
+    cp -a tools/boostbook/{xsl,dtd} $dev/share/boostbook/
+
+    # Let boost install everything else
+    ./b2 ${b2Args} install
+
+    # Create a derivation which encompasses everything, making buildInputs nicer
+    mkdir -p $out/nix-support
+    echo "$dev $lib" > $out/nix-support/propagated-native-build-inputs
+  '';
+
+  commonConfigureFlags = [
+    "--includedir=$(dev)/include"
+    "--libdir=$(lib)/lib"
+  ];
+
+  fixup = ''
+    # Make boost header paths relative so that they are not runtime dependencies
+    (
+      cd "$dev"
+      find include \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \
+        -exec sed '1i#line 1 "{}"' -i '{}' \;
+    )
+  '';
+
+in
+
+stdenv.mkDerivation {
+  name = "boost-${version}";
+
+  inherit src patches;
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Collection of C++ libraries";
+    license = stdenv.lib.licenses.boost;
+
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ simons wkennington ];
+  };
+
+  preConfigure = ''
+    NIX_LDFLAGS="$(echo $NIX_LDFLAGS | sed "s,$out,$lib,g")"
+    if test -f tools/build/src/tools/clang-darwin.jam ; then
+        substituteInPlace tools/build/src/tools/clang-darwin.jam \
+          --replace '$(<[1]:D=)' "$lib/lib/\$(<[1]:D=)";
+    fi;
+  '' + optionalString (mpi != null) ''
+    cat << EOF > user-config.jam
+    using mpi : ${mpi}/bin/mpiCC ;
+    EOF
+  '';
+
+  NIX_CFLAGS_LINK = stdenv.lib.optionalString stdenv.isDarwin
+                      "-headerpad_max_install_names";
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ icu expat zlib bzip2 python ]
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = commonConfigureFlags ++ [
+    "--with-icu=${icu}"
+    "--with-python=${python}/bin/python"
+  ] ++ optional (toolset != null) "--with-toolset=${toolset}";
+
+  buildPhase = builder nativeB2Args;
+
+  installPhase = installer nativeB2Args;
+
+  postFixup = fixup;
+
+  outputs = [ "out" "dev" "lib" ];
+
+  crossAttrs = rec {
+    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
+    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
+    # override them.
+    propagatedBuildInputs = buildInputs;
+    # We want to substitute the contents of configureFlags, removing thus the
+    # usual --build and --host added on cross building.
+    preConfigure = ''
+      export configureFlags="--without-icu ${concatStringsSep " " commonConfigureFlags}"
+      set -x
+      cat << EOF > user-config.jam
+      using gcc : cross : $crossConfig-g++ ;
+      EOF
+    '';
+    buildPhase = builder crossB2Args;
+    installPhase = installer crossB2Args;
+    postFixup = fixup;
+  };
+}
diff --git a/pkgs/development/libraries/boost/header-only-wrapper.nix b/pkgs/development/libraries/boost/header-only-wrapper.nix
deleted file mode 100644
index 96c9216a371..00000000000
--- a/pkgs/development/libraries/boost/header-only-wrapper.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, boost }:
-
-let
-  version = stdenv.lib.removePrefix "boost-" boost.name;
-  pkgid = stdenv.lib.replaceChars ["-" "."] ["_" "_"] boost.name;
-in
-
-stdenv.mkDerivation {
-  name = "boost-headers-${version}";
-
-  src = boost.src;
-
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out/include
-    tar xf $src -C $out/include --strip-components=1 ${pkgid}/boost
-  '';
-
-  preferLocalBuild = true;
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Boost C++ Library Collection";
-    license = "boost-license";
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.viric stdenv.lib.maintainers.simons ];
-  };
-}
diff --git a/pkgs/development/libraries/boost/time_utc.patch b/pkgs/development/libraries/boost/time_utc.patch
deleted file mode 100644
index 3585d0bfc6d..00000000000
--- a/pkgs/development/libraries/boost/time_utc.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-From: https://build.opensuse.org/package/view_file?file=boost-time_utc.patch&package=boost&project=Application%3AGeo
-
-From: https://svn.boost.org/trac/boost/changeset/78802
-
-Message:
-    Thread: fix TIME_UTC, WINVER, constexpr for tags, and don't use local files
-
-Only the TIME_UTC_ change is taken
- 
-Index: boost_1_49_0/boost/thread/xtime.hpp
-===================================================================
---- boost_1_49_0.orig/boost/thread/xtime.hpp
-+++ boost_1_49_0/boost/thread/xtime.hpp
-@@ -2,7 +2,7 @@
- // William E. Kempf
- // Copyright (C) 2007-8 Anthony Williams
- //
--//  Distributed under the Boost Software License, Version 1.0. (See accompanying 
-+//  Distributed under the Boost Software License, Version 1.0. (See accompanying
- //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- 
- #ifndef BOOST_XTIME_WEK070601_HPP
-@@ -20,7 +20,7 @@ namespace boost {
- 
- enum xtime_clock_types
- {
--    TIME_UTC=1
-+    TIME_UTC_=1
- //    TIME_TAI,
- //    TIME_MONOTONIC,
- //    TIME_PROCESS,
-@@ -53,14 +53,14 @@ struct xtime
-         boost::posix_time::microseconds((nsec+500)/1000);
- #endif
-     }
--    
-+
- };
- 
- inline xtime get_xtime(boost::system_time const& abs_time)
- {
-     xtime res;
-     boost::posix_time::time_duration const time_since_epoch=abs_time-boost::posix_time::from_time_t(0);
--            
-+
-     res.sec=static_cast<xtime::xtime_sec_t>(time_since_epoch.total_seconds());
-     res.nsec=static_cast<xtime::xtime_nsec_t>(time_since_epoch.fractional_seconds()*(1000000000/time_since_epoch.ticks_per_second()));
-     return res;
-@@ -68,7 +68,7 @@ inline xtime get_xtime(boost::system_tim
- 
- inline int xtime_get(struct xtime* xtp, int clock_type)
- {
--    if (clock_type == TIME_UTC)
-+    if (clock_type == TIME_UTC_)
-     {
-         *xtp=get_xtime(get_system_time());
-         return clock_type;
-@@ -81,7 +81,7 @@ inline int xtime_cmp(const xtime& xt1, c
- {
-     if (xt1.sec == xt2.sec)
-         return (int)(xt1.nsec - xt2.nsec);
--    else 
-+    else
-         return (xt1.sec > xt2.sec) ? 1 : -1;
- }
- 
-Index: boost_1_49_0/libs/thread/example/starvephil.cpp
-===================================================================
---- boost_1_49_0.orig/libs/thread/example/starvephil.cpp
-+++ boost_1_49_0/libs/thread/example/starvephil.cpp
-@@ -50,7 +50,7 @@ public:
-                       << "very hot ..." << std::endl;
-         }
-         boost::xtime xt;
--        boost::xtime_get(&xt, boost::TIME_UTC);
-+        boost::xtime_get(&xt, boost::TIME_UTC_);
-         xt.sec += 3;
-         boost::thread::sleep(xt);
-         m_chickens += value;
-@@ -85,7 +85,7 @@ void chef()
-             std::cout << "(" << clock() << ") Chef: cooking ..." << std::endl;
-         }
-         boost::xtime xt;
--        boost::xtime_get(&xt, boost::TIME_UTC);
-+        boost::xtime_get(&xt, boost::TIME_UTC_);
-         xt.sec += 2;
-         boost::thread::sleep(xt);
-         {
-@@ -111,7 +111,7 @@ struct phil
-             if (m_id > 0)
-             {
-                 boost::xtime xt;
--                boost::xtime_get(&xt, boost::TIME_UTC);
-+                boost::xtime_get(&xt, boost::TIME_UTC_);
-                 xt.sec += 3;
-                 boost::thread::sleep(xt);
-             }
-Index: boost_1_49_0/libs/thread/example/tennis.cpp
-===================================================================
---- boost_1_49_0.orig/libs/thread/example/tennis.cpp
-+++ boost_1_49_0/libs/thread/example/tennis.cpp
-@@ -1,7 +1,7 @@
- // Copyright (C) 2001-2003
- // William E. Kempf
- //
--//  Distributed under the Boost Software License, Version 1.0. (See accompanying 
-+//  Distributed under the Boost Software License, Version 1.0. (See accompanying
- //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- 
- #include <boost/thread/mutex.hpp>
-@@ -104,7 +104,7 @@ int main(int argc, char* argv[])
-     boost::thread thrdb(thread_adapter(&player, (void*)PLAYER_B));
- 
-     boost::xtime xt;
--    boost::xtime_get(&xt, boost::TIME_UTC);
-+    boost::xtime_get(&xt, boost::TIME_UTC_);
-     xt.sec += 1;
-     boost::thread::sleep(xt);
-     {
-Index: boost_1_49_0/libs/thread/example/thread.cpp
-===================================================================
---- boost_1_49_0.orig/libs/thread/example/thread.cpp
-+++ boost_1_49_0/libs/thread/example/thread.cpp
-@@ -14,7 +14,7 @@ struct thread_alarm
-     void operator()()
-     {
-         boost::xtime xt;
--        boost::xtime_get(&xt, boost::TIME_UTC);
-+        boost::xtime_get(&xt, boost::TIME_UTC_);
-         xt.sec += m_secs;
- 
-         boost::thread::sleep(xt);
-Index: boost_1_49_0/libs/thread/example/xtime.cpp
-===================================================================
---- boost_1_49_0.orig/libs/thread/example/xtime.cpp
-+++ boost_1_49_0/libs/thread/example/xtime.cpp
-@@ -10,7 +10,7 @@
- int main(int argc, char* argv[])
- {
-     boost::xtime xt;
--    boost::xtime_get(&xt, boost::TIME_UTC);
-+    boost::xtime_get(&xt, boost::TIME_UTC_);
-     xt.sec += 1;
-     boost::thread::sleep(xt); // Sleep for 1 second
- }
-Index: boost_1_49_0/libs/thread/src/pthread/thread.cpp
-===================================================================
---- boost_1_49_0.orig/libs/thread/src/pthread/thread.cpp
-+++ boost_1_49_0/libs/thread/src/pthread/thread.cpp
-@@ -23,7 +23,7 @@
- #include <unistd.h>
- #endif
- 
--#include "timeconv.inl"
-+#include <libs/thread/src/pthread/timeconv.inl>
- 
- namespace boost
- {
-@@ -354,7 +354,7 @@ namespace boost
-                     cond.timed_wait(lock, xt);
- #   endif
-                     xtime cur;
--                    xtime_get(&cur, TIME_UTC);
-+                    xtime_get(&cur, TIME_UTC_);
-                     if (xtime_cmp(xt, cur) <= 0)
-                         return;
-                 }
-@@ -369,7 +369,7 @@ namespace boost
-             BOOST_VERIFY(!pthread_yield());
- #   else
-             xtime xt;
--            xtime_get(&xt, TIME_UTC);
-+            xtime_get(&xt, TIME_UTC_);
-             sleep(xt);
- #   endif
-         }
-Index: boost_1_49_0/libs/thread/src/pthread/timeconv.inl
-===================================================================
---- boost_1_49_0.orig/libs/thread/src/pthread/timeconv.inl
-+++ boost_1_49_0/libs/thread/src/pthread/timeconv.inl
-@@ -20,8 +20,8 @@ const int NANOSECONDS_PER_MICROSECOND =
- inline void to_time(int milliseconds, boost::xtime& xt)
- {
-     int res = 0;
--    res = boost::xtime_get(&xt, boost::TIME_UTC);
--    BOOST_ASSERT(res == boost::TIME_UTC); (void)res;
-+    res = boost::xtime_get(&xt, boost::TIME_UTC_);
-+    BOOST_ASSERT(res == boost::TIME_UTC_); (void)res;
- 
-     xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
-     xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
-@@ -56,8 +56,8 @@ inline void to_timespec_duration(const b
- {
-     boost::xtime cur;
-     int res = 0;
--    res = boost::xtime_get(&cur, boost::TIME_UTC);
--    BOOST_ASSERT(res == boost::TIME_UTC); (void)res;
-+    res = boost::xtime_get(&cur, boost::TIME_UTC_);
-+    BOOST_ASSERT(res == boost::TIME_UTC_); (void)res;
- 
-     if (boost::xtime_cmp(xt, cur) <= 0)
-     {
-@@ -87,8 +87,8 @@ inline void to_duration(boost::xtime xt,
- {
-     boost::xtime cur;
-     int res = 0;
--    res = boost::xtime_get(&cur, boost::TIME_UTC);
--    BOOST_ASSERT(res == boost::TIME_UTC); (void)res;
-+    res = boost::xtime_get(&cur, boost::TIME_UTC_);
-+    BOOST_ASSERT(res == boost::TIME_UTC_); (void)res;
- 
-     if (boost::xtime_cmp(xt, cur) <= 0)
-         milliseconds = 0;
-@@ -109,8 +109,8 @@ inline void to_microduration(boost::xtim
- {
-     boost::xtime cur;
-     int res = 0;
--    res = boost::xtime_get(&cur, boost::TIME_UTC);
--    BOOST_ASSERT(res == boost::TIME_UTC); (void)res;
-+    res = boost::xtime_get(&cur, boost::TIME_UTC_);
-+    BOOST_ASSERT(res == boost::TIME_UTC_); (void)res;
- 
-     if (boost::xtime_cmp(xt, cur) <= 0)
-         microseconds = 0;
-Index: boost_1_49_0/libs/thread/src/win32/timeconv.inl
-===================================================================
---- boost_1_49_0.orig/libs/thread/src/win32/timeconv.inl
-+++ boost_1_49_0/libs/thread/src/win32/timeconv.inl
-@@ -17,8 +17,8 @@ const int NANOSECONDS_PER_MICROSECOND =
- inline void to_time(int milliseconds, boost::xtime& xt)
- {
-     int res = 0;
--    res = boost::xtime_get(&xt, boost::TIME_UTC);
--    assert(res == boost::TIME_UTC);
-+    res = boost::xtime_get(&xt, boost::TIME_UTC_);
-+    assert(res == boost::TIME_UTC_);
- 
-     xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
-     xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
-@@ -54,8 +54,8 @@ inline void to_timespec_duration(const b
- {
-     boost::xtime cur;
-     int res = 0;
--    res = boost::xtime_get(&cur, boost::TIME_UTC);
--    assert(res == boost::TIME_UTC);
-+    res = boost::xtime_get(&cur, boost::TIME_UTC_);
-+    assert(res == boost::TIME_UTC_);
- 
-     if (boost::xtime_cmp(xt, cur) <= 0)
-     {
-@@ -85,8 +85,8 @@ inline void to_duration(boost::xtime xt,
- {
-     boost::xtime cur;
-     int res = 0;
--    res = boost::xtime_get(&cur, boost::TIME_UTC);
--    assert(res == boost::TIME_UTC);
-+    res = boost::xtime_get(&cur, boost::TIME_UTC_);
-+    assert(res == boost::TIME_UTC_);
- 
-     if (boost::xtime_cmp(xt, cur) <= 0)
-         milliseconds = 0;
-@@ -107,8 +107,8 @@ inline void to_microduration(boost::xtim
- {
-     boost::xtime cur;
-     int res = 0;
--    res = boost::xtime_get(&cur, boost::TIME_UTC);
--    assert(res == boost::TIME_UTC);
-+    res = boost::xtime_get(&cur, boost::TIME_UTC_);
-+    assert(res == boost::TIME_UTC_);
- 
-     if (boost::xtime_cmp(xt, cur) <= 0)
-         microseconds = 0;
-Index: boost_1_49_0/libs/thread/test/test_xtime.cpp
-===================================================================
---- boost_1_49_0.orig/libs/thread/test/test_xtime.cpp
-+++ boost_1_49_0/libs/thread/test/test_xtime.cpp
-@@ -17,8 +17,8 @@ void test_xtime_cmp()
- {
-     boost::xtime xt1, xt2, cur;
-     BOOST_CHECK_EQUAL(
--        boost::xtime_get(&cur, boost::TIME_UTC),
--        static_cast<int>(boost::TIME_UTC));
-+        boost::xtime_get(&cur, boost::TIME_UTC_),
-+        static_cast<int>(boost::TIME_UTC_));
- 
-     xt1 = xt2 = cur;
-     xt1.nsec -= 1;
-@@ -42,14 +42,14 @@ void test_xtime_get()
-     boost::xtime orig, cur, old;
-     BOOST_CHECK_EQUAL(
-         boost::xtime_get(&orig,
--            boost::TIME_UTC), static_cast<int>(boost::TIME_UTC));
-+            boost::TIME_UTC_), static_cast<int>(boost::TIME_UTC_));
-     old = orig;
- 
-     for (int x=0; x < 100; ++x)
-     {
-         BOOST_CHECK_EQUAL(
--            boost::xtime_get(&cur, boost::TIME_UTC),
--            static_cast<int>(boost::TIME_UTC));
-+            boost::xtime_get(&cur, boost::TIME_UTC_),
-+            static_cast<int>(boost::TIME_UTC_));
-         BOOST_CHECK(boost::xtime_cmp(cur, orig) >= 0);
-         BOOST_CHECK(boost::xtime_cmp(cur, old) >= 0);
-         old = cur;
-Index: boost_1_49_0/libs/thread/test/util.inl
-===================================================================
---- boost_1_49_0.orig/libs/thread/test/util.inl
-+++ boost_1_49_0/libs/thread/test/util.inl
-@@ -28,8 +28,8 @@ inline boost::xtime delay(int secs, int
-     const int NANOSECONDS_PER_MILLISECOND = 1000000;
- 
-     boost::xtime xt;
--    if (boost::TIME_UTC != boost::xtime_get (&xt, boost::TIME_UTC))
--        BOOST_ERROR ("boost::xtime_get != boost::TIME_UTC");
-+    if (boost::TIME_UTC_ != boost::xtime_get (&xt, boost::TIME_UTC_))
-+        BOOST_ERROR ("boost::xtime_get != boost::TIME_UTC_");
- 
-     nsecs += xt.nsec;
-     msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
diff --git a/pkgs/development/libraries/boost/time_utc_144.patch b/pkgs/development/libraries/boost/time_utc_144.patch
deleted file mode 100644
index 512832c1829..00000000000
--- a/pkgs/development/libraries/boost/time_utc_144.patch
+++ /dev/null
@@ -1,520 +0,0 @@
-diff -rc boost_1_44_0/boost/thread/xtime.hpp boost_1_44_0-new/boost/thread/xtime.hpp
-*** boost_1_44_0/boost/thread/xtime.hpp	2008-06-18 15:01:08.000000000 +0200
---- boost_1_44_0-new/boost/thread/xtime.hpp	2013-04-12 14:00:27.125713549 +0200
-***************
-*** 20,26 ****
-  
-  enum xtime_clock_types
-  {
-!     TIME_UTC=1
-  //    TIME_TAI,
-  //    TIME_MONOTONIC,
-  //    TIME_PROCESS,
---- 20,26 ----
-  
-  enum xtime_clock_types
-  {
-!     TIME_UTC_=1
-  //    TIME_TAI,
-  //    TIME_MONOTONIC,
-  //    TIME_PROCESS,
-***************
-*** 68,74 ****
-  
-  inline int xtime_get(struct xtime* xtp, int clock_type)
-  {
-!     if (clock_type == TIME_UTC)
-      {
-          *xtp=get_xtime(get_system_time());
-          return clock_type;
---- 68,74 ----
-  
-  inline int xtime_get(struct xtime* xtp, int clock_type)
-  {
-!     if (clock_type == TIME_UTC_)
-      {
-          *xtp=get_xtime(get_system_time());
-          return clock_type;
-diff -rc boost_1_44_0/libs/interprocess/test/condition_test_template.hpp boost_1_44_0-new/libs/interprocess/test/condition_test_template.hpp
-*** boost_1_44_0/libs/interprocess/test/condition_test_template.hpp	2009-10-15 20:45:53.000000000 +0200
---- boost_1_44_0-new/libs/interprocess/test/condition_test_template.hpp	2013-04-12 14:00:20.215658855 +0200
-***************
-*** 49,56 ****
-      const int NANOSECONDS_PER_MILLISECOND = 1000000;
-  
-      boost::xtime xt;
-!     int ret = boost::xtime_get(&xt, boost::TIME_UTC);
-!     assert(ret == static_cast<int>(boost::TIME_UTC));(void)ret;
-      nsecs += xt.nsec;
-      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
-      secs += msecs / MILLISECONDS_PER_SECOND;
---- 49,56 ----
-      const int NANOSECONDS_PER_MILLISECOND = 1000000;
-  
-      boost::xtime xt;
-!     int ret = boost::xtime_get(&xt, boost::TIME_UTC_);
-!     assert(ret == static_cast<int>(boost::TIME_UTC_));(void)ret;
-      nsecs += xt.nsec;
-      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
-      secs += msecs / MILLISECONDS_PER_SECOND;
-diff -rc boost_1_44_0/libs/interprocess/test/util.hpp boost_1_44_0-new/libs/interprocess/test/util.hpp
-*** boost_1_44_0/libs/interprocess/test/util.hpp	2009-10-15 20:45:53.000000000 +0200
---- boost_1_44_0-new/libs/interprocess/test/util.hpp	2013-04-12 14:00:20.219658887 +0200
-***************
-*** 71,77 ****
-  boost::xtime xsecs(int secs)
-  {
-     boost::xtime ret;
-!    boost::xtime_get(&ret, boost::TIME_UTC);
-     ret.sec += secs;
-     return ret;
-  }
---- 71,77 ----
-  boost::xtime xsecs(int secs)
-  {
-     boost::xtime ret;
-!    boost::xtime_get(&ret, boost::TIME_UTC_);
-     ret.sec += secs;
-     return ret;
-  }
-diff -rc boost_1_44_0/libs/spirit/classic/test/grammar_mt_tests.cpp boost_1_44_0-new/libs/spirit/classic/test/grammar_mt_tests.cpp
-*** boost_1_44_0/libs/spirit/classic/test/grammar_mt_tests.cpp	2008-06-22 17:05:38.000000000 +0200
---- boost_1_44_0-new/libs/spirit/classic/test/grammar_mt_tests.cpp	2013-04-12 14:00:18.836647940 +0200
-***************
-*** 70,76 ****
-  {
-      static long const nanoseconds_per_second = 1000L*1000L*1000L;
-      boost::xtime xt;
-!     boost::xtime_get(&xt, boost::TIME_UTC);
-      xt.nsec+=1000*1000*milliseconds;
-      while (xt.nsec > nanoseconds_per_second)
-      {
---- 70,76 ----
-  {
-      static long const nanoseconds_per_second = 1000L*1000L*1000L;
-      boost::xtime xt;
-!     boost::xtime_get(&xt, boost::TIME_UTC_);
-      xt.nsec+=1000*1000*milliseconds;
-      while (xt.nsec > nanoseconds_per_second)
-      {
-diff -rc boost_1_44_0/libs/spirit/classic/test/owi_mt_tests.cpp boost_1_44_0-new/libs/spirit/classic/test/owi_mt_tests.cpp
-*** boost_1_44_0/libs/spirit/classic/test/owi_mt_tests.cpp	2008-06-22 17:05:38.000000000 +0200
---- boost_1_44_0-new/libs/spirit/classic/test/owi_mt_tests.cpp	2013-04-12 14:00:18.836647940 +0200
-***************
-*** 86,92 ****
-              return test_size;
-  
-          boost::xtime now;
-!         boost::xtime_get(&now, boost::TIME_UTC);
-          unsigned long seconds = now.sec - start_time.sec;
-          if (seconds < 4)
-          {
---- 86,92 ----
-              return test_size;
-  
-          boost::xtime now;
-!         boost::xtime_get(&now, boost::TIME_UTC_);
-          unsigned long seconds = now.sec - start_time.sec;
-          if (seconds < 4)
-          {
-***************
-*** 187,193 ****
-  void concurrent_creation_of_objects()
-  {
-      {
-!         boost::xtime_get(&start_time, boost::TIME_UTC);
-          boost::thread thread1(callable_ref(test1));
-          boost::thread thread2(callable_ref(test2));
-          boost::thread thread3(callable_ref(test3));
---- 187,193 ----
-  void concurrent_creation_of_objects()
-  {
-      {
-!         boost::xtime_get(&start_time, boost::TIME_UTC_);
-          boost::thread thread1(callable_ref(test1));
-          boost::thread thread2(callable_ref(test2));
-          boost::thread thread3(callable_ref(test3));
-diff -rc boost_1_44_0/libs/thread/example/starvephil.cpp boost_1_44_0-new/libs/thread/example/starvephil.cpp
-*** boost_1_44_0/libs/thread/example/starvephil.cpp	2006-09-14 23:51:01.000000000 +0200
---- boost_1_44_0-new/libs/thread/example/starvephil.cpp	2013-04-12 14:00:19.413652507 +0200
-***************
-*** 50,56 ****
-                        << "very hot ..." << std::endl;
-          }
-          boost::xtime xt;
-!         boost::xtime_get(&xt, boost::TIME_UTC);
-          xt.sec += 3;
-          boost::thread::sleep(xt);
-          m_chickens += value;
---- 50,56 ----
-                        << "very hot ..." << std::endl;
-          }
-          boost::xtime xt;
-!         boost::xtime_get(&xt, boost::TIME_UTC_);
-          xt.sec += 3;
-          boost::thread::sleep(xt);
-          m_chickens += value;
-***************
-*** 85,91 ****
-              std::cout << "(" << clock() << ") Chef: cooking ..." << std::endl;
-          }
-          boost::xtime xt;
-!         boost::xtime_get(&xt, boost::TIME_UTC);
-          xt.sec += 2;
-          boost::thread::sleep(xt);
-          {
---- 85,91 ----
-              std::cout << "(" << clock() << ") Chef: cooking ..." << std::endl;
-          }
-          boost::xtime xt;
-!         boost::xtime_get(&xt, boost::TIME_UTC_);
-          xt.sec += 2;
-          boost::thread::sleep(xt);
-          {
-***************
-*** 111,117 ****
-              if (m_id > 0)
-              {
-                  boost::xtime xt;
-!                 boost::xtime_get(&xt, boost::TIME_UTC);
-                  xt.sec += 3;
-                  boost::thread::sleep(xt);
-              }
---- 111,117 ----
-              if (m_id > 0)
-              {
-                  boost::xtime xt;
-!                 boost::xtime_get(&xt, boost::TIME_UTC_);
-                  xt.sec += 3;
-                  boost::thread::sleep(xt);
-              }
-diff -rc boost_1_44_0/libs/thread/example/tennis.cpp boost_1_44_0-new/libs/thread/example/tennis.cpp
-*** boost_1_44_0/libs/thread/example/tennis.cpp	2009-10-19 11:18:13.000000000 +0200
---- boost_1_44_0-new/libs/thread/example/tennis.cpp	2013-04-12 14:00:19.412652499 +0200
-***************
-*** 104,110 ****
-      boost::thread thrdb(thread_adapter(&player, (void*)PLAYER_B));
-  
-      boost::xtime xt;
-!     boost::xtime_get(&xt, boost::TIME_UTC);
-      xt.sec += 1;
-      boost::thread::sleep(xt);
-      {
---- 104,110 ----
-      boost::thread thrdb(thread_adapter(&player, (void*)PLAYER_B));
-  
-      boost::xtime xt;
-!     boost::xtime_get(&xt, boost::TIME_UTC_);
-      xt.sec += 1;
-      boost::thread::sleep(xt);
-      {
-diff -rc boost_1_44_0/libs/thread/example/thread.cpp boost_1_44_0-new/libs/thread/example/thread.cpp
-*** boost_1_44_0/libs/thread/example/thread.cpp	2006-09-14 23:51:01.000000000 +0200
---- boost_1_44_0-new/libs/thread/example/thread.cpp	2013-04-12 14:00:19.414652515 +0200
-***************
-*** 14,20 ****
-      void operator()()
-      {
-          boost::xtime xt;
-!         boost::xtime_get(&xt, boost::TIME_UTC);
-          xt.sec += m_secs;
-  
-          boost::thread::sleep(xt);
---- 14,20 ----
-      void operator()()
-      {
-          boost::xtime xt;
-!         boost::xtime_get(&xt, boost::TIME_UTC_);
-          xt.sec += m_secs;
-  
-          boost::thread::sleep(xt);
-diff -rc boost_1_44_0/libs/thread/example/xtime.cpp boost_1_44_0-new/libs/thread/example/xtime.cpp
-*** boost_1_44_0/libs/thread/example/xtime.cpp	2006-09-14 23:51:01.000000000 +0200
---- boost_1_44_0-new/libs/thread/example/xtime.cpp	2013-04-12 14:00:19.413652507 +0200
-***************
-*** 10,16 ****
-  int main(int argc, char* argv[])
-  {
-      boost::xtime xt;
-!     boost::xtime_get(&xt, boost::TIME_UTC);
-      xt.sec += 1;
-      boost::thread::sleep(xt); // Sleep for 1 second
-  }
---- 10,16 ----
-  int main(int argc, char* argv[])
-  {
-      boost::xtime xt;
-!     boost::xtime_get(&xt, boost::TIME_UTC_);
-      xt.sec += 1;
-      boost::thread::sleep(xt); // Sleep for 1 second
-  }
-diff -rc boost_1_44_0/libs/thread/src/pthread/thread.cpp boost_1_44_0-new/libs/thread/src/pthread/thread.cpp
-*** boost_1_44_0/libs/thread/src/pthread/thread.cpp	2010-07-09 21:13:09.000000000 +0200
---- boost_1_44_0-new/libs/thread/src/pthread/thread.cpp	2013-04-12 14:00:19.415652523 +0200
-***************
-*** 350,356 ****
-                      cond.timed_wait(lock, xt);
-  #   endif
-                      xtime cur;
-!                     xtime_get(&cur, TIME_UTC);
-                      if (xtime_cmp(xt, cur) <= 0)
-                          return;
-                  }
---- 350,356 ----
-                      cond.timed_wait(lock, xt);
-  #   endif
-                      xtime cur;
-!                     xtime_get(&cur, TIME_UTC_);
-                      if (xtime_cmp(xt, cur) <= 0)
-                          return;
-                  }
-***************
-*** 365,371 ****
-              BOOST_VERIFY(!pthread_yield());
-  #   else
-              xtime xt;
-!             xtime_get(&xt, TIME_UTC);
-              sleep(xt);
-  #   endif
-          }
---- 365,371 ----
-              BOOST_VERIFY(!pthread_yield());
-  #   else
-              xtime xt;
-!             xtime_get(&xt, TIME_UTC_);
-              sleep(xt);
-  #   endif
-          }
-diff -rc boost_1_44_0/libs/thread/src/pthread/timeconv.inl boost_1_44_0-new/libs/thread/src/pthread/timeconv.inl
-*** boost_1_44_0/libs/thread/src/pthread/timeconv.inl	2010-04-01 17:04:15.000000000 +0200
---- boost_1_44_0-new/libs/thread/src/pthread/timeconv.inl	2013-04-12 14:00:19.414652515 +0200
-***************
-*** 20,27 ****
-  inline void to_time(int milliseconds, boost::xtime& xt)
-  {
-      int res = 0;
-!     res = boost::xtime_get(&xt, boost::TIME_UTC);
-!     BOOST_ASSERT(res == boost::TIME_UTC);
-  
-      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
-      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
---- 20,27 ----
-  inline void to_time(int milliseconds, boost::xtime& xt)
-  {
-      int res = 0;
-!     res = boost::xtime_get(&xt, boost::TIME_UTC_);
-!     BOOST_ASSERT(res == boost::TIME_UTC_);
-  
-      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
-      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
-***************
-*** 57,64 ****
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC);
-!     BOOST_ASSERT(res == boost::TIME_UTC);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-      {
---- 57,64 ----
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
-!     BOOST_ASSERT(res == boost::TIME_UTC_);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-      {
-***************
-*** 88,95 ****
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC);
-!     BOOST_ASSERT(res == boost::TIME_UTC);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          milliseconds = 0;
---- 88,95 ----
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
-!     BOOST_ASSERT(res == boost::TIME_UTC_);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          milliseconds = 0;
-***************
-*** 110,117 ****
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC);
-!     BOOST_ASSERT(res == boost::TIME_UTC);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          microseconds = 0;
---- 110,117 ----
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
-!     BOOST_ASSERT(res == boost::TIME_UTC_);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          microseconds = 0;
-diff -rc boost_1_44_0/libs/thread/src/win32/timeconv.inl boost_1_44_0-new/libs/thread/src/win32/timeconv.inl
-*** boost_1_44_0/libs/thread/src/win32/timeconv.inl	2007-11-25 19:38:02.000000000 +0100
---- boost_1_44_0-new/libs/thread/src/win32/timeconv.inl	2013-04-12 14:00:19.416652531 +0200
-***************
-*** 17,24 ****
-  inline void to_time(int milliseconds, boost::xtime& xt)
-  {
-      int res = 0;
-!     res = boost::xtime_get(&xt, boost::TIME_UTC);
-!     assert(res == boost::TIME_UTC);
-  
-      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
-      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
---- 17,24 ----
-  inline void to_time(int milliseconds, boost::xtime& xt)
-  {
-      int res = 0;
-!     res = boost::xtime_get(&xt, boost::TIME_UTC_);
-!     assert(res == boost::TIME_UTC_);
-  
-      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
-      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
-***************
-*** 54,61 ****
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC);
-!     assert(res == boost::TIME_UTC);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-      {
---- 54,61 ----
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
-!     assert(res == boost::TIME_UTC_);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-      {
-***************
-*** 85,92 ****
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC);
-!     assert(res == boost::TIME_UTC);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          milliseconds = 0;
---- 85,92 ----
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
-!     assert(res == boost::TIME_UTC_);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          milliseconds = 0;
-***************
-*** 107,114 ****
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC);
-!     assert(res == boost::TIME_UTC);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          microseconds = 0;
---- 107,114 ----
-  {
-      boost::xtime cur;
-      int res = 0;
-!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
-!     assert(res == boost::TIME_UTC_);
-  
-      if (boost::xtime_cmp(xt, cur) <= 0)
-          microseconds = 0;
-diff -rc boost_1_44_0/libs/thread/test/test_xtime.cpp boost_1_44_0-new/libs/thread/test/test_xtime.cpp
-*** boost_1_44_0/libs/thread/test/test_xtime.cpp	2008-07-08 09:44:55.000000000 +0200
---- boost_1_44_0-new/libs/thread/test/test_xtime.cpp	2013-04-12 14:00:19.432652657 +0200
-***************
-*** 17,24 ****
-  {
-      boost::xtime xt1, xt2, cur;
-      BOOST_CHECK_EQUAL(
-!         boost::xtime_get(&cur, boost::TIME_UTC),
-!         static_cast<int>(boost::TIME_UTC));
-  
-      xt1 = xt2 = cur;
-      xt1.nsec -= 1;
---- 17,24 ----
-  {
-      boost::xtime xt1, xt2, cur;
-      BOOST_CHECK_EQUAL(
-!         boost::xtime_get(&cur, boost::TIME_UTC_),
-!         static_cast<int>(boost::TIME_UTC_));
-  
-      xt1 = xt2 = cur;
-      xt1.nsec -= 1;
-***************
-*** 42,55 ****
-      boost::xtime orig, cur, old;
-      BOOST_CHECK_EQUAL(
-          boost::xtime_get(&orig,
-!             boost::TIME_UTC), static_cast<int>(boost::TIME_UTC));
-      old = orig;
-  
-      for (int x=0; x < 100; ++x)
-      {
-          BOOST_CHECK_EQUAL(
-!             boost::xtime_get(&cur, boost::TIME_UTC),
-!             static_cast<int>(boost::TIME_UTC));
-          BOOST_CHECK(boost::xtime_cmp(cur, orig) >= 0);
-          BOOST_CHECK(boost::xtime_cmp(cur, old) >= 0);
-          old = cur;
---- 42,55 ----
-      boost::xtime orig, cur, old;
-      BOOST_CHECK_EQUAL(
-          boost::xtime_get(&orig,
-!             boost::TIME_UTC_), static_cast<int>(boost::TIME_UTC));
-      old = orig;
-  
-      for (int x=0; x < 100; ++x)
-      {
-          BOOST_CHECK_EQUAL(
-!             boost::xtime_get(&cur, boost::TIME_UTC_),
-!             static_cast<int>(boost::TIME_UTC_));
-          BOOST_CHECK(boost::xtime_cmp(cur, orig) >= 0);
-          BOOST_CHECK(boost::xtime_cmp(cur, old) >= 0);
-          old = cur;
-diff -rc boost_1_44_0/libs/thread/test/util.inl boost_1_44_0-new/libs/thread/test/util.inl
-*** boost_1_44_0/libs/thread/test/util.inl	2008-11-03 23:29:39.000000000 +0100
---- boost_1_44_0-new/libs/thread/test/util.inl	2013-04-12 14:00:19.433652665 +0200
-***************
-*** 28,35 ****
-      const int NANOSECONDS_PER_MILLISECOND = 1000000;
-  
-      boost::xtime xt;
-!     if (boost::TIME_UTC != boost::xtime_get (&xt, boost::TIME_UTC))
-!         BOOST_ERROR ("boost::xtime_get != boost::TIME_UTC");
-  
-      nsecs += xt.nsec;
-      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
---- 28,35 ----
-      const int NANOSECONDS_PER_MILLISECOND = 1000000;
-  
-      boost::xtime xt;
-!     if (boost::TIME_UTC_ != boost::xtime_get (&xt, boost::TIME_UTC))
-!         BOOST_ERROR ("boost::xtime_get != boost::TIME_UTC_");
-  
-      nsecs += xt.nsec;
-      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix
index a4ea804b776..b2500d1f49b 100644
--- a/pkgs/development/libraries/boringssl/default.nix
+++ b/pkgs/development/libraries/boringssl/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake perl ];
   enableParallelBuilding = true;
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
 
   installPhase = ''
     mkdir -p $out/bin $out/include $out/lib
diff --git a/pkgs/development/libraries/botan/default.nix b/pkgs/development/libraries/botan/default.nix
index 64dd821c43f..3006a5a456d 100644
--- a/pkgs/development/libraries/botan/default.nix
+++ b/pkgs/development/libraries/botan/default.nix
@@ -1,58 +1,8 @@
-x@{builderDefsPackage
-  , python
-  , bzip2, zlib, gmp, openssl
-  , boost
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="botan";
-    tarBaseName="Botan";
-    baseVersion = "1.10";
-    revision = "8";
-    version="${baseVersion}.${revision}";
-    name="${baseName}-${version}";
-    url="http://files.randombit.net/${baseName}/v${baseVersion}/${tarBaseName}-${version}.tbz";
-    hash = "182f316rbdd6jrqn92vjms3jyb9syn4ic0nzi3b7rfjbj3zdabxw";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall" "fixPkgConfig"];
-  configureCommand = "python configure.py --with-gnump --with-bzip2 --with-zlib --with-openssl --with-tr1-implementation=boost";
-
-  fixPkgConfig = a.fullDepEntry ''
-    cd "$out"/lib/pkgconfig
-    ln -s botan-*.pc botan.pc || true
-  '' ["minInit" "doMakeInstall"];
-      
-  meta = {
-    description = "Cryptographic algorithms library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      unix;
-    inherit version;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://files.randombit.net/botan/";
-    };
-  };
-}) x
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  baseVersion = "1.10";
+  revision = "9";
+  sha256 = "1wldp9py3qcdgswgxya83c03y6345a6cf3vwz0y41bl1l39jfza8";
+  extraConfigureFlags = "--with-gnump";
+})
diff --git a/pkgs/development/libraries/botan/default.upstream b/pkgs/development/libraries/botan/default.upstream
index 8b51ede3bc9..43f6a3b268e 100644
--- a/pkgs/development/libraries/botan/default.upstream
+++ b/pkgs/development/libraries/botan/default.upstream
@@ -1,9 +1,9 @@
 url http://botan.randombit.net/download.html
-version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tbz|tbz2|tar[.]bz2)$'
+version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$'
 ensure_version
 do_overwrite(){
   ensure_hash
-  set_var_value hash $CURRENT_HASH
+  set_var_value sha256 $CURRENT_HASH
   set_var_value baseVersion ${CURRENT_VERSION%.*}
   set_var_value revision ${CURRENT_VERSION##*.}
 }
diff --git a/pkgs/development/libraries/botan/generic.nix b/pkgs/development/libraries/botan/generic.nix
new file mode 100644
index 00000000000..c843a00b836
--- /dev/null
+++ b/pkgs/development/libraries/botan/generic.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, python, bzip2, zlib, gmp, openssl, boost
+# Passed by version specific builders
+, baseVersion, revision, sha256
+, extraConfigureFlags ? ""
+, ...
+}:
+
+stdenv.mkDerivation rec {
+  name = "botan-${version}";
+  version = "${baseVersion}.${revision}";
+
+  src = fetchurl {
+    name = "Botan-${version}.tgz";
+    urls = [
+       "http://files.randombit.net/botan/v${baseVersion}/Botan-${version}.tgz"
+       "http://botan.randombit.net/releases/Botan-${version}.tgz"
+    ];
+    inherit sha256;
+  };
+
+  buildInputs = [ python bzip2 zlib gmp openssl boost ];
+
+  configurePhase = ''
+    python configure.py --prefix=$out --with-bzip2 --with-zlib ${if openssl != null then "--with-openssl" else ""} ${extraConfigureFlags}
+  '';
+
+  enableParallelBuilding = true;
+
+  preInstall = ''
+    patchShebangs src/scripts
+  '';
+
+  postInstall = ''
+    cd "$out"/lib/pkgconfig
+    ln -s botan-*.pc botan.pc || true
+  '';
+
+  meta = with stdenv.lib; {
+    inherit version;
+    description = "Cryptographic algorithms library";
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.unix;
+    license = licenses.bsd2;
+  };
+  passthru.updateInfo.downloadPage = "http://files.randombit.net/botan/";
+}
diff --git a/pkgs/development/libraries/botan/unstable.nix b/pkgs/development/libraries/botan/unstable.nix
index 677172dd3ac..cc2a5ebaa31 100644
--- a/pkgs/development/libraries/botan/unstable.nix
+++ b/pkgs/development/libraries/botan/unstable.nix
@@ -1,58 +1,8 @@
-x@{builderDefsPackage
-  , python
-  , bzip2, zlib, gmp, openssl
-  , boost
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="botan";
-    tarBaseName="Botan";
-    baseVersion = "1.11";
-    revision = "9";
-    version="${baseVersion}.${revision}";
-    name="${baseName}-${version}";
-    url="http://files.randombit.net/${baseName}/v${baseVersion}/${tarBaseName}-${version}.tbz";
-    hash = "0jgx5va042gmr6nc91p5dd59wnfxlz19mz2nnyv74pvwwmizs09m";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall" "fixPkgConfig"];
-  configureCommand = "python configure.py --with-gnump --with-bzip2 --with-zlib --with-openssl";
-
-  fixPkgConfig = a.fullDepEntry ''
-    cd "$out"/lib/pkgconfig
-    ln -s botan-*.pc botan.pc || true
-  '' ["minInit" "doMakeInstall"];
-
-  meta = {
-    description = "Cryptographic algorithms library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      unix;
-    inherit version;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://files.randombit.net/botan/";
-    };
-  };
-}) x
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  baseVersion = "1.11";
+  revision = "16";
+  sha256 = "0z3a7jp10w9ipmbzhc2xazd2savxmns57ca2a8d6vvjahxg4w6m3";
+  openssl = null;
+})
diff --git a/pkgs/development/libraries/botan/unstable.upstream b/pkgs/development/libraries/botan/unstable.upstream
index 9d539a2a6ea..c03bc7a6c3b 100644
--- a/pkgs/development/libraries/botan/unstable.upstream
+++ b/pkgs/development/libraries/botan/unstable.upstream
@@ -1,9 +1,10 @@
 url http://botan.randombit.net/download.html
-version_link 'Botan-[0-9]+[.][0-9]+([.][0-9]+)?[.](tbz|tbz2|tar[.]bz2)$'
+version_link 'Botan-[0-9]+[.][0-9]+([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$'
 ensure_version
+attribute_name botanUnstable
 do_overwrite(){
   ensure_hash
-  set_var_value hash $CURRENT_HASH
+  set_var_value sha256 $CURRENT_HASH
   set_var_value baseVersion ${CURRENT_VERSION%.*}
   set_var_value revision ${CURRENT_VERSION##*.}
 }
diff --git a/pkgs/development/libraries/box2d/2.0.1.nix b/pkgs/development/libraries/box2d/2.0.1.nix
index c15e27695ac..0d1f3bb14ee 100644
--- a/pkgs/development/libraries/box2d/2.0.1.nix
+++ b/pkgs/development/libraries/box2d/2.0.1.nix
@@ -72,6 +72,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = "bsd";
+    branch = "2.0.1";
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix
index 0d1913bc8e7..ed670e61243 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.7";
+  version = "1.9.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
-    sha256 = "1z2z77l41g01ra7v716c0q3x8s2kx30l4p1kf21ma8bdqa98arp6";
+    sha256 = "055kpl3ghznk028jnhzsa3p48qgipckfzn2liwq932crxviicl2l";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 0be0d74b292..0d0d5a55ae8 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libiconvOrEmpty, libintlOrEmpty
+{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
 , expat, zlib, libpng, pixman, fontconfig, freetype, xlibs
 , gobjectSupport ? true, glib
 , xcbSupport ? true # no longer experimental since 1.12
@@ -11,16 +11,16 @@ assert glSupport -> mesa_noglu != null;
 with { inherit (stdenv.lib) optional optionals; };
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.12.16";
+  name = "cairo-1.14.2";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha256 = "0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195";
+    sha1 = "c8da68aa66ca0855b5d0ff552766d3e8679e1d24";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
 
-  nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty;
+  nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
 
   propagatedBuildInputs =
     with xlibs; [ xlibs.xlibs fontconfig expat freetype pixman zlib libpng ]
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index f21abedc1f5..990d44dfef8 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -1,15 +1,15 @@
 { fetchurl, stdenv, pkgconfig, cairo, x11, fontconfig, freetype, libsigcxx }:
 
 stdenv.mkDerivation rec {
-  name = "cairomm-1.10.0";
+  name = "cairomm-1.11.2";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha256 = "13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386";
+    sha1 = "35e190a03f760924bece5dc1204cc36b3583c806";
   };
 
   buildInputs = [ pkgconfig ];
-  
+
   propagatedBuildInputs = [ cairo x11 fontconfig freetype libsigcxx ];
 
   meta = {
diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix
index 8a067f148d9..c6bd7e4f4d4 100644
--- a/pkgs/development/libraries/capnproto/default.nix
+++ b/pkgs/development/libraries/capnproto/default.nix
@@ -1,7 +1,13 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "capnproto-0.4.1";
+stdenv.mkDerivation rec {
+  name = "capnproto-${version}";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
+    sha256 = "01fsf60zlyc6rlhnrh8gd9jj5gs52ancb50ml3w7gwq55zgx2rf7";
+  };
 
   meta = with stdenv.lib; {
     homepage    = "http://kentonv.github.io/capnproto";
@@ -15,9 +21,4 @@ stdenv.mkDerivation {
     platforms   = platforms.all;
     maintainers = with maintainers; [ cstrahan ];
   };
-
-  src = fetchurl {
-    url = "https://capnproto.org/capnproto-c++-0.4.1.tar.gz";
-    sha256 = "8453e8d508906062f113dbdfff552f41e08083ccf7c9407778a8d107675cd468";
-  };
 }
diff --git a/pkgs/development/libraries/ccnx/default.nix b/pkgs/development/libraries/ccnx/default.nix
new file mode 100644
index 00000000000..01812b7baa9
--- /dev/null
+++ b/pkgs/development/libraries/ccnx/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, openssl, expat, libpcap }:
+let
+  version = "0.8.2";
+in
+stdenv.mkDerivation {
+  name = "ccnx-${version}";
+  src = fetchurl {
+    url = "https://github.com/ProjectCCNx/ccnx/archive/ccnx-${version}.tar.gz";
+    sha256 = "1jyk7i8529821aassxbvzlxnvl5ly0na1qcn3v1jpxhdd0qqpg00";
+  };
+  buildInputs = [ openssl expat libpcap ];
+  preConfigure = ''
+    mkdir -p $out/include
+    mkdir -p $out/lib
+    mkdir -p $out/bin
+    substituteInPlace csrc/configure --replace "/usr/local" $out --replace "/usr/bin/env sh" "/bin/sh"
+  '';
+  meta = with stdenv.lib; {
+    homepage = "http://www.ccnx.org/";
+    description = "A Named Data Neworking (NDN) or Content Centric Networking (CCN) abstraction";
+    longDescription = ''
+      To address the Internet’s modern-day requirements with a better
+      fitting model, PARC has created a new networking architecture
+      called Content-Centric Networking (CCN), which operates by addressing
+      and delivering Content Objects directly by Name instead of merely
+      addressing network end-points. In addition, the CCN security model
+      explicitly secures individual Content Objects rather than securing
+      the connection or “pipe”. Named and secured content resides in
+      distributed caches automatically populated on demand or selectively
+      pre-populated. When requested by name, CCN delivers named content to
+      the user from the nearest cache, thereby traversing fewer network hops,
+      eliminating redundant requests, and consuming less resources overall.
+    '';
+    license = licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.sjmackenzie ];
+  };
+}
diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix
index 3e75cb45a73..13a9259fdec 100644
--- a/pkgs/development/libraries/ccrtp/default.nix
+++ b/pkgs/development/libraries/ccrtp/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl, openssl, pkgconfig, libgcrypt, ucommon }:
+{ stdenv, fetchurl, pkgconfig, ucommon, openssl, libgcrypt }:
 
-stdenv.mkDerivation {
-  name = "ccrtp-2.0.6";
+stdenv.mkDerivation rec {
+  name = "ccrtp-2.1.2";
 
   src = fetchurl {
-    url = mirror://gnu/ccrtp/ccrtp-2.0.6.tar.gz;
-    sha256 = "06rqwk2w5sikfb3l5bcpxszhq4g7ra840gqx1f011xrmhvclrzir";
+    url = "mirror://gnu/ccrtp/${name}.tar.gz";
+    sha256 = "17ili8l7zqbbkzr1rcy4hlnazkf50mds41wg6n7bfdsx3c7cldgh";
   };
 
-  buildInputs = [ openssl pkgconfig libgcrypt ];
-  propagatedBuildInputs = [ ucommon ];
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ ucommon openssl libgcrypt ];
+
+  configureFlags = [
+    "--disable-demos"
+  ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/celt/0.5.1.nix b/pkgs/development/libraries/celt/0.5.1.nix
index 0f42e7cd040..561be1ba281 100644
--- a/pkgs/development/libraries/celt/0.5.1.nix
+++ b/pkgs/development/libraries/celt/0.5.1.nix
@@ -1,46 +1,10 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{ callPackage, fetchurl, ... } @ args:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="celt";
-    version="0.5.1.3";
-    name="${baseName}-${version}";
-    url="http://downloads.xiph.org/releases/${baseName}/${name}.tar.gz";
-    hash="0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+callPackage ./generic.nix (args // rec{
+  version = "0.5.1.3";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-
-  meta = {
-    description = "CELT - low-delay audio codec";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "free";
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.celt-codec.org/downloads/";
-    };
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz";
+    sha256 = "0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw";
   };
-}) x
+})
diff --git a/pkgs/development/libraries/celt/0.7.nix b/pkgs/development/libraries/celt/0.7.nix
index 5c5dae866bb..a5dd401ec49 100644
--- a/pkgs/development/libraries/celt/0.7.nix
+++ b/pkgs/development/libraries/celt/0.7.nix
@@ -1,47 +1,10 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ callPackage, fetchurl, ... } @ args:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="celt";
-    version="0.7.1";
-    name="${baseName}-${version}";
-    url="http://downloads.xiph.org/releases/${baseName}/${name}.tar.gz";
-    hash="93f0e2dfb59021b19e69dc0dee855eb89f19397db1dea0d0d6f9329cff933066";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+callPackage ./generic.nix (args // rec{
+  version = "0.7.1";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
-    description = "CELT - low-delay audio codec";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "free";
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz";
+    sha256 = "0rihjgzrqcprsv8a1pmiglwik7xqbs2yw3fwd6gb28chnpgy5w4k";
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.celt-codec.org/downloads/";
-    };
-  };
-}) x
-
+})
diff --git a/pkgs/development/libraries/celt/default.nix b/pkgs/development/libraries/celt/default.nix
index ca25be90504..61352d5caf9 100644
--- a/pkgs/development/libraries/celt/default.nix
+++ b/pkgs/development/libraries/celt/default.nix
@@ -1,47 +1,10 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ callPackage, fetchurl, ... } @ args:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="celt";
-    version="0.11.3";
-    name="${baseName}-${version}";
-    url="http://downloads.xiph.org/releases/${baseName}/${name}.tar.gz";
-    hash="0dh893wqbh0q4a0x1xyqryykmnhpv7mkblpch019s04a99fq2r3y";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+callPackage ./generic.nix (args // rec{
+  version = "0.11.3";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
-    description = "Low-delay audio codec";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "free";
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz";
+    sha256 = "0dh893wqbh0q4a0x1xyqryykmnhpv7mkblpch019s04a99fq2r3y";
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.celt-codec.org/downloads/";
-    };
-  };
-}) x
-
+})
diff --git a/pkgs/development/libraries/celt/generic.nix b/pkgs/development/libraries/celt/generic.nix
new file mode 100644
index 00000000000..59778d36f85
--- /dev/null
+++ b/pkgs/development/libraries/celt/generic.nix
@@ -0,0 +1,23 @@
+{ stdenv, version, src
+, liboggSupport ? true, libogg ? null # if disabled only the library will be built
+, ...
+}:
+
+# The celt codec has been deprecated and is now a part of the opus codec
+
+stdenv.mkDerivation rec {
+  name = "celt-${version}";
+
+  inherit src;
+
+  buildInputs = []
+    ++ stdenv.lib.optional liboggSupport libogg;
+
+  meta = with stdenv.lib; {
+    description = "Ultra-low delay audio codec";
+    homepage    = http://www.celt-codec.org/;
+    license     = licenses.bsd2;
+    maintainers = with maintainers; [ codyopel raskin ];
+    platform    = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/ceres-solver/default.nix b/pkgs/development/libraries/ceres-solver/default.nix
new file mode 100644
index 00000000000..4dce56a8f1a
--- /dev/null
+++ b/pkgs/development/libraries/ceres-solver/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, eigen
+, fetchurl
+, cmake
+, google-gflags ? null
+, glog ? null
+, runTests ? false
+}:
+
+# google-gflags is required to run tests
+assert runTests -> google-gflags != null;
+
+let
+  version = "1.10.0";
+
+  # glog currently doesn't build on darwin
+  # Issue: https://code.google.com/p/google-glog/issues/detail?id=121
+  useGlog = glog != null && !stdenv.isDarwin;
+
+in
+stdenv.mkDerivation {
+  name = "ceres-solver-${version}";
+
+  src = fetchurl {
+    url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz";
+    sha256 = "20bb5db05c3e3e14a4062e2cf2b0742d2653359549ecded3e0653104ef3deb17";
+  };
+
+  buildInputs = [ cmake ]
+    ++ stdenv.lib.optional useGlog glog
+    ++ stdenv.lib.optional (google-gflags != null) google-gflags;
+
+  inherit eigen;
+
+  doCheck = runTests;
+
+  checkTarget = "test";
+
+  cmakeFlags = "
+    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
+    ${if !useGlog then "-DMINIGLOG=ON" else ""}
+  ";
+
+  meta = with stdenv.lib; {
+    description = "C++ library for modeling and solving large, complicated optimization problems";
+    license = licenses.bsd3;
+    homepage = "http://ceres-solver.org";
+    maintainers = with stdenv.lib.maintainers; [ giogadi ];
+    inherit version;
+  };
+}
diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix
index a782ff61e28..5273e88763a 100644
--- a/pkgs/development/libraries/check/default.nix
+++ b/pkgs/development/libraries/check/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv }:
 
-let version = "0.9.12"; in
+let version = "0.9.14"; in
 stdenv.mkDerivation {
   name = "check-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz";
-    sha256 = "18qybf3s25s1gydp2lwbc4icnmdc6f9sj21fllcwm81kw5apxm67";
+    sha256 = "02l4g79d81s07hzywcv1knwj5dyrwjiq2pgxaz7kidxi8m364wn2";
   };
 
   # Test can randomly fail: http://hydra.nixos.org/build/7243912
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index 010d2cb7ccc..5bf1ec78bef 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, cmake, ffmpeg, boost }:
+{ stdenv, fetchurl, cmake, boost, ffmpeg }:
 
 stdenv.mkDerivation rec {
   name = "chromaprint-${version}";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchurl {
     url = "http://bitbucket.org/acoustid/chromaprint/downloads/${name}.tar.gz";
-    sha256 = "04nd8xmy4kgnpfffj6hw893f80bwhp43i01zpmrinn3497mdf53b";
+    sha256 = "06h36223r4bwcazp42faqs9w9g49wvspivd3z3309b12ld4qjaw2";
   };
 
-  buildInputs = [ cmake ffmpeg boost ];
+  nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = [ "-DBUILD_EXAMPLES=ON" ];
+  buildInputs = [ boost ffmpeg ];
 
-  postInstall = "installBin examples/fpcalc";
+  cmakeFlags = [ "-DBUILD_EXAMPLES=ON" ];
 
   meta = with stdenv.lib; {
     homepage = "http://acoustid.org/chromaprint";
diff --git a/pkgs/development/libraries/cil/default.nix b/pkgs/development/libraries/cil/default.nix
deleted file mode 100644
index ecbb0c19412..00000000000
--- a/pkgs/development/libraries/cil/default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{stdenv, fetchurl, ocaml, perl}: stdenv.mkDerivation {
-  name = "cil-1.3.2";
-  src = fetchurl {
-    url = http://manju.cs.berkeley.edu/cil/distrib/cil-1.3.2.tar.gz;
-    md5 = "aba80dd700fcb1411598670cc36a9573";
-  };
-  buildInputs = [ocaml perl];
-}
diff --git a/pkgs/development/libraries/cimg/builder.sh b/pkgs/development/libraries/cimg/builder.sh
new file mode 100644
index 00000000000..bbd5f712551
--- /dev/null
+++ b/pkgs/development/libraries/cimg/builder.sh
@@ -0,0 +1,12 @@
+
+source $stdenv/setup
+
+unpackPhase
+cd $sourceRoot
+
+install -dm 755 $out/include/cimg $out/share/doc/cimg/html $out/share/cimg/examples $out/share/cimg/plugins
+
+install -m 644 CImg.h $out/include/cimg
+cp -dr --no-preserve=ownership html/* $out/share/doc/cimg/html/
+cp -dr --no-preserve=ownership examples/* $out/share/cimg/examples/
+cp -dr --no-preserve=ownership plugins/* $out/share/cimg/plugins/
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
new file mode 100644
index 00000000000..049938e1f45
--- /dev/null
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl
+, unzip }:
+
+stdenv.mkDerivation rec {
+
+  name = "cimg-${version}";
+  version = "1.5.9";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/cimg/CImg-${version}.zip";
+    sha256 = "1xn20643gcbl76kvy9ajhwbyjjb73mg65q32ma8mdkwn1qhn7f7c";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ unzip ];
+
+  builder = ./builder.sh;
+  
+  meta = with stdenv.lib; {
+    description = "A small, open source, C++ toolkit for image processing";
+    homepage = http://cimg.sourceforge.net/;
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/cl-ppcre/default.nix b/pkgs/development/libraries/cl-ppcre/default.nix
deleted file mode 100644
index b81896d8894..00000000000
--- a/pkgs/development/libraries/cl-ppcre/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-args :  
-let 
-  lib = args.lib;
-  fetchurl = args.fetchurl;
-  simplyShare = args.simplyShare;
-
-  version = lib.attrByPath ["version"] "2.0.0" args; 
-  buildInputs = with args; [ ];
-in
-rec {
-  src = fetchurl {
-    url = http://weitz.de/files/cl-ppcre.tar.gz;
-    sha256 = "1hrk051yi1qixy0vdig99cbv0v0p825acli65s08yz99b0pjz7m5";
-  };
-
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = [(simplyShare "cl-ppcre")];
-      
-  name = "cl-ppcre-" + version;
-  meta = {
-    description = "Common Lisp Portable Perl Compatible RegExp library";
-  };
-}
diff --git a/pkgs/development/libraries/clearsilver/default.nix b/pkgs/development/libraries/clearsilver/default.nix
index 4095c1ae2f4..34a26e9da86 100644
--- a/pkgs/development/libraries/clearsilver/default.nix
+++ b/pkgs/development/libraries/clearsilver/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
-stdenv.mkDerivation {
-  name = "clearsilver-0.10.3";
+stdenv.mkDerivation rec {
+  name = "clearsilver-0.10.5";
 
   src = fetchurl {
-    url = http://www.clearsilver.net/downloads/clearsilver-0.10.3.tar.gz;
-    md5 = "ff4104b0e58bca1b61d528edbd902769";
+    url = "http://www.clearsilver.net/downloads/${name}.tar.gz";
+    sha256 = "1046m1dpq3nkgxbis2dr2x7hynmy51n64465q78d7pdgvqwa178y";
   };
 
   builder = ./builder.sh;
diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix
index 6f938680d7e..6f730d4821e 100644
--- a/pkgs/development/libraries/cloog-ppl/default.nix
+++ b/pkgs/development/libraries/cloog-ppl/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ ppl ];
 
-  buildInputs = [ automake autoconf libtool ];
+  nativeBuildInputs = [ automake autoconf libtool ];
 
   patches = [ ./fix-ppl-version.patch ];
 
diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix
index 7ea7e597d40..629cdba1fd4 100644
--- a/pkgs/development/libraries/cloog/default.nix
+++ b/pkgs/development/libraries/cloog/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gmp, isl }:
 
 stdenv.mkDerivation rec {
-  name = "cloog-0.18.0";
+  name = "cloog-0.18.3";
 
   src = fetchurl {
     url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz";
-    sha256 = "1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228";
+    sha256 = "0d4pqs4rs1qx0302wpv06ww1nwyg4yv5cw9qpfzxz36b19s6q326";
   };
 
   buildInputs = [ gmp ];
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-isl=system" ];
 
+  # Breaks the test cases
+  #enableParallelBuilding = true;
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 4173b75915c..90ee1cd03ca 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     [ ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch
       ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch
       ./Install-contribs-lib.patch
-    ];
+    ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ];
 
   postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
     install_name_tool -change libclucene-shared.1.dylib \
diff --git a/pkgs/development/libraries/clucene-core/fix-darwin.patch b/pkgs/development/libraries/clucene-core/fix-darwin.patch
new file mode 100644
index 00000000000..c06413f3c2e
--- /dev/null
+++ b/pkgs/development/libraries/clucene-core/fix-darwin.patch
@@ -0,0 +1,75 @@
+--- a/src/shared/CLucene/LuceneThreads.h
++++ b/src/shared/CLucene/LuceneThreads.h
+@@ -7,6 +7,9 @@
+ #ifndef _LuceneThreads_h
+ #define  _LuceneThreads_h
+
++#if defined(_CL_HAVE_PTHREAD)
++	#include <pthread.h>
++#endif
+
+ CL_NS_DEF(util)
+ class CLuceneThreadIdCompare;
+
+--- a/src/shared/CLucene/config/repl_tchar.h
++++ b/src/shared/CLucene/config/repl_tchar.h
+@@ -28,26 +28,26 @@
+         #define _istdigit iswdigit //* digit char check
+         #define _totlower towlower //* convert char to lower case
+         #define _totupper towupper //* convert char to lower case
+-        #define _tcslwr wcslwr //* convert string to lower case
++        #define _tcslwr std::wcslwr //* convert string to lower case
+ 
+         //these are the string handling functions
+         //we may need to create wide-character/multi-byte replacements for these
+-        #define _tcscpy wcscpy //copy a string to another string
+-        #define _tcsncpy wcsncpy //copy a specified amount of one string to another string.
+-        #define _tcscat wcscat //copy a string onto the end of the other string
+-    		#define _tcsncat wcsncat
+-        #define _tcschr wcschr //find location of one character
+-        #define _tcsstr wcsstr //find location of a string
+-        #define _tcslen wcslen //get length of a string
+-        #define _tcscmp wcscmp //case sensitive compare two strings
+-        #define _tcsncmp wcsncmp //case sensitive compare two strings
+-        #define _tcscspn wcscspn //location of any of a set of character in a string
++        #define _tcscpy std::wcscpy //copy a string to another string
++        #define _tcsncpy std::wcsncpy //copy a specified amount of one string to another string.
++        #define _tcscat std::wcscat //copy a string onto the end of the other string
++    		#define _tcsncat std::wcsncat
++        #define _tcschr std::wcschr //find location of one character
++        #define _tcsstr std::wcsstr //find location of a string
++        #define _tcslen std::wcslen //get length of a string
++        #define _tcscmp std::wcscmp //case sensitive compare two strings
++        #define _tcsncmp std::wcsncmp //case sensitive compare two strings
++        #define _tcscspn std::wcscspn //location of any of a set of character in a string
+ 
+ 				//string compare
+         #ifdef _CL_HAVE_FUNCTION_WCSICMP
+-            #define _tcsicmp wcsicmp //* case insensitive compare two string
++            #define _tcsicmp std::wcsicmp //* case insensitive compare two string
+         #else
+-            #define _tcsicmp wcscasecmp //* case insensitive compare two string
++            #define _tcsicmp std::wcscasecmp //* case insensitive compare two string
+         #endif
+ 				#if defined(_CL_HAVE_FUNCTION_WCSDUP)
+ 			  	#define _tcsdup	wcsdup
+@@ -56,8 +56,8 @@
+ 			  #endif
+ 
+         //conversion functions
+-        #define _tcstod wcstod //convert a string to a double
+-        #define _tcstoi64 wcstoll //* convers a string to an 64bit bit integer
++        #define _tcstod std::wcstod //convert a string to a double
++        #define _tcstoi64 std::wcstoll //* convers a string to an 64bit bit integer
+         #define _itot _i64tot
+         #define _i64tot lltow //* converts a 64 bit integer to a string (with base)
+     #else //if defined(_ASCII)
+@@ -105,7 +105,7 @@
+     //some tchar headers miss these...
+     #ifndef _tcstoi64
+         #if defined(_UCS2)
+-        	#define _tcstoi64 wcstoll //* convers a string to an 64bit bit integer
++        	#define _tcstoi64 std::wcstoll //* convers a string to an 64bit bit integer
+         #else
+         	#define _tcstoi64 strtoll
+         #endif
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
index c73aac074e7..7cef673dbc6 100644
--- a/pkgs/development/libraries/clutter-gst/default.nix
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-gst-2.0.10";
+  name = "clutter-gst-2.0.12";
 
   src = fetchurl {
     url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz";
-    sha256 = "f00cf492a6d4f1036c70d8a0ebd2f0f47586ea9a9b49b1ffda79c9dc7eadca00";
+    sha256 = "1dgzpd5l5ld622b8185c3khvvllm5hfvq4q1a1mgzhxhj8v4bwf2";
   };
 
   propagatedBuildInputs = [ clutter gtk3 glib cogl ];
diff --git a/pkgs/development/libraries/clutter-gtk/0.10.8.nix b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
index e5f5a455c89..d3754ecd6c6 100644
--- a/pkgs/development/libraries/clutter-gtk/0.10.8.nix
+++ b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
   name = "clutter-gtk-0.10.8";
 
   src = fetchurl {
-    url = "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2";
+    urls = [
+      "http://download.gnome.org/sources/clutter-gtk/0.10/${name}.tar.bz2"
+      "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2"
+      ];
     sha256 = "0508x1jfnlq0zhgscysvfa7i7ljkzm23d2myikvdjwc8ar8zjrvq";
   };
 
diff --git a/pkgs/development/libraries/cminpack/default.nix b/pkgs/development/libraries/cminpack/default.nix
index c73e9594857..892e32777ea 100644
--- a/pkgs/development/libraries/cminpack/default.nix
+++ b/pkgs/development/libraries/cminpack/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "cminpack-1.3.2";
+stdenv.mkDerivation rec {
+  name = "cminpack-1.3.4";
   
   src = fetchurl {
-    url = http://devernay.free.fr/hacks/cminpack/cminpack-1.3.2.tar.gz;
-    sha256 = "09bqr44wqancbdsc39lvhdz7rci3hknmlrrrzv46skvwx6rgk9x0";
+    url = "http://devernay.free.fr/hacks/cminpack/${name}.tar.gz";
+    sha256 = "1jh3ymxfcy3ykh6gnvds5bbkf38aminvjgc8halck356vkvpnl9v";
   };
 
   patchPhase = ''
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://devernay.free.fr/hacks/cminpack/cminpack.html;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     description = "Software for solving nonlinear equations and nonlinear least squares problems";
   };
 
diff --git a/pkgs/development/libraries/cogl/1.18.nix b/pkgs/development/libraries/cogl/1.18.nix
index 7aad8ba1b43..f6927770d86 100644
--- a/pkgs/development/libraries/cogl/1.18.nix
+++ b/pkgs/development/libraries/cogl/1.18.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
-, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland
+, pangoSupport ? true, pango, cairo, gobjectIntrospection
 , gstreamerSupport ? true, gst_all_1 }:
 
 let
@@ -21,13 +21,11 @@ stdenv.mkDerivation rec {
     "--enable-gles1"
     "--enable-gles2"
     "--enable-kms-egl-platform"
-    "--enable-wayland-egl-platform"
-    "--enable-wayland-egl-server"
   ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst";
 
   propagatedBuildInputs = with xorg; [
       glib gdk_pixbuf gobjectIntrospection
-      mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland
+      mesa_noglu libXrandr libXfixes libXcomposite libXdamage
     ]
     ++ libintlOrEmpty
     ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index 0f1c1dd82e2..a4a20fce023 100644
--- a/pkgs/development/libraries/cogl/default.nix
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
-, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland
+, pangoSupport ? true, pango, cairo, gobjectIntrospection
 , gstreamerSupport ? true, gst_all_1 }:
 
 let
@@ -21,13 +21,11 @@ stdenv.mkDerivation rec {
     "--enable-gles1"
     "--enable-gles2"
     "--enable-kms-egl-platform"
-    "--enable-wayland-egl-platform"
-    "--enable-wayland-egl-server"
   ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst";
 
   propagatedBuildInputs = with xorg; [
       glib gdk_pixbuf gobjectIntrospection
-      mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland
+      mesa_noglu libXrandr libXfixes libXcomposite libXdamage
     ]
     ++ libintlOrEmpty
     ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
diff --git a/pkgs/development/libraries/commoncpp2/default.nix b/pkgs/development/libraries/commoncpp2/default.nix
index 9dff8a6c50f..a4347e77632 100644
--- a/pkgs/development/libraries/commoncpp2/default.nix
+++ b/pkgs/development/libraries/commoncpp2/default.nix
@@ -32,9 +32,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/commoncpp/;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.marcweber
-                    stdenv.lib.maintainers.ludo
-                  ];
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = with stdenv.lib.platforms; allBut freebsd;
   };
 }
diff --git a/pkgs/development/libraries/concurrencykit/default.nix b/pkgs/development/libraries/concurrencykit/default.nix
index 0e584c0d499..3fad256e572 100644
--- a/pkgs/development/libraries/concurrencykit/default.nix
+++ b/pkgs/development/libraries/concurrencykit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "concurrencykit-${version}";
-  version = "0.4.3";
+  version = "0.4.5";
 
   src = fetchurl {
     url    = "http://concurrencykit.org/releases/ck-${version}.tar.gz";
-    sha256 = "1fjdvbj6wazblg6qy0gdqs3kach2y2p6xrcvssmcvxr0nfyaadg2";
+    sha256 = "0mh3z8ibiwidc6qvrv8bx9slgcycxwy06kfngfzfza6nihrymzl9";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/confuse/default.nix b/pkgs/development/libraries/confuse/default.nix
index 67fe669a037..e11e0ae0a1c 100644
--- a/pkgs/development/libraries/confuse/default.nix
+++ b/pkgs/development/libraries/confuse/default.nix
@@ -10,6 +10,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.nongnu.org/confuse/;
     description = "Configuration file parser library";
-    license = "BSD";
+    license = stdenv.lib.licenses.isc;
   };
 }
diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix
index 43849bf8ed8..2f088b4d304 100644
--- a/pkgs/development/libraries/cpp-netlib/default.nix
+++ b/pkgs/development/libraries/cpp-netlib/default.nix
@@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A collection of open-source libraries for high level network programming";
     homepage    = http://cpp-netlib.org;
-    license     = stdenv.lib.licenses.boost;
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-    platforms   = stdenv.lib.platforms.all;
+    license     = licenses.boost;
+    maintainers = with maintainers; [ shlevy ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/cppnetlib/default.nix b/pkgs/development/libraries/cppnetlib/default.nix
deleted file mode 100644
index 3eab580c6a8..00000000000
--- a/pkgs/development/libraries/cppnetlib/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{stdenv, fetchurl, cmake, openssl, boost}:
-
-stdenv.mkDerivation rec {
-  name = "cpp-netlib-0.9.2";
-
-  src = fetchurl {
-    url = "https://github.com/downloads/cpp-netlib/cpp-netlib/${name}.tar.bz2";
-    sha256 = "0llmiyp9l7byavwdyb7vpks27yfv3g85170bm81paps748bcyb1p";
-  };
-
-  buildInputs = [ cmake boost openssl ];
-
-  /* Tests fail to build ...
-    https://github.com/cpp-netlib/cpp-netlib/issues/85
-
-    Once working, we could do:
-    checkTarget = "test";
-    doCheck = true;
-  */
-
-  preConfigure = ''
-    sed -i /test/d CMakeLists.txt
-  '';
-
-  /* The build phase just builds examples. That's at least some testing.
-     That's how to install the lib - copy the headers. */
-  installPhase = ''
-    # We are at sourcepath/build
-    mkdir -p $out/include
-    cp -R ../boost $out/include/
-    mkdir -p $out/lib
-    cp -R libs/network/src/*.a $out/lib/
-  '';
-
-  meta = {
-    homepage = http://cpp-netlib.github.com/;
-    description = "Provides application layer network support at boost style";
-    license = "boost";
-  };
-}
diff --git a/pkgs/development/libraries/cppzmq/default.nix b/pkgs/development/libraries/cppzmq/default.nix
new file mode 100644
index 00000000000..fc2d04e649b
--- /dev/null
+++ b/pkgs/development/libraries/cppzmq/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "cppzmq";
+
+  src = fetchgit {
+    url = "git://github.com/zeromq/cppzmq";
+    rev = "ac705f604701e2ca1643fa31bae240f9da8b9b9a";
+    sha256 = "1bcd5553601a6cdc926aa7a7c89fe54d3b14693cfce85dea97af25cf5a144398";
+  };
+
+  installPhase = ''
+    install -Dm644 zmq.hpp $out/include/zmq.hpp
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/zeromq/cppzmq;
+    license = licenses.bsd2;
+    description = "C++ binding for 0MQ";
+    maintainers = maintainers.abbradar;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/cracklib/default.nix b/pkgs/development/libraries/cracklib/default.nix
index e0c8d443ec8..506bb0d7071 100644
--- a/pkgs/development/libraries/cracklib/default.nix
+++ b/pkgs/development/libraries/cracklib/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libintlOrEmpty }:
+{ stdenv, fetchurl, libintlOrEmpty, zlib, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "cracklib-2.9.1";
+  name = "cracklib-2.9.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/cracklib/${name}.tar.gz";
-    sha256 = "0mni2sz7350d4acs7gdl8nilfmnb8qhcvmxnpf6dr5wsag10b2a0";
+    sha256 = "1xarjwga2bc4hys4fkspcp1cph699ag8gg6gmv8rjgj43llrkj61";
   };
 
-  buildInputs = libintlOrEmpty;
+  buildInputs = [ libintlOrEmpty zlib gettext ];
 
   meta = with stdenv.lib; {
     homepage    = http://sourceforge.net/projects/cracklib;
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index 3b517d60b27..c326fb7fd38 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Crypto++, a free C++ class library of cryptographic schemes";
     homepage = http://cryptopp.com/;
-    license = "Boost 1.0";
+    license = stdenv.lib.licenses.boost;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/ctl/default.nix b/pkgs/development/libraries/ctl/default.nix
index 65489ee8c88..4d30afe6818 100644
--- a/pkgs/development/libraries/ctl/default.nix
+++ b/pkgs/development/libraries/ctl/default.nix
@@ -1,29 +1,22 @@
-{ stdenv, fetchurl, ilmbase }:
+{ stdenv, callPackage, cmake, pkgconfig, ilmbase, libtiff, openexr }:
 
+let
+  source = callPackage ./source.nix { };
+in
 stdenv.mkDerivation {
-  name = "ctl-1.4.1";
+  name = "ctl-${source.version}";
 
-  src = fetchurl {
-    url = mirror://sourceforge/ampasctl/ctl-1.4.1.tar.gz;
-    sha256 = "16lzgbpxdyhykdwndj1i9vx3h4bfkxqqcrvasvgg70gb5raxj0mj";
-  };
-
-  patches = [ ./patch.patch ./gcc47.patch ];
-
-  propagatedBuildInputs = [ ilmbase ];
-
-  configureFlags = "--with-ilmbase-prefix=${ilmbase}";
+  src = source.src;
 
-  #configurePhase = "
-    #export CXXFLAGS=\"-I${ilmbase}/include -L${ilmbase}/lib\"
-    #echo $CXXFLAGS
-    #unset configurePhase; configurePhase
-  #";
+  buildInputs = [ cmake pkgconfig libtiff ilmbase openexr ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Color Transformation Language";
     homepage = http://ampasctl.sourceforge.net;
-    license = "SOME OPEN SOURCE LICENSE"; # TODO which exactly is this?
+    license = "A.M.P.A.S";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 
+  passthru.source = source;
 }
diff --git a/pkgs/development/libraries/ctl/gcc47.patch b/pkgs/development/libraries/ctl/gcc47.patch
deleted file mode 100644
index 1aa4be4fe6d..00000000000
--- a/pkgs/development/libraries/ctl/gcc47.patch
+++ /dev/null
@@ -1,15 +0,0 @@
- https://bugs.gentoo.org/426368
- 
- IlmCtl/CtlInterpreter.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/IlmCtl/CtlInterpreter.cpp
-+++ b/IlmCtl/CtlInterpreter.cpp
-@@ -64,6 +64,7 @@
- #include <fstream>
- #include <algorithm>
- #include <cassert>
-+#include <unistd.h>
- 
- #ifdef WIN32
-     #include <io.h>
diff --git a/pkgs/development/libraries/ctl/patch.patch b/pkgs/development/libraries/ctl/patch.patch
deleted file mode 100644
index 1d441f58fcc..00000000000
--- a/pkgs/development/libraries/ctl/patch.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/IlmCtl/CtlLex.cpp b/IlmCtl/CtlLex.cpp
-index e662d22..a47311a 100644
---- a/IlmCtl/CtlLex.cpp
-+++ b/IlmCtl/CtlLex.cpp
-@@ -57,6 +57,7 @@
- #include <CtlLContext.h>
- #include <iomanip>
- #include <cassert>
-+#include <stdlib.h>
- 
- 
- #if 0
-diff --git a/IlmCtlSimd/CtlSimdReg.h b/IlmCtlSimd/CtlSimdReg.h
-index 6b000b2..8a39f7c 100644
---- a/IlmCtlSimd/CtlSimdReg.h
-+++ b/IlmCtlSimd/CtlSimdReg.h
-@@ -52,6 +52,7 @@
- #include <typeinfo>
- #include <CtlExc.h>
- #include <Iex.h>
-+#include <memory.h>
- 
- //-----------------------------------------------------------------------------
- //
diff --git a/pkgs/development/libraries/ctl/source.nix b/pkgs/development/libraries/ctl/source.nix
new file mode 100644
index 00000000000..d0cb83c0369
--- /dev/null
+++ b/pkgs/development/libraries/ctl/source.nix
@@ -0,0 +1,11 @@
+{ fetchFromGitHub }:
+rec {
+  version = "1.5.2";
+
+  src = fetchFromGitHub {
+    owner = "ampas";
+    repo = "CTL";
+    rev = "ctl-${version}";
+    sha256 = "0a698rd1cmixh3mk4r1xa6rjli8b8b7dbx89pb43xkgqxy67glwx";
+  };
+}
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 712f05b8d65..2be98f3d5e8 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,18 +1,26 @@
-{ stdenv, fetchurl, openssl, db, gettext, pam }:
+{ lib, stdenv, fetchurl, openssl, kerberos, db, gettext, pam, fixDarwinDylibNames }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "cyrus-sasl-2.1.26";
+  name = "cyrus-sasl-2.1.26${optionalString (kerberos == null) "-without-kerberos"}";
 
   src = fetchurl {
     url = "ftp://ftp.cyrusimap.org/cyrus-sasl/${name}.tar.gz";
     sha256 = "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g";
   };
 
-  buildInputs = [ openssl db gettext ] ++ stdenv.lib.optional stdenv.isLinux pam;
+  buildInputs =
+    [ openssl db gettext kerberos ]
+    ++ lib.optional stdenv.isLinux pam
+    ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   patches = [ ./missing-size_t.patch ]; # https://bugzilla.redhat.com/show_bug.cgi?id=906519
   patchFlags = "-p0";
 
+  configureFlags = [
+    "--with-openssl=${openssl}"
+  ];
+
   # Set this variable at build-time to make sure $out can be evaluated.
   preConfigure = ''
     configureFlagsArray=( --with-plugindir=$out/lib/sasl2
@@ -22,12 +30,12 @@ stdenv.mkDerivation rec {
                         )
   '';
 
-  installFlags = if stdenv.isDarwin then [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ] else null;
+  installFlags = lib.optional stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ];
 
   meta = {
     homepage = "http://cyrusimap.web.cmu.edu/";
     description = "library for adding authentication support to connection-based protocols";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ simons ];
   };
 }
diff --git a/pkgs/development/libraries/czmq/default.nix b/pkgs/development/libraries/czmq/default.nix
new file mode 100644
index 00000000000..69ef08b91d9
--- /dev/null
+++ b/pkgs/development/libraries/czmq/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, zeromq }:
+
+stdenv.mkDerivation rec {
+  baseName="czmq";
+  version="3.0.0-rc1";
+  name="${baseName}-${version}";
+
+  src = fetchurl {
+    url = "http://download.zeromq.org/${name}.tar.gz";
+    sha256 = "1g3rk3fz7xzsbqcdcwn0x18nmiyr70k47kg00gdrq8g10li8mmd9";
+  };
+
+  buildInputs = [ zeromq ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://czmq.zeromq.org/";
+    description = "High-level C Binding for ZeroMQ";
+    license = licenses.mpl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/db/db-4.4.nix b/pkgs/development/libraries/db/db-4.4.nix
index 4a182353f25..757b1f71405 100644
--- a/pkgs/development/libraries/db/db-4.4.nix
+++ b/pkgs/development/libraries/db/db-4.4.nix
@@ -4,4 +4,5 @@ import ./generic.nix (args // rec {
   version = "4.4.20";
   extraPatches = [ ./cygwin-4.4.patch ];
   sha256 = "0y9vsq8dkarx1mhhip1vaciz6imbbyv37c1dm8b20l7p064bg2i9";
+  branch = "4.4";
 })
diff --git a/pkgs/development/libraries/db/db-4.5.nix b/pkgs/development/libraries/db/db-4.5.nix
index 6a0a921d8de..b1e4b2c4708 100644
--- a/pkgs/development/libraries/db/db-4.5.nix
+++ b/pkgs/development/libraries/db/db-4.5.nix
@@ -4,4 +4,5 @@ import ./generic.nix (args // rec {
   version = "4.5.20";
   extraPatches = [ ./cygwin-4.5.patch ./register-race-fix.patch ];
   sha256 = "0bd81k0qv5i8w5gbddrvld45xi9k1gvmcrfm0393v0lrm37dab7m";
+  branch = "4.5";
 })
diff --git a/pkgs/development/libraries/db/db-4.7.nix b/pkgs/development/libraries/db/db-4.7.nix
index 62ccfd7d3a5..9a7d586cd04 100644
--- a/pkgs/development/libraries/db/db-4.7.nix
+++ b/pkgs/development/libraries/db/db-4.7.nix
@@ -3,4 +3,5 @@
 import ./generic.nix (args // rec {
   version = "4.7.25";
   sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi";
+  branch = "4.7";
 })
diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix
index e77307d6fa5..9b5e8cb39bd 100644
--- a/pkgs/development/libraries/db/db-4.8.nix
+++ b/pkgs/development/libraries/db/db-4.8.nix
@@ -3,4 +3,5 @@
 import ./generic.nix (args // rec {
   version = "4.8.30";
   sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
+  branch = "4.8";
 })
diff --git a/pkgs/development/libraries/db/db-5.3.nix b/pkgs/development/libraries/db/db-5.3.nix
index af16f1ddf54..b5e62ee686f 100644
--- a/pkgs/development/libraries/db/db-5.3.nix
+++ b/pkgs/development/libraries/db/db-5.3.nix
@@ -3,4 +3,6 @@
 import ./generic.nix (args // rec {
   version = "5.3.28";
   sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
+  extraPatches = [ ./osx.patch ];
+  branch = "5.3";
 })
diff --git a/pkgs/development/libraries/db/db-6.0.nix b/pkgs/development/libraries/db/db-6.0.nix
index 22e858a9d18..716cad9ab07 100644
--- a/pkgs/development/libraries/db/db-6.0.nix
+++ b/pkgs/development/libraries/db/db-6.0.nix
@@ -4,4 +4,5 @@ import ./generic.nix (args // rec {
   version = "6.0.20";
   sha256 = "00r2aaglq625y8r9xd5vw2y070plp88f1mb2gbq3kqsl7128lsl0";
   license = stdenv.lib.licenses.agpl3;
+  branch = "6.0";
 })
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index 6217bc46124..013a7fd35b9 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -6,6 +6,7 @@
 , version, sha256
 , extraPatches ? [ ]
 , license ? stdenv.lib.licenses.sleepycat
+, branch ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -37,5 +38,6 @@ stdenv.mkDerivation rec {
     description = "Berkeley DB";
     license = license;
     platforms = platforms.unix;
+    branch = branch;
   };
 }
diff --git a/pkgs/development/libraries/db/osx.patch b/pkgs/development/libraries/db/osx.patch
new file mode 100644
index 00000000000..438fa7eedd7
--- /dev/null
+++ b/pkgs/development/libraries/db/osx.patch
@@ -0,0 +1,20 @@
+--- a/src/dbinc/atomic.h	2013-03-12 14:07:22.000000000 -0400
++++ b/src/dbinc/atomic.h.change	2013-03-12 14:06:35.000000000 -0400
+@@ -144,7 +144,7 @@
+ #define	atomic_inc(env, p)	__atomic_inc(p)
+ #define	atomic_dec(env, p)	__atomic_dec(p)
+ #define	atomic_compare_exchange(env, p, o, n)	\
+-	__atomic_compare_exchange((p), (o), (n))
++	__atomic_compare_exchange_db((p), (o), (n))
+ static inline int __atomic_inc(db_atomic_t *p)
+ {
+ 	int	temp;
+@@ -176,7 +176,7 @@
+  * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
+  * which configure could be changed to use.
+  */
+-static inline int __atomic_compare_exchange(
++static inline int __atomic_compare_exchange_db(
+ 	db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
+ {
+ 	atomic_value_t was;
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index 9c774e802fc..00b302bde8d 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconvOrEmpty, dbus, glib }:
+{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }:
 
 stdenv.mkDerivation rec {
-  name = "dbus-glib-0.102";
+  name = "dbus-glib-0.104";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz";
-    sha256 = "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39";
+    sha256 = "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz";
   };
 
   nativeBuildInputs = [ pkgconfig gettext ];
 
-  buildInputs = [ expat ] ++ libiconvOrEmpty;
+  buildInputs = [ expat libiconv ];
 
   propagatedBuildInputs = [ dbus.libs glib ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://dbus.freedesktop.org;
-    license = "AFL-2.1 or GPL-2";
+    license = with stdenv.lib.licenses; [ afl21 gpl2 ];
     description = "Obsolete glib bindings for D-Bus lightweight IPC mechanism";
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index a4505c5ae54..ad836ac732d 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -1,14 +1,18 @@
 { stdenv, fetchurl, pkgconfig, autoconf, automake, libtool
 , expat, systemd, glib, dbus_glib, python
-, libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }:
+, libX11 ? null, libICE ? null, libSM ? null, x11Support ? (stdenv.isLinux || stdenv.isDarwin) }:
+
+assert x11Support -> libX11 != null
+                  && libICE != null
+                  && libSM != null;
 
 let
-  version = "1.8.6";
-  sha256 = "0gyjxd0gfpjs3fq5bx6aljb5f3zxky5zsq0yfqr9ywbv03587vgd";
+  version = "1.8.16";
+  sha256 = "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz";
 
   inherit (stdenv) lib;
 
-  buildInputsX = lib.optionals useX11 [ libX11 libICE libSM ];
+  buildInputsX = lib.optionals x11Support [ libX11 libICE libSM ];
 
   # also other parts than "libs" need this statically linked lib
   makeInternalLib = "(cd dbus && make libdbus-internal.la)";
@@ -57,7 +61,7 @@ let
       "--sysconfdir=/etc"
       "--with-session-socket-dir=/tmp"
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    ] ++ lib.optional (!useX11) "--without-x";
+    ] ++ lib.optional (!x11Support) "--without-x";
 
     enableParallelBuilding = true;
 
@@ -91,6 +95,13 @@ let
       stdenv.lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed "
       + "-ldbus-1";
 
+    # don't provide another dbus-1.pc (with incorrect include and link dirs),
+    # also remove useless empty dirs
+    postInstall = ''
+      rm "$out"/lib/pkgconfig/dbus-1.pc
+      rmdir --parents --ignore-fail-on-non-empty "$out"/{lib/pkgconfig,share/dbus-1/*}
+    '';
+
     meta.platforms = with stdenv.lib.platforms; allBut darwin;
   };
 
@@ -101,3 +112,4 @@ let
   };
 };
 in attrs.libs // attrs
+
diff --git a/pkgs/development/libraries/dclib/default.nix b/pkgs/development/libraries/dclib/default.nix
index a00fbff50b9..fb290cbcbeb 100644
--- a/pkgs/development/libraries/dclib/default.nix
+++ b/pkgs/development/libraries/dclib/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = ftp://ftp.debian.nl/pub/freebsd/ports/distfiles/dclib-0.3.7.tar.bz2;
-    md5 = "d35833414534bcac8ce2c8a62ce903a4";
+    sha256 = "02jdzm5hqzs1dv2rd596vgpcjaapm55pqqapz5m94l30v4q72rfc";
   };
 
   buildInputs = [libxml2 openssl bzip2];
diff --git a/pkgs/development/libraries/despotify/default.nix b/pkgs/development/libraries/despotify/default.nix
index 8e679221a48..172a823cfdc 100644
--- a/pkgs/development/libraries/despotify/default.nix
+++ b/pkgs/development/libraries/despotify/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   name = "despotify-svn521";
 
   src = fetchsvn {
-    url = "https://despotify.svn.sourceforge.net/svnroot/despotify";
+    url = "http://svn.code.sf.net/p/despotify/code";
     rev = "521";
   };
 
diff --git a/pkgs/development/libraries/directfb/default.nix b/pkgs/development/libraries/directfb/default.nix
index 6326efe1adb..81c23f7e41c 100644
--- a/pkgs/development/libraries/directfb/default.nix
+++ b/pkgs/development/libraries/directfb/default.nix
@@ -2,12 +2,18 @@
 , enableX11 ? true, xlibs
 , enableSDL ? true, SDL }:
 
-let s = import ./src-for-default.nix; in
+let s = 
+rec {
+   version = "1.7.7";
+   name="directfb-${version}";
+   sha256 = "18r7h0pwbyyk8z3pgdv77nmma8lvr1si9gl1ghxgxf1ivhwcd1dp";
+   url="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${version}.tar.gz";
+}
+; in
 stdenv.mkDerivation {
   inherit (s) name;
   src = fetchurl {
-    url = s.url;
-    sha256 = s.hash;
+    inherit (s) url sha256;
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/directfb/default.upstream b/pkgs/development/libraries/directfb/default.upstream
new file mode 100644
index 00000000000..ef4ed8e490d
--- /dev/null
+++ b/pkgs/development/libraries/directfb/default.upstream
@@ -0,0 +1,3 @@
+url 'http://directfb.org/index.php?path=Main%2FDownloads'
+version_link 'DirectFB-[0-9]'
+minimize_overwrite
diff --git a/pkgs/development/libraries/directfb/src-for-default.nix b/pkgs/development/libraries/directfb/src-for-default.nix
deleted file mode 100644
index be583e08b6b..00000000000
--- a/pkgs/development/libraries/directfb/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="1.6.3";
-   name="directfb-1.6.3";
-   hash="0w2yyx6l2wn8jj9y14ymknqyc88wwrl314p9204frck91znsr5ks";
-   url="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${version}.tar.gz";
-   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.3.tar.gz";
-  
-  
-}
diff --git a/pkgs/development/libraries/directfb/src-info-for-default.nix b/pkgs/development/libraries/directfb/src-info-for-default.nix
deleted file mode 100644
index f8c0f0d1f9b..00000000000
--- a/pkgs/development/libraries/directfb/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  baseName = "directfb";
-  downloadPage = "http://directfb.org/index.php?path=Main%2FDownloads";
-  sourceRegexp = ''DirectFB-.*[.]tar[.].*'';
-  choiceCommand = ''tail -1'';
-}
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
new file mode 100644
index 00000000000..0d262fb061e
--- /dev/null
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, cmake, x11 }:
+
+stdenv.mkDerivation rec {
+  version = "18.10";
+  name = "dlib-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dclib/dlib/${name}.tar.bz2";
+    sha256 = "1g3v13azc29m5r7zqs3x0g731hny6spb66cxnra7f167z31ka3s7";
+  };
+
+  # The supplied CMakeLists.txt does not have any install targets.
+  sources_var = "\$\{sources\}";
+  headers_var = "\$\{hearders\}";
+  preConfigure = ''
+    cat << EOF > CMakeLists.txt
+    cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
+    project(dlib)
+
+    include_directories(./)
+
+    file(GLOB sources ./dlib/all/*.cpp)
+    file(GLOB headers ./dlib/*.h)
+
+    SET(LIBRARY_OUTPUT_PATH ".")
+    add_library(dlib "SHARED" dlib/all/source.cpp ${sources_var} ${headers_var})
+
+    install(TARGETS dlib DESTINATION lib)
+    install(DIRECTORY dlib/ DESTINATION include/dlib FILES_MATCHING PATTERN "*.h")
+    EOF
+  '';   
+
+  enableParallelBuilding = true;
+  buildInputs = [ cmake x11 ];
+  propagatedBuildInputs = [ x11 ];
+
+  meta = with stdenv.lib; {
+    description = "A general purpose cross-platform C++ machine learning library";
+    homepage = http://www.dlib.net;
+    license = stdenv.lib.licenses.boost;
+    maintainers = with maintainers; [ christopherpoole ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
+
diff --git a/pkgs/development/libraries/dotconf/default.nix b/pkgs/development/libraries/dotconf/default.nix
index 2c22af1684d..74e4b6c5666 100644
--- a/pkgs/development/libraries/dotconf/default.nix
+++ b/pkgs/development/libraries/dotconf/default.nix
@@ -1,18 +1,24 @@
-{ fetchurl, stdenv }:
+{ fetchFromGitHub, stdenv, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   name = "dotconf-" + version;
-  version = "1.0.13";
+  version = "1.3";
 
-  src = fetchurl {
-    url = "http://www.azzit.de/dotconf/download/v1.0/dotconf-1.0.13.tar.gz";
-    sha256 = "0rcvi743jgnrq2p5gknnvsqiv47479y5gyc2g9pz7bp7v7bzlmc9";
+  src = fetchFromGitHub {
+    owner = "williamh";
+    repo = "dotconf";
+    rev = "v${version}";
+    sha256 = "1sc95hw5k2xagpafny0v35filmcn05k1ds5ghkldfpf6xw4hakp7";
   };
 
-  meta = {
-    description = "A configuration parser library";
+  buildInputs = [ autoconf automake libtool ];
+
+  preConfigure = "autoreconf --install";
 
+  meta = with stdenv.lib; {
+    description = "A configuration parser library";
+    maintainers = with maintainers; [ pSub ];
     homepage = http://www.azzit.de/dotconf/;
-    license = stdenv.lib.licenses.lgpl21Plus;
+    license = licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix
new file mode 100644
index 00000000000..07f11d9fa39
--- /dev/null
+++ b/pkgs/development/libraries/double-conversion/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  version = "2.0.1";
+  name = "double-conversion-${version}";
+
+  src = fetchFromGitHub {
+    owner = "floitsch";
+    repo = "double-conversion";
+    rev = "v${version}";
+    sha256 = "05x5rdwndgp1vdq2z1bpvng0dd8pn93kw4vhl6nsvv9vsara2q4b";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Binary-decimal and decimal-binary routines for IEEE doubles";
+    homepage = https://github.com/floitsch/double-conversion;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/development/libraries/eglibc/builder.sh b/pkgs/development/libraries/eglibc/builder.sh
deleted file mode 100644
index 6ac1d223b47..00000000000
--- a/pkgs/development/libraries/eglibc/builder.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-# Glibc cannot have itself in its RPATH.
-export NIX_NO_SELF_RPATH=1
-
-source $stdenv/setup
-
-# Explicitly tell glibc to use our pwd, not /bin/pwd.
-export PWD_P=$(type -tP pwd)
-
-# 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.
-export BASH_SHELL=/bin/sh
-
-preConfigure() {
-
-    for i in libc/configure libc/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
-
-    # Include source for debugging
-    mkdir -p $out/src
-    cp -R libc ports $out/src
-    ln -s $out/src/ports $out/src/libc/ports
-    # glibc wants -O2 minimum
-    export CFLAGS="-pipe -g -O2"
-
-    mkdir $NIX_BUILD_TOP/build
-    cd $NIX_BUILD_TOP/build
-    
-    configureScript=$out/src/libc/configure
-}
-
-
-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
-}
-
-
-postInstall() {
-    if test -n "$installLocales"; then
-        make localedata/install-locales
-    fi
-    rm $out/etc/ld.so.cache
-    (cd $out/include && ln -s $kernelHeaders/include/* .) || exit 1
-
-    # 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
-}
-
-
-genericBuild
diff --git a/pkgs/development/libraries/eglibc/default.nix b/pkgs/development/libraries/eglibc/default.nix
deleted file mode 100644
index a27d0f53fbf..00000000000
--- a/pkgs/development/libraries/eglibc/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchsvn, kernelHeaders
-, installLocales ? true
-, profilingLibraries ? false
-}:
-
-stdenv.mkDerivation rec {
-  name = "eglibc-2.10";
-
-  src = fetchsvn {
-    url = svn://svn.eglibc.org/branches/eglibc-2_10;
-    rev = 8690;
-    sha256 = "029hklrx2rlhsb5r2csd0gapjm0rbr8n28ib6jnnhms12x302viq";
-  };
-
-  inherit kernelHeaders installLocales;
-
-  configureFlags = [
-    "--with-headers=${kernelHeaders}/include"
-    "--without-fp"
-    "--enable-add-ons=libidn,ports,nptl"
-    "--disable-profile"
-    "--host=arm-linux-gnueabi"
-    "--build=arm-linux-gnueabi"
-  ];
-
-  builder = ./builder.sh;
-
-  meta = {
-    homepage = http://www.gnu.org/software/libc/;
-    description = "The GNU C Library";
-  };
-}
diff --git a/pkgs/development/libraries/eigen/2.0.nix b/pkgs/development/libraries/eigen/2.0.nix
index 6317dfe5887..4ea9f068d39 100644
--- a/pkgs/development/libraries/eigen/2.0.nix
+++ b/pkgs/development/libraries/eigen/2.0.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl3Plus;
     homepage = http://eigen.tuxfamily.org ;
     maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ];
+    branch = "2";
   };
 }
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 72a140ed371..fc8ed42c640 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -1,15 +1,15 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  v = "3.2.1";
+  version = "3.2.4";
 in
 stdenv.mkDerivation {
-  name = "eigen-${v}";
+  name = "eigen-${version}";
   
   src = fetchurl {
-    url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
-    name = "eigen-${v}.tar.bz2";
-    sha256 = "12ljdirih9n3cf8hy00in285c2ccah7mgalmmr8gc3ldwznz5rk6";
+    url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
+    name = "eigen-${version}.tar.gz";
+    sha256 = "19c6as664a3kxvkhas2cq19r6ag19jw9lcz04sc0kza6i1hlh9xv";
   };
   
   nativeBuildInputs = [ cmake ];
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl3Plus;
     homepage = http://eigen.tuxfamily.org ;
     maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ];
+    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/eigen/default.upstream b/pkgs/development/libraries/eigen/default.upstream
new file mode 100644
index 00000000000..c0c05efc466
--- /dev/null
+++ b/pkgs/development/libraries/eigen/default.upstream
@@ -0,0 +1,4 @@
+url http://eigen.tuxfamily.org/
+ensure_choice
+version '.*/([-0-9.]+)[.]tar[.].*' '\1'
+do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/development/libraries/enet/default.nix b/pkgs/development/libraries/enet/default.nix
index 39a332223ea..5c029adbf84 100644
--- a/pkgs/development/libraries/enet/default.nix
+++ b/pkgs/development/libraries/enet/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "enet-1.3.9";
-  
+  name = "enet-1.3.12";
+
   src = fetchurl {
     url = "http://enet.bespin.org/download/${name}.tar.gz";
-    sha256 = "0z4blmkyfjrkvgr12adjx7nnjrx4mvcm4zj8jp581m6rral7nf9y";
+    sha256 = "02qxgsn20m306hg3pklfa35mjlc2fqcsd1x4pi3xnbfy1nyir1d5";
   };
 
   meta = {
     homepage = http://enet.bespin.org/;
     description = "Simple and robust network communication layer on top of UDP";
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/enginepkcs11/default.nix b/pkgs/development/libraries/enginepkcs11/default.nix
index 8c570c5421d..ff40a110a33 100644
--- a/pkgs/development/libraries/enginepkcs11/default.nix
+++ b/pkgs/development/libraries/enginepkcs11/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.opensc-project.org/engine_pkcs11/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsdOriginal;
     description = "Engine for OpenSSL to use smart cards in PKCS#11 format";
   };
 }
diff --git a/pkgs/development/libraries/eventlog/default.nix b/pkgs/development/libraries/eventlog/default.nix
index 7a8ab8e464b..12da7e89603 100644
--- a/pkgs/development/libraries/eventlog/default.nix
+++ b/pkgs/development/libraries/eventlog/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
       combination of description and tag/value pairs.
     '';
     homepage = "http://www.balabit.com/support/community/products/";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
index 991c3e2fa4c..e941f0f6547 100644
--- a/pkgs/development/libraries/exempi/default.nix
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl, expat, zlib, boost }:
 
 stdenv.mkDerivation rec {
-  name = "exempi-2.2.1";
+  name = "exempi-2.2.2";
 
   src = fetchurl {
     url = "http://libopenraw.freedesktop.org/download/${name}.tar.bz2";
-    sha256 = "00d6gycl0wcyd3c71y0jp033a64z203rq0p0y07aig0s0j0477kc";
+    sha256 = "01vcd1mfn2s0iiq2cjyzgvnxx6kcq9cwra1iipijhs0vwvjx0yhf";
   };
 
-  configureFlags = [ "--with-boost=${boost}" ];
+  configureFlags = [ "--with-boost=${boost.dev}" ];
 
   buildInputs = [ expat zlib boost ];
 
   meta = with stdenv.lib; {
+    homepage = http://libopenraw.freedesktop.org/wiki/Exempi/;
     platforms = platforms.linux;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 22b6cf242c8..0702d24a80b 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -1,15 +1,21 @@
-{stdenv, fetchurl, zlib, expat}:
+{stdenv, fetchurl, fetchpatch, zlib, expat}:
 
 stdenv.mkDerivation rec {
   name = "exiv2-0.24";
-  
+
   src = fetchurl {
     url = "http://www.exiv2.org/${name}.tar.gz";
     sha256 = "13pgvz14kyapxl89pxjaq3274k56d5lzfckpg1g9z7gvqzk4797l";
   };
-  
+
+  patches = [(fetchpatch {
+    name = "CVE-2014-9449.diff";
+    url = "http://dev.exiv2.org/projects/exiv2/repository/revisions/3264/diff?format=diff&rev_to=3263";
+    sha256 = "02w0fksl966d4v6bkg6rq3wmvv8xjpvfp47qr0nv1xq0bphxqzag";
+  })];
+
   propagatedBuildInputs = [zlib expat];
-  
+
 # configure script finds zlib&expat but it thinks that they're in /usr
   configureFlags = "--with-zlib=${zlib} --with-expat=${expat}";
 
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index d7915a93962..9a49225d172 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -8,9 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.libexpat.org/;
     description = "A stream-oriented XML parser library written in C";
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.mit; # expat version
   };
 }
diff --git a/pkgs/development/libraries/faac/default.nix b/pkgs/development/libraries/faac/default.nix
index 2c4f8da7783..802aafc444c 100644
--- a/pkgs/development/libraries/faac/default.nix
+++ b/pkgs/development/libraries/faac/default.nix
@@ -1,20 +1,32 @@
-{ stdenv, fetchurl, mp4v2 }:
+{ stdenv, fetchurl
+, mp4v2Support ? true, mp4v2 ? null
+, drmSupport ? false # Digital Radio Mondiale
+}:
 
+assert mp4v2Support -> (mp4v2 != null);
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "faac-1.28";
+  name = "faac-${version}";
+  version = "1.28";
 
   src = fetchurl {
     url = "mirror://sourceforge/faac/${name}.tar.gz";
     sha256 = "1pqr7nf6p2r283n0yby2czd3iy159gz8rfinkis7vcfgyjci2565";
   };
 
-  buildInputs = [ mp4v2 ];
+  configureFlags = [ ]
+    ++ optional mp4v2Support "--with-mp4v2"
+    ++ optional drmSupport "--enable-drm";
+
+  buildInputs = [ ]
+    ++ optional mp4v2Support mp4v2;
 
   meta = {
     description = "Open source MPEG-4 and MPEG-2 AAC encoder";
-    homepage = http://www.audiocoding.com/faac.html;
-    # Incompatible with GPL. Some changes to the base code, included in faac,
-    # are under LGPL though.
-    license = "unfree-redistributable";
+    homepage    = http://www.audiocoding.com/faac.html;
+    license     = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/faad2/default.nix b/pkgs/development/libraries/faad2/default.nix
index 99177578c77..865bedf09ba 100644
--- a/pkgs/development/libraries/faad2/default.nix
+++ b/pkgs/development/libraries/faad2/default.nix
@@ -1,16 +1,25 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl
+, drmSupport ? false # Digital Radio Mondiale
+}:
 
-stdenv.mkDerivation {
-  name = "faad2-2.7";
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "faad2-${version}";
+  version = "2.7";
 
   src = fetchurl {
-    url = mirror://sourceforge/faac/faad2-2.7.tar.bz2;
+    url = "mirror://sourceforge/faac/${name}.tar.bz2";
     sha256 = "1db37ydb6mxhshbayvirm5vz6j361bjim4nkpwjyhmy4ddfinmhl";
   };
 
+  configureFlags = []
+    ++ optional drmSupport "--with-drm";
+
   meta = {
     description = "An open source MPEG-4 and MPEG-2 AAC decoder";
-    homepage = http://www.audiocoding.com/faad2.html;
-    license = stdenv.lib.licenses.gpl2;
+    homepage    = http://www.audiocoding.com/faad2.html;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/fcgi/default.nix b/pkgs/development/libraries/fcgi/default.nix
index 26ff5dd245e..f75c2117084 100644
--- a/pkgs/development/libraries/fcgi/default.nix
+++ b/pkgs/development/libraries/fcgi/default.nix
@@ -12,9 +12,11 @@ stdenv.mkDerivation rec {
 
   postInstall = "ln -s . $out/include/fastcgi";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "FastCGI  is a language independent, scalable, open extension to CG";
     homepage = http://www.fastcgi.com/;
     license = "FastCGI see LICENSE.TERMS";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/fdk-aac/default.nix b/pkgs/development/libraries/fdk-aac/default.nix
index a9c8b19dc50..2b0b027bda5 100644
--- a/pkgs/development/libraries/fdk-aac/default.nix
+++ b/pkgs/development/libraries/fdk-aac/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl
+, exampleSupport ? false # Example encoding program
+}:
 
-let version = "0.1.3";
-in
-stdenv.mkDerivation {
+with stdenv.lib;
+stdenv.mkDerivation rec {
   name = "fdk-aac-${version}";
+  version = "0.1.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/opencore-amr/fdk-aac/fdk-aac-${version}.tar.gz";
+    url = "mirror://sourceforge/opencore-amr/fdk-aac/${name}.tar.gz";
     sha256 = "138c1l6c571289czihk0vlcfbla7qlac2jd5yyps5dyg08l8gjx9";
   };
 
-  meta = with stdenv.lib; {
+  configureFlags = [ ]
+    ++ optional exampleSupport "--enable-example";
+
+  meta = {
     description = "A high-quality implementation of the AAC codec from Android";
-    homepage = "http://sourceforge.net/projects/opencore-amr/";
-    license = licenses.asl20;
-    platforms = platforms.linux;
+    homepage    = http://sourceforge.net/projects/opencore-amr/;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
new file mode 100644
index 00000000000..e674ef0b97b
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -0,0 +1,468 @@
+{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm
+/*
+ *  Licensing options (yes some are listed twice, filters and such are not listed)
+ */
+, gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab
+, version3Licensing ? true # (L)GPL3: opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
+, nonfreeLicensing ? false # NONFREE: openssl,fdkaac,faac,aacplus,blackmagic-design-desktop-video
+/*
+ *  Build options
+ */
+, smallBuild ? false # Optimize for size instead of speed
+, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime (disable to compile natively)
+, grayBuild ? true # Full grayscale support
+, swscaleAlphaBuild ? true # Alpha channel support in swscale
+, incompatibleLibavAbiBuild ? false # Incompatible Libav fork ABI
+, hardcodedTablesBuild ? true # Hardcode decode tables instead of runtime generation
+, safeBitstreamReaderBuild ? true # Buffer boundary checking in bitreaders
+, memalignHackBuild ? false # Emulate memalign
+, multithreadBuild ? true # Multithreading via pthreads/win32 threads
+, networkBuild ? true # Network support
+, pixelutilsBuild ? true # Pixel utils in libavutil
+/*
+ *  Program options
+ */
+, ffmpegProgram ? true # Build ffmpeg executable
+, ffplayProgram ? true # Build ffplay executable
+, ffprobeProgram ? true # Build ffprobe executable
+, ffserverProgram ? true # Build ffserver executable
+, qtFaststartProgram ? true # Build qt-faststart executable
+/*
+ *  Library options
+ */
+, avcodecLibrary ? true # Build avcodec library
+, avdeviceLibrary ? true # Build avdevice library
+, avfilterLibrary ? true # Build avfilter library
+, avformatLibrary ? true # Build avformat library
+, avresampleLibrary ? true # Build avresample library
+, avutilLibrary ? true # Build avutil library
+, postprocLibrary ? true # Build postproc library
+, swresampleLibrary ? true # Build swresample library
+, swscaleLibrary ? true # Build swscale library
+/*
+ *  Documentation options
+ */
+, htmlpagesDocumentation ? false # HTML documentation pages
+, manpagesDocumentation ? true # Man documentation pages
+, podpagesDocumentation ? false # POD documentation pages
+, txtpagesDocumentation ? false # Text documentation pages
+/*
+ *  External libraries options
+ */
+#, aacplusExtlib ? false, aacplus ? null # AAC+ encoder
+, alsaLib ? null # Alsa in/output support
+#, avisynth ? null # Support for reading AviSynth scripts
+, bzip2 ? null
+, celt ? null # CELT decoder
+#, crystalhd ? null # Broadcom CrystalHD hardware acceleration
+#, decklinkExtlib ? false, blackmagic-design-desktop-video ? null # Blackmagic Design DeckLink I/O support
+, faacExtlib ? false, faac ? null # AAC encoder
+, fdkaacExtlib ? false, fdk_aac ? null # Fraunhofer FDK AAC de/encoder
+#, flite ? null # Flite (voice synthesis) support
+, fontconfig ? null # Needed for drawtext filter
+, freetype ? null # Needed for drawtext filter
+, frei0r ? null # frei0r video filtering
+, fribidi ? null # Needed for drawtext filter
+, game-music-emu ? null # Game Music Emulator
+, gnutls ? null
+, gsm ? null # GSM de/encoder
+#, ilbc ? null # iLBC de/encoder
+, jack2 ? null # Jack audio (only version 2 is supported in this build)
+, ladspaH ? null # LADSPA audio filtering
+, lame ? null # LAME MP3 encoder
+, libass ? null # (Advanced) SubStation Alpha subtitle rendering
+, libbluray ? null # BluRay reading
+, libbs2b ? null # bs2b DSP library
+, libcaca ? null # Textual display (ASCII art)
+#, libcdio-paranoia ? null # Audio CD grabbing
+, libdc1394 ? null, libraw1394 ? null # IIDC-1394 grabbing (ieee 1394)
+, libiconv ? null
+#, libiec61883 ? null, libavc1394 ? null # iec61883 (also uses libraw1394)
+#, libmfx ? null # Hardware acceleration vis libmfx
+, libmodplug ? null # ModPlug support
+#, libnut ? null # NUT (de)muxer, native (de)muser exists
+, libogg ? null # Ogg container used by vorbis & theora
+, libopus ? null # Opus de/encoder
+, libsndio ? null # sndio playback/record support
+, libssh ? null # SFTP protocol
+, libtheora ? null # Theora encoder
+, libv4l ? null # Video 4 Linux support
+, libva ? null # Vaapi hardware acceleration
+, libvdpau ? null # Vdpau hardware acceleration
+, libvorbis ? null # Vorbis de/encoding, native encoder exists
+, libvpx ? null # VP8 & VP9 de/encoding
+, libwebp ? null # WebP encoder
+, libX11 ? null # Xlib support
+, libxcb ? null # X11 grabbing using XCB
+, libxcbshmExtlib ? true # X11 grabbing shm communication
+, libxcbxfixesExtlib ? true # X11 grabbing mouse rendering
+, libxcbshapeExtlib ? true # X11 grabbing shape rendering
+, libXv ? null # Xlib support
+, lzma ? null # xz-utils
+#, nvenc ? null # NVIDIA NVENC support
+, openal ? null # OpenAL 1.1 capture support
+#, opencl ? null # OpenCL code
+#, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
+#, opencv ? null # Video filtering
+, openglExtlib ? false, mesa ? null # OpenGL rendering
+#, openh264 ? null # H.264/AVC encoder
+, openjpeg_1 ? null # JPEG 2000 de/encoder
+, opensslExtlib ? false, openssl ? null
+, pulseaudio ? null # Pulseaudio input support
+, rtmpdump ? null # RTMP[E] support
+#, libquvi ? null # Quvi input support
+, samba ? null # Samba protocol
+#, schroedinger ? null # Dirac de/encoder
+, SDL ? null
+#, shine ? null # Fixed-point MP3 encoder
+, soxr ? null # Resampling via soxr
+, speex ? null # Speex de/encoder
+#, twolame ? null # MP2 encoder
+#, utvideo ? null # Ut Video de/encoder
+, vid-stab ? null # Video stabilization
+#, vo-aacenc ? null # AAC encoder
+#, vo-amrwbenc ? null # AMR-WB encoder
+, wavpack ? null # Wavpack encoder
+, x11grabExtlib ? false, libXext ? null, libXfixes ? null # X11 grabbing (legacy)
+, x264 ? null # H.264/AVC encoder
+, x265 ? null # H.265/HEVC encoder
+, xavs ? null # AVS encoder
+, xvidcore ? null # Xvid encoder, native encoder exists
+, zeromq4 ? null # Message passing
+, zlib ? null
+#, zvbi ? null # Teletext support
+/*
+ *  Developer options
+ */
+, debugDeveloper ? false
+, optimizationsDeveloper ? true
+, extraWarningsDeveloper ? false
+, strippingDeveloper ? false
+}:
+
+/* Maintainer notes:
+ *
+ * Version bumps:
+ * It should always be safe to bump patch releases (e.g. 2.1.x, x being a patch release)
+ * If adding a new branch, note any configure flags that were added, changed, or deprecated/removed
+ *   and make the necessary changes.
+ *
+ * Packages with errors:
+ *   flite ilbc schroedinger
+ *   opencv - circular dependency issue
+ *
+ * Not packaged:
+ *   aacplus avisynth cdio-paranoia crystalhd libavc1394 libiec61883
+ *   libmxf libnut libquvi nvenc opencl opencore-amr openh264 oss shine twolame
+ *   utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
+ *
+ * Need fixes to support Darwin:
+ *   frei0r, game-music-emu, gsm, jack2, libssh, libvpx(stable 1.3.0), openal, openjpeg_1,
+ *   pulseaudio, rtmpdump, samba, vid-stab, wavpack, x265. xavs
+ *
+ * Not supported:
+ *   stagefright-h264(android only)
+ *
+ * Known issues:
+ * flite: configure fails to find library
+ *   Tried modifying ffmpeg's configure script and flite to use pkg-config
+ * Cross-compiling will disable features not present on host OS
+ *   (e.g. dxva2 support [DirectX] will not be enabled unless natively compiled on Cygwin)
+ *
+ */
+
+let
+  inherit (stdenv) isCygwin isFreeBSD isLinux;
+  inherit (stdenv.lib) optional optionals enableFeature;
+in
+
+/*
+ *  Licensing dependencies
+ */
+assert version3Licensing -> gplLicensing;
+assert nonfreeLicensing -> gplLicensing && version3Licensing;
+/*
+ *  Build dependencies
+ */
+assert networkBuild -> gnutls != null || opensslExtlib;
+assert pixelutilsBuild -> avutilLibrary;
+/*
+ *  Program dependencies
+ */
+assert ffmpegProgram -> avcodecLibrary
+                     && avfilterLibrary
+                     && avformatLibrary
+                     && swresampleLibrary;
+assert ffplayProgram -> avcodecLibrary
+                     && avformatLibrary
+                     && swscaleLibrary
+                     && swresampleLibrary
+                     && SDL != null;
+assert ffprobeProgram -> avcodecLibrary && avformatLibrary;
+assert ffserverProgram -> avformatLibrary;
+/*
+ *  Library dependencies
+ */
+assert avcodecLibrary -> avutilLibrary; # configure flag since 0.6
+assert avdeviceLibrary -> avformatLibrary
+                       && avcodecLibrary
+                       && avutilLibrary; # configure flag since 0.6
+assert avformatLibrary -> avcodecLibrary && avutilLibrary; # configure flag since 0.6
+assert avresampleLibrary -> avutilLibrary;
+assert postprocLibrary -> avutilLibrary;
+assert swresampleLibrary -> soxr != null;
+assert swscaleLibrary -> avutilLibrary;
+/*
+ *  External libraries
+ */
+#assert aacplusExtlib -> nonfreeLicensing;
+#assert decklinkExtlib -> blackmagic-design-desktop-video != null
+#                                       && !isCygwin && multithreadBuild # POSIX threads required
+#                                       && nonfreeLicensing;
+assert faacExtlib -> faac != null && nonfreeLicensing;
+assert fdkaacExtlib -> fdk_aac != null && nonfreeLicensing;
+assert gnutls != null -> !opensslExtlib;
+assert libxcbshmExtlib -> libxcb != null;
+assert libxcbxfixesExtlib -> libxcb != null;
+assert libxcbshapeExtlib -> libxcb != null;
+assert openglExtlib -> mesa != null;
+assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
+assert x11grabExtlib -> libX11 != null && libXv != null;
+
+stdenv.mkDerivation rec {
+  name = "ffmpeg-${version}";
+  version = "2.6.1";
+
+  src = fetchurl {
+    url = "https://www.ffmpeg.org/releases/${name}.tar.bz2";
+    sha256 = "1hf77va46r8s05g5a5m7xx8b9vjzmqca0ajxsflsnbgf0s3kixm4";
+  };
+
+  patchPhase = ''patchShebangs .'';
+
+  configureFlags = [
+    /*
+     *  Licensing flags
+     */
+    (enableFeature gplLicensing "gpl")
+    (enableFeature version3Licensing "version3")
+    (enableFeature nonfreeLicensing "nonfree")
+    /*
+     *  Build flags
+     */
+    # On some ARM platforms --enable-thumb
+    "--enable-shared --disable-static"
+    (enableFeature true "pic")
+    (if (stdenv.cc.cc.isClang or false) then "--cc=clang" else null)
+    (enableFeature smallBuild "small")
+    (enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
+    (enableFeature grayBuild "gray")
+    (enableFeature swscaleAlphaBuild "swscale-alpha")
+    (enableFeature incompatibleLibavAbiBuild "incompatible-libav-abi")
+    (enableFeature hardcodedTablesBuild "hardcoded-tables")
+    (enableFeature safeBitstreamReaderBuild "safe-bitstream-reader")
+    (enableFeature memalignHackBuild "memalign-hack")
+    (if multithreadBuild then (
+       if isCygwin then
+         "--disable-pthreads --enable-w32threads"
+       else # Use POSIX threads by default
+         "--enable-pthreads --disable-w32threads")
+     else
+       "--disable-pthreads --disable-w32threads")
+    "--disable-os2threads" # We don't support OS/2
+    (enableFeature networkBuild "network")
+    (enableFeature pixelutilsBuild "pixelutils")
+    /*
+     *  Program flags
+     */
+    (enableFeature ffmpegProgram "ffmpeg")
+    (enableFeature ffplayProgram "ffplay")
+    (enableFeature ffprobeProgram "ffprobe")
+    (enableFeature ffserverProgram "ffserver")
+    /*
+     *  Library flags
+     */
+    (enableFeature avcodecLibrary "avcodec")
+    (enableFeature avdeviceLibrary "avdevice")
+    (enableFeature avfilterLibrary "avfilter")
+    (enableFeature avformatLibrary "avformat")
+    (enableFeature avresampleLibrary "avresample")
+    (enableFeature avutilLibrary "avutil")
+    (enableFeature (postprocLibrary && gplLicensing) "postproc")
+    (enableFeature swresampleLibrary "swresample")
+    (enableFeature swscaleLibrary "swscale")
+    /*
+     *  Documentation flags
+     */
+    (enableFeature (htmlpagesDocumentation
+          || manpagesDocumentation
+          || podpagesDocumentation
+          || txtpagesDocumentation) "doc")
+    (enableFeature htmlpagesDocumentation "htmlpages")
+    (enableFeature manpagesDocumentation "manpages")
+    (enableFeature podpagesDocumentation "podpages")
+    (enableFeature txtpagesDocumentation "txtpages")
+    /*
+     *  External libraries
+     */
+    #(enableFeature aacplus "libaacplus")
+    #(enableFeature avisynth "avisynth")
+    (enableFeature (bzip2 != null) "bzlib")
+    (enableFeature (celt != null) "libcelt")
+    #(enableFeature crystalhd "crystalhd")
+    #(enableFeature decklinkExtlib "decklink")
+    (enableFeature faacExtlib "libfaac")
+    (enableFeature (fdkaacExtlib && gplLicensing) "libfdk-aac")
+    #(enableFeature (flite != null) "libflite")
+    "--disable-libflite" # Force disable until a solution is found
+    (enableFeature (fontconfig != null) "fontconfig")
+    (enableFeature (freetype != null) "libfreetype")
+    (enableFeature (frei0r != null && gplLicensing) "frei0r")
+    (enableFeature (fribidi != null) "libfribidi")
+    (enableFeature (game-music-emu != null) "libgme")
+    (enableFeature (gnutls != null) "gnutls")
+    (enableFeature (gsm != null) "libgsm")
+    #(enableFeature (ilbc != null) "libilbc")
+    (enableFeature (ladspaH !=null) "ladspa")
+    (enableFeature (lame != null) "libmp3lame")
+    (enableFeature (libass != null) "libass")
+    #(enableFeature (libavc1394 != null) null null)
+    (enableFeature (libbluray != null) "libbluray")
+    (enableFeature (libbs2b != null) "libbs2b")
+    #(enableFeature (libcaca != null) "libcaca")
+    #(enableFeature (cdio-paranoia != null && gplLicensing) "libcdio")
+    (enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394")
+    (enableFeature (libiconv != null) "iconv")
+    #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
+    #(enableFeature (libmfx != null) "libmfx")
+    (enableFeature (libmodplug != null) "libmodplug")
+    #(enableFeature (libnut != null) "libnut")
+    (enableFeature (libopus != null) "libopus")
+    (enableFeature (libssh != null) "libssh")
+    (enableFeature (libtheora != null) "libtheora")
+    (enableFeature (if isLinux then libv4l != null else false) "libv4l2")
+    (enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi")
+    (enableFeature (libvdpau != null) "vdpau")
+    (enableFeature (libvorbis != null) "libvorbis")
+    (enableFeature (libvpx != null) "libvpx")
+    (enableFeature (libwebp != null) "libwebp")
+    (enableFeature (libX11 != null && libXv != null) "xlib")
+    (enableFeature (libxcb != null) "libxcb")
+    (enableFeature libxcbshmExtlib "libxcb-shm")
+    (enableFeature libxcbxfixesExtlib "libxcb-xfixes")
+    (enableFeature libxcbshapeExtlib "libxcb-shape")
+    (enableFeature (lzma != null) "lzma")
+    #(enableFeature nvenc "nvenc")
+    (enableFeature (openal != null) "openal")
+    #(enableFeature opencl "opencl")
+    #(enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb")
+    #(enableFeature (opencv != null) "libopencv")
+    (enableFeature openglExtlib "opengl")
+    #(enableFeature (openh264 != null) "openh264")
+    (enableFeature (openjpeg_1 != null) "libopenjpeg")
+    (enableFeature (opensslExtlib && gplLicensing) "openssl")
+    (enableFeature (pulseaudio != null) "libpulse")
+    #(enableFeature quvi "libquvi")
+    (enableFeature (rtmpdump != null) "librtmp")
+    #(enableFeature (schroedinger != null) "libschroedinger")
+    #(enableFeature (shine != null) "libshine")
+    (enableFeature (samba != null && gplLicensing && version3Licensing) "libsmbclient")
+    (enableFeature (SDL != null) "sdl") # Only configurable since 2.5, auto detected before then
+    (enableFeature (soxr != null) "libsoxr")
+    (enableFeature (speex != null) "libspeex")
+    #(enableFeature (twolame != null) "libtwolame")
+    #(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 (wavpack != null) "libwavpack")
+    (enableFeature (x11grabExtlib && gplLicensing) "x11grab")
+    (enableFeature (x264 != null && gplLicensing) "libx264")
+    (enableFeature (x265 != null && gplLicensing) "libx265")
+    (enableFeature (xavs != null && gplLicensing) "libxavs")
+    (enableFeature (xvidcore != null && gplLicensing) "libxvid")
+    (enableFeature (zeromq4 != null) "libzmq")
+    (enableFeature (zlib != null) "zlib")
+    #(enableFeature (zvbi != null && gplLicensing) "libzvbi")
+    /*
+     * Developer flags
+     */
+    (enableFeature debugDeveloper "debug")
+    (enableFeature optimizationsDeveloper "optimizations")
+    (enableFeature extraWarningsDeveloper "extra-warnings")
+    (enableFeature strippingDeveloper "stripping")
+  ];
+
+  nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
+
+  buildInputs = [
+    bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
+    jack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug
+    libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11
+    libxcb libXext libXfixes libXv lzma openal openjpeg_1 pulseaudio rtmpdump
+    samba SDL soxr speex vid-stab wavpack x264 x265 xavs xvidcore zeromq4 zlib
+  ] ++ optional openglExtlib mesa
+    ++ optionals x11grabExtlib [ libXext libXfixes ]
+    ++ optionals nonfreeLicensing [ faac fdk_aac openssl ]
+    ++ optional ((isLinux || isFreeBSD) && libva != null) libva
+    ++ optionals isLinux [ alsaLib libraw1394 libv4l ];
+
+  # Build qt-faststart executable
+  buildPhase = optional qtFaststartProgram ''make tools/qt-faststart'';
+  postInstall = optional qtFaststartProgram ''cp -a tools/qt-faststart $out/bin/'';
+
+  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 = let
+    os = ''
+      if [ "${stdenv.cross.config}" = "*cygwin*" ] ; then
+        # Probably should look for mingw too
+        echo "cygwin"
+      elif [ "${stdenv.cross.config}" = "*darwin*" ] ; then
+        echo "darwin"
+      elif [ "${stdenv.cross.config}" = "*freebsd*" ] ; then
+        echo "freebsd"
+      elif [ "${stdenv.cross.config}" = "*linux*" ] ; then
+        echo "linux"
+      elif [ "${stdenv.cross.config}" = "*netbsd*" ] ; then
+        echo "netbsd"
+      elif [ "${stdenv.cross.config}" = "*openbsd*" ] ; then
+        echo "openbsd"
+      fi
+    '';
+  in {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=${os}"
+      "--arch=${stdenv.cross.arch}"
+    ];
+  };
+
+  meta = with stdenv.lib; {
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    homepage = http://www.ffmpeg.org/;
+    longDescription = ''
+      FFmpeg is the leading multimedia framework, able to decode, encode, transcode, 
+      mux, demux, stream, filter and play pretty much anything that humans and machines 
+      have created. It supports the most obscure ancient formats up to the cutting edge. 
+      No matter if they were designed by some standards committee, the community or 
+      a corporation. 
+    '';
+    license = (
+      if nonfreeLicensing then
+        licenses.unfreeRedistributable
+      else if version3Licensing then
+        licenses.gpl3
+      else if gplLicensing then
+        licenses.gpl2Plus
+      else
+        licenses.lgpl21Plus
+    );
+    platforms = platforms.all;
+    maintainers = with maintainers; [ codyopel fuuzetsu ];
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg/0.10.nix b/pkgs/development/libraries/ffmpeg/0.10.nix
index 8ffe2daebf6..bad142f6f96 100644
--- a/pkgs/development/libraries/ffmpeg/0.10.nix
+++ b/pkgs/development/libraries/ffmpeg/0.10.nix
@@ -1,87 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2
-, mp3Support ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, vorbisSupport ? true, libvorbis ? null
-, vpxSupport ? false, libvpx ? null
-, x264Support ? true, x264 ? null
-, xvidSupport ? true, xvidcore ? null
-, vdpauSupport ? true, libvdpau ? null
-, faacSupport ? false, faac ? null
-, dc1394Support ? false, libdc1394 ? null
-}:
+{ callPackage, ... } @ args:
 
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert vorbisSupport -> libvorbis != null;
-assert vpxSupport -> libvpx != null;
-assert x264Support -> x264 != null;
-assert xvidSupport -> xvidcore != null;
-assert vdpauSupport -> libvdpau != null;
-assert faacSupport -> faac != null;
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-0.10.14";
-
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "1frkz3971zc2a60ras5ia26b2h8wbh017x1x80q8cfw0ycrpbxqy";
-  };
-
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--disable-ffplay"
-    "--enable-shared"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
-    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394";
-
-  buildInputs = [ pkgconfig lame yasm zlib bzip2 ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional faacSupport faac
-    ++ stdenv.lib.optional dc1394Support libdc1394;
-
-  enableParallelBuilding = true;
-
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  passthru = {
-    inherit vdpauSupport;
-  };
-
-  meta = with stdenv.lib; {
-    homepage    = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
-  };
-}
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.15";
+  branch = "0.10";
+  sha256 = "0p9x559fpj4zxll7rn3kwdig6y66c3ahv3pddmz23lljq5rvyvcb";
+})
diff --git a/pkgs/development/libraries/ffmpeg/0.11.nix b/pkgs/development/libraries/ffmpeg/0.11.nix
new file mode 100644
index 00000000000..abdb2666877
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/0.11.nix
@@ -0,0 +1,7 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.5";
+  branch = "0.11";
+  sha256 = "1h5qwn4h7sppqw36hri5p6zlv2387vwaxh2pyj070xfn8hgrk4ll";
+})
diff --git a/pkgs/development/libraries/ffmpeg/0.6.90.nix b/pkgs/development/libraries/ffmpeg/0.6.90.nix
deleted file mode 100644
index 7455410d51a..00000000000
--- a/pkgs/development/libraries/ffmpeg/0.6.90.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, yasm
-, mp3Support ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, vorbisSupport ? true, libvorbis ? null
-, vpxSupport ? false, libvpx ? null
-, x264Support ? true, x264 ? null
-, xvidSupport ? true, xvidcore ? null
-, vdpauSupport ? true, libvdpau ? null
-, faacSupport ? false, faac ? null
-}:
-
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert vorbisSupport -> libvorbis != null;
-assert vpxSupport -> libvpx != null;
-assert x264Support -> x264 != null;
-assert xvidSupport -> xvidcore != null;
-assert vdpauSupport -> libvdpau != null;
-assert faacSupport -> faac != null;
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-0.6.90-rc0";
-
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "1xn9fmpq2cbf1bx1gxbxnas8fq02gb8bmvvg5vjjxyw9lz5zw49f";
-  };
-
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--disable-ffserver"
-    "--disable-ffplay"
-    "--enable-shared"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree";
-
-  buildInputs = [ pkgconfig lame yasm ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional faacSupport faac;
-
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  meta = {
-    homepage = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/ffmpeg/0.6.nix b/pkgs/development/libraries/ffmpeg/0.6.nix
deleted file mode 100644
index 053843d5313..00000000000
--- a/pkgs/development/libraries/ffmpeg/0.6.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, yasm
-, mp3Support ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, vorbisSupport ? true, libvorbis ? null
-, vpxSupport ? false, libvpx ? null
-, x264Support ? true, x264 ? null
-, xvidSupport ? true, xvidcore ? null
-, vdpauSupport ? true, libvdpau ? null
-, faacSupport ? false, faac ? null
-}:
-
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert vorbisSupport -> libvorbis != null;
-assert vpxSupport -> libvpx != null;
-assert x264Support -> x264 != null;
-assert xvidSupport -> xvidcore != null;
-assert vdpauSupport -> libvdpau != null;
-assert faacSupport -> faac != null;
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-0.6.7";
-
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "13l78gv2qhyw05bl9s6wkmykzsn4p04bb69a849a5c4hiffwz837";
-  };
-
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--disable-ffserver"
-    "--disable-ffplay"
-    "--enable-shared"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree";
-
-  buildInputs = [ pkgconfig lame yasm ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional faacSupport faac;
-
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  meta = {
-    homepage = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-  };
-}
diff --git a/pkgs/development/libraries/ffmpeg/1.2.nix b/pkgs/development/libraries/ffmpeg/1.2.nix
new file mode 100644
index 00000000000..c87cf581c76
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/1.2.nix
@@ -0,0 +1,7 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.12";
+  branch = "1.2";
+  sha256 = "0za9w87rk4x6wkjc6iaxqx2ihlsgj181ilfgxfjc54mdgxfcjfli";
+})
diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix
deleted file mode 100644
index e2aa336d5d2..00000000000
--- a/pkgs/development/libraries/ffmpeg/1.x.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
-, mp3Support ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, vorbisSupport ? true, libvorbis ? null
-, vpxSupport ? false, libvpx ? null
-, x264Support ? true, x264 ? null
-, xvidSupport ? true, xvidcore ? null
-, opusSupport ? true, libopus ? null
-, vdpauSupport ? true, libvdpau ? null
-, vaapiSupport ? true, libva ? null
-, faacSupport ? false, faac ? null
-, dc1394Support ? false, libdc1394 ? null
-, x11grabSupport ? false, libXext ? null, libXfixes ? null
-, playSupport ? true, SDL ? null
-, freetypeSupport ? true, freetype ? null, fontconfig ? null
-}:
-
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert vorbisSupport -> libvorbis != null;
-assert vpxSupport -> libvpx != null;
-assert x264Support -> x264 != null;
-assert xvidSupport -> xvidcore != null;
-assert opusSupport -> libopus != null;
-assert vdpauSupport -> libvdpau != null;
-assert vaapiSupport -> libva != null;
-assert faacSupport -> faac != null;
-assert x11grabSupport -> libXext != null && libXfixes != null;
-assert playSupport -> SDL != null;
-assert freetypeSupport -> freetype != null;
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-1.2.8";
-
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "0n9fklr8zqkd60dc5ai161l6k4dbiac5hqy0pi1w82yamc25k6s2";
-  };
-
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--enable-shared"
-    "--enable-avresample"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional opusSupport "--enable-libopus"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
-    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
-    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
-    ++ stdenv.lib.optional playSupport "--enable-ffplay"
-    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig";
-
-  buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional opusSupport libopus
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional vaapiSupport libva
-    ++ stdenv.lib.optional faacSupport faac
-    ++ stdenv.lib.optional dc1394Support libdc1394
-    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
-    ++ stdenv.lib.optional playSupport SDL
-    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ];
-
-  enableParallelBuilding = true;
-
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  passthru = {
-    inherit vdpauSupport;
-  };
-
-  meta = {
-    homepage = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-  };
-}
diff --git a/pkgs/development/libraries/ffmpeg/2.2.nix b/pkgs/development/libraries/ffmpeg/2.2.nix
new file mode 100644
index 00000000000..e382fe7154d
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/2.2.nix
@@ -0,0 +1,7 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.13";
+  branch = "2.2";
+  sha256 = "1vva8ffwxi3rg44byy09qlbiqrrd1h4rmsl5b1mbmvzvwl1lq1l0";
+})
diff --git a/pkgs/development/libraries/ffmpeg/2.6.nix b/pkgs/development/libraries/ffmpeg/2.6.nix
new file mode 100644
index 00000000000..9e097ddfebb
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/2.6.nix
@@ -0,0 +1,7 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.1";
+  branch = "2.6";
+  sha256 = "1hf77va46r8s05g5a5m7xx8b9vjzmqca0ajxsflsnbgf0s3kixm4";
+})
diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
deleted file mode 100644
index 8a25c4812b2..00000000000
--- a/pkgs/development/libraries/ffmpeg/2.x.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-{ stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl
-, lame, speex, libass, libtheora, libvorbis, libvpx, x264, xvidcore, libopus
-, libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL
-, freetype, fontconfig, fdk_aac, gnutls
-}:
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-2.3.3";
-
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "0ik4c06anh49r5b0d3rq9if4zl6ysjsa341655kzw22fl880sk5v";
-  };
-
-  subtitleSupport = config.ffmpeg.subtitle or true;
-  mp3Support = config.ffmpeg.mp3 or true;
-  speexSupport = config.ffmpeg.speex or true;
-  theoraSupport = config.ffmpeg.theora or true;
-  vorbisSupport = config.ffmpeg.vorbis or true;
-  vpxSupport = config.ffmpeg.vpx or true;
-  x264Support = config.ffmpeg.x264 or true;
-  xvidSupport = config.ffmpeg.xvid or true;
-  opusSupport = config.ffmpeg.opus or true;
-  vdpauSupport = config.ffmpeg.vdpau or true;
-  vaapiSupport = config.ffmpeg.vaapi or true;
-  faacSupport = config.ffmpeg.faac or false;
-  fdkAACSupport = config.ffmpeg.fdk or false;
-  dc1394Support = config.ffmpeg.dc1394 or false;
-  x11grabSupport = config.ffmpeg.x11grab or false;
-  playSupport = config.ffmpeg.play or true;
-  freetypeSupport = config.ffmpeg.freetype or true;
-  gnutlsSupport = config.ffmpeg.gnutls or true;
-
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--enable-shared"
-    "--enable-avresample"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) "--enable-libass"
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional opusSupport "--enable-libopus"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
-    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
-    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
-    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) "--enable-ffplay"
-    ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
-    ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree"
-    ++ stdenv.lib.optional gnutlsSupport "--enable-gnutls";
-
-  buildInputs = [ pkgconfig lame yasm zlib bzip2 texinfo perl ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional opusSupport libopus
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional vaapiSupport libva
-    ++ stdenv.lib.optional faacSupport faac
-    ++ stdenv.lib.optional dc1394Support libdc1394
-    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
-    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) SDL
-    ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
-    ++ stdenv.lib.optional fdkAACSupport fdk_aac
-    ++ stdenv.lib.optional gnutlsSupport gnutls
-    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) libass
-    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
-
-  enableParallelBuilding = true;
-
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  passthru = {
-    inherit vdpauSupport;
-  };
-
-  meta = {
-    homepage = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-    license = if (fdkAACSupport || faacSupport) then stdenv.lib.licenses.unfree else stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
new file mode 100644
index 00000000000..1f127d948af
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -0,0 +1,195 @@
+{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm
+, alsaLib, bzip2, fontconfig, freetype, libiconv, lame, libass, libogg, libtheora
+, libva, libvdpau, libvorbis, libvpx, lzma, pulseaudio, SDL, soxr, x264
+, xvidcore, zlib
+, openglSupport ? false, mesa ? null
+# Build options
+, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
+, multithreadBuild ? true # Multithreading via pthreads/win32 threads
+# Developer options
+, debugDeveloper ? false
+, optimizationsDeveloper ? true
+, extraWarningsDeveloper ? false
+# Inherit generics
+, branch, sha256, version, ...
+}:
+
+/* Maintainer notes:
+ *
+ * THIS IS A MINIMAL BUILD OF FFMPEG, do not include dependencies unless
+ * a build that depends on ffmpeg requires them to be compiled into ffmpeg,
+ * see `ffmpeg-full' for an ffmpeg build with all features included.
+ *
+ * Need fixes to support Darwin:
+ *   libvpx pulseaudio
+ *
+ * Known issues:
+ * 0.6     - fails to compile (unresolved) (so far, only disabling a number of
+ *           features works, but that is not a feasible solution)
+ * 0.6.90  - mmx: compile errors (fix: disable for 0.6.90-rc0)
+ * 1.1     - libsoxr: compile error (fix: disable for 1.1)
+ *           Support was initially added in 1.1 before soxr api change, fix
+ *           would probably be to add soxr-1.0
+ * ALL     - Cross-compiling will disable features not present on host OS
+ *           (e.g. dxva2 support [DirectX] will not be enabled unless natively
+ *           compiled on Cygwin)
+ *
+ */
+
+let
+  inherit (stdenv) icCygwin isDarwin isFreeBSD isLinux;
+  inherit (stdenv.lib) optional optionals enableFeature;
+
+  cmpVer = builtins.compareVersions;
+  reqMin = requiredVersion: (cmpVer requiredVersion branch != 1);
+  reqMatch = requiredVersion: (cmpVer requiredVersion branch == 0);
+
+  ifMinVer = minVer: flag: if reqMin minVer then flag else null;
+
+  # Version specific fix
+  verFix = withoutFix: fixVer: withFix: if reqMatch fixVer then withFix else withoutFix;
+
+  # Disable dependency that needs fixes before it will work on Darwin
+  disDarwinFix = origArg: minVer: fixArg: if (isDarwin && reqMin minVer) then fixArg else origArg;
+in
+
+assert openglSupport -> mesa != null;
+
+stdenv.mkDerivation rec {
+
+  name = "ffmpeg-${version}";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://www.ffmpeg.org/releases/${name}.tar.bz2";
+    inherit sha256;
+  };
+
+  patchPhase = ''patchShebangs .'';
+
+  configureFlags = [
+    # License
+      "--enable-gpl"
+      "--enable-version3"
+    # Build flags
+      "--enable-shared"
+      "--disable-static"
+      (ifMinVer "0.6" "--enable-pic")
+      (enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
+      "--enable-hardcoded-tables"
+      (if multithreadBuild then (
+         if stdenv.isCygwin then
+           "--disable-pthreads --enable-w32threads"
+         else # Use POSIX threads by default
+           "--enable-pthreads --disable-w32threads")
+       else
+         "--disable-pthreads --disable-w32threads")
+      (ifMinVer "0.9" "--disable-os2threads") # We don't support OS/2
+      (ifMinVer "2.4" "--enable-pixelutils")
+    # Executables
+      "--enable-ffmpeg"
+      "--disable-ffplay"
+      (ifMinVer "0.6" "--enable-ffprobe")
+      "--disable-ffserver"
+    # Libraries
+      (ifMinVer "0.6" "--enable-avcodec")
+      (ifMinVer "0.6" "--enable-avdevice")
+      "--enable-avfilter"
+      (ifMinVer "0.6" "--enable-avformat")
+      (ifMinVer "1.0" "--enable-avresample")
+      (ifMinVer "1.1" "--enable-avutil")
+      "--enable-postproc"
+      (ifMinVer "0.9" "--enable-swresample")
+      "--enable-swscale"
+    # Docs
+      (ifMinVer "0.6" "--disable-doc")
+    # External Libraries
+      "--enable-bzlib"
+      (ifMinVer "1.0" "--enable-fontconfig")
+      (ifMinVer "0.7" "--enable-libfreetype")
+      "--enable-libmp3lame"
+      (ifMinVer "1.2" "--enable-iconv")
+      "--enable-libtheora"
+      (ifMinVer "0.6" (enableFeature (isLinux || isFreeBSD) "vaapi"))
+      "--enable-vdpau"
+      "--enable-libvorbis"
+      (disDarwinFix (ifMinVer "0.6" "--enable-libvpx") "0.6" "--disable-libvpx")
+      (ifMinVer "2.4" "--enable-lzma")
+      (ifMinVer "2.2" (enableFeature openglSupport "opengl"))
+      (disDarwinFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
+      (ifMinVer "2.5" "--enable-sdl") # Only configurable since 2.5, auto detected before then
+      (ifMinVer "1.2" "--enable-libsoxr")
+      "--enable-libx264"
+      "--enable-libxvid"
+      "--enable-zlib"
+    # Developer flags
+      (enableFeature debugDeveloper "debug")
+      (enableFeature optimizationsDeveloper "optimizations")
+      (enableFeature extraWarningsDeveloper "extra-warnings")
+      "--disable-stripping"
+    # Disable mmx support for 0.6.90
+      (verFix null "0.6.90" "--disable-mmx")
+  ] ++ optional (stdenv.cc.cc.isClang or false) "--cc=clang";
+
+  nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
+
+  buildInputs = [
+    bzip2 fontconfig freetype libiconv lame libass libogg libtheora libvdpau
+    libvorbis lzma SDL soxr x264 xvidcore zlib
+  ] ++ optional openglSupport mesa
+    ++ optionals (!isDarwin) [ libvpx pulseaudio ] # Need to be fixed on Darwin
+    ++ optional (isLinux || isFreeBSD) libva
+    ++ optional isLinux alsaLib;
+
+  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 = let
+    os = ''
+      if [ "${stdenv.cross.config}" = "*cygwin*" ] ; then
+        # Probably should look for mingw too
+        echo "cygwin"
+      elif [ "${stdenv.cross.config}" = "*darwin*" ] ; then
+        echo "darwin"
+      elif [ "${stdenv.cross.config}" = "*freebsd*" ] ; then
+        echo "freebsd"
+      elif [ "${stdenv.cross.config}" = "*linux*" ] ; then
+        echo "linux"
+      elif [ "${stdenv.cross.config}" = "*netbsd*" ] ; then
+        echo "netbsd"
+      elif [ "${stdenv.cross.config}" = "*openbsd*" ] ; then
+        echo "openbsd"
+      fi
+    '';
+  in {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=${os}"
+      "--arch=${stdenv.cross.arch}"
+    ];
+  };
+
+  passthru = {
+    vaapiSupport = if reqMin "0.6" && (isLinux || isFreeBSD) then true else false;
+    vdpauSupport = true;
+  };
+
+  meta = with stdenv.lib; {
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+    homepage = http://www.ffmpeg.org/;
+    longDescription = ''
+      FFmpeg is the leading multimedia framework, able to decode, encode, transcode, 
+      mux, demux, stream, filter and play pretty much anything that humans and machines 
+      have created. It supports the most obscure ancient formats up to the cutting edge. 
+      No matter if they were designed by some standards committee, the community or 
+      a corporation. 
+    '';
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ codyopel fuuzetsu ];
+    inherit branch;
+  };
+}
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index c394fd07028..6f78c198f40 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, zlib, ffmpeg, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "ffms-2.19";
+  name = "ffms-2.20";
 
   src = fetchurl {
-    url = https://codeload.github.com/FFMS/ffms2/tar.gz/2.19;
+    url = https://codeload.github.com/FFMS/ffms2/tar.gz/2.20;
     name = "${name}.tar.gz";
-    sha256 = "0498si8bzwyxxq0f1yc6invzb1lv1ab436gwzn9418839x8pj4vg";
+    sha256 = "183klnhl57zf0i8xlr7yvj89ih83pzd48c37qpr57hjn4wbq1n67";
   };
 
   NIX_CFLAGS_COMPILE = "-fPIC";
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://code.google.com/p/ffmpegsource/;
     description = "Libav/ffmpeg based source library for easy frame accurate access";
     license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 83735376b98..104b7229bb1 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -16,16 +16,20 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--enable-shared" "--disable-static"
-      "--enable-threads" "--enable-openmp" # very small wrappers
+      "--enable-threads"
     ]
     ++ optional (precision != "double") "--enable-${precision}"
     # all x86_64 have sse2
-    ++ optional stdenv.isx86_64 "--enable-sse2";
+    ++ optional stdenv.isx86_64 "--enable-sse2"
+    ++ optional (stdenv.cc.cc.isGNU or false) "--enable-openmp";
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Fastest Fourier Transform in the West library";
     homepage = http://www.fftw.org/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/filter_audio/default.nix b/pkgs/development/libraries/filter_audio/default.nix
new file mode 100644
index 00000000000..3082e11efbf
--- /dev/null
+++ b/pkgs/development/libraries/filter_audio/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, utillinux }:
+
+stdenv.mkDerivation rec {
+  name = "filter_audio-${version}";
+  version = "76428a6cda43ae77f3936f4527c5f86eb3a5e211";
+
+  src = fetchFromGitHub {
+    owner  = "irungentoo";
+    repo   = "filter_audio";
+    rev    = "${version}";
+    sha256 = "0c4wp9a7dzbj9ykfkbsxrkkyy0nz7vyr5map3z7q8bmv9pjylbk9";
+  };
+
+  buildInputs = [ utillinux ];
+  makeFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "An easy to use audio filtering library made from webrtc code";
+    homepage    = https://github.com/irungentoo/filter_audio;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ np ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/flann/default.nix b/pkgs/development/libraries/flann/default.nix
index 4e4391a50f7..145d2b42a9d 100644
--- a/pkgs/development/libraries/flann/default.nix
+++ b/pkgs/development/libraries/flann/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "flann-1.8.4";
-  
+
   src = fetchurl {
     url = http://people.cs.ubc.ca/~mariusm/uploads/FLANN/flann-1.8.4-src.zip;
     sha256 = "022w8hph7bli5zbpnk3z1qh1c2sl5hm8fw2ccim651ynn0hr7fyz";
@@ -10,11 +10,14 @@ stdenv.mkDerivation {
 
   buildInputs = [ unzip cmake python ];
 
+  # patch out examples in Darwin because they do not compile.
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-examples.patch ];
+
   meta = {
     homepage = http://people.cs.ubc.ca/~mariusm/flann/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     description = "Fast approximate nearest neighbor searches in high dimensional spaces";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/flann/no-examples.patch b/pkgs/development/libraries/flann/no-examples.patch
new file mode 100644
index 00000000000..95a6f0eed8e
--- /dev/null
+++ b/pkgs/development/libraries/flann/no-examples.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt	
++++ b/CMakeLists.txt	
+@@ -155,7 +155,7 @@
+
+ add_subdirectory( cmake )
+ add_subdirectory( src )
+-add_subdirectory( examples )
++#add_subdirectory( examples )
+ add_subdirectory( test )
+ add_subdirectory( doc )
diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix
index 85896cdb5e3..bf690c020cb 100644
--- a/pkgs/development/libraries/flite/default.nix
+++ b/pkgs/development/libraries/flite/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "flite-1.4";
+  name = "flite-1.9.0";
 
   src = fetchurl {
-    url = "http://www.speech.cs.cmu.edu/flite/packed/${name}/${name}-release.tar.bz2";
-    sha256 = "036dagsydi0qh71ayi6jshfi3ik2md1az3gpi42md9pc18b65ij5";
+    url = "http://www.festvox.org/bard/${name}-current.tar.bz2";
+    sha256 = "197cc2a1f045b1666a29a9b5f035b3d676db6db94a4439d99a03b65e551ae2e0";
   };
 
   buildInputs = [ pkgconfig ];
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A small, fast run-time speech synthesis engine";
-    homepage = http://www.speech.cs.cmu.edu/flite/index.html; 
-    license = "free-non-copyleft";
+    homepage = http://www.festvox.org/flite/;
+    license = stdenv.lib.licenses.free;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
-
diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix
index 78b70eebd7e..f014c4cecb6 100644
--- a/pkgs/development/libraries/fmod/default.nix
+++ b/pkgs/development/libraries/fmod/default.nix
@@ -5,7 +5,7 @@ let
   bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64";
 
   libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.libc stdenv.gcc.gcc ] + ":${stdenv.gcc.gcc}/lib64";
+    [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc}/lib64";
   patchLib = x: "patchelf --set-rpath ${libPath} ${x}";
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
new file mode 100644
index 00000000000..180de724d95
--- /dev/null
+++ b/pkgs/development/libraries/folly/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, boost, libevent, double_conversion, glog
+, google-gflags, python, libiberty, openssl }:
+
+stdenv.mkDerivation rec {
+  version = "0.32.0";
+  name = "folly-${version}";
+
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "folly";
+    rev = "v${version}";
+    sha256 = "0yviih6b220bv6d1rg4lx1hqprqapnzfv4rv64cwjxbmz49ckmzh";
+  };
+
+  buildInputs = [ libiberty boost.lib libevent double_conversion glog google-gflags openssl ];
+
+  nativeBuildInputs = [ autoreconfHook python boost ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/folly";
+  preBuild = ''
+    patchShebangs build
+  '';
+
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "An open-source C++ library developed and used at Facebook";
+    homepage = https://github.com/facebook/folly;
+    license = licenses.mit;
+    # 32bit is not supported: https://github.com/facebook/folly/issues/103
+    platforms = [ "x86_64-linux" ];
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/development/libraries/fontconfig-ultimate/confd.nix b/pkgs/development/libraries/fontconfig-ultimate/confd.nix
new file mode 100644
index 00000000000..e522cead822
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig-ultimate/confd.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "fontconfig-ultimate-20141123";
+  src = fetchurl {
+    url = "https://github.com/bohoomil/fontconfig-ultimate/archive/2014-11-23.tar.gz";
+    sha256 = "0czfm3hxc41x5mscwrba7p1vhm2w62j1qg7z8kfdrf21z8fvgznw";
+  };
+
+  phases = "$prePhases unpackPhase installPhase $postPhases";
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    cp conf.d.infinality/*.conf $out/etc/fonts/conf.d
+
+    # Base rendering settings will be determined by NixOS module
+    rm $out/etc/fonts/conf.d/10-base-rendering.conf
+
+    # Options controlled by NixOS module
+    rm $out/etc/fonts/conf.d/35-repl-custom.conf
+    rm $out/etc/fonts/conf.d/38-repl-*.conf
+    rm $out/etc/fonts/conf.d/82-*.conf
+    rm $out/etc/fonts/conf.d/83-*.conf
+
+    # Inclusion of local and user configs handled by global configuration
+    rm $out/etc/fonts/conf.d/97-local.conf
+    rm $out/etc/fonts/conf.d/98-user.conf
+
+    cp fontconfig_patches/fonts-settings/*.conf $out/etc/fonts/conf.d
+
+    mkdir -p $out/etc/fonts/presets/{combi,free,ms}
+    cp fontconfig_patches/combi/*.conf $out/etc/fonts/presets/combi
+    cp fontconfig_patches/free/*.conf $out/etc/fonts/presets/free
+    cp fontconfig_patches/ms/*.conf $out/etc/fonts/presets/ms
+  '';
+}
diff --git a/pkgs/development/libraries/fontconfig-ultimate/default.nix b/pkgs/development/libraries/fontconfig-ultimate/default.nix
new file mode 100644
index 00000000000..aa799d850d7
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig-ultimate/default.nix
@@ -0,0 +1,6 @@
+{ callPackage }:
+
+{
+  confd = callPackage ./confd.nix {};
+  rendering = callPackage ./rendering.nix {};
+}
diff --git a/pkgs/development/libraries/fontconfig-ultimate/rendering.nix b/pkgs/development/libraries/fontconfig-ultimate/rendering.nix
new file mode 100644
index 00000000000..b1de43b49b2
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig-ultimate/rendering.nix
@@ -0,0 +1,212 @@
+{}:
+
+rec {
+  default = {
+    INFINALITY_FT_FILTER_PARAMS="11 22 38 22 11";
+    INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH="0";
+    INFINALITY_FT_FRINGE_FILTER_STRENGTH="0";
+    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="10";
+    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="25";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="10";
+    INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="25";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="25";
+    INFINALITY_FT_GAMMA_CORRECTION="0 100";
+    INFINALITY_FT_BRIGHTNESS="0";
+    INFINALITY_FT_CONTRAST="0";
+    INFINALITY_FT_USE_VARIOUS_TWEAKS="true";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="true";
+    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="100";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="40";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="true";
+    INFINALITY_FT_GLOBAL_EMBOLDEN_X_VALUE="0";
+    INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE="0";
+    INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE="0";
+    INFINALITY_FT_BOLD_EMBOLDEN_Y_VALUE="0";
+  };
+
+  osx = default // {
+    INFINALITY_FT_FILTER_PARAMS="03 32 38 32 03";
+    INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH="25";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_GAMMA_CORRECTION="1000 80";
+    INFINALITY_FT_BRIGHTNESS="10";
+    INFINALITY_FT_CONTRAST="20";
+    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
+    INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE="8";
+    INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE="16";
+  };
+
+  ipad = default // {
+    INFINALITY_FT_FILTER_PARAMS="00 00 100 00 00";
+    INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH="100";
+    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="0";
+    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="0";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_GAMMA_CORRECTION="1000 80";
+    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
+  };
+
+  ubuntu = default // {
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_GAMMA_CORRECTION="1000 80";
+    INFINALITY_FT_BRIGHTNESS="-10";
+    INFINALITY_FT_CONTRAST="15";
+    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
+  };
+
+  linux = default // {
+    INFINALITY_FT_FILTER_PARAMS="06 25 44 25 06";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="100";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
+  };
+
+  winxplight = default // {
+    INFINALITY_FT_FILTER_PARAMS="06 25 44 25 06";
+    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="15";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="15";
+    INFINALITY_FT_GAMMA_CORRECTION="1000 120";
+    INFINALITY_FT_BRIGHTNESS="20";
+    INFINALITY_FT_CONTRAST="30";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
+  };
+
+  win7light = default // {
+    INFINALITY_FT_FILTER_PARAMS="20 25 38 25 05";
+    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="100";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_GAMMA_CORRECTION="1000 160";
+    INFINALITY_FT_CONTRAST="20";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
+  };
+
+  winxp = default // {
+    INFINALITY_FT_FILTER_PARAMS="06 25 44 25 06";
+    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="15";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="15";
+    INFINALITY_FT_GAMMA_CORRECTION="1000 120";
+    INFINALITY_FT_BRIGHTNESS="10";
+    INFINALITY_FT_CONTRAST="20";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
+  };
+
+  win7 = default // {
+    INFINALITY_FT_FILTER_PARAMS="20 25 42 25 06";
+    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_GAMMA_CORRECTION="1000 120";
+    INFINALITY_FT_BRIGHTNESS="10";
+    INFINALITY_FT_CONTRAST="20";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
+  };
+
+  vanilla = default // {
+    INFINALITY_FT_FILTER_PARAMS="06 25 38 25 06";
+    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="0";
+    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="0";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
+    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
+    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
+  };
+
+  classic = default // {
+    INFINALITY_FT_FILTER_PARAMS="06 25 38 25 06";
+    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="0";
+    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="0";
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
+  };
+
+  nudge = default // {
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
+    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
+  };
+
+  push = default // {
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="75";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="50";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
+  };
+
+  infinality = default // {
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="5";
+  };
+
+  shove = default // {
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
+    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="100";
+    INFINALITY_FT_STEM_FITTING_STRENGTH="100";
+    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
+  };
+
+  sharpened = default // {
+    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
+  };
+
+  ultimate = {
+    INFINALITY_FT_FILTER_PARAMS="08 24 36 24 08";
+    INFINALITY_FT_FRINGE_FILTER_STRENGTH="50";
+    INFINALITY_FT_USE_VARIOUS_TWEAKS="true";
+    INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH="20";
+  };
+
+  ultimate-lighter = ultimate // {
+    INFINALITY_FT_FILTER_PARAMS="06 22 36 22 06";
+  };
+
+  ultimate-lightest = ultimate // {
+    INFINALITY_FT_FILTER_PARAMS="04 22 38 22 04";
+  };
+
+  ultimate-darker = ultimate // {
+    INFINALITY_FT_FILTER_PARAMS="10 25 37 25 10";
+  };
+
+  ultimate-darkest = ultimate // {
+    INFINALITY_FT_FILTER_PARAMS="12 28 42 28 12";
+  };
+}
diff --git a/pkgs/development/libraries/fontconfig/2.10.nix b/pkgs/development/libraries/fontconfig/2.10.nix
new file mode 100644
index 00000000000..2951dbb44d4
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig/2.10.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, pkgconfig, freetype, expat }:
+
+stdenv.mkDerivation rec {
+  name = "fontconfig-2.10.2";
+
+  src = fetchurl {
+    url = "http://fontconfig.org/release/${name}.tar.bz2";
+    sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
+  };
+
+  infinality_patch =
+    let subvers = "1";
+      in fetchurl {
+        url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2;
+        sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
+      }
+    ;
+
+  propagatedBuildInputs = [ freetype ];
+  buildInputs = [ pkgconfig expat ];
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--with-cache-dir=/var/cache/fontconfig"
+    "--disable-docs"
+    "--with-default-fonts="
+  ];
+
+  # We should find a better way to access the arch reliably.
+  crossArch = stdenv.cross.arch or null;
+
+  preConfigure = ''
+    if test -n "$crossConfig"; then
+      configureFlags="$configureFlags --with-arch=$crossArch";
+    fi
+  '';
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  # Don't try to write to /var/cache/fontconfig at install time.
+  installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
+
+  postInstall = ''
+    cd "$out/etc/fonts" && tar xvf ${infinality_patch}
+  '';
+
+  passthru = {
+    # Empty for backward compatibility, there was no versioning before 2.11
+    configVersion = "";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A library for font customization and configuration";
+    homepage = http://fontconfig.org/;
+    license = licenses.bsd2; # custom but very bsd-like
+    platforms = platforms.all;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
diff --git a/pkgs/development/libraries/fontconfig/builder.sh b/pkgs/development/libraries/fontconfig/builder.sh
deleted file mode 100644
index d755bca64e3..00000000000
--- a/pkgs/development/libraries/fontconfig/builder.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-source $stdenv/setup
-
-configureFlags="--with-confdir=$out/etc/fonts --disable-docs"
-
-genericBuild
diff --git a/pkgs/development/libraries/fontconfig/config-compat.patch b/pkgs/development/libraries/fontconfig/config-compat.patch
new file mode 100644
index 00000000000..e86f08fb553
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig/config-compat.patch
@@ -0,0 +1,28 @@
+commit 05c6adf8104b4321d3a3716a7b9feb6bf223ed0c (HEAD, nixpkgs)
+Author: Vladimír Čunát <vcunat@gmail.com>
+Date:   Tue Nov 4 12:24:25 2014 +0100
+
+    add check for /etc/fonts/@configVersion@/fonts.conf
+    
+    It's checked between FONTCONFIG_FILE and the usual /etc/fonts/fonts.conf.
+    Also, hardcode /etc/fonts/fonts.conf to prevent accidental override.
+
+diff --git a/src/fccfg.c b/src/fccfg.c
+index 6377fd7..e9eb10a 100644
+--- a/src/fccfg.c
++++ b/src/fccfg.c
+@@ -2070,8 +2070,13 @@ FcConfigFilename (const FcChar8 *url)
+     if (!url || !*url)
+     {
+ 	url = (FcChar8 *) getenv ("FONTCONFIG_FILE");
++	if (!url) {
++	    static const FcChar8 *cfPath = "/etc/fonts/@configVersion@/fonts.conf";
++	    if (access (cfPath, R_OK) == 0)
++		url = cfPath;
++	}
+ 	if (!url)
+-	    url = (FcChar8 *) FONTCONFIG_FILE;
++	    url = (FcChar8 *) "/etc/fonts/fonts.conf";
+     }
+     file = 0;
+ 
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index f0c4da75567..b03528de2d5 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,29 +1,49 @@
-{ stdenv, fetchurl, pkgconfig, freetype, expat }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, freetype, expat, libxslt, fontbhttf
+, substituteAll }:
 
+/** Font configuration scheme
+ - ./config-compat.patch makes fontconfig try the following root configs, in order:
+    $FONTCONFIG_FILE, /etc/fonts/${configVersion}/fonts.conf, /etc/fonts/fonts.conf
+    This is done not to override config of pre-2.11 versions (which just blow up)
+    and still use *global* font configuration at both NixOS or non-NixOS.
+ - NixOS creates /etc/fonts/${configVersion}/fonts.conf link to $out/etc/fonts/fonts.conf,
+    and other modifications should go to /etc/fonts/${configVersion}/conf.d
+ - See ./make-fonts-conf.xsl for config details.
+
+*/
+
+let
+  configVersion = "2.11"; # bump whenever fontconfig breaks compatibility with older configurations
+in
 stdenv.mkDerivation rec {
-  name = "fontconfig-2.10.2";
+  name = "fontconfig-2.11.1";
 
   src = fetchurl {
     url = "http://fontconfig.org/release/${name}.tar.bz2";
-    sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
+    sha256 = "16baa4g5lswkyjlyf1h5lwc0zjap7c4d8grw79349a5w6dsl8qnw";
   };
 
-  infinality_patch =
-    let subvers = "1";
-      in fetchurl {
-        url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2;
-        sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
+  patches = [
+    (fetchpatch ({
+        url = "http://cgit.freedesktop.org/fontconfig/patch/?id=f44157c809d280e2a0ce87fb078fc4b278d24a67";
+        sha256 = "19s5irclg4irj2yxd7xw9yikbazs9263px8qbv4r21asw06nfalv";
+        name = "fc-cache-bug-77252.patch";
       }
-    ;
+    ))
+    (substituteAll {
+      src = ./config-compat.patch;
+      inherit configVersion;
+    })
+  ];
 
   propagatedBuildInputs = [ freetype ];
   buildInputs = [ pkgconfig expat ];
 
   configureFlags = [
-    "--sysconfdir=/etc"
-    "--with-cache-dir=/var/cache/fontconfig"
+    "--with-cache-dir=/var/cache/fontconfig" # otherwise the fallback is in $out/
     "--disable-docs"
-    "--with-default-fonts="
+    # just ~1MB; this is what you get when loading config fails for some reason
+    "--with-default-fonts=${fontbhttf}"
   ];
 
   # We should find a better way to access the arch reliably.
@@ -40,12 +60,24 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   # Don't try to write to /var/cache/fontconfig at install time.
-  installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
+  installFlags = "fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
 
   postInstall = ''
-    cd "$out/etc/fonts" && tar xvf ${infinality_patch}
+    cd "$out/etc/fonts"
+    rm conf.d/{50-user,51-local}.conf
+    "${libxslt}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \
+      --stringparam fontconfig "$out" \
+      --stringparam fontconfigConfigVersion "${configVersion}" \
+      --path $out/share/xml/fontconfig \
+      ${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \
+      > fonts.conf.tmp
+    mv fonts.conf.tmp $out/etc/fonts/fonts.conf
   '';
 
+  passthru = {
+    inherit configVersion;
+  };
+
   meta = with stdenv.lib; {
     description = "A library for font customization and configuration";
     homepage = http://fontconfig.org/;
@@ -54,3 +86,4 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.vcunat ];
   };
 }
+
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
index f9cd096f559..2b02e0df7a0 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
@@ -1,13 +1,15 @@
-{ runCommand, libxslt, fontconfig, fontDirectories }:
+{ runCommand, libxslt, fontconfig, fontbhttf, fontDirectories }:
 
 runCommand "fonts.conf"
   {
     buildInputs = [ libxslt fontconfig ];
-    inherit fontDirectories;
+    # Add a default font for non-nixos systems. fontbhttf is only about 1mb.
+    fontDirectories = fontDirectories ++ [ fontbhttf ];
   }
   ''
     xsltproc --stringparam fontDirectories "$fontDirectories" \
       --stringparam fontconfig "${fontconfig}" \
+      --stringparam fontconfigConfigVersion "${fontconfig.configVersion}" \
       --path ${fontconfig}/share/xml/fontconfig \
       ${./make-fonts-conf.xsl} ${fontconfig}/etc/fonts/fonts.conf \
       > $out
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
index 59071ce9e22..1b79834c894 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
@@ -16,28 +16,46 @@
 
   <xsl:param name="fontDirectories" />
   <xsl:param name="fontconfig" />
+  <xsl:param name="fontconfigConfigVersion" />
 
   <xsl:template match="/fontconfig">
 
     <fontconfig>
-      <xsl:copy-of select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" />
+      <xsl:apply-templates select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" />
 
-      <include ignore_missing="yes">/etc/fonts/conf.d</include>
+      <!-- fontconfig distribution conf.d -->
       <include><xsl:value-of select="$fontconfig" />/etc/fonts/conf.d</include>
+      <!-- versioned system-wide config -->
+      <include ignore_missing="yes">/etc/fonts/<xsl:value-of select="$fontconfigConfigVersion" />/conf.d</include>
 
+      <!-- the first cachedir will be used to store the cache -->
+      <cachedir prefix="xdg">fontconfig</cachedir>
+      <!-- /var/cache/fontconfig is useful for non-nixos systems -->
       <cachedir>/var/cache/fontconfig</cachedir>
-      <cachedir>~/.fontconfig</cachedir>
 
+      <dir prefix="xdg">fonts</dir>
       <xsl:for-each select="str:tokenize($fontDirectories)">
         <dir><xsl:value-of select="." /></dir>
         <xsl:text>&#0010;</xsl:text>
       </xsl:for-each>
-      <dir prefix="xdg">fonts</dir>
-      <!-- the following element will be removed in the future -->
-      <dir>~/.fonts</dir>
+
+      <!-- nix user profile -->
+      <dir>~/.nix-profile/lib/X11/fonts</dir>
+      <dir>~/.nix-profile/share/fonts</dir>
+      <!-- nix default profile -->
+      <dir>/nix/var/nix/profiles/default/lib/X11/fonts</dir>
+      <dir>/nix/var/nix/profiles/default/share/fonts</dir>
 
     </fontconfig>
 
   </xsl:template>
 
+
+  <!-- New fontconfig >=2.11 doesn't like xml:space added by xsl:copy-of -->
+  <xsl:template match="node()|@*">
+    <xsl:copy>
+      <xsl:apply-templates select="node()|@*[name() != 'xml:space']"/>
+    </xsl:copy>
+  </xsl:template>
+
 </xsl:stylesheet>
diff --git a/pkgs/development/libraries/fox/default.nix b/pkgs/development/libraries/fox/default.nix
index 6d7d7a83879..dfd2c75184e 100644
--- a/pkgs/development/libraries/fox/default.nix
+++ b/pkgs/development/libraries/fox/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.fox-toolkit.org/pub/${name}.tar.gz";
-    md5 = "b5897e9c664967f5042e57070037ff18";
+    sha256 = "1jb9368xsin3ppdf6979n5s7in3s9klbxqbwcp0z8misjixl7nzg";
   };
 
   buildInputs = [ libpng x11 libjpeg libtiff zlib bzip2 libXcursor libXrandr libXft ];
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index 2fe104e849f..604fe3c2fdf 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
+    branch = "1.6";
     description = "FOX is a C++ based class library for building Graphical User Interfaces";
     longDescription = ''
         FOX stands for Free Objects for X.
diff --git a/pkgs/development/libraries/frame/default.nix b/pkgs/development/libraries/frame/default.nix
new file mode 100644
index 00000000000..86ebaa0d8d9
--- /dev/null
+++ b/pkgs/development/libraries/frame/default.nix
@@ -0,0 +1,24 @@
+{ enableX11 ? true
+,  stdenv, fetchurl, pkgconfig, xlibs, xorgserver, xinput }:
+
+stdenv.mkDerivation rec {
+  name = "frame-${version}";
+  version = "2.5.0";
+  src = fetchurl {
+    url = "https://launchpad.net/frame/trunk/v${version}/+download/${name}.tar.xz";
+    sha256 = "bc2a20cd3ac1e61fe0461bd3ee8cb250dbcc1fa511fad0686d267744e9c78f3a";
+  };
+
+  buildInputs = [ 
+    stdenv pkgconfig
+  ] ++ stdenv.lib.optional enableX11 [xlibs.xorgserver xlibs.libX11 xlibs.libXext xlibs.libXi];
+
+  configureFlags = stdenv.lib.optional enableX11 "--with-x11";
+
+  meta = {
+    homepage = "https://launchpad.net/frame";
+    description = "handles the buildup and synchronization of a set of simultaneous touches";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index c3cfa6e8c87..2cfb5d3522f 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -10,9 +10,12 @@ stdenv.mkDerivation {
       sed -e s@/usr/@$out/@ \
         -e 's@-o root -g root@@' \
         -e 's@ldconfig@echo not running ldconfig@' \
-        -i Makefile.gnu
+        -i Makefile.gnu Makefile.fip
   '';
+
+  postBuild = "make -f Makefile.fip";
   preInstall = "mkdir -p $out/include $out/lib";
+  postInstall = "make -f Makefile.fip install";
 
   meta = {
     description = "Open Source library for accessing popular graphics image file formats";
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 547e9e813be..3980c5b61b3 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl
+, odbcSupport ? false, unixODBC ? null }:
+
+assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation {
   name = "freetds-0.91";
@@ -8,6 +11,10 @@ stdenv.mkDerivation {
     sha256 = "0r946axzxs0czsmr7283w7vmk5jx3jnxxc32d2ncxsrsh2yli0ba";
   };
 
+  buildInputs = stdenv.lib.optional odbcSupport [ unixODBC ];
+
+  configureFlags = stdenv.lib.optionalString odbcSupport "--with-odbc=${unixODBC}";
+
   doDist = true;
 
   distPhase = ''
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 5647f311454..dccde33efcf 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -7,30 +7,29 @@
 }:
 
 let
-  version = "2.5.3";
+  version = "2.5.4";
 
   fetch_bohoomil = name: sha256: fetchpatch {
-    url = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/8a155db28f264520596cc3e76eb44824bdb30f8e/01_freetype2-iu/ + name;
+    url = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/e4c99bcf5ac9595e2c64393c0661377685c0ad24/01_freetype2-iu/ + name;
     inherit sha256;
   };
 in
-with { inherit (stdenv.lib) optional optionalString; };
+with { inherit (stdenv.lib) optional optionals optionalString; };
 stdenv.mkDerivation rec {
   name = "freetype-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "0pppcn73b5pwd7zdi9yfx16f5i93y18q7q4jmlkwmwrfsllqp160";
+    sha256 = "1fxsbk4lp6ymifldzrb86g3x6mz771jmrzphkz92mcrkddk2qkiv";
   };
 
-  patches = [ ./enable-validation.patch ] # from Gentoo
-    ++ [
-      (fetch_bohoomil "freetype-2.5.3-pkgconfig.patch" "1dpfdh8kmka3gzv14glz7l79i545zizah6wma937574v5z2iy3nn")
-      (fetch_bohoomil "fix_segfault_with_harfbuzz.diff" "1nx36inqrw717b86cla2miprdb3hii4vndw95k0jbbhfmax9k6fy")
-    ]
-    ++ optional useEncumberedCode
-      (fetch_bohoomil "infinality-2.5.3.patch" "0mxiybcb4wwbicrjiinh1b95rv543bh05sdqk1v0ipr3fxfrb47q")
-    ;
+  patches = [ ./enable-validation.patch ] # from Gentoo, bohoomil has the same patch as well
+    ++ [ ./fix-pcf.patch ]
+    ++ optionals useEncumberedCode [
+      (fetch_bohoomil "02-ftsmooth-2.5.4.patch" "11w4wb7gwgpijc788mpkxj92d7rfdwrdv7jzrpxwv5w5cgpx9iw9")
+      (fetch_bohoomil "03-upstream-2014.12.07.patch" "0gq7y63mg3gc5z69nfkv2kl7xad0bjzsvnl6j1j9q79jjbvaqdq0")
+      (fetch_bohoomil "04-infinality-2.5.4-2014.12.07.patch" "1gph7z9s2221gy5dxn01v3lga0m9yib8yqsaqj5km74bqx1vlalh")
+    ];
 
   outputs = [ "dev" "out" ];
 
diff --git a/pkgs/development/libraries/freetype/fix-pcf.patch b/pkgs/development/libraries/freetype/fix-pcf.patch
new file mode 100644
index 00000000000..bb301bcd9ca
--- /dev/null
+++ b/pkgs/development/libraries/freetype/fix-pcf.patch
@@ -0,0 +1,132 @@
+Upstream fixes for pcf fonts.
+
+http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=74af85c4b62b35e55b0ce9dec55ee10cbc4962a2
+http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=06842c7b49c21f13c0ab61201daab6ff5a358fcc
+
+diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
+index 998cbed..e3caf82 100644
+--- a/src/pcf/pcfread.c
++++ b/src/pcf/pcfread.c
+@@ -2,7 +2,7 @@
+ 
+     FreeType font driver for pcf fonts
+ 
+-  Copyright 2000-2010, 2012, 2013 by
++  Copyright 2000-2010, 2012-2014 by
+   Francesco Zappa Nardelli
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+@@ -78,7 +78,7 @@ THE SOFTWARE.
+     FT_FRAME_START( 16  ),
+       FT_FRAME_ULONG_LE( type ),
+       FT_FRAME_ULONG_LE( format ),
+-      FT_FRAME_ULONG_LE( size ),
++      FT_FRAME_ULONG_LE( size ),   /* rounded up to a multiple of 4 */
+       FT_FRAME_ULONG_LE( offset ),
+     FT_FRAME_END
+   };
+@@ -95,9 +95,11 @@ THE SOFTWARE.
+     FT_Memory  memory = FT_FACE( face )->memory;
+     FT_UInt    n;
+ 
++    FT_ULong   size;
+ 
+-    if ( FT_STREAM_SEEK ( 0 )                          ||
+-         FT_STREAM_READ_FIELDS ( pcf_toc_header, toc ) )
++
++    if ( FT_STREAM_SEEK( 0 )                          ||
++         FT_STREAM_READ_FIELDS( pcf_toc_header, toc ) )
+       return FT_THROW( Cannot_Open_Resource );
+ 
+     if ( toc->version != PCF_FILE_VERSION                 ||
+@@ -154,14 +156,35 @@ THE SOFTWARE.
+         break;
+     }
+ 
+-    /* we now check whether the `size' and `offset' values are reasonable: */
+-    /* `offset' + `size' must not exceed the stream size                   */
++    /*
++     *  We now check whether the `size' and `offset' values are reasonable:
++     *  `offset' + `size' must not exceed the stream size.
++     *
++     *  Note, however, that X11's `pcfWriteFont' routine (used by the
++     *  `bdftopcf' program to create PDF font files) has two special
++     *  features.
++     *
++     *  - It always assigns the accelerator table a size of 100 bytes in the
++     *    TOC, regardless of its real size, which can vary between 34 and 72
++     *    bytes.
++     *
++     *  - Due to the way the routine is designed, it ships out the last font
++     *    table with its real size, ignoring the TOC's size value.  Since
++     *    the TOC size values are always rounded up to a multiple of 4, the
++     *    difference can be up to three bytes for all tables except the
++     *    accelerator table, for which the difference can be as large as 66
++     *    bytes.
++     *
++     */
++
+     tables = face->toc.tables;
+-    for ( n = 0; n < toc->count; n++ )
++    size   = stream->size;
++
++    for ( n = 0; n < toc->count - 1; n++ )
+     {
+       /* we need two checks to avoid overflow */
+-      if ( ( tables->size   > stream->size                ) ||
+-           ( tables->offset > stream->size - tables->size ) )
++      if ( ( tables->size   > size                ) ||
++           ( tables->offset > size - tables->size ) )
+       {
+         error = FT_THROW( Invalid_Table );
+         goto Exit;
+@@ -169,6 +192,15 @@ THE SOFTWARE.
+       tables++;
+     }
+ 
++    /* no check of `tables->size' for last table element ... */
++    if ( ( tables->offset > size ) )
++    {
++      error = FT_THROW( Invalid_Table );
++      goto Exit;
++    }
++    /* ... instead, we adjust `tables->size' to the real value */
++    tables->size = size - tables->offset;
++
+ #ifdef FT_DEBUG_LEVEL_TRACE
+ 
+     {
+@@ -733,8 +765,8 @@ THE SOFTWARE.
+ 
+     FT_TRACE4(( "  number of bitmaps: %d\n", nbitmaps ));
+ 
+-    /* XXX: PCF_Face->nmetrics is singed FT_Long, see pcf.h */
+-    if ( face->nmetrics < 0 || nbitmaps != ( FT_ULong )face->nmetrics )
++    /* XXX: PCF_Face->nmetrics is signed FT_Long, see pcf.h */
++    if ( face->nmetrics < 0 || nbitmaps != (FT_ULong)face->nmetrics )
+       return FT_THROW( Invalid_File_Format );
+ 
+     if ( FT_NEW_ARRAY( offsets, nbitmaps ) )
+diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
+index e3caf82..a29a9e3 100644
+--- a/src/pcf/pcfread.c
++++ b/src/pcf/pcfread.c
+@@ -192,14 +192,15 @@ THE SOFTWARE.
+       tables++;
+     }
+ 
+-    /* no check of `tables->size' for last table element ... */
++    /* only check `tables->offset' for last table element ... */
+     if ( ( tables->offset > size ) )
+     {
+       error = FT_THROW( Invalid_Table );
+       goto Exit;
+     }
+-    /* ... instead, we adjust `tables->size' to the real value */
+-    tables->size = size - tables->offset;
++    /* ... and adjust `tables->size' to the real value if necessary */
++    if ( tables->size > size - tables->offset )
++      tables->size = size - tables->offset;
+ 
+ #ifdef FT_DEBUG_LEVEL_TRACE
+ 
diff --git a/pkgs/development/libraries/frei0r/default.nix b/pkgs/development/libraries/frei0r/default.nix
index 2e3db4c2d73..f3c9b95d6b4 100644
--- a/pkgs/development/libraries/frei0r/default.nix
+++ b/pkgs/development/libraries/frei0r/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.4";
 
   src = fetchurl {
-    url = "https://files.dyne.org/.xsend.php?file=frei0r/releases/${name}.tar.gz";
+    url = "https://files.dyne.org/frei0r/releases/${name}.tar.gz";
     sha256 = "0mxyhdp1p1a3ga8170ijygb870zwbww1dgp3kdr1nd4zvsmzqw44";
   };
 
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 71e5b91a26f..23795e9633e 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -2,15 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "fribidi-${version}";
-  version = "0.19.2";
+  version = "0.19.6";
   
   src = fetchurl {
-    url = "http://fribidi.org/download/${name}.tar.gz";
-    sha256 = "0xs1yr22zw9a1qq9ygsrqam0vzqdvb0ndzvjb3i2zda8drc93ks9";
+    url = "http://fribidi.org/download/${name}.tar.bz2";
+    sha256 = "0zg1hpaml34ny74fif97j7ngrshlkl3wk3nja3gmlzl17i1bga6b";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://fribidi.org/;
     description = "GNU implementation of the Unicode Bidirectional Algorithm (bidi)";
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/gamin/default.nix b/pkgs/development/libraries/gamin/default.nix
index 22a4597abbe..0b22aa501e6 100644
--- a/pkgs/development/libraries/gamin/default.nix
+++ b/pkgs/development/libraries/gamin/default.nix
@@ -16,7 +16,9 @@ stdenv.mkDerivation (rec {
   # <sys/socket.h> with Glibc 2.9.
   configureFlags = "--disable-debug --with-python=${python} CPPFLAGS=-D_GNU_SOURCE";
 
-  patches = [ ./deadlock.patch ] ++ map fetchurl (import ./debian-patches.nix);
+  patches = [ ./deadlock.patch ]
+    ++ map fetchurl (import ./debian-patches.nix)
+    ++ stdenv.lib.optional (stdenv.cc.cc.isClang or false) ./returnval.patch;
 
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/gamin/returnval.patch b/pkgs/development/libraries/gamin/returnval.patch
new file mode 100644
index 00000000000..3944b14be64
--- /dev/null
+++ b/pkgs/development/libraries/gamin/returnval.patch
@@ -0,0 +1,12 @@
+diff -rupN gamin-0.1.10-orig/server/gam_eq.c gamin-0.1.10/server/gam_eq.c
+--- gamin-0.1.10-orig/server/gam_eq.c	2015-04-05 19:25:54.000000000 -0400
++++ gamin-0.1.10/server/gam_eq.c	2015-04-05 19:26:00.000000000 -0400
+@@ -124,7 +124,7 @@ gam_eq_flush (gam_eq_t *eq, GamConnDataP
+ {
+ 	gboolean done_work = FALSE;
+ 	if (!eq)
+-		return;
++		return done_work;
+ 
+ #ifdef GAM_EQ_VERBOSE
+ 	GAM_DEBUG(DEBUG_INFO, "gam_eq: Flushing event queue for %s\n", gam_connection_get_pidname (conn));
diff --git a/pkgs/development/libraries/ganv/default.nix b/pkgs/development/libraries/ganv/default.nix
index 40e0388d749..6639f2e498b 100644
--- a/pkgs/development/libraries/ganv/default.nix
+++ b/pkgs/development/libraries/ganv/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchsvn, graphviz, gtk, gtkmm, pkgconfig, python }:
+{ stdenv, fetchurl, graphviz, gtk, gtkmm, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
-  name = "ganv-svn-${rev}";
-  rev = "5318";
+  name = "ganv-${version}";
+  version = "1.4.2";
 
-  src = fetchsvn {
-    url = "http://svn.drobilla.net/lad/trunk/ganv";
-    rev = rev;
-    sha256 = "0wi87ks2xjma979d9hy82wmlm06g4sr0pm3b1n3zv27y52wrf7fl";
+  src = fetchurl {
+    url = "http://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l";
   };
 
   buildInputs = [ graphviz gtk gtkmm pkgconfig python ];
diff --git a/pkgs/development/libraries/garmintools/default.nix b/pkgs/development/libraries/garmintools/default.nix
new file mode 100644
index 00000000000..1f68131efd5
--- /dev/null
+++ b/pkgs/development/libraries/garmintools/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, fetchurl, libusb }:
+stdenv.mkDerivation {
+  name = "garmintools-0.10";
+  src = fetchurl {
+    url = https://garmintools.googlecode.com/files/garmintools-0.10.tar.gz;
+    sha256 = "1vjc8h0z4kx2h52yc3chxn3wh1krn234fg12sggbia9zjrzhpmgz";
+  };
+  buildInputs = [ libusb ];
+  meta = {
+    homepage = https://code.google.com/p/garmintools;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+  };
+}
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 7c78ca3ed6f..237b5537ba4 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -1,27 +1,34 @@
 { stdenv, fetchurl, composableDerivation, unzip, libjpeg, libtiff, zlib
-, postgresql, mysql, libgeotiff }:
+, postgresql, mysql, libgeotiff, python, pythonPackages, proj, geos, openssl
+, libpng }:
 
-composableDerivation.composableDerivation {} (fixed: {
-  name = "gdal-1.7.1";
+composableDerivation.composableDerivation {} (fixed: rec {
+  version = "1.11.2";
+  name = "gdal-${version}";
 
   src = fetchurl {
-    url = ftp://ftp.remotesensing.org/gdal/gdal171.zip;
-    md5 = "f5592cff69b239166c9b64ff81943b1a";
+    url = "http://download.osgeo.org/gdal/${version}/${name}.tar.gz";
+    sha256 = "66bc8192d24e314a66ed69285186d46e6999beb44fc97eeb9c76d82a117c0845";
   };
 
-  buildInputs = [ unzip libjpeg libtiff ];
+  buildInputs = [ unzip libjpeg libtiff libpng python pythonPackages.numpy proj openssl ];
 
-  # don't use optimization for gcc >= 4.3. That's said to be causeing segfaults
-  preConfigure = "export CFLAGS=-O0; export CXXFLAGS=-O0";
+  # Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
+  # Unset CC and CXX as they confuse libtool.
+  preConfigure = "export CFLAGS=-O0 CXXFLAGS=-O0; unset CC CXX";
 
   configureFlags = [
     "--with-jpeg=${libjpeg}"
-    "--with-libtiff=${libtiff}"  # optional (without largetiff support
-    "--with-libz=${zlib}"        # optional
+    "--with-libtiff=${libtiff}" # optional (without largetiff support)
+    "--with-libpng=${libpng}"   # optional
+    "--with-libz=${zlib}"       # optional
 
     "--with-pg=${postgresql}/bin/pg_config"
-    "--with-mysql=${mysql}/bin/mysql_config"
+    "--with-mysql=${mysql.lib}/bin/mysql_config"
     "--with-geotiff=${libgeotiff}"
+    "--with-python"               # optional
+    "--with-static-proj4=${proj}" # optional
+    "--with-geos=${geos}/bin/geos-config"# optional
   ];
 
   meta = {
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index 1fd6c429dc0..63ba69fee08 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/gdbm/;
     license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
new file mode 100644
index 00000000000..4663f7aac22
--- /dev/null
+++ b/pkgs/development/libraries/gdcm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  version = "2.4.4";
+  name = "gdcm-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gdcm/${name}.tar.bz2";
+    sha256 = "07svgp7c928sw712gq6rx4h0c6wp2kr1n8fmxjlzb031l51jzkf5";
+  };
+
+  dontUseCmakeBuildDir = true;
+  preConfigure = ''
+    cmakeDir=$PWD
+    mkdir ../build
+    cd ../build
+  '';
+
+  cmakeFlags = ''
+    -DGDCM_BUILD_APPLICATIONS=ON
+    -DGDCM_BUILD_SHARED_LIBS=ON
+  '';
+
+  enableParallelBuilding = true;
+  buildInputs = [ cmake ];
+  propagatedBuildInputs = [ ];
+
+  meta = {
+    description = "The grassroots cross-platform DICOM implementation";
+    longDescription = ''
+      Grassroots DICOM (GDCM) is an implementation of the DICOM standard designed to be open source so that researchers may access clinical data directly.
+      GDCM includes a file format definition and a network communications protocol, both of which should be extended to provide a full set of tools for a researcher or small medical imaging vendor to interface with an existing medical database.
+    '';
+    homepage = http://gdcm.sourceforge.net/;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
+
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index fa1599562ca..69d39855699 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -2,15 +2,15 @@
 , jasper, libintlOrEmpty, gobjectIntrospection }:
 
 let
-  ver_maj = "2.30";
-  ver_min = "8";
+  ver_maj = "2.31";
+  ver_min = "3";
 in
 stdenv.mkDerivation rec {
   name = "gdk-pixbuf-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
-    sha256 = "1gpqpskp4zzf7h35bp247jcvnk6rxc52r69pb11v8g8i2q386ls8";
+    sha256 = "ddd861747bb7c580acce7cfa3ce38c3f52a9516e66a6477988fd100c8fb9eabc";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
diff --git a/pkgs/development/libraries/gdome2/default.nix b/pkgs/development/libraries/gdome2/default.nix
index 516fb932983..cc8f76949ee 100644
--- a/pkgs/development/libraries/gdome2/default.nix
+++ b/pkgs/development/libraries/gdome2/default.nix
@@ -15,11 +15,13 @@ stdenv.mkDerivation {
 
   buildInputs = [pkgconfig glib libxml2 gtkdoc];
   propagatedBuildInputs = [glib libxml2];
+  patches = [ ./xml-document.patch ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://gdome2.cs.unibo.it/;
-    description = "DOM C library developped for the Gnome project";
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    description = "DOM C library developed for the Gnome project";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ prikhi roconnor ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gdome2/xml-document.patch b/pkgs/development/libraries/gdome2/xml-document.patch
new file mode 100644
index 00000000000..7567d1049fc
--- /dev/null
+++ b/pkgs/development/libraries/gdome2/xml-document.patch
@@ -0,0 +1,11 @@
+--- a/libgdome/gdomecore/gdome-xml-documentt.c	2003-07-13 14:47:54.000000000 +0400
++++ b/libgdome/gdomecore/gdome-xml-documentt.c	2013-07-02 14:09:18.304613703 +0400
+@@ -342,7 +342,7 @@
+ 	}
+ 	xmlNodeDumpOutput (out_buff, NULL, (xmlNode *)is, 0, 0, NULL);
+ 	xmlOutputBufferFlush(out_buff);
+-	ret = g_strndup (out_buff->buffer->content, out_buff->buffer->use);
++	ret = g_strndup (xmlBufContent(out_buff), xmlBufUse(out_buff));
+ 	(void)xmlOutputBufferClose(out_buff);
+
+ 	return gdome_xml_str_mkref_own (ret);
diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix
new file mode 100644
index 00000000000..c0deb2d5fca
--- /dev/null
+++ b/pkgs/development/libraries/gecode/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "gecode-${version}";
+  version = "4.3.3";
+
+  src = fetchurl {
+    url = "http://www.gecode.org/download/${name}.tar.gz";
+    sha256 = "1nxcv32pqmf7fsdpa8zp482i8a1nhrfppqaimymcxvxjgxzmpj1i";
+  };
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = http://www.gecode.org;
+    description = "Toolkit for developing constraint-based systems";
+    platforms = platforms.all;
+    maintainers = [ maintainers.manveru ];
+  };
+}
diff --git a/pkgs/development/libraries/gegl/0_0_22.nix b/pkgs/development/libraries/gegl/0_0_22.nix
deleted file mode 100644
index 3f9a619ff6a..00000000000
--- a/pkgs/development/libraries/gegl/0_0_22.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, babl_0_0_22, libpng, cairo, libjpeg
-, librsvg, pango, gtk }:
-
-stdenv.mkDerivation {
-  name = "gegl-0.0.22";
-
-  src = fetchurl {
-    url = ftp://ftp.gimp.org/pub/gegl/0.0/gegl-0.0.22.tar.bz2;
-    sha256 = "0nx6r9amzhw5d2ghlw3z8qnry18rwz1ymvl2cm31b8p49z436wl5";
-  };
-
-  configureFlags = "--disable-docs"; # needs fonts otherwise  don't know how to pass them
-
-  buildInputs = [ pkgconfig glib babl_0_0_22 libpng cairo libjpeg librsvg pango gtk ];
-
-  meta = {
-    description = "Graph-based image processing framework";
-    homepage = http://www.gegl.org;
-    license = stdenv.lib.licenses.gpl3;
-  };
-}
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix
index a589d625273..38432f68273 100644
--- a/pkgs/development/libraries/gegl/default.nix
+++ b/pkgs/development/libraries/gegl/default.nix
@@ -19,6 +19,8 @@ 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 gtk bzip2 intltool ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix
new file mode 100644
index 00000000000..15f42afd9a8
--- /dev/null
+++ b/pkgs/development/libraries/geis/default.nix
@@ -0,0 +1,23 @@
+{ enableX11 ? true
+, stdenv, fetchurl, pkgconfig, xlibs, xorgserver, python3, dbus_libs, frame, grail }:
+
+stdenv.mkDerivation rec {
+  name = "geis-${version}";
+  version = "2.2.16";
+  src = fetchurl {
+    url = "https://launchpad.net/geis/trunk/${version}/+download/${name}.tar.xz";
+    sha256 = "40a694092c79f325a2fbf8a9f301177bc91c364f4e637c2aa8963ad2a5aabbcf";
+  };
+
+  buildInputs = [ pkgconfig python3 dbus_libs frame grail ]
+  ++ stdenv.lib.optional enableX11 [xlibs.libX11 xlibs.libXtst xlibs.libXext xlibs.libXi xlibs.xorgserver];
+
+  configureFlags = stdenv.lib.optional enableX11"--enable-x11";
+
+  meta = {
+    homepage = "https://launchpad.net/geis";
+    description = "GEIS is a library for applications and toolkit programmers which provides a consistent platform independent interface for any system-wide input gesture recognition mechanism.";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix
index 5ab9cb62443..88d9837d597 100644
--- a/pkgs/development/libraries/geoclue/2.0.nix
+++ b/pkgs/development/libraries/geoclue/2.0.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "geoclue-2.1.9";
+  name = "geoclue-2.1.10";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/geoclue/releases/2.1/${name}.tar.xz";
-    sha256 = "0aq9fqlvvc8jqbshp3mbcc1j5hq4fzjy8hd1yxcl6xrd0jkfw5ml";
+    sha256 = "0s0ws2bx5g1cbjamxmm448r4n4crha2fwpzm8zbx6cq6qslygmzi";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix
index 2b4c291f7f5..99a566cf195 100644
--- a/pkgs/development/libraries/geoip/default.nix
+++ b/pkgs/development/libraries/geoip/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl }:
 
-let version = "1.6.0"; in
+let version = "1.6.2"; in
 
 stdenv.mkDerivation {
   name = "geoip-${version}";
@@ -15,5 +15,7 @@ stdenv.mkDerivation {
     maintainers = [ stdenv.lib.maintainers.raskin ];
     license = stdenv.lib.licenses.lgpl21;
     platforms = stdenv.lib.platforms.unix;
+    homepage = "http://geolite.maxmind.com/";
+    downloadPage = "http://geolite.maxmind.com/download/";
   };
 }
diff --git a/pkgs/development/libraries/getdata/default.nix b/pkgs/development/libraries/getdata/default.nix
new file mode 100644
index 00000000000..6b53e07acdb
--- /dev/null
+++ b/pkgs/development/libraries/getdata/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  name = "getdata-0.8.6";
+  src = fetchurl {
+    url = "mirror://sourceforge/getdata/${name}.tar.bz2";
+    sha256 = "1cxmyqg6m7346q37wrr05zmyip1qcgi4vpy3xki20nxwkaw37lz8";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Reference implementation of the Dirfile Standards";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.vbgl ];
+    homepage = http://getdata.sourceforge.net/;
+  };
+}
diff --git a/pkgs/development/libraries/gettext/0.17.nix b/pkgs/development/libraries/gettext/0.17.nix
index ef0a1d41bd6..3ea70bea80b 100644
--- a/pkgs/development/libraries/gettext/0.17.nix
+++ b/pkgs/development/libraries/gettext/0.17.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "gettext-0.17";
-  
+
   src = fetchurl {
     url = "mirror://gnu/gettext/${name}.tar.gz";
     sha256 = "1fipjpaxxwifdw6cbr7mkxp1yvy643i38nhlh7124bqnisxki5i0";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = stdenv.lib.optional (!stdenv.isLinux) libiconv;
-  
+
   meta = {
     description = "GNU gettext, a well integrated set of translation tools and documentation";
 
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/gettext/;
 
     maintainers = [ ];
+    branch = "0.17";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/libraries/gettext/0.18.nix b/pkgs/development/libraries/gettext/0.18.nix
new file mode 100644
index 00000000000..bb1a0519e7b
--- /dev/null
+++ b/pkgs/development/libraries/gettext/0.18.nix
@@ -0,0 +1,11 @@
+{ stdenv, fetchurl, gettext }:
+
+stdenv.lib.overrideDerivation gettext (attrs: rec {
+  name = "gettext-0.18.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/gettext/${name}.tar.gz";
+    sha256 = "516a6370b3b3f46e2fc5a5e222ff5ecd76f3089bc956a7587a6e4f89de17714c";
+  };
+
+})
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index afad9e39030..b48ea97abba 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libiconv, xz }:
 
 stdenv.mkDerivation (rec {
-  name = "gettext-0.18.2";
+  name = "gettext-0.19.4";
 
   src = fetchurl {
     url = "mirror://gnu/gettext/${name}.tar.gz";
-    sha256 = "516a6370b3b3f46e2fc5a5e222ff5ecd76f3089bc956a7587a6e4f89de17714c";
+    sha256 = "0gvz86m4cs8bdf3mwmwsyx6lrq4ydfxgadrgd9jlx32z3bnz3jca";
   };
 
   LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else "";
@@ -35,8 +35,8 @@ stdenv.mkDerivation (rec {
   enableParallelBuilding = true;
 
   crossAttrs = {
-    buildInputs = stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
-      stdenv.gccCross.libc.libiconv.crossDrv;
+    buildInputs = stdenv.lib.optional (stdenv ? ccCross && stdenv.ccCross.libc ? libiconv)
+      stdenv.ccCross.libc.libiconv.crossDrv;
     # Gettext fails to guess the cross compiler
     configureFlags = "CXX=${stdenv.cross.config}-g++";
   };
@@ -65,7 +65,7 @@ stdenv.mkDerivation (rec {
 
     homepage = http://www.gnu.org/software/gettext/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/giflib/5.0.nix b/pkgs/development/libraries/giflib/5.0.nix
new file mode 100644
index 00000000000..49e3fc40ba6
--- /dev/null
+++ b/pkgs/development/libraries/giflib/5.0.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
+
+stdenv.mkDerivation {
+  name = "giflib-5.0.6";
+  src = fetchurl {
+    url = mirror://sourceforge/giflib/giflib-5.0.6.tar.bz2;
+    sha256 = "1sk9ysh27nabwb6z7a38n8gy2y2rnl3vjkbapv7pbjnzrff862c9";
+  };
+
+  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
+  meta = {
+    description = "giflib is a library for reading and writing gif images";
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    branch = "5.0";
+  };
+}
diff --git a/pkgs/development/libraries/giflib/5.1.nix b/pkgs/development/libraries/giflib/5.1.nix
new file mode 100644
index 00000000000..dcd52fc93f4
--- /dev/null
+++ b/pkgs/development/libraries/giflib/5.1.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
+
+stdenv.mkDerivation {
+  name = "giflib-5.1.0";
+  src = fetchurl {
+    url = mirror://sourceforge/giflib/giflib-5.1.0.tar.bz2;
+    sha256 = "06wd32akyawppar9mqdvyhcw47ssdfcj39lryim2w4v83i7nkv2s";
+  };
+
+  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
+  meta = {
+    description = "giflib is a library for reading and writing gif images";
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    branch = "5.1";
+  };
+}
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix
deleted file mode 100644
index 4dc8132805c..00000000000
--- a/pkgs/development/libraries/giflib/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
-
-stdenv.mkDerivation {
-  name = "giflib-5.0.5";
-  src = fetchurl {
-    url = mirror://sourceforge/giflib/giflib-5.0.5.tar.bz2;
-    sha256 = "02c6pwll9pzw5fhg5gccx2ws56d70ylfryk21nv5lqhwdcv8lvb0";
-  };
-
-  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
-}
-
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index 7cab317380e..7ddbc408ca6 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchurl, cmake, zlib, python}:
+{stdenv, fetchurl, cmake, zlib, python, libssh2, openssl, http-parser}:
 
 stdenv.mkDerivation rec {
-  version = "0.21.1";
+  version = "0.21.2";
   name = "libgit2-${version}";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/libgit2/libgit2/tarball/v${version}";
-    sha256 = "0afbvcsryg7bsmbfj23l09b1xngkmqhf043njl8wm44qslrxibkz";
+    sha256 = "0icf119lhha96rk8m6s38sczjr0idr7yczw6knby61m81a25a96y";
   };
 
   cmakeFlags = "-DTHREADSAFE=ON";
 
   nativeBuildInputs = [ cmake python ];
-  buildInputs = [ zlib ];
+  buildInputs = [ zlib libssh2 openssl http-parser ];
 
   meta = {
     description = "the Git linkable library";
diff --git a/pkgs/development/libraries/glfw/2.x.nix b/pkgs/development/libraries/glfw/2.x.nix
index 8750cd955a6..9ba0cf081ce 100644
--- a/pkgs/development/libraries/glfw/2.x.nix
+++ b/pkgs/development/libraries/glfw/2.x.nix
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out
-    make x11-install PREFIX=$out
+    make x11-dist-install PREFIX=$out
+    mv $out/lib/libglfw.so $out/lib/libglfw.so.2
+    ln -s libglfw.so.2 $out/lib/libglfw.so
   ''; 
   
   meta = with stdenv.lib; { 
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 6b715028e8a..ee7f39585ef 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -2,7 +2,7 @@
 , gsettings_desktop_schemas }:
 
 let
-  ver_maj = "2.40";
+  ver_maj = "2.42";
   ver_min = "1";
 in
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz";
-    sha256 = "9fb3e54d049a480afdb814ff7452e7ab67e5d5f607ade230d7713f19922b5a28";
+    sha256 = "c06bf76da3353695fcc791b7b02e5d60c01c379e554f7841dc6cbca32f65f3a0";
   };
 
   configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index a3c0a3a59a3..939f3969665 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gettext, perl, python
-, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf
+, libiconv, libintlOrEmpty, zlib, libffi, pcre, libelf
 
 # this is just for tests (not in closure of any regular package)
 , coreutils, dbus_daemon, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false
@@ -7,7 +7,7 @@
 
 with stdenv.lib;
 
-assert stdenv.gcc.gcc != null;
+assert !stdenv.isDarwin -> stdenv.cc.cc.isGNU or false;
 
 # TODO:
 # * Add gio-module-fam
@@ -39,7 +39,7 @@ let
     ln -sr -t "$out/include/" "$out"/lib/*/include/* 2>/dev/null || true
   '';
 
-  ver_maj = "2.40";
+  ver_maj = "2.44";
   ver_min = "0";
 in
 
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
-    sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd";
+    sha256 = "1fgmjv3yzxgbks31h42201x2izpw0sd84h8dfw0si3x00sqn5lzj";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch;
@@ -62,8 +62,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig gettext perl python ];
 
-  propagatedBuildInputs = [ pcre zlib libffi ]
-    ++ optional (!stdenv.isDarwin) libiconvOrEmpty
+  propagatedBuildInputs = [ pcre zlib libffi libiconv ]
     ++ libintlOrEmpty;
 
   configureFlags =
@@ -79,12 +78,11 @@ stdenv.mkDerivation rec {
     '';
 
   enableParallelBuilding = true;
+  DETERMINISTIC_BUILD = 1;
 
   inherit doCheck;
   preCheck = optionalString doCheck
-    # libgcc_s.so.1 must be installed for pthread_cancel to work
-    # also point to the glib/.libs path
-    '' export LD_LIBRARY_PATH="${stdenv.gcc.gcc}/lib:$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH"
+    '' export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH"
        export TZDIR="${tzdata}/share/zoneinfo"
        export XDG_CACHE_HOME="$TMP"
        export XDG_RUNTIME_HOME="$TMP"
diff --git a/pkgs/development/libraries/glibc/2.19/builder.sh b/pkgs/development/libraries/glibc/2.19/builder.sh
deleted file mode 100644
index 043621766c5..00000000000
--- a/pkgs/development/libraries/glibc/2.19/builder.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-# Glibc cannot have itself in its RPATH.
-export NIX_NO_SELF_RPATH=1
-
-source $stdenv/setup
-
-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")
-}
-
-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
-
-    # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been
-    # renamed.
-    if test -z "$hurdHeaders"; then
-        # Include the Linux kernel headers in Glibc, except the `scsi'
-        # subdirectory, which Glibc provides itself.
-        (cd $dev/include && \
-         ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .)
-    fi
-
-    if test -f "$out/lib/libhurduser.so"; then
-        # libc.so, libhurduser.so, and libmachuser.so depend on each
-        # other, so add them to libc.so (a RUNPATH on libc.so.0.3
-        # would be ignored by the cross-linker.)
-        echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..."
-        sed -i "$out/lib/libc.so" \
-            -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g"
-    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
-
-    # This file, that should not remain in the glibc derivation,
-    # may have not been created during the preInstall
-    rm -f $out/lib/libgcc_s.so.1
-
-    # Get rid of more unnecessary stuff.
-    rm -rf $out/var $out/sbin/sln
-
-    # 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
-
-    # 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
-}
-
-genericBuild
diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix
deleted file mode 100644
index 8ab96f34f7d..00000000000
--- a/pkgs/development/libraries/glibc/2.19/common.nix
+++ /dev/null
@@ -1,208 +0,0 @@
-/* Build configuration used to build glibc, Info files, and locale
-   information.  */
-
-cross:
-
-{ name, fetchurl, fetchgit ? null, stdenv, installLocales ? false
-, gccCross ? null, kernelHeaders ? null
-, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
-, mig ? null
-, profilingLibraries ? false, meta
-, withGd ? false, gd ? null, libpng ? null
-, preConfigure ? "", ... }@args:
-
-let
-
-  version = "2.19";
-
-in
-
-assert cross != null -> gccCross != null;
-assert mig != null -> machHeaders != null;
-assert machHeaders != null -> hurdHeaders != null;
-assert hurdHeaders != null -> libpthreadHeaders != null;
-
-stdenv.mkDerivation ({
-  inherit kernelHeaders installLocales;
-
-  # The host/target system.
-  crossConfig = if cross != null then cross.config else null;
-
-  inherit (stdenv) is64bit;
-
-  enableParallelBuilding = true;
-
-  /* Don't try to apply these patches to the Hurd's snapshot, which is
-     older.  */
-  patches = stdenv.lib.optionals (hurdHeaders == null)
-    [ /* Have rpcgen(1) look for cpp(1) in $PATH.  */
-      ./rpcgen-path.patch
-
-      /* Allow NixOS and Nix to handle the locale-archive. */
-      ./nix-locale-archive.patch
-
-      /* Don't use /etc/ld.so.cache, for non-NixOS systems.  */
-      ./dont-use-system-ld-so-cache.patch
-
-      /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload.  */
-      ./dont-use-system-ld-so-preload.patch
-
-      /* Add blowfish password hashing support.  This is needed for
-         compatibility with old NixOS installations (since NixOS used
-         to default to blowfish). */
-      ./glibc-crypt-blowfish.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
-
-      ./fix-math.patch
-
-      ./cve-2014-0475.patch
-      ./cve-2014-5119.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-rpc"
-      "--sysconfdir=/etc"
-      "--localedir=/var/run/current-system/sw/lib/locale"
-      "libc_cv_ssp=no"
-      (if kernelHeaders != null
-       then "--with-headers=${kernelHeaders}/include"
-       else "--without-headers")
-      (if profilingLibraries
-       then "--enable-profile"
-       else "--disable-profile")
-    ] ++ stdenv.lib.optionals (cross == null && kernelHeaders != null) [
-      "--enable-kernel=2.6.32"
-    ] ++ stdenv.lib.optionals (cross != null) [
-      (if cross.withTLS then "--with-tls" else "--without-tls")
-      (if cross.float == "soft" then "--without-fp" else "--with-fp")
-    ] ++ stdenv.lib.optionals (cross != null
-          && cross.platform ? kernelMajor
-          && cross.platform.kernelMajor == "2.6") [
-      "--enable-kernel=2.6.0"
-      "--with-__thread"
-    ] ++ stdenv.lib.optionals (cross == null && stdenv.isArm) [
-      "--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"
-    ] ++ stdenv.lib.optional withGd "--with-gd";
-
-  installFlags = [ "sysconfdir=$(out)/etc" ];
-
-  outputs = [ "out" "dev" "bin" "static" ];
-
-  buildInputs = [ ]
-    ++ stdenv.lib.optionals (cross != null) [ gccCross ]
-    ++ stdenv.lib.optional (mig != null) mig
-    ++ stdenv.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";
-
-  # Workaround for this bug:
-  #   http://sourceware.org/bugzilla/show_bug.cgi?id=411
-  # I.e. when gcc is compiled with --with-arch=i686, then the
-  # preprocessor symbol `__i686' will be defined to `1'.  This causes
-  # the symbol __i686.get_pc_thunk.dx to be mangled.
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686";
-}
-
-# Remove the `gccCross' attribute so that the *native* glibc store path
-# doesn't depend on whether `gccCross' is null or not.
-// (removeAttrs args [ "gccCross" "fetchurl" "fetchgit" "withGd" "gd" "libpng" ]) //
-
-{
-  name = name + "-${version}" +
-    stdenv.lib.optionalString (cross != null) "-${cross.config}";
-
-  src =
-    if hurdHeaders != null
-    then fetchgit {
-      # Shamefully the "official" glibc won't build on GNU, so use the one
-      # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
-      # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
-      url = "git://git.sv.gnu.org/hurd/glibc.git";
-      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
-      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
-    }
-    else fetchurl {
-      url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
-      sha256 = "15n7x9mmzhd7w6s5hd9srx0h23b32gwb306x98k9ss940yvnvb8q";
-    };
-
-  # 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"
-
-    ${stdenv.lib.optionalString (stdenv.gcc.libc != null)
-      ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.gcc.libc}/lib"''
-    }
-
-    ${preConfigure}
-  '';
-
-  meta = {
-    homepage = http://www.gnu.org/software/libc/;
-    description = "The GNU C Library"
-      + stdenv.lib.optionalString (hurdHeaders != null) ", for GNU/Hurd";
-
-    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 = stdenv.lib.licenses.lgpl2Plus;
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    #platforms = stdenv.lib.platforms.linux;
-  } // meta;
-}
-
-// stdenv.lib.optionalAttrs withGd {
-  preBuild = "unset NIX_DONT_SET_RPATH";
-}
-
-// stdenv.lib.optionalAttrs (hurdHeaders != null) {
-  # Work around the fact that the configure snippet that looks for
-  # <hurd/version.h> does not honor `--with-headers=$sysheaders' and that
-  # glibc expects Mach, Hurd, and pthread headers to be in the same place.
-  CPATH = "${hurdHeaders}/include:${machHeaders}/include:${libpthreadHeaders}/include";
-
-  # Install NSS stuff in the right place.
-  # XXX: This will be needed for all new glibcs and isn't Hurd-specific.
-  makeFlags = ''vardbdir="$out/var/db"'';
-})
diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch b/pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch
deleted file mode 100644
index a4f983de8f6..00000000000
--- a/pkgs/development/libraries/glibc/2.19/cve-2014-0475.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-Picked from upstream commits, but excluding changes to news and tests:
-d183645616b0533 and 4e8f95a0df7c2
-Also see https://sourceware.org/bugzilla/show_bug.cgi?id=17137
-
-diff --git a/locale/setlocale.c b/locale/setlocale.c
-index 9458468..6455b8b 100644
---- a/locale/setlocale.c
-+++ b/locale/setlocale.c
-@@ -272,6 +272,8 @@ setlocale (int category, const char *locale)
- 	 of entries of the form `CATEGORY=VALUE'.  */
-       const char *newnames[__LC_LAST];
-       struct __locale_data *newdata[__LC_LAST];
-+      /* Copy of the locale argument, for in-place splitting.  */
-+      char *locale_copy = NULL;
- 
-       /* Set all name pointers to the argument name.  */
-       for (category = 0; category < __LC_LAST; ++category)
-@@ -281,7 +283,13 @@ setlocale (int category, const char *locale)
-       if (__glibc_unlikely (strchr (locale, ';') != NULL))
- 	{
- 	  /* This is a composite name.  Make a copy and split it up.  */
--	  char *np = strdupa (locale);
-+	  locale_copy = strdup (locale);
-+	  if (__glibc_unlikely (locale_copy == NULL))
-+	    {
-+	      __libc_rwlock_unlock (__libc_setlocale_lock);
-+	      return NULL;
-+	    }
-+	  char *np = locale_copy;
- 	  char *cp;
- 	  int cnt;
- 
-@@ -299,6 +307,7 @@ setlocale (int category, const char *locale)
- 		{
- 		error_return:
- 		  __libc_rwlock_unlock (__libc_setlocale_lock);
-+		  free (locale_copy);
- 
- 		  /* Bogus category name.  */
- 		  ERROR_RETURN;
-@@ -391,8 +400,9 @@ setlocale (int category, const char *locale)
-       /* Critical section left.  */
-       __libc_rwlock_unlock (__libc_setlocale_lock);
- 
--      /* Free the resources (the locale path variable).  */
-+      /* Free the resources.  */
-       free (locale_path);
-+      free (locale_copy);
- 
-       return composite;
-     }
-diff --git a/locale/findlocale.c b/locale/findlocale.c
-index bbaf708..22e8b53 100644
---- a/locale/findlocale.c
-+++ b/locale/findlocale.c
-@@ -17,6 +17,7 @@
-    <http://www.gnu.org/licenses/>.  */
- 
- #include <assert.h>
-+#include <errno.h>
- #include <locale.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -57,6 +58,45 @@ struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST];
- 
- const char _nl_default_locale_path[] attribute_hidden = LOCALEDIR;
- 
-+/* Checks if the name is actually present, that is, not NULL and not
-+   empty.  */
-+static inline int
-+name_present (const char *name)
-+{
-+  return name != NULL && name[0] != '\0';
-+}
-+
-+/* Checks that the locale name neither extremely long, nor contains a
-+   ".." path component (to prevent directory traversal).  */
-+static inline int
-+valid_locale_name (const char *name)
-+{
-+  /* Not set.  */
-+  size_t namelen = strlen (name);
-+  /* Name too long.  The limit is arbitrary and prevents stack overflow
-+     issues later.  */
-+  if (__glibc_unlikely (namelen > 255))
-+    return 0;
-+  /* Directory traversal attempt.  */
-+  static const char slashdot[4] = {'/', '.', '.', '/'};
-+  if (__glibc_unlikely (memmem (name, namelen,
-+				slashdot, sizeof (slashdot)) != NULL))
-+    return 0;
-+  if (namelen == 2 && __glibc_unlikely (name[0] == '.' && name [1] == '.'))
-+    return 0;
-+  if (namelen >= 3
-+      && __glibc_unlikely (((name[0] == '.'
-+			     && name[1] == '.'
-+			     && name[2] == '/')
-+			    || (name[namelen - 3] == '/'
-+				&& name[namelen - 2] == '.'
-+				&& name[namelen - 1] == '.'))))
-+    return 0;
-+  /* If there is a slash in the name, it must start with one.  */
-+  if (__glibc_unlikely (memchr (name, '/', namelen) != NULL) && name[0] != '/')
-+    return 0;
-+  return 1;
-+}
- 
- struct __locale_data *
- internal_function
-@@ -65,7 +105,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
- {
-   int mask;
-   /* Name of the locale for this category.  */
--  char *loc_name;
-+  char *loc_name = (char *) *name;
-   const char *language;
-   const char *modifier;
-   const char *territory;
-@@ -73,31 +113,39 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
-   const char *normalized_codeset;
-   struct loaded_l10nfile *locale_file;
- 
--  if ((*name)[0] == '\0')
-+  if (loc_name[0] == '\0')
-     {
-       /* The user decides which locale to use by setting environment
- 	 variables.  */
--      *name = getenv ("LC_ALL");
--      if (*name == NULL || (*name)[0] == '\0')
--	*name = getenv (_nl_category_names.str
-+      loc_name = getenv ("LC_ALL");
-+      if (!name_present (loc_name))
-+	loc_name = getenv (_nl_category_names.str
- 			+ _nl_category_name_idxs[category]);
--      if (*name == NULL || (*name)[0] == '\0')
--	*name = getenv ("LANG");
-+      if (!name_present (loc_name))
-+	loc_name = getenv ("LANG");
-+      if (!name_present (loc_name))
-+	loc_name = (char *) _nl_C_name;
-     }
- 
--  if (*name == NULL || (*name)[0] == '\0'
--      || (__builtin_expect (__libc_enable_secure, 0)
--	  && strchr (*name, '/') != NULL))
--    *name = (char *) _nl_C_name;
-+  /* We used to fall back to the C locale if the name contains a slash
-+     character '/', but we now check for directory traversal in
-+     valid_locale_name, so this is no longer necessary.  */
- 
--  if (__builtin_expect (strcmp (*name, _nl_C_name), 1) == 0
--      || __builtin_expect (strcmp (*name, _nl_POSIX_name), 1) == 0)
-+  if (__builtin_expect (strcmp (loc_name, _nl_C_name), 1) == 0
-+      || __builtin_expect (strcmp (loc_name, _nl_POSIX_name), 1) == 0)
-     {
-       /* We need not load anything.  The needed data is contained in
- 	 the library itself.  */
-       *name = (char *) _nl_C_name;
-       return _nl_C[category];
-     }
-+  else if (!valid_locale_name (loc_name))
-+    {
-+      __set_errno (EINVAL);
-+      return NULL;
-+    }
-+
-+  *name = loc_name;
- 
-   /* We really have to load some data.  First we try the archive,
-      but only if there was no LOCPATH environment variable specified.  */
diff --git a/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch b/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch
deleted file mode 100644
index cbae03425eb..00000000000
--- a/pkgs/development/libraries/glibc/2.19/cve-2014-5119.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/trunk/debian/patches/any/cvs-CVE-2014-5119.diff?revision=6248&view=co
-
-commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Tue Aug 26 19:38:59 2014 +0200
-
-    __gconv_translit_find: Disable function [BZ #17187]
-    
-    This functionality has never worked correctly, and the implementation
-    contained a security vulnerability (CVE-2014-5119).
-
-2014-08-26  Florian Weimer  <fweimer@redhat.com>
-
-	[BZ #17187]
-	* iconv/gconv_trans.c (struct known_trans, search_tree, lock,
-	trans_compare, open_translit, __gconv_translit_find):
-	Remove module loading code.
-
---- a/iconv/gconv_trans.c
-+++ b/iconv/gconv_trans.c
-@@ -238,181 +238,12 @@ __gconv_transliterate (struct __gconv_step *step,
-   return __GCONV_ILLEGAL_INPUT;
- }
- 
--
--/* Structure to represent results of found (or not) transliteration
--   modules.  */
--struct known_trans
--{
--  /* This structure must remain the first member.  */
--  struct trans_struct info;
--
--  char *fname;
--  void *handle;
--  int open_count;
--};
--
--
--/* Tree with results of previous calls to __gconv_translit_find.  */
--static void *search_tree;
--
--/* We modify global data.   */
--__libc_lock_define_initialized (static, lock);
--
--
--/* Compare two transliteration entries.  */
--static int
--trans_compare (const void *p1, const void *p2)
--{
--  const struct known_trans *s1 = (const struct known_trans *) p1;
--  const struct known_trans *s2 = (const struct known_trans *) p2;
--
--  return strcmp (s1->info.name, s2->info.name);
--}
--
--
--/* Open (maybe reopen) the module named in the struct.  Get the function
--   and data structure pointers we need.  */
--static int
--open_translit (struct known_trans *trans)
--{
--  __gconv_trans_query_fct queryfct;
--
--  trans->handle = __libc_dlopen (trans->fname);
--  if (trans->handle == NULL)
--    /* Not available.  */
--    return 1;
--
--  /* Find the required symbol.  */
--  queryfct = __libc_dlsym (trans->handle, "gconv_trans_context");
--  if (queryfct == NULL)
--    {
--      /* We cannot live with that.  */
--    close_and_out:
--      __libc_dlclose (trans->handle);
--      trans->handle = NULL;
--      return 1;
--    }
--
--  /* Get the context.  */
--  if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames)
--      != 0)
--    goto close_and_out;
--
--  /* Of course we also have to have the actual function.  */
--  trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans");
--  if (trans->info.trans_fct == NULL)
--    goto close_and_out;
--
--  /* Now the optional functions.  */
--  trans->info.trans_init_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_init");
--  trans->info.trans_context_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_context");
--  trans->info.trans_end_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_end");
--
--  trans->open_count = 1;
--
--  return 0;
--}
--
--
- int
- internal_function
- __gconv_translit_find (struct trans_struct *trans)
- {
--  struct known_trans **found;
--  const struct path_elem *runp;
--  int res = 1;
--
--  /* We have to have a name.  */
--  assert (trans->name != NULL);
--
--  /* Acquire the lock.  */
--  __libc_lock_lock (lock);
--
--  /* See whether we know this module already.  */
--  found = __tfind (trans, &search_tree, trans_compare);
--  if (found != NULL)
--    {
--      /* Is this module available?  */
--      if ((*found)->handle != NULL)
--	{
--	  /* Maybe we have to reopen the file.  */
--	  if ((*found)->handle != (void *) -1)
--	    /* The object is not unloaded.  */
--	    res = 0;
--	  else if (open_translit (*found) == 0)
--	    {
--	      /* Copy the data.  */
--	      *trans = (*found)->info;
--	      (*found)->open_count++;
--	      res = 0;
--	    }
--	}
--    }
--  else
--    {
--      size_t name_len = strlen (trans->name) + 1;
--      int need_so = 0;
--      struct known_trans *newp;
--
--      /* We have to continue looking for the module.  */
--      if (__gconv_path_elem == NULL)
--	__gconv_get_path ();
--
--      /* See whether we have to append .so.  */
--      if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0)
--	need_so = 1;
--
--      /* Create a new entry.  */
--      newp = (struct known_trans *) malloc (sizeof (struct known_trans)
--					    + (__gconv_max_path_elem_len
--					       + name_len + 3)
--					    + name_len);
--      if (newp != NULL)
--	{
--	  char *cp;
--
--	  /* Clear the struct.  */
--	  memset (newp, '\0', sizeof (struct known_trans));
--
--	  /* Store a copy of the module name.  */
--	  newp->info.name = cp = (char *) (newp + 1);
--	  cp = __mempcpy (cp, trans->name, name_len);
--
--	  newp->fname = cp;
--
--	  /* Search in all the directories.  */
--	  for (runp = __gconv_path_elem; runp->name != NULL; ++runp)
--	    {
--	      cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name),
--			      trans->name, name_len);
--	      if (need_so)
--		memcpy (cp, ".so", sizeof (".so"));
--
--	      if (open_translit (newp) == 0)
--		{
--		  /* We found a module.  */
--		  res = 0;
--		  break;
--		}
--	    }
--
--	  if (res)
--	    newp->fname = NULL;
--
--	  /* In any case we'll add the entry to our search tree.  */
--	  if (__tsearch (newp, &search_tree, trans_compare) == NULL)
--	    {
--	      /* Yickes, this should not happen.  Unload the object.  */
--	      res = 1;
--	      /* XXX unload here.  */
--	    }
--	}
--    }
--
--  __libc_lock_unlock (lock);
--
--  return res;
-+  /* Transliteration module loading has been removed because it never
-+     worked as intended and suffered from a security vulnerability.
-+     Consequently, this function always fails.  */
-+  return 1;
- }
diff --git a/pkgs/development/libraries/glibc/2.19/default.nix b/pkgs/development/libraries/glibc/2.19/default.nix
deleted file mode 100644
index 6cfbcd47da9..00000000000
--- a/pkgs/development/libraries/glibc/2.19/default.nix
+++ /dev/null
@@ -1,101 +0,0 @@
-{ stdenv, fetchurl, fetchgit ? null, kernelHeaders
-, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
-, mig ? null
-, installLocales ? true
-, profilingLibraries ? false
-, gccCross ? null
-, debugSymbols ? false
-, withGd ? false, gd ? null, libpng ? null
-}:
-
-assert stdenv.gcc.gcc != null;
-
-let
-  build = import ./common.nix;
-  cross = if gccCross != null then gccCross.target else null;
-in
-  build cross ({
-    name = "glibc"
-      + stdenv.lib.optionalString (hurdHeaders != null) "-hurd"
-      + stdenv.lib.optionalString debugSymbols "-debug"
-      + stdenv.lib.optionalString withGd "-gd";
-
-    inherit fetchurl fetchgit stdenv kernelHeaders installLocales
-      profilingLibraries gccCross withGd gd libpng;
-
-    builder = ./builder.sh;
-
-    # 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.gcc.gcc}/lib/libgcc_s.so.1 ]; then
-          mkdir -p $out/lib
-          ln -s ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
-      fi
-    '';
-
-    meta.description = "The GNU C Library";
-  }
-
-  //
-
-  (if debugSymbols
-   then {
-     # Build with debugging symbols, but leave optimizations on and don't
-     # attempt to keep the build tree.
-     dontStrip = true;
-     dontCrossStrip = true;
-     NIX_STRIP_DEBUG = 0;
-   }
-   else {})
-
-  //
-
-  (if hurdHeaders != null
-   then rec {
-     inherit machHeaders hurdHeaders libpthreadHeaders mig fetchgit;
-
-     propagatedBuildInputs = [ machHeaders hurdHeaders libpthreadHeaders ];
-
-     passthru = {
-       # When building GCC itself `propagatedBuildInputs' above is not
-       # honored, so we pass it here so that the GCC builder can do the right
-       # thing.
-       inherit propagatedBuildInputs;
-     };
-   }
-   else { })
-
-  //
-
-  (if cross != null
-   then {
-      preConfigure = ''
-        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
-        # Only due to a problem in gcc configure scripts:
-        libc_cv_sparc64_tls=${if cross.withTLS then "yes" else "no"}
-        EOF
-        export BUILD_CC=gcc
-        export CC="$crossConfig-gcc"
-        export AR="$crossConfig-ar"
-        export RANLIB="$crossConfig-ranlib"
-
-        dontStrip=1
-      '';
-
-      # To avoid a dependency on the build system 'bash'.
-      preFixup = ''
-        rm $bin/bin/{ldd,tzselect,catchsegv,xtrace}
-      '';
-    }
-   else {}))
diff --git a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch
deleted file mode 100644
index fabb6c3ec5e..00000000000
--- a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rupN a/elf/rtld.c b/elf/rtld.c
---- a/elf/rtld.c	2013-08-11 00:52:55.000000001 +0200
-+++ b/elf/rtld.c	2014-02-18 13:56:19.000000001 +0100
-@@ -1639,7 +1639,7 @@ ERROR: ld.so: object '%s' cannot be load
-      open().  So we do this first.  If it succeeds we do almost twice
-      the work but this does not matter, since it is not for production
-      use.  */
--  static const char preload_file[] = "/etc/ld.so.preload";
-+  static const char preload_file[] = "/etc/ld-nix.so.preload";
-   if (__builtin_expect (__access (preload_file, R_OK) == 0, 0))
-     {
-       /* Read the contents of the file.  */
diff --git a/pkgs/development/libraries/glibc/2.19/fix-math.patch b/pkgs/development/libraries/glibc/2.19/fix-math.patch
deleted file mode 100644
index 516f53954dd..00000000000
--- a/pkgs/development/libraries/glibc/2.19/fix-math.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-From: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date: Thu, 27 Feb 2014 15:42:09 +0000 (+0530)
-Subject: Fix sign of input to bsloww1 (BZ #16623)
-X-Git-Url: http://repo.or.cz/w/glibc.git/commitdiff_plain/1cadc85813d736f7682fa2eeadae639ab6b66c65
-
-Fix sign of input to bsloww1 (BZ #16623)
-
-In 84ba214c, I removed some redundant sign computations and in the
-process, I incorrectly got rid of a temporary variable, thus passing
-the absolute value of the input to bsloww1.  This caused #16623.
-
-This fix undoes the incorrect change.
-
-[nix]: drop docs update (wouldn't apply)
----
-
-diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
-index ac5348f..fafe96f 100644
---- a/math/auto-libm-test-in
-+++ b/math/auto-libm-test-in
-@@ -594,6 +594,7 @@ cos 0x1.0000010b239a9p0
- cos 0x1.00000162a932bp0
- cos 0x1.000002d452a10p0
- cos 0x1.000005bc7d86dp0
-+cos 0x1.200145a975ce6p32
- cos 1
- cos 2
- cos 3
-@@ -1748,6 +1749,7 @@ sin 7
- sin 8
- sin 9
- sin 10
-+sin 0x1.2001469775ce6p32
- 
- sincos 0
- sincos -0
-diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
-index 8f79359..59c08a7 100644
---- a/math/auto-libm-test-out
-+++ b/math/auto-libm-test-out
-@@ -74446,6 +74446,75 @@ cos 0x1.000005bc7d86dp0
- = cos tonearest ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok
- = cos towardzero ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok
- = cos upward ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92358p-4L : inexact-ok
-+cos 0x1.200145a975ce6p32
-+= cos downward flt-32 0x1.200146p+32f : -0xf.74fbep-4f : inexact-ok
-+= cos tonearest flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
-+= cos towardzero flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
-+= cos upward flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok
-+= cos downward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok
-+= cos tonearest dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok
-+= cos towardzero dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok
-+= cos upward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok
-+= cos downward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok
-+= cos tonearest ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
-+= cos towardzero ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
-+= cos upward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
-+= cos downward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok
-+= cos tonearest ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
-+= cos towardzero ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
-+= cos upward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok
-+= cos downward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok
-+= cos tonearest ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok
-+= cos towardzero ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok
-+= cos upward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok
-+= cos downward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef5cp-4L : inexact-ok
-+= cos tonearest ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
-+= cos towardzero ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
-+= cos upward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok
-+= cos downward flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok
-+= cos tonearest flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok
-+= cos towardzero flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok
-+= cos upward flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok
-+= cos downward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
-+= cos tonearest dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
-+= cos towardzero dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok
-+= cos upward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658bp-4 : inexact-ok
-+= cos downward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
-+= cos tonearest ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
-+= cos towardzero ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
-+= cos upward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
-+= cos downward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
-+= cos tonearest ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
-+= cos towardzero ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok
-+= cos upward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok
-+= cos downward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
-+= cos tonearest ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
-+= cos towardzero ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok
-+= cos upward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fb8p-4L : inexact-ok
-+= cos downward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok
-+= cos tonearest ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok
-+= cos towardzero ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok
-+= cos upward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok
-+= cos downward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffdp-4 : inexact-ok
-+= cos tonearest dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
-+= cos towardzero dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
-+= cos upward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok
-+= cos downward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok
-+= cos tonearest ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
-+= cos towardzero ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
-+= cos upward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
-+= cos downward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok
-+= cos tonearest ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
-+= cos towardzero ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
-+= cos upward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok
-+= cos downward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e8p-4L : inexact-ok
-+= cos tonearest ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
-+= cos towardzero ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
-+= cos upward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok
-+= cos downward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726842p-4L : inexact-ok
-+= cos tonearest ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
-+= cos towardzero ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
-+= cos upward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok
- cos 1
- = cos downward flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok
- = cos tonearest flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok
-@@ -157744,6 +157813,75 @@ sin 10
- = sin tonearest ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be025p-4L : inexact-ok
- = sin towardzero ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok
- = sin upward ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok
-+sin 0x1.2001469775ce6p32
-+= sin downward flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok
-+= sin tonearest flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok
-+= sin towardzero flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok
-+= sin upward flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok
-+= sin downward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe38p-4 : inexact-ok
-+= sin tonearest dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
-+= sin towardzero dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
-+= sin upward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok
-+= sin downward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok
-+= sin tonearest ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
-+= sin towardzero ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
-+= sin upward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
-+= sin downward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok
-+= sin tonearest ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
-+= sin towardzero ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
-+= sin upward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok
-+= sin downward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d944p-4L : inexact-ok
-+= sin tonearest ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
-+= sin towardzero ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
-+= sin upward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok
-+= sin downward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok
-+= sin tonearest ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok
-+= sin towardzero ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok
-+= sin upward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok
-+= sin downward flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
-+= sin tonearest flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
-+= sin towardzero flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok
-+= sin upward flt-32 0x1.200146p+32f : 0x4.220ff8p-4f : inexact-ok
-+= sin downward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok
-+= sin tonearest dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok
-+= sin towardzero dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok
-+= sin upward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok
-+= sin downward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
-+= sin tonearest ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
-+= sin towardzero ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
-+= sin upward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
-+= sin downward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
-+= sin tonearest ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
-+= sin towardzero ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok
-+= sin upward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok
-+= sin downward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
-+= sin tonearest ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
-+= sin towardzero ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok
-+= sin upward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cc4p-4L : inexact-ok
-+= sin downward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
-+= sin tonearest ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
-+= sin towardzero ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok
-+= sin upward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ep-4L : inexact-ok
-+= sin downward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019fcp-4 : inexact-ok
-+= sin tonearest dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
-+= sin towardzero dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
-+= sin upward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok
-+= sin downward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok
-+= sin tonearest ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
-+= sin towardzero ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
-+= sin upward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
-+= sin downward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok
-+= sin tonearest ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
-+= sin towardzero ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
-+= sin upward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok
-+= sin downward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca70604p-4L : inexact-ok
-+= sin tonearest ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
-+= sin towardzero ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
-+= sin upward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
-+= sin downward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca708p-4L : inexact-ok
-+= sin tonearest ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
-+= sin towardzero ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
-+= sin upward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok
- sincos 0
- = sincos downward flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok
- = sincos tonearest flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok
-diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
-index 6105e9f..50109b8 100644
---- a/sysdeps/ieee754/dbl-64/s_sin.c
-+++ b/sysdeps/ieee754/dbl-64/s_sin.c
-@@ -447,19 +447,21 @@ __sin (double x)
- 	    }
- 	  else
- 	    {
-+	      double t;
- 	      if (a > 0)
- 		{
- 		  m = 1;
-+		  t = a;
- 		  db = da;
- 		}
- 	      else
- 		{
- 		  m = 0;
--		  a = -a;
-+		  t = -a;
- 		  db = -da;
- 		}
--	      u.x = big + a;
--	      y = a - (u.x - big);
-+	      u.x = big + t;
-+	      y = t - (u.x - big);
- 	      res = do_sin (u, y, db, &cor);
- 	      cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
- 	      retval = ((res == res + cor) ? ((m) ? res : -res)
-@@ -671,19 +673,21 @@ __cos (double x)
- 	    }
- 	  else
- 	    {
-+	      double t;
- 	      if (a > 0)
- 		{
- 		  m = 1;
-+		  t = a;
- 		  db = da;
- 		}
- 	      else
- 		{
- 		  m = 0;
--		  a = -a;
-+		  t = -a;
- 		  db = -da;
- 		}
--	      u.x = big + a;
--	      y = a - (u.x - big);
-+	      u.x = big + t;
-+	      y = t - (u.x - big);
- 	      res = do_sin (u, y, db, &cor);
- 	      cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
- 	      retval = ((res == res + cor) ? ((m) ? res : -res)
-diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
-index f3980f8..544f1c7 100644
---- a/sysdeps/x86_64/fpu/libm-test-ulps
-+++ b/sysdeps/x86_64/fpu/libm-test-ulps
-@@ -10900,6 +10900,14 @@ idouble: 1
- Test "cos_downward (0x1.0c152382d7365p+0)":
- double: 1
- idouble: 1
-+Test "cos_downward (0x1.200145a975ce6p+32)":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (0x1.200146p+32)":
-+ildouble: 1
-+ldouble: 1
- Test "cos_downward (0x1.921fb4p+0)":
- ildouble: 1
- ldouble: 1
-@@ -11126,6 +11134,9 @@ idouble: 1
- Test "cos_towardzero (0x1.0c152382d7365p+0)":
- double: 1
- idouble: 1
-+Test "cos_towardzero (0x1.200146p+32)":
-+double: 1
-+idouble: 1
- Test "cos_towardzero (0x1.921fb4p+0)":
- ildouble: 1
- ldouble: 1
-@@ -11258,6 +11269,17 @@ idouble: 1
- Test "cos_upward (0x1.0c1524p+0)":
- double: 1
- idouble: 1
-+Test "cos_upward (0x1.200144p+32)":
-+double: 1
-+idouble: 1
-+Test "cos_upward (0x1.200145a975ce6p+32)":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (0x1.200146p+32)":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
- Test "cos_upward (0x1.921fb4p+0)":
- double: 1
- idouble: 1
-@@ -15155,6 +15177,19 @@ double: 1
- idouble: 1
- ildouble: 1
- ldouble: 1
-+Test "sin_downward (0x1.2001469775ce6p+32)":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (0x1.200146p+32)":
-+double: 1
-+idouble: 1
-+Test "sin_downward (0x1.200148p+32)":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
- Test "sin_downward (0x1.921fb54442d18468p+0)":
- ildouble: 1
- ldouble: 1
-@@ -15383,6 +15418,9 @@ double: 1
- idouble: 1
- ildouble: 1
- ldouble: 1
-+Test "sin_towardzero (0x1.200146p+32)":
-+double: 1
-+idouble: 1
- Test "sin_towardzero (0x1.921fb54442d18468p+0)":
- ildouble: 1
- ldouble: 1
-@@ -15532,6 +15570,12 @@ ldouble: 1
- Test "sin_upward (-0x8.60a92p-4)":
- ildouble: 1
- ldouble: 1
-+Test "sin_upward (0x1.2001469775ce6p+32)":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (0x1.200148p+32)":
-+ildouble: 1
-+ldouble: 1
- Test "sin_upward (0x1.921fb4p+0)":
- double: 1
- idouble: 1
diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh
new file mode 100644
index 00000000000..46f47d9b99c
--- /dev/null
+++ b/pkgs/development/libraries/glibc/builder.sh
@@ -0,0 +1,66 @@
+# Glibc cannot have itself in its RPATH.
+export NIX_NO_SELF_RPATH=1
+
+source $stdenv/setup
+
+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")
+}
+
+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
+
+    # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been
+    # renamed.
+    if test -z "$hurdHeaders"; then
+        # Include the Linux kernel headers in Glibc, except the `scsi'
+        # subdirectory, which Glibc provides itself.
+        (cd $dev/include && \
+         ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .)
+    fi
+
+    if test -f "$out/lib/libhurduser.so"; then
+        # libc.so, libhurduser.so, and libmachuser.so depend on each
+        # other, so add them to libc.so (a RUNPATH on libc.so.0.3
+        # would be ignored by the cross-linker.)
+        echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..."
+        sed -i "$out/lib/libc.so" \
+            -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g"
+    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 $out/sbin/sln
+
+    # 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
+
+    # 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
+}
+
+genericBuild
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
new file mode 100644
index 00000000000..4bff795ba5f
--- /dev/null
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -0,0 +1,221 @@
+/* Build configuration used to build glibc, Info files, and locale
+   information.  */
+
+cross:
+
+{ name, fetchurl, fetchgit ? null, stdenv, installLocales ? false
+, gccCross ? null, kernelHeaders ? null
+, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
+, mig ? null
+, profilingLibraries ? false, meta
+, withGd ? false, gd ? null, libpng ? null
+, preConfigure ? "", ... }@args:
+
+let
+
+  version = "2.21";
+
+in
+
+assert cross != null -> gccCross != null;
+assert mig != null -> machHeaders != null;
+assert machHeaders != null -> hurdHeaders != null;
+assert hurdHeaders != null -> libpthreadHeaders != null;
+
+stdenv.mkDerivation ({
+  inherit kernelHeaders installLocales;
+
+  # The host/target system.
+  crossConfig = if cross != null then cross.config else null;
+
+  inherit (stdenv) is64bit;
+
+  enableParallelBuilding = true;
+
+  /* Don't try to apply these patches to the Hurd's snapshot, which is
+     older.  */
+  patches = stdenv.lib.optionals (hurdHeaders == null)
+    [ /* Have rpcgen(1) look for cpp(1) in $PATH.  */
+      ./rpcgen-path.patch
+
+      /* Allow NixOS and Nix to handle the locale-archive. */
+      ./nix-locale-archive.patch
+
+      /* Don't use /etc/ld.so.cache, for non-NixOS systems.  */
+      ./dont-use-system-ld-so-cache.patch
+
+      /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload.  */
+      ./dont-use-system-ld-so-preload.patch
+
+      /* Add blowfish password hashing support.  This is needed for
+         compatibility with old NixOS installations (since NixOS used
+         to default to blowfish). */
+      ./glibc-crypt-blowfish.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
+    ];
+
+  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
+    ''
+    # 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
+    ''
+    # CVE-2014-8121, see https://bugzilla.redhat.com/show_bug.cgi?id=1165192
+    + ''
+      substituteInPlace ./nss/nss_files/files-XXX.c \
+        --replace 'status = internal_setent (stayopen);' \
+                  'status = internal_setent (1);'
+    '';
+
+  configureFlags =
+    [ "-C"
+      "--enable-add-ons"
+      "--enable-obsolete-rpc"
+      "--sysconfdir=/etc"
+      "--localedir=/var/run/current-system/sw/lib/locale"
+      "libc_cv_ssp=no"
+      (if kernelHeaders != null
+       then "--with-headers=${kernelHeaders}/include"
+       else "--without-headers")
+      (if profilingLibraries
+       then "--enable-profile"
+       else "--disable-profile")
+    ] ++ stdenv.lib.optionals (cross == null && kernelHeaders != null) [
+      "--enable-kernel=2.6.32"
+    ] ++ stdenv.lib.optionals (cross != null) [
+      (if cross.withTLS then "--with-tls" else "--without-tls")
+      (if cross.float == "soft" then "--without-fp" else "--with-fp")
+    ] ++ stdenv.lib.optionals (cross != null
+          && cross.platform ? kernelMajor
+          && cross.platform.kernelMajor == "2.6") [
+      "--enable-kernel=2.6.0"
+      "--with-__thread"
+    ] ++ stdenv.lib.optionals (cross == null && stdenv.isArm) [
+      "--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"
+    ] ++ stdenv.lib.optional withGd "--with-gd";
+
+  installFlags = [ "sysconfdir=$(out)/etc" ];
+
+  outputs = [ "out" "dev" "bin" "static" ];
+
+  buildInputs = [ ]
+    ++ stdenv.lib.optionals (cross != null) [ gccCross ]
+    ++ stdenv.lib.optional (mig != null) mig
+    ++ stdenv.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";
+
+  # Workaround for this bug:
+  #   http://sourceware.org/bugzilla/show_bug.cgi?id=411
+  # I.e. when gcc is compiled with --with-arch=i686, then the
+  # preprocessor symbol `__i686' will be defined to `1'.  This causes
+  # the symbol __i686.get_pc_thunk.dx to be mangled.
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686"
+    + " -Wno-error=strict-prototypes";
+}
+
+# Remove the `gccCross' attribute so that the *native* glibc store path
+# doesn't depend on whether `gccCross' is null or not.
+// (removeAttrs args [ "gccCross" "fetchurl" "fetchgit" "withGd" "gd" "libpng" ]) //
+
+{
+  name = name + "-${version}" +
+    stdenv.lib.optionalString (cross != null) "-${cross.config}";
+
+  src =
+    if hurdHeaders != null
+    then fetchgit {
+      # Shamefully the "official" glibc won't build on GNU, so use the one
+      # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
+      # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
+      url = "git://git.sv.gnu.org/hurd/glibc.git";
+      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
+      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
+    }
+    else fetchurl {
+      url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
+      sha256 = "0f4prv4c0fcpi85wv4028wqxn075197gwxhgf0vp571fiw2pi3wd";
+    };
+
+  # 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"
+
+    ${stdenv.lib.optionalString (stdenv.cc.libc != null)
+      ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib"''
+    }
+
+    ${preConfigure}
+  '';
+
+  meta = {
+    homepage = http://www.gnu.org/software/libc/;
+    description = "The GNU C Library"
+      + stdenv.lib.optionalString (hurdHeaders != null) ", for GNU/Hurd";
+
+    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 = stdenv.lib.licenses.lgpl2Plus;
+
+    maintainers = [ ];
+    #platforms = stdenv.lib.platforms.linux;
+  } // meta;
+}
+
+// stdenv.lib.optionalAttrs withGd {
+  preBuild = "unset NIX_DONT_SET_RPATH";
+}
+
+// stdenv.lib.optionalAttrs (hurdHeaders != null) {
+  # Work around the fact that the configure snippet that looks for
+  # <hurd/version.h> does not honor `--with-headers=$sysheaders' and that
+  # glibc expects Mach, Hurd, and pthread headers to be in the same place.
+  CPATH = "${hurdHeaders}/include:${machHeaders}/include:${libpthreadHeaders}/include";
+
+  # Install NSS stuff in the right place.
+  # XXX: This will be needed for all new glibcs and isn't Hurd-specific.
+  makeFlags = ''vardbdir="$out/var/db"'';
+})
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
new file mode 100644
index 00000000000..8322ccefff3
--- /dev/null
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -0,0 +1,102 @@
+{ stdenv, fetchurl, fetchgit ? null, kernelHeaders
+, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
+, mig ? null
+, installLocales ? true
+, profilingLibraries ? false
+, gccCross ? null
+, debugSymbols ? false
+, withGd ? false, gd ? null, libpng ? null
+}:
+
+assert stdenv.cc.cc.isGNU or false;
+
+let
+  build = import ./common.nix;
+  cross = if gccCross != null then gccCross.target else null;
+in
+  build cross ({
+    name = "glibc"
+      + stdenv.lib.optionalString (hurdHeaders != null) "-hurd"
+      + stdenv.lib.optionalString debugSymbols "-debug"
+      + stdenv.lib.optionalString withGd "-gd";
+
+    inherit fetchurl fetchgit stdenv kernelHeaders installLocales
+      profilingLibraries gccCross withGd gd libpng;
+
+    builder = ./builder.sh;
+
+    # 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 cross != null then "" else ''
+      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
+          ln -s libgcc_s.so.1 $out/lib/libgcc_s.so
+      fi
+    '';
+
+    meta.description = "The GNU C Library";
+  }
+
+  //
+
+  (if debugSymbols
+   then {
+     # Build with debugging symbols, but leave optimizations on and don't
+     # attempt to keep the build tree.
+     dontStrip = true;
+     dontCrossStrip = true;
+     NIX_STRIP_DEBUG = 0;
+   }
+   else {})
+
+  //
+
+  (if hurdHeaders != null
+   then rec {
+     inherit machHeaders hurdHeaders libpthreadHeaders mig fetchgit;
+
+     propagatedBuildInputs = [ machHeaders hurdHeaders libpthreadHeaders ];
+
+     passthru = {
+       # When building GCC itself `propagatedBuildInputs' above is not
+       # honored, so we pass it here so that the GCC builder can do the right
+       # thing.
+       inherit propagatedBuildInputs;
+     };
+   }
+   else { })
+
+  //
+
+  (if cross != null
+   then {
+      preConfigure = ''
+        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
+        # Only due to a problem in gcc configure scripts:
+        libc_cv_sparc64_tls=${if cross.withTLS then "yes" else "no"}
+        EOF
+        export BUILD_CC=gcc
+        export CC="$crossConfig-gcc"
+        export AR="$crossConfig-ar"
+        export RANLIB="$crossConfig-ranlib"
+
+        dontStrip=1
+      '';
+
+      # To avoid a dependency on the build system 'bash'.
+      preFixup = ''
+        rm $bin/bin/{ldd,tzselect,catchsegv,xtrace}
+      '';
+    }
+   else {}))
diff --git a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
index 95f53773320..fc14553c3ee 100644
--- a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch
+++ b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
@@ -15,13 +15,14 @@ diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile
 +++ glibc-2.16.0/elf/Makefile	2012-09-18 12:03:30.031955196 -0400
 @@ -415,12 +415,12 @@
  
- $(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o)
+ $(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)"' -DIS_IN_ldconfig=1
+ 		    -D'SLIBDIR="$(slibdir)"'
+ libof-ldconfig = ldconfig
 -CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
 -CFLAGS-cache.c = $(SYSCONF-FLAGS)
 -CFLAGS-rtld.c = $(SYSCONF-FLAGS)
@@ -29,8 +30,8 @@ diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile
 +CFLAGS-cache.c = $(PREFIX-FLAGS)
 +CFLAGS-rtld.c = $(PREFIX-FLAGS)
  
- CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
- 		     -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
+ 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 --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch
new file mode 100644
index 00000000000..894e2a11cf8
--- /dev/null
+++ b/pkgs/development/libraries/glibc/dont-use-system-ld-so-preload.patch
@@ -0,0 +1,12 @@
+diff -ru glibc-2.20-orig/elf/rtld.c glibc-2.20/elf/rtld.c
+--- glibc-2.20-orig/elf/rtld.c	2014-09-07 10:09:09.000000000 +0200
++++ glibc-2.20/elf/rtld.c	2014-10-27 11:32:25.203043157 +0100
+@@ -1513,7 +1513,7 @@
+      open().  So we do this first.  If it succeeds we do almost twice
+      the work but this does not matter, since it is not for production
+      use.  */
+-  static const char preload_file[] = "/etc/ld.so.preload";
++  static const char preload_file[] = "/etc/ld-nix.so.preload";
+   if (__glibc_unlikely (__access (preload_file, R_OK) == 0))
+     {
+       /* Read the contents of the file.  */
diff --git a/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch b/pkgs/development/libraries/glibc/fix_path_attribute_in_getconf.patch
index 714e49db560..714e49db560 100644
--- a/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch
+++ b/pkgs/development/libraries/glibc/fix_path_attribute_in_getconf.patch
diff --git a/pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch b/pkgs/development/libraries/glibc/glibc-crypt-blowfish.patch
index a0a8acdab63..a0a8acdab63 100644
--- a/pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch
+++ b/pkgs/development/libraries/glibc/glibc-crypt-blowfish.patch
diff --git a/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch b/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch
new file mode 100644
index 00000000000..db010e62366
--- /dev/null
+++ b/pkgs/development/libraries/glibc/glibc-remove-datetime-from-nscd.patch
@@ -0,0 +1,11 @@
+--- a/nscd/nscd_stat.c
++++ b/nscd/nscd_stat.c
+@@ -37,7 +37,7 @@
+ 
+ 
+ /* We use this to make sure the receiver is the same.  */
+-static const char compilation[21] = __DATE__ " " __TIME__;
++static const char compilation[] = "@out@";
+ 
+ /* Statistic data for one database.  */
+ struct dbstat
diff --git a/pkgs/development/libraries/glibc/2.19/info.nix b/pkgs/development/libraries/glibc/info.nix
index e4cdb42dd68..e4cdb42dd68 100644
--- a/pkgs/development/libraries/glibc/2.19/info.nix
+++ b/pkgs/development/libraries/glibc/info.nix
diff --git a/pkgs/development/libraries/glibc/2.19/locales-builder.sh b/pkgs/development/libraries/glibc/locales-builder.sh
index d732e208fa2..d732e208fa2 100644
--- a/pkgs/development/libraries/glibc/2.19/locales-builder.sh
+++ b/pkgs/development/libraries/glibc/locales-builder.sh
diff --git a/pkgs/development/libraries/glibc/2.19/locales.nix b/pkgs/development/libraries/glibc/locales.nix
index 08c791b4131..ad522f78668 100644
--- a/pkgs/development/libraries/glibc/2.19/locales.nix
+++ b/pkgs/development/libraries/glibc/locales.nix
@@ -6,7 +6,7 @@
    http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
 */
 
-{ stdenv, fetchurl, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
+{ stdenv, fetchurl, writeText, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
 
 let build = import ./common.nix; in
 
@@ -28,8 +28,8 @@ build null {
       mkdir -p $TMPDIR/"${stdenv.gcc.libc}/lib/locale"
 
       # Hack to allow building of the locales (needed since glibc-2.12)
-      sed -i -e "s,^LOCALEDEF=.*,LOCALEDEF=localedef --prefix=$TMPDIR," -e \
-          /library-path/d ../glibc-2*/localedata/Makefile
+      sed -i -e 's,^$(rtld-prefix) $(common-objpfx)locale/localedef,localedef --prefix='$TMPDIR',' ../glibc-2*/localedata/Makefile
+
       ${if allLocales then "" else
           "echo SUPPORTED-LOCALES=\"${toString locales}\" > ../glibc-2*/localedata/SUPPORTED"}
 
@@ -43,5 +43,10 @@ build null {
       cp -v "$TMPDIR/$NIX_STORE/"*"/lib/locale/locale-archive" "$out/lib/locale"
     '';
 
+  setupHook = writeText "locales-setup-hook.sh"
+    ''
+      export LOCALE_ARCHIVE=@out@/lib/locale/locale-archive
+    '';
+
   meta.description = "Locale information for the GNU C Library";
 }
diff --git a/pkgs/development/libraries/glibc/2.19/multi.nix b/pkgs/development/libraries/glibc/multi.nix
index ad4a34152b6..e0a9fa46b96 100644
--- a/pkgs/development/libraries/glibc/2.19/multi.nix
+++ b/pkgs/development/libraries/glibc/multi.nix
@@ -1,7 +1,10 @@
 { runCommand, glibc, glibc32
 }:
 
-runCommand "${glibc.name}-multi"
+let
+  nameVersion = builtins.parseDrvName glibc.name;
+in
+runCommand "${nameVersion.name}-multi-${nameVersion.version}"
   { inherit glibc32;
    glibc64 = glibc;
   }
diff --git a/pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch b/pkgs/development/libraries/glibc/nix-locale-archive.patch
index 88c8adef922..88c8adef922 100644
--- a/pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch
+++ b/pkgs/development/libraries/glibc/nix-locale-archive.patch
diff --git a/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch b/pkgs/development/libraries/glibc/rpcgen-path.patch
index 3349449d916..3349449d916 100644
--- a/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch
+++ b/pkgs/development/libraries/glibc/rpcgen-path.patch
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 66fb0179489..9e06ed66412 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, glib, libsigcxx }:
 
 let
-  ver_maj = "2.38";
-  ver_min = "1";
+  ver_maj = "2.42";
+  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 = "18n4czi6lh4ncj54apxms18xn9k8pmrp2ba9sxn0sk9w3pp2bja9";
+    sha256 = "985083d97378d234da27a7243587cc0d186897a4b2d3c1286f794089be1a3397";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [urkud raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glm/0954.nix b/pkgs/development/libraries/glm/0954.nix
new file mode 100644
index 00000000000..4eb3497b039
--- /dev/null
+++ b/pkgs/development/libraries/glm/0954.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "glm-0.9.5.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/ogl-math/${name}/${name}.zip";
+    sha256 = "0v14xssysy3q1h2mga6rqlz722mwbis4rrx76zmvhjqh17qh4l62";
+  };
+
+  buildInputs = [ unzip ];
+
+  outputs = [ "out" "doc" ];
+
+  installPhase = ''
+    mkdir -p "$out/include"
+    cp -r glm "$out/include"
+
+    mkdir -p "$doc/share/doc/glm"
+    cp -r doc/* "$doc/share/doc/glm"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL Mathematics library for C++";
+    longDescription = ''
+      OpenGL Mathematics (GLM) is a header only C++ mathematics library for
+      graphics software based on the OpenGL Shading Language (GLSL)
+      specification and released under the MIT license.
+    '';
+    homepage = http://glm.g-truc.net/;
+    license = licenses.mit;
+    branch = "0.9.5.4";
+    platforms = platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+}
diff --git a/pkgs/development/libraries/glm/default.nix b/pkgs/development/libraries/glm/default.nix
index b35fe1e7855..0841990fa95 100644
--- a/pkgs/development/libraries/glm/default.nix
+++ b/pkgs/development/libraries/glm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "glm-0.9.5.1";
+  name = "glm-0.9.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ogl-math/${name}/${name}.zip";
-    sha256 = "1x8bpmqdszzkg21r411w7cy4mqd5dcvb9jghc8h3xrx7ldbicqjg";
+    sha256 = "1s1kpf9hpyq6bdf87nhlkxyr2ay0ip9wqicdma9h8yz4vs20r2hs";
   };
 
   buildInputs = [ unzip ];
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     homepage = http://glm.g-truc.net/;
     license = licenses.mit;
     platforms = platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix
index d3f74f4043a..9e26d8ecf05 100644
--- a/pkgs/development/libraries/glog/default.nix
+++ b/pkgs/development/libraries/glog/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://code.google.com/p/google-glog/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     description = "Library for application-level logging";
   };
 }
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
index 4e271a8c678..9723bf90eb0 100644
--- a/pkgs/development/libraries/gloox/default.nix
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -9,14 +9,14 @@ assert sslSupport -> openssl != null;
 assert idnSupport -> libidn != null;
 
 let
-  version = "1.0.10";
+  version = "1.0.13";
 in
 stdenv.mkDerivation rec {
   name = "gloox-${version}";
 
   src = fetchurl {
     url = "http://camaya.net/download/gloox-${version}.tar.bz2";
-    sha256 = "300e756af97d43f3f70f1e68e4d4c7129d587dface61633f50d2c490876f58a3";
+    sha256 = "12payqyx1ly8nm3qn24bj0kyy9d08sixnjqxw7fn6rbwr7m1x7sd";
   };
 
   buildInputs = [ ]
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A portable high-level Jabber/XMPP library for C++";
     homepage = "http://camaya.net/gloox";
-    license = [ "GPLv3" ];
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix
index 144dd0d9bfb..93bad0059b7 100644
--- a/pkgs/development/libraries/gmime/default.nix
+++ b/pkgs/development/libraries/gmime/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "gmime-2.6.19";
+  name = "gmime-2.6.20";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/2.6/${name}.tar.xz";
-    sha256 = "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg";
+    sha256 = "0rfzbgsh8ira5p76kdghygl5i3fvmmx4wbw5rp7f8ajc4vxp18g0";
   };
 
   outputs = [ "dev" "out" "doc" ];
diff --git a/pkgs/development/libraries/gmm/default.nix b/pkgs/development/libraries/gmm/default.nix
index d79293eced1..cf62b6a224b 100644
--- a/pkgs/development/libraries/gmm/default.nix
+++ b/pkgs/development/libraries/gmm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "gmm-3.0";
+  name = "gmm-4.3";
 
   src = fetchurl {
-    url = http://download.gna.org/getfem/stable/gmm-3.0.tar.gz;
-    sha256 = "1lc34w68s0rhii6caklvq2pyc3jaa4g6kza948ya8ha6rr8d1ypp";
+    url = http://download.gna.org/getfem/stable/gmm-4.3.tar.gz;
+    sha256 = "0wpp3k73wd3rblsrwxl6djq6m11fx3q5wgw0pl41m9liswsw6din";
   };
 
   meta = { 
diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix
new file mode 100644
index 00000000000..71ac281195b
--- /dev/null
+++ b/pkgs/development/libraries/gmock/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, unzip, cmake}:
+
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  name = "gmock-${version}";
+
+  src = fetchurl {
+    url = "https://googlemock.googlecode.com/files/${name}.zip";
+    sha256="26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b";
+  };
+
+  buildInputs = [ unzip cmake ];
+
+  buildPhase = ''
+    # avoid building gtest
+    make gmock gmock_main
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v libgmock.a libgmock_main.a $out/lib
+    cp -v -r ../include $out
+    cp -v -r ../src $out
+  '';
+
+  meta = {
+    description = "Google mock: Google's framework for writing C++ mock classes";
+    homepage = https://code.google.com/p/googlemock/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix
index e9cfda032b1..39d84c4f6fe 100644
--- a/pkgs/development/libraries/gmp/4.3.2.nix
+++ b/pkgs/development/libraries/gmp/4.3.2.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = {
+    branch = "4";
     description = "GNU multiple precision arithmetic library";
 
     longDescription =
@@ -55,7 +56,7 @@ stdenv.mkDerivation rec {
     homepage = http://gmplib.org/;
     license = stdenv.lib.licenses.lgpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gmp/5.0.5.nix b/pkgs/development/libraries/gmp/5.0.5.nix
deleted file mode 100644
index 5f3690f67a9..00000000000
--- a/pkgs/development/libraries/gmp/5.0.5.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, fetchurl, m4, cxx ? true }:
-
-stdenv.mkDerivation rec {
-  name = "gmp-5.0.5";
-
-  src = fetchurl {
-    url = "mirror://gnu/gmp/${name}.tar.bz2";
-    sha256 = "1jfymbr90mpn0zw5sg001llqnvf2462y77vgjknrmfs1rjn8ln0z";
-  };
-
-  patches = [ ./ignore-bad-cpuid.patch ];
-
-  nativeBuildInputs = [ m4 ];
-
-  configureFlags =
-    # Build a "fat binary", with routines for several sub-architectures
-    # (x86), except on Solaris where some tests crash with "Memory fault".
-    # See <http://hydra.nixos.org/build/2760931>, for instance.
-    (stdenv.lib.optional (!stdenv.isSunOS) "--enable-fat")
-    ++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]);
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  crossAttrs = {
-    # Disable stripping to avoid "libgmp.a: Archive has no index"
-    # (see <http://hydra.nixos.org/build/4268666>.)
-    dontStrip = true;
-    dontCrossStrip = true;
-  };
-
-  meta = {
-    description = "GNU multiple precision arithmetic library";
-
-    longDescription =
-      '' GMP is a free library for arbitrary precision arithmetic, operating
-         on signed integers, rational numbers, and floating point numbers.
-         There is no practical limit to the precision except the ones implied
-         by the available memory in the machine GMP runs on.  GMP has a rich
-         set of functions, and the functions have a regular interface.
-
-         The main target applications for GMP are cryptography applications
-         and research, Internet security applications, algebra systems,
-         computational algebra research, etc.
-
-         GMP is carefully designed to be as fast as possible, both for small
-         operands and for huge operands.  The speed is achieved by using
-         fullwords as the basic arithmetic type, by using fast algorithms,
-         with highly optimised assembly code for the most common inner loops
-         for a lot of CPUs, and by a general emphasis on speed.
-
-         GMP is faster than any other bignum library.  The advantage for GMP
-         increases with the operand sizes for many operations, since GMP uses
-         asymptotically faster algorithms.
-      '';
-
-    homepage = http://gmplib.org/;
-    license = stdenv.lib.licenses.lgpl3Plus;
-
-    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index 573b7cbe2ee..ae8ae7c0f18 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, m4, cxx ? true, withStatic ? false }:
+{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
 
 with { inherit (stdenv.lib) optional; };
 
@@ -14,20 +14,26 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ m4 ];
 
+  patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
+
   configureFlags =
     # Build a "fat binary", with routines for several sub-architectures
     # (x86), except on Solaris where some tests crash with "Memory fault".
     # See <http://hydra.nixos.org/build/2760931>, for instance.
+    #
+    # no darwin because gmp uses ASM that clang doesn't like
     optional (!stdenv.isSunOS) "--enable-fat"
     ++ (if cxx then [ "--enable-cxx"  ]
                else [ "--disable-cxx" ])
     ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
+    ++ optional stdenv.isDarwin "ABI=64"
     ++ optional stdenv.is64bit "--with-pic"
     ;
-  dontDisableStatic = withStatic;
 
   doCheck = true;
 
+  dontDisableStatic = withStatic;
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
@@ -61,4 +67,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.simons ];
   };
 }
-
diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix
new file mode 100644
index 00000000000..b7350c19960
--- /dev/null
+++ b/pkgs/development/libraries/gmp/6.x.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchurl, m4, cxx ? true, withStatic ? true }:
+
+with { inherit (stdenv.lib) optional; };
+
+stdenv.mkDerivation rec {
+  name = "gmp-6.0.0a";
+
+  src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
+    urls = [ "mirror://gnu/gmp/${name}.tar.bz2" "ftp://ftp.gmplib.org/pub/${name}/${name}.tar.bz2" ];
+    sha256 = "1bwsfmf0vrx3rwl4xmi5jhhy3v1qx1xj0m7p9hb0fvcw9f09m3kz";
+  };
+
+  nativeBuildInputs = [ m4 ];
+
+  configureFlags =
+    # Build a "fat binary", with routines for several sub-architectures
+    # (x86), except on Solaris where some tests crash with "Memory fault".
+    # See <http://hydra.nixos.org/build/2760931>, for instance.
+    #
+    # no darwin because gmp uses ASM that clang doesn't like
+    optional (!stdenv.isSunOS) "--enable-fat"
+    ++ (if cxx then [ "--enable-cxx"  ]
+               else [ "--disable-cxx" ])
+    ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
+    ++ optional stdenv.isDarwin "ABI=64"
+    ++ optional stdenv.is64bit "--with-pic"
+    ;
+
+  doCheck = true;
+
+  dontDisableStatic = withStatic;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "http://gmplib.org/";
+    description = "GNU multiple precision arithmetic library";
+    license = licenses.gpl3Plus;
+
+    longDescription =
+      '' GMP is a free library for arbitrary precision arithmetic, operating
+         on signed integers, rational numbers, and floating point numbers.
+         There is no practical limit to the precision except the ones implied
+         by the available memory in the machine GMP runs on.  GMP has a rich
+         set of functions, and the functions have a regular interface.
+
+         The main target applications for GMP are cryptography applications
+         and research, Internet security applications, algebra systems,
+         computational algebra research, etc.
+
+         GMP is carefully designed to be as fast as possible, both for small
+         operands and for huge operands.  The speed is achieved by using
+         fullwords as the basic arithmetic type, by using fast algorithms,
+         with highly optimised assembly code for the most common inner loops
+         for a lot of CPUs, and by a general emphasis on speed.
+
+         GMP is faster than any other bignum library.  The advantage for GMP
+         increases with the operand sizes for many operations, since GMP uses
+         asymptotically faster algorithms.
+      '';
+
+    platforms = platforms.all;
+    maintainers = [ maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/libraries/gmp/ignore-bad-cpuid.patch b/pkgs/development/libraries/gmp/ignore-bad-cpuid.patch
deleted file mode 100644
index 840d530a450..00000000000
--- a/pkgs/development/libraries/gmp/ignore-bad-cpuid.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Don't abort when seeing the default CPU model/platform returned by
-QEMU.
-
-diff -ru -x '*~' gmp-5.0.4-orig/mpn/x86_64/fat/fat.c gmp-5.0.4/mpn/x86_64/fat/fat.c
---- gmp-5.0.4-orig/mpn/x86_64/fat/fat.c	2012-02-10 11:23:05.000000000 +0100
-+++ gmp-5.0.4/mpn/x86_64/fat/fat.c	2012-04-01 21:38:35.843066724 +0200
-@@ -194,13 +194,16 @@
-     {
-       switch (family)
- 	{
-+#if 0
- 	case 4:
- 	case 5:
- 	  abort ();		/* 32-bit processors */
-+#endif
- 
- 	case 6:
- 	  switch (model)
- 	    {
-+#if 0
- 	    case 0x00:
- 	    case 0x01:
- 	    case 0x02:
-@@ -217,6 +220,7 @@
- 	    case 0x0d:		/* Dothan */
- 	    case 0x0e:		/* Yonah */
- 	      abort ();		/* 32-bit processors */
-+#endif
- 
- 	    case 0x0f:		/* Conroe Merom Kentsfield Allendale */
- 	    case 0x10:
diff --git a/pkgs/development/libraries/gmp/need-size-t.patch b/pkgs/development/libraries/gmp/need-size-t.patch
new file mode 100644
index 00000000000..c4ba086182a
--- /dev/null
+++ b/pkgs/development/libraries/gmp/need-size-t.patch
@@ -0,0 +1,18 @@
+diff --git a/gmp-h.in b/gmp-h.in
+index 7deb67a..240d663 100644
+--- a/gmp-h.in
++++ b/gmp-h.in
+@@ -46,13 +46,11 @@ along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
+ #ifndef __GNU_MP__
+ #define __GNU_MP__ 5
+ 
+-#define __need_size_t  /* tell gcc stddef.h we only want size_t */
+ #if defined (__cplusplus)
+ #include <cstddef>     /* for size_t */
+ #else
+ #include <stddef.h>    /* for size_t */
+ #endif
+-#undef __need_size_t
+ 
+ /* Instantiated by configure. */
+ #if ! defined (__GMP_WITHIN_CONFIGURE)
diff --git a/pkgs/development/libraries/gnet/default.nix b/pkgs/development/libraries/gnet/default.nix
index f294889dd32..6b05bda1b3a 100644
--- a/pkgs/development/libraries/gnet/default.nix
+++ b/pkgs/development/libraries/gnet/default.nix
@@ -1,12 +1,22 @@
-{stdenv, fetchurl, pkgconfig, glib}:
-
-assert pkgconfig != null && glib != null;
+{stdenv, fetchFromGitHub, pkgconfig, autoconf, automake, glib, libtool }:
 
 stdenv.mkDerivation {
-  name = "gnet-2.0.7";
-  src = fetchurl {
-    url = http://www.gnetlibrary.org/src/gnet-2.0.7.tar.gz;
-    md5 = "3a7a40411775688fe4c42141ab007048";
+  name = "gnet-2.0.8";
+  src = fetchFromGitHub {
+    owner = "GNOME";
+    repo = "gnet";
+    rev = "GNET_2_0_8";
+    sha256 = "1cy78kglzi235md964ikvm0rg801bx0yk9ya8zavndjnaarzqq87";
+  };
+
+  buildInputs = [ pkgconfig autoconf automake glib libtool ];
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    description = "A network library, written in C, object-oriented, and built upon GLib";
+    homepage = https://developer.gnome.org/gnet/;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
-  buildInputs = [pkgconfig glib];
 }
diff --git a/pkgs/development/libraries/gnome-sharp/Makefile.in.patch b/pkgs/development/libraries/gnome-sharp/Makefile.in.patch
new file mode 100644
index 00000000000..46b644f2471
--- /dev/null
+++ b/pkgs/development/libraries/gnome-sharp/Makefile.in.patch
@@ -0,0 +1,11 @@
+--- a/sample/gnomevfs/Makefile.in	2009-03-03 16:09:52.000000000 +0000
++++ b/sample/gnomevfs/Makefile.in	2014-10-14 13:35:51.020427244 +0100
+@@ -218,7 +218,7 @@
+ 
+ @ENABLE_GNOMEVFS_FALSE@EXTRA_TARGETS = 
+ @ENABLE_GNOMEVFS_TRUE@@ENABLE_MONOGETOPTIONS_FALSE@EXTRA_TARGETS = 
+-@ENABLE_GNOMEVFS_TRUE@@ENABLE_MONOGETOPTIONS_TRUE@EXTRA_TARGETS = TestXfer.exe
++@ENABLE_GNOMEVFS_TRUE@@ENABLE_MONOGETOPTIONS_TRUE@EXTRA_TARGETS =
+ assemblies = ../../gnomevfs/gnome-vfs-sharp.dll
+ references = $(GTKSHARP_LIBS) $(addprefix /r:, $(assemblies))
+ noinst_SCRIPTS = $(TARGETS) $(EXTRA_TARGETS)
diff --git a/pkgs/development/libraries/gnome-sharp/default.nix b/pkgs/development/libraries/gnome-sharp/default.nix
new file mode 100644
index 00000000000..59f97e46bef
--- /dev/null
+++ b/pkgs/development/libraries/gnome-sharp/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, pkgconfig, gtk, mono, gtk-sharp, gnome}:
+
+stdenv.mkDerivation {
+  name = "gnome-sharp-2.24.1";
+  src = fetchurl {
+    url = http://ftp.gnome.org/pub/gnome/sources/gnome-sharp/2.24/gnome-sharp-2.24.1.tar.gz;
+    sha256 = "0cfvs7hw67fp0wimskqd0gdfx323gv6hi0c5pf59krnmhdrl6z8p";
+  };
+
+  buildInputs = [ pkgconfig gtk mono gtk-sharp ]
+  ++ (with gnome; [ libart_lgpl gnome_vfs libgnome libgnomecanvas libgnomeui]);
+
+  patches = [ ./Makefile.in.patch ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.mono-project.com/docs/gui/gtksharp/;
+    description = "A .NET language binding for assorted GNOME libraries";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/libraries/gnutls/3.1.nix b/pkgs/development/libraries/gnutls/3.1.nix
deleted file mode 100644
index 6aea78a3ac5..00000000000
--- a/pkgs/development/libraries/gnutls/3.1.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
-, guileBindings, guile, perl, gmp }:
-
-assert guileBindings -> guile != null;
-
-stdenv.mkDerivation rec {
-  name = "gnutls-3.1.25";
-
-  src = fetchurl {
-    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz";
-    sha256 = "1i1v8pbaw72k0ps09i3lvc1zr9gn34jpliiijbs8k7axrv2w9n5g";
-  };
-
-  # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
-  patches = stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch;
-
-  # Note: GMP is a dependency of Nettle, whose public headers include
-  # GMP headers, hence the hack.
-  configurePhase = ''
-    ./configure --prefix="$out"                                 \
-      --disable-dependency-tracking --enable-fast-install       \
-      --without-p11-kit                                         \
-      --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
-      --with-libnettle-prefix="${nettle}"                       \
-      CPPFLAGS="-I${gmp}/include"                               \
-      ${stdenv.lib.optionalString guileBindings
-          "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""}
-  '';
-
-  # Build of the Guile bindings is not parallel-safe.  See
-  # <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
-  # for the actual fix.
-  enableParallelBuilding = !guileBindings;
-
-  buildInputs = [ zlib lzo lzip ]
-    ++ stdenv.lib.optional guileBindings guile;
-
-  nativeBuildInputs = [ perl pkgconfig ];
-
-  propagatedBuildInputs = [ nettle libtasn1 ];
-
-  # XXX: Gnulib's `test-select' fails on FreeBSD:
-  # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
-  doCheck = false;#(!stdenv.isFreeBSD && !stdenv.isDarwin);
-
-  meta = {
-    description = "The GNU Transport Layer Security Library";
-
-    longDescription = ''
-       GnuTLS is a project that aims to develop a library which
-       provides a secure layer, over a reliable transport
-       layer. Currently the GnuTLS library implements the proposed
-       standards by the IETF's TLS working group.
-
-       Quoting from the TLS protocol specification:
-
-       "The TLS protocol provides communications privacy over the
-       Internet. The protocol allows client/server applications to
-       communicate in a way that is designed to prevent eavesdropping,
-       tampering, or message forgery."
-    '';
-
-    homepage = http://www.gnu.org/software/gnutls/;
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix
index cd48e08a39c..e46b1dfd8e6 100644
--- a/pkgs/development/libraries/gnutls/3.2.nix
+++ b/pkgs/development/libraries/gnutls/3.2.nix
@@ -1,70 +1,10 @@
-{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
-, guileBindings, guile, perl, gmp }:
+{ callPackage, fetchurl, ... } @ args:
 
-assert guileBindings -> guile != null;
-
-stdenv.mkDerivation rec {
-  name = "gnutls-3.2.15";
+callPackage ./generic.nix (args // rec {
+  version = "3.2.21";
 
   src = fetchurl {
-    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz";
-    sha256 = "16c5c4k41mxib8i06npks940p9xllgn1wrackfp8712wdvl5zc4q";
-  };
-
-  patches =
-    # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
-    stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch
-    ;
-
-  # Note: GMP is a dependency of Nettle, whose public headers include
-  # GMP headers, hence the hack.
-  configurePhase = ''
-    ./configure --prefix="$out"                                 \
-      --disable-dependency-tracking --enable-fast-install       \
-      --without-p11-kit                                         \
-      --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
-      --with-libnettle-prefix="${nettle}"                       \
-      CPPFLAGS="-I${gmp}/include"                               \
-      ${stdenv.lib.optionalString guileBindings
-          "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""}
-  '';
-
-  # Build of the Guile bindings is not parallel-safe.  See
-  # <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
-  # for the actual fix.
-  enableParallelBuilding = !guileBindings;
-
-  buildInputs = [ zlib lzo lzip ]
-    ++ stdenv.lib.optional guileBindings guile;
-
-  nativeBuildInputs = [ perl pkgconfig ];
-
-  propagatedBuildInputs = [ nettle libtasn1 ];
-
-  # XXX: Gnulib's `test-select' fails on FreeBSD:
-  # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
-  doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
-
-  meta = {
-    description = "The GNU Transport Layer Security Library";
-
-    longDescription = ''
-       GnuTLS is a project that aims to develop a library which
-       provides a secure layer, over a reliable transport
-       layer. Currently the GnuTLS library implements the proposed
-       standards by the IETF's TLS working group.
-
-       Quoting from the TLS protocol specification:
-
-       "The TLS protocol provides communications privacy over the
-       Internet. The protocol allows client/server applications to
-       communicate in a way that is designed to prevent eavesdropping,
-       tampering, or message forgery."
-    '';
-
-    homepage = http://www.gnu.org/software/gnutls/;
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
+    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/gnutls-${version}.tar.lz";
+    sha256 = "1xydzlwmf0frxvr26yw0ily5vwkdvf90m53fix61bi5gx4xd2m7m";
   };
-}
+})
diff --git a/pkgs/development/libraries/gnutls/3.3.nix b/pkgs/development/libraries/gnutls/3.3.nix
new file mode 100644
index 00000000000..fbf51f34ff8
--- /dev/null
+++ b/pkgs/development/libraries/gnutls/3.3.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "3.3.14";
+
+  src = fetchurl {
+    url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-${version}.tar.lz";
+    sha256 = "1117j71ng66syddw10yazrniqkd326hcigx2hfcw4s86rk0kqanv";
+  };
+})
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
new file mode 100644
index 00000000000..9c1c2e1b7d8
--- /dev/null
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -0,0 +1,71 @@
+{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
+, guileBindings, guile, perl, gmp
+
+# Version dependent args
+, version, src
+, ...}:
+
+assert guileBindings -> guile != null;
+
+stdenv.mkDerivation rec {
+  name = "gnutls-${version}";
+
+  inherit src;
+
+  patches =
+    # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
+    stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch
+    ;
+
+  # Note: GMP is a dependency of Nettle, whose public headers include
+  # GMP headers, hence the hack.
+  configurePhase = ''
+    ./configure --prefix="$out"                                 \
+      --disable-dependency-tracking --enable-fast-install       \
+      --without-p11-kit                                         \
+      --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
+      --with-libnettle-prefix="${nettle}"                       \
+      CPPFLAGS="-I${gmp}/include"                               \
+      ${stdenv.lib.optionalString guileBindings
+          "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""}
+  '';
+
+  # Build of the Guile bindings is not parallel-safe.  See
+  # <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
+  # for the actual fix.
+  enableParallelBuilding = !guileBindings;
+
+  buildInputs = [ zlib lzo lzip ]
+    ++ stdenv.lib.optional guileBindings guile;
+
+  nativeBuildInputs = [ perl pkgconfig ];
+
+  propagatedBuildInputs = [ nettle libtasn1 ];
+
+  # XXX: Gnulib's `test-select' fails on FreeBSD:
+  # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
+  doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
+
+  meta = with stdenv.lib; {
+    description = "The GNU Transport Layer Security Library";
+
+    longDescription = ''
+       GnuTLS is a project that aims to develop a library which
+       provides a secure layer, over a reliable transport
+       layer. Currently the GnuTLS library implements the proposed standards by
+       the IETF's TLS working group.
+
+       Quoting from the TLS protocol specification:
+
+       "The TLS protocol provides communications privacy over the
+       Internet. The protocol allows client/server applications to
+       communicate in a way that is designed to prevent eavesdropping,
+       tampering, or message forgery."
+    '';
+
+    homepage = http://www.gnu.org/software/gnutls/;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ eelco wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 5fdd88ff0b1..0dcf6e9f0d5 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" "doc" ];
 
-  buildInputs = [ flex bison glib pkgconfig python ]
+  buildInputs = [ flex bison pkgconfig python ]
     ++ libintlOrEmpty
     ++ stdenv.lib.optional stdenv.isDarwin otool;
-  propagatedBuildInputs = [ libffi ];
+  propagatedBuildInputs = [ libffi glib ];
 
   # Tests depend on cairo, which is undesirable (it pulls in lots of
   # other dependencies).
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index 9ffccac1e0f..8c2feccebb7 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libunwind }:
+{ stdenv, fetchurl, unzip, libunwind }:
 
 stdenv.mkDerivation rec {
-  name = "gperftools-2.1";
+  name = "gperftools-2.4";
 
   src = fetchurl {
-    url = "https://gperftools.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0ks9gsnhxrs2vccc6ha9m8xmj83lmw09xcws4zc0k57q4jcy5bgk";
+    url = "https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.4.tar.gz";
+    sha256 = "0b8aqgch8dyapzw2zd9g89x6gsnm2ml0gf169rql0bxldqi3falq";
   };
 
-  buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
+  buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isLinux libunwind;
 
   # some packages want to link to the static tcmalloc_minimal
   # to drop the runtime dependency on gperftools
@@ -16,9 +16,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://code.google.com/p/gperftools/;
     description = "Fast, multi-threaded malloc() and nifty performance analysis tools";
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    platforms = with platforms; linux ++ darwin;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index ae3b53b4f44..2e51f70e91d 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -11,16 +11,24 @@ let
     "${gnupg}/bin/gpg2";
 in
 stdenv.mkDerivation rec {
-  name = "gpgme-1.4.3";
-  
+  name = "gpgme-1.5.3";
+
   src = fetchurl {
-    url = "ftp://ftp.gnupg.org/gcrypt/gpgme/${name}.tar.bz2";
-    sha256 = "15h429h6pd67iiv580bjmwbkadpxsdppw0xrqpcm4dvm24jc271d";
+    url = "mirror://gnupg/gpgme/${name}.tar.bz2";
+    sha256 = "1jgwmra6cf0i5x2prj92w77vl7hmj276qmmll3lwysbyn32l1c0d";
   };
-  
+
   propagatedBuildInputs = [ libgpgerror glib libassuan pth ];
 
   nativeBuildInputs = [ pkgconfig gnupg ];
 
   configureFlags = "--with-gpg=${gpgPath}";
+
+  meta = {
+    homepage = "http://www.gnupg.org/related_software/gpgme";
+    description = "Library for making GnuPG easier to use";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
 }
diff --git a/pkgs/development/libraries/grail/default.nix b/pkgs/development/libraries/grail/default.nix
new file mode 100644
index 00000000000..3cf946bb4ba
--- /dev/null
+++ b/pkgs/development/libraries/grail/default.nix
@@ -0,0 +1,23 @@
+{ enableX11 ? true,
+  stdenv, fetchurl, pkgconfig, xlibs, python3, frame }:
+
+stdenv.mkDerivation rec {
+  name = "grail-${version}";
+  version = "3.1.0";
+  src = fetchurl {
+    url = "https://launchpad.net/grail/trunk/${version}/+download/${name}.tar.bz2";
+    sha256 = "c26dced1b3f4317ecf6af36db0e90294d87e43966d56aecc4e97b65368ab78b9";
+  };
+
+  buildInputs = [ pkgconfig python3 frame ]
+  ++ stdenv.lib.optional enableX11 [xlibs.libX11 xlibs.libXtst xlibs.libXext xlibs.libXi xlibs.libXfixes];
+
+  configureFlags = stdenv.lib.optional enableX11 "--with-x11";
+
+  meta = {
+    homepage = "https://launchpad.net/canonical-multitouch/grail";
+    description = "Gesture Recognition And Instantiation Library";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
new file mode 100644
index 00000000000..5a2ff5daa11
--- /dev/null
+++ b/pkgs/development/libraries/granite/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
+
+stdenv.mkDerivation rec {
+  majorVersion = "0.3";
+  minorVersion = "0";
+  name = "granite-${majorVersion}.${minorVersion}";
+  src = fetchurl {
+    url = "https://code.launchpad.net/granite/${majorVersion}/${majorVersion}/+download/${name}.tar.gz";
+    sha256 = "1laa109dz7kbd8zxddqw2p1b67yzva7cc5h3smqkj8a9jzbhv5fz";
+  };
+  cmakeFlags = "-DINTROSPECTION_GIRDIR=share/gir-1.0/ -DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0";
+  buildInputs = [perl cmake vala pkgconfig gobjectIntrospection glib gtk3 gnome3.libgee gettext];
+  meta = {
+    description = "An extension to GTK+ used by elementary OS";
+    longDescription = "An extension to GTK+ that provides several useful widgets and classes to ease application development. Designed for elementary OS.";
+    homepage = https://launchpad.net/granite;
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.vozz ];
+  };
+}
diff --git a/pkgs/development/libraries/gsm/default.nix b/pkgs/development/libraries/gsm/default.nix
index 04fbb01a3bf..581f8b1b222 100644
--- a/pkgs/development/libraries/gsm/default.nix
+++ b/pkgs/development/libraries/gsm/default.nix
@@ -1,60 +1,45 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="gsm";
-    version="1.0.13";
-    name="${baseName}-${version}";
-    url="http://www.quut.com/gsm/${name}.tar.gz";
-    hash="1bcjl2h60gvr1dc5a963h3vnz9zl6n8qrfa3qmb2x3229lj1iiaj";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+{ stdenv, fetchurl }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "gsm-${version}";
+  version = "1.0.13";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "http://www.quut.com/gsm/${name}.tar.gz";
+    sha256 = "1bcjl2h60gvr1dc5a963h3vnz9zl6n8qrfa3qmb2x3229lj1iiaj";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["createDirs" "setVars" "doMakeInstall"];
+  patchPhase = ''
+    # Fix include directory
+    sed -e 's,$(GSM_INSTALL_ROOT)/inc,$(GSM_INSTALL_ROOT)/include/gsm,' -i Makefile
 
-  createDirs = a.fullDepEntry ''
-    mkdir -p "$out/"{bin,lib,share/man,share/info,include/gsm}
-  '' ["minInit" "defEnsureDir"];
+    makeFlags="$makeFlags INSTALL_ROOT=$out"
 
-  setVars = a.noDepEntry ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC"
+    # Build shared library instead of static
+    sed -e 's,-c -O2 -DNeedFunctionPrototypes=1,-c -O2 -fPIC -DNeedFunctionPrototypes=1,' -i Makefile
+    sed -e 's,libgsm.a,libgsm.so,' -i Makefile
+    sed -e 's/$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)/$(LD) -shared -Wl,-soname,libgsm.so -o $(LIBGSM) $(GSM_OBJECTS) -lc/' -i Makefile
+    sed -e 's,$(RANLIB) $(LIBGSM),,' -i Makefile
   '';
 
   makeFlags = [
-    ''INSTALL_ROOT="$out"''
-    ''GSM_INSTALL_INC="$out/include/gsm"''
+    ''SHELL=${stdenv.shell}''
   ];
-      
+
+  preInstall = ''
+    mkdir -p "$out/"{bin,lib,man/man1,man/man3,include/gsm}
+  '';
+
+  NIX_CFLAGS_COMPILE = "-fPIC";
+
+  parallelBuild = false;
+
   meta = {
-    description = "A GSM codec library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = "free-noncopyleft";
+    description = "Lossy speech compression codec";
+    homepage    = http://www.quut.com/gsm/;
+    license     = licenses.bsd2;
+    maintainers = with maintainers; [ codyopel raskin ];
+    platforms   = platforms.all;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.quut.com/gsm/";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index a02af7f0cd7..96a094ca9cc 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -5,12 +5,13 @@
 , openjpeg, libopus, librsvg
 , wildmidi, fluidsynth, libvdpau, wayland
 , libwebp, xvidcore, gnutls
+, mesa
 }:
 
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.4.1";
+  name = "gst-plugins-bad-1.4.5";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "0268db2faaf0bb22e5b709a11633abbca4f3d289b1f513bb262d0bf3f53e19ae";
+    sha256 = "0g4q9yqq71z32pz7zj54wigkcf438a2mcv5kvvwp4gb8a1rasbqm";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
@@ -36,9 +37,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gst-plugins-base orc
     faad2 libass libkate libmms
-    libmodplug mpeg2dec mpg123 
+    libmodplug mpeg2dec mpg123
     openjpeg libopus librsvg
     wildmidi fluidsynth libvdpau wayland
-    libwebp xvidcore gnutls
+    libwebp xvidcore gnutls mesa
   ] ++ stdenv.lib.optional faacSupport faac;
 }
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 3b9e94f4c65..61e0762826a 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.4.1";
+  name = "gst-plugins-base-1.4.5";
 
   meta = {
     description = "Base plugins and helper libraries";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "aea9e25be6691bd3cc0785d005b2b5d70ce313a2c897901680a3f7e7cab5a499";
+    sha256 = "07ampnfa6p41s0lhia62l9h8bdx3c7vxvdz93pbx64m3wycq3gbp";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 8e9a2b87a01..5e306f5500f 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
-, glib
+, glib, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.4.1";
+  name = "gstreamer-1.4.5";
 
   meta = {
     description = "Open source multimedia framework";
@@ -15,14 +15,20 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "5638f75003282135815c0077d491da11e9a884ad91d4ba6ab3cc78bae0fb452e";
+    sha256 = "1bmhbhak6i5wmmb6w86jyyv8lax4gdq983la4lk4a0krz6kim020";
   };
 
   nativeBuildInputs = [
-    pkgconfig perl bison flex python gobjectIntrospection
+    pkgconfig perl bison flex python gobjectIntrospection makeWrapper
   ];
 
   propagatedBuildInputs = [ glib ];
 
+  postInstall = ''
+    for prog in "$out/bin/"*; do
+        wrapProgram "$prog" --prefix GST_PLUGIN_SYSTEM_PATH : "\$(unset _tmp; for profile in \$NIX_PROFILES; do _tmp="\$profile/lib/gstreamer-1.0''$\{_tmp:+:\}\$_tmp"; done; printf "\$_tmp")"
+    done
+  '';
+
   setupHook = ./setup-hook.sh;
 }
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index daf2ba59a40..df7078a1365 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-editing-services-1.2.1";
+  name = "gstreamer-editing-services-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Library for creation of audio/video non-linear editors";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
-    sha256 = "1c20zg272wgzqw4f93f1prkv9a9gdqxmf3kal29l0r2wmwhqnxpy";
+    sha256 = "1cwbh244an6zsxsscvg6xjnb34ylci34g9zx59xjbv5wnw7vj86c";
   };
 
   nativeBuildInputs = [ pkgconfig python gobjectIntrospection ];
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index 44bb1c48c81..05113973a9d 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gnonlin-1.2.1";
+  name = "gnonlin-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Non-Linear Multimedia Editing Plugins";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gnonlin/${name}.tar.xz";
-    sha256 = "14zb3bz3xn40a2kns719amrr77cp6wyxddml621kyxc424ihcw3q";
+    sha256 = "0zv60rq2h736a6fivd3a3wp59dj1jar7b2vwzykahvl168b7wrid";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 176814c5ecd..a06747ddc90 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -7,7 +7,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.4.1";
+  name = "gst-plugins-good-1.4.5";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "8559d4270065b30ed5c49b826e1b7a3a2bd5ee9a340ae745a2ae3f9718e4c637";
+    sha256 = "0hg6qzdpib9nwn3hdxv0d4rvivi1c4bmxsq2a9hqmamwyzrvbcbr";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
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 a0cd0a4c646..d4db4fa8de5 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,10 @@
 { fetchurl, stdenv, pkgconfig, gst_plugins_base, aalib, cairo
 , flac, libjpeg, zlib, speex, libpng, libdv, libcaca, libvpx
 , libiec61883, libavc1394, taglib, pulseaudio, gdk_pixbuf, orc
-, glib, gstreamer, bzip2
+, glib, gstreamer, bzip2, libsoup
+, # Whether to build no plugins that have external dependencies
+  # (except the PulseAudio plugin).
+  minimalDeps ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -15,15 +18,15 @@ stdenv.mkDerivation rec {
     sha256 = "1ijswgcrdp243mfsyza31fpzq6plz40p4b83vkr2x4x7807889vy";
   };
 
-  patches = [ ./v4l.patch ];
+  patches = [ ./v4l.patch ./linux-headers-3.9.patch ];
 
-  configureFlags = "--disable-oss";
+  configureFlags = "--enable-experimental --disable-oss";
 
   buildInputs =
-    [ pkgconfig glib gstreamer gst_plugins_base libavc1394 libiec61883
-      aalib libcaca cairo libdv flac libjpeg libpng pulseaudio speex
-      taglib bzip2 libvpx gdk_pixbuf orc
-    ];
+    [ pkgconfig glib gstreamer gst_plugins_base pulseaudio ]
+    ++ stdenv.lib.optionals (!minimalDeps)
+      [ aalib libcaca cairo libdv flac libjpeg libpng speex
+        taglib bzip2 libvpx gdk_pixbuf orc libsoup ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch
new file mode 100644
index 00000000000..f13d3a16671
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/linux-headers-3.9.patch
@@ -0,0 +1,27 @@
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/gst-plugins-v4l2/files/gst-plugins-v4l2-0.10.31-linux-headers-3.9.patch
+
+From 8e633d2059cb835448021cf79becb487aff10975 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Mon, 18 Mar 2013 14:59:35 +0000
+Subject: v4l2: fix compilation against newer kernel headers as on FC19
+
+---
+diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
+index 07d390a..4c10f4f 100644
+--- a/sys/v4l2/v4l2_calls.c
++++ b/sys/v4l2/v4l2_calls.c
+@@ -291,8 +291,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
+         break;
+       case V4L2_CID_HFLIP:
+       case V4L2_CID_VFLIP:
++#ifndef V4L2_CID_PAN_RESET
+       case V4L2_CID_HCENTER:
++#endif
++#ifndef V4L2_CID_TILT_RESET
+       case V4L2_CID_VCENTER:
++#endif
+ #ifdef V4L2_CID_PAN_RESET
+       case V4L2_CID_PAN_RESET:
+ #endif
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
index d01961f5cde..889f55e5000 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, python, gstreamer
-  , gst_plugins_base, pygtk
+, gst_plugins_base, pygobject
 }:
 
 stdenv.mkDerivation rec {
@@ -13,12 +13,16 @@ stdenv.mkDerivation rec {
     sha256 = "0y1i4n5m1diljqr9dsq12anwazrhbs70jziich47gkdwllcza9lg";
   };
 
+  # Need to disable the testFake test case due to bug in pygobject.
+  # See https://bugzilla.gnome.org/show_bug.cgi?id=692479
+  patches = [ ./disable-testFake.patch ];
+
   buildInputs =
-    [ pkgconfig gst_plugins_base pygtk ]
+    [ pkgconfig gst_plugins_base pygobject ]
     ;
 
   propagatedBuildInputs = [ gstreamer python ];
- 
+
   meta = {
     homepage = http://gstreamer.freedesktop.org;
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch b/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch
new file mode 100644
index 00000000000..d0c9960e5d2
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-python/disable-testFake.patch
@@ -0,0 +1,56 @@
+diff -Nurp gst-python-0.10.22.orig/testsuite/test_bin.py gst-python-0.10.22/testsuite/test_bin.py
+--- gst-python-0.10.22.orig/testsuite/test_bin.py	2014-10-29 18:58:00.921827721 +0100
++++ gst-python-0.10.22/testsuite/test_bin.py	2014-10-29 19:00:32.019353092 +0100
+@@ -131,52 +131,6 @@ class BinAddRemove(TestCase):
+         self.assertRaises(gst.AddError, self.bin.add, src, sink)
+         self.bin.remove(src, sink)
+         self.assertRaises(gst.RemoveError, self.bin.remove, src, sink)
+-
+-class Preroll(TestCase):
+-    def setUp(self):
+-        TestCase.setUp(self)
+-        self.bin = gst.Bin('bin')
+-
+-    def tearDown(self):
+-        # FIXME: wait for state change thread to settle down
+-        while self.bin.__gstrefcount__ > 1:
+-            time.sleep(0.1)
+-        self.assertEquals(self.bin.__gstrefcount__, 1)
+-        del self.bin
+-        TestCase.tearDown(self)
+-
+-    def testFake(self):
+-        src = gst.element_factory_make('fakesrc')
+-        sink = gst.element_factory_make('fakesink')
+-        self.bin.add(src)
+-
+-        # bin will go to paused, src pad task will start and error out
+-        self.bin.set_state(gst.STATE_PAUSED)
+-        ret = self.bin.get_state()
+-        self.assertEquals(ret[0], gst.STATE_CHANGE_SUCCESS)
+-        self.assertEquals(ret[1], gst.STATE_PAUSED)
+-        self.assertEquals(ret[2], gst.STATE_VOID_PENDING)
+-
+-        # adding the sink will cause the bin to go in preroll mode
+-        gst.debug('adding sink and setting to PAUSED, should cause preroll')
+-        self.bin.add(sink)
+-        sink.set_state(gst.STATE_PAUSED)
+-        ret = self.bin.get_state(timeout=0)
+-        self.assertEquals(ret[0], gst.STATE_CHANGE_ASYNC)
+-        self.assertEquals(ret[1], gst.STATE_PAUSED)
+-        self.assertEquals(ret[2], gst.STATE_PAUSED)
+-
+-        # to actually complete preroll, we need to link and re-enable fakesrc
+-        src.set_state(gst.STATE_READY)
+-        src.link(sink)
+-        src.set_state(gst.STATE_PAUSED)
+-        ret = self.bin.get_state()
+-        self.assertEquals(ret[0], gst.STATE_CHANGE_SUCCESS)
+-        self.assertEquals(ret[1], gst.STATE_PAUSED)
+-        self.assertEquals(ret[2], gst.STATE_VOID_PENDING)
+-
+-        self.bin.set_state(gst.STATE_NULL)
+-        self.bin.get_state()
+  
+ class ConstructorTest(TestCase):
+     def testGood(self):
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index e25492c1d13..bcc05e44103 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -6,7 +6,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.4.1";
+  name = "gst-libav-1.4.5";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "fc125521187fa84f3210269a0eecc51f8a856802f1ca4bb251f118dab90c5a9d";
+    sha256 = "1g7vg9amh3cc3nmc415h6g2rqxqi4wgwqi08hxfbpwq48ri64p30";
   };
 
   configureFlags = stdenv.lib.optionalString withSystemLibav
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index fad8308703b..a91b5d81bb3 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-python-1.2.1";
+  name = "gst-python-1.4.0";
 
   src = fetchurl {
     urls = [
-      "${meta.homepage}/src/gst-python/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      "${meta.homepage}/src/gst-python/${name}.tar.xz"
+      "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "1m7gh017f70i5pg6k9sx54ihwaizvi2dlli687gi44n5zylya8w8";
+    sha256 = "0gixsp46mv7fvhk669q60wfk9w2lc02sdb1qipq066xlrqlhrr5i";
   };
 
   patches = [ ./different-path-with-pygobject.patch ];
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
new file mode 100644
index 00000000000..b306e737df1
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, gst_all_1, boost, glib, qt4, cmake
+, automoc4, flex, bison, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-1.2.0";
+  pname = "qt-gstreamer";
+
+  src = fetchurl {
+    url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.xz";
+    sha256 = "9f3b492b74cad9be918e4c4db96df48dab9c012f2ae5667f438b64a4d92e8fd4";
+  };
+
+  buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base glib qt4 ];
+  propagatedBuildInputs = [ boost ];
+  nativeBuildInputs = [ cmake automoc4 flex bison pkgconfig ];
+
+  cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
+
+  meta = { 
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 6a80514e8a1..4e3d7eee78b 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.4.1";
+  name = "gst-plugins-ugly-1.4.5";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "25440435ac4ed795d213f2420a0e7355e4a2e2e76d1f9d020b2073f815e8b071";
+    sha256 = "0rwhljn3f8mp2pfchzfcx4pvps1546dndw9mr56lz50qyqffimaw";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index a59e3d07cb4..e516e4a475a 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -1,15 +1,13 @@
-{ stdenv, fetchurl, unzip, cmake}:
-
+{ stdenv, cmake, callPackage }:
+let
+  source = callPackage ./source.nix { };
+in
 stdenv.mkDerivation rec {
-  version = "1.7.0";
-  name = "gtest-${version}";
+  name = "gtest-${source.version}";
 
-  src = fetchurl {
-    url = "https://googletest.googlecode.com/files/${name}.zip";
-    sha256="03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14";
-  };
+  src = source;
 
-  buildInputs = [ unzip cmake ];
+  buildInputs = [ cmake ];
 
   configurePhase = ''
     mkdir build
@@ -24,11 +22,13 @@ stdenv.mkDerivation rec {
     cp -v -r ../src $out
   '';
 
-  meta = {
-    description = "Google test: Google's framework for writing C++ tests.";
+  meta = with stdenv.lib; {
+    description = "Google's framework for writing C++ tests";
     homepage = https://code.google.com/p/googletest/;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ zoomulator ];
   };
-}
 
+  passthru = { inherit source; };
+}
diff --git a/pkgs/development/libraries/gtest/source.nix b/pkgs/development/libraries/gtest/source.nix
new file mode 100644
index 00000000000..d8787efdcf2
--- /dev/null
+++ b/pkgs/development/libraries/gtest/source.nix
@@ -0,0 +1,22 @@
+{ fetchurl, stdenv, unzip, ... }:
+
+stdenv.mkDerivation rec {
+  name = "gtest-src-${version}";
+  version = "1.7.0";
+
+  src = fetchurl {
+    url = "https://googletest.googlecode.com/files/gtest-${version}.zip";
+    sha256 = "03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14";
+  };
+
+  buildInputs = [ unzip ];
+
+  buildCommand = ''
+    unpackPhase
+    cd gtest-${version}
+    mkdir $out
+    cp -r * $out
+  '';
+
+  passthru = { inherit version; };
+}
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 2d659d45ea6..16691e8588c 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.24.24";
+  name = "gtk+-2.24.27";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
-    sha256 = "0v9xxpkypizy9k866rvqc36zvj4kj9p8nd1nxf9znay8k3hv5khj";
+    sha256 = "1x14rnjvqslpa1q19fp1qalz5sxds72amsgjk8m7769rwk511jr0";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index fa350110476..35b40a507a8 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -21,12 +21,14 @@ stdenv.mkDerivation rec {
     sha256 = "1l45nd7ln2pnrf99vdki3l7an5wrzkbak11hnnj1w6r3fkm4xmv1";
   };
 
+  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+
   nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
 
   buildInputs = [ libxkbcommon ];
   propagatedBuildInputs = with xlibs; with stdenv.lib;
-    [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk ]
-    ++ optionals stdenv.isLinux [ libXrandr libXrender libXcomposite libXi libXcursor wayland ]
+    [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk libXrandr libXrender libXcomposite libXi libXcursor ]
+    ++ optionals stdenv.isLinux [ wayland ]
     ++ optional stdenv.isDarwin x11
     ++ optional xineramaSupport libXinerama
     ++ optional cupsSupport cups;
diff --git a/pkgs/development/libraries/gtk-sharp-1/builder.sh b/pkgs/development/libraries/gtk-sharp-1/builder.sh
deleted file mode 100644
index 4b8f757540b..00000000000
--- a/pkgs/development/libraries/gtk-sharp-1/builder.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-source $stdenv/setup
-
-genericBuild
-
-# !!! hack
-export ALL_INPUTS="$out $pkgs"
-
-find $out -name "*.dll.config" | while read configFile; do
-    echo "modifying config file $configFile"
-    $monoDLLFixer "$configFile"
-done
diff --git a/pkgs/development/libraries/gtk-sharp-1/default.nix b/pkgs/development/libraries/gtk-sharp-1/default.nix
deleted file mode 100644
index 863ee6c038d..00000000000
--- a/pkgs/development/libraries/gtk-sharp-1/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, mono
-, glib
-, pango
-, gtk
-, GConf ? null
-, libglade ? null
-, libgtkhtml ? null
-, gtkhtml ? null
-, libgnomecanvas ? null
-, libgnomeui ? null
-, libgnomeprint ? null
-, libgnomeprintui ? null
-, libxml2
-, monoDLLFixer
-}:
-
-stdenv.mkDerivation {
-  name = "gtk-sharp-1.0.6";
-
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://tarballs.nixos.org/gtk-sharp-1.0.6.tar.gz;
-    md5 = "2651d14fe77174ab20b8af53d150ee11";
-  };
-
-  patches = [
-    ./dllmap-glue.patch
-    ./glib-include.patch
-  ];
-
-  buildInputs = [
-    pkgconfig mono glib pango gtk GConf libglade libgnomecanvas
-    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
-  ];
-
-  inherit monoDLLFixer;
-}
diff --git a/pkgs/development/libraries/gtk-sharp-1/dllmap-glue.patch b/pkgs/development/libraries/gtk-sharp-1/dllmap-glue.patch
deleted file mode 100644
index 51f4524811d..00000000000
--- a/pkgs/development/libraries/gtk-sharp-1/dllmap-glue.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -rc gtk-sharp-1.0.6-orig/gdk/gdk-sharp.dll.config.in gtk-sharp-1.0.6/gdk/gdk-sharp.dll.config.in
-*** gtk-sharp-1.0.6-orig/gdk/gdk-sharp.dll.config.in	2004-12-16 18:15:44.000000000 +0100
---- gtk-sharp-1.0.6/gdk/gdk-sharp.dll.config.in	2005-03-08 12:40:58.000000000 +0100
-***************
-*** 3,6 ****
---- 3,7 ----
-    <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="libgdk-win32-2.0-0.dll" target="libgdk-x11-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="libgdk_pixbuf-2.0-0.dll" target="libgdk_pixbuf-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-+   <dllmap dll="gdksharpglue" target="libgdksharpglue@LIB_PREFIX@@LIB_SUFFIX@"/>
-  </configuration>
-diff -rc gtk-sharp-1.0.6-orig/glade/glade-sharp.dll.config.in gtk-sharp-1.0.6/glade/glade-sharp.dll.config.in
-*** gtk-sharp-1.0.6-orig/glade/glade-sharp.dll.config.in	2004-12-16 18:15:46.000000000 +0100
---- gtk-sharp-1.0.6/glade/glade-sharp.dll.config.in	2005-03-08 12:41:19.000000000 +0100
-***************
-*** 1,3 ****
---- 1,4 ----
-  <configuration>
-    <dllmap dll="libglade-2.0-0.dll" target="libglade-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-+   <dllmap dll="gladesharpglue" target="libgladesharpglue@LIB_PREFIX@@LIB_SUFFIX@"/>
-  </configuration>
-diff -rc gtk-sharp-1.0.6-orig/glib/glib-sharp.dll.config.in gtk-sharp-1.0.6/glib/glib-sharp.dll.config.in
-*** gtk-sharp-1.0.6-orig/glib/glib-sharp.dll.config.in	2004-12-16 18:15:38.000000000 +0100
---- gtk-sharp-1.0.6/glib/glib-sharp.dll.config.in	2005-03-08 12:37:57.000000000 +0100
-***************
-*** 2,5 ****
---- 2,6 ----
-    <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="libgthread-2.0-0.dll" target="libgthread-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-+   <dllmap dll="glibsharpglue" target="libglibsharpglue@LIB_PREFIX@@LIB_SUFFIX@"/>
-  </configuration>
-diff -rc gtk-sharp-1.0.6-orig/gnome/gnome-sharp.dll.config.in gtk-sharp-1.0.6/gnome/gnome-sharp.dll.config.in
-*** gtk-sharp-1.0.6-orig/gnome/gnome-sharp.dll.config.in	2004-12-16 18:15:43.000000000 +0100
---- gtk-sharp-1.0.6/gnome/gnome-sharp.dll.config.in	2005-03-08 12:41:50.000000000 +0100
-***************
-*** 8,11 ****
---- 8,12 ----
-    <dllmap dll="gnomeprint-2-2" target="libgnomeprint-2-2@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="gnomeprintui-2-2" target="libgnomeprintui-2-2@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="gnomeui-2" target="libgnomeui-2@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-+   <dllmap dll="gnomesharpglue" target="libgnomesharpglue@LIB_PREFIX@@LIB_SUFFIX@"/>
-  </configuration>
-diff -rc gtk-sharp-1.0.6-orig/gtk/gtk-sharp.dll.config.in gtk-sharp-1.0.6/gtk/gtk-sharp.dll.config.in
-*** gtk-sharp-1.0.6-orig/gtk/gtk-sharp.dll.config.in	2004-12-16 18:14:51.000000000 +0100
---- gtk-sharp-1.0.6/gtk/gtk-sharp.dll.config.in	2005-03-08 12:38:19.000000000 +0100
-***************
-*** 3,6 ****
---- 3,7 ----
-    <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="libatk-1.0-0.dll" target="libatk-1.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="libgtk-win32-2.0-0.dll" target="libgtk-x11-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-+   <dllmap dll="gtksharpglue" target="libgtksharpglue@LIB_PREFIX@@LIB_SUFFIX@"/>
-  </configuration>
-diff -rc gtk-sharp-1.0.6-orig/pango/pango-sharp.dll.config.in gtk-sharp-1.0.6/pango/pango-sharp.dll.config.in
-*** gtk-sharp-1.0.6-orig/pango/pango-sharp.dll.config.in	2004-12-16 18:14:55.000000000 +0100
---- gtk-sharp-1.0.6/pango/pango-sharp.dll.config.in	2005-03-08 12:42:11.000000000 +0100
-***************
-*** 1,4 ****
---- 1,5 ----
-  <configuration>
-    <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-    <dllmap dll="libpango-1.0-0.dll" target="libpango-1.0@LIB_PREFIX@.0@LIB_SUFFIX@"/>
-+   <dllmap dll="pangosharpglue" target="libpangosharpglue@LIB_PREFIX@@LIB_SUFFIX@"/>
-  </configuration>
diff --git a/pkgs/development/libraries/gtk-sharp-1/glib-include.patch b/pkgs/development/libraries/gtk-sharp-1/glib-include.patch
deleted file mode 100644
index e8f4b0ef5af..00000000000
--- a/pkgs/development/libraries/gtk-sharp-1/glib-include.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ru gtk-sharp-1.0.6.orig/glib/glue/list.c gtk-sharp-1.0.6/glib/glue/list.c
---- gtk-sharp-1.0.6.orig/glib/glue/list.c	2014-01-09 10:58:06.727352451 +0000
-+++ gtk-sharp-1.0.6/glib/glue/list.c	2014-01-09 11:00:34.256583614 +0000
-@@ -20,7 +20,7 @@
-  */
- 
- 
--#include <glib/glist.h>
-+#include <glib.h>
- 
- /* Forward declarations */
- gpointer gtksharp_list_get_data (GList *l);
-diff -ru gtk-sharp-1.0.6.orig/glib/glue/slist.c gtk-sharp-1.0.6/glib/glue/slist.c
---- gtk-sharp-1.0.6.orig/glib/glue/slist.c	2014-01-09 10:58:06.727352451 +0000
-+++ gtk-sharp-1.0.6/glib/glue/slist.c	2014-01-09 11:00:47.572695223 +0000
-@@ -20,7 +20,7 @@
-  */
- 
- 
--#include <glib/gslist.h>
-+#include <glib.h>
- 
- /* Forward declarations */
- gpointer gtksharp_slist_get_data (GSList *l);
diff --git a/pkgs/development/libraries/gtkdatabox/default.nix b/pkgs/development/libraries/gtkdatabox/default.nix
index 69a0341a695..6e5a1329c9b 100644
--- a/pkgs/development/libraries/gtkdatabox/default.nix
+++ b/pkgs/development/libraries/gtkdatabox/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, pkgconfig, gtk }:
 
 stdenv.mkDerivation rec {
-  name = "gtkdatabox-0.9.1.3";
+  name = "gtkdatabox-0.9.2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkdatabox/${name}.tar.gz";
-    sha256 = "90ff9fc20ea1541dfe75ae04ff98e02c3aa7ad1735d8f0e3b3352910a3f7427c";
+    sha256 = "0h20685bzw5j5h6mw8c6apbrbrd9w518c6xdhr55147px11nhnkl";
   };
 
-  patches = [ ./deprecated_GTK.patch ];
-
   buildInputs = [ pkgconfig gtk ];
 
   propagatedBuildInputs = [ gtk ];
diff --git a/pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch b/pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch
deleted file mode 100644
index f0572cec1f9..00000000000
--- a/pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-# Fixes compilation errors. Stolen from Debian.
-Index: libgtkdatabox-0.9.1.1/examples/addremove.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/addremove.c	2011-05-21 12:39:01.703594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/addremove.c	2011-05-21 12:36:16.739594810 +0200
-@@ -203,7 +203,7 @@
-    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
- 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
- 
-    gtk_widget_show_all (window);
-Index: libgtkdatabox-0.9.1.1/examples/basics.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/basics.c	2011-05-21 12:39:02.075594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/basics.c	2011-05-21 12:36:16.759594820 +0200
-@@ -113,7 +113,7 @@
-    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
- 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (vbox), close_button, FALSE, FALSE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
-    gtk_widget_grab_focus (close_button);
- 
-Index: libgtkdatabox-0.9.1.1/examples/basics2.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/basics2.c	2011-05-21 12:39:01.911594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/basics2.c	2011-05-21 12:36:16.747594818 +0200
-@@ -225,7 +225,7 @@
-    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
- 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (vbox), close_button, FALSE, FALSE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
-    gtk_widget_grab_focus (close_button);
- 
-Index: libgtkdatabox-0.9.1.1/examples/colors.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/colors.c	2011-05-21 12:39:02.115594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/colors.c	2011-05-21 12:36:16.763594819 +0200
-@@ -194,7 +194,7 @@
-    g_signal_connect (G_OBJECT (close_button), "clicked",
- 		     G_CALLBACK (gtk_main_quit), (gpointer) NULL);
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
- 
- 
-Index: libgtkdatabox-0.9.1.1/examples/enable_disable.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/enable_disable.c	2011-05-21 12:39:01.787594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/enable_disable.c	2011-05-21 12:36:16.743594812 +0200
-@@ -145,7 +145,7 @@
-    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
- 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    for (i = 0; i < noEnableSets; ++i)
-    {
-       GtkWidget *vbox = gtk_vbox_new (FALSE, 10);
-Index: libgtkdatabox-0.9.1.1/examples/grid.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/grid.c	2011-05-21 12:39:01.995594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/grid.c	2011-05-21 12:36:16.755594821 +0200
-@@ -133,7 +133,7 @@
- 			     G_CALLBACK (gtk_main_quit),
- 			     GTK_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
- 
-    gtk_widget_show_all (window);
-Index: libgtkdatabox-0.9.1.1/examples/grid_array.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/grid_array.c	2011-05-21 12:39:01.951594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/grid_array.c	2011-05-21 12:36:16.751594821 +0200
-@@ -134,7 +134,7 @@
- 			     G_CALLBACK (gtk_main_quit),
- 			     GTK_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
- 
-    gtk_widget_show_all (window);
-Index: libgtkdatabox-0.9.1.1/examples/keycontrol.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/keycontrol.c	2011-05-21 12:39:02.155594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/keycontrol.c	2011-05-21 12:37:15.211595055 +0200
-@@ -133,7 +133,8 @@
-    gtk_databox_create_box_with_scrollbars_and_rulers (&box, &table,
- 						      TRUE, TRUE, TRUE, TRUE);
-    gtk_widget_add_events (box, GDK_KEY_PRESS_MASK);
--   GTK_WIDGET_SET_FLAGS (box, GTK_CAN_FOCUS | GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_focus(box, GTK_CAN_FOCUS);
-+   gtk_widget_set_can_default(box, GTK_CAN_DEFAULT);
- 
-    gtk_box_pack_start (GTK_BOX (box1), table, TRUE, TRUE, 0);
- 
-Index: libgtkdatabox-0.9.1.1/examples/lissajous.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/lissajous.c	2011-05-21 12:39:02.035594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/lissajous.c	2011-05-21 12:36:16.759594820 +0200
-@@ -154,7 +154,7 @@
- 			     G_CALLBACK (gtk_main_quit), G_OBJECT (box));
- 
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
-    lissajous_idle = g_idle_add ((GSourceFunc) lissajous_idle_func, box);
- 
-Index: libgtkdatabox-0.9.1.1/examples/logarithmic.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/logarithmic.c	2011-05-21 12:39:01.827594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/logarithmic.c	2011-05-21 12:36:16.743594812 +0200
-@@ -207,7 +207,7 @@
-    g_signal_connect (GTK_OBJECT (close_button), "clicked",
- 		     G_CALLBACK (gtk_main_quit), NULL);
-    gtk_box_pack_start (GTK_BOX (vbox), close_button, FALSE, FALSE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
-    gtk_widget_grab_focus (close_button);
- 
-Index: libgtkdatabox-0.9.1.1/examples/markers.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/markers.c	2011-05-21 12:39:01.871594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/markers.c	2011-05-21 12:36:16.747594818 +0200
-@@ -220,7 +220,7 @@
-    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
- 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
- 
-    gtk_widget_show_all (window);
-Index: libgtkdatabox-0.9.1.1/examples/signals.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/examples/signals.c	2011-05-21 12:39:01.751594722 +0200
-+++ libgtkdatabox-0.9.1.1/examples/signals.c	2011-05-21 12:36:16.743594812 +0200
-@@ -287,7 +287,7 @@
-    g_signal_connect_swapped (G_OBJECT (close_button), "clicked",
- 			     G_CALLBACK (gtk_main_quit), G_OBJECT (box));
-    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
--   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
-+   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
-    gtk_widget_grab_default (close_button);
- 
-    g_signal_connect (G_OBJECT (box), "zoomed",
-Index: libgtkdatabox-0.9.1.1/gtk/gtkdatabox.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/gtk/gtkdatabox.c	2011-05-21 12:39:01.583594722 +0200
-+++ libgtkdatabox-0.9.1.1/gtk/gtkdatabox.c	2011-05-21 12:38:43.523595004 +0200
-@@ -453,7 +453,8 @@
-       gint width;
-       gint height;
- 
--      gdk_drawable_get_size (widget->window, &width, &height);
-+      width = gdk_window_get_width(widget->window);
-+      height = gdk_window_get_height(widget->window);
-       x = MAX (0, MIN (width - 1, x));
-       y = MAX (0, MIN (height - 1, y));
- 
-@@ -587,7 +588,7 @@
-    gint attributes_mask;
- 
-    box = GTK_DATABOX (widget);
--   GTK_WIDGET_SET_FLAGS (box, GTK_REALIZED);
-+   gtk_widget_set_realized(box, GTK_REALIZED);
- 
-    attributes.window_type = GDK_WINDOW_CHILD;
-    attributes.x = widget->allocation.x;
-Index: libgtkdatabox-0.9.1.1/gtk/gtkdatabox_ruler.c
-===================================================================
---- libgtkdatabox-0.9.1.1.orig/gtk/gtkdatabox_ruler.c	2011-05-21 12:39:01.631594722 +0200
-+++ libgtkdatabox-0.9.1.1/gtk/gtkdatabox_ruler.c	2011-05-21 12:38:59.963594710 +0200
-@@ -842,7 +842,7 @@
-    gint attributes_mask;
- 
-    ruler = GTK_DATABOX_RULER (widget);
--   GTK_WIDGET_SET_FLAGS (ruler, GTK_REALIZED);
-+   gtk_widget_set_realized(ruler, GTK_REALIZED);
- 
-    attributes.window_type = GDK_WINDOW_CHILD;
-    attributes.x = widget->allocation.x;
diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix
index 727e4b2185c..76175859e7d 100644
--- a/pkgs/development/libraries/gtkmm/2.x.nix
+++ b/pkgs/development/libraries/gtkmm/2.x.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurlGnome, pkgconfig, gtk, glibmm, cairomm, pangomm, atkmm }:
+{ stdenv, fetchurl, pkgconfig, gtk, glibmm, cairomm, pangomm, atkmm }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "gtkmm-${minVer}.4";
+  minVer = "2.24";
 
-  src = fetchurlGnome {
-    project = "gtkmm";
-    major = "2"; minor = "24"; patchlevel = "4"; extension = "xz";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtkmm/${minVer}/${name}.tar.xz";
     sha256 = "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4";
   };
 
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin vcunat ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 47057b819e0..e158c64f73a 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }:
 
 let
-  ver_maj = "3.11"; # unstable version, but ATM no stable builds with gtk-3.12 and this is the version used in GNOME-3.12 "stable"
-  ver_min = "9";
+  ver_maj = "3.12";
+  ver_min = "0";
 in
 stdenv.mkDerivation rec {
   name = "gtkmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "04yji82prijlwpd3blx0am1ikjy7y7ih7jd628dywdjbbfq42920";
+    sha256 = "86c526ceec15d889996822128d566748bb36f70cf5a2c270530dfc546a2574e1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ];
 
+  enableParallelBuilding = true;
   doCheck = true;
 
   meta = {
@@ -36,6 +37,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud vcunat ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gtksourceview-sharp/builder.sh b/pkgs/development/libraries/gtksourceview-sharp/builder.sh
deleted file mode 100644
index 4b8f757540b..00000000000
--- a/pkgs/development/libraries/gtksourceview-sharp/builder.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-source $stdenv/setup
-
-genericBuild
-
-# !!! hack
-export ALL_INPUTS="$out $pkgs"
-
-find $out -name "*.dll.config" | while read configFile; do
-    echo "modifying config file $configFile"
-    $monoDLLFixer "$configFile"
-done
diff --git a/pkgs/development/libraries/gtksourceview-sharp/default.nix b/pkgs/development/libraries/gtksourceview-sharp/default.nix
deleted file mode 100644
index 56c6e1b1ee5..00000000000
--- a/pkgs/development/libraries/gtksourceview-sharp/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv, fetchurl, pkgconfig, mono, gtksharp, gtksourceview, monoDLLFixer}:
-
-stdenv.mkDerivation {
-  name = "gtksourceview-sharp-0.6-pre40261";
-
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://tarballs.nixos.org/gtksourceview-sharp-0.6-pre40261.tar.bz2;
-    md5 = "8bc26c182bd897f50988e110a9a11f34";
-  };
-
-  patches = [ ./prefix.patch ];
-
-  buildInputs = [
-    pkgconfig mono gtksharp gtksourceview
-  ];
-
-  inherit monoDLLFixer;
-}
diff --git a/pkgs/development/libraries/gtksourceview-sharp/prefix.patch b/pkgs/development/libraries/gtksourceview-sharp/prefix.patch
deleted file mode 100644
index b1b69206344..00000000000
--- a/pkgs/development/libraries/gtksourceview-sharp/prefix.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -rc gtksourceview-sharp/gtksourceview/Makefile.in gtksourceview-sharp-new/gtksourceview/Makefile.in
-*** gtksourceview-sharp/gtksourceview/Makefile.in	2005-03-08 18:55:15.000000000 +0100
---- gtksourceview-sharp-new/gtksourceview/Makefile.in	2005-03-08 18:59:10.000000000 +0100
-***************
-*** 192,198 ****
-  EXTRA_DIST = $(sources) $(customs) Gtk.metadata gtksourceview-api.raw AssemblyInfo.cs.in
-  DISTCLEANFILES = AssemblyInfo.cs
-  noinst_DATA = gtksourceview-sharp.dll
-! apidir = $(gtksharp_prefix)/share/gapi-2.0
-  api_DATA = gtksourceview-api.xml
-  sources = \
-  GtkSourceView.cs
---- 192,198 ----
-  EXTRA_DIST = $(sources) $(customs) Gtk.metadata gtksourceview-api.raw AssemblyInfo.cs.in
-  DISTCLEANFILES = AssemblyInfo.cs
-  noinst_DATA = gtksourceview-sharp.dll
-! apidir = $(prefix)/share/gapi-2.0
-  api_DATA = gtksourceview-api.xml
-  sources = \
-  GtkSourceView.cs
-Only in gtksourceview-sharp-new/gtksourceview: Makefile.in~
-Only in gtksourceview-sharp-new/gtksourceview: Makefile.in.orig
-Only in gtksourceview-sharp-new/gtksourceview: Makefile.in.rej
-diff -rc gtksourceview-sharp/Makefile.in gtksourceview-sharp-new/Makefile.in
-*** gtksourceview-sharp/Makefile.in	2005-03-08 18:55:16.000000000 +0100
---- gtksourceview-sharp-new/Makefile.in	2005-03-08 18:59:33.000000000 +0100
-***************
-*** 211,217 ****
-  target_vendor = @target_vendor@
-  SUBDIRS = gtksourceview sample doc 
-  EXTRA_DIST = nemerle.lang vbnet.lang gtksourceview-sharp.pc.in gtk-sharp.snk
-! extra_langdir = $(gtksourceview_prefix)/share/gtksourceview-1.0/language-specs
-  extra_lang_DATA = nemerle.lang vbnet.lang
-  pkgconfigdir = $(libdir)/pkgconfig
-  pkgconfig_DATA = gtksourceview-sharp.pc
---- 211,217 ----
-  target_vendor = @target_vendor@
-  SUBDIRS = gtksourceview sample doc 
-  EXTRA_DIST = nemerle.lang vbnet.lang gtksourceview-sharp.pc.in gtk-sharp.snk
-! extra_langdir = $(prefix)/share/gtksourceview-1.0/language-specs
-  extra_lang_DATA = nemerle.lang vbnet.lang
-  pkgconfigdir = $(libdir)/pkgconfig
-  pkgconfig_DATA = gtksourceview-sharp.pc
-Only in gtksourceview-sharp-new/: Makefile.in~
-Only in gtksourceview-sharp-new/: Makefile.in.orig
-Only in gtksourceview-sharp-new/: Makefile.in.rej
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 54023f29a07..b9f2f3c77e5 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -2,17 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "gtkspell-${version}";
-  version = "3.0.4";
-  
+  version = "3.0.7";
+
   src = fetchurl {
     url = "mirror://sourceforge/gtkspell/gtkspell3-${version}.tar.gz";
-    sha256 = "19z48gfbraasrxai7qdkxxvky0kwifkkzqz0jqcskhcr1ikqxgzs";
+    sha256 = "1hiwzajf18v9ik4nai3s7frps4ccn9s20nggad1c4k2mwb9ydwhk";
   };
-  
+
   buildInputs = [ aspell pkgconfig gtk3 enchant intltool ];
   propagatedBuildInputs = [ enchant ];
 
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
+  meta = {
+    homepage = "http://gtkspell.sourceforge.net/";
+    description = "Word-processor-style highlighting GtkTextView widget";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/gtkspellmm/default.nix b/pkgs/development/libraries/gtkspellmm/default.nix
new file mode 100644
index 00000000000..d24ec46d905
--- /dev/null
+++ b/pkgs/development/libraries/gtkspellmm/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl
+, pkgconfig
+, gtk3, glib, glibmm, gtkmm3, gtkspell3
+}:
+
+let
+  version = "3.0.3";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "gtkspellmm-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/gtkspell/gtkspellmm/" +
+          "${name}.tar.gz";
+    sha256 = "f9dcc0991621c08e7a972f33487afd6b37491468f0b654f50c741a7e6d810624";
+  };
+
+  propagatedBuildInputs = [
+    gtkspell3
+  ];
+
+  buildInputs = [
+    pkgconfig
+    gtk3 glib glibmm gtkmm3
+  ];
+
+  meta = with stdenv.lib; {
+    description = "C++ binding for the gtkspell library";
+    homepage = http://gtkspell.sourceforge.net/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix
index 3cbb13972d3..2dcd5b11c38 100644
--- a/pkgs/development/libraries/gupnp-av/default.nix
+++ b/pkgs/development/libraries/gupnp-av/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://gupnp.org/;
-    description = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP.";
+    description = "A collection of helpers for building AV (audio/video) applications using GUPnP";
     longDescription = "GUPnP implements the UPnP specification: resource announcement and discovery, description, control, event notification, and presentation (GUPnP includes basic web server functionality through libsoup). GUPnP does not include helpers for construction or control of specific standardized resources (e.g. MediaServer); this is left for higher level libraries utilizing the GUPnP framework.";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index 0534df821cc..f7bbe75f116 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -1,15 +1,15 @@
-{stdenv, fetchurl, fetchgit
+{stdenv, fetchurl
 , automake, autoconf, libtool, which, gtkdoc, gettext, pkgconfig, gobjectIntrospection, libxslt
 , glib, systemd, libusb1
 }:
-stdenv.mkDerivation {
-  name = "gusb-git";
+stdenv.mkDerivation rec {
+  name = "gusb-${version}";
+  version = "0.2.4";
   enableParallelBuilding = true;
 
-  src = fetchgit {
-    url = git://gitorious.org/gusb/gusb.git;
-    rev = "53226a15a627b20fde38303c2141a17985d741ae";
-    sha256 = "01daf09f663e27bdd92532e3e2a3e87de895e9cc1f150d4e0fc75b0dc489fccf";
+  src = fetchurl {
+    url = "http://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
+    sha256 = "10w0sdq7505iwd8y305aylmx4zafbnphs81cgdsqw2z38pxncya3";
   };
 
   preConfigure = "./autogen.sh";
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "GLib libusb wrapper";
-    homepage = http://gitorious.org/gusb;
+    homepage = http://people.freedesktop.org/~hughsient/releases/;
     license = stdenv.lib.licenses.lgpl21;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 3f20147d0e9..739b0ad3136 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, pkgconfig, intltool, libtool
 , glib, dbus, udev, udisks2, libgcrypt
 , libgphoto2, avahi, libarchive, fuse, libcdio
-, libxml2, libxslt, docbook_xsl
-, lightWeight ? true, gnome, samba, libgnome_keyring, gconf, makeWrapper }:
+, libxml2, libxslt, docbook_xsl, samba, libmtp
+, gnomeSupport ? false, gnome,libgnome_keyring, gconf, makeWrapper }:
 
 let
   ver_maj = "1.18";
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ makeWrapper glib dbus.libs udev udisks2 libgcrypt
       libgphoto2 avahi libarchive fuse libcdio
-      libxml2 libxslt docbook_xsl
+      libxml2 libxslt docbook_xsl samba libmtp
       # ToDo: a ligther version of libsoup to have FTP/HTTP support?
-    ] ++ stdenv.lib.optionals (!lightWeight) (with gnome; [
-      gtk libsoup libgnome_keyring gconf samba
+    ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [
+      gtk libsoup libgnome_keyring gconf
       # ToDo: not working and probably useless until gnome3 from x-updates
     ]);
 
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Virtual Filesystem support library" + stdenv.lib.optionalString lightWeight " (light-weight)";
+    description = "Virtual Filesystem support library" + stdenv.lib.optionalString gnomeSupport " (full GNOME support)";
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 45cdc5be02b..311bfe2c209 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,11 +8,11 @@
 # (icu is a ~30 MB dependency, the rest is very small in comparison)
 
 stdenv.mkDerivation rec {
-  name = "harfbuzz-0.9.35";
+  name = "harfbuzz-0.9.40";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
-    sha256 = "1v86596994bnb9hx7laykhw4ipixqz9ckwzyyqf340pmlsmsi88a";
+    sha256 = "07rjp05axas96fp23lpf8l2yyfdj9yib4m0qjv592vdyhcsxaw8p";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix
index 53eea4f738d..137171b7750 100644
--- a/pkgs/development/libraries/haskell/Boolean/default.nix
+++ b/pkgs/development/libraries/haskell/Boolean/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Boolean";
-  version = "0.2.1";
-  sha256 = "0vi09icwc254mbx85lf1n81mx4hr2sdf61a4njaqa91cf046sjlr";
+  version = "0.2.3";
+  sha256 = "1lsm06y7hgjp9qmlr6csf24x3wgna7sbf8dgh6sfl2rhs7fn8kgn";
   meta = {
     description = "Generalized booleans and numbers";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/Cabal/1.14.0.nix b/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
deleted file mode 100644
index a905017472f..00000000000
--- a/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, extensibleExceptions, filepath, HUnit, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "Cabal";
-  version = "1.14.0";
-  sha256 = "1r5b4x1ham5gdg9m9l8idpvr9czlk1q21vqmg0di4adkp2fhlm3j";
-  buildDepends = [ filepath ];
-  testDepends = [
-    extensibleExceptions filepath HUnit QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "A framework for packaging Haskell software";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix b/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix
deleted file mode 100644
index ac417de67a1..00000000000
--- a/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, extensibleExceptions, filepath, HUnit, QuickCheck
-, regexPosix, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "Cabal";
-  version = "1.20.0.2";
-  sha256 = "00mz24fj3qpq6rl3n3i73x6k0jzqix24k9izrlkzg07mpjcj4k93";
-  buildDepends = [ deepseq filepath time ];
-  testDepends = [
-    extensibleExceptions filepath HUnit QuickCheck regexPosix
-    testFramework testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "A framework for packaging Haskell software";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/Cabal/1.20.0.3.nix b/pkgs/development/libraries/haskell/Cabal/1.20.0.3.nix
new file mode 100644
index 00000000000..83e8f075f07
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Cabal/1.20.0.3.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, extensibleExceptions, filepath, HUnit, QuickCheck
+, regexPosix, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Cabal";
+  version = "1.20.0.3";
+  sha256 = "0vq1xcwvvk74jkzp7386ldyrls8qszg3rj4l37fyq3fvjkqnx80v";
+  buildDepends = [ deepseq filepath time ];
+  testDepends = [
+    extensibleExceptions filepath HUnit QuickCheck regexPosix
+    testFramework testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "A framework for packaging Haskell software";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Cabal/1.22.0.0.nix b/pkgs/development/libraries/haskell/Cabal/1.22.0.0.nix
new file mode 100644
index 00000000000..659a493bc18
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Cabal/1.22.0.0.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, deepseq, extensibleExceptions, filepath, HUnit
+, QuickCheck, regexPosix, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Cabal";
+  version = "1.22.0.0";
+  sha256 = "13984rli87vzhl5pvpny2cns8dq4k2s5bgmr8n93iw9hrx5w3j48";
+  buildDepends = [ binary deepseq filepath time ];
+  testDepends = [
+    binary extensibleExceptions filepath HUnit QuickCheck regexPosix
+    testFramework testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  preCheck = "unset GHC_PACKAGE_PATH; export HOME=$NIX_BUILD_TOP";
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "A framework for packaging Haskell software";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index d2dea815819..c01793881ad 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.2.4";
-  sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z";
+  version = "1.3.2";
+  sha256 = "19ghd5xav7pn3z5igbkbsa81vhlpvy55xscc42vbxx1v9f6shq7g";
   buildDepends = [
     cairo Chart colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
index 002b762fbac..d6b17ec320f 100644
--- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-diagrams";
-  version = "1.2.4";
-  sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw";
+  version = "1.3.2";
+  sha256 = "0q5qvzzl5wirlj26a6zpnyq95lpzzkwiqq0mkh25aa3qzzbg4y6g";
   buildDepends = [
     blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib
     diagramsPostscript diagramsSvg lens mtl operational SVGFonts text
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Diagrams backend for Charts";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index 9dbb3c8ae9a..6d55bedb24f 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -1,12 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cairo, Chart, ChartCairo, colour, gtk, mtl, time }:
+{ cabal, cairo, Chart, ChartCairo, colour, dataDefaultClass, gtk
+, mtl, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.2.4";
-  sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq";
-  buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ];
+  version = "1.3.2";
+  sha256 = "175bqh5pl4z0gx50z34afg149g94qw8sk87gbp9mavh5bnpj5a07";
+  buildDepends = [
+    cairo Chart ChartCairo colour dataDefaultClass gtk mtl time
+  ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
     description = "Utility functions for using the chart library with GTK";
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index d5696a562da..c41fa5a5a5d 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.2.4";
-  sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7";
+  version = "1.3.2";
+  sha256 = "0y4xkqdmbyyaxf810dgz0zsfmywlx07c26s9wkk155iriz0yz4m9";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/ChasingBottoms/default.nix b/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
index 715793c7e9a..829af010da7 100644
--- a/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
+++ b/pkgs/development/libraries/haskell/ChasingBottoms/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl QuickCheck random syb ];
+  jailbreak = true;
   meta = {
     description = "For testing partial and infinite values";
     license = self.stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix
index 1de333a04d9..a2923dc19dd 100644
--- a/pkgs/development/libraries/haskell/ConfigFile/default.nix
+++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix
@@ -4,15 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "ConfigFile";
-  version = "1.1.2";
-  sha256 = "0xidr8dk5sc9g1v9gw7fmmrsyqiawx2rxg4c36pm4jbcj8jdzxiq";
+  version = "1.1.4";
+  sha256 = "057mw146bip9wzs7j4b5xr1x24d8w0kr4i3inri5m57jkwspn25f";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ MissingH mtl parsec ];
   meta = {
     homepage = "http://software.complete.org/configfile";
     description = "Configuration file reading & writing";
-    license = "LGPL";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/CouchDB/default.nix b/pkgs/development/libraries/haskell/CouchDB/default.nix
index 44a5d50edc5..18f095cd8b1 100644
--- a/pkgs/development/libraries/haskell/CouchDB/default.nix
+++ b/pkgs/development/libraries/haskell/CouchDB/default.nix
@@ -15,5 +15,6 @@ cabal.mkDerivation (self: {
     description = "CouchDB interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/DAV/default.nix b/pkgs/development/libraries/haskell/DAV/default.nix
index 30289ed9d08..b361ae045fb 100644
--- a/pkgs/development/libraries/haskell/DAV/default.nix
+++ b/pkgs/development/libraries/haskell/DAV/default.nix
@@ -2,22 +2,22 @@
 
 { cabal, caseInsensitive, dataDefault, either, errors, exceptions
 , httpClient, httpClientTls, httpTypes, lens, mtl, network
-, optparseApplicative, transformers, transformersBase, utf8String
-, xmlConduit, xmlHamlet
+, networkUri, optparseApplicative, transformers, transformersBase
+, utf8String, xmlConduit, xmlHamlet
 }:
 
 cabal.mkDerivation (self: {
   pname = "DAV";
-  version = "1.0.1";
-  sha256 = "0j8z7hi5dykimv6da584zgyn8xlvfhg1k9sbhj5ay7ncxszb134k";
+  version = "1.0.3";
+  sha256 = "1wrs3rdk4sarzi4w1pma8h751mjw5x1l8c6w30wv7fg0rmk2cayd";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     caseInsensitive dataDefault either errors exceptions httpClient
-    httpClientTls httpTypes lens mtl network optparseApplicative
-    transformers transformersBase utf8String xmlConduit xmlHamlet
+    httpClientTls httpTypes lens mtl network networkUri
+    optparseApplicative transformers transformersBase utf8String
+    xmlConduit xmlHamlet
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://floss.scru.org/hDAV";
     description = "RFC 4918 WebDAV support";
diff --git a/pkgs/development/libraries/haskell/DRBG/default.nix b/pkgs/development/libraries/haskell/DRBG/default.nix
index c192ad4302e..741368799d1 100644
--- a/pkgs/development/libraries/haskell/DRBG/default.nix
+++ b/pkgs/development/libraries/haskell/DRBG/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "DRBG";
-  version = "0.5.2";
-  sha256 = "0c8w8h2mxpk2avj6321q9a1smzp970cyn87aj98vn8dln7h9cqsi";
+  version = "0.5.3";
+  sha256 = "197kp2bchkj3zrl3f06glba9lbjf51mp710sx0qj8i4spvf3jfr8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/Decimal/default.nix b/pkgs/development/libraries/haskell/Decimal/default.nix
new file mode 100644
index 00000000000..03ae15a24d1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Decimal/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, HUnit, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Decimal";
+  version = "0.4.2";
+  sha256 = "0qa2z2lq1hrvakhyhj624mg8sd05ikhb66zwpa6x9vcyji93dxf5";
+  buildDepends = [ deepseq ];
+  testDepends = [
+    deepseq HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "https://github.com/PaulJohnson/Haskell-Decimal";
+    description = "Decimal numbers with variable precision";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/EitherT/default.nix b/pkgs/development/libraries/haskell/EitherT/default.nix
index 66ccb6a8d4e..23467560530 100644
--- a/pkgs/development/libraries/haskell/EitherT/default.nix
+++ b/pkgs/development/libraries/haskell/EitherT/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Extra-lib/default.nix b/pkgs/development/libraries/haskell/Extra-lib/default.nix
new file mode 100644
index 00000000000..d244700e58a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Extra-lib/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bzlib, filepath, HUnit, mtl, networkUri, pureMD5
+, QuickCheck, random, regexCompat, time, Unixutils, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Extra";
+  version = "1.46.3";
+  sha256 = "1xmwp9cp905nzx5x858wyacjpppn76mkfpkxksdhlq9zhmkp5yyh";
+  buildDepends = [
+    bzlib filepath HUnit mtl networkUri pureMD5 QuickCheck random
+    regexCompat time Unixutils zlib
+  ];
+  meta = {
+    homepage = "https://github.com/ddssff/haskell-extra";
+    description = "A grab bag of modules";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Extra/default.nix b/pkgs/development/libraries/haskell/Extra/default.nix
deleted file mode 100644
index 0db01edcc61..00000000000
--- a/pkgs/development/libraries/haskell/Extra/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, bzlib, filepath, HUnit, mtl, network, pureMD5, QuickCheck
-, random, regexCompat, time, Unixutils, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "Extra";
-  version = "1.46.1";
-  sha256 = "0dgj72s60mhc36x7hpfdcdvxydq5d5aj006gxma9zz3hqzy5nnz9";
-  buildDepends = [
-    bzlib filepath HUnit mtl network pureMD5 QuickCheck random
-    regexCompat time Unixutils zlib
-  ];
-  meta = {
-    homepage = "http://src.seereason.com/haskell-extra";
-    description = "A grab bag of modules";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/FontyFruity/default.nix b/pkgs/development/libraries/haskell/FontyFruity/default.nix
new file mode 100644
index 00000000000..325ed34c5d6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/FontyFruity/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, deepseq, filepath, text, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "FontyFruity";
+  version = "0.4";
+  sha256 = "0nrlsiwav1mwbmp555vwnc24250yn166yr5fjazjg9g7a0ikkivf";
+  buildDepends = [ binary deepseq filepath text vector ];
+  meta = {
+    description = "A true type file format loader";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ bergey ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix b/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
deleted file mode 100644
index bf23628a710..00000000000
--- a/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, freeglut, mesa, OpenGLRaw }:
-
-cabal.mkDerivation (self: {
-  pname = "GLURaw";
-  version = "1.3.0.0";
-  sha256 = "1sh87jz9161svsf719y63cr21wf4d7wpbz75g2c2xss301qhafg0";
-  buildDepends = [ OpenGLRaw ];
-  extraLibraries = [ freeglut mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A raw binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix b/pkgs/development/libraries/haskell/GLURaw/default.nix
index d389d7ecf04..d389d7ecf04 100644
--- a/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
+++ b/pkgs/development/libraries/haskell/GLURaw/default.nix
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix b/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
deleted file mode 100644
index 88a10caac09..00000000000
--- a/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL }:
-
-cabal.mkDerivation (self: {
-  pname = "GLUT";
-  version = "2.1.1.2";
-  sha256 = "d5ecf4b6bacc5e68ade00710df04fa158c6ed322c74362954716a0baba6bd3fb";
-  buildDepends = [ OpenGL ];
-  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
-    description = "A binding for the OpenGL Utility Toolkit";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
deleted file mode 100644
index a9988a53328..00000000000
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL }:
-
-cabal.mkDerivation (self: {
-  pname = "GLUT";
-  version = "2.1.2.1";
-  sha256 = "0r3js5i468lqlsnvb04iw6gdl81gs3cgqids3xpi4p5qpynbyc02";
-  buildDepends = [ OpenGL ];
-  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
-  noHaddock = true;
-  meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
-    description = "A binding for the OpenGL Utility Toolkit";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
deleted file mode 100644
index c92565ca4af..00000000000
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL }:
-
-cabal.mkDerivation (self: {
-  pname = "GLUT";
-  version = "2.1.2.2";
-  sha256 = "14g2ykcczy1hhpgflxv158zx2izkl1p0wj1x0am1grkkj1n9jbwi";
-  buildDepends = [ OpenGL ];
-  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
-  noHaddock = true;
-  meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
-    description = "A binding for the OpenGL Utility Toolkit";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
deleted file mode 100644
index 0bac3e0d5db..00000000000
--- a/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
-, StateVar, Tensor
-}:
-
-cabal.mkDerivation (self: {
-  pname = "GLUT";
-  version = "2.2.2.1";
-  sha256 = "09qpkrwpc3w173mvqwda7vi0ncpzzzrnlfa14ja7jba489a8l1mw";
-  buildDepends = [ OpenGL StateVar Tensor ];
-  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL Utility Toolkit";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix b/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
deleted file mode 100644
index 9402d56f687..00000000000
--- a/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
-, OpenGLRaw, StateVar, Tensor
-}:
-
-cabal.mkDerivation (self: {
-  pname = "GLUT";
-  version = "2.3.1.0";
-  sha256 = "1ijx636py7gpm79r0qjsv8f4pw3m1cgz80gnn3qghs3lw0l8f1ci";
-  buildDepends = [ OpenGL OpenGLRaw StateVar Tensor ];
-  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL Utility Toolkit";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix b/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
deleted file mode 100644
index c28194d7adb..00000000000
--- a/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL
-, OpenGLRaw
-}:
-
-cabal.mkDerivation (self: {
-  pname = "GLUT";
-  version = "2.4.0.0";
-  sha256 = "1g6bnj2p9hj6c04pmkjwlw9brp7rrva1fyylr2q2dbfz4kbz438h";
-  buildDepends = [ OpenGL OpenGLRaw ];
-  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL Utility Toolkit";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix b/pkgs/development/libraries/haskell/GLUT/default.nix
index b2cce856524..b2cce856524 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/default.nix
diff --git a/pkgs/development/libraries/haskell/GLUtil/default.nix b/pkgs/development/libraries/haskell/GLUtil/default.nix
index ee99ccc4fee..0b7910a7e0f 100644
--- a/pkgs/development/libraries/haskell/GLUtil/default.nix
+++ b/pkgs/development/libraries/haskell/GLUtil/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLUtil";
-  version = "0.8.1";
-  sha256 = "026w6rsgs0vmjx9fj4x3r93rifdyjygb83spcwmch31a7qng6l7w";
+  version = "0.8.2";
+  sha256 = "0z8fi4fd0jrywg595cc67w8pqcn7pgy651hxb4zkqb3400n4jak3";
   buildDepends = [
     cpphs filepath JuicyPixels linear OpenGL OpenGLRaw transformers
     vector
diff --git a/pkgs/development/libraries/haskell/GenericPretty/default.nix b/pkgs/development/libraries/haskell/GenericPretty/default.nix
new file mode 100644
index 00000000000..d2b8fedfc5e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GenericPretty/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "GenericPretty";
+  version = "1.2.1";
+  sha256 = "0bb70mic7srr7x8k83d1i0m0a32gm72zr78ccdf3ckchj9136php";
+  meta = {
+    homepage = "https://github.com/RazvanRanca/GenericPretty";
+    description = "A generic, derivable, haskell pretty printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
index cadf9e3e9c2..9622ea5d0dc 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HDBC-odbc";
-  version = "2.3.1.1";
-  sha256 = "0zypgwy8yxzp69c2775gkzi8591b0l3wncn7vmq11l16ign95fc7";
+  version = "2.4.0.0";
+  sha256 = "0zjq5j095jyh0axmgnr59fwhh1nhipj6flz77z46kygagygrg2qz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ HDBC mtl time utf8String ];
diff --git a/pkgs/development/libraries/haskell/HFuse/default.nix b/pkgs/development/libraries/haskell/HFuse/default.nix
index 510ffd4acb9..05caf6975ac 100644
--- a/pkgs/development/libraries/haskell/HFuse/default.nix
+++ b/pkgs/development/libraries/haskell/HFuse/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HFuse";
-  version = "0.2.4.3";
-  sha256 = "1daka673mx0gsnsa04pxani7n4wp93hflzxs3imzy4sgb30p7l01";
+  version = "0.2.4.4";
+  sha256 = "1wsrf9y90dk27da9pm9m11hnrxwrqwvq6c9799b91a91mc2lxslc";
   isLibrary = true;
   isExecutable = true;
   extraLibraries = [ fuse ];
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "HFuse is a binding for the Linux FUSE library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HPDF/default.nix b/pkgs/development/libraries/haskell/HPDF/default.nix
index 7dcdbaa8cf9..d34e590e9e6 100644
--- a/pkgs/development/libraries/haskell/HPDF/default.nix
+++ b/pkgs/development/libraries/haskell/HPDF/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Generation of PDF documents";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HSH/default.nix b/pkgs/development/libraries/haskell/HSH/default.nix
index bcc29781210..01c0595e900 100644
--- a/pkgs/development/libraries/haskell/HSH/default.nix
+++ b/pkgs/development/libraries/haskell/HSH/default.nix
@@ -1,22 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, filepath, hslogger, MissingH, mtl, regexBase, regexCompat
-, regexPosix, fetchpatch
+, regexPosix
 }:
 
 cabal.mkDerivation (self: {
   pname = "HSH";
-  version = "2.1.0";
-  sha256 = "0gz2hzdvf0gqv33jihn67bvry38c6hkjapb1prxmb3w12lisr4l5";
+  version = "2.1.2";
+  sha256 = "17ysn131xskx4s1g5kg08zy141q3q16bns4bsg3yjzvf6cjpz2kq";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     filepath hslogger MissingH mtl regexBase regexCompat regexPosix
   ];
-  patches = [ (fetchpatch { url = "https://github.com/jgoerzen/hsh/pull/10.patch"; sha256 = "0ddb3vf8ipf37zg4hkqh0frff1a7sv9ils3lw6qd3irpbwna1hdz"; }) ];
   meta = {
     homepage = "http://software.complete.org/hsh";
     description = "Library to mix shell scripting with Haskell programs";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix
index 5908498bd0a..cc27d4cf2ae 100644
--- a/pkgs/development/libraries/haskell/HTF/default.nix
+++ b/pkgs/development/libraries/haskell/HTF/default.nix
@@ -1,25 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, base64Bytestring, cpphs, Diff, filepath
-, haskellSrcExts, HUnit, liftedBase, monadControl, mtl, QuickCheck
-, random, regexCompat, temporary, text, time, unorderedContainers
-, vector, xmlgen
+{ cabal, aeson, aesonPretty, base64Bytestring, cpphs, Diff
+, filepath, haskellLexer, haskellSrc, HUnit, liftedBase
+, monadControl, mtl, QuickCheck, random, regexCompat, temporary
+, text, time, unorderedContainers, vector, xmlgen
 }:
 
 cabal.mkDerivation (self: {
   pname = "HTF";
-  version = "0.12.0.0";
-  sha256 = "1mbil44gbcl52f84dphxkdvxsyz8bhc532mlq37aqr1bmj54rv0i";
+  version = "0.12.2.3";
+  sha256 = "0g5z2ypn6i7wpz1439c6qjmi8lw2b86zaljkgwchjn8r8gvw4mbm";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson base64Bytestring cpphs Diff haskellSrcExts HUnit liftedBase
-    monadControl mtl QuickCheck random regexCompat text time vector
-    xmlgen
+    aeson base64Bytestring cpphs Diff haskellLexer haskellSrc HUnit
+    liftedBase monadControl mtl QuickCheck random regexCompat text time
+    vector xmlgen
   ];
   testDepends = [
-    aeson filepath HUnit mtl random regexCompat temporary text
-    unorderedContainers
+    aeson aesonPretty filepath HUnit mtl random regexCompat temporary
+    text unorderedContainers
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
deleted file mode 100644
index a41dd3c25dc..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, network, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.0.6";
-  sha256 = "75af1ac4dc21b10c8a1a54a33179ea822e591887bab7278360a3d6b38304d39b";
-  buildDepends = [ mtl network parsec ];
-  doCheck = false;
-  meta = {
-    homepage = "http://projects.haskell.org/http/";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
deleted file mode 100644
index e530452b08c..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, network, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.0.9";
-  sha256 = "1e2b4a8b782ad1417c8755bb0d248851bc142b351366ed460e07f2945a5e95ba";
-  buildDepends = [ mtl network parsec ];
-  doCheck = false;
-  meta = {
-    homepage = "http://projects.haskell.org/http/";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
deleted file mode 100644
index 76356134589..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, network, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.1.1";
-  sha256 = "09khx5fb673a0d7m3bl39xjdxvc60m52rmm4865cha2mby0zidy3";
-  buildDepends = [ mtl network parsec ];
-  doCheck = false;
-  meta = {
-    homepage = "http://projects.haskell.org/http/";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
deleted file mode 100644
index 344a86a0da8..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, network, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.1.2";
-  sha256 = "19vcy8xinrvn01caly6sg1p1yvbbf7nwq10kxmnwqssnl4h5cwn8";
-  buildDepends = [ mtl network parsec ];
-  doCheck = false;
-  meta = {
-    homepage = "http://projects.haskell.org/http/";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
deleted file mode 100644
index c677bbf40db..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, httpdShed, HUnit, mtl, network, parsec, split
-, testFramework, testFrameworkHunit
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.2.1";
-  sha256 = "01076rk7ly5228pszn54x4nqc6rqq1xw11ij9ajvhzf419islh0a";
-  buildDepends = [ mtl network parsec ];
-  testDepends = [
-    httpdShed HUnit network split testFramework testFrameworkHunit
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell/HTTP";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
deleted file mode 100644
index c18fd35c8a0..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, httpdShed, HUnit, mtl, network, parsec, split
-, testFramework, testFrameworkHunit
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.2.2";
-  sha256 = "0qrr9wdj25sdfxifppmw0w14g8skpgf42ic4iqcqylxxzfa8v7vh";
-  buildDepends = [ mtl network parsec ];
-  testDepends = [
-    httpdShed HUnit network split testFramework testFrameworkHunit
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell/HTTP";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
deleted file mode 100644
index 86c4dc8fcc0..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, httpdShed, HUnit, mtl, network, parsec, split
-, testFramework, testFrameworkHunit
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.2.3";
-  sha256 = "1z7s5rkyljwdl95cwqbqg64i207wjwxgpksrdmvcv82k39srzx80";
-  buildDepends = [ mtl network parsec ];
-  testDepends = [
-    httpdShed HUnit network split testFramework testFrameworkHunit
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell/HTTP";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
deleted file mode 100644
index 54c8733c584..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, caseInsensitive, conduit, deepseq, httpdShed, httpTypes
-, HUnit, mtl, network, parsec, pureMD5, split, testFramework
-, testFrameworkHunit, wai, warp
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.2.5";
-  sha256 = "03ij1zkykc438x2r1szz6ddvfhrjywlx61nrz377srcpbdmhxpb7";
-  buildDepends = [ mtl network parsec ];
-  testDepends = [
-    caseInsensitive conduit deepseq httpdShed httpTypes HUnit mtl
-    network pureMD5 split testFramework testFrameworkHunit wai warp
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell/HTTP";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
deleted file mode 100644
index d308d547c78..00000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, caseInsensitive, conduit, deepseq, httpdShed, httpTypes
-, HUnit, mtl, network, parsec, pureMD5, split, testFramework
-, testFrameworkHunit, wai, warp
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.2.8";
-  sha256 = "0p0cwzjw2102bsyfaga6m8b53s6qnhd6byg2j2qla653f6kjlsh8";
-  buildDepends = [ mtl network parsec ];
-  testDepends = [
-    caseInsensitive conduit deepseq httpdShed httpTypes HUnit mtl
-    network pureMD5 split testFramework testFrameworkHunit wai warp
-  ];
-  jailbreak = true;
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell/HTTP";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.18.nix b/pkgs/development/libraries/haskell/HTTP/default.nix
index 0a5a16dfadc..0a5a16dfadc 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.18.nix
+++ b/pkgs/development/libraries/haskell/HTTP/default.nix
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
deleted file mode 100644
index 7bd199555d7..00000000000
--- a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "HUnit";
-  version = "1.2.0.3";
-  sha256 = "954f584f7c096c3ddef677e70b3811195bb4fd18dfdb4727a260ca7d7465de12";
-  meta = {
-    homepage = "http://hunit.sourceforge.net/";
-    description = "A unit testing framework for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
deleted file mode 100644
index e995adab83c..00000000000
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "HUnit";
-  version = "1.2.2.1";
-  sha256 = "47235503b666658588181795540d29212283059b21edc42e1b4f1998e46ac853";
-  isLibrary = true;
-  isExecutable = true;
-  meta = {
-    homepage = "http://hunit.sourceforge.net/";
-    description = "A unit testing framework for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
deleted file mode 100644
index 02757e9074c..00000000000
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "HUnit";
-  version = "1.2.2.3";
-  sha256 = "158i6s014ybh5bflzspd21qzdlhdyk89yqpmk8kwc59lxjvvjsxz";
-  isLibrary = true;
-  isExecutable = true;
-  meta = {
-    homepage = "http://hunit.sourceforge.net/";
-    description = "A unit testing framework for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix b/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
deleted file mode 100644
index 13483375823..00000000000
--- a/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "HUnit";
-  version = "1.2.4.2";
-  sha256 = "0yijvrjmmz6vvgi5h1195z4psmymvhq6rr7kkd26nqbd34lbrg7x";
-  isLibrary = true;
-  isExecutable = true;
-  meta = {
-    homepage = "http://hunit.sourceforge.net/";
-    description = "A unit testing framework for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
deleted file mode 100644
index 6f866137945..00000000000
--- a/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "HUnit";
-  version = "1.2.4.3";
-  sha256 = "0sk2s0g28wly64nisgrj4wr914zx940pvj5zvkv9n467vssywzbr";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ deepseq ];
-  meta = {
-    homepage = "http://hunit.sourceforge.net/";
-    description = "A unit testing framework for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
deleted file mode 100644
index ae33779597b..00000000000
--- a/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "HUnit";
-  version = "1.2.5.1";
-  sha256 = "0wa4yqgfyrfxzhdyd04xvzi4qaswbg0rrbywz8sxzkp71v91a35w";
-  buildDepends = [ deepseq ];
-  meta = {
-    homepage = "http://hunit.sourceforge.net/";
-    description = "A unit testing framework for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix b/pkgs/development/libraries/haskell/HUnit/default.nix
index 0ab6f152aee..0ab6f152aee 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix
+++ b/pkgs/development/libraries/haskell/HUnit/default.nix
diff --git a/pkgs/development/libraries/haskell/HaTeX/default.nix b/pkgs/development/libraries/haskell/HaTeX/default.nix
index 3712dda87eb..9f5c8c76097 100644
--- a/pkgs/development/libraries/haskell/HaTeX/default.nix
+++ b/pkgs/development/libraries/haskell/HaTeX/default.nix
@@ -6,14 +6,14 @@
 
 cabal.mkDerivation (self: {
   pname = "HaTeX";
-  version = "3.13.1.0";
-  sha256 = "1ciifdb7yd79lvwdcxj8dq98dfmm9pg25rx9rc2wjn2jnp8j85r7";
+  version = "3.16.0.0";
+  sha256 = "16b3aaaahsy153dfii2lc1672kkm6i9mch5hmyf9229b17hhh5pa";
   buildDepends = [
     matrix parsec QuickCheck text transformers wlPprintExtras
   ];
-  testDepends = [ QuickCheck tasty tastyQuickcheck ];
+  testDepends = [ QuickCheck tasty tastyQuickcheck text ];
   meta = {
-    homepage = "http://daniel-diaz.github.io/projects/hatex";
+    homepage = "http://wrongurl.net/haskell/HaTeX";
     description = "The Haskell LaTeX library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/HaXml/default.nix b/pkgs/development/libraries/haskell/HaXml/default.nix
index 4199ae4275b..d20d7be551c 100644
--- a/pkgs/development/libraries/haskell/HaXml/default.nix
+++ b/pkgs/development/libraries/haskell/HaXml/default.nix
@@ -4,13 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "HaXml";
-  version = "1.24.1";
-  sha256 = "1pvqgczksxasayvdb6d4g7ya7g7w1v9hsa35kaxm9bcic9y8q9az";
+  version = "1.25";
+  sha256 = "02l53v9c8qzkp5zzs31973pp27q4k2h04h9x3852gah78qjvnslk";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath polyparse random ];
+  noHaddock = true;
   meta = {
-    homepage = "http://www.cs.york.ac.uk/fp/HaXml/";
+    homepage = "http://projects.haskell.org/HaXml/";
     description = "Utilities for manipulating XML documents";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/HandsomeSoup/default.nix b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
index cbf5e87bccc..69915ccfeef 100644
--- a/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
+++ b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
@@ -1,16 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HTTP, hxt, hxtHttp, MaybeT, mtl, network, parsec
-, transformers
+{ cabal, hspec, HTTP, hxt, hxtHttp, MaybeT, mtl, network
+, networkUri, parsec, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "HandsomeSoup";
-  version = "0.3.2";
-  sha256 = "0ixqk32sfv6kj41vc6fzflv6f6jwvnkvcdf9pmgkc675218ggh53";
+  version = "0.3.5";
+  sha256 = "1d1zanlr1mdxjc69xvbxg5kn5bc08gd960j6lb1x3grhcgmj9krm";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    HTTP hxt hxtHttp MaybeT mtl network parsec transformers
+    HTTP hxt hxtHttp MaybeT mtl network networkUri parsec transformers
   ];
+  testDepends = [ hspec hxt ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/egonSchiele/HandsomeSoup";
     description = "Work with HTML more easily in HXT";
diff --git a/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix b/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
index d5cc7085538..2aad877f688 100644
--- a/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
+++ b/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HaskellNet-SSL";
-  version = "0.2.4";
-  sha256 = "0rwj69rz8i84qj6n1zd9fllp4333azfxppd7blzd486bczzkgkbb";
+  version = "0.2.5.2";
+  sha256 = "0jhm43zd6jvhbahk4ki29ydg02qnjj4mw823rckqxk6f91q00qlp";
   buildDepends = [ connection dataDefault HaskellNet network tls ];
   meta = {
     homepage = "https://github.com/dpwright/HaskellNet-SSL";
diff --git a/pkgs/development/libraries/haskell/HaskellNet/default.nix b/pkgs/development/libraries/haskell/HaskellNet/default.nix
index 940bdbd678d..284bdce9737 100644
--- a/pkgs/development/libraries/haskell/HaskellNet/default.nix
+++ b/pkgs/development/libraries/haskell/HaskellNet/default.nix
@@ -1,12 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, base64String, Crypto, mimeMail, mtl, network, text }:
+{ cabal, base64String, cryptohash, mimeMail, mtl, network, text }:
 
 cabal.mkDerivation (self: {
   pname = "HaskellNet";
-  version = "0.3.1";
-  sha256 = "168w6y5rizszq1428amxbkhww65sy3b7czxpjyrzzq3dhjn517nr";
-  buildDepends = [ base64String Crypto mimeMail mtl network text ];
+  version = "0.4";
+  sha256 = "152ayk35czl8fi2mar1g6c5mi3pikvnpcy967prg97a9vy0ld1yp";
+  buildDepends = [
+    base64String cryptohash mimeMail mtl network text
+  ];
   meta = {
     homepage = "https://github.com/jtdaugherty/HaskellNet";
     description = "Client support for POP3, SMTP, and IMAP";
diff --git a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
index af38572464c..c752b20551d 100644
--- a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
+++ b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HsOpenSSL";
-  version = "0.11";
-  sha256 = "000c1589yf1lzvw32hh2jacq1da6k2vynh5rymw3rlapxq7skyyr";
+  version = "0.11.1";
+  sha256 = "1v73xjq3hxdzsrisyyshr46i7p9psinjbmc1z49cxgwisg8mn5xy";
   buildDepends = [ network time ];
   extraLibraries = [ openssl ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/IntervalMap/default.nix b/pkgs/development/libraries/haskell/IntervalMap/default.nix
index 774cbd8a19e..65b53d91b52 100644
--- a/pkgs/development/libraries/haskell/IntervalMap/default.nix
+++ b/pkgs/development/libraries/haskell/IntervalMap/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "IntervalMap";
-  version = "0.3.0.3";
-  sha256 = "11lxsjq9nw9mmj5ga0x03d8rgcx2s85kzi17d9cm7m28mq4dqdag";
+  version = "0.4.0.1";
+  sha256 = "0cq0dmmawrss4jjkz3br0lhp37d4k7rd3cinbcyf0bf39dfk6mrf";
   buildDepends = [ deepseq ];
   testDepends = [ Cabal deepseq QuickCheck ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix
index 4e680b26cae..ca3e10682fa 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels-util";
-  version = "0.1";
-  sha256 = "181wryax2k43qlblink9vcg2hk8f2qxn02ifmgxa2fl95z5ar0dc";
+  version = "0.2";
+  sha256 = "1b2rx5g8kd83hl50carr02mz21gvkasnsddw1f3pfvfsyfv3yyrc";
   buildDepends = [ JuicyPixels vector ];
   meta = {
     homepage = "https://github.com/fumieval/JuicyPixels-util";
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index fcd2689c548..e8c1c610e89 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -6,14 +6,14 @@
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "3.1.6.1";
-  sha256 = "1v560y0l1zpznbpw8zgb2j6zlcwi8i207xgzggzzd3p0v2m8955c";
+  version = "3.2";
+  sha256 = "1z4i0464zdijv54b7wzc55zrp8h67ahm6mrdk7a6gi2qm0nihmy5";
   buildDepends = [
     binary deepseq mtl primitive transformers vector zlib
   ];
   meta = {
     homepage = "https://github.com/Twinside/Juicy.Pixels";
-    description = "Picture loading/serialization (in png, jpeg, bitmap, gif, tiff and radiance)";
+    description = "Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix
index a0e4b787ec9..aaf84a84187 100644
--- a/pkgs/development/libraries/haskell/MFlow/default.nix
+++ b/pkgs/development/libraries/haskell/MFlow/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MFlow";
-  version = "0.4.5.7";
-  sha256 = "0faw082z8yyzf0k1vrgpqa8kvwb2zwmasy1p1vvj3a7lhhnlr20s";
+  version = "0.4.5.9";
+  sha256 = "0mqsyx7wkfgvpppqgpjpvzwx79vj7lh4c8afzzj1hgh8z0ilb4ik";
   buildDepends = [
     blazeHtml blazeMarkup caseInsensitive clientsession conduit
     conduitExtra extensibleExceptions httpTypes monadloc mtl parsec
diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix
index cb9b60d13c7..3115c437b09 100644
--- a/pkgs/development/libraries/haskell/MissingH/default.nix
+++ b/pkgs/development/libraries/haskell/MissingH/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MissingH";
-  version = "1.2.1.0";
-  sha256 = "08zpzfhl31w35x13vapimwd508j4nydi8v3vid668r4fkqnymbss";
+  version = "1.3.0.1";
+  sha256 = "1cwdhgqqv2riqwhsgyrpmqyzvg19lx6zp1g7xdp4rikh7rkn03ds";
   buildDepends = [
     filepath hslogger HUnit mtl network parsec random regexCompat time
   ];
diff --git a/pkgs/development/libraries/haskell/MonadPrompt/default.nix b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
index 3221cbe7f55..412f24450c4 100644
--- a/pkgs/development/libraries/haskell/MonadPrompt/default.nix
+++ b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MonadPrompt";
-  version = "1.0.0.3";
-  sha256 = "0v6svyiajri7c463bz1a1x1nin5s9s7c3s7y0gjc4cn7lhgdsvf2";
+  version = "1.0.0.5";
+  sha256 = "1nmy7dfzrkd8yfv5i9vlmjq9khnyi76ayvkzgcf783v5hfzcn4mh";
   buildDepends = [ mtl ];
   meta = {
     description = "MonadPrompt, implementation & examples";
diff --git a/pkgs/development/libraries/haskell/MonadRandom/0.1.13.nix b/pkgs/development/libraries/haskell/MonadRandom/0.1.13.nix
deleted file mode 100644
index 0cbd926b1f1..00000000000
--- a/pkgs/development/libraries/haskell/MonadRandom/0.1.13.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, random, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "MonadRandom";
-  version = "0.1.13";
-  sha256 = "1pi12ymsbl2l0ly3ggihg8r0ac87ax267m419cga60wp5ry5zbnk";
-  buildDepends = [ mtl random transformers ];
-  meta = {
-    description = "Random-number generation monad";
-    license = "unknown";
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix b/pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix
index cc430e22090..41796adb963 100644
--- a/pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/MonadRandom/0.2.0.1.nix
@@ -11,5 +11,6 @@ cabal.mkDerivation (self: {
     description = "Random-number generation monad";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadRandom/0.3.0.1.nix b/pkgs/development/libraries/haskell/MonadRandom/0.3.0.1.nix
new file mode 100644
index 00000000000..0362804ed45
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MonadRandom/0.3.0.1.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, random, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "MonadRandom";
+  version = "0.3.0.1";
+  sha256 = "0bbj6rkxskrvl14lngpggql4q41pw21cj4z8h592mizrxjfa3rj0";
+  buildDepends = [ mtl random transformers ];
+  meta = {
+    description = "Random-number generation monad";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/NumInstances/default.nix b/pkgs/development/libraries/haskell/NumInstances/default.nix
index e5b918a5ad5..38fbbfdbfbf 100644
--- a/pkgs/development/libraries/haskell/NumInstances/default.nix
+++ b/pkgs/development/libraries/haskell/NumInstances/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "NumInstances";
-  version = "1.3";
-  sha256 = "0w1hls5azsg95c0v510xqgr8hs195y2rxzjc7hpjg8q44d4z78sh";
+  version = "1.4";
+  sha256 = "0ycnwn09izajv330l7a31mc0alifqmxjsn9qmfswwnbg6i4jmnyb";
   meta = {
     homepage = "https://github.com/conal/NumInstances";
     description = "Instances of numeric classes for functions and tuples";
diff --git a/pkgs/development/libraries/haskell/ObjectName/default.nix b/pkgs/development/libraries/haskell/ObjectName/default.nix
index 785caabadd2..e2fed3f2191 100644
--- a/pkgs/development/libraries/haskell/ObjectName/default.nix
+++ b/pkgs/development/libraries/haskell/ObjectName/default.nix
@@ -4,10 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "ObjectName";
-  version = "1.0.0.0";
-  sha256 = "0yr1aa0ail2h9qsq2bslcwwq6cxl2lzajmc1laj19r7ks62p32rm";
+  version = "1.0.1.0";
+  sha256 = "1aw221i1cisk7jpgchs16f3br0ddllh0n0idhw5v6n6ysv4vv155";
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "https://github.com/haskell-opengl/ObjectName";
     description = "Explicitly handled object names";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
deleted file mode 100644
index 747720eba85..00000000000
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, libX11, mesa }:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGL";
-  version = "2.2.1.1";
-  sha256 = "926ca25cf9502cdaaeb8ade484015468cb60594e1bfbf0e04bd01235d8d9a792";
-  extraLibraries = [ libX11 mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
-    description = "A binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
deleted file mode 100644
index af01702b01b..00000000000
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, libX11, mesa }:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGL";
-  version = "2.2.3.0";
-  sha256 = "00h5zdm64mfj5fwnd52kyn9aynsbzqwfic0ymjjakz90pdvk4p57";
-  extraLibraries = [ libX11 mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
-    description = "A binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
deleted file mode 100644
index fa3ae576bfa..00000000000
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, libX11, mesa }:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGL";
-  version = "2.2.3.1";
-  sha256 = "1vl5i1l76mjc0p18awdrvdcpszaz1z891505cqmn1xlld7ijb14z";
-  extraLibraries = [ libX11 mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
-    description = "A binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix b/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
deleted file mode 100644
index 81e754e269f..00000000000
--- a/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, GLURaw, libX11, mesa, ObjectName, OpenGLRaw, StateVar
-, Tensor
-}:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGL";
-  version = "2.4.0.2";
-  sha256 = "00rjvm02p6h8vbyxi3ri4jkk75ki414wk5al2z2fsszjfpdl93b6";
-  buildDepends = [ GLURaw ObjectName OpenGLRaw StateVar Tensor ];
-  extraLibraries = [ libX11 mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
deleted file mode 100644
index a0ae3c84fad..00000000000
--- a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, GLURaw, libX11, mesa, ObjectName, OpenGLRaw, StateVar
-, Tensor
-}:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGL";
-  version = "2.6.0.1";
-  sha256 = "1fpabhpjfl1bj0dhlj2sg8zsn3l6py4zw1arplwmqalz3xbkkgdi";
-  buildDepends = [ GLURaw ObjectName OpenGLRaw StateVar Tensor ];
-  extraLibraries = [ libX11 mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
deleted file mode 100644
index ea1fdcc9711..00000000000
--- a/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, GLURaw, libX11, mesa, OpenGLRaw }:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGL";
-  version = "2.8.0.0";
-  sha256 = "1wb5772dhh4a81ks9zxz8adpfxa97hcna9s263h9cl2vny6ksxff";
-  buildDepends = [ GLURaw OpenGLRaw ];
-  extraLibraries = [ libX11 mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix b/pkgs/development/libraries/haskell/OpenGL/default.nix
index f6767ab577c..f6767ab577c 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/default.nix
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
deleted file mode 100644
index c3d8ce49881..00000000000
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mesa }:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGLRaw";
-  version = "1.3.0.0";
-  sha256 = "0ifp5inrm48hzpq0x9hlk5cxh2k64y05phmsdb5hydb7r6dcla32";
-  extraLibraries = [ mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A raw binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
deleted file mode 100644
index a2ffc9b4ad1..00000000000
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mesa }:
-
-cabal.mkDerivation (self: {
-  pname = "OpenGLRaw";
-  version = "1.4.0.0";
-  sha256 = "112xaz01950pyjaw3cv9yvw4w3gqbf79idyyh05ain7x29m7bxkh";
-  extraLibraries = [ mesa ];
-  meta = {
-    homepage = "http://www.haskell.org/haskellwiki/Opengl";
-    description = "A raw binding for the OpenGL graphics system";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
index 65466306fd8..65466306fd8 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
diff --git a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
deleted file mode 100644
index 465fb510b50..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "1.2.0.0";
-  sha256 = "21672d817913ac7ab6d3fd7f102dd5d0f115a0826c95b9604c8c0b0171e8d4ed";
-  buildDepends = [ random ];
-  meta = {
-    homepage = "http://www.math.chalmers.se/~rjmh/QuickCheck/";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
deleted file mode 100644
index ba16967249d..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "1.2.0.1";
-  sha256 = "1gxpvbc0ab4n35b5zcbzng8qc7y3mzgym8cj42bci984f08y1bld";
-  buildDepends = [ random ];
-  meta = {
-    homepage = "http://www.math.chalmers.se/~rjmh/QuickCheck/";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
deleted file mode 100644
index 373742a9755..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, extensibleExceptions, mtl, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.1.1.1";
-  sha256 = "626a6f7a69e2bea3b4fe7c573d0bc8da8c77f97035cb2d3a5e1c9fca382b59c9";
-  buildDepends = [ extensibleExceptions mtl random ];
-  meta = {
-    homepage = "http://www.cse.chalmers.se/~koen";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
deleted file mode 100644
index 3bee4ac9702..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, extensibleExceptions, mtl, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.4.0.1";
-  sha256 = "1x7jc2svpxbll8qkrbswh5q59sqcjf2v5a6jnqslf5gwr5qpq18r";
-  buildDepends = [ extensibleExceptions mtl random ];
-  meta = {
-    homepage = "http://code.haskell.org/QuickCheck";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
deleted file mode 100644
index d936d4b3784..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, extensibleExceptions, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.4.1.1";
-  sha256 = "06vrn0j26ai2jfl32yd3kx8by4pimcinjf23b0dyc35z2gb139wj";
-  buildDepends = [ extensibleExceptions random ];
-  meta = {
-    homepage = "http://code.haskell.org/QuickCheck";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
deleted file mode 100644
index 58a04593c49..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, extensibleExceptions, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.4.2";
-  sha256 = "17qp73sdp780lha3i6xdsrvgshqz47qwldqknadc0w3vmscw61bg";
-  buildDepends = [ extensibleExceptions random ];
-  meta = {
-    homepage = "http://code.haskell.org/QuickCheck";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
deleted file mode 100644
index 438c4cfff8d..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.5.1.1";
-  sha256 = "1ff2mhm27l8cc8nrsbw2z65dc9m7h879jykl5g7yqip5l88j0jcq";
-  buildDepends = [ random ];
-  meta = {
-    homepage = "http://code.haskell.org/QuickCheck";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.6.nix b/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
deleted file mode 100644
index 0ed56838435..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, random }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.6";
-  sha256 = "03cp7mshjy2yrg31i13b9kmc2a6lrmrbl1sh9s8lswcj305c00c0";
-  buildDepends = [ random ];
-  meta = {
-    homepage = "http://code.haskell.org/QuickCheck";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
deleted file mode 100644
index 26115cb8814..00000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, random, testFramework, tfRandom, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.7.5";
-  sha256 = "1bak50yxf8qfwfw1f5bd2p1ynx1ndjv24yp6gd2a2a1fag34x0rb";
-  buildDepends = [ random tfRandom transformers ];
-  testDepends = [ testFramework ];
-  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
-  meta = {
-    homepage = "https://github.com/nick8325/quickcheck";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix b/pkgs/development/libraries/haskell/QuickCheck/default.nix
index 3c623e9f0dd..3c623e9f0dd 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/default.nix
diff --git a/pkgs/development/libraries/haskell/RSA/default.nix b/pkgs/development/libraries/haskell/RSA/default.nix
index 61c2d0fb225..53655d46765 100644
--- a/pkgs/development/libraries/haskell/RSA/default.nix
+++ b/pkgs/development/libraries/haskell/RSA/default.nix
@@ -1,20 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, binary, cryptoApi, cryptoPubkeyTypes, DRBG
-, monadcryptorandom, pureMD5, QuickCheck, SHA, tagged
-, testFramework, testFrameworkQuickcheck2
+{ cabal, binary, cryptoApi, cryptoPubkeyTypes, DRBG, pureMD5
+, QuickCheck, SHA, tagged, testFramework, testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "RSA";
-  version = "2.0.0";
-  sha256 = "1v2d6sxpqr0lmiqdr3ym5qzp3p1y57yj6939vdlsac6k6ifj6pwq";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    binary cryptoApi cryptoPubkeyTypes DRBG monadcryptorandom pureMD5
-    QuickCheck SHA tagged testFramework testFrameworkQuickcheck2
-  ];
+  version = "2.1.0";
+  sha256 = "0bhnnz7vp1942ac2vg0y6vsag9bm0pslnm4ix6lmw28hy6d1jk2a";
+  buildDepends = [ binary cryptoApi cryptoPubkeyTypes pureMD5 SHA ];
   testDepends = [
     binary cryptoApi cryptoPubkeyTypes DRBG pureMD5 QuickCheck SHA
     tagged testFramework testFrameworkQuickcheck2
diff --git a/pkgs/development/libraries/haskell/Rasterific/default.nix b/pkgs/development/libraries/haskell/Rasterific/default.nix
new file mode 100644
index 00000000000..5380cb59659
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Rasterific/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, criterion, deepseq, dlist, filepath, FontyFruity
+, free, JuicyPixels, mtl, primitive, QuickCheck, statistics, vector
+, vectorAlgorithms
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Rasterific";
+  version = "0.4";
+  sha256 = "1cw8lalxp9cs3w3kfr4ayp5h0kd71fdnyih99xpljy8zxw28hv3z";
+  buildDepends = [
+    dlist FontyFruity free JuicyPixels mtl primitive vector
+    vectorAlgorithms
+  ];
+  testDepends = [
+    binary criterion deepseq filepath FontyFruity JuicyPixels
+    QuickCheck statistics vector
+  ];
+  doCheck = false;
+  meta = {
+    description = "A pure haskell drawing engine";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ bergey ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ReadArgs/default.nix b/pkgs/development/libraries/haskell/ReadArgs/default.nix
index 484aacb91f0..c9f10744976 100644
--- a/pkgs/development/libraries/haskell/ReadArgs/default.nix
+++ b/pkgs/development/libraries/haskell/ReadArgs/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "ReadArgs";
-  version = "1.2.1";
-  sha256 = "099gg6nq70yf2pl5ya8f083lw8x5rncnv54y2p5jlkdwfwmpmbnv";
+  version = "1.2.2";
+  sha256 = "1v6yr5zzrrj31prfzxxh1n27sfnkqpkw34v3a47rcnm444ba58a7";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ systemFilepath text ];
   testDepends = [ hspec systemFilepath text ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/rampion/ReadArgs";
     description = "Simple command line argument parsing";
diff --git a/pkgs/development/libraries/haskell/StateVar/default.nix b/pkgs/development/libraries/haskell/StateVar/default.nix
index 03d21bbba3c..b4bd9b44e3f 100644
--- a/pkgs/development/libraries/haskell/StateVar/default.nix
+++ b/pkgs/development/libraries/haskell/StateVar/default.nix
@@ -4,10 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "StateVar";
-  version = "1.0.0.0";
-  sha256 = "1c1b6a6nn1cdnba08zzp0645wl482h7yaa69zw2l3wwyyyccjic4";
+  version = "1.0.1.0";
+  sha256 = "02n2sxxkr0ydc77dc3amwp5jrw289d2s2z55rhrmhxxg1c7lp5js";
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "https://github.com/haskell-opengl/StateVar";
     description = "State variables";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/Tensor/default.nix b/pkgs/development/libraries/haskell/Tensor/default.nix
index 55c110b7521..8b5869caae9 100644
--- a/pkgs/development/libraries/haskell/Tensor/default.nix
+++ b/pkgs/development/libraries/haskell/Tensor/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "Tensor";
-  version = "1.0.0.1";
-  sha256 = "10arhk5gkn5jxpb53r80bblpk0afdax1fc2mik40hj5g5g960cp9";
+  version = "1.1.0.0";
+  sha256 = "1vn409805p5b47v5mf7rk0gypqag5bn1pzlsmsp9blr3jyj6dgph";
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "https://github.com/haskell-opengl/Tensor";
     description = "Tensor data types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Thrift/default.nix b/pkgs/development/libraries/haskell/Thrift/default.nix
index 6e37fe2ca49..bbd5f45f9ca 100644
--- a/pkgs/development/libraries/haskell/Thrift/default.nix
+++ b/pkgs/development/libraries/haskell/Thrift/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Haskell bindings for the Apache Thrift RPC system";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Unixutils/default.nix b/pkgs/development/libraries/haskell/Unixutils/default.nix
index baabbbc6546..c776686509b 100644
--- a/pkgs/development/libraries/haskell/Unixutils/default.nix
+++ b/pkgs/development/libraries/haskell/Unixutils/default.nix
@@ -8,7 +8,7 @@ cabal.mkDerivation (self: {
   sha256 = "1gp04mc6irycwazykl9kpyhkkryn3hbnpn08ih6cjbsm3p8yi8b4";
   buildDepends = [ filepath pureMD5 regexTdfa zlib ];
   meta = {
-    homepage = "http://src.seereason.com/haskell-unixutils";
+    homepage = "https://github.com/seereason/haskell-unixutils";
     description = "A crude interface between Haskell and Unix-like operating systems";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/WAVE/default.nix b/pkgs/development/libraries/haskell/WAVE/default.nix
new file mode 100644
index 00000000000..6082f5e76cf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/WAVE/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, parseargs }:
+
+cabal.mkDerivation (self: {
+  pname = "WAVE";
+  version = "0.1.3";
+  sha256 = "1cgla9y1lwcsdad5qdspymd7s6skdw961fgzh02kvi7gjbrrcyi7";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ parseargs ];
+  meta = {
+    homepage = "http://github.com/BartMassey/WAVE";
+    description = "WAVE audio file IO library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Yampa/default.nix b/pkgs/development/libraries/haskell/Yampa/default.nix
index a4d1ea666a2..5ae451f8163 100644
--- a/pkgs/development/libraries/haskell/Yampa/default.nix
+++ b/pkgs/development/libraries/haskell/Yampa/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Yampa";
-  version = "0.9.5";
-  sha256 = "0r6fm2ccls7gbc5s0vbrzrqv6marnzlzc7zr4afkgfk9jsqfmqjh";
+  version = "0.9.6";
+  sha256 = "0a1m0sb0i3kkxbp10vpqd6iw83ksm4alavrg04arzrv71p3skyg0";
   buildDepends = [ random ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Yampa";
diff --git a/pkgs/development/libraries/haskell/acid-state/default.nix b/pkgs/development/libraries/haskell/acid-state/default.nix
index c7067dd6602..ab2e682fdc8 100644
--- a/pkgs/development/libraries/haskell/acid-state/default.nix
+++ b/pkgs/development/libraries/haskell/acid-state/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "acid-state";
-  version = "0.12.2";
-  sha256 = "0hwi2254bj84djxmah23vy3xw8binh75fsn8ac6y89rwc8i35w1f";
+  version = "0.12.3";
+  sha256 = "099n8a5qxrjzhw0jgmshcpkvynkj2v4a8a6lwy9fvg586nhcy9j1";
   buildDepends = [
     cereal extensibleExceptions filepath mtl network safecopy stm
   ];
diff --git a/pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix b/pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix
new file mode 100644
index 00000000000..6b2a9856a90
--- /dev/null
+++ b/pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "acme-lookofdisapproval";
+  version = "0.1";
+  sha256 = "194xvcab14bs3b3nrayxp4z3da60afxa9cmip58mkms5016kwhis";
+  meta = {
+    homepage = "https://github.com/llelf/acme-lookofdisapproval";
+    description = "Express your disapproval";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix
index a13113cde4e..02764c108f8 100644
--- a/pkgs/development/libraries/haskell/active/default.nix
+++ b/pkgs/development/libraries/haskell/active/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "active";
-  version = "0.1.0.16";
-  sha256 = "0x4z9n0avk9pr9v64vfmbbpxx2n6cl32d8sw8y2w61345s2z628k";
+  version = "0.1.0.17";
+  sha256 = "1asp0han2737vfk92gasij804z4jsw8v2bc0m4nrmn3v80vmh7qb";
   buildDepends = [ newtype semigroupoids semigroups vectorSpace ];
   testDepends = [
     newtype QuickCheck semigroupoids semigroups vectorSpace
diff --git a/pkgs/development/libraries/haskell/ad/default.nix b/pkgs/development/libraries/haskell/ad/default.nix
index d53d11385f4..72c53b5178a 100644
--- a/pkgs/development/libraries/haskell/ad/default.nix
+++ b/pkgs/development/libraries/haskell/ad/default.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, comonad, dataReify, doctest, erf, filepath, free, mtl
-, nats, reflection, tagged, transformers
+{ cabal, comonad, dataReify, doctest, erf, filepath, free, nats
+, reflection, tagged, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "ad";
-  version = "4.2.0.1";
-  sha256 = "06vjllcrnr4dv5h3xkcy5zhnhyamp6b6jahpnh2y0i6mp2bdw0pz";
+  version = "4.2.1.1";
+  sha256 = "1zdpfh4k93ygrm91m7lw1la6n4yvaq3k2sqswgia04naf2wcmjka";
   buildDepends = [
-    comonad dataReify erf free mtl nats reflection tagged transformers
+    comonad dataReify erf free nats reflection tagged transformers
   ];
-  testDepends = [ doctest filepath mtl ];
+  testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/ad";
     description = "Automatic Differentiation";
diff --git a/pkgs/development/libraries/haskell/aeson-pretty/default.nix b/pkgs/development/libraries/haskell/aeson-pretty/default.nix
index 7bc2beb3b30..8e1959c401c 100644
--- a/pkgs/development/libraries/haskell/aeson-pretty/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-pretty/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aeson-pretty";
-  version = "0.7.1";
-  sha256 = "0gmm1kmdbanfyfdyij1gnazycp1x9703qfa5hgrz39j9046zg3y6";
+  version = "0.7.2";
+  sha256 = "03ap81853qi8yd9kdgczllrrni23a6glsfxrwj8zab6ipjrbh234";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/aeson-qq/default.nix b/pkgs/development/libraries/haskell/aeson-qq/default.nix
index 2090a20fa8d..d7c86d853fa 100644
--- a/pkgs/development/libraries/haskell/aeson-qq/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-qq/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aeson-qq";
-  version = "0.7.2";
-  sha256 = "1h4agwl8kr6qpy4775pxmaizhlzbwjqb23pxn2vvz9wbm2vnixwk";
+  version = "0.7.4";
+  sha256 = "0wnc9pdjvd15gfkdxzf084393vwmxv2xaxdchzgal1qhwa1mak4v";
   buildDepends = [ aeson haskellSrcMeta parsec text vector ];
   testDepends = [ aeson haskellSrcMeta hspec parsec text vector ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/aeson-utils/default.nix b/pkgs/development/libraries/haskell/aeson-utils/default.nix
index db783c012bc..ee0df96618c 100644
--- a/pkgs/development/libraries/haskell/aeson-utils/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-utils/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Utilities for working with Aeson";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
deleted file mode 100644
index b5626f63932..00000000000
--- a/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
-, mtl, QuickCheck, scientific, syb, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, text, time
-, unorderedContainers, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "aeson";
-  version = "0.7.0.6";
-  sha256 = "0vsf9msz9iv7xvsnys5c0kbkldb0pvhiai02vz50b0d1kdsk2mb4";
-  buildDepends = [
-    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
-    text time unorderedContainers vector
-  ];
-  testDepends = [
-    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text time unorderedContainers vector
-  ];
-  meta = {
-    homepage = "https://github.com/bos/aeson";
-    description = "Fast JSON parsing and encoding";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix b/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
deleted file mode 100644
index de9708f2546..00000000000
--- a/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
-, mtl, QuickCheck, scientific, syb, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, text, time
-, unorderedContainers, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "aeson";
-  version = "0.8.0.0";
-  sha256 = "0p2x03wjawhav87jp57vwclra0gjwn1gqk74zgnji25ypwsvgkk4";
-  buildDepends = [
-    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
-    text time unorderedContainers vector
-  ];
-  testDepends = [
-    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text time unorderedContainers vector
-  ];
-  meta = {
-    homepage = "https://github.com/bos/aeson";
-    description = "Fast JSON parsing and encoding";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/aeson/0.8.0.2.nix b/pkgs/development/libraries/haskell/aeson/0.8.0.2.nix
new file mode 100644
index 00000000000..0625dcf1913
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson/0.8.0.2.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
+, mtl, QuickCheck, scientific, syb, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aeson";
+  version = "0.8.0.2";
+  sha256 = "1mc8cwmswx69r77wv7dfim525jqajnlxbcx5xf3ygpszzf6mh1q7";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
+    text time unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/bos/aeson";
+    description = "Fast JSON parsing and encoding";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/algebra/default.nix b/pkgs/development/libraries/haskell/algebra/default.nix
index 1e054a1cdb4..2044c8ad872 100644
--- a/pkgs/development/libraries/haskell/algebra/default.nix
+++ b/pkgs/development/libraries/haskell/algebra/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "algebra";
-  version = "4.1";
-  sha256 = "1wcwpngaqnr9w89p5dycmpsaihdwqqrs2vjap6jfwrscq16yyyc6";
+  version = "4.2";
+  sha256 = "1b74c55326qsnpyqzyhyq87j61wp3zrpsqhipgw8db8nm2lq9nhs";
   buildDepends = [
     adjunctions distributive mtl nats semigroupoids semigroups tagged
     transformers void
diff --git a/pkgs/development/libraries/haskell/ansi-terminal/default.nix b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
index ecacc374e43..26fbb43ec04 100644
--- a/pkgs/development/libraries/haskell/ansi-terminal/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ansi-terminal";
-  version = "0.6.1.1";
-  sha256 = "06pdcpp2z7wk9mkr5lzwk64lqhj09c7l1ah4s3vz7zwrdzfaccwi";
+  version = "0.6.2.1";
+  sha256 = "1xmp8wpcyvqys777qpyfx99bhlnvmr7jil7r78j5n6fx3mkkhnln";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/ariadne/default.nix b/pkgs/development/libraries/haskell/ariadne/default.nix
index 758d1a90d3b..2d282fae022 100644
--- a/pkgs/development/libraries/haskell/ariadne/default.nix
+++ b/pkgs/development/libraries/haskell/ariadne/default.nix
@@ -1,24 +1,32 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, bert, Cabal, haskellNames, haskellPackages, haskellSrcExts
-, mtl, utf8String
+{ cabal, async, bert, Cabal, dataLens, dataLensFd, dataLensTemplate
+, filepath, haskellNames, haskellPackages, haskellSrcExts, hseCpp
+, hslogger, mtl, stm, tagged, tasty, tastyHunit, transformers
+, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "ariadne";
-  version = "0.1.2.1";
-  sha256 = "1gx6jrv3s86h02cjx8pvqyklp445ljiysx29hg39qykyhi1q5a3z";
+  version = "0.1.2.3";
+  sha256 = "02hyn3y4h7w4l5k48kp73al67lp8vzlymblb7al72w14r01ww8p3";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    bert Cabal haskellNames haskellPackages haskellSrcExts mtl
-    utf8String
+    async bert Cabal dataLens dataLensFd dataLensTemplate filepath
+    haskellNames haskellPackages haskellSrcExts hseCpp hslogger mtl stm
+    tagged transformers utf8String
   ];
+  testDepends = [
+    bert filepath haskellSrcExts tasty tastyHunit utf8String
+  ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/feuerbach/ariadne";
     description = "Go-to-definition for Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/asn1-encoding/default.nix b/pkgs/development/libraries/haskell/asn1-encoding/default.nix
index 1cc87f5ce5e..cb35f70d1b5 100644
--- a/pkgs/development/libraries/haskell/asn1-encoding/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-encoding/default.nix
@@ -1,14 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, asn1Types, mtl, text, time }:
+{ cabal, asn1Types, hourglass, mtl, tasty, tastyQuickcheck, text }:
 
 cabal.mkDerivation (self: {
   pname = "asn1-encoding";
-  version = "0.8.1.3";
-  sha256 = "000rajx9gdxfyx521yg2mvp1z8h61sr96w1lzwawiw7n5ng6v8ni";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ asn1Types mtl text time ];
+  version = "0.9.0";
+  sha256 = "02x3lzyl4gavl3lc2lrg8rknyvs6r2hf8kmm7xrmma5m857iks8p";
+  buildDepends = [ asn1Types hourglass mtl ];
+  testDepends = [
+    asn1Types hourglass mtl tasty tastyQuickcheck text
+  ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/vincenthz/hs-asn1";
     description = "ASN1 data reader and writer in RAW, BER and DER forms";
diff --git a/pkgs/development/libraries/haskell/asn1-parse/default.nix b/pkgs/development/libraries/haskell/asn1-parse/default.nix
index 5786823ce7b..5d6bf33bb26 100644
--- a/pkgs/development/libraries/haskell/asn1-parse/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-parse/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, asn1Encoding, asn1Types, mtl, text, time }:
+{ cabal, asn1Encoding, asn1Types, mtl, text }:
 
 cabal.mkDerivation (self: {
   pname = "asn1-parse";
-  version = "0.8.1";
-  sha256 = "021mbm5aayfx9vhxq4x1jj3gpnzq0bqaqcl1zsaa2a6l0qzpnmh9";
-  buildDepends = [ asn1Encoding asn1Types mtl text time ];
+  version = "0.9.0";
+  sha256 = "0m093wwndyxvy72qlnb70bp8w5ahimrlv1dp972l9s9l5jc4pjg3";
+  buildDepends = [ asn1Encoding asn1Types mtl text ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-asn1";
     description = "Simple monadic parser for ASN1 stream types";
diff --git a/pkgs/development/libraries/haskell/asn1-types/default.nix b/pkgs/development/libraries/haskell/asn1-types/default.nix
index ad9492bf3fa..d2566add400 100644
--- a/pkgs/development/libraries/haskell/asn1-types/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-types/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, time }:
+{ cabal, hourglass }:
 
 cabal.mkDerivation (self: {
   pname = "asn1-types";
-  version = "0.2.3";
-  sha256 = "1cdzhj6zls6qmy82218cj2a25b7rkxsjbcqnx4zng3wp6s5pghw4";
-  buildDepends = [ time ];
+  version = "0.3.0";
+  sha256 = "1am8nmfarv7ymy3rqm0js2i82v6n6qwz0lnzb1qdmy4ligcdm65r";
+  buildDepends = [ hourglass ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-asn1-types";
     description = "ASN.1 types";
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.3.nix b/pkgs/development/libraries/haskell/async/2.0.1.3.nix
deleted file mode 100644
index a60830309e7..00000000000
--- a/pkgs/development/libraries/haskell/async/2.0.1.3.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, stm, testFramework, testFrameworkHunit }:
-
-cabal.mkDerivation (self: {
-  pname = "async";
-  version = "2.0.1.3";
-  sha256 = "1rbjr6xw5sp8npw17fxg0942kikssv2hyci2sy26r0na98483mkh";
-  buildDepends = [ stm ];
-  testDepends = [ HUnit testFramework testFrameworkHunit ];
-  jailbreak = true;
-  meta = {
-    homepage = "https://github.com/simonmar/async";
-    description = "Run IO operations asynchronously and wait for their results";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.5.nix b/pkgs/development/libraries/haskell/async/2.0.1.5.nix
deleted file mode 100644
index a4251e9e80b..00000000000
--- a/pkgs/development/libraries/haskell/async/2.0.1.5.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, stm, testFramework, testFrameworkHunit }:
-
-cabal.mkDerivation (self: {
-  pname = "async";
-  version = "2.0.1.5";
-  sha256 = "0g587b64zgn971qb2lh846ihg4z89037f18821kyaqsgixasq4yd";
-  buildDepends = [ stm ];
-  testDepends = [ HUnit testFramework testFrameworkHunit ];
-  jailbreak = true;
-  meta = {
-    homepage = "https://github.com/simonmar/async";
-    description = "Run IO operations asynchronously and wait for their results";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.6.nix b/pkgs/development/libraries/haskell/async/2.0.1.6.nix
new file mode 100644
index 00000000000..6c1aed15eab
--- /dev/null
+++ b/pkgs/development/libraries/haskell/async/2.0.1.6.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, stm, testFramework, testFrameworkHunit }:
+
+cabal.mkDerivation (self: {
+  pname = "async";
+  version = "2.0.1.6";
+  sha256 = "06fzkqjliccxqiygms7v1xff3wlkg54n9xwzv7m1yxylkzlikjkz";
+  buildDepends = [ stm ];
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/simonmar/async";
+    description = "Run IO operations asynchronously and wait for their results";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/atomic-primops/default.nix b/pkgs/development/libraries/haskell/atomic-primops/default.nix
index 466a4429091..5a84686d3a4 100644
--- a/pkgs/development/libraries/haskell/atomic-primops/default.nix
+++ b/pkgs/development/libraries/haskell/atomic-primops/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "atomic-primops";
-  version = "0.6.0.6";
-  sha256 = "10i9s6d9951z9bf88w1vxcfb9z9axm2q4kf8wy6zd5gcc8hm7wcb";
+  version = "0.6.1";
+  sha256 = "1j8slmqsyhvx7xns1qpvbmcjsfqfkphycv32hgcmk17wl1fzbyi7";
   buildDepends = [ primitive ];
   meta = {
     homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
diff --git a/pkgs/development/libraries/haskell/atto-lisp/default.nix b/pkgs/development/libraries/haskell/atto-lisp/default.nix
index 9ee9ecd7a28..6e69e361585 100644
--- a/pkgs/development/libraries/haskell/atto-lisp/default.nix
+++ b/pkgs/development/libraries/haskell/atto-lisp/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "atto-lisp";
-  version = "0.2.1.2";
-  sha256 = "0xl5b0gblab3v2sfaxvx3z96660r9xp1m2n3ri6aph3kldbpkfcg";
+  version = "0.2.2";
+  sha256 = "13lhdalam4gn9faa58c3c7nssdwp2y0jsfl1lnnvr3dx6wzp0jhc";
   buildDepends = [
     attoparsec blazeBuilder blazeTextual deepseq text
   ];
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
deleted file mode 100644
index e322f6de4ce..00000000000
--- a/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, QuickCheck, scientific, testFramework
-, testFrameworkQuickcheck2, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "attoparsec";
-  version = "0.11.3.4";
-  sha256 = "1zahmkb0n7jz0di35x3r8s0xnfg1awqybh2x2zicxbwazl4f53hi";
-  buildDepends = [ deepseq scientific text ];
-  testDepends = [
-    QuickCheck testFramework testFrameworkQuickcheck2 text
-  ];
-  meta = {
-    homepage = "https://github.com/bos/attoparsec";
-    description = "Fast combinator parsing for bytestrings and text";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
deleted file mode 100644
index b8e2104f739..00000000000
--- a/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, QuickCheck, scientific, testFramework
-, testFrameworkQuickcheck2, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "attoparsec";
-  version = "0.12.1.1";
-  sha256 = "0whj2wscw9pdf6avnhnqiapsllh6228j4hifyfvr4v0w663plh7p";
-  buildDepends = [ deepseq scientific text ];
-  testDepends = [
-    deepseq QuickCheck scientific testFramework
-    testFrameworkQuickcheck2 text
-  ];
-  meta = {
-    homepage = "https://github.com/bos/attoparsec";
-    description = "Fast combinator parsing for bytestrings and text";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.12.1.2.nix b/pkgs/development/libraries/haskell/attoparsec/0.12.1.2.nix
new file mode 100644
index 00000000000..a6083866248
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec/0.12.1.2.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, QuickCheck, scientific, testFramework
+, testFrameworkQuickcheck2, text, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec";
+  version = "0.12.1.2";
+  sha256 = "1vazyr3fdahdg1q503sbj0zv4xj7sm7j32mjm856bm51j2s0rhlc";
+  buildDepends = [ deepseq scientific text ];
+  testDepends = [
+    deepseq QuickCheck scientific testFramework
+    testFrameworkQuickcheck2 text vector
+  ];
+  meta = {
+    homepage = "https://github.com/bos/attoparsec";
+    description = "Fast combinator parsing for bytestrings and text";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
index ae996df0d5b..a6f46415683 100644
--- a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
@@ -13,6 +13,7 @@ cabal.mkDerivation (self: {
     base64Bytestring blazeBuilder blazeBuilderConduit cryptoPubkeyTypes
     dataDefault httpClient httpTypes random RSA SHA time transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/yesodweb/authenticate";
     description = "Library to authenticate with OAuth for Haskell web applications";
diff --git a/pkgs/development/libraries/haskell/auto-update/default.nix b/pkgs/development/libraries/haskell/auto-update/default.nix
index e047e938dae..3ca15089244 100644
--- a/pkgs/development/libraries/haskell/auto-update/default.nix
+++ b/pkgs/development/libraries/haskell/auto-update/default.nix
@@ -1,12 +1,11 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hspec }:
+{ cabal }:
 
 cabal.mkDerivation (self: {
   pname = "auto-update";
-  version = "0.1.1.2";
-  sha256 = "0901zqky70wyxl17vwz6smhnpsfjnsk0f2xqiyz902vl7apx66c6";
-  testDepends = [ hspec ];
+  version = "0.1.2";
+  sha256 = "0ccix41jjpqkzvnfr5md1cbhsa9fkv6dy7yw73j8dnvqbqnz1z0l";
   meta = {
     homepage = "https://github.com/yesodweb/wai";
     description = "Efficiently run periodic, on-demand actions";
diff --git a/pkgs/development/libraries/haskell/aws-ec2/default.nix b/pkgs/development/libraries/haskell/aws-ec2/default.nix
new file mode 100644
index 00000000000..8fec25eb9cb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aws-ec2/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aws, base16Bytestring, base64Bytestring
+, blazeBuilder, byteable, conduitExtra, cryptohash, httpConduit
+, httpTypes, mtl, optparseApplicative, resourcet, scientific, text
+, time, unorderedContainers, vector, xmlConduit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aws-ec2";
+  version = "0.2.2";
+  sha256 = "1jlm6a4mb3mzzvql8llnvci4qd8imf58m681iqhcw1qq6hy56srl";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson aws base16Bytestring base64Bytestring blazeBuilder byteable
+    conduitExtra cryptohash httpConduit httpTypes mtl
+    optparseApplicative resourcet scientific text time
+    unorderedContainers vector xmlConduit
+  ];
+  meta = {
+    homepage = "https://github.com/zalora/aws-ec2";
+    description = "AWS EC2/VPC, ELB and CloudWatch client library for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix
index 3df47d95618..1069c9da1e9 100644
--- a/pkgs/development/libraries/haskell/aws/default.nix
+++ b/pkgs/development/libraries/haskell/aws/default.nix
@@ -3,16 +3,17 @@
 { cabal, aeson, attoparsec, base16Bytestring, base64Bytestring
 , blazeBuilder, byteable, caseInsensitive, cereal, conduit
 , conduitExtra, cryptohash, dataDefault, errors, filepath
-, httpConduit, httpTypes, liftedBase, monadControl, mtl, network
-, QuickCheck, quickcheckInstances, resourcet, safe, scientific
-, tagged, tasty, tastyQuickcheck, text, time, transformers
-, unorderedContainers, utf8String, vector, xmlConduit
+, httpClient, httpConduit, httpTypes, liftedBase, monadControl, mtl
+, network, QuickCheck, quickcheckInstances, resourcet, safe
+, scientific, tagged, tasty, tastyQuickcheck, text, time
+, transformers, transformersBase, unorderedContainers, utf8String
+, vector, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "aws";
-  version = "0.10.3";
-  sha256 = "042vx5nhafvgw0crymkw8pyhiawhpxwj03n1k538y2wr181hmz5f";
+  version = "0.11";
+  sha256 = "19q7r74c5xw04vpwl2fwm675bvkp3vhlak63iqfl1927z2jsyva9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -23,9 +24,11 @@ cabal.mkDerivation (self: {
     unorderedContainers utf8String vector xmlConduit
   ];
   testDepends = [
-    aeson errors mtl QuickCheck quickcheckInstances tagged tasty
-    tastyQuickcheck text transformers
+    aeson errors httpClient liftedBase monadControl mtl QuickCheck
+    quickcheckInstances resourcet tagged tasty tastyQuickcheck text
+    time transformers transformersBase
   ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://github.com/aristidb/aws";
diff --git a/pkgs/development/libraries/haskell/base-prelude/default.nix b/pkgs/development/libraries/haskell/base-prelude/default.nix
index 824576293f4..a44cdbfa6c1 100644
--- a/pkgs/development/libraries/haskell/base-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/base-prelude/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base-prelude";
-  version = "0.1.3";
-  sha256 = "07s5j538zxd0hlazqqbz4nwa82rcrmv25v7jr6nxafmgn83mkqhx";
+  version = "0.1.11";
+  sha256 = "0g6p1d3r6jbqcd8flxfbasb40ga7k90bc0q07drwhlaiadjnx1an";
   meta = {
     homepage = "https://github.com/nikita-volkov/base-prelude";
     description = "The most complete prelude formed from only the \"base\" package";
diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix
index ab462229aa5..5cbd6c9fe14 100644
--- a/pkgs/development/libraries/haskell/basic-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "basic-prelude";
-  version = "0.3.8";
-  sha256 = "0lywnsds0q1nr466s3pc2izfr58kp23z7ing9k7dlgbmh9cqxypg";
+  version = "0.3.10";
+  sha256 = "10013ni7kpqlc6s3ryfvmklw3ic5h48rm4wsrb31pcp5xja0qk59";
   buildDepends = [
     hashable liftedBase ReadArgs safe systemFilepath text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/bencode/default.nix b/pkgs/development/libraries/haskell/bencode/default.nix
new file mode 100644
index 00000000000..2d4630dc867
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bencode/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "bencode";
+  version = "0.5";
+  sha256 = "018cj7h5llvnqyr1jd9nif2ig9hz8d8vmi9iax07all567yhy378";
+  buildDepends = [ binary parsec ];
+  meta = {
+    description = "Parser and printer for bencoded data";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bert/default.nix b/pkgs/development/libraries/haskell/bert/default.nix
index a9521076bd7..953407735e6 100644
--- a/pkgs/development/libraries/haskell/bert/default.nix
+++ b/pkgs/development/libraries/haskell/bert/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bert";
-  version = "1.2.2.2";
-  sha256 = "0bjrqgm0dpsrk1nivxmw2wvx33v7z7swgy3p5fb51vg7y81776cz";
+  version = "1.2.2.3";
+  sha256 = "1waq40hd9wqavzhnvfk1i6wjqkmfb4pl17h4acfzzyz8bj76alkq";
   buildDepends = [
     binary binaryConduit conduit conduitExtra mtl network parsec time
     void
diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix
index 8bbfddd781a..78a34c53b37 100644
--- a/pkgs/development/libraries/haskell/bifunctors/default.nix
+++ b/pkgs/development/libraries/haskell/bifunctors/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bifunctors";
-  version = "4.1.1.1";
-  sha256 = "0b31q6ypndaj6fa9cnkld5k0x3lncp9i28vfkkh6vv4jnnjd6pqi";
+  version = "4.2";
+  sha256 = "0gxj22qv0avg2rhmfbbjrx35yr83r311vm8asc4q71lzkbyg8qf6";
   buildDepends = [ semigroupoids semigroups tagged ];
   meta = {
     homepage = "http://github.com/ekmett/bifunctors/";
diff --git a/pkgs/development/libraries/haskell/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix
index 37774c1a16a..c7547a7b12b 100644
--- a/pkgs/development/libraries/haskell/binary-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix
@@ -6,14 +6,15 @@
 
 cabal.mkDerivation (self: {
   pname = "binary-conduit";
-  version = "1.2.2";
-  sha256 = "12dgqydc4zj1ffrcfqpd1dg40dc9hpynj1j69611kzpcqbj275pf";
+  version = "1.2.3";
+  sha256 = "0ymhxyf754j1pki7ap2vay8f9j49rzsjzp5yr253sn5wpw3qg8fr";
   buildDepends = [ binary conduit resourcet vector ];
   testDepends = [
     binary conduit hspec QuickCheck quickcheckAssertions resourcet
   ];
+  jailbreak = true;
   meta = {
-    homepage = "http://github.com/qnikst/binary-conduit";
+    homepage = "http://github.com/qnikst/binary-conduit/";
     description = "data serialization/deserialization conduit library";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/binary-strict/default.nix b/pkgs/development/libraries/haskell/binary-strict/default.nix
new file mode 100644
index 00000000000..e62fd782ad9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/binary-strict/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "binary-strict";
+  version = "0.4.8.1";
+  sha256 = "07mmh4x8qjpw7w35nxcq8wayy4bagjblbwkpvh3xd38rxpdnl6pi";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "http://code.haskell.org/binary-low-level";
+    description = "Binary deserialisation using strict ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/binary/0.6.1.0.nix b/pkgs/development/libraries/haskell/binary/0.6.1.0.nix
deleted file mode 100644
index 06aca17cde3..00000000000
--- a/pkgs/development/libraries/haskell/binary/0.6.1.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "binary";
-  version = "0.6.1.0";
-  sha256 = "0d423k37973f5v9mz9401zmsfdgspnf9h6s9xgr3zh19giz7c3js";
-  meta = {
-    homepage = "https://github.com/kolmodin/binary";
-    description = "Binary serialisation for Haskell values using lazy ByteStrings";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/binary/0.7.2.1.nix b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
deleted file mode 100644
index b8803868cd1..00000000000
--- a/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, filepath, HUnit, QuickCheck, random, testFramework
-, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "binary";
-  version = "0.7.2.1";
-  sha256 = "0s0idmcmribgajxxnxdvppnz62qyxwrj9iy34pi7nvm41gj6q5nz";
-  testDepends = [
-    Cabal filepath HUnit QuickCheck random testFramework
-    testFrameworkQuickcheck2
-  ];
-  meta = {
-    homepage = "https://github.com/kolmodin/binary";
-    description = "Binary serialisation for Haskell values using lazy ByteStrings";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/binary/0.7.2.2.nix b/pkgs/development/libraries/haskell/binary/0.7.2.2.nix
new file mode 100644
index 00000000000..60eaf0e0031
--- /dev/null
+++ b/pkgs/development/libraries/haskell/binary/0.7.2.2.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, HUnit, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "binary";
+  version = "0.7.2.2";
+  sha256 = "10z1b9axgfg9kb44b8sfxd5mak5qaqyjfwn4i21y37zgf7wadblr";
+  testDepends = [
+    Cabal filepath HUnit QuickCheck random testFramework
+    testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "https://github.com/kolmodin/binary";
+    description = "Binary serialisation for Haskell values using lazy ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bindings-libusb/default.nix b/pkgs/development/libraries/haskell/bindings-libusb/default.nix
index 1c2538dba17..e6f42924588 100644
--- a/pkgs/development/libraries/haskell/bindings-libusb/default.nix
+++ b/pkgs/development/libraries/haskell/bindings-libusb/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bindings-libusb";
-  version = "1.4.4.1";
-  sha256 = "1cip5a0n8svjkzawpx3wi9z7nywmn9bl3k2w559b3awy0wixybrx";
+  version = "1.4.5.0";
+  sha256 = "0xnx9p6wqbwiaqigdnf7x6vd0qq7w9wm0vxsh93adpb5wdpjza66";
   buildDepends = [ bindingsDSL ];
   pkgconfigDepends = [ libusb ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/bindings-portaudio/default.nix b/pkgs/development/libraries/haskell/bindings-portaudio/default.nix
new file mode 100644
index 00000000000..6ae304d6c75
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bindings-portaudio/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsDSL, portaudio }:
+
+cabal.mkDerivation (self: {
+  pname = "bindings-portaudio";
+  version = "0.1";
+  sha256 = "0wcxq300ijfkf4zc7p4xwsd9wzhnlss0kxjf04fka01mf9bh3ai2";
+  buildDepends = [ bindingsDSL ];
+  pkgconfigDepends = [ portaudio ];
+  meta = {
+    description = "Low-level bindings to portaudio library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bitset/default.nix b/pkgs/development/libraries/haskell/bitset/default.nix
new file mode 100644
index 00000000000..dfb71a978cb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bitset/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, gmp, QuickCheck, tasty, tastyQuickcheck }:
+
+cabal.mkDerivation (self: {
+  pname = "bitset";
+  version = "1.4.8";
+  sha256 = "0h912i3wb6v8sx0c4mlp0j65l3yhpdsk3my8zhif2jls2sxns988";
+  buildDepends = [ deepseq ];
+  testDepends = [ QuickCheck tasty tastyQuickcheck ];
+  extraLibraries = [ gmp ];
+  doCheck = false;
+  meta = {
+    description = "A space-efficient set data structure";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/blank-canvas/default.nix b/pkgs/development/libraries/haskell/blank-canvas/default.nix
new file mode 100644
index 00000000000..47c343f49b8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/blank-canvas/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, base64Bytestring, colour, dataDefaultClass
+, httpTypes, kansasComet, scotty, stm, text, transformers, vector
+, wai, waiExtra, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "blank-canvas";
+  version = "0.5";
+  sha256 = "05kfyjp9vncyzsvq018ilb8vh7fyzbc06nlx35jk3dzj6i6x5bgs";
+  buildDepends = [
+    aeson base64Bytestring colour dataDefaultClass httpTypes
+    kansasComet scotty stm text transformers vector wai waiExtra warp
+  ];
+  meta = {
+    homepage = "https://github.com/ku-fpg/blank-canvas/wiki";
+    description = "HTML5 Canvas Graphics Library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index c031633c233..4dd5376cad3 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder";
-  version = "0.3.3.2";
-  sha256 = "038ig1a1iz0hc36l53f5g7h6aiz7b1lggq1d04y3ql9a0553vd40";
+  version = "0.3.3.4";
+  sha256 = "12xgmi8bc3h3cfk31rrfaklmwvyxgdwzwmxzw22yxd0dd8g11hg5";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/meiersi/blaze-builder";
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index e29b4c02521..16c967d78a2 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-html";
-  version = "0.7.0.2";
-  sha256 = "0yqgm5nrryx0qlz9qhpbfxvkwjdbl9876v4gnn0src81j9dzcx2v";
+  version = "0.7.0.3";
+  sha256 = "1jn3vvrxb3ifxb5yzs76pjlk8c366xg1sab7qlw9a4kwmigvl6vx";
   buildDepends = [ blazeBuilder blazeMarkup text ];
   testDepends = [
     blazeBuilder blazeMarkup HUnit QuickCheck testFramework
diff --git a/pkgs/development/libraries/haskell/blaze-markup/default.nix b/pkgs/development/libraries/haskell/blaze-markup/default.nix
index d4b52d54436..cdea333abcd 100644
--- a/pkgs/development/libraries/haskell/blaze-markup/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-markup/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-markup";
-  version = "0.6.1.0";
-  sha256 = "0ydk34y1j8bssdiqw6m70383dh4khbcac3jd7fpr37cx7ighlp7l";
+  version = "0.6.1.1";
+  sha256 = "1ah6fgfqsmarq8g4gw81yhckz4pclb2ifxv237cqz5zhy9il4j5d";
   buildDepends = [ blazeBuilder text ];
   testDepends = [
     blazeBuilder HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/boomerang/default.nix b/pkgs/development/libraries/haskell/boomerang/default.nix
index b5d5bc74f80..82d45baf88a 100644
--- a/pkgs/development/libraries/haskell/boomerang/default.nix
+++ b/pkgs/development/libraries/haskell/boomerang/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "boomerang";
-  version = "1.4.3";
-  sha256 = "1i72mrl8n2cbrdi05zn37y1339r13vzvmrcc1zbkcak4c7r004zw";
+  version = "1.4.5";
+  sha256 = "03iaasyg2idvq25wzzjk2yr9lyql7bcgmfkycy1cy4ms5dg91k6q";
   buildDepends = [ mtl text ];
   meta = {
     description = "Library for invertible parsing and printing";
diff --git a/pkgs/development/libraries/haskell/bound/default.nix b/pkgs/development/libraries/haskell/bound/default.nix
index 31e7b053add..dd1f288a1b9 100644
--- a/pkgs/development/libraries/haskell/bound/default.nix
+++ b/pkgs/development/libraries/haskell/bound/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bound";
-  version = "1.0.3";
-  sha256 = "0nfcxq87i9lzdkrg7g65cprn4rg9rhn9nyk2jpjh4c1rc7gdn0aq";
+  version = "1.0.4";
+  sha256 = "17qnrjmqhx07cpzwd1z4lp2d42jx1lfxl6b86d65g4fd79miipky";
   buildDepends = [
     bifunctors binary bytes cereal comonad hashable hashableExtras
     preludeExtras profunctors transformers
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
deleted file mode 100644
index 205b05f30d8..00000000000
--- a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, lens, linear, QuickCheck, random, testFramework
-, testFrameworkQuickcheck2, testFrameworkTh
-}:
-
-cabal.mkDerivation (self: {
-  pname = "boundingboxes";
-  version = "0.1.1";
-  sha256 = "1nl0lqgfwd98jzhhw7i4vvd88lpnn8770x2pcbyfzqcyr27079f0";
-  buildDepends = [ lens linear ];
-  testDepends = [
-    lens linear QuickCheck random testFramework
-    testFrameworkQuickcheck2 testFrameworkTh
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/fumieval/boundingboxes";
-    description = "The type for 2D bounding box";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.2.nix b/pkgs/development/libraries/haskell/boundingboxes/0.2.nix
deleted file mode 100644
index 686f4ffbbab..00000000000
--- a/pkgs/development/libraries/haskell/boundingboxes/0.2.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, lens, linear, QuickCheck, random, testFramework
-, testFrameworkQuickcheck2, testFrameworkTh
-}:
-
-cabal.mkDerivation (self: {
-  pname = "boundingboxes";
-  version = "0.2";
-  sha256 = "0xvh1h4papfrf6dg553rx6q8fqi06ff1ivgn4rdx3haqg1zf40hp";
-  buildDepends = [ lens ];
-  testDepends = [
-    lens linear QuickCheck random testFramework
-    testFrameworkQuickcheck2 testFrameworkTh
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/fumieval/boundingboxes";
-    description = "The type for 2D bounding box";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/default.nix b/pkgs/development/libraries/haskell/boundingboxes/default.nix
new file mode 100644
index 00000000000..ab5cfabad44
--- /dev/null
+++ b/pkgs/development/libraries/haskell/boundingboxes/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lens, linear, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2, testFrameworkTh
+}:
+
+cabal.mkDerivation (self: {
+  pname = "boundingboxes";
+  version = "0.2.2";
+  sha256 = "09yj85ikpdgzbibpdk0mw9vcaklmqlbhwpm6knz595596wr25fcx";
+  buildDepends = [ lens ];
+  testDepends = [
+    lens linear QuickCheck random testFramework
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/fumieval/boundingboxes";
+    description = "A generic boundingbox for an arbitrary vector";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bv/default.nix b/pkgs/development/libraries/haskell/bv/default.nix
index 4a2be6244e7..1e12288624f 100644
--- a/pkgs/development/libraries/haskell/bv/default.nix
+++ b/pkgs/development/libraries/haskell/bv/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bv";
-  version = "0.2.2";
-  sha256 = "0d5hscjakp7dwifa4l8xikyip45y402kf9pbmpfmmnybja23zhg0";
+  version = "0.3.0";
+  sha256 = "0r2bp39ilwq3zx38spbx5qrpccwm255ax2skab3i7jxjmf7yj025";
   isLibrary = true;
   isExecutable = true;
   meta = {
@@ -13,7 +13,6 @@ cabal.mkDerivation (self: {
     description = "Bit-vector arithmetic library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytes/default.nix b/pkgs/development/libraries/haskell/bytes/default.nix
index 4a8877b6a59..1ad3446bd0c 100644
--- a/pkgs/development/libraries/haskell/bytes/default.nix
+++ b/pkgs/development/libraries/haskell/bytes/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bytes";
-  version = "0.14.1";
-  sha256 = "023sdwdirvigrdg03f6jrdndm6pkqsmsrwz9ji57dpqg4f5k9jzk";
+  version = "0.14.1.2";
+  sha256 = "1v1nnp1m5i4bfr0fshbps163v6yn6var53p0vcvav6g4w5wffd7d";
   buildDepends = [
     binary cereal mtl text time transformers transformersCompat void
   ];
diff --git a/pkgs/development/libraries/haskell/bytestring-trie/default.nix b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
index c8a4143e217..da84b55cc0f 100644
--- a/pkgs/development/libraries/haskell/bytestring-trie/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bytestring-trie";
-  version = "0.2.3";
-  sha256 = "1zb4s7fd951swc648szrpx0ldailmdinapgbcg1zajb5c5jq57ga";
+  version = "0.2.4";
+  sha256 = "1fv3xh52hqhzdbq78c3lrgx5vd49cabwp9ww5ki1888zlq29pyck";
   buildDepends = [ binary ];
   meta = {
     homepage = "http://code.haskell.org/~wren/";
diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix
deleted file mode 100644
index 95ead17f01f..00000000000
--- a/pkgs/development/libraries/haskell/c2hs/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, filepath, HUnit, languageC, shelly, testFramework
-, testFrameworkHunit, text, yaml
-}:
-
-cabal.mkDerivation (self: {
-  pname = "c2hs";
-  version = "0.17.2";
-  sha256 = "1xrk0izdy5akjgmg9k4l9ccmmgv1avwh152pfpc1xm2rrwrg4bxk";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ filepath languageC ];
-  testDepends = [
-    filepath HUnit shelly testFramework testFrameworkHunit text yaml
-  ];
-  jailbreak = true;
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell/c2hs";
-    description = "C->Haskell FFI tool that gives some cross-language type safety";
-    license = self.stdenv.lib.licenses.gpl2;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
index a74e54f7e43..ba535cd13b2 100644
--- a/pkgs/development/libraries/haskell/cabal-cargs/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-cargs";
-  version = "0.7.1";
-  sha256 = "0y6v663mw4giwypdv34qr2l2fy1q7zdjvgw39m16sjna5lbwvm1n";
+  version = "0.7.5";
+  sha256 = "0z17s4w9wlmdqbzh0c1jwqfp4d6599hqv0r4dzm9djb0x8vj327k";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
index b5427b3b747..256cba3734c 100644
--- a/pkgs/development/libraries/haskell/cabal-lenses/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
@@ -4,9 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-lenses";
-  version = "0.3.1";
-  sha256 = "17piwqyzd33shp12qa6j4s579rrs34l44x19p2nzz69anhc4g1j7";
+  version = "0.4.2";
+  sha256 = "0vsicvk979qznm3b174r6d5wkkyhpqx8gxjs5jw9na2jhimzjcjf";
   buildDepends = [ Cabal lens unorderedContainers ];
+  jailbreak = true;
   meta = {
     description = "Lenses and traversals for the Cabal library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/cabalg/default.nix b/pkgs/development/libraries/haskell/cabalg/default.nix
new file mode 100644
index 00000000000..62dea42b3d5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cabalg/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, filepath }:
+
+cabal.mkDerivation (self: {
+  pname = "cabalg";
+  version = "0.2.9";
+  sha256 = "02brl9b1g3cyw5nmk0mih073kbszpc6g2nqgs0sh93h7y5naf5kp";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    description = "alias for cabal install from given git repo";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ dmalikov ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index b77e3166354..8f64f23585c 100644
--- a/pkgs/development/libraries/haskell/cairo/default.nix
+++ b/pkgs/development/libraries/haskell/cairo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cairo";
-  version = "0.13.0.0";
-  sha256 = "1sw1f50kmqln1mkvrr6g85b46dn0ipwnvyl13kxzhq5g581rra92";
+  version = "0.13.0.5";
+  sha256 = "0ak6hzfrcyxajx7qybsmd5g26blqb6zxvv8r2a8bnylvm5sdj70r";
   buildDepends = [ mtl text utf8String ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ cairo libc pkgconfig zlib ];
diff --git a/pkgs/development/libraries/haskell/call/default.nix b/pkgs/development/libraries/haskell/call/default.nix
new file mode 100644
index 00000000000..c11a07ae94c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/call/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsPortaudio, boundingboxes, cleanUnions, colors
+, controlBool, deepseq, distributive, elevator, filepath, freetype2
+, GLFWB, hashable, JuicyPixels, JuicyPixelsUtil, lens, linear
+, minioperational, mtl, objective, OpenGL, OpenGLRaw, random
+, reflection, text, transformers, vector, WAVE
+}:
+
+cabal.mkDerivation (self: {
+  pname = "call";
+  version = "0.1.1.2";
+  sha256 = "1g96asydq0lc07xf2c709zdv99r6ljs5a7jm6fvlyjswqnbrwy9s";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    bindingsPortaudio boundingboxes cleanUnions colors controlBool
+    deepseq distributive elevator filepath freetype2 GLFWB hashable
+    JuicyPixels JuicyPixelsUtil lens linear minioperational mtl
+    objective OpenGL OpenGLRaw random reflection text transformers
+    vector WAVE
+  ];
+  meta = {
+    homepage = "https://github.com/fumieval/call";
+    description = "The call game engine";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
deleted file mode 100644
index 3f75b41bb63..00000000000
--- a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, hashable, HUnit, testFramework
-, testFrameworkHunit, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "case-insensitive";
-  version = "1.1.0.3";
-  sha256 = "0fr69lfb976gflr8w6d68zn4pz86jfxbb2i49fw3mmam67k5y9bv";
-  buildDepends = [ deepseq hashable text ];
-  testDepends = [ HUnit testFramework testFrameworkHunit text ];
-  meta = {
-    homepage = "https://github.com/basvandijk/case-insensitive";
-    description = "Case insensitive string comparison";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix
deleted file mode 100644
index c8c544610e3..00000000000
--- a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, hashable, HUnit, testFramework
-, testFrameworkHunit, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "case-insensitive";
-  version = "1.2.0.0";
-  sha256 = "0ybdmqaqh9hdl3dl5kx8qhs4b67g78fhnkqnd3y2lpgqjvhnbzp4";
-  buildDepends = [ deepseq hashable text ];
-  testDepends = [ HUnit testFramework testFrameworkHunit text ];
-  meta = {
-    homepage = "https://github.com/basvandijk/case-insensitive";
-    description = "Case insensitive string comparison";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.1.nix b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.1.nix
new file mode 100644
index 00000000000..96b5bc114a3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.1.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, hashable, HUnit, testFramework
+, testFrameworkHunit, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "case-insensitive";
+  version = "1.2.0.1";
+  sha256 = "1hnckzi6yq3332fx4b140lwa9p6x69rlpaw6y1pmldj2h9nsxl6m";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [ HUnit testFramework testFrameworkHunit text ];
+  meta = {
+    homepage = "https://github.com/basvandijk/case-insensitive";
+    description = "Case insensitive string comparison";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix
index c8cb347f10a..0ae9782a33b 100644
--- a/pkgs/development/libraries/haskell/cassava/default.nix
+++ b/pkgs/development/libraries/haskell/cassava/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cassava";
-  version = "0.4.1.0";
-  sha256 = "0whky3mavmprr8cgnzlg2ich99w09bdlks8rg6z9m1x86q66ivw2";
+  version = "0.4.2.0";
+  sha256 = "1v1izdjd4maqrlpm4cf2xpackpjp1i4vg1s7mzq90dwa6r9572x3";
   buildDepends = [
     attoparsec blazeBuilder deepseq text unorderedContainers vector
   ];
diff --git a/pkgs/development/libraries/haskell/cereal-conduit/default.nix b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
index e15d10bd45b..baad2943358 100644
--- a/pkgs/development/libraries/haskell/cereal-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/cereal-conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal-conduit";
-  version = "0.7.2.2";
-  sha256 = "1syqilka5rv2j3yp419f2wdrcfw8js6i2p7qif4yxvlkm2hkvzzk";
+  version = "0.7.2.3";
+  sha256 = "0s1s8jm25wxj44x44vjz4kz5qblkyjaz7f8rw5i81bzam32afj9s";
   buildDepends = [ cereal conduit resourcet transformers ];
   testDepends = [ cereal conduit HUnit mtl resourcet transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index af77f37abdb..906222c3bbb 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal";
-  version = "0.4.0.1";
-  sha256 = "12g23cbjxxgh3xzv6hvs093zpycl29h8fmc7kv6jx43ws4cxy2jv";
+  version = "0.4.1.0";
+  sha256 = "0m0iwjf9bds4nwk1rgr19rvjri4kncn37k51l1n9y869r104b8lb";
   meta = {
     description = "A binary serialization library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
deleted file mode 100644
index 068d1b7dadf..00000000000
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, network, parsec, xhtml }:
-
-cabal.mkDerivation (self: {
-  pname = "cgi";
-  version = "3001.1.7.1";
-  sha256 = "7d1d710871fffbbec2a33d7288b2959ddbcfd794d47f0122127576c02550b339";
-  buildDepends = [ mtl network parsec xhtml ];
-  meta = {
-    description = "A library for writing CGI programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
deleted file mode 100644
index c10fa2416f7..00000000000
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, network, parsec, xhtml }:
-
-cabal.mkDerivation (self: {
-  pname = "cgi";
-  version = "3001.1.7.2";
-  sha256 = "ad35971388fa1809a5cd71bb2f051d69d753e4153b43d843b431674cf79a1c39";
-  buildDepends = [ mtl network parsec xhtml ];
-  meta = {
-    description = "A library for writing CGI programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
deleted file mode 100644
index 7cb7e77dd77..00000000000
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, extensibleExceptions, mtl, network, parsec, xhtml }:
-
-cabal.mkDerivation (self: {
-  pname = "cgi";
-  version = "3001.1.7.3";
-  sha256 = "f1f4bc6b06e8a191db4ddb43617fee3ef37635e380d6a17c29efb5641ce91df0";
-  buildDepends = [ extensibleExceptions mtl network parsec xhtml ];
-  meta = {
-    homepage = "http://andersk.mit.edu/haskell/cgi/";
-    description = "A library for writing CGI programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
deleted file mode 100644
index 6071ecc7597..00000000000
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, extensibleExceptions, mtl, network, parsec, xhtml }:
-
-cabal.mkDerivation (self: {
-  pname = "cgi";
-  version = "3001.1.7.4";
-  sha256 = "1fiild4djzhyz683kwwb0k4wvhd89ihbn6vncjl270xvwj5xmrbd";
-  buildDepends = [ extensibleExceptions mtl network parsec xhtml ];
-  meta = {
-    homepage = "http://andersk.mit.edu/haskell/cgi/";
-    description = "A library for writing CGI programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix b/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix
deleted file mode 100644
index 31d523717c5..00000000000
--- a/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, MonadCatchIOMtl, mtl, network, parsec, xhtml }:
-
-cabal.mkDerivation (self: {
-  pname = "cgi";
-  version = "3001.1.8.5";
-  sha256 = "0ffvn9ki5yq2zc65afmy04353v4s66lajc7y563fhj2kz5ib5ks6";
-  buildDepends = [ MonadCatchIOMtl mtl network parsec xhtml ];
-  meta = {
-    homepage = "http://andersk.mit.edu/haskell/cgi/";
-    description = "A library for writing CGI programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix
new file mode 100644
index 00000000000..2bacef96e08
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cgi/3001.2.0.0.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, exceptions, mtl, network, networkUri, parsec, xhtml }:
+
+cabal.mkDerivation (self: {
+  pname = "cgi";
+  version = "3001.2.0.0";
+  sha256 = "03az978d5ayv5v4g89h4wajjhcribyf37b8ws8kvsqir3i7h7k8d";
+  buildDepends = [ exceptions mtl network networkUri parsec xhtml ];
+  meta = {
+    homepage = "https://github.com/cheecheeo/haskell-cgi";
+    description = "A library for writing CGI programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cgrep/default.nix b/pkgs/development/libraries/haskell/cgrep/default.nix
index e19cac2b2ec..91f7920fcea 100644
--- a/pkgs/development/libraries/haskell/cgrep/default.nix
+++ b/pkgs/development/libraries/haskell/cgrep/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cgrep";
-  version = "6.4.6";
-  sha256 = "13plsh6411k273qllpkcrkakwxcdmw0p6arj0j3gdqa7bbxii99s";
+  version = "6.4.9";
+  sha256 = "1g5np8r5h8hxgyxr3m7595xh7fiq1b8h9w6vm0ly81949lbwclga";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/charsetdetect-ae/default.nix b/pkgs/development/libraries/haskell/charsetdetect-ae/default.nix
new file mode 100644
index 00000000000..39571e4a87c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/charsetdetect-ae/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "charsetdetect-ae";
+  version = "1.0.1";
+  sha256 = "0bvdnv608glim8yn4dvh3av7x0fxxp3z6719j0n005bygdfgjxna";
+  meta = {
+    homepage = "http://github.com/Aelve/charsetdetect-ae";
+    description = "Character set detection using Mozilla's Universal Character Set Detector";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/chaselev-deque/default.nix b/pkgs/development/libraries/haskell/chaselev-deque/default.nix
new file mode 100644
index 00000000000..0b271ce5f68
--- /dev/null
+++ b/pkgs/development/libraries/haskell/chaselev-deque/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, abstractDeque, abstractDequeTests, atomicPrimops
+, bitsAtomic, HUnit, testFramework, testFrameworkHunit
+, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "chaselev-deque";
+  version = "0.5.0.3";
+  sha256 = "1qkrypqsbfnr6kcl6idqmq2z4nf6jmqmgzddzhh031nxd22p18y6";
+  buildDepends = [
+    abstractDeque atomicPrimops bitsAtomic transformers vector
+  ];
+  testDepends = [
+    abstractDeque abstractDequeTests atomicPrimops HUnit testFramework
+    testFrameworkHunit vector
+  ];
+  meta = {
+    homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
+    description = "Chase & Lev work-stealing lock-free double-ended queues (deques)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cheapskate/default.nix b/pkgs/development/libraries/haskell/cheapskate/default.nix
index 9ad35360fe6..7d96433a588 100644
--- a/pkgs/development/libraries/haskell/cheapskate/default.nix
+++ b/pkgs/development/libraries/haskell/cheapskate/default.nix
@@ -1,18 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, blazeHtml, dataDefault, mtl, syb, text, uniplate
-, xssSanitize
+{ cabal, aeson, blazeHtml, dataDefault, httpTypes, mtl, syb, text
+, uniplate, wai, waiExtra, xssSanitize
 }:
 
 cabal.mkDerivation (self: {
   pname = "cheapskate";
-  version = "0.1.0.1";
-  sha256 = "0slrvbaamnwxx89kqjcr62058j00s2dw4c16q1swf817az2p66h8";
+  version = "0.1.0.2";
+  sha256 = "1bz3zi2w5vm128csg21swcz4cm7h8ybqylpknr4fnyxmg3gxdd7d";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    blazeHtml dataDefault mtl syb text uniplate xssSanitize
+    aeson blazeHtml dataDefault httpTypes mtl syb text uniplate wai
+    waiExtra xssSanitize
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/jgm/cheapskate";
     description = "Experimental markdown processor";
diff --git a/pkgs/development/libraries/haskell/checkers/default.nix b/pkgs/development/libraries/haskell/checkers/default.nix
index fb7e86fc75f..65f9d20a19a 100644
--- a/pkgs/development/libraries/haskell/checkers/default.nix
+++ b/pkgs/development/libraries/haskell/checkers/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "checkers";
-  version = "0.3.2";
-  sha256 = "0v8i6754syvjh2p5qdqh95j3swkar9077gidsnahwk9h6qfsx6r3";
+  version = "0.4.1";
+  sha256 = "19ndgbivd07vchsqs6z9iqjl2jldbq7h4skqc9acracd9xyq1vdr";
   buildDepends = [ QuickCheck random ];
   meta = {
     description = "Check properties on standard classes and data structures";
diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix
index 7edfe750d37..32c4b878cff 100644
--- a/pkgs/development/libraries/haskell/cipher-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes";
-  version = "0.2.8";
-  sha256 = "13hg8gxhs7hmni72kp14hmhvfv1kj7fnl83i72bz3aq15vx3z61z";
+  version = "0.2.9";
+  sha256 = "1nkrh8mrrh14zfhjz0lfidw0hw9c70hap9w24rvb14zgfnnasnlq";
   buildDepends = [ byteable cryptoCipherTypes securemem ];
   testDepends = [
     byteable cryptoCipherTests cryptoCipherTypes QuickCheck
diff --git a/pkgs/development/libraries/haskell/citeproc-hs/default.nix b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
index bb95e920ef9..5f7cce6b060 100644
--- a/pkgs/development/libraries/haskell/citeproc-hs/default.nix
+++ b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     description = "A Citation Style Language implementation in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/clash-lib/default.nix b/pkgs/development/libraries/haskell/clash-lib/default.nix
new file mode 100644
index 00000000000..40860d38911
--- /dev/null
+++ b/pkgs/development/libraries/haskell/clash-lib/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, concurrentSupply, contravariant
+, deepseq, errors, fgl, filepath, hashable, lens, ListLike, mtl
+, text, time, transformers, unbound, unorderedContainers
+, uuParsinglib, wlPprintText
+}:
+
+cabal.mkDerivation (self: {
+  pname = "clash-lib";
+  version = "0.4";
+  sha256 = "1c3bxjm356cs7wf49zlazbv44bw06rs81akmsfzkfccrl7gjy7yc";
+  buildDepends = [
+    aeson attoparsec concurrentSupply contravariant deepseq errors fgl
+    filepath hashable lens ListLike mtl text time transformers unbound
+    unorderedContainers uuParsinglib wlPprintText
+  ];
+  meta = {
+    homepage = "http://christiaanb.github.io/clash2";
+    description = "CAES Language for Synchronous Hardware - As a Library";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/clash-prelude/default.nix b/pkgs/development/libraries/haskell/clash-prelude/default.nix
new file mode 100644
index 00000000000..b463b957e87
--- /dev/null
+++ b/pkgs/development/libraries/haskell/clash-prelude/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, thLift }:
+
+cabal.mkDerivation (self: {
+  pname = "clash-prelude";
+  version = "0.6.0.1";
+  sha256 = "0d929g7js15aagd1pa2lfbhd1yiykd0ngp6fv522yhy1yyijn1l7";
+  buildDepends = [ dataDefault thLift ];
+  meta = {
+    homepage = "http://christiaanb.github.io/clash2/";
+    description = "CAES Language for Synchronous Hardware - Prelude library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
index 28e940f3489..3c2d5c6655f 100644
--- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude-conduit";
-  version = "0.9.3";
-  sha256 = "0wsl3mhczinxl6ij8dpv5001db740z4jq43l2gpzdylv6pmpldzr";
+  version = "0.10.2";
+  sha256 = "0bgic61p05hpnsami199wzs2q4cbdm00nyp03vsxz2ddsz8dwc8l";
   buildDepends = [
     classyPrelude conduit conduitCombinators monadControl resourcet
     systemFileio transformers void
diff --git a/pkgs/development/libraries/haskell/classy-prelude-yesod/default.nix b/pkgs/development/libraries/haskell/classy-prelude-yesod/default.nix
new file mode 100644
index 00000000000..d615a6e63b5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/classy-prelude-yesod/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, classyPrelude, classyPreludeConduit, dataDefault
+, httpConduit, httpTypes, persistent, yesod, yesodNewsfeed
+, yesodStatic
+}:
+
+cabal.mkDerivation (self: {
+  pname = "classy-prelude-yesod";
+  version = "0.10.2";
+  sha256 = "1jzf26rj9m8mdhhag66h5zbh91c7ff3jn1q1ghmah12dj9y06137";
+  buildDepends = [
+    aeson classyPrelude classyPreludeConduit dataDefault httpConduit
+    httpTypes persistent yesod yesodNewsfeed yesodStatic
+  ];
+  meta = {
+    homepage = "https://github.com/snoyberg/classy-prelude";
+    description = "Provide a classy prelude including common Yesod functionality";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
index e45a6f256b9..4cd9dc1dba3 100644
--- a/pkgs/development/libraries/haskell/classy-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -1,19 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, basicPrelude, chunkedData, enclosedExceptions, exceptions
-, hashable, hspec, liftedBase, monoTraversable, QuickCheck
-, semigroups, stm, systemFilepath, text, time, transformers
-, unorderedContainers, vector, vectorInstances
+{ cabal, basicPrelude, bifunctors, chunkedData, enclosedExceptions
+, exceptions, hashable, hspec, liftedBase, monoTraversable, mtl
+, primitive, QuickCheck, semigroups, stm, systemFilepath, text
+, time, transformers, unorderedContainers, vector, vectorInstances
 }:
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude";
-  version = "0.9.3";
-  sha256 = "06y6zx3mmqjnha5p7y7blzn77bij71kndw2bmi07wz4s4lj9xsiv";
+  version = "0.10.2";
+  sha256 = "0pq16rgksbv2ml4wg7jdxlb9y80h8la78hnrcci637s6kbdisd7k";
   buildDepends = [
-    basicPrelude chunkedData enclosedExceptions exceptions hashable
-    liftedBase monoTraversable semigroups stm systemFilepath text time
-    transformers unorderedContainers vector vectorInstances
+    basicPrelude bifunctors chunkedData enclosedExceptions exceptions
+    hashable liftedBase monoTraversable mtl primitive semigroups stm
+    systemFilepath text time transformers unorderedContainers vector
+    vectorInstances
   ];
   testDepends = [
     hspec QuickCheck transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/clay/default.nix b/pkgs/development/libraries/haskell/clay/default.nix
index 8eafd67cadb..4e1b617c0b6 100644
--- a/pkgs/development/libraries/haskell/clay/default.nix
+++ b/pkgs/development/libraries/haskell/clay/default.nix
@@ -4,10 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "clay";
-  version = "0.9.0.1";
-  sha256 = "1w2617kpj6rblmycqb97gyshwbvzp5w2h4xh494mvdzi3bkahqpn";
+  version = "0.10";
+  sha256 = "0xw7j9v2cfs4874l5n852b38m6v2mpkbr93dxxfkp2kwmqkjbl5v";
   buildDepends = [ mtl text ];
   testDepends = [ HUnit mtl testFramework testFrameworkHunit text ];
+  jailbreak = true;
   meta = {
     homepage = "http://fvisser.nl/clay";
     description = "CSS preprocessor as embedded Haskell";
diff --git a/pkgs/development/libraries/haskell/clean-unions/default.nix b/pkgs/development/libraries/haskell/clean-unions/default.nix
new file mode 100644
index 00000000000..9ec71da8eec
--- /dev/null
+++ b/pkgs/development/libraries/haskell/clean-unions/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "clean-unions";
+  version = "0.1.1";
+  sha256 = "1y4cj15s6gjcazwk0iycyc2qs7chrqcvchf4g5h4xnf2x8ld4i21";
+  meta = {
+    homepage = "https://github.com/fumieval/clean-unions";
+    description = "Open unions without need for Typeable";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index cee91c51be0..6fcecac9eb5 100644
--- a/pkgs/development/libraries/haskell/clientsession/default.nix
+++ b/pkgs/development/libraries/haskell/clientsession/default.nix
@@ -1,17 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, base64Bytestring, cereal, cipherAes, cprngAes, cryptoApi
-, cryptoRandom, entropy, hspec, HUnit, QuickCheck, skein, tagged
-, transformers
+, cryptoRandom, entropy, hspec, HUnit, QuickCheck, setenv, skein
+, tagged, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "clientsession";
-  version = "0.9.0.5";
-  sha256 = "0l11wpxr3cgd8q708ay7957mdzq7nhm7c6z3p9iwl0lp3pkcl810";
+  version = "0.9.1.1";
+  sha256 = "08h0461ydhfymw2pya472n81kx5rqp7awfgxlbz2r851rl5kqmn9";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
     base64Bytestring cereal cipherAes cprngAes cryptoApi cryptoRandom
-    entropy skein tagged
+    entropy setenv skein tagged
   ];
   testDepends = [ cereal hspec HUnit QuickCheck transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/clock/default.nix b/pkgs/development/libraries/haskell/clock/default.nix
index 3c064d1db2d..e97195cb5fc 100644
--- a/pkgs/development/libraries/haskell/clock/default.nix
+++ b/pkgs/development/libraries/haskell/clock/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "clock";
-  version = "0.4.0.1";
-  sha256 = "1bn6dalank30l680iifyam0mg9izxbyscgq0vmr1aw5brba5kv6j";
+  version = "0.4.1.3";
+  sha256 = "0wqhg8gb10lby01f0v4fl4yp23l4ilizywp5xnsbja03svnb4f0d";
   meta = {
     homepage = "http://corsis.github.com/clock/";
     description = "High-resolution clock functions: monotonic, realtime, cputime";
diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix
index 829f7be4fba..c4253944c6d 100644
--- a/pkgs/development/libraries/haskell/cmdargs/default.nix
+++ b/pkgs/development/libraries/haskell/cmdargs/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cmdargs";
-  version = "0.10.9";
-  sha256 = "12phn22iri2v65gbxzl580mikkj05rwx4sjn5c31f871wp0538my";
+  version = "0.10.12";
+  sha256 = "0axn3ycw4rijh1ka5f73gz9w330s851cpxbv39ia4xnb0l95hrjy";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath transformers ];
diff --git a/pkgs/development/libraries/haskell/cmdtheline/default.nix b/pkgs/development/libraries/haskell/cmdtheline/default.nix
index 8943eacdd21..aa83ae1a0ec 100644
--- a/pkgs/development/libraries/haskell/cmdtheline/default.nix
+++ b/pkgs/development/libraries/haskell/cmdtheline/default.nix
@@ -1,13 +1,15 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, filepath, HUnit, parsec, testFramework, testFrameworkHunit
-, transformers
+, transformers, fetchpatch
 }:
 
 cabal.mkDerivation (self: {
   pname = "cmdtheline";
   version = "0.2.3";
   sha256 = "1jwbr34xgccjbz6nm58bdsg1vqyv87rh45yia5j36vlfbaclyb04";
+  doCheck = false;
+  patches = [ (fetchpatch { url = "https://github.com/eli-frey/cmdtheline/pull/29.patch"; sha256 = "089rfvvjc44wnhph2ricpbz4iifhyvm1qzg8wsd596v81gy0zvrr"; }) ];
   buildDepends = [ filepath parsec transformers ];
   testDepends = [
     filepath HUnit parsec testFramework testFrameworkHunit transformers
@@ -18,6 +20,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/code-builder/default.nix b/pkgs/development/libraries/haskell/code-builder/default.nix
index 77883f5a07a..92cc3f0f9d8 100644
--- a/pkgs/development/libraries/haskell/code-builder/default.nix
+++ b/pkgs/development/libraries/haskell/code-builder/default.nix
@@ -10,5 +10,6 @@ cabal.mkDerivation (self: {
     description = "Simple system for generating code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/colors/default.nix b/pkgs/development/libraries/haskell/colors/default.nix
index 2d4db2cdc4d..167637863ef 100644
--- a/pkgs/development/libraries/haskell/colors/default.nix
+++ b/pkgs/development/libraries/haskell/colors/default.nix
@@ -4,13 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "colors";
-  version = "0.1.1";
-  sha256 = "1i1n05prbp0l3xgx0w2lxzc5r81pcmbzclsamdr7fmjvhvh8blqm";
+  version = "0.2.0.1";
+  sha256 = "0xl7hdp1di8gl0g28vz2lm6pbj7hihdkfnr18843016736hll4qn";
   buildDepends = [ profunctors ];
   meta = {
     homepage = "https://github.com/fumieval/colors";
     description = "A type for colors";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/compdata-param/default.nix b/pkgs/development/libraries/haskell/compdata-param/default.nix
new file mode 100644
index 00000000000..2ab1ecd9131
--- /dev/null
+++ b/pkgs/development/libraries/haskell/compdata-param/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, compdata, HUnit, mtl, testFramework, testFrameworkHunit
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "compdata-param";
+  version = "0.8.0.2";
+  sha256 = "0496i1vnawl7m7ymvf5hl3kxy352rnhxy2gni4xkfz36psnnr7fs";
+  buildDepends = [ compdata mtl transformers ];
+  testDepends = [
+    compdata HUnit mtl testFramework testFrameworkHunit transformers
+  ];
+  meta = {
+    description = "Parametric Compositional Data Types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/concreteTyperep/default.nix b/pkgs/development/libraries/haskell/concreteTyperep/default.nix
index 896496dc4a3..24e2569ad0e 100644
--- a/pkgs/development/libraries/haskell/concreteTyperep/default.nix
+++ b/pkgs/development/libraries/haskell/concreteTyperep/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
   testDepends = [
     binary hashable QuickCheck testFramework testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     description = "Binary and Hashable instances for TypeRep";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/concurrent-extra/default.nix b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
index 43230662fe0..69c1d1edddc 100644
--- a/pkgs/development/libraries/haskell/concurrent-extra/default.nix
+++ b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
@@ -1,24 +1,22 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, async, baseUnicodeSymbols, HUnit, random, stm
-, testFramework, testFrameworkHunit, unboundedDelays
+{ cabal, async, HUnit, random, stm, testFramework
+, testFrameworkHunit, unboundedDelays
 }:
 
 cabal.mkDerivation (self: {
   pname = "concurrent-extra";
-  version = "0.7.0.8";
-  sha256 = "0q6n7wlakvnvfrjr3zmxbn9i0dxq96071j565vffp0r5abxkn83q";
-  buildDepends = [ baseUnicodeSymbols stm unboundedDelays ];
+  version = "0.7.0.9";
+  sha256 = "19bqm0brnbhhmp5nypi995p27mna7kd33xzw0kf7yx2w2p2kb1aw";
+  buildDepends = [ stm unboundedDelays ];
   testDepends = [
-    async baseUnicodeSymbols HUnit random stm testFramework
-    testFrameworkHunit unboundedDelays
+    async HUnit random stm testFramework testFrameworkHunit
+    unboundedDelays
   ];
   meta = {
     homepage = "https://github.com/basvandijk/concurrent-extra";
     description = "Extra concurrency primitives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/concurrent-supply/default.nix b/pkgs/development/libraries/haskell/concurrent-supply/default.nix
new file mode 100644
index 00000000000..7b91f2f018b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/concurrent-supply/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable }:
+
+cabal.mkDerivation (self: {
+  pname = "concurrent-supply";
+  version = "0.1.7";
+  sha256 = "0crg4rm5wibw9h6lmsi43d280xg1xr9xbgqr9s4inxq7x0yyn68c";
+  buildDepends = [ hashable ];
+  meta = {
+    homepage = "http://github.com/ekmett/concurrent-supply/";
+    description = "A fast concurrent unique identifier supply with a pure API";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cond/default.nix b/pkgs/development/libraries/haskell/cond/default.nix
index 64b62db5ba8..4846e5cb61f 100644
--- a/pkgs/development/libraries/haskell/cond/default.nix
+++ b/pkgs/development/libraries/haskell/cond/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cond";
-  version = "0.4.1";
-  sha256 = "16xk8clsxv5qi5f745xvs44y8p8dnmlmjkjzwqz9jl8fbmkmki3b";
+  version = "0.4.1.1";
+  sha256 = "12xcjxli1scd4asr4zc77i5q9qka2100gx97hv3vv12l7gj7d703";
   meta = {
     homepage = "https://github.com/kallisti-dev/cond";
     description = "Basic conditional and boolean operators with monadic variants";
diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
index 17598dda06b..0f237e12cb0 100644
--- a/pkgs/development/libraries/haskell/conduit-combinators/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
@@ -1,15 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, base16Bytestring, base64Bytestring, chunkedData, conduit
-, conduitExtra, hspec, monadControl, monoTraversable, mwcRandom
-, primitive, resourcet, silently, systemFileio, systemFilepath
-, text, transformers, transformersBase, unixCompat, vector, void
+, conduitExtra, hspec, monadControl, monoTraversable, mtl
+, mwcRandom, primitive, QuickCheck, resourcet, safe, silently
+, systemFileio, systemFilepath, text, transformers
+, transformersBase, unixCompat, vector, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "conduit-combinators";
-  version = "0.2.8.2";
-  sha256 = "1x2g333ygiv4jvwx4lw579kwx1z5m80cqfqgzv0pi5xdxcagy1ha";
+  version = "0.3.0.4";
+  sha256 = "1aphk79r3ibpb9gykdnz55isp7kf48jhz4h4vgplb0ndbmz8f8zm";
   buildDepends = [
     base16Bytestring base64Bytestring chunkedData conduit conduitExtra
     monadControl monoTraversable mwcRandom primitive resourcet
@@ -17,8 +18,9 @@ cabal.mkDerivation (self: {
     unixCompat vector void
   ];
   testDepends = [
-    base16Bytestring base64Bytestring chunkedData hspec monoTraversable
-    mwcRandom silently systemFilepath text transformers vector
+    base16Bytestring base64Bytestring chunkedData conduit hspec
+    monoTraversable mtl mwcRandom QuickCheck safe silently
+    systemFilepath text transformers vector
   ];
   meta = {
     homepage = "https://github.com/fpco/conduit-combinators";
diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
index 1cb2b0efe6c..8a551de3516 100644
--- a/pkgs/development/libraries/haskell/conduit-extra/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit-extra";
-  version = "1.1.3.2";
-  sha256 = "15flywjw5ha8cgn4yznwlnx31ls4y82gfmvbniby0d51y4x8dmgq";
+  version = "1.1.5";
+  sha256 = "1i38n3pdibjpi9kg37wvv4m6krfbsdd4baik804ss2ml1ry7gm4p";
   buildDepends = [
     attoparsec blazeBuilder conduit filepath monadControl network
     primitive resourcet stm streamingCommons text transformers
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
     async attoparsec blazeBuilder conduit exceptions hspec resourcet
     stm text transformers transformersBase
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
     description = "Batteries included conduit: adapters for common libraries";
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index f3c27ebae95..d0683175482 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -1,21 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl
-, QuickCheck, resourcet, transformers, transformersBase, void
+{ cabal, exceptions, hspec, liftedBase, mmorph, mtl, QuickCheck
+, resourcet, safe, transformers, transformersBase, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.1.7";
-  sha256 = "0xk2his7qbidnzs56xcgnjipbnqmmnh74qy8dfvbznkkqhxdzmz6";
+  version = "1.2.3.1";
+  sha256 = "04n330f9iad6asmry81aqvb7wyh7b962d6pvcfnpm327z4llnvbq";
   buildDepends = [
-    exceptions liftedBase mmorph monadControl mtl resourcet
-    transformers transformersBase void
+    exceptions liftedBase mmorph mtl resourcet transformers
+    transformersBase void
   ];
   testDepends = [
-    exceptions hspec mtl QuickCheck resourcet transformers void
+    exceptions hspec mtl QuickCheck resourcet safe transformers void
   ];
-  doCheck = false;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
     description = "Streaming data processing library";
diff --git a/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix
deleted file mode 100644
index 57423c1b71f..00000000000
--- a/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, text, time }:
-
-cabal.mkDerivation (self: {
-  pname = "convertible";
-  version = "1.0.11.1";
-  sha256 = "1r50a2rpfsx0s7dv8ww5xck33b1mhy73gfilffrbqd4hxjgnxlj6";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ mtl text time ];
-  meta = {
-    homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/convertible";
-    description = "Typeclasses and instances for converting between types";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix b/pkgs/development/libraries/haskell/convertible/default.nix
index fd8f6dac3a8..fd8f6dac3a8 100644
--- a/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/convertible/default.nix
diff --git a/pkgs/development/libraries/haskell/cookie/default.nix b/pkgs/development/libraries/haskell/cookie/default.nix
index 108fb48f939..abbafafa529 100644
--- a/pkgs/development/libraries/haskell/cookie/default.nix
+++ b/pkgs/development/libraries/haskell/cookie/default.nix
@@ -1,18 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, blazeBuilder, dataDefault, deepseq, HUnit, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
-, time
+, tasty, tastyHunit, tastyQuickcheck, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "cookie";
-  version = "0.4.1.3";
-  sha256 = "184ymp1pbi49fm4jl9s04dfyrgdbc9vlmqahqha4yncppr5s1sdw";
+  version = "0.4.1.4";
+  sha256 = "0axvljw34cjw47fxwxqql8rvjsyp9gxfbaijmysy5j10kx8s931d";
   buildDepends = [ blazeBuilder dataDefault deepseq text time ];
   testDepends = [
-    blazeBuilder HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text time
+    blazeBuilder HUnit QuickCheck tasty tastyHunit tastyQuickcheck text
+    time
   ];
   doCheck = self.stdenv.lib.versionOlder "7.8" self.ghc.version;
   meta = {
diff --git a/pkgs/development/libraries/haskell/cprng-aes/default.nix b/pkgs/development/libraries/haskell/cprng-aes/default.nix
index 64d15480ab8..632647e2182 100644
--- a/pkgs/development/libraries/haskell/cprng-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cprng-aes/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, byteable, cipherAes, cryptoRandom, random }:
+{ cabal, byteable, cipherAes, cryptoRandom }:
 
 cabal.mkDerivation (self: {
   pname = "cprng-aes";
-  version = "0.5.2";
-  sha256 = "1nf8dd83ywriq2ynv48f2s5lvc9s3srq4j5vbspmf0kc74kmq2pf";
-  buildDepends = [ byteable cipherAes cryptoRandom random ];
+  version = "0.6.1";
+  sha256 = "1wr15kbmk1g3l8a75n0iwbzqg24ixv78slwzwb2q6rlcvq0jlnb4";
+  buildDepends = [ byteable cipherAes cryptoRandom ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cprng-aes";
     description = "Crypto Pseudo Random Number Generator using AES in counter mode";
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index 7cac43769f8..01ea0557565 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "criterion";
-  version = "1.0.0.2";
-  sha256 = "1r30vcrplilj3silnrmn0r5m0df27icdsgd5hx35li9yrs862n95";
+  version = "1.0.2.0";
+  sha256 = "02mcb49hiv0gijj5343gffdd3r8hjf4d52llv2gradaijz4zdqhx";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/crypto-api/default.nix b/pkgs/development/libraries/haskell/crypto-api/default.nix
index 7c1d6308131..2a83b248674 100644
--- a/pkgs/development/libraries/haskell/crypto-api/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-api/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-api";
-  version = "0.13";
-  sha256 = "00zw9cymjhsdiy2p4prjvmmy7xnk12qggdpvxrp0hjnwlakfvyb2";
+  version = "0.13.2";
+  sha256 = "1vc27qcgbg7hf50rkqhlrs58zn1888ilh4b6wrrm07bnm48xacak";
   buildDepends = [ cereal entropy tagged transformers ];
   meta = {
     homepage = "https://github.com/TomMD/crypto-api";
diff --git a/pkgs/development/libraries/haskell/crypto-conduit/default.nix b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
index b63f6a44108..c7c3f2590a7 100644
--- a/pkgs/development/libraries/haskell/crypto-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-conduit";
-  version = "0.5.4";
-  sha256 = "1z628gj4sf50s7pd6p41c670rz98f8b6p3n2dvl93haczcg53l1n";
+  version = "0.5.5";
+  sha256 = "0zd4smj3rk2x1msl8z8f5y01x4b87rhgm45g26g6c3dsdasn1lyf";
   buildDepends = [
     cereal conduit conduitExtra cryptoApi resourcet transformers
   ];
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
index f8a51f4fa5b..6c0060e52a8 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-pubkey-types";
-  version = "0.4.2.2";
-  sha256 = "18z1fnh2xjq600ya8m175m64nwr6bwscr2q47zjy7k38zlm9c8h5";
+  version = "0.4.2.3";
+  sha256 = "1isfyr1ly9hv8idslpjbyc9hhgb1zqd9gfc1s4kvwy4gcdsvrx52";
   buildDepends = [ asn1Types ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-pubkey-types";
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
index bd4b4f9639f..a8979fef315 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-pubkey";
-  version = "0.2.4";
-  sha256 = "0mdjr6zma2q7r2z9qibp2bwf73bis6zrv7ss62i4pz42kndb9hh4";
+  version = "0.2.5";
+  sha256 = "18rxm6mgxp8x4ns2725pw6ja2g6n6k64dj9cbwdlsb13pkdh3lxq";
   buildDepends = [
     byteable cryptohash cryptoNumbers cryptoPubkeyTypes cryptoRandom
   ];
diff --git a/pkgs/development/libraries/haskell/crypto-random/default.nix b/pkgs/development/libraries/haskell/crypto-random/default.nix
index 878eb3d2c71..c7053cbf1e3 100644
--- a/pkgs/development/libraries/haskell/crypto-random/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-random/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-random";
-  version = "0.0.7";
-  sha256 = "1dj63y85l3f1x7fw8j7hykz56ajd38iikl3f8ygaz8r95pd1zjxw";
+  version = "0.0.8";
+  sha256 = "058ilm05ni5ribggx25cfrhsv1z0abvgxzf3wd3d6qqq58p5wbkv";
   buildDepends = [ securemem vector ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-random";
diff --git a/pkgs/development/libraries/haskell/csv-conduit/default.nix b/pkgs/development/libraries/haskell/csv-conduit/default.nix
new file mode 100644
index 00000000000..f0c01481dbd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/csv-conduit/default.nix
@@ -0,0 +1,31 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, attoparsecConduit, blazeBuilder, conduit
+, conduitExtra, dataDefault, HUnit, mmorph, monadControl, mtl
+, primitive, resourcet, testFramework, testFrameworkHunit, text
+, transformers, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "csv-conduit";
+  version = "0.6.3";
+  sha256 = "1db1wlpl0ryyf8cmkrg1hgz4ggsvzy6z9ayzcc6n6rdywpfi29z4";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    attoparsec attoparsecConduit blazeBuilder conduit conduitExtra
+    dataDefault mmorph monadControl mtl primitive resourcet text
+    transformers unorderedContainers vector
+  ];
+  testDepends = [
+    HUnit mtl primitive testFramework testFrameworkHunit text
+    transformers vector
+  ];
+  meta = {
+    homepage = "http://github.com/ozataman/csv-conduit";
+    description = "A flexible, fast, conduit-based CSV parser library for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ bergey ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
index c6daa8b5fdd..25eced2e810 100644
--- a/pkgs/development/libraries/haskell/cuda/default.nix
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -4,10 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "cuda";
-  version = "0.6.0.1";
-  sha256 = "03wnkqgdvy6h2dqcmj0xlag3am3s3rjzhx0kqaq362mq365n9y51";
+  version = "0.6.5.1";
+  sha256 = "04j57inw4wmd0l74ryxdgpjcbf3zkklgkqw9bv7yp4n96n40mp0y";
+  isLibrary = true;
+  isExecutable = true;
   buildTools = [ c2hs ];
-  extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.gcc ];
+  extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.cc ];
   doCheck = false;
   # Perhaps this should be the default in cabal.nix ...
   #
diff --git a/pkgs/development/libraries/haskell/cufft/default.nix b/pkgs/development/libraries/haskell/cufft/default.nix
index d24af97f4f2..dfcf9bec757 100644
--- a/pkgs/development/libraries/haskell/cufft/default.nix
+++ b/pkgs/development/libraries/haskell/cufft/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cufft";
-  version = "0.1.0.3";
-  sha256 = "1jj1ixacmhwjcb2syv4fglawpya5vmdhdk2xqrw4wwfxw4wc9ypi";
+  version = "0.1.1.0";
+  sha256 = "0d13nf61698gzh0hcycx1z9bm2xpikkg27bjymsjhfwimvqn7z8h";
   buildDepends = [ cuda ];
   buildTools = [ c2hs ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/daemons/default.nix b/pkgs/development/libraries/haskell/daemons/default.nix
new file mode 100644
index 00000000000..1ec84449dd3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/daemons/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, dataDefault, filepath, HUnit, network, pipes
+, testFramework, testFrameworkHunit, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "daemons";
+  version = "0.2.1";
+  sha256 = "0zf9831vl1hz606nsp0yhjg46wxzvwkd3hn9shjw5akk26sddi8p";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    cereal dataDefault filepath network pipes transformers
+  ];
+  testDepends = [
+    dataDefault HUnit testFramework testFrameworkHunit
+  ];
+  meta = {
+    homepage = "https://github.com/scvalex/daemons";
+    description = "Daemons in Haskell made fun and easy";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-flags/default.nix b/pkgs/development/libraries/haskell/data-flags/default.nix
new file mode 100644
index 00000000000..ed2c5b682ce
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-flags/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "data-flags";
+  version = "0.0.3.1";
+  sha256 = "1s0djw1qarjn1fkyf21fd6pacfpfy4cvyw3wbd63ccaf9g0s1gs5";
+  meta = {
+    description = "A package for working with bit masks and flags in general";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-lens-fd/default.nix b/pkgs/development/libraries/haskell/data-lens-fd/default.nix
new file mode 100644
index 00000000000..85935a5ebda
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-lens-fd/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, dataLens, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "data-lens-fd";
+  version = "2.0.5";
+  sha256 = "0r8cfgn6wx304b5ihmwgsxxjwalb7086wii655mgmb6cn3nirpyk";
+  buildDepends = [ comonad dataLens mtl transformers ];
+  meta = {
+    homepage = "http://github.com/roconnor/data-lens-fd/";
+    description = "Lenses";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-lens-light/default.nix b/pkgs/development/libraries/haskell/data-lens-light/default.nix
index 2eca446c714..017e5e706db 100644
--- a/pkgs/development/libraries/haskell/data-lens-light/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens-light/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-lens-light";
-  version = "0.1.2";
-  sha256 = "1xxphcd36vw1ib48rfmrg207h0i1hlby01bm3xsxnq90ygizvxk7";
+  version = "0.1.2.1";
+  sha256 = "038vfzb4vxk1qb0246l2kgv9br37wg59wnlhzyjpn97lypwlf68w";
   buildDepends = [ mtl ];
   meta = {
     homepage = "https://github.com/feuerbach/data-lens-light";
diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix
index 923e11bf2e2..d167e8051cd 100644
--- a/pkgs/development/libraries/haskell/data-lens-template/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for Data.Lens";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix
index 5fba0b4bde3..b65a41f048e 100644
--- a/pkgs/development/libraries/haskell/data-lens/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens/default.nix
@@ -7,12 +7,12 @@ cabal.mkDerivation (self: {
   version = "2.10.5";
   sha256 = "11na4wx0f0ihk87d00njwrfc430nb25dkkadv1n47yvcyfc60i90";
   buildDepends = [ comonad semigroupoids transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/roconnor/data-lens/";
     description = "Used to be Haskell 98 Lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-ordlist/default.nix b/pkgs/development/libraries/haskell/data-ordlist/default.nix
index 959eb57e779..3db8f1ef067 100644
--- a/pkgs/development/libraries/haskell/data-ordlist/default.nix
+++ b/pkgs/development/libraries/haskell/data-ordlist/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-ordlist";
-  version = "0.4.6.1";
-  sha256 = "1qrvyin5567br99zfip7krdy6snnbm5z5jdi6ghmk0cfmhmyrwy3";
+  version = "0.4.7.0";
+  sha256 = "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g";
   meta = {
     description = "Set and bag operations on ordered lists";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix
index 81aee9c42b4..dc88a613350 100644
--- a/pkgs/development/libraries/haskell/dbus/default.nix
+++ b/pkgs/development/libraries/haskell/dbus/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dbus";
-  version = "0.10.8";
-  sha256 = "1pqcb6fk6l2xzwyy3n9sa2q2k3qykym1f98n2zf75545ix46b1r6";
+  version = "0.10.9";
+  sha256 = "0sjnmxy0ikvg21sip7yadg4qr3lniy1wwpavkg48dc87gv98ymdb";
   buildDepends = [
     cereal libxmlSax network parsec random text transformers vector
     xmlTypes
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
deleted file mode 100644
index 4d7a0b9b818..00000000000
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "deepseq";
-  version = "1.1.0.0";
-  sha256 = "947c45e7ee862159f190fb8e905c1328f7672cb9e6bf3abd1d207bbcf1eee50a";
-  meta = {
-    description = "Fully evaluate data structures";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
deleted file mode 100644
index 7748ff96a8a..00000000000
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "deepseq";
-  version = "1.1.0.2";
-  sha256 = "1iqk8lc2an2rd1j9lcr76yabiz18h10lazlmdg5c528yssyd6135";
-  meta = {
-    description = "Deep evaluation of data structures";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix
index dbad9c538a9..5b8c5297316 100644
--- a/pkgs/development/libraries/haskell/derive/default.nix
+++ b/pkgs/development/libraries/haskell/derive/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "derive";
-  version = "2.5.16";
-  sha256 = "0vahwnb2hzdm990b2m139kbg9jkk4whcxjdfjvlpimqk72s27viy";
+  version = "2.5.18";
+  sha256 = "1jqng8v1d4rac8xmrpm7h1pkyr9pfwsbb0ap6pnwzpwz9fns9c3k";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/diagrams/builder/default.nix b/pkgs/development/libraries/haskell/diagrams/builder/default.nix
new file mode 100644
index 00000000000..40e1cf45796
--- /dev/null
+++ b/pkgs/development/libraries/haskell/diagrams/builder/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeSvg, cmdargs, diagramsCairo, diagramsLib
+, diagramsPostscript, diagramsSvg, exceptions, filepath, hashable
+, haskellSrcExts, hint, lens, mtl, split, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "diagrams-builder";
+  version = "0.6.0.2";
+  sha256 = "18avlhwywhrxlf1cyp9fdiy0i3gy12k4i28cymllmmyx78fv59q5";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeSvg cmdargs diagramsCairo diagramsLib diagramsPostscript
+    diagramsSvg exceptions filepath hashable haskellSrcExts hint lens
+    mtl split transformers
+  ];
+  configureFlags = "-fcairo -fsvg -fps -frasterific";
+  meta = {
+    homepage = "http://projects.haskell.org/diagrams";
+    description = "hint-based build service for the diagrams graphics EDSL";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix b/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix
new file mode 100644
index 00000000000..8d175398414
--- /dev/null
+++ b/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix
@@ -0,0 +1,53 @@
+/*
+  If user need access to more haskell package for building his
+  diagrams, he simply has to pass these package through the
+  extra packages function as follow in `config.nix`:
+  
+  ~~~
+  diagramBuilderWrapper.override {
+    extraPackages = self : [myHaskellPackage];
+  }
+  ­~~~
+
+  WARNING:
+  Note that this solution works well but however, as this is a 
+  non-cabal derivation, user should be carefull to never put this
+  package inside the listing passed as argument to `ghcWithPackages`
+  as it will silently disregard the package. This silent disregard
+  should be regarded as an issue for `ghcWithPackages`. It should
+  rather raise an error instead when a non-cabal dirivation is
+  directly passed to it. The alternative would have been to
+  use a fake cabal file in order to make this a cabal derivation
+  such as what `yiCustom` package did.
+*/
+
+{ stdenv, diagramsBuilder, ghcWithPackages, makeWrapper, 
+  extraPackages ? (self: []) }:
+let
+  # Used same technique as for the yiCustom package.
+  w = ghcWithPackages 
+    (self: [ diagramsBuilder ] ++ extraPackages self);
+  wrappedGhc = w.override { ignoreCollisions = true; };
+in
+stdenv.mkDerivation {
+  name = diagramsBuilder.name + "-wrapper";
+  buildInputs = [ makeWrapper ];
+  buildCommand = ''
+    makeWrapper \
+    "${diagramsBuilder}/bin/diagrams-builder-svg" "$out/bin/diagrams-builder-svg" \
+      --set NIX_GHC ${wrappedGhc}/bin/ghc \
+      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${diagramsBuilder.ghc.version}
+
+    makeWrapper \
+    "${diagramsBuilder}/bin/diagrams-builder-cairo" "$out/bin/diagrams-builder-cairo" \
+      --set NIX_GHC ${wrappedGhc}/bin/ghc \
+      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${diagramsBuilder.ghc.version}
+
+    makeWrapper \
+    "${diagramsBuilder}/bin/diagrams-builder-ps" "$out/bin/diagrams-builder-ps" \
+    --set NIX_GHC ${wrappedGhc}/bin/ghc \
+    --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${diagramsBuilder.ghc.version}
+  '';
+  preferLocalBuild = true;
+  meta = diagramsBuilder.meta;
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix
index 3a695fa8203..24c26e052d9 100644
--- a/pkgs/development/libraries/haskell/diagrams/cairo.nix
+++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix
@@ -7,13 +7,14 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-cairo";
-  version = "1.2.0.1";
-  sha256 = "0y7llxxs34i814nc3c79ykv75znplzqq7njvq7a5fyxl81ji0z4c";
+  version = "1.2.0.4";
+  sha256 = "1yg6ja5jha499b6j5fsgdl4f3l2ff1gp6cl7ixzj9y26m7a10bqq";
   buildDepends = [
     cairo colour dataDefaultClass diagramsCore diagramsLib filepath
     hashable JuicyPixels lens mtl optparseApplicative pango split
     statestack time transformers vector
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Cairo backend for diagrams drawing EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix
index f1044870f3a..78ed983650f 100644
--- a/pkgs/development/libraries/haskell/diagrams/contrib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-contrib";
-  version = "1.1.2.1";
-  sha256 = "05jsqc9wm87hpnaclzfa376m5z8lnp4qgll6lqnfa5m49cqcabki";
+  version = "1.1.2.4";
+  sha256 = "0iq5psy5wjm664hqsaprynba0b7x3ijxngh7mbk6hkh004vsna1w";
   buildDepends = [
     arithmoi circlePacking colour dataDefault dataDefaultClass
     diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec
@@ -20,6 +20,7 @@ cabal.mkDerivation (self: {
     diagramsLib HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams/";
     description = "Collection of user contributions to diagrams EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix
index 18f362e0c21..518b5594cb6 100644
--- a/pkgs/development/libraries/haskell/diagrams/core.nix
+++ b/pkgs/development/libraries/haskell/diagrams/core.nix
@@ -6,12 +6,13 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-core";
-  version = "1.2.0.2";
-  sha256 = "10glkp05pnxx7c7f33654rjcvahslxx010v36wf6zsa8nscdrccn";
+  version = "1.2.0.4";
+  sha256 = "1axkgprqs4jvzh5vfr118nzr1h0m48axr5jfiqqrqvy5xyjcagkq";
   buildDepends = [
     dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace
     vectorSpacePoints
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Core libraries for diagrams EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/gtk.nix b/pkgs/development/libraries/haskell/diagrams/gtk.nix
new file mode 100644
index 00000000000..c169c9e0e48
--- /dev/null
+++ b/pkgs/development/libraries/haskell/diagrams/gtk.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, diagramsCairo, diagramsLib, gtk }:
+
+cabal.mkDerivation (self: {
+  pname = "diagrams-gtk";
+  version = "1.0.1.3";
+  sha256 = "1bcgplmg01sp7iwhgx7ircbn9bj15m42w6vkh539sd65y01z3hc8";
+  buildDepends = [ cairo diagramsCairo diagramsLib gtk ];
+  meta = {
+    homepage = "http://projects.haskell.org/diagrams/";
+    description = "Backend for rendering diagrams directly to GTK windows";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix
index b15f05dbf27..d2e25254f67 100644
--- a/pkgs/development/libraries/haskell/diagrams/lib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/lib.nix
@@ -2,20 +2,21 @@
 
 { cabal, active, colour, dataDefaultClass, diagramsCore, dualTree
 , filepath, fingertree, hashable, intervals, JuicyPixels, lens
-, MemoTrie, monoidExtras, optparseApplicative, safe, semigroups
-, tagged, vectorSpace, vectorSpacePoints
+, MemoTrie, monoidExtras, optparseApplicative, semigroups, tagged
+, vectorSpace, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-lib";
-  version = "1.2.0.2";
-  sha256 = "0ylrsldq7nmqvprgwbw7bkwp31zhgbyxjx462lcayk0lbhqb5k5p";
+  version = "1.2.0.7";
+  sha256 = "12ddlipp47j2mifwhi0ilb2fjdh2whk24s4d5h6ais2znj3hh99a";
   buildDepends = [
     active colour dataDefaultClass diagramsCore dualTree filepath
     fingertree hashable intervals JuicyPixels lens MemoTrie
-    monoidExtras optparseApplicative safe semigroups tagged vectorSpace
+    monoidExtras optparseApplicative semigroups tagged vectorSpace
     vectorSpacePoints
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Embedded domain-specific language for declarative graphics";
diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix
index 557aae73db5..841487305ef 100644
--- a/pkgs/development/libraries/haskell/diagrams/postscript.nix
+++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix
@@ -7,12 +7,13 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-postscript";
-  version = "1.1.0.1";
-  sha256 = "03747g5y33kzf76hs4y0ak9q6b79r92z130b03bcc2892na62ad6";
+  version = "1.1.0.3";
+  sha256 = "172r7q9jzhy2kv5bsbakakwv6gpvy308gvp8xpirbch9mrvnjxhz";
   buildDepends = [
     dataDefaultClass diagramsCore diagramsLib dlist filepath hashable
     lens monoidExtras mtl semigroups split vectorSpace
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams/";
     description = "Postscript backend for diagrams drawing EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/rasterific.nix b/pkgs/development/libraries/haskell/diagrams/rasterific.nix
new file mode 100644
index 00000000000..8e494241f74
--- /dev/null
+++ b/pkgs/development/libraries/haskell/diagrams/rasterific.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefaultClass, diagramsCore, diagramsLib, filepath
+, FontyFruity, JuicyPixels, lens, mtl, optparseApplicative
+, Rasterific, split, statestack, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "diagrams-rasterific";
+  version = "0.1.0.5";
+  sha256 = "1a95l8g55jsmqhbv9flk5kfkfa40z93axbjfz6xb74lyvl6xccwr";
+  buildDepends = [
+    dataDefaultClass diagramsCore diagramsLib filepath FontyFruity
+    JuicyPixels lens mtl optparseApplicative Rasterific split
+    statestack time
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://projects.haskell.org/diagrams/";
+    description = "Rasterific backend for diagrams";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ bergey ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix
index 8393d7c6f98..1994905c1d4 100644
--- a/pkgs/development/libraries/haskell/diagrams/svg.nix
+++ b/pkgs/development/libraries/haskell/diagrams/svg.nix
@@ -7,13 +7,14 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-svg";
-  version = "1.1.0.1";
-  sha256 = "02krwy1v7rhcgg0ps7kd8ym50kh48dcfqm2xz3k6hr32jzqa5hlw";
+  version = "1.1.0.3";
+  sha256 = "0byqxwz9h1hi2yrq2vz32gv0az9q3l94qa2q3nl3j8sa64qmpdwq";
   buildDepends = [
     base64Bytestring blazeMarkup blazeSvg colour diagramsCore
     diagramsLib filepath hashable JuicyPixels lens monoidExtras mtl
     split time vectorSpace
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams/";
     description = "SVG backend for diagrams drawing EDSL";
diff --git a/pkgs/development/libraries/haskell/digest-pure/default.nix b/pkgs/development/libraries/haskell/digest-pure/default.nix
new file mode 100644
index 00000000000..a36483bf2f7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/digest-pure/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, digest, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "digest-pure";
+  version = "0.0.3";
+  sha256 = "0rb5jkzn1d4z90hd47qh98mf4n90wvj0cqf3qfpj7ndvw52yy95w";
+  testDepends = [ digest QuickCheck ];
+  meta = {
+    homepage = "http://github.com/danieldk/digest-pure";
+    description = "Pure hash functions for bytestrings";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
index 1958307e869..819d4690da5 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-aeson";
-  version = "1.1.11";
-  sha256 = "0jf62ssyc317x070xkjdnfbb2g8mb19a83hig08j95vyqwjgk4vg";
+  version = "1.1.12.1";
+  sha256 = "1jwrlmavwjq3bf8ylazi91mwl47n5pdh3lipv4p7v0gq45dm3hg9";
   buildDepends = [
     aeson digestiveFunctors lens lensAeson safe text vector
   ];
diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
index aae120d5681..29ed0504806 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-heist";
-  version = "0.8.5.0";
-  sha256 = "0pjjr3b1zm23wpqnmcbr8ly08bp63sz3c9vbxcani4mwgx05qp87";
+  version = "0.8.6.1";
+  sha256 = "1l8ppn2h1nxzn5wxnglc2fyi7r90177v75yf4n7cyvzrcxdaz4bb";
   buildDepends = [
     blazeBuilder digestiveFunctors heist mtl text xmlhtml
   ];
diff --git a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
index e5a3e0a44c6..71d1a6448fa 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.6.1.0";
   sha256 = "07xb8jr70j03kggk55p3zzp07y7amzm7f8hdzry4vff7yx41rxhr";
   buildDepends = [ digestiveFunctors filepath mtl snapCore text ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/jaspervdj/digestive-functors";
     description = "Snap backend for the digestive-functors library";
diff --git a/pkgs/development/libraries/haskell/dimensional-tf/default.nix b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
index c93a564c3e3..b6e3f40f937 100644
--- a/pkgs/development/libraries/haskell/dimensional-tf/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional-tf/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional-tf";
-  version = "0.3";
-  sha256 = "0z3k9962zz652bk2azv9lcms1j06v60hid3iach043dpg5r083qg";
+  version = "0.3.0.1";
+  sha256 = "0gnaylxhjcyvsibq15bw9k4c846l2329yvvl79cdw2jqggfnzxw6";
   buildDepends = [ numtypeTf time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
diff --git a/pkgs/development/libraries/haskell/dimensional/default.nix b/pkgs/development/libraries/haskell/dimensional/default.nix
index 3435bf57d5c..9be32b5596a 100644
--- a/pkgs/development/libraries/haskell/dimensional/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dimensional";
-  version = "0.13";
-  sha256 = "1nj8h79iq7pirqlj8iw1p782nm05xgym3469x7hlzaz3ig9nwgrg";
+  version = "0.13.0.1";
+  sha256 = "1cn7gyskp0ax5lm5k05p6qp461hirjyhj0k1qyd64fgdmmp81vi6";
   buildDepends = [ numtype time ];
   meta = {
     homepage = "http://dimensional.googlecode.com/";
diff --git a/pkgs/development/libraries/haskell/direct-sqlite/default.nix b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
index 07eca858972..c3be0f888ac 100644
--- a/pkgs/development/libraries/haskell/direct-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "direct-sqlite";
-  version = "2.3.13";
-  sha256 = "0d16jmls41cwyzg91fpd32dv8vvx1v3ilypv1wd7ya8j08fwfvdn";
+  version = "2.3.14";
+  sha256 = "0xxvr2wln54snkvs2r46fkkn7yhm6i2afgww40vnfqamg8g81x5w";
   buildDepends = [ text ];
   testDepends = [ base16Bytestring HUnit text ];
   meta = {
-    homepage = "http://ireneknapp.com/software/";
+    homepage = "https://github.com/IreneKnapp/direct-sqlite";
     description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/directory-layout/default.nix b/pkgs/development/libraries/haskell/directory-layout/default.nix
new file mode 100644
index 00000000000..2cc9682dccb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/directory-layout/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, commandQq, doctest, filepath, free, hspec, lens
+, semigroups, temporary, text, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "directory-layout";
+  version = "0.7.4.1";
+  sha256 = "0hj7dfv5i2s1dk0rws2fg84crpxz1kgvrq68f373a6hwkbfhv89b";
+  buildDepends = [
+    commandQq filepath free hspec lens semigroups text transformers
+    unorderedContainers
+  ];
+  testDepends = [
+    commandQq doctest filepath free hspec lens semigroups temporary
+    text transformers unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    description = "Directory layout DSL";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix b/pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix
new file mode 100644
index 00000000000..d8de329a7de
--- /dev/null
+++ b/pkgs/development/libraries/haskell/distributed-process-monad-control/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, distributedProcess, monadControl, transformers
+, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "distributed-process-monad-control";
+  version = "0.5.1";
+  sha256 = "01sdzmb8izsycxshhsg0pbx0mgn10y41df1dj1s66ish0qszw07m";
+  buildDepends = [
+    distributedProcess monadControl transformers transformersBase
+  ];
+  meta = {
+    homepage = "http://haskell-distributed.github.io";
+    description = "Orphan instances for MonadBase and MonadBaseControl";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributed-process-p2p/default.nix b/pkgs/development/libraries/haskell/distributed-process-p2p/default.nix
new file mode 100644
index 00000000000..165b09d13bf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/distributed-process-p2p/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, distributedProcess, mtl, network, networkTransport
+, networkTransportTcp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "distributed-process-p2p";
+  version = "0.1.3.0";
+  sha256 = "00lvi2x1s8r7lwfvsjnvzc9iwdk4ip8svw85p2h3ra4iqbzj70l2";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary distributedProcess mtl network networkTransport
+    networkTransportTcp
+  ];
+  meta = {
+    homepage = "https://bitbucket.org/dpwiz/distributed-process-p2p/";
+    description = "Peer-to-peer node discovery for Cloud Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributed-process-platform/default.nix b/pkgs/development/libraries/haskell/distributed-process-platform/default.nix
new file mode 100644
index 00000000000..cb014f53a8a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/distributed-process-platform/default.nix
@@ -0,0 +1,37 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, binary, dataAccessor, deepseq
+, distributedProcess, distributedStatic, fingertree, hashable
+, HUnit, mtl, network, networkTransport, networkTransportTcp
+, QuickCheck, rematch, stm, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "distributed-process-platform";
+  version = "0.1.0";
+  sha256 = "0bxfynvqkzvah7gbg74yzwpma8j32bamnyysj6dk39da0v880abm";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary dataAccessor deepseq distributedProcess fingertree hashable
+    mtl stm time transformers unorderedContainers
+  ];
+  testDepends = [
+    ansiTerminal binary dataAccessor deepseq distributedProcess
+    distributedStatic fingertree hashable HUnit mtl network
+    networkTransport networkTransportTcp QuickCheck rematch stm
+    testFramework testFrameworkHunit testFrameworkQuickcheck2 time
+    transformers unorderedContainers
+  ];
+  hyperlinkSource = false;
+  jailbreak = true;
+  doCheck = false;
+  patchPhase = "mv Setup.hs Setup.lhs";
+  meta = {
+    homepage = "http://github.com/haskell-distributed/distributed-process-platform";
+    description = "The Cloud Haskell Application Platform";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributed-process/default.nix b/pkgs/development/libraries/haskell/distributed-process/default.nix
index 21cebedefe4..0232a02c8af 100644
--- a/pkgs/development/libraries/haskell/distributed-process/default.nix
+++ b/pkgs/development/libraries/haskell/distributed-process/default.nix
@@ -7,12 +7,13 @@
 
 cabal.mkDerivation (self: {
   pname = "distributed-process";
-  version = "0.5.1";
-  sha256 = "1c654l7r3cn89nknh67vsg7crnfhgswh4523qyrmn8z4ykyd0zfk";
+  version = "0.5.2";
+  sha256 = "04llhz9z28365idgj13hhwkp98zwqv6mhhy9i7416wk5d3r70g7l";
   buildDepends = [
     binary dataAccessor deepseq distributedStatic hashable mtl
     networkTransport random rank1dynamic stm syb time transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://haskell-distributed.github.com/";
     description = "Cloud Haskell: Erlang-style concurrency in Haskell";
diff --git a/pkgs/development/libraries/haskell/distributed-static/default.nix b/pkgs/development/libraries/haskell/distributed-static/default.nix
index 8f7f61da8f6..4dce7cc1ded 100644
--- a/pkgs/development/libraries/haskell/distributed-static/default.nix
+++ b/pkgs/development/libraries/haskell/distributed-static/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "distributed-static";
-  version = "0.3.0.0";
-  sha256 = "1g8jr01jxlfshsz3mrpzl21q290whwz4va3zjp1h0d1pnfwz6jcj";
+  version = "0.3.1.0";
+  sha256 = "190b6vjcipgrvnfl72c0ssw8crza02gfw9kwyvwg043jcznihj08";
   buildDepends = [ binary rank1dynamic ];
   meta = {
     homepage = "http://haskell-distributed.github.com";
diff --git a/pkgs/development/libraries/haskell/djinn/default.nix b/pkgs/development/libraries/haskell/djinn/default.nix
index 12ff67c7f20..e922d9ff7be 100644
--- a/pkgs/development/libraries/haskell/djinn/default.nix
+++ b/pkgs/development/libraries/haskell/djinn/default.nix
@@ -4,20 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "djinn";
-  version = "2011.7.23";
-  sha256 = "14748pqzrd1r9jg2vc9v232pi38q99l9zdlia6ashm2v871hp1xv";
+  version = "2014.9.7";
+  sha256 = "1p9dvzb83nlrq8h4brdq5l9dm2zf28rjhsmi7nwmac79p5pk9y2g";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ haskeline mtl ];
-  preConfigure = self.stdenv.lib.optionalString self.stdenv.isDarwin ''
-    sed -i 's/-Wall -optl-Wl/-Wall/' djinn.cabal
-  '';
   meta = {
-    homepage = "http://www.augustsson.net/Darcs/Djinn/";
     description = "Generate Haskell code from a type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix
index 018fac06670..af3f9e2d525 100644
--- a/pkgs/development/libraries/haskell/doctest/default.nix
+++ b/pkgs/development/libraries/haskell/doctest/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "doctest";
-  version = "0.9.11";
-  sha256 = "04y6y5hixqh8awl37wrss20c2drvx070w7wd6icfx7r0jqds97jr";
+  version = "0.9.11.1";
+  sha256 = "1gzzzwr7f7281mlbfbk74nxr28l70lwfaws4xjfx2v06xazl99db";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ deepseq filepath ghcPaths syb transformers ];
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
   doCheck = false;
   noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4";
   meta = {
-    homepage = "https://github.com/sol/doctest-haskell#readme";
+    homepage = "https://github.com/sol/doctest#readme";
     description = "Test interactive Haskell examples";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/dsp/default.nix b/pkgs/development/libraries/haskell/dsp/default.nix
index 9b038d047f9..f0d64562d7c 100644
--- a/pkgs/development/libraries/haskell/dsp/default.nix
+++ b/pkgs/development/libraries/haskell/dsp/default.nix
@@ -9,6 +9,9 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ random ];
+  patchPhase = ''
+    sed -i -e 's|random.*<1.1,|random,|' dsp.cabal
+  '';
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/DSP";
     description = "Haskell Digital Signal Processing";
diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix
index f9cf3b13b41..7efdcce8526 100644
--- a/pkgs/development/libraries/haskell/dual-tree/default.nix
+++ b/pkgs/development/libraries/haskell/dual-tree/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dual-tree";
-  version = "0.2.0.4";
-  sha256 = "0visavx0zqgmcjcq07vfhk6dn867269w2gxa8nvc79gya56c6wdp";
+  version = "0.2.0.5";
+  sha256 = "077njr9m6x9n2id0419rn6v4xwb9nvxshrmas9pkknp52va4ljg5";
   buildDepends = [ monoidExtras newtype semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/dynamic-cabal/default.nix b/pkgs/development/libraries/haskell/dynamic-cabal/default.nix
index 40f52b50904..066c11e5a36 100644
--- a/pkgs/development/libraries/haskell/dynamic-cabal/default.nix
+++ b/pkgs/development/libraries/haskell/dynamic-cabal/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dynamic-cabal";
-  version = "0.3.2";
-  sha256 = "0f0g4kml17j1j101gnpjjpdmny4m2wgr0dbjq18fw1s3nxc3jagm";
+  version = "0.3.3";
+  sha256 = "0fq6q0j2fx7ygarzgsvb7scssjnrxjrq188d0habfar6bdm0vqdg";
   buildDepends = [
     dataDefault filepath ghcPaths haskellGenerate haskellSrcExts time
     void
diff --git a/pkgs/development/libraries/haskell/dynamic-state/default.nix b/pkgs/development/libraries/haskell/dynamic-state/default.nix
new file mode 100644
index 00000000000..21eb0fdab28
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dynamic-state/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, concreteTyperep, hashable, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "dynamic-state";
+  version = "0.1.1.0";
+  sha256 = "18dc6fbnyk3q7n7gvqrgy98qc2grq0algr2jnc1ai3vm9bqh2x8n";
+  buildDepends = [
+    binary concreteTyperep hashable unorderedContainers
+  ];
+  meta = {
+    description = "Optionally serializable dynamic state keyed by type";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/editline/0.2.1.0.nix b/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
deleted file mode 100644
index d36a2ee11f2..00000000000
--- a/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, libedit }:
-
-cabal.mkDerivation (self: {
-  pname = "editline";
-  version = "0.2.1.0";
-  sha256 = "1qa65iqr5k3ajq1glf5y84lld132i2i3l0zmsw8xqkq7hrgqwqc3";
-  extraLibraries = [ libedit ];
-  meta = {
-    homepage = "http://code.haskell.org/editline";
-    description = "Bindings to the editline library (libedit)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/editline/0.2.1.1.nix b/pkgs/development/libraries/haskell/editline/default.nix
index 4458a067b1f..4458a067b1f 100644
--- a/pkgs/development/libraries/haskell/editline/0.2.1.1.nix
+++ b/pkgs/development/libraries/haskell/editline/default.nix
diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix
index 6d55afd41d6..70c8573ade5 100644
--- a/pkgs/development/libraries/haskell/either/default.nix
+++ b/pkgs/development/libraries/haskell/either/default.nix
@@ -1,16 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, exceptions, free, monadControl, MonadRandom, mtl
-, semigroupoids, semigroups, transformers, transformersBase
+{ cabal, bifunctors, exceptions, free, monadControl, MonadRandom
+, mtl, profunctors, semigroupoids, semigroups, transformers
+, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "either";
-  version = "4.3.0.1";
-  sha256 = "1ib6288gxzqfm2y198dzhhq588mlwqxm07pcrj4h66g1mcy54q1f";
+  version = "4.3.2.1";
+  sha256 = "09c1xal7d6azw0cc8mwi0ry8blysg29cmyfipdhg1b7vzyjavv22";
   buildDepends = [
-    exceptions free monadControl MonadRandom mtl semigroupoids
-    semigroups transformers transformersBase
+    bifunctors exceptions free monadControl MonadRandom mtl profunctors
+    semigroupoids semigroups transformers transformersBase
   ];
   noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.6";
   meta = {
diff --git a/pkgs/development/libraries/haskell/ekg-bosun/default.nix b/pkgs/development/libraries/haskell/ekg-bosun/default.nix
new file mode 100644
index 00000000000..e4074ddd1ff
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ekg-bosun/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, ekgCore, httpClient, lens, network, networkUri
+, text, time, unorderedContainers, vector, wreq
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ekg-bosun";
+  version = "1.0.3";
+  sha256 = "0mlfsmw1aa24p6fhml8m2dj2v7hrp91a9d3cfl74rr8z8am61mqc";
+  buildDepends = [
+    aeson ekgCore httpClient lens network networkUri text time
+    unorderedContainers vector wreq
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/ekg-bosun";
+    description = "Send ekg metrics to a Bosun instance";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ekg-carbon/default.nix b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
index 06daad66967..2339009a138 100644
--- a/pkgs/development/libraries/haskell/ekg-carbon/default.nix
+++ b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ekg-carbon";
-  version = "1.0.1";
-  sha256 = "1slaykn1a6f09dzn78v2aqw8snmidycvaw5cfyr4f0ndd88vi77d";
+  version = "1.0.2";
+  sha256 = "0m8cv2hsn1745f7pj552rp9sjsyfh7fbgjw6k2ippqcbxmhqmf4i";
   buildDepends = [
     ekgCore network networkCarbon text time unorderedContainers vector
   ];
diff --git a/pkgs/development/libraries/haskell/ekg-core/default.nix b/pkgs/development/libraries/haskell/ekg-core/default.nix
index 2bdf088aea3..6e2189dbadb 100644
--- a/pkgs/development/libraries/haskell/ekg-core/default.nix
+++ b/pkgs/development/libraries/haskell/ekg-core/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ekg-core";
-  version = "0.1.0.1";
-  sha256 = "1zha9r43nalxdw22s79mf89fwfzi8lq0q9ldhw7f6c63dnwxyjja";
+  version = "0.1.0.2";
+  sha256 = "0iipj2q4msawxlvzzikiy7jls22ncbx7v3ldi7y75d52cyl2lmpg";
   buildDepends = [ text unorderedContainers ];
   meta = {
     homepage = "https://github.com/tibbe/ekg-core";
diff --git a/pkgs/development/libraries/haskell/ekg/default.nix b/pkgs/development/libraries/haskell/ekg/default.nix
index 07c522b9818..05dd7d99877 100644
--- a/pkgs/development/libraries/haskell/ekg/default.nix
+++ b/pkgs/development/libraries/haskell/ekg/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ekg";
-  version = "0.4.0.2";
-  sha256 = "0svw43dnlg93nyaxiq310sp5csbf0w68ipbhqkxm052yvc9k6fv9";
+  version = "0.4.0.5";
+  sha256 = "0ak06yz88p79bhayy8byy3j9yw9bix7zhw8yxfcdnxjwgnx621h0";
   buildDepends = [
     aeson ekgCore filepath network snapCore snapServer text time
     transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/elerea/default.nix b/pkgs/development/libraries/haskell/elerea/default.nix
index ff6e4819283..4d843bb0836 100644
--- a/pkgs/development/libraries/haskell/elerea/default.nix
+++ b/pkgs/development/libraries/haskell/elerea/default.nix
@@ -1,11 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal }:
+{ cabal, transformers, transformersBase }:
 
 cabal.mkDerivation (self: {
   pname = "elerea";
-  version = "2.7.0.2";
-  sha256 = "1n45q1hx548c6yqbj3321lky3xxsffpqvmcq0m9hw36d3cvwbvg0";
+  version = "2.8.0";
+  sha256 = "1sc71775f787dh70ay9fm6x6npsn81yci9yr984ai87ddz023sab";
+  buildDepends = [ transformers transformersBase ];
   meta = {
     description = "A minimalistic FRP library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/elevator/default.nix b/pkgs/development/libraries/haskell/elevator/default.nix
new file mode 100644
index 00000000000..a93e52a0ba0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/elevator/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cleanUnions, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "elevator";
+  version = "0.1.3";
+  sha256 = "0z7rj70ilv4y95prfdj3fjlw4icr64d66lqgyr6jp28zxrxw1535";
+  buildDepends = [ cleanUnions transformers ];
+  meta = {
+    homepage = "https://github.com/fumieval/elevator";
+    description = "Immediately lifts to a desired level";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
index 3470aab9b2b..a28c9fc4683 100644
--- a/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
+++ b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "enclosed-exceptions";
-  version = "1.0.0.2";
-  sha256 = "1jbgqqavkhz2x5br17bdhv17rcmyi7a5mxplakhgyyg73wkjq04h";
+  version = "1.0.1";
+  sha256 = "1kid1hi392h88a1am0jkm7dhwl3v78lw5wfcyhmh0x454yr3b6zz";
   buildDepends = [
     async deepseq liftedBase monadControl transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/encoding/default.nix b/pkgs/development/libraries/haskell/encoding/default.nix
index 5ec0f1502c3..148d4f4debf 100644
--- a/pkgs/development/libraries/haskell/encoding/default.nix
+++ b/pkgs/development/libraries/haskell/encoding/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   buildDepends = [
     binary extensibleExceptions HaXml mtl regexCompat
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://code.haskell.org/encoding/";
     description = "A library for various character encodings";
diff --git a/pkgs/development/libraries/haskell/engine-io-snap/default.nix b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
index 70c7a1c7d4f..b37ef7c2bc1 100644
--- a/pkgs/development/libraries/haskell/engine-io-snap/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
@@ -1,18 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsecEnumerator, engineIo, snapCore
-, unorderedContainers, websockets, websocketsSnap
+{ cabal, attoparsecEnumerator, engineIo, MonadCatchIOTransformers
+, snapCore, unorderedContainers, websockets, websocketsSnap
 }:
 
 cabal.mkDerivation (self: {
   pname = "engine-io-snap";
-  version = "1.0.1";
-  sha256 = "1hw3gmi23fdcgvz817b95bf23wa7qyg10axsnvan5qxr73pwp5iv";
+  version = "1.0.2";
+  sha256 = "0x2sb3b825ds1g2g15yyqxdrw6bh968ivmyd1933l47649qbs0xr";
   buildDepends = [
-    attoparsecEnumerator engineIo snapCore unorderedContainers
-    websockets websocketsSnap
+    attoparsecEnumerator engineIo MonadCatchIOTransformers snapCore
+    unorderedContainers websockets websocketsSnap
   ];
   meta = {
+    homepage = "http://github.com/ocharles/engine.io";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix
index f1f9d06c76a..d275a2f2b0f 100644
--- a/pkgs/development/libraries/haskell/engine-io/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io/default.nix
@@ -1,17 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, async, attoparsec, base64Bytestring, either
-, monadLoops, mwcRandom, stm, text, transformers
+{ cabal, aeson, async, attoparsec, base64Bytestring, either, free
+, monadLoops, mwcRandom, stm, stmDelay, text, transformers
 , unorderedContainers, vector, websockets
 }:
 
 cabal.mkDerivation (self: {
   pname = "engine-io";
-  version = "1.1.2";
-  sha256 = "1ry6rklrij7x1z8mw31vh41lc0axzj8l0lhmjsmhs554nv50062f";
+  version = "1.2.3";
+  sha256 = "05sc939x24f3na6nxywgbq0yx4wdamh6zk4spdclqgq65j7v0hxc";
   buildDepends = [
-    aeson async attoparsec base64Bytestring either monadLoops mwcRandom
-    stm text transformers unorderedContainers vector websockets
+    aeson async attoparsec base64Bytestring either free monadLoops
+    mwcRandom stm stmDelay text transformers unorderedContainers vector
+    websockets
   ];
   meta = {
     homepage = "http://github.com/ocharles/engine.io";
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index 881a9cd9a0a..3b40f5959f7 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "entropy";
-  version = "0.3.2";
-  sha256 = "1kk0vmfmfqcsw0pzbii9rvz32fvhvxqpn6p6jw6q2x33z6gm5f9x";
+  version = "0.3.4.1";
+  sha256 = "10myxs2a7838sywnlfggpsd7lmvzphl10zdh1vbbi18n3x79gyk0";
   meta = {
     homepage = "https://github.com/TomMD/entropy";
     description = "A platform independent entropy source";
diff --git a/pkgs/development/libraries/haskell/equational-reasoning/default.nix b/pkgs/development/libraries/haskell/equational-reasoning/default.nix
index fa88fbfe2e8..b9562573f8f 100644
--- a/pkgs/development/libraries/haskell/equational-reasoning/default.nix
+++ b/pkgs/development/libraries/haskell/equational-reasoning/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.2.0.4";
   sha256 = "1f94y6h7qg7rck7rxf6j8sygkh1xmfk0z1lr71inx6s74agjyc9j";
   buildDepends = [ singletons tagged void ];
+  jailbreak = true;
   meta = {
     description = "Proof assistant for Haskell using DataKinds & PolyKinds";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/equivalence/0.2.3.nix b/pkgs/development/libraries/haskell/equivalence/0.2.3.nix
deleted file mode 100644
index c21c0e16170..00000000000
--- a/pkgs/development/libraries/haskell/equivalence/0.2.3.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, QuickCheck, STMonadTrans, testFramework
-, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "equivalence";
-  version = "0.2.3";
-  sha256 = "0dd986y0sn89fparyz6kz9yhzysbqjcp8s99r81ihghg7s9yc743";
-  buildDepends = [ mtl STMonadTrans ];
-  testDepends = [
-    mtl QuickCheck STMonadTrans testFramework testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://bitbucket.org/paba/equivalence/";
-    description = "Maintaining an equivalence relation implemented as union-find using STT";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/equivalence/0.2.5.nix b/pkgs/development/libraries/haskell/equivalence/default.nix
index 38de239b821..38de239b821 100644
--- a/pkgs/development/libraries/haskell/equivalence/0.2.5.nix
+++ b/pkgs/development/libraries/haskell/equivalence/default.nix
diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix
index 637f32c3996..c85ff455180 100644
--- a/pkgs/development/libraries/haskell/esqueleto/default.nix
+++ b/pkgs/development/libraries/haskell/esqueleto/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "esqueleto";
-  version = "1.4.4";
-  sha256 = "00s52f8l5pbsab83fq8d03xhispyp9mqsh5vvzwiki6kspkj26a0";
+  version = "2.1.2.1";
+  sha256 = "0lynhkbrxxrngvdj5d4xlmi92s4m3dzdpd7gs1k408slil2i7r7i";
   buildDepends = [
     conduit monadLogger persistent resourcet tagged text transformers
     unorderedContainers
diff --git a/pkgs/development/libraries/haskell/exception-mtl/default.nix b/pkgs/development/libraries/haskell/exception-mtl/default.nix
index d3d21aaf27a..49fb11535a1 100644
--- a/pkgs/development/libraries/haskell/exception-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/exception-mtl/default.nix
@@ -4,11 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "exception-mtl";
-  version = "0.3.0.4";
-  sha256 = "16airfs3z1qmx42qww22m21fryr8210m7ji5rgkl2amjvj4lllvc";
+  version = "0.3.0.5";
+  sha256 = "1rqrh1wbm67w9rbh1gg5zsavlsw9nfw0hnbs9q2djglh73pq3iqj";
   buildDepends = [ exceptionTransformers mtl transformers ];
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "Exception monad transformer instances for mtl2 classes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/exception-transformers/default.nix b/pkgs/development/libraries/haskell/exception-transformers/default.nix
index e6c778e981d..2e2f828cb30 100644
--- a/pkgs/development/libraries/haskell/exception-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/exception-transformers/default.nix
@@ -1,15 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HUnit, stm, transformers }:
+{ cabal, HUnit, stm, testFramework, testFrameworkHunit
+, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "exception-transformers";
-  version = "0.3.0.3";
-  sha256 = "0z3z5pppaqqbndd4fgv1czr8f9f4a8r86bwc3bcv88yf7y8cfbwz";
+  version = "0.3.0.4";
+  sha256 = "1m4mwgzynymdjvrrrvl90q468pgwik07yy2lsff9spxhcd43w2ra";
   buildDepends = [ stm transformers ];
-  testDepends = [ HUnit transformers ];
+  testDepends = [
+    HUnit testFramework testFrameworkHunit transformers
+  ];
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "Type classes and monads for unchecked extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/exhaustive/default.nix b/pkgs/development/libraries/haskell/exhaustive/default.nix
new file mode 100644
index 00000000000..bd77f9f8f11
--- /dev/null
+++ b/pkgs/development/libraries/haskell/exhaustive/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, genericsSop, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "exhaustive";
+  version = "1.1.0";
+  sha256 = "14pdf5iks0j2vpg3w48qs32lnj8ahkd0jljjhx1qap66mss0i3jl";
+  buildDepends = [ genericsSop transformers ];
+  meta = {
+    homepage = "http://github.com/ocharles/exhaustive";
+    description = "Compile time checks that a computation considers producing data through all possible constructors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/extensible-effects/default.nix b/pkgs/development/libraries/haskell/extensible-effects/default.nix
index 0c743df4a16..e7f1f16059d 100644
--- a/pkgs/development/libraries/haskell/extensible-effects/default.nix
+++ b/pkgs/development/libraries/haskell/extensible-effects/default.nix
@@ -2,16 +2,17 @@
 
 { cabal, HUnit, QuickCheck, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2, transformers, transformersBase
+, typeAligned, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "extensible-effects";
-  version = "1.7.1";
-  sha256 = "1i7bmyga63svnky03f5xvz63795pjsqp3x7rn9amj55yj11fmp05";
-  buildDepends = [ transformers transformersBase ];
+  version = "1.9.0.1";
+  sha256 = "17hl4x4052jfn7xs6xhnc6d3x75a8haw2zsbnjd6rr5gsd1hq5kx";
+  buildDepends = [ transformers transformersBase typeAligned void ];
   testDepends = [
     HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
+    testFrameworkQuickcheck2 void
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
deleted file mode 100644
index e9c1f352a09..00000000000
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "extensible-exceptions";
-  version = "0.1.1.0";
-  sha256 = "c252dc5a505332700f041d4e1fd3d309cde6158892f9c35339bf5e67bad7f781";
-  meta = {
-    description = "Extensible exceptions";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
deleted file mode 100644
index 8003b47f64e..00000000000
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "extensible-exceptions";
-  version = "0.1.1.2";
-  sha256 = "0rsdvb7k8mp88s1jjmna17qa6363vbjgvlkpncmn8516dnxhypg3";
-  meta = {
-    description = "Extensible exceptions";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
deleted file mode 100644
index ee5abc006b6..00000000000
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "extensible-exceptions";
-  version = "0.1.1.3";
-  sha256 = "1i8rjfczsx1wjfaq423a7cp7qrnxh053865z7bg6hwhk2pxsrxkm";
-  meta = {
-    description = "Extensible exceptions";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix b/pkgs/development/libraries/haskell/extensible-exceptions/default.nix
index 39969527a85..39969527a85 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/default.nix
diff --git a/pkgs/development/libraries/haskell/extra/default.nix b/pkgs/development/libraries/haskell/extra/default.nix
new file mode 100644
index 00000000000..9e90fe2bb05
--- /dev/null
+++ b/pkgs/development/libraries/haskell/extra/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, QuickCheck, time }:
+
+cabal.mkDerivation (self: {
+  pname = "extra";
+  version = "1.0";
+  sha256 = "0ainwq8f2mp1wc30srl971xy4qnrcyrcyig1kmrxx951hgav1dkb";
+  buildDepends = [ filepath time ];
+  testDepends = [ filepath QuickCheck time ];
+  meta = {
+    homepage = "https://github.com/ndmitchell/extra#readme";
+    description = "Extra functions I use";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix
index b4e32fa2bb0..b0cd40e48fc 100644
--- a/pkgs/development/libraries/haskell/fast-logger/default.nix
+++ b/pkgs/development/libraries/haskell/fast-logger/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fast-logger";
-  version = "2.2.0";
-  sha256 = "02gc5f7vgwfdlhfawki4xxrl33lbdl05wh64qm3mb3h2dv1gnwrr";
+  version = "2.2.3";
+  sha256 = "0zap61gz0snbq42h8nyjh637fr2cm1ny9f77sqd6v3yfqjq0ljh3";
   buildDepends = [ autoUpdate blazeBuilder filepath text ];
   testDepends = [ hspec ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/fay-base/default.nix b/pkgs/development/libraries/haskell/fay-base/default.nix
index 78f6b104c94..466dd478261 100644
--- a/pkgs/development/libraries/haskell/fay-base/default.nix
+++ b/pkgs/development/libraries/haskell/fay-base/default.nix
@@ -4,14 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "fay-base";
-  version = "0.19.2";
-  sha256 = "08iv3097h877hxbmpmar1p526famm5pb1djq3qwla3bkqrzxgmf4";
+  version = "0.19.4.1";
+  sha256 = "1pk1jjwyh2n9fg583v4cd0ll5qglphwnfm08q95klcvc61p4wqg6";
   buildDepends = [ fay ];
   meta = {
-    homepage = "https://github.com/faylang/fay-base";
+    homepage = "https://github.com/faylang/fay/";
     description = "The base package for Fay";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+    inherit (fay.meta) broken;
   };
 })
diff --git a/pkgs/development/libraries/haskell/fay-text/default.nix b/pkgs/development/libraries/haskell/fay-text/default.nix
index 68bbe884e87..05b2505d762 100644
--- a/pkgs/development/libraries/haskell/fay-text/default.nix
+++ b/pkgs/development/libraries/haskell/fay-text/default.nix
@@ -4,13 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "fay-text";
-  version = "0.3.0.2";
-  sha256 = "12hgamqbrflmnr3ri0ajvzf6al5nn4adcdmv6ag6h5mrsik2sklf";
+  version = "0.3.2";
+  sha256 = "1yjsn188ixpfqdr75xyl57rbv53dybik4g28h6p3jv73q494552m";
   buildDepends = [ fay fayBase text ];
   meta = {
     homepage = "https://github.com/faylang/fay-text";
     description = "Fay Text type represented as JavaScript strings";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    inherit (fay.meta) broken;
   };
 })
diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix
index edbf19bda62..9a268a9b34f 100644
--- a/pkgs/development/libraries/haskell/fay/default.nix
+++ b/pkgs/development/libraries/haskell/fay/default.nix
@@ -1,30 +1,31 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom
-, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript
-, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb
-, tasty, tastyHunit, tastyTh, text, time, transformers, uniplate
-, unorderedContainers, utf8String, vector
+{ cabal, aeson, dataDefault, filepath, ghcPaths, haskellNames
+, haskellPackages, haskellSrcExts, languageEcmascript, mtl
+, optparseApplicative, safe, sourcemap, split, spoon, syb, text
+, time, transformers, uniplate, unorderedContainers, utf8String
+, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "fay";
-  version = "0.20.1.2";
-  sha256 = "1ssii9wkml8jn8kcdq8h6sxrq4gap4asyglakvif2zawl3sqrdji";
+  version = "0.21.2.1";
+  sha256 = "06ijfkm1x5a15hac9f4cs4f16rva2hkf07xfh0mm9q3wkamqxlfm";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson attoparsec dataDefault filepath ghcPaths groom haskellNames
-    haskellPackages haskellSrcExts languageEcmascript mtl
-    optparseApplicative safe sourcemap split spoon syb tasty tastyHunit
-    tastyTh text time transformers uniplate unorderedContainers
-    utf8String vector
+    aeson dataDefault filepath ghcPaths haskellNames haskellPackages
+    haskellSrcExts languageEcmascript mtl optparseApplicative safe
+    sourcemap split spoon syb text time transformers uniplate
+    unorderedContainers utf8String vector
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/faylang/fay/wiki";
     description = "A compiler for Fay, a Haskell subset that compiles to JavaScript";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix
index 37d24309732..b325af923d7 100644
--- a/pkgs/development/libraries/haskell/fb/default.nix
+++ b/pkgs/development/libraries/haskell/fb/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fb";
-  version = "1.0.4";
-  sha256 = "1sp0x5p9l02i2ynvynazhgs5lqqwih997c2fyfp0xi24qsc7ilr2";
+  version = "1.0.8";
+  sha256 = "1cv722kkp6lbxajv3ka4088x2491yy41cfypqqkq753mm59x6s9m";
   buildDepends = [
     aeson attoparsec base16Bytestring base64Bytestring cereal conduit
     conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault
@@ -22,7 +22,6 @@ cabal.mkDerivation (self: {
     aeson conduit dataDefault hspec httpConduit HUnit liftedBase
     monadControl QuickCheck resourcet text time transformers
   ];
-  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "https://github.com/prowdsponsor/fb";
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
deleted file mode 100644
index 61043f82f97..00000000000
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "fgl";
-  version = "5.4.2.2";
-  sha256 = "8232c337f0792854bf2a12a5fd1bc46726fff05d2f599053286ff873364cd7d2";
-  buildDepends = [ mtl ];
-  meta = {
-    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
-    description = "Martin Erwig's Functional Graph Library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
deleted file mode 100644
index 1ecc9fb05e7..00000000000
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "fgl";
-  version = "5.4.2.3";
-  sha256 = "1f46siqqv8bc9v8nxr72nxabpzfax117ncgdvif6rax5ansl48g7";
-  buildDepends = [ mtl ];
-  meta = {
-    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
-    description = "Martin Erwig's Functional Graph Library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
deleted file mode 100644
index 65596c350de..00000000000
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "fgl";
-  version = "5.4.2.4";
-  sha256 = "0rh22786f37mpsvhkv075wjh5sd0c83nlhk669xil9rd7swcr66f";
-  buildDepends = [ mtl ];
-  meta = {
-    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
-    description = "Martin Erwig's Functional Graph Library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix b/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix
deleted file mode 100644
index 4fd2a4d0597..00000000000
--- a/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "fgl";
-  version = "5.5.0.0";
-  sha256 = "1kdqxbpsaka97rx0c7czlc1nfi72mdxs46gnqa8p0wxn1vx437g3";
-  buildDepends = [ mtl ];
-  meta = {
-    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
-    description = "Martin Erwig's Functional Graph Library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix b/pkgs/development/libraries/haskell/fgl/default.nix
index 65a67528d01..65a67528d01 100644
--- a/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix
+++ b/pkgs/development/libraries/haskell/fgl/default.nix
diff --git a/pkgs/development/libraries/haskell/file-location/default.nix b/pkgs/development/libraries/haskell/file-location/default.nix
index 6cff9640cdf..e027047a9ea 100644
--- a/pkgs/development/libraries/haskell/file-location/default.nix
+++ b/pkgs/development/libraries/haskell/file-location/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "file-location";
-  version = "0.4.5.2";
-  sha256 = "0dyzf2lhh0n4hwbh44qfh6bw9snl4hha9sv76c4ndi7v1rvnx197";
+  version = "0.4.5.3";
+  sha256 = "0d1iqhdac1gcag1d7ch9ia4fm97jpp31m46b794z90bmm6nr29h9";
   buildDepends = [ liftedBase transformers ];
   testDepends = [ liftedBase transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index 116875ecbdc..1fa820a2c5a 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -6,11 +6,12 @@
 
 cabal.mkDerivation (self: {
   pname = "filestore";
-  version = "0.6.0.3";
-  sha256 = "03qmv3cqp1fv7b7pdjdx12cb27bfjbwwjdhkcvkfq89qwk9wh1h0";
+  version = "0.6.0.4";
+  sha256 = "1b3ymdqwcn84m8kkybshx10bfylby49i0yhbassvlgf0n096lp12";
   buildDepends = [ Diff filepath parsec split time utf8String xml ];
   testDepends = [ Diff filepath HUnit mtl time ];
   jailbreak = true;
+  doCheck = false;
   meta = {
     description = "Interface for versioning file stores";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/fixed-vector/default.nix b/pkgs/development/libraries/haskell/fixed-vector/default.nix
new file mode 100644
index 00000000000..81df126dd75
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fixed-vector/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, doctest, filemanip, primitive }:
+
+cabal.mkDerivation (self: {
+  pname = "fixed-vector";
+  version = "0.7.0.0";
+  sha256 = "07wpzcpnnz0jjq5gs4ra8c2hyrxzmp0ryk06y3ryf8i4w65awgvf";
+  buildDepends = [ primitive ];
+  testDepends = [ doctest filemanip primitive ];
+  meta = {
+    description = "Generic vectors with statically known size";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fixed/default.nix b/pkgs/development/libraries/haskell/fixed/default.nix
new file mode 100644
index 00000000000..5a1aef66051
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fixed/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "fixed";
+  version = "0.2.1";
+  sha256 = "1ayfya62ngcyyhi736fl5cd39iw568lkl16j4mliw3mi1cs2cic0";
+  meta = {
+    homepage = "http://github.com/ekmett/fixed";
+    description = "Signed 15.16 precision fixed point arithmetic";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/focus/default.nix b/pkgs/development/libraries/haskell/focus/default.nix
index 480d974e2b8..9a890587f84 100644
--- a/pkgs/development/libraries/haskell/focus/default.nix
+++ b/pkgs/development/libraries/haskell/focus/default.nix
@@ -1,12 +1,11 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, lochTh, placeholders }:
+{ cabal }:
 
 cabal.mkDerivation (self: {
   pname = "focus";
-  version = "0.1.2";
-  sha256 = "0j157nv668621i94iqg923bfg7594bpfn0q9scb62cik2yikc1p0";
-  buildDepends = [ lochTh placeholders ];
+  version = "0.1.3";
+  sha256 = "11l6rlr22m0z41c9fynpisj0cnx70zzcxhsakz9b09ap8wj0raqy";
   meta = {
     homepage = "https://github.com/nikita-volkov/focus";
     description = "A general abstraction for manipulating elements of container data structures";
diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix
index 7a942e97dc8..bd0cd070d11 100644
--- a/pkgs/development/libraries/haskell/foldl/default.nix
+++ b/pkgs/development/libraries/haskell/foldl/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "foldl";
-  version = "1.0.5";
-  sha256 = "08yjzzplg715hzkhwbf8nv2zm7c5wd2kph4zx94iml0cnc6ip048";
+  version = "1.0.7";
+  sha256 = "0mqxibifrlfqnibzy9b2rncy4dyljdz35560ni3rwi8hkyix74a9";
   buildDepends = [ primitive text transformers vector ];
   meta = {
     description = "Composable, streaming, and efficient left folds";
diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix
index 09a22c0ac60..91dfc9dca84 100644
--- a/pkgs/development/libraries/haskell/force-layout/default.nix
+++ b/pkgs/development/libraries/haskell/force-layout/default.nix
@@ -4,11 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "force-layout";
-  version = "0.3.0.7";
-  sha256 = "1kq6fg90yj735rpipspykvkmzs2cnwyib6pkph58523bvahgi2dy";
+  version = "0.3.0.8";
+  sha256 = "00b831l94r3lx0b330ql3w551w0fwziayhsjydzbfqq335syaaxg";
   buildDepends = [
     dataDefaultClass lens vectorSpace vectorSpacePoints
   ];
+  jailbreak = true;
   meta = {
     description = "Simple force-directed layout";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/formatting/default.nix b/pkgs/development/libraries/haskell/formatting/default.nix
index 1345ac76243..04fd9185081 100644
--- a/pkgs/development/libraries/haskell/formatting/default.nix
+++ b/pkgs/development/libraries/haskell/formatting/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "formatting";
-  version = "5.2";
-  sha256 = "0lmbzm98idy7bzpvaqnk9j6181vakk553smqkf959gn5jdj95z3k";
+  version = "5.4";
+  sha256 = "017fm3pqr2nqpcqmpldr74cvb641hxvybhvnwv8a8vv4ry1vdrk9";
   buildDepends = [ scientific text textFormat time ];
   meta = {
     description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
diff --git a/pkgs/development/libraries/haskell/free-game/default.nix b/pkgs/development/libraries/haskell/free-game/default.nix
index ee47e6bb3f5..a7edf7817ba 100644
--- a/pkgs/development/libraries/haskell/free-game/default.nix
+++ b/pkgs/development/libraries/haskell/free-game/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "free-game";
-  version = "1.1.78";
-  sha256 = "11f3ib4nx0madbx58gscaqwc1k5mxw70klrq7z7lac9w61phkws6";
+  version = "1.1.80";
+  sha256 = "1vpwrviwxib22mkaqmwndzfly8iicr85sh1y914gwp5n83lmkava";
   buildDepends = [
     boundingboxes colors controlBool filepath free freetype2 GLFWB
     hashable JuicyPixels JuicyPixelsUtil lens linear mtl OpenGL
diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix
index e516eb3613a..5837cc448c2 100644
--- a/pkgs/development/libraries/haskell/free/default.nix
+++ b/pkgs/development/libraries/haskell/free/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "free";
-  version = "4.9";
-  sha256 = "01pa9ax9i4pkh9a5achndx5s7sxvhnk6rm57g8rzav79hzsr4cnx";
+  version = "4.10.0.1";
+  sha256 = "0vs080bbcbncjqa7z0l6zd10kpmilj8khxiqdn4bq24mifyryhvq";
   buildDepends = [
     bifunctors comonad distributive mtl preludeExtras profunctors
     semigroupoids semigroups transformers
diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix
index 3d308f6a88f..4db72b35234 100644
--- a/pkgs/development/libraries/haskell/fsnotify/default.nix
+++ b/pkgs/development/libraries/haskell/fsnotify/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, cabal, Cabal, Glob, hspec, QuickCheck, random
-, systemFileio, systemFilepath, text, time, uniqueid
-, hinotify, hfsevents
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, hinotify, systemFileio, systemFilepath, tasty
+, tastyHunit, temporaryRc, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "fsnotify";
-  version = "0.0.11";
-  sha256 = "03m911pncyzgfdx4aj38azbbmj25fdm3s9l1w27zv0l730fy8ywq";
-  buildDepends = [ systemFileio systemFilepath text time ] ++
-    (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]);
+  version = "0.1.0.3";
+  sha256 = "0m6jyg45azk377jklgwyqrx95q174cxd5znpyh9azznkh09wq58z";
+  buildDepends = [
+    async hinotify systemFileio systemFilepath text time
+  ];
   testDepends = [
-    Cabal Glob hspec QuickCheck random systemFileio
-    systemFilepath text time uniqueid
-  ] ++ (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]);
+    async systemFileio systemFilepath tasty tastyHunit temporaryRc
+  ];
   doCheck = false;
   meta = {
     description = "Cross platform library for file change notification";
diff --git a/pkgs/development/libraries/haskell/functor-infix/default.nix b/pkgs/development/libraries/haskell/functor-infix/default.nix
new file mode 100644
index 00000000000..d3e6322a7cb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/functor-infix/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "functor-infix";
+  version = "0.0.1";
+  sha256 = "1f8m4nxlr2il9j0ilgw91fhp6mmz5xqlhylavncqwvbcq82362dc";
+  meta = {
+    homepage = "https://github.com/fmap/functor-infix";
+    description = "Compositions of functors";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/generic-aeson/default.nix b/pkgs/development/libraries/haskell/generic-aeson/default.nix
index 9c18b511efc..fc3e6c32c72 100644
--- a/pkgs/development/libraries/haskell/generic-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/generic-aeson/default.nix
@@ -1,19 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, genericDeriving, mtl, tagged, text
-, vector
+, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "generic-aeson";
-  version = "0.1.1.1";
-  sha256 = "14jpma2p4dxmzpwd557igbg7xhgdzp9w9fm6dxa06sgfqxvb7ln1";
+  version = "0.2.0.2";
+  sha256 = "1x58c7xgdc1asg4n61fpikn7jvspyqawykq4q49xhsp5dp11lzzh";
   buildDepends = [
-    aeson attoparsec genericDeriving mtl tagged text vector
+    aeson attoparsec genericDeriving mtl tagged text
+    unorderedContainers vector
   ];
   meta = {
     description = "Derivation of Aeson instances using GHC generics";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/generic-deriving/default.nix b/pkgs/development/libraries/haskell/generic-deriving/default.nix
index 4ec1f451788..06c54391130 100644
--- a/pkgs/development/libraries/haskell/generic-deriving/default.nix
+++ b/pkgs/development/libraries/haskell/generic-deriving/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "generic-deriving";
-  version = "1.6.3";
-  sha256 = "04cjyl5aphf36qbbn75midrqj151fc77z2znpal8dk52gaab2f67";
+  version = "1.7.0";
+  sha256 = "145bixg4jr0hhw32jznrvl4qjjk7bgjbxlfznqra1s1rnmcyr5v6";
   meta = {
     description = "Generic programming library for generalised deriving";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/generics-sop/default.nix b/pkgs/development/libraries/haskell/generics-sop/default.nix
index 2fce6c66be5..d7724a7b1ba 100644
--- a/pkgs/development/libraries/haskell/generics-sop/default.nix
+++ b/pkgs/development/libraries/haskell/generics-sop/default.nix
@@ -4,13 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "generics-sop";
-  version = "0.1.0.2";
-  sha256 = "01s3v3a29wdsps9vas8in2ks5p4d2arqp3qvmzqa7v2sz786xjra";
+  version = "0.1.0.4";
+  sha256 = "00rjlqsjb7hba5q0kbfwg4ajk75a4sd7m72wx18fa9rlz92qbx2j";
   buildDepends = [ tagged ];
   meta = {
     description = "Generic Programming using True Sums of Products";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [
+      aycanirican ocharles
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/geniplate/default.nix b/pkgs/development/libraries/haskell/geniplate/default.nix
index 9ab6d2df709..87e1296330a 100644
--- a/pkgs/development/libraries/haskell/geniplate/default.nix
+++ b/pkgs/development/libraries/haskell/geniplate/default.nix
@@ -4,11 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "geniplate";
-  version = "0.6.0.4";
-  sha256 = "1sw1bs3nzbdmvphy5g65pl40y8wdqkgvszx1i6viqjymjq96xv20";
+  version = "0.6.0.5";
+  sha256 = "01cwyf5kql4hf76p1ssqpmhaxyl7rmnmqwv644wgd0j8km8b6szc";
   buildDepends = [ mtl ];
   meta = {
-    description = "Use template Haskell to generate Uniplate-like functions";
+    description = "Use Template Haskell to generate Uniplate-like functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/ghc-heap-view/default.nix b/pkgs/development/libraries/haskell/ghc-heap-view/default.nix
index 704c820797e..a7032f5a250 100644
--- a/pkgs/development/libraries/haskell/ghc-heap-view/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-heap-view/default.nix
@@ -1,12 +1,13 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, binary, transformers }:
+{ cabal, binary, deepseq, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-heap-view";
-  version = "0.5.1";
-  sha256 = "1qi7f3phj2j63x1wd2cvk36945cxd84s12zs03hlrn49wzx2pf1n";
+  version = "0.5.3";
+  sha256 = "1jcqi4gahxmhd61hl75wgb9dp99kxld68860jnd9x4hnp5cd33q0";
   buildDepends = [ binary transformers ];
+  testDepends = [ deepseq ];
   postInstall = ''
     ensureDir "$out/share/ghci"
     ln -s "$out/share/$pname-$version/ghci" "$out/share/ghci/$pname"
@@ -16,8 +17,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ andres ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
-
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix b/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix
deleted file mode 100644
index a9c06e80f8a..00000000000
--- a/pkgs/development/libraries/haskell/ghc-mod/4.1.6.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, convertible, deepseq, doctest, emacs, filepath
-, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "ghc-mod";
-  version = "4.1.6";
-  sha256 = "093wafaizr2xf7vmzj6f3vs8ch0vpcmwlrja6af6hshgaj2d80qs";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    Cabal convertible deepseq filepath ghcSybUtils hlint ioChoice syb
-    time transformers
-  ];
-  testDepends = [
-    Cabal convertible deepseq doctest filepath ghcSybUtils hlint hspec
-    ioChoice syb time transformers
-  ];
-  buildTools = [ emacs ];
-  doCheck = false;
-  configureFlags = "--datasubdir=${self.pname}-${self.version}";
-  postInstall = ''
-    cd $out/share/$pname-$version
-    make
-    rm Makefile
-    cd ..
-    mkdir -p "$out/share/emacs"
-    mv $pname-$version emacs/site-lisp
-    mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
-    cat - > $out/bin/ghc-mod <<EOF
-    #! ${self.stdenv.shell}
-    COMMAND=\$1
-    shift
-    eval exec $out/bin/.ghc-mod-wrapped \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
-    EOF
-    chmod +x $out/bin/ghc-mod
-  '';
-  meta = {
-    homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
-    description = "Happy Haskell Programming";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.bluescreen303
-      self.stdenv.lib.maintainers.ocharles
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix b/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix
deleted file mode 100644
index 3eefe056218..00000000000
--- a/pkgs/development/libraries/haskell/ghc-mod/5.0.1.1.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, convertible, deepseq, djinnGhc, doctest, emacs
-, filepath, ghcPaths, ghcSybUtils, haskellSrcExts, hlint, hspec
-, ioChoice, makeWrapper, monadControl, monadJournal, mtl, split
-, syb, text, time, transformers, transformersBase
-}:
-
-cabal.mkDerivation (self: {
-  pname = "ghc-mod";
-  version = "5.0.1.1";
-  sha256 = "0qyl1653dj14ap3035kjj7xl8rsmgpwh32bj2lnwrmdm2223m8a3";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    Cabal convertible deepseq djinnGhc filepath ghcPaths ghcSybUtils
-    haskellSrcExts hlint ioChoice monadControl monadJournal mtl split
-    syb text time transformers transformersBase
-  ];
-  testDepends = [
-    Cabal convertible deepseq djinnGhc doctest filepath ghcPaths
-    ghcSybUtils haskellSrcExts hlint hspec ioChoice monadControl
-    monadJournal mtl split syb text time transformers transformersBase
-  ];
-  buildTools = [ emacs makeWrapper ];
-  doCheck = false;
-  configureFlags = "--datasubdir=${self.pname}-${self.version}";
-  postInstall = ''
-    cd $out/share/$pname-$version
-    make
-    rm Makefile
-    cd ..
-    ensureDir "$out/share/emacs"
-    mv $pname-$version emacs/site-lisp
-    wrapProgram $out/bin/ghc-mod --add-flags \
-      "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"-g -package-db -g\")"
-    wrapProgram $out/bin/ghc-modi --add-flags \
-      "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"-g -package-db -g\")"
-  '';
-  meta = {
-    homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
-    description = "Happy Haskell Programming";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [
-      andres bluescreen303 ocharles
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
new file mode 100644
index 00000000000..a2adaa2403d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -0,0 +1,52 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, Cabal, convertible, dataDefault, deepseq, djinnGhc
+, doctest, emacs, filepath, ghcPaths, ghcSybUtils, haskellSrcExts
+, hlint, hspec, ioChoice, makeWrapper, monadControl, monadJournal
+, mtl, split, syb, temporary, text, time, transformers
+, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-mod";
+  version = "5.2.1.2";
+  sha256 = "11wnrdb6blw169w6kd49ax9h1r9qkka5329lmdhimvki8amv8riv";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    async Cabal convertible dataDefault deepseq djinnGhc filepath
+    ghcPaths ghcSybUtils haskellSrcExts hlint ioChoice monadControl
+    monadJournal mtl split syb temporary text time transformers
+    transformersBase
+  ];
+  testDepends = [
+    Cabal convertible deepseq djinnGhc doctest filepath ghcPaths
+    ghcSybUtils haskellSrcExts hlint hspec ioChoice monadControl
+    monadJournal mtl split syb temporary text time transformers
+    transformersBase
+  ];
+  buildTools = [ emacs makeWrapper ];
+  doCheck = false;
+  configureFlags = "--datasubdir=${self.pname}-${self.version}";
+  postInstall = ''
+    cd $out/share/$pname-$version
+    make
+    rm Makefile
+    cd ..
+    ensureDir "$out/share/emacs"
+    mv $pname-$version emacs/site-lisp
+    wrapProgram $out/bin/ghc-mod --add-flags \
+      "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"-g -package-db -g\")"
+    wrapProgram $out/bin/ghc-modi --add-flags \
+      "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"-g -package-db -g\")"
+  '';
+  meta = {
+    homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
+    description = "Happy Haskell Programming";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [
+      andres bluescreen303 ocharles
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghc-parser/default.nix b/pkgs/development/libraries/haskell/ghc-parser/default.nix
new file mode 100644
index 00000000000..1cbfe4a19f3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-parser/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs, happy }:
+
+cabal.mkDerivation (self: {
+  pname = "ghc-parser";
+  version = "0.1.3.0";
+  sha256 = "13p09mj92jh4y0v2r672d49fmlz3l5r2r1lqg0jjy6kj045wcfdn";
+  buildTools = [ cpphs happy ];
+  patchPhase = ''
+    substituteInPlace build-parser.sh --replace "/bin/bash" "$SHELL"
+  '';
+  meta = {
+    homepage = "https://github.com/gibiansky/IHaskell";
+    description = "Haskell source parser from GHC";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ edwtjo ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix
index 741523011ec..5a1da0848b2 100644
--- a/pkgs/development/libraries/haskell/ghc-vis/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-vis";
-  version = "0.7.2.3";
-  sha256 = "1gl059n85yxksnq8y7i1vrsjdg4al6himzpdmw95v61y59bbs6c2";
+  version = "0.7.2.7";
+  sha256 = "0kxkmbp71yx5mskzpcyjd8s2yq01q1q6dxmqzmwg6naalcpcbswv";
   buildDepends = [
     cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text
     transformers xdot
@@ -22,6 +22,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ andres ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
deleted file mode 100644
index 8c87bcc0dc5..00000000000
--- a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, ghcjsBase, mtl, text }:
-
-cabal.mkDerivation (self: {
-  pname = "ghcjs-dom";
-  version = "0.1.0.0";
-  sha256 = "0qm43bd4m7w14p6ag643h09pll4fp09j1mzjyqvp0dhal03dc723";
-  buildDepends = [ ghcjsBase mtl text ];
-  meta = {
-    description = "DOM library that supports both GHCJS and WebKitGTK";
-    license = self.stdenv.lib.licenses.mit;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/ghcjs-prim/default.nix b/pkgs/development/libraries/haskell/ghcjs-prim/default.nix
new file mode 100644
index 00000000000..04d73661e60
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghcjs-prim/default.nix
@@ -0,0 +1,12 @@
+{ cabal, primitive, fetchgit }:
+
+cabal.mkDerivation (self: {
+  pname = "ghcjs-prim";
+  version = "0.1.0.0";
+  src = fetchgit {
+    url = git://github.com/ghcjs/ghcjs-prim.git;
+    rev = "8e003e1a1df10233bc3f03d7bbd7d37de13d2a84";
+    sha256 = "11k2r87s58wmpxykn61lihn4vm3x67cm1dygvdl26papifinj6pz";
+  };
+  buildDepends = [ primitive ];
+})
diff --git a/pkgs/development/libraries/haskell/gio/default.nix b/pkgs/development/libraries/haskell/gio/default.nix
index 63468acf27f..c98f772f87a 100644
--- a/pkgs/development/libraries/haskell/gio/default.nix
+++ b/pkgs/development/libraries/haskell/gio/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gio";
-  version = "0.13.0.0";
-  sha256 = "05mycm6nrwwpjflcmm3w33b5nmm6fgyzwzrx1piqazvd1magwcyj";
+  version = "0.13.0.3";
+  sha256 = "15025jj6i1gpvjs46545vzmvs6ka41x15lrllqr9hd0qsyhibsf5";
   buildDepends = [ glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   pkgconfigDepends = [ glib ];
diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix
index f20976b8dcf..3e2b84a93db 100644
--- a/pkgs/development/libraries/haskell/github/default.nix
+++ b/pkgs/development/libraries/haskell/github/default.nix
@@ -1,18 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, caseInsensitive, conduit, dataDefault
-, failure, hashable, HTTP, httpConduit, httpTypes, network, text
-, time, unorderedContainers, vector
+{ cabal, aeson, attoparsec, base16Bytestring, byteable
+, caseInsensitive, conduit, cryptohash, dataDefault, failure
+, hashable, HTTP, httpConduit, httpTypes, network, text, time
+, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "github";
-  version = "0.11.0";
-  sha256 = "13p0iplxr85fvgx5lird76xchmhh7xpddq900qr02kbvn5mqv607";
+  version = "0.13.1";
+  sha256 = "0rz89lpswxxsdyfjb63v9md96bxr3abxzwqryh1a2jxhm7f1ia5l";
   buildDepends = [
-    aeson attoparsec caseInsensitive conduit dataDefault failure
-    hashable HTTP httpConduit httpTypes network text time
-    unorderedContainers vector
+    aeson attoparsec base16Bytestring byteable caseInsensitive conduit
+    cryptohash dataDefault failure hashable HTTP httpConduit httpTypes
+    network text time unorderedContainers vector
   ];
   meta = {
     homepage = "https://github.com/fpco/github";
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 0e0f147bab9..d256c2f014f 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -2,25 +2,24 @@
 
 { cabal, aeson, base64Bytestring, blazeHtml, ConfigFile, feed
 , filepath, filestore, ghcPaths, happstackServer, highlightingKate
-, hoauth2, hslogger, HStringTemplate, HTTP, httpClient
-, httpClientTls, json, mtl, network, networkUri, pandoc
-, pandocTypes, parsec, random, recaptcha, safe, SHA, split, syb
-, tagsoup, text, time, uri, url, utf8String, xhtml, xml
-, xssSanitize, zlib
+, hoauth2, hslogger, HStringTemplate, HTTP, httpClientTls
+, httpConduit, json, mtl, network, networkUri, pandoc, pandocTypes
+, parsec, random, recaptcha, safe, SHA, split, syb, tagsoup, text
+, time, uri, url, utf8String, uuid, xhtml, xml, xssSanitize, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "gitit";
-  version = "0.10.5";
-  sha256 = "0p2x2l729rwals0kx8ymk6j3fqvlyjvrj6mmh8slcg93h4smwb4j";
+  version = "0.10.6.1";
+  sha256 = "1l6zra0yiwrmiycblp25b5yd1yrz94537l8zkspkf7z6wc8vdkn0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson base64Bytestring blazeHtml ConfigFile feed filepath filestore
     ghcPaths happstackServer highlightingKate hoauth2 hslogger
-    HStringTemplate HTTP httpClient httpClientTls json mtl network
+    HStringTemplate HTTP httpClientTls httpConduit json mtl network
     networkUri pandoc pandocTypes parsec random recaptcha safe SHA
-    split syb tagsoup text time uri url utf8String xhtml xml
+    split syb tagsoup text time uri url utf8String uuid xhtml xml
     xssSanitize zlib
   ];
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
index 6d2af558706..bb7206803eb 100644
--- a/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
+++ b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gitlib-libgit2";
-  version = "3.1.0";
-  sha256 = "1kjwc36fd14j2ipw53j8hdsy29gxir1qrm54wxgpp5n4q2kcs9pq";
+  version = "3.1.0.1";
+  sha256 = "0rqx1cqj7rciy7kr5dfzh4crvjk0s6amm3d5nzyawkkkdda54dcs";
   buildDepends = [
     conduit conduitCombinators exceptions fastLogger filepath gitlib
     hlibgit2 liftedAsync liftedBase missingForeign mmorph monadControl
diff --git a/pkgs/development/libraries/haskell/gitlib-test/default.nix b/pkgs/development/libraries/haskell/gitlib-test/default.nix
index 38e1cbc36e7..130a0efdcd1 100644
--- a/pkgs/development/libraries/haskell/gitlib-test/default.nix
+++ b/pkgs/development/libraries/haskell/gitlib-test/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gitlib-test";
-  version = "3.1.0";
-  sha256 = "0hnwx5r9fdkxvx0zmqffpym921dvf1x2lky8w11y3rfhk9i1g7l4";
+  version = "3.1.0.1";
+  sha256 = "1c65v86brvw3sy48vg79j0ijc5n4cpafksqsmbjs50h3v80zkdm3";
   buildDepends = [
     conduit conduitCombinators exceptions gitlib hspec
     hspecExpectations HUnit monadControl tagged text time transformers
diff --git a/pkgs/development/libraries/haskell/gl/default.nix b/pkgs/development/libraries/haskell/gl/default.nix
new file mode 100644
index 00000000000..05c7a68d0c3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gl/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, fixed, half, hxt, mesa, split, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "gl";
+  version = "0.6.1";
+  sha256 = "0wqsbwnp69g6vz5irf65zv1nx4vnlwcm771jxzk70r2wzi2vsg3y";
+  buildDepends = [ filepath fixed half hxt split transformers ];
+  extraLibraries = [ mesa ];
+  noHaddock = true;
+  meta = {
+    description = "Complete OpenGL raw bindings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index 4a17862c966..872364fe985 100644
--- a/pkgs/development/libraries/haskell/glib/default.nix
+++ b/pkgs/development/libraries/haskell/glib/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "glib";
-  version = "0.13.0.1";
-  sha256 = "0xbv7y1lmy35k6h2cgav7mxvpywvwfw47jq7qkcjj8mmr2sizp8i";
+  version = "0.13.0.6";
+  sha256 = "1hn3l0vrz76gmk7bjhs4nw68izf29k0pxm92l0zih7wq5ny4lhrv";
   buildDepends = [ text utf8String ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/gloss-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
index 66e6805ab54..172d5f31526 100644
--- a/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/gloss-accelerate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss-accelerate";
-  version = "1.8.0.0";
-  sha256 = "1hcqgsdk5pjqdr2j4i5614a1r56zfxqx5nc3xpnc4yw6hssan280";
+  version = "1.8.15.0";
+  sha256 = "1nj2rnp2bg3xmi4xbaws9jc7qx3b4qqg9fyvfv13xdav28d7iqb0";
   buildDepends = [ accelerate accelerateCuda gloss ];
   meta = {
     description = "Extras to interface Gloss and Accelerate";
diff --git a/pkgs/development/libraries/haskell/gloss-banana/default.nix b/pkgs/development/libraries/haskell/gloss-banana/default.nix
new file mode 100644
index 00000000000..58adb03fc78
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-banana/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, gloss, reactiveBanana }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-banana";
+  version = "0.1.0.4";
+  sha256 = "0zzpdryfcqvxpzv53ymsvkm2nza9ryvzqgf3n89pnvrni91avgj3";
+  buildDepends = [ gloss reactiveBanana ];
+  meta = {
+    homepage = "https://github.com/Twey/gloss-banana";
+    description = "An Interface for gloss in terms of a reactive-banana Behavior";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ twey ];
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
index 2a51b17dcd5..1a21c2632ee 100644
--- a/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/gloss-raster-accelerate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss-raster-accelerate";
-  version = "1.8.0.0";
-  sha256 = "17545lb99iszhmx8f8fan0dm76ps6bc977zs2ramycnybzbb3kyc";
+  version = "1.8.15.0";
+  sha256 = "1fs3ybrzkykslac1zzh6g73lfdfysn6y2fr1pra9hd0a7x5a8j10";
   buildDepends = [ accelerate accelerateCuda gloss glossAccelerate ];
   meta = {
     description = "Parallel rendering of raster images using Accelerate";
diff --git a/pkgs/development/libraries/haskell/gloss-raster/default.nix b/pkgs/development/libraries/haskell/gloss-raster/default.nix
index ff5e202ae73..16316b16590 100644
--- a/pkgs/development/libraries/haskell/gloss-raster/default.nix
+++ b/pkgs/development/libraries/haskell/gloss-raster/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, gloss, llvm, repa }:
+{ cabal, gloss, glossRendering, llvm, repa }:
 
 cabal.mkDerivation (self: {
   pname = "gloss-raster";
-  version = "1.8.2.1";
-  sha256 = "0ls8rlwrbpisrmq2xigf9926pak028dmld6shrblcmdbykaz55ha";
-  buildDepends = [ gloss repa ];
+  version = "1.9.2.1";
+  sha256 = "0vz03hw9rck9vcbh1lvy7dncij9ykgh7mslb3hwsz8z570dbnacw";
+  buildDepends = [ gloss glossRendering repa ];
   extraLibraries = [ llvm ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/gloss-rendering/default.nix b/pkgs/development/libraries/haskell/gloss-rendering/default.nix
new file mode 100644
index 00000000000..190993e44fc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-rendering/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bmp, GLUT, OpenGL }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-rendering";
+  version = "1.9.2.1";
+  sha256 = "05wdiadwjykz8x0fimznp3q1drm4v3vnv6cv6wjkj1xsclmhb99k";
+  buildDepends = [ bmp GLUT OpenGL ];
+  meta = {
+    description = "Gloss picture data types and rendering functions";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index ce6357baaeb..da6eb98776f 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, bmp, GLUT, OpenGL }:
+{ cabal, bmp, glossRendering, GLUT, OpenGL }:
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.8.2.1";
-  sha256 = "0wnrss7j7zf4lbmr5rryx7m5qb4pqh7vvz11ksbsfn3d3hf285y2";
-  buildDepends = [ bmp GLUT OpenGL ];
+  version = "1.9.2.1";
+  sha256 = "1fk7472lw4621gv64fv4mna8z1av15f7d0didpc9r22rdlkpa80l";
+  buildDepends = [ bmp glossRendering GLUT OpenGL ];
   meta = {
     homepage = "http://gloss.ouroborus.net";
     description = "Painless 2D vector graphics, animations and simulations";
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 47fc34c55ba..c50e0403bd6 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -1,7 +1,7 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, colour, dlist, fgl, filepath, polyparse, QuickCheck
-, temporary, text, transformers, wlPprintText
+, systemGraphviz, temporary, text, transformers, wlPprintText
 }:
 
 cabal.mkDerivation (self: {
@@ -14,7 +14,8 @@ cabal.mkDerivation (self: {
     colour dlist fgl filepath polyparse temporary text transformers
     wlPprintText
   ];
-  testDepends = [ fgl filepath QuickCheck text ];
+  testDepends = [ fgl filepath QuickCheck systemGraphviz text ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://projects.haskell.org/graphviz/";
diff --git a/pkgs/development/libraries/haskell/greencard/default.nix b/pkgs/development/libraries/haskell/greencard/default.nix
new file mode 100644
index 00000000000..530c3be1505
--- /dev/null
+++ b/pkgs/development/libraries/haskell/greencard/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "greencard";
+  version = "3.0.4.2";
+  sha256 = "1vl9p6mqss5r4jfqnjir7m1q7fhh9f204c99qd5y5d0j7yc26r5y";
+  isLibrary = true;
+  isExecutable = true;
+  meta = {
+    homepage = "https://github.com/sof/greencard";
+    description = "GreenCard, a foreign function pre-processor for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/grid/default.nix b/pkgs/development/libraries/haskell/grid/default.nix
new file mode 100644
index 00000000000..8826d3ca2b5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/grid/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, QuickCheck, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "grid";
+  version = "7.6.7";
+  sha256 = "1sdm47y9hbqn40bfi4fssnbrhksca7gdkgpqvz1gd2lqs729i1nf";
+  buildDepends = [ cereal ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/mhwombat/grid";
+    description = "Tools for working with regular grids (graphs, lattices)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index bb667691677..effbd57f799 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk";
-  version = "0.13.0.0";
-  sha256 = "04xi1415i3qaiif9ha5wnmyzxxw8ix17zpvvfjn61nrxlk6p973m";
+  version = "0.13.3";
+  sha256 = "016v6r53py659ncx0nvlcvvs3j3kj6rrbrm7lk8sggdhm7jvz6w7";
   buildDepends = [ cairo gio glib mtl pango text ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
index 1fe97ad01aa..9fabf287166 100644
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
+++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk2hs-buildtools";
-  version = "0.13.0.1";
-  sha256 = "0ngdg44hxpyga9kwm70340c8jhsh9wl5rja3wx9mfx194idivaxa";
+  version = "0.13.0.3";
+  sha256 = "1ijcmcjp8mralpzl1gvh24bzq8njlzkvck1r07b010rrklv04arp";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ filepath hashtables random ];
diff --git a/pkgs/development/libraries/haskell/gtk3/default.nix b/pkgs/development/libraries/haskell/gtk3/default.nix
index 99d76c03c52..d39adf4e5e4 100644
--- a/pkgs/development/libraries/haskell/gtk3/default.nix
+++ b/pkgs/development/libraries/haskell/gtk3/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk3";
-  version = "0.13.0.0";
-  sha256 = "0aq58gf6bcwnk085in0xilg7p8zyd2v079aqk1c47gjyrcg7p78f";
+  version = "0.13.3";
+  sha256 = "0246d4dxgmfvq7g8avswjry2rh5lfj1kzcf0vqwchgvlvcfhgzlh";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ cairo gio glib mtl pango text time transformers ];
diff --git a/pkgs/development/libraries/haskell/gtksourceview2/default.nix b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
index 393c1f07682..d3f0f3136f8 100644
--- a/pkgs/development/libraries/haskell/gtksourceview2/default.nix
+++ b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtksourceview2";
-  version = "0.13.0.0";
-  sha256 = "0md4dwg68cgq5qj80rjvsrckwn2ap9d1xp0hy8w1iiyii8dfqcnn";
+  version = "0.13.1.1";
+  sha256 = "09439drmwfy5bqni1clcn0nng30irn9x43fjak9jljggg1yij9xw";
   buildDepends = [ glib gtk mtl text ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/hS3/default.nix b/pkgs/development/libraries/haskell/hS3/default.nix
index 65ba25d1d9a..5cbad954c31 100644
--- a/pkgs/development/libraries/haskell/hS3/default.nix
+++ b/pkgs/development/libraries/haskell/hS3/default.nix
@@ -1,18 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, Crypto, dataenc, HTTP, hxt, MissingH, network, random
-, regexCompat, utf8String
+{ cabal, Crypto, dataenc, HTTP, hxt, MissingH, network, networkUri
+, random, regexCompat, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hS3";
-  version = "0.5.8";
-  sha256 = "1wmrrmlz4qlhr75lixn385pjpvpq21aafgf0fw8jyfqgdyjkg7bm";
+  version = "0.5.9";
+  sha256 = "0nf71jb15gkkcrb0x83mmql6j55c6dnz3bl3yq1grphwn0jbmq3y";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    Crypto dataenc HTTP hxt MissingH network random regexCompat
-    utf8String
+    Crypto dataenc HTTP hxt MissingH network networkUri random
+    regexCompat utf8String
   ];
   meta = {
     homepage = "http://gregheartsfield.com/hS3/";
diff --git a/pkgs/development/libraries/haskell/hackage-db/default.nix b/pkgs/development/libraries/haskell/hackage-db/default.nix
index 1668574d7c8..e4243def8b4 100644
--- a/pkgs/development/libraries/haskell/hackage-db/default.nix
+++ b/pkgs/development/libraries/haskell/hackage-db/default.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "hackage-db";
-  version = "1.8";
-  sha256 = "0iav085xq4d6k9z0x7jlnw3r3wwnzbr7ygbaqnblj6mcpnps9r3q";
+  version = "1.11";
+  sha256 = "14jjy3i5pjdcw2cx3n5ipg72zahvy9vh87vlcgnz44slw8av6dcq";
   buildDepends = [ Cabal filepath tar utf8String ];
   meta = {
     homepage = "http://github.com/peti/hackage-db";
-    description = "provide access to the Hackage database via Data.Map";
+    description = "access Hackage's package database via Data.Map";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ simons ];
diff --git a/pkgs/development/libraries/haskell/haddock-api/default.nix b/pkgs/development/libraries/haskell/haddock-api/default.nix
new file mode 100644
index 00000000000..d2dc35b1ffd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haddock-api/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, filepath, ghcPaths, haddockLibrary, xhtml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haddock-api";
+  version = "2.15.0.1";
+  sha256 = "1s25wykd5ka9chi67s07zy1jyd4pxs72d6lcpj7551izcs2l86sm";
+  buildDepends = [
+    Cabal deepseq filepath ghcPaths haddockLibrary xhtml
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haddock-library/default.nix b/pkgs/development/libraries/haskell/haddock-library/default.nix
index aece9e35873..a7041b3ba28 100644
--- a/pkgs/development/libraries/haskell/haddock-library/default.nix
+++ b/pkgs/development/libraries/haskell/haddock-library/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haddock-library";
-  version = "1.1.0";
-  sha256 = "0apqm9nxgxbpvcphaim93q4z67c1cd0vdjz0i1cbr67ymffl69nd";
+  version = "1.1.1";
+  sha256 = "0sjnmbmq1pss9ikcqnhvpf57rv78lzi1r99ywpmmvj1gyva2s31m";
   buildDepends = [ deepseq ];
   testDepends = [ baseCompat deepseq hspec QuickCheck ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index e38eadad057..7eeacd238ba 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -2,31 +2,33 @@
 
 { cabal, binary, blazeHtml, blazeMarkup, cmdargs, cryptohash
 , dataDefault, deepseq, filepath, fsnotify, httpConduit, httpTypes
-, HUnit, lrucache, mtl, network, pandoc, pandocCiteproc, parsec
-, QuickCheck, random, regexBase, regexTdfa, snapCore, snapServer
-, systemFilepath, tagsoup, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, text, time, utillinux
+, HUnit, lrucache, mtl, network, networkUri, pandoc, pandocCiteproc
+, parsec, QuickCheck, random, regexBase, regexTdfa, snapCore
+, snapServer, systemFilepath, tagsoup, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, time
+, utillinux
 }:
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.5.4.0";
-  sha256 = "16srkm2fxjw1xg7zaikn49zz4xsz9awddnjm6ibv522k3xf3l24c";
+  version = "4.6.1.1";
+  sha256 = "1y1bc25ivj6sgq9909qgwsm54dn6sdisd1znkk9r5x9c7ajv6gaa";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     binary blazeHtml blazeMarkup cmdargs cryptohash dataDefault deepseq
-    filepath fsnotify httpConduit httpTypes lrucache mtl network pandoc
-    pandocCiteproc parsec random regexBase regexTdfa snapCore
-    snapServer systemFilepath tagsoup text time
+    filepath fsnotify httpConduit httpTypes lrucache mtl network
+    networkUri pandoc pandocCiteproc parsec random regexBase regexTdfa
+    snapCore snapServer systemFilepath tagsoup text time
   ];
   testDepends = [
     binary blazeHtml blazeMarkup cmdargs cryptohash dataDefault deepseq
     filepath fsnotify httpConduit httpTypes HUnit lrucache mtl network
-    pandoc pandocCiteproc parsec QuickCheck random regexBase regexTdfa
-    snapCore snapServer systemFilepath tagsoup testFramework
+    networkUri pandoc pandocCiteproc parsec QuickCheck random regexBase
+    regexTdfa snapCore snapServer systemFilepath tagsoup testFramework
     testFrameworkHunit testFrameworkQuickcheck2 text time utillinux
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";
diff --git a/pkgs/development/libraries/haskell/half/default.nix b/pkgs/development/libraries/haskell/half/default.nix
new file mode 100644
index 00000000000..e113f6730d9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/half/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "half";
+  version = "0.2.0.1";
+  sha256 = "0lwh5bv8pnp9fzq64z1fg1i4fv8h2lcchs1298agq881hcay19qw";
+  meta = {
+    homepage = "http://github.com/ekmett/half";
+    description = "Half-precision floating-point";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/handa-gdata/default.nix b/pkgs/development/libraries/haskell/handa-gdata/default.nix
new file mode 100644
index 00000000000..b96c68297cb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/handa-gdata/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64Bytestring, binary, caseInsensitive, cmdargs
+, dataDefault, filepath, GenericPretty, HTTP, httpConduit, json
+, network, pureMD5, random, regexPosix, resourcet, split, time
+, unixCompat, utf8String, xml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "handa-gdata";
+  version = "0.7.0.1";
+  sha256 = "1azjfhwcirf6nv7pym8lcrghvjbrb1hh1y2w43g7qxxdmk54n8g7";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    base64Bytestring binary caseInsensitive cmdargs dataDefault
+    filepath GenericPretty HTTP httpConduit json network pureMD5 random
+    regexPosix resourcet split time unixCompat utf8String xml
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://code.google.com/p/hgdata";
+    description = "Library and command-line utility for accessing Google services and APIs";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
index e81235cf097..3567b418ba3 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Support for Hamlet HTML templates in Happstack";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-lite.nix b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
index 610220cc09e..d0d4de909ef 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-lite";
-  version = "7.3.4";
-  sha256 = "06ndqfd4x49yi17kgiz5xr05l1k6sj5g1f6kir10wgsqhmd0q811";
+  version = "7.3.6";
+  sha256 = "1mvzpbmjgf5gv9ls5kmg0s6cr765jl701vy2kmbynjkg6jimjmp8";
   buildDepends = [ happstackServer mtl text ];
   meta = {
     homepage = "http://www.happstack.com/";
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index 1bc0b36f120..15a1e90414e 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.3.8";
-  sha256 = "11jy4r4ih6sndyga3fjg298f5ww8806180dm3fgzsm0xfsjw1ac2";
+  version = "7.4.0";
+  sha256 = "009y87g4wika9g0p58v8sdayh41rixkivhvi7j1dnxbm4qy89qpk";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
     html monadControl mtl network networkUri parsec sendfile syb
@@ -18,8 +18,6 @@ cabal.mkDerivation (self: {
     transformersBase utf8String xhtml zlib
   ];
   testDepends = [ HUnit parsec zlib ];
-  jailbreak = true;
-  doCheck = false;
   meta = {
     homepage = "http://happstack.com";
     description = "Web related tools and services";
diff --git a/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix b/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
deleted file mode 100644
index 3c8330e82ae..00000000000
--- a/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, QuickCheck, random, testFramework
-, testFrameworkQuickcheck2, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "hashable";
-  version = "1.1.2.5";
-  sha256 = "0gbiaj5ck2bvvinndp2pg7qsm2h2izbnz9wi97dbm7i8r4qd9d9z";
-  buildDepends = [ text ];
-  testDepends = [
-    QuickCheck random testFramework testFrameworkQuickcheck2 text
-  ];
-  meta = {
-    homepage = "http://github.com/tibbe/hashable";
-    description = "A class for types that can be converted to a hash value";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
deleted file mode 100644
index bfd9ec03c0e..00000000000
--- a/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, QuickCheck, random, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "hashable";
-  version = "1.2.2.0";
-  sha256 = "08cfm1rzhf3d8dzn0iqadfs35151ff6szhnh4bwrpxcs6sq90fh3";
-  buildDepends = [ text ];
-  testDepends = [
-    HUnit QuickCheck random testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/tibbe/hashable";
-    description = "A class for types that can be converted to a hash value";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/hashable/default.nix b/pkgs/development/libraries/haskell/hashable/default.nix
new file mode 100644
index 00000000000..ba2690e6ce8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hashable/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, QuickCheck, random, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hashable";
+  version = "1.2.3.0";
+  sha256 = "02akgpwjzj2w5jnn31xp6yvgs4xmyircm8wcbq9v0icza6yb11qi";
+  buildDepends = [ text ];
+  testDepends = [
+    HUnit QuickCheck random testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/tibbe/hashable";
+    description = "A class for types that can be converted to a hash value";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hashtables/default.nix b/pkgs/development/libraries/haskell/hashtables/default.nix
index c941e08da35..ddccebeb48d 100644
--- a/pkgs/development/libraries/haskell/hashtables/default.nix
+++ b/pkgs/development/libraries/haskell/hashtables/default.nix
@@ -1,11 +1,15 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hashable, primitive, vector }:
+{ cabal, fetchgit, hashable, primitive, vector }:
 
 cabal.mkDerivation (self: {
   pname = "hashtables";
-  version = "1.1.2.1";
-  sha256 = "1166baqalpp9v735821drjvyasr44p4znbcs7njyr09fx87r23f5";
+  version = "1.2.0.1";
+  src = fetchgit {
+    url = "git://github.com/gregorycollins/hashtables.git";
+    sha256 = "1622ba3eb37e72cbedf01ae17162e045ca6506dea8a78750cc85805fe8e86129";
+    rev = "a045fa90f4bc3923f38d1b468ce4d3982cef85e0";
+  };
   buildDepends = [ hashable primitive vector ];
   meta = {
     homepage = "http://github.com/gregorycollins/hashtables";
diff --git a/pkgs/development/libraries/haskell/hask/default.nix b/pkgs/development/libraries/haskell/hask/default.nix
new file mode 100644
index 00000000000..3162a4fb7e4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hask/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, constraints, reflection, tagged, transformers, void }:
+
+cabal.mkDerivation (self: {
+  pname = "hask";
+  version = "0";
+  sha256 = "1c87jxafxpnlyblhdif4br61wqvnad0s6hvfhmzhx9y1jri3rb39";
+  buildDepends = [ constraints reflection tagged transformers void ];
+  meta = {
+    homepage = "http://github.com/ekmett/hask";
+    description = "Categories";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-generate/default.nix b/pkgs/development/libraries/haskell/haskell-generate/default.nix
index ad482d33d7b..7ca03476110 100644
--- a/pkgs/development/libraries/haskell/haskell-generate/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-generate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-generate";
-  version = "0.2";
-  sha256 = "0bkaarc40lcw3v2y6qdf91rx21v3w82y62kaadhmmh5ikq99pybw";
+  version = "0.2.2";
+  sha256 = "1wdfs28p195szg6jxq0qbyj4jdbqnsp9frgjnp25mzf14y9i1yid";
   buildDepends = [ haskellSrcExts transformers ];
   testDepends = [ doctest filepath ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix
index fb1a1b6e263..5185c1037a8 100644
--- a/pkgs/development/libraries/haskell/haskell-names/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-names/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-names";
-  version = "0.4";
-  sha256 = "02cbs3bwakm9bwh4yy242msh5hibxfr9dsc6a0nbpihj1fhbv6b4";
+  version = "0.5.0";
+  sha256 = "07fwdnhiqz6w323iw4xspar8m6sc6mv85i5f2vzbb5y8mrv352zr";
   buildDepends = [
     aeson Cabal dataLensLight filepath haskellPackages haskellSrcExts
     hseCpp mtl tagged transformers traverseWithClass typeEq uniplate
diff --git a/pkgs/development/libraries/haskell/haskell-packages/default.nix b/pkgs/development/libraries/haskell/haskell-packages/default.nix
index 9c6997a9db9..a23c6691a66 100644
--- a/pkgs/development/libraries/haskell/haskell-packages/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-packages/default.nix
@@ -1,16 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, Cabal, deepseq, either, filepath, haskellSrcExts
-, hseCpp, mtl, optparseApplicative, tagged
+{ cabal, aeson, Cabal, deepseq, filepath, haskellSrcExts, hseCpp
+, mtl, optparseApplicative, tagged, transformers
+, transformersCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "haskell-packages";
-  version = "0.2.4.1";
-  sha256 = "014zcq27rwsgj3n4kdgswbppr5yzf3lnj5gnv45r3i5c3rd1mz6k";
+  version = "0.2.4.3";
+  sha256 = "0s1z5zzl53nmjnrlf1czri634h8fksbgkqvvz8hpwa60wsaf4dxn";
   buildDepends = [
-    aeson Cabal deepseq either filepath haskellSrcExts hseCpp mtl
-    optparseApplicative tagged
+    aeson Cabal deepseq filepath haskellSrcExts hseCpp mtl
+    optparseApplicative tagged transformers transformersCompat
   ];
   meta = {
     homepage = "http://documentup.com/haskell-suite/haskell-packages";
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
deleted file mode 100644
index eac734a8422..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, editline,
- haskellSrc, html, parallel, regexBase, regexCompat, regexPosix,
- stm, time, xhtml, zlib, parsec, network,
- cabalInstall, alex, happy, ghc}:
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2009.2.0.2";
-  src = fetchurl {
-    url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
-    sha256 = "e0469fac9b1d091d8299ae16a4e2e7fcd504285bba066b17153a0f0104a049bd";
-  };
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
-    haskellSrc html parallel regexBase regexCompat regexPosix
-    stm time xhtml zlib parsec network
-    cabalInstall alex happy ghc
-  ];
-  meta = {
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
deleted file mode 100644
index 8c1630752ec..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
- haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
- stm, xhtml, zlib, parsec,
- cabalInstall, alex, happy, ghc}:
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2010.1.0.0";
-  src = fetchurl {
-    url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
-    sha256 = "0cadj0ql2i5d5njwcbhmjkf4qrkfmxirg5vjv1wlx3ayzbynbrp4";
-  };
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
-    haskellSrc html network parallel regexBase regexCompat regexPosix
-    stm xhtml zlib parsec
-    cabalInstall alex happy ghc
-  ];
-  meta = {
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-    broken = true;              # The source code is no longer available from haskell.org.
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
deleted file mode 100644
index b9a3a841af5..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
- haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
- stm, xhtml, zlib, mtl, parsec, deepseq,
- cabalInstall, alex, happy, ghc}:
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2010.2.0.0";
-  src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/haskell-platform/haskell-platform-2010.2.0.0.tar.gz/9c9c6422ebfe1a5e78e69ae017f4d54b/haskell-platform-2010.2.0.0.tar.gz";
-    sha256 = "c0b0b45151e74cff759ae25083c2ff7a7af4d2f74c19294b78730c879864f3c0";
-  };
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
-    haskellSrc html network parallel regexBase regexCompat regexPosix
-    stm xhtml zlib mtl parsec deepseq
-    cabalInstall alex happy ghc
-  ];
-  meta = {
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
deleted file mode 100644
index 4a9752a0611..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
- haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
- stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, ghc}:
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2011.2.0.0";
-  src = fetchurl {
-    # url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
-    url = "http://lambda.haskell.org/hp-tmp/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
-    sha256 = "01ppv8jdyvbngml9vgvrvnani6fj1nbk8mqmrkd8c508l7q9g6vb";
-  };
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
-    haskellSrc html network parallel parsec regexBase regexCompat regexPosix
-    stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc
-  ];
-  noHaddock = true;
-  meta = {
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
deleted file mode 100644
index cae4cc6796c..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
- haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
- stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, ghc}:
-
-# This is just a meta-package. Because upstream fails to provide proper versioned
-# release tarballs that can be used for the purpose of verifying this package, we
-# just create it on the fly from a simple Setup.hs file and a .cabal file that we
-# store directly in the nixpkgs repository.
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2011.2.0.1";
-  cabalFile = ./haskell-platform-2011.2.0.1.cabal;
-  setupFile = ./Setup.hs;
-  src = null;
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
-    haskellSrc html network parallel parsec regexBase regexCompat regexPosix
-    stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc
-  ];
-  unpackPhase = ''
-    sourceRoot=haskell-platform
-    mkdir $sourceRoot
-    cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
-    cp ${self.setupFile} $sourceRoot/Setup.hs
-    touch $sourceRoot/LICENSE
-  '';
-  noHaddock = true;
-  meta = {
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
deleted file mode 100644
index 61aa32aff45..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
- haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
- stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, ghc}:
-
-# This is just a meta-package. Because upstream fails to provide proper versioned
-# release tarballs that can be used for the purpose of verifying this package, we
-# just create it on the fly from a simple Setup.hs file and a .cabal file that we
-# store directly in the nixpkgs repository.
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2011.4.0.0";
-  cabalFile = ./haskell-platform-2011.4.0.0.cabal;
-  setupFile = ./Setup.hs;
-  src = null;
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
-    haskellSrc html network parallel parsec regexBase regexCompat regexPosix
-    stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc
-  ];
-  unpackPhase = ''
-    sourceRoot=haskell-platform
-    mkdir $sourceRoot
-    cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
-    cp ${self.setupFile} $sourceRoot/Setup.hs
-    touch $sourceRoot/LICENSE
-  '';
-  noHaddock = true;
-  meta = {
-    homepage = "http://haskell.org/platform";
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
deleted file mode 100644
index 9873342fa8d..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
- haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
- stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, random,
- cabalInstall, alex, happy, ghc}:
-
-# This is just a meta-package. Because upstream fails to provide proper versioned
-# release tarballs that can be used for the purpose of verifying this package, we
-# just create it on the fly from a simple Setup.hs file and a .cabal file that we
-# store directly in the nixpkgs repository.
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2012.2.0.0";
-  cabalFile = ./haskell-platform-2012.2.0.0.cabal;
-  setupFile = ./Setup.hs;
-  src = null;
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
-    haskellSrc html network parallel parsec regexBase regexCompat regexPosix
-    stm syb deepseq text transformers mtl xhtml zlib random
-    cabalInstall alex happy ghc
-  ];
-  unpackPhase = ''
-    sourceRoot=haskell-platform
-    mkdir $sourceRoot
-    cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
-    cp ${self.setupFile} $sourceRoot/Setup.hs
-    touch $sourceRoot/LICENSE
-  '';
-  noHaddock = true;
-  meta = {
-    homepage = "http://haskell.org/platform";
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
deleted file mode 100644
index e54f9264159..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, async, cgi, fgl,
- haskellSrc, html, network, parallel, parsec, primitive,
- regexBase, regexCompat, regexPosix,
- split, stm, syb, deepseq, text, transformers, mtl, vector, xhtml, zlib, random,
- cabalInstall, alex, happy, ghc}:
-
-# This is just a meta-package. Because upstream fails to provide proper versioned
-# release tarballs that can be used for the purpose of verifying this package, we
-# just create it on the fly from a simple Setup.hs file and a .cabal file that we
-# store directly in the nixpkgs repository.
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2012.4.0.0";
-  cabalFile = ./haskell-platform-2012.4.0.0.cabal;
-  setupFile = ./Setup.hs;
-  src = null;
-  isLibrary = false;
-  propagatedBuildInputs = [
-    GLUT HTTP HUnit OpenGL QuickCheck async cgi fgl
-    haskellSrc html network parallel parsec primitive
-    regexBase regexCompat regexPosix
-    split stm syb deepseq text transformers mtl vector xhtml zlib random
-    cabalInstall alex happy ghc
-  ];
-  unpackPhase = ''
-    sourceRoot=haskell-platform
-    mkdir $sourceRoot
-    cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
-    cp ${self.setupFile} $sourceRoot/Setup.hs
-    touch $sourceRoot/LICENSE
-  '';
-  noHaddock = true;
-  meta = {
-    homepage = "http://haskell.org/platform";
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
deleted file mode 100644
index c7ce9b09815..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ cabal, fetchurl
-, async, attoparsec, caseInsensitive, cgi, fgl, GLUT, GLURaw, haskellSrc
-, hashable, html, HTTP, HUnit, mtl, network, OpenGL, OpenGLRaw, parallel
-, parsec, QuickCheck, random, regexBase, regexCompat, regexPosix, split, stm
-, syb, text, transformers, unorderedContainers, vector, xhtml, zlib
-, cabalInstall, alex, happy, primitive, ghc
-}:
-
-# This is just a meta-package. Because upstream fails to provide proper versioned
-# release tarballs that can be used for the purpose of verifying this package, we
-# just create it on the fly from a simple Setup.hs file and a .cabal file that we
-# store directly in the nixpkgs repository.
-
-cabal.mkDerivation (self : {
-  pname = "haskell-platform";
-  version = "2013.2.0.0";
-  cabalFile = ./haskell-platform-2013.2.0.0.cabal;
-  setupFile = ./Setup.hs;
-  src = null;
-  isLibrary = false;
-  propagatedBuildInputs = [
-    async attoparsec caseInsensitive cgi fgl GLUT GLURaw haskellSrc
-    hashable html HTTP HUnit mtl network OpenGL OpenGLRaw parallel
-    parsec QuickCheck random regexBase regexCompat regexPosix split stm
-    syb text transformers unorderedContainers vector xhtml zlib
-    cabalInstall alex happy primitive ghc
-  ];
-  unpackPhase = ''
-    sourceRoot=haskell-platform
-    mkdir $sourceRoot
-    cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
-    cp ${self.setupFile} $sourceRoot/Setup.hs
-    touch $sourceRoot/LICENSE
-  '';
-  noHaddock = true;
-  meta = {
-    homepage = "http://haskell.org/platform";
-    description = "Haskell Platform meta package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [andres simons];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/Setup.hs b/pkgs/development/libraries/haskell/haskell-platform/Setup.hs
deleted file mode 100644
index 47fd3a5c71b..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/Setup.hs
+++ /dev/null
@@ -1,10 +0,0 @@
-import Distribution.Simple
-import Distribution.Simple.Program
-
-main = defaultMainWithHooks simpleUserHooks { hookedPrograms = [cabal] }
-
-cabal :: Program
-cabal = (simpleProgram "cabal-install") {
-  programFindLocation = \x -> findProgramLocation x "cabal",
-  programFindVersion  = findProgramVersion "--numeric-version" id
-}
diff --git a/pkgs/development/libraries/haskell/haskell-platform/default.nix b/pkgs/development/libraries/haskell/haskell-platform/default.nix
deleted file mode 100644
index 2de2809cf53..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/default.nix
+++ /dev/null
@@ -1,314 +0,0 @@
-{ pkgs }:
-
-let
-  haskellPlatformPackages_2013_2_0_0 = pkgs.haskell.packages_ghc763.override {
-    extension = self : super : {
-      async                     = self.async_2_0_1_4;
-      attoparsec                = self.attoparsec_0_10_4_0;
-      caseInsensitive           = self.caseInsensitive_1_0_0_1;
-      cgi                       = self.cgi_3001_1_7_5;
-      fgl                       = self.fgl_5_4_2_4;
-      GLUT                      = self.GLUT_2_4_0_0;
-      GLURaw                    = self.GLURaw_1_3_0_0;
-      haskellSrc                = self.haskellSrc_1_0_1_5;
-      hashable                  = self.hashable_1_1_2_5;
-      html                      = self.html_1_0_1_2;
-      HTTP                      = self.HTTP_4000_2_8;
-      HUnit                     = self.HUnit_1_2_5_2;
-      mtl                       = self.mtl_2_1_2;
-      network                   = self.network_2_4_1_2;
-      OpenGL                    = self.OpenGL_2_8_0_0;
-      OpenGLRaw                 = self.OpenGLRaw_1_3_0_0;
-      parallel                  = self.parallel_3_2_0_3;
-      parsec                    = self.parsec_3_1_3;
-      QuickCheck                = self.QuickCheck_2_6;
-      random                    = self.random_1_0_1_1;
-      regexBase                 = self.regexBase_0_93_2;
-      regexCompat               = self.regexCompat_0_95_1;
-      regexPosix                = self.regexPosix_0_95_2;
-      split                     = self.split_0_2_2;
-      stm                       = self.stm_2_4_2;
-      syb                       = self.syb_0_4_0;
-      text                      = self.text_0_11_3_1;
-      transformers              = self.transformers_0_3_0_0;
-      unorderedContainers       = self.unorderedContainers_0_2_3_0;
-      vector                    = self.vector_0_10_0_1;
-      xhtml                     = self.xhtml_3000_2_1;
-      zlib                      = self.zlib_0_5_4_1;
-      cabalInstall              = self.cabalInstall_1_16_0_2;
-      alex                      = self.alex_3_0_5;
-      happy                     = self.happy_1_18_10;
-      primitive                 = self.primitive_0_5_0_1; # semi-official, but specified
-    };
-  };
-
-  haskellPlatformPackages_2012_4_0_0 = pkgs.haskell.packages_ghc742.override {
-    extension = self : super : {
-      async                     = self.async_2_0_1_3;
-      cgi                       = self.cgi_3001_1_7_4;
-      fgl                       = self.fgl_5_4_2_4;
-      GLUT                      = self.GLUT_2_1_2_1;
-      haskellSrc                = self.haskellSrc_1_0_1_5;
-      html                      = self.html_1_0_1_2;
-      HTTP                      = super.HTTP_4000_2_5.override { network = self.network_2_3_1_0; };
-      HUnit                     = self.HUnit_1_2_5_1;
-      mtl                       = self.mtl_2_1_2;
-      network                   = self.network_2_3_1_0;
-      OpenGL                    = self.OpenGL_2_2_3_1;
-      parallel                  = self.parallel_3_2_0_3;
-      parsec                    = self.parsec_3_1_3;
-      QuickCheck                = self.QuickCheck_2_5_1_1;
-      random                    = self.random_1_0_1_1;
-      regexBase                 = self.regexBase_0_93_2;
-      regexCompat               = self.regexCompat_0_95_1;
-      regexPosix                = self.regexPosix_0_95_2;
-      split                     = self.split_0_2_1_1;
-      stm                       = self.stm_2_4;
-      syb                       = self.syb_0_3_7;
-      text                      = self.text_0_11_2_3;
-      transformers              = self.transformers_0_3_0_0;
-      vector                    = self.vector_0_10_0_1;
-      xhtml                     = self.xhtml_3000_2_1;
-      zlib                      = self.zlib_0_5_4_0;
-      cabalInstall              = self.cabalInstall_0_14_0;
-      alex                      = self.alex_3_0_2;
-      happy                     = self.happy_1_18_10;
-      primitive                 = self.primitive_0_5_0_1; # semi-official, but specified
-    };
-  };
-
-  haskellPlatformPackages_2012_2_0_0 = pkgs.haskell.packages_ghc742.override {
-    ghcPath = ../../../compilers/ghc/7.4.1.nix;
-    extension = self : super : {
-      cgi                       = self.cgi_3001_1_7_4;
-      fgl                       = self.fgl_5_4_2_4;
-      GLUT                      = self.GLUT_2_1_2_1;
-      haskellSrc                = self.haskellSrc_1_0_1_5;
-      html                      = self.html_1_0_1_2;
-      HTTP                      = self.HTTP_4000_2_3;
-      HUnit                     = self.HUnit_1_2_4_2;
-      mtl                       = self.mtl_2_1_1;
-      network                   = self.network_2_3_0_13;
-      OpenGL                    = self.OpenGL_2_2_3_1;
-      parallel                  = self.parallel_3_2_0_2;
-      parsec                    = self.parsec_3_1_2;
-      QuickCheck                = self.QuickCheck_2_4_2;
-      random                    = self.random_1_0_1_1;
-      regexBase                 = self.regexBase_0_93_2;
-      regexCompat               = self.regexCompat_0_95_1;
-      regexPosix                = self.regexPosix_0_95_1;
-      stm                       = self.stm_2_3;
-      syb                       = self.syb_0_3_6_1;
-      text                      = self.text_0_11_2_0;
-      transformers              = self.transformers_0_3_0_0;
-      xhtml                     = self.xhtml_3000_2_1;
-      zlib                      = self.zlib_0_5_3_3;
-      cabalInstall              = self.cabalInstall_0_14_0;
-      alex                      = self.alex_3_0_1;
-      happy                     = self.happy_1_18_9;
-    };
-  };
-
-  haskellPlatformPackages_2011_4_0_0 = pkgs.haskell.packages_ghc704.override {
-    extension = self : super : {
-      cgi                       = self.cgi_3001_1_7_4;
-      fgl                       = self.fgl_5_4_2_4;
-      GLUT                      = self.GLUT_2_1_2_1;
-      haskellSrc                = self.haskellSrc_1_0_1_4;
-      html                      = self.html_1_0_1_2;
-      HUnit                     = self.HUnit_1_2_4_2;
-      network                   = self.network_2_3_0_5;
-      OpenGL                    = self.OpenGL_2_2_3_0;
-      parallel                  = self.parallel_3_1_0_1;
-      parsec                    = self.parsec_3_1_1;
-      QuickCheck                = self.QuickCheck_2_4_1_1;
-      regexBase                 = self.regexBase_0_93_2;
-      regexCompat               = self.regexCompat_0_95_1;
-      regexPosix                = self.regexPosix_0_95_1;
-      stm                       = self.stm_2_2_0_1;
-      syb                       = self.syb_0_3_3;
-      xhtml                     = self.xhtml_3000_2_0_4;
-      zlib                      = self.zlib_0_5_3_1;
-      HTTP                      = self.HTTP_4000_1_2;
-      deepseq                   = self.deepseq_1_1_0_2;
-      text                      = self.text_0_11_1_5;
-      transformers              = self.transformers_0_2_2_0;
-      mtl                       = self.mtl_2_0_1_0;
-      cabalInstall              = self.cabalInstall_0_10_2;
-      alex                      = self.alex_2_3_5;
-      happy                     = self.happy_1_18_6;
-    };
-  };
-
-  haskellPlatformPackages_2011_2_0_1 = pkgs.haskell.packages_ghc704.override {
-    ghcPath = ../../../compilers/ghc/7.0.3.nix;
-    extension = self : super : {
-      cgi                       = self.cgi_3001_1_7_4;
-      fgl                       = self.fgl_5_4_2_3;
-      GLUT                      = self.GLUT_2_1_2_1;
-      haskellSrc                = self.haskellSrc_1_0_1_4;
-      html                      = self.html_1_0_1_2;
-      HUnit                     = self.HUnit_1_2_2_3;
-      network                   = self.network_2_3_0_2;
-      OpenGL                    = self.OpenGL_2_2_3_0;
-      parallel                  = self.parallel_3_1_0_1;
-      parsec                    = self.parsec_3_1_1;
-      QuickCheck                = self.QuickCheck_2_4_0_1;
-      regexBase                 = self.regexBase_0_93_2;
-      regexCompat               = self.regexCompat_0_93_1;
-      regexPosix                = self.regexPosix_0_94_4;
-      stm                       = self.stm_2_2_0_1;
-      syb                       = self.syb_0_3;
-      xhtml                     = self.xhtml_3000_2_0_1;
-      zlib                      = self.zlib_0_5_3_1;
-      HTTP                      = self.HTTP_4000_1_1;
-      deepseq                   = self.deepseq_1_1_0_2;
-      text                      = self.text_0_11_0_6;
-      transformers              = self.transformers_0_2_2_0;
-      mtl                       = self.mtl_2_0_1_0;
-      cabalInstall              = self.cabalInstall_0_10_2;
-      alex                      = self.alex_2_3_5;
-      happy                     = self.happy_1_18_6;
-    };
-  };
-
-  haskellPlatformPackages_2011_2_0_0 = pkgs.haskell.packages_ghc704.override {
-    ghcPath = ../../../compilers/ghc/7.0.2.nix;
-    extension = self : super : {
-      cgi                       = self.cgi_3001_1_7_4;
-      fgl                       = self.fgl_5_4_2_3;
-      GLUT                      = self.GLUT_2_1_2_1;
-      haskellSrc                = self.haskellSrc_1_0_1_4;
-      html                      = self.html_1_0_1_2;
-      HUnit                     = self.HUnit_1_2_2_3;
-      network                   = self.network_2_3_0_2;
-      OpenGL                    = self.OpenGL_2_2_3_0;
-      parallel                  = self.parallel_3_1_0_1;
-      parsec                    = self.parsec_3_1_1;
-      QuickCheck                = self.QuickCheck_2_4_0_1;
-      regexBase                 = self.regexBase_0_93_2;
-      regexCompat               = self.regexCompat_0_93_1;
-      regexPosix                = self.regexPosix_0_94_4;
-      stm                       = self.stm_2_2_0_1;
-      syb                       = self.syb_0_3;
-      xhtml                     = self.xhtml_3000_2_0_1;
-      zlib                      = self.zlib_0_5_3_1;
-      HTTP                      = self.HTTP_4000_1_1;
-      deepseq                   = self.deepseq_1_1_0_2;
-      text                      = self.text_0_11_0_5;
-      transformers              = self.transformers_0_2_2_0;
-      mtl                       = self.mtl_2_0_1_0;
-      cabalInstall              = self.cabalInstall_0_10_2;
-      alex                      = self.alex_2_3_5;
-      happy                     = self.happy_1_18_6;
-    };
-  };
-
-  haskellPlatformPackages_2010_2_0_0 = pkgs.haskell.packages_ghc6123.override {
-    extension = self : super : {
-      cgi                       = self.cgi_3001_1_7_3;
-      fgl                       = self.fgl_5_4_2_3;
-      GLUT                      = self.GLUT_2_1_2_1;
-      haskellSrc                = self.haskellSrc_1_0_1_3;
-      html                      = self.html_1_0_1_2;
-      HUnit                     = self.HUnit_1_2_2_1;
-      mtl                       = self.mtl_1_1_0_2;
-      network                   = self.network_2_2_1_7;
-      OpenGL                    = self.OpenGL_2_2_3_0;
-      parallel                  = self.parallel_2_2_0_1;
-      parsec                    = self.parsec_2_1_0_1;
-      QuickCheck                = self.QuickCheck_2_1_1_1;
-      regexBase                 = self.regexBase_0_93_2;
-      regexCompat               = self.regexCompat_0_93_1;
-      regexPosix                = self.regexPosix_0_94_2;
-      stm                       = self.stm_2_1_2_1;
-      xhtml                     = self.xhtml_3000_2_0_1;
-      zlib                      = self.zlib_0_5_2_0;
-      HTTP                      = self.HTTP_4000_0_9;
-      deepseq                   = self.deepseq_1_1_0_0;
-      text                      = self.text_0_11_0_5;
-      cabalInstall              = self.cabalInstall_0_8_2;
-      alex                      = self.alex_2_3_3;
-      happy                     = self.happy_1_18_5;
-    };
-  };
-
-  haskellPlatformPackages_2010_1_0_0 = pkgs.haskell.packages_ghc6123.override {
-    extension = self : super : {
-      haskellSrc                = self.haskellSrc_1_0_1_3;
-      html                      = self.html_1_0_1_2;
-      fgl                       = self.fgl_5_4_2_2;
-      cabalInstall              = self.cabalInstall_0_8_0;
-      GLUT                      = self.GLUT_2_1_2_1;
-      OpenGL                    = self.OpenGL_2_2_3_0;
-      zlib                      = self.zlib_0_5_2_0;
-      alex                      = self.alex_2_3_2;
-      cgi                       = self.cgi_3001_1_7_2;
-      QuickCheck                = self.QuickCheck_2_1_1_1;
-      HTTP                      = self.HTTP_4000_0_9;
-      deepseq                   = self.deepseq_1_1_0_0;
-      HUnit                     = self.HUnit_1_2_2_1;
-      network                   = self.network_2_2_1_7;
-      parallel                  = self.parallel_2_2_0_1;
-      parsec                    = self.parsec_2_1_0_1;
-      regexBase                 = self.regexBase_0_93_1;
-      regexCompat               = self.regexCompat_0_92;
-      regexPosix                = self.regexPosix_0_94_1;
-      stm                       = self.stm_2_1_1_2;
-      xhtml                     = self.xhtml_3000_2_0_1;
-      happy                     = self.happy_1_18_4;
-      # not actually specified, but important to make the whole thing build
-      mtl                       = self.mtl_1_1_0_2;
-    };
-  };
-
-  haskellPlatformPackages_2009_2_0_2 = pkgs.haskell.packages_ghc6104.override {
-    extension = self : super : {
-      time                      = self.time_1_1_2_4;
-      cgi                       = self.cgi_3001_1_7_1;
-      editline                  = self.editline_0_2_1_0;
-      fgl                       = self.fgl_5_4_2_2;
-      GLUT                      = self.GLUT_2_1_1_2;
-      haskellSrc                = self.haskellSrc_1_0_1_3;
-      html                      = self.html_1_0_1_2;
-      HUnit                     = self.HUnit_1_2_0_3;
-      network                   = self.network_2_2_1_4;
-      OpenGL                    = self.OpenGL_2_2_1_1;
-      parallel                  = self.parallel_1_1_0_1;
-      parsec                    = self.parsec_2_1_0_1;
-      QuickCheck                = self.QuickCheck_1_2_0_0;
-      regexBase                 = self.regexBase_0_72_0_2;
-      regexCompat               = self.regexCompat_0_71_0_1;
-      regexPosix                = self.regexPosix_0_72_0_3;
-      stm                       = self.stm_2_1_1_2;
-      xhtml                     = self.xhtml_3000_2_0_1;
-      zlib                      = self.zlib_0_5_0_0;
-      HTTP                      = self.HTTP_4000_0_6;
-      cabalInstall              = self.cabalInstall_0_6_2;
-      alex                      = self.alex_2_3_1;
-      happy                     = self.happy_1_18_4;
-      # not actually specified, but important to make the whole thing build
-      mtl                       = self.mtl_1_1_0_2;
-    };
-  };
-
-in
-{
-  "2013_2_0_0" = haskellPlatformPackages_2013_2_0_0.callPackage ./2013.2.0.0.nix {};
-
-  "2012_4_0_0" = haskellPlatformPackages_2012_4_0_0.callPackage ./2012.4.0.0.nix {};
-
-  "2012_2_0_0" = haskellPlatformPackages_2012_2_0_0.callPackage ./2012.2.0.0.nix {};
-
-  "2011_4_0_0" = haskellPlatformPackages_2011_4_0_0.callPackage ./2011.4.0.0.nix {};
-
-  "2011_2_0_1" = haskellPlatformPackages_2011_2_0_1.callPackage ./2011.2.0.1.nix {};
-
-  "2011_2_0_0" = haskellPlatformPackages_2011_2_0_0.callPackage ./2011.2.0.0.nix {};
-
-  "2010_2_0_0" = haskellPlatformPackages_2010_2_0_0.callPackage ./2010.2.0.0.nix {};
-
-  "2010_1_0_0" = haskellPlatformPackages_2010_1_0_0.callPackage ./2010.1.0.0.nix {};
-
-  "2009_2_0_2" = haskellPlatformPackages_2009_2_0_2.callPackage ./2009.2.0.2.nix {};
-}
diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.2.0.1.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.2.0.1.cabal
deleted file mode 100644
index fa09cb039da..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.2.0.1.cabal
+++ /dev/null
@@ -1,90 +0,0 @@
-name:                haskell-platform
-version:             2011.2.0.1
-homepage:            http://haskell.org/platform
-license:             BSD3
-license-file:        LICENSE
-author:              libraries@haskell.org
-maintainer:          haskell-platform@projects.haskell.org
-category:            System
-synopsis:            The Haskell Platform
-description:
-    The Haskell Platform (HP) is the blessed set of libraries and tools on
-    which to build further Haskell libraries and applications. It is
-    intended to provide a comprehensive, stable, and quality tested base for
-    Haskell projects to work from.
-    .
-    This version specifies the following additional developer tools be
-    installed, for a system to be in full compliance:
-    . 
-    * cabal-install
-    * alex
-    * happy
-    * haddock
-
-cabal-version:       >= 1.6
-build-type:          Custom
-tested-with:         GHC ==7.0.3
-
-library
-  build-depends:
-    -- ghc 7.x
-    -- Core libraries: provided by every ghc installation
-    -- We don't include "non-API" packages here.
-    -- array                    ==0.3.0.2
-    -- base                     ==4.3.1.0
-    -- bytestring               ==0.9.1.10
-    -- Cabal                    ==1.10.1.0
-    -- containers               ==0.4.0.0
-    -- directory                ==1.1.0.0
-    -- extensible-exceptions    ==0.1.1.2
-    -- filepath                 ==1.2.0.0
-    -- haskell2010              ==1.0.0.0
-    -- haskell98                ==1.1.0.1
-    -- hpc                      ==0.5.0.6
-    -- old-locale               ==1.0.0.2
-    -- old-time                 ==1.0.0.6
-    -- pretty                   ==1.0.1.2
-    -- process                  ==1.0.1.5
-    -- random                   ==1.0.0.3
-    -- template-haskell         ==2.5.0.0
-    -- time                     ==1.2.0.3
-    -- unix                     ==XXX 2.4.2.0
-    -- Win32                    ==XXX 2.2.0.1
-
-    -- Libraries in addition to what GHC provides:
-    -- Note: newer versions of cgi need monad-catchio.
-    cgi                         ==3001.1.7.4,
-    fgl                         ==5.4.2.3,
-    GLUT                        ==2.1.2.1,
-    haskell-src                 ==1.0.1.4,
-    html                        ==1.0.1.2,
-    HUnit                       ==1.2.2.3,
-    network                     ==2.3.0.2,
-    OpenGL                      ==2.2.3.0,
-    parallel                    ==3.1.0.1,
-    parsec                      ==3.1.1,
-    QuickCheck                  ==2.4.0.1,
-    regex-base                  ==0.93.2,
-    regex-compat                ==0.93.1,
-    regex-posix                 ==0.94.4,
-    stm                         ==2.2.0.1,
-    syb                         ==0.3,
-    xhtml                       ==3000.2.0.1,
-    zlib                        ==0.5.3.1,
-    HTTP                        ==4000.1.1,
-    deepseq                     ==1.1.0.2,
-
-    -- 2011.1 proposals:
-    text                        ==0.11.0.6,
-    transformers                ==0.2.2.0,
-    mtl                         ==2.0.1.0
-
-  -- Depending on programs does not work, they are not registered
-  -- We list them to help distro packaging.
-  build-tools:
-    cabal-install ==0.10.2,
-    alex          ==2.3.5,
-    happy         ==1.18.6
-    -- hscolour      ==1.17       
-  --  haddock       ==2.9.2     -- need to use the one shipped with ghc
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.4.0.0.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.4.0.0.cabal
deleted file mode 100644
index 56414de90c5..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2011.4.0.0.cabal
+++ /dev/null
@@ -1,90 +0,0 @@
-name:                haskell-platform
-version:             2011.4.0.0
-homepage:            http://haskell.org/platform
-license:             BSD3
-license-file:        LICENSE
-author:              libraries@haskell.org
-maintainer:          haskell-platform@projects.haskell.org
-category:            System
-synopsis:            The Haskell Platform
-description:
-    The Haskell Platform (HP) is the blessed set of libraries and tools on
-    which to build further Haskell libraries and applications. It is
-    intended to provide a comprehensive, stable, and quality tested base for
-    Haskell projects to work from.
-    .
-    This version specifies the following additional developer tools be
-    installed, for a system to be in full compliance:
-    . 
-    * cabal-install
-    * alex
-    * happy
-    * haddock
-
-cabal-version:       >= 1.8
-build-type:          Custom
-tested-with:         GHC ==7.0.4
-
-library
-  build-depends:
-    -- ghc 7.x
-    -- Core libraries: provided by every ghc installation
-    -- We don't include "non-API" packages here.
-    -- array                    ==0.3.0.2
-    -- base                     ==4.3.1.0
-    -- bytestring               ==0.9.1.10
-    -- Cabal                    ==1.10.2.0
-    -- containers               ==0.4.0.0
-    -- directory                ==1.1.0.0
-    -- extensible-exceptions    ==0.1.1.2
-    -- filepath                 ==1.2.0.0
-    -- haskell2010              ==1.0.0.0
-    -- haskell98                ==1.1.0.1
-    -- hpc                      ==0.5.0.6
-    -- old-locale               ==1.0.0.2
-    -- old-time                 ==1.0.0.6
-    -- pretty                   ==1.0.1.2
-    -- process                  ==1.0.1.5
-    -- random                   ==1.0.0.3
-    -- template-haskell         ==2.5.0.0
-    -- time                     ==1.2.0.3
-    -- unix                     ==XXX 2.4.2.0
-    -- Win32                    ==XXX 2.2.0.1
-
-    -- Libraries in addition to what GHC provides:
-    -- Note: newer versions of cgi need monad-catchio.
-    cgi                         ==3001.1.7.4,
-    fgl                         ==5.4.2.4,
-    GLUT                        ==2.1.2.1,
-    haskell-src                 ==1.0.1.4,
-    html                        ==1.0.1.2,
-    HUnit                       ==1.2.4.2,
-    network                     ==2.3.0.5,
-    OpenGL                      ==2.2.3.0,
-    parallel                    ==3.1.0.1,
-    parsec                      ==3.1.1,
-    QuickCheck                  ==2.4.1.1,
-    regex-base                  ==0.93.2,
-    regex-compat                ==0.95.1,
-    regex-posix                 ==0.95.1,
-    stm                         ==2.2.0.1,
-    syb                         ==0.3.3,
-    xhtml                       ==3000.2.0.4,
-    zlib                        ==0.5.3.1,
-    HTTP                        ==4000.1.2,
-    deepseq                     ==1.1.0.2,
-
-    -- 2011.1 proposals:
-    text                        ==0.11.1.5,
-    transformers                ==0.2.2.0,
-    mtl                         ==2.0.1.0
-
-  -- Depending on programs does not work, they are not registered
-  -- We list them to help distro packaging.
-  build-tools:
-    cabal-install ==0.10.2,
-    alex          ==2.3.5,
-    happy         ==1.18.6
-    -- hscolour      ==1.17       
-  --  haddock       ==2.9.2     -- need to use the one shipped with ghc
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal
deleted file mode 100644
index 264d636f994..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal
+++ /dev/null
@@ -1,89 +0,0 @@
-name:                haskell-platform
-version:             2012.2.0.0
-homepage:            http://haskell.org/platform
-license:             BSD3
-license-file:        LICENSE
-author:              libraries@haskell.org
-maintainer:          haskell-platform@projects.haskell.org
-category:            System
-synopsis:            The Haskell Platform
-description:
-    The Haskell Platform (HP) is the blessed set of libraries and tools on
-    which to build further Haskell libraries and applications. It is
-    intended to provide a comprehensive, stable, and quality tested base for
-    Haskell projects to work from.
-    .
-    This version specifies the following additional developer tools be
-    installed, for a system to be in full compliance:
-    . 
-    * cabal-install
-    * alex
-    * happy
-    * haddock
-
-cabal-version:       >= 1.8
-build-type:          Custom
-tested-with:         GHC ==7.4.1
-
-library
-  build-depends:
-    -- ghc                      ==7.4.1,
-    
-    -- Core libraries: provided by every ghc installation
-    -- We don't include "non-API" packages here.
-    -- array                    ==0.4.0.0,
-    -- base                     ==4.5.0.0,
-    -- bytestring               ==0.9.2.1,
-    -- Cabal                    ==1.14.0,
-    -- containers               ==0.4.2.1,
-    -- deepseq                  ==1.3.0.0,
-    -- directory                ==1.1.0.2,
-    -- extensible-exceptions    ==0.1.1.4,
-    -- filepath                 ==1.3.0.0,
-    -- haskell2010              ==1.1.0.1,
-    -- haskell98                ==2.0.0.1,
-    -- hpc                      ==0.5.1.1,
-    -- old-locale               ==1.0.0.4,
-    -- old-time                 ==1.1.0.0,
-    -- pretty                   ==1.1.1.0,
-    -- process                  ==1.1.0.1,
-    -- template-haskell         ==2.7.0.0,
-    -- time                     ==1.4,
-    -- unix                     ==2.5.1.0,
-    -- Win32                    ==2.2.2.0,
-
-    -- Libraries in addition to what GHC provides:
-    -- Note: newer versions of cgi need monad-catchio.
-    cgi                         ==3001.1.7.4,
-    fgl                         ==5.4.2.4,
-    GLUT                        ==2.1.2.1,
-    haskell-src                 ==1.0.1.5,
-    html                        ==1.0.1.2,
-    HTTP                        ==4000.2.3,
-    HUnit                       ==1.2.4.2,
-    mtl                         ==2.1.1,
-    network                     ==2.3.0.13,
-    OpenGL                      ==2.2.3.1,
-    parallel                    ==3.2.0.2,
-    parsec                      ==3.1.2,
-    QuickCheck                  ==2.4.2,
-    random                      ==1.0.1.1,
-    regex-base                  ==0.93.2,
-    regex-compat                ==0.95.1,
-    regex-posix                 ==0.95.1,
-    stm                         ==2.3,
-    syb                         ==0.3.6.1,
-    text                        ==0.11.2.0,
-    transformers                ==0.3.0.0,
-    xhtml                       ==3000.2.1,
-    zlib                        ==0.5.3.3
-
-  -- Depending on programs does not work, they are not registered
-  -- We list them to help distro packaging.
-  build-tools:
-    cabal-install               ==0.14.0,
-    alex                        ==3.0.1,
-    happy                       ==1.18.9
-    -- hscolour                 ==1.19
-    -- haddock                  ==2.10.0 -- need to use the one shipped with ghc
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal
deleted file mode 100644
index 23d1f7a0a7d..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal
+++ /dev/null
@@ -1,113 +0,0 @@
-name:                haskell-platform
-version:             2012.4.0.0
-homepage:            http://haskell.org/platform
-license:             BSD3
-license-file:        LICENSE
-author:              libraries@haskell.org
-maintainer:          haskell-platform@projects.haskell.org
-category:            System
-synopsis:            The Haskell Platform
-description:
-    The Haskell Platform (HP) is the blessed set of libraries and tools on
-    which to build further Haskell libraries and applications. It is
-    intended to provide a comprehensive, stable, and quality tested base for
-    Haskell projects to work from.
-    .
-    This version specifies the following additional developer tools be
-    installed, for a system to be in full compliance:
-    .
-    * cabal-install
-    * alex
-    * happy
-    * haddock
-
-cabal-version:       >= 1.8
-build-type:          Custom
-tested-with:         GHC ==7.4.2
-
-flag include-ghc-depends
-  description: Include all the GHC provided packages in the dependencies
-  default:     False
-
-library
-  if flag(include-ghc-depends)
-    build-depends:
-      ghc                      ==7.4.2,
-
-      -- Core libraries: provided by every ghc installation
-      -- We don't include "non-API" packages here.
-      --                                        begin core packages
-      array                    ==0.4.0.0,
-      base                     ==4.5.1.0,
-      bytestring               ==0.9.2.1,
-      Cabal                    ==1.14.0,
-      containers               ==0.4.2.1,
-      deepseq                  ==1.3.0.0,
-      directory                ==1.1.0.2,
-      extensible-exceptions    ==0.1.1.4,
-      filepath                 ==1.3.0.0,
-      haskell2010              ==1.1.0.1,
-      haskell98                ==2.0.0.1,
-      hpc                      ==0.5.1.1,
-      old-locale               ==1.0.0.4,
-      old-time                 ==1.1.0.0,
-      pretty                   ==1.1.1.0,
-      process                  ==1.1.0.1,
-      template-haskell         ==2.7.0.0,
-      time                     ==1.4
-  if !os(windows)
-    build-depends:
-      unix                     ==2.5.1.1
-      --                                        end core packages
-  else
-    build-depends:
-      Win32                    ==2.2.2.0
-
-  build-depends:
-    -- Libraries in addition to what GHC provides:
-    -- Note: newer versions of cgi need monad-catchio.
-    --                                          begin platform packages
-    async                       ==2.0.1.3,
-    cgi                         ==3001.1.7.4,
-    fgl                         ==5.4.2.4,
-    GLUT                        ==2.1.2.1,
-    haskell-src                 ==1.0.1.5,
-    html                        ==1.0.1.2,
-    HTTP                        ==4000.2.5,
-    HUnit                       ==1.2.5.1,
-    mtl                         ==2.1.2,
-    network                     ==2.3.1.0,
-    OpenGL                      ==2.2.3.1,
-    parallel                    ==3.2.0.3,
-    parsec                      ==3.1.3,
-    QuickCheck                  ==2.5.1.1,
-    random                      ==1.0.1.1,
-    regex-base                  ==0.93.2,
-    regex-compat                ==0.95.1,
-    regex-posix                 ==0.95.2,
-    split                       ==0.2.1.1,
-    stm                         ==2.4,
-    syb                         ==0.3.7,
-    text                        ==0.11.2.3,
-    transformers                ==0.3.0.0,
-    vector                      ==0.10.0.1,
-    xhtml                       ==3000.2.1,
-    zlib                        ==0.5.4.0,
-
-    -- Libraries that are needed to support the above,
-    -- though are not officially part of the platform
-    primitive                   ==0.5.0.1
-
-  -- Depending on programs does not work, they are not registered
-  -- We list them to help distro packaging.
-  build-tools:
-    cabal-install               ==0.14.0,
-    alex                        ==3.0.2,
-    happy                       ==1.18.10
-    --                                          end platform packages
-    -- hscolour                 ==1.19   -- ???
-    -- haddock                  ==2.11.0 -- need to use the one shipped with ghc
-
--- N.B.: The begin/end comment annotations are used to build the source
--- installer: Packages that are part of the core are checked at build time.
--- Source of packages that are part of the platform are included in the tarball.
diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2013.2.0.0.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2013.2.0.0.cabal
deleted file mode 100644
index cf676ab1d6e..00000000000
--- a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2013.2.0.0.cabal
+++ /dev/null
@@ -1,118 +0,0 @@
-name:                haskell-platform
-version:             2013.2.0.0
-homepage:            http://haskell.org/platform
-license:             BSD3
-license-file:        LICENSE
-author:              libraries@haskell.org
-maintainer:          haskell-platform@projects.haskell.org
-category:            System
-synopsis:            The Haskell Platform
-description:
-    The Haskell Platform (HP) is the blessed set of libraries and tools on
-    which to build further Haskell libraries and applications. It is
-    intended to provide a comprehensive, stable, and quality tested base for
-    Haskell projects to work from.
-    .
-    This version specifies the following additional developer tools be
-    installed, for a system to be in full compliance:
-    .
-    * cabal-install
-    * alex
-    * happy
-    * haddock
-
-cabal-version:       >= 1.8
-build-type:          Custom
-tested-with:         GHC ==7.6.3
-
-flag include-ghc-depends
-  description: Include all the GHC provided packages in the dependencies
-  default:     False
-
-library
-  if flag(include-ghc-depends)
-    build-depends:
-      ghc                      ==7.6.3,
-
-      -- Core libraries: provided by every ghc installation
-      -- We don't include "non-API" packages here.
-      --                                        begin core packages
-      array                     ==0.4.0.1,
-      base                      ==4.6.0.1,
-      bytestring                ==0.10.0.2,
-      Cabal                     ==1.16.0,
-      containers                ==0.5.0.0,
-      deepseq                   ==1.3.0.1,
-      directory                 ==1.2.0.1,
-      filepath                  ==1.3.0.1,
-      haskell2010               ==1.1.1.0,
-      haskell98                 ==2.0.0.2,
-      hpc                       ==0.6.0.0,
-      old-locale                ==1.0.0.5,
-      old-time                  ==1.1.0.1,
-      pretty                    ==1.1.1.0,
-      process                   ==1.1.0.2,
-      template-haskell          ==2.8.0.0,
-      time                      ==1.4.0.1
-  if !os(windows)
-    build-depends:
-      unix                      ==2.6.0.1
-      --                                        end core packages
-  else
-    build-depends:
-      Win32                     ==2.3.0.0
-
-  build-depends:
-    -- Libraries in addition to what GHC provides:
-    -- Note: newer versions of cgi need monad-catchio.
-    --                                          begin platform packages
-    async                       ==2.0.1.4,
-    attoparsec                  ==0.10.4.0,
-    case-insensitive            ==1.0.0.1,
-    cgi                         ==3001.1.7.5,
-    fgl                         ==5.4.2.4,
-    GLUT                        ==2.4.0.0,
-    GLURaw                      ==1.3.0.0,
-    haskell-src                 ==1.0.1.5,
-    hashable                    ==1.1.2.5,
-    html                        ==1.0.1.2,
-    HTTP                        ==4000.2.8,
-    HUnit                       ==1.2.5.2,
-    mtl                         ==2.1.2,
-    network                     ==2.4.1.2,
-    OpenGL                      ==2.8.0.0,
-    OpenGLRaw                   ==1.3.0.0,
-    parallel                    ==3.2.0.3,
-    parsec                      ==3.1.3,
-    QuickCheck                  ==2.6,
-    random                      ==1.0.1.1,
-    regex-base                  ==0.93.2,
-    regex-compat                ==0.95.1,
-    regex-posix                 ==0.95.2,
-    split                       ==0.2.2,
-    stm                         ==2.4.2,
-    syb                         ==0.4.0,
-    text                        ==0.11.3.1,
-    transformers                ==0.3.0.0,
-    unordered-containers        ==0.2.3.0,
-    vector                      ==0.10.0.1,
-    xhtml                       ==3000.2.1,
-    zlib                        ==0.5.4.1,
-
-    -- Libraries that are needed to support the above,
-    -- though are not officially part of the platform
-    primitive                   ==0.5.0.1
-
-  -- Depending on programs does not work, they are not registered
-  -- We list them to help distro packaging.
-  build-tools:
-    cabal-install               ==1.16.0.2,
-    alex                        ==3.0.5,
-    happy                       ==1.18.10
-    --                                          end platform packages
-    -- hscolour                 ==1.20.3   -- ???
-    -- haddock                  ==2.13.2 -- need to use the one shipped with ghc
-
--- N.B.: The begin/end comment annotations are used to build the source
--- installer: Packages that are part of the core are checked at build time.
--- Source of packages that are part of the platform are included in the tarball.
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix b/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
deleted file mode 100644
index 1f9d3bf4d19..00000000000
--- a/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, cpphs, happy }:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-src-exts";
-  version = "1.13.5";
-  sha256 = "03bzhfp7l9f5hh61qdrr83331nbfgj3jfsfylwmnmcknpisdqnkw";
-  buildDepends = [ cpphs ];
-  buildTools = [ happy ];
-  doCheck = false;
-  meta = {
-    homepage = "http://code.haskell.org/haskell-src-exts";
-    description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/1.15.0.1.nix b/pkgs/development/libraries/haskell/haskell-src-exts/1.15.0.1.nix
new file mode 100644
index 00000000000..93e07dede85
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/1.15.0.1.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs, filemanip, filepath, happy, mtl, smallcheck, syb
+, tasty, tastyGolden, tastySmallcheck
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-src-exts";
+  version = "1.15.0.1";
+  sha256 = "0xp5i06c478vn5m504ax5dfa7p5zc0kflbdkm2ijdzc779lpbx45";
+  buildDepends = [ cpphs ];
+  testDepends = [
+    filemanip filepath mtl smallcheck syb tasty tastyGolden
+    tastySmallcheck
+  ];
+  buildTools = [ happy ];
+  meta = {
+    homepage = "https://github.com/haskell-suite/haskell-src-exts";
+    description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/1.16.0.1.nix b/pkgs/development/libraries/haskell/haskell-src-exts/1.16.0.1.nix
new file mode 100644
index 00000000000..d837c2f689b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/1.16.0.1.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cpphs, filepath, happy, mtl, smallcheck, syb, tasty
+, tastyGolden, tastySmallcheck
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-src-exts";
+  version = "1.16.0.1";
+  sha256 = "1h8gjw5g92rvvzadqzpscg73x7ajvs1wlphrh27afim3scdd8frz";
+  buildDepends = [ cpphs ];
+  testDepends = [
+    filepath mtl smallcheck syb tasty tastyGolden tastySmallcheck
+  ];
+  buildTools = [ happy ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/haskell-suite/haskell-src-exts";
+    description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
deleted file mode 100644
index b8c0a78001b..00000000000
--- a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, cpphs, filemanip, filepath, happy, mtl, smallcheck, syb
-, tasty, tastyGolden, tastySmallcheck
-}:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-src-exts";
-  version = "1.15.0.1";
-  sha256 = "0xp5i06c478vn5m504ax5dfa7p5zc0kflbdkm2ijdzc779lpbx45";
-  buildDepends = [ cpphs ];
-  testDepends = [
-    filemanip filepath mtl smallcheck syb tasty tastyGolden
-    tastySmallcheck
-  ];
-  buildTools = [ happy ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell-suite/haskell-src-exts";
-    description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index cc6cc60bb18..e43c0430be7 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-src-meta";
-  version = "0.6.0.7";
-  sha256 = "0cxqh35cd2j6ljsmgjisgm9pn26rj01x43mkn9jk6qs1fbqspb4d";
+  version = "0.6.0.8";
+  sha256 = "1fv228n9zbqa52aif7pkylrqgz2n63xhxly9f828i18xf02rmxnk";
   buildDepends = [ haskellSrcExts syb thOrphans uniplate ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
deleted file mode 100644
index e2e5ffa304d..00000000000
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, happy }:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-src";
-  version = "1.0.1.3";
-  sha256 = "a7872900acd2293775a6bdc6dc8f70438ccd80e62d2d1e2394ddff15b1883e89";
-  buildTools = [ happy ];
-  meta = {
-    description = "Manipulating Haskell source code";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
deleted file mode 100644
index 54decb79f2b..00000000000
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, happy, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-src";
-  version = "1.0.1.4";
-  sha256 = "02h33d7970641p9vi62sgcxb5v4yaz8xx9vf2yxyvxs3hglm7f0j";
-  buildDepends = [ syb ];
-  buildTools = [ happy ];
-  meta = {
-    description = "Support for manipulating Haskell source code";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix
deleted file mode 100644
index 02032c21120..00000000000
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, happy, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-src";
-  version = "1.0.1.5";
-  sha256 = "1ay3i2sbrp0pzg6fagg8gqrwq5lcnm5jb5sr11frbk274a82cdwz";
-  buildDepends = [ syb ];
-  buildTools = [ happy ];
-  preConfigure = "runhaskell Setup.hs clean";
-  meta = {
-    description = "Support for manipulating Haskell source code";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix b/pkgs/development/libraries/haskell/haskell-src/default.nix
index 428715ac07b..428715ac07b 100644
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix
+++ b/pkgs/development/libraries/haskell/haskell-src/default.nix
diff --git a/pkgs/development/libraries/haskell/haskelldb/default.nix b/pkgs/development/libraries/haskell/haskelldb/default.nix
index ecb92c18493..d732a465580 100644
--- a/pkgs/development/libraries/haskell/haskelldb/default.nix
+++ b/pkgs/development/libraries/haskell/haskelldb/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskelldb";
-  version = "2.2.2";
-  sha256 = "1nwy05wsffagv62kbi8ahm6s591wal7cdl19p0fqi86qz05y9hkm";
+  version = "2.2.4";
+  sha256 = "0f8c9bz25wzsc65czv0chxk93w947824axl7p821fljlrykcm45y";
   buildDepends = [ mtl time ];
   meta = {
     homepage = "https://github.com/m4dc4p/haskelldb";
@@ -13,7 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskintex/default.nix b/pkgs/development/libraries/haskell/haskintex/default.nix
index 776d5198bc7..c659d3966f0 100644
--- a/pkgs/development/libraries/haskell/haskintex/default.nix
+++ b/pkgs/development/libraries/haskell/haskintex/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskintex";
-  version = "0.5.0.0";
-  sha256 = "1ixb8lwgk2bkm36c173x8y2a14ylax5bdrqw4blxm4qia7xidc5i";
+  version = "0.5.0.2";
+  sha256 = "1qfqslr8pxks3qmfarmscgvc0q8zn72prqyk5xhmfvkf6q35pmfn";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/haskoin/default.nix b/pkgs/development/libraries/haskell/haskoin/default.nix
index 120111f35f0..7d13d6e797b 100644
--- a/pkgs/development/libraries/haskell/haskoin/default.nix
+++ b/pkgs/development/libraries/haskell/haskoin/default.nix
@@ -18,6 +18,8 @@ cabal.mkDerivation (self: {
     mtl pbkdf QuickCheck split testFramework testFrameworkHunit
     testFrameworkQuickcheck2 text
   ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "http://github.com/haskoin/haskoin";
     description = "Implementation of the Bitcoin protocol";
diff --git a/pkgs/development/libraries/haskell/haskore/default.nix b/pkgs/development/libraries/haskell/haskore/default.nix
index cf0b3504e1b..7f1e29a8c6c 100644
--- a/pkgs/development/libraries/haskell/haskore/default.nix
+++ b/pkgs/development/libraries/haskell/haskore/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskore";
-  version = "0.2.0.4";
-  sha256 = "0hhsiazdz44amilcwfxl0r10yxzhql83pgd21k89fmg1gkc4q46j";
+  version = "0.2.0.5";
+  sha256 = "0zvr7hwxnv01g626617yv7f0vwpmyqvlwbyc6yhb2mrlfqwdgbd0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/haste-compiler/default.nix b/pkgs/development/libraries/haskell/haste-compiler/default.nix
index 0b5f4875a75..f2cf3d24f87 100644
--- a/pkgs/development/libraries/haskell/haste-compiler/default.nix
+++ b/pkgs/development/libraries/haskell/haste-compiler/default.nix
@@ -1,27 +1,29 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, binary, blazeBuilder, bzlib, dataBinaryIeee754
-, dataDefault, executablePath, filepath, ghcPaths, HTTP, monadsTf
-, mtl, network, random, shellmate, systemFileio, tar, temporary
-, time, transformers, utf8String, websockets, zipArchive
+, dataDefault, either, filepath, ghcPaths, HTTP, monadsTf, mtl
+, network, networkUri, random, shellmate, systemFileio, tar
+, transformers, utf8String, websockets
 }:
 
 cabal.mkDerivation (self: {
   pname = "haste-compiler";
-  version = "0.3";
-  sha256 = "0a0hyra1h484c404d95d411l7gddaazy1ikwzlgkgzaqzd7j7dbd";
+  version = "0.4.3";
+  sha256 = "1wkb6a1jwmpjr0jlz5fjq652jz6a6agg0a5pfazyfpdznvd4mm62";
   isLibrary = true;
   isExecutable = true;
+  noHaddock = true;
   buildDepends = [
-    binary blazeBuilder bzlib dataBinaryIeee754 dataDefault
-    executablePath filepath ghcPaths HTTP monadsTf mtl network random
-    shellmate systemFileio tar temporary time transformers utf8String
-    websockets zipArchive
+    binary blazeBuilder bzlib dataBinaryIeee754 dataDefault either
+    filepath ghcPaths HTTP monadsTf mtl network networkUri random
+    shellmate systemFileio tar transformers utf8String websockets
   ];
+  configureFlags = "-fportable";
   meta = {
-    homepage = "http://github.com/valderman/haste-compiler";
+    homepage = "http://haste-lang.org/";
     description = "Haskell To ECMAScript compiler";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haste-perch/default.nix b/pkgs/development/libraries/haskell/haste-perch/default.nix
index aec315995c8..221a7fe647b 100644
--- a/pkgs/development/libraries/haskell/haste-perch/default.nix
+++ b/pkgs/development/libraries/haskell/haste-perch/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haste-perch";
-  version = "0.1.0.3";
-  sha256 = "1ad7kv47kq0sav49qnqdk76blk44sgjvk1zgn5k2bqvfnr26641j";
+  version = "0.1.0.4";
+  sha256 = "12ssfik7v671727yxplz44gwgy9i815l44r4z3x066ndcqglr306";
   buildDepends = [ hasteCompiler transformers ];
   meta = {
     homepage = "https://github.com/agocorona/haste-perch";
@@ -13,5 +13,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index 1aba1975a78..708959b0045 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -1,17 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, base64Bytestring, blazeBuilder, HaXml, HTTP, mtl, network
-, time, utf8String
+, networkUri, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "haxr";
-  version = "3000.10.3";
-  sha256 = "082w86vawjiqz589s3gmawssd0b43b1vcw0h6cndadwww8yc35bg";
+  version = "3000.10.3.1";
+  sha256 = "0alvrsk85f1l79hfa9shagjckp4sx835l9734ab2izfv50mxx7gm";
   buildDepends = [
-    base64Bytestring blazeBuilder HaXml HTTP mtl network time
-    utf8String
+    base64Bytestring blazeBuilder HaXml HTTP mtl network networkUri
+    time utf8String
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/HaXR";
     description = "XML-RPC client and server library";
diff --git a/pkgs/development/libraries/haskell/hcltest/default.nix b/pkgs/development/libraries/haskell/hcltest/default.nix
index 01f683b5568..c08f9e79bf0 100644
--- a/pkgs/development/libraries/haskell/hcltest/default.nix
+++ b/pkgs/development/libraries/haskell/hcltest/default.nix
@@ -7,14 +7,15 @@
 
 cabal.mkDerivation (self: {
   pname = "hcltest";
-  version = "0.3.4";
-  sha256 = "0p8skabp6z4i5xr22qxk1sij2ayla2iqylvlzxfxa8yw1fxs8wsq";
+  version = "0.3.6";
+  sha256 = "145l3kfxi1slngcmh4dnn09hhpr5v6s5nppk0i5a5jzxpp2yx6sd";
   buildDepends = [
     dlist either filepath free lens mmorph monadControl mtl
     optparseApplicative randomShuffle split stm tagged tasty temporary
     text transformers transformersBase
   ];
   testDepends = [ doctest filepath ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/bennofs/hcltest/";
     description = "A testing library for command line applications";
diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix
index b1422f616c9..9927e65cfc3 100644
--- a/pkgs/development/libraries/haskell/heist/default.nix
+++ b/pkgs/development/libraries/haskell/heist/default.nix
@@ -1,19 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, blazeBuilder, blazeHtml, directoryTree
-, dlist, errors, filepath, hashable, MonadCatchIOTransformers, mtl
-, random, text, time, transformers, unorderedContainers, vector
-, xmlhtml
+, dlist, errors, filepath, hashable, mapSyntax
+, MonadCatchIOTransformers, mtl, random, text, time, transformers
+, unorderedContainers, vector, xmlhtml
 }:
 
 cabal.mkDerivation (self: {
   pname = "heist";
-  version = "0.13.1.2";
-  sha256 = "0c80lf00n3iv55mw4p61bjx14gildvxnvfdaa755ghkg1wcd59s5";
+  version = "0.14.0.1";
+  sha256 = "1nhksdn95v35ymml3kgm70axjl4vkjfvj1wvlcm1a1frlnbk993w";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors
-    filepath hashable MonadCatchIOTransformers mtl random text time
-    transformers unorderedContainers vector xmlhtml
+    filepath hashable mapSyntax MonadCatchIOTransformers mtl random
+    text time transformers unorderedContainers vector xmlhtml
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/here/default.nix b/pkgs/development/libraries/haskell/here/default.nix
new file mode 100644
index 00000000000..a7a1527cd1d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/here/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcMeta, mtl, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "here";
+  version = "1.2.6";
+  sha256 = "1c7b0a5a42ki8ndvc2k35jnsj433f1nv1j40vviasxksm7acbwif";
+  buildDepends = [ haskellSrcMeta mtl parsec ];
+  meta = {
+    homepage = "https://github.com/tmhedberg/here";
+    description = "Here docs & interpolated strings via quasiquotation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ edwtjo ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hexpat/default.nix b/pkgs/development/libraries/haskell/hexpat/default.nix
index 9e2e6d93f83..63e92de9424 100644
--- a/pkgs/development/libraries/haskell/hexpat/default.nix
+++ b/pkgs/development/libraries/haskell/hexpat/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hexpat";
-  version = "0.20.6";
-  sha256 = "02ms6lchj6k0krqjk47bibfb0cbpbc16ip9f22c4rgp04qkzp60b";
+  version = "0.20.7";
+  sha256 = "03r5j54a250f01km6i8qja1h1k512ds2bp7r0yk2jpbbar2y7c08";
   buildDepends = [ deepseq List text transformers utf8String ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/Hexpat/";
diff --git a/pkgs/development/libraries/haskell/higher-leveldb/default.nix b/pkgs/development/libraries/haskell/higher-leveldb/default.nix
new file mode 100644
index 00000000000..a25a37741d3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/higher-leveldb/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, dataDefault, hspec, leveldbHaskell, liftedBase
+, monadControl, mtl, resourcet, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "higher-leveldb";
+  version = "0.2.1.0";
+  sha256 = "13bwh9jg7smh8vwgrih79ivi073690l9nn478r5m0w64gbkvdm5p";
+  buildDepends = [
+    cereal dataDefault leveldbHaskell liftedBase monadControl mtl
+    resourcet transformers transformersBase
+  ];
+  testDepends = [
+    cereal hspec leveldbHaskell liftedBase monadControl mtl resourcet
+    transformers transformersBase
+  ];
+  meta = {
+    homepage = "https://github.com/jeremyjh/higher-leveldb";
+    description = "A rich monadic API for working with leveldb databases";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index a9540b24950..d5ee69f5f0d 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -1,16 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre, utf8String }:
+{ cabal, blazeHtml, Diff, filepath, mtl, parsec, regexPcre
+, utf8String
+}:
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.8.5";
-  sha256 = "0xynbxffjp44189zzqx30wabbrj83mvjl3mj1i5lag1h945yp1nk";
+  version = "0.5.11";
+  sha256 = "0jfgz4cyn6fylfrsk1yi0fykir8mhxdniq80h7hy5i2xv7qwf5vw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     blazeHtml filepath mtl parsec regexPcre utf8String
   ];
+  testDepends = [ blazeHtml Diff filepath ];
   prePatch = "sed -i -e 's|regex-pcre-builtin >= .*|regex-pcre|' highlighting-kate.cabal";
   meta = {
     homepage = "http://github.com/jgm/highlighting-kate";
diff --git a/pkgs/development/libraries/haskell/hindent/default.nix b/pkgs/development/libraries/haskell/hindent/default.nix
new file mode 100644
index 00000000000..ea5e13a1b5f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hindent/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, haskellSrcExts, hspec, monadLoops, mtl, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hindent";
+  version = "4.0";
+  sha256 = "1l4dhp55ps92zvz2nmhs1j4hfsbs0r5f2b7idjcy8ibng8sgb361";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ dataDefault haskellSrcExts monadLoops mtl text ];
+  testDepends = [
+    dataDefault haskellSrcExts hspec monadLoops mtl text
+  ];
+  doCheck = false;
+  meta = {
+    description = "Extensible Haskell pretty printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hinotify/default.nix b/pkgs/development/libraries/haskell/hinotify/default.nix
index 5fac7a396ff..2513922781b 100644
--- a/pkgs/development/libraries/haskell/hinotify/default.nix
+++ b/pkgs/development/libraries/haskell/hinotify/default.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/kolmodin/hinotify.git";
     description = "Haskell binding to inotify";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix
index aacf7c020f8..ce0eec94488 100644
--- a/pkgs/development/libraries/haskell/hint/default.nix
+++ b/pkgs/development/libraries/haskell/hint/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hint";
-  version = "0.4.2.0";
-  sha256 = "08cq9zyyry7cxc30jmsdgrnvw6v2jbxnxcwcjs3bh77rds947mmd";
+  version = "0.4.2.1";
+  sha256 = "0nc545y1v3s1897f3ims7m37wnn288xyz1zb9sxqs6immdxyly0g";
   buildDepends = [
     exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random
     utf8String
diff --git a/pkgs/development/libraries/haskell/hit/default.nix b/pkgs/development/libraries/haskell/hit/default.nix
index bf92945d164..08ff35ca8aa 100644
--- a/pkgs/development/libraries/haskell/hit/default.nix
+++ b/pkgs/development/libraries/haskell/hit/default.nix
@@ -2,19 +2,19 @@
 
 { cabal, attoparsec, bytedump, cryptohash, hourglass, HUnit, mtl
 , parsec, patience, QuickCheck, random, systemFileio
-, systemFilepath, testFramework, testFrameworkQuickcheck2, vector
-, zlib, zlibBindings
+, systemFilepath, testFramework, testFrameworkQuickcheck2
+, unixCompat, vector, zlib, zlibBindings
 }:
 
 cabal.mkDerivation (self: {
   pname = "hit";
-  version = "0.6.1";
-  sha256 = "175i6gag596dy341jlr5sjj55qcaqgymrcr1czcaigsxsn5yx8b9";
+  version = "0.6.2";
+  sha256 = "07lfjbn48v8ykkyj15diy4a9kpgzc93gv0l1rdfcacl3f26a97hs";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     attoparsec cryptohash hourglass mtl parsec patience random
-    systemFileio systemFilepath vector zlib zlibBindings
+    systemFileio systemFilepath unixCompat vector zlib zlibBindings
   ];
   testDepends = [
     bytedump hourglass HUnit QuickCheck testFramework
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index 541b3ceb0dc..350b384ef00 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -1,21 +1,23 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cmdargs, csv, filepath, HUnit, mtl, parsec, prettyShow
-, regexpr, regexTdfa, safe, split, testFramework
-, testFrameworkHunit, time, transformers, utf8String
+{ cabal, blazeMarkup, cmdargs, csv, Decimal, filepath, HUnit, mtl
+, parsec, prettyShow, regexpr, regexTdfa, safe, split
+, testFramework, testFrameworkHunit, time, transformers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-lib";
-  version = "0.23.2";
-  sha256 = "1z9gxbah649r9vzq012mqnk07rfnd6c4ik82klksk0zzd4yxf07d";
+  version = "0.24";
+  sha256 = "1r0qlah45z1p180d245fyji8xnxv9ipgg9m1dr56s4xaw910f6ns";
   buildDepends = [
-    cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa
-    safe split time transformers utf8String
+    blazeMarkup cmdargs csv Decimal filepath HUnit mtl parsec
+    prettyShow regexpr regexTdfa safe split time transformers
+    utf8String
   ];
   testDepends = [
-    cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa
-    safe split testFramework testFrameworkHunit time transformers
+    blazeMarkup cmdargs csv Decimal filepath HUnit mtl parsec
+    prettyShow regexpr regexTdfa safe split testFramework
+    testFrameworkHunit time transformers
   ];
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index 70ba12e2398..ae5de9c757b 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -1,26 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, blazeHtml, blazeMarkup, clientsession, cmdargs
-, conduitExtra, dataDefault, filepath, hamlet, hjsmin, hledger
-, hledgerLib, hspec, httpClient, httpConduit, HUnit, json
-, networkConduit, parsec, regexpr, safe, shakespeare
-, shakespeareText, text, time, transformers, wai, waiExtra
-, waiHandlerLaunch, warp, yaml, yesod, yesodCore, yesodStatic
-, yesodTest
+, conduitExtra, dataDefault, filepath, hjsmin, hledger, hledgerLib
+, hspec, httpClient, httpConduit, HUnit, json, networkConduit
+, parsec, regexpr, safe, shakespeare, text, time, transformers, wai
+, waiExtra, waiHandlerLaunch, warp, yaml, yesod, yesodCore
+, yesodStatic, yesodTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.23.2";
-  sha256 = "1n4n2zj6nqwvwmb6cxr16x2fnmzs7v21snjhq2nnvlik613rnnq7";
+  version = "0.24";
+  sha256 = "0dwqrq31yf0kw3rk06f1ny2670w2qw83bvvqwp87g4xky5v69xpi";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     blazeHtml blazeMarkup clientsession cmdargs conduitExtra
-    dataDefault filepath hamlet hjsmin hledger hledgerLib httpClient
+    dataDefault filepath hjsmin hledger hledgerLib httpClient
     httpConduit HUnit json networkConduit parsec regexpr safe
-    shakespeare shakespeareText text time transformers wai waiExtra
-    waiHandlerLaunch warp yaml yesod yesodCore yesodStatic
+    shakespeare text time transformers wai waiExtra waiHandlerLaunch
+    warp yaml yesod yesodCore yesodStatic
   ];
   testDepends = [ hspec yesod yesodTest ];
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index 8ac4d6d2e6b..a53cb3cc14e 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -1,26 +1,27 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, cmdargs, csv, filepath, haskeline, hledgerLib, HUnit, mtl
-, parsec, prettyShow, regexpr, safe, shakespeare, shakespeareText
-, split, tabular, testFramework, testFrameworkHunit, text, time
-, transformers, utf8String, wizards
+, parsec, prettyShow, regexpr, regexTdfa, safe, shakespeare
+, shakespeareText, split, tabular, testFramework
+, testFrameworkHunit, text, time, transformers, utf8String, wizards
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger";
-  version = "0.23.2";
-  sha256 = "1q57mb37qkngdvivaj4dykrkg4sb2pchg2ssdxx8ss4zhbsrk713";
+  version = "0.24";
+  sha256 = "1f32lg12i9s075xfbl3f5vhanjg8ms5ilw0hgpbsfh8g9nvlvffc";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cmdargs filepath haskeline hledgerLib HUnit mtl parsec prettyShow
-    regexpr safe shakespeare shakespeareText split tabular text time
-    utf8String wizards
+    cmdargs csv filepath haskeline hledgerLib HUnit mtl parsec
+    prettyShow regexpr regexTdfa safe shakespeare shakespeareText split
+    tabular text time utf8String wizards
   ];
   testDepends = [
     cmdargs csv filepath haskeline hledgerLib HUnit mtl parsec
-    prettyShow regexpr safe shakespeare shakespeareText split tabular
-    testFramework testFrameworkHunit text time transformers wizards
+    prettyShow regexpr regexTdfa safe shakespeare shakespeareText split
+    tabular testFramework testFrameworkHunit text time transformers
+    wizards
   ];
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hmatrix-gsl/default.nix b/pkgs/development/libraries/haskell/hmatrix-gsl/default.nix
new file mode 100644
index 00000000000..501d84a596f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hmatrix-gsl/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, gsl, hmatrix, random, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "hmatrix-gsl";
+  version = "0.16.0.2";
+  sha256 = "1l865v2vpjl7f5741z58m9gw1ksskgzfm5gzp9pxiqazsgb2h5ym";
+  buildDepends = [ hmatrix random vector ];
+  pkgconfigDepends = [ gsl ];
+  meta = {
+    homepage = "https://github.com/albertoruiz/hmatrix";
+    description = "Numerical computation";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hmatrix-special/default.nix b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
index 4a2153f173e..c6e9f3dbbbf 100644
--- a/pkgs/development/libraries/haskell/hmatrix-special/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
@@ -1,18 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hmatrix }:
+{ cabal, gsl, hmatrix, hmatrixGsl }:
 
 cabal.mkDerivation (self: {
   pname = "hmatrix-special";
-  version = "0.2.0";
-  sha256 = "0lp8mvagbzayq3r08wgk498n6d9vgb1skb8wzrzi5a1fc5j8m0wj";
-  buildDepends = [ hmatrix ];
+  version = "0.3.0.1";
+  sha256 = "1ziqzbfrk7xyah5n0cys1ccnmj2z91wxdamanv3y5v717zhdrqix";
+  buildDepends = [ hmatrix hmatrixGsl ];
+  extraLibraries = [ gsl ];
   meta = {
-    homepage = "http://perception.inf.um.es/hmatrix";
+    homepage = "https://github.com/albertoruiz/hmatrix";
     description = "Interface to GSL special functions";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix
index 806405208c5..afc5833d5e2 100644
--- a/pkgs/development/libraries/haskell/hmatrix/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hmatrix";
-  version = "0.16.0.4";
-  sha256 = "0n2h7vp8cyr4lm6yv6msvqr87d0dn7fm61p58wy7f230v692j1p4";
+  version = "0.16.1.0";
+  sha256 = "0jdkh9cq3dzc2fdkqv2zpv70knfkr0i01wv83zw3gjjv081gcn5h";
   buildDepends = [
     binary deepseq random split storableComplex vector
   ];
diff --git a/pkgs/development/libraries/haskell/hoauth2/default.nix b/pkgs/development/libraries/haskell/hoauth2/default.nix
index e9b0d4bf260..ec88bb0f174 100644
--- a/pkgs/development/libraries/haskell/hoauth2/default.nix
+++ b/pkgs/development/libraries/haskell/hoauth2/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hoauth2";
-  version = "0.4.1";
-  sha256 = "145lgy9bxx1xdljbkvi6s97n2z1k5fd0idp415r71ydw8h3i8ppx";
+  version = "0.4.3";
+  sha256 = "1qmhk9h3rwp29dsjqbgsma4zgzdd6cw1jcryzd17rk32biiiylvg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/holy-project/default.nix b/pkgs/development/libraries/haskell/holy-project/default.nix
index 088bbe4d4ea..1fa7c558731 100644
--- a/pkgs/development/libraries/haskell/holy-project/default.nix
+++ b/pkgs/development/libraries/haskell/holy-project/default.nix
@@ -1,34 +1,32 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, ansiTerminal, Cabal, filepath, hastache
-, httpConduit, HUnit, lens, QuickCheck, random, smallcheck, split
-, syb, tasty, tastyHunit, tastyQuickcheck, tastySmallcheck, text
-, time
-, fetchpatch}:
+, httpConduit, HUnit, lens, lensAeson, QuickCheck, random
+, smallcheck, split, syb, tasty, tastyHunit, tastyQuickcheck
+, tastySmallcheck, text, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "holy-project";
-  version = "0.1.1.0";
-  sha256 = "1dsyhgjcp54199zfazzzwsggxpj2dsbzfb64v6l3jz7qaapxnj9i";
+  version = "0.1.1.1";
+  sha256 = "0vb4mlz6gb01aadm2b8kgvgnrwwvl6q4ndx6xldi0xi3rm22xkwj";
   isLibrary = true;
   isExecutable = true;
-  patches = [ (fetchpatch { url = "https://github.com/yogsototh/holy-project/pull/3.patch"; sha256 = "1ndyhfrsvn94zxzyq1w4504gz91yfv33375933qmz3wdfkc3rqf0"; }) ];
   buildDepends = [
     aeson ansiTerminal Cabal filepath hastache httpConduit HUnit lens
-    QuickCheck random smallcheck split syb tasty tastyHunit
+    lensAeson QuickCheck random smallcheck split syb tasty tastyHunit
     tastyQuickcheck tastySmallcheck text time
   ];
   testDepends = [
     Cabal HUnit QuickCheck smallcheck tasty tastyHunit tastyQuickcheck
     tastySmallcheck
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/yogsototh/holy-project";
     description = "Start your Haskell project with cabal, git and tests";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoogle/4.2.34.nix b/pkgs/development/libraries/haskell/hoogle/4.2.34.nix
new file mode 100644
index 00000000000..d498095f8b3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/4.2.34.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
+, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
+, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
+, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoogle";
+  version = "4.2.34";
+  sha256 = "0vldc7s3nq70jxmnxdzlfrlwg0pxw0lq1lcd53klj2ksjkqhm5jg";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
+    deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
+    resourcet safe shake tagsoup text time transformers uniplate vector
+    vectorAlgorithms wai warp
+  ];
+  testDepends = [ filepath ];
+  testTarget = "--test-option=--no-net";
+  meta = {
+    homepage = "http://www.haskell.org/hoogle/";
+    description = "Haskell API Search";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoogle/4.2.36.nix b/pkgs/development/libraries/haskell/hoogle/4.2.36.nix
new file mode 100644
index 00000000000..5b12f8d28c4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/4.2.36.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
+, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
+, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup
+, temporary, text, time, transformers, uniplate, vector
+, vectorAlgorithms, wai, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoogle";
+  version = "4.2.36";
+  sha256 = "1h65pl0jfki2pcrywak9mh3hfi3wziffhb2q0xp6r4v01536zifv";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
+    deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
+    resourcet safe shake tagsoup text time transformers uniplate vector
+    vectorAlgorithms wai warp
+  ];
+  testDepends = [ filepath temporary ];
+  testTarget = "--test-option=--no-net";
+  meta = {
+    homepage = "http://www.haskell.org/hoogle/";
+    description = "Haskell API Search";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix
deleted file mode 100644
index bda89829d68..00000000000
--- a/pkgs/development/libraries/haskell/hoogle/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
-, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
-, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
-, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
-}:
-
-cabal.mkDerivation (self: {
-  pname = "hoogle";
-  version = "4.2.34";
-  sha256 = "0vldc7s3nq70jxmnxdzlfrlwg0pxw0lq1lcd53klj2ksjkqhm5jg";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
-    deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
-    resourcet safe shake tagsoup text time transformers uniplate vector
-    vectorAlgorithms wai warp
-  ];
-  testDepends = [ filepath ];
-  testTarget = "--test-option=--no-net";
-  meta = {
-    homepage = "http://www.haskell.org/hoogle/";
-    description = "Haskell API Search";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh b/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh
new file mode 100644
index 00000000000..13ea889119c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/hoogle-local-wrapper.sh
@@ -0,0 +1,6 @@
+#! @shell@
+
+COMMAND=$1
+shift
+HOOGLE_DOC_PATH=@out@/share/hoogle/doc exec @hoogle@/bin/hoogle \
+    "$COMMAND" -d @out@/share/hoogle "$@"
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
deleted file mode 100644
index df507c5a470..00000000000
--- a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/src/CmdLine/All.hs b/src/CmdLine/All.hs
-index 94b1d48..f41f270 100644
---- a/src/CmdLine/All.hs
-+++ b/src/CmdLine/All.hs
-@@ -86,8 +86,10 @@ guessLocal = do
-     ghc <- findExecutable "ghc"
-     home <- getHomeDirectory
-     lib <- getLibDir
-+    path <- lookup "HOOGLE_DOC_PATH" <$> getEnvironment
-     let xs = [takeDirectory (takeDirectory lib) </> "doc" {- Windows, installed with Cabal -}  ] ++
-              [takeDirectory (takeDirectory ghc) </> "doc/html/libraries" | Just ghc <- [ghc] {- Windows, installed by GHC -} ] ++
-+             maybeToList path ++
-              [home </> ".cabal/share/doc" {- Linux -} ]
-     filterM doesDirectoryExist xs
- 
-diff --git a/src/Hoogle/Language/Haskell.hs b/src/Hoogle/Language/Haskell.hs
-index b037f11..f2ac047 100644
---- a/src/Hoogle/Language/Haskell.hs
-+++ b/src/Hoogle/Language/Haskell.hs
-@@ -112,7 +112,7 @@ setPriority pkg mod x = x{itemPriority = pri}
- 
- setModuleURL (Just pkg) _ x | itemLevel x == 1 = x{itemURL=if null $ itemURL x then f $ itemName x else itemURL x}
-     where f xs = if "http://hackage.haskell.org/package/" `isPrefixOf` itemURL pkg
--                 then "http://hackage.haskell.org/packages/archive/" ++ itemName pkg ++ "/latest/doc/html/" ++ file
-+                 then "http://hackage.haskell.org/package/" ++ itemName pkg ++ "/docs/" ++ file
-                  else takeDirectory (itemURL pkg) ++ "/" ++ file
-               where file = reps '.' '-' xs ++ ".html"
- setModuleURL _ _ x = x
diff --git a/pkgs/development/libraries/haskell/hoogle/local.nix b/pkgs/development/libraries/haskell/hoogle/local.nix
index 490898a75b2..822c2bdd82e 100644
--- a/pkgs/development/libraries/haskell/hoogle/local.nix
+++ b/pkgs/development/libraries/haskell/hoogle/local.nix
@@ -9,12 +9,12 @@
 #   haskellPackages =
 #     let callPackage = pkgs.lib.callPackageWith haskellPackages;
 #     in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
-#         extraPrefs = self: {
+#         extension = self: super: {
 #           hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
 #             packages = with pkgs.haskellPackages; [
 #               mmorph
 #               monadControl
-#             ]
+#             ];
 #           };
 #         };
 #       });
@@ -23,43 +23,22 @@
 # This will build mmorph and monadControl, and have the hoogle installation
 # refer to their documentation via symlink so they are not garbage collected.
 
-{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
-, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
-, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
-, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
-, fetchurl
-
-, parallel, perl, wget, rehoo, haskellPlatform
-, packages ? haskellPlatform.propagatedUserEnvPkgs
+{ stdenv, hoogle, rehoo
+, ghc, packages ? [ ghc.ghc ]
 }:
 
-cabal.mkDerivation (self: rec {
-  pname = "hoogle";
-  version = "4.2.32";
-  sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc";
-  isLibrary = true;
-  isExecutable = true;
-  buildInputs = [self.ghc Cabal] ++ self.extraBuildInputs
-    ++ [ parallel perl wget rehoo ] ++ packages;
-  buildDepends = [
-      aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
-      deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
-      resourcet safe shake tagsoup text time transformers uniplate vector
-      vectorAlgorithms wai warp
-    ];
-  testDepends = [ filepath ];
-  testTarget = "--test-option=--no-net";
+let
+  inherit (stdenv.lib) optional;
+  wrapper = ./hoogle-local-wrapper.sh;
+in
+stdenv.mkDerivation {
+  name = "hoogle-local-0.1";
+  buildInputs = [hoogle rehoo];
 
-  # The tests will fail because of the added documentation.
-  doCheck = false;
-  patches = [ ./hoogle-local.diff
-              (fetchurl { url = "https://github.com/ndmitchell/hoogle/commit/5fc294f2b5412fda107c7700f4d833b52f26184c.diff";
-                          sha256 = "1fn52g90p2jsy87gf5rqrcg49s8hfwway5hi4v9i2rpg5mzxaq3i"; })
-            ];
+  phases = [ "installPhase" ];
 
   docPackages = packages;
-
-  postInstall = ''
+  installPhase = ''
     if [ -z "$docPackages" ]; then
         echo "ERROR: The packages attribute has not been set"
         exit 1
@@ -71,27 +50,38 @@ cabal.mkDerivation (self: rec {
     cd $out/share/hoogle
 
     function import_dbs() {
-        find $1 -name '*.txt' \
-            | parallel -j$NIX_BUILD_CORES 'cp -p {} .; perl -i -pe "print \"\@url file://{//}/index.html\n\" if /^\@version/;" {/}; $out/bin/hoogle convert {/}'
+        find $1 -name '*.txt' | while read f; do
+          newname=$(basename "$f" | tr '[:upper:]' '[:lower:]')
+          if [[ -f $f && ! -f ./$newname ]]; then
+            cp -p $f ./$newname
+            hoogle convert -d "$(dirname $f)" "./$newname"
+          fi
+        done
     }
 
     for i in $docPackages; do
-        import_dbs $i/share/doc
-        ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \
-            || ln -sf $i/share/doc/* $out/share/hoogle/doc
+        findInputs $i docPackages propagated-native-build-inputs
+        findInputs $i docPackages propagated-build-inputs
     done
 
-    import_dbs ${self.ghc}/share/doc/ghc*/html/libraries
-    ln -sf ${self.ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
+    for i in $docPackages; do
+      if [[ ! $i == $out ]]; then
+        for docdir in $i/share/doc/*-ghc-*/* $i/share/doc/*; do
+          if [[ -d $docdir ]]; then
+            import_dbs $docdir
+            ln -sf $docdir $out/share/hoogle/doc
+          fi
+        done
+      fi
+    done
 
-    unset http_proxy
-    unset ftp_proxy
+    import_dbs ${ghc}/share/doc/ghc*/html/libraries
+    ln -sf ${ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
 
     chmod 644 *.hoo *.txt
-    $out/bin/hoogle data -d $PWD --redownload -l $(echo *.txt | sed 's/\.txt//g')
-    PATH=$out/bin:$PATH ${rehoo}/bin/rehoo -j4 -c64 .
+    rehoo -j4 -c64 .
 
-    rm -fr downloads *.txt *.dep
+    rm -fr downloads *.dep *.txt
     mv default.hoo x || exit 0
     rm -f *.hoo
     mv x default.hoo || exit 1
@@ -101,23 +91,17 @@ cabal.mkDerivation (self: rec {
         exit 1
     fi
 
-    mv $out/bin/hoogle $out/bin/.hoogle-wrapped
-    cat - > $out/bin/hoogle <<EOF
-    #! ${self.stdenv.shell}
-    COMMAND=\$1
-    shift
-    HOOGLE_DOC_PATH=$out/share/hoogle/doc exec $out/bin/.hoogle-wrapped \$COMMAND -d $out/share/hoogle "\$@"
-    EOF
+    mkdir -p $out/bin
+    substitute ${wrapper} $out/bin/hoogle \
+        --subst-var out --subst-var-by shell ${stdenv.shell} \
+        --subst-var-by hoogle ${hoogle}
     chmod +x $out/bin/hoogle
   '';
 
   meta = {
-    homepage = "http://www.haskell.org/hoogle/";
-    description = "Haskell API Search";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    description = "A local Hoogle database";
+    platforms = ghc.meta.platforms;
+    hydraPlatforms = with stdenv.lib.platforms; none;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
-})
+}
diff --git a/pkgs/development/libraries/haskell/hoopl/default.nix b/pkgs/development/libraries/haskell/hoopl/default.nix
new file mode 100644
index 00000000000..a0c494d67cf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoopl/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "hoopl";
+  version = "3.10.0.1";
+  sha256 = "1wahcngdmb3ixny0havrddkmrhs02rzlf1d1l7g8f6pzg051mr11";
+  meta = {
+    homepage = "http://ghc.cs.tufts.edu/hoopl/";
+    description = "A library to support dataflow analysis and optimization";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hopenssl/default.nix b/pkgs/development/libraries/haskell/hopenssl/default.nix
index c077e7cde20..5532b56e6a1 100644
--- a/pkgs/development/libraries/haskell/hopenssl/default.nix
+++ b/pkgs/development/libraries/haskell/hopenssl/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hopenssl";
-  version = "1.6.2";
-  sha256 = "0b9xdm7jgkadx53vwszjnisyblzsqk99s3zqppgp0iqqf9955s4w";
+  version = "1.7";
+  sha256 = "1zs69kxwz5fnm62mdscbpfz78vwnda75gyx1vxmmlisfhfslprly";
   buildDepends = [ mtl ];
   extraLibraries = [ openssl ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/hosc/default.nix b/pkgs/development/libraries/haskell/hosc/default.nix
new file mode 100644
index 00000000000..2ad4d6210e2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hosc/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, blazeBuilder, dataBinaryIeee754, network
+, QuickCheck, testFramework, testFrameworkQuickcheck2, time
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hosc";
+  version = "0.15";
+  sha256 = "1yp25n159p69r32y3x7iwc55l5q9qaamj2vyl1473x8ras5afdcf";
+  buildDepends = [
+    binary blazeBuilder dataBinaryIeee754 network time transformers
+  ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hosc";
+    description = "Haskell Open Sound Control";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hourglass/default.nix b/pkgs/development/libraries/haskell/hourglass/default.nix
index 5b11121a9ef..92e3806b8cd 100644
--- a/pkgs/development/libraries/haskell/hourglass/default.nix
+++ b/pkgs/development/libraries/haskell/hourglass/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hourglass";
-  version = "0.2.2";
-  sha256 = "015ipy9adi67nfddjsw9c0ihn0banghgawjli0lgrmiyjz01610c";
+  version = "0.2.6";
+  sha256 = "029fmx5r6krj7y7mn4b4m2lpaa3iw6vhyznrib5lhf469i1jp9m3";
   buildDepends = [ deepseq ];
   testDepends = [
     deepseq mtl tasty tastyHunit tastyQuickcheck time
diff --git a/pkgs/development/libraries/haskell/hplayground/default.nix b/pkgs/development/libraries/haskell/hplayground/default.nix
index db38dbc2399..c4e9ddbe2aa 100644
--- a/pkgs/development/libraries/haskell/hplayground/default.nix
+++ b/pkgs/development/libraries/haskell/hplayground/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hplayground";
-  version = "0.1.0.3";
-  sha256 = "1k46b94n9wkbh7374mjyg5jnwxxrhj8ai53q3r4lysx1rzgw7ak6";
+  version = "0.1.1.0";
+  sha256 = "03ya82lxhv7acakhl01835p3wvwr3z14jiww7wvj4bzlib8qsi8b";
   buildDepends = [
     dataDefault hasteCompiler hastePerch monadsTf transformers
   ];
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsbencher-fusion/default.nix b/pkgs/development/libraries/haskell/hsbencher-fusion/default.nix
new file mode 100644
index 00000000000..c045cf8e720
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsbencher-fusion/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, criterion, csv, dataDefault, filepath, handaGdata
+, hsbencher, httpConduit, mtl, network, statistics, text, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsbencher-fusion";
+  version = "0.3.3";
+  sha256 = "0vp1biv5jwac3bhj7qxl8x3bw73436qn284fippmlr6f54c15yw8";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    criterion csv dataDefault filepath handaGdata hsbencher httpConduit
+    mtl network statistics text time
+  ];
+  doCheck = false;
+  meta = {
+    description = "Backend for uploading benchmark data to Google Fusion Tables";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsbencher/default.nix b/pkgs/development/libraries/haskell/hsbencher/default.nix
new file mode 100644
index 00000000000..0786aa18b3c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsbencher/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, dataDefault, filepath, GenericPretty, HUnit
+, ioStreams, mtl, random, testFramework, testFrameworkHunit, text
+, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsbencher";
+  version = "1.20.0.3";
+  sha256 = "1qnj4zhq6j4cvnxcparm2xr9qc6l9q7j72h4dr5jz04lz8c2fkcl";
+  buildDepends = [
+    async dataDefault filepath GenericPretty ioStreams mtl random time
+  ];
+  testDepends = [ HUnit testFramework testFrameworkHunit text time ];
+  doCheck = false;
+  meta = {
+    description = "Launch and gather data from Haskell and non-Haskell benchmarks";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-db/default.nix b/pkgs/development/libraries/haskell/hsc3-db/default.nix
new file mode 100644
index 00000000000..13a32c52863
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-db/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hsc3, safe }:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-db";
+  version = "0.15";
+  sha256 = "0sj3hq0d8dl4m6fn75lvyr78sg283p6y13lg8yi2yrgz74kn4zbl";
+  buildDepends = [ hsc3 safe ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3-db";
+    description = "Haskell SuperCollider Unit Generator Database";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-dot/default.nix b/pkgs/development/libraries/haskell/hsc3-dot/default.nix
new file mode 100644
index 00000000000..7423525e46f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-dot/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hsc3 }:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-dot";
+  version = "0.15";
+  sha256 = "1ck2g15zw23smry1xvn9ida8ln57vnvkxvr3khhp5didwisgm90m";
+  buildDepends = [ filepath hsc3 ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3-dot";
+    description = "haskell supercollider graph drawing";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-lang/default.nix b/pkgs/development/libraries/haskell/hsc3-lang/default.nix
new file mode 100644
index 00000000000..dd12067d45e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-lang/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, dataDefault, dataOrdlist, dlist, hashable
+, hmatrixSpecial, hosc, hsc3, MonadRandom, random, randomShuffle
+, split, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-lang";
+  version = "0.15";
+  sha256 = "09qn9kb8h40cwhnjf4pl70i2vi7cn4pa4wkdwjbn07hrdpvxgihf";
+  buildDepends = [
+    bifunctors dataDefault dataOrdlist dlist hashable hmatrixSpecial
+    hosc hsc3 MonadRandom random randomShuffle split transformers
+    vector
+  ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3-lang";
+    description = "Haskell SuperCollider Language";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-process/default.nix b/pkgs/development/libraries/haskell/hsc3-process/default.nix
new file mode 100644
index 00000000000..6b81f64b03d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-process/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, filepath, hosc, hsc3, time, timeCompat
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-process";
+  version = "0.10.0";
+  sha256 = "1h769akpd5gsmmlzmhya3dh56rhpf4fkj0vl6zngahc5hl4s7qxc";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    dataDefault filepath hosc hsc3 time timeCompat transformers
+  ];
+  meta = {
+    homepage = "https://github.com/kaoskorobase/hsc3-process";
+    description = "Create and control scsynth processes";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-server/default.nix b/pkgs/development/libraries/haskell/hsc3-server/default.nix
new file mode 100644
index 00000000000..c8e78e4e7ea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-server/default.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bitset, dataDefault, failure, hashtables, hosc, hsc3
+, hsc3Process, liftedBase, ListZipper, monadControl, QuickCheck
+, random, resourcet, testFramework, testFrameworkQuickcheck2
+, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-server";
+  version = "0.9.2";
+  sha256 = "1lq4y57d555jb0yi10n4j69h4whwsm5h2k6j4r7f9avds5ahh6s2";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    bitset dataDefault failure hashtables hosc hsc3 hsc3Process
+    liftedBase ListZipper monadControl random resourcet transformers
+    transformersBase
+  ];
+  testDepends = [
+    failure QuickCheck random testFramework testFrameworkQuickcheck2
+    transformers
+  ];
+  meta = {
+    homepage = "https://github.com/kaoskorobase/hsc3-server";
+    description = "SuperCollider server resource management and synchronization";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3/default.nix b/pkgs/development/libraries/haskell/hsc3/default.nix
new file mode 100644
index 00000000000..6e05c01220e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, dataDefault, dataOrdlist, filepath, hashable, hosc
+, network, random, safe, split, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3";
+  version = "0.15";
+  sha256 = "1rmxl1wcly74bjkw79zw9ydmiclk5716w75b4nz8xkqraijiafrg";
+  buildDepends = [
+    binary dataDefault dataOrdlist filepath hashable hosc network
+    random safe split transformers
+  ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3";
+    description = "Haskell SuperCollider";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix
index 96bcecddc30..cc9b8046322 100644
--- a/pkgs/development/libraries/haskell/hsimport/default.nix
+++ b/pkgs/development/libraries/haskell/hsimport/default.nix
@@ -6,14 +6,15 @@
 
 cabal.mkDerivation (self: {
   pname = "hsimport";
-  version = "0.5.1";
-  sha256 = "17yzfikfl8qvm6vp3d472l6p0kzzw694ng19xn3fmrb43qvki4jj";
+  version = "0.6.4";
+  sha256 = "07v7sm98a0vzfk1xx8mf6l2ybf3rwx4ml2wxp1rlw5w1aapffsfw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     attoparsec cmdargs dyre haskellSrcExts lens mtl split text
   ];
   testDepends = [ filepath haskellSrcExts tasty tastyGolden ];
+  jailbreak = true;
   meta = {
     description = "A command line program for extending the import list of a Haskell source file";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/hspec-checkers/default.nix b/pkgs/development/libraries/haskell/hspec-checkers/default.nix
new file mode 100644
index 00000000000..7e5022e19b5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-checkers/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, checkers, hspec }:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-checkers";
+  version = "0.1.0";
+  sha256 = "043qzgjp9ch9wqm269dd87jn8wk5c90q25098hnz8ilv5pnywk6d";
+  buildDepends = [ checkers hspec ];
+  testDepends = [ checkers hspec ];
+  meta = {
+    description = "Allows to use checkers properties from hspec";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-contrib/default.nix b/pkgs/development/libraries/haskell/hspec-contrib/default.nix
new file mode 100644
index 00000000000..53f94edc793
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-contrib/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, hspecCore, HUnit, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-contrib";
+  version = "0.2.0";
+  sha256 = "0p6jh3j84cq66gfp2pk957ha4ds7797vfbfri9lsg9gd4998dwkq";
+  buildDepends = [ hspecCore HUnit ];
+  testDepends = [ hspec hspecCore HUnit QuickCheck ];
+  meta = {
+    homepage = "http://hspec.github.io/";
+    description = "Contributed functionality for Hspec";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-core/default.nix b/pkgs/development/libraries/haskell/hspec-core/default.nix
new file mode 100644
index 00000000000..313153c55c0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-core/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, async, deepseq, hspecExpectations, hspecMeta
+, HUnit, QuickCheck, quickcheckIo, random, setenv, silently
+, tfRandom, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-core";
+  version = "2.1.2";
+  sha256 = "1mvsfr175g5dbk1xz48d0p4lv4gvv4z3ss3n2s7d2h83i25bmjvh";
+  buildDepends = [
+    ansiTerminal async deepseq hspecExpectations HUnit QuickCheck
+    quickcheckIo random setenv tfRandom time transformers
+  ];
+  testDepends = [
+    ansiTerminal async deepseq hspecExpectations hspecMeta HUnit
+    QuickCheck quickcheckIo random setenv silently tfRandom time
+    transformers
+  ];
+  meta = {
+    homepage = "http://hspec.github.io/";
+    description = "A Testing Framework for Haskell";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-discover/default.nix b/pkgs/development/libraries/haskell/hspec-discover/default.nix
new file mode 100644
index 00000000000..8a4a79eae97
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-discover/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hspecMeta }:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-discover";
+  version = "2.1.2";
+  sha256 = "0zv215br94agvg8dbz0f5az5cahgnw8gdx0z84zlrpjxkzf3rb19";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath ];
+  testDepends = [ filepath hspecMeta ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://hspec.github.io/";
+    description = "Automatically discover and run Hspec tests";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-laws/default.nix b/pkgs/development/libraries/haskell/hspec-laws/default.nix
new file mode 100644
index 00000000000..b7b2a57d534
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-laws/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, markdownUnlit, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-laws";
+  version = "0.0.0";
+  sha256 = "15mcspn20znjxjsjqivrfvpndjd2i3kic5nyij13lfwyd3p2al0j";
+  buildDepends = [ hspec QuickCheck ];
+  testDepends = [ hspec markdownUnlit QuickCheck ];
+  meta = {
+    description = "Document and test laws for standard type classes";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix
index 844b0a52805..8a10a300146 100644
--- a/pkgs/development/libraries/haskell/hspec-meta/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix
@@ -1,19 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, ansiTerminal, async, deepseq, filepath, hspecExpectations
-, HUnit, QuickCheck, quickcheckIo, random, setenv, tfRandom, time
+, HUnit, QuickCheck, quickcheckIo, random, setenv, time
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec-meta";
-  version = "1.11.3";
-  sha256 = "0cydxq5kgi4cczf6q70853wz3x1ymrf9mkp7rp71yir5vrhg0b8p";
+  version = "2.0.0";
+  sha256 = "0x1k2d4nycglzn9l4i32xrampr9fgzjpp4j1jyy7pj89cfl8jc8f";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     ansiTerminal async deepseq filepath hspecExpectations HUnit
-    QuickCheck quickcheckIo random setenv tfRandom time transformers
+    QuickCheck quickcheckIo random setenv time transformers
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/hspec-wai/default.nix b/pkgs/development/libraries/haskell/hspec-wai/default.nix
index 1341bf198c9..cb817c6df43 100644
--- a/pkgs/development/libraries/haskell/hspec-wai/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-wai/default.nix
@@ -1,26 +1,24 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, aesonQq, caseInsensitive, doctest, hspec2
-, hspecMeta, httpTypes, markdownUnlit, scotty, text, transformers
-, wai, waiExtra
+{ cabal, caseInsensitive, hspec, hspecCore, hspecExpectations
+, httpTypes, QuickCheck, text, transformers, wai, waiExtra
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec-wai";
-  version = "0.3.0";
-  sha256 = "0wkzv406jiyi8ais3g0addm66274y1pvy55gypmnhwx5rp2kr6fb";
+  version = "0.6.2";
+  sha256 = "0nia4hz41g4264mn4s5j8dn9dh0xhdf1gym92wvjmy43rhj3qpzb";
   buildDepends = [
-    aeson aesonQq caseInsensitive hspec2 httpTypes text transformers
-    wai waiExtra
+    caseInsensitive hspecCore hspecExpectations httpTypes text
+    transformers wai waiExtra
   ];
   testDepends = [
-    aeson caseInsensitive doctest hspec2 hspecMeta httpTypes
-    markdownUnlit scotty text transformers wai waiExtra
+    caseInsensitive hspec hspecCore hspecExpectations httpTypes
+    QuickCheck text transformers wai waiExtra
   ];
   meta = {
-    description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)";
+    description = "Experimental Hspec support for testing WAI applications";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix
index 98cc9f1b97e..8f8b66b39d3 100644
--- a/pkgs/development/libraries/haskell/hspec/default.nix
+++ b/pkgs/development/libraries/haskell/hspec/default.nix
@@ -1,25 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, ansiTerminal, async, deepseq, filepath, ghcPaths
-, hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
-, random, setenv, silently, tfRandom, time, transformers
+{ cabal, hspecCore, hspecDiscover, hspecExpectations, hspecMeta
+, HUnit, QuickCheck, stringbuilder, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec";
-  version = "1.11.3";
-  sha256 = "0kq2cds8khwq7nl60pvgk8v6s2fizfkpdplc1p0mj8zyr9gyz7i0";
-  isLibrary = true;
-  isExecutable = true;
+  version = "2.1.2";
+  sha256 = "04n34g7gbmbkyqzp9by4qdcf87m1gasmc2hnm8i0dqpcnssv05py";
   buildDepends = [
-    ansiTerminal async deepseq filepath hspecExpectations HUnit
-    QuickCheck quickcheckIo random setenv tfRandom time transformers
-  ];
-  testDepends = [
-    ansiTerminal async deepseq filepath ghcPaths hspecExpectations
-    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
-    tfRandom time transformers
+    hspecCore hspecDiscover hspecExpectations HUnit QuickCheck
+    transformers
   ];
+  testDepends = [ hspecCore hspecMeta stringbuilder ];
   doCheck = false;
   meta = {
     homepage = "http://hspec.github.io/";
diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix
index 295b01b4e32..c6f64c92182 100644
--- a/pkgs/development/libraries/haskell/hspec2/default.nix
+++ b/pkgs/development/libraries/haskell/hspec2/default.nix
@@ -1,31 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, ansiTerminal, async, deepseq, filepath, ghcPaths
-, hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
-, random, setenv, silently, tfRandom, time, transformers
-}:
+{ cabal, hspec, hspecDiscover }:
 
 cabal.mkDerivation (self: {
   pname = "hspec2";
-  version = "0.4.1";
-  sha256 = "131w90yy7scxdpz7qa37n1wmyr8gvc5jqdsqkpg8s9pqham96w5v";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    ansiTerminal async deepseq filepath hspecExpectations HUnit
-    QuickCheck quickcheckIo random setenv tfRandom time transformers
-  ];
-  testDepends = [
-    ansiTerminal async deepseq filepath ghcPaths hspecExpectations
-    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
-    tfRandom time transformers
-  ];
+  version = "0.6.1";
+  sha256 = "0zlvm7r46q8yhgx2kx9mfrf6x2f5amdbi3a59fh69dsqs4lbgmf4";
+  buildDepends = [ hspec hspecDiscover ];
   meta = {
     homepage = "http://hspec.github.io/";
     description = "Alpha version of Hspec 2.0";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
     broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix
index 4d13846175c..f45fa6bb534 100644
--- a/pkgs/development/libraries/haskell/html-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/html-conduit/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "html-conduit";
-  version = "1.1.0.5";
-  sha256 = "1yxvaiklg90fsiv2sfzrr3hp1wjs0fhcg709b24lqm81aryaq2sn";
+  version = "1.1.1.1";
+  sha256 = "1bsr0fsy7k606m477c4rxdh7j71nyrp86f1lg9wlwnbm31vrhw00";
   buildDepends = [
     conduit conduitExtra resourcet systemFilepath tagstreamConduit text
     transformers xmlConduit xmlTypes
diff --git a/pkgs/development/libraries/haskell/html/1.0.1.2.nix b/pkgs/development/libraries/haskell/html/default.nix
index a06b1422bc3..a06b1422bc3 100644
--- a/pkgs/development/libraries/haskell/html/1.0.1.2.nix
+++ b/pkgs/development/libraries/haskell/html/default.nix
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
index 7f032c3f675..9ab96c6dfe8 100644
--- a/pkgs/development/libraries/haskell/http-client/default.nix
+++ b/pkgs/development/libraries/haskell/http-client/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-client";
-  version = "0.3.7.2";
-  sha256 = "1llrf2bfbh5z01pwg40zdgmz93h45h60mg2pv1k6b8pmzlwr6aaz";
+  version = "0.4.6";
+  sha256 = "0zv1jncacwxxk8dj1jlicjdlfhxigpl23frq2vrp4w76d1lsa0d8";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive cookie
     dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
diff --git a/pkgs/development/libraries/haskell/http-common/default.nix b/pkgs/development/libraries/haskell/http-common/default.nix
index da60083936c..61c76e55842 100644
--- a/pkgs/development/libraries/haskell/http-common/default.nix
+++ b/pkgs/development/libraries/haskell/http-common/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-common";
-  version = "0.7.1.1";
-  sha256 = "1a0szaqs1halrv4kx57g2hd4vcdhks7pfal0hyq19af2pncaz1h8";
+  version = "0.7.2.0";
+  sha256 = "0w83qz35aaxc2k3qqpamh8anqxr7w3vym5qh40w1a8n4x00pm960";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive mtl network text
     transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index fd7eb7dd64a..bb5dc9f7505 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -3,14 +3,14 @@
 { cabal, blazeBuilder, caseInsensitive, conduit, conduitExtra
 , connection, cookie, dataDefaultClass, hspec, httpClient
 , httpClientTls, httpTypes, HUnit, liftedBase, monadControl, mtl
-, network, networkConduit, resourcet, streamingCommons, text, time
-, transformers, utf8String, wai, waiConduit, warp, warpTls
+, network, resourcet, streamingCommons, text, time, transformers
+, utf8String, wai, waiConduit, warp, warpTls
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "2.1.4.1";
-  sha256 = "1v65v2dky7vgyh5hfvih208zhbd2czxdrshw9zw0af1naq2m5hk2";
+  version = "2.1.5";
+  sha256 = "0vk2an6h3h7a5klk9xrf3apfm6xdmqm418yrr7pb56b7w5sfq003";
   buildDepends = [
     conduit httpClient httpClientTls httpTypes liftedBase monadControl
     mtl resourcet transformers
@@ -18,8 +18,8 @@ cabal.mkDerivation (self: {
   testDepends = [
     blazeBuilder caseInsensitive conduit conduitExtra connection cookie
     dataDefaultClass hspec httpClient httpTypes HUnit liftedBase
-    network networkConduit streamingCommons text time transformers
-    utf8String wai waiConduit warp warpTls
+    network streamingCommons text time transformers utf8String wai
+    waiConduit warp warpTls
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
index c2316799a03..61f4d91d5cc 100644
--- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
+++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
@@ -2,15 +2,14 @@
 
 { cabal, async, blazeBuilder, caseInsensitive, conduit
 , conduitExtra, dataDefaultClass, hspec, httpClient, httpConduit
-, httpTypes, liftedBase, monadControl, network, networkConduit
-, resourcet, streamingCommons, text, transformers, wai, waiLogger
-, warp, word8
+, httpTypes, liftedBase, monadControl, network, resourcet
+, streamingCommons, text, transformers, wai, waiLogger, warp, word8
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-reverse-proxy";
-  version = "0.4.0.1";
-  sha256 = "0gygmykxsy6rs3xmwb24s5c3brmabdgxb1w0ak82vyvfvsnqxz1h";
+  version = "0.4.1.2";
+  sha256 = "1gggn5l08g7mxbka0h7h8w687y3awbm19395fi6wvis76isyz8wy";
   buildDepends = [
     async blazeBuilder caseInsensitive conduit conduitExtra
     dataDefaultClass httpClient httpTypes liftedBase monadControl
@@ -19,8 +18,7 @@ cabal.mkDerivation (self: {
   ];
   testDepends = [
     blazeBuilder conduit conduitExtra hspec httpConduit httpTypes
-    liftedBase network networkConduit resourcet streamingCommons
-    transformers wai warp
+    liftedBase network resourcet streamingCommons transformers wai warp
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/http-streams/default.nix b/pkgs/development/libraries/haskell/http-streams/default.nix
index 910851bde34..ec993a8b2a5 100644
--- a/pkgs/development/libraries/haskell/http-streams/default.nix
+++ b/pkgs/development/libraries/haskell/http-streams/default.nix
@@ -3,27 +3,28 @@
 { cabal, aeson, aesonPretty, attoparsec, base64Bytestring
 , blazeBuilder, caseInsensitive, HsOpenSSL, hspec
 , hspecExpectations, httpCommon, HUnit, ioStreams
-, MonadCatchIOTransformers, mtl, network, opensslStreams, snapCore
-, snapServer, systemFileio, systemFilepath, text, transformers
-, unorderedContainers
+, MonadCatchIOTransformers, mtl, network, networkUri
+, opensslStreams, snapCore, snapServer, systemFileio
+, systemFilepath, text, transformers, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-streams";
-  version = "0.7.2.0";
-  sha256 = "0h7fjnpday34skhafv2v0ybhfv0x915prfb4qa0ld4gm50scsinz";
+  version = "0.7.2.4";
+  sha256 = "1hs2d5qiq5vq6qjxxx061w1iigr05chkv28xvlvxfz0wc7nlipzz";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeBuilder caseInsensitive
-    HsOpenSSL httpCommon ioStreams mtl network opensslStreams text
-    transformers unorderedContainers
+    HsOpenSSL httpCommon ioStreams mtl network networkUri
+    opensslStreams text transformers unorderedContainers
   ];
   testDepends = [
     aeson aesonPretty attoparsec base64Bytestring blazeBuilder
     caseInsensitive HsOpenSSL hspec hspecExpectations httpCommon HUnit
-    ioStreams MonadCatchIOTransformers mtl network opensslStreams
-    snapCore snapServer systemFileio systemFilepath text transformers
-    unorderedContainers
+    ioStreams MonadCatchIOTransformers mtl network networkUri
+    opensslStreams snapCore snapServer systemFileio systemFilepath text
+    transformers unorderedContainers
   ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "http://research.operationaldynamics.com/projects/http-streams/";
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index 35fa96dd1a5..f07cb5581f8 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-types";
-  version = "0.8.5";
-  sha256 = "0d282sf3xyk5makhnwfm2k9mgw1fkh07kasmy85fiwjkc1447ciw";
+  version = "0.8.6";
+  sha256 = "1q1ni88rs8d79xnk1x2jaf3848ygxlfhpvv4gw46k08lw29ihfxh";
   buildDepends = [ blazeBuilder caseInsensitive text ];
   testDepends = [
     blazeBuilder doctest hspec QuickCheck quickcheckInstances text
diff --git a/pkgs/development/libraries/haskell/httpd-shed/default.nix b/pkgs/development/libraries/haskell/httpd-shed/default.nix
index bf5ad9217d3..4a4334be732 100644
--- a/pkgs/development/libraries/haskell/httpd-shed/default.nix
+++ b/pkgs/development/libraries/haskell/httpd-shed/default.nix
@@ -1,14 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, network }:
+{ cabal, network, networkUri }:
 
 cabal.mkDerivation (self: {
   pname = "httpd-shed";
-  version = "0.4.0.2";
-  sha256 = "0w37ra59xhk6gqrxpk83m1wmm7mqygcg59y5nl00x279c77qzxj3";
+  version = "0.4.0.3";
+  sha256 = "064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ network ];
+  buildDepends = [ network networkUri ];
   jailbreak = true;
   meta = {
     description = "A simple web-server with an interact style API";
diff --git a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
index ffb298023b7..45885432767 100644
--- a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
@@ -4,10 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt-charproperties";
-  version = "9.1.1.1";
-  sha256 = "1a8cmswqysd0fpq6bpszav5cqpibnad49mbcswvrwipk28x3j078";
+  version = "9.2.0.0";
+  sha256 = "01v3j0cg9pkp18iy4s8s582qqq98r4l9jzr84x5sa2rva4cg0gpi";
   meta = {
-    homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
+    homepage = "https://github.com/UweSchmidt/hxt";
     description = "Character properties and classes for XML and Unicode";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
index 60b43b0bad4..6ebb0ba0d89 100644
--- a/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Utility functions for using HXT picklers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix b/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
index 9f600fd195d..71d6765f93f 100644
--- a/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
@@ -1,12 +1,13 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hxtCharproperties, parsec }:
+{ cabal, HUnit, hxtCharproperties, parsec, text }:
 
 cabal.mkDerivation (self: {
   pname = "hxt-regex-xmlschema";
-  version = "9.1.0";
-  sha256 = "0l97rkrvl6pmxdgiwbwh2s3l00lyaihrhsffhh69639bgs67zgwr";
-  buildDepends = [ hxtCharproperties parsec ];
+  version = "9.2.0";
+  sha256 = "0pcbyvc71173ad0zkgpdpyyljngrk4p1jjjaw5wbwcvm4ijh44g3";
+  buildDepends = [ hxtCharproperties parsec text ];
+  testDepends = [ HUnit parsec text ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema";
     description = "A regular expression library for W3C XML Schema regular expressions";
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 131a01ed432..db2badaaaf2 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -1,22 +1,23 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, binary, deepseq, filepath, HUnit, hxtCharproperties
-, hxtRegexXmlschema, hxtUnicode, mtl, network, parsec
+, hxtRegexXmlschema, hxtUnicode, mtl, networkUri, parsec
 }:
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.3.1.6";
-  sha256 = "0k2i72ricxwnadagjbzyhfd7nfivay9gbf5f81sagr6j3wgnhz8f";
+  version = "9.3.1.7";
+  sha256 = "1dgdq2l9k8v36iahmkxxjmmv955f9gv6lq09nsah9zcscsgm0v2i";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
-    hxtUnicode mtl network parsec
+    hxtUnicode mtl networkUri parsec
   ];
-  jailbreak = true;
+  configureFlags = "-fnetwork-uri";
   meta = {
     homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
     description = "A collection of tools for processing XML with Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/iCalendar/default.nix b/pkgs/development/libraries/haskell/iCalendar/default.nix
index 33a5ba4bea6..734c7587aa9 100644
--- a/pkgs/development/libraries/haskell/iCalendar/default.nix
+++ b/pkgs/development/libraries/haskell/iCalendar/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, base64Bytestring, caseInsensitive, dataDefault, mime, mtl
-, network, parsec, text, time
+, network, networkUri, parsec, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "iCalendar";
-  version = "0.4.0.1";
-  sha256 = "08m47nxxz70lmmndlgycfb27x8xfwakxi8izbba0f6w23ddaljp3";
+  version = "0.4.0.2";
+  sha256 = "0a6kj6ih8dpzvld7hjvjp6gcf4f2y81x6bx17z6wgzwdj9fv7jry";
   buildDepends = [
     base64Bytestring caseInsensitive dataDefault mime mtl network
-    parsec text time
+    networkUri parsec text time
   ];
   meta = {
     homepage = "http://github.com/tingtun/iCalendar";
diff --git a/pkgs/development/libraries/haskell/ieee754/default.nix b/pkgs/development/libraries/haskell/ieee754/default.nix
index 1dd734af610..de0ce49c83e 100644
--- a/pkgs/development/libraries/haskell/ieee754/default.nix
+++ b/pkgs/development/libraries/haskell/ieee754/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ieee754";
-  version = "0.7.3";
-  sha256 = "0gq747h15inxbxbgmzmchb9a8p57rhv3bmj69idx5arh0d3whgv0";
+  version = "0.7.4";
+  sha256 = "1pxbkfa21mvc869n18nn7r29hcinxdbsnk68nlldzld8f6m13g1h";
   meta = {
     homepage = "http://github.com/patperry/hs-ieee754";
     description = "Utilities for dealing with IEEE floating point numbers";
diff --git a/pkgs/development/libraries/haskell/imm/default.nix b/pkgs/development/libraries/haskell/imm/default.nix
index 5529f27eb5e..e21c596fa2f 100644
--- a/pkgs/development/libraries/haskell/imm/default.nix
+++ b/pkgs/development/libraries/haskell/imm/default.nix
@@ -2,26 +2,27 @@
 
 { cabal, async, caseInsensitive, cond, dataDefault, dyre, feed
 , filepath, hslogger, httpConduit, httpTypes, lens, mimeMail
-, monadControl, mtl, network, opml, random, resourcet, text
-, textIcu, time, timerep, tls, transformers, transformersBase
+, monadControl, mtl, network, networkUri, opml, random, resourcet
+, text, textIcu, time, timerep, tls, transformers, transformersBase
 , utf8String, xdgBasedir, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "imm";
-  version = "0.6.0.2";
-  sha256 = "0bawp8zqpkxig33ybv0yxv6bh51rfhsyp0q7l0lh61gy17rx0gsa";
+  version = "0.6.0.3";
+  sha256 = "0fhqb36xj2xr1hhfrhk1npms9lnvbh6fmvki9mmm3gqs06hb925l";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     async caseInsensitive cond dataDefault dyre feed filepath hslogger
-    httpConduit httpTypes lens mimeMail monadControl mtl network opml
-    random resourcet text textIcu time timerep tls transformers
-    transformersBase utf8String xdgBasedir xml
+    httpConduit httpTypes lens mimeMail monadControl mtl network
+    networkUri opml random resourcet text textIcu time timerep tls
+    transformers transformersBase utf8String xdgBasedir xml
   ];
   meta = {
     description = "Retrieve RSS/Atom feeds and write one mail per new item in a maildir";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ bergey ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/implicit/default.nix b/pkgs/development/libraries/haskell/implicit/default.nix
index a2fd8cd438e..81331833cc4 100644
--- a/pkgs/development/libraries/haskell/implicit/default.nix
+++ b/pkgs/development/libraries/haskell/implicit/default.nix
@@ -21,5 +21,6 @@ cabal.mkDerivation (self: {
     description = "Math-inspired programmatic 2&3D CAD: CSG, bevels, and shells; gcode export..";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix
index d5c0137a2c6..ecb9321686c 100644
--- a/pkgs/development/libraries/haskell/instant-generics/default.nix
+++ b/pkgs/development/libraries/haskell/instant-generics/default.nix
@@ -4,15 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "instant-generics";
-  version = "0.4";
-  sha256 = "14z6135jvmry9b52p21cqnwgp2w0g6frh1fm7z5byph06xls9r7l";
+  version = "0.4.1";
+  sha256 = "1jcs6spa3g8mazgpivn61gz4c740ks19rkz9sh24ns6n4q53zdvq";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics";
     description = "Generic programming library with a sum of products view";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/intern/default.nix b/pkgs/development/libraries/haskell/intern/default.nix
new file mode 100644
index 00000000000..7dddb5b5f88
--- /dev/null
+++ b/pkgs/development/libraries/haskell/intern/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable, text, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "intern";
+  version = "0.9.1.3";
+  sha256 = "1629m3an18m3nqxq40mg9cn0c6rma1wm3jr7kn6kqpw4xq53zvvp";
+  buildDepends = [ hashable text unorderedContainers ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/ekmett/intern/";
+    description = "Efficient hash-consing for arbitrary data types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/interpolate/default.nix b/pkgs/development/libraries/haskell/interpolate/default.nix
index eed6aa835f8..cc62218a928 100644
--- a/pkgs/development/libraries/haskell/interpolate/default.nix
+++ b/pkgs/development/libraries/haskell/interpolate/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, doctest, haskellSrcMeta, hspec, QuickCheck
-, quickcheckInstances, text
+{ cabal, haskellSrcMeta, hspec, QuickCheck, quickcheckInstances
+, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "interpolate";
-  version = "0.0.3";
-  sha256 = "05aksslx7mvic3cgw9ixwjp0r759a4gf7m178pbp8xm8dpdksjjw";
+  version = "0.1.0";
+  sha256 = "0wlc10qd1bq3xj64a3yq2gzds9kas9zyylkm9kxd46gy35fns6id";
   buildDepends = [ haskellSrcMeta ];
   testDepends = [
-    doctest haskellSrcMeta hspec QuickCheck quickcheckInstances text
+    haskellSrcMeta hspec QuickCheck quickcheckInstances text
   ];
   meta = {
     description = "String interpolation done right";
diff --git a/pkgs/development/libraries/haskell/intervals/default.nix b/pkgs/development/libraries/haskell/intervals/default.nix
index 962f30de8a0..8c552654bac 100644
--- a/pkgs/development/libraries/haskell/intervals/default.nix
+++ b/pkgs/development/libraries/haskell/intervals/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "intervals";
-  version = "0.7";
-  sha256 = "00kwq57x72xi5kca7symb98nzs1j82r6bkgvr83aqpvq0ql9ka9d";
+  version = "0.7.0.1";
+  sha256 = "02qb44ga2yfsymkfixy3fdp943r2flwrsaqhb0pjddr3ixzm4ap9";
   buildDepends = [ distributive ];
   testDepends = [ doctest filepath ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/io-streams/default.nix b/pkgs/development/libraries/haskell/io-streams/default.nix
index 4b5d9bab9be..3963add1825 100644
--- a/pkgs/development/libraries/haskell/io-streams/default.nix
+++ b/pkgs/development/libraries/haskell/io-streams/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "io-streams";
-  version = "1.1.4.6";
-  sha256 = "0vn6vlgfapmyd9y87i9i0y480w8w81xd3lnhh66a6lalskd4bjdw";
+  version = "1.2.1.1";
+  sha256 = "1pvrscyw7wcv910p8d9j4a9jdm0vm7m74g5kgzpc5hnxdfibhqj1";
   buildDepends = [
     attoparsec blazeBuilder network primitive text time transformers
     vector zlibBindings
diff --git a/pkgs/development/libraries/haskell/ipprint/default.nix b/pkgs/development/libraries/haskell/ipprint/default.nix
index d9037a8229b..004b504577a 100644
--- a/pkgs/development/libraries/haskell/ipprint/default.nix
+++ b/pkgs/development/libraries/haskell/ipprint/default.nix
@@ -11,5 +11,8 @@ cabal.mkDerivation (self: {
     description = "Tiny helper for pretty-printing values in ghci console";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+
+    # Works For Me. GHC 7.8.4, 2015-01-08 
+    #broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
index e0130f8ae26..b0dd47468d9 100644
--- a/pkgs/development/libraries/haskell/iteratee/default.nix
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -23,5 +23,7 @@ cabal.mkDerivation (self: {
     description = "Iteratee-based I/O";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ixdopp/default.nix b/pkgs/development/libraries/haskell/ixdopp/default.nix
deleted file mode 100644
index 25b4ebed648..00000000000
--- a/pkgs/development/libraries/haskell/ixdopp/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, preprocessorTools, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "ixdopp";
-  version = "0.1.3";
-  sha256 = "1vknwznk42b33q4pmh6z620g761yf3cmsmrmhilgq42i5qhll4d4";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ preprocessorTools syb ];
-  meta = {
-    homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/";
-    description = "A preprocessor for expanding \"ixdo\" notation for indexed monads";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/ixset/default.nix b/pkgs/development/libraries/haskell/ixset/default.nix
index c77950c68f0..24bbde7098d 100644
--- a/pkgs/development/libraries/haskell/ixset/default.nix
+++ b/pkgs/development/libraries/haskell/ixset/default.nix
@@ -4,13 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "ixset";
-  version = "1.0.5";
-  sha256 = "1hznn7f8f13x5125n76dchayi16z72050qbwifnkrca54nf9q2ns";
+  version = "1.0.6";
+  sha256 = "097f9fkm9a2n67bzagr9h2v7acdn8h1ayv9c83n7nv1dh157bpyv";
   buildDepends = [ safecopy syb sybWithClass ];
   meta = {
     homepage = "http://happstack.com";
     description = "Efficient relational queries on Haskell sets";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
index f787073f080..28498da53d6 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
     broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
index 9ff082e3239..2ad9bd83d75 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Snap backend for jmacro-rpc";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
index d1e302b1bc9..ec2c3d8a960 100644
--- a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jmacro/default.nix b/pkgs/development/libraries/haskell/jmacro/default.nix
index 32d4d3747ef..9f2fee5f7da 100644
--- a/pkgs/development/libraries/haskell/jmacro/default.nix
+++ b/pkgs/development/libraries/haskell/jmacro/default.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "QuasiQuotation library for programmatic generation of Javascript code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/js-flot/default.nix b/pkgs/development/libraries/haskell/js-flot/default.nix
new file mode 100644
index 00000000000..3bc570d557d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/js-flot/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HTTP }:
+
+cabal.mkDerivation (self: {
+  pname = "js-flot";
+  version = "0.8.3";
+  sha256 = "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv";
+  testDepends = [ HTTP ];
+  meta = {
+    homepage = "https://github.com/ndmitchell/js-flot#readme";
+    description = "Obtain minified flot code";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/js-jquery/default.nix b/pkgs/development/libraries/haskell/js-jquery/default.nix
new file mode 100644
index 00000000000..ad776b577f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/js-jquery/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HTTP }:
+
+cabal.mkDerivation (self: {
+  pname = "js-jquery";
+  version = "1.11.1";
+  sha256 = "0k4hrpxsc48nanr2zw6jcirirsarlshycx7d5hzqqv9jfhy1i88d";
+  testDepends = [ HTTP ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/ndmitchell/js-jquery#readme";
+    description = "Obtain minified jQuery code";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/json-assertions/default.nix b/pkgs/development/libraries/haskell/json-assertions/default.nix
index 9adcaf17572..9a9364d09d0 100644
--- a/pkgs/development/libraries/haskell/json-assertions/default.nix
+++ b/pkgs/development/libraries/haskell/json-assertions/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "1.0.5";
   sha256 = "1vf6y8xbl48giq1p6d62294rfvfdw62l1q4dspy990ii0v5gkyck";
   buildDepends = [ aeson indexed indexedFree lens lensAeson text ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ocharles/json-assertions.git";
     description = "Test that your (Aeson) JSON encoding matches your expectations";
diff --git a/pkgs/development/libraries/haskell/json-rpc/default.nix b/pkgs/development/libraries/haskell/json-rpc/default.nix
index 4bb33b628e3..c7e5c3373c5 100644
--- a/pkgs/development/libraries/haskell/json-rpc/default.nix
+++ b/pkgs/development/libraries/haskell/json-rpc/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "json-rpc";
-  version = "0.2.0.1";
-  sha256 = "0kk2wpgnkdhphf9za2whmn4f6qlly5hzr071bx7xjqwqbpfhwplm";
+  version = "0.2.1.1";
+  sha256 = "0h6dkb1rgd6qxzcxvqvgwilmibkdbqpjvflijwf54fx2z687fjld";
   buildDepends = [
     aeson async conduit conduitExtra deepseq hashable mtl stm
     stmConduit text unorderedContainers
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
     stm stmConduit testFramework testFrameworkQuickcheck2 text
     unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/xenog/json-rpc";
     description = "Fully-featured JSON-RPC 2.0 library";
diff --git a/pkgs/development/libraries/haskell/json-schema/default.nix b/pkgs/development/libraries/haskell/json-schema/default.nix
index 8ae6763d0a4..cd102d35803 100644
--- a/pkgs/development/libraries/haskell/json-schema/default.nix
+++ b/pkgs/development/libraries/haskell/json-schema/default.nix
@@ -1,26 +1,27 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, genericAeson, genericDeriving, HUnit
-, tagged, tasty, tastyHunit, tastyTh, text, time
-, unorderedContainers, vector
+{ cabal, aeson, aesonUtils, attoparsec, genericAeson
+, genericDeriving, mtl, scientific, tagged, tasty, tastyHunit
+, tastyTh, text, time, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "json-schema";
-  version = "0.6.1.1";
-  sha256 = "0hn1v2idra9sx1x5mr511h4qcvnhy7b80fgn58w9856w9cl7d34b";
+  version = "0.7.3.0";
+  sha256 = "0jdhmzg1is8dnyz46r6w616xq0w1lypc9xz1c2mcimr9xb9r70zw";
   buildDepends = [
-    aeson genericAeson genericDeriving tagged text time
+    aeson genericAeson genericDeriving mtl scientific tagged text time
     unorderedContainers vector
   ];
   testDepends = [
-    aeson attoparsec genericAeson HUnit tagged tasty tastyHunit tastyTh
-    text
+    aeson aesonUtils attoparsec genericAeson tagged tasty tastyHunit
+    tastyTh text vector
   ];
   jailbreak = true;
   meta = {
     description = "Types and type classes for defining JSON schemas";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/json/default.nix b/pkgs/development/libraries/haskell/json/default.nix
index a709c4a0b2d..3eeb6958f83 100644
--- a/pkgs/development/libraries/haskell/json/default.nix
+++ b/pkgs/development/libraries/haskell/json/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "json";
-  version = "0.7";
-  sha256 = "18v8vbx3pyskf3ap4lpy2d3461gghfsq5bzjyrjvqsd2r9r44rfk";
+  version = "0.9";
+  sha256 = "1r37hhhhc97sxqrcijss80c0380f36bh6f2y4navwih7r3a2ci8j";
   buildDepends = [ mtl parsec syb text ];
   meta = {
     description = "Support for serialising Haskell to and from JSON";
diff --git a/pkgs/development/libraries/haskell/jwt/default.nix b/pkgs/development/libraries/haskell/jwt/default.nix
new file mode 100644
index 00000000000..dfab13e9132
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jwt/default.nix
@@ -0,0 +1,30 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, base64Bytestring, cryptohash, dataDefault
+, httpTypes, HUnit, lens, lensAeson, network, networkUri
+, QuickCheck, scientific, semigroups, tasty, tastyHunit
+, tastyQuickcheck, tastyTh, text, time, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jwt";
+  version = "0.5.3";
+  sha256 = "1225fa53gghfpgwhr4x269a6kygfj39fh2qdapdi9mrrvlg302i4";
+  buildDepends = [
+    aeson base64Bytestring cryptohash dataDefault httpTypes network
+    networkUri scientific semigroups text time unorderedContainers
+    vector
+  ];
+  testDepends = [
+    aeson base64Bytestring cryptohash dataDefault httpTypes HUnit lens
+    lensAeson network networkUri QuickCheck scientific semigroups tasty
+    tastyHunit tastyQuickcheck tastyTh text time unorderedContainers
+    vector
+  ];
+  meta = {
+    homepage = "https://bitbucket.org/ssaasen/haskell-jwt";
+    description = "JSON Web Token (JWT) decoding and encoding";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/kan-extensions/default.nix b/pkgs/development/libraries/haskell/kan-extensions/default.nix
index c0ffaed799d..d359cebd6e1 100644
--- a/pkgs/development/libraries/haskell/kan-extensions/default.nix
+++ b/pkgs/development/libraries/haskell/kan-extensions/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, adjunctions, comonad, contravariant, distributive, free
-, mtl, pointed, semigroupoids, transformers
+, mtl, pointed, semigroupoids, tagged, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "kan-extensions";
-  version = "4.1";
-  sha256 = "1dg9q6rahgvsnsnd76r6a3harrllq3pzz9250cakgqip4n02dji1";
+  version = "4.1.1";
+  sha256 = "0g7z37c2jvhvq08ynnd5z2spp7w56vqhpg5biscj62rw7fzssnar";
   buildDepends = [
     adjunctions comonad contravariant distributive free mtl pointed
-    semigroupoids transformers
+    semigroupoids tagged transformers
   ];
   meta = {
     homepage = "http://github.com/ekmett/kan-extensions/";
diff --git a/pkgs/development/libraries/haskell/kansas-comet/default.nix b/pkgs/development/libraries/haskell/kansas-comet/default.nix
new file mode 100644
index 00000000000..1c01d567d75
--- /dev/null
+++ b/pkgs/development/libraries/haskell/kansas-comet/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, dataDefault, scotty, stm, text, time, transformers
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "kansas-comet";
+  version = "0.3.1";
+  sha256 = "0xbapi4clmkighxh0jb12zpzgrz9sqyfpwdkvrj6cdq6i6a22qx1";
+  buildDepends = [
+    aeson dataDefault scotty stm text time transformers
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "https://github.com/ku-fpg/kansas-comet/";
+    description = "A JavaScript push mechanism based on the comet idiom";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/labeled-tree/default.nix b/pkgs/development/libraries/haskell/labeled-tree/default.nix
new file mode 100644
index 00000000000..ef0301ef773
--- /dev/null
+++ b/pkgs/development/libraries/haskell/labeled-tree/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "labeled-tree";
+  version = "1.0.0.0";
+  sha256 = "1cnnyic5z5y21hpxpmx66ph34mjyysckgiasmzg7yx202y2ih7s7";
+  meta = {
+    description = "Labeled tree structure";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ jpbernardy ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lambdabot-utils/default.nix b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
index c7261c4eed8..34cf827c027 100644
--- a/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
+++ b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     description = "Utility libraries for the advanced IRC bot, Lambdabot";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot/default.nix b/pkgs/development/libraries/haskell/lambdabot/default.nix
index b869c59d131..6b09752f7d4 100644
--- a/pkgs/development/libraries/haskell/lambdabot/default.nix
+++ b/pkgs/development/libraries/haskell/lambdabot/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
   sha256 = "19pkm4m2xk9ziai3ka4scxjavi0as8dmivz9q6vg3npmv0kyhkhb";
   isLibrary = true;
   isExecutable = true;
+  patches = [ ./deps.patch ];
   buildDepends = [
     arrows binary brainfuck dataMemocombinators dependentMap
     dependentSum dependentSumTemplate dice editDistance filepath
@@ -31,6 +32,6 @@ cabal.mkDerivation (self: {
     license = "GPL";
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot/deps.patch b/pkgs/development/libraries/haskell/lambdabot/deps.patch
new file mode 100644
index 00000000000..a9222806719
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lambdabot/deps.patch
@@ -0,0 +1,21 @@
+--- a/lambdabot.cabal.orig	2014-10-16 17:39:16.000000000 -0500
++++ b/lambdabot.cabal	2014-10-16 18:26:58.000000000 -0500
+@@ -166,7 +166,7 @@
+                         edit-distance           >= 0.2,
+                         filepath                >= 1.3,
+                         haskeline               >= 0.7,
+-                        haskell-src-exts        >= 1.14.0,
++                        haskell-src-exts        >= 1.14.0 && < 1.16,
+                         hstatsd                 >= 0.1,
+                         hslogger                >= 1.2.1,
+                         HTTP                    >= 4000,
+@@ -174,7 +174,8 @@
+                         misfortune              >= 0.1,
+                         monad-control           >= 0.3,
+                         mtl                     >= 2,
+-                        network                 >= 2.3.0.13,
++                        network                 >= 2.6,
++                        network-uri             >= 2.6,
+                         oeis                    >= 0.3.1,
+                         time                    >= 1.4,
+                         parsec                  >= 3,
diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix
index 435ffef45c3..720d7dd8926 100644
--- a/pkgs/development/libraries/haskell/language-c-inline/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix
@@ -4,17 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-inline";
-  version = "0.6.0.0";
-  sha256 = "08a22sr01kch365p5536fv32rxsfmdd6hkhcq1j7vhchjrsy3f6w";
+  version = "0.7.7.0";
+  sha256 = "10wj8dlsjimgln14y7b50pnnn865ln46v3xcqwr7ahjcl3icavg6";
   buildDepends = [ filepath languageCQuote mainlandPretty ];
   testDepends = [ languageCQuote ];
-  doCheck = false;
   meta = {
     homepage = "https://github.com/mchakravarty/language-c-inline/";
     description = "Inline C & Objective-C code in Haskell for language interoperability";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index d08a5c7fab9..03b1d62546b 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-quote";
-  version = "0.8.0";
-  sha256 = "0k171hbwj108azhlwpnvkl0r4n0kg4yg2mxqvg8cpf47i9bigw5g";
+  version = "0.10.1.3";
+  sha256 = "0kbnqrplwb5w9jfljsrjxisnrnxbc0221hpznvq4m1ldx2mkrh1k";
   buildDepends = [
     exceptionMtl exceptionTransformers filepath haskellSrcMeta
     mainlandPretty mtl srcloc syb symbol
diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix
index 2fe11c4f071..9346a10bdf2 100644
--- a/pkgs/development/libraries/haskell/language-c/default.nix
+++ b/pkgs/development/libraries/haskell/language-c/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c";
-  version = "0.4.6";
-  sha256 = "0pzd3g5q3sjfngs29biannza6l9am75kcjy5q0xcjv7xhz0z1m31";
+  version = "0.4.7";
+  sha256 = "1r0jlncv6d6ai8kblrdq9gz8abx57b24y6hfh30xx20zdgccjvaz";
   buildDepends = [ filepath syb ];
   buildTools = [ alex happy ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/language-java/default.nix b/pkgs/development/libraries/haskell/language-java/default.nix
index 6811b0db547..dc35a8867ba 100644
--- a/pkgs/development/libraries/haskell/language-java/default.nix
+++ b/pkgs/development/libraries/haskell/language-java/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-java";
-  version = "0.2.6";
-  sha256 = "1rwkc71c77v1lm5vnfkf7wr4lzvkpdylwz8wia40xwyxidq9qv27";
+  version = "0.2.7";
+  sha256 = "1519grsjw0f4skldxs563qz07mmj1cg72ma0plmvzpas7inkikyf";
   buildDepends = [ cpphs parsec syb ];
   testDepends = [
     filepath HUnit mtl QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/lattices/default.nix b/pkgs/development/libraries/haskell/lattices/default.nix
new file mode 100644
index 00000000000..d37b6d2e883
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lattices/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "lattices";
+  version = "1.2.1.1";
+  sha256 = "0ppqvc3w7v56zya43b3fqwis50c8b57hlighzmk8jphv39y3ilp6";
+  meta = {
+    description = "Fine-grained library for constructing and manipulating lattices";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lens-aeson/default.nix b/pkgs/development/libraries/haskell/lens-aeson/default.nix
index d19b0bf6dd7..f1fcd255b5f 100644
--- a/pkgs/development/libraries/haskell/lens-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/lens-aeson/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lens-aeson";
-  version = "1";
-  sha256 = "0zpfpba97kr92lzrmdfk08f3cl42alhx0d73w8sbbwxnnvv4489r";
+  version = "1.0.0.3";
+  sha256 = "0wfbnazarwcza5dn3icsdvsmkyf9ki5lr5d5yidmgijhs63ak7ac";
   buildDepends = [
     aeson attoparsec lens scientific text unorderedContainers vector
   ];
diff --git a/pkgs/development/libraries/haskell/lens-family-core/default.nix b/pkgs/development/libraries/haskell/lens-family-core/default.nix
index a5c9e65f8a4..94a53898325 100644
--- a/pkgs/development/libraries/haskell/lens-family-core/default.nix
+++ b/pkgs/development/libraries/haskell/lens-family-core/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lens-family-core";
-  version = "1.1.0";
-  sha256 = "0pvc7iv7y5s3496w7ic9qzdw3l76ldnrg0my0jxi1dyn0vm9xwm3";
+  version = "1.2.0";
+  sha256 = "0hxrbbc4azfafnr4ab2zxgic093wwg6gx5h1ggp4xks55d8rhraz";
   buildDepends = [ transformers ];
   meta = {
     description = "Haskell 98 Lens Families";
diff --git a/pkgs/development/libraries/haskell/lens-family-th/default.nix b/pkgs/development/libraries/haskell/lens-family-th/default.nix
new file mode 100644
index 00000000000..a2ecf7b61ef
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lens-family-th/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "lens-family-th";
+  version = "0.4.0.0";
+  sha256 = "02fc3kppb7y2c6j22wi2mzcxffj4k3dl3x09vjllqchfpfcpwbm5";
+  meta = {
+    homepage = "http://github.com/DanBurton/lens-family-th#readme";
+    description = "Generate lens-family style lenses";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lens-family/default.nix b/pkgs/development/libraries/haskell/lens-family/default.nix
new file mode 100644
index 00000000000..58ce93e1b65
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lens-family/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lensFamilyCore, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "lens-family";
+  version = "1.2.0";
+  sha256 = "0pbyx43ajx96nhcw4brml1r5azs1041k7nv4m94ak6x77n5sr4mb";
+  buildDepends = [ lensFamilyCore mtl transformers ];
+  meta = {
+    description = "Lens Families";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
index 190dd3fd14e..f82368422e4 100644
--- a/pkgs/development/libraries/haskell/lens/default.nix
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -6,18 +6,18 @@
 , QuickCheck, reflection, semigroupoids, semigroups, simpleReflect
 , split, tagged, testFramework, testFrameworkHunit
 , testFrameworkQuickcheck2, testFrameworkTh, text, transformers
-, transformersCompat, unorderedContainers, vector, void, zlib
+, transformersCompat, unorderedContainers, vector, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "lens";
-  version = "4.4.0.1";
-  sha256 = "0d1z6jix58g7x9r1jvm335hg2psflqc7w6sq54q486wil55c5vrw";
+  version = "4.6.0.1";
+  sha256 = "099hhkca39zxfj9xavd2rafzgm2r4nm8clngcsgcrn1qsy8knvz2";
   buildDepends = [
     bifunctors comonad contravariant distributive exceptions filepath
     free hashable mtl parallel primitive profunctors reflection
     semigroupoids semigroups split tagged text transformers
-    transformersCompat unorderedContainers vector void zlib
+    transformersCompat unorderedContainers vector void
   ];
   testDepends = [
     deepseq doctest filepath genericDeriving hlint HUnit mtl nats
diff --git a/pkgs/development/libraries/haskell/leveldb-haskell/default.nix b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
index 8d4f854a993..2e3ba003233 100644
--- a/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix
@@ -1,19 +1,24 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, async, dataDefault, filepath, leveldb, resourcet
+{ cabal, async, dataDefault, exceptions, filepath, leveldb, mtl
+, QuickCheck, resourcet, snappy, tasty, tastyQuickcheck, temporary
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "leveldb-haskell";
-  version = "0.3.0";
-  sha256 = "0hdxn6v7fzc0wlpkymlci60m2584h6fn78bxdnv2q18ra03r3ygs";
+  version = "0.6";
+  sha256 = "1r76dvn8scnjfdw1i5cj3s5s1nqf2yib4jdydjnr8p6c8yvpp3z5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    async dataDefault filepath resourcet transformers
+    async dataDefault exceptions filepath resourcet transformers
   ];
-  extraLibraries = [ leveldb ];
+  testDepends = [
+    dataDefault exceptions mtl QuickCheck tasty tastyQuickcheck
+    temporary transformers
+  ];
+  extraLibraries = [ leveldb snappy ];
   meta = {
     homepage = "http://github.com/kim/leveldb-haskell";
     description = "Haskell bindings to LevelDB";
diff --git a/pkgs/development/libraries/haskell/libjenkins/default.nix b/pkgs/development/libraries/haskell/libjenkins/default.nix
index 0411cb93063..a873616f3c0 100644
--- a/pkgs/development/libraries/haskell/libjenkins/default.nix
+++ b/pkgs/development/libraries/haskell/libjenkins/default.nix
@@ -1,22 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, async, conduit, doctest, filepath, free, hspec
-, hspecExpectationsLens, httpClient, httpConduit, httpTypes, lens
-, monadControl, network, resourcet, text, transformers, xmlConduit
+{ cabal, async, attoparsec, doctest, filepath, free, hspec
+, hspecExpectationsLens, httpClient, httpClientTls, httpTypes, lens
+, liftedAsync, liftedBase, monadControl, mtl, network, networkUri
+, profunctors, text, transformers, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "libjenkins";
-  version = "0.4.3.0";
-  sha256 = "18z1yaf1a1ncvflxzv96b35d44933yrmsmxv5dr87iyfry28qbnv";
+  version = "0.6.0";
+  sha256 = "0rcqmj5myi2wy2acd59gqdfwiiapw1zwzm71bjqb1y66z0rnrkx4";
   buildDepends = [
-    async conduit free httpClient httpConduit httpTypes lens
-    monadControl network resourcet text transformers xmlConduit
+    attoparsec free httpClient httpClientTls httpTypes liftedAsync
+    liftedBase monadControl mtl network networkUri profunctors text
+    transformers
   ];
   testDepends = [
-    async conduit doctest filepath free hspec hspecExpectationsLens
-    httpClient httpConduit httpTypes lens monadControl network
-    resourcet text transformers xmlConduit
+    async attoparsec doctest filepath free hspec hspecExpectationsLens
+    httpClient httpClientTls httpTypes lens liftedAsync liftedBase
+    monadControl mtl network networkUri profunctors text transformers
+    xmlConduit
   ];
   jailbreak = true;
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/liblastfm/default.nix b/pkgs/development/libraries/haskell/liblastfm/default.nix
index 176f80048c4..abfa8a0496b 100644
--- a/pkgs/development/libraries/haskell/liblastfm/default.nix
+++ b/pkgs/development/libraries/haskell/liblastfm/default.nix
@@ -1,28 +1,27 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, cereal, contravariant, cryptoApi, hspec
-, hspecExpectationsLens, httpClient, httpClientTls, HUnit, lens
-, network, profunctors, pureMD5, semigroups, text, void, xmlConduit
+{ cabal, aeson, cereal, cryptoApi, hspec, hspecExpectationsLens
+, httpClient, httpClientTls, HUnit, lens, lensAeson, networkUri
+, profunctors, pureMD5, semigroups, text, xmlConduit
 , xmlHtmlConduitLens
 }:
 
 cabal.mkDerivation (self: {
   pname = "liblastfm";
-  version = "0.4.0.0";
-  sha256 = "0dr1nvb7sxlp1fihvnwz9lyfmaynbj39npah2ndvlgnzz670j0z9";
+  version = "0.5.1";
+  sha256 = "1bf508a1rqjb486wcwn0n36bm8lwnj3b4bg0826lp92zmaxiyxpy";
   buildDepends = [
-    aeson cereal contravariant cryptoApi httpClient httpClientTls
-    network profunctors pureMD5 semigroups text void xmlConduit
+    aeson cereal cryptoApi httpClient httpClientTls networkUri
+    profunctors pureMD5 semigroups text xmlConduit
   ];
   testDepends = [
-    aeson cereal contravariant cryptoApi hspec hspecExpectationsLens
-    httpClient httpClientTls HUnit lens network profunctors pureMD5
-    text void xmlConduit xmlHtmlConduitLens
+    aeson cereal cryptoApi hspec hspecExpectationsLens httpClient
+    httpClientTls HUnit lens lensAeson networkUri profunctors pureMD5
+    text xmlConduit xmlHtmlConduitLens
   ];
   meta = {
     description = "Lastfm API interface";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/default.nix
index b54068d924c..6dc0aede069 100644
--- a/pkgs/development/libraries/haskell/libmpd/default.nix
+++ b/pkgs/development/libraries/haskell/libmpd/default.nix
@@ -1,25 +1,24 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, dataDefault, filepath, hspec, HUnit, mtl
-, network, QuickCheck, text, time, utf8String
+{ cabal, attoparsec, dataDefault, filepath, hspec, mtl, network
+, QuickCheck, text, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "libmpd";
-  version = "0.8.0.5";
-  sha256 = "0jxd2xl9imfvb3dz7zqwzx392aw2cb2pl3drx5wkygbywbi5ijhh";
+  version = "0.9.0.1";
+  sha256 = "11smm8ai7053hljlxi5l2fkqxrqr1xrh6sxg2r0dlsvmmln7smrd";
   buildDepends = [
     attoparsec dataDefault filepath mtl network text time utf8String
   ];
   testDepends = [
-    dataDefault hspec HUnit mtl network QuickCheck text time utf8String
+    attoparsec dataDefault filepath hspec mtl network QuickCheck text
+    time utf8String
   ];
-  jailbreak = true;
-  doCheck = false;
   meta = {
-    homepage = "http://github.com/joachifm/libmpd-haskell#readme";
+    homepage = "http://github.com/vimus/libmpd-haskell#readme";
     description = "An MPD client library";
-    license = "LGPL";
+    license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/libnotify/default.nix b/pkgs/development/libraries/haskell/libnotify/default.nix
new file mode 100644
index 00000000000..8ed4e80d49f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/libnotify/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, glib, gtk, libnotify }:
+
+cabal.mkDerivation (self: {
+  pname = "libnotify";
+  version = "0.1.1.0";
+  sha256 = "1wc19v14agadj7dzi81lm3qzk2x33apaj5ylmg7x232k56xzfvr0";
+  buildDepends = [ glib gtk ];
+  extraLibraries = [ libnotify ];
+  meta = {
+    description = "Bindings to libnotify library";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
index 1bb1bcacca3..e4dc138eae0 100644
--- a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
+++ b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
@@ -1,6 +1,6 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hashable, hsyslog, pipes, pipesSafe, systemd-journal, text
+{ cabal, hashable, hsyslog, pipes, pipesSafe, systemd, text
 , transformers, uniplate, unixBytestring, unorderedContainers, uuid
 , vector
 }:
@@ -13,7 +13,8 @@ cabal.mkDerivation (self: {
     hashable hsyslog pipes pipesSafe text transformers uniplate
     unixBytestring unorderedContainers uuid vector
   ];
-  extraLibraries = [ systemd-journal ];
+  extraLibraries = [ systemd ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ocharles/libsystemd-journal";
     description = "Haskell bindings to libsystemd-journal";
diff --git a/pkgs/development/libraries/haskell/lifted-async/default.nix b/pkgs/development/libraries/haskell/lifted-async/default.nix
index 97a252d13d5..ecb6b9aa18a 100644
--- a/pkgs/development/libraries/haskell/lifted-async/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-async/default.nix
@@ -1,14 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, async, HUnit, liftedBase, monadControl, mtl, tasty
+{ cabal, async, constraints, HUnit, liftedBase, monadControl, mtl, tasty
 , tastyHunit, tastyTh, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "lifted-async";
-  version = "0.2.0.2";
-  sha256 = "07sqgd3lxplfwrpys4jhz0068sx99765lpx8n4nj3k117z32slgf";
-  buildDepends = [ async liftedBase monadControl transformersBase ];
+  version = "0.6.0.1";
+  sha256 = "12qbibsl26njx6m1dq12gqfb15rkyag23c1vkcinlk301a0cvsmf";
+  buildDepends = [ async constraints liftedBase monadControl transformersBase ];
   testDepends = [
     async HUnit liftedBase monadControl mtl tasty tastyHunit tastyTh
   ];
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index 3e4f95521bb..2aa24f83325 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lifted-base";
-  version = "0.2.3.0";
-  sha256 = "0wbh9l7hsbgvfplxyamvpb8nq6w147zsd2yskylfmpw7kyz6yp9n";
+  version = "0.2.3.3";
+  sha256 = "1n015i21pyh1ksrdiy105c9sw3gm3yvmlwv1sajy7nvpxb2xdjc3";
   buildDepends = [ monadControl transformersBase ];
   testDepends = [
     HUnit monadControl testFramework testFrameworkHunit transformers
diff --git a/pkgs/development/libraries/haskell/lin-alg/default.nix b/pkgs/development/libraries/haskell/lin-alg/default.nix
new file mode 100644
index 00000000000..39391f989a8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lin-alg/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, NumInstances, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "lin-alg";
+  version = "0.1.0.2";
+  sha256 = "19123k967mql69my6c19mnvp4qwa4b3bgimmlbhipqdljykj7pqc";
+  buildDepends = [ NumInstances vector ];
+  meta = {
+    description = "Low-dimensional matrices and vectors for graphics and physics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/linear-opengl/default.nix b/pkgs/development/libraries/haskell/linear-opengl/default.nix
new file mode 100644
index 00000000000..a10489a6006
--- /dev/null
+++ b/pkgs/development/libraries/haskell/linear-opengl/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, distributive, lens, linear, OpenGL, OpenGLRaw, tagged }:
+
+cabal.mkDerivation (self: {
+  pname = "linear-opengl";
+  version = "0.2.0.4";
+  sha256 = "11pdif2w730jqknajr2si77a0z4v4k5spm5zdks642i25ya135ba";
+  buildDepends = [
+    distributive lens linear OpenGL OpenGLRaw tagged
+  ];
+  meta = {
+    homepage = "http://www.github.com/bgamari/linear-opengl";
+    description = "Isomorphisms between linear and OpenGL types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix
index 856b8491690..6301d8d42d6 100644
--- a/pkgs/development/libraries/haskell/linear/default.nix
+++ b/pkgs/development/libraries/haskell/linear/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "linear";
-  version = "1.10.1.2";
-  sha256 = "05zbqdcdjq7anng2nymy05wsnk9qpk8mgivqcndbfjpk4l1r9k94";
+  version = "1.15.5";
+  sha256 = "17fxz49zj6vklgfs583zpn7naqgp5mv2zsvmxrv80ym8r52mp5mi";
   buildDepends = [
     adjunctions binary distributive hashable lens reflection
     semigroupoids semigroups tagged transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/linux-inotify/default.nix b/pkgs/development/libraries/haskell/linux-inotify/default.nix
new file mode 100644
index 00000000000..2c5dc577f0f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/linux-inotify/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hashable }:
+
+cabal.mkDerivation (self: {
+  pname = "linux-inotify";
+  version = "0.2.0.1";
+  sha256 = "1970v1zkbp45amylmg79bbdfhk8kg6vzxjznd76gfl5kff2cv12r";
+  buildDepends = [ hashable ];
+  meta = {
+    description = "Thinner binding to the Linux Kernel's inotify interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/list-t/default.nix b/pkgs/development/libraries/haskell/list-t/default.nix
new file mode 100644
index 00000000000..442ffc2028a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/list-t/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, basePrelude, HTF, mmorph, monadControl, mtlPrelude
+, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "list-t";
+  version = "0.4.2";
+  sha256 = "0n6zc7n5znjas9mgh3a9bn44xv55910i6c3b2l83n4pl9fnad03v";
+  buildDepends = [
+    basePrelude mmorph monadControl transformers transformersBase
+  ];
+  testDepends = [ basePrelude HTF mmorph mtlPrelude ];
+  meta = {
+    homepage = "https://github.com/nikita-volkov/list-t";
+    description = "ListT done right";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix
deleted file mode 100644
index 37b6d6b60c5..00000000000
--- a/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, mtl, parsec, QuickCheck, setenv, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "llvm-general-pure";
-  version = "3.3.8.2";
-  sha256 = "171mp9rydw6r2khcmvkcfjk934ckfahwyx1b4a15gmj8sr1s9hzp";
-  buildDepends = [ mtl parsec setenv transformers ];
-  testDepends = [
-    HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    description = "Pure Haskell LLVM functionality (no FFI)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix
deleted file mode 100644
index c8601d844ca..00000000000
--- a/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, mtl, parsec, QuickCheck, setenv, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "llvm-general-pure";
-  version = "3.4.2.2";
-  sha256 = "0grbw0lamp0w4jzxg97jccl3jqdgqfgldpb4llvhr1l70591b0s8";
-  buildDepends = [ mtl parsec setenv transformers ];
-  testDepends = [
-    HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    description = "Pure Haskell LLVM functionality (no FFI)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/default.nix b/pkgs/development/libraries/haskell/llvm-general-pure/default.nix
new file mode 100644
index 00000000000..cd92b67b16a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/llvm-general-pure/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, parsec, QuickCheck, setenv, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "llvm-general-pure";
+  version = "3.4.4.0";
+  sha256 = "0x43yfcss3f5v5mlzyv7d13fvajbdgv4cmkx5yx1904xsiddg27v";
+  buildDepends = [ mtl parsec setenv transformers ];
+  testDepends = [
+    HUnit mtl QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    description = "Pure Haskell LLVM functionality (no FFI)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix b/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
deleted file mode 100644
index 4669358ccbf..00000000000
--- a/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec
-, QuickCheck, setenv, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, transformers, utf8String
-}:
-
-cabal.mkDerivation (self: {
-  pname = "llvm-general";
-  version = "3.3.8.2";
-  sha256 = "11qnvpnx4i8mjdgn5y58rl70wf8pzmd555hrdaki1f4q0035cmm5";
-  buildDepends = [
-    llvmGeneralPure mtl parsec setenv transformers utf8String
-  ];
-  testDepends = [
-    HUnit llvmGeneralPure mtl QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  buildTools = [ llvmConfig ];
-  doCheck = false;
-  meta = {
-    description = "General purpose LLVM bindings";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix
deleted file mode 100644
index 25993bb9fd0..00000000000
--- a/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec
-, QuickCheck, setenv, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, transformers, utf8String
-}:
-
-cabal.mkDerivation (self: {
-  pname = "llvm-general";
-  version = "3.4.2.2";
-  sha256 = "1dqdvv8pslblavyi14xy0bgrr1ca8d1jqp60x16zgbzkk3f2jx6a";
-  buildDepends = [
-    llvmGeneralPure mtl parsec setenv transformers utf8String
-  ];
-  testDepends = [
-    HUnit llvmGeneralPure mtl QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  buildTools = [ llvmConfig ];
-  doCheck = false;
-  meta = {
-    description = "General purpose LLVM bindings";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/llvm-general/default.nix b/pkgs/development/libraries/haskell/llvm-general/default.nix
new file mode 100644
index 00000000000..aec66b12723
--- /dev/null
+++ b/pkgs/development/libraries/haskell/llvm-general/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec
+, QuickCheck, setenv, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, transformers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "llvm-general";
+  version = "3.4.4.0";
+  sha256 = "10x7qb2svw0gz0sqf4vn14hpzks3rk29g4i2pzfdi5qk11j8jd9b";
+  buildDepends = [
+    llvmGeneralPure mtl parsec setenv transformers utf8String
+  ];
+  testDepends = [
+    HUnit llvmGeneralPure mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  buildTools = [ llvmConfig ];
+  doCheck = false;
+  meta = {
+    description = "General purpose LLVM bindings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/logging-facade-journald/default.nix b/pkgs/development/libraries/haskell/logging-facade-journald/default.nix
new file mode 100644
index 00000000000..54a7feee595
--- /dev/null
+++ b/pkgs/development/libraries/haskell/logging-facade-journald/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fetchzip, hspec, libsystemdJournal, loggingFacade, text
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "logging-facade-journald";
+  version = "0.0.0";
+  src = fetchzip {
+    url = "https://hackage.haskell.org/package/logging-facade-journald-0.0.0/logging-facade-journald-0.0.0.tar.gz";
+    sha256 = "1wvh48y3lz2ipz6cwh7gbwajwrd7ziivhkmgpglzjfy335zin7m6";
+  };
+  buildDepends = [
+    libsystemdJournal loggingFacade text unorderedContainers
+  ];
+  testDepends = [
+    hspec libsystemdJournal loggingFacade text unorderedContainers
+  ];
+  meta = {
+    description = "Journald back-end for logging-facade";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/logging-facade/default.nix b/pkgs/development/libraries/haskell/logging-facade/default.nix
new file mode 100644
index 00000000000..9e4e7601d85
--- /dev/null
+++ b/pkgs/development/libraries/haskell/logging-facade/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fetchzip, hspec, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "logging-facade";
+  version = "0.0.0";
+  src = fetchzip {
+    url = "https://hackage.haskell.org/package/logging-facade-0.0.0/logging-facade-0.0.0.tar.gz";
+    sha256 = "0w6bkzgf0lamcdnris95i1xq8wg882wf17b517rgr5d1vhxz9y7s";
+  };
+  buildDepends = [ transformers ];
+  testDepends = [ hspec ];
+  meta = {
+    description = "Simple logging abstraction that allows multiple backends";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/logging/default.nix b/pkgs/development/libraries/haskell/logging/default.nix
index 83ee93f8463..94eb14cb003 100644
--- a/pkgs/development/libraries/haskell/logging/default.nix
+++ b/pkgs/development/libraries/haskell/logging/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "logging";
-  version = "1.4.1";
-  sha256 = "15mhpafv797f8aifjyjb5nc0fkd7if7bvx5hx9mzxycdzlk28gfp";
+  version = "2.1.0";
+  sha256 = "15ad4g7zkbklawd98m6x838fr5383vkvq92y75f56j1kj17g7rrh";
   buildDepends = [
     binary fastLogger liftedBase monadControl monadLogger pcreLight
     text time transformers vectorSpace
diff --git a/pkgs/development/libraries/haskell/logsink/default.nix b/pkgs/development/libraries/haskell/logsink/default.nix
new file mode 100644
index 00000000000..d272a4d4c2b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/logsink/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, hsyslog, loggingFacade, time }:
+
+cabal.mkDerivation (self: {
+  pname = "logsink";
+  version = "0.1.0";
+  sha256 = "1yxzqx47017z0djm8bymz43pc8cccnpkawaisvvzb646j6nbrw93";
+  buildDepends = [ hsyslog loggingFacade time ];
+  testDepends = [ hspec loggingFacade ];
+  meta = {
+    description = "A logging framework for Haskell";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lushtags/default.nix b/pkgs/development/libraries/haskell/lushtags/default.nix
index f7f8997480a..c3e90c84c56 100644
--- a/pkgs/development/libraries/haskell/lushtags/default.nix
+++ b/pkgs/development/libraries/haskell/lushtags/default.nix
@@ -9,11 +9,11 @@ cabal.mkDerivation (self: {
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ haskellSrcExts text vector ];
-  jailbreak = true;
   meta = {
     homepage = "https://github.com/bitc/lushtags";
     description = "Create ctags compatible tags files for Haskell programs";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/lzma-conduit/default.nix b/pkgs/development/libraries/haskell/lzma-conduit/default.nix
new file mode 100644
index 00000000000..9b80409ddd4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lzma-conduit/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bindingsDSL, conduit, HUnit, lzma, QuickCheck, resourcet
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "lzma-conduit";
+  version = "1.1.1";
+  sha256 = "1i1khkxpia5hp3f0p7h656yvbgwsxffpl2czxjbkiw6iz31rapwg";
+  buildDepends = [ bindingsDSL conduit resourcet transformers ];
+  testDepends = [
+    conduit HUnit QuickCheck resourcet testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  extraLibraries = [ lzma ];
+  meta = {
+    homepage = "http://github.com/alphaHeavy/lzma-conduit";
+    description = "Conduit interface for lzma/xz compression";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    broken = self.stdenv.isLinux && self.stdenv.isi686;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lzma-enumerator/default.nix b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
index 34604a6fc66..7a1ee231957 100644
--- a/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix
@@ -20,5 +20,6 @@ cabal.mkDerivation (self: {
     description = "Enumerator interface for lzma/xz compression";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = self.stdenv.isi686;
   };
 })
diff --git a/pkgs/development/libraries/haskell/machines-directory/default.nix b/pkgs/development/libraries/haskell/machines-directory/default.nix
new file mode 100644
index 00000000000..3cd67af354e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/machines-directory/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, machines, machinesIo, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "machines-directory";
+  version = "0.2.0.0";
+  sha256 = "1b1jv23ijhm51nggxrncjhz24k4pl4nvj6s9h3jabr0gsnsb8y2v";
+  buildDepends = [ filepath machines machinesIo transformers ];
+  meta = {
+    homepage = "http://github.com/aloiscochard/machines-io";
+    description = "Directory (system) utilities for the machines library";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/machines-io/default.nix b/pkgs/development/libraries/haskell/machines-io/default.nix
new file mode 100644
index 00000000000..c724b7df62b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/machines-io/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, chunkedData, machines, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "machines-io";
+  version = "0.2.0.0";
+  sha256 = "0qjbfwyhscjmjbfj709kb9xr5p3yz4v21aq2g4dv1abqwgf85x03";
+  buildDepends = [ chunkedData machines transformers ];
+  meta = {
+    homepage = "http://github.com/aloiscochard/machines-io";
+    description = "IO utilities for the machines library";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/machines/default.nix b/pkgs/development/libraries/haskell/machines/default.nix
index 1b391739c20..bb01e9f655e 100644
--- a/pkgs/development/libraries/haskell/machines/default.nix
+++ b/pkgs/development/libraries/haskell/machines/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "machines";
-  version = "0.2.5";
-  sha256 = "0745lhmfwq27nna517q7b82q59pda587wgh6840nw65syaj2qfhp";
+  version = "0.4.1";
+  sha256 = "1wripnvpzfdnf7i2aygjyh33cp7srkb5638snwyn700bjbi2j7gb";
   buildDepends = [
     comonad free mtl pointed profunctors semigroups transformers void
   ];
diff --git a/pkgs/development/libraries/haskell/mainland-pretty/default.nix b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
index 8bd0f2dfc21..1383efab868 100644
--- a/pkgs/development/libraries/haskell/mainland-pretty/default.nix
+++ b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.2.7";
   sha256 = "1g4s2xscj6dpkcghs5lws658ki0rhriivpdr5ilcycvr28k3l35q";
   buildDepends = [ srcloc text ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
     description = "Pretty printing designed for printing source code";
diff --git a/pkgs/development/libraries/haskell/managed/default.nix b/pkgs/development/libraries/haskell/managed/default.nix
new file mode 100644
index 00000000000..febb1f8c574
--- /dev/null
+++ b/pkgs/development/libraries/haskell/managed/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "managed";
+  version = "1.0.0";
+  sha256 = "06nb71pd68m5l6a48sz5kkrdif74phbg3y6bn9ydd00y515b9gn5";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "A monad for managed values";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/map-syntax/default.nix b/pkgs/development/libraries/haskell/map-syntax/default.nix
new file mode 100644
index 00000000000..52c42efd320
--- /dev/null
+++ b/pkgs/development/libraries/haskell/map-syntax/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, HUnit, mtl, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "map-syntax";
+  version = "0.2";
+  sha256 = "02v1dvq86qzbfbwbza4myj3a6a6a5p059fi5m3g548hmqk3v2p1r";
+  buildDepends = [ mtl ];
+  testDepends = [
+    deepseq HUnit mtl QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 transformers
+  ];
+  meta = {
+    description = "Syntax sugar for defining maps";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/markdown/default.nix b/pkgs/development/libraries/haskell/markdown/default.nix
index 746bd1c7484..cd0bcd3cfee 100644
--- a/pkgs/development/libraries/haskell/markdown/default.nix
+++ b/pkgs/development/libraries/haskell/markdown/default.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, blazeHtml, conduit, conduitExtra, dataDefault
-, hspec, systemFileio, systemFilepath, text, transformers
-, xssSanitize
+{ cabal, attoparsec, blazeHtml, blazeMarkup, conduit, conduitExtra
+, dataDefault, hspec, systemFileio, systemFilepath, text
+, transformers, xssSanitize
 }:
 
 cabal.mkDerivation (self: {
   pname = "markdown";
-  version = "0.1.9";
-  sha256 = "1bl86alrbl9i690sbqqlxb4hkdd0lv3x5aqc8zi55q9h0rfsi06l";
+  version = "0.1.13";
+  sha256 = "1r04h641d9y8p88h59isrz9g42gq7vdykx3n8bhk499ici800134";
   buildDepends = [
-    attoparsec blazeHtml conduit conduitExtra dataDefault text
-    transformers xssSanitize
+    attoparsec blazeHtml blazeMarkup conduit conduitExtra dataDefault
+    text transformers xssSanitize
   ];
   testDepends = [
     blazeHtml conduit conduitExtra hspec systemFileio systemFilepath
diff --git a/pkgs/development/libraries/haskell/meep/default.nix b/pkgs/development/libraries/haskell/meep/default.nix
new file mode 100644
index 00000000000..f8ad537938c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/meep/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, doctest, hspec, hspecExpectationsLens, lens
+, QuickCheck, semigroups
+}:
+
+cabal.mkDerivation (self: {
+  pname = "meep";
+  version = "0.1.1.0";
+  sha256 = "1rk5mrvmk07m5zdayfvxirak58d1bxwb04sgg0gcx07w8q8k4yyq";
+  buildDepends = [ bifunctors lens semigroups ];
+  testDepends = [
+    bifunctors doctest hspec hspecExpectationsLens lens QuickCheck
+    semigroups
+  ];
+  meta = {
+    description = "A silly container";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mersenne-random/default.nix b/pkgs/development/libraries/haskell/mersenne-random/default.nix
new file mode 100644
index 00000000000..ec7a54c9ed2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mersenne-random/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "mersenne-random";
+  version = "1.0.0.1";
+  sha256 = "193qz3wn7lz18aywddr9qyn8v08ifv2yxwr68c67p5mn8vr8mvmw";
+  meta = {
+    homepage = "http://code.haskell.org/~dons/code/mersenne-random";
+    description = "Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix
index 532ef28d9b7..f20b20f71b7 100644
--- a/pkgs/development/libraries/haskell/mime-mail/default.nix
+++ b/pkgs/development/libraries/haskell/mime-mail/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mime-mail";
-  version = "0.4.5.2";
-  sha256 = "0s5fj20n3lc2hn1mqpsvai63pgrl7vhqv26psdzqdwl70w9c04zf";
+  version = "0.4.6";
+  sha256 = "051mqpzypg4r6rd06qb75pl3nq9p68r1sl73r0pwl1imcp158aw6";
   buildDepends = [
     base64Bytestring blazeBuilder filepath random text
   ];
diff --git a/pkgs/development/libraries/haskell/minioperational/default.nix b/pkgs/development/libraries/haskell/minioperational/default.nix
index a426927e318..04da7e27e2c 100644
--- a/pkgs/development/libraries/haskell/minioperational/default.nix
+++ b/pkgs/development/libraries/haskell/minioperational/default.nix
@@ -1,16 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, transformers }:
+{ cabal, cleanUnions, elevator, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "minioperational";
-  version = "0.4.3";
-  sha256 = "09z8536q0cc09iack6s8fghgrc5f3syq3sxf2cnai3rcfaqix86p";
-  buildDepends = [ transformers ];
+  version = "0.4.8.1";
+  sha256 = "02nkgbpf1dky7h3n99j9m3101wyfahcdx5wk5vidvf9snl5vy1w9";
+  buildDepends = [ cleanUnions elevator transformers ];
   meta = {
     homepage = "https://github.com/fumieval/minioperational";
     description = "fast and simple operational monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/miniutter/default.nix b/pkgs/development/libraries/haskell/miniutter/default.nix
index 2400721a656..b58449b22ad 100644
--- a/pkgs/development/libraries/haskell/miniutter/default.nix
+++ b/pkgs/development/libraries/haskell/miniutter/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "miniutter";
-  version = "0.4.4.0";
-  sha256 = "1pfgbvnxh3c9b489i121p5bg785bp9ivfwizjfwc9w3r6spgppvk";
+  version = "0.4.4.1";
+  sha256 = "1raq5dq6mx56ddyq5hnh9r2yflry6prcjf17p15ds1w5r8cp8yx1";
   buildDepends = [ binary minimorph text ];
   testDepends = [ HUnit testFramework testFrameworkHunit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/mmorph/default.nix b/pkgs/development/libraries/haskell/mmorph/default.nix
index b13eeeb5d83..bf8fb46f793 100644
--- a/pkgs/development/libraries/haskell/mmorph/default.nix
+++ b/pkgs/development/libraries/haskell/mmorph/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mmorph";
-  version = "1.0.3";
-  sha256 = "0b8pzb63zxw3cjw8yj73swvqhmi9c4lgw1mis1xbraya7flxc6qm";
+  version = "1.0.4";
+  sha256 = "0k5zlzmnixfwcjrqvhgi3i6xg532b0gsjvc39v5jigw69idndqr2";
   buildDepends = [ transformers ];
   meta = {
     description = "Monad morphisms";
diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix
index 918e694f54c..f75688ef4ce 100644
--- a/pkgs/development/libraries/haskell/monad-control/default.nix
+++ b/pkgs/development/libraries/haskell/monad-control/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, transformers, transformersBase }:
+{ cabal, stm, transformers, transformersBase }:
 
 cabal.mkDerivation (self: {
   pname = "monad-control";
-  version = "0.3.3.0";
-  sha256 = "0vjff64iwnd9vplqfjyylbd900qmsr92h62hnh715wk06yacji7g";
-  buildDepends = [ transformers transformersBase ];
+  version = "1.0.0.2";
+  sha256 = "13l9gq00pjlp1b2g9xzfavl6zibi2s195f234rmhzbsb14yhzgnr";
+  buildDepends = [ stm transformers transformersBase ];
   meta = {
     homepage = "https://github.com/basvandijk/monad-control";
     description = "Lift control operations, like exception catching, through monad transformers";
diff --git a/pkgs/development/libraries/haskell/monad-journal/default.nix b/pkgs/development/libraries/haskell/monad-journal/default.nix
index 3afce21810c..c95adce3fcc 100644
--- a/pkgs/development/libraries/haskell/monad-journal/default.nix
+++ b/pkgs/development/libraries/haskell/monad-journal/default.nix
@@ -5,15 +5,15 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-journal";
-  version = "0.2.3.0";
-  sha256 = "1k0da0fwk05k8530rlys3n2s1z8glnfdivx93isy6cjr8amndc6b";
+  version = "0.7";
+  sha256 = "1bfm5p027vf8dz92m6s47z06h05j2jv4pbwkl31svrz5pi5a9lz2";
   buildDepends = [
     either monadControl mtl transformers transformersBase
   ];
   meta = {
-    homepage = "https://github.com/phaazon/monad-journal";
+    homepage = "http://github.com/phaazon/monad-journal";
     description = "Pure logger typeclass and monad transformer";
-    license = self.stdenv.lib.licenses.publicDomain;
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix
index d8e724259a0..7988819b81c 100644
--- a/pkgs/development/libraries/haskell/monad-logger/default.nix
+++ b/pkgs/development/libraries/haskell/monad-logger/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-logger";
-  version = "0.3.7.2";
-  sha256 = "03q8l28rwrg00c2zcv0gr5fpis5xz8c5zspziay6p2grbwfxmwda";
+  version = "0.3.11.1";
+  sha256 = "1vh847ivymhb20sly9aplcm35zcmn7xmibv8lkv1ws9y7s1951p7";
   buildDepends = [
     blazeBuilder conduit conduitExtra exceptions fastLogger liftedBase
     monadControl monadLoops mtl resourcet stm stmChans text
diff --git a/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix b/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix
deleted file mode 100644
index d43379da7f9..00000000000
--- a/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, abstractDeque, abstractPar, deepseq, HUnit, monadParExtras
-, mtl, mwcRandom, parallel, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, testFrameworkTh
-, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "monad-par";
-  version = "0.3.4.6";
-  sha256 = "1k345fpq31jg0mvfk8ap03wscnx8dvlp65gr567vai9ym1ahk6zy";
-  buildDepends = [
-    abstractDeque abstractPar deepseq monadParExtras mtl mwcRandom
-    parallel
-  ];
-  testDepends = [
-    abstractDeque abstractPar deepseq HUnit monadParExtras mtl
-    mwcRandom QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 testFrameworkTh time
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/simonmar/monad-par";
-    description = "A library for parallel programming based on a monad";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/monad-par/0.3.4.7.nix b/pkgs/development/libraries/haskell/monad-par/0.3.4.7.nix
new file mode 100644
index 00000000000..c9d6cf71ae5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-par/0.3.4.7.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, abstractDeque, abstractPar, deepseq, HUnit, monadParExtras
+, mtl, mwcRandom, parallel, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, testFrameworkTh
+, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "monad-par";
+  version = "0.3.4.7";
+  sha256 = "12n27hs274nrfkpa6hx0gdkrc76wxzliqf53x6689idl363sdf13";
+  buildDepends = [
+    abstractDeque abstractPar deepseq monadParExtras mtl mwcRandom
+    parallel
+  ];
+  testDepends = [
+    abstractDeque abstractPar deepseq HUnit monadParExtras mtl
+    mwcRandom QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 testFrameworkTh time
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/simonmar/monad-par";
+    description = "A library for parallel programming based on a monad";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-parallel/default.nix b/pkgs/development/libraries/haskell/monad-parallel/default.nix
index db53712d4ef..bff520fab83 100644
--- a/pkgs/development/libraries/haskell/monad-parallel/default.nix
+++ b/pkgs/development/libraries/haskell/monad-parallel/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, parallel, transformers }:
+{ cabal, parallel, transformers, transformersCompat }:
 
 cabal.mkDerivation (self: {
   pname = "monad-parallel";
-  version = "0.7.1.2";
-  sha256 = "0ybifm54dwaz5jqccw7hwlykjw4bcnl924808bi01j5i7ggyz5wj";
-  buildDepends = [ parallel transformers ];
+  version = "0.7.1.3";
+  sha256 = "150ich9fzpmwdvvhsd7ri97nm8zsqn86gr3bh0aqb0wgrg4hbmkx";
+  buildDepends = [ parallel transformers transformersCompat ];
   meta = {
     homepage = "http://trac.haskell.org/SCC/wiki/monad-parallel";
     description = "Parallel execution of monadic computations";
diff --git a/pkgs/development/libraries/haskell/monad-supply/default.nix b/pkgs/development/libraries/haskell/monad-supply/default.nix
index dc6c90bcd97..e8c598d3a30 100644
--- a/pkgs/development/libraries/haskell/monad-supply/default.nix
+++ b/pkgs/development/libraries/haskell/monad-supply/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-supply";
-  version = "0.4";
-  sha256 = "0qvv9j55hw1lrfqnz1aric4mvg62c2vqaf5wirn69gvh74slqyj8";
+  version = "0.6";
+  sha256 = "1gg4r7fwaq2fa0lz8pz301mk3q16xpbs7qv54hhggxrv3i1h33ir";
   buildDepends = [ mtl ];
   meta = {
     description = "Stateful supply monad";
diff --git a/pkgs/development/libraries/haskell/monadIO/default.nix b/pkgs/development/libraries/haskell/monadIO/default.nix
new file mode 100644
index 00000000000..ec3efa33ae8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monadIO/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, stm }:
+
+cabal.mkDerivation (self: {
+  pname = "monadIO";
+  version = "0.10.1.4";
+  sha256 = "08158j978h69knbnzxkzv856sjhhw24h5lh7d8hx2lyhzbpnfarl";
+  buildDepends = [ mtl stm ];
+  meta = {
+    description = "Overloading of concurrency variables";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monadloc-pp/default.nix b/pkgs/development/libraries/haskell/monadloc-pp/default.nix
index 13a8dfa3677..9ff5d5079ce 100644
--- a/pkgs/development/libraries/haskell/monadloc-pp/default.nix
+++ b/pkgs/development/libraries/haskell/monadloc-pp/default.nix
@@ -4,14 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "monadloc-pp";
-  version = "0.3";
-  sha256 = "0jr9ngcj3l6kd5cscll5kr3a4bp52sdjgrdxd1j5a21jyc3gdyvn";
+  version = "0.3.1";
+  sha256 = "0ch25kcz63xhinwd6mjqbhm282hfh280s3z910wnvdp3krgx0mpc";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ filepath haskellSrcExts monadloc syb ];
   jailbreak = true;
   meta = {
-    homepage = "http://github.com/pepeiborra/monadloc";
+    homepage = "http://github.com/pepeiborra/monadloc-pp";
     description = "A preprocessor for generating monadic call traces";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix
index dfc34cc2a6a..91d160fc345 100644
--- a/pkgs/development/libraries/haskell/mono-traversable/default.nix
+++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mono-traversable";
-  version = "0.6.1";
-  sha256 = "066yfffjkd0r6hg3y3zrs13jmyfgpl8ba9yvsbyawimvff7mfk5f";
+  version = "0.6.3";
+  sha256 = "026qii2i6l8lsvhvb9l8gkzybrvf87skg6mjam2bxc3i1bjx1lkr";
   buildDepends = [
     comonad dlist dlistInstances hashable semigroupoids semigroups text
     transformers unorderedContainers vector vectorAlgorithms
diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix
index 3c0a742a1f3..f7ae10ce08d 100644
--- a/pkgs/development/libraries/haskell/monoid-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monoid-extras";
-  version = "0.3.3.4";
-  sha256 = "0jbly9zxnsm15a5d3xg7i6w1mpqi4irdc76996xm5slg8bh0cji6";
+  version = "0.3.3.5";
+  sha256 = "07xll4pz0ijjxj75z0s0bz1lia2f65hsm61snlx0jv3aybrnw280";
   buildDepends = [ groups semigroupoids semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/mtl-prelude/default.nix b/pkgs/development/libraries/haskell/mtl-prelude/default.nix
new file mode 100644
index 00000000000..3bf2395cb3a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl-prelude/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "mtl-prelude";
+  version = "1.0.1";
+  sha256 = "09zdsgh4y4b5chl847n1dz4vys2sdyxmf0v39ad449s5rv5l92hj";
+  buildDepends = [ mtl transformers ];
+  meta = {
+    homepage = "https://github.com/nikita-volkov/mtl-prelude";
+    description = "Reexports of most definitions from \"mtl\" and \"transformers\"";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
deleted file mode 100644
index 3cc240114df..00000000000
--- a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "mtl";
-  version = "1.1.0.2";
-  sha256 = "a225aaf2b1e337f40c31e5c42f95eec9a4608322b0e4c135d2b31b8421a58d36";
-  meta = {
-    description = "Monad transformer library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
deleted file mode 100644
index e528736d95a..00000000000
--- a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "mtl";
-  version = "2.0.1.0";
-  sha256 = "1w6jpzyl08mringnd6gxwcl3y9q506r240vm1sv0aacml1hy8szk";
-  buildDepends = [ transformers ];
-  meta = {
-    description = "Monad classes, using functional dependencies";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.1.nix b/pkgs/development/libraries/haskell/mtl/2.1.1.nix
deleted file mode 100644
index 8cfb60ddfef..00000000000
--- a/pkgs/development/libraries/haskell/mtl/2.1.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "mtl";
-  version = "2.1.1";
-  sha256 = "143s0c5hygwnd72x14jwinpnd92gx4y9blhmv6086rxijqbq6l4j";
-  buildDepends = [ transformers ];
-  meta = {
-    description = "Monad classes, using functional dependencies";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.2.nix b/pkgs/development/libraries/haskell/mtl/2.1.2.nix
deleted file mode 100644
index d72f8bc79d6..00000000000
--- a/pkgs/development/libraries/haskell/mtl/2.1.2.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "mtl";
-  version = "2.1.2";
-  sha256 = "1vwb98ci3jnjpndym012amia41h3cjdwpy9330ws881l6dj5fxwc";
-  buildDepends = [ transformers ];
-  meta = {
-    homepage = "http://github.com/ekmett/mtl";
-    description = "Monad classes, using functional dependencies";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix b/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix
new file mode 100644
index 00000000000..372c8706cc9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "mtl";
+  version = "2.1.3.1";
+  sha256 = "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/mtl";
+    description = "Monad classes, using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/multiarg/default.nix b/pkgs/development/libraries/haskell/multiarg/default.nix
index 4c6ffcdaff6..f9912a6d013 100644
--- a/pkgs/development/libraries/haskell/multiarg/default.nix
+++ b/pkgs/development/libraries/haskell/multiarg/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "multiarg";
-  version = "0.26.0.0";
-  sha256 = "0fjzjr66yan62911kfndnr7xmy3waidh4cqazabk6yr1cznpsx8m";
+  version = "0.28.0.0";
+  sha256 = "1qy2xlxqhxlj9f5g7wf90vwch3qs1yz733f87irdmak0v4vxdkd5";
   buildDepends = [ bifunctors utf8String ];
   meta = {
     homepage = "https://github.com/massysett/multiarg";
diff --git a/pkgs/development/libraries/haskell/multipart/default.nix b/pkgs/development/libraries/haskell/multipart/default.nix
index 242005392c2..82cad64df04 100644
--- a/pkgs/development/libraries/haskell/multipart/default.nix
+++ b/pkgs/development/libraries/haskell/multipart/default.nix
@@ -4,13 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "multipart";
-  version = "0.1.1";
-  sha256 = "12sxi21baq1wsa3z6qrczyk47finw85yiql26l90wxk99smm90pj";
+  version = "0.1.2";
+  sha256 = "0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5";
   buildDepends = [ parsec ];
   meta = {
     homepage = "http://www.github.com/silkapp/multipart";
-    description = "A partial fork of the cgi package exposing the multipart module";
+    description = "HTTP multipart split out of the cgi package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mvc-updates/default.nix b/pkgs/development/libraries/haskell/mvc-updates/default.nix
new file mode 100644
index 00000000000..ef6d465fd81
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mvc-updates/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, foldl, mvc }:
+
+cabal.mkDerivation (self: {
+  pname = "mvc-updates";
+  version = "1.2.0";
+  sha256 = "125bwc79qcmwb8dn8yqkrxlbqf3vwdzhjx66c69j2jbrp70061n6";
+  buildDepends = [ async foldl mvc ];
+  meta = {
+    description = "Concurrent and combinable updates";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mvc/default.nix b/pkgs/development/libraries/haskell/mvc/default.nix
new file mode 100644
index 00000000000..0068beb9bc3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mvc/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, contravariant, managed, mmorph, pipes
+, pipesConcurrency, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "mvc";
+  version = "1.0.3";
+  sha256 = "1b1342qxyn2jxb3a5c9bp6ai7iwhbjxgfpbh2kjm7v75444lx78g";
+  buildDepends = [
+    async contravariant managed mmorph pipes pipesConcurrency
+    transformers
+  ];
+  meta = {
+    description = "Model-view-controller";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix
index d64c74c68a8..5e015ecbe96 100644
--- a/pkgs/development/libraries/haskell/mwc-random/default.nix
+++ b/pkgs/development/libraries/haskell/mwc-random/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mwc-random";
-  version = "0.13.2.0";
-  sha256 = "07nbbn9ainzsqg2hlw6l9vsfqylfcqs1apgvpnhdgids2gvmrkaa";
+  version = "0.13.2.2";
+  sha256 = "1rsrvadaih66xn8zr8kfvrr65g7wpj6i9jnzkmlik9lqrvz4axcp";
   buildDepends = [ primitive time vector ];
   testDepends = [
     HUnit QuickCheck statistics testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/mysql/default.nix b/pkgs/development/libraries/haskell/mysql/default.nix
index a9801f6415f..5422443d2fe 100644
--- a/pkgs/development/libraries/haskell/mysql/default.nix
+++ b/pkgs/development/libraries/haskell/mysql/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mysql";
-  version = "0.1.1.6";
-  sha256 = "1sxzx5f4ysxhq1nimkj4xwf87i7prwp5wg0kjbhv9pbn65zc9mmj";
+  version = "0.1.1.7";
+  sha256 = "0hl8z8ynadvvhn4garjrax2b59iqddj884mv3s6804lcjjyc49d0";
   buildTools = [ mysqlConfig ];
   extraLibraries = [ zlib ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/nats/default.nix b/pkgs/development/libraries/haskell/nats/default.nix
index e870d171383..3c4130eddc4 100644
--- a/pkgs/development/libraries/haskell/nats/default.nix
+++ b/pkgs/development/libraries/haskell/nats/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "nats";
-  version = "0.2";
-  sha256 = "05skqs5ahbrnwlsxjihkvmsw0n49k9mqdhrv9nqh4dmd1j622r73";
+  version = "1";
+  sha256 = "0r6s8l4s0yq3x2crrkv0b8zac13magfasr9v8hnq6rn1icsfhic0";
   buildDepends = [ hashable ];
   meta = {
     homepage = "http://github.com/ekmett/nats/";
diff --git a/pkgs/development/libraries/haskell/ncurses/default.nix b/pkgs/development/libraries/haskell/ncurses/default.nix
index 7e9ac0ddd95..3a5cd89b926 100644
--- a/pkgs/development/libraries/haskell/ncurses/default.nix
+++ b/pkgs/development/libraries/haskell/ncurses/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ncurses";
-  version = "0.2.10";
-  sha256 = "0qdw5dwi1w42nygvzyq8la7i917f0fz9qjw6ivgl2h1rjxc5j9cb";
+  version = "0.2.11";
+  sha256 = "08jr224i37jxrprka9c276sid6mw001m8r2krd6g8jscshwd5nzk";
   buildDepends = [ text transformers ];
   buildTools = [ c2hs ];
   extraLibraries = [ ncurses ];
diff --git a/pkgs/development/libraries/haskell/netwire/default.nix b/pkgs/development/libraries/haskell/netwire/default.nix
index 7321c3e88e8..f60af56b62f 100644
--- a/pkgs/development/libraries/haskell/netwire/default.nix
+++ b/pkgs/development/libraries/haskell/netwire/default.nix
@@ -1,20 +1,23 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, deepseq, parallel, random, semigroups, time, transformers
+{ cabal, deepseq, parallel, profunctors, random, semigroups, time
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "netwire";
-  version = "5.0.0";
-  sha256 = "1wxrckc8i86xiiyk8msa6qrhfjx4h34ry1nxh9rdcd5cy03kalks";
+  version = "5.0.1";
+  sha256 = "1izl4iarcc6z2j0d6gkcygpp63asajikn1p44p8ixwzx96xx578r";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    deepseq parallel random semigroups time transformers
+    deepseq parallel profunctors random semigroups time transformers
   ];
   meta = {
+    homepage = "http://hub.darcs.net/ertes/netwire";
     description = "Functional reactive programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-carbon/default.nix b/pkgs/development/libraries/haskell/network-carbon/default.nix
index c12737a2edf..82d6c47844d 100644
--- a/pkgs/development/libraries/haskell/network-carbon/default.nix
+++ b/pkgs/development/libraries/haskell/network-carbon/default.nix
@@ -4,9 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "network-carbon";
-  version = "1.0.1";
-  sha256 = "1q3b7vw80yw6fkmpwgazy8ikhbwjmmqmm4fry8c9f8ckkpzahj2b";
+  version = "1.0.2";
+  sha256 = "0r9riydwvmn8v9iih475agl4idb3z6v3djmn3pjlda28g3p0zw9h";
   buildDepends = [ network text time vector ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ocharles/network-carbon";
     description = "A Haskell implementation of the Carbon protocol (part of the Graphite monitoring tools)";
diff --git a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
index 45d912da07a..5b023f91b66 100644
--- a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-conduit-tls";
-  version = "1.1.0";
-  sha256 = "1q9wx7bvr4a65rkyfn2vd3h9bfpsvm9zcqqjhjsrgb91l6x5bdqi";
+  version = "1.1.0.2";
+  sha256 = "1jgv2g3fsfp0rym4g0d9w5hm5ws0sfisj07hcfk2711rm107zaax";
   buildDepends = [
     conduit conduitExtra connection cprngAes dataDefault monadControl
     network streamingCommons systemFileio systemFilepath tls
diff --git a/pkgs/development/libraries/haskell/network-data/default.nix b/pkgs/development/libraries/haskell/network-data/default.nix
new file mode 100644
index 00000000000..d6c94c97a32
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-data/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, prettyclass }:
+
+cabal.mkDerivation (self: {
+  pname = "network-data";
+  version = "0.5.2";
+  sha256 = "0vbmg1m4qylzbmj3z5746srfkiwvh32qi9zyc39gc87bfw2gzn8s";
+  buildDepends = [ cereal prettyclass ];
+  meta = {
+    description = "Library for network data structures and their serialization";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-fancy/default.nix b/pkgs/development/libraries/haskell/network-fancy/default.nix
index 8e0cf757834..92e6e9e34c7 100644
--- a/pkgs/development/libraries/haskell/network-fancy/default.nix
+++ b/pkgs/development/libraries/haskell/network-fancy/default.nix
@@ -1,14 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal }:
 
 cabal.mkDerivation (self: {
   pname = "network-fancy";
-  version = "0.1.5.2";
-  sha256 = "039yrrir17sphkzarwl7hncj7fb4x471mh2lvpqixl3a6nij141c";
+  version = "0.2.2";
+  sha256 = "12q2ifjwg4ss5l2pv42nfhsawncbwm6y4dwrspadkjv9b8idl91j";
   meta = {
     homepage = "http://github.com/taruti/network-fancy";
     description = "Networking support with a cleaner API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
-  preConfigure = ''substituteInPlace Setup.hs --replace '-> rt' '-> return ()' '';
 })
diff --git a/pkgs/development/libraries/haskell/network-simple/default.nix b/pkgs/development/libraries/haskell/network-simple/default.nix
index 41077efed0b..ba7b0a01f5f 100644
--- a/pkgs/development/libraries/haskell/network-simple/default.nix
+++ b/pkgs/development/libraries/haskell/network-simple/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-simple";
-  version = "0.4.0.1";
-  sha256 = "113vaxgsfny9iv6hnbywk97qr1y6qkap49p803anakamss4bdmyj";
+  version = "0.4.0.2";
+  sha256 = "0k155m1s7k157rpsz8ww9cs7jyw3faybwfmw97agvskhb4axw6hf";
   buildDepends = [ exceptions network transformers ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/network-transport-tcp/default.nix b/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
index b4a70eb6843..cd467f5d2ab 100644
--- a/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
+++ b/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
@@ -6,19 +6,16 @@
 
 cabal.mkDerivation (self: {
   pname = "network-transport-tcp";
-  version = "0.4.0";
-  sha256 = "1jjf1dj67a7l3jg3qgbg0hrjfnx1kr9n7hfvqssq7kr8sq1sc49v";
+  version = "0.4.1";
+  sha256 = "11fj0f2yrvdqn3sivfb4p0chs74bx26a0yc49fh160kkcmk42yaf";
   buildDepends = [ dataAccessor network networkTransport ];
   testDepends = [ network networkTransport networkTransportTests ];
   doCheck = false;
-  patchPhase = ''
-    sed -i -e 's|network >=.*,|network,|' -e 's|network >=.*|network|' network-transport-tcp.cabal
-  '';
   meta = {
     homepage = "http://haskell-distributed.github.com";
     description = "TCP instantiation of Network.Transport";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-transport-tests/default.nix b/pkgs/development/libraries/haskell/network-transport-tests/default.nix
index 2dc5036899b..5ee1edec2e9 100644
--- a/pkgs/development/libraries/haskell/network-transport-tests/default.nix
+++ b/pkgs/development/libraries/haskell/network-transport-tests/default.nix
@@ -4,15 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "network-transport-tests";
-  version = "0.1.0.1";
-  sha256 = "15vdkjq10mm378iyci1lpj6b77m7sil5mk3yhzf6vcbfj54pwca6";
+  version = "0.2.1.0";
+  sha256 = "17qf52a76an9ignhb85alz92j9vk3p0ydmaqys8b1ss5mkqipm64";
   buildDepends = [ ansiTerminal mtl networkTransport random ];
+  jailbreak = true;
   meta = {
-    homepage = "http://github.com/haskell-distributed/distributed-process";
+    homepage = "http://haskell-distributed.github.com";
     description = "Unit tests for Network.Transport implementations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-transport/default.nix b/pkgs/development/libraries/haskell/network-transport/default.nix
index c59a3fbb235..410e6076f29 100644
--- a/pkgs/development/libraries/haskell/network-transport/default.nix
+++ b/pkgs/development/libraries/haskell/network-transport/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-transport";
-  version = "0.4.0.0";
-  sha256 = "1485w86wzszlg4dvl0fkr7wa47snvpw825llrvdgrrkcxamhsmrz";
+  version = "0.4.1.0";
+  sha256 = "0xn879ngrbnm71i1wsbxxiih22sdb6csy6aip6fgqyafqlpc1c93";
   buildDepends = [ binary hashable transformers ];
   meta = {
     homepage = "http://haskell-distributed.github.com";
diff --git a/pkgs/development/libraries/haskell/network-uri/default.nix b/pkgs/development/libraries/haskell/network-uri/default.nix
index e6259b09c24..6cfd4dca161 100644
--- a/pkgs/development/libraries/haskell/network-uri/default.nix
+++ b/pkgs/development/libraries/haskell/network-uri/default.nix
@@ -6,13 +6,14 @@
 
 cabal.mkDerivation (self: {
   pname = "network-uri";
-  version = "2.6.0.0";
-  sha256 = "0dnprscb5nxidg56i7j6q783nwsrn3dabfsij3vjlvjn4f0sg11l";
+  version = "2.6.0.1";
+  sha256 = "09ymamb128jgqghpda4nixncr73all8qc6q53976aricm6a27p37";
   buildDepends = [ parsec ];
   testDepends = [
     HUnit network testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/haskell/network-uri";
     description = "URI manipulation";
diff --git a/pkgs/development/libraries/haskell/network/2.2.1.4.nix b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
deleted file mode 100644
index 481ad16a2a3..00000000000
--- a/pkgs/development/libraries/haskell/network/2.2.1.4.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.2.1.4";
-  sha256 = "16a842bee5db116f754b459ef261426b6705a6d79383c6d545c9df5f6329cd25";
-  buildDepends = [ parsec ];
-  meta = {
-    description = "Networking-related facilities";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.2.nix b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
deleted file mode 100644
index 3cf17949380..00000000000
--- a/pkgs/development/libraries/haskell/network/2.3.0.2.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.3.0.2";
-  sha256 = "1s4hm0ilsd67ircrl0h5b72kwrw1imb3cj5z52h99bv7qjdbag03";
-  buildDepends = [ parsec ];
-  meta = {
-    homepage = "http://github.com/haskell/network";
-    description = "Low-level networking interface";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.5.nix b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
deleted file mode 100644
index f10d8c0dbcc..00000000000
--- a/pkgs/development/libraries/haskell/network/2.3.0.5.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.3.0.5";
-  sha256 = "0y1sbgsffzr0skm6xl8907iclgw9vmf395zvpwgakp69i3snh1z0";
-  buildDepends = [ parsec ];
-  meta = {
-    homepage = "http://github.com/haskell/network";
-    description = "Low-level networking interface";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.3.1.0.nix b/pkgs/development/libraries/haskell/network/2.3.1.0.nix
deleted file mode 100644
index 02185e86041..00000000000
--- a/pkgs/development/libraries/haskell/network/2.3.1.0.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, parsec, testFramework, testFrameworkHunit }:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.3.1.0";
-  sha256 = "1fp25wkl5cc4kx0jv5w02b7pzgqadjg1yrknzzwsqxc5s3cpyz6l";
-  buildDepends = [ parsec ];
-  testDepends = [ HUnit testFramework testFrameworkHunit ];
-  meta = {
-    homepage = "http://github.com/haskell/network";
-    description = "Low-level networking interface";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.4.1.2.nix b/pkgs/development/libraries/haskell/network/2.4.1.2.nix
deleted file mode 100644
index 2ec39f7d457..00000000000
--- a/pkgs/development/libraries/haskell/network/2.4.1.2.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, parsec, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.4.1.2";
-  sha256 = "0f7ykdv7xbsr5m3h2ml0hw3nlbnq785m0gr624pwk2s289jwakdh";
-  buildDepends = [ parsec ];
-  testDepends = [
-    HUnit testFramework testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  meta = {
-    homepage = "https://github.com/haskell/network";
-    description = "Low-level networking interface";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.6.0.1.nix b/pkgs/development/libraries/haskell/network/2.6.0.1.nix
deleted file mode 100644
index d5d302fbd8e..00000000000
--- a/pkgs/development/libraries/haskell/network/2.6.0.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, HUnit, testFramework, testFrameworkHunit }:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.6.0.1";
-  sha256 = "0qfffsdbvrf9gs8wr9ps7iv5h6drz4vb2ja9rprmc7ypswsacxsq";
-  testDepends = [ HUnit testFramework testFrameworkHunit ];
-  meta = {
-    homepage = "https://github.com/haskell/network";
-    description = "Low-level networking interface";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.6.0.2.nix b/pkgs/development/libraries/haskell/network/2.6.0.2.nix
new file mode 100644
index 00000000000..37540ad323e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/2.6.0.2.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, testFramework, testFrameworkHunit }:
+
+cabal.mkDerivation (self: {
+  pname = "network";
+  version = "2.6.0.2";
+  sha256 = "12b7saam5ga6l4cplgkad49xa4vkynz2ri9jxidx1cxiqjcl0vc4";
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
+  meta = {
+    homepage = "https://github.com/haskell/network";
+    description = "Low-level networking interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/non-empty/default.nix b/pkgs/development/libraries/haskell/non-empty/default.nix
new file mode 100644
index 00000000000..7fba365097b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/non-empty/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, QuickCheck, utilityHt }:
+
+cabal.mkDerivation (self: {
+  pname = "non-empty";
+  version = "0.2";
+  sha256 = "1wapx5q8spvlq8g7nagj2lwhrqzg90dw4n0qvd1ap47n0rh3iymm";
+  buildDepends = [ QuickCheck utilityHt ];
+  meta = {
+    homepage = "http://code.haskell.org/~thielema/non-empty/";
+    description = "List-like structures with static restrictions on the number of elements";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/numeric-prelude/default.nix b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
index 35840ba1716..003629d7852 100644
--- a/pkgs/development/libraries/haskell/numeric-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
@@ -14,6 +14,7 @@ cabal.mkDerivation (self: {
     deepseq nonNegative parsec QuickCheck random storableRecord
     utilityHt
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Numeric_Prelude";
     description = "An experimental alternative hierarchy of numeric type classes";
diff --git a/pkgs/development/libraries/haskell/objective/default.nix b/pkgs/development/libraries/haskell/objective/default.nix
new file mode 100644
index 00000000000..4051efb42f7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/objective/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cleanUnions, elevator, minioperational, profunctors
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "objective";
+  version = "0.6.1";
+  sha256 = "1rnlh16r9kcrxffih6z8rprds9nxhlqksqba9wdgdkkwhrhq0ah6";
+  buildDepends = [
+    cleanUnions elevator minioperational profunctors transformers
+  ];
+  meta = {
+    homepage = "https://github.com/fumieval/objective";
+    description = "Extensible objects";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/oeis/default.nix b/pkgs/development/libraries/haskell/oeis/default.nix
index b58df3be314..b1b9bd5820f 100644
--- a/pkgs/development/libraries/haskell/oeis/default.nix
+++ b/pkgs/development/libraries/haskell/oeis/default.nix
@@ -1,20 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HTTP, HUnit, network, testFramework, testFrameworkHunit }:
+{ cabal, HTTP, HUnit, network, networkUri, testFramework
+, testFrameworkHunit
+}:
 
 cabal.mkDerivation (self: {
   pname = "oeis";
-  version = "0.3.5";
-  sha256 = "0r23mqbfvvvx6shzdclzfrqi8r95gxl93cih7ny7w7px3w5yc5x6";
-  buildDepends = [ HTTP network ];
+  version = "0.3.6";
+  sha256 = "1q7ywczm2d5inrjqgz3j8vfk5sj2yixvwdkzlfs2whd0gadbcfa0";
+  buildDepends = [ HTTP network networkUri ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
-  patchPhase = ''
-    sed -i -e 's|network *==.*|network|' oeis.cabal
-  '';
   meta = {
     description = "Interface to the Online Encyclopedia of Integer Sequences (OEIS)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ofx/default.nix b/pkgs/development/libraries/haskell/ofx/default.nix
new file mode 100644
index 00000000000..d7fd805f5e8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ofx/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, parsec, time }:
+
+cabal.mkDerivation (self: {
+  pname = "ofx";
+  version = "0.4.0.2";
+  sha256 = "0vhr2pydnfc0ma7w1qdn5p5yylzlj3n47fnm16mlbhlb5ydnjshg";
+  buildDepends = [ parsec time ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://www.github.com/massysett/ofx";
+    description = "Parser for OFX data";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/oo-prototypes/default.nix b/pkgs/development/libraries/haskell/oo-prototypes/default.nix
new file mode 100644
index 00000000000..b9f011d3aa1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/oo-prototypes/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "oo-prototypes";
+  version = "0.1.0.0";
+  sha256 = "0xpm2adf47clhzpwd833w706mc5xfxwr2wp4aywigy11687f9bly";
+  meta = {
+    homepage = "https://github.com/yi-editor/oo-prototypes";
+    description = "Support for OO-like prototypes";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/opaleye/default.nix b/pkgs/development/libraries/haskell/opaleye/default.nix
new file mode 100644
index 00000000000..918bef94fba
--- /dev/null
+++ b/pkgs/development/libraries/haskell/opaleye/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, contravariant, postgresqlSimple, productProfunctors
+, profunctors, semigroups, text, time, transformers, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "opaleye";
+  version = "0.3";
+  sha256 = "1jq2q0dswgj5jksdd5xn2ny66d1nfqmwf7cv835gg59g4rd2yyrx";
+  buildDepends = [
+    contravariant postgresqlSimple productProfunctors profunctors
+    semigroups text time transformers uuid
+  ];
+  testDepends = [
+    postgresqlSimple productProfunctors profunctors time
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/tomjaguarpaw/haskell-opaleye";
+    description = "An SQL-generating DSL targeting PostgreSQL";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/openssl-streams/default.nix b/pkgs/development/libraries/haskell/openssl-streams/default.nix
index 28609f9e0f6..5ae373fbac2 100644
--- a/pkgs/development/libraries/haskell/openssl-streams/default.nix
+++ b/pkgs/development/libraries/haskell/openssl-streams/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "openssl-streams";
-  version = "1.1.0.2";
-  sha256 = "0h3jxxdls0p1xxr02rfag7j9y13ll3xgzx2ldv1nsfcv3rzw2pfy";
+  version = "1.2.0.0";
+  sha256 = "01hdrsdrp2x7i5zydn2b0blzir7vqvn63n9sf9pwcgnkk6s5j1wc";
   buildDepends = [ HsOpenSSL ioStreams network ];
   testDepends = [
     HsOpenSSL HUnit ioStreams network testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix
new file mode 100644
index 00000000000..ea2dc95e364
--- /dev/null
+++ b/pkgs/development/libraries/haskell/optparse-applicative/0.10.0.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiWlPprint, transformers, transformersCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "optparse-applicative";
+  version = "0.10.0";
+  sha256 = "04hr6rzgc8h0c8fy748as3q7sc8vm94gvk0rw4gdj605z8hvaxcb";
+  buildDepends = [ ansiWlPprint transformers transformersCompat ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/pcapriotti/optparse-applicative";
+    description = "Utilities and combinators for parsing command line options";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/0.11.0.1.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.11.0.1.nix
new file mode 100644
index 00000000000..bef76ab73ee
--- /dev/null
+++ b/pkgs/development/libraries/haskell/optparse-applicative/0.11.0.1.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiWlPprint, transformers, transformersCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "optparse-applicative";
+  version = "0.11.0.1";
+  sha256 = "0jdzajj9w0dghv751m59l3imzm2x9lx9cqb6094mncnx8k6cf6f9";
+  buildDepends = [ ansiWlPprint transformers transformersCompat ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/pcapriotti/optparse-applicative";
+    description = "Utilities and combinators for parsing command line options";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
deleted file mode 100644
index 82bc0fa8a9e..00000000000
--- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, ansiWlPprint, HUnit, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
-, testFrameworkThPrime, transformers, transformersCompat
-}:
-
-cabal.mkDerivation (self: {
-  pname = "optparse-applicative";
-  version = "0.9.1.1";
-  sha256 = "1fy8839y9dg2a5pj7abjiqkm3qcz8faip32q3x1zi5mrz4v3q2g6";
-  buildDepends = [ ansiWlPprint transformers transformersCompat ];
-  testDepends = [
-    HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 testFrameworkThPrime
-  ];
-  jailbreak = true;
-  meta = {
-    homepage = "https://github.com/pcapriotti/optparse-applicative";
-    description = "Utilities and combinators for parsing command line options";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
index e567bd82059..feb273fbdeb 100644
--- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix
@@ -1,20 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, aesonPretty, attoparsec, filepath, hexpat
+{ cabal, aeson, aesonPretty, attoparsec, dataDefault, filepath
 , hsBibutils, mtl, pandoc, pandocTypes, parsec, rfc5051, split, syb
-, tagsoup, temporary, text, time, vector, yaml
+, tagsoup, temporary, text, time, vector, xmlConduit, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc-citeproc";
-  version = "0.4.0.1";
-  sha256 = "1z21mdxa2hrwqdclriyn3s1qqij3ccbkg7hb0acxrk3pzgidcinx";
+  version = "0.6";
+  sha256 = "1whi8mrbhfi8wr3qbj1lkgc1pngn8151jjri409hshl1mng4aq5b";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson aesonPretty attoparsec filepath hexpat hsBibutils mtl pandoc
-    pandocTypes parsec rfc5051 split syb tagsoup temporary text time
-    vector yaml
+    aeson aesonPretty attoparsec dataDefault filepath hsBibutils mtl
+    pandoc pandocTypes parsec rfc5051 split syb tagsoup temporary text
+    time vector xmlConduit yaml
   ];
   testDepends = [
     aeson filepath pandoc pandocTypes temporary text yaml
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 1b2571563c3..3788c1f3bf8 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -4,32 +4,35 @@
 , blazeHtml, blazeMarkup, dataDefault, deepseqGenerics, Diff
 , executablePath, extensibleExceptions, filepath, haddockLibrary
 , happy, highlightingKate, hslua, HTTP, httpClient, httpClientTls
-, httpTypes, HUnit, JuicyPixels, mtl, network, pandocTypes, parsec
-, QuickCheck, random, scientific, SHA, syb, tagsoup, temporary
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
-, texmath, text, time, unorderedContainers, vector, wai, waiExtra
-, xml, yaml, zipArchive, zlib
+, httpTypes, HUnit, JuicyPixels, mtl, network, networkUri
+, pandocTypes, parsec, QuickCheck, random, scientific, SHA, syb
+, tagsoup, temporary, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, texmath, text, time
+, unorderedContainers, vector, xml, yaml, zipArchive, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "pandoc";
-  version = "1.13.0.1";
-  sha256 = "0pjyxsr93gv0vrdxlr5i0c56mg6rf21qxf1141cb8l0hl0b416d6";
+  version = "1.13.1";
+  sha256 = "0vvysa70xp4pskxrvslmddwdsalc479zb8wn6z1vmpvfssvvj6vv";
+  editedCabalFile = "1i57yk1pql4gv97cs86fk82hkwncics1wkzjqd9iz866204y4wrg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson alex base64Bytestring binary blazeHtml blazeMarkup
     dataDefault deepseqGenerics extensibleExceptions filepath
     haddockLibrary happy highlightingKate hslua HTTP httpClient
-    httpClientTls httpTypes JuicyPixels mtl network pandocTypes parsec
-    random scientific SHA syb tagsoup temporary texmath text time
-    unorderedContainers vector wai waiExtra xml yaml zipArchive zlib
+    httpClientTls httpTypes JuicyPixels mtl network networkUri
+    pandocTypes parsec random scientific SHA syb tagsoup temporary
+    texmath text time unorderedContainers vector xml yaml zipArchive
+    zlib
   ];
   testDepends = [
     ansiTerminal Diff executablePath filepath highlightingKate HUnit
     pandocTypes QuickCheck syb testFramework testFrameworkHunit
     testFrameworkQuickcheck2 text zipArchive
   ];
+  configureFlags = "-fhttps -fmake-pandoc-man-pages";
   jailbreak = true;
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix
index 907a9a2e032..d79b931132d 100644
--- a/pkgs/development/libraries/haskell/pango/default.nix
+++ b/pkgs/development/libraries/haskell/pango/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pango";
-  version = "0.13.0.0";
-  sha256 = "0qrsivr6z8pp4ibg1vyzyg2fw0jzrshn6h6g6vff93awxzqq9rlw";
+  version = "0.13.0.4";
+  sha256 = "1fglwywac36abpjjpgdsk62f4sndgr5nf29fmana0yac7hxsm1sq";
   buildDepends = [ cairo glib mtl text ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/parallel-io/default.nix b/pkgs/development/libraries/haskell/parallel-io/default.nix
index b9f6eda669e..2bf50add862 100644
--- a/pkgs/development/libraries/haskell/parallel-io/default.nix
+++ b/pkgs/development/libraries/haskell/parallel-io/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ extensibleExceptions random ];
+  jailbreak = true;
   meta = {
     homepage = "http://batterseapower.github.com/parallel-io";
     description = "Combinators for executing IO actions in parallel on a thread pool";
diff --git a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
deleted file mode 100644
index 99575921cc6..00000000000
--- a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "parallel";
-  version = "1.1.0.1";
-  sha256 = "0885086660268f3626effacb29a02b5c81f3e5a8dfa99dabe0981ddbc407999f";
-  meta = {
-    description = "parallel programming library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
deleted file mode 100644
index 52a5d3c3c33..00000000000
--- a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "parallel";
-  version = "2.2.0.1";
-  sha256 = "255310023138ecf618c8b450203fa2fc65feb68cd08ee4d369ceae72054168fd";
-  buildDepends = [ deepseq ];
-  meta = {
-    description = "Parallel programming library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
deleted file mode 100644
index 095603717b7..00000000000
--- a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "parallel";
-  version = "3.1.0.1";
-  sha256 = "0j03i5467iyz98fl4fnzlwrr93j2as733kbrxnlcgyh455kb89ns";
-  buildDepends = [ deepseq ];
-  meta = {
-    description = "Parallel programming library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
deleted file mode 100644
index f881e2f83c7..00000000000
--- a/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "parallel";
-  version = "3.2.0.2";
-  sha256 = "0sy67cdbwh17wng6b77h9hnkg59mgnyilwvirihmq9535jm9yml2";
-  buildDepends = [ deepseq ];
-  meta = {
-    description = "Parallel programming library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
deleted file mode 100644
index e1d1b24286d..00000000000
--- a/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "parallel";
-  version = "3.2.0.4";
-  sha256 = "0v8l2rbczjadynbz4q4r00k8a1mqj70y63zbklpxckafq1zn7nwc";
-  buildDepends = [ deepseq ];
-  meta = {
-    description = "Parallel programming library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.5.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.5.nix
new file mode 100644
index 00000000000..987ee8c5bdc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.5.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "parallel";
+  version = "3.2.0.5";
+  sha256 = "16hhsi8pr29qqg9ssks0y9j0vmnvpyy1qk46s0c0vgj3pyzl38mm";
+  buildDepends = [ deepseq ];
+  meta = {
+    description = "Parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsec-extra/default.nix b/pkgs/development/libraries/haskell/parsec-extra/default.nix
new file mode 100644
index 00000000000..b3dfb2e0a15
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsec-extra/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, monadsTf, parsec, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "parsec-extra";
+  version = "0.1.0.5";
+  sha256 = "0x5lpkly8z26ygp0k8ddkybgmfi5n2vnf6sv3sjn3xm531xf6qy4";
+  buildDepends = [ monadsTf parsec transformers ];
+  meta = {
+    description = "Some miscellaneous basic string parsers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
deleted file mode 100644
index 458a2bd2977..00000000000
--- a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "parsec";
-  version = "2.1.0.1";
-  sha256 = "2d85e5b5c8b2b1f341037ce67e1db7fa47b31c083136796cfef9e5b945c656df";
-  meta = {
-    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
-    description = "Monadic parser combinators";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.1.nix b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
deleted file mode 100644
index e997acd4b49..00000000000
--- a/pkgs/development/libraries/haskell/parsec/3.1.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "parsec";
-  version = "3.1.1";
-  sha256 = "0x34gwn9k68h69c3hw7yaah6zpdwq8hvqss27f3n4n4cp7dh81fk";
-  buildDepends = [ mtl ];
-  meta = {
-    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
-    description = "Monadic parser combinators";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.2.nix b/pkgs/development/libraries/haskell/parsec/3.1.2.nix
deleted file mode 100644
index dd55106fa0d..00000000000
--- a/pkgs/development/libraries/haskell/parsec/3.1.2.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, text }:
-
-cabal.mkDerivation (self: {
-  pname = "parsec";
-  version = "3.1.2";
-  sha256 = "0lhn9j2j5jlh7g0qx9f6ms63n9x1xlxg9isdvm6z0ksy3ywj9wch";
-  buildDepends = [ mtl text ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
-    description = "Monadic parser combinators";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.3.nix b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
deleted file mode 100644
index 3e81947cfed..00000000000
--- a/pkgs/development/libraries/haskell/parsec/3.1.3.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, text }:
-
-cabal.mkDerivation (self: {
-  pname = "parsec";
-  version = "3.1.3";
-  sha256 = "1a64gzirgpa1i78gbbp9z059nh29xmcja4g8vgjb1fbylx6vn54z";
-  buildDepends = [ mtl text ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
-    description = "Monadic parser combinators";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.5.nix b/pkgs/development/libraries/haskell/parsec/3.1.5.nix
deleted file mode 100644
index b6a5d37e531..00000000000
--- a/pkgs/development/libraries/haskell/parsec/3.1.5.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, text }:
-
-cabal.mkDerivation (self: {
-  pname = "parsec";
-  version = "3.1.5";
-  sha256 = "1f1wg4qxp1ss2160sa3vbqff18fabwhqjkyfj4sgyfmwf9fj8wn5";
-  buildDepends = [ mtl text ];
-  jailbreak = true;
-  meta = {
-    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
-    description = "Monadic parser combinators";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/parsec/default.nix b/pkgs/development/libraries/haskell/parsec/default.nix
new file mode 100644
index 00000000000..f2258da9968
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsec/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit, mtl, testFramework, testFrameworkHunit, text }:
+
+cabal.mkDerivation (self: {
+  pname = "parsec";
+  version = "3.1.7";
+  sha256 = "12h7n367gaw9ifd19yd3ppi4j6kghf7rryacl0ips0fwlxw1x8wa";
+  buildDepends = [ mtl text ];
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
+    description = "Monadic parser combinators";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsek/default.nix b/pkgs/development/libraries/haskell/parsek/default.nix
new file mode 100644
index 00000000000..45bb96561c3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsek/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "parsek";
+  version = "1.0.1.2";
+  sha256 = "0ybh76cx5y73ywhlv4g2z74x1mvg5n2rxl045mscs6dwcyw9vhbd";
+  meta = {
+    description = "Parallel Parsing Processes";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ jpbernardy ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsers/default.nix b/pkgs/development/libraries/haskell/parsers/default.nix
index 5c49d144a10..25f4a137083 100644
--- a/pkgs/development/libraries/haskell/parsers/default.nix
+++ b/pkgs/development/libraries/haskell/parsers/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "parsers";
-  version = "0.12.1";
-  sha256 = "0g9grf713zhn23vgmb6mdrm8r5snq1xa8jqnj6pghydj6m4rh97v";
+  version = "0.12.1.1";
+  sha256 = "1yx75xbmg3lms0hj79r5w9fl81g5cbsm842lijhd9jnnbli2mzfw";
   buildDepends = [
     attoparsec charset parsec text transformers unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/pcap-enumerator/default.nix b/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
index f7480295f6d..db35b2fe020 100644
--- a/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/pcap-enumerator/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pcap-enumerator";
-  version = "0.4";
-  sha256 = "0ka2n7740s02marvd1b11mrxc663kj0zcn7hksl5i13ls026hpb8";
+  version = "0.5";
+  sha256 = "0v7ar3jbs54ibhrbbzmvajc7pc8h8dv56wr77w4vsbyz6xq4sqdb";
   buildDepends = [ enumerator pcap transformers ];
   meta = {
     homepage = "http://github.com/cutsea110/pcap-enumerator";
diff --git a/pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix b/pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix
new file mode 100644
index 00000000000..5ca5ab95622
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pdf-toolbox-content/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, base16Bytestring, ioStreams, pdfToolboxCore
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pdf-toolbox-content";
+  version = "0.0.3.1";
+  sha256 = "08icj65l6hjl2r07ipr6c65n7ny771zq714bswhv2q0iwdigz1iz";
+  buildDepends = [
+    attoparsec base16Bytestring ioStreams pdfToolboxCore text
+  ];
+  meta = {
+    homepage = "https://github.com/Yuras/pdf-toolbox";
+    description = "A collection of tools for processing PDF files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix b/pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix
new file mode 100644
index 00000000000..bc7b179a0da
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pdf-toolbox-core/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, errors, ioStreams, scientific, transformers
+, zlibBindings
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pdf-toolbox-core";
+  version = "0.0.3.0";
+  sha256 = "1d9c275gdr2byri6nbabh2ap6lnq0wnfqfqq76fnb0fj92ydmxc6";
+  buildDepends = [
+    attoparsec errors ioStreams scientific transformers zlibBindings
+  ];
+  meta = {
+    homepage = "https://github.com/Yuras/pdf-toolbox";
+    description = "A collection of tools for processing PDF files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix b/pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix
new file mode 100644
index 00000000000..77615ed8665
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pdf-toolbox-document/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cipherRc4, cryptohash, ioStreams, pdfToolboxContent
+, pdfToolboxCore, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pdf-toolbox-document";
+  version = "0.0.4.0";
+  sha256 = "1fjchlknkxxgy6rm2q4f9fhy53ip06kzvcv5876gxswdchi6kxwa";
+  buildDepends = [
+    cipherRc4 cryptohash ioStreams pdfToolboxContent pdfToolboxCore
+    text transformers
+  ];
+  meta = {
+    homepage = "https://github.com/Yuras/pdf-toolbox";
+    description = "A collection of tools for processing PDF files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/persistent-mysql/default.nix b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
index beb2ca94263..db4b89990b2 100644
--- a/pkgs/development/libraries/haskell/persistent-mysql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, blazeBuilder, conduit, monadControl, mysql
-, mysqlSimple, persistent, resourcet, text, transformers
+{ cabal, aeson, blazeBuilder, conduit, monadControl, monadLogger
+, mysql, mysqlSimple, persistent, resourcet, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-mysql";
-  version = "1.3.0.2";
-  sha256 = "0yv2f8zqypbp5swdpxmgnfmmfsr6lwhb27k0hl9bh7ya76anhvqy";
+  version = "2.1.2";
+  sha256 = "06i2wcrqvk216bq3853acqi6wgrdzkz3wzah231gv3yz348lr6sv";
   buildDepends = [
-    aeson blazeBuilder conduit monadControl mysql mysqlSimple
-    persistent resourcet text transformers
+    aeson blazeBuilder conduit monadControl monadLogger mysql
+    mysqlSimple persistent resourcet text transformers
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
index 207183db846..1ccdeca9277 100644
--- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, blazeBuilder, conduit, monadControl, persistent
-, postgresqlLibpq, postgresqlSimple, resourcet, text, time
-, transformers
+{ cabal, aeson, blazeBuilder, conduit, monadControl, monadLogger
+, persistent, postgresqlLibpq, postgresqlSimple, resourcet, text
+, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-postgresql";
-  version = "1.3.1.1";
-  sha256 = "1qi19fm7waxrbh795jvcny7aaj6b64jqcwv772xjzl9dbv3q9qhc";
+  version = "2.1.1";
+  sha256 = "0mfvzd62qn7ffx6nrgkr52qzl3prjq8xkahvb6j5akb6azdmzg80";
   buildDepends = [
-    aeson blazeBuilder conduit monadControl persistent postgresqlLibpq
-    postgresqlSimple resourcet text time transformers
+    aeson blazeBuilder conduit monadControl monadLogger persistent
+    postgresqlLibpq postgresqlSimple resourcet text time transformers
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index 288e91ab78d..34a427ddb07 100644
--- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-sqlite";
-  version = "1.3.0.5";
-  sha256 = "05b7byc4z7mhni90cj2aan63f599wv0511zqbsm6kbylk1zpyizb";
+  version = "2.1.1";
+  sha256 = "1hypaixwp6q10gfwbg0xfqfw7vz9j56max5i0k1mklan6js7wy9w";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 4b3c97c1a9c..1c8f502ba7b 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -1,16 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, hspec, monadControl, monadLogger, persistent
-, QuickCheck, text, transformers, unorderedContainers
+{ cabal, aeson, hspec, monadControl, monadLogger, pathPieces
+, persistent, QuickCheck, tagged, text, transformers
+, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.3.2.2";
-  sha256 = "0vcj0y2i423cz1iry5gsz5cvqynpnbhzl6basqcqn6k8ca7s876i";
+  version = "2.1";
+  sha256 = "0rj3yqm38kg7lvj9hi4c5yaypvxj6pwb47b0kg8h2hsa0rshhrdy";
   buildDepends = [
-    aeson monadControl monadLogger persistent text transformers
-    unorderedContainers
+    aeson monadControl monadLogger pathPieces persistent tagged text
+    transformers unorderedContainers
   ];
   testDepends = [
     aeson hspec persistent QuickCheck text transformers
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index a5add651473..9775f510d42 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -1,21 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, base64Bytestring, blazeHtml
-, blazeMarkup, conduit, exceptions, hspec, liftedBase, monadControl
-, monadLogger, pathPieces, resourcePool, resourcet, scientific
-, silently, sqlite, text, time, transformers, transformersBase
-, unorderedContainers, vector
+, blazeMarkup, conduit, exceptions, fastLogger, hspec, liftedBase
+, monadControl, monadLogger, mtl, pathPieces, resourcePool
+, resourcet, scientific, silently, sqlite, tagged, text, time
+, transformers, transformersBase, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "1.3.3";
-  sha256 = "1pz3xdbk46qprcyb0sll5zzr2vp6x08w7pd5glz2jf2242k7cdrd";
+  version = "2.1.1.4";
+  sha256 = "0nknyrxh28i4cf50fj6mclgd4qnrqsby1w1bzj8jmg8snbyp69d2";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
-    exceptions liftedBase monadControl monadLogger pathPieces
-    resourcePool resourcet scientific silently text time transformers
-    transformersBase unorderedContainers vector
+    exceptions fastLogger liftedBase monadControl monadLogger mtl
+    pathPieces resourcePool resourcet scientific silently tagged text
+    time transformers transformersBase unorderedContainers vector
   ];
   testDepends = [
     aeson attoparsec base64Bytestring blazeHtml conduit hspec
diff --git a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
index 51eba83bb82..d9d5caf4d29 100644
--- a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-attoparsec";
-  version = "0.5.1";
-  sha256 = "0qvsvbcn211xp4c669cpljmnsqn9zk1rn94ya1dbq77l970s8xah";
+  version = "0.5.1.1";
+  sha256 = "1ns8s3p6jh4iya71z3j81cqnrfnr4n92kblwgkjlapb23dykl2qz";
   buildDepends = [ attoparsec pipes pipesParse text transformers ];
   testDepends = [
     attoparsec HUnit mmorph pipes pipesParse tasty tastyHunit text
diff --git a/pkgs/development/libraries/haskell/pipes-binary/default.nix b/pkgs/development/libraries/haskell/pipes-binary/default.nix
index 94f899c6a8d..ea9fe83eab7 100644
--- a/pkgs/development/libraries/haskell/pipes-binary/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-binary/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-binary";
-  version = "0.4.0.2";
-  sha256 = "1lbz2hybglkmm7dawg16pma2yr732yy1agh5b9vwlw2ik92hrm58";
+  version = "0.4.0.3";
+  sha256 = "0r56h5f9i6hy4zb2bhfi26y7y3z0j4nacdb2dgkxmh5mqjd33f0q";
   buildDepends = [
     binary pipes pipesBytestring pipesParse transformers
   ];
diff --git a/pkgs/development/libraries/haskell/pipes-csv/default.nix b/pkgs/development/libraries/haskell/pipes-csv/default.nix
index c18d2297f67..e26526fb046 100644
--- a/pkgs/development/libraries/haskell/pipes-csv/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-csv/default.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "Fast, streaming csv parser";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-http/default.nix b/pkgs/development/libraries/haskell/pipes-http/default.nix
index 285d1405191..5f432bc9dd9 100644
--- a/pkgs/development/libraries/haskell/pipes-http/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-http/default.nix
@@ -4,12 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-http";
-  version = "1.0.1";
-  sha256 = "15jmhf6lgqxv9zn08dky8biiv8cp4s3vf0xmp78pbllaqkvm4z9w";
+  version = "1.0.2";
+  sha256 = "0hqab1pzcj11qwvc4dznis0qsyn1zc1d0riqxy6b5k04p9i2jbzk";
   buildDepends = [ httpClient httpClientTls pipes ];
+  jailbreak = true;
   meta = {
     description = "HTTP client with pipes interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-shell/default.nix b/pkgs/development/libraries/haskell/pipes-shell/default.nix
new file mode 100644
index 00000000000..f7f5e20bcf4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-shell/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, hspec, pipes, pipesBytestring, pipesSafe, stm
+, stmChans, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-shell";
+  version = "0.1.3";
+  sha256 = "0w49il312ns8pyl05144gznxfdchd0rnq8hprmjrgy8yp3v8j4v1";
+  buildDepends = [
+    async pipes pipesBytestring pipesSafe stm stmChans text
+  ];
+  testDepends = [
+    async hspec pipes pipesBytestring pipesSafe stm stmChans text
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    description = "Create proper Pipes from System.Process";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-text/default.nix b/pkgs/development/libraries/haskell/pipes-text/default.nix
index deef6e0fdb6..177eb6e7d35 100644
--- a/pkgs/development/libraries/haskell/pipes-text/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-text/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-text";
-  version = "0.0.0.12";
-  sha256 = "18xf0rhshbl03js50n98k96692w98j0j0dfyi67780i08c39dq6m";
+  version = "0.0.0.15";
+  sha256 = "10906gdb9gjhxxmxvmib6kw7py6fl2r4df5bryqvbjvr1afcc3x9";
   buildDepends = [
     pipes pipesBytestring pipesGroup pipesParse pipesSafe
     streamingCommons text transformers
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     description = "Text pipes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-zlib/default.nix b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
index 9a4ed04892b..bbb555681e0 100644
--- a/pkgs/development/libraries/haskell/pipes-zlib/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-zlib";
-  version = "0.4.0.1";
-  sha256 = "1k91q5hci4hk2kzaqfvg1nwbklqyg83wwhm3sdfhdn2famj0mls0";
+  version = "0.4.3";
+  sha256 = "04iiw0r1mnxl4myyp87wqhff6jm0g2246gwismi7jnwy7xmllsmc";
   buildDepends = [ pipes transformers zlib zlibBindings ];
   meta = {
     homepage = "https://github.com/k0001/pipes-zlib";
-    description = "Zlib compression and decompression for Pipes streams";
+    description = "Zlib and GZip compression and decompression for Pipes streams";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix
index 9f723826dbb..9703b14fc71 100644
--- a/pkgs/development/libraries/haskell/pipes/default.nix
+++ b/pkgs/development/libraries/haskell/pipes/default.nix
@@ -6,12 +6,13 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes";
-  version = "4.1.2";
-  sha256 = "0prxk4qjdcmxjdvpi1bwql0s3l1kwlaz9sydr9swa8bc8ams3a11";
+  version = "4.1.4";
+  sha256 = "0bv7i18lf15mvfscnif4hkwgm4anw8b7bbqhzdw4wbjqcvrrsppb";
   buildDepends = [ mmorph mtl transformers ];
   testDepends = [
     mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
   ];
+  jailbreak = true;
   meta = {
     description = "Compositional pipelines";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/pointed/default.nix b/pkgs/development/libraries/haskell/pointed/default.nix
index f486737765e..82ee1a418c7 100644
--- a/pkgs/development/libraries/haskell/pointed/default.nix
+++ b/pkgs/development/libraries/haskell/pointed/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, comonad, dataDefaultClass, semigroupoids, semigroups, stm
-, tagged, transformers
+, tagged, transformers, transformersCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "pointed";
-  version = "4.1";
-  sha256 = "1l40nl1sx16hbqz1kv70g6jp2igvvj93p5db8b6bsgjxx9ibck6g";
+  version = "4.1.1";
+  sha256 = "183ix3cax4qvph6grghpj5n4m7bd5xznqahjbgwz88gkf9rp2gbj";
   buildDepends = [
     comonad dataDefaultClass semigroupoids semigroups stm tagged
-    transformers
+    transformers transformersCompat
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/polynomials-bernstein/default.nix b/pkgs/development/libraries/haskell/polynomials-bernstein/default.nix
new file mode 100644
index 00000000000..e2bb34f895c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/polynomials-bernstein/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "polynomials-bernstein";
+  version = "1.1.1";
+  sha256 = "0pjdwi84gz5j1rij4m89nyljjafzjnakmf4yd6vj4xz54nmmygg6";
+  buildDepends = [ vector ];
+  meta = {
+    description = "A solver for systems of polynomial equations in bernstein form";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ jpbernardy ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/polyparse/default.nix b/pkgs/development/libraries/haskell/polyparse/default.nix
index c9e237b6506..2b4e881421c 100644
--- a/pkgs/development/libraries/haskell/polyparse/default.nix
+++ b/pkgs/development/libraries/haskell/polyparse/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "polyparse";
-  version = "1.9";
-  sha256 = "12khjhv1dvs4j1jyh3law7m1gmkad8s6q7clh7w6l5ll2n1dc4lz";
+  version = "1.10";
+  sha256 = "0nz7dv91a2f7gf4jnma8qcqa4n6qjcyggf8qdja46sdcabpd0ij2";
   buildDepends = [ text ];
   meta = {
     homepage = "http://code.haskell.org/~malcolm/polyparse/";
diff --git a/pkgs/development/libraries/haskell/pool-conduit/default.nix b/pkgs/development/libraries/haskell/pool-conduit/default.nix
index f8f748056c3..14098c980bb 100644
--- a/pkgs/development/libraries/haskell/pool-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/pool-conduit/default.nix
@@ -14,5 +14,7 @@ cabal.mkDerivation (self: {
     description = "Resource pool allocations via ResourceT. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/poppler/default.nix b/pkgs/development/libraries/haskell/poppler/default.nix
index 28e7e515c2b..0eb3c13f9bd 100644
--- a/pkgs/development/libraries/haskell/poppler/default.nix
+++ b/pkgs/development/libraries/haskell/poppler/default.nix
@@ -12,6 +12,10 @@ cabal.mkDerivation (self: {
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc ];
   pkgconfigDepends = [ cairo gdk_pixbuf glib gtk pango popplerGlib ];
+  patchPhase = ''
+    sed -i -e 's,glib/poppler.h,poppler.h,' poppler.cabal
+    sed -i -e 's,glib/poppler.h,poppler.h,' Graphics/UI/Gtk/Poppler/Structs.hsc
+  '';
   meta = {
     homepage = "http://www.haskell.org/gtk2hs/";
     description = "Binding to the Poppler";
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 0c4fea2da65..d48e80e3014 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -1,17 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, base16Bytestring, blazeBuilder
-, blazeTextual, cryptohash, hashable, HUnit, postgresqlLibpq
-, scientific, text, time, transformers, uuid, vector
+, blazeTextual, caseInsensitive, cryptohash, hashable, HUnit
+, postgresqlLibpq, scientific, text, time, transformers, uuid
+, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "postgresql-simple";
-  version = "0.4.4.0";
-  sha256 = "1rx0rcafiicdv4qbf68dbsfqwiayrl7205dm0c5bdjlvszv576r7";
+  version = "0.4.8.0";
+  sha256 = "09mflczxjm7a8nixi4a989nq1ijhpikl4j9kqvzcpmfgb8sx38nm";
   buildDepends = [
-    aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq
-    scientific text time transformers uuid vector
+    aeson attoparsec blazeBuilder blazeTextual caseInsensitive hashable
+    postgresqlLibpq scientific text time transformers uuid vector
   ];
   testDepends = [
     aeson base16Bytestring cryptohash HUnit text time vector
diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix
deleted file mode 100644
index 4bbd60e0ebe..00000000000
--- a/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, parsec, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "preprocessor-tools";
-  version = "0.1.3";
-  sha256 = "0jz85v93zpv6cwvad18wr12nsikmv4n20gn37zli2h34zi543i9v";
-  buildDepends = [ mtl parsec syb ];
-  meta = {
-    homepage = "http://www.ccs.neu.edu/~tov/pubs/haskell-session-types";
-    description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix b/pkgs/development/libraries/haskell/preprocessor-tools/default.nix
index 021becccfa1..021becccfa1 100644
--- a/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix
+++ b/pkgs/development/libraries/haskell/preprocessor-tools/default.nix
diff --git a/pkgs/development/libraries/haskell/presburger/default.nix b/pkgs/development/libraries/haskell/presburger/default.nix
index fed380b9bd0..a8efaf7554e 100644
--- a/pkgs/development/libraries/haskell/presburger/default.nix
+++ b/pkgs/development/libraries/haskell/presburger/default.nix
@@ -1,11 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal }:
+{ cabal, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "presburger";
-  version = "1.1";
-  sha256 = "0pb0rabhhzrrrsr8260lgjpp168pm8ldqwfqbc2i1wy95n7wxk7c";
+  version = "1.2";
+  sha256 = "1kx51ydpjg5dv762p85qh9w76qm038rw9pgfnd0az1vms97r1kpm";
+  testDepends = [ QuickCheck ];
   meta = {
     homepage = "http://github.com/yav/presburger";
     description = "A decision procedure for quantifier-free linear arithmetic";
diff --git a/pkgs/development/libraries/haskell/present/default.nix b/pkgs/development/libraries/haskell/present/default.nix
new file mode 100644
index 00000000000..ee63eccf005
--- /dev/null
+++ b/pkgs/development/libraries/haskell/present/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoLisp, dataDefault, mtl, semigroups, text }:
+
+cabal.mkDerivation (self: {
+  pname = "present";
+  version = "2.2";
+  sha256 = "1z9zvmszda7h1h4inq4b6ig9bd205mskqq85ns3rzsffxaj471p4";
+  buildDepends = [ aeson attoLisp dataDefault mtl semigroups text ];
+  meta = {
+    description = "Make presentations for data types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix b/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix
deleted file mode 100644
index d9bbd51c199..00000000000
--- a/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "primitive";
-  version = "0.5.2.1";
-  sha256 = "1vn3y5gh4lwvgvklhn8k1z7gxjy27ik621f4gpa9cb7gqa0nnl8f";
-  meta = {
-    homepage = "https://github.com/haskell/primitive";
-    description = "Primitive memory-related operations";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
index 46d7fbbdcfb..4f6d728122c 100644
--- a/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
@@ -11,5 +11,6 @@ cabal.mkDerivation (self: {
     description = "Primitive memory-related operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.4.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.4.0.nix
new file mode 100644
index 00000000000..08b081d227c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/primitive/0.5.4.0.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "primitive";
+  version = "0.5.4.0";
+  sha256 = "05gdgj383xdrdkhxh26imlvs8ji0z28ny38ms9snpvv5i8l2lg10";
+  meta = {
+    homepage = "https://github.com/haskell/primitive";
+    description = "Primitive memory-related operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/product-profunctors/default.nix b/pkgs/development/libraries/haskell/product-profunctors/default.nix
new file mode 100644
index 00000000000..444baa76a1a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/product-profunctors/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, contravariant, profunctors }:
+
+cabal.mkDerivation (self: {
+  pname = "product-profunctors";
+  version = "0.6";
+  sha256 = "1qhl2v0shzip5yh7x7b6k7xsnd4d5spf1f69h0qr0l57lm6jywl4";
+  buildDepends = [ contravariant profunctors ];
+  testDepends = [ profunctors ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/tomjaguarpaw/product-profunctors";
+    description = "product-profunctors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix
index 00d339fa44e..b1336cd59da 100644
--- a/pkgs/development/libraries/haskell/profunctors/default.nix
+++ b/pkgs/development/libraries/haskell/profunctors/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "profunctors";
-  version = "4.2.0.1";
-  sha256 = "00cfria3zjijx9nm533a25x240c7q0sn9vna6m4y4rz1f7l2gnqc";
+  version = "4.3.2";
+  sha256 = "06dv9bjz2hsm32kzfqqm6z54197dfjm3wycnbbgl9pib711w484v";
   buildDepends = [
     comonad distributive semigroupoids tagged transformers
   ];
diff --git a/pkgs/development/libraries/haskell/project-template/default.nix b/pkgs/development/libraries/haskell/project-template/default.nix
index 9aa8dff59aa..8cb7dfd32ae 100644
--- a/pkgs/development/libraries/haskell/project-template/default.nix
+++ b/pkgs/development/libraries/haskell/project-template/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "project-template";
-  version = "0.1.4.1";
-  sha256 = "1vsx8a4kzdcwbdy47hb2wz32najsa6bqq6jkyal9nbc5ydwb65lb";
+  version = "0.1.4.2";
+  sha256 = "10n23s6g7fv0l42hsb804z0qqcyxqw32kwzg1f0w3c6gka844akr";
   buildDepends = [
     base64Bytestring conduit conduitExtra mtl resourcet systemFileio
     systemFilepath text transformers
diff --git a/pkgs/development/libraries/haskell/protobuf/default.nix b/pkgs/development/libraries/haskell/protobuf/default.nix
index be437c7410d..3b0c1508ce0 100644
--- a/pkgs/development/libraries/haskell/protobuf/default.nix
+++ b/pkgs/development/libraries/haskell/protobuf/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "protobuf";
-  version = "0.2.0.3";
-  sha256 = "0jcrnym0j8w4vjrdmvn88x8ddp8wf809wviy1vkz94p2nyp6l2hw";
+  version = "0.2.0.4";
+  sha256 = "0gg678cb1psgdsjzv9x7mhcjmywj8bgzmp9pd850d3p9zyiw9l2j";
   buildDepends = [
     cereal dataBinaryIeee754 deepseq mtl text unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
index 3b030735bbb..e7df6ac2075 100644
--- a/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
+++ b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
@@ -4,14 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "protocol-buffers-descriptor";
-  version = "2.0.14";
-  sha256 = "0xbpmm9a4fg42c9zbarawqdl4klfjjc233ilbsibb7asa3v7zmj3";
+  version = "2.0.17";
+  sha256 = "0jl041645d83iqqiw891d2k760jql6djvi2mmjh9lnmp48lwjy3p";
   buildDepends = [ protocolBuffers ];
   meta = {
     homepage = "http://code.haskell.org/protocol-buffers/";
     description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/protocol-buffers/default.nix b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
index a2cb0efcf74..d3d81a14658 100644
--- a/pkgs/development/libraries/haskell/protocol-buffers/default.nix
+++ b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
@@ -1,18 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, binary, filepath, mtl, syb, utf8String }:
+{ cabal, binary, filepath, mtl, parsec, syb, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "protocol-buffers";
-  version = "2.0.14";
-  sha256 = "1wihnpvc7kjq345a6v702s42gmrqd9cjm50safc7kigyvhr5vm1i";
-  buildDepends = [ binary filepath mtl syb utf8String ];
+  version = "2.0.17";
+  sha256 = "12aky44ssgdj6vsjg0yvr8350cym7n6kn7gdaax0nxzpfxrjfy1v";
+  buildDepends = [ binary filepath mtl parsec syb utf8String ];
   meta = {
     homepage = "http://code.haskell.org/protocol-buffers/";
     description = "Parse Google Protocol Buffer specifications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/psqueues/default.nix b/pkgs/development/libraries/haskell/psqueues/default.nix
new file mode 100644
index 00000000000..aea7f2f0950
--- /dev/null
+++ b/pkgs/development/libraries/haskell/psqueues/default.nix
@@ -0,0 +1,20 @@
+{ cabal, deepseq, hashable, HUnit, QuickCheck, tagged
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "psqueues";
+  version = "0.1.1.0";
+  sha256 = "1w6i6cl9wfblbg8d06lffh4l5y42li9a27myyvwnzfv86z49s9cb";
+  buildDepends = [ deepseq hashable ];
+  testDepends = [
+    deepseq hashable HUnit QuickCheck tagged testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  meta = {
+    description = "Pure priority search queues";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/pure-cdb/default.nix b/pkgs/development/libraries/haskell/pure-cdb/default.nix
index 871825db121..b173a619cfd 100644
--- a/pkgs/development/libraries/haskell/pure-cdb/default.nix
+++ b/pkgs/development/libraries/haskell/pure-cdb/default.nix
@@ -4,11 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "pure-cdb";
-  version = "0.1";
-  sha256 = "0fxfhd73h5frnjpk617lspwf17wldsrd5a5cxar5y3a8wi0i4b8c";
+  version = "0.1.1";
+  sha256 = "1yjh7h02hkhx2vgvn7qfmfd3bp12ibpkf4znybsd2bfh0i1pzn0n";
   buildDepends = [ binary mtl vector ];
   testDepends = [ mtl testSimple Unixutils vector ];
-  doCheck = false;
   meta = {
     homepage = "https://github.com/bosu/pure-cdb";
     description = "Another pure-haskell CDB (Constant Database) implementation";
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index c5087a692f9..fd6fe516de7 100644
--- a/pkgs/development/libraries/haskell/purescript/default.nix
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -1,27 +1,28 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cmdtheline, filepath, haskeline, monadUnify, mtl, parsec
-, patternArrows, time, transformers, unorderedContainers
-, utf8String, xdgBasedir
+{ cabal, fileEmbed, filepath, haskeline, monadUnify, mtl, nodejs
+, optparseApplicative, parsec, patternArrows, time, transformers
+, unorderedContainers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "purescript";
-  version = "0.5.4.1";
-  sha256 = "1d2i2sspr1dbzjznk70flvnik0b2m226a3z0rkqwrjjbl92bhgwb";
+  version = "0.6.3";
+  sha256 = "0hd6aslsfw2jd06wyfzi1kr86vfj91ywvgl9rv9cyawzczk7l7v4";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cmdtheline filepath haskeline monadUnify mtl parsec patternArrows
-    time transformers unorderedContainers utf8String xdgBasedir
+    fileEmbed filepath haskeline monadUnify mtl optparseApplicative
+    parsec patternArrows time transformers unorderedContainers
+    utf8String
+  ];
+  testDepends = [
+    filepath mtl nodejs parsec transformers utf8String
   ];
-  testDepends = [ filepath mtl parsec transformers utf8String ];
-  doCheck = false;
   meta = {
     homepage = "http://www.purescript.org/";
     description = "PureScript Programming Language Compiler";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pwstore-fast/default.nix b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
index 08f18e8fe11..cca1e04bd4e 100644
--- a/pkgs/development/libraries/haskell/pwstore-fast/default.nix
+++ b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
@@ -1,12 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, base64Bytestring, binary, cryptohash, random, SHA }:
+{ cabal, base64Bytestring, binary, byteable, cryptohash, random }:
 
 cabal.mkDerivation (self: {
   pname = "pwstore-fast";
-  version = "2.4.1";
-  sha256 = "1k98b1s2ld0jx8fy53k8d8pscp6n0plh51b2lj6ai6w8xj4vknw4";
-  buildDepends = [ base64Bytestring binary cryptohash random SHA ];
+  version = "2.4.4";
+  sha256 = "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj";
+  buildDepends = [
+    base64Bytestring binary byteable cryptohash random
+  ];
   meta = {
     homepage = "https://github.com/PeterScott/pwstore";
     description = "Secure password storage";
diff --git a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
index 5aa1314f8e7..11bcb7aab6d 100644
--- a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
+++ b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "quickcheck-instances";
-  version = "0.3.8";
-  sha256 = "0132a37zi1haz1aaggxa1hr421bcmxlbaa4m2l53m2rmr4z5mgkg";
+  version = "0.3.9";
+  sha256 = "1a0mbd1kga4qnamp80x2g4avjwcy8z0zrriqxdhb1525wyyb0656";
   buildDepends = [
     hashable QuickCheck text time unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/quickcheck-unicode/default.nix b/pkgs/development/libraries/haskell/quickcheck-unicode/default.nix
new file mode 100644
index 00000000000..edc2924f09b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/quickcheck-unicode/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "quickcheck-unicode";
+  version = "1.0.0.0";
+  sha256 = "0yp7d2hwvipw2sdjf4sm45v3iiijc1yi4qk21kq12fi6x6xxwcxq";
+  buildDepends = [ QuickCheck ];
+  meta = {
+    homepage = "https://github.com/bos/quickcheck-unicode";
+    description = "Generator and shrink functions for testing Unicode-related software";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix
index 4cdbed03762..73506a3ba75 100644
--- a/pkgs/development/libraries/haskell/random-fu/default.nix
+++ b/pkgs/development/libraries/haskell/random-fu/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, erf, mathFunctions, monadLoops, mtl, randomShuffle
-, randomSource, rvar, syb, transformers, vector
+{ cabal, erf, logfloat, mathFunctions, monadLoops, mtl
+, randomShuffle, randomSource, rvar, syb, transformers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "random-fu";
-  version = "0.2.6.0";
-  sha256 = "1mi1hr3hxlnyjf01hgn7xinr1m0rax26759zbkhf5xn04ps0g01p";
+  version = "0.2.6.1";
+  sha256 = "04fi92szpjyg0ffgxfayz00vpiqi67hzyahhin12wvw3pxbyyp9g";
   buildDepends = [
-    erf mathFunctions monadLoops mtl randomShuffle randomSource rvar
-    syb transformers vector
+    erf logfloat mathFunctions monadLoops mtl randomShuffle
+    randomSource rvar syb transformers vector
   ];
   meta = {
     homepage = "https://github.com/mokus0/random-fu";
diff --git a/pkgs/development/libraries/haskell/random/1.0.1.3.nix b/pkgs/development/libraries/haskell/random/1.0.1.3.nix
index 26763deb10a..3939c439248 100644
--- a/pkgs/development/libraries/haskell/random/1.0.1.3.nix
+++ b/pkgs/development/libraries/haskell/random/1.0.1.3.nix
@@ -11,5 +11,6 @@ cabal.mkDerivation (self: {
     description = "random number library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/random/1.1.nix b/pkgs/development/libraries/haskell/random/1.1.nix
new file mode 100644
index 00000000000..5ff11eeefda
--- /dev/null
+++ b/pkgs/development/libraries/haskell/random/1.1.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, time }:
+
+cabal.mkDerivation (self: {
+  pname = "random";
+  version = "1.1";
+  sha256 = "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p";
+  buildDepends = [ time ];
+  meta = {
+    description = "random number library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rawStringsQq/default.nix b/pkgs/development/libraries/haskell/rawStringsQq/default.nix
new file mode 100644
index 00000000000..ca5c2248958
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rawStringsQq/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "raw-strings-qq";
+  version = "1.0.2";
+  sha256 = "0wnifa97am2s9bqixlidw3nf8w14h2qkg3sn1rxzgvc3fws57jg9";
+  meta = {
+    homepage = "https://github.com/23Skidoo/raw-strings-qq";
+    description = "Raw string literals for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
index b9e61e32edd..2bff24cd3ab 100644
--- a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
@@ -10,6 +10,7 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ cabalMacosx reactiveBanana wx wxcore ];
   configureFlags = "-f-buildExamples";
+  jailbreak = true;
   meta = {
     homepage = "http://haskell.org/haskellwiki/Reactive-banana";
     description = "Examples for the reactive-banana library, using wxHaskell";
diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix
index dd92b7e79de..00fe58be4b1 100644
--- a/pkgs/development/libraries/haskell/recaptcha/default.nix
+++ b/pkgs/development/libraries/haskell/recaptcha/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HTTP, network, xhtml }:
+{ cabal, HTTP, network, networkUri, xhtml }:
 
 cabal.mkDerivation (self: {
   pname = "recaptcha";
-  version = "0.1.0.2";
-  sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih";
-  buildDepends = [ HTTP network xhtml ];
+  version = "0.1.0.3";
+  sha256 = "18rqsqzni11nr2cvs7ah9k87w493d92c0gmc0n6fhfq6gay9ia19";
+  buildDepends = [ HTTP network networkUri xhtml ];
   meta = {
     homepage = "http://github.com/jgm/recaptcha/tree/master";
     description = "Functions for using the reCAPTCHA service in web applications";
diff --git a/pkgs/development/libraries/haskell/reducers/default.nix b/pkgs/development/libraries/haskell/reducers/default.nix
index bfa8a063b8e..5cf9535e1b2 100644
--- a/pkgs/development/libraries/haskell/reducers/default.nix
+++ b/pkgs/development/libraries/haskell/reducers/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reducers";
-  version = "3.10.2.1";
-  sha256 = "1wn6q6cw9is1gan9y5n3fzjkhmpjpria4p13zp4kqxmj881067vy";
+  version = "3.10.3";
+  sha256 = "0hi77mgc2f38y0xfykn7x6gdl6xg710skpx4z76s8c0wwnd28pr6";
   buildDepends = [
     comonad fingertree hashable keys pointed semigroupoids semigroups
     text transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
deleted file mode 100644
index b5b7068da01..00000000000
--- a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-base";
-  version = "0.72.0.2";
-  sha256 = "38a4901b942fea646a422d52c52ef14eec4d6561c258b3c54cd96a8a354141ee";
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
deleted file mode 100644
index 5aa971ac347..00000000000
--- a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-base";
-  version = "0.93.1";
-  sha256 = "24a0e76ab308517a53d2525e18744d9058835626ed4005599ecd8dd4e07f3bef";
-  buildDepends = [ mtl ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix b/pkgs/development/libraries/haskell/regex-base/default.nix
index 2a99cc96c25..2a99cc96c25 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/default.nix
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
deleted file mode 100644
index 306d603a9cb..00000000000
--- a/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase, regexPosix }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-compat";
-  version = "0.71.0.1";
-  sha256 = "904552f7d690686b2602f37494827d09b09fc0a8a2565522b61847bec8d1de8d";
-  buildDepends = [ regexBase regexPosix ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.92.nix b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
deleted file mode 100644
index 91dda463e6d..00000000000
--- a/pkgs/development/libraries/haskell/regex-compat/0.92.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase, regexPosix }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-compat";
-  version = "0.92";
-  sha256 = "430d251bd704071fca1e38c9b250543f00d4e370382ed552ac3d7407d4f27936";
-  buildDepends = [ regexBase regexPosix ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
deleted file mode 100644
index 7fddc11a672..00000000000
--- a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase, regexPosix }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-compat";
-  version = "0.93.1";
-  sha256 = "1zlsx7a2iz5gmgrwzr6w5fz6s4ayab5bm71xlq28r3iph3vp80zf";
-  buildDepends = [ regexBase regexPosix ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix b/pkgs/development/libraries/haskell/regex-compat/default.nix
index 83dffb381fc..83dffb381fc 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/default.nix
diff --git a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
new file mode 100644
index 00000000000..f5ddf2a6388
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, regexBase }:
+
+cabal.mkDerivation (self: {
+  pname = "regex-pcre-builtin";
+  version = "0.94.4.8.8.35";
+  sha256 = "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b";
+  buildDepends = [ regexBase ];
+  meta = {
+    homepage = "http://hackage.haskell.org/package/regex-pcre";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
deleted file mode 100644
index 893e3667701..00000000000
--- a/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-posix";
-  version = "0.72.0.3";
-  sha256 = "327ab87f3d4f5315a9414331eb382b8b997de8836d577c3f7d232c574606feb1";
-  buildDepends = [ regexBase ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
deleted file mode 100644
index ec4bdaab431..00000000000
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-posix";
-  version = "0.94.1";
-  sha256 = "63e76de0610d35f1b576ae65a25a38e04e758ed64b9b3512de95bdffd649485c";
-  buildDepends = [ regexBase ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
deleted file mode 100644
index 20f2dd71414..00000000000
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-posix";
-  version = "0.94.2";
-  sha256 = "ea0c1ed0ab49ade4dba1eea7a42197652ccb18b7a98c4040e37ba11d26f33067";
-  buildDepends = [ regexBase ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
deleted file mode 100644
index 49923bf2d6c..00000000000
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-posix";
-  version = "0.94.4";
-  sha256 = "1ykirysvz9ganm2k7fmrppklsgh0h35mjfsi9g1icv43pqpr6ldw";
-  buildDepends = [ regexBase ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
deleted file mode 100644
index 0bcc6d26052..00000000000
--- a/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, regexBase }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-posix";
-  version = "0.95.1";
-  sha256 = "02pgxwbgz738kpdmsg18xs6kmq6my5hqd9cl4rm7cg2v39di9vbl";
-  buildDepends = [ regexBase ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix b/pkgs/development/libraries/haskell/regex-posix/default.nix
index 292edc23563..292edc23563 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/default.nix
diff --git a/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
index 35a3f32847e..4b4fe43102a 100644
--- a/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
+++ b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Generic generation of HXT XmlPickler instances using Regular";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rematch/default.nix b/pkgs/development/libraries/haskell/rematch/default.nix
new file mode 100644
index 00000000000..0ef47cde904
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rematch/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hspec, HUnit }:
+
+cabal.mkDerivation (self: {
+  pname = "rematch";
+  version = "0.2.0.0";
+  sha256 = "0law4al9hzn9qljfm8rwgmb15pzpcs8i44v1l6279977q0lxx5pr";
+  testDepends = [ hspec HUnit ];
+  doCheck = false;
+  meta = {
+    description = "A simple api for matchers";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix
index bbd6f1b782e..76492381c7a 100644
--- a/pkgs/development/libraries/haskell/resource-pool/default.nix
+++ b/pkgs/development/libraries/haskell/resource-pool/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resource-pool";
-  version = "0.2.3.0";
-  sha256 = "15igbvnqs6ig1k30l3jngyi60ay7k15mwgza5smv8zbpx86vb1mh";
+  version = "0.2.3.2";
+  sha256 = "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6";
   buildDepends = [
     hashable monadControl stm time transformers transformersBase vector
   ];
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index 81a7c9d28a2..2ee001b4225 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resourcet";
-  version = "1.1.2.3";
-  sha256 = "1n1z1q3k8lg3wqdkrmcfl9mvlx1p81gkh5j911w1006rnm8r87im";
+  version = "1.1.3.3";
+  sha256 = "0ih5p1k0n3ylcv0yk5x7hjzbzhs67vxmng708g9vz7a24xs2m7w2";
   buildDepends = [
     exceptions liftedBase mmorph monadControl mtl transformers
     transformersBase
diff --git a/pkgs/development/libraries/haskell/rest-client/default.nix b/pkgs/development/libraries/haskell/rest-client/default.nix
index 0712742717b..a1a1ce6287b 100644
--- a/pkgs/development/libraries/haskell/rest-client/default.nix
+++ b/pkgs/development/libraries/haskell/rest-client/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-client";
-  version = "0.4";
-  sha256 = "18mvmp4c5zznph8q5ash6224wig5kwvb6v19dkn39n4l72cdq7wm";
+  version = "0.4.0.5";
+  sha256 = "11rsy9an7ck94ijafqd2ddichz0xgb01w2ybyg3iiwy5ckiy384s";
   buildDepends = [
     aesonUtils caseInsensitive dataDefault exceptionTransformers
     httpConduit httpTypes hxt hxtPickleUtils monadControl mtl primitive
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "Utility library for use in generated API client libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
index 53c3ede3ec1..1c4affbafdc 100644
--- a/pkgs/development/libraries/haskell/rest-core/default.nix
+++ b/pkgs/development/libraries/haskell/rest-core/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-core";
-  version = "0.32";
-  sha256 = "130kz1gsrbamw8gs4vc0fqfjh1gi7i52xxmj4fg1vl2dr77gf6my";
+  version = "0.34.0.3";
+  sha256 = "0jcbnzw0hxq1f7f0frsji3ybdlapmps8dv19ni6rq0bvmiip2i19";
   buildDepends = [
     aeson aesonUtils either errors fclabels hxt hxtPickleUtils
     jsonSchema mtl multipart random restStringmap restTypes safe split
@@ -18,10 +18,10 @@ cabal.mkDerivation (self: {
   testDepends = [
     HUnit mtl testFramework testFrameworkHunit unorderedContainers
   ];
-  jailbreak = true;
   meta = {
     description = "Rest API library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
index 012f6db8bf2..f97d701fba1 100644
--- a/pkgs/development/libraries/haskell/rest-gen/default.nix
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -2,28 +2,30 @@
 
 { cabal, aeson, blazeHtml, Cabal, codeBuilder, fclabels, filepath
 , hashable, haskellSrcExts, hslogger, HStringTemplate, HUnit, hxt
-, jsonSchema, restCore, safe, scientific, split, tagged
+, jsonSchema, restCore, safe, scientific, semigroups, split, tagged
 , testFramework, testFrameworkHunit, text, uniplate
 , unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "rest-gen";
-  version = "0.14.2.1";
-  sha256 = "1dvcs25ndmzwdann5yq4567zjirirzskf9v31gkrki0im8mi9x14";
+  version = "0.16.1.3";
+  sha256 = "1nh3rjnn36v13ikvvxc7xahrj3gsswhiq2w54xclrxjl2fzsqz3a";
   buildDepends = [
     aeson blazeHtml Cabal codeBuilder fclabels filepath hashable
     haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore
-    safe scientific split tagged text uniplate unorderedContainers
-    vector
+    safe scientific semigroups split tagged text uniplate
+    unorderedContainers vector
   ];
   testDepends = [
-    haskellSrcExts HUnit restCore testFramework testFrameworkHunit
+    fclabels haskellSrcExts HUnit restCore testFramework
+    testFrameworkHunit
   ];
   jailbreak = true;
   meta = {
     description = "Documentation and client generation from rest definition";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix
index 4c79bc58c06..0cb090524e8 100644
--- a/pkgs/development/libraries/haskell/rest-happstack/default.nix
+++ b/pkgs/development/libraries/haskell/rest-happstack/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-happstack";
-  version = "0.2.10.1";
-  sha256 = "0p4km3l8n50flj9cnxvjl34pp3msxz2yq4d91r318di8pacrgnxc";
+  version = "0.2.10.6";
+  sha256 = "0b21wg4nj24yqh6akyaaw7dxmkdvvb7d9l0d32mz3hx4m2jq9ay5";
   buildDepends = [ happstackServer mtl restCore restGen utf8String ];
   meta = {
     description = "Rest driver for Happstack";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-snap/default.nix b/pkgs/development/libraries/haskell/rest-snap/default.nix
index 8e9bc69eb01..ac584ae4844 100644
--- a/pkgs/development/libraries/haskell/rest-snap/default.nix
+++ b/pkgs/development/libraries/haskell/rest-snap/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-snap";
-  version = "0.1.17.13";
-  sha256 = "13c143dzxhfrshn19ylqfmhnxjirixfif8d1fmzagz1v893narkz";
+  version = "0.1.17.16";
+  sha256 = "02dh2wjhaabg2aabsf7gl5w65kqpb3jigawwh9n2dr4hz6jhvwia";
   buildDepends = [
     caseInsensitive restCore safe snapCore unorderedContainers
     uriEncode utf8String
@@ -16,5 +16,7 @@ cabal.mkDerivation (self: {
     description = "Rest driver for Snap";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
+
diff --git a/pkgs/development/libraries/haskell/rest-stringmap/default.nix b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
index c1f0c13cbc2..9c1e98c0655 100644
--- a/pkgs/development/libraries/haskell/rest-stringmap/default.nix
+++ b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     description = "Maps with stringy keys that can be transcoded to JSON and XML";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix
index 41b8044b593..9a4caac1ad2 100644
--- a/pkgs/development/libraries/haskell/rest-types/default.nix
+++ b/pkgs/development/libraries/haskell/rest-types/default.nix
@@ -6,16 +6,16 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-types";
-  version = "1.10.2";
-  sha256 = "1j8fpv4xdhbf1awy0v9zn9a3sjwl42l6472wczp3wwwcpsi65d9q";
+  version = "1.12";
+  sha256 = "0is0kzpr7w1bfw32ybkqwj8g4fyx5ii983hbrqas9gbrkgc0hxv6";
   buildDepends = [
     aeson genericAeson hxt jsonSchema mtl regular regularXmlpickler
     restStringmap text uuid
   ];
-  jailbreak = true;
   meta = {
     description = "Silk Rest Framework Types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-wai/default.nix b/pkgs/development/libraries/haskell/rest-wai/default.nix
index d23d81da33d..761519a99e2 100644
--- a/pkgs/development/libraries/haskell/rest-wai/default.nix
+++ b/pkgs/development/libraries/haskell/rest-wai/default.nix
@@ -1,20 +1,22 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, caseInsensitive, httpTypes, mimeTypes, mtl, restCore
-, restTypes, text, unorderedContainers, utf8String, wai
+{ cabal, caseInsensitive, httpTypes, mimeTypes, mtl, restCore, text
+, unorderedContainers, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "rest-wai";
-  version = "0.1.0.3";
-  sha256 = "08pprgn9xnd3ipr6clify3snm4ahshlws869mfvziplc4hdcnb59";
+  version = "0.1.0.6";
+  sha256 = "1pawc1msv8vc43jzq4ynirwv6k7l7bfrh8r6q8m2vk1rnl6zsbxz";
   buildDepends = [
-    caseInsensitive httpTypes mimeTypes mtl restCore restTypes text
-    unorderedContainers utf8String wai
+    caseInsensitive httpTypes mimeTypes mtl restCore text
+    unorderedContainers wai
   ];
   meta = {
     description = "Rest driver for WAI applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
+
diff --git a/pkgs/development/libraries/haskell/rethinkdb/default.nix b/pkgs/development/libraries/haskell/rethinkdb/default.nix
index affe39729f3..bcf4272ad7a 100644
--- a/pkgs/development/libraries/haskell/rethinkdb/default.nix
+++ b/pkgs/development/libraries/haskell/rethinkdb/default.nix
@@ -1,24 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, dataDefault, mtl, network
-, protocolBuffers, protocolBuffersDescriptor, text, time
-, unorderedContainers, utf8String, vector
+{ cabal, aeson, base64Bytestring, binary, dataDefault, doctest, mtl
+, network, scientific, text, time, unorderedContainers, utf8String
+, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "rethinkdb";
-  version = "1.8.0.5";
-  sha256 = "1s3mzbs0b2jdvs1gfdxb2fp2lw7978ja63411iz43yjd29d3pwzq";
+  version = "1.15.2.1";
+  sha256 = "017fq9mhqdw78hrnjm9n0nipi182361bxh1qzjpb8djc8azx49b5";
   buildDepends = [
-    aeson attoparsec dataDefault mtl network protocolBuffers
-    protocolBuffersDescriptor text time unorderedContainers utf8String
-    vector
+    aeson base64Bytestring binary dataDefault mtl network scientific
+    text time unorderedContainers utf8String vector
   ];
+  testDepends = [ doctest ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "http://github.com/atnnn/haskell-rethinkdb";
-    description = "RethinkDB driver for Haskell";
+    description = "A driver for RethinkDB 1.15";
     license = self.stdenv.lib.licenses.asl20;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix
index 9a0a994cf77..0df453d10bb 100644
--- a/pkgs/development/libraries/haskell/retry/default.nix
+++ b/pkgs/development/libraries/haskell/retry/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "retry";
-  version = "0.5";
-  sha256 = "1qp949w8pisgki06j5qgaxw1761q3gfccc7bqnhqpchazl4p6p6n";
+  version = "0.5.1";
+  sha256 = "1k5qv7c960dayhddvra1gpy1zv90rdjcrzpg8nzar9bpcxapczvj";
   buildDepends = [ dataDefaultClass exceptions transformers ];
   testDepends = [
     dataDefaultClass exceptions hspec HUnit QuickCheck time
diff --git a/pkgs/development/libraries/haskell/reverse-apply/default.nix b/pkgs/development/libraries/haskell/reverse-apply/default.nix
new file mode 100644
index 00000000000..8f39027b251
--- /dev/null
+++ b/pkgs/development/libraries/haskell/reverse-apply/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "reverse-apply";
+  version = "2.0.1";
+  sha256 = "0iw1j2xr5dy29a1bwcg7fqk3lv72izr0nhj31rn45w53py1367nb";
+  meta = {
+    description = "Standard version of the reverse apply operator";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/robots-txt/default.nix b/pkgs/development/libraries/haskell/robots-txt/default.nix
index c6534ff0cf4..0ebf6dac301 100644
--- a/pkgs/development/libraries/haskell/robots-txt/default.nix
+++ b/pkgs/development/libraries/haskell/robots-txt/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "robots-txt";
-  version = "0.4.1.0";
-  sha256 = "1q18pgilrwppmd8d7pby3p6qgk47alzmd8izqspk7n4h4agrscn4";
+  version = "0.4.1.1";
+  sha256 = "16r6j96iay1r6435ym34dp9iggwlfigmzmqq5k5f5ss5bljfc72f";
   buildDepends = [ attoparsec time ];
   testDepends = [ attoparsec heredoc hspec QuickCheck transformers ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/rope/default.nix b/pkgs/development/libraries/haskell/rope/default.nix
new file mode 100644
index 00000000000..3c751d5eddd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rope/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fingertree, mtl, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "rope";
+  version = "0.6.4";
+  sha256 = "1g77bv2mmfhy2mkb08k92m3f2jab6p2la2s7rfib2r1jy6lq5vhb";
+  buildDepends = [ fingertree mtl utf8String ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://github.com/ekmett/rope";
+    description = "Tools for manipulating fingertrees of bytestrings with optional annotations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rvar/default.nix b/pkgs/development/libraries/haskell/rvar/default.nix
index ecb2a2c9db1..0802c8ba3f5 100644
--- a/pkgs/development/libraries/haskell/rvar/default.nix
+++ b/pkgs/development/libraries/haskell/rvar/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rvar";
-  version = "0.2.0.1";
-  sha256 = "17wgd4gc1hn04dck168nkyzn9jyipgbysxsznyzy2z36vafqqqbm";
+  version = "0.2.0.2";
+  sha256 = "1n24fl27mrm7cndp8b646b9c5hjm3hf5m12y9ni0f850dd739jm4";
   buildDepends = [ MonadPrompt mtl randomSource transformers ];
   meta = {
     homepage = "https://github.com/mokus0/random-fu";
diff --git a/pkgs/development/libraries/haskell/saltine/default.nix b/pkgs/development/libraries/haskell/saltine/default.nix
new file mode 100644
index 00000000000..acb4066fb2e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/saltine/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, libsodium, profunctors, QuickCheck, testFramework
+, testFrameworkQuickcheck2, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "saltine";
+  version = "0.0.0.3";
+  sha256 = "1xjpjblxlpziyyz74ldaqh04shvy2qi34sc6b3232wpc0kyl5s8y";
+  buildDepends = [ profunctors ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2 vector
+  ];
+  extraLibraries = [ libsodium ];
+  meta = {
+    description = "Cryptography that's easy to digest (NaCl/libsodium bindings)";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/sbv/default.nix b/pkgs/development/libraries/haskell/sbv/default.nix
index 0a21f13dbc2..492dcd816ed 100644
--- a/pkgs/development/libraries/haskell/sbv/default.nix
+++ b/pkgs/development/libraries/haskell/sbv/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "sbv";
-  version = "3.1";
-  sha256 = "19rn5ynqqjz0zw7gcb0y4clzxxnmq56a2qx369mz283455l86h5j";
+  version = "3.3";
+  sha256 = "193k7njrd7b0qp865ahbjh32h49b86kyc58laifgq6ka2zv64x2f";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix b/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
deleted file mode 100644
index 22bf663334c..00000000000
--- a/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, hashable, QuickCheck, smallcheck, tasty
-, tastyAntXml, tastyHunit, tastyQuickcheck, tastySmallcheck, text
-}:
-
-cabal.mkDerivation (self: {
-  pname = "scientific";
-  version = "0.3.3.0";
-  sha256 = "1kj49ibq53m7cfs9pq396l4fbqnarqzay7a65rmsrzi2vz15parv";
-  buildDepends = [ deepseq hashable text ];
-  testDepends = [
-    QuickCheck smallcheck tasty tastyAntXml tastyHunit tastyQuickcheck
-    tastySmallcheck text
-  ];
-  jailbreak = true;
-  meta = {
-    homepage = "https://github.com/basvandijk/scientific";
-    description = "Numbers represented using scientific notation";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/scientific/0.3.3.3.nix b/pkgs/development/libraries/haskell/scientific/0.3.3.3.nix
new file mode 100644
index 00000000000..10e294b4214
--- /dev/null
+++ b/pkgs/development/libraries/haskell/scientific/0.3.3.3.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, hashable, QuickCheck, smallcheck, tasty
+, tastyAntXml, tastyHunit, tastyQuickcheck, tastySmallcheck, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "scientific";
+  version = "0.3.3.3";
+  sha256 = "1hngkmd1kggc84sz4mddc0yj2vyzc87dz5dkkywjgxczys51mhqn";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [
+    QuickCheck smallcheck tasty tastyAntXml tastyHunit tastyQuickcheck
+    tastySmallcheck text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/basvandijk/scientific";
+    description = "Numbers represented using scientific notation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix
index 91876f7e318..1e184577a66 100644
--- a/pkgs/development/libraries/haskell/scotty/default.nix
+++ b/pkgs/development/libraries/haskell/scotty/default.nix
@@ -1,21 +1,22 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault
-, hspec, httpTypes, liftedBase, monadControl, mtl, regexCompat
+{ cabal, aeson, blazeBuilder, caseInsensitive, dataDefault, hspec2
+, hspecWai, httpTypes, liftedBase, monadControl, mtl, regexCompat
 , text, transformers, transformersBase, wai, waiExtra, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "scotty";
-  version = "0.8.2";
-  sha256 = "07vjdj26380inlyi350mdifm7v1dpbc56041vi2czf5zzhx97qb0";
+  version = "0.9.1";
+  sha256 = "0w07ghnd7l8ibfbl8p74lwn8gxy3z28mp0rlv5crma3yh42irsqm";
   buildDepends = [
-    aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes
+    aeson blazeBuilder caseInsensitive dataDefault httpTypes
     monadControl mtl regexCompat text transformers transformersBase wai
     waiExtra warp
   ];
-  testDepends = [ hspec httpTypes liftedBase wai waiExtra ];
+  testDepends = [ hspec2 hspecWai httpTypes liftedBase text wai ];
   jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "https://github.com/scotty-web/scotty";
     description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp";
diff --git a/pkgs/development/libraries/haskell/sdl2/default.nix b/pkgs/development/libraries/haskell/sdl2/default.nix
new file mode 100644
index 00000000000..29561239d19
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sdl2/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, SDL2, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "sdl2";
+  version = "1.3.0";
+  sha256 = "0fi9kjf12qlp64r2pxwc1k9241s23j6xm0dmwdsc18y8f6acvqxa";
+  buildDepends = [ transformers ];
+  extraLibraries = [ SDL2 ];
+  pkgconfigDepends = [ SDL2 ];
+  meta = {
+    description = "Low-level bindings to SDL2";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/securemem/default.nix b/pkgs/development/libraries/haskell/securemem/default.nix
index fddba193457..c03a92d0fd3 100644
--- a/pkgs/development/libraries/haskell/securemem/default.nix
+++ b/pkgs/development/libraries/haskell/securemem/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "securemem";
-  version = "0.1.3";
-  sha256 = "1kycpk73vh8wwxzn35hmv36vwsc9r4g53f2fy6bn21q9gfm2r90j";
+  version = "0.1.4";
+  sha256 = "1wdbcnyaarrixfvz79mcyqmfnn9h5zsmrrsa64xj8650ppyaxi48";
   buildDepends = [ byteable ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-securemem";
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index ed9fa0bf3fb..8cd94e9079f 100644
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hashable, nats, text, unorderedContainers }:
+{ cabal, deepseq, hashable, nats, text, unorderedContainers }:
 
 cabal.mkDerivation (self: {
   pname = "semigroups";
-  version = "0.15.2";
-  sha256 = "1lh06d0mwivzbfjg635r3m39qcpyjvnwni7mspz96qb3zcm0c5kp";
-  buildDepends = [ hashable nats text unorderedContainers ];
+  version = "0.16";
+  sha256 = "0mq5c6py0z3jaxr1j0aalz4vjd1v6ygffv91h7nh5621rcv4ga4s";
+  buildDepends = [ deepseq hashable nats text unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroups/";
     description = "Anything that associates";
diff --git a/pkgs/development/libraries/haskell/serialport/default.nix b/pkgs/development/libraries/haskell/serialport/default.nix
new file mode 100644
index 00000000000..5e733f82ca1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/serialport/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit }:
+
+cabal.mkDerivation (self: {
+  pname = "serialport";
+  version = "0.4.7";
+  sha256 = "1z2drw7ighyws72wqms015n5hy0zxbrphdca7ldn34pz28122z07";
+  testDepends = [ HUnit ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/jputcu/serialport";
+    description = "Cross platform serial port library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/servant-client/default.nix b/pkgs/development/libraries/haskell/servant-client/default.nix
new file mode 100644
index 00000000000..d11e25222ea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/servant-client/default.nix
@@ -0,0 +1,27 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, deepseq, either, exceptions, hspec
+, httpClient, httpTypes, network, networkUri, QuickCheck, safe
+, servant, servantServer, stringConversions, text, transformers
+, wai, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "servant-client";
+  version = "0.2.1";
+  sha256 = "1mwmca96sld3s6n4hxq3zl9pjw24halwa061awjb23kc49cmp4pn";
+  buildDepends = [
+    aeson attoparsec either exceptions httpClient httpTypes networkUri
+    safe servant stringConversions text transformers
+  ];
+  testDepends = [
+    aeson deepseq either hspec httpTypes network QuickCheck servant
+    servantServer wai warp
+  ];
+  meta = {
+    homepage = "http://haskell-servant.github.io/";
+    description = "automatical derivation of querying functions for servant webservices";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/servant-docs/default.nix b/pkgs/development/libraries/haskell/servant-docs/default.nix
new file mode 100644
index 00000000000..3da6936532c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/servant-docs/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, hashable, lens, servant, stringConversions
+, systemFilepath, text, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "servant-docs";
+  version = "0.2.1";
+  sha256 = "1wchqdpfrc3hxc629ij6rbpr29dzc0flpc7z8phykpmf59106pcv";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson hashable lens servant stringConversions systemFilepath text
+    unorderedContainers
+  ];
+  meta = {
+    homepage = "http://haskell-servant.github.io/";
+    description = "generate API docs for your servant webservice";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/servant-jquery/default.nix b/pkgs/development/libraries/haskell/servant-jquery/default.nix
new file mode 100644
index 00000000000..2a85cb19106
--- /dev/null
+++ b/pkgs/development/libraries/haskell/servant-jquery/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, filepath, lens, servant, servantServer, stm
+, transformers, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "servant-jquery";
+  version = "0.2.1";
+  sha256 = "1wyfnkzb44m08icfjvdbn1m0b0a1ydsznp1czfdnmq2818rrip8v";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson filepath lens servant servantServer stm transformers warp
+  ];
+  meta = {
+    homepage = "http://haskell-servant.github.io/";
+    description = "Automatically derive jquery-based javascript functions to query servant webservices";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/servant-pool/default.nix b/pkgs/development/libraries/haskell/servant-pool/default.nix
deleted file mode 100644
index 692d694ed46..00000000000
--- a/pkgs/development/libraries/haskell/servant-pool/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, resourcePool, servant, time }:
-
-cabal.mkDerivation (self: {
-  pname = "servant-pool";
-  version = "0.1";
-  sha256 = "0if4lxb0fpdd4lnkz9j7z6vhjbrcc80pvz9jb6sdb9p6sbbgqf69";
-  buildDepends = [ resourcePool servant time ];
-  meta = {
-    homepage = "http://github.com/zalora/servant-pool";
-    description = "Utility functions for creating servant 'Context's with \"context/connection pooling\" support";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/servant-postgresql/default.nix b/pkgs/development/libraries/haskell/servant-postgresql/default.nix
deleted file mode 100644
index 154eefea320..00000000000
--- a/pkgs/development/libraries/haskell/servant-postgresql/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, postgresqlSimple, servant, servantPool, servantResponse }:
-
-cabal.mkDerivation (self: {
-  pname = "servant-postgresql";
-  version = "0.1";
-  sha256 = "1svy1v6sl5pq0zs8ms4qf7wn6zar63bqmfiyfqgz84ryli0wxrhj";
-  buildDepends = [
-    postgresqlSimple servant servantPool servantResponse
-  ];
-  meta = {
-    homepage = "http://github.com/zalora/servant-postgresql";
-    description = "Useful functions and instances for using servant with a PostgreSQL context";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/servant-response/default.nix b/pkgs/development/libraries/haskell/servant-response/default.nix
deleted file mode 100644
index 3f7f9c1eee0..00000000000
--- a/pkgs/development/libraries/haskell/servant-response/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, aeson, httpTypes, text }:
-
-cabal.mkDerivation (self: {
-  pname = "servant-response";
-  version = "0.1";
-  sha256 = "0vgzi6nm3f1vjbnvhzcr6v2fh75fsl18wsps54ya0mbmfn2v6chy";
-  buildDepends = [ aeson httpTypes text ];
-  meta = {
-    homepage = "http://github.com/zalora/servant";
-    description = "Machinery to express how servant should turn results of database operations into proper JSON-encodable response types";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/servant-scotty/default.nix b/pkgs/development/libraries/haskell/servant-scotty/default.nix
deleted file mode 100644
index 732b2c95cc7..00000000000
--- a/pkgs/development/libraries/haskell/servant-scotty/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, aeson, httpTypes, scotty, servant, servantResponse, text
-, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "servant-scotty";
-  version = "0.1.1";
-  sha256 = "0d3yc7aa2p1izizqnj81iscj9hbgbkpyav1ncmxzkr48svr6h783";
-  buildDepends = [
-    aeson httpTypes scotty servant servantResponse text transformers
-  ];
-  meta = {
-    homepage = "http://github.com/zalora/servant";
-    description = "Generate a web service for servant 'Resource's using scotty and JSON";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/servant-server/default.nix b/pkgs/development/libraries/haskell/servant-server/default.nix
new file mode 100644
index 00000000000..8c3ce56d412
--- /dev/null
+++ b/pkgs/development/libraries/haskell/servant-server/default.nix
@@ -0,0 +1,31 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, either, exceptions, hspec, hspecWai
+, httpTypes, network, networkUri, parsec, QuickCheck, safe, servant
+, split, stringConversions, systemFilepath, temporary, text
+, transformers, wai, waiAppStatic, waiExtra, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "servant-server";
+  version = "0.2.3";
+  sha256 = "0n4r145jd1g07g0a1mhbc7s61h6cbbvjvhzwngff756iky7fkcb9";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson attoparsec either httpTypes networkUri safe servant split
+    stringConversions systemFilepath text transformers wai waiAppStatic
+    warp
+  ];
+  testDepends = [
+    aeson either exceptions hspec hspecWai httpTypes network parsec
+    QuickCheck servant stringConversions temporary text transformers
+    wai waiExtra warp
+  ];
+  meta = {
+    homepage = "http://haskell-servant.github.io/";
+    description = "A family of combinators for defining webservices APIs and serving them";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/servant/default.nix b/pkgs/development/libraries/haskell/servant/default.nix
index 38f89764c4c..1c206c1ab22 100644
--- a/pkgs/development/libraries/haskell/servant/default.nix
+++ b/pkgs/development/libraries/haskell/servant/default.nix
@@ -1,14 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal }:
+{ cabal, hspec, parsec, QuickCheck, stringConversions, text }:
 
 cabal.mkDerivation (self: {
   pname = "servant";
-  version = "0.1";
-  sha256 = "1bm5223rjgcm8rb3s2mclmfj2df7j059jjh572a5py0rdqzg3yj0";
+  version = "0.2.1";
+  sha256 = "1i7yvxvil65lp1gizh99dn4gj1r7vcqslq1w7sqykj88y9h22p3x";
+  buildDepends = [ parsec stringConversions text ];
+  testDepends = [ hspec parsec QuickCheck stringConversions text ];
   meta = {
-    homepage = "http://github.com/zalora/servant";
-    description = "A library to generate REST-style webservices on top of scotty, handling all the boilerplate for you";
+    homepage = "http://haskell-servant.github.io/";
+    description = "A family of combinators for defining webservices APIs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix
index fcfd2d34d58..a76a2f5cf32 100644
--- a/pkgs/development/libraries/haskell/setlocale/default.nix
+++ b/pkgs/development/libraries/haskell/setlocale/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "setlocale";
-  version = "0.0.3";
-  sha256 = "08pd20ibmslr94p52rn6x9w3swn9jy7vjlvxzw29h8dlqgmvcrjl";
+  version = "1.0.0.1";
+  sha256 = "15dzf4hgkn5saz6qyn1xqvinvy0y571crfxfwycmcmm4az6rsqk0";
+  jailbreak = true;
   meta = {
-    description = "A Haskell interface to setlocale()";
-    license = self.stdenv.lib.licenses.publicDomain;
+    description = "Haskell bindings to setlocale";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index 610c7c22590..3ed0912b0f3 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -1,25 +1,25 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, binary, deepseq, filepath, hashable, QuickCheck, random
-, time, transformers, unorderedContainers, utf8String
+{ gcc, cabal, binary, deepseq, extra, filepath, hashable, jsFlot
+, jsJquery, QuickCheck, random, time, transformers
+, unorderedContainers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.13.2";
-  sha256 = "0ibq0y0dxxahfwgcvamjfhbl5mrqmj7ryzf8bfmqky843fg7dyna";
+  version = "0.14.3";
+  sha256 = "1s5xm205k3pvndn21vd0y9mnggrm91psf64mw445r08xasi658vl";
   isLibrary = true;
   isExecutable = true;
+  buildTools = [ gcc ];
   buildDepends = [
-    binary deepseq filepath hashable random time transformers
-    unorderedContainers utf8String
+    binary deepseq extra filepath hashable jsFlot jsJquery random time
+    transformers unorderedContainers utf8String
   ];
   testDepends = [
-    binary deepseq filepath hashable QuickCheck random time
-    transformers unorderedContainers utf8String
+    binary deepseq extra filepath hashable jsFlot jsJquery QuickCheck
+    random time transformers unorderedContainers utf8String
   ];
   meta = {
-    homepage = "https://github.com/ndmitchell/shake";
+    homepage = "http://www.shakebuild.com/";
     description = "Build system library, like Make, but more accurate dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix
index 251eb07d8aa..5c6b804810d 100644
--- a/pkgs/development/libraries/haskell/shakespeare/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare";
-  version = "2.0.1.1";
-  sha256 = "0xddm8xby19323d9bcd196b1ninlvfkv5b93w1da23m7w0hy509p";
+  version = "2.0.2.1";
+  sha256 = "1s73nlkccfg3wl0qfx6f7q3afiakdhzh5xksnfhsg5hjhx80qhza";
   buildDepends = [
     aeson blazeHtml blazeMarkup exceptions parsec systemFileio
     systemFilepath text time transformers
diff --git a/pkgs/development/libraries/haskell/shell-conduit/default.nix b/pkgs/development/libraries/haskell/shell-conduit/default.nix
new file mode 100644
index 00000000000..a93e38b1b82
--- /dev/null
+++ b/pkgs/development/libraries/haskell/shell-conduit/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, conduit, conduitExtra, controlMonadLoop, filepath
+, monadControl, monadsTf, resourcet, semigroups, split, text
+, transformers, transformersBase
+}:
+
+cabal.mkDerivation (self: {
+  pname = "shell-conduit";
+  version = "4.5";
+  sha256 = "1vgqfba6k0nv8nwa48fv2hkr9xlrrfrdh2awgpllrimnh0yww41g";
+  buildDepends = [
+    async conduit conduitExtra controlMonadLoop filepath monadControl
+    monadsTf resourcet semigroups split text transformers
+    transformersBase
+  ];
+  meta = {
+    homepage = "https://github.com/chrisdone/shell-conduit";
+    description = "Write shell scripts with Conduit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shellmate/default.nix b/pkgs/development/libraries/haskell/shellmate/default.nix
index 6f059a75352..dcc7211f869 100644
--- a/pkgs/development/libraries/haskell/shellmate/default.nix
+++ b/pkgs/development/libraries/haskell/shellmate/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Simple interface for shell scripting in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
deleted file mode 100644
index 2840ba736f5..00000000000
--- a/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, hspec, HUnit, mtl, systemFileio, systemFilepath, text
-, time, unixCompat
-}:
-
-cabal.mkDerivation (self: {
-  pname = "shelly";
-  version = "0.15.4.1";
-  sha256 = "12m11s22izz0ny1syb1ykp2hi9n240myf0nhapvn8jx1fgf5iyck";
-  buildDepends = [
-    mtl systemFileio systemFilepath text time unixCompat
-  ];
-  testDepends = [
-    hspec HUnit mtl systemFileio systemFilepath text time unixCompat
-  ];
-  meta = {
-    homepage = "https://github.com/yesodweb/Shelly.hs";
-    description = "shell-like (systems) programming in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 6deaa209dc8..251cb6a17b5 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "1.5.5";
-  sha256 = "1865f5z5wm2qf3ccws9jy8ps7n8slkmfgn0l2m9apja3q2jajqb1";
+  version = "1.6.0";
+  sha256 = "0yrx7sv1s8pddpap143d3yi3ypvf84jjh16i8b3dm4kb3m4x3mdv";
   buildDepends = [
     async enclosedExceptions exceptions liftedAsync liftedBase
     monadControl mtl systemFileio systemFilepath text time transformers
diff --git a/pkgs/development/libraries/haskell/simple-conduit/default.nix b/pkgs/development/libraries/haskell/simple-conduit/default.nix
index f1ad007c8f9..49e574772f1 100644
--- a/pkgs/development/libraries/haskell/simple-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/simple-conduit/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     primitive semigroups stm streamingCommons text transformers
     transformersBase vector
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/jwiegley/simple-conduit";
     description = "A simple streaming I/O library based on monadic folds";
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index 3e8381bf34b..d291aba9630 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -1,16 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, conduit, conduitExtra, hspec, HUnit, network
-, networkConduit, resourcet
-}:
+{ cabal, conduit, conduitExtra, hspec, HUnit, network, resourcet }:
 
 cabal.mkDerivation (self: {
   pname = "simple-sendfile";
-  version = "0.2.15";
-  sha256 = "1fa20h2zcvxwdb5j5a0nnhl38bry1p5ckya1l7lrxx9r2bvjkyj9";
-  buildDepends = [ network resourcet ];
+  version = "0.2.18";
+  sha256 = "1dc7c4bkcwzfhbm982svi9j6dzxxf0z6pjkdrs23m9bc9g8aly49";
+  buildDepends = [ network ];
   testDepends = [
-    conduit conduitExtra hspec HUnit network networkConduit resourcet
+    conduit conduitExtra hspec HUnit network resourcet
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/sitemap/default.nix b/pkgs/development/libraries/haskell/sitemap/default.nix
new file mode 100644
index 00000000000..1a6b2849476
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sitemap/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lens, taggy, taggyLens, text }:
+
+cabal.mkDerivation (self: {
+  pname = "sitemap";
+  version = "0.1.2";
+  sha256 = "0njb20w6kazsqgw61ykvfx3syqywv9frs7ch9bf2sr0i1d3b61bd";
+  buildDepends = [ lens taggy taggyLens text ];
+  meta = {
+    homepage = "http://github.com/alpmestan/sitemap";
+    description = "Sitemap parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/skein/default.nix b/pkgs/development/libraries/haskell/skein/default.nix
index 5fcd9df4642..c60bf97d54f 100644
--- a/pkgs/development/libraries/haskell/skein/default.nix
+++ b/pkgs/development/libraries/haskell/skein/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "skein";
-  version = "1.0.9";
-  sha256 = "08hy40c0gzlalrpmgcvhc1v51a44idipamjjbh7zzwsvbxmp1cbb";
+  version = "1.0.9.2";
+  sha256 = "1j8bhqm25r9vd4qb4v12g32r0dv6xyhk48cq287wfbzjraayi1gw";
   buildDepends = [ cereal cryptoApi tagged ];
   testDepends = [ cereal cryptoApi filepath hspec tagged ];
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/slack-api/default.nix b/pkgs/development/libraries/haskell/slack-api/default.nix
new file mode 100644
index 00000000000..d0e6b32f572
--- /dev/null
+++ b/pkgs/development/libraries/haskell/slack-api/default.nix
@@ -0,0 +1,19 @@
+{ cabal, aeson, errors, HsOpenSSL, ioStreams, lens, lensAeson
+, monadLoops, mtl, network, opensslStreams, text, time
+, transformers, websockets, wreq
+}:
+
+cabal.mkDerivation (self: {
+  pname = "slack-api";
+  version = "0.2.1";
+  sha256 = "1k6p60gb13g09y6isr1r90zw548vs4y1fz34amfhdx79g9zm30hy";
+  buildDepends = [
+    aeson errors HsOpenSSL ioStreams lens lensAeson monadLoops mtl
+    network opensslStreams text time transformers websockets wreq
+  ];
+  meta = {
+    description = "Bindings to the Slack RTM API";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/smtps-gmail/default.nix b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
index fbab444444b..75cb227cd85 100644
--- a/pkgs/development/libraries/haskell/smtps-gmail/default.nix
+++ b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
@@ -1,16 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, base64Bytestring, cprngAes, dataDefault, filepath
-, mimeMail, network, stringsearch, text, tls
+{ cabal, attoparsec, base64Bytestring, conduit, conduitExtra
+, cprngAes, dataDefault, filepath, mimeMail, network, resourcet
+, stringsearch, text, tls, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "smtps-gmail";
-  version = "1.2.1";
-  sha256 = "04sancbfbbszajgb1jp613qp43qxvzz9b14c0v3sgfva7fdhaw9q";
+  version = "1.3.0";
+  sha256 = "0vbykxqrw0gdhxwgchvgvkxwh7pwyrc1wvl26x5wqlkmkalmkvv9";
   buildDepends = [
-    base64Bytestring cprngAes dataDefault filepath mimeMail network
-    stringsearch text tls
+    attoparsec base64Bytestring conduit conduitExtra cprngAes
+    dataDefault filepath mimeMail network resourcet stringsearch text
+    tls transformers
   ];
   meta = {
     homepage = "https://github.com/enzoh/smtps-gmail";
diff --git a/pkgs/development/libraries/haskell/snap-cors/default.nix b/pkgs/development/libraries/haskell/snap-cors/default.nix
index f62b484328c..f9d043dff80 100644
--- a/pkgs/development/libraries/haskell/snap-cors/default.nix
+++ b/pkgs/development/libraries/haskell/snap-cors/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, caseInsensitive, hashable, network, snap, text
-, transformers, unorderedContainers
+{ cabal, attoparsec, caseInsensitive, hashable, network, networkUri
+, snap, text, transformers, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "snap-cors";
-  version = "1.2.5";
-  sha256 = "1zjvvi1prskkb26yp51j09gfkhpw0ggj69d89098yq0sl6d0vy1c";
+  version = "1.2.6";
+  sha256 = "1ihqqpzymgc25shz4dvjfh8lzjczqdqg6ril39d5p7rkn4a8y2d8";
   buildDepends = [
-    attoparsec caseInsensitive hashable network snap text transformers
-    unorderedContainers
+    attoparsec caseInsensitive hashable network networkUri snap text
+    transformers unorderedContainers
   ];
   meta = {
     homepage = "http://github.com/ocharles/snap-cors";
diff --git a/pkgs/development/libraries/haskell/snap-error-collector/default.nix b/pkgs/development/libraries/haskell/snap-error-collector/default.nix
new file mode 100644
index 00000000000..b9b6376394a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snap-error-collector/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, MonadCatchIOTransformers, monadLoops, snap, stm
+, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "snap-error-collector";
+  version = "1.1.0";
+  sha256 = "06pqlv93qgibl5gbrp7p1vg6x421nrpkvhazbrcipdpbawrsgaj2";
+  buildDepends = [
+    async MonadCatchIOTransformers monadLoops snap stm time
+    transformers
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/snap-error-collector";
+    description = "Collect errors in batches and dispatch them";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/snap-web-routes/default.nix b/pkgs/development/libraries/haskell/snap-web-routes/default.nix
index 71b8c3c49da..a8252a4f3f0 100644
--- a/pkgs/development/libraries/haskell/snap-web-routes/default.nix
+++ b/pkgs/development/libraries/haskell/snap-web-routes/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.5.0.0";
   sha256 = "1ml0b759k2n9bd2x4akz4dfyk8ywnpgrdlcymng4vhjxbzngnniv";
   buildDepends = [ heist mtl snap snapCore text webRoutes xmlhtml ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/lukerandall/snap-web-routes";
     description = "Type safe URLs for Snap";
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 0fca2136663..410e9db6f92 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -17,6 +17,7 @@ cabal.mkDerivation (self: {
     HUnit MonadCatchIOTransformers mtl random regexPosix text time
     unixCompat unorderedContainers vector zlibEnum
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://snapframework.com/";
     description = "Snap: A Haskell Web Framework (core interfaces and types)";
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index d2278f329f4..cacb0c03945 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
   ];
   configureFlags = "-fopenssl";
   patchPhase = ''
-    sed -i -e 's|HsOpenSSL >= .*|HsOpenSSL|' snap-server.cabal
+    sed -i -e 's|text *>= .*,|text,|' -e 's|HsOpenSSL >= .*|HsOpenSSL|' -e 's|network.*2.6,|network,|' snap-server.cabal
   '';
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index 189750bd446..bb4afe88512 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.13.2.8";
-  sha256 = "1jrnh1raw2jrl04l54f5w5xfp9yyb9bj0ly9v1baqkiggswacbzg";
+  version = "0.13.3.2";
+  sha256 = "1k6sd2ww8zqkbfv4v5ryqwgicx6yprfil8cd5rgdvygyjs88fcrp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -21,10 +21,6 @@ cabal.mkDerivation (self: {
     snapCore snapServer stm syb text time transformers
     unorderedContainers vector vectorAlgorithms xmlhtml
   ];
-  jailbreak = true;
-  patchPhase = ''
-    sed -i -e 's|lens .*< 4.2|lens|' snap.cabal
-  '';
   meta = {
     homepage = "http://snapframework.com/";
     description = "Top-level package for the Snap Web Framework";
diff --git a/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
index 0d483a65ad7..96a64488f2a 100644
--- a/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
+++ b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.2.6.1";
   sha256 = "0wlawnsxisslqzspa29swsdmncgx04z3rd1bhwx73mx5pksykw60";
   buildDepends = [ acidState snap text ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/mightybyte/snaplet-acid-state";
     description = "acid-state snaplet for Snap Framework";
diff --git a/pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix b/pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix
index 5238fee7b9f..7745fa5ddbe 100644
--- a/pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/snaplet-postgresql-simple/default.nix
@@ -1,6 +1,6 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, clientsession, configurator, errors
+{ cabal, clientsession, configurator, errors, lens
 , MonadCatchIOTransformers, mtl, postgresqlSimple
 , resourcePoolCatchio, snap, text, transformers
 , unorderedContainers
@@ -8,10 +8,10 @@
 
 cabal.mkDerivation (self: {
   pname = "snaplet-postgresql-simple";
-  version = "0.5";
-  sha256 = "0pzn0lg1slrllrrx1n9s1kp1pmq2ahrkjypcwnnld8zxzvz4g5jm";
+  version = "0.6";
+  sha256 = "042mpyj84d089pr2qjix9fvzfj4ir74kjkdx3jg84jwn602lhzi6";
   buildDepends = [
-    clientsession configurator errors MonadCatchIOTransformers mtl
+    clientsession configurator errors lens MonadCatchIOTransformers mtl
     postgresqlSimple resourcePoolCatchio snap text transformers
     unorderedContainers
   ];
@@ -20,7 +20,5 @@ cabal.mkDerivation (self: {
     description = "postgresql-simple snaplet for the Snap Framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/snaplet-redis/default.nix b/pkgs/development/libraries/haskell/snaplet-redis/default.nix
index d6bfcd260ca..1b7a7b10b21 100644
--- a/pkgs/development/libraries/haskell/snaplet-redis/default.nix
+++ b/pkgs/development/libraries/haskell/snaplet-redis/default.nix
@@ -1,15 +1,15 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, configurator, hedis, lens, mtl, network, snap
+{ cabal, configurator, hedis, lens, mtl, network, snap, text
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "snaplet-redis";
-  version = "0.1.3.3";
-  sha256 = "17w2b9cnri45m535hyszb1fickhhglid3zy5a4bbljmnwvi4y08l";
+  version = "0.1.4.1";
+  sha256 = "0vrsvmgrds7l4q88q7gmy1bz36z5ba45rib2vm5z6v2cf0x22qz2";
   buildDepends = [
-    configurator hedis lens mtl network snap transformers
+    configurator hedis lens mtl network snap text transformers
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/snaplet-stripe/default.nix b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
index 1024b2ac4ee..6f0f3d5de06 100644
--- a/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
+++ b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, configurator, heist, mtl, snap, stripe, text, textFormat
-, transformers, xmlhtml
+{ cabal, configurator, heist, lensFamilyCore, mtl, snap, stripe
+, text, textFormat, transformers, xmlhtml
 }:
 
 cabal.mkDerivation (self: {
   pname = "snaplet-stripe";
-  version = "0.2.0";
-  sha256 = "01ichbwk31zfjq5rc09scz0j4ir6b7jnppdvmm8ilvkj7bl442xs";
+  version = "0.3.0";
+  sha256 = "0j85vzfmw6skag8rfww4gsg1lyfc7qbxiqhmwbsh4vfjiagrc9wp";
   buildDepends = [
-    configurator heist mtl snap stripe text textFormat transformers
-    xmlhtml
+    configurator heist lensFamilyCore mtl snap stripe text textFormat
+    transformers xmlhtml
   ];
   jailbreak = true;
   meta = {
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     description = "Stripe snaplet for the Snap Framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix
index 0a7d4b1c230..57827d495f3 100644
--- a/pkgs/development/libraries/haskell/socket-io/default.nix
+++ b/pkgs/development/libraries/haskell/socket-io/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "socket-io";
-  version = "1.1.0";
-  sha256 = "1ffip6jlp3i6pz8gbk8m2ra2q8568mgwgi988yh046w787yf9kpw";
+  version = "1.2.0";
+  sha256 = "1271qmd83q669dcs6ni0f84i5kgvh8vgr4xgx2lcprirbzkx0gdl";
   buildDepends = [
     aeson attoparsec engineIo mtl stm text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/sodium/default.nix b/pkgs/development/libraries/haskell/sodium/default.nix
index f27c5d0e51c..0dbd0647a86 100644
--- a/pkgs/development/libraries/haskell/sodium/default.nix
+++ b/pkgs/development/libraries/haskell/sodium/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "sodium";
-  version = "0.10.0.2";
-  sha256 = "0rm1blh0br4gdnqb6ixvql6nrxzcjxjkwp4lmqmsisa2b68gbzqy";
+  version = "0.11.0.2";
+  sha256 = "0m3ig6nqkw0m6xh6ijgr2w06i4ydyfwx7rsbkrrxflichadm9r2g";
   buildDepends = [ mtl ];
   meta = {
     description = "Sodium Reactive Programming (FRP) System";
diff --git a/pkgs/development/libraries/haskell/split/0.2.1.1.nix b/pkgs/development/libraries/haskell/split/0.2.1.1.nix
deleted file mode 100644
index 5dfcdf6de0c..00000000000
--- a/pkgs/development/libraries/haskell/split/0.2.1.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, QuickCheck }:
-
-cabal.mkDerivation (self: {
-  pname = "split";
-  version = "0.2.1.1";
-  sha256 = "1zzp4dwf846s74a4lhw2gf4awsk9iblhl5zcg2zccgv1lr4w2dmz";
-  testDepends = [ QuickCheck ];
-  meta = {
-    description = "Combinator library for splitting lists";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/srcloc/default.nix b/pkgs/development/libraries/haskell/srcloc/default.nix
index 087871bbc53..8d30afc77ad 100644
--- a/pkgs/development/libraries/haskell/srcloc/default.nix
+++ b/pkgs/development/libraries/haskell/srcloc/default.nix
@@ -4,10 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "srcloc";
-  version = "0.4.0";
-  sha256 = "00af562n4m3nwlhl86x8rx7hhpnhwaijin61wk574pp47bh2jg0k";
+  version = "0.4.1";
+  sha256 = "0cd15d9dval7zi4li48yd6a3jk62861d4qxwvhxz4a98m63519cz";
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "Data types for managing source code locations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/state-plus/default.nix b/pkgs/development/libraries/haskell/state-plus/default.nix
new file mode 100644
index 00000000000..d35da29273e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/state-plus/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, checkers, mtl, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "state-plus";
+  version = "0.1.1";
+  sha256 = "09zc4rymzvpq12mgl59h069m418qr43myhsj8dlf62g477wyx4g1";
+  buildDepends = [ mtl ];
+  testDepends = [ checkers mtl QuickCheck ];
+  meta = {
+    description = "MonadPlus for StateT";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix
index cebb79c3344..c13aa992317 100644
--- a/pkgs/development/libraries/haskell/stm-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stm-conduit";
-  version = "2.5.1";
-  sha256 = "08cnr92c442b1in46xcklni35597hbsggw97arq2f9w5sfir341q";
+  version = "2.5.3";
+  sha256 = "1jsij92i3rw2wz1166i58p0lxrbx0jndf1hi3kj92ccvnc3zg1iw";
   buildDepends = [
     async cereal cerealConduit conduit conduitExtra liftedAsync
     liftedBase monadControl monadLoops resourcet stm stmChans
diff --git a/pkgs/development/libraries/haskell/stm-containers/default.nix b/pkgs/development/libraries/haskell/stm-containers/default.nix
index 91105712a6a..d093c5e07db 100644
--- a/pkgs/development/libraries/haskell/stm-containers/default.nix
+++ b/pkgs/development/libraries/haskell/stm-containers/default.nix
@@ -1,19 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, basePrelude, focus, free, hashable, HTF, lochTh, mtl
-, placeholders, primitive, QuickCheck, unorderedContainers
+{ cabal, basePrelude, focus, free, hashable, HTF, listT, lochTh
+, mtl, mtlPrelude, placeholders, primitive, QuickCheck
+, transformers, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "stm-containers";
-  version = "0.1.3";
-  sha256 = "0ir2b6y1sqr0i68j0fqmwyysk7x9z18n84dbjppyjzzidcsrkar0";
+  version = "0.2.7";
+  sha256 = "1qgmrxccnvids2xq2n28cllfqh88f0b2512hm5grrab7qb07phar";
   buildDepends = [
-    basePrelude focus hashable lochTh placeholders primitive
+    basePrelude focus hashable listT lochTh placeholders primitive
+    transformers
   ];
   testDepends = [
-    basePrelude focus free hashable HTF lochTh mtl placeholders
-    primitive QuickCheck unorderedContainers
+    basePrelude focus free hashable HTF listT lochTh mtl mtlPrelude
+    placeholders primitive QuickCheck transformers unorderedContainers
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/stm-delay/default.nix b/pkgs/development/libraries/haskell/stm-delay/default.nix
new file mode 100644
index 00000000000..ee2500db8d3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm-delay/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, stm }:
+
+cabal.mkDerivation (self: {
+  pname = "stm-delay";
+  version = "0.1.1.1";
+  sha256 = "0cla21v89gcvmr1iwzibq13v1yq02xg4h6k9l6kcprj7mhd5hcmi";
+  buildDepends = [ stm ];
+  testDepends = [ stm ];
+  meta = {
+    homepage = "https://github.com/joeyadams/haskell-stm-delay";
+    description = "Updatable one-shot timer polled with STM";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
deleted file mode 100644
index d69827bbb69..00000000000
--- a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "stm";
-  version = "2.1.1.2";
-  sha256 = "68d550067ae180373142c51f3fa14bdf0a1516310aee9a37e28f9ac7cf3b8c6d";
-  meta = {
-    description = "Software Transactional Memory";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix b/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
deleted file mode 100644
index ab99000b7e7..00000000000
--- a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "stm";
-  version = "2.1.2.1";
-  sha256 = "0d7d8babd2f07c726909030461e1f9b3aaf02dc809fd5e1c0509a67d23b784b8";
-  meta = {
-    description = "Software Transactional Memory";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
deleted file mode 100644
index cfe7ff65871..00000000000
--- a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "stm";
-  version = "2.2.0.1";
-  sha256 = "1p0x414ffsd77mmlfz1cmwg2cbhinnbpxypxgvygg05js67msj8q";
-  meta = {
-    description = "Software Transactional Memory";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/stm/2.3.nix b/pkgs/development/libraries/haskell/stm/2.3.nix
deleted file mode 100644
index c5f62c9c827..00000000000
--- a/pkgs/development/libraries/haskell/stm/2.3.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "stm";
-  version = "2.3";
-  sha256 = "1321l1qkmvnqdw73i21jnh2b8c1iw1mxjbp23hmqdvljjb9mlzsm";
-  meta = {
-    description = "Software Transactional Memory";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/stm/2.4.nix b/pkgs/development/libraries/haskell/stm/2.4.nix
deleted file mode 100644
index 6007e845e9b..00000000000
--- a/pkgs/development/libraries/haskell/stm/2.4.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "stm";
-  version = "2.4";
-  sha256 = "13flyzh2vnqnap78qjawdh3150rmp9bxnlgynsf793lm1b3z15fl";
-  meta = {
-    description = "Software Transactional Memory";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix
index 3f0d47dfc2a..c4d19f61188 100644
--- a/pkgs/development/libraries/haskell/streaming-commons/default.nix
+++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "streaming-commons";
-  version = "0.1.4.2";
-  sha256 = "0ghm3a64q84bfyp1qp452jw4ns52nd5jz8fk308vljfpakv30qyf";
+  version = "0.1.7.3";
+  sha256 = "12sm59dhjrygly215888i2xcsn5m5a393ir0mm6w62883x49wzxb";
   buildDepends = [
     blazeBuilder network random stm text transformers zlib
   ];
diff --git a/pkgs/development/libraries/haskell/string-conversions/default.nix b/pkgs/development/libraries/haskell/string-conversions/default.nix
index 5176cad03cd..9225bacbfe3 100644
--- a/pkgs/development/libraries/haskell/string-conversions/default.nix
+++ b/pkgs/development/libraries/haskell/string-conversions/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "string-conversions";
-  version = "0.3.0.2";
-  sha256 = "0jcm0vv0ll74zfc7s2l8qpqpbfnkv7ir9d1kg68m6b0f9sq0dgng";
+  version = "0.3.0.3";
+  sha256 = "0n2ifim9n5vm305r989lh5xlbd8qc6byip2nfavf6gd2bcscs84p";
   buildDepends = [ text utf8String ];
   meta = {
     description = "Simplifies dealing with different types for strings";
diff --git a/pkgs/development/libraries/haskell/stylish-haskell/default.nix b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
index 9cc43e142a7..d739d11c17a 100644
--- a/pkgs/development/libraries/haskell/stylish-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stylish-haskell";
-  version = "0.5.10.2";
-  sha256 = "1r1vwn334jdsk6szynzz7w9jpbfqs3zs7wzlpwfigsyyrjy3bn3q";
+  version = "0.5.11.0";
+  sha256 = "1174gs5a2n6l2flyb2x93yiq7viwb52kbadw6jya6041xrpblckz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/syb/0.3.3.nix b/pkgs/development/libraries/haskell/syb/0.3.3.nix
deleted file mode 100644
index 967bc75e522..00000000000
--- a/pkgs/development/libraries/haskell/syb/0.3.3.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "syb";
-  version = "0.3.3";
-  sha256 = "0jskxbnzariq2ahcymvjrp4bhl9cpflc1nh51whdl9axcrd5c901";
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-    description = "Scrap Your Boilerplate";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/syb/0.3.6.1.nix b/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
deleted file mode 100644
index de9da047889..00000000000
--- a/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "syb";
-  version = "0.3.6.1";
-  sha256 = "1xyz6ahyvairzb5n1mrmryzrxrkd4m8ywxa6r6x5nqm2xa7zqv34";
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-    description = "Scrap Your Boilerplate";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/syb/0.3.7.nix b/pkgs/development/libraries/haskell/syb/0.3.7.nix
deleted file mode 100644
index 72f883e5243..00000000000
--- a/pkgs/development/libraries/haskell/syb/0.3.7.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "syb";
-  version = "0.3.7";
-  sha256 = "0wysa348icabskih3k9xbmwaaw34hg58lpz3w3075942h650bx2r";
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-    description = "Scrap Your Boilerplate";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/syb/0.3.nix b/pkgs/development/libraries/haskell/syb/0.3.nix
deleted file mode 100644
index 355fd3671e4..00000000000
--- a/pkgs/development/libraries/haskell/syb/0.3.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "syb";
-  version = "0.3";
-  sha256 = "1gnqw76zy7xvlabhbyk8hml88hpz2igf7b3mz2ic091f77qkkch7";
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-    description = "Scrap Your Boilerplate";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/symbol/default.nix b/pkgs/development/libraries/haskell/symbol/default.nix
index 4451b2c3bdb..46a2979d775 100644
--- a/pkgs/development/libraries/haskell/symbol/default.nix
+++ b/pkgs/development/libraries/haskell/symbol/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, deepseq, syb }:
+{ cabal, deepseq }:
 
 cabal.mkDerivation (self: {
   pname = "symbol";
-  version = "0.2.1";
-  sha256 = "1g9rpz40v6wnmp671wvbbinzvvxkibdnny4i6ai28pn3sxa6fgkj";
-  buildDepends = [ deepseq syb ];
+  version = "0.2.4";
+  sha256 = "0cc8kdm68pirb0s7n46v0yvw5b718qf7qip40jkg5q3c3xsafx6h";
+  buildDepends = [ deepseq ];
   jailbreak = true;
   meta = {
     homepage = "http://www.cs.drexel.edu/~mainland/";
diff --git a/pkgs/development/libraries/haskell/system-argv0/default.nix b/pkgs/development/libraries/haskell/system-argv0/default.nix
new file mode 100644
index 00000000000..6f0eb038b60
--- /dev/null
+++ b/pkgs/development/libraries/haskell/system-argv0/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, systemFilepath, text }:
+
+cabal.mkDerivation (self: {
+  pname = "system-argv0";
+  version = "0.1.1";
+  sha256 = "1ijfry2r3cypp3zmws6dczk21m4n86fkxjld7yl19gjp46fxllbd";
+  buildDepends = [ systemFilepath text ];
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-filesystem/";
+    description = "Get argv[0] as a FilePath";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix
index 9853c4abd08..cf3dcee3301 100644
--- a/pkgs/development/libraries/haskell/system-fileio/default.nix
+++ b/pkgs/development/libraries/haskell/system-fileio/default.nix
@@ -5,14 +5,14 @@
 
 cabal.mkDerivation (self: {
   pname = "system-fileio";
-  version = "0.3.14";
-  sha256 = "1x5cricx2n1wwvdad4i3q8s3gb28a129v3kkj9rn9803xh43zh29";
+  version = "0.3.16";
+  sha256 = "1x18ffhas6bhjis0glf0xd6ap8vy7cap8lkmnkn4px83d82yzi8k";
   buildDepends = [ systemFilepath text time ];
   testDepends = [
     chell systemFilepath temporary text time transformers
   ];
   meta = {
-    homepage = "https://john-millikin.com/software/haskell-filesystem/";
+    homepage = "https://github.com/fpco/haskell-filesystem";
     description = "Consistent filesystem interaction across GHC versions";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index 4adf48d26e7..8ec752d7a39 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -4,13 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "system-filepath";
-  version = "0.4.12";
-  sha256 = "0sfralwgd5b9hfqmp20v31sq96s0v7j9g920qdj3n9i5mhslhwd2";
+  version = "0.4.13";
+  sha256 = "0g1lam859vs71vyc8qsg6aianw5s7w19rk02acf2gr8dg3ypznca";
   buildDepends = [ deepseq text ];
   testDepends = [ chell chellQuickcheck QuickCheck text ];
   doCheck = false;
   meta = {
-    homepage = "https://john-millikin.com/software/haskell-filesystem/";
+    homepage = "https://github.com/fpco/haskell-filesystem";
     description = "High-level, byte-based file and directory path manipulations";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/tables/default.nix b/pkgs/development/libraries/haskell/tables/default.nix
index 53b178066eb..b8159a777d4 100644
--- a/pkgs/development/libraries/haskell/tables/default.nix
+++ b/pkgs/development/libraries/haskell/tables/default.nix
@@ -21,5 +21,6 @@ cabal.mkDerivation (self: {
     description = "In-memory storage with multiple keys using lenses and traversals";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagged-transformer/default.nix b/pkgs/development/libraries/haskell/tagged-transformer/default.nix
new file mode 100644
index 00000000000..34da51018e0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tagged-transformer/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, contravariant, distributive, exceptions, mtl
+, reflection, semigroupoids, tagged
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tagged-transformer";
+  version = "0.7.1";
+  sha256 = "1qgfx546pj4aqdblb4gddfxp642snn5dx4kxj3sn5q7c9lsgdh8j";
+  buildDepends = [
+    comonad contravariant distributive exceptions mtl reflection
+    semigroupoids tagged
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/tagged-transformer";
+    description = "Provides newtype wrappers for phantom types to avoid unsafely passing dummy arguments";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix
index 903eccdfed3..10585eb3412 100644
--- a/pkgs/development/libraries/haskell/tagged/default.nix
+++ b/pkgs/development/libraries/haskell/tagged/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tagged";
-  version = "0.7.2";
-  sha256 = "06w7gss2vqnly2zijf0hkq60jx13nsxwsjsnyfbn25r4f6gjsnq5";
+  version = "0.7.3";
+  sha256 = "016bzws7w09xhyyqiz56ahlf7zhagihn370ga0083fgv172lym7b";
   meta = {
     homepage = "http://github.com/ekmett/tagged";
     description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
diff --git a/pkgs/development/libraries/haskell/taggy/default.nix b/pkgs/development/libraries/haskell/taggy/default.nix
index d94a3b27f2c..d456afbd65f 100644
--- a/pkgs/development/libraries/haskell/taggy/default.nix
+++ b/pkgs/development/libraries/haskell/taggy/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "taggy";
-  version = "0.1.2";
-  sha256 = "0sj7da4yawfajyrd2gg2dxzgj5n99mdm5cz3bdhfipas4bb4216y";
+  version = "0.1.3";
+  sha256 = "18azsibsfjz4zj69dk4a3jrdw6zvd8n1gsd1ynd2hy7i9z168iw8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix
index 35d004445fc..40ddd46ba54 100644
--- a/pkgs/development/libraries/haskell/tagsoup/default.nix
+++ b/pkgs/development/libraries/haskell/tagsoup/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tagsoup";
-  version = "0.13.2";
-  sha256 = "0q9r4vsdlib6dm0b387zg089b1410f0nspzigx2awqi2xqfsi0xz";
+  version = "0.13.3";
+  sha256 = "13b6zy6346r3cxhaivys84fnxarg8wbv7r2znazfjdkqil8n5a1j";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ text ];
diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
index ee721836245..2e939317504 100644
--- a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
@@ -1,19 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, attoparsecConduit, blazeBuilder
-, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra
-, dataDefault, hspec, HUnit, QuickCheck, resourcet, text
-, transformers, xmlConduit
+{ cabal, attoparsec, blazeBuilder, caseInsensitive, conduit
+, conduitExtra, dataDefault, hspec, HUnit, QuickCheck, resourcet
+, text, transformers, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "tagstream-conduit";
-  version = "0.5.5.1";
-  sha256 = "0bpxjhqqqigfnwcxx3h2am5zmgr1lyaxaac3lnz490j6zf8x9jn7";
+  version = "0.5.5.3";
+  sha256 = "1arlf7qil9bzcqykda8yyrnncm29jsfjvz5kbcdrbbhqpbqfi5mj";
   buildDepends = [
-    attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
-    caseInsensitive conduit conduitExtra dataDefault resourcet text
-    transformers xmlConduit
+    attoparsec blazeBuilder caseInsensitive conduit conduitExtra
+    dataDefault resourcet text transformers xmlConduit
   ];
   testDepends = [ conduit hspec HUnit QuickCheck resourcet text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
index 9f8e59322b0..8f6b953e954 100644
--- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -1,15 +1,15 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, genericDeriving, mtl, reducers, stm, tagged, tasty
-, transformers, xml
+{ cabal, genericDeriving, mtl, stm, tagged, tasty, transformers
+, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "tasty-ant-xml";
-  version = "1.0.0.8";
-  sha256 = "0khjx3anxp63ch6wkdhqnsk5miavkq014ab30rpir97gdqw0vykm";
+  version = "1.0.1";
+  sha256 = "1wb9lm9rbk46g9cm2lpcrzh59zpcy270p824agg61bj1xb9jymsc";
   buildDepends = [
-    genericDeriving mtl reducers stm tagged tasty transformers xml
+    genericDeriving mtl stm tagged tasty transformers xml
   ];
   meta = {
     homepage = "http://github.com/ocharles/tasty-ant-xml";
diff --git a/pkgs/development/libraries/haskell/tasty-hspec/default.nix b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
index 8c3083d07fe..459a0f1123a 100644
--- a/pkgs/development/libraries/haskell/tasty-hspec/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
@@ -1,12 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hspec, tasty }:
+{ cabal, hspec, hspecCore, QuickCheck, random, tasty
+, tastyQuickcheck, tastySmallcheck
+}:
 
 cabal.mkDerivation (self: {
   pname = "tasty-hspec";
-  version = "0.1.0.1";
-  sha256 = "0m8v9kj557vfqzmrindwfcjl7wqmdix2xvmsb94n8hx9qv075s3v";
-  buildDepends = [ hspec tasty ];
+  version = "1.1";
+  sha256 = "15ly6jf4kgdc15k6b584d99j18xb41alas62gyakw5sf8y0y02i6";
+  buildDepends = [
+    hspec hspecCore QuickCheck random tasty tastyQuickcheck
+    tastySmallcheck
+  ];
   meta = {
     homepage = "http://github.com/mitchellwrosen/tasty-hspec";
     description = "Hspec support for the Tasty test framework";
diff --git a/pkgs/development/libraries/haskell/tasty-hunit/default.nix b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
index 067e6081818..edbdf8b9cd6 100644
--- a/pkgs/development/libraries/haskell/tasty-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-hunit";
-  version = "0.9";
-  sha256 = "1ivp9h34cdrahqy8i0y10fa0mqxa947dpbwvhr46sjja053asjxc";
+  version = "0.9.0.1";
+  sha256 = "0rhdjb4fakcbkz4cvmmf679zad9h5yr31i1g9xm1338p6xd4vwcb";
   buildDepends = [ tasty ];
   meta = {
     homepage = "http://documentup.com/feuerbach/tasty";
diff --git a/pkgs/development/libraries/haskell/tasty-program/default.nix b/pkgs/development/libraries/haskell/tasty-program/default.nix
new file mode 100644
index 00000000000..60a88315f72
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-program/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, tasty }:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-program";
+  version = "1.0.1";
+  sha256 = "04q2pp7hwqiiry17dd3ng0i6ikqzpg7hfgf0ckcg33xw450kpx9n";
+  buildDepends = [ filepath tasty ];
+  meta = {
+    homepage = "https://github.com/jstolarek/tasty-program";
+    description = "Use tasty framework to test whether a program executes correctly";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
index f4af3a19097..36b22a30f53 100644
--- a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
@@ -1,13 +1,15 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, QuickCheck, tagged, tasty }:
+{ cabal, pcreLight, QuickCheck, tagged, tasty, tastyHunit }:
 
 cabal.mkDerivation (self: {
   pname = "tasty-quickcheck";
-  version = "0.8.1";
-  sha256 = "1diqc5dmddrfc6i0zqkmlnnhsv8paqy2fdmbx8484qa4ylk5r6bs";
+  version = "0.8.3.2";
+  sha256 = "1q1fghmsjrdl6jkcnajmsvw4d893m6cyhzpai9vvrhxy9vdy0l1v";
   buildDepends = [ QuickCheck tagged tasty ];
+  testDepends = [ pcreLight tasty tastyHunit ];
   meta = {
+    homepage = "http://documentup.com/feuerbach/tasty";
     description = "QuickCheck support for the Tasty test framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/tasty-rerun/default.nix b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
index 326392718ba..af251514b42 100644
--- a/pkgs/development/libraries/haskell/tasty-rerun/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-rerun";
-  version = "1.1.2";
-  sha256 = "0vgx6l9yd21aiwivd6zp67rgjly1j2wwqdmx99p17prr430rm4id";
+  version = "1.1.3";
+  sha256 = "1pgm3h7kyg7q8ydgqqj9sn65ckl6i7cz6a8g1cfighf4gy5y0cj3";
   buildDepends = [
     mtl optparseApplicative reducers split stm tagged tasty
     transformers
diff --git a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
index ea1a37d5e9b..9bdf0c52895 100644
--- a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
@@ -4,11 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-smallcheck";
-  version = "0.8";
-  sha256 = "0c4ccmhql118j4dlvy5cmrnma454b0rdv1wq2ds6xhpdhx20h1br";
+  version = "0.8.0.1";
+  sha256 = "0yckfbz8na8ccyw2911i3a4hd3fdncclk3ng5343hs5cylw6y4sm";
   buildDepends = [ async smallcheck tagged tasty ];
   meta = {
-    homepage = "https://github.com/feuerbach/tasty";
+    homepage = "http://documentup.com/feuerbach/tasty";
     description = "SmallCheck support for the Tasty test framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/tasty-th/default.nix b/pkgs/development/libraries/haskell/tasty-th/default.nix
index 2679c57cff0..98d62036e83 100644
--- a/pkgs/development/libraries/haskell/tasty-th/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-th/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-th";
-  version = "0.1.2";
-  sha256 = "1x3kixv0hnb7icigz2kfq959pivdc4jaaalvdgn8dlyqzkvfjzx4";
+  version = "0.1.3";
+  sha256 = "1fl5pagm9bdqvp7v54ilkr91m667rxw1jifwfdhrikr938aqrzx3";
   buildDepends = [ languageHaskellExtract tasty ];
   meta = {
     homepage = "http://github.com/bennofs/tasty-th";
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index 6303320460f..e99c8672c86 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, ansiTerminal, async, deepseq, mtl, optparseApplicative
-, regexTdfaRc, stm, tagged, unboundedDelays
+, regexTdfaRc, stm, tagged, time, unboundedDelays
 }:
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.8.1.3";
-  sha256 = "0hc030ms89w3cl1k3r8nrym3g7sg2n66ch2ljg6d7fwhrsgxnagf";
+  version = "0.10.1";
+  sha256 = "1l8ah7018f3m8css56h59fcly1jhanm5wd0hbgm8mg6pn7rrjml5";
   buildDepends = [
     ansiTerminal async deepseq mtl optparseApplicative regexTdfaRc stm
-    tagged unboundedDelays
+    tagged time unboundedDelays
   ];
   meta = {
     homepage = "http://documentup.com/feuerbach/tasty";
diff --git a/pkgs/development/libraries/haskell/template/default.nix b/pkgs/development/libraries/haskell/template/default.nix
index f51ae4f0a3d..4eceef5729d 100644
--- a/pkgs/development/libraries/haskell/template/default.nix
+++ b/pkgs/development/libraries/haskell/template/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "template";
-  version = "0.2.0.9";
-  sha256 = "0i1xq6nj240gddbd8d5m42gzix16k81wqmirpy5a4fssnkpwjqnb";
+  version = "0.2.0.10";
+  sha256 = "10mcnhi2rdflmv79z0359nn5sylifvk9ih38xnjqqby6n4hs7mcg";
   buildDepends = [ mtl text ];
   meta = {
     description = "Simple string substitution";
diff --git a/pkgs/development/libraries/haskell/terminal-size/default.nix b/pkgs/development/libraries/haskell/terminal-size/default.nix
index 4387ceb423e..d143a66713a 100644
--- a/pkgs/development/libraries/haskell/terminal-size/default.nix
+++ b/pkgs/development/libraries/haskell/terminal-size/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "terminal-size";
-  version = "0.2.1.0";
-  sha256 = "0d41af1is3vdb1kgd8dk82fags86bgs67vkbzpdhjdwa3aimsxgn";
+  version = "0.3.0";
+  sha256 = "0g8v08d20hlfsah9dlgv2v2pzj0m4dva0zp6zi4jrkxjhg6vi7bw";
   meta = {
     description = "Get terminal window height and width";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix b/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix
deleted file mode 100644
index 6a065cb6e84..00000000000
--- a/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, ncurses }:
-
-cabal.mkDerivation (self: {
-  pname = "terminfo";
-  version = "0.3.2.6";
-  sha256 = "0ag81rwwwaanxdn9ccanvdi1qnh62vy8y2jbgp5bp95hhgqq887f";
-  extraLibraries = [ ncurses ];
-  meta = {
-    homepage = "http://code.haskell.org/terminfo";
-    description = "Haskell bindings to the terminfo library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix b/pkgs/development/libraries/haskell/terminfo/default.nix
index 9bb59e14a1e..9bb59e14a1e 100644
--- a/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/terminfo/default.nix
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
deleted file mode 100644
index 5b822c2418c..00000000000
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, extensibleExceptions, QuickCheck, random
-, testFramework
-}:
-
-cabal.mkDerivation (self: {
-  pname = "test-framework-quickcheck";
-  version = "0.3.0";
-  sha256 = "0g8sh3x3mhns03svccgbdbw8crzpzmahp1hr1fs6ag66fqr8p9mv";
-  buildDepends = [
-    deepseq extensibleExceptions QuickCheck random testFramework
-  ];
-  meta = {
-    homepage = "http://batterseapower.github.com/test-framework/";
-    description = "QuickCheck support for the test-framework package";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix b/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
index f53c68e5e7f..a7881a7ebfc 100644
--- a/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework-th-prime";
-  version = "0.0.6";
-  sha256 = "11fk7sk644ky8f22imrfqk8yx07050vy9szha0pnkkjk9i3bqfcq";
+  version = "0.0.7";
+  sha256 = "056d66jk7gn0ghsb75f2kpspws0gs1w9vnw0ywpq6kbskv992v0p";
   buildDepends = [ cpphs haskellSrcExts testFramework ];
   meta = {
     description = "Template Haskell for test framework";
diff --git a/pkgs/development/libraries/haskell/test-framework/default.nix b/pkgs/development/libraries/haskell/test-framework/default.nix
index e17ca346e7f..b4ba1fd1009 100644
--- a/pkgs/development/libraries/haskell/test-framework/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework";
-  version = "0.8.0.3";
-  sha256 = "136nw5dapsz3jrnw1pdfkjgplxigpr2mrf6i85154vx342zvw5ar";
+  version = "0.8.1.0";
+  sha256 = "1js7jbdw0xijpjlca3yh7mw427s3rjkymm1qi565r928pbsbdkhm";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/test-simple/default.nix b/pkgs/development/libraries/haskell/test-simple/default.nix
new file mode 100644
index 00000000000..181c92147e3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/test-simple/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, executablePath, mtl, QuickCheck, statePlus }:
+
+cabal.mkDerivation (self: {
+  pname = "test-simple";
+  version = "0.1.7";
+  sha256 = "1p9y15vv23j1qn3shxl2wqb8skh0n53vrb39qv1nvff9bclxldka";
+  buildDepends = [ mtl QuickCheck statePlus ];
+  testDepends = [ executablePath mtl QuickCheck ];
+  meta = {
+    description = "Simple Perl inspired testing";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index fdcc5a6af3b..f8bff923c6d 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, filepath, mtl, pandocTypes, parsec, split, syb, temporary
-, text, utf8String, xml
+{ cabal, filepath, mtl, networkUri, pandocTypes, parsec, split, syb
+, temporary, text, utf8String, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.8";
-  sha256 = "1j0i9594fqhl2fzxyndyy6fvrpaqdarq817pxdar0hmccy55b7gb";
+  version = "0.8.0.1";
+  sha256 = "1k68spamhqwq4afcd0283w731gq0k6j6jxbp5099y6bndh8ff9cn";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ mtl pandocTypes parsec syb xml ];
+  buildDepends = [ mtl networkUri pandocTypes parsec syb xml ];
   testDepends = [ filepath split temporary text utf8String xml ];
   meta = {
     homepage = "http://github.com/jgm/texmath";
diff --git a/pkgs/development/libraries/haskell/text-binary/default.nix b/pkgs/development/libraries/haskell/text-binary/default.nix
new file mode 100644
index 00000000000..9e6205b7001
--- /dev/null
+++ b/pkgs/development/libraries/haskell/text-binary/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, text }:
+
+cabal.mkDerivation (self: {
+  pname = "text-binary";
+  version = "0.1.0";
+  sha256 = "0wc501j8hqspnhf4d1hyb18f1wgc4kl2qx1b5s4bkxv0dfbwrk6z";
+  buildDepends = [ binary text ];
+  meta = {
+    homepage = "https://github.com/kawu/text-binary";
+    description = "Binary instances for text types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.5.nix b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
deleted file mode 100644
index 5f63f68cfe7..00000000000
--- a/pkgs/development/libraries/haskell/text/0.11.0.5.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "text";
-  version = "0.11.0.5";
-  sha256 = "1a5y2i7qrkyyvm112q44rhd7jbqxvfxssz2g5ngbx11yypl3hcdv";
-  buildDepends = [ deepseq ];
-  doCheck = false;
-  meta = {
-    homepage = "http://bitbucket.org/bos/text";
-    description = "An efficient packed Unicode text type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.6.nix b/pkgs/development/libraries/haskell/text/0.11.0.6.nix
deleted file mode 100644
index c922db7e959..00000000000
--- a/pkgs/development/libraries/haskell/text/0.11.0.6.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "text";
-  version = "0.11.0.6";
-  sha256 = "103l1c8jfwpddsqzwj9jqh89vay8ax1znxqgjqprv2fvr7s0zvkp";
-  buildDepends = [ deepseq ];
-  doCheck = false;
-  meta = {
-    homepage = "http://bitbucket.org/bos/text";
-    description = "An efficient packed Unicode text type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/text/0.11.1.5.nix b/pkgs/development/libraries/haskell/text/0.11.1.5.nix
deleted file mode 100644
index afaa25305a3..00000000000
--- a/pkgs/development/libraries/haskell/text/0.11.1.5.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "text";
-  version = "0.11.1.5";
-  sha256 = "0fxxhw932gdvaqafsbw7dfzccc43hv92yhxppzp6jrg0npbyz04l";
-  buildDepends = [ deepseq ];
-  doCheck = false;
-  meta = {
-    homepage = "https://bitbucket.org/bos/text";
-    description = "An efficient packed Unicode text type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/text/0.11.2.0.nix b/pkgs/development/libraries/haskell/text/0.11.2.0.nix
deleted file mode 100644
index f465f4c2afc..00000000000
--- a/pkgs/development/libraries/haskell/text/0.11.2.0.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, HUnit, QuickCheck, random, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "text";
-  version = "0.11.2.0";
-  sha256 = "1fx5302m41awzbms410x3gcixsck36rl7i1ma7pz6l5d1pmi538p";
-  buildDepends = [ deepseq ];
-  testDepends = [
-    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/bos/text";
-    description = "An efficient packed Unicode text type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/text/0.11.3.1.nix b/pkgs/development/libraries/haskell/text/0.11.3.1.nix
deleted file mode 100644
index 6cbed7c1268..00000000000
--- a/pkgs/development/libraries/haskell/text/0.11.3.1.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, HUnit, QuickCheck, random, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "text";
-  version = "0.11.3.1";
-  sha256 = "17smd4h8xiqlggwd3n4j2dszfqsjpjjbjgk9badhkmya8ykd9akn";
-  buildDepends = [ deepseq ];
-  testDepends = [
-    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/bos/text";
-    description = "An efficient packed Unicode text type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/text/1.1.1.3.nix b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
index 7a61b4bbd3a..3908a7a0cae 100644
--- a/pkgs/development/libraries/haskell/text/1.1.1.3.nix
+++ b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/1.2.0.3.nix b/pkgs/development/libraries/haskell/text/1.2.0.3.nix
new file mode 100644
index 00000000000..d0d2112a5e2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/text/1.2.0.3.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, HUnit, QuickCheck, quickcheckUnicode, random
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "text";
+  version = "1.2.0.3";
+  sha256 = "11prz0vli6rclj04vpx5dnzfyznvsrq7i2jmh4sjy37nic5bqf0x";
+  buildDepends = [ deepseq ];
+  testDepends = [
+    deepseq HUnit QuickCheck quickcheckUnicode random testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bos/text";
+    description = "An efficient packed Unicode text type";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/th-lift-instances/default.nix b/pkgs/development/libraries/haskell/th-lift-instances/default.nix
index 0ecd9d70989..e81a8cf921e 100644
--- a/pkgs/development/libraries/haskell/th-lift-instances/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift-instances/default.nix
@@ -4,10 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "th-lift-instances";
-  version = "0.1.3";
-  sha256 = "0snqgcdkskwvrsw239j3xq84mwnf5x79kfsn495kprdc6yh3qdkx";
+  version = "0.1.4";
+  sha256 = "02sf7qn1rs33cdf1dl7vpwkhqzhmj8h3naw0ngh2kz05ymk2qng4";
   buildDepends = [ text thLift vector ];
   testDepends = [ doctest filepath QuickCheck text vector ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/bennofs/th-lift-instances/";
     description = "Lift instances for template-haskell for common data types";
diff --git a/pkgs/development/libraries/haskell/th-lift/default.nix b/pkgs/development/libraries/haskell/th-lift/default.nix
index a27360632b9..28fdedbde75 100644
--- a/pkgs/development/libraries/haskell/th-lift/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift/default.nix
@@ -4,11 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "th-lift";
-  version = "0.6.1";
-  sha256 = "0m1ips0n06jnjr5lssq7x4jaa5878sw03l8iaprya37bnkxxak5d";
+  version = "0.7";
+  sha256 = "1mh5k6ifmc3mjavlrpkcq55ng737yb3nqv1q67fv8irkv5m6qpza";
   meta = {
+    homepage = "http://github.com/mboes/th-lift";
     description = "Derive Template Haskell's Lift class for datatypes";
-    license = "unknown";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/th-orphans/default.nix b/pkgs/development/libraries/haskell/th-orphans/default.nix
index d93be541aee..8f6da0bd038 100644
--- a/pkgs/development/libraries/haskell/th-orphans/default.nix
+++ b/pkgs/development/libraries/haskell/th-orphans/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, thLift }:
+{ cabal, thLift, thReifyMany }:
 
 cabal.mkDerivation (self: {
   pname = "th-orphans";
-  version = "0.8.1";
-  sha256 = "1glf1zkiip18l0qdy3856ag7ksbxzd11dzdyq00qrz87kck5y58w";
-  buildDepends = [ thLift ];
+  version = "0.8.2";
+  sha256 = "19d4ls2plxmn5n9c99503mvi99ffp6y6zxi564zf6cdfgw8v73fy";
+  buildDepends = [ thLift thReifyMany ];
   jailbreak = true;
   meta = {
     description = "Orphan instances for TH datatypes";
diff --git a/pkgs/development/libraries/haskell/th-reify-many/default.nix b/pkgs/development/libraries/haskell/th-reify-many/default.nix
new file mode 100644
index 00000000000..940f8c8c29d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/th-reify-many/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, safe, thExpandSyns }:
+
+cabal.mkDerivation (self: {
+  pname = "th-reify-many";
+  version = "0.1.2";
+  sha256 = "1r7ran4vi2mrhcr6qil89cni6ci3dgm775lfw5ciml3gz1948vz9";
+  buildDepends = [ mtl safe thExpandSyns ];
+  meta = {
+    homepage = "http://github.com/mgsloan/th-reify-many";
+    description = "Recurseively reify template haskell datatype info";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/thread-local-storage/default.nix b/pkgs/development/libraries/haskell/thread-local-storage/default.nix
new file mode 100644
index 00000000000..5405f903e1d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/thread-local-storage/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, atomicPrimops }:
+
+cabal.mkDerivation (self: {
+  pname = "thread-local-storage";
+  version = "0.1.0.3";
+  sha256 = "0ka6xrxzsw2z95qcc4v2hh4ldb22zkd5s62lns3v1853g4dw7k3l";
+  testDepends = [ atomicPrimops ];
+  doCheck = false;
+  meta = {
+    description = "Several options for thread-local-storage (TLS) in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/threepenny-gui/default.nix b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
index fad37db7c9c..5586c28079b 100644
--- a/pkgs/development/libraries/haskell/threepenny-gui/default.nix
+++ b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
@@ -1,7 +1,7 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsecEnumerator, dataDefault, deepseq
-, filepath, hashable, MonadCatchIOTransformers, network, safe
+, filepath, hashable, MonadCatchIOTransformers, networkUri, safe
 , snapCore, snapServer, stm, text, time, transformers
 , unorderedContainers, utf8String, vault, websockets
 , websocketsSnap
@@ -9,15 +9,15 @@
 
 cabal.mkDerivation (self: {
   pname = "threepenny-gui";
-  version = "0.4.2.0";
-  sha256 = "1746l90h9xkwnwxvfqsr93nax7ihv8lwc4kz203v13rrwckr7m8h";
+  version = "0.5.0.0";
+  sha256 = "0rr826k6p2hbp66qr12sci6km40krbi7lbs293r11jxi0ivj5drd";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson attoparsecEnumerator dataDefault deepseq filepath hashable
-    MonadCatchIOTransformers network safe snapCore snapServer stm text
-    time transformers unorderedContainers utf8String vault websockets
-    websocketsSnap
+    MonadCatchIOTransformers networkUri safe snapCore snapServer stm
+    text time transformers unorderedContainers utf8String vault
+    websockets websocketsSnap
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix
index 18763701126..7c18f2c555b 100644
--- a/pkgs/development/libraries/haskell/thyme/default.nix
+++ b/pkgs/development/libraries/haskell/thyme/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "thyme";
-  version = "0.3.5.2";
-  sha256 = "1vb5qn9m88y9738d9znim5lprb8z10am5yjaksdjl151li8apd6x";
+  version = "0.3.5.5";
+  sha256 = "0v3rbjl92bqggsdra72zdq6rxzb2qf1268424p94225lnwgp1il4";
   buildDepends = [
     aeson attoparsec deepseq mtl profunctors QuickCheck random text
     time vector vectorSpace vectorThUnbox
diff --git a/pkgs/development/libraries/haskell/time/1.4.2.nix b/pkgs/development/libraries/haskell/time/1.4.2.nix
deleted file mode 100644
index 5e8d967b8dc..00000000000
--- a/pkgs/development/libraries/haskell/time/1.4.2.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, deepseq, QuickCheck, testFramework
-, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "time";
-  version = "1.4.2";
-  sha256 = "1kpsak2wka23c8591ry6i1d7hmd54s7iw5n6hpx48jhcxf1w199h";
-  buildDepends = [ deepseq ];
-  testDepends = [
-    Cabal deepseq QuickCheck testFramework testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://semantic.org/TimeLib/";
-    description = "A time library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/time/1.5.nix b/pkgs/development/libraries/haskell/time/1.5.nix
new file mode 100644
index 00000000000..ba77c73874d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/time/1.5.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, QuickCheck, testFramework
+, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "time";
+  version = "1.5";
+  sha256 = "0vj82msx650z473inhr8yav7k38zj7096wam477y77wardx57pdc";
+  buildDepends = [ deepseq ];
+  testDepends = [
+    deepseq QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/haskell/time";
+    description = "A time library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/timezone-olson/default.nix b/pkgs/development/libraries/haskell/timezone-olson/default.nix
index 236cedc9c1f..8b8704c0de7 100644
--- a/pkgs/development/libraries/haskell/timezone-olson/default.nix
+++ b/pkgs/development/libraries/haskell/timezone-olson/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "timezone-olson";
-  version = "0.1.4";
-  sha256 = "1l5j6gqi9vlx7sifn7vv3by4z9ha3h6klfds4ywqv3dv0gh5725k";
+  version = "0.1.6";
+  sha256 = "0gg1fq85km5d48966a267q6z0wwl1dz88xq88v0l1jlkwd9jsb0z";
   buildDepends = [ binary extensibleExceptions time timezoneSeries ];
   meta = {
     homepage = "http://projects.haskell.org/time-ng/";
diff --git a/pkgs/development/libraries/haskell/timezone-series/default.nix b/pkgs/development/libraries/haskell/timezone-series/default.nix
index d12ae9aec05..d46f2d81254 100644
--- a/pkgs/development/libraries/haskell/timezone-series/default.nix
+++ b/pkgs/development/libraries/haskell/timezone-series/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "timezone-series";
-  version = "0.1.3";
-  sha256 = "0b13a929wrgfl1agkyp3d5wy89aw69zm4l0src7p16rh3kr38w73";
+  version = "0.1.4";
+  sha256 = "06p5v0dimhwmra100gwkhkz3ll492i2bvafw0qx2qzcxx4yxff40";
   buildDepends = [ time ];
   meta = {
     homepage = "http://projects.haskell.org/time-ng/";
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
deleted file mode 100644
index 0d5c97433b2..00000000000
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, certificate, cipherAes, cipherRc4, cryptohash
-, cryptoPubkey, cryptoRandom, mtl, network, pem, time, tls, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls-extra";
-  version = "0.6.6";
-  sha256 = "0k0sj3nq1lrvbmd582mjj8cxbxigivz1hm8hhij1ncl2pgnq5xyv";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    certificate cipherAes cipherRc4 cryptohash cryptoPubkey
-    cryptoRandom mtl network pem time tls vector
-  ];
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS extra default values and helpers";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/1.1.5.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix
deleted file mode 100644
index ddb1651fd10..00000000000
--- a/pkgs/development/libraries/haskell/tls/1.1.5.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, cereal, certificate, cprngAes, cryptohash, cryptoPubkey
-, cryptoRandom, mtl, network, QuickCheck, testFramework
-, testFrameworkQuickcheck2, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls";
-  version = "1.1.5";
-  sha256 = "1ja03x3i7dgjpy22h4shnni1xslph8i8q4accqq8njpqpz54c84c";
-  buildDepends = [
-    cereal certificate cryptohash cryptoPubkey cryptoRandom mtl network
-  ];
-  testDepends = [
-    cereal certificate cprngAes cryptoPubkey cryptoRandom mtl
-    QuickCheck testFramework testFrameworkQuickcheck2 time
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS/SSL protocol native implementation (Server and Client)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/1.2.8.nix b/pkgs/development/libraries/haskell/tls/1.2.8.nix
deleted file mode 100644
index 22eb615a657..00000000000
--- a/pkgs/development/libraries/haskell/tls/1.2.8.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, asn1Encoding, asn1Types, byteable, cereal, cipherAes
-, cipherDes, cipherRc4, cprngAes, cryptoCipherTypes, cryptohash
-, cryptoNumbers, cryptoPubkey, cryptoPubkeyTypes, cryptoRandom
-, dataDefaultClass, mtl, network, QuickCheck, testFramework
-, testFrameworkQuickcheck2, time, x509, x509Store, x509Validation
-}:
-
-cabal.mkDerivation (self: {
-  pname = "tls";
-  version = "1.2.8";
-  sha256 = "0fm36jn2yri3fn6wadl5v4k0cpnansqlid4fhavgnp6mazf0q5ha";
-  buildDepends = [
-    asn1Encoding asn1Types byteable cereal cipherAes cipherDes
-    cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey
-    cryptoPubkeyTypes cryptoRandom dataDefaultClass mtl network x509
-    x509Store x509Validation
-  ];
-  testDepends = [
-    cereal cprngAes cryptoPubkey cryptoRandom dataDefaultClass mtl
-    QuickCheck testFramework testFrameworkQuickcheck2 time x509
-    x509Validation
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/vincenthz/hs-tls";
-    description = "TLS/SSL protocol native implementation (Server and Client)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
new file mode 100644
index 00000000000..d9b82d13769
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, asn1Encoding, asn1Types, async, byteable, cereal
+, cipherAes, cipherDes, cipherRc4, cprngAes, cryptoCipherTypes
+, cryptohash, cryptoNumbers, cryptoPubkey, cryptoPubkeyTypes
+, cryptoRandom, dataDefaultClass, hourglass, mtl, network
+, QuickCheck, tasty, tastyQuickcheck, transformers, x509, x509Store
+, x509Validation
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tls";
+  version = "1.2.13";
+  sha256 = "1djjscmyn3wcnlzz1r0clz2nxa2y23rlyjk30xjsdp0m1sq0vdc3";
+  buildDepends = [
+    asn1Encoding asn1Types async byteable cereal cipherAes cipherDes
+    cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey
+    cryptoPubkeyTypes cryptoRandom dataDefaultClass mtl network
+    transformers x509 x509Store x509Validation
+  ];
+  testDepends = [
+    cereal cprngAes cryptoPubkey cryptoRandom dataDefaultClass
+    hourglass mtl QuickCheck tasty tastyQuickcheck x509 x509Validation
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-tls";
+    description = "TLS/SSL protocol native implementation (Server and Client)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/torrent/default.nix b/pkgs/development/libraries/haskell/torrent/default.nix
new file mode 100644
index 00000000000..0133de6c221
--- /dev/null
+++ b/pkgs/development/libraries/haskell/torrent/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bencode, binary, filepath, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "torrent";
+  version = "10000.0.0";
+  sha256 = "030ll4m80ljkvq72n1aa8a2ygqa56ykkndzy5g40vh9j9j5vq52r";
+  buildDepends = [ bencode binary filepath syb ];
+  meta = {
+    description = "BitTorrent file parser and generater";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tostring/default.nix b/pkgs/development/libraries/haskell/tostring/default.nix
index eee617ffd2b..8b6623d4639 100644
--- a/pkgs/development/libraries/haskell/tostring/default.nix
+++ b/pkgs/development/libraries/haskell/tostring/default.nix
@@ -1,15 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, text, utf8String }:
+{ cabal, caseInsensitive, text, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "tostring";
-  version = "0.2.0.1";
-  sha256 = "1gihls2xslr9fzad2659zv8af9k4cm84888nhx3z9bwasviyg448";
-  buildDepends = [ text utf8String ];
+  version = "0.2.1";
+  sha256 = "0lvfvjs1q6hndbchij3zn1xi6vb1v53r379jvyc2m92sqqcfnylw";
+  buildDepends = [ caseInsensitive text utf8String ];
   meta = {
     description = "The ToString class";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
deleted file mode 100644
index 4ff5df9d1c5..00000000000
--- a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "transformers-compat";
-  version = "0.3.3";
-  sha256 = "14lmwqr6q79k1f7byvb0jcm4r7lprhxkl85z72pr6ghn7bsvqwps";
-  buildDepends = [ transformers ];
-  meta = {
-    homepage = "http://github.com/ekmett/transformers-compat/";
-    description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix b/pkgs/development/libraries/haskell/transformers-compat/default.nix
index d0dc4ae024d..d0dc4ae024d 100644
--- a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix
+++ b/pkgs/development/libraries/haskell/transformers-compat/default.nix
diff --git a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
deleted file mode 100644
index cb3dd611ef3..00000000000
--- a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "transformers";
-  version = "0.2.2.0";
-  sha256 = "1nkazxy2p0w5ad76vg1lc4l0nla1kdqjdf9pymjgk75dpiyijbdz";
-  meta = {
-    description = "Concrete functor and monad transformers";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
deleted file mode 100644
index d705040387b..00000000000
--- a/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "transformers";
-  version = "0.4.1.0";
-  sha256 = "0jlnz86f87jndv4sifg1zpv5b2g2cxy1x2575x727az6vyaarwwg";
-  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
-  meta = {
-    description = "Concrete functor and monad transformers";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/transformers/0.4.2.0.nix b/pkgs/development/libraries/haskell/transformers/0.4.2.0.nix
new file mode 100644
index 00000000000..3557941a9a8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers/0.4.2.0.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers";
+  version = "0.4.2.0";
+  sha256 = "0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr";
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    description = "Concrete functor and monad transformers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/traverse-with-class/default.nix b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
index 50d5c61dd09..2ec410dc0a4 100644
--- a/pkgs/development/libraries/haskell/traverse-with-class/default.nix
+++ b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "traverse-with-class";
-  version = "0.1.1.1";
-  sha256 = "0agdgnibv8q65av2fkr2qm0air8zqmygwpkl30wmay5mqqknzxiq";
+  version = "0.2.0.3";
+  sha256 = "0snms19w3n9ni1wmf4ikwpp298nc6qk6phrjxi5g023ihqqdvr6g";
   buildDepends = [ transformers ];
   meta = {
     description = "Generic applicative traversals";
diff --git a/pkgs/development/libraries/haskell/trivia/default.nix b/pkgs/development/libraries/haskell/trivia/default.nix
new file mode 100644
index 00000000000..b32653032b5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/trivia/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, distributive }:
+
+cabal.mkDerivation (self: {
+  pname = "trivia";
+  version = "0.0";
+  sha256 = "03xmzjqwk6492jmmbq6066ymsxb0wk0pmyf0c5f018nfps0g3i78";
+  buildDepends = [ comonad distributive ];
+  meta = {
+    homepage = "https://github.com/fumieval/trivia";
+    description = "The trivial monad and comonad";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tuple/default.nix b/pkgs/development/libraries/haskell/tuple/default.nix
index 974c2fe140b..6997d2229ce 100644
--- a/pkgs/development/libraries/haskell/tuple/default.nix
+++ b/pkgs/development/libraries/haskell/tuple/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tuple";
-  version = "0.2.0.1";
-  sha256 = "1c4vf798rjwshnk04avyjp4rjzj8i9qx4yksv00m3rjy6psr57xg";
+  version = "0.3.0.2";
+  sha256 = "094nx29aahyrvbcn7yca9zs2a5rxz1is7510w1q43rpvza7hdjrg";
   buildDepends = [ OneTuple ];
   meta = {
     description = "Various functions on tuples";
diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
index 0d576680044..31542d43ebc 100644
--- a/pkgs/development/libraries/haskell/twitter-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
@@ -3,27 +3,28 @@
 { cabal, aeson, attoparsec, authenticateOauth, caseInsensitive
 , conduit, conduitExtra, dataDefault, doctest, filepath, hlint
 , hspec, httpClient, httpConduit, httpTypes, lens, lensAeson
-, monadControl, monadLogger, networkUri, resourcet, text, time
-, transformers, transformersBase, twitterTypes
+, monadControl, networkUri, resourcet, text, time, transformers
+, transformersBase, twitterTypes, twitterTypesLens, fetchurl
 }:
 
 cabal.mkDerivation (self: {
   pname = "twitter-conduit";
-  version = "0.0.5.6";
-  sha256 = "1l6gk4538nqknrj082hkdy2jp4gzyq3y473p8gg4mm2n67417r9m";
+  version = "0.1.0";
+  sha256 = "1cymgp3wlswxn5qfdr442cqq2ak48b5w1zcsr67n2g5p1izadwji";
+  editedCabalFile = "06z8dwvc17xhzpvb7cm0j6v63r5f3xirj36rr86bds3rw1zbnd0z";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson attoparsec authenticateOauth conduit conduitExtra dataDefault
-    httpClient httpConduit httpTypes lens lensAeson monadLogger
-    networkUri resourcet text time transformers twitterTypes
+    httpClient httpConduit httpTypes lens lensAeson networkUri
+    resourcet text time transformers twitterTypes twitterTypesLens
   ];
   testDepends = [
     aeson attoparsec authenticateOauth caseInsensitive conduit
     conduitExtra dataDefault doctest filepath hlint hspec httpClient
-    httpConduit httpTypes lens lensAeson monadControl monadLogger
-    networkUri resourcet text time transformers transformersBase
-    twitterTypes
+    httpConduit httpTypes lens lensAeson monadControl networkUri
+    resourcet text time transformers transformersBase twitterTypes
+    twitterTypesLens
   ];
   meta = {
     homepage = "https://github.com/himura/twitter-conduit";
@@ -31,7 +32,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/twitter-types-lens/default.nix b/pkgs/development/libraries/haskell/twitter-types-lens/default.nix
new file mode 100644
index 00000000000..85407fc00b2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/twitter-types-lens/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lens, text, twitterTypes }:
+
+cabal.mkDerivation (self: {
+  pname = "twitter-types-lens";
+  version = "0.6.0";
+  sha256 = "0n2z7v2mcvj2czkszkp87sf7cv4zj82yccygs9ah5ax28dw823v3";
+  buildDepends = [ lens text twitterTypes ];
+  meta = {
+    homepage = "https://github.com/himura/twitter-types-lens";
+    description = "Twitter JSON types (lens powered)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix
index 4a3df6f1b9f..9ed6a77ac2d 100644
--- a/pkgs/development/libraries/haskell/twitter-types/default.nix
+++ b/pkgs/development/libraries/haskell/twitter-types/default.nix
@@ -1,18 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, filepath, httpTypes, HUnit
-, testFramework, testFrameworkHunit, testFrameworkThPrime, text
+{ cabal, aeson, attoparsec, filepath, HUnit, testFramework
+, testFrameworkHunit, testFrameworkThPrime, text
 , unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "twitter-types";
-  version = "0.5.0";
-  sha256 = "0nnis96rki60ily7ydq155nawmhz7dn51d1d3hwikb1vz16ji47a";
-  buildDepends = [ aeson httpTypes text unorderedContainers ];
+  version = "0.6.0";
+  sha256 = "0yvs57f3m0nq11qpxziazp9r95g1v231d2djmch9c5d8g22cjvdn";
+  buildDepends = [ aeson text unorderedContainers ];
   testDepends = [
-    aeson attoparsec filepath httpTypes HUnit testFramework
-    testFrameworkHunit testFrameworkThPrime text unorderedContainers
+    aeson attoparsec filepath HUnit testFramework testFrameworkHunit
+    testFrameworkThPrime text unorderedContainers
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/type-aligned/default.nix b/pkgs/development/libraries/haskell/type-aligned/default.nix
new file mode 100644
index 00000000000..a1e547ca0e2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/type-aligned/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "type-aligned";
+  version = "0.9.3";
+  sha256 = "1wkjbb6giq71j5j72w4018hifn58gpgwxppbhgi5a8xdcxp8afl0";
+  meta = {
+    homepage = "https://github.com/atzeus/type-aligned";
+    description = "Various type-aligned sequence data structures";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/typography-geometry/default.nix b/pkgs/development/libraries/haskell/typography-geometry/default.nix
new file mode 100644
index 00000000000..c0b5b5fb1ab
--- /dev/null
+++ b/pkgs/development/libraries/haskell/typography-geometry/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, parallel, polynomialsBernstein, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "typography-geometry";
+  version = "1.0.0";
+  sha256 = "1vvqch3pdwymjbmir7b208qyzdzljsw1gf8icmzw5pi3vn6wkihf";
+  buildDepends = [ parallel polynomialsBernstein vector ];
+  meta = {
+    description = "Drawings for printed text documents";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ jpbernardy ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unbound-generics/default.nix b/pkgs/development/libraries/haskell/unbound-generics/default.nix
new file mode 100644
index 00000000000..351df38fc0d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unbound-generics/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, contravariant, mtl, QuickCheck, tasty, tastyHunit
+, tastyQuickcheck, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "unbound-generics";
+  version = "0.0.2";
+  sha256 = "0zgajq411bp16xwv31i2igsz62lad923rylhfprklsism13rk5ai";
+  buildDepends = [ contravariant mtl transformers ];
+  testDepends = [ mtl QuickCheck tasty tastyHunit tastyQuickcheck ];
+  meta = {
+    homepage = "http://github.com/lambdageek/unbound-generics";
+    description = "Reimplementation of Unbound using GHC Generics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unification-fd/default.nix b/pkgs/development/libraries/haskell/unification-fd/default.nix
new file mode 100644
index 00000000000..5489310e332
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unification-fd/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, logict, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "unification-fd";
+  version = "0.9.0";
+  sha256 = "0fdnpcpcpjlxlwxpqlawwbgqhs1p9lrksy5ln5isyvr06hwqh7ki";
+  buildDepends = [ logict mtl ];
+  meta = {
+    homepage = "http://code.haskell.org/~wren/";
+    description = "Simple generic unification algorithms";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/unique/default.nix b/pkgs/development/libraries/haskell/unique/default.nix
new file mode 100644
index 00000000000..0325a0da75d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unique/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "Unique";
+  version = "0.2";
+  sha256 = "0qylqb71gkvfwnnz4ij22x79y583y409fszqnyqd6dc90gycfm98";
+  meta = {
+    description = "It provides the functionality like unix \"uniq\" utility";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/units/default.nix b/pkgs/development/libraries/haskell/units/default.nix
index c5d5262750d..2024aacf7ff 100644
--- a/pkgs/development/libraries/haskell/units/default.nix
+++ b/pkgs/development/libraries/haskell/units/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "units";
-  version = "2.1";
-  sha256 = "1qrjc57j15ras0v43cpd7qhh9nzh9dbnkaik6s4c8aj8nkhgd8vs";
+  version = "2.2";
+  sha256 = "1hd7klv0h2rsq971rbghvgy2921bf0zxikdsl26qw08yb0zirvza";
   buildDepends = [
     mtl multimap parsec singletons syb thDesugar vectorSpace
   ];
@@ -16,7 +16,7 @@ cabal.mkDerivation (self: {
     thDesugar vectorSpace
   ];
   meta = {
-    homepage = "http://www.cis.upenn.edu/~eir/packages/units";
+    homepage = "https://github.com/goldfirere/units";
     description = "A domain-specific type system for dimensional analysis";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/unix-memory/default.nix b/pkgs/development/libraries/haskell/unix-memory/default.nix
index caaf6c1bde5..c8fa0d244fb 100644
--- a/pkgs/development/libraries/haskell/unix-memory/default.nix
+++ b/pkgs/development/libraries/haskell/unix-memory/default.nix
@@ -1,17 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HUnit, mtl, QuickCheck, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2
-}:
+{ cabal, mtl, QuickCheck, tasty, tastyHunit, tastyQuickcheck }:
 
 cabal.mkDerivation (self: {
   pname = "unix-memory";
-  version = "0.1.1";
-  sha256 = "02jmccs7mcg2lhpnb1ps7ycxzmn46b4drf994vv0pawwjrkrhnhk";
-  testDepends = [
-    HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
+  version = "0.1.2";
+  sha256 = "1r8s7z39d31h1n7rcincy156lbsvamr6jicx52kv8simb9gvarpp";
+  testDepends = [ mtl QuickCheck tasty tastyHunit tastyQuickcheck ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-unix-memory";
     description = "Unix memory syscalls";
diff --git a/pkgs/development/libraries/haskell/unix-time/default.nix b/pkgs/development/libraries/haskell/unix-time/default.nix
index 60f0f21b292..74bfb292775 100644
--- a/pkgs/development/libraries/haskell/unix-time/default.nix
+++ b/pkgs/development/libraries/haskell/unix-time/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unix-time";
-  version = "0.3.3";
-  sha256 = "018wpr5d2kjv8syj97664sqh1v7ws1780qmlfxvrakj86z9k5i8x";
+  version = "0.3.4";
+  sha256 = "1bni03bzayg3vwj6mwcl4z41zixv8nida8jc3vkv41fr7mzb24g5";
   buildDepends = [ binary ];
   testDepends = [ doctest hspec QuickCheck time ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
deleted file mode 100644
index d7040ac611a..00000000000
--- a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "unordered-containers";
-  version = "0.2.3.0";
-  sha256 = "1vzgjr9jxdkmgq970ng9zi2j60awvx8iv1v6kzjlrkwzxx1a9dpd";
-  buildDepends = [ deepseq hashable ];
-  testDepends = [
-    ChasingBottoms hashable HUnit QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/tibbe/unordered-containers";
-    description = "Efficient hashing-based container types";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix
deleted file mode 100644
index 9cb06b029e6..00000000000
--- a/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "unordered-containers";
-  version = "0.2.4.0";
-  sha256 = "1x6djgmawzq8i8spib729pdlpnxyi4gz4p08lyn6jhfqjq6fpsil";
-  buildDepends = [ deepseq hashable ];
-  testDepends = [
-    ChasingBottoms hashable HUnit QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/tibbe/unordered-containers";
-    description = "Efficient hashing-based container types";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix
deleted file mode 100644
index 70f00b68d42..00000000000
--- a/pkgs/development/libraries/haskell/unordered-containers/0.2.5.0.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "unordered-containers";
-  version = "0.2.5.0";
-  sha256 = "0y85a9zg77h05c5ajchvfazg84ksvyi92r6bbmh09qzlf7mlb4bj";
-  buildDepends = [ deepseq hashable ];
-  testDepends = [
-    ChasingBottoms hashable HUnit QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/tibbe/unordered-containers";
-    description = "Efficient hashing-based container types";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/unordered-containers/default.nix b/pkgs/development/libraries/haskell/unordered-containers/default.nix
new file mode 100644
index 00000000000..07f1b8beb97
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unordered-containers/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ChasingBottoms, deepseq, hashable, HUnit, QuickCheck
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+}:
+
+cabal.mkDerivation (self: {
+  pname = "unordered-containers";
+  version = "0.2.5.1";
+  sha256 = "06l1xv7vhpxly75saxdrbc6p2zlgz1az278arfkz4rgawfnphn3f";
+  buildDepends = [ deepseq hashable ];
+  testDepends = [
+    ChasingBottoms hashable HUnit QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/tibbe/unordered-containers";
+    description = "Efficient hashing-based container types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/uri-encode/default.nix b/pkgs/development/libraries/haskell/uri-encode/default.nix
index 7a86bcd2f65..d6e445ebd4e 100644
--- a/pkgs/development/libraries/haskell/uri-encode/default.nix
+++ b/pkgs/development/libraries/haskell/uri-encode/default.nix
@@ -9,9 +9,11 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ networkUri text utf8String ];
+  jailbreak = true;
   meta = {
     description = "Unicode aware uri-encoding";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/uri/default.nix b/pkgs/development/libraries/haskell/uri/default.nix
index 11276f2bc4a..633818d9518 100644
--- a/pkgs/development/libraries/haskell/uri/default.nix
+++ b/pkgs/development/libraries/haskell/uri/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uri";
-  version = "0.1.6.2";
-  sha256 = "0f2ms8awm4x7pw8ms6in0mxspqmnhv8bxas0947rkrzc5m9k0h3s";
+  version = "0.1.6.3";
+  sha256 = "1dhmrn4mq3ia0iv3y2k5pw71a6677q3vdqqf2w4b3aksi6wna49j";
   buildDepends = [ parsec safe utf8String ];
   meta = {
     homepage = "http://gitorious.org/uri";
diff --git a/pkgs/development/libraries/haskell/urlencoded/default.nix b/pkgs/development/libraries/haskell/urlencoded/default.nix
index 74ae443f8a6..e60af0e3152 100644
--- a/pkgs/development/libraries/haskell/urlencoded/default.nix
+++ b/pkgs/development/libraries/haskell/urlencoded/default.nix
@@ -14,5 +14,6 @@ cabal.mkDerivation (self: {
     description = "Generate or process x-www-urlencoded data";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/uuid/default.nix b/pkgs/development/libraries/haskell/uuid/default.nix
index eb36f5555ae..0c65e8dc1df 100644
--- a/pkgs/development/libraries/haskell/uuid/default.nix
+++ b/pkgs/development/libraries/haskell/uuid/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uuid";
-  version = "1.3.3";
-  sha256 = "12sfspmrnpqbwwscv3w41pkkdbfvy1aaa84y7is0d3ffk5rll80m";
+  version = "1.3.7";
+  sha256 = "01idfi9vdmcz8fkgnfa0bpz6khx4x2r0rzynzha42irl7881da21";
   buildDepends = [
     binary cryptohash deepseq hashable networkInfo random time
   ];
@@ -19,7 +19,7 @@ cabal.mkDerivation (self: {
   jailbreak = true;
   doCheck = false;
   meta = {
-    homepage = "http://projects.haskell.org/uuid/";
+    homepage = "https://github.com/aslatter/uuid";
     description = "For creating, comparing, parsing and printing Universally Unique Identifiers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/vado/default.nix b/pkgs/development/libraries/haskell/vado/default.nix
index e116dd529cf..87f0ed126fa 100644
--- a/pkgs/development/libraries/haskell/vado/default.nix
+++ b/pkgs/development/libraries/haskell/vado/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vado";
-  version = "0.0.1";
-  sha256 = "11b8glzzpzhm8cfw3vyvvvz3h0xid5r3prwhnvplajr7v3r562h2";
+  version = "0.0.3";
+  sha256 = "1s6fb19p3lc6g13ryh7bmxciv62v8m0ihvzrymsj0nn6jghiys5f";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ attoparsec filepath text ];
@@ -15,7 +15,5 @@ cabal.mkDerivation (self: {
     description = "Runs commands on remote machines using ssh";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/validation/default.nix b/pkgs/development/libraries/haskell/validation/default.nix
new file mode 100644
index 00000000000..903165b2f5f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/validation/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, doctest, filepath, lens, QuickCheck
+, semigroupoids, semigroups, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "validation";
+  version = "0.4.2";
+  sha256 = "0rsa3n3zawywbpi1gvhfrfglxf9mkmkidkc216ld3s02pmsdmclm";
+  buildDepends = [
+    bifunctors lens semigroupoids semigroups transformers
+  ];
+  testDepends = [ doctest filepath QuickCheck ];
+  meta = {
+    homepage = "https://github.com/tonymorris/validation";
+    description = "A data-type like Either but with an accumulating Applicative";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix
index 318f369fc3e..5e1d6ebf5b8 100644
--- a/pkgs/development/libraries/haskell/vcsgui/default.nix
+++ b/pkgs/development/libraries/haskell/vcsgui/default.nix
@@ -1,20 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, filepath, gtk3, mtl, vcswrapper }:
+{ cabal, filepath, gtk3, mtl, text, vcswrapper }:
 
 cabal.mkDerivation (self: {
   pname = "vcsgui";
-  version = "0.0.4";
-  sha256 = "12hfdhnv3xc2dyqk76lyx5ggiygyap4hm50sd6qmwfjj3f2w6b98";
+  version = "0.1.1.0";
+  sha256 = "1sjkg1ncmpymv9m5ag1f4ia4pdak05bgb03d28jd84p24qvshqyk";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ filepath gtk3 mtl vcswrapper ];
+  buildDepends = [ filepath gtk3 mtl text vcswrapper ];
   meta = {
     homepage = "https://github.com/forste/haskellVCSGUI";
     description = "GUI library for source code management systems";
     license = "GPL";
     platforms = self.stdenv.lib.platforms.linux;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/vcswrapper/default.nix b/pkgs/development/libraries/haskell/vcswrapper/default.nix
index 75336ef8816..335c5b319bc 100644
--- a/pkgs/development/libraries/haskell/vcswrapper/default.nix
+++ b/pkgs/development/libraries/haskell/vcswrapper/default.nix
@@ -4,11 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "vcswrapper";
-  version = "0.0.4";
-  sha256 = "130pmzxdsqv703k2g197vd5rl60fwkqqv2xck66ygb932wsq3fnk";
+  version = "0.1.1";
+  sha256 = "056gdgmyprvbz61gfffkpwfyh4m7f9fnglk69jp4xh4jfx1wr7ni";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath hxt mtl parsec split text ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/forste/haskellVCSWrapper";
     description = "Wrapper for source code management systems";
diff --git a/pkgs/development/libraries/haskell/vector-fftw/default.nix b/pkgs/development/libraries/haskell/vector-fftw/default.nix
new file mode 100644
index 00000000000..f1bdbfb3d1e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector-fftw/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, fftw, primitive, storableComplex, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "vector-fftw";
+  version = "0.1.3.2";
+  sha256 = "0rfvr86yiwp4wb9qjggbbacmgkfj6xrk6h7xb4xmhmk88slvifm0";
+  buildDepends = [ primitive storableComplex vector ];
+  extraLibraries = [ fftw ];
+  meta = {
+    homepage = "http://hackage.haskell.org/package/vector-fftw";
+    description = "A binding to the fftw library for one-dimensional vectors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.0.1.nix b/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
deleted file mode 100644
index 0f48fbecf06..00000000000
--- a/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, primitive }:
-
-cabal.mkDerivation (self: {
-  pname = "vector";
-  version = "0.10.0.1";
-  sha256 = "1bq8am8qnpnsla315i21f1kikikalyz9ps1izxgpr9q1ic2lbsgc";
-  buildDepends = [ deepseq primitive ];
-  meta = {
-    homepage = "http://code.haskell.org/vector";
-    description = "Efficient Arrays";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.11.0.nix b/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
deleted file mode 100644
index e93160ff6d0..00000000000
--- a/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, primitive }:
-
-cabal.mkDerivation (self: {
-  pname = "vector";
-  version = "0.10.11.0";
-  sha256 = "0f5jks8q0287zgzlfg3x7akpahck6dm1c37hb8kk6qn51csx515j";
-  buildDepends = [ deepseq primitive ];
-  meta = {
-    homepage = "https://github.com/haskell/vector";
-    description = "Efficient Arrays";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.12.2.nix b/pkgs/development/libraries/haskell/vector/0.10.12.2.nix
new file mode 100644
index 00000000000..011c9b367fa
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector/0.10.12.2.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, primitive, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vector";
+  version = "0.10.12.2";
+  sha256 = "01hc71k1z9m0g0dv4zsvq5d2dvbgyc5p01hryw5c53792yi2fm25";
+  buildDepends = [ deepseq primitive ];
+  testDepends = [
+    QuickCheck random testFramework testFrameworkQuickcheck2
+    transformers
+  ];
+  configureFlags = "${self.stdenv.lib.optionalString self.stdenv.isi686 "--ghc-options=-msse2"}";
+  meta = {
+    homepage = "https://github.com/haskell/vector";
+    description = "Efficient Arrays";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.9.3.nix b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
index d07f27bee31..42796bea548 100644
--- a/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
+++ b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.10.9.3";
   sha256 = "08mlg0v7an6mm04skvxrgfndab0wikfs4glv7jj8ylxwc8959kdx";
   buildDepends = [ deepseq primitive ];
+  configureFlags = "${self.stdenv.lib.optionalString self.stdenv.isi686 "--ghc-options=-msse2"}";
   meta = {
     homepage = "https://github.com/haskell/vector";
     description = "Efficient Arrays";
diff --git a/pkgs/development/libraries/haskell/vinyl/default.nix b/pkgs/development/libraries/haskell/vinyl/default.nix
index 46ea723641c..6ba3c4a86ce 100644
--- a/pkgs/development/libraries/haskell/vinyl/default.nix
+++ b/pkgs/development/libraries/haskell/vinyl/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vinyl";
-  version = "0.4.3";
-  sha256 = "1npcpvr94l2gpk9z4y527raf2p3d6099m231vw0myci37ljnjgdf";
+  version = "0.5";
+  sha256 = "0jm31cynhl8ggmi6ndj7lhfm85cqml67svxm4v3kc8mnw5gj3c59";
   testDepends = [ doctest lens singletons ];
   meta = {
     description = "Extensible Records";
diff --git a/pkgs/development/libraries/haskell/vk-aws-route53/default.nix b/pkgs/development/libraries/haskell/vk-aws-route53/default.nix
new file mode 100644
index 00000000000..4d8188792ac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vk-aws-route53/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aws, httpConduit, httpTypes, resourcet, text, time
+, xmlConduit, xmlHamlet
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vk-aws-route53";
+  version = "0.1.2";
+  sha256 = "0sblvj89bb7vxgy09m88gcphqc9w2mpawg8kdz0r77y7db0vzb4x";
+  buildDepends = [
+    aws httpConduit httpTypes resourcet text time xmlConduit xmlHamlet
+  ];
+  meta = {
+    description = "Amazon Route53 DNS service plugin for the aws package";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vk-posix-pty/default.nix b/pkgs/development/libraries/haskell/vk-posix-pty/default.nix
new file mode 100644
index 00000000000..52a57bd0cae
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vk-posix-pty/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "vk-posix-pty";
+  version = "0.2.1";
+  sha256 = "1kj06niwcsb4lyhppv5bs67cf8frcs4g8fyyzv3cpipn0xdhsr97";
+  isLibrary = true;
+  isExecutable = true;
+  meta = {
+    homepage = "https://github.com/proger/posix-pty/tree/fork";
+    description = "Pseudo terminal interaction with subprocesses";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/void/default.nix b/pkgs/development/libraries/haskell/void/default.nix
index f6cc8eaa4d9..16f4bfeb8ef 100644
--- a/pkgs/development/libraries/haskell/void/default.nix
+++ b/pkgs/development/libraries/haskell/void/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "void";
-  version = "0.6.1";
-  sha256 = "09pa0n17b7cz7sa699gjdmp1hxcshl3170nl5sx2x99zvxz2mv42";
+  version = "0.7";
+  sha256 = "0ivgr4minxb5v56v4kbd045iwqk1c2w89c830731l75mkg8qa6wq";
   buildDepends = [ hashable semigroups ];
   meta = {
     homepage = "http://github.com/ekmett/void";
diff --git a/pkgs/development/libraries/haskell/vty-ui/default.nix b/pkgs/development/libraries/haskell/vty-ui/default.nix
index e8775c7d112..33f0b906973 100644
--- a/pkgs/development/libraries/haskell/vty-ui/default.nix
+++ b/pkgs/development/libraries/haskell/vty-ui/default.nix
@@ -1,17 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, filepath, mtl, QuickCheck, random, regexBase, stm, text
-, time, vector, vty
+{ cabal, dataDefault, filepath, mtl, QuickCheck, random, regexBase
+, stm, text, time, vector, vty
 }:
 
 cabal.mkDerivation (self: {
   pname = "vty-ui";
-  version = "1.7.1";
-  sha256 = "1xgv2psbqcqpzgj1f1pis6hr7yvny8y9ajimllam7zsk6kbhngzz";
+  version = "1.8";
+  sha256 = "08jrcwml5g74mp4wy7kqp9jd5mfbxl04517v5354jiwn4dc77azm";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    filepath mtl QuickCheck random regexBase stm text time vector vty
+    dataDefault filepath mtl QuickCheck random regexBase stm text time
+    vector vty
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/vty/4.7.5.nix b/pkgs/development/libraries/haskell/vty/4.7.5.nix
deleted file mode 100644
index 1eccdd58fef..00000000000
--- a/pkgs/development/libraries/haskell/vty/4.7.5.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, deepseq, mtl, parallel, parsec, QuickCheck, random
-, stringQq, terminfo, utf8String, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "vty";
-  version = "4.7.5";
-  sha256 = "0ahd5qjszfw1xbl5jxhzfw31mny8hp8clw9qciv15xn442prvvpr";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    deepseq mtl parallel parsec stringQq terminfo utf8String vector
-  ];
-  testDepends = [
-    Cabal deepseq mtl parallel parsec QuickCheck random terminfo
-    utf8String vector
-  ];
-  jailbreak = true;
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/coreyoconnor/vty";
-    description = "A simple terminal UI library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/vty/5.2.1.nix b/pkgs/development/libraries/haskell/vty/5.2.1.nix
deleted file mode 100644
index 6034807929e..00000000000
--- a/pkgs/development/libraries/haskell/vty/5.2.1.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, blazeBuilder, Cabal, dataDefault, deepseq, filepath
-, hashable, HUnit, lens, mtl, parallel, parsec, QuickCheck
-, quickcheckAssertions, random, smallcheck, stringQq, terminfo
-, testFramework, testFrameworkHunit, testFrameworkSmallcheck, text
-, transformers, utf8String, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "vty";
-  version = "5.2.1";
-  sha256 = "15xg7yznizscvyjlnivakrzk60l0a0pigax7sgnn2ab79rfzcxww";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    blazeBuilder dataDefault deepseq filepath hashable lens mtl
-    parallel parsec terminfo text transformers utf8String vector
-  ];
-  testDepends = [
-    blazeBuilder Cabal dataDefault deepseq HUnit lens mtl QuickCheck
-    quickcheckAssertions random smallcheck stringQq terminfo
-    testFramework testFrameworkHunit testFrameworkSmallcheck text
-    utf8String vector
-  ];
-  jailbreak = true;
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/coreyoconnor/vty";
-    description = "A simple terminal UI library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/default.nix
new file mode 100644
index 00000000000..d91f04f6f26
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vty/default.nix
@@ -0,0 +1,34 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeBuilder, Cabal, dataDefault, deepseq, filepath
+, hashable, HUnit, lens, mtl, parallel, parsec, QuickCheck
+, quickcheckAssertions, random, smallcheck, stringQq, terminfo
+, testFramework, testFrameworkHunit, testFrameworkSmallcheck, text
+, transformers, utf8String, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vty";
+  version = "5.2.6";
+  sha256 = "05d5vczifyzg36w1d4wwa9h27fpwgxaxws5ilmg47gq4zr1a6yxi";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeBuilder dataDefault deepseq filepath hashable lens mtl
+    parallel parsec terminfo text transformers utf8String vector
+  ];
+  testDepends = [
+    blazeBuilder Cabal dataDefault deepseq HUnit lens mtl QuickCheck
+    quickcheckAssertions random smallcheck stringQq terminfo
+    testFramework testFrameworkHunit testFrameworkSmallcheck text
+    utf8String vector
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/coreyoconnor/vty";
+    description = "A simple terminal UI library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index 530f9828ae5..ce99df0390e 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "3.0.0";
-  sha256 = "117r2ps440i2i156k50b674fkny2ywwbbla6ry0km041604cl733";
+  version = "3.0.0.3";
+  sha256 = "0krvjnysmfaqds715mp6lhh5am327swi2vja5insmn08da87zhnb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/wai-conduit/default.nix b/pkgs/development/libraries/haskell/wai-conduit/default.nix
index 6174784a134..5c5c1134396 100644
--- a/pkgs/development/libraries/haskell/wai-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/wai-conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-conduit";
-  version = "3.0.0";
-  sha256 = "0v92jyxkigq7yj3hzy7kg360036nav986ny7b558l6j7zc90jsdg";
+  version = "3.0.0.1";
+  sha256 = "0m5mfr6plzb873by4pab9d4g4cwfcpxl6g5c5qyljb8sydfzhhym";
   buildDepends = [ blazeBuilder conduit httpTypes transformers wai ];
   meta = {
     homepage = "https://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 39514c8a3bd..480a6101487 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, ansiTerminal, base64Bytestring, blazeBuilder
-, caseInsensitive, dataDefault, dataDefaultClass, deepseq
-, fastLogger, hspec, httpTypes, HUnit, liftedBase, network
-, resourcet, streamingCommons, stringsearch, text, time
-, transformers, void, wai, waiLogger, word8, zlib
+, caseInsensitive, dataDefaultClass, deepseq, fastLogger, hspec
+, httpTypes, HUnit, liftedBase, network, resourcet
+, streamingCommons, stringsearch, text, time, transformers, void
+, wai, waiLogger, word8, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "3.0.2.1";
-  sha256 = "02jamvina7m9wjz0hd7gj309d1vcmhgdwyh9y1bfpvq29ngqkkca";
+  version = "3.0.2.2";
+  sha256 = "0lbm5z4fzsss1y4749598ish967j64nfvlvdmgj27nvshi7qn4s9";
   buildDepends = [
     ansiTerminal base64Bytestring blazeBuilder caseInsensitive
     dataDefaultClass deepseq fastLogger httpTypes liftedBase network
@@ -18,8 +18,8 @@ cabal.mkDerivation (self: {
     wai waiLogger word8
   ];
   testDepends = [
-    blazeBuilder dataDefault fastLogger hspec httpTypes HUnit resourcet
-    text transformers wai zlib
+    fastLogger hspec httpTypes HUnit resourcet text transformers wai
+    zlib
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
index 4c89a25dae8..e9db0b365be 100644
--- a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-middleware-static";
-  version = "0.6.0";
-  sha256 = "1rsy8qkxcjqdpzqkar0smyy49p8vqapi47k8d24101lz3rym6018";
+  version = "0.6.0.1";
+  sha256 = "1ylf2nm535d3dw0ksa9dfz1b4b78mqzkdrpdfd5pxswcqbgs266d";
   buildDepends = [ filepath httpTypes mtl text wai ];
   jailbreak = true;
   meta = {
-    homepage = "https://github.com/scotty-web/scotty";
+    homepage = "https://github.com/scotty-web/wai-middleware-static";
     description = "WAI middleware that serves requests to static files";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/wai-util/default.nix b/pkgs/development/libraries/haskell/wai-util/default.nix
new file mode 100644
index 00000000000..fc9b964b26d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-util/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, httpAccept
+, httpTypes, mimeMail, network, resourcet, text, transformers, wai
+, waiExtra
+}:
+
+cabal.mkDerivation (self: {
+  pname = "wai-util";
+  version = "0.7";
+  sha256 = "1lmx4f7174hzy4a60r2hq9vm9xhbg8vnb9cyi77zyb5p59s53p73";
+  buildDepends = [
+    aeson blazeBuilder caseInsensitive conduit httpAccept httpTypes
+    mimeMail network resourcet text transformers wai waiExtra
+  ];
+  meta = {
+    homepage = "https://github.com/singpolyma/wai-util";
+    description = "Collection of utility functions for use with WAI";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix
index a60a6e9dda0..d225b70f0e7 100644
--- a/pkgs/development/libraries/haskell/wai-websockets/default.nix
+++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix
@@ -1,20 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, blazeBuilder, caseInsensitive, fileEmbed, httpTypes
-, ioStreams, network, text, transformers, wai, waiAppStatic, warp
-, websockets
+, network, text, transformers, wai, waiAppStatic, warp, websockets
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-websockets";
-  version = "3.0.0.1";
-  sha256 = "01rbwyx2ks6hdaw5qw7dibidyw4bh85s2gzqy4rhmxpdcnmxxmnz";
+  version = "3.0.0.2";
+  sha256 = "1p0ylwc19g63z4qijnis1x5wys5h2avim6s2fn7m2ihrlc3pkhsb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    blazeBuilder caseInsensitive fileEmbed httpTypes ioStreams network
-    text transformers wai waiAppStatic warp websockets
+    blazeBuilder caseInsensitive fileEmbed httpTypes network text
+    transformers wai waiAppStatic warp websockets
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/yesodweb/wai";
     description = "Provide a bridge betweeen WAI and the websockets package";
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index 1c63b4ce596..2effc4fc83b 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "3.0.1.1";
-  sha256 = "04dka0mgqckzhvmz8m9gqvk5qq79g23q8wx40v42fwhkwwy7f8i0";
+  version = "3.0.2";
+  sha256 = "0k67yzr05d6vjwqamnzzggk1mlj9wabqrm26dqbrrc40jj3kddgw";
   buildDepends = [ blazeBuilder httpTypes network text vault ];
   testDepends = [ blazeBuilder hspec ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix
index 4eca4c8c192..8b4668dcf5a 100644
--- a/pkgs/development/libraries/haskell/warp-tls/default.nix
+++ b/pkgs/development/libraries/haskell/warp-tls/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp-tls";
-  version = "3.0.0";
-  sha256 = "14gm43a811v9h87ia2b9y9kynafrvq3yw89gswlj832469jx9sfw";
+  version = "3.0.1";
+  sha256 = "0s87ricslidyg6m17q5mllpl47v0d8mvvd6psq4izz5l27dg2xpy";
   buildDepends = [
     cprngAes dataDefaultClass network streamingCommons tls wai warp
   ];
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index bf53afbe8c8..ae363291803 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "3.0.1.1";
-  sha256 = "1sgmcyk9ngys990287wsga3kk6wf29sj414w6jmv8a4sal202mqc";
+  version = "3.0.4";
+  sha256 = "0kykf3nki9a7mqr1z9jhk4z0cbzlmk9lyc7zw5y36285mx9id0dr";
   buildDepends = [
     autoUpdate blazeBuilder caseInsensitive hashable httpDate httpTypes
     network simpleSendfile streamingCommons text unixCompat void wai
diff --git a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
index bed9467a9d2..88f26878280 100644
--- a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "web-routes-boomerang";
-  version = "0.28.2";
-  sha256 = "17237xq8nvy0c1mxzf7pad5kw0mrgbzazy0rflp382ig9q6ipd05";
+  version = "0.28.3";
+  sha256 = "0d3ccp4hbzjhqzqy901da8dpz23sylwg54xs5iyjhmqvw0v7ljpn";
   buildDepends = [ boomerang mtl parsec text webRoutes ];
   meta = {
     description = "Library for maintaining correctness and composability of URLs within an application";
diff --git a/pkgs/development/libraries/haskell/web-routes-happstack/default.nix b/pkgs/development/libraries/haskell/web-routes-happstack/default.nix
new file mode 100644
index 00000000000..299357e2073
--- /dev/null
+++ b/pkgs/development/libraries/haskell/web-routes-happstack/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, happstackServer, text, webRoutes }:
+
+cabal.mkDerivation (self: {
+  pname = "web-routes-happstack";
+  version = "0.23.9";
+  sha256 = "0vsjm979z21858wk9z1b855jqmr4apm35b5ff8x6nynq6kiflrzw";
+  buildDepends = [ happstackServer text webRoutes ];
+  meta = {
+    description = "Adds support for using web-routes with Happstack";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
index 12f2212c8e3..b29d42dc961 100644
--- a/pkgs/development/libraries/haskell/web-routes/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "web-routes";
-  version = "0.27.6";
-  sha256 = "16jmiwnwmq9bkifk14dfs88a2kyy7rqybyq68ybrjq1x84x6pkkp";
+  version = "0.27.7";
+  sha256 = "0q6rl8vasbkq24jdfdq6jrjivcqqmdy34w8zw5zczmscpyjqf0zb";
   buildDepends = [
     blazeBuilder httpTypes mtl parsec split text utf8String
   ];
diff --git a/pkgs/development/libraries/haskell/webdriver/default.nix b/pkgs/development/libraries/haskell/webdriver/default.nix
index d3a041d9a8d..7433f165e4d 100644
--- a/pkgs/development/libraries/haskell/webdriver/default.nix
+++ b/pkgs/development/libraries/haskell/webdriver/default.nix
@@ -2,28 +2,28 @@
 
 { cabal, aeson, attoparsec, base64Bytestring, cond, dataDefault
 , directoryTree, exceptions, filepath, httpClient, httpTypes
-, liftedBase, monadControl, mtl, network, parallel, scientific
-, temporary, text, time, transformers, transformersBase
+, liftedBase, monadControl, mtl, network, networkUri, parallel
+, scientific, temporary, text, time, transformers, transformersBase
 , unorderedContainers, vector, zipArchive
 }:
 
 cabal.mkDerivation (self: {
   pname = "webdriver";
-  version = "0.6.0.1";
-  sha256 = "0qpk1i6qr12lcx25bdljwqxgdhf5qk67h04bp6vwmm16dwzsyqd1";
+  version = "0.6.0.4";
+  sha256 = "1miy65dl60gymf0a65kjykdmsl3cwcjrfg1iiyk6vkjz39y6y7qf";
   buildDepends = [
     aeson attoparsec base64Bytestring cond dataDefault directoryTree
     exceptions filepath httpClient httpTypes liftedBase monadControl
-    mtl network scientific temporary text time transformers
+    mtl network networkUri scientific temporary text time transformers
     transformersBase unorderedContainers vector zipArchive
   ];
   testDepends = [ parallel text ];
-  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "https://github.com/kallisti-dev/hs-webdriver";
     description = "a Haskell client for the Selenium WebDriver protocol";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/webkit/default.nix b/pkgs/development/libraries/haskell/webkit/default.nix
index 0d47aeb7955..63b8566b924 100644
--- a/pkgs/development/libraries/haskell/webkit/default.nix
+++ b/pkgs/development/libraries/haskell/webkit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "webkit";
-  version = "0.13.0.0";
-  sha256 = "152rbb01fq9cxjxqm26s1qcv3nashzymkbjy52ql06y7s1n5i3q5";
+  version = "0.13.1.1";
+  sha256 = "0652as9wq0ajaqmcx14y2svishccgrywyagrbzga7m06r3h94dz5";
   buildDepends = [ cairo glib gtk mtl pango text ];
   buildTools = [ gtk2hsBuildtools ];
   pkgconfigDepends = [ webkit ];
diff --git a/pkgs/development/libraries/haskell/webkitgtk3/default.nix b/pkgs/development/libraries/haskell/webkitgtk3/default.nix
new file mode 100644
index 00000000000..4f1d8a15cf7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/webkitgtk3/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cairo, glib, gtk2hsBuildtools, gtk3, mtl, pango, text
+, webkitgtk
+}:
+
+cabal.mkDerivation (self: {
+  pname = "webkitgtk3";
+  version = "0.13.1.1";
+  sha256 = "0lm52xsgf3sayj5d32fyf9fy89zinn7c4z6rq4qw2bsnsdw8hcyb";
+  buildDepends = [ cairo glib gtk3 mtl pango text ];
+  buildTools = [ gtk2hsBuildtools ];
+  pkgconfigDepends = [ webkitgtk ];
+  meta = {
+    homepage = "http://projects.haskell.org/gtk2hs/";
+    description = "Binding to the Webkit library";
+    license = self.stdenv.lib.licenses.lgpl21;
+    platforms = self.stdenv.lib.platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/websockets-snap/default.nix b/pkgs/development/libraries/haskell/websockets-snap/default.nix
index bd68d64b757..72bd7feb781 100644
--- a/pkgs/development/libraries/haskell/websockets-snap/default.nix
+++ b/pkgs/development/libraries/haskell/websockets-snap/default.nix
@@ -1,17 +1,13 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, blazeBuilder, enumerator, ioStreams, mtl, snapCore
-, snapServer, websockets
-}:
+{ cabal, enumerator, mtl, snapCore, snapServer, websockets }:
 
 cabal.mkDerivation (self: {
   pname = "websockets-snap";
-  version = "0.8.2.2";
-  sha256 = "1r5y5czpxrc06i7w3y3fa4dlqmxdypcc8yplg28cv4k3mkfa1hf4";
-  buildDepends = [
-    blazeBuilder enumerator ioStreams mtl snapCore snapServer
-    websockets
-  ];
+  version = "0.9.0.0";
+  sha256 = "051y62xga7drrfllv10giyr49z1z9ql8681dgwynmdad5x6asf85";
+  buildDepends = [ enumerator mtl snapCore snapServer websockets ];
+  jailbreak = true;
   meta = {
     description = "Snap integration for the websockets library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix
index 5db1ec41613..79e03b748e6 100644
--- a/pkgs/development/libraries/haskell/websockets/default.nix
+++ b/pkgs/development/libraries/haskell/websockets/default.nix
@@ -1,24 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, attoparsec, base64Bytestring, binary, blazeBuilder
-, caseInsensitive, entropy, HUnit, ioStreams, mtl, network
-, QuickCheck, random, SHA, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, text
+, caseInsensitive, entropy, HUnit, mtl, network, QuickCheck, random
+, SHA, testFramework, testFrameworkHunit, testFrameworkQuickcheck2
+, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "websockets";
-  version = "0.8.2.6";
-  sha256 = "074d0wkxy2qyi8w9cjgbalqi8b21wf5ak71lcnh94iw76dfxbizf";
+  version = "0.9.2.1";
+  sha256 = "11pdh5dc7r9svg789yx66lff5gcmzs6yg7m74ciz3ybb2i4p855s";
   buildDepends = [
     attoparsec base64Bytestring binary blazeBuilder caseInsensitive
-    entropy ioStreams mtl network random SHA text
+    entropy mtl network random SHA text
   ];
   testDepends = [
     attoparsec base64Bytestring binary blazeBuilder caseInsensitive
-    entropy HUnit ioStreams mtl network QuickCheck random SHA
-    testFramework testFrameworkHunit testFrameworkQuickcheck2 text
+    entropy HUnit mtl network QuickCheck random SHA testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 text
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://jaspervdj.be/websockets";
     description = "A sensible and clean way to write WebSocket-capable servers in Haskell";
diff --git a/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix b/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
index ac8d69ebd3f..0507b1ea1a6 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-extras/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-extras";
-  version = "3.5";
-  sha256 = "172xp23j3w8jbd7h0sna9g8p4d6xwy8154gqj93ycz2907r2kwb7";
+  version = "3.5.0.3";
+  sha256 = "124wb4hqd97f3naha0589v18lvi9xbn39bmn8jwaylvyg6s5fyyp";
   buildDepends = [ nats semigroupoids semigroups text utf8String ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
index 37dc11b1f0f..6f2e62008f5 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-terminfo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-terminfo";
-  version = "3.7.1.1";
-  sha256 = "1mjnbkk3cw2v7nda7qxdkl21pmclz6m17sviqp4qf3rc8rgin3zd";
+  version = "3.7.1.3";
+  sha256 = "19z5cr1wqc3xcy39dswx78b6fpxhb41798zkiwkmb97nnvzwbdmv";
   buildDepends = [
     nats semigroups terminfo text transformers wlPprintExtras
   ];
diff --git a/pkgs/development/libraries/haskell/wl-pprint-text/default.nix b/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
index 2d6d48d41ae..9ec7c2e1743 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
@@ -4,9 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "wl-pprint-text";
-  version = "1.1.0.2";
-  sha256 = "0wbfqp38as2qpn66sq4hvl3hzvj66v301cz9rmgnx2i62r0a3s81";
+  version = "1.1.0.3";
+  sha256 = "1ghrkqdfsdkn71mpipbxiaar2gd8mdyd3dxbsz68awwnlpapy4f3";
   buildDepends = [ text ];
+  jailbreak = true;
   meta = {
     description = "A Wadler/Leijen Pretty Printer for Text values";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/word-trie/default.nix b/pkgs/development/libraries/haskell/word-trie/default.nix
new file mode 100644
index 00000000000..f817254aa62
--- /dev/null
+++ b/pkgs/development/libraries/haskell/word-trie/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, derive, hspec, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "word-trie";
+  version = "0.2.0.4";
+  sha256 = "0qgljhl2pj54mhsan9w6gchf3l94rs2c5bi9f93q1nz55va1027f";
+  buildDepends = [ binary derive ];
+  testDepends = [ binary derive hspec QuickCheck ];
+  meta = {
+    homepage = "https://github.com/yi-editor/word-trie";
+    description = "Implementation of a finite trie over words";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wordexp/default.nix b/pkgs/development/libraries/haskell/wordexp/default.nix
new file mode 100644
index 00000000000..7d03b1adea5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wordexp/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, c2hs, semigroups }:
+
+cabal.mkDerivation (self: {
+  pname = "wordexp";
+  version = "0.2.0.0";
+  sha256 = "1hfpvzbyyh47ai166xyrhmhvg2shrqcswsfalwa16wab6hcg32ki";
+  buildDepends = [ semigroups ];
+  buildTools = [ c2hs ];
+  meta = {
+    description = "wordexp(3) wrappers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wreq/default.nix b/pkgs/development/libraries/haskell/wreq/default.nix
index d0a3e94fcd2..8b6e7151273 100644
--- a/pkgs/development/libraries/haskell/wreq/default.nix
+++ b/pkgs/development/libraries/haskell/wreq/default.nix
@@ -1,24 +1,31 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, doctest, exceptions, filepath
-, httpClient, httpClientTls, httpTypes, HUnit, lens, lensAeson
-, mimeTypes, temporary, testFramework, testFrameworkHunit, text
-, time
+{ cabal, aeson, aesonPretty, aesonQq, attoparsec, base16Bytestring
+, base64Bytestring, byteable, caseInsensitive, cryptohash, doctest
+, exceptions, filepath, hashable, httpClient, httpClientTls
+, httpTypes, HUnit, lens, lensAeson, mimeTypes, networkInfo
+, PSQueue, QuickCheck, snapCore, snapServer, temporary
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, time, transformers, unixCompat, unorderedContainers, uuid
 }:
 
 cabal.mkDerivation (self: {
   pname = "wreq";
-  version = "0.2.0.0";
-  sha256 = "0ajrwn4yn6h65v97jfhbb4x3j307gdf34dyjnnhsrmsf7911l44d";
+  version = "0.3.0.1";
+  sha256 = "13apqr8sfx2vi794ldqprmgqch79sqli9scgyk3k41v7wcwqaal4";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson attoparsec exceptions httpClient httpClientTls httpTypes lens
-    lensAeson mimeTypes text time
+    aeson attoparsec base16Bytestring byteable caseInsensitive
+    cryptohash exceptions hashable httpClient httpClientTls httpTypes
+    lens lensAeson mimeTypes PSQueue text time unorderedContainers
   ];
   testDepends = [
-    aeson doctest filepath httpClient httpTypes HUnit lens lensAeson
-    temporary testFramework testFrameworkHunit text
+    aeson aesonPretty aesonQq base64Bytestring caseInsensitive doctest
+    filepath hashable httpClient httpTypes HUnit lens lensAeson
+    networkInfo QuickCheck snapCore snapServer temporary testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 text transformers
+    unixCompat uuid
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/wxHaskell/no-ldconfig.patch b/pkgs/development/libraries/haskell/wxHaskell/no-ldconfig.patch
new file mode 100644
index 00000000000..72a8648cab6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wxHaskell/no-ldconfig.patch
@@ -0,0 +1,10 @@
+Only in wxc-0.91.0.0: dist
+diff -ubr wxc-0.91.0.0-orig/Setup.hs wxc-0.91.0.0/Setup.hs
+--- wxc-0.91.0.0-orig/Setup.hs	2014-10-31 13:30:15.514809137 +0100
++++ wxc-0.91.0.0/Setup.hs	2014-10-31 13:33:53.606372005 +0100
+@@ -507,5 +507,3 @@
+         inst_lib_dir = libdir $ absoluteInstallDirs pkg_descr local_bld_info NoCopyDest

+ 

+     installOrdinaryFile (verbosity flags) (bld_dir </> lib_name) (inst_lib_dir </> lib_name)

+-    ldconfig inst_lib_dir

+-

diff --git a/pkgs/development/libraries/haskell/wxHaskell/wx.nix b/pkgs/development/libraries/haskell/wxHaskell/wx.nix
index c10897b4b11..4e824124050 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wx.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wx.nix
@@ -4,15 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "wx";
-  version = "0.90.1.0";
-  sha256 = "1669mrd73c3v7c4yc0zgyqsnfgzb7561v1wd168y06d0db1nlkn9";
+  version = "0.91.0.0";
+  sha256 = "133cjc3vfqxyw71a5x99flzg23qa2k28p2zajw6vp0z7qhv8kfjy";
   buildDepends = [ stm wxcore ];
-  preConfigure = "find . -type f -exec touch {} +";
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
index 4026a892f6e..2a184043251 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
@@ -4,11 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "wxc";
-  version = "0.90.1.1";
-  sha256 = "0cvfphskvsq3lsl24h6jh8r6yw5jg8qa9wdc883yasfvmzmxwwgc";
+  version = "0.91.0.0";
+  sha256 = "0siab2h28dlyliznydxll22l9hdgwbmgddj01k1xw8hj4g7b53sa";
   buildDepends = [ wxdirect ];
   extraLibraries = [ libX11 mesa wxGTK ];
   noHaddock = true;
+  patches = [ ./no-ldconfig.patch ];
   postInstall = ''
     cp -v dist/build/libwxc.so.${self.version} $out/lib/libwxc.so
   '';
@@ -17,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "wxHaskell C++ wrapper";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
index 8fc4df1a0ce..7d1bebe1d88 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
@@ -6,18 +6,15 @@
 
 cabal.mkDerivation (self: {
   pname = "wxcore";
-  version = "0.90.1.1";
-  sha256 = "1ma6vjf87b493vz3sj6hxzifqixk62n6b5gvixpfzfig1lysddgp";
+  version = "0.91.0.0";
+  sha256 = "01pvaysihyijklyw129vcafjqyh8bpafjzvscxvzll1g86qbqlkz";
   buildDepends = [ filepath parsec stm time wxc wxdirect ];
   extraLibraries = [ libX11 mesa wxGTK ];
-  patchPhase = ''
-    sed -i -e 's|array >= .*,|array,|' wxcore.cabal
-  '';
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell core";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
index f89d39ca5ed..c178207e699 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wxdirect";
-  version = "0.90.1.1";
-  sha256 = "0ibhxl4n66w094jhca01z2vmibgz0nn7qddgxzqngvajzjvnha98";
+  version = "0.91.0.0";
+  sha256 = "17xlviyyagcvmc7m1f4djnsw0wdakirarmv12j4fmwbnfnbryp27";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath parsec strict time ];
diff --git a/pkgs/development/libraries/haskell/x509-store/default.nix b/pkgs/development/libraries/haskell/x509-store/default.nix
index 9b060630edb..36486dbf40e 100644
--- a/pkgs/development/libraries/haskell/x509-store/default.nix
+++ b/pkgs/development/libraries/haskell/x509-store/default.nix
@@ -1,15 +1,15 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, asn1Encoding, asn1Types, cryptoPubkeyTypes, filepath, mtl
-, pem, time, x509
+, pem, x509
 }:
 
 cabal.mkDerivation (self: {
   pname = "x509-store";
-  version = "1.4.4";
-  sha256 = "0i3hfrddr0wpfl75a76a1j24az08z4x7ya8l5qcdk7c1lr2c2bw8";
+  version = "1.5.0";
+  sha256 = "1w9sqb007s4avjzvrdwq13a4c528h7h2lg3m8cl31syrgznc9ny5";
   buildDepends = [
-    asn1Encoding asn1Types cryptoPubkeyTypes filepath mtl pem time x509
+    asn1Encoding asn1Types cryptoPubkeyTypes filepath mtl pem x509
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-certificate";
diff --git a/pkgs/development/libraries/haskell/x509-system/default.nix b/pkgs/development/libraries/haskell/x509-system/default.nix
index b36b8c9cdfb..87bb4ed1fec 100644
--- a/pkgs/development/libraries/haskell/x509-system/default.nix
+++ b/pkgs/development/libraries/haskell/x509-system/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, filepath, mtl, pem, time, x509, x509Store }:
+{ cabal, filepath, mtl, pem, x509, x509Store }:
 
 cabal.mkDerivation (self: {
   pname = "x509-system";
-  version = "1.4.5";
-  sha256 = "0pwn624n6fagg9rw2p09x2k212rc8167jhqz6z5wf6m7y56ql28x";
-  buildDepends = [ filepath mtl pem time x509 x509Store ];
+  version = "1.5.0";
+  sha256 = "159zwg35nq42j1rl0p4x00hdf3iy48hd7kavz0rnpwd2p7ljamr3";
+  buildDepends = [ filepath mtl pem x509 x509Store ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-certificate";
     description = "Handle per-operating-system X.509 accessors and storage";
diff --git a/pkgs/development/libraries/haskell/x509-validation/default.nix b/pkgs/development/libraries/haskell/x509-validation/default.nix
index 32176c8f4b8..1caec0606bc 100644
--- a/pkgs/development/libraries/haskell/x509-validation/default.nix
+++ b/pkgs/development/libraries/haskell/x509-validation/default.nix
@@ -1,18 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, asn1Encoding, asn1Types, byteable, cryptohash
-, cryptoPubkey, cryptoPubkeyTypes, dataDefaultClass, filepath, mtl
-, network, pem, time, x509, x509Store
+, cryptoPubkey, cryptoPubkeyTypes, dataDefaultClass, filepath
+, hourglass, mtl, network, pem, x509, x509Store
 }:
 
 cabal.mkDerivation (self: {
   pname = "x509-validation";
-  version = "1.5.0";
-  sha256 = "1xarn00ipi77whly5yjlpqa0xd25lj0jf4xk8ylp4ba58hvcxqrn";
+  version = "1.5.1";
+  sha256 = "19cp187id9hdlzkr7sbv2sdxqxnpjv0db09hwf3zdqqqxr30mn6x";
   buildDepends = [
     asn1Encoding asn1Types byteable cryptohash cryptoPubkey
-    cryptoPubkeyTypes dataDefaultClass filepath mtl network pem time
-    x509 x509Store
+    cryptoPubkeyTypes dataDefaultClass filepath hourglass mtl network
+    pem x509 x509Store
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-certificate";
diff --git a/pkgs/development/libraries/haskell/x509/default.nix b/pkgs/development/libraries/haskell/x509/default.nix
index 4c8eb53c995..201b727e2fc 100644
--- a/pkgs/development/libraries/haskell/x509/default.nix
+++ b/pkgs/development/libraries/haskell/x509/default.nix
@@ -1,21 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, asn1Encoding, asn1Parse, asn1Types, cryptohash
-, cryptoPubkeyTypes, filepath, HUnit, mtl, pem, QuickCheck
-, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, time
+, cryptoPubkeyTypes, filepath, hourglass, mtl, pem, tasty
+, tastyQuickcheck
 }:
 
 cabal.mkDerivation (self: {
   pname = "x509";
-  version = "1.4.11";
-  sha256 = "1ax56jps640cj1swy08y4k75vx908ckwkg2hi7y2s3bhnvpz49ga";
+  version = "1.5.0.1";
+  sha256 = "03gj4190f0ql1ghn2mri8901xdydhhnwijyfn8lmpjyn7pgpl3ba";
   buildDepends = [
     asn1Encoding asn1Parse asn1Types cryptohash cryptoPubkeyTypes
-    filepath mtl pem time
+    filepath hourglass mtl pem
   ];
   testDepends = [
-    asn1Types cryptoPubkeyTypes HUnit mtl QuickCheck testFramework
-    testFrameworkHunit testFrameworkQuickcheck2 time
+    asn1Types cryptoPubkeyTypes hourglass mtl tasty tastyQuickcheck
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-certificate";
diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix
index 445577c2309..1ced4424f53 100644
--- a/pkgs/development/libraries/haskell/xdot/default.nix
+++ b/pkgs/development/libraries/haskell/xdot/default.nix
@@ -4,8 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "xdot";
-  version = "0.2.4.3";
-  sha256 = "0p6y3ng8nwi8sksy0881bs331asi73x816zd5v7qlg4v719s8jxg";
+  version = "0.2.4.6";
+  sha256 = "123vygzkqlycc298zh3321y7w85xnynbavzqms6cb8zgzya42wrs";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [ cairo graphviz gtk mtl polyparse text ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
deleted file mode 100644
index 3cb0238b82f..00000000000
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "xhtml";
-  version = "3000.2.0.1";
-  sha256 = "15pcigascajky67v0lhdhn4bv8xq16cvzib05mg4f1ynwr5a9mv0";
-  meta = {
-    description = "An XHTML combinator library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
deleted file mode 100644
index 74b9fc5620c..00000000000
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "xhtml";
-  version = "3000.2.0.4";
-  sha256 = "07kqii5dsfdaf46y4k19l9llhzhxssr24jbjpr5i8p1qh7117abw";
-  meta = {
-    homepage = "https://github.com/haskell/xhtml";
-    description = "An XHTML combinator library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
deleted file mode 100644
index 065252d31b7..00000000000
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "xhtml";
-  version = "3000.2.0.5";
-  sha256 = "1gqq910pncqppb2dscxnfxvm1ly4qpb5mwmady2i4irar3gngh9v";
-  meta = {
-    homepage = "https://github.com/haskell/xhtml";
-    description = "An XHTML combinator library";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix b/pkgs/development/libraries/haskell/xhtml/default.nix
index be1e32afbe3..be1e32afbe3 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
+++ b/pkgs/development/libraries/haskell/xhtml/default.nix
diff --git a/pkgs/development/libraries/haskell/xlsx/default.nix b/pkgs/development/libraries/haskell/xlsx/default.nix
index 779814c05dd..e2fdfa0d1a7 100644
--- a/pkgs/development/libraries/haskell/xlsx/default.nix
+++ b/pkgs/development/libraries/haskell/xlsx/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xlsx";
-  version = "0.1.0.2";
-  sha256 = "0m9ph34mpnc6vj1d3x80y0gaya5bqdhfa193jn0a8clw4qz88sbr";
+  version = "0.1.0.3";
+  sha256 = "1i1dfb6gv4h3nc9ja7yxjzb8g207vzp58dnk4rgfcfglyvadn8kp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index 3df8c163d63..8a352a27ba3 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -1,19 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, attoparsecConduit, blazeBuilder
-, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit
+{ cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup, conduit
 , conduitExtra, dataDefault, deepseq, hspec, HUnit, monadControl
 , resourcet, systemFilepath, text, transformers, xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.2.1";
-  sha256 = "1bh0d2fqcdbx2dq5ybipf7ws59blrb8yd98z1rnbvv1fj9r0xw10";
+  version = "1.2.3.1";
+  sha256 = "10cqhqpc85zx87jc0hapzkvwm76drpxqsjliipvlah2a0x8l4ai8";
   buildDepends = [
-    attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
-    blazeHtml blazeMarkup conduit conduitExtra dataDefault deepseq
-    monadControl resourcet systemFilepath text transformers xmlTypes
+    attoparsec blazeBuilder blazeHtml blazeMarkup conduit conduitExtra
+    dataDefault deepseq monadControl resourcet systemFilepath text
+    transformers xmlTypes
   ];
   testDepends = [
     blazeMarkup conduit hspec HUnit resourcet text transformers
diff --git a/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix
index 3dded2dcb44..405f165c6a7 100644
--- a/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix
+++ b/pkgs/development/libraries/haskell/xml-html-conduit-lens/default.nix
@@ -6,18 +6,17 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-html-conduit-lens";
-  version = "0.3.2.0";
-  sha256 = "150b772wkl2k8xcrcbqj3qhndjkl35qzwqdjbgs9mxp867aihiv0";
+  version = "0.3.2.1";
+  sha256 = "0iy58nq5b6ixdky2xr4r8xxk3c8wqp1y3jbpsk3dr1qawzjbzp12";
   buildDepends = [ htmlConduit lens text xmlConduit ];
   testDepends = [
     doctest hspec hspecExpectationsLens lens xmlConduit
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/supki/xml-html-conduit-lens#readme";
     description = "Optics for xml-conduit and html-conduit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/xml-lens/default.nix b/pkgs/development/libraries/haskell/xml-lens/default.nix
index f9e60441975..033afd9ee53 100644
--- a/pkgs/development/libraries/haskell/xml-lens/default.nix
+++ b/pkgs/development/libraries/haskell/xml-lens/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-lens";
-  version = "0.1.6.1";
-  sha256 = "093grvlpm19l3g10ka82xpzl2wr0gli71kfkbvk4gvg3194fkw4h";
+  version = "0.1.6.2";
+  sha256 = "14x3xz4rydl8x7ddznz90n3z5csy12c7l0r7bms8s7yqv4qzf6hz";
   buildDepends = [ lens text xmlConduit ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/xmlhtml/default.nix b/pkgs/development/libraries/haskell/xmlhtml/default.nix
index 794808eed0d..1f4b2474d75 100644
--- a/pkgs/development/libraries/haskell/xmlhtml/default.nix
+++ b/pkgs/development/libraries/haskell/xmlhtml/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xmlhtml";
-  version = "0.2.3.2";
-  sha256 = "1djw9d0hff9ii0n1bgbjjsca9n0w7mxj3ivf9dslyr3kv3yb4013";
+  version = "0.2.3.3";
+  sha256 = "0n95284z24ddgw7v8zjqzanyrshxydcxs4ivchpj88gh5r3ryv5j";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup parsec text unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/xmonad-screenshot/default.nix b/pkgs/development/libraries/haskell/xmonad-screenshot/default.nix
new file mode 100644
index 00000000000..80a503704cb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xmonad-screenshot/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, gtk, xmonad }:
+
+cabal.mkDerivation (self: {
+  pname = "xmonad-screenshot";
+  version = "0.1.1.0";
+  sha256 = "1iy6c8dis5jkgamkbbgxvbajz8f03bwhwdwk46l6wvlgmb072wl4";
+  buildDepends = [ gtk xmonad ];
+  meta = {
+    homepage = "http://github.com/supki/xmonad-screenshot";
+    description = "Workspaces screenshooting utility for XMonad";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 26cb0dec098..bf63586eed4 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -1,22 +1,23 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, conduit, hspec, HUnit, resourcet
-, scientific, text, transformers, unorderedContainers, vector
+{ cabal, aeson, aesonQq, attoparsec, conduit, enclosedExceptions
+, filepath, hspec, hspecExpectations, HUnit, resourcet, scientific
+, text, transformers, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.9";
-  sha256 = "13qqqil19yi1qbl9gqma6kxwkz8j5iq6z347fabk916gy9jng3dl";
+  version = "0.8.10.1";
+  sha256 = "1a8v8digg6mcc4gx4kgfg8wzgj18wdf40wv1b7n72dg1c8kr2xz9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson attoparsec conduit resourcet scientific text transformers
-    unorderedContainers vector
+    aeson attoparsec conduit enclosedExceptions filepath resourcet
+    scientific text transformers unorderedContainers vector
   ];
   testDepends = [
-    aeson conduit hspec HUnit resourcet text transformers
-    unorderedContainers vector
+    aeson aesonQq conduit hspec hspecExpectations HUnit resourcet text
+    transformers unorderedContainers vector
   ];
   meta = {
     homepage = "http://github.com/snoyberg/yaml/";
diff --git a/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix b/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix
index 9f577fc4520..2cb6609ab77 100644
--- a/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth-hashdb/default.nix
@@ -1,19 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cryptohash, pwstoreFast, text, yesodAuth, yesodCore
-, yesodForm, yesodPersistent
+{ cabal, cryptohash, hspec, persistent, pwstoreFast, text
+, yesodAuth, yesodCore, yesodForm, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth-hashdb";
-  version = "1.3.0.1";
-  sha256 = "0q78mw09g6b04zaz54s03222mh59nm604qh8gyw5kka06f93hk4q";
+  version = "1.4.1.1";
+  sha256 = "0bb37iawsdq3m5p1sjdnz954f3nfdmvvhm0hxap1z2hf9dk516ci";
   buildDepends = [
-    cryptohash pwstoreFast text yesodAuth yesodCore yesodForm
-    yesodPersistent
+    cryptohash persistent pwstoreFast text yesodAuth yesodCore
+    yesodForm yesodPersistent
   ];
+  testDepends = [ hspec text ];
   meta = {
-    homepage = "http://www.yesodweb.com/";
+    homepage = "https://github.com/paul-rouse/yesod-auth-hashdb";
     description = "Authentication plugin for Yesod";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 1224e105c3f..cf705ac8fc9 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -1,27 +1,26 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsecConduit, authenticate, base16Bytestring
-, base64Bytestring, binary, blazeBuilder, blazeHtml, blazeMarkup
-, byteable, conduit, conduitExtra, cryptohash, dataDefault
-, emailValidate, fileEmbed, hamlet, httpClient, httpConduit
-, httpTypes, liftedBase, mimeMail, networkUri, persistent
-, persistentTemplate, random, resourcet, safe, shakespeare
-, shakespeareCss, shakespeareJs, text, time, transformers
-, unorderedContainers, wai, yesodCore, yesodForm, yesodPersistent
+{ cabal, aeson, authenticate, base16Bytestring, base64Bytestring
+, binary, blazeBuilder, blazeHtml, blazeMarkup, byteable, conduit
+, conduitExtra, cryptohash, dataDefault, emailValidate, fileEmbed
+, httpClient, httpConduit, httpTypes, liftedBase, mimeMail
+, networkUri, persistent, persistentTemplate, random, resourcet
+, safe, shakespeare, text, time, transformers, unorderedContainers
+, wai, yesodCore, yesodForm, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.3.4.2";
-  sha256 = "0hf5x1qhpxil3na7f1vdjr5i5n7q41a23ikkra9avg3yss94k04d";
+  version = "1.4.1";
+  sha256 = "1nvc5ni4bwhb10ayr75s3z44ynv9kq3lp6kgd536xyagbi054gdp";
   buildDepends = [
-    aeson attoparsecConduit authenticate base16Bytestring
-    base64Bytestring binary blazeBuilder blazeHtml blazeMarkup byteable
-    conduit conduitExtra cryptohash dataDefault emailValidate fileEmbed
-    hamlet httpClient httpConduit httpTypes liftedBase mimeMail
-    networkUri persistent persistentTemplate random resourcet safe
-    shakespeare shakespeareCss shakespeareJs text time transformers
-    unorderedContainers wai yesodCore yesodForm yesodPersistent
+    aeson authenticate base16Bytestring base64Bytestring binary
+    blazeBuilder blazeHtml blazeMarkup byteable conduit conduitExtra
+    cryptohash dataDefault emailValidate fileEmbed httpClient
+    httpConduit httpTypes liftedBase mimeMail networkUri persistent
+    persistentTemplate random resourcet safe shakespeare text time
+    transformers unorderedContainers wai yesodCore yesodForm
+    yesodPersistent
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index 27a1c1522ef..7033bff4d15 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -3,27 +3,26 @@
 { cabal, attoparsec, base64Bytestring, blazeBuilder, Cabal, conduit
 , conduitExtra, dataDefaultClass, fileEmbed, filepath, fsnotify
 , ghcPaths, httpConduit, httpReverseProxy, httpTypes, liftedBase
-, network, networkConduit, optparseApplicative, parsec
-, projectTemplate, resourcet, shakespeare, shakespeareCss
-, shakespeareJs, shakespeareText, split, streamingCommons
-, systemFileio, systemFilepath, tar, text, time, transformers
+, network, optparseApplicative, parsec, projectTemplate, resourcet
+, shakespeare, split, streamingCommons, systemFileio
+, systemFilepath, tar, text, time, transformers, transformersCompat
 , unixCompat, unorderedContainers, wai, waiExtra, warp, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.12.4";
-  sha256 = "1pg1zxixgsqz5da2dhs94zi77h63jz3llf0049fgdfg166c685vj";
+  version = "1.4.1";
+  sha256 = "0kzhnq0mv8s4qdkzqj05c7jdmp2xllv02kqgihwhyr2s4wvqmviw";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     attoparsec base64Bytestring blazeBuilder Cabal conduit conduitExtra
     dataDefaultClass fileEmbed filepath fsnotify ghcPaths httpConduit
-    httpReverseProxy httpTypes liftedBase network networkConduit
-    optparseApplicative parsec projectTemplate resourcet shakespeare
-    shakespeareCss shakespeareJs shakespeareText split streamingCommons
-    systemFileio systemFilepath tar text time transformers unixCompat
-    unorderedContainers wai waiExtra warp yaml zlib
+    httpReverseProxy httpTypes liftedBase network optparseApplicative
+    parsec projectTemplate resourcet shakespeare split streamingCommons
+    systemFileio systemFilepath tar text time transformers
+    transformersCompat unixCompat unorderedContainers wai waiExtra warp
+    yaml zlib
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 857b237ba42..571778cfdc4 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -1,36 +1,35 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, async, attoparsecConduit, blazeBuilder, blazeHtml
+{ cabal, aeson, async, autoUpdate, blazeBuilder, blazeHtml
 , blazeMarkup, caseInsensitive, cereal, clientsession, conduit
 , conduitExtra, cookie, dataDefault, deepseq, exceptions
-, fastLogger, hamlet, hspec, httpTypes, HUnit, liftedBase
-, monadControl, monadLogger, mtl, network, networkConduit, parsec
-, pathPieces, QuickCheck, random, resourcet, safe, shakespeare
-, shakespeareCss, shakespeareI18n, shakespeareJs, streamingCommons
-, text, time, transformers, transformersBase, unixCompat, vector
-, wai, waiExtra, waiLogger, waiTest, warp, yesodRoutes
+, fastLogger, hspec, hspecExpectations, httpTypes, HUnit
+, liftedBase, monadControl, monadLogger, mtl, mwcRandom, network
+, parsec, pathPieces, primitive, QuickCheck, random, resourcet
+, safe, shakespeare, streamingCommons, text, time, transformers
+, transformersBase, unixCompat, unorderedContainers, vector, wai
+, waiExtra, waiLogger, warp, word8
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.19.1";
-  sha256 = "1021z0jrfbafbdybpj0jkacr9ljyap5cpmfk2911dsz3nz7sy6zg";
+  version = "1.4.7.2";
+  sha256 = "0k6zsjds594zy0cvnryz071nis3zmv1sjiyn14cc80j0rvjll46y";
   buildDepends = [
-    aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
-    caseInsensitive cereal clientsession conduit conduitExtra cookie
-    dataDefault deepseq exceptions fastLogger hamlet httpTypes
-    liftedBase monadControl monadLogger mtl parsec pathPieces random
-    resourcet safe shakespeare shakespeareCss shakespeareI18n
-    shakespeareJs text time transformers transformersBase unixCompat
-    vector wai waiExtra waiLogger warp yesodRoutes
+    aeson autoUpdate blazeBuilder blazeHtml blazeMarkup caseInsensitive
+    cereal clientsession conduit conduitExtra cookie dataDefault
+    deepseq exceptions fastLogger httpTypes liftedBase monadControl
+    monadLogger mtl mwcRandom parsec pathPieces primitive random
+    resourcet safe shakespeare text time transformers transformersBase
+    unixCompat unorderedContainers vector wai waiExtra waiLogger warp
+    word8
   ];
   testDepends = [
-    async blazeBuilder conduit conduitExtra hamlet hspec httpTypes
-    HUnit liftedBase network networkConduit QuickCheck random resourcet
-    shakespeare shakespeareCss shakespeareJs streamingCommons text
-    transformers wai waiExtra waiTest
+    async blazeBuilder clientsession conduit conduitExtra cookie hspec
+    hspecExpectations httpTypes HUnit liftedBase mwcRandom network
+    pathPieces QuickCheck random resourcet shakespeare streamingCommons
+    text transformers wai waiExtra
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Creation of type-safe, RESTful web applications";
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 57f456823c2..f052a38357d 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -1,21 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
-, byteable, dataDefault, emailValidate, hamlet, hspec, networkUri
-, persistent, resourcet, shakespeare, shakespeareCss, shakespeareJs
-, text, time, transformers, wai, xssSanitize, yesodCore
-, yesodPersistent
+, byteable, dataDefault, emailValidate, hspec, networkUri
+, persistent, resourcet, shakespeare, text, time, transformers, wai
+, xssSanitize, yesodCore, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.15.2";
-  sha256 = "05r7w65n63qrlvxlm2j4s0vin4p7gc4cqa8j83465mnl1dzxliy1";
+  version = "1.4.3";
+  sha256 = "08ivcqq4glyyvjm60fsmd4linqr6kkh6wn4bbcpzinvpv6asr6mr";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable
-    dataDefault emailValidate hamlet networkUri persistent resourcet
-    shakespeare shakespeareCss shakespeareJs text time transformers wai
-    xssSanitize yesodCore yesodPersistent
+    dataDefault emailValidate networkUri persistent resourcet
+    shakespeare text time transformers wai xssSanitize yesodCore
+    yesodPersistent
   ];
   testDepends = [ hspec text time ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/yesod-markdown/default.nix b/pkgs/development/libraries/haskell/yesod-markdown/default.nix
new file mode 100644
index 00000000000..bf77f9fea9d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yesod-markdown/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, blazeMarkup, pandoc, persistent, shakespeare
+, texmath, text, xssSanitize, yesodCore, yesodForm
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yesod-markdown";
+  version = "0.9.3.1";
+  sha256 = "1spbgcsq1lkywp19k7ksiy6rsh2n060mxzh33k0ngbxxg566n08i";
+  buildDepends = [
+    blazeHtml blazeMarkup pandoc persistent shakespeare texmath text
+    xssSanitize yesodCore yesodForm
+  ];
+  meta = {
+    homepage = "http://github.com/pbrisbin/yesod-markdown";
+    description = "Tools for using markdown in a yesod application";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yesod-newsfeed/default.nix b/pkgs/development/libraries/haskell/yesod-newsfeed/default.nix
new file mode 100644
index 00000000000..a6bf924c3c8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yesod-newsfeed/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, blazeHtml, blazeMarkup, shakespeare, text, time
+, xmlConduit, yesodCore
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yesod-newsfeed";
+  version = "1.4.0.1";
+  sha256 = "02ydkri23vrm7mak2b1ybfhkdgc2dmv9vq3ki2d7sd005sp3zdly";
+  buildDepends = [
+    blazeHtml blazeMarkup shakespeare text time xmlConduit yesodCore
+  ];
+  meta = {
+    homepage = "http://www.yesodweb.com/";
+    description = "Helper functions and data types for producing News feeds";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yesod-pagination/default.nix b/pkgs/development/libraries/haskell/yesod-pagination/default.nix
new file mode 100644
index 00000000000..38b89445cb7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yesod-pagination/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, esqueleto, hspec, monadLogger, persistent
+, persistentSqlite, resourcePool, resourcet, shakespeare
+, utf8String, waiTest, yesod, yesodTest
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yesod-pagination";
+  version = "2.0.0";
+  sha256 = "0d42b8y7zpl624d7wa2caarni9g10hg14xsbamlkykki3bl197m1";
+  buildDepends = [ esqueleto yesod ];
+  testDepends = [
+    hspec monadLogger persistent persistentSqlite resourcePool
+    resourcet shakespeare utf8String waiTest yesod yesodTest
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/joelteon/yesod-pagination";
+    description = "Pagination in Yesod";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
index 64a2bd7730f..845fc1c18ff 100644
--- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -2,20 +2,20 @@
 
 { cabal, blazeBuilder, conduit, hspec, persistent, persistentSqlite
 , persistentTemplate, resourcePool, resourcet, text, transformers
-, waiExtra, waiTest, yesodCore
+, waiExtra, yesodCore
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-persistent";
-  version = "1.2.3";
-  sha256 = "1kdspz6y32r8kl0qk89hgwi4n6dnxch7wriv829cnwqm0bzjfdpw";
+  version = "1.4.0.1";
+  sha256 = "08648n6b4xhsqbvqh8vpsf3481hvzhrkyqbzs303s6fz683mn0zw";
   buildDepends = [
     blazeBuilder conduit persistent persistentTemplate resourcePool
     resourcet transformers yesodCore
   ];
   testDepends = [
     blazeBuilder conduit hspec persistent persistentSqlite text
-    waiExtra waiTest yesodCore
+    waiExtra yesodCore
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index 5ad4a27b66f..60a94cfb20d 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -3,29 +3,29 @@
 { cabal, async, attoparsec, base64Bytestring, blazeBuilder
 , byteable, conduit, conduitExtra, cryptohash, cryptohashConduit
 , cssText, dataDefault, fileEmbed, filepath, hashable, hjsmin
-, hspec, httpTypes, HUnit, mimeTypes, resourcet, shakespeareCss
-, systemFileio, systemFilepath, text, transformers, unixCompat
-, unorderedContainers, wai, waiAppStatic, waiExtra, waiTest
-, yesodCore, yesodTest
+, hspec, httpTypes, HUnit, mimeTypes, resourcet, systemFileio
+, systemFilepath, text, transformers, unixCompat
+, unorderedContainers, wai, waiAppStatic, waiExtra, yesodCore
+, yesodTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.2.4";
-  sha256 = "0r5bz1jmgjd7cmvhkp3ahgl610bssvgxxsvb626dvqz2vqc0061z";
+  version = "1.4.0.3";
+  sha256 = "15rwlw76rfh18l3ap73aqmwz4bafmxbr5pchyarll14ps0rjs74g";
   buildDepends = [
     async attoparsec base64Bytestring blazeBuilder byteable conduit
     conduitExtra cryptohash cryptohashConduit cssText dataDefault
     fileEmbed filepath hashable hjsmin httpTypes mimeTypes resourcet
-    shakespeareCss systemFileio systemFilepath text transformers
-    unixCompat unorderedContainers wai waiAppStatic yesodCore
+    systemFileio systemFilepath text transformers unixCompat
+    unorderedContainers wai waiAppStatic yesodCore
   ];
   testDepends = [
     async base64Bytestring byteable conduit conduitExtra cryptohash
     cryptohashConduit dataDefault fileEmbed filepath hjsmin hspec
-    httpTypes HUnit mimeTypes resourcet shakespeareCss systemFileio
-    systemFilepath text transformers unixCompat unorderedContainers wai
-    waiAppStatic waiExtra waiTest yesodCore yesodTest
+    httpTypes HUnit mimeTypes resourcet systemFileio systemFilepath
+    text transformers unixCompat unorderedContainers wai waiAppStatic
+    waiExtra yesodCore yesodTest
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index 9cc7a380f66..50a6369f186 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -1,20 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
-, caseInsensitive, cookie, hspec, htmlConduit, httpTypes, HUnit
-, monadControl, network, persistent, text, time, transformers, wai
-, waiExtra, waiTest, xmlConduit, xmlTypes, yesodCore, yesodForm
+, caseInsensitive, cookie, hspec, hspecCore, htmlConduit, httpTypes
+, HUnit, monadControl, network, persistent, text, time
+, transformers, wai, waiExtra, xmlConduit, xmlTypes, yesodCore
+, yesodForm
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.5";
-  sha256 = "0qk6qqigrqygczsnfrpg7psfz6gy5rqm9lfbhzaw64n4jklmzw3n";
+  version = "1.4.2";
+  sha256 = "09iia8vligw41ayhp1fp797n783avb0sf89z8midindrhb5plfbl";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
-    cookie hspec htmlConduit httpTypes HUnit monadControl network
-    persistent text time transformers wai waiExtra waiTest xmlConduit
-    xmlTypes yesodCore
+    cookie hspecCore htmlConduit httpTypes HUnit monadControl network
+    persistent text time transformers wai waiExtra xmlConduit xmlTypes
+    yesodCore
   ];
   testDepends = [
     hspec htmlConduit HUnit text wai xmlConduit yesodCore yesodForm
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 07d4ac958e6..4b5679512a9 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -1,23 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, blazeHtml, blazeMarkup, conduitExtra, dataDefault
-, fastLogger, hamlet, monadControl, monadLogger, networkConduit
-, safe, shakespeare, shakespeareCss, shakespeareJs
-, streamingCommons, text, transformers, unorderedContainers, wai
-, waiExtra, warp, yaml, yesodAuth, yesodCore, yesodForm
-, yesodPersistent
+, fastLogger, monadControl, monadLogger, safe, semigroups
+, shakespeare, streamingCommons, text, transformers
+, unorderedContainers, wai, waiExtra, waiLogger, warp, yaml
+, yesodAuth, yesodCore, yesodForm, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.2.6.1";
-  sha256 = "1xiqpbcjxisc4lic7ls03rz184d95vkh4kb3ampwbx463qbj9im2";
+  version = "1.4.1.4";
+  sha256 = "1av6s5nanq5y9fqlzq2yq95989gg1fyqlpzg6y5pl4dcc45srm1x";
   buildDepends = [
     aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger
-    hamlet monadControl monadLogger networkConduit safe shakespeare
-    shakespeareCss shakespeareJs streamingCommons text transformers
-    unorderedContainers wai waiExtra warp yaml yesodAuth yesodCore
-    yesodForm yesodPersistent
+    monadControl monadLogger safe semigroups shakespeare
+    streamingCommons text transformers unorderedContainers wai waiExtra
+    waiLogger warp yaml yesodAuth yesodCore yesodForm yesodPersistent
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix b/pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix
new file mode 100644
index 00000000000..4685a08511a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, dataDefault, filepath, mtl, text, transformersBase
+, vector, yi, yiLanguage, yiRope
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yi-fuzzy-open";
+  version = "0.1.0";
+  sha256 = "03y7ddas8w380asx4ldafp1r3h4nlyjky7n4n5sdyvwbi0rix1gc";
+  buildDepends = [
+    binary dataDefault filepath mtl text transformersBase vector yi
+    yiLanguage yiRope
+  ];
+  meta = {
+    homepage = "https://github.com/yi-editor/yi-fuzzy-open";
+    description = "Fuzzy open plugin for Yi";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yi-language/default.nix b/pkgs/development/libraries/haskell/yi-language/default.nix
new file mode 100644
index 00000000000..ec5070cac99
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-language/default.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alex, binary, dataDefault, derive, filepath, hashable
+, hspec, lens, ooPrototypes, pointedlist, QuickCheck, regexBase
+, regexTdfa, transformersBase, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yi-language";
+  version = "0.1.1.0";
+  sha256 = "1gsh0njslncfh0r5wg1rq9w4f03ixkk5grd9zigkspsndhij7379";
+  buildDepends = [
+    binary dataDefault derive hashable lens ooPrototypes pointedlist
+    regexBase regexTdfa transformersBase unorderedContainers
+  ];
+  testDepends = [
+    binary dataDefault derive filepath hashable hspec lens pointedlist
+    QuickCheck regexBase regexTdfa transformersBase unorderedContainers
+  ];
+  buildTools = [ alex ];
+  meta = {
+    homepage = "https://github.com/yi-editor/yi-language";
+    description = "Collection of language-related Yi libraries";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yi-monokai/default.nix b/pkgs/development/libraries/haskell/yi-monokai/default.nix
new file mode 100644
index 00000000000..ddae06b7f22
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-monokai/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, yi }:
+
+cabal.mkDerivation (self: {
+  pname = "yi-monokai";
+  version = "0.1.1.2";
+  sha256 = "1nghfyiy8jdz144nbw0c2cdy8n6xyjmk31g6z24jk8dij7iwb60l";
+  buildDepends = [ yi ];
+  meta = {
+    homepage = "https://github.com/Fuuzetsu/yi-monokai";
+    description = "Monokai colour theme for the Yi text editor";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yi-rope/default.nix b/pkgs/development/libraries/haskell/yi-rope/default.nix
new file mode 100644
index 00000000000..a92f086f3a6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-rope/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, charsetdetectAe, dataDefault, deepseq, fingertree
+, hspec, QuickCheck, quickcheckInstances, text, textIcu
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yi-rope";
+  version = "0.7.0.0";
+  sha256 = "123p0m31h8qa53jl2sd646s1hrs5qnb7y82y7bzgg2zny4qqw9a2";
+  buildDepends = [
+    binary charsetdetectAe dataDefault deepseq fingertree text textIcu
+  ];
+  testDepends = [ hspec QuickCheck quickcheckInstances text ];
+  meta = {
+    description = "A rope data structure used by Yi";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yi-snippet/default.nix b/pkgs/development/libraries/haskell/yi-snippet/default.nix
new file mode 100644
index 00000000000..b1cb7041ff0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-snippet/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, yi, yiRope }:
+
+cabal.mkDerivation (self: {
+  pname = "yi-snippet";
+  version = "0.1.0.0";
+  sha256 = "0qbn5x7lbvb9h6gdqgvldzyy7z5y5aa9a02ss48zkccss5p6939d";
+  buildDepends = [ yi yiRope ];
+  meta = {
+    homepage = "https://github.com/yi-editor/yi-snippet";
+    description = "Snippet support for Yi";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yst/default.nix b/pkgs/development/libraries/haskell/yst/default.nix
index 2dadfcbfd68..ea3991eebe9 100644
--- a/pkgs/development/libraries/haskell/yst/default.nix
+++ b/pkgs/development/libraries/haskell/yst/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yst";
-  version = "0.4.1";
-  sha256 = "199awgpxn9131a7ijxvvbc4mi1yasnllbpj77k27brx00j87v3nq";
+  version = "0.4.1.1";
+  sha256 = "0i69pjzrxc330kfy3nvhzf59640h4p9w5lxpjlr31xbl7w1qqx12";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix
index 0e2cf67a19f..4b7c333c07c 100644
--- a/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/zeromq4-haskell/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zeromq4-haskell";
-  version = "0.6";
-  sha256 = "1n8vvlwnmvi2hlqhkmzsqgpbpxnhdcs8jy3rj1srsg729m2aqc8y";
+  version = "0.6.2";
+  sha256 = "07dbsapzc4hqq9sg63v4wyjad13sqh9zsx3ckwc5hg5z6vknpafb";
   buildDepends = [ async exceptions semigroups transformers ];
   testDepends = [
     async QuickCheck tasty tastyHunit tastyQuickcheck
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
deleted file mode 100644
index a7732367710..00000000000
--- a/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, binary, digest, filepath, HUnit, mtl, text, time, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "zip-archive";
-  version = "0.2.3.4";
-  sha256 = "1c589cpl1jax1r60b92az1800b67zrva3dndhv9hcxidlgyf46gp";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ binary digest filepath mtl text time zlib ];
-  testDepends = [ HUnit time ];
-  doCheck = false;
-  meta = {
-    homepage = "http://github.com/jgm/zip-archive";
-    description = "Library for creating and modifying zip archives";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.3.5.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.3.5.nix
new file mode 100644
index 00000000000..8369b2a3eb5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.3.5.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, digest, filepath, HUnit, mtl, text, time, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "zip-archive";
+  version = "0.2.3.5";
+  sha256 = "0qa3qvaj0xkh4qw7s96rkbdmkyhnql6g92yplm7m6n7z7nxrcs18";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ binary digest filepath mtl text time zlib ];
+  testDepends = [ HUnit time ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/jgm/zip-archive";
+    description = "Library for creating and modifying zip archives";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
deleted file mode 100644
index b6760482129..00000000000
--- a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "zlib";
-  version = "0.5.0.0";
-  sha256 = "20e067cfbec87ec062ac144875a60e158ea6cf7836aac031ec367fcdd5446891";
-  extraLibraries = [ zlib ];
-  meta = {
-    description = "Compression and decompression in the gzip and zlib formats";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
deleted file mode 100644
index f3669c97c0a..00000000000
--- a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "zlib";
-  version = "0.5.2.0";
-  sha256 = "4119fb627e0adc2b129acd86fe5724cf05a49d8de5b64eb7a6e519d3befd3b8f";
-  extraLibraries = [ zlib ];
-  meta = {
-    description = "Compression and decompression in the gzip and zlib formats";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
deleted file mode 100644
index 1bed95bc2e8..00000000000
--- a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "zlib";
-  version = "0.5.3.1";
-  sha256 = "1hj56lk4g2zr7acdda39zib1bj02777q0asm5ms9rfj7kp81caiq";
-  extraLibraries = [ zlib ];
-  meta = {
-    description = "Compression and decompression in the gzip and zlib formats";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
deleted file mode 100644
index 5260b55a027..00000000000
--- a/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "zlib";
-  version = "0.5.3.3";
-  sha256 = "1hrq34w9y8m7nahvrdpnkh9rdb4jycpcpv9ix6qrxijvbz2vdbg2";
-  extraLibraries = [ zlib ];
-  jailbreak = true;
-  meta = {
-    description = "Compression and decompression in the gzip and zlib formats";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
deleted file mode 100644
index 8b13da93ce3..00000000000
--- a/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "zlib";
-  version = "0.5.4.0";
-  sha256 = "18hc4wr8brzbl9qapjbjyb9kyqrznv2xbw7rv1a6k8i3392ilxv1";
-  extraLibraries = [ zlib ];
-  meta = {
-    description = "Compression and decompression in the gzip and zlib formats";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
deleted file mode 100644
index 28f69ad0a64..00000000000
--- a/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "zlib";
-  version = "0.5.4.1";
-  sha256 = "0l550l2qw4gx530h1yjjpdh6rkm59l9l6jbmlm0vx41cqpj6b8yc";
-  extraLibraries = [ zlib ];
-  meta = {
-    description = "Compression and decompression in the gzip and zlib formats";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/zlib/default.nix b/pkgs/development/libraries/haskell/zlib/default.nix
new file mode 100644
index 00000000000..dad288c8fd0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zlib/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "zlib";
+  version = "0.5.4.2";
+  sha256 = "15hhsk7z3gvm7sz2ic2z1ca5c6rpsln2rr391mdbm1bxlzc1gmkm";
+  extraLibraries = [ zlib ];
+  meta = {
+    description = "Compression and decompression in the gzip and zlib formats";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix
new file mode 100644
index 00000000000..07534ed63d7
--- /dev/null
+++ b/pkgs/development/libraries/hidapi/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, udev, libusb }:
+
+stdenv.mkDerivation rec {
+  name = "hidapi-0.8.0-rc1";
+
+  src = fetchFromGitHub {
+    owner = "signal11";
+    repo = "hidapi";
+    rev = name;
+    sha256 = "13d5jkmh9nh4c2kjch8k8amslnxapa9vkqzrk1z6rqmw8qgvzbkj";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig udev libusb ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/signal11/hidapi;
+    description = "Library for communicating with USB and Bluetooth HID devices";
+    # Actually, you can chose between GPLv3, BSD or HIDAPI license (more liberal)
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/hiredis/default.nix b/pkgs/development/libraries/hiredis/default.nix
new file mode 100644
index 00000000000..fc4b2b47959
--- /dev/null
+++ b/pkgs/development/libraries/hiredis/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "hiredis-${version}";
+  version = "0.12.1";
+
+  src = fetchgit {
+    url = "git://github.com/redis/hiredis";
+    rev = "37c06facda57af9bad68f50c18edfa22d6ef76f7";
+    sha256 = "1z1rzhh1659g8i5bl78k1i1imlz2prwirhzbkn6j7hvq4mxbf2yz";
+  };
+
+  PREFIX = "\${out}";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/redis/hiredis;
+    description = "Minimalistic C client for Redis >= 1.2";
+    licenses = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/hivex/default.nix b/pkgs/development/libraries/hivex/default.nix
new file mode 100644
index 00000000000..4f0b3826022
--- /dev/null
+++ b/pkgs/development/libraries/hivex/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, makeWrapper
+, perl, libxml2, IOStringy }:
+
+stdenv.mkDerivation rec {
+  name = "hivex-${version}";
+  version = "1.3.11";
+
+  src = fetchurl {
+    url = "http://libguestfs.org/download/hivex/${name}.tar.gz";
+    sha256 = "0y3nqykwy58divxkv7gmsb067dasyfz3apbp437hl57rgrndyfn6";
+  };
+
+  patches = [ ./hivex-syms.patch ];
+
+  buildInputs = [
+    pkgconfig automake autoconf libtool makeWrapper
+    perl libxml2 IOStringy
+  ];
+
+  preConfigure = ''
+    AUTOPOINT=true autoreconf --verbose --install 
+  '';
+
+  postInstall = ''
+    for bin in $out/bin/*; do
+      wrapProgram "$bin" --prefix "PATH" : "$out/bin"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Windows registry hive extraction library";
+    license = licenses.lgpl2;
+    homepage = https://github.com/libguestfs/hivex;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/hivex/hivex-syms.patch b/pkgs/development/libraries/hivex/hivex-syms.patch
new file mode 100644
index 00000000000..2280ade59a6
--- /dev/null
+++ b/pkgs/development/libraries/hivex/hivex-syms.patch
@@ -0,0 +1,13 @@
+diff -rupN hivex-1.3.11/lib/Makefile.am hivex-1.3.11-new/lib/Makefile.am
+--- hivex-1.3.11/lib/Makefile.am	2013-09-10 13:04:12.000000000 +0200
++++ hivex-1.3.11-new/lib/Makefile.am	2014-11-06 01:31:05.956106861 +0100
+@@ -40,8 +40,7 @@ libhivex_la_SOURCES = \
+ 
+ libhivex_la_LIBADD =  ../gnulib/lib/libgnu.la $(LTLIBOBJS)
+ libhivex_la_LDFLAGS = \
+-	-version-info 0:0:0 \
+-	$(VERSION_SCRIPT_FLAGS)$(srcdir)/hivex.syms \
++	-version-info 0:0:0
+ 	$(LTLIBICONV) \
+ 	$(LTLIBINTL) \
+ 	$(LTLIBTHREAD)
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
index bb1f6b63084..9d5b11501fc 100644
--- a/pkgs/development/libraries/http-parser/default.nix
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, gyp, utillinux, python, fixDarwinDylibNames }:
 
 let
-  version = "2.2.1";
+  version = "2.3";
 in stdenv.mkDerivation {
   name = "http-parser-${version}";
 
   src = fetchurl {
     url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
-    sha256 = "0p8wmchqsj9kwa8pg2is7v0h83q5lqns3vnm6sxrld7gaz979zh5";
+    sha256 = "1qnm466wp8zncr8na4xj2wndfzzfiahafhsaigj8cv35nx56pziv";
   };
 
   patches = [ ./build-shared.patch ];
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index 95516dadacf..98f6511f391 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, readline }:
 
 stdenv.mkDerivation rec {
-  name = "hunspell-1.3.2";
+  name = "hunspell-1.3.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/hunspell/${name}.tar.gz";
-    sha256 = "1gfxdajnqk2civkshkfjx5ldg7kjdgj76m5khpsbjk4lxsjd9vdl";
+    sha256 = "0v14ff9s37vkh45diaddndcrj0hmn67arh8xh8k79q9c1vgc1cm7";
   };
 
   propagatedBuildInputs = [ ncurses readline ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       Main features:
 
       * Extended support for language peculiarities; Unicode character encoding, compounding and complex morphology.
-      * Improved suggestion using n-gram similarity, rule and dictionary based pronounciation data.
+      * Improved suggestion using n-gram similarity, rule and dictionary based pronunciation data.
       * Morphological analysis, stemming and generation.
       * Hunspell is based on MySpell and works also with MySpell dictionaries.
       * C++ library under GPL/LGPL/MPL tri-license.
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
         * Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2]), UNO.
     '';
     platforms = platforms.all;
-    maintainers = [ maintainers.urkud ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
new file mode 100644
index 00000000000..0189ecda77f
--- /dev/null
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -0,0 +1,422 @@
+/* hunspell dictionaries */
+
+{ stdenv, fetchurl, unzip }:
+
+with stdenv.lib;
+
+let
+
+  mkDict =
+  { name, src, meta, readmeFile, dictFileName, ... }:
+  let
+    isFrench = hasSuffix "fr_" dictFileName;
+    isItaly = hasSuffix "it_" dictFileName;
+    isSpanish = hasSuffix "es_" dictFileName;
+    isEnglish = hasSuffix "en_" dictFileName;
+  in
+  stdenv.mkDerivation rec {
+    inherit name src meta;
+    buildInputs = [ unzip ];
+    sourceRoot = ".";
+    phases = "unpackPhase installPhase" + (if isItaly then "patchPhase" else "");
+    unpackCmd = "unzip $src ${readmeFile} ${dictFileName}.dic ${dictFileName}.aff";
+    prePatch = if isItaly then ''
+    # Fix dic file empty lines (FS#22275)
+    sed '/^\/$/d' -i it_IT.dic
+    '' else "";
+
+    installPhase = ''
+      # hunspell dicts
+      install -dm755 "$out/share/hunspell"
+      install -m644 ${dictFileName}.dic "$out/share/hunspell/"
+      install -m644 ${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
+    '';
+  };
+
+  mkDictFromRedIRIS =
+    { shortName, shortDescription, dictFileName, src }:
+    mkDict rec {
+      inherit src dictFileName;
+      version = "0.7";
+      name = "hunspell-dict-${shortName}-rediris-${version}";
+      readmeFile = "README.txt";
+      meta = with stdenv.lib; {
+        description = "Hunspell dictionary for ${shortDescription} from RedIRIS";
+        homepage = https://forja.rediris.es/projects/rla-es/;
+        license = with licenses; [ gpl3 lgpl3 mpl11 ];
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+  mkDictFromDicollecte =
+    { shortName, shortDescription, longDescription, dictFileName }:
+    mkDict rec {
+      inherit dictFileName;
+      version = "5.3";
+      name = "hunspell-dict-${shortName}-dicollecte-${version}";
+      readmeFile = "README_dict_fr.txt";
+      src = fetchurl {
+         url = "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v${version}.zip";
+         sha256 = "0ca7084jm7zb1ikwzh1frvpb97jn27i7a5d48288h2qlfp068ik0";
+      };
+      meta = with stdenv.lib; {
+        inherit longDescription;
+        description = "Hunspell dictionary for ${shortDescription} from Dicollecte";
+        homepage = "http://www.dicollecte.org/home.php?prj=fr";
+        license = licenses.mpl20;
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+  mkDictFromWordlist =
+    { shortName, shortDescription, dictFileName, src }:
+    mkDict rec {
+      inherit src dictFileName;
+      version = "2014.11.17";
+      name = "hunspell-dict-${shortName}-wordlist-${version}";
+      readmeFile = "README_" + dictFileName + ".txt";
+      meta = with stdenv.lib; {
+        description = "Hunspell dictionary for ${shortDescription} from Wordlist";
+        homepage = http://wordlist.aspell.net/;
+        license = licenses.bsd3;
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+  mkLinguistico =
+    { shortName, shortDescription, dictFileName, src }:
+    mkDict rec {
+      inherit src dictFileName;
+      version = "2.4";
+      name = "hunspell-dict-${shortName}-linguistico-${version}";
+      readmeFile = dictFileName + "_README.txt";
+      meta = with stdenv.lib; {
+        homepage = http://sourceforge.net/projects/linguistico/;
+        license = licenses.gpl3;
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+in {
+
+  /* ENGLISH */
+
+  en-us = mkDictFromWordlist {
+    shortName = "en-us";
+    shortDescription = "English (United States)";
+    dictFileName = "en_US";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_US-2014.11.17.zip;
+      sha256 = "4ce88a1af457ce0e256110277a150e5da798213f611929438db059c1c81e20f2";
+    };
+  };
+
+  en-ca = mkDictFromWordlist {
+    shortName = "en-ca";
+    shortDescription = "English (Canada)";
+    dictFileName = "en_CA";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_CA-2014.11.17.zip;
+      sha256 = "59950448440657a6fc3ede15720c1b86c0b66c4ec734bf1bd9157f6a1786673b";
+    };
+  };
+
+  en-gb-ise = mkDictFromWordlist {
+    shortName = "en-gb-ise";
+    shortDescription = "English (United Kingdom, 'ise' ending)";
+    dictFileName = "en_GB-ise";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_GB-ise-2014.11.17.zip;
+      sha256 = "97f3b25102fcadd626ae4af3cdd97f017ce39264494f98b1f36ad7d96b9d5a94";
+    };
+  };
+
+  en-gb-ize = mkDictFromWordlist {
+    shortName = "en-gb-ize";
+    shortDescription = "English (United Kingdom, 'ize' ending)";
+    dictFileName = "en_GB-ize";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_GB-ize-2014.11.17.zip;
+      sha256 = "84270673ed7c014445f3ba02f9efdb0ac44cea9ee0bfec76e3e10feae55c4e1c";
+    };
+  };
+
+  /* SPANISH */
+
+  es-any = mkDictFromRedIRIS {
+    shortName = "es-any";
+    shortDescription = "Spanish (any variant)";
+    dictFileName = "es_ANY";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2933/es_ANY.oxt;
+      md5 = "e3d4b38f280e7376178529db2ece982b";
+    };
+  };
+
+  es-ar = mkDictFromRedIRIS {
+    shortName = "es-ar";
+    shortDescription = "Spanish (Argentina)";
+    dictFileName = "es_AR";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2953/es_AR.oxt;
+      md5 = "68ee8f4ebc89a1fa461045d4dbb9b7be";
+    };
+  };
+
+  es-bo = mkDictFromRedIRIS {
+    shortName = "es-bo";
+    shortDescription = "Spanish (Bolivia)";
+    dictFileName = "es_BO";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2952/es_BO.oxt;
+      md5 = "1ebf11b6094e0bfece8e95cc34e7a409";
+    };
+  };
+
+  es-cl = mkDictFromRedIRIS {
+    shortName = "es-cl";
+    shortDescription = "Spanish (Chile)";
+    dictFileName = "es_CL";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2951/es_CL.oxt;
+      md5 = "092a388101350b77af4fd789668582bd";
+    };
+  };
+
+  es-co = mkDictFromRedIRIS {
+    shortName = "es-co";
+    shortDescription = "Spanish (Colombia)";
+    dictFileName = "es_CO";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2950/es_CO.oxt;
+      md5 = "fc440fd9fc55ca2dfb9bfa34a1e63864";
+    };
+  };
+
+  es-cr = mkDictFromRedIRIS {
+    shortName = "es-cr";
+    shortDescription = "Spanish (Costra Rica)";
+    dictFileName = "es_CR";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2949/es_CR.oxt;
+      md5 = "7510fd0f4eb3c6e65523a8d0960f77dd";
+    };
+  };
+
+  es-cu = mkDictFromRedIRIS {
+    shortName = "es-cu";
+    shortDescription = "Spanish (Cuba)";
+    dictFileName = "es_CU";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2948/es_CU.oxt;
+      md5 = "0ab4b9638f58ddd3d95d1265918ff39e";
+    };
+  };
+
+  es-do = mkDictFromRedIRIS {
+    shortName = "es-do";
+    shortDescription = "Spanish (Dominican Republic)";
+    dictFileName = "es_DO";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2947/es_DO.oxt;
+      md5 = "24a20fd4d887693afef539e6f1a3b58e";
+    };
+  };
+
+  es-ec = mkDictFromRedIRIS {
+    shortName = "es-ec";
+    shortDescription = "Spanish (Ecuador)";
+    dictFileName = "es_EC";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2946/es_EC.oxt;
+      md5 = "5d7343a246323ceda58cfbbf1428e279";
+    };
+  };
+
+  es-es = mkDictFromRedIRIS {
+    shortName = "es-es";
+    shortDescription = "Spanish (Spain)";
+    dictFileName = "es_ES";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2945/es_ES.oxt;
+      md5 = "59dd45e6785ed644adbbd73f4f126182";
+    };
+  };
+
+  es-gt = mkDictFromRedIRIS {
+    shortName = "es-gt";
+    shortDescription = "Spanish (Guatemala)";
+    dictFileName = "es_GT";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2944/es_GT.oxt;
+      md5 = "b1a9be80687e3117c67ac46aad6b8d66";
+    };
+  };
+
+  es-hn = mkDictFromRedIRIS {
+    shortName = "es-hn";
+    shortDescription = "Spanish (Honduras)";
+    dictFileName = "es_HN";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2943/es_HN.oxt;
+      md5 = "d0db5bebd6925738b524de9709950f22";
+    };
+  };
+
+  es-mx = mkDictFromRedIRIS {
+    shortName = "es-mx";
+    shortDescription = "Spanish (Mexico)";
+    dictFileName = "es_MX";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2942/es_MX.oxt;
+      md5 = "0de780714f84955112f38f35fb63a894";
+    };
+  };
+
+  es-ni = mkDictFromRedIRIS {
+    shortName = "es-ni";
+    shortDescription = "Spanish (Nicaragua)";
+    dictFileName = "es_NI";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2941/es_NI.oxt;
+      md5 = "d259d7be17c34df76c7de40c80720a39";
+    };
+  };
+
+  es-pa = mkDictFromRedIRIS {
+    shortName = "es-pa";
+    shortDescription = "Spanish (Panama)";
+    dictFileName = "es_PA";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2940/es_PA.oxt;
+      md5 = "085fbdbed6a2e248630c801881563b7a";
+    };
+  };
+
+  es-pe = mkDictFromRedIRIS {
+    shortName = "es-pe";
+    shortDescription = "Spanish (Peru)";
+    dictFileName = "es_PE";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2939/es_PE.oxt;
+      md5 = "f4673063246888995d4eaa2d4a24ee3d";
+    };
+  };
+
+  es-pr = mkDictFromRedIRIS {
+    shortName = "es-pr";
+    shortDescription = "Spanish (Puerto Rico)";
+    dictFileName = "es_PR";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2938/es_PR.oxt;
+      md5 = "e67bcf891ba9eeaeb57a60ec8e57f1ac";
+    };
+  };
+
+  es-py = mkDictFromRedIRIS {
+    shortName = "es-py";
+    shortDescription = "Spanish (Paraguay)";
+    dictFileName = "es_PY";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2937/es_PY.oxt;
+      md5 = "ba98e3197c81db4c572def2c5cca942d";
+    };
+  };
+
+  es-sv = mkDictFromRedIRIS {
+    shortName = "es-sv";
+    shortDescription = "Spanish (El Salvador)";
+    dictFileName = "es_SV";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2936/es_SV.oxt;
+      md5 = "c68ca9d188cb23c88cdd34a069c5a013";
+    };
+  };
+
+  es-uy = mkDictFromRedIRIS {
+    shortName = "es-uy";
+    shortDescription = "Spanish (Uruguay)";
+    dictFileName = "es_UY";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2935/es_UY.oxt;
+      md5 = "aeb9d39e4d17e9c904c1f3567178aad6";
+    };
+  };
+
+  es-ve = mkDictFromRedIRIS {
+    shortName = "es-ve";
+    shortDescription = "Spanish (Venezuela)";
+    dictFileName = "es_VE";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2934/es_VE.oxt;
+      md5 = "8afa9619aede2d9708e799e0f5d0fcab";
+    };
+  };
+
+  /* FRENCH */
+
+  fr-any = mkDictFromDicollecte {
+    shortName = "fr-any";
+    dictFileName = "fr-toutesvariantes";
+    shortDescription = "French (any variant)";
+    longDescription = ''
+      Ce dictionnaire contient les nouvelles et les anciennes graphies des
+      mots concernés par la réforme de 1990.
+    '';
+  };
+
+  fr-classique = mkDictFromDicollecte {
+    shortName = "fr-classique";
+    dictFileName = "fr-classique";
+    shortDescription = "French (classic)";
+    longDescription = ''
+      Ce dictionnaire est une extension du dictionnaire «Moderne» et propose
+      en sus des graphies alternatives, parfois encore très usitées, parfois
+      tombées en désuétude.
+    '';
+  };
+
+  fr-moderne = mkDictFromDicollecte {
+    shortName = "fr-moderne";
+    dictFileName = "fr-moderne";
+    shortDescription = "French (modern)";
+    longDescription = ''
+      Ce dictionnaire propose une sélection des graphies classiques et
+      réformées, suivant la lente évolution de l’orthographe actuelle. Ce
+      dictionnaire contient les graphies les moins polémiques de la réforme.
+    '';
+  };
+
+  fr-reforme1990 = mkDictFromDicollecte {
+    shortName = "fr-reforme1990";
+    dictFileName = "fr-reforme1990";
+    shortDescription = "French (1990 reform)";
+    longDescription = ''
+      Ce dictionnaire ne connaît que les graphies nouvelles des mots concernés
+      par la réforme de 1990.
+    '';
+  };
+
+  /* ITALIAN */
+
+  it-it =  mkLinguistico rec {
+    shortName = "it-it";
+    dictFileName = "it_IT";
+    shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
+    src = fetchurl {
+      url = mirror://sourceforge/linguistico/italiano_2_4_2007_09_01.zip;
+      md5 = "e7fbd9e2dfb25ea3288cdb918e1e1260";
+    };
+  };
+}
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index d4d9663441f..f5a3857ec28 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.open-mpi.org/projects/hwloc/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index a029eab6f12..e95cb7ad097 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchurl, fixDarwinDylibNames }:
 
 let
-
   pname = "icu4c";
-  version = "52.1";
+  version = "55.1";
 in
 stdenv.mkDerivation {
   name = pname + "-" + version;
@@ -11,7 +10,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
       + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
-    sha256 = "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g";
+    sha256 = "0ys5f5spizg45qlaa31j2lhgry0jka2gfha527n4ndfxxz5j4sz1";
   };
 
   makeFlags = stdenv.lib.optionalString stdenv.isDarwin
@@ -35,10 +34,10 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Unicode and globalization support library";
     homepage = http://site.icu-project.org/;
-    maintainers = with stdenv.lib.maintainers; [raskin urkud];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ raskin urkud ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix
index 4d94624ce78..0ea1e96947e 100644
--- a/pkgs/development/libraries/id3lib/default.nix
+++ b/pkgs/development/libraries/id3lib/default.nix
@@ -9,6 +9,6 @@ stdenv.mkDerivation {
   
   src = fetchurl {
     url = mirror://sourceforge/id3lib/id3lib-3.8.3.tar.gz;
-    md5 = "19f27ddd2dda4b2d26a559a4f0f402a7";
+    sha256 = "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97";
   };
 }
diff --git a/pkgs/development/libraries/ijs/default.nix b/pkgs/development/libraries/ijs/default.nix
new file mode 100644
index 00000000000..5350630dac4
--- /dev/null
+++ b/pkgs/development/libraries/ijs/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, autoreconfHook }:
+
+let version = "9.15";
+in
+stdenv.mkDerivation {
+  name = "ijs-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.ghostscript.com/public/ghostscript-${version}.tar.bz2";
+    sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6";
+  };
+
+  prePatch = "cd ijs";
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  configureFlags = [ "--disable-static" "--enable-shared" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.openprinting.org/download/ijs/;
+    description = "Raster printer driver architecture";
+
+    license = licenses.gpl3Plus;
+
+    platforms = platforms.all;
+    maintainers = [ maintainers.abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix
index dd8ad8b3561..6fd204c236f 100644
--- a/pkgs/development/libraries/ilixi/default.nix
+++ b/pkgs/development/libraries/ilixi/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    broken = true; # broken by the directfb 1.6.3 -> 1.7.6 update
   };
 }
diff --git a/pkgs/development/libraries/ilmbase/bootstrap.patch b/pkgs/development/libraries/ilmbase/bootstrap.patch
new file mode 100644
index 00000000000..db6af6daebd
--- /dev/null
+++ b/pkgs/development/libraries/ilmbase/bootstrap.patch
@@ -0,0 +1,15 @@
+diff -ur openexr-v2.2.0-src-orig/IlmBase/bootstrap openexr-v2.2.0-src/IlmBase/bootstrap
+--- IlmBase/bootstrap	2015-03-31 01:02:41.000000000 -0400
++++ IlmBase/bootstrap	2015-03-31 01:03:35.000000000 -0400
+@@ -47,11 +47,6 @@
+     fi
+ }
+ 
+-# Check if /usr/local/share/aclocal exists
+-if [ -d /usr/local/share/aclocal ]; then
+-	ACLOCAL_INCLUDE="$ACLOCAL_INCLUDE -I /usr/local/share/aclocal"
+-fi	
+-
+ run_cmd aclocal -I m4 $ACLOCAL_INCLUDE
+ run_cmd $LIBTOOLIZE --automake --copy
+ run_cmd automake --add-missing --copy
diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix
index 3c9ad9cfc33..816a9c023e1 100644
--- a/pkgs/development/libraries/ilmbase/default.nix
+++ b/pkgs/development/libraries/ilmbase/default.nix
@@ -1,10 +1,26 @@
-{stdenv, fetchurl}:
+{ stdenv, openexr, automake, autoconf, libtool, which }:
 
 stdenv.mkDerivation {
-  name = "ilmbase-1.0.1";
+  name = "ilmbase-${openexr.source.version}";
   
-  src = fetchurl {
-    url = mirror://savannah/openexr/ilmbase-1.0.1.tar.gz;
-    sha256 = "0z9r3r0bxyhgwhkdwln0dg1lnxz691qnjygrqlg3jym34rxzq52g";
+  src = openexr.source.src;
+
+  prePatch = ''
+    cd IlmBase
+  '';
+
+  preConfigure = ''
+    ./bootstrap
+  '';
+
+  buildInputs = [ automake autoconf libtool which ];
+
+  patches = [ ./bootstrap.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.openexr.com/;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/imlib/default.nix b/pkgs/development/libraries/imlib/default.nix
index 27aaad7598a..d8193926fef 100644
--- a/pkgs/development/libraries/imlib/default.nix
+++ b/pkgs/development/libraries/imlib/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "imlib-1.9.15";
   src = fetchurl {
     url = http://tarballs.nixos.org/imlib-1.9.15.tar.gz;
-    md5 = "2a5561457e7f8b2e04d88f73508fd13a";
+    sha256 = "0ggjxyvgp4pxc0b88v40xj9daz90518ydnycw7qax011gxpr12d3";
   };
 
   configureFlags = "
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 5b19323f943..50703f907d3 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, x11, libjpeg, libtiff, libungif, libpng, bzip2, pkgconfig }:
+{ stdenv, fetchurl, x11, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "imlib2-1.4.6";
@@ -8,16 +8,36 @@ stdenv.mkDerivation rec {
     sha256 = "0x1j0ylpclkp8cfpwfpkjywqz124bqskyxbw8pvwzkv2gmrbwldg";
   };
 
-  buildInputs = [ x11 libjpeg libtiff libungif libpng bzip2 ];
+  buildInputs = [ x11 libjpeg libtiff giflib libpng bzip2 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
+  # From
+  # https://github.com/PhantomX/slackbuilds/blob/master/imlib2/patches/imlib2-giflib51.patch
+  patches = [ ./giflib51.patch ];
+
   preConfigure = ''
     substituteInPlace imlib2-config.in \
       --replace "@my_libs@" ""
   '';
 
+  # Do not build amd64 assembly code on Darwin, because it fails to compile
+  # with unknow directive errors
+  configureFlags = if stdenv.isDarwin then [ "--enable-amd64=no" ] else null;
+
   meta = {
-    hydraPlatforms = stdenv.lib.platforms.linux;
+    description = "Image manipulation library";
+
+    longDescription = ''
+      This is the Imlib 2 library - a library that does image file loading and
+      saving as well as rendering, manipulation, arbitrary polygon support, etc.
+      It does ALL of these operations FAST. Imlib2 also tries to be highly
+      intelligent about doing them, so writing naive programs can be done
+      easily, without sacrificing speed.
+    '';
+
+    license = stdenv.lib.licenses.free;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ spwhitt ];
   };
 }
diff --git a/pkgs/development/libraries/imlib2/giflib51.patch b/pkgs/development/libraries/imlib2/giflib51.patch
new file mode 100644
index 00000000000..97eaeb0b96e
--- /dev/null
+++ b/pkgs/development/libraries/imlib2/giflib51.patch
@@ -0,0 +1,64 @@
+diff -ruN imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c imlib2-1.4.6/src/modules/loaders/loader_gif.c
+--- imlib2-1.4.6.orig/src/modules/loaders/loader_gif.c	2013-12-21 10:16:10.000000000 +0000
++++ imlib2-1.4.6/src/modules/loaders/loader_gif.c	2014-05-27 09:52:35.857291512 +0000
+@@ -36,7 +36,7 @@
+ #endif
+    if (fd < 0)
+       return 0;
+-   gif = DGifOpenFileHandle(fd);
++   gif = DGifOpenFileHandle(fd, NULL);
+    if (!gif)
+      {
+         close(fd);
+@@ -60,13 +60,13 @@
+              h = gif->Image.Height;
+              if (!IMAGE_DIMENSIONS_OK(w, h))
+                {
+-                  DGifCloseFile(gif);
++                  DGifCloseFile(gif, NULL);
+                   return 0;
+                }
+              rows = malloc(h * sizeof(GifRowType *));
+              if (!rows)
+                {
+-                  DGifCloseFile(gif);
++                  DGifCloseFile(gif, NULL);
+                   return 0;
+                }
+              for (i = 0; i < h; i++)
+@@ -78,7 +78,7 @@
+                   rows[i] = malloc(w * sizeof(GifPixelType));
+                   if (!rows[i])
+                     {
+-                       DGifCloseFile(gif);
++                       DGifCloseFile(gif, NULL);
+                        for (i = 0; i < h; i++)
+                          {
+                             if (rows[i])
+@@ -150,7 +150,7 @@
+         im->data = (DATA32 *) malloc(sizeof(DATA32) * w * h);
+         if (!im->data)
+           {
+-             DGifCloseFile(gif);
++             DGifCloseFile(gif, NULL);
+              free(rows);
+              return 0;
+           }
+@@ -181,7 +181,7 @@
+                        last_per = (int)per;
+                        if (!(progress(im, (int)per, 0, last_y, w, i)))
+                          {
+-                            DGifCloseFile(gif);
++                            DGifCloseFile(gif, NULL);
+                             for (i = 0; i < h; i++)
+                               {
+                                  free(rows[i]);
+@@ -198,7 +198,7 @@
+      {
+         progress(im, 100, 0, last_y, w, h);
+      }
+-   DGifCloseFile(gif);
++   DGifCloseFile(gif, NULL);
+    for (i = 0; i < h; i++)
+      {
+         free(rows[i]);
\ No newline at end of file
diff --git a/pkgs/development/libraries/indilib/default.nix b/pkgs/development/libraries/indilib/default.nix
index dd8207ffa2b..b060498d40a 100644
--- a/pkgs/development/libraries/indilib/default.nix
+++ b/pkgs/development/libraries/indilib/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, cmake, cfitsio, libusb, zlib, boost }:
+{ stdenv, fetchurl, cmake, cfitsio, libusb, zlib, boost, libnova
+, libjpeg, gsl }:
 
 stdenv.mkDerivation {
-  name = "indilib-0.9.6";
+  name = "indilib-1.0.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/indi/libindi_0.9.6.tar.gz;
-    sha256 = "1cyhsrsl68iczc4gcdnrrdh0r1dxjac6prxjfkw15wz97ya0mvs4";
+    url = mirror://sourceforge/indi/libindi_1.0.0.tar.gz;
+    sha256 = "0f66jykpjk8mv50lc3rywbqj9mqr4p2n1igfb1222h5fs83c1jhm";
   };
 
-  patches = [ ./link-zlib.patch ./udev-dir.patch ];
+  patches = [ ./udev-dir.patch ] ;
 
-  propagatedBuildInputs = [ cmake cfitsio libusb zlib boost ];
+  propagatedBuildInputs = [ cmake cfitsio libusb zlib boost
+                            libnova libjpeg gsl ];
 
   meta = {
     homepage = http://indi.sf.net;
diff --git a/pkgs/development/libraries/indilib/link-zlib.patch b/pkgs/development/libraries/indilib/link-zlib.patch
deleted file mode 100644
index c051194a1b8..00000000000
--- a/pkgs/development/libraries/indilib/link-zlib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur libindi-0.9.6-upstream/CMakeLists.txt libindi-0.9.6/CMakeLists.txt
---- libindi-0.9.6-upstream/CMakeLists.txt	2012-11-19 16:09:14.000000000 -0430
-+++ libindi-0.9.6/CMakeLists.txt	2013-05-02 16:50:25.666624174 -0430
-@@ -169,7 +169,7 @@
- # To link with main() and indibase classes  ######

- ##################################################

- add_library(indidriver SHARED ${libindicom_SRCS} ${liblilxml_SRCS} ${indimain_SRCS} ${indidriver_SRCS})

--target_link_libraries(indidriver ${LIBUSB_LIBRARIES})

-+target_link_libraries(indidriver z ${LIBUSB_LIBRARIES})

- if (NOVA_FOUND)

- target_link_libraries(indidriver ${NOVA_LIBRARIES})

- endif(NOVA_FOUND)

diff --git a/pkgs/development/libraries/indilib/udev-dir.patch b/pkgs/development/libraries/indilib/udev-dir.patch
index 2f6d03d6070..0f497419e70 100644
--- a/pkgs/development/libraries/indilib/udev-dir.patch
+++ b/pkgs/development/libraries/indilib/udev-dir.patch
@@ -1,12 +1,12 @@
-diff -Naur libindi-0.9.6-upstream/CMakeLists.txt libindi-0.9.6/CMakeLists.txt
---- libindi-0.9.6-upstream/CMakeLists.txt	2012-11-19 16:09:14.000000000 -0430
-+++ libindi-0.9.6/CMakeLists.txt	2013-05-02 17:02:55.455944987 -0430
-@@ -13,7 +13,7 @@
- set(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/indi/")

- set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")

- set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")

--set(UDEVRULES_INSTALL_DIR "/etc/udev/rules.d")

-+set(UDEVRULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc/udev/rules.d")

+diff -Naur libindi-1.0.0-upstream/CMakeLists.txt libindi-1.0.0/CMakeLists.txt
+--- libindi-1.0.0-upstream/CMakeLists.txt	2015-03-28 21:06:49.576863460 -0430
++++ libindi-1.0.0/CMakeLists.txt	2015-03-28 21:07:48.420677548 -0430
+@@ -28,7 +28,7 @@
+ ## the following are directories where stuff will be installed to

+ set(INCLUDE_INSTALL_DIR      "${CMAKE_INSTALL_PREFIX}/include/")

+ set(PKGCONFIG_INSTALL_PREFIX "${LIB_DESTINATION}/pkgconfig/")

+-set(UDEVRULES_INSTALL_DIR "/lib/udev/rules.d" CACHE STRING "Base directory for udev rules")

++set(UDEVRULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d" CACHE STRING "Base directory for udev rules")

  

- IF(APPLE)

- set(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup")

+ ##################  Includes  ################################

+ Include (CheckCXXSourceCompiles)

diff --git a/pkgs/development/libraries/iniparser/default.nix b/pkgs/development/libraries/iniparser/default.nix
index 99a256e48ad..f71c273f6d0 100644
--- a/pkgs/development/libraries/iniparser/default.nix
+++ b/pkgs/development/libraries/iniparser/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec{
-  name = "iniparser-3.0b";
+  name = "iniparser-3.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/iniparser3.0b.tar.gz";
-    sha256 = "09klyddnqlpbgkv4cmh6ww9q5pv6nf1vfmzw4z256p51rnnlqqwa";
+    url = "${meta.homepage}/iniparser-3.1.tar.gz";
+    sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf";
   };
 
   patches = ./no-usr.patch;
diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix
index ac67c17218f..a682b3a6b82 100644
--- a/pkgs/development/libraries/irrlicht/default.nix
+++ b/pkgs/development/libraries/irrlicht/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0v31l3k0fzy7isdsx2sh0baaixzlml1m7vgz6cd0015d9f5n99vl";
   };
 
-  patchPhase = ''
+  patches = [ ./irrlicht-1.8.1-mesa-10.x.patch ];
+
+  postPatch = ''
     sed -i /stdcall-alias/d source/Irrlicht/Makefile
   '';
 
diff --git a/pkgs/development/libraries/irrlicht/irrlicht-1.8.1-mesa-10.x.patch b/pkgs/development/libraries/irrlicht/irrlicht-1.8.1-mesa-10.x.patch
new file mode 100644
index 00000000000..e90ff36443a
--- /dev/null
+++ b/pkgs/development/libraries/irrlicht/irrlicht-1.8.1-mesa-10.x.patch
@@ -0,0 +1,40 @@
+From 244d00280c1b082ca164f92337773e9e4e1a3898 Mon Sep 17 00:00:00 2001
+From: hiker <henrichsjoerg@mgail.com>
+Date: Wed, 26 Feb 2014 11:13:03 +1100
+Subject: [PATCH] Applied patch from jpirie for fixing mesa 10 compilation
+ problems.
+
+--- irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
++++ irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
+@@ -21,6 +21,7 @@
+ 	#endif

+ 	#include <GL/gl.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

++		typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 		#include "glext.h"

+ 	#endif

+ 	#include "wglext.h"

+@@ -35,6 +36,7 @@
+ 	#endif

+ 	#include <OpenGL/gl.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

++		typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 		#include "glext.h"

+ 	#endif

+ #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_)

+@@ -48,6 +50,7 @@
+ 	#define NO_SDL_GLEXT

+ 	#include <SDL/SDL_video.h>

+ 	#include <SDL/SDL_opengl.h>

++	typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 	#include "glext.h"

+ #else

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

+@@ -60,6 +63,7 @@
+ 	#include <GL/gl.h>

+ 	#include <GL/glx.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

++	typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 	#include "glext.h"

+ 	#undef GLX_ARB_get_proc_address // avoid problems with local glxext.h

+ 	#include "glxext.h"

diff --git a/pkgs/development/libraries/isl/0.12.2.nix b/pkgs/development/libraries/isl/0.12.2.nix
index f1da2c06409..67620881bca 100644
--- a/pkgs/development/libraries/isl/0.12.2.nix
+++ b/pkgs/development/libraries/isl/0.12.2.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gmp ];
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix
index 7e08c8afe6f..5fa009277e1 100644
--- a/pkgs/development/libraries/isl/default.nix
+++ b/pkgs/development/libraries/isl/default.nix
@@ -1,15 +1,18 @@
 { stdenv, fetchurl, gmp }:
 
 stdenv.mkDerivation rec {
-  name = "isl-0.11.1"; # CLooG 0.16.3 fails to build with ISL 0.08.
+  name = "isl-0.14";
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
-    sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9";
+    url = "http://isl.gforge.inria.fr/${name}.tar.bz2";
+    sha256 = "0dlg4b85nw4w534525h0fvb7yhb8i4am8kskhmm0ym7qabzh4g3y";
   };
 
   buildInputs = [ gmp ];
-  patches = [ ./fix-gcc-build.diff ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
 
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
diff --git a/pkgs/development/libraries/isl/fix-gcc-build.diff b/pkgs/development/libraries/isl/fix-gcc-build.diff
deleted file mode 100644
index 6fbd1f9d478..00000000000
--- a/pkgs/development/libraries/isl/fix-gcc-build.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru isl-0.11.1/include/isl/int.h isl-0.11.1.new/include/isl/int.h
---- isl-0.11.1/include/isl/int.h        2012-11-29 09:47:32.000000000 +0100
-+++ isl-0.11.1.new/include/isl/int.h    2013-10-27 15:35:31.348553812 +0100
-@@ -14,7 +14,7 @@
- #include <string.h>
- #include <gmp.h>
- #if defined(__cplusplus)
--#include <iostream>
-+#include <ostream>
- #endif
- 
- #if defined(__cplusplus)
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 987e1a25d35..9477aca5973 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gettext, python, xz}:
 
 stdenv.mkDerivation rec {
-  name = "iso-codes-3.51";
+  name = "iso-codes-3.56";
   src = fetchurl {
     url = "http://pkg-isocodes.alioth.debian.org/downloads/${name}.tar.xz";
-    sha256 = "0zyp99l4m8cd6301x8zi3xxhziam6v0ic1h8qxb1l0mcjafzf8jj";
+    sha256 = "0vnfygd03jg21i7r238n450wy2hp354f3ank0v3k34zchbjydl2m";
   };
   patchPhase = ''
     for i in `find . -name \*.py`
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index 29e15e08f69..7b4e3834af7 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Insight Segmentation and Registration Toolkit";
     homepage = http://www.itk.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/development/libraries/jansson/default.nix b/pkgs/development/libraries/jansson/default.nix
index 0f0fa3f775a..7b78c39924f 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.5";
+  name = "jansson-2.7";
 
   src = fetchurl {
     url = "http://www.digip.org/jansson/releases/${name}.tar.gz";
-    sha256 = "1cdi1g4pyjwrw76z99ys8cr13iz9nz9i8sq6ivl1q0ymiarvz2yx";
+    sha256 = "1mvq9p85khsl818i4vbszyfab0fd45mdrwrxjkzw05mk1xcyc1br";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index cb4f715f8d8..a642c0acb34 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -8,6 +8,15 @@ stdenv.mkDerivation rec {
     sha256 = "154l7zk7yh3v8l2l6zm5s2alvd2fzkp6c9i18iajfbna5af5m43b";
   };
 
+  patches = [
+    ./jasper-CVE-2014-8137-variant2.diff
+    ./jasper-CVE-2014-8137-noabort.diff
+    ./jasper-CVE-2014-8138.diff
+    ./jasper-CVE-2014-8157.diff
+    ./jasper-CVE-2014-8158.diff
+    ./jasper-CVE-2014-9029.diff
+  ];
+
   nativeBuildInputs = [ unzip autoreconfHook ];
   propagatedBuildInputs = [ libjpeg ];
 
@@ -18,7 +27,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.ece.uvic.ca/~mdadams/jasper/;
+    homepage = https://www.ece.uvic.ca/~frodo/jasper/;
     description = "JPEG2000 Library";
   };
 }
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8137-noabort.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8137-noabort.diff
new file mode 100644
index 00000000000..47b57d5c809
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8137-noabort.diff
@@ -0,0 +1,16 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=967284&action=diff
+
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:30:54.193209780 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:36:46.313217814 +0100
+@@ -291,7 +291,10 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ 	case JP2_COLR_ICC:
+ 		iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp,
+ 		  dec->colr->data.colr.iccplen);
+-		assert(iccprof);
++		if (!iccprof) {
++			jas_eprintf("error: failed to parse ICC profile\n");
++			goto error;
++		}
+ 		jas_iccprof_gethdr(iccprof, &icchdr);
+ 		jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc);
+ 		jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc));
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8137-variant2.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8137-variant2.diff
new file mode 100644
index 00000000000..243300dd70e
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8137-variant2.diff
@@ -0,0 +1,45 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=967283&action=diff
+
+--- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c	2014-12-11 14:06:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/base/jas_icc.c	2014-12-11 15:16:37.971272386 +0100
+@@ -1009,7 +1009,6 @@ static int jas_icccurv_input(jas_iccattr
+ 	return 0;
+ 
+ error:
+-	jas_icccurv_destroy(attrval);
+ 	return -1;
+ }
+ 
+@@ -1127,7 +1126,6 @@ static int jas_icctxtdesc_input(jas_icca
+ #endif
+ 	return 0;
+ error:
+-	jas_icctxtdesc_destroy(attrval);
+ 	return -1;
+ }
+ 
+@@ -1206,8 +1204,6 @@ static int jas_icctxt_input(jas_iccattrv
+ 		goto error;
+ 	return 0;
+ error:
+-	if (txt->string)
+-		jas_free(txt->string);
+ 	return -1;
+ }
+ 
+@@ -1328,7 +1324,6 @@ static int jas_icclut8_input(jas_iccattr
+ 		goto error;
+ 	return 0;
+ error:
+-	jas_icclut8_destroy(attrval);
+ 	return -1;
+ }
+ 
+@@ -1497,7 +1492,6 @@ static int jas_icclut16_input(jas_iccatt
+ 		goto error;
+ 	return 0;
+ error:
+-	jas_icclut16_destroy(attrval);
+ 	return -1;
+ }
+ 
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff
new file mode 100644
index 00000000000..cbf0899d807
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8138.diff
@@ -0,0 +1,16 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=967280&action=diff
+
+--- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:06:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c	2014-12-11 14:06:26.000000000 +0100
+@@ -386,6 +386,11 @@ jas_image_t *jp2_decode(jas_stream_t *in
+ 	/* Determine the type of each component. */
+ 	if (dec->cdef) {
+ 		for (i = 0; i < dec->numchans; ++i) {
++			/* Is the channel number reasonable? */
++			if (dec->cdef->data.cdef.ents[i].channo >= dec->numchans) {
++				jas_eprintf("error: invalid channel number in CDEF box\n");
++				goto error;
++			}
+ 			jas_image_setcmpttype(dec->image,
+ 			  dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo],
+ 			  jp2_getct(jas_image_clrspc(dec->image),
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff
new file mode 100644
index 00000000000..ebfc1b2d0f2
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff
@@ -0,0 +1,12 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157	2015-01-19 16:59:36.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c	2015-01-19 17:07:41.609863268 +0100
+@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+ 		dec->curtileendoff = 0;
+ 	}
+ 
+-	if (JAS_CAST(int, sot->tileno) > dec->numtiles) {
++	if (JAS_CAST(int, sot->tileno) >= dec->numtiles) {
+ 		jas_eprintf("invalid tile number in SOT marker segment\n");
+ 		return -1;
+ 	}
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff
new file mode 100644
index 00000000000..ce9e4b497f3
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff
@@ -0,0 +1,329 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158	2015-01-19 17:25:28.730195502 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c	2015-01-19 17:27:20.214663127 +0100
+@@ -306,11 +306,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+@@ -318,7 +314,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ 	register int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -326,7 +321,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numcols >= 2) {
+ 		hstartcol = (numcols + 1 - parity) >> 1;
+@@ -360,12 +354,10 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -374,11 +366,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+@@ -386,7 +374,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ 	register int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -394,7 +381,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numrows >= 2) {
+ 		hstartcol = (numrows + 1 - parity) >> 1;
+@@ -428,12 +414,10 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -442,11 +426,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -457,7 +437,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ 	int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -465,7 +444,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numrows >= 2) {
+ 		hstartcol = (numrows + 1 - parity) >> 1;
+@@ -517,12 +495,10 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -531,11 +507,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize * numcols];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -546,7 +518,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ 	int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -554,7 +525,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numrows >= 2) {
+ 		hstartcol = (numrows + 1 - parity) >> 1;
+@@ -606,12 +576,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -619,18 +587,13 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+ 	register int n;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -638,7 +601,6 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numcols + 1 - parity) >> 1;
+ 
+@@ -670,12 +632,10 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ 		++srcptr;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -684,18 +644,13 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+ 	register int n;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -703,7 +658,6 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numrows + 1 - parity) >> 1;
+ 
+@@ -735,12 +689,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ 		++srcptr;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -749,11 +701,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -763,7 +711,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ 	register int i;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
+@@ -771,7 +718,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numrows + 1 - parity) >> 1;
+ 
+@@ -821,12 +767,10 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ 		srcptr += JPC_QMFB_COLGRPSIZE;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -835,11 +779,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize * numcols];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -849,7 +789,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ 	register int i;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
+@@ -857,7 +796,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numrows + 1 - parity) >> 1;
+ 
+@@ -907,12 +845,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ 		srcptr += numcols;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-9029.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-9029.diff
new file mode 100644
index 00000000000..01db7f03cdf
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-9029.diff
@@ -0,0 +1,31 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=961994&action=diff
+
+--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c	2014-11-27 12:45:44.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c	2014-11-27 12:44:58.000000000 +0100
+@@ -1281,7 +1281,7 @@ static int jpc_dec_process_coc(jpc_dec_t
+ 	jpc_coc_t *coc = &ms->parms.coc;
+ 	jpc_dec_tile_t *tile;
+ 
+-	if (JAS_CAST(int, coc->compno) > dec->numcomps) {
++	if (JAS_CAST(int, coc->compno) >= dec->numcomps) {
+ 		jas_eprintf("invalid component number in COC marker segment\n");
+ 		return -1;
+ 	}
+@@ -1307,7 +1307,7 @@ static int jpc_dec_process_rgn(jpc_dec_t
+ 	jpc_rgn_t *rgn = &ms->parms.rgn;
+ 	jpc_dec_tile_t *tile;
+ 
+-	if (JAS_CAST(int, rgn->compno) > dec->numcomps) {
++	if (JAS_CAST(int, rgn->compno) >= dec->numcomps) {
+ 		jas_eprintf("invalid component number in RGN marker segment\n");
+ 		return -1;
+ 	}
+@@ -1356,7 +1356,7 @@ static int jpc_dec_process_qcc(jpc_dec_t
+ 	jpc_qcc_t *qcc = &ms->parms.qcc;
+ 	jpc_dec_tile_t *tile;
+ 
+-	if (JAS_CAST(int, qcc->compno) > dec->numcomps) {
++	if (JAS_CAST(int, qcc->compno) >= dec->numcomps) {
+ 		jas_eprintf("invalid component number in QCC marker segment\n");
+ 		return -1;
+ 	}
diff --git a/pkgs/development/libraries/java/classpath/default.nix b/pkgs/development/libraries/java/classpath/default.nix
index eff52cc177b..215234f9176 100644
--- a/pkgs/development/libraries/java/classpath/default.nix
+++ b/pkgs/development/libraries/java/classpath/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, javac, jvm, antlr, pkgconfig, gtk, gconf }:
+{ fetchurl, stdenv, javac, jvm, antlr, pkgconfig, gtk, gconf, ecj }:
 
 stdenv.mkDerivation rec {
   name = "classpath-0.99";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./missing-casts.patch ];
 
-  buildInputs = [ javac jvm antlr pkgconfig gtk gconf ];
+  buildInputs = [ javac jvm antlr pkgconfig gtk gconf ecj ];
 
   configurePhase = ''
     # GCJ tries to compile all of Classpath during the `configure' run when
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/classpath/;
 
     # The exception makes it similar to LGPLv2+ AFAICS.
-    license = "GPLv2+ + exception";
+    license = stdenv.lib.licenses.gpl2ClasspathPlus;
 
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/java/commons/bcel/default.nix b/pkgs/development/libraries/java/commons/bcel/default.nix
new file mode 100644
index 00000000000..0bcd164a525
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/bcel/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  version = "5.2";
+  name    = "commons-bcel-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/bcel/binaries/bcel-${version}.tar.gz";
+    sha256 = "13ppnd6afljdjq21jpn4ik2h1yxq8k2kg21ghi0lyb1yap1rd7k6";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp bcel-5.2.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-bcel/";
+    description = "Gives users a convenient way to analyze, create, and manipulate (binary) Java class files";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/bsf/default.nix b/pkgs/development/libraries/java/commons/bsf/default.nix
new file mode 100644
index 00000000000..b2928683184
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/bsf/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "commons-bsf-1.2";
+
+  src = fetchurl {
+    url = mirror://apache/commons/bsf/binaries/bsf-bin-2.4.0.tar.gz;
+    sha256 = "1my3hv4y8cvrd1kr315wvbjqsamzlzswnbqcmsa2m4hqcafddfr8";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/java
+    cp lib/bsf.jar $out/share/java/
+  '';
+
+  meta = {
+    description = "Interface to scripting languages, including JSR-223";
+    homepage = http://commons.apache.org/proper/commons-bsf/;
+    license = stdenv.lib.licenses.asl20;
+  };
+}
+
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
new file mode 100644
index 00000000000..4e04ba47c85
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "1.8.1";
+  name    = "commons-compress-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/compress/binaries/${name}-bin.tar.gz";
+    sha256 = "11viabgf34r3zx1avj51n00hzmx89kym3i90l6a5v5dbfh61h0lp";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = http://commons.apache.org/proper/commons-compress;
+    description = "Allows manipulation of ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE and Z files";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/fileupload/default.nix b/pkgs/development/libraries/java/commons/fileupload/default.nix
new file mode 100644
index 00000000000..2018e3f11f2
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/fileupload/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  version = "1.3.1";
+  name    = "commons-fileupload-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/fileupload/binaries/${name}-bin.tar.gz";
+    sha256 = "1jy7w2j2ay56mpq4ij3331cf9zgpkm832ydr63svb35j0ymnky72";
+  };
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp lib/*.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = http://commons.apache.org/proper/commons-fileupload;
+    description = "Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/io/default.nix b/pkgs/development/libraries/java/commons/io/default.nix
new file mode 100644
index 00000000000..5c80bcadf4b
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/io/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "2.4";
+  name    = "commons-io-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/io/binaries/${name}-bin.tar.gz";
+    sha256 = "0m5xmjfr9k2zmbrz425q530jd0lm6368c4wm3jsjlsrqmqjpsvz1";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-io";
+    description = "A library of utilities to assist with developing IO functionality";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/lang/default.nix b/pkgs/development/libraries/java/commons/lang/default.nix
new file mode 100644
index 00000000000..82806871a62
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/lang/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.3.2";
+  name    = "commons-lang-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/lang/binaries/commons-lang3-${version}-bin.tar.gz";
+    sha256 = "1fmcx52h4cd2b7bplm7wy3725vh8bix64j3ykkxcn357y4j8ddzr";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-lang";
+    description = "Provides additional methods to manipulate standard Java library classes";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/logging/default.nix b/pkgs/development/libraries/java/commons/logging/default.nix
new file mode 100644
index 00000000000..ee407470202
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/logging/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "commons-logging-1.2";
+
+  src = fetchurl {
+    url    = mirror://apache/commons/logging/binaries/commons-logging-1.2-bin.tar.gz;
+    sha256 = "1gc70pmcv0x6ibl89jglmr22f8zpr63iaifi49nrq399qw2qhx9z";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/java
+    cp commons-logging-*.jar $out/share/java/
+  '';
+
+  meta = {
+    description = "Wrapper around a variety of logging API implementations";
+    homepage = http://commons.apache.org/proper/commons-logging;
+    license = stdenv.lib.licenses.asl20;
+  };
+}
+
diff --git a/pkgs/development/libraries/java/commons/math/default.nix b/pkgs/development/libraries/java/commons/math/default.nix
new file mode 100644
index 00000000000..ed04e2f410b
--- /dev/null
+++ b/pkgs/development/libraries/java/commons/math/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.3";
+  name    = "commons-math-${version}";
+
+  src = fetchurl {
+    url    = "mirror://apache/commons/math/binaries/commons-math3-${version}-bin.tar.gz";
+    sha256 = "1xs71c4vbai6zr84982g4ggv6c18dhkilkzw9n1irjqnjbgm5kzc";
+  };
+
+  installPhase = ''
+    tar xf ${src}
+    mkdir -p $out/share/java
+    cp *.jar $out/share/java/
+  '';
+
+  meta = {
+    homepage    = "http://commons.apache.org/proper/commons-math/";
+    description = "A library of lightweight, self-contained mathematics and statistics components";
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    license     = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/java/jakarta-bcel/builder.sh b/pkgs/development/libraries/java/jakarta-bcel/builder.sh
deleted file mode 100755
index 9ead7cfebde..00000000000
--- a/pkgs/development/libraries/java/jakarta-bcel/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-source $stdenv/setup
-
-tar zxvf $src
-cd bcel-5.1
-mkdir -p $out/share/java/
-cp bcel-5.1.jar $out/share/java/
diff --git a/pkgs/development/libraries/java/jakarta-bcel/default.nix b/pkgs/development/libraries/java/jakarta-bcel/default.nix
deleted file mode 100644
index 1ff88a36247..00000000000
--- a/pkgs/development/libraries/java/jakarta-bcel/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, regexp}:
-
-stdenv.mkDerivation {
-  name = "jakarta-bcel-5.1";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://tarballs.nixos.org/bcel-5.1.tar.gz;
-    md5 = "318f22e4f5f59b68cd004db83a7d65dc";
-  };
-
-  inherit regexp;
-  buildInputs = [stdenv];
-}
diff --git a/pkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh b/pkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh
deleted file mode 100755
index d95feb5eeb4..00000000000
--- a/pkgs/development/libraries/java/jakarta-commons/file-upload/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-set -e
-source $stdenv/setup
-
-tar zxvf $src
-mkdir -p $out
-mv $name/* $out
diff --git a/pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix b/pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix
deleted file mode 100644
index a609532f282..00000000000
--- a/pkgs/development/libraries/java/jakarta-commons/file-upload/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{stdenv, fetchurl} :
-
-stdenv.mkDerivation {
-  name = "commons-fileupload-1.0";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://archive.apache.org/dist/jakarta/commons/fileupload/binaries/commons-fileupload-1.0.tar.gz;
-    md5 = "5618b26b1a5c006d7236fb4465e907b6";
-  };
-}
\ No newline at end of file
diff --git a/pkgs/development/libraries/java/jakarta-regexp/default.nix b/pkgs/development/libraries/java/jakarta-regexp/default.nix
deleted file mode 100644
index 55c3beff70a..00000000000
--- a/pkgs/development/libraries/java/jakarta-regexp/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl}:
-
-# I want some provides mechanism for jar files. These
-# jars can then be added to the CLASSPATH by a dependent package.
-
-stdenv.mkDerivation {
-  name = "jakarta-regexp-1.4";
-  builder = ./java-bin-builder.sh;
-
-  src = fetchurl {
-    url = http://tarballs.nixos.org/jakarta-regexp-1.4.tar.gz;
-    md5 = "d903d84c949df848009f3bf205b32c97";
-  };
-
-  jars = ["jakarta-regexp-1.4.jar"];
-
-  buildInputs = [stdenv];
-}
diff --git a/pkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh b/pkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh
deleted file mode 100755
index c26173ab457..00000000000
--- a/pkgs/development/libraries/java/jakarta-regexp/java-bin-builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-source $stdenv/setup
-
-tar zxvf $src
-cd jakarta-regexp-1.4
-mkdir -p $out/share/java/
-cp jakarta-regexp-1.4.jar $out/share/java/
diff --git a/pkgs/development/libraries/java/smack/builder.sh b/pkgs/development/libraries/java/smack/builder.sh
index bf86d59497e..83edfe04a65 100644
--- a/pkgs/development/libraries/java/smack/builder.sh
+++ b/pkgs/development/libraries/java/smack/builder.sh
@@ -1,6 +1,7 @@
 source $stdenv/setup
 
+mkdir smack
+cd smack
 tar xfvz $src
-cd smack*
 mkdir -p $out/share/java
-cp *.jar $out/share/java
+cp smack-*.jar $out/share/java
diff --git a/pkgs/development/libraries/java/smack/default.nix b/pkgs/development/libraries/java/smack/default.nix
index 14b8e1f5633..9d1d8f53533 100644
--- a/pkgs/development/libraries/java/smack/default.nix
+++ b/pkgs/development/libraries/java/smack/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "smack-3_2_1";
+  name = "smack-3.4.1";
   builder = ./builder.sh;
   
   src = fetchurl {
-    url = http://www.igniterealtime.org/downloadServlet?filename=smack/smack_3_2_1.tar.gz;
-    sha256 = "0lljrxky66gc73caaflia2wgmlpry2cdj00bz1gd1vqrzd3pg3gd";
-  };  
+    url = http://www.igniterealtime.org/downloadServlet?filename=smack/smack_3_4_1.tar.gz;
+    sha256 = "13jm93b0dsfxr62brq1hagi9fqk7ip3pi80svq10zh5kcpk77jf4";
+  };
 }
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index f64edce7b4c..d942dd7b692 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -6,16 +6,34 @@
 , libsoup
 }:
 
-stdenv.mkDerivation {
-  name = "swt-3.7.2-201202080800";
+let
+  platformMap = {
+    "x86_64-linux" =
+      { platform = "gtk-linux-x86_64";
+        sha256 = "0hq48zfqx2p0fqr0rlabnz2pdj0874k19918a4dbj0fhzkhrh959"; };
+    "i686-linux" =
+      { platform = "gtk-linux-x86";
+        sha256 = "10si8kmc7c9qmbpzs76609wkfb784pln3qpmra73gb3fbk7z8caf"; };
+    "x86_64-darwin" =
+      { platform = "cocoa-macosx-x86_64";
+        sha256 = "1565gg63ssrl04fh355vf9mnmq8qwwki3zpc3ybm7bylgkfwc9h4"; };
+  };
+
+  metadata = assert platformMap ? ${stdenv.system}; platformMap.${stdenv.system};
+
+in stdenv.mkDerivation rec {
+  version = "3.7.2";
+  fullVersion = "${version}-201202080800";
+  name = "swt-${version}";
+
   builder = ./builder.sh;
 
   # Alas, the Eclipse Project apparently doesn't produce source-only
   # releases of SWT.  So we just grab a binary release and extract
   # "src.zip" from that.
   src = fetchurl {
-    url = "http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/swt-3.7.2-gtk-linux-x86.zip";
-    sha256 = "10si8kmc7c9qmbpzs76609wkfb784pln3qpmra73gb3fbk7z8caf";
+    url = "http://archive.eclipse.org/eclipse/downloads/drops/R-${fullVersion}/${name}-${metadata.platform}.zip";
+    sha256 = metadata.sha256;
   };
 
   buildInputs = [unzip jdk pkgconfig gtk libXtst libXi mesa webkit libsoup];
diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix
index 9a485906e53..fd7f5367c8e 100644
--- a/pkgs/development/libraries/javascript/jquery-ui/default.nix
+++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix
@@ -1,29 +1,19 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "jquery-ui-1.10.4";
+  name = "jquery-ui-1.11.1";
 
   src = fetchurl {
-    url = "http://jqueryui.com/resources/download/${name}.custom.zip";
-    sha256 = "04kp27ln74j4k2jacs54264x2bsdjx1dxlw5zlpd889jqv2m6dfc";
+    url = "http://jqueryui.com/resources/download/${name}.zip";
+    sha256 = "05dlcfwklymx94fb4n88l5syf80l6zrs862zzmla477vd8ndk537";
   };
 
   buildInputs = [ unzip ];
 
   installPhase =
     ''
-      mkdir -p $out
-      cp -prvd css js $out/
-
-      # For convenience, provide symlinks "jquery.min.js" etc. (i.e.,
-      # without the version number).
-      pushd $out/js
-      ln -s jquery-ui-*.custom.js jquery-ui.js
-      ln -s jquery-ui-*.custom.min.js jquery-ui.min.js
-      ln -s jquery-1.*.js jquery.js
-      popd
-      pushd $out/css/smoothness
-      ln -s jquery-ui-*.custom.css jquery-ui.css
+      mkdir -p "$out/js"
+      cp -rv . "$out/js"
     '';
 
   meta = {
diff --git a/pkgs/development/libraries/javascript/jquery/default.nix b/pkgs/development/libraries/javascript/jquery/default.nix
new file mode 100644
index 00000000000..7dd2b6284fa
--- /dev/null
+++ b/pkgs/development/libraries/javascript/jquery/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, compressed ? true }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "jquery-1.11.1";
+
+  src = if compressed then
+    fetchurl {
+      url = "http://code.jquery.com/${name}.min.js";
+      sha256 = "0hgly37jhg0n5cqlx3ylmwcxkxmbkvv07f9z9pm94jyxq7gcc2sl";
+    }
+    else
+    fetchurl {
+      url = "http://code.jquery.com/${name}.js";
+      sha256 = "1g7nhy8dwzzai7h7m800fsig4gzw34kjxxbpqdac2y8ch9586a9h";
+    };
+
+  unpackPhase = "true";
+
+  installPhase =
+    ''
+      mkdir -p "$out/js"
+      cp -v "$src" "$out/js/jquery.js"
+      ${optionalString compressed ''
+        (cd "$out/js" && ln -s jquery.js jquery.min.js)
+      ''}
+    '';
+
+  meta = with stdenv.lib; {
+    description = "JavaScript library designed to simplify the client-side scripting of HTML";
+    homepage = http://jquery.com/;
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/jbigkit/default.nix b/pkgs/development/libraries/jbigkit/default.nix
new file mode 100644
index 00000000000..2e0c75c1452
--- /dev/null
+++ b/pkgs/development/libraries/jbigkit/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "jbigkit-2.1";
+
+  src = fetchurl {
+    url = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/download/${name}.tar.gz";
+    sha256 = "0cnrcdr1dwp7h7m0a56qw09bv08krb37mpf7cml5sjdgpyv0cwfy";
+  };
+
+  postPatch = ''
+    sed -i 's/^\(CFLAGS.*\)$/\1 -fPIC/' Makefile
+  '' + stdenv.lib.optionalString (stdenv.cc.cc.isClang or false) ''
+    substituteInPlace Makefile libjbig/Makefile pbmtools/Makefile \
+      --replace "CC = gcc" "CC = clang"
+  '';
+
+  installPhase = ''
+    install -D -m644 libjbig/libjbig.a $out/lib/libjbig.a
+    install -D -m644 libjbig/libjbig85.a $out/lib/libjbig85.a
+    install -D -m644 libjbig/jbig.h $out/include/jbig.h
+    install -D -m644 libjbig/jbig_ar.h $out/include/jbig_ar.h
+    install -D -m644 libjbig/jbig85.h $out/include/jbig85.h
+
+    install -d -m755 $out/share/man/man1
+    install -m644 pbmtools/*.1* $out/share/man/man1
+
+    install -D -m755 pbmtools/jbgtopbm $out/bin/jbgtopbm
+    install -D -m755 pbmtools/pbmtojbg $out/bin/pbmtojbg
+    install -D -m755 pbmtools/jbgtopbm85 $out/bin/jbgtopbm85
+    install -D -m755 pbmtools/pbmtojbg85 $out/bin/pbmtojbg85
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/";
+    description = "a software implementation of the JBIG1 data compression standard";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
new file mode 100644
index 00000000000..b08f5b7dd76
--- /dev/null
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "jemalloc-3.6.0";
+
+  src = fetchurl {
+    url = "http://www.canonware.com/download/jemalloc/${name}.tar.bz2";
+    sha256 = "1zl4vxxjvhg72bdl53sl0idz9wp18c6yzjdmqcnwm09wvmcj2v71";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.canonware.com/jemalloc/index.html;
+    description = "a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support";
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 7a45ca0f227..e49063a9de9 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, fetchurlGnome, glib, pkgconfig, gobjectIntrospection, dbus }:
+{ stdenv, fetchurl, glib, pkgconfig, gobjectIntrospection, dbus }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "json-glib-${minVer}.2";
+  minVer = "1.0";
 
-  src = fetchurlGnome {
-    project = "json-glib";
-    major = "1";
-    minor = "0";
-    patchlevel = "0";
-    extension = "xz";
-    sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde";
+  src = fetchurl {
+    url = "mirror://gnome/sources/json-glib/${minVer}/${name}.tar.xz";
+    sha256 = "887bd192da8f5edc53b490ec51bf3ffebd958a671f5963e4f3af32c22e35660a";
   };
 
-  configureflags= "--with-introspection" ; 
+  configureflags= "--with-introspection";
 
   propagatedBuildInputs = [ glib gobjectIntrospection ];
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix
index b1aa03991bd..d8b85847975 100644
--- a/pkgs/development/libraries/jsoncpp/default.nix
+++ b/pkgs/development/libraries/jsoncpp/default.nix
@@ -1,32 +1,31 @@
-{ stdenv, fetchurl, scons}:
+{ stdenv, fetchurl, cmake, python }:
 
 let
   basename = "jsoncpp";
-  version = "0.6.0-rc2";
-  pkgname = "${basename}-src-${version}.tar.gz";
-in 
+  version = "1.6.0";
+in
 stdenv.mkDerivation rec {
   name = "${basename}-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/${basename}/${pkgname}";
-    sha256 = "10xj15nziqpwc6r3yznpb49wm4jqc5wakjsmj65v087mcg8r7lfl";
+    url = "https://github.com/open-source-parsers/${basename}/archive/${version}.tar.gz";
+    sha256 = "0ff1niks3y41gr6z13q9m391na70abqyi9rj4z3y2fz69cwm6sgz";
   };
 
-  buildInputs = [ scons ];
-
-  buildPhase = ''
-    mkdir -p $out
-    scons platform=linux-gcc check
-  '';
-
-  installPhase = ''
-    cp -r include $out
-    cp -r libs/* $out/lib
-  '';
+  nativeBuildInputs =
+    [
+      # cmake can be built with the system jsoncpp, or its own bundled version.
+      # Obviously we cannot build it against the system jsoncpp that doesn't yet exist, so
+      # we make a bootstrapping build with the bundled version.
+      (cmake.override { jsoncpp = null; })
+      python
+    ];
 
   meta = {
-    homepage = http://jsoncpp.sourceforge.net;
-    repositories.svn = svn://svn.code.sf.net/p/jsoncpp/code;
+    inherit version;
+    homepage = https://github.com/open-source-parsers/jsoncpp;
     description = "A simple API to manipulate JSON data in C++";
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+    license = with stdenv.lib.licenses; [ mit ];
+    branch = "1.6";
   };
 }
diff --git a/pkgs/development/libraries/judy/default.nix b/pkgs/development/libraries/judy/default.nix
index 4199becb06d..13b50286380 100644
--- a/pkgs/development/libraries/judy/default.nix
+++ b/pkgs/development/libraries/judy/default.nix
@@ -8,6 +8,12 @@ stdenv.mkDerivation {
     sha256 = "1sv3990vsx8hrza1mvq3bhvv9m6ff08y4yz7swn6znszz24l0w6j";
   };
 
+  # gcc 4.8 optimisations break judy.
+  # http://sourceforge.net/p/judy/mailman/message/31995144/
+  preConfigure = stdenv.lib.optionalString (stdenv.cc.cc.isGNU or false) ''
+    configureFlagsArray+=("CFLAGS=-fno-strict-aliasing -fno-aggressive-loop-optimizations")
+  '';
+
   meta = {
     homepage = http://judy.sourceforge.net/;
     license = stdenv.lib.licenses.lgpl21Plus;
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/default.nix b/pkgs/development/libraries/kde-frameworks-5.7/default.nix
new file mode 100644
index 00000000000..30e8d5ffe1c
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/default.nix
@@ -0,0 +1,203 @@
+# Maintainer's Notes:
+#
+# Minor updates:
+#  1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
+#     releases updates that include only the changed packages; in this case,
+#     multiple URLs can be provided and the results will be merged.
+#  2. Run ./manifest.sh and ./dependencies.sh.
+#  3. Build and enjoy.
+#
+# Major updates:
+#  We prefer not to immediately overwrite older versions with major updates, so
+#  make a copy of this directory first. After copying, be sure to delete ./tmp
+#  if it exists. Then follow the minor update instructions.
+
+{ autonix, fetchurl, pkgs, qt5, stdenv, debug ? false }:
+
+with stdenv.lib; with autonix;
+
+let
+
+  mkDerivation = drv:
+    let inherit (builtins.parseDrvName drv.name) version; in
+    stdenv.mkDerivation
+      (drv // {
+        setupHook = ./setup-hook.sh;
+
+        enableParallelBuilding = drv.enableParallelBuilding or true;
+        cmakeFlags =
+          (drv.cmakeFlags or [])
+          ++ [ "-DBUILD_TESTING=OFF" ]
+          ++ optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+        meta =
+          {
+            license = with stdenv.lib.licenses; [
+              lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
+            ];
+            platforms = stdenv.lib.platforms.linux;
+            maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+            homepage = "http://www.kde.org";
+            inherit version;
+            branch = intersperse "." (take 2 (splitString "." version));
+          } // (drv.meta or {});
+      });
+
+  renames = builtins.removeAttrs (import ./renames.nix {}) ["Backend" "CTest"];
+
+  scope =
+    # packages in this collection
+    (mapAttrs (dep: name: kf5."${name}") renames) //
+    # packages pinned to this version of Qt 5
+    {
+      Phonon4Qt5 = pkgs.phonon_qt5.override { inherit qt5; };
+      Qt5 = qt5.base;
+      Qt5Core = qt5.base;
+      Qt5DBus = qt5.base;
+      Qt5Gui = qt5.base;
+      Qt5LinguistTools = qt5.tools;
+      Qt5Qml = [qt5.declarative qt5.graphicaleffects];
+      Qt5Quick = [qt5.quickcontrols qt5.graphicaleffects];
+      Qt5Script = qt5.script;
+      Qt5Svg = qt5.svg;
+      Qt5WebkitWidgets = qt5.webkit;
+      Qt5Widgets = qt5.base;
+      Qt5X11Extras = qt5.x11extras;
+      Qt5XmlPatterns = qt5.xmlpatterns;
+      dbusmenu-qt5 = pkgs.libdbusmenu_qt5.override { inherit qt5; };
+    } //
+    # packages from the nixpkgs collection
+    (with pkgs;
+      {
+        Boost = boost155;
+        inherit cmake epoxy;
+        GIF = giflib;
+        GLIB2 = glib;
+        Gpgme = gpgme;
+        JPEG = libjpeg;
+        LibGcrypt = libgcrypt;
+        LibGit2 = libgit2;
+        LibIntl = gettext;
+        LibLZMA = lzma;
+        NetworkManager = networkmanager;
+        Perl = perl;
+        PythonInterp = python;
+        QImageBlitz = qimageblitz;
+        SharedMimeInfo = shared_mime_info;
+        ZLIB = zlib;
+      }
+    );
+
+  mirror = "mirror://kde";
+
+  preResolve = super:
+    fold (f: x: f x) super
+      [
+        (userEnvPkg "SharedMimeInfo")
+        (userEnvPkg "SharedDesktopOntologies")
+      ];
+
+  postResolve = super:
+    super // {
+      extra-cmake-modules = {
+        inherit (super.extra-cmake-modules) name src;
+
+        propagatedNativeBuildInputs = [ scope.cmake pkgs.pkgconfig qt5.tools ];
+        cmakeFlags = ["-DBUILD_TESTING=OFF"];
+        patches =
+          [
+            ./extra-cmake-modules/0001-extra-cmake-modules-paths.patch
+          ];
+        meta =
+          let inherit (builtins.parseDrvName super.extra-cmake-modules.name) version; in
+          {
+            license = with stdenv.lib.licenses; [ bsd2 ];
+            platforms = stdenv.lib.platforms.linux;
+            maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+            homepage = "http://www.kde.org";
+            inherit version;
+            branch = intersperse "." (take 2 (splitString "." version));
+          };
+      };
+
+      frameworkintegration = super.frameworkintegration // {
+        buildInputs = with pkgs.xlibs; super.frameworkintegration.buildInputs ++ [ libXcursor ];
+      };
+
+      kauth = super.kauth // {
+        buildInputs =
+          super.kauth.buildInputs
+          ++ [(pkgs.polkit_qt5.override { inherit qt5; })];
+        patches = [./kauth/kauth-policy-install.patch];
+      };
+
+      kcmutils = super.kcmutils // {
+        patches =
+          [./kcmutils/kcmutils-pluginselector-follow-symlinks.patch];
+      };
+
+      kconfigwidgets = super.kconfigwidgets // {
+        patches =
+          [./kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch];
+      };
+
+      kdelibs4support = with pkgs; super.kdelibs4support // {
+        buildInputs =
+          super.kdelibs4support.buildInputs
+          ++ [networkmanager xlibs.libSM];
+        cmakeFlags =
+          (super.kdelibs4support.cmakeFlags or [])
+          ++ [
+            "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
+            "-DDocBookXML4_DTD_VERSION=4.5"
+          ];
+      };
+
+      kdoctools = with pkgs; super.kdoctools // {
+        cmakeFlags =
+          (super.kdoctools.cmakeFlags or [])
+          ++ [
+            "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
+            "-DDocBookXML4_DTD_VERSION=4.5"
+            "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook"
+          ];
+        patches = [./kdoctools/kdoctools-no-find-docbook-xml.patch];
+      };
+
+      ki18n = with pkgs; super.ki18n // {
+        propagatedNativeBuildInputs =
+          super.ki18n.propagatedNativeBuildInputs ++ [gettext python];
+      };
+
+      kimageformats = with pkgs; super.kimageformats // {
+        NIX_CFLAGS_COMPILE =
+          (super.kimageformats.NIX_CFLAGS_COMPILE or "")
+          + " -I${ilmbase}/include/OpenEXR";
+      };
+
+      kinit = super.kinit // { patches = [ ./kinit/kinit-libpath.patch ]; };
+
+      kpackage = super.kpackage // { patches = [ ./kpackage/0001-allow-external-paths.patch ]; };
+
+      kservice = super.kservice // {
+        buildInputs = super.kservice.buildInputs ++ [kf5.kwindowsystem];
+        patches =
+          [
+            ./kservice/kservice-kbuildsycoca-follow-symlinks.patch
+            ./kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
+          ];
+      };
+
+      ktexteditor = super.ktexteditor // {
+        patches = [ ./ktexteditor/0001-no-qcoreapplication.patch ];
+      };
+
+    };
+
+  kf5 = generateCollection ./. {
+    inherit mirror mkDerivation preResolve postResolve renames scope;
+  };
+
+in
+
+  kf5 // { inherit mkDerivation qt5 scope; }
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/dependencies.nix b/pkgs/development/libraries/kde-frameworks-5.7/dependencies.nix
new file mode 100644
index 00000000000..c4a2977b8e5
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/dependencies.nix
@@ -0,0 +1,500 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+  attica = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5Network" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  extra-cmake-modules = {
+    buildInputs = [ "AGG" "Blitz" "BlueZ" "ENCHANT" "Eigen2" "FFmpeg" "Flac" "Flex" "GObject" "GStreamer" "LCMS" "LibArt" "OpenEXR" "PCRE" "QCA2" "QImageBlitz" "Qt5Core" "Qt5LinguistTools" "Qt5QUIET" "Sqlite" "Strigi" "USB" "Xine" "Xmms" ];
+    nativeBuildInputs = [ "LibXslt" "QCOLLECTIONGENERATOR_EXECUTABLE" "SPHINX_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  frameworkintegration = {
+    buildInputs = [ "ECM" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Notifications" "KF5WidgetsAddons" "OxygenFont" "Qt5" "Qt5DBus" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5IconThemes" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kactivities = {
+    buildInputs = [ "Boost" "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5GlobalAccel" "KF5I18n" "KF5KCMUtils" "KF5KIO" "KF5Service" "KF5WindowSystem" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Gui" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Sql" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kapidox = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "PythonInterp" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  karchive = {
+    buildInputs = [ "BZip2" "ECM" "KF5Archive" "LibLZMA" "Qt5Core" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kauth = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "Qt5" "Qt5DBus" "Qt5QUIET" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbookmarks = {
+    buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5CoreAddons" "KF5IconThemes" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5IconThemes" "KF5XmlGui" "Qt5Widgets" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcmutils = {
+    buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5Service" "KF5XmlGui" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5IconThemes" "KF5ItemViews" "KF5Service" "KF5XmlGui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcodecs = {
+    buildInputs = [ "ECM" "Qt5Core" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcompletion = {
+    buildInputs = [ "ECM" "KF5Config" "KF5WidgetsAddons" "Qt5" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5WidgetsAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kconfig = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Gui" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kconfigwidgets = {
+    buildInputs = [ "ECM" "KF5Auth" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5WidgetsAddons" "Qt5" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Auth" "KF5Codecs" "KF5Config" "KF5GuiAddons" "KF5I18n" "KF5WidgetsAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcoreaddons = {
+    buildInputs = [ "ECM" "FAM" "Qt5" "Qt5Core" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kcrash = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5WindowSystem" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" "KF5WindowSystem" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdbusaddons = {
+    buildInputs = [ "ECM" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5X11Extras" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5DBus" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdeclarative = {
+    buildInputs = [ "ECM" "KF5Config" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Test" "epoxy" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5KIO" "Qt5Qml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kded = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DocTools" "KF5Init" "KF5Service" "Qt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdelibs4support = {
+    buildInputs = [ "AGG" "Blitz" "BlueZ" "DocBookXML4" "ECM" "ENCHANT" "Eigen2" "FFmpeg" "Flac" "GObject" "GStreamer" "KDEWin" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5Crash" "KF5DesignerPlugin" "KF5DocTools" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Service" "KF5TextWidgets" "KF5UnitConversion" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "LCMS" "LibArt" "NetworkManager" "OpenEXR" "OpenSSL" "PCRE" "QCA2" "QImageBlitz" "QNtrack" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Designer" "Qt5NO_MODULE" "Qt5Network" "Qt5PrintSupport" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "Sqlite" "USB" "X11" "Xine" "Xmms" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KDEWin" "KF5Auth" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DesignerPlugin" "KF5DocTools" "KF5Emoticons" "KF5GuiAddons" "KF5IconThemes" "KF5Init" "KF5ItemModels" "KF5KDELibs4Support" "KF5Notifications" "KF5Parts" "KF5TextWidgets" "KF5UnitConversion" "KF5WindowSystem" "Qt5DBus" "Qt5PrintSupport" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesignerplugin = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5IconThemes" "KF5ItemViews" "KF5KIO" "KF5Plotting" "KF5Sonnet" "KF5TextWidgets" "KF5WebKit" "KF5WidgetsAddons" "KF5XmlGui" "Qt5Core" "Qt5Designer" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesu = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5Pty" "KF5Service" "Qt5Core" "Qt5NO_MODULE" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Pty" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdewebkit = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5JobWidgets" "KF5KIO" "KF5Parts" "KF5Service" "KF5Wallet" "Qt5" "Qt5Core" "Qt5Network" "Qt5WebKitWidgets" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5WebKitWidgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdnssd = {
+    buildInputs = [ "Avahi" "DNSSD" "ECM" "Qt5" "Qt5DBus" "Qt5Network" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Network" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdoctools = {
+    buildInputs = [ "DocBookXML4" "DocBookXSL" "ECM" "KF5Archive" "KF5DocTools" "KF5I18n" "LibXml2" "Qt5Core" "Qt5NO_MODULE" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [ "KF5Archive" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kemoticons = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5CoreAddons" "KF5Service" "Qt5" "Qt5Gui" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Archive" "KF5Service" "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kglobalaccel = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5I18n" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5DBus" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kguiaddons = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  khtml = {
+    buildInputs = [ "ECM" "GIF" "JPEG" "KDEWin" "KF5Archive" "KF5Codecs" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5JS" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Sonnet" "KF5TextWidgets" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "OpenSSL" "PNG" "Phonon4Qt5" "Qt5" "Qt5Test" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [ "KF5Archive" "KF5Bookmarks" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5JS" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Sonnet" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ki18n = {
+    buildInputs = [ "ECM" "LibIntl" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Script" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kiconthemes = {
+    buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5I18n" "KF5ItemViews" "KF5WidgetsAddons" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5I18n" "KF5ItemViews" "KF5WidgetsAddons" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kidletime = {
+    buildInputs = [ "ECM" "Qt5" "Qt5DBus" "Qt5Widgets" "Qt5X11Extras" "X11" "X11_XCB" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kimageformats = {
+    buildInputs = [ "ECM" "Jasper" "OpenEXR" "Qt5Gui" "Qt5NO_MODULE" "Qt5PrintSupport" "Qt5QUIET" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kinit = {
+    buildInputs = [ "ECM" "KF5Config" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5Service" "KF5WindowSystem" "Libcap" "Qt5" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kio = {
+    buildInputs = [ "ACL" "ECM" "GSSAPI" "KF5Archive" "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5JobWidgets" "KF5Notifications" "KF5Service" "KF5Solid" "KF5TextWidgets" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "LibXml2" "OpenSSL" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5DBus" "Qt5NO_MODULE" "Qt5Network" "Qt5Script" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "Qt5Xml" "Strigi" "X11" "ZLIB" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [ "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5CoreAddons" "KF5ItemViews" "KF5JobWidgets" "KF5Service" "KF5Solid" "KF5XmlGui" "Qt5Network" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kitemmodels = {
+    buildInputs = [ "ECM" "Grantlee" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5Script" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kitemviews = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjobwidgets = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5WidgetsAddons" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" "KF5WidgetsAddons" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjs = {
+    buildInputs = [ "ECM" "PCRE" "Qt5Core" "Qt5NO_MODULE" "Qt5Test" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjsembed = {
+    buildInputs = [ "ECM" "KF5DocTools" "KF5I18n" "KF5JS" "Qt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5I18n" "KF5JS" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmediaplayer = {
+    buildInputs = [ "ECM" "KF5Parts" "KF5XmlGui" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Parts" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knewstuff = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Attica" "KF5Completion" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KIO" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Archive" "KF5Attica" "KF5KIO" "KF5XmlGui" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knotifications = {
+    buildInputs = [ "ECM" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5IconThemes" "KF5Service" "KF5WindowSystem" "Phonon4Qt5" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" "dbusmenu-qt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5WindowSystem" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knotifyconfig = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5KIO" "KF5Notifications" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5I18n" "KF5KIO" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kpackage = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kparts = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5JobWidgets" "KF5KIO" "KF5Notifications" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5KIO" "KF5Notifications" "KF5TextWidgets" "KF5XmlGui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kplotting = {
+    buildInputs = [ "ECM" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kpty = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5I18n" "Qt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" "KF5I18n" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kross = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Parts" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5QUIET" "Qt5Script" "Qt5Test" "Qt5UiTools" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Parts" "KF5WidgetsAddons" "Qt5Script" "Qt5Widgets" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  krunner = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5KIO" "KF5Plasma" "KF5Service" "KF5Solid" "KF5ThreadWeaver" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Quick" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Plasma" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kservice = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktexteditor = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5GuiAddons" "KF5I18n" "KF5KIO" "KF5Parts" "KF5Sonnet" "LibGit2" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5PrintSupport" "Qt5Script" "Qt5Test" "Qt5Widgets" "Qt5Xml" "Qt5XmlPatterns" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktextwidgets = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5Service" "KF5Sonnet" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Completion" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5Service" "KF5Sonnet" "KF5WindowSystem" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kunitconversion = {
+    buildInputs = [ "ECM" "KF5I18n" "Qt5" "Qt5Core" "Qt5Network" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5I18n" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwallet = {
+    buildInputs = [ "ECM" "Gpgme" "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5Gpgmepp" "KF5I18n" "KF5IconThemes" "KF5Notifications" "KF5Service" "KF5WidgetsAddons" "KF5WindowSystem" "LibGcrypt" "Qt5" "Qt5DBus" "Qt5Gui" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5WindowSystem" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwidgetsaddons = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Test" "Qt5UiTools" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwindowsystem = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Test" "Qt5Widgets" "Qt5WinExtras" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kxmlgui = {
+    buildInputs = [ "ECM" "KF5Attica" "KF5Config" "KF5ConfigWidgets" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5Network" "Qt5PrintSupport" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Attica" "KF5Config" "KF5ConfigWidgets" "KF5GlobalAccel" "KF5IconThemes" "KF5ItemViews" "KF5TextWidgets" "KF5WindowSystem" "Qt5DBus" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  networkmanager-qt = {
+    buildInputs = [ "ECM" "KF5NetworkManagerQt" "NetworkManager" "Qt4" "Qt5" "Qt5Core" "Qt5DBus" "Qt5NO_MODULE" "Qt5Network" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  plasma-framework = {
+    buildInputs = [ "ECM" "EGL" "Gpgme" "KActivities" "KCoreAddons" "KDE4Support" "KDESu" "KDeclarative" "KF5" "KF5Activities" "KF5Archive" "KF5Auth" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5Declarative" "KF5DocTools" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5IdleTime" "KF5Init" "KF5ItemModels" "KF5ItemViews" "KF5JS" "KF5JobWidgets" "KF5KArchive" "KF5KAuth" "KF5KBookmarks" "KF5KCodecs" "KF5KCompletion" "KF5KConfig" "KF5KConfigWidgets" "KF5KCoreAddons" "KF5KCrash" "KF5KDBusAddons" "KF5KDE4Support" "KF5KDESu" "KF5KDeclarative" "KF5KDocTools" "KF5KF5GlobalAccel" "KF5KGuiAddons" "KF5KI18n" "KF5KIO" "KF5KIconThemes" "KF5KIdleTime" "KF5KInit" "KF5KJS" "KF5KJobWidgets" "KF5KNotifications" "KF5KParts" "KF5KService" "KF5KTextWidgets" "KF5KUnitConversion" "KF5KWallet" "KF5KWidgetsAddons" "KF5KWindowSystem" "KF5Kross" "KF5NO_MODULE" "KF5Notifications" "KF5Package" "KF5Parts" "KF5Service" "KF5Solid" "KF5Sonnet" "KF5Su" "KF5TextWidgets" "KF5ThreadWeaver" "KF5UnitConversion" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "KdepimLibs" "OpenGL" "QCA2" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Script" "Qt5Sql" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "Solid" "X11" "XCB" ];
+    nativeBuildInputs = [ "SH" "cmake" ];
+    propagatedBuildInputs = [ "KF5Package" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  solid = {
+    buildInputs = [ "ECM" "IOKit" "MediaPlayerInfo" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Network" "Qt5QUIET" "Qt5Qml" "Qt5Test" "Qt5Widgets" "Qt5Xml" "UDev" ];
+    nativeBuildInputs = [ "BISON" "FLEX" "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  sonnet = {
+    buildInputs = [ "ASPELL" "ECM" "ENCHANT" "HSPELL" "HUNSPELL" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  threadweaver = {
+    buildInputs = [ "ECM" "KF5ThreadWeaver" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5Network" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "SNIPPETEXTRACTOR" "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/dependencies.sh b/pkgs/development/libraries/kde-frameworks-5.7/dependencies.sh
new file mode 100755
index 00000000000..2b220244c59
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/dependencies.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# This script rebuilds dependencies.nix.
+# You must run manifest.sh first to download the packages.
+
+# Without arguments, this will use the version of autonix-deps-kf5 in nixpkgs.
+# If you are working on the packages, this is probably what you want.
+
+# You can also pass the path to a source tree where you have built
+# autonix-deps-kf5 yourself. If you are working on autonix-deps-kf5, this is
+# probably what you want.
+
+manifestXML=$(nix-build -E 'with (import ../../../.. {}); autonix.writeManifestXML ./manifest.nix')
+
+autonixDepsKf5=""
+if [[ -z $1 ]]; then
+    autonixDepsKF5=$(nix-build ../../../.. -A haskellngPackages.autonix-deps-kf5)/bin
+else
+    autonixDepsKF5="$1/dist/build/kf5-deps"
+fi
+
+exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/extra-cmake-modules/0001-extra-cmake-modules-paths.patch b/pkgs/development/libraries/kde-frameworks-5.7/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
new file mode 100644
index 00000000000..9717716faf5
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
@@ -0,0 +1,74 @@
+From 3cc148e878b69fc3e0228f3e3bf1bbe689dad87c Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Fri, 20 Feb 2015 23:17:39 -0600
+Subject: [PATCH] extra-cmake-modules paths
+
+---
+ kde-modules/KDEInstallDirs.cmake | 37 ++++---------------------------------
+ 1 file changed, 4 insertions(+), 33 deletions(-)
+
+diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
+index b7cd34d..2f868ac 100644
+--- a/kde-modules/KDEInstallDirs.cmake
++++ b/kde-modules/KDEInstallDirs.cmake
+@@ -193,37 +193,8 @@
+ # (To distribute this file outside of extra-cmake-modules, substitute the full
+ #  License text for the above reference.)
+ 
+-# Figure out what the default install directory for libraries should be.
+-# This is based on the logic in GNUInstallDirs, but simplified (the
+-# GNUInstallDirs code deals with re-configuring, but that is dealt with
+-# by the _define_* macros in this module).
++# The default library directory on NixOS is *always* /lib.
+ set(_LIBDIR_DEFAULT "lib")
+-# Override this default 'lib' with 'lib64' iff:
+-#  - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
+-#  - we are NOT on debian
+-#  - we are on a 64 bits system
+-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
+-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
+-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
+-# See http://wiki.debian.org/Multiarch
+-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
+-   AND NOT CMAKE_CROSSCOMPILING)
+-  if (EXISTS "/etc/debian_version") # is this a debian system ?
+-    if(CMAKE_LIBRARY_ARCHITECTURE)
+-      set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+-    endif()
+-  else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
+-    if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
+-      message(AUTHOR_WARNING
+-        "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
+-        "Please enable at least one language before including KDEInstallDirs.")
+-    else()
+-      if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+-        set(_LIBDIR_DEFAULT "lib64")
+-      endif()
+-    endif()
+-  endif()
+-endif()
+ 
+ set(_gnu_install_dirs_vars
+     BINDIR
+@@ -445,15 +416,15 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
+         "QtQuick2 imports"
+         QML_INSTALL_DIR)
+ else()
+-    _define_relative(QTPLUGINDIR LIBDIR "plugins"
++    _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins"
+         "Qt plugins"
+         QT_PLUGIN_INSTALL_DIR)
+ 
+-    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
++    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "qt5/imports"
+         "QtQuick1 imports"
+         IMPORTS_INSTALL_DIR)
+ 
+-    _define_relative(QMLDIR LIBDIR "qml"
++    _define_relative(QMLDIR LIBDIR "qt5/qml"
+         "QtQuick2 imports"
+         QML_INSTALL_DIR)
+ endif()
+-- 
+2.3.0
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kauth/kauth-policy-install.patch b/pkgs/development/libraries/kde-frameworks-5.7/kauth/kauth-policy-install.patch
new file mode 100644
index 00000000000..340155256f2
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kauth/kauth-policy-install.patch
@@ -0,0 +1,13 @@
+diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
+index e859ec7..9a8ab18 100644
+--- a/KF5AuthConfig.cmake.in
++++ b/KF5AuthConfig.cmake.in
+@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
+ 
+ set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
+ set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
+-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
++set(KAUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
+ set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
+ 
+ find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kcmutils/kcmutils-pluginselector-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.7/kcmutils/kcmutils-pluginselector-follow-symlinks.patch
new file mode 100644
index 00000000000..47b8dfad180
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kcmutils/kcmutils-pluginselector-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp
+index c63241b..2243f94 100644
+--- a/src/kpluginselector.cpp
++++ b/src/kpluginselector.cpp
+@@ -304,7 +304,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
+     QStringList desktopFileNames;
+     const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
+     Q_FOREACH (const QString &dir, dirs) {
+-        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
++        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             desktopFileNames.append(it.next());
+         }
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.7/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch
new file mode 100644
index 00000000000..3bd946cbd84
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp
+index 53a331e..80fbb01 100644
+--- a/src/khelpclient.cpp
++++ b/src/khelpclient.cpp
+@@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname)
+     QString docPath;
+     const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
+     Q_FOREACH (const QString &dir, desktopDirs) {
+-        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
++        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             const QString desktopPath(it.next());
+             KDesktopFile desktopFile(desktopPath);
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/development/libraries/kde-frameworks-5.7/kdoctools/kdoctools-no-find-docbook-xml.patch
new file mode 100644
index 00000000000..4e3a33efab3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kdoctools/kdoctools-no-find-docbook-xml.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5c4863c..f731775 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,7 +46,6 @@ set_package_properties(LibXml2 PROPERTIES
+                       )
+ 
+ 
+-find_package(DocBookXML4 "4.5")
+ 
+ set_package_properties(DocBookXML4 PROPERTIES
+                        TYPE REQUIRED
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kinit/kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks-5.7/kinit/kinit-libpath.patch
new file mode 100644
index 00000000000..a6ccb2085d3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kinit/kinit-libpath.patch
@@ -0,0 +1,30 @@
+diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp
+index 3c3c913..f510620 100644
+--- a/src/kdeinit/kinit.cpp
++++ b/src/kdeinit/kinit.cpp
+@@ -652,15 +652,17 @@ static pid_t launch(int argc, const char *_name, const char *args,
+         if (!libpath.isEmpty()) {
+             if (!l.load()) {
+                 if (libpath_relative) {
+-                    // NB: Because Qt makes the actual dlopen() call, the
+-                    //     RUNPATH of kdeinit is *not* respected - see
+-                    //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945
+-                    //     - so we try hacking it in ourselves
+-                    QString install_lib_dir = QFile::decodeName(
+-                            CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/");
+-                    libpath = install_lib_dir + libpath;
+-                    l.setFileName(libpath);
++                  // Use QT_PLUGIN_PATH to find shared library directories
++                  // For KF5, the plugin path is /lib/plugins, so the kdeinit5
++                  // shared libraries should be in /lib/plugins/../
++                  const QRegExp pathSepRegExp(QString::fromLatin1("[:\b]"));
++                  const QString up = QString::fromLocal8Bit("/../");
++                  const QStringList paths = QString::fromLocal8Bit(qgetenv("QT_PLUGIN_PATH")).split(pathSepRegExp, QString::KeepEmptyParts);
++                  Q_FOREACH (const QString &path, paths) {
++                    l.setFileName(path + up + libpath);
+                     l.load();
++                    if (l.isLoaded()) break;
++                  }
+                 }
+             }
+             if (!l.isLoaded()) {
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kpackage/0001-allow-external-paths.patch b/pkgs/development/libraries/kde-frameworks-5.7/kpackage/0001-allow-external-paths.patch
new file mode 100644
index 00000000000..440e979c008
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kpackage/0001-allow-external-paths.patch
@@ -0,0 +1,25 @@
+From fbf10d2059fa1f19a0f0cfa2fda0abb6c435fa78 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Wed, 28 Jan 2015 07:15:30 -0600
+Subject: [PATCH] allow external paths
+
+---
+ src/kpackage/package.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/kpackage/package.cpp b/src/kpackage/package.cpp
+index eb4a09b..f70f1a1 100644
+--- a/src/kpackage/package.cpp
++++ b/src/kpackage/package.cpp
+@@ -758,7 +758,7 @@ PackagePrivate::PackagePrivate()
+     : QSharedData(),
+       fallbackPackage(0),
+       metadata(0),
+-      externalPaths(false),
++      externalPaths(true),
+       valid(false),
+       checkedValid(false)
+ {
+-- 
+2.1.4
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-follow-symlinks.patch
new file mode 100644
index 00000000000..e9bc418544a
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kbuildsycoca/kbuildsycoca.cpp b/src/kbuildsycoca/kbuildsycoca.cpp
+index 69b1427..9c37a49 100644
+--- a/src/kbuildsycoca/kbuildsycoca.cpp
++++ b/src/kbuildsycoca/kbuildsycoca.cpp
+@@ -227,7 +227,7 @@ bool KBuildSycoca::build()
+         QStringList relFiles;
+         const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, g_resourceSubdir, QStandardPaths::LocateDirectory);
+         Q_FOREACH (const QString &dir, dirs) {
+-            QDirIterator it(dir, QDirIterator::Subdirectories);
++            QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+             while (it.hasNext()) {
+                 const QString filePath = it.next();
+                 Q_ASSERT(filePath.startsWith(dir)); // due to the line below...
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch b/pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
new file mode 100644
index 00000000000..7e21ebfe86f
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kbuildsycoca/vfolder_menu.cpp b/src/kbuildsycoca/vfolder_menu.cpp
+index 2eb1275..e39a36f 100644
+--- a/src/kbuildsycoca/vfolder_menu.cpp
++++ b/src/kbuildsycoca/vfolder_menu.cpp
+@@ -412,7 +412,7 @@ VFolderMenu::absoluteDir(const QString &_dir, const QString &baseDir, bool keepR
+     }
+ 
+     if (!relative) {
+-        QString resolved = QDir(dir).canonicalPath();
++        QString resolved = QDir::cleanPath(dir);
+         if (!resolved.isEmpty()) {
+             dir = resolved;
+         }
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/ktexteditor/0001-no-qcoreapplication.patch b/pkgs/development/libraries/kde-frameworks-5.7/ktexteditor/0001-no-qcoreapplication.patch
new file mode 100644
index 00000000000..c2e77a537c5
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/ktexteditor/0001-no-qcoreapplication.patch
@@ -0,0 +1,48 @@
+From 71e28c7c6fdd1142f04c662f45cc8f779e457cda Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Sun, 15 Feb 2015 19:09:17 -0600
+Subject: [PATCH] no qcoreapplication
+
+---
+ src/syntax/data/katehighlightingindexer.cpp | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/syntax/data/katehighlightingindexer.cpp b/src/syntax/data/katehighlightingindexer.cpp
+index 3f02e8c..d1a865b 100644
+--- a/src/syntax/data/katehighlightingindexer.cpp
++++ b/src/syntax/data/katehighlightingindexer.cpp
+@@ -49,19 +49,16 @@ QStringList readListing(const QString &fileName)
+ 
+ int main(int argc, char *argv[])
+ {
+-    // get app instance
+-    QCoreApplication app(argc, argv);
+-    
+     // ensure enough arguments are passed
+-    if (app.arguments().size() < 3)
++    if (argc < 3)
+         return 1;
+ 
+     // open schema
+     QXmlSchema schema;
+-    if (!schema.load(QUrl::fromLocalFile(app.arguments().at(2))))
++    if (!schema.load(QUrl::fromLocalFile(QString::fromLocal8Bit(argv[2]))))
+         return 2;
+ 
+-    const QString hlFilenamesListing = app.arguments().value(3);
++    const QString hlFilenamesListing = QString::fromLocal8Bit(argv[3]);
+     if (hlFilenamesListing.isEmpty()) {
+         return 1;
+     }
+@@ -127,7 +124,7 @@ int main(int argc, char *argv[])
+         return anyError;
+     
+     // create outfile, after all has worked!
+-    QFile outFile(app.arguments().at(1));
++    QFile outFile(QString::fromLocal8Bit(argv[1]));
+     if (!outFile.open(QIODevice::WriteOnly | QIODevice::Truncate))
+         return 7;
+ 
+-- 
+2.1.4
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/manifest.nix b/pkgs/development/libraries/kde-frameworks-5.7/manifest.nix
new file mode 100644
index 00000000000..e2d215889e0
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/manifest.nix
@@ -0,0 +1,562 @@
+# This file is generated automatically. DO NOT EDIT!
+{ stdenv, fetchurl, mirror }:
+[
+  {
+    name = stdenv.lib.nameFromURL "kplotting-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/qldfj7r4gfnwd9137m5x282kn9clghvc-kplotting-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kplotting-5.7.0.tar.xz";
+      sha256 = "0257ydhyq0f5r2yl0va4y8zcb7vxll1jdz6ykaskg413hm2qxkpi";
+      name = "kplotting-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktextwidgets-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/kpbcn842lgx6h7cj7rblc60h656qqv49-ktextwidgets-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/ktextwidgets-5.7.0.tar.xz";
+      sha256 = "0yhhm9cgn2lbj2ca64szyy11xviaqj5kil5kwivwnndzvaap9ja5";
+      name = "ktextwidgets-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ki18n-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/x5y7xgpn24rw7ax1xm5m3z0kd1db3k5p-ki18n-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/ki18n-5.7.0.tar.xz";
+      sha256 = "16vz9hrm1j5gl5k0mbx36rxxngxbfwwlg7sznplybcghdzf5xwpc";
+      name = "ki18n-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "attica-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/fa5fimm0kc5yymlj05hcljz4lnyx15xz-attica-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/attica-5.7.0.tar.xz";
+      sha256 = "1xxd3062bv65npc3kxpsaw3805sg12fq76wy3qa1mqqy3074hvwh";
+      name = "attica-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesignerplugin-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/0nd3wx3gkln1bdpa956b8yjcs7k9ia4j-kdesignerplugin-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kdesignerplugin-5.7.0.tar.xz";
+      sha256 = "0y6yjm9zqi9plfbwqc7p8r0vsxj28drfymsdx4wvwqzfv8nby57q";
+      name = "kdesignerplugin-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kservice-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/claqclndc0kz33g5nkbpa3w38mh9jqqh-kservice-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kservice-5.7.0.tar.xz";
+      sha256 = "1aziycv2r0y02lcc3hv7kzzlk9sc3c5fmh02sgm4px2wknfd12ja";
+      name = "kservice-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbookmarks-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/ww9xz56sdx2i3q8bipgf83gzdisihv0c-kbookmarks-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kbookmarks-5.7.0.tar.xz";
+      sha256 = "1vv3wirszsr5a2parbr6k4wkbp7lhcjqhbadr4fyhq62cvr7ya8l";
+      name = "kbookmarks-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kidletime-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/qiihgxjbhx39pc1p6g5w933ifzc3gdp8-kidletime-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kidletime-5.7.0.tar.xz";
+      sha256 = "15i9rj7fs6nc40axd19a8ba21wcbzvivwlsr49h27vfbhca4h5x3";
+      name = "kidletime-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpty-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/ij41pg9l8j47f42yhycv8nqh7lf2zjv8-kpty-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kpty-5.7.0.tar.xz";
+      sha256 = "0sg11pzrgmdyqxbvd8rbcljmjcacnpnf6wwjqb5rj92fvrd30av0";
+      name = "kpty-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesu-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/yxxr5ldkg551dydqjwxds5fm0nsjszwp-kdesu-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kdesu-5.7.0.tar.xz";
+      sha256 = "0bjvkzgkmzxk4wlpk5hcxykf2nidg1c5c65mlhabddg0bns67axd";
+      name = "kdesu-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcodecs-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/4dx78zbckkn5hyrjmch1wh5n3vkzz8lc-kcodecs-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kcodecs-5.7.0.tar.xz";
+      sha256 = "0pnf435jdm8lifvq8gdy4195vq653ffqrqdw0qh36qn9242csqhj";
+      name = "kcodecs-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kinit-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/laps2gv18vnzirpm4il51m1kw2p7hslq-kinit-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kinit-5.7.0.tar.xz";
+      sha256 = "1fzmizq877f124kal9vali5a910kv3fx6pwpza502h6rdhslpsx2";
+      name = "kinit-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwindowsystem-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/b4c3rpfikpk4bl9y87862h2fvfv22nvx-kwindowsystem-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kwindowsystem-5.7.0.tar.xz";
+      sha256 = "1h3snqhlri98645nyc2p5jbz0s98yrppn3ipd7nyklnwk220prkk";
+      name = "kwindowsystem-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kxmlgui-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/sb8f1fy08m738adnajy1dd0xz5ipmwkr-kxmlgui-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kxmlgui-5.7.0.tar.xz";
+      sha256 = "1zpwih2v8416r3pn4rklr6xzhcn1jf3zlj4sd75xbnx6y5fbm1q6";
+      name = "kxmlgui-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knotifyconfig-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/an7xgl36n79n038b9i9dg7r1ngg0vncg-knotifyconfig-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/knotifyconfig-5.7.0.tar.xz";
+      sha256 = "0psv2k6p7d04s3icjw10hxi7676a9kphqcd2pzmcxg4wk50ikqns";
+      name = "knotifyconfig-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kunitconversion-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/161vcj6bf51i82rmpd9xws4h72xbcypg-kunitconversion-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kunitconversion-5.7.0.tar.xz";
+      sha256 = "1fhh2db23q0d6g9rqsbgv5wbzyzj72x9pjda5vqa549sx8yq04is";
+      name = "kunitconversion-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdbusaddons-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/lq4kzjg64c30yrinbgmkp5w596bg2121-kdbusaddons-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kdbusaddons-5.7.0.tar.xz";
+      sha256 = "1bn5ayywnhak0933y11lzkw39rkrmrm9m73knvgb46l7x1cchr3v";
+      name = "kdbusaddons-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "threadweaver-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/9gnqmwvy7pm5sjpfhqqk8grz1mjb2701-threadweaver-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/threadweaver-5.7.0.tar.xz";
+      sha256 = "1ab208awll2gnrs37p7k9nwp44sc30swibw75x9jh1w16nklpapa";
+      name = "threadweaver-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kparts-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/xjiy5yxbmd4g4l61qyrbdrakzxgsrhlb-kparts-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kparts-5.7.0.tar.xz";
+      sha256 = "0ws8mk1q0sd36b3ac39s4xyzhlbh897s0hkw9kyp8yk0779g09sg";
+      name = "kparts-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sonnet-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/zz72jdhabwv1wj8mr910lfl17w11ap3i-sonnet-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/sonnet-5.7.0.tar.xz";
+      sha256 = "11q0zfpcmvjs994cdcp5rg49lzibi7jaz0jb8h7s5kf27nc96w0r";
+      name = "sonnet-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebkit-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/vyjpw6zsscf23xq0c4dgbldn3vizh4pj-kdewebkit-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kdewebkit-5.7.0.tar.xz";
+      sha256 = "04zb2a6dj89inxppf081hzkzwlyxcsrb3j4x2y6jz8zfpsnnhkxz";
+      name = "kdewebkit-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kguiaddons-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/1gns8ry1kiiww0lfs8m5yc8ki2sh550c-kguiaddons-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kguiaddons-5.7.0.tar.xz";
+      sha256 = "0f63vn1f5wafzxhc50lr59qd31jav512nwh7y37jl95mrc5yjjrb";
+      name = "kguiaddons-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "plasma-framework-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/mmwxm2jyi8lyir7g6ws8hjhzcmxkkb08-plasma-framework-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/plasma-framework-5.7.0.tar.xz";
+      sha256 = "0r5kks3a0b4cl599r2qlsigdr83psbgjw5xki480xs6caznmqd1m";
+      name = "plasma-framework-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdoctools-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/d1vx0maspgndbczfshwh3498qxwk9ca5-kdoctools-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kdoctools-5.7.0.tar.xz";
+      sha256 = "01lshra3jjqklbvld004pnj4pic8yrrpgbsy1yxfdfsccnrdf9di";
+      name = "kdoctools-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjobwidgets-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/r9q0s6cpwbhjkgrji86gylmj4mfwvikl-kjobwidgets-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kjobwidgets-5.7.0.tar.xz";
+      sha256 = "033y6cmdc8gzckqmxmasmpirfzsg0ga58hf88crrp8y21a03hary";
+      name = "kjobwidgets-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcrash-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/12105y95jb4xyf4c1z8ya6d81k7z5bji-kcrash-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kcrash-5.7.0.tar.xz";
+      sha256 = "0jq4rqicrvzmj8fra1zhk9b76b0x043z1ny5hf3ikyy9k4axay8z";
+      name = "kcrash-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kitemviews-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/2wrbbn9rr9xwqkiagiccpmr7v37c6icd-kitemviews-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kitemviews-5.7.0.tar.xz";
+      sha256 = "1ib6hlj7nv84all4j7p6k5ai5n4yslf2i2h2gwyiff2h55p2a686";
+      name = "kitemviews-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kio-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/fv1l1v4ld92shbih8cjlxyab272aygmq-kio-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kio-5.7.0.tar.xz";
+      sha256 = "0xf43ff41rgrqhici0mw2y2n4h97gkbgdngfngyzgm1vs3xq8wpl";
+      name = "kio-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwidgetsaddons-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/difsiryniivbnlh4j2jwssywv2ijb03s-kwidgetsaddons-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kwidgetsaddons-5.7.0.tar.xz";
+      sha256 = "19z5wr5dyq4kmry6iss85zpvjhh9a3pa6vmhbcag61sdid0nfsqx";
+      name = "kwidgetsaddons-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapidox-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/d7f0aaamjvv67g9p5dhw98zwqg5sdl3q-kapidox-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kapidox-5.7.0.tar.xz";
+      sha256 = "1zv91a68lzh1rb12if7c67y0gy2004kh3jlcvfy270cd9rxmkywd";
+      name = "kapidox-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kimageformats-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/09c46cmhryzqnn32kxwfjblmf5fnm7pm-kimageformats-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kimageformats-5.7.0.tar.xz";
+      sha256 = "00gga2yhpdrc9y73zhs3r6vpqb5blc9r7by72i0cap5ac040a4la";
+      name = "kimageformats-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeclarative-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/ylm05pqs3izryr45qqa37r82r76l1h3l-kdeclarative-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kdeclarative-5.7.0.tar.xz";
+      sha256 = "13m1pf92508sk4rl54v2pwic99snj2r0sjvmxvzv11cfrddjkr5g";
+      name = "kdeclarative-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kemoticons-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/msbryhpxvbp8165gyf4cp27f2fjrk09z-kemoticons-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kemoticons-5.7.0.tar.xz";
+      sha256 = "1k5436xc0fv4xx66lzpy2kx7qgzbdv6n56xif1jl85x66gfvfvdv";
+      name = "kemoticons-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcompletion-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/pnvb112ryqxy1q2yrrz72jak5lhm374p-kcompletion-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kcompletion-5.7.0.tar.xz";
+      sha256 = "1d8q2b8rdk7dmmhnjnkg16dc6bgnq2ahss2n1z2l6fcm305zvyfh";
+      name = "kcompletion-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kconfig-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/cq1lbqzf4ihy8jnk2jab31wb3dljmpdz-kconfig-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kconfig-5.7.0.tar.xz";
+      sha256 = "0mvdz5vxzqb1vxiy7llgnyi1yyl5jmdyq35v1sf55gb84gyghrgh";
+      name = "kconfig-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpackage-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/ph932zwlra3rsjxh37rx0i1pshk08icc-kpackage-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kpackage-5.7.0.tar.xz";
+      sha256 = "0w6ljqs2knm9jvy3hkyk0iiy295mc0dpifvxyqcq4fqj9yvkrxgq";
+      name = "kpackage-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knotifications-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/6ppkdiwvy2y3wwxrja117pinmc4lv92a-knotifications-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/knotifications-5.7.0.tar.xz";
+      sha256 = "0z9bs21mn9i5jya0dh1sr0vvn362bz64nhbwnwkb5vgy0sl2n923";
+      name = "knotifications-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcoreaddons-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/63phhh1pcqlsqiqs9399vqfz7c7yw6ry-kcoreaddons-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kcoreaddons-5.7.0.tar.xz";
+      sha256 = "00byxkbwm3gvlharmqvn94jw7l1c1yjv4naczqgqcppl97h0zqyb";
+      name = "kcoreaddons-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kitemmodels-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/cgxjl2p9p0qmmn6vsb357pvn01zyblr2-kitemmodels-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kitemmodels-5.7.0.tar.xz";
+      sha256 = "0y3zis7rh40nrv135zb3lvl4ix4bqqvby6kcy3b1llxcmhvaglph";
+      name = "kitemmodels-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kded-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/icy79l7w5vqwmwmg21zji3y8sqpzwcq2-kded-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kded-5.7.0.tar.xz";
+      sha256 = "0146ldipacy43xypl5zshbf751bfi2mkaa5m8hcva4ygmps0xzp3";
+      name = "kded-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kconfigwidgets-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/lz8kkfgzz18myibj3wcijai5qs0jw03p-kconfigwidgets-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kconfigwidgets-5.7.0.tar.xz";
+      sha256 = "073rv7i04p21ifwfbhikib555067iivzybnrxw6mgb5hxgph8ggv";
+      name = "kconfigwidgets-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs4support-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/3p606b334sbng7a1ppc9wc9gjw4v0y59-kdelibs4support-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/portingAids/kdelibs4support-5.7.0.tar.xz";
+      sha256 = "1vl6s0bd0ykzbbnd6fq7vfxg7aly0k04wr15wlikkapgx3v0h9b5";
+      name = "kdelibs4support-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khtml-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/vrdx48h2r0fvjc7h2xzsjihs57gnny38-khtml-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/portingAids/khtml-5.7.0.tar.xz";
+      sha256 = "0flr8qz6nws5h52ghxrzxzmn9y85mlms4n0wzh1kski1sszv62i6";
+      name = "khtml-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjs-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/sipm1kyl3lwy2fw7lcjn2n2s8qpxhag7-kjs-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/portingAids/kjs-5.7.0.tar.xz";
+      sha256 = "1wjhl4j5y8q55bcgzlq3m0w1kafkivfgcdvi96f9rqyr7ij5ry9h";
+      name = "kjs-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krunner-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/vid0xggxw5liig84p5jgwf3mafkyk7n5-krunner-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/portingAids/krunner-5.7.0.tar.xz";
+      sha256 = "113bxzzvjw1xxkq54nizb4g4rvbbaj58zfwcz6x0pvz5jfz65b7c";
+      name = "krunner-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmediaplayer-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/629r99dj85wah0cqvpljy45n3zniqys3-kmediaplayer-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/portingAids/kmediaplayer-5.7.0.tar.xz";
+      sha256 = "1bdws01m37bbip4j897nwi49jakwl9j4hp3xxls15r2h5q4wylc3";
+      name = "kmediaplayer-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kross-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/8m4vp5riqrj4b1n2wvydvlz43902f01y-kross-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/portingAids/kross-5.7.0.tar.xz";
+      sha256 = "1larhjl2mi5v5a9a5m216idnyvxkbb9ln1czfvsg18nizai9b0bj";
+      name = "kross-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjsembed-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/vcmsl5zz6lv1p92vw1k30wlzp0cr43f0-kjsembed-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/portingAids/kjsembed-5.7.0.tar.xz";
+      sha256 = "1717d4q4wf182s8rlf76wj7pgzmrh6j1na9myg2pqpa9564nmald";
+      name = "kjsembed-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "networkmanager-qt-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/rnixw65cmqlkkxmcn21rc73zwk4b0zg2-networkmanager-qt-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/networkmanager-qt-5.7.0.tar.xz";
+      sha256 = "1lx1vjsp25hfrg8pvpw3k17sxr9y57m4mgzikaxkh704z826npjk";
+      name = "networkmanager-qt-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktexteditor-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/m5spysm05hv2ncy392msym59jxd056qi-ktexteditor-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/ktexteditor-5.7.0.tar.xz";
+      sha256 = "0ii2aw2kzvxqwlm3cjil8shkr1yfmfcwr3hvrvk99zv6mw0j8kq3";
+      name = "ktexteditor-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdnssd-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/pabbzdlfgyl58llh6m0l1j5w3r4anpv7-kdnssd-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kdnssd-5.7.0.tar.xz";
+      sha256 = "120rclq82fnjz5z8q3rn9jbmql3fqpr64yspggl6ccv0f2v513dy";
+      name = "kdnssd-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "karchive-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/z31cgnvxh50m6m7xcpv087zmpdn1la8q-karchive-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/karchive-5.7.0.tar.xz";
+      sha256 = "0ppq4ml77bf9n9q216dcsmw9ipmqqaazbaaxxvqn5hmqx9j63mmq";
+      name = "karchive-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kauth-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/6axbcm8958m691k3jsk3ci41h97aymq3-kauth-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kauth-5.7.0.tar.xz";
+      sha256 = "1254rbagpcp3dpdfjcxr7b07n5dqc0iw93xgpafkhxzn0h687hg2";
+      name = "kauth-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwallet-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/7p63gkx0brvnwhzsg2laqnbrq7lgdggr-kwallet-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kwallet-5.7.0.tar.xz";
+      sha256 = "19bmdc7hdvr6bxwrmlhnkclqn6dzlrdg7k870y6p4rhyrj3nvc1h";
+      name = "kwallet-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiconthemes-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/h02fsp21lh2dbd3yvpavqh1vgwc6m87v-kiconthemes-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kiconthemes-5.7.0.tar.xz";
+      sha256 = "111rdj347sf1g09zdnss4cq68ks71jxw0b22hnczqq9p60qcj1jg";
+      name = "kiconthemes-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "frameworkintegration-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/khjj7d173y5qlqqi2z6sc7zmkv5cx5lc-frameworkintegration-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/frameworkintegration-5.7.0.tar.xz";
+      sha256 = "0d0s03y99nk8cqnsz4w5v1d06bq5dl5395wgkcrchzcwqspk7z72";
+      name = "frameworkintegration-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "extra-cmake-modules-1.7.0.tar.xz" ".tar";
+    store = "/nix/store/ga7k0viqdz58drznxba2mjjq4qf0gnj1-extra-cmake-modules-1.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/extra-cmake-modules-1.7.0.tar.xz";
+      sha256 = "1lgx13y00b9mv2p10p7bbzx12aav65i4ggcnyaqmp7pv867y33f8";
+      name = "extra-cmake-modules-1.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "solid-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/rl9gv6hcsxalys9mnm00x34grsclnzh2-solid-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/solid-5.7.0.tar.xz";
+      sha256 = "0adzqbcwnqg0f2jbrsy4sqv0p94ikijm6id1yrd89nvn0iiiip14";
+      name = "solid-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcmutils-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/dql6c4ljy6jkr7zsksrq5wpmqhxsgz37-kcmutils-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kcmutils-5.7.0.tar.xz";
+      sha256 = "1b0rzydyhbv7jk9amj45iryl4r2iy5k2zh8g7qwbwig8jywfhwqs";
+      name = "kcmutils-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knewstuff-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/jwckk8a1mpy4mp785mbssy0mkn3zc6b6-knewstuff-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/knewstuff-5.7.0.tar.xz";
+      sha256 = "0wg3fg2kyq2j8n2qmahw30binm9pxaqvvydsxpcj97fl0wcaffgl";
+      name = "knewstuff-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kactivities-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/1s1bl23mrah31k3vqw40vfs6f79b0wnp-kactivities-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kactivities-5.7.0.tar.xz";
+      sha256 = "1d42i0a015qsr4d4rhr574xixfw1w0dgl4qag6slsj6fm5asny19";
+      name = "kactivities-5.7.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kglobalaccel-5.7.0.tar.xz" ".tar";
+    store = "/nix/store/i6ja196cyzixsxbyg6bdivizs75y8pvb-kglobalaccel-5.7.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.7/kglobalaccel-5.7.0.tar.xz";
+      sha256 = "0jlknk3g07x9y4vl4n82hy4msfaavqy51fpj1yffya8zbb59c29y";
+      name = "kglobalaccel-5.7.0.tar.xz";
+    };
+  }
+]
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/manifest.sh b/pkgs/development/libraries/kde-frameworks-5.7/manifest.sh
new file mode 100755
index 00000000000..fef8b701d01
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/manifest.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+if [ $# -eq 0 ]; then
+
+  # The extra slash at the end of the URL is necessary to stop wget
+  # from recursing over the whole server! (No, it's not a bug.)
+  $(nix-build ../../../.. -A autonix.manifest) \
+    http://download.kde.org/stable/frameworks/5.7/ \
+      -A '*.tar.xz'
+
+else
+
+  $(nix-build ../../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
+
+fi
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/plasma-framework/plasma-framework-external-paths.patch b/pkgs/development/libraries/kde-frameworks-5.7/plasma-framework/plasma-framework-external-paths.patch
new file mode 100644
index 00000000000..9a22c0bdbcd
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/plasma-framework/plasma-framework-external-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/plasma/package.cpp b/src/plasma/package.cpp
+index 07b3c90..84417e3 100644
+--- a/src/plasma/package.cpp
++++ b/src/plasma/package.cpp
+@@ -791,7 +791,7 @@ PackagePrivate::PackagePrivate()
+       servicePrefix("plasma-applet-"),
+       fallbackPackage(0),
+       metadata(0),
+-      externalPaths(false),
++      externalPaths(true),
+       valid(false),
+       checkedValid(false)
+ {
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/renames.nix b/pkgs/development/libraries/kde-frameworks-5.7/renames.nix
new file mode 100644
index 00000000000..58ade4e62ac
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/renames.nix
@@ -0,0 +1,68 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+"Backend" = "plasma-framework";
+"CTest" = "attica";
+"ECM" = "extra-cmake-modules";
+"KDED" = "kded";
+"KF5Activities" = "kactivities";
+"KF5Archive" = "karchive";
+"KF5Attica" = "attica";
+"KF5Auth" = "kauth";
+"KF5Bookmarks" = "kbookmarks";
+"KF5Codecs" = "kcodecs";
+"KF5Completion" = "kcompletion";
+"KF5Config" = "kconfig";
+"KF5ConfigWidgets" = "kconfigwidgets";
+"KF5CoreAddons" = "kcoreaddons";
+"KF5Crash" = "kcrash";
+"KF5DBusAddons" = "kdbusaddons";
+"KF5DNSSD" = "kdnssd";
+"KF5Declarative" = "kdeclarative";
+"KF5DesignerPlugin" = "kdesignerplugin";
+"KF5DocTools" = "kdoctools";
+"KF5Emoticons" = "kemoticons";
+"KF5FrameworkIntegration" = "frameworkintegration";
+"KF5GlobalAccel" = "kglobalaccel";
+"KF5GuiAddons" = "kguiaddons";
+"KF5I18n" = "ki18n";
+"KF5IconThemes" = "kiconthemes";
+"KF5IdleTime" = "kidletime";
+"KF5Init" = "kinit";
+"KF5ItemModels" = "kitemmodels";
+"KF5ItemViews" = "kitemviews";
+"KF5JS" = "kjs";
+"KF5JobWidgets" = "kjobwidgets";
+"KF5JsEmbed" = "kjsembed";
+"KF5KCMUtils" = "kcmutils";
+"KF5KDE4Support" = "kdelibs4support";
+"KF5KDELibs4Support" = "kdelibs4support";
+"KF5KHtml" = "khtml";
+"KF5KIO" = "kio";
+"KF5Kross" = "kross";
+"KF5MediaPlayer" = "kmediaplayer";
+"KF5NetworkManagerQt" = "networkmanager-qt";
+"KF5NewStuff" = "knewstuff";
+"KF5Notifications" = "knotifications";
+"KF5NotifyConfig" = "knotifyconfig";
+"KF5Package" = "kpackage";
+"KF5Parts" = "kparts";
+"KF5Plasma" = "plasma-framework";
+"KF5PlasmaQuick" = "plasma-framework";
+"KF5Plotting" = "kplotting";
+"KF5Pty" = "kpty";
+"KF5Runner" = "krunner";
+"KF5Service" = "kservice";
+"KF5Solid" = "solid";
+"KF5Sonnet" = "sonnet";
+"KF5Su" = "kdesu";
+"KF5TextEditor" = "ktexteditor";
+"KF5TextWidgets" = "ktextwidgets";
+"KF5ThreadWeaver" = "threadweaver";
+"KF5UnitConversion" = "kunitconversion";
+"KF5Wallet" = "kwallet";
+"KF5WebKit" = "kdewebkit";
+"KF5WidgetsAddons" = "kwidgetsaddons";
+"KF5WindowSystem" = "kwindowsystem";
+"KF5XmlGui" = "kxmlgui";
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.7/setup-hook.sh
new file mode 100644
index 00000000000..a8d9b7e0e36
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.7/setup-hook.sh
@@ -0,0 +1 @@
+addToSearchPath XDG_DATA_DIRS @out@/share
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/default.nix b/pkgs/development/libraries/kde-frameworks-5.9/default.nix
new file mode 100644
index 00000000000..0f5504fe057
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/default.nix
@@ -0,0 +1,206 @@
+# Maintainer's Notes:
+#
+# Minor updates:
+#  1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
+#     releases updates that include only the changed packages; in this case,
+#     multiple URLs can be provided and the results will be merged.
+#  2. Run ./manifest.sh and ./dependencies.sh.
+#  3. Build and enjoy.
+#
+# Major updates:
+#  We prefer not to immediately overwrite older versions with major updates, so
+#  make a copy of this directory first. After copying, be sure to delete ./tmp
+#  if it exists. Then follow the minor update instructions.
+
+{ autonix, fetchurl, pkgs, qt5, stdenv, debug ? false }:
+
+with stdenv.lib; with autonix;
+
+let
+
+  mkDerivation = drv:
+    let inherit (builtins.parseDrvName drv.name) version; in
+    stdenv.mkDerivation
+      (drv // {
+        setupHook = ./setup-hook.sh;
+
+        enableParallelBuilding = drv.enableParallelBuilding or true;
+        cmakeFlags =
+          (drv.cmakeFlags or [])
+          ++ [ "-DBUILD_TESTING=OFF" ]
+          ++ optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+        meta =
+          {
+            license = with stdenv.lib.licenses; [
+              lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
+            ];
+            platforms = stdenv.lib.platforms.linux;
+            maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+            homepage = "http://www.kde.org";
+            inherit version;
+            branch = intersperse "." (take 2 (splitString "." version));
+          } // (drv.meta or {});
+      });
+
+  renames = builtins.removeAttrs (import ./renames.nix {}) ["Backend" "CTest"];
+
+  scope =
+    # packages in this collection
+    (mapAttrs (dep: name: kf5."${name}") renames) //
+    # packages pinned to this version of Qt 5
+    {
+      Phonon4Qt5 = pkgs.phonon_qt5.override { inherit qt5; };
+      Qt5 = qt5.base;
+      Qt5Core = qt5.base;
+      Qt5DBus = qt5.base;
+      Qt5Gui = qt5.base;
+      Qt5LinguistTools = qt5.tools;
+      Qt5Qml = [qt5.declarative qt5.graphicaleffects];
+      Qt5Quick = [qt5.quickcontrols qt5.graphicaleffects];
+      Qt5Script = qt5.script;
+      Qt5Svg = qt5.svg;
+      Qt5WebkitWidgets = qt5.webkit;
+      Qt5Widgets = qt5.base;
+      Qt5X11Extras = qt5.x11extras;
+      Qt5XmlPatterns = qt5.xmlpatterns;
+      dbusmenu-qt5 = pkgs.libdbusmenu_qt5.override { inherit qt5; };
+    } //
+    # packages from the nixpkgs collection
+    (with pkgs;
+      {
+        Boost = boost155;
+        inherit cmake;
+        inherit epoxy;
+        GIF = giflib;
+        GLIB2 = glib;
+        Gpgme = gpgme;
+        JPEG = libjpeg;
+        LibGcrypt = libgcrypt;
+        LibGit2 = libgit2;
+        LibIntl = gettext;
+        LibLZMA = lzma;
+        ModemManager = modemmanager;
+        NetworkManager = networkmanager;
+        Perl = perl;
+        PythonInterp = python;
+        QImageBlitz = qimageblitz;
+        SharedMimeInfo = shared_mime_info;
+        ZLIB = zlib;
+      }
+    );
+
+  mirror = "mirror://kde";
+
+  preResolve = super:
+    fold (f: x: f x) super
+      [
+        (userEnvPkg "SharedMimeInfo")
+        (userEnvPkg "SharedDesktopOntologies")
+      ];
+
+  postResolve = super:
+    super // {
+      extra-cmake-modules = {
+        inherit (super.extra-cmake-modules) name src;
+
+        propagatedNativeBuildInputs = [ scope.cmake pkgs.pkgconfig qt5.tools ];
+        cmakeFlags = ["-DBUILD_TESTING=OFF"];
+        patches =
+          [
+            ./extra-cmake-modules/0001-extra-cmake-modules-paths.patch
+          ];
+        meta =
+          let inherit (builtins.parseDrvName super.extra-cmake-modules.name) version; in
+          {
+            license = with stdenv.lib.licenses; [ bsd2 ];
+            platforms = stdenv.lib.platforms.linux;
+            maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+            homepage = "http://www.kde.org";
+            inherit version;
+            branch = intersperse "." (take 2 (splitString "." version));
+          };
+      };
+
+      frameworkintegration = super.frameworkintegration // {
+        buildInputs = with pkgs.xlibs; super.frameworkintegration.buildInputs ++ [ libXcursor ];
+      };
+
+      kauth = super.kauth // {
+        buildInputs =
+          super.kauth.buildInputs
+          ++ [(pkgs.polkit_qt5.override { inherit qt5; })];
+        patches = [./kauth/kauth-policy-install.patch];
+      };
+
+      kcmutils = super.kcmutils // {
+        patches =
+          [./kcmutils/kcmutils-pluginselector-follow-symlinks.patch];
+      };
+
+      kconfigwidgets = super.kconfigwidgets // {
+        patches =
+          [./kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch];
+      };
+
+      kdelibs4support = with pkgs; super.kdelibs4support // {
+        buildInputs =
+          super.kdelibs4support.buildInputs
+          ++ [networkmanager xlibs.libSM];
+        cmakeFlags =
+          (super.kdelibs4support.cmakeFlags or [])
+          ++ [
+            "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
+            "-DDocBookXML4_DTD_VERSION=4.5"
+          ];
+      };
+
+      kdoctools = with pkgs; super.kdoctools // {
+        propagatedNativeBuildInputs = [ perl perlPackages.URI ];
+        cmakeFlags =
+          (super.kdoctools.cmakeFlags or [])
+          ++ [
+            "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
+            "-DDocBookXML4_DTD_VERSION=4.5"
+            "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook"
+          ];
+        patches = [./kdoctools/kdoctools-no-find-docbook-xml.patch];
+      };
+
+      ki18n = with pkgs; super.ki18n // {
+        propagatedNativeBuildInputs =
+          super.ki18n.propagatedNativeBuildInputs ++ [gettext python];
+      };
+
+      kimageformats = with pkgs; super.kimageformats // {
+        NIX_CFLAGS_COMPILE =
+          (super.kimageformats.NIX_CFLAGS_COMPILE or "")
+          + " -I${ilmbase}/include/OpenEXR";
+      };
+
+      kinit = super.kinit // { patches = [ ./kinit/kinit-libpath.patch ]; };
+
+      kpackage = super.kpackage // { patches = [ ./kpackage/0001-allow-external-paths.patch ]; };
+
+      kservice = super.kservice // {
+        buildInputs = super.kservice.buildInputs ++ [kf5.kwindowsystem];
+        patches =
+          [
+            ./kservice/kservice-kbuildsycoca-follow-symlinks.patch
+            ./kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
+          ];
+      };
+
+      ktexteditor = super.ktexteditor // {
+        patches = [ ./ktexteditor/0001-no-qcoreapplication.patch ];
+      };
+
+    };
+
+  kf5 = generateCollection ./. {
+    inherit mirror mkDerivation preResolve postResolve renames scope;
+  };
+
+in
+
+  kf5 // { inherit mkDerivation qt5 scope; }
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/dependencies.nix b/pkgs/development/libraries/kde-frameworks-5.9/dependencies.nix
new file mode 100644
index 00000000000..71dbc50a806
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/dependencies.nix
@@ -0,0 +1,524 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+  attica = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5Network" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  extra-cmake-modules = {
+    buildInputs = [ "AGG" "Blitz" "BlueZ" "ENCHANT" "Eigen2" "FFmpeg" "Flac" "Flex" "GObject" "GStreamer" "LCMS" "LibArt" "OpenEXR" "PCRE" "QCA2" "QImageBlitz" "Qt5Core" "Qt5LinguistTools" "Qt5QUIET" "Sqlite" "Strigi" "USB" "Xine" "Xmms" ];
+    nativeBuildInputs = [ "LibXslt" "QCOLLECTIONGENERATOR_EXECUTABLE" "SPHINX_EXECUTABLE" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  frameworkintegration = {
+    buildInputs = [ "ECM" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Notifications" "KF5WidgetsAddons" "OxygenFont" "Qt5" "Qt5DBus" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5IconThemes" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kactivities = {
+    buildInputs = [ "Boost" "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5GlobalAccel" "KF5I18n" "KF5KCMUtils" "KF5KIO" "KF5Service" "KF5WindowSystem" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Gui" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Sql" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kapidox = {
+    buildInputs = [  ];
+    nativeBuildInputs = [ "PythonInterp" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  karchive = {
+    buildInputs = [ "BZip2" "ECM" "KF5Archive" "LibLZMA" "Qt5Core" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kauth = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "Qt5" "Qt5DBus" "Qt5QUIET" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kbookmarks = {
+    buildInputs = [ "ECM" "KF5Codecs" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5IconThemes" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5WidgetsAddons" "Qt5Widgets" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcmutils = {
+    buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Declarative" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5Package" "KF5Service" "KF5XmlGui" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5Service" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcodecs = {
+    buildInputs = [ "ECM" "Qt5Core" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcompletion = {
+    buildInputs = [ "ECM" "KF5Config" "KF5WidgetsAddons" "Qt5" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kconfig = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Gui" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kconfigwidgets = {
+    buildInputs = [ "ECM" "KF5Auth" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5WidgetsAddons" "Qt5" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Auth" "KF5Codecs" "KF5Config" "KF5WidgetsAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kcoreaddons = {
+    buildInputs = [ "ECM" "FAM" "Qt5" "Qt5Core" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "SharedMimeInfo" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
+  };
+
+  kcrash = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5WindowSystem" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdbusaddons = {
+    buildInputs = [ "ECM" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5X11Extras" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5DBus" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdeclarative = {
+    buildInputs = [ "ActiveApp" "ECM" "KF5Config" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Package" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Test" "epoxy" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5Package" "Qt5Qml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kded = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DocTools" "KF5Init" "KF5Service" "Qt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdelibs4support = {
+    buildInputs = [ "AGG" "Blitz" "BlueZ" "DocBookXML4" "ECM" "ENCHANT" "Eigen2" "FFmpeg" "Flac" "GObject" "GStreamer" "KDEWin" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5Crash" "KF5DBusAddons" "KF5DesignerPlugin" "KF5DocTools" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Service" "KF5TextWidgets" "KF5UnitConversion" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "LCMS" "LibArt" "NetworkManager" "OpenEXR" "OpenSSL" "PCRE" "QCA2" "QImageBlitz" "QNtrack" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Designer" "Qt5NO_MODULE" "Qt5Network" "Qt5PrintSupport" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "Sqlite" "USB" "X11" "Xine" "Xmms" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KDEWin" "KF5Archive" "KF5Auth" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DesignerPlugin" "KF5DocTools" "KF5Emoticons" "KF5GuiAddons" "KF5IconThemes" "KF5Init" "KF5ItemModels" "KF5KDELibs4Support" "KF5Notifications" "KF5Parts" "KF5TextWidgets" "KF5UnitConversion" "KF5WindowSystem" "Qt5DBus" "Qt5PrintSupport" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesignerplugin = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5IconThemes" "KF5ItemViews" "KF5KIO" "KF5Plotting" "KF5Sonnet" "KF5TextWidgets" "KF5WebKit" "KF5WidgetsAddons" "KF5XmlGui" "Qt5Core" "Qt5Designer" "Qt5NO_MODULE" "Qt5QUIET" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdesu = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5I18n" "KF5Pty" "KF5Service" "Qt5Core" "Qt5NO_MODULE" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Pty" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdewebkit = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5JobWidgets" "KF5KIO" "KF5Parts" "KF5Service" "KF5Wallet" "Qt5" "Qt5Core" "Qt5Network" "Qt5WebKitWidgets" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5WebKitWidgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdnssd = {
+    buildInputs = [ "Avahi" "DNSSD" "ECM" "Qt5" "Qt5DBus" "Qt5Network" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Network" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kdoctools = {
+    buildInputs = [ "DocBookXML4" "DocBookXSL" "ECM" "KF5Archive" "KF5DocTools" "KF5I18n" "LibXml2" "Qt5Core" "Qt5NO_MODULE" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kemoticons = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5CoreAddons" "KF5Service" "Qt5" "Qt5Gui" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Service" "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kglobalaccel = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5I18n" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5DBus" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kguiaddons = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  khtml = {
+    buildInputs = [ "ECM" "GIF" "JPEG" "KDEWin" "KF5Archive" "KF5Codecs" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5JS" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Sonnet" "KF5TextWidgets" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "OpenSSL" "PNG" "Phonon4Qt5" "Qt5" "Qt5Test" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [ "KF5Archive" "KF5Bookmarks" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5JS" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Sonnet" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ki18n = {
+    buildInputs = [ "ECM" "LibIntl" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Script" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kiconthemes = {
+    buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5I18n" "KF5ItemViews" "KF5WidgetsAddons" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kidletime = {
+    buildInputs = [ "ECM" "Qt5" "Qt5DBus" "Qt5Widgets" "Qt5X11Extras" "X11" "X11_XCB" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kimageformats = {
+    buildInputs = [ "ECM" "Jasper" "OpenEXR" "Qt5Gui" "Qt5NO_MODULE" "Qt5PrintSupport" "Qt5QUIET" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kinit = {
+    buildInputs = [ "ECM" "KF5Config" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5Service" "KF5WindowSystem" "Libcap" "Qt5" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kio = {
+    buildInputs = [ "ACL" "ECM" "GSSAPI" "KF5Archive" "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5JobWidgets" "KF5Notifications" "KF5Service" "KF5Solid" "KF5TextWidgets" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "LibXml2" "OpenSSL" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5DBus" "Qt5NO_MODULE" "Qt5Network" "Qt5Script" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "Qt5Xml" "Strigi" "X11" "ZLIB" ];
+    nativeBuildInputs = [ "LibXslt" "cmake" ];
+    propagatedBuildInputs = [ "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5CoreAddons" "KF5ItemViews" "KF5JobWidgets" "KF5Service" "KF5Solid" "KF5XmlGui" "Qt5Network" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kitemmodels = {
+    buildInputs = [ "ECM" "Grantlee" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5QUIET" "Qt5QuickWidgets" "Qt5Script" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kitemviews = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjobwidgets = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5WidgetsAddons" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjs = {
+    buildInputs = [ "ECM" "KF5DocTools" "PCRE" "Qt5Core" "Qt5NO_MODULE" "Qt5Test" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kjsembed = {
+    buildInputs = [ "ECM" "KF5DocTools" "KF5I18n" "KF5JS" "Qt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5I18n" "KF5JS" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kmediaplayer = {
+    buildInputs = [ "ECM" "KF5Parts" "KF5XmlGui" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Parts" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knewstuff = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Attica" "KF5Completion" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KIO" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Attica" "KF5XmlGui" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knotifications = {
+    buildInputs = [ "ECM" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5IconThemes" "KF5Service" "KF5WindowSystem" "Phonon4Qt5" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5OPTIONAL_COMPONENTS" "Qt5QUIET" "Qt5Test" "Qt5TextToSpeech" "Qt5Widgets" "Qt5X11Extras" "X11" "dbusmenu-qt5" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  knotifyconfig = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5KIO" "KF5Notifications" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5DBus" "Qt5NO_MODULE" "Qt5OPTIONAL_COMPONENTS" "Qt5QUIET" "Qt5Test" "Qt5TextToSpeech" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kpackage = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kparts = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5JobWidgets" "KF5KIO" "KF5Notifications" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5KIO" "KF5TextWidgets" "KF5XmlGui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kpeople = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5I18n" "KF5ItemViews" "KF5Service" "KF5WidgetsAddons" "Qt5" "Qt5DBus" "Qt5Gui" "Qt5Qml" "Qt5Quick" "Qt5Sql" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kplotting = {
+    buildInputs = [ "ECM" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kpty = {
+    buildInputs = [ "ECM" "KF5CoreAddons" "KF5I18n" "Qt5" "UTEMPTER" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5CoreAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kross = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Parts" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5QUIET" "Qt5Script" "Qt5Test" "Qt5UiTools" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Parts" "KF5WidgetsAddons" "Qt5Script" "Qt5Widgets" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  krunner = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5KIO" "KF5Plasma" "KF5Service" "KF5Solid" "KF5ThreadWeaver" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Quick" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Plasma" "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kservice = {
+    buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5CoreAddons" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktexteditor = {
+    buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Parts" "KF5Sonnet" "LibGit2" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5PrintSupport" "Qt5Script" "Qt5Test" "Qt5Widgets" "Qt5Xml" "Qt5XmlPatterns" ];
+    nativeBuildInputs = [ "Perl" "cmake" ];
+    propagatedBuildInputs = [  ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  ktextwidgets = {
+    buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5Service" "KF5Sonnet" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5I18n" "KF5Sonnet" "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kunitconversion = {
+    buildInputs = [ "ECM" "KF5I18n" "Qt5" "Qt5Core" "Qt5Network" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwallet = {
+    buildInputs = [ "ECM" "Gpgme" "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5Gpgmepp" "KF5I18n" "KF5IconThemes" "KF5Notifications" "KF5Service" "KF5WidgetsAddons" "KF5WindowSystem" "LibGcrypt" "Qt5" "Qt5DBus" "Qt5Gui" "Qt5Test" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Gui" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwidgetsaddons = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Test" "Qt5UiTools" "Qt5Widgets" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kwindowsystem = {
+    buildInputs = [ "ECM" "Qt5" "Qt5Test" "Qt5Widgets" "Qt5WinExtras" "Qt5X11Extras" "X11" "XCB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Widgets" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kxmlgui = {
+    buildInputs = [ "ECM" "KF5Attica" "KF5Config" "KF5ConfigWidgets" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5DBus" "Qt5Network" "Qt5PrintSupport" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5Config" "KF5ConfigWidgets" "Qt5DBus" "Qt5Widgets" "Qt5Xml" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  kxmlrpcclient = {
+    buildInputs = [ "ECM" "KF5I18n" "KF5KIO" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "KF5KIO" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  modemmanager-qt = {
+    buildInputs = [ "ECM" "KF5ModemManagerQt" "ModemManager" "Qt4" "Qt5" "Qt5Core" "Qt5DBus" "Qt5NO_MODULE" "Qt5Test" "Qt5Xml" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  networkmanager-qt = {
+    buildInputs = [ "ECM" "KF5NetworkManagerQt" "NetworkManager" "Qt4" "Qt5" "Qt5Core" "Qt5DBus" "Qt5NO_MODULE" "Qt5Network" "Qt5Test" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  plasma-framework = {
+    buildInputs = [ "ECM" "EGL" "Gpgme" "KActivities" "KCoreAddons" "KDE4Support" "KDESu" "KDeclarative" "KF5" "KF5Activities" "KF5Archive" "KF5Auth" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5Declarative" "KF5DocTools" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5IdleTime" "KF5Init" "KF5ItemModels" "KF5ItemViews" "KF5JS" "KF5JobWidgets" "KF5KArchive" "KF5KAuth" "KF5KBookmarks" "KF5KCodecs" "KF5KCompletion" "KF5KConfig" "KF5KConfigWidgets" "KF5KCoreAddons" "KF5KCrash" "KF5KDBusAddons" "KF5KDE4Support" "KF5KDESu" "KF5KDeclarative" "KF5KDocTools" "KF5KF5GlobalAccel" "KF5KGuiAddons" "KF5KI18n" "KF5KIO" "KF5KIconThemes" "KF5KIdleTime" "KF5KInit" "KF5KJS" "KF5KJobWidgets" "KF5KNotifications" "KF5KParts" "KF5KService" "KF5KTextWidgets" "KF5KUnitConversion" "KF5KWallet" "KF5KWidgetsAddons" "KF5KWindowSystem" "KF5Kross" "KF5NO_MODULE" "KF5Notifications" "KF5Package" "KF5Parts" "KF5Service" "KF5Solid" "KF5Sonnet" "KF5Su" "KF5TextWidgets" "KF5ThreadWeaver" "KF5UnitConversion" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "KdepimLibs" "OpenGL" "QCA2" "Qt5" "Qt5Gui" "Qt5NO_MODULE" "Qt5Qml" "Qt5Quick" "Qt5Script" "Qt5Sql" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "Solid" "X11" "XCB" ];
+    nativeBuildInputs = [ "SH" "cmake" ];
+    propagatedBuildInputs = [ "KF5Package" "KF5Service" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  solid = {
+    buildInputs = [ "ECM" "IOKit" "MediaPlayerInfo" "Qt5" "Qt5Concurrent" "Qt5DBus" "Qt5Network" "Qt5QUIET" "Qt5Qml" "Qt5Test" "Qt5Widgets" "Qt5Xml" "UDev" ];
+    nativeBuildInputs = [ "BISON" "FLEX" "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  sonnet = {
+    buildInputs = [ "ASPELL" "ECM" "ENCHANT" "HSPELL" "HUNSPELL" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Widgets" "ZLIB" ];
+    nativeBuildInputs = [ "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+  threadweaver = {
+    buildInputs = [ "ECM" "KF5ThreadWeaver" "Qt5" "Qt5Core" "Qt5NO_MODULE" "Qt5Network" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
+    nativeBuildInputs = [ "SNIPPETEXTRACTOR" "cmake" ];
+    propagatedBuildInputs = [ "Qt5Core" ];
+    propagatedNativeBuildInputs = [  ];
+    propagatedUserEnvPkgs = [  ];
+  };
+
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/dependencies.sh b/pkgs/development/libraries/kde-frameworks-5.9/dependencies.sh
new file mode 100755
index 00000000000..2b220244c59
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/dependencies.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# This script rebuilds dependencies.nix.
+# You must run manifest.sh first to download the packages.
+
+# Without arguments, this will use the version of autonix-deps-kf5 in nixpkgs.
+# If you are working on the packages, this is probably what you want.
+
+# You can also pass the path to a source tree where you have built
+# autonix-deps-kf5 yourself. If you are working on autonix-deps-kf5, this is
+# probably what you want.
+
+manifestXML=$(nix-build -E 'with (import ../../../.. {}); autonix.writeManifestXML ./manifest.nix')
+
+autonixDepsKf5=""
+if [[ -z $1 ]]; then
+    autonixDepsKF5=$(nix-build ../../../.. -A haskellngPackages.autonix-deps-kf5)/bin
+else
+    autonixDepsKF5="$1/dist/build/kf5-deps"
+fi
+
+exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/extra-cmake-modules/0001-extra-cmake-modules-paths.patch b/pkgs/development/libraries/kde-frameworks-5.9/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
new file mode 100644
index 00000000000..9717716faf5
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
@@ -0,0 +1,74 @@
+From 3cc148e878b69fc3e0228f3e3bf1bbe689dad87c Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Fri, 20 Feb 2015 23:17:39 -0600
+Subject: [PATCH] extra-cmake-modules paths
+
+---
+ kde-modules/KDEInstallDirs.cmake | 37 ++++---------------------------------
+ 1 file changed, 4 insertions(+), 33 deletions(-)
+
+diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
+index b7cd34d..2f868ac 100644
+--- a/kde-modules/KDEInstallDirs.cmake
++++ b/kde-modules/KDEInstallDirs.cmake
+@@ -193,37 +193,8 @@
+ # (To distribute this file outside of extra-cmake-modules, substitute the full
+ #  License text for the above reference.)
+ 
+-# Figure out what the default install directory for libraries should be.
+-# This is based on the logic in GNUInstallDirs, but simplified (the
+-# GNUInstallDirs code deals with re-configuring, but that is dealt with
+-# by the _define_* macros in this module).
++# The default library directory on NixOS is *always* /lib.
+ set(_LIBDIR_DEFAULT "lib")
+-# Override this default 'lib' with 'lib64' iff:
+-#  - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
+-#  - we are NOT on debian
+-#  - we are on a 64 bits system
+-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
+-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
+-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
+-# See http://wiki.debian.org/Multiarch
+-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
+-   AND NOT CMAKE_CROSSCOMPILING)
+-  if (EXISTS "/etc/debian_version") # is this a debian system ?
+-    if(CMAKE_LIBRARY_ARCHITECTURE)
+-      set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+-    endif()
+-  else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
+-    if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
+-      message(AUTHOR_WARNING
+-        "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
+-        "Please enable at least one language before including KDEInstallDirs.")
+-    else()
+-      if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+-        set(_LIBDIR_DEFAULT "lib64")
+-      endif()
+-    endif()
+-  endif()
+-endif()
+ 
+ set(_gnu_install_dirs_vars
+     BINDIR
+@@ -445,15 +416,15 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
+         "QtQuick2 imports"
+         QML_INSTALL_DIR)
+ else()
+-    _define_relative(QTPLUGINDIR LIBDIR "plugins"
++    _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins"
+         "Qt plugins"
+         QT_PLUGIN_INSTALL_DIR)
+ 
+-    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
++    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "qt5/imports"
+         "QtQuick1 imports"
+         IMPORTS_INSTALL_DIR)
+ 
+-    _define_relative(QMLDIR LIBDIR "qml"
++    _define_relative(QMLDIR LIBDIR "qt5/qml"
+         "QtQuick2 imports"
+         QML_INSTALL_DIR)
+ endif()
+-- 
+2.3.0
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kauth/kauth-policy-install.patch b/pkgs/development/libraries/kde-frameworks-5.9/kauth/kauth-policy-install.patch
new file mode 100644
index 00000000000..340155256f2
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kauth/kauth-policy-install.patch
@@ -0,0 +1,13 @@
+diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
+index e859ec7..9a8ab18 100644
+--- a/KF5AuthConfig.cmake.in
++++ b/KF5AuthConfig.cmake.in
+@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
+ 
+ set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
+ set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
+-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
++set(KAUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
+ set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
+ 
+ find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kcmutils/kcmutils-pluginselector-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.9/kcmutils/kcmutils-pluginselector-follow-symlinks.patch
new file mode 100644
index 00000000000..47b8dfad180
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kcmutils/kcmutils-pluginselector-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp
+index c63241b..2243f94 100644
+--- a/src/kpluginselector.cpp
++++ b/src/kpluginselector.cpp
+@@ -304,7 +304,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
+     QStringList desktopFileNames;
+     const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
+     Q_FOREACH (const QString &dir, dirs) {
+-        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
++        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             desktopFileNames.append(it.next());
+         }
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.9/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch
new file mode 100644
index 00000000000..3bd946cbd84
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp
+index 53a331e..80fbb01 100644
+--- a/src/khelpclient.cpp
++++ b/src/khelpclient.cpp
+@@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname)
+     QString docPath;
+     const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
+     Q_FOREACH (const QString &dir, desktopDirs) {
+-        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
++        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             const QString desktopPath(it.next());
+             KDesktopFile desktopFile(desktopPath);
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/development/libraries/kde-frameworks-5.9/kdoctools/kdoctools-no-find-docbook-xml.patch
new file mode 100644
index 00000000000..4e3a33efab3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kdoctools/kdoctools-no-find-docbook-xml.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5c4863c..f731775 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,7 +46,6 @@ set_package_properties(LibXml2 PROPERTIES
+                       )
+ 
+ 
+-find_package(DocBookXML4 "4.5")
+ 
+ set_package_properties(DocBookXML4 PROPERTIES
+                        TYPE REQUIRED
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kinit/kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks-5.9/kinit/kinit-libpath.patch
new file mode 100644
index 00000000000..a6ccb2085d3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kinit/kinit-libpath.patch
@@ -0,0 +1,30 @@
+diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp
+index 3c3c913..f510620 100644
+--- a/src/kdeinit/kinit.cpp
++++ b/src/kdeinit/kinit.cpp
+@@ -652,15 +652,17 @@ static pid_t launch(int argc, const char *_name, const char *args,
+         if (!libpath.isEmpty()) {
+             if (!l.load()) {
+                 if (libpath_relative) {
+-                    // NB: Because Qt makes the actual dlopen() call, the
+-                    //     RUNPATH of kdeinit is *not* respected - see
+-                    //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945
+-                    //     - so we try hacking it in ourselves
+-                    QString install_lib_dir = QFile::decodeName(
+-                            CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/");
+-                    libpath = install_lib_dir + libpath;
+-                    l.setFileName(libpath);
++                  // Use QT_PLUGIN_PATH to find shared library directories
++                  // For KF5, the plugin path is /lib/plugins, so the kdeinit5
++                  // shared libraries should be in /lib/plugins/../
++                  const QRegExp pathSepRegExp(QString::fromLatin1("[:\b]"));
++                  const QString up = QString::fromLocal8Bit("/../");
++                  const QStringList paths = QString::fromLocal8Bit(qgetenv("QT_PLUGIN_PATH")).split(pathSepRegExp, QString::KeepEmptyParts);
++                  Q_FOREACH (const QString &path, paths) {
++                    l.setFileName(path + up + libpath);
+                     l.load();
++                    if (l.isLoaded()) break;
++                  }
+                 }
+             }
+             if (!l.isLoaded()) {
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kpackage/0001-allow-external-paths.patch b/pkgs/development/libraries/kde-frameworks-5.9/kpackage/0001-allow-external-paths.patch
new file mode 100644
index 00000000000..440e979c008
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kpackage/0001-allow-external-paths.patch
@@ -0,0 +1,25 @@
+From fbf10d2059fa1f19a0f0cfa2fda0abb6c435fa78 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Wed, 28 Jan 2015 07:15:30 -0600
+Subject: [PATCH] allow external paths
+
+---
+ src/kpackage/package.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/kpackage/package.cpp b/src/kpackage/package.cpp
+index eb4a09b..f70f1a1 100644
+--- a/src/kpackage/package.cpp
++++ b/src/kpackage/package.cpp
+@@ -758,7 +758,7 @@ PackagePrivate::PackagePrivate()
+     : QSharedData(),
+       fallbackPackage(0),
+       metadata(0),
+-      externalPaths(false),
++      externalPaths(true),
+       valid(false),
+       checkedValid(false)
+ {
+-- 
+2.1.4
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-follow-symlinks.patch
new file mode 100644
index 00000000000..e9bc418544a
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kbuildsycoca/kbuildsycoca.cpp b/src/kbuildsycoca/kbuildsycoca.cpp
+index 69b1427..9c37a49 100644
+--- a/src/kbuildsycoca/kbuildsycoca.cpp
++++ b/src/kbuildsycoca/kbuildsycoca.cpp
+@@ -227,7 +227,7 @@ bool KBuildSycoca::build()
+         QStringList relFiles;
+         const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, g_resourceSubdir, QStandardPaths::LocateDirectory);
+         Q_FOREACH (const QString &dir, dirs) {
+-            QDirIterator it(dir, QDirIterator::Subdirectories);
++            QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+             while (it.hasNext()) {
+                 const QString filePath = it.next();
+                 Q_ASSERT(filePath.startsWith(dir)); // due to the line below...
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch b/pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
new file mode 100644
index 00000000000..7e21ebfe86f
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
@@ -0,0 +1,13 @@
+diff --git a/src/kbuildsycoca/vfolder_menu.cpp b/src/kbuildsycoca/vfolder_menu.cpp
+index 2eb1275..e39a36f 100644
+--- a/src/kbuildsycoca/vfolder_menu.cpp
++++ b/src/kbuildsycoca/vfolder_menu.cpp
+@@ -412,7 +412,7 @@ VFolderMenu::absoluteDir(const QString &_dir, const QString &baseDir, bool keepR
+     }
+ 
+     if (!relative) {
+-        QString resolved = QDir(dir).canonicalPath();
++        QString resolved = QDir::cleanPath(dir);
+         if (!resolved.isEmpty()) {
+             dir = resolved;
+         }
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/ktexteditor/0001-no-qcoreapplication.patch b/pkgs/development/libraries/kde-frameworks-5.9/ktexteditor/0001-no-qcoreapplication.patch
new file mode 100644
index 00000000000..c2e77a537c5
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/ktexteditor/0001-no-qcoreapplication.patch
@@ -0,0 +1,48 @@
+From 71e28c7c6fdd1142f04c662f45cc8f779e457cda Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Sun, 15 Feb 2015 19:09:17 -0600
+Subject: [PATCH] no qcoreapplication
+
+---
+ src/syntax/data/katehighlightingindexer.cpp | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/syntax/data/katehighlightingindexer.cpp b/src/syntax/data/katehighlightingindexer.cpp
+index 3f02e8c..d1a865b 100644
+--- a/src/syntax/data/katehighlightingindexer.cpp
++++ b/src/syntax/data/katehighlightingindexer.cpp
+@@ -49,19 +49,16 @@ QStringList readListing(const QString &fileName)
+ 
+ int main(int argc, char *argv[])
+ {
+-    // get app instance
+-    QCoreApplication app(argc, argv);
+-    
+     // ensure enough arguments are passed
+-    if (app.arguments().size() < 3)
++    if (argc < 3)
+         return 1;
+ 
+     // open schema
+     QXmlSchema schema;
+-    if (!schema.load(QUrl::fromLocalFile(app.arguments().at(2))))
++    if (!schema.load(QUrl::fromLocalFile(QString::fromLocal8Bit(argv[2]))))
+         return 2;
+ 
+-    const QString hlFilenamesListing = app.arguments().value(3);
++    const QString hlFilenamesListing = QString::fromLocal8Bit(argv[3]);
+     if (hlFilenamesListing.isEmpty()) {
+         return 1;
+     }
+@@ -127,7 +124,7 @@ int main(int argc, char *argv[])
+         return anyError;
+     
+     // create outfile, after all has worked!
+-    QFile outFile(app.arguments().at(1));
++    QFile outFile(QString::fromLocal8Bit(argv[1]));
+     if (!outFile.open(QIODevice::WriteOnly | QIODevice::Truncate))
+         return 7;
+ 
+-- 
+2.1.4
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/manifest.nix b/pkgs/development/libraries/kde-frameworks-5.9/manifest.nix
new file mode 100644
index 00000000000..c61618b6e45
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/manifest.nix
@@ -0,0 +1,589 @@
+# This file is generated automatically. DO NOT EDIT!
+{ stdenv, fetchurl, mirror }:
+[
+  {
+    name = stdenv.lib.nameFromURL "kemoticons-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/cl9lk2n5vyfm0rdpxh3qz90mp5g9im5p-kemoticons-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kemoticons-5.9.0.tar.xz";
+      sha256 = "1zr8izm75q18saylqm6p8c4lfickpwpa5s1qz1avz66dprp822jh";
+      name = "kemoticons-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpeople-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/vadyk6vf9rpzb77ighjzqd6gh1sjlllk-kpeople-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kpeople-5.9.0.tar.xz";
+      sha256 = "1qfr5k80kymfr2d955vq3nrbqg4mw22d5k6pgnq06mszvp2fg6k4";
+      name = "kpeople-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kconfigwidgets-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/j2b1174ycr31ij9knwqhv429yh1hm7ck-kconfigwidgets-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kconfigwidgets-5.9.0.tar.xz";
+      sha256 = "081wq0blpl3gpzvljf3pfa8rlbwmrnpihckn6vbpzaaiy5mcwjkr";
+      name = "kconfigwidgets-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ki18n-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/iqwywmpdn4kmxkvkiq0jcmhmss1z13ih-ki18n-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/ki18n-5.9.0.tar.xz";
+      sha256 = "0ply8mb2yg3wx6qqvg8zyj3icgpwk3qw6v56qxjq6zzscf9gl7jc";
+      name = "ki18n-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kplotting-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/y200vzw2amcq3xhb8yd76aysh6d2f0fk-kplotting-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kplotting-5.9.0.tar.xz";
+      sha256 = "1hvjy9bm1jk8msz6fzb32phrvl91fh838mswkfib0b770jqfrvvy";
+      name = "kplotting-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kservice-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/jcbm2l3hqv69hplj3vglc8837ax09fx7-kservice-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kservice-5.9.0.tar.xz";
+      sha256 = "1s854v2dlq8wz2ka068ycwaw1a1lhhb7jy576c4gw96ak1bcplj9";
+      name = "kservice-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kbookmarks-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/9wkwlci1l6xcf9zgwnxnpsz2fqwx3lw0-kbookmarks-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kbookmarks-5.9.0.tar.xz";
+      sha256 = "0arh7bzq2nanjy6bdd9zi8jcsnf6anhpam167i16plyq7jdpxd06";
+      name = "kbookmarks-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kded-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/88mbi3xwlccpbgg879df0w5kiwb6cx68-kded-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kded-5.9.0.tar.xz";
+      sha256 = "1kq75p9dbmckgazzxd499qsqyyzr88n0jxy41c10ay2paqfjrrrp";
+      name = "kded-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knewstuff-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/qxlar4y9n5m6c3n6pqh6hjar8kv4h6vp-knewstuff-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/knewstuff-5.9.0.tar.xz";
+      sha256 = "1f9qgj87wd5w8gg2cglgzvxw5imcmw2pxv08p8c8as8xnh1b8iq0";
+      name = "knewstuff-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knotifyconfig-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/x5v2g50d4x92rsnyfywc6600y1bzr4lp-knotifyconfig-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/knotifyconfig-5.9.0.tar.xz";
+      sha256 = "0hdxwcqhi56yaafbl0mc34vc6nbxj3ddm4jl15ykgs1d83pcprp7";
+      name = "knotifyconfig-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "threadweaver-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/cpbmzpqihxbb2a60asc5spc0fc2xri7d-threadweaver-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/threadweaver-5.9.0.tar.xz";
+      sha256 = "1wsnb4ghnibpmypr49nrhpbq9l0cxrr5ak19vhj223ifh09kiqfq";
+      name = "threadweaver-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcmutils-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/icr4xva0xdqidpdb42ijxr7ra8xcx2ag-kcmutils-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kcmutils-5.9.0.tar.xz";
+      sha256 = "0mzj1fddcvcnxqyz2z6acbi724dz43x957nfs2ifn82ahjcpp05m";
+      name = "kcmutils-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwindowsystem-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/q5ny2mnrcz46jdr7vsjmgf24xrscly6d-kwindowsystem-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kwindowsystem-5.9.0.tar.xz";
+      sha256 = "09c752jv1z1x2g3japivmj0ycpsx7fjkwswjibnm3av3j2k7if7z";
+      name = "kwindowsystem-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "extra-cmake-modules-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/jd48z703zmnfhc8a0bz33i9p4ssl6gix-extra-cmake-modules-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/extra-cmake-modules-5.9.0.tar.xz";
+      sha256 = "1iqbcj4zf4pwad5pc2pwnyjs6zswwwp1lsp5a8g9999adgqz54f9";
+      name = "extra-cmake-modules-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwallet-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/h53bsfzw71z8d6qx2g0j9v3g5q6zrn51-kwallet-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kwallet-5.9.0.tar.xz";
+      sha256 = "1sbp512dg2mz10jrv2p8pglancaxbxi2bbmp05rfwfbz0bxyahld";
+      name = "kwallet-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kguiaddons-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/4wb3a0ig4a4bpivyrjq8q7c79dqzzjkx-kguiaddons-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kguiaddons-5.9.0.tar.xz";
+      sha256 = "0rk9bnln6g7xdw8vlldyqsfim75npi0adq627dqi3xfx03ccnp10";
+      name = "kguiaddons-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "plasma-framework-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/kzqjb4w2py8ip75j19nfhqsldwg8d4x7-plasma-framework-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/plasma-framework-5.9.0.tar.xz";
+      sha256 = "061b883vj27by3g8j087f2i6z0v76h6jljm5q2zs2dvr92jyqw8x";
+      name = "plasma-framework-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcodecs-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/ahzrjx81z3dmp8f2gs7qb8r0mz3c9ml6-kcodecs-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kcodecs-5.9.0.tar.xz";
+      sha256 = "1y1s7rzh5g2cj4f8xq6sfw06rnabg1z0y49rafhvx03w9fck9pib";
+      name = "kcodecs-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kxmlgui-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/sm45sg21cyp099s4apn6p0pypcm33ijx-kxmlgui-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kxmlgui-5.9.0.tar.xz";
+      sha256 = "0hwbzvyb2psys2bbxw05r2jyiigay4dwwad636yhqqgcqv8zk2wv";
+      name = "kxmlgui-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktextwidgets-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/acizf5h2fcmjsriwnkszrk8yv9zhxzgh-ktextwidgets-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/ktextwidgets-5.9.0.tar.xz";
+      sha256 = "0ld3z2l96710yali3l83410yblgw2fjdm1hyqhjp94vvhabzvzgr";
+      name = "ktextwidgets-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kinit-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/7zd0kxdpf33p7cc158sakl0h76l9bgik-kinit-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kinit-5.9.0.tar.xz";
+      sha256 = "110s0yparwim7lnj7rcaqc00z0vx36cwyx74hx9vm4kfqvi11yav";
+      name = "kinit-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdbusaddons-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/c382r0g1wh1jgplfidaf57in3j7c3mnk-kdbusaddons-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kdbusaddons-5.9.0.tar.xz";
+      sha256 = "1s92y1rha9kqys808zpl6cbzrzbxp4asrlwyl1djbyjv4gccs1zh";
+      name = "kdbusaddons-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "frameworkintegration-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/78mqjc0zpiwzi7vwymz8jl1sr82pfhd2-frameworkintegration-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/frameworkintegration-5.9.0.tar.xz";
+      sha256 = "0fnjx6vsfx71iq7nyxfp2msg6mdgp1kwy16ayrxmm4sfs1g7bdx9";
+      name = "frameworkintegration-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjobwidgets-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/f4zqsfim0xj45pciv87xf237mr3bi6qm-kjobwidgets-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kjobwidgets-5.9.0.tar.xz";
+      sha256 = "11ib74i7w05p31m0wfkrwxwaa47gsfmnfggdnxc8aziswqww0x9n";
+      name = "kjobwidgets-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "networkmanager-qt-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/9a8yy0x7gb64wnjzb3q09kww47iv74zp-networkmanager-qt-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/networkmanager-qt-5.9.0.tar.xz";
+      sha256 = "0z7bbx9hzifsfr7pycj4lbhr0nbzvvy3zwirgkx401dxqyz063g4";
+      name = "networkmanager-qt-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpty-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/dxw9x2xnwlp0iz6x3q7dfjkdqyh23lkg-kpty-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kpty-5.9.0.tar.xz";
+      sha256 = "1s3hj5s9ph0v7ndhmajn3avjbrrir52fk1hzxp0b1smv95hf1gli";
+      name = "kpty-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcompletion-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/jkz4hm0bbzk1z4rdw7mk11dmp73mdpn7-kcompletion-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kcompletion-5.9.0.tar.xz";
+      sha256 = "0grmgzqfbi87agil0vygpf8x0kfzhl4h8kn2ljhmm8nqp5g9ah0k";
+      name = "kcompletion-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kio-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/pamd5nf7v353zl3wqnmxaabwb3as2vrm-kio-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kio-5.9.0.tar.xz";
+      sha256 = "0n8kf728zlyivz0vhp9lnygj2cwazll5llv227fvimh5mcsw68y4";
+      name = "kio-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kparts-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/lrdpdzaqiqbqvdvmxwdgaawrafd5z8kd-kparts-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kparts-5.9.0.tar.xz";
+      sha256 = "0kqa5s0j8smy31ql2y4niabp95c4c237spqcgllcpjz1kq2vbg2l";
+      name = "kparts-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kiconthemes-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/ig6smkn1wq8yzcpmdlziqaqwsk0jbm84-kiconthemes-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kiconthemes-5.9.0.tar.xz";
+      sha256 = "1nzfsn6asr91skxzd7i4d9qkn5rl6dylha37mxrlc9m6dhanf5zm";
+      name = "kiconthemes-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kglobalaccel-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/n7x2xk0wnclxh8s2mlnw997376363i55-kglobalaccel-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kglobalaccel-5.9.0.tar.xz";
+      sha256 = "07652pxqql2dj7280vryk5agank0rd3wmj93isbfak61q20y4snx";
+      name = "kglobalaccel-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kapidox-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/525lhwwpxc9h9pbiyzr0qspk8sp0ml60-kapidox-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kapidox-5.9.0.tar.xz";
+      sha256 = "1pva41v0x67nmpp4kiwmm61laxym3lj2jhc37d5b6qhsbvyq48jm";
+      name = "kapidox-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kauth-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/xmziq9qlxfxmvl4bdxaf16z497fb38fi-kauth-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kauth-5.9.0.tar.xz";
+      sha256 = "00kvdhxspkwy21fd1kvfh253cl3i5qkf6hlf3y75yjpsl2bh6vqz";
+      name = "kauth-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kpackage-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/ib2x9bcdi7lm0gppw1q39p1mmwbid6f4-kpackage-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kpackage-5.9.0.tar.xz";
+      sha256 = "04z6qqbb16y38g3bdbd209wh9k2bg9mw7zkzbkknz3xkd8b17fbf";
+      name = "kpackage-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "knotifications-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/jic7izn9i0mblgxm8qfyvdrlgby8p7l7-knotifications-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/knotifications-5.9.0.tar.xz";
+      sha256 = "1s1zqxcm1dwz5sjardddgyz2zdcdzpnyzlr9f9wy89jbkvji63wa";
+      name = "knotifications-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesu-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/njrnjrpi0qsvvnpzx673gygyifp22xn4-kdesu-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kdesu-5.9.0.tar.xz";
+      sha256 = "0j1f64pp6sisw1nrg0510nn5n0z734lkyn4nin4pv1qzsxjxs39r";
+      name = "kdesu-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcrash-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/gfz9mm191zrdwlv5l622gvgskg5aipy6-kcrash-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kcrash-5.9.0.tar.xz";
+      sha256 = "0y4s68f580v2qyjygi33avn8a5aww5j4n25ci2qw1nhqz4jvvji7";
+      name = "kcrash-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdnssd-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/h4xfhg3m2qbhiqncz687abvcibanq84j-kdnssd-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kdnssd-5.9.0.tar.xz";
+      sha256 = "086182qfm0jbap1wk1br9c0gzwbnxrsrm5nsh7d9h2k0fbd74cf2";
+      name = "kdnssd-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kunitconversion-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/b5lgglmahl4cyrnnl3a8dr17j5bym6yj-kunitconversion-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kunitconversion-5.9.0.tar.xz";
+      sha256 = "0ngbfma7nf5pjqra6378slqyqy8b9fqlyp3cb27n6qwcqn9pjfif";
+      name = "kunitconversion-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kidletime-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/3ksyripr9w13540dmgpxf3pr4djn47wr-kidletime-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kidletime-5.9.0.tar.xz";
+      sha256 = "135y54hkxyd19szb6zkin5l6n0mmfakl3asqnd0pxyh8a9nbdjz5";
+      name = "kidletime-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjsembed-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/9s6zm801gizhls4rpmrij23jzqnkcbjy-kjsembed-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/portingAids/kjsembed-5.9.0.tar.xz";
+      sha256 = "1rvr9nkw7c5a433sqsjdaz1wrja4kny3kc74550qpimwjlcwirix";
+      name = "kjsembed-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdelibs4support-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/zx5l2jjfrfhb7i8x0m7abdw3qzcp8lhz-kdelibs4support-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/portingAids/kdelibs4support-5.9.0.tar.xz";
+      sha256 = "1fvwwd2gj1wdfgd9jczvgm6fi2i08y9mdmvfc7cjh7rnwps5hy7d";
+      name = "kdelibs4support-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "krunner-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/ng08bafm24q6nl1gfdschnljm3zly8rm-krunner-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/portingAids/krunner-5.9.0.tar.xz";
+      sha256 = "1m95gm32rmvm9p4422if89vid4k29q0i7qdyakdn3z5zks23scdl";
+      name = "krunner-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kross-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/ddrjg3drx3hj3bwf120y8pq1wq7q5m0s-kross-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/portingAids/kross-5.9.0.tar.xz";
+      sha256 = "0brzycpqjyqryj86scv52m3p9mvhlq1swrmh22gpwwnvmh6ngdvj";
+      name = "kross-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "khtml-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/qx36l5jwllflpamxwrn9v3ff2fhv33iz-khtml-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/portingAids/khtml-5.9.0.tar.xz";
+      sha256 = "19m01gg5gz02i4z85jnlspb441v906cakd53mgwl1028r8h498pv";
+      name = "khtml-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kjs-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/z4898f54az0nb4j4ydjsakiqpn6rz3zr-kjs-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/portingAids/kjs-5.9.0.tar.xz";
+      sha256 = "1v6sk4kjf70ypgl7wxqfsjg6q5ms3qac1zjw54nw94qq55b9psvl";
+      name = "kjs-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kmediaplayer-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/bzy6c2shbkv003dsh08ccn208lqdd17a-kmediaplayer-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/portingAids/kmediaplayer-5.9.0.tar.xz";
+      sha256 = "13zswmpdidlpxa1h4dg1s74m584syqrrsgxll6b5yl1p7j4x0g5z";
+      name = "kmediaplayer-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kitemmodels-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/4s94ln9czamd4p6gkllvp5b8plw35xmk-kitemmodels-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kitemmodels-5.9.0.tar.xz";
+      sha256 = "0m5ag09narwglg799f4ahpjgxlxvnxjrshv1cbszp7v2naxh1365";
+      name = "kitemmodels-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "modemmanager-qt-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/fdhdk8m0jy1g72k8mm11ljnmyw6ldp71-modemmanager-qt-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/modemmanager-qt-5.9.0.tar.xz";
+      sha256 = "0ap1gr2xjnzmgl7cpi66xdgw14g4m0ax3q74vr86vdcsrmcql0b3";
+      name = "modemmanager-qt-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdoctools-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/b5fd64g9rrd46qakpzkrydnj6chpcx5c-kdoctools-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kdoctools-5.9.0.tar.xz";
+      sha256 = "1iqp7d09j572splxr92gkadhmbd3rs4661ky45pajrk79g53brmk";
+      name = "kdoctools-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kcoreaddons-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/zr152vxn36ph75ilmwyf5xc9vikczcap-kcoreaddons-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kcoreaddons-5.9.0.tar.xz";
+      sha256 = "0cb5j65y7yv27d3dm3jzrparn5h6knk635sxnpdxvcjdgbpr93hi";
+      name = "kcoreaddons-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdewebkit-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/0x0j7zm9p1hrxq2793cf4dv9sjyn6k23-kdewebkit-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kdewebkit-5.9.0.tar.xz";
+      sha256 = "08f1jfnxi3znyk20gszr79wwlx55dp0qavpy0ifm7s22vl3bswdy";
+      name = "kdewebkit-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kimageformats-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/n7k5dazmp4rppbagy5b0frf1q72l5kcw-kimageformats-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kimageformats-5.9.0.tar.xz";
+      sha256 = "114rrk1hpyfr4dq7kriddgd9nh0x2r1ylk4sa2sx8avhfqh01bmg";
+      name = "kimageformats-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "karchive-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/yzy2r8ajkdw8g3qwbdjkf689b9qrsanl-karchive-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/karchive-5.9.0.tar.xz";
+      sha256 = "1cmh06grw77fkj7fg4w6mpv3y0zyq25pwzl7vh00pyd9wqsgv89z";
+      name = "karchive-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdeclarative-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/x6j9vl25c8ixw1bv3zan69likxv2x5yr-kdeclarative-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kdeclarative-5.9.0.tar.xz";
+      sha256 = "1x515r5w107g5zy6hhqmhh14ww2ar81zdlbhzm0ki5id16vmzcc4";
+      name = "kdeclarative-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kitemviews-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/r0yi07vv52dbvfx1pgxidxqcdx7bbqii-kitemviews-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kitemviews-5.9.0.tar.xz";
+      sha256 = "0xymycick40mxc6prvxyrqvg6ig9c9q2k3kp4i40468id88m8p8s";
+      name = "kitemviews-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "sonnet-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/y4sh847b3hgkk6ikdr0rl3lljylzrz1k-sonnet-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/sonnet-5.9.0.tar.xz";
+      sha256 = "06c78qdn9azadghz0jyzky4mk1qk51v6zyb7m2yrnisn2miyhv28";
+      name = "sonnet-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kdesignerplugin-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/v5ad3dhkisy4rag5zqk3zx9lmc5hx4hm-kdesignerplugin-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kdesignerplugin-5.9.0.tar.xz";
+      sha256 = "03x2vg2va2s323ynyqpin1srhwlak1yrl6hkzcxmyirqd36rq2ik";
+      name = "kdesignerplugin-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kconfig-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/h4856ysd2x370375vdm1hfcbhxm3g49c-kconfig-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kconfig-5.9.0.tar.xz";
+      sha256 = "1mhqlrsxnfqpafpjf3y4v4q5d1wqv404wkzfll07pihkivq52jd1";
+      name = "kconfig-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kactivities-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/n2i4dy75ms4kjvv8m7rwxywwv8zvxhmk-kactivities-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kactivities-5.9.0.tar.xz";
+      sha256 = "0lphz9jybmphdbbcdm74dzrlb01m8q7saxz04c30pl37kaxrplam";
+      name = "kactivities-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "solid-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/h68n4cp0lkdclnww7mc7xfh4f7nyzjdi-solid-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/solid-5.9.0.tar.xz";
+      sha256 = "1z8qxjpl7gbfhii2lz0g62vpip6iw998aq6xaxswgfy3l558xqwn";
+      name = "solid-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kxmlrpcclient-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/2klkxcvdwqmfq5xwq7dsgk675vdxssz2-kxmlrpcclient-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kxmlrpcclient-5.9.0.tar.xz";
+      sha256 = "1igjrq1z0cfgfkgifdjfyfcbvgabgn3gg85g7hxvqz262lscilwg";
+      name = "kxmlrpcclient-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "ktexteditor-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/04kkss23ry8qhsd97w80q37958b25wa9-ktexteditor-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/ktexteditor-5.9.0.tar.xz";
+      sha256 = "12ci3qhbq8hxvsv2q4rkr4q2sbs11zxn8afn7wwh4za1b80vgi4b";
+      name = "ktexteditor-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "attica-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/75ipp7rrjrx3csia7blhwh9nf7jchprk-attica-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/attica-5.9.0.tar.xz";
+      sha256 = "0wymjj5sch638hrn6z9xrmw8n9avrci16qxvig5sapr0wn2r51vj";
+      name = "attica-5.9.0.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "kwidgetsaddons-5.9.0.tar.xz" ".tar";
+    store = "/nix/store/s1gh5sqrpjicv1vxzb8affi51js2zk4j-kwidgetsaddons-5.9.0.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.9/kwidgetsaddons-5.9.0.tar.xz";
+      sha256 = "1s8lbj779rkxd878v15awcbxpmvrm95cahiq9a54mv75mhlix1j1";
+      name = "kwidgetsaddons-5.9.0.tar.xz";
+    };
+  }
+]
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/manifest.sh b/pkgs/development/libraries/kde-frameworks-5.9/manifest.sh
new file mode 100755
index 00000000000..0075819664a
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/manifest.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+if [ $# -eq 0 ]; then
+
+  # The extra slash at the end of the URL is necessary to stop wget
+  # from recursing over the whole server! (No, it's not a bug.)
+  $(nix-build ../../../.. -A autonix.manifest) \
+    http://download.kde.org/stable/frameworks/5.9/ \
+      -A '*.tar.xz'
+
+else
+
+  $(nix-build ../../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
+
+fi
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/plasma-framework/plasma-framework-external-paths.patch b/pkgs/development/libraries/kde-frameworks-5.9/plasma-framework/plasma-framework-external-paths.patch
new file mode 100644
index 00000000000..9a22c0bdbcd
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/plasma-framework/plasma-framework-external-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/plasma/package.cpp b/src/plasma/package.cpp
+index 07b3c90..84417e3 100644
+--- a/src/plasma/package.cpp
++++ b/src/plasma/package.cpp
+@@ -791,7 +791,7 @@ PackagePrivate::PackagePrivate()
+       servicePrefix("plasma-applet-"),
+       fallbackPackage(0),
+       metadata(0),
+-      externalPaths(false),
++      externalPaths(true),
+       valid(false),
+       checkedValid(false)
+ {
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/renames.nix b/pkgs/development/libraries/kde-frameworks-5.9/renames.nix
new file mode 100644
index 00000000000..7dcf3bf81d7
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/renames.nix
@@ -0,0 +1,72 @@
+# DO NOT EDIT! This file is generated automatically.
+{ }:
+{
+"Backend" = "plasma-framework";
+"CTest" = "attica";
+"ECM" = "extra-cmake-modules";
+"KDED" = "kded";
+"KF5Activities" = "kactivities";
+"KF5ActivitiesExperimentalStats" = "kactivities";
+"KF5Archive" = "karchive";
+"KF5Attica" = "attica";
+"KF5Auth" = "kauth";
+"KF5Bookmarks" = "kbookmarks";
+"KF5Codecs" = "kcodecs";
+"KF5Completion" = "kcompletion";
+"KF5Config" = "kconfig";
+"KF5ConfigWidgets" = "kconfigwidgets";
+"KF5CoreAddons" = "kcoreaddons";
+"KF5Crash" = "kcrash";
+"KF5DBusAddons" = "kdbusaddons";
+"KF5DNSSD" = "kdnssd";
+"KF5Declarative" = "kdeclarative";
+"KF5DesignerPlugin" = "kdesignerplugin";
+"KF5DocTools" = "kdoctools";
+"KF5Emoticons" = "kemoticons";
+"KF5FrameworkIntegration" = "frameworkintegration";
+"KF5GlobalAccel" = "kglobalaccel";
+"KF5GuiAddons" = "kguiaddons";
+"KF5I18n" = "ki18n";
+"KF5IconThemes" = "kiconthemes";
+"KF5IdleTime" = "kidletime";
+"KF5Init" = "kinit";
+"KF5ItemModels" = "kitemmodels";
+"KF5ItemViews" = "kitemviews";
+"KF5JS" = "kjs";
+"KF5JobWidgets" = "kjobwidgets";
+"KF5JsEmbed" = "kjsembed";
+"KF5KCMUtils" = "kcmutils";
+"KF5KDE4Support" = "kdelibs4support";
+"KF5KDELibs4Support" = "kdelibs4support";
+"KF5KHtml" = "khtml";
+"KF5KIO" = "kio";
+"KF5Kross" = "kross";
+"KF5MediaPlayer" = "kmediaplayer";
+"KF5ModemManagerQt" = "modemmanager-qt";
+"KF5NetworkManagerQt" = "networkmanager-qt";
+"KF5NewStuff" = "knewstuff";
+"KF5Notifications" = "knotifications";
+"KF5NotifyConfig" = "knotifyconfig";
+"KF5Package" = "kpackage";
+"KF5Parts" = "kparts";
+"KF5People" = "kpeople";
+"KF5Plasma" = "plasma-framework";
+"KF5PlasmaQuick" = "plasma-framework";
+"KF5Plotting" = "kplotting";
+"KF5Pty" = "kpty";
+"KF5Runner" = "krunner";
+"KF5Service" = "kservice";
+"KF5Solid" = "solid";
+"KF5Sonnet" = "sonnet";
+"KF5Su" = "kdesu";
+"KF5TextEditor" = "ktexteditor";
+"KF5TextWidgets" = "ktextwidgets";
+"KF5ThreadWeaver" = "threadweaver";
+"KF5UnitConversion" = "kunitconversion";
+"KF5Wallet" = "kwallet";
+"KF5WebKit" = "kdewebkit";
+"KF5WidgetsAddons" = "kwidgetsaddons";
+"KF5WindowSystem" = "kwindowsystem";
+"KF5XmlGui" = "kxmlgui";
+"KF5XmlRpcClient" = "kxmlrpcclient";
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.9/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.9/setup-hook.sh
new file mode 100644
index 00000000000..a8d9b7e0e36
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.9/setup-hook.sh
@@ -0,0 +1 @@
+addToSearchPath XDG_DATA_DIRS @out@/share
diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix
index 6f874450fc5..8b7d73462c2 100644
--- a/pkgs/development/libraries/kdevplatform/default.nix
+++ b/pkgs/development/libraries/kdevplatform/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, perl, phonon,
+{ stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, phonon,
   gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }:
 
 stdenv.mkDerivation rec {
-  name = "kdevplatform-1.6.0";
+  name = "kdevplatform-1.7.1";
 
   src = fetchurl {
-    url = "mirror://kde/stable/kdevelop/4.6.0/src/${name}.tar.xz";
-    sha256 = "cdf7c88ca8860258f46e41d2107c826a307212fd041345bee54fbd70c9794f80";
+    url = "mirror://kde/stable/kdevelop/4.7.1/src/${name}.tar.xz";
+    sha256 = "dfd8953aec204f04bd949443781aa0f6d9d58c40f73027619a168bb4ffc4b1ac";
   };
 
   propagatedBuildInputs = [ kdelibs qt4 phonon ];
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index d4285db1efb..aeea290bdb2 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, openldap, readline, db, openssl, cyrus_sasl, sqlite} :
+{ stdenv, fetchurl, pkgconfig, flex, yacc, readline, openldap, libcap_ng
+, sqlite, db, ncurses, openssl, cyrus_sasl
+}:
 
 stdenv.mkDerivation rec {
   name = "heimdal-1.5.3";
@@ -13,19 +15,41 @@ stdenv.mkDerivation rec {
 
   ## ugly, X should be made an option
   configureFlags = [
+    "--enable-hdb-openldap-module"
+    "--with-capng"
     "--with-openldap=${openldap}"
     "--with-sqlite3=${sqlite}"
+    "--with-openssl-lib=${openssl}/lib"
     "--without-x"
   ];
-  # dont succeed with --libexec=$out/sbin, so
+
+  # We need to build hcrypt for applications like samba
+  postBuild = ''
+    (cd lib/hcrypto; make)
+    (cd include/hcrypto; make)
+  '';
+
   postInstall = ''
+    # Install hcrypto
+    (cd lib/hcrypto; make install)
+    (cd include/hcrypto; make install)
+
+    # dont succeed with --libexec=$out/sbin, so
     mv "$out/libexec/"* $out/sbin/
     rmdir $out/libexec
   '';
 
-  propagatedBuildInputs = [ readline db openssl openldap cyrus_sasl sqlite];
+  buildInputs = [
+    pkgconfig flex yacc readline openldap libcap_ng sqlite db ncurses
+    cyrus_sasl openssl
+  ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "an implementation of Kerberos 5 (and some more stuff) largely written in Sweden";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
+
+  passthru.implementation = "heimdal";
 }
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index eeb09a68afb..41c570ee554 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -1,8 +1,8 @@
-{stdenv, fetchurl, perl, ncurses, yacc}:
+{ stdenv, fetchurl, pkgconfig, perl, ncurses, yacc, openssl, openldap, bootstrap_cmds }:
 
 let
   pname = "krb5";
-  version = "1.11.3";
+  version = "1.13.1";
   name = "${pname}-${version}";
   webpage = http://web.mit.edu/kerberos/;
 in
@@ -11,11 +11,13 @@ stdenv.mkDerivation (rec {
   inherit name;
 
   src = fetchurl {
-    url = "${webpage}/dist/krb5/1.11/${name}-signed.tar";
-    sha256 = "1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs";
+    url = "${webpage}dist/krb5/1.13/${name}-signed.tar";
+    sha256 = "0gk6jvr64rf6l4xcyxn8i3fr5d1j7dhqvwyv3vw2qdkzz7yjkxjd";
   };
 
-  buildInputs = [ perl ncurses yacc ];
+  buildInputs = [ pkgconfig perl ncurses yacc openssl openldap ]
+    # Provides the mig command used by the build scripts
+    ++ stdenv.lib.optional stdenv.isDarwin bootstrap_cmds ;
 
   unpackPhase = ''
     tar -xf $src
@@ -23,15 +25,17 @@ stdenv.mkDerivation (rec {
     cd ${name}/src
   '';
 
-  configureFlags = "--with-tcl=no";
-
-  #doCheck = true; # report: No suitable file for testing purposes
+  configureFlags = [ "--with-tcl=no" ];
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "MIT Kerberos 5";
     homepage = webpage;
     license = "MPL";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
+
+  passthru.implementation = "krb5";
 })
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 0cc875e2656..0ab24df57ba 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://github.com/engla/keybinder/;
     license = licenses.gpl2Plus;
-    platform = platforms.linux;
+    platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
index 75704848f7f..581e6e70b71 100644
--- a/pkgs/development/libraries/keybinder3/default.nix
+++ b/pkgs/development/libraries/keybinder3/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     description = "Library for registering global key bindings";
     homepage = https://github.com/engla/keybinder/;
     license = licenses.mit;
-    platform = platforms.linux;
+    platforms = platforms.linux;
     maintainers = [ maintainers.cstrahan ];
   };
 }
diff --git a/pkgs/development/libraries/kyotocabinet/default.nix b/pkgs/development/libraries/kyotocabinet/default.nix
new file mode 100644
index 00000000000..6c4575b4e9d
--- /dev/null
+++ b/pkgs/development/libraries/kyotocabinet/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "kyotocabinet-1.2.76";
+
+  src = fetchurl {
+    url = "http://fallabs.com/kyotocabinet/pkg/${name}.tar.gz";
+    sha256 = "0g6js20x7vnpq4p8ghbw3mh9wpqksya9vwhzdx6dnlf354zjsal1";
+  };
+
+  buildInputs = [ zlib ];
+
+  meta = with stdenv.lib; {
+    homepage = http://fallabs.com/kyotocabinet;
+    description = "a library of routines for managing a database";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix
new file mode 100644
index 00000000000..abf05f4c138
--- /dev/null
+++ b/pkgs/development/libraries/lame/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl
+, nasmSupport ? true, nasm ? null # Assembly optimizations
+, cpmlSupport ? true # Compaq's fast math library
+#, efenceSupport ? false, libefence ? null # Use ElectricFence for malloc debugging
+, sndfileFileIOSupport ? false, libsndfile ? null # Use libsndfile, instead of lame's internal routines
+, analyzerHooksSupport ? true # Use analyzer hooks
+, decoderSupport ? true # mpg123 decoder
+, frontendSupport ? true # Build the lame executable
+#, mp3xSupport ? false, gtk1 ? null # Build GTK frame analyzer
+, mp3rtpSupport ? false # Build mp3rtp
+, debugSupport ? false # Debugging (disables optimizations)
+}:
+
+assert nasmSupport -> (nasm != null);
+#assert efenceSupport -> (libefence != null);
+assert sndfileFileIOSupport -> (libsndfile != null);
+#assert mp3xSupport -> (analyzerHooksSupport && (gtk1 != null));
+
+let
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+in
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "lame-${version}";
+  version = "3.99.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lame/${name}.tar.gz";
+    sha256 = "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14";
+  };
+
+  nativeBuildInputs = [ ]
+    ++ optional nasmSupport nasm;
+
+  buildInputs = [ ]
+    #++ optional efenceSupport libefence
+    #++ optional mp3xSupport gtk1
+    ++ optional sndfileFileIOSupport libsndfile;
+
+  configureFlags = [
+    (mkFlag nasmSupport "nasm")
+    (mkFlag cpmlSupport "cpml")
+    #(mkFlag efenceSupport "efence")
+    (if sndfileFileIOSupport then "--with-fileio=sndfile" else "--with-fileio=lame")
+    (mkFlag analyzerHooksSupport "analyzer-hooks")
+    (mkFlag decoderSupport "decoder")
+    (mkFlag frontendSupport "frontend")
+    (mkFlag frontendSupport "dynamic-frontends")
+    #(mkFlag mp3xSupport "mp3x")
+    (mkFlag mp3rtpSupport "mp3rtp")
+    (if debugSupport then "--enable-debug=alot" else "")
+  ];
+
+  meta = {
+    description = "LAME is a high quality MPEG Audio Layer III (MP3) encoder";
+    homepage    = http://lame.sourceforge.net;
+    license     = licenses.lgpl2;
+    maintainers = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index 521118f3175..db82c943d7c 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.5";
+  name = "lcms2-2.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/lcms/${name}.tar.gz";
-    sha256 = "0ax71bmscjzlpmg1r8vj3dypxf2jr7j9qfx5vc8j22j78hmpf9v7";
+    sha256 = "0lvaglcjsvnyglgj3cb3pjc22nq8fml1vlx5dmmmw66ywx526925";
   };
 
   propagatedBuildInputs = [ libtiff libjpeg zlib ];
diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix
new file mode 100644
index 00000000000..b400ff813d2
--- /dev/null
+++ b/pkgs/development/libraries/ldb/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, python, pkgconfig, readline, tdb, talloc, tevent
+, popt, libxslt, docbook_xsl, docbook_xml_dtd_42
+}:
+
+stdenv.mkDerivation rec {
+  name = "ldb-1.1.20";
+
+  src = fetchurl {
+    url = "mirror://samba/ldb/${name}.tar.gz";
+    sha256 = "1ckplfvr8rp5y632w5j0abdgkj3irbzjh1wn0yxadnhz4ymknjds";
+  };
+
+  buildInputs = [
+    python pkgconfig readline tdb talloc tevent popt
+    libxslt docbook_xsl docbook_xml_dtd_42
+  ];
+
+  preConfigure = ''
+    echo $PYTHONPATH
+    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,g' buildtools/bin/waf
+  '';
+
+  configureFlags = [
+    "--bundled-libraries=NONE"
+    "--builtin-libraries=replace"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "a LDAP-like embedded database";
+    homepage = http://ldb.samba.org/;
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 8479551d28d..01aeeecc6f6 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "ldns-1.6.16";
+  name = "ldns-1.6.17";
 
   src = fetchurl {
     url = "http://www.nlnetlabs.nl/downloads/ldns/${name}.tar.gz";
-    sha256 = "15gn9m95r6sq2n55dw4r87p2aljb5lvy1w0y0br70wbr0p5zkci4";
+    sha256 = "1kf8pkwhcssvgzhh6ha1pjjiziwvwmfaali7kaafh6118mcy124b";
   };
 
   patchPhase = ''
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Library with the aim of simplifying DNS programming in C";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     homepage = "http://www.nlnetlabs.nl/projects/ldns/";
   };
 }
diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix
index 94dfe871240..ebb90f79663 100644
--- a/pkgs/development/libraries/lensfun/default.nix
+++ b/pkgs/development/libraries/lensfun/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng }:
+{ stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng, gnumake3 }:
 
 stdenv.mkDerivation rec {
   name = "lensfun-0.2.8";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = "sed -e 's@/usr/bin/python@${python}/bin/python@' -i configure";
 
-  buildInputs = [ pkgconfig glib zlib libpng ];
+  buildInputs = [ pkgconfig glib zlib libpng gnumake3 ];
 
   configureFlags = "-v";
 
diff --git a/pkgs/development/libraries/leptonica/default.nix b/pkgs/development/libraries/leptonica/default.nix
index ecd63e98f19..ae5d49f2850 100644
--- a/pkgs/development/libraries/leptonica/default.nix
+++ b/pkgs/development/libraries/leptonica/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation {
     description = "Image processing and analysis library";
     homepage = http://www.leptonica.org/;
     # Its own license: http://www.leptonica.org/about-the-license.html
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/lesstif/c-bad_integer_cast.patch b/pkgs/development/libraries/lesstif/c-bad_integer_cast.patch
deleted file mode 100644
index 620d702f0f0..00000000000
--- a/pkgs/development/libraries/lesstif/c-bad_integer_cast.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- lesstif2-0.94.4.orig/include/Motif-2.1/XmI/XpmI.h
-+++ lesstif2-0.94.4/include/Motif-2.1/XmI/XpmI.h
-@@ -217,8 +217,8 @@
- FUNC(xpmHashSlot, xpmHashAtom *, (xpmHashTable *table, char *s));
- FUNC(xpmHashIntern, int, (xpmHashTable *table, char *tag, void *data));
- 
--#define HashAtomData(i) ((void *)i)
--#define HashColorIndex(slot) ((unsigned int)((*slot)->data))
-+#define HashAtomData(i) ((void *)(uintptr_t)i)
-+#define HashColorIndex(slot) ((uintptr_t)((*slot)->data))
- #define USE_HASHTABLE (cpp > 2 && ncolors > 4)
- 
- /* I/O utility */
diff --git a/pkgs/development/libraries/lesstif/c-linkage.patch b/pkgs/development/libraries/lesstif/c-linkage.patch
deleted file mode 100644
index 343d9f789b8..00000000000
--- a/pkgs/development/libraries/lesstif/c-linkage.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/include/Motif-2.1/Xm/VendorSP.h  2006-07-07 15:58:04.000000000 +0200
-+++ b/include/Motif-2.1/Xm/VendorSP.h  2006-07-07 15:58:19.000000000 +0200
-@@ -30,10 +30,6 @@
- #include <Xm/VendorS.h>
- #include <X11/ShellP.h>
- 
--#ifdef __cplusplus
--extern "C" {
--#endif
--
- XMLIBEXPORT extern Cardinal _XmFilterResources(XtResource *resources,
-                                   Cardinal numResources,
-                                   WidgetClass filterClass,
-@@ -57,9 +53,4 @@
- 
- XMLIBEXPORT extern VendorShellClassRec  vendorShellClassRec;
- 
--
--#ifdef __cplusplus
--}
--#endif
--
- #endif /* _XM_VENDORSP_H */
diff --git a/pkgs/development/libraries/lesstif/c-unsigned_int.patch b/pkgs/development/libraries/lesstif/c-unsigned_int.patch
deleted file mode 100644
index a682d9704c3..00000000000
--- a/pkgs/development/libraries/lesstif/c-unsigned_int.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- lesstif2-0.94.4.orig/lib/Xm-2.1/Xpmcreate.c
-+++ lesstif2-0.94.4/lib/Xm-2.1/Xpmcreate.c
-@@ -1265,10 +1265,10 @@
-     register char *src;
-     register char *dst;
-     register unsigned int *iptr;
--    register unsigned int x, y, i;
-+    register unsigned int x, y;
-     register char *data;
-     Pixel pixel, px;
--    int nbytes, depth, ibu, ibpp;
-+    int nbytes, depth, ibu, ibpp, i;
- 
-     data = image->data;
-     iptr = pixelindex;
---- lesstif2-0.94.4.orig/lib/Xm-2.1/Xpmscan.c
-+++ lesstif2-0.94.4/lib/Xm-2.1/Xpmscan.c
-@@ -672,8 +672,8 @@
-     char *dst;
-     unsigned int *iptr;
-     char *data;
--    unsigned int x, y, i;
--    int bits, depth, ibu, ibpp, offset;
-+    unsigned int x, y;
-+    int bits, depth, ibu, ibpp, offset, i;
-     unsigned long lbt;
-     Pixel pixel, px;
- 
-@@ -684,6 +684,9 @@
-     ibpp = image->bits_per_pixel;
-     offset = image->xoffset;
- 
-+    if (image->bitmap_unit < 0)
-+	    return (XpmNoMemory);
-+
-     if ((image->bits_per_pixel | image->depth) == 1) {
- 	ibu = image->bitmap_unit;
- 	for (y = 0; y < height; y++)
diff --git a/pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch b/pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch
deleted file mode 100644
index 10bdf8d0b97..00000000000
--- a/pkgs/development/libraries/lesstif/c-xim_chained_list_crash.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ru lesstif2-0.94.4-old/lib/Xm-2.1/XmIm.c lesstif2-0.94.4/lib/Xm-2.1/XmIm.c
---- lesstif2-0.94.4-old/lib/Xm-2.1/XmIm.c	2004-10-20 21:32:11.000000000 +0200
-+++ lesstif2-0.94.4/lib/Xm-2.1/XmIm.c	2007-03-28 14:39:27.000000000 +0200
-@@ -133,7 +133,10 @@
- 		p->next = q->next;
- 	}
- 
--	XtFree((char *)stuff);
-+	/* if count!=0 then someone uses the stuff as orig_xim
-+	   so unlink it but not free it */
-+	if (!stuff->count)
-+		XtFree((char *)stuff);
- }
- 
- /*
-@@ -1060,6 +1063,8 @@
- 		   XCloseIM(stuff->xim);
- 		DEBUGOUT(_LtDebug(__FILE__, w, "XCloseIM(%p)\n", stuff->xim));
- 		stuff->orig_xim->xim = NULL;
-+		/* stuff->orig_xim is now useless */
-+		XtFree(stuff->orig_xim);
- 	} else {
- 		DEBUGOUT(_LtDebug(__FILE__, w, "XmImCloseXIM(%p), count -> %d\n",
- 			stuff->xim, stuff->orig_xim->count));
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index 8d01c2f2f43..f5c959bba7a 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -3,8 +3,8 @@
 stdenv.mkDerivation {
   name = "lesstif-0.95.0-p2";
   src = fetchurl {
-    url = mirror://sourceforge/lesstif/lesstif-0.95.0.tar.bz2;
-    md5 = "ab895165c149d7f95843c7584b1c7ad4";
+    url = mirror://sourceforge/lesstif/lesstif-0.95.2.tar.bz2;
+    sha256 = "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb";
   };
   buildInputs = [xlibsWrapper];
   propagatedBuildInputs = [libXp libXau];
@@ -15,11 +15,7 @@ stdenv.mkDerivation {
   # in Debian, so we assume they have been sent upstream.
   #
   patches = [
-    ./c-bad_integer_cast.patch    
-    ./c-linkage.patch             
-    ./c-unsigned_int.patch
     ./c-missing_xm_h.patch        
-    ./c-xim_chained_list_crash.patch
     ./c-render_table_crash.patch 
     ./c-xpmpipethrough.patch
     ];
diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix
index 64c03798fea..fd668fbcad9 100644
--- a/pkgs/development/libraries/leveldb/default.nix
+++ b/pkgs/development/libraries/leveldb/default.nix
@@ -1,27 +1,34 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchFromGitHub, sqlite, kyotocabinet }:
 
 stdenv.mkDerivation rec {
-  name = "leveldb-1.15.0";
+  name = "leveldb-${version}";
+  version = "1.18";
 
-  src = fetchurl {
-    url = "https://leveldb.googlecode.com/files/${name}.tar.gz";
-    sha256 = "10363j8qmlyh971ipb7fmgk9b97bl5267c0xyccrgvpj3rbyri6p";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "leveldb";
+    rev = "v${version}";
+    sha256 = "1bnsii47vbyqnbah42qgq6pbmmcg4k3fynjnw7whqfv6lpdgmb8d";
   };
 
-  buildPhase = "make all db_bench";
+  buildInputs = [ sqlite kyotocabinet ];
+
+  buildPhase = ''
+    make all db_bench{,_sqlite3,_tree_db} leveldbutil
+  '';
 
   installPhase = "
-    mkdir -p $out/lib/
-    cp libleveldb* $out/lib/
-    mkdir -p $out/include/
-    cp -r include $out/
-    mkdir -p $out/bin/
-    cp db_bench $out/lib/
+    mkdir -p $out/{bin,lib,include}
+    cp -r include $out
+    cp lib* $out/lib
+    cp db_bench{,_sqlite3,_tree_db} leveldbutil $out/bin
   ";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "https://code.google.com/p/leveldb/";
     description = "Fast and lightweight key/value database library by Google";
-    license = "BSD";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/levmar/default.nix b/pkgs/development/libraries/levmar/default.nix
index 4e6dd6d5b02..c5b0c715620 100644
--- a/pkgs/development/libraries/levmar/default.nix
+++ b/pkgs/development/libraries/levmar/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
         
 stdenv.mkDerivation rec {
-  name = "levmar-2.5";
+  name = "levmar-2.6";
 
   src = fetchurl {
     url = "http://www.ics.forth.gr/~lourakis/levmar/${name}.tgz";
-    sha256 = "0xcx9fvymr0j5kmfy5cqaa2lxf1c64vv25z2a28w43pkxz1nl3xp";
+    sha256 = "1mxsjip9x782z6qa6k5781wjwpvj5aczrn782m9yspa7lhgfzx1v";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/lgi/default.nix b/pkgs/development/libraries/lgi/default.nix
deleted file mode 100644
index 663185831f6..00000000000
--- a/pkgs/development/libraries/lgi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, lua, glib }:
-
-stdenv.mkDerivation {
-  name = "lgi-0.7.2";
-
-  src = fetchurl {
-    url    = https://github.com/pavouk/lgi/archive/0.7.2.tar.gz;
-    sha256 = "0ihl7gg77b042vsfh0k7l53b7sl3d7mmrq8ns5lrsf71dzrr19bn";
-  };
-
-  meta = with stdenv.lib; {
-    description = "Gobject-introspection based dynamic Lua binding to GObject based libraries";
-    homepage    = https://github.com/pavouk/lgi;
-    license     = "custom";
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
-  };
-
-  buildInputs = [ glib gobjectIntrospection lua pkgconfig ];
-
-  preBuild = ''
-    sed -i "s|/usr/local|$out|" lgi/Makefile
-  '';
-}
diff --git a/pkgs/development/libraries/libHX/default.nix b/pkgs/development/libraries/libHX/default.nix
new file mode 100644
index 00000000000..31dfe6085ee
--- /dev/null
+++ b/pkgs/development/libraries/libHX/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libHX-3.21";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libhx/libHX/3.21/${name}.tar.xz";
+    sha256 = "0wcr6kbhsw6v4js7q4p7fhli37c39dv1rryjf768rkwshl2z8f6v";
+  };
+
+  patches = [];
+
+  buildInputs = [ autoconf automake libtool ];
+
+  preConfigure = ''
+    sh autogen.sh
+    '';
+
+  meta = {
+    homepage = http://libhx.sourceforge.net/;
+    longDescription = ''
+      libHX is a C library (with some C++ bindings available) that provides data structures
+      and functions commonly needed, such as maps, deques, linked lists, string formatting
+      and autoresizing, option and config file parsing, type checking casts and more.
+      '';
+    maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libLAS/default.nix b/pkgs/development/libraries/libLAS/default.nix
new file mode 100644
index 00000000000..c67b3701ec9
--- /dev/null
+++ b/pkgs/development/libraries/libLAS/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip }:
+
+stdenv.mkDerivation rec {
+  name = "libLAS-1.8.0";
+
+  src = fetchurl {
+
+    url = "http://download.osgeo.org/liblas/${name}.tar.bz2";
+    md5 = "599881281d45db4ce9adb2d75458391e";
+  };
+
+  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip];
+
+
+  meta = {
+    description = "LAS 1.0/1.1/1.2 ASPRS LiDAR data translation toolset";
+    homepage = http://www.liblas.org;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.michelk ];
+  };
+}
diff --git a/pkgs/development/libraries/libaacs/default.nix b/pkgs/development/libraries/libaacs/default.nix
index d8ace22bc2d..717dae8fb25 100644
--- a/pkgs/development/libraries/libaacs/default.nix
+++ b/pkgs/development/libraries/libaacs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libgcrypt}:
+{ stdenv, fetchurl, libgcrypt, yacc, flex }:
 
 # library that allows libbluray to play AACS protected bluray disks
 # libaacs does not infringe DRM's right or copyright. See the legal page of the website for more info.
@@ -9,7 +9,7 @@
 
 
 let baseName = "libaacs";
-    version  = "0.3.0";
+    version  = "0.8.0";
 in
 
 stdenv.mkDerivation {
@@ -17,14 +17,17 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.videolan.org/pub/videolan/${baseName}/${version}/${baseName}-${version}.tar.bz2";
-    sha256 = "bf92dab1a6a8ee08a55e8cf347c2cda49e6535b52e85bb1e92e1cfcc8ecec22c";
+    sha256 = "155sah8z4vbp6j3sq9b17mcn6rj1938ijszz97m8pd2cgif58i2y";
   };
 
-  buildInputs = [libgcrypt];
+  buildInputs = [ libgcrypt ];
 
-  meta = {
+  nativeBuildInputs = [ yacc flex ];
+
+  meta = with stdenv.lib; {
     homepage = http://www.videolan.org/developers/libbluray.html;
     description = "Library to access Blu-Ray disks for video playback";
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/libaal/default.nix b/pkgs/development/libraries/libaal/default.nix
index 596b8e2e84c..36d1ddc7151 100644
--- a/pkgs/development/libraries/libaal/default.nix
+++ b/pkgs/development/libraries/libaal/default.nix
@@ -1,11 +1,12 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "libaal-1.0.5";
+stdenv.mkDerivation rec {
+  version = "1.0.6";
+  name = "libaal-${version}";
 
   src = fetchurl {
-    url = http://chichkin_i.zelnet.ru/namesys/libaal-1.0.5.tar.gz;
-    sha256 = "109f464hxwms90mpczc7h7lmrdlcmlglabkzh86h25xrlxxdn6pz";
+    url = "mirror://sourceforge/reiser4/${name}.tar.gz";
+    sha256 = "176f2sns6iyxv3h9zyirdinjwi05gdak48zqarhib2s38rvm98di";
   };
 
   preInstall = ''
@@ -15,5 +16,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.namesys.com/;
     description = "Support library for Reiser4";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libantlr3c/default.nix b/pkgs/development/libraries/libantlr3c/default.nix
new file mode 100644
index 00000000000..5f0b1ccd18e
--- /dev/null
+++ b/pkgs/development/libraries/libantlr3c/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "libantlr3c-3.4";
+  src = fetchurl {
+    url = http://www.antlr3.org/download/C/libantlr3c-3.4.tar.gz;
+    sha256 ="0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa";
+  };
+
+  configureFlags = if stdenv.is64bit then "--enable-64bit" else "";
+
+  meta = with stdenv.lib; {
+    description = "C runtime libraries of ANTLR v3";
+    homepage = http://www.antlr3.org/;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix
index 401573378ee..44e800b6f1e 100644
--- a/pkgs/development/libraries/libao/default.nix
+++ b/pkgs/development/libraries/libao/default.nix
@@ -1,14 +1,15 @@
 { lib, stdenv, fetchurl, pkgconfig, pulseaudio, alsaLib
 , usePulseAudio }:
 
-stdenv.mkDerivation {
-  name = "libao-1.1.0";
+stdenv.mkDerivation rec {
+  version = "1.2.0";
+  name = "libao-${version}";
   src = fetchurl {
-    url = http://downloads.xiph.org/releases/ao/libao-1.1.0.tar.gz;
-    sha256 = "1m0v2y6bhr4iwsgdkc7b3y0qgpvpv1ifbxsy8n8ahsvjn6wmppi9";
+    url = "http://downloads.xiph.org/releases/ao/${name}.tar.gz";
+    sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83";
   };
 
-  buildInputs = 
+  buildInputs =
     [ pkgconfig ] ++
     lib.optional stdenv.isLinux (if usePulseAudio then [ pulseaudio ] else [ alsaLib ]);
 
@@ -19,6 +20,7 @@ stdenv.mkDerivation {
       platforms.
     '';
     homepage = http://xiph.org/ao/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libasr/default.nix b/pkgs/development/libraries/libasr/default.nix
new file mode 100644
index 00000000000..b919aef5658
--- /dev/null
+++ b/pkgs/development/libraries/libasr/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libevent, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "libasr-${version}";
+  version=  "1.0.1";
+
+  src = fetchurl {
+    url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
+    sha256 = "10h1c9b58msbggns8k2m0857zmbldb0x8ghk3aay88yn2bip2916";
+  };
+
+  buildInputs = [ libevent openssl ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/OpenSMTPD/libasr;
+    description = "Free, simple and portable asynchronous resolver library";
+    license = licenses.isc;
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/development/libraries/libass/default.nix b/pkgs/development/libraries/libass/default.nix
index 15b80053218..2a9af50fcde 100644
--- a/pkgs/development/libraries/libass/default.nix
+++ b/pkgs/development/libraries/libass/default.nix
@@ -1,34 +1,53 @@
 { stdenv, fetchurl, pkgconfig, yasm
-, freetype, fribidi, fontconfig
-, enca ? null
-, harfbuzz ? null
+, freetype ? null
+, fribidi ? null
+, encaSupport ? true, enca ? null # enca support
+, fontconfigSupport ? true, fontconfig ? null # fontconfig support
+, harfbuzzSupport ? true, harfbuzz ? null # harfbuzz support
+, rasterizerSupport ? false # Internal rasterizer
+, largeTilesSupport ? false # Use larger tiles in the rasterizer
 }:
 
+assert ((freetype != null) && (fribidi != null));
+assert encaSupport -> (enca != null);
+assert fontconfigSupport -> (fontconfig != null);
+assert harfbuzzSupport -> (harfbuzz != null);
+
 let
-  version = "0.11.1";
-  sha256 = "1b0ki1zdkhflszzj5qr45j9qsd0rfbb6ws5pqkny8jhih0l3lxwx";
-  baseurl = "https://github.com/libass/libass/releases/download";
-in stdenv.mkDerivation rec {
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+in
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
   name = "libass-${version}";
+  version = "0.12.1";
 
   src = fetchurl {
-    url = "${baseurl}/${version}/${name}.tar.xz";
-    inherit sha256;
+    url = "https://github.com/libass/libass/releases/download/${version}/${name}.tar.xz";
+    sha256 = "1mwj2nk9g6cq6f8m1hf0ijg1299rghhy9naahqq43sc2whblb1l7";
   };
 
+  configureFlags = [
+    (mkFlag encaSupport "enca")
+    (mkFlag fontconfigSupport "fontconfig")
+    (mkFlag harfbuzzSupport "harfbuzz")
+    (mkFlag rasterizerSupport "rasterizer")
+    (mkFlag largeTilesSupport "large-tiles")
+  ];
+
   nativeBuildInputs = [ pkgconfig yasm ];
 
-  buildInputs = [
-    freetype fribidi fontconfig
-    enca harfbuzz
-  ];
+  buildInputs = [ freetype fribidi ]
+    ++ optional encaSupport enca
+    ++ optional fontconfigSupport fontconfig
+    ++ optional harfbuzzSupport harfbuzz;
 
   meta = {
     description = "Portable ASS/SSA subtitle renderer";
-    homepage = http://code.google.com/p/libass/;
-    license = stdenv.lib.licenses.isc;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
+    homepage    = https://github.com/libass/libass;
+    license     = licenses.isc;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ codyopel urkud ];
     repositories.git = git://github.com/libass/libass.git;
   };
 }
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 90ce4f970e3..e625334cefa 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pth, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libassuan-2.1.1";
+  name = "libassuan-2.2.0";
 
   src = fetchurl {
     url = "mirror://gnupg/libassuan/${name}.tar.bz2";
-    sha256 = "1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3";
+    sha256 = "1ikf9whfi7rg71qa610ynyv12qrw20zkn7zxgvvr9dp41gbqxxbx";
   };
 
   propagatedBuildInputs = [ libgpgerror pth ];
diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix
index 0e8dae7bb91..35ffe6d5fa5 100644
--- a/pkgs/development/libraries/libatomic_ops/default.nix
+++ b/pkgs/development/libraries/libatomic_ops/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
     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.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 0cbda2e1405..d0a40d7e8d0 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -26,17 +26,17 @@ with { inherit (stdenv.lib) optional optionals; };
 
 let
   result = {
-    libav_0_8 = libavFun "0.8.13" "1fr3rzykrlm1cla0csm9hqa3gcqp19hf5rgn70nyb9w92r67v685";
-    libav_9   = libavFun   "9.16" "18378gdgzqsxaacc9vl7ligwndbdvy95wbn50hs8xvdqn1rn916a";
-    libav_10  = libavFun  "10.4"  "1zzvjfdlv9swhq7dzvli1pk8cn02q1076ax9m3cx9ipilbg21639";
+    libav_0_8 = libavFun "0.8.17" "31ace2daeb8c105deed9cd3476df47318d417714";
+    libav_9   = libavFun   "9.18" "e10cde4587c4d4d3bb11d30c7b47e953664cd714";
+    libav_11  = libavFun  "11.3"  "d9d4fd0ffeda7a244b31968c01d72f0042a56f7a";
   };
 
-  libavFun = version : sha256 : stdenv.mkDerivation rec {
+  libavFun = version : sha1 : stdenv.mkDerivation rec {
     name = "libav-${version}";
 
     src = fetchurl {
       url = "${meta.homepage}/releases/${name}.tar.xz";
-      inherit sha256;
+      inherit sha1; # upstream directly provides sha1 of releases over https
     };
     configureFlags =
       assert stdenv.lib.all (x: x!=null) buildInputs;
@@ -77,12 +77,12 @@ let
 
     enableParallelBuilding = true;
 
-    outputs = [ "dev" "out" "bin" ];
+    outputs = [ "dev" "out" "bin" ]; #TODO: re-check
 
+    # move avplay to get rid of the SDL dependency in the main output
     postInstall = ''
       mkdir -p "$bin/bin"
       mv "$out/bin/avplay" "$bin/bin"
-      cp -s "$out"/bin/* "$bin/bin/"
     '';
 
     doInstallCheck = false; # fails randomly
diff --git a/pkgs/development/libraries/libbladeRF/default.nix b/pkgs/development/libraries/libbladeRF/default.nix
new file mode 100644
index 00000000000..18bb9f002e5
--- /dev/null
+++ b/pkgs/development/libraries/libbladeRF/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, pkgconfig, cmake, git, doxygen, help2man, tecla, libusb1, udev }:
+
+stdenv.mkDerivation rec {
+  version = "1.1.0";
+  name = "libbladeRF-v${version}";
+
+  src = fetchgit {
+    url = "https://github.com/Nuand/bladeRF/";
+    rev = "refs/tags/libbladeRF_v${version}";
+    sha256 = "19qd26yflig51scknyjf3r3nmnc2bni75294jpsv0idzqfj87lbr";
+    name = "libbladeRF_v${version}-checkout";
+  };
+
+  buildInputs = [ pkgconfig cmake git doxygen help2man tecla libusb1 udev ];
+
+  # Fixup shebang
+  prePatch = "patchShebangs host/utilities/bladeRF-cli/src/cmd/doc/generate.bash";
+
+  # Let us avoid nettools as a dependency.
+  patchPhase = ''
+    sed -i 's/$(hostname)/hostname/' host/utilities/bladeRF-cli/src/cmd/doc/generate.bash
+    sed -i 's/ --no-info/ --no-info --no-discard-stderr/' host/utilities/bladeRF-cli/CMakeLists.txt
+  '';
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Debug"
+    "-DUDEV_RULES_PATH=$out/etc/udev/rules.d"
+    "-DINSTALL_UDEV_RULES=ON"
+    "-DBUILD_DOCUMENTATION=ON"
+  ];
+
+  meta = {
+    homepage = "https://www.nuand.com/";
+    description = "Supporting library of the BladeRF SDR opensource hardware";
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = [ stdenv.lib.maintainers.funfunctor ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/libbluray/A01-filter-dup.patch b/pkgs/development/libraries/libbluray/A01-filter-dup.patch
deleted file mode 100644
index 608f8dd1b49..00000000000
--- a/pkgs/development/libraries/libbluray/A01-filter-dup.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c
-index c8dc307..26d0000 100644
---- a/src/libbluray/bdnav/navigation.c
-+++ b/src/libbluray/bdnav/navigation.c
-@@ -32,9 +32,25 @@
- #include <stdlib.h>
- #include <string.h>
- 
-+static int _stream_cmp(MPLS_STREAM *a, MPLS_STREAM *b)
-+{
-+    if (a->stream_type == b->stream_type &&
-+        a->coding_type == b->coding_type &&
-+        a->pid         == b->pid         &&
-+        a->subpath_id  == b->subpath_id  &&
-+        a->subclip_id  == b->subclip_id  &&
-+        a->format      == b->format      &&
-+        a->rate        == b->rate        &&
-+        a->char_code   == b->char_code   &&
-+        memcmp(a->lang, b->lang, 4) == 0) {
-+        return 1;
-+    }
-+    return 0;
-+}
-+
- static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
- {
--    unsigned ii, jj;
-+    unsigned ii, jj, kk;
- 
-     for (ii = 0; ii < count; ii++) {
-         if (pl->list_count != pl_list[ii]->list_count) {
-@@ -54,7 +70,48 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
-                 pi1->out_time != pi2->out_time) {
-                 break;
-             }
-+            if (pi1->stn.num_video           != pi2->stn.num_video           ||
-+                pi1->stn.num_audio           != pi2->stn.num_audio           ||
-+                pi1->stn.num_pg              != pi2->stn.num_pg              || 
-+                pi1->stn.num_ig              != pi2->stn.num_ig              ||
-+                pi1->stn.num_secondary_audio != pi2->stn.num_secondary_audio ||
-+                pi1->stn.num_secondary_video != pi2->stn.num_secondary_video) {
-+                break;
-+            }
-+            for (kk = 0; kk < pi1->stn.num_video; kk++) {
-+                if (!_stream_cmp(&pi1->stn.video[kk], &pi2->stn.video[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_audio; kk++) {
-+                if (!_stream_cmp(&pi1->stn.audio[kk], &pi2->stn.audio[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_pg; kk++) {
-+                if (!_stream_cmp(&pi1->stn.pg[kk], &pi2->stn.pg[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_ig; kk++) {
-+                if (!_stream_cmp(&pi1->stn.ig[kk], &pi2->stn.ig[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_secondary_audio; kk++) {
-+                if (!_stream_cmp(&pi1->stn.secondary_audio[kk],
-+                                 &pi2->stn.secondary_audio[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_secondary_video; kk++) {
-+                if (!_stream_cmp(&pi1->stn.secondary_video[kk],
-+                                 &pi2->stn.secondary_video[kk])) {
-+                    goto next;
-+                }
-+            }
-         }
-+next:
-         if (jj != pl->list_count) {
-             continue;
-         }
diff --git a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
new file mode 100644
index 00000000000..64f0e74084f
--- /dev/null
+++ b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
@@ -0,0 +1,25 @@
+diff --git a/configure.ac b/configure.ac
+index 3609d88..48c6bc6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -227,6 +227,7 @@ if [[ $use_bdjava = "yes" ]]; then
+   AC_DEFINE([USING_BDJAVA], [1], ["Define to 1 if using BD-Java"])
+   AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$java_arch"], ["Defines the architecture of the java vm."])
+   AC_DEFINE_UNQUOTED([JDK_HOME], ["$JDK_HOME"], [""])
++  CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'"
+ fi
+ AM_CONDITIONAL([USING_BDJAVA], [ test $use_bdjava = "yes" ])
+ 
+diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c
+index c622801..f4aab9b 100644
+--- a/src/libbluray/bdj/bdj.c
++++ b/src/libbluray/bdj/bdj.c
+@@ -210,7 +210,7 @@ static const char *_find_libbluray_jar(void)
+ #ifdef _WIN32
+         "" BDJ_JARFILE,
+ #else
+-        "/usr/share/java/" BDJ_JARFILE,
++        JARDIR "/" BDJ_JARFILE,
+ #endif
+     };
+ 
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index f0eea80e89d..170c4e46188 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -1,37 +1,60 @@
-{stdenv, fetchgit, autoconf, automake, libtool, libaacs ? null, jdk ? null, ant ? null, withAACS ? false}:
-
-assert withAACS -> jdk != null && ant != null && libaacs != null;
+{ stdenv, fetchurl, pkgconfig, fontconfig
+, withAACS ? false, libaacs ? null, jdk ? null, ant ? null
+, withMetadata ? true, libxml2 ? null
+, withFonts ? true, freetype ? null
+# Need to run autoreconf hook after BDJ jarfile patch
+, autoreconfHook ? null
+}:
+
+assert withAACS -> jdk != null && ant != null && libaacs != null && autoreconfHook != null;
+assert withMetadata -> libxml2 != null;
+assert withFonts -> freetype != null;
 
 # Info on how to use:
 # https://wiki.archlinux.org/index.php/BluRay
 
-let baseName = "libbluray";
-    version  = "0.2.1";
+stdenv.mkDerivation rec {
+  baseName = "libbluray";
+  version  = "0.7.0";
+  name = "${baseName}-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.videolan.org/pub/videolan/${baseName}/${version}/${name}.tar.bz2";
+    sha256 = "13dngs4b4cv29f6b825dq14n77mfhvk1kjb42axpq494pfgyp6zp";
+  };
 
-in
+  nativeBuildInputs = with stdenv.lib;
+                      [pkgconfig]
+                      ++ optional withAACS ant
+                      ;
 
-stdenv.mkDerivation {
-  name = "${baseName}-${version}p1";
+  buildInputs =  with stdenv.lib;
+                 [fontconfig]
+              ++ optionals withAACS [ jdk autoreconfHook ]
+              ++ optional withMetadata libxml2
+              ++ optional withFonts freetype
+              ;
 
-  src = fetchgit {
-    url = git://git.videolan.org/libbluray.git;
-    rev = "3b9a9f044644a6abe9cb09377f714ded9fdd6c87";
-    sha256 = "551b623e76c2dba44b5490fb42ccdc491b28cd42841de28237b8edbed0f0711c";
-  };
+  propagatedBuildInputs = stdenv.lib.optional withAACS libaacs;
 
-  nativeBuildInputs = [autoconf automake libtool];
-  buildInputs = stdenv.lib.optionals withAACS [jdk ant libaacs];
-  NIX_LDFLAGS = stdenv.lib.optionalString withAACS "-laacs";
+  preConfigure = stdenv.lib.optionalString withAACS ''
+    export JDK_HOME=${jdk.home}
+    export LIBS="$LIBS -L${libaacs} -laacs"
+  '';
 
-  preConfigure = "./bootstrap";
-  configureFlags = ["--disable-static"] ++ stdenv.lib.optionals withAACS ["--enable-bdjava" "--with-jdk=${jdk}"];
+  configureFlags =  with stdenv.lib;
+                    optional withAACS "--enable-bdjava"
+                 ++ optional (! withMetadata) "--without-libxml2"
+                 ++ optional (! withFonts) "--without-freetype"
+                 ;
 
-  # From Handbrake
-  patches = [ ./A01-filter-dup.patch ];
+  # Fix search path for BDJ jarfile
+  patches = stdenv.lib.optional withAACS ./BDJ-JARFILE-path.patch;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.videolan.org/developers/libbluray.html;
     description = "Library to access Blu-Ray disks for video playback";
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 758f86e5f9a..bc88d8dc12c 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
-let name = "libbsd-0.3.0";
+let name = "libbsd-0.7.0";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = "http://libbsd.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "fbf36ed40443e1d0d795adbae8d461952509e610c3ccf0866ae160b723f7fe38";
+    url = "http://libbsd.freedesktop.org/releases/${name}.tar.xz";
+    sha256 = "1fqhbi0vd6xjxazf633x388cc8qyn58l78704s0h6k63wlbhwfqg";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
deleted file mode 100644
index 32035709d8f..00000000000
--- a/pkgs/development/libraries/libc++/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi, python }:
-
-let
-  version = "3.4.2";
-
-in stdenv.mkDerivation rec {
-  name = "libc++-${version}";
-
-  src = fetchurl {
-    url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.gz";
-    sha256 = "0z3jdvgcq995khkpis5c5vaxhbmvbqjlalbhn09k6pgb5zp46rc2";
-  };
-
-  buildInputs = [ cmake libcxxabi python ];
-
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release"
-                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include"
-                 "-DLIBCXX_CXX_ABI=libcxxabi" ];
-
-  enableParallelBuilding = true;
-
-  passthru.abi = libcxxabi;
-
-  meta = {
-    homepage = http://libcxx.llvm.org/;
-    description = "A new implementation of the C++ standard library, targeting C++11";
-    license = "BSD";
-    maintainers = stdenv.lib.maintainers.shlevy;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix
deleted file mode 100644
index 8218cbb966f..00000000000
--- a/pkgs/development/libraries/libc++abi/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchsvn, libcxx, libunwind }:
-let
-  rev = "199626";
-in stdenv.mkDerivation {
-  name = "libcxxabi-pre-${rev}";
-
-  src = fetchsvn {
-    url = http://llvm.org/svn/llvm-project/libcxxabi/trunk;
-    rev = "199626";
-    sha256 = "0h1x1s40x5r65ar53rv34lmgcfil3zxaknqr64dka1mz29xhhrxy";
-  };
-
-  NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind";
-
-  postUnpack = ''
-    unpackFile ${libcxx.src}
-    export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include"
-  '';
-
-  installPhase = ''
-    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
-  '';
-
-  patchPhase = "sed -e s,-lstdc++,, -i lib/buildit";
-
-  buildPhase = "(cd lib; ./buildit)";
-
-  meta = {
-    homepage = http://libcxxabi.llvm.org/;
-    description = "A new implementation of low level support for a standard C++ library";
-    license = "BSD";
-    maintainers = stdenv.lib.maintainers.shlevy;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix
index f183d9c3cd0..496af1be88e 100644
--- a/pkgs/development/libraries/libcaca/default.nix
+++ b/pkgs/development/libraries/libcaca/default.nix
@@ -1,20 +1,23 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "libcaca-0.99.beta18";
-  
+  name = "libcaca-0.99.beta19";
+
   src = fetchurl {
-    url = "http://caca.zoy.org/files/libcaca/${name}.tar.gz";
-    sha256 = "189kdh7zi88gxb3w33rh0p5l0yhn7s1c2xjgrpf24q2a7xihdskp";
+    urls = [
+      "http://fossies.org/linux/privat/${name}.tar.gz"
+      "http://caca.zoy.org/files/libcaca/${name}.tar.gz"
+    ];
+    sha256 = "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj";
   };
-  
+
   configureFlags = "--disable-x11 --disable-imlib2 --disable-doc";
-  
+
   propagatedBuildInputs = [ncurses];
 
   meta = {
     homepage = http://libcaca.zoy.org/;
     description = "A graphics library that outputs text instead of pixels";
-    license = "WTFPL"; # http://sam.zoy.org/wtfpl/
+    license = stdenv.lib.licenses.wtfpl;
   };
 }
diff --git a/pkgs/development/libraries/libcdio/0.82.nix b/pkgs/development/libraries/libcdio/0.82.nix
index db4af40afbd..2b4be7ae230 100644
--- a/pkgs/development/libraries/libcdio/0.82.nix
+++ b/pkgs/development/libraries/libcdio/0.82.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A library for OS-independent CD-ROM and CD image access";
     longDescription = ''
-      GNU libcdio is a library for OS-idependent CD-ROM and
+      GNU libcdio is a library for OS-independent CD-ROM and
       CD image access.  It includes a library for working with
       ISO-9660 filesystems (libiso9660), as well as utility
       programs such as an audio CD player and an extractor.
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index ac7b428bfb0..4188306128e 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "libcdio-0.92";
+  name = "libcdio-0.93";
   
   src = fetchurl {
-    url = "mirror://gnu/libcdio/${name}.tar.gz";
-    sha256 = "1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik";
+    url = "mirror://gnu/libcdio/${name}.tar.bz2";
+    sha256 = "1a6x2c5bvpnkn7lhmxkjgz4axmh93m1clrlv41s1wzkc48lnc9zq";
   };
 
   buildInputs = [ libcddb pkgconfig ncurses help2man ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A library for OS-independent CD-ROM and CD image access";
     longDescription = ''
-      GNU libcdio is a library for OS-idependent CD-ROM and
+      GNU libcdio is a library for OS-independent CD-ROM and
       CD image access.  It includes a library for working with
       ISO-9660 filesystems (libiso9660), as well as utility
       programs such as an audio CD player and an extractor.
diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix
index 23fafb44c81..21666ed3034 100644
--- a/pkgs/development/libraries/libcdr/default.nix
+++ b/pkgs/development/libraries/libcdr/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
+  configureFlags = if (stdenv.cc.cc.isClang or false)
+    then [ "--disable-werror" ] else null;
+
   CXXFLAGS="--std=gnu++0x"; # For c++11 constants in lcms2.h
 
   meta = {
diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix
new file mode 100644
index 00000000000..6eca14767c5
--- /dev/null
+++ b/pkgs/development/libraries/libcec/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, udev }:
+
+let version = "2.2.0"; in
+
+stdenv.mkDerivation {
+  name = "libcec-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Pulse-Eight/libcec/archive/libcec-${version}-repack.tar.gz";
+    sha256 = "1kdfak8y96v14d5vp2apkjjs0fvvim9phc0nkhlq5pjlagk8v32x";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig udev ];
+
+  # Fix dlopen path
+  patchPhase = ''
+    substituteInPlace include/cecloader.h --replace "libcec.so" "$out/lib/libcec.so"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Allows you (with the right hardware) to control your device with your TV remote control using existing HDMI cabling";
+    homepage = "http://libcec.pulse-eight.com";
+    repositories.git = "https://github.com/Pulse-Eight/libcec.git";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.titanous ];
+  };
+}
diff --git a/pkgs/development/libraries/libcello/default.nix b/pkgs/development/libraries/libcello/default.nix
index 4a7bc56568e..f45fb378374 100644
--- a/pkgs/development/libraries/libcello/default.nix
+++ b/pkgs/development/libraries/libcello/default.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = "http://libcello.org/";
+    homepage = http://libcello.org/;
     description = "Higher level programming in C";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libchamplain/0.6.nix b/pkgs/development/libraries/libchamplain/0.6.nix
deleted file mode 100644
index a2b35a72651..00000000000
--- a/pkgs/development/libraries/libchamplain/0.6.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk, cairo, clutter, sqlite
-, clutter_gtk_0_10, libsoup /*, libmenphis */ }:
-
-stdenv.mkDerivation rec {
-  name = "libchamplain-0.6.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/libchamplain/0.6/${name}.tar.gz";
-    sha256 = "1l1in4khnral157j46aq2d26nviz23icnm353587vcwjhdbw86sg";
-  };
-
-  buildInputs = [ pkgconfig ];
-
-  # These all appear in `champlain{,-gtk}-0.6.pc'.
-  propagatedBuildInputs =
-    [ glib gtk cairo clutter clutter_gtk_0_10 sqlite libsoup ];
-
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
-
-  meta = {
-    homepage = http://projects.gnome.org/libchamplain/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-
-    description = "libchamplain, a C library providing a ClutterActor to display maps";
-
-    longDescription =
-      '' libchamplain is a C library providing a ClutterActor to display
-         maps.  It also provides a Gtk+ widget to display maps in Gtk+
-         applications.  Python and Perl bindings are also available.  It
-         supports numerous free map sources such as OpenStreetMap,
-         OpenCycleMap, OpenAerialMap, and Maps for free.
-      '';
-
-     maintainers = [ ];
-     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/libraries/libchardet/default.nix b/pkgs/development/libraries/libchardet/default.nix
new file mode 100644
index 00000000000..f7834c56b63
--- /dev/null
+++ b/pkgs/development/libraries/libchardet/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "libchardet-1.0.4";
+  
+  src = fetchurl {
+    url = "ftp://ftp.oops.org/pub/oops/libchardet/${name}.tar.bz2";
+    sha256 = "0cvwba4la25qw70ap8jd5r743a9jshqd26nnbh5ph68zj1imlgzl";
+  };
+
+  nativeBuildInputs = [ perl ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's Universal Charset Detector C/C++ API";
+    homepage = ftp://ftp.oops.org/pub/oops/libchardet/index.html;
+    license = licenses.mpl11;
+    maintainers = [ maintainers.abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index 37af9756724..e57d1f29606 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     homepage = http://nongnu.org/libchop/;
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ ludo viric ];
+    maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/development/libraries/libclc/default.nix b/pkgs/development/libraries/libclc/default.nix
new file mode 100644
index 00000000000..c41e2e0a70b
--- /dev/null
+++ b/pkgs/development/libraries/libclc/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchsvn, python, llvm, clang }:
+
+stdenv.mkDerivation {
+  name = "libclc-2015-03-27";
+
+  src = fetchsvn {
+    url = "http://llvm.org/svn/llvm-project/libclc/trunk";
+    rev = "233456";
+    sha256 = "0g56kgffc1qr9rzhcjr4w8kljcicg0q828s9b4bmfzjvywd7hhr0";
+  };
+
+  buildInputs = [ python llvm clang ];
+
+  postPatch = ''
+    sed -i 's,llvm_clang =.*,llvm_clang = "${clang}/bin/clang",' configure.py
+    sed -i 's,cxx_compiler =.*,cxx_compiler = "${clang}/bin/clang++",' configure.py
+  '';
+
+  configurePhase = ''
+    python2 ./configure.py --prefix=$out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://libclc.llvm.org/;
+    description = "implementation of the library requirements of the OpenCL C programming language";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libcli/default.nix b/pkgs/development/libraries/libcli/default.nix
new file mode 100644
index 00000000000..dd0de49a4bd
--- /dev/null
+++ b/pkgs/development/libraries/libcli/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+let version = "1.9.7"; in
+stdenv.mkDerivation rec {
+  name = "libcli-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "08pmjhqkwldhmcwjhi2l27slf1fk6nxxfaihnk2637pqkycy8z0c";
+    rev = "v${version}";
+    repo = "libcli";
+    owner = "dparrish";
+  };
+
+  enableParallelBuilding = true;
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "Emulate a Cisco-style telnet command-line interface";
+    homepage = http://sites.dparrish.com/libcli;
+    license = with licenses; lgpl21Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
new file mode 100644
index 00000000000..841edd3dff6
--- /dev/null
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, autoconf, automake, libtool,
+pkgconfig, perl, git, libevent, openssl}:
+
+stdenv.mkDerivation {
+  name = "libcouchbase-2.4.4";
+  src = fetchgit {
+    url = "https://github.com/couchbase/libcouchbase.git";
+    rev = "4410eebcd813844b6cd6f9c7eeb4ab3dfa2ab8ac";
+    sha256 = "02lzv5l6fvnqr2l9bqfha0pzkzlzjfddn3w5zcbjz36kw4p2p4h9";
+    leaveDotGit = true;
+  };
+
+  preConfigure = ''
+    patchShebangs ./config/
+    ./config/autorun.sh
+  '';
+
+  configureFlags = "--disable-couchbasemock";
+
+  buildInputs = [ autoconf automake libtool pkgconfig perl git libevent openssl];
+
+  meta = {
+    description = "C client library for Couchbase.";
+    homepage = "https://github.com/couchbase/libcouchbase";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libctemplate/2.2.nix b/pkgs/development/libraries/libctemplate/2.2.nix
new file mode 100644
index 00000000000..36652f7abc7
--- /dev/null
+++ b/pkgs/development/libraries/libctemplate/2.2.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  meta = {
+    description = "A simple but powerful template language for C++";
+    longDescription = ''
+      CTemplate is a simple but powerful template language for C++. It
+      emphasizes separating logic from presentation: it is impossible to
+      embed application logic in this template language.  '';
+    homepage = http://code.google.com/p/google-ctemplate/;
+    license = "bsd";
+  };
+
+  pname = "ctemplate";
+  version = "2.2";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://ctemplate.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0vv8gvyndppm9m5s1i5k0jvwcz41l1vfgg04r7nssdpzyz0cpwq4";
+  };
+}
diff --git a/pkgs/development/libraries/libctemplate/default.nix b/pkgs/development/libraries/libctemplate/default.nix
index 36652f7abc7..142025c1e51 100644
--- a/pkgs/development/libraries/libctemplate/default.nix
+++ b/pkgs/development/libraries/libctemplate/default.nix
@@ -1,22 +1,29 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchsvn, python }:
 
 stdenv.mkDerivation rec {
+  name = "ctemplate-${version}";
+
+  version = "2.3";
+
+  src = fetchsvn {
+    url = "http://ctemplate.googlecode.com/svn/tags/${name}";
+    sha256 = "1kvh82mhazf4qz7blnv0rcax7vi524dmz6v6rp89z2h3qjilbvc7";
+  };
+
+  buildInputs = [ python ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
   meta = {
     description = "A simple but powerful template language for C++";
     longDescription = ''
       CTemplate is a simple but powerful template language for C++. It
       emphasizes separating logic from presentation: it is impossible to
-      embed application logic in this template language.  '';
+      embed application logic in this template language.
+    '';
     homepage = http://code.google.com/p/google-ctemplate/;
     license = "bsd";
   };
-
-  pname = "ctemplate";
-  version = "2.2";
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "http://ctemplate.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0vv8gvyndppm9m5s1i5k0jvwcz41l1vfgg04r7nssdpzyz0cpwq4";
-  };
 }
diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix
index 6f61d9b3cad..8836b0bffa2 100644
--- a/pkgs/development/libraries/libdbi-drivers/default.nix
+++ b/pkgs/development/libraries/libdbi-drivers/default.nix
@@ -1,31 +1,62 @@
-{ stdenv, fetchurl, libdbi, mysql ? null, sqlite ? null }:
+{ stdenv, fetchurl, libdbi
+, mysql ? null, sqlite ? null, postgresql ? null
+}:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "libdbi-drivers-0.8.3-1";
+  name = "libdbi-drivers-0.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/libdbi-drivers/${name}.tar.gz";
-    sha256 = "0wng59xnq8jjyp6f3bfjrhjvqrswamrjykdnxq6rqxnfk11r9faa";
+    sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3";
   };
 
-  buildInputs = [ libdbi mysql sqlite ];
-
-  configureFlags =
-    [ "--disable-docs"
-      "--enable-libdbi"
-      "--with-dbi-incdir=${libdbi}/include"
-      "--with-dbi-libdir=${libdbi}/lib"
-    ] ++ stdenv.lib.optionals (mysql != null)
-    [ "--with-mysql"
-      "--with-mysql-incdir=${mysql}/include/mysql"
-      "--with-mysql-libdir=${mysql}/lib/mysql"
-    ] ++ stdenv.lib.optionals (sqlite != null)
-    [ "--with-sqlite3"
-      "--with-sqlite3-incdir=${sqlite}/include/sqlite"
-      "--with-sqlite3-libdir=${sqlite}/lib/sqlite"
-    ];
+  buildInputs = [ libdbi sqlite postgresql ]
+    ++ optional (mysql != null) mysql.lib;
+
+  postPatch = ''
+    sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure;
+  '';
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--disable-docs"
+    "--enable-libdbi"
+    "--with-dbi-incdir=${libdbi}/include"
+    "--with-dbi-libdir=${libdbi}/lib"
+  ] ++ optionals (mysql != null) [
+    "--with-mysql"
+    "--with-mysql-incdir=${mysql.lib}/include/mysql"
+    "--with-mysql-libdir=${mysql.lib}/lib/mysql"
+  ] ++ optionals (postgresql != null) [
+    "--with-pgsql"
+    "--with-pgsql_incdir=${postgresql}/include"
+    "--with-pgsql_libdir=${postgresql}/lib"
+  ] ++ optionals (sqlite != null) [
+    "--with-sqlite3"
+    "--with-sqlite3-incdir=${sqlite}/include/sqlite"
+    "--with-sqlite3-libdir=${sqlite}/lib/sqlite"
+  ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  postInstall = ''
+    mv $out/$out/* $out
+    DIR=$out/$out
+    while rmdir $DIR 2>/dev/null; do
+      DIR="$(dirname "$DIR")"
+    done
+
+    # Remove the unneeded var/lib directories
+    rm -rf $out/var
+  '';
     
   meta = {
+    homepage = http://libdbi-drivers.sourceforge.net/;
     description = "Database drivers for libdbi";
+    platforms = platforms.all;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libdbi/default.nix b/pkgs/development/libraries/libdbi/default.nix
index 11bb4965a4e..4f6b9dd099d 100644
--- a/pkgs/development/libraries/libdbi/default.nix
+++ b/pkgs/development/libraries/libdbi/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libdbi-0.8.3";
+  name = "libdbi-0.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/libdbi/${name}.tar.gz";
-    sha256 = "1qx5d5ikx65k73ir9rf557ri6j99ihsnjqqyznqsf7dvprb1ir3j";
+    sha256 = "00s5ra7hdlq25iv23nwf4h1v3kmbiyzx0v9bhggjiii4lpf6ryys";
   };
 
-  configureFlags = "--disable-docs";
-
-  meta = {
+  meta = with stdenv.lib; {
+    homepage = http://libdbi.sourceforge.net/;
     description = "DB independent interface to DB";
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt5.nix
new file mode 100644
index 00000000000..5f76162453c
--- /dev/null
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt5.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchbzr, qt5, cmake }:
+
+stdenv.mkDerivation {
+  name = "libdbusmenu-qt-0.9.3+14";
+
+  src = fetchbzr {
+    url = "http://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
+    rev = "ps-jenkins@lists.canonical.com-20140619090718-mppiiax5atpnb8i2";
+    sha256 = "1dbhaljyivbv3wc184zpjfjmn24zb6aj72wgg1gg1xl5f783issd";
+  };
+
+  buildInputs = [ qt5.base ];
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = "-DWITH_DOC=OFF";
+
+  meta = with stdenv.lib; {
+    homepage = "http://launchpad.net/libdbusmenu-qt";
+    description = "Provides a Qt implementation of the DBusMenu spec";
+    maintainers = [ maintainers.ttuegel ];
+    inherit (qt5.base.meta) platforms;
+  };
+}
diff --git a/pkgs/development/libraries/libdc1394/default.nix b/pkgs/development/libraries/libdc1394/default.nix
index bc5f6a1d7a0..1d6b00abe53 100644
--- a/pkgs/development/libraries/libdc1394/default.nix
+++ b/pkgs/development/libraries/libdc1394/default.nix
@@ -1,20 +1,21 @@
 { stdenv, fetchurl, libraw1394, libusb1 }:
 
 stdenv.mkDerivation rec {
-  name = "libdc1394-2.2.1";
+  name = "libdc1394-2.2.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/libdc1394/${name}.tar.gz";
-    sha256 = "1wkcx4ff094qba1fwllmlr81i7xg7l8dzq7y7pvy3wlbpwd3634j";
+    sha256 = "1p9b4ciy97s04gmp7656cybr1zfd79hlw0ffhfb52m3zcn07h6aa";
   };
 
-  buildInputs = [ libraw1394 libusb1 ];
+  buildInputs = [ libusb1 ]
+    ++ stdenv.lib.optional stdenv.isLinux [ libraw1394 ];
 
   meta = {
     homepage = http://sourceforge.net/projects/libdc1394/;
     description = "Capture and control API for IIDC compliant cameras";
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix
index d3053b4d2a5..abc7dd3af40 100644
--- a/pkgs/development/libraries/libdevil/default.nix
+++ b/pkgs/development/libraries/libdevil/default.nix
@@ -16,12 +16,22 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-ILU" "--enable-ILUT" ];
 
+  preConfigure = ''
+    sed -i 's, -std=gnu99,,g' configure
+    sed -i 's,malloc.h,stdlib.h,g' src-ILU/ilur/ilur.c
+  '';
+
+  postConfigure = ''
+    sed -i '/RESTRICT_KEYWORD/d' include/IL/config.h
+  '';
+
   patches =
     [ ( fetchurl {
         url = http://patch-tracker.debian.org/patch/series/dl/devil/1.7.8-6.1/03_CVE-2009-3994.diff;
         sha256 = "0qkx2qfv02igbrmsn6z5a3lbrbwjfh3rb0c2sj54wy0j1f775hbc";
       } )
       ./ftbfs-libpng15.patch
+      ./il_endian.h.patch
     ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libdevil/il_endian.h.patch b/pkgs/development/libraries/libdevil/il_endian.h.patch
new file mode 100644
index 00000000000..c220e6802fd
--- /dev/null
+++ b/pkgs/development/libraries/libdevil/il_endian.h.patch
@@ -0,0 +1,27 @@
+Source: http://sourceforge.net/p/resil/tickets/8/
+--- devil-1.7.8.orig/src-IL/include/il_endian.h.orig	2009-03-08 01:10:08.000000000 -0600
++++ devil-1.7.8/src-IL/include/il_endian.h	2013-11-03 01:52:37.000000000 -0600
+@@ -19,9 +19,13 @@
+ 	#ifndef __BIG_ENDIAN__
+ 	#define __BIG_ENDIAN__ 1
+ 	#endif
++#else
++	#ifndef __LITTLE_ENDIAN__
++	#define __LITTLE_ENDIAN__ 1
++	#endif
+ #endif
+ 
+-#if (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __BIG_ENDIAN__) \
++#if (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) \
+   || (defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__))
+  	#undef __LITTLE_ENDIAN__
+ 	#define Short(s) iSwapShort(s)
+@@ -39,8 +43,6 @@
+ 	#define BigDouble(d)  
+ #else
+ 	#undef __BIG_ENDIAN__
+-	#undef __LITTLE_ENDIAN__  // Not sure if it's defined by any compiler...
+-	#define __LITTLE_ENDIAN__
+ 	#define Short(s)  
+ 	#define UShort(s)  
+ 	#define Int(i)  
diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix
index acd930ddd01..2bdeffb204d 100644
--- a/pkgs/development/libraries/libdnet/default.nix
+++ b/pkgs/development/libraries/libdnet/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Provides a simplified, portable interface to several low-level networking routines";
     homepage = http://code.google.com/p/libdnet/;
-    license = "BSD"; # New BSD license
+    license = stdenv.lib.licenses.bsd3;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index a2bfa08c0da..c3608c1aea3 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.56";
+  name = "libdrm-2.4.60";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "0c20wpfa94d8kww0f2xinmm4axsl4nhq921xj4i88yhpjbhbn3z2";
+    sha256 = "12cqnmssi6mbr93n29mm84k8wix5nx6zs82k7wcmj7z3r335ymwr";
   };
 
   outputs = [ "dev" "out" ];
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin
     "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
-  configureFlags = stdenv.lib.optional stdenv.isLinux "--enable-udev"
+  configureFlags = [ "--enable-freedreno" ]
+    ++ stdenv.lib.optional stdenv.isLinux "--enable-udev"
     ++ stdenv.lib.optional stdenv.isDarwin "-C";
 
   crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix
index 40fa337bd66..8632da12c73 100644
--- a/pkgs/development/libraries/libdvdcss/default.nix
+++ b/pkgs/development/libraries/libdvdcss/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "libdvdcss-1.2.13";
+  name = "libdvdcss-1.3.0";
   
   src = fetchurl {
-    url = http://download.videolan.org/pub/libdvdcss/1.2.13/libdvdcss-1.2.13.tar.bz2;
-    sha256 = "0b5s25awn2md4jr00rwg5siwvi3kivyaxkjgfxzzh7ggrykbpwc4";
+    url = http://download.videolan.org/pub/libdvdcss/1.3.0/libdvdcss-1.3.0.tar.bz2;
+    sha256 = "158k9zagmbk5bkbz96l6lwhh7xcgfcnzflkr4vblskhcab6llhbw";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libe-book/0.0.nix b/pkgs/development/libraries/libe-book/0.0.nix
deleted file mode 100644
index 2dc8de67039..00000000000
--- a/pkgs/development/libraries/libe-book/0.0.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{stdenv, fetchurl, gperf, pkgconfig, librevenge, libxml2, boost, icu, cppunit
-, libwpd}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="libe-book";
-    version="0.0.3";
-    name="${baseName}-${version}";
-    hash="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i";
-    url="mirror://sourceforge/project/libebook/libe-book-0.0.3/libe-book-0.0.3.tar.xz";
-    sha256="06xhg319wbqrkj8914npasv5lr7k2904mmy7wa78063mkh31365i";
-  };
-  buildInputs = [
-    gperf pkgconfig librevenge libxml2 boost icu cppunit libwpd
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
-  meta = {
-    inherit (s) version;
-    description = ''Library for import of reflowable e-book formats'';
-    license = stdenv.lib.licenses.lgpl21Plus ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/libe-book/0.0.upstream b/pkgs/development/libraries/libe-book/0.0.upstream
deleted file mode 100644
index e2994f52691..00000000000
--- a/pkgs/development/libraries/libe-book/0.0.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url http://sourceforge.net/projects/libebook/files/
-SF_version_dir libe-book-0.0.
-version_link '[.]tar.xz/download$'
-SF_redirect
diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix
index 6dc384de204..81264b562b4 100644
--- a/pkgs/development/libraries/libe-book/default.nix
+++ b/pkgs/development/libraries/libe-book/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libe-book";
-    version="0.1.1";
+    version="0.1.2";
     name="${baseName}-${version}";
-    hash="0awv96q92qgxk22w2vrf4vg90cab5qfsrkbhgz252722mrkd5p4a";
-    url="mirror://sourceforge/project/libebook/libe-book-0.1.1/libe-book-0.1.1.tar.xz";
-    sha256="0awv96q92qgxk22w2vrf4vg90cab5qfsrkbhgz252722mrkd5p4a";
+    hash="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
+    url="mirror://sourceforge/project/libebook/libe-book-0.1.2/libe-book-0.1.2.tar.xz";
+    sha256="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
   };
   buildInputs = [
     gperf pkgconfig librevenge libxml2 boost icu cppunit
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index a2065111190..818177ff49d 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libebml-1.3.0";
+  name = "libebml-1.3.1";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2";
-    sha256 = "1plnh2dv8k9s4d06c2blv2sl8bnz6d6shvj0h00al597nvb79c43";
+    sha256 = "15a2d15rq0x9lp7rfsv0jxaw5c139xs7s5dwr5bmd9dc3arr8n0r";
   };
 
-  configurePhase = "cd make/linux";
-  makeFlags = "prefix=$(out)";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Extensible Binary Meta Language library";
+    license = licenses.lgpl21;
     homepage = http://dl.matroska.org/downloads/libebml/;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/development/libraries/libechonest/default.nix b/pkgs/development/libraries/libechonest/default.nix
new file mode 100644
index 00000000000..42a3c5f243b
--- /dev/null
+++ b/pkgs/development/libraries/libechonest/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, cmake, qt4, qjson, doxygen, boost }:
+
+stdenv.mkDerivation rec {
+  name = "libechonest-${version}";
+  version = "2.3.0";
+
+  src = fetchurl {
+    url = "http://files.lfranchi.com/${name}.tar.bz2";
+    sha1 = "cf1b279c96f15c87c36fdeb23b569a60cdfb01db";
+  };
+
+  buildInputs = [ cmake qt4 qjson doxygen boost ];
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A C++/Qt wrapper around the Echo Nest API";
+    homepage = "http://projects.kde.org/projects/playground/libs/libechonest";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index 1382af16484..9eee0d40654 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -1,24 +1,21 @@
 { stdenv, fetchurl, ncurses, groff }:
 
 stdenv.mkDerivation rec {
-  name = "libedit-20130712-3.1";
+  name = "libedit-20140620-3.1";
 
   src = fetchurl {
     url = "http://www.thrysoee.dk/editline/${name}.tar.gz";
-    sha256 = "0dwav34041sariyl00nr106xmn123bnxir4qpn5y47vgssfim6sx";
+    sha256 = "1wnapwcpl4yq8p95j898jl0hsr39if28qzm5a7zwkbplihm9nax2";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
   NROFF = "${groff}/bin/nroff";
 
   postInstall = ''
-    sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
+    sed -i ${stdenv.lib.optionalString (stdenv.isDarwin && stdenv.cc.nativeTools) "''"} s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
   '';
 
-  # taken from gentoo http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libedit/files/
-  patches = [ ./freebsd.patch ./freebsd_weak_ref.patch ];
-
-  configureFlags = "--enable-widec";
+  configureFlags = [ "--enable-widec" ];
 
   propagatedBuildInputs = [ ncurses ];
 
diff --git a/pkgs/development/libraries/libee/default.nix b/pkgs/development/libraries/libee/default.nix
index c3c73381acd..f3ea67ce93e 100644
--- a/pkgs/development/libraries/libee/default.nix
+++ b/pkgs/development/libraries/libee/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = http://www.libee.org/download/files/download/libee-0.4.1.tar.gz;
-    md5 = "7bbf4160876c12db6193c06e2badedb2";
+    sha256 = "09xhgzmsq0g3jsyj24vy67bhzk2fv971w5ixdkhfwgar70cw1nn0";
   };
 
   buildInputs = [pkgconfig libestr];
diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix
index e6a691df363..686b444e430 100644
--- a/pkgs/development/libraries/libelf/default.nix
+++ b/pkgs/development/libraries/libelf/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, gettext }:
+{ fetchurl, stdenv, gettext, glibc }:
 
 stdenv.mkDerivation rec {
   name = "libelf-0.8.13";
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
   };
 
   doCheck = true;
+  
+  # For cross-compiling, native glibc is needed for the "gencat" program.
+  crossAttrs = {
+    nativeBuildInputs = [ glibc ];
+  };
 
   # Libelf's custom NLS macros fail to determine the catalog file extension on
   # Darwin, so disable NLS for now.
diff --git a/pkgs/development/libraries/libestr/default.nix b/pkgs/development/libraries/libestr/default.nix
index 271311cf46c..ad37f9010c5 100644
--- a/pkgs/development/libraries/libestr/default.nix
+++ b/pkgs/development/libraries/libestr/default.nix
@@ -1,8 +1,18 @@
 { stdenv, fetchurl }:
-stdenv.mkDerivation {
-  name = "libestr-0.1.9";
+
+stdenv.mkDerivation rec {
+  name = "libestr-0.1.10";
+
   src = fetchurl {
-    url = http://libestr.adiscon.com/files/download/libestr-0.1.9.tar.gz;
-    sha256 = "06km9mlw5qq4aa7503l81d0qcghzl0n3lh0z41r1xjpa04nnwb42";
+    url = "http://libestr.adiscon.com/files/download/${name}.tar.gz";
+    sha256 = "0g3hmh3wxgjbn5g6cgy2l0ja806jd0ayp22bahcds3kmdq95wrdx";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://libestr.adiscon.com/;
+    description = "some essentials for string handling";
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libetpan/default.nix b/pkgs/development/libraries/libetpan/default.nix
new file mode 100644
index 00000000000..aa201106e3c
--- /dev/null
+++ b/pkgs/development/libraries/libetpan/default.nix
@@ -0,0 +1,24 @@
+{ autoconf, automake, fetchgit, libtool, stdenv, openssl }:
+
+let version = "1.6"; in
+
+stdenv.mkDerivation {
+  name = "libetpan-${version}";
+
+  src = fetchgit {
+    url = "git://github.com/dinhviethoa/libetpan";
+    rev = "refs/tags/" + version;
+    sha256 = "12n0vd0bwdyjcmwmpv1hdq5l04mqy6qfyy8mhsblddqaa1ah9qy8";
+  };
+
+  buildInputs = [ autoconf automake libtool openssl ];
+
+  configureScript = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    description = "An efficient, portable library for different kinds of mail access: IMAP, SMTP, POP, and NNTP";
+    homepage = http://www.etpan.org/libetpan.html;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libev/default.nix b/pkgs/development/libraries/libev/default.nix
index b0c74c9e54c..90cab2cc687 100644
--- a/pkgs/development/libraries/libev/default.nix
+++ b/pkgs/development/libraries/libev/default.nix
@@ -1,26 +1,16 @@
-a :  
-let 
-  s = import ./src-for-default.nix;
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
+{ stdenv, fetchurl }:
 
-  inherit (s) name;
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
+stdenv.mkDerivation rec {
+  name = "libev-${version}";
+  version="4.19";
+  src = fetchurl {
+    url = "http://dist.schmorp.de/libev/${name}.tar.gz";
+    sha256 = "1jyw7qbl0spxqa0dccj9x1jsw7cj7szff43cq4acmklnra4mzz48";
+  };
   meta = {
-    description = "An event loop library remotely similar to libevent";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux ++ freebsd;
+    description = "A high-performance event loop/event model with lots of features";
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.bsd2; # or GPL2+
   };
 }
diff --git a/pkgs/development/libraries/libev/src-for-default.nix b/pkgs/development/libraries/libev/src-for-default.nix
deleted file mode 100644
index 3e4f58a5ce0..00000000000
--- a/pkgs/development/libraries/libev/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="4.15";
-   name="libev-4.15";
-   hash="1svgc1hq4i5zsw4i02sf7xb4pk2d8kpvc1gdrd856vsmffh47pdj";
-   url="http://dist.schmorp.de/libev/Attic/libev-${version}.tar.gz";
-   advertisedUrl="http://dist.schmorp.de/libev/Attic/libev-4.15.tar.gz";
-  
-  
-}
diff --git a/pkgs/development/libraries/libev/src-info-for-default.nix b/pkgs/development/libraries/libev/src-info-for-default.nix
deleted file mode 100644
index e14ca419550..00000000000
--- a/pkgs/development/libraries/libev/src-info-for-default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  downloadPage = "http://dist.schmorp.de/libev/Attic/?M=D";
-  sourceRegexp = "(^|/)libev-.*[.]tar[.]gz";
-  baseName = "libev";
-}
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index 2776a3c0614..fd16866ccee 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.2";
+  name = "libevdev-1.3.1";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "0h54ym5rsmicl4gx7gcdaifpyndakbl38c5dcxgr27f0cy0635a1";
+    sha256 = "0hr6xjp7vcnr7lnr1il03235rcslqb95yv7j88qh51q0bwcpcz2b";
   };
 
   buildInputs = [ python ];
 
   meta = with stdenv.lib; {
     description = "Wrapper library for evdev devices";
-    homepage = http://www.freedesktop.org/software/libevdev/doc/latest/index.html; 
+    homepage = http://www.freedesktop.org/software/libevdev/doc/latest/index.html;
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.amorsillo ];
diff --git a/pkgs/development/libraries/libevhtp/default.nix b/pkgs/development/libraries/libevhtp/default.nix
new file mode 100644
index 00000000000..f909d6d8ff2
--- /dev/null
+++ b/pkgs/development/libraries/libevhtp/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, openssl, libevent }:
+
+stdenv.mkDerivation rec {
+  name = "libevhtp-${version}";
+  version = "1.2.10";
+
+  src = fetchFromGitHub {
+    owner = "ellzey";
+    repo = "libevhtp";
+    rev = version;
+    sha256 = "0z5cxa65zp89vkaj286gp6fpmc5fylr8bmd17g3j1rgc42nysm6a";
+  };
+
+  buildInputs = [ cmake openssl libevent ];
+
+  buildPhase = "cmake";
+
+  meta = with stdenv.lib; {
+    description = "A more flexible replacement for libevent's httpd API";
+    homepage = "https://github.com/ellzey/libevhtp";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ edwtjo ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix
index 7c948aa9824..fad0170ade7 100644
--- a/pkgs/development/libraries/libewf/default.nix
+++ b/pkgs/development/libraries/libewf/default.nix
@@ -1,10 +1,11 @@
-{ fetchurl, stdenv, zlib, openssl, libuuid, file }:
+{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse }:
 
 stdenv.mkDerivation rec {
-  name = "libewf-20100226";
+  version = "20140608";
+  name = "libewf-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/libewf/${name}.tar.gz";
-    sha256 = "aedd2a6b3df6525ff535ab95cd569ebb361a4022eb4163390f26257913c2941a";
+    url = "https://googledrive.com/host/0B3fBvzttpiiSMTdoaVExWWNsRjg/libewf-20140608.tar.gz";
+    sha256 = "0wfsffzxk934hl8cpwr14w8ixnh8d23x0xnnzcspjwi2c7730h6i";
   };
 
   preConfigure = ''sed -e 's@/usr/bin/file@file@g' -i configure'';
@@ -14,6 +15,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Library for support of the Expert Witness Compression Format";
     homepage = http://sourceforge.net/projects/libewf/;
-    license = "free";
+    license = stdenv.lib.licenses.lgpl3;
+    maintainers = [ stdenv.lib.maintainers.raskin ] ;
+    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/libewf/default.upstream b/pkgs/development/libraries/libewf/default.upstream
new file mode 100644
index 00000000000..a071132463f
--- /dev/null
+++ b/pkgs/development/libraries/libewf/default.upstream
@@ -0,0 +1,7 @@
+url https://code.google.com/p/libewf/
+version_link 'googledrive[.]com'
+version_link '[.]tar[.]'
+do_overwrite () {
+  do_overwrite_just_version
+  set_var_value url "$CURRENT_URL"
+}
diff --git a/pkgs/development/libraries/libf2c/default.nix b/pkgs/development/libraries/libf2c/default.nix
index 3f800c2086e..3123bb33d45 100644
--- a/pkgs/development/libraries/libf2c/default.nix
+++ b/pkgs/development/libraries/libf2c/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "F2c converts Fortran 77 source code to C";
     homepage = http://www.netlib.org/f2c/;
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libfakekey/default.nix b/pkgs/development/libraries/libfakekey/default.nix
new file mode 100644
index 00000000000..4e74762f3f9
--- /dev/null
+++ b/pkgs/development/libraries/libfakekey/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, libX11, libXi, libXtst, pkgconfig, xextproto }:
+
+stdenv.mkDerivation rec {
+  name = "libfakekey-${version}";
+  version = "0.1";
+
+  src = fetchurl {
+    url = "http://downloads.yoctoproject.org/releases/matchbox/libfakekey/0.1/${name}.tar.gz";
+    sha256 = "10msplyn535hmzbmbdnx4zc20hkaw6d81if5lzxs82k8sq2mkx9k";
+  };
+
+  buildInputs = [ libX11 libXi libXtst pkgconfig xextproto ];
+
+  meta = with stdenv.lib; {
+    description = "X virtual keyboard library";
+    homepage = https://www.yoctoproject.org/tools-resources/projects/matchbox;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix
new file mode 100644
index 00000000000..7d430614257
--- /dev/null
+++ b/pkgs/development/libraries/libfaketime/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libfaketime-0.9.6";
+
+  src = fetchurl {
+    url = "http://www.code-wizards.com/projects/libfaketime/${name}.tar.gz";
+    sha256 = "1dw2lqsv2iqwxg51mdn25b4fjj3v357s0mc6ahxawqp210krg29s";
+  };
+
+  preBuild = ''
+    makeFlagsArray+=(PREFIX="$out" LIBDIRNAME=/lib)
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Report faked system time to programs without having to change the system-wide time";
+    homepage = http://www.code-wizards.com/projects/libfaketime/;
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 69c8aab6450..f0226eaaac7 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -1,42 +1,39 @@
 { fetchurl, stdenv, dejagnu }:
 
 stdenv.mkDerivation rec {
-  name = "libffi-3.0.13";
+  name = "libffi-3.2.1";
 
   src = fetchurl {
     url = "ftp://sourceware.org/pub/libffi/${name}.tar.gz";
-    sha256 = "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x";
+    sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh";
   };
 
-  patches = stdenv.lib.optional (stdenv.needsPax) ./libffi-3.0.13-emutramp_pax_proc.patch;
-
   outputs = [ "dev" "out" "doc" ];
 
-  buildInputs = [ ]
-    ++ stdenv.lib.optional doCheck dejagnu;
+  buildInputs = stdenv.lib.optional doCheck dejagnu;
 
   configureFlags = [
     "--with-gcc-arch=generic" # no detection of -march= or -mtune=
-  ] ++ stdenv.lib.optional (stdenv.needsPax) "--enable-pax_emutramp";
+    "--enable-pax_emutramp"
+  ];
 
   doCheck = stdenv.isLinux; # until we solve dejagnu problems on darwin and expect on BSD
 
   dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
 
-  postInstall =
-    # Install headers and libs in the right places.
-    ''  mv "$out"/lib64/* "$out/lib"
-        rmdir "$out/lib64"
-        ln -s lib "$out/lib64"
+  # Install headers and libs in the right places.
+  postInstall = ''
+    mv "$out"/lib64/* "$out/lib"
+    rmdir "$out/lib64"
+    ln -s lib "$out/lib64"
 
-        mkdir -p "$dev/"
-        mv "$out/lib/${name}/include" "$dev/include"
-        rmdir "$out/lib/${name}"
-    '';
+    mkdir -p "$dev/"
+    mv "$out/lib/${name}/include" "$dev/include"
+    rmdir "$out/lib/${name}"
+  '';
 
   meta = {
     description = "A foreign function call interface library";
-
     longDescription = ''
       The libffi library provides a portable, high level programming
       interface to various calling conventions.  This allows a
@@ -51,14 +48,10 @@ stdenv.mkDerivation rec {
       interface.  A layer must exist above libffi that handles type
       conversions for values passed between the two languages.
     '';
-
     homepage = http://sourceware.org/libffi/;
-
     # See http://github.com/atgreen/libffi/blob/master/LICENSE .
-    license = "free, non-copyleft";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    license = stdenv.lib.licenses.free;
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch b/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch
deleted file mode 100644
index c27bd9bf889..00000000000
--- a/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-2013-05-22  Magnus Granberg  <zorry@gentoo.org>
-
-	#457194
-	* src/closuer.c (emutramp_enabled_check): Check with /proc.
-
---- a/src/closures.c	2013-03-17 23:27:11.000000000 +0100
-+++ b/src/closures.c	2013-04-29 23:26:02.279022022 +0200
-@@ -181,10 +181,26 @@ static int emutramp_enabled = -1;
- static int
- emutramp_enabled_check (void)
- {
--  if (getenv ("FFI_DISABLE_EMUTRAMP") == NULL)
--    return 1;
--  else
-+  char *buf = NULL;
-+  size_t len = 0;
-+  FILE *f;
-+  int ret;
-+  f = fopen ("/proc/self/status", "r");
-+  if (f == NULL)
-     return 0;
-+  ret = 0;
-+
-+  while (getline (&buf, &len, f) != -1)
-+    if (!strncmp (buf, "PaX:", 4))
-+      {
-+        char emutramp;
-+        if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
-+          ret = (emutramp == 'E');
-+        break;
-+      }
-+  free (buf);
-+  fclose (f);
-+  return ret;
- }
- 
- #define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \
diff --git a/pkgs/development/libraries/libfixposix/default.nix b/pkgs/development/libraries/libfixposix/default.nix
index 19c2d2a6b80..078a2ab0733 100644
--- a/pkgs/development/libraries/libfixposix/default.nix
+++ b/pkgs/development/libraries/libfixposix/default.nix
@@ -13,7 +13,7 @@ let
   sourceInfo = rec {
     method="fetchgit";
     baseName="libfixposix"; 
-    url="git://gitorious.org/${baseName}/${baseName}";
+    url="https://github.com/sionescu/libfixposix";
     rev="30b75609d858588ea00b427015940351896867e9";
     version="git-${rev}";
     name="${baseName}-${version}";
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index 7a005c9fda2..efa9b90e869 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala }:
-
+{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala
+, extraOnly ? false }:
+let
+    inherit (stdenv.lib) optional;
+in
 stdenv.mkDerivation {
-  name = "libfm-1.2.0";
+  name = if extraOnly then "libfm-extra-1.2.3" else "libfm-1.2.3";
   src = fetchurl {
-    url = "mirror://sourceforge/pcmanfm/libfm-1.2.0.tar.xz";
-    sha256 = "08pwdrmfm9rl41lj2niyjqq2bdvydxk7v2shjxh5gk1xwj238lgh";
+    url = "mirror://sourceforge/pcmanfm/libfm-1.2.3.tar.xz";
+    sha256 = "1ygvw52262r3jp1f45m9cdpx5xgvd4rkyfszslfqvg2c99ig34n6";
   };
 
-  buildInputs = [ glib gtk intltool menu-cache pango pkgconfig vala ];
+  buildInputs = [ glib gtk intltool pango pkgconfig vala ]
+                ++ optional (!extraOnly) menu-cache;
+
+  configureFlags = optional extraOnly "--with-extra-only";
 
   meta = with stdenv.lib; {
     homepage = "http://blog.lxde.org/?cat=28/";
-    license = licenses.gpl2Plus;
+    license = licenses.lgpl21Plus;
     description = "A glib-based library for file management";
     maintainers = [ maintainers.ttuegel ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
new file mode 100644
index 00000000000..aad6214f2d4
--- /dev/null
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libusb, pixman, glib, nss, nspr, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "libfprint-0.6.0";
+
+  src = fetchurl {
+    url = "http://people.freedesktop.org/~hadess/${name}.tar.xz";
+    sha256 = "1giwh2z63mn45galsjb59rhyrvgwcy01hvvp4g01iaa2snvzr0r5";
+  };
+
+  buildInputs = [ libusb pixman glib nss nspr gdk_pixbuf ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags = [ "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.freedesktop.org/wiki/Software/fprint/libfprint/";
+    description = "A library designed to make it easy to add support for consumer fingerprint readers";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/libfpx/default.nix b/pkgs/development/libraries/libfpx/default.nix
new file mode 100644
index 00000000000..2540d22b8d4
--- /dev/null
+++ b/pkgs/development/libraries/libfpx/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libfpx-1.3.1-4";
+
+  src = fetchurl {
+    url = "mirror://imagemagick/delegates/${name}.tar.xz";
+    sha256 = "0pbvxbp30zqjpc0q71qbl15cb47py74c4d6a8qv1mqa6j81pb233";
+  };
+
+  # Darwin gets misdetected as Windows without this
+  NIX_CFLAGS_COMPILE = if stdenv.isDarwin then "-D__unix" else null;
+
+  # This dead code causes a duplicate symbol error in Clang so just remove it
+  postPatch = if (stdenv.cc.cc.isClang or false) then ''
+    substituteInPlace jpeg/ejpeg.h --replace "int No_JPEG_Header_Flag" ""
+  '' else null;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.imagemagick.org;
+    description = "A library for manipulating FlashPIX images";
+    license = "Flashpix";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libfreefare/default.nix b/pkgs/development/libraries/libfreefare/default.nix
new file mode 100644
index 00000000000..17afa9423b0
--- /dev/null
+++ b/pkgs/development/libraries/libfreefare/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, libnfc, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "libfreefare-${version}";
+  version = "0.4.0";
+
+  src = fetchurl {
+    url = "https://libfreefare.googlecode.com/files/libfreefare-0.4.0.tar.bz2";
+    sha256 = "0r5wfvwgf35lb1v65wavnwz2wlfyfdims6a9xpslf4lsm4a1v8xz";
+  };
+
+  buildInputs = [ pkgconfig libnfc openssl ];
+
+  meta = with stdenv.lib; {
+    description = "The libfreefare project aims to provide a convenient API for MIFARE card manipulations";
+    license = licenses.gpl3;
+    homepage = http://code.google.com/p/libfreefare/;
+    maintainers = with maintainers; [bobvanderlinden];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index 273bdb3136e..cd0a2a3c473 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -9,11 +9,11 @@ assert pythonSupport -> python != null && swig != null;
 assert docSupport -> doxygen != null;
 
 stdenv.mkDerivation rec {
-  name = "libftdi1-1.1";
+  name = "libftdi1-1.2";
   
   src = fetchurl {
     url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
-    sha256 = "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0";
+    sha256 = "1ml8hiahnqm4z0xzyjv8kyrkzvhw6l431c3jndg026cjh9f7ksm6";
   };
 
   buildInputs = with stdenv.lib; [ cmake pkgconfig confuse ]
diff --git a/pkgs/development/libraries/libgcrypt/1.6.nix b/pkgs/development/libraries/libgcrypt/1.6.nix
index ced3b723b13..39160675a2a 100644
--- a/pkgs/development/libraries/libgcrypt/1.6.nix
+++ b/pkgs/development/libraries/libgcrypt/1.6.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libgpgerror, transfig, ghostscript, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libgcrypt-1.6.1";
+  name = "libgcrypt-1.6.3";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "0w10vhpj1r5nq7qm6jp21p1v1vhf37701cw8yilygzzqd7mfzhx1";
+    sha256 = "0pq2nwfqgggrsh8rk84659d80vfnlkbphwqjwahccd5fjdxr3d21";
   };
 
   nativeBuildInputs = [ transfig ghostscript texinfo ];
@@ -18,12 +18,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # For some reason the tests don't find `libgpg-error.so'.
-  checkPhase = ''
-    LD_LIBRARY_PATH="${libgpgerror}/lib:$LD_LIBRARY_PATH" \
-    make check
-  '';
-
   crossAttrs = let
     isCross64 = stdenv.cross.config == "x86_64-w64-mingw32";
   in stdenv.lib.optionalAttrs isCross64 {
@@ -31,7 +25,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "GNU Libgcrypt, a general-pupose cryptographic library";
+    description = "General-pupose cryptographic library";
 
     longDescription = ''
       GNU Libgcrypt is a general purpose cryptographic library based on
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index f47d3a62729..af231632022 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,15 +1,17 @@
 { fetchurl, stdenv, libgpgerror }:
 
 stdenv.mkDerivation (rec {
-  name = "libgcrypt-1.5.3";
+  name = "libgcrypt-1.5.4";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw";
+    sha256 = "d5f88d9f41a46953dc250cdb8575129b37ee2208401b7fa338c897f667c7fb33";
   };
 
   propagatedBuildInputs = [ libgpgerror ];
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-asm";
+
   doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18
 
   # For some reason the tests don't find `libgpg-error.so'.
@@ -18,6 +20,8 @@ stdenv.mkDerivation (rec {
     make check
   '';
 
+  patches = [ ./no-build-timestamp.patch ];
+
   meta = {
     description = "General-pupose cryptographic library";
 
diff --git a/pkgs/development/libraries/libgcrypt/no-build-timestamp.patch b/pkgs/development/libraries/libgcrypt/no-build-timestamp.patch
new file mode 100644
index 00000000000..89777338723
--- /dev/null
+++ b/pkgs/development/libraries/libgcrypt/no-build-timestamp.patch
@@ -0,0 +1,12 @@
+diff -ur libgcrypt-1.5.3.orig/configure libgcrypt-1.5.3/configure
+--- libgcrypt-1.5.3.orig/configure	2013-07-25 11:22:47.000000000 +0200
++++ libgcrypt-1.5.3/configure	2014-04-09 00:17:58.659147199 +0200
+@@ -16520,6 +16520,7 @@
+ 
+ 
+ BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
++BUILD_TIMESTAMP=1970-01-01T00:01+0000
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+Only in libgcrypt-1.5.3: out
diff --git a/pkgs/development/libraries/libgdiplus/giflib.patch b/pkgs/development/libraries/libgdiplus/giflib.patch
index b1135f47f3a..7b90d9863fd 100644
--- a/pkgs/development/libraries/libgdiplus/giflib.patch
+++ b/pkgs/development/libraries/libgdiplus/giflib.patch
@@ -1,8 +1,7 @@
-diff --git a/src/gifcodec.c b/src/gifcodec.c
-index 8dee0eb..564beed 100644
+diff -Naur libgdiplus-2.10.9-orig/src/gifcodec.c libgdiplus-2.10.9/src/gifcodec.c
 --- src/gifcodec.c
 +++ src/gifcodec.c
-@@ -39,8 +39,10 @@ GUID gdip_gif_image_format_guid = {0xb96b3cb0U, 0x0728U, 0x11d3U, {0x9d, 0x7b, 0
+@@ -39,8 +39,10 @@
  
  #include "gifcodec.h"
  
@@ -13,7 +12,7 @@ index 8dee0eb..564beed 100644
  
  /* Data structure used for callback */
  typedef struct
-@@ -105,7 +107,7 @@ gdip_gif_inputfunc (GifFileType *gif, GifByteType *data, int len)
+@@ -105,7 +107,7 @@
  */
  
  static int
@@ -22,7 +21,7 @@ index 8dee0eb..564beed 100644
  {
  	ExtensionBlock	*ep;
  
-@@ -129,7 +131,7 @@ AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[])
+@@ -129,7 +131,7 @@
  
  	if (ExtData) {
  		memcpy(ep->Bytes, ExtData, Len);
@@ -31,7 +30,7 @@ index 8dee0eb..564beed 100644
  	}
  
  	return (GIF_OK);
-@@ -232,20 +234,20 @@ DGifSlurpMono(GifFileType * GifFile, SavedImage *TrailingExtensions)
+@@ -232,20 +234,20 @@
  			}
  
  			case EXTENSION_RECORD_TYPE: {
@@ -55,7 +54,7 @@ index 8dee0eb..564beed 100644
  				}
  				break;
  			}
-@@ -303,12 +305,19 @@ gdip_load_gif_image (void *stream, GpImage **image, BOOL from_file)
+@@ -303,12 +305,19 @@
  	result = NULL;
  	loop_counter = FALSE;
  
@@ -76,7 +75,25 @@ index 8dee0eb..564beed 100644
  	if (gif == NULL) {
  		goto error;
  	}
-@@ -660,11 +669,22 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file)
+@@ -581,7 +590,7 @@
+ 	}
+ 
+ 	FreeExtensionMono(&global_extensions);
+-	DGifCloseFile (gif);
++	DGifCloseFile (gif, NULL);
+ 
+ 	*image = result;
+ 	return Ok;
+@@ -597,7 +606,7 @@
+ 
+ 	if (gif != NULL) {
+ 		FreeExtensionMono (&global_extensions);
+-		DGifCloseFile (gif);
++		DGifCloseFile (gif, NULL);
+ 	}
+ 
+ 	*image = NULL;
+@@ -660,11 +669,22 @@
  		return InvalidParameter;
  	}
  
@@ -99,7 +116,7 @@ index 8dee0eb..564beed 100644
  		
  	if (!fp) {
  		return FileNotFound;
-@@ -848,8 +868,15 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file)
+@@ -848,8 +868,15 @@
  						Buffer[0] = 1;
  						Buffer[1] = ptr[0];
  						Buffer[2] = ptr[1];
@@ -115,3 +132,12 @@ index 8dee0eb..564beed 100644
  					}
  				}
  
+@@ -923,7 +950,7 @@
+ 		}
+ 	}
+ 
+-	EGifCloseFile (fp);	
++	EGifCloseFile (fp, NULL);	
+ 	
+ 	return Ok;
+
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 663bd944fb9..586d48a8daa 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,21 +1,33 @@
-{ stdenv, fetchurl, bash, gettext }:
+{ stdenv, fetchurl, gettext }:
 
-stdenv.mkDerivation (rec {
-  name = "libgpg-error-1.12";
+stdenv.mkDerivation rec {
+  name = "libgpg-error-1.18";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a";
+    sha256 = "0408v19h3h0q6w61g51hgbdg6cyw81nyzkh70qfprvsc3pkddwcz";
   };
 
-  # If architecture-dependant MO files aren't available, they're generated
+  postPatch = "sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure";
+
+  # If architecture-dependent MO files aren't available, they're generated
   # during build, so we need gettext for cross-builds.
   crossAttrs.buildInputs = [ gettext ];
 
+  postConfigure =
+    stdenv.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
+    # (See <http://hydra.nixos.org/build/2931046/nixlog/1/raw>.)
+    # Thus, re-run it with Bash.
+      "${stdenv.shell} config.status";
+
   doCheck = true;
 
   meta = {
-    description = "Libgpg-error, a small library that defines common error values for all GnuPG components";
+    homepage = "https://www.gnupg.org/related_software/libgpg-error/index.html";
+    description = "A small library that defines common error values for all GnuPG components";
 
     longDescription = ''
       Libgpg-error is a small library that defines common error values
@@ -24,22 +36,9 @@ stdenv.mkDerivation (rec {
       Daemon and possibly more in the future.
     '';
 
-    homepage = http://gnupg.org;
-
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
 
-//
-
-(stdenv.lib.optionalAttrs 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
-  # (See <http://hydra.nixos.org/build/2931046/nixlog/1/raw>.)
-  # Thus, re-run it with Bash.
-  postConfigure =
-    '' ${bash}/bin/sh config.status
-    '';
-}))
diff --git a/pkgs/development/libraries/libgphoto2/2.4.nix b/pkgs/development/libraries/libgphoto2/2.4.nix
deleted file mode 100644
index 3edc8d0ac6c..00000000000
--- a/pkgs/development/libraries/libgphoto2/2.4.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{stdenv, fetchurl, pkgconfig, libusb, libtool, libexif, libjpeg, gettext}:
-
-stdenv.mkDerivation rec {
-  name = "libgphoto2-2.4.14";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "14h20s0kwqr1nsj90dgjwzs0r3h7z1cpmnivrikd0rrg4m2jvcsr";
-  };
-  
-  nativeBuildInputs = [ pkgconfig gettext ];
-  buildInputs = [ libtool libjpeg ];
-
-  # These are mentioned in the Requires line of libgphoto's pkg-config file.
-  propagatedBuildInputs = [ libusb libexif ];
-
-  meta = {
-    homepage = http://www.gphoto.org/proj/libgphoto2/;
-    description = "A library for accessing digital cameras";
-    longDescription = ''
-      This is the library backend for gphoto2. It contains the code for PTP,
-      MTP, and other vendor specific protocols for controlling and transferring data
-      from digital cameras. 
-    '';
-    # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
-    license = stdenv.lib.licenses.lgpl21Plus; 
-    platforms = with stdenv.lib.platforms; unix;
-    maintainers = with stdenv.lib.maintainers; [ jcumming ];
-  };
-}
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index ca8073fbe30..9583696df43 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, pkgconfig, libusb, libtool, libexif, libjpeg, gettext}:
+{ stdenv, fetchurl, pkgconfig, libusb1, libtool, libexif, libjpeg, gettext }:
 
 stdenv.mkDerivation rec {
   name = "libgphoto2-${meta.version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "1h0bwrbc69yq561pw4fjyclwvk0g6rrj3pw6zrdx33isipi15d2z";
+    sha256 = "154qs3j1k72xn8p5vgjcwvywkskxz0j145cgvlcw7d5xfwr1jq3j";
   };
-  
+
   nativeBuildInputs = [ pkgconfig gettext ];
-  buildInputs = [ libtool libjpeg ];
+  buildInputs = [ libtool libjpeg libusb1 ];
 
   # These are mentioned in the Requires line of libgphoto's pkg-config file.
-  propagatedBuildInputs = [ libusb libexif ];
+  propagatedBuildInputs = [ libexif ];
 
   meta = {
     homepage = http://www.gphoto.org/proj/libgphoto2/;
@@ -20,12 +20,13 @@ stdenv.mkDerivation rec {
     longDescription = ''
       This is the library backend for gphoto2. It contains the code for PTP,
       MTP, and other vendor specific protocols for controlling and transferring data
-      from digital cameras. 
+      from digital cameras.
     '';
-    version = "2.5.4";
+    version = "2.5.7";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
-    license = stdenv.lib.licenses.lgpl21Plus; 
+    license = stdenv.lib.licenses.lgpl21Plus;
     platforms = with stdenv.lib.platforms; unix;
     maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
+
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index dbcdabc8951..0479343a8f5 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2
-, python, gdk_pixbuf, libiconvOrEmpty, libintlOrEmpty }:
+, python, gdk_pixbuf, libiconv, libintlOrEmpty }:
 
 with { inherit (stdenv.lib) optionals; };
 
@@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gettext bzip2 zlib python ];
 
-  propagatedBuildInputs = [ libxml2 glib gdk_pixbuf ]
-    ++ libiconvOrEmpty
+  propagatedBuildInputs = [ libxml2 glib gdk_pixbuf libiconv ]
     ++ libintlOrEmpty;
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libgsystem/default.nix b/pkgs/development/libraries/libgsystem/default.nix
new file mode 100644
index 00000000000..b37503df5d9
--- /dev/null
+++ b/pkgs/development/libraries/libgsystem/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk_doc, gobjectIntrospection
+, glib, attr, systemd
+}:
+
+stdenv.mkDerivation {
+  name = "libgsystem-2015.1";
+
+  meta = with stdenv.lib; {
+    description = "GIO-based library with Unix/Linux specific API";
+    homepage    = "https://wiki.gnome.org/Projects/LibGSystem";
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchFromGitHub {
+    owner = "GNOME";
+    repo = "libgsystem";
+    rev = "v2015.1";
+    sha256 = "0j5dqn1pnspfxifklw4wkikqlbxr4faib07550n5gi58m89gg68n";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook pkgconfig gtk_doc gobjectIntrospection
+  ];
+
+  propagatedBuildInputs = [ glib attr systemd ];
+
+  preAutoreconf = ''
+    mkdir m4
+  '';
+}
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
new file mode 100644
index 00000000000..313934c6657
--- /dev/null
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, libtool, makeWrapper
+, ncurses, cpio, gperf, perl, cdrkit, flex, bison, qemu, pcre, augeas, libxml2
+, acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex
+, gmp, readline, file, libintlperl, GetoptLong, SysVirt }:
+
+stdenv.mkDerivation rec {
+  name = "libguestfs-${version}";
+  version = "1.29.5";
+
+  appliance = fetchurl {
+    url = "http://libguestfs.org/download/binaries/appliance/appliance-1.26.0.tar.xz";
+    sha256 = "1kzvgmy845kclvr93y6rdpss2q0p8yfqg14r0i1pi5r4zc68yvj4";
+  };
+
+  src = fetchurl {
+    url = "http://libguestfs.org/download/1.29-development/libguestfs-${version}.tar.gz";
+    sha256 = "1il0p3irwcyfdm83935hj4bvxsx0kdfn8dvqmg2lbzap17jvzj8h";
+  };
+
+  buildInputs = [
+    makeWrapper pkgconfig autoconf automake libtool ncurses cpio gperf perl
+    cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
+    systemd fuse yajl libvirt gmp readline file hivex libintlperl GetoptLong
+    SysVirt
+  ];
+
+  configureFlags = "--disable-appliance --disable-daemon";
+  patches = [ ./libguestfs-syms.patch ];
+  NIX_CFLAGS_COMPILE="-I${libxml2}/include/libxml2/";
+
+  preConfigure = ''
+    AUTOPOINT=true LIBTOOLIZE=true autoreconf --verbose --install
+  '';
+
+  postInstall = ''
+    for bin in $out/bin/*; do
+      wrapProgram "$bin" \
+        --prefix "PATH" : "$out/bin:${hivex}/bin" \
+        --prefix "PERL5LIB" : "$PERL5LIB:$out/lib/perl5/site_perl"
+    done
+  '';
+
+  postFixup = ''
+    mkdir -p "$out/lib/guestfs"
+    tar -Jxvf "$appliance" --strip 1 -C "$out/lib/guestfs"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tools for accessing and modifying virtual machine disk images";
+    license = licenses.gpl2;
+    homepage = http://libguestfs.org/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/development/libraries/libguestfs/libguestfs-syms.patch b/pkgs/development/libraries/libguestfs/libguestfs-syms.patch
new file mode 100644
index 00000000000..44cdc4e69b2
--- /dev/null
+++ b/pkgs/development/libraries/libguestfs/libguestfs-syms.patch
@@ -0,0 +1,13 @@
+diff -rupN libguestfs-1.29.5/src/Makefile.am libguestfs-1.29.5-new/src/Makefile.am
+--- libguestfs-1.29.5/src/Makefile.am	2014-11-05 16:43:08.000000000 +0100
++++ libguestfs-1.29.5-new/src/Makefile.am	2014-11-05 20:07:45.760730596 +0100
+@@ -167,8 +167,7 @@ libguestfs_la_LIBADD = \
+ # Force libtool to name the library 'libguestfs.so.0.$(MAX_PROC_NR).0'.
+ # Include the version script to limit which symbols are exported.
+ libguestfs_la_LDFLAGS = \
+-	-version-info $(MAX_PROC_NR):0:$(MAX_PROC_NR) \
+-	$(VERSION_SCRIPT_FLAGS)$(srcdir)/libguestfs.syms
++	-version-info $(MAX_PROC_NR):0:$(MAX_PROC_NR)
+ 
+ if HAVE_FUSE
+ # XXX Unfortunately FUSE_CFLAGS defines _FILE_OFFSET_BITS=64.
diff --git a/pkgs/development/libraries/libharu/default.nix b/pkgs/development/libraries/libharu/default.nix
index db1aa4a7473..5d120f61e08 100644
--- a/pkgs/development/libraries/libharu/default.nix
+++ b/pkgs/development/libraries/libharu/default.nix
@@ -1,41 +1,19 @@
-{ stdenv, fetchurl, zlib, libpng, patchutils }:
+{ stdenv, fetchzip, cmake, zlib, libpng }:
 
 stdenv.mkDerivation {
-  name = "libharu-2.2.1";
+  name = "libharu-2.3.0";
 
-  src = fetchurl {
-    url = http://libharu.org/files/libharu-2.2.1.tar.bz2;
-    sha256 = "04493rjb4z8f04p3kjvnya8phg4b0vzy3mbdbp8jfy0dhvqg4h4j";
+  src = fetchzip {
+    url = https://github.com/libharu/libharu/archive/RELEASE_2_3_0.tar.gz;
+    sha256 = "15s9hswnl3qqi7yh29jyrg0hma2n99haxznvcywmsp8kjqlyg75q";
   };
 
-  configureFlags = "--with-zlib=${zlib} --with-png=${libpng}";
-
-  buildInputs = [ zlib libpng ];
-
-  patches =
-    [ (stdenv.mkDerivation {
-        name = "linpng15.patch";
-
-        src = fetchurl {
-          url = https://github.com/tony2001/libharu/commit/e5bf8b01f6c3d5e3fe0e26ac5345e0da10c03934.diff;
-          sha256 = "1993vskpycyr43rwdp8f688fc5zvllrqq935r7rhsgbqbipkk73h";
-        };
-
-        nativeBuildInputs = [ patchutils ];
-
-        buildCommand = "filterdiff -x '*/CHANGES' $src > $out";
-      })
-      (fetchurl {
-        url = https://github.com/tony2001/libharu/commit/b472b64ab44d834eb29d237f31bf12396fee9aca.diff;
-        name = "endless-loop.patch";
-        sha256 = "1c95mn6a5wddznqgrsaf3xsh27lz8q0pzc0a7ampxpscq0w6c9fq";
-      })
-    ];
+  buildInputs = [ zlib libpng cmake ];
 
   meta = {
     description = "Cross platform, open source library for generating PDF files";
-    homepage = http://libharu.org/wiki/Main_Page;
-    license = "ZLIB/LIBPNG"; # see README.
+    homepage = http://libharu.org/;
+    license = stdenv.lib.licenses.zlib;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libiberty/default.nix b/pkgs/development/libraries/libiberty/default.nix
new file mode 100644
index 00000000000..70d6b24cbfc
--- /dev/null
+++ b/pkgs/development/libraries/libiberty/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "4.8.4";
+  name = "libiberty-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
+    sha256 = "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a";
+  };
+
+  postUnpack = "sourceRoot=\${sourceRoot}/libiberty";
+
+  enable_shared = 1;
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp pic/libiberty.a $out/lib/libiberty_pic.a
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://gcc.gnu.org/;
+    license = licenses.lgpl2;
+    description = "Collection of subroutines used by various GNU programs";
+    maintainers = maintainers.abbradar;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libibmad/default.nix b/pkgs/development/libraries/libibmad/default.nix
new file mode 100644
index 00000000000..8a4f27ad9c0
--- /dev/null
+++ b/pkgs/development/libraries/libibmad/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, libibumad }:
+
+stdenv.mkDerivation rec {
+  name = "libibmad-1.3.11";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
+    sha256 = "1d5lh2lhz7zzs7bbjjv9i0pj3v1xgp8sdmcr425h563v2c3bp53h";
+  };
+
+  buildInputs = [ libibumad ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.openfabrics.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libibumad/default.nix b/pkgs/development/libraries/libibumad/default.nix
new file mode 100644
index 00000000000..911c5c84612
--- /dev/null
+++ b/pkgs/development/libraries/libibumad/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libibumad-1.3.9";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
+    sha256 = "0j52aiwfgasf7bzx65svd5h2ya7848c5racf191i8irsxa155q74";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.openfabrics.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libibverbs/default.nix b/pkgs/development/libraries/libibverbs/default.nix
new file mode 100644
index 00000000000..38f94e7992d
--- /dev/null
+++ b/pkgs/development/libraries/libibverbs/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libibverbs-1.1.8";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/verbs/${name}.tar.gz";
+    sha256 = "13w2j5lrrqxxxvhpxbqb70x7wy0h8g329inzgfrvqv8ykrknwxkw";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://www.openfabrics.org/;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index dbb104546ad..6292318d5ca 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -1,13 +1,25 @@
-{stdenv, fetchurl, perl, cmake}:
+{ stdenv, fetchFromGitHub, perl, cmake }:
 
 stdenv.mkDerivation rec {
-  pName = "libical";
-  name = "${pName}-1.0";
-  src = fetchurl {
-    url = "mirror://sourceforge/freeassociation/${pName}/${name}/${name}.tar.gz";
-    sha256 = "1dy0drz9hy0sn2q3s2lp00jb9bis5gsm7n3m4zga49s9ir2b6fbw";
+  name = "libical-${version}";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "libical";
+    repo = "libical";
+    rev = "v${version}";
+    sha256 = "1y6rbw24m133d984pyqzx2bi7f37dsw6f33l6arwn6yd4zlqdib9";
   };
+
   nativeBuildInputs = [ perl cmake ];
 
   patches = [ ./respect-env-tzdir.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/libical/libical;
+    description = "an Open Source implementation of the iCalendar protocols";
+    license = licenses.mpl10;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
 }
diff --git a/pkgs/development/libraries/libical/respect-env-tzdir.patch b/pkgs/development/libraries/libical/respect-env-tzdir.patch
index 12da8d41c7b..980a0d5c71a 100644
--- a/pkgs/development/libraries/libical/respect-env-tzdir.patch
+++ b/pkgs/development/libraries/libical/respect-env-tzdir.patch
@@ -1,21 +1,19 @@
-* Remove /usr/*/zoneinfo from the default search path
-* Respect $TZDIR
 diff --git a/src/libical/icaltz-util.c b/src/libical/icaltz-util.c
-index adf7598..d2fd5c8 100644
+index fe984c9..22ba0a1 100644
 --- a/src/libical/icaltz-util.c
 +++ b/src/libical/icaltz-util.c
-@@ -108,7 +108,7 @@ typedef struct
- 
- static int r_pos [] = {1, 2, 3, -2, -1};
+@@ -107,7 +107,7 @@ typedef struct
+ 	char	charcnt[4];			
+ } tzinfo; 
  
 -static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo"};
 +static char *search_paths [] = {"/etc/zoneinfo"};
  static char *zdir = NULL;
  
  #define NUM_SEARCH_PATHS (sizeof (search_paths)/ sizeof (search_paths [0]))
-@@ -195,6 +195,16 @@ set_zonedir (void)
+@@ -194,6 +194,16 @@ set_zonedir (void)
  	const char *fname = ZONES_TAB_SYSTEM_FILENAME;
- 	int i;	
+ 	unsigned int i;
  
 +	const char *env_tzdir = strdup (getenv ("TZDIR"));
 +	if (env_tzdir) {
@@ -27,6 +25,6 @@ index adf7598..d2fd5c8 100644
 +		free (env_tzdir);
 +	}
 +
- 	for (i = 0;i < NUM_SEARCH_PATHS; i++) {
+ 	for (i = 0; i < NUM_SEARCH_PATHS; i++) {
  		sprintf (file_path, "%s/%s", search_paths [i], fname);
  		if (!access (file_path, F_OK|R_OK)) {
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 3bdb85a78eb..9e65e63ffdb 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -1,11 +1,13 @@
 { fetchurl, stdenv }:
 
+assert (!stdenv.isLinux);
+
 stdenv.mkDerivation rec {
-  name = "libiconv-1.13.1";
+  name = "libiconv-1.14";
 
   src = fetchurl {
     url = "mirror://gnu/libiconv/${name}.tar.gz";
-    sha256 = "0jcsjk2g28bq20yh7rvbn8xgq6q42g8dkkac0nfh12b061l638sm";
+    sha256 = "04q6lgl3kglmmhw59igq1n7v3rp1rpkypl366cy1k1yn2znlvckj";
   };
 
   # On Cygwin, Libtool produces a `.dll.a', which is not a "real" DLL
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 37d19d10f29..5aea194e39d 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.28";
+  name = "libidn-1.29";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "1yxbfdiwr3l91m79sksn6v5mgpl4lfj8i82zgryckas9hjb7ldfx";
+    sha256 = "fb82747dbbf9b36f703ed27293317d818d7e851d4f5773dedf3efa4db32a7c7c";
   };
 
   doCheck = ! stdenv.isDarwin;
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
       included.
     '';
 
+    repositories.git = git://git.savannah.gnu.org/libidn.git;
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index 1a39e094153..ad0fa8589f3 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -11,10 +11,10 @@ let
 
 in stdenv.mkDerivation rec {
 
-  name = "libinfinity-0.5.5";
+  name = "libinfinity-0.6.5";
   src = fetchurl {
     url = "http://releases.0x539.de/libinfinity/${name}.tar.gz";
-    sha256 = "1i4cnwbvfv56m7zyyf9wki2bj000r8md414yv3cf1jdz4jbyxij7";
+    sha256 = "1idsxb6rz4i55g3vi2sv7hmm57psbccpb57yc4jgphaq6ydgqsr6";
   };
 
   buildInputs = [ pkgconfig glib libxml2 gsasl libidn gss ]
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
new file mode 100644
index 00000000000..80ad7879e10
--- /dev/null
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, pkgconfig
+, libevdev, mtdev, udev
+, documentationSupport ? true, doxygen ? null, graphviz ? null # Documentation
+, eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support
+, testsSupport ? false, check ? null, valgrind ? null
+}:
+
+assert documentationSupport -> doxygen != null && graphviz != null;
+assert eventGUISupport -> cairo != null && glib != null && gtk3 != null;
+assert testsSupport -> check != null && valgrind != null;
+
+let
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+in
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "libinput-0.13.0";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
+    sha256 = "06n6ih2bfr957rprsgjxhi6f7m96wmf4kgac8y0ispsjvrzszv3c";
+  };
+
+  configureFlags = [
+    (mkFlag documentationSupport "documentation")
+    (mkFlag eventGUISupport "event-gui")
+    (mkFlag testsSupport "tests")
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libevdev mtdev udev ]
+    ++ optionals eventGUISupport [ cairo glib gtk3 ]
+    ++ optionals documentationSupport [ doxygen graphviz ]
+    ++ optionals testsSupport [ check valgrind ];
+
+  meta = {
+    description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
+    homepage    = http://www.freedesktop.org/wiki/Software/libinput;
+    license     = licenses.mit;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ codyopel wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libixp_for_wmii/default.nix b/pkgs/development/libraries/libixp_for_wmii/default.nix
index caeb87ee694..cbe9e20f0b1 100644
--- a/pkgs/development/libraries/libixp_for_wmii/default.nix
+++ b/pkgs/development/libraries/libixp_for_wmii/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://libs.suckless.org/libixp;
     description = "stand-alone client/server 9P library";
-    license = "MIT / LPL";
+    license = with stdenv.lib.licenses; [ mit lpl-102 ];
   };
 }
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 84732670eef..4ce79a0f894 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nasm, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libjpeg-turbo-1.3.1";
+  name = "libjpeg-turbo-1.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz";
-    sha256 = "1fbgcvlnn3d5gvf0v9jnlcabpv2z3nwxclzyabahxi6x2xs90cn1";
+    sha256 = "1vmv5ciqq98gi2ishqbvlx9hsk7sl06lr6xkcgw480jiddadhfnr";
   };
 
   outputs = [ "dev" "out" "doc" "bin" ];
@@ -17,9 +17,12 @@ stdenv.mkDerivation rec {
   doCheck = true;
   checkTarget = "test";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libjpeg-turbo.virtualgl.org/;
     description = "A faster (using SIMD) libjpeg implementation";
-    license = "free";
+    license = licenses.ijg; # and some parts under other BSD-style licenses
+    platforms = platforms.all;
+    maintainers = [ maintainers.vcunat ];
   };
 }
+
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 8884546bcdf..025be200959 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.ijg.org/;
     description = "A library that implements the JPEG image file format";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/libjreen/default.nix b/pkgs/development/libraries/libjreen/default.nix
new file mode 100644
index 00000000000..04e37fd14f1
--- /dev/null
+++ b/pkgs/development/libraries/libjreen/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, cmake, qt4, pkgconfig, gsasl }:
+
+stdenv.mkDerivation rec {
+  name = "libjreen-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://qutim.org/dwnl/73/${name}.tar.bz2";
+    sha256 = "14nwwk40xx8w6x7yaysgcr0lgzhs7l064f7ikp32s5y9a8mmp582";
+  };
+
+  buildInputs = [ cmake qt4 pkgconfig gsasl ];
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "C++ Jabber library using Qt framework";
+    homepage = "https://qutim.org/jreen/";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/development/libraries/libkeyfinder/default.nix b/pkgs/development/libraries/libkeyfinder/default.nix
new file mode 100644
index 00000000000..40efafdea3d
--- /dev/null
+++ b/pkgs/development/libraries/libkeyfinder/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, boost, fftw, qt5 }:
+
+stdenv.mkDerivation rec {
+  version = "0.11.0-20141105";
+  name = "libkeyfinder-${version}";
+
+  src = fetchFromGitHub {
+    repo = "libKeyFinder";
+    owner = "ibsh";
+    rev = "592ef1f3d3ada489f80814d5ccfbc8de6029dc9d";
+    sha256 = "0xcqpizwbn6wik3w7h9k1lvgrp3r3w6yyy55flvnwwwgvkry48as";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Musical key detection for digital audio (C++ library)";
+    homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ fftw qt5.base ];
+  propagatedBuildInputs = [ boost ];
+
+  patchPhase = ''
+    substituteInPlace LibKeyFinder.pro --replace "/usr/local" "$out"
+  '';
+
+  configurePhase = ''
+    qmake
+  '';
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    mkdir -p $out/include/keyfinder
+    cp *.h $out/include/keyfinder
+  '';
+}
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index dbd2516c059..1293c2245ac 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libksba-1.2.0";
+  name = "libksba-1.3.2";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/${name}.tar.bz2";
-    sha256 = "0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9";
+    sha256 = "01l4hvcknk9nb4bvyb6aqaid19jg0wv3ik54j1b89hnzamwm75gb";
   };
 
-  propagatedBuildInputs = [libgpgerror];
+  propagatedBuildInputs = [ libgpgerror ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnupg.org;
     description = "CMS and X.509 access library under development";
+    platforms = platforms.all;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix
index 701b4df3cd8..ad578ac272b 100644
--- a/pkgs/development/libraries/liblastfm/default.nix
+++ b/pkgs/development/libraries/liblastfm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, qt4, pkgconfig, libsamplerate, fftwSinglePrec, which, cmake }:
 
-let version = "1.0.8"; in
+let version = "1.0.9"; in
 
 stdenv.mkDerivation rec {
   name = "liblastfm-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/lastfm/liblastfm/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "17jjhsgbwrzh09i0wcqsnmxzyrqy1png5ixpnx6rbqmhp54a3jn3";
+    sha256 = "09qiaxsxw6g2m7mvkffpfsi5wis8nl1x4lgnk0sa30859z54iw53";
   };
 
   prefixKey = "--prefix ";
diff --git a/pkgs/development/libraries/liblogging/default.nix b/pkgs/development/libraries/liblogging/default.nix
index 7a754a28e3d..aa75acb7d6d 100644
--- a/pkgs/development/libraries/liblogging/default.nix
+++ b/pkgs/development/libraries/liblogging/default.nix
@@ -1,18 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, systemd }:
+{ stdenv, fetchurl, pkgconfig
+, systemd ? null
+}:
 
 stdenv.mkDerivation rec {
-  name = "liblogging-1.0.4";
+  name = "liblogging-1.0.5";
 
   src = fetchurl {
     url = "http://download.rsyslog.com/liblogging/${name}.tar.gz";
-    sha256 = "075q6zjqpdlmaxhahd1ynr6nasqpyjnzj1zlcvzp3ixxm0m5vsxc";
+    sha256 = "02w94j344q0ywlj4mdf9fnzwggdsn3j1yn43sdlsddvr29lw239i";
   };
 
   buildInputs = [ pkgconfig systemd ];
 
-  meta = {
+  configureFlags = [
+    "--enable-rfc3195"
+    "--enable-stdlog"
+    (if systemd != null then "--enable-journal" else "--disable-journal")
+    "--enable-man-pages"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.liblogging.org/;
     description = "Lightweight signal-safe logging library";
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/liblognorm/default.nix b/pkgs/development/libraries/liblognorm/default.nix
new file mode 100644
index 00000000000..f9095be8425
--- /dev/null
+++ b/pkgs/development/libraries/liblognorm/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, libestr, json_c, pcre }:
+
+stdenv.mkDerivation rec {
+  name = "liblognorm-1.1.1";
+  
+  src = fetchurl {
+    url = "http://www.liblognorm.com/files/download/${name}.tar.gz";
+    sha256 = "1wi28n5ahajvl64wfn7jpvnskccd6837i0cyq8w8cvrm362b6pd7";
+  };
+
+  buildInputs = [ pkgconfig libestr json_c pcre ];
+  
+  configureFlags = [ "--enable-regexp" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.liblognorm.com/;
+    description = "help to make sense out of syslog data, or, actually, any event data that is present in text form";
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/liblqr-1/default.nix b/pkgs/development/libraries/liblqr-1/default.nix
index c6323fcc84a..3af1227c69b 100644
--- a/pkgs/development/libraries/liblqr-1/default.nix
+++ b/pkgs/development/libraries/liblqr-1/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, glib }:
 
 stdenv.mkDerivation rec {
-  name = "liblqr-1-0.4.1";
+  name = "liblqr-1-0.4.2";
+
   src = fetchurl {
     url = "${meta.homepage}/local--files/en:download-page/${name}.tar.bz2";
-    sha256 = "02g90wag7xi5rjlmwq8h0qs666b1i2sa90s4303hmym40il33nlz";
+    sha256 = "0dzikxzjz5zmy3vnydh90aqk23q0qm8ykx6plz6p4z90zlp84fhp";
   };
 
   buildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib ];
-  configureFlags = "--enable-install-man";
 
   meta = with stdenv.lib; {
     homepage = http://liblqr.wikidot.com;
diff --git a/pkgs/development/libraries/libltc/default.nix b/pkgs/development/libraries/libltc/default.nix
new file mode 100644
index 00000000000..ec306e0f7c3
--- /dev/null
+++ b/pkgs/development/libraries/libltc/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "libltc-1.1.4";
+
+  src = fetchurl {
+    url = https://github.com/x42/libltc/releases/download/v1.1.4/libltc-1.1.4.tar.gz;
+    sha256 = "0xas0zbi11nhq15al6cxn0iwa563s6fcz01hw0np1clh25h4773x";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://x42.github.io/libltc/;
+    description = "POSIX-C Library for handling Linear/Logitudinal Time Code (LTC)";
+    license = licenses.lgpl3Plus;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libmad/default.nix b/pkgs/development/libraries/libmad/default.nix
index 883ad072c7b..7739c3627ec 100644
--- a/pkgs/development/libraries/libmad/default.nix
+++ b/pkgs/development/libraries/libmad/default.nix
@@ -8,7 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690";
   };
 
-  patches = [ ./001-mips_removal_h_constraint.patch ./pkgconfig.patch ];
+  patches = [ ./001-mips_removal_h_constraint.patch ./pkgconfig.patch ]
+  # optimize.diff is taken from https://projects.archlinux.org/svntogit/packages.git/tree/trunk/optimize.diff?h=packages/libmad
+  # It is included here in order to fix a build failure in Clang
+  # But it may be useful to fix other, currently unknown problems as well
+  ++ stdenv.lib.optional (stdenv.cc.cc.isClang or false) [ ./optimize.diff ];
 
   nativeBuildInputs = [ autoconf ];
 
@@ -22,6 +26,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage    = http://sourceforge.net/projects/mad/;
     description = "A high-quality, fixed-point MPEG audio decoder supporting MPEG-1 and MPEG-2";
+    license     = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libmad/optimize.diff b/pkgs/development/libraries/libmad/optimize.diff
new file mode 100644
index 00000000000..1418dc92707
--- /dev/null
+++ b/pkgs/development/libraries/libmad/optimize.diff
@@ -0,0 +1,77 @@
+Index: libmad-0.15.1b/configure.ac
+===================================================================
+--- libmad-0.15.1b.orig/configure.ac	2008-03-07 20:31:23.000000000 +0000
++++ libmad-0.15.1b/configure.ac	2008-03-07 20:34:26.000000000 +0000
+@@ -124,71 +124,7 @@
+ 
+ if test "$GCC" = yes
+ then
+-    if test -z "$arch"
+-    then
+-	case "$host" in
+-	    i386-*)           ;;
+-	    i?86-*)           arch="-march=i486" ;;
+-	    arm*-empeg-*)     arch="-march=armv4 -mtune=strongarm1100" ;;
+-	    armv4*-*)         arch="-march=armv4 -mtune=strongarm" ;;
+-	    powerpc-*)        ;;
+-	    mips*-agenda-*)   arch="-mcpu=vr4100" ;;
+-	    mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
+-	esac
+-    fi
+-
+-    case "$optimize" in
+-	-O|"-O "*)
+-	    optimize="-O"
+-	    optimize="$optimize -fforce-mem"
+-	    optimize="$optimize -fforce-addr"
+-	    : #x optimize="$optimize -finline-functions"
+-	    : #- optimize="$optimize -fstrength-reduce"
+-	    optimize="$optimize -fthread-jumps"
+-	    optimize="$optimize -fcse-follow-jumps"
+-	    optimize="$optimize -fcse-skip-blocks"
+-	    : #x optimize="$optimize -frerun-cse-after-loop"
+-	    : #x optimize="$optimize -frerun-loop-opt"
+-	    : #x optimize="$optimize -fgcse"
+-	    optimize="$optimize -fexpensive-optimizations"
+-	    optimize="$optimize -fregmove"
+-	    : #* optimize="$optimize -fdelayed-branch"
+-	    : #x optimize="$optimize -fschedule-insns"
+-	    optimize="$optimize -fschedule-insns2"
+-	    : #? optimize="$optimize -ffunction-sections"
+-	    : #? optimize="$optimize -fcaller-saves"
+-	    : #> optimize="$optimize -funroll-loops"
+-	    : #> optimize="$optimize -funroll-all-loops"
+-	    : #x optimize="$optimize -fmove-all-movables"
+-	    : #x optimize="$optimize -freduce-all-givs"
+-	    : #? optimize="$optimize -fstrict-aliasing"
+-	    : #* optimize="$optimize -fstructure-noalias"
+-
+-	    case "$host" in
+-		arm*-*)
+-		    optimize="$optimize -fstrength-reduce"
+-		    ;;
+-		mips*-*)
+-		    optimize="$optimize -fstrength-reduce"
+-		    optimize="$optimize -finline-functions"
+-		    ;;
+-		i?86-*)
+-		    optimize="$optimize -fstrength-reduce"
+-		    ;;
+-		powerpc-apple-*)
+-		    # this triggers an internal compiler error with gcc2
+-		    : #optimize="$optimize -fstrength-reduce"
+-
+-		    # this is really only beneficial with gcc3
+-		    : #optimize="$optimize -finline-functions"
+-		    ;;
+-		*)
+-		    # this sometimes provokes bugs in gcc 2.95.2
+-		    : #optimize="$optimize -fstrength-reduce"
+-		    ;;
+-	    esac
+-	    ;;
+-    esac
++    optimize="-O2"
+ fi
+ 
+ case "$host" in
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
index 67b9e728955..b4032f3c22d 100644
--- a/pkgs/development/libraries/libmatroska/default.nix
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -9,12 +9,16 @@ stdenv.mkDerivation rec {
   };
 
   configurePhase = "cd make/linux";
-  makeFlags = "prefix=$(out) LIBEBML_INCLUDE_DIR=${libebml}/include LIBEBML_LIB_DIR=${libebml}/lib";
+  makeFlags = "prefix=$(out) LIBEBML_INCLUDE_DIR=${libebml}/include LIBEBML_LIB_DIR=${libebml}/lib"
+    + stdenv.lib.optionalString stdenv.isDarwin " CXX=clang++";
   propagatedBuildInputs = [ libebml ];
 
-  meta = {
-    description = "Matroska library";
-    homepage = http://dl.matroska.org/downloads/libmatroska;
+  meta = with stdenv.lib; {
+    description = "A library to parse Matroska files";
+    homepage = http://matroska.org/;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 8207051b2a8..d58f031f376 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -1,23 +1,24 @@
 { stdenv, fetchurl, pkgconfig, glib, python, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libmbim-1.6.0";
+  name = "libmbim-1.12.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libmbim/${name}.tar.xz";
-    sha256 = "10mh1b8jfxg6y6nhr7swbi9wx4acjgvx1if7nhrw1ppd5apvvvz0";
+    sha256 = "0abv0h9c3kbw4bq1b9270sg189jcjj3x3wa91bj836ynwg9m34wl";
   };
 
   preConfigure = ''
-    for f in build-aux/mbim-codegen/*; do
-       substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python"
-    done
+    patchShebangs .
   '';
 
-  buildInputs = [ pkgconfig glib udev ];
+  buildInputs = [ pkgconfig glib udev python ];
 
   meta = with stdenv.lib; {
+    homepage = http://www.freedesktop.org/software/libmbim/;
     description = "talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol";
     platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
new file mode 100644
index 00000000000..100f91d966f
--- /dev/null
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "0.7.72";
+  name = "libmediainfo-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.bz2";
+    sha256 = "1ndfag9a7yl8j1iwxgd2d8slwzc0ifmzg9zf8lg7fsqsa9c3s7m6";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig libzen zlib ];
+
+  sourceRoot = "./MediaInfoLib/Project/GNU/Library/";
+
+  configureFlags = [ "--enable-shared" ];
+  preConfigure = "sh autogen";
+
+  postInstall = ''
+    install -vD -m 644 libmediainfo.pc "$out/lib/pkgconfig/libmediainfo.pc"
+  '';
+
+  meta = {
+    description = "Shared library for mediainfo";
+    homepage = http://mediaarea.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 39795267a2c..8b9f6f1dca5 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, curl, libgcrypt}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.9.35";
+  name = "libmicrohttpd-0.9.38";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "1z0h6llx7pra78358ryi3bdh8p0ns0bn97n6bl0fj6cib9cz2pdw";
+    sha256 = "08g7p4l0p2fsjj8ayl68zq1bqgrn0pck19bm8yd7k61whvfv9wld";
   };
 
   buildInputs = [ curl libgcrypt ];
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index 8ef95650ce6..3e95f944caf 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -1,10 +1,13 @@
 { stdenv, fetchurl, texinfo }:
+
 stdenv.mkDerivation rec {
-  name = "libmikmod-3.2.0";
+  name = "libmikmod-3.3.7";
+
   src = fetchurl {
-    url = "http://mikmod.shlomifish.org/files/${name}.tar.gz";
-    sha256 = "07k6iyx6pyzisncgdkd071w2dhm3rx6l34hbja3wbc7rpf888k3k";
+    url = "http://downloads.sourceforge.net/project/mikmod/libmikmod/3.3.7/libmikmod-3.3.7.tar.gz";
+    sha256 = "18nrkf5l50hfg0y50yxr7bvik9f002lhn8c00nbcp6dgm5011x2c";
   };
+
   buildInputs = [ texinfo ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index 7f925cd9b2a..23083ec77ac 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
       define(\`confUBINDIR', \`$out/bin')
       define(\`confINCGRP', \`root')
       define(\`confLIBGRP', \`root')
+      APPENDDEF(\`confENVDEF', \`-DNETINET6')
     EOF
     sh Build -f ./a.m4
   '';
diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix
index b58e2dd257d..234f56863c0 100644
--- a/pkgs/development/libraries/libmng/default.nix
+++ b/pkgs/development/libraries/libmng/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Reference library for reading, displaying, writing and examining Multiple-Image Network Graphics";
     homepage = http://www.libmng.com;
-    license = "zlib/libpng";
+    license = stdenv.lib.licenses.zlib;
     maintainers = with stdenv.lib.maintainers; [ marcweber urkud ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/libmongo-client/default.nix b/pkgs/development/libraries/libmongo-client/default.nix
new file mode 100644
index 00000000000..4cbc51ea678
--- /dev/null
+++ b/pkgs/development/libraries/libmongo-client/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib }:
+
+stdenv.mkDerivation rec {
+  name = "libmongo-client-0.1.8";
+
+  src = fetchFromGitHub {
+    owner = "algernon";
+    repo = "libmongo-client";
+    rev = name;
+    sha256 = "1cjx06i3gd9zkyvwm2ysjrf0hkhr7bjg3c27s7n0y31j10igfjp0";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig ];
+  propagatedBuildInputs = [ glib ];
+
+  postPatch = ''
+    # Fix when uses glib in public headers
+    sed -i 's/Requires.private/Requires/g' src/libmongo-client.pc.in
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://algernon.github.io/libmongo-client/;
+    description = "An alternative C driver for MongoDB";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix
new file mode 100644
index 00000000000..1e8ea0ffa13
--- /dev/null
+++ b/pkgs/development/libraries/libmpc/default.nix
@@ -0,0 +1,34 @@
+{ fetchurl, stdenv, gmp, mpfr }:
+let
+  version = "1.0.3";
+in
+stdenv.mkDerivation rec {
+  name = "libmpc-${version}"; # to avoid clash with the MPD client
+
+  src = fetchurl {
+    url = "http://www.multiprecision.org/mpc/download/mpc-${version}.tar.gz";
+    sha256 = "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1";
+  };
+
+  buildInputs = [ gmp mpfr ];
+
+  CFLAGS = "-I${gmp}/include";
+
+  doCheck = true;
+
+  meta = {
+    description = "Library for multiprecision complex arithmetic with exact rounding";
+
+    longDescription =
+      '' GNU MPC is a C library for the arithmetic of complex numbers with
+         arbitrarily high precision and correct rounding of the result.  It is
+         built upon and follows the same principles as GNU MPFR.
+      '';
+
+    homepage = http://mpc.multiprecision.org/;
+    license = stdenv.lib.licenses.lgpl2Plus;
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/libraries/libmpeg2/A00-tags.patch b/pkgs/development/libraries/libmpeg2/A00-tags.patch
deleted file mode 100644
index 0b5d7d7da12..00000000000
--- a/pkgs/development/libraries/libmpeg2/A00-tags.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -ru mpeg2dec.orig/libmpeg2/decode.c mpeg2dec/libmpeg2/decode.c
---- mpeg2dec.orig/libmpeg2/decode.c	2008-07-09 12:16:05.000000000 -0700
-+++ mpeg2dec/libmpeg2/decode.c	2009-07-03 16:29:48.000000000 -0700
-@@ -212,7 +212,7 @@
- 
- mpeg2_state_t mpeg2_parse_header (mpeg2dec_t * mpeg2dec)
- {
--    static int (* process_header[]) (mpeg2dec_t * mpeg2dec) = {
-+    static int (* process_header[]) (mpeg2dec_t *) = {
- 	mpeg2_header_picture, mpeg2_header_extension, mpeg2_header_user_data,
- 	mpeg2_header_sequence, NULL, NULL, NULL, NULL, mpeg2_header_gop
-     };
-@@ -368,6 +368,14 @@
- 
- void mpeg2_tag_picture (mpeg2dec_t * mpeg2dec, uint32_t tag, uint32_t tag2)
- {
-+    if (mpeg2dec->num_tags == 0 && mpeg2dec->state == STATE_PICTURE && mpeg2dec->picture) {
-+        // since tags got processed when we entered this state we
-+        // have to set them directly or they'll end up on the next frame.
-+        mpeg2dec->picture->tag = tag;
-+        mpeg2dec->picture->tag2 = tag2;
-+        mpeg2dec->picture->flags |= PIC_FLAG_TAGS;
-+        return;
-+    }
-     mpeg2dec->tag_previous = mpeg2dec->tag_current;
-     mpeg2dec->tag2_previous = mpeg2dec->tag2_current;
-     mpeg2dec->tag_current = tag;
diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix
index e651a932efe..19d912e5523 100644
--- a/pkgs/development/libraries/libmpeg2/default.nix
+++ b/pkgs/development/libraries/libmpeg2/default.nix
@@ -1,20 +1,21 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmpeg2-0.5.1p4";
-  
+  version = "0.5.1";
+  name = "libmpeg2-${version}";
+
   src = fetchurl {
     url = "http://libmpeg2.sourceforge.net/files/${name}.tar.gz";
     sha256 = "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny";
   };
 
-  # From Handbrake - Project seems unmaintained
-  patches = [
-    ./A00-tags.patch
-  ];
+  # Otherwise clang fails with 'duplicate symbol ___sputc'
+  buildFlags = stdenv.lib.optionalString stdenv.isDarwin "CFLAGS=-std=gnu89";
 
   meta = {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libmsgpack/0.5-CMake.patch b/pkgs/development/libraries/libmsgpack/0.5-CMake.patch
new file mode 100644
index 00000000000..84377962d7f
--- /dev/null
+++ b/pkgs/development/libraries/libmsgpack/0.5-CMake.patch
@@ -0,0 +1,14 @@
+diff -r 791a4edd7e1d CMakeLists.txt
+--- a/CMakeLists.txt	Sun Oct 05 13:14:14 2014 +0100
++++ b/CMakeLists.txt	Sun Oct 05 13:20:12 2014 +0100
+@@ -157,8 +157,9 @@
+ 
+ INSTALL (TARGETS msgpack msgpack-static DESTINATION lib)
+ INSTALL (DIRECTORY src/msgpack DESTINATION include)
++INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/src/msgpack/version.h DESTINATION include/msgpack)
+ INSTALL (FILES src/msgpack.h src/msgpack.hpp DESTINATION include)
+-INSTALL (FILES msgpack.pc DESTINATION lib/pkgconfig)
++INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION lib/pkgconfig)
+ 
+ # Doxygen
+ FIND_PACKAGE (Doxygen)
diff --git a/pkgs/development/libraries/libmsgpack/0.5.nix b/pkgs/development/libraries/libmsgpack/0.5.nix
new file mode 100644
index 00000000000..4f14dcd8b13
--- /dev/null
+++ b/pkgs/development/libraries/libmsgpack/0.5.nix
@@ -0,0 +1,14 @@
+{ callPackage, fetchFromGitHub, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "0.5.9";
+
+  src = fetchFromGitHub {
+    owner = "msgpack";
+    repo = "msgpack-c";
+    rev = "cpp-${version}";
+    sha256 = "19cmlxfr0sc2b08a1mq9plk9fj5l1i20f69j4pvbhlnah3xqfdjs";
+  };
+
+  patches = [ ./0.5-CMake.patch ];
+})
diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix
index ab9dbd48ea4..5b2c7902c3c 100644
--- a/pkgs/development/libraries/libmsgpack/default.nix
+++ b/pkgs/development/libraries/libmsgpack/default.nix
@@ -1,31 +1,12 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, ruby, scatterOutputHook }:
+{ callPackage, fetchFromGitHub, ... } @ args:
 
-stdenv.mkDerivation rec {
-  version = "0.5.8";
-  name = "libmsgpack-${version}";
+callPackage ./generic.nix (args // rec {
+  version = "1.1.0";
 
-  src = fetchurl {
-    url = "https://github.com/msgpack/msgpack-c/archive/cpp-${version}.tar.gz";
-    sha256 = "1h6k9kdbfavmw3by5kk3raszwa64hn9k8yw9rdhvl5m8g2lks89k";
+  src = fetchFromGitHub {
+    owner = "msgpack";
+    repo = "msgpack-c";
+    rev = "cpp-${version}";
+    sha256 = "1hnpnin6gjiilbzfd75871kamfn9grrf53qpbs061sflvz56fddq";
   };
-
-  nativeBuildInputs = [ scatterOutputHook ];
-  buildInputs = [ autoconf automake libtool ruby ];
-
-  outputs = [ "out" "bin" ];
-
-  preConfigure = ''
-    sed -i s,glibtoolize,libtoolize, ./bootstrap
-    ./bootstrap
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "MessagePack implementation for C and C++";
-    homepage = http://msgpack.org;
-    maintainers = [ maintainers.redbaron ];
-    license = licenses.asl20;
-    platforms = platforms.all;
-  };
-}
+})
diff --git a/pkgs/development/libraries/libmsgpack/generic.nix b/pkgs/development/libraries/libmsgpack/generic.nix
new file mode 100644
index 00000000000..72943c098ba
--- /dev/null
+++ b/pkgs/development/libraries/libmsgpack/generic.nix
@@ -0,0 +1,20 @@
+{ stdenv, cmake
+, version, src, patches ? [ ]
+, ...
+}:
+
+stdenv.mkDerivation rec {
+  name = "libmsgpack-${version}";
+
+  inherit src patches;
+
+  buildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "MessagePack implementation for C and C++";
+    homepage = http://msgpack.org;
+    maintainers = with maintainers; [ redbaron wkennington ];
+    license = licenses.asl20;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index 10bc9e5eebf..938c995e755 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, libusb1 }:
 
 stdenv.mkDerivation rec {
-  name = "libmtp-1.1.6";
+  name = "libmtp-1.1.8";
 
   propagatedBuildInputs = [ libusb1 ];
   buildInputs = [ pkgconfig ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/libmtp/${name}.tar.gz";
-    sha256 = "02nbf1cigxmv9sak201f4m5c1d21q6avgzjlxd941plimy1iq71s";
+    sha256 = "10i2vnj8r6hyd61xgyhmxbsissq971g50fhm1h6mc3m4d99qg7iz";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libmusclecard/default.nix b/pkgs/development/libraries/libmusclecard/default.nix
index af235b83382..fa8b41a1772 100644
--- a/pkgs/development/libraries/libmusclecard/default.nix
+++ b/pkgs/development/libraries/libmusclecard/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Library for MUSCLE smartcard applications";
     homepage = http://pcsclite.alioth.debian.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.lgpl21;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
     broken = true;
diff --git a/pkgs/development/libraries/libmusicbrainz/default.nix b/pkgs/development/libraries/libmusicbrainz/default.nix
index 714870fab16..99c253cdb35 100644
--- a/pkgs/development/libraries/libmusicbrainz/default.nix
+++ b/pkgs/development/libraries/libmusicbrainz/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.musicbrainz.org/pub/musicbrainz/${name}.tar.gz";
-    md5 = "f4824d0a75bdeeef1e45cc88de7bb58a";
+    sha256 = "1i9qly13bwwmgj68vma766hgvsd1m75236haqsp9zgh5znlmkm3z";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libmwaw/0.2.nix b/pkgs/development/libraries/libmwaw/0.2.nix
deleted file mode 100644
index d66414b6814..00000000000
--- a/pkgs/development/libraries/libmwaw/0.2.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{stdenv, fetchurl, boost, pkgconfig, cppunit, zlib, libwpg, libwpd, librevenge}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="libmwaw";
-    version="0.2.1";
-    name="${baseName}-${version}";
-    hash="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn";
-    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.2.1/libmwaw-0.2.1.tar.xz";
-    sha256="1fil1ll84pq0k3g6rcc2xfg1yrigkljp4ay5p2wpwd9qlmfvvvqn";
-  };
-  buildInputs = [
-    boost pkgconfig cppunit zlib libwpg libwpd librevenge
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
-  meta = {
-    inherit (s) version;
-    description = ''Import library for some old mac text documents'';
-    license = stdenv.lib.licenses.mpl20 ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/libmwaw/0.2.upstream b/pkgs/development/libraries/libmwaw/0.2.upstream
deleted file mode 100644
index 8ce00ecf767..00000000000
--- a/pkgs/development/libraries/libmwaw/0.2.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url http://sourceforge.net/projects/libmwaw/files/libmwaw/
-SF_version_dir libmwaw-0.2.
-version_link '[.]tar.xz/download$'
-SF_redirect
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index 297d0a2f2ee..b8582a76ed8 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -3,10 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libmwaw";
-    version="0.3.2";
+    version="0.3.4";
     name="${baseName}-${version}";
-    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-${version}/libmwaw-${version}.tar.bz2";
-    sha256="0rzp2bbwyxdq1i9b2y5jz5b2ic7466l8ifgmz7lk8bsmqxbb0a0d";
+    hash="1sn95flxrh85qjsg1kk700c1ggxaaccr9j1nnw7x4daw8lky25ac";
+    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.3.4/libmwaw-0.3.4.tar.xz";
+    sha256="1sn95flxrh85qjsg1kk700c1ggxaaccr9j1nnw7x4daw8lky25ac";
   };
   buildInputs = [
     boost pkgconfig cppunit zlib libwpg libwpd librevenge
diff --git a/pkgs/development/libraries/libndp/default.nix b/pkgs/development/libraries/libndp/default.nix
new file mode 100644
index 00000000000..ae0db409a1a
--- /dev/null
+++ b/pkgs/development/libraries/libndp/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libndp-1.4";
+
+  src = fetchurl {
+    url = "http://libndp.org/files/${name}.tar.gz";
+    sha256 = "0pym5xxq3avg348q61xggwy05i0r2m4sj3mlwlpxfjq2xi3y42rs";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://libndp.org/;
+    description = "Library for Neighbor Discovery Protocol";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+    license = licenses.lgpl21;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libnet/default.nix b/pkgs/development/libraries/libnet/default.nix
index 783739dda71..1e445b20f68 100644
--- a/pkgs/development/libraries/libnet/default.nix
+++ b/pkgs/development/libraries/libnet/default.nix
@@ -2,17 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "libnet-${version}";
-  version = "1.2-rc2";
+  version = "1.2-rc3";
 
   src = fetchurl {
     url = "mirror://sourceforge/libnet-dev/${name}.tar.gz";
-    sha256 = "1pc74p839a7wvhjdgy0scj7c4yarr6mqdqvj56k6sp8pkc763az7";
+    sha256 = "0qsapqa7dzq9f6lb19kzilif0pj82b64fjv5bq086hflb9w81hvj";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://github.com/sam-github/libnet;
     description = "Portable framework for low-level network packet construction";
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index da32903c94e..f6908cd514c 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0zcwjav1qgr7ikmvfmy7g3nc7s1kj4j4939d18mpyha9mwy4mv6r";
   };
 
-  buildInputs = [ pkgconfig libnfnetlink libmnl ];
+  buildInputs = [ pkgconfig libmnl ];
+  propagatedBuildInputs = [ libnfnetlink ];
 
   meta = {
     description = "Userspace library providing an API to the in-kernel connection tracking state table";
@@ -22,5 +23,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
+    maintainers = stdenv.lib.maintainers.nckx;
   };
 }
diff --git a/pkgs/development/libraries/libnetfilter_cthelper/default.nix b/pkgs/development/libraries/libnetfilter_cthelper/default.nix
new file mode 100644
index 00000000000..197892897f3
--- /dev/null
+++ b/pkgs/development/libraries/libnetfilter_cthelper/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, libmnl }:
+
+stdenv.mkDerivation rec {
+  name = "libnetfilter_cthelper-${version}";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "http://netfilter.org/projects/libnetfilter_cthelper/files/${name}.tar.bz2";
+    sha256 = "07618e71c4d9a6b6b3dc1986540486ee310a9838ba754926c7d14a17d8fccf3d";
+  };
+
+  buildInputs = [ pkgconfig libmnl ];
+
+  meta = {
+    description = "Userspace library that provides the programming interface to the user-space connection tracking helper infrastructure.";
+    longDescription = ''
+      libnetfilter_cthelper is the userspace library that provides the programming interface
+      to the user-space helper infrastructure available since Linux kernel 3.6. With this
+      library, you register, configure, enable and disable user-space helpers. This library
+      is used by conntrack-tools.
+    '';
+    homepage = http://www.netfilter.org/projects/libnetfilter_cthelper/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libnetfilter_cttimeout/default.nix b/pkgs/development/libraries/libnetfilter_cttimeout/default.nix
new file mode 100644
index 00000000000..0626e91b8ba
--- /dev/null
+++ b/pkgs/development/libraries/libnetfilter_cttimeout/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, libmnl }:
+
+stdenv.mkDerivation rec {
+  name = "libnetfilter_cttimeout-${version}";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "http://netfilter.org/projects/libnetfilter_cttimeout/files/${name}.tar.bz2";
+    sha256 = "aeab12754f557cba3ce2950a2029963d817490df7edb49880008b34d7ff8feba";
+  };
+
+  buildInputs = [ pkgconfig libmnl ];
+
+  meta = {
+    description = "Userspace library that provides the programming interface to the connection tracking timeout infrastructure.";
+    longDescription = ''
+      libnetfilter_cttimeout is the userspace library that provides the programming
+      interface to the fine-grain connection tracking timeout infrastructure.
+      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/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index cb1e8346742..4a4159bfdc7 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "libnftnl-1.0.2";
+  name = "libnftnl-1.0.3";
 
   src = fetchurl {
     url = "netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
-    sha256 = "1p268cv85l4ipd1p9ipjdrfgba14cblp01apv7wc44zmwfr2gkkq";
+    sha256 = "1xr7gis51z9r96s5m5z3dw3f5jx2m1qb7mpvl69631m6nvmff2ng";
   };
 
   buildInputs = [ pkgconfig libmnl ];
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
index b3eee8ed434..3cb9629e3e1 100644
--- a/pkgs/development/libraries/liboauth/default.nix
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -2,11 +2,11 @@
 
 
 stdenv.mkDerivation rec {
-  name = "liboauth-1.0.2";
+  name = "liboauth-1.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/liboauth/${name}.tar.gz";
-    sha256 = "1qs58yzydw20dmzvx22i541w641kwd6ja80s9na1az32n1krh6zv";
+    sha256 = "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd";
   };
 
   buildInputs = [ nss openssl ];
diff --git a/pkgs/development/libraries/libodfgen/default.nix b/pkgs/development/libraries/libodfgen/default.nix
index 2e6c58c804e..c5491f96bb5 100644
--- a/pkgs/development/libraries/libodfgen/default.nix
+++ b/pkgs/development/libraries/libodfgen/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libodfgen";
-    version="0.1.1";
+    version="0.1.3";
     name="${baseName}-${version}";
-    hash="1p335m2l19c7glsss30rrm5dxfcyajk9fvj7rsclgn0kmb4y48cm";
-    url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.1/libodfgen-0.1.1.tar.xz";
-    sha256="1p335m2l19c7glsss30rrm5dxfcyajk9fvj7rsclgn0kmb4y48cm";
+    hash="1flfh1i4r116aqdlqpgpmyzpcylwba48l7mddj25a2cwgsc9v86k";
+    url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.3/libodfgen-0.1.3.tar.xz";
+    sha256="1flfh1i4r116aqdlqpgpmyzpcylwba48l7mddj25a2cwgsc9v86k";
   };
   buildInputs = [
     boost pkgconfig cppunit zlib libwpg libwpd librevenge
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index 2dce6db1bf2..c17045d5e4b 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.9";
+  name = "libofx-0.9.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "08vvfj1rq0drcdfchrgb5zp05a2xl3a5aapsfgj0gqy3rp2qivwl";
+    sha256 = "15gnbh4mszfxk70srdcjkdykk7dbhzqxi3pxgh48a9zg8i4nmqjl";
   };
 
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix
index 9d5b9cd9298..ea2c4226289 100644
--- a/pkgs/development/libraries/libogg/default.nix
+++ b/pkgs/development/libraries/libogg/default.nix
@@ -1,10 +1,7 @@
 { stdenv, fetchurl }:
 
-let
+stdenv.mkDerivation rec {
   name = "libogg-1.3.2";
-in
-stdenv.mkDerivation {
-  inherit name;
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/ogg/${name}.tar.xz";
diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix
index 66d07b547c5..43b1f347093 100644
--- a/pkgs/development/libraries/liboil/default.nix
+++ b/pkgs/development/libraries/liboil/default.nix
@@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
   # errors
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--build=x86_64";
 
+  # fixes a cast in inline asm: easier than patching
+  buildFlags = stdenv.lib.optional stdenv.isDarwin "CFLAGS=-fheinous-gnu-extensions";
+
   meta = with stdenv.lib; {
     description = "A library of simple functions that are optimized for various CPUs";
     homepage    = http://liboil.freedesktop.org;
diff --git a/pkgs/development/libraries/libomxil-bellagio/default.nix b/pkgs/development/libraries/libomxil-bellagio/default.nix
new file mode 100644
index 00000000000..4a80ac3a875
--- /dev/null
+++ b/pkgs/development/libraries/libomxil-bellagio/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libomxil-bellagio-${version}";
+  version = "0.9.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/omxil/omxil/Bellagio%20${version}/${name}.tar.gz";
+    sha256 = "0k6p6h4npn8p1qlgq6z3jbfld6n1bqswzvxzndki937gr0lhfg2r";
+  };
+  
+  patches = [ ./fedora-fixes.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = http://sourceforge.net/projects/omxil/;
+    description = "an opensource implementation of the Khronos OpenMAX Integration Layer API to access multimedia components";
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libomxil-bellagio/fedora-fixes.patch b/pkgs/development/libraries/libomxil-bellagio/fedora-fixes.patch
new file mode 100644
index 00000000000..2ae3c3c871c
--- /dev/null
+++ b/pkgs/development/libraries/libomxil-bellagio/fedora-fixes.patch
@@ -0,0 +1,199 @@
+When libomxdynamicloader.so is loaded, it complains that RM_Deinit can't be resolved.
+Link explicitly against omxil-bellagio so that ld.so can find the reference.
+
+Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
+
+--- bellagio-0.9.3/src/dynamic_loader/Makefile.am.old	2012-03-23 15:07:47.379021034 +0000
++++ bellagio-0.9.3/src/dynamic_loader/Makefile.am	2012-03-23 15:08:47.563034818 +0000
+@@ -3,7 +3,7 @@
+ omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la
+ libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h
+ 
+-libomxdynamicloader_la_LDFLAGS =
++libomxdynamicloader_la_LDFLAGS = -L$(abs_top_srcdir)/src/.libs -lomxil-bellagio
+ libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \
+ 			-I$(top_srcdir)/src \
+ 			-I$(top_srcdir)/src/base \
+Fix dependency issue to allow parallel build
+
+Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
+
+Index: bellagio-0.9.3/src/Makefile.am
+===================================================================
+--- bellagio-0.9.3.orig/src/Makefile.am
++++ bellagio-0.9.3/src/Makefile.am
+@@ -8,6 +8,7 @@ omxregister_bellagio_SOURCES = omxregist
+ omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \
+ 			      -I$(top_srcdir)/include
+ omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir)
++omxregister_bellagio_DEPENDENCIES = libomxil-bellagio.la
+ 
+ lib_LTLIBRARIES = libomxil-bellagio.la
+ libomxil_bellagio_la_SOURCES = component_loader.h \
+We always access globalComponentList[] at indexComponent=-1 which causes a
+segfault. Use i as the index instead.
+
+Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
+
+--- bellagio-0.9.3/src/omx_reference_resource_manager.c.old	2012-03-13 10:15:25.743940980 +0000
++++ bellagio-0.9.3/src/omx_reference_resource_manager.c	2012-03-13 10:18:02.201971009 +0000
+@@ -485,7 +485,6 @@
+ OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) {
+ 	omx_base_component_PrivateType* omx_base_component_Private;
+ 	int i = 0;
+-	int indexComponent = -1;
+ 
+ 	DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__);
+ 	omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate;
+@@ -493,16 +492,13 @@
+ 	while(listOfcomponentRegistered[i].component_name != NULL ) {
+ 		if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) {
+ 			// found component in the list of the resource manager
+-			removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp);
+-			break;
++			removeElemFromList(&globalComponentList[i], openmaxStandComp);
++			DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__);
++			return OMX_ErrorNone;
+ 		}
+ 		i++;
+ 	}
+-	if (indexComponent <0) {
+-		// No resource to be handled
+-		DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__);
+-		return OMX_ErrorNone;
+-	}
+-	DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__);
++	// No resource to be handled
++	DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__);
+ 	return OMX_ErrorNone;
+ }
+ OMX_INDEXTYPE/OMX_INDEXVENDORTYPE in one switch
+ src/base/omx_base_component.c |   54 ++++++++++++++++++++++-------------------
+ 1 files changed, 29 insertions(+), 25 deletions(-)
+--- a/src/base/omx_base_component.c	
++++ a/src/base/omx_base_component.c	
+@@ -915,14 +915,6 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter(
+     return OMX_ErrorBadParameter;
+   }
+   switch(nParamIndex) {
+-  case OMX_IndexParameterThreadsID:
+-	    if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) {
+-	      break;
+-	    }
+-	  threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure;
+-	  threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID;
+-	  threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID;
+-	  break;
+   case OMX_IndexParamAudioInit:
+   case OMX_IndexParamVideoInit:
+   case OMX_IndexParamImageInit:
+@@ -988,28 +980,40 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter(
+       }
+     }
+     break;
+-  case OMX_IndexVendorCompPropTunnelFlags:
+-    pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure;
++  default:
++    /* additional switch statement for extended OMX_INDEXTYPE */
++    switch((OMX_INDEXVENDORTYPE) nParamIndex) {
++    case OMX_IndexParameterThreadsID:
++        if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) {
++          break;
++        }
++      threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure;
++      threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID;
++      threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID;
++      break;
++    case OMX_IndexVendorCompPropTunnelFlags:
++      pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure;
+ 
+-    if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts +
+-                                         omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts +
+-                                         omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts +
+-                                         omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) {
++      if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts +
++                                           omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts +
++                                           omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts +
++                                           omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) {
+ 
+-      DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n",
+-          __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__);
++        DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n",
++            __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__);
+ 
+-      return OMX_ErrorBadPortIndex;
+-    }
++        return OMX_ErrorBadPortIndex;
++      }
+ 
+-    pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex];
++      pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex];
+ 
+-    pPropTunnelSetup->nTunnelSetup.nTunnelFlags  = pPort->nTunnelFlags;
+-    pPropTunnelSetup->nTunnelSetup.eSupplier     = pPort->eBufferSupplier;
+-    break;
+-  default:
+-    err = OMX_ErrorUnsupportedIndex;
+-    break;
++      pPropTunnelSetup->nTunnelSetup.nTunnelFlags  = pPort->nTunnelFlags;
++      pPropTunnelSetup->nTunnelSetup.eSupplier     = pPort->eBufferSupplier;
++      break;
++    default:
++      err = OMX_ErrorUnsupportedIndex;
++      break;
++    }
+   }
+   DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s for component %p\n", __func__, hComponent);
+   return err;
+diff -up libomxil-bellagio-0.9.3/Makefile.am.nodoc libomxil-bellagio-0.9.3/Makefile.am
+--- libomxil-bellagio-0.9.3/Makefile.am.nodoc	2011-01-12 08:53:26.000000000 +0100
++++ libomxil-bellagio-0.9.3/Makefile.am	2012-04-23 13:46:15.410823381 +0200
+@@ -7,7 +7,6 @@ EXTRA_DIST = libomxil-bellagio.spec
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libomxil-bellagio.pc
+ 
+-docdir = $(DESTDIR)$(prefix)/share/doc/@PACKAGE@
+ doc_DATA = README \
+ 	   ChangeLog \
+ 	   TODO
+diff -up libomxil-bellagio-0.9.3/src/omxregister.c.unused libomxil-bellagio-0.9.3/src/omxregister.c
+--- libomxil-bellagio-0.9.3/src/omxregister.c.unused	2011-01-12 08:53:26.000000000 +0100
++++ libomxil-bellagio-0.9.3/src/omxregister.c	2012-12-10 22:02:28.621695659 +0100
+@@ -248,7 +248,15 @@ static int buildComponentsList(FILE* omx
+ 						}
+ 						fptr(stComponents);
+ 						err = fwrite(lib_absolute_path, 1, strlen(lib_absolute_path), omxregistryfp);
+-						err = fwrite("\n", 1, 1, omxregistryfp);
++						if (err != strlen(lib_absolute_path)) {
++							DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(lib_absolute_path), fileno(omxregistryfp));
++							continue;
++						}
++						err = fwrite("\n", 1, strlen(buffer), omxregistryfp);
++						if (err != strlen(buffer)) {
++							DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(buffer), fileno(omxregistryfp));
++							continue;
++						}
+ 
+ 
+ 						for (i = 0; i<num_of_comp; i++) {
+--- libomxil-bellagio-0.9.3/include/OMX_Types.h.orig 2011-01-12 08:53:26.000000000 +0100
++++ libomxil-bellagio-0.9.3/include/OMX_Types.h 2013-02-25 09:53:55.000000000 +0100
+@@ -314,6 +314,18 @@
+  *  platform & operating specific object used to reference the window */
+ typedef void* OMX_NATIVE_WINDOWTYPE;
+
++
++/** Define the OMX IL version that corresponds to this set of header files.
++ *  We also define a combined version that can be used to write or compare
++ *  values of the 32bit nVersion field, assuming a little endian architecture */
++#define OMX_VERSION_MAJOR 1
++#define OMX_VERSION_MINOR 1
++#define OMX_VERSION_REVISION 2
++#define OMX_VERSION_STEP 0
++
++#define OMX_VERSION ((OMX_VERSION_STEP<<24) | (OMX_VERSION_REVISION<<16) | (OMX_VERSION_MINOR<<8) | OMX_VERSION_MAJOR)
++
++
+ /** The OMX_VERSIONTYPE union is used to specify the version for
+     a structure or component.  For a component, the version is entirely
+     specified by the component vendor.  Components doing the same function
diff --git a/pkgs/development/libraries/libopensc-dnie/default.nix b/pkgs/development/libraries/libopensc-dnie/default.nix
index 2d736411780..f2855dd2a92 100644
--- a/pkgs/development/libraries/libopensc-dnie/default.nix
+++ b/pkgs/development/libraries/libopensc-dnie/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     ar x opensc-dnie*
     tar xf data.tar.gz
 
-    RPATH=${glib}/lib:${opensc}/lib:${openssl}/lib:${openct}/lib:${libtool}/lib:${pcsclite}/lib:${stdenv.gcc.libc}/lib:${zlib}/lib
+    RPATH=${glib}/lib:${opensc}/lib:${openssl}/lib:${openct}/lib:${libtool}/lib:${pcsclite}/lib:${stdenv.cc.libc}/lib:${zlib}/lib
 
     for a in "usr/lib/"*.so*; do
         if ! test -L $a; then
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.dnielectronico.es/descargas/;
     description = "Opensc plugin to access the Spanish national ID smartcard";
-    license = "nonfree";
+    license = stdenv.lib.licenses.unfree;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
     broken = true;
diff --git a/pkgs/development/libraries/liboping/default.nix b/pkgs/development/libraries/liboping/default.nix
index b48b9c0585b..83903002c97 100644
--- a/pkgs/development/libraries/liboping/default.nix
+++ b/pkgs/development/libraries/liboping/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses ? null, perl ? null }:
 
 stdenv.mkDerivation rec {
-  name = "liboping-1.6.2";
+  name = "liboping-1.8.0";
 
   src = fetchurl {
     url = "http://verplant.org/liboping/files/${name}.tar.bz2";
-    sha256 = "1kvkpdcd5jinyc15cgir48v91qphpw22c03inydaga5m4yqv8jjz";
+    sha256 = "1nsvlsvapc64h0anip2hz5ydbgk3an94xqiaa9kivcw1r6193jqx";
   };
 
   buildInputs = [ ncurses perl ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       Included is a sample application, called oping, which demonstrates the
       library's abilities.
     '';
-    homepage = http://verplant.org/liboping/;
+    homepage = http://noping.cc/;
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
index 78b264506f0..557e448e2d4 100644
--- a/pkgs/development/libraries/libopus/default.nix
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Open, royalty-free, highly versatile audio codec";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     homepage = http://www.opus-codec.org/;
   };
 }
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index 0eb735900b3..7c103d76bd5 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libosinfo-0.2.10";
+  name = "libosinfo-0.2.11";
 
   src = fetchurl {
     url = "https://fedorahosted.org/releases/l/i/libosinfo/${name}.tar.gz";
-    sha256 = "564bd487a39dc09a10917c1d7a95f739ee7701d9cd0fbabcacea64f615e20a2d";
+    sha256 = "0889zvidhmpk3nd7c1xhh3fkk9i014dkr6zdlddh89kbflva2sxv";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libosmpbf/default.nix b/pkgs/development/libraries/libosmpbf/default.nix
new file mode 100644
index 00000000000..6ff5d816776
--- /dev/null
+++ b/pkgs/development/libraries/libosmpbf/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, protobuf}:
+
+stdenv.mkDerivation rec {
+  name = "libosmpbf-1.3.3";
+
+  src = fetchurl {
+    url = "https://github.com/scrosby/OSM-binary/archive/v1.3.3.tar.gz";
+    sha256 = "a109f338ce6a8438a8faae4627cd08599d0403b8977c185499de5c17b92d0798";
+  };
+
+  buildInputs = [ protobuf ];
+
+  sourceRoot = "OSM-binary-1.3.3/src";
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = {
+    homepage = https://github.com/scrosby/OSM-binary;
+    description = "C library to read and write OpenStreetMap PBF files.";
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index 3782dabc67b..aeae2a70d6c 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -1,23 +1,22 @@
-{stdenv, fetchgit, libgcrypt, autoconf, automake, libtool}:
+{ stdenv, fetchurl, libgcrypt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libotr-20130821-git-f0f8a2";
-  src = fetchgit {
-    url = "http://git.code.sf.net/p/otr/libotr";
-    rev = "f0f8a2";
-    sha256 = "08019r8bnk8f4yx6574jdz217p283ry7dmpqcad2d87yhkdmc3mm";
-  };
-
-  NIX_LDFLAGS = "-lssp";
+  name = "libotr-4.1.0";
 
-  propagatedBuildInputs = [ libgcrypt autoconf automake libtool ];
+  src = fetchurl {
+    url = "https://otr.cypherpunks.ca/${name}.tar.gz";
+    sha256 = "0c6rkh58s6wqzcrpccwdik5qs91qj6dgd60a340d72gc80cqknsg";
+  };
 
-  preConfigure = "autoreconf -vfi";
+  buildInputs = [ autoreconfHook ];
+  propagatedBuildInputs = [ libgcrypt ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.cypherpunks.ca/otr/";
     repositories.git = git://git.code.sf.net/p/otr/libotr;
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
     description = "Library for Off-The-Record Messaging";
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libowfat/default.nix b/pkgs/development/libraries/libowfat/default.nix
new file mode 100644
index 00000000000..aaa1abacab8
--- /dev/null
+++ b/pkgs/development/libraries/libowfat/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libowfat-0.29";
+
+  src = fetchurl {
+    url = "http://dl.fefe.de/${name}.tar.bz2";
+    sha256 = "09v4phf1d4y617fdqwn214jmkialf7xqcsyx3rzk7x5ysvpbvbab";
+  };
+
+  makeFlags = "prefix=$(out)";
+  
+  meta = with stdenv.lib; {
+    homepage = http://www.fefe.de/libowfat/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index 11eccb0a0e3..9ed1aab4034 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -10,14 +10,19 @@ stdenv.mkDerivation rec {
   
   nativeBuildInputs = [ flex bison ];
   
-  configureFlags = "--with-pcap=linux";
+  # 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 [];
 
   preInstall = ''mkdir -p $out/bin'';
   
   crossAttrs = {
     # Stripping hurts in static libraries
     dontStrip = true;
-    configureFlags = [ "--with-pcap=linux" "ac_cv_linux_vers=2" ];
+    configureFlags = configureFlags ++ [ "ac_cv_linux_vers=2" ];
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libpfm/default.nix b/pkgs/development/libraries/libpfm/default.nix
new file mode 100644
index 00000000000..cbb314a7bb7
--- /dev/null
+++ b/pkgs/development/libraries/libpfm/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "4.5.0";
+  name = "libpfm-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/perfmon2/libpfm4/${name}.tar.gz";
+    sha1 = "857eb066724e2a5b723d6802d217c8eddff79082";
+  };
+
+  installFlags = "DESTDIR=\${out} PREFIX= LDCONFIG=true";
+
+  meta = {
+    description = "Helper library to program the performance monitoring events";
+    longDescription = ''
+      This package provides a library, called libpfm4 which is used to
+      develop monitoring tools exploiting the performance monitoring
+      events such as those provided by the Performance Monitoring Unit
+      (PMU) of modern processors.
+    '';
+    licence = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.pierron ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libpgf/default.nix b/pkgs/development/libraries/libpgf/default.nix
new file mode 100644
index 00000000000..964896131c9
--- /dev/null
+++ b/pkgs/development/libraries/libpgf/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, dos2unix }:
+
+with stdenv.lib;
+
+let
+  version = "6.14.12";
+in
+stdenv.mkDerivation {
+  name = "libpgf-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libpgf/libpgf-src-${version}.tar.gz";
+    sha256 = "1ssqjbh6l5jc04f67n47m9bqcigl46c6lgyabyi6cabnh1frk9dx";
+  };
+
+  buildInputs = [ autoconf automake libtool dos2unix ];
+
+  preConfigure = "dos2unix configure.ac; sh autogen.sh";
+
+# configureFlags = optional static "--enable-static --disable-shared";
+
+  meta = {
+    homepage = http://www.libpgf.org/;
+    description = "Progressive Graphics Format";
+    license = stdenv.lib.licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix
index e56a45c92fc..2213ea2e8b9 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.2.6";
+  name = "libpipeline-1.4.0";
   
   src = fetchurl {
     url = "mirror://savannah/libpipeline/${name}.tar.gz";
-    sha256 = "0wjsigim422ilzs46hxzv98l10zprpbk53gq3jzj6s9kn9n1wljc";
+    sha256 = "1dlvp2mxlhg5zbj509kc60h7g39hpgwkzkpdf855cyzizgkmkivr";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index ff04c7181df..fae6f9ba556 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
-    license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
+    license = stdenv.lib.licenses.libpng;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    branch = "1.2";
   };
 }
diff --git a/pkgs/development/libraries/libpng/15.nix b/pkgs/development/libraries/libpng/15.nix
index 15351798633..177c534ffaf 100644
--- a/pkgs/development/libraries/libpng/15.nix
+++ b/pkgs/development/libraries/libpng/15.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.5.18";
+  name = "libpng-1.5.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "119m71p60iq3yn2n8ckl4j4cxvbpddj6sgdpa6g05jzyg7vw54y0";
+    sha256 = "1s990cdsdlbb78aq4sj2vq2849p2nbbbnbk5p8f9w45rn0v5q98y";
   };
 
   propagatedBuildInputs = [ zlib ];
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
-    license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
+    license = stdenv.lib.licenses.libpng;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    branch = "1.5";
   };
 }
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index fa5c64eb911..7a233b6715c 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 let
-  version = "1.6.13";
-  sha256 = "09g631h1f1xvrdiy36mh1034r9w46damp9jcg7nm507wlmacxj6r";
+  version = "1.6.16";
+  sha256 = "0q5ygy15jkpqbj5701ywrjzqp4nl5yz3r4g58h2p0kiycggm9xs2";
   patch_src = fetchurl {
     url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
-    sha256 = "017pnxp3zhhlh6mg2yqn5xrb6dcxc5p3dp1kr46p8xx052i0hzqb";
+    sha256 = "1sf27a5gvwvcm4wsf2pyq87d3g4l2fym8cirq9sli54bi753ikbh";
   };
   whenPatched = stdenv.lib.optionalString apngSupport;
 
@@ -35,8 +35,8 @@ in stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "The official reference implementation for the PNG file format" + whenPatched " with animation patch";
     homepage = http://www.libpng.org/pub/png/libpng.html;
-    license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
+    license = licenses.libpng;
     platforms = platforms.all;
-    maintainers = [ maintainers.vcunat ];
+    maintainers = [ maintainers.vcunat maintainers.fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/libpst/default.nix b/pkgs/development/libraries/libpst/default.nix
new file mode 100644
index 00000000000..d4b602c9017
--- /dev/null
+++ b/pkgs/development/libraries/libpst/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, boost, python, libgsf,
+  pkgconfig, bzip2, xmlto, gettext, imagemagick, doxygen }:
+
+stdenv.mkDerivation rec {
+  name = "libpst-0-6-63";
+
+  src = fetchurl {
+      url = http://www.five-ten-sg.com/libpst/packages/libpst-0.6.63.tar.gz;
+      sha256 = "0qih919zk40japs4mpiaw5vyr2bvwz60sjf23gixd5vvzc32cljz";
+    };
+
+  buildInputs = [ autoconf automake libtool boost python libgsf pkgconfig bzip2
+		  xmlto gettext imagemagick doxygen ];
+
+  preConfigure = ''
+    autoreconf -v -f -i
+  '';
+
+  doCheck = true;
+
+  meta = {
+    homepage = http://www.five-ten-sg.com/libpst/;
+    description = "A library to read PST (MS Outlook Personal Folders) files";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/libraries/libqb/default.nix b/pkgs/development/libraries/libqb/default.nix
new file mode 100644
index 00000000000..a0050daec34
--- /dev/null
+++ b/pkgs/development/libraries/libqb/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig }:
+
+stdenv.mkDerivation rec{
+  name = "libqb-0.17.1";
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/q/u/quarterback/${name}.tar.xz";
+    sha256 = "0a9fy4hb6ixs875fbqw77dfj7519ixg27vg4yajyl87y7gw1a8bs";
+  };
+
+  buildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/clusterlabs/libqb;
+    description = "a library providing high performance logging, tracing, ipc, and poll";
+    license = licenses.lgpl21;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index a0292067dbb..9699d67d7b8 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python }:
 
 stdenv.mkDerivation rec {
-  name = "libqmi-1.8.0";
+  name = "libqmi-1.12.6";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libqmi/${name}.tar.xz";
-    sha256 = "03gf221yjcdzvnl4v2adwpc6cyg5mlbccn20s00fp5bgvmq81pgs";
+    sha256 = "101ppan2q1h4pyp2zbn9b8sdwy2c7fk9rp91yykxz3afrvzbymq8";
   };
 
   preBuild = ''
@@ -15,7 +15,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig glib python ];
 
   meta = with stdenv.lib; {
+    homepage = http://www.freedesktop.org/wiki/Software/libqmi/;
     description = "Modem protocol helper library";
     platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/librdf/raptor.nix b/pkgs/development/libraries/librdf/raptor.nix
index dd19d3f179f..ef194bb0b1e 100644
--- a/pkgs/development/libraries/librdf/raptor.nix
+++ b/pkgs/development/libraries/librdf/raptor.nix
@@ -14,10 +14,10 @@ stdenv.mkDerivation rec {
     sed -e '/curl\/types/d' -i src/*.c src/*.h
   '';
 
-  meta = { 
+  meta = {
     description = "The RDF Parser Toolkit";
     homepage = "http://librdf.org/raptor";
-    license = "LGPL-2.1 Apache-2.0";
+    license = with stdenv.lib.licenses; [ lgpl21 asl20 ];
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/librdf/raptor2.nix b/pkgs/development/libraries/librdf/raptor2.nix
index 500acdfb2ec..f84cfa044c6 100644
--- a/pkgs/development/libraries/librdf/raptor2.nix
+++ b/pkgs/development/libraries/librdf/raptor2.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libxml2, libxslt, curl }:
 
 stdenv.mkDerivation rec {
-  name = "raptor2-2.0.12"; # 2.0.9 misses a header and so fails liblrdf
+  name = "raptor2-2.0.15";
 
   src = fetchurl {
     url = "http://download.librdf.org/source/${name}.tar.gz";
-    sha256 = "1644a1nnw5k6168v9gjfx1rcbij6ybjximd35a3zhcvyyijmb5di";
+    sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
   };
 
   buildInputs = [ libxml2 libxslt ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The RDF Parser Toolkit";
     homepage = "http://librdf.org/raptor";
-    license = "LGPL-2.1 Apache-2.0";
+    license = with stdenv.lib.licenses; [ lgpl21 asl20 ];
     maintainers = with stdenv.lib.maintainers; [ marcweber urkud ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix
index 1acc7c1d73c..6a5e4578cac 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.31";
+  name = "rasqal-0.9.32";
 
   src = fetchurl {
     url = "http://download.librdf.org/source/${name}.tar.gz";
-    sha256 = "1vkzifr488i31vxdnykyf2aq87023vx4bag4d94b1rdhy74l7mr8";
+    sha256 = "eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Library that handles Resource Description Framework (RDF)";
     homepage = "http://librdf.org/rasqal";
-    license = "LGPL-2.1 Apache-2.0";
+    license = with stdenv.lib.licenses; [ lgpl21 asl20 ];
     maintainers = with stdenv.lib.maintainers; [ marcweber urkud ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 4863c928988..8ef90049345 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -7,11 +7,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "redland-1.0.16";
+  name = "redland-1.0.17";
 
   src = fetchurl {
     url = "http://download.librdf.org/source/${name}.tar.gz";
-    sha256 = "1gcx0h5dxa3c4xhhjk3gr0708zjj0n6zpslvbjfi2qbf13y798nr";
+    sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/development/libraries/librdmacm/default.nix b/pkgs/development/libraries/librdmacm/default.nix
new file mode 100644
index 00000000000..843ff62530b
--- /dev/null
+++ b/pkgs/development/libraries/librdmacm/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, libibverbs }:
+
+stdenv.mkDerivation rec {
+  name = "librdmacm-1.0.19.1";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/rdmacm/${name}.tar.gz";
+    sha256 = "0aq9x2aq62j9qn5yqifp4f2y7w2l35571ns260bwd2c60jf5fjlm";
+  };
+
+  buildInputs = [ libibverbs ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.openfabrics.org/;
+    platforms = platforms.linux;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index c67df46e89c..56e7084292c 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -1,18 +1,18 @@
 {stdenv, fetchurl, zlib, openssl}:
 stdenv.mkDerivation rec {
-  version = "0.4.9";
+  version = "0.4.12";
   name = "libre-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
-    sha256 = "1i98z9qw3jpkaq419189vr8h3qcxqlz40dls77rbn4c0agc69703";
+    sha256 = "1wjdcf5wr50d86rysj5haz53v7d58j7sszpc6k5b4mn1x6604i0d";
   };
   buildInputs = [zlib openssl];
   makeFlags = [
     "USE_ZLIB=1" "USE_OPENSSL=1" 
     ''PREFIX=$(out)''
   ]
-  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
-  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
+  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
   ;
   meta = {
     homepage = "http://www.creytiv.com/re.html";
diff --git a/pkgs/development/libraries/librelp/default.nix b/pkgs/development/libraries/librelp/default.nix
new file mode 100644
index 00000000000..fe05275871f
--- /dev/null
+++ b/pkgs/development/libraries/librelp/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, gnutls, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "librelp-1.2.7";
+
+  src = fetchurl {
+    url = "http://download.rsyslog.com/librelp/${name}.tar.gz";
+    sha256 = "1lfpd06cchi1mhlxwq0xhmbx42b8isx9677v9h80c9vpf4f4lhrs";
+  };
+
+  buildInputs = [ pkgconfig gnutls zlib ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.librelp.com/;
+    description = "a reliable logging library";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index fe49609ce68..165e16a8823 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
     "LIBRE_INC=${libre}/include/re"
     ''PREFIX=$(out)''
   ]
-  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
-  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
+  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
   ;
   meta = {
     homepage = "http://www.creytiv.com/rem.html";
diff --git a/pkgs/development/libraries/librep/default.nix b/pkgs/development/libraries/librep/default.nix
new file mode 100644
index 00000000000..2abe01decb7
--- /dev/null
+++ b/pkgs/development/libraries/librep/default.nix
@@ -0,0 +1,42 @@
+
+	{ stdenv, fetchgit
+, pkgconfig, autoreconfHook
+, readline, texinfo
+, gdbm, gmp, libffi }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "librep-git-2015-02-15";
+
+  src = fetchgit {
+    url = "https://github.com/SawfishWM/librep.git";
+    rev = "a1f2db721aa5055e90f6a76fde625946340ed8cf";
+    sha256 = "c91484d02b2408becc8961997c3d6404aefa8e1f8af4621a8b5f7622b1857fa6";
+  };
+
+  buildInputs = [ pkgconfig autoreconfHook readline texinfo ];
+  propagatedBuildInputs = [ gdbm gmp libffi ];
+
+  configureFlags = [
+    "--disable-static"
+  ];
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    description = "Lisp system for Sawfish";
+    longDescription = ''
+      This is librep, a Lisp system for UNIX, needed by Sawfish window manager.
+      It contains a Lisp interpreter, byte-code compiler and virtual machine.
+      Applications may use the Lisp interpreter as an extension language,
+      or it may be used for stand-alone scripts.
+
+      The Lisp dialect was originally inspired by Emacs Lisp, but with the worst
+      features removed. It also borrows many ideas from Scheme.
+    '';
+    homepage = http://sawfish.wikia.com;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/libraries/librep/setup-hook.sh b/pkgs/development/libraries/librep/setup-hook.sh
new file mode 100644
index 00000000000..420d63d6c51
--- /dev/null
+++ b/pkgs/development/libraries/librep/setup-hook.sh
@@ -0,0 +1,5 @@
+addRepDLLoadPath () {
+    addToSearchPath REP_DL_LOAD_PATH $1/lib/rep
+}
+
+envHooks+=(addRepDLLoadPath)
diff --git a/pkgs/development/libraries/libresample/default.nix b/pkgs/development/libraries/libresample/default.nix
index 9ef1ada0a42..e8d4f98028f 100644
--- a/pkgs/development/libraries/libresample/default.nix
+++ b/pkgs/development/libraries/libresample/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     description = "A real-time library for sampling rate conversion library";
     license = stdenv.lib.licenses.lgpl2Plus;
     homepage = https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html;
-    maintainers = stdenv.lib.maintainers.sander;
+    maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index f77e9a31377..ef4638eea27 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "libressl-${version}";
-  version = "2.0.5";
+  version = "2.1.6";
 
   src = fetchurl {
-    url    = "http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${name}.tar.gz";
-    sha256 = "16pwgmj90k10pf03il39lnck5kqw59hj0fp2qhmgsgmrvssn6m1z";
+    url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
+    sha256 = "1a2k6sby6a1d0hf4hns6d13cvyck2i0figbkf1q0301vggcnv0jg";
   };
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Free TLS/SSL implementation";
     homepage    = "http://www.libressl.org";
-    platforms   = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/librevenge/default.nix b/pkgs/development/libraries/librevenge/default.nix
index 8ddf026a1bc..ff7886d0513 100644
--- a/pkgs/development/libraries/librevenge/default.nix
+++ b/pkgs/development/libraries/librevenge/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="librevenge";
-    version="0.0.1";
+    version="0.0.2";
     name="${baseName}-${version}";
-    hash="0zgfxvbqf11pypyc0vmcan73x197f7ia1ywin9qqy9hvvmrjgchc";
-    url="mirror://sourceforge/project/libwpd/librevenge/librevenge-0.0.1/librevenge-0.0.1.tar.xz";
-    sha256="0zgfxvbqf11pypyc0vmcan73x197f7ia1ywin9qqy9hvvmrjgchc";
+    hash="03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn";
+    url="mirror://sourceforge/project/libwpd/librevenge/librevenge-0.0.2/librevenge-0.0.2.tar.xz";
+    sha256="03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn";
   };
   buildInputs = [
     boost pkgconfig cppunit zlib
@@ -19,11 +19,18 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+
+  # Clang generates warnings in Boost's header files
+  # -Werror causes these warnings to be interpreted as errors
+  # Simplest solution: disable -Werror
+  configureFlags = if (stdenv.cc.cc.isClang or false)
+    then [ "--disable-werror" ] else null;
+
   meta = {
     inherit (s) version;
     description = ''A base library for writing document import filters'';
     license = stdenv.lib.licenses.mpl20 ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 808407877e9..9589298ecd5 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
-, bzip2, libcroco
-, gtk2 ? null, gtk3 ? null
+, bzip2, libcroco, libintlOrEmpty
+, gtk3 ? null
 , gobjectIntrospection ? null, enableIntrospection ? false }:
 
 # no introspection by default, it's too big
 
 stdenv.mkDerivation rec {
-  name = "librsvg-2.36.4"; # 2.37 needs pango 1.32.6, 2.40 doesn't support gtk2
+  name = "librsvg-2.40.9";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/librsvg/2.36/${name}.tar.xz";
-    sha256 = "1hp6325gdkzx8yqn2d2r915ak3k6hfshjjh0sc54z3vr0i99688h";
+    url    = "mirror://gnome/sources/librsvg/2.40/${name}.tar.xz";
+    sha256 = "0fplymmqqr28y24vcnb01szn62pfbqhk8p1ngns54x9m6mflr5hk";
   };
 
-  buildInputs = [ libxml2 libgsf bzip2 libcroco pango ]
+  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+
+  buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintlOrEmpty ]
     ++ stdenv.lib.optional enableIntrospection [ gobjectIntrospection ];
 
-  propagatedBuildInputs = [ glib gdk_pixbuf cairo gtk2 gtk3 ];
+  propagatedBuildInputs = [ glib gdk_pixbuf cairo gtk3 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index 76daf7d748b..c5a7a7202e2 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -1,22 +1,29 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchFromGitHub, autoreconfHook, perl, zlib, bzip2, popt }:
 
-stdenv.mkDerivation {
-  name = "librsync-0.9.7";
+stdenv.mkDerivation rec {
+  name = "librsync-${version}";
+  version = "1.0.0";
   
-  src = fetchurl {
-    url = mirror://sourceforge/librsync/librsync-0.9.7.tar.gz;
-    sha256 = "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6";
+  src = fetchFromGitHub {
+    owner = "librsync";
+    repo = "librsync";
+    rev = "v${version}";
+    sha256 = "0rc2pksdd0mhdvk8y1yix71rf19wdx1lb2ryrkhi7vcy240rvgvc";
   };
 
+  buildInputs = [ autoreconfHook perl zlib bzip2 popt ];
+
   configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared";
 
   crossAttrs = {
     dontStrip = true;
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://librsync.sourceforge.net/;
-    license = stdenv.lib.licenses.lgpl2Plus;
+    license = licenses.lgpl2Plus;
     description = "Implementation of the rsync remote-delta algorithm";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix
new file mode 100644
index 00000000000..dbfa1656a1a
--- /dev/null
+++ b/pkgs/development/libraries/libsass/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libsass-${version}";
+  version = "3.1.0";
+
+  src = fetchFromGitHub {
+    owner = "sass";
+    repo = "libsass";
+    rev = version;
+    sha256 = "1k9a6hiybqk7xx4k2cb9vhdqskrrzhi60dvwp3gx39jhjqjfl96p";
+  };
+
+  preConfigure = ''
+    autoreconf --force --install
+  '';
+
+  buildInputs = [ autoconf automake libtool ];
+
+  meta = with lib; {
+    description = "A C/C++ implementation of a Sass compiler";
+    license = licenses.mit;
+    homepage = https://github.com/sass/libsass;
+    maintainers = with maintainers; [ offline ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index 32cb7b860c4..0410f64edec 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   version = "1.2.2";
-  seafileVersion = "3.0.4";
+  seafileVersion = "3.0-latest";
   name = "libsearpc-${version}";
 
   src = fetchurl
   {
     url = "https://github.com/haiwen/libsearpc/archive/v${seafileVersion}.tar.gz";
-    sha256 = "0s5bqqajxfzyw4km6nhhx39nyq20gv0fxlf2v6ifipvnyk14850k";
+    sha256 = "1kdq6chn3qhvr616sw91gf9kjfgbv9snl2srqisw0zddw1qkfcan";
   };
 
   patches = [ ./libsearpc.pc.patch ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec
   meta =
   {
     homepage = "https://github.com/haiwen/libsearpc";
-    description = "A simple and easy-to-use C language RPC framework (including both server side & client side) based on GObject System.";
+    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 ];
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index a66d31d2ec4..00655b51afc 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,31 +1,27 @@
-{ stdenv, fetchurl, getopt, bash }:
+{ stdenv, fetchFromGitHub, autoreconfHook, getopt }:
 
 stdenv.mkDerivation rec {
   name    = "libseccomp-${version}";
-  version = "2.1.1";
+  version = "2.2.0";
 
-  src = fetchurl {
-    url    = "mirror://sourceforge/libseccomp/libseccomp-${version}.tar.gz";
-    sha256 = "0744mjx5m3jl1hzz13zypivl88m0wn44mf5gsrd3yf3w80gc24l8";
+  src = fetchFromGitHub {
+    owner = "seccomp";
+    repo = "libseccomp";
+    rev = "v${version}";
+    sha256 = "0vfd6hx92cp1jaqxxaj30r92bfm6fmamxi2yqxrl82mqism1lk84";
   };
 
-  # This fixes the check for 'getopt' to function appropriately.
-  # Additionally, this package can optionally include the kernel
-  # headers if they exist, or use its own inline copy of the source
-  # for talking to the seccomp filter - we opt to always use the
-  # inline copy
+  buildInputs = [ autoreconfHook getopt ];
+
   patchPhase = ''
-    substituteInPlace ./configure --replace "/bin/bash" "${bash}/bin/bash"
-    substituteInPlace ./configure --replace "verify_deps getopt" ""
-    substituteInPlace ./configure --replace getopt ${getopt}/bin/getopt
-    substituteInPlace ./configure --replace 'opt_sysinc_seccomp="yes"' 'opt_sysinc_seccomp="no"'
+    patchShebangs .
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "high level library for the Linux Kernel seccomp filter";
     homepage    = "http://sourceforge.net/projects/libseccomp";
-    license     = stdenv.lib.licenses.lgpl2;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    license     = licenses.lgpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 08ada463a54..3ceabc3f1ac 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchurl, glib, dbus_libs, unzip, automake, libtool, autoconf, m4, docbook_xsl,
-  intltool, gtk_doc, gobjectIntrospection, pkgconfig, libxslt, libgcrypt }:
-
+{ stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl, gtk_doc
+, libgcrypt, gobjectIntrospection }:
+let
+  version = "0.18";
+in
 stdenv.mkDerivation rec {
-  version = "0.16";
   name = "libsecret-${version}";
 
   src = fetchurl {
-    url = "https://git.gnome.org/browse/libsecret/snapshot/libsecret-${version}.zip";
-    sha256 = "1yf4zvzfa45wr5bqlh54g3bmd0lgcsa8hnhppa99czca0zj7bkks";
+    url = "mirror://gnome/sources/libsecret/${version}/${name}.tar.xz";
+    sha256 = "1qq29c01xxjyx5sl6y5h22w8r0ff4c73bph3gfx3h7mx5mvalwqc";
   };
 
-  propagatedBuildInputs = [ glib dbus_libs ];
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ gtk_doc automake libtool autoconf intltool gobjectIntrospection pkgconfig libxslt libgcrypt m4 docbook_xsl ];
-
-  configureScript = "./autogen.sh";
+  propagatedBuildInputs = [ glib ];
+  nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl ];
+  buildInputs = [ libgcrypt gobjectIntrospection ];
+  # optional: build docs with gtk-doc? (probably needs a flag as well)
 
   meta = {
+    description = "A library for storing and retrieving passwords and other secrets";
+    homepage = https://wiki.gnome.org/Projects/Libsecret;
+    license = stdenv.lib.licenses.lgpl21Plus;
     inherit (glib.meta) platforms maintainers;
   };
 }
diff --git a/pkgs/development/libraries/libsieve/default.nix b/pkgs/development/libraries/libsieve/default.nix
new file mode 100644
index 00000000000..32fec68ad01
--- /dev/null
+++ b/pkgs/development/libraries/libsieve/default.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl}:
+stdenv.mkDerivation rec {
+  version = "2.3.1";
+  name = "libsieve-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/downloads/sodabrew/libsieve/libsieve-${version}.tar.gz";
+    sha256 = "1gllhl9hbmc86dq3k98d4kjs5bwk0p2rlk7ywqj3fjn7jw6mbhcj";
+  };
+
+  meta = with stdenv.lib; {
+    description = "An interpreter for RFC 3028 Sieve and various extensions";
+    homepage = "http://sodabrew.com/libsieve/";
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/libraries/libsigcxx/1.2.nix b/pkgs/development/libraries/libsigcxx/1.2.nix
index 29a7093dbbd..896b321272a 100644
--- a/pkgs/development/libraries/libsigcxx/1.2.nix
+++ b/pkgs/development/libraries/libsigcxx/1.2.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "libsigc++-1.2.7";
-  
+
   src = fetchurl {
     url = "mirror://gnome/sources/libsigc++/1.2/${name}.tar.bz2";
     sha256 = "099224v5y0y1ggqrfc8vga8afr3nb93iicn7cj8xxgsrwa83s5nr";
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://libsigc.sourceforge.net/;
     description = "A typesafe callback system for standard C++";
+    branch = "1.2";
   };
 }
diff --git a/pkgs/development/libraries/libsigsegv/2.5.nix b/pkgs/development/libraries/libsigsegv/2.5.nix
index ba11e0752b2..81b563bb022 100644
--- a/pkgs/development/libraries/libsigsegv/2.5.nix
+++ b/pkgs/development/libraries/libsigsegv/2.5.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "libsigsegv-2.5";
-  
+
   src = fetchurl {
     url = "mirror://gnu/libsigsegv/${name}.tar.gz";
     sha256 = "0fvcsq9msi63vrbpvks6mqkrnls5cfy6bzww063sqhk2h49vsyyg";
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://libsigsegv.sf.net;
     description = "A library for handling page faults in user mode";
+    branch = "2.5";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index b6be8d194c1..cabdd1385d7 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44";
   };
 
-  doCheck = true;
+  # https://github.com/NixOS/nixpkgs/issues/6028
+  doCheck = false;
 
   meta = {
     homepage = http://www.gnu.org/software/libsigsegv/;
@@ -26,6 +27,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index 754893894b6..fc554122c08 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-0.4.5";
+  name = "libsodium-1.0.2";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs";
+    sha256 = "06dabf77cz6qg7aqv5j5r4m32b5zn253pixwb3k5lm3z0h88y7cn";
   };
 
-  NIX_LDFLAGS = "-lssp";
+  NIX_LDFLAGS = stdenv.lib.optionalString (stdenv.cc.cc.isGNU or false) "-lssp";
 
   doCheck = true;
 
   meta = {
-    description = "Version of NaCl with harwdare tests at runtime, not build time";
-    license = "ISC";
+    description = "Version of NaCl with hardware tests at runtime, not build time";
+    license = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/libsoup/bad-symbol.patch b/pkgs/development/libraries/libsoup/bad-symbol.patch
new file mode 100644
index 00000000000..df1b0af0c69
--- /dev/null
+++ b/pkgs/development/libraries/libsoup/bad-symbol.patch
@@ -0,0 +1,10 @@
+--- a/libsoup/libsoup-2.4.sym 2014-10-29 22:37:54 -0700
++++ b/libsoup/libsoup-2.4.sym 2014-06-18 07:42:51 -0700
+@@ -348,7 +348,6 @@
+ soup_server_get_async_context
+ soup_server_get_listener
+ soup_server_get_listeners
+-soup_server_get_gsocket
+ soup_server_get_port
+ soup_server_get_type
+ soup_server_get_uris
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 049d6646ec8..82629ca3c6f 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -3,29 +3,30 @@
 , libintlOrEmpty
 , intltool, python }:
 let
-  majorVersion = "2.45";
-  version = "${majorVersion}.3";
+  majorVersion = "2.48";
+  version = "${majorVersion}.0";
 in
 stdenv.mkDerivation {
   name = "libsoup-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libsoup/${majorVersion}/libsoup-${version}.tar.xz";
-    sha256 = "04ma47hcrrbjp90r8jjn686cngnbgac24wgarpwwzlpg66wighva";
+    sha256 = "ea34dd64fe44343445daf6dd690d0691e9d973468de44878da97371c16d89784";
   };
 
   patchPhase = ''
     patchShebangs libsoup/
+    patch -p1 < ${./bad-symbol.patch}
   '';
 
-  buildInputs = libintlOrEmpty ++ [ intltool python ];
+  buildInputs = libintlOrEmpty ++ [ intltool python sqlite ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
-    ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring sqlite ];
+    ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring ];
   passthru.propagatedUserEnvPackages = [ glib_networking ];
 
   # glib_networking is a runtime dependency, not a compile-time dependency
-  configureFlags = "--disable-tls-check";
+  configureFlags = "--disable-tls-check" + stdenv.lib.optionalString (!gnomeSupport) " --without-gnome";
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix
index d5b401b804f..43c2a9089b7 100644
--- a/pkgs/development/libraries/libspatialite/default.nix
+++ b/pkgs/development/libraries/libspatialite/default.nix
@@ -1,23 +1,24 @@
-{ stdenv, fetchurl, sqlite, zlib, proj, geos }:
+{ stdenv, fetchurl, pkgconfig, libxml2, sqlite, zlib, proj, geos }:
 
 stdenv.mkDerivation rec {
-  name = "libspatialite-4.1.1";
+  name = "libspatialite-4.2.0";
 
   src = fetchurl {
     url = "http://www.gaia-gis.it/gaia-sins/${name}.tar.gz";
-    sha256 = "03wikddl60ly0yh8szrra1ng2iccsdzz645vkn6a7x2jz45a5084";
+    sha256 = "0b9ipmp09y2ij7yajyjsh0zcwps8n5g88lzfzlkph33lail8l4wz";
   };
 
-  buildInputs = [ sqlite zlib proj geos ];
+  buildInputs = [ pkgconfig libxml2 sqlite zlib proj geos ];
 
   configureFlags = "--disable-freexl";
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Extensible spatial index library in C++";
     homepage = https://www.gaia-gis.it/fossil/libspatialite;
     # They allow any of these
-    license = [ "GPLv2+" "LGPLv2+" "MPL1.1" ];
+    license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index c201eda69e6..88af054654b 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, cmake, zlib, libgcrypt }:
+{ stdenv, fetchurl, pkgconfig, cmake, zlib, libgcrypt, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "libssh-0.6.3";
+  name = "libssh-0.6.4";
 
   src = fetchurl {
-    url = "https://red.libssh.org/attachments/download/87/${name}.tar.xz";
-    sha256 = "1jyaj9h1iglvn02hrvcchbx8ycjpj8b91h8mi459k7q5jp2xgd9b";
+    url = "https://red.libssh.org/attachments/download/107/${name}.tar.gz";
+    sha256 = "0lkb45sc7w0wd67p46yh8rsprglssnkqar1sp0impwsvx7i0acky";
   };
 
-  buildInputs = [ zlib libgcrypt ];
+  # option we don't provide (yet): use libgcrypt instead of openssl
+  buildInputs = [ zlib /*libgcrypt*/ openssl ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  cmakeFlags = "-DWITH_GCRYPT=ON";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SSH client library";
-    license = "LGPL";
+    license = licenses.lgpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ sander urkud ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index 93377429e7e..daeb39bc982 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurlBoot, openssl, zlib}:
 
 stdenv.mkDerivation rec {
-  name = "libssh2-1.4.3";
+  name = "libssh2-1.5.0";
 
   src = fetchurlBoot {
     url = "${meta.homepage}/download/${name}.tar.gz";
-    sha256 = "eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d";
+    sha256 = "1z6hfgak00yz0azx6lk6n688mywhdxx03j6sdf95p3w6ssnnn6c3";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/development/libraries/libstatgrab/default.nix b/pkgs/development/libraries/libstatgrab/default.nix
new file mode 100644
index 00000000000..36327327b4d
--- /dev/null
+++ b/pkgs/development/libraries/libstatgrab/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libstatgrab-0.91";
+
+  src = fetchurl {
+    url = "http://ftp.i-scream.org/pub/i-scream/libstatgrab/${name}.tar.gz";
+    sha256 = "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.i-scream.org/libstatgrab/;
+    description = "a library that provides cross platforms access to statistics about the running system";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libstrophe/default.nix b/pkgs/development/libraries/libstrophe/default.nix
new file mode 100644
index 00000000000..b4757831899
--- /dev/null
+++ b/pkgs/development/libraries/libstrophe/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, automake, autoconf, libtool, openssl, expat, pkgconfig, check }:
+
+stdenv.mkDerivation rec {
+  name = "libstrophe-${version}";
+  version = "0.8.7";
+
+  src = fetchFromGitHub {
+    owner = "strophe";
+    repo = "libstrophe";
+    rev = version;
+    sha256 = "1iic8xbcxh21dzns8m9kkz0cj5f3ppn414gnhyh4y2wcjsz6hp8l";
+  };
+
+  buildInputs = [ automake autoconf openssl expat libtool pkgconfig check ];
+
+  dontDisableStatic = true;
+
+  preConfigure = "mkdir m4 && sh bootstrap.sh";
+
+  doCheck = true;
+
+  meta = {
+    description = "A simple, lightweight C library for writing XMPP clients";
+    longDescription = ''
+      libstrophe is a lightweight XMPP client library written in C. It has
+      minimal dependencies and is configurable for various environments. It
+      runs well on both Linux, Unix, and Windows based platforms.
+    '';
+    homepage = http://strophe.im/libstrophe/;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/development/libraries/libsvm/default.nix b/pkgs/development/libraries/libsvm/default.nix
new file mode 100644
index 00000000000..9b6e87bd57e
--- /dev/null
+++ b/pkgs/development/libraries/libsvm/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "libsvm-${version}";
+  version = "3.20";
+
+  src = fetchurl {
+    url = "http://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-${version}.tar.gz";
+    sha256 = "1gj5v5zp1qnsnv0iwxq0ikhf8262d3s5dq6syr6yqkglps0284hg";
+  };
+
+  buildPhase = ''
+  make
+  make lib
+  '';
+
+  installPhase = let
+    libSuff = if stdenv.isDarwin then "dylib" else "so";
+  in ''
+    mkdir -p $out/lib $out/bin $out/include;
+    cp libsvm.so.2 $out/lib/libsvm.2.${libSuff};
+    ln -s $out/lib/libsvm.2.${libSuff} $out/lib/libsvm.${libSuff};
+    cp svm-scale svm-train svm-predict $out/bin;
+    cp svm.h $out/include;
+  '';
+
+  postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id libsvm.2.dylib $out/lib/libsvm.2.dylib;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library for support vector machines";
+    homepage = "http://www.csie.ntu.edu.tw/~cjlin/libsvm/";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 5a2508a4506..a0e53cf9058 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-3.6";
+  name = "libtasn1-4.4";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "0c547qa1vfk1x2jzgjhf65izf4sfi86c6g46q7779g4aldk4gqqr";
+    sha256 = "0p8c5s1gm3z3nn4s9qc6gs18grbk45mx44byqw2l2qzynjqrsd7q";
   };
 
   buildInputs = [ perl texinfo ];
diff --git a/pkgs/development/libraries/libtermkey/default.nix b/pkgs/development/libraries/libtermkey/default.nix
new file mode 100644
index 00000000000..4316b2dda6b
--- /dev/null
+++ b/pkgs/development/libraries/libtermkey/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, lib, fetchzip, libtool, pkgconfig, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "libtermkey-${version}";
+
+  version = "0.17";
+
+  src = fetchzip {
+    url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-${version}.tar.gz";
+    sha256 = "085mdshgqsn76gfnnzfns7awv6lals9mgv5a6bybd9f9aj7lvrm5";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  buildInputs = [ libtool pkgconfig ncurses ];
+
+  meta = with lib; {
+    description = "Terminal keypress reading library";
+    license = with licenses; [ mit ];
+  };
+}
diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/development/libraries/libtheora/default.nix
index cb936747417..ef7a8ab09a8 100644
--- a/pkgs/development/libraries/libtheora/default.nix
+++ b/pkgs/development/libraries/libtheora/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libogg, libvorbis, tremor, autoconf, automake, libtool}:
+{stdenv, fetchurl, libogg, libvorbis, tremor, autoconf, automake, libtool, pkgconfig}:
 
 stdenv.mkDerivation ({
   name = "libtheora-1.1.1";
@@ -7,12 +7,28 @@ stdenv.mkDerivation ({
     sha256 = "0swiaj8987n995rc7hw0asvpwhhzpjiws8kr3s6r44bqqib2k5a0";
   };
 
+  buildInputs = [pkgconfig];
+
   propagatedBuildInputs = [libogg libvorbis];
 
+  # GCC's -fforce-addr flag is not supported by clang
+  # It's just an optimization, so it's safe to simply remove it
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure --replace "-fforce-addr" ""
+  '';
+
   crossAttrs = {
     propagatedBuildInputs = [libogg.crossDrv tremor.crossDrv];
     configureFlags = "--disable-examples";
   };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.theora.org/;
+    description = "Library for Theora, a free and open video compression format";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.unix;
+  };
 }
 
 # It has an old config.guess that doesn't know the mips64el.
diff --git a/pkgs/development/libraries/libtidy/default.nix b/pkgs/development/libraries/libtidy/default.nix
new file mode 100644
index 00000000000..412f34008f1
--- /dev/null
+++ b/pkgs/development/libraries/libtidy/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchcvs, cmake, libtool, automake, autoconf }:
+
+stdenv.mkDerivation rec {
+  name = "libtidy-${version}";
+
+  version = "1.46";
+
+  src = fetchcvs {
+    cvsRoot = ":pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy";
+    module  = "tidy";
+    date    = "2009-03-25";
+    sha256  = "0bnxn1qgjx1pfyn2q4y24yj1gwqq5bxwf5ksjljqzqzrmjv3q46x";
+  };
+
+  preConfigure = ''
+    source build/gnuauto/setup.sh
+  '';
+
+  buildInputs = [ libtool automake autoconf ];
+
+  meta = with lib; {
+    description = "Validate, correct, and pretty-print HTML files";
+    homepage    = http://tidy.sourceforge.net;
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/development/libraries/libtomcrypt/default.nix b/pkgs/development/libraries/libtomcrypt/default.nix
new file mode 100644
index 00000000000..4a3196e44b8
--- /dev/null
+++ b/pkgs/development/libraries/libtomcrypt/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, libtool}:
+
+stdenv.mkDerivation {
+  name = "libtomcrypt-1.17";
+
+  src = fetchurl {
+    url = "http://libtom.org/files/crypt-1.17.tar.bz2";
+    sha256 = "e33b47d77a495091c8703175a25c8228aff043140b2554c08a3c3cd71f79d116";
+  };
+
+  buildInputs = [libtool];
+
+  preBuild = ''
+    makeFlagsArray=(LIBPATH=$out/lib INCPATH=$out/include \
+      DATAPATH=$out/share/doc/libtomcrypt/pdf \
+      INSTALL_GROUP=$(id -g) \
+      INSTALL_USER=$(id -u))
+  '';
+
+  makefile = "makefile.shared";
+
+  meta = {
+    homepage = "http://libtom.org/?page=features&newsitems=5&whatfile=crypt";
+    description = "LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit";
+  };
+}
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/0.16.nix b/pkgs/development/libraries/libtorrent-rasterbar/0.16.nix
new file mode 100644
index 00000000000..6298f2f0c0f
--- /dev/null
+++ b/pkgs/development/libraries/libtorrent-rasterbar/0.16.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  version = "0.16.17";
+  sha256 = "1w5gcizd6jlvzwgy0307az856h0cly685yf275p1v6bdcafd58b7";
+})
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 0745313b41e..e1f1fc179d6 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,28 +1,6 @@
-{ stdenv, fetchurl, boost, openssl, pkgconfig, zlib, python, libiconvOrNull, geoip }:
+{ callPackage, ... } @ args:
 
-stdenv.mkDerivation rec {
-  name = "libtorrent-rasterbar-${version}";
-  version = "0.16.16";
-  
-  src = fetchurl {
-    url = mirror://sourceforge/libtorrent/libtorrent-rasterbar-0.16.16.tar.gz;
-    sha256 = "1a3yxwjs4qb0rwx6cfpvar0a8jmavb6ik580b27md08jhvq80if7";
-  };
-
-  buildInputs = [ boost pkgconfig openssl zlib python libiconvOrNull geoip ];
-
-  configureFlags = [ 
-    "--with-boost=${boost}/include/boost" 
-    "--with-boost-libdir=${boost}/lib" 
-    "--enable-python-binding"
-    "--with-libgeoip=system"
-    "--with-libiconv=yes"
- ];
-  
-  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 ];
-  };
-}
+callPackage ./generic.nix (args // {
+  version = "1.0.2";
+  sha256 = "1ph4cb6nrk2hiy89j3kz1wj16ph0b9yixrf4f4935rnzhha8x31w";
+})
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
new file mode 100644
index 00000000000..b866f66dbfa
--- /dev/null
+++ b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, boost, openssl, pkgconfig, zlib, python, libiconv, geoip
+# Version specific options
+, version, sha256
+, ... }:
+
+stdenv.mkDerivation rec {
+  name = "libtorrent-rasterbar-${version}";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/libtorrent/${name}.tar.gz";
+    inherit sha256;
+  };
+
+  buildInputs = [ boost pkgconfig openssl zlib python libiconv geoip ];
+
+  configureFlags = [ 
+    "--enable-python-binding"
+    "--with-libgeoip=system"
+    "--with-libiconv=yes"
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.lib}/lib"
+    "--with-libiconv=yes"
+  ];
+  
+  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 ];
+  };
+}
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index b5665fe402e..3ff2e1ad285 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchurl, autoconf, libtool, automake, libsodium, ncurses, libopus
+{ stdenv, fetchFromGitHub, autoconf, libtool, automake, libsodium, ncurses, libopus
 , libvpx, check, libconfig, pkgconfig }:
 
 let
-  version = "f83fcbb13c0";
-  date = "20140811";
+  version = "4c220e336330213b151a0c20307d0a1fce04ac9e";
+  date = "20150126";
 in
 stdenv.mkDerivation rec {
-  name = "tox-core-${date}-${version}";
+  name = "tox-core-${date}-${builtins.substring 0 7 version}";
 
-  src = fetchurl {
-    url = "https://github.com/irungentoo/toxcore/tarball/${version}";
-    name = "${name}.tar.gz";
-    sha256 = "09g74h3qnx9adyxxvzay8m2idbgbln7m4kkm7sg9925mvi5abb1w";
+  src = fetchFromGitHub {
+    owner  = "irungentoo";
+    repo   = "toxcore";
+    rev    = version;
+    sha256 = "152yamak9ykl8dgkx1qzyrpa3f4xr1s8lgcb5k58r9lb1iwnhvqc";
   };
 
   NIX_LDFLAGS = "-lgcc_s";
@@ -33,19 +34,30 @@ stdenv.mkDerivation rec {
     "--with-libsodium-headers=${libsodium}/include"
     "--with-libsodium-libs=${libsodium}/lib"
     "--enable-ntox"
+    "--enable-daemon"
   ];
 
   buildInputs = [
-    autoconf libtool automake libsodium ncurses libopus
-    libvpx check libconfig pkgconfig
+    autoconf libtool automake libsodium ncurses
+    check libconfig pkgconfig
+  ] ++ stdenv.lib.optionals (!stdenv.isArm) [
+    libopus
   ];
 
-  doCheck = true;
+  propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isArm) [ libvpx ];
 
-  meta = {
+  # Some tests fail randomly due to timeout. This kind of problem is well known
+  # by upstream: https://github.com/irungentoo/toxcore/issues/{950,1054}
+  # They don't recommend running tests on 50core machines with other cpu-bound
+  # tests running in parallel.
+  #
+  # NOTE: run the tests locally on your machine before upgrading this package!
+  doCheck = false;
+
+  meta = with stdenv.lib; {
     description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
-    license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = with stdenv.lib.maintainers; [ viric ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ viric jgeerds ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix
new file mode 100644
index 00000000000..f996216826a
--- /dev/null
+++ b/pkgs/development/libraries/libu2f-host/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, json_c, hidapi }:
+
+stdenv.mkDerivation rec {
+  name = "libu2f-host-0.0.4";
+
+  src = fetchurl {
+    url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz";
+    sha256 = "1mpa4m3vchqa0rm1zw0fgby3yhp35k4y6jlqdd02difm3dhk28l5";
+  };
+
+  buildInputs = [ pkgconfig json_c hidapi ];
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/libu2f-host;
+    description = "a C library and command-line tool thati mplements the host-side of the U2F protocol";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libuchardet/default.nix b/pkgs/development/libraries/libuchardet/default.nix
new file mode 100644
index 00000000000..86428e08c47
--- /dev/null
+++ b/pkgs/development/libraries/libuchardet/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "libuchardet-${version}";
+
+  version = "0.0.1";
+
+  src = fetchFromGitHub {
+    owner  = "BYVoid";
+    repo   = "uchardet";
+    rev    = "69b7133995e4ee260b093323c57a7f8c6c6803b8";
+    sha256 = "0yqrc9a7wxsh2fvigjppjp55v4r1q8p40yh048xsvl3kly2rkqy9";
+  };
+
+  buildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's Universal Charset Detector C/C++ API";
+    homepage    = https://www.byvoid.com/zht/project/uchardet;
+    license     = licenses.mpl11;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/development/libraries/libunique/3.x.nix b/pkgs/development/libraries/libunique/3.x.nix
new file mode 100644
index 00000000000..eea8d70e15d
--- /dev/null
+++ b/pkgs/development/libraries/libunique/3.x.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig
+, dbus, dbus_glib, gtk3, gobjectIntrospection
+, gtkdoc, docbook_xml_dtd_45, docbook_xsl
+, libxslt, libxml2 }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  majorVer = "3.0";
+  minorVer = "2";
+  version = "${majorVer}.${minorVer}";
+  name = "libunique3-${version}";
+  srcName = "libunique-${version}";  
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/libunique/${majorVer}/${srcName}.tar.xz";
+    sha256 = "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58";
+  };
+
+  buildInputs = [ pkgconfig dbus dbus_glib gtk3 gobjectIntrospection gtkdoc docbook_xml_dtd_45 docbook_xsl libxslt libxml2 ];
+
+  meta = {
+    homepage = https://wiki.gnome.org/Attic/LibUnique;
+    description = "A library for writing single instance applications";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/libraries/libunistring/clang.patch b/pkgs/development/libraries/libunistring/clang.patch
new file mode 100644
index 00000000000..fdcbc0d528d
--- /dev/null
+++ b/pkgs/development/libraries/libunistring/clang.patch
@@ -0,0 +1,14 @@
+diff --git a/lib/stdint.in.h b/lib/stdint.in.h
+index 997e406..e0827f5 100644
+--- a/lib/stdint.in.h
++++ b/lib/stdint.in.h
+@@ -53,7 +53,8 @@
+      in <inttypes.h> would reinclude us, skipping our contents because
+      _GL_STDINT_H is defined.
+      The include_next requires a split double-inclusion guard.  */
+-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
++# include <inttypes.h>
++// # @INCLUDE_NEXT@ @NEXT_STDINT_H@
+ #endif
+ 
+ #if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix
index 2a87d7a3249..667d620c501 100644
--- a/pkgs/development/libraries/libunistring/default.nix
+++ b/pkgs/development/libraries/libunistring/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation (rec {
     sha256 = "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1";
   };
 
+  patches = stdenv.lib.optional stdenv.isDarwin [ ./clang.patch ];
+
   propagatedBuildInputs =
     stdenv.lib.optional ((! (stdenv ? glibc))
                          || (stdenv ? cross &&
@@ -46,7 +48,7 @@ stdenv.mkDerivation (rec {
 
     license = stdenv.lib.licenses.lgpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index 75139ea988b..b08c169993e 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, xz}:
+{ stdenv, fetchurl, xz }:
 
 stdenv.mkDerivation rec {
   name = "libunwind-1.1";
@@ -8,6 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "16nhx2pahh9d62mvszc88q226q5lwjankij276fxwrm8wb50zzlx";
   };
 
+  patches = [ ./libunwind-1.1-lzma.patch ];
+
+  postPatch = ''
+    sed -i -e '/LIBLZMA/s:-lzma:-llzma:' configure
+  '';
+
   propagatedBuildInputs = [ xz ];
 
   NIX_CFLAGS_COMPILE = if stdenv.system == "x86_64-linux" then "-fPIC" else "";
@@ -16,8 +22,10 @@ stdenv.mkDerivation rec {
     touch "$out/lib/libunwind-generic.so"
   '';
   
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.nongnu.org/libunwind;
     description = "A portable and efficient API to determine the call-chain of a program";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libunwind/libunwind-1.1-lzma.patch b/pkgs/development/libraries/libunwind/libunwind-1.1-lzma.patch
new file mode 100644
index 00000000000..09cefa02853
--- /dev/null
+++ b/pkgs/development/libraries/libunwind/libunwind-1.1-lzma.patch
@@ -0,0 +1,63 @@
+From 38c349bb000b427c376e756e3ecdb764a2b4d297 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 15 Feb 2014 21:00:59 -0500
+Subject: [PATCH] link sublibs against liblzma as needed
+
+The coredump/elf32/elf64/elfxx libs use lzma funcs but don't link against
+it.  This produces sub-shared libs that don't link against lzma and can
+make the linker angry due to underlinking like so:
+
+libtool: link: x86_64-pc-linux-gnu-gcc -O2 -march=amdfam10 -pipe -g \
+	-frecord-gcc-switches -Wimplicit-function-declaration -fexceptions \
+	-Wall -Wsign-compare -Wl,-O1 -Wl,--hash-style=gnu \
+	-o .libs/test-coredump-unwind test-coredump-unwind.o  \
+	../src/.libs/libunwind-coredump.so ../src/.libs/libunwind-x86_64.so
+../src/.libs/libunwind-coredump.so: error: undefined reference to 'lzma_stream_footer_decode'
+../src/.libs/libunwind-coredump.so: error: undefined reference to 'lzma_index_buffer_decode'
+../src/.libs/libunwind-coredump.so: error: undefined reference to 'lzma_index_size'
+../src/.libs/libunwind-coredump.so: error: undefined reference to 'lzma_index_end'
+../src/.libs/libunwind-coredump.so: error: undefined reference to 'lzma_index_uncompressed_size'
+../src/.libs/libunwind-coredump.so: error: undefined reference to 'lzma_stream_buffer_decode'
+collect2: error: ld returned 1 exit status
+
+So add LIBLZMA to the right LIBADD for each of these libraries.
+
+URL: https://bugs.gentoo.org/444050
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ src/Makefile.am | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -169,7 +169,7 @@ libunwind_arm_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ 	$(libunwind_arm_la_LDFLAGS) $(LDFLAGS) -o $@
+ @ARCH_ARM_TRUE@am_libunwind_arm_la_rpath = -rpath $(libdir)
+-libunwind_coredump_la_LIBADD =
++libunwind_coredump_la_LIBADD = $(LIBLZMA)
+ am__libunwind_coredump_la_SOURCES_DIST = coredump/_UCD_accessors.c \
+ 	coredump/_UCD_create.c coredump/_UCD_destroy.c \
+ 	coredump/_UCD_access_mem.c coredump/_UCD_elf_map_image.c \
+@@ -214,15 +214,15 @@ am_libunwind_dwarf_local_la_OBJECTS = dwarf/Lexpr.lo dwarf/Lfde.lo \
+ libunwind_dwarf_local_la_OBJECTS =  \
+ 	$(am_libunwind_dwarf_local_la_OBJECTS)
+ @REMOTE_ONLY_FALSE@@USE_DWARF_TRUE@am_libunwind_dwarf_local_la_rpath =
+-libunwind_elf32_la_LIBADD =
++libunwind_elf32_la_LIBADD = $(LIBLZMA)
+ am_libunwind_elf32_la_OBJECTS = elf32.lo
+ libunwind_elf32_la_OBJECTS = $(am_libunwind_elf32_la_OBJECTS)
+ @USE_ELF32_TRUE@am_libunwind_elf32_la_rpath =
+-libunwind_elf64_la_LIBADD =
++libunwind_elf64_la_LIBADD = $(LIBLZMA)
+ am_libunwind_elf64_la_OBJECTS = elf64.lo
+ libunwind_elf64_la_OBJECTS = $(am_libunwind_elf64_la_OBJECTS)
+ @USE_ELF64_TRUE@am_libunwind_elf64_la_rpath =
+-libunwind_elfxx_la_LIBADD =
++libunwind_elfxx_la_LIBADD = $(LIBLZMA)
+ am_libunwind_elfxx_la_OBJECTS = elfxx.lo
+ libunwind_elfxx_la_OBJECTS = $(am_libunwind_elfxx_la_OBJECTS)
+ @USE_ELFXX_TRUE@am_libunwind_elfxx_la_rpath =
+-- 
+1.8.5.5
+
diff --git a/pkgs/development/libraries/libunwind/native.nix b/pkgs/development/libraries/libunwind/native.nix
new file mode 100644
index 00000000000..6ce485ecaec
--- /dev/null
+++ b/pkgs/development/libraries/libunwind/native.nix
@@ -0,0 +1,17 @@
+{ stdenv }:
+
+assert stdenv.isDarwin;
+
+stdenv.mkDerivation {
+  name = "libunwind-native";
+
+  unpackPhase = ":";
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cat /usr/lib/system/libunwind.dylib > $out/lib/libunwind.dylib
+  '';
+
+  meta.platforms = stdenv.lib.platforms.darwin;
+}
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index e7f627f62f7..29765f07066 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.4";
+  version = "0.8.6";
   name = "liburcu-${version}";
 
   src = fetchurl {
     url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
-    sha256 = "04py48xphylb246mpkzvld0yprj5h7cyv6pydr8b25aax5bs3h4n";
+    sha256 = "08dbfkdj4pm9s3q56nwa1vzldkf1jav61g2r4xq7mfhlw2yd79di";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libusb/default.nix b/pkgs/development/libraries/libusb/default.nix
index 64ef4ed66b6..7aec64d596f 100644
--- a/pkgs/development/libraries/libusb/default.nix
+++ b/pkgs/development/libraries/libusb/default.nix
@@ -1,16 +1,13 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, pkgconfig, libusb1}:
 
 stdenv.mkDerivation {
-  name = "libusb-0.1.12";
+  name = "libusb-compat-0.1.5";
 
-  # On non-linux, we get warnings compiling, and we don't want the
-  # build to break.
-  patchPhase = ''
-    sed -i s/-Werror// Makefile.in
-  '';
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ libusb1 ];
 
   src = fetchurl {
-    url = mirror://sourceforge/libusb/libusb-0.1.12.tar.gz;
-    md5 = "caf182cbc7565dac0fd72155919672e6";
+    url = mirror://sourceforge/libusb/libusb-compat-0.1.5.tar.bz2;
+    sha256 = "0nn5icrfm9lkhzw1xjvaks9bq3w6mjg86ggv3fn7kgi4nfvg8kj0";
   };
 }
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 8be17b289f7..884db2b3b25 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, udev }:
+{ stdenv, fetchurl, pkgconfig, udev ? null }:
 
-let
-  version = "1.0.18";
-in
 stdenv.mkDerivation rec {
-  name = "libusb-${version}"; # at 1.0.18 libusb joined with libusbx
+  name = "libusb-1.0.19";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2";
-    sha256 = "081px0j98az0pjwwyjlq4qcmfn194fvm3qd4im0r9pm58pn5qgy7";
+    url = "mirror://sourceforge/libusb/${name}.tar.bz2";
+    sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c";
   };
 
   buildInputs = [ pkgconfig ];
-  propagatedBuildInputs = stdenv.lib.optional (stdenv.isLinux) udev;
+  propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux udev;
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index b11b889a8d9..3ce377dfb08 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool }:
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }:
 
 let
   stable = "stable";
@@ -6,7 +6,7 @@ let
 
   meta = with lib; {
     description = "A multi-platform support library with a focus on asynchronous I/O";
-    homepage    = https://github.com/joyent/libuv;
+    homepage    = https://github.com/libuv/libuv;
     maintainers = with maintainers; [ cstrahan ];
     platforms   = with platforms; linux ++ darwin;
   };
@@ -17,7 +17,7 @@ let
     else "libuv-${stability}-${version}";
 
   mkSrc = version: sha256: fetchFromGitHub {
-    owner = "joyent";
+    owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
     inherit sha256;
@@ -59,7 +59,7 @@ let
   mkWithAutotools = stability: version: sha256: stdenv.mkDerivation {
     name = mkName stability version;
     src = mkSrc version sha256;
-    buildInputs = [ automake autoconf libtool ];
+    buildInputs = [ automake autoconf libtool pkgconfig ];
     preConfigure = ''
       LIBTOOLIZE=libtoolize ./autogen.sh
     '';
@@ -102,3 +102,8 @@ in
     v0_11_26 = "1pfjdwrxhqz1vqcdm42g3j45ghrb4yl7wsngvraclhgqicff1sc3";
     v0_11_29 = "1z07phfwryfy2155p3lxcm2a33h20sfl96lds5dghn157x6csz7m";
   }
+  //
+  mapAttrs (v: h: mkWithAutotools stable (toVersion v) h) {
+    v1_2_0 = "1nbp8qpgw64gl9nrjzxw0ndv1m64cfms0cy5a2883vw6877kizmx";
+    v1_4_0 = "17k028gn07vb9in440wbf0ar0rdl8bi5v4shm8nhj22vfb18dhl5";
+  }
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index e9b7ae4e46c..44001496988 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, libX11, pkgconfig, libXext, mesa, libdrm, libXfixes, wayland, libffi }:
+{ stdenv, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
+, mesa ? null
+}:
 
 stdenv.mkDerivation rec {
-  name = "libva-1.3.1";
-  
+  name = "libva-1.5.1";
+
   src = fetchurl {
     url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
-    sha256 = "15y27jdnfvf9krg4s3a1c29rn9pvyp43wckpwhd2rg4wrbqv32c7";
+    sha256 = "01d01mm9fgpwzqycmjjcj3in3vvzcibi3f64icsw2sksmmgb4495";
   };
 
-  buildInputs = [ libX11 libXext pkgconfig mesa libdrm libXfixes wayland libffi ];
+  buildInputs = [ libX11 libXext pkgconfig libdrm libXfixes wayland libffi mesa ];
 
-  configureFlags = [ "--enable-glx" ];
+  configureFlags = stdenv.lib.optional (mesa != null) "--enable-glx";
 
   meta = with stdenv.lib; {
     homepage = http://www.freedesktop.org/wiki/Software/vaapi;
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index 9d9528b75e4..4da60397444 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchurl, pkgconfig, xorg }:
 
 stdenv.mkDerivation rec {
-  name = "libvdpau-0.8";
+  name = "libvdpau-1.1";
 
   src = fetchurl {
     url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz";
-    sha256 = "1v81875hppablq9gpsmvhnyl7z80zihx6arry758pvdbq4fd39vk";
+    sha256 = "069r4qc934xw3z20hpmg0gx0al7fl1kdik1r46x2dgr0ya1yg95f";
   };
 
   buildInputs = with xorg; [ pkgconfig dri2proto libXext ];
 
   propagatedBuildInputs = [ xorg.libX11 ];
 
-  configureFlags = stdenv.lib.optional stdenv.isDarwin [ "--build=x86_64" ];
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--build=x86_64";
 
   meta = with stdenv.lib; {
     homepage = http://people.freedesktop.org/~aplattner/vdpau/;
     description = "Library to use the Video Decode and Presentation API for Unix (VDPAU)";
-    license = licenses.mit;
+    license = licenses.mit; # expat version
+    platforms = platforms.unix;
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index afce119e396..ae1f0e41448 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libvirt-glib-0.1.8";
+  name = "libvirt-glib-0.2.0";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/glib/${name}.tar.gz";
-    sha256 = "0ld7g9vlpdzx8rm90i8y1gnpygkn20x5z12gvsgms7dy5nala3ns";
+    sha256 = "02saqkk4wzsimsan7s9yc5bx05xn7j00hnxhq4sczkgr4krf1drh";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index e2ff06fcd43..9c9bf40b8e8 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,23 +1,26 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
 , iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng
-, dnsmasq, libnl
+, dnsmasq, libnl, libpcap, libxslt, xhtml1
+, pythonPackages, perlPackages
 }:
 
-let version = "1.2.7"; in
+let version = "1.2.12"; in
+
+assert version == pythonPackages.libvirt.version;
 
 stdenv.mkDerivation rec {
   name = "libvirt-${version}";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.gz";
-    sha256 = "1z6yfzzbf9rvqjq1my7x1br73g8dz8kij3khpb4x520ip8n4dyrx";
+    sha256 = "0sp6xm6iyg5wfjgxiba4rpl527429r22lh241dzxjq25fxzj5xgg";
   };
 
   buildInputs = [
     pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
     utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper
-    libcap_ng libnl
+    libcap_ng libnl libxslt xhtml1 perlPackages.XMLXPath
   ];
 
   preConfigure = ''
@@ -31,6 +34,7 @@ stdenv.mkDerivation rec {
     "--with-init-script=redhat"
     "--with-macvtap"
     "--with-virtualport"
+    "--with-libpcap"
   ];
 
   installFlags = [
@@ -39,6 +43,7 @@ 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"
     wrapProgram $out/sbin/libvirtd \
@@ -57,7 +62,6 @@ stdenv.mkDerivation rec {
       versions of Linux (and other OSes)
     '';
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ wizeman ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix
index c015e7473bd..d03fabcc653 100644
--- a/pkgs/development/libraries/libvisio/default.nix
+++ b/pkgs/development/libraries/libvisio/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     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.gnu; # random choice
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libvisual/default.nix b/pkgs/development/libraries/libvisual/default.nix
index b831fd9bdd3..dc2f0338b48 100644
--- a/pkgs/development/libraries/libvisual/default.nix
+++ b/pkgs/development/libraries/libvisual/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
     description = "An abstraction library for audio visualisations";
     homepage = "http://sourceforge.net/projects/libvisual/";
     license = stdenv.lib.licenses.lgpl21Plus;
-    platform = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index da9e1dc3148..581673af64d 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     inherit (s) url sha256;
   };
   preConfigure = ''
-    sed -e 's@/usr/include/linux@${stdenv.gcc.libc}/include/linux@g' -i configure
+    sed -e 's@/usr/include/linux@${stdenv.cc.libc}/include/linux@g' -i configure
   '';
   meta = {
     inherit (s) version;
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index 940e5a5685c..0e5cd8b85e8 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -1,14 +1,11 @@
 { stdenv, fetchurl, libogg, pkgconfig }:
 
-let
-  name = "libvorbis-1.3.4";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "libvorbis-1.3.5";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/vorbis/${name}.tar.xz";
-    sha256 = "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g";
+    sha256 = "1lg1n3a6r41492r7in0fpvzc7909mc5ir9z0gd3qh2pz4yalmyal";
   };
 
   outputs = [ "dev" "out" "doc" ];
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 45fc442a713..a7c80077e79 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -1,47 +1,184 @@
-{stdenv, fetchurl, bash, yasm, which, perl, binutils}:
+{stdenv, fetchurl, bash, perl, yasm
+, vp8Support ? true # VP8
+, vp8DecoderSupport ? true # VP8 decoder
+, vp8EncoderSupport ? true # VP8 encoder
+, vp9Support ? true # VP9
+, vp9DecoderSupport ? true # VP9 decoder
+, vp9EncoderSupport ? true # VP9 encoder
+, extraWarningsSupport ? false # emit non-fatal warnings
+, werrorSupport ? false # treat warnings as errors (not available with all compilers)
+, installBinsSupport ? true # install binaries (vpxdec & vpxenc)
+, installLibsSupport ? true # install libraries
+, installSrcsSupport ? false # install sources
+, debugSupport ? false # debug mode
+, gprofSupport ? false # gprof profiling instrumentation
+, gcovSupport ? false # gcov coverage instrumentation
+, optimizationsSupport ? true # compiler optimization flags
+, runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
+, thumbSupport ? false # build arm assembly in thumb mode
+, libsSupport ? true # build librares
+, examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
+, fastUnalignedSupport ? true # use unaligned accesses if supported by hardware
+, codecSrcsSupport ? false # codec library source code
+, debugLibsSupport ? false # include debug version of each library
+, md5Support ? true # support for output of checksum data
+, postprocSupport ? true # postprocessing
+, vp9PostprocSupport ? true # VP9 specific postprocessing
+, multithreadSupport ? true # multithreaded decoding & encoding
+, internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
+, memTrackerSupport ? false # track memory usage
+, realtimeOnlySupport ? false # build for real-time encoding
+, ontheflyBitpackingSupport ? false # on-the-fly bitpacking in real-time encoding
+, errorConcealmentSupport ? false # decoder conceals losses
+, smallSupport ? false # favor smaller binary over speed
+, postprocVisualizerSupport ? false # macro block/block level visualizers
+, unitTestsSupport ? false, curl ? null, coreutils ? null # unit tests
+, multiResEncodingSupport ? false # multiple-resolution encoding
+, temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
+, decryptSupport ? false
+, experimentalSupport ? false # experimental features
+# Experimental features
+, experimentalMultipleArfSupport ? false
+, experimentalNon420Support ? false
+, experimentalAlphaSupport ? false
+}:
 
-let version = "1.3.0";
+assert (vp8Support || vp9Support);
+assert (vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport);
+assert vp8DecoderSupport -> vp8Support;
+assert vp8EncoderSupport -> vp8Support;
+assert vp9DecoderSupport -> vp9Support;
+assert vp9EncoderSupport -> vp9Support;
+assert installLibsSupport -> libsSupport;
+# libvpx will not build binaries if examplesSupport is not enabled (ie. vpxdec & vpxenc)
+assert installBinsSupport -> examplesSupport;
+assert examplesSupport -> md5Support;
+assert vp9PostprocSupport -> (vp9Support && postprocSupport);
+assert (internalStatsSupport && vp9Support) -> vp9PostprocSupport;
+assert postprocVisualizerSupport -> postprocSupport;
+assert (postprocVisualizerSupport && vp9Support) -> vp9PostprocSupport;
+assert unitTestsSupport -> ((curl != null) && (coreutils != null));
+assert (experimentalMultipleArfSupport || experimentalNon420Support || experimentalAlphaSupport) -> experimentalSupport;
+assert stdenv.isCygwin -> unitTestsSupport;
+
+let
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
 in
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "libvpx-" + version;
+  name = "libvpx-${version}";
+  version = "1.3.0";
 
-  src = fetchurl { # sadly, there's no official tarball for this release
-    url = "http://webm.googlecode.com/files/libvpx-v1.3.0.tar.bz2";
+  src = fetchurl {
+    url = "http://webm.googlecode.com/files/libvpx-v${version}.tar.bz2";
     sha1 = "191b95817aede8c136cc3f3745fb1b8c50e6d5dc";
   };
 
   patchPhase = ''
-    sed -e 's,/bin/bash,${bash}/bin/bash,' -i configure build/make/version.sh \
-      examples/gen_example_code.sh build/make/gen_asm_deps.sh
-    sed -e '/enable linux/d' -i configure
+    patchShebangs .
   '';
 
-  buildInputs = [ yasm which perl ]
-    ++ stdenv.lib.optional stdenv.isDarwin binutils; # new asm opcode support
+  nativeBuildInputs = [ bash perl yasm ];
 
-  preConfigure = ''
-    mkdir -p build
-    cd build
-    substituteInPlace make/configure.sh --replace "-arch x86_64" "-march=x86-64"
-  '';
+  buildInputs = [ ]
+    ++ optional unitTestsSupport coreutils
+    ++ optional unitTestsSupport curl;
 
-  configureScript = "../configure";
-  configureFlags =
-    [ "--disable-install-srcs" "--disable-install-docs" "--disable-examples"
-      "--enable-vp8" "--enable-runtime-cpu-detect" "--enable-pic" ]
-    # --enable-shared is only supported on ELF
-    ++ stdenv.lib.optional (!stdenv.isDarwin) "--disable-static --enable-shared";
+  configureFlags = [
+    (mkFlag vp8Support "vp8")
+    (mkFlag vp8EncoderSupport "vp8-encoder")
+    (mkFlag vp8DecoderSupport "vp8-decoder")
+    (mkFlag vp9Support "vp9")
+    (mkFlag vp9EncoderSupport "vp9-encoder")
+    (mkFlag vp9DecoderSupport "vp9-decoder")
+    (mkFlag extraWarningsSupport "extra-warnings")
+    (mkFlag werrorSupport "werror")
+    "--disable-install-docs"
+    (mkFlag installBinsSupport "install-bins")
+    (mkFlag installLibsSupport "install-libs")
+    (mkFlag installSrcsSupport "install-srcs")
+    (mkFlag debugSupport "debug")
+    (mkFlag gprofSupport "gprof")
+    (mkFlag gcovSupport "gcov")
+    # Required to build shared libraries
+    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "pic")
+    (mkFlag (stdenv.isx86_64 || !stdenv.isDarwin || stdenv.isCygwin) "use-x86inc")
+    (mkFlag optimizationsSupport "optimizations")
+    (mkFlag runtimeCpuDetectSupport "runtime-cpu-detect")
+    (mkFlag thumbSupport "thumb")
+    (mkFlag libsSupport "libs")
+    (mkFlag examplesSupport "examples")
+    "--disable-docs"
+    "--as=yasm"
+    (mkFlag fastUnalignedSupport "fast-unaligned")
+    (mkFlag codecSrcsSupport "codec-srcs")
+    (mkFlag debugLibsSupport "debug-libs")
+    (mkFlag md5Support "md5")
+    (mkFlag stdenv.isMips "dequant-tokens")
+    (mkFlag stdenv.isMips "dc-recon")
+    (mkFlag postprocSupport "postproc")
+    (mkFlag vp9PostprocSupport "vp9-postproc")
+    (mkFlag multithreadSupport "multithread")
+    (mkFlag internalStatsSupport "internal-stats")
+    (mkFlag memTrackerSupport "mem-tracker")
+    /* If --enable-spatial-resampling not enabled, build will fail with undeclared variable errors.
+       Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
+       but is only executed if --enable-spatial-resampling is enabled */
+    "--enable-spatial-resampling"
+    (mkFlag realtimeOnlySupport "realtime-only")
+    (mkFlag ontheflyBitpackingSupport "onthefly-bitpacking")
+    (mkFlag errorConcealmentSupport "error-concealment")
+    # Shared libraries are only supported on ELF platforms
+    (mkFlag (stdenv.isDarwin || stdenv.isCygwin) "static")
+    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "shared")
+    (mkFlag smallSupport "small")
+    (mkFlag postprocVisualizerSupport "postproc-visualizer")
+    (mkFlag unitTestsSupport "unit-tests")
+    (mkFlag multiResEncodingSupport "multi-res-encoding")
+    (mkFlag temporalDenoisingSupport "temporal-denoising")
+    (mkFlag decryptSupport "decrypt")
+    (mkFlag experimentalSupport "experimental")
+    # Experimental features
+    (mkFlag experimentalMultipleArfSupport "multiple-arf")
+    (mkFlag experimentalNon420Support "non420")
+    (mkFlag experimentalAlphaSupport "alpha")
+  ];
 
-  installPhase = ''
-    make quiet=false DIST_DIR=$out install
-  '';
+  enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
-    description = "VP8 video encoder";
-    homepage    = http://code.google.com/p/webm;
+  crossAttrs = let
+    isCygwin = stdenv.cross.libc == "msvcrt";
+    isDarwin = stdenv.cross.libc == "libSystem";
+  in {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      #"--extra-cflags="
+      #"--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=${stdenv.cross.config}${(
+              if isDarwin then (
+                if stdenv.cross.osxMinVersion == "10.9"  then "13"
+                else if stdenv.cross.osxMinVersion == "10.8"  then "12"
+                else if stdenv.cross.osxMinVersion == "10.7"  then "11"
+                else if stdenv.cross.osxMinVersion == "10.6"  then "10"
+                else if stdenv.cross.osxMinVersion == "10.5"  then "9"
+                else "8")
+              else "")}-gcc"
+      (if isCygwin then "--enable-static-msvcrt" else "")
+    ];
+  };
+
+  meta = {
+    description = "WebM VP8/VP9 codec SDK";
+    homepage    = http://www.webmproject.org/;
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
+    maintainers = with maintainers; [ codyopel lovek323 ];
+    platforms   = platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/libvpx/git.nix b/pkgs/development/libraries/libvpx/git.nix
new file mode 100644
index 00000000000..fd7f9150e1d
--- /dev/null
+++ b/pkgs/development/libraries/libvpx/git.nix
@@ -0,0 +1,203 @@
+{stdenv, fetchgit, perl, yasm
+, vp8Support ? true # VP8
+, vp8DecoderSupport ? true # VP8 decoder
+, vp8EncoderSupport ? true # VP8 encoder
+, vp9Support ? true # VP9
+, vp9DecoderSupport ? true # VP9 decoder
+, vp9EncoderSupport ? true # VP9 encoder
+, extraWarningsSupport ? false # emit non-fatal warnings
+, werrorSupport ? false # treat warnings as errors (not available with all compilers)
+, installBinsSupport ? true # install binaries (vpxdec & vpxenc)
+, installLibsSupport ? true # install libraries
+, installSrcsSupport ? false # install sources
+, debugSupport ? false # debug mode
+, gprofSupport ? false # gprof profiling instrumentation
+, gcovSupport ? false # gcov coverage instrumentation
+, sizeLimitSupport ? true # limit max size to allow in the decoder
+, optimizationsSupport ? true # compiler optimization flags
+, runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
+, thumbSupport ? false # build arm assembly in thumb mode
+, libsSupport ? true # build librares
+, examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
+, fastUnalignedSupport ? true # use unaligned accesses if supported by hardware
+, codecSrcsSupport ? false # codec library source code
+, debugLibsSupport ? false # include debug version of each library
+, postprocSupport ? true # postprocessing
+, vp9PostprocSupport ? true # VP9 specific postprocessing
+, multithreadSupport ? true # multithreaded decoding & encoding
+, internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
+, memTrackerSupport ? false # track memory usage
+, spatialResamplingSupport ? true # spatial sampling (scaling)
+, realtimeOnlySupport ? false # build for real-time encoding
+, ontheflyBitpackingSupport ? false # on-the-fly bitpacking in real-time encoding
+, errorConcealmentSupport ? false # decoder conceals losses
+, smallSupport ? false # favor smaller binary over speed
+, postprocVisualizerSupport ? false # macro block/block level visualizers
+, unitTestsSupport ? false, curl ? null, coreutils ? null # unit tests
+, webmIOSupport ? true # input from and output to webm container
+, libyuvSupport ? true # libyuv
+, decodePerfTestsSupport ? false # build decoder perf tests with unit tests
+, encodePerfTestsSupport ? false # build encoder perf tests with unit tests
+, multiResEncodingSupport ? false # multiple-resolution encoding
+, temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
+, vp9TemporalDenoisingSupport ? true # VP9 specific temporal denoising
+, coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
+, vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
+, experimentalSupport ? false # experimental features
+# Experimental features
+, experimentalSpatialSvcSupport ? false # Spatial scalable video coding
+, experimentalFpMbStatsSupport ? false
+, experimentalEmulateHardwareSupport ? false
+}:
+
+assert (vp8Support || vp9Support);
+assert (vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport);
+assert vp8DecoderSupport -> vp8Support;
+assert vp8EncoderSupport -> vp8Support;
+assert vp9DecoderSupport -> vp9Support;
+assert vp9EncoderSupport -> vp9Support;
+assert installLibsSupport -> libsSupport;
+# libvpx will not build binaries if examplesSupport is not enabled (ie. vpxdec & vpxenc)
+assert installBinsSupport -> examplesSupport;
+assert vp9PostprocSupport -> (vp9Support && postprocSupport);
+assert (internalStatsSupport && vp9Support) -> vp9PostprocSupport;
+/* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors.
+   Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
+   but is only executed if spatialResamplingSupport is enabled */
+assert spatialResamplingSupport;
+assert postprocVisualizerSupport -> postprocSupport;
+assert (postprocVisualizerSupport && vp9Support) -> vp9PostprocSupport;
+assert unitTestsSupport -> ((curl != null) && (coreutils != null));
+assert vp9TemporalDenoisingSupport -> (vp9Support && temporalDenoisingSupport);
+assert vp9HighbitdepthSupport -> vp9Support;
+assert (experimentalSpatialSvcSupport || experimentalFpMbStatsSupport || experimentalEmulateHardwareSupport) -> experimentalSupport;
+assert stdenv.isCygwin -> (unitTestsSupport && webmIOSupport && libyuvSupport);
+
+let
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+in
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "libvpx-git";
+
+  src = fetchgit {
+    url = "https://chromium.googlesource.com/webm/libvpx";
+  /* DO NOT under any circumstance ever just bump the git commit without
+     confirming changes have not been made to the configure system */
+    rev = "f4c29ae9ea16c502c980a81ca9683327d5051929"; # 2015-2-12
+    sha256 = "1d5m3dryfdrsf3mi6bcbsndyhihzksqalzfvi21fbxxkk1imsb9x";
+  };
+
+  patchPhase = ''
+    patchShebangs .
+  '';
+
+  nativeBuildInputs = [ perl yasm ];
+
+  buildInputs = [ ]
+    ++ optional unitTestsSupport coreutils
+    ++ optional unitTestsSupport curl;
+
+  configureFlags = [
+    (mkFlag vp8Support "vp8")
+    (mkFlag vp8EncoderSupport "vp8-encoder")
+    (mkFlag vp8DecoderSupport "vp8-decoder")
+    (mkFlag vp9Support "vp9")
+    (mkFlag vp9EncoderSupport "vp9-encoder")
+    (mkFlag vp9DecoderSupport "vp9-decoder")
+    (mkFlag extraWarningsSupport "extra-warnings")
+    (mkFlag werrorSupport "werror")
+    "--disable-install-docs"
+    (mkFlag installBinsSupport "install-bins")
+    (mkFlag installLibsSupport "install-libs")
+    (mkFlag installSrcsSupport "install-srcs")
+    (mkFlag debugSupport "debug")
+    (mkFlag gprofSupport "gprof")
+    (mkFlag gcovSupport "gcov")
+    # Required to build shared libraries
+    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "pic")
+    (mkFlag (stdenv.isi686 || stdenv.isx86_64) "use-x86inc")
+    (mkFlag optimizationsSupport "optimizations")
+    (mkFlag runtimeCpuDetectSupport "runtime-cpu-detect")
+    (mkFlag thumbSupport "thumb")
+    (mkFlag libsSupport "libs")
+    (mkFlag examplesSupport "examples")
+    "--disable-docs"
+    "--as=yasm"
+    # Limit default decoder max to WHXGA
+    (if sizeLimitSupport then "--size-limit=5120x3200" else "")
+    (mkFlag fastUnalignedSupport "fast-unaligned")
+    (mkFlag codecSrcsSupport "codec-srcs")
+    (mkFlag debugLibsSupport "debug-libs")
+    (mkFlag stdenv.isMips "dequant-tokens")
+    (mkFlag stdenv.isMips "dc-recon")
+    (mkFlag postprocSupport "postproc")
+    (mkFlag vp9PostprocSupport "vp9-postproc")
+    (mkFlag multithreadSupport "multithread")
+    (mkFlag internalStatsSupport "internal-stats")
+    (mkFlag memTrackerSupport "mem-tracker")
+    (mkFlag spatialResamplingSupport "spatial-resampling")
+    (mkFlag realtimeOnlySupport "realtime-only")
+    (mkFlag ontheflyBitpackingSupport "onthefly-bitpacking")
+    (mkFlag errorConcealmentSupport "error-concealment")
+    # Shared libraries are only supported on ELF platforms
+    (mkFlag (stdenv.isDarwin || stdenv.isCygwin) "static")
+    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "shared")
+    (mkFlag smallSupport "small")
+    (mkFlag postprocVisualizerSupport "postproc-visualizer")
+    (mkFlag unitTestsSupport "unit-tests")
+    (mkFlag webmIOSupport "webm-io")
+    (mkFlag libyuvSupport "libyuv")
+    (mkFlag decodePerfTestsSupport "decode-perf-tests")
+    (mkFlag encodePerfTestsSupport "encode-perf-tests")
+    (mkFlag multiResEncodingSupport "multi-res-encoding")
+    (mkFlag temporalDenoisingSupport "temporal-denoising")
+    (mkFlag vp9TemporalDenoisingSupport "vp9-temporal-denoising")
+    (mkFlag coefficientRangeCheckingSupport "coefficient-range-checking")
+    (mkFlag (vp9HighbitdepthSupport && !stdenv.isi686) "vp9-highbitdepth")
+    (mkFlag experimentalSupport "experimental")
+    # Experimental features
+    (mkFlag experimentalSpatialSvcSupport "spatial-svc")
+    (mkFlag experimentalFpMbStatsSupport "fp-mb-stats")
+    (mkFlag experimentalEmulateHardwareSupport "emulate-hardware")
+  ];
+
+  enableParallelBuilding = true;
+
+  crossAttrs = let
+    isCygwin = stdenv.cross.libc == "msvcrt";
+    isDarwin = stdenv.cross.libc == "libSystem";
+  in {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      #"--extra-cflags="
+      #"--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=${stdenv.cross.config}${(
+              if isDarwin then (
+                if      stdenv.cross.osxMinVersion == "10.10" then "14"
+                else if stdenv.cross.osxMinVersion == "10.9"  then "13"
+                else if stdenv.cross.osxMinVersion == "10.8"  then "12"
+                else if stdenv.cross.osxMinVersion == "10.7"  then "11"
+                else if stdenv.cross.osxMinVersion == "10.6"  then "10"
+                else if stdenv.cross.osxMinVersion == "10.5"  then "9"
+                else "8")
+              else "")}-gcc"
+      (if isCygwin then "--enable-static-msvcrt" else "")
+    ];
+  };
+
+  meta = {
+    description = "WebM VP8/VP9 codec SDK";
+    homepage    = http://www.webmproject.org/;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 6800541d923..6da1b00ee81 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -1,26 +1,67 @@
-{ stdenv, fetchurl, libpng, libjpeg, giflib, libtiff }:
+{ stdenv, fetchurl
+, threadingSupport ? true # multi-threading
+, openglSupport ? false, freeglut ? null, mesa ? null # OpenGL (required for vwebp)
+, pngSupport ? true, libpng ? null # PNG image format
+, jpegSupport ? true, libjpeg ? null # JPEG image format
+, tiffSupport ? true, libtiff ? null # TIFF image format
+, gifSupport ? true, giflib ? null # GIF image format
+#, wicSupport ? true # Windows Imaging Component
+, alignedSupport ? false # Force aligned memory operations
+, swap16bitcspSupport ? false # Byte swap for 16bit color spaces
+, experimentalSupport ? false # Experimental code
+, libwebpmuxSupport ? true # Build libwebpmux
+, libwebpdemuxSupport ? true # Build libwebpdemux
+, libwebpdecoderSupport ? true # Build libwebpdecoder
+}:
 
+assert openglSupport -> ((freeglut != null) && (mesa != null));
+assert pngSupport -> (libpng != null);
+assert jpegSupport -> (libjpeg != null);
+assert tiffSupport -> (libtiff != null);
+assert gifSupport -> (giflib != null);
+
+let
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+in
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "libwebp-0.4.0";
+  name = "libwebp-${version}";
+  version = "0.4.3";
 
   src = fetchurl {
-    url = "http://webp.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0sadjkx8m6sf064r5gngjvz4b5246q3j27dlaml5b1k3x5vkb49i";
+    url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz";
+    sha256 = "1i4hfczjm3b1qj1g4cc9hgb69l47f3nkgf6hk7nz4dm9zmc0vgpg";
   };
 
-  buildInputs = [ libpng libjpeg giflib libtiff ];
-
   configureFlags = [
-    "--enable-libwebpmux"
-    "--enable-libwebpdemux"
-    "--enable-libwebpdecoder"
+    (mkFlag threadingSupport "threading")
+    (mkFlag openglSupport "gl")
+    (mkFlag pngSupport "png")
+    (mkFlag jpegSupport "jpeg")
+    (mkFlag tiffSupport "tiff")
+    (mkFlag gifSupport "gif")
+    #(mkFlag (wicSupport && stdenv.isCygwin) "wic")
+    (mkFlag alignedSupport "aligned")
+    (mkFlag swap16bitcspSupport "swap-16bit-csp")
+    (mkFlag experimentalSupport "experimental")
+    (mkFlag libwebpmuxSupport "libwebpmux")
+    (mkFlag libwebpdemuxSupport "libwebpdemux")
+    (mkFlag libwebpdecoderSupport "libwebpdecoder")
   ];
 
+  buildInputs = [ ]
+    ++ optionals openglSupport [ freeglut mesa ]
+    ++ optional pngSupport libpng
+    ++ optional jpegSupport libjpeg
+    ++ optional tiffSupport libtiff
+    ++ optional gifSupport giflib;
+
   meta = {
-    homepage = http://code.google.com/p/webp/;
     description = "Tools and library for the WebP image format";
-
-    /* It has its own licence, google-related, but that looks like BSD */
-    license = "free";
+    homepage = https://developers.google.com/speed/webp/;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ codyopel ];
   };
 }
diff --git a/pkgs/development/libraries/libxcomp/default.nix b/pkgs/development/libraries/libxcomp/default.nix
new file mode 100644
index 00000000000..c900cfbc684
--- /dev/null
+++ b/pkgs/development/libraries/libxcomp/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, autoreconfHook, libjpeg, libpng12, libX11, zlib }:
+
+let version = "3.5.0.31"; in
+stdenv.mkDerivation {
+  name = "libxcomp-${version}";
+
+  src = fetchurl {
+    url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-full.tar.gz";
+    sha256 = "0a31508wyfyblf6plag2djr4spra5kylcmgg99h83c60ylxxnc11";
+  };
+
+  meta = with stdenv.lib; {
+    description = "NX compression library";
+    homepage = "http://wiki.x2go.org/doku.php/wiki:libs:nx-libs";
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ autoreconfHook libjpeg libpng12 libX11 zlib ];
+
+  preAutoreconf = ''
+    cd nxcomp/
+  '';
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    mkdir $out/lib
+    cp libXcomp.so* $out/lib
+    mkdir $out/include
+    cp NX.h $out/include
+  '';
+}
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
new file mode 100644
index 00000000000..87b4d82efc6
--- /dev/null
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "libxls-1.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libxls/${name}.zip";
+    sha256 = "1g8ds7wbhsa4hdcn77xc2c0l3vvz5bx2hx9ng9c9n7aii92ymfnk";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Extract Cell Data From Excel xls files";
+    homepage = http://sourceforge.net/projects/libxls/;
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix
index 42c427605c4..46d38b16ccf 100644
--- a/pkgs/development/libraries/libxmi/default.nix
+++ b/pkgs/development/libraries/libxmi/default.nix
@@ -9,13 +9,13 @@ stdenv.mkDerivation {
   };
 
   # For the x86_64 GNU/Linux arch to be recognized by 'configure'
-  preConfigure = "cp ${libtool}/share/libtool/config/config.sub .";
+  preConfigure = "cp ${libtool}/share/libtool/build-aux/config.sub .";
 
   meta = {
     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
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 7e3ee3e9adc..153096ee45c 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true }:
+{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true, findXMLCatalogs }:
 
 assert pythonSupport -> python != null;
 
 #TODO: share most stuff between python and non-python builds, perhaps via multiple-output
 
 let
-  version = "2.9.1";
+  version = "2.9.2";
 in
 
 stdenv.mkDerivation (rec {
   name = "libxml2-${version}";
 
   src = fetchurl {
-    url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "1nqgd1qqmg0cg09mch78m2ac9klj9n87blilx4kymi7jcv5n8g7x";
+    url = "http://xmlsoft.org/sources/${name}.tar.gz";
+    sha256 = "1g6mf03xcabmk5ing1lwqmasr803616gb2xhn7pll10x2l5w6y2i";
   };
 
   buildInputs = stdenv.lib.optional pythonSupport python
@@ -22,9 +22,7 @@ stdenv.mkDerivation (rec {
     # RUNPATH for that, leading to undefined references for its users.
     ++ (stdenv.lib.optional stdenv.isFreeBSD xz);
 
-  propagatedBuildInputs = [ zlib ];
-
-  setupHook = ./setup-hook.sh;
+  propagatedBuildInputs = [ zlib findXMLCatalogs ];
 
   passthru = { inherit pythonSupport version; };
 
diff --git a/pkgs/development/libraries/libxml2/setup-hook.sh b/pkgs/development/libraries/libxml2/setup-hook.sh
deleted file mode 100644
index f9fc633c7da..00000000000
--- a/pkgs/development/libraries/libxml2/setup-hook.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-addXMLCatalogs () {
-    for kind in dtd xsl; do
-        if test -d $1/xml/$kind; then
-            for i in $(find $1/xml/$kind -name catalog.xml); do
-                export XML_CATALOG_FILES="$XML_CATALOG_FILES $i"
-            done
-        fi
-    done
-}
-
-if test -z "$libxmlHookDone"; then
-    libxmlHookDone=1
-
-    # Set http_proxy and ftp_proxy to an invalid host to prevent
-    # xmllint and xsltproc from trying to download DTDs from the
-    # network even when --nonet is not given.  That would be impure.
-    # (Note that .invalid is a reserved domain guaranteed not to
-    # work.)
-    export http_proxy=http://nodtd.invalid/
-    export ftp_proxy=http://nodtd.invalid/
-
-    # Set up XML_CATALOG_FILES.  An empty initial value prevents
-    # xmllint and xsltproc from looking in /etc/xml/catalog.
-    export XML_CATALOG_FILES
-    if test -z "$XML_CATALOG_FILES"; then XML_CATALOG_FILES=" "; fi
-    envHooks+=(addXMLCatalogs)
-fi
diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix
index 61f519dfe51..785ed0db7d7 100644
--- a/pkgs/development/libraries/libxmlxx/default.nix
+++ b/pkgs/development/libraries/libxmlxx/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl
 , pkgconfig, libxml2, glibmm, perl }:
 stdenv.mkDerivation rec {
-  name = "libxml++-2.37.1";
+  name = "libxml++-2.37.2";
   src = fetchurl {
     url = "mirror://gnome/sources/libxml++/2.37/${name}.tar.xz";
-    sha256 = "17xkdndcambij33k25cb5c4mg2457wi114kiaprjma9j0mh87cgk";
+    sha256 = "0fvpm95iapi5qrz6sil6vnqqdrsd7f9a16c415hzr44f2ji10gmv";
   };
 
   buildInputs = [ pkgconfig glibmm perl ];
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index fd84c53c88f..fda24776480 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, libxml2 }:
+{ stdenv, fetchurl, libxml2, findXMLCatalogs }:
 
 stdenv.mkDerivation rec {
   name = "libxslt-1.1.28";
 
   src = fetchurl {
-    url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
+    url = "http://xmlsoft.org/sources/${name}.tar.gz";
     sha256 = "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz";
   };
 
   buildInputs = [ libxml2 ];
 
+  propagatedBuildInputs = [ findXMLCatalogs ];
+
   patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ];
 
   configureFlags = [
@@ -21,11 +23,6 @@ stdenv.mkDerivation rec {
     "--without-debugger"
   ];
 
-  postInstall = ''
-    mkdir -p $out/nix-support
-    ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/
-  '';
-
   meta = {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
diff --git a/pkgs/development/libraries/libyaml-cpp/0.3.x.nix b/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
deleted file mode 100644
index f94ca128228..00000000000
--- a/pkgs/development/libraries/libyaml-cpp/0.3.x.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, cmake, boostHeaders}:
-
-stdenv.mkDerivation {
-  name = "libyaml-cpp-0.3.0";
-
-  src = fetchurl {
-    url = http://yaml-cpp.googlecode.com/files/yaml-cpp-0.3.0.tar.gz;
-    sha256 = "10kv25zgq96ybxc6c19lzpax1xi5lpxrdqa9x52nffsql6skil1c";
-  };
-
-  buildInputs = [ cmake boostHeaders ];
-
-  meta = {
-    homepage = http://code.google.com/p/yaml-cpp/;
-    description = "A YAML parser and emitter for C++";
-    license = stdenv.lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
index fb81dc425f1..1ba31a7a6d5 100644
--- a/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, boostHeaders}:
+{ stdenv, fetchurl, cmake, boost }:
 
 stdenv.mkDerivation {
   name = "libyaml-cpp-0.5.1";
@@ -8,11 +8,13 @@ stdenv.mkDerivation {
     sha256 = "01kg0h8ksp162kdhyzn67vnlxpj5zjbks84sh50pv61xni990z1y";
   };
 
-  buildInputs = [ cmake boostHeaders ];
+  buildInputs = [ cmake boost ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://code.google.com/p/yaml-cpp/;
     description = "A YAML parser and emitter for C++";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix
index d0ad17048aa..667298922ca 100644
--- a/pkgs/development/libraries/libyaml/default.nix
+++ b/pkgs/development/libraries/libyaml/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 let
   version = "0.1.6";
 in
@@ -10,9 +10,17 @@ stdenv.mkDerivation {
     sha256 = "0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx";
   };
 
+  patches = [(fetchpatch {
+    name = "CVE-2014-9130.diff";
+    url = "http://bitbucket.org/xi/libyaml/commits/2b915675/raw/";
+    sha256 = "1vrkga2wk060wccg61c2mj5prcyv181qikgdfi1z4hz8ygmpvl04";
+  })];
+
   meta = with stdenv.lib; {
     homepage = http://pyyaml.org/;
     description = "A YAML 1.1 parser and emitter written in C";
     license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libykneomgr/default.nix b/pkgs/development/libraries/libykneomgr/default.nix
new file mode 100644
index 00000000000..0356d7c1f4c
--- /dev/null
+++ b/pkgs/development/libraries/libykneomgr/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, pcsclite, libzip, help2man }:
+
+stdenv.mkDerivation rec {
+  name = "libykneomgr-0.1.6";
+
+  src = fetchurl {
+    url = "https://developers.yubico.com/libykneomgr/Releases/${name}.tar.gz";
+    sha256 = "15fa4sslbzhzmkf0xik36as9lsmys1apqwjxv8sx7qlpacmxy3bw";
+  };
+
+  buildInputs = [ pkgconfig pcsclite libzip help2man ];
+
+  configureFlags = [
+    "--with-backend=pcsc"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/libykneomgr;
+    description = "a C library to interact with the CCID-part of the Yubikey NEO";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libyubikey/default.nix b/pkgs/development/libraries/libyubikey/default.nix
index 25c2117b059..8d3dd65adbf 100644
--- a/pkgs/development/libraries/libyubikey/default.nix
+++ b/pkgs/development/libraries/libyubikey/default.nix
@@ -1,21 +1,18 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation rec
-{
-  version = "1.11";
-  name = "libyubikey-${version}";
+stdenv.mkDerivation rec {
+  name = "libyubikey-1.13";
 
-  src = fetchurl
-  {
-    url = "http://opensource.yubico.com/yubico-c/releases/${name}.tar.gz";
-    sha256 = "19pm4rqsnm9r0n5j26bqkxa1jpimdavzcvg5g7p416vkjhxc6lw9";
+  src = fetchurl {
+    url = "https://developers.yubico.com/yubico-c/Releases/${name}.tar.gz";
+    sha256 = "009l3k2zyn06dbrlja2d4p2vfnzjhlcqxi88v02mlrnb17mx1v84";
   };
 
-  meta =
-  {
+  meta = with stdenv.lib; {
     homepage = "http://opensource.yubico.com/yubico-c/";
     description = "C library for manipulating Yubico YubiKey One-Time Passwords (OTPs)";
-    license = "bsd";
-    maintainers = [ stdenv.lib.maintainers.calrama ];
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ calrama wkennington ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libzdb/default.nix b/pkgs/development/libraries/libzdb/default.nix
index 90692569f08..a5799f79b56 100644
--- a/pkgs/development/libraries/libzdb/default.nix
+++ b/pkgs/development/libraries/libzdb/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec
 
   meta =
   {
-    homepage = "http://www.tildeslash.com/libzdb/";
-    description = "A small, easy to use Open Source Database Connection Pool Library.";
+    homepage = http://www.tildeslash.com/libzdb/;
+    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 ];
diff --git a/pkgs/development/libraries/libzen/default.nix b/pkgs/development/libraries/libzen/default.nix
new file mode 100644
index 00000000000..2fdeee7b5dc
--- /dev/null
+++ b/pkgs/development/libraries/libzen/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig }:
+
+let version = "0.4.30"; in
+
+stdenv.mkDerivation {
+  name = "libzen-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
+    sha256 = "1ripvyzz2lw9nx2j8mkjgjfpabrz6knwxri52asqf1abnszbry64";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig ];
+  configureFlags = [ "--enable-shared" ];
+
+  sourceRoot = "./ZenLib/Project/GNU/Library/";
+
+  preConfigure = "sh autogen";
+
+  meta = {
+    description = "Shared library for libmediainfo and mediainfo";
+    homepage = http://mediaarea.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index be50a58c54a..4af9278c7b1 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -2,12 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "libzip-0.11.2";
-  
+
   src = fetchurl {
     url = "http://www.nih.at/libzip/${name}.tar.gz";
     sha256 = "1mcqrz37vjrfr4gnss37z1m7xih9x9miq3mms78zf7wn7as1znw3";
   };
-  
+
+  # fix CVE-2015-2331 taken from Debian patch:
+  # https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=12;filename=libzip-0.11.2-1.2-nmu.diff;att=1;bug=780756
+  postPatch = ''
+    substituteInPlace lib/zip_dirent.c --replace \
+      'else if ((cd->entry=(struct zip_entry *)' \
+      'else if (nentry > ((size_t)-1)/sizeof(*(cd->entry)) || (cd->entry=(struct zip_entry *)'
+    cat lib/zip_dirent.c
+  '';
+
   propagatedBuildInputs = [ zlib ];
 
   # At least mysqlWorkbench cannot find zipconf.h; I think also openoffice
diff --git a/pkgs/development/libraries/libzrtpcpp/1.6.nix b/pkgs/development/libraries/libzrtpcpp/1.6.nix
deleted file mode 100644
index 79d95e07bb8..00000000000
--- a/pkgs/development/libraries/libzrtpcpp/1.6.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, commoncpp2, openssl, pkgconfig, ccrtp }:
-
-stdenv.mkDerivation rec {
-  name = "libzrtpcpp-1.6.0";
-
-  src = fetchurl {
-    url = "mirror://gnu/ccrtp/${name}.tar.gz";
-    sha256 = "17aayr4f27rp4fvminxn6jx7kq56kkk341l7ypqb9h0k6kns27kb";
-  };
-
-  buildInputs = [ commoncpp2 openssl pkgconfig ccrtp ];
-
-  meta = { 
-    description = "GNU RTP stack for the zrtp protocol developed by Phil Zimmermann";
-    homepage = "http://www.gnutelephony.org/index.php/GNU_ZRTP";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/libzrtpcpp/default.nix b/pkgs/development/libraries/libzrtpcpp/default.nix
index 9962efa7f1e..9c4affd9032 100644
--- a/pkgs/development/libraries/libzrtpcpp/default.nix
+++ b/pkgs/development/libraries/libzrtpcpp/default.nix
@@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake pkgconfig ];
-
-  propagatedBuildInputs = [ openssl ccrtp ];
+  buildInputs = [ openssl ccrtp ];
 
   meta = { 
     description = "GNU RTP stack for the zrtp protocol developed by Phil Zimmermann";
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
new file mode 100644
index 00000000000..a4dc7b5e93d
--- /dev/null
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, requireFile, cmake, mesa, libX11, libXi }:
+
+let 
+  sourceInfo = rec {
+    version="1.1.0";
+    name="liquidfun-${version}";
+    url="https://github.com/google/liquidfun/releases/download/v${version}/${name}";
+    hash="5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86";
+  };
+in
+stdenv.mkDerivation rec {
+  src = requireFile {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+    name = sourceInfo.name + ".tar.gz";
+  };
+
+  inherit (sourceInfo) name version;
+  buildInputs = [ cmake mesa libX11 libXi ];
+
+  sourceRoot = "liquidfun/Box2D/";
+
+  preConfigurePhases = "preConfigure";
+
+  preConfigure = ''
+    sed -i Box2D/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices 15@'
+    substituteInPlace Box2D/CMakeLists.txt --replace "Common/b2GrowableStack.h" "Common/b2GrowableStack.h Common/b2GrowableBuffer.h"
+  '';
+      
+  configurePhase = ''
+    mkdir Build
+    cd Build; 
+    cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out ..
+  '';
+
+  meta = {
+    description = "2D physics engine based on Box2D";
+    maintainers = with stdenv.lib.maintainers;
+    [
+      qknight
+    ];
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
+    license = stdenv.lib.licenses.bsd2;
+    homepage = https://google.github.io/liquidfun/;
+  };
+}
+
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index 75f175a5b2d..d84e0219294 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,18 +1,34 @@
-{ stdenv, fetchurl, alsaLib }:
+{ stdenv, fetchurl, alsaLib, bash, help2man, pkgconfig, x11, python3 }:
 
 stdenv.mkDerivation rec {
-  name = "lirc-0.9.0";
+  name = "lirc-0.9.2a";
 
   src = fetchurl {
     url = "mirror://sourceforge/lirc/${name}.tar.bz2";
-    sha256 = "1zx4mcnjwzz6jsi6ln7a3dkgx05nvg1pxxvmjqvd966ldapay8v3";
+    sha256 = "011nwpxm5d12rsapljg3pjf9pgb0j8ngmc3zg69q4kv61hkx2zim";
   };
 
-  buildInputs = [ alsaLib ];
+  patchPhase = ''
+    sed -e 's|^#!/usr/bin/env python3$|#!${python3}/bin/python3|g' -i tools/*.py
+  '';
+
+  preBuild = "patchShebangs .";
+
+  buildInputs = [ alsaLib help2man pkgconfig x11 python3 ];
 
   configureFlags = [
     "--with-driver=devinput"
     "--sysconfdir=$(out)/etc"
     "--enable-sandboxed"
   ];
+
+  makeFlags = [ "m4dir=$(out)/m4" ];
+
+  meta = with stdenv.lib; {
+    description = "Allows to receive and send infrared signals";
+    homepage = http://www.lirc.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
 }
diff --git a/pkgs/development/libraries/loudmouth/default.nix b/pkgs/development/libraries/loudmouth/default.nix
index ae9f3fc6c18..1e3ed216f5a 100644
--- a/pkgs/development/libraries/loudmouth/default.nix
+++ b/pkgs/development/libraries/loudmouth/default.nix
@@ -5,10 +5,18 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/loudmouth/1.4/${name}.tar.bz2";
-    md5 = "55339ca42494690c3942ee1465a96937";
+    sha256 = "1qr9z73i33y49pbpq6zy7q537g0iyc8sm56rjf0ylwcv01fkzacm";
   };
 
-  patches = [ ./glib-2.32.patch ];
+  patches = [
+    ./glib-2.32.patch
+    (fetchurl rec {
+      name = "01-fix-sasl-md5-digest-uri.patch";
+      url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/"
+          + "${name}?h=packages/loudmouth";
+      sha256 = "0y79vbklscgp8248iirllwmgk4q0wwyl3gmxz7l9frc2384xvanm";
+    })
+  ];
 
   configureFlags = "--with-ssl=openssl";
 
diff --git a/pkgs/development/libraries/luabind/0.9.1_boost_1.57_fix.patch b/pkgs/development/libraries/luabind/0.9.1_boost_1.57_fix.patch
new file mode 100644
index 00000000000..7ac495777b5
--- /dev/null
+++ b/pkgs/development/libraries/luabind/0.9.1_boost_1.57_fix.patch
@@ -0,0 +1,23 @@
+diff --git a/luabind/object.hpp b/luabind/object.hpp
+index f7b7ca5..1c18e04 100644
+--- a/luabind/object.hpp
++++ b/luabind/object.hpp
+@@ -536,6 +536,8 @@ namespace detail
+       handle m_key;
+   };
+ 
++#if BOOST_VERSION < 105700
++
+ // Needed because of some strange ADL issues.
+ 
+ #define LUABIND_OPERATOR_ADL_WKND(op) \
+@@ -557,7 +559,8 @@ namespace detail
+   LUABIND_OPERATOR_ADL_WKND(!=)
+ 
+ #undef LUABIND_OPERATOR_ADL_WKND
+- 
++
++#endif // BOOST_VERSION < 105700 
+ } // namespace detail
+ 
+ namespace adl
diff --git a/pkgs/development/libraries/luabind/0.9.1_discover_luajit.patch b/pkgs/development/libraries/luabind/0.9.1_discover_luajit.patch
new file mode 100644
index 00000000000..6e5fe6aa6f8
--- /dev/null
+++ b/pkgs/development/libraries/luabind/0.9.1_discover_luajit.patch
@@ -0,0 +1,22 @@
+diff --git a/Jamroot b/Jamroot
+index 94494bf..83dfcbb 100755
+--- a/Jamroot
++++ b/Jamroot
+@@ -64,7 +64,7 @@ else if [ os.name ] in LINUX MACOSX FREEBSD
+         $(LUA_PATH) $(HOME)/Library/Frameworks /Library/Frameworks /usr /usr/local /opt/local /opt ;
+ 
+     local possible-suffixes =
+-        include/lua5.1 include/lua51 include/lua include ;
++        include/lua5.1 include/lua51 include/lua include include/luajit-2.0 ;
+ 
+     local includes = [ GLOB $(possible-prefixes)/$(possible-suffixes) : lua.h ] ;
+ 
+@@ -83,7 +83,7 @@ else if [ os.name ] in LINUX MACOSX FREEBSD
+ 
+     local lib = $(prefix)/lib ;
+ 
+-    local names = liblua5.1 liblua51 liblua ;
++    local names = liblua5.1 liblua51 liblua libluajit-5.1 ;
+     local extensions = .a .so ;
+ 
+     library = [ GLOB $(lib)/lua51 $(lib)/lua5.1 $(lib)/lua $(lib) :
diff --git a/pkgs/development/libraries/luabind/0.9.1_modern_boost_fix.patch b/pkgs/development/libraries/luabind/0.9.1_modern_boost_fix.patch
new file mode 100644
index 00000000000..92e32828a03
--- /dev/null
+++ b/pkgs/development/libraries/luabind/0.9.1_modern_boost_fix.patch
@@ -0,0 +1,59 @@
+diff --git luabind-0.9.1/luabind/detail/call_function.hpp luabind-0.9.1-fixed/luabind/detail/call_function.hpp
+index 1b45ec1..8f5afff 100644
+--- luabind-0.9.1/luabind/detail/call_function.hpp
++++ luabind-0.9.1-fixed/luabind/detail/call_function.hpp
+@@ -323,7 +323,8 @@ namespace luabind
+ 
+ #endif // LUABIND_CALL_FUNCTION_HPP_INCLUDED
+ 
+-#elif BOOST_PP_ITERATION_FLAGS() == 1
++#else
++#if BOOST_PP_ITERATION_FLAGS() == 1
+ 
+ #define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
+ #define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
+@@ -440,4 +441,5 @@ namespace luabind
+ 
+ 
+ #endif
++#endif
+ 
+diff --git luabind-0.9.1/luabind/detail/call_member.hpp luabind-0.9.1-fixed/luabind/detail/call_member.hpp
+index de8d563..e63555b 100644
+--- luabind-0.9.1/luabind/detail/call_member.hpp
++++ luabind-0.9.1-fixed/luabind/detail/call_member.hpp
+@@ -316,7 +316,8 @@ namespace luabind
+ 
+ #endif // LUABIND_CALL_MEMBER_HPP_INCLUDED
+ 
+-#elif BOOST_PP_ITERATION_FLAGS() == 1
++#else
++#if BOOST_PP_ITERATION_FLAGS() == 1
+ 
+ #define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
+ #define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
+@@ -360,4 +361,5 @@ namespace luabind
+ #undef LUABIND_TUPLE_PARAMS
+ 
+ #endif
++#endif
+ 
+diff --git luabind-0.9.1/luabind/wrapper_base.hpp luabind-0.9.1-fixed/luabind/wrapper_base.hpp
+index d54c668..0f88cc5 100755
+--- luabind-0.9.1/luabind/wrapper_base.hpp
++++ luabind-0.9.1-fixed/luabind/wrapper_base.hpp
+@@ -89,7 +89,8 @@ namespace luabind
+ 
+ #endif // LUABIND_WRAPPER_BASE_HPP_INCLUDED
+ 
+-#elif BOOST_PP_ITERATION_FLAGS() == 1
++#else
++#if BOOST_PP_ITERATION_FLAGS() == 1
+ 
+ #define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
+ #define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
+@@ -188,3 +189,4 @@ namespace luabind
+ #undef N
+ 
+ #endif
++#endif
diff --git a/pkgs/development/libraries/luabind/default.nix b/pkgs/development/libraries/luabind/default.nix
new file mode 100644
index 00000000000..edb914123e1
--- /dev/null
+++ b/pkgs/development/libraries/luabind/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, boost-build, lua, boost}:
+
+stdenv.mkDerivation rec {
+  name = "luabind-0.9.1";
+
+  src = fetchurl {
+    url = "https://github.com/luabind/luabind/archive/v0.9.1.tar.gz";
+    sha256 = "0e5ead50a07668d29888f2fa6f53220f900c886e46a2c99c7e8656842f05ff2d";
+  };
+
+  patches = [ ./0.9.1_modern_boost_fix.patch ./0.9.1_boost_1.57_fix.patch ./0.9.1_discover_luajit.patch ];
+
+  buildInputs = [ boost-build lua boost ];
+
+  propagatedBuildInputs = [ lua ];
+
+  buildPhase = "LUA_PATH=${lua} bjam release";
+
+  installPhase = "LUA_PATH=${lua} bjam --prefix=$out release install";
+
+  passthru = {
+    inherit lua;
+  };
+
+  meta = {
+    homepage = https://github.com/luabind/luabind;
+    description = "Luabind is a library that helps you create bindings between C++ and Lua.";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/libraries/lucene++/default.nix b/pkgs/development/libraries/lucene++/default.nix
new file mode 100644
index 00000000000..74c7b5e7261
--- /dev/null
+++ b/pkgs/development/libraries/lucene++/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, fetchpatch, cmake, boost, gtest }:
+
+stdenv.mkDerivation rec {
+  name = "lucene++-${version}";
+  version = "3.0.6";
+
+  src = fetchurl {
+    url = "https://github.com/luceneplusplus/LucenePlusPlus/"
+        + "archive/rel_${version}.tar.gz";
+    sha256 = "068msvh05gsbfj1wwdqj698kxxfjdqy8zb6pqvail3ayjfj94w1y";
+  };
+
+  patches = let
+    baseurl = "https://github.com/luceneplusplus/LucenePlusPlus";
+  in [
+    (fetchpatch {
+      url = "${baseurl}/pull/62.diff";
+      sha256 = "0v314877mjb0hljg4mcqi317m1p1v27rgsgf5wdr9swix43vmhgw";
+    })
+    (fetchpatch {
+      url = "${baseurl}/commit/994f03cf736229044a168835ae7387696041658f.diff";
+      sha256 = "0fcm5b87nxw062wjd7b4qrfcwsyblmcw19s64004pklj9grk30zz";
+    })
+  ];
+
+  postPatch = ''
+    sed -i -e '/Subversion *REQUIRED/d' \
+           -e '/include.*CMakeExternal/d' \
+           CMakeLists.txt
+    # not using -f because we want it to fail for the next release
+    rm CMakeExternal.txt
+  '';
+
+  cmakeFlags = [ "-DGTEST_INCLUDE_DIR=${gtest}/include" ];
+  buildInputs = [ cmake boost gtest ];
+
+  enableParallelBuilding = true;
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = {
+    description = "C++ port of the popular Java Lucene search engine";
+    homepage = "https://github.com/luceneplusplus/LucenePlusPlus";
+    license = with stdenv.lib.licenses; [ asl20 lgpl3Plus ];
+  };
+}
diff --git a/pkgs/development/libraries/lzo/default.nix b/pkgs/development/libraries/lzo/default.nix
index 7fa6194cbca..f4bff72fa80 100644
--- a/pkgs/development/libraries/lzo/default.nix
+++ b/pkgs/development/libraries/lzo/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "lzo-2.06";
+  name = "lzo-2.08";
 
   src = fetchurl {
     url = "${meta.homepage}/download/${name}.tar.gz";
-    sha256 = "0wryshs446s7cclrbjykyj766znhcpnr7s3cxy33ybfn6vwfcygz";
+    sha256 = "0536ad3ksk1r8h2a27d0y4p27lwjarzyndw7sagvxzj6xr6kw6xc";
   };
 
   configureFlags = [ "--enable-shared" ];
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
new file mode 100644
index 00000000000..a2891f9207d
--- /dev/null
+++ b/pkgs/development/libraries/mailcore2/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, lib, fetchFromGitHub, cmake, libetpan, icu, cyrus_sasl, libctemplate
+, libuchardet, pkgconfig, glib, libtidy, libxml2, libuuid, openssl
+}:
+
+stdenv.mkDerivation rec {
+  name = "mailcore2-${version}";
+
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner  = "MailCore";
+    repo   = "mailcore2";
+    rev    = version;
+    sha256 = "1f2kpw8ha4j43jlimw0my9b7x1gbik7yyg1m87q6nhbbsci78qly";
+  };
+
+  buildInputs = [
+    libetpan cmake icu cyrus_sasl libctemplate libuchardet pkgconfig glib
+    libtidy libxml2 libuuid openssl
+  ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+       --replace "tidy/tidy.h" "tidy.h" \
+       --replace "/usr/include/tidy" "${libtidy}/include" \
+       --replace "/usr/include/libxml2" "${libxml2}/include/libxml2" \
+  '';
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ];
+
+  installPhase = ''
+    mkdir $out
+    cp -r src/include $out
+
+    mkdir $out/lib
+    cp src/libMailCore.so $out/lib
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    (
+      cd unittest
+      LD_LIBRARY_PATH="$(cd ../src; pwd)" TZ=PST8PDT ./unittestcpp ../../unittest/data
+    )
+  '';
+
+  meta = with lib; {
+    description = "A simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP";
+    homepage    = http://libmailcore.com;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/development/libraries/martyr/default.nix b/pkgs/development/libraries/martyr/default.nix
index 2d37a2506c4..7fbd44b3fa4 100644
--- a/pkgs/development/libraries/martyr/default.nix
+++ b/pkgs/development/libraries/martyr/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 	builder = ./builder.sh;
 	src = fetchurl {
 		url = "mirror://sourceforge/martyr/martyr-0.3.9.tar.gz";
-		md5 = "b716a6aaabd5622b65d6126438766260";
+		sha256 = "1ks8j413bcby345kmq1i7av8kwjvz5vxdn1zpv0p7ywxq54i4z59";
 	};
 	inherit stdenv apacheAnt;
 }
diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix
new file mode 100644
index 00000000000..da4b8a8570b
--- /dev/null
+++ b/pkgs/development/libraries/matio/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  name = "matio-1.5.2";
+  src = fetchurl {
+    url = "mirror://sourceforge/matio/${name}.tar.gz";
+    sha256 = "0i8xj4g1gv50y6lj3s8hasjqspaawqbrnc06lrkdghvk6gxx00nv";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A C library for reading and writing Matlab MAT files";
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.vbgl ];
+    homepage = http://matio.sourceforge.net/;
+  };
+}
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
new file mode 100644
index 00000000000..1b0c1186f28
--- /dev/null
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "mbedtls-1.3.10";
+
+  src = fetchurl {
+    url = "https://polarssl.org/download/${name}-gpl.tgz";
+    sha256 = "0zj0vdmam52hk7c6s3y81bdb4mqawi9fskkcqlgnj8v61j7dhvvl";
+  };
+
+  nativeBuildInputs = [ perl ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  makeFlags = [
+    "SHARED=1"
+  ];
+
+  installFlags = [
+    "DESTDIR=\${out}"
+  ];
+
+  postInstall = ''
+    rm $out/lib/lib{mbedtls.so.8,polarssl.{a,so}}
+    ln -s libmbedtls.so $out/lib/libmbedtls.so.8
+    ln -s libmbedtls.so $out/lib/libpolarssl.so
+    ln -s libmbedtls.a $out/lib/libpolarssl.a
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://polarssl.org/;
+    description = "Portable cryptographic and SSL/TLS library, aka polarssl";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
index 296744e1d56..bc8f91dcb93 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 = "0.10.3";
+  version = "0.12.0";
   name = "mdds-${version}";
 
   src = fetchurl {
     url = "http://kohei.us/files/mdds/src/mdds_${version}.tar.bz2";
-    sha256 = "1hp0472mcsgzrz1v60jpywxrrqmpb8bchfsi7ydmp6vypqnr646v";
+    sha256 = "10ar7r0gkdl2r7916jlkl5c38cynrh7x9s90a5i8d242r8ixw8ia";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index d8a2ea6ee37..586a10bd1a8 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,20 +1,39 @@
-{ stdenv, fetchurl, pkgconfig, alsaLib, ffmpeg, speex, ortp, pulseaudio,
-libv4l, libtheora, intltool, libvpx, gsm, mesa, libX11, libXv, libXext,
-glew, libopus, libupnp, vim }:
+{ stdenv, fetchurl, pkgconfig, intltool, alsaLib, pulseaudio, speex, gsm
+, libopus, ffmpeg, libX11, libXv, mesa, glew, libtheora, libvpx, SDL, libupnp
+, ortp, libv4l, libpcap, srtp, vim
+}:
 
 stdenv.mkDerivation rec {
-  name = "mediastreamer-2.10.0";
+  name = "mediastreamer-2.11.1";
 
   src = fetchurl {
     url = "mirror://savannah/linphone/mediastreamer/${name}.tar.gz";
-    sha256 = "1sp1vjcz0rx518l7cfmkb4802xa5wyylr2b5hxlpjk3ygg28g3c0";
+    sha256 = "0gfv4k2rsyvyq838xjgsrxmmn0fkw40apqs8vakzjwzsz2c9z8pd";
   };
 
-# TODO: make it load plugins from *_PLUGIN_PATH
-  nativeBuildInputs = [pkgconfig intltool];
+  postPatch = ''
+    sed -i "s/\(SRTP_LIBS=\"\$SRTP_LIBS -lsrtp\"\)/SRTP_LIBS=\"$(pkg-config --libs-only-l libsrtp)\"/g" configure
+  '';
 
-  propagatedBuildInputs = [ alsaLib ffmpeg speex ortp pulseaudio libX11
-    libXv libXext libv4l libtheora libvpx gsm mesa glew libopus libupnp vim ];
+  # TODO: make it load plugins from *_PLUGIN_PATH
+  nativeBuildInputs = [ pkgconfig intltool ];
 
-  configureFlags = "--enable-external-ortp";
+  propagatedBuildInputs = [
+    alsaLib pulseaudio speex gsm libopus
+    ffmpeg libX11 libXv mesa glew libtheora libvpx SDL libupnp
+    ortp libv4l libpcap srtp
+    vim
+  ];
+
+  configureFlags = [
+    "--enable-external-ortp"
+    "--with-srtp=${srtp}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "a powerful and lightweight streaming engine specialized for voice/video telephony applications";
+    homepage = http://www.linphone.org/technical-corner/mediastreamer2/overview;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix
index 8e2e202f432..3131b6b2918 100644
--- a/pkgs/development/libraries/menu-cache/default.nix
+++ b/pkgs/development/libraries/menu-cache/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl, glib, pkgconfig }:
+{ stdenv, fetchurl, glib, pkgconfig, libfm-extra }:
 
+let name = "menu-cache-0.7.0";
+in
 stdenv.mkDerivation {
-  name = "menu-cache-0.5.1";
+  inherit name;
   src = fetchurl {
-    url = "mirror://sourceforge/lxde/menu-cache-0.5.1.tar.gz";
-    sha256 = "08m1msgbl6j7j72cwcg18klb99jif8h1phkcnbplxkdf3w15irh8";
+    url = "mirror://sourceforge/lxde/${name}.tar.xz";
+    sha256 = "0wwkk4jrcl2sp11bspabplchh4ipi1zyn39j3skyzgbm8k40gkhk";
   };
 
-  buildInputs = [ glib pkgconfig ];
+  buildInputs = [ glib pkgconfig libfm-extra ];
 
   meta = with stdenv.lib; {
     homepage = "http://blog.lxde.org/?tag=menu-cache";
diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix
index 98936904be5..f259a397c84 100644
--- a/pkgs/development/libraries/mesa-darwin/default.nix
+++ b/pkgs/development/libraries/mesa-darwin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, stdenvAdapters, gccApple, fetchurl, pkgconfig, intltool, flex, bison
+{ stdenv, stdenvAdapters, fetchurl, pkgconfig, intltool, flex, bison
 , python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau
 , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
 , enableExtraFeatures ? false # not maintained
diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix
index 502329226ff..0ea73a3a57f 100644
--- a/pkgs/development/libraries/mesa-glu/default.nix
+++ b/pkgs/development/libraries/mesa-glu/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "OpenGL utility library";
     homepage = http://cgit.freedesktop.org/mesa/glu/;
-    license = "bsd"; # SGI-B-2.0, which seems BSD-like
+    license = stdenv.lib.licenses.sgi-b-20;
   };
 }
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 1458aedc0b1..39a65886585 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll
-, python, libxml2Python, file, expat, makedepend
-, libdrm, xorg, wayland, udev, llvm, libffi
-, libvdpau, libelf
+{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, flex, bison, autoreconfHook, substituteAll
+, python, libxml2Python, file, expat, makedepend, pythonPackages
+, libdrm, xorg, wayland, udev, llvmPackages, libffi, libomxil-bellagio
+, libvdpau, libelf, libva, libclc
 , grsecEnabled
 , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
 , enableExtraFeatures ? false # not maintained
@@ -15,18 +15,18 @@ else
   - The basic mesa ($out) contains headers and libraries (GLU is in mesa_glu now).
     This or the mesa attribute (which also contains GLU) are small (~ 2 MB, mostly headers)
     and are designed to be the buildInput of other packages.
-  - DRI and EGL drivers are compiled into $drivers output,
-    which is much bigger and depends on LLVM.
-    These should be searched at runtime in "/run/opengl-driver{,-32}/lib/*"
-    and so are kind-of impure (given by NixOS).
+  - DRI drivers are compiled into $drivers output, which is much bigger and
+    depends on LLVM. These should be searched at runtime in
+    "/run/opengl-driver{,-32}/lib/*" and so are kind-of impure (given by NixOS).
     (I suppose on non-NixOS one would create the appropriate symlinks from there.)
   - libOSMesa is in $osmesa (~4 MB)
 */
 
 let
-  version = "10.2.6";
+  version = "10.5.3";
   # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
+  clang = if llvmPackages ? clang-unwrapped then llvmPackages.clang-unwrapped else llvmPackages.clang;
 in
 with { inherit (stdenv.lib) optional optionals optionalString; };
 
@@ -34,14 +34,16 @@ stdenv.mkDerivation {
   name = "mesa-noglu-${version}";
 
   src =  fetchurl {
-    url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "01n8ib190s12m8hiiyi4wfm9jhkbqjd769npjwvf965smp918cqr";
+    urls = [
+      "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
+      "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
+    ];
+    sha256 = "18ibj4c8zmg738md8phmq3va40ycsjdilg76ylw35h7mwhdyw0c7";
   };
 
   prePatch = "patchShebangs .";
 
   patches = [
-    ./static-gallium.patch
     ./glx_ro_text_segm.patch # fix for grsecurity/PaX
    # TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu),
    #  as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
@@ -51,59 +53,75 @@ stdenv.mkDerivation {
         inherit udev;
       });
 
-  # Change the search path for EGL drivers from $drivers/* to driverLink
   postPatch = ''
-    sed '/D_EGL_DRIVER_SEARCH_DIR=/s,EGL_DRIVER_INSTALL_DIR,${driverLink}/lib/egl,' \
-      -i src/egl/main/Makefile.am
-  '' + /* work around RTTI LLVM problems */ ''
-    patch -R -p1 < ${./rtti.patch}
+    substituteInPlace src/egl/main/egldriver.c \
+      --replace _EGL_DRIVER_SEARCH_DIR '"${driverLink}"'
   '';
 
   outputs = [ "dev" "out" "drivers" "osmesa" ];
 
   configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-clang-libdir=${clang}/lib"
     "--with-dri-driverdir=$(drivers)/lib/dri"
-    "--with-egl-driver-dir=$(drivers)/lib/egl"
     "--with-dri-searchpath=${driverLink}/lib/dri"
 
+    "--enable-gles1"
+    "--enable-gles2"
     "--enable-dri"
-    "--enable-glx-tls"
-    "--enable-shared-glapi" "--enable-shared-gallium"
-    "--enable-driglx-direct" # seems enabled anyway
-    "--enable-gallium-llvm" "--enable-llvm-shared-libs"
+  ] ++ optional stdenv.isLinux "--enable-dri3"
+    ++ [
+    "--enable-glx"
+    "--enable-gallium-osmesa" # used by wine
+    "--enable-egl"
     "--enable-xa" # used in vmware driver
-    "--enable-gles1" "--enable-gles2"
+    "--enable-gbm"
+  ] ++ optional stdenv.isLinux "--enable-nine" # Direct3D in Wine
+    ++ [
+    "--enable-xvmc"
     "--enable-vdpau"
-    "--enable-osmesa" # used by wine
-
-    "--with-dri-drivers=i965,r200,radeon"
-    "--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,radeonsi"
-    "--with-egl-platforms=x11,wayland,drm" "--enable-gbm"
-  ]
-    ++ optional enableTextureFloats "--enable-texture-float"
-    ++ optionals enableExtraFeatures [
-      "--enable-openvg" "--enable-gallium-egl" # not needed for EGL in Gallium, but OpenVG might be useful
-      #"--enable-xvmc" # tests segfault with 9.1.{1,2,3}
-      #"--enable-opencl" # ToDo: opencl seems to need libclc for clover
-    ]
+    "--enable-omx"
+    "--enable-va"
+
+    # TODO: Figure out how to enable opencl without having a runtime dependency on clang
+    "--disable-opencl"
+    #"--enable-opencl"
+    #"--enable-opencl-icd"
+
+    "--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,freedreno,swrast"
+    "--enable-shared-glapi"
+    "--enable-sysfs"
+    "--enable-driglx-direct" # seems enabled anyway
+    "--enable-glx-tls"
+    "--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast"
+    "--with-egl-platforms=x11,wayland,drm"
+
+    "--enable-gallium-llvm"
+    "--enable-llvm-shared-libs"
+  ] ++ optional enableTextureFloats "--enable-texture-float"
     ++ optional grsecEnabled "--enable-glx-rts"; # slight performance degradation, enable only for grsec
 
-  nativeBuildInputs = [ pkgconfig python makedepend file flex bison ];
+  nativeBuildInputs = [ pkgconfig python makedepend file flex bison pythonPackages.Mako ];
 
   propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ]
-    ++ optionals stdenv.isLinux [libdrm]
-    ;
+    ++ optionals stdenv.isLinux [ libdrm ];
+
   buildInputs = with xorg; [
-    autoreconfHook intltool expat libxml2Python llvm
+    autoreconfHook intltool expat libxml2Python llvmPackages.llvm
     glproto dri2proto dri3proto presentproto
     libX11 libXext libxcb libXt libXfixes libxshmfence
-    libffi wayland libvdpau libelf
-  ] ++ optionals enableExtraFeatures [ /*libXvMC*/ ]
-    ++ optional stdenv.isLinux udev
-    ;
+    libffi wayland libvdpau libelf libXvMC libomxil-bellagio libva
+    libclc clang
+  ] ++ optional stdenv.isLinux udev;
 
   enableParallelBuilding = true;
-  #doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672
+  doCheck = false;
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
 
   # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM;
   #   also move libOSMesa to $osmesa, as it's relatively big
@@ -169,6 +187,6 @@ stdenv.mkDerivation {
     homepage = http://www.mesa3d.org/;
     license = "bsd";
     platforms = stdenv.lib.platforms.mesaPlatforms;
-    maintainers = with stdenv.lib.maintainers; [ simons vcunat ];
+    maintainers = with stdenv.lib.maintainers; [ eduarrrd simons vcunat ];
   };
 }
diff --git a/pkgs/development/libraries/mesa/rtti.patch b/pkgs/development/libraries/mesa/rtti.patch
deleted file mode 100644
index 6b123139013..00000000000
--- a/pkgs/development/libraries/mesa/rtti.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-http://lists.freedesktop.org/archives/mesa-dev/2013-October/046311.html
-
-* As discussed on the mailing list,
-  forced no-rtti breaks C++ public
-  API's such as the Haiku C++ libGL.so
-* -fno-rtti *can* be still set however
-  instead of blindly forcing -fno-rtti,
-  we can rely on the llvm-config
-  --cppflags output.
-  If the system llvm is built without
-  rtti (default), the no-rtti flag will be
-  present in llvm-config --cppflags
-  (which we pick up on)
-  If llvm is built with rtti
-  (REQUIRES_RTTI=1), then -fno-rtti is
-  removed from llvm-config --cppflags.
-* We could selectively add / remove rtti
-  from various components, however mixing
-  rtti and non-rtti code is tricky and
-  could introduce bugs.
-* This needs impact tested.
----
- configure.ac                      | 1 -
- scons/llvm.py                     | 3 ---
- src/gallium/auxiliary/Makefile.am | 6 ------
- 3 files changed, 10 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0d082d2..3335575 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1943,7 +1943,6 @@ AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
- AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
- AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
- AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
--AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302)
- 
- AC_SUBST([ELF_LIB])
- 
-diff --git a/scons/llvm.py b/scons/llvm.py
-index 7cd609c..c1c3736 100644
---- a/scons/llvm.py
-+++ b/scons/llvm.py
-@@ -195,9 +195,6 @@ def generate(env):
-             if llvm_version >= distutils.version.LooseVersion('3.1'):
-                 components.append('mcjit')
- 
--            if llvm_version >= distutils.version.LooseVersion('3.2'):
--                env.Append(CXXFLAGS = ('-fno-rtti',))
--
-             env.ParseConfig('llvm-config --libs ' + ' '.join(components))
-             env.ParseConfig('llvm-config --ldflags')
-         except OSError:
-diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
-index 670e124..2d2d8d4 100644
---- a/src/gallium/auxiliary/Makefile.am
-+++ b/src/gallium/auxiliary/Makefile.am
-@@ -25,12 +25,6 @@ AM_CXXFLAGS += \
- 	$(GALLIUM_CFLAGS) \
- 	$(LLVM_CXXFLAGS)
- 
--if LLVM_NEEDS_FNORTTI
--
--AM_CXXFLAGS += -fno-rtti
--
--endif
--
- libgallium_la_SOURCES += \
- 	$(GALLIVM_SOURCES) \
- 	$(GALLIVM_CPP_SOURCES)
--- 
-1.8.4
diff --git a/pkgs/development/libraries/mesa/static-gallium.patch b/pkgs/development/libraries/mesa/static-gallium.patch
deleted file mode 100644
index bb3f60eaf88..00000000000
--- a/pkgs/development/libraries/mesa/static-gallium.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-117-static-gallium.patch from Ubuntu Trusty
-
-diff --git a/configure.ac b/configure.ac
-index b9fcb0b..be89843 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -747,6 +747,19 @@ if test "x$enable_shared_glapi" = xyes; then
- fi
- AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
- 
-+AC_ARG_ENABLE([shared-gallium],
-+    [AS_HELP_STRING([--enable-shared-gallium],
-+        [Enable shared gallium core @<:@default=yes@:>@])],
-+    [enable_shared_gallium="$enableval"],
-+    [enable_shared_gallium=yes])
-+
-+SHARED_GALLIUM="0"
-+if test "x$enable_shared_gallium" = xyes; then
-+    SHARED_GALLIUM="1"
-+fi
-+AC_SUBST([SHARED_GALLIUM])
-+AM_CONDITIONAL(HAVE_SHARED_GALLIUM, test $SHARED_GALLIUM = 1)
-+
- dnl
- dnl Driver specific build directories
- dnl
-diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
-index f14279b..3cdec83 100644
---- a/src/gallium/auxiliary/Makefile.am
-+++ b/src/gallium/auxiliary/Makefile.am
-@@ -3,14 +3,19 @@ AUTOMAKE_OPTIONS = subdir-objects
- include Makefile.sources
- include $(top_srcdir)/src/gallium/Automake.inc
- 
--noinst_LTLIBRARIES = libgallium.la
--
- AM_CFLAGS = \
- 	-I$(top_srcdir)/src/gallium/auxiliary/util \
--	$(GALLIUM_CFLAGS) \
--	$(VISIBILITY_CFLAGS)
-+	$(GALLIUM_CFLAGS)
- 
--AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
-+AM_CXXFLAGS =
-+
-+if HAVE_SHARED_GALLIUM
-+lib_LTLIBRARIES = libgallium.la
-+else
-+noinst_LTLIBRARIES = libgallium.la
-+AM_CFLAGS += $(VISIBILITY_CFLAGS)
-+AM_CXXFLAGS += $(VISIBILITY_CXXFLAGS)
-+endif
- 
- libgallium_la_SOURCES = \
- 	$(C_SOURCES) \
-@@ -29,6 +34,8 @@ if LLVM_NEEDS_FNORTTI
- 
- AM_CXXFLAGS += -fno-rtti
- 
-+libgallium_la_LIBADD = $(LLVM_LIBS)
-+
- endif
- 
- libgallium_la_SOURCES += \
diff --git a/pkgs/development/libraries/ming/default.nix b/pkgs/development/libraries/ming/default.nix
index a470f771561..9df90555218 100644
--- a/pkgs/development/libraries/ming/default.nix
+++ b/pkgs/development/libraries/ming/default.nix
@@ -2,11 +2,11 @@
 , perl }:
 
 stdenv.mkDerivation rec {
-  name = "ming-0.4.0.rc1";
+  name = "ming-0.4.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/ming/${name}.tar.bz2";
-    sha256 = "19brcqh4mqav5gsnmnb6j4gv9s0rmkg71657ck17xj8fdklq38y7";
+    sha256 = "1sws4cs9i9hysr1l0b8hsmqf4gh06ldc24fw6avzr9y3vydhinl2";
   };
 
   # We don't currently build the Python, Perl, PHP, etc. bindings.
diff --git a/pkgs/development/libraries/minixml/default.nix b/pkgs/development/libraries/minixml/default.nix
index f3b1c2c72a7..345ff5d31b5 100644
--- a/pkgs/development/libraries/minixml/default.nix
+++ b/pkgs/development/libraries/minixml/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation  rec {
   name = "mxml-${version}";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchurl {
     url = "http://www.msweet.org/files/project3/${name}.tar.gz";
-    sha256 = "1m8i62dfmgfc1v8y3zx0r4i2hr5n86yw01xh5kiq53bi3bwnk4qc";
+    sha256 = "14pzhlfidj5v1qbxy7a59yn4jz9pnjrs2zwalz228jsq7ijm9vfd";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/mpc/default.nix b/pkgs/development/libraries/mpc/default.nix
deleted file mode 100644
index 3d05fa2e040..00000000000
--- a/pkgs/development/libraries/mpc/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ fetchurl, stdenv, gmp, mpfr }:
-
-stdenv.mkDerivation rec {
-  name = "mpc-1.0.1";
-
-  src = fetchurl {
-    url = "http://www.multiprecision.org/mpc/download/${name}.tar.gz";
-    sha1 = "vxg0rkyn4cs40wr2cp6bbcyr1nnijzlc";
-  };
-
-  buildInputs = [ gmp mpfr ];
-
-  doCheck = true;
-
-  meta = {
-    description = "Library for multiprecision complex arithmetic with exact rounding";
-
-    longDescription =
-      '' GNU MPC is a C library for the arithmetic of complex numbers with
-         arbitrarily high precision and correct rounding of the result.  It is
-         built upon and follows the same principles as GNU MPFR.
-      '';
-
-    homepage = http://mpc.multiprecision.org/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-  };
-}
diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix
index 901752e3fe3..06cebf04189 100644
--- a/pkgs/development/libraries/mpfr/default.nix
+++ b/pkgs/development/libraries/mpfr/default.nix
@@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" "doc" ];
 
-  buildInputs = [ gmp ];
+  # mpfr.h requires gmp.h
+  propagatedBuildInputs = [ gmp ];
+
+  CFLAGS = "-I${gmp}/include";
+  LDFLAGS = if stdenv.isDarwin then "-L${gmp}/lib" else null;
 
   configureFlags =
     /* Work around a FreeBSD bug that otherwise leads to segfaults in the test suite:
@@ -43,7 +47,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.lgpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/mtdev/default.nix b/pkgs/development/libraries/mtdev/default.nix
index 2363f33de07..0e1327e9e76 100644
--- a/pkgs/development/libraries/mtdev/default.nix
+++ b/pkgs/development/libraries/mtdev/default.nix
@@ -1,18 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mtdev-1.1.2";
+  name = "mtdev-1.1.5";
 
   src = fetchurl {
     url = "http://bitmath.org/code/mtdev/${name}.tar.bz2";
-    sha256 = "0c2sfxxymf20ylvblgmdmybqs0cydmphg9fq6fnp6flbl0fd33b9";
+    sha256 = "0zxs7shzgbalkvlaiibi25bd902rbmkv9n1lww6q8j3ri9qdaxv6";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://bitmath.org/code/mtdev/;
-
     description = "Multitouch Protocol Translation Library";
-
     longDescription = ''
       The mtdev is a stand-alone library which transforms all variants of
       kernel MT events to the slotted type B protocol. The events put into
@@ -20,7 +18,8 @@ stdenv.mkDerivation rec {
       tracking, type A with contact tracking, or type B with contact tracking.
       See the kernel documentation for further details. 
     '';
-
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix
index 9d9a524e86d..b68f04f642f 100644
--- a/pkgs/development/libraries/muparser/default.nix
+++ b/pkgs/development/libraries/muparser/default.nix
@@ -1,11 +1,14 @@
 {stdenv, fetchurl, unzip}:
 
-stdenv.mkDerivation {
-	name = "muparser-2.2.2";
-	src = fetchurl {
-		url = mirror://sourceforge/muparser/muparser_v2_2_2.zip;
-		sha256 = "0pncvjzzbwcadgpwnq5r7sl9v5r2y9gjgfnlw0mrs9wj206dbhx9";
-	};
+stdenv.mkDerivation rec {
+  name = "muparser-${version}";
+  version = "2.2.3";
+  url-version = stdenv.lib.replaceChars ["."] ["_"] version;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/muparser/muparser_v${url-version}.zip";
+    sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z";
+  };
 
   buildInputs = [ unzip ];
 
diff --git a/pkgs/development/libraries/mythes/default.nix b/pkgs/development/libraries/mythes/default.nix
index 8fc160ae11d..dd40a396244 100644
--- a/pkgs/development/libraries/mythes/default.nix
+++ b/pkgs/development/libraries/mythes/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, hunspell, pkgconfig, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mythes-1.2.3";
+  name = "mythes-1.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/hunspell/${name}.tar.gz";
-    sha256 = "0f5q7yiwg9bw4a5zxg0dapqdfc2grfb4ss34ifir3mhhy4q3jf4j";
+    sha256 = "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y";
   };
 
   buildInputs = [ hunspell ];
diff --git a/pkgs/development/libraries/ncurses/clang.patch b/pkgs/development/libraries/ncurses/clang.patch
new file mode 100644
index 00000000000..ce33049bf40
--- /dev/null
+++ b/pkgs/development/libraries/ncurses/clang.patch
@@ -0,0 +1,42 @@
+diff -ruNp ncurses-5.8.orig/c++/cursesf.h ncurses-5.8/c++/cursesf.h
+--- ncurses-5.8.orig/c++/cursesf.h	2005-08-13 21:08:24.000000000 +0300
++++ ncurses-5.8/c++/cursesf.h	2011-04-03 18:29:29.000000000 +0300
+@@ -681,7 +681,7 @@ public:
+ 		   const T* p_UserData = STATIC_CAST(T*)(0),
+ 		   bool with_frame=FALSE,
+ 		   bool autoDelete_Fields=FALSE)
+-    : NCursesForm (Fields, with_frame, autoDelete_Fields) {
++    : NCursesForm (&Fields, with_frame, autoDelete_Fields) {
+       if (form)
+ 	set_user (const_cast<void *>(p_UserData));
+   };
+@@ -694,7 +694,7 @@ public:
+ 		   const T* p_UserData = STATIC_CAST(T*)(0),
+ 		   bool with_frame=FALSE,
+ 		   bool autoDelete_Fields=FALSE)
+-    : NCursesForm (Fields, nlines, ncols, begin_y, begin_x,
++    : NCursesForm (&Fields, nlines, ncols, begin_y, begin_x,
+ 		   with_frame, autoDelete_Fields) {
+       if (form)
+ 	set_user (const_cast<void *>(p_UserData));
+diff -ruNp ncurses-5.8.orig/c++/cursesm.h ncurses-5.8/c++/cursesm.h
+--- ncurses-5.8.orig/c++/cursesm.h	2005-08-13 21:10:36.000000000 +0300
++++ ncurses-5.8/c++/cursesm.h	2011-04-03 18:31:42.000000000 +0300
+@@ -639,7 +639,7 @@ public:
+ 		   const T* p_UserData = STATIC_CAST(T*)(0),
+ 		   bool with_frame=FALSE,
+ 		   bool autoDelete_Items=FALSE)
+-    : NCursesMenu (Items, with_frame, autoDelete_Items) {
++    : NCursesMenu (&Items, with_frame, autoDelete_Items) {
+       if (menu)
+ 	set_user (const_cast<void *>(p_UserData));
+   };
+@@ -651,7 +651,7 @@ public:
+ 		   int begin_x = 0,
+ 		   const T* p_UserData = STATIC_CAST(T*)(0),
+ 		   bool with_frame=FALSE)
+-    : NCursesMenu (Items, nlines, ncols, begin_y, begin_x, with_frame) {
++    : NCursesMenu (&Items, nlines, ncols, begin_y, begin_x, with_frame) {
+       if (menu)
+ 	set_user (const_cast<void *>(p_UserData));
+   };
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 631199bf87c..a4b8c8d4567 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
   };
 
-  patches = [ ./patch-ac ];
+  patches = [ ./patch-ac ./clang.patch ];
 
   configureFlags = ''
     --with-shared --without-debug --enable-pc-files --enable-symlinks
@@ -35,8 +35,6 @@ stdenv.mkDerivation rec {
     export configureFlags="$configureFlags --includedir=$out/include"
     export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig"
     mkdir -p "$PKG_CONFIG_LIBDIR"
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace configure --replace -no-cpp-precomp ""
   '';
 
   selfNativeBuildInput = true;
@@ -90,7 +88,7 @@ stdenv.mkDerivation rec {
 
     license = lib.licenses.mit;
 
-    maintainers = [ lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/ndn-cxx/default.nix b/pkgs/development/libraries/ndn-cxx/default.nix
new file mode 100644
index 00000000000..d95443da359
--- /dev/null
+++ b/pkgs/development/libraries/ndn-cxx/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchgit, openssl, doxygen, boost, sqlite, cryptopp, pkgconfig, python, pythonPackages }:
+let
+  version = "4c32e7";
+in
+stdenv.mkDerivation {
+  name = "ndn-cxx-0.1-${version}";
+  src = fetchgit {
+    url = "https://github.com/named-data/ndn-cxx.git";
+    rev = "4c32e748863d5165cc0e3d6b54a8383f4836cdf1";
+    sha256 = "18s18inf14wmkfh1z6w087w7l3bqszd0nkhr09j73hqpz90b06hz";
+  };
+  buildInputs = [ openssl doxygen boost sqlite cryptopp pkgconfig python pythonPackages.sphinx];
+  preConfigure = ''
+    patchShebangs waf
+    ./waf configure \
+      --with-cryptopp=${cryptopp} \
+      --boost-includes=${boost.dev}/include \
+      --boost-libs=${boost.lib}/lib \
+      --with-examples \
+      --prefix=$out
+  '';
+  buildPhase = ''
+    ./waf
+  '';
+  installPhase = ''
+    ./waf install
+  '';
+  meta = with stdenv.lib; {
+    homepage = "http://named-data.net/";
+    description = "A Named Data Neworking (NDN) or Content Centric Networking (CCN) abstraction";
+    longDescription = ''
+      ndn-cxx is a C++ library, implementing Named Data Networking (NDN)
+      primitives that can be used to implement various NDN applications.
+      NDN operates by addressing and delivering Content Objects directly
+      by Name instead of merely addressing network end-points. In addition,
+      the NDN security model explicitly secures individual Content Objects
+      rather than securing the connection or “pipe”. Named and secured
+      content resides in distributed caches automatically populated on
+      demand or selectively pre-populated. When requested by name, NDN
+      delivers named content to the user from the nearest cache, thereby
+      traversing fewer network hops, eliminating redundant requests,
+      and consuming less resources overall.
+    '';
+    license = licenses.lgpl3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.sjmackenzie ];
+  };
+}
diff --git a/pkgs/development/libraries/netcdf/default.nix b/pkgs/development/libraries/netcdf/default.nix
index 1e354a49cfd..505c9b5c0d9 100644
--- a/pkgs/development/libraries/netcdf/default.nix
+++ b/pkgs/development/libraries/netcdf/default.nix
@@ -1,9 +1,22 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl,
+  zlib, hdf5,
+  curl # for DAP
+}:
     
-stdenv.mkDerivation {
-    name = "netcdf-4.1.1";
+stdenv.mkDerivation rec {
+    name = "netcdf-4.3.2";
     src = fetchurl {
-        url = http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.1.tar.gz;
-        sha256 = "1c1g6ig24fn1fm5wwzv4w832li2jikblvbjv6wwg0mwc6yfxccvr";
+        url = "http://www.unidata.ucar.edu/downloads/netcdf/ftp/${name}.tar.gz";
+        sha256 = "57086b4383ce9232f05aad70761c2a6034b1a0c040260577d369b3bbfe6d248e";
     };
-}
\ No newline at end of file
+
+    buildInputs = [
+        zlib hdf5 curl
+    ];
+
+    configureFlags = [
+        "--enable-netcdf-4"
+        "--enable-dap"
+        "--enable-shared"
+    ];
+}
diff --git a/pkgs/development/libraries/nettle/27.nix b/pkgs/development/libraries/nettle/27.nix
new file mode 100644
index 00000000000..fc85f5eb9de
--- /dev/null
+++ b/pkgs/development/libraries/nettle/27.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "2.7.1";
+
+  src = fetchurl {
+    url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
+    sha256 = "0h2vap31yvi1a438d36lg1r1nllfx3y19r4rfxv7slrm6kafnwdw";
+  };
+})
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 38d197c69ab..a6aae14e5c3 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -1,67 +1,10 @@
-{ fetchurl, stdenv, gmp, gnum4 }:
+{ callPackage, fetchurl, ... } @ args:
 
-stdenv.mkDerivation (rec {
-  name = "nettle-2.7.1";
+callPackage ./generic.nix (args // rec {
+  version = "3.0";
 
   src = fetchurl {
-    url = "mirror://gnu/nettle/${name}.tar.gz";
-    sha256 = "0h2vap31yvi1a438d36lg1r1nllfx3y19r4rfxv7slrm6kafnwdw";
+    url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
+    sha256 = "04yrpjz33vrj6j0zxc153b00f93i8hs41syr1ryp7sr64fyw0lcn";
   };
-
-  buildInputs = [ gnum4 ];
-  propagatedBuildInputs = [ gmp ];
-
-  doCheck = (stdenv.system != "i686-cygwin" && !stdenv.isDarwin);
-
-  enableParallelBuilding = true;
-
-  # It doesn't build otherwise
-  dontDisableStatic = true;
-
-  patches = stdenv.lib.optional (stdenv.system == "i686-cygwin")
-              ./cygwin.patch;
-
-  meta = {
-    description = "Cryptographic library";
-
-    longDescription = ''
-        Nettle is a cryptographic library that is designed to fit
-        easily in more or less any context: In crypto toolkits for
-        object-oriented languages (C++, Python, Pike, ...), in
-        applications like LSH or GNUPG, or even in kernel space.  In
-        most contexts, you need more than the basic cryptographic
-        algorithms, you also need some way to keep track of available
-        algorithms, their properties and variants.  You often have
-        some algorithm selection process, often dictated by a protocol
-        you want to implement.
-
-        And as the requirements of applications differ in subtle and
-        not so subtle ways, an API that fits one application well can
-        be a pain to use in a different context.  And that is why
-        there are so many different cryptographic libraries around.
-
-        Nettle tries to avoid this problem by doing one thing, the
-        low-level crypto stuff, and providing a simple but general
-        interface to it.  In particular, Nettle doesn't do algorithm
-        selection.  It doesn't do memory allocation. It doesn't do any
-        I/O.
-     '';
-
-     license = stdenv.lib.licenses.gpl2Plus;
-
-     homepage = http://www.lysator.liu.se/~nisse/nettle/;
-
-     maintainers = [ stdenv.lib.maintainers.ludo ];
-     platforms = stdenv.lib.platforms.all;
-  };
-}
-
-//
-
-stdenv.lib.optionalAttrs stdenv.isSunOS {
-  # Make sure the right <gmp.h> is found, and not the incompatible
-  # /usr/include/mp.h from OpenSolaris.  See
-  # <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html>
-  # for details.
-  configureFlags = [ "--with-include-path=${gmp}/include" ];
 })
diff --git a/pkgs/development/libraries/nettle/generic.nix b/pkgs/development/libraries/nettle/generic.nix
new file mode 100644
index 00000000000..76629c80b96
--- /dev/null
+++ b/pkgs/development/libraries/nettle/generic.nix
@@ -0,0 +1,68 @@
+{ stdenv, gmp, gnum4
+
+# Version specific args
+, version, src
+, ...}:
+
+stdenv.mkDerivation (rec {
+  name = "nettle-${version}";
+
+  inherit src;
+
+  buildInputs = [ gnum4 ];
+  propagatedBuildInputs = [ gmp ];
+
+  doCheck = (stdenv.system != "i686-cygwin" && !stdenv.isDarwin);
+
+  enableParallelBuilding = true;
+
+  # It doesn't build otherwise
+  dontDisableStatic = true;
+
+  patches = stdenv.lib.optional (stdenv.system == "i686-cygwin")
+              ./cygwin.patch;
+
+  meta = {
+    description = "Cryptographic library";
+
+    longDescription = ''
+        Nettle is a cryptographic library that is designed to fit
+        easily in more or less any context: In crypto toolkits for
+        object-oriented languages (C++, Python, Pike, ...), in
+        applications like LSH or GNUPG, or even in kernel space.  In
+        most contexts, you need more than the basic cryptographic
+        algorithms, you also need some way to keep track of available
+        algorithms, their properties and variants.  You often have
+        some algorithm selection process, often dictated by a protocol
+        you want to implement.
+
+        And as the requirements of applications differ in subtle and
+        not so subtle ways, an API that fits one application well can
+        be a pain to use in a different context.  And that is why
+        there are so many different cryptographic libraries around.
+
+        Nettle tries to avoid this problem by doing one thing, the
+        low-level crypto stuff, and providing a simple but general
+        interface to it.  In particular, Nettle doesn't do algorithm
+        selection.  It doesn't do memory allocation. It doesn't do any
+        I/O.
+     '';
+
+     license = stdenv.lib.licenses.gpl2Plus;
+
+     homepage = http://www.lysator.liu.se/~nisse/nettle/;
+
+     maintainers = [ ];
+     platforms = stdenv.lib.platforms.all;
+  };
+}
+
+//
+
+stdenv.lib.optionalAttrs stdenv.isSunOS {
+  # Make sure the right <gmp.h> is found, and not the incompatible
+  # /usr/include/mp.h from OpenSolaris.  See
+  # <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html>
+  # for details.
+  configureFlags = [ "--with-include-path=${gmp}/include" ];
+})
diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix
index cc216a59d75..ad194437727 100644
--- a/pkgs/development/libraries/nlopt/default.nix
+++ b/pkgs/development/libraries/nlopt/default.nix
@@ -1,19 +1,28 @@
-{ fetchurl, stdenv
-, withOctave ? true, octave ? null}:
+{ fetchurl, stdenv, octave ? null }:
 
 stdenv.mkDerivation rec {
-  name = "nlopt-2.3";
+  name = "nlopt-2.4.2";
 
   src = fetchurl {
     url = "http://ab-initio.mit.edu/nlopt/${name}.tar.gz";
-    sha256 = "1iw2cjgypyqz779f47fz0nmifbrvk4zs4rxi1ibk36f4ly3wg6p6";
+    sha256 = "12cfkkhcdf4zmb6h7y6qvvdvqjs2xf9sjpa3rl3bq76px4yn76c0";
   };
 
-  buildInputs = stdenv.lib.optional withOctave octave;
+  buildInputs = [ octave ];
 
   configureFlags = "--with-cxx --enable-shared --with-pic --without-guile --without-python
   --without-matlab " +
-    stdenv.lib.optionalString withOctave ("--with-octave " +
+    stdenv.lib.optionalString (octave != null) ("--with-octave " +
         "M_INSTALL_DIR=$(out)/${octave.sitePath}/m " +
         "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct ");
+
+  meta = {
+    homepage = "http://ab-initio.mit.edu/nlopt/";
+    description = "Free open-source library for nonlinear optimization";
+    license = stdenv.lib.licenses.lgpl21Plus;
+
+    hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+
 }
diff --git a/pkgs/development/libraries/npapi-sdk/default.nix b/pkgs/development/libraries/npapi-sdk/default.nix
index 255468e7810..57b1b3af2d1 100644
--- a/pkgs/development/libraries/npapi-sdk/default.nix
+++ b/pkgs/development/libraries/npapi-sdk/default.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
 
     homepage = https://code.google.com/p/npapi-sdk/;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ wizeman ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index 4f87f2bc230..ba75c8aefe7 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-0.91";
+  name = "npth-1.1";
 
   src = fetchurl {
     url = "ftp://ftp.gnupg.org/gcrypt/npth/${name}.tar.bz2";
-    sha256 = "1qgs1n70x83dyyysabg50dh8s3464jwsa63qi5if2cd3sk78dvya";
+    sha256 = "0zyzwmk4mp6pas87jz35zx0jvwdz7x5b13w225gs73gcn8g5cv49";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The New GNU Portable Threads Library";
     longDescription = ''
       This is a library to provide the GNU Pth API and thus a non-preemptive
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       that this is a solid way to provide a co-routine based framework.
     '';
     homepage = http://www.gnupg.org;
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.lgpl3;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 0355ce25c62..1494092fc47 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.10.6"; in
+let version = "4.10.8"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "3hzcslcfql1rg7drvcn4nmrigy7jfgwz";
+    sha256 = "507ea57c525c0c524dae4857a642b4ef5c9d795518754c7f83422d22fe544a15";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 447030f5fcc..d86a55b78bd 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -11,11 +11,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.16.3";
+  version = "3.18";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_3_RTM/src/${name}.tar.gz";
-    sha256 = "657711ff7a4058043b69019a66f44101d0234eae2b6b80ab900439dbf02add60";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_18_RTM/src/${name}.tar.gz";
+    sha256 = "0h0xy9kvd2s8r438q4dfn25cgvv5dc1hkm9lb4bgrxpr5bxv13b1";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
   '';
 
   patches =
-    [ ./nss-3.15-gentoo-fixups.patch
+    [ ./nss-3.17-gentoo-fixups.patch
       # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
       ./85_security_load.patch
     ];
diff --git a/pkgs/development/libraries/nss/nss-3.15-gentoo-fixups.patch b/pkgs/development/libraries/nss/nss-3.15-gentoo-fixups.patch
deleted file mode 100644
index b3e35b1d2d1..00000000000
--- a/pkgs/development/libraries/nss/nss-3.15-gentoo-fixups.patch
+++ /dev/null
@@ -1,238 +0,0 @@
---- a/nss/config/Makefile
-+++ b/nss/config/Makefile
-@@ -0,0 +1,40 @@
-+CORE_DEPTH = ..
-+DEPTH      = ..
-+
-+include $(CORE_DEPTH)/coreconf/config.mk
-+
-+NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
-+PREFIX = /usr
-+
-+all: export libs
-+
-+export:
-+	# Create the nss.pc file
-+	mkdir -p $(DIST)/lib/pkgconfig
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@exec_prefix@,\$${prefix}," \
-+	    -e "s,@libdir@,\$${prefix}/lib64," \
-+	    -e "s,@includedir@,\$${prefix}/include/nss," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss.pc.in > nss.pc
-+	chmod 0644 nss.pc
-+	ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
-+
-+	# Create the nss-config script
-+	mkdir -p $(DIST)/bin
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss-config.in > nss-config
-+	chmod 0755 nss-config
-+	ln -sf ../../../config/nss-config $(DIST)/bin
-+
-+libs:
-+
-+dummy: all export libs
-+
---- a/nss/config/nss-config.in
-+++ b/nss/config/nss-config.in
-@@ -0,0 +1,145 @@
-+#!/bin/sh
-+
-+prefix=@prefix@
-+
-+major_version=@NSS_MAJOR_VERSION@
-+minor_version=@NSS_MINOR_VERSION@
-+patch_version=@NSS_PATCH_VERSION@
-+
-+usage()
-+{
-+	cat <<EOF
-+Usage: nss-config [OPTIONS] [LIBRARIES]
-+Options:
-+	[--prefix[=DIR]]
-+	[--exec-prefix[=DIR]]
-+	[--includedir[=DIR]]
-+	[--libdir[=DIR]]
-+	[--version]
-+	[--libs]
-+	[--cflags]
-+Dynamic Libraries:
-+	nss
-+	ssl
-+	smime
-+	nssutil
-+EOF
-+	exit $1
-+}
-+
-+if test $# -eq 0; then
-+	usage 1 1>&2
-+fi
-+
-+lib_ssl=yes
-+lib_smime=yes
-+lib_nss=yes
-+lib_nssutil=yes
-+
-+while test $# -gt 0; do
-+  case "$1" in
-+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-+  *) optarg= ;;
-+  esac
-+
-+  case $1 in
-+    --prefix=*)
-+      prefix=$optarg
-+      ;;
-+    --prefix)
-+      echo_prefix=yes
-+      ;;
-+    --exec-prefix=*)
-+      exec_prefix=$optarg
-+      ;;
-+    --exec-prefix)
-+      echo_exec_prefix=yes
-+      ;;
-+    --includedir=*)
-+      includedir=$optarg
-+      ;;
-+    --includedir)
-+      echo_includedir=yes
-+      ;;
-+    --libdir=*)
-+      libdir=$optarg
-+      ;;
-+    --libdir)
-+      echo_libdir=yes
-+      ;;
-+    --version)
-+      echo ${major_version}.${minor_version}.${patch_version}
-+      ;;
-+    --cflags)
-+      echo_cflags=yes
-+      ;;
-+    --libs)
-+      echo_libs=yes
-+      ;;
-+    ssl)
-+      lib_ssl=yes
-+      ;;
-+    smime)
-+      lib_smime=yes
-+      ;;
-+    nss)
-+      lib_nss=yes
-+      ;;
-+    nssutil)                                                      
-+      lib_nssutil=yes                                             
-+      ;;
-+    *)
-+      usage 1 1>&2
-+      ;;
-+  esac
-+  shift
-+done
-+
-+# Set variables that may be dependent upon other variables
-+if test -z "$exec_prefix"; then
-+    exec_prefix=`pkg-config --variable=exec_prefix nss`
-+fi
-+if test -z "$includedir"; then
-+    includedir=`pkg-config --variable=includedir nss`
-+fi
-+if test -z "$libdir"; then
-+    libdir=`pkg-config --variable=libdir nss`
-+fi
-+
-+if test "$echo_prefix" = "yes"; then
-+    echo $prefix
-+fi
-+
-+if test "$echo_exec_prefix" = "yes"; then
-+    echo $exec_prefix
-+fi
-+
-+if test "$echo_includedir" = "yes"; then
-+    echo $includedir
-+fi
-+
-+if test "$echo_libdir" = "yes"; then
-+    echo $libdir
-+fi
-+
-+if test "$echo_cflags" = "yes"; then
-+    echo -I$includedir
-+fi
-+
-+if test "$echo_libs" = "yes"; then
-+      libdirs=""
-+      if test -n "$lib_ssl"; then
-+	libdirs="$libdirs -lssl${major_version}"
-+      fi
-+      if test -n "$lib_smime"; then
-+	libdirs="$libdirs -lsmime${major_version}"
-+      fi
-+      if test -n "$lib_nss"; then
-+	libdirs="$libdirs -lnss${major_version}"
-+      fi
-+      if test -n "$lib_nssutil"; then
-+       libdirs="$libdirs -lnssutil${major_version}"
-+      fi
-+      echo $libdirs
-+fi      
-+
---- a/nss/config/nss.pc.in
-+++ b/nss/config/nss.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: NSS
-+Description: Network Security Services
-+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
-+Requires: nspr >= 4.8
-+Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
-+Cflags: -I${includedir}
-+
---- a/nss/Makefile
-+++ b/nss/Makefile
-@@ -44,7 +44,7 @@
- # (7) Execute "local" rules. (OPTIONAL).                              #
- #######################################################################
- 
--nss_build_all: build_nspr all
-+nss_build_all: all
- 
- nss_clean_all: clobber_nspr clobber
- 
-@@ -103,12 +103,6 @@
- 	--with-dist-prefix='$(NSPR_PREFIX)' \
- 	--with-dist-includedir='$(NSPR_PREFIX)/include'
- 
--build_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
--
--clobber_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
--
- build_docs:
- 	$(MAKE) -C $(CORE_DEPTH)/doc
- 
---- a/nss/manifest.mn
-+++ b/nss/manifest.mn
-@@ -10,4 +10,4 @@
- 
- RELEASE = nss
- 
--DIRS = coreconf lib cmd
-+DIRS = coreconf lib cmd config
diff --git a/pkgs/development/libraries/nss/nss-3.17-gentoo-fixups.patch b/pkgs/development/libraries/nss/nss-3.17-gentoo-fixups.patch
new file mode 100644
index 00000000000..7948fc07150
--- /dev/null
+++ b/pkgs/development/libraries/nss/nss-3.17-gentoo-fixups.patch
@@ -0,0 +1,241 @@
+--- nss-3.17.1/nss/config/Makefile
++++ nss-3.17.1/nss/config/Makefile
+@@ -0,0 +1,40 @@
++CORE_DEPTH = ..
++DEPTH      = ..
++
++include $(CORE_DEPTH)/coreconf/config.mk
++
++NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
++PREFIX = /usr
++
++all: export libs
++
++export:
++	# Create the nss.pc file
++	mkdir -p $(DIST)/lib/pkgconfig
++	sed -e "s,@prefix@,$(PREFIX)," \
++	    -e "s,@exec_prefix@,\$${prefix}," \
++	    -e "s,@libdir@,\$${prefix}/lib64," \
++	    -e "s,@includedir@,\$${prefix}/include/nss," \
++	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
++	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++	    nss.pc.in > nss.pc
++	chmod 0644 nss.pc
++	ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
++
++	# Create the nss-config script
++	mkdir -p $(DIST)/bin
++	sed -e "s,@prefix@,$(PREFIX)," \
++	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
++	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++	    nss-config.in > nss-config
++	chmod 0755 nss-config
++	ln -sf ../../../config/nss-config $(DIST)/bin
++
++libs:
++
++dummy: all export libs
++
+--- nss-3.17.1/nss/config/nss-config.in
++++ nss-3.17.1/nss/config/nss-config.in
+@@ -0,0 +1,145 @@
++#!/bin/sh
++
++prefix=@prefix@
++
++major_version=@NSS_MAJOR_VERSION@
++minor_version=@NSS_MINOR_VERSION@
++patch_version=@NSS_PATCH_VERSION@
++
++usage()
++{
++	cat <<EOF
++Usage: nss-config [OPTIONS] [LIBRARIES]
++Options:
++	[--prefix[=DIR]]
++	[--exec-prefix[=DIR]]
++	[--includedir[=DIR]]
++	[--libdir[=DIR]]
++	[--version]
++	[--libs]
++	[--cflags]
++Dynamic Libraries:
++	nss
++	ssl
++	smime
++	nssutil
++EOF
++	exit $1
++}
++
++if test $# -eq 0; then
++	usage 1 1>&2
++fi
++
++lib_ssl=yes
++lib_smime=yes
++lib_nss=yes
++lib_nssutil=yes
++
++while test $# -gt 0; do
++  case "$1" in
++  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++  *) optarg= ;;
++  esac
++
++  case $1 in
++    --prefix=*)
++      prefix=$optarg
++      ;;
++    --prefix)
++      echo_prefix=yes
++      ;;
++    --exec-prefix=*)
++      exec_prefix=$optarg
++      ;;
++    --exec-prefix)
++      echo_exec_prefix=yes
++      ;;
++    --includedir=*)
++      includedir=$optarg
++      ;;
++    --includedir)
++      echo_includedir=yes
++      ;;
++    --libdir=*)
++      libdir=$optarg
++      ;;
++    --libdir)
++      echo_libdir=yes
++      ;;
++    --version)
++      echo ${major_version}.${minor_version}.${patch_version}
++      ;;
++    --cflags)
++      echo_cflags=yes
++      ;;
++    --libs)
++      echo_libs=yes
++      ;;
++    ssl)
++      lib_ssl=yes
++      ;;
++    smime)
++      lib_smime=yes
++      ;;
++    nss)
++      lib_nss=yes
++      ;;
++    nssutil)                                                      
++      lib_nssutil=yes                                             
++      ;;
++    *)
++      usage 1 1>&2
++      ;;
++  esac
++  shift
++done
++
++# Set variables that may be dependent upon other variables
++if test -z "$exec_prefix"; then
++    exec_prefix=`pkg-config --variable=exec_prefix nss`
++fi
++if test -z "$includedir"; then
++    includedir=`pkg-config --variable=includedir nss`
++fi
++if test -z "$libdir"; then
++    libdir=`pkg-config --variable=libdir nss`
++fi
++
++if test "$echo_prefix" = "yes"; then
++    echo $prefix
++fi
++
++if test "$echo_exec_prefix" = "yes"; then
++    echo $exec_prefix
++fi
++
++if test "$echo_includedir" = "yes"; then
++    echo $includedir
++fi
++
++if test "$echo_libdir" = "yes"; then
++    echo $libdir
++fi
++
++if test "$echo_cflags" = "yes"; then
++    echo -I$includedir
++fi
++
++if test "$echo_libs" = "yes"; then
++      libdirs=""
++      if test -n "$lib_ssl"; then
++	libdirs="$libdirs -lssl${major_version}"
++      fi
++      if test -n "$lib_smime"; then
++	libdirs="$libdirs -lsmime${major_version}"
++      fi
++      if test -n "$lib_nss"; then
++	libdirs="$libdirs -lnss${major_version}"
++      fi
++      if test -n "$lib_nssutil"; then
++       libdirs="$libdirs -lnssutil${major_version}"
++      fi
++      echo $libdirs
++fi      
++
+--- nss-3.17.1/nss/config/nss.pc.in
++++ nss-3.17.1/nss/config/nss.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSS
++Description: Network Security Services
++Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
++Requires: nspr >= 4.8
++Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3
++Cflags: -I${includedir}
++
+--- nss-3.17.1/nss/Makefile
++++ nss-3.17.1/nss/Makefile
+@@ -44,7 +44,7 @@
+ # (7) Execute "local" rules. (OPTIONAL).                              #
+ #######################################################################
+ 
+-nss_build_all: build_nspr all
++nss_build_all: all
+ 
+ nss_clean_all: clobber_nspr clobber
+ 
+@@ -109,12 +109,6 @@
+ 	--with-dist-prefix='$(NSPR_PREFIX)' \
+ 	--with-dist-includedir='$(NSPR_PREFIX)/include'
+ 
+-build_nspr: $(NSPR_CONFIG_STATUS)
+-	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
+-
+-clobber_nspr: $(NSPR_CONFIG_STATUS)
+-	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
+-
+ build_docs:
+ 	$(MAKE) -C $(CORE_DEPTH)/doc
+ 
+--- nss-3.17.1/nss/manifest.mn
++++ nss-3.17.1/nss/manifest.mn
+@@ -10,7 +10,7 @@
+ 
+ RELEASE = nss
+ 
+-DIRS = coreconf lib cmd
++DIRS = coreconf lib cmd config
+ 
+ ifdef NSS_BUILD_GTESTS
+ DIRS += external_tests
diff --git a/pkgs/development/libraries/nss_wrapper/default.nix b/pkgs/development/libraries/nss_wrapper/default.nix
new file mode 100644
index 00000000000..b0595e61e65
--- /dev/null
+++ b/pkgs/development/libraries/nss_wrapper/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "nss_wrapper-1.0.3";
+
+  src = fetchgit {
+    url = "git://git.samba.org/nss_wrapper.git";
+    rev = "refs/tags/${name}";
+    sha256 = "1jka6d873vhvfr7k378xvgxmbpka87w33iq6b91ynwg36pz53ifw";
+  };
+
+  buildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "A wrapper for the user, group and hosts NSS API";
+    homepage = "https://git.samba.org/?p=nss_wrapper.git;a=summary";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ntdb/default.nix b/pkgs/development/libraries/ntdb/default.nix
new file mode 100644
index 00000000000..80e683a32ae
--- /dev/null
+++ b/pkgs/development/libraries/ntdb/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, python, pkgconfig, readline, gettext, libxslt
+, docbook_xsl, docbook_xml_dtd_42
+}:
+
+stdenv.mkDerivation rec {
+  name = "ntdb-1.0";
+
+  src = fetchurl {
+    url = "mirror://samba/tdb/${name}.tar.gz";
+    sha256 = "0jdzgrz5sr25k83yrw7wqb3r0yj1v04z4s3lhsmnr5z6n5ifhyl1";
+  };
+
+  buildInputs = [
+    python pkgconfig readline gettext libxslt docbook_xsl docbook_xml_dtd_42
+  ];
+
+  preConfigure = ''
+    patchShebangs buildtools/bin/waf
+  '';
+
+  configureFlags = [
+    "--bundled-libraries=NONE"
+    "--builtin-libraries=replace,ccan"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "The not-so trivial database";
+    homepage = http://tdb.samba.org/;
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/nvidia-texture-tools/default.nix b/pkgs/development/libraries/nvidia-texture-tools/default.nix
index 852d72cb9aa..78932259841 100644
--- a/pkgs/development/libraries/nvidia-texture-tools/default.nix
+++ b/pkgs/development/libraries/nvidia-texture-tools/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A set of cuda-enabled texture tools and compressors";
     homepage = "http://developer.nvidia.com/object/texture_tools.html";
-    license = "MIT";
+    license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index 527bb25dce1..93803b61fb1 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv
+{ fetchhg, stdenv
 , cmake, mesa
 , freetype, freeimage, zziplib, randrproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
@@ -8,11 +8,12 @@
 , nvidia_cg_toolkit }:
 
 stdenv.mkDerivation {
-  name = "ogre-1.8.1";
+  name = "ogre-1.9.0";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/ogre/1.8.1/ogre_src_v1-8-1.tar.bz2";
-    sha256 = "1avadx87sdfdk8165wlffnd5dzks694dcdnkg3ijap966k4qm46s";
+  src = fetchhg {
+    url = "https://bitbucket.org/sinbad/ogre/src/";
+    rev = "v1-9-0";
+    sha256 = "06hnf4c2kpycm3mglwdyywvj931k8ym808c15xighpyd8h9j4xdi";
   };
 
   cmakeFlags = [ "-DOGRE_INSTALL_SAMPLES=yes" ]
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 08069533713..d12423ffc27 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "onig-5.9.4";
-  
+  name = "onig-5.9.5";
+
   src = fetchurl {
-    url = http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.4.tar.gz;
-    sha256 = "15q62c2id918fj2i7xbdrcc79xrdafdc75lhhld98rgq3y8j30lq";
+    url = http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.5.tar.gz;
+    sha256 = "12j3fsdb8hbhnj29hysal9l7i7s71l0ln3lx8hjpxx5535wawjcz";
   };
-  
+
   meta = {
     homepage = http://www.geocities.jp/kosako3/oniguruma/;
     description = "Regular expressions library";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 48f5bfc71e5..eedc9e9ff93 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -3,29 +3,32 @@
 , pulseSupport ? true, pulseaudio ? null
 }:
 
+with stdenv.lib;
+
 assert alsaSupport -> alsaLib != null;
 assert pulseSupport -> pulseaudio != null;
 
 stdenv.mkDerivation rec {
-  version = "1.15.1";
+  version = "1.16.0";
   name = "openal-soft-${version}";
 
   src = fetchurl {
     url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
-    sha256 = "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f";
+    sha256 = "0pqdykdclycfnk66v166srjrry936y39d1dz9wl92qz27wqwsg9g";
   };
 
   buildInputs = [ cmake ]
-    ++ stdenv.lib.optional alsaSupport alsaLib
-    ++ stdenv.lib.optional pulseSupport pulseaudio;
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseSupport pulseaudio;
 
   NIX_LDFLAGS = []
-    ++ stdenv.lib.optional alsaSupport "-lasound"
-    ++ stdenv.lib.optional pulseSupport "-lpulse";
+    ++ optional alsaSupport "-lasound"
+    ++ optional pulseSupport "-lpulse";
 
   meta = {
     description = "OpenAL alternative";
     homepage = http://kcat.strangesoft.net/openal.html;
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ftrvxmtrx];
   };
 }
diff --git a/pkgs/development/libraries/openbr/default.nix b/pkgs/development/libraries/openbr/default.nix
new file mode 100644
index 00000000000..447b5e45dfb
--- /dev/null
+++ b/pkgs/development/libraries/openbr/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, cmake, opencv, qt5 }:
+
+stdenv.mkDerivation rec {
+
+  version = "0.5";
+  name = "openbr-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/biometrics/openbr.git";
+    rev = "cc364a89a86698cd8d3052f42a3cb520c929b325";
+    sha256 = "16b3mmsf9r1yqqaw89fx0c3bgfg86dz4phry89wqy2hw05szgda3";
+  };
+
+  buildInputs = [ opencv qt5.base qt5.svg ];
+
+  nativeBuildInputs = [ cmake ];
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+  ];
+
+  meta = {
+    description = "Open Source Biometric Recognition";
+    homepage = http://openbiometrics.org/;
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [flosse];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/opencascade/6.5.nix b/pkgs/development/libraries/opencascade/6.5.nix
index 7cc47a30eb7..b0ef9e83242 100644
--- a/pkgs/development/libraries/opencascade/6.5.nix
+++ b/pkgs/development/libraries/opencascade/6.5.nix
@@ -2,10 +2,10 @@
 ftgl, freetype}:
 
 stdenv.mkDerivation rec {
-  name = "opencascade-6.5.4";
+  name = "opencascade-6.5.5";
   src = fetchurl {
-    url = http://files.opencascade.com/OCCT/OCC_6.5.4_release/OpenCASCADE654.tar.gz;
-    sha256 = "1di08mc0wly4cdi3rh9kj52bk0bfpyk6dy03c9yfnv04i7z03kmy";
+    url = http://files.opencascade.com/OCCT/OCC_6.5.5_release/OpenCASCADE655.tgz;
+    sha256 = "1dnik00adfh6dxvn9kgf35yjda8chbi05f71i9119idmmrcapipm";
   };
 
   buildInputs = [ mesa tcl tk file libXmu automake autoconf libtool qt4 ftgl freetype ];
@@ -20,7 +20,9 @@ stdenv.mkDerivation rec {
 
   # -fpermissive helps building opencascade, although gcc detects a flaw in the code
   # and reports an error otherwise. Further versions may fix that.
-  NIX_CFLAGS_COMPILE = "-fpermissive";
+  NIX_CFLAGS_COMPILE = "-fpermissive"
+  # https://bugs.freedesktop.org/show_bug.cgi?id=83631
+    + " -DGLX_GLXEXT_LEGACY";
 
   configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--with-qt=${qt4}" "--with-ftgl=${ftgl}" "--with-freetype=${freetype}" ];
 
diff --git a/pkgs/development/libraries/opencascade/default.nix b/pkgs/development/libraries/opencascade/default.nix
index 1ce38ab7b3c..ec15d9d631e 100644
--- a/pkgs/development/libraries/opencascade/default.nix
+++ b/pkgs/development/libraries/opencascade/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
     cmakeFlags="$cmakeFlags -DINSTALL_DIR=$out -D3RDPARTY_TCL_DIR=${tcl} -D3RDPARTY_FREETYPE_DIR=${freetype}"
   '';
 
+  # https://bugs.freedesktop.org/show_bug.cgi?id=83631
+  NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
+
   postInstall = ''
     mv $out/inc $out/include
     mkdir -p $out/share/doc/${name}
diff --git a/pkgs/development/libraries/opencascade/oce.nix b/pkgs/development/libraries/opencascade/oce.nix
index 480664a0d4d..4988ee6ef24 100644
--- a/pkgs/development/libraries/opencascade/oce.nix
+++ b/pkgs/development/libraries/opencascade/oce.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
     cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out"
   '';
 
+  # https://bugs.freedesktop.org/show_bug.cgi?id=83631
+  NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/development/libraries/opencollada/default.nix b/pkgs/development/libraries/opencollada/default.nix
new file mode 100644
index 00000000000..20003f23874
--- /dev/null
+++ b/pkgs/development/libraries/opencollada/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, libxml2, pcre }:
+
+# The exact revision specified by Blender's install_deps.sh script.
+let rev = "18da7f4109a8eafaa290a33f5550501cc4c8bae8"; in
+
+stdenv.mkDerivation {
+  name = "opencollada-1.3-${rev}";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "OpenCOLLADA";
+    inherit rev;
+    sha256 = "0ach32ws95mh0ijd8sr22kxka3riq72bb9ng46vs3615dxn7h18d";
+  };
+
+  buildInputs = [ cmake pkgconfig ];
+
+  propagatedBuildInputs = [ libxml2 pcre ];
+
+  enableParallelBuilding = true;
+
+  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;
+  };
+}
diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix
index 4df3abcdd71..89176c10843 100644
--- a/pkgs/development/libraries/opencsg/default.nix
+++ b/pkgs/development/libraries/opencsg/default.nix
@@ -2,11 +2,11 @@
   }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.2";
+  version = "1.4.0";
   name = "opencsg-${version}";
   src = fetchurl {
     url = "http://www.opencsg.org/OpenCSG-${version}.tar.gz";
-    sha256 = "09drnck27py8qg1l6gqaia85a9skqn0mz0nybjrkq4gpk0lwk467";
+    sha256 = "13c73jxadm27h7spdh3qj1v6rnn81v4xwqlv5a6k72pv9kjnpd7c";
   };
 
   buildInputs = [mesa freeglut glew libXmu libXext libX11];
diff --git a/pkgs/development/libraries/openct/default.nix b/pkgs/development/libraries/openct/default.nix
index a0f7f88e8dc..aafdd60e415 100644
--- a/pkgs/development/libraries/openct/default.nix
+++ b/pkgs/development/libraries/openct/default.nix
@@ -1,21 +1,41 @@
-{stdenv, fetchurl, libtool, pcsclite, libusb, pkgconfig}:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, pcsclite, libusb
+, doxygen, libxslt
+}:
 
 stdenv.mkDerivation rec {
-  name = "openct-0.6.19";
+  name = "openct-${version}";
+  version = "0.6.20";
   
-  src = fetchurl {
-    url = "http://www.opensc-project.org/files/openct/${name}.tar.gz";
-    sha256 = "1y4jlr877g3lziq7i3p6pdkscqpkn1lld874q6r2hsvc39n7c88z";
+  src = fetchFromGitHub {
+    owner = "OpenSC";
+    repo = "openct";
+    rev = name;
+    sha256 = "09wxq0jxdxhci3zr7jd3zcxjkl3j0r1v00k3q8gqrg9gighh8nk2";
   };
+
+  postPatch = ''
+    sed -i 's,$(DESTDIR),$(out),g' etc/Makefile.am
+  '';
   
-  configureFlags = [ "--enable-usb" "--enable-pcsc" "--localstatedir=/var" ];
-  buildInputs = [ libtool pcsclite libusb pkgconfig ];
+  configureFlags = [
+    "--enable-api-doc"
+    "--enable-usb"
+    "--enable-pcsc"
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+  ];
+
+  buildInputs = [ autoreconfHook pkgconfig pcsclite libusb doxygen libxslt ];
+
+  preInstall = ''
+    mkdir -p $out/etc
+  '';
 
-  meta = {
-    homepage = http://www.opensc-project.org/openct/;
-    license = "LGPL";
+  meta = with stdenv.lib; {
+    homepage = https://github.com/OpenSC/openct/;
+    license = licenses.lgpl21;
     description = "Drivers for several smart card readers";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with maintainers; [ viric wkennington ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/opencv/2.1.nix b/pkgs/development/libraries/opencv/2.1.nix
index 4b0ccc0903f..302ac10d4ab 100644
--- a/pkgs/development/libraries/opencv/2.1.nix
+++ b/pkgs/development/libraries/opencv/2.1.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Open Computer Vision Library with more than 500 algorithms";
     homepage = http://opencv.willowgarage.com/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
     broken = true;
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index 7dafcfce948..e0b8dcca1af 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -1,30 +1,34 @@
 { lib, stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg
-, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages
+, fetchpatch, pkgconfig, gstreamer, xineLib, glib, python27, python27Packages, unzip
 , enableBloat ? false }:
 
-let v = "2.4.7"; in
+let v = "2.4.11"; in
 
 stdenv.mkDerivation rec {
   name = "opencv-${v}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/opencvlibrary/opencv-${v}.tar.gz";
-    sha256 = "0hravl3yhyv4r4n7vb055d4qnp893q2hc0fcmmncfh7sbdrnr3f4";
+    url = "mirror://sourceforge/opencvlibrary/opencv-${v}.zip";
+    sha256 = "1shz5g7ahvbb41gprxzvavllf235qhx0fpkjd7iwa3gv83ym46dg";
   };
 
   buildInputs =
-    [ libjpeg libpng libtiff ]
+    [ unzip libjpeg libpng libtiff ]
     ++ lib.optionals enableBloat [ gtk glib jasper ffmpeg xineLib gstreamer python27 python27Packages.numpy ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   enableParallelBuilding = true;
 
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+  ];
+
   meta = {
     description = "Open Computer Vision Library with more than 500 algorithms";
-    homepage = http://opencv.willowgarage.com/;
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric];
+    homepage = http://opencv.org/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [viric flosse];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix
index a89965d0467..03e7718a3ae 100644
--- a/pkgs/development/libraries/opendbx/default.nix
+++ b/pkgs/development/libraries/opendbx/default.nix
@@ -1,17 +1,18 @@
-{stdenv, fetchurl, readline, mysql, postgresql, sqlite}:
+{ stdenv, fetchurl, readline, mysql, postgresql, sqlite }:
 
 stdenv.mkDerivation rec {
-  name = "opendbx-1.4.4";
+  name = "opendbx-1.4.6";
+
   src = fetchurl {
     url = "http://linuxnetworks.de/opendbx/download/${name}.tar.gz";
-    sha256 = "1pc70l54kkdakdw8njr2pnbcghq7fn2bnk97wzhac2adwdkjp7vs";
+    sha256 = "0z29h6zx5f3gghkh1a0060w6wr572ci1rl2a3480znf728wa0ii2";
   };
 
   preConfigure = ''
-    export CPPFLAGS="-I${mysql}/include/mysql" 
-    export LDFLAGS="-L${mysql}/lib/mysql" 
+    export CPPFLAGS="-I${mysql.lib}/include/mysql"
+    export LDFLAGS="-L${mysql.lib}/lib/mysql"
     configureFlagsArray=(--with-backends="mysql pgsql sqlite3")
   '';
 
-  buildInputs = [readline mysql postgresql sqlite];
+  buildInputs = [ readline mysql.lib postgresql sqlite ];
 }
diff --git a/pkgs/development/libraries/openexr/bootstrap.patch b/pkgs/development/libraries/openexr/bootstrap.patch
new file mode 100644
index 00000000000..af6669c16a4
--- /dev/null
+++ b/pkgs/development/libraries/openexr/bootstrap.patch
@@ -0,0 +1,15 @@
+diff -ur openexr-v2.2.0-src-orig/OpenEXR/bootstrap openexr-v2.2.0-src/OpenEXR/bootstrap
+--- OpenEXR/bootstrap	2015-03-31 01:02:41.000000000 -0400
++++ OpenEXR/bootstrap	2015-03-31 01:03:35.000000000 -0400
+@@ -47,11 +47,6 @@
+     fi
+ }
+ 
+-# Check if /usr/local/share/aclocal exists
+-if [ -d /usr/local/share/aclocal ]; then
+-	ACLOCAL_INCLUDE="$ACLOCAL_INCLUDE -I /usr/local/share/aclocal"
+-fi	
+-
+ run_cmd aclocal -I m4 $ACLOCAL_INCLUDE
+ run_cmd $LIBTOOLIZE --automake --copy
+ run_cmd automake --add-missing --copy
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index b54375ae062..63a8c11a341 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -1,18 +1,33 @@
-{ stdenv, fetchurl, pkgconfig, zlib, ctl, ilmbase }:
-
+{ stdenv, callPackage, autoconf, automake, libtool, pkgconfig, zlib, ilmbase }:
+let
+  source = callPackage ./source.nix { };
+in
 stdenv.mkDerivation rec {
-  name = "openexr-1.7.1";
-  
-  src = fetchurl {
-    url = "mirror://savannah/openexr/${name}.tar.gz";
-    sha256 = "0l2rdbx9lg4qk2ms98hwbsnzpggdrx3pbjl6pcvrrpjqp5m905n6";
-  };
+  name = "openexr-${source.version}";
   
-  buildInputs = [ pkgconfig ctl ];
-  
-  propagatedBuildInputs = [ zlib ilmbase ];
+  src = source.src;
+
+  prePatch = ''
+    cd OpenEXR
+  '';
+
+  preConfigure = ''
+    ./bootstrap
+  '';
+
+  configureFlags = [ "--enable-imfexamples" ];
   
-  configureFlags = "--enable-imfexamples";
+  buildInputs = [ autoconf automake libtool pkgconfig ];
+  propagatedBuildInputs = [ ilmbase zlib ];
+
+  patches = [ ./bootstrap.patch ];
   
-  patches = [ ./stringh.patch ];
+  meta = with stdenv.lib; {
+    homepage = http://www.openexr.com/;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+
+  passthru.source = source;
 }
diff --git a/pkgs/development/libraries/openexr/source.nix b/pkgs/development/libraries/openexr/source.nix
new file mode 100644
index 00000000000..30675dc54ec
--- /dev/null
+++ b/pkgs/development/libraries/openexr/source.nix
@@ -0,0 +1,11 @@
+{ fetchFromGitHub }:
+rec {
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "openexr";
+    repo = "openexr";
+    rev = "v${version}";
+    sha256 = "030vj2jk3n65x1wl0rmxzpl1bd5mzmld2lzn7sg92svpnghry6a8";
+  };
+}
diff --git a/pkgs/development/libraries/openexr/stringh.patch b/pkgs/development/libraries/openexr/stringh.patch
deleted file mode 100644
index ef8cf06b24a..00000000000
--- a/pkgs/development/libraries/openexr/stringh.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/exrenvmap/main.cpp b/exrenvmap/main.cpp
-index c5afcc5..5e993b3 100644
---- a/exrenvmap/main.cpp
-+++ b/exrenvmap/main.cpp
-@@ -45,6 +45,7 @@
- #include <iostream>
- #include <exception>
- #include <stdlib.h>
-+#include <string.h>
- 
- using namespace Imf;
- using namespace std;
-diff --git a/exrmaketiled/main.cpp b/exrmaketiled/main.cpp
-index 5ce4e95..f93ec08 100644
---- a/exrmaketiled/main.cpp
-+++ b/exrmaketiled/main.cpp
-@@ -44,7 +44,7 @@
- 
- #include <iostream>
- #include <exception>
--#include <string>
-+#include <string.h>
- #include <stdlib.h>
- 
- using namespace Imf;
diff --git a/pkgs/development/libraries/openjpeg/1.x.nix b/pkgs/development/libraries/openjpeg/1.x.nix
new file mode 100644
index 00000000000..14886f02142
--- /dev/null
+++ b/pkgs/development/libraries/openjpeg/1.x.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.2";
+  branch = "1.5";
+  src = fetchurl {
+    url = "mirror://gentoo/distfiles/openjpeg-${version}.tar.gz";
+    sha256 = "11waq9w215zvzxrpv40afyd18qf79mxc28fda80bm3ax98cpppqm";
+  };
+})
diff --git a/pkgs/development/libraries/openjpeg/2.0.1.nix b/pkgs/development/libraries/openjpeg/2.0.1.nix
new file mode 100644
index 00000000000..25575450b47
--- /dev/null
+++ b/pkgs/development/libraries/openjpeg/2.0.1.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.0.1";
+  branch = "2";
+  src = fetchurl {
+    url = "mirror://sourceforge/openjpeg.mirror/openjpeg-${version}.tar.gz";
+    sha256 = "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z";
+  };
+})
diff --git a/pkgs/development/libraries/openjpeg/2.1.nix b/pkgs/development/libraries/openjpeg/2.1.nix
new file mode 100644
index 00000000000..7e48b656ae2
--- /dev/null
+++ b/pkgs/development/libraries/openjpeg/2.1.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}.0";
+  branch = "2.1";
+  src = fetchurl {
+    url = "mirror://gentoo/distfiles/openjpeg-${version}.tar.gz";
+    sha256 = "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj";
+  };
+})
diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix
deleted file mode 100644
index 97981218478..00000000000
--- a/pkgs/development/libraries/openjpeg/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libpng, libtiff, lcms, cmake, glib/*passthru only*/ }:
-
-stdenv.mkDerivation rec {
-  name = "openjpeg-2.0.0";
-  passthru = {
-    incDir = "openjpeg-2.0";
-  };
-
-  src = fetchurl {
-    url = "http://openjpeg.googlecode.com/files/${name}.tar.gz";
-    sha1 = "0af78ab2283b43421458f80373422d8029a9f7a7";
-  };
-
-  buildInputs = [ cmake ];
-  nativebuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ libpng libtiff lcms ]; # in closure anyway
-
-  postInstall = glib.flattenInclude + ''
-    mkdir -p "$out/lib/pkgconfig"
-    cat >"$out/lib/pkgconfig/libopenjp2.pc" <<EOF
-    prefix=$out
-    libdir=$out/lib
-    includedir=$out/include
-
-    Name: openjp2
-    Description: JPEG2000 library (Part 1 and 2)
-    URL: http://www.openjpeg.org/
-    Version: @OPENJPEG_VERSION@
-    Libs: -L$out/lib -lopenjp2
-    Cflags: -I$out/include
-    EOF
-  '';
-
-  meta = {
-    homepage = http://www.openjpeg.org/;
-    description = "Open-source JPEG 2000 codec written in C language";
-    license = "BSD";
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/openjpeg/generic.nix b/pkgs/development/libraries/openjpeg/generic.nix
new file mode 100644
index 00000000000..4ffcd62f982
--- /dev/null
+++ b/pkgs/development/libraries/openjpeg/generic.nix
@@ -0,0 +1,83 @@
+{ stdenv, cmake, pkgconfig, libpng, libtiff, lcms2, glib/*passthru only*/
+, sharedLibsSupport ? true # Build shared libraries
+, codecSupport ? true # Codec executables
+, mj2Support ? true # MJ2 executables
+, jpwlLibSupport ? true # JPWL library & executables
+, jpipLibSupport ? true # JPIP library & executables
+, jpipServerSupport ? false, curl ? null, fcgi ? null # JPIP Server
+#, opjViewerSupport ? false, wxGTK ? null # OPJViewer executable
+, openjpegJarSupport ? false, jdk ? null # Openjpeg jar (Java)
+, jp3dSupport ? true # # JP3D comp
+, thirdPartySupport ? false # Third party libraries - OFF: only build when found, ON: always build
+, testsSupport ? false
+# Inherit generics
+, branch, src, version, ...
+}:
+
+assert jpipServerSupport -> (jpipLibSupport && (curl != null) && (fcgi != null));
+#assert opjViewerSupport -> (wxGTK != null);
+assert openjpegJarSupport -> (jdk != null);
+assert testsSupport -> codecSupport;
+
+let
+  mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF";
+in
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "openjpeg-${version}";
+  inherit branch;
+  inherit version;
+  inherit src;
+
+  cmakeFlags = [
+    (mkFlag sharedLibsSupport "BUILD_SHARED_LIBS")
+    (mkFlag codecSupport "BUILD_CODEC")
+    (mkFlag mj2Support "BUILD_MJ2")
+    (mkFlag jpwlLibSupport "BUILD_JPWL")
+    (mkFlag jpipLibSupport "BUILD_JPIP")
+    (mkFlag jpipServerSupport "BUILD_JPIP_SERVER")
+    #(mkFlag opjViewerSupport "BUILD_VIEWER")
+    (mkFlag openjpegJarSupport "BUILD_JAVA")
+    (mkFlag jp3dSupport "BUILD_JP3D")
+    (mkFlag thirdPartySupport "BUILD_THIRDPARTY")
+    (mkFlag testsSupport "BUILD_TESTING")
+  ];
+
+  nativebuildInputs = [ pkgconfig ];
+
+  buildInputs = [ cmake ]
+    ++ optionals jpipServerSupport [ curl fcgi ]
+    #++ optional opjViewerSupport wxGTK
+    ++ optional openjpegJarSupport jdk;
+
+  propagatedBuildInputs = [ libpng libtiff lcms2 ];
+
+  postInstall = glib.flattenInclude + ''
+    mkdir -p "$out/lib/pkgconfig"
+    cat > "$out/lib/pkgconfig/libopenjp2.pc" <<EOF
+    prefix=$out
+    libdir=$out/lib
+    includedir=$out/include
+
+    Name: openjp2
+    Description: JPEG2000 library (Part 1 and 2)
+    URL: http://www.openjpeg.org/
+    Version: ${version}
+    Libs: -L$out/lib -lopenjp2
+    Cflags: -I$out/include
+    EOF
+  '';
+
+  passthru = {
+    incDir = "openjpeg-${branch}";
+  };
+
+  meta = {
+    description = "Open-source JPEG 2000 codec written in C language";
+    homepage    = http://www.openjpeg.org/;
+    license     = licenses.bsd2;
+    maintainer  = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index cfbbce2f559..8ab9becf346 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssl, cyrus_sasl, db, groff}:
 
 stdenv.mkDerivation rec {
-  name = "openldap-2.4.39";
+  name = "openldap-2.4.40";
 
   src = fetchurl {
     url = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
-    sha256 = "19zq9dc7dl03wmqd11fbsdii1npyq1vlicl3nxbfygqh8xrwhrw2";
+    sha256 = "1nyslrgwxwilgv5sixc37svls5rbvhsv9drb7hlrjr2vqaji29ni";
   };
 
   buildInputs = [ openssl cyrus_sasl db groff ];
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = 1; # !!!
 
-  meta = {
-    homepage = "http://www.openldap.org/";
+  meta = with stdenv.lib; {
+    homepage    = http://www.openldap.org/;
     description = "An open source implementation of the Lightweight Directory Access Protocol";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = with maintainers; [ lovek323 mornfall ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 15160d3afc4..14d88e381b3 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     homePage = http://www.open-mpi.org/;
     description = "Open source MPI-2 implementation";
     longDescription = "The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
 
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 01993fa1cd8..9be9f838632 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -2,7 +2,8 @@ x@{builderDefsPackage
   , cmake, giflib, libjpeg, libtiff, lib3ds, freetype, libpng
   , coin3d, jasper, gdal, xproto, libX11, libXmu, freeglut, mesa
   , doxygen, ffmpeg, xineLib, unzip, zlib, openal, libxml2
-  , curl, a52dec, faad2, gdk_pixbuf
+  , curl, a52dec, faad2, gdk_pixbuf, pkgconfig, kbproto, SDL
+  , qt4, poppler, librsvg, gtk
   , ...}:
 builderDefsPackage
 (a :
@@ -14,10 +15,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="OpenSceneGraph";
-    version="3.0.1";
+    version="3.2.1";
     name="${baseName}-${version}";
-    url="http://www.openscenegraph.org/downloads/stable_releases/${name}/source/${name}.zip";
-    hash="15l23mxv93mw6wkc90x52jhwxh7r3d7lahwdsv3jfnha9dbh648c";
+    url="http://www.openscenegraph.org/downloads/developer_releases/${name}.zip";
+    hash="0v9y1gxb16y0mj994jd0mhcz32flhv2r6kc01xdqb4817lk75bnr";
   };
 in
 rec {
@@ -32,8 +33,6 @@ rec {
   /* doConfigure should be removed if not needed */
   phaseNames = ["setVars" "addInputs" "doUnpack" "doPatch" "doCmake" "doMakeInstall"];
 
-  patches = [ ./xine.patch ]; # http://forum.openscenegraph.org/viewtopic.php?t=9659
-
   cmakeFlags = [
     "-D MATH_LIBRARY="
   ];
diff --git a/pkgs/development/libraries/openscenegraph/xine.patch b/pkgs/development/libraries/openscenegraph/xine.patch
deleted file mode 100644
index 8fbc8ceec52..00000000000
--- a/pkgs/development/libraries/openscenegraph/xine.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- OpenSceneGraph-3.0.1.orig/src/osgPlugins/xine/video_out_rgb.c
-+++ OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c
-@@ -2769,8 +2769,14 @@ init_class(xine_t* xine, void* vo_visual
- 	clear(rgb_class, sizeof(rgbout_class_t));
- 
- 	rgb_class->driver_class.open_plugin     = open_plugin;
-+#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
- 	rgb_class->driver_class.get_identifier  = get_identifier;
- 	rgb_class->driver_class.get_description = get_description;
-+#else
-+	rgb_class->driver_class.identifier      = get_identifier(NULL);
-+	rgb_class->driver_class.description     = get_description(NULL);
-+#endif
-+
- 	rgb_class->driver_class.dispose         = dispose_class;
- 
- 	return(rgb_class);
-
diff --git a/pkgs/development/libraries/openssl/cert-file.patch b/pkgs/development/libraries/openssl/cert-file.patch
index 26b51c0295e..e6e66111201 100644
--- a/pkgs/development/libraries/openssl/cert-file.patch
+++ b/pkgs/development/libraries/openssl/cert-file.patch
@@ -1,6 +1,6 @@
-diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypto/x509/x509_def.c
---- openssl-1.0.0e-orig/crypto/x509/x509_def.c	1999-09-11 19:54:11.000000000 +0200
-+++ openssl-1.0.0e/crypto/x509/x509_def.c	2011-09-12 18:30:59.386501609 +0200
+diff -ru openssl-1.0.1m-orig/crypto/x509/x509_def.c openssl-1.0.1m/crypto/x509/x509_def.c
+--- openssl-1.0.1m-orig/crypto/x509/x509_def.c	2015-03-19 14:19:00.000000000 +0100
++++ openssl-1.0.1m/crypto/x509/x509_def.c	2015-03-19 15:50:44.676683616 +0100
 @@ -57,6 +57,10 @@
   */
  
@@ -12,30 +12,28 @@ diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypt
  #include "cryptlib.h"
  #include <openssl/crypto.h>
  #include <openssl/x509.h>
-@@ -71,7 +75,25 @@
- 	{ return(X509_CERT_DIR); }
+@@ -78,7 +82,23 @@
  
  const char *X509_get_default_cert_file(void)
--	{ return(X509_CERT_FILE); }
-+	{
-+	static char buf[PATH_MAX] = X509_CERT_FILE;
-+	static int init = 0;
-+	if (!init) {
-+	    init = 1;
-+	    char * s = getenv("OPENSSL_X509_CERT_FILE");
-+	    if (s) {
+ {
+-    return (X509_CERT_FILE);
++    static char buf[PATH_MAX] = X509_CERT_FILE;
++    static int init = 0;
++    if (!init) {
++        init = 1;
++        char * s = getenv("OPENSSL_X509_CERT_FILE");
++        if (s) {
 +#ifndef OPENSSL_SYS_WINDOWS
-+	        if (getuid() == geteuid()) {
++            if (getuid() == geteuid()) {
 +#endif
-+		        strncpy(buf, s, sizeof(buf));
-+		        buf[sizeof(buf) - 1] = 0;
++                strncpy(buf, s, sizeof(buf));
++                buf[sizeof(buf) - 1] = 0;
 +#ifndef OPENSSL_SYS_WINDOWS
-+	        }
++            }
 +#endif
-+	    }
-+	}
-+	return buf;
-+	}
++        }
++    }
++    return buf;
+ }
  
  const char *X509_get_default_cert_dir_env(void)
- 	{ return(X509_CERT_DIR_EVP); }
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index e2a5eec77db..3504cf5fd97 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -2,7 +2,7 @@
 , withCryptodev ? false, cryptodevHeaders }:
 
 let
-  name = "openssl-1.0.1i";
+  name = "openssl-1.0.1m";
 
   opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
     (throw "openssl needs its platform name cross building" null)
@@ -18,6 +18,8 @@ let
       # hardcoding something like /etc/ssl/cert.pem is impure and
       # cannot be overriden per-process.  For security, the
       # environment variable is ignored for setuid binaries.
+      # FIXME: drop this patch; it really isn't necessary, because
+      # OpenSSL already supports a ‘SSL_CERT_FILE’ variable.
       ./cert-file.patch
     ]
 
@@ -43,7 +45,7 @@ stdenv.mkDerivation {
       "http://www.openssl.org/source/${name}.tar.gz"
       "http://openssl.linux-mirror.org/source/${name}.tar.gz"
     ];
-    sha256 = "1izwv1wzqdw8aqnvb70jcqpqp0rvkcm22w5c1dm9l1kpr939y5rw";
+    sha256 = "0x7gvyybmqm4lv62mlhlm80f1rn7il2qh8224rahqv0i15xhnpq9";
   };
 
   patches = patchesCross false;
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index ff7536de403..561d0df4e80 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -1,19 +1,17 @@
-{stdenv, fetchurl, srtp, libzrtpcpp, pkgconfig }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ortp-0.22.0";
+  name = "ortp-0.24.1";
 
   src = fetchurl {
     url = "mirror://savannah/linphone/ortp/sources/${name}.tar.gz";
-    sha256 = "02rdm6ymgblbx8fnjfvivkl4qkgbdizrf35fyb0vln9m7jdy4dvf";
+    sha256 = "1mach7cdq4kydqkll8ra1kir818da07z253rf9pihifipqhcxv6i";
   };
 
-  configureFlags = "--enable-zrtp";
-
-  propagatedBuildInputs = [ srtp libzrtpcpp pkgconfig ];
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "A Real-Time Transport Protocol (RFC3550) stack";
     homepage = http://www.linphone.org/index.php/eng/code_review/ortp;
+    license = licenses.lgpl21;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix
index cfa838f5a37..4db1cb5b524 100644
--- a/pkgs/development/libraries/osip/default.nix
+++ b/pkgs/development/libraries/osip/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation rec {
-  version = "4.0.0";
+  version = "4.1.0";
   src = fetchurl {
     url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
-    sha256 = "05dhj4s5k4qmhn2amca070xgh1gkcl42n040fhwsn3vm86524bdv";
+    sha256 = "014503kqv7z63az6lgxr5fbajlrqylm5c4kgbf8p3a0n6cva0slr";
   };
   name = "libosip2-${version}";
 
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
     description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.linux;
+    inherit version;
   };
 }
diff --git a/pkgs/development/libraries/osip/default.upstream b/pkgs/development/libraries/osip/default.upstream
new file mode 100644
index 00000000000..ba0ed2a9b29
--- /dev/null
+++ b/pkgs/development/libraries/osip/default.upstream
@@ -0,0 +1,3 @@
+url http://ftp.u-tx.net/gnu/osip/
+attribute_name libosip
+minimize_overwrite
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index be6216b758c..0ecbc109d39 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--without-libtasn1";
 
-  buildInputs = [ libiconv pkgconfig libffi libtasn1 ];
+  buildInputs = [ pkgconfig libffi libtasn1 libiconv ];
 
   meta = {
     homepage = http://p11-glue.freedesktop.org/;
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 355c4c048c7..e72071b4cfd 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -1,31 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng, harfbuzz, fontconfig
-, libintlOrEmpty, gobjectIntrospection }:
-
+{ stdenv, fetchurl, pkgconfig, x11, glib, cairo, libpng, harfbuzz
+, fontconfig, freetype, libintlOrEmpty, gobjectIntrospection
+}:
+
+let
+  ver_maj = "1.36";
+  ver_min = "8";
+in
 stdenv.mkDerivation rec {
-  name = "pango-1.32.5"; #.6 and higher need fontconfig-2.11.* which is troublesome
+  name = "pango-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pango/1.32/${name}.tar.xz";
-    sha256 = "08aqis6j8nd1lb4f2h4h9d9kjvp54iwf8zvqzss0qn4v7nfcjyvx";
+    url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
+    sha256 = "01rdzjh68w8l5zn0648yibyarj8p6g7yfn59nw5awaz1i8dvbnqq";
   };
 
   outputs = [ "dev" "out" "bin" "doc" ];
 
-  buildInputs = with stdenv.lib;
-    optional (!stdenv.isDarwin) gobjectIntrospection # build problems of itself and flex
-    ++ optionals stdenv.isDarwin [ gettext fontconfig ];
+  buildInputs = with stdenv.lib; [ gobjectIntrospection ];
   nativeBuildInputs = [ pkgconfig ];
 
-  propagatedBuildInputs = [ x11 glib cairo libpng harfbuzz ] ++ libintlOrEmpty;
+  propagatedBuildInputs = [ x11 glib cairo libpng fontconfig freetype harfbuzz ] ++ libintlOrEmpty;
 
   enableParallelBuilding = true;
 
+  doCheck = false; # test-layout fails on 1.36.8
   # jww (2014-05-05): The tests currently fail on Darwin:
   #
   # ERROR:testiter.c:139:iter_char_test: assertion failed: (extents.width == x1 - x0)
   # .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst
   # FAIL: testiter
-  doCheck = !stdenv.isDarwin;
+
   meta = {
     description = "A library for laying out and rendering of text, with an emphasis on internationalization";
 
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
index ab598f47a52..f71c52e670b 100644
--- a/pkgs/development/libraries/pangomm/default.nix
+++ b/pkgs/development/libraries/pangomm/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "C++ interface to the Pango text rendering library";
     homepage    = http://www.pango.org/;
-    # TODO license     = with licenses; [ lgpl2 lgpl21 ];
+    license     = with licenses; [ lgpl2 lgpl21 ];
     maintainers = with maintainers; [ lovek323 raskin ];
     platforms   = platforms.unix;
 
diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix
index b9943b44331..a71709b554b 100644
--- a/pkgs/development/libraries/pcl/default.nix
+++ b/pkgs/development/libraries/pcl/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://pointclouds.org/;
     description = "Open project for 2D/3D image and point cloud processing";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
     broken = true;
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 961a9e7b9ea..6ae8e475d1e 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -5,24 +5,20 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "pcre-8.34";
+  name = "pcre-8.36";
 
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n";
+    sha256 = "1fs5p1z67m9f4xnyil3s4lhgyld78f7m4d1yawpyhh0cvrbk90zg";
   };
 
   outputs = [ "dev" "out" "bin" "doc" "man" ];
 
-  # The compiler on Darwin crashes with an internal error while building the
-  # C++ interface. Disabling optimizations on that platform remedies the
-  # problem. In case we ever update the Darwin GCC version, the exception for
-  # that platform ought to be removed.
   configureFlags = ''
     --enable-jit
     ${if unicodeSupport then "--enable-unicode-properties" else ""}
     ${if !cplusplusSupport then "--disable-cpp" else ""}
-  '' + optionalString stdenv.isDarwin "CXXFLAGS=-O0";
+  '';
 
   doCheck = with stdenv; !(isCygwin || isFreeBSD);
     # XXX: test failure on Cygwin
diff --git a/pkgs/development/libraries/pdf2xml/default.nix b/pkgs/development/libraries/pdf2xml/default.nix
index 4f3cd931fce..c7c5aff2455 100644
--- a/pkgs/development/libraries/pdf2xml/default.nix
+++ b/pkgs/development/libraries/pdf2xml/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation {
     sed -i 's|XPDF = xpdf_3.01|XPDF = ${libxpdf}/lib|' Makefile
 
     mkdir exe
+
+    buildFlags+=" CXX=$CXX"
   '';
   
   installPhase = ''
diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
deleted file mode 100644
index 419978a1011..00000000000
--- a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gstreamer
-, gst_plugins_base }:
-
-let
-  version = "4.7.0";
-  pname = "phonon-backend-gstreamer";
-in
-
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "0zg7hnaywk9wpcvzgskx2334cgfz09ii77pvasrn00ikcqqnnxrs";
-  };
-
-  buildInputs = [ phonon qt4 gstreamer gst_plugins_base ];
-
-  nativeBuildInputs = [ cmake automoc4 pkgconfig ];
-
-  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
-
-  meta = {
-    homepage = http://phonon.kde.org/;
-    description = "GStreamer backend for Phonon";
-    platforms = stdenv.lib.platforms.linux;
-  };  
-}
diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix
new file mode 100644
index 00000000000..844c2e58009
--- /dev/null
+++ b/pkgs/development/libraries/phonon-backend-gstreamer/qt4/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gstreamer
+, gst_plugins_base }:
+
+let
+  version = "4.7.2";
+  pname = "phonon-backend-gstreamer";
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz";
+    sha256 = "1cfjk450aajr8hfhnfq7zbmryprxiwr9ha5x585dsh7mja82mdw0";
+  };
+
+  buildInputs = [ phonon qt4 gstreamer gst_plugins_base ];
+
+  nativeBuildInputs = [ cmake automoc4 pkgconfig ];
+
+  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
+
+  meta = {
+    homepage = http://phonon.kde.org/;
+    description = "GStreamer backend for Phonon";
+    platforms = stdenv.lib.platforms.linux;
+  };  
+}
diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/qt5/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/qt5/default.nix
new file mode 100644
index 00000000000..bc34d249b46
--- /dev/null
+++ b/pkgs/development/libraries/phonon-backend-gstreamer/qt5/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, cmake, gst_all_1, phonon_qt5, pkgconfig, qt5, debug ? false }:
+
+with stdenv.lib;
+
+let
+  version = "4.8.2";
+  pname = "phonon-backend-gstreamer";
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz";
+    sha256 = "1q1ix6zsfnh6gfnpmwp67s376m7g7ahpjl1qp2fqakzb5cgzgq10";
+  };
+
+  buildInputs = with gst_all_1; [ gstreamer gst-plugins-base phonon_qt5 qt5.base ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DPHONON_BUILD_PHONON4QT5=ON"
+  ]
+  ++ optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+  meta = with stdenv.lib; {
+    homepage = http://phonon.kde.org/;
+    description = "GStreamer backend for Phonon";
+    platforms = platforms.linux;
+    maintainer = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix
deleted file mode 100644
index 060f4c45a48..00000000000
--- a/pkgs/development/libraries/phonon-backend-vlc/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, pkgconfig, phonon }:
-
-let
-  pname = "phonon-backend-vlc";
-  v = "0.7.0";
-  vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version
-in
-
-stdenv.mkDerivation {
-  name = "${pname}-${v}";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz";
-    sha256 = "1rhzc3d188l6ygxgfxwikscj71pyy0nchzikvkkq465r9ajavdgd";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig automoc4 xz ];
-
-  buildInputs = [ qt4 vlc_ phonon ];
-
-  meta = {
-    description = "VideoLAN backend for Phonon multimedia framework";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-  };
-}
diff --git a/pkgs/development/libraries/phonon-backend-vlc/qt4/default.nix b/pkgs/development/libraries/phonon-backend-vlc/qt4/default.nix
new file mode 100644
index 00000000000..8883f5c11d9
--- /dev/null
+++ b/pkgs/development/libraries/phonon-backend-vlc/qt4/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, xz, vlc, automoc4, cmake, pkgconfig, phonon
+, qt4 ? null, qt5 ? null, withQt5 ? false }:
+
+with stdenv.lib;
+
+assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
+
+let
+  pname = "phonon-backend-vlc";
+  v = "0.8.1";
+  # Force same Qt version in phonon and VLC
+  vlc_ = vlc.override { inherit qt4 qt5 withQt5; };
+  phonon_ = phonon.override { inherit qt4 qt5 withQt5; };
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${v}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
+    sha256 = "1fyfh7qyb6rld350v2fgz452ld96d3z5ifchr323q0vc3hb9k222";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig automoc4 xz ];
+
+  buildInputs = [ vlc_ phonon_ (if withQt5 then qt5 else qt4)];
+
+  cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
+
+  meta = {
+    homepage = http://phonon.kde.org/;
+    description = "VideoLAN backend for Phonon multimedia framework";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ttuegel urkud ];
+    license = licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/development/libraries/phonon-backend-vlc/qt5/default.nix b/pkgs/development/libraries/phonon-backend-vlc/qt5/default.nix
new file mode 100644
index 00000000000..b7e4dc7c2b0
--- /dev/null
+++ b/pkgs/development/libraries/phonon-backend-vlc/qt5/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, xz, vlc, cmake, pkgconfig, phonon_qt5, qt5 }:
+
+with stdenv.lib;
+
+let
+  pname = "phonon-backend-vlc";
+  v = "0.8.2";
+  # Force same Qt version in phonon and VLC
+  vlc_ = vlc.override {
+    inherit qt5;
+    qt4 = null;
+    withQt5 = true;
+  };
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${v}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz";
+    sha256 = "18ysdga681my75lxxv5h242pa4qappvg5z73wnc0ks9yypnzidys";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig xz ];
+
+  buildInputs = [ vlc_ phonon_qt5 qt5.base ];
+
+  cmakeFlags = ["-DPHONON_BUILD_PHONON4QT5=ON"];
+
+  meta = {
+    homepage = http://phonon.kde.org/;
+    description = "VideoLAN backend for Phonon multimedia framework";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ttuegel urkud ];
+    license = licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
deleted file mode 100644
index b29deae9260..00000000000
--- a/pkgs/development/libraries/phonon/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, cmake, automoc4, qt4, pulseaudio }:
-
-let
-  v = "4.7.1";
-in
-
-stdenv.mkDerivation rec {
-  name = "phonon-${v}";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/phonon/${v}/${name}.tar.xz";
-    sha256 = "0pdpj7xnalr511zx12akxg6smz7x5gybkpliclb5f5dcxqnq1xsg";
-  };
-
-  buildInputs = [ qt4 pulseaudio ];
-
-  nativeBuildInputs = [ cmake automoc4 ];
-
-  meta = {
-    homepage = http://phonon.kde.org/;
-    description = "Multimedia API for Qt";
-    license = stdenv.lib.licenses.lgpl2;
-    platforms = stdenv.lib.platforms.linux;
-  };  
-}
diff --git a/pkgs/development/libraries/phonon/qt4/default.nix b/pkgs/development/libraries/phonon/qt4/default.nix
new file mode 100644
index 00000000000..a127c063ffb
--- /dev/null
+++ b/pkgs/development/libraries/phonon/qt4/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, cmake, automoc4, pulseaudio, qt4 }:
+
+with stdenv.lib;
+
+let
+  v = "4.8.1";
+in
+
+stdenv.mkDerivation rec {
+  name = "phonon-${v}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
+    sha256 = "1l97h1jj3gvl1chx1qbipizfvjgqc05wrhdcflc76c2krlk03jmn";
+  };
+
+  buildInputs = [ qt4 pulseaudio ];
+
+  nativeBuildInputs = [ cmake automoc4 ];
+
+  meta = {
+    homepage = http://phonon.kde.org/;
+    description = "Multimedia API for Qt";
+    license = stdenv.lib.licenses.lgpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/phonon/qt5/default.nix b/pkgs/development/libraries/phonon/qt5/default.nix
new file mode 100644
index 00000000000..248e0427709
--- /dev/null
+++ b/pkgs/development/libraries/phonon/qt5/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, cmake, mesa, pkgconfig, pulseaudio, qt5, debug ? false }:
+
+with stdenv.lib;
+
+let
+  v = "4.8.3";
+in
+
+stdenv.mkDerivation rec {
+  name = "phonon-${v}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/phonon/${v}/src/phonon-${v}.tar.xz";
+    sha256 = "05nshngk03ln90vsjz44dx8al576f4vd5fvhs1l0jmx13jb9q551";
+  };
+
+  buildInputs = [ mesa qt5.base qt5.quick1 qt5.tools pulseaudio ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  cmakeFlags = [
+    "-DPHONON_BUILD_PHONON4QT5=ON"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+  ]
+  ++ optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+  meta = {
+    homepage = http://phonon.kde.org/;
+    description = "Multimedia API for Qt";
+    license = stdenv.lib.licenses.lgpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/physfs/default.nix b/pkgs/development/libraries/physfs/default.nix
index 16fb46d1698..78cfeb13a2c 100644
--- a/pkgs/development/libraries/physfs/default.nix
+++ b/pkgs/development/libraries/physfs/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://icculus.org/physfs/";
     description = "Library to provide abstract access to various archives";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
new file mode 100644
index 00000000000..1e1fc7ea3b8
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -0,0 +1,150 @@
+{ enableMultiThreading ? false
+, enableG3toG4         ? false
+, enableInventor       ? false
+, enableGDML           ? false
+, enableQT             ? false
+, enableXM             ? false
+, enableOpenGLX11      ? false
+, enableRaytracerX11   ? false
+
+# Standard build environment with cmake.
+, stdenv, fetchurl, cmake
+
+# Optional system packages, otherwise internal GEANT4 packages are used.
+, clhep ? null
+, expat ? null
+, zlib  ? null
+
+# For enableGDML.
+, xercesc ? null
+
+# For enableQT.
+, qt ? null # qt4SDK or qt5SDK
+
+# For enableXM.
+, motif ? null # motif or lesstif
+
+# For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
+, mesa   ? null
+, x11    ? null
+, libXmu ? null
+}:
+
+# G4persistency library with support for GDML
+assert enableGDML -> xercesc != null;
+
+# If enableQT, Qt4/5 User Interface and Visualization drivers.
+assert enableQT -> qt != null;
+
+# Motif User Interface and Visualisation drivers.
+assert enableXM -> motif != null;
+
+# OpenGL/X11 User Interface and Visualisation drivers.
+assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> mesa   != null;
+assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> x11    != null;
+assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libXmu != null;
+
+let
+  buildGeant4 =
+    { version, src, multiThreadingCapable ? false }:
+
+    stdenv.mkDerivation rec {
+      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_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"}
+        -DGEANT4_USE_XM=${if enableXM then "ON" else "OFF"}
+        -DGEANT4_USE_OPENGL_X11=${if enableOpenGLX11 then "ON" else "OFF"}
+        -DGEANT4_USE_INVENTOR=${if enableInventor then "ON" else "OFF"}
+        -DGEANT4_USE_RAYTRACER_X11=${if enableRaytracerX11 then "ON" else "OFF"}
+        -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"}
+      '';
+
+      g4data = installData {
+        inherit version src;
+      };
+
+      enableParallelBuilding = true;
+      buildInputs = [ cmake clhep expat zlib xercesc qt motif mesa x11 libXmu ];
+      propagatedBuildInputs = [ g4data clhep expat zlib xercesc qt motif mesa x11 libXmu ];
+
+      setupHook = ./setup-hook.sh;
+
+      # Set the myriad of envars required by Geant4 if we use a nix-shell.
+      shellHook = ''
+        source $out/nix-support/setup-hook
+      '';
+
+      meta = {
+        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.
+          Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.
+          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;
+      };
+    };
+
+  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;
+  };
+
+in {
+  v10_0_2 = buildGeant4 {
+    inherit (fetchGeant4.v10_0_2) version src;
+    multiThreadingCapable = true;
+  };
+} 
+ 
diff --git a/pkgs/development/libraries/physics/geant4/fetch.nix b/pkgs/development/libraries/physics/geant4/fetch.nix
new file mode 100644
index 00000000000..0e5dd54c6ae
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/fetch.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+let
+  fetch = { version, src ? builtins.getAttr stdenv.system sources, sources ? null }:
+  {
+    inherit version src;
+  };
+
+in {
+  v10_0_2 = fetch {
+    version = "10.0.2";
+
+    src = fetchurl{
+      url = "http://geant4.cern.ch/support/source/geant4.10.00.p02.tar.gz";
+      sha256 = "9d615200901f1a5760970e8f5970625ea146253e4f7c5ad9df2a9cf84549e848";
+    };  
+  };
+}
+
diff --git a/pkgs/development/libraries/physics/geant4/g4py/configure.patch b/pkgs/development/libraries/physics/geant4/g4py/configure.patch
new file mode 100644
index 00000000000..886618abd34
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/g4py/configure.patch
@@ -0,0 +1,12 @@
+--- environments/g4py/configure	2014-03-17 22:47:05.000000000 +1100
++++ environments/g4py/configure	2014-09-01 15:33:46.523637686 +1000
+@@ -4,9 +4,6 @@
+ # ======================================================================
+ export LANG=C
+ 
+-PATH=/bin:/usr/bin
+-export PATH
+-
+ # ======================================================================
+ # testing the echo features
+ # ======================================================================
diff --git a/pkgs/development/libraries/physics/geant4/g4py/default.nix b/pkgs/development/libraries/physics/geant4/g4py/default.nix
new file mode 100644
index 00000000000..f90b2e6c4ae
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/g4py/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl
+
+# The target version of Geant4
+, geant4
+
+# Python (obviously) and boost::python for wrapping.
+, python
+, boost
+}:
+
+let
+  buildG4py = 
+    { version, src, geant4}:
+
+    stdenv.mkDerivation rec {
+      inherit version src geant4;
+      name = "g4py-${version}";
+
+      # ./configure overwrites $PATH, which clobbers everything.
+      patches = [ ./configure.patch ];
+      patchFlags = "-p0";
+
+      configurePhase = ''
+        export PYTHONPATH=$PYTHONPATH:${geant4}/lib64:$prefix
+
+        source ${geant4}/share/Geant4-*/geant4make/geant4make.sh
+        cd environments/g4py
+
+        ./configure linux64 --prefix=$prefix \
+                            --with-g4install-dir=${geant4} \
+                            --with-python-incdir=${python}/include/python${python.majorVersion} \
+                            --with-python-libdir=${python}/lib \
+                            --with-boost-incdir=${boost}/include \
+                            --with-boost-libdir=${boost}/lib
+      '';
+
+      enableParallelBuilding = true;
+      buildInputs = [ geant4 boost python ];
+
+      setupHook = ./setup-hook.sh;
+
+      # Make sure we set PYTHONPATH
+      shellHook = ''
+        source $out/nix-support/setup-hook
+      '';
+
+      meta = {
+        description = "Python bindings and utilities for Geant4.";
+        longDescription = ''
+          Geant4 is a toolkit for the simulation of the passage of particles through matter.      
+          Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.
+          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;
+      }; 
+    };
+
+    fetchGeant4 = import ../fetch.nix {
+      inherit stdenv fetchurl;
+    };  
+
+in {
+  v10_0_2 = buildG4py {
+    inherit (fetchGeant4.v10_0_2) version src;
+    geant4 = geant4.v10_0_2;
+  };  
+} 
diff --git a/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh b/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh
new file mode 100644
index 00000000000..8abfb461fc0
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/g4py/setup-hook.sh
@@ -0,0 +1 @@
+export PYTHONPATH=$PYTHONPATH:@out@/lib
diff --git a/pkgs/development/libraries/physics/geant4/setup-hook.sh b/pkgs/development/libraries/physics/geant4/setup-hook.sh
new file mode 100644
index 00000000000..0b775d43283
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/setup-hook.sh
@@ -0,0 +1 @@
+source @out@/bin/geant4.sh
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index d93341b81ff..14529c6c643 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   postInstall = glib.flattenInclude;
 
+  patches = stdenv.lib.optional (stdenv.cc.cc.isClang or false) ./fix-clang36.patch;
+
   meta = {
     homepage = http://pixman.org;
     description = "A low-level library for pixel manipulation";
diff --git a/pkgs/development/libraries/pixman/fix-clang36.patch b/pkgs/development/libraries/pixman/fix-clang36.patch
new file mode 100644
index 00000000000..7db3c7ecaba
--- /dev/null
+++ b/pkgs/development/libraries/pixman/fix-clang36.patch
@@ -0,0 +1,11 @@
+--- a/pixman/pixman-mmx.c	2014-04-24 08:34:14.000000000 +0400
++++ b/pixman/pixman-mmx.c	2015-01-30 20:19:28.000000000 +0300
+@@ -89,7 +89,7 @@
+     return __A;
+ }
+ 
+-#  ifdef __OPTIMIZE__
++#  if defined(__OPTIMIZE__) && !(defined (__clang__) && defined(__clang_major__) && defined(__clang_minor__) && __clang_major__ == 3 && __clang_minor__ >= 6)
+ extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_pi16 (__m64 __A, int8_t const __N)
+ {
diff --git a/pkgs/development/libraries/pocketsphinx/default.nix b/pkgs/development/libraries/pocketsphinx/default.nix
index 3111f71369a..77d3abd4a5e 100644
--- a/pkgs/development/libraries/pocketsphinx/default.nix
+++ b/pkgs/development/libraries/pocketsphinx/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, sphinxbase, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "pocketsphinx-0.7";
+  name = "pocketsphinx-0.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
-    sha256 = "0m94x5pridagr0hgmnidrf4z44zcya05d8fh67k0cc0mmghsq36f";
+    sha256 = "0ynf5ik4ib2d3ha3r4i8ywpr2dz5i6v51hmfl8kgzj4i7l44qk47";
   };
 
   propagatedBuildInputs = [ sphinxbase ];
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Voice recognition library written in C";
     homepage = http://cmusphinx.sourceforge.net;
-    license = "free-non-copyleft";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
index b1464817a70..2a35fbd7515 100644
--- a/pkgs/development/libraries/podofo/default.nix
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -11,12 +11,12 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng ];
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ lua5 stdenv.gcc.libc ];
+  buildInputs = [ lua5 stdenv.cc.libc ];
 
   crossAttrs = {
     propagatedBuildInputs = [ zlib.crossDrv freetype.crossDrv libjpeg.crossDrv
       libtiff.crossDrv fontconfig.crossDrv openssl.crossDrv libpng.crossDrv
-      lua5.crossDrv stdenv.gccCross.libc ];
+      lua5.crossDrv stdenv.ccCross.libc ];
   };
 
   # fix finding freetype-2.5
diff --git a/pkgs/development/libraries/poker-eval/default.nix b/pkgs/development/libraries/poker-eval/default.nix
new file mode 100644
index 00000000000..1291617ad6f
--- /dev/null
+++ b/pkgs/development/libraries/poker-eval/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "poker-eval-138.0";
+
+  src = fetchurl {
+    url = "http://download.gna.org/pokersource/sources/${name}.tar.gz";
+    sha256 = "0s6gvcdwdi6j7nrg6mmb5l971gclk0p99bcbfsynx1gnj159wrcj";
+  };
+
+  patchPhase = ''
+    sed -i -e 's#pkgincludedir = $(includedir)/@PACKAGE@#pkgincludedir = $(includedir)#g' Makefile.in
+    sed -i -e 's#pkgincludedir = $(includedir)/@PACKAGE@#pkgincludedir = $(includedir)#g' include/Makefile.in
+    sed -i -e 's#includedir=@includedir@/poker-eval#includedir=@includedir@/#g' poker-eval.pc.in
+  '';
+
+  meta = {
+    homepage = http://pokersource.org/poker-eval/;
+    description = "poker hand evaluator";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [stdenv.lib.maintainers.mtreskin];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/polkit-qt-1/default.nix b/pkgs/development/libraries/polkit-qt-1/default.nix
index 13bc992d026..b887134e5b9 100644
--- a/pkgs/development/libraries/polkit-qt-1/default.nix
+++ b/pkgs/development/libraries/polkit-qt-1/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }:
+{ stdenv, fetchurl, cmake, pkgconfig, polkit, automoc4, glib
+, qt4 ? null, qt5 ? null, withQt5 ? false }:
 
-stdenv.mkDerivation rec {
-  name = "polkit-qt-1-0.103.0";
+assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
+
+stdenv.mkDerivation {
+  name = "polkit-qt-1-0.112.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/apps/KDE4.x/admin/${name}.tar.bz2";
-    sha256 = "0k17sb70ywk94dmncnkyig03sg1hcfbhi5wlc77xf3rxirmmccif";
+    url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2";
+    sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7";
   };
 
-  patches = [ ./polkit-install.patch ];
-
-  nativeBuildInputs = [ cmake automoc4 ];
+  nativeBuildInputs = [ cmake automoc4 pkgconfig ];
 
-  propagatedBuildInputs = [ polkit glib qt4 ];
+  propagatedBuildInputs = [ polkit glib ] ++ (if withQt5 then [qt5.base] else [qt4]);
 
   meta = {
     description = "A Qt wrapper around PolKit";
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/development/libraries/polkit-qt-1/polkit-install.patch b/pkgs/development/libraries/polkit-qt-1/polkit-install.patch
deleted file mode 100644
index 79beda2a318..00000000000
--- a/pkgs/development/libraries/polkit-qt-1/polkit-install.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru -x '*~' polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in
---- polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in	2010-12-08 18:22:28.000000000 +0100
-+++ polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in	2011-07-12 13:26:51.000000000 +0200
-@@ -15,7 +15,7 @@
- 
- set(POLKITQT-1_INCLUDE_DIR              "@INCLUDE_INSTALL_DIR@/polkit-qt-1")
- set(POLKITQT-1_LIB_DIR                  "@LIB_INSTALL_DIR@")
--set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${POLKITQT-1_INSTALL_DIR}/share/polkit-1/actions")
-+set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
- 
- # Compatibility
- if(WIN32)
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 6da928a6a23..7fe16cec56b 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey
-, gobjectIntrospection, libxslt, docbook_xsl
+, gobjectIntrospection, libxslt, docbook_xsl, docbook_xml_dtd_412
 , useSystemd ? stdenv.isLinux, systemd }:
 
 let
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig glib expat pam intltool spidermonkey gobjectIntrospection ]
-    ++ [ libxslt docbook_xsl ] # man pages
+    ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ] # man pages
     ++ stdenv.lib.optional useSystemd systemd;
 
   # Ugly hack to overwrite hardcoded directories
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 083c9bae6b5..c79cdfd4466 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -1,76 +1,50 @@
-{ stdenv, fetchurl, fetchgit, pkgconfig, cmake, libiconvOrEmpty, libintlOrEmpty
+{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
-, qt4Support ? false, qt4 ? null
+, qt4Support ? false, qt4 ? null, qt5Support ? false, qt5 ? null
+, utils ? false, suffix ? "glib"
 }:
 
 let
-  version = "0.26.3"; # even major numbers are stable
-  sha256 = "1ca2lrwvhxzq0g4blbvq099vyydfjyz839jki301p1jgazrimjw8";
-
-  qtcairo_patches =
-    let qtcairo = fetchgit { # the version for poppler-0.24
-      url = "git://github.com/giddie/poppler-qt4-cairo-backend.git";
-      rev = "7b9e1ea763b579e635ee7614b10970b9635841cf";
-      sha256 = "0cdq0qw1sm6mxnrhmah4lfsd9wjlcdx86iyikwmjpwdmrkjk85r2";
-    }; in
-      [ "${qtcairo}/0001-Cairo-backend-added-to-Qt4-wrapper.patch"
-        "${qtcairo}/0002-Setting-default-Qt4-backend-to-Cairo.patch"
-        "${qtcairo}/0003-Forcing-subpixel-rendering-in-Cairo-backend.patch" ];
-
-  poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [
-  rec {
-    name = "poppler-${nameSuff}-${version}";
-
-    src = fetchurl {
-      url = "${meta.homepage}/poppler-${version}.tar.xz";
-      inherit sha256;
-    };
-
-    propagatedBuildInputs = [ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ];
-
-    nativeBuildInputs = [ pkgconfig cmake ] ++ libiconvOrEmpty ++ libintlOrEmpty;
-
-    cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON";
-
-    patches = [ ./datadir_env.patch ./poppler-glib.patch ];
-
-    # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files
-    # such as `../../../test/unittestcases/UseNone.pdf'.
-    #doCheck = !qt4Support;
-    checkTarget = "test";
+  version = "0.32.0"; # even major numbers are stable
+  sha256 = "162vfbvbz0frvqyk00ldsbl49h4bj8i8wn0ngfl30xg1lldy6qs9";
+in
+stdenv.mkDerivation rec {
+  name = "poppler-${suffix}-${version}";
+
+  src = fetchurl {
+    url = "${meta.homepage}/poppler-${version}.tar.xz";
+    inherit sha256;
+  };
 
-    enableParallelBuilding = true;
+  patches = [ ./datadir_env.patch ];
 
-    meta = {
-      homepage = http://poppler.freedesktop.org/;
-      description = "A PDF rendering library";
+  propagatedBuildInputs = with stdenv.lib;
+    [ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ]
+    ++ optional qt4Support qt4
+    ++ optional qt5Support qt5.base;
 
-      longDescription = ''
-        Poppler is a PDF rendering library based on the xpdf-3.0 code base.
-      '';
+  nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
 
-      license = stdenv.lib.licenses.gpl2;
-      platforms = stdenv.lib.platforms.all;
-    };
-  } merge ]); # poppler_drv
+  configureFlags =
+    [
+      "--enable-xpdf-headers"
+      "--enable-libcurl"
+      "--enable-zlib"
+    ]
+    ++ stdenv.lib.optional (!utils) "--disable-utils";
 
-  /* We always use cairo in poppler, so we always depend on glib,
-     so we always build the glib wrapper (~350kB).
-     We also always build the cpp wrapper (<100kB).
-     ToDo: around half the size could be saved by splitting out headers and tools (1.5 + 0.5 MB).
-  */
+  enableParallelBuilding = true;
 
-  poppler_glib = poppler_drv "glib" { };
+  meta = {
+    homepage = http://poppler.freedesktop.org/;
+    description = "A PDF rendering library";
 
-  poppler_qt4 = poppler_drv "qt4" {
-    propagatedBuildInputs = [ qt4 poppler_glib ];
-    patches = qtcairo_patches;
-    NIX_LDFLAGS = "-lpoppler";
-    postConfigure = ''
-      mkdir -p "$out/lib/pkgconfig"
-      install -c -m 644 poppler-qt4.pc "$out/lib/pkgconfig"
-      cd qt4
+    longDescription = ''
+      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
     '';
-  };
 
-in { inherit poppler_glib poppler_qt4; } // poppler_glib
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/poppler/poppler-glib.patch b/pkgs/development/libraries/poppler/poppler-glib.patch
deleted file mode 100644
index 09f5a145b84..00000000000
--- a/pkgs/development/libraries/poppler/poppler-glib.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -rupN a/poppler-glib.pc.cmake b/poppler-glib.pc.cmake
---- a/poppler-glib.pc.cmake	2013-08-17 01:20:41.000000001 +0200
-+++ b/poppler-glib.pc.cmake	2014-01-01 09:30:50.000000001 +0100
-@@ -10,4 +10,4 @@ Requires: glib-2.0 >= @GLIB_REQUIRED@ go
- @PC_REQUIRES_PRIVATE@
- 
- Libs: -L${libdir} -lpoppler-glib
--Cflags: -I${includedir}/poppler/glib
-+Cflags: -I${includedir}/poppler/glib -I${includedir}/poppler
-diff -rupN a/poppler-glib.pc.in b/poppler-glib.pc.in
---- a/poppler-glib.pc.in	2013-08-17 01:20:41.000000001 +0200
-+++ b/poppler-glib.pc.in	2014-01-01 09:27:17.000000001 +0100
-@@ -10,4 +10,5 @@ Requires: glib-2.0 >= @GLIB_REQUIRED@ go
- @PC_REQUIRES_PRIVATE@
- 
- Libs: -L${libdir} -lpoppler-glib
--Cflags: -I${includedir}/poppler/glib
-+Cflags: -I${includedir}/poppler/glib -I${includedir}/poppler
-+
diff --git a/pkgs/development/libraries/portmidi/default.nix b/pkgs/development/libraries/portmidi/default.nix
index 19eb390388b..518eeee9253 100644
--- a/pkgs/development/libraries/portmidi/default.nix
+++ b/pkgs/development/libraries/portmidi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, cmake, /*openjdk,*/ alsaLib }:
+{ stdenv, fetchurl, unzip, cmake, /*jdk,*/ alsaLib }:
 
 stdenv.mkDerivation rec {
   name = "portmidi-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   cmakeFlags = let
-    #base = "${openjdk}/jre/lib/${openjdk.architecture}";
+    #base = "${jdk}/jre/lib/${jdk.architecture}";
   in [
     "-DPORTMIDI_ENABLE_JAVA=0"
     /* TODO: Fix Java support.
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     ln -s libportmidi.so "$out/lib/libporttime.so"
   '';
 
-  buildInputs = [ unzip cmake /*openjdk*/ alsaLib ];
+  buildInputs = [ unzip cmake /*jdk*/ alsaLib ];
 
   meta = {
     homepage = "http://portmedia.sourceforge.net/portmidi/";
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index acf760f4f79..7c247dd6c1d 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -1,24 +1,11 @@
-args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, proj, flex, ...}:
+args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, proj, flex, gdal, json_c, pkgconfig, file, ...}:
 
   /*
 
   ### NixOS - usage:
   ==================
 
-    services.posgresql.extraPlugins = [ pkgs.postgis.v_1_5_1 ];
-
-    or if you want to install 1.5.x and 1.3.x at the same time (which works
-    because the .sql and .so files have different names):
-
-    services.postgis.extraPlugins = [ (pkgs.buildEnv {
-          name = "postgis-plugins";
-          ignoreCollisions = 1; # scripts will collide - but there are aliases with version suffixes
-          paths = [ pkgs.postgis.v_1_3_5 pkgs.postgis.v_1_5_1 ];
-        })];
-
-    By now it is only supported installing one of the 1.3.x verions because
-    their shared libraries don't differ in naming.
-
+    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql94; }).v_2_1_4 ];
 
 
   ### important Postgis implementation details:
@@ -29,7 +16,7 @@ args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, p
 
       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.
 
@@ -37,7 +24,6 @@ args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, p
    systems you have to adopt the library path.
 
 
-
    ### TODO:
    =========
    the bin commands to have gtk gui:
@@ -64,36 +50,12 @@ let
       makeFlags="PERL=${perl}/bin/perl datadir=$out/share pkglibdir=$out/lib bindir=$out/bin"
     '';
 
-    pg_db_postgis_enable = ./pg_db_postgis_enable.sh;
-
-    scriptNames = [ "pg_db_postgis_enable" ]; # helper scripts
-
-    # prepare fixed parameters for script and create pg_db_postgis_enable script.
-    # The script just loads postgis features into a list of given databases
-    postgisEnableScript = ''
-      s=$out/bin/pg_db_postgis_enable
-
-      sql_comments=$out/share/postgis-${version}/comments.sql
-      mkdir -p $(dirname $sql_comments)
-      cp $(find -iname ${fix.fixed.sql_comments}) $sql_comments
-
-      for script in $scriptNames; do
-        tg=$out/bin/$script
-        substituteAll ''${!script} $tg
-        chmod +x $tg
-      done
-    '';
-
-    # create a script enabling postgis features
-    # also create aliases for all commands adding version information
+    # create aliases for all commands adding version information
     postInstall = ''
 
       sql_srcs=$(for sql in ${builtins.toString fix.fixed.sql_srcs}; do echo -n "$(find $out -iname "$sql") "; done )
 
-      eval "$postgisEnableScript"
-      eval "$postgisFixLibScript"
-
-      for prog in $out/bin/*; do
+      for prog in $out/bin/*; do # */
         ln -s $prog $prog-${version}
       done
 
@@ -113,38 +75,34 @@ let
     };
   });
 
-
-in rec {
-
-  # these builders just add some custom informaton to the receipe above
-
-  v_1_3_5 = pgDerivationBase.merge ( fix: {
-    version = "1.3.5";
-    buildInputs = [ flex ];
-    sha256 = "102d5ybn0db1wrb249dga2v8347vysd4f1brc8zb82d7vdd34wyq";
-    sql_srcs = ["lwpostgis.sql" "spatial_ref_sys.sql"];
-
-    pg_db_postgis_fix_or_load_sql_dump = ./pg_db_postgis_fix_or_load_sql_dump.sh;
-    libName = "liblwgeom";
-    scriptNames = [ "pg_db_postgis_enable" "pg_db_postgis_fix_or_load_sql_dump"]; # helper scripts
-
-    # sql_srcs is defined in postInstall source above
-    # if store path changes sql should not break. So replace absolute path to
-    # shared library by path relatve to $libdir known by Postgres.
-    postInstall = ''
-      sed -i "s@AS '$out/lib/liblwgeom@AS '\$libdir/liblwgeom@" $sql_srcs $out/share/lwpostgis_upgrade.sql
-    '';
+  pgDerivationBaseNewer = pgDerivationBase.merge (fix: {
+    src = fetchurl {
+      url = "http://download.osgeo.org/postgis/source/postgis-${builtins.toString fix.fixed.version}.tar.gz";
+      inherit (fix.fixed) sha256;
+    };
   });
 
-  v_1_3_6 = v_1_3_5.merge ({
-    version = "1.3.6";
-    sha256 = "0i6inyiwc5zgf5a4ssg0y774f8vn45zn5c38ccgnln9r6i54vc6k";
-  });
+in rec {
 
-  v_1_5_1 = pgDerivationBase.merge ( fix : {
-    version = "1.5.1";
-    sha256 = "0nymvqqi6pp4nh4dcshzqm76x4sraf119jp7l27c2q1lygm6p6jr";
+  v_2_1_4 = pgDerivationBaseNewer.merge ( fix : {
+    version = "2.1.4";
+    sha256 = "1z00n5654r7l38ydkn2grbwl5gg0mravjwxfdipp7j18hjiw4wyd";
     sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"];
+    builtInputs = [gdal json_c pkgconfig];
+    dontDisableStatic = true;
+    preConfigure = ''
+      sed -i 's@/usr/bin/file@${file}/bin/file@' configure
+      configureFlags="$configureFlags --with-gdalconfig=${gdal}/bin/gdal-config --with-jsondir=${json_c}"
+    '';
+    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";
+    '';
   });
 
 }
diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix
index 17c05ada7a8..85962d56cc3 100644
--- a/pkgs/development/libraries/proj/default.nix
+++ b/pkgs/development/libraries/proj/default.nix
@@ -1,16 +1,26 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "proj-4.5.0";
+  name = "proj-4.8.0";
 
   src = fetchurl {
-    url = ftp://ftp.remotesensing.org/proj/proj-4.5.0.tar.gz;
-    sha256 = "1d2qz0vgp13hkfgaz7hkblhb9w2fh2blbjqz73xdinwc08cmflqv";
+    url = http://download.osgeo.org/proj/proj-4.8.0.tar.gz;
+    sha256 = "1dfim63ks298204lv2z0v16njz6fs7bf0m4icy09i3ffzvqdpcid";
   };
 
-  meta = { 
+  postConfigure = ''
+    patch src/Makefile <<EOF
+    272c272
+    < include_HEADERS = proj_api.h org_proj4_Projections.h
+    ---
+    > include_HEADERS = proj_api.h org_proj4_Projections.h projects.h
+    EOF
+  '';
+
+  meta = with stdenv.lib; {
     description = "Cartographic Projections Library";
-    homepage = http://proj.maptools.org;
-    license = stdenv.lib.licenses.mit;
+    homepage = http://trac.osgeo.org/proj/;
+    license = licenses.mit;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/protobuf/2.5.nix b/pkgs/development/libraries/protobuf/2.5.nix
new file mode 100644
index 00000000000..9d7bb38cf3c
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/2.5.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "2.5.0";
+  # make sure you test also -A pythonPackages.protobuf
+  src = fetchurl {
+    url = "http://protobuf.googlecode.com/files/${version}.tar.bz2";
+    sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk";
+  };
+})
diff --git a/pkgs/development/libraries/protobuf/2.6.nix b/pkgs/development/libraries/protobuf/2.6.nix
new file mode 100644
index 00000000000..49ed9d9ade1
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/2.6.nix
@@ -0,0 +1,12 @@
+{ callPackage, fetchFromGitHub, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "2.6.1";
+  # make sure you test also -A pythonPackages.protobuf
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "protobuf";
+    rev = "v${version}";
+    sha256 = "03df8zvx2sry3jz2x4pi3l32qyfqa7w8kj8jdbz30nzy0h7aa070";
+  };
+})
diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix
deleted file mode 100644
index 3452335decd..00000000000
--- a/pkgs/development/libraries/protobuf/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ fetchurl, stdenv, zlib }:
-
-stdenv.mkDerivation rec {
-  name = "protobuf-2.6.0";
-
-  src = fetchurl {
-    url = "http://protobuf.googlecode.com/svn-history/r579/rc/protobuf-2.6.0.tar.bz2";
-    sha256 = "0krfkxc85vfznqwbh59qlhp7ld81al9ss35av0gfbg74i0rvjids";
-  };
-
-  buildInputs = [ zlib ];
-
-  doCheck = true;
-
-  meta = {
-    description = "Protocol Buffers - Google's data interchange format";
-
-    longDescription =
-      '' Protocol Buffers are a way of encoding structured data in an
-         efficient yet extensible format.  Google uses Protocol Buffers for
-         almost all of its internal RPC protocols and file formats.
-      '';
-
-    license = "mBSD";
-
-    homepage = http://code.google.com/p/protobuf/;
-  };
-}
diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix
new file mode 100644
index 00000000000..692891bd5bf
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/generic.nix
@@ -0,0 +1,36 @@
+{ stdenv, version, src
+, autoreconfHook, zlib, gtest
+, ...
+}:
+
+stdenv.mkDerivation rec {
+  name = "protobuf-${version}";
+
+  inherit src;
+
+  postPatch = ''
+    rm -rf gtest
+    cp -r ${gtest.source} gtest
+    chmod -R a+w gtest
+  '';
+
+  buildInputs = [ autoreconfHook zlib ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Protocol Buffers - Google's data interchange format";
+
+    longDescription =
+      '' Protocol Buffers are a way of encoding structured data in an
+         efficient yet extensible format.  Google uses Protocol Buffers for
+         almost all of its internal RPC protocols and file formats.
+      '';
+
+    license = "mBSD";
+
+    homepage = http://code.google.com/p/protobuf/;
+  };
+
+  passthru.version = version;
+}
diff --git a/pkgs/development/libraries/protobufc/1.0.nix b/pkgs/development/libraries/protobufc/1.0.nix
new file mode 100644
index 00000000000..d64ea5790c6
--- /dev/null
+++ b/pkgs/development/libraries/protobufc/1.0.nix
@@ -0,0 +1,11 @@
+{ callPackage, fetchFromGitHub, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.0.2";
+  src = fetchFromGitHub {
+    owner = "protobuf-c";
+    repo = "protobuf-c";
+    rev = "v${version}";
+    sha256 = "1harabw7qdgcmh098664xkcv8bkyach6i35sisc40yhvagr3fzsz";
+  };
+})
diff --git a/pkgs/development/libraries/protobufc/1.1.nix b/pkgs/development/libraries/protobufc/1.1.nix
new file mode 100644
index 00000000000..97fc8642778
--- /dev/null
+++ b/pkgs/development/libraries/protobufc/1.1.nix
@@ -0,0 +1,11 @@
+{ callPackage, fetchFromGitHub, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.1.1";
+  src = fetchFromGitHub {
+    owner = "protobuf-c";
+    repo = "protobuf-c";
+    rev = "v${version}";
+    sha256 = "0mdl2i87394l4zdvq2npsxq4zs8p7sqhqmbm2r380ngjs6zic6gw";
+  };
+})
diff --git a/pkgs/development/libraries/protobufc/default.nix b/pkgs/development/libraries/protobufc/default.nix
deleted file mode 100644
index 58c639ee604..00000000000
--- a/pkgs/development/libraries/protobufc/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ fetchurl, stdenv, zlib, protobuf }:
-
-stdenv.mkDerivation rec {
-  name = "protobuf-c-0.15";
-
-  src = fetchurl {
-    url = "http://protobuf-c.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0dh0180lzqk6n1r0qk38kgdy4x15mpkg5j4g2r31qhx52f757jwg";
-  };
-
-  buildInputs = [ protobuf ];
-
-  doCheck = true;
-
-  meta = {
-    description = "C bindings for Google's Protocol Buffers";
-
-    license = "BSD";
-
-    homepage = http://code.google.com/p/protobuf-c/;
-  };
-}
diff --git a/pkgs/development/libraries/protobufc/generic.nix b/pkgs/development/libraries/protobufc/generic.nix
new file mode 100644
index 00000000000..3a03d5c8b4b
--- /dev/null
+++ b/pkgs/development/libraries/protobufc/generic.nix
@@ -0,0 +1,20 @@
+{ stdenv, src, version
+, autoreconfHook, pkgconfig, protobuf, zlib
+, ...
+}:
+
+stdenv.mkDerivation rec {
+  name = "protobuf-c-${version}";
+
+  inherit src;
+
+  buildInputs = [ autoreconfHook pkgconfig protobuf zlib ];
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/protobuf-c/protobuf-c/;
+    description = "C bindings for Google's Protocol Buffers";
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix
index 9f9b188322f..aa2601a7bd3 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, bison, flex, unixODBC
-, openssl, openldap, cyrus_sasl, krb5, expat, SDL, libdv, libv4l, alsaLib }:
+, openssl, openldap, cyrus_sasl, kerberos, expat, SDL, libdv, libv4l, alsaLib }:
 
 stdenv.mkDerivation rec {
   name = "ptlib-2.10.10";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ pkgconfig bison flex unixODBC openssl openldap 
-                  cyrus_sasl krb5 expat SDL libdv libv4l alsaLib ];
+                  cyrus_sasl kerberos expat SDL libdv libv4l alsaLib ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix
index 952bdfa29ce..7890017b55b 100644
--- a/pkgs/development/libraries/qca2/default.nix
+++ b/pkgs/development/libraries/qca2/default.nix
@@ -1,32 +1,18 @@
-{ stdenv, fetchurl, which, qt4 }:
+{ stdenv, fetchurl, cmake, pkgconfig, qt }:
 
 stdenv.mkDerivation rec {
-  name = "qca-2.0.3";
-  
+  name = "qca-2.1.0";
+
   src = fetchurl {
-    url = "http://delta.affinix.com/download/qca/2.0/${name}.tar.bz2";
-    sha256 = "0pw9fkjga8vxj465wswxmssxs4wj6zpxxi6kzkf4z5chyf4hr8ld";
+    url = "http://delta.affinix.com/download/qca/2.0/${name}.tar.gz";
+    sha256 = "114jg97fmg1rb4llfg7x7r68lxdkjrx60qsqq76khdwc2dvcsv92";
   };
-  
-  buildInputs = [ qt4 ];
-  
-  nativeBuildInputs = [ which ];
-
-  preBuild =
-    ''
-      sed -i include/QtCrypto/qca_publickey.h -e '/EMSA3_Raw/a,\
-              EMSA3_SHA224,     ///< SHA224, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-              EMSA3_SHA256,     ///< SHA256, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-              EMSA3_SHA384,     ///< SHA384, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-              EMSA3_SHA512      ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding'
-    '';
 
-  patches = [ ./gcc47.patch ];
-
-  configureFlags = "--no-separate-debug-info";
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ qt ];
 
   enableParallelBuilding = true;
-  
+
   meta = with stdenv.lib; {
     description = "Qt Cryptographic Architecture";
     license = "LGPL";
diff --git a/pkgs/development/libraries/qca2/gcc47.patch b/pkgs/development/libraries/qca2/gcc47.patch
deleted file mode 100644
index 08711884a57..00000000000
--- a/pkgs/development/libraries/qca2/gcc47.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-# Thanks to http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20120917/347917.html
---- qca-2.0.3/src/botantools/botan/botan/secmem.h.orig 2007-04-19 23:26:13.000000000 +0200
-+++ qca-2.0.3/src/botantools/botan/botan/secmem.h  2012-09-16 23:28:43.767480490 +0200
-@@ -214,7 +214,7 @@
- 
-       SecureVector(u32bit n = 0) { MemoryRegion<T>::init(true, n); }
-       SecureVector(const T in[], u32bit n)
--         { MemoryRegion<T>::init(true); set(in, n); }
-+         { MemoryRegion<T>::init(true); this->set(in, n); }
-       SecureVector(const MemoryRegion<T>& in)
-          { MemoryRegion<T>::init(true); set(in); }
-       SecureVector(const MemoryRegion<T>& in1, const MemoryRegion<T>& in2)
diff --git a/pkgs/development/libraries/qca2/ossl.nix b/pkgs/development/libraries/qca2/ossl.nix
deleted file mode 100644
index d2b8778aa14..00000000000
--- a/pkgs/development/libraries/qca2/ossl.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{stdenv, fetchurl, fetchgit, qt4, qca2, openssl, which}:
-
-stdenv.mkDerivation rec {
-  version = "2.0.0-beta3";
-  name = "qca-ossl-${version}";
-  src = fetchurl {
-    url = "http://delta.affinix.com/download/qca/2.0/plugins/${name}.tar.bz2";
-    sha256 = "0yy68racvx3clybry2i1bw5bz9yhxr40p3xqagxxb15ihvsrzq08";
-  };
-  # SVN version has stabilized and has a lot of fixes for fresh OpenSSL
-  # Take the main source from there
-  git_src = fetchgit {
-    url = git://anongit.kde.org/qca;
-    rev = "0a8b9db6613f2282fe492ff454412f502a6be410";
-    sha256 =  "1ebb97092f21b9152c6dda56cb33795bea4e83c82800848e800ddaaaf23a31e1";
-  };
-  buildInputs = [ qt4 qca2 openssl ];
-  nativeBuildInputs = [ which ];
-  dontAddPrefix = true;
-  configureFlags="--no-separate-debug-info --with-qca=${qca2}
-    --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib";
-  preConfigure=''
-    cp ${git_src}/plugins/qca-ossl/qca-ossl.cpp .
-
-    configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins"
-  '';
-  meta = with stdenv.lib; {
-    description = "Qt Cryptographic Architecture OpenSSL plugin";
-    license = "LGPL";
-    homepage = http://delta.affinix.com/qca;
-    maintainers = [ maintainers.urkud ];
-  };
-}
diff --git a/pkgs/development/libraries/qhull/default.nix b/pkgs/development/libraries/qhull/default.nix
index a82acd2745d..76ceb12b401 100644
--- a/pkgs/development/libraries/qhull/default.nix
+++ b/pkgs/development/libraries/qhull/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.qhull.org/;
     description = "Computes the convex hull, Delaunay triangulation, Voronoi diagram and more";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/qimageblitz/default.nix b/pkgs/development/libraries/qimageblitz/default.nix
index 1f820b33e81..dcf453fd8e1 100644
--- a/pkgs/development/libraries/qimageblitz/default.nix
+++ b/pkgs/development/libraries/qimageblitz/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Graphical effect and filter library for KDE4";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd2;
     homepage = "http://${pn}.sourceforge.net";
   };
 }
diff --git a/pkgs/development/libraries/qmltermwidget/default.nix b/pkgs/development/libraries/qmltermwidget/default.nix
new file mode 100644
index 00000000000..9c7659efcec
--- /dev/null
+++ b/pkgs/development/libraries/qmltermwidget/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, qt5 }:
+
+stdenv.mkDerivation rec {
+  version = "0.1.0";
+  name = "qmltermwidget-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/Swordfish90/qmltermwidget.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "19pz27jsdpa3pybj8sghmmd1zqgr73js1mp3875rhx158dav37nz";
+  };
+
+  buildInputs = [ qt5.base qt5.quick1 ];
+
+  patchPhase = ''
+    substituteInPlace qmltermwidget.pro \
+      --replace '$$[QT_INSTALL_QML]' "/lib/qml/"
+  '';
+
+  configurePhase = "qmake PREFIX=$out";
+
+  installPhase=''make INSTALL_ROOT="$out" install'';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "This project is a QML port of qtermwidget";
+    homepage = "https://github.com/Swordifish90/qmltermwidget";
+    licenses = with stdenv.lib.licenses; [ gpl2 ];
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ skeidel ];
+  };
+}
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
new file mode 100644
index 00000000000..63ba58f2343
--- /dev/null
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pcre, zlib, perl }:
+
+let version = "5.1.2";
+in
+stdenv.mkDerivation rec {
+  name = "qpdf-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz";
+    sha256 = "1zbvhrp0zjzbi6q2bnbxbg6399r47pq5gw3kspzph81j19fqvpg9";
+  };
+
+  nativeBuildInputs = [ perl ];
+
+  buildInputs = [ pcre zlib ];
+
+  postPatch = ''
+    patchShebangs qpdf/fix-qdf
+  '';
+
+  preCheck = ''
+    patchShebangs qtest/bin/qtest-driver
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://qpdf.sourceforge.net/; 
+    description = "A C++ library and set of programs that inspect and manipulate the structure of PDF files";
+    licenses = licenses.artistic2;
+    maintainers = maintainers.abbradar;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
new file mode 100644
index 00000000000..8c91db74f95
--- /dev/null
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, qt }:
+
+stdenv.mkDerivation rec {
+  pname = "qscintilla";
+  version = "2.8.4";
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/QScintilla2/QScintilla-${version}/QScintilla-gpl-${version}.tar.gz";
+    sha256 = "03z8mc7wpk0hyza9b45pyf523gdk0qsqaywkprmp6ffc81s2sywv";
+  };
+
+  buildInputs = [ qt ];
+
+  preConfigure = ''
+    cd Qt4Qt5
+    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
+    qmake qscintilla.pro
+  '';
+
+  # TODO PyQt Support.
+
+  meta = {
+    description = "A Qt port of the Scintilla text editing library";
+    longDescription = ''
+      QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
+      control.
+
+      As well as features found in standard text editing components,
+      QScintilla includes features especially useful when editing and
+      debugging source code. These include support for syntax styling,
+      error indicators, code completion and call tips. The selection
+      margin can contain markers like those used in debuggers to
+      indicate breakpoints and the current line. Styling choices are
+      more open than with many editors, allowing the use of
+      proportional fonts, bold and italics, multiple foreground and
+      background colours and multiple fonts.
+    '';
+    homepage = http://www.riverbankcomputing.com/software/qscintilla/intro;
+    license = stdenv.lib.licenses.gpl2; # and gpl3 and commercial
+  };
+}
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index 432b4358f7a..ffad4418815 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
       -I${randrproto}/include" else "-no-xrandr"}
     ${if xineramaSupport then "-xinerama -L${libXinerama}/lib -I${libXinerama}/include" else "-no-xinerama"}
     ${if cursorSupport then "-L${libXcursor}/lib -I${libXcursor}/include" else ""}
-    ${if mysqlSupport then "-qt-sql-mysql -L${mysql}/lib/mysql -I${mysql}/include/mysql" else ""}
+    ${if mysqlSupport then "-qt-sql-mysql -L${mysql.lib}/lib/mysql -I${mysql.lib}/include/mysql" else ""}
     ${if xftSupport then "-xft
       -L${libXft}/lib -I${libXft}/include
       -L${libXft.freetype}/lib -I${libXft.freetype}/include
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 1679b4953e7..06ff3fe66d4 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, substituteAll, libXrender, libXinerama, libXcursor, libXmu, libXv, libXext
+{ stdenv, fetchurl, fetchpatch, substituteAll
+, libXrender, libXinerama, libXcursor, libXmu, libXv, libXext
 , libXfixes, libXrandr, libSM, freetype, fontconfig, zlib, libjpeg, libpng
 , libmng, which, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
 , libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
@@ -44,7 +45,7 @@ stdenv.mkDerivation rec {
     # remove impure reference to /usr/lib/libstdc++.6.dylib
     # there might be more references, but this is the only one I could find
     substituteInPlace tools/macdeployqt/tests/tst_deployment_mac.cpp \
-      --replace /usr/lib/libstdc++.6.dylib "${stdenv.gcc}/lib/libstdc++.6.dylib"
+      --replace /usr/lib/libstdc++.6.dylib "${stdenv.cc}/lib/libstdc++.6.dylib"
   '';
 
   patches =
@@ -52,7 +53,7 @@ stdenv.mkDerivation rec {
       (substituteAll {
         src = ./dlopen-absolute-paths.diff;
         inherit cups icu libXfixes;
-        glibc = stdenv.gcc.libc;
+        glibc = stdenv.cc.libc;
         openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
       })
     ] ++ stdenv.lib.optional gtkStyle (substituteAll {
@@ -64,7 +65,13 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional flashplayerFix (substituteAll {
         src = ./dlopen-webkit-nsplugin.diff;
         inherit gtk gdk_pixbuf;
-      });
+      })
+    ++ [(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";
+        sha256 = "0bli44chn03c2y70w1n8l7ss4ya0b40jqqav8yxrykayi01yf95j";
+      })];
 
   preConfigure = ''
     export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"
@@ -78,8 +85,6 @@ stdenv.mkDerivation rec {
       -translationdir $out/share/${name}/translations
     "
   '' + optionalString stdenv.isDarwin ''
-    export CXX=clang++
-    export CC=clang
     sed -i 's/QMAKE_CC = gcc/QMAKE_CC = clang/' mkspecs/common/g++-base.conf
     sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf
   '';
@@ -116,7 +121,7 @@ stdenv.mkDerivation rec {
   # The following libraries are only used in plugins
   buildInputs =
     [ cups # Qt dlopen's libcups instead of linking to it
-      mysql postgresql sqlite libjpeg libmng libtiff icu ]
+      mysql.lib postgresql sqlite libjpeg libmng libtiff icu ]
     ++ optionals gtkStyle [ gtk gdk_pixbuf ];
 
   nativeBuildInputs = [ perl pkgconfig which ];
diff --git a/pkgs/development/libraries/qt-5/5.3/0001-dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.3/0001-dlopen-gtkstyle.patch
new file mode 100644
index 00000000000..3f411139f5b
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0001-dlopen-gtkstyle.patch
@@ -0,0 +1,63 @@
+From 35d5995a58c86a6addbf0aaf0d1be64d39182872 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:21:58 -0600
+Subject: [PATCH] dlopen-gtkstyle
+
+---
+ qtbase/src/widgets/styles/qgtk2painter.cpp |  2 +-
+ qtbase/src/widgets/styles/qgtkstyle_p.cpp  | 12 ++++++------
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/qtbase/src/widgets/styles/qgtk2painter.cpp b/qtbase/src/widgets/styles/qgtk2painter.cpp
+index 7b9bd97..075947a 100644
+--- a/qtbase/src/widgets/styles/qgtk2painter.cpp
++++ b/qtbase/src/widgets/styles/qgtk2painter.cpp
+@@ -104,7 +104,7 @@ static void initGtk()
+     static bool initialized = false;
+     if (!initialized) {
+         // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
+-        QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
++        QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
+ 
+         QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
+         QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
+diff --git a/qtbase/src/widgets/styles/qgtkstyle_p.cpp b/qtbase/src/widgets/styles/qgtkstyle_p.cpp
+index 2c64225..3343d32 100644
+--- a/qtbase/src/widgets/styles/qgtkstyle_p.cpp
++++ b/qtbase/src/widgets/styles/qgtkstyle_p.cpp
+@@ -334,7 +334,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus(GtkWidget *widget, bool focus)
+ void QGtkStylePrivate::resolveGtk() const
+ {
+     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
+-    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
++    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
+ 
+     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
+     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
+@@ -432,8 +432,8 @@ void QGtkStylePrivate::resolveGtk() const
+     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
+     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
+ 
+-    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
+-    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
++    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
++    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
+ }
+ 
+ /* \internal
+@@ -601,9 +601,9 @@ void QGtkStylePrivate::cleanupGtkWidgets()
+ static bool resolveGConf()
+ {
+     if (!QGtkStylePrivate::gconf_client_get_default) {
+-        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
+-        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
+-        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
++        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
++        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
++        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
+     }
+     return (QGtkStylePrivate::gconf_client_get_default !=0);
+ }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0002-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.3/0002-dlopen-webkit-nsplugin.patch
new file mode 100644
index 00000000000..0752cdcf479
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0002-dlopen-webkit-nsplugin.patch
@@ -0,0 +1,53 @@
+From 8c30f72dbe11752e8ed25f292c6e5695d7733f72 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:22:23 -0600
+Subject: [PATCH] dlopen-webkit-nsplugin
+
+---
+ qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp                  | 2 +-
+ qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp                     | 2 +-
+ .../WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp       | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+index 679480b..2c373cc 100644
+--- a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+@@ -132,7 +132,7 @@ static void initializeGtk(QLibrary* module = 0)
+         }
+     }
+ 
+-    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
+     if (library.load()) {
+         typedef void *(*gtk_init_check_ptr)(int*, char***);
+         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
+diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
+index de06a2f..363bde5 100644
+--- a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
+@@ -697,7 +697,7 @@ static Display *getPluginDisplay()
+     // support gdk based plugins (like flash) that use a different X connection.
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
+diff --git a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+index d734ff6..62a2197 100644
+--- a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
++++ b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+@@ -64,7 +64,7 @@ static Display* getPluginDisplay()
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+ 
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0003-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.3/0003-glib-2.32.patch
new file mode 100644
index 00000000000..4abb69da4d8
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0003-glib-2.32.patch
@@ -0,0 +1,25 @@
+From a41c3e3a3a1ce4b373b1bbb98f3a835e9e8a0718 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:22:39 -0600
+Subject: [PATCH] glib-2.32
+
+---
+ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+index 1f6d25e..087c3fb 100644
+--- a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
++++ b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+@@ -81,7 +81,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0004-dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.3/0004-dlopen-resolv.patch
new file mode 100644
index 00000000000..e6b921b771d
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0004-dlopen-resolv.patch
@@ -0,0 +1,39 @@
+From 63af41c6eeca28c911c13b1a77afeaf860863c2d Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:22:55 -0600
+Subject: [PATCH] dlopen-resolv
+
+---
+ qtbase/src/network/kernel/qdnslookup_unix.cpp | 2 +-
+ qtbase/src/network/kernel/qhostinfo_unix.cpp  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtbase/src/network/kernel/qdnslookup_unix.cpp b/qtbase/src/network/kernel/qdnslookup_unix.cpp
+index 8c5a0eb..27ebf16 100644
+--- a/qtbase/src/network/kernel/qdnslookup_unix.cpp
++++ b/qtbase/src/network/kernel/qdnslookup_unix.cpp
+@@ -87,7 +87,7 @@ static void resolveLibrary()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String("@glibc/lib/resolv"));
+         if (!lib.load())
+             return;
+     }
+diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp
+index df8c8b1..613d0e0 100644
+--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp
++++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp
+@@ -103,7 +103,7 @@ static void resolveLibrary()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
+         if (!lib.load())
+             return;
+     }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0005-dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.3/0005-dlopen-gl.patch
new file mode 100644
index 00000000000..d112427bdd6
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0005-dlopen-gl.patch
@@ -0,0 +1,25 @@
+From 6aaf6858bf817172a4c503158e1701c4837ee790 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:23:08 -0600
+Subject: [PATCH] dlopen-gl
+
+---
+ qtbase/src/plugins/platforms/xcb/qglxintegration.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
+index 67235e0..2220a2e 100644
+--- a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
++++ b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
+@@ -434,7 +434,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &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");
+             }
+         }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0006-tzdir.patch b/pkgs/development/libraries/qt-5/5.3/0006-tzdir.patch
new file mode 100644
index 00000000000..d5a74b25fb3
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0006-tzdir.patch
@@ -0,0 +1,52 @@
+From 775fd74351faaabd45f6751618b28e2b05812d05 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:23:22 -0600
+Subject: [PATCH] tzdir
+
+---
+ qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
+index b4ea91e..a56a245 100644
+--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
++++ b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
+@@ -68,7 +68,10 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
+ // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
+ static QTzTimeZoneHash loadTzTimeZones()
+ {
+-    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
++    QString path = qgetenv("TZDIR");
++    path += "/zone.tab";
++    if (!QFile::exists(path))
++        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+     if (!QFile::exists(path))
+         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
+ 
+@@ -559,12 +562,18 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
+         if (!tzif.open(QIODevice::ReadOnly))
+             return;
+     } else {
+-        // Open named tz, try modern path first, if fails try legacy path
+-        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++        // Try TZDIR first
++        QString zoneinfoDir = qgetenv("TZDIR");
++        zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId);
++        tzif.setFileName(zoneinfoDir);
+         if (!tzif.open(QIODevice::ReadOnly)) {
+-            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+-            if (!tzif.open(QIODevice::ReadOnly))
+-                return;
++            // Open named tz, try modern path first, if fails try legacy path
++            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++            if (!tzif.open(QIODevice::ReadOnly)) {
++                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++                if (!tzif.open(QIODevice::ReadOnly))
++                    return;
++            }
+         }
+     }
+ 
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0007-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.3/0007-dlopen-webkit-gtk.patch
new file mode 100644
index 00000000000..9582b714c90
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0007-dlopen-webkit-gtk.patch
@@ -0,0 +1,25 @@
+From 089db8835c80bf2b7dd91a97a5c6eb26636b6ab9 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:26:39 -0600
+Subject: [PATCH] dlopen-webkit-gtk
+
+---
+ qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+index 8de6521..0b25748 100644
+--- a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
++++ b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
+ 
+ static bool initializeGtk()
+ {
+-    QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
++    QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
+     if (!gtkLibrary.load())
+         return false;
+     typedef void* (*gtk_init_ptr)(void*, void*);
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0008-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.3/0008-dlopen-webkit-udev.patch
new file mode 100644
index 00000000000..e8a4ba6a215
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0008-dlopen-webkit-udev.patch
@@ -0,0 +1,31 @@
+From 25d2922cce383fcaa4c138e0cc6c8d92328eeacb Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:30:41 -0600
+Subject: [PATCH] dlopen-webkit-udev
+
+---
+ qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
+index 60ff317..da8ac69 100644
+--- a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
++++ b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
+@@ -111,12 +111,12 @@ private:
+     bool load()
+     {
+         m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint);
+-        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1);
++        m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1);
+         m_loaded = m_libUdev.load();
+         if (resolveMethods())
+             return true;
+ 
+-        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0);
++        m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0);
+         m_loaded = m_libUdev.load();
+         return resolveMethods();
+     }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0009-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.3/0009-dlopen-serialport-udev.patch
new file mode 100644
index 00000000000..e1e66a3ce95
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0009-dlopen-serialport-udev.patch
@@ -0,0 +1,28 @@
+From 17c7257e54c00ea2121f2cf95fb2be5e5db6b4ad Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:31:03 -0600
+Subject: [PATCH] dlopen-serialport-udev
+
+---
+ qtserialport/src/serialport/qtudev_p.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtserialport/src/serialport/qtudev_p.h b/qtserialport/src/serialport/qtudev_p.h
+index 09940ab..45460f9 100644
+--- a/qtserialport/src/serialport/qtudev_p.h
++++ b/qtserialport/src/serialport/qtudev_p.h
+@@ -119,9 +119,9 @@ inline void *resolveSymbol(QLibrary *udevLibrary, const char *symbolName)
+ inline bool resolveSymbols(QLibrary *udevLibrary)
+ {
+     if (!udevLibrary->isLoaded()) {
+-        udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
++        udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1);
+         if (!udevLibrary->load()) {
+-            udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
++            udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0);
+             if (!udevLibrary->load()) {
+                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
+                 return false;
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0010-dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.3/0010-dlopen-libXcursor.patch
new file mode 100644
index 00000000000..49ade86fae3
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0010-dlopen-libXcursor.patch
@@ -0,0 +1,29 @@
+From b56e3737ca97e3de664603976989da4419297eb3 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:33:51 -0600
+Subject: [PATCH] dlopen-libXcursor
+
+---
+ qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
+index 6dbac90..4b23fc2 100644
+--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -305,10 +305,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+ #ifdef XCB_USE_XLIB
+     static bool function_ptrs_not_initialized = true;
+     if (function_ptrs_not_initialized) {
+-        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
++        QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1);
+         bool xcursorFound = xcursorLib.load();
+         if (!xcursorFound) { // try without the version number
+-            xcursorLib.setFileName(QLatin1String("Xcursor"));
++            xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor"));
+             xcursorFound = xcursorLib.load();
+         }
+         if (xcursorFound) {
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0011-dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.3/0011-dlopen-openssl.patch
new file mode 100644
index 00000000000..d08061dd5dd
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0011-dlopen-openssl.patch
@@ -0,0 +1,38 @@
+From 99d458c93698b2d4f16ff164ed54237279ffbb64 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:35:21 -0600
+Subject: [PATCH] dlopen-openssl
+
+---
+ qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
+index 4e6200f..d9c3e7d 100644
+--- a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -585,8 +585,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
+ #endif
+ #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so
+     // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
+-    libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
+-    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
++    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
++    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
+     if (libcrypto->load() && libssl->load()) {
+         // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
+         return pair;
+@@ -597,8 +597,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
+ #endif
+ 
+     // second attempt: find the development files libssl.so and libcrypto.so
+-    libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
+-    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
++    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1);
++    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1);
+     if (libcrypto->load() && libssl->load()) {
+         // libssl.so.0 and libcrypto.so.0 found
+         return pair;
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/0012-dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.3/0012-dlopen-dbus.patch
new file mode 100644
index 00000000000..f32386e114b
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0012-dlopen-dbus.patch
@@ -0,0 +1,25 @@
+From eec8a79c6cc9e2c65fd43db48ca2347de3ae0c5e Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:38:04 -0600
+Subject: [PATCH] dlopen-dbus
+
+---
+ qtbase/src/dbus/qdbus_symbols.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtbase/src/dbus/qdbus_symbols.cpp b/qtbase/src/dbus/qdbus_symbols.cpp
+index a7a1b67..661baf1 100644
+--- a/qtbase/src/dbus/qdbus_symbols.cpp
++++ b/qtbase/src/dbus/qdbus_symbols.cpp
+@@ -93,7 +93,7 @@ bool qdbus_loadLibDBus()
+ 
+     static int majorversions[] = { 3, 2, -1 };
+     lib->unload();
+-    lib->setFileName(QLatin1String("dbus-1"));
++    lib->setFileName(QLatin1String("@dbus_libs@/lib/libdbus-1"));
+     for (uint i = 0; i < sizeof(majorversions) / sizeof(majorversions[0]); ++i) {
+         lib->setFileNameAndVersion(lib->fileName(), majorversions[i]);
+         if (lib->load() && lib->resolve("dbus_connection_open_private"))
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.3/default.nix b/pkgs/development/libraries/qt-5/5.3/default.nix
new file mode 100644
index 00000000000..d7ae685af6d
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/default.nix
@@ -0,0 +1,185 @@
+{ stdenv, fetchurl, substituteAll, libXrender, libXext
+, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
+, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
+, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
+, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
+, xcbutilkeysyms, xcbutilwm, udev, libxml2, libxslt, pcre, libxkbcommon
+, alsaLib, gstreamer, gst_plugins_base
+, pulseaudio, bison, flex, gperf, ruby, libwebp, libXcursor
+, flashplayerFix ? false
+, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
+, buildDocs ? false
+, buildExamples ? false
+, buildTests ? false
+, developerBuild ? false
+}:
+
+with stdenv.lib;
+
+let
+  v_maj = "5.3";
+  v_min = "2";
+  ver = "${v_maj}.${v_min}";
+in
+
+stdenv.mkDerivation rec {
+  name = "qt-${ver}";
+
+  src = fetchurl {
+    url = "http://download.qt-project.org/official_releases/qt/"
+      + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
+    sha256 = "0b98n2jl62dyqxwn1gdj9xmk8wrrdxnazr65fdk5qw1hmlpgvly8";
+  };
+
+  # The version property must be kept because it will be included into the QtSDK package name
+  version = ver;
+
+  prePatch = ''
+    substituteInPlace configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
+    substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
+        --replace /usr/share/X11/locale ${libX11}/share/X11/locale \
+        --replace /usr/lib/X11/locale ${libX11}/share/X11/locale
+    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
+  '';
+
+  patches =
+    optional gtkStyle
+      (substituteAll {
+        src = ./0001-dlopen-gtkstyle.patch;
+        # substituteAll ignores env vars starting with capital letter
+        gconf = GConf;
+        inherit gnome_vfs libgnomeui gtk;
+      })
+    ++ optional flashplayerFix
+      (substituteAll {
+        src = ./0002-dlopen-webkit-nsplugin.patch;
+        inherit gtk gdk_pixbuf;
+      })
+    ++ optional flashplayerFix
+      (substituteAll {
+        src = ./0007-dlopen-webkit-gtk.patch;
+        inherit gtk;
+      })
+    ++ [
+      ./0003-glib-2.32.patch
+      (substituteAll {
+        src = ./0004-dlopen-resolv.patch;
+        glibc = stdenv.cc.libc;
+      })
+      (substituteAll {
+        src = ./0005-dlopen-gl.patch;
+        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
+      })
+      ./0006-tzdir.patch
+      (substituteAll { src = ./0008-dlopen-webkit-udev.patch; inherit udev; })
+      (substituteAll { src = ./0009-dlopen-serialport-udev.patch; inherit udev; })
+      (substituteAll { src = ./0010-dlopen-libXcursor.patch; inherit libXcursor; })
+      (substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; })
+      (substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; })
+    ];
+
+  preConfigure = ''
+    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
+    export MAKEFLAGS=-j$NIX_BUILD_CORES
+  '';
+
+  prefixKey = "-prefix ";
+
+  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
+  # TODO Remove obsolete and useless flags once the build will be totally mastered
+  configureFlags = ''
+    -verbose
+    -confirm-license
+    -opensource
+
+    -release
+    -shared
+    -c++11
+    ${optionalString developerBuild "-developer-build"}
+    -largefile
+    -accessibility
+    -rpath
+    -optimized-qmake
+    -strip
+    -reduce-relocations
+    -system-proxies
+
+    -gui
+    -widgets
+    -opengl desktop
+    -qml-debug
+    -nis
+    -iconv
+    -icu
+    -pch
+    -glib
+    -xcb
+    -qpa xcb
+    -${optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -system-zlib
+    -system-libpng
+    -system-libjpeg
+    -system-xcb
+    -system-xkbcommon
+    -openssl-linked
+    -dbus-linked
+
+    -system-sqlite
+    -${if mysql != null then "plugin" else "no"}-sql-mysql
+    -${if postgresql != null then "plugin" else "no"}-sql-psql
+
+    -make libs
+    -make tools
+    -${optionalString (buildExamples == false) "no"}make examples
+    -${optionalString (buildTests == false) "no"}make tests
+  '';
+
+  propagatedBuildInputs = [
+    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
+    fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
+    zlib libjpeg libpng libtiff sqlite icu
+    libwebp alsaLib gstreamer gst_plugins_base pulseaudio
+    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
+  ]
+  # Qt doesn't directly need GLU (just GL), but many apps use, it's small and
+  # doesn't remain a runtime-dep if not used
+  ++ optionals mesaSupported [ mesa mesa_glu ]
+  ++ optional (cups != null) cups
+  ++ optional (mysql != null) mysql.lib
+  ++ optional (postgresql != null) postgresql;
+
+  buildInputs = [ gdb bison flex gperf ruby ];
+
+  nativeBuildInputs = [ python perl pkgconfig ];
+
+  # freetype-2.5.4 changed signedness of some struct fields
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
+
+  postInstall =
+    ''
+      ${optionalString buildDocs ''
+        make docs && make install_docs
+      ''}
+
+      # Don't retain build-time dependencies like gdb and ruby.
+      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
+    '';
+
+  enableParallelBuilding = true; # often fails on Hydra, as well as qt4
+
+  meta = {
+    homepage = http://qt-project.org;
+    description = "A cross-platform application framework for C++";
+    license = "GPL/LGPL";
+    maintainers = with maintainers; [ bbenoist qknight ttuegel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/qt-5/5.4/0001-dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.4/0001-dlopen-gtkstyle.patch
new file mode 100644
index 00000000000..3f411139f5b
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0001-dlopen-gtkstyle.patch
@@ -0,0 +1,63 @@
+From 35d5995a58c86a6addbf0aaf0d1be64d39182872 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:21:58 -0600
+Subject: [PATCH] dlopen-gtkstyle
+
+---
+ qtbase/src/widgets/styles/qgtk2painter.cpp |  2 +-
+ qtbase/src/widgets/styles/qgtkstyle_p.cpp  | 12 ++++++------
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/qtbase/src/widgets/styles/qgtk2painter.cpp b/qtbase/src/widgets/styles/qgtk2painter.cpp
+index 7b9bd97..075947a 100644
+--- a/qtbase/src/widgets/styles/qgtk2painter.cpp
++++ b/qtbase/src/widgets/styles/qgtk2painter.cpp
+@@ -104,7 +104,7 @@ static void initGtk()
+     static bool initialized = false;
+     if (!initialized) {
+         // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
+-        QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
++        QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
+ 
+         QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
+         QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
+diff --git a/qtbase/src/widgets/styles/qgtkstyle_p.cpp b/qtbase/src/widgets/styles/qgtkstyle_p.cpp
+index 2c64225..3343d32 100644
+--- a/qtbase/src/widgets/styles/qgtkstyle_p.cpp
++++ b/qtbase/src/widgets/styles/qgtkstyle_p.cpp
+@@ -334,7 +334,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus(GtkWidget *widget, bool focus)
+ void QGtkStylePrivate::resolveGtk() const
+ {
+     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
+-    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
++    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
+ 
+     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
+     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
+@@ -432,8 +432,8 @@ void QGtkStylePrivate::resolveGtk() const
+     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
+     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
+ 
+-    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
+-    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
++    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
++    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
+ }
+ 
+ /* \internal
+@@ -601,9 +601,9 @@ void QGtkStylePrivate::cleanupGtkWidgets()
+ static bool resolveGConf()
+ {
+     if (!QGtkStylePrivate::gconf_client_get_default) {
+-        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
+-        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
+-        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
++        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
++        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
++        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
+     }
+     return (QGtkStylePrivate::gconf_client_get_default !=0);
+ }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0002-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.4/0002-dlopen-webkit-nsplugin.patch
new file mode 100644
index 00000000000..0752cdcf479
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0002-dlopen-webkit-nsplugin.patch
@@ -0,0 +1,53 @@
+From 8c30f72dbe11752e8ed25f292c6e5695d7733f72 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:22:23 -0600
+Subject: [PATCH] dlopen-webkit-nsplugin
+
+---
+ qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp                  | 2 +-
+ qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp                     | 2 +-
+ .../WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp       | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+index 679480b..2c373cc 100644
+--- a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+@@ -132,7 +132,7 @@ static void initializeGtk(QLibrary* module = 0)
+         }
+     }
+ 
+-    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
+     if (library.load()) {
+         typedef void *(*gtk_init_check_ptr)(int*, char***);
+         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
+diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
+index de06a2f..363bde5 100644
+--- a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
+@@ -697,7 +697,7 @@ static Display *getPluginDisplay()
+     // support gdk based plugins (like flash) that use a different X connection.
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
+diff --git a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+index d734ff6..62a2197 100644
+--- a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
++++ b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+@@ -64,7 +64,7 @@ static Display* getPluginDisplay()
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+ 
+-    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
+     if (!library.load())
+         return 0;
+ 
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0003-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.4/0003-glib-2.32.patch
new file mode 100644
index 00000000000..4abb69da4d8
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0003-glib-2.32.patch
@@ -0,0 +1,25 @@
+From a41c3e3a3a1ce4b373b1bbb98f3a835e9e8a0718 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:22:39 -0600
+Subject: [PATCH] glib-2.32
+
+---
+ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+index 1f6d25e..087c3fb 100644
+--- a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
++++ b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+@@ -81,7 +81,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0004-dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.4/0004-dlopen-resolv.patch
new file mode 100644
index 00000000000..e6b921b771d
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0004-dlopen-resolv.patch
@@ -0,0 +1,39 @@
+From 63af41c6eeca28c911c13b1a77afeaf860863c2d Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:22:55 -0600
+Subject: [PATCH] dlopen-resolv
+
+---
+ qtbase/src/network/kernel/qdnslookup_unix.cpp | 2 +-
+ qtbase/src/network/kernel/qhostinfo_unix.cpp  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtbase/src/network/kernel/qdnslookup_unix.cpp b/qtbase/src/network/kernel/qdnslookup_unix.cpp
+index 8c5a0eb..27ebf16 100644
+--- a/qtbase/src/network/kernel/qdnslookup_unix.cpp
++++ b/qtbase/src/network/kernel/qdnslookup_unix.cpp
+@@ -87,7 +87,7 @@ static void resolveLibrary()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String("@glibc/lib/resolv"));
+         if (!lib.load())
+             return;
+     }
+diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp
+index df8c8b1..613d0e0 100644
+--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp
++++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp
+@@ -103,7 +103,7 @@ static void resolveLibrary()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
+         if (!lib.load())
+             return;
+     }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0005-dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.4/0005-dlopen-gl.patch
new file mode 100644
index 00000000000..d112427bdd6
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0005-dlopen-gl.patch
@@ -0,0 +1,25 @@
+From 6aaf6858bf817172a4c503158e1701c4837ee790 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:23:08 -0600
+Subject: [PATCH] dlopen-gl
+
+---
+ qtbase/src/plugins/platforms/xcb/qglxintegration.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
+index 67235e0..2220a2e 100644
+--- a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
++++ b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
+@@ -434,7 +434,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &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");
+             }
+         }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0006-tzdir.patch b/pkgs/development/libraries/qt-5/5.4/0006-tzdir.patch
new file mode 100644
index 00000000000..d5a74b25fb3
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0006-tzdir.patch
@@ -0,0 +1,52 @@
+From 775fd74351faaabd45f6751618b28e2b05812d05 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:23:22 -0600
+Subject: [PATCH] tzdir
+
+---
+ qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
+index b4ea91e..a56a245 100644
+--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
++++ b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
+@@ -68,7 +68,10 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
+ // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
+ static QTzTimeZoneHash loadTzTimeZones()
+ {
+-    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
++    QString path = qgetenv("TZDIR");
++    path += "/zone.tab";
++    if (!QFile::exists(path))
++        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+     if (!QFile::exists(path))
+         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
+ 
+@@ -559,12 +562,18 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
+         if (!tzif.open(QIODevice::ReadOnly))
+             return;
+     } else {
+-        // Open named tz, try modern path first, if fails try legacy path
+-        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++        // Try TZDIR first
++        QString zoneinfoDir = qgetenv("TZDIR");
++        zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId);
++        tzif.setFileName(zoneinfoDir);
+         if (!tzif.open(QIODevice::ReadOnly)) {
+-            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+-            if (!tzif.open(QIODevice::ReadOnly))
+-                return;
++            // Open named tz, try modern path first, if fails try legacy path
++            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++            if (!tzif.open(QIODevice::ReadOnly)) {
++                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++                if (!tzif.open(QIODevice::ReadOnly))
++                    return;
++            }
+         }
+     }
+ 
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0007-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.4/0007-dlopen-webkit-gtk.patch
new file mode 100644
index 00000000000..9582b714c90
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0007-dlopen-webkit-gtk.patch
@@ -0,0 +1,25 @@
+From 089db8835c80bf2b7dd91a97a5c6eb26636b6ab9 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:26:39 -0600
+Subject: [PATCH] dlopen-webkit-gtk
+
+---
+ qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+index 8de6521..0b25748 100644
+--- a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
++++ b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
+ 
+ static bool initializeGtk()
+ {
+-    QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
++    QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
+     if (!gtkLibrary.load())
+         return false;
+     typedef void* (*gtk_init_ptr)(void*, void*);
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0008-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.4/0008-dlopen-webkit-udev.patch
new file mode 100644
index 00000000000..e8a4ba6a215
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0008-dlopen-webkit-udev.patch
@@ -0,0 +1,31 @@
+From 25d2922cce383fcaa4c138e0cc6c8d92328eeacb Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:30:41 -0600
+Subject: [PATCH] dlopen-webkit-udev
+
+---
+ qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
+index 60ff317..da8ac69 100644
+--- a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
++++ b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp
+@@ -111,12 +111,12 @@ private:
+     bool load()
+     {
+         m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint);
+-        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1);
++        m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1);
+         m_loaded = m_libUdev.load();
+         if (resolveMethods())
+             return true;
+ 
+-        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0);
++        m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0);
+         m_loaded = m_libUdev.load();
+         return resolveMethods();
+     }
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0009-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.4/0009-dlopen-serialport-udev.patch
new file mode 100644
index 00000000000..e1e66a3ce95
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0009-dlopen-serialport-udev.patch
@@ -0,0 +1,28 @@
+From 17c7257e54c00ea2121f2cf95fb2be5e5db6b4ad Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:31:03 -0600
+Subject: [PATCH] dlopen-serialport-udev
+
+---
+ qtserialport/src/serialport/qtudev_p.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtserialport/src/serialport/qtudev_p.h b/qtserialport/src/serialport/qtudev_p.h
+index 09940ab..45460f9 100644
+--- a/qtserialport/src/serialport/qtudev_p.h
++++ b/qtserialport/src/serialport/qtudev_p.h
+@@ -119,9 +119,9 @@ inline void *resolveSymbol(QLibrary *udevLibrary, const char *symbolName)
+ inline bool resolveSymbols(QLibrary *udevLibrary)
+ {
+     if (!udevLibrary->isLoaded()) {
+-        udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
++        udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1);
+         if (!udevLibrary->load()) {
+-            udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
++            udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0);
+             if (!udevLibrary->load()) {
+                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
+                 return false;
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0010-dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.4/0010-dlopen-libXcursor.patch
new file mode 100644
index 00000000000..49ade86fae3
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0010-dlopen-libXcursor.patch
@@ -0,0 +1,29 @@
+From b56e3737ca97e3de664603976989da4419297eb3 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 1 Dec 2014 17:33:51 -0600
+Subject: [PATCH] dlopen-libXcursor
+
+---
+ qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
+index 6dbac90..4b23fc2 100644
+--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -305,10 +305,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+ #ifdef XCB_USE_XLIB
+     static bool function_ptrs_not_initialized = true;
+     if (function_ptrs_not_initialized) {
+-        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
++        QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1);
+         bool xcursorFound = xcursorLib.load();
+         if (!xcursorFound) { // try without the version number
+-            xcursorLib.setFileName(QLatin1String("Xcursor"));
++            xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor"));
+             xcursorFound = xcursorLib.load();
+         }
+         if (xcursorFound) {
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/qt-5/5.4/0011-dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.4/0011-dlopen-openssl.patch
new file mode 100644
index 00000000000..a79f0f36389
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0011-dlopen-openssl.patch
@@ -0,0 +1,26 @@
+diff --git a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
+index c1fea93..bc1c0f0 100644
+--- a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -611,8 +611,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
+ #endif
+ #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so
+     // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
+-    libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
+-    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
++    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
++    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
+     if (libcrypto->load() && libssl->load()) {
+         // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
+         return pair;
+@@ -629,8 +629,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
+     //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
+     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
+     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
+-    libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
+-    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
++    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1);
++    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1);
+     if (libcrypto->load() && libssl->load()) {
+         // libssl.so.0 and libcrypto.so.0 found
+         return pair;
diff --git a/pkgs/development/libraries/qt-5/5.4/0012-dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.4/0012-dlopen-dbus.patch
new file mode 100644
index 00000000000..77eb7bc85af
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0012-dlopen-dbus.patch
@@ -0,0 +1,13 @@
+diff --git a/qtbase/src/dbus/qdbus_symbols.cpp b/qtbase/src/dbus/qdbus_symbols.cpp
+index 6764309..33f25f9 100644
+--- a/qtbase/src/dbus/qdbus_symbols.cpp
++++ b/qtbase/src/dbus/qdbus_symbols.cpp
+@@ -88,7 +88,7 @@ bool qdbus_loadLibDBus()
+ #ifdef Q_OS_WIN
+         QLatin1String("dbus-1"),
+ #endif
+-        QLatin1String("libdbus-1")
++        QLatin1String("@dbus_libs@/lib/libdbus-1")
+     };
+ 
+     lib->unload();
diff --git a/pkgs/development/libraries/qt-5/5.4/default.nix b/pkgs/development/libraries/qt-5/5.4/default.nix
new file mode 100644
index 00000000000..fe7e024ba4b
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/default.nix
@@ -0,0 +1,354 @@
+# Maintainer's Notes:
+#
+# Minor updates:
+#  1. Edit ./manifest.sh to point to the updated URL.
+#  2. Run ./manifest.sh.
+#  3. Build and enjoy.
+#
+# Major updates:
+#  We prefer not to immediately overwrite older versions with major updates, so
+#  make a copy of this directory first. After copying, be sure to delete ./tmp
+#  if it exists. Then follow the minor update instructions. Be sure to check if
+#  any new components have been added and package them as necessary.
+
+{ autonix, fetchurl, newScope, stdenv
+
+, bison2
+, mesa_noglu
+, cups
+, gnome
+
+# options
+, developerBuild ? false
+}:
+
+with autonix;
+with stdenv.lib;
+
+let
+  manifest =
+    importManifest ./manifest.nix { mirror = "http://download.qt.io"; };
+  srcs = mapAttrs (name: manifest: manifest.src) manifest;
+
+  version = "5.4.1";
+
+  callPackage = newScope (self // { inherit qtSubmodule; });
+
+  qtSubmodule = callPackage ./qt-submodule.nix {
+    inherit srcs version;
+    inherit (stdenv) mkDerivation;
+  };
+
+  self =
+    {
+
+      activeqt = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtactiveqt";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      /* androidextras = not packaged */
+
+      base = callPackage ./qtbase.nix {
+        mesa = mesa_noglu;
+        cups = if stdenv.isLinux then cups else null;
+        # GNOME dependencies are not used unless gtkStyle == true
+        inherit (gnome) libgnomeui GConf gnome_vfs;
+        bison = bison2; # error: too few arguments to function 'int yylex(...
+        inherit developerBuild srcs version;
+      };
+
+      connectivity = callPackage
+        (
+          { qtSubmodule, base, declarative }:
+
+          qtSubmodule {
+            name = "qtconnectivity";
+            qtInputs = [ base declarative ];
+          }
+        )
+        {};
+
+      declarative = callPackage
+        (
+          { qtSubmodule, python, base, svg, xmlpatterns }:
+
+          qtSubmodule {
+            name = "qtdeclarative";
+            qtInputs = [ base svg xmlpatterns ];
+            nativeBuildInputs = [ python ];
+          }
+        )
+        {};
+
+      doc = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtdoc";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      enginio = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtenginio";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      graphicaleffects = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtgraphicaleffects";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      imageformats = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtimageformats";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      location = callPackage
+        (
+          { qtSubmodule, base, multimedia }:
+
+          qtSubmodule {
+            name = "qtlocation";
+            qtInputs = [ base multimedia ];
+          }
+        )
+        {};
+
+      /* macextras = not packaged */
+
+      multimedia = callPackage
+        (
+          { qtSubmodule, base, declarative
+          , alsaLib, gstreamer, gst_plugins_base, pulseaudio
+          }:
+
+          qtSubmodule {
+            name = "qtmultimedia";
+            qtInputs = [ base declarative ];
+            buildInputs = [
+              alsaLib gstreamer gst_plugins_base pulseaudio
+            ];
+          }
+        )
+        {};
+
+      quick1 = callPackage
+        (
+          { qtSubmodule, script, svg, webkit, xmlpatterns }:
+
+          qtSubmodule {
+            name = "qtquick1";
+            qtInputs = [ script svg webkit xmlpatterns ];
+          }
+        )
+        {};
+
+      quickcontrols = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtquickcontrols";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      script = callPackage
+        (
+          { qtSubmodule, base, tools }:
+
+          qtSubmodule {
+            name = "qtscript";
+            qtInputs = [ base tools ];
+            patchFlags = "-p2"; # patches originally for monolithic build
+            patches = [ ./0003-glib-2.32.patch ];
+          }
+        )
+        {};
+
+      sensors = callPackage
+        (
+          { qtSubmodule, base, declarative }:
+
+          qtSubmodule {
+            name = "qtsensors";
+            qtInputs = [ base declarative ];
+          }
+        )
+        {};
+
+      serialport = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtserialport";
+            qtInputs = [ base ];
+            patchFlags = "-p2"; # patches originally for monolithic build
+            patches = [ ./0009-dlopen-serialport-udev.patch ];
+          }
+        )
+        {};
+
+      svg = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtsvg";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      tools = callPackage
+        (
+          { qtSubmodule, activeqt, base, declarative, webkit }:
+
+          qtSubmodule {
+            name = "qttools";
+            qtInputs = [ activeqt base declarative webkit ];
+          }
+        )
+        {};
+
+      translations = callPackage
+        (
+          { qtSubmodule, tools }:
+
+          qtSubmodule {
+            name = "qttranslations";
+            qtInputs = [ tools ];
+          }
+        )
+        {};
+
+      /* wayland = not packaged */
+
+      /* webchannel = not packaged */
+
+      /* webengine = not packaged */
+
+      webkit = callPackage
+        (
+          { qtSubmodule, declarative, location, multimedia, sensors
+          , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
+          , sqlite, udev
+          , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby
+          , substituteAll
+          , flashplayerFix ? false
+          }:
+
+          qtSubmodule {
+            name = "qtwebkit";
+            qtInputs = [ declarative location multimedia sensors ];
+            buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite ];
+            nativeBuildInputs = [
+              bison2 flex gdb gperf perl pkgconfig python ruby
+            ];
+            patchFlags = "-p2"; # patches originally for monolithic build
+            patches =
+              optional flashplayerFix
+                (substituteAll
+                  {
+                    src = ./0002-dlopen-webkit-nsplugin.patch;
+                    inherit gtk gdk_pixbuf;
+                  }
+                )
+              ++ optional flashplayerFix
+                (substituteAll
+                  {
+                    src = ./0007-dlopen-webkit-gtk.patch;
+                    inherit gtk;
+                  }
+                )
+              ++ [
+                (substituteAll
+                  {
+                    src = ./0008-dlopen-webkit-udev.patch;
+                    inherit udev;
+                  }
+                )
+              ];
+          }
+        )
+        {};
+
+      webkit-examples = callPackage
+        (
+          { qtSubmodule, tools, webkit }:
+
+          qtSubmodule {
+            name = "qtwebkit-examples";
+            qtInputs = [ tools webkit ];
+          }
+        )
+        {};
+
+      websockets = callPackage
+        (
+          { qtSubmodule, base, declarative }:
+
+          qtSubmodule {
+            name = "qtwebsockets";
+            qtInputs = [ base declarative ];
+          }
+        )
+        {};
+
+      /* winextras = not packaged */
+
+      x11extras = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtx11extras";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      xmlpatterns = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtxmlpatterns";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+    };
+
+in self
diff --git a/pkgs/development/libraries/qt-5/5.4/manifest.nix b/pkgs/development/libraries/qt-5/5.4/manifest.nix
new file mode 100644
index 00000000000..4647c0eef88
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/manifest.nix
@@ -0,0 +1,274 @@
+# This file is generated automatically. DO NOT EDIT!
+{ stdenv, fetchurl, mirror }:
+[
+  {
+    name = stdenv.lib.nameFromURL "qtwayland-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/32jn5sn8im7andkd6m15s95n48ald7pw-qtwayland-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtwayland-opensource-src-5.4.1.tar.xz";
+      sha256 = "14npf3lclkb83s8ywla67a1129ia1mbib145s1sk5gqw1dh5wfv5";
+      name = "qtwayland-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtandroidextras-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/604ifwwrzpm96rffszyl11xjirm0w65j-qtandroidextras-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtandroidextras-opensource-src-5.4.1.tar.xz";
+      sha256 = "0s12hmn2lnlbp7y47v344lyli6wh670dwazl3kkzv9vdv52df4wp";
+      name = "qtandroidextras-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtgraphicaleffects-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/wcwaylvnlrfy6d6pc0ka7mkcam846cqb-qtgraphicaleffects-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtgraphicaleffects-opensource-src-5.4.1.tar.xz";
+      sha256 = "071mz2w25g5svknb97y6yw55sq9171qqd92n3dp4w2qg2blg1qms";
+      name = "qtgraphicaleffects-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtenginio-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/k7gayy35qqwbaf2yyr1lfydmsp6p9k3i-qtenginio-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtenginio-opensource-src-5.4.1.tar.xz";
+      sha256 = "0yjpx43qy6yc6hblcrkp6g9jv2ipg2hdd27q86y7s30q54f17nxf";
+      name = "qtenginio-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtwebengine-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/0y1p0ssxbd8wp4vyq5ad2f77inh07p1b-qtwebengine-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtwebengine-opensource-src-5.4.1.tar.xz";
+      sha256 = "1c5akxh6wxgc72md6802fbvd601n03assv6i542siwmmnp5anhij";
+      name = "qtwebengine-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtmacextras-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/0mdhndcp51g2160559kgd5a93c0c3317-qtmacextras-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtmacextras-opensource-src-5.4.1.tar.xz";
+      sha256 = "0hivjn3yfidzj4la3rlrqzjawrakxyhc886w2jcf0bjz3vzl9xp2";
+      name = "qtmacextras-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qttranslations-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/hhana1500hq2h2l8815wq8rfrp7nizpb-qttranslations-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qttranslations-opensource-src-5.4.1.tar.xz";
+      sha256 = "0hchmz7hjdjx0wn2v9sbgilvi0pigiriklw5pdvfxjabjxgh8k9w";
+      name = "qttranslations-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtwebchannel-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/qfa1hycl1lh8pm2x65frxlms3waqbsfg-qtwebchannel-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtwebchannel-opensource-src-5.4.1.tar.xz";
+      sha256 = "0ldjyyp0ym3hndd0bq5mwjry2yilf1cv9iddqb8adz46k3nbkb64";
+      name = "qtwebchannel-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtdoc-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/hif7dg37sz0yjj09844f0gyqqsf9cpxx-qtdoc-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtdoc-opensource-src-5.4.1.tar.xz";
+      sha256 = "1afg2lxyxgqhq02a58c9yshvkinlk5mw19yff1421fma6j925c8q";
+      name = "qtdoc-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtwebkit-examples-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/shz5132xvpp2hvmsyl1mhps0qanrgw43-qtwebkit-examples-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtwebkit-examples-opensource-src-5.4.1.tar.xz";
+      sha256 = "02kj4rw40s7xhdz1ixfy5fc7n5pr2ipqkpwj1kwng71l3jrpn60r";
+      name = "qtwebkit-examples-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtbase-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/nl8rm1q2sqyq5y91h6d9dbks82krykn1-qtbase-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtbase-opensource-src-5.4.1.tar.xz";
+      sha256 = "1dxigzgv6xj5lybs654y57ssfbl38dxff3s3wpvw0n89hf9sax45";
+      name = "qtbase-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qttools-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/f9cbf92nhmfkz1q2n4nidh432s5d3pls-qttools-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qttools-opensource-src-5.4.1.tar.xz";
+      sha256 = "0whzcwgzwh1m6fqb7h2gvkx9hi2ijjaz8ap36jqr8cc4ff2hzphi";
+      name = "qttools-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qt5-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/hl5gzwaq43afs2z7ga10161myzz3xrwb-qt5-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qt5-opensource-src-5.4.1.tar.xz";
+      sha256 = "01xgf3531q60vrkg1pp07q4p0ildj42zgnw63v8fnwjg7c5m59rd";
+      name = "qt5-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtquick1-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/9y9qhciiqys5sm502bbflqzrjmvxpqh6-qtquick1-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtquick1-opensource-src-5.4.1.tar.xz";
+      sha256 = "0ba3r89j75vrjgh8h3ik64x84bhgbckc4bvy1wympwgfhk3j8lzb";
+      name = "qtquick1-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtwebsockets-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/cmvv503q10qnmmbb8yxvvjlxpqqaswyb-qtwebsockets-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtwebsockets-opensource-src-5.4.1.tar.xz";
+      sha256 = "0i5bcxlwxbzq9k0kq1m90cbslby05x3j3r6js8xjarz2qnc6zxfs";
+      name = "qtwebsockets-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtsensors-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/9c4zpbngylc7cqqyai2ysglajapphxp7-qtsensors-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtsensors-opensource-src-5.4.1.tar.xz";
+      sha256 = "1y6vbvvcgph466whcc896lkyk2lx8lyyqj1qnm76f3jjywp8wjxc";
+      name = "qtsensors-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtx11extras-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/njkpa0ahd4l5307b4qmqlqiv4nw1by7z-qtx11extras-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtx11extras-opensource-src-5.4.1.tar.xz";
+      sha256 = "0blcdqccxhdqj4v5zp6m34b74nw5n6pfgldyb6wrlpljkzdir9i0";
+      name = "qtx11extras-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtmultimedia-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/q2ji7ilipdvx0p6iyrwhhfczzw1j11ws-qtmultimedia-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtmultimedia-opensource-src-5.4.1.tar.xz";
+      sha256 = "0kjk3q7y2lr8a62rdidhn783jrq1rpj11p1jmfiw8z3j255dsc1q";
+      name = "qtmultimedia-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtactiveqt-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/ikxpk38h1arms4x0qlnd7g5g3fg26fg4-qtactiveqt-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtactiveqt-opensource-src-5.4.1.tar.xz";
+      sha256 = "14984cvh9cfnrgls40i28fjdhs015izzlvwck9va4167y3ix4zbx";
+      name = "qtactiveqt-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtxmlpatterns-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/0a30a874s507fmrsd1jlggbh9j953jb9-qtxmlpatterns-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtxmlpatterns-opensource-src-5.4.1.tar.xz";
+      sha256 = "062kqs8m9js8mlld1lsm01prq57zs88g7p8fad84a5gisgs2y57m";
+      name = "qtxmlpatterns-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtscript-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/cbb46kpmk6radk9v8cyngxcxr11g06f6-qtscript-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtscript-opensource-src-5.4.1.tar.xz";
+      sha256 = "1bybzcp9smasw0syvb7vrz85jq124r7gywz2msgjg1kb6z4aqcpl";
+      name = "qtscript-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtquickcontrols-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/h5hg9z346lh2w8whf0zgq5kbwffpmnkk-qtquickcontrols-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtquickcontrols-opensource-src-5.4.1.tar.xz";
+      sha256 = "1hpvbjr76q9i2idgmblr80khhjgkn78q0s0d648r3axp232m427y";
+      name = "qtquickcontrols-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtimageformats-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/7vxgal1cag6cakigc7h3rjvvr64b7sd3-qtimageformats-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtimageformats-opensource-src-5.4.1.tar.xz";
+      sha256 = "0vw4bg68kwp48v49ds2vxvgjc82i5q5scff4013y5gpbd2smnv1z";
+      name = "qtimageformats-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtserialport-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/pgcv75a5x56s88qclqvbw04dzywcxm73-qtserialport-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtserialport-opensource-src-5.4.1.tar.xz";
+      sha256 = "1zyhlpmh7yisk9qpk8map0myam4bkm4jvp0wcnd4d7pldf19xnbr";
+      name = "qtserialport-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtwebkit-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/p8jka7s4la8f83xqnl1a4ivdw95dajb8-qtwebkit-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtwebkit-opensource-src-5.4.1.tar.xz";
+      sha256 = "1gqrf5g07q5bgr3vnfnsw5qwqd0fjyh4pgqphrvxq4x9z0g221v6";
+      name = "qtwebkit-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtconnectivity-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/ggn5pkvp89qh12vzhhk572s38vg3zn72-qtconnectivity-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtconnectivity-opensource-src-5.4.1.tar.xz";
+      sha256 = "0q13gg7fmfb7cfq403ql8s5qi6s9a4fd86i7v9r6cwgnj2szzi42";
+      name = "qtconnectivity-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtlocation-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/pnblj6ncfvz4id84asjlnrxb2papsn1v-qtlocation-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtlocation-opensource-src-5.4.1.tar.xz";
+      sha256 = "113rx43349f7yn4crhgg6ciz6lyvfvfnc0vkdaz09a2r461hr7w8";
+      name = "qtlocation-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtdeclarative-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/0bz5yxqc9yg94jyjkvsgn7h7lph99a5v-qtdeclarative-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtdeclarative-opensource-src-5.4.1.tar.xz";
+      sha256 = "05s4imk7whm2qir9byb35dn2ndqb7c5r2cnxpv2qyjla58j4w4hm";
+      name = "qtdeclarative-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtwinextras-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/xdbwakyhif8cjwyii7v32zkxlrbrksmc-qtwinextras-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtwinextras-opensource-src-5.4.1.tar.xz";
+      sha256 = "01ddgvq8wny162njlzqnbphiiw565xsqy6h3s39cipa05c6mxblv";
+      name = "qtwinextras-opensource-src-5.4.1.tar.xz";
+    };
+  }
+  {
+    name = stdenv.lib.nameFromURL "qtsvg-opensource-src-5.4.1.tar.xz" ".tar";
+    store = "/nix/store/m3wk5r1ihbrjz9zpi57nllzqzha06c8j-qtsvg-opensource-src-5.4.1.tar.xz";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.4/5.4.1/submodules/qtsvg-opensource-src-5.4.1.tar.xz";
+      sha256 = "0b71kngnq7c5ry8bkb0rjlr6xx49h1sd25m4i4s3v1rfrv6912my";
+      name = "qtsvg-opensource-src-5.4.1.tar.xz";
+    };
+  }
+]
diff --git a/pkgs/development/libraries/qt-5/5.4/manifest.sh b/pkgs/development/libraries/qt-5/5.4/manifest.sh
new file mode 100755
index 00000000000..0da13f204ba
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/manifest.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+if [ $# -eq 0 ]; then
+
+  # The extra slash at the end of the URL is necessary to stop wget
+  # from recursing over the whole server! (No, it's not a bug.)
+  $(nix-build ../../../../.. -A autonix.manifest) \
+    http://download.qt.io/official_releases/qt/5.4/5.4.1/submodules/ \
+      -A '*.tar.xz'
+
+else
+
+  $(nix-build ../../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
+
+fi
diff --git a/pkgs/development/libraries/qt-5/5.4/qt-submodule.nix b/pkgs/development/libraries/qt-5/5.4/qt-submodule.nix
new file mode 100644
index 00000000000..b242661270d
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/qt-submodule.nix
@@ -0,0 +1,60 @@
+{ stdenv, mkDerivation
+, srcs, version
+, lndir
+, base
+}:
+
+with stdenv.lib;
+
+args:
+
+mkDerivation (args // {
+
+  name = "${args.name}-${version}";
+  inherit version;
+
+  srcs = args.srcs or [srcs."${args.name}-opensource-src"];
+
+  qtSubmodule = args.qtSubmodule or true;
+  dontAddPrefix = args.dontAddPrefix or true;
+  dontFixLibtool = args.dontFixLibtool or true;
+  configureScript = args.configureScript or "qmake";
+
+  /*
+  preConfigure = ''
+    export PATH="$out/bin:$PATH"
+  '';
+  */
+
+  postInstall = ''
+    rm "$out/bin/qmake" "$out/bin/qt.conf"
+
+    cat "$out/nix-support/qt-inputs" | while read file; do
+      if [[ -h "$out/$file" ]]; then
+        rm "$out/$file"
+      fi
+    done
+
+    cat "$out/nix-support/qt-inputs" | while read file; do
+      if [[ -d "$out/$file" ]]; then
+        rmdir --ignore-fail-on-non-empty -p "$out/$file"
+      fi
+    done
+
+    rm "$out/nix-support/qt-inputs"
+  '';
+
+  propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
+
+  enableParallelBuilding =
+    args.enableParallelBuilding or true; # often fails on Hydra, as well as qt4
+
+  meta = args.meta or {
+    homepage = http://qt-project.org;
+    description = "A cross-platform application framework for C++";
+    license = "GPL/LGPL";
+    maintainers = with maintainers; [ bbenoist qknight ttuegel ];
+    platforms = platforms.linux;
+  };
+
+})
diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase.nix b/pkgs/development/libraries/qt-5/5.4/qtbase.nix
new file mode 100644
index 00000000000..bc342f605bc
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/qtbase.nix
@@ -0,0 +1,185 @@
+{ stdenv, substituteAll
+, srcs, version
+
+, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
+, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
+, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre
+, zlib, libjpeg, libpng, libtiff, sqlite, icu
+
+, coreutils, bison, flex, gdb, gperf, lndir, ruby
+, python, perl, pkgconfig
+
+# optional dependencies
+, cups ? null
+, mysql ? null, postgresql ? null
+
+# options
+, mesaSupported, mesa, mesa_glu
+, buildDocs ? false
+, buildExamples ? false
+, buildTests ? false
+, developerBuild ? false
+, gtkStyle ? false, libgnomeui, GConf, gnome_vfs, gtk
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation {
+
+  name = "qtbase-${version}";
+  inherit version;
+
+  srcs = with srcs; [ qt5-opensource-src qtbase-opensource-src ];
+  sourceRoot = "qt-everywhere-opensource-src-${version}";
+
+  postUnpack = ''
+    mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
+  '';
+
+  prePatch = ''
+    substituteInPlace configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/configure --replace /bin/pwd pwd
+    substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
+    substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
+        --replace /usr/share/X11/locale ${libX11}/share/X11/locale \
+        --replace /usr/lib/X11/locale ${libX11}/share/X11/locale
+    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
+  '';
+
+  patches =
+    optional gtkStyle
+      (substituteAll {
+        src = ./0001-dlopen-gtkstyle.patch;
+        # substituteAll ignores env vars starting with capital letter
+        gconf = GConf;
+        inherit gnome_vfs libgnomeui gtk;
+      })
+    ++ [
+      (substituteAll {
+        src = ./0004-dlopen-resolv.patch;
+        glibc = stdenv.cc.libc;
+      })
+      (substituteAll {
+        src = ./0005-dlopen-gl.patch;
+        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
+      })
+      ./0006-tzdir.patch
+      (substituteAll { src = ./0010-dlopen-libXcursor.patch; inherit libXcursor; })
+      (substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; })
+      (substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; })
+    ];
+
+  preConfigure = ''
+    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
+    export MAKEFLAGS=-j$NIX_BUILD_CORES
+
+    sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5Config.cmake.in"
+    sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5CoreMacros.cmake"
+    sed -i 's/NO_DEFAULT_PATH//' "qtbase/src/gui/Qt5GuiConfigExtras.cmake.in"
+    sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in"
+
+    export configureFlags+="-plugindir $out/lib/qt5/plugins -importdir $out/lib/qt5/imports -qmldir $out/lib/qt5/qml"
+  '';
+
+  prefixKey = "-prefix ";
+
+  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
+  # TODO Remove obsolete and useless flags once the build will be totally mastered
+  configureFlags = ''
+    -verbose
+    -confirm-license
+    -opensource
+
+    -release
+    -shared
+    -c++11
+    ${optionalString developerBuild "-developer-build"}
+    -largefile
+    -accessibility
+    -rpath
+    -optimized-qmake
+    -strip
+    -reduce-relocations
+    -system-proxies
+
+    -gui
+    -widgets
+    -opengl desktop
+    -qml-debug
+    -nis
+    -iconv
+    -icu
+    -pch
+    -glib
+    -xcb
+    -qpa xcb
+    -${optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -system-zlib
+    -system-libpng
+    -system-libjpeg
+    -system-xcb
+    -system-xkbcommon
+    -openssl-linked
+    -dbus-linked
+
+    -system-sqlite
+    -${if mysql != null then "plugin" else "no"}-sql-mysql
+    -${if postgresql != null then "plugin" else "no"}-sql-psql
+
+    -make libs
+    -make tools
+    -${optionalString (buildExamples == false) "no"}make examples
+    -${optionalString (buildTests == false) "no"}make tests
+  '';
+
+  propagatedBuildInputs = [
+    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
+    fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
+    zlib libjpeg libpng libtiff sqlite icu
+    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
+  ]
+  # Qt doesn't directly need GLU (just GL), but many apps use, it's small and
+  # doesn't remain a runtime-dep if not used
+  ++ optionals mesaSupported [ mesa mesa_glu ]
+  ++ optional (cups != null) cups
+  ++ optional (mysql != null) mysql.lib
+  ++ optional (postgresql != null) postgresql;
+
+  buildInputs = [ gdb bison flex gperf ruby ];
+
+  nativeBuildInputs = [ python perl pkgconfig ];
+
+  # freetype-2.5.4 changed signedness of some struct fields
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
+
+  postInstall =
+    ''
+      ${optionalString buildDocs ''
+        make docs && make install_docs
+      ''}
+
+      # Don't retain build-time dependencies like gdb and ruby.
+      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
+
+      mkdir -p "$out/nix-support"
+      substitute ${./setup-hook.sh} "$out/nix-support/setup-hook" \
+        --subst-var out --subst-var-by lndir "${lndir}"
+    '';
+
+  enableParallelBuilding = true; # often fails on Hydra, as well as qt4
+
+  meta = {
+    homepage = http://qt-project.org;
+    description = "A cross-platform application framework for C++";
+    license = "GPL/LGPL";
+    maintainers = with maintainers; [ bbenoist qknight ttuegel ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/libraries/qt-5/5.4/setup-hook.sh b/pkgs/development/libraries/qt-5/5.4/setup-hook.sh
new file mode 100644
index 00000000000..8ab4071becf
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/setup-hook.sh
@@ -0,0 +1,59 @@
+addQtModule() {
+    if [[ -d "$1/mkspecs" ]]; then
+
+        @lndir@/bin/lndir -silent "$1/mkspecs" "$qtOut/mkspecs"
+        if [[ -n $qtSubmodule ]]; then
+            find "$1/mkspecs" -printf 'mkspecs/%P\n' >> "$qtOut/nix-support/qt-inputs"
+        fi
+
+        if [[ -d "$1/bin" ]]; then
+            @lndir@/bin/lndir -silent "$1/bin" "$qtOut/bin"
+            if [[ -n $qtSubmodule ]]; then
+                find "$1/bin" -printf 'bin/%P\n' >> "$qtOut/nix-support/qt-inputs"
+            fi
+        fi
+
+        if [[ -d "$1/include" ]]; then
+            @lndir@/bin/lndir -silent "$1/include" "$qtOut/include"
+            if [[ -n $qtSubmodule ]]; then
+                find "$1/include" -printf 'include/%P\n' >> "$qtOut/nix-support/qt-inputs"
+            fi
+        fi
+
+        if [[ -n $qtSubmodule ]] && [[ -d "$1/lib" ]]; then
+            @lndir@/bin/lndir -silent "$1/lib" "$qtOut/lib"
+            find "$1/lib" -printf 'lib/%P\n' >> "$qtOut/nix-support/qt-inputs"
+        fi
+
+        propagatedBuildInputs+=" $1"
+    fi
+
+    if [[ -d "$1/lib/qt5/qml" ]] || [[ -d "$1/lib/qt5/plugins" ]] || [[ -d "$1/lib/qt5/imports" ]]; then
+        propagatedUserEnvPkgs+=" $1"
+    fi
+}
+
+setQMakePath() {
+    export PATH="$qtOut/bin${PATH:+:}$PATH"
+}
+
+qtOut=""
+if [[ -z $qtSubmodule ]]; then
+    qtOut="$PWD/qmake-$name"
+else
+    qtOut=$out
+fi
+
+mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib"
+
+cp "@out@/bin/qmake" "$qtOut/bin"
+cat >"$qtOut/bin/qt.conf" <<EOF
+[Paths]
+Prefix = $qtOut
+Plugins = $qtOut/lib/qt5/plugins
+Imports = $qtOut/lib/qt5/imports
+Qml2Imports = $qtOut/lib/qt5/qml
+EOF
+
+envHooks+=(addQtModule)
+preConfigurePhases+=" setQMakePath"
diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix
deleted file mode 100644
index fe290fd69fc..00000000000
--- a/pkgs/development/libraries/qt-5/default.nix
+++ /dev/null
@@ -1,166 +0,0 @@
-{ stdenv, fetchurl, substituteAll, libXrender, libXext
-, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
-, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
-, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
-, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
-, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
-, alsaLib, gstreamer, gst_plugins_base
-, pulseaudio, bison, flex, gperf, ruby, libwebp
-, flashplayerFix ? false
-, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
-, buildDocs ? false
-, buildExamples ? false
-, buildTests ? false
-, developerBuild ? false
-}:
-
-with stdenv.lib;
-
-let
-  v_maj = "5.2";
-  v_min = "1";
-  ver = "${v_maj}.${v_min}";
-in
-
-stdenv.mkDerivation rec {
-  name = "qt-${ver}";
-
-  src = fetchurl {
-    url = "http://download.qt-project.org/official_releases/qt/"
-      + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
-    sha256 = "18bxrnyis7xbhpxpf7w42i54hs4qr062b1wx4c0dpmja3lc29sc4";
-  };
-
-  # The version property must be kept because it will be included into the QtSDK package name
-  version = ver;
-
-  prePatch = ''
-    substituteInPlace configure --replace /bin/pwd pwd
-    substituteInPlace qtbase/configure --replace /bin/pwd pwd
-    substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-    substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
-        --replace /usr/share/X11/locale ${libX11}/share/X11/locale \
-        --replace /usr/lib/X11/locale ${libX11}/share/X11/locale
-    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
-  '';
-
-  patches =
-    [ ./glib-2.32.patch
-      (substituteAll {
-        src = ./qt-5.2-dlopen-absolute-paths.patch;
-        inherit cups icu libXfixes;
-        glibc = stdenv.gcc.libc;
-        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
-      })
-    ] ++ optional gtkStyle (substituteAll {
-        src = ./dlopen-gtkstyle.patch;
-        # substituteAll ignores env vars starting with capital letter
-        gconf = GConf;
-        inherit gnome_vfs libgnomeui gtk;
-      })
-    ++ optional flashplayerFix (substituteAll {
-        src = ./dlopen-webkit-nsplugin.patch;
-        inherit gtk gdk_pixbuf;
-      });
-
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-  '';
-
-  prefixKey = "-prefix ";
-
-  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
-  # TODO Remove obsolete and useless flags once the build will be totally mastered
-  configureFlags = ''
-    -verbose
-    -confirm-license
-    -opensource
-
-    -release
-    -shared
-    -c++11
-    ${optionalString developerBuild "-developer-build"}
-    -largefile
-    -accessibility
-    -rpath
-    -optimized-qmake
-    -strip
-    -reduce-relocations
-    -system-proxies
-
-    -gui
-    -widgets
-    -opengl desktop
-    -javascript-jit
-    -qml-debug
-    -nis
-    -iconv
-    -icu
-    -pch
-    -glib
-    -xcb
-    -qpa xcb
-    -${optionalString (cups == null) "no-"}cups
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
-
-    -system-zlib
-    -system-libpng
-    -system-libjpeg
-    -system-xcb
-    -system-xkbcommon
-    -openssl-linked
-    -dbus-linked
-
-    -system-sqlite
-    -${if mysql != null then "plugin" else "no"}-sql-mysql
-    -${if postgresql != null then "plugin" else "no"}-sql-psql
-
-    -make libs
-    -make tools
-    -${optionalString (buildExamples == false) "no"}make examples
-    -${optionalString (buildTests == false) "no"}make tests
-  '';
-
-  propagatedBuildInputs = [
-    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
-    fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
-    zlib libjpeg libpng libtiff sqlite icu
-    libwebp alsaLib gstreamer gst_plugins_base pulseaudio
-    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
-  ]
-  # Qt doesn't directly need GLU (just GL), but many apps use, it's small and
-  # doesn't remain a runtime-dep if not used
-  ++ optionals mesaSupported [ mesa mesa_glu ]
-  ++ optional (cups != null) cups
-  ++ optional (mysql != null) mysql
-  ++ optional (postgresql != null) postgresql;
-
-  buildInputs = [ gdb bison flex gperf ruby ];
-
-  nativeBuildInputs = [ python perl pkgconfig ];
-
-  postInstall =
-    ''
-      ${optionalString buildDocs ''
-        make docs && make install_docs
-      ''}
-
-      # Don't retain build-time dependencies like gdb and ruby.
-      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
-    '';
-
-  enableParallelBuilding = true; # often fails on Hydra, as well as qt4
-
-  meta = {
-    homepage = http://qt-project.org;
-    description = "A cross-platform application framework for C++";
-    license = "GPL/LGPL";
-    maintainers = [ maintainers.bbenoist ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch
deleted file mode 100644
index 05ff30b7ac3..00000000000
--- a/pkgs/development/libraries/qt-5/dlopen-gtkstyle.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp	2013-08-25 20:03:30.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp	2013-09-25 17:58:04.229373681 +0200
-@@ -348,7 +348,7 @@
- void QGtkStylePrivate::resolveGtk() const
- {
-     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
-@@ -461,8 +461,8 @@
-     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
-     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
- 
--    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
--    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
-+    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
-+    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
- }
- 
- /* \internal
-@@ -630,9 +630,9 @@
- static bool resolveGConf()
- {
-     if (!QGtkStylePrivate::gconf_client_get_default) {
--        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
--        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
--        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
-+        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
-+        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
-+        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
-     }
-     return (QGtkStylePrivate::gconf_client_get_default !=0);
- }
diff --git a/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch
deleted file mode 100644
index 7cd90551454..00000000000
--- a/pkgs/development/libraries/qt-5/dlopen-webkit-nsplugin.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-08-25 20:04:47.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp	2013-09-25 17:59:45.925363807 +0200
-@@ -132,7 +132,7 @@
-         }
-     }
- 
--    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp	2013-08-25 20:04:47.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp	2013-09-25 18:00:29.551215155 +0200
-@@ -702,7 +702,7 @@
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2013-08-25 20:04:42.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp	2013-09-25 18:04:54.955408293 +0200
-@@ -64,7 +64,7 @@
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
diff --git a/pkgs/development/libraries/qt-5/glib-2.32.patch b/pkgs/development/libraries/qt-5/glib-2.32.patch
deleted file mode 100644
index eb71e79d147..00000000000
--- a/pkgs/development/libraries/qt-5/glib-2.32.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
---- qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2013-08-25 20:04:35.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2013-09-25 18:09:22.154639482 +0200
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch b/pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch
deleted file mode 100644
index 3163e235d02..00000000000
--- a/pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-08-25 20:03:35.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-09-25 17:43:14.047015411 +0200
-@@ -103,7 +103,7 @@
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
-         if (!lib.load())
-             return;
-     }
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-08-25 20:03:35.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-09-25 17:51:29.834674976 +0200
-@@ -379,7 +379,7 @@
-             {
-                 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 -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp	2013-08-25 20:03:36.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp	2013-09-25 17:40:35.895942599 +0200
-@@ -91,7 +91,7 @@
- 
- static void resolveCups()
- {
--    QLibrary cupsLib(QLatin1String("cups"), 2);
-+    QLibrary cupsLib(QLatin1String("@cups@/lib/libcups"), 2);
-     if(cupsLib.load()) {
-         _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
-         _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
diff --git a/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch b/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch
deleted file mode 100644
index 66cf342c107..00000000000
--- a/pkgs/development/libraries/qt-5/qt-5.3-dlopen-absolute-paths.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-08-25 20:03:35.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp	2013-09-25 17:43:14.047015411 +0200
-@@ -103,7 +103,7 @@
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
-         if (!lib.load())
-             return;
-     }
-diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
---- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-08-25 20:03:35.000000000 +0200
-+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp	2013-09-25 17:51:29.834674976 +0200
-@@ -379,7 +379,7 @@
-             {
-                 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/pkgs/development/libraries/qt-5/qt-5.3.nix b/pkgs/development/libraries/qt-5/qt-5.3.nix
deleted file mode 100644
index 18b464c6f24..00000000000
--- a/pkgs/development/libraries/qt-5/qt-5.3.nix
+++ /dev/null
@@ -1,165 +0,0 @@
-{ stdenv, fetchurl, substituteAll, libXrender, libXext
-, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
-, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
-, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
-, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
-, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
-, alsaLib, gstreamer, gst_plugins_base
-, pulseaudio, bison, flex, gperf, ruby, libwebp
-, flashplayerFix ? false
-, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
-, buildDocs ? false
-, buildExamples ? false
-, buildTests ? false
-, developerBuild ? false
-}:
-
-with stdenv.lib;
-
-let
-  v_maj = "5.3";
-  v_min = "1";
-  ver = "${v_maj}.${v_min}";
-in
-
-stdenv.mkDerivation rec {
-  name = "qt-${ver}";
-
-  src = fetchurl {
-    url = "http://download.qt-project.org/official_releases/qt/"
-      + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
-    sha256 = "189mgfqxjg0jp0vkfrj55p9brl018wzf7lir8yjr0pajp8jqd2ds";
-  };
-
-  # The version property must be kept because it will be included into the QtSDK package name
-  version = ver;
-
-  prePatch = ''
-    substituteInPlace configure --replace /bin/pwd pwd
-    substituteInPlace qtbase/configure --replace /bin/pwd pwd
-    substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-    substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
-        --replace /usr/share/X11/locale ${libX11}/share/X11/locale \
-        --replace /usr/lib/X11/locale ${libX11}/share/X11/locale
-    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
-  '';
-
-  patches =
-    [ ./glib-2.32.patch
-      (substituteAll {
-        src = ./qt-5.3-dlopen-absolute-paths.patch;
-        inherit cups icu libXfixes;
-        glibc = stdenv.gcc.libc;
-        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
-      })
-    ] ++ optional gtkStyle (substituteAll {
-        src = ./dlopen-gtkstyle.patch;
-        # substituteAll ignores env vars starting with capital letter
-        gconf = GConf;
-        inherit gnome_vfs libgnomeui gtk;
-      })
-    ++ optional flashplayerFix (substituteAll {
-        src = ./dlopen-webkit-nsplugin.patch;
-        inherit gtk gdk_pixbuf;
-      });
-
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-  '';
-
-  prefixKey = "-prefix ";
-
-  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
-  # TODO Remove obsolete and useless flags once the build will be totally mastered
-  configureFlags = ''
-    -verbose
-    -confirm-license
-    -opensource
-
-    -release
-    -shared
-    -c++11
-    ${optionalString developerBuild "-developer-build"}
-    -largefile
-    -accessibility
-    -rpath
-    -optimized-qmake
-    -strip
-    -reduce-relocations
-    -system-proxies
-
-    -gui
-    -widgets
-    -opengl desktop
-    -qml-debug
-    -nis
-    -iconv
-    -icu
-    -pch
-    -glib
-    -xcb
-    -qpa xcb
-    -${optionalString (cups == null) "no-"}cups
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
-
-    -system-zlib
-    -system-libpng
-    -system-libjpeg
-    -system-xcb
-    -system-xkbcommon
-    -openssl-linked
-    -dbus-linked
-
-    -system-sqlite
-    -${if mysql != null then "plugin" else "no"}-sql-mysql
-    -${if postgresql != null then "plugin" else "no"}-sql-psql
-
-    -make libs
-    -make tools
-    -${optionalString (buildExamples == false) "no"}make examples
-    -${optionalString (buildTests == false) "no"}make tests
-  '';
-
-  propagatedBuildInputs = [
-    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
-    fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
-    zlib libjpeg libpng libtiff sqlite icu
-    libwebp alsaLib gstreamer gst_plugins_base pulseaudio
-    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
-  ]
-  # Qt doesn't directly need GLU (just GL), but many apps use, it's small and
-  # doesn't remain a runtime-dep if not used
-  ++ optionals mesaSupported [ mesa mesa_glu ]
-  ++ optional (cups != null) cups
-  ++ optional (mysql != null) mysql
-  ++ optional (postgresql != null) postgresql;
-
-  buildInputs = [ gdb bison flex gperf ruby ];
-
-  nativeBuildInputs = [ python perl pkgconfig ];
-
-  postInstall =
-    ''
-      ${optionalString buildDocs ''
-        make docs && make install_docs
-      ''}
-
-      # Don't retain build-time dependencies like gdb and ruby.
-      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
-    '';
-
-  enableParallelBuilding = true; # often fails on Hydra, as well as qt4
-
-  meta = {
-    homepage = http://qt-project.org;
-    description = "A cross-platform application framework for C++";
-    license = "GPL/LGPL";
-    maintainers = [ maintainers.bbenoist maintainers.qknight ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
new file mode 100644
index 00000000000..6ab29fa9ac5
--- /dev/null
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "qtkeychain-${version}";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "frankosterfeld";
+    repo = "qtkeychain";
+    rev = "v${version}";
+    sha256 = "10msaylisbwmgpwd59vr4dfgml75kji8mlfwnwq8yp29jikj5amq";
+  };
+
+  cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=$out/share/qt/translations" ];
+
+  buildInputs = [ cmake qt4 ];
+
+  meta = {
+    description = "Platform-independent Qt API for storing passwords securely";
+    homepage = "https://github.com/frankosterfeld/qtkeychain";
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix
new file mode 100644
index 00000000000..9364b94e355
--- /dev/null
+++ b/pkgs/development/libraries/quazip/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, stdenv, zip, zlib, qt }:
+
+stdenv.mkDerivation rec {
+  name = "quazip-0.7.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/quazip/${name}.tar.gz";
+    sha256 = "1pijy6zn8kdx9m6wrckid24vkgp250hklbpmgrpixiam6l889jbq";
+  };
+
+  configurePhase = "cd quazip && qmake quazip.pro";
+
+  installFlags = "INSTALL_ROOT=$(out)";
+
+  buildInputs = [ zlib qt.base ];
+
+  meta = {
+    description = "Provides access to ZIP archives from Qt programs";
+    license = stdenv.lib.licenses.gpl2Plus;
+    homepage = http://quazip.sourceforge.net/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix
index c1386277526..3660ff88981 100644
--- a/pkgs/development/libraries/qwt/6.nix
+++ b/pkgs/development/libraries/qwt/6.nix
@@ -20,8 +20,9 @@ stdenv.mkDerivation rec {
     description = "Qt widgets for technical applications";
     homepage = http://qwt.sourceforge.net/;
     # LGPL 2.1 plus a few exceptions (more liberal)
-    license = "Qwt License, Version 1.0";
+    license = stdenv.lib.licenses.qwt;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    branch = "6";
   };
 }
diff --git a/pkgs/development/libraries/qwt/default.nix b/pkgs/development/libraries/qwt/default.nix
index fe73e0beabd..4aa7c0bc7d5 100644
--- a/pkgs/development/libraries/qwt/default.nix
+++ b/pkgs/development/libraries/qwt/default.nix
@@ -1,20 +1,19 @@
 { stdenv, fetchurl, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-5.2.1";
+  name = "qwt-5.2.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/qwt/${name}.tar.bz2";
-    sha256 = "17snmh8qwsgb4j2yiyzmi0s1jli14vby5wv1kv4kvjq4aisvpf72";
+    sha256 = "1dqa096mm6n3bidfq2b67nmdsvsw4ndzzd1qhl6hn8skcwqazzip";
   };
 
   propagatedBuildInputs = [ qt4 ];
 
-  patches = [ ./prefix.diff ];
-
   postPatch = ''
     sed -e "s@\$\$\[QT_INSTALL_PLUGINS\]@$out/lib/qt4/plugins@" -i designer/designer.pro
-    '';
+    sed -e "s|INSTALLBASE.*=.*|INSTALLBASE = $out|g" -i qwtconfig.pri
+  '';
 
   configurePhase = ''qmake INSTALLBASE=$out -after doc.path=$out/share/doc/${name} -r'';
 
@@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "Qt widgets for technical applications";
     homepage = http://qwt.sourceforge.net/;
     # LGPL 2.1 plus a few exceptions (more liberal)
-    license = "Qwt License, Version 1.0";
+    license = stdenv.lib.licenses.qwt;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/development/libraries/qwt/prefix.diff b/pkgs/development/libraries/qwt/prefix.diff
deleted file mode 100644
index a97efe5ab4a..00000000000
--- a/pkgs/development/libraries/qwt/prefix.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/qwtconfig.pri b/qwtconfig.pri
-index 2be4a68..8625686 100644
---- a/qwtconfig.pri
-+++ b/qwtconfig.pri
-@@ -7,12 +7,14 @@ VER_MIN      = 2
- VER_PAT      = 1
- VERSION      = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
- 
--unix {
--    INSTALLBASE    = /usr/local/qwt-5.2.1
--}
-+isEmpty(INSTALLBASE) {
-+    unix {
-+        INSTALLBASE    = /usr/local/qwt-5.2.1
-+    }
- 
--win32 {
--    INSTALLBASE    = C:/Qwt-5.2.1
-+    win32 {
-+        INSTALLBASE    = C:/Qwt-5.2.1
-+    }
- }
- 
- target.path    = $$INSTALLBASE/lib
diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix
index 84a7a9b4ccf..b9962c2a2d7 100644
--- a/pkgs/development/libraries/rabbitmq-c/default.nix
+++ b/pkgs/development/libraries/rabbitmq-c/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchurl, cmake, openssl, popt, xmlto }:
+{ stdenv, fetchFromGitHub, cmake, openssl, popt, xmlto }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.1";
   name = "rabbitmq-c-${version}";
+  version = "0.6.0";
 
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/alanxz/rabbitmq-c/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "01m4n043hzhhxky8z67zj3r4gbg3mwcqbwqr9nms9lqbfaa70x93";
+  src = fetchFromGitHub {
+    owner = "alanxz";
+    repo = "rabbitmq-c";
+    rev = "v${version}";
+    sha256 = "00264mvwwcibd36w9a3s3cv2x7pvz88al64q2maaw1kbd9mg1ky5";
   };
 
   buildInputs = [ cmake openssl popt xmlto ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "RabbitMQ C AMQP client library";
     homepage = https://github.com/alanxz/rabbitmq-c;
-    license = with stdenv.lib.licenses; mit;
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
new file mode 100644
index 00000000000..0ab4f21f2d8
--- /dev/null
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, zlib, perl }:
+
+stdenv.mkDerivation rec {
+  name = "rdkafka-${version}";
+  version = "0.8.6";
+
+  src = fetchFromGitHub {
+    owner = "edenhill";
+    repo = "librdkafka";
+    rev = version;
+    sha256 = "0iklvslz35dd0lz26ffrbfb20qirl9v5kcdmlcnnzc034hr2zmnv";
+  };
+
+  buildInputs = [ zlib perl ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  meta = with stdenv.lib; {
+    description = "librdkafka - Apache Kafka C/C++ client library";
+    homepage = "https://github.com/edenhill/librdkafka";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ boothead wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/readline/5.x.nix b/pkgs/development/libraries/readline/5.x.nix
new file mode 100644
index 00000000000..13916040fba
--- /dev/null
+++ b/pkgs/development/libraries/readline/5.x.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation {
+  name = "readline-5.2";
+
+  src = fetchurl {
+    url = mirror://gnu/readline/readline-5.2.tar.gz;
+    sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j";
+  };
+
+  propagatedBuildInputs = [ncurses];
+
+  patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch;
+  meta = {
+    branch = "5";
+  };
+}
diff --git a/pkgs/development/libraries/readline/6.2.nix b/pkgs/development/libraries/readline/6.2.nix
new file mode 100644
index 00000000000..fd8a0764f49
--- /dev/null
+++ b/pkgs/development/libraries/readline/6.2.nix
@@ -0,0 +1,61 @@
+{ fetchurl, stdenv, ncurses }:
+
+stdenv.mkDerivation (rec {
+  name = "readline-6.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/readline/${name}.tar.gz";
+    sha256 = "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr";
+  };
+
+  propagatedBuildInputs = [ncurses];
+
+  patchFlags = "-p0";
+  patches =
+    [ ./link-against-ncurses.patch
+      ./no-arch_only.patch
+      ./clang.patch
+    ]
+    ++
+    (let
+       patch = nr: sha256:
+         fetchurl {
+           url = "mirror://gnu/readline/${name}-patches/readline62-${nr}";
+           inherit sha256;
+         };
+     in
+       import ./readline-6.2-patches.nix patch);
+
+  meta = {
+    description = "Library for interactive line editing";
+
+    longDescription = ''
+      The GNU Readline library provides a set of functions for use by
+      applications that allow users to edit command lines as they are
+      typed in.  Both Emacs and vi editing modes are available.  The
+      Readline library includes additional functions to maintain a
+      list of previously-entered command lines, to recall and perhaps
+      reedit those lines, and perform csh-like history expansion on
+      previous commands.
+
+      The history facilities are also placed into a separate library,
+      the History library, as part of the build process.  The History
+      library may be used without Readline in applications which
+      desire its capabilities.
+    '';
+
+    homepage = http://savannah.gnu.org/projects/readline/;
+
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    maintainers = [ ];
+    branch = "6.2";
+  };
+}
+
+//
+
+# Don't run the native `strip' when cross-compiling.
+(if (stdenv ? cross)
+ then { dontStrip = true; }
+ else { }))
diff --git a/pkgs/development/libraries/readline/6.3.nix b/pkgs/development/libraries/readline/6.3.nix
new file mode 100644
index 00000000000..93e24ed0c03
--- /dev/null
+++ b/pkgs/development/libraries/readline/6.3.nix
@@ -0,0 +1,59 @@
+{ fetchurl, stdenv, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "readline-6.3p08";
+
+  src = fetchurl {
+    url = "mirror://gnu/readline/readline-6.3.tar.gz";
+    sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn";
+  };
+
+  propagatedBuildInputs = [ncurses];
+
+  patchFlags = "-p0";
+
+  patches =
+    [ ./link-against-ncurses.patch
+      ./no-arch_only-6.3.patch
+    ]
+    ++
+    (let
+       patch = nr: sha256:
+         fetchurl {
+           url = "mirror://gnu/readline/readline-6.3-patches/readline63-${nr}";
+           inherit sha256;
+         };
+     in
+       import ./readline-6.3-patches.nix patch);
+
+  # Don't run the native `strip' when cross-compiling.
+  dontStrip = stdenv ? cross;
+
+  meta = with stdenv.lib; {
+    description = "Library for interactive line editing";
+
+    longDescription = ''
+      The GNU Readline library provides a set of functions for use by
+      applications that allow users to edit command lines as they are
+      typed in.  Both Emacs and vi editing modes are available.  The
+      Readline library includes additional functions to maintain a
+      list of previously-entered command lines, to recall and perhaps
+      reedit those lines, and perform csh-like history expansion on
+      previous commands.
+
+      The history facilities are also placed into a separate library,
+      the History library, as part of the build process.  The History
+      library may be used without Readline in applications which
+      desire its capabilities.
+    '';
+
+    homepage = http://savannah.gnu.org/projects/readline/;
+
+    license = licenses.gpl3Plus;
+
+    maintainers = [ ];
+
+    platforms = platforms.unix;
+    branch = "6.3";
+  };
+}
diff --git a/pkgs/development/libraries/readline/clang.patch b/pkgs/development/libraries/readline/clang.patch
new file mode 100644
index 00000000000..42bb0be09c3
--- /dev/null
+++ b/pkgs/development/libraries/readline/clang.patch
@@ -0,0 +1,13 @@
+diff --git a/support/shobj-conf b/support/shobj-conf
+index 5a63e80..4b2a741 100644
+--- support/shobj-conf
++++ support/shobj-conf
+@@ -189,7 +189,7 @@ darwin*|macosx*)
+ 	darwin[789]*|darwin10*)	SHOBJ_LDFLAGS=''
+ 			SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ 			;;
+-	*)		SHOBJ_LDFLAGS='-dynamic'
++	*)		SHOBJ_LDFLAGS='-dynamiclib'
+ 			SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ 			;;
+ 	esac
diff --git a/pkgs/development/libraries/readline/readline-6.3-patches.nix b/pkgs/development/libraries/readline/readline-6.3-patches.nix
new file mode 100644
index 00000000000..d0aaaf38f70
--- /dev/null
+++ b/pkgs/development/libraries/readline/readline-6.3-patches.nix
@@ -0,0 +1,12 @@
+# Automatically generated by `update-patch-set.sh'; do not edit.
+
+patch: [
+(patch "001" "0vqlj22mkbn3x42qx2iqir7capx462dhagbzdw6hwxgfxavbny8s")
+(patch "002" "19g0l6vlfcqzwfwjj1slkmxzndjp4543hwrf26g8z216lp3h9qrr")
+(patch "003" "0bx53k876w8vwf4h2s6brr1i46ym87gi71bh8zl89n0gn3cbshgc")
+(patch "004" "1k2m8dg1awmjhmivdbx1c25866gfbpg0fy4845n8cw15zc3bjis5")
+(patch "005" "0jr7c28bzn882as5i54l53bhi723s1nkvzmwlh3rj6ld4bwqhxw7")
+(patch "006" "0mp5zgx50792gigkmjap3d0zpdv5qanii8djab7j6z69qsrpl8sw")
+(patch "007" "1sjv9w0mglh395i6hlq3ck7wdxvi2wyddlyb2j0jwg7cmnibayad")
+(patch "008" "11rpqhsxd132gc8455v51ma3a5zshznb0mh2p0zc5skcab7r7h1v")
+]
diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/readline6.3.nix
deleted file mode 100644
index 04db1ffd446..00000000000
--- a/pkgs/development/libraries/readline/readline6.3.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ fetchzip, stdenv, ncurses }:
-
-stdenv.mkDerivation (rec {
-  name = "readline-6.3p08";
-
-  src = fetchzip {
-    #url = "mirror://gnu/readline/${name}.tar.gz";
-    url = "http://git.savannah.gnu.org/cgit/readline.git/snapshot/"
-      + "readline-a73b98f779b388a5d0624e02e8bb187246e3e396.tar.gz";
-    sha256 = "19ji3wrv4fs79fd0nkacjy9q94pvy2cm66yb3aqysahg0cbrz5l1";
-  };
-
-  propagatedBuildInputs = [ncurses];
-
-  patchFlags = "-p0";
-
-  patches =
-    [ ./link-against-ncurses.patch
-      ./no-arch_only-6.3.patch
-    ];
-
-  meta = with stdenv.lib; {
-    description = "Library for interactive line editing";
-
-    longDescription = ''
-      The GNU Readline library provides a set of functions for use by
-      applications that allow users to edit command lines as they are
-      typed in.  Both Emacs and vi editing modes are available.  The
-      Readline library includes additional functions to maintain a
-      list of previously-entered command lines, to recall and perhaps
-      reedit those lines, and perform csh-like history expansion on
-      previous commands.
-
-      The history facilites are also placed into a separate library,
-      the History library, as part of the build process.  The History
-      library may be used without Readline in applications which
-      desire its capabilities.
-    '';
-
-    homepage = http://savannah.gnu.org/projects/readline/;
-
-    license = licenses.gpl3Plus;
-
-    maintainers = [ maintainers.ludo ];
-
-    platforms = platforms.unix;
-  };
-}
-
-//
-
-# Don't run the native `strip' when cross-compiling.
-(if (stdenv ? cross)
- then { dontStrip = true; }
- else { }))
diff --git a/pkgs/development/libraries/readline/readline6.nix b/pkgs/development/libraries/readline/readline6.nix
deleted file mode 100644
index d72d6566bbc..00000000000
--- a/pkgs/development/libraries/readline/readline6.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ fetchurl, stdenv, ncurses }:
-
-stdenv.mkDerivation (rec {
-  name = "readline-6.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/readline/${name}.tar.gz";
-    sha256 = "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr";
-  };
-
-  propagatedBuildInputs = [ncurses];
-
-  patchFlags = "-p0";
-  patches =
-    [ ./link-against-ncurses.patch
-      ./no-arch_only.patch
-    ]
-    ++
-    (let
-       patch = nr: sha256:
-         fetchurl {
-           url = "mirror://gnu/readline/${name}-patches/readline62-${nr}";
-           inherit sha256;
-         };
-     in
-       import ./readline-6.2-patches.nix patch);
-
-  meta = {
-    description = "Library for interactive line editing";
-
-    longDescription = ''
-      The GNU Readline library provides a set of functions for use by
-      applications that allow users to edit command lines as they are
-      typed in.  Both Emacs and vi editing modes are available.  The
-      Readline library includes additional functions to maintain a
-      list of previously-entered command lines, to recall and perhaps
-      reedit those lines, and perform csh-like history expansion on
-      previous commands.
-
-      The history facilites are also placed into a separate library,
-      the History library, as part of the build process.  The History
-      library may be used without Readline in applications which
-      desire its capabilities.
-    '';
-
-    homepage = http://savannah.gnu.org/projects/readline/;
-
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-  };
-}
-
-//
-
-# Don't run the native `strip' when cross-compiling.
-(if (stdenv ? cross)
- then { dontStrip = true; }
- else { }))
diff --git a/pkgs/development/libraries/readline/shobj-darwin.patch b/pkgs/development/libraries/readline/shobj-darwin.patch
new file mode 100644
index 00000000000..a9199ca3e89
--- /dev/null
+++ b/pkgs/development/libraries/readline/shobj-darwin.patch
@@ -0,0 +1,11 @@
+--- a/support/shobj-conf.orig	2006-04-11 06:15:43.000000000 -0700
++++ b/support/shobj-conf	2007-11-08 01:15:43.000000000 -0800
+@@ -171,7 +171,7 @@
+ 	SHLIB_LIBSUFF='dylib'
+ 
+ 	case "${host_os}" in
+-	darwin[78]*)	SHOBJ_LDFLAGS=''
++	darwin[789]*)	SHOBJ_LDFLAGS=''
+ 			SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
+ 			;;
+ 	*)		SHOBJ_LDFLAGS='-dynamic'
diff --git a/pkgs/development/libraries/readosm/default.nix b/pkgs/development/libraries/readosm/default.nix
new file mode 100644
index 00000000000..3ca7cab6c38
--- /dev/null
+++ b/pkgs/development/libraries/readosm/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, expat, zlib, geos, libspatialite }:
+
+stdenv.mkDerivation rec {
+  name = "readosm-1.0.0b";
+
+  src = fetchurl {
+    url = "http://www.gaia-gis.it/gaia-sins/readosm-sources/${name}.tar.gz";
+    sha256 = "042pv31smc7l6y111rvp0hza5sw86wa8ldg2jyq78xgwzcbhszpd";
+  };
+
+  buildInputs = [ expat zlib geos libspatialite ];
+
+  configureFlags = "--disable-freexl";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "An open source library to extract valid data from within an Open Street Map input file";
+    homepage = https://www.gaia-gis.it/fossil/readosm;
+    license = [ "GPLv2+" "LGPLv2+" "MPL1.1" ];
+    licenses = with stdenv.lib.licenses; [ mpl11 gpl2Plus lgpl21Plus ];
+  };
+}
diff --git a/pkgs/development/libraries/rep-gtk/default.nix b/pkgs/development/libraries/rep-gtk/default.nix
new file mode 100644
index 00000000000..070baf7ae79
--- /dev/null
+++ b/pkgs/development/libraries/rep-gtk/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, pkgconfig, autoreconfHook, librep, gtk2 }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "rep-gtk-git-2015-02-15";
+
+  src = fetchgit {
+    url = "https://github.com/SawfishWM/rep-gtk.git";
+    rev = "74ac3504f2bbbcc9ded005ab97cbf94cdc47924d";
+    sha256 = "edb47c5b6d09201d16a8f0616d18690ff0a37dca56d31c6e635b286bd0b6a031";
+  };
+
+  buildInputs = [ pkgconfig autoreconfHook ];
+  propagatedBuildInputs = [ librep gtk2 ];
+
+  patchPhase = ''
+    sed -e 's|installdir=$(repexecdir)|installdir=$(libdir)/rep|g' -i Makefile.in
+  '';
+
+  meta = {
+    description = "GTK+ bindings for librep";
+    homepage = http://sawfish.wikia.com;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/libraries/rep-gtk/setup-hook.sh b/pkgs/development/libraries/rep-gtk/setup-hook.sh
new file mode 100644
index 00000000000..420d63d6c51
--- /dev/null
+++ b/pkgs/development/libraries/rep-gtk/setup-hook.sh
@@ -0,0 +1,5 @@
+addRepDLLoadPath () {
+    addToSearchPath REP_DL_LOAD_PATH $1/lib/rep
+}
+
+envHooks+=(addRepDLLoadPath)
diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix
index 67f026fb482..33f5ba867d6 100644
--- a/pkgs/development/libraries/schroedinger/default.nix
+++ b/pkgs/development/libraries/schroedinger/default.nix
@@ -1,11 +1,31 @@
-{stdenv, fetchurl, liboil, pkgconfig}:
+{stdenv, fetchurl, orc, pkgconfig}:
 
 stdenv.mkDerivation {
-  name = "schroedinger-1.0.0";
+  name = "schroedinger-1.0.11";
+
   src = fetchurl {
-    url = mirror://sourceforge/schrodinger/schroedinger-1.0.0.tar.gz;
-    sha256 = "0r374wvc73pfzkcpwk0q0sjx6yhp79acyiqbjy3c7sfqdy7sm4x8";
+    urls = [
+      http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz
+      http://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz
+    ];
+    sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy";
   };
 
-  buildInputs = [liboil pkgconfig];
+  buildInputs = [orc pkgconfig];
+
+  # The test suite is known not to build against Orc >0.4.16 in Schroedinger 1.0.11.
+  # A fix is in upstream, so test when pulling 1.0.12 if this is still needed. See:
+  # http://www.mail-archive.com/schrodinger-devel@lists.sourceforge.net/msg00415.html
+  preBuild = ''
+    substituteInPlace Makefile \
+      --replace "SUBDIRS = schroedinger doc tools testsuite" "SUBDIRS = schroedinger doc tools" \
+      --replace "DIST_SUBDIRS = schroedinger doc tools testsuite" "DIST_SUBDIRS = schroedinger doc tools"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://diracvideo.org/";
+    maintainers = [ maintainers.spwhitt ];
+    license = [ licenses.mpl11 licenses.lgpl2 licenses.mit ];
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/development/libraries/science/biology/biolib/default.nix b/pkgs/development/libraries/science/biology/biolib/default.nix
deleted file mode 100644
index 7418bdb6dfe..00000000000
--- a/pkgs/development/libraries/science/biology/biolib/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, cmake, R, zlib }:
-
-stdenv.mkDerivation rec {
-  name = "biolib-${version}";
-
-  version = "0.0.1";
-
-  src = fetchurl {
-    url = "http://bio3.xparrot.eu/download/nix-biology/biolib-${version}.tar.gz";
-    sha256 = "1la639rs0v4f3ayvarqv0yxwlnwn188bb1v71d2ybw1xr6gdy688";
-  };
-
-  buildInputs = [cmake R zlib];
-
-  meta = {
-    homepage = "http://biolib.open-bio.org/";
-    description = "Shared libraries for the major Bio* languages";
-    license = stdenv.lib.licenses.gpl2;
-    longDescription = ''
-      BioLib brings together a set of opensource libraries written
-      in C/C++ and makes them available for major Bio* languages:
-      BioPerl, BioRuby, BioPython
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix
index 71f9ef2a2b6..296c5f6b920 100644
--- a/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/pkgs/development/libraries/science/math/arpack/default.nix
@@ -1,31 +1,26 @@
-{ stdenv, fetchurl, gfortran, openblas }:
+{ stdenv, fetchurl, gfortran, atlasWithLapack }:
 
-let version = "3.1.5";
+let
+  version = "3.2.0";
 in
 stdenv.mkDerivation {
   name = "arpack-${version}";
   src = fetchurl {
-    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${version}.tar.gz";
-    sha256 = "05fmg4m0yri47rzgsl2mnr1qbzrs7qyd557p3v9wwxxw0rwcwsd2";
+    url = "https://github.com/opencollab/arpack-ng/archive/${version}.tar.gz";
+    sha256 = "1fwch6vipms1ispzg2djvbzv5wag36f1dmmr3xs3mbp6imfyhvff";
   };
 
-  buildInputs = [ gfortran ];
-  propagatedBuildInputs = [ openblas ];
-
-  preConfigure = ''
-    substituteInPlace arpack.pc.in \
-      --replace "@BLAS_LIBS@" "-L${openblas}/lib @BLAS_LIBS@"
-  '';
+  buildInputs = [ gfortran atlasWithLapack ];
 
   # Auto-detection fails because gfortran brings in BLAS by default
-  configureFlags="--with-blas=-lopenblas --with-lapack=-lopenblas";
+  configureFlags="--with-blas=-latlas --with-lapack=-latlas";
 
   meta = {
     homepage = "http://forge.scilab.org/index.php/p/arpack-ng/";
-    description = "A collection of Fortran77 subroutines to solve large scale eigenvalue problems";
-    # Looks like OpenBLAS is not that easy to build
-    # there is a sgemm_itcopy undefined reference on 32-bit, for example
-    platforms = ["x86_64-linux"];
+    description = ''
+      A collection of Fortran77 subroutines to solve large scale eigenvalue
+      problems.
+    '';
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.ttuegel ];
   };
diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix
index 9aab09094a0..f4bda4f4735 100644
--- a/pkgs/development/libraries/science/math/atlas/default.nix
+++ b/pkgs/development/libraries/science/math/atlas/default.nix
@@ -1,5 +1,8 @@
 { stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false
-, cpuConfig ? if stdenv.isi686 then "-b 32 -A 18 -V 1" else "-b 64 -A 31 -V 192"
+, cpuConfig ? if stdenv.isi686 then "-b 32 -A 12 -V 1" else "-b 64 -A 14 -V 384"
+, cacheEdge ? "262144"
+, threads ? "0"
+, liblapack, withLapack
 }:
 
 # Atlas detects the CPU and optimizes its build accordingly. This is great when
@@ -9,30 +12,48 @@
 # cannot execute.
 #
 # To avoid these issues, the build is configured using the 'cpuConfig'
-# parameter as follows:
+# parameter. Upstream recommends these defaults for distributions:
 #
 #   | x86 CPU                                     | x86_64 CPU             |
 #   |---------------------------------------------+------------------------|
 #   | -b 32                                       | -b 64                  |
-#   | -A 18  (Pentium II)                         | -A 31 (Athlon K7)      |
-#   | -V 1 (No SIMD: Pentium II doesn't have SSE) | -V 192 (SSE1 and SSE2) |
+#   | -A 12  (x86x87)                             | -A 14 (x86SSE2)        |
+#   | -V 1 (No SIMD)                              | -V 384 (SSE1 and SSE2) |
 #
-# Users who want to compile a highly optimized version of ATLAS that's suitable
-# for their local machine can override these settings accordingly.
+# These defaults should give consistent performance across machines.
+# Performance will be substantially lower than an optimized build, but a build
+# optimized for one machine will give even worse performance on others. If you
+# are a serious user of Atlas (e.g., you write code that uses it) you should
+# compile an optimized version for each of your machines.
+#
+# The parameter 'cacheEdge' sets the L2 cache per core (in bytes). Setting this
+# parameter reduces build time because some tests to detect the L2 cache size
+# will not be run. It will also reduce impurity; different build nodes on Hydra
+# may have different L2 cache sizes, but fixing the L2 cache size should
+# account for that. This also makes the performance of binary substitutes more
+# consistent.
+#
+# The -V flags can change with each release as new instruction sets are added
+# because upstream thinks it's a good idea to add entries at the start of an
+# enum, rather than the end. If the build suddenly fails with messages about
+# missing instruction sets, you may need to poke around in the source a bit.
+#
+# Upstream recommends the x86x87/x86SSE2 architectures for generic x86/x86_64
+# for distribution builds. Additionally, we set 'cacheEdge' to reduce impurity.
+# Otherwise, the cache parameters will be detected by timing which will be
+# highly variable on Hydra.
 
 let
-  version = "3.10.1";
-
-  optionalString = stdenv.lib.optionalString;
-  optional = stdenv.lib.optional;
+  inherit (stdenv.lib) optional optionalString;
+  version = "3.10.2";
 in
 
 stdenv.mkDerivation {
-  name = "atlas-${version}";
+  name = "atlas-${version}" + optionalString withLapack "-with-lapack";
 
   src = fetchurl {
     url = "mirror://sourceforge/math-atlas/atlas${version}.tar.bz2";
-    sha256 = "11ncgdc7kzb2y2gqb3sgarm5saj9fr07r3h2yh2h5bja429b85d2";
+    sha256 = "0bqh4bdnjdyww4mcpg6kn0x7338mfqbdgysn97dzrwwb26di7ars";
   };
 
   buildInputs = [ gfortran ];
@@ -45,27 +66,55 @@ stdenv.mkDerivation {
   patches = optional tolerateCpuTimingInaccuracy ./disable-timing-accuracy-check.patch;
 
   # Configure outside of the source directory.
-  preConfigure = '' mkdir build; cd build; configureScript=../configure; '';
+  preConfigure = ''
+    mkdir build
+    cd build
+    configureScript=../configure
+  '';
 
   # * -fPIC is passed even in non-shared builds so that the ATLAS code can be
   #   used to inside of shared libraries, like Octave does.
   #
   # * -t 0 disables use of multi-threading. It's not quite clear what the
   #   consequences of that setting are and whether it's necessary or not.
-  configureFlags = "-Fa alg -fPIC -t 0 ${cpuConfig}" + optionalString shared " --shared";
+  configureFlags = [
+    "-Fa alg"
+    "-fPIC"
+    "-t ${threads}"
+    cpuConfig
+  ] ++ optional shared "--shared"
+    ++ optional withLapack "--with-netlib-lapack-tarfile=${liblapack.src}";
+
+  postConfigure = ''
+    if [[ -n "${cacheEdge}" ]]; then
+      echo '#define CacheEdge ${cacheEdge}' >> include/atlas_cacheedge.h
+      echo '#define CacheEdge ${cacheEdge}' >> include/atlas_tcacheedge.h
+    fi
+  '';
 
   doCheck = true;
 
+  postInstall = ''
+    # Avoid name collision with the real lapack (ATLAS only builds a partial
+    # lapack unless withLapack = true).
+    if ${if withLapack then "false" else "true"}; then
+      mv $out/lib/liblapack.a $out/lib/liblapack_atlas.a
+    fi
+  '';
+
   meta = {
     homepage = "http://math-atlas.sourceforge.net/";
     description = "Automatically Tuned Linear Algebra Software (ATLAS)";
     license = stdenv.lib.licenses.bsd3;
 
     longDescription = ''
-      The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing
-      research effort focusing on applying empirical techniques in order to provide
-      portable performance. At present, it provides C and Fortran77 interfaces to a
-      portably efficient BLAS implementation, as well as a few routines from LAPACK.
+      The ATLAS (Automatically Tuned Linear Algebra Software) project is an
+      ongoing research effort focusing on applying empirical techniques in
+      order to provide portable performance. At present, it provides C and
+      Fortran77 interfaces to a portably efficient BLAS implementation, as well
+      as a few routines from LAPACK.
     '';
+
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix
index 1bc7eff3181..fa8412ccb6d 100644
--- a/pkgs/development/libraries/science/math/blas/default.nix
+++ b/pkgs/development/libraries/science/math/blas/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Basic Linear Algebra Subprograms";
-    license = "public domain";
+    license = stdenv.lib.licenses.publicDomain;
     homepage = "http://www.netlib.org/blas/";
   };
 }
diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix
new file mode 100644
index 00000000000..544ab215345
--- /dev/null
+++ b/pkgs/development/libraries/science/math/ipopt/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip, blas, liblapack, gfortran }:
+
+stdenv.mkDerivation rec {
+  version = "3.12.1";
+  name = "ipopt-${version}";
+
+  src = fetchurl {
+    url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
+    sha256 = "0x0wcc21d2bfs3zq8nvhva1nv7xi86wjbyixvvxvcrg2kqjlybdy";
+  };
+
+  preConfigure = ''
+     export CXXDEFS="-DHAVE_RAND -DHAVE_CSTRING -DHAVE_CSTDIO"
+  '';
+
+  nativeBuildInputs = [ unzip ];
+
+  buildInputs = [ gfortran blas liblapack ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A software package for large-scale nonlinear optimization";
+    homepage = https://projects.coin-or.org/Ipopt;
+    license = licenses.epl10;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/openblas/0.2.10.nix b/pkgs/development/libraries/science/math/openblas/0.2.10.nix
index a8db0631911..ec4422ce895 100644
--- a/pkgs/development/libraries/science/math/openblas/0.2.10.nix
+++ b/pkgs/development/libraries/science/math/openblas/0.2.10.nix
@@ -1,5 +1,8 @@
-{ stdenv, fetchurl, gfortran, perl, liblapack }:
+{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
 
+let local = config.openblas.preferLocalBuild or false;
+    localTarget = config.openblas.target or "";
+in
 stdenv.mkDerivation rec {
   version = "0.2.10";
 
@@ -16,17 +19,19 @@ stdenv.mkDerivation rec {
 
   cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
 
-  target = if cpu == "i686" then "P2" else 
+  target = if local then localTarget else
+    if cpu == "i686" then "P2" else
     if cpu == "x86_64" then "CORE2" else
      # allow autodetect
       "";
 
   makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Basic Linear Algebra Subprograms";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
     homepage = "https://github.com/xianyi/OpenBLAS";
     platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/development/libraries/science/math/openblas/0.2.2.nix b/pkgs/development/libraries/science/math/openblas/0.2.2.nix
new file mode 100644
index 00000000000..c476dac955a
--- /dev/null
+++ b/pkgs/development/libraries/science/math/openblas/0.2.2.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
+
+let local = config.openblas.preferLocalBuild or false;
+    localTarget = config.openblas.target or "";
+in
+stdenv.mkDerivation rec {
+  version = "0.2.2";
+
+  name = "openblas-${version}";
+  src = fetchurl {
+    url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}";
+    sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr";
+    name = "openblas-${version}.tar.gz";
+  };
+
+  preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz";
+
+  buildInputs = [gfortran perl];
+
+  cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
+
+  target = if local then localTarget else
+    if cpu == "i686" then "P2" else
+    if cpu == "x86_64" then "CORE2" else
+     # allow autodetect
+      "";
+
+  makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\"";
+
+  meta = with stdenv.lib; {
+    description = "Basic Linear Algebra Subprograms";
+    license = licenses.bsd3;
+    homepage = "https://github.com/xianyi/OpenBLAS";
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index c535b1a39db..8dc2b542be7 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -1,12 +1,25 @@
-{ stdenv, fetchurl, gfortran, perl, liblapack }:
-
+{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
+
+# Minimum CPU requirements:
+# x86: Pentium 4 (Prescott, circa 2004)
+# x86_64: Opteron (circa 2003)
+# These are the settings used for the generic builds. Performance will
+# be poor on modern systems. The goal of the Hydra builds is simply to
+# support as many systems as possible. OpenBLAS may support older
+# CPU architectures, but you will need to set 'config.openblas.target'
+# and 'config.openblas.preferLocalBuild', which will build it on your
+# local machine.
+
+let local = config.openblas.preferLocalBuild or false;
+    localTarget = config.openblas.target or "";
+in
 stdenv.mkDerivation rec {
-  version = "0.2.2";
+  version = "0.2.13";
 
   name = "openblas-${version}";
   src = fetchurl {
     url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}";
-    sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr";
+    sha256 = "1asg5mix13ipxgj5h2yj2p0r8km1di5jbcjkn5gmhb37nx7qfv6k";
     name = "openblas-${version}.tar.gz";
   };
 
@@ -16,17 +29,25 @@ stdenv.mkDerivation rec {
 
   cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
 
-  target = if cpu == "i686" then "P2" else 
-    if cpu == "x86_64" then "CORE2" else
+  target = if local then localTarget else
+    if cpu == "i686" then "PRESCOTT" else
+    if cpu == "x86_64" then "OPTERON" else
      # allow autodetect
       "";
 
-  makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\"";
+  makeFlags = [
+    "${if target != "" then "TARGET=" else ""}${target}"
+    "FC=gfortran"
+    "CC=gcc"
+    ''PREFIX="''$(out)"''
+    "INTERFACE64=1"
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Basic Linear Algebra Subprograms";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
     homepage = "https://github.com/xianyi/OpenBLAS";
-    platforms = [ "x86_64-linux" ];
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ ttuegel ];
   };
 }
diff --git a/pkgs/development/libraries/science/math/suitesparse/0001-disable-metis.patch b/pkgs/development/libraries/science/math/suitesparse/0001-disable-metis.patch
new file mode 100644
index 00000000000..b0f7715f755
--- /dev/null
+++ b/pkgs/development/libraries/science/math/suitesparse/0001-disable-metis.patch
@@ -0,0 +1,36 @@
+From 456b26d0c9101adaa5876954baac0ca0e872dab6 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 15 Dec 2014 10:18:01 -0600
+Subject: [PATCH 1/3] disable metis
+
+---
+ SuiteSparse_config/SuiteSparse_config.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
+index ba2da23..e1514bf 100644
+--- a/SuiteSparse_config/SuiteSparse_config.mk
++++ b/SuiteSparse_config/SuiteSparse_config.mk
+@@ -212,8 +212,8 @@ XERBLA =
+ # The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
+ # You may wish to use an absolute path.  METIS is optional.  Compile
+ # CHOLMOD with -DNPARTITION if you do not wish to use METIS.
+-METIS_PATH = ../../metis-4.0
+-METIS = ../../metis-4.0/libmetis.a
++# METIS_PATH = ../../metis-4.0
++# METIS = ../../metis-4.0/libmetis.a
+ 
+ #------------------------------------------------------------------------------
+ # UMFPACK configuration:
+@@ -273,7 +273,7 @@ UMFPACK_CONFIG =
+ # -DNSUNPERF        for Solaris only.  If defined, do not use the Sun
+ #                   Performance Library
+ 
+-CHOLMOD_CONFIG = $(GPU_CONFIG)
++CHOLMOD_CONFIG = $(GPU_CONFIG) -DNPARTITION
+ 
+ # uncomment this line to compile CHOLMOD without METIS:
+ # CHOLMOD_CONFIG = -DNPARTITION
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/science/math/suitesparse/0002-set-install-dir.patch b/pkgs/development/libraries/science/math/suitesparse/0002-set-install-dir.patch
new file mode 100644
index 00000000000..ef861f68091
--- /dev/null
+++ b/pkgs/development/libraries/science/math/suitesparse/0002-set-install-dir.patch
@@ -0,0 +1,27 @@
+From e0fee492a315ce1ef8697b056af210beb1465334 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 15 Dec 2014 10:18:12 -0600
+Subject: [PATCH 2/3] set install dir
+
+---
+ SuiteSparse_config/SuiteSparse_config.mk | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
+index e1514bf..f1046a6 100644
+--- a/SuiteSparse_config/SuiteSparse_config.mk
++++ b/SuiteSparse_config/SuiteSparse_config.mk
+@@ -95,8 +95,8 @@ F77LIB =
+ # LIB = -lm
+ 
+ # For "make install"
+-INSTALL_LIB = /usr/local/lib
+-INSTALL_INCLUDE = /usr/local/include
++INSTALL_LIB = @out@/lib
++INSTALL_INCLUDE = @out@/include
+ 
+ # Which version of MAKE you are using (default is "make")
+ # MAKE = make
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/science/math/suitesparse/0003-blas-lapack-flags.patch b/pkgs/development/libraries/science/math/suitesparse/0003-blas-lapack-flags.patch
new file mode 100644
index 00000000000..db0b1c45655
--- /dev/null
+++ b/pkgs/development/libraries/science/math/suitesparse/0003-blas-lapack-flags.patch
@@ -0,0 +1,27 @@
+From a99cca30cfd965683564ae024e8ecc615c61697a Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 15 Dec 2014 10:24:08 -0600
+Subject: [PATCH 3/3] blas lapack flags
+
+---
+ SuiteSparse_config/SuiteSparse_config.mk | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
+index f1046a6..1710162 100644
+--- a/SuiteSparse_config/SuiteSparse_config.mk
++++ b/SuiteSparse_config/SuiteSparse_config.mk
+@@ -119,8 +119,8 @@ INSTALL_INCLUDE = @out@/include
+ # naming the BLAS and LAPACK library (*.a or *.so) files.
+ 
+ # This is probably slow ... it might connect to the Standard Reference BLAS:
+-  BLAS = -lblas -lgfortran
+-  LAPACK = -llapack
++  BLAS = @blasFlags@
++  LAPACK = @lapackFlags@
+ 
+ # MKL 
+ # BLAS = -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm
+-- 
+2.1.3
+
diff --git a/pkgs/development/libraries/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/4.2.nix
index 4d27701b135..4d27701b135 100644
--- a/pkgs/development/libraries/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/4.2.nix
diff --git a/pkgs/development/libraries/science/math/suitesparse/SuiteSparse_config.mk b/pkgs/development/libraries/science/math/suitesparse/SuiteSparse_config.mk
new file mode 100644
index 00000000000..157a20d7b5a
--- /dev/null
+++ b/pkgs/development/libraries/science/math/suitesparse/SuiteSparse_config.mk
@@ -0,0 +1,452 @@
+#===============================================================================
+# SuiteSparse_config.mk:  common configuration file for the SuiteSparse
+#===============================================================================
+
+# This file contains all configuration settings for all packages authored or
+# co-authored by Tim Davis:
+#
+# Package Version       Description
+# ------- -------       -----------
+# AMD     1.2 or later  approximate minimum degree ordering
+# COLAMD  2.4 or later  column approximate minimum degree ordering
+# CCOLAMD 1.0 or later  constrained column approximate minimum degree ordering
+# CAMD    any           constrained approximate minimum degree ordering
+# UMFPACK 4.5 or later  sparse LU factorization, with the BLAS
+# CHOLMOD any           sparse Cholesky factorization, update/downdate
+# KLU     0.8 or later  sparse LU factorization, BLAS-free
+# BTF     0.8 or later  permutation to block triangular form
+# LDL     1.2 or later  concise sparse LDL'
+# CXSparse any          extended version of CSparse (int/long, real/complex)
+# SuiteSparseQR any     sparse QR factorization
+# RBio    2.0 or later  read/write sparse matrices in Rutherford-Boeing format
+#
+# By design, this file is NOT included in the CSparse makefile.
+# That package is fully stand-alone.  CSparse is primarily for teaching;
+# production code should use CXSparse.
+#
+# The SuiteSparse_config directory and the above packages should all appear in
+# a single directory, in order for the Makefile's within each package to find
+# this file.
+#
+# To enable an option of the form "# OPTION = ...", edit this file and
+# delete the "#" in the first column of the option you wish to use.
+#
+# The use of METIS 4.0.1 is optional.  To exclude METIS, you must compile with
+# CHOLMOD_CONFIG set to -DNPARTITION.  See below for details.  However, if you
+# do not have a metis-4.0 directory inside the SuiteSparse directory, the
+# */Makefile's that optionally rely on METIS will automatically detect this
+# and compile without METIS.
+
+#------------------------------------------------------------------------------
+# Generic configuration
+#------------------------------------------------------------------------------
+
+# Using standard definitions from the make environment, typically:
+#
+#   CC              cc      C compiler
+#   CXX             g++     C++ compiler
+#   CFLAGS          [ ]     flags for C and C++ compiler
+#   CPPFLAGS        [ ]     flags for C and C++ compiler
+#   TARGET_ARCH     [ ]     target architecture
+#   FFLAGS          [ ]     flags for Fortran compiler
+#   RM              rm -f   delete a file
+#   AR              ar      create a static *.a library archive
+#   ARFLAGS         rv      flags for ar
+#   MAKE            make    make itself (sometimes called gmake)
+#
+# You can redefine them here, but by default they are used from the
+# default make environment.
+
+# To use OpenMP add -openmp to the CFLAGS
+# If OpenMP is used, it is recommended to define CHOLMOD_OMP_NUM_THREADS
+# as the number of cores per socket on the machine being used to maximize
+# memory performance
+  CFLAGS = 
+# CFLAGS = -g
+# for the icc compiler and OpenMP:
+# CFLAGS = -openmp
+
+# C and C++ compiler flags.  The first three are standard for *.c and *.cpp
+# Add -DNTIMER if you do use any timing routines (otherwise -lrt is required).
+# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -DNTIMER
+  CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC
+# for the MKL BLAS:
+# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -I$(MKLROOT)/include -D_GNU_SOURCE
+# with no optimization:
+# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH)     -fexceptions -fPIC
+
+# ranlib, and ar, for generating libraries.  If you don't need ranlib,
+# just change it to RANLAB = echo
+RANLIB = ranlib
+ARCHIVE = $(AR) $(ARFLAGS)
+
+# copy and delete a file
+CP = cp -f
+MV = mv -f
+
+# Fortran compiler (not required for 'make' or 'make library')
+F77 = gfortran
+F77FLAGS = $(FFLAGS) -O
+F77LIB =
+
+# C and Fortran libraries.  Remove -lrt if you don't have it.
+  LIB = -lm -lrt
+# Using the following requires CF = ... -DNTIMER on POSIX C systems.
+# LIB = -lm
+
+# For "make install"
+INSTALL_LIB = @out@/lib
+INSTALL_INCLUDE = @out@/include
+
+# Which version of MAKE you are using (default is "make")
+# MAKE = make
+# MAKE = gmake
+
+#------------------------------------------------------------------------------
+# BLAS and LAPACK configuration:
+#------------------------------------------------------------------------------
+
+# UMFPACK and CHOLMOD both require the BLAS.  CHOLMOD also requires LAPACK.
+# See Kazushige Goto's BLAS at http://www.cs.utexas.edu/users/flame/goto/ or
+# http://www.tacc.utexas.edu/~kgoto/ for the best BLAS to use with CHOLMOD.
+# LAPACK is at http://www.netlib.org/lapack/ .  You can use the standard
+# Fortran LAPACK along with Goto's BLAS to obtain very good performance.
+# CHOLMOD gets a peak numeric factorization rate of 3.6 Gflops on a 3.2 GHz
+# Pentium 4 (512K cache, 4GB main memory) with the Goto BLAS, and 6 Gflops
+# on a 2.5Ghz dual-core AMD Opteron.
+
+# These settings will probably not work, since there is no fixed convention for
+# naming the BLAS and LAPACK library (*.a or *.so) files.
+
+# This is probably slow ... it might connect to the Standard Reference BLAS:
+  BLAS = -lf77blas -latlas -lcblas -lgfortran
+  LAPACK = -llapack -latlas -lcblas
+
+# MKL 
+# BLAS = -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm
+# LAPACK = 
+
+# ACML
+# BLAS = -lacml -lgfortran
+# LAPACK =
+
+# OpenBLAS
+# BLAS = -lopenblas
+# LAPACK = 
+
+# NOTE: this next option for the "Goto BLAS" has nothing to do with a "goto"
+# statement.  Rather, the Goto BLAS is written by Dr. Kazushige Goto.
+# Using the Goto BLAS:
+# BLAS = -lgoto -lgfortran -lgfortranbegin
+# BLAS = -lgoto2 -lgfortran -lgfortranbegin -lpthread
+
+# Using non-optimized versions:
+# BLAS = -lblas_plain -lgfortran -lgfortranbegin
+# LAPACK = -llapack_plain
+
+# BLAS = -lblas_plain -lgfortran -lgfortranbegin
+# LAPACK = -llapack
+
+# The BLAS might not contain xerbla, an error-handling routine for LAPACK and
+# the BLAS.  Also, the standard xerbla requires the Fortran I/O library, and
+# stops the application program if an error occurs.  A C version of xerbla
+# distributed with this software (SuiteSparse_config/xerbla/libcerbla.a)
+# includes a Fortran-callable xerbla routine that prints nothing and does not
+# stop the application program.  This is optional.
+
+# XERBLA = ../../SuiteSparse_config/xerbla/libcerbla.a 
+
+# If you wish to use the XERBLA in LAPACK and/or the BLAS instead,
+# use this option:
+XERBLA = 
+
+# If you wish to use the Fortran SuiteSparse_config/xerbla/xerbla.f instead,
+# use this:
+
+# XERBLA = ../../SuiteSparse_config/xerbla/libxerbla.a 
+
+#------------------------------------------------------------------------------
+# GPU configuration for CHOLMOD and SPQR
+#------------------------------------------------------------------------------
+
+# no cuda
+  CUDA_ROOT     =
+  GPU_BLAS_PATH =
+  GPU_CONFIG    =
+  CUDA_PATH     =
+  CUDART_LIB    =
+  CUBLAS_LIB    =
+  CUDA_INC_PATH =
+  NV20          =
+  NV30          =
+  NV35          =
+  NVCC          = echo
+  NVCCFLAGS     =
+
+# with cuda for CHOLMOD
+# CUDA_ROOT     = /usr/local/cuda
+# GPU_BLAS_PATH = $(CUDA_ROOT)
+# with 4 cores (default):
+# GPU_CONFIG    = -I$(CUDA_ROOT)/include -DGPU_BLAS
+# with 10 cores:
+# GPU_CONFIG    = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=10
+# CUDA_PATH     = $(CUDA_ROOT)
+# CUDART_LIB    = $(CUDA_ROOT)/lib64/libcudart.so
+# CUBLAS_LIB    = $(CUDA_ROOT)/lib64/libcublas.so
+# CUDA_INC_PATH = $(CUDA_ROOT)/include/
+# NV20          = -arch=sm_20 -Xcompiler -fPIC
+# NV30          = -arch=sm_30 -Xcompiler -fPIC
+# NV35          = -arch=sm_35 -Xcompiler -fPIC
+# NVCC          = $(CUDA_ROOT)/bin/nvcc
+# NVCCFLAGS     = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35
+
+# was NVCC      = $(CUDA_ROOT)/bin/nvcc $(NV35) $(NV30) $(NV20)
+
+#------------------------------------------------------------------------------
+# METIS, optionally used by CHOLMOD
+#------------------------------------------------------------------------------
+
+# If you do not have METIS, or do not wish to use it in CHOLMOD, you must
+# compile CHOLMOD with the -DNPARTITION flag.
+
+# The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
+# You may wish to use an absolute path.  METIS is optional.  Compile
+# CHOLMOD with -DNPARTITION if you do not wish to use METIS.
+# METIS_PATH = ../../metis-4.0
+# METIS = ../../metis-4.0/libmetis.a
+
+#------------------------------------------------------------------------------
+# UMFPACK configuration:
+#------------------------------------------------------------------------------
+
+# Configuration flags for UMFPACK.  See UMFPACK/Source/umf_config.h for details.
+#
+# -DNBLAS       do not use the BLAS.  UMFPACK will be very slow.
+# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
+#               LAPACK and the BLAS (defaults to 'int')
+# -DNSUNPERF    do not use the Sun Perf. Library (default is use it on Solaris)
+# -DNRECIPROCAL do not multiply by the reciprocal
+# -DNO_DIVIDE_BY_ZERO   do not divide by zero
+# -DNCHOLMOD    do not use CHOLMOD as a ordering method.  If -DNCHOLMOD is
+#               included in UMFPACK_CONFIG, then UMFPACK  does not rely on
+#               CHOLMOD, CAMD, CCOLAMD, COLAMD, and METIS.
+
+UMFPACK_CONFIG =
+
+# uncomment this line to compile UMFPACK without CHOLMOD:
+# UMFPACK_CONFIG = -DNCHOLMOD
+
+#------------------------------------------------------------------------------
+# CHOLMOD configuration
+#------------------------------------------------------------------------------
+
+# CHOLMOD Library Modules, which appear in libcholmod.a:
+# Core          requires: none
+# Check         requires: Core
+# Cholesky      requires: Core, AMD, COLAMD.  optional: Partition, Supernodal
+# MatrixOps     requires: Core
+# Modify        requires: Core
+# Partition     requires: Core, CCOLAMD, METIS.  optional: Cholesky
+# Supernodal    requires: Core, BLAS, LAPACK
+#
+# CHOLMOD test/demo Modules (all are GNU GPL, do not appear in libcholmod.a):
+# Tcov          requires: Core, Check, Cholesky, MatrixOps, Modify, Supernodal
+#               optional: Partition
+# Valgrind      same as Tcov
+# Demo          requires: Core, Check, Cholesky, MatrixOps, Supernodal
+#               optional: Partition
+#
+# Configuration flags:
+# -DNCHECK          do not include the Check module.       License GNU LGPL
+# -DNCHOLESKY       do not include the Cholesky module.    License GNU LGPL
+# -DNPARTITION      do not include the Partition module.   License GNU LGPL
+#                   also do not include METIS.
+# -DNCAMD           do not use CAMD, etc from Partition module.    GNU LGPL
+# -DNGPL            do not include any GNU GPL Modules in the CHOLMOD library:
+# -DNMATRIXOPS      do not include the MatrixOps module.   License GNU GPL
+# -DNMODIFY         do not include the Modify module.      License GNU GPL
+# -DNSUPERNODAL     do not include the Supernodal module.  License GNU GPL
+#
+# -DNPRINT          do not print anything.
+# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
+#                   LAPACK and the BLAS (defaults to 'int')
+# -DNSUNPERF        for Solaris only.  If defined, do not use the Sun
+#                   Performance Library
+
+CHOLMOD_CONFIG = $(GPU_CONFIG) -DNPARTITION
+
+# uncomment this line to compile CHOLMOD without METIS:
+# CHOLMOD_CONFIG = -DNPARTITION
+
+#------------------------------------------------------------------------------
+# SuiteSparseQR configuration:
+#------------------------------------------------------------------------------
+
+# The SuiteSparseQR library can be compiled with the following options:
+#
+# -DNPARTITION      do not include the CHOLMOD partition module
+# -DNEXPERT         do not include the functions in SuiteSparseQR_expert.cpp
+# -DHAVE_TBB        enable the use of Intel's Threading Building Blocks (TBB)
+
+# default, without timing, without TBB:
+SPQR_CONFIG = $(GPU_CONFIG)
+# with TBB:
+# SPQR_CONFIG = -DHAVE_TBB
+
+# This is needed for IBM AIX: (but not for and C codes, just C++)
+# SPQR_CONFIG = -DBLAS_NO_UNDERSCORE
+
+# with TBB, you must select this:
+# TBB = -ltbb
+# without TBB:
+TBB =
+
+#------------------------------------------------------------------------------
+# code formatting
+#------------------------------------------------------------------------------
+
+# Use "grep" only, if you do not have "indent"  
+# PRETTY = grep -v "^\#"
+# PRETTY = grep -v "^\#" | indent -bl -nce -ss -bli0 -i4 -sob -l120
+  PRETTY = grep -v "^\#" | indent -bl -nce -bli0 -i4 -sob -l120
+
+#------------------------------------------------------------------------------
+# Linux
+#------------------------------------------------------------------------------
+
+# Using default compilers:
+# CC = gcc
+# CF = $(CFLAGS) -O3 -fexceptions
+
+# alternatives:
+# CF = $(CFLAGS) -g -fexceptions \
+#       -Wall -W -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
+#       -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi \
+#       -funit-at-a-time
+# CF = $(CFLAGS) -O3 -fexceptions \
+#       -Wall -W -Werror -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
+#       -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi
+# CF = $(CFLAGS) -O3 -fexceptions -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
+# CF = $(CFLAGS) -O3
+# CF = $(CFLAGS) -O3 -g -fexceptions
+# CF = $(CFLAGS) -g -fexceptions \
+#       -Wall -W -Wshadow \
+#       -Wredundant-decls -Wdisabled-optimization -ansi
+
+# consider:
+# -fforce-addr -fmove-all-movables -freduce-all-givs -ftsp-ordering
+# -frename-registers -ffast-math -funroll-loops
+
+# Using the Goto BLAS:
+# BLAS = -lgoto -lfrtbegin -lg2c $(XERBLA) -lpthread
+
+# Using Intel's icc and ifort compilers:
+#   (does not work for mexFunctions unless you add a mexopts.sh file)
+# F77 = ifort
+# CC = icc
+# CF = $(CFLAGS) -O3 -xN -vec_report=0
+# CF = $(CFLAGS) -g
+
+# 64bit:
+# F77FLAGS = -O -m64
+# CF = $(CFLAGS) -O3 -fexceptions -m64
+# BLAS = -lgoto64 -lfrtbegin -lg2c -lpthread $(XERBLA)
+# LAPACK = -llapack64
+
+# SUSE Linux 10.1, AMD Opteron, with GOTO Blas
+# F77 = gfortran
+# BLAS = -lgoto_opteron64 -lgfortran
+
+# SUSE Linux 10.1, Intel Pentium, with GOTO Blas
+# F77 = gfortran
+# BLAS = -lgoto -lgfortran
+
+#------------------------------------------------------------------------------
+# Mac
+#------------------------------------------------------------------------------
+
+# As recommended by macports, http://suitesparse.darwinports.com/
+# I've tested them myself on Mac OSX 10.6.1 and 10.6.8 (Snow Leopard),
+# on my MacBook Air, and they work fine.
+
+# F77 = gfortran
+# CF = $(CFLAGS) -O3 -fno-common -fexceptions -DNTIMER
+# BLAS = -framework Accelerate
+# LAPACK = -framework Accelerate
+# LIB = -lm
+
+#------------------------------------------------------------------------------
+# Solaris
+#------------------------------------------------------------------------------
+
+# 32-bit
+# CF = $(CFLAGS) -KPIC -dalign -xc99=%none -Xc -xlibmieee -xO5 -xlibmil -m32
+
+# 64-bit
+# CF = $(CFLAGS) -fast -KPIC -xc99=%none -xlibmieee -xlibmil -m64 -Xc
+
+# FFLAGS = -fast -KPIC -dalign -xlibmil -m64
+
+# The Sun Performance Library includes both LAPACK and the BLAS:
+# BLAS = -xlic_lib=sunperf
+# LAPACK =
+
+
+#------------------------------------------------------------------------------
+# Compaq Alpha
+#------------------------------------------------------------------------------
+
+# 64-bit mode only
+# CF = $(CFLAGS) -O2 -std1
+# BLAS = -ldxml
+# LAPACK =
+
+#------------------------------------------------------------------------------
+# IBM RS 6000
+#------------------------------------------------------------------------------
+
+# BLAS = -lessl
+# LAPACK =
+
+# 32-bit mode:
+# CF = $(CFLAGS) -O4 -qipa -qmaxmem=16384 -qproto
+# F77FLAGS = -O4 -qipa -qmaxmem=16384
+
+# 64-bit mode:
+# CF = $(CFLAGS) -O4 -qipa -qmaxmem=16384 -q64 -qproto
+# F77FLAGS = -O4 -qipa -qmaxmem=16384 -q64
+
+#------------------------------------------------------------------------------
+# SGI IRIX
+#------------------------------------------------------------------------------
+
+# BLAS = -lscsl
+# LAPACK =
+
+# 32-bit mode
+# CF = $(CFLAGS) -O
+
+# 64-bit mode (32 bit int's and 64-bit long's):
+# CF = $(CFLAGS) -64
+# F77FLAGS = -64
+
+# SGI doesn't have ranlib
+# RANLIB = echo
+
+#------------------------------------------------------------------------------
+# AMD Opteron (64 bit)
+#------------------------------------------------------------------------------
+
+# BLAS = -lgoto_opteron64 -lg2c
+# LAPACK = -llapack_opteron64
+
+# SUSE Linux 10.1, AMD Opteron
+# F77 = gfortran
+# BLAS = -lgoto_opteron64 -lgfortran
+# LAPACK = -llapack_opteron64
+
+#------------------------------------------------------------------------------
+# remove object files and profile output
+#------------------------------------------------------------------------------
+
+CLEAN = *.o *.obj *.ln *.bb *.bbg *.da *.tcov *.gcov gmon.out *.bak *.d *.gcda *.gcno
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
new file mode 100644
index 00000000000..add4ca9a08f
--- /dev/null
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, substituteAll
+, atlasWithLapack, gfortran }:
+
+let
+  name = "suitesparse-4.4.1";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.1.tar.gz";
+    sha256 = "0y8i6dizrr556xggpjyc7wijjv4jbizhssmjj4jv8n1s7zxy2z0n";
+  };
+
+  patches = [
+    ./0001-disable-metis.patch
+    ./0002-set-install-dir.patch
+    (substituteAll {
+      src = ./0003-blas-lapack-flags.patch;
+      blasFlags = "-lf77blas -latlas -lcblas -lgfortran";
+      lapackFlags= "-llapack -latlas -lcblas";
+    })
+  ];
+
+  preConfigure = ''
+    substituteAllInPlace SuiteSparse_config/SuiteSparse_config.mk
+    mkdir -p $out/lib
+    mkdir -p $out/include
+  '';
+
+  postInstall = ''
+    # Install documentation
+    outdoc=$out/share/doc/${name}
+    mkdir -p $outdoc
+    cp -r AMD/Doc $outdoc/amd
+    cp -r BTF/Doc $outdoc/bft
+    cp -r CAMD/Doc $outdoc/camd
+    cp -r CCOLAMD/Doc $outdoc/ccolamd
+    cp -r CHOLMOD/Doc $outdoc/cholmod
+    cp -r COLAMD/Doc $outdoc/colamd
+    cp -r CXSparse/Doc $outdoc/cxsparse
+    cp -r KLU/Doc $outdoc/klu
+    cp -r LDL/Doc $outdoc/ldl
+    cp -r RBio/Doc $outdoc/rbio
+    cp -r SPQR/Doc $outdoc/spqr
+    cp -r UMFPACK/Doc $outdoc/umfpack
+  '';
+
+  nativeBuildInputs = [ gfortran ];
+  buildInputs = [ atlasWithLapack ];
+
+  meta = with stdenv.lib; {
+    homepage = http://faculty.cse.tamu.edu/davis/suitesparse.html;
+    description = "A suite of sparse matrix algorithms";
+    license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ];
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/suitesparse/disable-metis.patch b/pkgs/development/libraries/science/math/suitesparse/disable-metis.patch
index 5b735eb7d3c..5b735eb7d3c 100644
--- a/pkgs/development/libraries/suitesparse/disable-metis.patch
+++ b/pkgs/development/libraries/science/math/suitesparse/disable-metis.patch
diff --git a/pkgs/development/libraries/scmccid/default.nix b/pkgs/development/libraries/scmccid/default.nix
index f18107c48a5..7dcde2a09a8 100644
--- a/pkgs/development/libraries/scmccid/default.nix
+++ b/pkgs/development/libraries/scmccid/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, patchelf, libusb}:
 
-assert stdenv ? gcc && stdenv.gcc.libc != null;
+assert stdenv ? cc && stdenv.cc.libc != null;
 
 stdenv.mkDerivation rec {
   name = "scmccid-5.0.11";
-  
+
   src = if stdenv.system == "i686-linux" then (fetchurl {
       url = "http://www.scmmicro.com/support/download/scmccid_5.0.11_linux.tar.gz";
       sha256 = "1r5wkarhzl09ncgj55baizf573czw0nplh1pgddzx9xck66kh5bm";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ patchelf ];
 
   installPhase = ''
-    RPATH=${libusb}/lib:${stdenv.gcc.libc}/lib
+    RPATH=${libusb}/lib:${stdenv.cc.libc}/lib
 
     for a in proprietary/*/Contents/Linux/*.so*; do
         if ! test -L $a; then
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.scmmicro.com/support/pc-security-support/downloads.html;
     description = "PCSC drivers for linux, for the SCM SCR3310 v2.0 card and others";
-    license = "nonfree";
+    license = stdenv.lib.licenses.unfree;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index 2fd5c9ad493..c0935bd33fd 100644
--- a/pkgs/development/libraries/serd/default.nix
+++ b/pkgs/development/libraries/serd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "serd-${version}";
-  version = "0.18.2";
+  version = "0.20.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1hgajhm4iar4n2kh71pv6yr0yhipj28kds9y5mbig8izqc188gcf";
+    sha256 = "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4";
   };
 
   buildInputs = [ pcre pkgconfig python ];
diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix
index f0fedba5ac1..df8749622be 100644
--- a/pkgs/development/libraries/serf/default.nix
+++ b/pkgs/development/libraries/serf/default.nix
@@ -1,33 +1,39 @@
-{ stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, krb5, pkgconfig }:
+{ stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, kerberos, pkgconfig, gnused }:
 
 stdenv.mkDerivation rec {
   name = "serf-1.3.7";
 
   src = fetchurl {
     url = "http://serf.googlecode.com/svn/src_releases/${name}.tar.bz2";
-    sha1 = "db9ae339dba10a2b47f9bdacf30a58fd8e36683a";
+    sha256 = "1bphz616dv1svc50kkm8xbgyszhg3ni2dqbij99sfvjycr7bgk7c";
   };
 
-  buildInputs = [ apr scons openssl aprutil zlib krb5 pkgconfig ];
+  buildInputs = [ apr scons openssl aprutil zlib kerberos pkgconfig ];
 
   configurePhase = ''
-    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' -i SConstruct
-    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' -i SConstruct
-    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' -i SConstruct
+    ${gnused}/bin/sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' -i SConstruct
+    ${gnused}/bin/sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' -i SConstruct
+    ${gnused}/bin/sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' -i SConstruct
   '';
 
   buildPhase = ''
     scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr}"/bin/*-config)" \
-        APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${stdenv.gcc}/bin/gcc"
+        APU="$(echo "${aprutil}"/bin/*-config)" CC="${
+          if stdenv.isDarwin then "clang" else "${stdenv.cc}/bin/gcc"
+        }" ${
+          if stdenv.isDarwin then "" else "GSSAPI=\"${kerberos}\""
+        }
   '';
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-L/usr/lib";
+
   installPhase = ''
     scons install
   '';
 
   meta = {
     description = "HTTP client library based on APR";
-    license = stdenv.lib.licenses.asl20 ;
+    license = stdenv.lib.licenses.asl20;
     maintainers = [stdenv.lib.maintainers.raskin];
     hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
diff --git a/pkgs/development/libraries/sfsexp/default.nix b/pkgs/development/libraries/sfsexp/default.nix
new file mode 100644
index 00000000000..57124f575a1
--- /dev/null
+++ b/pkgs/development/libraries/sfsexp/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "sfsexp-${version}";
+  version = "1.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sexpr/sexpr-${version}.tar.gz";
+    sha256 = "18gdwxjja0ip378hlzs8sp7q2g6hrmy7x10yf2wnxfmmylbpqn8k";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Small, fast s-expression library";
+    homepage = "http://sexpr.sourceforge.net/";
+    maintainers = with maintainers; [ jb55 ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index f5394fffdaa..df732c40f57 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -1,51 +1,27 @@
-x@{builderDefsPackage
-  , plib, freeglut, xproto, libX11, libXext, xextproto, libXi , inputproto
-  , libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg , freealut
-  , openscenegraph, openal, expat, cmake, apr
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{ stdenv, fetchurl, plib, freeglut, xproto, libX11, libXext, xextproto, libXi
+, inputproto, libICE, libSM, libXt, libXmu, mesa, boost, zlib, libjpeg, freealut
+, openscenegraph, openal, expat, cmake, apr
+}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="simgear";
-    version="3.0.0";
-    name="${baseName}-${version}";
-    extension="tar.bz2";
-    url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}";
-    hash="05l0wvi0s4a98ihmjbpcc66rj6qy3hrsqkjs388bddf2ws3qyi09";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+  name = "simgear-${version}";
+  version = "3.4.0";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.tar.bz2";
+    sha256 = "152q3aqlrg3631ppvl6kr1mp5iszplq68l6lrsn9vjxafbz6czcj";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = [ "doCmake" "doMakeInstall" ];
+  buildInputs = [ plib freeglut xproto libX11 libXext xextproto libXi inputproto
+                  libICE libSM libXt libXmu mesa boost zlib libjpeg freealut
+                  openscenegraph openal expat cmake apr ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Simulation construction toolkit";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.lgpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "ftp://ftp.goflyflightgear.com/simgear/Source/";
-    };
+    homepage = https://gitorious.org/fg/simgear;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.lgpl2;
   };
-}) x
+}
 
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix
index 842d74848df..fa1d4f4f984 100644
--- a/pkgs/development/libraries/skalibs/default.nix
+++ b/pkgs/development/libraries/skalibs/default.nix
@@ -1,56 +1,33 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchgit }:
 
 let
 
-  version = "1.6.0.0";
+  version = "2.3.2.0";
 
 in stdenv.mkDerivation rec {
+
   name = "skalibs-${version}";
 
-  src = fetchurl {
-    url = "http://skarnet.org/software/skalibs/${name}.tar.gz";
-    sha256 = "0jz3farll9n5jvz3g6wri99s6njkgmnf0r9jqjlg03f20dzv8c8w";
+  src = fetchgit {
+    url = "git://git.skarnet.org/skalibs";
+    rev = "refs/tags/v${version}";
+    sha256 = "1l7f2zmas0w28j19g46bvm13j3cx7jimxifivd04zz5r7g79ik5a";
   };
 
-  sourceRoot = "prog/${name}";
-
-  # See http://skarnet.org/cgi-bin/archive.cgi?1:mss:75:201405:pkmodhckjklemogbplje
-  patches = [ ./getpeereid.patch ];
-
-  configurePhase = ''
-    pushd conf-compile
-
-    printf "$out/bin"     > conf-defaultpath
-    printf "$out/etc"     > conf-etc
-    printf "$out/bin"     > conf-install-command
-    printf "$out/include" > conf-install-include
-    printf "$out/libexec" > conf-install-libexec
-    printf "$out/lib"     > conf-install-library
-    printf "$out/lib"     > conf-install-library.so
-    printf "$out/sysdeps" > conf-install-sysdeps
-
-    # let nix builder strip things, cross-platform
-    truncate --size 0 conf-stripbins
-    truncate --size 0 conf-striplibs
-
-    rm -f flag-slashpackage
-    touch flag-allstatic
-    touch flag-forcedevr
-
-    popd
-  '';
+  dontDisableStatic = true;
 
-  preBuild = ''
-    patchShebangs src/sys
-  '';
+  enableParallelBuilding = true;
 
-  preInstall = ''
-    mkdir -p "$out/etc"
-  '';
+  configureFlags = [
+    "--enable-force-devr"       # assume /dev/random works
+    "--libdir=\${prefix}/lib"
+    "--includedir=\${prefix}/include"
+    "--sysdepdir=\${prefix}/lib/skalibs/sysdeps"
+  ] ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]);
 
   meta = {
     homepage = http://skarnet.org/software/skalibs/;
-    description = "A set of general-purpose C programming libraries.";
+    description = "A set of general-purpose C programming libraries";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.isc;
   };
diff --git a/pkgs/development/libraries/skalibs/getpeereid.patch b/pkgs/development/libraries/skalibs/getpeereid.patch
deleted file mode 100644
index c366780e267..00000000000
--- a/pkgs/development/libraries/skalibs/getpeereid.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/src/libstddjb/getpeereid.h
-+++ b/src/libstddjb/getpeereid.h
-@@ -3,6 +3,14 @@
- #ifndef GETPEEREID_H
- #define GETPEEREID_H
- 
-+#include "sysdeps.h"
-+
-+#ifdef HASGETPEEREID
-+/* syscall exists - do nothing */
-+
-+#else
-+
- extern int getpeereid (int, int *, int *) ;
- 
- #endif
-+#endif
---- a/src/libstddjb/ipc_eid.c
-+++ b/src/libstddjb/ipc_eid.c
-@@ -5,7 +5,7 @@
- 
- int ipc_eid (int s, unsigned int *u, unsigned int *g)
- {
--  int dummyu, dummyg ;
-+  unsigned int dummyu, dummyg ;
-   if (getpeereid(s, &dummyu, &dummyg) < 0) return -1 ;
-   *u = (unsigned int)dummyu ;
-   *g = (unsigned int)dummyg ;
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index a7db634dbd0..bf1f38fbb83 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -1,17 +1,26 @@
-{stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline}:
+{ stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline }:
 
-stdenv.mkDerivation {
-  name = "slang-2.2.1";
+stdenv.mkDerivation rec {
+  name = "slang-2.3.0";
   src = fetchurl {
-    url = ftp://ftp.fu-berlin.de/pub/unix/misc/slang/v2.2/slang-2.2.1.tar.bz2;
-    sha256 = "1qgfg6i5lzmw8j9aqd8pgz3vnhn80giij9bpgm5r3gmna2h0rzfj";
+    url = "http://www.jedsoft.org/releases/slang/${name}.tar.gz";
+    sha256 = "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy";
   };
+
   # Fix some wrong hardcoded paths
   preConfigure = ''
     sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" configure
-    sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" src/sltermin.c    
+    sed -i -e "s|/usr/lib/terminfo|${ncurses}/lib/terminfo|" src/sltermin.c
     sed -i -e "s|/bin/ln|ln|" src/Makefile.in
   '';
   configureFlags = "--with-png=${libpng} --with-z=${zlib} --with-pcre=${pcre} --with-readline=${readline}";
   buildInputs = [ncurses pcre libpng zlib readline];
+
+  meta = {
+    description = "A multi-platform programmer's library designed to allow a developer to create robust software";
+    homepage = http://www.jedsoft.org/slang/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
 }
diff --git a/pkgs/development/libraries/slib/default.nix b/pkgs/development/libraries/slib/default.nix
index 4c615b81552..36b6aff8105 100644
--- a/pkgs/development/libraries/slib/default.nix
+++ b/pkgs/development/libraries/slib/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
       provides a platform independent framework for using packages of Scheme
       procedures and syntax.  As distributed, SLIB contains useful packages
       for all Scheme implementations.  Its catalog can be transparently
-      extended to accomodate packages specific to a site, implementation,
+      extended to accommodate packages specific to a site, implementation,
       user, or directory.
 
       SLIB supports Bigloo, Chez, ELK 3.0, Gambit 4.0, Guile, JScheme, Kawa,
@@ -52,10 +52,10 @@ stdenv.mkDerivation rec {
     '';
 
     # Public domain + permissive (non-copyleft) licensing of some files.
-    license = "public domain";
+    license = stdenv.lib.licenses.publicDomain;
 
     homepage = http://people.csail.mit.edu/jaffer/SLIB;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 30c1f4937ec..c2473ae2c5d 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk, m4, pkgconfig, mesa }:
+{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk, m4, pkgconfig, mesa, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "smpeg-svn${version}";
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ SDL autoconf automake libtool gtk m4 pkgconfig mesa ];
+  buildInputs = [ SDL gtk mesa ];
+
+  nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ];
 
   preConfigure = ''
     touch NEWS AUTHORS ChangeLog
@@ -26,6 +28,10 @@ stdenv.mkDerivation rec {
     -e 's,"SDL_thread.h",<SDL/SDL_thread.h>,' \
     -e 's,"SDL_types.h",<SDL/SDL_types.h>,' \
       $out/include/smpeg/*.h
+
+    wrapProgram $out/bin/smpeg-config \
+      --prefix PATH ":" "${pkgconfig}/bin" \
+      --prefix PKG_CONFIG_PATH ":" "${SDL}/lib/pkgconfig"
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix
index acba85ec43b..90469508d0e 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "snappy-1.1.1";
+  name = "snappy-1.1.2";
   
-  src = fetchurl {
-    url = "http://snappy.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1czscb5i003jg1amw3g1fmasv8crr5g3d922800kll8b3fj097yp";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "snappy";
+    rev = "1ff9be9b8fafc8528ca9e055646f5932aa5db9c4";
+    sha256 = "1zyjj13max0z42g3ii54n3qn7rbcga34dbi26lpm7v5ya752shx7";
   };
 
-  # -DNDEBUG for speed
+  buildInputs = [ pkgconfig autoreconfHook ];
+
   preConfigure = ''
-    configureFlagsArray=("CXXFLAGS=-DNDEBUG -O2")
+    sh autogen.sh
   '';
 
+  # -DNDEBUG for speed
+  configureFlags = [ "CXXFLAGS=-DNDEBUG" ];
+
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://code.google.com/p/snappy/;
-    license = "BSD";
+    license = licenses.bsd3;
     description = "Compression/decompression library for very high speeds";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/socket_wrapper/default.nix b/pkgs/development/libraries/socket_wrapper/default.nix
new file mode 100644
index 00000000000..1344ad18d09
--- /dev/null
+++ b/pkgs/development/libraries/socket_wrapper/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "socket_wrapper-1.1.3";
+
+  src = fetchgit {
+    url = "git://git.samba.org/socket_wrapper.git";
+    rev = "refs/tags/${name}";
+    sha256 = "0b3sfjy7418gg52qkdblfi5x57g4m44n7434xhacz9isyl5m52vn";
+  };
+
+  buildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "a library passing all socket communications through unix sockets";
+    homepage = "https://git.samba.org/?p=socket_wrapper.git;a=summary";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
index be52725f2c8..7bdec155813 100644
--- a/pkgs/development/libraries/sodium/default.nix
+++ b/pkgs/development/libraries/sodium/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="sodium";
-    version="0.6.1";
+    version="1.0.2";
     name="${baseName}-${version}";
-    hash="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04";
-    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.6.1.tar.gz";
-    sha256="151nril3kzkpmy6khvqphk4zk15ri0dqv0isyyhz6n9nsbmzxk04";
+    hash="06dabf77cz6qg7aqv5j5r4m32b5zn253pixwb3k5lm3z0h88y7cn";
+    url="http://download.dnscrypt.org/libsodium/releases/libsodium-1.0.2.tar.gz";
+    sha256="06dabf77cz6qg7aqv5j5r4m32b5zn253pixwb3k5lm3z0h88y7cn";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix
index 8f122cb699a..96a19bf37cc 100644
--- a/pkgs/development/libraries/sord/default.nix
+++ b/pkgs/development/libraries/sord/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sord-${version}";
-  version = "0.12.0";
+  version = "0.12.2";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1f0wz7ynnk72hyr4jfi0lgvj90ld2va1kig8fkw30s8b903alsqj";
+    sha256 = "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx";
   };
 
   buildInputs = [ pkgconfig python serd ];
diff --git a/pkgs/development/libraries/soundtouch/default.nix b/pkgs/development/libraries/soundtouch/default.nix
new file mode 100644
index 00000000000..dcb09af84f9
--- /dev/null
+++ b/pkgs/development/libraries/soundtouch/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, autoconf, automake, libtool}:
+
+stdenv.mkDerivation rec {
+  pName = "soundtouch";
+  name = "${pName}-1.8.0";
+  src = fetchurl {
+    url = "http://www.surina.net/soundtouch/${name}.tar.gz";
+    sha256 = "3d4161d74ca25c5a98c69dbb8ea10fd2be409ba1a3a0bf81db407c4c261f166b";
+  };
+
+  buildInputs = [ autoconf automake libtool ];
+
+  preConfigurePhases = "./bootstrap";
+
+  meta = {
+      description = "A program and library for changing the tempo, pitch and playback rate of audio";
+      homepage = http://www.surina.net/soundtouch/;
+      downloadPage = http://www.surina.net/soundtouch/sourcecode.html;
+      license = stdenv.lib.licenses.lgpl21;
+      platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index f88ab48e027..24dc443ca70 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, audiofile, libtiff}:
 stdenv.mkDerivation rec {
-  version = "0.0.5";
+  version = "0.0.6";
   name = "spandsp-${version}";
   src=fetchurl {
-    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tgz";
-    sha256 = "07f42a237c77b08fa765c3a148c83cdfa267bf24c0ab681d80b90d30dd0b3dbf";
+    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
+    sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc";
   };
   buildInputs = [];
   propagatedBuildInputs = [audiofile libtiff];
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; gpl2;
+    downloadPage = "http://www.soft-switch.org/downloads/spandsp/";
+    inherit version;
+    updateWalker = true;
   };
 }
 
diff --git a/pkgs/development/libraries/spatialite-tools/default.nix b/pkgs/development/libraries/spatialite-tools/default.nix
new file mode 100644
index 00000000000..9ac8a7d56f4
--- /dev/null
+++ b/pkgs/development/libraries/spatialite-tools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, sqlite, expat, zlib, proj, geos, libspatialite, readosm }:
+
+stdenv.mkDerivation rec {
+  name = "spatialite-tools-4.1.1";
+
+  src = fetchurl {
+    url = "http://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/${name}.tar.gz";
+    sha256 = "14aqmhvab63ydbb82fglsbig7jw1wmci8jjvci07aavdhvh1pyrv";
+  };
+
+  buildInputs = [ pkgconfig sqlite expat zlib proj geos libspatialite readosm ];
+
+  configureFlags = "--disable-freexl";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A complete sqlite3-compatible CLI front-end for libspatialite";
+    homepage = https://www.gaia-gis.it/fossil/spatialite-tools;
+    licenses = with stdenv.lib.licenses; [ mpl11 gpl2Plus lgpl21Plus ];
+  };
+}
diff --git a/pkgs/development/libraries/speech-tools/default.nix b/pkgs/development/libraries/speech-tools/default.nix
index 48168ceb92d..79a633c6541 100644
--- a/pkgs/development/libraries/speech-tools/default.nix
+++ b/pkgs/development/libraries/speech-tools/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , gawk, alsaLib, ncurses
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -28,7 +28,7 @@ rec {
 
   /* doConfigure should be removed if not needed */
   phaseNames = ["doUnpack" "killUsrBin" "doConfigure" "doMakeInstall" "doDeploy" "fixPaths"];
-      
+
   killUsrBin = a.fullDepEntry ''
     sed -e s@/usr/bin/@@g -i $( grep -rl '/usr/bin/' . )
     sed -re 's@/bin/(rm|printf|uname)@\1@g' -i $( grep -rl '/bin/' . )
@@ -55,7 +55,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "free-noncopyleft";
+    license = a.lib.licenses.free;
   };
   passthru = {
     updateInfo = {
@@ -63,4 +63,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index 1841fcbe4a1..1b4cf69f704 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation (rec {
-  name = "sphinxbase-0.7";
+  name = "sphinxbase-0.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/cmusphinx/${name}.tar.gz";
-    sha256 = "1v3kfzw42ahxmr002i6wqigs832958vgghrv5dd62zazajdbk71q";
+    sha256 = "1a3c91g6rcfb2k8qyfhnd7s68ds6pxwv61xfp0ai1arbhx28jw2m";
   };
 
   buildInputs = [ pkgconfig bison ];
@@ -18,8 +18,11 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "Support Library for Pocketsphinx";
     homepage = http://cmusphinx.sourceforge.net;
-    license = "free-non-copyleft";
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
+
 } // (stdenv.lib.optionalAttrs multipleOutputs {
   outputs = [ "out" "lib" "headers" ];
 
@@ -31,4 +34,3 @@ stdenv.mkDerivation (rec {
     cp -av $out/include $headers
   '';
 }))
-
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index f649401c5ca..e7a048f0a31 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "spice-gtk-0.24";
+  name = "spice-gtk-0.25";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
-    sha256 = "1l8y1pbaqyzb6w8w8xa097dvj4zxhksn85pif1b9847r8l451zkf";
+    sha256 = "11yh593frbafp0ywkk7pfc2k17q1fwrl8zcjclph3xfr1alccc07";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index 162a832c93a..79fe47ff476 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -1,19 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "spice-protocol-0.12.6";
+  name = "spice-protocol-0.12.7";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "16r5x2sppiaa6pzawkrvk5q4hmw7ynmlp2xr38f1vaxj5rh4aiwx";
+    sha256 = "1hhn94bw2l76h09sy05a15bs6zalsijnylyqpwcys5hq6rrwpiln";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Protocol headers for the SPICE protocol";
     homepage = http://www.spice-space.org;
-    license = stdenv.lib.licenses.bsd3;
-
-    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bluescreen303 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index 2af9565e0b4..2353eec7348 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "spice-0.12.4";
+  name = "spice-0.12.5";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "11xkdz26b39syynxm3iyjsr8q7x0v09zdli9an1ilcrfyiykw1ng";
+    sha256 = "10gmqaanfg929aamf11n4si4r3d1g7z9qjdclsl9kjv7iw6s42a2";
   };
 
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index ec392e71531..98a71993253 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchurl, readline ? null, ncurses ? null }:
+{ lib, stdenv, fetchurl, interactive ? false, readline ? null, ncurses ? null }:
 
-assert readline != null -> ncurses != null;
+assert interactive -> readline != null && ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.8.4.3";
+  name = "sqlite-3.8.8.3";
 
   src = fetchurl {
-    url = "http://www.sqlite.org/2014/sqlite-autoconf-3080403.tar.gz";
-    sha1 = "zd9nqg1fc41222hvzvmvzr92z80b3wvh";
+    url = "http://sqlite.org/2015/sqlite-autoconf-3080803.tar.gz";
+    sha1 = "2fe3f6226a2a08a2e814b97cd53e36bb3c597112";
   };
 
-  buildInputs = [ readline ncurses ];
+  buildInputs = lib.optionals interactive [ readline ncurses ];
 
   configureFlags = "--enable-threadsafe";
 
-  CFLAGS = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1";
-  LDFLAGS = if readline != null then "-lncurses" else "";
+  NIX_CFLAGS_COMPILE = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1";
 
   meta = {
     homepage = http://www.sqlite.org/;
     description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
     platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ eelco np ];
   };
 }
diff --git a/pkgs/development/libraries/srtp/default.nix b/pkgs/development/libraries/srtp/default.nix
index c6cf56e59d6..98cf160e8b5 100644
--- a/pkgs/development/libraries/srtp/default.nix
+++ b/pkgs/development/libraries/srtp/default.nix
@@ -1,51 +1,36 @@
-x@{builderDefsPackage
-  , autoconf, automake, libtool, doxygen, procps
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchFromGitHub, pkgconfig
+, openssl ? null, libpcap ? null
+}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="srtp";
-    version="1.4.4";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/${baseName}/${name}.tgz";
-    hash="057k191hx7sf84wdvc8wr1nk4whhrvbg1vv3r4nyswjir6qwphnr";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "libsrtp-${version}";
+  version = "1.5.2";
+
+  src = fetchFromGitHub {
+    owner = "cisco";
+    repo = "libsrtp";
+    rev = "v${version}";
+    sha256 = "0iy1il72gnjcwbi16wf4kzdqs1xx8is9qvs6m49pg37218s26gdw";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ pkgconfig ];
+
+  # libsrtp.pc references -lcrypto -lpcap without -L
+  propagatedBuildInputs = [ openssl libpcap ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doConfigure" "doMakeInstall"];
+  configureFlags = [
+    "--disable-debug"
+  ] ++ optional (openssl != null) "--enable-openssl";
 
-  setVars = a.fullDepEntry ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC"
-  '' ["minInit"];
+  postInstall = ''
+    rmdir $out/bin
+  '';
 
   meta = {
-    description = "Secure RTP";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    homepage = https://github.com/cisco/libsrtp;
+    description = "Secure RTP (SRTP) Reference Implementation";
+    license = licenses.bsd3;
+    platforms = platforms.all;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://srtp.sourceforge.net/download.html";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/development/libraries/srtp/linphone.nix b/pkgs/development/libraries/srtp/linphone.nix
deleted file mode 100644
index 9108be5e30c..00000000000
--- a/pkgs/development/libraries/srtp/linphone.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, fetchgit, automake, autoconf, libtool }:
-
-stdenv.mkDerivation {
-  name = "srtp-linphone-git-20130530-1c9bd9065";
-
-  src = fetchgit {
-    url = git://git.linphone.org/srtp.git;
-    rev = "1c9bd9065";
-    sha256 = "0r4wbrih8bggs69fnfmzm17z1pp1zp8x9qwcckcq6wc54b16d9g3";
-  };
-
-  preConfigure = "autoreconf -vfi";
-
-  buildInputs = [ automake autoconf libtool ];
-}
diff --git a/pkgs/development/libraries/startup-notification/default.nix b/pkgs/development/libraries/startup-notification/default.nix
index 2683a01a290..b4b29b54881 100644
--- a/pkgs/development/libraries/startup-notification/default.nix
+++ b/pkgs/development/libraries/startup-notification/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.freedesktop.org/software/startup-notification;
     description = "Application startup notification and feedback library";
-    license = "BSD";
+    license = stdenv.lib.licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/stfl/default.nix b/pkgs/development/libraries/stfl/default.nix
index 9e3f749ca8f..4e24268314e 100644
--- a/pkgs/development/libraries/stfl/default.nix
+++ b/pkgs/development/libraries/stfl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, libiconvOrEmpty }:
+{ stdenv, fetchurl, ncurses, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "stfl-0.22";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "062lqlf3qhp8bcapbpc0k3wym7x6ngncql8jmx5x06p6679szp9d";
   };
 
-  buildInputs = [ ncurses ] ++ libiconvOrEmpty;
+  buildInputs = [ ncurses libiconv ];
 
   buildPhase = ''
     sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h
diff --git a/pkgs/development/libraries/stlport/default.nix b/pkgs/development/libraries/stlport/default.nix
index f1c8a84fee2..30f87d36ddf 100644
--- a/pkgs/development/libraries/stlport/default.nix
+++ b/pkgs/development/libraries/stlport/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An implementation of the C++ Standard Library";
     homepage = http://sourceforge.net/projects/stlport/;
-    license = "free"; # seems BSD-like
+    license = stdenv.lib.licenses.free; # seems BSD-like
+    broken = true; # probably glibc-2.20 -related issue
   };
 }
diff --git a/pkgs/development/libraries/strigi/default.nix b/pkgs/development/libraries/strigi/default.nix
index 6b8b611d3f7..ee89eda327d 100644
--- a/pkgs/development/libraries/strigi/default.nix
+++ b/pkgs/development/libraries/strigi/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   CLUCENE_HOME = clucene_core;
 
   buildInputs =
-    [ zlib bzip2 stdenv.gcc.libc libxml2 qt4 exiv2 clucene_core fam dbus_tools ];
+    [ zlib bzip2 stdenv.cc.libc libxml2 qt4 exiv2 clucene_core fam dbus_tools ];
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
 
diff --git a/pkgs/development/libraries/stxxl/default.nix b/pkgs/development/libraries/stxxl/default.nix
new file mode 100644
index 00000000000..b387c59efa1
--- /dev/null
+++ b/pkgs/development/libraries/stxxl/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, cmake, parallel ? true }:
+
+stdenv.mkDerivation rec {
+  name = "stxxl-1.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/stxxl/stxxl/archive/1.4.1.tar.gz";
+    sha256 = "54006a5fccd1435abc2f3ec201997a4d7dacddb984d2717f62191798e5372f6c";
+  };
+
+  buildInputs = [ cmake ];
+
+  cmakeFlags = let parallel_str = if parallel then "ON" else "OFF"; in "-DUSE_GNU_PARALLEL=${parallel_str}";
+
+  passthru = {
+    inherit parallel;
+  };
+
+  meta = {
+    homepage = https://github.com/stxxl/stxxl;
+    description = "STXXL is an implementation of the C++ standard template library STL for external memory (out-of-core) computations.";
+    license = stdenv.lib.licenses.boost;
+  };
+}
diff --git a/pkgs/development/libraries/svrcore/default.nix b/pkgs/development/libraries/svrcore/default.nix
new file mode 100644
index 00000000000..637b8b8ab7f
--- /dev/null
+++ b/pkgs/development/libraries/svrcore/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, nss, nspr }:
+
+stdenv.mkDerivation rec {
+  name = "svrcore-${version}";
+  version = "4.0.4";
+
+  src = fetchurl {
+    url = "ftp://ftp.mozilla.org/pub/mozilla.org/directory/svrcore/releases/${version}/src/${name}.tar.bz2";
+    sha256 = "0n3alg6bxml8952fb6h0bi0l29farvq21q6k20gy2ba90m3znwj7";
+  };
+
+  buildInputs = [ pkgconfig nss nspr ];
+
+  meta = with stdenv.lib; {
+    description = "Secure PIN handling using NSS crypto";
+    license = licenses.mpl11;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix
index 28afdf85dfb..6faf2224b0c 100644
--- a/pkgs/development/libraries/sword/default.nix
+++ b/pkgs/development/libraries/sword/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, pkgconfig, icu, clucene_core, curl}:
+{ stdenv, fetchurl, pkgconfig, icu, clucene_core, curl }:
 
 stdenv.mkDerivation rec {
 
-  version = "1.7.2";
+  version = "1.7.3";
 
   name = "sword-${version}";
 
   src = fetchurl {
     url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz";
-    sha256 = "ac7aace0ecb7a405d4b4b211ee1ae5b2250bb5c57c9197179747c9e830787871";
+    sha256 = "1sm9ivypsx3mraqnziic7qkxjx1b7crvlln0zq6cnpjx2pzqfgas";
   };
 
   buildInputs = [ pkgconfig icu clucene_core curl ];
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A software framework that allows research manipulation of Biblical texts";
     homepage = http://www.crosswire.org/sword/;
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.piotr maintainers.AndersonTorres ];
   };
 
 }
diff --git a/pkgs/development/libraries/t1lib/default.nix b/pkgs/development/libraries/t1lib/default.nix
index ebd8699dc17..039dc59774c 100644
--- a/pkgs/development/libraries/t1lib/default.nix
+++ b/pkgs/development/libraries/t1lib/default.nix
@@ -1,14 +1,33 @@
-{stdenv, fetchurl, xlibsWrapper, libXaw, libXpm}:
+{ stdenv, fetchurl, fetchpatch, libX11, libXaw }:
 
+let
+  getPatch = { name, sha256 }: fetchpatch {
+    inherit name sha256;
+    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/${name}"
+      + "?h=packages/t1lib&id=643a4c2c58e70072b5bc1e9e4624162517b58357";
+  };
+
+  patches = map getPatch [
+    { name = "lib-cleanup.diff"; sha256 = "1w3q1y4zk0y4mf2s2x9z4cd8d4af8i868c8837p40mz3dqrai4zp"; }
+    { name = "format-security.diff"; sha256 = "0cca94bif9dsc6iwpcnk1504gb3sl3nsqhni85c21q9aywyz26l3"; }
+    { name = "CVE-2011-0764.diff"; sha256 = "1j0y3f38im7srpqjg9jvx8as6sxkz8gw7hglcxnxl9qylx8mr2jh"; }
+    { name = "CVE-2011-1552_1553_1554.patch"; sha256 = "16cyq6jhyhh8912j8hapx9pq4rzxk36ljlkxlnyi7i3wr8iz1dir"; }
+    { name = "CVE-2010-2642.patch"; sha256 = "175zvyr9v1xs22k2svgxqjcpz5nihfa7j46hn9nzvkqcrhm5m9y8"; }
+  ];
+in
 stdenv.mkDerivation {
   name = "t1lib-5.1.2";
 
   src = fetchurl {
-    url = "ftp://ftp.nluug.nl/pub/metalab/libs/graphics/t1lib-5.1.2.tar.gz";
+    url = "mirror://metalab/libs/graphics/t1lib-5.1.2.tar.gz";
     sha256 = "0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2";
   };
+  inherit patches;
 
-  buildInputs = [xlibsWrapper libXaw libXpm];
+  buildInputs = [ libX11 libXaw ];
   buildFlags = "without_doc";
+
+  postInstall = "chmod +x $out/lib/*.so.*"; # ??
+
 }
 
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 15e89d9210a..d9f52d8d87c 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -1,24 +1,38 @@
-{ fetchurl, stdenv }:
+{ stdenv, fetchurl, python, pkgconfig, readline, libxslt
+, docbook_xsl, docbook_xml_dtd_42
+}:
 
 stdenv.mkDerivation rec {
-  name = "talloc-2.0.1";
+  name = "talloc-2.1.2";
 
   src = fetchurl {
-    url = "http://samba.org/ftp/talloc/${name}.tar.gz";
-    md5 = "c6e736540145ca58cb3dcb42f91cf57b";
+    url = "mirror://samba/talloc/${name}.tar.gz";
+    sha256 = "13c365f7y8idjf2v1jxdjpkc3lxdmsxxfxjx1ymianm7zjiph393";
   };
 
-  configureFlags = "--enable-talloc-compat1 --enable-largefile";
-  
-  # https://bugzilla.samba.org/show_bug.cgi?id=7000
-  postConfigure = if stdenv.isDarwin then ''
-    substituteInPlace "Makefile" --replace "SONAMEFLAG = #" "SONAMEFLAG = -install_name"
-  '' else "";
+  buildInputs = [
+    python pkgconfig readline libxslt docbook_xsl docbook_xml_dtd_42
+  ];
 
-  meta = {
+  preConfigure = ''
+    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,g' buildtools/bin/waf
+  '';
+
+  configureFlags = [
+    "--enable-talloc-compat1"
+    "--bundled-libraries=NONE"
+    "--builtin-libraries=replace"
+  ];
+
+  postInstall = ''
+    ar qf $out/lib/libtalloc.a bin/default/talloc_5.o
+  '';
+
+  meta = with stdenv.lib; {
     description = "Hierarchical pool based memory allocator with destructors";
     homepage = http://tdb.samba.org/;
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index c5331656435..81227f0829b 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -1,16 +1,29 @@
-{ fetchurl, stdenv, libxslt, libxml2, docbook_xsl }:
+{ stdenv, fetchurl, python, pkgconfig, readline, libxslt
+, docbook_xsl, docbook_xml_dtd_42
+}:
 
 stdenv.mkDerivation rec {
-  name = "tdb-1.2.1";
+  name = "tdb-1.3.4";
 
   src = fetchurl {
-    url = "http://samba.org/ftp/tdb/${name}.tar.gz";
-    sha256 = "1yndfc2hn28v78vgvrds7cjggmmhf9q5dcfklgdfvpsx9j9knhpg";
+    url = "mirror://samba/tdb/${name}.tar.gz";
+    sha256 = "0a8pa4ar7dxkbsgv1447av2rn35a1m6l1v2s9hgz3ccwni9wv1gm";
   };
 
-  buildInputs = [ libxslt libxml2 docbook_xsl ];
+  buildInputs = [
+    python pkgconfig readline libxslt docbook_xsl docbook_xml_dtd_42
+  ];
 
-  meta = {
+  preConfigure = ''
+    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,g' buildtools/bin/waf
+  '';
+
+  configureFlags = [
+    "--bundled-libraries=NONE"
+    "--builtin-libraries=replace"
+  ];
+
+  meta = with stdenv.lib; {
     description = "The trivial database";
     longDescription =
       '' TDB is a Trivial Database. In concept, it is very much like GDBM,
@@ -18,11 +31,9 @@ stdenv.mkDerivation rec {
          uses locking internally to keep writers from trampling on each
          other.  TDB is also extremely small.
       '';
-
     homepage = http://tdb.samba.org/;
-    license = stdenv.lib.licenses.lgpl3Plus;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index 6c0806ec4cd..9167ecc76d4 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [pkgconfig libxslt] ++ stdenv.lib.optional valaSupport vala;
 
+  preConfigure = ''
+    substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires
+  '';
+
   meta = {
     homepage = http://telepathy.freedesktop.org;
   };
diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index 4ec8c4befc6..7ef48d09725 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -2,15 +2,13 @@
 , telepathy_farstream, telepathy_glib, pythonDBus }:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-qt-0.9.4";
+  name = "telepathy-qt-0.9.5";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
-    sha256 = "1wk13rwpas1crj19xsbgl1c4qzri616xxa1hyhnykv4nkwxdpcgi";
+    sha256 = "13lwh23ad9bg7hx1mj4xjc2lb8nlaaw8hbrmx5gg8nz5xxc4hiwk";
   };
 
-  patches = [ ./farstream-0.2.diff ];
-
   nativeBuildInputs = [ cmake pkgconfig python libxslt ];
   propagatedBuildInputs = [ qt4 dbus_glib telepathy_farstream telepathy_glib pythonDBus ];
 
@@ -22,4 +20,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   doCheck = false; # giving up for now
+
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff b/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff
deleted file mode 100644
index 86d392fe1ac..00000000000
--- a/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -urB telepathy-qt/cmake/modules/FindFarstream.cmake new/cmake/modules/FindFarstream.cmake
---- telepathy-qt/cmake/modules/FindFarstream.cmake      2012-04-25 22:14:22.275967164 +0200
-+++ new/cmake/modules/FindFarstream.cmake       2012-10-07 12:19:46.543103512 +0200
-@@ -23,9 +23,9 @@
-     # in the find_path() and find_library() calls
-     find_package(PkgConfig)
-     if (FARSTREAM_MIN_VERSION)
--        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1>=${FARSTREAM_MIN_VERSION})
-+        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2>=${FARSTREAM_MIN_VERSION})
-     else (FARSTREAM_MIN_VERSION)
--        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1)
-+        PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2)
-     endif (FARSTREAM_MIN_VERSION)
-     set(FARSTREAM_DEFINITIONS ${PC_FARSTREAM_CFLAGS_OTHER})
- endif (NOT WIN32)
-@@ -34,10 +34,10 @@
-    PATHS
-    ${PC_FARSTREAM_INCLUDEDIR}
-    ${PC_FARSTREAM_INCLUDE_DIRS}
--   PATH_SUFFIXES farstream-0.1
-+   PATH_SUFFIXES farstream-0.2
-    )
- 
--find_library(FARSTREAM_LIBRARIES NAMES farstream-0.1
-+find_library(FARSTREAM_LIBRARIES NAMES farstream-0.2
-    PATHS
-    ${PC_FARSTREAM_LIBDIR}
-    ${PC_FARSTREAM_LIBRARY_DIRS}
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
new file mode 100644
index 00000000000..db863d951a6
--- /dev/null
+++ b/pkgs/development/libraries/tevent/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, python, pkgconfig, readline, talloc
+, libxslt, docbook_xsl, docbook_xml_dtd_42
+}:
+
+stdenv.mkDerivation rec {
+  name = "tevent-0.9.24";
+
+  src = fetchurl {
+    url = "mirror://samba/tevent/${name}.tar.gz";
+    sha256 = "0l1zjx2z6nhvn6gwbcvzn8w0cca53j717fwi10s7a5v1jb04rfad";
+  };
+
+  buildInputs = [
+    python pkgconfig readline talloc libxslt docbook_xsl docbook_xml_dtd_42
+  ];
+
+  preConfigure = ''
+    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,g' buildtools/bin/waf
+  '';
+
+  configureFlags = [
+    "--bundled-libraries=NONE"
+    "--builtin-libraries=replace"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "an event system based on the talloc memory management library.";
+    homepage = http://tevent.samba.org/;
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index f8c437f2b0f..a09a8a530a5 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -1,41 +1,38 @@
-{ stdenv, fetchgit, boost, zlib, libevent, openssl, python, automake, autoconf
-, libtool, pkgconfig, bison, flex
+{ stdenv, fetchurl, boost, zlib, libevent, openssl, python, pkgconfig, bison
+, flex
 }:
 
-stdenv.mkDerivation {
-  name = "thrift-0.9.1";
+stdenv.mkDerivation rec {
+  name = "thrift-${version}";
+  version = "0.9.2";
 
-  # I take git, because the tarball is broken.
-  # http://stackoverflow.com/questions/18643642/libtool-error-building-thrift-0-9-1-on-ubuntu-13-04
-  src = fetchgit {
-    url = "https://git-wip-us.apache.org/repos/asf/thrift.git";
-    rev = "ff980c1432936c6bc897c60469ab05b5e0c6cb5e";
-    md5 = "466aca9e43e43df868f4385af50e32f6";
+  src = fetchurl {
+    url = "http://archive.apache.org/dist/thrift/${version}/${name}.tar.gz";
+    sha256 = "0w4m6hjmgr1wqac9p5zyfxx2wwqay730qi14fzxba7f46hwhvxff";
   };
 
   #enableParallelBuilding = true; problems on hydra
 
-  # Fixes build error: <flex>/lib/libfl.so: undefined reference to `yylex'.
-  # Patch exists in upstream git repo, so it can be removed on the next version
-  # bump.
-  patches = [ ./yylex.patch ];
-
   # Workaround to make the python wrapper not drop this package:
-  # pythonFull.override { extraLibs = [ thrift ]; }
+  # pythonFull.buildEnv.override { extraLibs = [ thrift ]; }
   pythonPath = [];
 
   buildInputs = [
-    boost zlib libevent openssl python automake autoconf libtool pkgconfig
-    bison flex
+    boost zlib libevent openssl python pkgconfig bison flex
   ];
 
-  preConfigure = "sh bootstrap.sh; export PY_PREFIX=$out";
+  preConfigure = "export PY_PREFIX=$out";
+
+  # TODO: package boost-test, so we can run the test suite. (Currently it fails
+  # to find libboost_unit_test_framework.a.)
+  configureFlags = "--enable-tests=no";
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Library for scalable cross-language services";
     homepage = http://thrift.apache.org/;
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/thrift/yylex.patch b/pkgs/development/libraries/thrift/yylex.patch
deleted file mode 100644
index 3700bc6a436..00000000000
--- a/pkgs/development/libraries/thrift/yylex.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fixes build error:
-
-  <flex>/lib/libfl.so: undefined reference to `yylex'
-
-The same patch exists in upstream thrift git repo, commit
-ec8daae71004b3c2346bf12b2d74e52ed0815337
-"THRIFT-2386: Thrift refuses to link yylex".
-diff --git a/compiler/cpp/src/main.h b/compiler/cpp/src/main.h
-index 87af5f6..27285f5 100644
---- a/compiler/cpp/src/main.h
-+++ b/compiler/cpp/src/main.h
-@@ -28,8 +28,9 @@
- /**
-  * Defined in the flex library
-  */
--
--int yylex(void);
-+extern "C" {
-+	int yylex(void);
-+}
- 
- int yyparse(void);
- 
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index 9b08b8d5d90..55438e2c201 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, krb5 }:
+{ fetchurl, stdenv, kerberos }:
 
 stdenv.mkDerivation rec {
-  name = "libtirpc-0.2.4";
+  name = "libtirpc-0.2.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/libtirpc/${name}.tar.bz2";
-    sha256 = "18a337wa4amf0k21wnimp3yzs5l3cxqndz4x3x8bm993zhfy5hs5";
+    sha256 = "1nq2w227j9nh8qsz7b3c1pha00k5yvzf2c3pfmlcb1l65iydxyb2";
   };
 
-  buildInputs = [ krb5 ];
+  buildInputs = [ kerberos ];
 
   # http://www.sourcemage.org/projects/grimoire/repository/revisions/d6344b6a3a94b88ed67925a474de5930803acfbf
   preConfigure = ''
@@ -21,10 +21,12 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://sourceforge.net/projects/libtirpc/";
     description = "The transport-independent Sun RPC implementation (TI-RPC)";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
     longDescription = ''
        Currently, NFS commands use the SunRPC routines provided by the
        glibc.  These routines do not support IPv6 addresses.  Ulrich
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
        migrated their SunRPC library to a TI-RPC (Transport Independent
        RPC) implementation.  This implementation allows the support of
        other transports than UDP and TCP over IPv4.  FreeBSD provides a
-       TI-RPC library ported from NetBSD with improvments.  This library
+       TI-RPC library ported from NetBSD with improvements.  This library
        already supports IPv6.  So, the FreeBSD release 5.2.1 TI-RPC has
        been ported to replace the SunRPC of the glibc.
     '';
diff --git a/pkgs/development/libraries/tinyxml/2.6.2-entity.patch b/pkgs/development/libraries/tinyxml/2.6.2-entity.patch
index 3164261291b..3164261291b 100755..100644
--- a/pkgs/development/libraries/tinyxml/2.6.2-entity.patch
+++ b/pkgs/development/libraries/tinyxml/2.6.2-entity.patch
diff --git a/pkgs/development/libraries/tinyxml/2.6.2.nix b/pkgs/development/libraries/tinyxml/2.6.2.nix
index e1cc1f27c1d..7f0a343eba2 100644
--- a/pkgs/development/libraries/tinyxml/2.6.2.nix
+++ b/pkgs/development/libraries/tinyxml/2.6.2.nix
@@ -4,20 +4,20 @@ let
   version = "2.6.2";
 in stdenv.mkDerivation {
   name = "tinyxml-${version}";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/project/tinyxml/tinyxml/${version}/tinyxml_2_6_2.zip";
     sha256 = "04nmw6im2d1xp12yir8va93xns5iz816pwi25n9cql3g3i8bjsxc";
   };
-  
+
   patches = [
     # add pkgconfig file
     ./2.6.2-add-pkgconfig.patch
-    
+
     # http://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559
     ./2.6.2-entity.patch
   ];
-  
+
   buildInputs = [ unzip ];
   buildPhase = ''
     # use STL (xbmc requires it)
@@ -26,13 +26,13 @@ in stdenv.mkDerivation {
 
     # build xmltest
     make
-    
+
     # build the lib as a shared library
     g++ -Wall -O2 -shared -fpic tinyxml.cpp \
     tinyxmlerror.cpp tinyxmlparser.cpp      \
     tinystr.cpp -o libtinyxml.so
   '';
-  
+
   doCheck = true;
   checkPhase = ''
     ./xmltest
@@ -41,25 +41,25 @@ in stdenv.mkDerivation {
       exit $result
     fi
   '';
-  
+
   installPhase = ''
     mkdir -pv $out/include/
     mkdir -pv $out/lib/pkgconfig/
     mkdir -pv $out/share/doc/tinyxml/
-    
+
     cp -v libtinyxml.so $out/lib/
     cp -v *.h $out/include/
-    
+
     substituteInPlace tinyxml.pc --replace "@out@" "$out"
     substituteInPlace tinyxml.pc --replace "@version@" "${version}"
     cp -v tinyxml.pc $out/lib/pkgconfig/
-    
+
     cp -v docs/* $out/share/doc/tinyxml/
   '';
-  
+
   meta = {
     description = "Simple, small, C++ XML parser that can be easily integrating into other programs";
     homepage = "http://www.grinninglizard.com/tinyxml/index.html";
-    license = "free-non-copyleft";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/tk/default.nix b/pkgs/development/libraries/tk/default.nix
index fd3684d189c..e44514d5abf 100644
--- a/pkgs/development/libraries/tk/default.nix
+++ b/pkgs/development/libraries/tk/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, tcl, libXft, fontconfig }:
 
 stdenv.mkDerivation {
-  name = "tk-8.5.15";
+  name = "tk-8.6.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/tcl/tk8.5.15-src.tar.gz";
-    sha256 = "0grj0k0hljvwiz913pafqibz18fzk9xjxf0nzqrd9zdls036fp41";
+    url = "mirror://sourceforge/tcl/tk8.6.4-src.tar.gz";
+    sha256 = "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88";
   };
 
   patches = [ ./different-prefix-with-tcl.patch ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   inherit tcl;
 
   passthru = {
-    libPrefix = "tk8.5";
+    libPrefix = "tk8.6";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/tk/different-prefix-with-tcl.patch b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch
index bf331b75cae..aee46e149b1 100644
--- a/pkgs/development/libraries/tk/different-prefix-with-tcl.patch
+++ b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch
@@ -1,22 +1,25 @@
---- tk8.5.15-orig/unix/Makefile.in	2014-01-25 08:57:45.626713122 +0800
-+++ tk8.5.15/unix/Makefile.in	2014-01-25 08:59:35.315341825 +0800
-@@ -995,7 +995,8 @@
+diff --git a/generic/tkWindow.c b/generic/tkWindow.c
+index b5cbbab..96b5501 100644
+--- a/generic/tkWindow.c
++++ b/generic/tkWindow.c
+@@ -988,6 +988,7 @@ TkCreateMainWindow(
+ 
+     Tcl_SetVar2(interp, "tk_patchLevel", NULL, TK_PATCH_LEVEL, TCL_GLOBAL_ONLY);
+     Tcl_SetVar2(interp, "tk_version",    NULL, TK_VERSION,     TCL_GLOBAL_ONLY);
++    Tcl_SetVar2(interp, "tk_library",    NULL, TK_LIBRARY,     TCL_GLOBAL_ONLY);
+ 
+     tsdPtr->numMainWindows++;
+     return tkwin;
+diff --git a/unix/Makefile.in b/unix/Makefile.in
+index f21fdbb..c61b0df 100644
+--- a/unix/Makefile.in
++++ b/unix/Makefile.in
+@@ -1029,7 +1029,7 @@ tkVisual.o: $(GENERIC_DIR)/tkVisual.c
  	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c
  
  tkWindow.o: $(GENERIC_DIR)/tkWindow.c
 -	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c
-+	$(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \
-+	    $(GENERIC_DIR)/tkWindow.c
++	$(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" $(GENERIC_DIR)/tkWindow.c
  
  tkButton.o: $(GENERIC_DIR)/tkButton.c
  	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c
---- tk8.5.15-orig/generic/tkWindow.c	2014-01-25 10:10:03.964476436 +0800
-+++ tk8.5.15/generic/tkWindow.c	2014-01-25 10:08:06.020950933 +0800
-@@ -983,6 +983,7 @@
- 
-     Tcl_SetVar(interp, "tk_patchLevel", TK_PATCH_LEVEL, TCL_GLOBAL_ONLY);
-     Tcl_SetVar(interp, "tk_version",    TK_VERSION,     TCL_GLOBAL_ONLY);
-+    Tcl_SetVar(interp, "tk_library",    TK_LIBRARY,     TCL_GLOBAL_ONLY);
- 
-     tsdPtr->numMainWindows++;
-     return tkwin;
diff --git a/pkgs/development/libraries/tokyo-cabinet/default.nix b/pkgs/development/libraries/tokyo-cabinet/default.nix
index 7741549666a..0b210a589d4 100644
--- a/pkgs/development/libraries/tokyo-cabinet/default.nix
+++ b/pkgs/development/libraries/tokyo-cabinet/default.nix
@@ -1,17 +1,15 @@
 { fetchurl, stdenv, zlib, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "tokyocabinet-1.4.46";
+  name = "tokyocabinet-1.4.48";
 
   src = fetchurl {
-    url = "http://www.1978th.net/tokyocabinet/${name}.tar.gz";
-    sha256 = "18rkv6kq43cqabc9mvfw534nsv6v8bc2i2r2bmax0yxnbhqa7ahf";
+    url = "http://fallabs.com/tokyocabinet/${name}.tar.gz";
+    sha256 = "140zvr0n8kvsl0fbn2qn3f2kh3yynfwnizn4dgbj47m975yg80x0";
   };
 
   buildInputs = [ zlib bzip2 ];
 
-  doCheck = true;
-
   postInstall =
     '' sed -i "$out/lib/pkgconfig/tokyocabinet.pc" \
            -e 's|-lz|-L${zlib}/lib -lz|g;
diff --git a/pkgs/development/libraries/tremor/default.nix b/pkgs/development/libraries/tremor/default.nix
index d55ea6166e8..c8eb6e3bdab 100644
--- a/pkgs/development/libraries/tremor/default.nix
+++ b/pkgs/development/libraries/tremor/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://xiph.org/tremor/;
     description = "Fixed-point version of the Ogg Vorbis decoder";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/tsocks/default.nix b/pkgs/development/libraries/tsocks/default.nix
index bdc2b4da6e3..778762f1bf8 100644
--- a/pkgs/development/libraries/tsocks/default.nix
+++ b/pkgs/development/libraries/tsocks/default.nix
@@ -2,21 +2,25 @@
 stdenv.mkDerivation rec {
   name = "tsocks-${version}";
   version = "1.8beta5";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/tsocks/${name}.tar.gz";
     sha256 = "0ixkymiph771dcdzvssi9dr2pk1bzaw9zv85riv3xl40mzspx7c4";
   };
 
+  patches = [ ./poll.patch ];
+
   preConfigure = ''
-      export configureFlags="$configureFlags --libdir=$out/lib"
+    sed -i -e "s,\\\/usr,"$(echo $out|sed -e "s,\\/,\\\\\\\/,g")",g" tsocks
+    substituteInPlace tsocks --replace /usr $out
+    export configureFlags="$configureFlags --libdir=$out/lib"
   '';
 
   meta = with stdenv.lib; {
     description = "Transparent SOCKS v4 proxying library";
     homepage = http://tsocks.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = [ maintainers.phreedom ];
+    maintainers = with maintainers; [ edwtjo phreedom ];
     platforms = platforms.linux;
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/libraries/tsocks/poll.patch b/pkgs/development/libraries/tsocks/poll.patch
new file mode 100644
index 00000000000..2bfeb9f779c
--- /dev/null
+++ b/pkgs/development/libraries/tsocks/poll.patch
@@ -0,0 +1,26 @@
+From Ingo Hadan <ingo.hadan@sdm.de> Fri, 02 Apr 2010 21:08:50 +0200
+From: Julien Moutinho <julm+tsocks@autogeree.net>
+Date: Fri, 26 Apr 2013 01:57:26 +0200
+Subject: tsocks fails if socksified application uses poll(2) (e.g. subversion-1.5)
+
+---
+diff --git a/tsocks.c b/tsocks.c
+index 9cfdfff..470babd 100644
+--- a/tsocks.c
++++ b/tsocks.c
+@@ -657,10 +657,11 @@ int poll(POLL_SIGNATURE) {
+              * be ready for writing), otherwise we'll just let the select loop
+              * come around again (since we can't flag it for read, we don't know
+              * if there is any data to be read and can't be bothered checking) */
+-            if (conn->selectevents & WRITE) {
+-               setevents |= POLLOUT; 
++            if (conn->selectevents & POLLOUT) {
++               ufds[i].revents |= POLLOUT; 
+                nevents++;
+             }
++            ufds[i].events = conn->selectevents;
+          }
+       }
+    } while (nevents == 0);
+
+
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index 0e8a95d5ac1..50d8f5e8745 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -1,17 +1,26 @@
-{ fetchurl, stdenv, gnutls, pkgconfig, zlib, libgcrypt }:
+{ stdenv, fetchurl, pkgconfig
+, openssl ? null, zlib ? null, gnutls ? null
+}:
+
+let
+  xor = a: b: (a || b) && (!(a && b));
+in
+
+assert xor (openssl != null) (gnutls != null);
+assert !(xor (openssl != null) (zlib != null));
 
 stdenv.mkDerivation rec {
-  name = "ucommon-6.0.7";
+  name = "ucommon-6.3.1";
 
   src = fetchurl {
-    url = mirror://gnu/commoncpp/ucommon-6.0.7.tar.gz;
-    sha256 = "1rlvchmg6qq8jq79qjgv0l0wqi1dqhmm4ng1qj9f012dbhwcap3x";
+    url = "mirror://gnu/commoncpp/${name}.tar.gz";
+    sha256 = "1marbwbqnllhm9nh22lvyfjy802pgy1wx7j7kkpkasbm9r0sb6mm";
   };
 
-  buildInputs = [ pkgconfig gnutls zlib ];
+  buildInputs = [ pkgconfig ];
 
-  # Propagate libgcrypt because it appears in `ucommon.pc'.
-  propagatedBuildInputs = [ libgcrypt ];
+  # ucommon.pc has link time depdendencies on -lssl, -lcrypto, -lz, -lgnutls
+  propagatedBuildInputs = [ openssl zlib gnutls ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/udunits/configure.patch b/pkgs/development/libraries/udunits/configure.patch
new file mode 100644
index 00000000000..36a0efb8590
--- /dev/null
+++ b/pkgs/development/libraries/udunits/configure.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' udunits-2.1.24_orig/configure udunits-2.1.24/configure
+--- udunits-2.1.24_orig/configure	2011-09-13 05:58:39.000000000 +0900
++++ udunits-2.1.24/configure	2014-11-21 21:59:30.308180814 +0900
+@@ -7033,7 +7033,7 @@
+   ac_status=$?
+   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; then
+-    case `/usr/bin/file conftest.o` in
++    case `$MAGIC_CMD conftest.o` in
+     *32-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
diff --git a/pkgs/development/libraries/udunits/default.nix b/pkgs/development/libraries/udunits/default.nix
new file mode 100644
index 00000000000..608900c85ad
--- /dev/null
+++ b/pkgs/development/libraries/udunits/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl,
+  bison, flex, expat, file
+}:
+
+stdenv.mkDerivation rec {
+    name = "udunits-2.1.24";
+    src = fetchurl {
+        url = "ftp://ftp.unidata.ucar.edu/pub/udunits/${name}.tar.gz";
+        sha256 = "1l0fdsl55374w7fjyd1wdx474f3p265b6rw1lq269cii61ca8prf";
+    };
+
+    buildInputs = [
+        bison flex expat file
+    ];
+
+    patches = [ ./configure.patch ];
+
+    MAGIC_CMD="${file}/bin/file";
+}
diff --git a/pkgs/development/libraries/uid_wrapper/default.nix b/pkgs/development/libraries/uid_wrapper/default.nix
new file mode 100644
index 00000000000..b19d404bee2
--- /dev/null
+++ b/pkgs/development/libraries/uid_wrapper/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "uid_wrapper-1.1.0";
+
+  src = fetchgit {
+    url = "git://git.samba.org/uid_wrapper.git";
+    rev = "refs/tags/${name}";
+    sha256 = "1wb71lliw56pmks3vm9m3ndf8hqnyw9iyppy1nyl80msi4ssq5jj";
+  };
+
+  buildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "a wrapper for the user, group and hosts NSS API";
+    homepage = "https://git.samba.org/?p=uid_wrapper.git;a=summary";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/unibilium/default.nix b/pkgs/development/libraries/unibilium/default.nix
new file mode 100644
index 00000000000..11f3294b289
--- /dev/null
+++ b/pkgs/development/libraries/unibilium/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, libtool, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "unibilium-${version}";
+
+  version = "1.1.2";
+
+  src = fetchFromGitHub {
+    owner = "mauke";
+    repo = "unibilium";
+    rev = "v${version}";
+    sha256 = "143j7qrqjxxmdf3yzhn6av2qwiyjjk4cnskkgz6ir2scjfd5gvja";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  buildInputs = [ libtool pkgconfig ];
+
+  meta = with lib; {
+    description = "A very basic terminfo library";
+    license = with licenses; [ lgpl3Plus ];
+  };
+}
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index 03769815a3e..74a14231801 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -64,8 +64,8 @@ args : with args;
         md5 = "a484f590464fb823a8f821b2f1fd7fef";
       };
       configureFlags = "--disable-gui"
-         +  " --with-mysql-path=${mysql} --with-unixODBC=${unixODBC}";
-      buildInputs = [libtool zlib];
+         +  " --with-mysql-path=${mysql.lib} --with-unixODBC=${unixODBC}";
+      buildInputs = [ libtool zlib ];
       inherit mysql unixODBC;
     };
     ini =
diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix
index 7f05daab021..f970a63ff12 100644
--- a/pkgs/development/libraries/usbredir/default.nix
+++ b/pkgs/development/libraries/usbredir/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "usbredir-${version}";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchurl {
     url = "http://spice-space.org/download/usbredir/${name}.tar.bz2";
-    sha256 = "028184960044ea4124030000b3c55a35c3238835116e3a0fbcaff449df2c8edf";
+    sha256 = "1ah64271r83lvh8hrpkxzv0iwpga1wkrfkx4rkljpijx5dqs0qqa";
   };
 
   buildInputs = [ pkgconfig libusb ];
diff --git a/pkgs/development/libraries/utf8proc/default.nix b/pkgs/development/libraries/utf8proc/default.nix
new file mode 100644
index 00000000000..8c715fbd928
--- /dev/null
+++ b/pkgs/development/libraries/utf8proc/default.nix
@@ -0,0 +1,25 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  version = "v1.1.6";
+
+  name = "utf8proc-${version}";
+
+  src = fetchurl {
+    url = "http://www.public-software-group.org/pub/projects/utf8proc/${version}/utf8proc-${version}.tar.gz";
+    sha256 = "1rwr84pw92ajjlbcxq0da7yxgg3ijngmrj7vhh2qzsr2h2kqzp7y";
+  };
+
+  installPhase = ''
+    mkdir -pv $out/lib $out/include
+    cp libutf8proc.so libutf8proc.a $out/lib
+    cp utf8proc.h $out/include
+  '';
+
+  meta = {
+    description = "A library for processing UTF-8 encoded Unicode strings";
+    homepage = http://www.public-software-group.org/utf8proc;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/uthash/default.nix b/pkgs/development/libraries/uthash/default.nix
new file mode 100644
index 00000000000..5f3b71131e0
--- /dev/null
+++ b/pkgs/development/libraries/uthash/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, perl }:
+
+let
+  version = "1.9.9";
+in
+stdenv.mkDerivation rec {
+  name = "uthash-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/troydhanson/uthash/archive/v${version}.tar.gz";
+    sha256 = "035z3cs5ignywgh4wqxx358a2nhn3lj0x1ifij6vj0yyyhah3wgj";
+  };
+
+  buildPhase = ":";
+
+  buildInputs = stdenv.lib.optional doCheck perl;
+
+  doCheck = true;
+  checkTarget = "-C tests/";
+
+  installPhase = ''
+    mkdir -p "$out/include"
+    cp ./src/* "$out/include/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A hash table for C structures";
+    homepage    = http://troydhanson.github.io/uthash;
+    license     = licenses.bsd2; # it's one-clause, actually, as it's source-only
+    platforms   = platforms.all;
+  };
+}
+
diff --git a/pkgs/development/libraries/v8/3.16.14.nix b/pkgs/development/libraries/v8/3.16.14.nix
new file mode 100644
index 00000000000..b5e1b159321
--- /dev/null
+++ b/pkgs/development/libraries/v8/3.16.14.nix
@@ -0,0 +1,70 @@
+{ stdenv, lib, fetchurl, gyp, readline, python, which, icu, utillinux}:
+
+assert readline != null;
+
+let
+  arch = if stdenv.is64bit then "x64" else "ia32";
+in
+
+stdenv.mkDerivation rec {
+  name = "v8-${version}";
+  version = "3.16.14";
+
+  src = fetchurl {
+    url = "https://commondatastorage.googleapis.com/chromium-browser-official/"
+        + "${name}.tar.bz2";
+    sha256 = "073f33zcb7205jp9g5ha5d7j2hfa98zs0jql572nb552z0xw3rkz";
+  };
+
+  configurePhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    ln -s /usr/bin/xcodebuild $TMPDIR
+    export PATH=$TMPDIR:$PATH
+  '' + ''
+    PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
+      ${gyp}/bin/gyp \
+        -f make \
+        --generator-output="out" \
+        -Dflock_index=0 \
+        -Dv8_enable_i18n_support=1 \
+        -Duse_system_icu=1 \
+        -Dconsole=readline \
+        -Dcomponent=shared_library \
+        -Dv8_target_arch=${arch} \
+        --depth=. -Ibuild/standalone.gypi \
+        build/all.gyp
+  '';
+
+  nativeBuildInputs = [ which ];
+  buildInputs = [ readline python icu ] ++ lib.optional stdenv.isLinux utillinux;
+
+  NIX_CFLAGS_COMPILE = "-Wno-error";
+
+  buildFlags = [
+    "-C out"
+    "builddir=$(CURDIR)/Release"
+    "BUILDTYPE=Release"
+  ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -vD out/Release/d8 "$out/bin/d8"
+    ${if stdenv.system == "x86_64-darwin" then ''
+    install -vD out/Release/lib.target/libv8.dylib "$out/lib/libv8.dylib"
+    '' else ''
+    install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so"
+    ''}
+    cp -vr include "$out/"
+  '';
+
+  postFixup = if stdenv.isDarwin then ''
+    install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib $out/bin/d8
+    install_name_tool -id $out/lib/libv8.dylib $out/lib/libv8.dylib
+  '' else null;
+
+  meta = with stdenv.lib; {
+    description = "V8 is Google's open source JavaScript engine";
+    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 4c86de7fb56..dbf2f376d0f 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -8,17 +8,22 @@ in
 
 stdenv.mkDerivation rec {
   name = "v8-${version}";
-  version = "3.26.8";
+  version = "3.30.33.16";
 
   src = fetchurl {
     url = "https://commondatastorage.googleapis.com/chromium-browser-official/"
         + "${name}.tar.bz2";
-    sha256 = "0w8mfy8jlqvp958c0zhsfwf0s3m6kw53jhcyg6aiwh877g6s21iz";
+    sha256 = "1azf1b36gqj4z5x0k9wq2dkp99zfyhwb0d6i2cl5fjm3k6js7l45";
   };
 
+  patchPhase = ''
+    sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' build/gyp_v8
+  '';
+
   configurePhase = ''
     PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
-      ${gyp}/bin/gyp \
+    PYTHONPATH="$(toPythonPath ${gyp}):$PYTHONPATH" \
+      build/gyp_v8 \
         -f make \
         --generator-output="out" \
         -Dflock_index=0 \
@@ -26,9 +31,7 @@ stdenv.mkDerivation rec {
         -Duse_system_icu=1 \
         -Dconsole=readline \
         -Dcomponent=shared_library \
-        -Dv8_target_arch=${arch} \
-        --depth=. -Ibuild/standalone.gypi \
-        build/all.gyp
+        -Dv8_target_arch=${arch}
   '';
 
   nativeBuildInputs = [ which ];
@@ -54,13 +57,13 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = if stdenv.isDarwin then ''
-    install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/bin/d8
-    install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
+    install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc}/lib/libgcc_s.1.dylib $out/bin/d8
+    install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
   '' else null;
 
   meta = with stdenv.lib; {
     description = "Google's open source JavaScript engine";
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = with platforms; linux;
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch b/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch
deleted file mode 100644
index 3bc0fff4d50..00000000000
--- a/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From dbe142c4eda0f15fad9fa85743dd11b81292fa8f Mon Sep 17 00:00:00 2001
-From: Timothy J Fontaine <tjfontaine@gmail.com>
-Date: Thu, 23 May 2013 13:57:59 -0700
-Subject: [PATCH] v8: fix GetLocalizedMessage usage
-
-As is the backport of the abort on uncaught exception wouldn't compile
-because we it was passing in `this` when it was unnecessary.
----
- deps/v8/src/isolate.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/isolate.cc b/src/isolate.cc
-index 04a438b..5a5293e 100644
---- a/src/isolate.cc
-+++ b/src/isolate.cc
-@@ -1161,7 +1161,7 @@ void Isolate::DoThrow(Object* exception, MessageLocation* location) {
-           (report_exception || can_be_caught_externally)) {
-         fatal_exception_depth++;
-         fprintf(stderr, "%s\n\nFROM\n",
--          *MessageHandler::GetLocalizedMessage(this, message_obj));
-+          *MessageHandler::GetLocalizedMessage(message_obj));
-         PrintCurrentStackTrace(stderr);
-         OS::Abort();
-       }
--- 
-1.8.1.6
-
diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix
index 2c553aeded3..8eddb2b0ae8 100644
--- a/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/pkgs/development/libraries/vaapi-intel/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libdrm, libva, libX11, intel-gpu-tools, mesa_noglu, wayland, python, gnum4 }:
 
 stdenv.mkDerivation rec {
-  name = "libva-intel-driver-1.3.2";
+  name = "libva-intel-driver-1.5.1";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/${name}.tar.bz2";
-    sha256 = "1l8897plk74zcik6snk7hb5s4ga0d2vypccfkh0bp1fb2775dn8i";
+    sha256 = "1p7aw0wmb6z3rbbm3bqlp6rxw41kii23csbjmcvbbk037lq6rnqb";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index 9b28d0016dd..02a4155947f 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -1,5 +1,10 @@
 { stdenv, fetchurl, libvdpau, mesa, libva, pkgconfig }:
-
+let
+  libvdpau08patch = (fetchurl { url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch?revision=1.1";
+                                name = "libva-vdpau-driver-0.7.4-libvdpau-0.8.patch";
+                                sha256 = "1n2cys59wyv8ylx9i5m3s6856mgx24hzcp45w1ahdfbzdv9wrfbl";
+                              });
+in
 stdenv.mkDerivation rec {
   name = "libva-vdpau-driver-0.7.4";
   
@@ -17,6 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libvdpau mesa libva pkgconfig ];
 
   preConfigure = ''
+    patch -p0 < ${libvdpau08patch}  # use -p0 instead of -p1
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
   '';
 
diff --git a/pkgs/development/libraries/vid-stab/default.nix b/pkgs/development/libraries/vid-stab/default.nix
new file mode 100644
index 00000000000..e516c94866a
--- /dev/null
+++ b/pkgs/development/libraries/vid-stab/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "vid-stab-${version}";
+  version = "0.98b";
+  
+  src = fetchurl {
+    url = "https://github.com/georgmartius/vid.stab/archive/release-${version}.tar.gz";
+    sha256 = "09fh6xbd1f5xp3il3dpvr87skmnp2mm2hfmg4s9rvj4y8zvhn3sk";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  
+  meta = with stdenv.lib; {
+    description = "Video stabilization library";
+    homepage    = http://public.hronopik.de/vid.stab/;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
+  };
+}
+
diff --git a/pkgs/development/libraries/vrpn/default.nix b/pkgs/development/libraries/vrpn/default.nix
index 3544e984077..d07c1d55047 100644
--- a/pkgs/development/libraries/vrpn/default.nix
+++ b/pkgs/development/libraries/vrpn/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
     homepage = http://www.cs.unc.edu/Research/vrpn/;
 
-    license = "BSL1.0"; # Boost Software License,
+    license = stdenv.lib.licenses.boost;
                         # see # <http://www.cs.unc.edu/Research/vrpn/obtaining_vrpn.html>
 
   };
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index 0e0625a2cbb..59063645232 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, mesa, libX11, xproto, libXt
+{ stdenv, fetchurl, fetchpatch, cmake, mesa, libX11, xproto, libXt
 , qtLib ? null }:
 
 with stdenv.lib;
@@ -6,7 +6,7 @@ with stdenv.lib;
 let
   os = stdenv.lib.optionalString;
   majorVersion = "5.10";
-  minorVersion = "0";
+  minorVersion = "1";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -14,9 +14,12 @@ stdenv.mkDerivation rec {
   name = "vtk-${os (qtLib != null) "qvtk-"}${version}";
   src = fetchurl {
     url = "${meta.homepage}files/release/${majorVersion}/vtk-${version}.tar.gz";
-    md5 = "a0363f78910f466ba8f1bd5ab5437cb9";
+    sha256 = "1fxxgsa7967gdphkl07lbfr6dcbq9a72z5kynlklxn7hyp0l18pi";
   };
 
+  # https://bugzilla.redhat.com/show_bug.cgi?id=1138466
+  postPatch = "sed '/^#define GL_GLEXT_LEGACY/d' -i ./Rendering/vtkOpenGL.h";
+
   buildInputs = [ cmake mesa libX11 xproto libXt ]
     ++ optional (qtLib != null) qtLib;
 
@@ -33,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Open source libraries for 3D computer graphics, image processing and visualization";
     homepage = http://www.vtk.org/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ viric bbenoist ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/development/libraries/wavpack/default.nix b/pkgs/development/libraries/wavpack/default.nix
new file mode 100644
index 00000000000..8a63b780b4c
--- /dev/null
+++ b/pkgs/development/libraries/wavpack/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "wavpack-${version}";
+  version = "4.70.0";
+
+  src = fetchurl {
+    url = "http://www.wavpack.com/${name}.tar.bz2";
+    sha256 = "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Hybrid audio compression format";
+    homepage    = http://www.wavpack.com/;
+    license     = licenses.bsd3;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ codyopel ];
+  };
+}
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index ae9fac06eee..cdd663bf191 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -1,21 +1,40 @@
-{ stdenv, fetchurl, libffi, expat, pkgconfig, libxslt, docbook_xsl, doxygen }:
+{ stdenv, fetchurl, pkgconfig
+, libffi, docbook_xsl, doxygen, graphviz, libxslt, xmlto
+, expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
+}:
 
-let version = "1.5.0"; in
+# Require the optional to be enabled until upstream fixes or removes the configure flag
+assert expat != null;
 
+let
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+in
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "wayland-${version}";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "1da179livkkmfsds32yhh4zflxn9qs6av023702kx2w8mzly2s80";
+    sha256 = "173w0pqzk2m7hjlg15bymrx7ynxgq1ciadg03hzybxwnvfi4gsmx";
   };
 
-  buildInputs = [ pkgconfig libffi expat libxslt docbook_xsl doxygen ];
+  configureFlags = [
+    (mkFlag (expat != null) "scanner")
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libffi docbook_xsl doxygen graphviz libxslt xmlto expat ];
 
   meta = {
     description = "Reference implementation of the wayland protocol";
-    homepage = http://wayland.freedesktop.org/;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    homepage    = http://wayland.freedesktop.org/;
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ codyopel wkennington ];
   };
+
+  passthru.version = version;
 }
diff --git a/pkgs/development/libraries/webkitgtk/2.4.6.nix b/pkgs/development/libraries/webkitgtk/2.4.6.nix
new file mode 100644
index 00000000000..b4645f50818
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/2.4.6.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, perl, python, ruby, bison, gperf, flex
+, pkgconfig, which, gettext, gobjectIntrospection
+, gtk2, gtk3, wayland, libwebp, enchant, sqlite
+, libxml2, libsoup, libsecret, libxslt, harfbuzz
+, gst-plugins-base
+, withGtk2 ? false
+, enableIntrospection ? true
+}:
+
+stdenv.mkDerivation rec {
+  name = "webkitgtk-${version}";
+  version = "2.4.6";
+
+  meta = with stdenv.lib; {
+    description = "Web content rendering engine, GTK+ port";
+    homepage = "http://webkitgtk.org/";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://webkitgtk.org/releases/${name}.tar.xz";
+    sha256 = "0mqlq4ivh921k92xjsp5pdvbg9vf75qjliqmx81qwrm2sjl4mvvg";
+  };
+
+  patches = [ ./webcore-svg-libxml-cflags.patch ];
+
+  CC = "cc";
+
+  prePatch = ''
+    patchShebangs Tools/gtk
+  '';
+
+  configureFlags = with stdenv.lib; [
+    "--disable-geolocation"
+    (optionalString enableIntrospection "--enable-introspection")
+  ] ++ stdenv.lib.optional withGtk2 [
+    "--with-gtk=2.0"
+    "--disable-webkit2"
+  ];
+
+  dontAddDisableDepTrack = true;
+
+  nativeBuildInputs = [
+    perl python ruby bison gperf flex
+    pkgconfig which gettext gobjectIntrospection
+  ];
+
+  buildInputs = [
+    gtk2 wayland libwebp enchant
+    libxml2 libsecret libxslt harfbuzz
+    gst-plugins-base sqlite
+  ];
+
+  propagatedBuildInputs = [
+    libsoup
+    (if withGtk2 then gtk2 else gtk3)
+  ];
+
+  #enableParallelBuilding = true; # build problems on Hydra
+}
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 82cff159a56..f67e3f2468b 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,61 +1,51 @@
-{ stdenv, fetchurl, perl, python, ruby, bison, gperf, flex
-, pkgconfig, which, gettext, gobjectIntrospection
+{ stdenv, fetchurl, perl, python, ruby, bison, gperf, cmake
+, pkgconfig, gettext, gobjectIntrospection
 , gtk2, gtk3, wayland, libwebp, enchant
-, libxml2, libsoup, libsecret, libxslt, harfbuzz
+, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
+, enableGeoLocation ? true, geoclue2, sqlite
 , gst-plugins-base
-, withGtk2 ? false
-, enableIntrospection ? true
 }:
 
+assert enableGeoLocation -> geoclue2 != null;
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "webkitgtk-2.4.4";
+  name = "webkitgtk-${version}";
+  version = "2.6.5";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
     homepage = "http://webkitgtk.org/";
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ iyzsong koral ];
   };
 
+  preConfigure = "patchShebangs Tools";
+
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "1f9sypnnxxcml9vj79g9hf2di52pg5kggyc3wgsy3q9a6mzgrjsq";
+    sha256 = "14vmqq6hr3jzphay49984kj22vlqhpsjmwh1krdm9k57rqbq0rdi";
   };
 
-  patches = [ ./webcore-svg-libxml-cflags.patch ];
+  patches = [ ./finding-harfbuzz-icu.patch ];
 
-  CC = "cc";
-
-  prePatch = ''
-    patchShebangs Tools/gtk
-  '';
-
-  configureFlags = with stdenv.lib; [
-    "--disable-geolocation"
-    (optionalString enableIntrospection "--enable-introspection")
-  ] ++ stdenv.lib.optional withGtk2 [
-    "--with-gtk=2.0"
-    "--disable-webkit2"
-  ];
-
-  dontAddDisableDepTrack = true;
+  cmakeFlags = [ "-DPORT=GTK" ];
 
   nativeBuildInputs = [
-    perl python ruby bison gperf flex
-    pkgconfig which gettext gobjectIntrospection
+    cmake perl python ruby bison gperf sqlite
+    pkgconfig gettext gobjectIntrospection
   ];
 
   buildInputs = [
     gtk2 wayland libwebp enchant
-    libxml2 libsecret libxslt harfbuzz
+    libxml2 libsecret libxslt harfbuzz libpthreadstubs
     gst-plugins-base
-  ];
+  ] ++ optional enableGeoLocation geoclue2;
 
   propagatedBuildInputs = [
-    libsoup
-    (if withGtk2 then gtk2 else gtk3)
+    libsoup gtk3
   ];
 
-  #enableParallelBuilding = true; # build problems on Hydra
+  # enableParallelBuilding = true; # build problems on Hydra
 }
diff --git a/pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch b/pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch
new file mode 100644
index 00000000000..14d58ef04f6
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/finding-harfbuzz-icu.patch
@@ -0,0 +1,52 @@
+--- 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/websocket++/default.nix b/pkgs/development/libraries/websocket++/default.nix
new file mode 100644
index 00000000000..7146ec4bb5b
--- /dev/null
+++ b/pkgs/development/libraries/websocket++/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "websocket++-${version}";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "zaphoyd";
+    repo = "websocketpp";
+    rev = version;
+    sha256 = "1n6j0dh3qpis0f7crd49a2nhxd5459h0blch408z3kwlasx2g0i5";
+  };
+
+  buildInputs = [ cmake ];
+
+  meta = {
+    homepage = "http://www.zaphoyd.com/websocketpp/";
+    description = "C++/Boost Asio based websocket client/server library";
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/wiredtiger/default.nix b/pkgs/development/libraries/wiredtiger/default.nix
new file mode 100644
index 00000000000..7c9829af771
--- /dev/null
+++ b/pkgs/development/libraries/wiredtiger/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, automake, autoconf, libtool
+, bzip2, snappy, zlib, db
+}:
+
+stdenv.mkDerivation rec {
+  name = "wiredtiger-${version}";
+  version = "2.5.2";
+
+  src = fetchFromGitHub {
+    repo = "wiredtiger";
+    owner = "wiredtiger";
+    rev = version;
+    sha256 = "1rk26gfs4zpz88mkbdkhz65q4admpgf46x5zsnghl0ndirmnvq3p";
+  };
+
+  nativeBuildInputs = [ automake autoconf libtool ];
+  buildInputs = [ bzip2 snappy zlib db ];
+
+  configureFlags = [
+    "--with-berkeleydb=${db}"
+    "--enable-bzip2"
+    "--enable-leveldb"
+    "--enable-snappy"
+    "--enable-zlib"
+  ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://wiredtiger.com/;
+    description = "";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/wtk/builder.sh b/pkgs/development/libraries/wtk/builder.sh
index 6db9469e46d..ef0085da924 100644
--- a/pkgs/development/libraries/wtk/builder.sh
+++ b/pkgs/development/libraries/wtk/builder.sh
@@ -22,6 +22,6 @@ for i in $libraries; do
     rpath=$rpath${rpath:+:}$i/lib
 done
 find $out -type f -perm +100 \
-    -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" {} \;
+    -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \;
 find $out -type f -perm +100 \
     -exec patchelf --set-rpath "$rpath" {} \;
diff --git a/pkgs/development/libraries/wtk/default.nix b/pkgs/development/libraries/wtk/default.nix
index 1ff34d45ba3..bde3f6e4efb 100644
--- a/pkgs/development/libraries/wtk/default.nix
+++ b/pkgs/development/libraries/wtk/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ unzip ];
 
-  libraries = [ xlibs.libXpm xlibs.libXt xlibs.libX11 xlibs.libICE xlibs.libSM stdenv.gcc.gcc ];
+  libraries = [ xlibs.libXpm xlibs.libXt xlibs.libX11 xlibs.libICE xlibs.libSM stdenv.cc.cc ];
 
   meta = {
     homepage = http://java.sun.com/products/sjwtoolkit/download.html;
diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix
index 62d2de0238f..d7ca92f70d9 100644
--- a/pkgs/development/libraries/wxGTK-2.8/default.nix
+++ b/pkgs/development/libraries/wxGTK-2.8/default.nix
@@ -57,4 +57,8 @@ stdenv.mkDerivation rec {
   passthru = {inherit gtk compat24 compat26 unicode;};
 
   enableParallelBuilding = true;
+  
+  meta = {
+    platforms = stdenv.lib.platforms.all;
+  };
 }
diff --git a/pkgs/development/libraries/wxGTK-2.9/default.nix b/pkgs/development/libraries/wxGTK-2.9/default.nix
index f61c7eafd73..47760cdb288 100644
--- a/pkgs/development/libraries/wxGTK-2.9/default.nix
+++ b/pkgs/development/libraries/wxGTK-2.9/default.nix
@@ -55,4 +55,8 @@ stdenv.mkDerivation {
   passthru = {inherit gtk compat24 compat26 unicode;};
 
   enableParallelBuilding = true;
+  
+  meta = {
+    platforms = stdenv.lib.platforms.all;
+  };
 }
diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxGTK-3.0/default.nix
index faa17c08363..93f771e8c8f 100644
--- a/pkgs/development/libraries/wxGTK-3.0/default.nix
+++ b/pkgs/development/libraries/wxGTK-3.0/default.nix
@@ -8,14 +8,14 @@ assert withMesa -> mesa != null;
 with stdenv.lib;
 
 let
-  version = "3.0.1";
+  version = "3.0.2";
 in
 stdenv.mkDerivation {
   name = "wxwidgets-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
-    sha256 = "1xf5s8cnq6xr0r6l0y9cn1pjg961xbycl4afhjrqzbsnxiwinrxx";
+    sha256 = "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l";
   };
 
   buildInputs =
@@ -55,4 +55,8 @@ stdenv.mkDerivation {
   passthru = {inherit gtk compat24 compat26 unicode;};
 
   enableParallelBuilding = true;
+  
+  meta = {
+    platforms = stdenv.lib.platforms.all;
+  };
 }
diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix
index 51666e3ba6d..6c541f1aa68 100644
--- a/pkgs/development/libraries/x264/default.nix
+++ b/pkgs/development/libraries/x264/default.nix
@@ -1,12 +1,12 @@
-{stdenv, fetchurl, yasm}:
+{stdenv, fetchurl, yasm, enable10bit ? false}:
 
 stdenv.mkDerivation rec {
-  version = "snapshot-20130424-2245-stable";
-  name = "x264-20130424_2245";
+  version = "snapshot-20141218-2245-stable";
+  name = "x264-20141218-2245";
 
   src = fetchurl {
     url = "ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-${version}.tar.bz2";
-    sha256 = "0vzyqsgrm9k3hzka2p8ib92jl0ha8d4267r2rb3pr9gmpjaj9azk";
+    sha256 = "1gp1f0382vh2hmgc23ldqyywcfljg8lsgl2849ymr14r6gxfh69m";
   };
 
   patchPhase = ''
@@ -14,13 +14,16 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [ "--enable-shared" ]
-    ++ stdenv.lib.optional (!stdenv.isi686) "--enable-pic";
+    ++ stdenv.lib.optional (!stdenv.isi686) "--enable-pic"
+    ++ stdenv.lib.optional (enable10bit) "--bit-depth=10";
 
   buildInputs = [ yasm ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "library for encoding H264/AVC video streams";
-    homepage = http://www.videolan.org/developers/x264.html;
-    license = "GPL";
+    homepage    = http://www.videolan.org/developers/x264.html;
+    license     = licenses.gpl2;
+    platforms   = platforms.unix;
+    maintainers = [ maintainers.spwhitt ];
   };
 }
diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix
new file mode 100644
index 00000000000..30fbdcd1e8d
--- /dev/null
+++ b/pkgs/development/libraries/x265/default.nix
@@ -0,0 +1,7 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  version = "1.5";
+  rev = "9f0324125f53a12f766f6ed6f98f16e2f42337f4";
+  sha256 = "1nyim0l975faj7926s4wba8yvjy4rvx005zb7krv0gb5p84nzgi7";
+})
\ No newline at end of file
diff --git a/pkgs/development/libraries/x265/generic.nix b/pkgs/development/libraries/x265/generic.nix
new file mode 100644
index 00000000000..2779b581143
--- /dev/null
+++ b/pkgs/development/libraries/x265/generic.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchhg, cmake, yasm
+, rev , sha256, version
+, debugSupport ? false # Run-time sanity checks (debugging)
+, highbitdepthSupport ? false # false=8bits per channel, true=10/12bits per channel
+, werrorSupport ? false # Warnings as errors
+, ppaSupport ? false # PPA profiling instrumentation
+, vtuneSupport ? false # Vtune profiling instrumentation
+, custatsSupport ? false # Internal profiling of encoder work
+, cliSupport ? true # Build standalone CLI application
+, unittestsSupport ? false # Unit tests
+, ...
+}:
+
+let
+  mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF";
+in
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "x265-${version}";
+
+  src = fetchhg {
+    url = "https://bitbucket.org/multicoreware/x265/src";
+    inherit rev;
+    inherit sha256;
+  };
+
+  patchPhase = ''
+    sed -i 's/unknown/${version}/g' source/cmake/version.cmake
+  '';
+
+  cmakeFlags = with stdenv.lib; [
+    (mkFlag debugSupport "CHECKED_BUILD")
+    "-DSTATIC_LINK_CRT=OFF"
+    (mkFlag (highbitdepthSupport && stdenv.isx86_64) "HIGH_BIT_DEPTH")
+    (mkFlag werrorSupport "WARNINGS_AS_ERRORS")
+    (mkFlag ppaSupport "ENABLE_PPA")
+    "-DENABLE_SHARED=ON"
+    (mkFlag cliSupport "ENABLE_CLI")
+    (mkFlag unittestsSupport "ENABLE_TESTS")
+  ];
+
+  preConfigure = ''
+    cd source
+  '';
+
+  nativeBuildInputs = [ cmake yasm ];
+
+  meta = {
+    description = "Library for encoding h.265/HEVC video streams";
+    homepage    = http://x265.org;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ codyopel ];
+    platforms   = platforms.all;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/x265/hg.nix b/pkgs/development/libraries/x265/hg.nix
new file mode 100644
index 00000000000..d26df82b3e3
--- /dev/null
+++ b/pkgs/development/libraries/x265/hg.nix
@@ -0,0 +1,7 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "2015-2-11"; # Date of commit used Y-M-D
+  rev = "9ab104096834f51bd799ea1cf1160092f8182944";
+  sha256 = "1j4k6ylglrzng5rz29qx2z06amdrq8wyzvqhm4ivfzvpndfniim6";
+})
\ No newline at end of file
diff --git a/pkgs/development/libraries/xapian/bindings/1.0.x.nix b/pkgs/development/libraries/xapian/bindings/1.0.x.nix
index 9ce5312f69a..5d69f73d797 100644
--- a/pkgs/development/libraries/xapian/bindings/1.0.x.nix
+++ b/pkgs/development/libraries/xapian/bindings/1.0.x.nix
@@ -42,7 +42,6 @@ composableDerivation.composableDerivation {} rec {
            name = "ruby";
            enable = {
              buildInputs = [ ruby ];
-             # export same env vars as in rubyLibs 
              preConfigure = ''
                export RUBY_LIB=$out/${ruby.libPath}
                export RUBY_LIB_ARCH=$RUBY_LIB
diff --git a/pkgs/development/libraries/xapian/bindings/default.nix b/pkgs/development/libraries/xapian/bindings/default.nix
index 789d9a65308..740b71c59a7 100644
--- a/pkgs/development/libraries/xapian/bindings/default.nix
+++ b/pkgs/development/libraries/xapian/bindings/default.nix
@@ -42,7 +42,6 @@ composableDerivation.composableDerivation {} rec {
            name = "ruby";
            enable = {
              buildInputs = [ ruby ];
-             # export same env vars as in rubyLibs 
              preConfigure = ''
                export RUBY_LIB=$out/${ruby.libPath}
                export RUBY_LIB_ARCH=$RUBY_LIB
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index d74a85a9162..575fb73084c 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libuuid, zlib }:
 
 stdenv.mkDerivation {
-  name = "xapian-1.2.8";
+  name = "xapian-1.2.19";
 
   src = fetchurl {
-    url = http://oligarchy.co.uk/xapian/1.2.8/xapian-core-1.2.8.tar.gz;
-    sha256 = "00411ebac66a5592b87fc57ccfeb234c84b929ed23c185befb5df9929df3d4f9";
+    url = http://oligarchy.co.uk/xapian/1.2.19/xapian-core-1.2.19.tar.xz;
+    sha256 = "11a7lm3w3pchk4rx144nc2p31994spyqmldm18ph86zzi01jcy2a";
   };
 
   buildInputs = [ libuuid zlib ];
diff --git a/pkgs/development/libraries/xavs/default.nix b/pkgs/development/libraries/xavs/default.nix
new file mode 100644
index 00000000000..adace96afad
--- /dev/null
+++ b/pkgs/development/libraries/xavs/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchsvn }:
+
+stdenv.mkDerivation rec {
+  name = "xavs-${version}";
+  version = "55";
+
+  src = fetchsvn {
+    url = "https://svn.code.sf.net/p/xavs/code/trunk";
+    rev = "${version}";
+    sha256 = "0drw16wm95dqszpl7j33y4gckz0w0107lnz6wkzb66f0dlbv48cf";
+  };
+
+  patchPhase = ''
+    patchShebangs configure
+    patchShebangs config.sub
+    patchShebangs version.sh
+    patchShebangs tools/countquant_xavs.pl
+    patchShebangs tools/patcheck
+    patchShebangs tools/regression-test.pl
+    patchShebangs tools/xavs-format
+  '';
+
+  configureFlags = [
+    "--enable-pic"
+    "--enable-shared"
+    # Bug preventing compilation with assembly enabled
+    "--disable-asm"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "AVS encoder and decoder";
+    homepage    = http://xavs.sourceforge.net/;
+    license     = licenses.lgpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ codyopel ];
+  };
+}
diff --git a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
new file mode 100644
index 00000000000..9ca3474ce3b
--- /dev/null
+++ b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, bashInteractive, autoconf, automake, libtool, pkgconfig
+, git, xlibs, gnum4, libxcb, gperf }:
+
+stdenv.mkDerivation rec {
+  name = "xcb-util-cursor-HEAD";
+
+  src = fetchgit {
+    url    = http://anongit.freedesktop.org/git/xcb/util-cursor.git;
+    rev    = "f03cc278c6cce0cf721adf9c3764d3c5fba63392";
+    sha256 = "1ljvq1gdc1lc33dwn4pzwppws2zgyqx51y3sd3c8gb7vcg5f27i5";
+  };
+
+  meta = with stdenv.lib; {
+    description = "XCB cursor library (libxcursor port)";
+    homepage    = http://cgit.freedesktop.org/xcb/util-cursor;
+    license     = licenses.mit;
+    maintainer  = with maintainers; [ lovek323 ];
+    platforms   = platforms.linux ++ platforms.darwin;
+  };
+
+  buildInputs = [
+    autoconf
+    automake
+    gnum4
+    gperf
+    libtool
+    libxcb
+    pkgconfig
+    xlibs.utilmacros
+    xlibs.xcbutilimage
+    xlibs.xcbutilrenderutil
+  ];
+
+  configurePhase = ''
+    sed -i '15 i\
+      LT_INIT' configure.ac
+    ${bashInteractive}/bin/bash autogen.sh --prefix="$out"
+  '';
+}
diff --git a/pkgs/development/libraries/xcb-util-cursor/default.nix b/pkgs/development/libraries/xcb-util-cursor/default.nix
deleted file mode 100644
index 984f192e4c9..00000000000
--- a/pkgs/development/libraries/xcb-util-cursor/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, bashInteractive, autoconf, automake, libtool, pkgconfig
-, git, xlibs, gnum4, libxcb, gperf }:
-
-stdenv.mkDerivation rec {
-  name = "xcb-util-cursor-0.1.1";
-
-  src = fetchurl {
-    url    = "http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.1.tar.gz";
-    sha256 = "0lkjbcml305imyzr80yb8spjvq6y83v2allk5gc9plkv39zag29z";
-  };
-
-  meta = with stdenv.lib; {
-    description = "XCB cursor library (libxcursor port)";
-    homepage    = http://cgit.freedesktop.org/xcb/util-cursor;
-    license     = licenses.mit;
-    maintainer  = with maintainers; [ lovek323 ];
-    platforms   = platforms.linux;
-  };
-
-  buildInputs = [
-    autoconf
-    automake
-    gnum4
-    gperf
-    libtool
-    libxcb
-    pkgconfig
-    xlibs.utilmacros
-    xlibs.xcbutilimage
-    xlibs.xcbutilrenderutil
-  ];
-
-  configurePhase = ''
-    sed -i '15 i\
-      LT_INIT' configure.ac
-    ${bashInteractive}/bin/bash autogen.sh --prefix="$out"
-  '';
-}
diff --git a/pkgs/development/libraries/xlslib/default.nix b/pkgs/development/libraries/xlslib/default.nix
new file mode 100644
index 00000000000..82f1514cd3d
--- /dev/null
+++ b/pkgs/development/libraries/xlslib/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, autoreconfHook, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "2.5.0";
+  name = "xlslib-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xlslib/xlslib-package-${version}.zip";
+    sha256 = "1wx3jbpkz2rvgs45x6mwawamd1b2llb0vn29b5sr0rfxzx9d1985";
+  };
+
+  nativeBuildInputs = [ unzip autoreconfHook ];
+
+  setSourceRoot = "export sourceRoot=xlslib/xlslib";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "C++/C library to construct Excel .xls files in code";
+    homepage = http://sourceforge.net/projects/xlslib/files/;
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix
index 9f578e4b9dd..f3b91f442de 100644
--- a/pkgs/development/libraries/xmlrpc-c/default.nix
+++ b/pkgs/development/libraries/xmlrpc-c/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, curl }:
 
 stdenv.mkDerivation rec {
-  name = "xmlrpc-c-1.25.27";
+  name = "xmlrpc-c-1.25.30";
 
   src = fetchurl {
     url = "mirror://sourceforge/xmlrpc-c/${name}.tgz";
-    sha256 = "0g9m9n258lpbs42a2lagd4h7qim1g34gkaqyx8h50qrsk49ipspn";
+    sha256 = "161gj237baagy5jaa08m54zfyvilb19gql0i5c9ysl3xqm7fvrla";
   };
 
   buildInputs = [ curl ];
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 80f4e2fc860..3fba451c711 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, libxml2, gnutls, libxslt, pkgconfig, libgcrypt, libtool }:
 
 let
-  version = "1.2.19";
+  version = "1.2.20";
 in
 stdenv.mkDerivation rec {
   name = "xmlsec-${version}";
 
   src = fetchurl {
     url = "http://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
-    sha256 = "1h5ar0h8n0l8isgic82w00cwfpw7i9wxw17kbdb6q3yvzb4zgj1g";
+    sha256 = "01bkbv2y3x8d1sf4dcln1x3y2jyj391s3208d9a2ndhglly5j89j";
   };
 
   buildInputs = [ libxml2 gnutls libxslt pkgconfig libgcrypt libtool ];
diff --git a/pkgs/development/libraries/xvidcore/default.nix b/pkgs/development/libraries/xvidcore/default.nix
index fd5efdcc3d1..57c66f310fb 100644
--- a/pkgs/development/libraries/xvidcore/default.nix
+++ b/pkgs/development/libraries/xvidcore/default.nix
@@ -1,42 +1,46 @@
-{ stdenv, fetchurl, nasm, autoconf, automake, libtool }:
+{ stdenv, fetchurl, yasm, autoconf, automake, libtool }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "xvidcore-1.3.2";
+  name = "xvidcore-${version}";
+  version = "1.3.3";
   
   src = fetchurl {
     url = "http://downloads.xvid.org/downloads/${name}.tar.bz2";
-    sha256 = "1x0b2rq6fv99ramifhkakycd0prjc93lbzrffbjgjwg7w4s17hfn";
+    sha256 = "0m5g75qvapr7xpywg6a83v5x19kw1nm9l2q48lg7jvvpba0bmqdh";
   };
 
   preConfigure = ''
+    # Configure script is not in the root of the source directory
     cd build/generic
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+  '' + optionalString stdenv.isDarwin ''
+    # Undocumented darwin hack
     substituteInPlace configure --replace "-no-cpp-precomp" ""
   '';
 
-  configureFlags = stdenv.lib.optionals stdenv.isDarwin
-    [ "--enable-macosx_module" "--disable-assembly" ];
+  configureFlags = [ ]
+    # Undocumented darwin hack (assembly is probably disabled due to an
+    # issue with nasm, however yasm is now used)
+    ++ optional stdenv.isDarwin "--enable-macosx_module --disable-assembly";
 
-  buildInputs = [ nasm ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ autoconf automake libtool ];
+  nativeBuildInputs = [ ]
+    ++ optional (!stdenv.isDarwin) yasm;
 
-  # don't delete the '.a' files on darwin -- they're needed to compile ffmpeg
-  # (and perhaps other things)
-  postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+  buildInputs = [ ]
+    # Undocumented darwin hack
+    ++ optionals stdenv.isDarwin [ autoconf automake libtool ];
+
+  # Don't remove static libraries (e.g. 'libs/*.a') on darwin.  They're needed to
+  # compile ffmpeg (and perhaps other things).
+  postInstall = optionalString (!stdenv.isDarwin) ''
     rm $out/lib/*.a
-  '' + ''
-    cd $out/lib
-    ln -s *.so.4.* libxvidcore.so
-    if [ ! -e libxvidcore.so.4 ]; then
-        ln -s *.so.4.* libxvidcore.so.4
-    fi
   '';
   
-  meta = with stdenv.lib; {
+  meta = {
     description = "MPEG-4 video codec for PC";
-    homepage    = http://www.xvid.org/;
+    homepage    = https://www.xvid.com/;
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 ];
+    maintainers = with maintainers; [ codyopel lovek323 ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/zeromq/3.x.nix b/pkgs/development/libraries/zeromq/3.x.nix
index 33285897d11..50eba33670f 100644
--- a/pkgs/development/libraries/zeromq/3.x.nix
+++ b/pkgs/development/libraries/zeromq/3.x.nix
@@ -1,18 +1,21 @@
-{stdenv, fetchurl, libuuid}:
+{ stdenv, fetchurl, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "zeromq-3.2.4";
+  name = "zeromq-3.2.5";
 
   src = fetchurl {
     url = "http://download.zeromq.org/${name}.tar.gz";
-    sha256 = "0n9gfhwgkwq08kvvgk5zxjga08v628ij5chddk5w4ravr10s35nz";
+    sha256 = "0911r7q4i1x9gnfinj39vx08fnz59mf05vl75zdkws36lib3wr89";
   };
 
   buildInputs = [ libuuid ];
 
-  meta = {
+  meta = with stdenv.lib; {
     branch = "3";
     homepage = "http://www.zeromq.org";
     description = "The Intelligent Transport Layer";
+    license = licenses.gpl3;
+    platform = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix
index 08eb6317fcb..eaa719b92c9 100644
--- a/pkgs/development/libraries/zeromq/4.x.nix
+++ b/pkgs/development/libraries/zeromq/4.x.nix
@@ -1,18 +1,21 @@
-{stdenv, fetchurl, libuuid}:
+{ stdenv, fetchurl, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "zeromq-4.0.4";
+  name = "zeromq-4.0.5";
 
   src = fetchurl {
     url = "http://download.zeromq.org/${name}.tar.gz";
-    sha256 = "16fkax2f6h2h4wm7jrv95m6vwffd4vb1wrm1smyy4csgx531vxqy";
+    sha256 = "0arl8fy8d03xd5h0mgda1s5bajwg8iyh1kk4hd1420rpcxgkrj9v";
   };
 
   buildInputs = [ libuuid ];
 
-  meta = {
+  meta = with stdenv.lib; {
     branch = "4";
     homepage = "http://www.zeromq.org";
     description = "The Intelligent Transport Layer";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index 3db3ad449c1..706c74b6ce6 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -2,7 +2,7 @@
 
 let version = "1.2.8"; in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "zlib-${version}";
 
   src = fetchurl {
@@ -55,4 +55,13 @@ stdenv.mkDerivation rec {
     description = "Lossless data-compression library";
     license = licenses.zlib;
   };
-}
+} // (if stdenv.isDarwin then {
+  postInstall = ''
+    # jww (2015-01-06): Sometimes this library install as a .so, even on
+    # Darwin; others time it installs as a .dylib.  I haven't yet figured out
+    # what causes this difference.
+    for file in $out/lib/*.so* $out/lib/*.dylib* ; do
+      install_name_tool -id "$file" $file
+    done
+  '';
+} else {}))
diff --git a/pkgs/development/libraries/zookeeper_mt/default.nix b/pkgs/development/libraries/zookeeper_mt/default.nix
new file mode 100644
index 00000000000..c22bb645be2
--- /dev/null
+++ b/pkgs/development/libraries/zookeeper_mt/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, zookeeper, bash }:
+
+stdenv.mkDerivation rec {
+   name = "zookeeper_mt";
+   
+   src = zookeeper.src;
+   
+   setSourceRoot = "export sourceRoot=${zookeeper.name}/src/c";
+
+   buildInputs = [ zookeeper bash ];
+
+   meta = with stdenv.lib; {
+   	homepage = "http://zookeeper.apache.org";
+   	description = "Apache Zookeeper";
+   	license = licenses.asl20;
+   	maintainers = [ maintainers.boothead ];	
+   	platforms = platforms.unix;	
+   };
+}
+
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index 97e1661544b..33cd07b4807 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.1.2";
+    version="3.1.4";
     name="${baseName}-${version}";
-    hash="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.1.2.tar.gz";
-    sha256="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki";
+    hash="0hyc2g22khcmvxmlcaq0xbxqhq59spgc2nc1s0gz1r9mcgrzm2xw";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.1.4.tar.gz";
+    sha256="0hyc2g22khcmvxmlcaq0xbxqhq59spgc2nc1s0gz1r9mcgrzm2xw";
   };
   buildInputs = [
     texinfo texLive
@@ -19,6 +19,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  sourceRoot=".";
   buildPhase = ''
     make build/asdf.lisp
     make -C doc asdf.info asdf.html
@@ -29,7 +30,6 @@ stdenv.mkDerivation {
     cp -r ./* "$out"/lib/common-lisp/asdf/
     cp -r doc/* "$out"/share/doc/asdf/
   '';
-  sourceRoot=".";
   meta = {
     inherit (s) version;
     description = ''Standard software-system definition library for Common Lisp'';
diff --git a/pkgs/development/lisp-modules/clwrapper/build-with-lisp.sh b/pkgs/development/lisp-modules/clwrapper/build-with-lisp.sh
new file mode 100755
index 00000000000..030e9e40323
--- /dev/null
+++ b/pkgs/development/lisp-modules/clwrapper/build-with-lisp.sh
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Part of NixPkgs package collection
+# This script can be used at your option under the same license as NixPkgs or
+# under MIT/X11 license
+
+lisp="$1"
+systems="$2"
+target="$3"
+code="$4"
+
+NIX_LISP_SKIP_CODE=1 NIX_LISP_COMMAND="$lisp" source "$(dirname "$0")/cl-wrapper.sh"
+
+NIX_LISP_BUILD_CODE=
+
+case "$NIX_LISP" in
+        sbcl)
+                NIX_LISP_BUILD_CODE="(progn
+                  (let*
+                    ((old-fn (symbol-function 'sb-alien::dlopen-or-lose )))
+                    (sb-ext:with-unlocked-packages (:sb-sys :sb-alien)
+                      (defun sb-alien::dlopen-or-lose (&rest args)
+                        (or
+                          (ignore-errors (progn (apply old-fn args)))
+                          (and
+                            args
+                            (loop
+                              with try = nil
+                              with obj = (first args)
+                              with original-namestring = (sb-alien::shared-object-namestring obj)
+                              for path in (list $(echo "$NIX_LISP_LD_LIBRARY_PATH" | sed -e 's/:/" "/g; s/^/"/; s/$/"/'))
+                              for target := (format nil \"~a/~a\" path original-namestring)
+                              when (ignore-errors
+                                     (progn
+                                       (setf (sb-alien::shared-object-namestring obj) target)
+                                       (setf try (apply old-fn args))
+                                           t)) do
+                                (progn  (return try))
+                                finally (progn (setf (sb-alien::shared-object-namestring obj) original-namestring)
+                                  (return (apply old-fn args)))
+                              )
+                             )
+                          )
+                        )
+                      )
+                    )
+                  (sb-ext:save-lisp-and-die \"$target\"
+                  :toplevel (lambda ()
+                    (setf common-lisp:*standard-input* (sb-sys::make-fd-stream 0 :input t :buffering :line))
+                    (setf common-lisp:*standard-output* (sb-sys::make-fd-stream 1 :output t :buffering :line))
+                    (setf asdf/image:*command-line-arguments* (cdr sb-ext:*posix-argv*))
+                    $code)
+                    :executable t :save-runtime-options t :purify t))"
+                systems=":sb-posix $systems"
+                ;;
+        ecl)
+                NIX_LISP_BUILD_CODE="()"
+                ;;
+        clisp)
+                NIX_LISP_BUILD_CODE="(ext:saveinitmem \"$target\" :norc t :init-function (lambda () $code (ext:bye)) :script nil :executable 0)"
+                ;;
+esac
+
+"$lisp" \
+  "$NIX_LISP_EXEC_CODE" "(load \"$NIX_LISP_ASDF/lib/common-lisp/asdf/build/asdf.lisp\")" \
+  "$NIX_LISP_EXEC_CODE" "(mapcar 'asdf:load-system (list $systems))" \
+  "$NIX_LISP_EXEC_CODE" "$NIX_LISP_BUILD_CODE" \
+  "$NIX_LISP_EXEC_CODE" "(quit)"
diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
index 91b8a0c2bb0..6452bd5d95a 100755
--- a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
+++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
@@ -12,6 +12,9 @@ shift
 
 export NIX_LISP NIX_LISP_LOAD_FILE NIX_LISP_EXEC_CODE NIX_LISP_COMMAND NIX_LISP_FINAL_PARAMETERS
 
+test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
+	export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH+:}$NIX_LISP_LD_LIBRARY_PATH"
+
 case "$NIX_LISP" in
 	sbcl)
 		NIX_LISP_LOAD_FILE="--load"
diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix
index efaadf5606e..9641dc305be 100644
--- a/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -8,6 +8,7 @@ stdenv.mkDerivation {
     mkdir -p "$out"/bin
     cp ${./cl-wrapper.sh} "$out"/bin/cl-wrapper.sh
     cp ${./common-lisp.sh} "$out"/bin/common-lisp.sh
+    substituteAll "${./build-with-lisp.sh}" "$out/bin/build-with-lisp.sh"
     chmod a+x "$out"/bin/*
   '';
 
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index 675fc7e7468..8623032ed37 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -1,5 +1,5 @@
 args @ {stdenv, clwrapper, baseName, version ? "latest", src, description, deps, 
-  buildInputs ? [], meta ? {}, overrides?(x: {})}:
+  buildInputs ? [], meta ? {}, overrides?(x: {}), propagatedBuildInputs ? []}:
 let 
   deployConfigScript = ''
     config_script="$out"/lib/common-lisp-settings/${args.baseName}-shell-config.sh
@@ -30,6 +30,8 @@ basePackage = {
 
   inherit deployConfigScript deployLaunchScript;
   installPhase = ''
+    eval "$preInstall"
+
     mkdir -p "$out"/share/doc/${args.baseName};
     mkdir -p "$out"/lib/common-lisp/${args.baseName};
     cp -r . "$out"/lib/common-lisp/${args.baseName};
@@ -37,8 +39,11 @@ basePackage = {
 
     ${deployConfigScript}
     ${deployLaunchScript}
+
+    eval "$postInstall"
   '';
-  propagatedBuildInputs = args.deps ++ [clwrapper clwrapper.lisp];
+  propagatedBuildInputs = (args.deps or []) ++ [clwrapper clwrapper.lisp] 
+    ++ (args.propagatedBuildInputs or []);
   buildInputs = buildInputs;
   dontStrip=true;
   meta = {
diff --git a/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh b/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh
index 61c00eb92ae..8693a304899 100755
--- a/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh
+++ b/pkgs/development/lisp-modules/from-quicklisp/barebones-quicklisp-expression.sh
@@ -2,10 +2,16 @@
 
 name="$1"
 
-nix-instantiate "$(dirname "$0")"/../../../../ -A "lispPackages.$name" > /dev/null && exit
-[ "$NIX_LISP_PACKAGES_DEFINED" != "${NIX_LISP_PACKAGES_DEFINED/$name/@@}" ] && exit
+[ -z "$NIX_LISP_PACKAGES_DEFINED_LIST" ] && export NIX_LISP_PACKAGES_DEFINED_LIST="$(mktemp)"
 
-NIX_LISP_PACKAGES_DEFINED="$NIX_LISP_PACKAGES_DEFINED $1 "
+if [ -n "$NIX_LISP_UPDATE_PACKAGE" ] || [ -n "$NIX_LISP_UPDATE_PACKAGES" ]; then
+  export NIX_LISP_UPDATE_PACKAGE=
+else
+  nix-instantiate "$(dirname "$0")"/../../../../ -A "lispPackages.$name" > /dev/null && exit
+fi
+grep "^$name\$" "$NIX_LISP_PACKAGES_DEFINED_LIST" > /dev/null && exit
+
+echo "$name" >> "$NIX_LISP_PACKAGES_DEFINED_LIST"
 
 [ -z "$NIX_QUICKLISP_DIR" ] && {
   export NIX_QUICKLISP_DIR="$(mktemp -d --tmpdir nix-quicklisp.XXXXXX)"
@@ -26,14 +32,39 @@ ql_src="$(curl -L https://github.com/quicklisp/quicklisp-projects/raw/master/"$n
 ql_src_type="${ql_src%% *}"
 url="${ql_src##* }"
 
+[ "$ql_src_type" = "kmr-git" ] && {
+  ql_src_type=git
+  url="http://git.b9.com/$url.git"
+  export NIX_PREFETCH_GIT_DEEP_CLONE=1
+}
+
+[ "$ql_src_type" = ediware-http ] && {
+  ql_src_type=github
+  url="edicl/$url";
+}
+
+[ "$ql_src_type" = xach-http ] && {
+  ql_src_type=github
+  url="xach/$url";
+}
+
+[ "$ql_src_type" = github ] && {
+  ql_src_type=git
+  url="https://github.com/$url";
+  version="$("$(dirname "$0")/../../../build-support/upstream-updater/urls-from-page.sh" "$url/releases/" | grep /tag/ | head -n 1 | xargs -l1 basename)"
+  rev="refs/tags/$version";
+}
+
 [ "$ql_src_type" = git ] && {
   fetcher="pkgs.fetchgit"
-  [ "${url#git://github.com/}" != "$url" ] && {
+  ( [ "${url#git://github.com/}" != "$url" ] ||
+    [ "${url#https://github.com/}" != "$url" ]
+    ) && {
     url="${url/git:/https:}"
     url="${url%.git}"
-    rev=$("$(dirname "$0")/../../../build-support/upstream-updater/urls-from-page.sh" "$url/commits" | grep /commit/ | head -n 1 | xargs basename)
-    hash=$("$(dirname "$0")/../../../build-support/fetchgit/nix-prefetch-git" "$url" "$rev")
-    version="git-$(date +%Y%m%d)";
+    [ -z "$rev" ] && rev=$("$(dirname "$0")/../../../build-support/upstream-updater/urls-from-page.sh" "$url/commits" | grep /commit/ | head -n 1 | xargs basename)
+    hash=$("$(dirname "$0")/../../../build-support/fetchgit/nix-prefetch-git" "$url" "$rev" | grep . | tail -n 1)
+    [ -z "$version" ] && version="git-$(date +%Y%m%d)";
   }
   [ "${url#git://common-lisp.net/}" != "$url" ] && {
     http_repo_url="$url"
@@ -41,8 +72,26 @@ url="${ql_src##* }"
     http_repo_url="${http_repo_url/\/projects\// /r/projects/}"
     http_repo_head="$http_repo_url/refs/heads/master"
     echo "$http_repo_head" >&2
-    rev=$(curl -L "$http_repo_head");
+    [ -z "$rev" ] && rev=$(curl -L "$http_repo_head");
     hash=$("$(dirname "$0")/../../../build-support/fetchgit/nix-prefetch-git" "$url" "$rev")
+    [ -z "$version" ] && version="git-$(date +%Y%m%d)";
+  }
+  [ "${url#http://git.b9.com/}" != "$url" ] && {
+    http_repo_url="$url"
+    http_repo_url="${http_repo_url/git:/http:}"
+    http_repo_head="$http_repo_url/refs/heads/master"
+    echo "$http_repo_head" >&2
+    rev=$(curl -L "$http_repo_head");
+    hash=$("$(dirname "$0")/../../../build-support/fetchgit/nix-prefetch-git" "$url" "$rev" | tail -n 1)
+    version="git-$(date +%Y%m%d)";
+  }
+  [ "${url#http://common-lisp.net/}" != "$url" ] && {
+    http_repo_url="$url"
+    http_repo_url="${http_repo_url/git:/http:}"
+    http_repo_head="$http_repo_url/refs/heads/master"
+    echo "$http_repo_head" >&2
+    rev=$(curl -L "$http_repo_head");
+    hash=$("$(dirname "$0")/../../../build-support/fetchgit/nix-prefetch-git" "$url" "$rev" | tail -n 1)
     version="git-$(date +%Y%m%d)";
   }
 }
@@ -57,13 +106,59 @@ url="${ql_src##* }"
   unset url
 }
 
-cat << EOF
+[ "$ql_src_type" = clnet-darcs ] && {
+  ql_src_type=darcs
+  url="http://common-lisp.net/project/$url/darcs/$url/"
+}
+
+[ "$ql_src_type" = darcs ] && {
+  fetcher="pkgs.fetchdarcs"
+  [ -z "$version" ] &&
+  version="$(curl "$url/_darcs/inventory" | grep '\[TAG ' | tail -n 1 | sed -e 's/.* //')"
+  [ -z "$version" ] &&
+  version="$(curl "$url/_darcs/hashed_inventory" | grep '\[TAG ' | tail -n 1 | sed -e 's/.* //')"
+  rev="$version";
+  hash=$(echo "
+  with (import <nixpkgs> {});
+      fetchdarcs {
+        url=''$url'';
+	rev=''$version'';
+	sha256=''0000000000000000000000000000000000000000000000000000000000000000'';
+    }" | nix-instantiate - | tail -n 1 |
+    xargs nix-store -r 2>&1 | tee /dev/stderr | grep 'instead has' | tail -n 1 |
+    sed -e 's/.* instead has .//;s/[^0-9a-z].*//')
+}
+
+[ "$ql_src_type" = froydware-http ] && {
+  dirurl="http://method-combination.net/lisp/files/";
+  url="$("$(dirname "$0")/../../../build-support/upstream-updater/urls-from-page.sh" "$dirurl" |
+    grep "/${url}_" | grep -v "[.]asc\$" | tail -n 1)"
+  ql_src_type=http
+}
+
+[ "$ql_src_type" = http ] && {
+  fetcher="pkgs.fetchurl";
+  version="$(echo "$url" | sed -re 's@.*[-_]([0-9.]+)[-._].*@\1@')"
+  hash="$(nix-prefetch-url "$url" | grep . | tail -n 1)"
+}
+
+[ "$ql_src_type" = https ] && {
+  fetcher="pkgs.fetchurl";
+  version="$(echo "$url" | sed -re 's@.*[-_]([0-9.]+)[-._].*@\1@')"
+  hash="$(nix-prefetch-url "$url" | grep . | tail -n 1)"
+}
+
+if [ "$ql_src" = '{"error":"Not Found"}' ]; then
+	echo "# $name: not found"
+else
+cat << EOF | grep -Ev '^[ ]+$'
 
   $name = buildLispPackage rec {
     baseName = "$name";
     version = "${version:-\${Set me //}";
     description = "$description";
     deps = [$dependencies];
+    # Source type: $ql_src_type
     src = ${fetcher:-pkgs.fetchurl} {
       ${url:+url = ''$url'';}
       sha256 = "${hash:-0000000000000000000000000000000000000000000000000000000000000000}";
@@ -74,5 +169,6 @@ cat << EOF
     };
   };
 EOF
+fi
 
 for i in $dependencies; do "$0" "$i"; done
diff --git a/pkgs/development/lisp-modules/from-quicklisp/tmp.nix b/pkgs/development/lisp-modules/from-quicklisp/tmp.nix
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/pkgs/development/lisp-modules/from-quicklisp/tmp.nix
+++ /dev/null
diff --git a/pkgs/development/lisp-modules/iterate.darcs-context b/pkgs/development/lisp-modules/iterate.darcs-context
new file mode 100644
index 00000000000..533faaec8e7
--- /dev/null
+++ b/pkgs/development/lisp-modules/iterate.darcs-context
@@ -0,0 +1,116 @@
+
+Context:
+
+[make the #L reader macro standard conformant by not assuming anything about the representation of quasiquoted forms.
+Douglas Katzman <dougk@google.com>**20140423044759
+ Ignore-this: ccdda48acdf7b2033ac0f51ed48582fc
+] 
+
+[fix for test for.previous.var-with-type-declaration
+Jan Moringen <jmoringe@techfak.uni-bielefeld.de>**20140129144214
+ Ignore-this: a617d046d90816827d370d3bbf38d2df
+] 
+
+[housekeeping
+attila.lendvai@gmail.com**20140129143709
+ Ignore-this: a05c5fbace98b282a464b829711e064f
+] 
+
+[added test for.previous.var-with-type-declaration
+attila.lendvai@gmail.com**20140129143435
+ Ignore-this: 6e9f419e118724c660d519c3fa9f8dd2
+] 
+
+[added a restart to remove conflicting clauses
+Russ Tyndall <russ@acceleration.net>**20120508185107
+ Ignore-this: b7c4c6eec565dd435b8e9e5403fcb0a8
+] 
+
+[added new failing test bug/collect-at-beginning, as reported by Paul Sexton
+attila.lendvai@gmail.com**20121218144220
+ Ignore-this: d55e7c22deeaf89b90d03d7ef01179d6
+] 
+
+[Fix: If both AT BEGINNING and RESULT-TYPE are specified, RESULT-TYPE was ignored.
+attila.lendvai@gmail.com**20120509225435
+ Ignore-this: 20cf116df585ffedfbe63ce7a4092249
+ 
+ Patched by Ilya Perminov
+] 
+
+[fix package nickname in case sensitive mode
+attila.lendvai@gmail.com**20110927152614
+ Ignore-this: fb1ba1d418b4a20a0cd4e697d943a0e6
+] 
+
+[move list-of-forms? out of the #L eval-when, because it's also used by other parts of iterate
+attila.lendvai@gmail.com**20110119161133
+ Ignore-this: 97545988c4a3eab02434f222120b1a1
+] 
+
+[added bug/walk.2
+attila.lendvai@gmail.com**20100603093335
+ Ignore-this: faa1bd48d0450e76652552bb47bcff02
+] 
+
+[first-time-p bugfix: return-code :body must return list of forms
+Joerg-Cyril Hoehle <hoehle@users.sourceforge.net>**20070525141533
+ if-first-time not declared obsolete
+ documentation strings for (iter:display-iterate-clauses) complete
+] 
+
+[fix defmacro-driver example in manual
+Joerg-Cyril Hoehle <hoehle@users.sourceforge.net>**20070525081443] 
+
+[Use @:, @. and two spaces between sentences
+Joerg-Cyril Hoehle <hoehle@users.sourceforge.net>**20070525080932
+ Move section on predicate (first-time-p) outside of gathering clauses
+ Various typos and some clarifications
+] 
+
+[document *list-end-test* removal in FOR...IN+ON
+Joerg-Cyril Hoehle <hoehle@users.sourceforge.net>**20070525074338] 
+
+[Renamed back to sharpL-reader
+attila.lendvai@gmail.com**20070506100744] 
+
+[Fix sharpL reader, add :execute to the eval-when to make (load "iterate" :compiling t) work on clisp
+attila.lendvai@gmail.com**20070506100704] 
+
+[Convert manual to Texinfo.
+Luis Oliveira <loliveira@common-lisp.net>**20060713142915] 
+
+[make FOR...IN/ON with dotted lists work like LOOP
+hoehle@users.sourceforge.net**20070503130604
+ More precisely, FOR ON accepts dotted lists, FOR IN errors out.
+ As a result, iterate::*list-end-test* was eliminated.
+ Behaviour is now constant and does not depend on some special variable.
+ Note: Documentation not yet updated, pending move to Texinfo.
+] 
+
+[walk-tagbody: more testcases
+Joerg-Cyril Hoehle <hoehle@users.sourceforge.net>**20070503095309] 
+
+[walk-tagbody must not macroexpand symbol/tags among its statements
+Joerg-Cyril Hoehle <hoehle@users.sourceforge.net>**20070404124132] 
+
+[add ELSE test cases, remove GNU Arch tag
+Joerg-Cyril Hoehle <hoehle@users.sourceforge.net>**20070503093008] 
+
+[Clean up #L stuff, do not leave #L enabled after loading iterate
+attila.lendvai@gmail.com**20070426153431] 
+
+[Set *list-end-test* to 'endp instead of 'atom, so (iter (for foo :in something-non-list)) fails instead of silently exists
+attila.lendvai@gmail.com**20070215151652] 
+
+[wrap code in progns, to avoid possiblity of multiple nil tags in tagbody
+ Henrik Hjelte <henrik@evahjelte.com>**20061025145324] 
+
+[test to detect bug, more than one nil tag in tagbody
+ Henrik Hjelte <henrik@evahjelte.com>**20061025145128] 
+
+[Added release.sh
+attila.lendvai@gmail.com**20060506155953] 
+
+[TAG 1.4.3
+attila.lendvai@gmail.com**20060505134701] 
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index 14c996fa05a..e423344fb16 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -19,37 +19,37 @@ let lispPackages = rec {
 
   clx = buildLispPackage rec {
     baseName = "clx";
-    version = "2013-09";
-    description = "X11 bindings for Common Lisp";
+    version = "git-20150117";
+    description = "An implementation of the X Window System protocol in Lisp.";
     deps = [];
+    # Source type: git
     src = pkgs.fetchgit {
-      url = "https://github.com/sharplispers/clx.git";
-      rev = "e2b762ac93d78d6eeca4f36698c8dfd1537ce998";
-      sha256 = "0jcrmlaayz7m8ixgriq7id3pdklyk785qvpcxdpcp4aqnfiiqhij";
+      url = ''https://github.com/sharplispers/clx'';
+      sha256 = "ada6cf450c22d1ed297e5575f832bee8e4b61d602ffa9a145ae2fab7cd80f3b6";
+      rev = ''0a3bea0fab66058e9394973e23954c43083d96e2'';
+      name = "clx-git-checkout-${version}";
     };
   };
 
   iterate = buildLispPackage rec {
     baseName = "iterate";
-    version = "1.4.3";
+    version = "darcs-2014-11-01";
     description = "Iteration package for Common Lisp";
     deps = [];
     src = pkgs.fetchdarcs {
       url = "http://common-lisp.net/project/iterate/darcs/iterate";
-      sha256 = "0m3q0s7h5s8varwx584m2akgdslj14df7kg4w1bj1fbgzsag5m1w";
-      rev = version;
+      sha256 = "0gm05s3laiivsqgqjfj1rkz83c2c0jyn4msfgbv6sz42znjpam25";
+      context = ./iterate.darcs-context;
     };
     overrides = x: {
       configurePhase="buildPhase(){ true; }";
     };
   };
 
-  stumpwm = callPackage ./stumpwm {};
-
   alexandria = buildLispPackage rec {
     baseName = "alexandria";
     version = "git-20131029";
-    description = "Alexandria is a collection of portable public domain utilities.";
+    description = "A collection of portable public domain utilities";
     deps = [];
     src = pkgs.fetchgit {
       url = "git://common-lisp.net/projects/alexandria/alexandria.git";
@@ -67,8 +67,6 @@ let lispPackages = rec {
       url = "https://github.com/fb08af68/esrap-peg.git";
       sha256 = "48e616a697aca95e90e55052fdc9a7f96bf29b3208b1b4012fcd3189c2eceeb1";
       rev = ''1f2f21e32e618f71ed664cdc5e7005f8b6b0f7c8'';
-      
-      
     };
   };
 
@@ -79,7 +77,6 @@ let lispPackages = rec {
     deps = [];
     src = pkgs.fetchcvs {
       sha256 = "a574b7f9615232366e3e5e7ee400d60dbff23f6d0e1def5a3c77aafdfd786e6a";
-      
       date = ''2013-10-28'';
       module = ''cl-unification'';
       cvsRoot = '':pserver:anonymous:anonymous@common-lisp.net:/project/cl-unification/cvsroot'';
@@ -89,14 +86,465 @@ let lispPackages = rec {
   esrap = buildLispPackage rec {
     baseName = "esrap";
     version = "git-20131029";
-    description = "A Packrat / Parsing Grammar / TDPL parser for Common Lisp.";
+    description = "A Packrat / Parsing Grammar / TDPL parser for Common Lisp";
     deps = [alexandria];
     src = pkgs.fetchgit {
       url = "https://github.com/scymtym/esrap.git";
       sha256 = "c56616ac01be0f69e72902f9fd830a8af2c2fa9018b66747a5da3988ae38817f";
       rev = ''c71933b84e220f21e8a509ec26afe3e3871e2e26'';
-      
-      
+    };
+  };
+
+  clx-truetype = buildLispPackage rec {
+    baseName = "clx-truetype";
+    version = "git-20141112";
+    description = "clx-truetype is pure common lisp solution for antialiased TrueType font rendering using CLX and XRender extension.";
+    deps = [cl-fad cl-store cl-vectors clx trivial-features zpb-ttf];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/filonenko-mikhail/clx-truetype'';
+      sha256 = "fe3d3923909a8f0a19298bfa366bb265c5155eed43d4dd315920535d15424d65";
+      rev = ''6f72905c6886a656e5a1c8167097f12375c6da7d'';
+    };
+    overrides = x:{
+      configurePhase = "rm Makefile";
+    };
+  };
+
+  cl-fad = buildLispPackage rec {
+    baseName = "cl-fad";
+    version = "v0.7.2";
+    description = "Portable pathname library";
+    deps = [alexandria bordeaux-threads];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/edicl/cl-fad'';
+      sha256 = "87917ab4af4f713ad41faa72c7eaed2872f8dac47f49c0668ba8782590fdbca4";
+      rev = ''refs/tags/v0.7.2'';
+    };
+  };
+
+  bordeaux-threads = buildLispPackage rec {
+    baseName = "bordeaux-threads";
+    version = "0.8.3";
+    description = "Bordeaux Threads makes writing portable multi-threaded apps simple";
+    deps = [alexandria];
+    # Source type: http
+    src = pkgs.fetchurl {
+      url = ''http://common-lisp.net/project/bordeaux-threads/releases/bordeaux-threads-0.8.3.tar.gz'';
+      sha256 = "0c3n7qsx4jc3lg8s0n9kxfvhhyl0s7123f3038nsb96rf0bvb5hy";
+    };
+  };
+
+  zpb-ttf = buildLispPackage rec {
+    baseName = "zpb-ttf";
+    version = "release-1.0.3";
+    description = "Access TrueType font metrics and outlines from Common Lisp";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/xach/zpb-ttf'';
+      sha256 = "3092a3ba9f27b091224d11c0ccfb09c9a4632ebfd6c3986df3147f19e53606f2";
+      rev = ''refs/tags/release-1.0.3'';
+    };
+  };
+
+  cl-store = buildLispPackage rec {
+    baseName = "cl-store";
+    version = "git-20141112";
+    description = "Serialization package";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/skypher/cl-store'';
+      sha256 = "7096ad38d5c77d58f7aa0ef8df1884411173c140408cb7967922b315ab505472";
+      rev = ''2d2455c024fe64ee24cbf914c82254fa5bd09cab'';
+    };
+  };
+
+  cl-vectors = buildLispPackage rec {
+    baseName = "cl-vectors";
+    version = "git-20141112";
+    description = "cl-paths: vectorial paths manipulation";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/fjolliton/cl-vectors'';
+      sha256 = "2d1428911cd2699513a0b886661e9b54d1edf78558277ac83723a22c7fc9dea7";
+      rev = ''7b3e5d6a8abe3de307c1dc0c4347f4efa4f25f29'';
+    };
+  };
+
+  trivial-features = buildLispPackage rec {
+    baseName = "trivial-features";
+    version = "git-20141112";
+    description = "Ensures consistent *FEATURES* across multiple CLs.";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/trivial-features/trivial-features'';
+      sha256 = "2006aebe0c2bfed1c39a2195639e221fdc52a443b6c8522e535cbef2370a07fc";
+      rev = ''2b7cdc3b8073eb33655850b51223770b535da6d9'';
+    };
+  };
+
+  clsql = buildLispPackage rec {
+    baseName = "clsql";
+    version = "git-20141112";
+    description = "Common Lisp SQL Interface library";
+    deps = [uffi];
+    buildInputs = [pkgs.mysql.lib pkgs.zlib];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''http://git.b9.com/clsql.git'';
+      sha256 = "dacd56bc9a0348e8101184bf154b971407a98f3a753d7cce34c7a44b4b19f8fd";
+      rev = ''180b52cb686a87487e12e87b13bafe131e6c3bef'';
+    };
+    overrides = x:{
+      preConfigure = ''
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.mysql.lib}/include/mysql"
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L${pkgs.mysql.lib}/lib/mysql"
+      '';
+    };
+  };
+
+  uffi = buildLispPackage rec {
+    baseName = "uffi";
+    version = "git-20141112";
+    description = "Universal Foreign Function Library for Common Lisp";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''http://git.b9.com/uffi.git'';
+      sha256 = "219e4cfebfac251c922bcb9d517980b0988d765bd18b7f5cc765a43913aaacc6";
+      rev = ''a63da5b764b6fa30e32fcda4ddac88de385c9d5b'';
+    };
+  };
+
+  query-fs = buildLispPackage rec {
+    baseName = "query-fs";
+    version = "git-20141113";
+    description = "High-level virtual FS using CL-Fuse-Meta-FS to represent results of queries";
+    deps = [bordeaux-threads cl-fuse cl-fuse-meta-fs cl-ppcre command-line-arguments iterate trivial-backtrace];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/fb08af68/query-fs'';
+      sha256 = "4ed66f255e50d2c9ea9f0b3fbaa92bde9b8acf6a5fafb0d7f12b254be9de99e9";
+      rev = ''831f0180967f09b1dd345fef82144f48334279c3'';
+    };
+    overrides = x: {
+      linkedSystems = [];
+      postInstall = ''
+        export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$out/lib/common-lisp/query-fs"
+	export HOME=$PWD
+	build-with-lisp.sh sbcl \
+	  ":query-fs $(echo "$linkedSystems" | sed -re 's/(^| )([^ :])/:\2/g')" \
+	  "$out/bin/query-fs" \
+	  "(query-fs:run-fs-with-cmdline-args)"
+      '';
+    };
+  };
+
+  cl-fuse = buildLispPackage rec {
+    baseName = "cl-fuse";
+    version = "git-20141113";
+    description = "CFFI bindings to FUSE (Filesystem in user space)";
+    deps = [bordeaux-threads cffi cl-utilities iterate trivial-backtrace trivial-utf-8];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/fb08af68/cl-fuse'';
+      sha256 = "1l4ydxbwzlj6gkb1c9vc96rfbj951snaidpx10pxz4wdnzg3kq99";
+      rev = ''6feffaa34a21cfc7890b25357284858f924e8cb3'';
+    };
+    propagatedBuildInputs = [pkgs.fuse];
+    overrides = x : {
+      configurePhase = ''
+        export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD"
+        export makeFlags="$makeFlags LISP=common-lisp.sh"
+      '';
+    };
+  };
+
+  cffi = buildLispPackage rec {
+    baseName = "cffi";
+    version = "0.14.0";
+    description = "The Common Foreign Function Interface";
+    deps = [alexandria babel trivial-features];
+    # Source type: http
+    src = pkgs.fetchurl {
+      url = ''http://common-lisp.net/project/cffi/releases/cffi_${version}.tar.gz'';
+      sha256 = "155igjh096vrp7n71c0xcg9qbcpj6547qjvzi9shxbpi6piw6fkw";
+    };
+  };
+
+  babel = buildLispPackage rec {
+    baseName = "babel";
+    version = "git-20141113";
+    description = "Babel, a charset conversion library.";
+    deps = [alexandria trivial-features];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/cl-babel/babel'';
+      sha256 = "abe7150f25ceb7eded520d95f1665a46f4233cf13b577fd02c3f6be54c32facc";
+      rev = ''74b35ea79b769c4f9aefad933923778ffa7915ab'';
+    };
+  };
+
+  cl-utilities = buildLispPackage rec {
+    baseName = "cl-utilities";
+    version = "1.2.4";
+    description = "A collection of Common Lisp utility functions";
+    deps = [];
+    # Source type: http
+    src = pkgs.fetchurl {
+      url = ''http://common-lisp.net/project/cl-utilities/cl-utilities-${version}.tar.gz'';
+      sha256 = "1z2ippnv2wgyxpz15zpif7j7sp1r20fkjhm4n6am2fyp6a3k3a87";
+    };
+  };
+
+  trivial-utf-8 = buildLispPackage rec {
+    baseName = "trivial-utf-8";
+    version = "2011-09-08";
+    description = "A UTF-8 encoding library";
+    deps = [];
+    # Source type: darcs
+    src = pkgs.fetchdarcs {
+      url = ''http://common-lisp.net/project/trivial-utf-8/darcs/trivial-utf-8/'';
+      sha256 = "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1";
+    };
+  };
+
+  cl-fuse-meta-fs = buildLispPackage rec {
+    baseName = "cl-fuse-meta-fs";
+    version = "git-20141113";
+    description = "CFFI bindings to FUSE (Filesystem in user space)";
+    deps = [bordeaux-threads cl-fuse iterate pcall];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/fb08af68/cl-fuse-meta-fs'';
+      sha256 = "259303effea61baf293ffc5d080cb071ef15bed8fa1c76f0c1631f68d2aa3c85";
+      rev = ''d3d332471ce9330e3eaebf9d6cecdd2014c3599b'';
+    };
+  };
+
+  pcall = buildLispPackage rec {
+    baseName = "pcall";
+    version = "0.3";
+    description = "Common Lisp library intended to simplify 'result-oriented' parallelism";
+    deps = [bordeaux-threads];
+    # Source type: http
+    src = pkgs.fetchgit {
+      url = ''https://github.com/marijnh/pcall'';
+      sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps";
+      rev = "4e1ef32c33c2ca18fd8ab9afb4fa793c179a3578";
+    };
+  };
+
+  command-line-arguments = buildLispPackage rec {
+    baseName = "command-line-arguments";
+    version = "git-20141113";
+    description = "small library to deal with command-line arguments";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''http://common-lisp.net/project/qitab/git/command-line-arguments.git'';
+      sha256 = "91bb321e201034c35121860cb6ec05e39c6392d5906a52b9a2d33d0f76b06123";
+      rev = ''121f303bbef9c9cdf37a7a12d8adb1ad4be5a6ae'';
+    };
+  };
+
+  trivial-backtrace = buildLispPackage rec {
+    baseName = "trivial-backtrace";
+    version = "git-2014-11-01";
+    description = "trivial-backtrace";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''http://common-lisp.net/project/trivial-backtrace/trivial-backtrace.git'';
+      sha256 = "1ql80z0igsng32rbp24h81pj5c4l87c1ana6c9lx3dlqpixzl4kj";
+      rev = ''48a6b081e00b0d85f1e001c7258393ed34d06bc9'';
+    };
+  };
+
+  drakma = buildLispPackage rec {
+    baseName = "drakma";
+    version = "v1.3.10";
+    description = "Full-featured http/https client based on usocket";
+    deps = [chipz chunga cl-ssl cl-base64 cl-ppcre flexi-streams puri usocket];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/edicl/drakma'';
+      sha256 = "0ecc37c9d5cc91a3b86746c4f20c0b1609969db01041df04ff6a9df1d021b30a";
+      rev = ''refs/tags/v1.3.10'';
+    };
+  };
+
+  chipz = buildLispPackage rec {
+    baseName = "chipz";
+    version = "git-20141113";
+    description = "A library for decompressing deflate, zlib, and gzip data";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/froydnj/chipz'';
+      sha256 = "73ae22d58b6db5b2c86af4a465260e48a5aca19827d2b7329e2870c1148da8e2";
+      rev = ''3402c94df1d0af7742df08d3ffa23fd5c04c9bf2'';
+    };
+  };
+
+  chunga = buildLispPackage rec {
+    baseName = "chunga";
+    version = "v1.1.5";
+    description = "Portable chunked streams";
+    deps = [trivial-gray-streams];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/edicl/chunga'';
+      sha256 = "5d045882be34b158185c491da85cfd4671f456435c9ff8fa311a864f633b0446";
+      rev = ''refs/tags/v1.1.5'';
+    };
+  };
+
+  trivial-gray-streams = buildLispPackage rec {
+    baseName = "trivial-gray-streams";
+    version = "git-20141113";
+    description = "Compatibility layer for Gray Streams (see http://www.cliki.net/Gray%20streams).";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/trivial-gray-streams/trivial-gray-streams'';
+      sha256 = "8d5c041f95eb31aa313adc433edf91bb14656400cae1e0ec98ad7ed085bb7954";
+      rev = ''0483ade330508b4b2edeabdb47d16ec9437ee1cb'';
+    };
+  };
+
+  cl-ssl = buildLispPackage rec {
+    baseName = "cl+ssl";
+    version = "git-20141113";
+    description = "Common Lisp interface to OpenSSL.";
+    deps = [bordeaux-threads cffi flexi-streams trivial-garbage trivial-gray-streams];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/cl-plus-ssl/cl-plus-ssl'';
+      sha256 = "6b99fc49ac38e49ee69a47ce5791606b8b811c01e5563bfd3164d393db6c4040";
+      rev = ''f8695c5df48ebc3557f76a8a08dd96429bdf8df2'';
+    };
+    propagatedBuildInputs = [pkgs.openssl];
+  };
+
+  flexi-streams = buildLispPackage rec {
+    baseName = "flexi-streams";
+    version = "v1.0.13";
+    description = "Flexible bivalent streams for Common Lisp";
+    deps = [trivial-gray-streams];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/edicl/flexi-streams'';
+      sha256 = "46d6b056cffc9ea201dedde847b071db744dfbadf0a21a261717272fe3d85cab";
+      rev = ''refs/tags/v1.0.13'';
+    };
+  };
+
+  trivial-garbage = buildLispPackage rec {
+    baseName = "trivial-garbage";
+    version = "git-20141113";
+    description = "Portable finalizers, weak hash-tables and weak pointers.";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/trivial-garbage/trivial-garbage'';
+      sha256 = "69f6c910921de436393ff5f93bee36443534756965fa34e43e04d9e8919212df";
+      rev = ''2721d36d71748d9736a82fe5afe333c52bae3084'';
+    };
+  };
+
+  cl-base64 = buildLispPackage rec {
+    baseName = "cl-base64";
+    version = "git-20141113";
+    description = "Base64 encoding and decoding with URI support.";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''http://git.b9.com/cl-base64.git'';
+      sha256 = "a34196544cc67d54aef74e31eff2cee62a7861a5675d010fcd925f1c61c23e81";
+      rev = ''f375d1fc3a6616e95ae88bb33493bb99f920ba13'';
+    };
+  };
+
+  puri = buildLispPackage rec {
+    baseName = "puri";
+    version = "git-20141113";
+    description = "Portable Universal Resource Indentifier Library";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''http://git.b9.com/puri.git'';
+      sha256 = "71804698e7f3009fb7f570656af5d952465bfe77f72e9c41f7e2dda8a5b45c5e";
+      rev = ''68260dbf320c01089c8cee54ef32c800eefcde7f'';
+    };
+  };
+
+  usocket = buildLispPackage rec {
+    baseName = "usocket";
+    version = "0.6.1";
+    description = "Universal socket library for Common Lisp";
+    deps = [];
+    # Source type: http
+    src = pkgs.fetchurl {
+      url = ''http://common-lisp.net/project/usocket/releases/usocket-${version}.tar.gz'';
+      sha256 = "1lnhjli85w20iy5nn6j6gsyxx42mvj8l0dfhwcjpl6dl2lz80r7a";
+    };
+  };
+
+  cl-html-parse = buildLispPackage rec {
+    baseName = "cl-html-parse";
+    version = "git-20141113";
+    description = "HTML Parser";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/gwkkwg/cl-html-parse'';
+      sha256 = "0153d4962493f106849fc7cbfe03c5ff874adae8d307ea2e1ceebbb009e2f89f";
+      rev = ''b21e8757210a1eb2a47104a563f58bf82ba9a579'';
+    };
+  };
+
+  nibbles = buildLispPackage rec {
+    baseName = "nibbles";
+    version = "git-20141116";
+    description = "A library for accessing octet-addressed blocks of data";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/froydnj/nibbles'';
+      sha256 = "39ad95be2b9f9ea80dbccd205a0ed6f9c5ef175a10da6eec55b7ba09a8f1a76a";
+      rev = ''ace095d85e48b18bf9cf9e21249ba7fb57e3efe2'';
+    };
+  };
+
+  ironclad = buildLispPackage rec {
+    baseName = "ironclad";
+    version = "0.33.0";
+    description = "A cryptographic toolkit written in pure Common Lisp";
+    deps = [nibbles];
+    # Source type: http
+    src = pkgs.fetchurl {
+      url = ''http://method-combination.net/lisp/files/ironclad_0.33.0.tar.gz'';
+      sha256 = "1ld0xz8gmi566zxl1cva5yi86aw1wb6i6446gxxdw1lisxx3xwz7";
+    };
+  };
+
+  cl-smtp = buildLispPackage rec {
+    baseName = "cl-smtp";
+    version = "cvs-2014-11-15";
+    description = "SMTP client library";
+    deps = [cl-ssl cl-base64 flexi-streams trivial-gray-streams usocket];
+    # Source type: cvs
+    src = pkgs.fetchcvs {
+      sha256 = "15b7lvayn1izzfism7s7rcw2mv1hwgp9l2lgb5na9qxmqzjlw0r9";
+      date = ''2014-11-15'';
+      module = ''cl-smtp'';
+      cvsRoot = '':pserver:anonymous:anonymous@common-lisp.net:/project/cl-smtp/cvsroot'';
     };
   };
 };
diff --git a/pkgs/development/lisp-modules/stumpwm/default.nix b/pkgs/development/lisp-modules/stumpwm/default.nix
deleted file mode 100644
index ae0dab1ec9d..00000000000
--- a/pkgs/development/lisp-modules/stumpwm/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{pkgs, nixLib, clwrapper, cl-ppcre, clx, buildLispPackage}:
-buildLispPackage rec {
-  baseName = "stumpwm";
-  version = "2013-09";
-  src = pkgs.fetchgit {
-    url = "https://github.com/sabetts/stumpwm";
-    sha256 = "0dd69myssfn2bsdx3xdp65mjrvs9x81dl3y3659pyf1avnjlir7h";
-    rev = "565ef58f04f59e1667ec1da4087f1a43a32cd67f";
-  };
-  description = "Tiling window manager for X11";
-  deps = [cl-ppcre clx];
-  buildInputs = with pkgs; [texinfo4 autoconf which makeWrapper];
-  meta = {
-    maintainers = [nixLib.maintainers.raskin];
-    platforms = nixLib.platforms.linux;
-  };
-  overrides = x: {
-    preConfigure = ''
-      ${x.deployConfigScript}
-      export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD/"
-      ./autogen.sh
-      configureFlags=" --with-lisp=$NIX_LISP --with-$NIX_LISP=$(which common-lisp.sh) --with-contrib-dir=$out/lib/common-lisp/stumpwm/contrib/"
-    '';
-    installPhase = with pkgs; x.installPhase + ''
-      make install
-
-      if [ "$NIX_LISP" = "sbcl" ]; then
-        wrapProgram "$out"/bin/stumpwm --set SBCL_HOME "${clwrapper.lisp}/lib/sbcl"
-      fi;
-
-      mv $out/lib/common-lisp/stumpwm/contrib/stumpish $out/bin/stumpish
-      wrapProgram "$out"/bin/stumpish --prefix PATH : "${xlibs.xprop}/bin:${coreutils}/bin:${gnugrep}/bin:${gnused}/bin:${rlwrap}/bin:${ncurses}/bin"
-    '';
-    postInstall = ''false'';
-  };
-}
diff --git a/pkgs/development/lua-modules/generic/default.nix b/pkgs/development/lua-modules/generic/default.nix
new file mode 100644
index 00000000000..2a44cdfca0b
--- /dev/null
+++ b/pkgs/development/lua-modules/generic/default.nix
@@ -0,0 +1,24 @@
+lua:
+
+{ buildInputs ? [], disabled ? false, ... } @ attrs:
+
+if disabled then
+  throw "${attrs.name} not supported by interpreter lua-${lua.luaversion}"
+else
+  lua.stdenv.mkDerivation ({
+
+      preBuild = ''
+        makeFlagsArray=(
+          PREFIX=$out
+          LUA_LIBDIR="$out/lib/lua/${lua.luaversion}"
+          LUA_INC="-I${lua}/include");
+      '';
+    }
+    //
+    attrs
+    //
+    {
+      name = "lua${lua.luaversion}-" + attrs.name;
+      buildInputs = buildInputs ++ [ lua ];
+    }
+  )
diff --git a/pkgs/development/lua-modules/luasql.patch b/pkgs/development/lua-modules/luasql.patch
new file mode 100644
index 00000000000..e91840101ee
--- /dev/null
+++ b/pkgs/development/lua-modules/luasql.patch
@@ -0,0 +1,37 @@
+--- a/config	2013-02-18 19:36:44.000000000 +0400
++++ b/config	2014-10-01 08:36:37.104254404 +0400
+@@ -1,12 +1,12 @@
+ # $Id: config,v 1.10 2008/05/30 17:21:18 tomas Exp $
+ 
+ # Driver (leave uncommented ONLY the line with the name of the driver)
+-T= mysql
++#T= mysql
+ #T= oci8
+ #T= odbc
+ #T= postgres
+ #T= sqlite
+-#T=sqlite3
++T=sqlite3
+ #T=firebird
+ 
+ # Installation directories
+@@ -37,8 +37,8 @@
+ ######## MySQL
+ #DRIVER_LIBS= -L/usr/local/mysql/lib -lmysqlclient -lz
+ #DRIVER_INCS= -I/usr/local/mysql/include
+-DRIVER_LIBS= -L/usr/lib -lmysqlclient -lz
+-DRIVER_INCS= -I/usr/include/mysql
++#DRIVER_LIBS= -L/usr/lib -lmysqlclient -lz
++#DRIVER_INCS= -I/usr/include/mysql
+ ######## Oracle OCI8
+ #DRIVER_LIBS= -L/home/oracle/OraHome1/lib -lz -lclntsh
+ #DRIVER_INCS= -I/home/oracle/OraHome1/rdbms/demo -I/home/oracle/OraHome1/rdbms/public
+@@ -51,7 +51,7 @@
+ #DRIVER_LIBS= -lsqlite
+ #DRIVER_INCS=
+ ######## SQLite3 
+-#DRIVER_LIBS= -L/opt/local/lib -lsqlite3
++DRIVER_LIBS= -lsqlite3
+ #DRIVER_INCS= -I/opt/local/include
+ ######## ODBC
+ #DRIVER_LIBS= -L/usr/local/lib -lodbc
diff --git a/pkgs/development/lua-modules/zip.patch b/pkgs/development/lua-modules/zip.patch
new file mode 100644
index 00000000000..c3f88f451e8
--- /dev/null
+++ b/pkgs/development/lua-modules/zip.patch
@@ -0,0 +1,23 @@
+--- a/Makefile	2007-10-30 01:59:10.000000000 +0300
++++ b/Makefile	2014-09-18 11:04:53.176320021 +0400
+@@ -6,10 +6,6 @@
+
+ include $(CONFIG)
+
+-ifeq "$(LUA_VERSION_NUM)" "500"
+-COMPAT_O= $(COMPAT_DIR)/compat-5.1.o
+-endif
+-
+ SRCS= src/lua$T.c
+ OBJS= src/lua$T.o $(COMPAT_O)
+
+@@ -19,9 +15,6 @@
+ src/$(LIBNAME): $(OBJS)
+ 	export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) $(CFLAGS) $(LIB_OPTION) -o src/$(LIBNAME) $(OBJS) -lzzip
+
+-$(COMPAT_DIR)/compat-5.1.o: $(COMPAT_DIR)/compat-5.1.c
+-	$(CC) -c $(CFLAGS) -o $@ $(COMPAT_DIR)/compat-5.1.c
+-
+ install: src/$(LIBNAME)
+ 	mkdir -p $(LUA_LIBDIR)
+ 	cp src/$(LIBNAME) $(LUA_LIBDIR)
diff --git a/pkgs/development/misc/amdapp-sdk/default.nix b/pkgs/development/misc/amdapp-sdk/default.nix
index 021c84fee0f..81b40bc78ac 100644
--- a/pkgs/development/misc/amdapp-sdk/default.nix
+++ b/pkgs/development/misc/amdapp-sdk/default.nix
@@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
 
   patchFlags = "-p0";
   buildInputs = [ makeWrapper perl mesa xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
-  propagatedBuildInputs = [ stdenv.gcc ];
+  propagatedBuildInputs = [ stdenv.cc ];
   NIX_LDFLAGS = "-lX11 -lXext -lXmu -lXi -lXxf86vm";
   doCheck = false;
 
@@ -81,13 +81,13 @@ in stdenv.mkDerivation rec {
       cp -r "./samples/opencl/bin/${arch}/"* "$out/samples/opencl/bin"
       for f in $(find "$out/samples/opencl/bin/" -type f -not -name "*.*");
       do
-        wrapProgram "$f" --prefix PATH ":" "${stdenv.gcc}/bin"
+        wrapProgram "$f" --prefix PATH ":" "${stdenv.cc}/bin"
       done'' else ""
     }
 
     # Create wrappers
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/clinfo
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib $out/bin/clinfo
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/clinfo
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib $out/bin/clinfo
 
     # Fix modes
     find "$out/" -type f -exec chmod 644 {} \;
diff --git a/pkgs/development/misc/avr-gcc-with-avr-libc/avr-libc-fix-gcc-4.6.0.patch b/pkgs/development/misc/avr-gcc-with-avr-libc/avr-libc-fix-gcc-4.6.0.patch
deleted file mode 100644
index e59e40091bf..00000000000
--- a/pkgs/development/misc/avr-gcc-with-avr-libc/avr-libc-fix-gcc-4.6.0.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# Patch from Gentoo
-
-diff -ur 1/include/avr/pgmspace.h 2/include/avr/pgmspace.h
---- 1/include/avr/pgmspace.h	2011-05-31 18:19:44.524000823 +0200
-+++ 2/include/avr/pgmspace.h	2011-05-31 18:20:27.576000824 +0200
-@@ -252,7 +252,7 @@
- # define PSTR(s) ((const PROGMEM char *)(s))
- #else  /* !DOXYGEN */
- /* The real thing. */
--# define PSTR(s) (__extension__({static char __c[] PROGMEM = (s); &__c[0];}))
-+# define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];}))
- #endif /* DOXYGEN */
- 
- #define __LPM_classic__(addr)   \
-diff -ur 1/libc/stdlib/dtostre.c 2/libc/stdlib/dtostre.c
---- 1/libc/stdlib/dtostre.c	2011-05-31 18:19:44.639000823 +0200
-+++ 2/libc/stdlib/dtostre.c	2011-05-31 18:20:27.639000824 +0200
-@@ -37,9 +37,9 @@
- char *
- dtostre (double val, char *sbeg, unsigned char prec, unsigned char flags)
- {
--    __attribute__((progmem)) static char str_nan[2][4] =
-+    __attribute__((progmem)) static const char str_nan[2][4] =
- 	{"nan", "NAN"};
--    __attribute__((progmem)) static char str_inf[2][sizeof(str_nan[0])] =
-+    __attribute__((progmem)) static const char str_inf[2][sizeof(str_nan[0])] =
- 	{"inf", "INF"};
-     char *d;		/* dst	*/
-     char *s;		/* src	*/
diff --git a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
index 1f54d132dcc..cbd38903aac 100644
--- a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
+++ b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
@@ -1,88 +1,75 @@
-{ stdenv, fetchurl, writeTextFile, coreutils, gnumake, gcc, gnutar, bzip2
-  , gnugrep, gnused, gawk, diffutils, patch
-  , gmp, mpfr, mpc }:
+{ stdenv, fetchurl, texinfo, gmp, mpfr, libmpc, zlib }:
 
 stdenv.mkDerivation {
   name = "avr-gcc-libc";
 
-  srcBinutils = fetchurl {
-    url = "mirror://gnu/binutils/binutils-2.21.1.tar.bz2";
-    sha256 = "0m7nmd7gc9d9md43wbrv65hz6lbi2crqwryzpigv19ray1lzmv6d";
-  };
-
-  srcGCC = fetchurl {
-    url = "mirror://gcc/releases/gcc-4.6.3/gcc-core-4.6.3.tar.bz2";
-    sha256 = "1hai090f0svf886nyhn4glmfw54v9lz88w2izkx5iqhd3j400gi8";
-  };
+  srcs = [
+    (fetchurl {
+        url = "mirror://gnu/binutils/binutils-2.25.tar.bz2";
+        sha256 = "08r9i26b05zcwb9zxb6zllpfdiiicdfsgbpsjlrjmvx3rxjzrpi2";
+    })
 
-  srcGCCGPP = fetchurl {
-    url = "mirror://gcc/releases/gcc-4.6.3/gcc-g++-4.6.3.tar.bz2";
-    sha256 = "1s199gb6p65r5k69cdfqqcz5hgifw9bhyj65n2b91s80x4rwgq5k";
-  };
-
-  srcAVRLibc = fetchurl {
-    url = http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.7.1.tar.bz2;
-    sha256 = "1b1s4cf787izlm3r094vvkzrzb3w3bg6bwiz2wz71cg7q07kzzn6";
-  };
+    (fetchurl {
+        url = "mirror://gcc/releases/gcc-4.8.4/gcc-4.8.4.tar.bz2";
+        sha256 = "4a80aa23798b8e9b5793494b8c976b39b8d9aa2e53cd5ed5534aff662a7f8695";
+    })
 
-  phases = "doAll";
-
-  # don't call any wired $buildInputs/nix-support/* scripts or such. This makes the build fail 
-  builder = writeTextFile {
-    name = "avrbinutilsgccavrlibc-builder-script";
-    text =  ''
-    PATH=${coreutils}/bin:${gnumake}/bin:${gcc}/bin:${gnutar}/bin:${bzip2}/bin:${gnugrep}/bin:${gnused}/bin:${gawk}/bin:${diffutils}/bin:${patch}/bin
-    # that's all a bit too hacky...!
-    for i in `cat ${gcc}/nix-support/propagated-user-env-packages`; do
-      echo adding $i
-      PATH=$PATH:$i/bin
-    done
-    mkdir -p "$out"
-    export > env-vars
-
-    for i in "${gmp}" "${mpfr}" "${mpc}"; do
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$i/include "
-      export NIX_LDFLAGS="$NIX_LDFLAGS -L$i/lib "
-    done
+    (fetchurl {
+        url = http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.8.1.tar.bz2;
+        sha256 = "0sd9qkvhmk9av4g1f8dsjwc309hf1g0731bhvicnjb3b3d42l1n3";
+    })
+  ];
+  
+  sourceRoot = ".";
 
+  nativeBuildInputs = [ texinfo ];
+  
+  buildInputs = [ gmp mpfr libmpc zlib ];
+  
+  # Make sure we don't strip the libraries in lib/gcc/avr.
+  stripDebugList= [ "bin" "avr/bin" "libexec" ];
+  
+  installPhase = ''
     # important, without this gcc won't find the binutils executables
-    PATH=$PATH:$out/bin
-
-    prefix=$out
+    export PATH=$PATH:$out/bin
+    
+    # Binutils.
+    pushd binutils-*/
+    mkdir obj-avr
+    cd obj-avr
+    ../configure --target=avr --prefix="$out" --disable-nls --disable-debug --disable-dependency-tracking
+    make $MAKE_FLAGS
+    make install
+    popd
 
-    tar jxf $srcBinutils
-      cd binutils-*/
-      mkdir obj-avr
-      cd obj-avr
-      ../configure --target=avr --prefix="$prefix" --disable-nls --prefix=$prefix
-      make $MAKE_FLAGS
-      make install
+    # GCC.
+    pushd gcc-*
+    mkdir obj-avr
+    cd obj-avr
+    ../configure --target=avr --prefix="$out" --disable-nls --disable-libssp --with-dwarf2 --disable-install-libiberty --with-system-zlib --enable-languages=c,c++
+    make $MAKE_FLAGS
+    make install
+    popd
 
-    cd $TMP
-    tar jxf $srcGCC
-    tar jxf $srcGCCGPP
-      cd gcc-*
-      mkdir obj-avr
-      cd obj-avr
-      ../configure --target=avr --prefix="$prefix" --disable-nls --enable-languages=c,c++ --disable-libssp --with-dwarf2
-      make $MAKE_FLAGS
-      make install
-
-    cd $TMP
-      tar jxf $srcAVRLibc
-      cd avr-libc-*
-      patch -Np1 -i ${./avr-libc-fix-gcc-4.6.0.patch}
-      ./configure --prefix="$prefix" --build=`./config.guess` --host=avr
-      make $MAKE_FLAGS
-      make install
-    '';
-  };
+    # We don't want avr-libc to use the native compiler.
+    export BUILD_CC=$CC
+    export BUILD_CXX=$CXX
+    unset CC
+    unset CXX
 
+    # AVR-libc.
+    pushd avr-libc-*
+    ./configure --prefix="$out" --build=`./config.guess` --host=avr
+    make $MAKE_FLAGS
+    make install
+    popd
+  '';
+  
   meta = with stdenv.lib; {
-      description = "AVR developement environment including binutils, avr-gcc and avr-libc";
-      # I've tried compiling the packages separately.. too much hassle. This just works. Fine.
-      license =  ["GPL" "LGPL"]; # see single packages ..
-      homepage = []; # dito
-      platforms = platforms.linux;
+    description = "AVR development environment including binutils, avr-gcc and avr-libc";
+    # I've tried compiling the packages separately.. too much hassle. This just works. Fine.
+    license =  ["GPL" "LGPL"]; # see single packages ..
+    homepage = []; # dito
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/misc/avr8-burn-omat/default.nix b/pkgs/development/misc/avr8-burn-omat/default.nix
index a0466091a52..e074a4c4646 100644
--- a/pkgs/development/misc/avr8-burn-omat/default.nix
+++ b/pkgs/development/misc/avr8-burn-omat/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation {
-  name = "avr8-burn-omat-2.0.1";
+  name = "avr8-burn-omat-2.1.2";
 
   src = fetchurl {
-    url = http://avr8-burn-o-mat.brischalle.de/AVR8_Burn-O-Mat_2_0_1.zip;
-    sha256 = "0nqlrbsx7z5r3b9y9wb6b7wawa3yxwx07zn7l4g4s59scxah2skk";
+    url = http://avr8-burn-o-mat.aaabbb.de/AVR8_Burn-O-Mat_2_1_2.zip;
+    sha256 = "1sik243xqx7kbdddcq3va8h8q2wijf9ffhgp752hx725x3pjh9ss";
   };
 
-  buildInputs = [unzip];
+  buildInputs = [ unzip ];
 
   phases = "unpackPhase installPhase";
 
@@ -24,9 +24,10 @@ stdenv.mkDerivation {
     chmod +x $out/bin/avr8-burn-omat
   '';
 
-  meta = { 
+  meta = with stdenv.lib; {
     description = "GUI tool for avrdude";
-    homepage = http://avr8-burn-o-mat.brischalle.de/avr8_burn_o_mat_avrdude_gui_en.html;
+    homepage = http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.html;
     license = stdenv.lib.licenses.gpl3;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index aee3c847e93..274ae734b6e 100644
--- a/pkgs/development/mobile/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
@@ -14,222 +14,196 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
 -->
-<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
-    <sdk:license id="android-sdk-license" type="text">Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
 
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
 
 1. Introduction
 
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
 
 1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
 
 1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
+2. Accepting the License Agreement
 
-2. Accepting this License Agreement
-
-
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
 
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
 
 2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
 
 3. SDK License from Google
 
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
 
 3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
 
 3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
 
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
 
 3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
 
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
 3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
 
-
 4. Use of the SDK by You
 
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
 
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
 
 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
 
 5. Your Developer Credentials
 
-
 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
 
-
 6. Privacy and Information
 
-
 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
 
 7. Third Party Applications
 
-
 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
 
+8. Using Google APIs
 
-8.1 Google Data APIs
+8.1 Google APIs
 
 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
 
 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
+9. Terminating the License Agreement
 
-9. Terminating this License Agreement
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
 
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
 
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
 
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
 
-10. DISCLAIMER OF WARRANTIES
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
 
+10. DISCLAIMERS
 
 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
-
 11. LIMITATION OF LIABILITY
 
-
 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
-
 12. Indemnification
 
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
-
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
 
 13. Changes to the License Agreement
 
-
 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
 
-
 14. General Legal Terms
 
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
 
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
 
 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
 
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-November 13, 2012
+June 2014.
     </sdk:license>
 
-    <sdk:license id="android-googletv-license" type="text">Terms and Conditions
 
-This is the Google TV Add-on for the Android Software Development Kit License Agreement.
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
 
 1. Introduction
 
-1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the &quot;Google TV Add-on&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on.
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
 
-1.2 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
 
-2. Accepting this License Agreement
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
-2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement.
+2. Accepting the License Agreement
 
-2.2 You can accept this License Agreement by:
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
 
-(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
 
-(B) by actually using the Google TV Add-on.  In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards.
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
 
-2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on.
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity.
+3. Preview License from Google
 
-3. Google TV Add-on License from Google
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
 
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform.
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
 
-3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on.
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
 
-3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
 
-3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you.
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
 
-3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
-3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on.
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
 
-4. Use of the Google TV Add-on by You
+4. Use of the Preview by You
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications.
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
 
-4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so.
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
 
-4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier.
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
 
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
 
 5. Your Developer Credentials
 
@@ -237,233 +211,221 @@ This is the Google TV Add-on for the Android Software Development Kit License Ag
 
 6. Privacy and Information
 
-6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected.
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy.
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
 
-7. Third Party Applications for the Google TV Platform
+7. Third Party Applications
 
-7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-8. Using Google TV APIs
-
-8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.  Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services
-
-8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must:
-
-(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application;
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
 
-(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or
+8. Using Google APIs
 
-(c)  not create any commercial audience measurement tool or service using the Google TV API Content
+8.1 Google APIs
 
-9. Terminating this License Agreement
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
 
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials.
+9. Terminating the License Agreement
 
-9.3 Google may at any time, terminate this License Agreement with you if:
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
 
-(A) you have breached any provision of this License Agreement; or
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
 
-(B) Google is required to do so by law; or
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
 
-(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
 
-(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable.
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
 
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+10. DISCLAIMERS
 
-10. DISCLAIMER OF WARRANTIES
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
 11. LIMITATION OF LIABILITY
 
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
 12. Indemnification
 
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
 
 13. Changes to the License Agreement
 
-13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on.
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
 
 14. General Legal Terms
 
-14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on.
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
 
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
 
-14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
 
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-August 15, 2011
+June 2014.
     </sdk:license>
 
-    <sdk:license id="google-gdk-license" type="text">This is an early Sneak Peek of the GDK that is subject to change. Please stay tuned for the full Developer Preview coming soon.
-
-Terms and Conditions
+    <sdk:license id="android-googletv-license" type="text">Terms and Conditions
 
-This is the Glass Development Kit License Agreement.
+This is the Google TV Add-on for the Android Software Development Kit License Agreement.
 
 1. Introduction
 
-1.1 The Glass Development Kit (referred to in this License Agreement as the "GDK" and specifically including the Android system files, packaged APIs, and GDK library files, if and when they are made available) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the GDK.
-
-1.2 &quot;Glass&quot; means Glass devices and the Glass software stack for use on Glass devices.
-
-
-1.3 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the &quot;Google TV Add-on&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on.
 
-1.4 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+1.2 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
 
 2. Accepting this License Agreement
 
-2.1 In order to use the GDK, you must first agree to this License Agreement. You may not use the GDK if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
+2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement.
 
-2.3 You may not use the GDK and may not accept the License Agreement if you are a person barred from receiving the GDK under the laws of the United States or other countries including the country in which you are resident or from which you use the GDK.
+2.2 You can accept this License Agreement by:
 
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the GDK on behalf of your employer or other entity.
+(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
 
-3. GDK License from Google
+(B) by actually using the Google TV Add-on.  In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards.
 
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the GDK solely to develop applications to run on the Glass platform for Glass devices.
+2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on.
 
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the GDK, including any Intellectual Property Rights that subsist in the GDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity.
 
-3.3 You may not use the GDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the GDK or any part of the GDK; or (b) load any part of the GDK onto a mobile handset or wearable computing device or any other hardware device except a Glass device personal computer, combine any part of the GDK with other software, or distribute any software or device incorporating a part of the GDK.
+3. Google TV Add-on License from Google
 
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Glass, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the GDK.
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform.
 
-3.5 Use, reproduction and distribution of components of the GDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
 
-3.6 You agree that the form and nature of the GDK that Google provides may change without prior notice to you and that future versions of the GDK may be incompatible with applications developed on previous versions of the GDK. You agree that Google may stop (permanently or temporarily) providing the GDK (or any features within the GDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on.
 
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
 
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the GDK.
+3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you.
 
+3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
 
-3.9 Your use of any Android system files, packaged APIs, or other components of the GDK which are part of the Android Software Development Kit is subject to the terms of the Android Software Development Kit License Agreement located at http://developer.android.com/sdk/terms.html. These terms are hereby incorporated by reference into this License Agreement.
+3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on.
 
-4. Use of the GDK by You
+4. Use of the Google TV Add-on by You
 
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the GDK, including any intellectual property rights that subsist in those applications.
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications.
 
-4.2 You agree to use the GDK and write applications only for purposes that are permitted by (a) this License Agreement, (b) the Glass Platform Developer Policies (located at https://developers.google.com/glass/policies, and hereby incorporated into this License Agreement by reference), and (c) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
 
-4.3 You agree that if you use the GDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
+4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so.
 
-4.4 You agree that you will not engage in any activity with the GDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google.
+4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier.
 
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Glass and/or applications for Glass, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
 
 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
 
-
-4.7 The GDK is in development, and your testing and feedback are an important part of the development process. By using the GDK, you acknowledge that implementation of some features are still under development and that you should not rely on the GDK, Glass devices, Glass system software, Google Mirror API, or Glass services having the full functionality of a stable release.
-
 5. Your Developer Credentials
 
 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
 
 6. Privacy and Information
 
+6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected.
 
-6.1 In order to continually innovate and improve the GDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the GDK are being used and how they are being used. Before any of this information is collected, the GDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the GDK and is maintained in accordance with Google's Privacy Policy.
+6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy.
 
-7. Third Party Applications
+7. Third Party Applications for the Google TV Platform
 
-7.1 If you use the GDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
 
 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
 
 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
 
-8. Using Google APIs
+8. Using Google TV APIs
 
-8.1 Google APIs
+8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.  Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services
 
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
 
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must:
+
+(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application;
+
+(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or
+
+(c)  not create any commercial audience measurement tool or service using the Google TV API Content
 
 9. Terminating this License Agreement
 
 9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
 
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the GDK and any relevant developer credentials.
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials.
 
 9.3 Google may at any time, terminate this License Agreement with you if:
+
 (A) you have breached any provision of this License Agreement; or
+
 (B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of GDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the GDK to you; or
-(D) Google decides to no longer provide the GDK or certain parts of the GDK to users in the country in which you are resident or from which you use the service, or the provision of the GDK or certain GDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
+
+(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or
+
+(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable.
 
 9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
 
 10. DISCLAIMER OF WARRANTIES
 
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GDK IS AT YOUR SOLE RISK AND THAT THE GDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
 
-10.2 YOUR USE OF THE GDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
 
 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
 
 11. LIMITATION OF LIABILITY
 
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
 
 12. Indemnification
 
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the GDK, (b) any application you develop on the GDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
 
 13. Changes to the License Agreement
 
-13.1 Google may make changes to the License Agreement as it distributes new versions of the GDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the GDK is made available.
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on.
 
 14. General Legal Terms
 
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the GDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the GDK.
+14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on.
 
 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
 
 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
 
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
 
-14.5 EXPORT RESTRICTIONS. THE GDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
 
 14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
 
 14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
 
-November 19, 2013
+
+August 15, 2011
     </sdk:license>
 
     <!-- ADD-ONS ....................... -->
@@ -479,7 +441,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>34908058</sdk:size>
                 <sdk:checksum type="sha1">1f92abf3a76be66ae8032257fc7620acbd2b2e3a</sdk:checksum>
                 <sdk:url>google_apis-3-r03.zip</sdk:url>
@@ -506,7 +468,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>42435735</sdk:size>
                 <sdk:checksum type="sha1">9b6e86d8568558de4d606a7debc4f6049608dbd0</sdk:checksum>
                 <sdk:url>google_apis-4_r02.zip</sdk:url>
@@ -534,7 +496,7 @@ November 19, 2013
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:obsolete/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>49123776</sdk:size>
                 <sdk:checksum type="sha1">46eaeb56b645ee7ffa24ede8fa17f3df70db0503</sdk:checksum>
                 <sdk:url>google_apis-5_r01.zip</sdk:url>
@@ -562,7 +524,7 @@ November 19, 2013
         <sdk:obsolete/>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>53382941</sdk:size>
                 <sdk:checksum type="sha1">5ff545d96e031e09580a6cf55713015c7d4936b2</sdk:checksum>
                 <sdk:url>google_apis-6_r01.zip</sdk:url>
@@ -589,7 +551,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>53691339</sdk:size>
                 <sdk:checksum type="sha1">2e7f91e0fe34fef7f58aeced973c6ae52361b5ac</sdk:checksum>
                 <sdk:url>google_apis-7_r01.zip</sdk:url>
@@ -616,7 +578,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>59505020</sdk:size>
                 <sdk:checksum type="sha1">3079958e7ec87222cac1e6b27bc471b27bf2c352</sdk:checksum>
                 <sdk:url>google_apis-8_r02.zip</sdk:url>
@@ -643,7 +605,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>63401546</sdk:size>
                 <sdk:checksum type="sha1">78664645a1e9accea4430814f8694291a7f1ea5d</sdk:checksum>
                 <sdk:url>google_apis-9_r02.zip</sdk:url>
@@ -671,7 +633,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>65781578</sdk:size>
                 <sdk:checksum type="sha1">cc0711857c881fa7534f90cf8cc09b8fe985484d</sdk:checksum>
                 <sdk:url>google_apis-10_r02.zip</sdk:url>
@@ -698,7 +660,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>83477179</sdk:size>
                 <sdk:checksum type="sha1">5eab5e81addee9f3576d456d205208314b5146a5</sdk:checksum>
                 <sdk:url>google_apis-11_r01.zip</sdk:url>
@@ -725,7 +687,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>86099835</sdk:size>
                 <sdk:checksum type="sha1">e9999f4fa978812174dfeceec0721c793a636e5d</sdk:checksum>
                 <sdk:url>google_apis-12_r01.zip</sdk:url>
@@ -752,7 +714,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>88615525</sdk:size>
                 <sdk:checksum type="sha1">3b153edd211c27dc736c893c658418a4f9041417</sdk:checksum>
                 <sdk:url>google_apis-13_r01.zip</sdk:url>
@@ -785,7 +747,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>106533714</sdk:size>
                 <sdk:checksum type="sha1">f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39</sdk:checksum>
                 <sdk:url>google_apis-14_r02.zip</sdk:url>
@@ -814,7 +776,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>106612472</sdk:size>
                 <sdk:checksum type="sha1">6757c12788da0ea00c2ab58e54cb438b9f2bcf66</sdk:checksum>
                 <sdk:url>google_apis-15_r02.zip</sdk:url>
@@ -844,7 +806,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>127278413</sdk:size>
                 <sdk:checksum type="sha1">63467dd32f471e3e81e33e9772c22f33235aa3b3</sdk:checksum>
                 <sdk:url>google_apis-16_r03.zip</sdk:url>
@@ -874,7 +836,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>137156978</sdk:size>
                 <sdk:checksum type="sha1">8246f61d24f0408c8e7bc352a1e522b7e2b619ba</sdk:checksum>
                 <sdk:url>google_apis-17_r03.zip</sdk:url>
@@ -904,7 +866,7 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
+            <sdk:archive>
                 <sdk:size>143149689</sdk:size>
                 <sdk:checksum type="sha1">147bce09c1163edc17194f3db496ec1086fcf965</sdk:checksum>
                 <sdk:url>google_apis-18_r03.zip</sdk:url>
@@ -914,14 +876,14 @@ November 19, 2013
     </sdk:add-on>
 
     <sdk:add-on>
-        <!-- Generated at Mon Oct 28 22:29:49 2013 from git_klp-release @ 892118 -->
+        <!-- Generated at Wed Jul 30 22:26:20 2014 from git_klp-sdk-release @ 1314097 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-id>google_apis</sdk:name-id>
-        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:name-display>Google APIs (ARM System Image)</sdk:name-display>
         <sdk:description>Android + Google APIs</sdk:description>
         <sdk:api-level>19</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
+        <sdk:revision>7</sdk:revision>
         <sdk:libs>
             <sdk:lib>
                 <sdk:name>com.google.android.maps</sdk:name>
@@ -934,16 +896,15 @@ November 19, 2013
             </sdk:lib>
         </sdk:libs>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>150689239</sdk:size>
-                <sdk:checksum type="sha1">6c530a8318446e4da1e3ab7d2abd154bc493bc5a</sdk:checksum>
-                <sdk:url>google_apis-19_r01.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>160661775</sdk:size>
+                <sdk:checksum type="sha1">150f5a3fec4f03313ca770b90126605619bd713c</sdk:checksum>
+                <sdk:url>google_apis-19_r07.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:add-on>
 
-
     <!-- GOOGLE TV ADDONS ............. -->
 
     <sdk:add-on>
@@ -957,10 +918,11 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-googletv-license"/>
         <sdk:archives>
-            <sdk:archive os="linux">
+            <sdk:archive>
                 <sdk:size>78266751</sdk:size>
                 <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
                 <sdk:url>google_tv-12_r02.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
             </sdk:archive>
         </sdk:archives>
         <sdk:libs/>
@@ -977,7 +939,7 @@ November 19, 2013
         <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
         <sdk:uses-license ref="android-googletv-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>87721879</sdk:size>
                 <sdk:checksum type="sha1">b73f7c66011ac8180b44aa4e83b8d78c66ea9a09</sdk:checksum>
                 <sdk:url>google_tv-13_r01.zip</sdk:url>
@@ -986,71 +948,48 @@ November 19, 2013
         <sdk:libs/>
     </sdk:add-on>
 
-
-    <!-- GLASS ADDONS ............. -->
-
-    <sdk:add-on>
-        <sdk:vendor-id>google</sdk:vendor-id>
-        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-id>google_gdk</sdk:name-id>
-        <sdk:name-display>Glass Development Kit Sneak Peek</sdk:name-display>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Sneak peek of the Glass Development Kit</sdk:description>
-        <sdk:desc-url>https://developers.google.com/glass/gdk/</sdk:desc-url>
-        <sdk:uses-license ref="google-gdk-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>281839</sdk:size>
-                <sdk:checksum type="sha1">a3c7317fb2fe8a0dfc06828a5aabc457372b82a7</sdk:checksum>
-                <sdk:url>https://dl-ssl.google.com/glass/xe11/google-gdk.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:libs>
-            <sdk:lib>
-                <sdk:name>com.google.android.glass</sdk:name>
-                <sdk:description>APIs for Google Glass Development Kit Sneak Peek.</sdk:description>
-            </sdk:lib>
-        </sdk:libs>
-    </sdk:add-on>
-
-
     <!-- EXTRAS VENDOR=ANDROID ........................ -->
 
     <sdk:extra>
-        <!-- Generated at Wed Oct 30 14:52:38 2013 from git_klp-dev @ 894928 -->
-        <sdk:revision>19</sdk:revision>
+        <!-- Generated at Mon Jun 23 19:18:59 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Library</sdk:name-display>
         <sdk:path>support</sdk:path>
         <sdk:old-paths>compatibility</sdk:old-paths>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>4905998</sdk:size>
-                <sdk:checksum type="sha1">54b8661595856a08f032d41bb139f375a7609308</sdk:checksum>
-                <sdk:url>support_r19.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>5508097</sdk:size>
+                <sdk:checksum type="sha1">719c260dc3eb950712988f987daaf91afa9e36af</sdk:checksum>
+                <sdk:url>support_r20.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated from git_klp-dev @ 894928  -->
-        <sdk:revision>3</sdk:revision>
+        <!-- Generated from git_lmp-preview-release @ 1242878  -->
+        <sdk:revision>
+            <sdk:major>6</sdk:major>
+        </sdk:revision>
         <sdk:vendor-display>Android</sdk:vendor-display>
         <sdk:vendor-id>android</sdk:vendor-id>
         <sdk:name-display>Android Support Repository</sdk:name-display>
         <sdk:description>Local Maven repository for Support Libraries</sdk:description>
         <sdk:path>m2repository</sdk:path>
         <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>6282146</sdk:size>
-                <sdk:checksum type="sha1">db4650f817f1507211ec6186d2d9e72074e6df12</sdk:checksum>
-                <sdk:url>android_m2repository_r03.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>22271942</sdk:size>
+                <sdk:checksum type="sha1">d4874fd330f41a7c16de392ce917c2a3562dd620</sdk:checksum>
+                <sdk:url>android_m2repository_r06.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
     </sdk:extra>
 
     <!-- EXTRAS VENDOR=GOOGLE ....................... -->
@@ -1060,14 +999,16 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Repository</sdk:name-display>
         <sdk:path>m2repository</sdk:path>
-        <sdk:revision>4</sdk:revision>
+        <sdk:revision>
+            <sdk:major>11</sdk:major>
+        </sdk:revision>
         <sdk:description>Local Maven repository for Google Libraries</sdk:description>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>3891592</sdk:size>
-                <sdk:checksum type="sha1">c418daafd203a8cb4899d49bd321da83b927586e</sdk:checksum>
-                <sdk:url>google_m2repository_r04.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>18832133</sdk:size>
+                <sdk:checksum type="sha1">08b5114037d187cf3d4b44a25570149ef4f8ab3d</sdk:checksum>
+                <sdk:url>google_m2repository_r11.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -1078,11 +1019,13 @@ November 19, 2013
         <sdk:name-display>Google Play Licensing Library</sdk:name-display>
         <sdk:path>play_licensing</sdk:path>
         <sdk:old-paths>market_licensing</sdk:old-paths>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>
+            <sdk:major>2</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play Licensing client library</sdk:description>
         <sdk:desc-url>http://developer.android.com/guide/publishing/licensing.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>75109</sdk:size>
                 <sdk:checksum type="sha1">355e8dc304a92a5616db235af8ee7bd554356254</sdk:checksum>
                 <sdk:url>market_licensing-r02.zip</sdk:url>
@@ -1097,11 +1040,13 @@ November 19, 2013
         <sdk:name-display>Google Play APK Expansion Library</sdk:name-display>
         <sdk:path>play_apk_expansion</sdk:path>
         <sdk:old-paths>market_apk_expansion</sdk:old-paths>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play APK Expansion library</sdk:description>
         <sdk:desc-url>http://developer.android.com/guide/market/expansion-files.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>110201</sdk:size>
                 <sdk:checksum type="sha1">5305399dc1a56814e86b8459ce24871916f78b8c</sdk:checksum>
                 <sdk:url>market_apk_expansion-r03.zip</sdk:url>
@@ -1115,12 +1060,14 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Play services for Froyo</sdk:name-display>
         <sdk:path>google_play_services_froyo</sdk:path>
-        <sdk:revision>12</sdk:revision>
+        <sdk:revision>
+            <sdk:major>12</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play services client library and sample code</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>5265389</sdk:size>
                 <sdk:checksum type="sha1">92558dbc380bba3d55d0ec181167fb05ce7c79d9</sdk:checksum>
                 <sdk:url>google_play_services_3265130_r12.zip</sdk:url>
@@ -1133,34 +1080,59 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Play services</sdk:name-display>
         <sdk:path>google_play_services</sdk:path>
-        <sdk:revision>13</sdk:revision>
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play services client library and sample code</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
         <sdk:uses-license ref="android-sdk-license"/>
         <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>7958511</sdk:size>
-                <sdk:checksum type="sha1">1be94e8f767616e862f0088ab673e1980a6022c4</sdk:checksum>
-                <sdk:url>google_play_services_4030530_r13.zip</sdk:url>
+            <sdk:archive>
+                <sdk:size>13982276</sdk:size>
+                <sdk:checksum type="sha1">847a8806dd3c43effc2afdd7b49fc6ba27f72d5d</sdk:checksum>
+                <sdk:url>google_play_services_5089000_r19.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
 
     <sdk:extra>
-        <!-- Generated at Thu Jul 18 16:46:04 PDT 2013 from git_master @ 745409 -->
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-display>Google USB Driver</sdk:name-display>
-        <sdk:path>usb_driver</sdk:path>
-        <sdk:revision>8</sdk:revision>
-        <sdk:description>USB Driver for Windows, revision 8</sdk:description>
-        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:name-display>Google Play services for Fit Preview</sdk:name-display>
+        <sdk:path>google_play_services_fit_preview</sdk:path>
+        <sdk:revision>
+            <sdk:major>1</sdk:major>
+        </sdk:revision>
+        <sdk:description>Google Play services client library and sample code</sdk:description>
+        <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>15224769</sdk:size>
+                <sdk:checksum type="sha1">34369ca796268ec7274bc49d659d9e8f042b55ae</sdk:checksum>
+                <sdk:url>google_play_services_fit_preview_5208000_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <sdk:extra>
+        <!-- Generated at Tue Jun 10 11:38:56 2014 from git_master-release @ 1216520 -->
+        <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:path>usb_driver</sdk:path>
+        <sdk:description>USB Driver for Windows, revision 10</sdk:description>
+        <sdk:name-display>Google USB Driver</sdk:name-display>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:revision>
+            <sdk:major>10</sdk:major>
+        </sdk:revision>
         <sdk:archives>
-            <sdk:archive os="windows">
-                <sdk:size>8682230</sdk:size>
-                <sdk:checksum type="sha1">2b2f91098a984a865a70f0bd841a843fb54462fc</sdk:checksum>
-                <sdk:url>usb_driver_r08-windows.zip</sdk:url>
+            <sdk:archive>
+                <sdk:url>usb_driver_r10-windows.zip</sdk:url>
+                <sdk:checksum type="sha1">a5f8280829f07bb3144a8d657ec7aa0128443a2c</sdk:checksum>
+                <sdk:size>8682752</sdk:size>
+                <sdk:host-os>windows</sdk:host-os>
             </sdk:archive>
         </sdk:archives>
     </sdk:extra>
@@ -1171,11 +1143,13 @@ November 19, 2013
         <sdk:name-display>Google Play Billing Library</sdk:name-display>
         <sdk:path>play_billing</sdk:path>
         <sdk:old-paths>market_billing</sdk:old-paths>
-        <sdk:revision>5</sdk:revision>
+        <sdk:revision>
+            <sdk:major>5</sdk:major>
+        </sdk:revision>
         <sdk:description>Google Play Billing files and sample code</sdk:description>
         <sdk:desc-url>http://developer.android.com/google/play/billing/index.html</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>436654</sdk:size>
                 <sdk:checksum type="sha1">bd2ac5ce7127070ac3229003eb69cfb806628ac9</sdk:checksum>
                 <sdk:url>play_billing_r05.zip</sdk:url>
@@ -1189,29 +1163,35 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google AdMob Ads SDK</sdk:name-display>
         <sdk:path>admob_ads_sdk</sdk:path>
-        <sdk:revision>11</sdk:revision>
+        <sdk:revision>
+            <sdk:major>11</sdk:major>
+        </sdk:revision>
         <sdk:description>AdMob Ads SDK</sdk:description>
         <sdk:desc-url>https://developers.google.com/mobile-ads-sdk/docs/</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>704512</sdk:size>
                 <sdk:checksum type="sha1">0102859d9575baa0bf4fd5eb422af2ad0fe6cb82</sdk:checksum>
                 <sdk:url>https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.4.1.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:obsolete/>
     </sdk:extra>
 
     <sdk:extra>
+        <sdk:obsolete/>
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Analytics App Tracking SDK</sdk:name-display>
         <sdk:path>analytics_sdk_v2</sdk:path>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>Analytics App Tracking SDK</sdk:description>
         <sdk:desc-url>http://developers.google.com/analytics/devguides/collection/</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>211432</sdk:size>
                 <sdk:checksum type="sha1">dc14026bf0ce78315cb5dd00552607de0894de83</sdk:checksum>
                 <sdk:url>https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_2.0beta5.zip</sdk:url>
@@ -1225,11 +1205,13 @@ November 19, 2013
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
         <sdk:name-display>Google Web Driver</sdk:name-display>
         <sdk:path>webdriver</sdk:path>
-        <sdk:revision>2</sdk:revision>
+        <sdk:revision>
+            <sdk:major>2</sdk:major>
+        </sdk:revision>
         <sdk:description>WebDriver</sdk:description>
         <sdk:desc-url>http://selenium.googlecode.com</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>4055193</sdk:size>
                 <sdk:checksum type="sha1">13f3a3b2670a5fc04a7342861644be9a01b07e38</sdk:checksum>
                 <sdk:url>webdriver_r02.zip</sdk:url>
@@ -1241,18 +1223,21 @@ November 19, 2013
     <sdk:extra>
         <sdk:vendor-id>google</sdk:vendor-id>
         <sdk:vendor-display>Google Inc.</sdk:vendor-display>
-        <sdk:name-display>[Deprecated] Google Cloud Messaging for Android Library</sdk:name-display>
+        <sdk:name-display>Google Cloud Messaging for Android Library</sdk:name-display>
         <sdk:path>gcm</sdk:path>
-        <sdk:revision>3</sdk:revision>
+        <sdk:revision>
+            <sdk:major>3</sdk:major>
+        </sdk:revision>
         <sdk:description>GCM library has been moved to Google Play Services (com.google.android.gms.gcm) and this standalone version is no longer supported</sdk:description>
         <sdk:desc-url>https://developers.google.com/android/gcm/index</sdk:desc-url>
         <sdk:archives>
-            <sdk:archive os="any">
+            <sdk:archive>
                 <sdk:size>5901400</sdk:size>
                 <sdk:checksum type="sha1">ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf</sdk:checksum>
                 <sdk:url>gcm_r03.zip</sdk:url>
             </sdk:archive>
         </sdk:archives>
         <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:obsolete/>
     </sdk:extra>
 </sdk:sdk-addon>
diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index 8aacde4eee7..241aaeb0e81 100644
--- a/pkgs/development/mobile/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
@@ -209,14 +209,38 @@ in
   google_apis_19 = buildGoogleApis {
     name = "google_apis-19";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/google_apis-19_r01.zip;
-        sha1 = "6c530a8318446e4da1e3ab7d2abd154bc493bc5a";
+        url = https://dl-ssl.google.com/android/repository/google_apis-19_r07.zip;
+        sha1 = "150f5a3fec4f03313ca770b90126605619bd713c";
       };
       meta = {
         description = "Android + Google APIs";
         
       };
     };
-    
+  
+  android_support_extra = buildGoogleApis {
+    name = "android_support_extra";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/support_r20.zip;
+      sha1 = "719c260dc3eb950712988f987daaf91afa9e36af";
+    };
+    meta = {
+      description = "Android Support Library";
+      url = http://developer.android.com/;
+    };
+  };
+  google_play_services = buildGoogleApis {
+    name = "google_play_services";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/google_play_services_3265130_r12.zip;
+      sha1 = "92558dbc380bba3d55d0ec181167fb05ce7c79d9";
+    };
+    meta = {
+      description = "Google Play services client library and sample code";
+      url = http://developer.android.com/;
+    };
+  };
+
+  
 }
-  
\ No newline at end of file
+  
diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix
index cbcff8178e3..9f5393949ca 100644
--- a/pkgs/development/mobile/androidenv/androidndk.nix
+++ b/pkgs/development/mobile/androidenv/androidndk.nix
@@ -1,31 +1,80 @@
-{ stdenv, fetchurl, zlib, ncurses
+{ stdenv, fetchurl, zlib, ncurses, p7zip, lib, makeWrapper
+, coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which
+, platformTools
 }:
 
+assert stdenv.isLinux;
+
 stdenv.mkDerivation rec {
-  name = "android-ndk-r9d";
+  name = "android-ndk-r10c";
 
   src = if stdenv.system == "i686-linux"
     then fetchurl {
-      url = "http://dl.google.com/android/ndk/${name}-linux-x86.tar.bz2";
-      md5 = "6c1d7d99f55f0c17ecbcf81ba0eb201f";
+      url = "http://dl.google.com/android/ndk/${name}-linux-x86.bin";
+      sha256 = "0gyq68zrpzj3gkh81czs6r0jmikg5rwzh1bqg4rk16g2nxm4lll3";
     }
     else if stdenv.system == "x86_64-linux" then fetchurl {
-      url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.tar.bz2";
-      md5 = "c7c775ab3342965408d20fd18e71aa45";
+      url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.bin";
+      sha256 = "126rqzkmf8xz1hqdziwx81yln17hpivs2j45rxhzdr45iw9b758c";
     }
-    else throw "platform not ${stdenv.system} supported!";
+    else throw "platform ${stdenv.system} not supported!";
+
+  phases = "buildPhase";
 
-  phases = "installPhase";
+  buildInputs = [ p7zip makeWrapper ];
 
-  installPhase = ''
+  buildCommand = let
+    bin_path = "$out/bin";
+    pkg_path = "$out/libexec/${name}";
+    sed_script_1 =
+      "'s|^PROGDIR=`dirname $0`" +
+      "|PROGDIR=`dirname $(readlink -f $(which $0))`|'";
+    sed_script_2 =
+      "'s|^MYNDKDIR=`dirname $0`" +
+      "|MYNDKDIR=`dirname $(readlink -f $(which $0))`|'";
+    runtime_paths = (lib.makeSearchPath "bin" [
+      coreutils file findutils
+      gawk gnugrep gnused
+      jdk
+      which
+    ]) + ":${platformTools}/platform-tools";
+  in ''
     set -x
-    mkdir -pv $out
-    tar xf $src
-    mv */* $out
+    mkdir -pv $out/libexec
+    cd $out/libexec
+    7z x $src
+
+    # so that it doesn't fail because of read-only permissions set
+    cd -
+    patch -p1 \
+        --no-backup-if-mismatch \
+        -d $out/libexec/${name} < ${ ./make-standalone-toolchain.patch }
+    cd ${pkg_path}
+
     find $out \( \
         \( -type f -a -name "*.so*" \) -o \
-        \( -type f -a -perm +0100 \) \
-        \) -exec patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-*so.? \
-        --set-rpath ${zlib}/lib:${ncurses}/lib {} \;
+        \( -type f -a -perm /0100 \) \
+        \) -exec patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-*so.? \
+                          --set-rpath ${zlib}/lib:${ncurses}/lib {} \;
+    # fix ineffective PROGDIR / MYNDKDIR determination
+    for i in ndk-build ndk-gdb ndk-gdb-py
+    do
+        sed -i -e ${sed_script_1} $i
+    done
+    sed -i -e ${sed_script_2} ndk-which
+    # a bash script
+    patchShebangs ndk-which
+    # make some executables available in PATH
+    mkdir -pv ${bin_path}
+    for i in \
+        ndk-build ndk-depends ndk-gdb ndk-gdb-py ndk-gdb.py ndk-stack ndk-which
+    do
+        ln -sf ${pkg_path}/$i ${bin_path}/$i
+    done
+    # wrap
+    for i in ndk-build ndk-gdb ndk-gdb-py ndk-which
+    do
+        wrapProgram "${bin_path}/$i" --prefix PATH : "${runtime_paths}"
+    done
   '';
 }
diff --git a/pkgs/development/mobile/androidenv/androidndk_r8e.nix b/pkgs/development/mobile/androidenv/androidndk_r8e.nix
new file mode 100644
index 00000000000..5e04bbf0116
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/androidndk_r8e.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchurl, zlib, ncurses, lib, makeWrapper
+, coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which
+, platformTools
+}:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "android-ndk-r8e";
+
+  src = if stdenv.system == "i686-linux"
+    then fetchurl {
+      url = "http://dl.google.com/android/ndk/${name}-linux-x86.tar.bz2";
+      sha256 = "c2c4e0c8b3037149a0f5dbb08d72f814a52af4da9fff9d80328c675457e95a98";
+    }
+    else if stdenv.system == "x86_64-linux" then fetchurl {
+      url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.tar.bz2";
+      sha256 = "093gf55zbh38p2gk5bdykj1vg9p5l774wjdzw5mhk4144jm1wdq7";
+    }
+    else throw "platform ${stdenv.system} not supported!";
+
+  phases = "buildPhase";
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = let
+    bin_path = "$out/bin";
+    pkg_path = "$out/libexec/${name}";
+    sed_script_1 =
+      "'s|^PROGDIR=`dirname $0`" +
+      "|PROGDIR=`dirname $(readlink -f $(which $0))`|'";
+    sed_script_2 =
+      "'s|^MYNDKDIR=`dirname $0`" +
+      "|MYNDKDIR=`dirname $(readlink -f $(which $0))`|'";
+    runtime_paths = (lib.makeSearchPath "bin" [
+      coreutils file findutils
+      gawk gnugrep gnused
+      jdk
+      which
+    ]) + ":${platformTools}/platform-tools";
+  in ''
+    set -x
+    mkdir -pv $out/libexec
+    cd $out/libexec
+    tar -xjf $src
+
+    # so that it doesn't fail because of read-only permissions set
+    cd -
+    patch -p1 \
+        --no-backup-if-mismatch \
+        -d $out/libexec/${name} < ${ ./make-standalone-toolchain_r8e.patch }
+    cd ${pkg_path}
+
+    find $out \( \
+        \( -type f -a -name "*.so*" \) -o \
+        \( -type f -a -perm /0100 \) \
+        \) -exec patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-*so.? \
+                          --set-rpath ${zlib}/lib:${ncurses}/lib {} \;
+    # fix ineffective PROGDIR / MYNDKDIR determination
+    for i in ndk-build ndk-gdb ndk-gdb-py
+    do
+        sed -i -e ${sed_script_1} $i
+    done
+    sed -i -e ${sed_script_2} ndk-which
+    # a bash script
+    patchShebangs ndk-which
+    # make some executables available in PATH
+    mkdir -pv ${bin_path}
+    for i in \
+        ndk-build ndk-depends ndk-gdb ndk-gdb-py ndk-gdb.py ndk-stack ndk-which
+    do
+        ln -sf ${pkg_path}/$i ${bin_path}/$i
+    done
+    # wrap
+    for i in ndk-build ndk-gdb ndk-gdb-py ndk-which
+    do
+        wrapProgram "${bin_path}/$i" --prefix PATH : "${runtime_paths}"
+    done
+  '';
+}
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 3c9327f1c59..f4c3448c921 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -1,65 +1,53 @@
 { stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper
-, platformTools, buildTools, support, platforms, sysimages, addons
+, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons
 , zlib_32bit
 , libX11_32bit, libxcb_32bit, libXau_32bit, libXdmcp_32bit, libXext_32bit, mesa_32bit, alsaLib_32bit
 , libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib
 , freetype, fontconfig, glib, gtk, atk, file, jdk
 }:
-{platformVersions, abiVersions, useGoogleAPIs}:
+{platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs?false, useGooglePlayServices?false}:
 
 stdenv.mkDerivation rec {
   name = "android-sdk-${version}";
-  version = "22.6.2";
-  
+  version = "24.0.1";
+
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
       url = "http://dl.google.com/android/android-sdk_r${version}-linux.tgz";
-      md5 = "ff1541418a44d894bedc5cef10622220";
+      sha1 = "fb46b9afa04e09d3c33fa9bfee5c99e9ec6a9523";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
       url = "http://dl.google.com/android/android-sdk_r${version}-macosx.zip";
-      md5 = "2a319c862dd1dcf450bfe2a6b3d9c608";
+      sha1 = "7097c09c72645d7ad33c81a37b1a1363a9df2a54";
     }
     else throw "platform not ${stdenv.system} supported!";
-  
+
   buildCommand = ''
     mkdir -p $out/libexec
     cd $out/libexec
-    unpackFile $src;
-    
+    unpackFile $src
     cd android-sdk-*/tools
     
     ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     ''
       # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++
-    
-      for i in dmtracedump emulator emulator-arm emulator-mips emulator-x86 hprof-conv mksdcard sqlite3
+      
+      for i in emulator emulator-arm emulator-mips emulator-x86 mksdcard
       do
-          patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
-          patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i
+          patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
+          patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib $i
       done
-    
+      
       ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") ''
         # We must also patch the 64-bit emulator instances, if needed
         
         for i in emulator64-arm emulator64-mips emulator64-x86
         do
-            patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 $i
-            patchelf --set-rpath ${stdenv.gcc.gcc}/lib64 $i
+            patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $i
+            patchelf --set-rpath ${stdenv.cc.cc}/lib64 $i
         done
       ''}
       
-      # These tools also need zlib in addition to libstdc++
-    
-      for i in etc1tool zipalign
-      do
-          patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
-          patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i
-      done
-    
-      # The android script has a hardcoded reference to /bin/ls that must be patched
-      sed -i -e "s|/bin/ls|ls|" android
-      
       # The android script used SWT and wants to dynamically load some GTK+ stuff.
       # The following wrapper ensures that they can be found:
       wrapProgram `pwd`/android \
@@ -92,11 +80,11 @@ stdenv.mkDerivation rec {
         # The monitor requires some more patching
         
         cd lib/monitor-x86
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 monitor
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 monitor
         patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so
         
         wrapProgram `pwd`/monitor \
-          --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.gcc.gcc}/lib
+          --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.cc.cc}/lib
 
         cd ../..
       ''
@@ -105,11 +93,11 @@ stdenv.mkDerivation rec {
         # The monitor requires some more patching
         
         cd lib/monitor-x86_64
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 monitor
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 monitor
         patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so
         
         wrapProgram `pwd`/monitor \
-          --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.gcc.gcc}/lib
+          --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.cc.cc}/lib
 
         cd ../..
       ''
@@ -139,6 +127,27 @@ stdenv.mkDerivation rec {
       
     cd ..
 
+    # Symlink required extras
+
+    mkdir -p extras/android
+    cd extras/android
+
+    ln -s ${supportRepository}/m2repository
+
+    ${if useExtraSupportLibs then
+       "ln -s ${addons.android_support_extra}/support ."
+     else ""}
+
+    cd ..
+    mkdir -p google
+    cd google
+
+    ${if useGooglePlayServices then
+       "ln -s ${addons.google_play_services}/google-play-services google_play_services"
+     else ""}
+      
+    cd ../..
+
     # Symlink required platforms
    
     mkdir -p platforms
@@ -195,6 +204,14 @@ stdenv.mkDerivation rec {
             ln -sf $i $out/bin/$(basename $i)
         fi
     done
+
+    for i in $out/libexec/android-sdk-*/build-tools/android-*/*
+    do
+        if [ ! -d $i ] && [ -x $i ]
+        then
+            ln -sf $i $out/bin/$(basename $i)
+        fi
+    done
   '';
   
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix
index ca00e78b2cb..25af902679d 100644
--- a/pkgs/development/mobile/androidenv/build-app.nix
+++ b/pkgs/development/mobile/androidenv/build-app.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation ({
     ${if useNDK then ''
         export GNUMAKE=${gnumake}/bin/make
         export NDK_HOST_AWK=${gawk}/bin/gawk
-        ${androidndk}/ndk-build
+        ${androidndk}/bin/ndk-build
       '' else ""}
     ant ${antFlags} ${if release then "release" else "debug"}
   '';
diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix
index 58bf3549361..158d886a5e7 100644
--- a/pkgs/development/mobile/androidenv/build-tools.nix
+++ b/pkgs/development/mobile/androidenv/build-tools.nix
@@ -1,18 +1,18 @@
 {stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit}:
 
 stdenv.mkDerivation {
-  name = "android-build-tools-r18.1.0";
+  name = "android-build-tools-r21.1.2";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip;
-      sha1 = "f314a0599e51397f0886fe888b50dd98f2f050d8";
+      url = https://dl-ssl.google.com/android/repository/build-tools_r21.1.2-linux.zip;
+      sha1 = "5e35259843bf2926113a38368b08458735479658";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip;
-      sha1 = "16ddb299b8b43063e5bb3387ec17147c5053dfd8";
+      url = https://dl-ssl.google.com/android/repository/build-tools_r21.1.2-macosx.zip;
+      sha1 = "e7c906b4ba0eea93b32ba36c610dbd6b204bff48";
     }
     else throw "System ${stdenv.system} not supported!";
-  
+
   buildCommand = ''
     mkdir -p $out/build-tools
     cd $out/build-tools
@@ -25,25 +25,32 @@ stdenv.mkDerivation {
         # Patch the interpreter
         for i in aapt aidl dexdump llvm-rs-cc
         do
-            patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
+            patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
         done
         
         # These binaries need to find libstdc++ and libgcc_s
         for i in aidl libLLVM.so
         do
-            patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib $i
         done
         
         # These binaries need to find libstdc++, libgcc_s and libraries in the current folder
         for i in libbcc.so libbcinfo.so libclang.so llvm-rs-cc
         do
-            patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:`pwd` $i
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:`pwd` $i
+        done
+
+        # These binaries also need zlib in addition to libstdc++
+        for i in zipalign
+        do
+            patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:${zlib_32bit}/lib $i
         done
         
         # These binaries need to find libstdc++, libgcc_s, and zlib
         for i in aapt dexdump
         do
-            patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:${zlib_32bit}/lib $i
         done
       ''}
       
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 422c1516f2d..e99ab93b7ae 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -16,6 +16,10 @@ rec {
     inherit (pkgs) stdenv fetchurl unzip;
   };
   
+  supportRepository = import ./support-repository.nix {
+    inherit (pkgs) stdenv fetchurl unzip;
+  };
+
   platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux")
     then import ./platforms-linux.nix {
       inherit (pkgs) stdenv fetchurl unzip;
@@ -39,7 +43,7 @@ rec {
     inherit (pkgs) freetype fontconfig glib gtk atk mesa file alsaLib jdk;
     inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst;
     
-    inherit platformTools buildTools support platforms sysimages addons;
+    inherit platformTools buildTools support supportRepository platforms sysimages addons;
     
     stdenv_32bit = pkgs_i686.stdenv;
     zlib_32bit = pkgs_i686.zlib;
@@ -63,8 +67,38 @@ rec {
     abiVersions = [ "armeabi-v7a" ];
     useGoogleAPIs = true;
   };
+
+  androidsdk_2_3_3 = androidsdk {
+    platformVersions = [ "10" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_0 = androidsdk {
+    platformVersions = [ "11" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_1 = androidsdk {
+    platformVersions = [ "12" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_3_2 = androidsdk {
+    platformVersions = [ "13" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
   
   androidsdk_4_0 = androidsdk {
+    platformVersions = [ "14" ];
+    abiVersions = [ "armeabi-v7a" ];
+    useGoogleAPIs = true;
+  };
+  
+  androidsdk_4_0_3 = androidsdk {
     platformVersions = [ "15" ];
     abiVersions = [ "armeabi-v7a" ];
     useGoogleAPIs = true;
@@ -94,9 +128,32 @@ rec {
     useGoogleAPIs = true;
   };
 
+  androidsdk_5_0_1 = androidsdk {
+    platformVersions = [ "21" ];
+    abiVersions = [ "armeabi-v7a" "x86" ];
+    useGoogleAPIs = true;
+  };
+
+  androidsdk_5_0_1_extras = androidsdk {
+    platformVersions = [ "21" ];
+    abiVersions = [ "armeabi-v7a" "x86" ];
+    useGoogleAPIs = true;
+    useExtraSupportLibs = true;
+    useGooglePlayServices = true;
+  };
+
   androidndk = import ./androidndk.nix {
-    inherit (pkgs) stdenv fetchurl zlib ncurses;
+    inherit (pkgs) stdenv fetchurl zlib ncurses p7zip lib makeWrapper;
+    inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which;
+    inherit platformTools;
+  };
+
+  androidndk_r8e = import ./androidndk_r8e.nix {
+    inherit (pkgs) stdenv fetchurl zlib ncurses lib makeWrapper;
+    inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which;
+    inherit platformTools;
   };
+
   
   buildApp = import ./build-app.nix {
     inherit (pkgs) stdenv jdk ant gnumake gawk file which;
diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix
index 278c073dc58..cad77ec7d62 100644
--- a/pkgs/development/mobile/androidenv/emulate-app.nix
+++ b/pkgs/development/mobile/androidenv/emulate-app.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
     
     # Create a virtual android device for testing if it does not exists
     
-    if [ "$(android list avd | grep 'Name: device')" = "" ]
+    if [ "$(${androidsdkComposition}/libexec/android-sdk-*/tools/android list avd | grep 'Name: device')" = "" ]
     then
         # Create a virtual android device
         yes "" | ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS
@@ -106,7 +106,7 @@ stdenv.mkDerivation {
     ${stdenv.lib.optionalString (app != null) ''
       # Install the App through the debugger, if it has not been installed yet
       
-      if [ -z "${package}" ] || [ "$(adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
+      if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ]
       then
           if [ -d "${app}" ]
           then
diff --git a/pkgs/development/mobile/androidenv/fetch b/pkgs/development/mobile/androidenv/fetch
deleted file mode 100755
index 30aabc9e086..00000000000
--- a/pkgs/development/mobile/androidenv/fetch
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# this shows a list of available xmls
-android list sdk | grep 'Parse XML:' | cut -f8- -d\  # | xargs -n 1 curl -O
-
-# we skip the intel addons, as they are Windows+osX only
-# we skip the default sys-img (arm?) because it is empty
-curl -o repository-8.xml https://dl-ssl.google.com/android/repository/repository-8.xml
-curl -o addon.xml        https://dl-ssl.google.com/android/repository/addon.xml
-curl -o sys-img-mips.xml https://dl-ssl.google.com/android/repository/sys-img/mips/sys-img.xml
-curl -o sys-img-x86.xml  https://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml
-
-./generate-addons.sh
-./generate-platforms.sh
-./generate-sysimages.sh
diff --git a/pkgs/development/mobile/androidenv/fetch.sh b/pkgs/development/mobile/androidenv/fetch.sh
new file mode 100755
index 00000000000..92abb18f25f
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/fetch.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# this shows a list of available xmls
+android list sdk | grep 'Parse XML:' | cut -f8- -d\  # | xargs -n 1 curl -O
+
+# we skip the intel addons, as they are Windows+osX only
+# we skip the default sys-img (arm?) because it is empty
+curl -o repository-10.xml https://dl-ssl.google.com/android/repository/repository-10.xml
+curl -o addon.xml        https://dl-ssl.google.com/android/repository/addon.xml
+curl -o sys-img.xml https://dl-ssl.google.com/android/repository/sys-img/android/sys-img.xml
+
+./generate-addons.sh
+./generate-platforms.sh
+./generate-sysimages.sh
diff --git a/pkgs/development/mobile/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl
index 0100b980a4e..51d0c07c934 100644
--- a/pkgs/development/mobile/androidenv/generate-addons.xsl
+++ b/pkgs/development/mobile/androidenv/generate-addons.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:sdk="http://schemas.android.com/sdk/android/addon/5">
+  xmlns:sdk="http://schemas.android.com/sdk/android/addon/7">
 
   <xsl:output omit-xml-declaration="yes" indent="no" />
   <xsl:template match="/sdk:sdk-addon">
@@ -23,8 +23,8 @@ in
   google_apis_<xsl:value-of select="sdk:api-level" /> = buildGoogleApis {
     name = "<xsl:value-of select="sdk:name-id" />-<xsl:value-of select="sdk:api-level" />";
       src = fetchurl {
-        url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-        sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+        url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />;
+        sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
       };
       meta = {
         description = "<xsl:value-of select="sdk:description" />";
diff --git a/pkgs/development/mobile/androidenv/generate-platforms.sh b/pkgs/development/mobile/androidenv/generate-platforms.sh
index 8ac4ad328f4..58d3ba58d37 100755
--- a/pkgs/development/mobile/androidenv/generate-platforms.sh
+++ b/pkgs/development/mobile/androidenv/generate-platforms.sh
@@ -1,4 +1,4 @@
 #!/bin/sh -e
 
-xsltproc --stringparam os linux generate-platforms.xsl repository-8.xml > platforms-linux.nix
-xsltproc --stringparam os macosx generate-platforms.xsl repository-8.xml > platforms-macosx.nix
+xsltproc --stringparam os linux generate-platforms.xsl repository-10.xml > platforms-linux.nix
+xsltproc --stringparam os macosx generate-platforms.xsl repository-10.xml > platforms-macosx.nix
diff --git a/pkgs/development/mobile/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl
index 249f044550b..ba556f2baac 100644
--- a/pkgs/development/mobile/androidenv/generate-platforms.xsl
+++ b/pkgs/development/mobile/androidenv/generate-platforms.xsl
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:sdk="http://schemas.android.com/sdk/android/repository/8">
+  xmlns:sdk="http://schemas.android.com/sdk/android/repository/10">
 
   <xsl:param name="os" />
   <xsl:output omit-xml-declaration="yes" indent="no" />
@@ -10,7 +10,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -20,12 +20,12 @@ let
   });
 in
 {
-    <xsl:for-each select="sdk:platform">
+    <xsl:for-each select="sdk:platform[sdk:api-level &lt; 20]">
   platform_<xsl:value-of select="sdk:api-level" /> = buildPlatform {
     name = "android-platform-<xsl:value-of select="sdk:version" />";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:checksum[@type='sha1']" />";
+      url = <xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[sdk:host-os=$os or count(sdk:host-os) = 0]/sdk:checksum[@type='sha1']" />";
     };
     meta = {
       description = "<xsl:value-of select="sdk:description" />";
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl b/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl
deleted file mode 100644
index 31ab72add36..00000000000
--- a/pkgs/development/mobile/androidenv/generate-sysimages-others.xsl
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:str="http://exslt.org/strings"
-  xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-  <xsl:param name="abi" />
-  <xsl:output omit-xml-declaration="yes" indent="no" />
-
-  <xsl:template match="/sdk:sdk-sys-img">
-    <xsl:for-each select="sdk:system-image">
-  sysimg_<xsl:value-of select="sdk:abi" />_<xsl:value-of select="sdk:api-level" /> = buildSystemImage {
-    name = "<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
-    src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/<xsl:value-of select="$abi" />/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
-    };
-  };
-    </xsl:for-each>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.sh b/pkgs/development/mobile/androidenv/generate-sysimages.sh
index 90b1e04c229..ef2f825642b 100755
--- a/pkgs/development/mobile/androidenv/generate-sysimages.sh
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.sh
@@ -17,9 +17,7 @@ in
 {
 EOF
 
-xsltproc generate-sysimages.xsl repository-8.xml >> sysimages.nix
-xsltproc --stringparam abi x86 generate-sysimages-others.xsl sys-img-x86.xml >> sysimages.nix
-xsltproc --stringparam abi mips generate-sysimages-others.xsl sys-img-mips.xml >> sysimages.nix
+xsltproc generate-sysimages.xsl sys-img.xml >> sysimages.nix
 
 cat >> sysimages.nix << "EOF"
 }
diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.xsl b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
index be9947d536a..6de690622b5 100644
--- a/pkgs/development/mobile/androidenv/generate-sysimages.xsl
+++ b/pkgs/development/mobile/androidenv/generate-sysimages.xsl
@@ -2,17 +2,17 @@
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:str="http://exslt.org/strings"
-  xmlns:sdk="http://schemas.android.com/sdk/android/repository/8">
+  xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
   <xsl:output omit-xml-declaration="yes" indent="no" />
 
-  <xsl:template match="/sdk:sdk-repository">
+  <xsl:template match="/sdk:sdk-sys-img">
     <xsl:for-each select="sdk:system-image">
   sysimg_<xsl:value-of select="sdk:abi" />_<xsl:value-of select="sdk:api-level" /> = buildSystemImage {
-    name = "<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
+    name = "sysimg-<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
-      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+      url = <xsl:if test="not(starts-with(sdk:archives/sdk:archive/sdk:url, 'https://'))">https://dl-ssl.google.com/android/repository/sys-img/android/</xsl:if><xsl:value-of select="sdk:archives/sdk:archive/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
     };
   };
     </xsl:for-each>
diff --git a/pkgs/development/mobile/androidenv/make-standalone-toolchain.patch b/pkgs/development/mobile/androidenv/make-standalone-toolchain.patch
new file mode 100644
index 00000000000..5eeadbbd12d
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/make-standalone-toolchain.patch
@@ -0,0 +1,13 @@
+diff -ru android-ndk-r10c.old/build/tools/make-standalone-toolchain.sh android-ndk-r10c/build/tools/make-standalone-toolchain.sh
+--- android-ndk-r10c.old/build/tools/make-standalone-toolchain.sh	2014-10-16 03:46:32.000000000 +0200
++++ android-ndk-r10c/build/tools/make-standalone-toolchain.sh	2014-10-24 23:46:22.544928306 +0200
+@@ -310,6 +310,9 @@
+ # Now copy the GCC toolchain prebuilt binaries
+ run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR"
+ 
++# Making it writable again
++chmod -R +w "$TMPDIR"
++
+ # Replace soft-link mcld by real file
+ ALL_LDS=`find $TMPDIR -name "*mcld"`
+ for LD in $ALL_LDS; do
diff --git a/pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch b/pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch
new file mode 100644
index 00000000000..4a9f9a4a9dd
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/make-standalone-toolchain_r8e.patch
@@ -0,0 +1,13 @@
+diff -ru android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh android-ndk-r8e/build/tools/make-standalone-toolchain.sh
+--- android-ndk-r8e.old/build/tools/make-standalone-toolchain.sh	2014-10-16 03:46:32.000000000 +0200
++++ android-ndk-r8e/build/tools/make-standalone-toolchain.sh	2014-10-24 23:46:22.544928306 +0200
+@@ -194,6 +194,9 @@
+ # Now copy the GCC toolchain prebuilt binaries
+ run copy_directory "$TOOLCHAIN_PATH" "$TMPDIR"
+ 
++# Making it writable again
++chmod -R +w "$TMPDIR"
++
+ if [ -n "$LLVM_VERSION" ]; then
+   # Copy the clang/llvm toolchain prebuilt binaries
+   run copy_directory "$LLVM_TOOLCHAIN_PATH" "$TMPDIR"
diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix
index a7a2661bd37..ab64ad589db 100644
--- a/pkgs/development/mobile/androidenv/platform-tools.nix
+++ b/pkgs/development/mobile/androidenv/platform-tools.nix
@@ -1,18 +1,23 @@
 {stdenv, stdenv_32bit, fetchurl, unzip}:
 
+let
+  version = "21";
+
+in
+
 stdenv.mkDerivation {
-  name = "android-platform-tools-r19";
+  name = "android-platform-tools-r${version}";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/platform-tools_r19-linux.zip;
-      sha1 = "66ee37daf8a2a8f1aa8939ccd4093658e30aa49b";
+      url = "https://dl-ssl.google.com/android/repository/platform-tools_r${version}-linux.zip";
+      sha256 = "35a1762b355451e000a816d97d9af640ca99ae6c5b5b406a3e680210af8106ad";
     }
     else if stdenv.system == "x86_64-darwin" then fetchurl {
-      url = https://dl-ssl.google.com/android/repository/platform-tools_r19-macosx.zip;
-      sha1 = "69af30f488163dfc3da8cef1bb6cc7e8a6df5681";
+      url = "https://dl-ssl.google.com/android/repository/platform-tools_r${version}-macosx.zip";
+      sha256 = "30ae8724da3db772a776d616b4746516f24ae81330e84315a7ce0c49e0b0b3cb";
     }
     else throw "System ${stdenv.system} not supported!";
-  
+
   buildCommand = ''
     mkdir -p $out
     cd $out
@@ -23,8 +28,8 @@ stdenv.mkDerivation {
       ''
         for i in adb fastboot
         do
-            patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
-            patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i
+            patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib $i
         done
     ''}
   '';
diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix
index f9f5a2d50f4..4ce1e421478 100644
--- a/pkgs/development/mobile/androidenv/platforms-linux.nix
+++ b/pkgs/development/mobile/androidenv/platforms-linux.nix
@@ -3,7 +3,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -219,16 +219,26 @@ in
   };
     
   platform_19 = buildPlatform {
-    name = "android-platform-4.4";
+    name = "android-platform-4.4.2";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
-      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+      url = https://dl-ssl.google.com/android/repository/android-19_r03.zip;
+      sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95";
     };
     meta = {
-      description = "Android SDK Platform 4.4";
+      description = "Android SDK Platform 4.4.2";
       
     };
   };
-    
+
+  platform_21 = buildPlatform {
+    name = "android-platform-5.0.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-21_r02.zip;
+      sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c";
+    };
+    meta = {
+      description = "Android SDK Platform 5.0.1";
+    };
+  };
+
 }
-  
\ No newline at end of file
diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix
index a95561d3e85..1f41d8dda9e 100644
--- a/pkgs/development/mobile/androidenv/platforms-macosx.nix
+++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix
@@ -3,7 +3,7 @@
 
 let
   buildPlatform = args:
-    stdenv.mkDerivation (args // {   
+    stdenv.mkDerivation (args // {
       buildInputs = [ unzip ];
       buildCommand = ''
         mkdir -p $out
@@ -219,16 +219,27 @@ in
   };
     
   platform_19 = buildPlatform {
-    name = "android-platform-4.4";
+    name = "android-platform-4.4.2";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/android-19_r01.zip;
-      sha1 = "96281811998272dce46e8285d15fce444a3d5a96";
+      url = https://dl-ssl.google.com/android/repository/android-19_r03.zip;
+      sha1 = "5f33d8fd36a384fe2b170035e04a29c274a9ef95";
     };
     meta = {
-      description = "Android SDK Platform 4.4";
+      description = "Android SDK Platform 4.4.2";
       
     };
   };
+
+  platform_21 = buildPlatform {
+    name = "android-platform-5.0.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-21_r02.zip;
+      sha1 = "53536556059bb29ae82f414fd2e14bc335a4eb4c";
+    };
+    meta = {
+      description = "Android SDK Platform 5.0.1";
+    };
+  };
+
     
 }
-  
\ No newline at end of file
diff --git a/pkgs/development/mobile/androidenv/repository-10.xml b/pkgs/development/mobile/androidenv/repository-10.xml
new file mode 100644
index 00000000000..81023cae2ee
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/repository-10.xml
@@ -0,0 +1,1562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
+
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
+
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <!-- PLATFORMS ........................ -->
+
+    <sdk:platform>
+        <sdk:version>1.1</sdk:version>
+        <sdk:api-level>2</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 1.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>46828615</sdk:size>
+                <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>45584305</sdk:size>
+                <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>45476658</sdk:size>
+                <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.1_r1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated manually from earlier versions -->
+
+    <sdk:platform>
+        <sdk:version>1.5</sdk:version>
+        <sdk:api-level>3</sdk:api-level>
+        <sdk:revision>04</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.5_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.5.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>54624370</sdk:size>
+                <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>52440607</sdk:size>
+                <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>53348669</sdk:size>
+                <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.5_r04-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <sdk:version>1.6</sdk:version>
+        <sdk:api-level>4</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.6_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.6.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63454485</sdk:size>
+                <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>62418496</sdk:size>
+                <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>64654625</sdk:size>
+                <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-1.6_r03-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
+
+    <sdk:platform>
+        <sdk:version>2.0</sdk:version>
+        <sdk:api-level>5</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>3</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>75095268</sdk:size>
+                <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>74956356</sdk:size>
+                <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>76288040</sdk:size>
+                <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0_r01-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.0.1</sdk:version>
+        <sdk:api-level>6</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>4</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>79192618</sdk:size>
+                <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>79035527</sdk:size>
+                <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>80385601</sdk:size>
+                <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.0.1_r01-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu May  6 15:57:41 PDT 2010 using eclair 35983: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.1</sdk:version>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.1_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>70142829</sdk:size>
+                <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.2</sdk:version>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.2_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>74652366</sdk:size>
+                <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Jan 20 09:40:59 PST 2011 using gingerbread-sdk-release 93351: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.1</sdk:version>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.1_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>78732563</sdk:size>
+                <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Fri Feb  4 16:41:27 PST 2011 using gingerbread-release 101070: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.3</sdk:version>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.3._r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>85470907</sdk:size>
+                <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Thu Feb 17 08:41:10 PST 2011 using honeycomb 104254: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.0</sdk:version>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>10</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.0, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>104513908</sdk:size>
+                <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Wed May  4 19:39:17 PDT 2011 using honeycomb-mr1 123685: Platform.
+         r2: layoutlib.jar from 3.0 to fix issue with ADT 10.
+    -->
+
+    <sdk:platform>
+        <sdk:version>3.1</sdk:version>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>11</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.1, revision 3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>106472351</sdk:size>
+                <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <!-- Generated on Fri Jul 15 11:50:12 PDT 2011 using honeycomb-mr2-release 140714: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.2</sdk:version>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>12</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.2, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>108426536</sdk:size>
+                <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Thu Dec 15 16:53:11 2011 from git_ics-mr0 @ 238991 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:version>4.0</sdk:version>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>45919570</sdk:size>
+                <sdk:checksum type="sha1">41ba83b51e886461628c41b1b4d47762e0688ed5</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-14_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Mar 16 11:22:43 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:version>4.0.3</sdk:version>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>15</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>44414679</sdk:size>
+                <sdk:checksum type="sha1">23da24610a8da51054c5391001c51ce43a778b97</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-15_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Thu Dec  6 10:54:05 2012 from git_jb-dev @ 543062 -->
+        <sdk:revision>4</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1.2</sdk:description>
+        <sdk:version>4.1.2</sdk:version>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>9</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>48005140</sdk:size>
+                <sdk:checksum type="sha1">90b9157b8b45f966be97e11a22fba4591b96c2ee</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-16_r04.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Wed Feb 13 11:27:09 2013 from git_jb-mr1.1-dev @ 576024 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
+        <sdk:version>4.2.2</sdk:version>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>9</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>48057484</sdk:size>
+                <sdk:checksum type="sha1">c442c32c1b702173ab0929a74486e4f86fe528ec</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-17_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Wed Sep 11 18:15:07 2013 from git_jb-mr2-dev @ 819563 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:version>4.3</sdk:version>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>21</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>57319855</sdk:size>
+                <sdk:checksum type="sha1">62a9438d4cf6692f4d6510c27a380be195db9534</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-18_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Feb 28 18:03:43 2014 from git_klp-sdk-release @ 1035858 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:version>4.4.2</sdk:version>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63798840</sdk:size>
+                <sdk:checksum type="sha1">5f33d8fd36a384fe2b170035e04a29c274a9ef95</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/android-19_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Mon Jun 23 19:17:42 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4W</sdk:description>
+        <sdk:version>4.4W</sdk:version>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>10</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>63548914</sdk:size>
+                <sdk:checksum type="sha1">928b1d181101a5bc06f739eb40501e1249dd4895</sdk:checksum>
+                <sdk:url>android-20_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Jul 11 18:20:46 2014 from git_lmp-preview-dev @ 1272903 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:version>L</sdk:version>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:min-tools-rev>
+            <sdk:major>22</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>11</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>69421660</sdk:size>
+                <sdk:checksum type="sha1">76b6da426db06b2e2901dbc5e02d210ba83753c4</sdk:checksum>
+                <sdk:url>android-L_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:platform>
+
+    <!-- SAMPLES ........................ -->
+
+    <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 7, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>7677831</sdk:size>
+                <sdk:checksum type="sha1">51e4907f60f248ede5c58b54ce7b6ae0b473e0ca</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue May 11 19:15:20 PDT 2010 using froyo 36658: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 8, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>7969716</sdk:size>
+                <sdk:checksum type="sha1">d16d8bf2dd84cedf73b98b948d66461c8f19d6fb</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue Nov 30 19:39:34 PST 2010 using gingerbread 79962: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 9, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>8516326</sdk:size>
+                <sdk:checksum type="sha1">36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Tue Feb  8 17:37:15 PST 2011 using gingerbread 102121: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 10, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>8539583</sdk:size>
+                <sdk:checksum type="sha1">93b0c3f3bdf5b07f1f115100b4954f0665297a0d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-2.3.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Thu Feb 17 08:45:49 PST 2011 using honeycomb 104254: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 11, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>11976920</sdk:size>
+                <sdk:checksum type="sha1">3749ace584631270268d65bb1d0ad61b0d691682</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.0_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Wed May  4 19:49:56 PDT 2011 using honeycomb-mr1 123685: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 12, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>12150514</sdk:size>
+                <sdk:checksum type="sha1">df0ace37cbca73373fe94080f94c71557cac73a7</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <!-- Generated on Fri Jul 15 11:52:24 PDT 2011 using honeycomb-mr2 142871: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 13, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>12193502</sdk:size>
+                <sdk:checksum type="sha1">078bcf1abc1cb8921f3fa482c252963a782bed60</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Dec  7 13:48:27 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16253619</sdk:size>
+                <sdk:checksum type="sha1">1312c22ab0b650e26835cc3945d4ff8cea183416</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Fri Mar 16 11:27:52 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16366656</sdk:size>
+                <sdk:checksum type="sha1">042f368c5b09eca4d278264e6dbf9c12c5f73d1f</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Sun Jun 24 14:02:06 2012 from git_jb-release @ 391408 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>14729945</sdk:size>
+                <sdk:checksum type="sha1">dce3a2d41db50a381ef47ee8bddbe928520e685e</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-16_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Mon Nov 12 17:18:09 2012 from git_jb-mr1-dev @ 526865 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>14840030</sdk:size>
+                <sdk:checksum type="sha1">12d58cb26503610fc05bd7618c434cc6f983bc41</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Tue Jul 23 17:17:22 2013 from git_jb-mr2-ub-dev @ 751786 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19897793</sdk:size>
+                <sdk:checksum type="sha1">73e879ce46c04a6e63ad1a9107018b4782945007</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/samples-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Aug 27 10:42:00 2014 from git_klp-docs @ 1377789 -->
+        <sdk:revision>6</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>31900752</sdk:size>
+                <sdk:checksum type="sha1">19593662771934b0b1e3be56ed18d13e6489bcd4</sdk:checksum>
+                <sdk:url>samples-19_r06.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Jul 23 12:59:18 2014 from git_klp-modular-mr0-release @ 1298572 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>49718791</sdk:size>
+                <sdk:checksum type="sha1">4b906c46057ee8f502b4f27c23670fd87a49d6ff</sdk:checksum>
+                <sdk:url>samples-20_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Aug 27 10:44:44 2014 from git_lmp-preview-dev @ 1378586 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>41182182</sdk:size>
+                <sdk:checksum type="sha1">4afc36cf3f53051881729f733fe9bb571104c48f</sdk:checksum>
+                <sdk:url>samples-L_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:sample>
+
+    <!-- PLATFORM-TOOLS ........................ -->
+
+    <sdk:platform-tool>
+        <!-- Generated at Mon Jun 23 19:20:39 2014 from git_lmp-preview-dev @ 1244090 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>1741113</sdk:size>
+                <sdk:checksum type="sha1">72c34cc6a991f53e2588f9d5487559f013bc30f9</sdk:checksum>
+                <sdk:url>platform-tools_r20-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>1753061</sdk:size>
+                <sdk:checksum type="sha1">fb120ce85b6698b801cb4788b204693c1d682b87</sdk:checksum>
+                <sdk:url>platform-tools_r20-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>1666257</sdk:size>
+                <sdk:checksum type="sha1">f2c65c58caf76169d9bebf25eef5c69ff99670b5</sdk:checksum>
+                <sdk:url>platform-tools_r20-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:platform-tool>
+
+    <!-- BUILD-TOOLS ........................ -->
+
+    <sdk:build-tool>
+        <!-- Generated at Tue May 14 16:40:25 2013 from git_jb-mr1.1-dev @ 673949 -->
+        <sdk:revision>
+            <sdk:major>17</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>11004914</sdk:size>
+                <sdk:checksum type="sha1">899897d327b0bad492d3a40d3db4d96119c15bc0</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>11696007</sdk:size>
+                <sdk:checksum type="sha1">2c2872bc3806aabf16a12e3959c2183ddc866e6d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>12208114</sdk:size>
+                <sdk:checksum type="sha1">602ee709be9dbb8f179b1e4075148a57f9419930</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r17-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <!-- Build tools version 18.0.0 was broken for renderscript, so it has been removed -->
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Jul 29 15:14:00 2013 from git_jb-mr2-dev @ 754669 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>15413527</sdk:size>
+                <sdk:checksum type="sha1">a6c2afd0b6289d589351956d2f5212b37014ca7d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>16627330</sdk:size>
+                <sdk:checksum type="sha1">f11618492b0d2270c332325d45d752d3656a9640</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>16633121</sdk:size>
+                <sdk:checksum type="sha1">d84f5692fb44d60fc53e5b2507cebf9f24626902</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Wed Sep 11 17:41:47 2013 from git_jb-mr2-dev @ 819563 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19659547</sdk:size>
+                <sdk:checksum type="sha1">3a9810fc8559ab03c09378f07531e8cae2f1db30</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20229298</sdk:size>
+                <sdk:checksum type="sha1">f314a0599e51397f0886fe888b50dd98f2f050d8</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20451524</sdk:size>
+                <sdk:checksum type="sha1">16ddb299b8b43063e5bb3387ec17147c5053dfd8</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Thu Oct 10 14:18:15 2013 from git_jb-mr2-dev @ 867478 -->
+        <sdk:revision>
+            <sdk:major>18</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>19660000</sdk:size>
+                <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20229760</sdk:size>
+                <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>20452157</sdk:size>
+                <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Oct 28 23:12:03 2013 from git_klp-release @ 886418 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20611447</sdk:size>
+                <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21339943</sdk:size>
+                <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21441270</sdk:size>
+                <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Thu Dec  5 14:01:45 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>1</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20500648</sdk:size>
+                <sdk:checksum type="sha1">5ef422bac5b28f4ced108319ed4a6bc7050a6234</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21229048</sdk:size>
+                <sdk:checksum type="sha1">18d2312dc4368858914213087f4e61445aca4517</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21450597</sdk:size>
+                <sdk:checksum type="sha1">efaf50fb19a3edb8d03efbff76f89a249ad2920b</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Wed Feb 12 12:38:29 2014 from git_klp-sdk-release @ 1009316 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>2</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20621117</sdk:size>
+                <sdk:checksum type="sha1">af664672d0d709c9ae30937b1062317d3ade7f95</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21352552</sdk:size>
+                <sdk:checksum type="sha1">a03a6bdea0091aea32e1b35b90a7294c9f04e3dd</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21453726</sdk:size>
+                <sdk:checksum type="sha1">145bc43065d45f756d99d87329d899052b9a9288</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Fri Feb 28 17:11:02 2014 from git_klp-sdk-release @ 1035858 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>3</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20730715</sdk:size>
+                <sdk:checksum type="sha1">cb46b433b67a0a6910ff00db84be8b527ea3102f</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21462150</sdk:size>
+                <sdk:checksum type="sha1">c2d6055478e9d2d4fba476ee85f99181ddd1160c</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21563992</sdk:size>
+                <sdk:checksum type="sha1">651cf8754373b2d52e7f6aab2c52eabffe4e9ea4</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Tue May  6 14:19:40 2014 from git_klp-sdk-release @ 1153987 -->
+        <sdk:revision>
+            <sdk:major>19</sdk:major>
+            <sdk:minor>1</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20812533</sdk:size>
+                <sdk:checksum type="sha1">13b367fbdbff8132cb4356f716e8dc8a8df745c5</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21490972</sdk:size>
+                <sdk:checksum type="sha1">1ff20ac15fa47a75d00346ec12f180d531b3ca89</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21590160</sdk:size>
+                <sdk:checksum type="sha1">0d11aae3417de1efb4b9a0e0a7855904a61bcec1</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/build-tools_r19.1-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <sdk:build-tool>
+        <!-- Generated at Mon Jun 23 19:17:29 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>0</sdk:micro>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20828006</sdk:size>
+                <sdk:checksum type="sha1">cf20720e452b642d5eb59dabe05c0c729b36ec75</sdk:checksum>
+                <sdk:url>build-tools_r20-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21445463</sdk:size>
+                <sdk:checksum type="sha1">b688905526a5584d1327a662d871a635ff502758</sdk:checksum>
+                <sdk:url>build-tools_r20-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>21650508</sdk:size>
+                <sdk:checksum type="sha1">1240f629411c108a714c4ddd756937c7fab93f83</sdk:checksum>
+                <sdk:url>build-tools_r20-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:build-tool>
+
+    <!-- TOOLS ........................ -->
+
+    <sdk:tool>
+        <!-- Generated at Wed Jul  2 12:10:55 2014 from git_ub-tools-idea133-milestone @ 1259578 -->
+        <sdk:revision>
+            <sdk:major>23</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>2</sdk:micro>
+        </sdk:revision>
+        <sdk:min-platform-tools-rev>
+            <sdk:major>20</sdk:major>
+        </sdk:min-platform-tools-rev>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>141154615</sdk:size>
+                <sdk:checksum type="sha1">0a64ec9b7777bb00ff299c94c359163ef5e443ae</sdk:checksum>
+                <sdk:url>tools_r23.0.2-windows.zip</sdk:url>
+                <sdk:host-os>windows</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>141930870</sdk:size>
+                <sdk:checksum type="sha1">e8a2d55d750adeaded60a3daad48e62b09aa472a</sdk:checksum>
+                <sdk:url>tools_r23.0.2-linux.zip</sdk:url>
+                <sdk:host-os>linux</sdk:host-os>
+            </sdk:archive>
+            <sdk:archive>
+                <sdk:size>90920343</sdk:size>
+                <sdk:checksum type="sha1">c46b1e173188ba82a56d6b9e349fdae4e8922bab</sdk:checksum>
+                <sdk:url>tools_r23.0.2-macosx.zip</sdk:url>
+                <sdk:host-os>macosx</sdk:host-os>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:tool>
+
+    <!-- DOCS ........................ -->
+
+    <sdk:doc>
+        <!-- Generated at Mon Jun 23 19:19:47 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>207889084</sdk:size>
+                <sdk:checksum type="sha1">58a94248c7c960829db3d779c84534e5e783210f</sdk:checksum>
+                <sdk:url>docs-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:doc>
+
+    <!-- SOURCES ........................ -->
+
+    <sdk:source>
+        <!-- Generated at Wed Dec  7 13:48:11 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16152383</sdk:size>
+                <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-14_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Fri Mar 30 10:43:44 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>16468746</sdk:size>
+                <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Thu Jul 19 18:39:42 2012 from git_jb-release @ 403059 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>17876720</sdk:size>
+                <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-16_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Mon Nov 12 17:16:08 2012 from git_jb-mr1-dev @ 526865 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>18976816</sdk:size>
+                <sdk:checksum type="sha1">6f1f18cd2d2b1852d7f6892df9cee3823349d43a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Tue Jul 23 17:18:30 2013 from git_jb-mr2-release @ 737497 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>20226735</sdk:size>
+                <sdk:checksum type="sha1">8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Thu Dec  5 14:04:22 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>21819439</sdk:size>
+                <sdk:checksum type="sha1">433a1d043ef77561571250e94cb7a0ef24a202e7</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sources-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Mon Jun 23 19:18:43 2014 from git_klp-modular-release @ 1246132 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>23367603</sdk:size>
+                <sdk:checksum type="sha1">8da3e40f2625f9f7ef38b7e403f49f67226c0d76</sdk:checksum>
+                <sdk:url>sources-20_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:source>
+</sdk:sdk-repository>
+
diff --git a/pkgs/development/mobile/androidenv/repository-8.xml b/pkgs/development/mobile/androidenv/repository-8.xml
deleted file mode 100644
index 46ae8aa9a7c..00000000000
--- a/pkgs/development/mobile/androidenv/repository-8.xml
+++ /dev/null
@@ -1,1277 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <sdk:license id="android-sdk-license" type="text">Terms and Conditions
-
-This is the Android Software Development Kit License Agreement.
-
-
-1. Introduction
-
-
-1.1 The Android Software Development Kit (referred to in this License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
-
-1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
-
-1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
-
-
-2. Accepting this License Agreement
-
-
-2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
-
-2.2 By clicking to accept, you hereby agree to the terms of this License Agreement.
-
-2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
-
-2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
-
-
-3. SDK License from Google
-
-
-3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
-
-3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
-
-3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement.  Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
-
-3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
-
-3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
-
-3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
-
-3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
-
-3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
-
-
-4. Use of the SDK by You
-
-
-4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
-
-4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
-
-4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
-
-4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
-
-4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
-
-4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
-
-
-5. Your Developer Credentials
-
-
-5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
-
-
-6. Privacy and Information
-
-
-6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
-
-6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
-
-
-7. Third Party Applications
-
-
-7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
-
-7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
-
-7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
-
-
-8. Using Android APIs
-
-
-8.1 Google Data APIs
-
-8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
-
-8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
-
-
-9. Terminating this License Agreement
-
-
-9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
-
-9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
-
-9.3 Google may at any time, terminate this License Agreement with you if:
-(A) you have breached any provision of this License Agreement; or
-(B) Google is required to do so by law; or
-(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
-(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
-
-9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
-
-
-10. DISCLAIMER OF WARRANTIES
-
-
-10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
-
-10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
-
-10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-
-
-11. LIMITATION OF LIABILITY
-
-
-11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-
-12. Indemnification
-
-
-12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
-
-
-13. Changes to the License Agreement
-
-
-13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
-
-
-14. General Legal Terms
-
-
-14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
-
-14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
-
-14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
-
-14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
-
-14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
-
-14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
-
-14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
-
-November 13, 2012
-    </sdk:license>
-
-    <!-- PLATFORMS ........................ -->
-
-    <sdk:platform>
-        <sdk:version>1.1</sdk:version>
-        <sdk:api-level>2</sdk:api-level>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 1.1_r1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.1.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>46828615</sdk:size>
-                <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum>
-                <sdk:url>android-1.1_r1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>45584305</sdk:size>
-                <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum>
-                <sdk:url>android-1.1_r1-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>45476658</sdk:size>
-                <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum>
-                <sdk:url>android-1.1_r1-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated manually from earlier versions -->
-
-    <sdk:platform>
-        <sdk:version>1.5</sdk:version>
-        <sdk:api-level>3</sdk:api-level>
-        <sdk:revision>04</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>6</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 1.5_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.5.html</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>54624370</sdk:size>
-                <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum>
-                <sdk:url>android-1.5_r04-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>52440607</sdk:size>
-                <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum>
-                <sdk:url>android-1.5_r04-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>53348669</sdk:size>
-                <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum>
-                <sdk:url>android-1.5_r04-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <sdk:version>1.6</sdk:version>
-        <sdk:api-level>4</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>6</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 1.6_r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-1.6.html</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>63454485</sdk:size>
-                <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum>
-                <sdk:url>android-1.6_r03-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>62418496</sdk:size>
-                <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum>
-                <sdk:url>android-1.6_r03-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>64654625</sdk:size>
-                <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum>
-                <sdk:url>android-1.6_r03-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
-
-    <sdk:platform>
-        <sdk:version>2.0</sdk:version>
-        <sdk:api-level>5</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>3</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.0, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>75095268</sdk:size>
-                <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum>
-                <sdk:url>android-2.0_r01-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>74956356</sdk:size>
-                <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum>
-                <sdk:url>android-2.0_r01-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>76288040</sdk:size>
-                <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum>
-                <sdk:url>android-2.0_r01-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
-
-    <sdk:platform>
-        <sdk:version>2.0.1</sdk:version>
-        <sdk:api-level>6</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>4</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.0.1_r1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.1.html</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>79192618</sdk:size>
-                <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>79035527</sdk:size>
-                <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-macosx.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>80385601</sdk:size>
-                <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum>
-                <sdk:url>android-2.0.1_r01-windows.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu May  6 15:57:41 PDT 2010 using eclair 35983: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.1</sdk:version>
-        <sdk:api-level>7</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.1_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>70142829</sdk:size>
-                <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum>
-                <sdk:url>android-2.1_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
-
-    <sdk:platform>
-        <sdk:version>2.2</sdk:version>
-        <sdk:api-level>8</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.2_r3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>74652366</sdk:size>
-                <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum>
-                <sdk:url>android-2.2_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Jan 20 09:40:59 PST 2011 using gingerbread-sdk-release 93351: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.3.1</sdk:version>
-        <sdk:api-level>9</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.3.1_r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>78732563</sdk:size>
-                <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum>
-                <sdk:url>android-2.3.1_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Fri Feb  4 16:41:27 PST 2011 using gingerbread-release 101070: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>2.3.3</sdk:version>
-        <sdk:api-level>10</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>8</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 2.3.3._r2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>85470907</sdk:size>
-                <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum>
-                <sdk:url>android-2.3.3_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Thu Feb 17 08:41:10 PST 2011 using honeycomb 104254: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>3.0</sdk:version>
-        <sdk:api-level>11</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>02</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>10</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.0, revision 2</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>104513908</sdk:size>
-                <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum>
-                <sdk:url>android-3.0_r02-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Wed May  4 19:39:17 PDT 2011 using honeycomb-mr1 123685: Platform.
-         r2: layoutlib.jar from 3.0 to fix issue with ADT 10.
-    -->
-
-    <sdk:platform>
-        <sdk:version>3.1</sdk:version>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>03</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>11</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.1, revision 3</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>106472351</sdk:size>
-                <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum>
-                <sdk:url>android-3.1_r03-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <!-- Generated on Fri Jul 15 11:50:12 PDT 2011 using honeycomb-mr2-release 140714: Platform. -->
-
-    <sdk:platform>
-        <sdk:version>3.2</sdk:version>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:min-tools-rev>
-            <sdk:major>12</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:description>Android SDK Platform 3.2, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>108426536</sdk:size>
-                <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum>
-                <sdk:url>android-3.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:layoutlib>
-            <sdk:api>4</sdk:api>
-        </sdk:layoutlib>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Thu Dec 15 16:53:11 2011 from git_ics-mr0 @ 238991 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0</sdk:description>
-        <sdk:version>4.0</sdk:version>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:layoutlib>
-            <sdk:api>7</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>45919570</sdk:size>
-                <sdk:checksum type="sha1">41ba83b51e886461628c41b1b4d47762e0688ed5</sdk:checksum>
-                <sdk:url>android-14_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Fri Mar 16 11:22:43 2012 from ics-mr1 @ 291902 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
-        <sdk:version>4.0.3</sdk:version>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>15</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>7</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>44414679</sdk:size>
-                <sdk:checksum type="sha1">23da24610a8da51054c5391001c51ce43a778b97</sdk:checksum>
-                <sdk:url>android-15_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Thu Dec  6 10:54:05 2012 from git_jb-dev @ 543062 -->
-        <sdk:revision>4</sdk:revision>
-        <sdk:description>Android SDK Platform 4.1.2</sdk:description>
-        <sdk:version>4.1.2</sdk:version>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>9</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>48005140</sdk:size>
-                <sdk:checksum type="sha1">90b9157b8b45f966be97e11a22fba4591b96c2ee</sdk:checksum>
-                <sdk:url>android-16_r04.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Wed Feb 13 11:27:09 2013 from git_jb-mr1.1-dev @ 576024 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
-        <sdk:version>4.2.2</sdk:version>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>9</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>48057484</sdk:size>
-                <sdk:checksum type="sha1">c442c32c1b702173ab0929a74486e4f86fe528ec</sdk:checksum>
-                <sdk:url>android-17_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Wed Sep 11 18:15:07 2013 from git_jb-mr2-dev @ 819563 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.3</sdk:description>
-        <sdk:version>4.3</sdk:version>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>21</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>10</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>57319855</sdk:size>
-                <sdk:checksum type="sha1">62a9438d4cf6692f4d6510c27a380be195db9534</sdk:checksum>
-                <sdk:url>android-18_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-    <sdk:platform>
-        <!-- Generated at Mon Oct 28 23:34:31 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 4.4</sdk:description>
-        <sdk:version>4.4</sdk:version>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:min-tools-rev>
-            <sdk:major>22</sdk:major>
-        </sdk:min-tools-rev>
-        <sdk:layoutlib>
-            <sdk:api>10</sdk:api>
-            <sdk:revision>1</sdk:revision>
-        </sdk:layoutlib>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>59279956</sdk:size>
-                <sdk:checksum type="sha1">96281811998272dce46e8285d15fce444a3d5a96</sdk:checksum>
-                <sdk:url>android-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform>
-
-
-    <!-- SYSTEM IMAGES ........................ -->
-
-    <sdk:system-image>
-        <!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0</sdk:description>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>99621822</sdk:size>
-                <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
-                <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Fri Mar 30 10:43:23 2012 from ics-mr1 @ 302030 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>96227377</sdk:size>
-                <sdk:checksum type="sha1">1bf977d6cb4e0ad38dceac0c4863d1caa21f326e</sdk:checksum>
-                <sdk:url>sysimg_armv7a-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Tue Oct  9 13:43:08 2012 from git_jb-dev @ 495790 -->
-        <sdk:revision>3</sdk:revision>
-        <sdk:description>Android SDK Platform 4.1</sdk:description>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>112528368</sdk:size>
-                <sdk:checksum type="sha1">d1cddb23f17aad5821a089c403d4cddad2cf9ef7</sdk:checksum>
-                <sdk:url>sysimg_armv7a-16_r03.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Wed Feb 13 11:29:12 2013 from git_jb-mr1.1-dev @ 576024 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>116553808</sdk:size>
-                <sdk:checksum type="sha1">1c321cda1af793b84d47d1a8d15f85444d265e3c</sdk:checksum>
-                <sdk:url>sysimg_armv7a-17_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Mon Aug 12 12:43:28 2013 from git_jb-mr2-dev @ 774058 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:description>Android SDK Platform 4.3</sdk:description>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>125457135</sdk:size>
-                <sdk:checksum type="sha1">4a1a93200210d8c42793324362868846f67401ab</sdk:checksum>
-                <sdk:url>sysimg_armv7a-18_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <!-- Generated at Mon Oct 28 23:36:43 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android SDK Platform 4.4</sdk:description>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:abi>armeabi-v7a</sdk:abi>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>155838103</sdk:size>
-                <sdk:checksum type="sha1">12dd1187dfd953b1ffcef5067d94578590f9e600</sdk:checksum>
-                <sdk:url>sysimg_armv7a-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:system-image>
-
-
-    <!-- SAMPLES ........................ -->
-
-    <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>7</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 7, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>7677831</sdk:size>
-                <sdk:checksum type="sha1">51e4907f60f248ede5c58b54ce7b6ae0b473e0ca</sdk:checksum>
-                <sdk:url>samples-2.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue May 11 19:15:20 PDT 2010 using froyo 36658: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>8</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 8, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>7969716</sdk:size>
-                <sdk:checksum type="sha1">d16d8bf2dd84cedf73b98b948d66461c8f19d6fb</sdk:checksum>
-                <sdk:url>samples-2.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue Nov 30 19:39:34 PST 2010 using gingerbread 79962: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>9</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 9, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:obsolete/>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>8516326</sdk:size>
-                <sdk:checksum type="sha1">36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa</sdk:checksum>
-                <sdk:url>samples-2.3_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Tue Feb  8 17:37:15 PST 2011 using gingerbread 102121: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>10</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 10, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>8539583</sdk:size>
-                <sdk:checksum type="sha1">93b0c3f3bdf5b07f1f115100b4954f0665297a0d</sdk:checksum>
-                <sdk:url>samples-2.3.3_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Thu Feb 17 08:45:49 PST 2011 using honeycomb 104254: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>11</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 11, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>11976920</sdk:size>
-                <sdk:checksum type="sha1">3749ace584631270268d65bb1d0ad61b0d691682</sdk:checksum>
-                <sdk:url>samples-3.0_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Wed May  4 19:49:56 PDT 2011 using honeycomb-mr1 123685: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>12</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 12, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>12150514</sdk:size>
-                <sdk:checksum type="sha1">df0ace37cbca73373fe94080f94c71557cac73a7</sdk:checksum>
-                <sdk:url>samples-3.1_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- Generated on Fri Jul 15 11:52:24 PDT 2011 using honeycomb-mr2 142871: Samples. -->
-
-    <sdk:sample>
-        <sdk:api-level>13</sdk:api-level>
-        <sdk:codename/>
-        <sdk:revision>01</sdk:revision>
-        <sdk:description>Android SDK Samples for Android API 13, revision 1</sdk:description>
-        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>12193502</sdk:size>
-                <sdk:checksum type="sha1">078bcf1abc1cb8921f3fa482c252963a782bed60</sdk:checksum>
-                <sdk:url>samples-3.2_r01-linux.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Wed Dec  7 13:48:27 2011 from git_ics-mr0 @ 234950 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16253619</sdk:size>
-                <sdk:checksum type="sha1">1312c22ab0b650e26835cc3945d4ff8cea183416</sdk:checksum>
-                <sdk:url>samples-14_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Fri Mar 16 11:27:52 2012 from ics-mr1 @ 291902 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16366656</sdk:size>
-                <sdk:checksum type="sha1">042f368c5b09eca4d278264e6dbf9c12c5f73d1f</sdk:checksum>
-                <sdk:url>samples-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Sun Jun 24 14:02:06 2012 from git_jb-release @ 391408 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>14729945</sdk:size>
-                <sdk:checksum type="sha1">dce3a2d41db50a381ef47ee8bddbe928520e685e</sdk:checksum>
-                <sdk:url>samples-16_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Mon Nov 12 17:18:09 2012 from git_jb-mr1-dev @ 526865 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>14840030</sdk:size>
-                <sdk:checksum type="sha1">12d58cb26503610fc05bd7618c434cc6f983bc41</sdk:checksum>
-                <sdk:url>samples-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Tue Jul 23 17:17:22 2013 from git_jb-mr2-ub-dev @ 751786 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>19897793</sdk:size>
-                <sdk:checksum type="sha1">73e879ce46c04a6e63ad1a9107018b4782945007</sdk:checksum>
-                <sdk:url>samples-18_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <sdk:sample>
-        <!-- Generated at Wed Oct 30 20:26:32 2013 from git_klp-dev @ 896074 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>20697510</sdk:size>
-                <sdk:checksum type="sha1">c2007694b5e5ad6737f647db8160155d5258cb7f</sdk:checksum>
-                <sdk:url>samples-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:sample>
-
-    <!-- PLATFORM-TOOLS ........................ -->
-
-    <sdk:platform-tool>
-        <!-- Generated at Mon Oct 28 23:35:14 2013 from git_klp-release @ 886418 -->
-        <sdk:revision>
-            <sdk:major>19</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>1116358</sdk:size>
-                <sdk:checksum type="sha1">755dcb5b5b72bbca90dd055eec4c8d0b1fce7cfd</sdk:checksum>
-                <sdk:url>platform-tools_r19-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>1172749</sdk:size>
-                <sdk:checksum type="sha1">66ee37daf8a2a8f1aa8939ccd4093658e30aa49b</sdk:checksum>
-                <sdk:url>platform-tools_r19-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>1120849</sdk:size>
-                <sdk:checksum type="sha1">69af30f488163dfc3da8cef1bb6cc7e8a6df5681</sdk:checksum>
-                <sdk:url>platform-tools_r19-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:platform-tool>
-
-    <!-- BUILD-TOOLS ........................ -->
-
-    <sdk:build-tool>
-        <!-- Generated at Tue May 14 16:40:25 2013 from git_jb-mr1.1-dev @ 673949 -->
-        <sdk:revision>
-            <sdk:major>17</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>11004914</sdk:size>
-                <sdk:checksum type="sha1">899897d327b0bad492d3a40d3db4d96119c15bc0</sdk:checksum>
-                <sdk:url>build-tools_r17-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>11696007</sdk:size>
-                <sdk:checksum type="sha1">2c2872bc3806aabf16a12e3959c2183ddc866e6d</sdk:checksum>
-                <sdk:url>build-tools_r17-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>12208114</sdk:size>
-                <sdk:checksum type="sha1">602ee709be9dbb8f179b1e4075148a57f9419930</sdk:checksum>
-                <sdk:url>build-tools_r17-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <!-- Build tools version 18.0.0 was broken for renderscript, so it has been removed -->
-
-    <sdk:build-tool>
-        <!-- Generated at Mon Jul 29 15:14:00 2013 from git_jb-mr2-dev @ 754669 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>1</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>15413527</sdk:size>
-                <sdk:checksum type="sha1">a6c2afd0b6289d589351956d2f5212b37014ca7d</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>16627330</sdk:size>
-                <sdk:checksum type="sha1">f11618492b0d2270c332325d45d752d3656a9640</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>16633121</sdk:size>
-                <sdk:checksum type="sha1">d84f5692fb44d60fc53e5b2507cebf9f24626902</sdk:checksum>
-                <sdk:url>build-tools_r18.0.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Wed Sep 11 17:41:47 2013 from git_jb-mr2-dev @ 819563 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>1</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>19659547</sdk:size>
-                <sdk:checksum type="sha1">3a9810fc8559ab03c09378f07531e8cae2f1db30</sdk:checksum>
-                <sdk:url>build-tools_r18.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>20229298</sdk:size>
-                <sdk:checksum type="sha1">f314a0599e51397f0886fe888b50dd98f2f050d8</sdk:checksum>
-                <sdk:url>build-tools_r18.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>20451524</sdk:size>
-                <sdk:checksum type="sha1">16ddb299b8b43063e5bb3387ec17147c5053dfd8</sdk:checksum>
-                <sdk:url>build-tools_r18.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Thu Oct 10 14:18:15 2013 from git_jb-mr2-dev @ 867478 -->
-        <sdk:revision>
-            <sdk:major>18</sdk:major>
-            <sdk:minor>1</sdk:minor>
-            <sdk:micro>1</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>19660000</sdk:size>
-                <sdk:checksum type="sha1">c4605066e2f851387ea70bc1442b1968bd7b4a15</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>20229760</sdk:size>
-                <sdk:checksum type="sha1">68c9acbfc0cec2d51b19efaed39831a17055d998</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>20452157</sdk:size>
-                <sdk:checksum type="sha1">a9d9d37f6ddf859e57abc78802a77aaa166e48d4</sdk:checksum>
-                <sdk:url>build-tools_r18.1.1-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <sdk:build-tool>
-        <!-- Generated at Mon Oct 28 23:12:03 2013 from git_klp-release @ 886418 -->
-        <sdk:revision>
-            <sdk:major>19</sdk:major>
-            <sdk:minor>0</sdk:minor>
-            <sdk:micro>0</sdk:micro>
-        </sdk:revision>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>20611447</sdk:size>
-                <sdk:checksum type="sha1">6edf505c20f5ece9c48fa0aff9a90488f9654d52</sdk:checksum>
-                <sdk:url>build-tools_r19-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>21339943</sdk:size>
-                <sdk:checksum type="sha1">55c1a6cf632e7d346f0002b275ec41fd3137fd83</sdk:checksum>
-                <sdk:url>build-tools_r19-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>21441270</sdk:size>
-                <sdk:checksum type="sha1">86ec1c12db1bc446b7bcaefc5cc14eb361044e90</sdk:checksum>
-                <sdk:url>build-tools_r19-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:build-tool>
-
-    <!-- TOOLS ........................ -->
-
-    <sdk:tool>
-        <!-- Generated at Mon Oct 28 23:45:30 2013 from git_mirror-aosp-tools_r22.2 @ 887826 -->
-        <sdk:revision>
-            <sdk:major>22</sdk:major>
-            <sdk:minor>3</sdk:minor>
-        </sdk:revision>
-        <sdk:min-platform-tools-rev>
-            <sdk:major>18</sdk:major>
-        </sdk:min-platform-tools-rev>
-        <sdk:archives>
-            <sdk:archive arch="any" os="windows">
-                <sdk:size>108726734</sdk:size>
-                <sdk:checksum type="sha1">1cdc825c9a84ccf69b4a6386076a881d962dd7a9</sdk:checksum>
-                <sdk:url>tools_r22.3-windows.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="linux">
-                <sdk:size>101224750</sdk:size>
-                <sdk:checksum type="sha1">f76251916a23cb3d85e579f01cc6711a334f9064</sdk:checksum>
-                <sdk:url>tools_r22.3-linux.zip</sdk:url>
-            </sdk:archive>
-            <sdk:archive arch="any" os="macosx">
-                <sdk:size>74859563</sdk:size>
-                <sdk:checksum type="sha1">697d7f6fa44f02e6894d0eeb948ea97e3cdc8c3c</sdk:checksum>
-                <sdk:url>tools_r22.3-macosx.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:tool>
-
-    <!-- DOCS ........................ -->
-
-    <sdk:doc>
-        <!-- Generated at Wed Oct 30 22:52:09 2013 from git_klp-dev @ 896129 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>181765706</sdk:size>
-                <sdk:checksum type="sha1">6c92bb045f75a2eabfbdc3e26ff64ce0a7a2b3fc</sdk:checksum>
-                <sdk:url>docs-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:doc>
-
-    <!-- SOURCES ........................ -->
-
-    <sdk:source>
-        <!-- Generated at Wed Dec  7 13:48:11 2011 from git_ics-mr0 @ 234950 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>14</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16152383</sdk:size>
-                <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum>
-                <sdk:url>sources-14_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Fri Mar 30 10:43:44 2012 from ics-mr1 @ 302030 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>16468746</sdk:size>
-                <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum>
-                <sdk:url>sources-15_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Thu Jul 19 18:39:42 2012 from git_jb-release @ 403059 -->
-        <sdk:revision>2</sdk:revision>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>17876720</sdk:size>
-                <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum>
-                <sdk:url>sources-16_r02.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Mon Nov 12 17:16:08 2012 from git_jb-mr1-dev @ 526865 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>18976816</sdk:size>
-                <sdk:checksum type="sha1">6f1f18cd2d2b1852d7f6892df9cee3823349d43a</sdk:checksum>
-                <sdk:url>sources-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Tue Jul 23 17:18:30 2013 from git_jb-mr2-release @ 737497 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>18</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>20226735</sdk:size>
-                <sdk:checksum type="sha1">8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78</sdk:checksum>
-                <sdk:url>sources-18_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-
-    <sdk:source>
-        <!-- Generated at Mon Oct 28 23:37:07 2013 from git_klp-release @ 892118 -->
-        <sdk:revision>1</sdk:revision>
-        <sdk:api-level>19</sdk:api-level>
-        <sdk:archives>
-            <sdk:archive arch="any" os="any">
-                <sdk:size>21656670</sdk:size>
-                <sdk:checksum type="sha1">91d9f5f4117723eecc4434b7de0e7f6295ea0508</sdk:checksum>
-                <sdk:url>sources-19_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-        <sdk:uses-license ref="android-sdk-license"/>
-    </sdk:source>
-</sdk:sdk-repository>
diff --git a/pkgs/development/mobile/androidenv/support-repository.nix b/pkgs/development/mobile/androidenv/support-repository.nix
new file mode 100644
index 00000000000..6905cb24993
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/support-repository.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+  name = "android-support-repository-r9";
+  src = fetchurl {
+    url = http://dl-ssl.google.com/android/repository/android_m2repository_r09.zip;
+    sha256 = "e5295cdbc086251a2904c081038a7f10056359481c66ecff40e59177fd1c753c";
+  };
+
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    unzip $src
+  '';
+
+  buildInputs = [ unzip ];
+}
diff --git a/pkgs/development/mobile/androidenv/support.nix b/pkgs/development/mobile/androidenv/support.nix
index ca1988527e2..d9d24f9bf9f 100644
--- a/pkgs/development/mobile/androidenv/support.nix
+++ b/pkgs/development/mobile/androidenv/support.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "android-support-r18";
+  name = "android-support-r21";
   src = fetchurl {
-    url = https://dl-ssl.google.com/android/repository/support_r18.zip;
-    sha1 = "bd67b4b8a6bac629f24c8aea75c3619a26d9a568";
+    url = https://dl-ssl.google.com/android/repository/support_r21.zip;
+    sha1 = "f9ef8def5c64f17cd8bc41c5efddd37cb155f0be";
   };
   
   buildCommand = ''
@@ -14,4 +14,4 @@ stdenv.mkDerivation {
   '';
   
   buildInputs = [ unzip ];
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/mobile/androidenv/sys-img-mips.xml b/pkgs/development/mobile/androidenv/sys-img-mips.xml
deleted file mode 100644
index c839d283f4e..00000000000
--- a/pkgs/development/mobile/androidenv/sys-img-mips.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-    <sdk:license id="mips-android-sysimage-license" type="text">
-    <![CDATA[
-MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK):
-This Internal Evaluation License Agreement (this "Agreement") is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below.
- 
-By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials.
- 
-1. DEFINITIONS. These terms shall have the following meanings:
- 
-1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085
- 
-1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient.
- 
-1.3 “Evaluation Materials" means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient.
- 
-1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
- 
-1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers.
- 
-2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials.
- 
-THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE.
- 
-3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
- 
-4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form.
-
-
-EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN.
- 
-5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
- 
-6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source.
- 
-7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND.
- 
-8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS.
- 
-9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient.
- 
-10. GENERAL.
- 
-10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
- 
-10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach.
- 
-10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
- 
-10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS.
- 
-10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions.
- 
-10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
- 
-10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
- 
-ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND.
- 
-10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
-    ]]>
-    </sdk:license>
-
-    <sdk:system-image>
-        <sdk:revision>1</sdk:revision>
-        <sdk:description>Android 4.0.4</sdk:description>
-        <sdk:api-level>15</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>117503178</sdk:size>
-                <sdk:checksum type="sha1">a753bb4a6783124dad726c500ce9aec9d2c1b2d9</sdk:checksum>
-                <sdk:url>sysimg_mips-15_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <sdk:revision>4</sdk:revision>
-        <!-- mipsia repo tag qa-dev-mips-jb-20130123,
-             github.com/MIPS branch dev-mips-jb, tag mips-jb-4.1.2_r1m1
-             repo init -u git://github.com/MIPS/manifests.git
-                 -b dev-mips-jb -m mips-jb-4.1.2_r1m1.xml           -->
-        <sdk:description>Android 4.1.2</sdk:description>
-        <sdk:api-level>16</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>122482530</sdk:size>
-                <sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum>
-                <sdk:url>sysimg_mips-16_r04.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-    <sdk:system-image>
-        <sdk:revision>1</sdk:revision>
-        <!-- mipsia repo tag qa-dev-mips-jb-mr1-20121219,
-             github.com/MIPS tag mips-jb-4.2.1_r1 -->
-        <sdk:description>Android 4.2.1</sdk:description>
-        <sdk:api-level>17</sdk:api-level>
-        <sdk:abi>mips</sdk:abi>
-        <sdk:uses-license ref="mips-android-sysimage-license"/>
-        <sdk:archives>
-            <sdk:archive os="any">
-                <sdk:size>131781761</sdk:size>
-                <sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum>
-                <sdk:url>sysimg_mips-17_r01.zip</sdk:url>
-            </sdk:archive>
-        </sdk:archives>
-    </sdk:system-image>
-
-</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sys-img-x86.xml b/pkgs/development/mobile/androidenv/sys-img-x86.xml
deleted file mode 100644
index 75ddf73eb1d..00000000000
--- a/pkgs/development/mobile/androidenv/sys-img-x86.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<!--
-* Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
--->
-<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
-<sdk:license id="intel-android-sysimage-license" type="text">
-<![CDATA[
-Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK)
-This Internal Evaluation License Agreement (this "Agreement") is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions.
-
-Definitions.
-These terms shall have the following meanings:
-
-"Intel" or "INTEL"
-Intel Corporation
-With an Address of:
-2200 Mission College Blvd.
-Santa Clara, CA 95052
-Office of the General Counsel
-Mail Stop: RNB-4-51
-Attn: Software and Services Group Legal
-
-"Evaluation Software"
-The x86 Android* emulator system images for Android  Software Development Kit (SDK), as provided by Intel.
-
-INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS
-
-1. DEFINITIONS.
-
-1.1 Additional Defined Terms. "Agreement", "Evaluation Software",  "Intel", "Non-disclosure Agreement", "Recipient", and "Effective Date" shall have the meanings ascribed to them on the signature page(s) of this Agreement.
-
-1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software.
-
-1.3 "Open Source Software" means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
-
-1.4 "Pre-Release Materials" means "alpha" or "beta" designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers.
-
-2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials.
-THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE.
-
-3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
-
-4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a "Release") the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form.
-EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT.
-
-5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
-
-6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source.
-
-7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND.
-
-8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS.
-
-9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient.
-
-10. GENERAL.
-
-10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
-
-10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach.
-
-10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
-
-10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all "click-to-accept" or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect.
-
-10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions.
-
-10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
-
-10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
-
-10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
-ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS
-]]>
-</sdk:license>
-
-<!-- SYSTEM IMAGES ........................ -->
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 2.3.7</sdk:description>
-    <sdk:revision>2</sdk:revision>
-    <sdk:api-level>10</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>55463895</sdk:size>
-        <sdk:checksum type="sha1">34e2436f69606cdfe35d3ef9112f0c64e3ff021d</sdk:checksum>
-        <sdk:url>sysimg_x86-10_r02.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.0.4</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>15</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>112619605</sdk:size>
-        <sdk:checksum type="sha1">d540325952e0f097509622b9e685737584b83e40</sdk:checksum>
-        <sdk:url>sysimg_x86-15_r01.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.1.1</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>16</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-      <sdk:archive arch="any" os="any">
-        <sdk:size>131840348</sdk:size>
-        <sdk:checksum type="sha1">9d35bcaa4f9b40443941f32b8a50337f413c021a</sdk:checksum>
-        <sdk:url>sysimg_x86-16_r01.zip</sdk:url>
-      </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.2</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>17</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-        <sdk:archive arch="any" os="any">
-            <sdk:size>138799122</sdk:size>
-            <sdk:checksum type="sha1">ddb3313e8dcd07926003f7b828eafea1115ea35b</sdk:checksum>
-            <sdk:url>sysimg_x86-17_r01.zip</sdk:url>
-        </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-<sdk:system-image>
-    <sdk:description>Android SDK Platform 4.3</sdk:description>
-    <sdk:revision>1</sdk:revision>
-    <sdk:api-level>18</sdk:api-level>
-    <sdk:abi>x86</sdk:abi>
-    <sdk:uses-license ref="intel-android-sysimage-license"/>
-    <sdk:archives>
-        <sdk:archive arch="any" os="any">
-            <sdk:size>155656419</sdk:size>
-            <sdk:checksum type="sha1">f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1</sdk:checksum>
-            <sdk:url>sysimg_x86-18_r01.zip</sdk:url>
-        </sdk:archive>
-    </sdk:archives>
-</sdk:system-image>
-
-</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sys-img.xml b/pkgs/development/mobile/androidenv/sys-img.xml
new file mode 100644
index 00000000000..5d2b0f7a883
--- /dev/null
+++ b/pkgs/development/mobile/androidenv/sys-img.xml
@@ -0,0 +1,712 @@
+<!--
+* Copyright (C) 2012 The Android Open Source Project
+*
+* Licensed under the Apache License, version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+<sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+
+    <sdk:license id="android-sdk-license" type="text">To get started with the Android SDK, you must agree to the following terms and conditions.
+
+This is the Android SDK License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK (referred to in the License Agreement as the &quot;SDK&quot; and specifically including the Android system files, packaged APIs, and SDK library files and tools , if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the SDK, you must first agree to the License Agreement. You may not use the SDK if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the SDK, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you will use the SDK internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the SDK, personally or internally within your company or organization, solely to develop and distribute applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.
+
+3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 The License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action when Google ceases to provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the SDK, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE SDK MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 The License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="android-sdk-preview-license" type="text">To get started with the Android SDK Preview, you must agree to the following terms and conditions.
+As described below, please note that this is a preview version of the Android SDK, subject to change, that you use at your own risk.  The Android SDK Preview is not a stable release, and may contain errors and defects that can result in serious damage to your computer systems, devices and data.
+
+This is the Android SDK Preview License Agreement (the &quot;License Agreement&quot;).
+
+1. Introduction
+
+1.1 The Android SDK Preview (referred to in the License Agreement as the “Preview” and specifically including the Android system files, packaged APIs, and Preview library files, if and when they are made available) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the Preview.
+
+1.2 &quot;Android&quot; means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.
+
+1.3 &quot;Google&quot; means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting the License Agreement
+
+2.1 In order to use the Preview, you must first agree to the License Agreement. You may not use the Preview if you do not accept the License Agreement.
+
+2.2 By clicking to accept and/or using the Preview, you hereby agree to the terms of the License Agreement.
+
+2.3 You may not use the Preview and may not accept the License Agreement if you are a person barred from receiving the Preview under the laws of the United States or other countries including the country in which you are resident or from which you use the Preview.
+
+2.4 If you will use the Preview internally within your company or organization you agree to be bound by the License Agreement on behalf of your employer or other entity, and you represent and warrant that you have full legal authority to bind your employer or such entity to the License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the Preview on behalf of your employer or other entity.
+
+3. Preview License from Google
+
+3.1 Subject to the terms of the License Agreement, Google grants you a royalty-free, non-assignable, non-exclusive, non-sublicensable, limited, revocable license to use the Preview, personally or internally within your company or organization, solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties owns all legal right, title and interest in and to the Preview, including any Intellectual Property Rights that subsist in the Preview. &quot;Intellectual Property Rights&quot; means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 You may not use the Preview for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Preview or any part of the Preview; or (b) load any part of the Preview onto a mobile handset or any other hardware device except a personal computer, combine any part of the Preview with other software, or distribute any software or device incorporating a part of the Preview.
+
+3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the Preview.
+
+3.5 Use, reproduction and distribution of components of the Preview licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement. You agree to remain a licensee in good standing in regard to such open source software licenses under all the rights granted and to refrain from any actions that may terminate, suspend, or breach such rights.
+
+3.6 You agree that the form and nature of the Preview that Google provides may change without prior notice to you and that future versions of the Preview may be incompatible with applications developed on previous versions of the Preview. You agree that Google may stop (permanently or temporarily) providing the Preview (or any features within the Preview) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.7 Nothing in the License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Preview.
+
+4. Use of the Preview by You
+
+4.1 Google agrees that nothing in the License Agreement gives Google any right, title or interest from you (or your licensors) under the License Agreement in or to any software applications that you develop using the Preview, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Preview and write applications only for purposes that are permitted by (a) the License Agreement, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Preview to develop applications, you will protect the privacy and legal rights of users. If users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If users provide you with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, each user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Preview, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of Google or any third party.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under the License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+4.7 The Preview is in development, and your testing and feedback are an important part of the development process. By using the Preview, you acknowledge that implementation of some features are still under development and that you should not rely on the Preview having the full functionality of a stable release. You agree not to publicly distribute or ship any application using this Preview as this Preview will no longer be supported after the official Android SDK is released.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Preview, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Preview are being used and how they are being used. Before any of this information is collected, the Preview will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Preview and is maintained in accordance with Google's Privacy Policy located at http://www.google.com/policies/privacy/.
+
+7. Third Party Applications
+
+7.1 If you use the Preview to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party.
+
+8. Using Google APIs
+
+8.1 Google APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating the License Agreement
+
+9.1 the License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate the License Agreement, you may do so by ceasing your use of the Preview and any relevant developer credentials.
+
+9.3 Google may at any time, terminate the License Agreement, with or without cause, upon notice to you.
+
+9.4 The License Agreement will automatically terminate without notice or other action upon the earlier of:
+(A) when Google ceases to provide the Preview or certain parts of the Preview to users in the country in which you are resident or from which you use the service; and
+(B) Google issues a final release version of the Android SDK.
+
+9.5 When the License Agreement is terminated, the license granted to you in the License Agreement will terminate, you will immediately cease all use of the Preview, and the provisions of paragraphs 10, 11, 12 and 14 shall survive indefinitely.
+
+10. DISCLAIMERS
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE PREVIEW IS AT YOUR SOLE RISK AND THAT THE PREVIEW IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot; WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE PREVIEW AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE PREVIEW IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. WITHOUT LIMITING THE FOREGOING, YOU UNDERSTAND THAT THE PREVIEW IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys’ fees) arising out of or accruing from (a) your use of the Preview, (b) any application you develop on the Preview that infringes any Intellectual Property Rights of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you of the License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Preview. When these changes are made, Google will make a new version of the License Agreement available on the website where the Preview is made available.
+
+14. General Legal Terms
+
+14.1 the License Agreement constitutes the whole legal agreement between you and Google and governs your use of the Preview (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the Preview.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in the License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of the License Agreement is invalid, then that provision will be removed from the License Agreement without affecting the rest of the License Agreement. The remaining provisions of the License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to the License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to the License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE PREVIEW IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE PREVIEW. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The License Agreement may not be assigned or transferred by you without the prior written approval of Google, and any attempted assignment without such approval will be void. You shall not delegate your responsibilities or obligations under the License Agreement without the prior written approval of Google.
+
+14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+June 2014.
+    </sdk:license>
+
+    <sdk:license id="intel-android-sysimage-license" type="text">
+<![CDATA[
+Intel Corporation Internal Evaluation License Agreement for x86 Android* System Images for Android Software Development Kit (SDK)
+This Internal Evaluation License Agreement (this "Agreement") is entered into by and between Intel and you (as an individual developer or a legal entity -- identified below as Recipient). Intel shall provide the Evaluation Software to Recipient as described in accordance with the Internal Evaluation License Terms and Conditions.
+
+Definitions.
+These terms shall have the following meanings:
+
+"Intel" or "INTEL"
+Intel Corporation
+With an Address of:
+2200 Mission College Blvd.
+Santa Clara, CA 95052
+Office of the General Counsel
+Mail Stop: RNB-4-51
+Attn: Software and Services Group Legal
+
+"Evaluation Software"
+The x86 Android* emulator system images for Android  Software Development Kit (SDK), as provided by Intel.
+
+INTERNAL EVALUATION LICENSE TERMS AND CONDITIONS
+
+1. DEFINITIONS.
+
+1.1 Additional Defined Terms. "Agreement", "Evaluation Software",  "Intel", "Non-disclosure Agreement", "Recipient", and "Effective Date" shall have the meanings ascribed to them on the signature page(s) of this Agreement.
+
+1.2 Evaluation Materials means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications and other related materials) related to the Evaluation Software.
+
+1.3 "Open Source Software" means any software that requires as a condition of use, modification and/or distribution of such software that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
+
+1.4 "Pre-Release Materials" means "alpha" or "beta" designated pre-release features, which may not be fully functional, which Intel may substantially modify in producing any production version of the Evaluation Materials and/or is still under development by Intel and/or Intel’s suppliers.
+
+2. PURPOSE. Intel desires to provide the Evaluation Materials to Recipient solely for Recipient's internal evaluation of the Evaluation Software and other Intel products, to evaluate the desirability of cooperating with Intel in developing products based on the Evaluation Software and/or to advise Intel as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute or make commercial use of the Evaluation Materials or any modifications to the Evaluation Materials.
+THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT AN INTEL SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERICAL VERSION OF THE EVALUATION SOFTWARE.
+
+3. TITLE. Title to the Evaluation Materials remains with Intel or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
+
+4. LICENSE. Intel grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above. Unless otherwise communicated in writing by Intel to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a "Release") the license grant in this Section 4 and the Evaluation Period shall apply to each Release. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software not provided to Recipient in source code form.
+EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT.
+
+5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from Intel. Intel and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
+
+6. MODIFICATIONS. This Agreement does NOT obligate Recipient to provide Intel with comments or suggestions regarding Evaluation Materials. However, should Recipient provide Intel with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) Intel products or processes which may embody the Evaluation Materials, Recipient grants to Intel a non-exclusive, irrevocable, worldwide, royalty-free license, with the right to sublicense Intel’s licensees and customers, under Recipient intellectual property rights, the rights to use and disclose such comments and suggestions in any manner Intel chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of Intel’s and its sublicensee’s products embodying such comments and suggestions in any manner and via any media Intel chooses, without reference to the source.
+
+7. WARRANTY DISCLAIMER. INTEL AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT. THE EVALUATION MATERIALS ARE PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND.
+
+8. LIMITATION OF LIABILITY. INTEL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR ANY SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE. INTEL AND ITS SUPPLIERS DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS RELATING TO THE EVALUATION MATERIALS.
+
+9. EXPIRATION. Intel may terminate this Agreement immediately after a breach by Recipient.
+
+10. GENERAL.
+
+10.1 Controlling Law. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. Each party hereby agrees to jurisdiction and venue in the courts of the State of Delaware for all disputes and litigation arising under or relating to this Agreement. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
+
+10.2 Remedies. Recipient acknowledges that any disclosure, commercialization, or public use of the Evaluation Materials would cause irreparable injury to Intel and consents to the grant of an injunction by any court of competent jurisdiction in the event of a threatened breach.
+
+10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without Intel’s express prior written consent, shall be null and void. Intel may assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
+
+10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and Intel and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and Intel with respect to the subject matter hereof. This Agreement supersedes any and all "click-to-accept" or shrink-wrapped licenses, in hard-copy or electronic form, embedded in or included with the Evaluation Materials. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed by duly authorized representatives of Recipient and Intel. Without limiting the foregoing, terms and conditions on any purchase orders or similar materials submitted by Recipient to Intel, and any terms contained in Intel’s standard acknowledgment form that are in conflict with these terms, shall be of no force or effect.
+
+10.5 Severability. In the event that any provision of this Agreement shall be unenforceable or invalid under any applicable law or be so held by applicable court decision, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such provision shall be changed and interpreted so as to best accomplish the objectives of such unenforceable or invalid provision within the limits of applicable law or applicable court decisions.
+
+10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other approval from the U.S. Department of Commerce or any other agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
+
+10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments and (iv) Intel can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . Intel is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
+
+10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header provided with Evaluation Software. Additional detail may be provided (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
+ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED POSSIBLY WITH FAULTS
+]]>
+    </sdk:license>
+    <sdk:license id="mips-android-sysimage-license" type="text">
+<![CDATA[
+MIPS Technologies, Inc. (“MIPS”) Internal Evaluation License Agreement for MIPS Android™ System Images for Android Software Development Kit (SDK):
+This Internal Evaluation License Agreement (this "Agreement") is entered into by and between MIPS and you (as an individual developer or a legal entity -- identified below as “Recipient”). MIPS shall make the Evaluation Software available to Recipient as described in accordance with the terms and conditions set forth below.
+
+By clicking on the “Accept” button, downloading, installing, or otherwise using the Evaluation Materials (defined below), you agree to be bound by the terms of this Agreement effective as of the date you click “Accept” (the “Effective Date”), and if doing so on behalf of an entity, you represent that you are authorized to bind the entity to the terms and conditions of this Agreement. If you do not agree to be bound by the terms and conditions of this Agreement, do not download, install, or use the Evaluation Materials.
+
+1. DEFINITIONS. These terms shall have the following meanings:
+
+1.1 “MIPS” shall mean MIPS Technologies, Inc., a Delaware corporation having a principal place of business at: 955 East Arques Ave., Sunnyvale, CA 94085
+
+1.2 “Evaluation Software” shall mean MIPS Android™ emulator system images for Android Software Development Kit (SDK), as made available to Recipient.
+
+1.3 “Evaluation Materials" means, collectively, the Evaluation Software (in source and/or object code form) and documentation (including, without limitation, any design documents, specifications, reference manuals, and other related materials) related to the Evaluation Software as made available to Recipient.
+
+1.4 “Open Source Software” means any software that requires (as a condition of use, modification and/or distribution of such software) that such software or other software incorporated into, derived from or distributed with such software (a) be disclosed or distributed in source code form; or (b) be licensed by the user to third parties for the purpose of making and/or distributing derivative works; or (c) be redistributable at no charge. Open Source Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models substantially similar to any of the following: (a) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (b) the Artistic License (e.g., PERL), (c) the Mozilla Public License, (d) the Netscape Public License, (e) the Sun Community Source License (SCSL), (f) the Sun Industry Source License (SISL), (g) the Apache Software license and (h) the Common Public License (CPL).
+
+1.5 “Pre-Release Materials” means “alpha” or “beta” designated pre-release features, which may not be fully functional, which MIPS may substantially modify in producing any production version of the Evaluation Materials, and/or which is still under development by MIPS and/or MIPS’ suppliers.
+
+2. PURPOSE. MIPS desires to make the Evaluation Materials available to Recipient solely for Recipient's internal evaluation of the Evaluation Software to evaluate the desirability of cooperating with MIPS in developing products that are compatible with the Evaluation Software and/or to advise MIPS as to possible modifications to the Evaluation Software. Recipient may not disclose, distribute, modify (except to facilitate the above-mentioned internal evaluation), or make commercial use of the Evaluation Materials or any modifications of the Evaluation Materials.
+
+THE EVALUATION MATERIALS ARE PROVIDED FOR EVALUATION PURPOSES ONLY AND MAY NOT BE MODIFIED (EXCEPT TO FACILITATE THE INTERNAL EVALUATION) OR DISTRIBUTED BY RECIPIENT OR INCORPORATED INTO RECIPIENT’S PRODUCTS OR SOFTWARE. PLEASE CONTACT A MIPS SALES REPRESENTATIVE TO LEARN ABOUT THE AVAILABILITY AND COST OF A COMMERCIAL VERSION OF THE EVALUATION SOFTWARE.
+
+3. TITLE. Title to the Evaluation Materials remains with MIPS or its suppliers. Recipient shall not mortgage, pledge or encumber the Evaluation Materials in any way. Recipient shall return all Evaluation Materials, keeping no copies, upon termination or expiration of this Agreement.
+
+4. LICENSE. MIPS grants Recipient a royalty-free, personal, nontransferable, nonexclusive license under its copyrights to use the Evaluation Software only for the purposes described in paragraph 2 above and only for a period beginning on the Effective Date and extending to the first anniversary of the Effective Date (the “Evaluation Period”). Unless otherwise communicated in writing by MIPS to Recipient, to the extent the Evaluation Software is provided in more than one delivery or release (each, a “Release”) the license grant in this Section 4 and the Evaluation Period shall apply to each Release, in which case the Evaluation Period shall begin on the date that the Release is made generally available and continue to the first anniversary of such date. Recipient may not make modifications to the Evaluation Software. Recipient shall not disassemble, reverse-engineer, or decompile any software that is not provided to Recipient in source code form.
+
+
+EXCEPT AS PROVIDED HEREIN, NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER MIPS INTELLECTUAL PROPERTY RIGHTS IS GRANTED TO THE RECIPIENT. OTHER THAN AS EXPLICITLY SET FORTH IN PARAGRAPH 2 ABOVE, NO RIGHT TO COPY, TO REPRODUCE, TO MODIFY, OR TO CREATE DERIVATIVE WORKS OF, THE EVALUATION MATERIALS IS GRANTED HEREIN.
+
+5. NO OBLIGATION. Recipient shall have no duty to purchase or license any product from MIPS. MIPS and its suppliers shall have no obligation to provide support for, or develop a non-evaluation version of, the Evaluation Software or to license any version of it.
+
+6. MODIFICATIONS. This Agreement does not obligate Recipient to provide MIPS with comments or suggestions regarding Evaluation Materials. However, should Recipient provide MIPS with comments or suggestions for the modification, correction, improvement or enhancement of (a) the Evaluation Materials or (b) MIPS products or processes which may embody the Evaluation Materials, then Recipient agrees to grant and hereby grants to MIPS a non-exclusive, irrevocable, worldwide, fully paid-up, royalty-free license, with the right to sublicense MIPS’ licensees and customers, under Recipient’s Intellectual property rights, to use and disclose such comments and suggestions in any manner MIPS chooses and to display, perform, copy, make, have made, use, sell, offer to sell, import, and otherwise dispose of MIPS’ and its sublicensee’s products embodying such comments and suggestions in any manner and via any media MIPS chooses, without reference to the source.
+
+7. WARRANTY DISCLAIMER. MIPS AND ITS SUPPLIERS MAKE NO WARRANTIES WITH RESPECT TO EVALUATION MATERIALS, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY IMPLIED WARRANTY OF NONINFRINGEMENT WITH RESPECT TO THIRD PARTY INTELLECTUAL PROPERTY. RECIPIENT ACKNOWLEDGES AND AGREES THAT THE EVALUATION MATERIALS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND.
+
+8. LIMITATION OF LIABILITY. MIPS AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR ANY PROPERTY DAMAGE, PERSONAL INJURY, LOSS OF PROFITS, INTERRUPTION OF BUSINESS OR FOR ANY DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, HOWEVER CAUSED OR ALLEGED, WHETHER FOR BREACH OF WARRANTY, CONTRACT, STRICT LIABILITY OR OTHERWISE, INCLUDING WITHOUT LIMITATION, UNDER TORT OR OTHER LEGAL THEORY. MIPS AND ITS SUPPLIERS DISCLAIM ANY AND ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF ANY KIND RELATING TO THE EVALUATION MATERIALS.
+
+9. EXPIRATION. MIPS may terminate this Agreement immediately after a breach by Recipient or otherwise at MIPS’ reasonable discretion and upon five (5) business days’ notice to Recipient.
+
+10. GENERAL.
+
+10.1 Controlling Law. This Agreement shall be governed by California law excluding its choice of law rules. With the exception of MIPS’ rights to enforce its intellectual property rights and any confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, all disputes and any claims arising under or relating to this Agreement shall be subject to the exclusive jurisdiction and venue of the state and federal courts located in Santa Clara County, California. Each party hereby agrees to jurisdiction and venue in the courts set forth in the preceding sentence. The parties agree that the United Nations Convention on Contracts for the International Sale of Goods is specifically excluded from application to this Agreement. The parties consent to the personal jurisdiction of the above courts.
+
+10.2 Remedies. Recipient acknowledges and agrees that any breach of confidentiality obligations under this Agreement or any licenses distributed with the Evaluation Materials, as well as any disclosure, commercialization, or public use of the Evaluation Materials, would cause irreparable injury to MIPS, and therefore Recipient agrees to consent to, and hereby consents to, the grant of an injunction by any court of competent jurisdiction in the event of an actual or threatened breach.
+
+10.3 Assignment. Recipient may not delegate, assign or transfer this Agreement, the license granted or any of Recipient’s rights, obligations, or duties hereunder, expressly, by implication, by operation of law, by way of merger (regardless of whether Recipient is the surviving entity) or acquisition, or otherwise and any attempt to do so, without MIPS’ express prior written consent, shall be ineffective, null and void. MIPS may freely assign this Agreement, and its rights and obligations hereunder, in its sole discretion.
+
+10.4 Entire Agreement. This Agreement constitutes the entire agreement between Recipient and MIPS and supersedes in their entirety any and all oral or written agreements previously existing between Recipient and MIPS with respect to the subject matter hereof. This Agreement may only be amended or supplemented by a writing that refers explicitly to this Agreement and that is signed or otherwise accepted by duly authorized representatives of Recipient and MIPS.
+
+10.5 Severability. In the event that any provision of this Agreement is finally adjudicated to be unenforceable or invalid under any applicable law, such unenforceability or invalidity shall not render this Agreement unenforceable or invalid as a whole, and, in such event, such unenforceable or invalid provision shall be interpreted so as to best accomplish the objectives of such provision within the limits of applicable law or applicable court decisions.
+
+10.6 Export Regulations / Export Control. Recipient shall not export, either directly or indirectly, any product, service or technical data or system incorporating the Evaluation Materials without first obtaining any required license or other necessary approval from the U.S. Department of Commerce or any other governing agency or department of the United States Government. In the event any product is exported from the United States or re-exported from a foreign destination by Recipient, Recipient shall ensure that the distribution and export/re-export or import of the product is in compliance with all applicable laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations and the appropriate foreign government. Recipient agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, product, or service, directly or indirectly, to any country for which the United States government or any agency thereof or the foreign government from where it is shipping requires an export license, or other governmental approval, without first obtaining such license or approval. Recipient also agrees to implement measures to ensure that foreign national employees are authorized to receive any information controlled by U.S. export control laws. An export is "deemed" to take place when information is released to a foreign national wherever located.
+
+10.7 Special Terms for Pre-Release Materials. If so indicated in the description of the Evaluation Software, the Evaluation Software may contain Pre-Release Materials. Recipient hereby understands, acknowledges and agrees that: (i) Pre-Release Materials may not be fully tested and may contain bugs or errors; (ii) Pre-Release materials are not suitable for commercial release in their current state; (iii) regulatory approvals for Pre-Release Materials (such as UL or FCC) have not been obtained, and Pre-Release Materials may therefore not be certified for use in certain countries or environments or may not be suitable for certain applications and (iv) MIPS can provide no assurance that it will ever produce or make generally available a production version of the Pre-Release Materials . MIPS is not under any obligation to develop and/or release or offer for sale or license a final product based upon the Pre-Release Materials and may unilaterally elect to abandon the Pre-Release Materials or any such development platform at any time and without any obligation or liability whatsoever to Recipient or any other person.
+
+ANY PRE-RELEASE MATERIALS ARE NON-QUALIFIED AND, AS SUCH, ARE PROVIDED “AS IS” AND “AS AVAILABLE”, POSSIBLY WITH FAULTS, AND WITHOUT REPRESENTATION OR WARRANTY OF ANY KIND.
+
+10.8 Open Source Software. In the event Open Source software is included with Evaluation Software, such Open Source software is licensed pursuant to the applicable Open Source software license agreement identified in the Open Source software comments in the applicable source code file(s) and/or file header as indicated in the Evaluation Software. Additional detail may be available (where applicable) in the accompanying on-line documentation. With respect to the Open Source software, nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any applicable Open Source software license agreement.
+    ]]>
+    </sdk:license>
+
+    <!-- ARM SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>99621822</sdk:size>
+                <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
+                <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Fri Mar 30 10:43:23 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>96227377</sdk:size>
+                <sdk:checksum type="sha1">1bf977d6cb4e0ad38dceac0c4863d1caa21f326e</sdk:checksum>
+                <sdk:url>sysimg_armv7a-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Tue Oct  9 13:43:08 2012 from git_jb-dev @ 495790 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>112528368</sdk:size>
+                <sdk:checksum type="sha1">d1cddb23f17aad5821a089c403d4cddad2cf9ef7</sdk:checksum>
+                <sdk:url>sysimg_armv7a-16_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Wed Feb 13 11:29:12 2013 from git_jb-mr1.1-dev @ 576024 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.2.2</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>116553808</sdk:size>
+                <sdk:checksum type="sha1">1c321cda1af793b84d47d1a8d15f85444d265e3c</sdk:checksum>
+                <sdk:url>sysimg_armv7a-17_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Aug 12 12:43:28 2013 from git_jb-mr2-dev @ 774058 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>125457135</sdk:size>
+                <sdk:checksum type="sha1">4a1a93200210d8c42793324362868846f67401ab</sdk:checksum>
+                <sdk:url>sysimg_armv7a-18_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Thu Dec  5 14:04:05 2013 from git_klp-dev @ 938007 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>158478012</sdk:size>
+                <sdk:checksum type="sha1">e0d375397e28e3d5d9577a00132463a4696248e5</sdk:checksum>
+                <sdk:url>sysimg_armv7a-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Jun 23 19:22:34 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:tag-id>default</sdk:tag-id>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>227716008</sdk:size>
+                <sdk:checksum type="sha1">1d5d81a7078b5b2a685620d93e1e04a51d2e786a</sdk:checksum>
+                <sdk:url>sysimg_armv7a-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Mon Jun 23 19:23:13 2014 from git_lmp-preview-release @ 1242878 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform L</sdk:description>
+        <sdk:api-level>20</sdk:api-level>
+        <sdk:codename>L</sdk:codename>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:tag-id>default</sdk:tag-id>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>245850484</sdk:size>
+                <sdk:checksum type="sha1">c2d32d6244821ff59f370469778525f6a5345010</sdk:checksum>
+                <sdk:url>sysimg_x86-L_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-preview-license"/>
+    </sdk:system-image>
+    <!-- X86 SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 2.3.7</sdk:description>
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>55463895</sdk:size>
+                <sdk:checksum type="sha1">34e2436f69606cdfe35d3ef9112f0c64e3ff021d</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.0.4</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>112619605</sdk:size>
+                <sdk:checksum type="sha1">d540325952e0f097509622b9e685737584b83e40</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.1.1</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>131840348</sdk:size>
+                <sdk:checksum type="sha1">9d35bcaa4f9b40443941f32b8a50337f413c021a</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.2</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>138799122</sdk:size>
+                <sdk:checksum type="sha1">ddb3313e8dcd07926003f7b828eafea1115ea35b</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:description>Android SDK Platform 4.3</sdk:description>
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>18</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:uses-license ref="intel-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>155656419</sdk:size>
+                <sdk:checksum type="sha1">f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Thu Feb 20 15:52:49 2014 from git_klp-sdk-release @ 999428 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.4.2</sdk:description>
+        <sdk:api-level>19</sdk:api-level>
+        <sdk:abi>x86</sdk:abi>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>178922720</sdk:size>
+                <sdk:checksum type="sha1">8889cb418984a2a7916a359da7c429d2431ed060</sdk:checksum>
+                <sdk:url>sysimg_x86-19_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <!-- MIPS SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android 4.0.4</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>117503178</sdk:size>
+                <sdk:checksum type="sha1">a753bb4a6783124dad726c500ce9aec9d2c1b2d9</sdk:checksum>
+                <sdk:url>sysimg_mips-15_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:revision>4</sdk:revision>
+        <!-- mipsia repo tag qa-dev-mips-jb-20130123,
+             github.com/MIPS branch dev-mips-jb, tag mips-jb-4.1.2_r1m1
+             repo init -u git://github.com/MIPS/manifests.git
+                 -b dev-mips-jb -m mips-jb-4.1.2_r1m1.xml           -->
+        <sdk:description>Android 4.1.2</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>122482530</sdk:size>
+                <sdk:checksum type="sha1">67943c54fb3943943ffeb05fdd39c0b753681f6e</sdk:checksum>
+                <sdk:url>sysimg_mips-16_r04.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <sdk:revision>1</sdk:revision>
+        <!-- mipsia repo tag qa-dev-mips-jb-mr1-20121219,
+             github.com/MIPS tag mips-jb-4.2.1_r1 -->
+        <sdk:description>Android 4.2.1</sdk:description>
+        <sdk:api-level>17</sdk:api-level>
+        <sdk:abi>mips</sdk:abi>
+        <sdk:uses-license ref="mips-android-sysimage-license"/>
+        <sdk:archives>
+            <sdk:archive>
+                <sdk:size>131781761</sdk:size>
+                <sdk:checksum type="sha1">f0c6e153bd584c29e51b5c9723cfbf30f996a05d</sdk:checksum>
+                <sdk:url>sysimg_mips-17_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:tag-id>default</sdk:tag-id>
+    </sdk:system-image>
+
+</sdk:sdk-sys-img>
diff --git a/pkgs/development/mobile/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix
index bbbf3a4fc68..ddc6dd99d39 100644
--- a/pkgs/development/mobile/androidenv/sysimages.nix
+++ b/pkgs/development/mobile/androidenv/sysimages.nix
@@ -14,113 +14,137 @@ in
 {
 
   sysimg_armeabi-v7a_14 = buildSystemImage {
-    name = "armeabi-v7a-14";
+    name = "sysimg-armeabi-v7a-14";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip;
       sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b";
     };
   };
     
   sysimg_armeabi-v7a_15 = buildSystemImage {
-    name = "armeabi-v7a-15";
+    name = "sysimg-armeabi-v7a-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-15_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-15_r02.zip;
       sha1 = "1bf977d6cb4e0ad38dceac0c4863d1caa21f326e";
     };
   };
     
   sysimg_armeabi-v7a_16 = buildSystemImage {
-    name = "armeabi-v7a-16";
+    name = "sysimg-armeabi-v7a-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-16_r03.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r03.zip;
       sha1 = "d1cddb23f17aad5821a089c403d4cddad2cf9ef7";
     };
   };
     
   sysimg_armeabi-v7a_17 = buildSystemImage {
-    name = "armeabi-v7a-17";
+    name = "sysimg-armeabi-v7a-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-17_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-17_r02.zip;
       sha1 = "1c321cda1af793b84d47d1a8d15f85444d265e3c";
     };
   };
     
   sysimg_armeabi-v7a_18 = buildSystemImage {
-    name = "armeabi-v7a-18";
+    name = "sysimg-armeabi-v7a-18";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-18_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-18_r02.zip;
       sha1 = "4a1a93200210d8c42793324362868846f67401ab";
     };
   };
     
   sysimg_armeabi-v7a_19 = buildSystemImage {
-    name = "armeabi-v7a-19";
+    name = "sysimg-armeabi-v7a-19";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-19_r01.zip;
-      sha1 = "12dd1187dfd953b1ffcef5067d94578590f9e600";
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-19_r02.zip;
+      sha1 = "e0d375397e28e3d5d9577a00132463a4696248e5";
+    };
+  };
+    
+  sysimg_armeabi-v7a_20 = buildSystemImage {
+    name = "sysimg-armeabi-v7a-20";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-L_r01.zip;
+      sha1 = "1d5d81a7078b5b2a685620d93e1e04a51d2e786a";
+    };
+  };
+    
+  sysimg_x86_20 = buildSystemImage {
+    name = "sysimg-x86-20";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-L_r01.zip;
+      sha1 = "c2d32d6244821ff59f370469778525f6a5345010";
     };
   };
     
   sysimg_x86_10 = buildSystemImage {
-    name = "x86-10";
+    name = "sysimg-x86-10";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-10_r02.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip;
       sha1 = "34e2436f69606cdfe35d3ef9112f0c64e3ff021d";
     };
   };
     
   sysimg_x86_15 = buildSystemImage {
-    name = "x86-15";
+    name = "sysimg-x86-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-15_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip;
       sha1 = "d540325952e0f097509622b9e685737584b83e40";
     };
   };
     
   sysimg_x86_16 = buildSystemImage {
-    name = "x86-16";
+    name = "sysimg-x86-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-16_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip;
       sha1 = "9d35bcaa4f9b40443941f32b8a50337f413c021a";
     };
   };
     
   sysimg_x86_17 = buildSystemImage {
-    name = "x86-17";
+    name = "sysimg-x86-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-17_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip;
       sha1 = "ddb3313e8dcd07926003f7b828eafea1115ea35b";
     };
   };
     
   sysimg_x86_18 = buildSystemImage {
-    name = "x86-18";
+    name = "sysimg-x86-18";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-18_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip;
       sha1 = "f11bc9fccd3e7e46c07d8b26e112a8d0b45966c1";
     };
   };
     
+  sysimg_x86_19 = buildSystemImage {
+    name = "sysimg-x86-19";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-19_r02.zip;
+      sha1 = "8889cb418984a2a7916a359da7c429d2431ed060";
+    };
+  };
+    
   sysimg_mips_15 = buildSystemImage {
-    name = "mips-15";
+    name = "sysimg-mips-15";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-15_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-15_r01.zip;
       sha1 = "a753bb4a6783124dad726c500ce9aec9d2c1b2d9";
     };
   };
     
   sysimg_mips_16 = buildSystemImage {
-    name = "mips-16";
+    name = "sysimg-mips-16";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-16_r04.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-16_r04.zip;
       sha1 = "67943c54fb3943943ffeb05fdd39c0b753681f6e";
     };
   };
     
   sysimg_mips_17 = buildSystemImage {
-    name = "mips-17";
+    name = "sysimg-mips-17";
     src = fetchurl {
-      url = https://dl-ssl.google.com/android/repository/sys-img/mips/sysimg_mips-17_r01.zip;
+      url = https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_mips-17_r01.zip;
       sha1 = "f0c6e153bd584c29e51b5c9723cfbf30f996a05d";
     };
   };
diff --git a/pkgs/development/mobile/flashtool/default.nix b/pkgs/development/mobile/flashtool/default.nix
index 92b8c9a1845..d22eeb6c213 100644
--- a/pkgs/development/mobile/flashtool/default.nix
+++ b/pkgs/development/mobile/flashtool/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     ln -s ${libusb1}/lib/libusb-1.0.so.0 ./x10flasher_lib/linux/lib32/libusbx-1.0.so
 
     chmod +x x10flasher_lib/unyaffs.linux.x86 x10flasher_lib/bin2elf x10flasher_lib/bin2sin
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" x10flasher_lib/unyaffs.linux.x86
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" x10flasher_lib/unyaffs.linux.x86
     ln -sf unyaffs.linux.x86 x10flasher_lib/unyaffs.linux
 
     ln -s swt32.jar x10flasher_lib/swtlin/swt.jar
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index fa959035a9e..04691848779 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -1,7 +1,7 @@
-{stdenv, androidsdk, titaniumsdk, titanium, xcodewrapper, jdk, python, which}:
+{stdenv, androidsdk, titaniumsdk, titanium, xcodewrapper, jdk, python, which, xcodeBaseDir}:
 { name, src, target, androidPlatformVersions ? [ "8" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ], tiVersion ? null
 , release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null
-, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null
+, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "8.1", iosWwdrCertificate ? null
 , enableWirelessDistribution ? false, installURL ? null
 }:
 
@@ -16,7 +16,10 @@ let
     useGoogleAPIs = true;
   };
   
-  deleteKeychain = "security delete-keychain $keychainName";
+  deleteKeychain = ''
+    security default-keychain -s login.keychain
+    security delete-keychain $keychainName
+  '';
 in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
@@ -49,6 +52,13 @@ stdenv.mkDerivation {
         ''
           titanium config --config-file $TMPDIR/config.json --no-colors android.sdkPath ${androidsdkComposition}/libexec/android-sdk-*
           
+          # Add zipalign to PATH to make Ti 3.1 builds still work
+          for i in $(find -L ${androidsdkComposition}/libexec/android-sdk-*/build-tools -name zipalign)
+          do
+              export PATH=$(dirname $i):$PATH
+              break
+          done
+          
           ${if release then
             ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias ${androidKeyAlias} --password ${androidKeyStorePassword} --output-dir $out''
           else
@@ -68,7 +78,9 @@ stdenv.mkDerivation {
               security default-keychain -s $keychainName
               security unlock-keychain -p "" $keychainName
               security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
-
+              ${stdenv.lib.optionalString (iosWwdrCertificate != null) ''
+                security import ${iosWwdrCertificate} -k $keychainName
+              ''}
               provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
    
               # Ensure that the requested provisioning profile can be found
@@ -94,12 +106,15 @@ stdenv.mkDerivation {
               cat > $HOME/.titanium/auth_session.json <<EOF
               { "loggedIn": true }
               EOF
-            
+              
+              # Configure the path to Xcode
+              titanium --config-file $TMPDIR/config.json --no-colors config paths.xcode ${xcodeBaseDir}
+              
               # Set the SDK to our copy
               titanium --config-file $TMPDIR/config.json --no-colors config sdk.defaultInstallLocation $TMPDIR/titaniumsdk
             
               # Do the actual build
-              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target dist-adhoc --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName --device-family universal --output-dir $out
+              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target dist-adhoc --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName --device-family universal --ios-version ${iosVersion} --output-dir $out
             
               # Remove our generated keychain
             
@@ -115,7 +130,10 @@ stdenv.mkDerivation {
               cp -av * $out
               cd $out
             
-              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target simulator --build-only --device-family universal --output-dir $out
+              # Configure the path to Xcode
+              titanium --config-file $TMPDIR/config.json --no-colors config paths.xcode ${xcodeBaseDir}
+              
+              titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target simulator --build-only --device-family universal --ios-version ${iosVersion} --output-dir $out
           ''}
         ''
 
diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix
index 6c71116b5e8..14ef4c20047 100644
--- a/pkgs/development/mobile/titaniumenv/default.nix
+++ b/pkgs/development/mobile/titaniumenv/default.nix
@@ -1,4 +1,4 @@
-{pkgs, pkgs_i686, xcodeVersion ? "5.0", tiVersion ? "3.2.3.GA"}:
+{pkgs, pkgs_i686, xcodeVersion ? "6.1.1", xcodeBaseDir ? "/Applications/Xcode.app", tiVersion ? "3.5.0.GA"}:
 
 let
   # We have to use Oracle's JDK. On Darwin, just simply expose the host system's
@@ -25,12 +25,15 @@ rec {
 
   xcodeenv = if pkgs.stdenv.system == "x86_64-darwin" then pkgs.xcodeenv.override {
     version = xcodeVersion;
+    inherit xcodeBaseDir;
   } else null;
   
   titaniumsdk = let
     titaniumSdkFile = if tiVersion == "3.1.4.GA" then ./titaniumsdk-3.1.nix
       else if tiVersion == "3.2.3.GA" then ./titaniumsdk-3.2.nix
       else if tiVersion == "3.3.0.GA" then ./titaniumsdk-3.3.nix
+      else if tiVersion == "3.4.0.GA" then ./titaniumsdk-3.4.nix
+      else if tiVersion == "3.5.0.GA" then ./titaniumsdk-3.5.nix
       else throw "Titanium version not supported: "+tiVersion;
     in
     import titaniumSdkFile {
@@ -45,6 +48,6 @@ rec {
     inherit (pkgs.nodePackages) titanium;
     inherit (androidenv) androidsdk;
     inherit (xcodeenv) xcodewrapper;
-    inherit titaniumsdk;
+    inherit titaniumsdk xcodeBaseDir;
   };
 }
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
index d595db40817..487f93052f2 100644
--- a/pkgs/development/mobile/titaniumenv/examples/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -1,9 +1,10 @@
 { nixpkgs ? <nixpkgs>
 , systems ? [ "x86_64-linux" "x86_64-darwin" ]
-, xcodeVersion ? "5.0"
-, tiVersion ? "3.2.3.GA"
+, xcodeVersion ? "6.1.1"
+, xcodeBaseDir ? "/Applications/Xcode.app"
+, tiVersion ? "3.5.0.GA"
 , rename ? false
-, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? ""
+, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "", iosVersion ? "8.1", iosWwdrCertificate ? null
 , allowUnfree ? false
 , enableWirelessDistribution ? false, installURL ? null
 }:
@@ -18,7 +19,7 @@ rec {
   in
   import ./kitchensink {
     inherit (pkgs) fetchgit;
-    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
+    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; };
     inherit tiVersion;
     target = "android";
   });
@@ -29,7 +30,7 @@ rec {
   in
   import ./kitchensink {
     inherit (pkgs) fetchgit;
-    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
+    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; };
     inherit tiVersion;
     target = "android";
     release = true;
@@ -60,23 +61,16 @@ rec {
   rec {
   kitchensink_ios_development = import ./kitchensink {
     inherit (pkgs) fetchgit;
-    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
-    inherit tiVersion;
+    titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; };
+    inherit tiVersion iosVersion;
     target = "iphone";
   };
 
-  simulate_kitchensink_iphone = import ./simulate-kitchensink {
-    inherit (pkgs) stdenv;
-    xcodeenv = pkgs.xcodeenv.override { version = xcodeVersion; };
-    kitchensink = kitchensink_ios_development;
-    device = "iPhone";
-  };
-  
-  simulate_kitchensink_ipad = import ./simulate-kitchensink {
+  simulate_kitchensink = import ./simulate-kitchensink {
     inherit (pkgs) stdenv;
-    xcodeenv = pkgs.xcodeenv.override { version = xcodeVersion; };
+    xcodeenv = pkgs.xcodeenv.override { version = xcodeVersion; inherit xcodeBaseDir; };
     kitchensink = kitchensink_ios_development;
-    device = "iPad";
+    bundleId = if rename then newBundleId else "com.appcelerator.kitchensink";
   };
 } else {}) // (if rename then
   let
@@ -85,12 +79,12 @@ rec {
   {
     kitchensink_ipa = import ./kitchensink {
       inherit (pkgs) stdenv fetchgit;
-      titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; };
+      titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; };
       target = "iphone";
       inherit tiVersion;
       release = true;
       rename = true;
-      inherit newBundleId iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword;
+      inherit newBundleId iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword iosVersion iosWwdrCertificate;
       inherit enableWirelessDistribution installURL;
     };
   }
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
index 95372670969..91c4901479b 100644
--- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
@@ -1,5 +1,5 @@
 { titaniumenv, fetchgit, target, androidPlatformVersions ? [ "14" ], tiVersion ? "3.2.3.GA", release ? false
-, rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null
+, rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null, iosVersion ? "8.1", iosWwdrCertificate ? null
 , enableWirelessDistribution ? false, installURL ? null
 }:
 
@@ -37,6 +37,6 @@ titaniumenv.buildApp {
   androidKeyAlias = "myfirstapp";
   androidKeyStorePassword = "mykeystore";
   
-  inherit iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword;
+  inherit iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword iosVersion iosWwdrCertificate;
   inherit enableWirelessDistribution installURL;
 }
diff --git a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
index a5ab8d59a74..15a86e338de 100644
--- a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
@@ -1,9 +1,7 @@
-{stdenv, xcodeenv, kitchensink, device}:
+{stdenv, xcodeenv, kitchensink, bundleId}:
 
 xcodeenv.simulateApp {
-  name = "simulate-${kitchensink.name}-${stdenv.lib.replaceChars [" " "(" ")"] ["_" "" ""] device}";
-  appName = "KitchenSink";
-  app = kitchensink;
-  inherit device;
-  baseDir = "build/iphone/build/Debug-iphonesimulator";
+  name = "simulate-${kitchensink.name}";
+  inherit bundleId;
+  app = "${kitchensink}/build/iphone/build/Debug-iphonesimulator";
 }
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix
index fa01dadc775..60cab19ecbd 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   buildCommand = ''
     mkdir -p $out
     cd $out
-    yes y | unzip $src
+    unzip $src
     
     # Fix shebang header for python scripts
     
@@ -45,16 +45,18 @@ stdenv.mkDerivation {
     
     ${if stdenv.system == "i686-linux" then
       ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
       ''
       else if stdenv.system == "x86_64-linux" then
       ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
       ''
       else ""}
     
-    # Wrap builder script
+    # Fix zipalign compatibility issue with newer Android SDKs
+    sed -i -e 's|zipalign = self.sdk.get_zipalign()|zipalign = "zipalign"|' builder.py
     
+    # Wrap builder script
     mv builder.py .builder.py
     cat > builder.py <<EOF
     #!${python}/bin/python
@@ -62,7 +64,7 @@ stdenv.mkDerivation {
     import os, sys
     
     os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
-    os.environ['JAVA_HOME'] = '${if stdenv.system == "x86_64-darwin" then jdk else "${jdk}/lib/openjdk"}'
+    os.environ['JAVA_HOME'] = '${jdk.home}'
     
     os.execv('$(pwd)/.builder.py', sys.argv)
     EOF
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
index 2ac4040714b..47414e205a0 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   buildCommand = ''
     mkdir -p $out
     cd $out
-    yes y | unzip $src
+    unzip $src
     
     # Fix shebang header for python scripts
     
@@ -44,11 +44,11 @@ stdenv.mkDerivation {
     
     ${if stdenv.system == "i686-linux" then
       ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
       ''
       else if stdenv.system == "x86_64-linux" then
       ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
       ''
       else ""}
     
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
     import os, sys
     
     os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
-    os.environ['JAVA_HOME'] = '${if stdenv.system == "x86_64-darwin" then jdk else "${jdk}/lib/openjdk"}'
+    os.environ['JAVA_HOME'] = '${jdk.home}'
     
     os.execv('$(pwd)/.builder.py', sys.argv)
     EOF
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix
index be3628f2644..59a405f61fa 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   buildCommand = ''
     mkdir -p $out
     cd $out
-    yes y | unzip $src
+    unzip $src
     
     # Fix shebang header for python scripts
     
@@ -44,11 +44,11 @@ stdenv.mkDerivation {
     
     ${if stdenv.system == "i686-linux" then
       ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
       ''
       else if stdenv.system == "x86_64-linux" then
       ''
-        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
       ''
       else ""}
     
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
     import os, sys
     
     os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
-    os.environ['JAVA_HOME'] = '${if stdenv.system == "x86_64-darwin" then jdk else "${jdk}/lib/openjdk"}'
+    os.environ['JAVA_HOME'] = '${jdk.home}'
     
     os.execv('$(pwd)/.builder.py', sys.argv)
     EOF
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.4.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.4.nix
new file mode 100644
index 00000000000..041ba0d4a6c
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.4.nix
@@ -0,0 +1,77 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "mobilesdk-3.4.0.GA";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.4.0/mobilesdk-3.4.0.GA-linux.zip;
+    sha1 = "c281a3a3f3af35adc95fc00dcd525b84516c2083";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.4.0/mobilesdk-3.4.0.GA-osx.zip;
+    sha1 = "2f10426462e5f8e487be83c8038f2934d5079f0d";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    unzip $src
+    
+    # Fix shebang header for python scripts
+    
+    find . -name \*.py | while read i
+    do
+        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+    done
+   
+    # Rename ugly version number
+    cd mobilesdk/*
+    cd 3.4.0.GA
+    
+    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
+    # Yes, I know it's nasty :-)
+    
+    cd android
+    
+    sed -i -f ${./fixtiverify.sed} builder.py
+    sed -i -f ${./fixtiprofiler.sed} builder.py
+    sed -i -f ${./fixso.sed} builder.py
+    sed -i -f ${./fixnativelibs.sed} builder.py
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+      ''
+      else ""}
+    
+    # Wrap builder script
+    
+    mv builder.py .builder.py
+    cat > builder.py <<EOF
+    #!${python}/bin/python
+    
+    import os, sys
+    
+    os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
+    os.environ['JAVA_HOME'] = '${jdk.home}'
+    
+    os.execv('$(pwd)/.builder.py', sys.argv)
+    EOF
+    
+    chmod +x builder.py
+    
+  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
+    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
+    
+    sed -i -e "s|--xcode|--xcode '+process.env['NIX_TITANIUM_WORKAROUND']+'|" $out/mobilesdk/osx/*/iphone/cli/commands/_build.js
+  '';
+}
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.5.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.5.nix
new file mode 100644
index 00000000000..8a868321e13
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.5.nix
@@ -0,0 +1,77 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "mobilesdk-3.5.0.GA";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.5.0/mobilesdk-3.5.0.GA-linux.zip;
+    sha1 = "c9850d5db29d8fb0c26b114e8c34bb2c91958eed";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.5.0/mobilesdk-3.5.0.GA-osx.zip;
+    sha1 = "a5ce74f13da09215b7efa81d626c6e6e83d6dc3b";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    unzip $src
+    
+    # Fix shebang header for python scripts
+    
+    find . -name \*.py | while read i
+    do
+        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+    done
+    
+    # Rename ugly version number
+    cd mobilesdk/*
+    cd 3.5.0.GA
+    
+    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
+    # Yes, I know it's nasty :-)
+    
+    cd android
+    
+    sed -i -f ${./fixtiverify.sed} builder.py
+    sed -i -f ${./fixtiprofiler.sed} builder.py
+    sed -i -f ${./fixso.sed} builder.py
+    sed -i -f ${./fixnativelibs.sed} builder.py
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+      ''
+      else ""}
+    
+    # Wrap builder script
+    
+    mv builder.py .builder.py
+    cat > builder.py <<EOF
+    #!${python}/bin/python
+    
+    import os, sys
+    
+    os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
+    os.environ['JAVA_HOME'] = '${jdk.home}'
+    
+    os.execv('$(pwd)/.builder.py', sys.argv)
+    EOF
+    
+    chmod +x builder.py
+    
+  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
+    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
+    
+    sed -i -e "s|--xcode|--xcode '+process.env['NIX_TITANIUM_WORKAROUND']+'|" $out/mobilesdk/osx/*/iphone/cli/commands/_build.js
+  '';
+}
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index 1b4940b0c3d..6af32ba4198 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -46,7 +46,10 @@ let
     else sdk;
 
   # The following is to prevent repetition
-  deleteKeychain = "security delete-keychain $keychainName";
+  deleteKeychain = ''
+    security default-keychain -s login.keychain
+    security delete-keychain $keychainName
+  '';
 in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
diff --git a/pkgs/development/mobile/xcodeenv/default.nix b/pkgs/development/mobile/xcodeenv/default.nix
index ad6569d9478..d1647324865 100644
--- a/pkgs/development/mobile/xcodeenv/default.nix
+++ b/pkgs/development/mobile/xcodeenv/default.nix
@@ -1,8 +1,8 @@
-{stdenv, version ? "5.0"}:
+{stdenv, version ? "6.1.1", xcodeBaseDir ? "/Applications/Xcode.app"}:
 
 rec {
   xcodewrapper = import ./xcodewrapper.nix {
-    inherit stdenv version;
+    inherit stdenv version xcodeBaseDir;
   };
 
   buildApp = import ./build-app.nix {
diff --git a/pkgs/development/mobile/xcodeenv/simulate-app.nix b/pkgs/development/mobile/xcodeenv/simulate-app.nix
index c999497d8c0..645bcd69da0 100644
--- a/pkgs/development/mobile/xcodeenv/simulate-app.nix
+++ b/pkgs/development/mobile/xcodeenv/simulate-app.nix
@@ -1,22 +1,47 @@
 {stdenv, xcodewrapper}:
-{ name, appName ? null, app
-, device ? "iPhone", baseDir ? ""
-, sdkVersion ? "7.0"
-}:
+{name, bundleId, app}:
 
-let
-  _appName = if appName == null then name else appName;
-in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
   buildCommand = ''
     mkdir -p $out/bin
     cat > $out/bin/run-test-simulator << "EOF"
     #! ${stdenv.shell} -e
-
-    cd "${app}/${baseDir}/${_appName}.app"
-    "$(readlink "${xcodewrapper}/bin/iPhone Simulator")" -SimulateApplication './${_appName}' -SimulateDevice '${device}' -currentSDKRoot "$(readlink "${xcodewrapper}/SDKs")/iPhoneSimulator${sdkVersion}.sdk"
+    
+    if [ "$1" = "" ]
+    then
+        # Show the user the possibile UDIDs and let him pick one, if none is provided as a command-line parameter
+        xcrun simctl list
+        
+        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
+        udid="$1"
+    fi
+    
+    # Open the simulator instance
+    open -a "$(readlink "${xcodewrapper}/bin/iOS Simulator")" --args -CurrentDeviceUDID $udid
+    
+    # Copy the app and restore the write permissions
+    appTmpDir=$(mktemp -d -t appTmpDir)
+    cp -r "$(echo ${app}/*.app)" $appTmpDir
+    chmod -R 755 "$(echo $appTmpDir/*.app)"
+    
+    # Wait for the simulator to start
+    echo "Press enter when the simulator is started..."
+    read
+    
+    # Install the app
+    xcrun simctl install $udid "$(echo $appTmpDir/*.app)"
+    
+    # Remove the app tempdir
+    rm -Rf $appTmpDir
+    
+    # Launch the app in the simulator
+    xcrun simctl launch $udid "${bundleId}"
     EOF
+
     chmod +x $out/bin/run-test-simulator
   '';
 }
diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
index fd375d6213c..4be204d5dc5 100644
--- a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
+++ b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
@@ -1,4 +1,4 @@
-{stdenv, version}:
+{stdenv, version, xcodeBaseDir}:
 
 stdenv.mkDerivation {
   name = "xcode-wrapper-"+version;
@@ -6,14 +6,14 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     cd $out/bin
     ln -s /usr/bin/xcode-select
-    ln -s /usr/bin/xcodebuild
-    ln -s /usr/bin/xcrun
     ln -s /usr/bin/security
     ln -s /usr/bin/codesign
-    ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator"
+    ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcodebuild"
+    ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcrun"
+    ln -s "${xcodeBaseDir}/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator"
 
     cd ..
-    ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs"
+    ln -s "${xcodeBaseDir}/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs"
 
     # Check if we have the xcodebuild version that we want
     if [ -z "$($out/bin/xcodebuild -version | grep -x 'Xcode ${version}')" ]
diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix
index 049595c49a5..e1b2b0cb2fa 100644
--- a/pkgs/development/mobile/xpwn/default.nix
+++ b/pkgs/development/mobile/xpwn/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
+{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }:
 
 stdenv.mkDerivation {
   name = "xpwn-0.5.8git";
 
   src = fetchgit {
-    url = "git://github.com/dborca/xpwn.git";
-    rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
-    sha256 =
-      "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
+    url    = "git://github.com/dborca/xpwn.git";
+    rev    = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0";
+    sha256 = "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv";
   };
 
   preConfigure = ''
@@ -19,11 +18,16 @@ stdenv.mkDerivation {
     sed -i -e '/install/d' CMakeLists.txt
   '';
 
-  buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
+  buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ];
 
-  meta = {
-    homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
+  cmakeFlags = [
+    "-DCMAKE_OSX_DEPLOYMENT_TARGET="
+  ];
+
+  meta = with stdenv.lib; {
+    homepage    = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn";
     description = "Custom NOR firmware loader/IPSW generator for the iPhone";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license     = licenses.gpl3Plus;
+    platforms   = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ansiterminal/default.nix b/pkgs/development/ocaml-modules/ansiterminal/default.nix
new file mode 100644
index 00000000000..64b4f8263ff
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ansiterminal/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, ocaml, findlib }:
+
+stdenv.mkDerivation {
+
+  name = "ansiterminal-0.6.5";
+
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1206/ANSITerminal-0.6.5.tar.gz";
+    sha256 = "1j9kflv2i16vf9hy031cl6z8hv6791mjbhnd9bw07y1pswdlx1r6";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+
+  buildPhase = "ocaml setup.ml -build";
+
+  installPhase = "ocaml setup.ml -install";
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://forge.ocamlcore.org/projects/ansiterminal";
+    description = "A module allowing to use the colors and cursor movements on ANSI terminals";
+    longDescription = ''
+      ANSITerminal is a module allowing to use the colors and cursor
+      movements on ANSI terminals. It also works on the windows shell (but
+      this part is currently work in progress).
+    '';
+    license = licenses.lgpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
new file mode 100644
index 00000000000..bb4b5f7b312
--- /dev/null
+++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchzip, ocaml, findlib, cstruct, zarith }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.01";
+
+let version = "0.1.1"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-asn1-combinators-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/mirleft/ocaml-asn1-combinators/archive/${version}.tar.gz";
+    sha256 = "1wl5g2cqd4dk33w0ski6z425cs4sgj980fw0xkwgz1w1xzywh4i2";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ cstruct zarith ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/mirleft/ocaml-asn1-combinators;
+    description = "Combinators for expressing ASN.1 grammars in OCaml";
+    platforms = ocaml.meta.platforms;
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/base64/default.nix b/pkgs/development/ocaml-modules/base64/default.nix
new file mode 100644
index 00000000000..f7e4513d826
--- /dev/null
+++ b/pkgs/development/ocaml-modules/base64/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchzip, ocaml, findlib }:
+
+let version = "2.0.0"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-base64-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/mirage/ocaml-base64/archive/v${version}.tar.gz";
+    sha256 = "1nv55gwq5vaxmrcz9ja2s165b1p9fhcxszc1l76043gpa56qm4fs";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/mirage/ocaml-base64;
+    platforms = ocaml.meta.platforms;
+    description = "Base64 encoding and decoding in OCaml";
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index ac7b8adfd8c..e83ea743263 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -1,17 +1,22 @@
-{stdenv, fetchurl, ocaml, findlib, camomile, ounit}:
+{ stdenv, fetchzip, ocaml, findlib, qtest }:
+
+let version = "2.3.1"; in
 
 stdenv.mkDerivation {
-  name = "ocaml-batteries-2.2.0";
+  name = "ocaml-batteries-${version}";
 
-  src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/1363/batteries-2.2.tar.gz;
-    sha256 = "0z4wg357fzz7cnarjsrrdnpmxw8mxcj10fp67dm3bnn0l3zkjwbs";
+  src = fetchzip {
+    url = "https://github.com/ocaml-batteries-team/batteries-included/archive/v${version}.tar.gz";
+    sha256 = "1hjbzczchqnnxbn4ck84j5pi6prgfjfjg14kg26fzqz3gql427rl";
   };
 
-  buildInputs = [ocaml findlib camomile ounit];
+  buildInputs = [ ocaml findlib qtest ];
 
   configurePhase = "true"; 	# Skip configure
 
+  doCheck = true;
+  checkTarget = "test test";
+
   createFindlibDestdir = true;
 
   meta = {
@@ -22,7 +27,7 @@ stdenv.mkDerivation {
       and comprehensive development platform for the OCaml programming
       language.
     '';
-    license = stdenv.lib.licenses.lgpl21;
+    license = stdenv.lib.licenses.lgpl21Plus;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix
index 59f30de5e84..565176276f9 100644
--- a/pkgs/development/ocaml-modules/biniou/default.nix
+++ b/pkgs/development/ocaml-modules/biniou/default.nix
@@ -4,6 +4,9 @@ let
   version = "1.0.9";
   webpage = "http://mjambon.com/${pname}.html";
 in
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
+
 stdenv.mkDerivation rec {
 
   name = "${pname}-${version}";
@@ -23,10 +26,11 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/bolt/default.nix b/pkgs/development/ocaml-modules/bolt/default.nix
new file mode 100644
index 00000000000..9b0efd816bd
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bolt/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, ocaml, findlib, which }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "4.00.0";
+assert versionAtLeast (getVersion findlib) "1.3.3";
+
+stdenv.mkDerivation rec {
+
+  name = "bolt-1.4";
+
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1043/${name}.tar.gz";
+    sha256 = "1c807wrpxra9sbb34lajhimwra28ldxv04m570567lh2b04n38zy";
+  };
+
+  buildInputs = [ ocaml findlib which ];
+
+  # The custom `configure` script does not expect the --prefix
+  # option. Installation is handled by ocamlfind.
+  dontAddPrefix = true;
+
+  createFindlibDestdir = true;
+
+  buildFlags = "all";
+
+  doCheck = true;
+  checkTarget = "tests";
+
+  meta = with stdenv.lib; {
+    homepage = "http://bolt.x9c.fr";
+    description = "A logging tool for the OCaml language";
+    longDescription = ''
+      Bolt is a logging tool for the OCaml language. It is inspired by and
+      modeled after the famous log4j logging framework for Java.
+    '';
+    license = licenses.lgpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/calendar/default.nix b/pkgs/development/ocaml-modules/calendar/default.nix
new file mode 100644
index 00000000000..48aaf972503
--- /dev/null
+++ b/pkgs/development/ocaml-modules/calendar/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+stdenv.mkDerivation {
+  name = "ocaml-calendar-2.5";
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/915/calendar-2.5.tar.bz2;
+    sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f";
+    };
+
+  buildInputs = [ocaml findlib];
+
+  createFindlibDestdir = true;
+
+  meta =  {
+    homepage = https://forge.ocamlcore.org/projects/calendar/;
+    description = "An Objective Caml library managing dates and times";
+    license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/camlimages/4.0.nix b/pkgs/development/ocaml-modules/camlimages/4.0.nix
new file mode 100644
index 00000000000..4f47680dcec
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlimages/4.0.nix
@@ -0,0 +1,41 @@
+{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript }:
+
+let
+  pname = "camlimages";
+  version = "4.0.1";
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/camlspotter/camlimages/get/v4.0.1.tar.gz";
+    sha256 = "b40237c1505487049799a7af296eb3996b3fa08eab94415546f46d61355747c4";
+  };
+
+  buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript ];
+
+  propagatedBuildInputs = [libtiff libjpeg libpng giflib freetype libXpm ];
+
+  createFindlibDestdir = true;
+
+  preConfigure = ''
+    rm ./configure
+  '';
+
+  buildPhase = ''
+    omake
+  '';
+
+  installPhase = ''
+    omake install
+  '';
+
+  meta = with stdenv.lib; {
+    branch = "4.0";
+    homepage = https://bitbucket.org/camlspotter/camlimages;
+    description = "OCaml image processing library";
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/camlimages/4.1.nix b/pkgs/development/ocaml-modules/camlimages/4.1.nix
new file mode 100644
index 00000000000..f98d149c482
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlimages/4.1.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
+
+let
+  pname = "camlimages";
+  version = "4.1.2";
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/camlspotter/camlimages/get/${version}.tar.bz2";
+    sha256 = "1ppddhfknpirj1vilm5dxgyp82kf7ahpvjmh7z75a1fnaqv3kpki";
+  };
+
+  buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript ];
+
+  propagatedBuildInputs = [libtiff libjpeg libpng giflib freetype libXpm ];
+
+  createFindlibDestdir = true;
+
+  buildPhase = ''
+    omake
+  '';
+
+  installPhase = ''
+    omake install
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://bitbucket.org/camlspotter/camlimages;
+    description = "OCaml image processing library";
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix
deleted file mode 100644
index ff344ef6f32..00000000000
--- a/pkgs/development/ocaml-modules/camlimages/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript }:
-
-let
-  ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  pname = "camlimages";
-  version = "4.0.1";
-in
-
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/camlspotter/camlimages/get/v4.0.1.tar.gz";
-    sha256 = "b40237c1505487049799a7af296eb3996b3fa08eab94415546f46d61355747c4";
-  };
-
-  buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript libtiff libjpeg libpng giflib freetype libXpm ];
-
-  propagatedbuildInputs = [libtiff libjpeg libpng giflib freetype libXpm ];
-
-  createFindlibDestdir = true;
-
-  preConfigure = ''
-    rm ./configure
-  '';
-
-  buildPhase = ''
-    omake
-  '';
-
-  installPhase = ''
-    omake install
-  '';
-
-  #makeFlags = "BINDIR=$(out)/bin  MANDIR=$(out)/usr/share/man/man1 DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib";
-
-  meta = {
-    homepage = http://cristal.inria.fr/camlimages;
-    description = "Image manipulation library";
-    license = stdenv.lib.licenses.gpl2;
-#    maintainers = [ stdenv.lib.maintainers.roconnor ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/camlpdf/default.nix b/pkgs/development/ocaml-modules/camlpdf/default.nix
new file mode 100644
index 00000000000..9946366de01
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlpdf/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, ocaml, findlib, ncurses }:
+
+stdenv.mkDerivation rec {
+  version = "2.1.1";
+  name = "ocaml-camlpdf-${version}";
+  src = fetchgit {
+    url = https://github.com/johnwhitington/camlpdf.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "118656hc3zv5nwmbhr6llvb7q2pbxk2hz95bv8x4879a9qsnb4xr";
+  };
+
+  buildInputs = [ ocaml findlib ncurses ];
+
+  # Version number in META file is wrong
+  patchPhase = ''
+    patch -p 0 META <<EOF
+    3c3
+    < version="1.7.1"
+    ---
+    > version="${version}"
+    EOF
+  '';
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    description = "An OCaml library for reading, writing and modifying PDF files";
+    homepage = https://github.com/johnwhitington/camlpdf;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [vbgl];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/camomile/0.8.2.nix b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
index 674c6c0367b..f6d22f62ec0 100644
--- a/pkgs/development/ocaml-modules/camomile/0.8.2.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -13,14 +13,15 @@ stdenv.mkDerivation {
     sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
   meta = {
     homepage = http://camomile.sourceforge.net/;
     description = "A comprehensive Unicode library for OCaml";
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl21;
+    branch = "0.8.2";
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix
index 332230615d1..ecdc5bef295 100644
--- a/pkgs/development/ocaml-modules/camomile/default.nix
+++ b/pkgs/development/ocaml-modules/camomile/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/cil/default.nix b/pkgs/development/ocaml-modules/cil/default.nix
new file mode 100644
index 00000000000..43522e180b6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cil/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, perl, ocaml, findlib }:
+stdenv.mkDerivation {
+  name = "ocaml-cil-1.7.3";
+  src = fetchurl {
+    url = mirror://sourceforge/cil/cil-1.7.3.tar.gz;
+    sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9";
+  };
+
+  buildInputs = [ perl ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  preConfigure = ''
+    export FORCE_PERL_PREFIX=1
+  '';
+  prefixKey = "-prefix=";
+
+  meta = with stdenv.lib; {
+    homepage = http://kerneis.github.io/cil/;
+    description = "A front-end for the C programming language that facilitates program analysis and transformation";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
new file mode 100644
index 00000000000..e90e7c4571c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl, ocaml, findlib, opam}:
+
+let
+  pname = "cmdliner";
+  version = "0.9.7";
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionAtLeast ocaml_version "4.00";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
+    sha256 = "0ymzy1l6z85b6779lfxk179igfpf7rgfik70kr3c7lxmzwy8j6cw";
+  };
+
+  unpackCmd = "tar xjf $src";
+  buildInputs = [ ocaml findlib opam ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "ocaml pkg/git.ml";
+  buildPhase     = "ocaml pkg/build.ml native=true native-dynlink=true";
+  installPhase   = ''
+    opam-installer --script --prefix=$out ${pname}.install > install.sh
+    sh install.sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://erratique.ch/software/cmdliner;
+    description = "An OCaml module for the declarative definition of command line interfaces";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/config-file/default.nix b/pkgs/development/ocaml-modules/config-file/default.nix
new file mode 100644
index 00000000000..15eb0666777
--- /dev/null
+++ b/pkgs/development/ocaml-modules/config-file/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, ocaml, findlib, camlp4 }:
+
+stdenv.mkDerivation {
+  name = "ocaml-config-file-1.2";
+
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/1387/config-file-1.2.tar.gz;
+    sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q";
+  };
+
+  buildInputs = [ ocaml findlib camlp4 ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = http://config-file.forge.ocamlcore.org/;
+    platforms = ocaml.meta.platforms;
+    description = "An OCaml library used to manage the configuration file(s) of an application";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix
new file mode 100644
index 00000000000..20f03667c3b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, ocaml, findlib, camlpdf, ncurses }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.0";
+
+let version = "2.1.1"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-cpdf-${version}";
+
+  src = fetchgit {
+    url = https://github.com/johnwhitington/cpdf-source.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "0c482wfa5q845k0ahx8irg1jl05ncn0kv42dg08zkph7xi6dmgnv";
+  };
+
+  buildInputs = [ ocaml findlib ncurses ];
+  propagatedBuildInputs = [ camlpdf ];
+
+  createFindlibDestdir = true;
+
+  postInstall = ''
+    mkdir -p $out/bin
+    cp cpdf $out/bin
+    mkdir -p $out/share/
+    cp -r doc $out/share
+    cp cpdfmanual.pdf $out/share/doc/cpdf/
+  '';
+
+  meta = {
+    homepage = http://www.coherentpdf.com/;
+    platforms = ocaml.meta.platforms;
+    description = "PDF Command Line Tools";
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 1f9e2b44e00..cfb353bfe3e 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -4,6 +4,8 @@ let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
 
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation {
   name = "cryptokit-1.9";
 
diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix
new file mode 100644
index 00000000000..194a852e7ef
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cstruct/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchzip, ocaml, findlib, sexplib, ocplib-endian, lwt, camlp4 }:
+
+let version = "1.6.0"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-cstruct-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/mirage/ocaml-cstruct/archive/v${version}.tar.gz";
+    sha256 = "09qw3rhfiq2kkns6660p9cwm5610k72md52a04cy91gr6gsig6ic";
+  };
+
+  buildInputs = [ ocaml findlib lwt camlp4 ];
+  propagatedBuildInputs = [ ocplib-endian sexplib ];
+
+  configureFlags = "--enable-lwt";
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "Map OCaml arrays onto C-like structs";
+    homepage = https://github.com/mirage/ocaml-cstruct;
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/csv/default.nix b/pkgs/development/ocaml-modules/csv/default.nix
index 7178452e3dd..09679ced744 100644
--- a/pkgs/development/ocaml-modules/csv/default.nix
+++ b/pkgs/development/ocaml-modules/csv/default.nix
@@ -1,4 +1,7 @@
 {stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
+
 stdenv.mkDerivation {
 
   name = "ocaml-csv-1.3.3";
@@ -18,10 +21,11 @@ stdenv.mkDerivation {
 
   installPhase = "ocaml setup.ml -install";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A pure OCaml library to read and write CSV files";
     homepage = "https://forge.ocamlcore.org/projects/csv/";
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/dolog/default.nix b/pkgs/development/ocaml-modules/dolog/default.nix
new file mode 100644
index 00000000000..6d046ce5294
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dolog/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchzip, ocaml, findlib }:
+
+let version = "1.0"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-dolog-${version}";
+  src = fetchzip {
+    url = "https://github.com/UnixJunkie/dolog/archive/v${version}.tar.gz";
+    sha256 = "1yy3a0h9xn5mv8q38yx5jgavj2hgfw42mdnrzixl25pqx7idvcmf";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = {
+    homepage = https://github.com/UnixJunkie/dolog;
+    description = "Minimalistic lazy logger in OCaml";
+    platforms = ocaml.meta.platforms;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/dypgen/default.nix b/pkgs/development/ocaml-modules/dypgen/default.nix
index 73f543f5b62..63a48219b15 100644
--- a/pkgs/development/ocaml-modules/dypgen/default.nix
+++ b/pkgs/development/ocaml-modules/dypgen/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://dypgen.free.fr;
     description = "Dypgen GLR self extensible parser generator";
-    license = "CeCILL-B_V1";
-#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    license = stdenv.lib.licenses.cecill-b;
+    platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
index d01a4edf26e..0554b67f1d7 100644
--- a/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -17,11 +17,10 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A high-level and functional interface to the Format module of the OCaml standard library";
     homepage = "${webpage}";
-    license = "bsd";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
   };
 }
-
-
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
new file mode 100644
index 00000000000..9700a1d8cc5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving,
+  js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml,
+  ocaml_ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp,
+  reactivedata, opam}:
+
+stdenv.mkDerivation rec
+{
+  pname = "eliom";
+  version = "4.1.0";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = https://github.com/ocsigen/eliom/archive/4.1.0.tar.gz;
+    sha256 = "10v7mrq3zsbxdlg8k8xif777mbvcdpabvnd1g7p2yqivr7f1qm24";
+  };
+
+  buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving
+                 js_of_ocaml ocaml_optcomp opam];
+
+  propagatedBuildInputs = [ ocaml_lwt reactivedata tyxml ocaml_ipaddr
+                            calendar cryptokit ocamlnet ocaml_react ocaml_ssl
+                            ocaml_pcre ];
+
+  installPhase =
+  let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
+  in
+  ''opam-installer --script --prefix=$out ${pname}.install > install.sh
+    sh install.sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${ocamlVersion}/site-lib/
+  '';
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = http://ocsigen.org/eliom/;
+    description = "Ocaml Framework for programming Web sites and client/server Web applications";
+
+    longDescription =''Eliom is a framework for programming Web sites
+    and client/server Web applications. It introduces new concepts to
+    simplify programming common behaviours and uses advanced static
+    typing features of OCaml to check many properties of the Web site
+    at compile time. If you want to write a Web application, Eliom
+    makes possible to write the whole application as a single program
+    (client and server parts). A syntax extension is used to
+    distinguish both parts and the client side is compiled to JS using
+    Ocsigen Js_of_ocaml.'';
+
+    license = stdenv.lib.licenses.lgpl21;
+
+    platforms = ocaml.meta.platforms;
+
+    maintainers = [ stdenv.lib.maintainers.gal_bolle ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/enumerate/default.nix b/pkgs/development/ocaml-modules/enumerate/default.nix
new file mode 100644
index 00000000000..ce20cdd47bb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/enumerate/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, findlib, type_conv, camlp4 }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
+
+stdenv.mkDerivation {
+  name = "ocaml-enumerate-111.08.00";
+
+  src = fetchurl {
+    url = https://ocaml.janestreet.com/ocaml-core/111.08.00/individual/enumerate-111.08.00.tar.gz;
+    sha256 = "0b6mx5p01lcpimvak4wx6aj2119707wsfzd83rwgb91bhpgzh156";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ type_conv camlp4 ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://ocaml.janestreet.com/;
+    description = "Quotation expanders for enumerating finite types";
+    license = stdenv.lib.licenses.asl20;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix
new file mode 100644
index 00000000000..0ff2a725ea2
--- /dev/null
+++ b/pkgs/development/ocaml-modules/erm_xml/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchzip, ocaml, findlib }:
+
+let version = "0.3"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-erm_xml-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/ermine/xml/archive/v${version}.tar.gz";
+    sha256 = "19znk5w0qiw3wij4n6w3h5bcr221yy57jf815fr8k9m8kin710g3";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/ermine/xml;
+    description = "XML Parser for discrete data";
+    platforms = ocaml.meta.platforms;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
new file mode 100644
index 00000000000..7508a14738d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, fetchzip, ocaml, findlib, erm_xml, cryptokit, camlp4 }:
+
+let
+  version = "0.2";
+  disable-tests = fetchurl {
+    url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/erm_xmpp/erm_xmpp.0.2/files/disable_tests.patch;
+    sha256 = "09d8630nmx2x8kb8ap1zmsb93zs14cqg7ga1gmdl92jvsjxbhgc1";
+  };
+in
+
+stdenv.mkDerivation {
+  name = "ocaml-erm_xmpp-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/ermine/xmpp/archive/v${version}.tar.gz";
+    sha256 = "0saw2dmrzv2aadrznvyvchnhivvcwm78x9nwf6flq5v0pqddapk2";
+  };
+
+  patches = [ disable-tests ];
+
+  buildInputs = [ ocaml findlib camlp4 ];
+  propagatedBuildInputs = [ erm_xml cryptokit ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/ermine/xmpp;
+    description = "OCaml based XMPP implementation";
+    platforms = ocaml.meta.platforms;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 7bc7e398948..9f5f8119fb6 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchurl, ocaml, findlib, minimal ? true}:
+{stdenv, fetchurl, ocaml, findlib, camlp4, minimal ? true}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
 
 stdenv.mkDerivation {
   name = "ocaml-extlib-1.6.1";
@@ -8,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "1jmfj2w0f3ap0swz8k3qqmrl6x2y4gkmg88vv024xnmliiiv7m48";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/ezjsonm/default.nix b/pkgs/development/ocaml-modules/ezjsonm/default.nix
new file mode 100644
index 00000000000..25a9e4128bf
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ezjsonm/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchzip, ocaml, findlib, jsonm, hex, sexplib, lwt }:
+
+let version = "0.4.1"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-ezjsonm-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/mirage/ezjsonm/archive/${version}.tar.gz";
+    sha256 = "0cfjh8awajvw6kkmxr65dvri4k6h29pynxvk76a8c2lkixpsc095";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ jsonm hex sexplib lwt ];
+  createFindlibDestdir = true;
+
+  configureFlags = "--enable-lwt";
+
+  meta = {
+    description = "An easy interface on top of the Jsonm library";
+    homepage = https://github.com/mirage/ezjsonm;
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/fieldslib/default.nix b/pkgs/development/ocaml-modules/fieldslib/default.nix
new file mode 100644
index 00000000000..28b83d3af46
--- /dev/null
+++ b/pkgs/development/ocaml-modules/fieldslib/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, camlp4 }:
+
+assert stdenv.lib.versionOlder "4.00" (stdenv.lib.getVersion ocaml);
+
+stdenv.mkDerivation {
+  name = "ocaml-fieldslib-109.20.03";
+
+  src = fetchurl {
+    url = https://ocaml.janestreet.com/ocaml-core/109.20.00/individual/fieldslib-109.20.03.tar.gz;
+    sha256 = "1dkzk0wf26rhvji80dz1r56dp6x9zqrnp87wldd4pj56jli94vir";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ ocaml_typeconv camlp4 ];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://ocaml.janestreet.com/;
+    description = "OCaml syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values";
+    license = licenses.asl20;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/fileutils/default.nix b/pkgs/development/ocaml-modules/fileutils/default.nix
new file mode 100644
index 00000000000..2fbbabfd36b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/fileutils/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, findlib }:
+
+stdenv.mkDerivation {
+  name = "ocaml-fileutils-0.4.5";
+
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/1194/ocaml-fileutils-0.4.5.tar.gz;
+    sha256 = "0rlqmcgjrfjihjgw5cfmack169cag8054gh5yrqph15av3lx5cra";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  preInstall = "make doc";
+
+  meta = {
+    homepage = https://forge.ocamlcore.org/projects/ocaml-fileutils/;
+    platforms = ocaml.meta.platforms;
+    description = "Library to provide pure OCaml functions to manipulate real file (POSIX like) and filename";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/fix/default.nix b/pkgs/development/ocaml-modules/fix/default.nix
new file mode 100644
index 00000000000..b0429e0e910
--- /dev/null
+++ b/pkgs/development/ocaml-modules/fix/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-fix-20130611";
+
+  src = fetchurl {
+    url = http://gallium.inria.fr/~fpottier/fix/fix-20130611.tar.gz;
+    sha256 = "1phlqcs1nb93x9cf0w0hnq2ck4dmn71zm4mxf60w96vb9yb9qzp0";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://gallium.inria.fr/~fpottier/fix/;
+    description = "A simple OCaml module for computing the least solution of a system of monotone equations";
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix
new file mode 100644
index 00000000000..35dd542af9e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/functory/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-functory-0.5";
+
+  src = fetchurl {
+    url = https://www.lri.fr/~filliatr/functory/download/functory-0.5.tar.gz;
+    sha256 = "1j17rhifdjv1z262dma148ywg34x0zjn8vczdrnkwajsm4qg1hw3";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  installTargets = "ocamlfind-install";
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://www.lri.fr/~filliatr/functory/;
+    description = "A distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
new file mode 100644
index 00000000000..51afb39ca65
--- /dev/null
+++ b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, findlib, ocurl, cryptokit, ocaml_extlib, yojson, ocamlnet, xmlm }:
+
+stdenv.mkDerivation rec {
+  name = "gapi-ocaml-0.2.6";
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1468/${name}.tar.gz";
+    sha256 = "1sqsir07xxk9xy723l206r7d10sp6rfid9dvi0g34vbkvshm50y2";
+  };
+  buildInputs = [ ocaml 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";
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "OCaml client for google services";
+    homepage = http://gapi-ocaml.forge.ocamlcore.org;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ bennofs ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix
new file mode 100644
index 00000000000..a40d4ae7978
--- /dev/null
+++ b/pkgs/development/ocaml-modules/gg/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, ocaml, findlib, opam }:
+
+let
+  inherit (stdenv.lib) getVersion versionAtLeast;
+
+  pname = "gg";
+  version = "0.9.0";
+  webpage = "http://erratique.ch/software/${pname}";
+in
+
+assert versionAtLeast (getVersion ocaml) "4.01.0";
+
+stdenv.mkDerivation rec {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/releases/${pname}-${version}.tbz";
+    sha256 = "055pza6jbjjj7wgzf7pbn0ccxw76i8w5b2bcnaz8b9m4x6jaa6gh";
+  };
+
+  buildInputs = [ ocaml findlib opam ];
+
+  createFindlibDestdir = true;
+
+  unpackCmd = "tar xjf $src";
+
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+
+  installPhase = ''
+    opam-installer --script --prefix=$out ${pname}.install | sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Basic types for computer graphics in OCaml";
+    longDescription = ''
+      Gg is an OCaml module providing basic types for computer graphics. It
+      defines types and functions for floats, vectors, points, sizes,
+      matrices, quaternions, axis aligned boxes, colors, color spaces, and
+      raster data.
+    '';
+    homepage = "${webpage}";
+    platforms = ocaml.meta.platforms;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/gtktop/default.nix b/pkgs/development/ocaml-modules/gtktop/default.nix
new file mode 100644
index 00000000000..ca068788287
--- /dev/null
+++ b/pkgs/development/ocaml-modules/gtktop/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, ocaml, camlp4, findlib, lablgtk-extras }:
+
+let pname = "gtktop-2.0"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-${pname}";
+
+  src = fetchurl {
+    url = "http://zoggy.github.io/gtktop/${pname}.tar.gz";
+    sha256 = "0cpmnavvham9mwxknm6df90g9qxabcvn2kfwlf9mncqa0z3rknz6";
+  };
+
+  buildInputs = [ ocaml camlp4 findlib ];
+  propagatedBuildInputs = [ lablgtk-extras ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = http://zoggy.github.io/gtktop/;
+    description = "A small OCaml library to ease the creation of graphical toplevels";
+    license = stdenv.lib.licenses.lgpl3;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/hex/default.nix b/pkgs/development/ocaml-modules/hex/default.nix
new file mode 100644
index 00000000000..1be3b4cbfb7
--- /dev/null
+++ b/pkgs/development/ocaml-modules/hex/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchzip, ocaml, findlib }:
+
+let version = "0.1.0"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-hex-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/mirage/ocaml-hex/archive/${version}.tar.gz";
+    sha256 = "1nna0v5wi1g8l9ywl43xda2lqbz3sa3ncpyg84bl9baxyfmw4p9n";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "Mininal OCaml library providing hexadecimal converters";
+    homepage = https://github.com/mirage/ocaml-hex;
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/http/default.nix b/pkgs/development/ocaml-modules/http/default.nix
index 8b611c65a41..932a5811bec 100644
--- a/pkgs/development/ocaml-modules/http/default.nix
+++ b/pkgs/development/ocaml-modules/http/default.nix
@@ -1,20 +1,15 @@
-{stdenv, fetchurl, ocaml_pcre, ocamlnet, ocaml, findlib}:
-
-let
-  ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  pname = "ocaml-http";
-  version = "0.1.3";
-in
+{stdenv, fetchurl, ocaml_pcre, ocamlnet, ocaml, findlib, camlp4}:
 
 stdenv.mkDerivation {
-  name = "${pname}-${version}";
+  name = "ocaml-http-0.1.5";
 
   src = fetchurl {
-    url = "http://upsilon.cc/~zack/hacking/software/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "070xw033r4pk6f4l0wcknm75y9qm4mp622a4cgzmcfhm58v6kssn";
+    url = https://forge.ocamlcore.org/frs/download.php/545/ocaml-http-0.1.5.tar.gz;
+    sha256 = "09q12b0j01iymflssxigsqggbsp8dqh9pfvkm76dv860544mygws";
   };
 
-  buildInputs = [ocaml_pcre ocamlnet ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
+  propagatedBuildInputs = [ocaml_pcre ocamlnet];
 
   createFindlibDestdir = true;
 
@@ -30,10 +25,11 @@ stdenv.mkDerivation {
     make all opt
   '';
 
-  meta = {
-    homepage = "http://upsilon.cc/~zack/hacking/software/ocaml-http/";
+  meta = with stdenv.lib; {
+    homepage = http://ocaml-http.forge.ocamlcore.org/;
+    platforms = ocaml.meta.platforms;
     description = "do it yourself (OCaml) HTTP daemon";
-    license = stdenv.lib.licenses.lgpl2;
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ roconnor vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/io-page/default.nix b/pkgs/development/ocaml-modules/io-page/default.nix
new file mode 100644
index 00000000000..25fa60139d6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/io-page/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchzip, ocaml, findlib, cstruct }:
+
+let version = "1.4.0"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-io-page-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/mirage/io-page/archive/v${version}.tar.gz";
+    sha256 = "05m1gbcy72i6gikdijbkpw8pfygc86a3l4k8ayyl58019l6qa2fq";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ cstruct ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/mirage/io-page;
+    platforms = ocaml.meta.platforms;
+    description = "IO memory page library for Mirage backends";
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index 2fa72dcf07f..7272e668aa2 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, which, ocaml, findlib, camlzip, extlib}:
+{stdenv, fetchurl, which, ocaml, findlib, camlzip, extlib, camlp4}:
 let
   pname = "javalib";
   version = "2.3";
@@ -14,12 +14,14 @@ stdenv.mkDerivation rec {
     sha256 = "1i8djcanzm250mwilm3jfy37cz0k0x7jbnrz8a5vvdi91kyzh52j";
   };
 
-  buildInputs = [ which ocaml findlib camlzip extlib ];
+  buildInputs = [ which ocaml findlib camlp4 ];
 
   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
@@ -31,10 +33,11 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ camlzip extlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library that parses Java .class files into OCaml data structures";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.lgpl3;
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix
new file mode 100644
index 00000000000..5445fd1e110
--- /dev/null
+++ b/pkgs/development/ocaml-modules/jsonm/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, ocaml, findlib, uutf }:
+
+let version = "0.9.1"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-jsonm-${version}";
+
+  src = fetchurl {
+    url = "http://erratique.ch/software/jsonm/releases/jsonm-${version}.tbz";
+    sha256 = "0wszqrmx8iqlwzvs76fjf4sqh15mv20yjrbyhkd348yq8nhdrm1z";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ uutf ];
+
+  unpackCmd = "tar xjf $src";
+
+  configurePhase = "ocaml setup.ml -configure --prefix $prefix";
+  buildPhase = "ocaml setup.ml -build";
+  createFindlibDestdir = true;
+  installPhase = "ocaml setup.ml -install";
+
+  meta = {
+    description = "An OCaml non-blocking streaming codec to decode and encode the JSON data format";
+    homepage = http://erratique.ch/software/jsonm;
+    licenses = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lablgl/META.patch b/pkgs/development/ocaml-modules/lablgl/META.patch
new file mode 100644
index 00000000000..bf5b2184ac0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgl/META.patch
@@ -0,0 +1,18 @@
+diff -r 562eb6ecb8ca META
+--- a/META	Wed Oct 01 20:09:24 2014 +0100
++++ b/META	Wed Oct 01 20:22:15 2014 +0100
+@@ -1,6 +1,5 @@
+-description "Bindings for OpenGL"
++description="Bindings for OpenGL"
+ version="1.05"
+-directory="+lablGL"
+ archive(byte) = "lablgl.cma"
+ archive(native) = "lablgl.cmxa"
+ 
+@@ -16,4 +15,4 @@
+   requires = "lablgl"
+   archive(byte) = "lablglut.cma"
+   archive(native) = "lablglut.cmxa"
+-)
+\ No newline at end of file
++)
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index 7cefe26746f..7c273061bd1 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, lablgtk, findlib, mesa, freeglut } :
+{stdenv, fetchurl, ocaml, lablgtk, findlib, mesa, freeglut, camlp4 } :
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -14,15 +14,16 @@ stdenv.mkDerivation {
     sha256 = "0qabydd219i4ak7hxgc67496qnnscpnydya2m4ijn3cpbgih7zyq";
   };
 
-  buildInputs = [ocaml findlib lablgtk mesa freeglut ];
+  buildInputs = [ocaml findlib lablgtk freeglut camlp4];
+  propagatedBuildInputs = [ mesa ];
 
-  patches = [ ./Makefile.config.patch ];
+  patches = [ ./Makefile.config.patch ./META.patch ];
 
   preConfigure = ''
     substituteInPlace Makefile.config \
       --subst-var-by BINDIR $out/bin \
       --subst-var-by INSTALLDIR $out/lib/ocaml/${ocaml_version}/site-lib/lablgl \
-      --subst-var-by DLLDIR $out/lib/ocaml/${ocaml_version}/site-lib/lablgl/stublibs \
+      --subst-var-by DLLDIR $out/lib/ocaml/${ocaml_version}/site-lib/lablgl \
       --subst-var-by TKINCLUDES "" \
       --subst-var-by XINCLUDES ""
   '';
@@ -35,10 +36,10 @@ stdenv.mkDerivation {
     cp ./META $out/lib/ocaml/${ocaml_version}/site-lib/lablgl
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html;
     description = "OpenGL bindings for ocaml";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.pSub ];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix
new file mode 100644
index 00000000000..fbe9898fd81
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, ocaml, findlib, camlp4, config-file, lablgtk, xmlm }:
+
+stdenv.mkDerivation {
+  name = "ocaml-lablgtk-extras-1.4";
+  src = fetchurl {
+    url = http://forge.ocamlcore.org/frs/download.php/1282/lablgtkextras-1.4.tar.gz;
+    sha256 = "09fqxwdib7r9yxynknc9gv3jw2hnhj5cak7q5jngk6m8rzvmhfcc";
+  };
+
+  buildInputs = [ ocaml findlib camlp4 ];
+  propagatedBuildInputs = [ config-file lablgtk xmlm ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    homepage = http://gtk-extras.forge.ocamlcore.org/;
+    description = "A collection of libraries and modules useful when developing OCaml/LablGtk2 applications";
+    license = stdenv.lib.licenses.lgpl2Plus;
+    branch = "1.4";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
new file mode 100644
index 00000000000..80e5a72abf5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, findlib, camlp4, config-file, lablgtk, xmlm }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.02";
+
+stdenv.mkDerivation {
+  name = "ocaml-lablgtk-extras-1.5";
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/1453/lablgtkextras-1.5.tar.gz;
+    sha256 = "1bgflgadmy2nqnqjf34zja0jy6f9wpqq8x22qcfilj9g8c9wkrmi";
+  };
+
+  buildInputs = [ ocaml findlib camlp4 ];
+  propagatedBuildInputs = [ config-file lablgtk xmlm ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+    homepage = http://gtk-extras.forge.ocamlcore.org/;
+    description = "A collection of libraries and modules useful when developing OCaml/LablGtk2 applications";
+    license = stdenv.lib.licenses.lgpl2Plus;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
new file mode 100644
index 00000000000..2e50b897f3d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk, libgnomecanvas, libglade, gtksourceview}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "lablgtk";
+  version = "2.14.0";
+in
+
+stdenv.mkDerivation (rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/561/${name}.tar.gz";
+    sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9";
+  };
+
+  buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview];
+
+  configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml_version}/site-lib";
+  buildFlags = "world";
+
+  preInstall = ''
+    mkdir -p $out/lib/ocaml/${ocaml_version}/site-lib
+    export OCAMLPATH=$out/lib/ocaml/${ocaml_version}/site-lib/:$OCAMLPATH
+  '';
+
+  meta = {
+    branch = "2.14";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+      stdenv.lib.maintainers.roconnor
+    ];
+    homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html;
+    description = "LablGTK is is an Objective Caml interface to gtk+";
+    license = stdenv.lib.licenses.lgpl21Plus;
+  };
+})
diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix
index c2f50c4e5b8..4c1665540ec 100644
--- a/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -1,19 +1,21 @@
-{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk, libgnomecanvas, libglade, gtksourceview}:
+{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk, libgnomecanvas, libglade, gtksourceview, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
   pname = "lablgtk";
-  version = "2.16.0";
+  version = "2.18.3";
 in
 
-stdenv.mkDerivation (rec {
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
+stdenv.mkDerivation {
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/979/${name}.tar.gz";
-    sha256 = "a0ea9752eb257dadcfc2914408fff339d4c34357802f02c63329dd41b777de2f";
+    url = https://forge.ocamlcore.org/frs/download.php/1479/lablgtk-2.18.3.tar.gz;
+    sha256 = "1bybn3jafxf4cx25zvn8h2xj9agn1xjbn7j3ywxxqx6az7rfnnwp";
   };
 
-  buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview];
+  buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview camlp4];
 
   configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml_version}/site-lib";
   buildFlags = "world";
@@ -23,14 +25,13 @@ stdenv.mkDerivation (rec {
     export OCAMLPATH=$out/lib/ocaml/${ocaml_version}/site-lib/:$OCAMLPATH
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
-      stdenv.lib.maintainers.roconnor
+    maintainers = with maintainers; [
+      z77z roconnor vbgl
     ];
-    homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html;
-    description = "LablGTK is is an Objective Caml interface to gtk+";
-    license = stdenv.lib.licenses.lgpl21Plus;
+    homepage = http://lablgtk.forge.ocamlcore.org/;
+    description = "An OCaml interface to gtk+";
+    license = licenses.lgpl21Plus;
   };
-})
+}
diff --git a/pkgs/development/ocaml-modules/lablgtkmathview/default.nix b/pkgs/development/ocaml-modules/lablgtkmathview/default.nix
index 333e86fa3fe..299d4972f02 100644
--- a/pkgs/development/ocaml-modules/lablgtkmathview/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtkmathview/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation {
     description = "OCaml bindings for gtkmathview";
     license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
+    broken = true;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lambda-term/1.6.nix b/pkgs/development/ocaml-modules/lambda-term/1.6.nix
new file mode 100644
index 00000000000..9f4b17f9b61
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lambda-term/1.6.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, libev, ocaml, findlib, ocaml_lwt, ocaml_react, zed, camlp4 }:
+
+stdenv.mkDerivation rec {
+  version = "1.6";
+  name = "lambda-term-${version}";
+
+  src = fetchurl {
+    url = https://github.com/diml/lambda-term/archive/1.6.tar.gz;
+    sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09";
+  };
+
+  buildInputs = [ libev ocaml findlib ocaml_lwt ocaml_react ];
+
+  propagatedBuildInputs = [ camlp4 zed ];
+
+  createFindlibDestdir = true;
+
+  meta = { description = "Terminal manipulation library for OCaml";
+    longDescription = ''
+    Lambda-term is a cross-platform library for
+    manipulating the terminal. It provides an abstraction for keys,
+    mouse events, colors, as well as a set of widgets to write
+    curses-like applications.
+
+    The main objective of lambda-term is to provide a higher level
+    functional interface to terminal manipulation than, for example,
+    ncurses, by providing a native OCaml interface instead of bindings to
+    a C library.
+
+    Lambda-term integrates with zed to provide text edition facilities in
+    console applications.
+    '';
+
+    homepage = https://github.com/diml/lambda-term;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+    branch = "1.6";
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix
new file mode 100644
index 00000000000..0186ab055f5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lambda-term/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, libev, ocaml, findlib, ocaml_lwt, ocaml_react, zed, camlp4 }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.01";
+
+stdenv.mkDerivation rec {
+  version = "1.8";
+  name = "lambda-term-${version}";
+
+  src = fetchurl {
+    url = https://github.com/diml/lambda-term/archive/1.8.tar.gz;
+    sha256 = "0hy11x48q5bbh9czjp0w756cyxzr2c6qcnfm5n9f0i1l4qljwpgc";
+  };
+
+  buildInputs = [ libev ocaml findlib ocaml_react ];
+
+  propagatedBuildInputs = [ camlp4 zed ocaml_lwt ];
+
+  createFindlibDestdir = true;
+
+  meta = { description = "Terminal manipulation library for OCaml";
+    longDescription = ''
+    Lambda-term is a cross-platform library for
+    manipulating the terminal. It provides an abstraction for keys,
+    mouse events, colors, as well as a set of widgets to write
+    curses-like applications.
+
+    The main objective of lambda-term is to provide a higher level
+    functional interface to terminal manipulation than, for example,
+    ncurses, by providing a native OCaml interface instead of bindings to
+    a C library.
+
+    Lambda-term integrates with zed to provide text edition facilities in
+    console applications.
+    '';
+
+    homepage = https://github.com/diml/lambda-term;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 9ef10906365..20acb75d931 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -1,29 +1,37 @@
-{stdenv, fetchurl, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl}:
+{stdenv, fetchzip, which, cryptopp, ocaml, findlib, ocaml_react, ocaml_ssl, libev, pkgconfig, ncurses, ocaml_oasis, ocaml_text, glib, camlp4}:
 
 let
-  ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "2.1.1";
+  version = "2.4.6";
+  inherit (stdenv.lib) optional getVersion versionAtLeast;
+  ocaml_version = getVersion ocaml;
 in
 
 stdenv.mkDerivation {
+
+
   name = "ocaml-lwt-${version}";
 
-  src = fetchurl {
-    url = "http://ocsigen.org/download/lwt-${version}.tar.gz";
-    sha256 = "1zjn0sgihryshancn4kna1xslhc8gifliny1qd3a85f72xxxnw0w";
+  src = fetchzip {
+    url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz";
+    sha256 = "0idci0zadpb8hmblszsrvg6yf36w5a9y6rsdwjc3jww71dgrw5d9";
   };
 
-  buildInputs = [which cryptopp ocaml findlib ocaml_react ocaml_ssl];
+  buildInputs = [ocaml_oasis pkgconfig which cryptopp ocaml findlib glib libev ncurses camlp4];
+
+  propagatedBuildInputs = [ ocaml_react ocaml_ssl ocaml_text ];
+
+  configureFlags = [ "--enable-react" "--enable-glib" "--enable-ssl" "--enable-text" "--disable-ppx" ]
+  ++ optional (versionAtLeast ocaml_version "4.0" && ! versionAtLeast ocaml_version "4.02") "--enable-toplevel";
 
-  configurePhase = "true";
+  createFindlibDestdir = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://ocsigen.org/lwt;
     description = "Lightweight thread library for Objective Caml";
-    license = "LGPL";
+    license = licenses.lgpl21;
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
+    maintainers = with maintainers; [
+      z77z vbgl gal_bolle
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/macaque/default.nix b/pkgs/development/ocaml-modules/macaque/default.nix
new file mode 100644
index 00000000000..f2d13ad1f13
--- /dev/null
+++ b/pkgs/development/ocaml-modules/macaque/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, ocaml, findlib, pgocaml, camlp4}:
+
+stdenv.mkDerivation {
+  name = "ocaml-macaque-0.7.1";
+  src = fetchurl {
+    url = https://github.com/ocsigen/macaque/archive/0.7.1.tar.gz;
+    sha256 = "0wnq3pgpcrfpivr8j7p827rhag6hdx0yr0bdvma0hw1g30vwf9qa";
+  };
+
+  buildInputs = [ ocaml findlib camlp4 ];
+  propagatedBuildInputs = [ pgocaml ];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    description = "Macros for Caml Queries";
+    homepage = https://github.com/ocsigen/macaque;
+    license = licenses.lgpl2;
+    platforms = ocaml.meta.platforms;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/magick/default.nix b/pkgs/development/ocaml-modules/magick/default.nix
new file mode 100644
index 00000000000..2d24fefa205
--- /dev/null
+++ b/pkgs/development/ocaml-modules/magick/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, which, pkgconfig, ocaml, findlib, imagemagick }:
+
+stdenv.mkDerivation {
+  name = "ocaml-magick-0.34";
+  src = fetchurl {
+    url = http://www.linux-nantes.org/~fmonnier/OCaml/ImageMagick/ImageMagick/OCaml-ImageMagick-0.34.tgz;
+    sha256 = "0gn9l2qdr8gby2x8c2mb59x1kipb2plr45rbq6ymcxyi0wmzfh3q";
+  };
+
+  nativeBuildInputs = [ which pkgconfig ];
+  buildInputs = [ ocaml findlib imagemagick ];
+
+  createFindlibDestdir = true;
+
+  installTargets = [ "find_install" ];
+
+  meta = {
+    homepage = http://www.linux-nantes.org/~fmonnier/OCaml/ImageMagick/;
+    description = "ImageMagick Binding for OCaml";
+    license = stdenv.lib.licenses.mit;
+    platforms = imagemagick.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix
index 0ae60ab07e4..4ffef60c4bf 100644
--- a/pkgs/development/ocaml-modules/mysql/default.nix
+++ b/pkgs/development/ocaml-modules/mysql/default.nix
@@ -23,14 +23,14 @@ stdenv.mkDerivation {
      "--libdir=$out/lib/ocaml/${ocaml_version}/site-lib/mysql"
   ];
 
-  buildInputs = [ocaml findlib mysql];
+  buildInputs = [ocaml findlib mysql.lib ];
 
   createFindlibDestdir = true;
 
-  propagatedbuildInputs = [mysql];
+  propagatedbuildInputs = [ mysql.lib ];
 
   preConfigure = ''
-    export LDFLAGS="-L${mysql}/lib/mysql"
+    export LDFLAGS="-L${mysql.lib}/lib/mysql"
   '';
 
   buildPhase = ''
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
index 94395f601aa..f77bd3acc62 100644
--- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, automake, ocaml, autoconf, gnum4, pkgconfig, freetype, lablgtk, unzip, cairo, findlib, gdk_pixbuf, glib, gtk, pango }: 
+{stdenv, fetchurl, automake, ocaml, autoconf, gnum4, pkgconfig, freetype, lablgtk, unzip, cairo, findlib, gdk_pixbuf, glib, gtk, pango }:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -9,21 +9,22 @@ in
 stdenv.mkDerivation {
   name = "${pname}-${version}";
 
-  src = fetchurl { 
+  src = fetchurl {
     url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip";
-    sha256 = "2d59678e322c331e3f4bc02a77240fce4a0917acb0d3ae75953a6ac62d70a125";
+    sha256 = "0l4p9bp6kclr570mxma8wafibr1g5fsjj8h10yr4b507g0hmlh0l";
   };
 
   patches = [ ./META.patch ];
 
-  buildInputs = [ocaml automake gnum4 autoconf unzip pkgconfig findlib freetype lablgtk cairo gdk_pixbuf gtk pango ];
+  buildInputs = [ ocaml automake gnum4 autoconf unzip pkgconfig
+                  findlib freetype lablgtk cairo gdk_pixbuf gtk pango ];
 
   createFindlibDestdir = true;
 
  preConfigure = ''
    aclocal -I support
    autoconf
-   export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib  gtk+ pango`" 
+   export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib gtk+ pango`"
    export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2
    cp ${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2/pango.ml ./src
    cp ${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2/gaux.ml ./src
@@ -39,6 +40,6 @@ stdenv.mkDerivation {
     homepage = http://cairographics.org/cairo-ocaml;
     description = "ocaml bindings for cairo library";
     license = stdenv.lib.licenses.gpl2;
-#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo2/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo2/default.nix
new file mode 100644
index 00000000000..97178ac701f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-cairo2/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, ocaml, findlib, pkgconfig, cairo, lablgtk, gtk,
+  enableGtkSupport ? true # Whether to compile with support for Gtk
+                          # integration (library file cairo2_gtk). Depends
+                          # on lablgtk and gtk.
+}:
+
+let
+  inherit (stdenv.lib) optionals;
+  pname = "ocaml-cairo2";
+  version = "0.4.6";
+in
+
+stdenv.mkDerivation {
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://forge.ocamlcore.org/frs/download.php/1279/cairo2-0.4.6.tar.gz";
+    sha256 = "1lc1iv5yz49avbc0wbrw9nrx8dn0c35r7cykivjln1zc2fwscf7w";
+  };
+
+  buildInputs = [ ocaml findlib pkgconfig cairo ]
+                ++ optionals enableGtkSupport [ gtk ];
+
+  # lablgtk2 is marked as a propagated build input since loading the
+  # cairo.lablgtk2 package from the toplevel tries to load lablgtk2 as
+  # well.
+  propagatedBuildInputs = optionals enableGtkSupport [ lablgtk ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out"
+                 + (if enableGtkSupport then " --enable-lablgtk2"
+                                        else " --disable-lablgtk2");
+
+  buildPhase = "ocaml setup.ml -build";
+
+  installPhase = "ocaml setup.ml -install";
+
+  meta = with stdenv.lib; {
+    homepage = "http://forge.ocamlcore.org/projects/cairo";
+    description = "Binding to Cairo, a 2D Vector Graphics Library";
+    longDescription = ''
+      This is a binding to Cairo, a 2D graphics library with support for
+      multiple output devices. Currently supported output targets include
+      the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
+      and SVG file output.
+    '';
+    license = licenses.lgpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
new file mode 100644
index 00000000000..09cfe1c350d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-ipaddr/default.nix
@@ -0,0 +1,23 @@
+{ocaml, findlib, stdenv, fetchurl, ocaml_sexplib}:
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+stdenv.mkDerivation {
+  name = "ocaml-ipaddr-2.5.0";
+  
+  src = fetchurl {
+    url = https://github.com/mirage/ocaml-ipaddr/archive/2.5.0.tar.gz;
+    sha256 = "0zpslxzjs5zdw20j3jaf6fr0w2imnidhrzggmnvwp198r76aq917";
+  };
+
+  buildInputs = [ocaml findlib];
+  propagatedBuildInputs = [ocaml_sexplib];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    description = "An OCaml library for manipulation of IP (and MAC) address representations";
+    license = licenses.isc;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+  
+}
diff --git a/pkgs/development/ocaml-modules/ocaml-text/default.nix b/pkgs/development/ocaml-modules/ocaml-text/default.nix
new file mode 100644
index 00000000000..44b30b368b3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-text/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, libiconv, ocaml, findlib, ncurses}:
+
+stdenv.mkDerivation {
+  name = "ocaml-text-0.6";
+
+  src = fetchurl {
+    url = https://forge.ocamlcore.org/frs/download.php/937/ocaml-text-0.6.tar.gz;
+    sha256 = "0j8gaak0ajnlmn8knvfygqwwzs7awjv5rfn5cbj6qxqbxhjd5m6g";
+  };
+
+  buildInputs = [ocaml findlib ncurses libiconv];
+
+  configurePhase = "iconv_prefix=${libiconv} ocaml setup.ml -configure";
+
+  createFindlibDestdir = true;
+
+
+  meta = {
+    homepage = "http://ocaml-text.forge.ocamlcore.org/";
+    description = "OCaml-Text is a library for dealing with ``text'', i.e. sequence of unicode characters, in a convenient way. ";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocamlfuse/default.nix b/pkgs/development/ocaml-modules/ocamlfuse/default.nix
new file mode 100644
index 00000000000..ce9f2cc02ed
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlfuse/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, ocaml, camlidl, fuse, findlib }:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+stdenv.mkDerivation rec {
+  name = "ocamlfuse-2.7-1";
+  src = fetchgit {
+    url = "https://github.com/astrada/ocamlfuse";
+    rev = "c436c16dbf458bc69b1166b08baf9ec0d6f9042d";
+    sha256 = "4a72097cbcb375c2be92a5c9a44f3511670fac0815d6d00f38dc7c6879e9825d";
+  };
+
+  buildInputs = [ocaml findlib];
+  propagatedBuildInputs = [camlidl fuse];
+  configurePhase = '' ocaml setup.ml -configure --prefix $out '';
+  buildPhase = "ocaml setup.ml -build";
+  installPhase = "ocaml setup.ml -install";
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = "http://sourceforge.net/projects/ocamlfuse";
+    license = stdenv.lib.licenses.gpl2;
+    description = "ocaml binding for fuse";
+    maintainers = with stdenv.lib.maintainers; [ bennofs ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index 9f411dd2a6f..c7427558314 100644
--- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     sha256 = "0bxqxzd5sd7siz57vhzb8bmiz1ddhgdv49gcsmwwfmd16mj4cryi";
   };
 
-  buildInputs = [ ocaml findlib ocamlPackages.lablgtk ];
+  buildInputs = [ ocaml findlib ocamlPackages.lablgtk ocamlPackages.camlp4 ];
 
   patches = ./destdir.patch;
 
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://ocamlgraph.lri.fr/;
     description = "Graph library for Objective Caml";
-    license = "GNU Library General Public License version 2, with the special exception on linking described in file LICENSE";
+    license = stdenv.lib.licenses.gpl2Oss;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.kkallio
diff --git a/pkgs/development/ocaml-modules/ocamlnat/default.nix b/pkgs/development/ocaml-modules/ocamlnat/default.nix
index a8e0f28628a..dc5d191f75a 100644
--- a/pkgs/development/ocaml-modules/ocamlnat/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnat/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   meta = {
     description = "OCaml native toplevel";
     homepage = http://benediktmeurer.de/ocamlnat/;
-    license = "QPL";
+    license = stdenv.lib.licenses.qpl;
     longDescription = ''
       The ocamlnat project provides a new native code OCaml toplevel
       ocamlnat, which is mostly compatible to the byte code toplevel ocaml,
diff --git a/pkgs/development/ocaml-modules/ocamlnet/configure.patch b/pkgs/development/ocaml-modules/ocamlnet/configure.patch
deleted file mode 100644
index 38b240f3c2c..00000000000
--- a/pkgs/development/ocaml-modules/ocamlnet/configure.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -Naur ocamlnet-3.6.3.ori/configure ocamlnet-3.6.3/configure
---- ocamlnet-3.6.3.ori/configure	2013-01-14 00:04:59.000000000 +0000
-+++ ocamlnet-3.6.3/configure	2013-06-02 21:33:08.000000000 +0000
-@@ -642,59 +642,6 @@
- 	exit 1
-     fi
- 
--    printf "%s" "Checking whether lablgtk2 has GMain.Io.remove... "
--    mkdir -p tmp
--    cat <<EOF >tmp/gtk.ml
--let _ = GMain.Io.remove;;
--EOF
--
--    if ocamlfind ocamlc -package lablgtk2 -c tmp/gtk.ml >/dev/null 2>/dev/null;
--    then
--        echo "yes"
--    else
--        echo "no"
--        echo "Your version of lablgtk2 is too old!"
--	exit 1
--    fi
--    
--    printf "%s" "Checking whether lablgtk2 has GMain.Io.add_watch with list support... "
--    mkdir -p tmp
--    cat <<'EOF' >tmp/gtk.ml
--open GMain.Io
--let _ = (add_watch : cond:condition list -> callback:(condition list -> bool) -> ?prio:int -> channel -> id);;
--exit 0
--EOF
--    # Note: this newer API is never broken in the sense checked below, i.e.
--    # such lablgtk2 versions do not exist.
--    if ocamlfind ocamlc -package unix,lablgtk2 -linkpkg -o tmp/gtk tmp/gtk.ml >/dev/null 2>/dev/null && tmp/gtk; then
--        echo "yes"
--        gtk2_io_add_watch_supports_lists="-ppopt -DGTK2_IO_ADD_WATCH_SUPPORTS_LISTS"
--    else
--        echo "no"
--        printf "%s" "Checking whether lablgtk2's GMain.Io.add_watch is broken... "
--        mkdir -p tmp
--        cat <<'EOF' >tmp/gtk.ml
--GMain.Main.init();;
--let ch = GMain.Io.channel_of_descr (Unix.stdout) in
--let w = GMain.Io.add_watch
--          ~cond:`OUT ~callback:(fun () -> true) ch in
--(* add_watch is broken when it just returns Val_unit, and ok when it
-- * returns a positive int
-- *)
--if (Obj.magic w : int) > 0 then
--  exit 0
--else
--  exit 1
--EOF
--	if ocamlfind ocamlc -package unix,lablgtk2 -linkpkg -o tmp/gtk tmp/gtk.ml >/dev/null 2>/dev/null && tmp/gtk; then
--            echo "no"
--        else
--            echo "yes"
--            echo "You should apply the patch-ab-ml_glib.c to lablgtk2 to fix this!"
--	    exit 1
--        fi
--    fi
--
-     for f in Makefile uq_gtk.ml uq_gtk.mli uq_gtk_helper.ml; do
- 	rm -f src/equeue-gtk2/$f
- 	ln -s ../equeue-gtk1/$f src/equeue-gtk2
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index f1bf39a283d..0948b7132a4 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -5,19 +5,17 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ocamlnet-3.7.3";
+  name = "ocamlnet-3.7.7";
 
   src = fetchurl {
-    url = http://download.camlcity.org/download/ocamlnet-3.7.3.tar.gz;
-    sha256 = "0s24icyrxkqqai91rgxpf52s1fx70j7p12c8vq9vcmvdhll6kp2d";
+    url = http://download.camlcity.org/download/ocamlnet-3.7.7.tar.gz;
+    sha256 = "02bnks9jshpq9nqva5lky5hl009yp19cgvf1izjca620hx54d3jv";
   };
 
   buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl cryptokit];
 
   propagatedbuildInputs = [ncurses ocaml_pcre camlzip openssl ocaml_ssl cryptokit];
 
-  patches = [ ./configure.patch ];
-
   createFindlibDestdir = true;
 
   dontAddPrefix = true;
diff --git a/pkgs/development/ocaml-modules/ocplib-endian/default.nix b/pkgs/development/ocaml-modules/ocplib-endian/default.nix
new file mode 100644
index 00000000000..aede92fc0f0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocplib-endian/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchzip, ocaml, findlib, cppo }:
+
+let version = "0.8"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-ocplib-endian-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/OCamlPro/ocplib-endian/archive/${version}.tar.gz";
+    sha256 = "12xjvzw245mj4s02dgi4k2sx5gam7wxi4mbxmz6k18zg64n48yjd";
+  };
+
+  buildInputs = [ ocaml findlib cppo ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "Optimised functions to read and write int16/32/64";
+    homepage = https://github.com/OCamlPro/ocplib-endian;
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
new file mode 100644
index 00000000000..89efb58ecbb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchzip, ocaml, findlib, oasis, ocaml_optcomp, camlp4 }:
+
+let version = "0.7"; in
+
+stdenv.mkDerivation {
+  name = "ocsigen-deriving-${version}";
+  src = fetchzip {
+    url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz";
+    sha256 = "05z606gly1iyan292x3mflg3zasgg68n8i2mivz0zbshx2hz2jbw";
+    };
+
+  buildInputs = [ ocaml findlib oasis ocaml_optcomp camlp4 ];
+
+  createFindlibDestdir = true;
+
+  meta =  {
+    homepage = https://github.com/ocsigen/deriving;
+    description = "Extension to OCaml for deriving functions from type declarations";
+    license = stdenv.lib.licenses.mit;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [
+      gal_bolle vbgl
+    ];
+  };
+
+
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
new file mode 100644
index 00000000000..d5c066ae2aa
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -0,0 +1,41 @@
+{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl,
+ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ocaml_ipaddr, zlib,
+libev, openssl, ocaml_sqlite3, tree, uutf}:
+
+stdenv.mkDerivation {
+  name = "ocsigenserver-2.5";
+  
+  src = fetchurl {
+    url = https://github.com/ocsigen/ocsigenserver/archive/2.5.tar.gz;
+    sha256 = "0ayzlzjwg199va4sclsldlcp0dnwdj45ahhg9ckb51m28c2pw46r";
+  };
+
+  buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt
+  ocamlnet ocaml_pcre cryptokit tyxml ocaml_ipaddr zlib libev openssl
+  ocaml_sqlite3 tree uutf];
+
+  configureFlags = "--root $(out) --prefix /";
+
+  dontAddPrefix = true;
+
+  createFindlibDestdir = true;
+
+  postFixup = 
+  ''
+  rm -rf $out/var/run
+  '';
+
+  dontPatchShebangs = true;
+
+  meta = {
+    homepage = http://ocsigen.org/ocsigenserver/;
+    description = "A full featured Web server";
+    longDescription =''
+      A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages.
+      '';
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ stdenv.lib.maintainers.gal_bolle ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix
new file mode 100644
index 00000000000..73670fb3125
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocurl/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, ocaml, findlib, fetchurl, curl, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "ocurl-0.7.2";
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1463/${name}.tar.gz";
+    sha256 = "0yn7f3g5wva8nqxh76adpq9rihggc405jkqysfghzwnf3yymyqrr";
+  };
+
+  buildInputs = [ocaml findlib curl ncurses];
+  createFindlibDestdir = true;
+  meta = {
+    description = "OCaml bindings to libcurl";
+    license = stdenv.lib.licenses.bsd3;
+    homepage = http://ocurl.forge.ocamlcore.org/;
+    maintainers = with stdenv.lib.maintainers; [ bennofs ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/odn/default.nix b/pkgs/development/ocaml-modules/odn/default.nix
index 5f72afcf766..bfffb67d4b0 100644
--- a/pkgs/development/ocaml-modules/odn/default.nix
+++ b/pkgs/development/ocaml-modules/odn/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, ounit}:
+{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, ounit, camlp4}:
 
 stdenv.mkDerivation {
   name = "ocaml-data-notation-0.0.11";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "09a8zdyifpc2nl4hdvg9206142y31cq95ajgij011s1qcg3z93lj";
   };
 
-  buildInputs = [ocaml findlib ocaml_typeconv ounit];
+  buildInputs = [ocaml findlib ocaml_typeconv ounit camlp4];
 
   createFindlibDestdir = true;
 
@@ -16,13 +16,13 @@ stdenv.mkDerivation {
   buildPhase     = "ocaml setup.ml -build";
   installPhase   = "ocaml setup.ml -install";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Store data using OCaml notation";
     homepage = https://forge.ocamlcore.org/projects/odn/;
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
     platforms = ocaml.meta.platforms;
-    maintainers = with stdenv.lib.maintainers; [
-      z77z
+    maintainers = with maintainers; [
+      vbgl z77z
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ojquery/default.nix b/pkgs/development/ocaml-modules/ojquery/default.nix
new file mode 100644
index 00000000000..c048f62e89c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ojquery/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit, ocaml, findlib, js_of_ocaml, camlp4 }:
+
+stdenv.mkDerivation rec {
+  version = "0.1";
+  name = "ocaml-ojquery-${version}";
+  src = fetchgit {
+    url = https://github.com/ocsigen/ojquery.git;
+    rev = "refs/tags/${version}";
+    sha256 = "1x3cidxxjyw0g7afvczdy6chw3nxb0dcz2psgxchqgv34dcwf0l0";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ js_of_ocaml camlp4 ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "jQuery Binding for Eliom";
+    homepage = http://ocsigen.org/ojquery/;
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix
new file mode 100644
index 00000000000..4449766767c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/optcomp/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
+
+stdenv.mkDerivation {
+  name = "ocaml-optcomp";
+  src = fetchurl {
+    url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
+    md5 = "d3587244dba1b8b10f24d0b60a8c700d";
+    };
+  
+  createFindlibDestdir = true;
+
+  buildInputs = [ocaml findlib camlp4];
+
+
+  meta =  {
+    homepage = https://github.com/diml/optcomp;
+    description = "Optional compilation for OCaml with cpp-like directives";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/otfm/default.nix b/pkgs/development/ocaml-modules/otfm/default.nix
new file mode 100644
index 00000000000..5a118c0bcd8
--- /dev/null
+++ b/pkgs/development/ocaml-modules/otfm/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, ocaml, findlib, opam, uutf }:
+
+let
+  inherit (stdenv.lib) getVersion versionAtLeast;
+
+  pname = "otfm";
+  version = "0.2.0";
+  webpage = "http://erratique.ch/software/${pname}";
+in
+
+assert versionAtLeast (getVersion ocaml) "4.01.0";
+
+stdenv.mkDerivation rec {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/releases/${pname}-${version}.tbz";
+    sha256 = "1wgi9plf98gd7x3b7fzjxds089sivsap97bl1bw2lj73nxwnyb9c";
+  };
+
+  buildInputs = [ ocaml findlib opam ];
+
+  propagatedBuildInputs = [ uutf ];
+
+  createFindlibDestdir = true;
+
+  unpackCmd = "tar xjf $src";
+
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+
+  installPhase = ''
+    opam-installer --script --prefix=$out ${pname}.install | sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenType font decoder for OCaml";
+    longDescription = ''
+      Otfm is an in-memory decoder for the OpenType font data format. It
+      provides low-level access to font tables and functions to decode some
+      of them.
+    '';
+    homepage = "${webpage}";
+    platforms = ocaml.meta.platforms;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index 43ec474cf5e..ba0ce29bdf9 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -8,11 +8,11 @@ stdenv.mkDerivation {
   name = "ounit-2.0.0";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/886/ounit-2.0.0.tar.gz;
-    sha256 = "1qw8k2czy0bxhsf25kfpgywhpqmg7bi57rmyhlnmbddmvc61pg76";
+    url = https://forge.ocamlcore.org/frs/download.php/1258/ounit-2.0.0.tar.gz;
+    sha256 = "118xsadrx84pif9vaq13hv4yh22w9kmr0ypvhrs0viir1jr0ajjd";
   };
 
-  buildInputs = [ocaml findlib];
+  buildInputs = [ocaml findlib camlp4];
 
   dontAddPrefix = true;
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   meta = {
-    homepage = http://www.xs4all.nl/~mmzeeman/ocaml/;
+    homepage = http://ounit.forge.ocamlcore.org/;
     description = "Unit test framework for OCaml";
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms;
diff --git a/pkgs/development/ocaml-modules/pgocaml/default.nix b/pkgs/development/ocaml-modules/pgocaml/default.nix
new file mode 100644
index 00000000000..f1166d1c324
--- /dev/null
+++ b/pkgs/development/ocaml-modules/pgocaml/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, ocaml, findlib, camlp4, calendar, csv, ocaml_pcre}:
+
+stdenv.mkDerivation {
+  name = "ocaml-pgocaml-2.1";
+  src = fetchurl {
+    url = http://forge.ocamlcore.org/frs/download.php/1413/pgocaml-2.1.tgz;
+    sha256 = "0m7whlmhm7z58pfaarvkyiwaylmrz05aj6fr773zd9xlv07ljiym";
+  };
+
+  buildInputs = [ocaml findlib camlp4];
+  propagatedBuildInputs = [calendar csv ocaml_pcre];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    description = "An interface to PostgreSQL databases for OCaml applications";
+    homepage = http://pgocaml.forge.ocamlcore.org/;
+    license = licenses.lgpl2;
+    platforms = ocaml.meta.platforms;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/pprint/default.nix b/pkgs/development/ocaml-modules/pprint/default.nix
new file mode 100644
index 00000000000..18cc4817b13
--- /dev/null
+++ b/pkgs/development/ocaml-modules/pprint/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-pprint-20140424";
+
+  src = fetchurl {
+    url = http://gallium.inria.fr/~fpottier/pprint/pprint-20140424.tar.gz;
+    sha256 = "0sc9q89dnyarcg24czyhr6ams0ylqvia3745s6rfwd2nldpygsdk";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  dontBuild = true;
+  installFlags = "-C src";
+
+  meta = with stdenv.lib; {
+    homepage = http://gallium.inria.fr/~fpottier/pprint/;
+    description = "An OCaml adaptation of Wadler’s and Leijen’s prettier printer";
+    license = licenses.cecill-c;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/qtest/default.nix b/pkgs/development/ocaml-modules/qtest/default.nix
new file mode 100644
index 00000000000..e68a8729c01
--- /dev/null
+++ b/pkgs/development/ocaml-modules/qtest/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchzip, ocaml, oasis, findlib, ounit }:
+
+let version = "2.0.1"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-qtest-${version}";
+  src = fetchzip {
+    url = "https://github.com/vincent-hugot/iTeML/archive/v${version}.tar.gz";
+    sha256 = "00sir7q7z78s22w8fzrgw9gqm7r8ww0bgwqxrq6nsbbclgxj9c6i";
+  };
+
+  buildInputs = [ ocaml oasis findlib ];
+  propagatedBuildInputs = [ ounit ];
+
+  buildPhase = "ocaml do.ml qtest build $out";
+  createFindlibDestdir = true;
+  installPhase = "ocaml do.ml qtest install $out";
+
+  meta = {
+    description = "Inline (Unit) Tests for OCaml (formerly “qtest”)";
+    homepage = https://github.com/vincent-hugot/iTeML;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/re/default.nix b/pkgs/development/ocaml-modules/re/default.nix
new file mode 100644
index 00000000000..b2dd0609a0e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/re/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchzip, ocaml, findlib }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml-re-1.3.1";
+
+  src = fetchzip {
+    url = "https://github.com/ocaml/ocaml-re/archive/${name}.tar.gz";
+    sha256 = "11d4k43pc97kvdbjgjcxpc0gq6yal4galkxlrfdp1iypwdcni92g";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+  buildPhase = "ocaml setup.ml -build";
+  installPhase = "ocaml setup.ml -install";
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/ocaml/ocaml-re;
+    platforms = ocaml.meta.platforms;
+    description = "Pure OCaml regular expressions, with support for Perl and POSIX-style strings";
+    license = stdenv.lib.licenses.lgpl2;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix
index 6b0e694d54a..dfc8dcd1439 100644
--- a/pkgs/development/ocaml-modules/react/default.nix
+++ b/pkgs/development/ocaml-modules/react/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ocaml, findlib, opam}:
 
 stdenv.mkDerivation {
-  name = "ocaml-react-1.0.1";
+  name = "ocaml-react-1.1.0";
 
   src = fetchurl {
-    url = "http://erratique.ch/software/react/releases/react-1.0.1.tbz";
-    sha256 = "007c9kzl0i6xvxnqj9jny4hgm28v9a1i079q53vl5hfb5f7h1mda";
+    url = http://erratique.ch/software/react/releases/react-1.1.0.tbz;
+    sha256 = "1gymn8hy7ga0l9qymmb1jcnnkqvy7l2zr87xavzqz0dfi9ci8dm7";
   };
 
   unpackCmd = "tar xjf $src";
@@ -15,8 +15,13 @@ stdenv.mkDerivation {
 
   configurePhase = "ocaml pkg/git.ml";
   buildPhase     = "ocaml pkg/build.ml native=true native-dynlink=true";
-  installPhase   = ''
+
+  installPhase   =
+  let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
+  in
+   ''
     opam-installer --script --prefix=$out react.install > install.sh
+    sed -i s!lib/react!lib/ocaml/${ocamlVersion}/site-lib/react! install.sh
     sh install.sh
   '';
 
@@ -25,6 +30,6 @@ stdenv.mkDerivation {
     description = "Applicative events and signals for OCaml";
     license = licenses.bsd3;
     platforms = ocaml.meta.platforms;
-    maintainers = with maintainers; [ z77z vbmithr ];
+    maintainers = with maintainers; [ z77z vbmithr gal_bolle];
   };
 }
diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix
new file mode 100644
index 00000000000..eecae885302
--- /dev/null
+++ b/pkgs/development/ocaml-modules/reactivedata/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_react, opam}:
+
+let
+  ocamlVersion = stdenv.lib.getVersion ocaml;
+in
+
+assert stdenv.lib.versionAtLeast ocamlVersion "3.11";
+
+stdenv.mkDerivation {
+  name = "ocaml-reactiveData-0.1";
+  src = fetchurl {
+    url = https://github.com/hhugo/reactiveData/archive/0.1.tar.gz;
+    sha256 = "056y9in6j6rpggdf8apailvs1m30wxizpyyrj08xyfxgv91mhxgw";
+  };
+
+  buildInputs = [ocaml findlib opam];
+  propagatedBuildInputs = [ocaml_react];
+
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+
+  installPhase = ''
+    opam-installer --script --prefix=$out reactiveData.install > install.sh
+    sed -i s!lib/reactiveData!lib/ocaml/${ocamlVersion}/site-lib/reactiveData! install.sh
+    sh install.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An OCaml module for functional reactive programming (FRP) based on React";
+    homepage = https://github.com/hhugo/reactiveData;
+    license = licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/safepass/default.nix b/pkgs/development/ocaml-modules/safepass/default.nix
new file mode 100644
index 00000000000..7fc5dadda74
--- /dev/null
+++ b/pkgs/development/ocaml-modules/safepass/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, ocaml, findlib }:
+
+stdenv.mkDerivation {
+  name = "ocaml-safepass-1.3";
+  src = fetchurl {
+    url = http://forge.ocamlcore.org/frs/download.php/1432/ocaml-safepass-1.3.tgz;
+    sha256 = "0lb8xbpyc5d1zml7s7mmcr6y2ipwdp7qz73lkv9asy7dyi6cj15g";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = http://ocaml-safepass.forge.ocamlcore.org/;
+    description = "An OCaml library offering facilities for the safe storage of user passwords";
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index bed87a50f81..534a7684cec 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -1,4 +1,7 @@
-{stdenv, fetchurl, which, perl, ocaml, findlib, javalib }:
+{stdenv, fetchurl, which, perl, ocaml, findlib, javalib, camlp4 }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
 let
   pname = "sawja";
   version = "1.5";
@@ -13,21 +16,24 @@ stdenv.mkDerivation rec {
     sha256 = "0i8qgqkw9vgj6k2g6npss268ivxdkzx5qj2a52jbd8ih59rn68cm";
   };
 
-  buildInputs = [ which perl ocaml findlib javalib ];
+  buildInputs = [ which perl ocaml findlib camlp4 ];
 
   patches = [ ./configure.sh.patch ./Makefile.config.example.patch ];
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
   propagatedBuildInputs = [ javalib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/sexplib/108.08.00.nix b/pkgs/development/ocaml-modules/sexplib/108.08.00.nix
new file mode 100644
index 00000000000..bde9c271371
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sexplib/108.08.00.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, ocaml, findlib, typeconv, camlp4}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "3.12" ocaml_version;
+
+stdenv.mkDerivation {
+  name = "ocaml-sexplib-108.08.00";
+
+  src = fetchurl {
+    url = https://ocaml.janestreet.com/ocaml-core/108.08.00/individual/sexplib-108.08.00.tar.gz;
+    sha256 = "11z1k1d7dbb5m957klgalimpr0r602xp5zkkbgbffib1bphasarg";
+  };
+
+  buildInputs = [ocaml findlib];
+  propagatedBuildInputs = [typeconv camlp4];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    branch = "108";
+    homepage = https://ocaml.janestreet.com/;
+    description = "Library for serializing OCaml values to and from S-expressions";
+    license = licenses.asl20;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sexplib/default.nix b/pkgs/development/ocaml-modules/sexplib/default.nix
index 7c40b5e6cfb..a32c6a0e2ce 100644
--- a/pkgs/development/ocaml-modules/sexplib/default.nix
+++ b/pkgs/development/ocaml-modules/sexplib/default.nix
@@ -1,22 +1,29 @@
-{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv}:
+{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, camlp4}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "4.00" ocaml_version;
 
 stdenv.mkDerivation {
-  name = "ocaml-sexplib-7.0.5";
+  name = "ocaml-sexplib-111.25.0";
 
   src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/832/sexplib-7.0.5.tar.gz";
-    sha256 = "b1022da052254581aae51fb634345920364439f715a2c786abcd0b828c2ce697";
+    url = https://ocaml.janestreet.com/ocaml-core/111.25.00/individual/sexplib-111.25.00.tar.gz;
+    sha256 = "0qh0zqp5nakqpmmhh4x7cg03vqj3j2bj4zj0nqdlksai188p9ila";
   };
 
-  patches = [ ./sexp-3.10-compat.patch ./sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch ];
-  buildInputs = [ocaml findlib ocaml_typeconv ];
+  buildInputs = [ocaml findlib];
+  propagatedBuildInputs = [ocaml_typeconv camlp4];
 
   createFindlibDestdir = true;
 
-  meta = {
-    homepage = "http://forge.ocamlcore.org/projects/sexplib/";
+  meta = with stdenv.lib; {
+    homepage = https://ocaml.janestreet.com/;
     description = "Library for serializing OCaml values to and from S-expressions";
-    license = "LGPL";
+    license = licenses.asl20;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch b/pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch
deleted file mode 100644
index 45e2abc6186..00000000000
--- a/pkgs/development/ocaml-modules/sexplib/sexp-3.10-compat.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-diff -ur orig/sexplib-7.0.5/lib/conv.ml sexplib-7.0.5/lib/conv.ml
---- orig/sexplib-7.0.5/lib/conv.ml	2012-03-20 17:41:54.000000000 +0100
-+++ sexplib-7.0.5/lib/conv.ml	2012-03-26 20:04:58.128032729 +0200
-@@ -665,7 +665,7 @@
-         | Parse_error pe ->
-             let ppos =
-               match pe.parse_state with
--              | `Sexp { parse_pos } | `Annot { parse_pos } -> parse_pos
-+              | `Sexp { parse_pos = parse_pos } | `Annot { parse_pos = parse_pos } -> parse_pos
-             in
-             List [
-               Atom "Sexplib.Sexp.Parse_error";
-diff -ur orig/sexplib-7.0.5/lib/pre_sexp.ml sexplib-7.0.5/lib/pre_sexp.ml
---- orig/sexplib-7.0.5/lib/pre_sexp.ml	2012-03-20 17:41:54.000000000 +0100
-+++ sexplib-7.0.5/lib/pre_sexp.ml	2012-03-26 20:04:58.129032741 +0200
-@@ -172,13 +172,7 @@
- (* Output of S-expressions to file *)
- 
- let save_of_output ?perm output_function file sexp =
--  let tmp_name, oc =
--    let temp_dir =
--      if Filename.is_relative file then "."
--      else Filename.dir_sep
--    in
--    Filename.open_temp_file ~temp_dir file "tmp"
--  in
-+  let tmp_name, oc = Filename.open_temp_file file "tmp" in
-   try
-     output_function oc sexp;
-     close_out oc;
-@@ -316,9 +310,9 @@
-     else if text_char < 0 then fail "text_char < 0"
-     else if global_offset < 0 then fail "global_offset < 0"
-     else if buf_pos < 0 then fail "buf_pos < 0"
--    else { text_line; text_char; global_offset; buf_pos }
-+    else { text_line = text_line; text_char = text_char; global_offset = global_offset; buf_pos = buf_pos }
- 
--  let with_buf_pos t buf_pos = { t with buf_pos }
-+  let with_buf_pos t buf_pos = { t with buf_pos = buf_pos }
- end
- 
- type ('a, 't) parse_result =
-@@ -347,11 +341,11 @@
- 
- exception Parse_error of parse_error
- 
--let bump_text_line { parse_pos } =
-+let bump_text_line { parse_pos = parse_pos } =
-   parse_pos.Parse_pos.text_line <- parse_pos.Parse_pos.text_line + 1;
-   parse_pos.Parse_pos.text_char <- 0
- 
--let bump_text_pos { parse_pos } =
-+let bump_text_pos { parse_pos = parse_pos } =
-   parse_pos.Parse_pos.text_char <- parse_pos.Parse_pos.text_char + 1
- 
- let bump_pos_cont state str ~max_pos ~pos cont =
-@@ -378,18 +372,18 @@
-   parse_pos.Parse_pos.buf_pos <- buf_pos;
-   parse_pos.Parse_pos.global_offset <- parse_pos.Parse_pos.global_offset + len
- 
--let mk_parse_pos { parse_pos } buf_pos =
-+let mk_parse_pos { parse_pos = parse_pos } buf_pos =
-   set_parse_pos parse_pos buf_pos;
-   parse_pos
- 
- let raise_parse_error parse_state location buf_pos err_msg =
-   begin
-     match parse_state with
--    | `Sexp { parse_pos } | `Annot { parse_pos } ->
-+    | `Sexp { parse_pos = parse_pos } | `Annot { parse_pos = parse_pos } ->
-         set_parse_pos parse_pos buf_pos;
-         parse_pos.Parse_pos.text_char <- parse_pos.Parse_pos.text_char + 1;
-   end;
--  let parse_error = { location; err_msg; parse_state } in
-+  let parse_error = { location = location; err_msg = err_msg; parse_state = parse_state } in
-   raise (Parse_error parse_error)
- 
- let raise_unexpected_char parse_state location buf_pos c =
-@@ -657,7 +651,7 @@
-     let max_pos = check_str_bounds "parse" ~pos ~len str in \
-     let state = \
-       { \
--        parse_pos; \
-+        parse_pos = parse_pos; \
-         pstack = INIT_PSTACK; \
-         pbuf = Buffer.create 128; \
-       } \
-@@ -681,20 +675,20 @@
- 
- let mk_annot_pos
-       ({ Parse_pos.text_line = line; text_char = col } as parse_pos) pos =
--  { Annot.line; col; offset = get_glob_ofs parse_pos pos }
-+  { Annot.line = line; col = col; offset = get_glob_ofs parse_pos pos }
- 
- let mk_annot_pos1
-       ({ Parse_pos.text_line = line; text_char = col } as parse_pos) pos =
--  { Annot.line; col = col + 1; offset = get_glob_ofs parse_pos pos }
-+  { Annot.line = line; col = col + 1; offset = get_glob_ofs parse_pos pos }
- 
--let add_annot_pos { parse_pos; pstack } pos =
-+let add_annot_pos { parse_pos = parse_pos; pstack = pstack } pos =
-   pstack.Annot.positions <- mk_annot_pos parse_pos pos :: pstack.Annot.positions
- 
--let add_annot_pos1 { parse_pos; pstack } pos =
-+let add_annot_pos1 { parse_pos = parse_pos; pstack = pstack } pos =
-   pstack.Annot.positions <-
-     mk_annot_pos1 parse_pos pos :: pstack.Annot.positions
- 
--let get_annot_range { parse_pos; pstack } pos =
-+let get_annot_range { parse_pos = parse_pos; pstack = pstack } pos =
-   let start_pos =
-     match pstack.Annot.positions with
-     | [] -> assert false  (* impossible *)
-@@ -708,7 +702,7 @@
-       offset = get_glob_ofs parse_pos pos;
-     }
-   in
--  { Annot.start_pos; end_pos }
-+  { Annot.start_pos = start_pos; end_pos = end_pos }
- 
- let mk_annot_atom parse_state str pos =
-   Annot.Atom (get_annot_range parse_state pos, Atom str)
-@@ -780,7 +774,7 @@
-   let rec loop this_parse ~pos ~len ~is_incomplete =
-     if len > 0 then
-       match this_parse ~pos ~len buf with
--      | Done (sexp, ({ Parse_pos.buf_pos } as parse_pos)) ->
-+      | Done (sexp, ({ Parse_pos.buf_pos = buf_pos } as parse_pos)) ->
-           rev_sexps_ref := sexp :: !rev_sexps_ref;
-           let n_parsed = buf_pos - pos in
-           let this_parse = mk_this_parse ~parse_pos my_parse in
-@@ -813,7 +807,7 @@
- 
- let of_string_bigstring loc this_parse ws_buf get_len get_sub str =
-   match this_parse str with
--  | Done (_, { Parse_pos.buf_pos }) when buf_pos <> get_len str ->
-+  | Done (_, { Parse_pos.buf_pos = buf_pos }) when buf_pos <> get_len str ->
-       let prefix_len = min (get_len str - buf_pos) 20 in
-       let prefix = get_sub str buf_pos prefix_len in
-       let msg =
-@@ -874,7 +868,7 @@
-       failwith (sprintf "Sexplib.Sexp.gen_load_sexp: end of file: %s" file)
-     else
-       match this_parse ~pos:0 ~len buf with
--      | Done (sexp, ({ Parse_pos.buf_pos } as parse_pos))
-+      | Done (sexp, ({ Parse_pos.buf_pos = buf_pos } as parse_pos))
-         when strict ->
-           let rec strict_loop this_parse ~pos ~len =
-             match this_parse ~pos ~len buf with
-@@ -938,7 +932,7 @@
- 
-   let get_conv_exn ~file ~exc annot_sexp =
-     let range = get_range annot_sexp in
--    let { start_pos = { line; col } } = range in
-+    let { start_pos = { line = line; col = col } } = range in
-     let loc = sprintf "%s:%d:%d" file line col in
-     Of_sexp_error (Annot.Conv_exn (loc, exc), get_sexp annot_sexp)
- end
-@@ -1003,7 +997,7 @@
-   let sexp = of_string str in
-   try f sexp
-   with Of_sexp_error (exc, sub_sexp) ->
--    raise (Of_string_conv_exn.E { Of_string_conv_exn.exc; sexp; sub_sexp })
-+    raise (Of_string_conv_exn.E { Of_string_conv_exn.exc = exc; sexp = sexp; sub_sexp = sub_sexp })
- 
- let of_string_conv_exn str f = gen_of_string_conv_exn of_string str f
- let of_bigstring_conv_exn bstr f = gen_of_string_conv_exn of_bigstring bstr f
diff --git a/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch b/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch
deleted file mode 100644
index 02e13e39445..00000000000
--- a/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Patch from the fedora repository.
-
---- sexplib-7.0.5.old/myocamlbuild.ml	2012-03-20 16:41:54.000000000 +0000
-+++ sexplib-7.0.5/myocamlbuild.ml	2012-07-30 11:38:21.829869635 +0100
-@@ -438,7 +438,13 @@
-                    BaseEnvLight.var_choose cond_specs env
-                  in
-                    flag tags & spec)
--              t.flags
-+              t.flags;
-+
-+            flag ["ocaml"; "compile"; "byte"; "use_toploop"] (S[A"-I"; A"+compiler-libs"]);
-+            flag ["ocaml"; "link"; "byte"; "use_toploop"] (S[A"-I"; A"+compiler-libs"; A"+compiler-libs/ocamltoplevel.cma"]);
-+            flag ["ocaml"; "compile"; "native"; "use_toploop"] (S[A"-I"; A"+compiler-libs"]);
-+            flag ["ocaml"; "link"; "native"; "use_toploop"] (S[A"-I"; A"+compiler-libs"; A"+compiler-libs/ocamltoplevel.cmxa"]);
-+
-         | _ -> 
-             ()
-   
---- sexplib-7.0.5.old/_tags	2012-03-20 16:41:54.000000000 +0000
-+++ sexplib-7.0.5/_tags	2012-07-30 11:37:01.749255839 +0100
-@@ -49,6 +49,7 @@
- <lib_test/*.ml{,i}>: pkg_camlp4.extend
- # Library sexplib_top
- "top": include
-+<top/*.ml{,i}>: use_toploop
- # Executable sexp_test
- "lib_test/sexp_test.byte": use_sexplib
- "lib_test/sexp_test.byte": pkg_unix
diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix
index d92207cd20b..53549791b25 100644
--- a/pkgs/development/ocaml-modules/sqlite3/default.nix
+++ b/pkgs/development/ocaml-modules/sqlite3/default.nix
@@ -1,32 +1,25 @@
-{stdenv, fetchurl, sqlite, ocaml, findlib, pkgconfig}:
+{ stdenv, fetchurl, sqlite, ocaml, findlib, pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "ocaml-sqlite3-2.0.4";
+stdenv.mkDerivation rec {
+  name = "ocaml-sqlite3-${version}";
+  version = "2.0.9";
 
   src = fetchurl {
-    url = https://bitbucket.org/mmottl/sqlite3-ocaml/downloads/sqlite3-ocaml-2.0.4.tar.gz;
-    sha256 = "51ccb4c7a240eb40652c59e1770cfe1827dfa1eb926c969d19ff414aef4e80a1";
+    url = "https://github.com/mmottl/sqlite3-ocaml/releases/download/v${version}/sqlite3-ocaml-${version}.tar.gz";
+    sha256 = "0rwsx1nfa3xqmbygim2qx45jqm1gwf08m70wmcwkx50f1qk3l551";
   };
 
-  buildInputs = [ocaml findlib pkgconfig ];
-
-  #configureFlags = "--with-sqlite3=${sqlite}";
-
-  preConfigure = ''
-    export PKG_CONFIG_PATH=${sqlite}/lib/pkgconfig/
-    export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR
-    mkdir -p $out/bin
-  '';
+  buildInputs = [ ocaml findlib pkgconfig sqlite ];
 
   createFindlibDestdir = true;
 
-  meta = {
-    homepage = https://bitbucket.org/mmottl/sqlite3-ocaml;
+  meta = with stdenv.lib; {
+    homepage = http://mmottl.github.io/sqlite3-ocaml/;
     description = "OCaml bindings to the SQLite 3 database access library";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
+    maintainers = with maintainers; [
+      z77z vbgl
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
new file mode 100644
index 00000000000..94377a646c1
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, ocaml, findlib, twt, ocaml_sqlite3 }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+  name = "ocaml-sqlite3EZ-0.1.0";
+
+  src = fetchurl {
+    url = https://github.com/mlin/ocaml-sqlite3EZ/archive/v0.1.0.tar.gz;
+    sha256 = "8ed2c5d5914a65cbd95589ef11bfb8b38a020eb850cdd49b8adce7ee3a563748";
+  };
+
+  buildInputs = [ ocaml findlib twt ];
+
+  propagatedBuildInputs = [ ocaml_sqlite3 ];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/mlin/ocaml-sqlite3EZ;
+    description = "A thin wrapper for sqlite3-ocaml with a simplified interface";
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix
index 9a495002f1d..ad75b4a3dac 100644
--- a/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/pkgs/development/ocaml-modules/ssl/default.nix
@@ -2,7 +2,7 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "0.4.4";
+  version = "0.4.7";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://debian/pool/main/o/ocaml-ssl/ocaml-ssl_${version}.orig.tar.gz";
-    sha256 = "1m45d0bd4ndxswaa1symp6c1npzjmm9pz0nf7w0q15gflqhba5ch";
+    sha256 = "0i0j89b10n3xmmawcq4qfwa42133pddw4x5nysmsnpd15srv5gp9";
   };
 
   buildInputs = [which openssl ocaml findlib];
diff --git a/pkgs/development/ocaml-modules/stringext/default.nix b/pkgs/development/ocaml-modules/stringext/default.nix
new file mode 100644
index 00000000000..dae947035d2
--- /dev/null
+++ b/pkgs/development/ocaml-modules/stringext/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchzip, ocaml, findlib }:
+
+let version = "1.3.0"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-stringext-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/rgrinberg/stringext/archive/v${version}.tar.gz";
+    sha256 = "0sd1chyxclmip0nxqhasp1ri91bwxr8nszkkr5kpja45f6bav6k9";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+  buildPhase = "ocaml setup.ml -build";
+  installPhase = "ocaml setup.ml -install";
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/rgrinberg/stringext;
+    platforms = ocaml.meta.platforms;
+    description = "Extra string functions for OCaml";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix
new file mode 100644
index 00000000000..0dc7170552c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/twt/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, ocaml, findlib }:
+
+stdenv.mkDerivation {
+  name = "ocaml-twt-0.93.2";
+
+  src = fetchurl {
+    url = https://github.com/mlin/twt/archive/v0.93.2.tar.gz;
+    sha256 = "aec091fbd1e6c4d252cf9664237418b4bc8c7d6b7a17475589be78365397e768";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  configurePhase = ''
+    mkdir $out/bin
+  '';
+
+  dontBuild = true;
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/;
+    description = "“The Whitespace Thing” for OCaml";
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/typeconv/108.08.00.nix b/pkgs/development/ocaml-modules/typeconv/108.08.00.nix
new file mode 100644
index 00000000000..24daa366b2a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/typeconv/108.08.00.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "3.12" ocaml_version;
+
+stdenv.mkDerivation {
+  name = "ocaml-typeconv-108.08.00";
+
+  src = fetchurl {
+    url = https://ocaml.janestreet.com/ocaml-core/108.08.00/individual/type_conv-108.08.00.tar.gz;
+    sha256 = "08ysikwwp69zvc147lzzg79nwlrzrk738rj0ggcfadi8h5il42sl";
+  };
+
+  buildInputs = [ocaml findlib camlp4];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://ocaml.janestreet.com/;
+    description = "Support library for OCaml preprocessor type conversions";
+    license = licenses.asl20;
+    branch = "108";
+    platforms = ocaml.meta.platforms;
+    maintainers = with maintainers; [ z77z ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/typeconv/3.0.5.nix b/pkgs/development/ocaml-modules/typeconv/3.0.5.nix
deleted file mode 100644
index 299e7729b91..00000000000
--- a/pkgs/development/ocaml-modules/typeconv/3.0.5.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{stdenv, fetchurl, ocaml, findlib}:
-
-# note: works only with ocaml >3.12
-
-stdenv.mkDerivation {
-  name = "ocaml-typeconv-3.0.5";
-
-  src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz";
-    sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198";
-  };
-
-  buildInputs = [ocaml findlib ]; 
-
-  createFindlibDestdir = true;
-
-  meta = {
-    homepage = "http://forge.ocamlcore.org/projects/type-conv/";
-    description = "Support library for OCaml preprocessor type conversions";
-    license = "LGPL";
-    platforms = ocaml.meta.platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/typeconv/default.nix b/pkgs/development/ocaml-modules/typeconv/default.nix
index 33e30f5d5c8..359f906ce34 100644
--- a/pkgs/development/ocaml-modules/typeconv/default.nix
+++ b/pkgs/development/ocaml-modules/typeconv/default.nix
@@ -1,4 +1,10 @@
-{stdenv, fetchurl, ocaml, findlib}:
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+assert stdenv.lib.versionOlder "4.00" ocaml_version;
 
 stdenv.mkDerivation {
   name = "ocaml-typeconv-109.60.01";
@@ -8,7 +14,7 @@ stdenv.mkDerivation {
     sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx";
   };
 
-  buildInputs = [ocaml findlib ]; 
+  buildInputs = [ocaml findlib camlp4];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix
new file mode 100644
index 00000000000..d3a0b3557c5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, ocaml, findlib, ocaml_oasis, camlp4, uutf }:
+
+stdenv.mkDerivation {
+  name = "tyxml-3.4.0";
+
+  src = fetchurl {
+    url = http://github.com/ocsigen/tyxml/archive/3.4.0.tar.gz;
+    sha256 = "10hb0b2j33fjqzmx450ns7dmf4pqmx3gyvr6dk99mghqk13cj5ww";
+    };
+
+  buildInputs = [ocaml findlib ocaml_oasis camlp4];
+
+  propagatedBuildInputs = [uutf];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://ocsigen.org/tyxml/;
+    description = "A library that makes it almost impossible for your OCaml programs to generate wrong XML output, using static typing";
+    license = licenses.lgpl21;
+    platforms = ocaml.meta.platforms;
+    maintainers = with maintainers; [
+      gal_bolle vbgl
+      ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix
index 72efaa0606d..123641ba1ac 100644
--- a/pkgs/development/ocaml-modules/ulex/default.nix
+++ b/pkgs/development/ocaml-modules/ulex/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://www.cduce.org/download.html;
     description = "ulex is a lexer generator for Unicode and OCaml";
     license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/uri/default.nix b/pkgs/development/ocaml-modules/uri/default.nix
new file mode 100644
index 00000000000..a00a2408159
--- /dev/null
+++ b/pkgs/development/ocaml-modules/uri/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, ocaml, findlib, re, sexplib, stringext }:
+
+let version = "1.7.2"; in
+
+stdenv.mkDerivation {
+  name = "ocaml-uri-${version}";
+
+  src = fetchgit {
+    url = https://github.com/mirage/ocaml-uri.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "19rq68dzvqzpqc2zvrk5sj1iklknnyrlbcps2vb8iw4cjlrnnaa1";
+  };
+
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ re sexplib stringext ];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+  buildPhase = ''
+    ocaml setup.ml -build
+    ocaml setup.ml -doc
+  '';
+  installPhase = "ocaml setup.ml -install";
+
+  createFindlibDestdir = true;
+
+  meta = {
+    homepage = https://github.com/mirage/ocaml-uri;
+    platforms = ocaml.meta.platforms;
+    description = "RFC3986 URI parsing library for OCaml";
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/uucd/default.nix b/pkgs/development/ocaml-modules/uucd/default.nix
index 1d0f5c6cd50..476f0e9bbe8 100644
--- a/pkgs/development/ocaml-modules/uucd/default.nix
+++ b/pkgs/development/ocaml-modules/uucd/default.nix
@@ -30,10 +30,11 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ xmlm ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OCaml module to decode the data of the Unicode character database from its XML representation";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix
new file mode 100644
index 00000000000..121f333f543
--- /dev/null
+++ b/pkgs/development/ocaml-modules/uucp/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, ocaml, findlib, opam }:
+
+let
+  inherit (stdenv.lib) getVersion versionAtLeast;
+
+  pname = "uucp";
+  version = "0.9.1";
+  webpage = "http://erratique.ch/software/${pname}";
+in
+
+assert versionAtLeast (getVersion ocaml) "4.00";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/releases/${pname}-${version}.tbz";
+    sha256 = "0mbrh5fi2b9a4bl71p7hfs0wwbw023ww44n20x0syxn806wjlrkm";
+  };
+
+  buildInputs = [ ocaml findlib opam ];
+
+  createFindlibDestdir = true;
+
+  unpackCmd = "tar xjf $src";
+
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+
+  installPhase = ''
+    opam-installer --script --prefix=$out ${pname}.install | sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An OCaml library providing efficient access to a selection of character properties of the Unicode character database";
+    homepage = "${webpage}";
+    platforms = ocaml.meta.platforms;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix
index c807bbd4463..ece5fb5e3e3 100644
--- a/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/pkgs/development/ocaml-modules/uunf/default.nix
@@ -5,6 +5,9 @@ let
   webpage = "http://erratique.ch/software/${pname}";
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation rec {
 
   name = "ocaml-${pname}-${version}";
@@ -28,10 +31,11 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OCaml module for normalizing Unicode text";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/uuseg/default.nix b/pkgs/development/ocaml-modules/uuseg/default.nix
new file mode 100644
index 00000000000..0101c43e504
--- /dev/null
+++ b/pkgs/development/ocaml-modules/uuseg/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, ocaml, findlib, opam, uucp, uutf, cmdliner }:
+
+let
+  inherit (stdenv.lib) getVersion versionAtLeast;
+
+  pname = "uuseg";
+  version = "0.8.0";
+  webpage = "http://erratique.ch/software/${pname}";
+in
+
+assert versionAtLeast (getVersion ocaml) "4.01";
+
+stdenv.mkDerivation {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/releases/${pname}-${version}.tbz";
+    sha256 = "00n4zi8dyw2yzi4nr2agcrr33b0q4dr9mgnkczipf4c0gm5cm50h";
+  };
+
+  buildInputs = [ ocaml findlib opam cmdliner ];
+  propagatedBuildInputs = [ uucp uutf ];
+
+  createFindlibDestdir = true;
+
+  unpackCmd = "tar xjf $src";
+
+  buildPhase = ''
+    ocaml pkg/build.ml \
+      native=true native-dynlink=true \
+      uutf=true cmdliner=true
+  '';
+
+  installPhase = ''
+    opam-installer --script --prefix=$out ${pname}.install | sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An OCaml library for segmenting Unicode text";
+    homepage = "${webpage}";
+    platforms = ocaml.meta.platforms;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix
index 862236c169b..26dc9742aeb 100644
--- a/pkgs/development/ocaml-modules/uutf/default.nix
+++ b/pkgs/development/ocaml-modules/uutf/default.nix
@@ -5,6 +5,9 @@ let
   webpage = "http://erratique.ch/software/${pname}";
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation rec {
 
   name = "ocaml-${pname}-${version}";
@@ -28,10 +31,11 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Non-blocking streaming Unicode codec for OCaml";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix
new file mode 100644
index 00000000000..bfff4c68cef
--- /dev/null
+++ b/pkgs/development/ocaml-modules/vg/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, ocaml, findlib, opam, gg, uutf, otfm, js_of_ocaml,
+  pdfBackend ? true, # depends on uutf and otfm
+  htmlcBackend ? true # depends on js_of_ocaml
+}:
+
+let
+  inherit (stdenv.lib) getVersion optionals versionAtLeast;
+
+  pname = "vg";
+  version = "0.8.1";
+  webpage = "http://erratique.ch/software/${pname}";
+in
+
+assert versionAtLeast (getVersion ocaml) "4.01.0";
+
+stdenv.mkDerivation rec {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/releases/${pname}-${version}.tbz";
+    sha256 = "1cdcvsr5z8845ndilnrz7p4n6yn4gv2p91z2mgi4vrailcmn5vzd";
+  };
+
+  buildInputs = [ ocaml findlib opam ];
+
+  propagatedBuildInputs = [ gg ]
+                          ++ optionals pdfBackend [ uutf otfm ]
+                          ++ optionals htmlcBackend [ js_of_ocaml ];
+
+  createFindlibDestdir = true;
+
+  unpackCmd = "tar xjf $src";
+
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"
+               + (if pdfBackend then " uutf=true otfm=true"
+                                else " uutf=false otfm=false")
+               + (if htmlcBackend then " jsoo=true"
+                                  else " jsoo=false");
+
+  installPhase = ''
+    opam-installer --script --prefix=$out ${pname}.install | sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Declarative 2D vector graphics for OCaml";
+    longDescription = ''
+    Vg is an OCaml module for declarative 2D vector graphics. In Vg, images
+    are values that denote functions mapping points of the cartesian plane
+    to colors. The module provides combinators to define and compose these
+    values.
+
+    Renderers for PDF, SVG and the HTML canvas are distributed with the
+    module. An API allows to implement new renderers.
+    '';
+    homepage = "${webpage}";
+    platforms = ocaml.meta.platforms;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/xml-light/default.nix b/pkgs/development/ocaml-modules/xml-light/default.nix
new file mode 100644
index 00000000000..5eb4fbfd6b1
--- /dev/null
+++ b/pkgs/development/ocaml-modules/xml-light/default.nix
@@ -0,0 +1,43 @@
+{stdenv, fetchurl, ocaml, findlib}:
+let
+  pname = "xml-light";
+  version = "2.4";
+in
+stdenv.mkDerivation {
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/ncannasse/${pname}/archive/${version}.tar.gz";
+    sha256 = "10b55qf6mvdp11ny3h0jv6k6wrs78jr9lhsiswl0xya7z8r8j0a2";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  buildPhase = ''
+    make all
+    make opt
+  '';
+  
+  installPhase = ''
+    make install_ocamlfind
+    mkdir -p $out/share
+    cp -vai doc $out/share/
+  '';
+
+  meta = {
+    description = "Minimal Xml parser and printer for OCaml";
+    longDescription = ''
+      Xml-Light provides functions to parse an XML document into an OCaml
+      data structure, work with it, and print it back to an XML
+      document. It support also DTD parsing and checking, and is
+      entirely written in OCaml, hence it does not require additional C
+      library.
+    '';
+    homepage = "http://tech.motion-twin.com/xmllight.html";
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix
index bd19ab716f6..dacaeea49f4 100644
--- a/pkgs/development/ocaml-modules/xmlm/default.nix
+++ b/pkgs/development/ocaml-modules/xmlm/default.nix
@@ -5,6 +5,9 @@ let
   webpage = "http://erratique.ch/software/${pname}";
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12";
+
 stdenv.mkDerivation rec {
 
   name = "ocaml-${pname}-${version}";
@@ -28,10 +31,11 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml_version}/site-lib/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OCaml streaming codec to decode and encode the XML data format";
     homepage = "${webpage}";
     platforms = ocaml.meta.platforms;
-    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 9237db080d6..0b40b68a7e8 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -4,16 +4,18 @@ let
   version = "1.1.8";
   webpage = "http://mjambon.com/${pname}.html";
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
 
-  name = "${pname}-${version}";
+  name = "ocaml-${pname}-${version}";
 
   src = fetchurl {
-    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
+    url = "http://mjambon.com/releases/${pname}/${pname}-${version}.tar.gz";
     sha256 = "0ayx17dimnpavdfyq6dk9xv2x1fx69by85vc6vl3nqxjkcv5d2rv";
   };
 
-  buildInputs = [ ocaml findlib cppo easy-format biniou ];
+  buildInputs = [ ocaml findlib ];
+
+  propagatedBuildInputs = [ cppo easy-format biniou ];
 
   createFindlibDestdir = true;
 
@@ -23,10 +25,11 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An optimized parsing and printing library for the JSON format";
     homepage = "${webpage}";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix
index 10ac88bcb90..ccd278a2faa 100644
--- a/pkgs/development/ocaml-modules/zarith/default.nix
+++ b/pkgs/development/ocaml-modules/zarith/default.nix
@@ -3,16 +3,20 @@
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
+
+assert stdenv.lib.versionAtLeast ocaml_version "3.12.1";
+
 stdenv.mkDerivation rec {
   name = "zarith-${version}";
-  version = "1.2.1";
+  version = "1.3";
 
   src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/1199/${name}.tgz";
-    sha256 = "0i21bsx41br0jgw8xmlpnky5zamzqkpbykrq0z53z7ar77602s4i";
+    url = http://forge.ocamlcore.org/frs/download.php/1471/zarith-1.3.tgz;
+    sha256 = "1mx3nxcn5h33qhx4gbg0hgvvydwlwdvdhqcnvfwnmf9jy3b8frll";
   };
 
-  buildInputs = [ ocaml findlib pkgconfig gmp perl ];
+  buildInputs = [ ocaml findlib pkgconfig perl ];
+  propagatedBuildInputs = [ gmp ];
 
   patchPhase = ''
     substituteInPlace ./z_pp.pl --replace '/usr/bin/perl' '${perl}/bin/perl'
@@ -22,11 +26,11 @@ stdenv.mkDerivation rec {
   '';
   preInstall = "mkdir -p $out/lib/ocaml/${ocaml_version}/site-lib";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "fast, arbitrary precision OCaml integers";
     homepage    = "http://forge.ocamlcore.org/projects/zarith";
-    license     = stdenv.lib.licenses.lgpl2;
+    license     = licenses.lgpl2;
     platforms   = ocaml.meta.platforms;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = with maintainers; [ thoughtpolice vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix
new file mode 100644
index 00000000000..935d3a56648
--- /dev/null
+++ b/pkgs/development/ocaml-modules/zed/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchzip, ocaml, findlib, camomile, ocaml_react }:
+
+stdenv.mkDerivation rec {
+  version = "1.4";
+  name = "ocaml-zed-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/diml/zed/archive/${version}.tar.gz";
+    sha256 = "0d8qfy0qiydrrqi8qc9rcwgjigql6vx9gl4zp62jfz1lmjgb2a3w";
+  };
+
+  buildInputs = [ ocaml findlib ocaml_react ];
+
+  propagatedBuildInputs = [ camomile ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "Abstract engine for text edition in OCaml";
+    longDescription = ''
+    Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ...
+
+    Zed uses Camomile to fully support the Unicode specification, and implements an UTF-8 encoded string type with validation, and a rope datastructure to achieve efficient operations on large Unicode buffers. Zed also features a regular expression search on ropes.
+
+    To support efficient text edition capabilities, Zed provides macro recording and cursor management facilities.
+    '';
+    homepage = https://github.com/diml/zed;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
index 93cef5d844c..20362a51a7b 100644
--- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
+++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix
@@ -21,6 +21,6 @@ buildPerlPackage rec {
   doCheck = !stdenv.isDarwin;
 
   meta = {
-    license = "perl";
+    license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
   };
 }
diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix
index 619f2f14b96..f6c8bcc2e2f 100644
--- a/pkgs/development/perl-modules/DBD-Pg/default.nix
+++ b/pkgs/development/perl-modules/DBD-Pg/default.nix
@@ -16,7 +16,7 @@ buildPerlPackage rec {
   meta = {
     homepage = http://search.cpan.org/dist/DBD-Pg/;
     description = "DBI PostgreSQL interface";
-    license = "perl";
+    license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index 7b1741c3d1e..fbdcec06d0d 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, buildPerlPackage, DBI, sqlite }:
 
 buildPerlPackage rec {
-  name = "DBD-SQLite-1.42";
+  name = "DBD-SQLite-1.44";
 
   src = fetchurl {
     url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz";
-    sha256 = "14x9cjsc8dz8ad1nad0bqiq9cbk1rjfb8h5y0rpk3pdl38y6afxb";
+    sha256 = "10r7wv5x4vzn9zbk3c7mhbx6kz76xxd9p357592c0wamj458qlml";
   };
 
   propagatedBuildInputs = [ DBI ];
diff --git a/pkgs/development/perl-modules/DBD-mysql/default.nix b/pkgs/development/perl-modules/DBD-mysql/default.nix
index a7464893cbb..273cc0e44f2 100644
--- a/pkgs/development/perl-modules/DBD-mysql/default.nix
+++ b/pkgs/development/perl-modules/DBD-mysql/default.nix
@@ -1,15 +1,17 @@
-{fetchurl, buildPerlPackage, DBI, mysql}:
+{ fetchurl, buildPerlPackage, DBI, mysql }:
 
-buildPerlPackage {
-  name = "DBD-mysql-4.023";
+buildPerlPackage rec {
+  name = "DBD-mysql-4.031";
 
   src = fetchurl {
-    url = mirror://cpan/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.023.tar.gz;
-    sha256 = "0j4i0i6apjwx5klk3wigh6yysssn7bs6p8c5sh31m6qxsbgyk9xa";
+    url = "mirror://cpan/authors/id/C/CA/CAPTTOFU/${name}.tar.gz";
+    sha256 = "1lngnkfi71gcpfk93xhil2x9i3w3rqjpxlvn5n92jd5ikwry8bmf";
   };
 
-  buildInputs = [mysql] ;
-  propagatedBuildInputs = [DBI];
+  buildInputs = [ mysql.lib ] ;
+  propagatedBuildInputs = [ DBI ];
+
+  doCheck = false;
 
 #  makeMakerFlags = "MYSQL_HOME=${mysql}";
 }
diff --git a/pkgs/development/perl-modules/DB_File/default.nix b/pkgs/development/perl-modules/DB_File/default.nix
index 4195f8d613e..7dd04463d18 100644
--- a/pkgs/development/perl-modules/DB_File/default.nix
+++ b/pkgs/development/perl-modules/DB_File/default.nix
@@ -16,12 +16,4 @@ buildPerlPackage rec {
     INCLUDE = ${db}/include
     EOF
   '';
-
-  # I don't know about perl paths, but PERL5LIB env var is managed through
-  # lib/perl5/site_perl, and the *.pm should be inside lib/perl5/site_perl/...
-  # for other packages to get that in the PERL5LIB env var.
-  postInstall = ''
-    mkdir -p $out/lib/perl5/site_perl/
-    cp -R $out/lib/perl5/5* $out/lib/perl5/site_perl
-  '';
 }
diff --git a/pkgs/development/perl-modules/MooseXAttributeHelpers-perl-5.20.patch b/pkgs/development/perl-modules/MooseXAttributeHelpers-perl-5.20.patch
new file mode 100644
index 00000000000..161f79a637b
--- /dev/null
+++ b/pkgs/development/perl-modules/MooseXAttributeHelpers-perl-5.20.patch
@@ -0,0 +1,33 @@
+diff --git a/t/003_basic_hash.t b/t/003_basic_hash.t
+index 1f842ae..c21ac52 100644
+--- a/t/003_basic_hash.t
++++ b/t/003_basic_hash.t
+@@ -170,10 +170,10 @@ is_deeply($options->provides, {
+ is($options->type_constraint->type_parameter, 'Str', '... got the right container type');
+ 
+ $stuff->set_option( oink => "blah", xxy => "flop" );
+-my @key_value = $stuff->key_value;
++my @key_value = sort{ $a->[0] cmp $b->[0] } $stuff->key_value;
+ is_deeply(
+     \@key_value,
+-    [ [ 'xxy', 'flop' ], [ 'quantity', 4 ], [ 'oink', 'blah' ] ],
++    [ sort{ $a->[0] cmp $b->[0] } [ 'xxy', 'flop' ], [ 'quantity', 4 ], [ 'oink', 'blah' ] ],
+     '... got the right key value pairs'
+ );
+ 
+diff --git a/t/203_trait_hash.t b/t/203_trait_hash.t
+index 8e876b1..451c0bb 100644
+--- a/t/203_trait_hash.t
++++ b/t/203_trait_hash.t
+@@ -156,10 +156,10 @@ is_deeply($options->provides, {
+ is($options->type_constraint->type_parameter, 'Str', '... got the right container type');
+ 
+ $stuff->set_option( oink => "blah", xxy => "flop" );
+-my @key_value = $stuff->key_value;
++my @key_value = sort{ $a->[0] cmp $b->[0] } $stuff->key_value;
+ is_deeply(
+     \@key_value,
+-    [ [ 'xxy', 'flop' ], [ 'quantity', 4 ], [ 'oink', 'blah' ] ],
++    [ sort{ $a->[0] cmp $b->[0] } [ 'xxy', 'flop' ], [ 'quantity', 4 ], [ 'oink', 'blah' ] ],
+     '... got the right key value pairs'
+ );
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index 121581d8397..bf41f4d3945 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -13,6 +13,9 @@ perl.stdenv.mkDerivation (
     # Prevent CPAN downloads.
     PERL_AUTOINSTALL = "--skipdeps";
 
+    # Avoid creating perllocal.pod, which contains a timestamp
+    installTargets = "pure_install";
+
     # From http://wiki.cpantesters.org/wiki/CPANAuthorNotes: "allows
     # authors to skip certain tests (or include certain tests) when
     # the results are not being monitored by a human being."
diff --git a/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch b/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch
new file mode 100644
index 00000000000..3ac3f4e2a82
--- /dev/null
+++ b/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch
@@ -0,0 +1,25 @@
+https://github.com/pfig/net-amazon-s3/pull/42
+
+From 116d73235d8243ec4427e6d7bf1f14f7fb9129aa Mon Sep 17 00:00:00 2001
+From: Jay Hannah <jay.hannah@iinteractive.com>
+Date: Thu, 8 May 2014 02:29:14 +0000
+Subject: [PATCH] Patch for current versions of Moose: "Passing a list of
+ values to enum is deprecated. Enum values should be wrapped in an arrayref."
+
+---
+ lib/Net/Amazon/S3/Client/Object.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Net/Amazon/S3/Client/Object.pm b/lib/Net/Amazon/S3/Client/Object.pm
+index 08e48c6..106f2fd 100755
+--- a/lib/Net/Amazon/S3/Client/Object.pm
++++ b/lib/Net/Amazon/S3/Client/Object.pm
+@@ -16,7 +16,7 @@ enum 'AclShort' =>
+     [ qw(private public-read public-read-write authenticated-read) ];
+ 
+ enum 'StorageClass' =>
+-    qw(standard reduced_redundancy);
++    [ qw(standard reduced_redundancy) ];
+ 
+ has 'client' =>
+     ( is => 'ro', isa => 'Net::Amazon::S3::Client', required => 1 );
diff --git a/pkgs/development/perl-modules/perl-opengl-gl-extensions.txt b/pkgs/development/perl-modules/perl-opengl-gl-extensions.txt
new file mode 100644
index 00000000000..42df14c4096
--- /dev/null
+++ b/pkgs/development/perl-modules/perl-opengl-gl-extensions.txt
@@ -0,0 +1,5 @@
+GLUT=20801
+VERSION=3.0 Mesa 10.2.6
+VENDOR=Intel Open Source Technology Center
+RENDERER=Mesa DRI Intel(R) Ivybridge Mobile 
+EXTENSIONS=GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_polygon_offset GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_framebuffer_sRGB GL_ARB_multitexture GL_EXT_framebuffer_sRGB GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_3DFX_texture_compression_FXT1 GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_S3_s3tc GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_compression_s3tc GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture GL_ARB_occlusion_query GL_ARB_shadow GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_ATI_envmap_bumpmap GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_NV_depth_clamp GL_APPLE_packed_pixels GL_APPLE_vertex_array_object GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_NV_primitive_restart GL_ARB_depth_clamp GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel GL_ARB_occlusion_query2 GL_ARB_point_sprite GL_ARB_shading_language_100 GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate GL_OES_read_format GL_ARB_color_buffer_float GL_ARB_pixel_buffer_object GL_ARB_texture_compression_rgtc GL_ARB_texture_float GL_ARB_texture_rectangle GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_packed_depth_stencil GL_APPLE_object_purgeable GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_gpu_program_parameters GL_EXT_texture_array GL_EXT_texture_integer GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_OES_EGL_image GL_AMD_performance_monitor GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_map_buffer_range GL_ARB_texture_rg GL_ARB_texture_swizzle GL_ARB_vertex_array_bgra GL_EXT_texture_swizzle GL_EXT_vertex_array_bgra GL_NV_conditional_render GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_ARB_ES2_compatibility GL_ARB_blend_func_extended GL_ARB_debug_output GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_shader_texture_lod GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_multisample GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_uniform_buffer_object GL_ARB_vertex_type_2_10_10_10_rev GL_EXT_provoking_vertex GL_EXT_texture_snorm GL_MESA_texture_signed_rgba GL_ARB_get_program_binary GL_ARB_robustness GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_conservative_depth GL_ARB_internalformat_query GL_ARB_map_buffer_alignment GL_ARB_shader_atomic_counters GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_texture_storage GL_ARB_transform_feedback_instanced GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_transform_feedback GL_AMD_shader_trinary_minmax GL_ARB_ES3_compatibility GL_ARB_clear_buffer_object GL_ARB_invalidate_subdata GL_ARB_texture_query_levels GL_ARB_texture_storage_multisample GL_ARB_texture_view GL_ARB_vertex_attrib_binding GL_KHR_debug GL_ARB_buffer_storage GL_ARB_multi_bind GL_ARB_texture_mirror_clamp_to_edge GL_ARB_vertex_type_10f_11f_11f_rev GL_EXT_shader_integer_mix GL_INTEL_performance_query 
diff --git a/pkgs/development/perl-modules/perl-opengl.patch b/pkgs/development/perl-modules/perl-opengl.patch
new file mode 100644
index 00000000000..77bba1efa41
--- /dev/null
+++ b/pkgs/development/perl-modules/perl-opengl.patch
@@ -0,0 +1,55 @@
+diff --git a/Makefile.PL b/Makefile.PL
+index 55c485c..8501c02 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -116,12 +116,7 @@ if ($^O eq 'MSWin32' || $IS_W32API)
+ # Look for available libs
+ our @libdirs = qw
+ {
+-  -L/usr/lib
+-  -L/usr/X11R6/lib
+-  -L/usr/local/lib
+-  -L/usr/openwin/lib
+-  -L/opt/csw/lib
+-  -L/usr/local/freeglut/lib
++  @@libpaths@@
+ };
+ 
+ our @check_libs = qw
+@@ -764,7 +759,6 @@ sub get_extensions
+   my $exc_file = 'gl_exclude.h';
+   unlink($exc_file) if (-e $exc_file);
+   my $glv_file = 'utils/glversion.txt';
+-  unlink($glv_file) if (-e $glv_file);
+ 
+   # Only run the rest if GLUT is installed
+   print "Testing GLUT version\n" if ($verbose);
+@@ -817,7 +811,7 @@ sub get_extensions
+     $make_ver = ";make -f Makefile " .  (length($lib) ? "GLUT_LIB=$lib " : "") . (length($def) ? "GLUT_DEF=$def " : "");
+     print "glversion: '$make_ver'\n" if $verbose>1;
+   }
+-  my $exec = 'cd utils'."$make_ver clean".$make_ver;
++  my $exec = 'cd utils'.$make_ver;
+   print "glversion: $exec\n" if ($verbose);
+   my $stat = `$exec`;
+   print "\n$stat\n\n" if ($verbose);
+diff --git a/utils/Makefile b/utils/Makefile
+index 910dcaf..1b1ac57 100644
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -21,14 +21,13 @@ EXTRALIBS=-lGLU -lXi -lXmu -lXext -lX11 -lm
+ all: glversion.txt
+ 
+ glversion.txt: glversion
+-	./glversion > glversion.txt
++	echo "skipping build of glversion.txt"
+ 
+ glversion: glversion.o
+ 	${LINK} glversion.o ${LDFLAGS} ${EXTRALIBS} -o glversion
+ 	chmod u+x glversion
+ 
+ clean:
+-	rm -f glversion.txt
+ 	rm -f glversion
+ 	rm -f glversion.o
+ 
diff --git a/pkgs/development/pharo/launcher/default.nix b/pkgs/development/pharo/launcher/default.nix
new file mode 100644
index 00000000000..2fa5f4d82e3
--- /dev/null
+++ b/pkgs/development/pharo/launcher/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchurl, bash, pharo-vm, unzip, makeDesktopItem }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.4-2015.02.13";
+  name = "pharo-launcher-${version}";
+  src = fetchurl {
+    url = "http://files.pharo.org/platform/launcher/blessed/PharoLauncher-user-${version}.zip";
+    md5 = "064f53cd20c7f189ba2d01f9e4b17d36";
+  };
+
+  executable-name = "pharo-launcher";
+
+  desktopItem = makeDesktopItem {
+    name = "Pharo";
+    exec = "${executable-name}";
+    icon = "pharo";
+    comment = "Launcher for Pharo distributions";
+    desktopName = "Pharo";
+    genericName = "Pharo";
+    categories = "Development;";
+  };
+
+  # because upstream tarball has no top-level directory.
+  sourceRoot = ".";
+
+  buildInputs = [ bash pharo-vm unzip ];
+
+  installPhase = ''
+    mkdir -p $prefix/share/pharo-launcher
+    mkdir -p $prefix/bin
+
+    mv PharoLauncher.image $prefix/share/pharo-launcher/pharo-launcher.image
+    mv PharoLauncher.changes $prefix/share/pharo-launcher/pharo-launcher.changes
+
+    mkdir -p $prefix/share/applications
+    cp "${desktopItem}/share/applications/"* $out/share/applications
+
+    cat > $prefix/bin/${executable-name} <<EOF
+    #!${bash}/bin/bash
+
+    exec ${pharo-vm}/bin/pharo-vm-x $prefix/share/pharo-launcher/pharo-launcher.image
+    EOF
+    chmod +x $prefix/bin/${executable-name}
+  '';
+
+  meta = {
+    description = "Launcher for Pharo distributions";
+    longDescription = ''
+
+      Pharo's goal is to deliver a clean, innovative, free open-source
+      Smalltalk-inspired environment. By providing a stable and small
+      core system, excellent dev tools, and maintained releases, Pharo
+      is an attractive platform to build and deploy mission critical
+      applications.
+
+      The Pharo Launcher is a cross-platform application that
+        - lets you manage your Pharo images (launch, rename, copy and delete);
+        - lets you download image templates (i.e., zip archives) from many
+          different sources (e.g., Jenkins, files.pharo.org);
+        - lets you create new images from any template.
+
+      The idea behind the Pharo Launcher is that you should be able to
+      access it very rapidly from your OS application launcher. As a
+      result, launching any image is never more than 3 clicks away.
+    '';
+    homepage = http://pharo.org;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    platforms = pharo-vm.meta.platforms;
+  };
+}
diff --git a/pkgs/development/pharo/vm/default.nix b/pkgs/development/pharo/vm/default.nix
index 7022206c5cc..45e54496b9c 100644
--- a/pkgs/development/pharo/vm/default.nix
+++ b/pkgs/development/pharo/vm/default.nix
@@ -1,11 +1,14 @@
-{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xlibs, alsaLib }:
+{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, mesa, freetype, xlibs, alsaLib, cairo }:
 
 stdenv.mkDerivation rec {
-  name = "pharo-vm-core-i386-2014.06.25";
+
+  version = "2014.11.29";
+
+  name = "pharo-vm-core-i386-${version}";
   system = "x86_32-linux";
   src = fetchurl {
-    url = http://files.pharo.org/vm/src/vm-unix-sources/pharo-vm-2014.06.25.tar.bz2;
-    md5 = "4d80d8169c2f2f0355c43ee90bbad23f";
+    url = "http://files.pharo.org/vm/src/vm-unix-sources/blessed/pharo-vm-${version}.tar.bz2";
+    md5 = "529cff4639cee313ddf55fd377bd6fb3";
   };
 
   sources10Zip = fetchurl {
@@ -73,9 +76,7 @@ stdenv.mkDerivation rec {
     unzip ${sources30Zip} -d $prefix/lib/pharo-vm/
   '';
 
-  patches = [ patches/pharo-is-not-squeak.patch patches/fix-executable-name.patch patches/fix-cmake-root-directory.patch ];
- 
-  buildInputs = [ bash unzip cmake glibc openssl gcc mesa freetype xlibs.libX11 xlibs.libICE xlibs.libSM alsaLib ];
+  buildInputs = [ bash unzip cmake glibc openssl gcc mesa freetype xlibs.libX11 xlibs.libICE xlibs.libSM alsaLib cairo ];
 
   meta = {
     description = "Clean and innovative Smalltalk-inspired environment";
@@ -97,4 +98,4 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.DamienCassou ];
     platforms = stdenv.lib.platforms.mesaPlatforms;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch b/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch
deleted file mode 100644
index 27cce4d6f4c..00000000000
--- a/pkgs/development/pharo/vm/patches/fix-cmake-root-directory.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From: Damien Cassou <damien.cassou@gmail.com>
-Subject: Fix use of absolute paths in cmake files
-
-* build/directories.cmake
-* build/CMakeLists.txt
-* build/vm-sound-ALSA/CMakeLists.txt
-* build/vm-sound-null/CMakeLists.txt
-* build/vm-display-null/CMakeLists.txt
-* build/vm-display-X11/CMakeLists.txt
---- a/build/CMakeLists.txt
-+++ b/build/CMakeLists.txt
-@@ -71,7 +71,7 @@
- list(APPEND LINKLIBS m)
- list(APPEND LINKLIBS dl)
- list(APPEND LINKLIBS pthread)
--set(EXECUTABLE_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- add_subdirectory("vm-display-null")
- add_subdirectory("vm-display-X11")
- add_subdirectory("vm-sound-ALSA")
---- a/build/directories.cmake
-+++ b/build/directories.cmake
-@@ -1,12 +1,12 @@
--set(topDir "/builds/workspace/Pharo-vm-unix-sources/cog")
--set(buildDir "/builds/workspace/Pharo-vm-unix-sources/cog/build")
-+set(topDir "${CMAKE_SOURCE_DIR}/..")
-+set(buildDir "${CMAKE_SOURCE_DIR}/../build")
- set(thirdpartyDir "${buildDir}/thirdParty")
--set(platformsDir "/builds/workspace/Pharo-vm-unix-sources/cog/platforms")
--set(srcDir "/builds/workspace/Pharo-vm-unix-sources/cog/src")
-+set(platformsDir "${CMAKE_SOURCE_DIR}/../platforms")
-+set(srcDir "${CMAKE_SOURCE_DIR}/../src")
- set(srcPluginsDir "${srcDir}/plugins")
- set(srcVMDir "${srcDir}/vm")
- set(platformName "unix")
- set(targetPlatform ${platformsDir}/${platformName})
- set(crossDir "${platformsDir}/Cross")
- set(platformVMDir "${targetPlatform}/vm")
--set(outputDir "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(outputDir "${CMAKE_SOURCE_DIR}/../results")
---- a/build/vm-display-X11/CMakeLists.txt
-+++ b/build/vm-display-X11/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- list(APPEND LINKLIBS SM)
- list(APPEND LINKLIBS ICE)
- list(APPEND LINKLIBS GL)
---- a/build/vm-display-null/CMakeLists.txt
-+++ b/build/vm-display-null/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- target_link_libraries(vm-display-null ${LINKLIBS})
- set_target_properties(vm-display-null PROPERTIES PREFIX "" SUFFIX "" 
- 			LINK_FLAGS -m32)
---- a/build/vm-sound-ALSA/CMakeLists.txt
-+++ b/build/vm-sound-ALSA/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- target_link_libraries(vm-sound-ALSA ${LINKLIBS})
- set_target_properties(vm-sound-ALSA PROPERTIES PREFIX "" SUFFIX "" 
- 			LINK_FLAGS -m32)
---- a/build/vm-sound-null/CMakeLists.txt
-+++ b/build/vm-sound-null/CMakeLists.txt
-@@ -11,7 +11,7 @@
- include_directories(${crossDir}/plugins/FilePlugin)
- include_directories(${targetPlatform}/plugins/B3DAcceleratorPlugin)
- include_directories(${crossDir}/plugins/B3DAcceleratorPlugin)
--set(LIBRARY_OUTPUT_PATH "/builds/workspace/Pharo-vm-unix-sources/cog/results")
-+set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/../results")
- target_link_libraries(vm-sound-null ${LINKLIBS})
- set_target_properties(vm-sound-null PROPERTIES PREFIX "" SUFFIX "" 
- 			LINK_FLAGS -m32)
diff --git a/pkgs/development/pharo/vm/patches/fix-executable-name.patch b/pkgs/development/pharo/vm/patches/fix-executable-name.patch
deleted file mode 100644
index b32ed7a32d2..00000000000
--- a/pkgs/development/pharo/vm/patches/fix-executable-name.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Change the name of the executable file from Squeak to Pharo
---- a/platforms/unix/vm-display-X11/sqUnixX11.c
-+++ b/platforms/unix/vm-display-X11/sqUnixX11.c
-@@ -153,8 +153,8 @@
- /*** Variables -- X11 Related ***/
- 
- /* name of Squeak windows in Xrm and the WM */
--#define xResClass	"Squeak"
--#define xResName	"squeak"
-+#define xResClass	"pharo-vm"
-+#define xResName	"Pharo"
- 
- char		*displayName= 0;	/* name of display, or 0 for $DISPLAY */
- Display		*stDisplay= null;	/* Squeak display */
diff --git a/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch b/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch
deleted file mode 100644
index c06916c96ee..00000000000
--- a/pkgs/development/pharo/vm/patches/pharo-is-not-squeak.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-pharo --help must talk about Pharo and not about Squeak
---- a/platforms/unix/vm-display-X11/sqUnixX11.c
-+++ b/platforms/unix/vm-display-X11/sqUnixX11.c
-@@ -7075,8 +7075,8 @@
-   printf("  -lazy                 go to sleep when main window unmapped\n");
-   printf("  -mapdelbs             map Delete key onto Backspace\n");
-   printf("  -nointl               disable international keyboard support\n");
--  printf("  -notitle              disable the Squeak window title bar\n");
--  printf("  -title <t>            use t as the Squeak window title instead of the image name\n");
-+  printf("  -notitle              disable the Pharo window title bar\n");
-+  printf("  -title <t>            use t as the Pharo window title instead of the image name\n");
-   printf("  -ldtoms <n>           launch drop timeout milliseconds\n");
-   printf("  -noxdnd               disable X drag-and-drop protocol support\n");
-   printf("  -optmod <n>           map Mod<n> to the Option key\n");
-@@ -7095,7 +7095,7 @@
- static void display_printUsageNotes(void)
- {
-   printf("  Using `unix:0' for <dpy> may improve local display performance.\n");
--  printf("  -xshm only works when Squeak is running on the X server host.\n");
-+  printf("  -xshm only works when Pharo is running on the X server host.\n");
- }
- 
- 
diff --git a/pkgs/development/pure-modules/pure-gsl/default.nix b/pkgs/development/pure-modules/pure-gsl/default.nix
new file mode 100644
index 00000000000..bbad1e380d5
--- /dev/null
+++ b/pkgs/development/pure-modules/pure-gsl/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pure, pkgconfig, gsl }:
+
+stdenv.mkDerivation {
+  name = "pure-gsl-0.12";
+  src = fetchurl {
+    url = https://bitbucket.org/purelang/pure-lang/downloads/pure-gsl-0.12.tar.gz;
+    sha256 = "06bdd873d5417d90ca35093056a060b77365123ed24c3ac583cd3922d4c78a75";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure gsl ];
+
+  installPhase = ''
+    mkdir -p $out/lib/pure/gsl
+    install gsl.pure gsl$(pkg-config pure --variable DLL) $out/lib/pure
+    install gsl/*.pure $out/lib/pure/gsl
+  '';
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    description = "GNU Scientific Library interface for Pure";
+    homepage = http://puredocs.bitbucket.org/pure-gsl.html;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/pure-modules/pure-gsl/setup-hook.sh b/pkgs/development/pure-modules/pure-gsl/setup-hook.sh
new file mode 100644
index 00000000000..efaa2211ae6
--- /dev/null
+++ b/pkgs/development/pure-modules/pure-gsl/setup-hook.sh
@@ -0,0 +1,2 @@
+addToSearchPath PURE_INCLUDE $1/lib/pure
+addToSearchPath PURE_LIBRARY $1/lib/pure
diff --git a/pkgs/development/python-modules/blivet/default.nix b/pkgs/development/python-modules/blivet/default.nix
index c1b36bf909d..f84c836c056 100644
--- a/pkgs/development/python-modules/blivet/default.nix
+++ b/pkgs/development/python-modules/blivet/default.nix
@@ -1,52 +1,42 @@
-{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
-, libselinux, cryptsetup, multipath_tools, lsof, utillinux
-, useNixUdev ? true, udev ? null
-# This is only used when useNixUdev is false
-, udevSoMajor ? 1
+{ stdenv, fetchFromGitHub, buildPythonPackage, pykickstart, pyparted, pyblock
+, pyudev, six, libselinux, cryptsetup, multipath_tools, lsof, utillinux
 }:
 
-assert useNixUdev -> udev != null;
-
 let
   pyenable = { enablePython = true; };
   selinuxWithPython = libselinux.override pyenable;
   cryptsetupWithPython = cryptsetup.override pyenable;
 in buildPythonPackage rec {
   name = "blivet-${version}";
-  version = "0.17-1";
+  version = "0.67";
 
-  src = fetchurl {
-    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
-        + "${name}.tar.bz2";
-    sha256 = "1k3mws2q0ryb7422mml6idmaasz2i2v6ngyvg6d976dx090qnmci";
+  src = fetchFromGitHub {
+    owner = "dwlehman";
+    repo = "blivet";
+    rev = name;
+    sha256 = "1gk94ghjrxfqnx53hph1j2s7qcv86fjz48is7l099q9c24rjv8ky";
   };
 
   postPatch = ''
-    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
-      blivet/devicelibs/mpath.py blivet/devices.py
+    sed -i \
+      -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
+      -e '/^def set_friendly_names/a \    return False' \
+      blivet/devicelibs/mpath.py
     sed -i -e '/"wipefs"/ {
       s|wipefs|${utillinux}/sbin/wipefs|
       s/-f/--force/
     }' blivet/formats/__init__.py
     sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
     sed -i -r -e 's|"(u?mount)"|"${utillinux}/bin/\1"|' blivet/util.py
-    sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
-  '' + (if useNixUdev then ''
-    sed -i -e '/find_library/,/find_library/ {
-      c libudev = "${udev}/lib/libudev.so.1"
-    }' blivet/pyudev.py
-  '' else ''
-    sed -i \
-      -e '/^somajor *=/s/=.*/= ${toString udevSoMajor}/p' \
-      -e 's|common =.*|& + ["/lib/x86_64-linux-gnu", "/lib/i686-linux-gnu"]|' \
-      blivet/pyudev.py
-  '');
+    sed -i -e '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
+  '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock selinuxWithPython cryptsetupWithPython
-  ] ++ stdenv.lib.optional useNixUdev udev;
+    pykickstart pyparted pyblock pyudev selinuxWithPython cryptsetupWithPython
+    six
+  ];
 
-  # tests are currently _heavily_ broken upstream
+  # Tests are in <nixos/tests/blivet.nix>.
   doCheck = false;
 
   meta = {
diff --git a/pkgs/development/python-modules/boto-1.9-python-2.7.patch b/pkgs/development/python-modules/boto-1.9-python-2.7.patch
deleted file mode 100644
index 79ff9a7e4af..00000000000
--- a/pkgs/development/python-modules/boto-1.9-python-2.7.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix Boto 1.9 on Python 2.7.
-
-https://github.com/boto/boto/commit/6760075073c34d6dddb7e13b80dfa8d09f0f4f79
-
-diff --git a/boto/connection.py b/boto/connection.py
-index c5779e2..71942f1 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -252,8 +252,9 @@ class AWSAuthConnection(object):
-             # versions, it would append ":443" to the hostname sent
-             # in the Host header and so we needed to make sure we
-             # did the same when calculating the V2 signature.  In 2.6
-+            # (and higher!)
-             # it no longer does that.  Hence, this kludge.
--            if sys.version[:3] == "2.6" and port == 443:
-+            if sys.version[:3] in ('2.6', '2.7') and port == 443:
-                 signature_host = self.host
-             else:
-                 signature_host = '%s:%d' % (self.host, port)
diff --git a/pkgs/development/python-modules/boto/content-length-str.patch b/pkgs/development/python-modules/boto/content-length-str.patch
new file mode 100644
index 00000000000..7895e223c6b
--- /dev/null
+++ b/pkgs/development/python-modules/boto/content-length-str.patch
@@ -0,0 +1,16 @@
+Cherry-picked from https://github.com/boto/boto/pull/2932
+
+This fix is required for things like docker-registry to interact with S3. Will
+be obsolete after the next boto release (> 2.36.0)
+
+--- a/boto/connection.py
++++ b/boto/connection.py
+@@ -381,7 +381,7 @@ class HTTPRequest(object):
+         if 'Content-Length' not in self.headers:
+             if 'Transfer-Encoding' not in self.headers or \
+                     self.headers['Transfer-Encoding'] != 'chunked':
+-                self.headers['Content-Length'] = len(self.body)
++                self.headers['Content-Length'] = str(len(self.body))
+
+
+ class HTTPResponse(http_client.HTTPResponse):
diff --git a/pkgs/development/python-modules/box2d/disable-test.patch b/pkgs/development/python-modules/box2d/disable-test.patch
new file mode 100644
index 00000000000..bc2897a8b10
--- /dev/null
+++ b/pkgs/development/python-modules/box2d/disable-test.patch
@@ -0,0 +1,14 @@
+Common subdirectories: Box2D-2.3b0/Box2D and Box2D-2.3b0.new/Box2D
+Common subdirectories: Box2D-2.3b0/examples and Box2D-2.3b0.new/examples
+Common subdirectories: Box2D-2.3b0/library and Box2D-2.3b0.new/library
+diff -u Box2D-2.3b0/setup.py Box2D-2.3b0.new/setup.py
+--- Box2D-2.3b0/setup.py	2013-02-02 18:09:34.000000000 +0100
++++ Box2D-2.3b0.new/setup.py	2014-10-25 13:32:07.136922343 +0200
+@@ -176,7 +176,6 @@
+     package_dir      = {'Box2D': library_path, 

+                         'Box2D.b2': os.path.join(library_path, 'b2'),

+                         'Box2D.tests' : 'tests'},

+-    test_suite       = 'tests',

+     options          = { 'build_ext': { 'swig_opts' : swig_arguments },

+                          'egg_info' : { 'egg_base' : library_base },

+                         },

diff --git a/pkgs/development/python-modules/bsddb3/default.nix b/pkgs/development/python-modules/bsddb3/default.nix
index 574796e2c68..bd5b953f048 100644
--- a/pkgs/development/python-modules/bsddb3/default.nix
+++ b/pkgs/development/python-modules/bsddb3/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, python, db}:
 
 stdenv.mkDerivation rec {
-  name = "bsddb3-6.0.1";
+  name = "bsddb3-6.1.0";
   src = fetchurl {
     url = "https://pypi.python.org/packages/source/b/bsddb3/${name}.tar.gz";
-    md5 = "2b22ab1b4d896961c30e4106660e9139";
+    sha256 = "05gx3rfgq1qrgdmpd6hri6y5l97bh1wczvb6x853jchwi7in6cdi";
   };
   buildInputs = [python];
   buildPhase = "true";
diff --git a/pkgs/development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch b/pkgs/development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch
new file mode 100644
index 00000000000..63c0fdc3c50
--- /dev/null
+++ b/pkgs/development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch
@@ -0,0 +1,30 @@
+From e7ed770363e8769727a915b2390c0ce1ab2ce964 Mon Sep 17 00:00:00 2001
+From: Michal Hlavinka <mhlavink@redhat.com>
+Date: Wed, 18 Jun 2014 20:07:24 -0400
+Subject: tests: Fix cookie comparison on rawhide
+
+Cookie comments changed, so just strip them out
+
+(crobinso: Add commit message, make change more readable)
+
+diff --git a/tests/misc.py b/tests/misc.py
+index 4b4f99d..12da806 100644
+--- a/tests/misc.py
++++ b/tests/misc.py
+@@ -83,7 +83,12 @@ class MiscAPI(unittest.TestCase):
+ 
+         # Mozilla should be converted inplace to LWP
+         bugzilla.Bugzilla3(url=None, cookiefile=cookiesnew)
+-        self.assertEquals(open(cookiesmoz).read(), open(cookiesnew).read())
++
++        def strip_comments(content):
++            return [l for l in content.split("\n") if not l.startswith("#")]
++        self.assertEquals(
++            strip_comments(open(cookiesmoz).read()),
++            strip_comments(open(cookiesnew).read()))
+ 
+         # Make sure bad cookies raise an error
+         try:
+-- 
+cgit v0.10.2
+
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index d88504379ed..bc386e7e5ac 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools }:
+{ stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "dbus-python-1.2.0";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index 4c9c53aab83..20fb2ec496b 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -57,12 +57,13 @@ if disabled then throw "${name} not supported for interpreter ${python.executabl
   name = namePrefix + name;
 
   buildInputs = [
-    python wrapPython setuptools
+    wrapPython setuptools
     (distutils-cfg.override { extraCfg = distutilsExtraCfg; })
   ] ++ buildInputs ++ pythonPath
     ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip);
 
-  propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader ];
+  # propagate python to active setup-hook in nix-shell
+  propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader python ];
 
   pythonPath = [ setuptools ] ++ pythonPath;
 
@@ -117,7 +118,7 @@ if disabled then throw "${name} not supported for interpreter ${python.executabl
     # work as expected
 
     # --old-and-unmanagable:
-    # instruct setuptools not to use eggs but fallback to plan package install 
+    # instruct setuptools not to use eggs but fallback to plan package install
     # this also reduces one .pth file in the chain, but the main reason is to
     # force install process to install only scripts for the package we are
     # installing (otherwise it will install scripts also for dependencies)
@@ -142,14 +143,6 @@ if disabled then throw "${name} not supported for interpreter ${python.executabl
   postFixup = attrs.postFixup or ''
       wrapPythonPrograms
 
-      # If a user installs a Python package, they probably also wants its
-      # dependencies in the user environment profile (only way to find the
-      # dependencies is to have them in the PYTHONPATH variable).
-      # Allows you to do: $ PYTHONPATH=~/.nix-profile/lib/python2.7/site-packages python
-      if test -e $out/nix-support/propagated-build-inputs; then
-          ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
-      fi
-
       # TODO: document
       createBuildInputsPth build-inputs "$buildInputStrings"
       for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
@@ -161,11 +154,12 @@ if disabled then throw "${name} not supported for interpreter ${python.executabl
 
   shellHook = attrs.shellHook or ''
     if test -e setup.py; then
-       mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
+       tmp_path=/tmp/`pwd | md5sum | cut -f 1 -d " "`-$name
+       mkdir -p $tmp_path/lib/${python.libPrefix}/site-packages
        ${preShellHook}
-       export PATH="/tmp/$name/bin:$PATH"
-       export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-       ${python}/bin/${python.executable} setup.py develop --prefix /tmp/$name
+       export PATH="$tmp_path/bin:$PATH"
+       export PYTHONPATH="$tmp_path/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+       ${python}/bin/${python.executable} setup.py develop --prefix $tmp_path
        ${postShellHook}
     fi
   '';
diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh
index 857f002cace..e343536b8fa 100644
--- a/pkgs/development/python-modules/generic/wrap.sh
+++ b/pkgs/development/python-modules/generic/wrap.sh
@@ -16,13 +16,13 @@ wrapPythonProgramsIn() {
     done
 
     for i in $(find "$dir" -type f -perm +0100); do
-
         # Rewrite "#! .../env python" to "#! /nix/store/.../python".
         if head -n1 "$i" | grep -q '#!.*/env.*\(python\|pypy\)'; then
             sed -i "$i" -e "1 s^.*/env[ ]*\(python\|pypy\)^#! $python^"
         fi
         
-        if head -n1 "$i" | grep -q '/python\|/pypy'; then
+        # catch /python and /.python-wrapped
+        if head -n1 "$i" | grep -q '/\.\?\(python\|pypy\)'; then
             # dont wrap EGG-INFO scripts since they are called from python
             if echo "$i" | grep -v EGG-INFO/scripts; then
                 echo "wrapping \`$i'..."
diff --git a/pkgs/development/python-modules/gevent_sslwrap.patch b/pkgs/development/python-modules/gevent_sslwrap.patch
new file mode 100644
index 00000000000..a9bb0eab5de
--- /dev/null
+++ b/pkgs/development/python-modules/gevent_sslwrap.patch
@@ -0,0 +1,49 @@
+From 485cebc4d9bab2dae51cf29f91fad2f1cf157fec Mon Sep 17 00:00:00 2001
+From: Eugene Pankov <john.pankov@gmail.com>
+Date: Sun, 21 Sep 2014 12:04:13 +0300
+Subject: [PATCH] Work around missing sslwrap in Python 2.7.9 (fixes #477)
+
+---
+ gevent/_ssl2.py | 28 ++++++++++++++++++++--------
+ 1 file changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/gevent/ssl.py b/gevent/ssl.py
+index 21491b7..85e6a86 100644
+--- a/gevent/ssl.py
++++ b/gevent/ssl.py
+@@ -80,15 +80,27 @@ def __init__(self, sock, keyfile=None, certfile=None,
+             self._sslobj = None
+         else:
+             # yes, create the SSL object
+-            if ciphers is None:
+-                self._sslobj = _ssl.sslwrap(self._sock, server_side,
+-                                            keyfile, certfile,
+-                                            cert_reqs, ssl_version, ca_certs)
++            if hasattr(_ssl, 'sslwrap'):
++                if ciphers is None:
++                    self._sslobj = _ssl.sslwrap(self._sock, server_side,
++                                                keyfile, certfile,
++                                                cert_reqs, ssl_version, ca_certs)
++                else:
++                    self._sslobj = _ssl.sslwrap(self._sock, server_side,
++                                                keyfile, certfile,
++                                                cert_reqs, ssl_version, ca_certs,
++                                                ciphers)
+             else:
+-                self._sslobj = _ssl.sslwrap(self._sock, server_side,
+-                                            keyfile, certfile,
+-                                            cert_reqs, ssl_version, ca_certs,
+-                                            ciphers)
++                self.context = __ssl__.SSLContext(ssl_version)
++                self.context.verify_mode = cert_reqs
++                if ca_certs:
++                    self.context.load_verify_locations(ca_certs)
++                if certfile:
++                    self.context.load_cert_chain(certfile, keyfile)
++                if ciphers:
++                    self.context.set_ciphers(ciphers)
++                self._sslobj = self.context._wrap_socket(self._sock, server_side=server_side, ssl_sock=self)
++
+             if do_handshake_on_connect:
+                 self.do_handshake()
+         self.keyfile = keyfile
diff --git a/pkgs/development/python-modules/graph-tool/2.x.x.nix b/pkgs/development/python-modules/graph-tool/2.x.x.nix
new file mode 100644
index 00000000000..aa5deb6d6db
--- /dev/null
+++ b/pkgs/development/python-modules/graph-tool/2.x.x.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, python, cairomm, sparsehash, pycairo, automake, m4,
+pkgconfig, boost, expat, scipy, numpy, cgal, gmp, mpfr, lndir, makeWrapper,
+gobjectIntrospection, pygobject3, gtk3, matplotlib }:
+
+stdenv.mkDerivation rec {
+  version = "2.2.36";
+  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/;
+    license     = licenses.gpl3;
+    platforms   = platforms.all;
+    maintainer  = [ stdenv.lib.maintainers.joelmo ];
+  };
+
+  src = fetchurl {
+    url = "http://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2";
+    sha256 = "0wp81dp2kd4bzsl6f3gxjmf11hiqr7rz7g0wa1j38fc0chq31q71";
+  };
+
+  preConfigure = ''
+    configureFlags="--with-python-module-path=$out/${python.sitePackages}"
+  '';
+
+  buildInputs = [ automake m4 pkgconfig makeWrapper ];
+
+  propagatedBuildInputs = [
+    boost
+    cgal
+    expat
+    gmp
+    mpfr
+    python
+    scipy
+    # optional
+    sparsehash
+    # drawing
+    cairomm
+    gobjectIntrospection
+    gtk3
+    pycairo
+    matplotlib
+    pygobject3
+  ];
+
+  enableParallelBuilding = false;
+}
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
index 9ab68ac4cd2..39a35ad49c6 100644
--- a/pkgs/development/python-modules/h5py/default.nix
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -34,9 +34,8 @@ buildPythonPackage rec {
     ;
 
   meta = {
-    description = "
-      The h5py package is a Pythonic interface to the HDF5 binary data format.
-    ";
+    description =
+      "Pythonic interface to the HDF5 binary data format";
     homepage = "http://www.h5py.org/";
     license = stdenv.lib.licenses.bsd2;
   };
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
new file mode 100644
index 00000000000..d22c8cf3231
--- /dev/null
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, python, buildPythonPackage, pycairo
+, which, dateutil, nose, numpy, pyparsing, tornado
+, freetype, libpng, pkgconfig, mock, pytz, pygobject3
+, enableGhostscript ? false, ghostscript ? null, gtk3
+, enableGtk2 ? false, pygtk ? null, gobjectIntrospection
+, enableGtk3 ? false, cairo
+}:
+
+assert enableGhostscript -> ghostscript != null;
+assert enableGtk2 -> pygtk != null;
+
+buildPythonPackage rec {
+  name = "matplotlib-1.4.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/matplotlib/${name}.tar.gz";
+    sha256 = "0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp";
+  };
+  
+  XDG_RUNTIME_DIR = "/tmp";
+
+  buildInputs = [ python which stdenv ]
+    ++ stdenv.lib.optional enableGhostscript ghostscript;
+
+  propagatedBuildInputs =
+    [ dateutil nose numpy pyparsing tornado freetype 
+      libpng pkgconfig mock pytz  
+    ]
+    ++ stdenv.lib.optional enableGtk2 pygtk
+    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ];
+
+  meta = with stdenv.lib; {
+    description = "python plotting library, making publication quality plots";
+    homepage    = "http://matplotlib.sourceforge.net/";
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index 74d46def907..c38d948dd6b 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh }:
+{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh, isPy3k, isPyPy }:
 
 buildPythonPackage rec {
   name = "mpi4py-1.3.1";
@@ -12,6 +12,16 @@ buildPythonPackage rec {
     inherit mpi;
   };
 
+  # The tests in the `test_spawn` module fail in the chroot build environment.
+  # However, they do pass in a pure, or non-pure nix-shell. Hence, we
+  # deactivate these particular tests.
+  # Unfortunately, the command-line arguments to `./setup.py test` are not
+  # correctly passed to the test-runner. Hence, these arguments are patched
+  # directly into `setup.py`.
+  patchPhase = ''
+    sed 's/err = main(cmd.args or \[\])/err = main(cmd.args or ["-v", "-e", "test_spawn"])/' -i setup.py
+  '';
+
   configurePhase = "";
 
   installPhase = ''
@@ -35,10 +45,11 @@ buildPythonPackage rec {
   # if openssh is not present. E.g. h5py with mpi support.
   propagatedBuildInputs = [ openssh ];
 
+  disabled = isPy3k || isPyPy;
+
   meta = {
-    description = "
-      Provides Python bindings for the Message Passing Interface standard.
-    ";
+    description =
+      "Python bindings for the Message Passing Interface standard";
     homepage = "http://code.google.com/p/mpi4py/";
     license = stdenv.lib.licenses.bsd3;
   };
diff --git a/pkgs/development/python-modules/mygpoclient/default.nix b/pkgs/development/python-modules/mygpoclient/default.nix
index d4461788381..e83cc9ad1f4 100644
--- a/pkgs/development/python-modules/mygpoclient/default.nix
+++ b/pkgs/development/python-modules/mygpoclient/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
       to the gpodder.net web services.
     '';
     homepage = "https://thp.io/2010/mygpoclient/";
-    license = "GPLv3";
+    license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = [ stdenv.lib.maintainers.skeidel ];
   };
diff --git a/pkgs/development/python-modules/pyacoustid-py3.patch b/pkgs/development/python-modules/pyacoustid-py3.patch
new file mode 100644
index 00000000000..f79b35fd345
--- /dev/null
+++ b/pkgs/development/python-modules/pyacoustid-py3.patch
@@ -0,0 +1,32 @@
+From 19209469a709ec0914f82c9de23137e360e5e804 Mon Sep 17 00:00:00 2001
+From: Simon Chopin <chopin.simon@gmail.com>
+Date: Mon, 29 Sep 2014 10:38:20 +0200
+Subject: [PATCH] Explicit the UTF-8 encoding also when installing using Python
+ 3
+
+If the locale isn't UTF-8, or for some reason Python doesn't pick up on
+it, it will try to decode using ASCII, which will of course cause
+mayhem, crash and despair.
+
+This patch will be shipped with the Debian package 1.1.0-1
+---
+ setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index eafe5ea..0732fe3 100644
+--- a/setup.py
++++ b/setup.py
+@@ -18,9 +18,10 @@
+ 
+ def _read(fn):
+     path = os.path.join(os.path.dirname(__file__), fn)
+-    data = open(path).read()
+     if sys.version_info[0] < 3:
+-        data = data.decode('utf8')
++        data = open(path).read().decode('utf8')
++    else:
++        data = open(path, encoding='utf8').read()
+     # Special case some Unicode characters; PyPI seems to only like ASCII.
+     data = data.replace(u'\xe1', u'a')
+     data = data.replace(u'\u0161', u's')
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 3dc64f68129..0589bec36b9 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11 }:
+{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "pycairo not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   version = "1.10.0";
   name = "pycairo-${version}";
   src = if python.is_py3k or false
diff --git a/pkgs/development/python-modules/pycdio/add-cdtext-toc.patch b/pkgs/development/python-modules/pycdio/add-cdtext-toc.patch
new file mode 100644
index 00000000000..4e36612d80d
--- /dev/null
+++ b/pkgs/development/python-modules/pycdio/add-cdtext-toc.patch
@@ -0,0 +1,52 @@
+diff -Nurp pycdio-0.20-orig/test/cdtext.toc pycdio-0.20/test/cdtext.toc
+--- pycdio-0.20-orig/test/cdtext.toc	1970-01-01 01:00:00.000000000 +0100
++++ pycdio-0.20/test/cdtext.toc	2014-11-06 23:36:12.520708320 +0100
+@@ -0,0 +1,48 @@
++CD_DA
++
++// global CD-TEXT data
++
++CD_TEXT {
++
++  // Mapping from language number (0..7) used in 'LANGUAGE' statements 
++  // to language code.
++///  LANGUAGE_MAP {
++///    0 : EN  // 9 is the code for ENGLISH,
++///            // I don't know any other language code, yet
++///  }
++
++  // Language number should always start with 0
++  LANGUAGE 0 {
++    // Required fields - at least all CD-TEXT CDs I've seen so far have them.
++    TITLE "CD Title"
++    PERFORMER "Performer"
++    DISC_ID "XY12345"
++    UPC_EAN "" // usually empty
++
++    // Further possible items, all of them are optional
++    ARRANGER ""
++    SONGWRITER ""
++    MESSAGE "" 
++    GENRE "" // I'm not sure if this should be really ascii data
++  }
++}
++
++
++TRACK AUDIO
++// track specific CD-TEXT data
++CD_TEXT {
++  LANGUAGE 0 {
++    // if an item is defined for one track it should be defined for all tracks
++    TITLE "Track Title"
++
++    PERFORMER "Performer"
++    ISRC "US-XX1-98-01234"
++
++    ARRANGER ""
++    SONGWRITER ""
++    MESSAGE "" 
++  }
++}
++
++SILENCE 1:0:0
++
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 59bd9affef6..4faaf20d29c 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -9,6 +9,11 @@ buildPythonPackage rec {
     sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
   };
 
+  preConfigure = ''
+    sed -i 's,/usr/include,/no-such-dir,' configure
+    sed -i "s!,'/usr/include/'!!" setup.py
+  '';
+
   buildInputs = stdenv.lib.optional (!python.isPypy or false) gmp; # optional for pypy
 
   doCheck = !(python.isPypy or stdenv.isDarwin); # error: AF_UNIX path too long
diff --git a/pkgs/development/python-modules/pycups/default.nix b/pkgs/development/python-modules/pycups/default.nix
index a61106f476d..766dcaa58f7 100644
--- a/pkgs/development/python-modules/pycups/default.nix
+++ b/pkgs/development/python-modules/pycups/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python, cups }:
 
-let version = "1.9.57"; in
+let version = "1.9.68"; in
 
 stdenv.mkDerivation {
   name = "pycups-${version}";
   
   src = fetchurl {
     url = "http://cyberelk.net/tim/data/pycups/pycups-${version}.tar.bz2";
-    sha256 = "12m3lh4nmfp6yn6sqlskl9gb1mfiwx42m8dnms6j6xc2nimn5k14";
+    sha256 = "1i1ph9k1wampa7r6mgc30a99w0zjmxhvcxjxrgjqa5vdknynqd24";
   };
 
   installPhase = ''
diff --git a/pkgs/development/python-modules/pygame/default.nix b/pkgs/development/python-modules/pygame/default.nix
index 93fa70e44bc..3a24767ae4e 100644
--- a/pkgs/development/python-modules/pygame/default.nix
+++ b/pkgs/development/python-modules/pygame/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, python, pkgconfig
-, SDL, SDL_image, SDL_mixer, SDL_ttf, libpng, libjpeg
+{ stdenv, fetchurl, buildPythonPackage, pkgconfig, smpeg, libX11
+, SDL, SDL_image, SDL_mixer, SDL_ttf, libpng, libjpeg, portmidi
 }:
 
-stdenv.mkDerivation {
+buildPythonPackage {
   name = "pygame-1.9.1";
 
   src = fetchurl {
@@ -11,24 +11,21 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    python pkgconfig SDL SDL_image SDL_mixer SDL_ttf libpng libjpeg
+    pkgconfig SDL SDL_image SDL_mixer SDL_ttf libpng libjpeg
+    smpeg portmidi libX11
   ];
 
   patches = [ ./pygame-v4l.patch ];
 
-  configurePhase = ''
-    for i in ${SDL_image} ${SDL_mixer} ${SDL_ttf} ${libpng} ${libjpeg}; do
+  preConfigure = ''
+    for i in ${SDL_image} ${SDL_mixer} ${SDL_ttf} ${libpng} ${libjpeg} ${portmidi} ${libX11}; do
       sed -e "/origincdirs =/a'$i/include'," -i config_unix.py
       sed -e "/origlibdirs =/aoriglibdirs += '$i/lib'," -i config_unix.py
     done
 
-    yes Y | LOCALBASE=/ python config.py
+    LOCALBASE=/ python config.py
   '';
 
-  buildPhase = "python setup.py build"; 
-
-  installPhase = "python setup.py install --prefix=$out";
-
   meta = {
     description = "Python library for games";
     homepage = "http://www.pygame.org/";
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index 94de33f0d50..14b7bd34eae 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0dfsjsa95ix8bx3h8w4bhnz7rymgl2paclvbn93x6qp8b53y0pys";
   };
 
-  buildInputs = [ python pkgconfig glib gobjectIntrospection pycairo cairo ];
+  buildInputs = [ python pkgconfig glib gobjectIntrospection ];
+  propagatedBuildInputs = [ pycairo cairo ];
 
   meta = {
     homepage = http://live.gnome.org/PyGObject;
diff --git a/pkgs/development/python-modules/pygtksourceview/codegendir.patch b/pkgs/development/python-modules/pygtksourceview/codegendir.patch
new file mode 100644
index 00000000000..783c5e2d467
--- /dev/null
+++ b/pkgs/development/python-modules/pygtksourceview/codegendir.patch
@@ -0,0 +1,25 @@
+diff -Nur pygtksourceview-2.10.1-orig/configure pygtksourceview-2.10.1/configure
+--- pygtksourceview-2.10.1-orig/configure	2010-04-18 15:29:55.000000000 +0200
++++ pygtksourceview-2.10.1/configure	2015-01-30 20:36:31.784541887 +0100
+@@ -12950,7 +12950,7 @@
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pygtk codegen" >&5
+ $as_echo_n "checking for pygtk codegen... " >&6; }
+-CODEGENDIR=`$PKG_CONFIG --variable=codegendir pygtk-2.0`
++CODEGENDIR=`$PKG_CONFIG --variable=codegendir pygobject-2.0`
+ echo $CODEGENDIR
+ if test -f $CODEGENDIR/codegen.py; then
+ 	CODEGEN=$CODEGENDIR/codegen.py
+diff -Nur pygtksourceview-2.10.1-orig/configure.ac pygtksourceview-2.10.1/configure.ac
+--- pygtksourceview-2.10.1-orig/configure.ac	2010-04-18 15:28:39.000000000 +0200
++++ pygtksourceview-2.10.1/configure.ac	2015-01-30 20:36:42.781648830 +0100
+@@ -116,7 +116,7 @@
+ 
+ dnl codegen
+ AC_MSG_CHECKING(for pygtk codegen)
+-CODEGENDIR=`$PKG_CONFIG --variable=codegendir pygtk-2.0`
++CODEGENDIR=`$PKG_CONFIG --variable=codegendir pygobject-2.0`
+ echo $CODEGENDIR
+ if test -f $CODEGENDIR/codegen.py; then
+ 	CODEGEN=$CODEGENDIR/codegen.py
+
diff --git a/pkgs/development/python-modules/pygtksourceview/default.nix b/pkgs/development/python-modules/pygtksourceview/default.nix
new file mode 100644
index 00000000000..f282d3d3697
--- /dev/null
+++ b/pkgs/development/python-modules/pygtksourceview/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, python, pkgconfig, pygobject, glib, pygtk, gnome2 }:
+
+let version = "2.10.1"; in
+
+stdenv.mkDerivation {
+  name = "pygtksourceview-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/gnome/sources/pygtksourceview/2.10/pygtksourceview-${version}.tar.bz2";
+    sha256 = "0x2r9k547ad68sfddr5am341ap6zvy8k0rh3rd0n38k7xdd7rd5l";
+  };
+
+  patches = [ ./codegendir.patch ];
+
+  buildInputs = [ python pkgconfig pygobject glib pygtk gnome2.gtksourceview ];
+}
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 552def7241b..7f4584f9c73 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "pylint-1.2.1";
+  name = "pylint-1.4.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://pypi.python.org/packages/source/p/pylint/${name}.tar.gz";
-    sha256 = "0q7zj5hgmz27wifhcqyaddc9yc5b2q6p16788zzm3da6qshv7xk3";
+    sha256 = "0c7hw1pcp5sqmc0v86zygw21isfgzbsqdmlb1sywncnlxmh30f1y";
   };
 
   propagatedBuildInputs = with pythonPackages; [ astroid ];
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
deleted file mode 100644
index 5f92e2cf202..00000000000
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-a :
-let
-  fetchurl = a.fetchurl;
-
-  version = a.lib.attrByPath ["version"] "0.13.1" a;
-  propagatedBuildInputs = with a; [
-    openssl python
-  ];
-in
-rec {
-  src = fetchurl {
-    url = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${version}.tar.gz";
-    sha256 = "1nrg2kas0wsv65j8sia8zkkc6ir5i20lrhkfavjxzxhl0iqyq1ms";
-  };
-
-  inherit propagatedBuildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["installPythonPackage"];
-
-  name = "pyOpenSSL-" + version;
-  meta = {
-    description = "Python OpenSSL wrapper capable of checking certificates";
-  };
-}
diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix
index 92a5fd2dc07..92b74c952fa 100644
--- a/pkgs/development/python-modules/pyqt/4.x.nix
+++ b/pkgs/development/python-modules/pyqt/4.x.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, python, sip, qt4, pythonDBus, pkgconfig, lndir, makeWrapper }:
+{ stdenv, fetchurl, python, pythonPackages, qt4, pythonDBus, pkgconfig, lndir, makeWrapper }:
 
-let version = "4.10.2"; # kde410.pykde4 doesn't build with 4.10.3
+let version = "4.11.3";
 in
 stdenv.mkDerivation {
   name = "PyQt-x11-gpl-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/PyQt4/PyQt-${version}/PyQt-x11-gpl-${version}.tar.gz";
-    sha256 = "1zp69caqq195ymp911d0cka8619q78hzmfxvj7c51w2y53zg4z3l";
+    sha256 = "11jnfjw79s0b0qdd9s6kd69w87vf16dhagbhbmwbmrp2vgf80dw5";
   };
 
   configurePhase = ''
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ python pkgconfig makeWrapper qt4 lndir ];
 
-  propagatedBuildInputs = [ sip ];
+  propagatedBuildInputs = [ pythonPackages.sip_4_16 ];
 
   postInstall = ''
     for i in $out/bin/*; do
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 2d2a2ed5151..83dac459284 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -29,7 +29,8 @@ in stdenv.mkDerivation {
     export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
 
     substituteInPlace configure.py \
-      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
+      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \
+      --replace "ModuleMetadata(qmake_QT=['webkitwidgets'])" "ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport'])"
 
     ${python.executable} configure.py  -w \
       --confirm-license \
diff --git a/pkgs/development/python-modules/rbtools/default.nix b/pkgs/development/python-modules/rbtools/default.nix
index 7d82ef9adf2..889f3df52ae 100644
--- a/pkgs/development/python-modules/rbtools/default.nix
+++ b/pkgs/development/python-modules/rbtools/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, pythonPackages, python }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "rbtools-0.4.1";
+  name = "rbtools-0.7.1";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://downloads.reviewboard.org/releases/RBTools/0.4/RBTools-0.4.1.tar.gz";
-    sha256 = "1v0r7rfzrasj56s53mib51wl056g7ykh2y1c6dwv12r6hzqsycgv";
+    url = "http://downloads.reviewboard.org/releases/RBTools/0.7/RBTools-0.7.1.tar.gz";
+    sha256 = "0axi4jf19ia2jwrs3b0xni7v317v03wj35richi111cm3pw6p2gb";
   };
 
-  propagatedBuildInputs = [ pythonPackages.setuptools ];
+  propagatedBuildInputs = [ python.modules.sqlite3 pythonPackages.six ];
 }
diff --git a/pkgs/development/python-modules/rhpl/builder.sh b/pkgs/development/python-modules/rhpl/builder.sh
index b37e9081832..dc93effe802 100644
--- a/pkgs/development/python-modules/rhpl/builder.sh
+++ b/pkgs/development/python-modules/rhpl/builder.sh
@@ -1,6 +1,6 @@
 source $stdenv/setup
 
-rpm2cpio $src | cpio -idv
+rpmextract $src
 tar xfvj rhpl-*.tar.bz2
 rm rhpl-*.tar.bz2
 cd rhpl-*
diff --git a/pkgs/development/python-modules/rhpl/default.nix b/pkgs/development/python-modules/rhpl/default.nix
index 92330a378c8..ee1d0ec1738 100644
--- a/pkgs/development/python-modules/rhpl/default.nix
+++ b/pkgs/development/python-modules/rhpl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, rpm, cpio, python, wirelesstools, gettext}:
+{stdenv, fetchurl, rpmextract, python, wirelesstools, gettext}:
 
 stdenv.mkDerivation {
   name = "rhpl-0.218";
@@ -12,5 +12,5 @@ stdenv.mkDerivation {
   
   builder = ./builder.sh;
   
-  buildInputs = [ rpm cpio python wirelesstools gettext ];
+  buildInputs = [ rpmextract python wirelesstools gettext ];
 }
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index e33c815d23b..01fe4668679 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
   shortName = "setuptools-${version}";
   name = "${python.executable}-${shortName}";
 
-  version = "2.1";
+  version = "7.0";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz";
-    sha256 = "1m8qjvj5bfbphdags5s6pgmvk3xnw509lgdlq9whkq5a9mgxf8m7";
+    sha256 = "0qg07f035agwcz9m0p3kgdjs18xpl3h00rv28aqsfdyz1wm1m76x";
   };
 
   buildInputs = [ python wrapPython distutils-cfg ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       wrapPythonPrograms
     '';
 
-  doCheck = stdenv.system != "x86_64-darwin";
+  doCheck = false;  # requires pytest
 
   checkPhase = ''
     ${python}/bin/${python.executable} setup.py test
diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix
index aa1fb198438..b10852d17f3 100644
--- a/pkgs/development/python-modules/sip/4.16.nix
+++ b/pkgs/development/python-modules/sip/4.16.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, isPyPy }:
 
-stdenv.mkDerivation rec {
-  name = "sip-4.16.1";
+if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
+  name = "sip-4.16.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
-    sha256 = "1hknl71ij924syc9ik9nk4z051q3n75y7w27q9i07awpd39sp7m4";
+    sha256 = "1xapklcz5ndilax0gr2h1fqzhdzh7yvxfb3y0rxfcag1qlzl9nnf";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index db397f95944..cf3a0149844 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, isPyPy }:
 
-stdenv.mkDerivation rec {
+if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "sip-4.14.7"; # kde410.pykde4 doesn't build with 4.15
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/taskw/use-template-for-taskwarrior-install-path.patch b/pkgs/development/python-modules/taskw/use-template-for-taskwarrior-install-path.patch
new file mode 100644
index 00000000000..006d964d401
--- /dev/null
+++ b/pkgs/development/python-modules/taskw/use-template-for-taskwarrior-install-path.patch
@@ -0,0 +1,48 @@
+commit 4de021d049a9b194da93d7e96ff12cc1cbabac83
+Author: Nicolas B. Pierron <nixos@nbp.name>
+Date:   Sun Nov 16 15:19:38 2014 +0100
+
+    Use a template for taskwarrior install path.
+
+diff --git a/taskw/warrior.py b/taskw/warrior.py
+index 21dde88..e0509f2 100644
+--- a/taskw/warrior.py
++++ b/taskw/warrior.py
+@@ -451,17 +451,17 @@ class TaskWarriorShellout(TaskWarriorBase):
+     def _execute(self, *args):
+         """ Execute a given taskwarrior command with arguments
+ 
+         Returns a 2-tuple of stdout and stderr (respectively).
+ 
+         """
+         command = (
+             [
+-                'task',
++                '@@taskwarrior@@/bin/task',
+                 'rc:%s' % self.config_filename,
+             ]
+             + self.get_configuration_override_args()
+             + [six.text_type(arg) for arg in args]
+         )
+ 
+         # subprocess is expecting bytestrings only, so nuke unicode if present
+         for i in range(len(command)):
+@@ -525,17 +525,17 @@ class TaskWarriorShellout(TaskWarriorBase):
+         except OSError:
+             # OSError is raised if subprocess.Popen fails to find
+             # the executable.
+             return False
+ 
+     @classmethod
+     def get_version(cls):
+         taskwarrior_version = subprocess.Popen(
+-            ['task', '--version'],
++            ['@@taskwarrior@@/bin/task', '--version'],
+             stdout=subprocess.PIPE
+         ).communicate()[0]
+         return LooseVersion(taskwarrior_version.decode())
+ 
+     def sync(self, init=False):
+         if self.get_version() < LooseVersion('2.3'):
+             raise UnsupportedVersionException(
+                 "'sync' requires version 2.3 of taskwarrior or later."
diff --git a/pkgs/development/python-modules/wxPython/2.8.nix b/pkgs/development/python-modules/wxPython/2.8.nix
index 8819605528d..a6fd0100f58 100644
--- a/pkgs/development/python-modules/wxPython/2.8.nix
+++ b/pkgs/development/python-modules/wxPython/2.8.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages }:
+{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, python, isPyPy }:
 
 assert wxGTK.unicode;
 
 let version = "2.8.12.1"; in
 
-stdenv.mkDerivation {
+if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
   name = "wxPython-${version}";
   
   builder = ./builder.sh;
@@ -17,4 +17,8 @@ stdenv.mkDerivation {
   buildInputs = [ pkgconfig wxGTK (wxGTK.gtk) pythonPackages.python pythonPackages.wrapPython ];
   
   passthru = { inherit wxGTK; };
+
+  meta = {
+    platforms = stdenv.lib.platforms.all;
+  };
 }
diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix
index 9aa6148643b..4974daebb2b 100644
--- a/pkgs/development/python-modules/wxPython/3.0.nix
+++ b/pkgs/development/python-modules/wxPython/3.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true }:
+{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true, python, isPyPy }:
 
 assert wxGTK.unicode;
 
@@ -6,7 +6,7 @@ with stdenv.lib;
 
 let version = "3.0.0.0"; in
 
-stdenv.mkDerivation {
+if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation {
   name = "wxPython-${version}";
   
   builder = ./builder3.0.sh;
@@ -22,4 +22,8 @@ stdenv.mkDerivation {
   inherit openglSupport;
 
   passthru = { inherit wxGTK openglSupport; };
-}
+  
+  meta = {
+    platforms = stdenv.lib.platforms.all;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index dec94a912e0..47564a112ee 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -3,8 +3,8 @@
 with stdenv.lib;
 
 let
-  baseVersion = "3.1";
-  revision = "0";
+  baseVersion = "3.2";
+  revision = "1";
   version = "${baseVersion}.${revision}";
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
-    sha256 = "c8c648f4988b707393e0f1958a8868718f27e59263f05f3b6599fa62290c2bbf";
+    sha256 = "0kp7czn9mzncdpq8bx15s3sy13g4xlcdz7y7zy0s9350g4ijs8fx";
   };
 
   # This property can be used in a nix development environment to refer to the Qt package
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index dcffbccb510..1661152664f 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -1,5884 +1,6427 @@
-/* This file defines the composition for CRAN (R) packages.
+# This file is generated from generate-cran-packages.R. DO NOT EDIT.
+# Execute the following command to update the file.
+#
+# Rscript generate-cran-packages.R > cran-packages.nix
 
-   It was generated automatically by the following R program:
-
-   | library(data.table)
-   | library(parallel)
-   | cl <- makeCluster(10)
-   | options(repos=structure(c(CRAN="http://cran.rstudio.com/")))
-   |
-   | nixPrefetch <- function(name, version) {
-   |     system(paste0("nix-prefetch-url 2>/dev/null http://cran.rstudio.com/src/contrib/", name, "_", version, ".tar.gz"), intern=TRUE)
-   | }
-   |
-   | formatPackage <- function(name, version, sha256, depends, imports, knownPackages) {
-   |     attr <- gsub(".", "_", name, fixed=TRUE)
-   |     if (is.na(depends)) depends <- "";
-   |     depends <- unlist(strsplit(depends, split="[ \t\n]*,[ \t\n]*", fixed=FALSE))
-   |     depends <- c(depends, unlist(strsplit(imports, split="[ \t\n]*,[ \t\n]*", fixed=FALSE)))
-   |     depends <- sapply(depends, gsub, pattern="([^ \t\n(]+).*", replacement="\\1")
-   |     depends <- depends[depends %in% knownPackages]
-   |     depends <- sapply(depends, gsub, pattern=".", replacement="_", fixed=TRUE)
-   |     depends <- paste(depends, collapse=" ")
-   |     paste0(attr, " = derive { name=\"", name, "\"; version=\"", version, "\"; sha256=\"", sha256, "\"; depends=[", depends, "]; };")
-   | }
-   |
-   | clusterExport(cl, c("nixPrefetch"))
-   |
-   | pkgs <- as.data.table(available.packages(filters=c("R_version", "OS_type", "CRAN", "duplicates")))
-   | pkgs <- subset(pkgs, Repository=="http://cran.rstudio.com/src/contrib")
-   | pkgs$sha256 <- parApply(cl, pkgs, 1, function(p) nixPrefetch(p[1], p[2]))
-   | knownPackages <- unique(pkgs$Package)
-   |
-   | nix <- apply(pkgs, 1, function(p) formatPackage(p[1], p[2], p[18], p[4], p[5], knownPackages))
-   | cat(paste(nix, collapse="\n"), "\n", file="/tmp/r-packages.nix")
-*/
-
-{ pkgs, overrides }:
-
-let
-
-  inherit (pkgs) R fetchurl stdenv;
-
-  buildRPackage = import ./generic-builder.nix R;
-
-  derive = { name, version, sha256, depends ? [] }: buildRPackage {
-    name = "${name}-${version}";
-    src = fetchurl {
-      urls = [
-        "mirror://cran/src/contrib/${name}_${version}.tar.gz"
-        "mirror://cran/src/contrib/Archive/${name}/${name}_${version}.tar.gz"
-      ];
-      inherit sha256;
-    };
-    propagatedBuildInputs = depends;
-    meta.homepage = "http://cran.r-project.org/web/packages/${name}/";
-    meta.hydraPlatforms = R.meta.hydraPlatforms;
-  };
-
-in
-
-let self = _self // overrides; _self = with self; {
-
-  RcppArmadillo = buildRPackage {
-    name = "RcppArmadillo-0.4.320.0";
-    src = fetchurl {
-      url = "mirror://cran/src/contrib/RcppArmadillo_0.4.320.0.tar.gz";
-      sha256 ="0cicjn63w9awr9cd5wj09s2rsr83j7rn45cnqlflgx5wmh512jwm";
-    };
-    propagatedBuildInputs = [Rcpp];
-    patchPhase = "patchShebangs configure";
-    meta.hydraPlatforms = R.meta.hydraPlatforms;
-  };
-
-  /* Needed to add one more entry to depends: */
-  dplyr = derive { name="dplyr"; version="0.2"; sha256="04kby4n2qvngfdmpqarhizavpy9mr99zpwfxpknqbnbpbya5px1q"; depends=[assertthat Rcpp magrittr Lahman hflights BH]; };
-  png = derive { name="png"; version="0.1-7"; sha256="0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"; depends=[ pkgs.libpng ]; };
-
-  A3 = derive { name="A3"; version="0.9.2"; sha256="01s7znhph2mr3snpscci3y7nbcisa6kg6hy7im3742r6ah0z3jv7"; depends=[xtable pbapply]; };
-  abc = derive { name="abc"; version="2.0"; sha256="0fs6hxyk95c61mn3p642xs3ib9wfjii2v9a74pf488iaywc1kd7d"; depends=[nnet quantreg MASS locfit]; };
-  abcdeFBA = derive { name="abcdeFBA"; version="0.4"; sha256="1rxjripy8v6bxi25vdfjnbk24zkmf752qbl73cin6nvnqflwxkx4"; depends=[Rglpk rgl corrplot lattice]; };
-  ABCExtremes = derive { name="ABCExtremes"; version="1.0"; sha256="032bc9a6cxy4war95n8v4vaax3q96k2wryjbcipi3z55b2l8hdny"; depends=[SpatialExtremes combinat]; };
-  ABCoptim = derive { name="ABCoptim"; version="0.13.11"; sha256="1j2pbfl5g9x71gq9f7vg6wznsds8sn8dj3q2h5fhjcv58di3gjhl"; depends=[]; };
-  ABCp2 = derive { name="ABCp2"; version="1.1"; sha256="0s0lbwlc8nycm7b8vx0v01f8dmy91r1zqcj9zgrlj7dnpg4cpkml"; depends=[MASS]; };
-  abctools = derive { name="abctools"; version="0.3-2"; sha256="0l5gxrkxiq3ri9iqgy0swc8910c84zkskcr0lc57l3y0dmf90r7q"; depends=[abc abind pls plyr]; };
-  abd = derive { name="abd"; version="0.2-6"; sha256="0nlqgjmzpn715kg7pb4zz3rcrf11zd4inj7gam8mr8faf4b5qq2w"; depends=[nlme lattice mosaic]; };
-  abf2 = derive { name="abf2"; version="0.7-0"; sha256="0ybl7w8sjfghy8svbxj01q5ldfi05g1r24q9ah1nfca8xzby410n"; depends=[]; };
-  abind = derive { name="abind"; version="1.4-0"; sha256="0s7m7wv23z485fc0nb61svcszx0skxl3m8kiilrj506ndazk95hv"; depends=[]; };
-  abn = derive { name="abn"; version="0.83"; sha256="12nhk7hb26285pyyppl5289m7y8zvssnriyj84hlnz0ykar66mpi"; depends=[]; };
-  abundant = derive { name="abundant"; version="1.0"; sha256="0n2yvq057vq5idi7mynnp15cbsijyyipgbl4p7rqfbbgpk5hy3qb"; depends=[QUIC]; };
-  accelerometry = derive { name="accelerometry"; version="2.2.2"; sha256="04gajhx9xha6ks25s9lrn7q4i055bhfx8k7hfrbpwnn3hf5yyfag"; depends=[Rcpp]; };
-  AcceptanceSampling = derive { name="AcceptanceSampling"; version="1.0-3"; sha256="1camxmvz8prkvpf3d3rc07bnfphakwdlickqlr4sgzrs4k27rr4f"; depends=[]; };
-  ACCLMA = derive { name="ACCLMA"; version="1.0"; sha256="1na27sp18fq12gp6vxgqw1ffsz2yi1d8xvrxbrzx5g1kqxrayy0v"; depends=[]; };
-  accrual = derive { name="accrual"; version="1.0"; sha256="0gw418i9nlrm7nkg6d4m2icd4a04a7avqfjj7nidhl6vy4nflg3k"; depends=[fgui SMPracticals]; };
-  accrued = derive { name="accrued"; version="1.1"; sha256="1xmrlllh535wdcx6bcwl9hh2ps3ms4rdgal0ziq444rw2phxr48i"; depends=[]; };
-  ACD = derive { name="ACD"; version="1.5.3"; sha256="1a67bi3hklq8nlc50r0qnyr4k7m9kpvijy8sqqpm54by5hsysfd6"; depends=[]; };
-  Ace = derive { name="Ace"; version="0.0.8"; sha256="0zjg6xwzd2lc555rviaq60rb1fq9vdf8cdazlf3c9m0i1pvz990i"; depends=[]; };
-  acepack = derive { name="acepack"; version="1.3-3.3"; sha256="17xfxjflc79y15hnrks3wina5irrggrxb9al9h5q0x1c401ds843"; depends=[]; };
-  acer = derive { name="acer"; version="0.1.2"; sha256="17x7281m2wa6a1pcga3xarg3infw5vygr7z068h8pqm30ix34ky4"; depends=[Rcpp]; };
-  aCGH_Spline = derive { name="aCGH.Spline"; version="2.2"; sha256="1ll045qgwl1170a4x93vj1xrn197l5ds648qasxlpnsm1a6svwas"; depends=[rJava]; };
-  acm4r = derive { name="acm4r"; version="1.0"; sha256="1wqzc35i1rshx0zlmas8y4qkkvy6h9r4i4apscjjv1xg2wjflzxa"; depends=[MASS]; };
-  ACNE = derive { name="ACNE"; version="0.7.0"; sha256="137xp69adhggz1wxzm5r95vcphrlrqpxsrz0gny59isx4xr28aal"; depends=[aroma_affymetrix MASS R_methodsS3 R_oo R_utils matrixStats R_filesets]; };
-  acopula = derive { name="acopula"; version="0.9.2"; sha256="1z8bs4abbfsdxfpbczdrf1ma84bmh7akwx2ki9070zavrhbf00cf"; depends=[]; };
-  acp = derive { name="acp"; version="1.0"; sha256="1i7ryk2scsvck5rg8gglfvqrkzbpn505g7cr7slxykp8wkyhwplm"; depends=[tseries]; };
-  aCRM = derive { name="aCRM"; version="0.1.1"; sha256="0kzp568hd9c9a9qgniia5s5gv0q5f89xfvvwpzb197gqhs3x092v"; depends=[dummies randomForest kernelFactory ada]; };
-  acs = derive { name="acs"; version="1.2"; sha256="1vw4ghqcz53m3qy7hy2j7nrdinbbqjpwvr1hsvglq31fq7wss3bd"; depends=[stringr plyr XML]; };
-  acss = derive { name="acss"; version="0.2-4"; sha256="0lndsmxrnwhqlw32zc89kpx9ajbg7pa51jck2fgwsrjh0j8gxmm0"; depends=[acss_data zoo]; };
-  acss_data = derive { name="acss.data"; version="1.0"; sha256="09kl4179ipr8bq19g89xcdi1xxs397zcx5cvgp6viy8gn687ilgv"; depends=[]; };
-  ACTCD = derive { name="ACTCD"; version="1.0-0"; sha256="0zn8f6l5vmn4w1lqjnpcxvfbr2fhwbhdjx4144h3bk71bk9raavl"; depends=[R_methodsS3]; };
-  Actigraphy = derive { name="Actigraphy"; version="1.2"; sha256="02xxmzjqym46q0fzddmy29i8la9knrna3b46y8849nmbpqvmp3qn"; depends=[fda lattice SDMTools]; };
-  actuar = derive { name="actuar"; version="1.1-6"; sha256="0f0zvk4a3rni656jfml2nqb3h3amks3g4aczp8j2x01ywwmazqr9"; depends=[]; };
-  ActuDistns = derive { name="ActuDistns"; version="3.0"; sha256="04rff9czcgac80clpv32a1dl0jbyvfsa7wqxyywgk99w672x50i2"; depends=[reliaR actuar hypergeo]; };
-  ada = derive { name="ada"; version="2.0-3"; sha256="1c0nj9k628bcl4r8j0rmyp5f1igdjq6qhjxyif6575fvn2gdzmbw"; depends=[rpart]; };
-  adabag = derive { name="adabag"; version="3.2"; sha256="1ijr5i5p8sf2cq7cgiwh0qk3c4wxagk6r06a2vrjy76d262m1060"; depends=[rpart mlbench caret]; };
-  adagio = derive { name="adagio"; version="0.5.9"; sha256="1yp9w557advb7dzrdqwkffpdmhn6mk4879lrrjd0d6kv89fwz5yr"; depends=[]; };
-  AdapEnetClass = derive { name="AdapEnetClass"; version="1.0"; sha256="0m8wg515djdpkq5lv8nkcny9s2iq9ym092jd99nysazqw0qy6a8r"; depends=[imputeYn glmnet lars]; };
-  AdaptFit = derive { name="AdaptFit"; version="0.2-2"; sha256="124lj1sq5cbp35z4ybkc7ci3fi6pgf8pc5k9mpqmyb6dj870q836"; depends=[SemiPar MASS nlme cluster]; };
-  AdaptFitOS = derive { name="AdaptFitOS"; version="0.54"; sha256="0h9jfq9mk5wd6v6an40l3sk2adn6fcaks22bi8d9s7zr2ldpzrjq"; depends=[SemiPar nlme MASS mgcv]; };
-  AdaptiveSparsity = derive { name="AdaptiveSparsity"; version="1.4"; sha256="1az7isvalf3kmdiycrfl6s9k9xqk22k1mc6rh8v0jmcz402qyq8z"; depends=[Rcpp]; };
-  adaptivetau = derive { name="adaptivetau"; version="2.1"; sha256="0q8i9gxybv1xyyxvrppr00jmhg80n0iphwlsqjdp34dd0y8ksx4m"; depends=[]; };
-  adaptMCMC = derive { name="adaptMCMC"; version="1.1"; sha256="1y1qxn3qm59nyy9ld5x30p452yam7b2fyl236b14xvpm8g3xx1fa"; depends=[coda Matrix]; };
-  adaptsmoFMRI = derive { name="adaptsmoFMRI"; version="1.1"; sha256="1h79gh1bd6s2xhwf4whh72wf2cz4di2p8dnlf6192mfg108qc6nw"; depends=[Matrix coda mvtnorm MCMCpack spatstat]; };
-  adaptTest = derive { name="adaptTest"; version="1.0"; sha256="08d7a5dlzhaj236jvaw3c91008l66vf5i4k5anhcs32a3j8yh2iv"; depends=[lattice]; };
-  additivityTests = derive { name="additivityTests"; version="1.1-2"; sha256="0ijk91whhsb7nm1ax9wpfw9qgxfb1bvg2cq939m81gvk09kzrvgz"; depends=[]; };
-  ade4 = derive { name="ade4"; version="1.6-2"; sha256="0h136nhfqrapwscm3c7frlcynrfxb9x8gmd1s44gaa8m25rjgdqf"; depends=[]; };
-  ade4TkGUI = derive { name="ade4TkGUI"; version="0.2-6"; sha256="010ggsxcmljh0cdba4lcfnsd9r49pwqs6kbw88syfn2qv65hh5kq"; depends=[ade4]; };
-  adegenet = derive { name="adegenet"; version="1.4-2"; sha256="13fglxy40rnwi5hsmmvwlfcvfn8dybxyy3k5qhpml8jgpbl3fsdb"; depends=[ade4 MASS igraph ape shiny ggplot2]; };
-  adehabitat = derive { name="adehabitat"; version="1.8.14"; sha256="048jp9408x80akfnxqpyhhlzl2f89axsc90vr8cgqkimlg6h6xjh"; depends=[ade4 tkrplot shapefiles sp]; };
-  adehabitatHR = derive { name="adehabitatHR"; version="0.4.11"; sha256="1llpmpfax9846v3s2finyq9x97hyi87148jx83phzjl7daag3qn1"; depends=[sp deldir ade4 adehabitatMA adehabitatLT]; };
-  adehabitatHS = derive { name="adehabitatHS"; version="0.3.9"; sha256="0jv7470z1m219q5paw8cglx3d5l99iagkpm24v6q0xgdffvcq94l"; depends=[sp ade4 adehabitatMA adehabitatHR]; };
-  adehabitatLT = derive { name="adehabitatLT"; version="0.3.16"; sha256="1rav2q1n1ahrj2iik93rqc52c1gcxha5idrh7rfds0qb15jpmsvh"; depends=[sp ade4 adehabitatMA CircStats]; };
-  adehabitatMA = derive { name="adehabitatMA"; version="0.3.8"; sha256="1j3ngry7qyhl4p5m02bgdynixb0v9hd5nbjs6ndfqw23layh8yig"; depends=[sp]; };
-  adephylo = derive { name="adephylo"; version="1.1-6"; sha256="1sk639gmk3cs711xn68mx18r28kjd1pychcg89qlki03y1hnxg7j"; depends=[ade4 phylobase ape adegenet]; };
-  AdequacyModel = derive { name="AdequacyModel"; version="1.0.8"; sha256="1bpb6lwgkh5g82h4yaf5dh2jbl6f0vz36k22538rhb3kdld6w0i3"; depends=[]; };
-  ADGofTest = derive { name="ADGofTest"; version="0.3"; sha256="0ik817qzqp6kfbckjp1z7srlma0w6z2zcwykh0jdiv7nahwk3ncw"; depends=[]; };
-  adhoc = derive { name="adhoc"; version="1.0"; sha256="193adddarjkc2kk1xncfkm919s1lkmc1yzgyz9793p74nqmfsj0a"; depends=[spider ape polynom]; };
-  adimpro = derive { name="adimpro"; version="0.7.8"; sha256="06zwdgl7g4azg2mn7p35may8hsjcvf2dz7dj86zqngjspda123s4"; depends=[]; };
-  adlift = derive { name="adlift"; version="1.3-2"; sha256="0nzg16vhm5qg3xzczi3f6cynvp9ym2jsfrc4fdyxq7bwp9kry2i4"; depends=[EbayesThresh]; };
-  ADM3 = derive { name="ADM3"; version="1.3"; sha256="1hg9wjdhckilqd13dr4cim4j6jsh2sdwm18i3pfmfdj8cyswm3h0"; depends=[]; };
-  AdMit = derive { name="AdMit"; version="2.0.1"; sha256="0bqzq2pf5449qyr8ff5d3sq0lbsph29ppv6zzf1rbjz06sc5d6ff"; depends=[mvtnorm]; };
-  ads = derive { name="ads"; version="1.5-2.1"; sha256="1jwgk48qypg36v53kj7wy5rcz059p1qg8awm3nf7xngrb2zff6h3"; depends=[ade4 spatstat]; };
-  aemo = derive { name="aemo"; version="0.1.0"; sha256="1iik0rrqkkx9n1qb1pvq5iwxqmvs6vnx8z80hdzb5vqq0lvi1bsx"; depends=[dplyr stringr assertthat lubridate]; };
-  AER = derive { name="AER"; version="1.2-2"; sha256="0ny9khzqxzx4npaqmknhpi3aldz11ipg71zw4skxphclamlsgp86"; depends=[car lmtest sandwich survival zoo Formula]; };
-  afex = derive { name="afex"; version="0.10-113"; sha256="19fr444dy50d6psfc84qqkc04fp792jb7nxrv5b29q8j1yznkqnq"; depends=[car lme4 pbkrtest reshape2 stringr coin Matrix]; };
-  AFLPsim = derive { name="AFLPsim"; version="0.3-3"; sha256="1vknmd98v65118c093gqpfckcggnk4c8rn6bblsaclwmx0jdi78s"; depends=[adegenet introgress]; };
-  aftgee = derive { name="aftgee"; version="0.4-3"; sha256="0r1fq3n28hfkdih6a2nyz5vy832fsxxs0fr2zlml6cikpbay8zqx"; depends=[MASS BB survival geepack]; };
-  AGD = derive { name="AGD"; version="0.30"; sha256="175hsii3g8vx5ms552wnh1hcn3p6hgfggv1zi5gpwlsc0i875iag"; depends=[gamlss]; };
-  agop = derive { name="agop"; version="0.1-3"; sha256="02yc7n8avg69750cnc1prvp2fnz964sfc7vggxfyyqrig9q5ppyq"; depends=[Matrix igraph]; };
-  agRee = derive { name="agRee"; version="0.3-1"; sha256="1gqbhv44z1r9m54fmrg0frnzsgsp13v5ppmzpv28frz9d8x7sxx6"; depends=[miscF lme4 R2jags]; };
-  Agreement = derive { name="Agreement"; version="0.8-1"; sha256="1g29rxr8xsr0dh2r6c6j2bqs0q6snz9wz0hrnb92cxj27ili55yq"; depends=[R2HTML]; };
-  agricolae = derive { name="agricolae"; version="1.2-0"; sha256="1r9x6skkim25qp50xzg3jmv8hibpnr5kig4dqaycc6xki49pps50"; depends=[]; };
-  agridat = derive { name="agridat"; version="1.9"; sha256="0ip8ln0hxx2ax21hhrxnksvkzw6mfwhvxfgj7xph5insly3x9h88"; depends=[lattice reshape2]; };
-  agrmt = derive { name="agrmt"; version="1.31"; sha256="0s0av1fg9aswkyj1vzr6fng53r5cnkfb3x0n46zrkb1fgb5fwdgm"; depends=[]; };
-  AGSDest = derive { name="AGSDest"; version="2.1"; sha256="1l36x3sjb0732aic2y4yrvx64phii1xjfzr4nc3x9b2crr988n0g"; depends=[ldbounds]; };
-  agsemisc = derive { name="agsemisc"; version="1.3-1"; sha256="1905q35jgjhghlawql43yh296kbpysp927x3hj750yshz5zayzyr"; depends=[lattice MASS]; };
-  ahaz = derive { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[survival Matrix]; };
-  AICcmodavg = derive { name="AICcmodavg"; version="2.00"; sha256="1k156yziqd376mkcyz94c76a3rpmf8afgxdy9rn3dgalxfkb0rx6"; depends=[]; };
-  AID = derive { name="AID"; version="1.4"; sha256="1wj2jmqla0b2y9hrvl5i69bncdx1xjdd7if69j6dy1dnxv6clx1z"; depends=[MASS tseries nortest]; };
-  aidar = derive { name="aidar"; version="1.0.0"; sha256="01vs14bz4k504q5lx65b60kyi7hgvjdmib8igiipjmg4snwh8hdk"; depends=[XML]; };
-  AIM = derive { name="AIM"; version="1.01"; sha256="11lkfilxk265a7jkc1wq5xlgxa56xhg302f1q9xb7gmjnzdigb21"; depends=[survival survival]; };
-  akima = derive { name="akima"; version="0.5-11"; sha256="17n7iiwybwanvm5mflb1f2xx1gnw1pcmfsnl1f82afixpalbs0gh"; depends=[]; };
-  akmeans = derive { name="akmeans"; version="1.1"; sha256="1nqbxbx583n0h2zmpy002rlmr6j86j6bg76xj5c69brrh59dpyw1"; depends=[]; };
-  alabama = derive { name="alabama"; version="2011.9-1"; sha256="05c1a8707akwy39n2gjg3ahdp9xdkl18a32wdchw60f0h4ixqfdi"; depends=[numDeriv]; };
-  ALDqr = derive { name="ALDqr"; version="0.5"; sha256="0294d6cjfl5m63jhrv4rbh7npwrbmmw5101jz5bbwihhj94qcxp9"; depends=[HyperbolicDist]; };
-  aLFQ = derive { name="aLFQ"; version="1.3.1"; sha256="0i351xa5x3sn0li5qway0wjhifvf9jfjb7hxk5vw13gzn0cq9sd5"; depends=[data_table plyr caret seqinr]; };
-  AlgDesign = derive { name="AlgDesign"; version="1.1-7.2"; sha256="1c0hxg02dzjnns6awwsfaa5sc00x4zkc5jmsdz5vssjkliviwm9k"; depends=[]; };
-  ALKr = derive { name="ALKr"; version="0.5.3.1"; sha256="09df3vx2q0sn8fwz2cc9lckzwrf2hgbglzyn376d6nkrm6gq792a"; depends=[MASS Rcpp]; };
-  allan = derive { name="allan"; version="1.01"; sha256="02bv9d5ywbq67achfjifb3i7iiaaxa8r9x3qvpri2jl1cxnlf27m"; depends=[biglm]; };
-  allanvar = derive { name="allanvar"; version="1.0"; sha256="0wpywdr15gb49m9kxrpjfsxlxrm4hwm46x42k8dgc6sihfsqbm22"; depends=[gplots]; };
-  alleHap = derive { name="alleHap"; version="0.7.2"; sha256="1x10grrv732a0iidr2c96vbl46553njhvvlq249jxn3y11lfq2gv"; depends=[gtools]; };
-  allelematch = derive { name="allelematch"; version="2.03"; sha256="1dmalyljsmf7njr6fj8bcjii13swvh89dj3r1mp2xxf1r0p6jry8"; depends=[dynamicTreeCut]; };
-  AlleleRetain = derive { name="AlleleRetain"; version="1.3.1"; sha256="1k2iwns1wk5n02cii6p9prgdb6asys3vwiq5dq2i26fk2xr6j4gq"; depends=[]; };
-  allelic = derive { name="allelic"; version="0.1"; sha256="0xs4kd3vqb5ph8kqc3lcqgirrdkz8b627pvnczvci2g0sr3cl18j"; depends=[]; };
-  AllPossibleSpellings = derive { name="AllPossibleSpellings"; version="1.1"; sha256="0ksfm2pfjka3yjgcd257v7sns1niaylsfxvhhh2jwdi016cpdw10"; depends=[]; };
-  alm = derive { name="alm"; version="0.1.9"; sha256="13i5f9b8bz6chdczlwfd3ka3mvn3i87jgpr2b6df03yc1vd9z25v"; depends=[ggplot2 RCurl plyr stringr reshape reshape2 httr RJSONIO lubridate]; };
-  alphahull = derive { name="alphahull"; version="1.0"; sha256="0k3n9l4vbvpmdb4m37y1ynsiv27l8b5fmm6l35sazlfbbinhzwc1"; depends=[tripack sgeostat splancs]; };
-  alphashape3d = derive { name="alphashape3d"; version="1.1"; sha256="1hfxvzqgirc587vxyggxdqii90nvypzi3wddvd2zdw2h95v9kfyg"; depends=[geometry rgl]; };
-  alr3 = derive { name="alr3"; version="2.0.5"; sha256="0zrrsv2kjq3cky3bhk6gp32p1qpr1i5k2lx7c1w08bql0nb1x740"; depends=[car]; };
-  alr4 = derive { name="alr4"; version="1.0.3"; sha256="1m73b626fljfs96wvv1v627v48qilq5dyi5clqn8b4a5lyjjs2mg"; depends=[car effects]; };
-  ALS = derive { name="ALS"; version="0.0.5"; sha256="1ryviknpf7c0v20bmc40khhmx51b83hbh9q9iwz9d694by51xryc"; depends=[nnls Iso]; };
-  ALSCPC = derive { name="ALSCPC"; version="1.0"; sha256="0ippxzq5qwb9dnpvm1kxhc0fxh83rs9ny5rcvd30w2bp632q9qdx"; depends=[]; };
-  amap = derive { name="amap"; version="0.8-12"; sha256="0z7c5lrwqvjcnjm48zq2ifyx089fabvwf1zz17qlxq44i8xzpx8j"; depends=[]; };
-  AMAP_Seq = derive { name="AMAP.Seq"; version="1.0"; sha256="0z0rrzps6rm58k4m1ybg77s3w05m5zfya4x8ril78ksxsjwi3636"; depends=[]; };
-  amei = derive { name="amei"; version="1.0-7"; sha256="0dyx6a1y5i0abwka0y89d0mpj55rm5ywb4r9c2mqmy43djp181hn"; depends=[]; };
-  Amelia = derive { name="Amelia"; version="1.7.2"; sha256="1zmaqnjqam8f4spdgy9gfvd5r0a48amvlsqdpdq9zwn7sq7702jj"; depends=[foreign Rcpp RcppArmadillo]; };
-  amen = derive { name="amen"; version="0.999"; sha256="1p9ma31bzrxylcgi43nk44bq0cg4xgk9fzmxw2dpqz33x4xlrfiq"; depends=[]; };
-  AmericanCallOpt = derive { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; };
-  AMGET = derive { name="AMGET"; version="1.0"; sha256="18wdzzg5wr7akbd1iasa4mvmy44fb2n5gpghwcrx80knnicy3dxq"; depends=[]; };
-  aml = derive { name="aml"; version="0.1-1"; sha256="09xxlxp784wlb561apns3j8f2h9pfk497cy5pk8wr4hhqqv4d3al"; depends=[lars]; };
-  AMOEBA = derive { name="AMOEBA"; version="1.0"; sha256="0iaznr19hdi40mkj82ai4r83b8whvvzmbiba0kwkp2g8g38a5brk"; depends=[snowfall rlecuyer spdep]; };
-  AMORE = derive { name="AMORE"; version="0.2-15"; sha256="00zfqcsah2353mrhqkv8bbh24l8gaxk4y78icr9kxy4pqb2988yz"; depends=[]; };
-  AmpliconDuo = derive { name="AmpliconDuo"; version="1.0"; sha256="0l6p5c2802a1f3b77cdrrk3wdf41926mh34630p462fb3wqipps0"; depends=[ggplot2 xtable]; };
-  anacor = derive { name="anacor"; version="1.0-4"; sha256="13f5cnna7vdimv4mxmjj21alxjzi1rk0hksajfy2m0b3yn2vl612"; depends=[rgl scatterplot3d fda colorspace car]; };
-  anaglyph = derive { name="anaglyph"; version="0.1-1"; sha256="1a9c7rl7r2sgl230mcwqnmxjqba8skycdhi09i834qaw2h9qd4k5"; depends=[]; };
-  analogue = derive { name="analogue"; version="0.12-0"; sha256="16bdrvhk4ivq43lfl7pncrwzjdsvwqj8d3j2krskmpdh9qc3sq65"; depends=[vegan lattice rgl mgcv MASS brglm princurve]; };
-  AnalyzeFMRI = derive { name="AnalyzeFMRI"; version="1.1-16"; sha256="1mbjb682ns5230jd3vcvd6x4gnn9hpbmjd7r8120y4sp2g733b0f"; depends=[R_matlab fastICA]; };
-  anametrix = derive { name="anametrix"; version="1.6"; sha256="14xrrnvz7jn1jqds48l5pvzlx6hsaxrjc932lqnvv70sfypinjkm"; depends=[RCurl XML pastecs]; };
-  anapuce = derive { name="anapuce"; version="2.2"; sha256="0qs27as628090k3sq5b14l90g7qdp23d0jz5lb1wxsgi3ji0f7qj"; depends=[]; };
-  AncestryMapper = derive { name="AncestryMapper"; version="1.1"; sha256="0nc9iacdgmdda9d9ga9mn0dvmv8d1571sblifqdrz35p5yl7fr0g"; depends=[]; };
-  anchors = derive { name="anchors"; version="3.0-8"; sha256="12gd2526y7s2a8i6b9xma2c3sc6zxnwzl6sn8b50hbxizwr8d34j"; depends=[rgenoud MASS]; };
-  AnDE = derive { name="AnDE"; version="1.0"; sha256="1yil8ab50wvlqmdla9kmfba8vfgy5r694r6igb58s6vnmld78yf2"; depends=[discretization functional foreign stringr]; };
-  andrews = derive { name="andrews"; version="1.0"; sha256="130i86qkdy1xpcf611jpzqgmd17iik7j7spdcfwzk48f31biyp8v"; depends=[]; };
-  anesrake = derive { name="anesrake"; version="0.70"; sha256="17127rmjfrdwnr2m6205cci3b0kd9girp82qranxwac4mgb7p7ld"; depends=[Hmisc]; };
-  Animal = derive { name="Animal"; version="1.04"; sha256="0hahvq1x81s0qmr58jv6q96jnc8lzn4ycljd8adhpgsx3wn8s7mq"; depends=[]; };
-  animalTrack = derive { name="animalTrack"; version="1.0.0"; sha256="0jlvfflpaq64s48sblzh1n1vx8g3870iss97whigri29s6hn79ry"; depends=[rgl]; };
-  animation = derive { name="animation"; version="2.3"; sha256="1hqgkaxmyyfrx7cfzv00010r9l2n8gxm35jd41p3kc208mhd7ssp"; depends=[]; };
-  AnnotLists = derive { name="AnnotLists"; version="1.2"; sha256="1g2khb2ggniwg2zcjamsm3bxyrl2zabvk540b5vyy9am9k83m1g9"; depends=[]; };
-  anoint = derive { name="anoint"; version="1.3"; sha256="0hwvwd6ghxhkfymf124igski8l98k29pj3ahi5mflm8gv0qan92g"; depends=[survival glmnet MASS]; };
-  anominate = derive { name="anominate"; version="0.4"; sha256="00cqwlka33aqr3jks1fsxizwdlrfmv5w5bpnkzknhgz70l60h38n"; depends=[wnominate oc pscl MCMCpack]; };
-  AnthropMMD = derive { name="AnthropMMD"; version="0.9.9"; sha256="10wn0fkcli5yz3fhngsz8sg1mfllqkvjrpjggd9qynay2zrpiw1n"; depends=[tcltk2]; };
-  Anthropometry = derive { name="Anthropometry"; version="1.0"; sha256="1cvq06hyxcgg95n21bi22csdgc6l6av78bvz7r7qdsl7wffddk0w"; depends=[shapes rgl archetypes nnls depth FNN ICGE cluster]; };
-  antitrust = derive { name="antitrust"; version="0.94"; sha256="1k768lmx5vv069bd9fzly1205rxr9mkqi1p8jjx67kwmyhhw5sd2"; depends=[MASS evd BB numDeriv ggplot2]; };
-  AntWeb = derive { name="AntWeb"; version="0.6.1"; sha256="1m4r7zx6mmxwdf1ldwmqad2lzc9kw150l0b3z2994nvcx36r4cj4"; depends=[rjson plyr assertthat httr leafletR]; };
-  aod = derive { name="aod"; version="1.3"; sha256="1a6xs5d5289w69xd2salsxwikjjhjzvsnplqrq78b1sr6kzfyxz3"; depends=[]; };
-  aods3 = derive { name="aods3"; version="0.4-1"; sha256="074c16wmgd1vc2yvwx1y84bg55hvmm5yi8zgpwh51jcsbqlhbpgn"; depends=[lme4 boot]; };
-  AOfamilies = derive { name="AOfamilies"; version="1.01"; sha256="0v3b83k12lsrdcrkjl2ff38d0g8sbrnm5pmm9xphyrk3lfgap76k"; depends=[lqmm quantreg]; };
-  aoristic = derive { name="aoristic"; version="0.5"; sha256="0hvq6qf5ib7x7c7jg9qbsglhazvbr5rkhfi1r43h4i2fhdvymhrn"; depends=[ggplot2 spatstat GISTools lubridate classInt reshape2 rgdal plotKML]; };
-  apcluster = derive { name="apcluster"; version="1.3.5"; sha256="1hckvir43s0jshn9kiwqmpsnav04lxv060l6xlf60a8yk5zf1cqs"; depends=[Rcpp]; };
-  ape = derive { name="ape"; version="3.1-4"; sha256="04vkzbqjy89vs2n421ji2r4p60x5frjnlgpjp42k9n5x295hb89s"; depends=[nlme lattice]; };
-  aplpack = derive { name="aplpack"; version="1.2.9"; sha256="024q0vsimhr3cj4fz2x10hf7mm89psn8f04j013qas7wdsixkswk"; depends=[]; };
-  apmsWAPP = derive { name="apmsWAPP"; version="1.0"; sha256="1azgif06dsbadwlvv9nqs8vwixp6balrrbpj62khzmv1jvqr4072"; depends=[seqinr gtools]; };
-  appell = derive { name="appell"; version="0.0-4"; sha256="0g7pzhxqgscnyf07xycbrpyimp1z1hljgcr3nqigpx09w7zi5wlw"; depends=[]; };
-  apple = derive { name="apple"; version="0.3"; sha256="194z2f6hwdjjxdkjwlmfhpfp26p9yp3gparklhdbb6zlb4a9nnhz"; depends=[MASS]; };
-  AppliedPredictiveModeling = derive { name="AppliedPredictiveModeling"; version="1.1-6"; sha256="004d2k3mhl45inb7kx1ph8xc8h9bgm7f7l3prmvqrl5792400cn4"; depends=[CORElearn MASS plyr reshape2]; };
-  approximator = derive { name="approximator"; version="1.2-6"; sha256="165qvx5946wkv1qsgbmjhmwvik7m23r1vbpnp7claylflgj1ycnm"; depends=[emulator]; };
-  aprof = derive { name="aprof"; version="0.2.1"; sha256="0lsni1p9gpfgsbqs1lrp4bs6ckvp02hny0k1v6q6rj2zp6silwa2"; depends=[]; };
-  APSIMBatch = derive { name="APSIMBatch"; version="0.1.0.2374"; sha256="0j44ijq1v1k60lka9nmw8m1jfjw7pidny9bvswqy5v82gzmwl29d"; depends=[]; };
-  apsimr = derive { name="apsimr"; version="0.1"; sha256="03j1g16drch5xkxb86czxmihs9a96f0v2kxjp73k7vig9md625dy"; depends=[ggplot2 XML lubridate reshape2]; };
-  apsrtable = derive { name="apsrtable"; version="0.8-8"; sha256="1qmm89npjgqij0bh6p393wywl837lfsshp2mv9b5izh1sg2qfwvw"; depends=[]; };
-  apt = derive { name="apt"; version="2.2"; sha256="0y4wv8pxi1n98ji0yy1jy0lhdwjb2b95h10mpj4vqf24dlx61z10"; depends=[erer gWidgets car urca copula]; };
-  apTreeshape = derive { name="apTreeshape"; version="1.4-5"; sha256="0mvnjchhfbpbnrgnplb6qxa7r2kkvw29gqiprwggkf553wi6zl48"; depends=[ape quantreg]; };
-  aqfig = derive { name="aqfig"; version="0.8"; sha256="0ha0jb5ag3zx6v7c63lsm81snslzb8y8g565mxjmf7vxpcmzzqsi"; depends=[geoR]; };
-  aqp = derive { name="aqp"; version="1.7"; sha256="034lxhssn98rkcvwyycqcpppabm4xi89kr19d8ydj74dfgbhyx1z"; depends=[plyr reshape lattice cluster sp Hmisc stringr scales plotrix RColorBrewer]; };
-  aqr = derive { name="aqr"; version="0.4"; sha256="04frgil3nbxsww66r9x0c6f308pzqr1970prp20bdv9qm3ym5axw"; depends=[xts RCurl]; };
-  AquaEnv = derive { name="AquaEnv"; version="1.0-3"; sha256="1hkygw09w70im9f6l6q5yxk86mdl5pkczqfqrwc4wl1yhz7z1gjb"; depends=[minpack_lm deSolve]; };
-  AR1seg = derive { name="AR1seg"; version="1.0"; sha256="0v9adx5wj9r4jwl3bqqmj0byiqfp585jz013qfqrq601wj8v4zi3"; depends=[Segmentor3IsBack]; };
-  ARAMIS = derive { name="ARAMIS"; version="1.0.1"; sha256="12bsn5lpb9cv0py1ymbqhbnjrpisf09yixpnqbazsmrz7lrin079"; depends=[MASS LearnBayes]; };
-  archdata = derive { name="archdata"; version="0.1"; sha256="1k7cpqwgvkwfz25a9db0c8g6ii6xsbhkj3c9alghhaafs7x8n47w"; depends=[]; };
-  archetypes = derive { name="archetypes"; version="2.2-0"; sha256="1djzlnl1pjb0ndgpfj905kf9kpgf9yizrcvh4i1p6f043qiy0axf"; depends=[modeltools nnls]; };
-  ArDec = derive { name="ArDec"; version="2.0"; sha256="14niggcq7xlvpdhxhy8j870gb11cpk4rwn9gwsfmcfvh49g58i80"; depends=[]; };
-  arf3DS4 = derive { name="arf3DS4"; version="2.5-10"; sha256="12cbrk57c9m7fj1x7nfmcj1vp28wj0wymsjdz8ylxhm3jblbgmxc"; depends=[corpcor]; };
-  arfima = derive { name="arfima"; version="1.2-6"; sha256="1xdcvfaaza3bn5p5yhafqh67018z260aqp9gwwnw1nrrmz7fsh2h"; depends=[ltsa]; };
-  argosfilter = derive { name="argosfilter"; version="0.63"; sha256="0rrc2f28hla0azw90a5gk3zj72vxhm1b6yy8ani7r78yyfhgm9ig"; depends=[]; };
-  argparse = derive { name="argparse"; version="1.0.1"; sha256="03p8dpwc26xz01lfbnmckcx6wzky43dyq71085b0anzsavgx0786"; depends=[proto findpython getopt rjson]; };
-  argparser = derive { name="argparser"; version="0.1"; sha256="0x4wm8hjzb779pp39v8q210npg7kzh9m8wwqmd17aaqaa3l2al9f"; depends=[]; };
-  arm = derive { name="arm"; version="1.7-05"; sha256="1cpgbhp7pz1m9r40ia08hi2mdl87ar9m1h72cldvajq0imlckcrl"; depends=[MASS Matrix lme4 abind coda nlme]; };
-  arnie = derive { name="arnie"; version="0.1.2"; sha256="14xkgyfn9zvkbgram15w7qzqc5pl1a8ig66cif7a79najrgd914r"; depends=[]; };
-  aroma_affymetrix = derive { name="aroma.affymetrix"; version="2.12.0"; sha256="1r3ywi97xqvk6dif7kkc3gqapiydd2sbq0ibxs1qf6s2v236d71r"; depends=[R_utils aroma_core R_methodsS3 R_oo R_cache R_filesets aroma_apd MASS matrixStats]; };
-  aroma_apd = derive { name="aroma.apd"; version="0.5.0"; sha256="1pi4k7psrc120r8mn352vg60mjvbnm1f56dm9svfxfyl0qhcfd00"; depends=[R_methodsS3 R_oo R_utils R_huge]; };
-  aroma_cn = derive { name="aroma.cn"; version="1.5.0"; sha256="1aih11r3gs969ci5gs7x7z5pia51y75iy559y23cz40q2qsq4ikc"; depends=[R_utils aroma_core R_methodsS3 R_oo R_filesets R_cache matrixStats PSCBS]; };
-  aroma_core = derive { name="aroma.core"; version="2.12.1"; sha256="1rg7m9z2j9hn0adj407amyabyh6jhpgip51zd8fb8rplzgbkrm7s"; depends=[R_utils R_filesets R_devices R_methodsS3 R_oo R_cache R_rsp matrixStats RColorBrewer PSCBS]; };
-  ARPobservation = derive { name="ARPobservation"; version="1.0"; sha256="0m9sr0pgwzndia2286fmhlw7xsyn3pvy0044xlp5sw3i3gqhv39f"; depends=[]; };
-  aRpsDCA = derive { name="aRpsDCA"; version="1.0.0"; sha256="035888scbl5333sz25f9n6xh1zis7l2752p4nhsbs2g44q38l9h6"; depends=[]; };
-  ArrayBin = derive { name="ArrayBin"; version="0.2"; sha256="0jlhcv2d7pmqi32w71nz063ri1yj4i4isr3msnw7ckzvi9r42jwm"; depends=[]; };
-  arrayhelpers = derive { name="arrayhelpers"; version="0.76-20120816"; sha256="1q80dykcbqbcigv2f9xg1brfm3835i0zvs0810q6kh682a3hpqbi"; depends=[]; };
-  ars = derive { name="ars"; version="0.4"; sha256="0ynciw8n2jpqi40gsrj189419vgr1lgs9wridh09nj7n451b4kvg"; depends=[]; };
-  ARTIVA = derive { name="ARTIVA"; version="1.2.2"; sha256="1k51yfh2xxchbiq9b64llc3sp330kh30lai75fgnbycwynkpsk5m"; depends=[MASS igraph gplots]; };
-  ARTP = derive { name="ARTP"; version="2.0.4"; sha256="1f6ay9lyaqsc33b0larb8v6imp5adaycya84wif2sg32rv4gx3yl"; depends=[]; };
-  arules = derive { name="arules"; version="1.1-4"; sha256="0i2s706rm6bbzqxb0vfqq14m9zr4djyjjkvsqgrqbsvwgp8i29zk"; depends=[Matrix]; };
-  arulesNBMiner = derive { name="arulesNBMiner"; version="0.1-4"; sha256="05vj7pzzh84xr6d0m16dhzr7bw50hkiyq99vl46zinak648my338"; depends=[arules rJava]; };
-  arulesSequences = derive { name="arulesSequences"; version="0.2-6"; sha256="1fvph6c8dy3hj0h63h85bzzzka8dx0cc0lcncz9svyahy1j4q3z0"; depends=[arules]; };
-  arulesViz = derive { name="arulesViz"; version="0.1-9"; sha256="1s1hsf64fg32r3p1h8bvzbpr7a28szdh9hs7ck9qykh2s93xh12z"; depends=[arules scatterplot3d vcd seriation igraph]; };
-  asbio = derive { name="asbio"; version="1.0-5"; sha256="1wvg8j9hlla9z9di4qinmkn9d8wmindiqxa3jgdqx6srlwdx1b09"; depends=[scatterplot3d pixmap tkrplot plotrix mvtnorm deSolve lattice]; };
-  ascii = derive { name="ascii"; version="2.1"; sha256="19dfbp7k4bjxjn8wdzhbmz7g3za6gn8vcnd5qkm4dz7gg1fg7b8p"; depends=[]; };
-  ascrda = derive { name="ascrda"; version="1.15"; sha256="17anzlhcjmrk13s5gs752rsc735y5wvba6r3w1nbv0cnkpnyk8i7"; depends=[class nnet rda MASS sfsmisc e1071 pamr]; };
-  asd = derive { name="asd"; version="2.0"; sha256="1nnsbh6g0bhvhp6644zf2l6frr3qnls0s7y7r0g211b5zagq20z3"; depends=[mvtnorm]; };
-  ash = derive { name="ash"; version="1.0-14"; sha256="15x16ld25i160asqf4z4difa6zn2yfgl04j8y8nqb0djymdx7a1f"; depends=[]; };
-  aspace = derive { name="aspace"; version="3.2"; sha256="1g51mrzb6amafky2kg2mx63g6n327f505ndhna6s488xlsr1sl49"; depends=[splancs Hmisc shapefiles]; };
-  aspect = derive { name="aspect"; version="1.0-2"; sha256="1p06vglsj2z0qal3sacjfm6cr9vb3jidk1c1rsmwy4cfv7dzh58n"; depends=[]; };
-  assertive = derive { name="assertive"; version="0.1-8"; sha256="0j1phpx2w34rdjaar3fqhp0rsvdlidvw2irfazbh9955mdn2cwq1"; depends=[]; };
-  assertthat = derive { name="assertthat"; version="0.1"; sha256="0dwsqajyglfscqilj843qfqn1ndbqpswa7b4l1d633qjk9d68qqk"; depends=[]; };
-  AssetPricing = derive { name="AssetPricing"; version="1.0-0"; sha256="12v8hmmknkp472x406zgzwjp7x8sc90byc3s3dvmwd5qhryxkkix"; depends=[polynom deSolve]; };
-  AssotesteR = derive { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; };
-  aster = derive { name="aster"; version="0.8-30"; sha256="0vdlimkkmd9ar5v3xrbi9gshvj980l7641brd7cqs78sqf0v71fn"; depends=[trust]; };
-  aster2 = derive { name="aster2"; version="0.1"; sha256="1qbh1l2cnhvdfxaw1bv8cpj96nv03g155b1xh1vdigniwc04mssw"; depends=[]; };
-  astro = derive { name="astro"; version="1.1"; sha256="15xxa3ynlgk6dhlb1z9lwvf9jqvfw9ghkl7rjbdcrvc52b92nwd3"; depends=[MASS plotrix]; };
-  astrochron = derive { name="astrochron"; version="0.3.1"; sha256="0anm8k31kgvbdkzid2f9mg7ivdrihwb6g1i82jqpljbwvmkp0fmw"; depends=[baseline multitaper fields]; };
-  astroFns = derive { name="astroFns"; version="4.1-0"; sha256="0g5q0y067xf1ah91b4lg8mr9imj0d6lgig7gbj3b69fn335k363g"; depends=[]; };
-  astrolibR = derive { name="astrolibR"; version="0.1"; sha256="0gkgry5aiz29grp9vdq9zgg6ss47ql08nwcmz1pfvd0g0h9h75l8"; depends=[]; };
-  astsa = derive { name="astsa"; version="1.2"; sha256="13nlk5m5j9rygjih2hd3nj5iyncm1cx4smcj9zpr6nrsc79brwzj"; depends=[]; };
-  asympTest = derive { name="asympTest"; version="0.1.3"; sha256="11nlkgws3y8xbz3yli55414a2rkk7367q9q5r2ssa61jaiimibhh"; depends=[]; };
-  asypow = derive { name="asypow"; version="2013.9-1"; sha256="0zd42ha30kysjhd6rwxr91k1hhsimw3py2inymbpxgyq4s890whs"; depends=[]; };
-  AtelieR = derive { name="AtelieR"; version="0.24"; sha256="0yialpmbsbx70gvps4r58xg9wvqcril8j8yd61lkkmz4b3195zai"; depends=[proto cairoDevice gWidgetsRGtk2 partitions]; };
-  ATmet = derive { name="ATmet"; version="1.2"; sha256="047ibxxf5si45zw22zy8a1kpj36q0pd3bsmxwvn0dhf4h65ah0zz"; depends=[DiceDesign lhs metRology msm sensitivity]; };
-  AtmRay = derive { name="AtmRay"; version="1.31"; sha256="162078jd032i72sgaar9hqcnn1lh60ajcqpsz4l5ysxfkghcxlh8"; depends=[]; };
-  attfad = derive { name="attfad"; version="1.1"; sha256="10vdb60i8iigslcd0f3ipkf7m3d7h8zhq9x0n7yilc1xpd79r3ha"; depends=[]; };
-  AUC = derive { name="AUC"; version="0.3.0"; sha256="0ripcib2qz0m7rgr1kiz68nx8f6p408l1ww7j78ljqik7p3g41g7"; depends=[]; };
-  AUCRF = derive { name="AUCRF"; version="1.1"; sha256="00d7jcg2dyvf7sc9w7vxxd85m7nsbcmfqsavrv236vxfpfc9yn7i"; depends=[randomForest]; };
-  audio = derive { name="audio"; version="0.1-5"; sha256="1hv4052n2r6jkzkilhkfsk4dj1xhbgk4bhba2ca9nf8ag92jkqml"; depends=[]; };
-  audiolyzR = derive { name="audiolyzR"; version="0.4-9"; sha256="09jsrjy15vcn6da0kgk06ghayyrf3s853gqv8qdawg745ky2hbgi"; depends=[hexbin RJSONIO plotrix]; };
-  audit = derive { name="audit"; version="0.1-1"; sha256="0hrcdcwda5c0snskrychiyfjcbnymkcl2x43bapb6inw9y8989qv"; depends=[]; };
-  autoencoder = derive { name="autoencoder"; version="1.0"; sha256="18i6b2vjhlq9f82syw3k88gm9bvklv827nflgzq0xzjnzh6z5nr8"; depends=[]; };
-  automap = derive { name="automap"; version="1.0-14"; sha256="1190kbmp0x80x0hyifdbblb4ijq79kvrfn9rkp5k6diig4v30n0w"; depends=[sp gstat lattice reshape]; };
-  autopls = derive { name="autopls"; version="1.2-7"; sha256="173i1g11waz72myclfdch9v3wsvdr9mdz2gxdqifq9wj50s4zrg4"; depends=[pls]; };
-  AutoSEARCH = derive { name="AutoSEARCH"; version="1.2"; sha256="1zl5zd96249y2zfpidpl9n3zwcp74kvcxn4s10v0lypvr19cr3hn"; depends=[zoo]; };
-  avgrankoverlap = derive { name="avgrankoverlap"; version="1.0"; sha256="1wyafcygwdk754wp25283nd84lnn9qxha41xij55ylrn4nvg57l1"; depends=[]; };
-  aws = derive { name="aws"; version="1.9-4"; sha256="11vbsg4yhnl4995m8gq5gykrlk61y3a618g2zxkc9wdf5z4xqdny"; depends=[awsMethods gsl]; };
-  awsMethods = derive { name="awsMethods"; version="1.0-3"; sha256="1r6rbrlc5wbljp2x9aqhhnjblnb3gjm217x0cbmrw1pa0cf7q5jq"; depends=[]; };
-  AWS_tools = derive { name="AWS.tools"; version="0.0.5"; sha256="0z0mh8pdrqvsg49dbhds8aj0lmxmvhfi05im0gg01vdidxpmabyn"; depends=[XML]; };
-  aylmer = derive { name="aylmer"; version="1.0-11"; sha256="1b6dryvfz9yp00nj8lv8j1isnshcgwn9fx41knah9pw7dn4pxkk2"; depends=[Brobdingnag]; };
-  B2Z = derive { name="B2Z"; version="1.4"; sha256="0w7394vs883vb32gs6yhrc1kh5406rs851yb2gs8hqzxad1alvpn"; depends=[numDeriv coda mvtnorm]; };
-  b6e6rl = derive { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; };
-  babel = derive { name="babel"; version="0.2-6"; sha256="1dsxjnhr0cky7wlzz8pr8rn3cldfcyrh8v6gn2ba4abr0df7i4dd"; depends=[]; };
-  BaBooN = derive { name="BaBooN"; version="0.1-6"; sha256="1splid5mvyd04d1lxkq45md910ry6n516cph20j6vqfhla0arxjg"; depends=[MASS nnet]; };
-  babynames = derive { name="babynames"; version="0.1"; sha256="0qq0303mmcnpfy5630d7rqmb8rl36p7hg2z842rzd4lkhy8c2l07"; depends=[]; };
-  BACCO = derive { name="BACCO"; version="2.0-9"; sha256="0i1dnk0g3miyv3b60rzgjjm60180wxzv6v2q477r71q74b0v0r1y"; depends=[emulator calibrator approximator]; };
-  backtest = derive { name="backtest"; version="0.3-2"; sha256="06q488pynxgis1m6rxc8hgscpy8vimffpi4aamviwb089sjzilnn"; depends=[lattice]; };
-  BACprior = derive { name="BACprior"; version="1.2.1"; sha256="1xwszrnb6fnfl4pz89y24jykzyjnkzwzkicdp1rp7q3jwp986fxi"; depends=[mvtnorm leaps]; };
-  BAEssd = derive { name="BAEssd"; version="1.0.1"; sha256="04wkhcj4wm93hvmfnnzryswaylnxz5qsgnqky9lsx4jqhvg340l6"; depends=[mvtnorm]; };
-  bagRboostR = derive { name="bagRboostR"; version="0.0.2"; sha256="1k9w98p3ad3myzyqhcrc4rsn7196qvhnmk5ddx3fpd1rdvy2dnby"; depends=[randomForest]; };
-  BalancedSampling = derive { name="BalancedSampling"; version="1.4"; sha256="0l8jxszd0j27kb58xrn7lvf52mhifqjd1w42cp4kdiax8c6s7421"; depends=[Rcpp]; };
-  BaM = derive { name="BaM"; version="0.99"; sha256="1q04va2s876ydlmaalx63r520pfx1qzpjg6hbnl9pvn86b5grnf4"; depends=[bayesm coda MASS mice survival foreign nnet]; };
-  bamdit = derive { name="bamdit"; version="1.1-1"; sha256="0f865yfwd2pvbkcx8jm4iyilldmprsgyqnscp1n28rp3sbdii4bl"; depends=[coda rjags]; };
-  BAMMtools = derive { name="BAMMtools"; version="2.0.2"; sha256="10z638f79j3jksb69sqrnkzs5nzxi9srsxww4ky3bk21zb66ikhd"; depends=[ape]; };
-  bams = derive { name="bams"; version="1.6"; sha256="1pplnpilpydxf7gcs87424cajss74q8cr9pyv2biy4pkvfql0nxl"; depends=[]; };
-  bandit = derive { name="bandit"; version="0.5.0"; sha256="03mv4vbn9g4mqikd9map33gmw2fl9xvb62p7gpxs1240w5r4w3fp"; depends=[boot gam]; };
-  BANOVA = derive { name="BANOVA"; version="0.2"; sha256="1zgn9wxh4c89rris58hhj5fh37mmy8wjvligr02id7a1pcw177m3"; depends=[rjags runjags coda]; };
-  barcode = derive { name="barcode"; version="1.1"; sha256="14zh714cwgq80zspvhw88cs5b82gvz4b6yfbshj9b7x0y2961nxd"; depends=[lattice]; };
-  bark = derive { name="bark"; version="0.1-0"; sha256="00sgwr1sfbx0gb2ssbnmbz90mwb40sk3s24asj7lhadwgm150nly"; depends=[]; };
-  Barnard = derive { name="Barnard"; version="1.3"; sha256="1kyc6rph0c9lxv6mkdl5n11xw1pvavlm2kknplb3sv6f94ss2yci"; depends=[]; };
-  bartMachine = derive { name="bartMachine"; version="1.0.2"; sha256="1mxl8yra44ypxchqlyfv950gac1m8mw85qqaifzylm7fqb12xr8s"; depends=[rJava car randomForest missForest]; };
-  BAS = derive { name="BAS"; version="1.0"; sha256="1j5crafky3jb25kim3b7gxg9azn3ya357ckq1v7wryzi3zi674sg"; depends=[MASS]; };
-  BaSAR = derive { name="BaSAR"; version="1.3"; sha256="0n18gjgnqdmwdna6b5r664rw2svjqlpis95vchnlk19cr3pjvqc1"; depends=[polynom orthopolynom]; };
-  base64 = derive { name="base64"; version="1.1"; sha256="1wn3zj1qlgybzid4nr6hvlyqg1rp2dwfh88vxrfby2fy2ba1nl5x"; depends=[]; };
-  base64enc = derive { name="base64enc"; version="0.1-2"; sha256="0d2b7vl08abssfwprfiqc0yscb1gz4xlzlwwbf7y9z19wbyxizh5"; depends=[]; };
-  baseline = derive { name="baseline"; version="1.1-3"; sha256="1n3g1ads26nq3y31nniirac453pdshzkdfg774w46x83cc5pc0xj"; depends=[SparseM]; };
-  basicspace = derive { name="basicspace"; version="0.07"; sha256="0lpj03a5cwrj0pag6hb29rfi8dw51hqx7rrc4r00lsbqf5picin2"; depends=[]; };
-  BASIX = derive { name="BASIX"; version="1.1"; sha256="18dkvv1iwskfnlpl6xridcgqpalbbpm2616mvc3hfrc0b26v01id"; depends=[]; };
-  BaSTA = derive { name="BaSTA"; version="1.9.3"; sha256="1jfki5lnsvd6fjrld2qp179lyzli61pi2308lkkl1h6vgp11zp2v"; depends=[msm]; };
-  batade = derive { name="batade"; version="0.1"; sha256="1lr0j20iydh15l6gbn471vzbwh29n58dlpv9bcx1mnsqqnsgpmal"; depends=[hwriter]; };
-  batch = derive { name="batch"; version="1.1-4"; sha256="03v8a1hsjs6nfgmhdsv6fhy3af2vahc67wsk71wrvdxwslmn669q"; depends=[]; };
-  BatchExperiments = derive { name="BatchExperiments"; version="1.2"; sha256="0kvn8vaxzdvzfx05639v3jbrxvwrr9rr8zssw62pdr77h7j9a3gf"; depends=[BatchJobs checkmate BBmisc DBI RSQLite plyr]; };
-  BatchJobs = derive { name="BatchJobs"; version="1.3"; sha256="1vcncmy7zzri93gh9gfbz8dz4agz2nkhv1bddzddx27b2sqjq4dn"; depends=[BBmisc checkmate digest DBI RSQLite sendmailR brew stringr fail]; };
-  batchmeans = derive { name="batchmeans"; version="1.0-1"; sha256="06p51ipc603zqkf7ifv495jxbnqqxzx5h8mnz5l5sz9rq5pixg13"; depends=[]; };
-  BayesBridge = derive { name="BayesBridge"; version="0.5"; sha256="1czyna2mrznlr5swvm9i7x99yfwjvwbzy42avh6xb0342q5glnhw"; depends=[]; };
-  bayesclust = derive { name="bayesclust"; version="3.1"; sha256="0zxjd64nz8c6vg6jwb2xh6kbw41a2pcmlwq5cl6k2kbplqbm2jdf"; depends=[]; };
-  BayesComm = derive { name="BayesComm"; version="0.1-0"; sha256="17hnq4z451g2j3p73awllihhwsdy3grh6ki3qy9bkr064wvzbvcj"; depends=[Rcpp RcppArmadillo coda]; };
-  bayescount = derive { name="bayescount"; version="0.9.9-2"; sha256="1f27dkdgpylk1v0m722r0jxha9sl17zgl1s5apnd8ihgsajm7sdc"; depends=[runjags coda lattice]; };
-  BayesCR = derive { name="BayesCR"; version="1.0"; sha256="0cq1ii01j0nprnyvfxml1nrajrbb9yanr4fa5fcwn764cq5s30n9"; depends=[MCMCpack mvtnorm Rlab truncdist truncnorm]; };
-  BayesDA = derive { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; };
-  bayesDem = derive { name="bayesDem"; version="2.4-1"; sha256="0s2dhy8c90smvaxcng6ixhjm7kvwwz2c4lgplynrggrm8rfb19ay"; depends=[gWidgets gWidgetsRGtk2 bayesTFR bayesLife bayesPop RGtk2 wpp2012]; };
-  BayesFactor = derive { name="BayesFactor"; version="0.9.7"; sha256="02bqsvxsxkyhxm0llwnscsp204ffjygdk9xraml1l2fkz3cg62vl"; depends=[coda pbapply mvtnorm stringr]; };
-  bayesGARCH = derive { name="bayesGARCH"; version="2.0.1"; sha256="1gz18wjikkg3yf71b1g21cx918dyz89f5m295iv8ah807cdx7vjk"; depends=[mvtnorm coda]; };
-  bayesGDS = derive { name="bayesGDS"; version="0.6.0"; sha256="17ihpsh7lqjninprfwbx3v2415s27qybr5c2z4ls43slv8zrv8mz"; depends=[Matrix]; };
-  BayesGESM = derive { name="BayesGESM"; version="1.0"; sha256="1ssg4l86jfriq4izlgzypz37c7xzcfsr6ngh8ksak8ka1lmidsig"; depends=[truncdist GIGrvg normalp gsl]; };
-  Bayesianbetareg = derive { name="Bayesianbetareg"; version="1.2"; sha256="0imsz2761ngbnap0vnxks9527la51m5g8gkkn1vrgwis43i6qcgs"; depends=[mvtnorm betareg]; };
-  BayesLCA = derive { name="BayesLCA"; version="1.5"; sha256="0ikx0qxp9mw4206c0i2g8cjr3d5i591wb1qak28c11m22rn1s7gc"; depends=[e1071 coda fields nlme MCMCpack]; };
-  bayesLife = derive { name="bayesLife"; version="2.1-1"; sha256="0vb9frpla7rvd925h5d23mjza423qhpc4hqy0f9zayj9nnisv212"; depends=[bayesTFR wpp2012 hett car coda]; };
-  BayesLogit = derive { name="BayesLogit"; version="0.5.1"; sha256="0nr215wzhqlfi32617mmqb6i3w5x1kh5fiy68k0xzdqjsyjr65m0"; depends=[]; };
-  bayesm = derive { name="bayesm"; version="2.2-5"; sha256="16cnm1i7vwviqxwq3yhj5r9a46qaanq2mb4snd0659rkia6p8h7a"; depends=[]; };
-  bayesMCClust = derive { name="bayesMCClust"; version="1.0"; sha256="14cyvcyx3nmkbvsy7n4xjp7zvcgdhy013dv9d72y8j5dvlv82pb4"; depends=[gplots xtable mnormt MASS bayesm boa e1071 gtools]; };
-  BayesMed = derive { name="BayesMed"; version="1.0"; sha256="1ppl5g8c5yy8jzhm34wvvprn9dj697ihcg8jb5111qmjybzzp0dh"; depends=[R2jags QRM polspline MCMCpack]; };
-  bayesmix = derive { name="bayesmix"; version="0.7-3"; sha256="142132aslmmm35yai4n1d2hqqkczvrnm8ln9gwxvbczmxaggnc01"; depends=[rjags coda]; };
-  BayesNetDiscovery = derive { name="BayesNetDiscovery"; version="0.1"; sha256="1p3mxl75ds75snqim59w9xvr7f4a1mbks2k05zd9wwwy4w7v74l7"; depends=[DPpackage igraph mclust pscl tmvtnorm]; };
-  BayesNI = derive { name="BayesNI"; version="0.1"; sha256="0zvr6rkb5zxgl53xby69d0j3yrfnlcmac6kwkxz77q5616w9dwq0"; depends=[]; };
-  BayesPen = derive { name="BayesPen"; version="1.0"; sha256="1c31n0mrx07j9mw4afdh1qznkiq2jrig3ldpsnhkv2nd2apgjbbp"; depends=[lars MCMCpack SuppDists]; };
-  bayesPop = derive { name="bayesPop"; version="5.0-0"; sha256="0a577jkm0v88q2i7dmn2xqndm9z5y3hwfxr4a5d65cnrlsahfzdl"; depends=[bayesTFR bayesLife abind plyr wpp2012]; };
-  bayespref = derive { name="bayespref"; version="1.0"; sha256="0gwlzs7qkgmf90np7xv85d27jjqggyhfj00vpya664a2znyjb3jm"; depends=[coda lattice MASS MCMCpack RColorBrewer]; };
-  bayesQR = derive { name="bayesQR"; version="2.2"; sha256="0w5fg7hdwpgs2dg4vzcdsm60wkxgjxhcssw9jzig5qgdjdkm07nm"; depends=[]; };
-  bayess = derive { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[MASS mnormt gplots combinat]; };
-  BayesSAE = derive { name="BayesSAE"; version="1.0-1"; sha256="09s7f472by689b2b0gahnkhyjriizpsx6r5qa95nf3f4bfqi2cpf"; depends=[Formula coda lattice]; };
-  BayesSingleSub = derive { name="BayesSingleSub"; version="0.6.2"; sha256="0hgmyhg4mpxx7k91hbfa9h3533mqyn9rz4kl9kb30cc9g7g0m045"; depends=[coda mvtnorm MCMCpack]; };
-  bayesSurv = derive { name="bayesSurv"; version="2.3-1"; sha256="1p3ppvz7qjd0yjnc3k1mrjqa6v00aind613wxg6xhgk5iz0590rg"; depends=[survival coda smoothSurv]; };
-  bayesTFR = derive { name="bayesTFR"; version="4.0-5"; sha256="1cyzkgx0f275ng0ds0lvm3rwryd2ai20shhilp7ajvsria4h4dcw"; depends=[mvtnorm MASS coda wpp2012]; };
-  Bayesthresh = derive { name="Bayesthresh"; version="2.0.1"; sha256="0w26h1ragqcg1i4h7c2y6vd8fig2jb2zrnvvchgg5z2hg9qdplsf"; depends=[lme4 MASS VGAM mvtnorm matrixcalc coda]; };
-  BayesValidate = derive { name="BayesValidate"; version="0.0"; sha256="1gli65avpkb90asx92l1yjbwaxcsyb920idyjwgd2sl2b3l657ly"; depends=[]; };
-  BayesVarSel = derive { name="BayesVarSel"; version="1.5.1"; sha256="0r2al4d74dbra7va88fcazq5h19f0i4wymd39apsz3a3hsb8vdvv"; depends=[MASS]; };
-  BayesX = derive { name="BayesX"; version="0.2-8"; sha256="1kj0xwy972383vx52i8dn7vp0x8r5cbbii0s7nwfz0bn2iaks0c0"; depends=[shapefiles sp maptools colorspace coda]; };
-  BayesXsrc = derive { name="BayesXsrc"; version="2.1-2"; sha256="114804f6maak5dmwzw4cbigjcdw7c6sgx48af35yrvkspi1gsz3b"; depends=[]; };
-  BayHap = derive { name="BayHap"; version="1.0.1"; sha256="0xqnl2cbf0pyjlpywyy0j4mwknfn8msz4s719dsri3r7hvn9m6kd"; depends=[boa]; };
-  BayHaz = derive { name="BayHaz"; version="0.1-3"; sha256="08ilghlkgyma5758yw7mdgqycqcillqmx73knzzdlg2kzc77dvg6"; depends=[]; };
-  BaylorEdPsych = derive { name="BaylorEdPsych"; version="0.5"; sha256="1kq6nvzdqwawygp7k62lw5hyccsj81jg82hq60yidgxnmmnnf7y2"; depends=[]; };
-  bayou = derive { name="bayou"; version="1.0.1"; sha256="0l342a4lsn6b18i2kyk2hr50k69bb7jcw8dlnbi96yf1i58qcdri"; depends=[ape geiger phytools coda Rcpp MASS mnormt fitdistrplus denstrip]; };
-  BaySIC = derive { name="BaySIC"; version="1.0"; sha256="023ji6q1nvksmhp3ny8ad39xxccc0a1rv9iaiaagwavgzzc0pjd9"; depends=[rjags fields poibin]; };
-  BAYSTAR = derive { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[mvtnorm coda]; };
-  BB = derive { name="BB"; version="2014.1-1"; sha256="05ang9k03cpdyjskifp8y68sjgbsnp8xj1a85hzqychlb7d4f2qk"; depends=[]; };
-  bbefkr = derive { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; };
-  bbemkr = derive { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; };
-  BBmisc = derive { name="BBmisc"; version="1.7"; sha256="06lr7yjq9ypyvrvkf3gn1dl7ppf2mpn6jnvv3m4724g2sgh53cv4"; depends=[checkmate]; };
-  bbmle = derive { name="bbmle"; version="1.0.17"; sha256="1j3x2glnn0i0fc0mmafwkkqh1js90g8q7gix2vrhif0pmwinsrak"; depends=[numDeriv lattice MASS]; };
-  BBMM = derive { name="BBMM"; version="3.0"; sha256="1cvv786wf1rr5906qg1di2krrv5jgw3dnyl8z2pvs8jyn0kb3fkj"; depends=[]; };
-  bbo = derive { name="bbo"; version="0.1"; sha256="1giif78135f3hy8dqims83imism0k3507jlppgcb3x6pxk7dgwbs"; depends=[]; };
-  BBRecapture = derive { name="BBRecapture"; version="0.1"; sha256="05xzp5zjmkh0cyl47qfsz0l8drg8mimssybhycc4q69aif9scqxb"; depends=[HI locfit lme4 secr]; };
-  bc3net = derive { name="bc3net"; version="1.0.2"; sha256="0iakqf4apscxb4mb5klj9qklbi25dmdd77la3ads2y882gm2nj0z"; depends=[c3net infotheo igraph Matrix lattice]; };
-  BCA = derive { name="BCA"; version="0.9-2"; sha256="1kry9v0sfcpn5vv4hwd983svwcgv841y9pkjdzi849gspmc9291r"; depends=[car clv cluster class flexclust rpart nnet rgl Rcmdr]; };
-  BCBCSF = derive { name="BCBCSF"; version="1.0-0"; sha256="1ag8wz8a9vh1x4jgppimgchfs53rr6hbg5xzzr6k2h4bfsg7pmn3"; depends=[abind]; };
-  BCDating = derive { name="BCDating"; version="0.9.3"; sha256="1ibm34wab1dpigrhifkyr1nylgbprbh22fdw9zpmg8bawb7zgbsl"; depends=[]; };
-  BcDiag = derive { name="BcDiag"; version="1.0.4"; sha256="1cpy80cza2yqwgp6zma1p3chdbfbxb3in19rj1zndf89baggr520"; depends=[]; };
-  BCE = derive { name="BCE"; version="2.1"; sha256="0dqp08pbq7r88yhvlwgzzk9dcdln7awlliy5mfq18j5jhiy7axiz"; depends=[FME limSolve Matrix]; };
-  BCEA = derive { name="BCEA"; version="2.0-2"; sha256="1n0fp6na2y4n7p6ncwgi6hwx97mfrga3fkp3i0z06bh1p1jh8m88"; depends=[]; };
-  BCEs0 = derive { name="BCEs0"; version="1.1"; sha256="0q63bkmk0kk9p5d3xb0f5srzfrbr743isyw4v2h9ch5yyxizcizb"; depends=[]; };
-  Bchron = derive { name="Bchron"; version="4.1.1"; sha256="0dnfz7xpmbygyarh9ai9x3xfsqiizi0zhnxm8bmkvqyb8h7zpghb"; depends=[inline hdrcde MASS ellipse coda mclust]; };
-  Bclim = derive { name="Bclim"; version="2.3.1"; sha256="160c9v83bpik73yjj45lr8sdgl8v4ymlkqw424ncc3lficyhvfjg"; depends=[MASS mclust hdrcde statmod]; };
-  bclust = derive { name="bclust"; version="1.4"; sha256="1s04fqff5bw6d5kk0smvach6yq492dv1w0ahh9mrm2jsi2q58h7p"; depends=[]; };
-  bcool = derive { name="bcool"; version="1.1"; sha256="03z6wdqpk491gyysbzz1lgfavskmi0j65r3df7baz6lrvzkg30ji"; depends=[MCMCglmm doMPI seqinr]; };
-  bcp = derive { name="bcp"; version="3.0.1"; sha256="08sa1az1ljsi00zmj3l7z8p1j5im1w79yjxy8k1p6ba90bck7l4h"; depends=[foreach iterators Rcpp]; };
-  bcpa = derive { name="bcpa"; version="1.0"; sha256="02vyvwd1j5d1nvwmhjbldyav1zx8sh8kvchwz73i0vs0jdrwp3q4"; depends=[Rcpp intervals plyr]; };
-  bcpmeta = derive { name="bcpmeta"; version="1.0"; sha256="02fw1qz9cvr7pvmcng7qg7p04wxxpmvb2s8p78f52w4bf694iqhl"; depends=[mvtnorm]; };
-  bcrm = derive { name="bcrm"; version="0.4.4"; sha256="0gcigc7505fsk1m70df3n0dz553adkbs8yz2bhskb4qrw4gbmvr7"; depends=[mvtnorm ggplot2]; };
-  bcv = derive { name="bcv"; version="1.0"; sha256="053if27miv46mbkni6pcpdpz0l336r5l95k7927dqalnri894xwz"; depends=[]; };
-  bda = derive { name="bda"; version="3.2.0-3"; sha256="1725qdlkcf7hfklnksy7jslh66cfm7gsil1xgm2rw8hr6v2l0pmx"; depends=[]; };
-  BDgraph = derive { name="BDgraph"; version="2.10"; sha256="0f35i3r8i6fbh86537z8lvfmhydp87kmmcs4vycaa9ja88fb6czl"; depends=[Matrix igraph]; };
-  bdoc = derive { name="bdoc"; version="1.2"; sha256="15d7grc0a1hakkxhgbm2gp0awggzlmsp8zf8abj5bgfih63gcmj2"; depends=[]; };
-  bdpv = derive { name="bdpv"; version="1.1"; sha256="0i6wdf27243ch8pn2chqriwxjg3g72wbvzlx52mz4ahw700xjc7n"; depends=[]; };
-  bdsmatrix = derive { name="bdsmatrix"; version="1.3-1"; sha256="1iiqz34ssb5i5jd1x5d0mccir9ycrq2vq30g67ggw12apl7yks1l"; depends=[]; };
-  bdvis = derive { name="bdvis"; version="0.1.0"; sha256="1f837i48gmspx9xrnxzsgdbg6ykxmvkp8l20y19yd9iakhv7k3jy"; depends=[maps plotrix sqldf plyr taxize treemap ggplot2]; };
-  bdynsys = derive { name="bdynsys"; version="1.2"; sha256="06n4n5yix6yd5180c5y7qdk2p5jpjqiw28147l8fp58zqxvwjrxb"; depends=[plm Formula MASS Hmisc deSolve pracma caTools matrixStats]; };
-  beadarrayFilter = derive { name="beadarrayFilter"; version="1.1.0"; sha256="044dq5irc00v2f2gjz0vb69w7q7b84lppc55ganabdv4f0dxdblc"; depends=[RColorBrewer]; };
-  beadarrayMSV = derive { name="beadarrayMSV"; version="1.1.0"; sha256="0785vmjsli37hjyppk7hlqmn0b683s1apysx9dghbw4h6rgvr8n9"; depends=[rggobi]; };
-  beanplot = derive { name="beanplot"; version="1.1"; sha256="0h1ns2y0f6x5z9bn4wsv640509q4jxhqvmqr7snf8vk54vc35zs5"; depends=[]; };
-  bear = derive { name="bear"; version="2.6.3"; sha256="1w933rb1v4ixgmxpbjxrfwzhiddpr0vxwr3gryl6z6p4wvwdwvp7"; depends=[reshape nlme gdata ICSNP sciplot plotrix ggplot2 png]; };
-  BEDASSLE = derive { name="BEDASSLE"; version="1.4"; sha256="02638v89rcqky6npfckr1h7g563lbhs51bsprfr10jk44aj527np"; depends=[MASS matrixcalc emdbook]; };
-  beepr = derive { name="beepr"; version="1.1"; sha256="187gww50yc8hzrzwz6j9ib101196g6ci9fx3dqyhg764ydn8if1n"; depends=[stringr audio]; };
-  beeswarm = derive { name="beeswarm"; version="0.1.6"; sha256="05n2a1fqmh4m7d0b8vmcprss5ivgb0dlyly07jywj3vrf2z81yhy"; depends=[]; };
-  benchden = derive { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; };
-  benchmark = derive { name="benchmark"; version="0.3-6"; sha256="05rgrjhbvkdv06nzbh0v57b06vdikrqc1d29wirzficxxbjk1hih"; depends=[proto ggplot2 relations psychotools reshape scales plyr]; };
-  Benchmarking = derive { name="Benchmarking"; version="0.23"; sha256="0q0m34l3216m467b28nckg7l4g0z7jmxdamba3jgzfm4rv73d6rd"; depends=[lpSolveAPI ucminf]; };
-  benford_analysis = derive { name="benford.analysis"; version="0.1.1"; sha256="00ynk1af5nbq8bn8y77sckx4w32g5zxcp06pdpcxwvp38d7hxhvc"; depends=[data_table]; };
-  BenfordTests = derive { name="BenfordTests"; version="1.1.1"; sha256="12xzc4gq4h7p18ypbkybrzjj2qh71rgd7nzznij36yv7n6h21mlw"; depends=[]; };
-  bentcableAR = derive { name="bentcableAR"; version="0.2.3"; sha256="0d20cc3zis3pc3r86z12cwcz013w0mglbg6xgv90wq912jjpkxk9"; depends=[]; };
-  BEQI2 = derive { name="BEQI2"; version="1.0-1"; sha256="0afp8f6kfmpa8qi952qnyxl2nn6kszc8fgvplvbl13v572261m7s"; depends=[knitr markdown RJSONIO xtable plyr reshape2]; };
-  ber = derive { name="ber"; version="4.0"; sha256="0gl7rms92qpa5ksn8h3ppykmxk5lzbcs13kf2sjiy0r2535n8ydi"; depends=[MASS]; };
-  Bergm = derive { name="Bergm"; version="2.9"; sha256="1sjc9vkcbbhdc93gzsm25ld5h7hkwb8n6i51xzflphi0w1a66zkv"; depends=[ergm network coda mvtnorm]; };
-  BerlinData = derive { name="BerlinData"; version="1.0.0"; sha256="1i4vb1gs3ffb2lxdhl8hzqwcr9nm8ya484glds3bdvj10ypncrya"; depends=[XML stringr]; };
-  berryFunctions = derive { name="berryFunctions"; version="1.4"; sha256="13kzrz0lrqlbysd7ymphcw12fg237knmvkdc71cl85929ydr09d8"; depends=[]; };
-  Bessel = derive { name="Bessel"; version="0.5-5"; sha256="1apcpwqgnbsn544x2mfjkp4136xn33pijazmbzas7lr14syl5a6b"; depends=[Rmpfr]; };
-  BEST = derive { name="BEST"; version="0.2.2"; sha256="160lvrd0zjm1lr8llra6lyz3qsmqhn3bpdlmwingwfimbpb754rz"; depends=[rjags coda]; };
-  bestglm = derive { name="bestglm"; version="0.34"; sha256="0b6lj91v0vww0fy50sqdn99izkxqbhv83y3zkyrrpvdzwia4dg9w"; depends=[leaps]; };
-  betafam = derive { name="betafam"; version="1.0"; sha256="1nf5509alqnr5qpva36f1wb7rdnc084p170h91jv89xvzsidqxca"; depends=[]; };
-  betapart = derive { name="betapart"; version="1.3"; sha256="0h2y2c3q6njzh2rlxh8izgkrq9y7abkbb0b13f2iyj9pnalvdv52"; depends=[ape geometry picante rcdd]; };
-  betaper = derive { name="betaper"; version="1.1-0"; sha256="1gr533iw71n2sq8gga9kzlah7k28cnlwxb2yh562gw6mh1axmidm"; depends=[vegan ellipse]; };
-  betareg = derive { name="betareg"; version="3.0-4"; sha256="1crkp1j11zpzd92hc1zaw0pb68ngga8gl6v504p4r7629806g5hv"; depends=[Formula flexmix lmtest modeltools sandwich]; };
-  betategarch = derive { name="betategarch"; version="3.1"; sha256="1m4xif7xn1hhz9a77mmy0hlqrfp7qxardc95jcvx1jy76nny21af"; depends=[zoo]; };
-  bethel = derive { name="bethel"; version="0.2"; sha256="1zlkw672k1c5px47bpa2vk3w2906vkhvifz20h6xm7s51gmm64i0"; depends=[]; };
-  bezier = derive { name="bezier"; version="1.1"; sha256="1bhqf1zbshkf1x8mgqp4mkgdxk9jxi51xj6i47kqkyn9gbdzch0c"; depends=[]; };
-  bfa = derive { name="bfa"; version="0.3.1"; sha256="02vnbm77blllb74kll8w1i91k0llk43vq60aqjwpc5kqmzy652pk"; depends=[coda Rcpp RcppArmadillo]; };
-  bfast = derive { name="bfast"; version="1.4.4"; sha256="1k8rwlzrnkgs0wj0yy4gh4lj4zd5zyzwgwckgjy8k53r4296js66"; depends=[strucchange MASS forecast zoo raster sp strucchange zoo raster]; };
-  bfp = derive { name="bfp"; version="0.0-27"; sha256="08hlr33dwwjc4ag8vfsa3w4rcsc2093j8zwb05xkkl5nwqsq3mq0"; depends=[Rcpp]; };
-  bgeva = derive { name="bgeva"; version="0.2"; sha256="178c2jkg5578mh1yq37713lwfbz98nbsc2p1bmacgmbxbqnkba3x"; depends=[mgcv magic trust]; };
-  BGLR = derive { name="BGLR"; version="1.0.3"; sha256="02aw71r8khnkahqplycwziz7fh8hmnniq5bqnsk4fijv7z9gkbkg"; depends=[]; };
-  bgmm = derive { name="bgmm"; version="1.6"; sha256="04d06rhb8ax1q4ayl03cw18j4wk4g4690kwdgiyym9yi0gh8hjij"; depends=[mvtnorm car lattice combinat]; };
-  BGPhazard = derive { name="BGPhazard"; version="1.0"; sha256="14nk8gxzd0xd4fcc16m026rlq3prnppv3jywllfapk5986cacq4g"; depends=[survival]; };
-  BGSIMD = derive { name="BGSIMD"; version="1.0"; sha256="0xkr56z8l72wps7faqi5pna1nzalc3qj09jvd3v9zy8s7zf5r7w4"; depends=[]; };
-  BH = derive { name="BH"; version="1.54.0-3"; sha256="18n82c37562aklykw074ma0x95k9s4xp3l94jrjw2grajcrhx68b"; depends=[]; };
-  Bhat = derive { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; };
-  BHH2 = derive { name="BHH2"; version="2012.04-0"; sha256="10ixvjpkqamlddrndpnw5gsdm4gdhp693jdvc0f774ngmf32rbaa"; depends=[]; };
-  BHMSMAfMRI = derive { name="BHMSMAfMRI"; version="1.0"; sha256="0j5ivknsr441clgm0b95f2rz4pr29ixvw3dgsi8nb0ffh52dgz7q"; depends=[fmri AnalyzeFMRI wavethresh]; };
-  biasbetareg = derive { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; };
-  BiasedUrn = derive { name="BiasedUrn"; version="1.06.1"; sha256="1ra9fmymm97a2b8jsrsi98cjnnxc478zq51lx7a5pgafprcwcgkg"; depends=[]; };
-  bibtex = derive { name="bibtex"; version="0.3-6"; sha256="06v6pzwpx5dh3h4cf382hf0mszxchvzjsjaw880gfbgc9yl931z7"; depends=[]; };
-  biclust = derive { name="biclust"; version="1.0.2"; sha256="09w164zsnc48apf3r0yr6bfjxlpy4s2wqpzfhlg60c3c7bk1bf7v"; depends=[MASS colorspace lattice]; };
-  BiDimRegression = derive { name="BiDimRegression"; version="1.0.6"; sha256="1kgrk4xanvxqdq619ha08wwplmsn2xqygx4dziagx48iqfpp1lxj"; depends=[nlme]; };
-  bifactorial = derive { name="bifactorial"; version="1.4.7"; sha256="187zlsqph7m63wf6wajvs6a4a08aax9hiqssgvma6cpkpisfiz4k"; depends=[mvtnorm multcomp lattice Rcpp]; };
-  BIFIEsurvey = derive { name="BIFIEsurvey"; version="0.3-47"; sha256="10x2zfn19966mmmy2zxjhksxpzs38y8v25bmdn13vdmx70768gsc"; depends=[Rcpp miceadds]; };
-  bigalgebra = derive { name="bigalgebra"; version="0.8.4"; sha256="19rv552ac0q9djc1yvpldkc0lipdf6q143m9dnndpsqs7ayqlr4g"; depends=[bigmemory]; };
-  biganalytics = derive { name="biganalytics"; version="1.1.1"; sha256="0g45b293c1z9n2z9ab66jsy8yaiqm7bbs2d6pglzwgmmdvwy03qd"; depends=[bigmemory]; };
-  bigdata = derive { name="bigdata"; version="0.1"; sha256="1n1zcjhvb2s87d7fkcm95x11ss4b8pczza0n55gxjv4przfiq0in"; depends=[glmnet Matrix lattice]; };
-  bigGP = derive { name="bigGP"; version="0.1-3"; sha256="1a81an1wkkvdv1jh6d41wl54ac8h4yal27v4m8zp9jmx3ch3y2wy"; depends=[Rmpi]; };
-  biglars = derive { name="biglars"; version="1.0.2"; sha256="17zs25dvlja9ynx2fm5f4nmgkx4mnyqs5iscwsyahr6qigx1rz9x"; depends=[ff]; };
-  biglm = derive { name="biglm"; version="0.9-1"; sha256="1z7h4by457z93k5i6qf5rq7xmd1y2kcd1rq4pv465cd32d4mb2g1"; depends=[DBI]; };
-  bigmemory = derive { name="bigmemory"; version="4.4.6"; sha256="1pplnpxqg380l5mjgz0ak4ipsx7x54339n2wr3dd29xv3w2fb5rp"; depends=[bigmemory_sri BH]; };
-  bigmemory_sri = derive { name="bigmemory.sri"; version="0.1.2"; sha256="01nz4phifx10r1hs83avisnaqxvs3y70v0yczjgcr8kih2cnvbsd"; depends=[]; };
-  bigml = derive { name="bigml"; version="0.1-1"; sha256="0x0gn5pyffc8s0z2hp9iqgc63mmb3q7fb8lafzz2x67z2gghxi77"; depends=[RJSONIO RCurl plyr]; };
-  bigpca = derive { name="bigpca"; version="1.0"; sha256="1s4qmg7xl8z0sv1b1vfqw0r5cvlbrxx1n0m03ira8fpykcck2clm"; depends=[reader NCmisc bigmemory biganalytics bigmemory_sri BH irlba]; };
-  bigrf = derive { name="bigrf"; version="0.1-11"; sha256="0lazi8jk8aapdyyynd5yfcbn4jpjyxh8l64ayd0jj3nisl6hvmdh"; depends=[bigmemory foreach]; };
-  bigsplines = derive { name="bigsplines"; version="1.0-2"; sha256="0sbjq1vh8im6rwyz27h5m8rpckqiiaz9h22kcbzissy2dckis3l8"; depends=[]; };
-  bigtabulate = derive { name="bigtabulate"; version="1.1.2"; sha256="0vp873r3gww6kfkjdm87qgcdi85362kq946lvs45ggvyv7iaw0wa"; depends=[bigmemory]; };
-  BigTSP = derive { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[glmnet tree randomForest gbm]; };
-  bilan = derive { name="bilan"; version="2013.12"; sha256="0wrrs6l8iwy6r707djsmlmwiw0y5z6wwnsn27fvmq9cb8scvbfan"; depends=[Rcpp]; };
-  bild = derive { name="bild"; version="1.1-3"; sha256="02fi3h6mhg2m1ppkcpxpwzjfchkk9h7yv73j0365srr1jxki44pm"; depends=[]; };
-  bimetallic = derive { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; };
-  binda = derive { name="binda"; version="1.0.0"; sha256="0h5a67ygn4hwkdzbmhdkqjngln32yr8rk36k87m3hq1ahj4jn73x"; depends=[entropy]; };
-  bindata = derive { name="bindata"; version="0.9-19"; sha256="15ya21fz1kvq4qsppkn9ypiqvaq8q4vszdcgcymampa7zc07z2ld"; depends=[e1071 mvtnorm]; };
-  bingat = derive { name="bingat"; version="1.1"; sha256="1pb1yy1xrfvh71pg237lkmi56p8pbam60rii5i5km1i960lq0wc1"; depends=[matrixStats network]; };
-  binGroup = derive { name="binGroup"; version="1.1-0"; sha256="1sf7prg2x1ryynf1kz7jr50svmga7kjgd5pi9qm3g2hyimz8mvs4"; depends=[]; };
-  binhf = derive { name="binhf"; version="1.0-1"; sha256="0l8925bj6mjv2y7fn76zh2g8xjig3kbbdy4jl0ip3gd9kbrakl9k"; depends=[wavethresh adlift]; };
-  binMto = derive { name="binMto"; version="0.0-6"; sha256="1h9s42wk848x15f4glhsh2iikpra64miwlia6xz5dqlzbs4vw86k"; depends=[mvtnorm]; };
-  BinNor = derive { name="BinNor"; version="2.0"; sha256="0c1qy93ccgzg8g25wm1j4ninsa0ck4y3jjh25za92w070cqhkd8m"; depends=[mvtnorm corpcor psych Matrix]; };
-  binom = derive { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; };
-  binomialcftp = derive { name="binomialcftp"; version="1.0"; sha256="00c7ymlxk1xnx3x1814x7bcyir7q5sy4rb82dcpzf2bdly4xa1qr"; depends=[]; };
-  binomlogit = derive { name="binomlogit"; version="1.2"; sha256="1njz1g9sciwa8q6h0zd8iw45vg3i1fwcvicj5y8srpk8wqw3qp7k"; depends=[]; };
-  binomSamSize = derive { name="binomSamSize"; version="0.1-3"; sha256="0hryaf0y3yjxp84c0k80mhxj8zzlad697bv2yrvcjvllkzdvzbm7"; depends=[binom]; };
-  binomTools = derive { name="binomTools"; version="1.0-1"; sha256="14594i7iapd6hy4j36yb88xmrbmczg8zgbs0b6k0adnmqf83bn4v"; depends=[]; };
-  binr = derive { name="binr"; version="1.0"; sha256="0wgc78kx51qfn5wfzll5nz8iwanixkyb5sbqwi40fak93bvycklm"; depends=[]; };
-  binseqtest = derive { name="binseqtest"; version="1.0"; sha256="103nbi3zq9m632665iqz0z79v963ixhd5xrjfx6drwpfp4i69pbl"; depends=[clinfun]; };
-  Biodem = derive { name="Biodem"; version="0.3"; sha256="0wfyypr46awki2nrvhcjwacmaxrr2wvhdv9hddnf10msssflvshc"; depends=[]; };
-  BiodiversityR = derive { name="BiodiversityR"; version="2.4-4"; sha256="1sgjvjhvfdljjap69hi3f5j0ma9nikh43vgzbj8zkrz95d3jwd66"; depends=[Rcmdr]; };
-  BioGeoBEARS = derive { name="BioGeoBEARS"; version="0.2.1"; sha256="0wyddc5ma47ljpqipfkwsgddp12m9iy4kqwwgklyhf0rqia56b1h"; depends=[rexpokit cladoRcpp ape phylobase optimx FD xtable plotrix gdata]; };
-  Biograph = derive { name="Biograph"; version="2.0.4"; sha256="1mik5yvbi28xnyzha8p3xjaa064x29wgn18yx766wha7djxxr353"; depends=[etm msm Epi lubridate reshape plyr survival mstate ggplot2]; };
-  bio_infer = derive { name="bio.infer"; version="1.3-3"; sha256="14pdv6yk0sk6v8g9p6bazbp7mr3wmxgfi6p6dj9n77lhqlvjcgm9"; depends=[]; };
-  biom = derive { name="biom"; version="0.3.12"; sha256="18fmzp2zqjk7wm39yjlln7mpw5vw01m5kmivjb26sd6725w7zlaa"; depends=[plyr RJSONIO Matrix]; };
-  BioMark = derive { name="BioMark"; version="0.4.2"; sha256="17r4q2migmdk2vqfbr69q07cgdzwpjgs3ijmnm42srs5d3brw8cr"; depends=[pls glmnet MASS st]; };
-  BiomarkeR = derive { name="BiomarkeR"; version="1.3"; sha256="0djhqindpmzx6kkj17db6d1n3w5v5wl1l3z14lnl0r2k1hf276fy"; depends=[igraph Hmisc]; };
-  biomod2 = derive { name="biomod2"; version="3.1-48"; sha256="1qsxzgikzxvgfrvm3lqfbwk1fnd55z1jgi9d6nyjxxcmn65lgx5l"; depends=[sp raster reshape abind rasterVis pROC nnet gbm mda randomForest rpart MASS]; };
-  bionetdata = derive { name="bionetdata"; version="1.0"; sha256="1y5nnyfzbdk8673jyi733j4ncsc62kbsn1b8ghq10cb4xzxf2mvf"; depends=[]; };
-  biopara = derive { name="biopara"; version="1.5"; sha256="1fhhs6lkm3iphlkx6wklh9sgr1mkjkka9wv2m8fnk0xw01bdsyl5"; depends=[]; };
-  BioPhysConnectoR = derive { name="BioPhysConnectoR"; version="1.6-10"; sha256="1cc22knlvbvwsrz2a7syk2ampm1ljc44ykv5wf0szhnh75pxg13l"; depends=[snow matrixcalc]; };
-  bioPN = derive { name="bioPN"; version="1.2.0"; sha256="0mvqgsfc7d4h6npgg728chyp5jcsf49xhnq8cgjxfzmdayr1fwr8"; depends=[]; };
-  bios2mds = derive { name="bios2mds"; version="1.2.2"; sha256="1avzkbk91b7ifjba5zby5r2yw5mibf2wv05a4nj27gwxfwrr21cd"; depends=[amap e1071 scales cluster rgl]; };
-  BioStatR = derive { name="BioStatR"; version="1.0.4"; sha256="043fakac56kf1mdmwlm8q3hjdxlclissxbkv26y2brqp2sfr01pb"; depends=[]; };
-  biotools = derive { name="biotools"; version="1.2"; sha256="0wiv10qqah6yp5kwsndv48agnvrfl3j04pj0nsyiwyf9nvajxvic"; depends=[rpanel tkrplot MASS boot]; };
-  bipartite = derive { name="bipartite"; version="2.04"; sha256="0rp2j2ip8523jmvgvbnj56q49yazwz2wqyqc0l00flvp4920svf0"; depends=[vegan sna fields igraph MASS permute]; };
-  biplotbootGUI = derive { name="biplotbootGUI"; version="1.0"; sha256="0pgm31nhh1b78a8ciqjxw7gf3j7hh9wjc3myj29jpl92flbqmsw0"; depends=[rgl tkrplot vegan tcltk2]; };
-  BIPOD = derive { name="BIPOD"; version="0.2.1"; sha256="04r58gzk3hldbn115j9ik4bclzz5xb2i3x6b90m2w9sq7ymn3zg1"; depends=[Rcpp]; };
-  birdring = derive { name="birdring"; version="1.1"; sha256="0j24s1vwf848bpswphzf0liyyda9rknh03gnqpflk66imxkbvgxc"; depends=[geosphere ks lazyData raster rgdal rgeos rworldmap rworldxtra sp]; };
-  birk = derive { name="birk"; version="1.0"; sha256="09arzwpgcanp6cds70rr7qnpnva0fag88k1gg9yhg4k0yvbhqdbd"; depends=[]; };
-  bisectr = derive { name="bisectr"; version="0.1.0"; sha256="1vjsjshvzj66qqzg32rviklqswrb00jyq6vwrywg1hpqhf4kisv7"; depends=[devtools]; };
-  BiSEp = derive { name="BiSEp"; version="1.0"; sha256="1iw3ask3gpjhx0gnjgl3402fygi7bnsrha6dfxfsmyzz94im352x"; depends=[mclust]; };
-  bisoreg = derive { name="bisoreg"; version="1.1"; sha256="16d6nxbj18y6wv57nxbmwv0gypsgf7hw76hsyv0fhydrkf404igb"; depends=[bootstrap monreg R2WinBUGS coda]; };
-  bit = derive { name="bit"; version="1.1-12"; sha256="0a6ig6nnjzq80r2ll4hc74za3xwzbzig6wlyb4dby0knzf3iqa6f"; depends=[]; };
-  bit64 = derive { name="bit64"; version="0.9-4"; sha256="1w734l5ayr7w17a3gk2kmkqwz7v5jm830kfhyqmnd15i816lnjb9"; depends=[bit]; };
-  bitops = derive { name="bitops"; version="1.0-6"; sha256="176nr5wpnkavn5z0yy9f7d47l37ndnn2w3gv854xav8nnybi6wwv"; depends=[]; };
-  bivarRIpower = derive { name="bivarRIpower"; version="1.2"; sha256="0vgi0476rwali6k8bkp317jawzq5pf04v75xmycpmadb7drnpzy0"; depends=[]; };
-  biwavelet = derive { name="biwavelet"; version="0.17.3"; sha256="08lj0v53l9s12pssy3hgzys988w3y490nab7js655ljs825d2lpc"; depends=[fields]; };
-  biwt = derive { name="biwt"; version="1.0"; sha256="1mb3x8ky3x8j4n8d859i7byyjyfzq035i674b2dmdca6mn7paa14"; depends=[rrcov MASS]; };
-  bizdays = derive { name="bizdays"; version="0.1.5"; sha256="0y25sm77chk77s4wdb5a4r583ks44mpny9w8c8azbx7nhcvfb4yq"; depends=[]; };
-  BlakerCI = derive { name="BlakerCI"; version="1.0-4"; sha256="1sa9qq5frjjcw46p3ankn7v3gj0gwn9lww6jacz8flf5qpplhn4l"; depends=[]; };
-  Blaunet = derive { name="Blaunet"; version="1.0.1"; sha256="1qcp5wag4081pcjg5paryxz3hk3rqql15v891ppqc1injni7rljz"; depends=[network]; };
-  BLCOP = derive { name="BLCOP"; version="0.2.8"; sha256="1x4dq7ri23wyhdz4hb80iqwwfijg8a3bj0nqgh4rvrwwdjx96ikv"; depends=[MASS quadprog]; };
-  blender = derive { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; };
-  blighty = derive { name="blighty"; version="3.1-4"; sha256="1fkz3vfcnciy6rfybddcp5j744dcsdpmf7cln2jky0krag8pjzpn"; depends=[]; };
-  blkergm = derive { name="blkergm"; version="1.0"; sha256="00xqmqn7y3vwygfx2v6kqm52n96vxlip2yk09gf30cqn2p3b6sck"; depends=[ergm ergm_userterms]; };
-  blm = derive { name="blm"; version="2013.2.4.4"; sha256="1w6c30cq38j4i1q4hjg12l70mhy5viw886l1lsnxyvniy113in4i"; depends=[]; };
-  blme = derive { name="blme"; version="1.0-2"; sha256="11m98j9xr6w0hfcss4bbx2aa34gnc5p9if9r8ilw9ify18by77np"; depends=[lme4]; };
-  blockcluster = derive { name="blockcluster"; version="3.0.1"; sha256="1lxm20f8dhxfnm13j08sj7h3sfwc8limyqn8n87c3kl87066gdaq"; depends=[Rcpp]; };
-  blockmatrix = derive { name="blockmatrix"; version="1.0"; sha256="14k69ly4i8pb8z59005kaf5rpv611kk1mk96q6piyn1gz1s6sk6r"; depends=[]; };
-  BlockMessage = derive { name="BlockMessage"; version="1.0"; sha256="1jrcb9j1ikbpw098gqbcj29yhffa15xav90y6vpginmhbfpwlbf4"; depends=[]; };
-  blockmodeling = derive { name="blockmodeling"; version="0.1.8"; sha256="0x71w1kysj9x6v6vsirq0nndsf6f3wzkf8pbsq3x68sf4cdji1xl"; depends=[]; };
-  blockrand = derive { name="blockrand"; version="1.3"; sha256="1090vb26w6s7iqjcal0xbb3qb6p6j46a5w25f1wjdppd1spvh7f9"; depends=[]; };
-  blockTools = derive { name="blockTools"; version="0.6-1"; sha256="10f2rkailk0bvg5hj9hxy0p3snknbpvsydx3cpsy0n6y5srwhrfr"; depends=[MASS]; };
-  blowtorch = derive { name="blowtorch"; version="1.0.1"; sha256="19z2z2alq5lr3f4nmjzpmyxssxalwfkm437bsjnzyf0r3zvycy9c"; depends=[ggplot2 foreach iterators]; };
-  BLR = derive { name="BLR"; version="1.3"; sha256="02p29p06vhh8gxkfnqdf9niq09bygshmiipvd3q19k92g0a10l69"; depends=[SuppDists]; };
-  BMA = derive { name="BMA"; version="3.17.1"; sha256="0lq42qn82969vhk2vdyxb1d7lrqqgp8793m9rlzgg011c6b38qam"; depends=[survival leaps robustbase]; };
-  BMAmevt = derive { name="BMAmevt"; version="1.0"; sha256="0cy3h81xd1jjg7fdwndb5az67cp7kn1wp87p17za8506vyxj1pa0"; depends=[coda]; };
-  bmd = derive { name="bmd"; version="0.5"; sha256="0d4wxyymycb416sdn272292l70s1h2m5kv568vakx3rbvb8y6agy"; depends=[drc]; };
-  bmem = derive { name="bmem"; version="1.5"; sha256="1miiki743rraralk9dp12dsjjajj3iizcrfwmplf6xas6pl8sfk6"; depends=[Amelia MASS lavaan sem snowfall]; };
-  BMhyd = derive { name="BMhyd"; version="1.2-2"; sha256="09gb1pq9y3gq9avpaqrlxdsm9iqsxpbnr0bg2mw1vkhc0d5z8zv7"; depends=[corpcor numDeriv]; };
-  Bmix = derive { name="Bmix"; version="0.3"; sha256="0p3ks3miniz356spmdikynwa7yrdk1mwlpz081fnkjnwxa3kdsw7"; depends=[mvtnorm]; };
-  bmk = derive { name="bmk"; version="1.0"; sha256="1wxkrlrhmsxsiraj8nyiax9bqs834ln2swykmpf40wxspkykgfdq"; depends=[coda plyr functional]; };
-  bmmix = derive { name="bmmix"; version="0.1-2"; sha256="00php2pgpnm9n0mnamchi6a3dgaa97kdz2ynivrf38s0vca7fqx8"; depends=[ggplot2 reshape2]; };
-  BMN = derive { name="BMN"; version="1.02"; sha256="12gyq01cn6a9ixqgki1ihx5jrp2gw6jdj7q210rb12xlvj3p6x7w"; depends=[]; };
-  bmp = derive { name="bmp"; version="0.2"; sha256="059ps1sy02b22xs138ba99fkxq92vzgfbyf2z5pyxwzszahgy869"; depends=[]; };
-  bmrm = derive { name="bmrm"; version="1.8"; sha256="1kw9i84v5larzy79aghp08760krp29xlwrjg4mh9fsa9nl9wxqda"; depends=[clpAPI kernlab]; };
-  BMS = derive { name="BMS"; version="0.3.3"; sha256="1yj9vi8jvhkwpcjkclf0zbah0dayridklpj65ay6r18fyf4crnd2"; depends=[]; };
-  bnlearn = derive { name="bnlearn"; version="3.6"; sha256="0q5w5lsjgr7lgfgb7yhybq5ixaps2p91gx19l6dg2xlxw2m5fnab"; depends=[]; };
-  BNPdensity = derive { name="BNPdensity"; version="2013.8"; sha256="1qlhav764ji289kcibbmqjj62mmxiw3zsiwjz1gkifzgpmzyar85"; depends=[]; };
-  bnpmr = derive { name="bnpmr"; version="1.1"; sha256="0hvwkdbs2p2l0iw0425nca614qy3gsqfq4mifipy98yxxvgh8qgc"; depends=[]; };
-  boa = derive { name="boa"; version="1.1.7-2"; sha256="1n7i0i8jq2sa1kzhbgyqzl9d53wja7fsxd7rligc8xjm0sdsb386"; depends=[]; };
-  BOG = derive { name="BOG"; version="1.1"; sha256="0lr2n4j32b7qzmyb2048kssc7sbchivhi2a8skmahhjl85jgy166"; depends=[hash DIME]; };
-  boilerpipeR = derive { name="boilerpipeR"; version="1.2"; sha256="00r8rlwx9qkfqk8x0mcskklz3skvnmcc55r9pd9rqxz7sp7s71h5"; depends=[rJava]; };
-  bold = derive { name="bold"; version="0.1.2"; sha256="0fjsnn9iqvlhgq9l5r17l5125arlsaz68pgd3b9i7596767zm1f2"; depends=[XML httr stringr assertthat]; };
-  Bolstad = derive { name="Bolstad"; version="0.2-25"; sha256="1dj0ib3jndnsdx2cqsy0dz54szdx1xq3r2xqnxzk4ysng6svdym8"; depends=[]; };
-  Bolstad2 = derive { name="Bolstad2"; version="1.0-28"; sha256="08cfadvl9jl9278ilsf8cm2i2a3i8zsa2f3vjzw2nlv85fwi2c7v"; depends=[]; };
-  boolean3 = derive { name="boolean3"; version="3.1.5"; sha256="0ayjiff1mv7mvzfbqlxryg3vmmq85a63yslw4rk04awh5k4kpr88"; depends=[optimx numDeriv lattice rgenoud mvtnorm rlecuyer]; };
-  BoolNet = derive { name="BoolNet"; version="2.0"; sha256="1zg6knqdmcx1wv6i72fpyh86jjkhb9k0xplaczcxfx2f294y4bfr"; depends=[]; };
-  Boom = derive { name="Boom"; version="0.1"; sha256="03xsfzfl1wvhbd6d1blhwx4dd0vpf7kaha2f50p6q17q6c1ph2vv"; depends=[MASS]; };
-  BoomSpikeSlab = derive { name="BoomSpikeSlab"; version="0.4.1"; sha256="0s0pbb5dmry736x19li5g364kirvhkhpyjm5q0kp5nvq83bi1hq0"; depends=[Boom]; };
-  boostr = derive { name="boostr"; version="1.0.0"; sha256="123ag8m042i1dhd4i5pqayqxbkfdj4z0kq2fyhxfy92a7550gib2"; depends=[foreach iterators stringr]; };
-  boostSeq = derive { name="boostSeq"; version="1.0"; sha256="0sikyzhn1i6f6n7jnk1kb82j0x72rj8g5cimp2qx3fxz33i0asx6"; depends=[genetics lpSolveAPI]; };
-  boot = derive { name="boot"; version="1.3-11"; sha256="0s8v5mpyz2pqmm0kk8qkjiqr3wb1j1mqazx5hgsdabq6ga85ah8j"; depends=[]; };
-  bootES = derive { name="bootES"; version="1.01"; sha256="00y901d5cjdpzras5w6mv851h5zgp36m5ib6dazs4vqrfpqymva8"; depends=[boot]; };
-  bootfs = derive { name="bootfs"; version="1.4.2"; sha256="1qac7v0yzhxzqbdhkpgb4z1gqr6v6hjyb2y5lsxlq5dg1ka1cnb0"; depends=[pROC igraph ROCR gbm colorRamps gplots gtools pamr randomForest Boruta caret tgp mlegp penalizedSVM]; };
-  bootLR = derive { name="bootLR"; version="0.9"; sha256="0p4hq8nfdd8jw8r8dmlb6va4g7jjnkbsah69hissa9lqawbj9pi7"; depends=[boot]; };
-  BootPR = derive { name="BootPR"; version="0.60"; sha256="03zw7hz4gyhp6iq3sb03pc5k2fhvrpkspzi22zks25s1l7mq51bi"; depends=[]; };
-  bootRes = derive { name="bootRes"; version="1.2.3"; sha256="0bb7w6wyp9wjrrdcyd3wh44f5sgdj07p5sz5anhdnm97rn1ib6dz"; depends=[]; };
-  bootruin = derive { name="bootruin"; version="1.2-1"; sha256="1ii1fcj8sn9x82w23yfzxkgngrgsncnyrik4gcqn6kv7sl58f4r3"; depends=[]; };
-  bootspecdens = derive { name="bootspecdens"; version="3.0"; sha256="0hnxhfsc3ac4153lrjlxan8xi4sg1glwb5947ps6pkkyhixm0kc1"; depends=[MASS]; };
-  bootStepAIC = derive { name="bootStepAIC"; version="1.2-0"; sha256="0p6v4zjsaj1p6c678010fazdh40lpv0rvhczd1halj8aic98avdx"; depends=[MASS]; };
-  bootstrap = derive { name="bootstrap"; version="2014.4"; sha256="1kf5jml03yfqz2868jbnjvy839x09ml0niyq85va503pq8gmj5br"; depends=[]; };
-  bootSVD = derive { name="bootSVD"; version="0.1"; sha256="1rzwp8kadyc0dg6lscag586xliapp1ninz7qxczl8jmxa9sx9z89"; depends=[]; };
-  Boruta = derive { name="Boruta"; version="3.1.0"; sha256="0dmg8yyx6bb5s6glqsajk0qqf6xwb8qzwi6gbi5agd3i57xm8nak"; depends=[randomForest rFerns]; };
-  boss = derive { name="boss"; version="2.1"; sha256="1knsnf19b1xvvq20pjiv56anbnk0d51aq6z3ikhi8y92ijkzh0y8"; depends=[lme4 geepack Matrix ncdf]; };
-  BoSSA = derive { name="BoSSA"; version="1.2"; sha256="0rvb6y7jwy0nmjvnpkim09fdph5kazg8cr0jchnz1s46n16gvc96"; depends=[ape SoDA]; };
-  boussinesq = derive { name="boussinesq"; version="1.0.3"; sha256="1j1jarc3j5rby1wvj1raj779c1ka5w68z7v3q8xhzjcaccrjhzxk"; depends=[]; };
-  boxplotdbl = derive { name="boxplotdbl"; version="1.2.2"; sha256="01bvp6vjnlhc4lndxwd705bzlsh7zq0i9v66mxszrcz6v8hb9rwi"; depends=[]; };
-  bpca = derive { name="bpca"; version="1.2-2"; sha256="05ldz6b2s379mymj8jzvia9x6gj047gwsxvnv3zj9x8b1hvndnd6"; depends=[scatterplot3d rgl]; };
-  bpcp = derive { name="bpcp"; version="1.1.0"; sha256="15dy3bbpazm4g72lwdf925f13a4dpdhi771283564v9f3n7qm3qf"; depends=[]; };
-  bPeaks = derive { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; };
-  bpkde = derive { name="bpkde"; version="1.0-4"; sha256="142wmbs7hm5rs6vfgkg5q1rcc2jvg87kpxc8jbywf620ryycpc5z"; depends=[]; };
-  bqtl = derive { name="bqtl"; version="1.0-30"; sha256="1v1p3wvqm5hmwpnjqaz8vlpzm036gpzpxsvy7m0v4x7nc5vrq7g6"; depends=[]; };
-  BradleyTerry2 = derive { name="BradleyTerry2"; version="1.0-5"; sha256="131z9ccfh55inlczy5wnzni2pch4brs6nzjrg8f5xnvkpyy6jqsp"; depends=[lme4 brglm gtools]; };
-  BrailleR = derive { name="BrailleR"; version="0.9"; sha256="11aygays2f3qy6z8x8srs9d7saggqpcamns36f7dbcc94b84aqkj"; depends=[]; };
-  brainR = derive { name="brainR"; version="1.2"; sha256="1515v6kk73p4s3vrnkpkilfxfyqrf7b762sq6j364ygsyfybvh2z"; depends=[rgl misc3d oro_nifti]; };
-  brainwaver = derive { name="brainwaver"; version="1.6"; sha256="0r79dpd9bbbn34rm29512srzj3m29qgvbryvrp1mwv8mmcsh6ij6"; depends=[waveslim]; };
-  branchLars = derive { name="branchLars"; version="1.0"; sha256="1adk9j77ynv7y8q04nvb468ik4nq4ff3j2nbxw596kgg5bg1ymz0"; depends=[lars]; };
-  breakage = derive { name="breakage"; version="1.0-1"; sha256="1zn0hxkz4zqhrfny75gkp2sgc0fs4v3y940aw32fmjh4j8kl3n4j"; depends=[Imap]; };
-  breakaway = derive { name="breakaway"; version="1.0"; sha256="1agigb3b2ff1p9lx9ndz4hs1sgyv1g2zjb41l5p23370i5gk1nbn"; depends=[]; };
-  breakpoint = derive { name="breakpoint"; version="1.0"; sha256="0clmrad4ycpi0rxrvkh4agwixdayypjdnk3lfyb5g2w2hngrxv73"; depends=[ggplot2 foreach]; };
-  bReeze = derive { name="bReeze"; version="0.3-2"; sha256="1k5xc3ymi53pib4hpgy9x6s5c6dvw5v1xrqyiqmbzx2djfw65dr5"; depends=[RColorBrewer]; };
-  brew = derive { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; };
-  brglm = derive { name="brglm"; version="0.5-9"; sha256="14hxjamxyd0npak8wyfmmb17qclj5f86wz2y9qq3gbyi2s1bqw2v"; depends=[profileModel]; };
-  bride = derive { name="bride"; version="1.3"; sha256="03k9jwklg1l8sqyjfh914570880ii0qb5dd9l0bg0d0qrghbj0rk"; depends=[]; };
-  brnn = derive { name="brnn"; version="0.3"; sha256="0fpmjmxzcsxqv3vfy568r7js0zpydh2q70vw2s8yki2jzxl4gsl9"; depends=[Formula]; };
-  Brobdingnag = derive { name="Brobdingnag"; version="1.2-4"; sha256="1saxa492f32f511vw0ys55z3kgyzhswxkylw9k9ccl87zgbszf3a"; depends=[]; };
-  broman = derive { name="broman"; version="0.48-2"; sha256="0w3fxs753ds2d4vzz7mck3cdjh4d1mjbwdbzqkb2rxdx5l4w2jp8"; depends=[assertthat]; };
-  Brq = derive { name="Brq"; version="1.0"; sha256="0m01qw0mh9za1gx1vkbyvwny4k5fvmvs9dbp0504q8jqfqf4l1vj"; depends=[quantreg truncnorm]; };
-  BRugs = derive { name="BRugs"; version="0.8-3"; sha256="1qjwm6qizg70nvpl5p2yx65ynghazchqw7d2iadhdjz7dd293sqi"; depends=[coda]; };
-  BSagri = derive { name="BSagri"; version="0.1-8"; sha256="148pr4lkgdi4bwc9lavgj356nh240iazz28xklq14rw4gzhmz2k4"; depends=[gamlss multcomp MCPAN mvtnorm boot mratios]; };
-  BSDA = derive { name="BSDA"; version="1.01"; sha256="06mgmwwh56bj27wdya8ln9mr3v5gb6fcca7v9s256k64i19z12yi"; depends=[e1071 lattice]; };
-  bshazard = derive { name="bshazard"; version="1.0"; sha256="151c63pyapddc4z77bgkhmd7rsa1jl47x8s2n2s8yc6alwmj6dvs"; depends=[survival Epi]; };
-  BsMD = derive { name="BsMD"; version="2013.0718"; sha256="1yvazqlbmm221r7nkhrhi309gkk6vx7ji5xlvf07klya2zg20gcj"; depends=[]; };
-  bspec = derive { name="bspec"; version="1.4"; sha256="1iq66hx4d0f5pvsh6qcsd2kzm913aqil4w66bfshj192fwbfziix"; depends=[]; };
-  bspmma = derive { name="bspmma"; version="0.1-1"; sha256="0bd6221rrbxjvabf1lqr9nl9s0qwav47gc56sxdw32pd99j9x5a9"; depends=[]; };
-  BSquare = derive { name="BSquare"; version="1.1"; sha256="1s16307m5gj60nv4m652iisyqi3jw5pmnvar6f52rw1sypfp5n49"; depends=[quadprog quantreg VGAM]; };
-  BSSasymp = derive { name="BSSasymp"; version="1.0-2"; sha256="1m0rssdi4v68sm28x99j5igcl3z2hnlj8f4wx9xxxbj4l6mqy6yv"; depends=[fICA JADE]; };
-  bst = derive { name="bst"; version="0.3-4"; sha256="1s7qv2q9mcgg1c5mhblqg3nk9hary4pq6z0xgi3a6rs1929mgdyf"; depends=[rpart gbm]; };
-  bstats = derive { name="bstats"; version="1.1-11-5"; sha256="15is47404zlcqrniydhxc9ssixnm846spxcfds4cjg9d9x3mdscj"; depends=[]; };
-  bsts = derive { name="bsts"; version="0.5.1"; sha256="0qzyrn8zbfxrplyw04yrcakig6lc1i8fpwl893vbzciyhwmrjlya"; depends=[BoomSpikeSlab zoo xts Boom]; };
-  btf = derive { name="btf"; version="1.1"; sha256="0n1h4hmjpvj97mpvannh3s5l08m4zfv0w64hrgdv4s5808miwfzc"; depends=[Matrix coda]; };
-  BTYD = derive { name="BTYD"; version="2.3"; sha256="032xcy4z3gs4kqn91z7l6anp1vn5j60g32k2h87jx2aymy796cl0"; depends=[gsl Matrix]; };
-  bujar = derive { name="bujar"; version="0.1-4"; sha256="0v48mkg78sy91z1z4xvy2r3xmay74615kzqxjqlclkk20999z56m"; depends=[mda ncvreg mboost gbm earth elasticnet rms]; };
-  BurStFin = derive { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; };
-  BurStMisc = derive { name="BurStMisc"; version="1.00"; sha256="0718a1p7iiqkfhhmnzxggc6hd8sm847n1qh7rfbdl8b0k0bgvnj0"; depends=[]; };
-  bursts = derive { name="bursts"; version="1.0-1"; sha256="172g09d1vmwl83xs6gr4gfblqmx3apvblpzdr5d7fcw1ybsx0kj6"; depends=[]; };
-  bvenn = derive { name="bvenn"; version="0.1"; sha256="1xrya49w5bd2b7plfxpqla60b2828rkm0rjmc4qnqzvrahsbal0y"; depends=[]; };
-  bvls = derive { name="bvls"; version="1.4"; sha256="18aaf7kk5mks3a59wwqhm1ckpn6s704l9m5nzy0x5iw0s98ijbm2"; depends=[]; };
-  bvpSolve = derive { name="bvpSolve"; version="1.2.4"; sha256="1ss25md3q59cm40rxw29x9421xjc7gd964hx9xwvx4h8dis34rgd"; depends=[rootSolve deSolve]; };
-  BVS = derive { name="BVS"; version="4.12.1"; sha256="111g61bpwh80v6gy44q087swcrnnnzdcibm22pzzi9jsfphy6l0c"; depends=[MASS msm haplo_stats]; };
-  c060 = derive { name="c060"; version="0.2-3"; sha256="1lynkmdlqi41szrpqqa79d5i65lindqgi0dwqpvvw94yjnbnm6b3"; depends=[glmnet survival mlegp tgp peperr penalizedSVM lattice]; };
-  c3net = derive { name="c3net"; version="1.1.1"; sha256="0m4nvrs41kmlakc6m203zlncqwgj94wns8kzcb31xngjcacmcq42"; depends=[igraph]; };
-  C50 = derive { name="C50"; version="0.1.0-19"; sha256="1x8a284w1fffvvd7mx3xn1i7sr266wq7j6k0d0v8rln2fwilkd07"; depends=[]; };
-  ca = derive { name="ca"; version="0.55"; sha256="1mk6hias079ys4khlq0mb4z80mcqhml2n8fdiyfcxy61vj522yb8"; depends=[]; };
-  cabootcrs = derive { name="cabootcrs"; version="1.0"; sha256="0a6y04jq837k1pk8b9nhgz7rima7s8jid6vdjyfvrqshgaiabg1q"; depends=[]; };
-  cacher = derive { name="cacher"; version="1.1-2"; sha256="17zw30mpi1vrgk1jsxqpw2id3k78rrs6i55kq0yl64aikmq91c0v"; depends=[]; };
-  cacheSweave = derive { name="cacheSweave"; version="0.6-1"; sha256="0w30ryd24x2z204k8j41knayq3ax4b5zf0ai1andgdzjvf5jmmas"; depends=[filehash stashR digest]; };
-  cacIRT = derive { name="cacIRT"; version="1.3"; sha256="1qd9qw47d9dmxhnva3ik62q5rfcw0pd1ha1y689345nl05wysjkh"; depends=[]; };
-  CaDENCE = derive { name="CaDENCE"; version="1.2.1"; sha256="1l6mqra36syvpg9aqh4p6ndj3yj50rabx8hh788zpy4n57m5lpv7"; depends=[]; };
-  CADFtest = derive { name="CADFtest"; version="0.3-2"; sha256="00nsnzgjwkif7mbrw7msswjxhi9aysjdx3qg3i4mdmj1rmp7c4dc"; depends=[dynlm sandwich tseries urca]; };
-  cAIC4 = derive { name="cAIC4"; version="0.2"; sha256="13sp3wywv82wgi1vsbxwn68v9xigy0fi3mcwyxjmmgmnsxns2fza"; depends=[lme4 Matrix]; };
-  Cairo = derive { name="Cairo"; version="1.5-6"; sha256="0x5xd2xq5q8a3kzmz7f9bawg3j131rhyb3s7w34acg7rd79l1935"; depends=[]; };
-  cairoDevice = derive { name="cairoDevice"; version="2.20"; sha256="1v9sdv35a1sl42gsz1y9jw1p6fr19yny07cc2pwmcrb4vs5lhysf"; depends=[]; };
-  CALIBERrfimpute = derive { name="CALIBERrfimpute"; version="0.1-6"; sha256="036nwnday098mawc9qlgl3jjjcdjnja1immg6xkq27hvv2xfbz82"; depends=[mice mvtnorm randomForest]; };
-  calibrate = derive { name="calibrate"; version="1.7.2"; sha256="010nb1nb9y7zhw2k6d2i2drwy5brp7b83mjj2w7i3wjp9xb6l1kq"; depends=[MASS]; };
-  calibrator = derive { name="calibrator"; version="1.2-6"; sha256="1arprrqmczbhc1gl85fh37cwpcky8vvqdh6zfza3hy21pn21i4kh"; depends=[emulator cubature]; };
-  CALINE3 = derive { name="CALINE3"; version="1.0-2"; sha256="07w1kb7wqdi1qslpvpmqcmq6da4h7sgwv3aih4brdprym61c3rkm"; depends=[]; };
-  calmate = derive { name="calmate"; version="0.11.0"; sha256="1zy836nk607ra67q0x7yc4czkcn9ffzlipzhr4mhjk6l5d8sys2q"; depends=[R_utils aroma_core MASS R_methodsS3 R_oo matrixStats R_filesets]; };
-  CAMAN = derive { name="CAMAN"; version="0.71"; sha256="1pfdypzj0s1nrlyzlam7pprggiriksfdri5xpmm43gmx3bybx8zb"; depends=[sp mvtnorm]; };
-  camel = derive { name="camel"; version="0.2.0"; sha256="0krilird8j69zbll96k46pcys4gfkcnkisww138wslwbicl52334"; depends=[lattice igraph MASS Matrix]; };
-  cancerTiming = derive { name="cancerTiming"; version="2.0.0"; sha256="0p5hxzhql2rlyx334d8km676va50ql73kxsqjr15q80z7zffyq9d"; depends=[LearnBayes]; };
-  candisc = derive { name="candisc"; version="0.6-5"; sha256="0rbmfyhnyaq1j7sql2sgi47ahrggbb71z2z5pw2gg16kd2f465qk"; depends=[car heplots]; };
-  cape = derive { name="cape"; version="1.2"; sha256="01bh8lngp346w6pjvbw4jllbr8f9f8ypsxv6c9p6zv5l7w5yzri8"; depends=[corpcor evd qpcR Matrix igraph fdrtool]; };
-  caper = derive { name="caper"; version="0.5.2"; sha256="1l773sxmh1nyxlrjz8brnwhwraff826scwixrqmgdciqk7046d35"; depends=[ape MASS mvtnorm]; };
-  capm = derive { name="capm"; version="0.5"; sha256="1pal7v965zyl52fivdqn30w570gvhxjsnafml6jz16x4kszw5jar"; depends=[deSolve FME survey ggplot2 reshape2 shiny rgdal maptools sp]; };
-  capme = derive { name="capme"; version="1.3"; sha256="0d4acwp4y8djcry8gr34dx3h8bn8sj3z2di5zl9657czw5289zm8"; depends=[lpSolve]; };
-  capushe = derive { name="capushe"; version="1.0"; sha256="0dwxaiqnz0qbsk4icjapklaa9bpjfl4gqvk1f92livy97jmf1r44"; depends=[MASS]; };
-  capwire = derive { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; };
-  car = derive { name="car"; version="2.0-20"; sha256="0dbq3ndw9srrf7pp7wl8gj7cwcgggnjh4i6c9aqmrap7wnaa14fb"; depends=[MASS nnet]; };
-  CARBayes = derive { name="CARBayes"; version="3.0"; sha256="0wflay6k159cw8149qb4ib1mlpsbgddlbkiyfxd4qz3vwl06dg3q"; depends=[MASS Rcpp truncdist spam coda]; };
-  CARBayesST = derive { name="CARBayesST"; version="1.0"; sha256="1mn2g9i39pzq0jvz1qml41mf1bj6qx3cp5c3hszgm8vbamc2a1xx"; depends=[Rcpp truncdist coda]; };
-  carcass = derive { name="carcass"; version="1.2"; sha256="104lpqs65h9z8d3bl0m1f30anadk9hq4sg2ahgppm5n3d4yhcdl5"; depends=[lme4 survival expm arm]; };
-  cardidates = derive { name="cardidates"; version="0.4.5"; sha256="1zw8c8jiq8bz748xppwj88z1882qk7k2r0k2gkrsvw7b6c9h35pb"; depends=[boot pastecs]; };
-  care = derive { name="care"; version="1.1.5"; sha256="1gvx4a88ci7428sxna74jxfi8ykzjgnarc18mvm8h3mk7i03r4mj"; depends=[corpcor]; };
-  CARE1 = derive { name="CARE1"; version="1.1.0"; sha256="1zwl4zv60mrzlzfgd7n37jjlr0j918a8ji36n94s5xw8wwipiznw"; depends=[]; };
-  caret = derive { name="caret"; version="6.0-30"; sha256="11298kqidv69zfaqzf7px539dchvkk64ilxy8k55nx37pn665v01"; depends=[lattice ggplot2 car reshape2 foreach plyr nlme BradleyTerry2]; };
-  caribou = derive { name="caribou"; version="1.1"; sha256="0ibl3jhvsgjfcva0113z0di9n5n30bs90yz0scckfv1c0pjhn4xd"; depends=[]; };
-  CarletonStats = derive { name="CarletonStats"; version="1.1"; sha256="18pd1hi8bnbv0sdixw746xvdg9szvng422yj12mk0k50v60403xg"; depends=[]; };
-  caroline = derive { name="caroline"; version="0.7.6"; sha256="1afxxbrd7w628l4pxdmvwbs7mbgxlhnfq3nxk2s93w47gn7r9fp7"; depends=[]; };
-  CARramps = derive { name="CARramps"; version="0.1.2"; sha256="097xxvql6qglk6x4yi7xsvr15n0yj21613zv003z0mhgvqr1n5vf"; depends=[]; };
-  CARrampsOcl = derive { name="CARrampsOcl"; version="0.1.4"; sha256="1sdrir7h7xl1imipm9b71vca062dxqsqd8mg3w9f3s80x2aghxl8"; depends=[OpenCL fields]; };
-  caschrono = derive { name="caschrono"; version="1.4"; sha256="1l9hmsacynh73kh14jrp7a42385v78znn9ll1jchzgkyz2x4dibw"; depends=[forecast Hmisc its timeSeries]; };
-  caseMatch = derive { name="caseMatch"; version="1.0"; sha256="1nq1ca59akdsp1a5j3y252zy3fcw5908a7k83k93gjy7j1m7q6f8"; depends=[]; };
-  cat = derive { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; };
-  catdata = derive { name="catdata"; version="1.2"; sha256="0907sr7kjlr47sxaxvkk3za5j2rn6zvckkgjc9inr5hrn5nv5hsv"; depends=[MASS]; };
-  CatDyn = derive { name="CatDyn"; version="1.0-5"; sha256="1syc40256104nm8n7h5b7w3ia2iya0y47p1sdxk8g1dy4l5wnalm"; depends=[optimx BB]; };
-  catenary = derive { name="catenary"; version="1.1"; sha256="0khdk61fh8ngr70qf9i2655h5nblj98r8zl724ljv1cjb5x1vphv"; depends=[ggplot2 boot]; };
-  cati = derive { name="cati"; version="0.8"; sha256="0kz58dyq5jacf2w2nvhyh3dvk0vgcrm7fjfirywykbrbh5srfw2a"; depends=[nlme ade4 ape e1071 mice rasterVis hypervolume]; };
-  catIrt = derive { name="catIrt"; version="0.4-2"; sha256="1s6r85ylznhsf4wwlf2rlyhfp5p84lkp0mxpg1p9bwrqnhahygmk"; depends=[numDeriv sfsmisc]; };
-  catnet = derive { name="catnet"; version="1.14.3"; sha256="099vxi3fy5y4w635mqmbzsyqiswsw76kz3l5vgg8ckrj1cqshh5z"; depends=[]; };
-  caTools = derive { name="caTools"; version="1.17"; sha256="00jgbna2dm99y5hwk3y28ng2w2c0vxrx4rlz6mhd15z4lsdx1ys6"; depends=[bitops]; };
-  catR = derive { name="catR"; version="3.1"; sha256="03mp0gmzjdxy5ashlir3l6id5r7iw9mvmwvi12jg2byggm5blby3"; depends=[]; };
-  catspec = derive { name="catspec"; version="0.97"; sha256="1crry0vg2ijahkq9msbkqknljx6vnx2m88bmy34p9vb170g9dbs1"; depends=[]; };
-  CausalGAM = derive { name="CausalGAM"; version="0.1-3"; sha256="0g68m2kxixwr7rx65r57m1n0qa161igc428zh9rj91fg6h4pdq4w"; depends=[gam]; };
-  causalsens = derive { name="causalsens"; version="0.1"; sha256="1v72zjplsa073f92qdza1zvwa1fwxlpmh8f6w5z8qcyiwqcbmifr"; depends=[]; };
-  Causata = derive { name="Causata"; version="4.2-0"; sha256="04lndjy4rdf063z75zv42b000z06ffnr91pv2sql1ks6w60zmh1m"; depends=[XML R_utils rjson RMySQL RCurl stringr yaml boot foreach data_table glmnet ggplot2]; };
-  CAvariants = derive { name="CAvariants"; version="2.1"; sha256="105bj6r6i7xz95lr5g4ld9xfgyq1dn15lw117jivx76z3k2zpi59"; depends=[]; };
-  cba = derive { name="cba"; version="0.2-14"; sha256="067rm1rfz0rrq8xkzibd81pwvc9rx7ki46bncim4j5ra6i9pn24n"; depends=[proxy]; };
-  CBPS = derive { name="CBPS"; version="0.8"; sha256="0a619sgr4iv66y16a7bfywxhniaxsrixr6pqwn88hj0j0k5b312i"; depends=[MASS MatchIt nnet numDeriv]; };
-  CCA = derive { name="CCA"; version="1.2"; sha256="00zy6bln22qshhlll0y0adnvb8wa1f7famqyws71b6pcnwxki5ha"; depends=[fda fields]; };
-  CCAGFA = derive { name="CCAGFA"; version="1.0.3"; sha256="1qicxrrwwd9il894v11lmmf4i88j72nyqm3z8iz9f7m17l9yiwwf"; depends=[]; };
-  ccaPP = derive { name="ccaPP"; version="0.3.0"; sha256="1wj5yij02372xarhvxsnh43v0l6xb2p8rflmskw6x86vpcdqd6zw"; depends=[Rcpp pcaPP robustbase RcppArmadillo]; };
-  cccd = derive { name="cccd"; version="1.04"; sha256="0mhqv9hzvw3w6wp23kvw4py54ij6x9r19b87i97wwgqr5rhhh1f3"; depends=[igraph plotrix proxy]; };
-  ccChooser = derive { name="ccChooser"; version="0.2.6"; sha256="1vgp4zhg46hcf9ma2cmwgnfrqkmq1arh0ahyzjpfk3817vh7disc"; depends=[cluster]; };
-  cccrm = derive { name="cccrm"; version="1.1"; sha256="0q7vxzj3lblz5ddgzm8z99k0b0z194963hx96bbkqm4rv705dgb0"; depends=[nlme gdata]; };
-  ccda = derive { name="ccda"; version="1.0"; sha256="13wxzwpld55rbpbslrgm2f7gamvkbmkaic7xrp1nn4l3lvg236dy"; depends=[MASS]; };
-  ccgarch = derive { name="ccgarch"; version="0.2.3"; sha256="0angffla3sk9i86v6bbsav95fp3mz5yvq7qfv0fx2v0nd2cx116w"; depends=[]; };
-  cclust = derive { name="cclust"; version="0.6-18"; sha256="1lyk205i6q0s194r4l575l531c60kdql6p8aqhjjfkjfhczh5hq3"; depends=[]; };
-  CCM = derive { name="CCM"; version="1.1"; sha256="0gya1109w61ia6cq3jg2z5gmvjkv9xg71l2rxhrrf6bx1c2nsrq6"; depends=[]; };
-  CCMnet = derive { name="CCMnet"; version="0.0-2"; sha256="1x5xjnnyr31yq9cgqfrvg71x7mmc2c54r59fv0az49njh3yg3vja"; depends=[sna network ergm]; };
-  CCP = derive { name="CCP"; version="1.1"; sha256="07jxh33pb8llk1gx4rc80ppi35z8y1gwsf19zrca9w91aahcs8cx"; depends=[]; };
-  CCpop = derive { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; };
-  CCTpack = derive { name="CCTpack"; version="1.2"; sha256="13350yqfj8fdmlhi2il0jvjfa58q6xrjw6jjwnla0y0kh1hgycb3"; depends=[R2jags rjags psych mvtnorm polycor MASS]; };
-  cda = derive { name="cda"; version="1.5.1"; sha256="09a2jb25219hq6if3bx03lsp94rp2ll9g73dhkdi665y7rlhgqwh"; depends=[dielectric Rcpp statmod randtoolbox reshape2 plyr]; };
-  cdb = derive { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; };
-  CDFt = derive { name="CDFt"; version="1.0.1"; sha256="0sc8ga48l3vvqfjq3ak5j1y27hgr5dw61wp0w5jpwzjz22jzqbap"; depends=[]; };
-  CDLasso = derive { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; };
-  CDM = derive { name="CDM"; version="3.3-24"; sha256="1s6bp45b9y80i3ildha2v4zb41rpf0vxrwc7rh38pzalvvyawgq7"; depends=[mvtnorm MASS psych polycor sfsmisc Rcpp]; };
-  CDNmoney = derive { name="CDNmoney"; version="2012.4-1"; sha256="1bnfsygbzdd70m5s9qq7524b1fybdws46axxjbw9dhwqpr8w85id"; depends=[]; };
-  CDVine = derive { name="CDVine"; version="1.2"; sha256="1qfjbzdfz2dydkfw3b0jjma4csn62177j5sgzh6rszf0nifsi97g"; depends=[MASS mvtnorm igraph]; };
-  cec2005benchmark = derive { name="cec2005benchmark"; version="1.0.3"; sha256="1fc833ji557y2vb6snlxh90gz1n7fxjfkwjmdcmasj1sfzaalsjy"; depends=[]; };
-  cec2013 = derive { name="cec2013"; version="0.1-4"; sha256="199r6b1gkay9a7v1x7v2w8xmxmafvizdyb1dkiq3qylsqvhq994d"; depends=[]; };
-  celestial = derive { name="celestial"; version="1.1"; sha256="19yxaa63px9byn5k2k2qr89f5vy73cqb5l4zq4qj1v27g06k5dy7"; depends=[]; };
-  CellularAutomaton = derive { name="CellularAutomaton"; version="1.1-1"; sha256="0kmw2ic161xwalqa63hznic4n4hdz20hsilf2awlcldg7m9si1zd"; depends=[R_oo R_methodsS3]; };
-  cellVolumeDist = derive { name="cellVolumeDist"; version="1.3"; sha256="00hq3nbfbnmg2lhrqd0glkh5ld50fv54ll3q6v875d1lgs44sln1"; depends=[minpack_lm gplots]; };
-  cem = derive { name="cem"; version="1.1.10"; sha256="0lykr7sksii30nk4z8pvn4bdmvhm5952grrsvb63qblazg3b84qc"; depends=[nlme lattice randomForest combinat]; };
-  censNID = derive { name="censNID"; version="0-0-1"; sha256="1ij5ci6nkqf0rq51vyh4jw5sr3y46yndfkjmwl78ppdj66axxir5"; depends=[]; };
-  censReg = derive { name="censReg"; version="0.5-20"; sha256="15k7iq4275dyah3r47vgxsx6g6mr7ma53lkv6d1n89bczzys72kx"; depends=[maxLik glmmML sandwich miscTools]; };
-  CensRegMod = derive { name="CensRegMod"; version="0.0"; sha256="0vfkyj2mx5l1pmcah8zilxrjlb6iign1by4ydjq8ddk1zyi242sw"; depends=[]; };
-  CePa = derive { name="CePa"; version="0.5"; sha256="1y2q72j8bqx509i62a2x9j40rj5bkpgx4z6fwj05ibazc1441asd"; depends=[igraph snow]; };
-  cepp = derive { name="cepp"; version="1.0"; sha256="0lw3qr0vp0qbg2b62abhi1ady1dwig68m4nzqnjnk3lqxzp0fs8f"; depends=[trust randtoolbox]; };
-  CerioliOutlierDetection = derive { name="CerioliOutlierDetection"; version="1.0.8"; sha256="0n67y7ah496wck9hlrphya9k753gk44v7zgfz4s2a5ii49739zqi"; depends=[robustbase]; };
-  cfa = derive { name="cfa"; version="0.9-3"; sha256="0pl1mxv6jxn3mvlh75gr8as0daklyr7gkh37fcgmn2bwi973sspy"; depends=[]; };
-  CfEstimateQuantiles = derive { name="CfEstimateQuantiles"; version="1.0"; sha256="1qf85pnl81r0ym1mmsrhbshwi4h1iv19a2wjnghbylpjaslgxp6i"; depends=[]; };
-  CFL = derive { name="CFL"; version="0.1"; sha256="1vi1iiyg7qga7knpqgf30zfzy46aqzs8digkv5933lc2xrv03ap1"; depends=[]; };
-  cg = derive { name="cg"; version="1.0-1"; sha256="0qi3xzjwx303b9m1sddyvz1raw78m5gy9bxqy08hyja2gqj8v855"; depends=[Hmisc VGAM MASS lattice survival multcomp nlme]; };
-  cgam = derive { name="cgam"; version="1.1"; sha256="1dy23ix0ll0riqpdqxhf86fmw4m8mgqmp6m1c4nyhwk2z2adxd3k"; depends=[coneproj]; };
-  cgAUC = derive { name="cgAUC"; version="1.1.2"; sha256="1y3q4hmkd6wbn4zjgclla3jif272sn4vv63ijxnfrsylzy02xhln"; depends=[]; };
-  cgdsr = derive { name="cgdsr"; version="1.1.30"; sha256="0c8n2c6gqhk5klrxmmyf77czn2zwmm1f9cbp8n8yrhdcdqminznm"; depends=[R_oo R_methodsS3]; };
-  cggd = derive { name="cggd"; version="0.8"; sha256="06z0mrxxc02parn9vkjv89qq4yqmsccsy319fi6c5iarssyvin1r"; depends=[]; };
-  cgh = derive { name="cgh"; version="1.0-7.1"; sha256="1fgjz43bgnswlyvrm669x697lybq3jyzz4l8ppgxqwxp4p4d2yqn"; depends=[]; };
-  cghFLasso = derive { name="cghFLasso"; version="0.2-1"; sha256="0b1hnjf9g0v47hbz0dy9m6jhcl1ky20yyhhmm8myng2sndcpjsbf"; depends=[]; };
-  cghseg = derive { name="cghseg"; version="1.0.2"; sha256="0nz52wlgpl9r9pa41lz7nzk35fvcn3zr0gyliiw8q1nyxl2m0q1s"; depends=[]; };
-  cgwtools = derive { name="cgwtools"; version="1.1"; sha256="11ryc20iqz0xwpq0cfjy37f6mnyrwvhf7kkf574j0v9fn6zg2jic"; depends=[]; };
-  ChainLadder = derive { name="ChainLadder"; version="0.1.7"; sha256="06jgxhjlvzcgfm7dnzd81ycf1xx7qcyvk5541qmnvniwqppfvm19"; depends=[systemfit Matrix actuar Hmisc statmod reshape2 MASS lattice tweedie]; };
-  changeLOS = derive { name="changeLOS"; version="2.1"; sha256="1bld2phnvcwfpqbkg1ycjci4i4dc4di8gjckbqjp997zyr42nnay"; depends=[survival]; };
-  changepoint = derive { name="changepoint"; version="1.1.5"; sha256="090rak3ydlh92w0mpp2sjjx4m9x33clcs77waj20gzxbq38mqdci"; depends=[zoo]; };
-  ChargeTransport = derive { name="ChargeTransport"; version="1.0.2"; sha256="0mq06ckp3yyj5g1z2sla79fiqdk2nlbclm618frhqcgmq93h0vha"; depends=[]; };
-  CHAT = derive { name="CHAT"; version="1.1"; sha256="1hl4xr4lkvb7r36gcbgax6ipqc3rsvn1r03w7fk9gf9bbyg7bkhg"; depends=[DPpackage]; };
-  CHCN = derive { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; };
-  cheb = derive { name="cheb"; version="0.3"; sha256="0vqkdx7i40w493vr7xywjypr398rjzdk5g410m1yi95cy1nk4mc7"; depends=[]; };
-  chebpol = derive { name="chebpol"; version="1.3-1040"; sha256="13x6li7cs72pnhxxdigg6r9f0nay89hldzh76vp0hi0i2y9vw0dz"; depends=[]; };
-  CheckDigit = derive { name="CheckDigit"; version="0.1-1"; sha256="0091q9f77a0n701n668zaghi6b2k3n2jlb1y91nghijkv32a7d0j"; depends=[]; };
-  checkmate = derive { name="checkmate"; version="1.2"; sha256="0n1qqyzwyxg6ymibxpbr84gg5bnrwfgw9klwyyvlq1bhd3qs3njn"; depends=[]; };
-  cheddar = derive { name="cheddar"; version="0.1-625"; sha256="1qdxid6h7kyja0ac4v6ml2s6vw5lhrlchcz8lbf37gs9bpx6b4jc"; depends=[]; };
-  chemCal = derive { name="chemCal"; version="0.1-34"; sha256="0sn0mhp2d9a9rddfpkiv1pkrmvnv4sy18c1x2ks0lwpaklg78fbs"; depends=[]; };
-  chemometrics = derive { name="chemometrics"; version="1.3.8"; sha256="0vd5p2qhd17hr9psk6pg4jvcadz2pjffkjaffva4spa7m7qpp5ss"; depends=[class e1071 gclus lars MASS mclust nnet pcaPP pls rpart robustbase som]; };
-  ChemometricsWithR = derive { name="ChemometricsWithR"; version="0.1.8"; sha256="084da2hx6agryw7bv6img10pqmsdz2mpihbrj6j081lammrik4fj"; depends=[ChemometricsWithRData MASS pls]; };
-  ChemometricsWithRData = derive { name="ChemometricsWithRData"; version="0.1.3"; sha256="14l1y4md8hxq8gvip5vgg07vcr0d9yyhm5ckhzk8zwprdabn9a10"; depends=[]; };
-  chemosensors = derive { name="chemosensors"; version="0.7.7"; sha256="1yi0d69nxknca3k7pnxppgjaqyzlc1ksxaa7w31favq0xbdw508n"; depends=[pls plyr reshape2 ggplot2 LearnBayes quadprog RColorBrewer]; };
-  ChemoSpec = derive { name="ChemoSpec"; version="2.0-2"; sha256="01zng3nhsynj8kbnk7aisj1803q9svd9n6jnnl0vb82lsb29bfw7"; depends=[pls amap chemometrics robustbase RColorBrewer plyr pcaPP mvtnorm mvoutlier rgl R_utils mclust MASS baseline IDPmisc gsubfn lattice seriation]; };
-  cherry = derive { name="cherry"; version="0.5-10"; sha256="0fs4p5k1lwwlin5fj9z91aw59ybp60phjk293imizg6vpai5h39p"; depends=[bitops lpSolve Matrix]; };
-  chillR = derive { name="chillR"; version="0.54"; sha256="1qcwspww5nvp6nh26ly6ckqd0jzq4fkq5svjj5a55pvk04xk9frs"; depends=[pls Kendall spam fields]; };
-  chipPCR = derive { name="chipPCR"; version="0.0.7"; sha256="0acj8z92zbfv8b14j31h7vlaf8k4w44z8gcg8vcfhxgskfajcwk0"; depends=[MASS outliers ptw quantreg Rfit robustbase shiny signal]; };
-  chngpt = derive { name="chngpt"; version="2014.5-29"; sha256="0i8hz8cixy3fx9cpprraqpadrs835zna8y64irp85xhckdrv9xzv"; depends=[kyotil MASS]; };
-  CHNOSZ = derive { name="CHNOSZ"; version="1.0.3.1"; sha256="0cmirnb8jkaxnscpkwm2a8yyzl9zaf3q323avpgg7fwwhr6c1l19"; depends=[]; };
-  ChoiceModelR = derive { name="ChoiceModelR"; version="1.2"; sha256="0dkp3354gvrn44010s8fjbmkpgn1hpl4xbfs5xslql8sk8rw0n2c"; depends=[]; };
-  choplump = derive { name="choplump"; version="1.0-0.3"; sha256="10nkkcmpay4rcqbkdhlksnxqb177j5bjpsffyy6q5dbl7nf7whx1"; depends=[]; };
-  chords = derive { name="chords"; version="0.67"; sha256="0dj9bbl5abdvvfrn17xxnrnrlvdxw4m841ds37a6pf8dzprs1gdv"; depends=[]; };
-  choroplethr = derive { name="choroplethr"; version="1.7.0"; sha256="1sq518zb6pv1sg7vb7ml4wsfpk1a5a73mcmdz8an1lnwnqbywsmy"; depends=[ggplot2 scales plyr Hmisc acs stringr]; };
-  chromoR = derive { name="chromoR"; version="1.0"; sha256="1x11byr6i89sdk405h6jd2rbvgwrcvqvb112bndv2rh9jnrvcw4z"; depends=[haarfisz gdata]; };
-  chron = derive { name="chron"; version="2.3-45"; sha256="0jkanbisi1bxh35rg0i6sl82f8r9v8va8mf8hknfvwv7p7n3ddpx"; depends=[]; };
-  CHsharp = derive { name="CHsharp"; version="0.3"; sha256="0aa9v6yih6qmqsmc8zsl8k1wqsp3sp2bfwri3d37k06vfj7gwbh0"; depends=[scatterplot3d KernSmooth]; };
-  CIDnetworks = derive { name="CIDnetworks"; version="0.6.0"; sha256="0bx1wgcsbkg6zqza435fd11kaqkdspl4mlnjjjca8j0gcfvdjxgc"; depends=[mvtnorm msm Rcpp igraph numDeriv pbivnorm]; };
-  CIFsmry = derive { name="CIFsmry"; version="1.0.1"; sha256="118vyiiy4iqn86n9xf84n5hrwrhzhr1mdsmyg9sm6qq6dm7zg6la"; depends=[]; };
-  cin = derive { name="cin"; version="0.1"; sha256="1pwvy5nh5nrnysfqrzllb9fcrpddqg02c7iw3w9fij2h8s2v6kq5"; depends=[]; };
-  CINID = derive { name="CINID"; version="1.0"; sha256="0xa9zbd578ac5gc2mm7k5yisw5sx8x259c5gwyy6frpkldhbwldn"; depends=[]; };
-  CINOEDV = derive { name="CINOEDV"; version="1.0"; sha256="1a6c0y7nzqmb0x5baf54fyddnhi94ixybwm3mgim45z2jzak6435"; depends=[R_matlab igraph ggplot2 reshape2]; };
-  CircE = derive { name="CircE"; version="1.0"; sha256="1fik612iggqv9hvp9nmpx0h6g6s6vfk99z8anvqkk5ify5690g1x"; depends=[]; };
-  circlize = derive { name="circlize"; version="0.1.0"; sha256="0v5czgs21wn261bw686nbsn3c15ssdkx3frclwqcvqlk61xfghqr"; depends=[]; };
-  CircNNTSR = derive { name="CircNNTSR"; version="2.1"; sha256="1rl17kw6bl5xf7pgsc4im12i2kqz4a3b11vzzlb6wfl5yck6iff5"; depends=[]; };
-  CircStats = derive { name="CircStats"; version="0.2-4"; sha256="1f2pf1ppp843raa82s2qxm3xlcv6zpi578zc4pl0d7qyxqnh603s"; depends=[MASS boot]; };
-  circular = derive { name="circular"; version="0.4-7"; sha256="1kgis2515c931ir76kpxnjx0cscw4n09a5qz1rbrhf34gv81pzqw"; depends=[boot]; };
-  cit = derive { name="cit"; version="1.2"; sha256="1mk3bgac8qhc48vm0z8fhygsrrd5mqznyblbfv03y4rjiyh7f2qs"; depends=[]; };
-  CITAN = derive { name="CITAN"; version="2011.08-1"; sha256="1viv2iha6hcghh4iy4ndnbrnhcdrjixk837v78w43mdcmrkjh3rb"; depends=[DBI RSQLite RGtk2 hash ADGofTest]; };
-  citbcmst = derive { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; };
-  citccmst = derive { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; };
-  CityPlot = derive { name="CityPlot"; version="2.0"; sha256="0lskgxmagqjglvpq39hgbygkf4qp28i2bj6b4m2av1s3pzb4465g"; depends=[]; };
-  Ckmeans_1d_dp = derive { name="Ckmeans.1d.dp"; version="3.02"; sha256="1r7zxvrcn8lg8i74fnjr7mqcnhc0y5lsxy1zch1bhbrnbr19sgq5"; depends=[]; };
-  cladoRcpp = derive { name="cladoRcpp"; version="0.14.4"; sha256="0d4vl7xrrwbhhx56ymw52rb5svw9nskxdya4dl04lw1qxc45p4jy"; depends=[Rcpp]; };
-  CLAG = derive { name="CLAG"; version="2.18.1"; sha256="0y8m6m01vw3rxwrmxvwhpiy6dd2snr0lhb026l1494y43hhqi3wy"; depends=[]; };
-  class = derive { name="class"; version="7.3-11"; sha256="1j6wqirih9x6q50vq21543np4i99ia6ih2ffriiw1gms8xmdfrsk"; depends=[MASS]; };
-  classGraph = derive { name="classGraph"; version="0.7-4"; sha256="08cid5bdbciyijlzkx3684gx0cyzcj8myawf4dhcrz00jqrg8v60"; depends=[]; };
-  classifly = derive { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; };
-  classify = derive { name="classify"; version="1.2"; sha256="1c1919phhn3xlm807408hhryy1ifm8vf68zcb0gj3adiczpj5xcy"; depends=[Rcpp plyr ggplot2 lattice R2jags reshape2]; };
-  classInt = derive { name="classInt"; version="0.1-21"; sha256="1sld7bw1x2i8qqj0fbavifl9ni8724fg2wrwjyg657ib8f2yqj5z"; depends=[e1071 class]; };
-  clere = derive { name="clere"; version="1.1"; sha256="1jna5dqy47mldd557qxl7vr59v5lalhligvm3c4k6b2dfararhfr"; depends=[Rcpp]; };
-  clhs = derive { name="clhs"; version="0.5-1"; sha256="09165qcnlwz6aaafq4lzzpm7id15wgfbz3am9gfp2g5fyh0irsr2"; depends=[ggplot2 sp raster reshape2 plyr scales]; };
-  ClickClust = derive { name="ClickClust"; version="0.1.1"; sha256="1mgim5z4j0lmjlazqqigc88r41ciqnz9d49irm9b2bdjwg2rpilw"; depends=[]; };
-  clickstream = derive { name="clickstream"; version="1.1.2"; sha256="1l59411jsph6v4rkwanbjcgjcyknywl7ri0hh7z957v02h4m7as1"; depends=[igraph plyr reshape2 Rsolnp]; };
-  climdex_pcic = derive { name="climdex.pcic"; version="1.1-1"; sha256="1payygvw327qjab9vzivqd21f5w0gwq3f2jjpmkk89fn7rznz7y2"; depends=[PCICt caTools Rcpp]; };
-  clime = derive { name="clime"; version="0.4.1"; sha256="0qs9i7cprxddg1cmxhnmcfhl7v7g1r519ff2zfipxbs59m5xk9sf"; depends=[lpSolve]; };
-  clinfun = derive { name="clinfun"; version="1.0.6"; sha256="00prrdm6qm5p2sjjlhi99msvqpxcm492z378wgl65iwf0jywdnpw"; depends=[mvtnorm]; };
-  clinsig = derive { name="clinsig"; version="1.0-4"; sha256="0w2qb9k6fkw9lqi0ib6kzi6pvpb5hpq78w9x2jjs0yyqsj0rydwv"; depends=[]; };
-  clinUtiDNA = derive { name="clinUtiDNA"; version="1.0"; sha256="0x3hb09073gkh60fc8ia0sfk948sm6z6j8sqkz275k4m8ryrabas"; depends=[]; };
-  clogitL1 = derive { name="clogitL1"; version="1.4"; sha256="0m9yrg9mzzfv5qkdf6w55xyrjdghyrf27kk7b4x2gyvwvi5b7dkm"; depends=[Rcpp]; };
-  cloudUtil = derive { name="cloudUtil"; version="0.1.10"; sha256="1j86vpd4ngrdpfjk44wb1mp0l88dxia64pjd2idfcd276giplh6s"; depends=[]; };
-  clpAPI = derive { name="clpAPI"; version="1.2.6"; sha256="1kgzmzf87b0j43ch21anmm2d73bj2d16slmyavpbkdwg72dg1sjb"; depends=[]; };
-  CLSOCP = derive { name="CLSOCP"; version="1.0"; sha256="0rkwq9rl2ph4h5zwb2i3yphjyzxmh6b6k23a8gcczycx6xdq4yhw"; depends=[Matrix]; };
-  clue = derive { name="clue"; version="0.3-48"; sha256="1lwfm5sk9d35khcrvjs91bixfnjc3zwyfzq5ma9ljsc6hs80y8ar"; depends=[cluster]; };
-  clues = derive { name="clues"; version="0.5-4"; sha256="0pgd3vjfplvsfn3nw6sqlkfsv6lbpjlcai7z9qp31qcih3g71vgr"; depends=[]; };
-  cluster = derive { name="cluster"; version="1.15.2"; sha256="0bv7qsbf6x3gq2iz3rwbjsj3cs8j0dvzxjhwdsvnqgkc1yhpkr13"; depends=[]; };
-  clusterCrit = derive { name="clusterCrit"; version="1.2.3"; sha256="0xd06w7jsl3srvhqx08vywy191k97lk3mgl2hsx1ki8ydplrdyha"; depends=[]; };
-  cluster_datasets = derive { name="cluster.datasets"; version="1.0-1"; sha256="0i68s9305q08fhynpq24qnlw03gg4hbk4184z3q3ycbi8njpr4il"; depends=[]; };
-  clusterfly = derive { name="clusterfly"; version="0.4"; sha256="0mxpn7aywqadyk43rr7dlvj0zjcyf4q7qbqw5ds38si7ik34lkrg"; depends=[rggobi e1071 reshape2 plyr RGtk2]; };
-  clustergas = derive { name="clustergas"; version="1.0"; sha256="1vf4czpwk71yxd26vm5sal0ml20ssjrq4bmk31yzxydpxn495fg8"; depends=[cluster]; };
-  clusterGeneration = derive { name="clusterGeneration"; version="1.3.1"; sha256="0lvkqqcshnaqk40s5y736r53y9yss3hlvgs6gs7p8ksk14vj7i2q"; depends=[MASS]; };
-  clusterGenomics = derive { name="clusterGenomics"; version="1.0"; sha256="127hvpg06is4x486g1d5x7dfkrbk7dj35qkds0pggnqxkq3wsc1c"; depends=[]; };
-  clusterPower = derive { name="clusterPower"; version="0.5"; sha256="1g2qpvizyk4q3qlgvar436nrfqxwp5y8yi2y6rch9ak5mbg3yzqb"; depends=[lme4]; };
-  clusterRepro = derive { name="clusterRepro"; version="0.5-1.1"; sha256="0vsf6cq6d51a4w23ph8kdz2h8dfpzyd6i85049p2wakn1kdvkz5p"; depends=[]; };
-  clusterSim = derive { name="clusterSim"; version="0.43-5"; sha256="07vdvhlvk31srnw1vwgwqgj2dimgbagp7mnz7n1rwcm1qxnndsmy"; depends=[cluster MASS ade4 e1071 rgl R2HTML]; };
-  clusteval = derive { name="clusteval"; version="0.1"; sha256="1ld0bdl4fy8dsfzm3k7a37cyxc6pfc9qs31x4pxd3z5rslghz7rj"; depends=[mvtnorm Rcpp]; };
-  clusthaplo = derive { name="clusthaplo"; version="1.2"; sha256="17vxk61bw99h34n9a6vp40nanigfai34s237ydb56jpamsq8sf2b"; depends=[ggplot2]; };
-  clustMD = derive { name="clustMD"; version="1.0"; sha256="1i3c790k300a7y5xhqanp8f1bid2q3a0ajwgf5qsr6dv3ld4h7vj"; depends=[tmvtnorm mvtnorm truncnorm MASS mclust msm]; };
-  ClustOfVar = derive { name="ClustOfVar"; version="0.8"; sha256="17y8q2g4yjxs2jl1s8n5svxi021nlm0phs1g5hcnfxzpadq84wbs"; depends=[]; };
-  clustrd = derive { name="clustrd"; version="0.1.2"; sha256="022lzp1wvbaa20d8hribgq9miy6i7jxm5m1p3p52h9b7bzga3q6g"; depends=[corpcor e1071 ggplot2 irlba]; };
-  clustsig = derive { name="clustsig"; version="1.1"; sha256="0n5nf712vsa8zb0c2lv4gjqsgva62678vjngr9idgswb73shxm8v"; depends=[]; };
-  ClustVarLV = derive { name="ClustVarLV"; version="1.3"; sha256="13v7ip42wdzgvzpmkd8pzhv8j0kcavkby8fl4x4wn35ds46hx1v5"; depends=[Rcpp]; };
-  clustvarsel = derive { name="clustvarsel"; version="2.0"; sha256="0ql98r2aqwfmbn48xd68wpi2lk671aj2l8dqjn0jjp1vrk9fbw1m"; depends=[mclust BMA foreach iterators]; };
-  clv = derive { name="clv"; version="0.3-2.1"; sha256="1qgp2qhblg6ysyrlg0ad169ahwhcyn5pvsqzdlqj700y1k7wl7mc"; depends=[cluster class]; };
-  clValid = derive { name="clValid"; version="0.6-6"; sha256="1l9q7684vv75jnbymaa10md13qri2wjjg7chr1z1m0rai8iq3xxw"; depends=[cluster class]; };
-  cmaes = derive { name="cmaes"; version="1.0-11"; sha256="1hwf49d1m660jdngqak9pqasysmpc4jcgr8m04szwbyzyy6xrm5k"; depends=[]; };
-  CMC = derive { name="CMC"; version="1.0"; sha256="1r9a5k79fyw01yiwxq02327hpn4l1v2lp0958jj9217wxmhn3pr5"; depends=[]; };
-  CMF = derive { name="CMF"; version="1.0"; sha256="0hvqcbmg2vd0i1rjb1m1bkrbv2vkj1siank1v8w0n5b6881cyz7q"; depends=[Rcpp]; };
-  cmm = derive { name="cmm"; version="0.7"; sha256="16pw9namrc3crcqnsn4ckk8m4r3af908wm2siw6fzbk6hwac17i6"; depends=[]; };
-  CMPControl = derive { name="CMPControl"; version="1.0"; sha256="0cp29cibiydawsl0cq433l9abdivr16b431zlrh45wzr5kzfcs0v"; depends=[compoisson]; };
-  cmprsk = derive { name="cmprsk"; version="2.2-7"; sha256="1imr3wpnj4g57n2x4ryahl4lk8lvq9y2r7319zv3k82mznha8bcm"; depends=[survival]; };
-  cmrutils = derive { name="cmrutils"; version="1.2-2"; sha256="0gc4sx8g9364sybmrqdjdvddqjd9ps6v205kaw0nqdx30xn96hmm"; depends=[chron]; };
-  cna = derive { name="cna"; version="0.1-3"; sha256="0y6qqg4454njldm8qipq260jbwfkh23iffpyghjnj2raw5fjgh8b"; depends=[]; };
-  cncaGUI = derive { name="cncaGUI"; version="0.0-2"; sha256="1rgs7446qb40b4qi1i4m5c3111kbqap4z1g7s01pnbylil0m80fd"; depends=[rgl tcltk2 tkrplot]; };
-  CNOGpro = derive { name="CNOGpro"; version="1.0"; sha256="02vqnjsz0402xdqsxrxicgdsyi3nqc3cfrbabfkywn3q102gzq0f"; depends=[seqinr]; };
-  CNprep = derive { name="CNprep"; version="1.0"; sha256="1i8iz0ir14g56zjsj8z4kmds5rybg8jjra33v0qcjwp489s6475a"; depends=[mclust rlecuyer]; };
-  CNVassoc = derive { name="CNVassoc"; version="2.0.1"; sha256="0xf5rrcv7pl158fbz0yjibmrigpqgzwvdyl1gw0fkn5jjsm62hsm"; depends=[CNVassocData mixdist mclust survival]; };
-  CNVassocData = derive { name="CNVassocData"; version="1.0"; sha256="17r3b1w9i9v6llawnjnrjns6jkd82m2cn9c90aif8j0bf4dmgdli"; depends=[]; };
-  coalescentMCMC = derive { name="coalescentMCMC"; version="0.4"; sha256="115kvrk46hzhr83vkk57jn90dw2fvj1pl56w6mlja16i93yaz10h"; depends=[ape coda Matrix phangorn]; };
-  coarseDataTools = derive { name="coarseDataTools"; version="0.6-2"; sha256="1nnh61kfw294cxawz9i8yf37ddzsn5s532vvkaz0ychk0390wmi5"; depends=[MCMCpack]; };
-  COBRA = derive { name="COBRA"; version="0.99.4"; sha256="1r1cw12d7c148pcgcg08bfsr1q1s736kfpyyss6b4d7ny7wgmqy4"; depends=[]; };
-  cobs = derive { name="cobs"; version="1.2-2"; sha256="1g8qwnda7fqrqknz7lnlq47kqs5k83pg9qq205alm12jgx3180a1"; depends=[SparseM quantreg]; };
-  cobs99 = derive { name="cobs99"; version="0.9-12"; sha256="0zd0nyw8ma7k90i1k3ryn6qcb6yivrrajc6nmdh4f95ihvhc9ksm"; depends=[]; };
-  CoClust = derive { name="CoClust"; version="0.3-0"; sha256="0vcjy8mr8vfs5j1x0xz1zkjn6l08pg6r28ffbdvrqrbalnh87v3s"; depends=[copula gtools]; };
-  cocor = derive { name="cocor"; version="1.0-0"; sha256="173kszv661hailav69khqh9c15y9m5n6l7crc9i6vf71yrig1vqs"; depends=[]; };
-  cocorresp = derive { name="cocorresp"; version="0.2-1"; sha256="0q41clhp4nl9vyakfmnhr5ix7nxfq0phq8xa02na38qhfwpxznfn"; depends=[vegan]; };
-  cocron = derive { name="cocron"; version="1.0-0"; sha256="190kfv7haybi7s33bqf8dd3pcj8r6da20781583rrq6585yqh4g6"; depends=[]; };
-  coda = derive { name="coda"; version="0.16-1"; sha256="0575pbx37jn7ljgjybl2v7rry55l6s6cb3a0m9znh4blln405q4i"; depends=[lattice]; };
-  codadiags = derive { name="codadiags"; version="1.0"; sha256="1x243pn6qnkjyxs31h1hxy8x852r0fc952ww77g40qnrk8qw79xg"; depends=[coda]; };
-  codep = derive { name="codep"; version="0.4-1"; sha256="1jkd6k80d6vyriwmq1car5zjms304zrdrfbjib664zxzx1wadf8z"; depends=[]; };
-  codetools = derive { name="codetools"; version="0.2-8"; sha256="0m326kfxihm5ayfn5b4k8awdf34002iy094gazbc3h0y42r4g86b"; depends=[]; };
-  coefficientalpha = derive { name="coefficientalpha"; version="0.2.6"; sha256="0a0fvg22sg3idavv2qrb9sjvjjfm39fvpjsxz83a7bk6400vflsr"; depends=[MASS]; };
-  coefplot = derive { name="coefplot"; version="1.2.0"; sha256="1v6c3fk2wrjgs3b31vajmig6dvmp5acfm72wh0iffpg0qgvf5hh7"; depends=[ggplot2 plyr reshape2 useful scales proto]; };
-  coenocliner = derive { name="coenocliner"; version="0.1-0"; sha256="0hys1a4ai09pax5ydcaq39ll3rdjzyhgvz72z0iv9fwv4fbmwbr9"; depends=[]; };
-  coexist = derive { name="coexist"; version="1.0"; sha256="15ydhrx996i6caa0360c2bgn2zvgwfg5wdhsqq1gvrggs15w7nml"; depends=[]; };
-  CoImp = derive { name="CoImp"; version="0.2-3"; sha256="04n0drx98hi8hmlb5xwl87ylv03j1ld04vp9d8s5sphvm9bbx690"; depends=[copula nnet gtools locfit]; };
-  coin = derive { name="coin"; version="1.0-23"; sha256="07433fblandxb8gzkzln49cckv75mqr2z847dwsa3qz68callxba"; depends=[survival modeltools mvtnorm]; };
-  CoinMinD = derive { name="CoinMinD"; version="1.1"; sha256="0invnbj5589wbs0k2w5aq9qak7axc3s0g9nw85c48lnl0v95s91i"; depends=[MCMCpack]; };
-  colbycol = derive { name="colbycol"; version="0.8"; sha256="198zc4jd7gby1dhvmg7fy41ldbxkgqj6ram54g3w6sw0yv9ilk8r"; depends=[rJava filehash]; };
-  cold = derive { name="cold"; version="1.0-3"; sha256="17nlqhp5415m8wjkb2ykmk1q3lgw1aycf85b6byl8p06bfrvmw2p"; depends=[]; };
-  CollocInfer = derive { name="CollocInfer"; version="1.0.1"; sha256="0wfk3qw28msz3wqm5xmivjgi18kqv1s6w76vh71zq777d6a7al6i"; depends=[fda deSolve MASS Matrix spam]; };
-  coloc = derive { name="coloc"; version="2.3-1"; sha256="1j3m9afpkm0bzib38yqvk85b6s6l56s6j2ni96gii4a06r87ig60"; depends=[colorspace MASS BMA]; };
-  colorfulVennPlot = derive { name="colorfulVennPlot"; version="2.4"; sha256="01b3c060fbnap78h9kh21v3zav547ak2crdkvraynpd2096yk51w"; depends=[]; };
-  colorRamps = derive { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; };
-  colorscience = derive { name="colorscience"; version="1.0.0"; sha256="0429vlirc95nblmhs5lplh3lw9aay9qnkpib77rbmjzczv551m3d"; depends=[Hmisc munsellinterpol pracma]; };
-  colorspace = derive { name="colorspace"; version="1.2-4"; sha256="1ppvkcclqjdj1b9j59sc2gda55kmwq9l00n5643ggjb15m2dm76h"; depends=[]; };
-  colortools = derive { name="colortools"; version="0.1.5"; sha256="0z9sx0xzfyb5ii6bzhpii10vmmd2vy9vk4wr7cj9a3mkadlyjl63"; depends=[]; };
-  colourlovers = derive { name="colourlovers"; version="0.1.3"; sha256="09hacmzcw6am8l6725wny2rrrzzn46vk2730ni7rgynk49b2wr9h"; depends=[XML RJSONIO png]; };
-  comato = derive { name="comato"; version="1.0"; sha256="03jnvv0sczy13r81aljhj9kv09sl5hrs0n5bn3pdi7ba64zgbjiw"; depends=[igraph Matrix lattice gdata XML cluster clusterSim]; };
-  combinat = derive { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; };
-  CombinS = derive { name="CombinS"; version="1.0"; sha256="0gi66hmj3jmr301r2ahrln4zjjjvl6gabdv3y5df7aqidxlbhqbb"; depends=[]; };
-  CombMSC = derive { name="CombMSC"; version="1.4.2"; sha256="1wkawxisn9alpwrymja8dla8n25z2fhai3l2xhin0b914y2kai09"; depends=[]; };
-  comclim = derive { name="comclim"; version="0.9.2"; sha256="14x9qpflprdi7j94xipndzp76bbs7cqmyhqd2cakxgnl1q915pnx"; depends=[]; };
-  commandr = derive { name="commandr"; version="0.9.5"; sha256="1i960c4hszxm10qcpn9hrhxfzxfp9yywkbj4i9hraj8ka759z75a"; depends=[]; };
-  CommonJavaJars = derive { name="CommonJavaJars"; version="1.0-4"; sha256="0amn8z8im64q1k6j6l2bh4795b6i665wxqpgabhv471zfhdk0nil"; depends=[]; };
-  CommonTrend = derive { name="CommonTrend"; version="0.7-1"; sha256="088pg2hy2g2jgs84xawrnsf7gpvrpqjsimkx7g0i5r5fmkx169f9"; depends=[MASS urca]; };
-  CommunityCorrelogram = derive { name="CommunityCorrelogram"; version="1.0"; sha256="1wkrm5lil595sc4ih3qsf4sgvfipzlav0n7339ixqw9zxm2pg4nj"; depends=[vegan]; };
-  comorbidities = derive { name="comorbidities"; version="1.0"; sha256="01aisxy4cx3jw37cg6mwvfj4nv10ndmwjxf8xsfv7s20hdb0gmqn"; depends=[]; };
-  Comp2ROC = derive { name="Comp2ROC"; version="1.0"; sha256="0vymjbxdlvm5dvss4z4zjdc7y7040s3j972gh2138wfygji1szg7"; depends=[ROCR boot]; };
-  compactr = derive { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; };
-  compare = derive { name="compare"; version="0.2-4"; sha256="0fhw7y7xwrv79wxvs9gy4xddjzc6hh97m81a10j64jssy4p291b6"; depends=[]; };
-  compareGroups = derive { name="compareGroups"; version="2.0.4"; sha256="1z2aipcjnqh83g33aypspwk8kkab5i2h5ms0lnnmcp3c8wn8pzi8"; depends=[Hmisc xtable gdata SNPassoc survival epitools HardyWeinberg]; };
-  compareODM = derive { name="compareODM"; version="1.2"; sha256="019hq8j56asjvh4x1p65785mf38xr05j3by0749gl9k9yl8645da"; depends=[XML]; };
-  CompareTests = derive { name="CompareTests"; version="1.0"; sha256="098axl20jid35pqvgiwk6h91waafigwks6n5f4pg7xxx1fifks4f"; depends=[]; };
-  comparison = derive { name="comparison"; version="1.0-4"; sha256="0pc462rhk8gr8zrf08ksi315kmhydlp027q5gd40ap5mmhk7rd82"; depends=[isotone]; };
-  compeir = derive { name="compeir"; version="1.0"; sha256="1bb5459wcqpjic2b9kjn0l0qdn7sqmmx34hdb2aqg80q22mhx5dv"; depends=[lattice etm]; };
-  CompGLM = derive { name="CompGLM"; version="1.0"; sha256="04bjal92r0m7is5ygqpd0mdz3fb3pwcr7rc3mbxg9sg57nff3kf5"; depends=[Rcpp]; };
-  compHclust = derive { name="compHclust"; version="1.0-2"; sha256="1h39krvz516xwsvn5987i1zbzan8vx2411qz6dad112hpss0vyk9"; depends=[]; };
-  complex_surv_dat_sim = derive { name="complex.surv.dat.sim"; version="2.0.0"; sha256="1x4whyq0bds0zblppcvv7lk6qy567c37x19n1r0xjgyl3id40f7c"; depends=[eha statmod]; };
-  CompLognormal = derive { name="CompLognormal"; version="3.0"; sha256="1dhgr9l713l2n889bpa47lbg2qab0fz0r15qa928c0b9nz688ddm"; depends=[numDeriv]; };
-  compoisson = derive { name="compoisson"; version="0.3"; sha256="0v5dl7xydqi4p97nipn4hyhpq2gghmx81ygvl0vc8b65jhq89y0p"; depends=[MASS]; };
-  COMPoissonReg = derive { name="COMPoissonReg"; version="0.3.4"; sha256="1mf2q7phc2bn700yp7i2i6ccj6lrvh8b2dmibqihh76a85j1ycrq"; depends=[]; };
-  compositions = derive { name="compositions"; version="1.40-1"; sha256="1hn139g86bc1q3dj6kj9f21042v4x0xgrp4ni1zvx1zx8xmy3h8b"; depends=[tensorA robustbase energy bayesm]; };
-  compound_Cox = derive { name="compound.Cox"; version="1.4"; sha256="08sdkq040zk9mb1lcy4nm32gwab26vaig8brp2n3aizagx9fv3r9"; depends=[numDeriv survival]; };
-  Compounding = derive { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; };
-  CompQuadForm = derive { name="CompQuadForm"; version="1.4.1"; sha256="1kv4bdkwidkjw0hgn2krv42p9v1a03p47g0p03lja3flhfbmiifj"; depends=[]; };
-  CompRandFld = derive { name="CompRandFld"; version="1.0.3"; sha256="1qfq1zkdxk6jh3z7vfp91c6jcvj4smq21cndxdmq150f6vsx35fl"; depends=[]; };
-  compute_es = derive { name="compute.es"; version="0.2-3"; sha256="17g1s9vz61kyqsm16vbzwmaw2qz6r99p9cg3s6c7lk73vr2qrwni"; depends=[]; };
-  ConConPiWiFun = derive { name="ConConPiWiFun"; version="0.4.2"; sha256="0x3md1xfrrg41qfyafbvl9qaa6yy81nky3pl5z9qs850mjbs8qdl"; depends=[Rcpp]; };
-  concor = derive { name="concor"; version="1.0-0.1"; sha256="0hjyvi6p16cyrmq0bq7fph1r5f3adp7zpf123wkm5bkjnc5122k0"; depends=[]; };
-  concreg = derive { name="concreg"; version="0.5"; sha256="0psvnirl5rqicyzxs9sivh23bzzwdgviqczdl2in2gnrvdiw7m6f"; depends=[survival]; };
-  cond = derive { name="cond"; version="1.2-3"; sha256="0y7m7valk7zn40y62348czmdvfkx59il9sl6wy565lzqfiimd9ps"; depends=[statmod survival]; };
-  condGEE = derive { name="condGEE"; version="0.1-4"; sha256="0mqj2pc91n8h3arpd4b9f7ndbcnai21c67is22qg22wj7vhhs87h"; depends=[numDeriv rootSolve]; };
-  condmixt = derive { name="condmixt"; version="1.0"; sha256="05q1fj7akf6lsq9rbcqqkzlx82jvk6mlvmwx6jzk8j228fwqmg90"; depends=[evd]; };
-  CondReg = derive { name="CondReg"; version="0.20"; sha256="1ffnrjfjcb66i9nyvidkcn4k9pcj4r7xanjwzcxcrj2qm39apkqx"; depends=[]; };
-  coneproj = derive { name="coneproj"; version="1.4"; sha256="07zhqidjinpphvr7xdzrn3f5iq6bx8c2sj5gya2bz8glf4x74h9d"; depends=[Rcpp]; };
-  conf_design = derive { name="conf.design"; version="2.0.0"; sha256="06vdxljkjq1x56xkg041l271an1xv9wq79swxvzzk64dqqnmay51"; depends=[]; };
-  confReg = derive { name="confReg"; version="0.1.3"; sha256="0cwz5wnrk0qppj65gskizy2jb9y6x6xhkyb5qhd5xfc698x6ivs2"; depends=[e1071]; };
-  confreq = derive { name="confreq"; version="1.1"; sha256="14d0vlf4bwmdwayqg2fsyqblyinx1d3mqhndhjjk0d59qmr44lsa"; depends=[]; };
-  conicfit = derive { name="conicfit"; version="1.0.0"; sha256="032a9ajrv1xl2i4p3a32fyzg6s76vngdcmwqnh2lgk72srlhryzj"; depends=[pracma geigen]; };
-  conics = derive { name="conics"; version="0.3"; sha256="06p6dj5dkkcy7hg1aa7spi9py45296dk0m6n8s2n3bzh3aal5nzq"; depends=[]; };
-  conjoint = derive { name="conjoint"; version="1.39"; sha256="0f8fwf419js9c292i3ac89rlrwxs2idhwxml1qd8xd2ggwfh6w5m"; depends=[AlgDesign clusterSim]; };
-  ConjointChecks = derive { name="ConjointChecks"; version="0.0.9"; sha256="097mhiz8zjmmkiiapr3zfx7v35xirg57nqp1swd72dixaa23nhr1"; depends=[]; };
-  ConnMatTools = derive { name="ConnMatTools"; version="0.1.5"; sha256="02cv2rlfp9shwqc9nwb8278akmwv7yvviwl23jglzsyh721dpqkr"; depends=[]; };
-  CONOR = derive { name="CONOR"; version="1.0.2"; sha256="1h6vx8hq8lbjdhv466q9q4h13hir1pfj6bjmg90gmqjwrpbdciw1"; depends=[CLSOCP tseries outliers nortest quadprog zoo fields fpc flexclust plyr CONORData]; };
-  CONORData = derive { name="CONORData"; version="1.0.2"; sha256="0a52wz9i9md15wqvhh105wjvlw4byx7qgy9i1sd1wr4jn84ir5wf"; depends=[CLSOCP tseries outliers nortest quadprog zoo fields fpc flexclust plyr]; };
-  constrainedKriging = derive { name="constrainedKriging"; version="0.2.3"; sha256="1hppfc0pv0jphmj7pip1cn65sfrcwvnpymlvpyp7sbn3nmy2qqrb"; depends=[sp spatialCovariance rgeos RandomFields]; };
-  contfrac = derive { name="contfrac"; version="1.1-9"; sha256="16yl96bmr16a18qfz6y5zf7p02ky1jy2iimcb1wp50g7imlcq840"; depends=[]; };
-  conting = derive { name="conting"; version="1.3"; sha256="1aw3hp88xif5s94388g4805xqnv21dj47wshgkbg33dn11lf2hwf"; depends=[mvtnorm BMS gtools tseries coda]; };
-  contrast = derive { name="contrast"; version="0.19"; sha256="1kc3scz3msa52lplc79mmn4z99kq1p2vlb18wqxa9q2ma133x6pl"; depends=[rms]; };
-  ConvCalendar = derive { name="ConvCalendar"; version="1.2"; sha256="0yq9a42gw3pxxwvpbj6zz5a5zl7g5vkswq3mjjv5r28zwa3v05vc"; depends=[]; };
-  ConvergenceConcepts = derive { name="ConvergenceConcepts"; version="1.0"; sha256="1s6yxiaxmv7yxydwjhxi778vznh4gs8l5cgy308bxj53d4d6kfkz"; depends=[tkrplot lattice]; };
-  convexHaz = derive { name="convexHaz"; version="0.2"; sha256="0lfksb01iilhyjbr9wj3w4s9nbkdcl649w86fp2mz6s6makmq84x"; depends=[]; };
-  cooccur = derive { name="cooccur"; version="1.1"; sha256="1q2x89jpr81jq0hw218c9h8spc1gwgax58j8npgd6rnzlkpxxyam"; depends=[reshape2 gmp ggplot2]; };
-  COP = derive { name="COP"; version="1.0-2"; sha256="1gynknplvx97hjhi7adsgq9r9lqismch1q1pqvgmz0x1wkg4jj40"; depends=[dr MASS]; };
-  COPASutils = derive { name="COPASutils"; version="0.1"; sha256="1w080k6fpbvcx1pqaa2n5vhf7nmr1z403wj7ilkxy5s6cw7gmyi5"; depends=[ggplot2 reshape2 dplyr kernlab stringr knitr]; };
-  copBasic = derive { name="copBasic"; version="1.5.4"; sha256="1za91mkahkrcg4h54ii2zk3c22rn8krsa95aj9y0kgg3rxnd09hz"; depends=[lmomco]; };
-  copula = derive { name="copula"; version="0.999-10"; sha256="1xx7f1mzym8amlyf84s7yrwygyfcvfqisar64ikyr1ksf571l77i"; depends=[Matrix gsl ADGofTest stabledist mvtnorm pspline]; };
-  copulaedas = derive { name="copulaedas"; version="1.4.1"; sha256="1xs02s91la4i1x1zs8k5gfvd9jhs2zqhv58431p1j3spfapzf2rc"; depends=[copula vines mvtnorm truncnorm]; };
-  CopulaRegression = derive { name="CopulaRegression"; version="0.1-4"; sha256="17cfs47g5am0gf6kv366v87zv2gcmc7s7bcay4ccfqzqhbhli2i4"; depends=[MASS VineCopula]; };
-  CopyDetect = derive { name="CopyDetect"; version="1.1"; sha256="0h9bf7ay5yr6dwk7q28b6xxfzy6smljkq6qwjkzfscy5hnmwxkpa"; depends=[irtoys]; };
-  corclass = derive { name="corclass"; version="0.1"; sha256="02mxypdrjwf8psk0j9ggbw14889a87c6lw11qki3s3biq52qsx3y"; depends=[igraph]; };
-  corcounts = derive { name="corcounts"; version="1.4"; sha256="0irlx62ql5rp5s7nnjdy6jh723wl4039wn10zxri8ihxwqsyyz3f"; depends=[]; };
-  CORE = derive { name="CORE"; version="2.0"; sha256="18vnqfasrn0bkplr3qj21wrksnj8wbsfhg7r0aimaa9c9nz9l7kg"; depends=[]; };
-  CORElearn = derive { name="CORElearn"; version="0.9.43"; sha256="0qzj2fx8if157dplxcsss5s0gllwf183vhiqmapbkdix2h9l9jk5"; depends=[cluster rpart]; };
-  corHMM = derive { name="corHMM"; version="1.14"; sha256="03kwj8y4c4jw9lwpvyi3539184yifhcavbhh6rbw9pasnxkzj28l"; depends=[ape nloptr expm numDeriv corpcor phangorn rgenoud]; };
-  CORM = derive { name="CORM"; version="1.0.2"; sha256="0g5plafx2h1ija8jd6rxvy8qsrqprfbwbi1kq1p4jdr9miha20nv"; depends=[cluster]; };
-  corpcor = derive { name="corpcor"; version="1.6.6"; sha256="0rjlqbh76f5q3sjbh9nhvsip9391mnh05x5f7cqi6rp63c194v12"; depends=[]; };
-  corpora = derive { name="corpora"; version="0.4-3"; sha256="0zh8mabfy9yqgx7asi4yqv4c0kj59yvyxxaxjgdjy5kkr17zd4g4"; depends=[]; };
-  CorrBin = derive { name="CorrBin"; version="1.4"; sha256="0xnj2rhm4ph9277v2wfrp15p8nbdxiqfpcj0shj0d9z8rasx7p8m"; depends=[boot combinat]; };
-  CorReg = derive { name="CorReg"; version="0.15.0"; sha256="17cgq5ssqxa8v5afjhnfg4fr1p9bs3migzmh5b9b2kxixm81flk5"; depends=[Rcpp lars elasticnet clere spikeslab corrplot Matrix mclust Rmixmod ridge rpart MASS parcor mvtnorm]; };
-  correlate = derive { name="correlate"; version="1.0"; sha256="0hv0i928f49p8n78hd3bcx923l2x0zcs4kwj71ph8gm7s8540fhc"; depends=[]; };
-  Correlplot = derive { name="Correlplot"; version="1.0-2"; sha256="0prxnbi7ga5d23i0i4qpynfb3zrsgjxam47km6nsj1prakdkrq7w"; depends=[calibrate xtable]; };
-  corrgram = derive { name="corrgram"; version="1.5"; sha256="015h4vnbmjir81x9ifqbnl25havpi8m7p3iaj30rl1hdhhbpy0dz"; depends=[seriation]; };
-  corrplot = derive { name="corrplot"; version="0.73"; sha256="0xnlkb8lhdjcc10drym9ymqzvfwa3kvf955y0k66z5jvabzyjkck"; depends=[]; };
-  corrsieve = derive { name="corrsieve"; version="1.6-8"; sha256="0ak3j9khcwv5rxbicck2sr260wpmd3xj254y7pdavx2fk0b72yxs"; depends=[]; };
-  corTools = derive { name="corTools"; version="1.0"; sha256="0arvqk2xp19ap73zmdk0kb1fycb3v2mf65b4bhanvcqwr4kg4vdk"; depends=[]; };
-  COSINE = derive { name="COSINE"; version="2.1"; sha256="10ypj849pmvhx117ph3k1jqa62nc4sdmv8665yahds7mh0ymhpjj"; depends=[MASS genalg]; };
-  cosinor = derive { name="cosinor"; version="1.1"; sha256="02nnqg51vq48lzk667cyarnmhcf5mifnsdij7dlgqvz2k4fdq4pl"; depends=[ggplot2 shiny]; };
-  cosmoFns = derive { name="cosmoFns"; version="1.0-1"; sha256="0a6xhbgxxnymlvicg99yhgny2lscxcbmvqmy17kxmahdi797dsg6"; depends=[]; };
-  cosmosR = derive { name="cosmosR"; version="1.0"; sha256="0w4qywnkgcybgyyhnvvg33amqi2vnkry6iajakyqr1x2hzfpf9sv"; depends=[xlsx]; };
-  cosso = derive { name="cosso"; version="2.1-1"; sha256="1wyq27qak0kz4bbzynm24r5ksvb6ddd43h2ykh6m935xck16blyb"; depends=[quadprog Rglpk glmnet]; };
-  costat = derive { name="costat"; version="2.3"; sha256="1kqyl89lx1amap9zgrfy1bqnl93kahrksj6yms44yrxr1as2g4nk"; depends=[wavethresh]; };
-  cotrend = derive { name="cotrend"; version="1.0"; sha256="0h0y502wqq83wlf9ab1b9rxg1wycvi3sp4lbqfpvy46vgljrjw87"; depends=[xts]; };
-  COUNT = derive { name="COUNT"; version="1.3.1"; sha256="1j67f9cjqn523g3khawxj41c19c2l6l287f8ry8mnmijfs0hvpr4"; depends=[msme sandwich MASS]; };
-  countrycode = derive { name="countrycode"; version="0.17"; sha256="0rmmqh0x34bdnyb19r719rsm46q8193lf7wcynd5s3c2i4vbkx8n"; depends=[]; };
-  CountsEPPM = derive { name="CountsEPPM"; version="1.0"; sha256="19l0nb1rrhqcxcjx4lrp298xgxprziz1ccl3r1q3h16yj5vhkqrw"; depends=[Matrix Formula]; };
-  covLCA = derive { name="covLCA"; version="1.0"; sha256="15jsjrlaws1cqyrwvh4lzbhxkb11jmgpmddg98nfrzmjpczn2iw3"; depends=[Matrix mlogit poLCA]; };
-  covreg = derive { name="covreg"; version="1.0"; sha256="0v19yhknklmgl58zhvg4szznb374cdh65i7s8pcj2nwrarycwzaq"; depends=[]; };
-  covRobust = derive { name="covRobust"; version="1.1-0"; sha256="1nvy5cqs4g565qj2hhgk5spr58ps2bhas3i752rf7wvrskb89fk7"; depends=[]; };
-  CovSel = derive { name="CovSel"; version="1.1"; sha256="13dh97857h3r684yw1bzyr1rkpk8l7sshgy9hvg5y95csgai2qhw"; depends=[MASS dr np boot cubature]; };
-  covTest = derive { name="covTest"; version="1.02"; sha256="0p4di8bdjghsq5jd678dprlhiwnxr5piqlx2z7hi2bjjpvvl5657"; depends=[lars glmnet glmpath MASS]; };
-  CoxBoost = derive { name="CoxBoost"; version="1.4"; sha256="1bxkanc8zr4g3abn4ds5wqibv65flvm4y648fs9s0l4vc9vmyshg"; depends=[survival Matrix prodlim]; };
-  coxinterval = derive { name="coxinterval"; version="1.0"; sha256="0x6xnc5wf5sivwn0hd99lmb52wj5swj01r9wrky9f61nji3fjv4v"; depends=[Matrix survival timereg]; };
-  coxme = derive { name="coxme"; version="2.2-3"; sha256="1s9h03crzmvi0szg5rhq0m48q9i7hdppn1k528nfca5ikw2l37h9"; depends=[survival bdsmatrix nlme Matrix]; };
-  coxphf = derive { name="coxphf"; version="1.10"; sha256="15bpy6vcn65pnknqbiqhpbpddhzyslgsc06g8rnamg60akg4p3v8"; depends=[survival]; };
-  coxphw = derive { name="coxphw"; version="3.0.0"; sha256="11pyd09dwkbixjz1riv8rz3jrp1ix6cbn1fw9nm8vnrc19x5lkz5"; depends=[survival]; };
-  CoxRidge = derive { name="CoxRidge"; version="0.9.1"; sha256="11vlsrv03j6kcxq9an7g210nq6cc6qd04b7w0pfbdk4bniqc0k60"; depends=[survival]; };
-  coxrobust = derive { name="coxrobust"; version="1.0"; sha256="08hp0fz5gfxgs3ipglj6qfr6v63kzxkrzg650bmzabq8dvrxd97q"; depends=[survival]; };
-  cpa = derive { name="cpa"; version="1.0"; sha256="14kcxayw4cdbjfa6bvfzqp8flwc0sr3hmh2dnr1dfax0hnccd71m"; depends=[]; };
-  cpca = derive { name="cpca"; version="0.1.2"; sha256="1pccsjahb1qynnxa0akhfpcmhfmdg4rd1s6pfqrdl7bwbcmq4lqf"; depends=[]; };
-  CPE = derive { name="CPE"; version="1.4.4"; sha256="09sqp2a0j43jr9ya9piv8575rwd5fdvwmiz4chv75r3mw8p128mn"; depends=[survival rms]; };
-  CpGassoc = derive { name="CpGassoc"; version="2.11"; sha256="01hx9flf4mq1kgg77dah7s33kdkdgnmckppcl1y806xsnxqxmrxq"; depends=[nlme]; };
-  CPHshape = derive { name="CPHshape"; version="1.0.1"; sha256="05krqcd4spgghp3ihv1zfql6ikd64vkqnrjghjvfki3hi3zi5k7h"; depends=[]; };
-  cpk = derive { name="cpk"; version="1.3-1"; sha256="1njmk2w6zbp6j373v5nd1b6b8ni4slgzpf9qxn5wnqlws8801n73"; depends=[]; };
-  cplexAPI = derive { name="cplexAPI"; version="1.2.11"; sha256="1rfvq2a561dz3szvrs9s5gsizwwp0b5rn4059v9divzw23clr2a9"; depends=[]; };
-  cplm = derive { name="cplm"; version="0.7-2"; sha256="0vwj130r5wbax9ixcn0fdznh1zrr0wq48iivmlymqbhbqajmv8fb"; depends=[coda Matrix biglm ggplot2 minqa nlme reshape2 statmod tweedie]; };
-  CPMCGLM = derive { name="CPMCGLM"; version="1.1"; sha256="1w8yp37vxz2cl0yqdzpyxdfq2scz2h9i4crjzjmjzpzffi45f06s"; depends=[mvtnorm plyr]; };
-  Cprob = derive { name="Cprob"; version="1.2.2"; sha256="18dzyfgxx32azmb02i1gr0fb6nq1b81wni9cgj3qgw8ga7lplgik"; depends=[prodlim tpr geepack lgtdl lattice]; };
-  CR = derive { name="CR"; version="1.0"; sha256="0smb2i560dwbxg3mp1svfxmaiw193pd3klwqq0i27czf07k1xfvj"; depends=[]; };
-  CRAC = derive { name="CRAC"; version="1.0"; sha256="0vnqmmmwakx5jnzqp20dng35p7rvmz3ypm2m7bs41m8nhh2wq1xa"; depends=[]; };
-  crackR = derive { name="crackR"; version="0.3-9"; sha256="18fr3d6ywcvmdbisqbrbqsr92v33paigxfbslcxf7pk26nzn2lly"; depends=[Hmisc evd]; };
-  cramer = derive { name="cramer"; version="0.9-1"; sha256="1dlapmqizff911v3jv8064ddg8viw28nq05hs77y5p4pi36gpyw4"; depends=[boot]; };
-  crank = derive { name="crank"; version="1.0-5"; sha256="1zy0z308kw0qgyppkm66p8vqw5b1qcn5avhm78zh0r9k60069dm5"; depends=[]; };
-  crantastic = derive { name="crantastic"; version="0.1"; sha256="0y2w9g100llnyw2qwjrib17k2r2q9yws77mf6999c93r8ygzn4f5"; depends=[]; };
-  crawl = derive { name="crawl"; version="1.4-1"; sha256="175w5933h5hhhjnrc0l1kg5q24b8pclnf5sf36gj1pmg8s58d1gp"; depends=[mvtnorm sp raster]; };
-  crblocks = derive { name="crblocks"; version="0.9-1"; sha256="1m6yy6jb1dld7m9jaasms5ps8sn3v039jvlk8b0c08hmm7y0rm3z"; depends=[]; };
-  crch = derive { name="crch"; version="0.1-0"; sha256="1f4y2dd6lxsryyjjv569bxh1b4ymcnma0m9k7j150anzvkbrgnjn"; depends=[Formula ordinal]; };
-  CreditMetrics = derive { name="CreditMetrics"; version="0.0-2"; sha256="16g3xw8r6axqwqv2f0bbqmwicgyx7nwzff59dz967iqna1wh3spi"; depends=[]; };
-  CRF = derive { name="CRF"; version="0.3-8"; sha256="0w9wfjlx6hvd07k0iszfyip0vn0ca5ax2d5g7hsg6pm2isnzap8a"; depends=[Rglpk Matrix]; };
-  crimCV = derive { name="crimCV"; version="0.9.3"; sha256="1p2cma78fb9a2ckmwdvpb6fc0818xw2mvq565dgiimgkdmmr0iid"; depends=[]; };
-  CRM = derive { name="CRM"; version="1.1.1"; sha256="09h6xvqc2h2gxhdhc7592z93cnw16l549pn9i26ml0f0n20hljmf"; depends=[]; };
-  crmn = derive { name="crmn"; version="0.0.19"; sha256="0gja9a2nk328hxali15kc2za32dgbjfznxh08yka6qf6jc6jx9g1"; depends=[pls]; };
-  crn = derive { name="crn"; version="1.1"; sha256="1fw0cwx478bs6hxidisykz444jj5g136zld1i8cv859lf44fvx2d"; depends=[chron RCurl]; };
-  crossdes = derive { name="crossdes"; version="1.1-1"; sha256="1d7lv3ibq1rwxx8kc3ia6l9dbz2dxdd5pnf2vhhjmwm448iamcfd"; depends=[AlgDesign gtools]; };
-  crossmatch = derive { name="crossmatch"; version="1.3-1"; sha256="082lrv2129mfhwlh99z3g8id3a29s8854skl152bl3ig8pk2gbjz"; depends=[survival nbpMatching]; };
-  crossReg = derive { name="crossReg"; version="1.0"; sha256="1866jhfnksv9rk89vw7w4gaxi76bxfjvqxx7cfa8nlrcsmaqd7rf"; depends=[]; };
-  crossval = derive { name="crossval"; version="1.0.1"; sha256="1xdl6cmmfkl46arbm71jhdsscjknclvsiaysijlp2p4vgw2762pa"; depends=[]; };
-  crp_CSFP = derive { name="crp.CSFP"; version="2.0"; sha256="0ji208hn3zimql0xhy8bl7w0vg40szw28fia7k1f7g9z0wbl9xqp"; depends=[MASS]; };
-  crqa = derive { name="crqa"; version="1.0.4"; sha256="05sp7dbi89wanhjlrbqb3ms9gl7s1h1iww26s4iy84i0pr0wg7br"; depends=[Matrix tseriesChaos fields]; };
-  crrSC = derive { name="crrSC"; version="1.1"; sha256="171cw56q2yv1vb4qd0va75i2q89jcw1126q8pcbv0235g7p2a86z"; depends=[survival]; };
-  crrstep = derive { name="crrstep"; version="2014-07.16"; sha256="15di36j44wxvwl7zhnz3s16lf65rnpj1bvgxf0glkkm0pw94ibrl"; depends=[cmprsk]; };
-  crs = derive { name="crs"; version="0.15-23"; sha256="0psb0qaj7xxpfsxylzyzsc4pzfybrrzjzgmr974znaqqwkngdkl4"; depends=[boot]; };
-  CRTSize = derive { name="CRTSize"; version="0.3"; sha256="0m7dc29p2vdpcgji4k4yrpmhv29b7n9i2n6qz6fm19jb2byqsrr5"; depends=[]; };
-  CrypticIBDcheck = derive { name="CrypticIBDcheck"; version="0.3-1"; sha256="1lrpwgvsif1wnp19agh8fs3nhlb7prr3hhqg28fi4ikdd1l2j3r4"; depends=[rJPSGCS car ellipse]; };
-  csampling = derive { name="csampling"; version="1.2-2"; sha256="0gj85cgc3lgv7isqbkng4wgzg8gqcic89768q2p23k4jhhn6xm2w"; depends=[marg statmod survival]; };
-  cSFM = derive { name="cSFM"; version="1.1"; sha256="1znxsqa8xdifmryg7jiqbpzm837n4n862kg5x1aki52crc4zyk3k"; depends=[sn mgcv mnormt MASS moments]; };
-  cshapes = derive { name="cshapes"; version="0.4-2"; sha256="015mkh0iwdbhpbk8gpnq48pp026mfidd69rj70arpmg3knd2jvff"; depends=[sp maptools plyr]; };
-  cslogistic = derive { name="cslogistic"; version="0.1-3"; sha256="1s8p3qpz81nn6zr0pzw6h9ca3p6ahd8zj640vy5gcb5waqwj6bfj"; depends=[mvtnorm]; };
-  csn = derive { name="csn"; version="1.1"; sha256="1cv5pv6g1b635c5bamq43339vh1rxadwjl4vxyrx56991wyr36sl"; depends=[mnormt]; };
-  csound = derive { name="csound"; version="0.1-1"; sha256="0d4bad8qld29k0yavg7f2srljnbax0gj53dljqw1b1z7shyqd1n5"; depends=[rdyncall]; };
-  CSS = derive { name="CSS"; version="1.0.2"; sha256="0p0c3gfj6p58hd4398kkpjg7rhx6wh5z6qddpqnvbm24acq7nrvh"; depends=[XML stringr]; };
-  csSAM = derive { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; };
-  cstar = derive { name="cstar"; version="1.0"; sha256="1zws4cq5d37hqdxdk86g85p2wwihbqnkdsg48vx66sgffsf1fgxd"; depends=[]; };
-  csvread = derive { name="csvread"; version="1.0"; sha256="0llldk4jg8kbr5nq91sb81hi0cn2ykgpg4bhky8zl8i90x2j8l63"; depends=[]; };
-  cts = derive { name="cts"; version="1.0-19"; sha256="16f6nah3w63bz8b9xlhi3a7mpkiywq6gqkxgm5am90g0bqg5j3py"; depends=[]; };
-  CTT = derive { name="CTT"; version="2.1"; sha256="0v8k54x9pib6hq3nz3m80g1a3p003f7bn8wnj9swwvacc90d6n44"; depends=[]; };
-  ctv = derive { name="ctv"; version="0.8-0"; sha256="1rh38i872hmhj36lmpg7c2p0p7hcvy2kfr5bfl9w7mqn9d9n39qs"; depends=[]; };
-  cubature = derive { name="cubature"; version="1.1-2"; sha256="1vgyvygg37b6yhy8nkly4w6p01jsqg2kyam4cn0vvml5vjdlc18a"; depends=[]; };
-  cubfits = derive { name="cubfits"; version="0.1-0"; sha256="0iylwxzz2aa70q1xqk8r1rkfiiscj3blwq7dshkwshh91l2fgzfw"; depends=[]; };
-  Cubist = derive { name="Cubist"; version="0.0.18"; sha256="176k9l7vrxamahvw346aysj19j7il9a2v6ka6dzmk0qq7hf3w9ka"; depends=[lattice reshape2]; };
-  cudaBayesreg = derive { name="cudaBayesreg"; version="0.3-15"; sha256="02akp2ib06hqb1vfqj27vj4y5m0pimy6qg69argq6g0bz5msrgp8"; depends=[cudaBayesregData oro_nifti]; };
-  cudaBayesregData = derive { name="cudaBayesregData"; version="0.3-11"; sha256="1cls9xqgps7icjpi1mllkrksdxwc1jfhxgffvrcrqx2l16vw6qfx"; depends=[]; };
-  cudia = derive { name="cudia"; version="0.1"; sha256="1ms3bc8sp6l3bm75j418mmb707sy3gyvxznhfias3nd4sw7i074x"; depends=[MCMCpack mvtnorm]; };
-  CUMP = derive { name="CUMP"; version="1.0"; sha256="0dbpgm75nbd4h8rf3ca5n4mgdn3qm4yyf2d48vlihakzw6rqbpka"; depends=[]; };
-  cumplyr = derive { name="cumplyr"; version="0.1-1"; sha256="07sz1wryl3kxbk67qyvnkrkdrp4virlsaia0y6rf9bqdw7rc6vi2"; depends=[]; };
-  cumSeg = derive { name="cumSeg"; version="1.1"; sha256="01hn3j1i7bi2r9vsqwbgy1f1alcisxyf4316xx57bg82lb34d0s5"; depends=[lars]; };
-  currentSurvival = derive { name="currentSurvival"; version="1.0"; sha256="0bqpfwf4v4pb024a98qwg81m6zd7ljg1ps42ifhxpqx7b9gdyi6c"; depends=[survival cmprsk]; };
-  curvetest = derive { name="curvetest"; version="2.2"; sha256="1lz6rx9fmgyrlci1dyanscp2a18ki9lhrwnrzhp062flysffimg6"; depends=[locfit R_oo R_methodsS3]; };
-  curvHDR = derive { name="curvHDR"; version="1.0-3"; sha256="0rq72prxv2r5nicss9mh4wpkfjvlbb885w85ag4qrqijzq6y8q04"; depends=[feature geometry hdrcde ks misc3d ptinpoly rgl]; };
-  cusp = derive { name="cusp"; version="2.2"; sha256="0c8hxsvvp2p86jwcbx1rzs6i8w2mh3dnsfmfkwpq9x28aps3dmd5"; depends=[]; };
-  cutoffR = derive { name="cutoffR"; version="1.0"; sha256="1801jylmpp4msyf07rhg4153kky1zvi4v0kkjb9d51dc7zkhh531"; depends=[ggplot2 reshape2]; };
-  cuttlefish_model = derive { name="cuttlefish.model"; version="1.0"; sha256="1rmkfyfd1323g2ymd5gi1aksp160cwy5ha5cjqh5r6fzd8hhqjxs"; depends=[]; };
-  cvAUC = derive { name="cvAUC"; version="1.0-0"; sha256="1z8l2ivv7h8din6q46ds3gnlsff10l4ry2kavqv9qsl4xkd8rim0"; depends=[ROCR]; };
-  CVcalibration = derive { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; };
-  CVD = derive { name="CVD"; version="1.0.0"; sha256="1lqx3rrq4abm7rxc6c9zlw0sc6flc6mll4xgfnasfrkai82kaf44"; depends=[]; };
-  cvplogistic = derive { name="cvplogistic"; version="3.1-0"; sha256="1lm66nn0q7665r64rdslxp35b7drdss4mys42ks54xdydcminns9"; depends=[]; };
-  cvq2 = derive { name="cvq2"; version="1.2.0"; sha256="19k95xg2y3wd4mx3wvbrc1invybd446g13vsp3dv05nw2kx4f6w8"; depends=[]; };
-  CVST = derive { name="CVST"; version="0.2-1"; sha256="17xacyi8cf37rr2xswx96qy7pwkaqq394awdlswykz3qlyzx4zx2"; depends=[kernlab Matrix]; };
-  CVThresh = derive { name="CVThresh"; version="1.1.1"; sha256="19d7pslzj8r3z5gn3cplpz2h2ayz6k1nrfx3s2b7a8w1il3vmi69"; depends=[wavethresh EbayesThresh]; };
-  cvTools = derive { name="cvTools"; version="0.3.2"; sha256="0b7xb6dmhqbvz32zyfbdvm9zjyc59snic6wp1r21ina48hchn3sj"; depends=[lattice robustbase lattice robustbase]; };
-  cvxclustr = derive { name="cvxclustr"; version="1.1.1"; sha256="0idmx4wgz4d0b1xzmlq5bsk2f2q38lpf9c117hg97xsfndzn7vqj"; depends=[Matrix igraph]; };
-  cwhmisc = derive { name="cwhmisc"; version="4.0"; sha256="1lvq2mcbdr38nzbx344c2y9ayi3lv9fkzwwf0l2jzan9s2sppxx2"; depends=[lattice]; };
-  cwm = derive { name="cwm"; version="0.0.3"; sha256="1ln2l12whjhc2gx38hkf3xx26w5vz7m377kv67irh6rrywqqsyxn"; depends=[MASS matlab permute]; };
-  cxxfunplus = derive { name="cxxfunplus"; version="1.0"; sha256="0kyy5shgkn7wikjdqrxlbpfl3zkkv4v1p8a1vv0xkncwarjs4n8d"; depends=[inline]; };
-  cycloids = derive { name="cycloids"; version="1.0"; sha256="00pdxny11mhfi8hf76bfyhd1d53557wcbl2bqwjzlpw5x3vdnsan"; depends=[]; };
-  cyphid = derive { name="cyphid"; version="1.1"; sha256="0ya9w8aw27n0mvvjvni4hxsr4xc8dd08pjxx7zkfl1ynfn5b08am"; depends=[fda]; };
-  cytoDiv = derive { name="cytoDiv"; version="0.5-3"; sha256="00c0gqgypywgbhavb15bvj6ijrk4b5zk86w85n9kwr4069b7jvwc"; depends=[GenKern plotrix]; };
-  d3Network = derive { name="d3Network"; version="0.5.1"; sha256="1nc5gca9jsny5jj8m37081l3rwvmp1cxqpqaimzyr475j6cac40r"; depends=[plyr rjson whisker]; };
-  DAAG = derive { name="DAAG"; version="1.20"; sha256="05jlsrs0frk9ky20h17c5vj9d4j28c9n0a1jww5lssacimn1d4x5"; depends=[lattice latticeExtra]; };
-  DAAGbio = derive { name="DAAGbio"; version="0.62"; sha256="18m4vq8vv0yi79na62nrm0cy1nlk7bg0xbddzxv5gpkmzi1i6m9s"; depends=[]; };
-  DAAGxtras = derive { name="DAAGxtras"; version="0.8-4"; sha256="18lg13mbyharidj5j7ncx8s7d72v2hcnqr00vilhf3djk2mjq7xn"; depends=[]; };
-  dae = derive { name="dae"; version="2.1-7"; sha256="0wchpq8hg2s33nm86dj6vqqvajg2062gbrxg6z7n9i2r6s1hmdjv"; depends=[lattice]; };
-  daewr = derive { name="daewr"; version="1.0-10"; sha256="09ra3zkmvxdxn0fvrbzixvvgddb066bba9q5zih5kifc8kd0a5xp"; depends=[FrF2 BsMD]; };
-  dafs = derive { name="dafs"; version="1.0-37"; sha256="1vdi57qaqdn39yf1ih2gzry02l289q4bffpksglsl4shs6bg2206"; depends=[s20x]; };
-  dagbag = derive { name="dagbag"; version="1.1"; sha256="1hpg7fs1yhnycziahscymkr0s3a2lyasfpj0cg677va73nrpdz12"; depends=[]; };
-  DAGGER = derive { name="DAGGER"; version="1.4"; sha256="0b2hzv001xhch7pqgb53lfpdcjwg5lj33i6pb884l1kx92svjfr7"; depends=[Rglpk quadprog Matrix]; };
-  dagR = derive { name="dagR"; version="1.1.3"; sha256="13jyhwjvvrjjja18rqzfdcw9ck90qm5yjwd25nygxgdf1894y03b"; depends=[]; };
-  Daim = derive { name="Daim"; version="1.1.0"; sha256="19s0p3a4db89i169n2jz7lf8r7pdmrksw7m3cp9n275b5h8yjimx"; depends=[rms]; };
-  DAKS = derive { name="DAKS"; version="2.1-2"; sha256="1817s7xd4h2zzaagmnw423qaxpa5fmxi3fh4h9hm2ra9w7nh6ljj"; depends=[relations sets]; };
-  DALY = derive { name="DALY"; version="1.3.0"; sha256="18naa4422zphdcngbdzahjn9gb7vgzg8jk3kpvn7vccjjcl36gjd"; depends=[]; };
-  DAMisc = derive { name="DAMisc"; version="1.2"; sha256="1fkp21inpgfr5lfid8wmajlcsqbnrgl5c35j0863sywvz6gamgc2"; depends=[car effects lattice sm MASS nnet pscl gdata xtable]; };
-  dams = derive { name="dams"; version="0.1"; sha256="0h0chh9ahsfvqhv1a0dfw88q7gdl1d0w11qcw0w4qmc2ipsl52i6"; depends=[RCurl]; };
-  DandEFA = derive { name="DandEFA"; version="1.5"; sha256="0d82rjkgqf4w7qg7irlqvzzav1f23i2gmygkbf8jycaa6xhli80d"; depends=[gplots polycor]; };
-  darch = derive { name="darch"; version="0.9.1"; sha256="0syrzmmz43msd51whkb4xy5n0kgcl50yw4w3i9sdd9k20glvwpsx"; depends=[futile_logger ff]; };
-  darts = derive { name="darts"; version="1.0"; sha256="07i5349s335jaags352mdx8chf47ay41q7b0mh2xjwn2h9kzgqib"; depends=[]; };
-  DatABEL = derive { name="DatABEL"; version="0.9-4.1"; sha256="1vfsfx8kmjdid5xxmm9sn873gs8nwk3bkdkiav74y1qa1fq2cyd5"; depends=[]; };
-  datacheck = derive { name="datacheck"; version="1.0.0"; sha256="03lms1m3g1rc6jj224hzzbv975xkdd0jsm602zn74j73i227fvmz"; depends=[Hmisc stringr shiny testthat xtable]; };
-  DataCombine = derive { name="DataCombine"; version="0.1.26"; sha256="0wvlr7983v5w0cnwqzv72qzx9abwaw2v2r0bq1ay0n1yxi9wnlf9"; depends=[data_table dplyr]; };
-  dataframes2xls = derive { name="dataframes2xls"; version="0.4.5"; sha256="0lfdp87k0yypwvnsr7803ylzqfy51l37zgwy9zn5nb6n30p588fv"; depends=[]; };
-  datalist = derive { name="datalist"; version="0.2"; sha256="0q82wira0sfi63cn66f5cfyd15f19ig7pbmpk56j38a3115l2fmn"; depends=[assertthat]; };
-  datamap = derive { name="datamap"; version="0.1-1"; sha256="0qm4zb9ldg4wz1a7paj5ilr1dhyagq81rk9l2v43hmkv52sssgkv"; depends=[DBI]; };
-  datamart = derive { name="datamart"; version="0.4.2"; sha256="1khhjva0kpl4j406lpn4n1bxlxk5wcmz4cbbrw71gi3bg3sxpd5y"; depends=[RJSONIO XML RCurl base64 markdown]; };
-  datamerge = derive { name="datamerge"; version="1.0-1"; sha256="03xb48igkh0f91iq6qc2j5xzqfy2n51ci5i850gn09mm9k4lxij1"; depends=[xtermStyle]; };
-  dataone = derive { name="dataone"; version="1.0.0"; sha256="0r2andiv1igygdd3rby4jqs0imhkyfyl0jzb67lc2vjgwh3m2rx0"; depends=[rJava XML dataonelibs rJava XML]; };
-  dataonelibs = derive { name="dataonelibs"; version="1.0.0"; sha256="12qp8vgdqhsfsnh06ml6lz0vvk934q4bpbg79p9l1hsnbxwnj2w6"; depends=[rJava]; };
-  dataQualityR = derive { name="dataQualityR"; version="1.0"; sha256="0f2410sd6kldv7zkqsmbz1js0p5iq7zwlnfwmmnlbrd303p35p3j"; depends=[]; };
-  data_table = derive { name="data.table"; version="1.9.2"; sha256="1fchjg939av89m0zsv85w2xcc8qriwkskk0mcsqy8ip6pcfnlg66"; depends=[reshape2]; };
-  datautils = derive { name="datautils"; version="0.1.4"; sha256="0adg87p9rzz62cm0s80x71mhsg3yfg93gskv1hs1l8gaj78zd1y1"; depends=[deldir gplots gtools]; };
-  dataview = derive { name="dataview"; version="2.0-9"; sha256="0519h2c33v04vwdd8nz9xmqha15svhxdj761d68qmi52jrw6858d"; depends=[xtermStyle]; };
-  date = derive { name="date"; version="1.2-34"; sha256="066zsddpw87x1bhl3479k6fd1wrl3x91n5rd454diwmwq2s8i5qb"; depends=[]; };
-  DATforDCEMRI = derive { name="DATforDCEMRI"; version="0.55"; sha256="0v26a1gi8l21ga5nqcnyfaa7gc8zxq6wk95b96ajgpdybb0l9s53"; depends=[xtable akima R_oo R_methodsS3 matlab lattice locfit]; };
-  dave = derive { name="dave"; version="1.5"; sha256="0sw9hc4y9wdfbnnk6isg7z7sky6ni68pkjxdlrph5m7jcyqphz96"; depends=[labdsv vegan]; };
-  Davies = derive { name="Davies"; version="1.1-8"; sha256="1wp7ifbs4vqfrn4vwh09lc53yiagpww91m5mxmcr62mjbw8q7zhr"; depends=[]; };
-  dawai = derive { name="dawai"; version="1.0"; sha256="0vff248ldm24dk7kh2z2sj5m4g7jc5nmnlqay5j4h0gsk95fb8d5"; depends=[mvtnorm ibdreg boot]; };
-  dbarts = derive { name="dbarts"; version="0.8-3"; sha256="17yd0xsb9z175p8gjq06yycbxlqc58q0bd5mz31aspwva96brmjh"; depends=[]; };
-  dbConnect = derive { name="dbConnect"; version="1.0"; sha256="1vab5l4cah5vgq6a1b9ywx7abwlsk0kjx8vb3ha03hylcx546w42"; depends=[RMySQL gWidgets]; };
-  dbEmpLikeGOF = derive { name="dbEmpLikeGOF"; version="1.2.4"; sha256="0vhpcxy702cp3lvlif2fzmvccys8iy7bv1fbg6ki2l8bvn2f7c5p"; depends=[]; };
-  dbEmpLikeNorm = derive { name="dbEmpLikeNorm"; version="1.0.0"; sha256="0h5r2mqgallxf9hin64771qqn9ilgk1kpsjsdj2dqfl3m8zg967l"; depends=[dbEmpLikeGOF]; };
-  DBFTest = derive { name="DBFTest"; version="1.0"; sha256="0h83ic16z0lg7grjh4jbrxf672qchqv4zzypm2b1mhmzl01jn1wg"; depends=[]; };
-  DBGSA = derive { name="DBGSA"; version="1.2"; sha256="04zqh9y3nqcdzs5jn8aaq5idy9zl450ikvl788xs860wlg692qv2"; depends=[fdrtool]; };
-  DBI = derive { name="DBI"; version="0.2-7"; sha256="1qxmcgswrbisvzmaz2s6bcfbh3lb2hmizjxaqkan147r823rh2p9"; depends=[]; };
-  DBKGrad = derive { name="DBKGrad"; version="1.5"; sha256="0k0bl680ynblbla5k9fndh5x7a6f8jyr402a7dg9cjnhhw5q7bxc"; depends=[minpack_lm SDD TSA lattice]; };
-  dblcens = derive { name="dblcens"; version="1.1.7"; sha256="02639vyaqg7jpxih8cljc8snijb78bb084f4j3ns6byd09xbdwcw"; depends=[]; };
-  dbmss = derive { name="dbmss"; version="2.1.1"; sha256="1x1148csb6r2xckah3ha595hxx26i3cx3xp99sdwp9dic1hg8ral"; depends=[spatstat Rcpp cubature]; };
-  dbstats = derive { name="dbstats"; version="1.0.3"; sha256="1l7yy6m98pkkrzycxcajjjw2h0crbm0fazyq9xg8875ar29i291p"; depends=[cluster pls]; };
-  dcemriS4 = derive { name="dcemriS4"; version="0.51"; sha256="14ir9g4jg8asim8f33wizmvj6vm96583h212yygsa6yc301bhad8"; depends=[oro_nifti]; };
-  DCGL = derive { name="DCGL"; version="2.1.1"; sha256="16jdlpl09q9pcymk5xxca2ba0vqv2l05wzi4ffb9ffydxpxy61j9"; depends=[igraph]; };
-  dcGOR = derive { name="dcGOR"; version="1.0.2"; sha256="03k6bmnn7qi0192243s9n640fh55rng2r1s8z5zs6ziwrlym7zm2"; depends=[Matrix igraph dnet]; };
-  DCL = derive { name="DCL"; version="0.1.0"; sha256="1ls3x3v0wmddfy7ii7509cglb28l1ix1zaicdc6mhwin0rpp2rx3"; depends=[lattice latticeExtra]; };
-  dclone = derive { name="dclone"; version="2.0-0"; sha256="1j8g955rvdgcmc9vnz3xizlkq8w1bslav5h72igvzzffcvqbj9hq"; depends=[coda]; };
-  DCluster = derive { name="DCluster"; version="0.2-6"; sha256="0g7d15kq3dbrjmd5fmiwwg2b6gakz1lpsgrpkg6q89pzwlqx8xr9"; depends=[boot spdep MASS]; };
-  dcmle = derive { name="dcmle"; version="0.2-4"; sha256="0ddb0x0lwk8jgx05k747sa33d2rrj4g2p4aj0m5bw1c9d5gril0m"; depends=[dclone rjags coda lattice]; };
-  dcmr = derive { name="dcmr"; version="1.0"; sha256="1a89wr1n8sykjbwa316zlmcffaysksrqnbd89anxqj8sgw9xv6jq"; depends=[ggplot2 KFAS plyr reshape2 tableplot]; };
-  dcv = derive { name="dcv"; version="0.1.1"; sha256="12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj"; depends=[lmtest]; };
-  ddalpha = derive { name="ddalpha"; version="1.0.6"; sha256="1scfmq6zsbd15n6mnnplj0c4a0yl8bp7nqqh91cvvycggb5y0a1v"; depends=[MASS class robustbase]; };
-  DDD = derive { name="DDD"; version="2.5"; sha256="1svm6l8ssnnf5g3hci46pvw6amisyy1dvfm0mvdryglgfc8vv6jd"; depends=[deSolve ape ade4]; };
-  ddepn = derive { name="ddepn"; version="2.2"; sha256="1zwz664jq6qvf1lcwyfn6kyn6dwxhh2nnyirayx0vqs9c6xzpir7"; depends=[lattice coda igraph gam gplots]; };
-  DDHFm = derive { name="DDHFm"; version="1.1.1"; sha256="03zs2zbrhjcb321baghva7b8y61c8p9z6bfj2vg9cvadpb0260nk"; depends=[]; };
-  DDIwR = derive { name="DDIwR"; version="0.1-0"; sha256="0rf1gj1lzbivkz0pqxbih1zqjccv2rhaqrfdhpwbsqhlw12qkkg5"; depends=[XML foreign]; };
-  ddst = derive { name="ddst"; version="1.03"; sha256="0zbqw4qmrh80jjgn8jzbnq3kykj1v5bsg6k751vircc0x9vnig3j"; depends=[orthopolynom evd]; };
-  deal = derive { name="deal"; version="1.2-37"; sha256="1nn2blmxz3j5yzpwfviarnmabbyivc25cbfhcf814avrhpysvpxa"; depends=[]; };
-  deamer = derive { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; };
-  debug = derive { name="debug"; version="1.3.1"; sha256="0mpwi6sippxyr1l8xf48xqv6qw6pmfkxs13k1gjyd7bkzlbchgqd"; depends=[mvbutils]; };
-  decctools = derive { name="decctools"; version="0.2.0"; sha256="0k5w49s9s51m7w1h5adk26nw1ypwv5g1mlal78qmx5a4jzaf5bw9"; depends=[XLConnect stringr XML reshape2 RCurl lubridate plyr]; };
-  DECIDE = derive { name="DECIDE"; version="1.1"; sha256="1g6l2k4nmspg5y4gzxcnx58kix0br6sgmf54jlaxk69nkvdxm9xy"; depends=[]; };
-  decon = derive { name="decon"; version="1.2-4"; sha256="1v4l0xq29rm8mks354g40g9jxn0didzlxg3g7z08m0gvj29zdj7s"; depends=[]; };
-  Deducer = derive { name="Deducer"; version="0.7-7"; sha256="1x97rz92v1hx30fdmgd1lnzydgygjp6zh20v082qymvh997l1zzd"; depends=[ggplot2 JGR car MASS rJava e1071 scales plyr foreign multcomp effects]; };
-  DeducerExtras = derive { name="DeducerExtras"; version="1.7"; sha256="0sngsq31469a74y7nhskl82fwy2i0ga68m9g6b1xyhxz1a8kgvlg"; depends=[Deducer irr rJava]; };
-  DeducerPlugInExample = derive { name="DeducerPlugInExample"; version="0.2-0"; sha256="03aw7wr957xzw920ybyzxnck5kx0q2xpcrpq8jh2afyzszy6hzbi"; depends=[Deducer]; };
-  DeducerPlugInScaling = derive { name="DeducerPlugInScaling"; version="0.1-0"; sha256="1qg11vi4szznchh54p9345jbmrfzfr9z5l3x5xz4m86myjkys1mb"; depends=[Deducer psych GPArotation mvnormtest irr klaR]; };
-  DeducerSpatial = derive { name="DeducerSpatial"; version="0.7"; sha256="0133qk3yjcifyha7c4pqr5s0hmbci72bzgil2r0sxjmrljs3q727"; depends=[JavaGD Deducer sp maptools OpenStreetMap scales rgdal UScensus2010 Hmisc]; };
-  DeducerSurvival = derive { name="DeducerSurvival"; version="0.1-0"; sha256="03qk3y4pibvrxbnxbm5rlksw807dvbilip1jbpn1r7k02ibzq676"; depends=[Deducer]; };
-  DeducerText = derive { name="DeducerText"; version="0.1-2"; sha256="0if2p9j74wa5rva4iv0i8iax22grl9j7lqcqzqlywjgqwnlzxa05"; depends=[Deducer tm wordcloud RColorBrewer SnowballC]; };
-  deducorrect = derive { name="deducorrect"; version="1.3-4"; sha256="0hpq0cahfar9y9f6mvpmx35mvinwnnmqq16y9yzrmzbxjkylz2ja"; depends=[editrules]; };
-  deepnet = derive { name="deepnet"; version="0.2"; sha256="09crwiq12wzwvdp3yxhc40vdh7hsnm4smqamnk4i6hli11ca90h4"; depends=[]; };
-  Defaults = derive { name="Defaults"; version="1.1-1"; sha256="0ikgd5mswlky327pzp09cz93bn3mq7qnybq1r64y19c2brbax00d"; depends=[]; };
-  degenes = derive { name="degenes"; version="1.1"; sha256="1xxn5j06qizywimrp1pl8z3yjdy1a167b9jnm77gmv87rp6j240c"; depends=[]; };
-  degreenet = derive { name="degreenet"; version="1.2"; sha256="07b6phgyydfp8jwjvrqcvcx3b2qhbkr44xkcn20ya1igsbyh6kzz"; depends=[]; };
-  Delaporte = derive { name="Delaporte"; version="2.2-0"; sha256="063cqcizqby81k71lnkrnrcxafrnwqfj20y1k38yp9giwgm1ndxs"; depends=[Rcpp]; };
-  deldir = derive { name="deldir"; version="0.1-6"; sha256="1hbvkcyclnrrh3xrixn23z1f51n41khcqi5b6gx40qpq0zsbn7sn"; depends=[]; };
-  deltaPlotR = derive { name="deltaPlotR"; version="1.4"; sha256="0lmwwaazyrbnp4nsvl2mydcpij34xv9hbyqwcjwx4vij33034k2p"; depends=[MASS]; };
-  Demerelate = derive { name="Demerelate"; version="0.8-1"; sha256="1qngwlzzpd2cmij5ldrmhcn12s9yxd0rargc5vzvkrwcqpkgylkn"; depends=[Formula fts sfsmisc vegan mlogit]; };
-  DEMEtics = derive { name="DEMEtics"; version="0.8-7"; sha256="1s59qim60d4gp5rxjacdbmxdbpdm7cy9samn088w8fs0q232vjjx"; depends=[]; };
-  demi = derive { name="demi"; version="1.1.1"; sha256="19zszmjcczmz9qjp1dhvf92w134266w4qwskdpz36q72m5455zdb"; depends=[plyr R_utils]; };
-  demography = derive { name="demography"; version="1.17"; sha256="01yq3wzzcdclgklxqr3sgxglnw18ljxnhzlmzaj9fzqqdw6xngv3"; depends=[forecast rainbow ftsa cobs mgcv strucchange RCurl]; };
-  demoKde = derive { name="demoKde"; version="0.9-3"; sha256="1nkvsjms1gfvjz5l7zza0cgx4yqmn2kgnax44pysn0zqmhfny8bw"; depends=[]; };
-  dendextend = derive { name="dendextend"; version="0.16.1"; sha256="1qgvr26kn016qwgbaff4r8xqpsvxl3plv1nxafq7rq4havzhfgf9"; depends=[magrittr whisker ape]; };
-  dendextendRcpp = derive { name="dendextendRcpp"; version="0.5.1"; sha256="062f7yjsg196v8c09h6gvbhi0fzgwg40a8xhi751avkjc68z30cq"; depends=[Rcpp dendextend]; };
-  dendroextras = derive { name="dendroextras"; version="0.2.1"; sha256="0k1w374r4fvfcbzhrgcvklccjggyz755z7wc2vqfi3c5hvdb9ns4"; depends=[]; };
-  DendSer = derive { name="DendSer"; version="1.0.1"; sha256="0id6pqx54zjg5bcc7qbxiigx3wyic771xn9n0hbm7yhybz6p3gz9"; depends=[gclus seriation]; };
-  dendsort = derive { name="dendsort"; version="0.2.1"; sha256="10qhvxbyziy0xw40j35xsk4sixqc4l0653jgd01spmn4dm1ihj33"; depends=[]; };
-  denpro = derive { name="denpro"; version="0.9.1"; sha256="0ihgk300njhp6dzm1gsmknlx4c5h6kiwprgv3l3f29s6gdxx4f6n"; depends=[]; };
-  densityClust = derive { name="densityClust"; version="0.1-1"; sha256="1apv9n871dshln5ccg8x3pwqi8yfx73ijfqsvzcljqnv36qpqpqd"; depends=[]; };
-  Density_T_HoldOut = derive { name="Density.T.HoldOut"; version="1.02"; sha256="0xjr6z136c0vgsb609xcqf6g4ivyvgpfr4qkwdlj9z5g7gcf3bhl"; depends=[histogram]; };
-  denstrip = derive { name="denstrip"; version="1.5.3"; sha256="10h8ivs7nd6gkf93zvqzqjb1lzfabvvs182636m67f86jfn6d4y4"; depends=[]; };
-  DEoptim = derive { name="DEoptim"; version="2.2-2"; sha256="0yayp056knd7d6bvk07k7rnj79vibmkzflnk71dsfbkk5yx7vc77"; depends=[]; };
-  DEoptimR = derive { name="DEoptimR"; version="1.0-1"; sha256="02c1pmpg42wwmp3wjfi09qbidclclwmrmd3gbfvrnivq7ngp2zil"; depends=[]; };
-  depend_truncation = derive { name="depend.truncation"; version="2.1"; sha256="1b13mqm8pjw0r0z5h7vizz15nzhslxhcn4cb8pzadyq98mcmk4g2"; depends=[mvtnorm]; };
-  depmix = derive { name="depmix"; version="0.9.12"; sha256="0brs6cskrk52dn41zaqa59dxz377sl9lnh89457d3ykbj4jbc97c"; depends=[MASS]; };
-  depmixS4 = derive { name="depmixS4"; version="1.3-2"; sha256="18xmn5fv9wszh86ph91yypfnyrxy7j2gqrzzgkb84986fjp2sxlq"; depends=[nnet MASS Rsolnp]; };
-  depth = derive { name="depth"; version="2.0-0"; sha256="1aj4cch3iwb6vz0bzj4w5r6jp2qs39g8lxi2nmpbi3m7a6qrgr2q"; depends=[abind rgl circular]; };
-  depthTools = derive { name="depthTools"; version="0.4"; sha256="1699r0h1ksgrlz9xafw2jnqfsc7xs0yaw97fc6dv3r11x6gxk00y"; depends=[]; };
-  descr = derive { name="descr"; version="1.0.3"; sha256="0x3hpr1sy6cpqn434i5z9g4n2insfv7hmks9igx3fnkr5vad7q8l"; depends=[xtable]; };
-  DescribeDisplay = derive { name="DescribeDisplay"; version="0.2.4"; sha256="13npxq1314n4n08j6hbmij7qinl1xrxrgc5hxpbbpbd16d75c7iw"; depends=[proto reshape2 ggplot2 plyr scales GGally]; };
-  DescTools = derive { name="DescTools"; version="0.99.7"; sha256="0a53r3spwwq641mgzgj7xipfbrgnwd0radn92n17ra4ffxa6f3bh"; depends=[boot]; };
-  deseasonalize = derive { name="deseasonalize"; version="1.35"; sha256="1fjsa7g34dckjs6mx9b10m99byxagggm0p9pw2f1vmpjqlasin0l"; depends=[lattice FitAR]; };
-  designGG = derive { name="designGG"; version="1.1"; sha256="1x043j36llwd7kd4skbpl2smz2ybsxjqf5yd1xwqmardq60gdv2w"; depends=[]; };
-  desirability = derive { name="desirability"; version="1.6"; sha256="17g998fmps4ypiscqd2nmh38sd0q7k3r60h2zdrq3wbm1vyyzygk"; depends=[]; };
-  desire = derive { name="desire"; version="1.0.7"; sha256="0jmj644nj6ck0gsk7c30af9wbg3asf0pqv1fny98irndqv508kf6"; depends=[loglognorm]; };
-  DESnowball = derive { name="DESnowball"; version="1.0"; sha256="012kdnxmzap6afc3ffkcvk1mazlkp286av6g9fwz2wcbf5mh9n1m"; depends=[clue combinat MASS cluster]; };
-  deSolve = derive { name="deSolve"; version="1.10-9"; sha256="03zqq3lfcc9k0zyfm2mhyzkq2crn1m5gaw1w0x377zrrasl3fw9g"; depends=[]; };
-  detect = derive { name="detect"; version="0.3-2"; sha256="1mjc8h3xb2zbj4dxala8yqbdl94knf9q0qvkc37ag1b2w4y2d2b0"; depends=[Formula]; };
-  deTestSet = derive { name="deTestSet"; version="1.1.1"; sha256="1qc8sj44zlndyr9k5r179pmy8kyq0wawz7q2xgdmnx27j2rjls43"; depends=[ReacTran]; };
-  detrendeR = derive { name="detrendeR"; version="1.0.4"; sha256="1z10gf6mgqybb9ml6z3drq65n7g28h2pqpilc2h84l6y76sy909c"; depends=[dplR]; };
-  DetSel = derive { name="DetSel"; version="1.0.2"; sha256="0igkccclmjwzk7sl414zlhiykym0qwaz5p76wf4i7yrpjgk7mhl9"; depends=[ash]; };
-  devEMF = derive { name="devEMF"; version="1.2"; sha256="14nqx1gy6hlkmzrrayd7kgljla9flxx4xm329436znd66184sass"; depends=[]; };
-  Devore6 = derive { name="Devore6"; version="0.6-0"; sha256="093jbz405wi0zf4nhracy80pl3m7255lq7jkbymfd5snpr9gnb53"; depends=[]; };
-  Devore7 = derive { name="Devore7"; version="0.7.6"; sha256="1m18p8h9vv4v0aq2fkjyj39vzb8a09azbbczhfiv4y88w540i8nw"; depends=[MASS lattice]; };
-  devtools = derive { name="devtools"; version="1.5"; sha256="1gd8skhj7612zbci361h3yys6iwxr7dvgrjr99vs7b0c0mglm7hp"; depends=[httr RCurl memoise whisker evaluate digest]; };
-  df2json = derive { name="df2json"; version="0.0.2"; sha256="10m7xn7rm4aql1bzpckjcx5kvdw44m1pxgzqkgkd40lzqb1cwk18"; depends=[rjson]; };
-  dfcrm = derive { name="dfcrm"; version="0.2-2"; sha256="1kwgxfqnz2bcicyb27lp6bnvrj30lqjpn5fg7kaqshgkj53g0s4f"; depends=[]; };
-  dfexplore = derive { name="dfexplore"; version="0.2.1"; sha256="04nbhn59l1kas26nwj4qflkjvvr33sj1mm7zg7fhvya85gvlhrbf"; depends=[ggplot2]; };
-  DFIT = derive { name="DFIT"; version="1.0-1"; sha256="190k577qvbpbzgyys1r52fq1w642aq5syp2p9d7y6zp4g3xra1sr"; depends=[simex mvtnorm ggplot2]; };
-  dfoptim = derive { name="dfoptim"; version="2011.8-1"; sha256="19j0h5xdrbmykz2nrjrwqwaw7466zvqaiwafrm1jc12mk5azfcqx"; depends=[]; };
-  dglars = derive { name="dglars"; version="1.0.5"; sha256="02g8x4p98jv3cfwfxvh68aivb72651w4977g4xqksq0p4nqcs636"; depends=[]; };
-  dglm = derive { name="dglm"; version="1.6.2"; sha256="0w9rrvlhy2vd9mmp04i1hc3s1w228p0sicwg56rjywsmfqfr81vv"; depends=[statmod]; };
-  dgmb = derive { name="dgmb"; version="1.1"; sha256="134ckgq7rsdypg3c586kkhr9rx5ya34smp38i9lzvbdanzrpf33w"; depends=[MASS abind]; };
-  dgof = derive { name="dgof"; version="1.2"; sha256="02qnb3i131hx05k8l5n3xbl5sqmmc2fh19bsgcacgj8ixs4wyjvi"; depends=[]; };
-  dhglm = derive { name="dhglm"; version="1.2"; sha256="14wa0xkwb1qvkynk95aw6y4rx3jjdki19wdydg3wv5nfagcc4vdz"; depends=[Matrix numDeriv boot]; };
-  diagram = derive { name="diagram"; version="1.6.2"; sha256="0jxy1rwph29w8q1383ykbnpq61p220azyv6miq1dx0v2fk5579da"; depends=[shape]; };
-  DiagTest3Grp = derive { name="DiagTest3Grp"; version="1.6"; sha256="04dxyyqv333rkjf2vlfpal59m7klhw6y7qilym6nw78qb1kqqys7"; depends=[car KernSmooth gplots]; };
-  diaplt = derive { name="diaplt"; version="1.2.1"; sha256="0pya6rqzsvc5nd3smhydvabarglc4nn04q605vbllmbhq9rv00pa"; depends=[]; };
-  dice = derive { name="dice"; version="1.1"; sha256="0wnmiyrf57kjkby26z9lgplphv3p15dfxgsbbsgwq65md2d6idyn"; depends=[gtools]; };
-  DiceDesign = derive { name="DiceDesign"; version="1.6"; sha256="1djq7clga3cvpgfycs3zjj106213yhfj9909sqrni70nj1nwdpj9"; depends=[]; };
-  DiceEval = derive { name="DiceEval"; version="1.3"; sha256="1vp9zwd09cwl3c8066jr9d3w4yic70fvd40r7hsj2y8d0bhiwl82"; depends=[DiceKriging]; };
-  DiceKriging = derive { name="DiceKriging"; version="1.5.3"; sha256="14826fwsj6cifksyd605nbfxlfwnapr80inm4chjmm0f2xjc4r5n"; depends=[]; };
-  DiceOptim = derive { name="DiceOptim"; version="1.4"; sha256="11k6gqw8bcfcnxhm6a039vnkdm7526h3aszjqwfp1s7m157w8kp2"; depends=[DiceKriging rgenoud MASS lhs]; };
-  DiceView = derive { name="DiceView"; version="1.3-1"; sha256="0c7i1jy13d5bj822q1rp0d7gmmfjd00jaah34pnj8fzwyrq404z9"; depends=[DiceKriging DiceEval rgl]; };
-  dichromat = derive { name="dichromat"; version="2.0-0"; sha256="1l8db1nk29ccqg3mkbafvfiw0775iq4gapysf88xq2zp6spiw59i"; depends=[]; };
-  dicionariosIBGE = derive { name="dicionariosIBGE"; version="1.5"; sha256="03gsp5h39a4s6zgvwnrfdyj1wzrp688qk8g5hdr8rk3a2rzbbzgg"; depends=[]; };
-  dielectric = derive { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; };
-  DierckxSpline = derive { name="DierckxSpline"; version="1.1-9"; sha256="07bp86zfbcp3d7jdhfap3z1sy15534qvdapdzscbyr2x82mmqpy3"; depends=[lattice PolynomF fda]; };
-  diffdepprop = derive { name="diffdepprop"; version="0.1-9"; sha256="0mgrm1isr26v2mcm6fkzc7443ji00vpnqmw4zngx81n7442b3cl2"; depends=[gee rootSolve PropCIs]; };
-  diffEq = derive { name="diffEq"; version="1.0"; sha256="17b6yw5xhlk70wvv58348hy1237sjwkxfrgkyw876piy50dxmnz8"; depends=[deSolve rootSolve bvpSolve ReacTran diagram deTestSet scatterplot3d]; };
-  diffIRT = derive { name="diffIRT"; version="1.4"; sha256="13axwzsrlr1akj4viwsyaplh11krixg3l07qi58c81jrcrmqpgv1"; depends=[statmod]; };
-  diffractometry = derive { name="diffractometry"; version="0.1-8"; sha256="1m6cyf1kxm9xf1z4mn4iz0ggiy9wcyi8ysbgcsk7l78y7nqh1h99"; depends=[]; };
-  diffusionMap = derive { name="diffusionMap"; version="1.1-0"; sha256="1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3"; depends=[scatterplot3d igraph Matrix]; };
-  DIFlasso = derive { name="DIFlasso"; version="1.0-1"; sha256="048d5x9nzksphsdk9lwfagl165bb40r0pvjq2ihvhqvxspgpar4b"; depends=[grplasso penalized miscTools]; };
-  difR = derive { name="difR"; version="4.5"; sha256="0qlaqpywyjggw74h5y5r2aivcyknc6b7l8b1p69g3lyx4d2hz8wp"; depends=[lme4 ltm]; };
-  digest = derive { name="digest"; version="0.6.4"; sha256="06xbklq6laffv609hsfqyj04fhdnr9bgjh6ala7253h9vvkjch1k"; depends=[]; };
-  Digiroo2 = derive { name="Digiroo2"; version="0.6"; sha256="1b1ahhqz5largjadlk5n6nw2183c05k28mksb1wm26y0lps0vdgr"; depends=[maptools spatstat spdep]; };
-  dils = derive { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp]; };
-  DIME = derive { name="DIME"; version="1.2"; sha256="11l6mk6i3kqphrnq4iwk4b0ridbbpg2pr4pyqaqbsb06ng899xw0"; depends=[]; };
-  dinamic = derive { name="dinamic"; version="1.0"; sha256="0mx72q83bbwm10ayr3f1dzwr5wgz7gclw7rh39yyh95slg237nzr"; depends=[]; };
-  diptest = derive { name="diptest"; version="0.75-5"; sha256="13nml4fp2y77x396xm4j9h8k2cdinfmkna1fr0jpmy3lpcj3h6vs"; depends=[]; };
-  DIRECT = derive { name="DIRECT"; version="1.0"; sha256="129bx45zmd6h7j6ilbzj2hjg4bcdc08dvm2igggi8ajndl1l5q9j"; depends=[]; };
-  directlabels = derive { name="directlabels"; version="2013.6.15"; sha256="083cwahz320r4w4jbh62pxmzn1i1hixp398zm8f2fpzh4qp5y44g"; depends=[quadprog]; };
-  directPA = derive { name="directPA"; version="1.0"; sha256="16bllp7afb83y73zr5wxfkad7vxzfqwdmhcxfa5jml4hlvkhgv1r"; depends=[]; };
-  DirichletReg = derive { name="DirichletReg"; version="0.4-0"; sha256="1azrqx1wa7yaary3qk4pz605xzvzdvwqwz5darl2aighwafzgy8d"; depends=[maxLik Formula rgl]; };
-  dirmult = derive { name="dirmult"; version="0.1.3-4"; sha256="1r9bhw1z0c1cgfv7jc0pvdx3fpnwplkxwz8j8jjvw14zyx803rnz"; depends=[]; };
-  Disake = derive { name="Disake"; version="1.0"; sha256="1i58q6dqk980mk8qj66hbqd64wmkvpa4v0z6c0q3lkirsvdm4cwv"; depends=[]; };
-  disclap = derive { name="disclap"; version="1.5"; sha256="0piv9gxhxcd4pbh5qjn9c3199f32y3qiw5vy8cr77ki70dnmr66n"; depends=[]; };
-  disclapmix = derive { name="disclapmix"; version="1.5"; sha256="03y1ajaz52kar5wj8csh66kdm8ywin9jpwnj40mkz6fjqi50lhb1"; depends=[Rcpp disclap cluster]; };
-  DiscML = derive { name="DiscML"; version="1.0.1"; sha256="0qkh0yak1kmzxxx0cqb47zgrj8v2s1d5danpibwwg43j138sb73l"; depends=[ape]; };
-  DiscreteInverseWeibull = derive { name="DiscreteInverseWeibull"; version="1.0"; sha256="0lnpcpwfgl5ncaa67a32nvviv1wn60dprd781dpjljhgja4hrsa7"; depends=[Rsolnp]; };
-  DiscreteLaplace = derive { name="DiscreteLaplace"; version="1.0"; sha256="1mwqvlhgswqp697zjl6yjzqbgazycwwz6dfdvx8s72hdmnlqqr9r"; depends=[]; };
-  discreteMTP = derive { name="discreteMTP"; version="0.1-2"; sha256="13qsf1kc3rph0kkdkz31qj072www5dwjyk73lfpy141rzhcn1v1x"; depends=[]; };
-  discreteRV = derive { name="discreteRV"; version="1.1.2"; sha256="1mq05an70m7k36ip22igbmb2i63gxxf7y9ivb5wn25yx0fynarpk"; depends=[]; };
-  DiscreteWeibull = derive { name="DiscreteWeibull"; version="1.0"; sha256="0v8za4arqarf20jrw38dzcjxdwfdpn0ss7p5yxbwhylnj7qz207w"; depends=[Rsolnp]; };
-  discretization = derive { name="discretization"; version="1.0-1"; sha256="00vq2qsssnvgpx7ihbi9wcafpb29rgv01r06fwqf9nmv5hpwqbmp"; depends=[]; };
-  discrimARTs = derive { name="discrimARTs"; version="0.2"; sha256="088v4awic4bhzqcr7nvk2nldf8cm1jqshg2pzjd2l2p1cgwmlxib"; depends=[RUnit]; };
-  DiscriMiner = derive { name="DiscriMiner"; version="0.1-29"; sha256="1ii8aa4dwfk991qdnpmkva20wvs5fqcna9030c799ybf11qpdass"; depends=[]; };
-  diseasemapping = derive { name="diseasemapping"; version="0.7.5"; sha256="0i5za00p2pgbwak5gl006yamklzg2m6xcxmqba1kiz16dddfscqq"; depends=[sp mgcv]; };
-  diskmemoiser = derive { name="diskmemoiser"; version="1.0-1"; sha256="0lacadc3mm1w55sff3lphp3xrr1inn2r382c1z8gf6kzal7c9pd8"; depends=[digest]; };
-  dismo = derive { name="dismo"; version="0.9-3"; sha256="1vr24kx4mv15wivpk6lw1j8l4422p5al80fld8x6fcp31sf7q652"; depends=[raster sp]; };
-  disp2D = derive { name="disp2D"; version="1.0"; sha256="0q5bds2r1mqzcwmnj61dmwqv6b0s0scq5h3nim47q3wp0n4gbslz"; depends=[geometry]; };
-  displayHTS = derive { name="displayHTS"; version="1.0"; sha256="0mqfdyvn2c5c3204ykyq29ydldsq0kb3a1d7mrzqr7cvrj1ahlqa"; depends=[]; };
-  dispmod = derive { name="dispmod"; version="1.1"; sha256="141gzhnmxxl495cpjgd4wnvdrbz6715m6sd1pycrbaqrsdc1pv57"; depends=[]; };
-  dissUtils = derive { name="dissUtils"; version="1.0"; sha256="00fzlmkdfw2s3k824wp2pk3v7cvxnywi1hfp86g4mm95z2qlw9br"; depends=[]; };
-  Distance = derive { name="Distance"; version="0.9.1"; sha256="04bk0kplpmz3qifyar1fs8jrkyk55a4z1yxwkxx957r419afl6l4"; depends=[mrds]; };
-  DistatisR = derive { name="DistatisR"; version="1.0"; sha256="1il00v26q68h5dd5c9lm2jblgn8hs6n0457r13mlw6r7pcj0158j"; depends=[prettyGraphs car]; };
-  distfree_cr = derive { name="distfree.cr"; version="1.0"; sha256="13y714l6b3kkpp75fdrsbdclgj1vw1xsvbj9pxi4lkwf11wwmrqr"; depends=[]; };
-  distillery = derive { name="distillery"; version="1.0-1"; sha256="0hfj4qbfb5219dm7yrgf2h4jrh2qsjhwrbv8gbrxcr0xf6gqbxmv"; depends=[]; };
-  distory = derive { name="distory"; version="1.4.2"; sha256="12j19cb1b4prm8m43gya15kia1ii1k0yy7hkngpn2vsyk7n2z65m"; depends=[ape]; };
-  distr = derive { name="distr"; version="2.5.3"; sha256="13ssdidbh4x534f0vvhfpi5cdrhlpmrz8s0y33q7ccf3dfmdsyan"; depends=[startupmsg sfsmisc SweaveListingUtils]; };
-  distrDoc = derive { name="distrDoc"; version="2.5"; sha256="104y8q7p53pzwr5pgspa0zczmnhylac2k9aj9flqd75ka6icfqh8"; depends=[distr distrEx distrSim distrTEst distrTeach RandVar distrMod MASS SweaveListingUtils startupmsg]; };
-  distrEllipse = derive { name="distrEllipse"; version="2.5"; sha256="1slzzmcf09mqqba287rpgpwbsq6j5lprjgxda5lrc21znvrgfxn3"; depends=[mvtnorm setRNG distr distrEx distrSim]; };
-  distrEx = derive { name="distrEx"; version="2.5"; sha256="0mbccd53r9wl875i702j14wlrv7pjgrwzlnyc511cqa5pg3mn81i"; depends=[distr]; };
-  DistributionUtils = derive { name="DistributionUtils"; version="0.5-1"; sha256="1in2k7xsaa0wadjgdh8m0v25v0dzx89pb20i5nsa19vx2iiysqbd"; depends=[RUnit]; };
-  distrMod = derive { name="distrMod"; version="2.5.2"; sha256="1vgb06qhfpav93xv9lamzmn8mccx5bqdfplkcqpv3i7qlgmngvh9"; depends=[distr distrEx RandVar MASS]; };
-  distrom = derive { name="distrom"; version="0.2"; sha256="1mvqqwaa6jwg483gjzgb0wplg1r8p7q7ihypa2z0c8pcbja8i9ff"; depends=[Matrix gamlr]; };
-  distrRmetrics = derive { name="distrRmetrics"; version="2.5"; sha256="0c7fhckw7hav68gag8ymgicywl2vbnvqpjxca0x24wpdi1gs4jf6"; depends=[distr fBasics fGarch]; };
-  distrSim = derive { name="distrSim"; version="2.5.2"; sha256="0ipg4l2vyifaj1r9a4cc8kg32s65jpz5wxrlnrix95xk5wasdpbh"; depends=[setRNG distr]; };
-  distrTeach = derive { name="distrTeach"; version="2.5"; sha256="0a7qfqpirzcd94dvcvmprhhj2j1yl3lpizsi8mdqr19zcp6dw21k"; depends=[distr distrEx]; };
-  distrTEst = derive { name="distrTEst"; version="2.5"; sha256="1swl4v70gkkpidddsgqf0dqz9j0xz5j1wk44bhpi4ficim7hap3l"; depends=[setRNG distrSim startupmsg]; };
-  divagis = derive { name="divagis"; version="1.0.0"; sha256="1kcz7i3h9xxpqhlq0rl08pgcwd16ygjjmm0jjv9knn2ggc3j1jzz"; depends=[rgdal sp]; };
-  DivE = derive { name="DivE"; version="1.0"; sha256="1ixkk8kd3ri78ykq178izib0vwppnbiwbpc1139rcl8f5giiwcdh"; depends=[deSolve FME rgeos sp]; };
-  diveMove = derive { name="diveMove"; version="1.3.9"; sha256="0782b8fvh676g6fy05g1da52q398rxmgz46vk6yxwrmnvg78wcq5"; depends=[caTools KernSmooth quantreg geosphere]; };
-  diversitree = derive { name="diversitree"; version="0.9-7"; sha256="0hr3hzrrbmfqbzcwn18lnqmychs9f21j1x214zry0jmw9pnai0s0"; depends=[deSolve ape subplex Rcpp]; };
-  diveRsity = derive { name="diveRsity"; version="1.9.5"; sha256="0rybnjkkxsam0fhsfcxb2h00p65169iw8kb7xgzzgzdfi258zp9s"; depends=[ggplot2 shiny qgraph Rcpp]; };
-  DiversitySampler = derive { name="DiversitySampler"; version="2.1"; sha256="1sfx7craykb82ncphvdj19mzc0kwzafhxlk9jcxkskygrlwsxfgg"; depends=[]; };
-  DivMelt = derive { name="DivMelt"; version="1.0.3"; sha256="03vkz8d283l3zgqg7bh5dg3bss27pxv4qih7zwspwyjk81nw3xmr"; depends=[glmnet]; };
-  dixon = derive { name="dixon"; version="0.0-5"; sha256="0x7x0l7p8kmkfqqqah8hck2r96b3w8padd41skd3q35vq8kmnsqc"; depends=[splancs spatstat]; };
-  dkDNA = derive { name="dkDNA"; version="0.1.0"; sha256="1waqj8l48yqlzi3rb3ilxyx79n5d4w0sp02flvynwaxck6jvh8gc"; depends=[]; };
-  dlm = derive { name="dlm"; version="1.1-3"; sha256="1mk5hlhm4bm8a5ilrbiwqggj1wg2jiv44s6gjjkjigs24673lg27"; depends=[]; };
-  dlmap = derive { name="dlmap"; version="1.13"; sha256="0s6wlkggkm3qndwyvw72xv1n0mcjb7ss3ajbq2ll6rv30splq0db"; depends=[qtl ibdreg wgaim nlme mgcv]; };
-  dlmodeler = derive { name="dlmodeler"; version="1.4-2"; sha256="06gqvk2wrzz4kpsh4vyrbqwmxirsvg78qj7clvcxdac0sfqn4gl7"; depends=[KFAS]; };
-  dlnm = derive { name="dlnm"; version="2.1.3"; sha256="044khdhk4dgd09cwmidsfa2rgd43h7wnd48bmmrnsvj3314bic0f"; depends=[nlme]; };
-  dma = derive { name="dma"; version="1.2-0"; sha256="1q0zclp7y1y1ksy8j64z05jy1fi0lmgd9a5cswxyl8l4xbs894wn"; depends=[]; };
-  DMR = derive { name="DMR"; version="2.0"; sha256="1kal3bvhwqs00b6p6kl0ja35pcz9v9y569148qfhy94m319fcpzm"; depends=[magic]; };
-  dmt = derive { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[mvtnorm MASS Matrix]; };
-  DMwR = derive { name="DMwR"; version="0.4.1"; sha256="1qrykl9zdvgm4c801iix5rxmhk9vbwnrq9cnc58ms5jf34hnmbcf"; depends=[lattice xts quantmod zoo abind rpart class ROCR]; };
-  dna = derive { name="dna"; version="1.1-1"; sha256="0gw70h1j67h401hdvd38d6jz71x1a6xlz6ziba6961zy6m3k5xbm"; depends=[]; };
-  DNAprofiles = derive { name="DNAprofiles"; version="0.2"; sha256="15la7csf45175g4hkfdz41jgbj5njad5d4jwfhpadxkb9v2mgaw4"; depends=[RcppProgress Rcpp bit]; };
-  DNAtools = derive { name="DNAtools"; version="0.1-8"; sha256="146r59lhj57b0dlwwsddks9lpfdyvbjm8i5mvkc6w9wwj32g931i"; depends=[Rsolnp multicool]; };
-  DnE = derive { name="DnE"; version="1.01"; sha256="04b2zz1b47nxpl8060ravybwq6y3s08fbkg5a4qiiaz9a84kvbhw"; depends=[]; };
-  dnet = derive { name="dnet"; version="1.0.5"; sha256="12kx9701gl33rhym6xzfhqjlz1xq0zzqblha6rn9l8wkkkva3aq5"; depends=[igraph Matrix]; };
-  DOBAD = derive { name="DOBAD"; version="1.0.3"; sha256="0q8sjcbfdg66jrhii98kls1l2gzx5s8nzv5xrbyl497cn6ysiww0"; depends=[numDeriv]; };
-  doBy = derive { name="doBy"; version="4.5-10"; sha256="1axdy61n6jf0chr9276aj16h4dbq9nh4cw82md2r7mgw746ccvcn"; depends=[survival MASS Matrix lme4]; };
-  docopt = derive { name="docopt"; version="0.1.1"; sha256="1fgwh5r216g4ndgpwpp8vb7scls5f47mn29y1fl9rp4mwzr2vpdh"; depends=[stringr]; };
-  Dodge = derive { name="Dodge"; version="0.8"; sha256="1vnvqb2qvl6c13s48pyfn1g6yfhc60ql3vn7yh2zymxcsr1gxgcw"; depends=[]; };
-  DoE_base = derive { name="DoE.base"; version="0.26-1"; sha256="07mcbxz9xf87ldsigr8bxczhq487ixv4m2xcz622sc43nbzri8la"; depends=[conf_design vcd combinat MASS]; };
-  DoE_wrapper = derive { name="DoE.wrapper"; version="0.8-9"; sha256="1f4q7i0d620wn13c6l3bifqqr5b1g1ihdw5fw92yaw1zv9dwzx0c"; depends=[FrF2 DoE_base rsm lhs DiceDesign AlgDesign]; };
-  doMC = derive { name="doMC"; version="1.3.3"; sha256="0g5psgk92b2zk9fkap3a86haay2y0kfz75cyk3d1ila9m7cd2cn4"; depends=[foreach iterators]; };
-  Dominance = derive { name="Dominance"; version="1.0.0"; sha256="0xcmslzfdcy826vcnlybhdyym5kqkrdqidq6jn10s4jic7jk8nl3"; depends=[igraph chron gdata]; };
-  domino = derive { name="domino"; version="0.1-7"; sha256="0xlmry11jmv4x3pq89w02yjq9qrvaqc8r71lr2cw5k1jsi0swxas"; depends=[]; };
-  doMPI = derive { name="doMPI"; version="0.2"; sha256="0cvws4zwbjj9ji0s69qy1843404a221pyxg9y35ihfcrjknfjc0l"; depends=[foreach iterators Rmpi]; };
-  doParallel = derive { name="doParallel"; version="1.0.8"; sha256="1z6cwqnjvqsbck44padqkv4r75cy32p5vrlkkan4mq84cc8062nx"; depends=[foreach iterators]; };
-  doRedis = derive { name="doRedis"; version="1.1.1"; sha256="10ldfzq6m83b9w24az9bf5wbfm6y9gi233s8qgsk4dnr84n3nizx"; depends=[rredis foreach iterators]; };
-  doRNG = derive { name="doRNG"; version="1.6"; sha256="0yvg4052gfdh54drn6xnpiqyd77p8765yi525nag3ismw2yn9y58"; depends=[foreach rngtools iterators pkgmaker]; };
-  DoseFinding = derive { name="DoseFinding"; version="0.9-11"; sha256="10i2vpv09avspn2daa9bcpj0nicdjm71gixhvh3x7xb3681zsw2d"; depends=[lattice mvtnorm]; };
-  doSNOW = derive { name="doSNOW"; version="1.0.12"; sha256="0j71n0l9lbvwllw9iigvjgv0x8z2j57grl3yazkgcyzy0mcgf741"; depends=[foreach iterators snow]; };
-  dosresmeta = derive { name="dosresmeta"; version="1.3.0"; sha256="0yfm8dkds8abdl6jrib5vvgkyrd5cl5a99qs27safxx0fcpdiz4k"; depends=[mvmeta aod Matrix]; };
-  dostats = derive { name="dostats"; version="1.3.1"; sha256="0xcp9arpvqb7am6caiazlgllvd3hhk4gqjd2wizr2jc5dkwfl4qn"; depends=[]; };
-  DoubleCone = derive { name="DoubleCone"; version="1.0"; sha256="1pba9ypp0n3i2k3ji1x8j7h548pfam9z99hxylcjcxnnvc7xs2fw"; depends=[coneproj Matrix MASS]; };
-  DoubleExpSeq = derive { name="DoubleExpSeq"; version="1.0"; sha256="0y797iqmxihrsp8lhy84p5hlyw3ckpklv0pgcqv4h39a6cpglbvd"; depends=[numDeriv]; };
-  downloader = derive { name="downloader"; version="0.3"; sha256="0jpq8z3i9fkgs8wwjrq5qd7qfi5w3rxmzmsi1c1dxlnxzzhg6kxq"; depends=[digest]; };
-  dpa = derive { name="dpa"; version="1.0-3"; sha256="0chkbbqxpq5fmqzr74jvflls9h0i2y25jp8gvlg3pfam9j07w7i5"; depends=[sem igraph]; };
-  dpcR = derive { name="dpcR"; version="0.1.2-1"; sha256="1czkwyqnly7lwn00mifm0apnh8ahfv4v9iwzvfwcamfl7qkwbvx6"; depends=[qpcR binom chipPCR e1071 dgof pracma rateratio_test signal shiny spatstat]; };
-  dpglasso = derive { name="dpglasso"; version="1.0"; sha256="1mx28xbm2z2bxyp33wv2v6vgn1yfsdsa0bzjjdxasgd6lvr51myf"; depends=[]; };
-  dplR = derive { name="dplR"; version="1.6.0"; sha256="1rjb10adhycp16xav7z5c93jfcjwpcrp8cdiyab8skrijgzbp0vx"; depends=[gmp digest lattice stringr XML]; };
-  dpmixsim = derive { name="dpmixsim"; version="0.0-8"; sha256="0paa2hmpd6bqf0m7p9j7l2h3j18lm64ya6ya8zvp55wm8pf7xgqg"; depends=[oro_nifti cluster]; };
-  DPpackage = derive { name="DPpackage"; version="1.1-6"; sha256="01qdl6cp6wkddl9fwwpxwvyhb7lpjxis6wnbm2s288y2n9wi4j24"; depends=[MASS nlme survival]; };
-  DPw = derive { name="DPw"; version="1.1.2"; sha256="0waprp6xql67ijwwsy0z8f0fnazkzci0nzwiajwkvy7vbwcch5bx"; depends=[]; };
-  dr = derive { name="dr"; version="3.0.8"; sha256="0plvdkk041giqx8cgph4vdcabq9nv5bvjwz0pvjmhvb3z7q15cgj"; depends=[MASS]; };
-  drawExpression = derive { name="drawExpression"; version="1.0"; sha256="0c2daicqrjlqf7s788cknzvw9c6rm500lgmwfr7z03bq7bd2ah90"; depends=[]; };
-  drc = derive { name="drc"; version="2.3-96"; sha256="0yrxa7rnsi7w4zdxd713m0l8bfsqnhcypzr091yazlahk33mybxf"; depends=[car gtools MASS magic plotrix lattice nlme]; };
-  drfit = derive { name="drfit"; version="0.6.3"; sha256="0vx5niw6mfg85937sbjmc0z0gdgf9aj43rmkn1gljky7pq4j3hfn"; depends=[MASS RODBC drc]; };
-  drgee = derive { name="drgee"; version="1.0.1"; sha256="0vrmi3q6dhmk9z5168pdfhi18nkm4pgj4zx8d24r4k1jcqvgckl0"; depends=[nleqslv]; };
-  DRI = derive { name="DRI"; version="1.1"; sha256="11dqwjqddwis8y8yq248k90wwk2fi3mcy0rwq2dz95m17wvd1v0k"; depends=[cghFLasso]; };
-  drm = derive { name="drm"; version="0.5-8"; sha256="1p6ixd7hnv41gfmvan3rv9xzz1279hmrnvfrl6pxwzs9zcnbb53a"; depends=[]; };
-  drmdel = derive { name="drmdel"; version="1.3"; sha256="0yflpja6r8cm4yv07ac1wic8w2iv0pwqpgh3ls2pjwv3vqzg7jrm"; depends=[]; };
-  drsmooth = derive { name="drsmooth"; version="1.0"; sha256="1cxhj28dkll704kif040vqnp9grb61v891rswvyx7aa9216156px"; depends=[car clinfun mgcv multcomp pgirmess DTK segmented mvtnorm]; };
-  ds = derive { name="ds"; version="2.0"; sha256="0jxkwp8hm36aqh8xdxh3q5zgafwik6i9ihs52sxrllpmhyb39x3p"; depends=[]; };
-  dsample = derive { name="dsample"; version="0.91.1"; sha256="0nxx3x55zj089aq2shk7cg9bgh6xw7jnrr2qmlaq6bflwn58wn1q"; depends=[]; };
-  DSBayes = derive { name="DSBayes"; version="1.1"; sha256="0iv4l11dww45qg8x6xcf82f9rcz8bcb9w1mj7c7ha9glv5sfb25v"; depends=[BB]; };
-  dse = derive { name="dse"; version="2013.3-2"; sha256="170bpd0ix5bslbif2blcyb8dkbxwl3334h2nw0fgcx495vxvvx2x"; depends=[tframe setRNG tfplot]; };
-  dse1 = derive { name="dse1"; version="2011.11-2"; sha256="0h8f1f4qqycyc4k8ksdlz7cprayaa08gnsgj6hxa0kxnfs726qb6"; depends=[dse]; };
-  dse2 = derive { name="dse2"; version="2011.11-2"; sha256="05kf2072a50wd6p42yx5wpy0m7wq1gssy877nfyyc5l0pwviy3zs"; depends=[EvalEst]; };
-  DSL = derive { name="DSL"; version="0.1-5"; sha256="0k320cmim9mvi5cmr6964h9i2jbskh76xws3p6zsfakk63ndg3rr"; depends=[]; };
-  dslice = derive { name="dslice"; version="1.0.2"; sha256="0y8q52g7d01hfyysrbqgg0xrqvia046phr9xfwgy0bp254xdwfcp"; depends=[Rcpp ggplot2 scales]; };
-  dsm = derive { name="dsm"; version="2.2.4"; sha256="1pbvirxwxr35hcd64sn1cd3cv40nrq7dz92apdvaf754sxfqx2xw"; depends=[mgcv mrds nlme ggplot2 statmod]; };
-  DSpat = derive { name="DSpat"; version="0.1.5"; sha256="1njc9p2cxszcskdm21x00yvcs7gx71x18fdayih6l3g5l40c698a"; depends=[spatstat RandomFields mgcv rgeos]; };
-  DSsim = derive { name="DSsim"; version="1.0.1"; sha256="0a62l8jfrnr2h9laxw27p8icvfa8f1gdhdiywwb33328barhzfrk"; depends=[shapefiles splancs mrds mgcv]; };
-  DTComPair = derive { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; };
-  DTDA = derive { name="DTDA"; version="2.1-1"; sha256="0hi2qjcwd6zrzx87mdn1kns5f2h6jh7sz9jpgbi0p0i80xg8jnn3"; depends=[]; };
-  dti = derive { name="dti"; version="1.2-0"; sha256="01z51x1fpsc79b298gsx5fq2y5w3pwiq58a13pm96a4mkyzzwhk7"; depends=[awsMethods adimpro rgl oro_nifti oro_dicom gsl]; };
-  DTK = derive { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; };
-  DTMCPack = derive { name="DTMCPack"; version="0.1-2"; sha256="0bibas5cf06qq834x9q2l2fyh6q9wrg07k8cn6almcyirzax6811"; depends=[]; };
-  DTR = derive { name="DTR"; version="1.5"; sha256="1c73ay0j6jkjm4iv32waz3wnn0qy399k1h72l7rwfzpyidnaprvi"; depends=[survival ggplot2 gridExtra aod proto]; };
-  dtt = derive { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; };
-  dtw = derive { name="dtw"; version="1.17-1"; sha256="0kbf38a14k112vdi7yaql18w0sj694smlm6pmdw5q4sqpk7azhqg"; depends=[proxy]; };
-  dualScale = derive { name="dualScale"; version="0.9.1"; sha256="11hqxprai0s5id6wk4n2q174r1sqx9fzw3fscvqd2cgw8cjn1iwl"; depends=[matrixcalc ff vcd lattice Matrix]; };
-  dummies = derive { name="dummies"; version="1.5.6"; sha256="01f84crqx17xd6xy55qxlvsj3knm8lhw7jl26p2rh2w3y0nvqlbm"; depends=[]; };
-  DunnettTests = derive { name="DunnettTests"; version="2.0"; sha256="1sf0bdxays10n8jh2qy85fv7p593x58d4pas9dwlvvah0bddhggg"; depends=[mvtnorm]; };
-  dupiR = derive { name="dupiR"; version="1.1"; sha256="01yhwgqm2y6znxds3p2admcyayvjj5xw7vvc9djd7b6ywsivb8sa"; depends=[plotrix]; };
-  dvfBm = derive { name="dvfBm"; version="1.0"; sha256="0gx11dxkbnh759ysd1lxdarlddgr3l5gwd5b0klwvwsgck6jv529"; depends=[wmtsa]; };
-  dvn = derive { name="dvn"; version="0.3.3"; sha256="14ncna67qgknh20xdvxqddjhagj61niwpvz4ava9k0z68rgzmk5h"; depends=[RCurl XML]; };
-  DWD = derive { name="DWD"; version="0.11"; sha256="1yqcww4jbbvdcv0yj9h8q2w7ck7pwr0zcvmncp9mc4n4k9y67r9j"; depends=[Matrix]; };
-  dyn = derive { name="dyn"; version="0.2-9"; sha256="16zd32567aj0gqv9chbcdgi6sj78pnnfy5k8si15v5pnfvkkwslp"; depends=[zoo]; };
-  DynamicDistribution = derive { name="DynamicDistribution"; version="1.1"; sha256="1s78hpj2pxjs4vixin1i816qjbn3wk7b8rd2zdjp4d4rbxifcqf5"; depends=[]; };
-  dynamicGraph = derive { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; };
-  dynamicTreeCut = derive { name="dynamicTreeCut"; version="1.62"; sha256="1y11gg6k32wpsyb10kdv176ivczx2jlizs1xsrjrs6iwbncwzrkp"; depends=[]; };
-  dynatopmodel = derive { name="dynatopmodel"; version="1.0"; sha256="1dq18wqbf7y597mbqv8fwwc5fm8l618mkqvb2l95bplq7n508hng"; depends=[raster xts shape fields rgeos maptools rgdal sp spam hydroGOF topmodel intervals]; };
-  dynaTree = derive { name="dynaTree"; version="1.2-7"; sha256="06pw78j6wwx7yc175bns1m2p5kg5400vg8x14v4hbrz3ydagx4dn"; depends=[]; };
-  dynBiplotGUI = derive { name="dynBiplotGUI"; version="1.1.0"; sha256="15m4gxdlwzvvj64vjkkb1608q4k0w84my7m8x1qc04bly9p3q038"; depends=[tcltk2 tkrplot]; };
-  DynClust = derive { name="DynClust"; version="3.13"; sha256="020zl2yljp47r03rcbzrbdmwk482xx27awwzv4kdrbchbzwhxqgm"; depends=[]; };
-  dynCorr = derive { name="dynCorr"; version="0.1-2"; sha256="0qzhhfhkwpq6mwg7y6sxpqvcj8klvivnfv69g7x3ycha1kw2xk3w"; depends=[lpridge]; };
-  dynia = derive { name="dynia"; version="0.2"; sha256="1swip4kqjln3wsa9xl0g92zklqafarva923nw7s44g4pjdy73d5l"; depends=[]; };
-  dynlm = derive { name="dynlm"; version="0.3-3"; sha256="0ym23gv2vkvvnxvzk5kh6xy4gb5wbnpdbgkb5s6zx24lh81whvcs"; depends=[zoo car lmtest]; };
-  dynsim = derive { name="dynsim"; version="0.2.4"; sha256="1b4j47asqanrfhyg9r730brp3xaw1853jk23va2sx606q2rh94wv"; depends=[DataCombine ggplot2 gridExtra Zelig]; };
-  dynsurv = derive { name="dynsurv"; version="0.2-2"; sha256="0418r7adki48pg3h7i1mgv3xpbryi520va3jpd03dx15zrq8zaqg"; depends=[survival reshape plyr nleqslv ggplot2]; };
-  e1071 = derive { name="e1071"; version="1.6-3"; sha256="0scyxk3y2fizvw5zrddxid37vzayd879g67faq0a879nhk7fkm1z"; depends=[class]; };
-  eaf = derive { name="eaf"; version="1.05"; sha256="12jwkz4cn3kgg3yczb0xgbp394bzgzps1mz0b999i3p1k6vn46z6"; depends=[modeltools]; };
-  earlywarnings = derive { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[ggplot2 moments tgp tseries fields nortest quadprog Kendall KernSmooth lmtest som spam]; };
-  earth = derive { name="earth"; version="3.2-7"; sha256="1j9w03i4pvz8a6s9rkfssj7bqz5sql0g7rzwpmis33kvi0d7wihn"; depends=[plotmo plotrix]; };
-  easi = derive { name="easi"; version="0.2"; sha256="0kvcixbiijh3akxqy2w6kwydayqlr7lk2ws747a1z4whhclm1623"; depends=[systemfit micEcon]; };
-  easingr = derive { name="easingr"; version="1.0.0"; sha256="18q9r5wvfhn03500lvwriycdw3gqbg3fpd86137mz8gxdg2pawic"; depends=[xts lattice latticeExtra]; };
-  EasyABC = derive { name="EasyABC"; version="1.3.1"; sha256="1d1j7n6mhpmbbczg0yjs4kqjxlclc7pm5fl7pkxp9dmfic002y34"; depends=[abc pls mnormt MASS lhs]; };
-  easyanova = derive { name="easyanova"; version="3.0"; sha256="19mcjj1lvy8kf6s004rqnalv80jf62g7dpsnrwkrklb19n1164v8"; depends=[car nlme]; };
-  EasyHTMLReport = derive { name="EasyHTMLReport"; version="0.1.1"; sha256="1hgg8i7py7bx48cldyc7yydf0bggmbj3fx3kwiv9jh1x5wyh929z"; depends=[base64enc markdown knitr ggplot2 scales xtable reshape2]; };
-  EasyMARK = derive { name="EasyMARK"; version="1.0"; sha256="10slkblbyxq98c3sxgs194dnkx996khfcpxj6jhz355dp35z7c9d"; depends=[MASS stringr rjags coda foreach doParallel random]; };
-  easynls = derive { name="easynls"; version="4.0"; sha256="1j2crqvgsf84bpwzf4qh5xkzn5mhxhfx9c0y3p8dbyn8bg7zc2rf"; depends=[]; };
-  EasyStrata = derive { name="EasyStrata"; version="8.6"; sha256="0agmap9lmqbpfw8ijwxmjkcqjvc1ng0jsadkqpfz71a963nkqdcl"; depends=[Cairo plotrix]; };
-  eba = derive { name="eba"; version="1.7-1"; sha256="0kxdhl7bc4f570m9rbxxzg748zvq0q7a0slvfr4w1f45vfzhyh17"; depends=[nlme]; };
-  ebal = derive { name="ebal"; version="0.1-6"; sha256="1cpinmbrgxxv0fzi9qi2inv4hw2lz7iq4b0ggp316rdqqb5bj9r0"; depends=[]; };
-  EbayesThresh = derive { name="EbayesThresh"; version="1.3.2"; sha256="0n7cr917jrvmgwfqki7shvz9g9zpmbz9z8hm5ax7s8nnfzphrh4g"; depends=[]; };
-  ebdbNet = derive { name="ebdbNet"; version="1.2.3"; sha256="123iqp8rnm3pac5fvpzq5sqbf8nyfpf05g23nawanid6yv23ba9a"; depends=[igraph]; };
-  EBEN = derive { name="EBEN"; version="1.1.1"; sha256="12nh96avcx4rrbmlr1q046i5ymrsnqvf0ra5ynh58akajfx7wy49"; depends=[]; };
-  EBMAforecast = derive { name="EBMAforecast"; version="0.42"; sha256="161l6jxbzli2g5lcmlp74z320rsvsi80pxk1vc1ypa1hgwz3q80x"; depends=[separationplot ensembleBMA plyr Hmisc abind]; };
-  EBS = derive { name="EBS"; version="3.0"; sha256="0nrqglbfr7wagd4xrk5jx0kficjgvk7wqwzqrbs589dkll24sn5b"; depends=[MASS]; };
-  ebSNP = derive { name="ebSNP"; version="1.0"; sha256="0x3ijwg4yycsfy6jch1zvakzfvdgpiq8i7sqdp5assb8z1823w0b"; depends=[]; };
-  Ecdat = derive { name="Ecdat"; version="0.2-6"; sha256="1chx78xi04jr9qpc3z2g9x3sj41sdqp3zpjcgv817mcz84zc8mkc"; depends=[Ecfun]; };
-  ecespa = derive { name="ecespa"; version="1.1-7"; sha256="0ynyphc1jnk088041i0yk22bh4ga1v9xwrcghy70q1ipv0z279ph"; depends=[splancs spatstat]; };
-  Ecfun = derive { name="Ecfun"; version="0.1-0"; sha256="0jfcqxbx27dwbipx1b994iy4qnpkg1sh4xpq7qq8yy823rgpkhrp"; depends=[]; };
-  ecipex = derive { name="ecipex"; version="1.0"; sha256="0pzmrpnis52hvy80p3k60mg9xldq6fx8g9n3nnqi3z56wxmqpdv7"; depends=[CHNOSZ]; };
-  ecodist = derive { name="ecodist"; version="1.2.9"; sha256="199f3lwwm8r2bnik595m540la1p4z6vbkwfqh9kimy9d0fjp8nps"; depends=[]; };
-  ecoengine = derive { name="ecoengine"; version="1.4"; sha256="0smjwgci2kz09idzq10q50z0hs2nr7rjj7i0r7iksdyb7ggb3hzm"; depends=[httr plyr assertthat whisker dplyr RJSONIO lubridate leafletR]; };
-  EcoHydRology = derive { name="EcoHydRology"; version="0.4.12"; sha256="03dzdw79s0cnnd7mv6wfxw374yf66dlcmj10xh6sh5i352697xp1"; depends=[operators topmodel DEoptim XML]; };
-  ecolMod = derive { name="ecolMod"; version="1.2.5"; sha256="07dr3q17vd60569w34apylpsv81qcf31l7v0bqdycb5mlaifdahz"; depends=[rootSolve diagram deSolve]; };
-  ecoreg = derive { name="ecoreg"; version="0.2"; sha256="08iw7w9z7zqwhvirnhdc2jr2qjp9yma8ddc831d5dvbvi2j7kq84"; depends=[]; };
-  ecosim = derive { name="ecosim"; version="1.2"; sha256="1lzjd6kl2864ngyiqyfnnra5ag9bj42pxb793gwp45r7z95k32rf"; depends=[deSolve stoichcalc]; };
-  ecospat = derive { name="ecospat"; version="1.0"; sha256="1pnyiy89smr0cnw1z5cv83b7dybzs5h2kfyxis2k3rlx26rzczfv"; depends=[ade4 ape gam gbm sp adehabitatHR adehabitatMA biomod2 dismo ecodist maptools randomForest spatstat raster rms]; };
-  EcoTroph = derive { name="EcoTroph"; version="1.6"; sha256="0zi6g0ra107s47r32mm9h6r1wll3avi0mpjmhcr0nj9y48nv14w3"; depends=[XML]; };
-  ecp = derive { name="ecp"; version="1.6.0"; sha256="1xzawnqk8maxk9ha4cms5xvylwb4m1mkxps88p5xh7grgpcw6drn"; depends=[Rcpp]; };
-  edcc = derive { name="edcc"; version="1.0-0"; sha256="036fi6mnn9480hkb378xb5jilkfvdydjmkyw4mcc9s1lz195f62w"; depends=[spc]; };
-  edeR = derive { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; };
-  EDISON = derive { name="EDISON"; version="1.0"; sha256="17yjvvsgsmd4i00wzmih50qz3wqig2zdg5r877b4hqk1dsv5kxym"; depends=[corpcor MASS]; };
-  editrules = derive { name="editrules"; version="2.7.2"; sha256="19g07caacwphvrqn900chrz3k6x4z8gmvlcvna5x2mqidcjkf25i"; depends=[igraph lpSolveAPI]; };
-  EDR = derive { name="EDR"; version="0.6-5.1"; sha256="10ldygd1ymc4s9gqhhnpipggsiv4rwbgajvdk4mykkg3zmz7cbpm"; depends=[]; };
-  edrGraphicalTools = derive { name="edrGraphicalTools"; version="2.1"; sha256="09y63xj3gqrz66mym20g4pmfwrb0wnc2n67692hnqq8dz31q7p3i"; depends=[rgl mvtnorm MASS lasso2]; };
-  eegAnalysis = derive { name="eegAnalysis"; version="0.0"; sha256="1lrwjbhm5fnf5fhyyga2b21j2snnmj3zfvfxfkvgsbdnzr3qxaxb"; depends=[e1071 wmtsa fields splus2R]; };
-  eeptools = derive { name="eeptools"; version="0.3.1"; sha256="0m6i0hiw565wgziknlf19rh2fq8zvzq2v5a0ppnwcv8vhbhyph3g"; depends=[ggplot2 MASS stringr maptools arm data_table memisc]; };
-  effects = derive { name="effects"; version="3.0-0"; sha256="075vd540d8wry1l70s28pkmd1g3424yan9f7mwvcrqf0l62ahmfg"; depends=[lattice colorspace]; };
-  EffectsRelBaseline = derive { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; };
-  EffectStars = derive { name="EffectStars"; version="1.3"; sha256="193j2dbp6bp60yb2qym119ciry3s5z54iv1vmb9wrddjzb77nnvv"; depends=[VGAM]; };
-  effsize = derive { name="effsize"; version="0.5.1"; sha256="0dy9q3zbcr5c4nijknly9mfr6rbs2qlv4jgzn0wpl2cz7hpngvk4"; depends=[]; };
-  egcm = derive { name="egcm"; version="1.0.2"; sha256="17fzxl34vc38308wbvjp5xdv1q48k4lf6gsw7ax27zc4chqlmqfz"; depends=[ggplot2 tseries zoo MASS]; };
-  eggCounts = derive { name="eggCounts"; version="0.2"; sha256="0ilwhw2fk8mvqsnranpj4mny98vhha8jrrxccz6x0f8hsy34b27k"; depends=[coda actuar boot]; };
-  egonet = derive { name="egonet"; version="1.2"; sha256="1f0fbqyk2ilmhirxvf1iwgfappi5r7807ag77r89lbaf5jq8akl0"; depends=[sna]; };
-  eha = derive { name="eha"; version="2.4-1"; sha256="1znxpcrwp8fllr3m14gbxwgp7yln55jwvkilmbsqldz00za6xn0w"; depends=[survival]; };
-  eHOF = derive { name="eHOF"; version="1.4"; sha256="050wlckw2i8iqymdmq68zj2fwq74slsbk83p5kkhxlyn132m0k47"; depends=[mgcv lattice]; };
-  EIAdata = derive { name="EIAdata"; version="0.0.1"; sha256="0adgkjfymgsimlaalcgcqdsagfvycrnsx93bx2xsbvlbywjk9fhn"; depends=[XML plyr xts zoo]; };
-  eigeninv = derive { name="eigeninv"; version="2011.8-1"; sha256="18dh29js824d7mrvmq3a33gl05fyldzvgi8mmmr477573iy9r30g"; depends=[]; };
-  eigenmodel = derive { name="eigenmodel"; version="1.01"; sha256="0p9n28x5gg46nszzd2z9ky5fhv6qa070673i1df6bhjh962aqgaf"; depends=[]; };
-  eigenprcomp = derive { name="eigenprcomp"; version="1.0"; sha256="156qyv7sl8nng55n3ay6dnpayyfrqv27ndz40xf4w92is9zmymy0"; depends=[]; };
-  EILA = derive { name="EILA"; version="0.1-2"; sha256="0wxl9k4fa0f7jadw3lvn97iwy7n2d02m8wvm9slnhr2n8r8sx3hb"; depends=[class quantreg]; };
-  eiPack = derive { name="eiPack"; version="0.1-7"; sha256="1cxk31bj012ijm85sf6l4rjrwayw94j2d6aav8p9g1f0raha2s6y"; depends=[MASS coda msm]; };
-  eive = derive { name="eive"; version="2.1"; sha256="1vazl5dnrvljd07csy9rjs4302w09h94i411gffg9fvxn70km7qg"; depends=[Rcpp]; };
-  eiwild = derive { name="eiwild"; version="0.6.7"; sha256="1fp4kvlmcjjnzn2a5cmlzaf6y5q6cdbbi2nmvjyqc4y1bmwh3srf"; depends=[gtools coda lattice]; };
-  EL = derive { name="EL"; version="1.0"; sha256="13r7vjy2608h8jph8kwy69rnkg98b2v69117nrl728r3ayc46a18"; depends=[]; };
-  elasticnet = derive { name="elasticnet"; version="1.1"; sha256="1x8rwqb275lz86vi044m1fy8xanmvs7f7irr1vczps1w45nsmqr2"; depends=[lars]; };
-  elec = derive { name="elec"; version="0.1.2"; sha256="0f7ahrjb52w8a8l5v00xla6z9afpz2zrckl9v04xalp34snhdwan"; depends=[]; };
-  elec_strat = derive { name="elec.strat"; version="0.1.1"; sha256="09196k5c3jsikh98d33bn70izwcbx0wb5ki9fv1ij0dw9mnv4c3p"; depends=[elec]; };
-  ElemStatLearn = derive { name="ElemStatLearn"; version="2012.04-0"; sha256="107x2mybadqgw03j3yq8ibq3ljs4fpx90chvsirpylqhv77wsabl"; depends=[]; };
-  elliplot = derive { name="elliplot"; version="1.1.1"; sha256="1sl85kyjpxiw0gs3syhlhfrci03fl054py7m24xln5vk07665vbp"; depends=[]; };
-  ellipse = derive { name="ellipse"; version="0.3-8"; sha256="0ibz1qvf1qbb5sigyhpxb8hgip69z3wcimk3az1701rg2i64g3ah"; depends=[]; };
-  elliptic = derive { name="elliptic"; version="1.3-3"; sha256="1spl19yh2fqii1ffcmg4y11v6ccb83q6znvjn0scgzv6646c7xi4"; depends=[MASS]; };
-  elmNN = derive { name="elmNN"; version="1.0"; sha256="129r6d3qa48gqvqxks53hdmyk3jjakddsj5fwj91kqq0hkm34kyd"; depends=[MASS]; };
-  EloRating = derive { name="EloRating"; version="0.41"; sha256="1d7kcng0iv4paagm0jljkfk7c2n3vvs91khjvlc7jpifisf1zi7a"; depends=[zoo]; };
-  elrm = derive { name="elrm"; version="1.2.2"; sha256="0wz0l703v0iyp7nswdmh65n0cy3a7rfvyxd795a6nzk3nich8bfg"; depends=[coda]; };
-  ElstonStewart = derive { name="ElstonStewart"; version="1.1"; sha256="1y2g4x3fhi78c2406bk8r8c3x9zhx8ya3qlbnypdm65j0minixsn"; depends=[kinship2 digest]; };
-  ELT = derive { name="ELT"; version="1.2"; sha256="19q6i1ilsi09mlbs3l0p6n86390jmrs0g93zpa1h0hql7ymcb8p2"; depends=[locfit lattice latticeExtra xlsx]; };
-  em2 = derive { name="em2"; version="0.9"; sha256="120731nh5qq3kzbfj9p2s4fhrr3xvddj5n0bv5m3dp5l5495px1b"; depends=[plyr]; };
-  EMA = derive { name="EMA"; version="1.4.4"; sha256="1hqkan9k6ps4qckjrhsgxzham106fm38m5rgayz8i2ji3spvbfca"; depends=[survival xtable heatmap_plus GSA MASS FactoMineR cluster]; };
-  EMC = derive { name="EMC"; version="1.3"; sha256="0sdpxf229z3j67mr9s7z4adzvvphgvynna09xkkpdj21mpml23p6"; depends=[mvtnorm MASS]; };
-  EMCC = derive { name="EMCC"; version="1.2"; sha256="1qff8yvw7iqdsrqkvwb7m14xh7gcnjcrf8gw00g4j6aq0h0cgk2z"; depends=[MASS mclust EMC]; };
-  EMCluster = derive { name="EMCluster"; version="0.2-4"; sha256="0m5cl5mrg6q0ixfpjj1jwd7l5hcldc33lr7n6xgy7p9nlr52mimz"; depends=[MASS]; };
-  EMD = derive { name="EMD"; version="1.5.7"; sha256="0m2g7akg9h964d6qr1mj20h9pcb2fcmala3skhl0qpy8qz01w5ck"; depends=[fields locfit]; };
-  emdatr = derive { name="emdatr"; version="0.2"; sha256="11s9yiziswgll12c1sm3jb7hvy469ks64zx6w8dk1b36cx4lzf3h"; depends=[RCurl]; };
-  emdbook = derive { name="emdbook"; version="1.3.4"; sha256="19i8i1wp6vqgc77ajaqrfrjw6ijjafkgdqgfpa0dvl1w117rpy2d"; depends=[MASS lattice plyr]; };
-  emdist = derive { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; };
-  emg = derive { name="emg"; version="1.0.5"; sha256="028g8gqjjqfwly6vzvinbpilay5jj9rnm7ri9aby9q0hj5prh56m"; depends=[]; };
-  emil = derive { name="emil"; version="1.1-6"; sha256="1qk655swpl8f492y9smzlfxf7aysbwashfs6whnsi7f9dbigw6cd"; depends=[]; };
-  EMJumpDiffusion = derive { name="EMJumpDiffusion"; version="1.4.1"; sha256="10lw6717yq9vlywn5ilsl0d99fpx3zvc87vf7s0zxswhs81h7x1w"; depends=[]; };
-  emma = derive { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[earth clusterSim]; };
-  EMMAgeo = derive { name="EMMAgeo"; version="0.9.1"; sha256="1rxbb666gh9g35m4jqa6y1zjp82s62ha6n92fkjvkk9wm25w6imr"; depends=[GPArotation limSolve shape]; };
-  emme2 = derive { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; };
-  EMMIXcontrasts = derive { name="EMMIXcontrasts"; version="1.0.0"; sha256="1q7bwf7kkpraj38lz5s1lhhghp7a5lzyj5b9x8024g6rh2qlwp7v"; depends=[]; };
-  EMMIXskew = derive { name="EMMIXskew"; version="1.0.1"; sha256="16jkq0a9k1gf6gia8r65nwa2lh8zny4jmnq51g2rcqm44s5ylqbh"; depends=[lattice mvtnorm KernSmooth]; };
-  EMMIXuskew = derive { name="EMMIXuskew"; version="0.11-6"; sha256="0japf0l0sj84jna7b5kirp6pgqa4c923ldwphb16ch2xxrgk5n5k"; depends=[MASS]; };
-  EMMREML = derive { name="EMMREML"; version="2.0"; sha256="0fyqwyym6d1adn5pvrfspmr933qhi30h58hxr2rbzwm5kwh6c8jr"; depends=[Matrix]; };
-  emoa = derive { name="emoa"; version="0.5-0"; sha256="1wcnsnkdmpcn21dyql5dmj728n794bmfr6g9hgh9apzbhn4cri8p"; depends=[]; };
-  EMP = derive { name="EMP"; version="1.0.1"; sha256="12ahyfav918qf7bphhy251x0gzhdziaz2gg064hcwh6jaqw0jw0g"; depends=[]; };
-  emplik = derive { name="emplik"; version="0.9-9-2"; sha256="131wk9nfymkygb89jk9cwi53dx4857c06ip9pfzzvswch3hhdqwb"; depends=[quantreg]; };
-  emplik2 = derive { name="emplik2"; version="1.10"; sha256="19s19jhcaqnh6vjfgrsgjvjlrsm5fa1mgwc5v36hzdf2mv1xhr3q"; depends=[]; };
-  EMT = derive { name="EMT"; version="1.1"; sha256="0m3av1x3jcp3hxnzrfb128kch9gy2zlr6wpy96c5c8kgbngndmph"; depends=[]; };
-  emulator = derive { name="emulator"; version="1.2-13"; sha256="1y8mrrz4dw66wn3lhi7x7r72bxa77rpc68zqab6c67ndyi4wamxr"; depends=[mvtnorm]; };
-  EMVC = derive { name="EMVC"; version="0.1"; sha256="1725zrvq419yj0gd79h8bm56lv2mmk296wq3wapivcy6xn0j97jh"; depends=[]; };
-  ENA = derive { name="ENA"; version="1.3-0"; sha256="02gsngkzc8vfpg2jvcabwp4kpfs14cajs9xv1rh76807l5ylqihz"; depends=[GeneNet space WGCNA parmigene]; };
-  enaR = derive { name="enaR"; version="2.7"; sha256="0jjxqrxyak9b39j9yycfgp7bhb82y8zinc2kcc6pbs5w6m5dsyvr"; depends=[sna network MASS stringr gdata]; };
-  endogMNP = derive { name="endogMNP"; version="0.2-1"; sha256="0maxcp321ngbxrg0i23nlwhj849v771xahh53367x928ss4f8v7i"; depends=[]; };
-  endorse = derive { name="endorse"; version="1.4.1"; sha256="0xyi2cq4k4xa8kr717i4njl6rgjf5z99056jbhp2rbzfyy4sw61d"; depends=[coda]; };
-  energy = derive { name="energy"; version="1.6.1"; sha256="08s7kzl12fcp1lz86jzwznxk6dqvls418zcqwd31shqqynna25vm"; depends=[boot]; };
-  english = derive { name="english"; version="1.0-1"; sha256="1413axjp2icj9wwnkz3vl4gvrwlgmjpc2djzv5bllbnc4a4dgj24"; depends=[]; };
-  EngrExpt = derive { name="EngrExpt"; version="0.1-8"; sha256="0zclvckj2i7j4kfs58hcjcl722vl2y6dcnjz238cjfgwv279gqhp"; depends=[lattice]; };
-  ENmisc = derive { name="ENmisc"; version="1.2-7"; sha256="07rix4nbwx3a4p2fif4wxbm0nh0qr7wbs7nfx2fblafxfzhh6jc7"; depends=[Hmisc vcd RColorBrewer]; };
-  EnQuireR = derive { name="EnQuireR"; version="0.10"; sha256="00kyclcr8da79lwpqa1vzkwn6pgf197h2biackwgphb0byhi8ssx"; depends=[FactoMineR SensoMineR Rcmdr MASS]; };
-  enRich = derive { name="enRich"; version="2.0"; sha256="13ahwdifm33h4h5mvmc49v39fbhiy291rbdwm4c8kxjrqjq9ip66"; depends=[]; };
-  enrichvs = derive { name="enrichvs"; version="0.0.5"; sha256="0x91s03hz1yprddm6mqi75bm45ki3yapfrxmap7d4qc0hi06h22k"; depends=[]; };
-  ensembleBMA = derive { name="ensembleBMA"; version="5.0.8"; sha256="1wv1g1iwpmxhcgxgx78jc4w5kcbbzjxljj7pbfykgq7hjpkb109f"; depends=[chron]; };
-  ensembleMOS = derive { name="ensembleMOS"; version="0.7"; sha256="0g5qzdic5jvgn6wv7zh0jnz8malfgfxn26l7lg30y96vcmi4hk54"; depends=[ensembleBMA chron]; };
-  entropart = derive { name="entropart"; version="1.2.0"; sha256="11k05nk8lf5790wmx2323w5wk233xmk48scfv3hrph8y6665vddq"; depends=[ade4]; };
-  entropy = derive { name="entropy"; version="1.2.0"; sha256="1qs8g5jp6ydhirxnrck3qqq3cc232hcaizy401c8gjn2vn23s15d"; depends=[]; };
-  EntropyEstimation = derive { name="EntropyEstimation"; version="0.1"; sha256="1l31vc9478db22zg79zm26xahagvw7p5ywkhyq4lanl38gh2my6y"; depends=[]; };
-  enviPat = derive { name="enviPat"; version="1.9"; sha256="0xm23gv4ixmsal9rf0cbq0lwvlpagpmapskz3c4d8qzvhr8qrl3b"; depends=[]; };
-  enviPick = derive { name="enviPick"; version="1.0"; sha256="117m06qp0l554sssv1vzhrysbi6rj9dm53szzkl8i8riqqm1m442"; depends=[shiny readMzXmlData]; };
-  EnviroStat = derive { name="EnviroStat"; version="0.4-0"; sha256="05sa63z6yzny2ncxpm5d3x0bx8snkn0x5pzpj2a7y6rwf6al5q4r"; depends=[MASS]; };
-  EnvNicheR = derive { name="EnvNicheR"; version="1.0"; sha256="1vw21gsdrx8gkf1rf8cnazv8l9ddcdmy2gckyf33fz7z2mbzgbkk"; depends=[]; };
-  EnvStats = derive { name="EnvStats"; version="1.0.2"; sha256="0914j7v190j401rdqqpfz3s69pb6crmq297wiw2q99syx0fnimnw"; depends=[]; };
-  epade = derive { name="epade"; version="0.3.8"; sha256="1alvsifc6i71ilm1xxs1d7sqlapb48bqd6z2n4wi6pqcjvwp7bif"; depends=[plotrix]; };
-  Epi = derive { name="Epi"; version="1.1.67"; sha256="12wbzv21whjnzlyqacgqmsgrjbkgj2495y9fwvav5mr21yfrjds3"; depends=[]; };
-  epi2loc = derive { name="epi2loc"; version="1.0-1"; sha256="16abk1v177sg7gmaw42ldf6hf20l7dvyq295zwbq76nxj467khdv"; depends=[pwr]; };
-  epibasix = derive { name="epibasix"; version="1.3"; sha256="0d0087sa8lqw35pn7gdg2qqzw3dvz57sgavymwl1ybcj5d4lsbyk"; depends=[]; };
-  epicalc = derive { name="epicalc"; version="2.15.1.0"; sha256="11x9q990hc7rf5xfvba47axdy7vld76xcf3kd9lkr0c8nbl5ss9v"; depends=[foreign survival MASS nnet]; };
-  EpiContactTrace = derive { name="EpiContactTrace"; version="0.8.8"; sha256="1vlr2xxnyq1i6ky39g8j3pf3m5775bmhii7vpskb0x7nnq161yzb"; depends=[Rcpp plyr R2HTML]; };
-  EpiDynamics = derive { name="EpiDynamics"; version="0.1"; sha256="11gbqpqnv6aydpwvki912cknvbzn24b3ajbc8ivzj7vvfp9blcmd"; depends=[deSolve FME reshape2 ggplot2]; };
-  EpiEstim = derive { name="EpiEstim"; version="1.1-2"; sha256="0r56iglhkrqvlsf3gbahd544h944fmbyn6jdc113rhjscf6dl605"; depends=[]; };
-  EpiModel = derive { name="EpiModel"; version="1.0.1"; sha256="00afgdvbmc7qxq1r8kpldkfqvnwqp23ig2y06jmipmrcga3xf5z2"; depends=[network networkDynamic tergm deSolve ergm RColorBrewer statnet_common]; };
-  epinet = derive { name="epinet"; version="0.0-8.1"; sha256="00mq2bqdnjp7wwsb3dldlxd0l3vyij48az4s3vrmycab8g9dffk5"; depends=[]; };
-  epiR = derive { name="epiR"; version="0.9-59"; sha256="0x0k7s2kl9mj7x2vnrj1bc586jkvc6sb34jsgjhwk3gyh9prp57q"; depends=[survival]; };
-  epitools = derive { name="epitools"; version="0.5-7"; sha256="163sibnbihdsnkxf313fr8n8rh5d64dwjagv95vhhzr87f21sw22"; depends=[]; };
-  epoc = derive { name="epoc"; version="0.2.5-1"; sha256="1r19cvcqf39yf09n3znbdy3dsr7z96yx6zib6031mqqdsxaav5qd"; depends=[lassoshooting Matrix irr elasticnet survival]; };
-  epr = derive { name="epr"; version="2.0"; sha256="1xqc0jhgdwwvilqpljxzpzz3wx30kigy09sxvzcfvsjmxyyvflqy"; depends=[car]; };
-  EQL = derive { name="EQL"; version="1.0-0"; sha256="0lxfiizkvsfls1km1zr9v980191af6qjrxwcqsa2n6ygzcb17dp5"; depends=[ttutils lattice]; };
-  eqs2lavaan = derive { name="eqs2lavaan"; version="3.0"; sha256="1lj6jwkfd84h9ldb6l74lrx2pnsl1c0d7mnrcrjkska87djb2nzd"; depends=[lavaan stringr]; };
-  eqtl = derive { name="eqtl"; version="1.1-7"; sha256="0xfr8344irhzyxs9flnqn4avk3iv1scqhzac5c2ppmzqhb398azr"; depends=[qtl]; };
-  equate = derive { name="equate"; version="2.0-2"; sha256="1n83rr01y5rcsr2wgcd1n7ihjk5bvxdl7f9abcjdz6vja7qg6h83"; depends=[]; };
-  equateIRT = derive { name="equateIRT"; version="1.1"; sha256="0z889z973yvklbn6i4jf6cxzvs2x9bn7454v5f23xmnj1wh5qv2s"; depends=[statmod]; };
-  equivalence = derive { name="equivalence"; version="0.6.0"; sha256="1q17c2bs36f46bmm6wzmp0g2lg7d0j9mlrfnkzxnlvmspwksc0zl"; depends=[lattice boot PairedData]; };
-  erboost = derive { name="erboost"; version="1.2"; sha256="0afgh0zkl3h3ab4s7wl0cn24qdyhszssai9i390mi7w0p88wgba9"; depends=[lattice]; };
-  erer = derive { name="erer"; version="2.2"; sha256="198bahz958dpdlk3himrjs0sa4j2hdppy3v4l3h8l52jaf1iq4n1"; depends=[lmtest systemfit tseries urca ggplot2]; };
-  ergm = derive { name="ergm"; version="3.1.3"; sha256="0g4cap1gx0l57l0aix29wz9lspnxv2vqkkdlcghbdv41fdddvdlm"; depends=[statnet_common network robustbase coda trust Matrix]; };
-  ergm_count = derive { name="ergm.count"; version="3.1.1"; sha256="0l66shy5p7h9j3h5gpkn48ps069mdaqbscnnkvmwjfvcc7k5vr8m"; depends=[statnet_common ergm network]; };
-  ergm_graphlets = derive { name="ergm.graphlets"; version="1.0.1"; sha256="0j2z8dvgfrkvm9sqpyqvylz6sakxl8wpy4fbgc20wwznfzbaaal6"; depends=[statnet]; };
-  ergmharris = derive { name="ergmharris"; version="1.0"; sha256="1bfijhsljlykb94wi25lbpv35zkmgqpmgzmxcq98gjvzbn5j9pdq"; depends=[]; };
-  ergm_userterms = derive { name="ergm.userterms"; version="3.1.1"; sha256="0pvklvyxi7sjc5041zl8vcisni0jz1283gyjw5mhas9bl47g1cwc"; depends=[network ergm statnet_common]; };
-  eRm = derive { name="eRm"; version="0.15-4"; sha256="0x05vsf8kp0z422w1b1wqayada2vbl7jh4ifa52sqlq7ygsmnmi1"; depends=[MASS Matrix]; };
-  ERP = derive { name="ERP"; version="1.0.1"; sha256="0wy1p7pp9dvc3krylskb627rmfqaj11qvia97m88x05ydqx1fwmr"; depends=[fdrtool mnormt]; };
-  erpR = derive { name="erpR"; version="0.2.0"; sha256="1y6abc5fkcyyjh36maj1zbxppqzwd5wkvzvqahyvzsz5fqpjkcdx"; depends=[rpanel]; };
-  ES = derive { name="ES"; version="1.0"; sha256="1rapwf6kryr6allzbjk6wmxpj9idd3xlnh87rwbh6196xb7rp8lv"; depends=[]; };
-  ESG = derive { name="ESG"; version="0.1"; sha256="1jw6239asv6lwxrz5v0r5pzg6v500bqxg8361sh4jj67rsrc7g9m"; depends=[]; };
-  ESGtoolkit = derive { name="ESGtoolkit"; version="0.1"; sha256="0r09arhsvamdyahini5yhgc43msdxwvn45l57xbfszahsnr3b3aq"; depends=[CDVine ggplot2 gridExtra reshape2 ycinterextra Rcpp]; };
-  esotericR = derive { name="esotericR"; version="1.0"; sha256="0kl9c2z2mpg3mk8jnl0ssgcf6y0i9jpczms746j8f07ydrcxpf41"; depends=[]; };
-  ESPRESSO = derive { name="ESPRESSO"; version="2.0"; sha256="1xz4lw1rczs4laz1drrqyz91w62a99z7jzs2wkcdrhcirgmmpjp3"; depends=[MASS]; };
-  EstCRM = derive { name="EstCRM"; version="1.3"; sha256="0fmnlh0pnprskq01iq3rfassyxq7fywiprvqw0xdlh8yxl3w2c9n"; depends=[Hmisc lattice]; };
-  estout = derive { name="estout"; version="1.2"; sha256="0whrwlh4kzyip45s4zifj64mgsbnrllpvphs6i5csb7hi3mdb3i5"; depends=[]; };
-  etable = derive { name="etable"; version="1.2.0"; sha256="17xahaf2fz1qgqjaw8qbnss95il6g47m3w00yqc5nkvv37gs0q7c"; depends=[xtable Hmisc]; };
-  ETAS = derive { name="ETAS"; version="0.0-1"; sha256="1p38ay3vnca8b8wszm66whxap8k58c004l1nlsk7zkynyia0im6c"; depends=[spatstat]; };
-  etasFLP = derive { name="etasFLP"; version="1.0.3"; sha256="1krfpnqh7w157cfy8rwa6dmr0j8xqvnhwvygbrcvns3a3y4v4ix0"; depends=[mapdata rgl fields maps]; };
-  ETC = derive { name="ETC"; version="1.3"; sha256="1nvb9n0my7h1kq996mk91canxi6vxy3mzhrshrvm13ixvl48lkkh"; depends=[mvtnorm]; };
-  ETLUtils = derive { name="ETLUtils"; version="1.2"; sha256="0mlfq23v7nl6lslscknk9mdx4dxk8xyc5imnvzlhzhag0k50mqj2"; depends=[ff]; };
-  etm = derive { name="etm"; version="0.6-1"; sha256="00sm4cib1r4wcn71v1ry3asszshks4f6br7s5xzm8d5ngxdlsxda"; depends=[survival lattice]; };
-  eulerian = derive { name="eulerian"; version="1.0"; sha256="0yhpnx9vnfly14vn1c2z009m7yipv0j59j3s826vgpczax6b48m0"; depends=[]; };
-  EvalEst = derive { name="EvalEst"; version="2012.4-1"; sha256="19yn4haxkny9kij0jhkwdbp34c9h2cc5l2n2b14khjhv1msqcfmi"; depends=[setRNG tframe tfplot dse]; };
-  evaluate = derive { name="evaluate"; version="0.5.5"; sha256="15i6bkzrzkgsdlgf2pcx8b3gcjh1rplzhimy310845pfgkldcq9b"; depends=[stringr]; };
-  Evapotranspiration = derive { name="Evapotranspiration"; version="1.4"; sha256="1x12z44y78lcibf4wpc7l3ll7zwf1c1fkavwfm79q7sdlhwi1x9h"; depends=[zoo]; };
-  EvCombR = derive { name="EvCombR"; version="0.1-2"; sha256="1f5idjaza91npf64hvcnpgnr72mpb7y6kf91dp57xy9m14k7jx5g"; depends=[]; };
-  evd = derive { name="evd"; version="2.3-0"; sha256="1h3dkssgw2x7pblvknfr0l8k7q25nikxyl7kl9x95ganjpi2452v"; depends=[]; };
-  evdbayes = derive { name="evdbayes"; version="1.1-1"; sha256="0lfjfkvswnw3mqcjsamxnl8hpvz08rba05xcg0r47h5vkgpw5lgd"; depends=[]; };
-  eVenn = derive { name="eVenn"; version="2.1.6"; sha256="1kxxaj2ia1v5p0d0yi3vq7rkiajsdsg97k3yg0iqb9v4vbj8mc1y"; depends=[]; };
-  eventInterval = derive { name="eventInterval"; version="1.0-1"; sha256="0vcp40rsb2pazn4p44dsaxjai7qhjwzrh9lf0q84fcayrnk51dqv"; depends=[MASS]; };
-  events = derive { name="events"; version="0.5"; sha256="1zka4ygymifs8snd7cabl11b5lg3f8g8370dkm9ybl40bn8vvqq2"; depends=[]; };
-  eventstudies = derive { name="eventstudies"; version="1.1"; sha256="13l2yhmlpiid9r3njnmvja231l00ym7gvwfbv0m9fk2k5j6gm5id"; depends=[zoo xts boot]; };
-  EVER = derive { name="EVER"; version="1.2"; sha256="1yk6ln4shp53jvph6jy1d5m4cq080p6f03qwigdw4f0al9qzja2s"; depends=[]; };
-  evir = derive { name="evir"; version="1.7-3"; sha256="1kn139vvzdrx5r9jayjb4b0803b0bbppxk68z00gdb50mxgvi593"; depends=[]; };
-  evmix = derive { name="evmix"; version="2.1"; sha256="1fg3pz1l3qk37qbp02c81rfsvpfm0zjh8q83cvkir1ap5k6xzfwl"; depends=[MASS gsl]; };
-  evobiR = derive { name="evobiR"; version="1.0"; sha256="12j01qzc4yrjpxbj39bl29f5ypxwk33c6qf0mjjbgpwn5g6fgsi4"; depends=[seqinr ape stringr geiger taxize]; };
-  evolvability = derive { name="evolvability"; version="1.0"; sha256="17vkmb5208q4lx6jslx96nbhsl9m2c4ra6264bparbgrg34byg9x"; depends=[coda]; };
-  evora = derive { name="evora"; version="1.0"; sha256="0blq28ldynbq3v6rh0yk89wy1sjp4621h6iwnyyiipqwzihwrhz2"; depends=[Hmisc]; };
-  EvoRAG = derive { name="EvoRAG"; version="2.0"; sha256="0gb269mpl2hbx1cqakv3qicpyrlfb4k8a3a7whhg90masbgmh8f6"; depends=[]; };
-  evt0 = derive { name="evt0"; version="1.1-3"; sha256="08sbyvx49kp3jsyki60gbbnci26d6yk0yj2zcl4bhfac8c3mm6ya"; depends=[evd]; };
-  evtree = derive { name="evtree"; version="0.1-5"; sha256="09byr935z4bzc3yk0l51lnm99k2ac2z44pwx2p35w4080gpsa10r"; depends=[partykit]; };
-  EWGoF = derive { name="EWGoF"; version="2.0"; sha256="07kpzaqfd7ihpmh2y5806mz5h64dcajia5v36pp9myl04fvpjapp"; depends=[Rcpp maxLik miscTools]; };
-  Exact = derive { name="Exact"; version="1.4"; sha256="1l4cq6kslnl8x8c53m2w8w1vijmbxaxzr1fpdzrm2hfra0p5z90s"; depends=[]; };
-  exact2x2 = derive { name="exact2x2"; version="1.3.0"; sha256="0gp6b04bd6pf1a01d6d99p8mbjcqsayrdbm58wky2pg8s445523q"; depends=[exactci ssanv]; };
-  exactci = derive { name="exactci"; version="1.2-1"; sha256="1vnaggb38px2z8fhav0s8hnqz0x2y0ivfzxhyfqn2rlm1v2zxmn0"; depends=[]; };
-  ExactCIdiff = derive { name="ExactCIdiff"; version="1.3"; sha256="1vayq8x7gk1fnr1jrlscg6rb58wncriybw4m1z0glfgzr259103y"; depends=[]; };
-  exactLoglinTest = derive { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; };
-  exactmeta = derive { name="exactmeta"; version="1.0-1"; sha256="1alva8ls4l56j3bdxgd1mh9isqk198iyrycc88vgpmj30gjpwncn"; depends=[]; };
-  ExactPath = derive { name="ExactPath"; version="1.0"; sha256="0ngvalmgdswf73q0jr4psg0ihnb7qwkamm6h64l01k5rmgd5nm16"; depends=[ncvreg lars]; };
-  exactRankTests = derive { name="exactRankTests"; version="0.8-27"; sha256="0ygy3ygdnrrcggps5zh5r7kqfa9vj6gfgdyli63n8cwdimfyndhn"; depends=[]; };
-  exams = derive { name="exams"; version="2.0-0"; sha256="0w3hnwnwcvl2i0y08qw96fkhfy31hx3pvw2qjxi95vhna5987k0h"; depends=[]; };
-  ExceedanceTools = derive { name="ExceedanceTools"; version="1.2.2"; sha256="084sc6pggfbcyavhfnd5whyigw7dyjhb4cxmxi0kh2jiam5k8v5b"; depends=[splancs SpatialTools]; };
-  excursions = derive { name="excursions"; version="1.1-20140610"; sha256="0x7rk00abf7fw9h2qqp6s2snkm1snkl35mgmxvgwv0a0jm3q56ls"; depends=[Matrix]; };
-  ExomeDepth = derive { name="ExomeDepth"; version="1.0.7"; sha256="02jsbnpyb8y4qnid084z6x1w22pdhnjq6729ixjiw715vavn4p27"; depends=[aod VGAM]; };
-  expands = derive { name="expands"; version="1.4"; sha256="1k9rr13vbppmaq8i0s4q7szp42b444hx5fka9q9vwskhv3d9azwi"; depends=[rJava flexmix matlab mclust moments ape permute]; };
-  ExpDes = derive { name="ExpDes"; version="1.1.2"; sha256="0qfigbx06b3p04x5v7wban139mp8hg8x77x6nzwa4v6dr226qbkv"; depends=[]; };
-  ExpDes_pt = derive { name="ExpDes.pt"; version="1.1.2"; sha256="0khw2jhg2vxcivgr20ybvrsqhd8l8bir5xjmr4m44za9nhap43bz"; depends=[]; };
-  expectreg = derive { name="expectreg"; version="0.39"; sha256="1mxhv6phc3lgp0zz20wszx4nr3by9p6492wcb0x8wn8p8p1sy1b3"; depends=[mboost BayesX quadprog]; };
-  experiment = derive { name="experiment"; version="1.1-1"; sha256="07yaf5k5fpymz2yvr52zbbi60g0v84qryvqqjq3sjq2mb1fjfz1p"; depends=[boot MASS]; };
-  expert = derive { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; };
-  expm = derive { name="expm"; version="0.99-1.1"; sha256="0kcanqaqn51f437fxriw4qkpxbhzpjzlkp95wn89ip4jhy6076qn"; depends=[Matrix]; };
-  expoRkit = derive { name="expoRkit"; version="0.9"; sha256="0raf0m2nfbdbd1pc4lincyp8y8lgn3bfi4hn0p04plc5p40l1gvc"; depends=[Matrix SparseM]; };
-  ExPosition = derive { name="ExPosition"; version="2.8.19"; sha256="04s9kk8x6khvnryg6lqdwnyn79860dzrjk8a9jyxgzp94rgalnnz"; depends=[prettyGraphs]; };
-  expoTree = derive { name="expoTree"; version="1.0.1"; sha256="0hj1x4niqp0ghqik3mz733nc3zpnhyknrdpzpj6y2rfia2ysdiz8"; depends=[ape deSolve]; };
-  expp = derive { name="expp"; version="1.1"; sha256="13zbhkkcshqrpln5gsa051d390q9ij97lawsdbd5j7fj9hxm9pwh"; depends=[sp spdep rgeos deldir]; };
-  expsmooth = derive { name="expsmooth"; version="2.02"; sha256="1l9k4llzkqwzmrr1l68qr58ngzs3ql67hxrr5fcrcwwnaa1zinyj"; depends=[tseries forecast]; };
-  exptest = derive { name="exptest"; version="1.2"; sha256="0wgjg62rjhnr206hkg5h2923q8dq151wyv54pi369hzy3lp8qrvq"; depends=[]; };
-  exsic = derive { name="exsic"; version="1.0"; sha256="01gvqpy72vs7hn5hcxazzqjb44crh0j31khc11m99ig1ynkbvkms"; depends=[stringr markdown]; };
-  ExtDist = derive { name="ExtDist"; version="0.3.3"; sha256="1igdjyadjvm26n3y08gckblxnndrly8d8cgr23hrjww7khdn6ng2"; depends=[numDeriv optimx matrixcalc]; };
-  extfunnel = derive { name="extfunnel"; version="1.3"; sha256="162w5b2wjs3yqy8jisamsapav6swa8sskf1b6x5hglnrv3i4qyyy"; depends=[rmeta]; };
-  extlasso = derive { name="extlasso"; version="0.1"; sha256="1yb7pfvpchpx81ffa8hjl5h0qf7714zasllf7w4znk3i9dadbyd1"; depends=[]; };
-  extraBinomial = derive { name="extraBinomial"; version="2.1"; sha256="0qmvl35f7n78kghszwyaz4wzbswqy4p98c3b6alzrc2ldsq6pq5z"; depends=[]; };
-  extracat = derive { name="extracat"; version="1.7-0"; sha256="1m0rfz6vma8rw8rgmadagw26ysq4jmwwysdy9kb5vk8d06la3hag"; depends=[colorspace hexbin scales ggplot2 reshape2 plyr TSP]; };
-  extrafont = derive { name="extrafont"; version="0.16"; sha256="0ml1a7m28cdx1a6qcmg8840v95lmhl39ad51q1k3bnqzbxfgqncl"; depends=[extrafontdb Rttf2pt1]; };
-  extrafontdb = derive { name="extrafontdb"; version="1.0"; sha256="115n42hfvv5h4nn4cfkfmkmn968py4lpy8zd0d6w5yylwpzbm8gs"; depends=[]; };
-  extraTrees = derive { name="extraTrees"; version="1.0.1"; sha256="0kq59aw05cjvry4sbwb4mrnrhggibjnf0ga9kwbipkkdgzzj5wsz"; depends=[rJava]; };
-  ExtremeBounds = derive { name="ExtremeBounds"; version="0.1.4.1"; sha256="00k7s5dpia9hajdsb70vd0bx01spaz4m6cjk00gzwndia54cb1dp"; depends=[Formula]; };
-  extRemes = derive { name="extRemes"; version="2.0-1"; sha256="0rp2khgrq3wpyxvhyrgrx5b5af33jzfcgmmqlvkx0rr6ql4fqywq"; depends=[Lmoments distillery car]; };
-  extremevalues = derive { name="extremevalues"; version="2.2"; sha256="162j6kqnd1ak2w2m6y5dbxcya1ap4648hvc83ibq33bxk98rh7sb"; depends=[]; };
-  extWeibQuant = derive { name="extWeibQuant"; version="1.0"; sha256="0l20x33nh50jfrkwm8d0n824d400lnjia8ymdwr10sgj3v1x7vp1"; depends=[]; };
-  eyetracking = derive { name="eyetracking"; version="1.1"; sha256="0ajas96s25hjp3yrg42hp78qjhl1aih04mjirkskx32qsyq5hfpv"; depends=[]; };
-  ez = derive { name="ez"; version="4.2-2"; sha256="1dk4ig137ridr4pw4afp3flm22s8l38yrgxabld1zv46slndc8mm"; depends=[car ggplot2 lme4 MASS Matrix mgcv plyr reshape2 scales stringr]; };
-  ezglm = derive { name="ezglm"; version="1.0"; sha256="0x7ffk3ipzbdr9ddqzv0skmpj5zwazkabibhs74faxnld7pcxhps"; depends=[]; };
-  ezsim = derive { name="ezsim"; version="0.5.5"; sha256="03x75vmf75qsmk4zb09j7xrb11w31rpfwd3dvv12nwjgndh9bnld"; depends=[foreach ggplot2 digest plyr reshape Jmisc]; };
-  FacPad = derive { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[Rlab MASS]; };
-  factas = derive { name="factas"; version="2.3"; sha256="015lpxf37z8vx4h7a8lavksd7i0gc4x7a7ja63wi9h1czdjsc28k"; depends=[plotrix FactoMineR Matrix]; };
-  FactMixtAnalysis = derive { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; };
-  FactoClass = derive { name="FactoClass"; version="1.1.0"; sha256="0y7yd2i79j1m5yl6vnvma47xhr3rl7i37h9sadyrpfm4s486b3kc"; depends=[ade4 xtable]; };
-  FactoMineR = derive { name="FactoMineR"; version="1.26"; sha256="0a5kxygybsk2y7nyzl3hnvpspimx3c77j7n8syhs817zw3d6sg6i"; depends=[car ellipse lattice cluster scatterplot3d leaps]; };
-  factorplot = derive { name="factorplot"; version="1.1-1"; sha256="1l8pabf32dr12l7b4dgv5jaxpsjymgdxc51miv72zczrx8adc7da"; depends=[multcomp nnet]; };
-  factorQR = derive { name="factorQR"; version="0.1-4"; sha256="1vl01fm5qfyhnqbl5y86vkr50b8cv07vzlqs3v6smqaqq6yp4lv4"; depends=[lattice]; };
-  factualR = derive { name="factualR"; version="0.5"; sha256="1wz8ibcmilcx62yy29nd2i1pdmjf7fm0g9i5s58gdn8cjlhnw1jl"; depends=[RJSONIO RCurl]; };
-  FADA = derive { name="FADA"; version="1.0"; sha256="1qqxzlmwybajyjfvmlvkq6bfd8vm7lgvgs49vh3x8fdbk6annaj6"; depends=[MASS elasticnet sparseLDA sda glmnet mnormt]; };
-  FAdist = derive { name="FAdist"; version="2.0"; sha256="0qkbliz25xlsng7fi9hk1vshpd3535yrv5rc43m3g2mj024a9wxg"; depends=[]; };
-  Fahrmeir = derive { name="Fahrmeir"; version="2012.04-0"; sha256="1axx6r4g6gj1inih41i2az4y0d3jq9x1a6nyj8k7wp51z4z2nbmk"; depends=[]; };
-  fail = derive { name="fail"; version="1.2"; sha256="0xzvb71iq20ah1x1zlb9kbx0r47jhqlzxx0sxwhkibglpzskg84z"; depends=[BBmisc]; };
-  FAiR = derive { name="FAiR"; version="0.4-15"; sha256="18nj95fiy3j7kf4nzf692dxja3msnaaj5csg745bnajb48l606wz"; depends=[rgenoud gWidgetsRGtk2 rrcov Matrix]; };
-  faisalconjoint = derive { name="faisalconjoint"; version="1.10"; sha256="0z1d241s05jpcih6kh8dhs3k506mwls4xms5zszsmdbzri6sa34x"; depends=[]; };
-  falcon = derive { name="falcon"; version="0.1"; sha256="0yas8a8nqdp03s77k5z1xlyz59gapyx68pz0mf6i2snjwpgai59v"; depends=[]; };
-  fame = derive { name="fame"; version="2.18"; sha256="132wb59d15bs94fga5hwxxr9pklyp2rjn448nl8lx5spjrvycwf4"; depends=[tis]; };
-  Familias = derive { name="Familias"; version="2.1"; sha256="1ccm2hm8vlm450yqx3r45qklgwa6wb54i39ybfh9g2fl544spzn8"; depends=[paramlink]; };
-  FAMT = derive { name="FAMT"; version="2.5"; sha256="0mn85yy9zmiklfwqjbhbhzbawwp2yqrm9pvm8jhasn9c3kw1pcp2"; depends=[mnormt]; };
-  fanc = derive { name="fanc"; version="1.13"; sha256="08qw4vhms8q2jyqqp2vlq8xdg7y7m0mcwb1pibm7wn938rgablq3"; depends=[Matrix]; };
-  fANCOVA = derive { name="fANCOVA"; version="0.5-1"; sha256="034m2mmm6wmsjd41sg82m9ppqjf4b1kgw5vl2w7kzqfx0lypaiwv"; depends=[]; };
-  fanovaGraph = derive { name="fanovaGraph"; version="1.4.7"; sha256="19bzl6yrmi5lgyx6nq3f7i0rdaz2ig580h8116axrsxpx8c4d52x"; depends=[sensitivity igraph DiceKriging]; };
-  fanplot = derive { name="fanplot"; version="3.3"; sha256="0bv7x3xrsg0pmp9gmck30jypv8cwc03bv753m49dfpgs2p9srcmc"; depends=[]; };
-  FAOSTAT = derive { name="FAOSTAT"; version="1.6"; sha256="18wx691hclbf7fvfk3swsz6ripv9w70nlqhsk3lgr4il8bjsr3cy"; depends=[RJSONIO plyr data_table MASS classInt ggplot2 labeling scales]; };
-  faoutlier = derive { name="faoutlier"; version="0.4"; sha256="113qpwil669jr89kpqs6c6xzh0z3vp2hzfy98mh1dr2dvaznd06f"; depends=[sem lattice lavaan MASS]; };
-  far = derive { name="far"; version="0.6-3"; sha256="0i7c0zrz33abwkml1zdjf5m61bxpfndwziqjbh6wyhdz8msp2kmf"; depends=[nlme]; };
-  faraway = derive { name="faraway"; version="1.0.6"; sha256="10vj38chfnlz595pdi16v8gcwsbmn8a7p4gb0mm98dncyin5p2a3"; depends=[]; };
-  fArma = derive { name="fArma"; version="3010.79"; sha256="1byxyy4afl1gq58r1cmc5p6frdr9rljr1x3pdnc8nj8rr65lkg72"; depends=[timeDate timeSeries fBasics]; };
-  farsi = derive { name="farsi"; version="1.0"; sha256="0y14f86bccwjirdx33383wa605y7l7lr0w7ygvg8r7f7izkv7r3n"; depends=[]; };
-  fAsianOptions = derive { name="fAsianOptions"; version="3010.79"; sha256="1w9ph3rz6cd7g275flzsnqxwd3r5xin6pkini8pbsi9s8hbqv3vl"; depends=[timeDate timeSeries fBasics fOptions]; };
-  fast = derive { name="fast"; version="0.63"; sha256="00ag9d0dwn9al104y93m8dclbjqabr9liif8gr19v3gv6k2k6p2c"; depends=[zoo]; };
-  fastclime = derive { name="fastclime"; version="1.2.4"; sha256="0z91khjzffwy4mbqgkfw4l9mw32sg4p5pvcg4v24z1q44pgnwn4y"; depends=[lattice igraph MASS Matrix]; };
-  fastcluster = derive { name="fastcluster"; version="1.1.13"; sha256="0hkml8ggmq5gqw9indqh6rb5x922qq8chd9s35fkxdcgzw58253a"; depends=[]; };
-  fastcox = derive { name="fastcox"; version="1.1.1"; sha256="1a5i0ragl0r6p29iamkn04igakiwyysykfbs2p6ybgy8pfdq69sv"; depends=[Matrix]; };
-  fastGHQuad = derive { name="fastGHQuad"; version="0.1-1"; sha256="0qnffhplfl2kb4dd90as298ays19k4f18slhj063f01gywqqrahn"; depends=[Rcpp]; };
-  FastHCS = derive { name="FastHCS"; version="0.0.2"; sha256="0vc7wmsgk731br0y1vrv50vx5sp7jjjbavd4my6y72rsl9iajv3q"; depends=[matrixStats]; };
-  fastHICA = derive { name="fastHICA"; version="1.0"; sha256="02lqqni7j2sp3ndb3kq785d7jf08p2s3ch30di8ffhwn57indald"; depends=[fastICA energy]; };
-  fastICA = derive { name="fastICA"; version="1.2-0"; sha256="0ykk78fsk5da2g16i4wji85bvji7nayjvkfp07hyaxq9d15jmf0r"; depends=[]; };
-  FastImputation = derive { name="FastImputation"; version="1.2"; sha256="04bz623kcanxcl9z8zl6m7m47pk0szcjrjlgs5v1yl3jnq9m2n7g"; depends=[]; };
-  fastM = derive { name="fastM"; version="0.0-2"; sha256="0q5dz47sqj6d4r3k6l6q34l5ajb8fjbf7xam75scp0mg3czswnfn"; depends=[Rcpp]; };
-  fastmatch = derive { name="fastmatch"; version="1.0-4"; sha256="16gfizfb1p7rjybrfm57nb6hdm30iirbppva8p8xf8pndz35fjbs"; depends=[]; };
-  FastPCS = derive { name="FastPCS"; version="0.0.9"; sha256="12hzp8vk2qb847xy42r0dhab21c0xn23vvakb4qa1jwz6ykji1zk"; depends=[matrixStats]; };
-  fastR = derive { name="fastR"; version="0.4-2"; sha256="19vg2dpbq4d7c3zyp18ygx91f0i0n37xwywbj87l7va82l55flyx"; depends=[lattice mosaic]; };
-  FastRCS = derive { name="FastRCS"; version="0.0.3"; sha256="0v69hgl0lwasj6xhzmd9sqv3ipax8d0gz6svhmcvnf47rzr8wc7z"; depends=[matrixStats]; };
-  FastRWeb = derive { name="FastRWeb"; version="1.1-0"; sha256="1hiabi7ibp69n5wi5x4kwznxhc2i7dxdrqf1fm6ppv7ix0wkjs07"; depends=[Cairo]; };
-  fastSOM = derive { name="fastSOM"; version="0.9"; sha256="03501d5289lrlr4qcgxciz160hqc6nhqb9ab266fr132fkbiv4id"; depends=[]; };
-  fat2Lpoly = derive { name="fat2Lpoly"; version="1.0.2"; sha256="1v5lrs2jksqiaavyhrsa2kjcw84wzg98g3v0kyx7jhmq8686027g"; depends=[kinship2 multgee]; };
-  FatTailsR = derive { name="FatTailsR"; version="1.0-3"; sha256="0r9n18qlr70p6y4v1xv1lxi1lzm9qp29qy4w51chllqjn15kmv7l"; depends=[minpack_lm]; };
-  FAwR = derive { name="FAwR"; version="1.0.1"; sha256="1j97hdhaamg6xqkaxb04xzsd60hd69n9y84frkqi9swvhr565waj"; depends=[MASS lattice]; };
-  fBasics = derive { name="fBasics"; version="3010.86"; sha256="1ij7f030r12g7s4jfykyfbnfwxwy777smccf9aw0imrz5ik6qjaj"; depends=[MASS timeDate timeSeries stabledist gss]; };
-  fbati = derive { name="fbati"; version="1.0-1"; sha256="1ia67dg9b61kc14mjg7065v0c6n6agdp8cjdviasyzga00wzsyxj"; depends=[pbatR fgui rootSolve]; };
-  FBFsearch = derive { name="FBFsearch"; version="1.0"; sha256="1nxfhll9gx9l6hzpcihlz880qxr0fyv5rjghk0xgp8xn4r5wxw11"; depends=[Rcpp RcppArmadillo]; };
-  FBN = derive { name="FBN"; version="1.5.1"; sha256="0723krsddfi4cy2i3vd6pi483qjxniychnsi9r8nw7dm052nb4sf"; depends=[]; };
-  fBonds = derive { name="fBonds"; version="3010.77"; sha256="00rc3i0iyqcpsqvc036csa1c8gxwcnniwj3l2irmcalx4p8650w0"; depends=[timeDate timeSeries fBasics]; };
-  fbRanks = derive { name="fbRanks"; version="2.0"; sha256="17kbmdpgqkj2n951c6mdsrgfga6kiij1gqiw1wpi0q3fq4dlfrzx"; depends=[igraph stringr]; };
-  fcd = derive { name="fcd"; version="0.1"; sha256="091wbf5iskcgyr7jv58wrf590qijb0qcpninmvm3xrwxi34r37xr"; depends=[glmnet MASS combinat]; };
-  fCertificates = derive { name="fCertificates"; version="0.5-3"; sha256="1m0kglsr6g0f7m8r9ls95zj3hmjqq83whyk6svar39p13vabadw6"; depends=[fBasics fOptions fExoticOptions]; };
-  fclust = derive { name="fclust"; version="1.0.1"; sha256="1xl8mw4wfwp9n9fmfmzxz8k8qyrk62qr77j085b3kgp7a85dp8ma"; depends=[]; };
-  fcros = derive { name="fcros"; version="1.1"; sha256="1wnsjghcs0gfqzl6v95zf0cxm3apnii92b2gxg3hkbgmc6xjm5bf"; depends=[]; };
-  FD = derive { name="FD"; version="1.0-11"; sha256="18g2fn6s60hxnasrj58450bjsf4kz62mypyby9avs5anlwihj8gm"; depends=[ade4 ape geometry vegan]; };
-  fda = derive { name="fda"; version="2.4.3"; sha256="19a7jylpr8sh1yz9ljyk889ksfd0xwagbvg83vy6vfsi82q1910g"; depends=[Matrix]; };
-  fdakma = derive { name="fdakma"; version="1.1.1"; sha256="0y70ckgxkns6p45gv9w02krrr96vzs8f838s5vk02c2m6ynp4prs"; depends=[]; };
-  fdaMixed = derive { name="fdaMixed"; version="0.4"; sha256="15m13v71kqxd9gqiymgfkq0dvcpzp05576m8zkg08m0k067ga9bd"; depends=[Formula Rcpp]; };
-  fdasrvf = derive { name="fdasrvf"; version="1.4.2"; sha256="12x04fi0sxs9yh1mf9iykk69zlz6m31j7s01in28p5hgk6wqf8fi"; depends=[foreach mvtnorm matrixcalc numDeriv]; };
-  fdatest = derive { name="fdatest"; version="1.0"; sha256="0m17abycfczkhwmrmjg43ra3fcaqicr15v2frwfgr5p1wj9x0gwq"; depends=[fda]; };
-  fda_usc = derive { name="fda.usc"; version="1.2.0"; sha256="1ifp94i0px3683ph90f7c3z1gh92c33nlfk1f2drr4s0fyb1kzy3"; depends=[fda MASS mgcv rpart]; };
-  FDboost = derive { name="FDboost"; version="0.0-5"; sha256="1xra0g46kicq74cpjby6y1va2bxvx8b9fiy76mdg1s6n8m6r1pxn"; depends=[mboost Matrix mgcv zoo nnls]; };
-  fdrci = derive { name="fdrci"; version="2.0"; sha256="0smyl9phl02wghimawvff3h267w3h213jbqpka155i6cfzig9qjy"; depends=[]; };
-  FDRreg = derive { name="FDRreg"; version="0.1"; sha256="17hppvyncbmyqpi7sin9qsrgffrnx8xjcla2ra6y0sqzam1145y4"; depends=[fda Rcpp mosaic]; };
-  fdrtool = derive { name="fdrtool"; version="1.2.12"; sha256="15c1ikddwzzl3mq2dcwjicjg46k436m315dhmkxmbwilrdqlcrn6"; depends=[]; };
-  fds = derive { name="fds"; version="1.7"; sha256="164f2cbywph7kyn712lfq4d86v22j4y3fg5i9zyz956hipqv0qvw"; depends=[rainbow RCurl]; };
-  fdth = derive { name="fdth"; version="1.1-8"; sha256="195219rndjcccd3b1gn3xc9iky8f3w5ig8x9822d4a2xajr78jnv"; depends=[]; };
-  FeaLect = derive { name="FeaLect"; version="1.3"; sha256="0an548y067g2n7xbg6slxnlaxzn71nwq28cdf9788w4zs98gh9c9"; depends=[lars rms]; };
-  feature = derive { name="feature"; version="1.2.10"; sha256="0jsqa2mv4kxzx3jh1lakg62f15776yzc8clj7wyijnx4jbkx8k8j"; depends=[ks]; };
-  features = derive { name="features"; version="2011.8-2"; sha256="0yshwqv2mzl5jj323jwxscpz2ygb4ywxh6q0zwphb24bhv7h9lwd"; depends=[lokern]; };
-  fechner = derive { name="fechner"; version="1.0-2"; sha256="0yhiqr0wlka3wq0nhwy9n02ax3x5b0y803iadbsr3xb54pxbfbqd"; depends=[]; };
-  federalregister = derive { name="federalregister"; version="0.1.2"; sha256="0f73jhzhqi3a97iyfx5c5i09vxwnyypgw6668z7nch8lvq337s8x"; depends=[RCurl RJSONIO]; };
-  FeedbackTS = derive { name="FeedbackTS"; version="1.1"; sha256="1vp9kxfk1p9hcdl9qg0f5bggh7h2ly9ag70w7dbmkgsika4c0r03"; depends=[maps mapdata proj4 geoR]; };
-  fExoticOptions = derive { name="fExoticOptions"; version="2152.78"; sha256="0h58prj8nh340b0fxxkgg4bk25yxvb4f8ppq677hr12x8sysf1a8"; depends=[timeDate timeSeries fBasics fOptions]; };
-  fExpressCertificates = derive { name="fExpressCertificates"; version="1.2"; sha256="1r4qkhf7alasbwjz910b0x4dlzm72af06kv7v2vwyzvf3byn21c5"; depends=[mvtnorm tmvtnorm fCertificates Matrix]; };
-  fExtremes = derive { name="fExtremes"; version="3010.81"; sha256="0bzgnn0wf7lqhj7b2dbbhi61s8fi2kmi87gg9hzqqi6p7krnz1n5"; depends=[timeDate timeSeries fBasics fGarch fTrading]; };
-  ff = derive { name="ff"; version="2.2-13"; sha256="1nvd6kx46xzyc99a44mgynd94pvd2h495m5a7b1g67k5w2phiywb"; depends=[bit]; };
-  ffbase = derive { name="ffbase"; version="0.11.3"; sha256="0n65i2a91jjjpzfw3placf6j6sbf8azzd1sck4adha6iiwpi8b1n"; depends=[ff bit fastmatch]; };
-  FFD = derive { name="FFD"; version="1.0-2"; sha256="0s6j4rq7ryypq63cq1cfa7n993bwx9pxp6pscdhyh79rhk28xxda"; depends=[tkrplot R2HTML]; };
-  FField = derive { name="FField"; version="0.1.0"; sha256="05q16v2vv64qhbnf2l66dwzmvgzyaq8vxwwdabp534bw7z7zpi8q"; depends=[]; };
-  ffmanova = derive { name="ffmanova"; version="0.2-2"; sha256="0sw8br73mx552m4b5zi4qgjcrwxflmgsnvs4mlnxh8g2gaf5bx4j"; depends=[]; };
-  fftw = derive { name="fftw"; version="1.0-3"; sha256="01nncrf2p0yq49lhd5aq4hvhp87f25r0x7siqnaldv5zq24krl30"; depends=[]; };
-  fftwtools = derive { name="fftwtools"; version="0.9-6"; sha256="00m4yapdkwfi4vrpg0yhakq2chma46mmbwhd9a15y61w97yzz7vb"; depends=[]; };
-  fgac = derive { name="fgac"; version="0.6-1"; sha256="0paddf5a4w0g2i0ay7my0bppwh534d8ghy6csfxl5jj034xjgwkk"; depends=[]; };
-  FGalgorithm = derive { name="FGalgorithm"; version="1.0"; sha256="1dq6yyb3l6c9fzvk9gs6pb240xb5hvc6fh8p3qd3c91b3m289mcc"; depends=[]; };
-  fGarch = derive { name="fGarch"; version="3010.82"; sha256="08q452pasvjhsg2ks6c52lqg276hlbdwk0vh25xya2bw2bgbqy99"; depends=[timeDate timeSeries fBasics]; };
-  FGN = derive { name="FGN"; version="2.0-12"; sha256="0jxawb4wm1vcp0131mdnc0r24dw8sd29ih0fc2wh6ahy7mxzajqn"; depends=[akima ltsa]; };
-  fgof = derive { name="fgof"; version="0.2-1"; sha256="0bclkb3as0fl2gyggqxczndfyj9pfnni5pa3inpn5msrnjg4g2j2"; depends=[mvtnorm numDeriv]; };
-  FGSG = derive { name="FGSG"; version="1.0"; sha256="01v0jbj09r1c4anbs3xa8y8by9ffwbbc36vsh0bv62blrisp7a03"; depends=[]; };
-  fgui = derive { name="fgui"; version="1.0-5"; sha256="0gzwxzvf2y9p5rlfk862d7l1dm2sdwjhjpcb8p494cj4g1xshazg"; depends=[]; };
-  FHtest = derive { name="FHtest"; version="1.1"; sha256="0yqy3lvxjhk7biqfikxqlgs9zsy1vlld9pqxhgxmq04gbnjn2jfk"; depends=[interval MLEcens MASS KMsurv]; };
-  FI = derive { name="FI"; version="1.0"; sha256="17qzl8qvxklpqrzsmvw4wq3lyqz3zkidr7ihxc4vdzmmz69pyh2f"; depends=[]; };
-  fICA = derive { name="fICA"; version="1.0-0"; sha256="054dg6ikps0ynfy06y95an5mi2wwqx88ylk5qcifxhjiylw36v5v"; depends=[JADE]; };
-  fields = derive { name="fields"; version="7.1"; sha256="0wxm8pq4j5clz1hcgdlajasg5cbq8x35i82wrw3gsy27kslyadkd"; depends=[spam maps]; };
-  FieldSim = derive { name="FieldSim"; version="3.1.3"; sha256="0ap1mfsjj3bflpryn0y8h9kg5mzfrnqj6h9f3m5ja32yjv19ql60"; depends=[rgl RColorBrewer]; };
-  fifer = derive { name="fifer"; version="1.0"; sha256="0vbkks6y6pacgpiixm10fbfa34lmk5r9kwd30lfjf0g7r51fhvv9"; depends=[xtable MASS]; };
-  filehash = derive { name="filehash"; version="2.2-2"; sha256="0766wrc42qh7r99bd2zy50vvdnqlz0vkzplskzkm5f4g63qdhjxh"; depends=[]; };
-  filehashSQLite = derive { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[filehash DBI RSQLite filehash DBI]; };
-  fImport = derive { name="fImport"; version="3000.82"; sha256="07yqppl8sbfa0x9k4n7hh6hcgyxpcvlk74hhylib4nzqm70bn0sq"; depends=[timeDate timeSeries]; };
-  financial = derive { name="financial"; version="0.2"; sha256="1v6jgs3rq57byin5mynslfjk3zrx91qz36558nn17mv6z0qsf10v"; depends=[]; };
-  FinancialInstrument = derive { name="FinancialInstrument"; version="1.1"; sha256="19sszdrqipy9i8g2bda9v8i9g5c9w584si4va35fq3i929yv7hrl"; depends=[quantmod xts zoo]; };
-  FinAsym = derive { name="FinAsym"; version="1.0"; sha256="0v15ydz4sq9djwcdcfp90mk8l951rry7h91d7asgg53mddbxjj6f"; depends=[]; };
-  FinCal = derive { name="FinCal"; version="0.6"; sha256="0slw5s7gilmv0j8iwhz27lss2gbrj2l8zqv7bqywr1yf0hw2nxn7"; depends=[ggplot2 reshape2 scales RCurl]; };
-  FindAllRoots = derive { name="FindAllRoots"; version="1.0"; sha256="0n4wfm21qj5zn06jqnzxa0w9mfn18dqi6hk1jjqa56dxqw1k7vw0"; depends=[]; };
-  FindIt = derive { name="FindIt"; version="0.3"; sha256="0bnyfv9xc5c9bzc34qpbnk6s9mvnzkx9zswjr3j210f518y8z45f"; depends=[glmnet lars glmnet lars]; };
-  FindMinIC = derive { name="FindMinIC"; version="1.6"; sha256="0vlr56nw32msvz8bljrw82nzrnazncs6nz7zisidffm2v3najkar"; depends=[nlme sets]; };
-  findpython = derive { name="findpython"; version="1.0.1"; sha256="0fa01znc9cckj4ay4zmwmssm2lkhmsw6h07y1pwgd6z1b2pj7bns"; depends=[]; };
-  fingerprint = derive { name="fingerprint"; version="3.5.2"; sha256="042aycxs00rglqh2y27bjlwkk6z312gavli7g8xvqfx1lisijrjk"; depends=[]; };
-  finiteruinprob = derive { name="finiteruinprob"; version="0.4"; sha256="0wcllbqkryll3v3fjb6k210pcgkskzrpa78gg8nda0jvkij11zb7"; depends=[sdprisk numDeriv]; };
-  FinTS = derive { name="FinTS"; version="0.4-5"; sha256="16m57h6rk4344aalfwaz7hsyis30c1dirsyx8ih661ihgqn1ai1r"; depends=[zoo]; };
-  FisherEM = derive { name="FisherEM"; version="1.4"; sha256="1lhkyyk82i6alxyiqrvy5fx60f8vab0y62zmw5fjaq6h0vczqn3s"; depends=[MASS elasticnet]; };
-  fisheyeR = derive { name="fisheyeR"; version="0.9"; sha256="1w6va7gakqq2q8hsvdszpn8s2ysdfc648bk5p5v3wbl5s403bci8"; depends=[tkrplot]; };
-  FisHiCal = derive { name="FisHiCal"; version="1.1"; sha256="1dds629jlja3vw2l010n1334yh3z10nijqksr0q98ckd2yrwg2rf"; depends=[igraph RcppArmadillo]; };
-  fishmethods = derive { name="fishmethods"; version="1.6-0"; sha256="1vp125sg3fy02zj5rbvgq4aymg1dj8g54kq5ss78c7rzwww7a560"; depends=[MASS boot bootstrap]; };
-  fishMod = derive { name="fishMod"; version="0.25"; sha256="0mg1bziz2ia406m4ilc7hw1bghrgdibm537hnlf9ffhfayjc4kid"; depends=[]; };
-  fishmove = derive { name="fishmove"; version="0.2-1"; sha256="1b8drjvslmpqnq5v3axrshrl2xq87h3x5cgfnibbhn4slrxw55v9"; depends=[ggplot2 plyr]; };
-  fit4NM = derive { name="fit4NM"; version="3.3.3"; sha256="1xy334svv7cc3xh2j33q6icnibxl46yvnxw8bd4xrpclg4xchc1g"; depends=[gWidgets tkrplot RGtk2 gWidgetsRGtk2 cairoDevice]; };
-  FitAR = derive { name="FitAR"; version="1.94"; sha256="1mkk3kvfq4v0pdabnhbwrk31ji2mv2v6ns16xsvvr1qyg2fnx6hq"; depends=[lattice leaps ltsa bestglm lattice leaps ltsa]; };
-  FitARMA = derive { name="FitARMA"; version="1.6"; sha256="1r9mqrqkm4wh3nd6v9wmpj23gw21i4p89p6z4c7639kn4f590ldk"; depends=[FitAR]; };
-  fitdistrplus = derive { name="fitdistrplus"; version="1.0-2"; sha256="1m35zicxm5gfc9wgp7lx7ymy06nr4s9fcwc07iky40xh65kps0s5"; depends=[survival]; };
-  fitDRC = derive { name="fitDRC"; version="1.1"; sha256="1f6avw8ia9ks17zdagpmh6yvcmi53h5cvm0wwv9hsb92x5zfhxn9"; depends=[]; };
-  fit_models = derive { name="fit.models"; version="0.5-10"; sha256="06pj26dbnq6mf9wxinvjzwyn36656f66a4bmky36r7fzi92gf3d8"; depends=[lattice]; };
-  FITSio = derive { name="FITSio"; version="2.0-0"; sha256="1gf3i1q9g81gydag2gj1wsy6wi5jj2v4j3lyrnh1n2g4kxd6s3cp"; depends=[]; };
-  fitTetra = derive { name="fitTetra"; version="1.0"; sha256="0ia6wk4gicpmn6kclsd28p7v1npwfv2blagiz0cxzwfw3njv103g"; depends=[]; };
-  FKF = derive { name="FKF"; version="0.1.3"; sha256="01ibihca39zng4wrvhq8h28bmb2rnsjm21xy22b85kpn3mbnh7f1"; depends=[RUnit]; };
-  flare = derive { name="flare"; version="1.4.0"; sha256="19hygxsz0sr1cvqyr6snxgrd9cfi25h1zyk8xhg35jffpbs97d7p"; depends=[lattice MASS Matrix]; };
-  flashClust = derive { name="flashClust"; version="1.01-2"; sha256="0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"; depends=[]; };
-  flexclust = derive { name="flexclust"; version="1.3-4"; sha256="1x9gyg69kb3wn02w885kl6hcwpf2ki66gzfayvc83jisrwxvdfvv"; depends=[lattice modeltools]; };
-  flexCWM = derive { name="flexCWM"; version="1.1"; sha256="0vxzf3ifmpg7l13bvbmv6h5a3gmn2h1xvkq354lvy4s8znk643c4"; depends=[numDeriv mnormt mclust ellipse mixture Flury]; };
-  flexmix = derive { name="flexmix"; version="2.3-11"; sha256="14nv6dxpgm9nr01rcz32x42agr4xi2anyss2fiywjidwbdgj50iy"; depends=[lattice modeltools nnet]; };
-  FlexParamCurve = derive { name="FlexParamCurve"; version="1.4-3"; sha256="1056lxs9c2bbh2i2gv1bv2sy8gq6k6p0jpl1d3axqd1xk5pipm2x"; depends=[nlme]; };
-  flexsurv = derive { name="flexsurv"; version="0.3"; sha256="0ig0151843qfc4pvk9mh80kly1n9mq9aphwkwligm9llspiwbcja"; depends=[survival muhaz mvtnorm]; };
-  FLIM = derive { name="FLIM"; version="1.1"; sha256="1gghzmj3mvih4gglk27rx1v18q72xnvymgzjwa84m5vlc8840jpa"; depends=[zoo MASS]; };
-  flip = derive { name="flip"; version="2.4.3"; sha256="04zf2gnk5w57gxnlnh26pn1ir1wfrzxhfhchr33ghk7prhc7k4b8"; depends=[e1071 someMTP cherry Rcpp]; };
-  FLLat = derive { name="FLLat"; version="1.1"; sha256="1h2nfx7gb66hjdfkdm6im6n8c1fjdz9csg39pckb47c0khl3g9r0"; depends=[gplots]; };
-  flora = derive { name="flora"; version="0.2.3"; sha256="03n2as362fcz7jbkprwqr2rs86njbkywczsf8cjfa2akwh93gj7s"; depends=[shiny]; };
-  flowfield = derive { name="flowfield"; version="1.0"; sha256="1cx3i0w3xq781mmms4x20fshlf1i9bwxw9bxx562crix3fq3m50j"; depends=[]; };
-  FLR = derive { name="FLR"; version="1.0"; sha256="0k50vi73qj7sjps0s6b2hq1cmpa4qr2vwkpd2wv2w1hhhrj8lm0n"; depends=[combinat]; };
-  flsa = derive { name="flsa"; version="1.05"; sha256="07z2b1pnpnimgbzkjgjl2b074pl9mml7nac2p8qvdgv7aj070cmh"; depends=[]; };
-  FLSSS = derive { name="FLSSS"; version="1.0"; sha256="1plpq4m7fh1g3hrbby1v93pnp1kn7ickb2vd6fa3zs7r9dkglikn"; depends=[Rcpp]; };
-  FluOMatic = derive { name="FluOMatic"; version="1.0"; sha256="06hww6viynisnfiphvghv4iqf1gk2snb8aksignaw8pnlkixnsg7"; depends=[]; };
-  Flury = derive { name="Flury"; version="0.1-3"; sha256="105fv9azjkd8bsb9b8ba3gpy3pjnyyyp753qhrd11byp3d0bbxy0"; depends=[]; };
-  flux = derive { name="flux"; version="0.3-0"; sha256="0pc9cab2pwrfl0fnz29wp7a398r49hvbi50jp8i2fk2rfvck21a7"; depends=[caTools]; };
-  fma = derive { name="fma"; version="2.01"; sha256="1j5mvhbrdnkyj4svibpahnz7d4221nkhja5b7fnh68mbmil607fc"; depends=[tseries forecast]; };
-  FME = derive { name="FME"; version="1.3.1"; sha256="1wylpxr9m65ksizjhn97082kfkf9m451qraw93cgn5660skxw7d8"; depends=[deSolve rootSolve minpack_lm MASS coda]; };
-  fmri = derive { name="fmri"; version="1.5-1"; sha256="0dla5w8x4njw2njryb35nqh4r31wdps9bl5wzab2grzl546wwmwm"; depends=[]; };
-  fmsb = derive { name="fmsb"; version="0.5.0"; sha256="1aynq4d2nrx11irrbhvjavvd86ffgrw5jv6pwnk97lw6qjfk5kc3"; depends=[]; };
-  FMStable = derive { name="FMStable"; version="0.1-2"; sha256="00viigpqfbqc4hyl9cwicbwqf2ksjak28qrqaa16jhbqz93j4fck"; depends=[]; };
-  fmt = derive { name="fmt"; version="1.0"; sha256="13gsywnyvf9zy5n644g2xyd60f92w2dp7vil2dncjvjcqsib22a0"; depends=[]; };
-  FNN = derive { name="FNN"; version="1.1"; sha256="1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj"; depends=[]; };
-  fNonlinear = derive { name="fNonlinear"; version="3010.78"; sha256="0pmz16b606i3mx05zjln4nyl53ks7rlwgm45ldr9qgmw51pflwz9"; depends=[timeDate timeSeries fBasics fGarch]; };
-  foba = derive { name="foba"; version="0.1"; sha256="1af8whgl66v0vwzdf03b6141k3dysdc0svymlgifcga5gqkwzsl0"; depends=[]; };
-  fontcm = derive { name="fontcm"; version="1.1"; sha256="1z6b4qdgj5vhvjqj90sm1hp0fffi1vxzvq71p0flxybzyb7d15la"; depends=[]; };
-  foodweb = derive { name="foodweb"; version="1-0"; sha256="1zm2a87g9bkpz90j9lax28s5hq1w7ia28qqb6vnvr1d7a47g9zi9"; depends=[rgl]; };
-  fOptions = derive { name="fOptions"; version="3010.83"; sha256="01yr3hrfiq4hjhidl5pl1gcqg0myg4acmnipjhq70l3q50cfjm8l"; depends=[timeDate timeSeries fBasics]; };
-  forams = derive { name="forams"; version="2.0-4"; sha256="1kvxlqdyzb3rqa45hp7jxjm009w0r6h78nr3yh9bqcz594zqidbq"; depends=[vegan]; };
-  foreach = derive { name="foreach"; version="1.4.2"; sha256="097zk7cwyjxgw2i8i547y437y0gg2fmyc5g4i8bbkn99004qzzfl"; depends=[codetools iterators]; };
-  ForeCA = derive { name="ForeCA"; version="0.1"; sha256="1nbflawx8h4lpb9ixbp0zcyl0bqykqlqail31i00ywkak2ic3pm3"; depends=[ifultools splus2R nlme R_utils sapa mgcv astsa]; };
-  forecast = derive { name="forecast"; version="5.5"; sha256="040sjs26jdpcvn1mipbvy81ygr1ck1z69jhx375l76hbswyq801c"; depends=[zoo timeDate tseries fracdiff Rcpp nnet colorspace]; };
-  foreign = derive { name="foreign"; version="0.8-61"; sha256="0r994z3ihvrbfhzpvp2dkxbfgkbmccgrryfaxmy1vi56v59n73w8"; depends=[]; };
-  forensic = derive { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[genetics combinat]; };
-  forensim = derive { name="forensim"; version="4.3"; sha256="1j92imykw48cciay0r6n1aq1jrdb2b1grrz6lpc4kgbnbd7mk0qm"; depends=[tcltk2 tkrplot]; };
-  ForImp = derive { name="ForImp"; version="1.0.2"; sha256="1qplsg3cxs95b3ax71a3wyjfk4q207k72ggba2sl0zc7mjqhv1f4"; depends=[homals sampling mvtnorm]; };
-  ForIT = derive { name="ForIT"; version="1.0"; sha256="0mi2cw09mbc54s8qwcwxin2na1gfyi60cdssy2ncynma7alq3733"; depends=[]; };
-  fork = derive { name="fork"; version="1.2.4"; sha256="1sb4xypirmrknhrc872ky845kym58dmakn6c2crsbp67wpg63m4l"; depends=[]; };
-  FormalSeries = derive { name="FormalSeries"; version="1.0"; sha256="09m4ifinasww0xfprs29xsrqhxxkw9zffb3919xnkkjkwp0nax4v"; depends=[]; };
-  formatR = derive { name="formatR"; version="0.10"; sha256="0rxm4c896rcmalmq1hsjg053dqb3m2vf9jqap5w5bsllaiakwh4a"; depends=[]; };
-  Formula = derive { name="Formula"; version="1.1-2"; sha256="1axjcmy4x2175nrfjc7vwkijcyr86ws6nbs08990wq8gcal15a10"; depends=[]; };
-  formula_tools = derive { name="formula.tools"; version="1.3.4"; sha256="1xxl45x88fpskwvfj6sbcbfng84plpf8sjrkwawzki9a41ydhwaq"; depends=[operator_tools]; };
-  fortunes = derive { name="fortunes"; version="1.5-2"; sha256="1wv1x055v388ay4gnd1l8y6dgvamyfvmsd0ik9fziygwsaljb049"; depends=[]; };
-  forward = derive { name="forward"; version="1.0.3"; sha256="0swn5ysp3f660kl9jpmkck9324j1g3yhj2hl238rfrcr5wihxifc"; depends=[MASS]; };
-  fossil = derive { name="fossil"; version="0.3.7"; sha256="188hyb3r1dnxkmqf2czh1kdzmk4mjc0v1kn1zml2yvxaxk7adsrz"; depends=[sp maps shapefiles]; };
-  FourScores = derive { name="FourScores"; version="1.0"; sha256="0d21mrl9bzsvhljv7ymiyck508smp66w9qivrb2rp0p803h9yibm"; depends=[]; };
-  fpc = derive { name="fpc"; version="2.1-7"; sha256="1zymk2v7s8jyn4jm3qaxzd5rlx748ap4ad2dd56w195q5j1xn4bh"; depends=[MASS cluster mclust flexmix]; };
-  fpca = derive { name="fpca"; version="0.2-1"; sha256="13b102026xlfb7c2rb3xsqsymm7xpmaxppaafjkb5dx0b1lz0jrc"; depends=[sm]; };
-  FPDC = derive { name="FPDC"; version="1.0"; sha256="0f6f5bjh1dqv9n6hpbgj922ymbd1zdb0b4ad5h9nk1c6c9ysai7y"; depends=[ThreeWay]; };
-  fpow = derive { name="fpow"; version="0.0-2"; sha256="0am3nczimcfrm9hi02vl2xxsh703qjmr2j11y014mll3f2v1l8cy"; depends=[]; };
-  fpp = derive { name="fpp"; version="0.5"; sha256="1jqnx6bgpvnbbj2fa2b6m6aj8jd5cb9kz877r8kp7a5qj62xv1ww"; depends=[forecast fma expsmooth lmtest tseries]; };
-  fptdApprox = derive { name="fptdApprox"; version="2.0"; sha256="152bajs76wrapp0zdbkckff6kdkkm6sqqlqd2w220hsi96l2p9dh"; depends=[]; };
-  fracdiff = derive { name="fracdiff"; version="1.4-2"; sha256="03l5dqpqwwi5c8fwc2vissfawcsignai60h2zalknkibvk782dwq"; depends=[]; };
-  fracprolif = derive { name="fracprolif"; version="1.0.5"; sha256="0d028dkiwv8jlsnvdv3wqgx6vsl2ai0icpdadl66sjj45yxv1z7g"; depends=[emg numDeriv]; };
-  fractal = derive { name="fractal"; version="2.0-0"; sha256="17wz3c9f1l1rphzdn7j27j5nb1ll6j84f9ihk0z6fni41050szv7"; depends=[splus2R ifultools sapa wmtsa scatterplot3d]; };
-  fractaldim = derive { name="fractaldim"; version="0.8-4"; sha256="0fln4qn0d79agnnlzi8b9g9qn90zynq1cg9v5isiyi71345v45nr"; depends=[abind]; };
-  fractalrock = derive { name="fractalrock"; version="1.1.0"; sha256="15f4w8hq3d8khgq269669ri16qxhar9646w40cw7wzh79r9gpf00"; depends=[futile_any futile_logger timeDate quantmod]; };
-  FRACTION = derive { name="FRACTION"; version="1.0"; sha256="0g25dzsbharsq8bzfka96zccaqppdclax24mz5m080ddg4y8zj49"; depends=[]; };
-  frailtyHL = derive { name="frailtyHL"; version="1.1"; sha256="1xjdph0ixanf9w4b6hx6igfhkcp8h93sclrg0pgqgmbvm41lhb1x"; depends=[Matrix numDeriv survival]; };
-  frailtypack = derive { name="frailtypack"; version="2.6.1"; sha256="0xzf7qffp9ybxdd9x2s30k23lcss8wf6rbljp3x5xbyg87nfawyd"; depends=[survival boot MASS survC1]; };
-  frair = derive { name="frair"; version="0.4"; sha256="1g52ykj1m9znpp0pvry7dnmhg4m73nbkw0bp31zl6pcsdgmxxqjr"; depends=[bbmle emdbook boot]; };
-  FRAPO = derive { name="FRAPO"; version="0.3-8"; sha256="1wqayyai8pdm1vq6qvpd10qpd882cyjb0y0jl582fxd3a2ic7n14"; depends=[quadprog Rglpk timeSeries]; };
-  FRB = derive { name="FRB"; version="1.8"; sha256="13rp4gqldx84mngrdv5fa9xamkng7b3kgy30ywykcx46gmrym6ps"; depends=[corpcor rrcov]; };
-  frbs = derive { name="frbs"; version="2.2-0"; sha256="13m8hm2925h1mz2wgbsxiqls5gy7sgvp0rsdcsy2sm7czjnl2z7n"; depends=[]; };
-  FRCC = derive { name="FRCC"; version="1.0"; sha256="1g1rsdqsvwf7wc16dj16y6r0347j8jsv5l1pxvj1h0579zinaf2b"; depends=[CCP MASS calibrate corpcor]; };
-  freeknotsplines = derive { name="freeknotsplines"; version="1.0"; sha256="19zs42q9njknirdbrbnp8bv4vr32kd8wxmkqj0a0nh06i5fcx67r"; depends=[]; };
-  FreeSortR = derive { name="FreeSortR"; version="1.0"; sha256="1zrff48abf42md6y2x2s8sd23807dx78fjgbfzzxswg3hz34g5sa"; depends=[smacof vegan ellipse]; };
-  freestats = derive { name="freestats"; version="0.0.3"; sha256="0b18n8idap089gkmjknzzb94dvs2drpdqs0mrw7dqnacxgbbqwfj"; depends=[MASS mvtnorm]; };
-  FREQ = derive { name="FREQ"; version="1.0"; sha256="01nra30pbnqdd63pa87lcws3hnhhzybcjvx2jqyxjghn6khz47j0"; depends=[]; };
-  freqMAP = derive { name="freqMAP"; version="0.2"; sha256="02hpkqqrxifrr1cxn5brp166jwa8lgl1mcgmq7s8csrbbd900ziv"; depends=[]; };
-  freqparcoord = derive { name="freqparcoord"; version="1.0.0"; sha256="0hn5y10yp3j76lqrmj6dsaafamgy4pfxx1p4y92z17s79x29j59q"; depends=[ggplot2 GGally FNN mvtnorm]; };
-  freqweights = derive { name="freqweights"; version="0.1.0"; sha256="1ckhr0d21gd193lkwv4723n4q72phg93ymi00810f1h5677mghby"; depends=[plyr dplyr data_table biglm fastcluster FactoMineR]; };
-  FrF2 = derive { name="FrF2"; version="1.7-1"; sha256="0i9hfx7n0g866imdsmalqzs8v95vx08cz97hi8311v1wc3pqsn1j"; depends=[DoE_base sfsmisc BsMD scatterplot3d igraph]; };
-  FrF2_catlg128 = derive { name="FrF2.catlg128"; version="1.2-1"; sha256="0i4m5zb9dazpvmnp8wh3k51bm0vykh4gncnhdg71mfk4hzrfpdac"; depends=[FrF2]; };
-  frm = derive { name="frm"; version="1.2"; sha256="128ya5gx27hywkhf9mivscxsk8rgf07c0y65fh15hp1c8m6dx0nz"; depends=[]; };
-  frmqa = derive { name="frmqa"; version="0.1-5"; sha256="0vd5jnjzhkc0vd4cqn4cs6a3limd4fxwyb5i7845rwmkzk1944aj"; depends=[partitions Rmpfr]; };
-  frontier = derive { name="frontier"; version="1.1-0"; sha256="0k2ap22qddzki63biikr1jzi5vmqz4j06d7qrf1y8axdq1q1cr44"; depends=[micEcon lmtest moments Formula miscTools]; };
-  frontiles = derive { name="frontiles"; version="1.2"; sha256="08qq25wbylvhvmq34wggyj0hwdlxfs9rfs8gjqsrg50xccchniqi"; depends=[classInt colorspace rgl sp]; };
-  frt = derive { name="frt"; version="0.1"; sha256="1qy76a1wkznaqzlyj1nq74mf1pnyly1s8gnff8q30zfccqk68cxv"; depends=[]; };
-  fscaret = derive { name="fscaret"; version="0.8.5.6"; sha256="060i64q65ra2npxvrd6ihzqqqv3s4xyisvgrskkyybswhqzvhxvr"; depends=[caret gsubfn]; };
-  FSelector = derive { name="FSelector"; version="0.19"; sha256="1b9jj8lqly31v393mx9dmr437sw0pk7m693ah4xnr2c9vjry6fav"; depends=[randomForest RWeka digest]; };
-  fslr = derive { name="fslr"; version="1.1"; sha256="0m2bhmbkf4594k6l8xmqlrgv2z6pmhwm3an0ll5qvl6giy1q70vc"; depends=[stringr oro_nifti matrixStats]; };
-  fso = derive { name="fso"; version="2.0-1"; sha256="02dr12bssiwn8s1aa1941hfpa4007gd65f3l4s74gs2vgjzdxf8s"; depends=[labdsv rgl]; };
-  fSRM = derive { name="fSRM"; version="0.3.5"; sha256="1dprw19ssw4v892b6iqsz5i7dmicjhgr6v1fkhnwd988nqv6h01s"; depends=[lavaan plyr reshape2]; };
-  FTICRMS = derive { name="FTICRMS"; version="0.8"; sha256="0kv02mdmwflhqdrkhzb55si5qnqqgdadgyabqc2hwr6iccn7aq8c"; depends=[Matrix lattice]; };
-  ftnonpar = derive { name="ftnonpar"; version="0.1-88"; sha256="0df9zxwjpfc939ccnm1iipwhpf76b34v0x74nsi1mm1g927dfl0i"; depends=[]; };
-  fTrading = derive { name="fTrading"; version="3010.78"; sha256="0qakjxnr5nslw06ywlj65m3w7pjgn5hixxc2rnqhvvvmjpdxybz7"; depends=[timeDate timeSeries fBasics]; };
-  fts = derive { name="fts"; version="0.9.9"; sha256="1qgp8xdwr5pp2b7nd8r717a6p8b6izwqrindx2d1d0lhhnqlcwhv"; depends=[zoo]; };
-  ftsa = derive { name="ftsa"; version="4.0"; sha256="0phqsw3zq0bq6sdqdacyajk1xk7ns66nd3rpszl96gi7jw5m5bf8"; depends=[forecast rainbow colorspace]; };
-  fueleconomy = derive { name="fueleconomy"; version="0.1"; sha256="1svy5naqfwdvmz98l80j38v06563vknajisnk596yq5rwapl71vj"; depends=[]; };
-  fugeR = derive { name="fugeR"; version="0.1.2"; sha256="0kd90s91vzv0g3v9ii733h10d8y6i05lk21p5npb3csizqbdx94l"; depends=[snowfall Rcpp]; };
-  fume = derive { name="fume"; version="1.0"; sha256="0g9ygyjxsk0m3ad25h3bcgxs9g29blqn8p27s9g47kxvh4v1nq4y"; depends=[chron]; };
-  fun = derive { name="fun"; version="0.1-0"; sha256="0z4nq2w1wz1clc7cf87pf870hayxq5mpzhllfgwj4mmh2xpphnrf"; depends=[]; };
-  FunChisq = derive { name="FunChisq"; version="1.0"; sha256="1wrj483w6fjwwqjbymdj229nismmwaxw6v6fpba9mylqbyhs69gc"; depends=[]; };
-  FunCluster = derive { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[Hmisc cluster]; };
-  Funclustering = derive { name="Funclustering"; version="1.0.1"; sha256="0i6g98mfgdyc9hdzvviynrgqhkzicp8y6s0scqy3ifgk9h1k79dw"; depends=[fda Rcpp]; };
-  FuncMap = derive { name="FuncMap"; version="1.0-2"; sha256="0psz2bsmq22ghgr3dijsw094b9ams15dvknigcgi5sq1invafx4a"; depends=[mvbutils]; };
-  functional = derive { name="functional"; version="0.6"; sha256="120qq9apg6bf39n9vnp68db5rdhwvnj2vi12a8j8243vq8kqxdqr"; depends=[]; };
-  FunctionalNetworks = derive { name="FunctionalNetworks"; version="1.0.0"; sha256="071hjgiccbrf1gxrh7niw2w1p6vgc77qvrildi59xhk53qcwzqdp"; depends=[]; };
-  fUnitRoots = derive { name="fUnitRoots"; version="3010.78"; sha256="04nwwazd8jvzds6p4njzq4wpcsrvvvs0y9z8v8r402myd4856ssm"; depends=[urca timeDate timeSeries fBasics]; };
-  funreg = derive { name="funreg"; version="1.1"; sha256="1sxr4mylcpbya197d55yi6d7g5pfspaf59xxbwjgmwgjw06rl76r"; depends=[MASS mgcv mvtnorm]; };
-  FusedLasso = derive { name="FusedLasso"; version="1.0.6"; sha256="1m2l7ihd55viy5a543gg2rhzkcmf5myxxbc5gqf1icrwjg6bny41"; depends=[Matrix]; };
-  FusedPCA = derive { name="FusedPCA"; version="0.2"; sha256="0z4kvm6mn11fmc8w62aky2binjdcgrw4ij5vg65sb55da9s8d2kd"; depends=[genlasso]; };
-  futile_any = derive { name="futile.any"; version="1.3.0"; sha256="1c7pj64kz09qzwrxvkp1w1w8mvxwq36zkj6w4b7yyi8v7x3daq2a"; depends=[lambda_r]; };
-  futile_logger = derive { name="futile.logger"; version="1.3.7"; sha256="0mcca1d70a173f2c54g05fp6174z3265bc4z73k8hs16sfb3s7zf"; depends=[lambda_r futile_options]; };
-  futile_matrix = derive { name="futile.matrix"; version="1.2.2"; sha256="1cb975n93ck5fma0gvvbzainp7hv3nr8fc6b3qi8gnxy0d2i029m"; depends=[lambda_r lambda_tools futile_logger RMTstat]; };
-  futile_options = derive { name="futile.options"; version="1.0.0"; sha256="1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f"; depends=[]; };
-  futile_paradigm = derive { name="futile.paradigm"; version="2.0.4"; sha256="14xsp1mgwhsawwmswqq81bv6jfz2z6ilr6pmnkx8cblyrl2nwh0v"; depends=[futile_options RUnit]; };
-  fuzzyFDR = derive { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; };
-  fuzzyMM = derive { name="fuzzyMM"; version="1.0.1"; sha256="1pqfc9b9l2xx5pl45hfildikqjsdgqfhqzi2nbb34026nla5m8vk"; depends=[osmar frbs igraph rgeos rgdal]; };
-  FuzzyNumbers = derive { name="FuzzyNumbers"; version="0.3-3"; sha256="1vbfkr8r1n8d564ws8dqfbd49f33vd7drg3chg2vr9bxh292wsl3"; depends=[]; };
-  fuzzyRankTests = derive { name="fuzzyRankTests"; version="0.3-5"; sha256="1g09506bbpk05a2r2wxjynjs8dmjd2q7x74d83vjscg1kdk4kazq"; depends=[]; };
-  FuzzyStatProb = derive { name="FuzzyStatProb"; version="1.0"; sha256="0dkxix2blb403a72a9n13hyx31rknfxfq0cbkvvk7dvgis2w6k14"; depends=[MultinomialCI FuzzyNumbers DEoptim]; };
-  FuzzyToolkitUoN = derive { name="FuzzyToolkitUoN"; version="1.0"; sha256="104s45mmlam67vwpshhpns2mgwvmhnbj8w1918jyk2r5mqibwz06"; depends=[]; };
-  fwdmsa = derive { name="fwdmsa"; version="0.2"; sha256="0p0kh8am6gajfaixkvq61f12hfbm6chl9372yzn1yilhiyvqdxgp"; depends=[]; };
-  FWDselect = derive { name="FWDselect"; version="1.1"; sha256="1snamrzf0cqcm6sc5vr1b0scgy83jgr5hgsf2cjb3vi3j01hz9wd"; depends=[mgcv]; };
-  fwi_fbp = derive { name="fwi.fbp"; version="1.5"; sha256="08ngg70vi2fca5yblm2gf1lkjjmb6m39d8q6429n7i3jn6ca5nzf"; depends=[]; };
-  fwsim = derive { name="fwsim"; version="0.3.1"; sha256="0l9qsysi0v8q58ik0pk7jxs2m57q2n82apc0rb0d0czm7dmib6b6"; depends=[Rcpp]; };
-  fxregime = derive { name="fxregime"; version="1.0-3"; sha256="15fh8yhcba2gw2xfd0yiw5ssvbgb62l6vb28bxz71ckdyv9nsahk"; depends=[zoo strucchange car sandwich]; };
-  G1DBN = derive { name="G1DBN"; version="3.1.1"; sha256="015rw3bpz32a8254janddgg1ip947qgcvmiwx5r3v7g8n854bwxn"; depends=[MASS igraph]; };
-  G2Sd = derive { name="G2Sd"; version="2.1-1"; sha256="01b7bpvnl51dms7bp076v0mbz8bk2vrlkqji9fk6nyqfpxg5zn6a"; depends=[shiny xlsx rJava xlsxjars]; };
-  GA = derive { name="GA"; version="2.1"; sha256="06adi6kdav5c9kzn4y6gq73p496y73hvcdv6nf7d0by8hx5ncyc4"; depends=[]; };
-  GA4Stratification = derive { name="GA4Stratification"; version="1.0"; sha256="0li23mrxjx72fir16j3q06fa32cicck4pfc30n0dy2lysf81m9gs"; depends=[]; };
-  GABi = derive { name="GABi"; version="0.1"; sha256="1zmiaqbd1jrpiz9hk16s8rggcpl3xyyhjkkdliymx2p42vy5b5mf"; depends=[hash]; };
-  GAD = derive { name="GAD"; version="1.1.1"; sha256="0lyrw0d7i7yn1wkqlbf3rg3dnijfwsjn3kdbsg19hmvwq6qpsak2"; depends=[matrixStats R_methodsS3]; };
-  gains = derive { name="gains"; version="1.1"; sha256="1mn8db8yxgkf8z6nm6k76g5l3i3vnw750ksg3w9ysd2pcabb65g1"; depends=[]; };
-  GAIPE = derive { name="GAIPE"; version="1.0"; sha256="04iarbwxrhn48bk329wxis7ifzndi67kpjx6dcakawkh3g2mzsfz"; depends=[]; };
-  galts = derive { name="galts"; version="1.3"; sha256="0b18hsdcsx43rn8l4x9nhy9hgggjr5b8kvjnbxrf6r23qsdk43mn"; depends=[genalg DEoptim]; };
-  gam = derive { name="gam"; version="1.09.1"; sha256="09p83ki821x57kc74klh6i1h8bz3acsrvibz3mzzcgq6sa8gzr5i"; depends=[]; };
-  gamair = derive { name="gamair"; version="0.0-8"; sha256="11qwmhrzks8gi9is2n9xcy6cviy7a8mwh2v78fw78x7g7ccd8i9x"; depends=[]; };
-  gambin = derive { name="gambin"; version="1.1"; sha256="197k8j6mvf8236gwg8vvfnskf4hic9y075chsd8214n1nk7i6jmz"; depends=[]; };
-  GAMBoost = derive { name="GAMBoost"; version="1.2-3"; sha256="0450h9zf12r524lxk1lrv9imvvkk6fmyd3chnxp18nnvys7215pv"; depends=[Matrix]; };
-  gamboostLSS = derive { name="gamboostLSS"; version="1.1-2"; sha256="1my718gp5wnzrpy50r9cjcjy4kbxvy0q1867n21dll6rhbxz0yil"; depends=[mboost]; };
-  gamboostMSM = derive { name="gamboostMSM"; version="1.1.5"; sha256="1n6ngbxx9f3p98jfiq4x21y0rqmhy18zyv13y8mkrz7hrchh835f"; depends=[mboost]; };
-  gamclass = derive { name="gamclass"; version="0.52"; sha256="0ypdsjmzj5vj6z5iimx1xva6pqh75s1dlaar2hkyn8zx08d0q2kh"; depends=[car mgcv DAAG MASS rpart randomForest lattice latticeExtra ape KernSmooth]; };
-  games = derive { name="games"; version="1.1-1"; sha256="05x27vivz2acp7darja0x21l29ddlav6ch6l89a9s60v52zqflik"; depends=[maxLik Formula MASS stringr]; };
-  gamlr = derive { name="gamlr"; version="1.11-3"; sha256="01mwgmmyp132d792darjrfbcihw04sy3fyw2xchshjqry616j82i"; depends=[Matrix]; };
-  gamlss = derive { name="gamlss"; version="4.3-0"; sha256="0hsywaf3ng7c8b7xcq16q1cnld7g224gwdkf7s07zlfv23v6kxs8"; depends=[gamlss_data gamlss_dist nlme MASS survival]; };
-  gamlss_add = derive { name="gamlss.add"; version="4.3-0"; sha256="0kafvrh5b60pd7vs7swd6xq9c2py6ixjrdnhq2y4w112fp86jnbp"; depends=[gamlss mgcv nnet rpart]; };
-  gamlss_cens = derive { name="gamlss.cens"; version="4.2.7"; sha256="1dy8myravipsa3cmkdwy3m46s419fhck0f0yz1kf6qlvxxr7a4m4"; depends=[gamlss gamlss_dist survival]; };
-  gamlss_data = derive { name="gamlss.data"; version="4.2-7"; sha256="0g3fmqrwxmj14r0p0ai1adq6cs3bd3ys47gjcja035xjiajg6cs2"; depends=[]; };
-  gamlss_demo = derive { name="gamlss.demo"; version="4.2-7"; sha256="1mlfkm290dk8fvfahmrr7adhw0bj4923zjs2xn0fvbj739rgv6b7"; depends=[rpanel gamlss gamlss_tr gamlss_util]; };
-  gamlss_dist = derive { name="gamlss.dist"; version="4.3-0"; sha256="1cnv7f7qwaw4fhaciw3s7xgyqa9h6v12frix6arb9nkciknb8hv5"; depends=[MASS]; };
-  gamlss_mx = derive { name="gamlss.mx"; version="4.2-7"; sha256="0k1isn2mavmwm15jk4gp9r3ks6z9pwd7k3xdsc29b9p8v8iapj4q"; depends=[gamlss nnet MASS]; };
-  gamlss_nl = derive { name="gamlss.nl"; version="4.1-0"; sha256="083l5lsb0csxcp4vffvdv2nr7jk3s2gkcavx66m8inzw16j7xilz"; depends=[gamlss survival]; };
-  gamlss_spatial = derive { name="gamlss.spatial"; version="0.1"; sha256="0lsq3lfv9gxjvnbnib551sfvcn6g9amwg51q5ipwwzh12hdl0m98"; depends=[gamlss spam mgcv]; };
-  gamlss_tr = derive { name="gamlss.tr"; version="4.2-7"; sha256="0f0vmspknkg8039dnrxkjqwjqbl34vjb5sgkcdvy5g8x8dlb5h3w"; depends=[gamlss]; };
-  gamlss_util = derive { name="gamlss.util"; version="4.2-7"; sha256="1c8xc0qf387cd9d6k9fzlwvj9735y7v6njsb5fls2fimpnd5vsik"; depends=[gamlss colorspace Matrix MASS rgenoud zoo gamlss_add spam]; };
-  gamm4 = derive { name="gamm4"; version="0.2-3"; sha256="19vy5wik9nh77cm25gp3j3j8w8vinwzx5pv90nzdzvx84yvvf0y3"; depends=[Matrix lme4 mgcv]; };
-  Gammareg = derive { name="Gammareg"; version="1.0"; sha256="1a5wibnbd8jg0v8577n1x9kc358qpd4jz7l8h7r541sdpprm6wb0"; depends=[]; };
-  gammSlice = derive { name="gammSlice"; version="1.2-6"; sha256="19443rfpk9ivv42zy5vdfhs4pcrbcn4d984xnchfbznmddilavg8"; depends=[KernSmooth lattice mgcv]; };
-  GANPA = derive { name="GANPA"; version="1.0"; sha256="0ia8djv46jm397nxjrm9yc5gacf1r4z0ckiliz57cbrqwh7z2wpa"; depends=[GANPAdata]; };
-  GANPAdata = derive { name="GANPAdata"; version="1.0"; sha256="0mhdadl7zgsacn59ym42magg3214k1xhabwn78fv7kgccszcgc86"; depends=[]; };
-  gaoptim = derive { name="gaoptim"; version="1.1"; sha256="04igpn73k6f6652y496igwypfxmz4igg4jgxx6swqyi37182rqhm"; depends=[]; };
-  gap = derive { name="gap"; version="1.1-10"; sha256="02as90x8r93mynwpa1dirp0lplc7i27ya3q7fq6zbq2xn16j4vj5"; depends=[]; };
-  gaussDiff = derive { name="gaussDiff"; version="1.1"; sha256="0fqjdxp2ibbami75ba16d02dz4rz5sk8mni45di9anydx44g9d45"; depends=[]; };
-  gaussquad = derive { name="gaussquad"; version="1.0-2"; sha256="0bcvkssmwwngcd4cnv924n9h3c8z1w3x9c9bkwn5jbz9zyv1lfms"; depends=[polynom orthopolynom]; };
-  gb = derive { name="gb"; version="1.1.8-8"; sha256="18n9wqz82mjxjgzk8vc68kyz3b6lk21d2f16551d6fikjla03adf"; depends=[boot]; };
-  GB2 = derive { name="GB2"; version="1.2"; sha256="1b5mkgn8c26bmi9ndzsqqp22vxqssy4nya1yysrl5wssjgicpdzs"; depends=[cubature hypergeo laeken numDeriv]; };
-  gbm = derive { name="gbm"; version="2.1"; sha256="1a150ksvdbdv8b5f4j62q7v68sbgjvvq0izm4d877izp6d8qd99g"; depends=[survival lattice]; };
-  gbRd = derive { name="gbRd"; version="0.4-11"; sha256="06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82"; depends=[]; };
-  gbs = derive { name="gbs"; version="1.0"; sha256="19zcsvd258ibrj356zlwgryjqylcs56agg3z6d44xbnf8prg05ig"; depends=[nlme]; };
-  GCAI_bias = derive { name="GCAI.bias"; version="1.0"; sha256="10092mwpmfbcga0n39a0i6g8xxch8xiwg15cckipw6yxjyx0sivc"; depends=[]; };
-  gcbd = derive { name="gcbd"; version="0.2.5"; sha256="0fkg6vk0jkl6680n1hljyv783j4hd84mql0k4pfblvqafwv4nhm3"; depends=[RSQLite plyr reshape lattice]; };
-  GCD = derive { name="GCD"; version="3.0.4"; sha256="1mrgscbrljfyzxprclyw9rcwlkcnifm15kkkapkv56c5ms2ic2i5"; depends=[sp raster ggplot2]; };
-  gcdnet = derive { name="gcdnet"; version="1.0.4"; sha256="0fmy0li06rahch4ir0xa81yilvrd0zqyhmpl4hfxjahhl3npw370"; depends=[Matrix]; };
-  gcExplorer = derive { name="gcExplorer"; version="0.9-4"; sha256="1ig5m278n8mp93z1c8z39mf1zwwlkl38csn6d6ykpnrfpa3kk65a"; depends=[flexclust flexclust modeltools]; };
-  gclus = derive { name="gclus"; version="1.3.1"; sha256="02ba6zj9bjwrzykamjp40ajynx9xjx9h2i85n0ym0r5lcki4x6fn"; depends=[cluster]; };
-  gcmr = derive { name="gcmr"; version="0.6.1"; sha256="0a47xpgi6bfsc0nn7vkid1q9r29h01q0vjkysaxh1i4zbmxnx5dl"; depends=[nlme sandwich geoR betareg Formula]; };
-  gconcord = derive { name="gconcord"; version="0.41"; sha256="1n3pfwk6vip19q1zhbz1n164f9vi7mig8pcd07c4wxnm5ir9dagy"; depends=[]; };
-  gcookbook = derive { name="gcookbook"; version="1.0"; sha256="0hb52zfi5bl2j0h8lazz4gzhhcvpicb4ld6xm2vkvi4cj47piyy8"; depends=[]; };
-  gdalUtils = derive { name="gdalUtils"; version="0.3.1"; sha256="1a6sg3x5yfffa9xrkvc98i2hm3lvna4jw7p89gn2bf74kzphqpmy"; depends=[sp foreach R_utils]; };
-  gdata = derive { name="gdata"; version="2.13.3"; sha256="05k5l4gz0381z89sp64xhngcsykazzznwmankwsnimx5alwrfk2m"; depends=[gtools]; };
-  g_data = derive { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; };
-  GDAtools = derive { name="GDAtools"; version="1.1"; sha256="0r1d98wavzwg3icr3czfzmcf1d86nwzq2s6avqkh4h0sank220wn"; depends=[FactoMineR]; };
-  GDELTtools = derive { name="GDELTtools"; version="1.2"; sha256="1rx6kjh7kmyycqapvbizcxkcfp09qvqv7k8f25v333sxkacpz6p5"; depends=[plyr TimeWarp]; };
-  gdimap = derive { name="gdimap"; version="0.1-6"; sha256="0bz7h8wxkwp8yb2qzfj1932m4b28rxlhr8939cqbzfma0zb2ywzx"; depends=[rgl oro_nifti movMF gridExtra colorspace geometry gsl abind]; };
-  gdistance = derive { name="gdistance"; version="1.1-5"; sha256="12877mg0ih346h62xa087xwbrqrjvdh0fs8avrvyy4qpqls2s7qn"; depends=[raster igraph Matrix sp]; };
-  gee = derive { name="gee"; version="4.13-18"; sha256="0zfxmjajbgr7999gbnqppq43zzk901kqra7b1d5fa2qn8js6h1ng"; depends=[]; };
-  geeM = derive { name="geeM"; version="0.7.1"; sha256="0pzvy0ga17g5v5dd2q4q7fmcwj3nws0p1cg5s0dz3azmrj7n4s31"; depends=[Matrix]; };
-  geepack = derive { name="geepack"; version="1.1-6"; sha256="0ixwrr2jjrqzh23zg9cibayinjxzgdpia9znsv7qwhc7hx23a2zm"; depends=[]; };
-  geigen = derive { name="geigen"; version="1.3"; sha256="16zz3k4j75hn1dkzydsxnk0jblka22fbww7ak9lgg1znkfws6dhk"; depends=[]; };
-  geiger = derive { name="geiger"; version="2.0.3"; sha256="1wqihvscmq44i34205fzv79wk7j2a72qd8y6ycgrv74plql0316c"; depends=[ape MASS mvtnorm subplex deSolve digest Rcpp coda]; };
-  gems = derive { name="gems"; version="0.9.5"; sha256="15n3xfhifcxmhsmc2p4ijgfd9l1pmzqj0zmh0xxi8y10ax68f524"; depends=[MASS msm mstate plyr data_table]; };
-  gemtc = derive { name="gemtc"; version="0.6"; sha256="03aw5r62577fizvbl7wpl7k3m8bxji21h8a41gl8yr4fpj0353yj"; depends=[coda igraph meta XML]; };
-  gemtc_jar = derive { name="gemtc.jar"; version="0.14.3"; sha256="18hbiygpsv67flc4v6z6mir0rfq41v1vsh11dg9phmdr8bx4kcl1"; depends=[rJava]; };
-  GenABEL = derive { name="GenABEL"; version="1.8-0"; sha256="0sd497qvik70iwv7wc8r50rhc5wx153pm8vif738wwqqp43chks3"; depends=[MASS GenABEL_data]; };
-  GenABEL_data = derive { name="GenABEL.data"; version="1.0.0"; sha256="0p66fb0gynjx3mnfvnlz45cbn6xf49gwx9mfyxf584xfcggxaa1c"; depends=[]; };
-  genalg = derive { name="genalg"; version="0.1.1.1"; sha256="0f6j3zj9frnjhs4rrcn05z2bmp6c7d1blpwjqg7ckfwk46x61app"; depends=[]; };
-  genasis = derive { name="genasis"; version="1.0"; sha256="1r0733cc2hss3f8dp19s1ji55yp72mds7p3x1zvvpiks2r7w712p"; depends=[Kendall fitdistrplus]; };
-  GenBinomApps = derive { name="GenBinomApps"; version="1.0-2"; sha256="1ps1rq8cjlwh658mysdh3xbn5fihanzcwxb38xvg4031vnwv80in"; depends=[]; };
-  gendata = derive { name="gendata"; version="1.0"; sha256="1hyyf9kpf8f0xxwwvirxlz6nw6wf2wqq5vvjnyikq5dwa7a3ngmw"; depends=[]; };
-  GENEAread = derive { name="GENEAread"; version="1.1.1"; sha256="0c3d76yl8dqclk8zhhgrd6bv6b599vkpbyg3hjspb6npdw6zs6k8"; depends=[bitops]; };
-  GeneCycle = derive { name="GeneCycle"; version="1.1.2"; sha256="1ghdzdddbv6cnxqd08amy4c4s5jsxa637r828ygffk6z76xjr6b6"; depends=[MASS longitudinal fdrtool]; };
-  GeneF = derive { name="GeneF"; version="1.0"; sha256="0bizf47944b2zv9ayxb9rhrqx0ilz2xlvkw7x5vbg7l67y2g2l4d"; depends=[]; };
-  GeneFeST = derive { name="GeneFeST"; version="1.0.1"; sha256="0qgzjzhwf3nigfi09maywg9zkjxiicwiwiyqfcdk9gsvmp6mr4qn"; depends=[BASIX]; };
-  Geneland = derive { name="Geneland"; version="4.0.4"; sha256="14crcj71i4vc48a132k024jrkwlwbrqi6jd9w3d1qsy6dn7inc0k"; depends=[RandomFields fields]; };
-  geneListPie = derive { name="geneListPie"; version="1.0"; sha256="0z2gawfzhm05dafj4zlj6ifmf0dy7p1hrpa59lzxrnrc0wr6laji"; depends=[]; };
-  GeneNet = derive { name="GeneNet"; version="1.2.10"; sha256="0gk1ndibnxyqdbd0zyrf88qd7b4wf9441d4bq2hf6fgg95sxmk5s"; depends=[corpcor longitudinal fdrtool igraph]; };
-  genepi = derive { name="genepi"; version="1.0.1"; sha256="1whhdlq9p8gmygv7464hvfz6dhm65gqq1dqls6hgpmw822zxgbd5"; depends=[]; };
-  GeneralizedHyperbolic = derive { name="GeneralizedHyperbolic"; version="0.8-1"; sha256="1q7bagq6c4an5jprypab5121ymich55xgyxfxnj5izihssmcwssp"; depends=[DistributionUtils RUnit]; };
-  GeneReg = derive { name="GeneReg"; version="1.1.2"; sha256="081qc66mb17dwk886x9l2z4imklxnfs02yqql0ri9c47bpsga7wp"; depends=[igraph]; };
-  geneSignatureFinder = derive { name="geneSignatureFinder"; version="2014.02.17"; sha256="1s9jj87wnzzgm9hnws09yhrxdlb6jw56i3ddwznvmh8vpzrspv4h"; depends=[survival cluster class]; };
-  genetics = derive { name="genetics"; version="1.3.8.1"; sha256="0gfbrpz0zp5bgw3s21wrhjfy70laif47wcrjrm6mjgs6xapiw790"; depends=[combinat gdata gtools MASS mvtnorm]; };
-  GeneticTools = derive { name="GeneticTools"; version="0.3"; sha256="16jqi98nvdmfbmx6z10d2kxfc9mp4zhpg22rschiy6ysp4lczs3c"; depends=[gMWT Rcpp RcppArmadillo plotrix]; };
-  GenKern = derive { name="GenKern"; version="1.2-60"; sha256="12qmd9ydizl7h178ndn25i4xscjnrssl5k7bifwv94m0wrgj4x6c"; depends=[KernSmooth]; };
-  genlasso = derive { name="genlasso"; version="1.2"; sha256="0ahkml10nvx1sfikl0ai3yfs5gzps7ss9aymsg1wy494p95riwz5"; depends=[MASS Matrix igraph]; };
-  genMOSS = derive { name="genMOSS"; version="1.1"; sha256="08d6j0iwfah1ianqdr884hh6bg04vfk4kml3clmf7vzx8wfmliy5"; depends=[]; };
-  genMOSSplus = derive { name="genMOSSplus"; version="1.0"; sha256="1n3ngx1piy3l14k5k95wrgvrjw9238jkygfqanl3xg2na2mmkr26"; depends=[]; };
-  genomicper = derive { name="genomicper"; version="1.3"; sha256="0fpvf286x0rf2mg9x82668kg5fx90arz5vf3731qinmdnnvrpziv"; depends=[]; };
-  genoPlotR = derive { name="genoPlotR"; version="0.8.2"; sha256="0q12sg13yn5f3j5gk0qzszp81x52lpwpk3z4cg0bgxi9zbwmw467"; depends=[ade4]; };
-  GenOrd = derive { name="GenOrd"; version="1.2.0"; sha256="1aypz879r2fc8zd7lnd1d2ic3zgx9gpz4gxmfqyhb5gfkg50xhlg"; depends=[mvtnorm Matrix MASS]; };
-  genridge = derive { name="genridge"; version="0.6-3"; sha256="01rjvfjmdn0hxgydvrinl4md74n0ndvqcib4m59q6f67m3qnylfr"; depends=[car]; };
-  GenSA = derive { name="GenSA"; version="1.1.4"; sha256="0ph3n0hv7p8i03by42hl0f2b1kmhpvyvd7rfgay2wl9lknfsq0vv"; depends=[]; };
-  gensemble = derive { name="gensemble"; version="1.0"; sha256="0yyi7djzqx4yhxp6yy1rjgvzidjlna79ds89bgj6m6zj3aav6yw2"; depends=[]; };
-  genSurv = derive { name="genSurv"; version="1.0.2"; sha256="0hvkrlcl8jrj0x0ixrl34484p9kxlwxfaa64ynz6jf3dcyghp9l0"; depends=[]; };
-  geoCount = derive { name="geoCount"; version="1.131209"; sha256="0v9nsqhwf58czq4vh9f2yim2r7w9sfx9g9hp4jdbfy4q7jc5m02a"; depends=[Rcpp RcppArmadillo]; };
-  GeoDE = derive { name="GeoDE"; version="1.0"; sha256="0wawkzj0344pprm8g884d7by8v74iw96b109rgm7anal48fl30im"; depends=[Matrix MASS]; };
-  GeoGenetix = derive { name="GeoGenetix"; version="0.0.2"; sha256="0rrc8rdf6whpd830s2g9ybz82jcd0il9kkfrjh3xza3b86fasdvg"; depends=[RandomFields]; };
-  GeoLight = derive { name="GeoLight"; version="1.03"; sha256="0l2p4rcmk33dj31xy06652mn05d2dhnny3xpzcf12kxyflpipdgr"; depends=[maps changepoint]; };
-  GEOmap = derive { name="GEOmap"; version="2.2-2"; sha256="1kp9sdp51zcz98bk03pknya9g5fhz2i677wgacabq402yjhfgn80"; depends=[RPMG splancs MBA]; };
-  geomapdata = derive { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; };
-  geometry = derive { name="geometry"; version="0.3-4"; sha256="1rplvy7528v270c4pdxxb34h7mfdd6141dnb9aw59xc0sd9cx0lv"; depends=[magic]; };
-  geomorph = derive { name="geomorph"; version="2.1.1"; sha256="12w5d7m6kg1pl42g21zfgk9by77wak82z8k0xh4zlbwiy8zv30z6"; depends=[rgl jpeg vegan ape geiger phytools]; };
-  geonames = derive { name="geonames"; version="0.996"; sha256="14fgwhg8c7aagrp1c1yc80hjr06z8ldr85v27gn1nnikvz71idgy"; depends=[rjson]; };
-  geophys = derive { name="geophys"; version="1.3-6"; sha256="1yfhilgc2nv5jfp0n7iah0wl041an2850c2qnzrvx0vv9fywgw9g"; depends=[RPMG RSEIS RFOC GEOmap cluster]; };
-  geoR = derive { name="geoR"; version="1.7-4"; sha256="00868h4rvw923n2b7v191rcr10vyyljxzg3dl7hgc7al1c98gjwq"; depends=[sp MASS splancs RandomFields]; };
-  geoRglm = derive { name="geoRglm"; version="0.9-4"; sha256="1wzq8p4xi40j4cagg7ji8qz9kynrwlyrlcvv0358pbl19nvg7hxb"; depends=[geoR]; };
-  georob = derive { name="georob"; version="0.1-4"; sha256="0a68r63adya3syf8fc1ha90x8587r2hp5w44na4gvnr9rs883f1i"; depends=[sp constrainedKriging lmtest nlme nleqslv quantreg RandomFields robustbase]; };
-  geoscale = derive { name="geoscale"; version="1.1"; sha256="1xmn8y33jz1f16sjbzrld20gy7w54awrr79lhs9s4r8k1gmn0zqg"; depends=[]; };
-  geospacom = derive { name="geospacom"; version="0.5-7"; sha256="00yi2wwnjh2z8xhzfbp1jhh5fhq2z885s0gv937xsin4a63m76fd"; depends=[rgeos classInt sp maptools geosphere]; };
-  geosphere = derive { name="geosphere"; version="1.3-8"; sha256="1ldg3lrz9plhr5b1dgnc2nj5srpv23xxma83kcd7aicll4x1jmbw"; depends=[sp]; };
-  geospt = derive { name="geospt"; version="0.5-0"; sha256="0bpflmj1kx2fph5b9dfy57bxdqjhpwnn8050k8afky5fmiwzm708"; depends=[geoR gstat genalg limSolve MASS plyr TeachingDemos gsl]; };
-  geostatsp = derive { name="geostatsp"; version="0.9.999"; sha256="0qrcfgyv4g6vmz3623mlh2ad31hw6k82xjlsmcgab3d4mzk0q7qx"; depends=[Matrix raster sp]; };
-  geotools = derive { name="geotools"; version="0.1"; sha256="0d0vf9dvrrv68ivssp58qzaj8vra26ms33my097jmzmgagwy1spd"; depends=[]; };
-  geotopbricks = derive { name="geotopbricks"; version="1.3.5.4"; sha256="065h5dd7qxjydblgkgj2amz8krscgf7ds61b923w3b4biin4s4q4"; depends=[raster stringr zoo]; };
-  GeoXp = derive { name="GeoXp"; version="1.6.2"; sha256="18wdmdwb79ipdjdii068dz9f55b5ldxn95g5q6jcxsqwp0wldvw8"; depends=[quantreg rgl spdep KernSmooth rgeos robustbase splancs]; };
-  geozoo = derive { name="geozoo"; version="0.4.3"; sha256="0nmmmyk0ih5aqpsn7ip4dhgfm7jhcnca8pigyr9794b110icq1rv"; depends=[bitops]; };
-  GESTr = derive { name="GESTr"; version="0.1"; sha256="1q12l2vcq6bcyybnknrmfbm6rpzcmxgq2vyj33xwhkmm9g2ii9k6"; depends=[mclust gtools]; };
-  getopt = derive { name="getopt"; version="1.20.0"; sha256="00f57vgnzmg7cz80rjmjz1556xqcmx8nhrlbbhaq4w7gl2ibl87r"; depends=[]; };
-  GetoptLong = derive { name="GetoptLong"; version="0.0.5"; sha256="1aygm6h4mqac6h4scss3c2p3snyl2lmd8lnw034rakz2azj8j0by"; depends=[rjson]; };
-  GetR = derive { name="GetR"; version="0.1"; sha256="1b2wirhz4nhvmf863czwb8z8b42ilsyjjrg9rc4nd9b7nz50bmjg"; depends=[party]; };
-  gettingtothebottom = derive { name="gettingtothebottom"; version="3.0"; sha256="0n3d8xx4pwh4bps6jkfj4g8mpknj0lsfk03bayhvil744r5jnrn7"; depends=[ggplot2 Matrix lpSolve reshape2]; };
-  GEVcdn = derive { name="GEVcdn"; version="1.1.3"; sha256="13p6hkdybs8s2i363z2a65yijqarwj9swvy22ljk61shf2nzbk80"; depends=[VGAM]; };
-  GEVStableGarch = derive { name="GEVStableGarch"; version="1.0"; sha256="007s7lbfpp1bqnyg08rwarsmkxlx16p4is1k3736fmnri9sfp7z6"; depends=[fGarch fExtremes stabledist skewt Rsolnp]; };
-  GExMap = derive { name="GExMap"; version="1.1.3"; sha256="1a6i2z9ndgia4v96nkr77cjqnbgxigqbqlibg82gwa0a6pl7r7nz"; depends=[]; };
-  gfcanalysis = derive { name="gfcanalysis"; version="1.1"; sha256="1z29y6gx0b9b9h6939vb9pqplcjhi0xb5l3bgjybjad01p2dnqas"; depends=[raster rgdal geosphere RCurl rgeos plyr ggplot2 sp stringr animation rasterVis]; };
-  GGally = derive { name="GGally"; version="0.4.7"; sha256="1wbpl47ha6q6si4xyfx0i019wagn2ka1zyfhblvjcj9hhcvzz6m9"; depends=[ggplot2 gtable plyr reshape stringr]; };
-  ggdendro = derive { name="ggdendro"; version="0.1-14"; sha256="0x6bl0v2lkiybc5pdrcak5cslhaw7cxhh6imsrvdhcrzdr4cc45s"; depends=[MASS ggplot2]; };
-  GGEBiplotGUI = derive { name="GGEBiplotGUI"; version="1.0-8"; sha256="0bkagsm9mkcghc2q46cc86kjajzgjbq9588v0v2bp71qw8m97mbh"; depends=[rgl tkrplot]; };
-  ggHorizon = derive { name="ggHorizon"; version="0.1"; sha256="0k617qnfqdl9w2hdwppkrgl51krnwpdf0gahzvivcwzynbmywc37"; depends=[ggplot2 plyr RColorBrewer proto]; };
-  GGIR = derive { name="GGIR"; version="1.0-4"; sha256="09fqw4al4bn87h9543ais634crk9mzvfzdgp25gwy7lhpwzdl2y0"; depends=[GENEAread matlab]; };
-  gglasso = derive { name="gglasso"; version="1.2"; sha256="0bn56axyr741qdj5pxzbwaqjb7mp727ph67ng5d6ibsz1z2bh7pk"; depends=[]; };
-  ggm = derive { name="ggm"; version="2.1"; sha256="1m2p5cn7lfy4757rspp3d3jnphjp5vh3lvrim1lxlda577kpdmnf"; depends=[igraph]; };
-  ggmap = derive { name="ggmap"; version="2.3"; sha256="0sl3jkifba3q0khl5sg2nf08kgn1pirw5a1xag07za51sqda5b5q"; depends=[ggplot2 proto scales RgoogleMaps png plyr reshape2 rjson mapproj]; };
-  ggmcmc = derive { name="ggmcmc"; version="0.5.1"; sha256="17pmb2kfrjc2s538my8finr029vy1npzk44626xvznf6bf6bv895"; depends=[plyr reshape2 ggplot2]; };
-  GGMselect = derive { name="GGMselect"; version="0.1-8"; sha256="1chmyzbn85c5z5b8lvgqpr7knwg25dm7qbb4nhivcdr6ipd1dqr0"; depends=[mvtnorm lars gtools]; };
-  ggparallel = derive { name="ggparallel"; version="0.1.1"; sha256="1z8w4bm4ahmmwbr87qlqhm8jlrqf7dhdvm1cf0xrwjlkmy6dqjvg"; depends=[ggplot2 reshape2 plyr]; };
-  ggplot2 = derive { name="ggplot2"; version="1.0.0"; sha256="138rxp8zr0x945ajmhg35x35xs0ci743iqhffqy90c7hcn0gpvz6"; depends=[plyr digest gtable reshape2 scales proto MASS]; };
-  ggROC = derive { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; };
-  ggsubplot = derive { name="ggsubplot"; version="0.3.2"; sha256="1rrq47rf95hnwz8c33sbnpvc37sb6v2w37863hyjl6gc0bhyrvzb"; depends=[ggplot2 plyr proto scales stringr]; };
-  ggtern = derive { name="ggtern"; version="1.0.3.2"; sha256="05nh8610l5lw41wkidl2m78nqyfbc7faiawpc442lin3qxrj64bq"; depends=[ggplot2 plyr gtable scales reshape2 proto MASS sp]; };
-  ggthemes = derive { name="ggthemes"; version="1.7.0"; sha256="1wfqh3mq4hyyfgvw99bq1s8qxvl3qasa8qcikfhbp2ky898w5npb"; depends=[ggplot2 colorspace proto scales]; };
-  ggvis = derive { name="ggvis"; version="0.3.0.1"; sha256="0fx39j7vg9r4a7ni9nnq7x7s93lfzbbsg4zsbb6x429hyawvcj8x"; depends=[assertthat RJSONIO shiny magrittr dplyr htmltools]; };
-  GhcnDaily = derive { name="GhcnDaily"; version="1.5"; sha256="1gln1giid5n5b9mxidh90l8ahvcgx968zak2lxr2f9c32pnrpmnp"; depends=[R_utils R_oo R_methodsS3 abind ncdf]; };
-  GHQp = derive { name="GHQp"; version="1.0"; sha256="0qpcpwv7rz67qhz1p5k2im02jvs7l8z9sa6ypz13hig5fzm8j9bp"; depends=[statmod]; };
-  ghyp = derive { name="ghyp"; version="1.5.6"; sha256="0y3915jxb2rf01f7r6111p88ijhmzyz4qsmy7vfijlilkz0ynn20"; depends=[numDeriv gplots]; };
-  GibbsACOV = derive { name="GibbsACOV"; version="1.1"; sha256="1ikcdsf72sn1zgk527zmxw3zjhx0yvkal6dv001cgkv202842kll"; depends=[MASS]; };
-  gibbs_met = derive { name="gibbs.met"; version="1.1-3"; sha256="1yb5n8rkphsnxqn8rv8i54pgycv9p7x1xhinx4l5wzrds3xhf2dc"; depends=[]; };
-  GIGrvg = derive { name="GIGrvg"; version="0.3"; sha256="014srgh79g8y9fcj979v3md9qqx9i6b6fx6lw0r0qdrg4v6bvr76"; depends=[]; };
-  GillespieSSA = derive { name="GillespieSSA"; version="0.5-4"; sha256="0bs16g8vm9yrv74g94lj8fdfmf1rjj0f04lcnaya7gyak3jhk36q"; depends=[]; };
-  gIPFrm = derive { name="gIPFrm"; version="2.0"; sha256="1syjsnna7b7y27yf7zsxjwq8z5f4wxf2hfadhgjaw898gvfcnrbc"; depends=[]; };
-  giRaph = derive { name="giRaph"; version="0.1.2"; sha256="137c39fz4vz37lpws3nqhrsf4qsyf2l0mr1ml3rq49zz4146i0rz"; depends=[]; };
-  GISTools = derive { name="GISTools"; version="0.7-2"; sha256="1n1zzi25xx320gwmsn5rj8c3m1wqwmjbzf32krdzmaqiwvhf7c1b"; depends=[maptools RColorBrewer MASS rgeos]; };
-  gitter = derive { name="gitter"; version="1.0.4"; sha256="1pvl8k8mb15mcfz1074y246s9basmi5vbpw2n1ca0d8wm5wdidap"; depends=[jpeg tiff logging PET ggplot2]; };
-  Giza = derive { name="Giza"; version="1.0"; sha256="13nkm8mk1v7s85kmp6psvnr1v97vi0gid8rsqyq3x6046pyl5z6v"; depends=[reshape lattice lattice]; };
-  glarma = derive { name="glarma"; version="1.2-0"; sha256="1zci132hz11y8j2jvakzqsxddihqr88y09bd7fx5xzipm7iaa7yq"; depends=[MASS]; };
-  glasso = derive { name="glasso"; version="1.8"; sha256="0gcapw7kyxb19wvdyxq1vsmc5j7yyd0rvqxs2i71k31q352sg6zw"; depends=[]; };
-  glassomix = derive { name="glassomix"; version="1.2"; sha256="13a2ly0by58z8djq8nbakpyacgb6nkdsqxjq44yw4v2fy3s22z3n"; depends=[mvtnorm glasso huge]; };
-  glcm = derive { name="glcm"; version="0.3.2"; sha256="1kipm2z1q47ban6yah6hxkaa9fvkw990hn9c02bywf80wg16770n"; depends=[Rcpp]; };
-  gld = derive { name="gld"; version="2.2.1"; sha256="1x9xlqj87xmk90hn20k1yvnvyndxdbi67yrxrfdhr3lhxabq5msw"; depends=[]; };
-  GLDEX = derive { name="GLDEX"; version="2.0.0.0"; sha256="0pskh9wa32im6wrjkqkxczfsds71mx2435yhn7vrna4vzyc2xdvb"; depends=[cluster]; };
-  gldist = derive { name="gldist"; version="2160.2"; sha256="1dcf3pb4xqvhqj4m3xc3ihzjbzxjspjrnc8819hmlnmdd0csghmx"; depends=[]; };
-  glinternet = derive { name="glinternet"; version="0.9.0"; sha256="0qihlzdb9ifqlyx5l34vkwi6z59xd7wbl72a3pj725n9kkk7bmig"; depends=[]; };
-  gllm = derive { name="gllm"; version="0.35"; sha256="1m9asamh2yha9q8mrllvvc9qj2im6cspvfpafzc8krmh17zq4ins"; depends=[]; };
-  glm2 = derive { name="glm2"; version="1.1.2"; sha256="1x9pq2ddsz9al8w044qch34s3fahca63dz85lvm5qn16945ccw1s"; depends=[]; };
-  glmc = derive { name="glmc"; version="0.2-4"; sha256="03m1ym9w0b0gqib13pnh1yrjijlcwsn5lijg0nsr4hd6gxw29cla"; depends=[emplik]; };
-  glmdm = derive { name="glmdm"; version="2.60"; sha256="09vljki24fccqkvxkmg2i6a8pxqhfwm155b41m2q51lqaq29bfw7"; depends=[]; };
-  glmlep = derive { name="glmlep"; version="0.1"; sha256="0jnm3cf2r9fyncxzpk87g4pnxbryqcxxrc5y2a80pv48al3sxlzk"; depends=[]; };
-  glmmBUGS = derive { name="glmmBUGS"; version="2.3"; sha256="1j96c1c2lqplhjvyigpj494yxj85bpmc7cnd1hl1rc8b552jr192"; depends=[MASS abind]; };
-  glmmGS = derive { name="glmmGS"; version="0.5-1"; sha256="1aqyxw3nrjri8k8wlwvddy25dj7mjqndssd5p5arax8vaqgrdnjz"; depends=[]; };
-  glmmLasso = derive { name="glmmLasso"; version="1.3.1"; sha256="07i5bnaj3is8ag8gqzpma4kzfk33f11k9r30cdwzx8sp2xfh16gr"; depends=[minqa]; };
-  glmmML = derive { name="glmmML"; version="1.0"; sha256="0b1q5mj325xga3lfks28r03363bjfa31rlgjzwk4s0a6g21bdl4a"; depends=[]; };
-  glmnet = derive { name="glmnet"; version="1.9-8"; sha256="1ndaq6qbn8vxs7ha4x9k0qcblr1byixvrhh572794xzgdn548prm"; depends=[Matrix]; };
-  glmnetcr = derive { name="glmnetcr"; version="1.0.2"; sha256="1pyg23hdqksiaqdcrsaqz9vb7mgclm41hh0vb7ndkdv284bzzlbz"; depends=[glmnet]; };
-  glmpath = derive { name="glmpath"; version="0.97"; sha256="054v188ffjl6x11cld5s9py22kxcs0iq58x4yhxb0ny7mbma5hkn"; depends=[survival]; };
-  glmpathcr = derive { name="glmpathcr"; version="1.0.3"; sha256="0qa63c7kwpxf6smczgzf4fmvczw1ynqq5vgcw3bxdbs37q4ypj8n"; depends=[glmpath mvtnorm]; };
-  glmperm = derive { name="glmperm"; version="1.0-5"; sha256="1m6nxk9k5qjmq4kvv1nv7n51hagwxi97pd5a3wgiky3wml4aa2nw"; depends=[survival]; };
-  glmulti = derive { name="glmulti"; version="1.0.7"; sha256="154s72sjp6pz7ki7s4mgn5v62j7h0lfz9mngf40wvmy31da2s8ix"; depends=[rJava]; };
-  glmx = derive { name="glmx"; version="0.1-0"; sha256="0i0p1xk5yk1l274gfr4ijmqnnbq7yyzmi577pb7igwvi3hjn7g7k"; depends=[MASS Formula lmtest sandwich]; };
-  globalboosttest = derive { name="globalboosttest"; version="1.1-0"; sha256="1k7kgnday27sn6s1agzlj94asww81655d2zprx6qg7liv677bxvf"; depends=[mboost survival]; };
-  GlobalDeviance = derive { name="GlobalDeviance"; version="0.4"; sha256="0s318arq2kmn8fh0rd5hd1h9wmadr9q8yw8ramsjzvdc41bxqq1a"; depends=[snowfall]; };
-  globalGSA = derive { name="globalGSA"; version="1.0"; sha256="1f3xv03m6g2p725ff0xjhvn2xcfm7r7flyrba080i4ldy6fd8jg8"; depends=[]; };
-  globalOptTests = derive { name="globalOptTests"; version="1.0"; sha256="0vmly1mh8k5aihlwxfp30gj0qdrwfx2b9bcbs8ccrpfhgcvacnr9"; depends=[]; };
-  glogis = derive { name="glogis"; version="0.1-1"; sha256="02wdncycmnsvj09d1032cns3xbrh92ki5zn9sa3gscw1xzz0yzh6"; depends=[zoo sandwich]; };
-  glpkAPI = derive { name="glpkAPI"; version="1.2.10"; sha256="0xlgccb77xgscfg46pxxcz5k9gm8a913xgp48dfmxw31n7ynckml"; depends=[]; };
-  GLSME = derive { name="GLSME"; version="1.0.1"; sha256="0v1d8jpjg0gpsvscx6gna4hi9pxr762bjf77hnla30hwfc0a95a2"; depends=[mvtnorm corpcor]; };
-  gmailr = derive { name="gmailr"; version="0.0.1"; sha256="0i87bgjzfd69s2cihvpilvl8nvw993cfsya3bz14fyvplvzf41lx"; depends=[httr base64enc jsonlite]; };
-  gmatrix = derive { name="gmatrix"; version="0.1"; sha256="06fbqixjbpxm4k6l132krbmk2jvh4r2s64nlbi9gb3whq55pf4ih"; depends=[]; };
-  GMCM = derive { name="GMCM"; version="1.0.1"; sha256="0vy4givxvppjc2r6s4q8yz86xzaw059fl1vjv0ni0hlbxz4dbb96"; depends=[mvtnorm Rcpp]; };
-  gMCP = derive { name="gMCP"; version="0.8-6"; sha256="1pr40k4qj4yy9hcp2zx8x4dys9vav7gk4164999wg4psp7f06va0"; depends=[rJava JavaGD MASS PolynomF multcomp mvtnorm Matrix CommonJavaJars]; };
-  GMD = derive { name="GMD"; version="0.3.1.1"; sha256="1vpapfnkn5gfqy033qirblx7xkbh52nw95sxw10v4aajddy0dyx9"; depends=[gplots]; };
-  Gmisc = derive { name="Gmisc"; version="0.6.7"; sha256="15bgkgxqmgg81ry3ssx1darspmyhpzfcnkhkprqf495c07sh94jb"; depends=[Hmisc stringr lattice sp]; };
-  gmm = derive { name="gmm"; version="1.5-0"; sha256="071i2bk73z606yb6a3vrv4cfyvgfwkrirm09i7bg2l3y2is1dfgj"; depends=[sandwich]; };
-  GMMBoost = derive { name="GMMBoost"; version="1.1.2"; sha256="01q165vkdiv4qh96lha0g2g94jpnzdclbby6q43ghh9j1yrd4qzj"; depends=[minqa magic]; };
-  gmodels = derive { name="gmodels"; version="2.15.4.1"; sha256="1yizjw181bg0ml6j96calflz3k3wpvpxh61hfd3pdba013ixjib5"; depends=[MASS gdata]; };
-  gmp = derive { name="gmp"; version="0.5-12"; sha256="10fpvcli526a8j6jaryn0mwk78c24xy7whdpcvqzzvb41l6nnkma"; depends=[]; };
-  gmt = derive { name="gmt"; version="1.2-0"; sha256="09az2iwwhyrls4mr619vwzhzmaks6klm67lnir48bh40hynsvibp"; depends=[]; };
-  gMWT = derive { name="gMWT"; version="0.9"; sha256="0c91bwwfm0qyqrrd3n9g6l8kackqm58hmamypn1awzpz1p13axyv"; depends=[clinfun Rcpp RcppArmadillo]; };
-  GNE = derive { name="GNE"; version="0.99-0"; sha256="1iwlh1mx8z24hgry78i5sqfrbqqp4946x1jxh6h7z1vxs7qfpq0v"; depends=[alabama nleqslv BB SQUAREM]; };
-  gnm = derive { name="gnm"; version="1.0-7"; sha256="1jnh39i4462ky9vwnrlwq30d8qbp0jg73p8mwm6hnl8sdh53nkr1"; depends=[MASS Matrix nnet qvcalc relimp]; };
-  gnmf = derive { name="gnmf"; version="0.7"; sha256="00y1dx1c66gv769yiwnb91xbr77wpidf36x0n0dzaqfn7s9yh6xq"; depends=[]; };
-  gnumeric = derive { name="gnumeric"; version="0.7-2"; sha256="14c7a8aiqvqfbrjb1akpfjwidrzdhrw8a07ask083krki6vbi7hh"; depends=[XML]; };
-  goalprog = derive { name="goalprog"; version="1.0-2"; sha256="1h3nd3d53hbz5hl3494lpfjnp1ddklc17nhgw18362jd1nk14awy"; depends=[lpSolve]; };
-  gof = derive { name="gof"; version="0.9.1"; sha256="1s12gga9d6yizn2y7lzql4jd80lp5jpyml8ybn7xqswp8am82vpg"; depends=[]; };
-  GoFKernel = derive { name="GoFKernel"; version="2.0-3"; sha256="1ddnm7r48ya9rgna9jvf9mpk3bkn6954rr4rwsimybcp758b4ilv"; depends=[KernSmooth]; };
-  goft = derive { name="goft"; version="1.0"; sha256="061x6mnzidmnza9q7z2ikik9zrn434yjx1690bxbh41ckvb92hnx"; depends=[gPdtest mvShapiroTest]; };
-  goftest = derive { name="goftest"; version="1.0-2"; sha256="11xw0cfj71z5smywsds9ijbhf3glxkqnhxmwwdqkv4gjrrr2y1bv"; depends=[]; };
-  GOGANPA = derive { name="GOGANPA"; version="1.0"; sha256="1xbir21zvr5hv2y6nndzpsrpmnr7glrc7y6xgcyb856wx46ajan9"; depends=[GANPA WGCNA]; };
-  gogarch = derive { name="gogarch"; version="0.7-2"; sha256="03gpl73zc6kx4gni59xbg7b38dkpd7p4c7kvlqm46f58j257viik"; depends=[fGarch fastICA]; };
-  googlePublicData = derive { name="googlePublicData"; version="0.12.05"; sha256="01wilag2h55zdxxim2h06k0l93csi2nl7iqjnmk4yf9ayz226bc8"; depends=[XML XLConnect]; };
-  googleVis = derive { name="googleVis"; version="0.5.4"; sha256="0182bspqyg91ckczlq3p48basak12vcsj6nzgv7yljzzan0yx2sr"; depends=[RJSONIO]; };
-  gooJSON = derive { name="gooJSON"; version="1.0.01"; sha256="02sldh5lsrjprc9mbf99jyid7ij62db5f1h60z719gxl4pk6fjms"; depends=[rjson]; };
-  goric = derive { name="goric"; version="0.0-7"; sha256="199scq0ii2l2jgxm634n9vs4w4zxq5scyc4ssab8m6yg4z8v45xp"; depends=[mvtnorm quadprog Matrix nlme MASS]; };
-  GOsummaries = derive { name="GOsummaries"; version="1.1"; sha256="1lkaid88lrm2xyz62xx32xnpch9qlhb3lif9jmk2zaym1d53558a"; depends=[ggplot2 Rcpp plyr gProfileR reshape2 gtable]; };
-  govStatJPN = derive { name="govStatJPN"; version="0.1"; sha256="03sywa7rl5rblvv370mfszz5ngp850qf32yydy1fdx10lv5amrfl"; depends=[]; };
-  gpairs = derive { name="gpairs"; version="1.2"; sha256="09mkdbs9hklxnmqcsnf65s3dfsfcr7kppp6zxj08v5hxym1gpz3l"; depends=[barcode lattice vcd MASS colorspace]; };
-  GPArotation = derive { name="GPArotation"; version="2012.3-1"; sha256="1kvd6djsr6vdjd228i03d914n77sd5sym7dl5lbaq76bgmqfhr77"; depends=[]; };
-  gPCA = derive { name="gPCA"; version="1.0"; sha256="1ylb1d24dxnzpws9bbanwhyizjr3ljky2bhrph4c5yaq0zwwbrkw"; depends=[]; };
-  gpclib = derive { name="gpclib"; version="1.5-5"; sha256="08j81b8wymsgin20n54gvm6m54rmdic51p6qzs9cz4pmgl7dkkjv"; depends=[]; };
-  GPCSIV = derive { name="GPCSIV"; version="0.1.0"; sha256="118l792mwd54xsi3g8afg3vc6wds8j6fyaz3mwmq04mlcyblym4l"; depends=[scatterplot3d sqldf]; };
-  gPdtest = derive { name="gPdtest"; version="0.4"; sha256="00dlhnklfg2yp4hp7yjgr2nfswv22c007xq1mxdbkll62zgd94mq"; depends=[]; };
-  GPFDA = derive { name="GPFDA"; version="2.1"; sha256="05al7s49zcxhww8zirh2p2bk7yl262sl3sb2zzyisn8fnwn46iyk"; depends=[fda_usc spam MASS]; };
-  GPfit = derive { name="GPfit"; version="0.2-0"; sha256="16r3lqgkqb90w2hcf4ha3jczmrycagw3vmqknq32ly2a025n9gv9"; depends=[lhs lattice]; };
-  gpk = derive { name="gpk"; version="1.0"; sha256="1zfhkqyypb24mhbj2zi9qy3gw0kqxvlp8j5ni3zm7k5rz1bnrygg"; depends=[]; };
-  gplm = derive { name="gplm"; version="0.7-2"; sha256="0pr39fbkv61iwd110lq76p2fi4dvx9qz6mjsvg6bpja9pfbb6wc0"; depends=[AER]; };
-  gplots = derive { name="gplots"; version="2.14.1"; sha256="1xmn29jsmkzbz5lazaxqq79kb58n2rlicns4ifsg45x8ypj1mqjn"; depends=[gtools gdata caTools KernSmooth]; };
-  GPLTR = derive { name="GPLTR"; version="0.95"; sha256="0fm260pwg66j91hddyql95lvvcpzvvbi3hddwzrk1bhyrgd8kj55"; depends=[rpart]; };
-  gpmap = derive { name="gpmap"; version="0.1.1"; sha256="00jhslbxbp6dgq7bw346hfpw0gans048vsn7chyzjhyr7ah5xrfg"; depends=[isotone plyr ggplot2 foreach]; };
-  gpr = derive { name="gpr"; version="1.1"; sha256="03ywik11kc6cnaqrzzzi94jkrdbd378m3sf26f2vpb7d834nl728"; depends=[]; };
-  gProfileR = derive { name="gProfileR"; version="0.5"; sha256="0jadfj2hcn3zx4ph61685p5iz16330jccp5ipi8183dkcybvimw4"; depends=[RCurl plyr]; };
-  GPseq = derive { name="GPseq"; version="0.5"; sha256="0k5xif44qk2ppvcyja16xshmfciq1h84l1w6d8dfkyryfajbc8ai"; depends=[]; };
-  gptk = derive { name="gptk"; version="1.08"; sha256="0fk6c8f8fni4y2n2cbfwywlfyz74xlb8lx25wajsxr2v4x74pa7l"; depends=[Matrix fields]; };
-  gputools = derive { name="gputools"; version="0.28"; sha256="0ria03ggcfqgn93gjv2anhvkd3k73c6vfwgka16kf66g1nfzxs4l"; depends=[]; };
-  GPvam = derive { name="GPvam"; version="3.0-2"; sha256="160j0zwbcmvzvia1b5p5midf395xfv1frk2w6w3v2zpbn8h6pdz5"; depends=[Rcpp RcppArmadillo Matrix numDeriv]; };
-  grade = derive { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; };
-  GRaF = derive { name="GRaF"; version="0.1-12"; sha256="1d7mr2z49v6ch4jbzh0dj2yjy2c5p51ws38xfz233sjz475snajr"; depends=[dismo]; };
-  gRain = derive { name="gRain"; version="1.2-3"; sha256="0cxlni9b4p4g02zhhsbbpkwhx9y3x83vm7qd6lsca02yi96palsi"; depends=[gRbase igraph]; };
-  gramEvol = derive { name="gramEvol"; version="1.1-1"; sha256="026sy3p1b6hy5xkg70zw6bb56i7qpadqs2ndym9ddznh09mk1fsj"; depends=[]; };
-  GrammR = derive { name="GrammR"; version="1.0.0"; sha256="1j1k891cn9fyyp1nfyj6hjcz87qflipfwd9f9zg5s8y4jf0i9a7g"; depends=[gWidgets RGtk2 gWidgetsRGtk2 MASS cluster rgl GUniFrac ape]; };
-  granova = derive { name="granova"; version="2.0"; sha256="02jk6p0y29z09l2d35flyrx1g0b4vjpwv99v46pi4kdkiv50508x"; depends=[car]; };
-  granovaGG = derive { name="granovaGG"; version="1.2"; sha256="0gy8ba1zlm62f458sxrph3cyz4c6nqkaddm6nwj54nyicxqah32h"; depends=[ggplot2 RColorBrewer plyr gridExtra reshape2]; };
-  gRapfa = derive { name="gRapfa"; version="1.0"; sha256="07yzwzna9pdyzndxk6wwyl6v3gkfc7dvy1ixmdl3d38mcl1ahwyq"; depends=[igraph]; };
-  gRapHD = derive { name="gRapHD"; version="0.2.4"; sha256="0fxd04s6zh23chks4k6nwb5w408xjy89b44pa42kv6qnqj86ylvm"; depends=[]; };
-  GrapheR = derive { name="GrapheR"; version="1.9-84"; sha256="1wwks2a4vzhj1rcspizp1vadl6kvrqr8s4zd6pghj02nd266znk9"; depends=[]; };
-  graphicsQC = derive { name="graphicsQC"; version="1.0-5"; sha256="1h0qrf47r16np1ysymvlvvb95a8w86brh440kk20ajhbr5njp6kz"; depends=[XML]; };
-  GraphPCA = derive { name="GraphPCA"; version="1.0"; sha256="17ipcp7nh47lfs9jy1aybpz4r172zj5yyrdrgmd6wa7hax8yv8gg"; depends=[ggplot2 FactoMineR scatterplot3d scales]; };
-  GrassmannOptim = derive { name="GrassmannOptim"; version="2.0"; sha256="05r5zg4kf3xd6pp56bl8ldchdxvspxkdfd33b623hndjhn4lj2lq"; depends=[Matrix]; };
-  gRbase = derive { name="gRbase"; version="1.7-0.1"; sha256="1x52i4c5jbry17y1pfnjq03kz4xxnk3anidva41z5alp7c73zlqv"; depends=[Matrix igraph Rcpp]; };
-  gRc = derive { name="gRc"; version="0.4-1"; sha256="1a6q24yj7js1sk0lfqbm7kdv605cby6i711w4dlygsxdvwxbrsdr"; depends=[gRbase]; };
-  greport = derive { name="greport"; version="0.5-1"; sha256="0l88w78djgyzd8ma3b61xkjsr76xlxzc3ibhzh6xz389knn3vfl5"; depends=[Hmisc data_table rms lattice latticeExtra Formula survival]; };
-  Grid2Polygons = derive { name="Grid2Polygons"; version="0.1-4"; sha256="00qnvi5f5mywknir67rbn36hz8s1x71y1jkkj4nrp60d15vh6hk7"; depends=[sp rgeos]; };
-  gridBase = derive { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; };
-  gridDebug = derive { name="gridDebug"; version="0.4-0"; sha256="1nbcdjip6ghnlv0j7cf45bpqdpirwn636pg324f0hgiqj4rifn09"; depends=[gridGraphviz gridSVG]; };
-  gridExtra = derive { name="gridExtra"; version="0.9.1"; sha256="15pj5w5wlrf8gw4z01i9j88gk6bm4kni64fpip9icmxkn887y3hx"; depends=[]; };
-  gridGraphviz = derive { name="gridGraphviz"; version="0.1"; sha256="14zcr0w2c9cgdw6ij93w52k3bkmgdmx809snh9jjf2amy08p2gbg"; depends=[]; };
-  gridSVG = derive { name="gridSVG"; version="1.4-0"; sha256="0ch1waz2z60a7ivn63nf1418kgypr0nv8vr3ak3my0i7gdgny2pc"; depends=[RJSONIO XML]; };
-  GriegSmith = derive { name="GriegSmith"; version="1.0"; sha256="1a7gnaig1wvxpph7d8c37kx51dznzk0457fzf7alw95iwpyb4z7j"; depends=[spatstat]; };
-  gRim = derive { name="gRim"; version="0.1-17"; sha256="0vn031r318kp78cx00n43fc42bv6sjyb8dm6q0l08s0g9n2w17dp"; depends=[gRbase gRain igraph]; };
-  grImport = derive { name="grImport"; version="0.9-0"; sha256="1d8fd7502qj7cirjqdkr1qj51rylw2fz5hs06avfvc2dxs2xwfw1"; depends=[XML]; };
-  grnn = derive { name="grnn"; version="0.1.0"; sha256="1dxcmar42g9hz4zlyszlmmnnsnja0gxfggav5jxv0gkp32rkd0wh"; depends=[]; };
-  groc = derive { name="groc"; version="1.0.4"; sha256="1v32gwr8ghv47dmzp1x02n3aaqv3cfywh7xzx2486v4p960s42gc"; depends=[rrcov pls mgcv robust robustbase MASS]; };
-  grofit = derive { name="grofit"; version="1.1.1"; sha256="0m0phd5irk007k2kpxlsg03g7939nndf363fmkcxffykvp0023hz"; depends=[]; };
-  grouped = derive { name="grouped"; version="0.6-0"; sha256="1glxgacpwk7yjbkwg5ci6bmb2il6hf5zhydwi5bbq6hc032m9976"; depends=[MASS]; };
-  GroupSeq = derive { name="GroupSeq"; version="1.3.2"; sha256="16n06jw7f97jhafgl9sfvd163v1walhlpmai1hmhiwjvv341sp13"; depends=[]; };
-  growcurves = derive { name="growcurves"; version="0.2.3.9"; sha256="1f8hh8ppp6bgrb8crm46xrria3vdnz62aya9lhwcdaggfmy7j25l"; depends=[Rcpp RcppArmadillo reshape2 scales ggplot2 Formula testthat]; };
-  growfunctions = derive { name="growfunctions"; version="0.1"; sha256="0r11grbxbmdx2yg2jh22rf0frg7jz0w7n5d7mbhn16fwnkm3y9mw"; depends=[Rcpp Matrix spam mvtnorm ggplot2 reshape2 scales]; };
-  growthmodels = derive { name="growthmodels"; version="1.2.0"; sha256="1wy5z77819s3daa0mifafcjfkggsq0ac522yagj86ml3vf7yqppj"; depends=[]; };
-  growthrate = derive { name="growthrate"; version="1.2"; sha256="05a2g3lcw4c0r3hykk5lsxmx2s1lp1fsjjxmip75dhid969sagcs"; depends=[Matrix clime mvtnorm]; };
-  grplasso = derive { name="grplasso"; version="0.4-3"; sha256="1v15x0kbzfvl3ygbrsxqgj3mz6a107bfvanbymh0hs7668b1zkab"; depends=[]; };
-  grppenalty = derive { name="grppenalty"; version="2.1-0"; sha256="12hbghmg96dwlscjy6nspgkmqqj4vwq2qcwcz1gp50a08qbmdcrk"; depends=[]; };
-  grpreg = derive { name="grpreg"; version="2.6-0"; sha256="1j112c96milqnd34dmznm1x7i02ydh484msd6vm98daghb42dzsg"; depends=[Matrix]; };
-  grt = derive { name="grt"; version="0.2"; sha256="0cqjk7yqk2ryx1pgvjd3x8l25hqv92p8rvdr7xw4jkzillllwmhz"; depends=[MASS rgl misc3d]; };
-  GRTo = derive { name="GRTo"; version="1.2"; sha256="0x65g8a39vrb8m3hqajxi0ksmdavz0p6mlamqprkdn9p6ikf5c73"; depends=[bootstrap]; };
-  GSA = derive { name="GSA"; version="1.03"; sha256="1h1sbpn1rrdh44w4fx2avc7x24ba40mvpd8b2x5wfrc7a294zf6z"; depends=[]; };
-  GSAgm = derive { name="GSAgm"; version="1.0"; sha256="18bhk67rpss6gg1ncaj0nrz0wbfxv7kvy1cxria083vi60z0vwbb"; depends=[survival]; };
-  gsalib = derive { name="gsalib"; version="2.0"; sha256="0yk39ca7yrsksga73ma2pdqfy3s1xpp07y8622x44b9cazv6rdy4"; depends=[]; };
-  gsarima = derive { name="gsarima"; version="0.1-4"; sha256="0q5i5szyqvj1sgyg17khqx5rgdpn3wxp22ddr9m9rb653y03xzz0"; depends=[MASS]; };
-  gsbDesign = derive { name="gsbDesign"; version="0.96-2"; sha256="0sk4a66z9bqi3aa2ky9472p9znfm93kc9p5igdmvii4dr0syyfxd"; depends=[gsDesign lattice]; };
-  gsDesign = derive { name="gsDesign"; version="2.8-8"; sha256="0czr2xyh3nd8kgvw71wvqakvmfbdbysiyyfnh2az7l4j33xyhfc9"; depends=[ggplot2 xtable stringr RUnit plyr]; };
-  GSE = derive { name="GSE"; version="3.0"; sha256="1b1nrnvgly7zpyw9z9ddgmx7qfz0mllwm8k7czs17x3l5gkmw8ir"; depends=[Rcpp RcppArmadillo MASS ggplot2]; };
-  gSeg = derive { name="gSeg"; version="0.1"; sha256="0qnv3c0rla0g2fb4s4x1i0zdp3dlvi98qf80wlr54gnn7s9vpjf1"; depends=[]; };
-  gset = derive { name="gset"; version="1.0"; sha256="10qiwp94z8zm2gvklnz23qmypdwh72jz0v7rdcni38pv2hcky637"; depends=[Hmisc mvtnorm MCMCpack]; };
-  gsg = derive { name="gsg"; version="1.0"; sha256="0j2h1i94vr0mvj4rl328n666b9nn2xnakid8k1r2lh88vk3dv9ma"; depends=[mgcv mvtnorm boot numDeriv]; };
-  GSIF = derive { name="GSIF"; version="0.4-1"; sha256="0ry2lq9cncd68wnrfgfw53mqi1jiijggdz3ib37xpkcqh754101x"; depends=[sp RSAGA dismo rgdal raster aqp plotKML gstat boot rpart quantregForest randomForest nlme]; };
-  gskat = derive { name="gskat"; version="1.0"; sha256="19mbif7wr88vk5wlc7m2l4xghjmfj2qd3s8yvjlkawbnjk8x6ib0"; depends=[CompQuadForm e1071 gee geepack Matrix]; };
-  gsl = derive { name="gsl"; version="1.9-10"; sha256="06n21p0k2ki6nb725a6sxwlb4p7xc5jhg11nq9c3z3dj39r0qgbd"; depends=[]; };
-  GSM = derive { name="GSM"; version="1.3.1"; sha256="1ay6znw31qnhz5k6fa0aiccr2xxmnj7v3vzrvlk6y5v5smlvybd0"; depends=[gtools]; };
-  gsmaRt = derive { name="gsmaRt"; version="1.0"; sha256="0hpf0vgmhill3w8cqpsgvxjgwk2ka154vm9klidckm05qcqlwdn6"; depends=[R2HTML rgl scatterplot3d xtable]; };
-  gsmoothr = derive { name="gsmoothr"; version="0.1.7"; sha256="00z9852vn5pj04dhl3w36yk0xjawniay6iifw1i7fd8g98mgspxp"; depends=[]; };
-  gss = derive { name="gss"; version="2.1-3"; sha256="07bp60fhax8v4nyzcgadadi1kfwgwk5r08y6ifsgim500jbw7apk"; depends=[]; };
-  gsscopu = derive { name="gsscopu"; version="0.9-1"; sha256="0qg4ra7zvp0j6wjbb14sqajfq745bza3v50s0c5xxnddblqi4hcc"; depends=[gss]; };
-  gstat = derive { name="gstat"; version="1.0-19"; sha256="1yhrp1dgkl11hr8jy1kmsiaf8avf02m85wcnvf34vlbil24hy7py"; depends=[lattice sp zoo spacetime FNN]; };
-  gstudio = derive { name="gstudio"; version="1.3"; sha256="1ddifizswm41y4sxnnfw8j90clba6zf022x0z4xipccaznim2gy9"; depends=[ggplot2 raster sp reshape2 ggmap popgraph]; };
-  gsubfn = derive { name="gsubfn"; version="0.6-5"; sha256="1glpq5ghzgarqg8wfl7pblblm31d4dsxrlrkhsgckldbdap52yws"; depends=[proto]; };
-  gtable = derive { name="gtable"; version="0.1.2"; sha256="0k9hfj6r5y238gqh92s3cbdn34biczx3zfh79ix5xq0c5vkai2xh"; depends=[]; };
-  gtcorr = derive { name="gtcorr"; version="0.2-1"; sha256="1n56zmyv58jwr95p453jb86j82pdnq57gfc8m15jndjc9p31zl0m"; depends=[]; };
-  gte = derive { name="gte"; version="1.2-1"; sha256="0h6c5n9wz8b4b5pmqfbc8ivqpg2jh4k6x94wns1l33kiah70pmjd"; depends=[survival]; };
-  gtools = derive { name="gtools"; version="3.4.1"; sha256="0d5v864v3qnmmxas8xf74aarli9nr3l16bwj9qzs2s9k498q6azs"; depends=[]; };
-  gtx = derive { name="gtx"; version="0.0.8"; sha256="0x71jji2yldi9wpx8d3nldbjfj4930j7zcasayzbylf9094gmg26"; depends=[survival]; };
-  GuardianR = derive { name="GuardianR"; version="0.4"; sha256="0jk97x106srswp28r68713ky707cx957hvbkjggfppcglic5dc1n"; depends=[RCurl RJSONIO]; };
-  Guerry = derive { name="Guerry"; version="1.5-0"; sha256="18pgmsqd6ign5g4lwpd35gxaypm3zjf1i82w63ss11dsqddnfyvh"; depends=[sp shapefiles]; };
-  GUIDE = derive { name="GUIDE"; version="1.0.9"; sha256="1y0y6rwv1khd9bdaz5rl9nmxiangx0jckgihg16wb6hx6kf8kzc1"; depends=[rpanel tkrplot]; };
-  gumbel = derive { name="gumbel"; version="1.04"; sha256="0fl44i4kz9wbba1iv4fy1b74nf25axdkifhczgrgpy5d81ky43v6"; depends=[]; };
-  GUniFrac = derive { name="GUniFrac"; version="1.0"; sha256="0w08b22xkx0llmwk1kj4ibapvg3fxkgkmjz6z6acr4nwqfwmjzzx"; depends=[vegan ape]; };
-  GUTS = derive { name="GUTS"; version="0.3.5"; sha256="10yi18yv3vbm7pn11bbj3baxqga5yymilabf56bc18prpirnw51b"; depends=[Rcpp]; };
-  gvcm_cat = derive { name="gvcm.cat"; version="1.6"; sha256="0v5q97gjninxrjdclxj1bn362h0j93pm71k9gp79aa3sdy4ay6s4"; depends=[Matrix MASS]; };
-  gvlma = derive { name="gvlma"; version="1.0.0.2"; sha256="0gj52hg665nmlwgbjh9yvz7a3sbzlbj41ksxchnnlxaxipdf6sl8"; depends=[]; };
-  GWAF = derive { name="GWAF"; version="2.1"; sha256="1s56d3b6p5fpaxi32ks2mmhsa5sgi746hf159wk0z99099gli8g3"; depends=[geepack coxme lme4]; };
-  GWASExactHW = derive { name="GWASExactHW"; version="1.01"; sha256="19qmk8h7kxmn9kzw0x4xns5p3qqz27xkqq4q6zmh4jzizd0fsl78"; depends=[]; };
-  GWAtoolbox = derive { name="GWAtoolbox"; version="2.2.4"; sha256="0adpixlfh0j1py79b0636921kmz2zvhv8p07m6ism6h3xva0i4ck"; depends=[]; };
-  gwerAM = derive { name="gwerAM"; version="1.0"; sha256="1c3rzd1jf52a4dn63hh43m9s9xnjvqn67amlm9z1ndrnn6fwfg1b"; depends=[MASS Matrix]; };
-  GWG = derive { name="GWG"; version="1.0"; sha256="1va0cd229dhhi1lmrkpwapcm96hrdmxilrmba02xnl7ikhisw0my"; depends=[]; };
-  gWidgets = derive { name="gWidgets"; version="0.0-53"; sha256="06imjabf9fqghaszqq77x6vxq864cn36n6534bkg23m9fwzqzf23"; depends=[]; };
-  gWidgets2 = derive { name="gWidgets2"; version="1.0-5"; sha256="1y6vm6ds77yr1qiqlcaixbsarbwx5w53ba343svla7wva80ajbpl"; depends=[digest]; };
-  gWidgets2RGtk2 = derive { name="gWidgets2RGtk2"; version="1.0-2"; sha256="1pzcpjz5cdizvj0ih2r4i3ll6flm45q8ym6sz0wqbg4j3ir0l5kh"; depends=[memoise RGtk2 gWidgets2]; };
-  gWidgets2tcltk = derive { name="gWidgets2tcltk"; version="1.0-2"; sha256="1dzrc8yry4l2afpijr35irnqmvfpd22vlb3lih4pk14n52690y0h"; depends=[digest memoise gWidgets2]; };
-  gWidgetsRGtk2 = derive { name="gWidgetsRGtk2"; version="0.0-82"; sha256="0b1imvy2094s2ixar7z4kxs047855ssijx8l22a1hlwdg7zp7sng"; depends=[RGtk2 gWidgets]; };
-  gWidgetstcltk = derive { name="gWidgetstcltk"; version="0.0-55"; sha256="06991rqh4927bal7j718bn2ziy6rws8yq682lmp5vbqhdd36afv2"; depends=[gWidgets digest]; };
-  gWidgetsWWW = derive { name="gWidgetsWWW"; version="0.0-23"; sha256="14yw04kgfqfwl44zkyqy075rjd5vafbzig6x5py25ypbdk3hwn7a"; depends=[proto filehash digest rjson]; };
-  GWmodel = derive { name="GWmodel"; version="1.2-3"; sha256="04sks9rnqxgxyj9q3nyrnknp4cdfck2p52svxfdrgvxqr48kf6ff"; depends=[maptools robustbase]; };
-  GWRM = derive { name="GWRM"; version="1.1"; sha256="1l8rw2nksd1vskjb7kjn93vgrs39bcrr8zz1j66rmkcc399pf6nf"; depends=[]; };
-  gwrr = derive { name="gwrr"; version="0.2-1"; sha256="1fjk217pimnmxsimqp9sn02nr1mwy3hw3vsr95skbfsd6vdda14d"; depends=[fields lars]; };
-  GWsignif = derive { name="GWsignif"; version="1.0"; sha256="04663qgy3xmijrx8m1s5ql7zj70mgsd58dl08ci742l1fzmfya5f"; depends=[]; };
-  GxM = derive { name="GxM"; version="1.0"; sha256="1vaq0fkx3bf2kdmn2iqgad8haprg9i3a9101nrvyh2pv2g894761"; depends=[Rcpp minqa nlme]; };
-  h2o = derive { name="h2o"; version="2.4.3.11"; sha256="0mlyzvylqqi3w85riyp2mhyzdqf6yvmxibdjj41glaqc5vj37dlx"; depends=[RCurl rjson statmod]; };
-  haarfisz = derive { name="haarfisz"; version="4.5"; sha256="1qmh4glwzqwqx3pvxc71rlcimp1l0plgdf380v9hk0b4gj7g3pkf"; depends=[wavethresh]; };
-  HAC = derive { name="HAC"; version="1.0-0"; sha256="00va1q17a1vijhb557kh6scqakllqlblcv2hfisi7fq0h2ainni1"; depends=[copula]; };
-  HadoopStreaming = derive { name="HadoopStreaming"; version="0.2"; sha256="1l9msaizjvnsj1jrpghj4g057qifdgg6vbqhfxhn1fiqdqi2056q"; depends=[getopt]; };
-  hamlet = derive { name="hamlet"; version="0.7"; sha256="0f3gl5xvgdksaxk76dyv46hahc41f2j3pf9wp0rc0q7wpp5nfsjl"; depends=[]; };
-  HandTill2001 = derive { name="HandTill2001"; version="0.2-9"; sha256="1j4ivxarm3k9sj05824lv6b03apyabpciv4mp253vv0yzjcp2bzf"; depends=[]; };
-  Hankel = derive { name="Hankel"; version="0.0-1"; sha256="0g3b0ji8hw29k0wxxvlnbcm0z91p4vbajbrhm6cqbccjq85lg4si"; depends=[]; };
-  hapassoc = derive { name="hapassoc"; version="1.2-6"; sha256="14ddh7wiyks0wcw0iy1af9njg4wsn5flv59r463z2b3pbj5zp1qc"; depends=[]; };
-  HapEstXXR = derive { name="HapEstXXR"; version="0.1-6"; sha256="0ldmfa9729sf9r1kaldsskq8w6kvjac778bzjyi0a1pfz2walzjb"; depends=[survival]; };
-  HAPim = derive { name="HAPim"; version="1.3"; sha256="03qy0pxazv3gdq3fck7171ixilb9zi1dwnvc4v7d726g0lvn80pg"; depends=[]; };
-  Haplin = derive { name="Haplin"; version="5.3"; sha256="1gfg9dhgw42yjd1i8knnjvc2y2fbdc2ypa396g48hmsnislqffsd"; depends=[MASS mgcv GenABEL DatABEL filehash]; };
-  haplo_ccs = derive { name="haplo.ccs"; version="1.3.1"; sha256="0cs90zxxbvglz1af0lh37dw1gxa04k0kawzxamz2was3dbh19lbz"; depends=[haplo_stats survival]; };
-  HaploSim = derive { name="HaploSim"; version="1.8.4"; sha256="0794f76hc9qvjmay7c61cmzycqafljs0g0hliq9xfrw4f23gq3sa"; depends=[]; };
-  haplo_stats = derive { name="haplo.stats"; version="1.6.8"; sha256="1zz8hi37zwc6wkn5q7zhz1l29vlklhnj8gzp1pmz4ys496c2lwxh"; depends=[]; };
-  HAP_ROR = derive { name="HAP.ROR"; version="1.0"; sha256="1id9amz1cc2l2vnpp0ikbhf8ghbgzqd1b9dfivnyglg7996c3gbg"; depends=[hash ape]; };
-  hapsim = derive { name="hapsim"; version="0.3"; sha256="18r0cq15psjwxprml84ihj5gw4pk6agd7x0qicj899awa21f2qb3"; depends=[MASS]; };
-  HardyWeinberg = derive { name="HardyWeinberg"; version="1.5.4"; sha256="0098n5m3svcc3z5cvmqygazlvm1dzd4zfbpj1q9zqs5wr3407wcv"; depends=[mice]; };
-  harvestr = derive { name="harvestr"; version="0.6.0"; sha256="1jg4d98bwx2cm3hliayqrazq43sa9kd9ynpaid6x4ld3mz5y8mlq"; depends=[plyr digest]; };
-  hash = derive { name="hash"; version="2.2.6"; sha256="0mkx59bmni3b283znvbndnkbar85fzavzdfgmwrhskidsqcz34yz"; depends=[]; };
-  hashFunction = derive { name="hashFunction"; version="1.0"; sha256="1v57xj8xwv6xhxvgp0zxgvs5vcjw8z5k2ciwbn0jxf4ilyd66cgj"; depends=[]; };
-  hasseDiagram = derive { name="hasseDiagram"; version="0.1.1"; sha256="1szj5pi9i5ijqakxx4vwvwpz7y76jbgcgm76vfg4cnxvndf7sf4l"; depends=[]; };
-  hawkes = derive { name="hawkes"; version="0.0-4"; sha256="1ghwq3icxwmrai3xn9r8cnvlh3z3j18lznhw1bm31h9mkkp2dk0a"; depends=[Rcpp]; };
-  hazus = derive { name="hazus"; version="0.1"; sha256="1c0ahjdy9di1683nk5k4rmr6rhb66523ny039nyv842rgqdy625j"; depends=[reshape2]; };
-  hbim = derive { name="hbim"; version="1.0.3"; sha256="1480nydsi2xj7zbfk4zw24mhsjadf83d827kpqzbmn0yh6srp3ps"; depends=[mvtnorm]; };
-  hbmem = derive { name="hbmem"; version="0.3"; sha256="0ylxp77ack874sadwfnry84a6bg8gdl9xbw821lp5q05nnyg0dcj"; depends=[]; };
-  hbsae = derive { name="hbsae"; version="1.0"; sha256="1iwmpi0pn5fxyxkwqkbmy6w1f1wcx0p809jnviim0ypwib32mhh7"; depends=[Matrix arm]; };
-  HBSTM = derive { name="HBSTM"; version="1.0.1"; sha256="0bx7dxcfj46k4kqpqb39w4qkm4hvr1ka8d8rws445vkyl31kr0q6"; depends=[MASS fBasics maps]; };
-  hcc = derive { name="hcc"; version="0.54"; sha256="14b3pamkywb0wsjpbm0wpflcds0b5mfymvgk92rmf6ngz1bkpdbq"; depends=[]; };
-  hcci = derive { name="hcci"; version="1.0.0"; sha256="11piy1ajg3j3dbh66szzf7lhc3x28fz75ai39vlx0gl5nc2v5zs5"; depends=[]; };
-  hda = derive { name="hda"; version="0.2-12"; sha256="11z9p35dvhi7bdw09d2yawh46nxk8axw76b51vk089g12nr2b9x7"; depends=[e1071]; };
-  HDclassif = derive { name="HDclassif"; version="1.2.2"; sha256="0j32nhl2v0bipflidwfk6q8a0pvn7qjs7ks1al2izsr772dwfcvq"; depends=[MASS]; };
-  hddplot = derive { name="hddplot"; version="0.56"; sha256="0s9iijwq8zfvavqq2bkqm2884sg0957ppkggsv6mmm3cbdi2xrlc"; depends=[MASS]; };
-  hdeco = derive { name="hdeco"; version="0.4.1"; sha256="04nggwckvn1kwi238qd33l4pryzn4aq5bmi30bvfi99gwnrlgfgq"; depends=[]; };
-  hdi = derive { name="hdi"; version="0.1-2"; sha256="19lc2h34jlj198gchnhbfbb8igwlan2b977a47j8p3q6haj5bcv1"; depends=[glmnet linprog MASS scalreg]; };
-  hdlm = derive { name="hdlm"; version="1.2"; sha256="0s4lzg3s2k7f7byygb11s7f78l3rkkb0zn03kh3d7h8250wg9fax"; depends=[glmnet foreach MASS iterators]; };
-  HDMD = derive { name="HDMD"; version="1.2"; sha256="0na0z08fdf47ghfl2r3fp9qg5pi99kvp7liymwxym2wglkwl4chq"; depends=[psych MASS]; };
-  HDPenReg = derive { name="HDPenReg"; version="0.89.8"; sha256="1w1p3ivqw5snp9c08qss08radcv32h9pd5av0gj8kachcf4b6x0l"; depends=[Rcpp]; };
-  hdrcde = derive { name="hdrcde"; version="3.1"; sha256="027nxpzk1g0yx8rns7npdz30afs5hwpdqjiamc7yjrsi0rzm71lw"; depends=[mvtnorm locfit ash ks KernSmooth]; };
-  HDtweedie = derive { name="HDtweedie"; version="1.1"; sha256="14awd7sws0464f68f5xwnv1xvr0xflvx2z2zzcfj1csvk3af0zzj"; depends=[]; };
-  HEAT = derive { name="HEAT"; version="1.2"; sha256="1qifqd06ifl0f5l44mkxapnkwhpm0b82yq6dhfw4f8yhb27wd0z2"; depends=[]; };
-  heatex = derive { name="heatex"; version="1.0"; sha256="0c7bxblq24m80yi24gmrqqlcw8jh0lb749adsh51yr6nzpap6i9n"; depends=[]; };
-  heatmap3 = derive { name="heatmap3"; version="1.0.4"; sha256="0yrqq97r05xypqgd2dz5cyb54kjdhdzi59rclppcibwhjzpvgdka"; depends=[fastcluster]; };
-  heatmapFit = derive { name="heatmapFit"; version="2.0.2"; sha256="00p39y6x13yxrxfqx6gzmb80fk1hsyi8wa6brx40hj37pyyfis0p"; depends=[]; };
-  heatmap_plus = derive { name="heatmap.plus"; version="1.3"; sha256="0rzffm15a51b7l55k0krk6w7v8czy3vpwz1qmbybr7av0pln7wn3"; depends=[]; };
-  heavy = derive { name="heavy"; version="0.2-3"; sha256="17mr2i629hw38dadbl75rmkz9y3brc2yz3hap1vp607ya420cmv8"; depends=[]; };
-  helloJavaWorld = derive { name="helloJavaWorld"; version="0.0-7"; sha256="0x0f64w5783mh0ryv0krpdzhicbv912y36h74h1qapcy5225fxh5"; depends=[rJava]; };
-  helsinki = derive { name="helsinki"; version="0.9.20"; sha256="0jlyvj8cyzb0si2gqwik4jzbmwfawwnap9k6jl1z2nw2rz5w1k3c"; depends=[maptools rjson RCurl]; };
-  heplots = derive { name="heplots"; version="1.0-12"; sha256="064kanmqm4b0sbyw60wfb19adclpdagm23l6p86vi0hyx0dr0ykz"; depends=[car MASS]; };
-  hergm = derive { name="hergm"; version="1.3-11"; sha256="1kfh7ry84smxf3d0ykjr7d0ckh2dk9y63761f4pmskfxqx12w98a"; depends=[ergm]; };
-  hett = derive { name="hett"; version="0.3-1"; sha256="1y0hr9g2pjwzc5azh095h33qidxhhmlvd1csamjnhwdphj5drzz0"; depends=[MASS lattice]; };
-  het_test = derive { name="het.test"; version="0.1"; sha256="08kxp81dx32anh0k5b65x7w7madwnn9hiabdrk6ck6b6mx37x26v"; depends=[vars]; };
-  hexbin = derive { name="hexbin"; version="1.27.0"; sha256="0fs5nsaalic6fj7b347yjczws310y3q2v37yr8sg74yq8wqzsdj8"; depends=[lattice]; };
-  hexView = derive { name="hexView"; version="0.3-2"; sha256="19s87qxz9rjvzr64pv51wfd26jy5f00i8lwv39hhr6rh0jwngdly"; depends=[]; };
-  hflights = derive { name="hflights"; version="0.1"; sha256="1rb6finck13i6949i6hsgfk90q4ybxh1m3is2mlw2m6087bpzfbd"; depends=[]; };
-  hgam = derive { name="hgam"; version="0.1-2"; sha256="1flcc67n8kbh9m5phdfl587xg1x935zbp305y0gdmkc8vpkiwpcf"; depends=[grplasso lattice rgl]; };
-  hglasso = derive { name="hglasso"; version="1.2"; sha256="1qq41ma33wz7qjs5zx72yvngpsiq62z9sd6d5hvvl83brq0fcr4b"; depends=[glasso mvtnorm igraph fields]; };
-  hglm = derive { name="hglm"; version="2.0-8"; sha256="14md1d54zbhc2cnrvim5l8rwg556ln0ssamxj5354nrvr6sxv8gs"; depends=[Matrix MASS hglm_data]; };
-  hglm_data = derive { name="hglm.data"; version="1.0-0"; sha256="1hrq1jac658z5xjsg03nfkb4kwm9z44bhciv5chk74ww8gjr9j9q"; depends=[Matrix MASS]; };
-  HGNChelper = derive { name="HGNChelper"; version="0.3.0"; sha256="1w1x8fkvwlm4xqfx3afg42hhsa459sxqacsiph088sr77lhd3acz"; depends=[]; };
-  HH = derive { name="HH"; version="3.0-4"; sha256="11b1qvhdl1waskvvcdkdkljh5d3ql6ajsq0vg4fapprfkq4jamv1"; depends=[lattice latticeExtra multcomp reshape2 leaps vcd colorspace RColorBrewer]; };
-  HHG = derive { name="HHG"; version="1.4"; sha256="048jbwhrbgp1pv2j6sw234ykdn7bgpa49slwh3p5547nl2cwjysg"; depends=[]; };
-  hht = derive { name="hht"; version="2.0.2"; sha256="1hah6f8svvp63nzdfrnri8bi6dzx1qn372dmiz6x2jpp77mw2mkc"; depends=[EMD fields]; };
-  HI = derive { name="HI"; version="0.4"; sha256="0i7y4zcdr6wcjy43lz9h8glzpdv0pz7livr95xb1j4p8zafykday"; depends=[]; };
-  HIBAG = derive { name="HIBAG"; version="1.2.3"; sha256="08hg9l5il2zicbpg04biiqm99lj51ny6ias8hwxj2s4gyr1qd5ny"; depends=[]; };
-  HiClimR = derive { name="HiClimR"; version="1.1.2"; sha256="1vq8gln5888aa9835phixniijf1madxgsx895ld6nxxrwd9jhwpl"; depends=[]; };
-  HiCseg = derive { name="HiCseg"; version="1.1"; sha256="19581k3g71wrznyqrp4hmspqyzcbcfbc48xgjlq13zmqii45hcn6"; depends=[]; };
-  hiddenf = derive { name="hiddenf"; version="1.0"; sha256="00r27dyfg4mjsp4s3hjk19alqc4jbfvy8pk5zjvz7gdgq68fxaza"; depends=[]; };
-  HiddenMarkov = derive { name="HiddenMarkov"; version="1.7-0"; sha256="0223yw1ga2c2y1fqjgr3m4yw7w8cp5r0z5cz766qvbc5wv65bh59"; depends=[]; };
-  hierarchicalDS = derive { name="hierarchicalDS"; version="2.01"; sha256="0qdpdr8wk27zm1gf50awnmy8sghqq7mcdq30ahcyphmxmkm5cn1l"; depends=[truncnorm MASS mvtnorm Matrix coda spsurvey MCMCpack xtable mc2d]; };
-  hierfstat = derive { name="hierfstat"; version="0.04-10"; sha256="1n0nn5liwvf3xc743vdxpfqsbr40n599f981gk49d9nq8qk0kggl"; depends=[gtools ade4]; };
-  hierNet = derive { name="hierNet"; version="1.6"; sha256="08lifk92caa4l9nfb89rl6vby8sd1ba3ay7z29ffirsg7cx07qiw"; depends=[]; };
-  hier_part = derive { name="hier.part"; version="1.0-4"; sha256="03acdgzkhbk4p0wxw2g1hzklmq9hzmdkkvfj742vzfswdd803yg9"; depends=[gtools]; };
-  HIest = derive { name="HIest"; version="2.0"; sha256="0ik55kxhzjyg6z6072iz9nfaj7x1nvf91l1kysgvkjccr6jf3y86"; depends=[nnet]; };
-  highfrequency = derive { name="highfrequency"; version="0.2"; sha256="0gq1szwqal792n1k14m51flbjz72vfym14wkxl3q48mwv2i4s772"; depends=[xts zoo]; };
-  highlight = derive { name="highlight"; version="0.4.4"; sha256="03mch5waqkzb9pb4llgalbxdfn3h6adh05f3i43kscssc67bs30l"; depends=[]; };
-  highr = derive { name="highr"; version="0.3"; sha256="1y0amfvdpqwq0n60fykbsir4jd1ynkwfcgadjnn1997amk9qja5x"; depends=[]; };
-  highriskzone = derive { name="highriskzone"; version="1.1"; sha256="1qpk63jh44075b6fnhqx1iqjywzzwhvr6lry3vjlx0sfv1nqad6k"; depends=[spatstat ks]; };
-  hillmakeR = derive { name="hillmakeR"; version="0.2"; sha256="1baynibgn4xqmpsxna8irggxvdc484mq5nza00rwg58vh1bc7wzq"; depends=[]; };
-  HiLMM = derive { name="HiLMM"; version="1.0"; sha256="1x3my51vzxlk9q7vj2ljpqinxw777953mhgzvbqildph4szh4xh4"; depends=[]; };
-  hint = derive { name="hint"; version="0.1-1"; sha256="1n18j2hcb1qynhsln10nzryi20l5aqhr7i1aanww10y5dz573zi3"; depends=[]; };
-  HiPLARM = derive { name="HiPLARM"; version="0.1"; sha256="0af68gfmc89nn1chmqay6ix0zygcp1hmylj02i7l6rx6vb06qw6w"; depends=[Matrix]; };
-  hiPOD = derive { name="hiPOD"; version="1.0"; sha256="1i15ickz2s0kffh99qq30pl5hsl0lbj0kp55jnbv4x72hndzhmla"; depends=[rgl]; };
-  hisemi = derive { name="hisemi"; version="1.0-319"; sha256="0pm7dsaaqrdhkvxsk2cjvk6qd2rqqmddmv012smnrivi7mpnvd4w"; depends=[Matrix Iso fda]; };
-  HistData = derive { name="HistData"; version="0.7-5"; sha256="17s64hfs7r77p0wjzpbgz9wp3gjzbly2d0v784f9m2bka8gj6xhr"; depends=[]; };
-  histogram = derive { name="histogram"; version="0.0-23"; sha256="0hrhk423wdybqbvgsjn7dxgb95bkvmbh573q1696634hvzfdm68c"; depends=[]; };
-  HistogramTools = derive { name="HistogramTools"; version="0.3"; sha256="1wfvrznr578s2hc8ccs849pz4kjlyi4brdxhw919cvk758ahy9rv"; depends=[Hmisc ash stringr]; };
-  hitandrun = derive { name="hitandrun"; version="0.4-2"; sha256="143aj926mx0v26f8dsagr90ggzk23lfms57agzrnqfvddla7ng9c"; depends=[rcdd]; };
-  hive = derive { name="hive"; version="0.1-16"; sha256="1xaxnr8nfkji2b5f5dq2h01pkl20rm24wxnf1y1xv695v3j58ibd"; depends=[rJava XML]; };
-  HiveR = derive { name="HiveR"; version="0.2-27"; sha256="1c0isfiq8xw68qi3mk6m5dilsvbib7hy0ill9wga6kf6qndlfc49"; depends=[RColorBrewer plyr tkrgl jpeg png]; };
-  HIV_LifeTables = derive { name="HIV.LifeTables"; version="0.1"; sha256="0qa5n9w5d5l1kr4827a34581q380xmpyzmmhhl300z1jwr0j94df"; depends=[]; };
-  HK80 = derive { name="HK80"; version="0.0.1"; sha256="1qhknrqpspxrdxzf5kakans94db58bbhgpblvpwcyw4jrjmm0ng7"; depends=[]; };
-  HLMdiag = derive { name="HLMdiag"; version="0.2.5"; sha256="1yim9m5q1m112aj7zhsw345l32bdj7lbw2mqpcxhjzv1lcknm5lq"; depends=[lme4 ggplot2 plyr reshape2 MASS Matrix Rcpp]; };
-  hlr = derive { name="hlr"; version="0.0-4"; sha256="04w1hzjfg2ly9vm9ynh676fy74d9ncy3a1mak209z2ddgr3m7r2y"; depends=[MASS]; };
-  HLSM = derive { name="HLSM"; version="0.2"; sha256="052qsdbfamlpwmxz7bwbnd956kibgvw3w6r7gvvp2s08g58arvy7"; depends=[MASS coda]; };
-  hmeasure = derive { name="hmeasure"; version="1.0"; sha256="0wr0xq956glmhvy4yis3qq7cfqv9x82ci9fzx3wjvaykd16h0sx9"; depends=[]; };
-  Hmisc = derive { name="Hmisc"; version="3.14-4"; sha256="1jpz1sxvcip1k7yc8wkxf68fplr6dv24pavblxmi823xq1pjq21y"; depends=[lattice survival Formula latticeExtra cluster]; };
-  HMM = derive { name="HMM"; version="1.0"; sha256="0z0hcqfixx1l2a6d3lpy5hmh0n4gjgs0jnck441akpp3vh37glzw"; depends=[]; };
-  HMMCont = derive { name="HMMCont"; version="1.0"; sha256="1drni4f72x83sprn65wnhw0pv1q8lfkgmxdr9h4rwv1accril85x"; depends=[]; };
-  hmm_discnp = derive { name="hmm.discnp"; version="0.2-3"; sha256="1r9xxgsqh5pw9incldaxnsqhyanhd4jwm6w0ix1k43i53dw4diyr"; depends=[]; };
-  hmmm = derive { name="hmmm"; version="1.0-2"; sha256="057yfp1sgp1wvhdq0sfvs598zcq8dhrbqfc02lih5pnwacf96vpc"; depends=[quadprog MASS mvtnorm]; };
-  HMMpa = derive { name="HMMpa"; version="1.0"; sha256="14r2axg42by49qm6avgv7g3xnc29bxlrni5fhc5vdz0wygkcrqhn"; depends=[]; };
-  HMP = derive { name="HMP"; version="1.3.1"; sha256="1r39mq8j071khza37ck7w4kvk1di71hhn5m4wnx9dak7nlcq2nwx"; depends=[MCMCpack dirmult]; };
-  HMPTrees = derive { name="HMPTrees"; version="1.2"; sha256="0agp8w7rzr1byj01di89r3qy1vb9inb2zgys78mg8jnk7axi925l"; depends=[ape]; };
-  HMR = derive { name="HMR"; version="0.3.1"; sha256="1lmxp46r5jr0r37sk9y080irbrf89rkzhv0943xv0f0l2dyyk415"; depends=[]; };
-  hoardeR = derive { name="hoardeR"; version="0.0-2"; sha256="1k9a469h6fmr1br93dsk4q14h2bw8225l0v5sfp2wyr8sfpwm1dg"; depends=[httr XML stringr]; };
-  holdem = derive { name="holdem"; version="1.1"; sha256="07h4cbg7hx91hc6ypi6hbalzdd9qz9rfhjgk5sq1srnangwwnxlw"; depends=[]; };
-  Holidays = derive { name="Holidays"; version="1.0-0"; sha256="1p7rwph50i0dwl7a6n394dq7sl9nb2y8p5ip5y6ql48ixjh4d078"; depends=[TimeWarp]; };
-  homals = derive { name="homals"; version="1.0-5"; sha256="1azrwvdzn379in2sz9d94w2f2xp0d6iiayrv0bws44kvdzr95aqm"; depends=[rgl ape scatterplot3d]; };
-  homeR = derive { name="homeR"; version="0.1"; sha256="0yq93b3wkgbnwzpyhx9c73sb9xgz7m3z4p5rflk3lmc0p53h81g5"; depends=[]; };
-  homtest = derive { name="homtest"; version="1.0-5"; sha256="1lnqlg3dwq174ic6dbjllysw5fjy5kvvgbl6gvabjmcs66z27fp0"; depends=[]; };
-  HotDeckImputation = derive { name="HotDeckImputation"; version="0.1.0"; sha256="1zj09fa5bqfw27zzard9a9a2aglg7ff8z2zzfyjcdz187l6g9gql"; depends=[]; };
-  Hotelling = derive { name="Hotelling"; version="1.0-2"; sha256="0dzsqnn4c4av23qjnmacwc78i0xg355p1xwfmgipr04ivym0mqn0"; depends=[corpcor]; };
-  hotspots = derive { name="hotspots"; version="1.0.2"; sha256="1cwcwin86y7afjhs8jwlz1m63hh70dcjag0msds4ngksvjh9gj2q"; depends=[lattice ineq]; };
-  howmany = derive { name="howmany"; version="0.3-1"; sha256="045ck8qahfg2swbgyf7dpl32ryq1m4sbalhr7m5qdgpm62vz8h7f"; depends=[]; };
-  HPbayes = derive { name="HPbayes"; version="0.1"; sha256="1kpqnv7ymf95sgb0ik7npc4qfkzc1zb483vwnjpba4f42jhf508y"; depends=[MASS mvtnorm corpcor numDeriv boot]; };
-  hpcwld = derive { name="hpcwld"; version="0.4"; sha256="1vh5jvq9nbghsl59fi6v3nmsh0jmxq7pzbs3fgasz8c3jmjw50kp"; depends=[]; };
-  HPO_db = derive { name="HPO.db"; version="1.2"; sha256="04mys72qajp7cn0vhzr9mv388d5a69kjvkwxjjskz24k91xwn4vz"; depends=[]; };
-  hpoPlot = derive { name="hpoPlot"; version="1.0"; sha256="0jd0imbhsw74gziafkzn7hrxz79llmpksspbnxnslm1mifl81www"; depends=[functional plotrix Hmisc]; };
-  HPOSim = derive { name="HPOSim"; version="1.2"; sha256="1bgakx9y1cqc54adm6d4zlqvd2smxq895bf68njsgj3ygrlglc2v"; depends=[HPO_db igraph]; };
-  hqmisc = derive { name="hqmisc"; version="0.1-1"; sha256="0jcy2hb3dmzf9j4n92aq7247mx9w7n30wpsx0dkchqnjwlqwwncw"; depends=[]; };
-  hrr = derive { name="hrr"; version="1.1.1"; sha256="17jzsgh2784y7jdwpa50v7qz99dw6k2n25sisnam6h1a39b96byn"; depends=[]; };
-  HSAUR = derive { name="HSAUR"; version="1.3-3"; sha256="0lf6z9fgmbdhpvz2dyni5wi1ri6y6fikkf1px03pirlswm1mbchj"; depends=[]; };
-  HSAUR2 = derive { name="HSAUR2"; version="1.1-10"; sha256="0r06abgiiwj3b9cd652hics2rzkslk1gplxv751501nn7k2qid7i"; depends=[]; };
-  HSAUR3 = derive { name="HSAUR3"; version="1.0-1"; sha256="1w1c3ypyvlfi95qg3xxdjfgxlykrcn3rly7z2mvpzkdx4dhi3kls"; depends=[]; };
-  hSDM = derive { name="hSDM"; version="1.4"; sha256="1jq6hdnyv446ng62srip0b48kccf0qw3xqym3fprg74mjdy3inqr"; depends=[coda]; };
-  hsicCCA = derive { name="hsicCCA"; version="1.0"; sha256="1d4lkjrihwhl3jrsj7250ccd90nfwpllyavc3mp15fhcy2jnjci8"; depends=[]; };
-  hsmm = derive { name="hsmm"; version="0.4"; sha256="1fh8c5kfv4brygdq6bfkrhrhkm99mxl4ljb1mhp9nf2bjlla11mc"; depends=[mvtnorm]; };
-  hsphase = derive { name="hsphase"; version="2.0.0"; sha256="04zhqnrrzhg1kqxf251q7iglazsj28dqqvhvch472925xf7dnap3"; depends=[snowfall Rcpp]; };
-  HSROC = derive { name="HSROC"; version="2.1.7"; sha256="05gixmzmgdply9zhjpss54b50ch4b8586cik6c49naxcqxr0y5vd"; depends=[lattice coda MASS MCMCpack]; };
-  HSSVD = derive { name="HSSVD"; version="1.1"; sha256="0kpfcb9ibwhdanc56ysbvx3zirhbrxqyrgpbmi9yvnc5m2c8377d"; depends=[bcv]; };
-  htmltools = derive { name="htmltools"; version="0.2.4"; sha256="0957n22dfbhy0fc1hnf65jghdfiv1zj0kd6x5byafv54aby0bzqy"; depends=[digest]; };
-  HTMLUtils = derive { name="HTMLUtils"; version="0.1.5"; sha256="12r8x7b944lbzz3f4j6w88szq6j9gscbss3f5bzpisw33sr4wgx3"; depends=[R2HTML]; };
-  hts = derive { name="hts"; version="4.4"; sha256="1dpm669lc4khjkcs49m1nh7i61sclsqy7xbcn4mqqjhfgs7sg7sk"; depends=[forecast SparseM]; };
-  HTSCluster = derive { name="HTSCluster"; version="2.0.3"; sha256="1c3gk6q87fl7yfikpr7q6h9mp8mjm9qmzm1vxxilfl5qm9d8f92p"; depends=[plotrix ggplot2 RColorBrewer poisson_glm_mix]; };
-  HTSDiff = derive { name="HTSDiff"; version="1.0.2"; sha256="0l1shki2jkbx22l3rksdk1np9rgv40594ldn2rwhrzz6k2vz15by"; depends=[plotrix HTSCluster poisson_glm_mix]; };
-  httpRequest = derive { name="httpRequest"; version="0.0.9"; sha256="1s71lpxv5n1syffckxnnxm5470b2lb2l7pikcm1r2j21j08g807f"; depends=[]; };
-  httpuv = derive { name="httpuv"; version="1.3.0"; sha256="0fs2saz9g17069hkrh6r3wlzsbljv2dvq6sdlwh54dlm6skp7jm6"; depends=[Rcpp]; };
-  httr = derive { name="httr"; version="0.4"; sha256="18ikpbjczjci8di9mwcjkm10fcl9jn40kp4i33kidrmamyryq4zq"; depends=[RCurl stringr digest jsonlite]; };
-  huge = derive { name="huge"; version="1.2.6"; sha256="11njfd4i8q950apga6sdk84p4wk4qvp8bpg6yz9lgjrgj2hn14n2"; depends=[Matrix lattice igraph MASS]; };
-  HUM = derive { name="HUM"; version="1.0"; sha256="1bq74l88jvscmq9ihv5wn06w2wng073ybvqb2bdx2dmiqlpv6jw2"; depends=[gtools Rcpp rgl]; };
-  humanFormat = derive { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; };
-  hwde = derive { name="hwde"; version="0.64"; sha256="1is39zknssqm98577sdjg8gn3h9wsraih19a9nd6n8mxdcsqivh4"; depends=[]; };
-  HWEBayes = derive { name="HWEBayes"; version="1.4"; sha256="1rbffx6pn031a278ps9aqxcaq8yi73s5kf60za143ysbfxv9dphw"; depends=[MCMCpack mvtnorm]; };
-  HWEintrinsic = derive { name="HWEintrinsic"; version="1.2.1"; sha256="1sg5lrc6kl5rr6f5awp100qpd1679745kixasiddiggzd8fhgb7q"; depends=[]; };
-  HW_pval = derive { name="HW.pval"; version="1.0"; sha256="14nmyqw2d9cmn64789yc54fmiqanh6n1dizp7vj94h7b0jwq63yy"; depends=[]; };
-  hwriter = derive { name="hwriter"; version="1.3"; sha256="12hs78m2pzjhjpv43qdc3lazf5qi5w1vpzqign6qpdrhm85xgvhi"; depends=[]; };
-  hwriterPlus = derive { name="hwriterPlus"; version="1.0-3"; sha256="06hq493v702hy2mv73glav4az2wphzy3lqqkxjkpjpab00xc42d5"; depends=[hwriter TeachingDemos]; };
-  HWxtest = derive { name="HWxtest"; version="1.0.3"; sha256="0qw632djkfx94d8rxgpwmbb4zwwlhgzakjj657wcd6gfi90i72ix"; depends=[]; };
-  hybridEnsemble = derive { name="hybridEnsemble"; version="0.1.1"; sha256="1hn6zfz22mgxv5qpwdgmn7a9snha7hdkbbqq3xicy37j8xypsab5"; depends=[kernelFactory ada rpart ROCR nnet e1071 NMOF GenSA Rmalschains pso AUC soma genalg reportr nnls quadprog tabuSearch glmnet]; };
-  hybridHclust = derive { name="hybridHclust"; version="1.0-4"; sha256="1967p6crkrbnlfghd9x1alr2x57nqjl1zh58hhyshgla3xmdmhx5"; depends=[cluster]; };
-  HybridMC = derive { name="HybridMC"; version="0.2"; sha256="1wgzfyk0scwq9s2sdmc91fj7r4d7zlgwgnj6mdiia8w88ja8kzqy"; depends=[coda]; };
-  hydroApps = derive { name="hydroApps"; version="0.1-1"; sha256="1ycv7l2ywwnx2mgklg6rry7n24jyhi4spvp1xl345yvyn9kf15dz"; depends=[nsRFA]; };
-  hydrogeo = derive { name="hydrogeo"; version="0.2-3"; sha256="1kvzpdjrzbxy4rbfhjqmxdipaamd2rjdyxjv6vfxv1ixs1bm8cwm"; depends=[]; };
-  hydroGOF = derive { name="hydroGOF"; version="0.3-8"; sha256="1ljk2dk5ydsg7qdizyzkbw0b2zdhnb3x9h965d94ygzg8nw5kbak"; depends=[zoo hydroTSM xts]; };
-  HydroMe = derive { name="HydroMe"; version="2.0"; sha256="1a1d3lay94mzwk8n22l650h3p133npdf4aj63zgrdw4760p54rqf"; depends=[nlme minpack_lm]; };
-  hydroPSO = derive { name="hydroPSO"; version="0.3-4"; sha256="12md94g78m7m1np36sadx0wxpb149pn5gd8yj2kw7fphb8g6a218"; depends=[Hmisc sp lattice zoo lhs]; };
-  hydrostats = derive { name="hydrostats"; version="0.2"; sha256="1sp8lp4rqkq5ivlfdg26k6azmxvr8ma0ggkcj10zdl0q85j7ldj2"; depends=[]; };
-  hydroTSM = derive { name="hydroTSM"; version="0.4-2-1"; sha256="0z5xw25w2fn67x2dw61msfdnp2dr2s2yi525fcjxn77339x9ksfr"; depends=[zoo xts e1071 gstat automap sp]; };
-  HyperbolicDist = derive { name="HyperbolicDist"; version="0.6-2"; sha256="1wgqbx9ascyk6gw1dmvfz6hljvbh49gb9shr9qgf22qbq83waiva"; depends=[]; };
-  hyperdirichlet = derive { name="hyperdirichlet"; version="1.4-9"; sha256="03c2xgfhfbpn1za84ajhvm0i5cpmfnz1makidrr2222addgyp9zx"; depends=[aylmer abind mvtnorm cubature]; };
-  hypergea = derive { name="hypergea"; version="1.0.1"; sha256="17fi0sjgyjydd327wghicpys09bpkil4840d9zv779dj9zk2slj9"; depends=[]; };
-  hypergeo = derive { name="hypergeo"; version="1.2-5"; sha256="00rqyw7xc4q6lqg0vy1jkb4rc1xbdgvqsmx58n6w2006zni54ss1"; depends=[elliptic contfrac]; };
-  hyperSpec = derive { name="hyperSpec"; version="0.98-20140523"; sha256="1ypmq5xgcjqrq9i8f08csjqffv9qfpfkvrbawlf1ds7i49h6jq28"; depends=[lattice mvtnorm]; };
-  hypervolume = derive { name="hypervolume"; version="1.0.1"; sha256="1ja3wx8k1hbcgwinbbs5m2amayj2wdmkk2kqaywrvgpm2k1f40i5"; depends=[Rcpp rgl MASS geometry igraph]; };
-  HyPhy = derive { name="HyPhy"; version="1.0"; sha256="0994ymv7sswbp8qw3pay34s926cflw2hq2gnchw7rknybvlsrinq"; depends=[ape R_utils]; };
-  hypothesestest = derive { name="hypothesestest"; version="1.0"; sha256="0g8sm386m1zm9i3900r62x83wb600cy8hqk7dlvbx6wcgrxg82sm"; depends=[]; };
-  hypred = derive { name="hypred"; version="0.4"; sha256="08nqgw0h3zh4vyhfd1cngr6snz5n7skj3d9rg2qccz9pnjp7j1ab"; depends=[]; };
-  hysteresis = derive { name="hysteresis"; version="2.0"; sha256="1g9d91djwi9k2q10zqak8fpmywnwmha1pm18g2hmwzrqrwnr6dh9"; depends=[car msm nlrwr]; };
-  hzar = derive { name="hzar"; version="0.2-5"; sha256="000l4ki3hvznnhkxc5j422h5ifnsfqalv666j48yby1hsf1lc3kg"; depends=[MCMCpack foreach coda]; };
-  IASD = derive { name="IASD"; version="1.0.7"; sha256="0a25sd82fxnmz3f4iaxhc69cdfb7xmh7wi79wv11sbw9cv2pl7kr"; depends=[]; };
-  IAT = derive { name="IAT"; version="0.2"; sha256="0byivq2298sjvpsz5z1w7r31h6z2jqpip40z8r2alygbgwwa48pd"; depends=[data_table ggplot2]; };
-  ibd = derive { name="ibd"; version="1.1"; sha256="1p7dw74qpbdalb8vq8jixjhizjl2zc8wrl28mzavw89lbragvi6k"; depends=[lpSolve MASS]; };
-  IBDhaploRtools = derive { name="IBDhaploRtools"; version="1.7"; sha256="1jg2vrs9ly7l8yidw8ppa41v657jhjcj7n27zi1f2vsh3vmjri0m"; depends=[]; };
-  ibdreg = derive { name="ibdreg"; version="0.2.5"; sha256="1kaa5q1byi30wzr0mw4w2cv1ssxprzcwf91wrpqwkgcsdy7dkh2g"; depends=[]; };
-  IBDsim = derive { name="IBDsim"; version="0.9-4"; sha256="0cpabz7mnhsrmjrgb23zs5anjrkhwc2005b2inl6p93l47i81fps"; depends=[paramlink]; };
-  ibeemd = derive { name="ibeemd"; version="1.0.1"; sha256="115z13q02gzixziknix2l53mi12zzg30ra9h35pv6qzrr11ra1ic"; depends=[fields deldir rgeos sp spdep]; };
-  IBHM = derive { name="IBHM"; version="1.1-11"; sha256="1m0zxlybcak2v5c4spgaa39ngb2hryak4xd875jryk1dcnk9c702"; depends=[DEoptim cmaes Rcpp]; };
-  Iboot = derive { name="Iboot"; version="0.1-1"; sha256="1fahh86kgv2axj2qg14n87v888sc0kb567s6zr3fh5zv361phwkq"; depends=[]; };
-  ibr = derive { name="ibr"; version="1.4.5"; sha256="0nw2j232br06l30v3cn4qcr25vbh911v2mz7nfail40sqxc6wwc4"; depends=[]; };
-  IBrokers = derive { name="IBrokers"; version="0.9-10"; sha256="1kpmmiar5762byy6pl8x8drpsw8as9ilbqzgqhfrvj5rd31mylz6"; depends=[xts]; };
-  iBUGS = derive { name="iBUGS"; version="0.1.4"; sha256="0vsxy8pnbix0rg7ksgywx7kypqb5ngkxhldh3cisjkvdv638ybps"; depends=[R2WinBUGS gWidgetsRGtk2]; };
-  iC10 = derive { name="iC10"; version="1.0.2"; sha256="17pgm3k1zh502bvdcc86wl8fsd1mbcl6hw2rqhpy0c3bhabrixki"; depends=[pamr CONOR iC10TrainingData]; };
-  iC10TrainingData = derive { name="iC10TrainingData"; version="1.0.0"; sha256="0il8caxwinjpcf4gfimi07b7ccv5v916s2968vy2vdx6439y1rss"; depends=[]; };
-  IC2 = derive { name="IC2"; version="1.0-1"; sha256="03jjb62msxjxdg9l3zd1ns0d2w37hkxy5pnjgaywxw3vfk4zwfj9"; depends=[]; };
-  ic50 = derive { name="ic50"; version="1.4.2"; sha256="1a5ddmbdfr3ls132fvalbkh4yaawv9k58rgpy54s5qddrm6aas2s"; depends=[]; };
-  icamix = derive { name="icamix"; version="1.0"; sha256="1ain8fnyy4bj306zcli1c3d50sqckg88wnm0ppni0crwxvqcvvkm"; depends=[Rcpp]; };
-  icaOcularCorrection = derive { name="icaOcularCorrection"; version="3.0.0"; sha256="1vmvarc2apipd0vlhprc5wpgh8i38m5myj1gqdymjrnky0azq17f"; depends=[fastICA mgcv]; };
-  icapca = derive { name="icapca"; version="1.0"; sha256="1m8z5444y06wadc63zlb1x3qfgam81j78nvzzxlpxijydzh8xla8"; depends=[]; };
-  ICC = derive { name="ICC"; version="2.2.1"; sha256="1xl8x8ddbrk8ma57mybmmv9m096wlpbas7hsmd2c6qzcrlz6i7wa"; depends=[]; };
-  icd9 = derive { name="icd9"; version="0.5"; sha256="128gv2yxylncmbr6b1qz82ys7aanqxf35psrmrh2i4l84w3w5l8g"; depends=[memoise]; };
-  ICE = derive { name="ICE"; version="0.69"; sha256="04p8lakaha28mdh965w0ppyxfrz5ssi1n9xifvsbn3ihdra67rip"; depends=[KernSmooth]; };
-  ICEbox = derive { name="ICEbox"; version="1.0"; sha256="1m3p0b93ksrcsp45m4gszcz01cwbfpj4ldar6l0q3c9lmyqsznx8"; depends=[sfsmisc]; };
-  ICEinfer = derive { name="ICEinfer"; version="1.0-1"; sha256="0gjgr1r33w6d5ra0njh15lj46lw6v751yl8iqrdf4a5pazs7w3lm"; depends=[lattice]; };
-  icensmis = derive { name="icensmis"; version="1.2.1"; sha256="1h4l9irip4hv34hr92j8756qgmy455mfdblr7ypgsgvr27cgax8h"; depends=[Rcpp]; };
-  ICGE = derive { name="ICGE"; version="0.3"; sha256="0xin7zml1nbygyi08hhg3wwr2jr1zcsvrlgia89zp4xanxlzgaqa"; depends=[MASS cluster]; };
-  ic_infer = derive { name="ic.infer"; version="1.1-5"; sha256="0nmx7ijczzvrv1j4321g5g5nawzll8srf302grc39npvv1q17jyz"; depends=[quadprog mvtnorm boot kappalab]; };
-  iCluster = derive { name="iCluster"; version="2.1.0"; sha256="09j36xv87d382m5ijkhmp2mxaajc4k97cf9k1hb11ksk7fxdqz6r"; depends=[lattice caTools gdata gtools gplots]; };
-  icomp = derive { name="icomp"; version="0.1"; sha256="0xpjbfb9lxgsby9fj5lbb4nkl6zy8k4whqpgdqq5ndzy7zgq1lvm"; depends=[]; };
-  ICS = derive { name="ICS"; version="1.2-4"; sha256="1sfm9ymrrl72jzg8gsdw6v4q20i4s2w4syyr7brlvan136khpqyn"; depends=[mvtnorm survey]; };
-  ICSNP = derive { name="ICSNP"; version="1.0-9"; sha256="0kisk7wk0zjsr47hgrmz5c8f2ljsl7x4549a1rwzsfkjz8901qka"; depends=[mvtnorm ICS]; };
-  ICsurv = derive { name="ICsurv"; version="1.0"; sha256="1mbndpy3x5731c9y955wscy76jrxlgv33bf6ldqp65cwyvdgxl86"; depends=[MASS matrixcalc]; };
-  idbg = derive { name="idbg"; version="1.0"; sha256="1rxmj04hswxybrg7dfib3mjy8v8mdiv13zwbscp2q55z55hhf1m5"; depends=[]; };
-  identity = derive { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; };
-  IDPmisc = derive { name="IDPmisc"; version="1.1.17"; sha256="0nbwdyg9javjjfvljwbp2jl0c6414c11zb2pirmm5pmimaq9vv0q"; depends=[lattice]; };
-  IDPSurvival = derive { name="IDPSurvival"; version="1.0"; sha256="1v1w0i74b065b4qc302xbdl5df7qx9z8jmbc9cn46fqm1hh2b6d7"; depends=[Rsolnp gtools survival]; };
-  idr = derive { name="idr"; version="1.1.1"; sha256="0shwwyvc4j32grxanhyqk66aykzy5bzic2004krvzbmcb5cr1sgb"; depends=[]; };
-  iDynoR = derive { name="iDynoR"; version="1.0"; sha256="01702vl10191mbq2wby1m0y6h8i6y6ic4pa83d27cg3yccsrhziz"; depends=[XML vegan]; };
-  ieeeround = derive { name="ieeeround"; version="0.2-0"; sha256="0xaxrlalyn8w0w4fva8fd86306nvw3iyz44r0hvay3gsrmgn3fjh"; depends=[]; };
-  ifa = derive { name="ifa"; version="7.0"; sha256="1cxafd7iwvyidzy27lyk1b9m27vk785ipj9ydkyx9z1v0zna2wnl"; depends=[mvtnorm]; };
-  iFad = derive { name="iFad"; version="3.0"; sha256="0jrl9bayihp3wb4k5w9kc71qlsdxk7vl83ydfibx2bg79c4hf3cs"; depends=[Rlab MASS coda ROCR]; };
-  ifs = derive { name="ifs"; version="0.1.4"; sha256="0fzani8rnn4rdwlghq967hhi4zfjnk3gwpk3v6wys738xj7yfwp1"; depends=[]; };
-  ifultools = derive { name="ifultools"; version="2.0-0"; sha256="0xgd4j09kixsv653cj5h1kyf9jfzz8nhc85xixbcpz3yn0fqbn00"; depends=[splus2R MASS]; };
-  iGasso = derive { name="iGasso"; version="1.2"; sha256="123487slizsmw5b0imwqll8n03navx30kvawr6jfibbjfdd8vfn7"; depends=[lattice CompQuadForm]; };
-  IgorR = derive { name="IgorR"; version="0.7.1"; sha256="1ahj1ckzjffsskicdy2b70pzx5cn2r0s22yg1ajwiyy4ykwcg4pk"; depends=[bitops]; };
-  igraph = derive { name="igraph"; version="0.7.1"; sha256="1nvb30zjjw861idbd8zap9qqg22k87zdi6qqvjf1s29v7hkx7kq7"; depends=[Matrix]; };
-  igraphdata = derive { name="igraphdata"; version="0.2"; sha256="0hm757fc2snqlav3wx1vdmwy2gr5cskig97c2zlvk88sfwgx4i2m"; depends=[]; };
-  igraphtosonia = derive { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; };
-  IM = derive { name="IM"; version="1.0"; sha256="1f1vr5zfqnanc5xmmlfkjkvxwbyyysi3mcvkg95p8r687a7zl0cx"; depends=[png jpeg bmp]; };
-  Imap = derive { name="Imap"; version="1.32"; sha256="0b4w0mw9ljw6zxwvi0qzb08yq9n169lzgkdcwizrd07x9k9xjxs7"; depends=[]; };
-  imguR = derive { name="imguR"; version="1.0.0"; sha256="0yhlir0qxi6hjmqlmmklwd4vkymc5bzv9id9dlis1fr1f8a64vwp"; depends=[RCurl httr png jpeg]; };
-  IMIS = derive { name="IMIS"; version="0.1"; sha256="09zb48vdj0i3vf8vxrs07xwb9ji27vp2fyvmg6jfq631licsryc2"; depends=[mvtnorm]; };
-  ImpactIV = derive { name="ImpactIV"; version="1.0"; sha256="1bb6gw1h15hscr71hy779k2x5ywzx63ylim3hby02d7fnnj46p58"; depends=[nnet]; };
-  imprProbEst = derive { name="imprProbEst"; version="1.0.1"; sha256="09y8yd9sw0b79ca45ryi7p82vy5s8cx0gg603rlc39lgwcdv45i3"; depends=[inline lpSolve]; };
-  imputeLCMD = derive { name="imputeLCMD"; version="1.0"; sha256="0avgl8wwwsz27z439y415lv4h33af58db084mjr236y1z9sfhdyw"; depends=[tmvtnorm norm]; };
-  imputeMDR = derive { name="imputeMDR"; version="1.1.2"; sha256="0ds5a4wav9vb9z5nji8hv5l76310rd970xf702fd0ckx1sh6rgd7"; depends=[]; };
-  imputeR = derive { name="imputeR"; version="1.0.0"; sha256="18rx70w7xb33m84ifxl3p599js78pa748c9lmlkic6yqrgsabcip"; depends=[caret reshape2 glmnet pls rda Cubist ridge gbm mboost rpart]; };
-  imputeYn = derive { name="imputeYn"; version="1.1"; sha256="12hdx7bwpm4jickpbj7cswjsl6f772ibzaf3d79q24n24ymw576h"; depends=[quadprog emplik mvtnorm]; };
-  in2extRemes = derive { name="in2extRemes"; version="1.0-1"; sha256="0k5qczs54b7bl71my8xmnqly91g7c5skj0lm2g8dk4hgrx6wwsrf"; depends=[extRemes]; };
-  inarmix = derive { name="inarmix"; version="0.4"; sha256="11a1vaxq22d5lab07jp5pw0znkaqj6bmkn6vsx62y6m4mmqk04yr"; depends=[Matrix Rcpp]; };
-  incReg = derive { name="incReg"; version="1.0"; sha256="1kckx64hn8g9wvjg7g9xild5hclim1rs7z2m7rgmbdwlbayxpwgv"; depends=[car]; };
-  IndependenceTests = derive { name="IndependenceTests"; version="0.2"; sha256="04qfh2mg9xkfnvp6k7w1ip4rb663p3pzww9lyprcjvr3hcac7gqa"; depends=[xtable]; };
-  indicspecies = derive { name="indicspecies"; version="1.7.2"; sha256="1spf70a42kc5yg62zi9a2dvdyh5npc67bcln4zqcg7dyachw3f2n"; depends=[permute sp rgeos]; };
-  ineq = derive { name="ineq"; version="0.2-13"; sha256="09fsxyrh0j7mwmb5hkhmrzgcy7kf85jxkh7zlwpgqgcsyl1n91z0"; depends=[]; };
-  InfDim = derive { name="InfDim"; version="1.0"; sha256="0rh3ch0m015xjkxy08vf9pc6q7azjc6sgicd2j6cwh611pqq39wq"; depends=[]; };
-  inference = derive { name="inference"; version="0.1.0"; sha256="0j92isfkbhk13yx2hd3a5dd7ikcbgjc04zisd1n5kmg6ajw2aj6r"; depends=[sandwich]; };
-  InferenceSMR = derive { name="InferenceSMR"; version="1.0"; sha256="13d3v8kyk6br33659jgql6j1nqmnd8zszqrwfw2x3khkiqzgdmhk"; depends=[survival]; };
-  inflection = derive { name="inflection"; version="1.1"; sha256="1nb1pf07c371vwgplfyjs3q1iqgb5hyk9czxqrjiy18g8p7zdln2"; depends=[]; };
-  influence_ME = derive { name="influence.ME"; version="0.9-4"; sha256="1smvhr72vnds20x71986idk6rak69g28dddlf9g2ivg0ajkji5q9"; depends=[lme4 Matrix lattice]; };
-  influence_SEM = derive { name="influence.SEM"; version="1.4"; sha256="1grsnp8xwmhh9qx0yc5fy8b3g4i4cfqbg6sfzbmn39si2z34wrxw"; depends=[lavaan]; };
-  infoDecompuTE = derive { name="infoDecompuTE"; version="0.5.1"; sha256="1aigd1fvpdqjplq1s1js0sy8px68q73lbp5q591rn52c77smdhaj"; depends=[MASS]; };
-  informR = derive { name="informR"; version="1.0.04"; sha256="0s40hlilk8fjld2m43f2m50a3764qgnv07y5jwv60a8d0nf4gpa2"; depends=[abind relevent]; };
-  infotheo = derive { name="infotheo"; version="1.2.0"; sha256="18xacczfq3z3xpy434js4nf3l19lczngzd0lq26wh22pvg1yniwv"; depends=[]; };
-  infutil = derive { name="infutil"; version="1.0"; sha256="02d0hfbkdqjj0lm1fzwwxy60831kbcjn2m4rfblpib0krkbpz72n"; depends=[ltm]; };
-  INLABMA = derive { name="INLABMA"; version="0.1-5"; sha256="1z5mwibgrc0hrwjq70pm49l5ppcwwm5z4slc1madr291w37awi51"; depends=[Matrix spdep]; };
-  inline = derive { name="inline"; version="0.3.13"; sha256="1dijlcnm7wfd6jgy6wsj6imwg43f91cl7iiz5j2jhhavw2pczr62"; depends=[]; };
-  inlinedocs = derive { name="inlinedocs"; version="2013.9.3"; sha256="13vk6v9723wlfv1z5fxmvxfqhaj68h0x3s2qq9j6ickr4wakb4ar"; depends=[]; };
-  InPosition = derive { name="InPosition"; version="0.12.7"; sha256="1f7xb2kxikmja4cq7s1aiwhdq27zc6hghjbliqqpm8ci8860lb8p"; depends=[prettyGraphs ExPosition]; };
-  insideRODE = derive { name="insideRODE"; version="2.0"; sha256="1ffndk8761cpkririb3g1qsq9nwmh82lcrpql9i5fksdprvdjzcw"; depends=[deSolve nlme lattice]; };
-  insol = derive { name="insol"; version="1.1.1"; sha256="0zbawkp4qb0kqb7y9ibiyy8sa9rfgbzwmcdswx6s87p0h7brrqn6"; depends=[]; };
-  intamap = derive { name="intamap"; version="1.3-37"; sha256="17l1bifks0vsk0a3bj2g4w8qrvhmdh0p145kmd09223x9yc4mc9v"; depends=[sp gstat automap mvtnorm MASS evd]; };
-  intamapInteractive = derive { name="intamapInteractive"; version="1.1-10"; sha256="073k6sdds40fmlbw1xnp3x5sc9qdyq2s1bhp7av4jjm930hsvsrn"; depends=[intamap spcosa spatstat automap gstat]; };
-  intcox = derive { name="intcox"; version="0.9.3"; sha256="1m1lzmymh2pk570k6nxq3nj7wxkvs1s3nvz8cb456fnv72ng8fap"; depends=[survival]; };
-  integrOmics = derive { name="integrOmics"; version="2.55"; sha256="1c9vkhvnndhs3h9qzcg3pvizjk9rhgk8gccaxh33spgr4rql8vcw"; depends=[]; };
-  Interact = derive { name="Interact"; version="1.1"; sha256="1g9zhafdpr7j410bi8p03d8x9f8m3n329x8v01yk15f65fp7pl1d"; depends=[]; };
-  InteractiveIGraph = derive { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; };
-  interAdapt = derive { name="interAdapt"; version="0.1"; sha256="06ki36l1mrnd9lbm696a6gapr488dz8na4wvl9y1fif9hfv4zk25"; depends=[shiny knitcitations RCurl mvtnorm knitr]; };
-  intergraph = derive { name="intergraph"; version="2.0-0"; sha256="0y5cd7y08p86fxm4zqraj81sj5a5h7725wvzcyxd8p1q3ky2sj9f"; depends=[network igraph]; };
-  Interpol = derive { name="Interpol"; version="1.3.1"; sha256="1598lnnrcxihxysdljphqxig15fd8z7linw9byjmqypwcpk6r5jn"; depends=[]; };
-  Interpol_T = derive { name="Interpol.T"; version="2.1.1"; sha256="1fbsl1ypkc65y6c0p32gpi2a2aal8jg02mclz7ri57hf4c1k09gz"; depends=[date chron]; };
-  InterVA4 = derive { name="InterVA4"; version="1.4"; sha256="06yq0zfpakw4ifg8i5jazsbh6k62ksnpw7b02kyc2phi67gvj84k"; depends=[]; };
-  interval = derive { name="interval"; version="1.1-0.1"; sha256="1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"; depends=[survival perm MLEcens]; };
-  intervals = derive { name="intervals"; version="0.14.0"; sha256="0hqifkb8pbx0v42z3s78nm38b3ixi0vycq8kba4mv3w8v7zcfbxb"; depends=[]; };
-  interventionalDBN = derive { name="interventionalDBN"; version="1.2.2"; sha256="0wpp4bfi22ncvl0vdivniwwvcqgnpifpgxb4g5jbyvr0z735cd9w"; depends=[]; };
-  IntLik = derive { name="IntLik"; version="1.0"; sha256="13ww5bsbf1vnpaip0w53rw99a8hxzziibj7j66cm31jmi8l6fznf"; depends=[maxLik]; };
-  intpoint = derive { name="intpoint"; version="1.0"; sha256="0zcv64a0clgf1k3ylh97q1w5ddrv227846gy9a68h6sgwc0ps88b"; depends=[]; };
-  inTrees = derive { name="inTrees"; version="1.1"; sha256="1b88zy4rarcx1qxzv3089gzdz1smga6ssj8cxxccyyzci6px85j1"; depends=[RRF arules gbm xtable]; };
-  intReg = derive { name="intReg"; version="0.1-2"; sha256="1sm7v4fnfsdhyqr3q8dms0ifwb00hzf3x1g0fpm7xldlqc3wf6pr"; depends=[maxLik sets sets]; };
-  intRegGOF = derive { name="intRegGOF"; version="0.85-1"; sha256="0fyvhl6jmi6krfbimsq61dhixlz9h9jxk4yjvwbx2vl8d9fnnr54"; depends=[]; };
-  introgress = derive { name="introgress"; version="1.2.3"; sha256="1j527gf7pmfy5365p2j2jbxq0fb0xh2992hj4d7dxapn4psgmvsk"; depends=[nnet genetics RColorBrewer]; };
-  intsvy = derive { name="intsvy"; version="1.3"; sha256="0743kn95njgv31yhl21h35k9fv78czdw3w669wsvzf35gasxak3y"; depends=[memisc foreign plyr]; };
-  InventorymodelPackage = derive { name="InventorymodelPackage"; version="1.0.2"; sha256="1w35idsagl9v93ci3qmal3xbf11sy6h1k7xnv25c59ivfnpjpkva"; depends=[e1071]; };
-  investr = derive { name="investr"; version="1.1.0"; sha256="1r01dk2xkg2j56xig7yrczbks2kllcszwdj9ih3xxxk16hgb1cgd"; depends=[]; };
-  invGauss = derive { name="invGauss"; version="1.1"; sha256="0l93pk2sh74dd6a6f3970nval5p29sz47ynzqnphx0wl3yfmmg9c"; depends=[survival optimx]; };
-  io = derive { name="io"; version="0.1"; sha256="1yvyxp45y1v1lrksga5gfjqb2w509l3v817830ya5f740h517l74"; depends=[]; };
-  ipdmeta = derive { name="ipdmeta"; version="2.4"; sha256="0k9wqpmrvqdh73brmdzv86a2dbyddjyyyqzqgp1vqb3k48k009s2"; depends=[nlme]; };
-  ipdw = derive { name="ipdw"; version="0.2-1"; sha256="18qvw635dy9ddz16nn0j4s0n97nbyw7yb4a8v1m0f5v9prggj7py"; depends=[gdistance raster]; };
-  ipfp = derive { name="ipfp"; version="1.0"; sha256="1hpfbgygnpnl3fpx7zl728jyw00y3kbbc5f0d407phm56sfqmqwi"; depends=[]; };
-  iplots = derive { name="iplots"; version="1.1-7"; sha256="052n8jdhj8gy72xlr23dwd5gqycqnph7s1djg1cdx2f05iy693y6"; depends=[rJava png]; };
-  IPMpack = derive { name="IPMpack"; version="2.1"; sha256="08b79g5a9maxnxladvc2x2dgcmm427i8p6hhgda3mw2h5qmch2q3"; depends=[Matrix MASS nlme]; };
-  ipred = derive { name="ipred"; version="0.9-3"; sha256="07mw1mdlczlpy232n2sacwncdjcsn6mv7rrzk9xvl2g85pn3bhjl"; depends=[rpart MASS survival nnet class prodlim]; };
-  IPSUR = derive { name="IPSUR"; version="1.5"; sha256="0brh3dx7m1rilvr1ig6vbi7p13bfbblgvs8fc114f08d90fczwnq"; depends=[]; };
-  IQCC = derive { name="IQCC"; version="0.6"; sha256="0gsnkdl4cfxzq6pm9g4i1g23mxg108j3is4x69id1xn2plf92m04"; depends=[qcc MASS micEcon miscTools]; };
-  iqLearn = derive { name="iqLearn"; version="1.2"; sha256="160nl63bxr9ira7v89ags9fm7zd5v09h1820i8bq5wxxfcyjarja"; depends=[]; };
-  irace = derive { name="irace"; version="1.05"; sha256="0192i7mv9yibvjv140iapa4qjqyv87kdw76csmwsjlgs3yrr228h"; depends=[]; };
-  iRefR = derive { name="iRefR"; version="1.13"; sha256="17kjfga62xc4s1kii5clxszbag2dr1dyxfm7jasr20prx28ya6pp"; depends=[igraph]; };
-  iRegression = derive { name="iRegression"; version="1.2"; sha256="1fn25xnrvgx2ayhss136rxn1h3c9pvq2gmb5kbp92vsf07klvh6v"; depends=[mgcv]; };
-  iRepro = derive { name="iRepro"; version="1.0"; sha256="1knncn47pl411r31z1r5ipsiyagcpjbc2gb972n7l3539pcpf0zy"; depends=[]; };
-  irlba = derive { name="irlba"; version="1.0.3"; sha256="1h2ymk9hg9xj2075w715742j23jl7kqa4cgzl1jvr48gcysq5byy"; depends=[Matrix]; };
-  irr = derive { name="irr"; version="0.84"; sha256="0njxackqj8hyf9j1yszwxbnaxgp27fc2bwyyf7dip72wc12f81n5"; depends=[lpSolve]; };
-  irtoys = derive { name="irtoys"; version="0.1.7"; sha256="11nz675haigs6vg08qjibs8yccy2pbz0b9r8761fs8gw3n7bpfz4"; depends=[sm ltm]; };
-  irtProb = derive { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; };
-  irtrees = derive { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; };
-  isa2 = derive { name="isa2"; version="0.3.3"; sha256="0czviglmbb7hmhghrg4hla4xhbjr98a5ivqkbq70rnfmqzffcxcz"; depends=[]; };
-  ISBF = derive { name="ISBF"; version="0.2"; sha256="0vhxazbm56pli8m931l1kkica4spf50yclr3yhbwx3539775421a"; depends=[]; };
-  iScreen = derive { name="iScreen"; version="1.0"; sha256="09iyimzrx7510xamhl6w1f7p6j096wh5yck9zgwbk87mvabqynmg"; depends=[maptree]; };
-  isdals = derive { name="isdals"; version="2.0-1"; sha256="0r4dwfz18aai38wg213pn3gny9sh42nm19p6swxmzrkrigiwy4qa"; depends=[]; };
-  ISDA_R = derive { name="ISDA.R"; version="1.0"; sha256="0w6p2iy6s7fy8pw2cf4b5zhqcgjjwd5bkax1aqflaaj4ppmfx64v"; depends=[scatterplot3d]; };
-  IsingFit = derive { name="IsingFit"; version="0.2.0"; sha256="03858wnz9si8r9qlwg5hx0xai4kfn6nnh0mfmias6f5wkgjj0niv"; depends=[qgraph Matrix glmnet]; };
-  isingLenzMC = derive { name="isingLenzMC"; version="0.2.1"; sha256="1g1rz8p9vw2jnx6qw9mb614fpkv5bd7cndwcz0mva33y5shhnibl"; depends=[]; };
-  IsingSampler = derive { name="IsingSampler"; version="0.1.1"; sha256="068fy16fw2ja25mllyw4z3bn17pxdq17zg75zwlwmljds6psa1gk"; depends=[Rcpp plyr]; };
-  ISLR = derive { name="ISLR"; version="1.0"; sha256="0gmhvsivhpq3x8a240lgcbv1qzdgf6wxms4svak1501clc87xc6x"; depends=[]; };
-  ismev = derive { name="ismev"; version="1.39"; sha256="0z5pam5lq72jv13gy40l35nvpk5hfcg3sq14mwhjqd129670gjbv"; depends=[mgcv]; };
-  Iso = derive { name="Iso"; version="0.0-15"; sha256="18ig772xxsbj1vhrv7b20hrglnnz742s1mjzhwx02bpjhica4a46"; depends=[]; };
-  IsoCI = derive { name="IsoCI"; version="1.1"; sha256="0r7ksfic6p2v95c953s4gbzzclk4ldxysm8szb8xba1w0nx2izil"; depends=[KernSmooth]; };
-  isocir = derive { name="isocir"; version="1.1-3"; sha256="1bx68n9wyfs2dcgph66rsy0jw8hjkl5kw212l0563kz3m1nik9sr"; depends=[circular combinat]; };
-  ISOcodes = derive { name="ISOcodes"; version="2014.03.24"; sha256="0a6ap9a5h88c6iqzlqfalcg1fwm9x7rm3c8z9vwxfw6jrjs6v2cp"; depends=[]; };
-  IsoGene = derive { name="IsoGene"; version="1.0-22"; sha256="097xxgqdk2j7y22qflrgss9pgbyg01rcw5088b43pbv3sc85fqcs"; depends=[Iso xtable ff]; };
-  isopam = derive { name="isopam"; version="0.9-12"; sha256="16zkw6y57i46w6v6z8zh0p2mapqry35ibl54vpb5mwp6six2hklk"; depends=[vegan cluster]; };
-  isopat = derive { name="isopat"; version="1.0"; sha256="0fznvgycyd35dh7pbq1xhp667gsficlmycn5pcrqcbs89069xr1s"; depends=[]; };
-  isotone = derive { name="isotone"; version="1.0-1"; sha256="1miq1d35kl5br8jl0lv2jjn8nbhjzy92lqd4jzgi374g7cxyclp1"; depends=[]; };
-  isotonic_pen = derive { name="isotonic.pen"; version="1.0"; sha256="1lgw15df08f4dhrjjfr0jqkcvxwad92kflj2px526pcxwkj7cj3i"; depends=[coneproj Matrix]; };
-  IsotopeR = derive { name="IsotopeR"; version="0.4.7"; sha256="18gwmh4nprj4z0ar1w8npj2ymxihw5ydwa33g25mimjk8y2cs0x5"; depends=[coda fgui runjags]; };
-  ISOweek = derive { name="ISOweek"; version="0.6-2"; sha256="1f1h8pgjaa14cvaj8ldl87b4vslxwvyfj46m0hkylwp73sv3g2mm"; depends=[stringr]; };
-  isva = derive { name="isva"; version="1.8"; sha256="09mrvvk09j460dzi45z8hwdpmibfshsii5dcp38g13czr40d48na"; depends=[fastICA]; };
-  ISwR = derive { name="ISwR"; version="2.0-6"; sha256="1ms4lm1skfqaq4mnm03kvjb7kaxdzv72s6i77zp7z17gzfa40c9h"; depends=[]; };
-  iteRates = derive { name="iteRates"; version="3.1"; sha256="1dycmlm3vldc60wz2jjdfbla14383911zfahgal5mx8whxwq95c5"; depends=[partitions VGAM MASS ape apTreeshape geiger gtools]; };
-  iterators = derive { name="iterators"; version="1.0.7"; sha256="1zwqawhcpi95fx4qqj4cy31v5qln2z503f7cvv9v5ch3ard4xxqv"; depends=[]; };
-  iterLap = derive { name="iterLap"; version="1.1-2"; sha256="0ixh9aw115496ib0iswfsj97rjcd2f02z116dg57vl9hhzh28f13"; depends=[quadprog randtoolbox]; };
-  iterpc = derive { name="iterpc"; version="0.2.5"; sha256="1sqb4d3whljmvbik9a0xc1chna8jbshpidzb2xjxsm0h66lavxki"; depends=[Rcpp polynom]; };
-  itertools = derive { name="itertools"; version="0.1-3"; sha256="1ls5biiva10pb1dj3ph4griykb9vam02hkrdmlr5a5wf660hg6xn"; depends=[iterators]; };
-  itertools2 = derive { name="itertools2"; version="0.1.1"; sha256="0yra3x9ddvn5pp3jibm69205zazv81bz0cflw4mdvxpqadaf9f96"; depends=[iterators]; };
-  itree = derive { name="itree"; version="0.1"; sha256="164zgr142hcp9plnbccs6m823p4m0prk73bvp54bc7bqnqmc3d9a"; depends=[]; };
-  its = derive { name="its"; version="1.1.8"; sha256="1g9qmdrw7qiw0xiryf7bf5m9prrba7r11jyzprzdglc1akizav8a"; depends=[Hmisc]; };
-  itsmr = derive { name="itsmr"; version="1.5"; sha256="0l9m5is6d6pkpfkihx0jir5iv8zmqqav8vh9bkkpqv5iz61p4kxb"; depends=[]; };
-  IUPS = derive { name="IUPS"; version="1.0"; sha256="01pv03ink668fi2vxqybli0kgva13gxhqfdxkwz6qk5rnpzwvf5w"; depends=[R2jags Matching boot]; };
-  ivbma = derive { name="ivbma"; version="1.02"; sha256="0ay7ghrygllpgh7cagrk1f56hxw1s1wfv4bap78javiyj6jgwfzy"; depends=[]; };
-  ivfixed = derive { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; };
-  ivivc = derive { name="ivivc"; version="0.2.0"; sha256="0dsmdhy8iv96xvlm734vh16gva10gh9dij9vqlnj6l782cffs04w"; depends=[reshape sciplot png deSolve minpack_lm]; };
-  ivlewbel = derive { name="ivlewbel"; version="1.1"; sha256="0ykcfikm2i28s3fm6zzx8cjvpwhksg8an0rfr0b35gf7p69brgag"; depends=[gmm plyr lmtest]; };
-  ivpack = derive { name="ivpack"; version="1.1"; sha256="058g73n3gbpwdav4n78n1wfskfp518wkk220a55x5h82i77a5n6a"; depends=[AER sandwich lmtest]; };
-  iWeigReg = derive { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; };
-  iwtp = derive { name="iwtp"; version="1.0.0"; sha256="1q3nrp526kzkz74vjxvzm6dgdwlsmx7n034a06sqw210z9mqw3dr"; depends=[survival]; };
-  jaatha = derive { name="jaatha"; version="2.5"; sha256="06p04lbxkxg3lbs5idg27iknhkz5j6mcv1mjd4bnxpfcmhhcl4k3"; depends=[phyclust Rcpp reshape2]; };
-  jackknifeKME = derive { name="jackknifeKME"; version="1.0"; sha256="1vkxp6z4fb73azndk6iis2ckv3ch5c5lrpf5x4ah56z3wd785v9v"; depends=[imputeYn survival]; };
-  jackstraw = derive { name="jackstraw"; version="1.0"; sha256="1irfzivy7c9fb2pr98flx05s5hkk6sid1hkd5b3k9m9mgs6ixbfy"; depends=[corpcor]; };
-  JADE = derive { name="JADE"; version="1.9-91"; sha256="142a7cq2rpl746m1lcsr5da50zhc0zddxzc8dxddc87qszf920jw"; depends=[clue]; };
-  JASPAR = derive { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; };
-  JavaGD = derive { name="JavaGD"; version="0.6-1"; sha256="13n6xzbbjgd0bpwv2xgm3dlscg87wh32q6fcq50kk6byp6yv05sc"; depends=[]; };
-  JBTools = derive { name="JBTools"; version="0.7.2.6"; sha256="1wpkv8841kzpw2iqacp6k0y182lsvfl1ri54aq1hg4ypb51b8ibb"; depends=[foreach gplots colorspace plotrix]; };
-  JGL = derive { name="JGL"; version="2.3"; sha256="1351iq547ln06nklrgx192dqlfnn03hkwj3hrliqzfbmsls098qc"; depends=[igraph]; };
-  JGR = derive { name="JGR"; version="1.7-16"; sha256="0iv659mjsv7apzpzvmq23w514h6yq50hi70ym7jrv948qrzh64pg"; depends=[rJava JavaGD iplots]; };
-  JM = derive { name="JM"; version="1.3-0"; sha256="0yn33dvy9kp7xaxlqk11f86qaichdcxpmq04gpnbcs8w8cdjjz3m"; depends=[MASS nlme survival]; };
-  JMbayes = derive { name="JMbayes"; version="0.6-1"; sha256="1zshy4v7jj3r1vcp9yrw1jj5abmc8wkglsxdb5v6rpmk4xwhvvcq"; depends=[MASS nlme survival]; };
-  Jmisc = derive { name="Jmisc"; version="0.3.1"; sha256="1szn29dng54l2xmrm6pg3d5rmwdc1ks23vsnsmplnr5rx7yj002s"; depends=[]; };
-  Johnson = derive { name="Johnson"; version="1.4"; sha256="12ajcfz5mwxvimv8nq683a2x3590gz0gnyviviyzf5x066a4q0lj"; depends=[]; };
-  JohnsonDistribution = derive { name="JohnsonDistribution"; version="0.24"; sha256="00211pa2wn4bsfj6wfl9q9g123cp8iz3kxc17pw9q65j9an4sr0m"; depends=[]; };
-  joineR = derive { name="joineR"; version="1.0-3"; sha256="0q98nswbxk5dz8sazzd66jhlg7hv5x7wyzcvjc6zkr6ffvrl8xj7"; depends=[nlme MASS boot survival lattice statmod gdata]; };
-  jointDiag = derive { name="jointDiag"; version="0.2"; sha256="0y1gzrc79vahfhn4jrj5xys8pmkzxj4by7361730gi347f0frs0a"; depends=[]; };
-  jointPm = derive { name="jointPm"; version="2.3.1"; sha256="1c2cn9sqwfyv9ksd63w8rrz0kh18jm2wv2sfdkgncjb7vfs4hbv9"; depends=[]; };
-  JointRegBC = derive { name="JointRegBC"; version="0.1.1"; sha256="0w7ygs3pvlqkkb2x20kv20kda3gz7cn6zgrkg30nhjxp318d76ab"; depends=[nlme MASS survival]; };
-  JOP = derive { name="JOP"; version="3.6"; sha256="1kpb1dy2vm4jgzd3h0qgdw53nfp2qi74hgq5l5inxx4aayncclk7"; depends=[Rsolnp dglm]; };
-  JoSAE = derive { name="JoSAE"; version="0.2.2"; sha256="1ag4qg9cfcg8i2xz79bza2qlw3azw33h7k2ip5nlfkfpd33l9w05"; depends=[nlme]; };
-  jpeg = derive { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; };
-  JPSurv = derive { name="JPSurv"; version="1.0.1"; sha256="11hfji0nyfmw1d7y2cijpp7ivlv5s9k8g771kmgwy14wflkyf7g2"; depends=[]; };
-  jSonarR = derive { name="jSonarR"; version="1.0"; sha256="1369v79y2679p1c1s6pfi0zdj21zbbln3a4gqsxivx82m0lwqprp"; depends=[RCurl]; };
-  jsonlite = derive { name="jsonlite"; version="0.9.10"; sha256="0w49mv4fabzgc86gv2jn9apwf9k6bk1s1p3mjmaxpmw95wgjpc9r"; depends=[]; };
-  jtrans = derive { name="jtrans"; version="0.1"; sha256="1wcrjyifsnpk9jfmwc1cx30qp5vavwl87i0avbbls8cmji7z0nay"; depends=[]; };
-  JudgeIt = derive { name="JudgeIt"; version="1.5.1"; sha256="1jssz1x9gw9hjpqlqbvlxa99icl8gffzl6qya0cnaxr50p82hdag"; depends=[]; };
-  Julia = derive { name="Julia"; version="1.0"; sha256="0df72mjkfsaz7wbrg3l6fcypwm59hdxxndjv1b833xa4qpq5301g"; depends=[]; };
-  jvmr = derive { name="jvmr"; version="2.11.1.1"; sha256="18hb0pwyrgnrs16w4hl44i401604qfj0hwv2fggm8s21qxb35x9x"; depends=[rJava]; };
-  KANT = derive { name="KANT"; version="1.0"; sha256="0k5i1fwbmc1cg9p2zi94npkdn12lm92d7y8ncqnn64dr8ypxh2h5"; depends=[]; };
-  KappaGUI = derive { name="KappaGUI"; version="1.1"; sha256="1fyx23i6j18q6swazwy2l70lg2933akh4d0k6dzvfjxrai7fvi7y"; depends=[irr]; };
-  kappalab = derive { name="kappalab"; version="0.4-6"; sha256="0dmzy0d7azzfpnzbf8b7a6zgmmfwzfiybz8610asajyfsj36gszl"; depends=[lpSolve quadprog kernlab]; };
-  kappaSize = derive { name="kappaSize"; version="1.1"; sha256="0jrjal8cvy2yg0qiyilmv3jl3ib5k9jg8gp2533kdsx4m0sack04"; depends=[]; };
-  KappaV = derive { name="KappaV"; version="0.3"; sha256="13mmfb8ijpgvzfj20andqb662950lp9g25k5b26r5ba65p7nhva7"; depends=[PresenceAbsence maptools rgeos sp]; };
-  kaps = derive { name="kaps"; version="1.0-0"; sha256="19dwvlvpm8naisch2c8265rm178jixc6klqf7ilsrz6wi5r119x5"; depends=[survival Formula coin]; };
-  KATforDCEMRI = derive { name="KATforDCEMRI"; version="0.740"; sha256="1k8fihd9m26k14rvc5d5x0d9xc3mh8d49hs64p55np1acqfhg2sy"; depends=[locfit R_matlab matlab]; };
-  kcirt = derive { name="kcirt"; version="0.6.0"; sha256="1gm3c89i5dq7lj8khc12v30j1c0l1gwb4kv24cyy1yw6wg40sjig"; depends=[mvtnorm snowfall corpcor]; };
-  kdetrees = derive { name="kdetrees"; version="0.1.5"; sha256="1plf2yp2vl3r5znp5j92l6hx1kgj0pzs7ffqgvz2nap5nf1c6rdg"; depends=[ape distory ggplot2]; };
-  kedd = derive { name="kedd"; version="1.0.0"; sha256="1llc8hqbrp1r75b28z889nik047y400g2h05a7cjaq0r2qxbcqx1"; depends=[]; };
-  kelvin = derive { name="kelvin"; version="1.2-2"; sha256="0fl2yxc0dpmkhq3f7711gd08i7jlzlfncin1d6q251dfnmwd7rzf"; depends=[Bessel]; };
-  Kendall = derive { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; };
-  kequate = derive { name="kequate"; version="1.4.0"; sha256="0vr45y4f6x3080pf3k53nifavf8mfhikz54nis66c53fs9rp0jwf"; depends=[ltm equateIRT]; };
-  kerdiest = derive { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[date chron evir]; };
-  kernelFactory = derive { name="kernelFactory"; version="0.2.0"; sha256="1ihghqrrndgif6kh6n0f4g3bfy5miskn3mk5ynxfcnnrfvp9h3xj"; depends=[randomForest AUC genalg kernlab]; };
-  kernlab = derive { name="kernlab"; version="0.9-19"; sha256="0caqp5dp1irhwpq8lyram35r8x16qlfp6f5wzqyi5rzcz27d03sg"; depends=[]; };
-  KernSmooth = derive { name="KernSmooth"; version="2.23-12"; sha256="0jlpfaf8wqa9hq7scdmgfhkvr5hi61di54slkzskg0pr7c28rlqh"; depends=[]; };
-  KernSmoothIRT = derive { name="KernSmoothIRT"; version="6.1"; sha256="1hq4sykddh9sg24qrnccii89nqxmq7hnldhn8wl6y62aj0h1nrqm"; depends=[Rcpp plotrix rgl]; };
-  KFAS = derive { name="KFAS"; version="1.0.4-1"; sha256="0s9mrqb1mvs77z57hx734kajbyqddcc9j20wrsmrbf8g97in61s7"; depends=[]; };
-  KFKSDS = derive { name="KFKSDS"; version="1.5"; sha256="0wahqli7j851kdqi29b059gb2zm0x00fq08sixvlrcbdf3irlv3m"; depends=[]; };
-  kimisc = derive { name="kimisc"; version="0.2-1"; sha256="1nbhw1q0p87w4z326wj5b4k0xdv0ybkgcc59b3cqbqhrdx8zsvql"; depends=[plyr]; };
-  kin_cohort = derive { name="kin.cohort"; version="0.6"; sha256="13gnjk58m5kya9wj87klwm6h7cdqi61ba6y0cg9k1hgbc1ajy3s8"; depends=[survival]; };
-  kinfit = derive { name="kinfit"; version="1.1.12"; sha256="1vh64k244lk8x7223dr29ds0qnhw7c7xdmrk86vhwshlzb8x712y"; depends=[]; };
-  kinship2 = derive { name="kinship2"; version="1.6.0"; sha256="06f544yk61i1xq0rm0r5gpzwfl6rvzyg7gz8z86bjyxg0z44h3vy"; depends=[Matrix quadprog]; };
-  kintone = derive { name="kintone"; version="0.1.1"; sha256="13c82vkapks9j2crrb4awnhl60ld8b1r7xmy9yv4zzch868kcl5g"; depends=[RCurl rjson]; };
-  kitagawa = derive { name="kitagawa"; version="2.1-0"; sha256="1ddyd0rwwmdpbq823qass5dlp2lvi9d64wpl61ik6fghms2p9ryr"; depends=[kelvin]; };
-  kknn = derive { name="kknn"; version="1.2-5"; sha256="0c1qnn1lnypjybk2p0dpfrg6hzxflzbwmjb5biq45r57bzji7im7"; depends=[igraph Matrix]; };
-  klaR = derive { name="klaR"; version="0.6-12"; sha256="10nkqb1zradbvifgv1fm373mhyydgdjjgmnw2442a2lark59z3vs"; depends=[MASS combinat]; };
-  klausuR = derive { name="klausuR"; version="0.12-5"; sha256="1agd432ihljww3bhm73lqdvgkd8w99jqr7fp5xwwav7mawwsirfj"; depends=[xtable psychometric]; };
-  klin = derive { name="klin"; version="2007-02-05"; sha256="0j0hr4bppzk754a66q5z42h7jzfavqpxgl7y266804aginfqm1ax"; depends=[Matrix]; };
-  kmc = derive { name="kmc"; version="0.1-2"; sha256="16lv8wk24cp91qg5202zhfmdhg83qw8bwiycknaml5ki820ffdlx"; depends=[rootSolve emplik Rcpp]; };
-  km_ci = derive { name="km.ci"; version="0.5-2"; sha256="1l6kw8jppaa1802yc5pbfwwgac56nhwc9p076ivylhms4w7cdf8v"; depends=[survival]; };
-  kmconfband = derive { name="kmconfband"; version="0.1"; sha256="10n5w8k57faqcclwshs4m66i2i5b70i6f3xq5nqlgsi2ldkysbc9"; depends=[survival]; };
-  kmi = derive { name="kmi"; version="0.5"; sha256="13m9kxbyph24njp28r122gry03rpkp26ldilhjc4rnixczvnhzwi"; depends=[survival mitools]; };
-  Kmisc = derive { name="Kmisc"; version="0.5.0"; sha256="0pbj3gf0bxkzczl6k4vgnxdss2wmsffqvcf73zjwvzvr8ibi5d95"; depends=[Rcpp data_table lattice knitr markdown]; };
-  kml = derive { name="kml"; version="2.2"; sha256="1g8wgmvs31r3hp7y8n9pkxc9qy5fxvb3nicmzgacmghaiwbwc8g3"; depends=[clv longitudinalData]; };
-  kml3d = derive { name="kml3d"; version="2.2"; sha256="1n94kfi49rgb9149bgc9043f0y5xpaclmfjr8fkwairqz5nnmgbv"; depends=[clv rgl misc3d longitudinalData kml]; };
-  kmlcov = derive { name="kmlcov"; version="1.0.1"; sha256="09s9ganfsnwp22msha78g6pjr45ppyfyqjf6ci64w3w15q5qlcd9"; depends=[]; };
-  KMsurv = derive { name="KMsurv"; version="0.1-5"; sha256="0hi5vvk584rl70gbrr75w9hc775xmbxnaig0dd6hlpi4071pnqjm"; depends=[]; };
-  knitcitations = derive { name="knitcitations"; version="1.0-1"; sha256="0zlgia03r7am1ahbkraxqzsl649x1iidxq5s1jf1c8jkgfdjgicm"; depends=[RefManageR digest httr]; };
-  knitr = derive { name="knitr"; version="1.6"; sha256="0r34ras0csvm73z6j4f606pi387mjn4dz91djkx1j6fpk5rx1f68"; depends=[evaluate digest formatR highr markdown stringr]; };
-  knitrBootstrap = derive { name="knitrBootstrap"; version="0.9.0"; sha256="1cw5dvhjiypk6847qypxphfl9an54qjvd6qv029znhwijsg56mmg"; depends=[knitr markdown]; };
-  knnGarden = derive { name="knnGarden"; version="1.0.1"; sha256="1gmhgr42l6pvc6pzlq5khrlh080795b0v1l5xf956g2ckgk5r8m1"; depends=[cluster]; };
-  knnIndep = derive { name="knnIndep"; version="1.0"; sha256="13iav0db8qmbmnf7hxmbvcyb0d76wyd05ib8mfzmgsdcpdkn4f72"; depends=[]; };
-  kobe = derive { name="kobe"; version="1.3.2"; sha256="1z64jwrq6ddpm22cvk2swmxl1j7qyz0ddk3880c7zfq6gk7f9bxl"; depends=[plyr reshape ggplot2 MASS emdbook coda]; };
-  kohonen = derive { name="kohonen"; version="2.0.15"; sha256="1mamn6lwnd54jw7bbxgrxj511abn9wg5rxrm9fac7jndf00kjaim"; depends=[class MASS]; };
-  kolmim = derive { name="kolmim"; version="0.2"; sha256="1cq1miny83shxas4zijcbzcnxv29vjyxj3pip8brf52sjvrj4max"; depends=[]; };
-  KoNLP = derive { name="KoNLP"; version="0.76.9"; sha256="1q72irl4izb7f5bb99plpqnmpfdq4x4ymp4wm2bsyfjcxm649ya8"; depends=[rJava stringr hash tau Sejong]; };
-  koRpus = derive { name="koRpus"; version="0.05-5"; sha256="03rw0yb67y652j8hcr5m4c0py0rr3gp87y0hdxpypd81rkikwhfm"; depends=[]; };
-  Kpart = derive { name="Kpart"; version="1.1"; sha256="1cyml48i1jvwy4xzymijwraqpnssnkrd81q3m7nyjd5m2czjvihv"; depends=[leaps]; };
-  kriging = derive { name="kriging"; version="1.0.1"; sha256="0ppkhjrz09x4b8syp6j2xjdv5gi4mjkvnqdfxv3pqcm3c7zqfdrs"; depends=[]; };
-  KrigInv = derive { name="KrigInv"; version="1.3"; sha256="1zgrx0rmcaf3j3igqhvnbzjwh2dm2x5s5l027c7cbrl1rn20im0r"; depends=[DiceKriging rgenoud MASS lhs pbivnorm randtoolbox DiceView]; };
-  KRLS = derive { name="KRLS"; version="0.3-7"; sha256="0dx4b68xx3saqlkbpvvrhxjscl7jr5phwqvjywxsp4qxlr3ysl79"; depends=[]; };
-  krm = derive { name="krm"; version="13.11-03"; sha256="05yy06ib879j1gcgqgljkfw79a3vg2ij71w7zah4ixl7di0301la"; depends=[]; };
-  ks = derive { name="ks"; version="1.9.2"; sha256="05h13g4nla3gvawsb9zf7w8cdylpf7rc6ly6lp5dbsgc9qxha5py"; depends=[KernSmooth misc3d mvtnorm rgl multicool]; };
-  kSamples = derive { name="kSamples"; version="1.0"; sha256="0a4kl6508isjsbv8g7b8g9c2kmai90lwdjn0576i7l4hnqvi532b"; depends=[SuppDists]; };
-  KsPlot = derive { name="KsPlot"; version="1.3"; sha256="1mzpsgzscpv888ipfh9nakhqrgw7rdinb5lwhkjk9yk7ap5lfvs0"; depends=[e1071 caret nnet MASS caTools mda glmnet randomForest mvpart]; };
-  kst = derive { name="kst"; version="0.2-1"; sha256="1wy9cvvln994qgr0p7qa9qs1jd7gjv6ch65gg6i42cf9681m9h65"; depends=[proxy relations sets]; };
-  ktsolve = derive { name="ktsolve"; version="1.1"; sha256="0b5myr093v3qaj9gzbw1w728i5ij418whxxpicj51w657dcy647k"; depends=[]; };
-  ktspair = derive { name="ktspair"; version="1.0"; sha256="1v63982jidxlcf2syahcb29myv34kc790l7lwyfxx9l50ssb812n"; depends=[]; };
-  kulife = derive { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; };
-  kyotil = derive { name="kyotil"; version="2014.4-1"; sha256="1cqbrn860lfh0bsfglmqa3vqv1jfblicfaz2albk31p9hh14hm20"; depends=[]; };
-  kza = derive { name="kza"; version="3.0.0"; sha256="0v811ln9vg7msvks9lpgmdi39p01342yi8fj180aclha3mfk6gfw"; depends=[polynom]; };
-  kzft = derive { name="kzft"; version="0.17"; sha256="1y6almhs1x21cr4bbf5fj3mnhp65ivzs869660cyg70sva853sv7"; depends=[polynom]; };
-  kzs = derive { name="kzs"; version="1.4"; sha256="1srffwfg0ps8zx0c6hs2rc2y2p01qjl5g1ypqsbhq88vkcppx1w9"; depends=[lattice]; };
-  l2boost = derive { name="l2boost"; version="1.0"; sha256="1p0sbvlnax4ba4wjkh3r0bmjs601k590g7bdfk6wxvlj42jxcnkl"; depends=[MASS]; };
-  labdsv = derive { name="labdsv"; version="1.6-1"; sha256="0bcsjznq9w1arv503895060hkri0447fnc49nj4ynry7fi35ci22"; depends=[mgcv MASS]; };
-  labeledLoop = derive { name="labeledLoop"; version="0.1"; sha256="0gq392h0sab8k7k8bzx6m7z5xpdsflldhwbpdf92zbmkbzxsz00m"; depends=[]; };
-  labeling = derive { name="labeling"; version="0.2"; sha256="194awd2j33hk7p368q2npkrggkxd1xi45bj79vd8hc4jj65pzala"; depends=[]; };
-  label_switching = derive { name="label.switching"; version="1.2"; sha256="149np2jqr4vffj1mb7wvnlpj4fhb3gijrdn7qx1m946pf3h13wvv"; depends=[lpSolve combinat]; };
-  labeltodendro = derive { name="labeltodendro"; version="1.3"; sha256="13kpmv26zzjf5iwpr4vs797irplmaixp1agx5v80wr4lvd2hirvg"; depends=[]; };
-  labstatR = derive { name="labstatR"; version="1.0.7"; sha256="1p6xav9cb7yx3n8rkh8xm1jkykf3xw974id49j558hmayq47ad4f"; depends=[]; };
-  laeken = derive { name="laeken"; version="0.4.5"; sha256="1wbdj7wnyapj4wbzsclm1vyyaxid4ww72dv5v2nk64q7fbc56py0"; depends=[boot MASS]; };
-  laercio = derive { name="laercio"; version="1.0-1"; sha256="0la6fxv5k9zq4pyn8dxjiayx3vs9ksm9c6qg4mnyr9vs12z53imm"; depends=[]; };
-  LaF = derive { name="LaF"; version="0.6.1"; sha256="1yg498qzxzx4qpp27rwh854x7vkz8iqmny1pvcy2rvnnb8g0wk24"; depends=[Rcpp]; };
-  laGP = derive { name="laGP"; version="1.1"; sha256="03xpgmab61m160vbcach218njwdkpfqvs19fvcvixvgy3hpa0prc"; depends=[]; };
-  Lahman = derive { name="Lahman"; version="2.0-3"; sha256="0rsjm81yda7z73dvafhbplkp1ly5diwwmls2fgpz3pvr2hc72v1f"; depends=[]; };
-  LakeMetabolizer = derive { name="LakeMetabolizer"; version="1.1"; sha256="0l2l9l2c75cmxpqi2w9cgsad2ffnx6b7wvx6xdx6mkb52kkp9sqy"; depends=[rLakeAnalyzer plyr]; };
-  Lambda4 = derive { name="Lambda4"; version="3.0"; sha256="04ikkflfr0nmy1gr3gfldlh2v8mpl82k1wwnzp57d2kn75m9vbxz"; depends=[]; };
-  lambda_r = derive { name="lambda.r"; version="1.1.6"; sha256="03f3945f9kqj7in1mxk23ai56x68rdyd10c3ki4nqqysshyjr4d4"; depends=[]; };
-  lambda_tools = derive { name="lambda.tools"; version="1.0.3"; sha256="1vd1ms8yzy01wvg4baj2ypyiyy27ck3na9awlmvhdvxc1s459sr7"; depends=[lambda_r]; };
-  LambertW = derive { name="LambertW"; version="0.2.9.9.5"; sha256="06330zdpp2h973j841axd9nqgmy5z8gns1w2anmjw298k164mr6g"; depends=[moments gsl MASS nortest maxLik]; };
-  lancet_iraqmortality = derive { name="lancet.iraqmortality"; version="0.2-0"; sha256="00f467j9lw30r6han9d3gdkyqmkqsr3hq4cvp2mc93qhpprf81cq"; depends=[foreign]; };
-  landsat = derive { name="landsat"; version="1.0.8"; sha256="07zvj1yyryxk7rwgcrf1kl32p2karkkqz6xrnwy1096dg9iw2js7"; depends=[rgdal sp lmodel2 mgcv]; };
-  languageR = derive { name="languageR"; version="1.4.1"; sha256="0grkhdjz9dcrgq6qwv7wpwmckn3mfv022c5wrx29b1dxafd0qzm0"; depends=[]; };
-  lar = derive { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; };
-  LARF = derive { name="LARF"; version="1.1"; sha256="0mlmfd748flxf3cxj3y668azhx9v7wd2cf3c6qj56llmk5fygfbg"; depends=[]; };
-  LargeRegression = derive { name="LargeRegression"; version="1.0"; sha256="05vkd6skqg19bs54vsjf3i4rwz1j3g1gmp9jj8fsnmkds46yr91y"; depends=[Matrix]; };
-  lars = derive { name="lars"; version="1.2"; sha256="0blj44wqrx6lmym1m9v6wkz8zxzbjax2zl6swgdczci0ixb5nx34"; depends=[]; };
-  laser = derive { name="laser"; version="2.4-1"; sha256="1f6j3xdks0w63fqjj9q8ng2m6ss90kcnsrigwal0bqskpvrpiqyz"; depends=[ape geiger]; };
-  lasso2 = derive { name="lasso2"; version="1.2-19"; sha256="0zkwjsd42a6z4gylq9xbs4z8n1v7ncwvssjnn3h4yz1icjfzzlvk"; depends=[]; };
-  lassoscore = derive { name="lassoscore"; version="0.5"; sha256="1nnaxy0h48p8ribg4s6sxvqmnwjvr7d9yjxxcn2j4g8pwvfpiirg"; depends=[glasso glmnet]; };
-  lassoshooting = derive { name="lassoshooting"; version="0.1.5-1"; sha256="0ixjw8akplcfbzwyry9p4bhbcm128yghz2bjf9yr8np6qrn5ym22"; depends=[]; };
-  latdiag = derive { name="latdiag"; version="0.2"; sha256="11fahajwky3cfbd8y5xfaiz24qf7bkifbzcnvhv7daan4gsha04z"; depends=[]; };
-  latentnet = derive { name="latentnet"; version="2.5.1"; sha256="0jzdgsw3i0s0rn8199m7g4x2gwbbrc5nd7fzimhxmib99pyzvrjf"; depends=[statnet_common network ergm sna mvtnorm abind coda]; };
-  Laterality = derive { name="Laterality"; version="0.9.2"; sha256="13b1mpjcq7a14dwscnfs07hahd9is2fbn4wxwh31732vv3hr7kwm"; depends=[ade4]; };
-  lattice = derive { name="lattice"; version="0.20-29"; sha256="0ip6qw1kry68dqj97bh8ddpq6gfsxf3n3axc6pn3zv2n1mfv6s9s"; depends=[]; };
-  latticeDensity = derive { name="latticeDensity"; version="1.0.7"; sha256="1y33p8hfmpzn8zl4a6zxg1q3zx912nhqlilca6kl5q156zi0sv3d"; depends=[splancs spdep spatstat spam]; };
-  latticeExtra = derive { name="latticeExtra"; version="0.6-26"; sha256="16x00sg76mga8p5q5ybaxs34q0ibml8wq91822faj5fmg7r1050d"; depends=[RColorBrewer lattice]; };
-  LatticeKrig = derive { name="LatticeKrig"; version="3.3"; sha256="1l8rw63ljc54zsmnan8z7ipgdhzy3fjqrgywspn7g1120pfl59a4"; depends=[spam fields]; };
-  latticist = derive { name="latticist"; version="0.9-44"; sha256="0kx2dyyr3zn3p63r5ypaw22hdrqyjibkws3hgyc3d560shjyfafv"; depends=[lattice latticeExtra vcd gWidgets]; };
-  lava = derive { name="lava"; version="1.2.6"; sha256="16vdc1j3py4jszcldprlsxjc2pzbprpj7mdj53164adiw7vfah78"; depends=[numDeriv]; };
-  lavaan = derive { name="lavaan"; version="0.5-16"; sha256="1ifzhbzb57smzj22hc19d0hl1v6qg1jvilgrjy9fp0kixk1qmf80"; depends=[MASS mnormt pbivnorm quadprog]; };
-  lavaan_survey = derive { name="lavaan.survey"; version="1.1"; sha256="1vscv165kilkc00pgs2s9qn404l3rv45zc9kzmrghxz42jsy04zc"; depends=[lavaan survey MASS Matrix]; };
-  lava_tobit = derive { name="lava.tobit"; version="0.4-7"; sha256="1da98d5pndlbbw37k64fmr2mi1hvkhjxsmm3y9p4b772pz9i1pvj"; depends=[lava mvtnorm survival]; };
-  lawstat = derive { name="lawstat"; version="2.4.1"; sha256="142plbzpvi5xy7j5m5wizhz3w1n9im9hs8byhs6kfjpdw710qn7h"; depends=[mvtnorm VGAM]; };
-  lazy = derive { name="lazy"; version="1.2-15"; sha256="1pdqgvn0qpfg5hcg5159ccf5qj2nd1ibai9p85rwjpddfynk6jks"; depends=[]; };
-  lazyData = derive { name="lazyData"; version="1.0.3"; sha256="1i4jry54id8hhfla77pwk3rj2cci6na36hxj7k35k8lx666fdam2"; depends=[]; };
-  lazyWeave = derive { name="lazyWeave"; version="2.2.5"; sha256="18j31lbbplxvrz4wnq7hfw9qcx1s0y4c34lbxwly2wyrvzjhxybl"; depends=[Hmisc survival]; };
-  lbiassurv = derive { name="lbiassurv"; version="1.1"; sha256="1i6l3y4rasqpqka7j39qjx22wjbilgc9pkp05an52aysfvfxy193"; depends=[actuar]; };
-  LCA = derive { name="LCA"; version="0.1"; sha256="14nhx2fs18558zljnw56mdz3qx30v394llhzswxhznjfiiqc9z5h"; depends=[]; };
-  LCAextend = derive { name="LCAextend"; version="1.2"; sha256="1y9azq9v42a3z5fq6gj8js89qblb2z93k4mg4jmw0wgkyv6mysfc"; depends=[boot mvtnorm rms kinship2]; };
-  lcd = derive { name="lcd"; version="0.7-3"; sha256="1jnnw15d4s8yb5z5jnzvmlrxv5x6n3h7wcdiz2nw4vfiqncnpwx4"; depends=[igraph MASS ggm]; };
-  lcda = derive { name="lcda"; version="0.3"; sha256="1ximsyn6qw2gfn7b1hdpbjs6h6nk7hrignlii0np1lbf0k8l4xxl"; depends=[poLCA]; };
-  LCFdata = derive { name="LCFdata"; version="2.0"; sha256="1x3vbr6hdviqvd6dxn1kb449g0q5zkfmjsmr5nxd2g82p69lv3xm"; depends=[]; };
-  lcmm = derive { name="lcmm"; version="1.6.4"; sha256="1qk821q7abq7w2iyyd2yyjj1cr943ycjb4174m3zdxj3qxlq1v0z"; depends=[survival]; };
-  lctools = derive { name="lctools"; version="0.1-3"; sha256="1wn9qymbcq9q99xnjbk3qswrfljvfqqhihvgr0brbpq3pbbxh55x"; depends=[reshape weights]; };
-  lda = derive { name="lda"; version="1.3.2"; sha256="1iizsksp8wz34ji7p2kc6npxz9rzhs6217793nfri6y6mq23vs8z"; depends=[]; };
-  ldbounds = derive { name="ldbounds"; version="1.1-1"; sha256="15ixrq615x64zmi6dryq3ww0dqxd0qf5xx1bs3w934sf99l46bhs"; depends=[lattice]; };
-  LDcorSV = derive { name="LDcorSV"; version="1.3.1"; sha256="0i4npl90mkj8vry6ckq8bc4ydbl44vxichgsxyn80r6k9i71yl67"; depends=[MASS]; };
-  LDExplorer = derive { name="LDExplorer"; version="1.0.3"; sha256="1hkhbhclm1bvxzq7z663i583f94cvkklaq0z5qkswrpi406md7mi"; depends=[]; };
-  LDheatmap = derive { name="LDheatmap"; version="0.99-1"; sha256="1bj42chw1xyf8yg6cfv9p4yzsggng7zy6wrw6q22559pwm6c6vr0"; depends=[genetics]; };
-  ldlasso = derive { name="ldlasso"; version="3.2"; sha256="0ij68zvgm8dfd2qwx6h6ygndac29qa0ddpf11z959v06n8jsnk11"; depends=[GenABEL quadprog]; };
-  LDOD = derive { name="LDOD"; version="1.0"; sha256="0mf2sy01yv57mqicrz08a17m6crigklx6fmw9zpxv7g85qw1iq4v"; depends=[Rsolnp Rmpfr]; };
-  ldr = derive { name="ldr"; version="1.3.2"; sha256="1fjgj3g5qgc0sx6xwp48agvm2f59s55qjsxn332cgnfyxaz5pazz"; depends=[GrassmannOptim Matrix]; };
-  LDRTools = derive { name="LDRTools"; version="0.1"; sha256="1cr0v6qsdldy89p44lhr6hisqaz99qzab32kd1srdnnwnwl1q2y4"; depends=[]; };
-  LDtests = derive { name="LDtests"; version="1.0"; sha256="1jwqr7zlp9hv7vw8xp80xvrwbdv796wjgr914v393wfa07j5wbd1"; depends=[]; };
-  LeafAngle = derive { name="LeafAngle"; version="1.2"; sha256="18b3gncn18jvsjprjmaays67iwjdcpszy5z711rb71h1vyi0fdfs"; depends=[]; };
-  leafletR = derive { name="leafletR"; version="0.2-1"; sha256="0l2xqi8b5j1qrfrahk06r7b3vx0lrgihfaiv0psxj6d81xv2x72y"; depends=[]; };
-  LEAPFrOG = derive { name="LEAPFrOG"; version="1.0.6"; sha256="0zsvf22ir8r4ld67ir4m9ziqwrxfnjs44yjayicpm6sg4bdfdfa5"; depends=[alabama MASS]; };
-  leapp = derive { name="leapp"; version="1.2"; sha256="1yiqzmhgl5f3zwpcc5sz3yqrvp8p6r4w2ffdfyirirayqc96ar17"; depends=[MASS corpcor]; };
-  leaps = derive { name="leaps"; version="2.9"; sha256="1ax9v983401hvb6cdswkc1k7j62j8yk6ds22qdj24vdidhdz5979"; depends=[]; };
-  LearnBayes = derive { name="LearnBayes"; version="2.15"; sha256="0cz2rgqy1cmdz2h1qbdvfqxmmdzmg2z1scdlxr7k385anha13ja5"; depends=[]; };
-  learningr = derive { name="learningr"; version="0.29"; sha256="1nr4ydcq2mskv4c0pmf0kxv5wm8pvjqmv19xz5yaq0j834b0n5q7"; depends=[plyr]; };
-  leiv = derive { name="leiv"; version="2.0-6"; sha256="18cf050653qrwyma23r50i66irjpdbp03nc96pirji5sl4dr9q7x"; depends=[]; };
-  LeLogicielR = derive { name="LeLogicielR"; version="1.2"; sha256="0h52pzrksi1mn55mnxbfi61hl7x61cnkhp450slfrk68f6kp30x6"; depends=[xtable RColorBrewer gdata IndependenceTests]; };
-  lessR = derive { name="lessR"; version="3.1"; sha256="1hnjzh8chh08hgmsfc3gqgzcvs5rqycxdp0kjv660mbmrmi0g270"; depends=[car leaps MBESS foreign gdata triangle]; };
-  lestat = derive { name="lestat"; version="1.8"; sha256="12w3s5yr9lsnjkr3nsay5sm4p241y4xz0s3ir56kxjqw23g6m80v"; depends=[MASS]; };
-  letsR = derive { name="letsR"; version="1.0"; sha256="1far1vil7g4ymvmhzb0dgfng5d1nkcb4rr1sp7yi72lz60h3g9hk"; depends=[maps raster XML geosphere maptools sp]; };
-  lfe = derive { name="lfe"; version="1.7-1289"; sha256="1k64llwsjk6lpfyvzwq5plickds15r42p0x5ppr57xzjqfyhyy61"; depends=[Matrix Formula xtable]; };
-  lfstat = derive { name="lfstat"; version="0.6.1"; sha256="0i3zrinvjxlg9w5zqrv8wzy15vxvi2gw3jrlfs4rddkxnp98ya9d"; depends=[lattice lmom lmomRFA latticeExtra]; };
-  lga = derive { name="lga"; version="1.1-1"; sha256="1nkvar9lmdvsc3c21xmrnpn0haqk03jwvc9zfxvk5nwi4m9457lg"; depends=[boot lattice]; };
-  lgarch = derive { name="lgarch"; version="0.4"; sha256="0pf66p8nvrzjkayjj4y38lbyhz389q3q7ffd3kzsa3a1z9h2156x"; depends=[zoo]; };
-  lgcp = derive { name="lgcp"; version="1.3-6"; sha256="04khs0knax3g20hgi5ykny1ck4jxz1aivaa19bb24fljvhn88prv"; depends=[spatstat sp raster RandomFields iterators ncdf rpanel fields maptools Matrix rgeos]; };
-  LGS = derive { name="LGS"; version="0.91"; sha256="0rzj1shapyg7hyzsb9v81dirwihd7bz9s861l75g3yl3p4qm8sg7"; depends=[]; };
-  lgtdl = derive { name="lgtdl"; version="1.1.3"; sha256="00lffc60aq1qjyy66nygaypdky9rypy607mr8brwimjn8k1f0gx4"; depends=[]; };
-  lhs = derive { name="lhs"; version="0.10"; sha256="1hc23g04b6nsg8xffkscwsq2mr725r6s296iqll887b3mnm3xaqz"; depends=[]; };
-  libamtrack = derive { name="libamtrack"; version="0.5.5"; sha256="0v2h4ficf87ai3h2liw8j7428k0bzzb59zini2vskwhcqb7ky7yw"; depends=[]; };
-  LiblineaR = derive { name="LiblineaR"; version="1.80-7"; sha256="1gg4x0x94qq7h3nf5z3k7zy3iknydz3cfpnb8syhpgv5a462i84v"; depends=[]; };
-  LICORS = derive { name="LICORS"; version="0.2.0"; sha256="0p9y21k1mj1v397jpb5g6jiw7rpzbyfwr4kv2rp3lyxyasy2ykf0"; depends=[RColorBrewer mvtnorm zoo FNN fields locfit Matrix]; };
-  LICurvature = derive { name="LICurvature"; version="0.1.1"; sha256="09hqar4kvksd816ya6jg349r0v6z2m2109hq6j4k1d2vchab4lni"; depends=[MASS]; };
-  lifecontingencies = derive { name="lifecontingencies"; version="1.1"; sha256="0rjiqmhqiliy8zbprxnr63r0wvwzs825gd6rrz4skwxcwpl4d0sh"; depends=[]; };
-  LifeTables = derive { name="LifeTables"; version="0.2"; sha256="1n4mqypxm0rbi77ykpr6bpzxfxvq8mm9bmfvcqz7k3ajb78cdr0d"; depends=[mclust]; };
-  LIHNPSD = derive { name="LIHNPSD"; version="0.2.1"; sha256="08ils29vvaq6abkgxbh028vwjw6l6h10cirbnwr65s458zvh4xqv"; depends=[sn moments BB Bolstad2 optimx Rmpfr]; };
-  likelihood = derive { name="likelihood"; version="1.6"; sha256="11p7k6wpr7ypas414qir0hracy0960j8g3nwlhjbmynwmfzpkq1r"; depends=[nlme]; };
-  likeLTD = derive { name="likeLTD"; version="5.4.0"; sha256="09h1a4pn1i3vm3116yxvx07b62cbqmq84svpkbxykl4jmlqmwg8x"; depends=[DEoptim ggplot2 gtools rtf gdata]; };
-  likert = derive { name="likert"; version="1.1"; sha256="1jmzxqav5hqvafb53k4mk8a2zfbzvlynqxkphndnbngq7z5915ah"; depends=[ggplot2 gridExtra xtable reshape psych]; };
-  LIM = derive { name="LIM"; version="1.4.5"; sha256="1dir9dqrpns77n5ydm3fpj2k0pl7q15z8vqbi5704vsfv94mgmas"; depends=[limSolve diagram]; };
-  limitplot = derive { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; };
-  limSolve = derive { name="limSolve"; version="1.5.5"; sha256="1wcw4f95alsn1x1x98hlivc65p28ykq9njgjs561yl2zn4dyfqxf"; depends=[quadprog lpSolve MASS]; };
-  LinearizedSVR = derive { name="LinearizedSVR"; version="1.3"; sha256="0h3xmlnd5x37r5hdhcz90z5n1hsbr2ci3m939i89p1x9644i2l5g"; depends=[kernlab LiblineaR expectreg]; };
-  lineup = derive { name="lineup"; version="0.34-1"; sha256="0p6gxbv8xdrhgk8zdlnqrybald9vqz717czb49b123h84rjr2f19"; depends=[qtl class]; };
-  linkcomm = derive { name="linkcomm"; version="1.0-10"; sha256="1xs22cskrbk1yvsaa5dmnr62468z4baw6hy5m2jjcm854b42mkp9"; depends=[igraph RColorBrewer dynamicTreeCut]; };
-  linkim = derive { name="linkim"; version="0.1"; sha256="0yvyid9x59ias8h436a202hd2kmqvn8k1zcrgja2l4z2pzcvfn91"; depends=[]; };
-  linLIR = derive { name="linLIR"; version="1.1"; sha256="1v5bwki5j567x2kndfd5nli5i093a33in31025h9hsvkbal1dxgp"; depends=[]; };
-  linprog = derive { name="linprog"; version="0.9-2"; sha256="1ki14an0pmhs2mnmfjjvdzd76pshiyvi659zf7hqvqwj0viv4dw9"; depends=[lpSolve]; };
-  LINselect = derive { name="LINselect"; version="0.0-1"; sha256="1n6nsspdp1ig8v9bclyga072hxqj2hb9n1smrqia8jrma07yaydl"; depends=[]; };
-  lint = derive { name="lint"; version="0.3"; sha256="0lkrn5nsizyixhdp5njxgrgwmygwr663jxv5k9a22a63x1qbwpiq"; depends=[plyr harvestr stringr dostats foreach]; };
-  liso = derive { name="liso"; version="0.2"; sha256="072l7ac1fbkh8baiiwx2psiv1sd7h8ggmgk5xkzml069ihhldj5i"; depends=[MASS Iso]; };
-  lisp = derive { name="lisp"; version="0.1"; sha256="025sq46277q9i21189cbmx5dnrh5wfshc5k6la1wjilhr1iqf6nj"; depends=[]; };
-  lisrelToR = derive { name="lisrelToR"; version="0.1.4"; sha256="0zicq0z3hhixan1p1apybnf3v5s6v6ysll4pcz8ivygwr2swv3p5"; depends=[]; };
-  list = derive { name="list"; version="6.1"; sha256="18yclnj71yknw46wy2f2hjhrg38fyklirgr0x5aibk7yywpry0qq"; depends=[sandwich VGAM magic gamlss_dist MASS quadprog arm corpcor mvtnorm coda]; };
-  LIStest = derive { name="LIStest"; version="2.1"; sha256="1gk253v3f1jcr4z5ps8nrqf1n7isjhbynxsi9jq729w7h725806a"; depends=[]; };
-  llama = derive { name="llama"; version="0.7"; sha256="01hxphrii5lydg3yivrl0yg45ilma9a3g0r6rh44vak79zc6gxz7"; depends=[mlr plyr rJava parallelMap]; };
-  lle = derive { name="lle"; version="1.1"; sha256="09wq7mzw48czp5k0b4ij399cflc1jz876fqv0mfvlrydc9igmjhk"; depends=[scatterplot3d MASS snowfall]; };
-  lllcrc = derive { name="lllcrc"; version="1.1"; sha256="0m4dqg774d0pzpwvr4hj50xdz93y83w0yjcial8b14wy8zcdsmmz"; depends=[data_table combinat VGAM plyr]; };
-  lmbc = derive { name="lmbc"; version="0.9.1"; sha256="0pxm29n8rhcy7g8kia0bgz78w5nr851dhhrb7nn13szw6j13ji8x"; depends=[mseq lars]; };
-  lm_beta = derive { name="lm.beta"; version="1.0"; sha256="13n9y9q4igqswvf4yfjk15gqa81z3kc7l0hizr3ssxpa8x9igpc5"; depends=[]; };
-  lm_br = derive { name="lm.br"; version="2.5"; sha256="0v4gam24gny4g5618kakamryw0aq62wb9k7w6n3wq397mysnkd15"; depends=[Rcpp]; };
-  lme4 = derive { name="lme4"; version="1.1-7"; sha256="0v9vl9rspakyw2dmcl5lbhv1nlg10yhgdvi3gpfnizln7xw9ksyp"; depends=[Matrix Rcpp MASS nlme lattice minqa nloptr]; };
-  lmec = derive { name="lmec"; version="1.0"; sha256="09shj01h2dl5lh7ch0wayr7qyhlmk0prv3p1vfgy91sn0wpbqlxr"; depends=[mvtnorm]; };
-  lmeNB = derive { name="lmeNB"; version="1.2"; sha256="0xgw1kmq3krz8z0ickjg6qkj3bq2bkbwcd79c5fkl6fa3hp035mh"; depends=[numDeriv statmod lmeNBBayes]; };
-  lmeNBBayes = derive { name="lmeNBBayes"; version="1.2"; sha256="0zpxdgqv5yhpwl2jfrxx37b126pgrflynmw9i4vmcvzx830d084l"; depends=[]; };
-  LMERConvenienceFunctions = derive { name="LMERConvenienceFunctions"; version="2.5"; sha256="1kq0ww8h43rsygjz5pmb3ym027klgi4sw1csdr9apwgd3ydbnr7n"; depends=[Matrix lme4]; };
-  lmerTest = derive { name="lmerTest"; version="2.0-11"; sha256="151zgpqabvq1m58632caw9q298y7zh4aw059hdfzx9p8z7104ris"; depends=[Matrix lme4 numDeriv MASS Hmisc gplots pbkrtest]; };
-  lmeSplines = derive { name="lmeSplines"; version="1.1-10"; sha256="0fy6hspk7rqqkzv0czvvs8r4ishvs7zsf4ykvia65nj26w7yhyia"; depends=[nlme]; };
-  LMest = derive { name="LMest"; version="1.0"; sha256="0i76wkj8a95pa5spxsaxbkk2nyrjdlnzri9739n3h08sagwc0y67"; depends=[MASS Matrix]; };
-  lmf = derive { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; };
-  lmm = derive { name="lmm"; version="0.9"; sha256="0gs68iwk9gajb5af5ibgg9k5280ixqki8vxyp3cq5lrk96gcmqpr"; depends=[]; };
-  lmmfit = derive { name="lmmfit"; version="1.0"; sha256="06mzmx7md7qw5mfhgdljc7i40sx9yrx7j57xbbp3fhl2zs1dpb4g"; depends=[nlme MASS]; };
-  lmmlasso = derive { name="lmmlasso"; version="0.1-2"; sha256="1mvd38k9npyc05a2x7z0908qz9x4srqgzq9yjyyggplqfrl4dgsz"; depends=[emulator miscTools penalized]; };
-  lmms = derive { name="lmms"; version="1.0"; sha256="1qisic9ha764nl8xscf17r2chhx1jp8s2hv189ksc6wl34dcxvqq"; depends=[nlme lmeSplines reshape gdata]; };
-  lmodel2 = derive { name="lmodel2"; version="1.7-2"; sha256="0dyzxflr82k7ns824zlycj502jx3qmgrck125im2k2da34ir3m3q"; depends=[]; };
-  lmom = derive { name="lmom"; version="2.4"; sha256="04mfp7fcw1696qn34pxdffspwy0xalig3p7mqcj49v6kdxclpx1p"; depends=[]; };
-  lmomco = derive { name="lmomco"; version="2.1.1"; sha256="0q58g13j7h8pag3yj96qpnsa2m77hrrjkc24f6x847vlsn39md80"; depends=[]; };
-  Lmoments = derive { name="Lmoments"; version="1.1-5"; sha256="13s9lbmfbjfam6xg0q9jl2p3q3db3pimcmnx47vx82qdm43xa4an"; depends=[]; };
-  lmomRFA = derive { name="lmomRFA"; version="3.0"; sha256="188i2fk2csqwdmw3x1wwigaajbvwfd9dwd8q3pmx7ha4smp49amk"; depends=[lmom]; };
-  lmSupport = derive { name="lmSupport"; version="1.07.1"; sha256="1smv1ag12373981qqhlrdf4xj73j2h0jblb74gd2w70zrbx0s2qb"; depends=[car psych gplots gvlma MASS]; };
-  lmtest = derive { name="lmtest"; version="0.9-33"; sha256="1ycmxjrxf41mnbgakdmn4y2kmgp4rkj7v3nqwqnlc6gdfdmac73s"; depends=[zoo]; };
-  loa = derive { name="loa"; version="0.2.15"; sha256="137l90qz87xrid28knbj8997pjqgqf6769cwfj82cm57m98bda91"; depends=[lattice MASS png RgoogleMaps RColorBrewer]; };
-  localdepth = derive { name="localdepth"; version="0.5-7"; sha256="0h0y74xnhdqa7y51ljmpz7ayznppvy2ll06wfds6200lb9cxgr7k"; depends=[circular]; };
-  localgauss = derive { name="localgauss"; version="0.33"; sha256="1xgcwlgkzkxws771zig4x6v0m6flf9vlcgpa80ajr0vmjhlplbly"; depends=[ggplot2 MASS foreach matrixStats]; };
-  localsolver = derive { name="localsolver"; version="2.3"; sha256="1d18rihzqf1f5j9agfp8jysll7lqk1ai23hkdqkn6wwxj442llv4"; depends=[]; };
-  locfdr = derive { name="locfdr"; version="1.1-7"; sha256="1ix64nf0lymvqfks399871ynyph32x4yhymdw0nw59jh3c3ldhxx"; depends=[]; };
-  locfit = derive { name="locfit"; version="1.5-9.1"; sha256="0lafrmq1q7x026m92h01hc9cjjiximqqi3v1g2hw7ai9vf7i897m"; depends=[lattice]; };
-  locits = derive { name="locits"; version="1.4"; sha256="1q9vsf5h4n7r4gy1dwdhfyq3n0rn33akb3nx6yzinncj4w4cqq0h"; depends=[wavethresh igraph]; };
-  Lock5Data = derive { name="Lock5Data"; version="2.6"; sha256="0ckaac00ck5vyv0gv25l1zhgkm3char6ks1p4fl3vdl5gdyrc1pp"; depends=[]; };
-  locpol = derive { name="locpol"; version="0.6-0"; sha256="1zpdh3g7yx3rcn3rhlc3dm19c4b9kx2k8wy8vkwh744a1kysvdga"; depends=[]; };
-  loe = derive { name="loe"; version="1.0"; sha256="11wjzq4h7qjrnrj1zg3msg1ksld9c3r3n3biamf2hz8zvi1asvqv"; depends=[igraph MASS vegan Matrix]; };
-  log4r = derive { name="log4r"; version="0.1-4"; sha256="1wgn9gywkldfzxgpdfj84l05zw6y84bwzjr7q6fjddfdvxmdwa5n"; depends=[]; };
-  LogConcDEAD = derive { name="LogConcDEAD"; version="1.5-9"; sha256="135vkp70q6gn75ds43aq08y13vrsgsgykssmnhrh6545i86vmhhi"; depends=[MASS mvtnorm]; };
-  logconcens = derive { name="logconcens"; version="0.16-4"; sha256="11bk03kjlb747g54axmb0nayz226g41xvanbw79aij76vjbglv7y"; depends=[]; };
-  logcondens = derive { name="logcondens"; version="2.1.1"; sha256="1anawy47g2bmpi5x4s9dqw82c51mv98wfy39sikb1jixbs40mqgp"; depends=[]; };
-  logcondens_mode = derive { name="logcondens.mode"; version="1.0.1"; sha256="1i2c2prk5j863p3a3q3xnsv684igfi5czz3dib7zfjldpf0qyaq7"; depends=[logcondens distr]; };
-  logcondiscr = derive { name="logcondiscr"; version="1.0.5"; sha256="170rg4rqch0mlhmc1zc59h271b57y3xfxrc3gh9pwvc9r11gw7k5"; depends=[Matrix mvtnorm cobs]; };
-  logging = derive { name="logging"; version="0.7-103"; sha256="1sp7q217awizb6l8c9p5dix6skpq8j7w8i088x4mm0fc0qr1ba5c"; depends=[]; };
-  LOGICOIL = derive { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; };
-  LogicReg = derive { name="LogicReg"; version="1.5.5"; sha256="1lccxiafi2g2jmzaklcgman5zgax2rvfh61qzwz1w0p57460m581"; depends=[survival]; };
-  logistf = derive { name="logistf"; version="1.21"; sha256="0cwbmd0mvj4wywpx7p4lhs70nhab7bfl6fzz2c4snn3ma6sy7x8c"; depends=[mice mgcv]; };
-  LogisticDx = derive { name="LogisticDx"; version="0.1"; sha256="1w530panmbwf4qplzzj02q9g2lfzrkawxy66ibwdd14z9bwjdclj"; depends=[multcomp data_table pROC car gRbase rms statmod speedglm]; };
-  logistiX = derive { name="logistiX"; version="1.0-1"; sha256="0k2658hph4h9v0f1c4nd0zi72xzf7l4ivhy063y01zx61q8dbi8q"; depends=[]; };
-  logitchoice = derive { name="logitchoice"; version="0.9.1"; sha256="16019836wf1vhs49qmw9z53px4l20ggg4k6lhlll8l91q0mkisk3"; depends=[]; };
-  LogitNet = derive { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; };
-  logitnorm = derive { name="logitnorm"; version="0.8.29"; sha256="0wbdxh3n44nzb6c0ahyd8gndfql1y56fns2bkmzqi3nxy9blhx18"; depends=[]; };
-  loglognorm = derive { name="loglognorm"; version="1.0.1"; sha256="0rhx769a5nmidpbpngs2vglsbkpgw9badz3kj3jfmpj873jfnbln"; depends=[]; };
-  logmult = derive { name="logmult"; version="0.6"; sha256="1r8i2zgmgm44dhg2z2k7cqy10hldp1p91idjiyg9pmi8dfch8xki"; depends=[gnm qvcalc]; };
-  LogrankA = derive { name="LogrankA"; version="1.0"; sha256="005zkpzi8h03qvqlpkygrf9xv4q77klafkfxw47x04jvkhklwigb"; depends=[]; };
-  logregperm = derive { name="logregperm"; version="1.0"; sha256="002s5a71m3ykyypq8gw4xa642xnbp2rjwd1cxnf0rkgmshngqaik"; depends=[]; };
-  logspline = derive { name="logspline"; version="2.1.5"; sha256="18hpzcg71v3zjzp92whgxgn7w87cadgxr65pp7nv6m5pvj130i3p"; depends=[]; };
-  lokern = derive { name="lokern"; version="1.1-5"; sha256="0fgpkmz8jy77sb0m862j7v32lj9d3x373na1102wvq164jjhyqg2"; depends=[sfsmisc]; };
-  lomb = derive { name="lomb"; version="1.0"; sha256="06lbk7s1ilqx6xsgj628wzdwmnvbs0p03hdpx8665fhddcxh3ryy"; depends=[]; };
-  longCatEDA = derive { name="longCatEDA"; version="0.17"; sha256="1yb0117ycj4079590mrx3lg9m5k7xd1dhb779r3rmnww94pmvja9"; depends=[]; };
-  longitudinal = derive { name="longitudinal"; version="1.1.9"; sha256="048z9n7ca655mjj4gdfj1hlpddkn8jikmh5igv76l5zj9iccw5xy"; depends=[corpcor]; };
-  longitudinalData = derive { name="longitudinalData"; version="2.2"; sha256="1kdgnkhk39a9r4fq6zmrvzcvs7qjd21knpzfjglxyx723r9p3fs7"; depends=[clv class rgl misc3d]; };
-  longmemo = derive { name="longmemo"; version="1.0-0"; sha256="1jnck5nfwxywj74awl4s9i9jn431655mmi85g0nfbg4y71aprzdc"; depends=[]; };
-  longpower = derive { name="longpower"; version="1.0-10"; sha256="0907s9807c1vcxac8xf6aqbw2fi7pdqfjs14nxl7wf0r0wi9jgw2"; depends=[Matrix lme4 nlme]; };
-  loop = derive { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; };
-  LoopAnalyst = derive { name="LoopAnalyst"; version="1.2-3"; sha256="0xbiy1xa2c6acfrzh6p9pa6wrds8ipskxq0f86ia9g5zkp1rjk2j"; depends=[nlme]; };
-  lordif = derive { name="lordif"; version="0.2-2"; sha256="0898k5w9wky318k8x0zknjqdzdify0yyrnb1506j341l4n1bm04s"; depends=[MASS msm mvtnorm polycor sfsmisc ltm Hmisc rms]; };
-  lorec = derive { name="lorec"; version="0.6.1"; sha256="0mgypd8awixh1lzbh5559br4k7vi3pfmwniqhgh68wc06sc6bn65"; depends=[]; };
-  LOST = derive { name="LOST"; version="1.1"; sha256="19ar85dykbz0jlzbhlm3pcpffj4cizc6sj3gn93qdvpxkp64jfq9"; depends=[gdata shapes e1071 MASS miscTools]; };
-  LowRankQP = derive { name="LowRankQP"; version="1.0.2"; sha256="0is7v4cy4w1g3wn4wa32iqv4awd1nwvfcb71b3yk5wj59lpm8gs3"; depends=[]; };
-  lpc = derive { name="lpc"; version="1.0.2"; sha256="1r6ynkhqjic1m7fqrqsp7f8rpxqih5idn4j96fqrdj8nj01znv29"; depends=[]; };
-  LPCM = derive { name="LPCM"; version="0.44-8"; sha256="14627wk5azxm3y3a0qfy4qz57nxbdcasnv7djpqhk2gxf5smq19k"; depends=[]; };
-  lpint = derive { name="lpint"; version="2.0"; sha256="0p1np8wlfbax0c7ysc5fs9dai8s00h1v0gan89dbd6bx06307w2r"; depends=[]; };
-  LPmerge = derive { name="LPmerge"; version="1.5"; sha256="0qy3j6xnsk5h2lmx3mx2q4b5g4vip54nh2f85zg5ncg0x5qqrizb"; depends=[Rglpk Matrix]; };
-  lpmodeler = derive { name="lpmodeler"; version="0.2-1"; sha256="17k67l03dkjx61p4hwswghjm6awk0zx173x9xafxrfd8jrgsf6kf"; depends=[slam]; };
-  lpridge = derive { name="lpridge"; version="1.0-7"; sha256="0nkl70fwzra308bzlhjfpkxr8hpd8v1xdnah7nscxa10qlisgr2k"; depends=[]; };
-  LPS = derive { name="LPS"; version="1.0.4"; sha256="0dy45nn1bmzd17y2dsh4pf4jmh9qvifigvpg2lv2zrmvlx53cli5"; depends=[]; };
-  lpSolve = derive { name="lpSolve"; version="5.6.10"; sha256="0hrgac5gfihhk4spy5smwgnawgn5nbv7aydb1w28lgd46a4zldvc"; depends=[]; };
-  lpSolveAPI = derive { name="lpSolveAPI"; version="5.5.2.0-11"; sha256="1d7g840aa392i310y4886haa8dvb881p6py74gmqi14rsajchzgs"; depends=[]; };
-  LPStimeSeries = derive { name="LPStimeSeries"; version="1.0-3"; sha256="06w4gcz3h4gi05zzb37adxj4kl6pxpmlbzl4xaf03vqyabnvv9s0"; depends=[]; };
-  lqa = derive { name="lqa"; version="1.0-3"; sha256="141r2cd9kybi6n9jbdsvhza8jdxxqch4z3qizvpazjy8qifng29q"; depends=[]; };
-  lqmm = derive { name="lqmm"; version="1.5"; sha256="12fggqka00y2hwknxwfa2326r2r17mdn2qd213n7xs3pn7v0rg18"; depends=[SparseGrid nlme]; };
-  lrmest = derive { name="lrmest"; version="1.0"; sha256="1gdj8pmmzvs1li05pwhad63blhibq45xd1acajxsx06k7k21ajs7"; depends=[MASS]; };
-  LS2W = derive { name="LS2W"; version="1.3-3"; sha256="0pdsv7ld0j116rh94m5y1i2mwrzc80fqxmc6ykc51i1sj6ws3i5k"; depends=[wavethresh]; };
-  LS2Wstat = derive { name="LS2Wstat"; version="2.0-3"; sha256="0wkh1a6xbp3qg5favxsj166jcgdza16zki675gswxckana6s4is7"; depends=[LS2W matrixStats geoR RandomFields spdep]; };
-  lsa = derive { name="lsa"; version="0.73"; sha256="041wa1i85i90qvm5sxvd9nidis8s069cvf9nw1r68ajkvds65y91"; depends=[SnowballC]; };
-  LSAfun = derive { name="LSAfun"; version="0.3.1"; sha256="15sa3hq2x6wna8bv9mry06k80kvhf1kkl6zfybwzc953vxp6yijp"; depends=[lsa rgl]; };
-  LSC = derive { name="LSC"; version="0.1.5"; sha256="1nlnwqb24sbgvl96azh8a833ij5xknjr2wr8shs59lm2n63a3ql9"; depends=[LICORS RColorBrewer fields gam Matrix]; };
-  LSD = derive { name="LSD"; version="2.5"; sha256="0j7lmsz93q2zv9y05aan5pwhpzh8m1i45mh4p386g7bvfrwlmxbx"; depends=[MASS gtools RColorBrewer colorRamps schoolmath ellipse]; };
-  lsdv = derive { name="lsdv"; version="1.1"; sha256="0rl1xszr9r8v71j98gjpav30n2ncsci19hjlc9flzs1s20sb1xpr"; depends=[]; };
-  lsgl = derive { name="lsgl"; version="1.0.123.0"; sha256="15chgzds2vb4jgw7vzday6km7i92g6ifpj0a2x9s4nvrdzh9y8di"; depends=[sglOptim Matrix]; };
-  lshorth = derive { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; };
-  lsmeans = derive { name="lsmeans"; version="2.11"; sha256="15cvdc4mzk9qr9zq5adkabzs1bkpnl2cf8mhsdc1jgm521ff4w26"; depends=[multcomp plyr Matrix]; };
-  LSMonteCarlo = derive { name="LSMonteCarlo"; version="1.0"; sha256="0w5042phkba5dw92r67ppp2s4khjpw5mm701dh9dya9lhj88bz6s"; depends=[mvtnorm fBasics]; };
-  lspls = derive { name="lspls"; version="0.2-1"; sha256="1g27fqhnx9db0zrxbhqr76agvxy8a5fx1bfy58j2ni76pki1y4rl"; depends=[pls]; };
-  lsr = derive { name="lsr"; version="0.3.2"; sha256="1ahcj3ja5hj7pc7hvzlvhmh62mql3a0awli8szsyld0fpn50wprz"; depends=[]; };
-  lss = derive { name="lss"; version="0.52"; sha256="1fvs8p9rhx81xfn450smnd0i1ym06ar6nwwcpl74a66pfi9a5sbp"; depends=[quantreg]; };
-  ltbayes = derive { name="ltbayes"; version="0.3"; sha256="1b35bwli08yzgv3idg86wz8fzpx7r5sx0ryr950rdh0n2jdml09q"; depends=[mcmc MHadaptive numDeriv]; };
-  ltm = derive { name="ltm"; version="1.0-0"; sha256="1igkgb0jy3mzlnp9s6avhcpplwijz5g3x26a3lavyy3d9fjpmfpa"; depends=[MASS msm polycor]; };
-  ltmle = derive { name="ltmle"; version="0.9.3-1"; sha256="0nvcxl55nmcabsz79vkjxmnifzm2vxg0lgwcjqiwsj242vhnfjhh"; depends=[]; };
-  LTPDvar = derive { name="LTPDvar"; version="1.1"; sha256="0zb3ffz5vw1zabgzhpcw1mzfqh4g7r0sq4iy31nzyv8smdwddqzw"; depends=[]; };
-  LTR = derive { name="LTR"; version="1.0.0"; sha256="15g5hbrwhab80sarbjgwzvsn6c4fl18h014kz5fpzf0n1rijybik"; depends=[]; };
-  ltsa = derive { name="ltsa"; version="1.4.4"; sha256="06db0d4j0kqp4q6rpa3sawcsm5rfgdhzl8fl7cxivjbbyrfnszqp"; depends=[]; };
-  ltsbase = derive { name="ltsbase"; version="1.0.1"; sha256="16p5ln9ak3h7h0icv5jfi0a3fbw5wdqs3si69sjbn8f5qs2hz7yp"; depends=[MASS robustbase]; };
-  ltsk = derive { name="ltsk"; version="1.0.1"; sha256="1ym9h6af1aq46b6yxhdwnp6kqgx3zw08sal67y8rqd9z68432lx4"; depends=[fields]; };
-  lubridate = derive { name="lubridate"; version="1.3.3"; sha256="1f07z3f90vbghsarwjzn2nj6qz8qyfkqalszx8cb5kliijdkwy8z"; depends=[plyr stringr memoise]; };
-  luca = derive { name="luca"; version="1.0-5"; sha256="1jiqwibkrgga4ahz0qgpfkvrsxjqc55i2nwnm60xddb8hpb6a6qx"; depends=[survival genetics]; };
-  Luminescence = derive { name="Luminescence"; version="0.3.4"; sha256="036kib458qwr1l1pl1nb4hip43rchmx7qwf32y8z7b8nf9b8sbvy"; depends=[Rserve XML shape rgl matrixStats]; };
-  lvm4net = derive { name="lvm4net"; version="0.1"; sha256="0b140jybn6jpr1qh3s84vg0ba34356vc8pa4v2zfp9ggipfl073b"; depends=[ergm ellipse igraph]; };
-  LVMMCOR = derive { name="LVMMCOR"; version="0.01.1"; sha256="1lq4hqcg0qkywdr4a22m1fr3m97749mm6n2jzdj9i7jrf0agc1fs"; depends=[nlme MASS]; };
-  LVQTools = derive { name="LVQTools"; version="1.2"; sha256="06mninrrr49xsh00gfsp0vc418r6pdvq3m6sbnj0ywdyki106mni"; depends=[]; };
-  lxb = derive { name="lxb"; version="1.3"; sha256="0mvjk0s9bzvznjy0cxjsqv28f6jjzvr713b2346ym4cm0y4l3mir"; depends=[]; };
-  lymphclon = derive { name="lymphclon"; version="1.2.3"; sha256="0dvyihghjamqmhn9lvh1qblqh946b9ldnxyhb6z1gi57pyfgq00w"; depends=[VGAM MASS expm corpcor]; };
-  M3 = derive { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[ncdf4 rgdal maps mapdata]; };
-  MAc = derive { name="MAc"; version="1.1"; sha256="1lshi5rb8l2mpd302wskhlk5vz1wjidvbss9y69l63zjqdwjs7ch"; depends=[]; };
-  MAclinical = derive { name="MAclinical"; version="1.0-5"; sha256="1g0ka1kqww2xim8rp5rznkzn0a541zvf841s3lbphfh9k3y3ixs3"; depends=[party plsgenomics st e1071]; };
-  MAd = derive { name="MAd"; version="0.8-1"; sha256="16lis6q61d11z0kn3svd77yr0k3jm0zhqpwacl86jdjlmn67l92i"; depends=[]; };
-  mada = derive { name="mada"; version="0.5.6"; sha256="10vw138ykfz0s8c2q39fd4vipran85w04jmr1fni4z8x0i67iak2"; depends=[mvtnorm ellipse mvmeta]; };
-  MADAM = derive { name="MADAM"; version="1.2.2"; sha256="09w5liqa3mpkbyvkwlabcgyg2b4316qpzq7pbpl0wxl74bsh76vq"; depends=[]; };
-  madsim = derive { name="madsim"; version="1.1"; sha256="1d9mv769zia43krdfl43hp22cp5mdi3ycwj3kxyfcjrg23bjnyc0"; depends=[]; };
-  Maeswrap = derive { name="Maeswrap"; version="1.4.11"; sha256="15i36xj2bdzhly78614077s8k2z75a1gmzl2crsfgvhyyjdax8r7"; depends=[rgl lattice geometry]; };
-  magic = derive { name="magic"; version="1.5-6"; sha256="1399w1zhz79nj8cdhslybncd9h6rylfhb548nv22ip0dxxdkyv0v"; depends=[abind]; };
-  magicaxis = derive { name="magicaxis"; version="1.9"; sha256="0v851arnpc15h7ccqwjlz52jv83ij96r4b44qkm45ipr9dfm84zf"; depends=[MASS plotrix sm]; };
-  magma = derive { name="magma"; version="1.3.0-2"; sha256="0hgwjq30ksx2qg4q9fj57m27i96sci8hrfrqc2lw4hz18b6kkph4"; depends=[]; };
-  magrittr = derive { name="magrittr"; version="1.0.1"; sha256="0syb8dpcqag392any8s7shgqv4s33q3ppwnpmih31yhz875k3aaw"; depends=[]; };
-  mail = derive { name="mail"; version="1.0"; sha256="1m89cvw5ba4d87kp2dj3f8bvd6sgj9k56prqmw761q919xwprgw6"; depends=[]; };
-  mailR = derive { name="mailR"; version="0.3"; sha256="0m23npg5zsdwflw4744v30ypnpa6f8ddflwh3mpabxrxw4scb547"; depends=[rJava stringr]; };
-  MAINT_Data = derive { name="MAINT.Data"; version="0.2"; sha256="0kmvz3s6ci9zi9k3vvrkl7jwqfjgdfk7b6xv7dskjh6mbgpcqcf4"; depends=[MASS sn miscTools]; };
-  makeProject = derive { name="makeProject"; version="1.0"; sha256="09q8xa5j4s5spgzzr3y06l3xis93lqxlx0q66s2nczrhd8nrz3ca"; depends=[]; };
-  malaria_em = derive { name="malaria.em"; version="2.0"; sha256="1n34ahifggpdlpmigy010zysana0fg9c8ji0khk8g3il2gmzmgim"; depends=[]; };
-  MALDIquant = derive { name="MALDIquant"; version="1.11"; sha256="1jnpmv44j9zry64wvnv37hcda61570hypnv16z99arjazpi4nzmn"; depends=[]; };
-  MALDIquantForeign = derive { name="MALDIquantForeign"; version="0.9"; sha256="0bs6frqz462hrad16kjvbmq2s66bv3kpriav4hdz5a4klra389gl"; depends=[MALDIquant base64enc digest downloader readBrukerFlexData readMzXmlData XML]; };
-  mallet = derive { name="mallet"; version="1.0"; sha256="06rksf5nvxp4sizgya7h4sb6fgw3yz212a01dqmc9p5a5wqi76x0"; depends=[rJava]; };
-  MAMA = derive { name="MAMA"; version="2.2.1"; sha256="1dcyfir6jv28jzvphiqrjns3jh2zg2201iwcvjzbmddl2isk9h0i"; depends=[metaMA xtable gtools xtable]; };
-  MAMS = derive { name="MAMS"; version="0.3"; sha256="17d75phlxi9267dwpzmnzpk01l69xvcdqjjabj0ai7j2l6llp2n9"; depends=[mvtnorm]; };
-  MAMSE = derive { name="MAMSE"; version="0.1-3"; sha256="06q6raqbyi9zwg3wzaygqmfs3di55fh4bln3vscdw95kma4hz9km"; depends=[]; };
-  Mangrove = derive { name="Mangrove"; version="1.1"; sha256="15dzxsm982v7sskqh31fdiiqyac37l00i51z3f4nk3zpz6gq2nw5"; depends=[]; };
-  ManyTests = derive { name="ManyTests"; version="1.1"; sha256="11xk3j2q7w6b6ljmp7b8gni0khpmpvcvzwxypy0w8ihi2gaczsxj"; depends=[]; };
-  Map2NCBI = derive { name="Map2NCBI"; version="1.0"; sha256="02cgmayrhkyji0cwr6n0f439njq29mzna7sgzkq6ml45njm9m5nh"; depends=[]; };
-  MAPA = derive { name="MAPA"; version="1.7"; sha256="1xw9slmhn6r0cczp37m75l944vggnjwinx2p4jkkya445mvgyhjy"; depends=[forecast]; };
-  mapdata = derive { name="mapdata"; version="2.2-3"; sha256="1fhj34cgq6rniy0339qv2ghbs0aiq38h9jfwx7szb83yj37v7wm6"; depends=[maps]; };
-  MapGAM = derive { name="MapGAM"; version="0.7-0"; sha256="00ggr7wrkz13n1f9gsp3qxxjwb01kq47aqv2mj4pa6p253iw19i7"; depends=[gam maptools]; };
-  MAPLES = derive { name="MAPLES"; version="1.0"; sha256="0hzsh7z1k7qazpxjqbm9842zgdpl51irg7yfd119a7b2sd3a8li9"; depends=[mgcv]; };
-  mapmisc = derive { name="mapmisc"; version="0.9.4"; sha256="0qsv36sk6fd3ix85yagl86y2r1kkl3qry0g0k6d0rb87aaxmk86i"; depends=[sp raster]; };
-  mapplots = derive { name="mapplots"; version="1.4"; sha256="0wwz52hjhp2xzw38zsvbk5cgdfr58rakjnmficjr305x88kisz20"; depends=[]; };
-  mapproj = derive { name="mapproj"; version="1.2-2"; sha256="1fdb72hvcp6jm7rhvs8zdkya6ifs92lfqnmq5vj5amwckkxfidc6"; depends=[maps]; };
-  maps = derive { name="maps"; version="2.3-7"; sha256="01bzy9xqa5fhqjhvwrxygkk5ym3rl9kz86frpby735bx5qy6ij4b"; depends=[]; };
-  mapStats = derive { name="mapStats"; version="1.17"; sha256="1jnqchrrn2v1smzk1c3laycr2fs8x59c9mb8lhs4bxqbhhwgmi8p"; depends=[survey lattice maptools RColorBrewer Hmisc quantreg classInt sp colorspace reshape2]; };
-  maptools = derive { name="maptools"; version="0.8-30"; sha256="0vbpgxdz6xl8a2bkhcw6rfs15nvmppka0ad7i2v2pi18350riwpq"; depends=[sp foreign lattice]; };
-  maptpx = derive { name="maptpx"; version="1.9-1"; sha256="1yrlgz5bkjjs3m59dqp60n95lax0fp7xw00v59kymmw5hr3sis6f"; depends=[slam]; };
-  maptree = derive { name="maptree"; version="1.4-7"; sha256="1k7v84wvy6wz6g0dyiwvd3lvf78rlfidk60ll4fz7chvr2nrqdp4"; depends=[cluster rpart]; };
-  mAr = derive { name="mAr"; version="1.1-2"; sha256="0i9zp8n8i3fxldgvwj045scss533zsv8p476lsla294gp174njr7"; depends=[MASS]; };
-  MAR1 = derive { name="MAR1"; version="1.0"; sha256="1r6j890icl5h3m2876sakmwr3c65513xnsj68sy0y0q7xj3a039l"; depends=[leaps bestglm]; };
-  mar1s = derive { name="mar1s"; version="2.1"; sha256="0psjva7nsgar5sj03adjx44pw0sdqnsd96m4g6k8d76pv30m1g7l"; depends=[cmrutils fda zoo]; };
-  marelac = derive { name="marelac"; version="2.1.3"; sha256="155a8ijl2y8l4r980ml0p23jrwnf36xqsa8s1q6n7arhxwaknhxv"; depends=[shape seacarb]; };
-  marg = derive { name="marg"; version="1.2-2"; sha256="0j08zzcrj8nqsargi6xi50gy9pl4smmsp4b7ywlga7r1ga38g82r"; depends=[statmod survival]; };
-  margie = derive { name="margie"; version="1.0"; sha256="1jkhg15xdiqjvpzbbc39l8jlfw0yrbarnd3zbgb3p0rh733x5g4j"; depends=[]; };
-  marginalmodelplots = derive { name="marginalmodelplots"; version="0.4.2"; sha256="0d7m7sddz9rp1mkvirhcmk7hlbxsag3nm3vqfampnr7l2h158baa"; depends=[locfit]; };
-  markdown = derive { name="markdown"; version="0.7.2"; sha256="02dgi2q5gs359affvx0w2pvfcr25wqpzfvyc6labyfxmiw0gax13"; depends=[mime]; };
-  marked = derive { name="marked"; version="1.1.6"; sha256="0f9sa4mdkiq1fn99sczb0glf5xfm17a3x8dq9ycf0l39fyg582d0"; depends=[lme4 R2admb truncnorm coda optimx ggplot2 Matrix numDeriv Rcpp plyr]; };
-  MarkedPointProcess = derive { name="MarkedPointProcess"; version="0.2.21"; sha256="06bypa124raa4vbcvi082vpd8bndnar4p1v18dq261z6j3ixk44k"; depends=[RandomFields R2Cuba]; };
-  maRketSim = derive { name="maRketSim"; version="0.9.2"; sha256="1cq17zjwyf4i5lcqgxqkw805s4mr6qp89blgpmpxy8gdrbfj93m4"; depends=[]; };
-  markovchain = derive { name="markovchain"; version="0.0.9.5"; sha256="06fsfrfm7xyba97yfxcp85vqamavbinvm8wr2darafn20ggahrck"; depends=[igraph Matrix matlab expm]; };
-  MarkowitzR = derive { name="MarkowitzR"; version="0.1402"; sha256="1fbn6l8z76ak8z2nyzmizcjm7h54y58773nsy03x1pwykcwpzw9f"; depends=[matrixcalc sandwich gtools]; };
-  marmap = derive { name="marmap"; version="0.8"; sha256="0141vz2bwwzyhfxvy5w0f0idp8amq89633acfy3r1al50razispp"; depends=[RSQLite gdistance geosphere sp raster ncdf plotrix shape]; };
-  marqLevAlg = derive { name="marqLevAlg"; version="1.1"; sha256="1wmqi68g0flrlmj87vwgvyxap0miss0n42qiiw7ypyj4jw9kwm8j"; depends=[]; };
-  MARSS = derive { name="MARSS"; version="3.9"; sha256="0vn8axzz0nqdcl3w00waghz68z8pvfm764w11kxxigvjpw2plj31"; depends=[nlme mvtnorm KFAS]; };
-  maSAE = derive { name="maSAE"; version="0.1-2"; sha256="18a1zbfmjhrmi3fgqd7vaicpsca59kp8r1003pwl7l4032p32fxk"; depends=[]; };
-  MASS = derive { name="MASS"; version="7.3-33"; sha256="1bq005zxyc7842z4cz5ilhh917clfdmhg5czfq6plkdgwq8nfhlk"; depends=[]; };
-  MASSI = derive { name="MASSI"; version="1.1"; sha256="13kavfsm48qq9zyp10scfjcgrk0x2n4my7cz2xy78s14knlrks5y"; depends=[fpc gplots]; };
-  MASSTIMATE = derive { name="MASSTIMATE"; version="1.2"; sha256="1j9l8b5d518ag9ivzr1z4dd2m23y2ia1wdshx1krmshn8xsd6lwp"; depends=[]; };
-  MasterBayes = derive { name="MasterBayes"; version="2.51"; sha256="0mbvhn6yspralmlajimdin14hszh78m0bxb3zdxd73xhjqxl4ixk"; depends=[coda genetics gtools kinship2]; };
-  MAT = derive { name="MAT"; version="0.1-3"; sha256="0z9kiji0kar286dcirsgrszd2kn6hcrfq8jhnn5pa2rfscgccdmj"; depends=[MASS]; };
-  Matching = derive { name="Matching"; version="4.8-3.4"; sha256="04m647342j4yi74ds7ddwnyrf58qdy7k3mc067k3p779qavq2ka1"; depends=[MASS]; };
-  MatchIt = derive { name="MatchIt"; version="2.4-21"; sha256="02kii2143i8zywxlf049l841b1y4hqjwkr1cnyv6b8b7y7lz2m5v"; depends=[MASS]; };
-  mathgraph = derive { name="mathgraph"; version="0.9-11"; sha256="0xikgzn24p0qqlrmaydmjk5yz5pq2rilsvpx86n3p2k2fc3wpwjy"; depends=[]; };
-  maticce = derive { name="maticce"; version="1.0-3"; sha256="0nir60jbai0fisccrpkrnjm5z9lvhimhwfiqnmzxw4mjiifj41c2"; depends=[ouch ape]; };
-  matie = derive { name="matie"; version="1.2"; sha256="1ymx49cyvz63imqw5n48grilphiqvvdirwsrv82p7jgxdyav2xv0"; depends=[dfoptim mvtnorm seriation igraph gplots cba]; };
-  matlab = derive { name="matlab"; version="1.0.2"; sha256="0m21k2vzbc5d3c93p2hk4208xyd2av2slg55q5j1ibjidiryqgd2"; depends=[]; };
-  Matrix = derive { name="Matrix"; version="1.1-4"; sha256="1pxkyfa09gf5rwk1x9hdxrgr1hjs4390h73z3f8h2224rszr3hqh"; depends=[lattice]; };
-  matrixcalc = derive { name="matrixcalc"; version="1.0-3"; sha256="1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp"; depends=[]; };
-  MatrixEQTL = derive { name="MatrixEQTL"; version="2.1.0"; sha256="03ccawgrkv0r3y8smpym27p5bsxy8y9rhn7pqs9ybb385951azy9"; depends=[]; };
-  MatrixModels = derive { name="MatrixModels"; version="0.3-1.1"; sha256="0b44gyvpfvhbkl1vymni7pplidz9a5jrcalswx19hnh5x14qw168"; depends=[Matrix]; };
-  matrixpls = derive { name="matrixpls"; version="0.3.0"; sha256="12qa1isj9609xj8qrr8ra8l711zagckim3nwvp7crrv4i6jm4299"; depends=[assertive matrixcalc psych lavaan MASS]; };
-  matrixStats = derive { name="matrixStats"; version="0.10.0"; sha256="15pgp50jyycp9hqrf6g9yz0gfv9a0w5yd9amw3vwn3mr202fab5f"; depends=[R_methodsS3]; };
-  MATTOOLS = derive { name="MATTOOLS"; version="1.1"; sha256="1nzrkm3a08rpsd9vplyf33rrkadlrd0ln70k95qxj98ndh2v97px"; depends=[]; };
-  MAVTgsa = derive { name="MAVTgsa"; version="1.3"; sha256="0rzal9nsi8y873cbf6hrdyzyxnpd4r1yr9fj66cn0s1c8g93ls0y"; depends=[corpcor foreach multcomp randomForest MASS]; };
-  MaXact = derive { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; };
-  maxent = derive { name="maxent"; version="1.3.3.1"; sha256="1skc7d0p6kg0gi1bpgaqn2dmxjzbvcphx5x3idpscxfbplm5v96p"; depends=[SparseM tm Rcpp]; };
-  maxLik = derive { name="maxLik"; version="1.2-0"; sha256="1vgq2pjy8244ccdjcrrgri4sn2kcwqyfwskh885ci5aw01121d36"; depends=[miscTools sandwich]; };
-  maxlike = derive { name="maxlike"; version="0.1-5"; sha256="0h544wr7qsyb70vmbk648hfyb6arrsb41gw39svcin412rhw9k9j"; depends=[raster]; };
-  maxstat = derive { name="maxstat"; version="0.7-20"; sha256="171xsq96qdclb7ndpmv8652gh372ncxfkn5yfngvjv1fb12dq8jx"; depends=[exactRankTests mvtnorm]; };
-  MBA = derive { name="MBA"; version="0.0-8"; sha256="09rs1861fz41dgicgh4f95v4zafh1jfxhqar1plpqqdx8z1gpxfl"; depends=[sp]; };
-  mbbefd = derive { name="mbbefd"; version="0.1"; sha256="0m24q679b7a27hw7v370p21w9bq18zc225q2df319hdrya3aygf2"; depends=[]; };
-  MBCluster_Seq = derive { name="MBCluster.Seq"; version="1.0"; sha256="0xbi2r0g0gzsy05qrq1ljr5f5s3glwxj204vk2f1lgwdx3fd116m"; depends=[]; };
-  MBESS = derive { name="MBESS"; version="3.3.3"; sha256="12jsrxwdprrahqbk0i0js7lja81ydy385xmijlqk0slppd72dd9c"; depends=[]; };
-  mbest = derive { name="mbest"; version="0.1"; sha256="0dz54rgbl40cbrv6670qd441ymz43lj16dvd9fnq3znfafc1790n"; depends=[lme4]; };
-  MBI = derive { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; };
-  mblm = derive { name="mblm"; version="0.12"; sha256="17h65bapvz89g5in3gkxq541bxgpj9pciz6i5hzhqn0bdbsb3k6r"; depends=[]; };
-  MBmca = derive { name="MBmca"; version="0.0.3-3"; sha256="04v1xbkmrb196pm6a1ql8jdw2h126zzq5qni0mv3vh9wwnlnqlcs"; depends=[robustbase chipPCR]; };
-  mbmdr = derive { name="mbmdr"; version="2.6"; sha256="0ss5w66hcgd8v8j9bbbp12a720sblhr2hy9kidqfr8hgjaqlch86"; depends=[logistf]; };
-  mboost = derive { name="mboost"; version="2.3-0"; sha256="1p4jqmnsp37jx52cw3k86zkbxr8qch710nszk173mqxcf77w28ip"; depends=[Matrix survival lattice nnls quadprog]; };
-  mc2d = derive { name="mc2d"; version="0.1-14"; sha256="1djnvwlq1qvvwhnmj3ijwyaqyp1k778i1yv6qmlj053lc38b54j7"; depends=[mvtnorm]; };
-  MC2toPath = derive { name="MC2toPath"; version="0.0.16"; sha256="0jdn9wpxavn2wrml907v23mfxr62wwjdh7487ihjj59g434ry7wh"; depends=[RNetCDF]; };
-  MCAPS = derive { name="MCAPS"; version="0.3-2"; sha256="1jvxl9xi102pcs3swxlx4jk76i7i4fll88c92k7m379ik3r36alb"; depends=[stashR]; };
-  MCAvariants = derive { name="MCAvariants"; version="1.0"; sha256="08c5qpklilj41agi5nzm4f5w41pdxk98i1wc1ahhnawc3n2cdbjz"; depends=[]; };
-  mcbiopi = derive { name="mcbiopi"; version="1.1.2"; sha256="12h4bv3hx1m6bsqdxj5n3b5gh98ms508am8pigz7ckmv0xkyhx85"; depends=[]; };
-  mcc = derive { name="mcc"; version="1.0"; sha256="0p661a870bvh3xhcahqqq85azn9rjl3vacjy96jsdn86irj4s0vi"; depends=[]; };
-  mcclust = derive { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; };
-  MCDA = derive { name="MCDA"; version="0.0.3"; sha256="0nfj5wlsjhj3z20jvdwl12r18rxnpk343r49j5awkh41qa0qyjr8"; depends=[Rglpk Kendall glpkAPI]; };
-  mcga = derive { name="mcga"; version="2.0.9"; sha256="197yldx03c634f3x0mpxxvqrys93n7z7n3x0alvqa42z3vdkrz7b"; depends=[]; };
-  mcgibbsit = derive { name="mcgibbsit"; version="1.1.0"; sha256="09ydcbjz3abmh46966v01dh26fy79dfklk3zjf262zp3c62ld9yf"; depends=[coda]; };
-  mcGlobaloptim = derive { name="mcGlobaloptim"; version="0.1"; sha256="1p8841y9a4yq51prv6iirgw9ln8jznx8nk547sc5xlznksjy1g9n"; depends=[randtoolbox snow]; };
-  mcheatmaps = derive { name="mcheatmaps"; version="1.0.0"; sha256="1gglm32xpmim38m7fziczgqfbpcq2899lxardsrzg6j1vhmf765y"; depends=[gridBase]; };
-  MChtest = derive { name="MChtest"; version="1.0-2"; sha256="01lflilrp42m236cznn6qgzvv5v9fzpx6wcfxp3q545bw2xmbdvj"; depends=[]; };
-  mcIRT = derive { name="mcIRT"; version="0.40"; sha256="1mqyivxgg0mzhlvl3swgicb78ikk998yab0ssmbagbk24amr1q7h"; depends=[Rcpp RcppArmadillo]; };
-  mcll = derive { name="mcll"; version="1.2"; sha256="0i9zqbh0l9a9mv4558gbdq9mh52chanykyfwmiymmxygxhp809sz"; depends=[statmod locfit]; };
-  mclogit = derive { name="mclogit"; version="0.2-7"; sha256="1ykkrbbnha7npmxr79qc7x77xa3847rjcax6gxrala5s07yg7sww"; depends=[memisc Matrix]; };
-  mclust = derive { name="mclust"; version="4.3"; sha256="0ii3w4d66p47i0xmjl9gz4g36piqz3b2kny876qdfjj7wh9m7hpl"; depends=[]; };
-  mcmc = derive { name="mcmc"; version="0.9-3"; sha256="148l28nb1qv82x2hj46c26yhn0lw8x5jsrp2dav9sbysv1bdj2f8"; depends=[]; };
-  MCMCglmm = derive { name="MCMCglmm"; version="2.21"; sha256="1mjjp65w7pg2kxrx2qf0lh1kdi9d21xxj7s39zhi3q8ixw35h95r"; depends=[Matrix coda ape corpcor tensorA]; };
-  MCMChybridGP = derive { name="MCMChybridGP"; version="4.3"; sha256="1a2mhhscjf7s2qczc4zz2pvb9kichdqr1lnkjsyiy61snbhkvp3n"; depends=[MASS]; };
-  MCMC_OTU = derive { name="MCMC.OTU"; version="1.0.8"; sha256="1bdmvwxkm162m3237bgf42dm5kp3q0giwf0avrkla8qd834gqch0"; depends=[MCMCglmm ggplot2]; };
-  MCMCpack = derive { name="MCMCpack"; version="1.3-3"; sha256="0s1j3047qp2fkwdix9galm05lp7jk7qxyic6lwpbd70hmj8ggs76"; depends=[coda MASS]; };
-  mcmcplots = derive { name="mcmcplots"; version="0.4.1"; sha256="0japi78j1a9q6mb7j74d81lj45j8878mdby7765yz8xnjzwjpslb"; depends=[coda sfsmisc colorspace denstrip]; };
-  MCMC_qpcr = derive { name="MCMC.qpcr"; version="1.1.3"; sha256="101pbg08p594ilcrrig9sqkddprpl6cd6g9y9rrk1rq6cy5cmrvr"; depends=[MCMCglmm ggplot2]; };
-  mcmcse = derive { name="mcmcse"; version="1.0-1"; sha256="1jn5hl6aw83qmwccyfmcsvcymx9cp4d3qnfzzqvlw22x26rx88r6"; depends=[]; };
-  mco = derive { name="mco"; version="1.0.12"; sha256="1zfk01l9hza810f0kw8i4d3ayvn6l115c7i31a9ai1c33yralj0d"; depends=[]; };
-  Mcomp = derive { name="Mcomp"; version="2.05"; sha256="0wggj0h0qxjwym1vz1gk9iwnwia4lpjlk6n46l6hinsdax3g221y"; depends=[tseries forecast]; };
-  MConjoint = derive { name="MConjoint"; version="0.1"; sha256="02yik28mhvd4rfqwrprdbdjx9c49ds55fh042bsjajs2ip467w5c"; depends=[]; };
-  MCPAN = derive { name="MCPAN"; version="1.1-15"; sha256="0811wrbp0nf4nj8kvq62ks8yksabib8r1a0gx3nr3v6avfnv08w1"; depends=[mvtnorm multcomp]; };
-  McParre = derive { name="McParre"; version="1.0.1"; sha256="16bfca867drbknzc6bylg8paa8p72l23wgjpyvy4pd9z6lpgmhdy"; depends=[MASS]; };
-  MCPerm = derive { name="MCPerm"; version="1.1.4"; sha256="0g65vzn43k6qrsglxd2kz245f662gl3c2gdz6qvvxa96v6q9lhh1"; depends=[metafor]; };
-  MCPMod = derive { name="MCPMod"; version="1.0-7"; sha256="1iv4c3hsi69yhwch5mf88l27pni07yjnkjqr53kkq167axs7zklx"; depends=[mvtnorm lattice]; };
-  mcprofile = derive { name="mcprofile"; version="0.2-0"; sha256="1vcrszx0fzvvgn8fjja5ncsdvbkikxf2ri52c09xyqnq97r5hx68"; depends=[ggplot2 quadprog mvtnorm]; };
-  mcr = derive { name="mcr"; version="1.2.1"; sha256="0237w41xichd418ax9xviq4wxbcc6c0cgr5gvzkca67nnqgc4jaz"; depends=[]; };
-  mcsm = derive { name="mcsm"; version="1.0"; sha256="13sx7s3ywis5n4a70ld2szld9fb8jkfsc82dy6iskhy17vy8pml0"; depends=[MASS coda]; };
-  McSpatial = derive { name="McSpatial"; version="2.0"; sha256="18nmdzhszqcb5z9g8r9whxgsa0w3g7fk7852sgbahzyw750k95n4"; depends=[lattice locfit maptools quantreg RANN SparseM]; };
-  mda = derive { name="mda"; version="0.4-4"; sha256="18a12fnhcx911ii8wfqkyi8yxrhbiw2pi6mhywgxzsl3a09g8ghh"; depends=[class]; };
-  mdatools = derive { name="mdatools"; version="0.5.3"; sha256="00zv97asyxp6m4fckkrzba2v1b24a3qzdh4f03nbv5nxdkmbpv4a"; depends=[]; };
-  mded = derive { name="mded"; version="0.1-1"; sha256="1r2sjg661abzsbqdyq2mlyacnv5rd60jfg2156cq5qyknxkin01m"; depends=[]; };
-  MDM = derive { name="MDM"; version="1.3"; sha256="1bvjhl243rf19829ly1qc20ik937hb82lq23aiysj7ya55z8hdpf"; depends=[nnet]; };
-  MDPtoolbox = derive { name="MDPtoolbox"; version="4.0.2"; sha256="04w0y5ib23l7nhj1947hwvfk6lpwwc11amqpyw1w53yj794g97wz"; depends=[Matrix linprog]; };
-  MDR = derive { name="MDR"; version="1.2"; sha256="0g2fvvcwagml6635va87nc0ijzy0pypx5aqzz7mf5w13j0wpm24y"; depends=[lattice]; };
-  meboot = derive { name="meboot"; version="1.4-3"; sha256="0n01g1mjm07pii1las7l2003kg705fqdi941l9lyvdkglnx0dkc6"; depends=[dynlm nlme]; };
-  mederrRank = derive { name="mederrRank"; version="0.0.7"; sha256="08jbqmb418qb7v2x6lm4wig1pfzzfx6fhb49mbfhlkbmssbqsjfq"; depends=[BB numDeriv]; };
-  mediation = derive { name="mediation"; version="4.4"; sha256="1vgx0i9gk7lqpvyyci0d5s9ls0ydhvhrqw9041ikb4b6h2y2aln3"; depends=[MASS Matrix lpSolve sandwich]; };
-  MedOr = derive { name="MedOr"; version="0.1"; sha256="1rwc14s16lnzgb78ac2017hv9pss7zw7nw3y7vrvq1qx4fgiw6f8"; depends=[]; };
-  medSTC = derive { name="medSTC"; version="1.0.0"; sha256="1f7w6jbxairqvghr5b7vgdllg3ian16a1fgi7vqlq0mhy2j6phan"; depends=[]; };
-  MEET = derive { name="MEET"; version="5.1.1"; sha256="02xz2zkwqaf1wck9a3h1j6z8dasw4j0zqa88jg6h10wqzcrlp9ba"; depends=[seqinr Matrix ROCR Hmisc KernSmooth]; };
-  mefa = derive { name="mefa"; version="3.2-5"; sha256="037vpnwclyj6xgycznh6g6qlirlgy3sjnkjqb1046q80b5ywv2ni"; depends=[]; };
-  mefa4 = derive { name="mefa4"; version="0.3-1"; sha256="0zyjhq80krnb11wh8p8006qz0znrps3qsd2qnhkw7zwl5282i1zp"; depends=[Matrix]; };
-  meifly = derive { name="meifly"; version="0.3"; sha256="1x3lhy7fmasss0rq60z5qp74ni32sahw62s8cnp2j431sp95pczc"; depends=[plyr leaps MASS]; };
-  mem = derive { name="mem"; version="1.4"; sha256="1d3fgllh7fhlfz3rz2jm31r8vn7msz4na4762iaw161qp2j101db"; depends=[sm boot]; };
-  memgene = derive { name="memgene"; version="1.0"; sha256="00b1mi2hvzzps542mh2p96s27kjqkpcic7djklfcwnfn1m4bz0i5"; depends=[ade4 raster gdistance vegan]; };
-  memisc = derive { name="memisc"; version="0.96-9"; sha256="0nra47086z4cxwx2hj0w3rdc7zi7k05z9fm6mxw2gi19jgamwcma"; depends=[lattice MASS]; };
-  memoise = derive { name="memoise"; version="0.2.1"; sha256="19wm4b3kq6xva43kga3xydnl7ybl5mq7b4y2fczgzzjz63jd75y4"; depends=[digest]; };
-  MEMSS = derive { name="MEMSS"; version="0.9-2"; sha256="0wyw8yjs4miwgwdfcnfbzvkxrgv5r3jlg3cg8q2vy7s69wvhksmy"; depends=[lme4]; };
-  memuse = derive { name="memuse"; version="1.1"; sha256="1i6l3d885b4v01hlkl50m401bwi7akydhh52gf4kya5khanb8n2b"; depends=[]; };
-  MergeGUI = derive { name="MergeGUI"; version="0.2-1"; sha256="1hx03qv5jyjjmqdvylc3kz5dl5qsdqwlirjbrnxrw7grkgkhygap"; depends=[gWidgetsRGtk2 ggplot2 cairoDevice rpart]; };
-  merror = derive { name="merror"; version="2.0.1"; sha256="09v62f7ycywasid3b7x52dhidplwdbx9fd0855b40jklfy469bkn"; depends=[]; };
-  MESS = derive { name="MESS"; version="0.2-1"; sha256="1hqq615643iqhw6kvcxnxqlpzirdvq0hjm7j2n9x5zkr62syaql3"; depends=[geepack kinship2 mvtnorm]; };
-  meta = derive { name="meta"; version="3.7-1"; sha256="0v8pi7lv645vkw6l13r251hh1rzvsklpx98kx6y3d0kwkbcj3p23"; depends=[]; };
-  MetABEL = derive { name="MetABEL"; version="0.2-0"; sha256="0rqjv85mgswrbbp8b8ip6cdmz0cvfy9lm5mcr8a7h38rzgx3g3i3"; depends=[]; };
-  MetabolAnalyze = derive { name="MetabolAnalyze"; version="1.3"; sha256="0cl76x6imx4a95wd74xx5s8i2vg8wq3inqgakvgzmkwxad6qhrqp"; depends=[mclust mvtnorm ellipse gtools gplots]; };
-  metabolomics = derive { name="metabolomics"; version="0.1.3"; sha256="1i5wqpjqbl5rhmys6l3iqkrnni7hw7ihq6c5l49ibi7mfyhzq5j9"; depends=[crmn]; };
-  metacom = derive { name="metacom"; version="1.3"; sha256="12asmqwaihm9j6p6qp79m1j93gfcj6rkwmpywhi6nv4g85c1shll"; depends=[vegan lattice]; };
-  metacor = derive { name="metacor"; version="1.0-2"; sha256="04k3ph0yg3jp8x4g6l1h4m0qwl51mx0626xmm0fzr1pv4b4a1ypw"; depends=[rmeta gsl]; };
-  MetaDE = derive { name="MetaDE"; version="1.0.5"; sha256="1ijg64bri5jn2d3d13q1gvvfyqmbh6gn0lk6dkihixf0jwvjdyqi"; depends=[survival combinat]; };
-  metafolio = derive { name="metafolio"; version="0.1.0"; sha256="18s78lljwnn3j0l3mqc0svszcb3c8yzyzlpnimndbiq9yxagxnnf"; depends=[Rcpp plyr colorspace MASS]; };
-  metafor = derive { name="metafor"; version="1.9-4"; sha256="1kfj59jdns1b9m40xdpqyxjq592mkdr2f4i6nswkqga28ss8nk8w"; depends=[Formula Matrix]; };
-  metagen = derive { name="metagen"; version="1.0"; sha256="0jvbm22976aqvmfnjzs51n2w099yj5hpx6hd0pgvbia80jk7b9vk"; depends=[MASS lhs plyr BBmisc ParamHelpers BatchJobs BatchExperiments ggplot2 metafor]; };
-  metaLik = derive { name="metaLik"; version="0.41.0"; sha256="08wiriq6cm02d0b0q34056y5249daidpjzkwzgjq6dh55v5fp2s4"; depends=[]; };
-  metaMA = derive { name="metaMA"; version="2.1"; sha256="1hwhj3m4n48qb9vqix2qazsy1xnmwk8x37zm826xx9j0n5j2ilac"; depends=[SMVar]; };
-  metamisc = derive { name="metamisc"; version="0.1.1"; sha256="1cvlsix3b857xdw6anqhqsrfwxpnf4rbzg4ybf6aw7vcdc05zgwd"; depends=[mvtnorm ellipse bbmle rjags coda]; };
-  metap = derive { name="metap"; version="0.6"; sha256="1iy5cmwrlsr70z0qnqn30n15knsfclg383815a2a8yqpg5gs4953"; depends=[]; };
-  MetaPCA = derive { name="MetaPCA"; version="0.1.4"; sha256="14g4v3hyxnds4l2q36mpz282yqg8ahgdw3b0qmj0xg17krrf5l2s"; depends=[foreach]; };
-  MetaQC = derive { name="MetaQC"; version="0.1.13"; sha256="11595ggjr46z6xiwmhiyx1sydaq68l18y7mgdwxsg81g03ck9x1r"; depends=[proto foreach iterators]; };
-  metaRNASeq = derive { name="metaRNASeq"; version="0.4"; sha256="14xqgxvlip6il1gx9xvv37683qm7zmyswklbcgqw9rgqifi0plal"; depends=[]; };
-  metasens = derive { name="metasens"; version="0.1-0"; sha256="0hrrzn6p14p2vs7bllkh9yxg0a3x87dmniglhq05p23g4lymcmbl"; depends=[meta]; };
-  MetaSKAT = derive { name="MetaSKAT"; version="0.40"; sha256="1jxs32hvsw6wzci9f1rc7sw1dfyazdm2d57wcmhkggfg3hkdn1vv"; depends=[SKAT]; };
-  metatest = derive { name="metatest"; version="1.0-4"; sha256="0bz6gg2n4ffkr144jxk27y24xpqhp8awr09wkaijmv8902qx6qah"; depends=[]; };
-  Metatron = derive { name="Metatron"; version="0.1-0"; sha256="0pfkb8wh1gbygbi7m9c5zi630clkn2bd1y9yrdxjlqifzvwx4dbi"; depends=[lme4 mpt Matrix]; };
-  meteoForecast = derive { name="meteoForecast"; version="0.31"; sha256="02rbl05i70ss65946w1aa2bg01l8hspqmmqz4w8j2jhs6dhgd429"; depends=[raster sp zoo ncdf rjson]; };
-  meteogRam = derive { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; };
-  Meth27QC = derive { name="Meth27QC"; version="1.1"; sha256="0ad30svs2kjzmmyvcm0jmv64iyq7slp1x1xl35h2rv1b6zbd4658"; depends=[gplots]; };
-  MethComp = derive { name="MethComp"; version="1.22"; sha256="0wp2v8z5y9nl3jalcl2a42z2fpkwkzkvl407farws0yih0hj8b8l"; depends=[nlme]; };
-  Methplot = derive { name="Methplot"; version="1.0"; sha256="0aaqss9zfn55qi45jffxkksnkw510npjnkygafx49vl77bkagqh5"; depends=[ggplot2 reshape]; };
-  Metrics = derive { name="Metrics"; version="0.1.1"; sha256="1yqhlsmhh9sl7qngl85b7qb980s54h13wwznpakyvvwlar64yqrw"; depends=[]; };
-  metRology = derive { name="metRology"; version="0.9-17"; sha256="1g4gv3mpii71i6imfwqg9d5iwfx03bq4lizzhx7dy39b2mj7jd4q"; depends=[MASS numDeriv]; };
-  metrumrg = derive { name="metrumrg"; version="5.55"; sha256="1y95j8chnm34svf4q7ijqm19778pnap8734a40v3zb17zbjvs3aj"; depends=[reshape lattice XML MASS]; };
-  mets = derive { name="mets"; version="0.2.8"; sha256="11mvd8bjd2h106d7kr60axp24pp38z21jkabgbpcigzc14mrd8y9"; depends=[timereg lava numDeriv Rcpp]; };
-  MetSizeR = derive { name="MetSizeR"; version="0.99"; sha256="1msq0la89fvg9vfz5k8rzsnhpqa9b8cjyhggp7mp10rzh696sdap"; depends=[gWidgets cairoDevice pscl gtools MetabolAnalyze]; };
-  MetStaT = derive { name="MetStaT"; version="1.0"; sha256="0400gx6i8xlkm51da98ap91c3hgrkgfgxswn0plaxfry3625khkp"; depends=[MASS abind pls]; };
-  mewAvg = derive { name="mewAvg"; version="0.3.0"; sha256="16gc78ccjffp9qgc7rs622jql54ij83ygvph3hz19wpk22m96glm"; depends=[]; };
-  MExPosition = derive { name="MExPosition"; version="2.0.3"; sha256="1l27wp0psfvlkk79fhb8ypf8awardjljg1f37yj42friy9pdfksz"; depends=[prettyGraphs ExPosition]; };
-  MF = derive { name="MF"; version="4.3.2"; sha256="1arnhyqf1cjvngygcpqk2g4d52949rhkjmclbaskyxcrvp62qln0"; depends=[]; };
-  MFDA = derive { name="MFDA"; version="1.1-4"; sha256="0zf21al8ivmsxlf1i7kc01w0jx3s6650a034cdynz7axnxx28ncx"; depends=[gss mvtnorm]; };
-  MFHD = derive { name="MFHD"; version="0.0.1"; sha256="0gb8y297y1x03wy46530psmlawyv4z5dydilk36qcmadlk1wx02k"; depends=[fda_usc deldir depth depthTools matrixStats]; };
-  mFilter = derive { name="mFilter"; version="0.1-3"; sha256="1cz9d8447iiy7sq47civ1lcjafqdqs40lzxm2a4alw4wy57hc2h6"; depends=[]; };
-  mfp = derive { name="mfp"; version="1.4.9"; sha256="1xnx4jgkxccli1y852kvf26q04mdidczpic3ms916a8mkby7kg3k"; depends=[survival]; };
-  MFSAS = derive { name="MFSAS"; version="1.0-0"; sha256="1vnhkr4bgwdn6ffzqfp8w7z45m0ghrfr6ib4agv23frk36ypmxxr"; depends=[]; };
-  mfx = derive { name="mfx"; version="1.1"; sha256="1zhpk38k7vdq0pyqi1s858ns19qycs3nznpa00yv8sz9n798wnn5"; depends=[sandwich lmtest MASS betareg]; };
-  mgcv = derive { name="mgcv"; version="1.8-2"; sha256="01ml3lwwisg96mb9xs5z5igy4hl480zwbf3s4kpwzzg375ksn49v"; depends=[nlme Matrix]; };
-  MGLM = derive { name="MGLM"; version="0.0.6"; sha256="00kz2l7xn9df8n0035i2rkgj6rlb99y9z68935q8px70njs8rl87"; depends=[ggplot2 plyr reshape2]; };
-  mgpd = derive { name="mgpd"; version="1.99"; sha256="0cxpgza9i0hjm5w1i5crzlgh740v143120zwjn95cav8pk8n2wyb"; depends=[evd numDeriv corpcor fields]; };
-  mgraph = derive { name="mgraph"; version="1.03"; sha256="0av2c0jvqsdfb3i0s0498wcms0n2mm0z3nnl98mx2fy7wz34z8b2"; depends=[rgdal]; };
-  MGRASTer = derive { name="MGRASTer"; version="0.9"; sha256="0jmf2900r56v60981sabflkhid3yrqd9xd7crb56vgfl1qkva9zp"; depends=[]; };
-  MGSDA = derive { name="MGSDA"; version="1.0"; sha256="1h4sz9csc5cvkr0jnwas28233yx4v0lwxsgl6vh4gxk8w81md25y"; depends=[glmnet]; };
-  mGSZ = derive { name="mGSZ"; version="1.0"; sha256="08l98i75h2h8kx9ksvzp5qr8jhf0l6n4j7rg8fcn7hk8chn8v5zh"; depends=[GSA MASS ismev]; };
-  MHadaptive = derive { name="MHadaptive"; version="1.1-8"; sha256="1w3bm82v8ahxrf0vqn0pznv7dqn212drinkz8y5kr1flx423l9ws"; depends=[MASS]; };
-  mhsmm = derive { name="mhsmm"; version="0.4.12"; sha256="0k8qm447fcgfc5fmqn478dszr76jmin85k51ccqmhgk14jiz64bf"; depends=[mvtnorm]; };
-  mht = derive { name="mht"; version="3.00"; sha256="143gmipx6v9nvg2lq1kbl7ns6qmvwpxf3gzmq4b6cfgamcljl05l"; depends=[glmnet]; };
-  mhurdle = derive { name="mhurdle"; version="1.0-1"; sha256="1x631fgbq3ika05svyavzadyjd7vi9bcmsgb58wfhpf9xq6j5rcr"; depends=[Formula truncreg maxLik pbivnorm]; };
-  mi = derive { name="mi"; version="0.09-18.03"; sha256="01cxkqy5g0i7bqr9rb86075p5gmwgcs7cvs4nfs00r5vjw1hgq61"; depends=[arm abind car foreign lme4 MASS Matrix nnet R2WinBUGS]; };
-  mice = derive { name="mice"; version="2.22"; sha256="1b7ivpa21ipzbmmwjn1ch968zpw6wydg30f7jdk95m40lrk2xs68"; depends=[Rcpp lattice MASS nnet randomForest rpart]; };
-  miceadds = derive { name="miceadds"; version="0.14-9"; sha256="0zfqs52kaj9sxdzc7j0zxbnaqnkz9a8pwgn2p0pz46qf7kgx6y16"; depends=[MASS mice mvtnorm pan sirt lme4 MBESS pls mitools bayesm Rcpp inline car foreign]; };
-  micEcon = derive { name="micEcon"; version="0.6-12"; sha256="1kxhr3qqgswq8glrjfcjz0hyb163lwf303yhwlgrwjciqgp5dq17"; depends=[miscTools]; };
-  micEconAids = derive { name="micEconAids"; version="0.6-16"; sha256="07hsabrlkwpdaalh0b7izraz2q5dlxn373ccijc5c4zsrkgk7kij"; depends=[lmtest micEcon systemfit miscTools]; };
-  micEconCES = derive { name="micEconCES"; version="0.9-8"; sha256="06g6z8hf7y9d942w6gya0fd5aidzfjkx3280gjygdlwpv7nlpqzv"; depends=[minpack_lm DEoptim systemfit car micEcon miscTools]; };
-  micEconSNQP = derive { name="micEconSNQP"; version="0.6-6"; sha256="1n3pxapc90iz1w3plaqflayd0b1jqd65yw5nbbm9xz0ih132dby9"; depends=[miscTools systemfit MASS]; };
-  MiClip = derive { name="MiClip"; version="1.2"; sha256="0cszylg7sk88gs1f4dfshw74kdifjr4q069ssxzgss9k90rszp30"; depends=[moments VGAM]; };
-  microbenchmark = derive { name="microbenchmark"; version="1.3-0"; sha256="1j0pif46bymmkgr61yf2xv2ymm0xwx52lyc46pgas4i9czygdc9v"; depends=[]; };
-  MicroDatosEs = derive { name="MicroDatosEs"; version="0.6.3.1"; sha256="17ka9bdic8vdr0aabmgm216zm9a8jppxll042b5ric4vzplah17d"; depends=[memisc Hmisc]; };
-  micromap = derive { name="micromap"; version="1.9"; sha256="0scb79rrj11vy7qgq27hy8222ar22yagk31bq8b5z268zwfbw4fs"; depends=[ggplot2 maptools RColorBrewer rgdal]; };
-  micromapST = derive { name="micromapST"; version="1.0.3"; sha256="182zhpsps8cx3wflc5j62njzsv108d5a30v9sb1wpxpcrnsyr343"; depends=[RColorBrewer]; };
-  MicroStrategyR = derive { name="MicroStrategyR"; version="1.0-1"; sha256="0a6bk0wnwx8zy9081n7wb12lidgckrhn350r0q5m6aa82l6l8ihi"; depends=[gWidgetsRGtk2]; };
-  MicSim = derive { name="MicSim"; version="1.0.6"; sha256="01w9x3ld8b64m3d9qjbja6gbmgnsj2bna9l7lisa17add0i11744"; depends=[chron snowfall rlecuyer]; };
-  midasr = derive { name="midasr"; version="0.3"; sha256="1gdfrf8p4wxz03bzdqrvj4ss14zy7dh5ac04ncvg4db2wcdxq6z5"; depends=[sandwich optimx MASS numDeriv Matrix]; };
-  MIfuns = derive { name="MIfuns"; version="5.1"; sha256="1jhiaf9wrwgrlsl8s81qh0m8x1vpa01gnw2nxcfpshi7i9il3lw7"; depends=[reshape lattice XML MASS]; };
-  MigClim = derive { name="MigClim"; version="1.6"; sha256="171pnalidyw0v2fcjdc3kyrq5kg035kwj5xl8zwgn3hlanpaljvp"; depends=[SDMTools raster]; };
-  migest = derive { name="migest"; version="1.6"; sha256="1mjjcba74nk10kdbsaphih3zdyaqmf02hrv13s34klwdwkp3nv0m"; depends=[]; };
-  migration_indices = derive { name="migration.indices"; version="0.3.0"; sha256="0h0yjcj70wzpgrv3wl1f2h2wangh1klsllq0i0935plgzw736mwd"; depends=[calibrate]; };
-  migui = derive { name="migui"; version="0.00-09"; sha256="0mrvsls9q039pay0vf59xwg6bbr7ahwl4x3iwvar6sbfg8606as8"; depends=[tkrplot mi foreign]; };
-  MIICD = derive { name="MIICD"; version="1.1"; sha256="0d697mggax1yp7b4dfxdi25rqmwrq25gmmjqsag6sa5raqr96gc9"; depends=[mstate prodlim cmprsk riskRegression MASS survival]; };
-  MILC = derive { name="MILC"; version="1.0"; sha256="14xsiw5al6kixwvf3ph0dlm8s13gsbqvzb92da6ng3x4iiyb1g0w"; depends=[]; };
-  mime = derive { name="mime"; version="0.1.2"; sha256="0afndhp8sxvx689b0i9mx52ws9wynd41z8ij3kqnqcz0sa1n4ifb"; depends=[]; };
-  MImix = derive { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
-  MindOnStats = derive { name="MindOnStats"; version="0.8"; sha256="1fsswkbrxd3f0hz3nd25xvp36si292s4q2r52hw6rsps2mx6bgqi"; depends=[]; };
-  minerva = derive { name="minerva"; version="1.3"; sha256="0ph65jfm05wck3zz0lh3bmaj0p4c9309nzkrjpjxqkcnrfdbw6wf"; depends=[]; };
-  Miney = derive { name="Miney"; version="0.1"; sha256="0sgln0653rgglinr8rns5s2az0lgyp9slmynyhhhs265grkhrfj0"; depends=[]; };
-  miniCRAN = derive { name="miniCRAN"; version="0.0-16"; sha256="01f8cgvnzji56qd7d8cnhm5cp9mx45kyxfkqf46l10c8rhll6h3c"; depends=[XML]; };
-  miniGUI = derive { name="miniGUI"; version="0.8.0"; sha256="1iq52x7wbcin7ya207jj3k9vym7mavm5z61vggyabdmr768pci39"; depends=[]; };
-  minimax = derive { name="minimax"; version="1.0"; sha256="1g0d9q5h1avbb0yg7ajw5330820i3n5cgkpsif754l4j3ikya8p3"; depends=[]; };
-  minpack_lm = derive { name="minpack.lm"; version="1.1-8"; sha256="0nvsxqwg3k9k3dqjzkz1vq2z0xla317011zm9ms8y1qvf75raz83"; depends=[]; };
-  minPtest = derive { name="minPtest"; version="1.7"; sha256="088kckpbfy2yp0pk3zrixrimywrvkaib5ywa7fkr5phnzlsl80sv"; depends=[scrime Epi]; };
-  minqa = derive { name="minqa"; version="1.2.3"; sha256="06w8in7kpsv8c7frpsgjb40x4vsc8y0ashb0il1yyr157gqdgyhn"; depends=[Rcpp]; };
-  minque = derive { name="minque"; version="1.0"; sha256="1ympfyf24883n7178s7jspq18bq5j2kb87hz2yq9i99ds6liqr6b"; depends=[klaR agridat Matrix]; };
-  minxent = derive { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; };
-  miP = derive { name="miP"; version="1.1"; sha256="17y2badm76iwidjp45flm9ln098lk9r5m6lgx3skzcq3hp075967"; depends=[VIM mi mice Amelia lattice vcd]; };
-  MIPHENO = derive { name="MIPHENO"; version="1.2"; sha256="0hcaq66biv4izszdhqkgxgz91mgkjk1yrwq27fx07a2zmzj44sfv"; depends=[doBy gdata]; };
-  miRada = derive { name="miRada"; version="1.13.8-8"; sha256="1m6rm65pv4r16r0s5ih69nr3v2rnpsvpdpk07pi7k4f7v9wck71v"; depends=[]; };
-  mirt = derive { name="mirt"; version="1.4"; sha256="0ngm22lhwfv2l68nn7qrvjpyz49kcasdaj2jx46fcb4851xxahyw"; depends=[lattice GPArotation Rcpp numDeriv]; };
-  miRtest = derive { name="miRtest"; version="1.7"; sha256="0nqn3xrwlw2z9wjhf6rv0n9frqqviiv54syxyn1nkcn2d5lygwn3"; depends=[corpcor MASS RepeatedHighDim]; };
-  misc3d = derive { name="misc3d"; version="0.8-4"; sha256="0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"; depends=[]; };
-  miscF = derive { name="miscF"; version="0.1-2"; sha256="195rb9acdirfhap0z35yvcci5xn4j84mlbafki4l1vfgqgnh0ajj"; depends=[MCMCpack mvtnorm Rcpp RcppArmadillo]; };
-  miscFuncs = derive { name="miscFuncs"; version="1.2-6"; sha256="1302k6pvf74a0b9bkdjdr2j1xl98842rbq7137h8hwldl50g48i7"; depends=[roxygen2 mvtnorm]; };
-  MiscPsycho = derive { name="MiscPsycho"; version="1.6"; sha256="1zs6apivzzii7nln3jmhxggnhxk3j54cw84wbsc8hb279rv943il"; depends=[statmod]; };
-  miscset = derive { name="miscset"; version="0.3.1"; sha256="1x1948cwxjqkz23p14ilv5x381xbfkzg328n51fw3sqz11lb2h8g"; depends=[Rcpp xtable]; };
-  miscTools = derive { name="miscTools"; version="0.6-16"; sha256="19mslb64lm8srrmml1v40rfkxhqw02bplw0yjv7qnkqj44hcqfw1"; depends=[]; };
-  missForest = derive { name="missForest"; version="1.4"; sha256="0y02dhrbcx10hfkakg5ysr3kpyrsh2d9i5b0qzhj9x5x0d5q11gp"; depends=[randomForest foreach itertools]; };
-  MissingDataGUI = derive { name="MissingDataGUI"; version="0.2-0"; sha256="18z25wjq4mcd7vv7wg1xz0hmac2dvd1ap91p22yxvpk1qjllzaq3"; depends=[gWidgetsRGtk2 ggplot2 GGally cairoDevice reshape]; };
-  missMDA = derive { name="missMDA"; version="1.7.2"; sha256="07m8vih9bbzsx47g59dz9m8m23r8rrvnwddm29gx0cv24snh97lv"; depends=[FactoMineR]; };
-  MissMech = derive { name="MissMech"; version="1.0.1"; sha256="0xcxzgjv9p9w8rdq07vanfrw0b49acdikr8brm78hshy0dsnas32"; depends=[]; };
-  MiST = derive { name="MiST"; version="1.0"; sha256="0gqln792gixqfh201xciaygmxbafa0wyv5gpbg9w5zkbbv44wrfk"; depends=[CompQuadForm]; };
-  mistat = derive { name="mistat"; version="1.0-2"; sha256="1n5wdn5pl6mflzxpdwjj0x44c8a3cxxpwhmyw1jkx5r8yk95mh3p"; depends=[]; };
-  mistral = derive { name="mistral"; version="1.1-0"; sha256="08gnichjihhl8dnyh7612x9m2b8vbj81jcya8bh1aaxql26zq9w1"; depends=[DiceKriging e1071 kernlab Matrix mvtnorm rgenoud]; };
-  MitISEM = derive { name="MitISEM"; version="1.0"; sha256="03305ds3rgr29z4idaxzsm83igiygna2sqd5vpixklngsrp8w341"; depends=[mvtnorm]; };
-  mitools = derive { name="mitools"; version="2.2"; sha256="08sbm17sw549ljid93x64lxg79f860as6j3vv0f8nh1zb9rabqh8"; depends=[foreign]; };
-  mix = derive { name="mix"; version="1.0-8"; sha256="0zdbxrslj39cl272ggzvlc41gysj1inbcbmsa4ch7ss5xvk5vfbf"; depends=[]; };
-  mixAK = derive { name="mixAK"; version="3.6-1"; sha256="1khnxvmnd7qwk3lxld70dwxfdya2rq4ybdal89v0p7mxcv9abzdh"; depends=[colorspace lme4 fastGHQuad mnormt]; };
-  mixcat = derive { name="mixcat"; version="1.0-3"; sha256="0xszngygd3yj61pvv6jrrb5j0sxgpxzhlic69xrd5mv5iyw0cmxd"; depends=[statmod]; };
-  mixdist = derive { name="mixdist"; version="0.5-4"; sha256="100i9mb930mzvdha31m1srylmpa64wxyjv6pkw1g5lhm1hsclwm3"; depends=[]; };
-  mixedQF = derive { name="mixedQF"; version="0.3"; sha256="037376k13qh0c5nw1nxx3fvffisl9kcdyjz5d4i6vn3gfj0yqccc"; depends=[nnet MASS]; };
-  MixedTS = derive { name="MixedTS"; version="1.0.1"; sha256="0ljal2jxscwrv439blavf5gjxbi3k3jfqqmwblzfvc05dqgvdk0b"; depends=[MASS]; };
-  mixer = derive { name="mixer"; version="1.7"; sha256="0as9l0s646snli5pykh0i6zpz168f8i5wmxk07l5rhxnb74m0id2"; depends=[]; };
-  mixexp = derive { name="mixexp"; version="1.1.2"; sha256="11gzjmg0nifr18nikga1fx8bdgqn2kj1jsyk8q6vi9q9k952f746"; depends=[gdata lattice]; };
-  MixGHD = derive { name="MixGHD"; version="1.0"; sha256="008xbbvyc8lm1375yvbk7zvqz2hbf87jq7q9xv75zn65gxm8j93m"; depends=[Bessel MASS mvtnorm ghyp numDeriv]; };
-  mixlm = derive { name="mixlm"; version="1.0.5"; sha256="104rh4g7ik1ry0xb53n5b5fv1spvck6s2k2h4xjlp1ykazph073y"; depends=[multcomp pls leaps lme4 car]; };
-  mixlow = derive { name="mixlow"; version="1.0.1"; sha256="12vnp3gl3ykxzgvc4bwhi4flmc1sl2y77yi0zi4by17q93a49akm"; depends=[nlme]; };
-  MixMAP = derive { name="MixMAP"; version="1.3.1"; sha256="0m6m9wi0ain7z96s6z6kmwjisfqm3al6m459y5zr2l1cdbdpxfpv"; depends=[lme4]; };
-  mixOmics = derive { name="mixOmics"; version="5.0-2"; sha256="01xcmm9g80cn8bmq761h3v5az5pj0qldnbszgqx6b2bcrxkc0wg9"; depends=[MASS lattice RGCCA igraph rgl pheatmap]; };
-  mixPHM = derive { name="mixPHM"; version="0.7.0"; sha256="0gyvccz205wwnmggh5zw90r6kmr5lv4s4zrdazi2ghjjrvv0gv6b"; depends=[survival lattice]; };
-  mixRasch = derive { name="mixRasch"; version="1.1"; sha256="1r067pv7b54y1bz8p496wxv4by96dxfi2n1c99gziqf5ramx3qzp"; depends=[]; };
-  mixreg = derive { name="mixreg"; version="0.0-5"; sha256="0wsb1z98ymhshw9nhsvlszsanflxv3alwpdsw8lr3v62bkwka8zr"; depends=[]; };
-  mixsep = derive { name="mixsep"; version="0.2.1-2"; sha256="1ywwag02wbx3pkd7h0j9aab44bdmwsaaz0p2pcqn1fs3cpw35wa2"; depends=[tcltk2 MASS RODBC]; };
-  MixSim = derive { name="MixSim"; version="1.0-9"; sha256="16kg12784z82x8f1vscv9d5yakmki2m8gqr4hy9417c31xfkk3zy"; depends=[MASS]; };
-  mixsmsn = derive { name="mixsmsn"; version="1.0-9"; sha256="0pgip1xfgfrdy3g3197d7visn164zi7xnp6wlsgjwxdylvjsxkji"; depends=[mvtnorm]; };
-  mixstock = derive { name="mixstock"; version="0.9.5.1"; sha256="05bnxz7xkr5j96r85r7pc47svc60nwfmfax76naplzbvn751mhkg"; depends=[coda plotrix abind lattice]; };
-  mixtools = derive { name="mixtools"; version="1.0.2"; sha256="0x809m6lbzprd5kq6wqk528x9apaj5df3sidzk9jiw06qklngwg8"; depends=[boot MASS segmented]; };
-  mixture = derive { name="mixture"; version="1.1"; sha256="09hp28fh1y2kllny6l0zciwbhhnjjgyipsx1vs55rq7rr0s94pkn"; depends=[]; };
-  MixtureInf = derive { name="MixtureInf"; version="1.0-1"; sha256="1cq8zzhhb6vg545n9aw1b9fhx025zy75dd6pw161svsb5776py5d"; depends=[]; };
-  mizer = derive { name="mizer"; version="0.2"; sha256="0cpal9lrjbvc923h499hbv4pqw3yjd4jvvhgayxgkak2lz2jzmcz"; depends=[plyr reshape2 ggplot2]; };
-  mkin = derive { name="mkin"; version="0.9-32"; sha256="1b1s1px4zcbpk2wl49qricxgjw4pvffhvf3ccyrjhxdrdpmcknyr"; depends=[minpack_lm rootSolve FME deSolve]; };
-  MKLE = derive { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; };
-  MKmisc = derive { name="MKmisc"; version="0.96"; sha256="1lcnmswvix290s63cqqlq4ls6wyzzb3f5ykcn4sch6nv71bn8x5x"; depends=[RColorBrewer robustbase]; };
-  mkssd = derive { name="mkssd"; version="1.1"; sha256="1qqzy6fn6sc3lxahc19hzzf1hzxsyvxqi7npynw0vkknlrvh2ijp"; depends=[]; };
-  mlbench = derive { name="mlbench"; version="2.1-1"; sha256="1rp035qxfgh5ail92zjh9jh57dj0b8babw3wsg29v8ricpal30bl"; depends=[]; };
-  MLCM = derive { name="MLCM"; version="0.4.1"; sha256="1g6lmw75qdiq0fshxr3sqwm1a3y4928chxkggnfwwxp8hqw4r6px"; depends=[]; };
-  mlDNA = derive { name="mlDNA"; version="1.1"; sha256="0d9lydiwar98hin26slnym4svn0g1xmyn212vvzsx9lzlvs5a9k4"; depends=[snowfall igraph rsgcc e1071 randomForest pROC ROCR]; };
-  MLDS = derive { name="MLDS"; version="0.4.3"; sha256="1vql92y2dy1ba5l5xdysqzkzvkrr4bhclmjabn49c8qb2xc2rl40"; depends=[MASS]; };
-  mlearning = derive { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class nnet MASS e1071 randomForest ipred]; };
-  MLEcens = derive { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; };
-  mlegp = derive { name="mlegp"; version="3.1.4"; sha256="1932544irhzhf6a8rjyh66j57h9awlhwd6xam603bamfg106cmg2"; depends=[]; };
-  MLEP = derive { name="MLEP"; version="0.0-3"; sha256="1v3jiqy9lr3p30bpiibbq5cypy46c7vnsl40z0miyviiv4s1c3vz"; depends=[]; };
-  mleur = derive { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[urca stabledist fGarch lattice]; };
-  mlgt = derive { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; };
-  mlica2 = derive { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; };
-  mlmmm = derive { name="mlmmm"; version="0.3-1.2"; sha256="1m5ziiqs3ll1xjm1yf7x4sdc910jypn3kjnbadf95xxkvqmfrsqq"; depends=[]; };
-  mlmRev = derive { name="mlmRev"; version="1.0-6"; sha256="0mvmahnbbp478xwldj4wlsjib4v4afhs07643gxgcqpi56zbd5h7"; depends=[lme4]; };
-  mlogit = derive { name="mlogit"; version="0.2-4"; sha256="15ndly7i56k8blgvpn15ixxnqx9yvbci7n3mb3hm9mnrxwh5v7sx"; depends=[Formula maxLik statmod zoo MASS lmtest]; };
-  mlogitBMA = derive { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[BMA abind maxLik]; };
-  MLPAstats = derive { name="MLPAstats"; version="0.5-9"; sha256="0cy315kj2ivqwrdhg85ncp634mwx2bbwzs86w1pcjwf03v217wk9"; depends=[nlme boot tkrplot pixmap]; };
-  mlPhaser = derive { name="mlPhaser"; version="0.01"; sha256="1s2mqlnbcjdkx0ghvr2sw9rzggqa4jy2vzi9vbyqkh6795lgck6n"; depends=[]; };
-  mlr = derive { name="mlr"; version="2.1"; sha256="15czq70hgfbfr1j9lhbsrmmf2d5mqvy1zj9xkmnycfvk0zsh996j"; depends=[ParamHelpers BBmisc parallelMap codetools survival checkmate]; };
-  MLRMPA = derive { name="MLRMPA"; version="1.0"; sha256="0gfbi70b15ivv76l3i0zlm14cq398nlny40aci3vqxxd0m2lyyx5"; depends=[ClustOfVar]; };
-  MM = derive { name="MM"; version="1.6-2"; sha256="1z7i8ggd54qjmlxw9ks686hqgm272lwwhgw2s00d9946rxhb3ffi"; depends=[magic partitions emulator Oarray]; };
-  mmand = derive { name="mmand"; version="1.0.0"; sha256="10dqg99iaq5mfdz0x35z7f8xsf5fhw3jis0zgqxia8vzrw68q70v"; depends=[reportr Rcpp]; };
-  mmap = derive { name="mmap"; version="0.6-12"; sha256="12ql03wzwj23h8lwd07rln6id44mfrgf9wcxn58y09wn3ky1rm6a"; depends=[]; };
-  mmcm = derive { name="mmcm"; version="1.2-4"; sha256="16lh9ivnj3l01y28lgb5gykkxwa56cssadnh516qwhnv63c586sv"; depends=[mvtnorm]; };
-  mmds = derive { name="mmds"; version="1.1"; sha256="0f5qzkfhi7vg8vsd8r41idmbwrrgc7qzfnp81adms2yzrza17wrw"; depends=[]; };
-  mme = derive { name="mme"; version="0.1-4"; sha256="1k9l86q8bahkp0g6g6k963j3n2pzz4jb2xljw31r8xxlxpiv11n5"; depends=[mixstock MASS Matrix]; };
-  mmeln = derive { name="mmeln"; version="1.1"; sha256="06bxp157cdab6ghx3yrsn8l2gixh9cyv6fv4pqyq0yxqwbjf9bmi"; depends=[]; };
-  mmeta = derive { name="mmeta"; version="2.2"; sha256="06zkazi97f3il2vlx4f8c7zz4kxs9ylhscd06j31h504c1w96ddf"; depends=[aod HI]; };
-  MMIX = derive { name="MMIX"; version="1.2"; sha256="02c74qp48ixqh5cjp2006zgg4xz4bgxxq3csyhjl219if19kmj5m"; depends=[]; };
-  mmm = derive { name="mmm"; version="1.4"; sha256="1nydian004nldqhyw3x15w6qfml2gkjc0x8ii54faz563byjv3d8"; depends=[gee]; };
-  mmm2 = derive { name="mmm2"; version="1.2"; sha256="1h9pn5s3jjs4bydrr1qysjb4hv7vs4h3m7mvi22ggs2dzyz3b298"; depends=[gee]; };
-  MMMS = derive { name="MMMS"; version="0.1"; sha256="1a71vs3k16j14zgqfd4v92dq9swrb44n9zww8na6di82nla8afck"; depends=[survival glmnet]; };
-  mmod = derive { name="mmod"; version="1.2.1"; sha256="0c2ijg5116hacq0f18xhkbxankjp0k34zfnw8q02ahzwd26ds0z7"; depends=[adegenet pegas]; };
-  MMS = derive { name="MMS"; version="3.00"; sha256="06909912v2hr52s8k0a0830lbmdh05dcd7k47vydhbwq3rzf3ahg"; depends=[glmnet Matrix mht]; };
-  MMST = derive { name="MMST"; version="0.6-1.1"; sha256="1gd7v34xi3wn2rjhk0ih0q2i2hb7c5x8kvv90g90ln803b5wvbhs"; depends=[]; };
-  mnlogit = derive { name="mnlogit"; version="1.1.1"; sha256="0n6b5c14dcqv8pldrdgpjq8r2q956whwz2bxalphcf5da9r9jlc7"; depends=[]; };
-  MNM = derive { name="MNM"; version="1.0-0"; sha256="0qab0qqhfjmaiji5yqdvd1lqz8f90q40sdwpcah923yi3g6alh2q"; depends=[ellipse ICS ICSNP SpatialNP mvtnorm survey]; };
-  mnormt = derive { name="mnormt"; version="1.5-1"; sha256="1msxbdlg4wb45lsg0m4hqf41qglnmbqw55815v8qvyfjkwrgns8b"; depends=[]; };
-  MNP = derive { name="MNP"; version="2.6-4"; sha256="068lssg565dw673dm8f5k6dbxl2vblnszg8wibzy3ijf96hp03cw"; depends=[MASS]; };
-  mobForest = derive { name="mobForest"; version="1.2"; sha256="198air7fplgiw86vs7m4dn4kai0gpnnmv14bykbw3lnaxk4fk8fd"; depends=[party lattice modeltools]; };
-  Mobilize = derive { name="Mobilize"; version="2.16-2"; sha256="077s56cfb6cp2fiyrvva130c63nqr7nczfyfkykmkdsjsgs3ksp8"; depends=[Ohmage ggplot2 wordcloud reshape2]; };
-  MOCCA = derive { name="MOCCA"; version="1.2"; sha256="04smpzn9x64w1vpw4szqa7dwnaak1ls6gpg7fgajs68mv5zivffa"; depends=[cclust clv]; };
-  Modalclust = derive { name="Modalclust"; version="0.6"; sha256="16h90d30jwdrla5627rva0yf69n0zib9z5fl3k5awlqfscz4fw26"; depends=[mvtnorm zoo class]; };
-  modeest = derive { name="modeest"; version="2.1"; sha256="0l4y7yhkgsxycdd2lck0g8g6k2r059hwlrrcpl46md3rva4jgbnp"; depends=[]; };
-  modehunt = derive { name="modehunt"; version="1.0.6"; sha256="15rq1yyrjhsn2rlkyiqj36jvji635hy6jsih845mfxdpn4vnssa3"; depends=[]; };
-  modelfree = derive { name="modelfree"; version="1.1-1"; sha256="0ammka2wxx90z31zfzypw9dk5n118l0vxhykxbx6srfig2vdyn82"; depends=[PolynomF SparseM]; };
-  ModelGood = derive { name="ModelGood"; version="1.0.8"; sha256="1s86l7kcvfqm1lkpgp74b1bxj14a9r134waszw0da231zdsxfh3c"; depends=[prodlim]; };
-  ModelMap = derive { name="ModelMap"; version="3.0.15"; sha256="1d7qn1p4fv94bdlr6if64vxl9yknavix4gzmpg3kxwlrxaz2g8a2"; depends=[randomForest raster gbm rgdal fields HandTill2001 PresenceAbsence]; };
-  modeltools = derive { name="modeltools"; version="0.2-21"; sha256="0ynds453xprxv0jqqzi3blnv5w6vrdww9pvd1sq4lrr5ar3k3cq7"; depends=[]; };
-  modiscloud = derive { name="modiscloud"; version="0.14"; sha256="0vwhfp50yb21xkanvzk983vk0laflv60kj1ybx3fydfljwqx0rwj"; depends=[date sp sfsmisc raster rgdal]; };
-  MODISTools = derive { name="MODISTools"; version="0.93.9"; sha256="086i965gxmcqz7n0a1wg4jhplb3ivpfpwl1w32vzr0wql5yyp85i"; depends=[RCurl XML]; };
-  modTempEff = derive { name="modTempEff"; version="1.5.1"; sha256="1xny818gnr5fphxvpc343mcc6xcacr0asi36m7q0bxmzy3lhs8r6"; depends=[mgcv]; };
-  moduleColor = derive { name="moduleColor"; version="1.08-1"; sha256="16z0iyy517j1kbsbcpdppy0gyac7vyfz13yznzhs42fwj7k0iwxl"; depends=[dynamicTreeCut]; };
-  MOJOV = derive { name="MOJOV"; version="1.0.1"; sha256="11mcqxw83z4xx29s34v4rsbb3zvyhlb2lmvf97b77n455gsy5hab"; depends=[aod survey saws lattice]; };
-  mokken = derive { name="mokken"; version="2.7.5"; sha256="0wrf5xlhvb3lcjdxkrf8pfsq8k159l5zvcwni653vrxl1rfwh69m"; depends=[]; };
-  mombf = derive { name="mombf"; version="1.5.7"; sha256="0kmxzdkjwlbw3sjinjcxsi1fjylib232agvq0bx58i7bzcad8bv9"; depends=[mvtnorm ncvreg actuar mgcv]; };
-  moments = derive { name="moments"; version="0.13"; sha256="05pa4gkmpmp744a5rsr2arqh7y5bgalwrwdn731jg6waqiniy024"; depends=[]; };
-  Momocs = derive { name="Momocs"; version="0.2-6"; sha256="187w6xyswlg5nac6lbprcwvj63gka832n33vlj2ix810vqyxd0fk"; depends=[ade4 sp shapes jpeg spdep ape]; };
-  mondate = derive { name="mondate"; version="0.10.01.02"; sha256="18v15y7fkll47q6kg7xzmj5777bz0yw4c7qfiw2bjp0f3b11qrd2"; depends=[]; };
-  MonetDB_R = derive { name="MonetDB.R"; version="0.9.4"; sha256="0ivymfng1959xw5wwmfl8l72dz4skarsb791ij54xcfn4v7c18np"; depends=[DBI digest]; };
-  monitoR = derive { name="monitoR"; version="1.0.2"; sha256="1nrw8xrp99p62w4bpsbca9ahdra9cid1piidwhjc4f6vqsbkp479"; depends=[tuneR]; };
-  monmlp = derive { name="monmlp"; version="1.1.2"; sha256="14x6xz07hg2c5n36rc314z66jqvgmicjxi2vsqyy91vwjxs9akrm"; depends=[]; };
-  monomvn = derive { name="monomvn"; version="1.9-5"; sha256="1fh0c1234hb5f3rwy85i4rlzc3n1851q5mivckcjs2vdm9rz25mg"; depends=[pls lars MASS]; };
-  MonoPoly = derive { name="MonoPoly"; version="0.2-8"; sha256="0lpqqpahpss4q9iddh2p4h6klsrjhg3v6h1wfb70vy0miyhqb93h"; depends=[quadprog]; };
-  monreg = derive { name="monreg"; version="0.1.2"; sha256="0qah7yw1xwk3pig413r7l8hhh645d45706mndv614fir738bv9pk"; depends=[]; };
-  moonsun = derive { name="moonsun"; version="0.1.3"; sha256="1y8mwxmcy4iz444c2fayyi4i0jk1k561dp6cbjg2b3lmdml0whmi"; depends=[]; };
-  mopsocd = derive { name="mopsocd"; version="0.5.1"; sha256="10hssnm1afqmxa9kw6ifqnz3p3yyjrmxgi98zlj31a5g4nis8wb1"; depends=[]; };
-  morgenstemning = derive { name="morgenstemning"; version="1.0"; sha256="17y90cf8ajmkfwla0hm4jgkbkd1mxnym63ph2468sfxkhn0r3v88"; depends=[]; };
-  Morpho = derive { name="Morpho"; version="2.0.3-1"; sha256="0j2wfjxrk0myxk1j4g0jh68npg8wwia2i3a02dn9mxnmx90nbvaa"; depends=[Rvcg rgl colorRamps foreach Matrix yaImpute doParallel Rcpp]; };
-  morse = derive { name="morse"; version="1.0.2"; sha256="044aljv48mfq6yj9i77yqf03qa4qqkncaalzhph3wr9w4jvxpxn5"; depends=[plyr]; };
-  MorseGen = derive { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; };
-  MortalitySmooth = derive { name="MortalitySmooth"; version="2.3.2"; sha256="0r24v94nslavxjxvyc8a1f6dar3vm2lysg6qpxcgw6zgx8k0vk00"; depends=[svcm lattice]; };
-  mosaic = derive { name="mosaic"; version="0.9-0"; sha256="0zmzx1mh6nhp6jz68abdl44hb918cyrpa1qj25m41c0x83rnwi0s"; depends=[car dplyr lattice ggplot2 reshape2 plyr Hmisc latticeExtra gridExtra ggdendro]; };
-  moult = derive { name="moult"; version="1.3"; sha256="0mvzyildng2qs4jgws37wa2b8ms8bv7mmzs0dxbc1wcq56vfs9yj"; depends=[Formula]; };
-  move = derive { name="move"; version="1.2.475"; sha256="0d542554bamgnc5qd7z497ssk885mz4m1wbaiqpi5cyxd24kwgii"; depends=[geosphere sp raster rgdal]; };
-  movMF = derive { name="movMF"; version="0.2-0"; sha256="1p9ay7w93gyx4janw23iwg2j0wkvnvzalaa20n1rlahhmh327g7i"; depends=[skmeans clue slam]; };
-  mp = derive { name="mp"; version="0.1"; sha256="13wsfhvxwpvz5qx95a720vp2l7807whvrv7dabqfajmnc45bdlj4"; depends=[]; };
-  mpa = derive { name="mpa"; version="0.7.3"; sha256="0mhnsbgr77fkn957zfiw8skyvgd084rja1y4wk5zf08q5xjs2zvn"; depends=[network]; };
-  MPAgenomics = derive { name="MPAgenomics"; version="1.1.0"; sha256="0kf6vsxp6dcmqkl7yjyfjch9ms33pf9w7qrk76q05man5hn7y4fz"; depends=[R_utils changepoint glmnet cghseg]; };
-  MPCI = derive { name="MPCI"; version="1.0.6"; sha256="1ngxx5363cm2cid3dl9amva016xy914sz49nfdkh88hjsxv3svjc"; depends=[]; };
-  MPDiR = derive { name="MPDiR"; version="0.1-15"; sha256="1ga3dk9ncycsq30w6na4g7aik43v8q2kcrg7x6lpmiaa9qa2wn16"; depends=[]; };
-  mph = derive { name="mph"; version="0.9"; sha256="11wcy23sv8x7aq6ky8wi0cq55yhjkkm9hn672qy803dwzzxv5y61"; depends=[]; };
-  MPINet = derive { name="MPINet"; version="1.0"; sha256="1zw3piqhhpagg5qahc2xahxxfdwdk8w94aass1virlpl0f52ik8s"; depends=[BiasedUrn mgcv]; };
-  MplusAutomation = derive { name="MplusAutomation"; version="0.6-2"; sha256="0b85hnxxd46xr240k0vswwh81n57a2azmmz9wyc6x8qidiagqzxg"; depends=[plyr boot gsubfn coda xtable lattice]; };
-  mpm = derive { name="mpm"; version="1.0-22"; sha256="0wijw8v0wmbfrda5564cmnp788qmlkk21yn5cp5qk8aprm9l1fnk"; depends=[MASS KernSmooth]; };
-  mpMap = derive { name="mpMap"; version="1.14"; sha256="0gmhg5ps8yli8699a5aw26skfbjxx4zpp0paqxxdc0zl28l0pdff"; depends=[gdata seriation qtl wgaim]; };
-  mpmcorrelogram = derive { name="mpmcorrelogram"; version="0.1-3"; sha256="0qgzsh744002whh3v1hrxs1i0xnk9zgfgkdgx2f0ffj00vvnwr97"; depends=[vegan]; };
-  mpmi = derive { name="mpmi"; version="0.4"; sha256="0lfzw1bncp9nhsng5j5avvwi02grx8pmf39v5zav63s0lzmrj8a3"; depends=[KernSmooth]; };
-  mpoly = derive { name="mpoly"; version="0.0.5"; sha256="1zhmd3lsa0n56yr3bdhg3r668zrmf35phm8g69c18a3rr5qmcdqg"; depends=[stringr rSymPy rJython rJava rjson partitions plyr]; };
-  Mposterior = derive { name="Mposterior"; version="0.1.2"; sha256="16a7wvg41ld2bhbss480js5h12r41nl7jmc3y4jsbv1lr5py4ymy"; depends=[Rcpp]; };
-  MPSEM = derive { name="MPSEM"; version="0.2-5"; sha256="1jy459rg7i7x24ygdnlibwlh8rx7arpajjycqw414w5p9yy9ns1f"; depends=[ape MASS]; };
-  mpt = derive { name="mpt"; version="0.4-1"; sha256="08drh66056pnvs43gc7dxhb62ajkdijbc9ca2y1hjrgvkssqk5xg"; depends=[]; };
-  MPTinR = derive { name="MPTinR"; version="1.5.1"; sha256="0gy0jdzrkwcn1yvnrdb5dqrk1z96qa2ga41zhg63kz1b2m16q7i5"; depends=[numDeriv Brobdingnag Rcpp]; };
-  MPV = derive { name="MPV"; version="1.29"; sha256="165sbayrp8p3aqwqrmf1g10agm0kdjksr6mr6p929j22kkf3k8gx"; depends=[]; };
-  mQTL = derive { name="mQTL"; version="1.0"; sha256="0k80xvkr0b0mp3bj2s558fjxi2zf4k7ggnw6hsjm8lr84i108dks"; depends=[qtl MASS outliers]; };
-  mra = derive { name="mra"; version="2.13"; sha256="1x282nzdz5bd3yji26mnzlvrkxszx15cra079k07rgdxqnixg2c8"; depends=[]; };
-  mratios = derive { name="mratios"; version="1.3.17"; sha256="0a2pn4234ri5likaqbxgkw8xqmwchr6fak3nninral0yzd4rcal5"; depends=[mvtnorm]; };
-  MRCE = derive { name="MRCE"; version="2.0"; sha256="0fnd7ykcxi04pv1af5zbmavsp577vkw6pcrh011na5pzy2xrc49z"; depends=[QUIC]; };
-  MRCV = derive { name="MRCV"; version="0.3-2"; sha256="061x9bnngm2f16bf6i0v00lf0g41wfg90ha0bjbphipcychzn3a3"; depends=[tables]; };
-  mrdrc = derive { name="mrdrc"; version="1.0-6"; sha256="0kk6837hx4c7ixsrmib46ycvimv90ka8sj3w0310s4d7bzxvw1sc"; depends=[drc locfit]; };
-  mrds = derive { name="mrds"; version="2.1.6"; sha256="14ab9pay3daqi2pcrcx98w8fzg1l5j0vr7vfybvrsjy5xd0c8f2q"; depends=[optimx mgcv Rsolnp]; };
-  mreg = derive { name="mreg"; version="1.1"; sha256="06la0yy2yys161jhlzlcm5lcv0664wm6sa8gjdnpd1s1nx52jkqf"; depends=[]; };
-  mritc = derive { name="mritc"; version="0.4-0"; sha256="02a8h1x3pk406zpn89gl5wkcd74qm5gqz8gqpckk3nv881pkayaz"; depends=[lattice misc3d fmri AnalyzeFMRI]; };
-  mRm = derive { name="mRm"; version="1.1.5"; sha256="0sbpk7z4ij917nw8wyvnm87iav95ybqrzvmsjy3r8nyq55bjzyn7"; depends=[]; };
-  MRMR = derive { name="MRMR"; version="0.1.3"; sha256="1b3a4bkpcncl4sh7d81nk6b2dzhzqn9zhqdxv31jgippsqm2s3k2"; depends=[reshape2 ggplot2 lubridate lmtest plyr]; };
-  mRMRe = derive { name="mRMRe"; version="2.0.4"; sha256="1ig78szk20s0cdj4pzrxxqa2hlx7126fh0jah8ym0563ps8hwill"; depends=[survival igraph]; };
-  MRsurv = derive { name="MRsurv"; version="0.2"; sha256="148myzk6r8whkpv1yv59dmdlr2n8vdwmaww165aw696xfjxwq550"; depends=[survival mvtnorm]; };
-  MRwarping = derive { name="MRwarping"; version="1.0"; sha256="13bcs7rlm4irx7yzdnib558w9014a4chh9xwc010m6pxvxv36qnv"; depends=[boa SemiPar]; };
-  msap = derive { name="msap"; version="1.1.8"; sha256="0z5lm782jjb9w1h5vgz8bmxjdcrq9zb3xp1w5cb479jjc7krlgg3"; depends=[ade4 ape]; };
-  msarc = derive { name="msarc"; version="1.3.4"; sha256="0rgbrgdwjsybqcbfpf71b9z6qwwn8ph87z4hp0c1gmjrv8b9byld"; depends=[gplots]; };
-  MsatAllele = derive { name="MsatAllele"; version="1.05"; sha256="1w489xjc7vxanam6hr4ym692j6a2skkmyzgqsmccy3101pzn522h"; depends=[]; };
-  MSBVAR = derive { name="MSBVAR"; version="0.9-1"; sha256="1qd8v3n9nvyp1j1byb8dkmvkbmk5p2kgx7wjmsa9sh4siqbxzn4w"; depends=[KernSmooth xtable coda bit mvtnorm lattice]; };
-  mseapca = derive { name="mseapca"; version="1.0"; sha256="115njdk8cv55zxd38hq9qaca686ykckni0f3xl8w3bn32gb5g9a7"; depends=[XML]; };
-  MSeasy = derive { name="MSeasy"; version="5.3.3"; sha256="191mvg1imxfjlnd808ypn4lsjx7n6ydf16flax79hv01z7rcjylh"; depends=[amap clValid cluster fpc]; };
-  MSeasyTkGUI = derive { name="MSeasyTkGUI"; version="5.3.3"; sha256="0ihz8vr2wbgy88bzssilgvlhkbr13jznfjvnqy73wpchqgwy0wy6"; depends=[MSeasy]; };
-  mseq = derive { name="mseq"; version="1.2"; sha256="0h1wdnmlw7raqyy7844zl5k942d6glhv0lihd4h3gcv5is0if66w"; depends=[gbm]; };
-  MSG = derive { name="MSG"; version="0.2.2"; sha256="18siw81pa02yg0zs40pavwm88yz7kfi60fislmjpwnl2207a6fhf"; depends=[RColorBrewer]; };
-  msgl = derive { name="msgl"; version="2.0.125.0"; sha256="0jpyzn6pp3fh22qxmbgapdbjkxrvjl0mkk5cms0cldawbds3p4sj"; depends=[Matrix sglOptim]; };
-  msgpackR = derive { name="msgpackR"; version="1.1"; sha256="0a6vm4q1zfy8wlvhl9wfy09ig1iag9fvjasz5w9bll7idky4ldx5"; depends=[]; };
-  msgps = derive { name="msgps"; version="1.3"; sha256="0nvxy9a41z5d111gqr1gh521imm795l1li70g1mzrag1gpg810c5"; depends=[]; };
-  msir = derive { name="msir"; version="1.3"; sha256="0d7zxjmhr1ri3qz3fdkf56fi5dz2p9lb2vyqccrpn7js2ibkqhpl"; depends=[mclust]; };
-  msm = derive { name="msm"; version="1.4"; sha256="1x7ys6695jarwfkh3xv607mwm5l2y2gzq2mczjfdcs9mla2l96a5"; depends=[survival mvtnorm expm]; };
-  msme = derive { name="msme"; version="0.5.1"; sha256="1bkj10pgmv9q61384fwd2pxccclclc3knc5x212p42w4w49hnm1q"; depends=[MASS lattice]; };
-  msos = derive { name="msos"; version="1.0.1"; sha256="0fbxi8x83sj8a6bahc7q28vql00pxqdia2vxb6ilsc459xaph6vc"; depends=[mclust tree]; };
-  MSQC = derive { name="MSQC"; version="1.0.1"; sha256="1vs9kygjg9f4sr1m80hdn03gdhbdqfjamqxhbs9zha8smjrsgisw"; depends=[rgl]; };
-  msr = derive { name="msr"; version="0.4.1"; sha256="1kfj6xq7l32ligc53akiym3s9if87087gan8nqz4w7d8nxp693s7"; depends=[Matrix class glmnet e1071 rgl RColorBrewer colorspace]; };
-  msSurv = derive { name="msSurv"; version="1.1-2"; sha256="1nyadgzwdyf48qhqdx8sszvgkhxafacnccacg39ghm6gqv8b5j60"; depends=[class lattice]; };
-  mstate = derive { name="mstate"; version="0.2.7"; sha256="0rys25cwr814k8z65206s12yv18dala66b3nlfq882dw5cfpaybl"; depends=[survival RColorBrewer]; };
-  MSwM = derive { name="MSwM"; version="1.2"; sha256="01l23ia20y3nchykha4vz6sa757zmbvgx2315cacxfcqk9rgs08c"; depends=[nlme]; };
-  mtk = derive { name="mtk"; version="1.0"; sha256="0vq2xlxf86l92fl91qm8m4yfjyz1h8szmwxiics7sc9f0as0dkmy"; depends=[stringr XML sensitivity lhs rgl]; };
-  MTS = derive { name="MTS"; version="0.32"; sha256="0jxa0madik1d317wsl1svb2bndi6mw125brbxpyf019lknh6yajy"; depends=[Rcpp fGarch mvtnorm]; };
-  mtsdi = derive { name="mtsdi"; version="0.3.3"; sha256="1hx4m1jnfhkycxizxaklnd9illajqvv1nml8ajfn3kjmrb5z7qlp"; depends=[gam]; };
-  MTurkR = derive { name="MTurkR"; version="0.4"; sha256="19hk6jgkj7rr4syad3chmyacn0q2m9lq0z3hdrfavcwqa203zgp9"; depends=[RCurl digest XML]; };
-  MUCflights = derive { name="MUCflights"; version="0.0-3"; sha256="03ksvv5nyzlqiml1nz405r3yqb2cl35kpm1h61zcv2nqq8cxqshs"; depends=[XML geosphere sp RSQLite NightDay]; };
-  MuFiCokriging = derive { name="MuFiCokriging"; version="1.2"; sha256="09p8wdmlsf21ibqyjigwdipcin3ij0naxcd035hqgfj76v20wiyv"; depends=[DiceKriging]; };
-  muhaz = derive { name="muhaz"; version="1.2.6"; sha256="1b7gzygbb5qss0sf9kdwp7rnj8iz58yq9267n9ffqsl9gwiwa1b7"; depends=[survival]; };
-  multcomp = derive { name="multcomp"; version="1.3-5"; sha256="0zi3vxp0yfmf5qvp38l16d9lr12b86av0h4i6qzwaxbmnv14vzjd"; depends=[mvtnorm survival TH_data sandwich]; };
-  multcompView = derive { name="multcompView"; version="0.1-5"; sha256="0vfgvqxqgxyifkqs3r5xxj7rfn8lfmby6wyyiqa5jv01073xchib"; depends=[]; };
-  MultEq = derive { name="MultEq"; version="2.3"; sha256="0fshv7i97q8j7vzkxrv6f20kpqr1kp9v6pbw50g86h37l0jghj7r"; depends=[]; };
-  multgee = derive { name="multgee"; version="1.4"; sha256="02h8zl79a8ad0q3inpb3aqjr9icjxjiph2b4rxnwa6kq8p3aagwn"; depends=[gnm VGAM]; };
-  multibiplotGUI = derive { name="multibiplotGUI"; version="0.0-1"; sha256="0klslbj1v0j10hv8xgyxgp4d2rkm3l4gr0gyrr1g8lyj0gf43sb3"; depends=[rgl tkrplot RODBC]; };
-  multic = derive { name="multic"; version="0.3.8.1"; sha256="06lc9kn0z3s7x00hz8vj903q0c6cncnj4v3ygvd2yvkgcbhfvjd0"; depends=[]; };
-  Multiclasstesting = derive { name="Multiclasstesting"; version="1.3.9"; sha256="09y3gnarqv15wgmk545qrwpjwb2ilv2b2kc74cxzcb2p1lflfjzm"; depends=[]; };
-  MultiCNVDetect = derive { name="MultiCNVDetect"; version="0.1-1"; sha256="0mfisblw3skm4y8phfg4wa0rdchl01wccarsq79hv63y78pfhh13"; depends=[]; };
-  multicon = derive { name="multicon"; version="1.2"; sha256="0cjmh4q2yvv9pqmmnilzhzvmds2nzbipy4vd009zjfq4c925c7m0"; depends=[psych abind foreach mvtnorm sciplot]; };
-  multicool = derive { name="multicool"; version="0.1-2"; sha256="1rs7q93lcr1crrx433zgil2db1rb3n4qw62r52nvpllqfwfx98dc"; depends=[]; };
-  multicore = derive { name="multicore"; version="0.2"; sha256="10ypgs6nzi9bv8xy97cprs3ffss8jdlba5nj2gwglqggb8ch9i9r"; depends=[]; };
-  multiDimBio = derive { name="multiDimBio"; version="0.3.3"; sha256="1aj6yam31mr0abjb6m5m85r1w71snha4s7h4ikyw66sc73xkmb9m"; depends=[ggplot2 lme4 misc3d MASS RColorBrewer]; };
-  multigroup = derive { name="multigroup"; version="0.4"; sha256="13811j3g6wg11yrsz3pskis2n8d7svhq9vg95d7r3fi5bbivinh5"; depends=[]; };
-  MultiLCIRT = derive { name="MultiLCIRT"; version="2.7"; sha256="0i9ydhqw8a6rvds708vn1ypmfw5nrnpnfzjmg4s01gcm2xswvli0"; depends=[MASS limSolve]; };
-  multilevel = derive { name="multilevel"; version="2.5"; sha256="0pzv5xc8p6cpzzv9iq3a3ib1dcan445mm12whf3d6qkz2k4778g6"; depends=[nlme MASS]; };
-  multilevelPSA = derive { name="multilevelPSA"; version="1.2"; sha256="1wkywcnlvmf5li3ii7vhjsj390ay88gz9ll5agiyaj15gfd3mjls"; depends=[ggplot2 plyr psych reshape proto xtable xtable]; };
-  multinbmod = derive { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
-  MultinomialCI = derive { name="MultinomialCI"; version="1.0"; sha256="0ryi14d102kvxawls04hcw50n79jkcn29ill77lkfvj6nlzj8i5q"; depends=[]; };
-  multinomRob = derive { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[rgenoud MASS mvtnorm]; };
-  MultiOrd = derive { name="MultiOrd"; version="2.1"; sha256="12y5cg06qyaz72gk3bi5pqkd55n72rz056y9va49znlsqph09x2x"; depends=[mvtnorm corpcor Matrix psych]; };
-  MultiPhen = derive { name="MultiPhen"; version="2.0.0"; sha256="05w7khzyxswlsz4sxhaakbz828zrdya1y8qcsdfc6w7wgl8qpmj9"; depends=[MASS abind epitools meta HardyWeinberg RColorBrewer gplots]; };
-  multiPIM = derive { name="multiPIM"; version="1.4-1"; sha256="0r69gkl8k6dd2rafrwvrdkpz4jlffz1g6czspsi908jf9dyw8y72"; depends=[lars penalized polspline rpart]; };
-  multiplex = derive { name="multiplex"; version="1.2"; sha256="06wrzglgrvahavlcknf80cp0j4k840dhmclw9g6wqv51pq9brj2f"; depends=[]; };
-  multipol = derive { name="multipol"; version="1.0-6"; sha256="1yjz0p4mcgzs98s61i8315wyhh986jxp8b0lq66375ckpr2ddcss"; depends=[abind]; };
-  multisensi = derive { name="multisensi"; version="1.0-7"; sha256="1sq0jxkp33wsv6id27nka0764mr1jskqzsr2nhmqc4c8l312bkp6"; depends=[]; };
-  MultiSV = derive { name="MultiSV"; version="0.0-62"; sha256="05klka4y60q7d4yi47q784y64irgic6cwcj330zm96j1hf2dli16"; depends=[nlme reshape]; };
-  multitable = derive { name="multitable"; version="1.6"; sha256="067bgl793wwvb1rhan70ih0ga3dxja2c6zx7fwzml5rqi6p728pr"; depends=[]; };
-  multitaper = derive { name="multitaper"; version="1.0-8"; sha256="1x0a4nrngh1hs44h4gnmjfhx57kgxmkyzm431i5k288ydv57vvx0"; depends=[]; };
-  multivator = derive { name="multivator"; version="1.1-4"; sha256="125ifkpm1pny4rjpzirnwpmpjfg0y8w0rygj0way0p1qwm0l207n"; depends=[emulator mvtnorm]; };
-  multiwayvcov = derive { name="multiwayvcov"; version="1.0.4"; sha256="1cn906qsffjnvi7ycbrvd91jawyxlph6gzf74yb4dpbbkyk4n8p1"; depends=[sandwich]; };
-  multxpert = derive { name="multxpert"; version="0.1"; sha256="03mvf4m0kabm22vy4zkj1cfh884larpj8cbgg3p9l3pag20snf1l"; depends=[mvtnorm]; };
-  muma = derive { name="muma"; version="1.4"; sha256="0midx3wzyvcz8rk9kvsfll3xg41pkz40si4jw2ps54ykkf9rkm99"; depends=[car pdist pls gplots mvtnorm robustbase gtools bitops caTools pcaPP rrcov]; };
-  MuMIn = derive { name="MuMIn"; version="1.10.5"; sha256="1pza894h6mjjv2i4ifx2z410bz7lw2a9b986z6x30sr2al4xvfkn"; depends=[]; };
-  munfold = derive { name="munfold"; version="0.3-1"; sha256="0rjicbyhxp0xr375ryg7kb2a4rvh3giw62ypws63nc3l8iwsig2m"; depends=[memisc MASS]; };
-  munsell = derive { name="munsell"; version="0.4.2"; sha256="1bi5yi0i80778bbzx2rm4f0glpc34kvh24pwwfhm4v32izsqgrw4"; depends=[colorspace]; };
-  munsellinterpol = derive { name="munsellinterpol"; version="1.0.1"; sha256="0q3n4z1z8sbqslzp97jw9xmdnypi66073g64ppk65r1aiq41hvac"; depends=[geometry]; };
-  muRL = derive { name="muRL"; version="0.1-9"; sha256="0711hxq8l0zc8w8k3aj4f9sq8xl5mqqx70dvq0m66kahkh2pnhgb"; depends=[maps]; };
-  muscle = derive { name="muscle"; version="3.8.31-4"; sha256="0pijc8x6pwsb6z4061v1r7iwq5lsnia5qn1bikwpxy8ir19nic72"; depends=[]; };
-  muStat = derive { name="muStat"; version="1.7.0"; sha256="18727xj9i9hcnpdfnl1b9wd6cp7wl1g74byqpda2gsrcardl57wz"; depends=[]; };
-  mutoss = derive { name="mutoss"; version="0.1-8"; sha256="13x49dk1xyn697yindg6m00nqbn2cb12544v2k14ckmnw07mp1gq"; depends=[mvtnorm plotrix multcomp]; };
-  mutossGUI = derive { name="mutossGUI"; version="0.1-8"; sha256="1lpfz5d36v0szfg7vn7gdad27rvzxbx4w3651dmi2y1ff0d8j5z3"; depends=[rJava JavaGD CommonJavaJars plotrix mutoss multcomp]; };
-  MVA = derive { name="MVA"; version="1.0-5"; sha256="18x075hjqhrjwxivvrixgs6yc67il3n5p1m7v2wymcf8h2mkki91"; depends=[HSAUR2]; };
-  mvabund = derive { name="mvabund"; version="3.9.1"; sha256="0v9chsc08a9gsj026kv99jv0d3ww5gxblbliscqghl4b36hzkx6r"; depends=[Rcpp MASS tweedie statmod]; };
-  MVB = derive { name="MVB"; version="1.1"; sha256="0an8b594rknlcz6zxjva6br8f34sgwdi2jil3xh1xzb5fa55dw0f"; depends=[Rcpp RcppArmadillo]; };
-  mvbutils = derive { name="mvbutils"; version="2.7.4.1"; sha256="1vs97yia78xh35sdfv5pj3ddqmy83qgamvyyh9gjg0vdznqhffzg"; depends=[]; };
-  mvc = derive { name="mvc"; version="1.3"; sha256="0kmh6vp7c2y9jf71f4a29b0fxcl0h7m4p8wig4dk3fi7alhjf7ym"; depends=[rattle]; };
-  mvctm = derive { name="mvctm"; version="1.0"; sha256="1naxjh2k3vv4wlpzzx0y2zwvbn4kdqyls8a8qx6bz609ynzay5r9"; depends=[Formula nlme MNM quantreg Rfit]; };
-  mvcwt = derive { name="mvcwt"; version="1.3"; sha256="0fqdyypmszm00rpl04z8kiiw6jd416a0b2rap3dqq3kchnz8h4s2"; depends=[foreach RColorBrewer]; };
-  mvglmmRank = derive { name="mvglmmRank"; version="1.0-2"; sha256="0gpp0ibgji86pxscqzcws0d1qn1ciqqvyfb0x2v18580r4cx8jv7"; depends=[Matrix numDeriv]; };
-  mvinfluence = derive { name="mvinfluence"; version="0.6"; sha256="1cd5p6cl2zln8madjf3vsbmqlg4nsklzzy6ngdd5glj1a9qapd6c"; depends=[car heplots]; };
-  mvmeta = derive { name="mvmeta"; version="0.4.5"; sha256="0faczanbz6i7794sqxm21a6v52cs5hrjjzdypdvi23bkl4mkxjrb"; depends=[]; };
-  mvMORPH = derive { name="mvMORPH"; version="1.0.2"; sha256="1zzh2vmm3l6zvzg8b39ivkx2jmbw2g6n00jj4icp46w8jb26rlwa"; depends=[phytools ape corpcor subplex]; };
-  MVN = derive { name="MVN"; version="3.4"; sha256="13cmb4xls3j366lcjl6a7vimx457q1a531sy23nrddmyw1g918l2"; depends=[nortest moments MASS]; };
-  mvna = derive { name="mvna"; version="1.2-3"; sha256="1gwv17j6w9c38bqvnasv9kfigbdxiqkzwj89gqmkxgw715f9nnpp"; depends=[lattice]; };
-  mvnfast = derive { name="mvnfast"; version="0.1.2"; sha256="1pa0l6krk44pa3ndnh7wm77cg79x7m7n8r3ffz0w8jmzh59s9nr2"; depends=[Rcpp]; };
-  mvngGrAd = derive { name="mvngGrAd"; version="0.1.3"; sha256="1c0rwywsa2dzhhphwc9prdxv6jyk1qdc655zvzyxif6ay3wnganf"; depends=[]; };
-  mvnmle = derive { name="mvnmle"; version="0.1-11"; sha256="02mpmrr22cqb3v8x7kydgg715yl3lrdgzgdqpchmp0xrl2db8gq4"; depends=[]; };
-  mvnormtest = derive { name="mvnormtest"; version="0.1-9"; sha256="1iaxjwp7bgxhaa4xqvgqb61316mq2fb0452d0pabhmbxkvmvdnj6"; depends=[]; };
-  mvoutlier = derive { name="mvoutlier"; version="2.0.5"; sha256="1n12wy2i9jkb6brrqc0ibw3wiyd25dm5jhyapf05cj8wi06jfrsf"; depends=[sgeostat robCompositions robustbase]; };
-  mvpart = derive { name="mvpart"; version="1.6-2"; sha256="1ddamzkv3j3a1niwqrrdpajn10v48s4li69n63mwlanrw9gdyzhn"; depends=[]; };
-  MVPARTwrap = derive { name="MVPARTwrap"; version="0.1-9.2"; sha256="0kj89nlndfcddsx2i9isfd7lqzj8rlsd47anhca5cmj1nyjsb4w5"; depends=[mvpart Hmisc labdsv vegan fBasics ade4]; };
-  MVpower = derive { name="MVpower"; version="2.0"; sha256="176g8jfn8gbbhyxcny9prvkn7gk23lmcr4pnxlf0a0pacxczsldr"; depends=[randomForest pamr kernlab class]; };
-  mvProbit = derive { name="mvProbit"; version="0.1-0"; sha256="0fnrlralydlsf9iphq385f8hpqigfmi8rafvgp443gygvpq5b6g0"; depends=[mvtnorm maxLik abind bayesm miscTools]; };
-  MVR = derive { name="MVR"; version="1.20.0"; sha256="1wwzws9116ck14g6xd1svmwc9wkr8piwb24bddnzri388p8qkgb4"; depends=[statmod]; };
-  mvsf = derive { name="mvsf"; version="1.0"; sha256="1krvsxvj38c5ndvnsd1m18fkqld748kn5j2jbgdr3ca9m3i5nlwf"; depends=[nortest mvnormtest]; };
-  mvShapiroTest = derive { name="mvShapiroTest"; version="1.0"; sha256="0zcv5l28gwipkmymk12l4wcj9v047pr8k8q5avljdrs2a37f74v1"; depends=[]; };
-  mvSLOUCH = derive { name="mvSLOUCH"; version="1.1.3"; sha256="1vkyhy6a12hdlkwsf64lgimpigri6r6l02vvy1b5r05j002baxgr"; depends=[ouch ape numDeriv mvtnorm corpcor]; };
-  mvtmeta = derive { name="mvtmeta"; version="1.0"; sha256="0g0d4lrz854wkd0dz5aiad54i46aqkfhsq6cpbsfv0w5l2kwiqqz"; depends=[gtools]; };
-  mvtnorm = derive { name="mvtnorm"; version="1.0-0"; sha256="0cm0dwqga7nnb2016jzacmaa233whr7vx75fffhmjzivrfg5vhy8"; depends=[]; };
-  mvtsplot = derive { name="mvtsplot"; version="1.0-1"; sha256="0g5grrha77rsnkfasw5pxnpmkl7vgb728ms8apyg8xnbmgilg9vv"; depends=[RColorBrewer]; };
-  mwa = derive { name="mwa"; version="0.3.2"; sha256="123xvm4vrwl7vfc9sas4jj7fn38m37c6h38j0aczpmygmx54bbmr"; depends=[cem rJava MASS]; };
-  mwaved = derive { name="mwaved"; version="1.0.1"; sha256="0c9hiwf7ldvgm3vh5s7wgvgl304cc2sbsyczbk1wqybcy17cs7s5"; depends=[Rcpp shiny]; };
-  mxkssd = derive { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; };
-  MXM = derive { name="MXM"; version="0.2.1"; sha256="047whr0fly89i5vlyd4z8lj2nxyfkk9vvniasncnwls8vmmpf1jk"; depends=[]; };
-  mycobacrvR = derive { name="mycobacrvR"; version="1.0"; sha256="1xd9ackzdd8db6bayza0bg4n256mi9rdqih0cdc0nl212c3iz75g"; depends=[]; };
-  myepisodes = derive { name="myepisodes"; version="1.1.1"; sha256="0xk9bwgpl630nhc8qa2pc0rwqbqk3haxnp78gfxq6sn6z7i44k1p"; depends=[XML]; };
-  Myrrix = derive { name="Myrrix"; version="1.1"; sha256="15w1dic6p983g2gajbm4pws743z68y0k2hxrdwx6ppnzn9rk07rs"; depends=[Myrrixjars rJava]; };
-  Myrrixjars = derive { name="Myrrixjars"; version="1.0-1"; sha256="0dy82l0903pl4c31hbllscfmxrv3bd5my5b2kv5d3x5zq0x99df0"; depends=[rJava]; };
-  nacopula = derive { name="nacopula"; version="0.8-1"; sha256="1g1kcs6vqagq0nisyc43040ri3a9iy3fv4bnjjjc5zrla52a20w5"; depends=[copula copula]; };
-  NADA = derive { name="NADA"; version="1.5-6"; sha256="0y7njsvaypcarzygsqpqla20h5xmidzjmya4rbq39gg6gkc0ky27"; depends=[survival]; };
-  nadiv = derive { name="nadiv"; version="2.13.2"; sha256="1r63z08k46b6hryxracicsw1hr91x4pgk2x58c9nijdni4my7kkc"; depends=[Matrix]; };
-  namespace = derive { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; };
-  nanop = derive { name="nanop"; version="2.0-3"; sha256="1dz06j292n7ppibmlp7pzjywcglv86hp7lsh07dz7j7p8gbbsza8"; depends=[distrEx rgl]; };
-  NanoStringNorm = derive { name="NanoStringNorm"; version="1.1.17"; sha256="02jvrrz4cmr7l35s7xh0mmwmr5l5lga1vnph2rij2lb8124ardf5"; depends=[gdata]; };
-  NAPPA = derive { name="NAPPA"; version="2.0"; sha256="18yipic8xkf13jaaxnn388m49r5q2g7q7gb0mmw3gh7226lmz987"; depends=[plyr NanoStringNorm]; };
-  nasaweather = derive { name="nasaweather"; version="0.1"; sha256="05pqrsf2vmkzc7l4jvvqbi8wf9f46854y73q2gilag62s85vm9xb"; depends=[]; };
-  nat = derive { name="nat"; version="1.4.10"; sha256="1200qxsrhlxassi8jyrcwfpknyck2p092sxv2gkc74vp62w2b0lp"; depends=[rgl RANN igraph filehash digest nat_utils]; };
-  naturalsort = derive { name="naturalsort"; version="0.1.2"; sha256="0m8a8z0n5zmmgpmpn5w87j2jfsz1igz3x133z3q25h8jlyaxy750"; depends=[]; };
-  nat_utils = derive { name="nat.utils"; version="0.4.2"; sha256="0k5bdqwrbq82bb9ld90ia7b4vjaczba20h231a129rkszsy6sz9v"; depends=[]; };
-  NbClust = derive { name="NbClust"; version="2.0.1"; sha256="00b4h17pnvqsk0hvaz6dbrrys3dshy6zf0s371z7rr1n52xyy8ga"; depends=[]; };
-  NBDdirichlet = derive { name="NBDdirichlet"; version="1.01"; sha256="07j9pcha6clrji8p4iw466hscgs6w43q0f7278xykqcdnk39gkyv"; depends=[]; };
-  nbpMatching = derive { name="nbpMatching"; version="1.4.0"; sha256="0ncw8xihdh24cfz0rhcvvp2l5mhm2z7hllnkf45bhdhpams6yryp"; depends=[Hmisc MASS]; };
-  NBPSeq = derive { name="NBPSeq"; version="0.3.0"; sha256="0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"; depends=[]; };
-  nCal = derive { name="nCal"; version="13.12-01"; sha256="06grlb7ac9vy3ncnqz5h63iarsh94z4mcb29bigkdvnbv9whj7mn"; depends=[drc gdata gWidgets xtable]; };
-  NCBI2R = derive { name="NCBI2R"; version="1.4.6"; sha256="1gsvc9v9005hf71nsqgybnfhlmdr3wwzm5ab7h8c8ly5waq2w9i7"; depends=[]; };
-  ncbit = derive { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; };
-  ncdf = derive { name="ncdf"; version="1.6.7"; sha256="14jqbr6xjq58zawc14j85advbafspfrn40al26zg0v3warwlfwfy"; depends=[]; };
-  ncdf4 = derive { name="ncdf4"; version="1.12"; sha256="110h4s0qg6rp0k1s3fl464g409mq5ajyhfb0cxvwbgz2dp32p8aj"; depends=[]; };
-  ncdf4_helpers = derive { name="ncdf4.helpers"; version="0.3-3"; sha256="051akd7r6zx805a0xwcs95q5sd8alag0f1gzqjk3n188q8r3ji5j"; depends=[ncdf4 PCICt abind]; };
-  ncdf_tools = derive { name="ncdf.tools"; version="0.7.1.291"; sha256="149d89kim67q77w17afc5x7hkvmk05gfkaw6cpl583j2zxingify"; depends=[RNetCDF chron abind plotrix raster RColorBrewer JBTools]; };
-  nCDunnett = derive { name="nCDunnett"; version="1.0.0"; sha256="0n5zzsdrhra5xql110wrxbfdjm3fwa6qhvnpj89w9ph9nr4ad8gf"; depends=[]; };
-  ncf = derive { name="ncf"; version="1.1-5"; sha256="03nbmg9swxhpwrmfjsanp6fj5l2nw160sys70mj10a0ljlaf904z"; depends=[]; };
-  ncg = derive { name="ncg"; version="0.1.1"; sha256="1jzkzp61cc5jxmdnl867lcrjjm7y2iw9imzprbd098p1j3w8fvj7"; depends=[]; };
-  NCmisc = derive { name="NCmisc"; version="1.1"; sha256="13nx9p6yq46lf2q92ximi33wynxfxah8ns18227xxm99d6fpb05v"; depends=[proftools]; };
-  ncvreg = derive { name="ncvreg"; version="3.2-0"; sha256="0j53aj71lxz3pxh6a4vlgw0f9zk4gjh4xf5c7qsm5cp8nfpkplm5"; depends=[]; };
-  ndl = derive { name="ndl"; version="0.2.16"; sha256="1l56kg3x4579hzr4sig3iwrd81rhm8nmmrqfs54zxqv5yxpk3hp4"; depends=[Rcpp MASS]; };
-  ndtv = derive { name="ndtv"; version="0.5.1"; sha256="0cvqpr74als10zhdravbc7ykacy3ll7y5fx4n5jik0avwcaclgkc"; depends=[network networkDynamic animation sna MASS statnet_common]; };
-  neariso = derive { name="neariso"; version="1.0"; sha256="1npfd5g5xqjpsm5hvhwy7y84sj5lqw9yzbnxk6aqi80gfxhfml4c"; depends=[]; };
-  NeatMap = derive { name="NeatMap"; version="0.3.6.2"; sha256="186y06zrh87q6vixl2da2d6apvcj1zkk79c95k081zj5awmryr9b"; depends=[ggplot2 rgl]; };
-  needy = derive { name="needy"; version="0.2"; sha256="1ixgpnwrg6ph1n5vy91qhl1mqirli9586nzkmfvzjrhdvrm0j5l0"; depends=[]; };
-  NEff = derive { name="NEff"; version="1.0"; sha256="0ksnmxjy2ms2z7rq4rddnykydwlb4f9c13nak5f8m65pfjcgv3sk"; depends=[msm bit]; };
-  negenes = derive { name="negenes"; version="1.0-1"; sha256="0g8m3idjm24cf9b1wngw2pv1axgnv9mk5wqs78zgwvn0m67ypsiz"; depends=[]; };
-  neldermead = derive { name="neldermead"; version="1.0-9"; sha256="144liymq0cnd80cp2vn2d1j22g0izipnchc90r526gfpm2gklh7n"; depends=[optimbase optimsimplex]; };
-  Nemenyi = derive { name="Nemenyi"; version="1.1"; sha256="1hcliwbzy1ckyy49kh8qn0830s1ari40mqkvx9vj4hsdys9wjhnl"; depends=[]; };
-  nephro = derive { name="nephro"; version="1.0"; sha256="0dv6gj1q6qrg9y6cpf230q1mksqk3nvzj3afavhrwz1fcz2w22f4"; depends=[]; };
-  NestedCohort = derive { name="NestedCohort"; version="1.1-3"; sha256="10hsc6zik8sz2mp6ig3xr6z3bq0c6rlvqkn11pxny17a4n02wapp"; depends=[survival MASS]; };
-  netClass = derive { name="netClass"; version="1.2.1"; sha256="04yrj71l5p83rpwd0iaxdkhm49z9qp3h6b7rp9cgav244q060m9y"; depends=[kernlab Matrix ROCR igraph samr]; };
-  NetCluster = derive { name="NetCluster"; version="0.2"; sha256="0aby8kfniw07jap795cwk69z83p45q5rap73zp1qbmkm3qcb31g4"; depends=[sna]; };
-  NetComp = derive { name="NetComp"; version="1.6"; sha256="11rxpdihn575diqfvc7yvxhlr2c19fig4v4a5c6jhqyfdsd60fsv"; depends=[gdata]; };
-  NetData = derive { name="NetData"; version="0.3"; sha256="1jf05zwy0c6gmm7kvxlwvai61bz4wpsw7cl0h4i21ipzn1rqxmqj"; depends=[]; };
-  NetIndices = derive { name="NetIndices"; version="1.4.3"; sha256="0ff57f5b12lccqbfin530ra373rn1wz6n42b0jnkyi2ra8hcm88f"; depends=[MASS]; };
-  netmeta = derive { name="netmeta"; version="0.6-0"; sha256="0cwlwd4bms0kf6nicx7crjjighzrzjgfgmx5yl5v7am4v7kwhz2g"; depends=[meta magic]; };
-  NetPreProc = derive { name="NetPreProc"; version="1.0"; sha256="1w0iih6pz8ci1y09xlzm2x3082s57znp1cxq44ckwh45hvzbxbmi"; depends=[]; };
-  nets = derive { name="nets"; version="0.1"; sha256="0zshiavdi1z8mq6q93vsyb5wx5nq37qln9gcyvamvi2pgy5xg4k2"; depends=[igraph]; };
-  NetSim = derive { name="NetSim"; version="0.9"; sha256="07h4qwz64k8zj8c2mx23cbnhg4rqrb4nfh20xw98kspz7cisdg6d"; depends=[Rcpp]; };
-  netweavers = derive { name="netweavers"; version="1.0"; sha256="1k0i31h1wg3hk6m0w56jq14hqc4xpdmw7xy4mydars2nzfj41kzj"; depends=[igraph]; };
-  network = derive { name="network"; version="1.10.2"; sha256="1qdlwdhqyv1z4vhcbyqfx4iw207m76gly87pgyb85wqif4fifk0x"; depends=[]; };
-  networkDynamic = derive { name="networkDynamic"; version="0.6.3"; sha256="0yb536q7v16wx491c5dmw7sf7h4f2rxs39bsdi0sknizgnmsqlv0"; depends=[network statnet_common]; };
-  networkDynamicData = derive { name="networkDynamicData"; version="0.1.0"; sha256="1vln4n8jldqi1a6qb9j9aaxyjb8pfgwd8brnsqr8hp9lm3axd24b"; depends=[networkDynamic network]; };
-  networkreporting = derive { name="networkreporting"; version="0.0.1"; sha256="1vfvx5gf90p31gy6kcv7l2ibzbfl382gffa79dl8gascbsg6s8z8"; depends=[functional ggplot2 plyr reshape2 stringr]; };
-  networksis = derive { name="networksis"; version="2.1-2"; sha256="05x0mp9ig7nff1js0zv7hq8p7jr7dqscs46zlbrxrrcy1waydb0s"; depends=[ergm network]; };
-  networkTomography = derive { name="networkTomography"; version="0.3"; sha256="1hd7av231zz0d2f9ql5p6c95k7dj62hp0shdfshmyfjh8900amw7"; depends=[coda igraph KFAS limSolve plyr Rglpk]; };
-  neuralnet = derive { name="neuralnet"; version="1.32"; sha256="0p9r5j8q0flv15wn5s6qi9if7npna107l1ffv37nzx1b4vgswnl9"; depends=[MASS]; };
-  neuroblastoma = derive { name="neuroblastoma"; version="1.0"; sha256="0hs87fvwaq53xxbh2dw3hjsmf1zkyqli9qyacxf72fnkyhhl8b45"; depends=[]; };
-  neuroim = derive { name="neuroim"; version="0.0.3"; sha256="0n5jkyvdaiigv51s5bb508w5xkh0qkd1zbs67nnms14s1664fhiz"; depends=[stringr hash iterators abind Matrix yaImpute]; };
-  neuRosim = derive { name="neuRosim"; version="0.2-10"; sha256="1h6hhzf3rl8fnvdv8vw3lzzd23pbnv1shd9d8gpk41fgigjnxp1v"; depends=[deSolve]; };
-  Newdistns = derive { name="Newdistns"; version="1.0"; sha256="1agg5v05x9qlg1w439aycfjfd5yap6ivn1kqgsc3ck148ar11wb2"; depends=[]; };
-  nFactors = derive { name="nFactors"; version="2.3.3"; sha256="016d76yfxz7gx7zz5dgwjmj2c5m6kxdmqj0lln5w6d70r9g1kxg7"; depends=[MASS psych boot lattice]; };
-  ngram = derive { name="ngram"; version="1.1"; sha256="0p5wm55anch1i0y3478f5d4sivs7q8j3kwlg89nk3337win06499"; depends=[]; };
-  ngramr = derive { name="ngramr"; version="1.4.3"; sha256="0j66v841xkb1yw2n4pa7p8kz574np2yj2ic71z6aq71npdbxgh9a"; depends=[httr RCurl plyr rjson stringr reshape2 ggplot2 scales]; };
-  ngspatial = derive { name="ngspatial"; version="1.0-3"; sha256="1ph3yg8vcvij3ymw41dczjpzs68icm5lr0pxybmmfgggpmw5cjyb"; depends=[Rcpp batchmeans]; };
-  NHEMOtree = derive { name="NHEMOtree"; version="1.0"; sha256="0ycprj2rz2fy6a7ps0bsr27iphmbfxi9pbvl8rcr6p8yagfb84mb"; depends=[partykit emoa sets rpart]; };
-  nhlscrapr = derive { name="nhlscrapr"; version="1.5.1"; sha256="0gyg7yvjf9r6q4br17rnlm6c8hsxlm6raym1y3rrl05ss1a63jwx"; depends=[RCurl rjson biglm bitops]; };
-  NHMMfdr = derive { name="NHMMfdr"; version="1.0.6"; sha256="10xwvmzqkx90zh88yjmf6d8gsbqil4vxp53d914080b3aygsvxm8"; depends=[MASS locfdr]; };
-  NHPoisson = derive { name="NHPoisson"; version="3.0"; sha256="11gdfqfly3cvr6ndxvp06kbdd7aw6k25kz8kyxxybjpzszxbpmq8"; depends=[car]; };
-  nice = derive { name="nice"; version="0.4"; sha256="1alq8n8pchn9v0fvwrifdisazkh519x109bqgnpgnwf79wblmnhy"; depends=[]; };
-  nicheROVER = derive { name="nicheROVER"; version="1.0"; sha256="0sa7wfpzkin78vz48vwa5iac82v5l1s3zczdxz8sc2kyg22fj0aw"; depends=[mvtnorm]; };
-  NightDay = derive { name="NightDay"; version="1.0.1"; sha256="0vkpr2jwhgghiiiaiglaj1b9pz25fcsl628c9nsp9zyl67982wz1"; depends=[maps]; };
-  Nippon = derive { name="Nippon"; version="0.5.3"; sha256="02m591aljlaxn95k7sl8gfsviv4ywqv9mrkjf6g19kfrc9pbgjqg"; depends=[maptools]; };
-  NISTnls = derive { name="NISTnls"; version="0.9-13"; sha256="03a1c8a5dr5l5x4wbclnsh3vmx3dy7migfdzdx7d7p3s7hj3ibif"; depends=[]; };
-  nlADG = derive { name="nlADG"; version="0.1-0"; sha256="0nvd5hzd1p81jwx5p7js86wblgg615vdnpbvy5rhmhf1ig583z1b"; depends=[ggm]; };
-  nleqslv = derive { name="nleqslv"; version="2.4"; sha256="114h883rvfz48f2mx88cz1mirz15hbx3c4c4n1jvddk93dmz45j4"; depends=[]; };
-  nlme = derive { name="nlme"; version="3.1-117"; sha256="105zrprpgd4snwcy80qfnjzvd5m7g4cx8njji83gg7ynskhrhxj9"; depends=[lattice]; };
-  nlmeODE = derive { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve nlme lattice]; };
-  nlmeU = derive { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; };
-  nlmrt = derive { name="nlmrt"; version="2013-9.24"; sha256="1nqcxfgl5iplmar58015ixir2c7agdw91i0ndn2imdx0il1x2hra"; depends=[]; };
-  nloptr = derive { name="nloptr"; version="1.0.4"; sha256="1cypz91z28vhvwq2rzqjrbdc6a2lvfr2g16vid2sax618q6ai089"; depends=[]; };
-  NLP = derive { name="NLP"; version="0.1-3"; sha256="0mg2sa1f9i2rfhzggd55mi3gmsb9xz6y51ygrk8i27vgyr7x0h7w"; depends=[]; };
-  NLPutils = derive { name="NLPutils"; version="0.0-1"; sha256="036pafnjcbz7ihdgsjss4jq8fb420j8fmxyymv7kr4pr78wjysbx"; depends=[NLP SnowballC qdap]; };
-  nlreg = derive { name="nlreg"; version="1.2-2"; sha256="1pi7057ldiqb12kw334iavb4i92ziy1kv4amcc4d1nfsjam03jxv"; depends=[statmod survival]; };
-  NLRoot = derive { name="NLRoot"; version="1.0"; sha256="1x8mcdgqqrhyykr12bv4hl4wbh1zw2qgpnd2yrm68kb92iy95rh4"; depends=[]; };
-  nlrwr = derive { name="nlrwr"; version="1.1-0"; sha256="1j9wfcjimvfhxiwxsxcp5dni70i7bj5iizd8dq3kamzp7319mryv"; depends=[alr3 car drc HydroMe lattice lmtest MASS NISTnls nlme nls2 nlstools NRAIA sandwich]; };
-  nls2 = derive { name="nls2"; version="0.2"; sha256="0k46i865p6jk0jchy03jiq131pc20h9crn3hygzy305rdnqvaccq"; depends=[proto]; };
-  nlsMicrobio = derive { name="nlsMicrobio"; version="0.0-1"; sha256="0676n78265z00dacmq593c9l2239ii574djm9s7i7w8jk1kdhzx2"; depends=[nlstools]; };
-  nlsmsn = derive { name="nlsmsn"; version="0.0-4"; sha256="1gvpy8rq020l64bdw6n7kv354l7gwa2rgxarm6k0mqq7z21fxf58"; depends=[]; };
-  nlstools = derive { name="nlstools"; version="1.0-0"; sha256="04y3yzpipr82fgafppp09fbi6invmwyalljirmmh01qnrzfimwna"; depends=[]; };
-  NlsyLinks = derive { name="NlsyLinks"; version="1.302"; sha256="0m1qvrpdfwql4jdk3nbn80llq83wavimifw630gnazwmkgkcncai"; depends=[lavaan]; };
-  nlt = derive { name="nlt"; version="2.1-3"; sha256="1j0xrrbr1hvfda8rvnc17lj96m6cz24faxvwn68ilf7j1ab2lkgn"; depends=[EbayesThresh adlift]; };
-  nlts = derive { name="nlts"; version="0.2-0"; sha256="14kvzc1p4anj9f7pg005pcbmc4k0917r49pvqys9a0a51ira67vb"; depends=[locfit acepack]; };
-  nmcdr = derive { name="nmcdr"; version="0.3.0"; sha256="1557pdv7mqdjwpm6d9zw3zfbm1s8ai3rasd66nigscmlq102w745"; depends=[CDFt]; };
-  NMF = derive { name="NMF"; version="0.20.5"; sha256="1j91vklzi4qjlix5sn9qh86dwx6vxnla2p4ag81apkr441jkvynr"; depends=[pkgmaker registry rngtools cluster stringr digest gridBase colorspace RColorBrewer foreach doParallel ggplot2 reshape2]; };
-  NMFN = derive { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; };
-  NMOF = derive { name="NMOF"; version="0.28-2"; sha256="0c22fpzg8qg6asd0glq5cz32mhw7607bcsl7cmrkfzwm8p4yarns"; depends=[]; };
-  nnclust = derive { name="nnclust"; version="2.2"; sha256="1mr506ddvw4lslylpmm43wmd6mwv055zjzgb427nj3jl142dfyz2"; depends=[]; };
-  nnet = derive { name="nnet"; version="7.3-8"; sha256="0nhbprhwkpnhzw6jls8y76xskfh9gq491kg8q8wnamjv3gnngfa5"; depends=[]; };
-  nnls = derive { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; };
-  nodeHarvest = derive { name="nodeHarvest"; version="0.6"; sha256="16151rwmqkf5vlyrlxlirz8s0nimxppx1f7f4pwfxi9vipwph125"; depends=[quadprog randomForest]; };
-  noia = derive { name="noia"; version="0.96"; sha256="0f5gfb78vaj9iklj7gq3g85v78xh5izghjc7v3827jr1irfjivap"; depends=[]; };
-  NominalLogisticBiplot = derive { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[mirt gmodels MASS]; };
-  noncensus = derive { name="noncensus"; version="0.1"; sha256="0cfj17bfzddfshhhzv2ijhrp9ylcscmsysswjcsjfxmy3gbkd00q"; depends=[]; };
-  nonlinearTseries = derive { name="nonlinearTseries"; version="0.2.1"; sha256="1pq93g25arnc68kyvv6ymywdvbqv6620dvqzv1l43c1xssw364bc"; depends=[Matrix rgl tseries TSA]; };
-  nonparaeff = derive { name="nonparaeff"; version="0.5-8"; sha256="1kkn68m7cqlzx3v539cjxw3x5a2y86lvmyv2k98s87m3yvqg0gdk"; depends=[lpSolve gdata Hmisc rms geometry psych pwt]; };
-  NonpModelCheck = derive { name="NonpModelCheck"; version="1.0"; sha256="0mgbyp651jfqyfavpv12i9kwqf0cpk2mzh9m0b5k4n759710qv8f"; depends=[dr MASS]; };
-  nonrandom = derive { name="nonrandom"; version="1.42"; sha256="0icm23hw593322z41wmjkwxqknh2pa9kpzbrch7xw1mhp93sd5ll"; depends=[lme4]; };
-  nontarget = derive { name="nontarget"; version="1.3"; sha256="0kg3b1xs7sfgkjj5wf536r4k9b9hgi2hlkymsw0spskvjg2sd3q0"; depends=[enviPat nontargetData mgcv]; };
-  nontargetData = derive { name="nontargetData"; version="1.1"; sha256="07cdbpmn64sg4jfhljdcx503d55azyz58x7nkji044z3jmdryzqw"; depends=[]; };
-  nopp = derive { name="nopp"; version="1.0.3"; sha256="128c441l5fgapxwl143yhciz8jcak8fisypp6wq6csdxpbs8w21f"; depends=[mlogit MASS]; };
-  nor1mix = derive { name="nor1mix"; version="1.1-4"; sha256="11ym6av7zykynkqvhkbnl7rwxgzrjhgjnbq7whxhkb6qbf6khfsx"; depends=[]; };
-  nordklimdata1 = derive { name="nordklimdata1"; version="1.0"; sha256="0l50g09c102r8fz8ks42dfywg2vh2ad8lhqi7n3gc8nhad8rapqr"; depends=[]; };
-  norm = derive { name="norm"; version="1.0-9.5"; sha256="01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"; depends=[]; };
-  NormalGamma = derive { name="NormalGamma"; version="1.1"; sha256="0r3hhfscif0sx9v8f450yf119gpvf3ilpb8n3ziy4v4qf2jlcfnk"; depends=[optimx histogram]; };
-  NormalLaplace = derive { name="NormalLaplace"; version="0.2-0"; sha256="1yrqfqhxkavczascwpq7z77jwpa1s2dn2cfi15vxfjyayhdxq4aa"; depends=[DistributionUtils GeneralizedHyperbolic]; };
-  normalp = derive { name="normalp"; version="0.6.9"; sha256="1a2m7agcnqmf69mgbkjmmp7mvpx9r4gk13x98yfkg1dyh3b48rri"; depends=[]; };
-  NormPsy = derive { name="NormPsy"; version="1.0.1"; sha256="050cb4i3pb1jbi1scxnnnf1rwxwvr472m284gcjlzrcr5xzbx0gr"; depends=[lcmm]; };
-  NORMT3 = derive { name="NORMT3"; version="1.0-3"; sha256="041s0qwmksy3c7j45n4hhqhq3rv2hncm2fi5srjpwf9fcj5wxypg"; depends=[]; };
-  normtest = derive { name="normtest"; version="1.1"; sha256="073r2mwfs6c4vqh8921nlyygl0f20nhv997s0iwf00d3jckkc4pp"; depends=[]; };
-  normwhn_test = derive { name="normwhn.test"; version="1.0"; sha256="1kr45bfydk40hgdg24i2f28cdaw65hg9gmsgv4lsvvr2m3r74vi6"; depends=[]; };
-  nortest = derive { name="nortest"; version="1.0-2"; sha256="010i9cxjaq6jjdnw8fggvinakrxi3pv4098r9i4jh62vlfwqbjpb"; depends=[]; };
-  nose = derive { name="nose"; version="1.0"; sha256="17l78vmfqc22inq6zaqpnk2m91wp0nfjbbwfcpfqykf8lk9ipqna"; depends=[]; };
-  notifyR = derive { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; };
-  noweb = derive { name="noweb"; version="1.0-4"; sha256="17s65m1m8bj286l9m2h54a8j799xaqadwfrml11732f8vyrzb191"; depends=[]; };
-  Nozzle_R1 = derive { name="Nozzle.R1"; version="1.1-1"; sha256="05sjip4sz12mwd3jcbvk342p83kdmrd4l2jrh17p18w4l7w4nn0z"; depends=[]; };
-  np = derive { name="np"; version="0.60-2"; sha256="0zs1d4mmgns7s26qcplf9mlz9rkp6f9mv7abb0b9b2an23y6gmi5"; depends=[boot cubature]; };
-  nparcomp = derive { name="nparcomp"; version="2.0"; sha256="154689lk1sd1smc3fyslrgz4rzg166n2d8nz7bhbjcrq2fhj8pj0"; depends=[multcomp mvtnorm]; };
-  nparLD = derive { name="nparLD"; version="2.1"; sha256="1asq00lv1rz3rkz1gqpi7f83p5vhzfib3m7ka1ywpf2wfbfng27n"; depends=[MASS]; };
-  npbr = derive { name="npbr"; version="1.0"; sha256="12s25vn4f0373y2ijmpam0an4p64xr3m71xgf20g5przmr77bm0a"; depends=[Rglpk Benchmarking]; };
-  NPCD = derive { name="NPCD"; version="1.0-6"; sha256="1lnj55f73rpjy6amg1n5x7b0jsrmharp0fhcjcn0dflcrjwianxj"; depends=[BB R_oo R_methodsS3]; };
-  NPCirc = derive { name="NPCirc"; version="2.0.0"; sha256="03b4lx7rkpjlxy9854dy16qw15x1cjwzyyvxn778n5xsva0c498b"; depends=[circular misc3d movMF plotrix rgl shape]; };
-  npcp = derive { name="npcp"; version="0.1-0"; sha256="1kkz7qnvmbbl2yfar8s23cn2jh2cqjwnrgjqw5a0wzli5ky613nl"; depends=[]; };
-  npde = derive { name="npde"; version="2.0"; sha256="1cp4k7jvsw9rc6rrck902nqqjaf2c1nxjic7i9r3fd6yca1lgqb9"; depends=[mclust]; };
-  NPHMC = derive { name="NPHMC"; version="2.2"; sha256="000x9y00gfkaj5lf00a55b9qx15x05yp3g3nmp8slyzsnfv66p5d"; depends=[survival smcure]; };
-  nplplot = derive { name="nplplot"; version="4.5"; sha256="1dpbs0jb34gv0zj528357z1j2pwahjbp04rm7jir6qk0jhyaxxgh"; depends=[]; };
-  nplr = derive { name="nplr"; version="0.1-1"; sha256="0br7flriqbig8frq0j4lxiv6i8bwgsj422faln85ga93hnlky0a1"; depends=[]; };
-  NPMLEcmprsk = derive { name="NPMLEcmprsk"; version="1.0"; sha256="0yakcjkxqlbpzs8jdaahdl4lv5l2ffq7l7v00sl77sn9gflgprk3"; depends=[]; };
-  npmlreg = derive { name="npmlreg"; version="0.45-5"; sha256="0jkj3wi435bgb1swll56bcwc1vzq00l503miy171232avy8qrpaf"; depends=[statmod]; };
-  NPMPM = derive { name="NPMPM"; version="1.0"; sha256="14rjj48vfj4wv1na5v181jby016afx4ak1fs0f3g1fif4kbgbdx0"; depends=[]; };
-  npmv = derive { name="npmv"; version="2.1"; sha256="0ivd3wm1fmmaq8i2h0kdd11z9k1czb61ms8fj0xb5xmfy0g1rphy"; depends=[Formula ggplot2]; };
-  NPMVCP = derive { name="NPMVCP"; version="1.1"; sha256="13jpm46abwziq8859jhl6hg1znk3ws1q7g4vlr2jyri3qa6h22dd"; depends=[]; };
-  nppbib = derive { name="nppbib"; version="1.0-0"; sha256="075jb13zckkh66jwdmdlq4d2drjcc3lkj26px3w79b91223yymf2"; depends=[]; };
-  npRmpi = derive { name="npRmpi"; version="0.60-2"; sha256="10gify91m9jsbghdgkwjz57qn6ybj4i239caflm9vkrfxsg6yx2d"; depends=[boot cubature]; };
-  NPS = derive { name="NPS"; version="1.0"; sha256="1acg3367rd53dgwzqr8pnfr8z72s3699h2nhrhh2w9zdqipid89g"; depends=[]; };
-  NPsimex = derive { name="NPsimex"; version="0.2-1"; sha256="1k9i1f5ckvzdns8f5qnm2zq7qs3wsgzsnfwdz21zmhmi6d0pwchm"; depends=[]; };
-  npsm = derive { name="npsm"; version="0.01"; sha256="1bx3l3sh5jvwngq05006mjyy5rs136wlg6wgshqy4d104zqwqjxk"; depends=[Rfit]; };
-  npsp = derive { name="npsp"; version="0.2-4"; sha256="1lzdr958m00dxwzgd46x5fs07sx0gnzbyjrllfa6s7r9klg4i707"; depends=[quadprog]; };
-  npst = derive { name="npst"; version="2.0"; sha256="1y5ij3nmh9pj6p97jpx75g26sk508mznr0l67cwj381zfb77hj1n"; depends=[]; };
-  NRAIA = derive { name="NRAIA"; version="0.9-8"; sha256="16v8s9mqvr6sbiwwj93n3nyrm996wyw4f9l569mw2ykqpdkbp7hm"; depends=[lattice]; };
-  nricens = derive { name="nricens"; version="1.2"; sha256="17h0vckchqlvcsa604cgbcw1akaxl30yx24x1d8201svyz9n0hhb"; depends=[survival]; };
-  NSA = derive { name="NSA"; version="0.0.32"; sha256="0lnimyx3fpnw9zfhqm7y3ssvbpmvbmhcqy6fp83862imiwpl8i5r"; depends=[R_methodsS3 MASS matrixStats R_oo R_utils aroma_core aroma_affymetrix]; };
-  nscancor = derive { name="nscancor"; version="0.6"; sha256="1wkk08h8yz2mzgvmq0vr30iiczpbp0304vjwxqgsa3h240m4awsm"; depends=[]; };
-  NScluster = derive { name="NScluster"; version="1.0.2"; sha256="1bvr44qx3bzbgsdpj70dfq9azkrsywkbvwvm3lwwgpn0spk8apld"; depends=[]; };
-  nsga2R = derive { name="nsga2R"; version="1.0"; sha256="04jj0a3isfc348vg46il5x9l33cr7xawz5w0mm4pwr6djhd8nfhx"; depends=[mco]; };
-  NSM3 = derive { name="NSM3"; version="1.1"; sha256="0xyx06pc9690akdm02597pgcchn29gvc4kzcgyc3ihsjj71xryi2"; depends=[combinat MASS partitions survival agricolae ash binom BSDA coin epitools fANCOVA gtools Hmisc km_ci metafor nortest np quantreg Rfit SemiPar SuppDists waveslim]; };
-  nsprcomp = derive { name="nsprcomp"; version="0.5"; sha256="1rrjiwkpiaqlp27s5xfd6jwmmpzgxm5d7874gp33511wa0vrhnnf"; depends=[]; };
-  nsRFA = derive { name="nsRFA"; version="0.7-11"; sha256="1mlm8fygzr8b03rflays78l63ld0nagprc8xbwny5f87vi00wwq4"; depends=[]; };
-  nullabor = derive { name="nullabor"; version="0.2.1"; sha256="1pxxynfjjyqmgqvfb4fcs6jy63cf9bcbi9x1kz4f5b454q2g1raq"; depends=[MASS ggplot2 plyr]; };
-  numbers = derive { name="numbers"; version="0.4-5"; sha256="0z69samkj7fvbk0wj2nbnkcw17y1sdha7hghkc7yhgkwx2z1pana"; depends=[gmp]; };
-  numDeriv = derive { name="numDeriv"; version="2012.9-1"; sha256="09s00a1wddpq5556mz87vdmx045rhjrx1w8f2a37m8hljghy86k9"; depends=[]; };
-  numOSL = derive { name="numOSL"; version="1.5"; sha256="06lfy4jkk3myzlwivgh9j6ig1l0q9mgaa1zh3vxv2vdkzjd0l56b"; depends=[]; };
-  nutshell = derive { name="nutshell"; version="2.0"; sha256="1v11g5wqyxnj29b7akl0cwa34hcqs79ijbiv735pg3df4ggyrzvm"; depends=[nutshell_bbdb nutshell_audioscrobbler]; };
-  nutshell_audioscrobbler = derive { name="nutshell.audioscrobbler"; version="1.0"; sha256="10fvc5d22gnfb0bkgbww48f0vvcaja96g5gfv85kap939j11172j"; depends=[]; };
-  nutshell_bbdb = derive { name="nutshell.bbdb"; version="1.0"; sha256="19c4047rjahyh6wa6kcf82pj09smskskvhka9lnpchj13br8rizw"; depends=[]; };
-  nws = derive { name="nws"; version="1.7.0.1"; sha256="1fn92n6brjhh8hpvhax7211cphx2cn0rl99kjqksig6z7242c316"; depends=[]; };
-  nycflights13 = derive { name="nycflights13"; version="0.1"; sha256="15bqaphxwqpdzr4bkn6qgbjb3knja5hk34qxjd6xhpjzkgfs5c0b"; depends=[]; };
-  OAIHarvester = derive { name="OAIHarvester"; version="0.1-7"; sha256="0wcl71y8i4s4fxpb90xg71sj6819kgl3d4gff66dan8i6y8sxmyk"; depends=[XML RCurl]; };
-  Oarray = derive { name="Oarray"; version="1.4-5"; sha256="1w66vqxvqyrp2h6acnbg3xy7cp6j2dgvzmqqk564kvivbn40vyy4"; depends=[]; };
-  objectProperties = derive { name="objectProperties"; version="0.6.5"; sha256="0wn19byb1ia5gsfmdi6cj05pnlxbr3zcrjabjg3g1d7b58nz7wlh"; depends=[objectSignals objectSignals]; };
-  objectSignals = derive { name="objectSignals"; version="0.10.2"; sha256="1rcgfq1i3nz2q93vv4l069f3mli1c6fd5dhhhw1p7cc4sy81008w"; depends=[]; };
-  obliclus = derive { name="obliclus"; version="0.9"; sha256="000r1dx4zbgjxrfs66c1yazm0w6q2z0z1scf45g2qj5ykcm9ylma"; depends=[]; };
-  obliqueRF = derive { name="obliqueRF"; version="0.3"; sha256="1bwlgv820mmpc6vg26bsdlfy2p78586i3y42hkzbw3z1fmwq3pz5"; depends=[ROCR pls mda e1071]; };
-  oblique_tree = derive { name="oblique.tree"; version="1.1.1"; sha256="01vyc46gz7qx8fc5bg3zbhjyhnmfgjii120a915vmr38cs51qhqh"; depends=[tree glmnet nnet]; };
-  obs_agree = derive { name="obs.agree"; version="1.0"; sha256="191xshnrncjqzwd2rdq334vsx0338q3y3k1nbm04hdaysbnla9jv"; depends=[]; };
-  obsSens = derive { name="obsSens"; version="1.3"; sha256="1vfm1mzsycwkqa39vf3fcdv1s6adps9hw1rxlvl8v9kq746hcabw"; depends=[]; };
-  oc = derive { name="oc"; version="0.93"; sha256="1nw594wrlnb0kkhkqfa14wxahh1yshpa2hz25nlnb42mi9pbrzg4"; depends=[pscl]; };
-  occ = derive { name="occ"; version="1.0"; sha256="1gn8rg6k5lwwb6axfby7hiss5m64j2rh3hsmwwij58j5xda3jlbx"; depends=[]; };
-  oce = derive { name="oce"; version="0.9-14"; sha256="03vp83504pwjk6wbx5l4s31qvxfyd3g38snvfvp8b0pvnlv8f2fh"; depends=[mapproj]; };
-  ocean = derive { name="ocean"; version="0.2-4"; sha256="1554iixfbw3k6w9xh3hgbiygszqvj5ci431cfmnx48jm27h2alqg"; depends=[ncdf4 proj4]; };
-  OceanView = derive { name="OceanView"; version="1.0"; sha256="1x94zrvz45vval4qiim6755ispj23zp0d6qvzg3xd65y30gprni1"; depends=[plot3D plot3Drgl shape]; };
-  ocedata = derive { name="ocedata"; version="0.1.2"; sha256="0kic6m09a66zc5fxh9fkqk7rp3mnpf0p6i1qy2irh3bj9ccmdkvk"; depends=[]; };
-  ODB = derive { name="ODB"; version="1.1.1"; sha256="1hha4rkbc2zh3karkqa0vn4v0nmcd7sljcymy1nh28bx1gx2ffgs"; depends=[DBI RJDBC]; };
-  odfWeave = derive { name="odfWeave"; version="0.8.4"; sha256="1rp9j3snkkp0fqmkr6h6pxqd4cxkdfajgh4vlhpz56gr2l9j48q5"; depends=[lattice XML]; };
-  odfWeave_survey = derive { name="odfWeave.survey"; version="1.0"; sha256="0cz7dxh1x4aflvfrdzhi5j64ma5s19ma8fk9q2m086j11a1dw3jn"; depends=[odfWeave survey]; };
-  ODMconverter = derive { name="ODMconverter"; version="2.0"; sha256="1691fmkdjhk7rih8qk3rp6bykplz8hxsl7in8gjrc5ll0fkygm98"; depends=[XML xlsx]; };
-  oem = derive { name="oem"; version="1.02.1"; sha256="0z9k0jhpp5dayyin6v8p26rgl8s983hnpsk195c9z458i7nbmrpd"; depends=[Rcpp]; };
-  Ohmage = derive { name="Ohmage"; version="2.11-3"; sha256="16mm58yzh1r8s8x3jhdjwb01a1a8yjiay4v7gcj7j4r7z4mqr75c"; depends=[RCurl RJSONIO]; };
-  OIdata = derive { name="OIdata"; version="1.0"; sha256="078khxrszwnrww2h0ag153bf59fnyhirxy4m56ssgr2gmfahaymf"; depends=[RCurl maps RCurl maps]; };
-  OIsurv = derive { name="OIsurv"; version="0.2"; sha256="148mpjj5navc1vrl72y87krn4lf3awnd32z3g4qqaia404w5w7p7"; depends=[survival KMsurv]; };
-  OjaNP = derive { name="OjaNP"; version="0.9-7"; sha256="1sf23q4qwvx1n8ny9rk4jcrjsb4hifn4ry12p5k29x4baaxmn3xg"; depends=[ICS ICSNP]; };
-  okmesonet = derive { name="okmesonet"; version="0.1.4"; sha256="1fq17v1wx8hxvlk489vp6nlsx8ifs4491099zhikhn1fj7b1m346"; depends=[plyr]; };
-  OligoSpecificitySystem = derive { name="OligoSpecificitySystem"; version="1.3"; sha256="0s76fxai1kgq0hcr5m18yz7i14algld97rjrax75cxm1ccylah71"; depends=[tkrplot]; };
-  OLScurve = derive { name="OLScurve"; version="0.2.0"; sha256="1zqapfwgwy9rxnbhmlgplkphw1bdia4cyi9q6iwcppw3rjw75f1n"; depends=[lattice]; };
-  omd = derive { name="omd"; version="1.0"; sha256="0s1wcgivqapbkzjammga8m12gqgw113729kzfzgn02nsfzmsxspv"; depends=[]; };
-  OmicKriging = derive { name="OmicKriging"; version="1.3"; sha256="1fj131684faj75jdipmsvb8s684x72is6zz79hwb5wszklk00ind"; depends=[doParallel ROCR irlba]; };
-  oncomodel = derive { name="oncomodel"; version="1.0"; sha256="1jyyq9znffiv7rg26mjldbwc5yi2f4f8npsd2ykhxyacb3g96fp1"; depends=[ade4]; };
-  Oncotree = derive { name="Oncotree"; version="0.3.3"; sha256="147rc9ci66lxbb91ys2ig40sgmldi15p604yysrd4ccbxpbk2zwf"; depends=[boot]; };
-  OneHandClapping = derive { name="OneHandClapping"; version="1.5"; sha256="1j45qy4nwnmiqmjqnhzs4f6zspckzhr1rx56i9ddis4iahffqd19"; depends=[]; };
-  onemap = derive { name="onemap"; version="2.0-4"; sha256="00xmhm5qy0ycw0mnlyl20vfw0wxmpb36f07k0jj92c4zbpwjiygx"; depends=[tkrplot]; };
-  ONETr = derive { name="ONETr"; version="0.1-1"; sha256="0jaxz8104xfdn2ys6lgg16vrbin73b5qfnrr81bgmdcpsk9ggix5"; depends=[XML RCurl]; };
-  OneTwoSamples = derive { name="OneTwoSamples"; version="1.0-3"; sha256="0019rc2f4jmbm6sinkvalvjqwi822x78aiin88kg8qbbb5ml8l89"; depends=[]; };
-  onion = derive { name="onion"; version="1.2-4"; sha256="0x3n9mwknxjwhpdg8an0ilix5cb8dyy5fqnb6nxx7ww885k0381a"; depends=[]; };
-  OOmisc = derive { name="OOmisc"; version="1.2"; sha256="09vaxn5czsgn6wpr27lka40kzd76jzqgqxavf26ms3m9kkdf83g4"; depends=[]; };
-  OpasnetUtils = derive { name="OpasnetUtils"; version="1.0.0"; sha256="04w6jvrjwiyva8lblx7i3ynywhis7d45nzhc1gls9yqxq0p426i1"; depends=[rjson RCurl reshape2 triangle httpRequest digest xtable]; };
-  OPDOE = derive { name="OPDOE"; version="1.0-9"; sha256="0pf8rv5wydc8pl4x57g7bk2swjabaxdgijgsigjy5wihfcb48654"; depends=[gmp mvtnorm orthopolynom nlme crossdes polynom]; };
-  OPE = derive { name="OPE"; version="0.7"; sha256="0ld3pr94ii1pmfk99qfwgria6ki2iz2hwmn7pj3cjwprv8jkcjji"; depends=[]; };
-  opefimor = derive { name="opefimor"; version="1.1"; sha256="0xv57l38wx3w67h312g5xcpi9m7ggd6crqvqjh5gddq0g1g93bjq"; depends=[]; };
-  openair = derive { name="openair"; version="1.0"; sha256="04swl74189ccbak0qw55gyw66v07ia0wg8xwiak81233wc0ins42"; depends=[plyr reshape2 mgcv lattice latticeExtra cluster RColorBrewer Rcpp]; };
-  OpenCL = derive { name="OpenCL"; version="0.1-3"; sha256="0f7vis0jcp0nh808xbzc73vj7kdcjb0qqzzsh3gvgamzbjfslch8"; depends=[]; };
-  opencpu = derive { name="opencpu"; version="1.4.3"; sha256="0515x95rvrp9hpxmc65hz6r35g8ql2hvlqhj94zapaa55ycw95jb"; depends=[evaluate httpuv knitr jsonlite devtools httr brew pander]; };
-  openintro = derive { name="openintro"; version="1.4"; sha256="1k6pzlsrqikbri795vic9h191nf2j7v7hjybjfkrx6847c1r4iam"; depends=[]; };
-  OpenMPController = derive { name="OpenMPController"; version="0.1-2"; sha256="1cpsbjmqql0fsjc1xv323pfkhfr9vrcv5g4j3p1qc5zn4z9pq7r6"; depends=[]; };
-  openNLP = derive { name="openNLP"; version="0.2-3"; sha256="1d609hv24sxjppxpkgfvsl7p8vsajj0ivczcjixlnrly09j9ajrh"; depends=[NLP openNLPdata rJava]; };
-  openNLPdata = derive { name="openNLPdata"; version="1.5.3-1"; sha256="1a048irgv56yi2lvhpqh8vh4dl7g7zfg934qypjxg8mcdcqi820y"; depends=[rJava]; };
-  OpenRepGrid = derive { name="OpenRepGrid"; version="0.1.8"; sha256="1m71wb9i30vggbxpcv9ywbdi21ki8qivqw70i3rsrk8r1nx3zxq1"; depends=[colorspace plyr abind rgl GPArotation psych XML xlsx pvclust]; };
-  OpenStreetMap = derive { name="OpenStreetMap"; version="0.3.1"; sha256="009xiqsbgqb3lba6msyzq7ncripmvpymxynkga8pqc8npv8g7fzb"; depends=[rJava raster rgdal rJava]; };
-  openxlsx = derive { name="openxlsx"; version="2.0.15"; sha256="0wnczn3bnmcp3z8qx1al9is903y2iv532kb2sxz45ld3313n2y5z"; depends=[Rcpp]; };
-  operators = derive { name="operators"; version="0.1-6"; sha256="13lqxifbw8h4xn5gjf96bnzq9fzrncrj1g5lib8gvbpcbwn2smsl"; depends=[]; };
-  operator_tools = derive { name="operator.tools"; version="1.3.0"; sha256="0y5f0ifj4gaq03gm44vdvslcs7lglk1p8kq47mdc0gc1yfa6l00c"; depends=[]; };
-  OPI = derive { name="OPI"; version="1.6"; sha256="0d9863zs54chmdc74g508xpclj7gjk7q36amdnqq0bffp87bj9nq"; depends=[rJava]; };
-  opm = derive { name="opm"; version="1.1.0"; sha256="14sj0frjfd4a7j30zyk1fbhkpry45bjcn2k0l9jf7xc8415rbc3v"; depends=[lattice boot hwriter plotrix Ckmeans_1d_dp pkgutils yaml mgcv grofit rjson nlme DBI]; };
-  opmdata = derive { name="opmdata"; version="0.7.0"; sha256="043zzp2p4cvda5rshi9s990lm5qyi6ydkmy84xanwaqvysi1cpyy"; depends=[opm]; };
-  oposSOM = derive { name="oposSOM"; version="0.2-3"; sha256="0s6sq9ij8swgpljpk0jbzl0a1qw2y122zgxazy54q16xdf5a5vgy"; depends=[som fastICA pixmap igraph]; };
-  ops = derive { name="ops"; version="1.0"; sha256="0cvwyn5sz5lx8sin8w4k8ymslfl4nfaa012a9vcl2hvp4850rk25"; depends=[]; };
-  optAUC = derive { name="optAUC"; version="1.0"; sha256="0j1llzqa3n7kqw3i5bb7284z0hi6s5jbjfl9zap0l7xf6hg4x1dn"; depends=[MASS]; };
-  optBiomarker = derive { name="optBiomarker"; version="1.0-27"; sha256="1kkj602d4klwyd8kylawgfysg8dlp2g6j7afkppzv5x8mbhs5ji4"; depends=[rpanel rgl MASS randomForest e1071 ipred msm Matrix]; };
-  optextras = derive { name="optextras"; version="2013-10.27"; sha256="0898dgl8div4hdhb4wyj39vak94nm2311x550b8k8ljbx0nmp9gh"; depends=[numDeriv]; };
-  OptHedging = derive { name="OptHedging"; version="1.0"; sha256="0g7qaf5abvbcqv2h1dciwn3gwpz084ryqjjk0yabdm4ym0y38ddm"; depends=[]; };
-  OptimalCutpoints = derive { name="OptimalCutpoints"; version="1.1-2"; sha256="14qz1clckmgjqhcfmxknxb3vwplf107g8y4pd5bb3n7ska2p9g58"; depends=[]; };
-  optimbase = derive { name="optimbase"; version="1.0-9"; sha256="0ivz24kf3yacgq5bl3s3az1pcyhsz0cza5f8vdksy5gchwqplm8n"; depends=[Matrix]; };
-  optimsimplex = derive { name="optimsimplex"; version="1.0-5"; sha256="1aiq0w2zlra3k6x4hf2rglb6bj8w25yc8djnpgm508kkrbv3cc17"; depends=[optimbase]; };
-  optimx = derive { name="optimx"; version="2013.8.6"; sha256="04jzfb4y1g3lds9qybhb8ykkwcwy1585v3mqpa3mshgdz332wx95"; depends=[numDeriv]; };
-  OptInterim = derive { name="OptInterim"; version="3.0.1"; sha256="1ks24yv5jjhlvscwjppad27iass59da1mls99hlif0li9mvkbvyk"; depends=[mvtnorm clinfun]; };
-  optiRum = derive { name="optiRum"; version="0.33"; sha256="1324wmi6b2y9whacf9883k1f86bs9gvxp46gksiga1dwab53nlhv"; depends=[data_table]; };
-  optiscale = derive { name="optiscale"; version="1.1"; sha256="1c263w9df66m7lgvzpdfm2zwx9nj8wcdpgh5gijachr2dzffmrp2"; depends=[lattice]; };
-  optmatch = derive { name="optmatch"; version="0.9-3"; sha256="143rkqajs9vc2idg7vs043njh3jgbl3v5x2jnnbxj6g3qlgzd5cb"; depends=[digest]; };
-  optparse = derive { name="optparse"; version="1.2.0"; sha256="064grlajnmbcbyhmfgx58mbbmv94sxdkxdqqww0cbi7dg441sli2"; depends=[getopt]; };
-  optpart = derive { name="optpart"; version="2.1-1"; sha256="0m2nsrynqbw9sj7cp7c37grx9g20dld2f26g0xzbj16wz7whgp02"; depends=[cluster labdsv MASS plotrix]; };
-  optR = derive { name="optR"; version="1.1.1"; sha256="1lr5n0g21jayb27b2j8zh16f1k28avzg7k2mwyc7rjhhxv8k9w1j"; depends=[]; };
-  ora = derive { name="ora"; version="2.0-1"; sha256="0albxqma220rnrpfdq3z9cawr83q1a0zzczbbcy4nijjm4mswphy"; depends=[DBI ROracle]; };
-  orca = derive { name="orca"; version="1.0"; sha256="0cqz1zmlzwdprhbxs4arjv2gx868dx47xg8jmjvzk7g2xc9prj62"; depends=[]; };
-  ORCI = derive { name="ORCI"; version="1.1"; sha256="0xy5lvz2scz06fphjyhqbdhp4bizmv87a8xykp9dbgx8b4ssnqgz"; depends=[BiasedUrn BlakerCI PropCIs]; };
-  orclus = derive { name="orclus"; version="0.2-5"; sha256="0kkxhyqjxib862npinzf3mipqg5imgscdmb5wqm8wf2j2mbislsx"; depends=[]; };
-  ORCME = derive { name="ORCME"; version="2.0.1"; sha256="0wr4z19alyp2cvlpg4bs8sni6nrwnhk11bbr00ycqym39alr2wjw"; depends=[Iso]; };
-  orcutt = derive { name="orcutt"; version="1.1"; sha256="0hz7aw4jpf4l7ihj4bjnjv1m8ynr71n4l12x046qj8y7mrnl9p4k"; depends=[]; };
-  ordBTL = derive { name="ordBTL"; version="0.8"; sha256="09x3zfmss4fsh3rjghgmpv8y34dnkz4mw696b3k3nvlgk55a1423"; depends=[caret VGAM wikibooks gtools]; };
-  orddom = derive { name="orddom"; version="3.1"; sha256="165axs15fvwhrp89xd87l81q3h2qjll1vrwcsap645cwvb85nwsh"; depends=[psych]; };
-  ORDER2PARENT = derive { name="ORDER2PARENT"; version="1.0"; sha256="04c80vk6z227w6qsnfls89ig4vqyiiymdarhq1pxa0gpr8j2ssx5"; depends=[Matrix]; };
-  orderbook = derive { name="orderbook"; version="1.03"; sha256="0dlvjrzdhhh8js4g1lvxs46q7fdxfxavxnb4nj6xlwca75i51675"; depends=[lattice hash]; };
-  OrdFacReg = derive { name="OrdFacReg"; version="1.0.4"; sha256="00zw5zqbn2v5r4mqgs4m7gz278bnb53jf5x6c50yv47643m0nxfy"; depends=[eha MASS]; };
-  ordinal = derive { name="ordinal"; version="2013.9-30"; sha256="07a226ccd05a3w0i5j6f3mwbmnc3xpl7myq33zl6r4gpvcc8d7c3"; depends=[ucminf MASS Matrix]; };
-  OrdinalLogisticBiplot = derive { name="OrdinalLogisticBiplot"; version="0.3"; sha256="0z03dpargdkay99gci5kpxr2i8cgiw3gfras65f83bjr2pkmsdla"; depends=[mirt MASS NominalLogisticBiplot]; };
-  OrdMonReg = derive { name="OrdMonReg"; version="1.0.3"; sha256="1xca8pvvq79j484l2rmn4nva8ncx8z51g5diljikck231y8qjqaz"; depends=[]; };
-  OrdNor = derive { name="OrdNor"; version="1.0"; sha256="1n6c0d4r1w3n016lzk2i5yyvawk9pgmsbzymbbyq7gx8a80iv32h"; depends=[mvtnorm corpcor Matrix GenOrd]; };
-  ordPens = derive { name="ordPens"; version="0.2-1"; sha256="1kcxjfr2ncnqg293ph509hpgzzn5s4ih2kd8agl335zlxcksz3fp"; depends=[grplasso mgcv RLRsim]; };
-  OrgMassSpecR = derive { name="OrgMassSpecR"; version="0.4-4"; sha256="046lr0piiy5w5lxjvyw7iqqclkghmc6zqymfypkw374gk73yrm76"; depends=[]; };
-  ORIClust = derive { name="ORIClust"; version="1.0-1"; sha256="1biddddyls2zsg71w4innxl0ckfb80q2j9pmd56wvbc0qnbm0w3q"; depends=[]; };
-  orientlib = derive { name="orientlib"; version="0.10.3"; sha256="1qi46hkz73b8722zc3w6wvsq1ydlk37yxn9rd1dqygqbs1svkmvv"; depends=[]; };
-  orloca = derive { name="orloca"; version="4.2"; sha256="14accc5kcvvin5qav6g3rx10by00r0b8970nd09w4c09nhwyblcd"; depends=[]; };
-  orloca_es = derive { name="orloca.es"; version="4.1"; sha256="0nzhg7vzfxlmryw5ijww8z2b1g9cmgcgzi3gsgigsgn4shnc2hni"; depends=[orloca]; };
-  ORMDR = derive { name="ORMDR"; version="1.3-2"; sha256="0y7b2aja3zvsd6lm7jal9pabcfxv16r2wh0kyzjkdfanvvgk3wmm"; depends=[]; };
-  oro_dicom = derive { name="oro.dicom"; version="0.4.1"; sha256="0mxjqk7b0k4srkk5yqm21b2x67c5hyd7nwf3b1qlb9rvnfjhqyhk"; depends=[oro_nifti]; };
-  oro_nifti = derive { name="oro.nifti"; version="0.4.0"; sha256="1pragzjdldzgiaj4rbx37ki0930wfxj3kvan43vijd11a8ij1g5l"; depends=[bitops]; };
-  oro_pet = derive { name="oro.pet"; version="0.2.1"; sha256="1ysi7jxx1jalx78vqpbq1rd8q85nrz23zrz3vbj5ar3l265kwd5q"; depends=[oro_nifti]; };
-  orQA = derive { name="orQA"; version="0.2.1"; sha256="0vivjrpcbql42y078gi91kfpfdpv73j23jkiv8fpazzwzdi8ydqq"; depends=[Rcpp gtools nlme]; };
-  orsk = derive { name="orsk"; version="1.0-1"; sha256="155wc9sfla3717b6xmhmsmvsnh2qbzzkffhibmj4xc0pd9lwwz2v"; depends=[BB BHH2]; };
-  orthogonalsplinebasis = derive { name="orthogonalsplinebasis"; version="0.1.5"; sha256="060g2z8zx5gkk8v31cs0c6v5jzkd7hc9l2syx6hmvj6przr2cxi4"; depends=[]; };
-  orthopolynom = derive { name="orthopolynom"; version="1.0-5"; sha256="1gvhqx6jlh06hjmkmbsl83gri0gncrm3rkliyzyzmj75m8vz993d"; depends=[polynom]; };
-  osDesign = derive { name="osDesign"; version="1.7"; sha256="0y68pnsmq4nlmfsn28306q2kxab200pirr6ha0w4himzpnw1sil3"; depends=[]; };
-  osmar = derive { name="osmar"; version="1.1-7"; sha256="0q6d8nw7d580bnx66mjc282dx45zw9srczz90b520hjcli4w3i3r"; depends=[XML RCurl geosphere]; };
-  ouch = derive { name="ouch"; version="2.8-4"; sha256="1kx6qjvc8zlcxihqfxs288hwwh9m05s5544w4c6m1wc02083b735"; depends=[subplex]; };
-  outbreaker = derive { name="outbreaker"; version="1.1-3"; sha256="0ahkzcgicdlk6g8fd7rnni0n333wrixlfpck5wpznp4a1ny44zn4"; depends=[ape igraph adegenet]; };
-  OutbreakTools = derive { name="OutbreakTools"; version="0.1-11"; sha256="0m39wppck75mpcgdhwvw0nc0cgidzn80zl58hhs6x3svpnbssn0v"; depends=[ggplot2 network knitr RColorBrewer ape reshape2 sna plyr ggmap scales rjson networkDynamic]; };
-  OutlierDC = derive { name="OutlierDC"; version="0.3-0"; sha256="1vm3zx4qmj9l0ddfqbksm1qyqzzqrxf93gh4kj52h68zlsfxwv41"; depends=[survival quantreg Formula]; };
-  OutlierDM = derive { name="OutlierDM"; version="1.0-0"; sha256="1yphr47nswcaqa5pfamc3ksqcxwhxl388sdml2aqjjfd9w29lf2g"; depends=[quantreg MatrixModels outliers pcaPP]; };
-  outliers = derive { name="outliers"; version="0.14"; sha256="0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"; depends=[]; };
-  OUwie = derive { name="OUwie"; version="1.43"; sha256="1ixyws6q9p8kms3smzj8rkmsry2y4s9al4vhxpqfmbgypigq7n9k"; depends=[ape nloptr numDeriv corpcor lattice phytools phangorn]; };
-  overlap = derive { name="overlap"; version="0.2.3"; sha256="0d41fhdbm009j53hq4cm2dz04wlh955c4q80dw1d1wcyjz627n49"; depends=[]; };
-  oz = derive { name="oz"; version="1.0-20"; sha256="1d420606ldyw2rhl8dh5hpscvjx6vanbq0hrg81m7b6v0q5rkfri"; depends=[]; };
-  p2distance = derive { name="p2distance"; version="1.0.1"; sha256="1ims8i5z5k97kjpdysgx8g7lgvnvf7amahcrssw7bk38bvbxawni"; depends=[]; };
-  p3state_msm = derive { name="p3state.msm"; version="1.3"; sha256="0gbrka62ylxx64r3abpk60y92k2lk5smlf8na68qazph8llsl2rv"; depends=[survival]; };
-  pa = derive { name="pa"; version="1.2-1"; sha256="1pfgzxirkb0p8f6smjlrbp1qpsh0vsvqf306cvldaj9zx8cw0q9f"; depends=[ggplot2]; };
-  pacbpred = derive { name="pacbpred"; version="0.92.2"; sha256="13p405vh9rf1r5idxl5payc85vwlzcd87wm15163vc9gmil1ncsf"; depends=[]; };
-  pack = derive { name="pack"; version="0.1-1"; sha256="0x4p8clwp49s2y67y7in530xwhjngnqwagf9xnyb1jp0z3myd3r7"; depends=[]; };
-  packClassic = derive { name="packClassic"; version="0.5.2"; sha256="04a1sg9vx3r0sq54q9kj0kpahp6my246jy3bivgy09g5fjk0dmkj"; depends=[]; };
-  packdep = derive { name="packdep"; version="0.3.1"; sha256="1827h9xcvgdad9nwz9k3hi79jc33yr7dnxy4xn2frp3fdh4q81ll"; depends=[igraph]; };
-  packHV = derive { name="packHV"; version="1.8"; sha256="0dr2picjd7mm633vw29524f3n4jpyillpzi9cg7yc2cymxnrgvyg"; depends=[survival WriteXLS]; };
-  packS4 = derive { name="packS4"; version="0.9.1"; sha256="01kkw5g3xcn9hhfglmfvwsryid0w4vw9azh6as8l8d5i1xjyp9k7"; depends=[]; };
-  pacose = derive { name="pacose"; version="1.4"; sha256="10dpqafbq5iwfhx9xf6l902y23p2w4mvaclkhrcz2d89njakcnaz"; depends=[ggm igraph ppls MASS corpcor glmnet mvtnorm lcd]; };
-  paf = derive { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; };
-  PAGI = derive { name="PAGI"; version="1.0"; sha256="01j1dz5ihqslpwp9yidmhw86l112l7rfkswmf03vss872mpvyp3f"; depends=[igraph]; };
-  PAGWAS = derive { name="PAGWAS"; version="1.0"; sha256="1zwq4b0bgsskzvlapffh30ys9y4wlcfwpjqw8m2i9zabib5knx9i"; depends=[lars doMC mnormt]; };
-  pairedCI = derive { name="pairedCI"; version="0.5-4"; sha256="03wf526n3bbr2ai44zwrdhbfx99pxq1nbng9wsbndrdg2ji4dar2"; depends=[]; };
-  PairedData = derive { name="PairedData"; version="1.0.1"; sha256="025h5wjsh9c78bg6gmg6p6kvv2s6d5x7fzn3mp42mlybq0ry78p0"; depends=[MASS gld mvtnorm lattice ggplot2]; };
-  pairheatmap = derive { name="pairheatmap"; version="1.0.1"; sha256="1awmqr5n9gbqxadkblpxwcjl9hm73019bwwfwy1f006jpn050d6l"; depends=[]; };
-  PairViz = derive { name="PairViz"; version="1.2.1"; sha256="0mjp5p6n5azbhrm2hvb9xyqjfhd49pw9ia8k70749yc96ws1qqc7"; depends=[TSP gtools]; };
-  pairwise = derive { name="pairwise"; version="0.2.5"; sha256="0r08v95f6f2safi6c0x84v5gib5qnkv46dmi97rdb9l2xzly249b"; depends=[]; };
-  pairwiseCI = derive { name="pairwiseCI"; version="0.1-22"; sha256="1lgir9gcikx8c9pd2wdsqnik9rwr4qkymcf4ndp8s491vj6cm6sa"; depends=[MCPAN coin boot mratios binMto MASS]; };
-  palaeoSig = derive { name="palaeoSig"; version="1.1-2"; sha256="0f5y69zzb32zi3kdy8jpcvz3i38nmmi0d9ajs44jrq4rkhhhwq3v"; depends=[rioja vegan TeachingDemos gstat fields mapproj]; };
-  paleobioDB = derive { name="paleobioDB"; version="0.1"; sha256="0ax5mzfvrxwg82brc4589bkd7cl8iy254iq6sjs9cr3d7x0zyahz"; depends=[maps raster rjson gtools RCurl plyr scales]; };
-  paleofire = derive { name="paleofire"; version="1.1.3"; sha256="0k46pq16chrp5gcp5gd5vph9zj17ci4yb1lgyrwrm8qnvydi1nkp"; depends=[GCD rworldmap locfit gtools caTools pscl Imap RCurl devtools raster sp rgdal ggplot2 lattice RColorBrewer agricolae plyr]; };
-  paleoMAS = derive { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[MASS vegan lattice]; };
-  paleotree = derive { name="paleotree"; version="2.0"; sha256="06bi9wikgb9szlhf747ijnqikv87svlf579w4hx9yplc8m44br1s"; depends=[ape phangorn]; };
-  paleoTS = derive { name="paleoTS"; version="0.4-4"; sha256="19acfq5z42blk6ya7sj3sprddlgvhrzb9zqpvpy4q8siqkxxrjah"; depends=[mvtnorm]; };
-  palinsol = derive { name="palinsol"; version="0.92"; sha256="1jxy3qx8w1r8jwgdavf37gqjjqpizdqk218xcc7b77xi8w52vxpg"; depends=[gsl]; };
-  PamGeneMixed = derive { name="PamGeneMixed"; version="1.03"; sha256="0pg19nnn8d23mqw7aw1wqijcgfavvixr42p51iz0m931ig3sg4ki"; depends=[mgcv gplots nlme]; };
-  pamm = derive { name="pamm"; version="0.7"; sha256="02py4zcymmwnlpsvha5cgc4ik8fp0gbsg86s5q7z5fl3ma3g669j"; depends=[lme4 mvtnorm gmodels]; };
-  pamr = derive { name="pamr"; version="1.54.1"; sha256="05jm67y329z4qcsacd9mc7hcq7g6icf2mi53nranmkgcnhwvr78k"; depends=[cluster survival]; };
-  pan = derive { name="pan"; version="0.9"; sha256="1payx5bzs0hp3f176ia56y4a9pym8p4h7ap5wag2symlvprzppah"; depends=[]; };
-  pander = derive { name="pander"; version="0.3.8"; sha256="0ka9cjwmvr79rbymww9m36l7z0rdf8xkxvc6r2y5lm6mpzx1s13i"; depends=[digest]; };
-  panelAR = derive { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; };
-  Paneldata = derive { name="Paneldata"; version="1.0"; sha256="00hk340x5d4mnpl3k0hy1nypgj55as2j7y2pgzfk3fpn3zls5zib"; depends=[]; };
-  papeR = derive { name="papeR"; version="0.4-0"; sha256="0w1pqmgaa15x4vxr4msw5fwmd42kgrhniy2h7wvpyyvgzxfvb0s3"; depends=[car nlme lme4 survival gmodels]; };
-  ParallelForest = derive { name="ParallelForest"; version="1.1.0"; sha256="1xa9lfgrvzv7bvv1aaabcfk4372p8x5gxgj463h5ggf9x177lj5j"; depends=[]; };
-  parallelize_dynamic = derive { name="parallelize.dynamic"; version="0.9-1"; sha256="03zypcvk1iwkgy6dmd5bxg3h2bqvjikxrbzw676804zi6y49mhln"; depends=[]; };
-  parallelMap = derive { name="parallelMap"; version="1.1"; sha256="1h3im52ia29m1qv4dcvw1zxciv3v9b9fq2difg6cs9apdn0fvlz8"; depends=[BBmisc checkmate fail]; };
-  parallelMCMCcombine = derive { name="parallelMCMCcombine"; version="1.0"; sha256="05krkd643awqhfrylq9lxr2cmgvnm1msn2x8p1l1483n2gzyklz7"; depends=[mvtnorm]; };
-  ParamHelpers = derive { name="ParamHelpers"; version="1.3"; sha256="15dbqsr5sp16wq0nqi07gkkqc1drb87s5yw54s3dv1mg6bn4az7k"; depends=[BBmisc checkmate]; };
-  paramlink = derive { name="paramlink"; version="0.9-6"; sha256="0pazllkjbqzvl9vmpvr67lkcsd960mipcd1p1nf00y8hknrwh7qp"; depends=[kinship2 maxLik]; };
-  paran = derive { name="paran"; version="1.5.1"; sha256="0nvgk01z2vypk5bawkd6pp0pnbgb54ljy0p8sc47c8ibk242ljqk"; depends=[MASS]; };
-  parboost = derive { name="parboost"; version="0.1.3"; sha256="1ziqbbcxvhc3v0vjpf9y6jhk3rqbgn9cilwcfxlxjbw73jhvvclg"; depends=[mboost party iterators plyr caret glmnet doParallel]; };
-  parcor = derive { name="parcor"; version="0.2-4"; sha256="0zz1i3cm1gy2bx77hpydk0wlsr60nanjx57g0zr5wm01imkk99wa"; depends=[MASS glmnet ppls Epi GeneNet]; };
-  ParDNAcopy = derive { name="ParDNAcopy"; version="1.3"; sha256="1y0fl5gj3d3xj6krfyg48fs9vz3s4jb61js0b7yfzgv6a3289g5a"; depends=[]; };
-  ParentOffspring = derive { name="ParentOffspring"; version="1.0"; sha256="117g8h0k65f2cjffigl8n4x37y41rr2kz33qn2awyi876nd3mh93"; depends=[]; };
-  ParetoPosStable = derive { name="ParetoPosStable"; version="1.0.2"; sha256="1a42s9lhzzimvlxdpbd8dfqc5a936f1s31d040fwgs8i3qfpfjwp"; depends=[ADGofTest lmom]; };
-  parfm = derive { name="parfm"; version="2.5.6"; sha256="1zas6isgirha379f246zg84ddv0jl2n4795brshd98hkayl4c1fi"; depends=[survival eha msm]; };
-  parfossil = derive { name="parfossil"; version="0.2.0"; sha256="12gsc5n4ycvhzxvq5j0r3jnnrzw1q412dbvmakipyw2yx2l2s7jn"; depends=[fossil foreach]; };
-  parma = derive { name="parma"; version="1.5-1"; sha256="0qrq3bx0amri9b3s6bym4znnk140jjd2abnvqyihaj4bf2glbl0g"; depends=[nloptr slam Rglpk quadprog FRAPO corpcor]; };
-  parmigene = derive { name="parmigene"; version="1.0.2"; sha256="1fsm6pkr17jcbzkj1hbn91jf890fviqk1lq6ls8pihsdgah1zb4d"; depends=[]; };
-  parspatstat = derive { name="parspatstat"; version="0.1-4"; sha256="14rcw2lzqwdjg4avjw3d6ivgdglkkagdh6pnd7bprkkdv8i5a9h2"; depends=[Rmpi spatstat]; };
-  partDSA = derive { name="partDSA"; version="0.9.5"; sha256="0zblwjzwhalcnbmgwnqxpq7ixf4xhgx9lpf0lk3krry3di537s0q"; depends=[survival]; };
-  partialOR = derive { name="partialOR"; version="0.9"; sha256="02vbvln8lswysaafpxq5rxb6crp7yhlc13i42kybv8fr10jaagjj"; depends=[nnet]; };
-  partitionMap = derive { name="partitionMap"; version="0.5"; sha256="0pi066xaaq0iqr0d7cncdzjd7bacmgrivc4qvhqx0y7q1vifrdjm"; depends=[randomForest]; };
-  partitionMetric = derive { name="partitionMetric"; version="1.1"; sha256="1wry9d3s814yp79ayab7rzf8z5l2mwpgnrc5j7d2sac24vp4pd48"; depends=[]; };
-  partitions = derive { name="partitions"; version="1.9-15"; sha256="0jgpknm4zah50w9i3fbq2f1whm4hywm2j72vxc3ignx1snx2z0gs"; depends=[gmp polynom]; };
-  partsm = derive { name="partsm"; version="1.1-2"; sha256="0cv3lgkdkn97bc85iwlv9w5pmqwwwsgb717zxnbgb5mzf4xn3f3g"; depends=[]; };
-  party = derive { name="party"; version="1.0-15"; sha256="159k6pq5in9608m6y007vhlvlhd98z1m75i727c7k1vjj0rxsdf1"; depends=[zoo sandwich strucchange modeltools survival coin]; };
-  partykit = derive { name="partykit"; version="0.8-0"; sha256="083lwaz38d40qdhlhf33vplykx1m3ham0q8r7pmwivj09nbfkmya"; depends=[survival]; };
-  parviol = derive { name="parviol"; version="1.1"; sha256="1sfgic86ssd5wjf9ydss9kjd3m4jmm2d1v896sjsv8bydwymbpx3"; depends=[vioplot]; };
-  PAS = derive { name="PAS"; version="1.2"; sha256="0q5g9j8xb9fl7r8f1w5gk5h83ll5w1r6m2gq9ilw8w8s96pm4xd8"; depends=[glmnet]; };
-  pass = derive { name="pass"; version="1.0"; sha256="00dzwg2lnzmrrmzq3fyrs4axswgnsn7f62l2f2a8d8gyf8qzz3nf"; depends=[MASS lars ncvreg]; };
-  pastecs = derive { name="pastecs"; version="1.3-18"; sha256="0ixlnc1psgqgm71bsf5z5j65lvr92ghpsk9f1ifm94dzjhi6d22i"; depends=[boot]; };
-  pastis = derive { name="pastis"; version="0.1-2"; sha256="0211pzj3xrmqgxjpspij95kmlpa2klpicw49n6pnz2g1fapjy2bd"; depends=[caper ape]; };
-  PASWR = derive { name="PASWR"; version="1.1"; sha256="1rxymnqvflypc6m62f5vw65l8x1m2yah7r11hhpmzdq2l2sg8fci"; depends=[e1071 MASS lattice]; };
-  patchDVI = derive { name="patchDVI"; version="1.9.1601"; sha256="0vv1rmmd78n2r14dsl9fx25v6ym9mav557ya0aagr548wqcajf0m"; depends=[]; };
-  patchPlot = derive { name="patchPlot"; version="0.1.5"; sha256="1b4k0dvvj6qwyxbqb36knyrawvy5qq8hl45pz896c9rkqhlg02bx"; depends=[datautils]; };
-  pathClass = derive { name="pathClass"; version="0.9.4"; sha256="1vzmz3bml37wfxsjhkw9fip90sr1iv521ccr7nlf6xd30wavqywk"; depends=[svmpath kernlab ROCR igraph lpSolve]; };
-  pathdiagram = derive { name="pathdiagram"; version="0.1.9"; sha256="1j2h9mmwfi95nwhk9214kcfpb1qrmw249mjaza7i9gijmlicraxz"; depends=[shape]; };
-  pathmox = derive { name="pathmox"; version="0.2.0"; sha256="0hcllnpjjays35yngz309f1gcx9qg5z9h302kg9mhxs90470x4w0"; depends=[plspm tester]; };
-  PatternClass = derive { name="PatternClass"; version="1.5"; sha256="1paw39xm2rqjnc7pnbya7gyl160kzl56nys9g0y1sa6cqycy3y5x"; depends=[SDMTools]; };
-  pavo = derive { name="pavo"; version="0.5-1"; sha256="189kshc5dm02qv0rm1dlcxrhvga4yhlkn3yyj3rjhmrags4rmwcb"; depends=[rgl rcdd mapproj geometry]; };
-  pawacc = derive { name="pawacc"; version="1.2"; sha256="1a9dzym02rfymjqw1rnp0hri50ysdnax171x5whi5j7fmvmc9rk5"; depends=[SparseM]; };
-  PAWL = derive { name="PAWL"; version="0.5"; sha256="1sx4g4qycba2j1fm0bvhz3hk6ghhdc37rz5zi1njqxrpmbnkqg04"; depends=[mvtnorm foreach reshape ggplot2]; };
-  pbapply = derive { name="pbapply"; version="1.1-1"; sha256="1dshpnnmq1g2v223qy7pgbxydy9sqj04zwqxvzylm4mqc91ks4n2"; depends=[]; };
-  pbatR = derive { name="pbatR"; version="2.2-9"; sha256="1p8rj0lzm4pp1svgy7xia2sclkngzfjbgbikq94s6v92d582wncw"; depends=[survival rootSolve]; };
-  PBC = derive { name="PBC"; version="1.2"; sha256="1z08y5sn6i439811c9mq3bs78zqlzzkz0srmv4wld68bywhmwqj4"; depends=[igraph Rcpp copula]; };
-  PBD = derive { name="PBD"; version="1.0"; sha256="1q8ijjmcwxi8f3wgggpj4y522wmxady7f60frhlvvixhzfn2iml1"; depends=[deSolve ade4 ape DDD]; };
-  pbdBASE = derive { name="pbdBASE"; version="0.2-3"; sha256="1zfz45fnjmp8yz4nlac9q1d49gpczkl2b0rz2s33jbv5i32z3yvs"; depends=[rlecuyer pbdMPI pbdSLAP]; };
-  pbdDEMO = derive { name="pbdDEMO"; version="0.2-0"; sha256="0vilri4d25mb339zsgh1zypyqxv1vzfdc8b8ivqi5yz1nrzm05gz"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE pbdDMAT]; };
-  pbdDMAT = derive { name="pbdDMAT"; version="0.2-3"; sha256="18x607r0gx1nnw9p305ci5sfcxbi5zdr2b6yf9y6vqjsckicnw62"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE]; };
-  pbdMPI = derive { name="pbdMPI"; version="0.2-4"; sha256="035b1wg7an1sjfbk6giv4n8znhxg8l0rnqf14c982d9fbcfbxf47"; depends=[rlecuyer]; };
-  pbdNCDF4 = derive { name="pbdNCDF4"; version="0.1-4"; sha256="0fd29mnbns30ck09kkh53dgj24ddrqzks4xrrk2hh1wiy7ap1h95"; depends=[]; };
-  pbdPROF = derive { name="pbdPROF"; version="0.2-3"; sha256="0vk29vgsv7fhw240sagz0szg0wb649sqc05j1aj027zvz931vfl8"; depends=[ggplot2 gridExtra reshape2]; };
-  pbdSLAP = derive { name="pbdSLAP"; version="0.1-9"; sha256="118fy8316p3ahshq0wcwqj20v019dgbgx9wlz7vq35zg5i2fwccw"; depends=[rlecuyer pbdMPI]; };
-  PBImisc = derive { name="PBImisc"; version="0.999"; sha256="0igwl78wj8w6jzmk5m8y9rf4j72qrcjyhb83kz44is72ddzsyss6"; depends=[MASS lme4 Matrix]; };
-  pbivnorm = derive { name="pbivnorm"; version="0.5-1"; sha256="18ry0qz0ryazplv5iwdvbfngn0zv7frqp16nc2x70s0wf3izxkwr"; depends=[]; };
-  pbkrtest = derive { name="pbkrtest"; version="0.4-0"; sha256="1mpcqciqgljjw60yccpb368a0h1casxijqjdwp3s1wi03ixp8iqz"; depends=[MASS lme4 Matrix]; };
-  pbo = derive { name="pbo"; version="1.3.4"; sha256="0v522z36q48k4mx5gym564kgvhmf08fsadp8qs6amzbgkdx40yc4"; depends=[lattice]; };
-  pbs = derive { name="pbs"; version="1.1"; sha256="0cpgs6k5h8y2cia01zs1p4ri8r7ljg2z4x8xcbx73s680dvnxa2w"; depends=[]; };
-  PBSadmb = derive { name="PBSadmb"; version="0.68.104"; sha256="01akimdsp0bkvz3a5d75yyy3ph0mff85n8qsnr59fla5b5cm4qlj"; depends=[PBSmodelling]; };
-  PBSddesolve = derive { name="PBSddesolve"; version="1.11.29"; sha256="13vprr66hh5d19xambpyw7k7fvqxb8mj5s9ba19ls7xgypw22cmm"; depends=[]; };
-  PBSmapping = derive { name="PBSmapping"; version="2.67.60"; sha256="1n9c9fglsnch5jw248yyvy2vrq3wgca0wdkdwwhfc3n7yw83mwkr"; depends=[]; };
-  PBSmodelling = derive { name="PBSmodelling"; version="2.66.264"; sha256="08plp74cjzmgv3dkaxgryqq1yqp0z7pdlz9jqgai8w89vwi0il35"; depends=[]; };
-  pca3d = derive { name="pca3d"; version="0.2"; sha256="1x7fi9c4gijv34hr2bgsp872v5hknwidrh4q4blvvqknfl1w3clr"; depends=[rgl]; };
-  pcaL1 = derive { name="pcaL1"; version="1.2.1"; sha256="00jfsbhnpq5mvnmpv066w1nhz2lhv55imgbl2z7dza9b8gxb88ry"; depends=[]; };
-  pcalg = derive { name="pcalg"; version="2.0-3"; sha256="1vfrqm8hjdprsdqpik6a4zhv4yxyqyqa3dr2226qkm5ijblrcmwx"; depends=[abind igraph ggm corpcor robustbase vcd Rcpp]; };
-  PCAmixdata = derive { name="PCAmixdata"; version="2.1"; sha256="12g6pkp9yffp1arqdvnx721cn34h0a7m3bm2ayd9fsrvbaqb7ci8"; depends=[]; };
-  pcaPA = derive { name="pcaPA"; version="1.2"; sha256="1acfhv6225r0d8m45z7dlx78lmypdlh1cg4irvf8b3av0qv12g5x"; depends=[polycor ltm ggplot2 mc2d]; };
-  pcaPP = derive { name="pcaPP"; version="1.9-49"; sha256="0yk97r0rwkppnzp0kc1j3hcp4n2dr8765mbmvlaikjgwhlhbby4q"; depends=[mvtnorm]; };
-  PCDSpline = derive { name="PCDSpline"; version="1.0"; sha256="15kmvcwvwlsr1107n7mfajvf9b1kcslnhsdx0drjjhsvq193qrqa"; depends=[nleqslv matrixcalc]; };
-  pcenum = derive { name="pcenum"; version="1.0.1"; sha256="0jcwggxcnlbx75lwwpaldv28sgmhxa46rny94sji37hq3zil8yhw"; depends=[]; };
-  pcg = derive { name="pcg"; version="1.1"; sha256="194j72hcp7ywq1q3dd493pwkn1fmdg647gmhxcd1jm6xgijhvv87"; depends=[]; };
-  PCGSE = derive { name="PCGSE"; version="0.2"; sha256="19bpnn1b8ihmf52zh9g9pc38130np1ki8l7wf0j5myw2cnw6fna8"; depends=[RMTstat MASS]; };
-  PCICt = derive { name="PCICt"; version="0.5-4"; sha256="1g17hxs00dlnb6p0av6l7j99qy00555f80nk1i1i1x87fszp3axa"; depends=[]; };
-  pcIRT = derive { name="pcIRT"; version="0.1"; sha256="0vfbbmnp4jyrbi5d9gz1krh707aazbrqfcgc3rjrwwyjld11wyzn"; depends=[combinat]; };
-  PCIT = derive { name="PCIT"; version="1.04-5"; sha256="10fnkad09y7vh8j3c5kgkh64lwqn2nsl5818rzl9b8d51f951qjg"; depends=[]; };
-  pcnetmeta = derive { name="pcnetmeta"; version="1.2"; sha256="18ha74i6azgkb8wzjgs8c55fi386a1z9n5bm1llb8mk089h2gx8j"; depends=[R2jags network runjags]; };
-  PCovR = derive { name="PCovR"; version="2.5"; sha256="1as3qd2gqznfy95mil8k31nkqrf36sgpja5s9zdwvk0vpaxv1fr7"; depends=[GPArotation ThreeWay MASS Matrix]; };
-  PCPS = derive { name="PCPS"; version="1.0.1"; sha256="1av0mfv54ig1blq0228nlzgvjndrg711ip6xfq2886qhypcapgd5"; depends=[SYNCSA vegan ape picante phylobase plotrix]; };
-  pcrcoal = derive { name="pcrcoal"; version="1.1"; sha256="17mm13xpmghachiqr7v2691jk39mbfsadpg028gs3iiwmh0pksa0"; depends=[ape ggplot2 phylosim]; };
-  PCS = derive { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[statmod]; };
-  pcse = derive { name="pcse"; version="1.9"; sha256="04vprsvcmv1ivxqrrvd1f8ifg493byncqvmr84fmc0jw5m9jrk3j"; depends=[]; };
-  pdc = derive { name="pdc"; version="0.5"; sha256="1fx8y2irhklpkhxljy6vkg28i2xhprnhzrfrmxvmggpfk8xca8by"; depends=[]; };
-  pdfCluster = derive { name="pdfCluster"; version="1.0-2"; sha256="0kbci54dlzn736835fh18xnf2pmzqrdmwa3jim29xcnwa1r2gklb"; depends=[geometry]; };
-  pdfetch = derive { name="pdfetch"; version="0.1.5"; sha256="16al3db30nv25b0559n1mia3ragc494pn96sqc8hw99p50mrqgab"; depends=[zoo xts RCurl XML lubridate jsonlite reshape2]; };
-  pdist = derive { name="pdist"; version="1.2"; sha256="18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd"; depends=[]; };
-  pdmod = derive { name="pdmod"; version="1.0"; sha256="1czpaghp2lcad4j6wxswdfw0n9m0phngy966zr4fr3ciqpx3q129"; depends=[mco]; };
-  PDSCE = derive { name="PDSCE"; version="1.2"; sha256="17lc6d8ly6jbvjijpzg45dvqrzrh5s1sp415nycazgpbg9ypwr2h"; depends=[]; };
-  peacots = derive { name="peacots"; version="1.0"; sha256="1wc2651n34jn88711g295hzyd04ay4gabigh1xcw3m9gpvqnag1k"; depends=[]; };
-  Peaks = derive { name="Peaks"; version="0.2"; sha256="0a173p5cdm1jnm7bwsvjpxh4dccy593g02c4qjwky1cgzy5rvin2"; depends=[]; };
-  pear = derive { name="pear"; version="1.2"; sha256="1ixmyzm72s18qrfv2m8xzh5503k1q90lhddq4sp46m0q7qyxb192"; depends=[]; };
-  pearson7 = derive { name="pearson7"; version="1.0"; sha256="0dz5zf3k6bwj460gna6ak7hwdrsjinhv2ckkgqrycilfsx1w5h44"; depends=[]; };
-  PearsonDS = derive { name="PearsonDS"; version="0.97"; sha256="0bsdj4zir12zkv8yhq1z6dqjzhkb9l0f88jrr4iyclns1pcqvrvi"; depends=[]; };
-  PearsonICA = derive { name="PearsonICA"; version="1.2-4"; sha256="0jkbqha1nb9pf72ffki47wymsdmd50smkdhvpzvanv4y2rmqfhvg"; depends=[]; };
-  pec = derive { name="pec"; version="2.2.9"; sha256="0qvkmm8k2bg6sg42csrk6sn5qa1bvnmn8q485sxc11lqgxvic2jx"; depends=[prodlim survival rms foreach]; };
-  pedantics = derive { name="pedantics"; version="1.5"; sha256="0m5jxzkf1pf657q2klv6idnywg18ki962666nj7sfyl4rq06xhsi"; depends=[MasterBayes MCMCglmm kinship2]; };
-  PedCNV = derive { name="PedCNV"; version="0.1"; sha256="09qxcjzwdgzdkbj28rzmfv7k3q2qsiapnvx3m45a835r57h5gynp"; depends=[Rcpp RcppArmadillo ggplot2]; };
-  pedgene = derive { name="pedgene"; version="2.1"; sha256="0nmp1s0i5b4h45p3f4rvvixjz8sgv56as3c85rvv3a8xwfd1gcxq"; depends=[Matrix CompQuadForm survey kinship2]; };
-  pedigree = derive { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[Matrix HaploSim reshape]; };
-  pedigreemm = derive { name="pedigreemm"; version="0.3-3"; sha256="1bpkba9nxbaxnivrjarf1p2p9dcz6smf9k2djawis1wq9dhylvsb"; depends=[lme4 Matrix]; };
-  pedometrics = derive { name="pedometrics"; version="0.1-9"; sha256="1szp3mp24y32kz24p1c8mzdljqdl61fwnd3q1d5kqwg85amifa12"; depends=[spsurvey xtable XML stringr sp car pbapply MASS plyr lattice latticeExtra VecStatGraphs2D mvtsplot]; };
-  pegas = derive { name="pegas"; version="0.5-1"; sha256="0imn9n0y9nxp8vv1nz3qg9vmb5bdzxm596fxxg4hcgw7am6ap2sq"; depends=[ape adegenet]; };
-  PEIP = derive { name="PEIP"; version="1.7"; sha256="1bagi1kr8vd3b3r524vrk747bqmd9insny1nxj8bdvdk0a9yr949"; depends=[bvls Matrix RSEIS pracma]; };
-  PEMM = derive { name="PEMM"; version="1.0"; sha256="18dd9hsbdrnhrrff7gpdqrw2jv44j8lg0v3lkcdpbd4pppcaq84h"; depends=[]; };
-  penalized = derive { name="penalized"; version="0.9-42"; sha256="160ypgfcbdxcrgrhq99rgxl1wgn7854y64820nkvmfpc0ady7s4q"; depends=[survival survival]; };
-  penalizedLDA = derive { name="penalizedLDA"; version="1.0"; sha256="1ib33l5nqmvi6qn9ykybkdpc0pp55k1b6x4vqpklzp3dgckg0lp6"; depends=[flsa]; };
-  penalizedSVM = derive { name="penalizedSVM"; version="1.1"; sha256="0zc36cgcrdy4rwhg4hhhahymqfalvc5v2zmqq56ikz5blln82qvq"; depends=[e1071 MASS corpcor statmod tgp mlegp lhs]; };
-  pencopula = derive { name="pencopula"; version="0.3.5"; sha256="1cy36pprbrfabk9n3x4d1xbj1vd2dda7xq3ihj2hzniwn77j63wi"; depends=[lattice fda quadprog latticeExtra]; };
-  pendensity = derive { name="pendensity"; version="0.2.7"; sha256="1f7v0dqcip6mvza9h6j1ajkc6awjs0g8i07v529xn7fhygzwwccr"; depends=[lattice fda]; };
-  penDvine = derive { name="penDvine"; version="0.2.2"; sha256="054vw99z68pk0bi4yzdmvx13x8n75sj2371l8w2yady1lqjj4qi7"; depends=[lattice quadprog TSP fda Matrix]; };
-  PenLNM = derive { name="PenLNM"; version="1.0"; sha256="1xkz39cdp9dr8iq1cjiv862sda4zy737gvbwxxsykw15256lklmf"; depends=[remMap MASS Matrix]; };
-  penMSM = derive { name="penMSM"; version="0.97"; sha256="0jpmsc950mgnjwlbzy00zsw0xihmmml56nmlgmrxpfzaxq0657ay"; depends=[]; };
-  pensim = derive { name="pensim"; version="1.2.9"; sha256="10nrnxwfs41bhybs7j6xgnx0pq3c802n9k8irngmh8iy4w3wbhrq"; depends=[penalized MASS]; };
-  peperr = derive { name="peperr"; version="1.1-7"; sha256="01a6sxcmb8v2iz2xdwhdnr92k3w2vn3hr0hg9b6mkpzjf4n45q3k"; depends=[snowfall survival]; };
-  peplib = derive { name="peplib"; version="1.5.1"; sha256="1bdgmwbk76ryl5gxcgf3slds92yilg9p1x1lx0hnzzwcgx99wif3"; depends=[]; };
-  PepPrep = derive { name="PepPrep"; version="1.0.0"; sha256="1nrf0q1w9xsv7yp8zm9gbbbn9wg8brbix45m64gvrb9izrx3p09k"; depends=[stringr]; };
-  peptider = derive { name="peptider"; version="0.1.5"; sha256="1jlvzfm1i7yyplwgsp08x3sx07gmkv24ri8jrlkz6jspj9w90dwq"; depends=[discreteRV plyr dplyr]; };
-  Peptides = derive { name="Peptides"; version="0.4"; sha256="1841cfx6i2yc5142j1160aandvlrljvfxx79clylj5k9yavpj8rc"; depends=[seqinr]; };
-  pequod = derive { name="pequod"; version="0.0-3"; sha256="14nag0bd2icg294y7n47c6xlw54rrdia887d2ni6achjqgwvffzh"; depends=[ggplot2 car]; };
-  perARMA = derive { name="perARMA"; version="1.5"; sha256="1d9vrxv8r6qgxhaz3pv8n34c526gi5cd8w7wxy9qc914y8kplmzr"; depends=[corpcor gnm matlab Matrix signal]; };
-  PerfMeas = derive { name="PerfMeas"; version="1.1"; sha256="1b49p5lvnshrinf08v9c6nriycrspy569v5akjpffyqi2badr82b"; depends=[]; };
-  PerformanceAnalytics = derive { name="PerformanceAnalytics"; version="1.1.0"; sha256="082lh4g9lngbj1chmd23ax1603apnpwh7blml6vq6z3lic59qqgy"; depends=[zoo xts]; };
-  performanceEstimation = derive { name="performanceEstimation"; version="0.1.1"; sha256="1km2ljsy8hj9x6xr9am0f4wzihlhbyxhcss7kcxbimxvcv0a479n"; depends=[ggplot2]; };
-  perm = derive { name="perm"; version="1.0-0.0"; sha256="0075awl66ynv10vypg63fcxk33qzvxddrp8mi4w08ysvimcyxijk"; depends=[]; };
-  PermAlgo = derive { name="PermAlgo"; version="1.0"; sha256="1dc4b5pn77av80k6pgh9k0ksvv9lnjqiwdb2jv55nm0ndycw0qr4"; depends=[]; };
-  PerMallows = derive { name="PerMallows"; version="1.3"; sha256="08bgy8k2xcb61kyqxdskz8x0cfw27cypp1r470lvld544r4x0hp1"; depends=[Rcpp]; };
-  permGPU = derive { name="permGPU"; version="0.14.6"; sha256="1h01nfq8hn7i29xanma70q6s5mj83znbb2lg9x7bjgdrgj38vy2m"; depends=[RUnit foreach survival]; };
-  permtest = derive { name="permtest"; version="1.2"; sha256="1sciyjs840h004zg8bwclq0j0n22anvjvx3fz62y4dzblrynhrci"; depends=[]; };
-  permute = derive { name="permute"; version="0.8-3"; sha256="0zc3b3cl7q7y9pglc690ldg6p7bl7d1h7xkwnqqmvrpn7cq29rdb"; depends=[]; };
-  PERregress = derive { name="PERregress"; version="1.0-8"; sha256="1rhridhfgvrz14h61psfyr5ll13fvxj4b9fwrnlnc6lyqi01wjlc"; depends=[]; };
-  perry = derive { name="perry"; version="0.2.0"; sha256="1lfmcq2xsxmfs7cxvhgxcsggslgjicbaks4wcjw1yjh67n559j46"; depends=[ggplot2 robustbase]; };
-  persiandictionary = derive { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; };
-  perturb = derive { name="perturb"; version="2.05"; sha256="18ydmmp8aq4rf9834dmsr4fr9r07zyn97v8a1jqz3g9njza983la"; depends=[]; };
-  pesticides = derive { name="pesticides"; version="0.1"; sha256="1w180hqqav0mh9sr9djj94sf55fzh4r373a7h08a2nz9nyjpq09w"; depends=[]; };
-  PET = derive { name="PET"; version="0.4.9"; sha256="1ijg6mfh3xrc1gjh6a4nq64psk9yh16yc8nfp7c9837xbjigqq7f"; depends=[adimpro]; };
-  PF = derive { name="PF"; version="9.5"; sha256="1y99brdabj78s5kxyv0136s40kaaj3zya9lk4qd0kqk83z2gdawp"; depends=[xtable RColorBrewer gdata]; };
-  pfa = derive { name="pfa"; version="1.0"; sha256="116mpfdmfyd0p5j33rjw1xwxyyaccagbrpw7jbh4x996s057mql4"; depends=[lars POET quantreg]; };
-  pgam = derive { name="pgam"; version="0.4.12"; sha256="0vhac2mysd053bswy3xwpiz0q0qh260hziw6bygpf83vkj94qf2v"; depends=[]; };
-  pgirmess = derive { name="pgirmess"; version="1.5.9"; sha256="1n58r5ghd2ppnid6787gd1n18f23pf0fk7yr3vagcqpzv4pk0wic"; depends=[boot nlme rgdal sp spdep splancs]; };
-  pglm = derive { name="pglm"; version="0.1-2"; sha256="1arn2gf0bkg0s59a96hyhrm7adw66d33qs2al2s0ghln6fyk8674"; depends=[maxLik plm statmod]; };
-  pGLS = derive { name="pGLS"; version="0.0-1"; sha256="1rlk8q09sikf4vpzsx0c7s6qqh2hxf8dy2bgcm4nnkbv2nfjz438"; depends=[MASS]; };
-  PGM2 = derive { name="PGM2"; version="1.0"; sha256="18azh6k271p9dvc23q402pv7wrilr1yk02vqqy6qjppnvq6jxahg"; depends=[]; };
-  pgmm = derive { name="pgmm"; version="1.1"; sha256="0ajdcnxxy18ifidid4xnq9a03bsrvcbh3dh2vhviggkhq8gji1dn"; depends=[]; };
-  pgnorm = derive { name="pgnorm"; version="1.1"; sha256="0fxx9wvzinh17cxy74xms6dbabifav0wsi2cl0wdfykpbwalmszk"; depends=[]; };
-  pgs = derive { name="pgs"; version="0.4-0"; sha256="1zf5sjn662sds3h06zk5p4g71qnpwp5yhw1dkjzs1rs48pxmagrx"; depends=[gsl R2Cuba]; };
-  phalen = derive { name="phalen"; version="1.0"; sha256="0awj9a48dy0azkhqkkzf82q75hrsb2yw6dgbsvlsb0a71g4wyhlr"; depends=[sqldf]; };
-  phangorn = derive { name="phangorn"; version="1.99-7"; sha256="1q6a6md52d2f9xlrs5wv9crncwxh9a4x6zfxmdbsvrlwmgsbzvcx"; depends=[ape quadprog igraph Matrix fastmatch]; };
-  PharmPow = derive { name="PharmPow"; version="1.0"; sha256="0gabkd8p4zsig9p697lyk8m2jxb5abjk81rpzd5ih1yk1qanhsn5"; depends=[scatterplot3d]; };
-  phaseR = derive { name="phaseR"; version="1.3"; sha256="1hwclb7lys00vc260y3z9428b5dgm7zq474i8yg0w07rxqriaq2h"; depends=[deSolve]; };
-  PhaseType = derive { name="PhaseType"; version="0.1.3"; sha256="092dqyqfaxj8qpwxcjb5cayhnq597rfjz1xb93ps4nrczycqs0l6"; depends=[coda ggplot2 reshape]; };
-  phcfM = derive { name="phcfM"; version="1.2"; sha256="0i1vr8rmq5zs34syz2vvy8c9603ifzr9s5v2izh1fh8xhzg7655x"; depends=[coda]; };
-  pheatmap = derive { name="pheatmap"; version="0.7.7"; sha256="0zj6n6cjkim20apihl943rhzxlmkmpqwh00l6h2c8z04m3pv186v"; depends=[RColorBrewer]; };
-  phenability = derive { name="phenability"; version="1.0"; sha256="19vxknc0v8vz5cd748fhsndsrpggzlsiims9j7p2s6jlankkgsz9"; depends=[calibrate]; };
-  phenex = derive { name="phenex"; version="1.0-7"; sha256="0q563cv9lskikf3ls0idp56lirw9gxn71rgxp9xn8an05gwdg0xr"; depends=[]; };
-  phenmod = derive { name="phenmod"; version="1.2-3"; sha256="0dxwx8c7zka29fq7svrvn8bghj8jh8grbrgsw4pvavx2439cldak"; depends=[gstat RColorBrewer lattice pheno]; };
-  pheno = derive { name="pheno"; version="1.6"; sha256="0xdya1g1ap7h12c6zn3apbkxr725rjhcp4gbdchkvcnwz4y9vw8c"; depends=[nlme SparseM quantreg]; };
-  pheno2geno = derive { name="pheno2geno"; version="1.2.1"; sha256="0rh4fzka453i5djsyv4c0z3x6d5r7fvyvxi6x1a1806nzy7w43hj"; depends=[qtl VGAM mixtools]; };
-  phenology = derive { name="phenology"; version="3.69"; sha256="0xyd53w162b9f2k4wkrkhi2m7fwj30ii4xjlp7l5px352x1nhylv"; depends=[fields zoo coda shiny]; };
-  PHeval = derive { name="PHeval"; version="0.5.1"; sha256="12vlfg2w27hc19f8dwvhl8r0xfwapp1r9bihq7ax3d9j7aayv217"; depends=[survival]; };
-  phia = derive { name="phia"; version="0.1-5"; sha256="0vkl4ccsdx72dwis2959f6w9zg584wfkn58fh2slybdyg9p8886a"; depends=[car]; };
-  phmm = derive { name="phmm"; version="0.7-5"; sha256="0dil0ha199yh85j1skwfdl0v02vxdmb0xcc1jdbayjr5jrn9m1zk"; depends=[survival lattice Matrix]; };
-  phom = derive { name="phom"; version="1.0.3"; sha256="0x05p6fn4kycilal65k7dy6h3w5i3ca9w93ryp4gqd4lp50l1749"; depends=[Rcpp]; };
-  phonR = derive { name="phonR"; version="0.4-2"; sha256="15hi15minbd756vplmcyf0987ppanr44kds13nny0v1h5yyv8kyx"; depends=[]; };
-  phonTools = derive { name="phonTools"; version="0.2-2.0"; sha256="1wd1a5506p3ny6vi9pq6yg9gbz082fxw4l3cxsplkdpqgkhryrww"; depends=[]; };
-  phreeqc = derive { name="phreeqc"; version="1.0-8877"; sha256="0w529qpqrjcn619bqinkdd8f02vigiwy799h7i33p7iwbf15jvzj"; depends=[]; };
-  phtt = derive { name="phtt"; version="3.1.1"; sha256="02fqg2djpvbm6id1dg8c8w1qccd2axxrhlfi4vrm8d1qcrbjkjm1"; depends=[pspline]; };
-  PhViD = derive { name="PhViD"; version="1.0.6"; sha256="17mr8gj6ic4p0xvxiva046r1gmy9azvm1s95rinxqsdd7hiak72w"; depends=[MCMCpack]; };
-  phyclust = derive { name="phyclust"; version="0.1-15"; sha256="1j643k0mjmswsvp9jyiawkjf2qhfrw6xf4s2viqv987zxif2kd7z"; depends=[ape]; };
-  phyext = derive { name="phyext"; version="0.0.1"; sha256="07hmjgp4qb3x95rbgm83sh9zwhsxjl1v5rvs39m565sc0fax1qdi"; depends=[phylobase ape]; };
-  phylin = derive { name="phylin"; version="1.0"; sha256="10pbs4adsyp43i89jb3xi0m55sl1w7ifmc98v74iq9p8xa15sdci"; depends=[]; };
-  phylobase = derive { name="phylobase"; version="0.6.8"; sha256="0xj7x4cdfp0yadvjhdkw1ai3yd081ri4gpdg0n5g0z13cjaa6mjh"; depends=[ade4 ape Rcpp]; };
-  phyloclim = derive { name="phyloclim"; version="0.9-4"; sha256="0ngg8x192lrhd75rr6qbh72pqijbrhrpizl27q0vr6hp7n9ch3zx"; depends=[ape raster]; };
-  phyloland = derive { name="phyloland"; version="1.0"; sha256="0r6rpwcq13bxa6289bfj0a0is67a49nj5npi5381090iarkwfvs7"; depends=[ape gsubfn]; };
-  phylolm = derive { name="phylolm"; version="2.1"; sha256="0g0s9n0899gbh5hhk469b3c1z8zhp9il50srnbvmfhql0cf1v22c"; depends=[ape]; };
-  phylosim = derive { name="phylosim"; version="2.1.1"; sha256="0rrz5c7zl2hjalwm6m8pydikiwmiq2dybx2yhzp0ps2bcsn02lhn"; depends=[R_oo ape compoisson ggplot2 R_methodsS3]; };
-  phylotools = derive { name="phylotools"; version="0.1.2"; sha256="19w7xzk6sk1g9br7vwv338nvszzh0lk5rdzf0khiywka31bbsjyb"; depends=[seqRFLP ape picante spaa fields]; };
-  phyloTop = derive { name="phyloTop"; version="1.1.1"; sha256="046myyr01c4zc6sfy7r6p2vswkqqqd3w4k173gjbjazl1ims1sjs"; depends=[phylobase NHPoisson ape igraph]; };
-  phyreg = derive { name="phyreg"; version="0.7"; sha256="0saynhq4yvd4x2xaljcsfmqk7da2jq3jqk26fm9qivg900z4kf35"; depends=[]; };
-  PhysicalActivity = derive { name="PhysicalActivity"; version="0.1-1"; sha256="1aqyip7psf3pdrxkpidfldkk9naihvnc7s3n6w6vvr9h1l5mpmvc"; depends=[]; };
-  phytools = derive { name="phytools"; version="0.4-21"; sha256="1mvksa62hanbnn7ndgpsgipl8ckdhnzvfsarpidpxzgsc7vwagz8"; depends=[ape maps animation clusterGeneration mnormt msm numDeriv phangorn plotrix scatterplot3d]; };
-  pi0 = derive { name="pi0"; version="1.3-250"; sha256="1561zvf1hcd05iqy245c0z23mi8ypk6q3lkfldcr55cs67w4lmz6"; depends=[LowRankQP Matrix numDeriv limSolve rgl scatterplot3d Iso quadprog kernlab]; };
-  picante = derive { name="picante"; version="1.6-2"; sha256="1zxpd8kh3ay6f3gdqkij1a6vnkr98dc1jib2r6br2kjyzshabcsd"; depends=[ape vegan nlme]; };
-  PIGE = derive { name="PIGE"; version="0.9"; sha256="1x8ml25mm69dvlszm9p2ycph92nxcsgd52ydj7ha0dwrrpcv2law"; depends=[snowfall ARTP xtable survival]; };
-  PIGShift = derive { name="PIGShift"; version="1.0.0"; sha256="15cgpi7j5cs4aqdq5cy7535x8ar916d9hd109kc01njrwxp1xr96"; depends=[ape mvtnorm]; };
-  PIN = derive { name="PIN"; version="0.8"; sha256="1hymf5106zxgbg8dki9jb7gy4vh2mjwbvzh0n2d7qkr6rm8lpmag"; depends=[]; };
-  pipeR = derive { name="pipeR"; version="0.4"; sha256="1lvi2pxb5jl874hgqp7f4vbkr306slg0lrsmbicvwg569dz5262f"; depends=[]; };
-  PIPS = derive { name="PIPS"; version="1.0.1"; sha256="1c5v3s6xys9p1q32k6mpsffhi9gwsq951rh12hs76dmak862yspc"; depends=[]; };
-  pitchRx = derive { name="pitchRx"; version="1.5"; sha256="17g7kx6gjaknb14h3l76zr128s6skgvj2i1pg83sqj5ipj55qzhr"; depends=[ggplot2 XML2R plyr MASS hexbin mgcv]; };
-  PivotalR = derive { name="PivotalR"; version="0.1.16.17"; sha256="079s4cs6awc8rbr82b1fm0096j34lbmzgnczrfclxnb2rwmn8biv"; depends=[Matrix]; };
-  pixmap = derive { name="pixmap"; version="0.4-11"; sha256="04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g"; depends=[]; };
-  PK = derive { name="PK"; version="1.3-2"; sha256="0162ri9wlm9inryljal48av8yxb326na94kckkigsrklfxb3wkp2"; depends=[]; };
-  PKfit = derive { name="PKfit"; version="1.2.2"; sha256="04gix9yyzfsam2zql5q9rr45zzpdz5y7i6w1lf6rqf4fgnjwfjqs"; depends=[deSolve minpack_lm]; };
-  pkgKitten = derive { name="pkgKitten"; version="0.1.0"; sha256="17gf3yiy7hq6f53sjxajnf87cg6c7ialiyfw61bj4fjbhskw92ij"; depends=[]; };
-  pkgmaker = derive { name="pkgmaker"; version="0.22"; sha256="0vrqnd3kg6liqvpbd969jjsdx0f0rvmmxgdbwwrp6xfmdg0pib8r"; depends=[registry codetools digest stringr xtable]; };
-  PKgraph = derive { name="PKgraph"; version="1.7"; sha256="0g36cdv5cblqx69j48irxjc5nlw2cl3p714mlsblnd3362z1brwn"; depends=[RGtk2 gWidgetsRGtk2 cairoDevice lattice rggobi ggplot2 proto RGtk2 gWidgetsRGtk2]; };
-  pkgutils = derive { name="pkgutils"; version="0.6.0"; sha256="0pi1xaamirsv1bwlwcvyd1hvdgbjbdmw3vg3krawsb34mynbrcff"; depends=[]; };
-  PKI = derive { name="PKI"; version="0.1-1"; sha256="1m4q43yq8ddig15k0j9yg9hq4yz3yplqp68zl3p9g2shkam60p6w"; depends=[base64enc]; };
-  PKmodelFinder = derive { name="PKmodelFinder"; version="1.1"; sha256="0v5l8j4yq6fv4cgx5psld6klwy6kjwcqg1vhf9r4i8qa12vpa1yh"; depends=[gWidgets tkrplot RGtk2 gWidgetsRGtk2 cairoDevice numDeriv]; };
-  PKPDmodels = derive { name="PKPDmodels"; version="0.3.2"; sha256="1h893civ77ahbgjnc6kq3l7rszmqmx9dlxwavldigpq3r79vd86k"; depends=[]; };
-  PKreport = derive { name="PKreport"; version="1.5"; sha256="16hss9migbxpnw5f9gcw1nlvb81iyji00ylx5wd6kdwhz0ids9wj"; depends=[lattice ggplot2]; };
-  pks = derive { name="pks"; version="0.3-0"; sha256="0lvj5kfjf8wikszz1dipwr1fw9xbhy3nx0ksqz4ln240k7fn5kcj"; depends=[sets]; };
-  PKtools = derive { name="PKtools"; version="1.5-0"; sha256="0za6qgl9q9y4j87kfhvanpc9mfckzww6q2kjz7divbv8ygn5cd1m"; depends=[lattice nlme R2HTML xtable]; };
-  plan = derive { name="plan"; version="0.4-2"; sha256="0vwiv8gcjdbnsxd8zqf0j1yh6gvbzm0b5kr7m47ha9z64d7wxch6"; depends=[]; };
-  planar = derive { name="planar"; version="1.5"; sha256="1ph3q985xw1sg9cs5k1cqpr46f0svycdc1dg3pqmdrzqdi8a3gyx"; depends=[dielectric Rcpp RcppArmadillo statmod cubature reshape2 plyr]; };
-  planor = derive { name="planor"; version="0.2-0"; sha256="0mvlkrggwgrc9fmp935kihj2v7gfnghw7smpkbb3pbrrv9zhjlgi"; depends=[conf_design]; };
-  PlayerRatings = derive { name="PlayerRatings"; version="1.0-0"; sha256="0hjb05bdha00ggcpp3n4f86dxjlhzmlpwgsbbx3mhyv3qq1g32ky"; depends=[]; };
-  playitbyr = derive { name="playitbyr"; version="0.2-1"; sha256="0pi0kji32ha6csff5w2xl8f76clrxlkwws60lzqzc83avrb0930n"; depends=[csound]; };
-  playwith = derive { name="playwith"; version="0.9-54"; sha256="1zmm8sskchim3ba3l0zqfvxnrqfmiv94a8l6slcf3if3cf9kkzal"; depends=[lattice cairoDevice gWidgetsRGtk2 RGtk2 gWidgets gridBase]; };
-  plfm = derive { name="plfm"; version="1.1.1"; sha256="0vsbva2clkjn8ddinmihq1gzd8g8yjiwd11rl7xzbyabjxkp95n1"; depends=[sfsmisc abind]; };
-  plgp = derive { name="plgp"; version="1.1-5"; sha256="04kxiixm6p9s42fs775lrh8112v2m7akjp78r46l0rd8fzp3zyiq"; depends=[mvtnorm tgp]; };
-  plink = derive { name="plink"; version="1.3-1"; sha256="1g8n4fy7yx3386kgvc0kgh8gd390yl4fxs09whdl1mzz5q9sx4wp"; depends=[lattice MASS statmod]; };
-  PLIS = derive { name="PLIS"; version="1.1"; sha256="0b81s7677wglqvv1b5lx8k2iaks09kz0wrl07245a7j2pk9nxv7p"; depends=[]; };
-  plm = derive { name="plm"; version="1.4-0"; sha256="13y9s7gyrgqmnzafhn4c1zkz6gdawc8nr5nbrx0pn2mbw3fqfrjh"; depends=[Formula MASS bdsmatrix zoo nlme sandwich]; };
-  plmDE = derive { name="plmDE"; version="1.0"; sha256="19xxi0zzpxcrsdrbs0hiwqgnv2aaw1q3mi586wv27zz6lfqcr9lr"; depends=[MASS R_oo]; };
-  plmm = derive { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[sm Formula nlme]; };
-  pln = derive { name="pln"; version="0.2-1"; sha256="09zg7zwmmqpjr1j59lqsjf4blrkya9wfwddgzfm9rr5jxrzvqcv8"; depends=[]; };
-  plot2groups = derive { name="plot2groups"; version="0.10"; sha256="00mp82vvx6inlc2zj2cqqnzyglrm9x9im2vrqqk8j2jn0hbgfymy"; depends=[ggplot2]; };
-  plot3D = derive { name="plot3D"; version="1.0-1"; sha256="1zvvsl94azz3252c8f485zhzd4x23wfj08x85vq873fj36p82aaf"; depends=[misc3d]; };
-  plot3Drgl = derive { name="plot3Drgl"; version="1.0"; sha256="109vsivif4hmw2hk3hi4y703d3snzxbr9pzhn1846imdclkl12yg"; depends=[rgl plot3D]; };
-  plotGoogleMaps = derive { name="plotGoogleMaps"; version="2.1"; sha256="1hymq35va75grxsjhd8sk7x4xfqsyfk5r5i1l3drwrajl1sx8b1a"; depends=[sp spacetime rgdal maptools lattice raster]; };
-  plotKML = derive { name="plotKML"; version="0.4-5"; sha256="1w8dxwx57a9lis775xis44c0s1qfzc0h9b43wygcbzndkcn1dsh7"; depends=[XML sp raster rgdal spacetime colorspace plotrix dismo aqp pixmap plyr stringr colorRamps scales gstat zoo RColorBrewer RSAGA classInt]; };
-  plotMCMC = derive { name="plotMCMC"; version="2.0-0"; sha256="0i4kcx6cpqjd6i16w3i8s34siw44qigca2jbk98b9ligbi65qnqb"; depends=[coda gplots lattice]; };
-  plotmo = derive { name="plotmo"; version="1.3-3"; sha256="0xr70di5dfxwy69y60vr88wbrhbxkm55z04qxbvbdf5b04l9lw77"; depends=[]; };
-  plotpc = derive { name="plotpc"; version="1.0-2"; sha256="0z73wyhdnz5qv2jy8c0sby6sbjr1q9026h0bk2ykjkjvckggnabc"; depends=[]; };
-  PlotRegionHighlighter = derive { name="PlotRegionHighlighter"; version="1.0"; sha256="0n1nkfr3sdaq6f5p9kgx4slrsvhpdbax3rinrkfkb1vnjj4swj77"; depends=[]; };
-  plotrix = derive { name="plotrix"; version="3.5-7"; sha256="0c9airkyf7qj1bmjdkwjk0k1qwspsaw4rkd4bf2lfb8m67jvzk6n"; depends=[]; };
-  plotSEMM = derive { name="plotSEMM"; version="2.0"; sha256="0n30m1nz9fnilbgxg5jcmx2bsscdvz5mkjkyrgx7yr3alazkaimd"; depends=[plyr shiny MplusAutomation Rcpp plotrix]; };
-  plRasch = derive { name="plRasch"; version="1.0"; sha256="1rnpvxw6pzl5f6zp4xl2wfndgvqz5l3kiv9sh4cpvhga0gl8zjaw"; depends=[survival]; };
-  PLRModels = derive { name="PLRModels"; version="1.1"; sha256="0dwnzfw7a1cxz9s00kxf19jmjsc8cy6cc9q2mjqf8z7690wrg7hb"; depends=[]; };
-  pls = derive { name="pls"; version="2.4-3"; sha256="114ka4766x8fx0zvvr7cylky1jsy542nj6s7sb2dwv8zjhbclkhn"; depends=[]; };
-  plsdepot = derive { name="plsdepot"; version="0.1.17"; sha256="1i00wxr451xpfy6dnvcm11aqf9106jsh5hj7gpds22ysgm4iq5w4"; depends=[]; };
-  plsdof = derive { name="plsdof"; version="0.2-6"; sha256="1gdc6ck2l8k4i275lj1kvpqbzgm5a5db21zc828hz56aqfj28fm9"; depends=[MASS]; };
-  plsgenomics = derive { name="plsgenomics"; version="1.2-6"; sha256="0f0pns20hd8hfc3v9m9vb8sng8qib6cry1k49nqs9gn09hhh26w9"; depends=[MASS]; };
-  plspm = derive { name="plspm"; version="0.4.1"; sha256="00ibz69vhf0x3c73khkg57mzw49c3vq20yiqdqm9cpkdr9fczn2n"; depends=[amap diagram tester turner]; };
-  plsRbeta = derive { name="plsRbeta"; version="0.1.8"; sha256="1gfwl659pmwjkif8n1vz7ljij3r8akzrlf389qwmhy57d6lhyb6w"; depends=[mvtnorm boot Formula plsdof MASS plsRglm betareg]; };
-  plsRcox = derive { name="plsRcox"; version="1.7.0"; sha256="08cnxbqgxwmvbyhp8hwa7b30bznxvj7qcpq9p8jgcfnrxwslv2k6"; depends=[survival plsRglm lars pls kernlab mixOmics risksetROC survAUC rms]; };
-  plsRglm = derive { name="plsRglm"; version="1.1.0"; sha256="0bh88rdlk09hh2zaiqgpv05d5kn656ckn3g0wfzhkb445xb84pqq"; depends=[mvtnorm boot bipartite]; };
-  plugdensity = derive { name="plugdensity"; version="0.8-3"; sha256="1jdmq4kbs8yzgkf9f5dc7c8c52ia68fgavw7nsnc2hnz5ylw1qy9"; depends=[]; };
-  plumbr = derive { name="plumbr"; version="0.6.9"; sha256="1avbclblqfy57pd72ximvj3zq92q1w8vszvyf6fw75j5rfwdaibk"; depends=[objectSignals]; };
-  plus = derive { name="plus"; version="1.0"; sha256="1l7lvnq7vahj8m7knmr4q3wj00ar7iq89j45a2dqn2bh0qyj68ls"; depends=[]; };
-  plusser = derive { name="plusser"; version="0.4-0"; sha256="1g100dh8cvn9q09j0jbkw4xmwjdp1lm4651369975fm99nrlp1j9"; depends=[RCurl RJSONIO lubridate plyr]; };
-  plyr = derive { name="plyr"; version="1.8.1"; sha256="0f2an3pr7flpng9y9mmrmyh08g3nivi6gdkfnw54arn0wxhkqfcm"; depends=[Rcpp]; };
-  PMA = derive { name="PMA"; version="1.0.9"; sha256="11qwgw4sgzl3xhrm468bsza83h3mfn89157nfwnrassl7qr42xkq"; depends=[plyr]; };
-  pmcgd = derive { name="pmcgd"; version="1.1"; sha256="1pybzvyjmzpcnxrjsas06diy3x83i1r5491s6ccyr63l56hs55d5"; depends=[mixture mnormt]; };
-  pmclust = derive { name="pmclust"; version="0.1-6"; sha256="05zjx4psvk5zjmr0iwwwig990g6h04ajn5wi0xi8bqv046r47q3h"; depends=[rlecuyer pbdMPI MASS]; };
-  PMCMR = derive { name="PMCMR"; version="1.0"; sha256="07k98zp4s65vx7ybj75b0i1jhlnvfspwjqh10nxdn0zmixw9nywj"; depends=[]; };
-  pmg = derive { name="pmg"; version="0.9-42"; sha256="16jkkhpjiwpk5gszr7fc133l3y50dfwqxb45flzihxvp1x42d70y"; depends=[lattice MASS proto foreign gWidgets gWidgetsRGtk2]; };
-  pmlr = derive { name="pmlr"; version="1.0"; sha256="1z3hbw4wabpai1q8kbn77nzxqziag8y04cidlfiw7z969s4pkmgl"; depends=[]; };
-  pmml = derive { name="pmml"; version="1.4.2"; sha256="0588sph67zs58knf4g3fd7c84i2yag81igr882jgbaxhfhxrpk6n"; depends=[XML survival]; };
-  pmmlTransformations = derive { name="pmmlTransformations"; version="1.2.2"; sha256="1p31lakhqwk0qhb565j2sjcfsjsx0i5v8kj8779ryjyvy7717m6m"; depends=[]; };
-  pmr = derive { name="pmr"; version="1.2.4"; sha256="15yrh533rj5i728nvcpjj3m5wa3jbspnfj941px3mf11h14npxpp"; depends=[]; };
-  pnmtrem = derive { name="pnmtrem"; version="1.3"; sha256="0053gg368sdpcw2qzydpq0c5v2cxdlwgf5k68cbw0yx41csjgvz0"; depends=[MASS]; };
-  pnn = derive { name="pnn"; version="1.0.1"; sha256="1s6ib60sbdas4720hrsr5lsszsa474kfblqcalsb56c84gkl42ka"; depends=[]; };
-  pocrm = derive { name="pocrm"; version="0.8"; sha256="04i9slfb9hmhhhq6m2iz7p3cm3v1v6nsvnr117dp55cxanfymd6f"; depends=[dfcrm nnet]; };
-  POET = derive { name="POET"; version="1.0"; sha256="0drn9530b14hindim8si1828yabyqc85b0qi900ahi5rv1p38v82"; depends=[]; };
-  poibin = derive { name="poibin"; version="1.2"; sha256="12dm1kdalbqy8k7dfldf89v6zw6nd0f73gcdx32xbmry2l2976sa"; depends=[]; };
-  PoiClaClu = derive { name="PoiClaClu"; version="1.0.2"; sha256="1j593sc344h9iy7if1ppihx2qd73dv32d77d8ckac43i7b2lig24"; depends=[]; };
-  poilog = derive { name="poilog"; version="0.4"; sha256="0bg03rd5rn4rbdpiv87i8lamhs5m7n7cj8qf48wpnirg6jpdxggs"; depends=[]; };
-  PoisNor = derive { name="PoisNor"; version="1.0"; sha256="147ma6qg6nwxzp022jm5mpijhg3jz489qclr9g2mli5mhgm31f8j"; depends=[mvtnorm corpcor Matrix]; };
-  poisson_glm_mix = derive { name="poisson.glm.mix"; version="1.2"; sha256="0328m279jfa1fasi9ha304k4wcybzr7hldww7wn0cl7anfxykbv8"; depends=[]; };
-  PoissonSeq = derive { name="PoissonSeq"; version="1.1.2"; sha256="1hhx0gv06cp6hm6h36mqy411qn9x15y45crpzbyf8crfs85c6gbg"; depends=[combinat]; };
-  poistweedie = derive { name="poistweedie"; version="1.0"; sha256="18992fafypds3qsb52c09fasm3hzlyh5zya6cw32wnhipmda643m"; depends=[]; };
-  poLCA = derive { name="poLCA"; version="1.4.1"; sha256="0bknnndcxsnlq6z9k1vbhqiib1mlzlx4badz85kc7a3xbrdrfs9f"; depends=[scatterplot3d MASS]; };
-  pollstR = derive { name="pollstR"; version="1.0.2"; sha256="1nnd62m0241ig725dx27f6msbj0nhgh149rij4rjy79w5w1zsa02"; depends=[httr plyr jsonlite]; };
-  polspline = derive { name="polspline"; version="1.1.9"; sha256="1n08dhwpf53slk1zib491kii54x9h16g3jgr2kxxpyc5xfv4yj26"; depends=[]; };
-  polyaAeppli = derive { name="polyaAeppli"; version="2.0"; sha256="0kyz3ap92xz7aqyviyrpggfmicy1gybrx7y19djsmixcwz53zqch"; depends=[]; };
-  polyapost = derive { name="polyapost"; version="1.1-6"; sha256="1wk85nl2p9plnaavjdr4bqxxhjc84ynv53bh2v1rmq87jymw40b1"; depends=[boot]; };
-  polyclip = derive { name="polyclip"; version="1.3-0"; sha256="05bbj4hy4h1hcb4pzg1mjp8k7k91kqq5rg2x0ns4hcs1h4zrspds"; depends=[]; };
-  polycor = derive { name="polycor"; version="0.7-8"; sha256="0hvww5grl68dff23069smfk3isysyi5n2jm4qmaynrk0m3yvhxwn"; depends=[mvtnorm sfsmisc]; };
-  polyCub = derive { name="polyCub"; version="0.5-0"; sha256="0ry7kfy99nzwpbs8ac138b05rs36n1whdc0gcvgdb1x76xsa36lr"; depends=[sp spatstat]; };
-  polynom = derive { name="polynom"; version="1.3-8"; sha256="05lng88c8cwj65cav31hsrca9nbrqn5rmcz79b17issyk2j0g86p"; depends=[]; };
-  PolynomF = derive { name="PolynomF"; version="0.94"; sha256="006ds50ivq91v2jyhgpm5rfaipxbzsnljrki6fjplcw07g0frz71"; depends=[]; };
-  PolyPatEx = derive { name="PolyPatEx"; version="0.9"; sha256="1y3jsy095kfp9ycjnj467s1y5abba7jkm83x2cajp5g2jdgp7cf6"; depends=[gtools]; };
-  polysat = derive { name="polysat"; version="1.3-2"; sha256="1h1ixxa4z6qr3ixpphy70axd3kf4gnwiw1i22qzm4m06h4bdchva"; depends=[combinat]; };
-  polySegratio = derive { name="polySegratio"; version="0.2-4"; sha256="05kvj475zhlrmp7rm691cfs28igp4ac2cn2xxf7axx09v1nq33db"; depends=[gdata]; };
-  polySegratioMM = derive { name="polySegratioMM"; version="0.6-3"; sha256="1y4kzb1p3aw7ng8mv1hszpvb5hwwxy4vg34mhhk705ki4jy8jgvp"; depends=[polySegratio gtools coda lattice]; };
-  polytomous = derive { name="polytomous"; version="0.1.6"; sha256="137qcnncih1lm2wshwrznlcr0k552n0sqhiy73iwis59lg854caa"; depends=[MASS Hmisc lme4]; };
-  polywog = derive { name="polywog"; version="0.4-0"; sha256="0wl9br0g4kgi3nz2fq28nsk6fw0ll0y715v4vz8lv3pvfwc7518j"; depends=[miscTools foreach Formula glmnet iterators Matrix ncvreg Rcpp stringr]; };
-  pom = derive { name="pom"; version="1.1"; sha256="02jv19apn0kmp1ric2cxajlaad2fmsz4nm4izd2c3691vzas7l83"; depends=[matrixcalc]; };
-  Pomic = derive { name="Pomic"; version="1.0.2"; sha256="1i3zsz7gc4n4vid3yi3srrv04qk1678wqyyw303pfibiyfd4m80q"; depends=[]; };
-  PoMoS = derive { name="PoMoS"; version="1.1.1"; sha256="0j3iw6bcsr3rzwh15afcw3rglddq9bj7470xpnlpfpmd9nk0s18d"; depends=[RGtk2 cairoDevice igraph]; };
-  pomp = derive { name="pomp"; version="0.53-5"; sha256="1bfb2b1fdj673b43jnq9pzh36h1hfb8dsarf1dq6pwain7dnqjyp"; depends=[subplex nloptr mvtnorm deSolve coda]; };
-  pooh = derive { name="pooh"; version="0.2-1"; sha256="1h8b5zwawhvq6h29dfznnhdb33al06hkvy05dphsmycd1lsha0jm"; depends=[]; };
-  popbio = derive { name="popbio"; version="2.4"; sha256="12hvxkgbr6snypplxv404sj0ass6ab9i969bb00ipy10gny1w4ww"; depends=[quadprog]; };
-  popdemo = derive { name="popdemo"; version="0.1-4"; sha256="0syhmm8fnxbsdzj75y7dpahmpf453a6gwp3yljkvmfl0bfv1g1ng"; depends=[expm]; };
-  PopED = derive { name="PopED"; version="0.1.1"; sha256="0p5wiwl1d7ywjpq3zj5mkk12hqhi0xgcwf9sr3pdqyrczhl825d3"; depends=[ggplot2 MASS mvtnorm nlme]; };
-  popgen = derive { name="popgen"; version="1.0-3"; sha256="00rgfwmmiharfxqlpy21n3jbxwr5whzdg8psqylkjf83ls2myqzm"; depends=[cluster]; };
-  PopGenKit = derive { name="PopGenKit"; version="1.0"; sha256="0l4mbm0cyppgvcw2cbimrv29aiciyj00k8wfwcj5zr8sh7fgfhs4"; depends=[]; };
-  PopGenome = derive { name="PopGenome"; version="2.0.8"; sha256="07s4b8v00m2fsja0ynri67ns240kskw7f0snzfcs94p1kaalj4jx"; depends=[ff]; };
-  PopGenReport = derive { name="PopGenReport"; version="2.0"; sha256="1bi7a2dbqr73andgzmq00x5hkbi06ylmhyfn12b4h2260v6w5mwk"; depends=[knitr adegenet raster lattice RgoogleMaps gap calibrate xtable plyr dismo reshape ggplot2 R_utils ade4 pegas genetics rgdal gdistance vegan sp mmod]; };
-  popgraph = derive { name="popgraph"; version="1.4"; sha256="1z6w6vj3vl2w10hvzwmkw4d475bqcd6ys92xnn445ag6vpq0cvxq"; depends=[ggplot2 igraph MASS sp Matrix sampling]; };
-  popKorn = derive { name="popKorn"; version="0.3-0"; sha256="1zcl6ms7ghbcjyjgfg35h37ma8nspg15rk2ik82yalqlzxjf7kxw"; depends=[boot]; };
-  poppr = derive { name="poppr"; version="1.1.2"; sha256="0qzqyrx8jqz9xhwq6v2ic2jm82g3csg6cs31g7hailx559axxi8i"; depends=[adegenet vegan ggplot2 phangorn ape igraph ade4 pegas reshape2]; };
-  popRange = derive { name="popRange"; version="1.1.1"; sha256="1n8swfhnxk757n6nxsmn8dzx2h01xdr2s64wy2m4xq7wpdp9lajq"; depends=[]; };
-  popReconstruct = derive { name="popReconstruct"; version="1.0-3"; sha256="1m4gj43bzsz8y4jay0bc5mvdfwqx5agha4l2r0svm6qg8cfl4lza"; depends=[coda]; };
-  popsom = derive { name="popsom"; version="2.3"; sha256="0hdg1nx8mlpqw9aj2q08sb20frsc5jnbvqpfalf5kyvlygnhxdlc"; depends=[som fields]; };
-  portes = derive { name="portes"; version="2.1-3"; sha256="0nqh6aync5igmvg7nr5inkv2cwgzd0zi6ky0vvrc3abchqsjm2ck"; depends=[]; };
-  portfolio = derive { name="portfolio"; version="0.4-6"; sha256="0kaaincyzc2f4dm7n08y3vs1yd1r7pd997gf2wvfjydw7wkc5pin"; depends=[lattice nlme]; };
-  portfolioSim = derive { name="portfolioSim"; version="0.2-7"; sha256="1vf46882ys06ia6gfiibxx1b1g81xrg0zzman9hvsj4iky3pwbar"; depends=[lattice portfolio]; };
-  PortRisk = derive { name="PortRisk"; version="1.0"; sha256="0vyzvi56lmdlhxpbxcxcfqa8271jv2l45w7x1kzzwl6q0wm4bjln"; depends=[zoo]; };
-  postCP = derive { name="postCP"; version="1.7.2"; sha256="1zi3ns202rsfbjkblsmk3vzlygixgm81cp9kga64q1xgk40vq657"; depends=[MASS Segmentor3IsBack]; };
-  potts = derive { name="potts"; version="0.5-2"; sha256="1q4kvknxkrd8qbv8l3vmwrppgzq5bsysnqgm029lx7iys73x4fck"; depends=[]; };
-  PottsUtils = derive { name="PottsUtils"; version="0.3-2"; sha256="05ds0a7jq63zxr3jh66a0df0idzhis76qv6inydsjk2majadj3zv"; depends=[miscF]; };
-  powell = derive { name="powell"; version="1.0-0"; sha256="160i4ki3ymvq08szaxshqlz7w063493j5zqvnw6cgjmxs7y0vj8y"; depends=[]; };
-  PoweR = derive { name="PoweR"; version="1.0.1"; sha256="1m6y7f89kjhdmrdw1xb59cly0xjz79b1krhywkg9m7z73k1yx9h9"; depends=[]; };
-  Power2Stage = derive { name="Power2Stage"; version="0.1-4"; sha256="1gdkrvmrss5x6m33y6lk8d397q64jj4d72hxvs9yj1wwngd635ah"; depends=[PowerTOST]; };
-  powerAnalysis = derive { name="powerAnalysis"; version="0.2"; sha256="15ff3wnn37sjkiyycgh16g7gwl3l321fbw12kv621dad5bki14jl"; depends=[]; };
-  powerGWASinteraction = derive { name="powerGWASinteraction"; version="1.0.0"; sha256="0ij843g95ypxc7cfhvi3pm57b5ry1xr2x0f944l9ncyy8d15jxc4"; depends=[]; };
-  poweRlaw = derive { name="poweRlaw"; version="0.20.5"; sha256="03s4kn01q4v2wx2y5pglqycjr37076g9alp9kz915h0ckfv1i42f"; depends=[VGAM]; };
-  powerMediation = derive { name="powerMediation"; version="0.1.7"; sha256="1nysqyz5rbpn25k1pi9g7gwiarm8ncyw5xxal972wv8c70lsn4ir"; depends=[]; };
-  powerpkg = derive { name="powerpkg"; version="1.5"; sha256="0mbk2fda2fvyp1h5lk5b1fg398xybbjv0z6kdx7w7xj345misf7l"; depends=[]; };
-  powerSurvEpi = derive { name="powerSurvEpi"; version="0.0.6"; sha256="1jsbrj35m296mkk47zcpb2haain6bf23k0xzphnb4sq8f06cmq1p"; depends=[survival]; };
-  PowerTOST = derive { name="PowerTOST"; version="1.1-13"; sha256="0w535rnwsdjad7fhrm0bxqkbci4y5qdgdy8rif3y5s5qkjhlqxnc"; depends=[mvtnorm]; };
-  PP = derive { name="PP"; version="0.2-1"; sha256="0qrmlfjfsaj1jxbpzzbh1lnsw5c9b631b7q5jxrzvg675m0wy2mr"; depends=[]; };
-  ppcor = derive { name="ppcor"; version="1.0"; sha256="18l5adjysack86ws61xh89z5xfr83v932a0pn6ad8i8py3nd85fj"; depends=[]; };
-  ppiPre = derive { name="ppiPre"; version="1.5"; sha256="1d1567h2j0y4f8jkaiszxkq13xkxq9jb3bf0rmjmy1z263nnl4a1"; depends=[igraph e1071]; };
-  ppls = derive { name="ppls"; version="1.6-0"; sha256="0jd80sfsg7j2540sz5v9n43pni9713sb1nvb5h1azbr3mnwqsri5"; depends=[MASS]; };
-  ppmlasso = derive { name="ppmlasso"; version="1.0"; sha256="0f5wld45r874rmi5bvhiqhpi5jqgrg5lwqazfhkv1md0ac2klkqj"; depends=[spatstat]; };
-  pps = derive { name="pps"; version="0.94"; sha256="0sirxpagqc2ghc01zc6q4dk691six9wkgknfbwaqxbxvda3hcmyq"; depends=[]; };
-  ppstat = derive { name="ppstat"; version="0.9"; sha256="1mnlvdzvayz30sbiq95wm0ywmzc168lqx0l33397jadiq5zbsbkn"; depends=[processdata reshape2 ggplot2 Matrix]; };
-  PPtree = derive { name="PPtree"; version="2.3.0"; sha256="002qjdx52r2h90wzrf2r3kz8fv3nwx08qbp909whn6r4pbdl532v"; depends=[MASS penalizedLDA]; };
-  pqantimalarials = derive { name="pqantimalarials"; version="0.1"; sha256="0q7knygxcv9s7lnpzn165dqvgff6zsz25ld44rh4fddgfzlwynn8"; depends=[shiny rms reshape2 RColorBrewer plyr]; };
-  prabclus = derive { name="prabclus"; version="2.2-4"; sha256="1p4hhs002cyrmnmfc2s11zia2jcnafidmy41dl3bd8mqyq3d193z"; depends=[MASS mclust]; };
-  pracma = derive { name="pracma"; version="1.7.0"; sha256="1hi71m4hkyj8pvl01xl9675pza983ikigxp13i6i08bbpxsaclsm"; depends=[]; };
-  PracTools = derive { name="PracTools"; version="0.0-2"; sha256="1bigir9fv6qrj3r8bfff6zyvxi10c0qh56kvhqsclvwyg3hfk5yz"; depends=[]; };
-  pragma = derive { name="pragma"; version="0.1.3"; sha256="1n30a346pph4d8cj4p4qx2l6fnwhkxa8yxdisx47pix376ljpjfx"; depends=[]; };
-  praktikum = derive { name="praktikum"; version="0.1"; sha256="0kkydgglvqw371fxh46fi86fmdndhwq1n8qj0ynbh2gz1cn86aw1"; depends=[]; };
-  predfinitepop = derive { name="predfinitepop"; version="1.0"; sha256="1x5ri1kvd1rd9bjp2ygqwl68yp6hyb6aly22bs5kdwv2vn9nlq9w"; depends=[]; };
-  PredictABEL = derive { name="PredictABEL"; version="1.2-1"; sha256="18fmafl1d4nwf7mya9gh1rlv5936zzr2jm3fwn5r2m5fc034qqjx"; depends=[Hmisc ROCR epitools PBSmodelling]; };
-  PredictiveRegression = derive { name="PredictiveRegression"; version="0.1-4"; sha256="15vkisj3q4hinc3d537s8inhj3wk62q67qhy050xmp9j563ainmd"; depends=[]; };
-  predictmeans = derive { name="predictmeans"; version="0.97"; sha256="1l5b85rw96mh3xvcv5iiiy7zh8s0hx0bw037a3p49vbsw3k9p5vb"; depends=[lme4 nlme ggplot2 lattice pbkrtest plyr]; };
-  predmixcor = derive { name="predmixcor"; version="1.1-1"; sha256="0v99as0dzn0lqnbbzycq9j885rgsa1cy4qgbya37bbjd01b3pykd"; depends=[]; };
-  prefmod = derive { name="prefmod"; version="0.8-32"; sha256="0v5r195gzbfi6jbqz8r1x2fzj3anqxf4hxaxb9krm9rkwgphrwpi"; depends=[gnm colorspace]; };
-  PReMiuM = derive { name="PReMiuM"; version="3.0.28"; sha256="0cs18ig3ykd1s1hll7bq8ii1pbw4lr9ij8qyg7jh359k9vb6m5gy"; depends=[Rcpp ggplot2 cluster plotrix]; };
-  PresenceAbsence = derive { name="PresenceAbsence"; version="1.1.9"; sha256="17qn4ggkr5aqml45nkihj1j35y479ywkm1xcfkb2g8ky66jb0c0s"; depends=[]; };
-  PResiduals = derive { name="PResiduals"; version="0.1-0"; sha256="0g3div2i5sr4fbc7l6zzvaw72nbs80lkc1yv7p32w6g2cmyjhy7c"; depends=[Formula]; };
-  prettyGraphs = derive { name="prettyGraphs"; version="2.1.5"; sha256="19jag5cymancxy5lvkj5mkhdbxr37pciqj4vdvmxr82mvw3d75m4"; depends=[]; };
-  prettyR = derive { name="prettyR"; version="2.0-8"; sha256="1wz802mmsbm4011jskdvifm9p5vqjiq7x2cmxyvc6fi2g8s224rw"; depends=[]; };
-  prevalence = derive { name="prevalence"; version="0.2.0"; sha256="0yab4ig0hwyr10fgcw50hs63hbdpch83500xws05h1srsd2kiq8f"; depends=[rjags coda]; };
-  prevR = derive { name="prevR"; version="2.9"; sha256="1h0v52pwhrb9ib61wjqdcand5prc1h205nd2rl5qiiqcnq4xn582"; depends=[sp gstat GenKern rgdal fields]; };
-  prim = derive { name="prim"; version="1.0.14"; sha256="0ndzp2dj2rz6wffnc1a4bdn45vb5r6hf0niiixh0chrlakd5d4w7"; depends=[]; };
-  primer = derive { name="primer"; version="1.0"; sha256="0vkq794a9qmz9klgzz7xz35msnmhdaq3f91lcix762wlchz6v7sg"; depends=[deSolve lattice]; };
-  primerTree = derive { name="primerTree"; version="1.0.1"; sha256="068j5a2rh8f1h1y7rv2xacnvkn2darzvp1adhi3hqkmwsb3znhjk"; depends=[directlabels gridExtra ggplot2 XML ape httr lubridate plyr scales stringr foreach]; };
-  princurve = derive { name="princurve"; version="1.1-12"; sha256="19fprwpfhgv6n6ann978ilwhh58qi443q25z01qzxml4b5jzsd7w"; depends=[]; };
-  prinsimp = derive { name="prinsimp"; version="0.8-8"; sha256="074a27ml0x0m23hlznv6qz6wvfqkv08qxh3v1sbkl9nxrc7ak4vn"; depends=[]; };
-  PRISMA = derive { name="PRISMA"; version="0.2-2"; sha256="0r4dhnp0f6q43iklmwjim20hy9wjijkh8q4gljx8sph47njc0xqd"; depends=[Matrix gplots ggplot2]; };
-  PrivateLR = derive { name="PrivateLR"; version="1.1-69"; sha256="0harlkccxa51k75if5z1h29lnis1dinh2zsk2liicwyjxcnmx0ml"; depends=[]; };
-  prLogistic = derive { name="prLogistic"; version="1.2"; sha256="1abwz7nqkz2qbyqyr603kl9a3rkad3f4vxhck6a9kl80xrmfrj9s"; depends=[boot lme4 Hmisc]; };
-  prob = derive { name="prob"; version="0.9-5"; sha256="05skjqimzhnk99z864466dc8qx58pavrky320il91yqyr8b98j8b"; depends=[combinat fAsianOptions hypergeo VGAM]; };
-  ProbForecastGOP = derive { name="ProbForecastGOP"; version="1.3.2"; sha256="0fnw3g19lx4vs8vmn4qdirvybkiy2cxkhwkn9qa3phz45iixnvx4"; depends=[RandomFields fields]; };
-  probsvm = derive { name="probsvm"; version="1.00"; sha256="1k0zysym7ncmjy9h7whwi49qsfkpxfk7chfdjrydl6hn6pscis37"; depends=[kernlab]; };
-  pROC = derive { name="pROC"; version="1.7.3"; sha256="1xbz50phi2ygrgvcv36vnbc2icga8abjiha2ap35bwffg5d2zmvi"; depends=[plyr Rcpp]; };
-  processdata = derive { name="processdata"; version="0.8.2"; sha256="1rdb3chpm7c2acx5r262gcg5w02mplh6xgxlld070kb91i7drahj"; depends=[ggplot2 reshape2]; };
-  ProDenICA = derive { name="ProDenICA"; version="1.0"; sha256="04gnsnd0xzw3bfbssdp06bar0lk305ry2c97pmwxgiz3ay88dfsj"; depends=[gam]; };
-  prodlim = derive { name="prodlim"; version="1.4.3"; sha256="0y18ngb1gy8zdk4dfakb57pyjll8937acbaz2lynwhbabd6kg66l"; depends=[survival KernSmooth lava]; };
-  PROFANCY = derive { name="PROFANCY"; version="1.0"; sha256="11a0fpsv1hy0djv36x2i2hv2j50ryy0x7g7nn7vv76m1sl6q6r4b"; depends=[Matrix lattice igraph]; };
-  profdpm = derive { name="profdpm"; version="3.3"; sha256="07lhjavrx4fa5950w928mfpddmmnmvdapl5n6mv49m8h3bxs4nmy"; depends=[]; };
-  ProfessR = derive { name="ProfessR"; version="2.3"; sha256="1y88as4xjvdm2v2ms5l7c6ziq7sll6qkrpgzdd4xnbcjx7c0g9w8"; depends=[RPMG]; };
-  ProfileLikelihood = derive { name="ProfileLikelihood"; version="1.1"; sha256="16cdp1nimhg1sd2x0qbffm7clgk54p0838y688z8lnsrjaggmb0x"; depends=[nlme MASS]; };
-  profileModel = derive { name="profileModel"; version="0.5-9"; sha256="1p9b9jr5842im195d60ja82pp7vbk85vs8b0r3fnf62j4b92aky9"; depends=[]; };
-  profileR = derive { name="profileR"; version="0.2-1"; sha256="1hcydy7hqjac9mvbaim2g75ab1ziyvpbrkb4k21966m54zjk9kka"; depends=[ggplot2 MASS RColorBrewer reshape plyr]; };
-  profr = derive { name="profr"; version="0.3.1"; sha256="1w06mm89apggy6wc273b2nsp95smajr8sf3dwshykivv7mhkxs5d"; depends=[stringr plyr]; };
-  proftools = derive { name="proftools"; version="0.1-0"; sha256="1wzkrz7zr2pjw5id2sp6jdqm5pgrrh35zfwjrkr6mac22lniq4bv"; depends=[]; };
-  ProgGUIinR = derive { name="ProgGUIinR"; version="0.0-4"; sha256="0srhk42ssx4i096sbs4jacqjsc1ffqjxjgvpplzshlqaby1h3795"; depends=[ggplot2 svMisc MASS]; };
-  prognosticROC = derive { name="prognosticROC"; version="0.7"; sha256="0lscsyll41hpfzihdavygdzqw9xxjp48dmy4i17qsx5h01jl1h4i"; depends=[survival]; };
-  proj4 = derive { name="proj4"; version="1.0-8"; sha256="06r3lavgixrsa52d1v31laqcbw6fb9xn23akv39hvaib78diglv9"; depends=[]; };
-  ProjectTemplate = derive { name="ProjectTemplate"; version="0.5-1"; sha256="0fi5i9icac2rjrpmgvb9glqr6z5fr880bn8hz6djgi1n1bn2v1g8"; depends=[]; };
-  propagate = derive { name="propagate"; version="1.0-3"; sha256="1kg29c72r6yz8asm6zdjxiwkrkz8dh92iybcxmiwzifhshv4gg34"; depends=[MASS tmvtnorm Rcpp ff minpack_lm]; };
-  PropCIs = derive { name="PropCIs"; version="0.2-5"; sha256="0wnc5h4390w4rglr7gjh6827f5r7gdhajx1iwp5fggdlm808hgq7"; depends=[]; };
-  PropClust = derive { name="PropClust"; version="1.4-2"; sha256="13ac895i7ljayyqcjjmwvwar6wf1j0qssazcb5nlz8rw155qwavs"; depends=[flashClust dynamicTreeCut]; };
-  PropScrRand = derive { name="PropScrRand"; version="1.1"; sha256="0cj62dzg4zm8d1g8h7qmviiwm93cwplppbi0p674fmmf1wy84v9s"; depends=[]; };
-  prospectr = derive { name="prospectr"; version="0.1.3"; sha256="18lh03xg6bgzsdsl56bjd63xdp16sqgr3s326sgifkkak8ffbv7q"; depends=[RcppArmadillo foreach iterators Rcpp]; };
-  proteomicdesign = derive { name="proteomicdesign"; version="2.0"; sha256="01s47pgwxy4xx10f3qmbfv59gbaj0qw017kpkpsn33s8w7ad63r0"; depends=[MASS]; };
-  protiq = derive { name="protiq"; version="1.2"; sha256="00hv6hmfba4is2q1s9h5csx42s7ry2qdmi7vasgcafp8s4fc999l"; depends=[mvtnorm]; };
-  proto = derive { name="proto"; version="0.3-10"; sha256="03mvzi529y6kjcp9bkpk7zlgpcakb3iz73hca6rpjy14pyzl3nfh"; depends=[]; };
-  protoclass = derive { name="protoclass"; version="1.0"; sha256="17d2m6r1shgb47v8mwdg1a7f5h29m5l7f5m0nsmv0xc90s9cpvk8"; depends=[class]; };
-  PROTOLIDAR = derive { name="PROTOLIDAR"; version="0.1"; sha256="0bz3071b0wlcvh40vl3dyiiixk5avsj6kjjnvlvx264i5g08rij4"; depends=[]; };
-  protr = derive { name="protr"; version="0.2-1"; sha256="0kjvq7w2pg8vdv0f7lsc6f1ksbv9f9x7p61aqfzqignz9nh792dd"; depends=[]; };
-  protViz = derive { name="protViz"; version="0.1.98"; sha256="1lw9whid25pkprhw1ivb9fjaa5vx1w5mvj3dx299bp4dqg75dns6"; depends=[Rcpp]; };
-  proxy = derive { name="proxy"; version="0.4-12"; sha256="1hjbx94c4m2v22fswdd2jkb43ixfv6qivx8qiyzm23g1965ynvii"; depends=[]; };
-  pRSR = derive { name="pRSR"; version="3.0.2"; sha256="1s81mi172mwxhp786c1fl579cg87valppr0z958ssvxsvg5hbfxy"; depends=[]; };
-  pryr = derive { name="pryr"; version="0.1"; sha256="1vp63v1l4myahmmbphc043x1kpmvvdhs6dr640dxi0napvkdqlq6"; depends=[stringr codetools Rcpp]; };
-  PSAboot = derive { name="PSAboot"; version="1.1"; sha256="176sbjr906xk2ycl8653k7nch2h7ryxfisdy178k51f55qpvv4h9"; depends=[ggplot2 PSAgraphics Matching MatchIt modeltools party psych reshape2 rpart TriMatch]; };
-  PSAgraphics = derive { name="PSAgraphics"; version="2.1.1"; sha256="05c0k94dxddyrhsnhnd4jcv6fxbbv9vdkss2hvlf3m3xc6jbwvh9"; depends=[rpart]; };
-  psbcGroup = derive { name="psbcGroup"; version="1.0"; sha256="1l28sy0jys1g3nyfls9nl9vx9b6qh405a2nhx0qgxwb24l67x56n"; depends=[bayesm LearnBayes SuppDists mvtnorm]; };
-  PSCBS = derive { name="PSCBS"; version="0.43.0"; sha256="1pv61ha8c2hx91hik9n6fz2gxdhijgcsdjhznaml5v1d5ba3vzjj"; depends=[R_methodsS3 R_oo R_utils R_cache matrixStats]; };
-  pscl = derive { name="pscl"; version="1.04.4"; sha256="0mm8qak7cq8qks60wx6lslii79wnkh58a31izgns35wwlflg8g6n"; depends=[MASS mvtnorm coda gam vcd lattice]; };
-  psd = derive { name="psd"; version="0.4-1"; sha256="1knfpgvmhrispfvlv94rnpbrjkyggqrmng65bjdjjigq83hhzywm"; depends=[fftw RColorBrewer signal zoo]; };
-  psData = derive { name="psData"; version="0.1.2"; sha256="0w8kzivqrh1b6gq803rfd10drxdwgy0cxb5sff273m6jxzak52f2"; depends=[countrycode DataCombine foreign xlsx]; };
-  pse = derive { name="pse"; version="0.3.4"; sha256="1ni4rwskcr326x5z81hsh36nkcrpq5d7pkqh6xyh4fjm57wjwzbp"; depends=[Hmisc boot]; };
-  pseudo = derive { name="pseudo"; version="1.1"; sha256="0dcx6b892cic47rwzazsbnsicpgyrbdcndr3q5s6z0j1b41lzknd"; depends=[KMsurv geepack]; };
-  psgp = derive { name="psgp"; version="0.3-6"; sha256="0h9gyadfy0djj32pgwhg8vy2gfn7i7yj5nnsm6pvfypc3k71s2wf"; depends=[intamap automap gstat]; };
-  pSI = derive { name="pSI"; version="1.1"; sha256="0cvw38dqqlyx7cpl27hq33f5xns2d0019lyr98pwndcnbp09mx0b"; depends=[gdata]; };
-  psidR = derive { name="psidR"; version="1.2"; sha256="14cpxk7z0inrpvhsdb3z6r5nrpyb4v8bv77mygxcf51rxihigzvj"; depends=[data_table RCurl foreign SAScii]; };
-  PSM = derive { name="PSM"; version="0.8-10"; sha256="1s60fr85xn3ynpvsbc3nw7vgz6h6jxy3yii1w6jpkw3iwl4bgn84"; depends=[MASS numDeriv deSolve ucminf]; };
-  PSMix = derive { name="PSMix"; version="1.1.1"; sha256="0g9s7v05jjc7vq08fj5bb2wg03isnyr1ql1rciiihqi5w4dwx6w7"; depends=[]; };
-  pso = derive { name="pso"; version="1.0.3"; sha256="0alar695c6kc1rsvwipsrvlxc93f3sy9l0yhp0mggyqgxkkvy406"; depends=[]; };
-  pspearman = derive { name="pspearman"; version="0.3-0"; sha256="1l5mqga7b5nvm6v9gbl1xsspdqsjqyhhdn4gc4qlz6ld7fqfq6cx"; depends=[]; };
-  pspline = derive { name="pspline"; version="1.0-16"; sha256="170apwfv2lbf2rggzzynrf9vi2mr0y15sm4zy8djxxpzv217iaf7"; depends=[]; };
-  PST = derive { name="PST"; version="0.84.1"; sha256="10cwlj8957sj5dag43v01fbq9lmcasfxp0lgllj0iv0lbfzd4g02"; depends=[TraMineR]; };
-  PsumtSim = derive { name="PsumtSim"; version="0.4"; sha256="0079kb1bgsxs4cwmn33rbbk2jgq39rdjfgz9k9hc64iyzz0i6na3"; depends=[EffectsRelBaseline boot]; };
-  psy = derive { name="psy"; version="1.1"; sha256="027whr670w65pf8f7x0vfk9wmadl6nn2idyi6z971069lf01wdlk"; depends=[]; };
-  psych = derive { name="psych"; version="1.4.8.11"; sha256="110j5d7xdaviklf3mv9jlnli3l4n5g4mxasgxdj6kw7f66fqh634"; depends=[]; };
-  psychometric = derive { name="psychometric"; version="2.2"; sha256="1b7cx6icixh8k3bv60fqxjjks23qn09vlcimqfv2x3m3nkf8p1s9"; depends=[multilevel nlme multilevel nlme]; };
-  psychomix = derive { name="psychomix"; version="1.1-1"; sha256="0p3kidbsmfm09s7c3p8nlj069wcyln1cxmjmj5nj7f618c407zyf"; depends=[flexmix psychotools lattice Formula modeltools]; };
-  psychotools = derive { name="psychotools"; version="0.2-0"; sha256="13zpg4xi5hmr8yzjsri4kn0dy39ns5razdmchh4nwfr9gjn0h29b"; depends=[]; };
-  psychotree = derive { name="psychotree"; version="0.13-0"; sha256="1jwya7glgaz4zb81i37bvxnm712b1y34dh5s3y64lms2bd98wc4b"; depends=[party psychotools modeltools sandwich strucchange]; };
-  psyphy = derive { name="psyphy"; version="0.1-9"; sha256="1ndc6sy662wj2qfx7r97crlqjd8fdkfvfy59qmf34bcbzbg33riz"; depends=[]; };
-  psytabs = derive { name="psytabs"; version="0.5"; sha256="0jcsv771ndf0fv76982rbv099ii4l55a8bj1mhgr54838ins0gg7"; depends=[psych plyr rtf R2HTML mokken lavaan semTools]; };
-  pt = derive { name="pt"; version="1.0"; sha256="0hjijfmc9dip3ys8xg44w0fwvyzyjyjl9hpwm7j2nzg3plv6i1fz"; depends=[]; };
-  PTAk = derive { name="PTAk"; version="1.2-6"; sha256="06b59qmlz7n6nydb7d2nbv2ggfam0092qzavshgfa6p8r5vzxcj6"; depends=[tensor]; };
-  PTE = derive { name="PTE"; version="1.0"; sha256="10if2hh69yysi2y82m7is74hmzw2xpxijgb8bhy1d4g9n9lqidfs"; depends=[doParallel]; };
-  ptinpoly = derive { name="ptinpoly"; version="2.1"; sha256="0l16hvg3b7km0kh2wqzcvnn6jydvvh5mm089j15in4s1wsjn173k"; depends=[misc3d]; };
-  PtProcess = derive { name="PtProcess"; version="3.3-1"; sha256="0qh673i00z8x07zjhwazambz1myw5q342zfqfgm2f5z59v1j7m48"; depends=[]; };
-  ptw = derive { name="ptw"; version="1.0-7"; sha256="195pa6hj3y9spyc7yxfgr8alkp48a7ccnyp64r6fyjwj6ds08b64"; depends=[]; };
-  PubBias = derive { name="PubBias"; version="1.0"; sha256="0dr5dhfx57knrs05pbx9ngg4k2937n8gjzsgd0jfqd8dfxhy051k"; depends=[rmeta R_utils]; };
-  pubmed_mineR = derive { name="pubmed.mineR"; version="1.0.1"; sha256="0d288hx98j5k4nmzj1vc3sfjwh9i4cljfgi6vklrsvgn5sx39x91"; depends=[RCurl XML NCBI2R boot R2HTML]; };
-  PubMedWordcloud = derive { name="PubMedWordcloud"; version="0.3.1"; sha256="1bq2jswhc3vr84x6a9fspygirl54z7b1pdlcpnd7g4374ypvlrrz"; depends=[XML stringr RCurl wordcloud tm GOsummaries RColorBrewer]; };
-  pumilioR = derive { name="pumilioR"; version="1.3"; sha256="1zmcdp978p73bh9fdshxlrzgfg18j007xgxgr439rq90bwiwva6j"; depends=[XML RCurl]; };
-  PurBayes = derive { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; };
-  pushoverr = derive { name="pushoverr"; version="0.1.3"; sha256="18bxipbrcv8anrvdmgff1674b735x0zp6bwf319cgxsgbs9nlwqi"; depends=[httr]; };
-  PVAClone = derive { name="PVAClone"; version="0.1-2"; sha256="0afl2il5wdcwzpyhjkgq8iz16q1086c3ndr4cjlyspgbss9h5l24"; depends=[dcmle dclone]; };
-  pvar = derive { name="pvar"; version="1.0.9"; sha256="01bkva4kna1vfjlsss16s6501l8x2s95a5wh7wsmwq3spdgp1i2r"; depends=[]; };
-  pvclass = derive { name="pvclass"; version="1.1"; sha256="0qaj71qrcj0kgwb1xravylqfc2b1ww5h8l4pdd2m0x33aygrm0kk"; depends=[Matrix]; };
-  pvclust = derive { name="pvclust"; version="1.2-2"; sha256="152qwvk4lpdsrv96148bc3z51jqdaa7p95ql2zhpb7a2fvzs5ad5"; depends=[]; };
-  PVR = derive { name="PVR"; version="0.2.1"; sha256="1p87pj9g0qlc8ja6xdj2amny9pbkaqb34x2y9nkl1nj1pkwjq2s5"; depends=[ape splancs]; };
-  pvsR = derive { name="pvsR"; version="0.2"; sha256="1liykrh05k4qlfh1b61rafvgzx99fl9nh75a6mr5z5zczn8i00mv"; depends=[XML nnet httr]; };
-  pwr = derive { name="pwr"; version="1.1.1"; sha256="1is6kqqjf3bzsddj4advj8qcp30rz2zlqc0g98072m96nmq5ywgn"; depends=[]; };
-  PwrGSD = derive { name="PwrGSD"; version="2.000"; sha256="0qxvws9mfrnqw5s24qhqk6cbffjm13z7awyxdmnilazghpiq1p7s"; depends=[survival]; };
-  pwt = derive { name="pwt"; version="7.1-1"; sha256="0926viwmwldmzlzbnjfijh00wrhgb0h4h0mlrls71pi5pjfldifa"; depends=[]; };
-  pwt8 = derive { name="pwt8"; version="8.0-0"; sha256="12cgyban6waj0cxz9gb35s5v0v29rmx67ipzalzdnrjp5nsmy431"; depends=[]; };
-  pxR = derive { name="pxR"; version="0.40.0"; sha256="08s62kzdgak7mjzyhd32qn93q5l7sj01vhsk7fjg9nxjvm78xxka"; depends=[stringr reshape2 RJSONIO plyr]; };
-  pyramid = derive { name="pyramid"; version="1.3"; sha256="1jmcqzgxqwvfa9aidayjx6j1s9f3kwqvivwldwpkf780i9wkdig9"; depends=[]; };
-  qat = derive { name="qat"; version="0.72"; sha256="0vs7xc32h9s5p7486cafzzll7xaby7lbqmmpnshkn8mq021xlxkg"; depends=[ncdf gplots XML gdata moments boot fields]; };
-  QCA = derive { name="QCA"; version="1.1-3"; sha256="083hc00d7srvxfkfax51ffngidbdhjqaxga3lln5gw53m2831v35"; depends=[lpSolve]; };
-  QCA3 = derive { name="QCA3"; version="0.0-7"; sha256="0i9i2i633sjnzsywq51r2l7fkbd4ip217hp0vnkj78sfl7zf1270"; depends=[lpSolveAPI]; };
-  QCAGUI = derive { name="QCAGUI"; version="1.9-6"; sha256="020ngni02j2w2ylhyidimm51d426pym2g1hg7gnpb7aplxx67n6x"; depends=[abind QCA]; };
-  qcc = derive { name="qcc"; version="2.5"; sha256="1j2l4i1vy8wqsl64r0qmc8dflyn1abbmzhpqqsmhwldifcdbdsb9"; depends=[MASS]; };
-  QCGWAS = derive { name="QCGWAS"; version="1.0-8"; sha256="1wn1kddgfmqv326pihnavbgsbd2yxrlq5s2xgi6kbprssxvj8bk1"; depends=[]; };
-  qcr = derive { name="qcr"; version="0.1-18"; sha256="16dfda3rwivsdhp7j5izzbk2rzwfabfmxgpq4kjc4h7r90n2vly2"; depends=[qcc]; };
-  qdap = derive { name="qdap"; version="2.1.1"; sha256="1in345544gspj7wki82gdaiaxzn5qcp5jz73n522gjnybymllv2b"; depends=[ggplot2 qdapDictionaries qdapTools RColorBrewer chron dplyr gdata gridExtra igraph NLP openNLP plotrix RCurl reports reshape2 scales stringdist tm venneuler wordcloud xlsx XML]; };
-  qdapDictionaries = derive { name="qdapDictionaries"; version="1.0.2"; sha256="0s1dqp3hjllkvq638hvggcbfsdwks91r0ymynl7cdh7dr5pg91bc"; depends=[]; };
-  qdapTools = derive { name="qdapTools"; version="1.0.2"; sha256="1vvgcj0cymfc8yqw3i8jzr199hq04z7y86qgljdl86v4xvl44ggv"; depends=[chron data_table RCurl]; };
-  qfa = derive { name="qfa"; version="0.0-10"; sha256="1c6yh5fa45fk3g9hi905b2cjswn6gmn53f0gb5v5byb9gr9bjf7s"; depends=[sp DEoptim]; };
-  qgraph = derive { name="qgraph"; version="1.2.5"; sha256="1jgjxfds28kk03qrk01r8dla4xjpbqcqdwa1ifay2vqahwlkpz65"; depends=[psych ellipse lavaan sem plyr Hmisc igraph jpeg png colorspace Matrix sna corpcor reshape2 ggplot2 glasso huge]; };
-  qiimer = derive { name="qiimer"; version="0.9.2"; sha256="08625hz2n7yk9zk1k9sa46n2ggbw5qs0mlqkmzyjjh3qlnb1354a"; depends=[pheatmap]; };
-  qlcMatrix = derive { name="qlcMatrix"; version="0.9.2"; sha256="1d8953bj69d0nia3qh3s1djf9m7wkvfdxqd234026gh1d3qchkr2"; depends=[Matrix]; };
-  qLearn = derive { name="qLearn"; version="1.0"; sha256="1ilxmgazm8gjz8c1hhbp4fccibnvnalxrag8b0rn081zsqmhf094"; depends=[]; };
-  qlspack = derive { name="qlspack"; version="2.2"; sha256="0b9sqvnvldhd8vymajrbql0vn70rml13jgsq5ihm6skzq5qms7y6"; depends=[geepack]; };
-  qmap = derive { name="qmap"; version="1.0-3"; sha256="1c7qvmd5whi446nzssqvhz1j2mpx22nlzzdrcql84v18ry0dr18m"; depends=[fitdistrplus]; };
-  qmethod = derive { name="qmethod"; version="1.1"; sha256="0ygmprfjwx1bi3pi9iqq15m243vy9f90znyf4qwp0zwbbpxyaqi5"; depends=[psych GPArotation]; };
-  qmrparser = derive { name="qmrparser"; version="0.1.4"; sha256="1lw8sn4qsdv4bxf5p7gnkm0vmiymyj03svbl232zyyb0fh97i7nk"; depends=[]; };
-  QoLR = derive { name="QoLR"; version="1.0"; sha256="1ah6x1fcs4l571jvgm0c257cgxhhpkzfhqimwbb9j7xbz3h55lp3"; depends=[survival zoo]; };
-  qp = derive { name="qp"; version="0.3-2"; sha256="1964bj2ggmpaqz0rnmc2zx5hyrzawlmawz3mh046cx1pdzlsqfwh"; depends=[]; };
-  qpcR = derive { name="qpcR"; version="1.3-9"; sha256="1dbxy7al75d7zjwg8kgvmmddfklj13hq9nb1vyblmzcsa59rx91s"; depends=[MASS minpack_lm rgl robustbase Matrix]; };
-  qPCR_CT = derive { name="qPCR.CT"; version="1.1"; sha256="19j41fsd2m7p2nxi2h2mj43rjxx6sz2jpf4sk0bfvl1gyj0iz3hi"; depends=[RColorBrewer]; };
-  qqman = derive { name="qqman"; version="0.1.1"; sha256="1j77i2lz2rp2kgsfsfv6zf9ai8ffylmkrfiq2rv53vmrq92h407c"; depends=[]; };
-  qrfactor = derive { name="qrfactor"; version="1.4"; sha256="0f02lh8zrc36slwqy11x03yzfdy94p1lk5jar9h5cwa1dvi5k8gm"; depends=[mvoutlier mgraph pvclust cluster maptools]; };
-  QRM = derive { name="QRM"; version="0.4-10"; sha256="1fkxjqyb9yqki4qwk393ra66wg5dnbr5b5sgypm8wk973crbhcj0"; depends=[gsl Matrix mvtnorm numDeriv timeSeries Rcpp mgcv]; };
-  qrnn = derive { name="qrnn"; version="1.1.2"; sha256="01wsz9qcdiayi7gsyy2y09jyyapanyhlc4pdyman2f7z5nl9yv9i"; depends=[]; };
-  QSARdata = derive { name="QSARdata"; version="1.3"; sha256="0dhldnh0jzzb4assycc0l14s45ymvha48w04jbnr34lrwgr9krh4"; depends=[]; };
-  qtbase = derive { name="qtbase"; version="1.0.4"; sha256="02yilvywkcqn3y9ayix18cgkwhi0gh69fl3fcw28fs2zxf1hqy75"; depends=[]; };
-  qtl = derive { name="qtl"; version="1.32-10"; sha256="0ywgsjfyjvnfisd2hnh2f5rqjhy0znnf2c1qjdqfx6g7vh3hblr1"; depends=[]; };
-  qtlbim = derive { name="qtlbim"; version="2.0.7"; sha256="0nm7ky5bkzhmfr41fs1pvl51i2df1fz11j55q74ma2wzki5adfps"; depends=[qtl lattice coda MASS]; };
-  qtlbook = derive { name="qtlbook"; version="0.18-1"; sha256="09b4w7kqdlmpf0vsjgwbi9sraafzchvk18yzrx72gs151v03nxlm"; depends=[qtl]; };
-  qtlDesign = derive { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; };
-  qtlhot = derive { name="qtlhot"; version="0.9.0"; sha256="1043rksqqzgmr7q03j18wxgm706prqxq9ki9b9p2dxvc62vfcfih"; depends=[qtl lattice corpcor mnormt]; };
-  qtlmt = derive { name="qtlmt"; version="0.1-3"; sha256="01ql0fr2mxl8a8nd6lpig5j8vznv594ygn6bj6d31gj15r5rs8fs"; depends=[]; };
-  qtlnet = derive { name="qtlnet"; version="1.3.6"; sha256="044a2p3mpp203kb85s2fr3qiyypm461lrzxkfi0hnzq44qqba169"; depends=[qtl igraph sem pcalg]; };
-  QTLRel = derive { name="QTLRel"; version="0.2-14"; sha256="05x56a8fjr6xk38dphdzh77y520cr6zykjp3qlx27drk9s5z06cs"; depends=[gdata]; };
-  qtpaint = derive { name="qtpaint"; version="0.9.0"; sha256="06yqakg134mks8q7a40f5knjpcm1k2wdzchs0ywvfpwvpwgwig01"; depends=[qtbase qtbase]; };
-  qtutils = derive { name="qtutils"; version="0.1-3"; sha256="018k9v3mab1mfcjh4mv1a1iish50fwdhb51mqn17k6fyrrrv7vs5"; depends=[qtbase qtbase]; };
-  QuACN = derive { name="QuACN"; version="1.7.4"; sha256="1bcvnzycw7xvnms41rqsnfvggvcmpaw6byrsdzqmg7z0q754b1j4"; depends=[combinat Rmpfr igraph]; };
-  quad = derive { name="quad"; version="1.0"; sha256="0fak12l19f260k0ygh6zimx8dabzsv7a9i2njw8hnfcs3ndffhv5"; depends=[PearsonDS]; };
-  quadprog = derive { name="quadprog"; version="1.5-5"; sha256="0jg3r6abmhp8r9vkbhpx9ldjfw6vyl1m4c5vwlyjhk1mi03656fr"; depends=[]; };
-  quadrupen = derive { name="quadrupen"; version="0.2-4"; sha256="0gs565zi5qkccr9f65smvzgq2d97p7i5inksp2492bjvqhsbagxj"; depends=[Rcpp ggplot2 Matrix reshape2 scales]; };
-  qualCI = derive { name="qualCI"; version="0.1"; sha256="09mzsy5ryyrn1gz9ahrh95cpfk7g09pmjjy0m82fh4xc7j5w6kpf"; depends=[combinat]; };
-  qualityTools = derive { name="qualityTools"; version="1.54"; sha256="0qrxf47fv56c86p0mmg3l3qvx8p3rvapffwhaw4yn4kbp7yiap5d"; depends=[]; };
-  qualV = derive { name="qualV"; version="0.3"; sha256="0cr3jlp0y83nk6i965bd6v86sl8pjx47z1y20lcygrf5cb6m4ifw"; depends=[KernSmooth]; };
-  Quandl = derive { name="Quandl"; version="2.3.2"; sha256="0dx6myf5gw7dvhglsc60hwq8nsj73zz3gcqcad1z3d27acv2q7m0"; depends=[RCurl RJSONIO zoo xts]; };
-  quantchem = derive { name="quantchem"; version="0.13"; sha256="1ga5xa7lsk04flfp1syjzpnvj3i2ypzh1m49vq1xkdwpm6axdy8n"; depends=[MASS outliers]; };
-  QuantifQuantile = derive { name="QuantifQuantile"; version="0.2"; sha256="0h0bc81y21zag0kgfr5i9rk74m32qg0x5a8n9pvm2f6c0126q7vi"; depends=[rgl]; };
-  quantmod = derive { name="quantmod"; version="0.4-0"; sha256="12411ykj1f1ni5y00ma3kr5h5fsi0rqkshz7501wykj926js9v5j"; depends=[Defaults xts zoo TTR]; };
-  QuantPsyc = derive { name="QuantPsyc"; version="1.5"; sha256="1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93"; depends=[boot MASS]; };
-  quantreg = derive { name="quantreg"; version="5.05"; sha256="07djmdlmij9add2sgdsb1p6521hlnsfmll8lqs3x0z9gmr2wyx4f"; depends=[SparseM]; };
-  quantregForest = derive { name="quantregForest"; version="0.2-3"; sha256="06c73f66nnw3vd2dv8h5skzyxbr89i3pyprbb0if721h5d7pm0s7"; depends=[randomForest]; };
-  quantregGrowth = derive { name="quantregGrowth"; version="0.3-0"; sha256="0iyqd4gf780xqj2gcinlx0h6r6wy4vc7sp8r4qa1s638qcrp3qwa"; depends=[quantreg]; };
-  quantspec = derive { name="quantspec"; version="1.0-1"; sha256="1jfqga1kwdhfqmkgcdin84mddggi65x2s5w6krj5n5yafak21m87"; depends=[quantreg testthat abind zoo rje snowfall]; };
-  QuasiSeq = derive { name="QuasiSeq"; version="1.0-4"; sha256="1vpk1l7dhbfdywncdfg1c29qpj3x0m5ddpyh13d0d3ic8rzhdivf"; depends=[Matrix mgcv]; };
-  questionr = derive { name="questionr"; version="0.4.1"; sha256="1hiy1a7ijg2zs4zz9r4p4yqjxm66jhv4xsh29lhv10dlvhh4r4km"; depends=[shiny highr classInt]; };
-  queueing = derive { name="queueing"; version="0.2.2"; sha256="1db8w9pzy4krgcc4xahfs9aw45gvvyl6kqm1hkklw21pfc0ka09f"; depends=[]; };
-  QUIC = derive { name="QUIC"; version="1.1"; sha256="021bp9xbaih60qmss015ycblbv6d1dvb1z89y93zpqqnc2qhpv3c"; depends=[]; };
-  quint = derive { name="quint"; version="1.0"; sha256="19dxrssy4dw7v3s4hhhy6yilbc7zb6pvcnh3mm1z6vv5a1wfr245"; depends=[partykit Formula rpart]; };
-  quipu = derive { name="quipu"; version="1.9.0"; sha256="1py1qpbwp2smr5di8b3zmzxxhchfmr5qfhqkdiqig28mcnqcmp5n"; depends=[agricolae stringr pixmap shiny xtable]; };
-  qVarSel = derive { name="qVarSel"; version="1.0"; sha256="13x2hnqjsm0ifzmqkkl9ilhykrh80q04lhlkkp06hkysmh5w9rkx"; depends=[lpSolveAPI Rcpp]; };
-  qvcalc = derive { name="qvcalc"; version="0.8-8"; sha256="0xmbn6p7ryr43yf978pqpdnlxdq84v965hxbff8dviqhxwgqv4aq"; depends=[]; };
-  QZ = derive { name="QZ"; version="0.1-4"; sha256="1k657i1rf6ayavn0lgfvlh8am3kzypgb1jhf2by147gv103izkrz"; depends=[]; };
-  R0 = derive { name="R0"; version="1.2-4"; sha256="1gg5jlmb20lqa4nismchffc65b02n0qmbsk8nwzkkl2zxkm9kx3k"; depends=[MASS]; };
-  R1magic = derive { name="R1magic"; version="0.2"; sha256="07kqpdpf2grmgkv609l79f3w6ljkldfsyrn9l1yg6birzp3p69v1"; depends=[]; };
-  R2admb = derive { name="R2admb"; version="0.7.10"; sha256="0rjrd1wpr1f4l800mccnwsa121g93rrr7q9dq0xxvkl3lsbn6f2s"; depends=[]; };
-  R2BayesX = derive { name="R2BayesX"; version="0.3-1"; sha256="1qsg4lvzxpbn2jli58kncn5kjlv7ccmmkrj1m9jakbbzx51qc1rj"; depends=[BayesXsrc colorspace mgcv]; };
-  R2Cuba = derive { name="R2Cuba"; version="1.0-11"; sha256="1kgcxqn83yskh0dv6vyz66d0z32qy55par36jj987qglpl25zmax"; depends=[]; };
-  r2d2 = derive { name="r2d2"; version="1.0-0"; sha256="1zl0b36kx49ymfks8rm33hh0z460y3cz6189zqaf0kblg3a32nsi"; depends=[KernSmooth MASS sp]; };
-  r2dRue = derive { name="r2dRue"; version="1.0.4"; sha256="1apdq7zj5fhs349wm9g6y06nn33x24pg3gdp4z1frd18qlacf8z5"; depends=[rgdal sp matrixStats]; };
-  R2G2 = derive { name="R2G2"; version="1.0-2"; sha256="05d5vybvsi4pyr099916nk1l8sqszs9gaj2vhsx1jxxks8981na7"; depends=[]; };
-  R2GUESS = derive { name="R2GUESS"; version="1.3"; sha256="1jqzh2f9qwwmcf16hjgnl3rgp49zx6m090r750p3n4ds3qr96zx7"; depends=[fields MCMCpack mixOmics mvtnorm snowfall]; };
-  R2HTML = derive { name="R2HTML"; version="2.2.1"; sha256="11p0mg6b39z2w7k76j21hy09r8fm3rwkiby2lmhx5cgvnvxgrqf1"; depends=[]; };
-  R2jags = derive { name="R2jags"; version="0.04-03"; sha256="0wygsz5zzng8fh82pzhqly3d532ljz0jj34h9nz7g3v5asv0kcqm"; depends=[rjags abind coda R2WinBUGS]; };
-  r2lh = derive { name="r2lh"; version="0.7"; sha256="1kkyjv9x2klrjnaaw4a16sxdfqmpp9s5mlclzlczlqjypbf2aa6d"; depends=[]; };
-  R2OpenBUGS = derive { name="R2OpenBUGS"; version="3.2-2.2"; sha256="0hnp46linvpnzifhyb3r13xmwvdc3psabs53xl6qxxm4snrl4bnd"; depends=[coda boot]; };
-  R2STATS = derive { name="R2STATS"; version="0.68-38"; sha256="1v8mvkvs4fjch0dpjidr51jk6ynnw82zhhylyccyrad9f775j2if"; depends=[proto Matrix lattice lme4 cairoDevice gWidgets gWidgetsRGtk2 RGtk2Extras MASS latticeExtra statmod]; };
-  r2stl = derive { name="r2stl"; version="1.0.0"; sha256="18lvnxr40cm450s8qh09c3cnkl1hg83jhmv1gzsv6nkjrq4mj5wh"; depends=[]; };
-  R2SWF = derive { name="R2SWF"; version="0.8"; sha256="125r4drgl79cwda00g42m0l0dzqmi2n8p5cikx70jz67giq5blw2"; depends=[sysfonts]; };
-  R2WinBUGS = derive { name="R2WinBUGS"; version="2.1-19"; sha256="03bvxv46lhhnbfjq3w5ig50icncwn1bdq7lsh6w1szdk90ah2zgh"; depends=[coda boot]; };
-  R330 = derive { name="R330"; version="1.0"; sha256="01sprsg7kph62abhymm8zfqr9bd6dhihrfxzgr4pzi5wj3h80bjm"; depends=[s20x leaps rgl lattice]; };
-  R4CDISC = derive { name="R4CDISC"; version="0.2"; sha256="1g8n89y1l5jy3168qz9j0kz3dvyadhn5mhilpzlpn3pijvv2vndf"; depends=[XML]; };
-  R4CouchDB = derive { name="R4CouchDB"; version="0.4"; sha256="15177dwwnhl6mfvb78knhmjqi34pb74dcgb9rf9j0rvy85vznzzm"; depends=[bitops RCurl RJSONIO]; };
-  R4dfp = derive { name="R4dfp"; version="0.2-4"; sha256="02crzjphlq4hi2crh9lh8l0acmc1rgb3wr1x8sn56cwhq4xzqzcb"; depends=[]; };
-  r4ss = derive { name="r4ss"; version="1.22.1"; sha256="1rjnglwa3i8rlzyqqr5h8yh7vglrh8zpd3829qcc1vfi4swcwwqw"; depends=[coda corpcor gplots gtools maps pso RCurl]; };
-  R6 = derive { name="R6"; version="1.0.1"; sha256="0q1ni6g0i3h2l7dj8fip1614likdki8apmrjs7ggma77qfc5jsaf"; depends=[]; };
-  race = derive { name="race"; version="0.1.59"; sha256="13jprlnngribgvyr7fbg9d36i8qf3cax85n71dl71iv0y24al1cy"; depends=[]; };
-  RAD = derive { name="RAD"; version="0.3"; sha256="0nmgsaykxavq2bskq5x0jvsxzsf4w2gqc0z80a59376li4vs9lpj"; depends=[mvtnorm MASS]; };
-  RADami = derive { name="RADami"; version="1.0-3"; sha256="0rg07dsh2rlldajcj0gq5sgsl1i3qa28bsrmq88xcljg5hnr4iqn"; depends=[ape geiger phangorn]; };
-  RadioSonde = derive { name="RadioSonde"; version="1.3"; sha256="1bvy281v278dni7ms4mq963463mwsj1bys9n2lvn6y8p7jhqvhdj"; depends=[]; };
-  RadOnc = derive { name="RadOnc"; version="1.0.8"; sha256="1p74fbihbzfn6irc8khp4kvmsxd7scg3c2nkr7w0p7c75f76d9an"; depends=[rgl geometry oro_dicom ptinpoly]; };
-  rags2ridges = derive { name="rags2ridges"; version="1.3"; sha256="1dzpaxvlrbpj2hw2p2gfhqvrlg5jdpd5z6q0dzxjdxh8z7xjsklb"; depends=[GeneNet expm reshape ggplot2 igraph Hmisc]; };
-  RAHRS = derive { name="RAHRS"; version="1.0.1"; sha256="068alq0mrfgcmpa5gfrrqgixpdadva11s9ammg7p6g9lfrjx6gcc"; depends=[pracma RSpincalc]; };
-  rainbow = derive { name="rainbow"; version="3.2"; sha256="043qbbyb1i7b8n3vspr6rdwlpqg3wdn31rsq3hmlahvwrfqma70n"; depends=[MASS pcaPP hdrcde cluster colorspace ks]; };
-  raincpc = derive { name="raincpc"; version="0.2"; sha256="02551m1rjws8h7shdms5q4rmskqdwijfx7306wp1cl7x0gjc800q"; depends=[SDMTools]; };
-  rainfreq = derive { name="rainfreq"; version="0.1"; sha256="1km77iks570w48xkad5giirw8yphlnnpv5j2fkh1nd9bqarwjxyb"; depends=[RCurl SDMTools]; };
-  rAltmetric = derive { name="rAltmetric"; version="0.3"; sha256="0jq5w5yd1cps4npbm9wmrjb5vc36y89ib986ggqycd9jalmshxjd"; depends=[plyr RCurl reshape2 png ggplot2 RJSONIO]; };
-  Rambo = derive { name="Rambo"; version="1.1"; sha256="1yc04xsfkc54y19g5iwambgnlc49ixjjvfrafsgis2zh5w6rjwv8"; depends=[sna]; };
-  RAMpath = derive { name="RAMpath"; version="0.3.8"; sha256="1p1l6iirb314n5246kyyz0r3ja4v05xb5a6aq9k26wsb5m42x85k"; depends=[lavaan ellipse]; };
-  ramps = derive { name="ramps"; version="0.6-12"; sha256="128lqfkgmcbcfvs210j14h54spqjcr4jdhk2rqgrwcjp5wjv209w"; depends=[coda maps Matrix nlme fields]; };
-  randaes = derive { name="randaes"; version="0.3"; sha256="14803argy0xdd8mpn4v67gbp90qi2is4x6na9zw7i9pm504xji1x"; depends=[]; };
-  random = derive { name="random"; version="0.2.2"; sha256="0h3vmd581i0srf9lfdgjv8kkinxf1kjg8aia0dhr5adghqvf5dck"; depends=[]; };
-  RandomFields = derive { name="RandomFields"; version="3.0.35"; sha256="0m3hv7rmipc36059iv8igy3r783by8zi854c4gm8awzdav3wdv4a"; depends=[sp]; };
-  randomForest = derive { name="randomForest"; version="4.6-10"; sha256="0glj08w6sbabr3n71kzd5w3jb7vhrys8rq904j27a4xk0qp4s5lv"; depends=[]; };
-  randomForestSRC = derive { name="randomForestSRC"; version="1.5.4"; sha256="0bk7xg1lhi2mhqjnmgls4c0jf5d463pzzp1x4wkf0jal3yjgl4y3"; depends=[]; };
-  randomGLM = derive { name="randomGLM"; version="1.02-1"; sha256="031338zxy6vqak8ibl2as0l37pa6qndln0g3i9gi4s6cvbdw3xrv"; depends=[MASS foreach doParallel]; };
-  randomizationInference = derive { name="randomizationInference"; version="1.0.1"; sha256="1l4h9d0r199z775da0la30qijm8xikmbfnl7av7h1ar305ph6r2v"; depends=[permute matrixStats]; };
-  randomizeBE = derive { name="randomizeBE"; version="0.3-1"; sha256="06hj614wp9lb348qwyqgw5zk2vn0m81bkwz4jprgjd72kpy8kv1h"; depends=[]; };
-  randomLCA = derive { name="randomLCA"; version="0.8-7"; sha256="1xs2jh0parvqjm88cs2w2yb8r4ld6643fn84w35v8jsffbs98522"; depends=[lattice nlme boot]; };
-  randomNames = derive { name="randomNames"; version="0.0-6"; sha256="18fyxpqj6xv933nyv4s59wv7pgl4wra123qmf0fa68gk1zj9l153"; depends=[data_table]; };
-  random_polychor_pa = derive { name="random.polychor.pa"; version="1.1.4-1"; sha256="1051v7krrawdqnhz9q01rsknp2i7iv82d370q7m9i9d9i8wfnpk5"; depends=[psych nFactors boot MASS mvtnorm sfsmisc]; };
-  randomSurvivalForest = derive { name="randomSurvivalForest"; version="3.6.4"; sha256="1k08q43rxlz822rqzz3nvy40646764c8ds25ylsvg6daan2qzzmv"; depends=[]; };
-  randomUniformForest = derive { name="randomUniformForest"; version="1.0.6"; sha256="0qmkg8nbz3pv11yvwp45kkl3vl7mn1bgqhp5j13vr9c1gc732pgh"; depends=[Rcpp doParallel foreach ggplot2 pROC gtools]; };
-  randtests = derive { name="randtests"; version="0.3"; sha256="0v5hbbmx7cl1q8bfgk9141hqbimch5fkhcbr9xfxidydxyl9jqln"; depends=[]; };
-  randtoolbox = derive { name="randtoolbox"; version="1.15"; sha256="02knvk0ln6x0hlpbvvpll0dnb5d7s3n6zn5kdxih792y5yihiwbh"; depends=[rngWELL]; };
-  RandVar = derive { name="RandVar"; version="0.9.2"; sha256="04hw4v2d9aa8z9f8wvwbzhbfy8zjl5q8mpl9b91q86fhh1yq5cz4"; depends=[distr distrEx]; };
-  rangeMapper = derive { name="rangeMapper"; version="0.2-6"; sha256="1p4i677s7hc74snsk0vwswxp493ijwynsfmzjkrslzk819ng7zii"; depends=[RSQLite rgdal sp raster maptools RSQLite_extfuns lattice RColorBrewer classInt]; };
-  RankAggreg = derive { name="RankAggreg"; version="0.4-3"; sha256="0m9wndpfgiy9cf2ss1vk7f09yl0qiqhx48kn1qid69vhv73nsyf3"; depends=[gtools clValid]; };
-  Rankcluster = derive { name="Rankcluster"; version="0.92.9"; sha256="172jjsyc6a5y32s2fb8z6lgcq6rcwjbk3xnc5vvkhj64amlyxla6"; depends=[Rcpp]; };
-  rankhazard = derive { name="rankhazard"; version="1.0"; sha256="1kylg8yjrixbv86i2ffhhn8f5shsj8kvi66k202ari0li92y7dsg"; depends=[survival]; };
-  RankResponse = derive { name="RankResponse"; version="3.0.3"; sha256="0bl0w8dzwn73psiln4bkilq1l1bn1jnh4mmvblvb3wnms8srhrpv"; depends=[]; };
-  RANN = derive { name="RANN"; version="2.4.1"; sha256="13d2wi3r4b190f6s6y4zipqf43gy9c1h71b9j7qmc3lqca4nvzmd"; depends=[]; };
-  RAP = derive { name="RAP"; version="1.1"; sha256="18dclijs72p6gxawpg8hk7n512ah4by5jfg2jnrp8mz79ajmdgir"; depends=[]; };
-  RapidPolygonLookup = derive { name="RapidPolygonLookup"; version="0.1"; sha256="0m6r11ksryzcfcm265wr9fhwb867j9ppfhalvvygzig5j85sg92k"; depends=[sp RANN PBSmapping RgoogleMaps]; };
-  RAPIDR = derive { name="RAPIDR"; version="0.1"; sha256="06lhsjy7s71p5bcpln999smvr6n1fp5qfbr7i8wjcn4p1ddcfdcm"; depends=[data_table PropCIs]; };
-  RApiSerialize = derive { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; };
-  RAppArmor = derive { name="RAppArmor"; version="1.0.1"; sha256="06j7ghmzw2rrlk8nsarmpk1ab2gg88qs52zpw37rhqchpyzwwkfb"; depends=[]; };
-  rapport = derive { name="rapport"; version="0.51"; sha256="1qn45nrcawr8d9pkdnpmm37dg31l28gfbnwjl62fs7y691187cqp"; depends=[lattice plyr pander yaml reshape]; };
-  rapportools = derive { name="rapportools"; version="1.0"; sha256="1sgv4sc737i12arh5dc3263kjsz3dzg06qihfmrqyax94mv2d01b"; depends=[reshape plyr pander]; };
-  RArcInfo = derive { name="RArcInfo"; version="0.4-12"; sha256="1j1c27g2gmnxwslff4l0zivi48qxvpshmi7s9wd21cf5id0y4za4"; depends=[RColorBrewer]; };
-  rareGE = derive { name="rareGE"; version="0.1"; sha256="0v3a2wns77q923ilddicqzg0108f8kmfdnsff1n65icin7cfzsny"; depends=[MASS nlme survey]; };
-  rareNMtests = derive { name="rareNMtests"; version="1.0"; sha256="0axmxn4arw2iwsj64zsvy99hwcmkl2jy9vqnbwshl8hpaypbdxz9"; depends=[vegan]; };
-  Rarity = derive { name="Rarity"; version="1.2-1"; sha256="16ds0s396f42qqmn4xrnmfk1j6v917p27dgi9iji976hn2q463hh"; depends=[]; };
-  rARPACK = derive { name="rARPACK"; version="0.5-0"; sha256="0d4kd4fi6rvdamj5kvyba6zm0250ldm7nqrgnmapnc2q0wv0hik8"; depends=[Rcpp Matrix]; };
-  RaschSampler = derive { name="RaschSampler"; version="0.8-6"; sha256="1ap5r8k4ydnsxqz5hvnnp9cbp0mdnx5bn8pn2wh0rp42897mfm4i"; depends=[]; };
-  rasclass = derive { name="rasclass"; version="0.2.1"; sha256="04g2sirxrf16xjmyn4zcci757k7sgvsjbg0qjfr5phbr1rssy9qf"; depends=[car nnet RSNNS e1071 randomForest]; };
-  raster = derive { name="raster"; version="2.2-31"; sha256="0i0a6d8g3qxxlmp897q80lw2k3ccidrfm236l0pd9nwydy0bqpl1"; depends=[sp]; };
-  rasterVis = derive { name="rasterVis"; version="0.28"; sha256="0pq47ldjnihi1mgy5g9ymgvfm5hkpivhcz8qk3kn24cp7j06n0xh"; depends=[raster lattice latticeExtra hexbin sp zoo RColorBrewer]; };
-  rateratio_test = derive { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; };
-  raters = derive { name="raters"; version="1.1"; sha256="0djpax59qvvqklph847wh4m2231y3zrzv2i7maq43pr8pyw9f2md"; depends=[]; };
-  rationalfun = derive { name="rationalfun"; version="0.1-0"; sha256="15949vs9pdjz7426zhgqn7y87xzn79ikrpa2vyjnsid1igpyh0mp"; depends=[polynom]; };
-  RAtmosphere = derive { name="RAtmosphere"; version="1.1"; sha256="0mk43bq28hlrjwaycsxca458k8xf00q58czgc17d8yx3kz17a5i0"; depends=[]; };
-  rattle = derive { name="rattle"; version="3.1.0"; sha256="01kknaxg2is1isl9yjgdqvsilgrv9z4awnnd99bavpwarrb0cvg0"; depends=[]; };
-  rAverage = derive { name="rAverage"; version="0.3-6"; sha256="005gjk8bifvncl1yfazj4bs8l4k2pgygwdyfrkkd4xvcywar0p73"; depends=[foreign]; };
-  rAvis = derive { name="rAvis"; version="0.1.1"; sha256="0iyhc24xm2655wc1dhg8vhd5yr7zx6hywpxczkfs0a7pifckfy4g"; depends=[stringr XML RCurl scrapeR gdata scales rgdal maptools raster sp]; };
-  rawFasta = derive { name="rawFasta"; version="1.0.0"; sha256="0krvs8d1r8hggjg84n7g3ncdkifa3hipbma98f49kf81fzn2npip"; depends=[]; };
-  rbamtools = derive { name="rbamtools"; version="2.9.14"; sha256="0kdbgl7yivhdf6xi2xp9rdvfmpb6d090ja10lj1385qzv3ym0zln"; depends=[]; };
-  rbefdata = derive { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[XML RCurl rjson wordcloud rtematres RColorBrewer]; };
-  rbenchmark = derive { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; };
-  RBerkeley = derive { name="RBerkeley"; version="0.7-4"; sha256="0jslac7d0dyqxpy4lcg1i7kz9hdidnlxhf982lnsl5kx5fl0nmxi"; depends=[]; };
-  rBeta2009 = derive { name="rBeta2009"; version="1.0"; sha256="0ljzxlndn9ba36lh7s3k4biim2qkh2mw9c0kj22a507qbzw1vgnq"; depends=[]; };
-  rbhl = derive { name="rbhl"; version="0.1.0"; sha256="1m2n1qczhhdlv9pkmw9dlqi2wmdw8wac8d557c4rk0vnzwzgpgpi"; depends=[httr XML RJSONIO plyr]; };
-  RbioRXN = derive { name="RbioRXN"; version="1.3.1"; sha256="122h6pghpb8dfrqvdkvp25bp7dl8kc1aka13h6hp88vaj32pf4ij"; depends=[plyr RCurl gdata data_table stringr]; };
-  rbiouml = derive { name="rbiouml"; version="1.4"; sha256="03zpchcwq4sn8cymcrzw6r6fkxh85b8mivy42jkd0knm6i7f9aa6"; depends=[RCurl RJSONIO]; };
-  rbison = derive { name="rbison"; version="0.3.2"; sha256="04j0cq56b46d2nvvdl2sg49ffydbqv0bdzf9ccbh21y9z05s195a"; depends=[plyr httr mapproj ggplot2 gridExtra maptools sp data_table rjson]; };
-  Rbitcoin = derive { name="Rbitcoin"; version="0.9"; sha256="1l9k0pkxsdfm7aay47755zgx6k2b3pwnwxbzn80q5q27s1062pjv"; depends=[data_table RJSONIO RCurl digest]; };
-  rbitcoinchartsapi = derive { name="rbitcoinchartsapi"; version="1.0.4"; sha256="0r272jvjh3rzch8dmn4s0a5n5k6dsir7pr4qswzfvafqjdiwjajz"; depends=[RJSONIO RCurl]; };
-  rbmn = derive { name="rbmn"; version="0.9-2"; sha256="1zy832y399cmfmhpyfh7vfd293fylf1ylmp8w8krkmzkmyfa80f2"; depends=[MASS]; };
-  rbounds = derive { name="rbounds"; version="2.0"; sha256="19xxz5dzzh706pp9391fq4v0g1fsd442x6mqqdvhkm51a9x0ih3p"; depends=[Matching]; };
-  rbugs = derive { name="rbugs"; version="0.5-9"; sha256="1kvn7x931gjpxymrz0bv50k69s1x1x9mv34vkz54sdkmi08rgb3y"; depends=[]; };
-  rbundler = derive { name="rbundler"; version="0.3.7"; sha256="0wmahn59h9vqm6bq1gwnf6mvfkyhqh6xvdc5hraszn1419asy26f"; depends=[devtools]; };
-  RC = derive { name="RC"; version="1.0.2.13"; sha256="0rhbmmihsk09k1nhxkbq0kgxnynl4wfz4lq2jc9cvq8afirxi7wx"; depends=[igraph bitops]; };
-  RCA = derive { name="RCA"; version="1.4.5"; sha256="0s200s28a6gh3dggad52dgqnf0k2jsfrqv1hbg8w2529v4s3dc5i"; depends=[igraph]; };
-  R_cache = derive { name="R.cache"; version="0.10.0"; sha256="0y8q3w9z9cyzsg60x95kkc81ksc2d5vpdaqg5njq5bgjyw7yjqvs"; depends=[R_methodsS3 R_oo R_utils]; };
-  RCALI = derive { name="RCALI"; version="0.2-6"; sha256="01zaks9mdgi9hcwsfvg3dwkihmb5ay5ilgg10fqcz2cssldj9x7x"; depends=[splancs]; };
-  Rcapture = derive { name="Rcapture"; version="1.3-1"; sha256="1k6w5pyml5y2sdfjc1xpl2d5p6d8zj98kwndgir56hyrrrm7nxgx"; depends=[]; };
-  rCarto = derive { name="rCarto"; version="0.8"; sha256="08813l4xfahjyn0jv48q8f6sy402n78dqsg01192pxl2dfc2i9ry"; depends=[RColorBrewer maptools classInt]; };
-  RCassandra = derive { name="RCassandra"; version="0.1-3"; sha256="0xa241s81cyw6lfjb522f2mlyrd0gav9yz3z5jab9hpdpgg9ri38"; depends=[]; };
-  rcdd = derive { name="rcdd"; version="1.1-8"; sha256="09bb92rp44palx9dvc9pb0gdmb1g22289xjk8p9s918lalc6i9aw"; depends=[]; };
-  rcdk = derive { name="rcdk"; version="3.2.3.2"; sha256="0av5g1yhixx4px8xadg0645a31rgzbpfk2gpf8szxjlb16yvb7cs"; depends=[fingerprint rJava rcdklibs png iterators]; };
-  rcdklibs = derive { name="rcdklibs"; version="1.5.4"; sha256="0ffqvyrawr3n7y6yfag3lpqaz4z2v8ng3kr9h4qfmmab317njwwn"; depends=[rJava]; };
-  RCEIM = derive { name="RCEIM"; version="0.1"; sha256="1z9vp5x4zsc2rg6b080aw88p57gg5xl88psmk0dvy30l39wm4qx5"; depends=[]; };
-  Rcell = derive { name="Rcell"; version="1.2-6"; sha256="0wly2wgm7506a9f26jbq2b0v9wlh2wyp086r2vi6bia9j8sxhi0c"; depends=[proto plyr reshape ggplot2 digest]; };
-  Rcgmin = derive { name="Rcgmin"; version="2013-02.20"; sha256="1y6095vapb3r8p9i5hqa14gfpl4q3g2n82nb64429kl6w3mlfk8f"; depends=[numDeriv]; };
-  Rchoice = derive { name="Rchoice"; version="0.1"; sha256="030x42jq6dd25g7isk5m9s0v9rfqkkj7i7286i9as1mpn73nlyz5"; depends=[maxLik Formula sandwich ggplot2 plotrix car lmtest]; };
-  rChoiceDialogs = derive { name="rChoiceDialogs"; version="1.0.4"; sha256="12gzfw0r1ljk81j7hglgsmdm7xwa2n2w2f56sg684l26jyqsaw1z"; depends=[rJava]; };
-  rcicr = derive { name="rcicr"; version="0.2.1"; sha256="0676h5n4r7ymfjq4z0y9rxx842w2byn73335k6wqxxf9sy29lsgc"; depends=[matlab aspace jpeg]; };
-  RCircos = derive { name="RCircos"; version="1.1.2"; sha256="0j7ww2djnhpra13vjr6y772sg64ikdmw1z68lpp9i7d0shlc3qx9"; depends=[]; };
-  RClimMAWGEN = derive { name="RClimMAWGEN"; version="1.1"; sha256="0icy560llfd10mxlq0xmc6lbg6a030za9sygw1rpz8sk5j0lvb84"; depends=[climdex_pcic RMAWGEN]; };
-  rClinicalCodes = derive { name="rClinicalCodes"; version="1.0.1"; sha256="1p4p8r2n0k8h9xdzbngb95rshjp3376f5lsx228biqmswhpkhvlf"; depends=[stringr RCurl XML rjson tm]; };
-  Rclusterpp = derive { name="Rclusterpp"; version="0.2.3"; sha256="02s5gmmmd0l98wd1y884pjl3h289dyd9p9s7dh7yl2zaslqs2094"; depends=[Rcpp RcppEigen]; };
-  rCMA = derive { name="rCMA"; version="1.0.0"; sha256="16d3cdxiaq65lwbvq8wjcp89vrfdp9kwrdl2jy9fynsg0v2lasvp"; depends=[rJava]; };
-  Rcmdr = derive { name="Rcmdr"; version="2.0-4"; sha256="0py5qfr1zk83hgp06xvypz5b9nml5km5xwp2hzy3cf4fd2xjkl3q"; depends=[tcltk2]; };
-  RcmdrMisc = derive { name="RcmdrMisc"; version="1.0-0"; sha256="09798qhx6qcmwpqcmn3fmaww861i5lsbqbmsbq3kx58lmablxs53"; depends=[abind Hmisc MASS e1071 car]; };
-  RcmdrPlugin_BCA = derive { name="RcmdrPlugin.BCA"; version="0.9-7"; sha256="1r4mib6r6qdhkbysxjs7s49j2l1qivlksaixzyz321jwsilpl411"; depends=[BCA car Rcmdr]; };
-  RcmdrPlugin_coin = derive { name="RcmdrPlugin.coin"; version="1.0-21"; sha256="10fapjk74fpknym3pf2c0g25c4sk0pkfkakfy2c5fw9nw4a1j71f"; depends=[Rcmdr coin survival multcomp]; };
-  RcmdrPlugin_depthTools = derive { name="RcmdrPlugin.depthTools"; version="1.3"; sha256="09mjn5jn4rdj1lh515vr3xlnk615flg13kcwbpk0an2si4xkgm9h"; depends=[Rcmdr depthTools]; };
-  RcmdrPlugin_doBy = derive { name="RcmdrPlugin.doBy"; version="0.1-3"; sha256="0nza4y8px90fbhqs9wyjy9302cjavvk72kr1553ljcyh16hjwmmr"; depends=[Rcmdr doBy]; };
-  RcmdrPlugin_DoE = derive { name="RcmdrPlugin.DoE"; version="0.12-2"; sha256="19axgapk8scqi1ky3r3m2dn942z1q6licsaym6ky7a6lygs52k4z"; depends=[DoE_base FrF2 DoE_wrapper relimp Rcmdr]; };
-  RcmdrPlugin_doex = derive { name="RcmdrPlugin.doex"; version="0.2.0"; sha256="0l3c8vwifyl8a7qkfaqxm7cws2cg1g501qa93w5svcgp03yf98mj"; depends=[Rcmdr multcomp]; };
-  RcmdrPlugin_EACSPIR = derive { name="RcmdrPlugin.EACSPIR"; version="0.2-1"; sha256="0fn12acbjh0n402hn9whhhyij3jlwmvlawyfi9myimnb4wyaqgwb"; depends=[R2HTML abind ez nortest reshape Rcmdr]; };
-  RcmdrPlugin_EBM = derive { name="RcmdrPlugin.EBM"; version="1.0-3"; sha256="189q5k7lr9laq4s10hhjnd4mfdrdjqxf7sn2q1gq9nfglcpkwql6"; depends=[Rcmdr epiR abind]; };
-  RcmdrPlugin_epack = derive { name="RcmdrPlugin.epack"; version="1.2.5"; sha256="1577qhac4rldifax5x3l39cddan6dhq2dv4iv2n64nadgrl0259w"; depends=[Rcmdr TeachingDemos tseries abind MASS xts forecast]; };
-  RcmdrPlugin_EZR = derive { name="RcmdrPlugin.EZR"; version="1.24"; sha256="1zcpj1xcbmcyrbsr0gsndm5p6qls57zrkjcidk8y27pyd6gim2zj"; depends=[Rcmdr]; };
-  RcmdrPlugin_HH = derive { name="RcmdrPlugin.HH"; version="1.1-40"; sha256="0i85bbzy46jk8568d7mx1fwq9zk51iq1jjwr2mnik4zh6914f9h5"; depends=[HH lattice latticeExtra rgl Rcmdr multcomp leaps]; };
-  RcmdrPlugin_IPSUR = derive { name="RcmdrPlugin.IPSUR"; version="0.1-8"; sha256="1xgirbwcc2jz16da9fw553phxd2i4ky5jqzspdccj1i7fd4l625m"; depends=[Rcmdr]; };
-  RcmdrPlugin_KMggplot2 = derive { name="RcmdrPlugin.KMggplot2"; version="0.2-0"; sha256="1w4n7r3sp6h87wxhrzg500w90p8dzr43j28p8p1r2y0v0i0v6mk5"; depends=[ggplot2 ggthemes gtable plyr Rcmdr RColorBrewer scales survival tcltk2]; };
-  RcmdrPlugin_lfstat = derive { name="RcmdrPlugin.lfstat"; version="0.7"; sha256="009yj9c5cr34k8qa16q19sp7c5iwv95g9swbm004nr18mfah8x9w"; depends=[lfstat Rcmdr]; };
-  RcmdrPlugin_MA = derive { name="RcmdrPlugin.MA"; version="0.0-1"; sha256="1l4nvwa0gq83ndkc190l7lba76d9gnf52k4p1z5jfpc9p9s6c20k"; depends=[MAd metafor Rcmdr]; };
-  RcmdrPlugin_mosaic = derive { name="RcmdrPlugin.mosaic"; version="1.0-7"; sha256="0k6xaz2dfm9ch9lxqsh19jm8d4bbyjj2ffmjjxl57kanb3pvrrwv"; depends=[ENmisc vcd Hmisc Rcmdr]; };
-  RcmdrPlugin_MPAStats = derive { name="RcmdrPlugin.MPAStats"; version="1.1.5"; sha256="0km6yglhn0128kk1xm2mnrkr2lkv3r9zndhlv7h1dkd16aph3vm3"; depends=[Rcmdr ordinal]; };
-  RcmdrPlugin_NMBU = derive { name="RcmdrPlugin.NMBU"; version="1.7.3"; sha256="07xghjyzpvlgav716fmm3xjk617h84m48qrjpj2nin1hkgbaab31"; depends=[mixlm MASS pls Rcmdr]; };
-  RcmdrPlugin_orloca = derive { name="RcmdrPlugin.orloca"; version="4.1"; sha256="19qj6llr5sfw267dgbn2jvrsisb54qbjhgaiigfzymk6px33wwmg"; depends=[orloca orloca_es Rcmdr]; };
-  RcmdrPlugin_plotByGroup = derive { name="RcmdrPlugin.plotByGroup"; version="0.1-0"; sha256="10wc7lnihsrldsynq2s0syr1aqmvfnj9rhgwh1nkk7jlrwcgj0z6"; depends=[Rcmdr lattice]; };
-  RcmdrPlugin_pointG = derive { name="RcmdrPlugin.pointG"; version="0.6.6"; sha256="0sc3akbpdys353va05b40g3rq8qihw0pmhvv0kckkhsgrbr8mc07"; depends=[Rcmdr RColorBrewer]; };
-  RcmdrPlugin_qual = derive { name="RcmdrPlugin.qual"; version="2.2.6"; sha256="00wznh0k909cd9vwdj1ag3224xkqnwjsad1bfkgxbszsx0w6xvy9"; depends=[Rcmdr]; };
-  RcmdrPlugin_sampling = derive { name="RcmdrPlugin.sampling"; version="1.1"; sha256="0fx0s63wq0si1jydl9xyj9ny7iglg91zpvkyrnc05i5pan9l3xd9"; depends=[lpSolve sampling MASS Rcmdr]; };
-  RcmdrPlugin_SCDA = derive { name="RcmdrPlugin.SCDA"; version="1.0"; sha256="0z43hhp798kga70xmiq4wzp5iad553rndn17g3va3dh6lz1k3y3h"; depends=[SCVA SCRT SCMA Rcmdr]; };
-  RcmdrPlugin_seeg = derive { name="RcmdrPlugin.seeg"; version="1.0"; sha256="105c2rl3mrcv7r3iqa9d2zs6cys7vfpyydylkg2cggfqkghxgr95"; depends=[Rcmdr seeg spatstat sgeostat]; };
-  RcmdrPlugin_SLC = derive { name="RcmdrPlugin.SLC"; version="0.2"; sha256="1nwpzmgfla1y05dxf81w0wmvvmvcq5jn5k8phlq30920ia7ybs8g"; depends=[SLC Rcmdr]; };
-  RcmdrPlugin_SM = derive { name="RcmdrPlugin.SM"; version="0.3.1"; sha256="10sjh2x02kb6yaxbvd9ihc6777j4iv6wi6k42gyl3k7i2c39fyn3"; depends=[Rcmdr car RColorBrewer colorspace vcd]; };
-  RcmdrPlugin_sos = derive { name="RcmdrPlugin.sos"; version="0.3-0"; sha256="1r9jxzmf5ks62b5jbw0pkf388i1lnld6i27xhfzysjqdxcnzdsdz"; depends=[sos Rcmdr tcltk2]; };
-  RcmdrPlugin_StatisticalURV = derive { name="RcmdrPlugin.StatisticalURV"; version="1.0-1"; sha256="04pqqgy12rnhwm8l0752hb9p5h4l11mm7flm6n9kkcvbkvagsbrz"; depends=[agricolae multcomp car Rcmdr]; };
-  RcmdrPlugin_survival = derive { name="RcmdrPlugin.survival"; version="1.0-4"; sha256="03rgr9klf2d1ml8i2avf9lncjr3bfcb4v7mcwg800wwdjzkwqkql"; depends=[survival date Rcmdr]; };
-  RcmdrPlugin_TeachingDemos = derive { name="RcmdrPlugin.TeachingDemos"; version="1.0-7"; sha256="0d473p0df99x9a3jfwb49gxsrcvslcw9yandramwq82cwy3sdcxw"; depends=[rgl TeachingDemos Rcmdr]; };
-  RcmdrPlugin_temis = derive { name="RcmdrPlugin.temis"; version="0.7"; sha256="1h1s2r2vz4sjnw25hvm13laflhlva28shlkg5kq6qk98p802gr19"; depends=[tm NLP slam zoo lattice Rcmdr tcltk2 ca R2HTML RColorBrewer latticeExtra stringi]; };
-  RcmdrPlugin_UCA = derive { name="RcmdrPlugin.UCA"; version="1.0-2"; sha256="11a8jaz5vycq8hnpxzrbv1g8vyh0ic1y48952ah633b2j1m1ay8i"; depends=[Rcmdr]; };
-  Rcolombos = derive { name="Rcolombos"; version="1.5.0"; sha256="139ayyc94m6srbcccw1j8p4by5nxy7s52ahvdq2ag183hk91gjq4"; depends=[httr]; };
-  RColorBrewer = derive { name="RColorBrewer"; version="1.0-5"; sha256="0y4ficfdjzrd7lkcaafjrdqr5r3jiha7rvg76h8m5yak396c9has"; depends=[]; };
-  Rcplex = derive { name="Rcplex"; version="0.3-2"; sha256="1hx9s327af7yawzyq5isvx8n6pvr0481lrfajgh8nihj7g69nmk7"; depends=[slam]; };
-  RCPmod = derive { name="RCPmod"; version="1.4"; sha256="1psn1w8ws0n96jqvd98l0wl0l46w0691c5vm9aarql2pqnc73lw9"; depends=[numDeriv gtools]; };
-  Rcpp = derive { name="Rcpp"; version="0.11.2"; sha256="1b42kmm314xzcjldcqaljsqfxczh8czjzl9afds372vh7asjmjm1"; depends=[]; };
-  Rcpp11 = derive { name="Rcpp11"; version="3.1.1"; sha256="03a28n1nk9xrl055xnnzvla8qdq8k856bj7vim2fyws5kw9b8sbp"; depends=[]; };
-  RcppBDT = derive { name="RcppBDT"; version="0.2.3"; sha256="0gnj4gz754l80df7w3d5qn7a57z9kq494n00wp6f7vr8aqgq8wi1"; depends=[Rcpp]; };
-  rcppbugs = derive { name="rcppbugs"; version="0.1.4.1"; sha256="0wb5mzw1sdrr7lc6izilv60k5v0wcvy8q31a863b63a9jvh16g8d"; depends=[Rcpp]; };
-  RcppClassic = derive { name="RcppClassic"; version="0.9.5"; sha256="193nsplyqd1fb7hwxsk0s7dz6rm6rw7lp04jff08mswcjdkh69g4"; depends=[Rcpp]; };
-  RcppClassicExamples = derive { name="RcppClassicExamples"; version="0.1.1"; sha256="0shs12y3gj5p7gharjik48dqk0fy4k2jx7h22ppvgbs8z85qjrb8"; depends=[Rcpp RcppClassic]; };
-  RcppCNPy = derive { name="RcppCNPy"; version="0.2.3"; sha256="1baz9272vwc44yab7xb6ig0gd2gj8idrhywir2zq77q8bfhqc9gh"; depends=[Rcpp]; };
-  RcppDE = derive { name="RcppDE"; version="0.1.2"; sha256="0ji5csfygqvrcahgx5gxy7dddpykckzw8hmqslsdl7l68wj60qkc"; depends=[Rcpp RcppArmadillo]; };
-  RcppEigen = derive { name="RcppEigen"; version="0.3.2.1.2"; sha256="010a27jby8c61mgw2qb47zkln1v33gj0xcn8lf7sw0kb2mdh58yl"; depends=[Matrix Rcpp]; };
-  RcppExamples = derive { name="RcppExamples"; version="0.1.6"; sha256="1jnqh9nii5nncsah0lrkls8dqqcka9fnbvfg8ikl4cqjri17rpbv"; depends=[Rcpp]; };
-  RcppGSL = derive { name="RcppGSL"; version="0.2.2"; sha256="0f47bs3ll42wxday2bg7w5fnv8a4280yvmzkjzn3b36v8wvm44g8"; depends=[Rcpp]; };
-  RcppMLPACK = derive { name="RcppMLPACK"; version="1.0.9"; sha256="042pznzd9b43k8n57xlbl1k4w6pzn4miv44qv3cf7w5br2rk1ks7"; depends=[Rcpp]; };
-  RcppOctave = derive { name="RcppOctave"; version="0.14.1"; sha256="0fdljr0jdnardcm2qm29ibz16xymal8xac3p4grscipa44vm1w0b"; depends=[Rcpp pkgmaker digest stringr]; };
-  RcppProgress = derive { name="RcppProgress"; version="0.1"; sha256="1gvj51gadljaakm1nxdwgxzh723vv3ypzpzsgacsppxpj4rivxq4"; depends=[Rcpp]; };
-  RcppRedis = derive { name="RcppRedis"; version="0.1.1"; sha256="0q05m4vssvk9xyxskdvpgwm3mhif2xbwggpwkyxdn7frsfz2fpvm"; depends=[Rcpp RApiSerialize]; };
-  RcppRoll = derive { name="RcppRoll"; version="0.1.0"; sha256="0xwm64z7pr2cjmq4kri7zzhy7wvq7aj9lq3xm2g830fn71qvj8x3"; depends=[Rcpp RcppArmadillo]; };
-  RcppSMC = derive { name="RcppSMC"; version="0.1.4"; sha256="1gcqffb6rkw029cpzv7bzsxaq0a5b032zjvriw6yjzyrpi944ip7"; depends=[Rcpp]; };
-  RcppXts = derive { name="RcppXts"; version="0.0.4"; sha256="143rhz97qh8sbr6p2fqzxz4cgigwprbqrizxpkjxyhq8347g8p4i"; depends=[Rcpp xts]; };
-  RcppZiggurat = derive { name="RcppZiggurat"; version="0.1.2"; sha256="05ai6s2j025fvr4znpmsvhxj4x7xyw2wsb9j3c5sv7aw1byfs0bb"; depends=[Rcpp]; };
-  rcqp = derive { name="rcqp"; version="0.3"; sha256="0vxcgchnxdsdamclcshjbkn00ysmfmqp586a36wsyv3zqrd6rg7p"; depends=[plyr]; };
-  Rcsdp = derive { name="Rcsdp"; version="0.1.53"; sha256="0x91hyx6z9f4zd7djxlq7dnznmr9skyzwbbcbjyid9hxbcfyvhcp"; depends=[]; };
-  rCUR = derive { name="rCUR"; version="1.3"; sha256="1f38xbc5n91k2y88cg0sv1z2p4g5vl7v2k1024f42f7526g2p2lx"; depends=[MASS Matrix lattice]; };
-  RCurl = derive { name="RCurl"; version="1.95-4.3"; sha256="1gyjarnxwz3ldpm1vwq9ls6al66rvs7yshzhrl1fv9lbm1qi8yfg"; depends=[bitops]; };
-  Rd2roxygen = derive { name="Rd2roxygen"; version="1.4"; sha256="09dxgp65zac5b9mxbjrvy3ihdwski98xva5afq659b8yfvkviq4g"; depends=[roxygen2 formatR]; };
-  rda = derive { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; };
-  rdatamarket = derive { name="rdatamarket"; version="0.6.4"; sha256="16a1yxvf841505a8gh7jf09fx6ipysymrpvsd4b07xdg5hvbzx25"; depends=[zoo RCurl RJSONIO]; };
-  rdd = derive { name="rdd"; version="0.56"; sha256="1x61ik606mwn46x3qzgq8wk2f6d5qqr95h30bz6hfbjlpcxw3700"; depends=[sandwich lmtest AER Formula]; };
-  rdetools = derive { name="rdetools"; version="1.0"; sha256="0pkl990viv7ifr7ihgdcsww93sk2wlzp2cg931wywagfp8dijd02"; depends=[]; };
-  R_devices = derive { name="R.devices"; version="2.9.2"; sha256="14nr2alx59xm2cagpqrzviw7lxwxdrv9y42wb60230439nh3gpla"; depends=[R_methodsS3 R_oo R_utils base64enc]; };
-  RDIDQ = derive { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; };
-  RDieHarder = derive { name="RDieHarder"; version="0.1.3"; sha256="0wls7b0qfbi6hsq9xdywi4mdhim5b6mrzhvyrm9dxp9z1k7imz6m"; depends=[]; };
-  Rdistance = derive { name="Rdistance"; version="1.1"; sha256="1rgjiks4s5l0vdj4svik9zz6kwwxsh9nj6q2ng7iblny6iqm6kbd"; depends=[]; };
-  rDNA = derive { name="rDNA"; version="1.30.1"; sha256="12h83zirv55sryc1zww97ws8kvsym1z7p7y5d4w43nam8mi3fpcd"; depends=[rJava]; };
-  Rdpack = derive { name="Rdpack"; version="0.4-14"; sha256="19vscr9l63c074n76b6a6jbl956sphjhz0d50yiwp3cvqf28yssf"; depends=[gbRd bibtex]; };
-  rdrobust = derive { name="rdrobust"; version="0.6"; sha256="074lj2nz0rqxdx6cyd5cf3c073b0ra6d3pxpvp5dhx6iqzmpwcdp"; depends=[]; };
-  rdryad = derive { name="rdryad"; version="0.1.1"; sha256="0mqpkmwkznyxj0nn1v389p741dlc66dixcvljsn2rvg0q6p75fkj"; depends=[XML RCurl OAIHarvester ape gdata plyr stringr RJSONIO]; };
-  RDS = derive { name="RDS"; version="0.6"; sha256="14zk511agqckriqjiaargglzsw14mch8q7zh97qd38xg0568mh73"; depends=[ggplot2 gridExtra rgexf igraph scales locfit Hmisc reshape2]; };
-  Rdsm = derive { name="Rdsm"; version="2.0.2"; sha256="1wzfc72zjvqdffkyp19zflab88r9yb3qrd0d96k8453dgmz8aygp"; depends=[bigmemory]; };
-  RDSTK = derive { name="RDSTK"; version="1.1"; sha256="07vfhsyah8vpvgfxfnmp5py1pxf4vvfzy8jk7zp1x2gl6dz2g7hq"; depends=[plyr rjson RCurl]; };
-  rDVR = derive { name="rDVR"; version="0.1.1"; sha256="19a4f9k65bd49vkn3sxkjdmcpwyawk7gwmvancvqr745gfgs0wzg"; depends=[RCurl]; };
-  rdyncall = derive { name="rdyncall"; version="0.7.5"; sha256="0w7dwjswf8dx2w1piyrqr1wixmmlkgzlfwnnxvbiy2mfy1lwd04r"; depends=[]; };
-  ReacTran = derive { name="ReacTran"; version="1.4.1"; sha256="01k3w6iffql198na968dmqgzsqgd1kwrjb34yw7mzppyisjcyv0k"; depends=[rootSolve deSolve shape]; };
-  readbitmap = derive { name="readbitmap"; version="0.1-2"; sha256="11cha65hl5r8h143pnf54mxa0lpqphzi9l0n4bg24bjpdz15cppi"; depends=[bmp jpeg png]; };
-  readBrukerFlexData = derive { name="readBrukerFlexData"; version="1.7"; sha256="0ajahma356aicl0jpwpdynf35yrh74z8zwjhav4h7v57zlvwhh1f"; depends=[]; };
-  reader = derive { name="reader"; version="1.0.1"; sha256="1320kmysri660p54l86n260nrxskpfrwn4zbbwvp7w9fcqa09zyn"; depends=[NCmisc]; };
-  readMLData = derive { name="readMLData"; version="0.9-6"; sha256="15rb8hm60fc30xgxjwxl7v5blzf02s6cb8pk0p26cgn9liiavjhb"; depends=[XML]; };
-  readMzXmlData = derive { name="readMzXmlData"; version="2.7"; sha256="1c4q2ghp7mr1i3547vdq3mhvhqz0y2il5za5milrwb72wpq1cdfi"; depends=[base64enc digest XML]; };
-  readODS = derive { name="readODS"; version="1.4"; sha256="00xcas8y0cq3scgi9vlfkrjalphmd7bsynlzpy7izxa5w9b7x79f"; depends=[XML]; };
-  reams = derive { name="reams"; version="0.1"; sha256="07hqi0y59kv5lg0nl75xy8n48zw03y5m71zx58aiig94bf3yl95c"; depends=[leaps mgcv]; };
-  Rearrangement = derive { name="Rearrangement"; version="1.0"; sha256="0biyg2m0ip2x4fwfw7c1ynidzb5cvdlr0gycx90w319jlz3rxqz0"; depends=[quantreg]; };
-  REBayes = derive { name="REBayes"; version="0.45"; sha256="0r3adc98x84ynqh682ngr7ghf0bzqhqbjay7lq842iny2wqwi6yz"; depends=[Rmosek Matrix SparseM]; };
-  rebird = derive { name="rebird"; version="0.1.1"; sha256="0s8wmp2sghs56ppca57fjfab7wngszmy1g8rd3hiwx6br0sjidcg"; depends=[RJSONIO httr RCurl plyr]; };
-  rebmix = derive { name="rebmix"; version="2.6.1"; sha256="0yh284z0mfa24m27r5sm1qlaagz5vvd83wq7jyc42ahnfm7cm8gv"; depends=[]; };
-  recalls = derive { name="recalls"; version="0.1.0"; sha256="121r2lf32x4yq8zxx6pbnphs7ygn382ns85qxws6jnqzy52q41vh"; depends=[RCurl RJSONIO]; };
-  reccsim = derive { name="reccsim"; version="0.9-1"; sha256="17nsp91xq20vfwjfwav80qjs2wc7gwpmrdnwv7lc61baq0kkcs7k"; depends=[]; };
-  ReCiPa = derive { name="ReCiPa"; version="3.0"; sha256="019vlvgxnqqlwghxygfqggzp2b4x2pqzdrbhaa703zdhm58k0n1g"; depends=[]; };
-  recluster = derive { name="recluster"; version="2.5"; sha256="1hyq3nxbkah9jmly9a7ykzrf72r8yyd5ra5hf6d8fcprg15h8gg2"; depends=[vegan ape picante phangorn phytools cluster]; };
-  recommenderlab = derive { name="recommenderlab"; version="0.1-4"; sha256="0ays9y3l7nj4vcbdraqv627lv0vf3wiqfszcqrh74h8jz9nnx78d"; depends=[Matrix registry arules proxy]; };
-  recommenderlabBX = derive { name="recommenderlabBX"; version="0.1-0"; sha256="0dl79cxarsfp8l4nxnns05jwnjygigjhwpjrr4lzx4nvsfxmgsr2"; depends=[recommenderlab]; };
-  recommenderlabJester = derive { name="recommenderlabJester"; version="0.1-0"; sha256="1m5jg8gs16cwwwcnjzqkyzwyip8fshrwhmqz8g7nlf6g3p9347rl"; depends=[recommenderlab]; };
-  Records = derive { name="Records"; version="1.0"; sha256="08y1g2m6bdrvv4rpkhd5v2lh7vprxy9bcx9ahp1f7p062bn2lwji"; depends=[]; };
-  RECSO = derive { name="RECSO"; version="1.0"; sha256="1ipjfxk58wkrq6a0nqrg9b734xj1qa8xnr44xigbpjrpdqd5j3lm"; depends=[]; };
-  REdaS = derive { name="REdaS"; version="0.9.1"; sha256="0nd0d6cnx43k73cygbw0r6hdxpwkzwrlm4vr60s6hk227am15z68"; depends=[]; };
-  REEMtree = derive { name="REEMtree"; version="0.90.3"; sha256="01sp36p12ky8vgsz6aik80w4abs70idr9sn4627lf94r92wwwsbc"; depends=[nlme rpart]; };
-  ref = derive { name="ref"; version="0.99"; sha256="0f0yz08pqpg57mcm7rh4g0rbvlcvs5fbpjkfrq7fmj850z1ixvw0"; depends=[]; };
-  referenceIntervals = derive { name="referenceIntervals"; version="1.1"; sha256="0lw233rsyii3bjzj262qq85sf3sgj3nq7r8siwfn115amjbi6r6r"; depends=[boot extremevalues car outliers]; };
-  RefFreeEWAS = derive { name="RefFreeEWAS"; version="1.3"; sha256="1cb1q2nki0d18ia4cmi1sp7qih9hv7g1jk1kyp7vya5gp572z3cd"; depends=[isva]; };
-  refGenome = derive { name="refGenome"; version="1.2.0"; sha256="038v9pwh8fra31l14bwb2kyilmc9kqbvb9s1c0d79yxkx6znjc49"; depends=[RSQLite doBy]; };
-  RefManageR = derive { name="RefManageR"; version="0.8.3"; sha256="0ik85hgf1v347kypb7k97nhr0dm2nqz156k9lkf8dcjml3f00sk0"; depends=[XML RCurl RJSONIO plyr bibtex lubridate stringr]; };
-  refund = derive { name="refund"; version="0.1-11"; sha256="1afsxab1jivs4vj6diqh7352v98divna6az1dxsdn7lvw6cmph6y"; depends=[fda lattice boot mgcv MASS glmnet magic nlme wavethresh Matrix gamm4 matrixStats lme4 RLRsim]; };
-  refund_wave = derive { name="refund.wave"; version="0.1"; sha256="1vnhg7gi5r8scwivqjwhrv72sq8asnm4whx3jk39saphdxpk5hxv"; depends=[glmnet wavethresh]; };
-  RegClust = derive { name="RegClust"; version="1.0"; sha256="1d9w74phw4fgafglc18j7dpmln96fvxnf1kdc9zddgj90p8yfx63"; depends=[]; };
-  REGENT = derive { name="REGENT"; version="1.0.5"; sha256="1id1bkrr0q1nwja8y7glb5wsq1hkx6gf1d09vbmfl62hslqblqn8"; depends=[]; };
-  registry = derive { name="registry"; version="0.2"; sha256="1ifv9sql70kylfj12cdb1j1zpk3ix728m8qj46sf1zyc5mhll01s"; depends=[]; };
-  reglogit = derive { name="reglogit"; version="1.2-2"; sha256="0nq60s8l860z6nd52l6c77vamis7hl2j667gkxry0jir2pxsk4jp"; depends=[mvtnorm boot Matrix]; };
-  regpro = derive { name="regpro"; version="0.1.0"; sha256="0d47ffsqx1633pmf3abi7wksyng2g71mz2z9nb2zqdak794l1n44"; depends=[denpro]; };
-  regress = derive { name="regress"; version="1.3-14"; sha256="0qnks28fr8siq95iiiqyvz82cbdg14i18rj7g9rqyjhiam12fshl"; depends=[]; };
-  regRSM = derive { name="regRSM"; version="0.4"; sha256="1rg74jqj8rw69q6my0n4alflx7mgfwng35ff72bxwjhn9ghhj347"; depends=[]; };
-  regsubseq = derive { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; };
-  regtest = derive { name="regtest"; version="0.05"; sha256="1wrrpp2hvkas0yc512gya3pvd0v97pn4v51k5jxkwyd1pp68zd1q"; depends=[]; };
-  rehh = derive { name="rehh"; version="1.11"; sha256="1fvcwi9ijj886aswphblkxzgivmk76gr1m3s6zqblcbybxypm5cg"; depends=[gplots]; };
-  rela = derive { name="rela"; version="4.1"; sha256="00ksm7zh1mpd2d5c5d823id3sxj0h3x0ccg6a40fadibvr1ay3ny"; depends=[]; };
-  relaimpo = derive { name="relaimpo"; version="2.2-2"; sha256="1rxjg2yw2gyshaij98w83cshxwscnq3ql7bg13n7v4nbjsi1l6zh"; depends=[MASS boot survey mitools corpcor]; };
-  relations = derive { name="relations"; version="0.6-3"; sha256="1hw6g297h2az5f97q2rr3f6mb9d681wrgl9p8f2q1z3ww39b5vgw"; depends=[cluster slam sets]; };
-  relax = derive { name="relax"; version="1.3.15"; sha256="0cgvxw3pmy9kx8p81bb5n5nnbn6l9hm07k6hdy7p2j2gl15xxnpq"; depends=[]; };
-  relaxnet = derive { name="relaxnet"; version="0.3-2"; sha256="1l83rk7r4vkcxbfljmibzm8lzpx0vf406hv4h5cy9x0k3rz2bfh0"; depends=[glmnet]; };
-  relaxo = derive { name="relaxo"; version="0.1-2"; sha256="1rzmq7q3j271s6qwwrmwidv0vxcjpgjhyiqgr6fkczkai2lbnd8x"; depends=[lars]; };
-  reldist = derive { name="reldist"; version="1.6-2"; sha256="0f5l74jmk8jxi43jyjxjv9cklk8359drjkjipz7972dm3a7i4rmw"; depends=[]; };
-  relevent = derive { name="relevent"; version="1.0-3"; sha256="054x4kmc0h0s6a4svjqawy52sllzmaca46q6abnr5qhdzzmfh21n"; depends=[trust sna]; };
-  Reliability = derive { name="Reliability"; version="0.0-2"; sha256="12zsicgbjqih3grbs62pw37x8wlkmnyc7g0yz6bqnfb4ym2yb7fg"; depends=[]; };
-  ReliabilityTheory = derive { name="ReliabilityTheory"; version="0.1.4"; sha256="1faab4z3rp0xqc0s0rrkw4kxgyc332xz3sjaz1wd4p6kiydds2hi"; depends=[igraph sfsmisc combinat FRACTION mcmc PhaseType actuar HI]; };
-  reliaR = derive { name="reliaR"; version="0.01"; sha256="000nafjp386nzd0n57hshmjzippiha6s6c4nfrcwl059dzmi088i"; depends=[]; };
-  relimp = derive { name="relimp"; version="1.0-3"; sha256="1isn2ns3qiz985wrg7992dmmqxwdq75a9yhfqnb64xhnzzpcpszq"; depends=[]; };
-  relSim = derive { name="relSim"; version="0.1-47"; sha256="13asl14f3547nl50jwrk72pbm2vx140k27gz3b38j28cpmvi03mz"; depends=[DNAtools]; };
-  relsurv = derive { name="relsurv"; version="2.0-4"; sha256="1da3sj7hks5azm18m23fh8r2g02p0nivgilayndxwwvd1i70ycrx"; depends=[survival date MASS]; };
-  RelValAnalysis = derive { name="RelValAnalysis"; version="1.0"; sha256="1jl1gfj44gfkmc1yp6g5wwn4miydwpvxwrg76rnkv9454zrc5pvp"; depends=[zoo]; };
-  remix = derive { name="remix"; version="2.1"; sha256="0s1gaf7vj08xd4m7lc9qpwvk0mpamabbxk71970mfazx6hk24dr0"; depends=[plyr survival Hmisc ascii]; };
-  rEMM = derive { name="rEMM"; version="1.0-8"; sha256="1d8nwranqfvr9c0g2ny7akawgqk5hjnr1mclk87gmbmwn9iwik34"; depends=[proxy MASS clusterGeneration igraph]; };
-  remMap = derive { name="remMap"; version="0.1-0"; sha256="03jbrnk8nbaj6l8g428il5h6p2sszndd2bl4rvg8347pw7cp4kk1"; depends=[]; };
-  Renext = derive { name="Renext"; version="2.1-0"; sha256="19920kb3qd97vm285zbxqarpq8dyyrx1k6sks990xjbgpy7vyj3y"; depends=[evd numDeriv]; };
-  RenextGUI = derive { name="RenextGUI"; version="1.0-2"; sha256="0ghs8bwb6qdyvhghxvdy51cibylgm7bdbzgqsn1nbxam39yhvfv9"; depends=[gWidgets gWidgetstcltk Renext]; };
-  rentrez = derive { name="rentrez"; version="0.2.4"; sha256="00ixhzwk9s802n4msd63aika2g315cw8kppr0rq02wkch7a2nl3w"; depends=[RCurl XML]; };
-  Reol = derive { name="Reol"; version="1.55"; sha256="0147x3fvafc47zd2chgv3b40k480pcjpji8vm1d741i1p6ml448p"; depends=[XML RCurl ape]; };
-  ReorderCluster = derive { name="ReorderCluster"; version="1.0"; sha256="0ss750frzvj0bm1w7zblmcsjpszhnbffwlkaw31sm003lbx9hy58"; depends=[gplots Rcpp]; };
-  Reot = derive { name="Reot"; version="0.1.0"; sha256="0kpp5mg7dpfas77mw95ryfknjvdx7vwah42dip1kgyy7sxqqhn3h"; depends=[Rcpp raster foreach]; };
-  RepeatedHighDim = derive { name="RepeatedHighDim"; version="2.0.0"; sha256="1n9w4jb25pm0mmsahlfhkp9jmhgp5b21l1g85gm2wbxqkjsg7g0g"; depends=[MASS nlme]; };
-  repfdr = derive { name="repfdr"; version="1.0"; sha256="1rscfbnq739al5pac1y9szjw2g6f9z6qimkvhrkn9xfchjw3jvky"; depends=[locfdr]; };
-  repmis = derive { name="repmis"; version="0.2.9"; sha256="0ivk7sfnjia6xqsk7z0sqjdyhkrr894zpjfgm3l1sqnxam001rm2"; depends=[digest httr plyr R_cache xlsx]; };
-  repolr = derive { name="repolr"; version="2.0"; sha256="10wg07sfxcxzswf3zh5sx2cm9dxjx11zymy82a4q9awnacb5gp9b"; depends=[gee]; };
-  ReporteRs = derive { name="ReporteRs"; version="0.5.5"; sha256="1g6dsdjzzc144z992cp9cd65naj4ll2b616562wlqz9983jzaap4"; depends=[ReporteRsjars rJava base64]; };
-  ReporteRsjars = derive { name="ReporteRsjars"; version="0.0.1"; sha256="0y2kzlyw2yf65jvawrvwwqhwwp0yw3ssx8y4jwkcyqn66b6gzh8j"; depends=[rJava]; };
-  reportr = derive { name="reportr"; version="1.1.2"; sha256="0lxnmay9vgg7dsa3scszx3v4lb6m3bv6kjl0dk7hrl7bd67azdrk"; depends=[]; };
-  reportRx = derive { name="reportRx"; version="1.0"; sha256="0npiflql0lq8sqp6xgydxbw7xdr0zdxj1s2h4bnpmn4clc05r7m4"; depends=[reshape survival xtable aod cmprsk geoR stringr]; };
-  reports = derive { name="reports"; version="0.1.2"; sha256="14w9dlhvk4080sq03ad3dhcww7c213f8ygbnxm7kxcpk36j71yjn"; depends=[knitr knitcitations]; };
-  reporttools = derive { name="reporttools"; version="1.1.1"; sha256="0cnxzq679f860z063j3pbm2c5qcaz45g73khj9rdp3if0cci8ikj"; depends=[xtable]; };
-  REPPlab = derive { name="REPPlab"; version="0.2"; sha256="1d3mb4mi17xlvyw9dgrcad6gfnyk0v1s0safxqyarm4xmh1bppzw"; depends=[rJava lattice]; };
-  represent = derive { name="represent"; version="1.0"; sha256="0jvb40i6r1bh9ysfqwsj7s1g933d7z5fq9d618yjrqr6hbbqsvac"; depends=[]; };
-  REQS = derive { name="REQS"; version="0.8-12"; sha256="049glqhc8h8gf425kmj92jv70917dsigpm37diby0c6hb4jrg8ka"; depends=[gtools]; };
-  resample = derive { name="resample"; version="0.2"; sha256="1p6hyd0wi037bsz0xd9gkw28sp4nkj1zmqs9h0lzkxbspn6h0q7j"; depends=[]; };
-  resemble = derive { name="resemble"; version="1.1.1"; sha256="0mz5mxm6p1drfx2s9dx35m2bnvirr8lkjjh5b4vdk9p2cdv1qkkv"; depends=[RcppArmadillo foreach iterators pls Rcpp]; };
-  reshape = derive { name="reshape"; version="0.8.5"; sha256="08jm9fb02g1fp9vmiqmc0yki6n3rnnp2ph1rk8n9lb5c1s390f4k"; depends=[plyr]; };
-  reshape2 = derive { name="reshape2"; version="1.4"; sha256="0i3bim4clwyfdwwrmszsn9ga5gm4a2sh1i0jmpji3afbxc151yjp"; depends=[plyr stringr Rcpp]; };
-  reshapeGUI = derive { name="reshapeGUI"; version="0.1.0"; sha256="0kb57isws8gw0nlr6v9lg06c8000hqw0fvhfjsjyf8w6zwbbq3zs"; depends=[reshape2 plyr gWidgets gWidgetsRGtk2]; };
-  ResistorArray = derive { name="ResistorArray"; version="1.0-28"; sha256="055zr4rybgrvg3wsgd9vhyjpvzdskrlss68r0g7rnj4yxkix0kxz"; depends=[]; };
-  ResourceSelection = derive { name="ResourceSelection"; version="0.2-4"; sha256="01r1w03paazyix5jjxww89falba1qfiqcznx79a6fmsiv8gm2x5w"; depends=[]; };
-  restlos = derive { name="restlos"; version="0.1-2"; sha256="14nbi8xqjs9plkzamg0ja1mx7klpbnnglk7p2nipz551b0nmzn7i"; depends=[som rgl ade4 geometry nnclust]; };
-  restorepoint = derive { name="restorepoint"; version="0.1.5"; sha256="0xmpxprirnd1yavwk3vkc0cp715d187mn0amppya7kd47iw10wsy"; depends=[]; };
-  retimes = derive { name="retimes"; version="0.1-2"; sha256="019sllyfahlqnqry2gqw4w5cy4cavrqnwpwrbb25cgjpdb19raja"; depends=[]; };
-  reutils = derive { name="reutils"; version="0.1.2"; sha256="0f2c6zxk6x2plq649b1ml6b112j6y8ys074pn30yw35ncg3h86fa"; depends=[assertthat RCurl XML]; };
-  revealedPrefs = derive { name="revealedPrefs"; version="0.1"; sha256="1akinhrvw3rmsxircnj2ymfphsca50j2jda5v4kqcprpigf1i8j1"; depends=[Rcpp]; };
-  review = derive { name="review"; version="2.5"; sha256="0qk4n6g0hp49rjqhpipgja777namdafk6yf4kcxdld1cghdikw31"; depends=[XML Hmisc]; };
-  reweight = derive { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; };
-  rexpokit = derive { name="rexpokit"; version="0.24.1"; sha256="143zi6qb0l8vbx87jf58v1zfxqmvv6x4im1knd6q4dpp9gffqs22"; depends=[SparseM Rcpp]; };
-  Rfacebook = derive { name="Rfacebook"; version="0.4"; sha256="0f5wbd16a7wsw1fpficz6i2vrwyw3n75a1qm4dv5181jr6ik492p"; depends=[httr rjson]; };
-  rFerns = derive { name="rFerns"; version="0.3.3"; sha256="0d0zkqqqv9l71a5bjps1m69mrpqxkzs77zlf6kbg70b053dzhiph"; depends=[]; };
-  RFGLS = derive { name="RFGLS"; version="1.1"; sha256="13ggxj74h5b2hfhjyc50ndxznkvlg18j80m78hkzwh25d3948fsk"; depends=[bdsmatrix Matrix]; };
-  rfigshare = derive { name="rfigshare"; version="0.3.6"; sha256="1n6i5ppn3v93126gvva8sn85v1h4f7hgc43pxja9bwr1ypmzgr45"; depends=[RJSONIO httr httpuv plyr yaml ggplot2 XML]; };
-  R_filesets = derive { name="R.filesets"; version="2.4.0"; sha256="1970x41g7wxspslfijmx021z06s3lfw5wz0mr8h5bk1y8sj0gsvk"; depends=[R_oo R_methodsS3 R_utils R_cache digest]; };
-  RFinanceYJ = derive { name="RFinanceYJ"; version="0.3.1"; sha256="0qhmzsch7c2p0zckjkspsajzh8m10cf75ixjlgd0nj8rm41fngm3"; depends=[XML xts]; };
-  rfishbase = derive { name="rfishbase"; version="0.2-2"; sha256="09pa5zpw9rclf5pqj1wjjhdcblca9sm9xcs9ka3xfa7azj7n9ljd"; depends=[XML RCurl]; };
-  rfisheries = derive { name="rfisheries"; version="0.1"; sha256="1g0h3icj7cikfkh76yff84hil23rfshlnnqmgvnfbhykyr2zmk61"; depends=[httr data_table assertthat ggplot2 rjson]; };
-  Rfit = derive { name="Rfit"; version="0.18"; sha256="06zpk4nyhqcq9py5i8c4zvz02csax39r09ays97w5k24zrnwk0q9"; depends=[quantreg]; };
-  RFLPtools = derive { name="RFLPtools"; version="1.5"; sha256="0j3cdjibmdhg1qsmbpw7zbw9jz6gy662z28849xsr7gppzm08xbw"; depends=[RColorBrewer]; };
-  RfmriVC = derive { name="RfmriVC"; version="1.0.4"; sha256="15bzpwi01gb580wl0flvp7pwqf1sgk6fsdmfq4cqaprb979js79f"; depends=[mvtnorm mgcv Rniftilib]; };
-  RFOC = derive { name="RFOC"; version="3.3-3"; sha256="101d7nf4zjni5kdk54w3afdaqnjzl7y90zygybkqpd0vi82q602b"; depends=[RPMG GEOmap RSEIS MASS splancs]; };
-  RForcecom = derive { name="RForcecom"; version="0.7"; sha256="0rjav2rwanzqgi1yasbm9lj18f0mfxwd8w8x41skf656gfcpi0i4"; depends=[XML RCurl plyr]; };
-  rforensicbatwing = derive { name="rforensicbatwing"; version="1.3"; sha256="0ff4v7px4wm5rd4f4z8s4arh48hgayqjfpnni2997c92wlsq3d12"; depends=[Rcpp]; };
-  rfPermute = derive { name="rfPermute"; version="1.6.1"; sha256="1fpj0wjaxfqcp6z0azkmgqjsysgpm0vgg81pi6w9xs6a5nwa6wd1"; depends=[randomForest ggplot2 gridExtra]; };
-  RFreak = derive { name="RFreak"; version="0.3-0"; sha256="1dmllxb6yjkfkn34f07j2g7w5m63b5d10lh9xsmxyfk23b8l3x0x"; depends=[rJava]; };
-  rgabriel = derive { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; };
-  rgam = derive { name="rgam"; version="0.6.3"; sha256="0mbyyhhyr7ijv2sq9n7g0vaxivngwf4nbb5398xpsh7fxvgw5zdw"; depends=[Rcpp]; };
-  rGammaGamma = derive { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; };
-  rgauges = derive { name="rgauges"; version="0.2.0"; sha256="0p42hh32wcjcchsalpsan52kvz6nd1gw28xnydqgfzkzcqkl22dd"; depends=[ggplot2 lubridate plyr httr reshape2 gridExtra scales data_table]; };
-  rgbif = derive { name="rgbif"; version="0.7.0"; sha256="123kcwpc6n7av5waf225cc98qrdzswf5nq0fb9g9zydfs5d2qn89"; depends=[XML RCurl plyr ggplot2 maps httr maptools rgdal rgeos sp RJSONIO data_table stringr assertthat whisker]; };
-  Rgbp = derive { name="Rgbp"; version="1.0.6"; sha256="1j4j7g9z7p592f82k0yvibrydynkd9v1ldil2vf3ikc650bn2l02"; depends=[sn]; };
-  RGCCA = derive { name="RGCCA"; version="2.0"; sha256="0mcp51z5jkn7yxmspp5cvmmvq0cwh7hj66g7wjmxsi74dwxcinvg"; depends=[MASS]; };
-  rgcvpack = derive { name="rgcvpack"; version="0.1-4"; sha256="1vlvw9slrra18qaizqk2xglzky0i6z3bsan85x908wrg8drss4h5"; depends=[]; };
-  rgdal = derive { name="rgdal"; version="0.8-16"; sha256="17qk7kd0l0l52nyf6drr0gv4b0ibkggyn6g3ky9flsjy05b3wg8j"; depends=[sp]; };
-  RGENERATE = derive { name="RGENERATE"; version="1.1"; sha256="1da3b50cfv5jb63ijzbnr226jadbww2bapcxzx8am7zydm6gqnss"; depends=[RMAWGEN]; };
-  RGenetics = derive { name="RGenetics"; version="0.1"; sha256="0x5sspd67hh08qm62whlnnd838m0np29q3bfzgwp6j85lhil3jrx"; depends=[]; };
-  rgenoud = derive { name="rgenoud"; version="5.7-12"; sha256="17gzkn4laylnksy8h2w8c0whcxpchsx7bwjzk1q5sfqxswclqq0g"; depends=[]; };
-  rgeos = derive { name="rgeos"; version="0.3-6"; sha256="134cppgg5349i5qs9k2161fakd15l1fx1x6mgv28c5vic2xdm4wl"; depends=[sp]; };
-  rgexf = derive { name="rgexf"; version="0.14.3.11"; sha256="16mil1csyzkaywcdrjzz5r60n4xhhinxawg30skc7d9awkf26qfa"; depends=[XML Rook igraph]; };
-  rggobi = derive { name="rggobi"; version="2.1.20"; sha256="1a7l68h3m9cq14k7y96ijgh0iz3d6j4j2anxg50pykz20lnykr9g"; depends=[RGtk2]; };
-  RGIFT = derive { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
-  rgl = derive { name="rgl"; version="0.93.1098"; sha256="1nc4s8a2zihd7vg8mfyfah02mickgyqxscbpd7njzv9xycvr7jv5"; depends=[]; };
-  Rglpk = derive { name="Rglpk"; version="0.6-0"; sha256="0g0s63skabr0yqk5s9p66p77z8v3pr3hbnirbgdddlvkpphi08xx"; depends=[slam]; };
-  Rgnuplot = derive { name="Rgnuplot"; version="1.0.1"; sha256="1yag6ip2ppclhnpfc3mn6bsaylv2lk2k3jr8wgrgzrb7z22p7dk8"; depends=[]; };
-  RgoogleMaps = derive { name="RgoogleMaps"; version="1.2.0.6"; sha256="1kd77617j2dz3dqjskv71vj8xv0yjgcysrpw7a615s0ys2hs91wp"; depends=[png RJSONIO]; };
-  rgp = derive { name="rgp"; version="0.4-1"; sha256="1p5qa46v0sli7ccyp39iysn04yvq80dy2w1hk4c80pfwrxc6n03g"; depends=[emoa]; };
-  rgpui = derive { name="rgpui"; version="0.1-1"; sha256="0hp1z00n6jzi45j61hlp5qj26wpjvbzjz3nvpxvmcjdmkk3vjfyp"; depends=[rgp shiny emoa]; };
-  rgr = derive { name="rgr"; version="1.1.9"; sha256="1fs8f0g1wm6virwjzlgabp1i89n8jpdiwnkvk5w1lggs36xc8q59"; depends=[MASS fastICA]; };
-  RGraphics = derive { name="RGraphics"; version="2.0-9"; sha256="1y0rrhvpn92l8mb0m8ny8ddpwgv6wkd3a10zhbing541f3y754nn"; depends=[lattice ggplot2]; };
-  rgrs = derive { name="rgrs"; version="0.3"; sha256="19whlp3i0jps4pdif03h6z79zliw4shiqh7ackhk2gwq5c28jsql"; depends=[questionr]; };
-  RGtk2 = derive { name="RGtk2"; version="2.20.31"; sha256="1ilnlmsk9fis61pc5bn9sf7z4b7vc7f0a0zcy77kk4bns6iqjvyp"; depends=[]; };
-  RGtk2Extras = derive { name="RGtk2Extras"; version="0.6.1"; sha256="19gjz2bk9dix06wrmlnq02yj1ly8pzhvr0riz9b08vbzlsv9gnk2"; depends=[RGtk2]; };
-  RH2 = derive { name="RH2"; version="0.1-2.12"; sha256="1ig9yxpaza7lm0b20sp7jr024hp284c0zs3k06k3k1vw1dyw60fj"; depends=[chron RJDBC]; };
-  rHealthDataGov = derive { name="rHealthDataGov"; version="1.0.1"; sha256="0lkjprss15yl6n9wgh79r4clip3jndly2ab1lv4iijzxnxay099d"; depends=[bit64 httr jsonlite]; };
-  Rhh = derive { name="Rhh"; version="1.0.2"; sha256="0blxim8yrb0qnbkc1z2q24q6ryakggq2zhaa223swla99ahmsny3"; depends=[]; };
-  RHive = derive { name="RHive"; version="2.0-0.0"; sha256="0r49irdwigxxqniidx7i3j7si8bw7zklw3n4zvhcmzfkvx0al91n"; depends=[rJava]; };
-  RHmm = derive { name="RHmm"; version="2.0.3"; sha256="1mnsqkg419d1z0kyxpjj9md3aammvw0xfrd7dwymii2ql050v47b"; depends=[MASS nlme]; };
-  rhosp = derive { name="rhosp"; version="1.05"; sha256="1d1a4dc8hgvjmfb21s7j19yadbi1a9qp06prd80izbhvj2hni573"; depends=[]; };
-  Rhpc = derive { name="Rhpc"; version="0.14-78"; sha256="136xld0k99nlgmg6p5dcr882f2r11b0bahh57swwcfi9nfqw3zaz"; depends=[]; };
-  RhpcBLASctl = derive { name="RhpcBLASctl"; version="0.14-72"; sha256="0417d8lvwhnfniq41wlcl642z01nv3mhzj9fyb5hlg5vafqpmp8n"; depends=[]; };
-  rHpcc = derive { name="rHpcc"; version="1.0"; sha256="0096z90mmf1j2xpb9034a5ph52m8z6n6xjh3km2vrhw63g3cpwap"; depends=[RCurl XML]; };
-  RHRV = derive { name="RHRV"; version="4.0"; sha256="16xmmmw8gsqalbqf59xwpkd2bkfwxrdx8bwdn875bizx7mn0bql7"; depends=[tkrplot waveslim nonlinearTseries]; };
-  RHT = derive { name="RHT"; version="1.0"; sha256="1gxf8nhj3y92h8al7l3fxa45wc568kb3cykrbdjlsy2zjacf7fcc"; depends=[]; };
-  R_huge = derive { name="R.huge"; version="0.8.0"; sha256="00iiz1q6a5ywsidiwy6lnxjw0ig75ri914dqr7cbfccdf66fb840"; depends=[R_methodsS3 R_oo R_utils]; };
-  ri = derive { name="ri"; version="0.9"; sha256="00y01n9cx95bjhdpnh7vi0xd5p6al3sxbjszbyxafn7m9mygmnhv"; depends=[]; };
-  RI2by2 = derive { name="RI2by2"; version="1.2"; sha256="0387ncq1nhpz8521nwsjybsdpncm56nrwkz68apgihmrbjlmp6m7"; depends=[gtools]; };
-  rich = derive { name="rich"; version="0.3"; sha256="122xb729xlm8gyb7b3glw4sdvrh98wh89528kcbibpx83bp3frc0"; depends=[boot vegan permute]; };
-  ridge = derive { name="ridge"; version="2.1-3"; sha256="0pdmybygf730dw73a5ncl9fw3kjnnpqqkanqxi97aj9n4cfcjn7z"; depends=[]; };
-  RidgeFusion = derive { name="RidgeFusion"; version="1.0-2"; sha256="1izhq9vqj9kca3ddk91f5h8351qr3cnwig9i7d76rhlzawrl7ch9"; depends=[mvtnorm]; };
-  Ridit = derive { name="Ridit"; version="1.1"; sha256="02cni6hzf1bsns7vi8vklnhc0pfb5vwqhjnnfnjnnaxpzpsbvdfn"; depends=[]; };
-  RIFS = derive { name="RIFS"; version="0.1-5"; sha256="0705dhirh7bhy2yf3b1mpk3m7lggg4pwy640lvaspwaxkd6zac5w"; depends=[]; };
-  RIGHT = derive { name="RIGHT"; version="0.1.2"; sha256="047g6gymrfzccnp56pvvk3s2r19p1czm9pjmpdn3fnx13d8lalaz"; depends=[shiny]; };
-  RImageJROI = derive { name="RImageJROI"; version="0.1"; sha256="06x8p8wpzmsc6f2330m74x4dmh21dn0gqicand2l198knahp3kf7"; depends=[spatstat]; };
-  RImpala = derive { name="RImpala"; version="0.1.3"; sha256="108ykv3g17ymglcisawihlns0gzmzhx1xcbfwpa5pni4x9hxw0g9"; depends=[rJava]; };
-  rinat = derive { name="rinat"; version="0.1.4"; sha256="1m5k1wcinm6is3mf86314scgy3xfifz7ly7il5zgqyg9jkkpywbz"; depends=[httr plyr jsonlite ggplot2 maps]; };
-  rindex = derive { name="rindex"; version="0.12"; sha256="1k9zihvrp955c4lh70zjlsssviy2app8w6mv5ln4nawackbz0six"; depends=[regtest]; };
-  ringbuffer = derive { name="ringbuffer"; version="1.1"; sha256="1jj6zdvqlkc30bnxapg0sjl5ci5kq76611smqc4jc8adzhzwrh3f"; depends=[]; };
-  ringscale = derive { name="ringscale"; version="0.1.2"; sha256="1gnnapkvxmkfws8dw41gj9h3svy3h6mi4zv413aykg9vrmy7d3rp"; depends=[FITSio]; };
-  RInside = derive { name="RInside"; version="0.2.11"; sha256="09j4dpv30pp0q3h129ig15xxlp8yzxnk122iica4nv88niabjcaa"; depends=[Rcpp]; };
-  RInSp = derive { name="RInSp"; version="1.0"; sha256="154ibjx5xyibaw8hhdh4hw5rbmwp340bplvz1174n6svg2dpl542"; depends=[]; };
-  rio = derive { name="rio"; version="0.1.2"; sha256="0h80msbj1qcc9m4408qcckw238ydqdzzgr9frlmmc7qi4dyba4i4"; depends=[stringr foreign testthat]; };
-  rioja = derive { name="rioja"; version="0.8-7"; sha256="1164sxwv9wafqmprnkr9sdsd109ss8w2l1j8ir7kq8ya071k3zbl"; depends=[vegan]; };
-  ripa = derive { name="ripa"; version="2.0-2"; sha256="0n1gaga0d4bb9qdlm7gksa1nwi4y28kbgwr3icwqgihf1bfb9m81"; depends=[Rcpp]; };
-  risaac = derive { name="risaac"; version="0.1"; sha256="1ndqxlq4l48iiaghx897bhr7q56csbia7y1a98fic8hzfp03811r"; depends=[]; };
-  riskRegression = derive { name="riskRegression"; version="0.0.8"; sha256="0bjxwj4wrlcqkm1zf25p39h3jwf0f11zspzsk4b41axr3adlvmdw"; depends=[prodlim rms pec rms cmprsk survival]; };
-  risksetROC = derive { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[survival MASS]; };
-  RISmed = derive { name="RISmed"; version="2.1.2"; sha256="1hi22sf6g047m2bq9yh6bwvi1x8bjw12vslfp6iyrim0w2pk96m1"; depends=[]; };
-  Ritc = derive { name="Ritc"; version="1.0.1"; sha256="1h41s4jihzj0yj8xyan0zhhyyiq8m5567vw4gvmmr81p1qfzvva8"; depends=[minpack_lm]; };
-  rite = derive { name="rite"; version="0.3.1"; sha256="0z12jxbmis9l82y0l98gf8hyxfwasj5lpznkmi8kwvvya3jw5ypf"; depends=[tcltk2 RCurl]; };
-  RItools = derive { name="RItools"; version="0.1-12"; sha256="0zdwj5y355d8jnwmjic3djwn6zy7h1iyl58j9hmnmc3m369cir0s"; depends=[lattice SparseM xtable svd abind]; };
-  riv = derive { name="riv"; version="2.0-4"; sha256="1c9k62plqgxcgcm2j1s26hqvgww96n6bfjz2yk7m3p2wf8gkkyam"; depends=[MASS rrcov quantreg]; };
-  riverplot = derive { name="riverplot"; version="0.2"; sha256="160xy3q7a7qfabambhq0h3mrx8wbiv88xvcfzkya3fkq5nac22c5"; depends=[]; };
-  rivervis = derive { name="rivervis"; version="0.39.4"; sha256="1al0ylmpvkxfhkv9i4j6pvrlqn13pdwmzs7s6vazmgmkl3iggav4"; depends=[]; };
-  Rivivc = derive { name="Rivivc"; version="0.9"; sha256="0gl3040pp9nqm4g2ympnx80z64zfnn1hfsxka8ynd2cqhjn3b5i1"; depends=[signal]; };
-  RJaCGH = derive { name="RJaCGH"; version="2.0.2"; sha256="1fy8wsnv7diwg2w7j61scm6vd35a5jb36i9pzh5m7jz6yqsank50"; depends=[]; };
-  rjags = derive { name="rjags"; version="3-13"; sha256="0npfyphi8z25h7w4frplbyjgib1gawz7ib9gz5w6h2i0pricm53r"; depends=[coda]; };
-  rJava = derive { name="rJava"; version="0.9-6"; sha256="008g6s6rcb5lnz5y2a2rs4iq85a4nl522g714s1w1r153qcc0jz0"; depends=[]; };
-  rJavax = derive { name="rJavax"; version="0.3"; sha256="0sv2fjinp4wmdfvcpgm4hv8v3fkiiv84ywqyr4hz86j50ncd79km"; depends=[rJava]; };
-  RJDBC = derive { name="RJDBC"; version="0.2-4"; sha256="14nqz4gx24gcjmnd3hrhvfs5f68c3nqhb6nypv9gvk19dx1jayg0"; depends=[DBI rJava]; };
-  rje = derive { name="rje"; version="1.9"; sha256="1dyd34z6lb0p6zmyax5dpzflgc9a4saka33mvdfcxi5pj0rnygaz"; depends=[]; };
-  Rjms = derive { name="Rjms"; version="0.0.5"; sha256="0bb07wynvk07p8i5x87hlxfavjs5wf5gasfggyjxycr54sphlg6z"; depends=[rJava Rjmsjars rJava Rjmsjars]; };
-  Rjmsjars = derive { name="Rjmsjars"; version="0.0.1"; sha256="0xi42p1wgp7f15j3b74zisf0xrz86kgyn5anq3x5ahyb9cfrnmqx"; depends=[rJava rJava]; };
-  rJPSGCS = derive { name="rJPSGCS"; version="0.2-6"; sha256="1x6mwy6232kjl8ssvkbamhfvxsc3rqbjsrlrprj0bprssm3pcr2g"; depends=[rJava]; };
-  Rjpstatdb = derive { name="Rjpstatdb"; version="0.1"; sha256="0iwgsp3mblp7bsx88wfpqn09y1xrkingfkm3z9jsi2bwrnrjc2iv"; depends=[RCurl XML]; };
-  rjson = derive { name="rjson"; version="0.2.14"; sha256="0mrk2ahgb6pn7aq5lgixrxjkkpjmn4sbkazvg7bbfvyvxps1gm4k"; depends=[]; };
-  RJSONIO = derive { name="RJSONIO"; version="1.3-0"; sha256="1dwgyiy19sixhy6yclqcaaxswbmpq7digyjjxhy1qv0wfsvk94qi"; depends=[]; };
-  RJSONLD = derive { name="RJSONLD"; version="1.0.3"; sha256="17myzigzmn6hd0fbzm7h4n65aiighklrzfr3irg1520aa35s6214"; depends=[RJSONIO formula_tools stringr lmtest]; };
-  rJython = derive { name="rJython"; version="0.0-4"; sha256="13fpcw37cca738v9idqgi3gv9avfkfwfacxj54p2c4wyg46ghnah"; depends=[rJava rjson]; };
-  RKEA = derive { name="RKEA"; version="0.0-4"; sha256="0qkjnyy4b6vzdiapadx9hmw3h4gfgmbi4g5078rr6kq5kmwqlwgh"; depends=[rJava tm]; };
-  rknn = derive { name="rknn"; version="1.2"; sha256="1c92cv3462f00p237fkh06hl66j912ssiav4hpc4jphvs01g30kz"; depends=[gmp]; };
-  Rknots = derive { name="Rknots"; version="1.2.1"; sha256="1qv7l4c3n3zyz2s5whl5chi5yfb1j67kihk1c8gpjl291axmmi8w"; depends=[rgl rSymPy]; };
-  rkt = derive { name="rkt"; version="1.3"; sha256="0d82id22xac84l5iqls0mlg1g9yn4hhkmf4ln7xlp0zinmmhym9m"; depends=[]; };
-  rkvo = derive { name="rkvo"; version="0.1"; sha256="0ci8jqf9nc8hb063nckxdnp0nlyr4ghby356lxm00anw44jlmw8v"; depends=[Rcpp]; };
-  Rlab = derive { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; };
-  Rlabkey = derive { name="Rlabkey"; version="2.1.123"; sha256="0jz8x3n6byxmb10jcrcyznyj3zwab3bkp2g52n707w2jv0xvn8l5"; depends=[RCurl rjson]; };
-  rLakeAnalyzer = derive { name="rLakeAnalyzer"; version="1.4"; sha256="1qs8f4sv044bxrf45wzfj444plkcq3i61353881x8shn13h3awas"; depends=[plyr]; };
-  rlecuyer = derive { name="rlecuyer"; version="0.3-3"; sha256="1n0vny3k5s5152y0ggz9vfn4bqay9ncbdzkw9g4703pszrbwq7xh"; depends=[]; };
-  rLindo = derive { name="rLindo"; version="8.0.1"; sha256="05qyc4wvpjgw8jxmwn2nwybi695fjn0cdilkprwmjg07c82f0q5n"; depends=[]; };
-  rlist = derive { name="rlist"; version="0.3"; sha256="1l9iypqzdj8j6zg9a55xc6l31sp2lznyx17a1jsl6717bbh5bpmg"; depends=[stringdist data_table yaml jsonlite]; };
-  rlme = derive { name="rlme"; version="0.4"; sha256="02683sklihj3726a90jryybf855rvbz9v3dm9z9yhb32q9bfmy34"; depends=[MASS quantreg nlme mgcv stringr magic robustbase Rcpp]; };
-  RLRsim = derive { name="RLRsim"; version="3.0"; sha256="16bqsp15b8ikgix18p63k6sf81d1al4djbb51r08imjs4z9jppg4"; depends=[Rcpp mgcv]; };
-  RM2 = derive { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; };
-  rmaf = derive { name="rmaf"; version="2.0"; sha256="00qhdfzbjvmz83nicl73yhx7w8sv6j7x928j4vd6ll79098x4y84"; depends=[]; };
-  RMallow = derive { name="RMallow"; version="1.0"; sha256="0prd5fc98mlxnwjhscmghw62jhq9rj5jk8qf4fnaa2a718yxf9b5"; depends=[combinat]; };
-  Rmalschains = derive { name="Rmalschains"; version="0.2-2"; sha256="1ki3igj78sk4kk1cvbzrgzjdvw6kbdb7dmqglh6ws2nmr5b6a7fx"; depends=[Rcpp]; };
-  RMark = derive { name="RMark"; version="2.1.8"; sha256="1g8zp1c6wdpi7rr0g4sfzxnvc56svl6qb2i971rvjh03ja3wzvi1"; depends=[snowfall matrixcalc msm coda]; };
-  rmatio = derive { name="rmatio"; version="0.10.0"; sha256="1p1gsv7fj14hynna4a7nnxbchd0i1db03yxah4pcz3sd3a9hqw0f"; depends=[Matrix lattice]; };
-  R_matlab = derive { name="R.matlab"; version="3.0.1"; sha256="0r8427bqr7kwrf1bp3chphpavpbaaq5yj3ad4jc40b75zg9dmi91"; depends=[R_methodsS3 R_oo R_utils]; };
-  RMAWGEN = derive { name="RMAWGEN"; version="1.2.6.1"; sha256="1j8yb37sv2ycg3zgdj6hlxvlrsgvb9rh4yxd40bah2j1xgibr36z"; depends=[chron date vars]; };
-  RMC = derive { name="RMC"; version="0.2"; sha256="1sc4nsjmaw2ajm8bka7r4mf73zxqhnvx23kl4v20pfpy9rhgd0h6"; depends=[]; };
-  RMediation = derive { name="RMediation"; version="1.1.3"; sha256="07ck74dl1wwb88229fhkh2czlynddff7zvjyhisxk53qmdb0wvmw"; depends=[MASS lavaan e1071]; };
-  RMessenger = derive { name="RMessenger"; version="0.1.5"; sha256="1xsfvygf9bbfzbldpkmg399qhfai5s5fmc60xjpkjmxhjqh4vry1"; depends=[Rcpp]; };
-  rmeta = derive { name="rmeta"; version="2.16"; sha256="1s3n185kk0ddv8v6c7mbc7cpj6yg532r7is6pjf9vda7317rxywy"; depends=[]; };
-  rmetasim = derive { name="rmetasim"; version="2.0.4"; sha256="1a3bhiybzdvgqnnyh3d31d6vdsp4mi33sv8ks9b9xd9r369npk86"; depends=[ape ade4 gtools]; };
-  R_methodsS3 = derive { name="R.methodsS3"; version="1.6.1"; sha256="1c3f64bvnpxfb3k2g7z3a6qms36z0n2hflw5w5952c82jx10cl0x"; depends=[]; };
-  rmgarch = derive { name="rmgarch"; version="1.2-8"; sha256="19q35kzyzzs19b4xgslrnl8ihlx1wlmrwfdimnq8racfx0y46lm5"; depends=[rugarch Rsolnp MASS Matrix zoo xts Bessel ff shape pcaPP spd Rcpp]; };
-  rminer = derive { name="rminer"; version="1.3.1"; sha256="0rwjv5i4lr9611lyq55ps2yna7zzarakdnbj83xfs0kva63xn7fh"; depends=[nnet kknn kernlab rpart plotrix lattice]; };
-  Rmisc = derive { name="Rmisc"; version="1.5"; sha256="1ijjhfy3v91fspid77rrkc5dkcb2lav37wc3f4k5lwrn24wzy5y8"; depends=[lattice plyr]; };
-  Rmixmod = derive { name="Rmixmod"; version="2.0.2"; sha256="1qv6zymkgsbplrq4aa87lvcsv75dssj8qqq2h9665v31jsgx84lr"; depends=[Rcpp]; };
-  RmixmodCombi = derive { name="RmixmodCombi"; version="1.0"; sha256="0cwcyclq143938wby0aj265xyib6gbca1br3x09ijliaj3pjgdqi"; depends=[Rmixmod Rcpp]; };
-  rmmseg4j = derive { name="rmmseg4j"; version="0.2-0"; sha256="1icc6a04hbqszzrs7sqp120v44g33rqgz2x926jvxvcishadnd90"; depends=[rJava]; };
-  rmngb = derive { name="rmngb"; version="0.4-1"; sha256="06ky3snnvg3rwz0cwi4j06w8spkl488rizn5ppph7ai5a92ydhx9"; depends=[]; };
-  RMongo = derive { name="RMongo"; version="0.0.25"; sha256="1anybw64bcipwsjc880ywzj0mxkgcj6q0aszdad6zd4zlbm444pc"; depends=[rJava]; };
-  rmongodb = derive { name="rmongodb"; version="1.6.5"; sha256="0y7vj1ci5k19qdh7jznm4izsqj2v6hfjarxq31xdmymajwi171rs"; depends=[jsonlite plyr]; };
-  Rmosek = derive { name="Rmosek"; version="1.2.5.1"; sha256="1ki28357ijwzzxyb820lsf8l5x2i46shar0v71k15hvf9jn0h7zm"; depends=[Matrix]; };
-  rmp = derive { name="rmp"; version="1.0"; sha256="1g0785fwjbwbj82sir3n7sg3idsjzdhrpxc7z88339cv9g4rl7ry"; depends=[]; };
-  Rmpfr = derive { name="Rmpfr"; version="0.5-5"; sha256="1ddyck28wb64gk3w0fph8aqsm021zv3z98jsbcdj0by77jaigmxj"; depends=[gmp]; };
-  Rmpi = derive { name="Rmpi"; version="0.6-5"; sha256="0i9z3c45jyxy86yh3f2nja5miv5dbnipm7fpm751i7qh630acykc"; depends=[]; };
-  RMRAINGEN = derive { name="RMRAINGEN"; version="1.0"; sha256="175kd803a44yblq2jw5mrn2qv4piiy249577lf684bmmajf4ird4"; depends=[copula RGENERATE RMAWGEN blockmatrix Matrix]; };
-  rms = derive { name="rms"; version="4.2-0"; sha256="1kxifrypn6a0v2rbzhn3lch821d5w9qzj9rzvrsgac4fwskis65j"; depends=[Hmisc survival SparseM]; };
-  rms_gof = derive { name="rms.gof"; version="1.0"; sha256="1n0h3nrp11f2x70mfjxpk2f3g4vwjaf4476pjjwy49smxxlxwz82"; depends=[]; };
-  RMTstat = derive { name="RMTstat"; version="0.2"; sha256="1qp4msw8ikv6zr1j1ahxgwka7878v4av6zfqvj4j9w570v8afxvf"; depends=[]; };
-  RMySQL = derive { name="RMySQL"; version="0.9-3"; sha256="1kmsrphzrk7a6f3i0pmpxlpj7w7yb5s2psx72lfv4zyd0aji83n1"; depends=[DBI]; };
-  rnaseqWrapper = derive { name="rnaseqWrapper"; version="1.0-1"; sha256="1fa3hmwrpccf09dlpginl31lcxpj5ypxspa0mlraynlfl5jrivch"; depends=[ecodist gplots gtools]; };
-  RnavGraph = derive { name="RnavGraph"; version="0.1.6"; sha256="15f4az5wcmg1fv1sl34523lwcqpz6dv63z6yvnhx8hdac5ry9biw"; depends=[]; };
-  RnavGraphImageData = derive { name="RnavGraphImageData"; version="0.0.3"; sha256="1mrh0p2ckczw4xr1kfmcf0ri2h2fhp7fmf8sn2h1capmm12i1q8f"; depends=[]; };
-  rnbn = derive { name="rnbn"; version="1.0.0"; sha256="1f3yv8cvrwlnzyk8g5b5sg5pvp6f15mi6bhfff44d0v1m6nwnp01"; depends=[RCurl RJSONIO]; };
-  RNCBI = derive { name="RNCBI"; version="0.9.1"; sha256="1gvaizcm7ajblnxkqxvdalg5kws5kfa8186hw5rr7q3dc51gxm0i"; depends=[rJava XML RNCBIEUtilsLibs RNCBIAxis2Libs]; };
-  RNCBIAxis2Libs = derive { name="RNCBIAxis2Libs"; version="0.9"; sha256="0lrvpka3bj6x6sqbjqwg8wlfgcjqq53ks4b48afqfzvqg9z8jk4d"; depends=[rJava]; };
-  RNCBIEUtilsLibs = derive { name="RNCBIEUtilsLibs"; version="0.9"; sha256="1h1ywx8wxy6n2rbpmjbqw4c0djz29pbncisd0mlbshj1fw226jba"; depends=[rJava]; };
-  RNCEP = derive { name="RNCEP"; version="1.0.6"; sha256="0z8fa7hgd6ss2yzpjn3d1ybqakgn76c7hp3h87ma0k03ilawxi09"; depends=[abind maps fields tgp fossil RColorBrewer]; };
-  RND = derive { name="RND"; version="1.1"; sha256="1rbnjkfrsvm68xp90l4awixbvpid9nxnhg6i6fndpdmqwly2fwdp"; depends=[]; };
-  rneos = derive { name="rneos"; version="0.2-7"; sha256="0vsifj6zfrdij1gjdp1dlh41cckwd04h41q30m7ard4pgyl9n7za"; depends=[RCurl XML]; };
-  RNetCDF = derive { name="RNetCDF"; version="1.6.2-3"; sha256="0drylsg3nnlb060zg7vn3n24f908mhwqf7bbw8ys32chflrdvwl2"; depends=[]; };
-  RNetLogo = derive { name="RNetLogo"; version="1.0-0"; sha256="1378v70bdk69mri6n0770q2qlch1lzi7zr2i7s9vgpnc27hxxjcx"; depends=[rJava]; };
-  RNeXML = derive { name="RNeXML"; version="1.1.3"; sha256="1fcs1fwq66fb04zi2pwgn7xfljp8053s2vb0g4j5vzv0dq7nxy98"; depends=[ape XML plyr taxize reshape2 httr uuid]; };
-  rngtools = derive { name="rngtools"; version="1.2.4"; sha256="1fcgfqrrb48z37xgy8sffx91p9irp39yqzxv7nqp1x2hnwsrh097"; depends=[pkgmaker stringr digest]; };
-  rngWELL = derive { name="rngWELL"; version="0.10-3"; sha256="1wijscc0s6h1ipc1r8h179y94s1bzf409xlpiyr1njaxvvvpwvw1"; depends=[]; };
-  rngwell19937 = derive { name="rngwell19937"; version="0.5-4"; sha256="1c6p0v673n328sdynvv780911yqxk2ayimb93k1f1h3ci915pixy"; depends=[]; };
-  Rniftilib = derive { name="Rniftilib"; version="0.0-32"; sha256="1ck7ddhm759zha1iazg5razchq3gsfq3rzvfb8ichnl5l15z9ry2"; depends=[]; };
-  RNiftyReg = derive { name="RNiftyReg"; version="1.1.2"; sha256="1g74qdx71wzyl0k7liwvl33rzhz7srmn15x55md5gyljxb5rqm6c"; depends=[reportr oro_nifti]; };
-  rnoaa = derive { name="rnoaa"; version="0.2.0"; sha256="1v1yiwzsaqk95yxxla277bfdxs397p99y17yzh8z2m2xz54pn6sh"; depends=[httr lubridate plyr ggplot2 scales sp rgdal rgeos maptools stringr XML data_table assertthat jsonlite]; };
-  rNOMADS = derive { name="rNOMADS"; version="2.0.1"; sha256="1clycf5h7gf2dcs2x4k0nqn2qbhm94a38nwvk7v89zkwzbjiy083"; depends=[scrapeR stringr fields XML GEOmap MBA RCurl]; };
-  ROAuth = derive { name="ROAuth"; version="0.9.3"; sha256="13h0q7dx4xx7fngi3zfm92ws5x4c6cfa2svq7smmci7c0z4kirb2"; depends=[RCurl digest]; };
-  RobAStBase = derive { name="RobAStBase"; version="0.9"; sha256="1428xaplcjq6r0migbaqncfj0iz8hzzfabmabm167p44wa2bwbwh"; depends=[rrcov distr distrEx distrMod RandVar]; };
-  robCompositions = derive { name="robCompositions"; version="1.8.0"; sha256="19j9x14kganramig349n5680r86f9dc83iz1h6n3626bp9da1j33"; depends=[robustbase rrcov car MASS pls]; };
-  robcor = derive { name="robcor"; version="0.1-6"; sha256="1hw8simv93jq8a5y79hblhqz157wr8q9dzgm0xhvvv5nkzyqkpzf"; depends=[]; };
-  robeth = derive { name="robeth"; version="2.7"; sha256="03pnwd3xjb9yv8jfav0s4l9k5pgpampp15ak7z0yvkjs20rvfq3d"; depends=[]; };
-  robfilter = derive { name="robfilter"; version="4.0"; sha256="1mj50531xjncg9lfidxzlyqrzwjm7pdsky88s3syspf70cjq6mg8"; depends=[robustbase MASS lattice]; };
-  RobLox = derive { name="RobLox"; version="0.9"; sha256="1ws6bkzvg1y1cwmls71das0lih6gncx5w3ncd2siznapd4n44p69"; depends=[distrMod RobAStBase lattice RColorBrewer RandVar distr]; };
-  RobLoxBioC = derive { name="RobLoxBioC"; version="0.9"; sha256="0ia7vn8x8whyp8kl7mpwd6fd0yv0y3pb1mppnh2329x7xdvcs5j4"; depends=[RobLox lattice RColorBrewer distr]; };
-  RobPer = derive { name="RobPer"; version="1.1"; sha256="00299p918xkrh8ifgblj98gbkfj5c0qygjh842j715kbqfg7zbfz"; depends=[robustbase quantreg BB rgenoud]; };
-  RobRex = derive { name="RobRex"; version="0.9"; sha256="0ii539mjq462n1lbnyv3whl8b1agvhvlz31wwyz911gb40isl639"; depends=[ROptRegTS]; };
-  RobRSVD = derive { name="RobRSVD"; version="1.0"; sha256="07z5fw8j5lq7nyxgkvb9i4iwb5inddz2ib4m2bjx6q4c1ricpqz9"; depends=[]; };
-  RObsDat = derive { name="RObsDat"; version="14.04"; sha256="06454axywp5264cczhz8k31n7qmg95c2rnxv08frfgzwgm3cfzhr"; depends=[xts zoo DBI vwr e1071]; };
-  robumeta = derive { name="robumeta"; version="1.1"; sha256="1b1pms0jmyfw1hmw2gllhxica4sds427y92by3w99kf3472im3d5"; depends=[]; };
-  robust = derive { name="robust"; version="0.4-16"; sha256="0psai9d6w7yi0wfm57cc7b2jd5i7wbk2xagrhnvhxknw0dwzf2jh"; depends=[fit_models MASS lattice robustbase rrcov]; };
-  RobustAFT = derive { name="RobustAFT"; version="1.2"; sha256="156p5ic91f8qhc2g6zyrbipa58bvwq8xkpbbhnvx9kvrw8k62ibs"; depends=[robustbase survival]; };
-  robustbase = derive { name="robustbase"; version="0.91-1"; sha256="1sf6dx2xjhp8ydxgv9hajjp064plr88ykg7fbglcqbl8apx9pr9h"; depends=[DEoptimR]; };
-  robustfa = derive { name="robustfa"; version="1.0-5"; sha256="04nk5ipml54snsmiqf5sbhx490i46gnhs7yibf4wscrsj1bh2mqy"; depends=[rrcov]; };
-  robustgam = derive { name="robustgam"; version="0.1.7"; sha256="0s1z7jylj757g91najbyi1aiqnssd207jfm9yhias746540qp3kw"; depends=[Rcpp RcppArmadillo mgcv robustbase]; };
-  robustHD = derive { name="robustHD"; version="0.5.0"; sha256="14ql2k5880lbwkv1acydrli6jyh6dls32jjhimbz82zzkzfk2cxr"; depends=[ggplot2 perry robustbase MASS]; };
-  robustlmm = derive { name="robustlmm"; version="1.6"; sha256="18lhbnmcd6nc0qr23a19mhw9k9r30li6z92g600dil6ll8s5m54z"; depends=[lme4 Matrix ggplot2 lattice nlme robustbase xtable]; };
-  robustloggamma = derive { name="robustloggamma"; version="0.4-28"; sha256="0wwa7i2qw0fd5fiy45h7qiw7526zyyxx379ll4ha2n593dwhybx3"; depends=[robustbase]; };
-  RobustRankAggreg = derive { name="RobustRankAggreg"; version="1.1"; sha256="1pslqyr1lji1zvcrwyax4zg2s81p1jnhfldz8mdfhsp5y7v8iar3"; depends=[]; };
-  robustreg = derive { name="robustreg"; version="0.1-3"; sha256="0llnd6yzg0kg3049pcfwjzz4hnd40w06w59kvnh01q47p4c75bkj"; depends=[]; };
-  robustvarComp = derive { name="robustvarComp"; version="0.1-2"; sha256="187mcpih509hx15wjjr7z2h6h76mz2v0d8xgsxjd8wz7l3dnlp2f"; depends=[robustbase GSE numDeriv robust plyr]; };
-  robustX = derive { name="robustX"; version="1.1-4"; sha256="1s2aav2jr22dgrl7xzk09yn9909k76kpiz271w5r1id6hpfprjwc"; depends=[robustbase]; };
-  ROC632 = derive { name="ROC632"; version="0.6"; sha256="0vgv4rclvb79mfj1phs2hmxhwchpc5rj43hvsj6bp7wv8cahfg5g"; depends=[survival penalized survivalROC]; };
-  rocc = derive { name="rocc"; version="1.2"; sha256="00yxbbphhwkg4sj2h7pd9vw86yavl711nk8yylwmjd3qv39qjml0"; depends=[ROCR]; };
-  rockchalk = derive { name="rockchalk"; version="1.8.0"; sha256="17lmvdqk23jrhl8i3ygl7k49p7ckm3j5phvnxrivbnqysbz84pky"; depends=[MASS car]; };
-  RockFab = derive { name="RockFab"; version="1.2"; sha256="1b5mhfll5vmqwl4pblmclyx9604vn07jyza02rm0jcsx915ms8sc"; depends=[rgl]; };
-  rococo = derive { name="rococo"; version="1.1.2"; sha256="08204y3g3xd2srpcpnbkq1laqfr3wrhy73whlxf83gffw8j0iyv8"; depends=[Rcpp]; };
-  ROCR = derive { name="ROCR"; version="1.0-5"; sha256="1zinan5hfvgg24imn0210m2lwqk5jxmmw8gz08l44j988lw8c2iw"; depends=[gplots]; };
-  ROCt = derive { name="ROCt"; version="0.8"; sha256="1k0571gq7igg56qxwf9ibk28v763ji0w9183gs6qp95lpbyp5zwr"; depends=[date survival relsurv]; };
-  ROCwoGS = derive { name="ROCwoGS"; version="1.0"; sha256="029nramxwhzqim315g1vkg1zsszzkic28w6ahwg9n7bk9d08adzk"; depends=[]; };
-  RODBC = derive { name="RODBC"; version="1.3-10"; sha256="0zjvyg522xwd7957vg2gy6hb8bjagn5457250aqh8f1qnpp57c48"; depends=[]; };
-  RODBCext = derive { name="RODBCext"; version="0.2.3"; sha256="0j0774gpnd72mw3x9qv7shiwrk0s5rk8hf0wjq4iy42wwbvql7l6"; depends=[RODBC]; };
-  RODM = derive { name="RODM"; version="1.1"; sha256="0cyi2y3lsw77gqxmawla5jlm4vnhsagh3ykdgb6izxslc4j2fszx"; depends=[RODBC]; };
-  ROI = derive { name="ROI"; version="0.1-0"; sha256="01za8cxjf721m2lxnw352k8g32pglmllk50l7b8yhjwc49k8rl66"; depends=[registry slam]; };
-  ROI_plugin_glpk = derive { name="ROI.plugin.glpk"; version="0.0-2"; sha256="10p3cq59app3xdv8dvqr24m937a36lzd274mdl2a9r4fwny2rssa"; depends=[ROI Rglpk]; };
-  ROI_plugin_quadprog = derive { name="ROI.plugin.quadprog"; version="0.0-2"; sha256="0mkjq87rv1xf0bggpqd2r4gabv11spgcds2y94r3vpmh8krf71jf"; depends=[quadprog ROI slam]; };
-  ROI_plugin_symphony = derive { name="ROI.plugin.symphony"; version="0.0-2"; sha256="1z4cahz0h38jw54p9363ca6i3qq7dwlm3568dr91gvpqf76b05wd"; depends=[ROI Rsymphony slam]; };
-  R_oo = derive { name="R.oo"; version="1.18.0"; sha256="0difa5258i59vb538xp9p1jkzzrbmm8l35gqhpchfxk5dhn2cq9a"; depends=[R_methodsS3]; };
-  Rook = derive { name="Rook"; version="1.0-9"; sha256="013d95f2ddp0yngw7fs267k5lyksffqz61g7ngrx5faddbd6y0ym"; depends=[brew]; };
-  rootSolve = derive { name="rootSolve"; version="1.6.5"; sha256="0xr6krw9f9cjc38894x4c172vhxdpy3sp6f8sc25mwvmjwidcwrn"; depends=[]; };
-  ROptEst = derive { name="ROptEst"; version="0.9"; sha256="0m5czyqcsz42dzrhm3vwfmn046n57cb7x5sqzf2nad1gqgxzxp1d"; depends=[distr distrEx distrMod RandVar RobAStBase]; };
-  ROptEstOld = derive { name="ROptEstOld"; version="0.9.2"; sha256="0blf34xff9pjfy983xm7a27xqkh9173nk64ysas6f0g4h31gh8ax"; depends=[distr distrEx RandVar evd]; };
-  ROptRegTS = derive { name="ROptRegTS"; version="0.9.1"; sha256="1a8pbn63wh2w2n409yzbwvarvhphcn82rdqjh407ch3k3x6jz3r5"; depends=[ROptEstOld RandVar distr distrEx]; };
-  ror = derive { name="ror"; version="1.2"; sha256="0n8mk35rm3rp0c7a3i961kij21a177znh9hkq4snqqlw9vf50hdg"; depends=[rJava ROI ROI_plugin_glpk igraph]; };
-  ROracle = derive { name="ROracle"; version="1.1-11"; sha256="0q0sk5xl96s0d9c8jkd9rng0h03vyg98h7yq8x87r279pp1cp5y0"; depends=[DBI]; };
-  rorutadis = derive { name="rorutadis"; version="0.1.3"; sha256="0ik0dpmsyb4g9wl1fb7mm0dry9s26nfvv1v91cslss82phhf16wd"; depends=[Rglpk ggplot2 gridExtra]; };
-  ROSE = derive { name="ROSE"; version="0.0-3"; sha256="12b9grh3rgaa07blbnxy8nvy5gvpd45m43bfqb3m4k3d0655jpk2"; depends=[]; };
-  rotations = derive { name="rotations"; version="1.2"; sha256="13z5ysjqz3qkiw4nrp9dgy55kbmff5j7m3hfp2h0sj8x1saglf66"; depends=[ggplot2 Rcpp]; };
-  Rothermel = derive { name="Rothermel"; version="1.1"; sha256="1bfmqw2f0dd4dlvd1v8wr2iq5cd0a48cyrakxl1hy5461gkxvxls"; depends=[GA ftsa]; };
-  RoughSets = derive { name="RoughSets"; version="1.1-0"; sha256="0v6cb0xidx2rbkgb92fahrjyy974xiaizxqryzzj1z0nnqb5zadp"; depends=[]; };
-  rowr = derive { name="rowr"; version="1.0"; sha256="0ga955991ycs9sf5za1qrrf9yggnxy1yzh2mw900h124n23pj5rv"; depends=[]; };
-  roxygen = derive { name="roxygen"; version="0.1-3"; sha256="0w2n4p4skwqr0yw49l06fxmncsplfj2q4gapdbc9wpm9w1g267fw"; depends=[digest gsubfn]; };
-  roxygen2 = derive { name="roxygen2"; version="4.0.1"; sha256="116zy31qbsqc0234g1f6n3w40awd4i8255ksyvisgk0nvmwjjs80"; depends=[stringr brew digest Rcpp]; };
-  royston = derive { name="royston"; version="1.0"; sha256="1hhb1v1aqvvlzirxiyhv6zahz82w2pq4d6yp3rcakq0sw7dhawn6"; depends=[nortest moments]; };
-  rpanel = derive { name="rpanel"; version="1.1-3"; sha256="1wm0dcbyvxz4ily8skz2yda44n74x2nmc4pg11ja0yvk038gjfns"; depends=[]; };
-  rpart = derive { name="rpart"; version="4.1-8"; sha256="1vhmwvb7hsh75lvmsjmkab2zl136irca1dhr6p57s1yhmpw4cys0"; depends=[]; };
-  rpartitions = derive { name="rpartitions"; version="0.1"; sha256="1gklsi4pqhk16xp9s49n1lr9ldm1vx61pvphjqsqkzrlxwcpx3j8"; depends=[hash]; };
-  rpart_plot = derive { name="rpart.plot"; version="1.4-4"; sha256="0m7qngc9117yq69jj106svihy6s3f1byqg9qdls0bimj24insyxf"; depends=[rpart]; };
-  rpartScore = derive { name="rpartScore"; version="1.0-1"; sha256="15zamlzbf6avir8zfw88531zg5c0a6sc5r9v5cy9h08ypf34xf4y"; depends=[rpart]; };
-  rpart_utils = derive { name="rpart.utils"; version="0.5"; sha256="00ahvmly6cdf7qhhcic0dbjlljqq8kbhx15rc7vrkd3hzd55c0im"; depends=[rpart]; };
-  RPCLR = derive { name="RPCLR"; version="1.0"; sha256="03kpyszsjb656lfwx2yszv0a9ygxs1x1dla6mpkhcnqw00684fab"; depends=[MASS survival]; };
-  Rpdb = derive { name="Rpdb"; version="2.2"; sha256="0gf6qab05a3ky8skbbjiadizi1gs4pcw3zp25qj5gn82lb6382pd"; depends=[rgl]; };
-  rpf = derive { name="rpf"; version="0.36"; sha256="13b6nakpbr8y4i52m8jmgavmqml99qyca8bs22s178jc72ndqyhq"; depends=[mvtnorm]; };
-  rpg = derive { name="rpg"; version="1.1"; sha256="17wfx0dfixdkw0lqh7xcq115ksj640av2jbqbpvd0l2xnpnk9sag"; depends=[Rcpp uuid RApiSerialize]; };
-  rphast = derive { name="rphast"; version="1.5"; sha256="0r6bk0lbqpv60byhiv847ij5bxrflrs0nsla1zrn8ww7371czsgj"; depends=[]; };
-  Rphylip = derive { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; };
-  rPlant = derive { name="rPlant"; version="2.7"; sha256="0gqxb49d6qzkd533s9qp75byvz66v1csdlnmh3m2zg96aw32178r"; depends=[rjson RCurl seqinr knitcitations]; };
-  rplexos = derive { name="rplexos"; version="0.8"; sha256="0fgb878s68fmhdkgk8v9f3rrb1v1nd1w580vwa5bv0ix9kh7dfqq"; depends=[dplyr RSQLite RSQLite_extfuns Rcpp DBI lubridate plyr reshape2 assertthat]; };
-  rplos = derive { name="rplos"; version="0.4.1"; sha256="1v757v0b09mggdrgfzqmhvmf7yhqm3k42ml8sg8v4j74lscy653l"; depends=[ggplot2 RCurl RJSONIO XML plyr stringr googleVis httr lubridate reshape2 data_table whisker solr assertthat]; };
-  rplotengine = derive { name="rplotengine"; version="1.0-5"; sha256="1wwpfnr5vi8z26alm8y5gply0y4iniagimldzy2z696djzz8p8p8"; depends=[xtable]; };
-  RPMG = derive { name="RPMG"; version="2.1-5"; sha256="1ck6bz72h1kwi7gg8vd0zw1q61pqv23rish84zri2p18z7nd9kvh"; depends=[]; };
-  RPMM = derive { name="RPMM"; version="1.10"; sha256="0xhcf0a28zdxd6x495k9xddirkd37bzs8n99jbmsdxza19a7f0vz"; depends=[cluster]; };
-  Rpoppler = derive { name="Rpoppler"; version="0.0-1"; sha256="01zsbm538yhwm1cyz5j6x2ngz05yqj16yxyvyxqhn6jp8d0885jh"; depends=[]; };
-  rportfolios = derive { name="rportfolios"; version="1.0"; sha256="1zcv5ddmk15l0p03nlffimlhhpcc7l1c05xl2d1xlfk58rkvqns6"; depends=[]; };
-  RPostgreSQL = derive { name="RPostgreSQL"; version="0.4"; sha256="0gpmbpiaiqvjzyl84l2l8v2jnz3h41v8jl99sp1qvvyrjrickra2"; depends=[DBI]; };
-  RPPanalyzer = derive { name="RPPanalyzer"; version="1.3"; sha256="1jrij862nhwd1va54pis8shbcprjjzz22hlivzh3ifrkdf6rz4pg"; depends=[quantreg lattice gam gplots ggplot2 Hmisc]; };
-  rPref = derive { name="rPref"; version="0.1"; sha256="1mgal96qq907xj3nmzm00c9l1b1382i4p594c70wj690c4dknffp"; depends=[Rcpp dplyr igraph]; };
-  rprintf = derive { name="rprintf"; version="0.1-1"; sha256="0zdzxb3psdy51fy492rr4wnv1cw0qhyw1525aaz0lwbids1cxvwf"; depends=[stringr]; };
-  RProtoBuf = derive { name="RProtoBuf"; version="0.4.1"; sha256="1992nz0dz4h802gakcri1c9dgacxc5nvg3h5lm2zv6yg748ha6nh"; depends=[Rcpp RCurl]; };
-  rpsychi = derive { name="rpsychi"; version="0.8"; sha256="1h40kbqvvwwjkz5hrclj6j22zhav3yyfbbhqahs1whwjkksnam4w"; depends=[gtools]; };
-  rpubchem = derive { name="rpubchem"; version="1.5.0.2"; sha256="0lvi7m8jb2izsfia3c0qigsd1k1x9r02gymlwfg29pb8k10lwcjf"; depends=[XML car RCurl RJSONIO]; };
-  RPublica = derive { name="RPublica"; version="0.1.1"; sha256="0m0wib0nijya228jmcl98l2hsx8l28dg6lvpwmx67jyhpvpplpkl"; depends=[XML RJSONIO RCurl]; };
-  rpud = derive { name="rpud"; version="0.0.2"; sha256="03xddc6kh39wlcv8dvpnv4h0f5qx5cv327xip26zk7gg7pgrn05x"; depends=[]; };
-  RPushbullet = derive { name="RPushbullet"; version="0.0.2"; sha256="1234p26zrlvsniwaibj4795ds7j30aqkljlq9l06ivnz00rm8a5s"; depends=[RJSONIO]; };
-  rPython = derive { name="rPython"; version="0.0-5"; sha256="0d608v1x8walwnx7aa3m0n7999jlbiymhl7605z4n7ps6l1140mv"; depends=[RJSONIO]; };
-  RQDA = derive { name="RQDA"; version="0.2-6"; sha256="0d3jqr8bhphyi1ch9x5y0s14z86n9zspn748m9xxa15nhnyfmx3l"; depends=[RSQLite gWidgetsRGtk2 RGtk2 DBI igraph gWidgets]; };
-  Rquake = derive { name="Rquake"; version="2.2"; sha256="0gkarqqhmiakc968ffwywkwy7npm1ly5gd6bbhr8fjfwdnhjam5n"; depends=[RPMG RSEIS GEOmap MBA minpack_lm rgl]; };
-  RQuantLib = derive { name="RQuantLib"; version="0.3.12"; sha256="1ih7lkpa3p0ipgc8hs9miv500rk285ddc7pmn2qv03ibpsdlvjmq"; depends=[Rcpp]; };
-  Rramas = derive { name="Rramas"; version="0.1-4"; sha256="191rm2ylvf3ffc9i4wpjvfbsinmw7s1m0wcq24j4qs4fxg8qqzyq"; depends=[diagram]; };
-  rrBLUP = derive { name="rrBLUP"; version="4.3"; sha256="0wydh4sx7b6rcrgb3qvqh0z46pixx63711q2nf8s3c32090a5g81"; depends=[]; };
-  rrBlupMethod6 = derive { name="rrBlupMethod6"; version="1.3"; sha256="1qwv954mhry46ff2ax48xcmnasygi5alv8d413g3qbk2da6i0d8l"; depends=[]; };
-  rrcov = derive { name="rrcov"; version="1.3-4"; sha256="0k2lqwsfb9ir053m4dbz8z57xq6mlfj63i1k64p1h5jdzbpyw1ks"; depends=[robustbase pcaPP mvtnorm]; };
-  rrcovHD = derive { name="rrcovHD"; version="0.2-2"; sha256="03b1mpqqhfjxjzz9agx575mcgalb7jrsv843zjqv9jp4wszprs6z"; depends=[rrcov robustbase pcaPP pls spls]; };
-  rrcovNA = derive { name="rrcovNA"; version="0.4-4"; sha256="0zrzgnl83wfsaz0rma07hgb5jlmhvqwv06q7zkm65xd6mfsalqv0"; depends=[rrcov robustbase norm]; };
-  rrdf = derive { name="rrdf"; version="2.0.2"; sha256="1m1dfxi720c0xyj1x41zc4vc3dhxs9flysm4xri8b7cibx44piyk"; depends=[rJava rrdflibs]; };
-  rrdflibs = derive { name="rrdflibs"; version="1.3.0"; sha256="1qhi0diwvlw5icbym0nlg2yy8gibajycw55szsiipdxkjxj5r85l"; depends=[rJava]; };
-  Rrdrand = derive { name="Rrdrand"; version="0.1-9"; sha256="11j3zi27469nckh1irrhkm3386yagfqny7s6rh5gb7y0988194yy"; depends=[]; };
-  rredis = derive { name="rredis"; version="1.6.8"; sha256="01kksak1hdlcc2q32rzs8i45flxb7shzyq785yr0kanr54pd874z"; depends=[]; };
-  RRF = derive { name="RRF"; version="1.6"; sha256="1gp224mracrz53vnxwfvd7bln18v8x7w130wslhfgcdl0n4f2d28"; depends=[]; };
-  rriskDistributions = derive { name="rriskDistributions"; version="2.0"; sha256="0278426m4v7b8qb9ydzxqncayq8z25b36n4livqg40zpazp3hy85"; depends=[mc2d eha msm tkrplot]; };
-  rrlda = derive { name="rrlda"; version="1.1"; sha256="06n9jah190cz25n93jlb5zb0xrx91bjvxgswwdx9hdf0fmwrpkvz"; depends=[pcaPP mvoutlier glasso matrixcalc]; };
-  R_rsp = derive { name="R.rsp"; version="0.19.0"; sha256="0qh9nd6zpiw4c86qlwys8g7rqvay20m1yfp2zrvah5bz51hixbd1"; depends=[R_methodsS3 R_oo R_utils R_cache]; };
-  rrules = derive { name="rrules"; version="0.1-0"; sha256="0f9msp289akzricjrm8dvfbh2dihfbszr7ms4fld1cr30zssajin"; depends=[]; };
-  RSA = derive { name="RSA"; version="0.9.3"; sha256="132fqsr6zzv0q5maxgdh8amg6g0if3wdbhml0p0r668yy1wiq5l8"; depends=[lavaan ggplot2 lattice gridExtra plyr RColorBrewer]; };
-  RSADBE = derive { name="RSADBE"; version="1.0"; sha256="1nzpm88rrzavk0n8iflsx8r3s1xcry15n80zqdw6jijjycz10w1q"; depends=[]; };
-  rsae = derive { name="rsae"; version="0.1-5"; sha256="1f3ry3jwa6vg2vq2npx2pzzvfwadz8m48hjrqjk860nfjrymwgx5"; depends=[]; };
-  RSAGA = derive { name="RSAGA"; version="0.93-6"; sha256="0wqiww0rx5fz4rbsb1x6pr2q0wz5dacj5fc0asj70igxwmh5x0p8"; depends=[gstat shapefiles plyr]; };
-  RSAP = derive { name="RSAP"; version="0.9"; sha256="1sxirfabhpmfm0yiiazc9h1db70hqwva2is1dql6sjfanpl8qanl"; depends=[yaml reshape]; };
-  rSCA = derive { name="rSCA"; version="2.1"; sha256="1lpix8xsjzyhgksmigvqxpv2bvaka0b1q2kcvdyfrfcw713n19rw"; depends=[]; };
-  RSclient = derive { name="RSclient"; version="0.7-2"; sha256="04ml4pynjl97295wrclvb61mpwacrkzc9x5pbwyfg1qr3l8hss93"; depends=[]; };
-  rscproxy = derive { name="rscproxy"; version="2.0-5"; sha256="1bjdv7drlnffcnyc0j8r22j7v60k1xj58bw8nk9l8wvnmngrjz86"; depends=[]; };
-  RSDA = derive { name="RSDA"; version="1.2"; sha256="06sa3x0abm2gnf4i4y3d5mlqj1wl7mzzal27sa1x65awzi6rs2kz"; depends=[sqldf XML scales FactoMineR ggplot2 glmnet abind scatterplot3d]; };
-  rsdepth = derive { name="rsdepth"; version="0.1-5"; sha256="064jbb6gnx0sm41w3sbi6mvsbzsfkjqfici6frk8sfm9ybvm591j"; depends=[]; };
-  RSeed = derive { name="RSeed"; version="0.1.31"; sha256="0wljchzkp8800v9zcgjapkbildkb3p2xnkh1m6m7q6qqc9aw8mws"; depends=[sybil]; };
-  rseedcalc = derive { name="rseedcalc"; version="1.2"; sha256="1di9bzwxyxm9gs14ks9z6sixi656hz9xwmq3aaqh53cjjr1ka0rc"; depends=[]; };
-  RSEIS = derive { name="RSEIS"; version="3.3-3"; sha256="13fb4mx3sgnbrcn1kkxy0a490kikjrq49ii3x14xw2s8ci030wlr"; depends=[RPMG Rwave]; };
-  RSelenium = derive { name="RSelenium"; version="1.3.1"; sha256="0cp48ga35v82y34r362ghkargkhr0nqfn0p15yifmfmd65l9j5q5"; depends=[RCurl RJSONIO caTools XML]; };
-  rsem = derive { name="rsem"; version="0.4.5"; sha256="02vccj03bxisi2jwl31rwi4gw9i26g70aagdgg5gk8z0bys78v4d"; depends=[MASS lavaan]; };
-  Rserve = derive { name="Rserve"; version="1.7-3"; sha256="09rha4p86vak7ss721mwp5bm5ig09xam8zlqv63n9wf36v3kdmpn"; depends=[]; };
-  rSFA = derive { name="rSFA"; version="1.03"; sha256="0bgapvlx5n0984ryyh1is0w88lhxj49gcar8gkwiw455jbzx7isp"; depends=[MASS]; };
-  rsgcc = derive { name="rsgcc"; version="1.0.6"; sha256="12f8xsg6abmhdgkrrc8sfzmv4i1pycq1g0jfad664d17yciw7rhh"; depends=[biwt cairoDevice fBasics gplots gWidgets gWidgetsRGtk2 minerva parmigene stringr snowfall]; };
-  RSGHB = derive { name="RSGHB"; version="1.0.2"; sha256="0ffdx9lscbgknfqhvjdh3rwnlhiqxbpqa55jkn111a1vfv726v3d"; depends=[]; };
-  RSiena = derive { name="RSiena"; version="1.1-232"; sha256="0qp3bqq5p19bg47m37s2dw8m4q91hnkc2zxwhsgb076q0xvvv9xq"; depends=[Matrix]; };
-  rsig = derive { name="rsig"; version="1.0"; sha256="129k78i8kc30bzlphdb68vv3sw2k6xyiwrhw08vhzz6mf3jxlqsh"; depends=[survival BBmisc glmnet superpc Matrix]; };
-  RsimMosaic = derive { name="RsimMosaic"; version="1.0.1"; sha256="10xlmzsrc4m6lsinrvl4kw0zdrqmidqi2a9s87sx1rfilvzv0ri4"; depends=[jpeg fields RANN]; };
-  RSiteCatalyst = derive { name="RSiteCatalyst"; version="1.3.3"; sha256="0z6yg403qg2b18261s3v406ji18wpsjmd7i8v7ilr94pwgx0xhcl"; depends=[digest httr rjson plyr stringr base64enc]; };
-  RSKC = derive { name="RSKC"; version="2.4.1"; sha256="1dvzxf001a9dg71l4bh8z3aia7mymqy800268qf7qzy9n6552g59"; depends=[flexclust]; };
-  rsm = derive { name="rsm"; version="2.06"; sha256="0pjkqdhzmnzfc400z5xpdb17v6qckpnx2qpia2hm51m7xjfhks5b"; depends=[]; };
-  RSNNS = derive { name="RSNNS"; version="0.4-5"; sha256="1wk91vjgf7q65n9q8hciv08bgzawpljnhaqgy9qdwpr82v8959i7"; depends=[Rcpp]; };
-  rsnps = derive { name="rsnps"; version="0.1.0"; sha256="1wpbr2sjcw6hh9sq8h2jzgvc4xlygf0kcd91sqg89nmprfw73j6c"; depends=[plyr stringr httr RCurl XML]; };
-  RSNPset = derive { name="RSNPset"; version="0.2"; sha256="0ivym4ysadvlfr9k4ikpw2diil9xd3hqx6xj8jcz482d3h8qcgq6"; depends=[fastmatch foreach doRNG Rcpp]; };
-  RSocrata = derive { name="RSocrata"; version="1.5"; sha256="0hbazn4c3bmx9kc030l19ciz9m0r5p6760ggyxl8f7sh8g3bqw32"; depends=[httr jsonlite]; };
-  RSofia = derive { name="RSofia"; version="1.1"; sha256="0q931y9rcf6slb0s2lsxhgqrzy4yqwh8hb1124nxg0bjbxvjbihn"; depends=[Rcpp]; };
-  Rsolnp = derive { name="Rsolnp"; version="1.14"; sha256="0i5d8133vg0939j5772nbw1wd4cyp6q4684iqnl12qkk30hnh94s"; depends=[truncnorm]; };
-  Rsomoclu = derive { name="Rsomoclu"; version="1.3.1"; sha256="106cbp8vm5sx8h6k0ddlp51r65jl0d6c0bz29vp8z4adx8ikacsm"; depends=[Rcpp]; };
-  rspa = derive { name="rspa"; version="0.1-5"; sha256="18p2q2q372vbf90dfilcah07w1ivb34mv7rm5882z2s1jlixa5dk"; depends=[editrules]; };
-  rspear = derive { name="rspear"; version="0.1-2"; sha256="1rjg84plnvlcp3p2929f1afl43lb92d3bfsvlhsaw92z7iva1vad"; depends=[plyr]; };
-  RSpincalc = derive { name="RSpincalc"; version="1.0.1"; sha256="0n751l329j9pgpdnqrdnf93i9l1qxfp2bl4v4ray3nrnjx8g5mc9"; depends=[]; };
-  rsprng = derive { name="rsprng"; version="1.0"; sha256="1sfjwfm03pn73mcq4f2chsldjlhmpjxhqkpmaqf71jbmb7ph41ip"; depends=[]; };
-  RSQLite = derive { name="RSQLite"; version="0.11.4"; sha256="0300q901bc0zypvapq8kp0ixpm4vbg5a27bkg9k0s4m3l7rcp85v"; depends=[DBI DBI]; };
-  RSQLite_extfuns = derive { name="RSQLite.extfuns"; version="0.0.1"; sha256="03ixy1q5dv4fnp4m1h75c7rvgfgfyxk5hgzd7fl7pqa1q13pjp6a"; depends=[RSQLite]; };
-  Rssa = derive { name="Rssa"; version="0.11"; sha256="06mg1fdviayvhc50p9l5imh431b7cb3f3x3pl513phwhsv0qc0lk"; depends=[svd forecast lattice]; };
-  rstiefel = derive { name="rstiefel"; version="0.9"; sha256="1l80bx07swalh5dbx34zwjza3xf3nk1kp1832v6hzk60i5xycdxd"; depends=[]; };
-  RStorm = derive { name="RStorm"; version="0.902"; sha256="1apk358jwzg5hkrcq8h39rax1prgz9bhkz9z51glmci88qrw1frv"; depends=[plyr]; };
-  rstream = derive { name="rstream"; version="1.3.2"; sha256="1habswhdlx7l92s9p9554px4kf9f9mhk5vkdq2fv4wk3381c0fgi"; depends=[]; };
-  rstudioapi = derive { name="rstudioapi"; version="0.1"; sha256="027482pbdxnfhcpdw2ns2qhpa18zri71nz8fk0svq6900m2237h8"; depends=[]; };
-  rsubgroup = derive { name="rsubgroup"; version="0.5"; sha256="1hrsp920gv0fr7s3w07vxish6wk3wnhd1rj04zvndd563fxvnl0l"; depends=[rJava foreign]; };
-  Rsundials = derive { name="Rsundials"; version="1.6"; sha256="0vrvxsznbclgls4jljc59lyli6cw9k1a3wapfrs6xbkqi8865iif"; depends=[]; };
-  RSurvey = derive { name="RSurvey"; version="0.8-0"; sha256="1kc07hvvpyk83ci0x6g0lmnxksd91y2ilfalbhlbp69jid111k1v"; depends=[sp rgeos MBA]; };
-  RSvgDevice = derive { name="RSvgDevice"; version="0.6.4.4"; sha256="0vplac5jzg6bmvbpmj4nhiiimsr9jlbk8mzyifnnndk9iyf2lcmz"; depends=[]; };
-  RSVGTipsDevice = derive { name="RSVGTipsDevice"; version="1.0-4"; sha256="1ybk5q4dhskrh7h1sy86ilchdwi6rivy3vv3lph6pms2virgm854"; depends=[]; };
-  Rsymphony = derive { name="Rsymphony"; version="0.1-17"; sha256="1wg1l4535xmrqvyhf23b9kw3ggqxlcrig0x0dnhx0m2qr9v3ijni"; depends=[]; };
-  rSymPy = derive { name="rSymPy"; version="0.2-1.1"; sha256="1mrfpyalrq8b6yicy28jsj0xy7hlawa72imsfhabwd3hrx6ld150"; depends=[rJython]; };
-  rtape = derive { name="rtape"; version="2.2"; sha256="0q7rs7pc1k1kayr734lvh367j5qig2nnq5mgak1wbpimhl7z3wm7"; depends=[]; };
-  RTConnect = derive { name="RTConnect"; version="0.1.4"; sha256="1000jmmqzyhl6vh1ii75jdh88s9inaz52gvfwcin2k2zr7bi91ba"; depends=[]; };
-  RTDE = derive { name="RTDE"; version="0.1-0"; sha256="00hh1axipp2blrhjwl9mc4fkqv3l132gxlhi9hdy52w20yhwigin"; depends=[]; };
-  rtematres = derive { name="rtematres"; version="0.2"; sha256="1d0vrprvnlk4hl2dbc6px9xn9kx9d1qvlqxd798hzda6qg5wwvf2"; depends=[XML RCurl plyr gdata]; };
-  rTensor = derive { name="rTensor"; version="1.1"; sha256="0350cpafvdrjz5ibgk6bfw8j0kc3vr8vw84hw8jlbi96ia7p6w00"; depends=[]; };
-  RTextTools = derive { name="RTextTools"; version="1.4.2"; sha256="1j3zfywq8xgax51mbizxz704i3ys4vzp8hyi5kkjzq6g2lw7ywq2"; depends=[SparseM randomForest tree nnet tm e1071 ipred caTools maxent glmnet tau]; };
-  RTextureMetrics = derive { name="RTextureMetrics"; version="1.1"; sha256="0d0mvpmcpd62cvqlajrqp32lnvpflyf9bqvdzly2v8v1kb8274fc"; depends=[]; };
-  rtf = derive { name="rtf"; version="0.4-11"; sha256="04z0s5l9qjlbqahmqdaqv7mkqavsz4yz25swahh99xfwp9plknfl"; depends=[R_oo R_methodsS3]; };
-  rtfbs = derive { name="rtfbs"; version="0.3.2"; sha256="1v26znlispc8304xid0dsflphiwzil6nrxlsgj8dkp4prh6hdb34"; depends=[rphast]; };
-  rtiff = derive { name="rtiff"; version="1.4.4"; sha256="13cz35dfz735yk2lci8cmjmsg4ddm31lv98lpx8ymy3bwmzdmc3c"; depends=[pixmap]; };
-  RTOMO = derive { name="RTOMO"; version="1.1-2"; sha256="15swp7jx5xmj87hjcfdar3r5sqnnb795qclf8b7l4bvx80h9nh2i"; depends=[RPMG GEOmap RSEIS splancs]; };
-  rtop = derive { name="rtop"; version="0.3-45"; sha256="0dh7jlnakk1hd27swspa0fj6pq6yddxhz32w3d7xq8jgr7xm8d70"; depends=[sp gstat]; };
-  RTriangle = derive { name="RTriangle"; version="1.6-0.6"; sha256="1g4dp792awbvsl35nvyd8gkx99p2njdcafin16qysfrjl43f5i4s"; depends=[]; };
-  rts = derive { name="rts"; version="1.0-3"; sha256="0jqk0p2q1vx9l6zf9pbc5k3lsw4hg5x1r6p0f7wjiks50x55pbl4"; depends=[raster xts zoo]; };
-  Rtsne = derive { name="Rtsne"; version="0.8"; sha256="153f02f6iizd9986d6hxvpdddrwhnjy9a9yyrch2zcmcbh63hfba"; depends=[Rcpp]; };
-  Rttf2pt1 = derive { name="Rttf2pt1"; version="1.3.1"; sha256="0hz7fgj2p410m19r88qqdm9cc5m729sgacinazfsi93qz9rp1r51"; depends=[]; };
-  rtype = derive { name="rtype"; version="0.1"; sha256="14x86lhy5fmh2k1463p4v0lhsy51q0fkyg0jgnh7g65sry41bd68"; depends=[]; };
-  Ruchardet = derive { name="Ruchardet"; version="0.0-3"; sha256="0dgldi6fgp949c3455m9b4q6crqv530jph210xzph41vgw8a2q2v"; depends=[Rcpp]; };
-  rugarch = derive { name="rugarch"; version="1.3-3"; sha256="16vjk4vmsp35dgyb17c43q29z2laq320x6g73p5jc7l6xdjd3v5b"; depends=[Rsolnp nloptr ks numDeriv spd xts zoo chron SkewHyperbolic expm Rcpp]; };
-  RUnit = derive { name="RUnit"; version="0.4.26"; sha256="0glz0ag2za5g4k8fjnsr97504bfk9d6khly1rqrrngg4qxz5wlf0"; depends=[]; };
-  Runiversal = derive { name="Runiversal"; version="1.0.2"; sha256="0667mspsjydmxi848c6wsf14gz72bmdj9b3lilma92b7fhqnv7ai"; depends=[]; };
-  runjags = derive { name="runjags"; version="1.2.1-0"; sha256="0rsqyrk9vzrnhw66c7hdqnbnvk6qsl882fshh2njzivaqxk2ibqq"; depends=[lattice coda]; };
-  Runuran = derive { name="Runuran"; version="0.20.0"; sha256="1syzrmkw96gsw7vf10f1515zdqm9hdmq1v6yf1nbmipil1nkgsqs"; depends=[]; };
-  RunuranGUI = derive { name="RunuranGUI"; version="0.1"; sha256="0wm91mzgd01qjinj94fr53m0gkxjvx7yjhmwbkrxsjn6mjklq72l"; depends=[Runuran rvgtest gWidgets gWidgetsRGtk2 cairoDevice]; };
-  R_utils = derive { name="R.utils"; version="1.32.4"; sha256="12ypy8sxk5w1a3mpg4hi6k5db7ydrlj7qmp2lzh1rzcpbdg3wgka"; depends=[R_oo R_methodsS3]; };
-  rv = derive { name="rv"; version="2.3.1"; sha256="0bjqwk7djl625fws3jlzr1naanwmrfb37hzkyy5szai52nqr2xij"; depends=[]; };
-  RVAideMemoire = derive { name="RVAideMemoire"; version="0.9-38"; sha256="02683sklihj3726a90jryybf855rvbz9v3dm9z9yhb32q9bfmy34"; depends=[ade4 boot car lme4 lsmeans MASS mixOmics multcomp statmod]; };
-  rvalues = derive { name="rvalues"; version="0.2"; sha256="1zc4irq0s9mm7yz8pc3n9il0z508wwf2a2j741wyyw90f35fasi0"; depends=[]; };
-  Rvcg = derive { name="Rvcg"; version="0.8"; sha256="086r4vvqidwzikdmvij52nqgb1ka5z5f0k9c9qi6izn450lpf34y"; depends=[Rcpp]; };
-  rvertnet = derive { name="rvertnet"; version="0.0-5"; sha256="1rj6csx2qb094wgkablrpzlbqb0hpzg5d29xrar2cy39gjmz40cj"; depends=[RCurl plyr RJSONIO httr ggplot2 maps]; };
-  rvgtest = derive { name="rvgtest"; version="0.7.4"; sha256="1lhha5nh8fk42pckg4ziha8sa6g20m0l4p078pjj51kz0k8929ng"; depends=[]; };
-  rvHPDT = derive { name="rvHPDT"; version="3.0"; sha256="05nrfnyvb8ar7k2bmn227rn20w1yzkp1smwi4sysc00hyjrlyg8s"; depends=[gtools]; };
-  RVideoPoker = derive { name="RVideoPoker"; version="0.3"; sha256="06s4dlw0pw8rcq5b31xxqdpdk396rf27mai2vpvmn585vbm1ib7a"; depends=[pixmap tkrplot rpanel]; };
-  Rvmmin = derive { name="Rvmmin"; version="2013-11.11"; sha256="14gsdvw7qxcffwkh0ayj0vlm0cqyavqgl4rqn5ybjr0pkbsmz955"; depends=[optextras]; };
-  RVowpalWabbit = derive { name="RVowpalWabbit"; version="0.0.6"; sha256="06f2lmls92qkbscss00c99xkzpx83mgjah6ds0sixv1b2qi216ap"; depends=[Rcpp]; };
-  RVsharing = derive { name="RVsharing"; version="1.1.0"; sha256="0gcas4rb8pms470dhbm2c2x87an0j594xsziglgd84nqn4gq095d"; depends=[kinship2]; };
-  rvTDT = derive { name="rvTDT"; version="1.0"; sha256="09c2fbqnlwkhaxfmgpsdprl0bb447ajk9xl7qdlda201fvxkdc8v"; depends=[CompQuadForm]; };
-  RVtests = derive { name="RVtests"; version="1.2"; sha256="0k7w6ml981zvr5bix197qw4kaf7rz5jqnwqlxf7aryxbm39gk16c"; depends=[glmnet spls pls]; };
-  Rwave = derive { name="Rwave"; version="2.2"; sha256="1aqscnq7cr53nnddbjdqfjyrj8l76h9wcqr43i7fpa7g6hamvbwd"; depends=[]; };
-  rWBclimate = derive { name="rWBclimate"; version="0.1.3"; sha256="0vs56hx7a85pw4jx8nb8bdlr9dbkl4zdhzhqsm0505xc3qz18vxh"; depends=[ggplot2 httr plyr rgdal jsonlite reshape2 sp]; };
-  RWBP = derive { name="RWBP"; version="1.0"; sha256="104vr2cdk185hh4zn3vmqvb14p1q8ifk11wdgvk7fli1m1zxxwdd"; depends=[RANN igraph lsa SnowballC]; };
-  RWeather = derive { name="RWeather"; version="0.4"; sha256="1vm8w07gsxwxvg1gpdzn6mpnh8g9kp0ln9fxjw5rl2f1zz80bxpy"; depends=[XML]; };
-  RWebLogo = derive { name="RWebLogo"; version="1.0.3"; sha256="1n65mlnr163ywjnyyngnigbj0wpgkr38c3nx8hw5r8mwjnf3d617"; depends=[findpython]; };
-  RWeka = derive { name="RWeka"; version="0.4-23"; sha256="1p1kz6if5yhmjvjzvr0ig5i0l6g7bzp6z8q4jssrp2g07g576084"; depends=[RWekajars rJava]; };
-  RWekajars = derive { name="RWekajars"; version="3.7.11-1"; sha256="1w8y8xxsmm9b7hnnwknsbivkgbarnfqmv9666b7c5db9yra1hf7f"; depends=[rJava]; };
-  RWiener = derive { name="RWiener"; version="1.2-0"; sha256="1ssh4xcyr4whgyd91p6bjsm9mq1ajqjqva0yyk13dnf5jfpsr0gs"; depends=[]; };
-  Rwinsteps = derive { name="Rwinsteps"; version="1.0-1"; sha256="0kzngkan9vydibnr3xm4pyz4v6kz0r4h19f0ngqpri07fkhdsxzd"; depends=[]; };
-  rwm = derive { name="rwm"; version="1.53"; sha256="0x19502xzc3x90iwvhvj24w36qab79v4y7mb37ax8a0n3pw6rah8"; depends=[]; };
-  rworldmap = derive { name="rworldmap"; version="1.3-1"; sha256="0wrg6ap39bq88sv5axxd90yyqafn77amk5429pxd9v5a2hdm3g8w"; depends=[sp maptools fields]; };
-  rworldxtra = derive { name="rworldxtra"; version="1.01"; sha256="183z01h316wf1r4vjvjhbj7cg4xarn4b8qbmnn5y7nrrdndzi163"; depends=[sp]; };
-  rwt = derive { name="rwt"; version="1.0.0"; sha256="112wp682z4gkxsd3bqnlkdrh42bfzwnnhzyangxi2dh0qw63bgcr"; depends=[matlab]; };
-  RxCEcolInf = derive { name="RxCEcolInf"; version="0.1-3"; sha256="04d6ffl4qs2vjbk0ibvyq17i2l26qnvxr72s6p3f8q4px33rh4kh"; depends=[MASS MCMCpack mvtnorm lattice]; };
-  RXKCD = derive { name="RXKCD"; version="1.7-5"; sha256="0dsds1bv2vfq61gfppar2ai23dryh09ric5i6zaccms6q64z23md"; depends=[RJSONIO png jpeg plyr]; };
-  RXMCDA = derive { name="RXMCDA"; version="1.5.3"; sha256="1pc52kvihxzq12p95r4srmnawxcsvd4r7252dajby338p56d1lw8"; depends=[XML kappalab]; };
-  RXshrink = derive { name="RXshrink"; version="1.0-8"; sha256="0l4aknr1vxrkxqsgkjcffs0731jskyzvl055a01vd8h4a0826n5s"; depends=[lars]; };
-  Ryacas = derive { name="Ryacas"; version="0.2-11"; sha256="116ncg48ih1v3ra095k63ccqchfbvzixh3cfjb2bbc47a9zh8phc"; depends=[XML]; };
-  RYoudaoTranslate = derive { name="RYoudaoTranslate"; version="1.0"; sha256="1i3iyqh97vpn02bm66kkmw52ni29js30v18n2aw8pvr88jpdgxm4"; depends=[RCurl rjson]; };
-  ryouready = derive { name="ryouready"; version="0.3"; sha256="0nms3zfkis2fsxkyj3dr95vz3kk6pkm7l5ga7iz8pxy1ywrawj2i"; depends=[stringr car]; };
-  rYoutheria = derive { name="rYoutheria"; version="1.0.0"; sha256="1yj66ars5a8mbv2axl6l5g7wflwz3j4mhwk3iz5w33rfhixixm9l"; depends=[plyr RJSONIO reshape2 RCurl]; };
-  rysgran = derive { name="rysgran"; version="2.1.0"; sha256="1l2mx297iyipap8cw2wcw5gm7jq4076bf4gvgvij4q35vp62m85z"; depends=[soiltexture lattice]; };
-  Rz = derive { name="Rz"; version="0.9-1"; sha256="1cpsmfxijrfx06ydpjzbaak7gkad4jjk1ph9453l9zly1cwzgspj"; depends=[foreign memisc psych ggplot2 RGtk2 formatR]; };
-  rzmq = derive { name="rzmq"; version="0.6.8"; sha256="0likcj1xivr0y42krnm5zynkr6slfc3yqq2nd90x79ldvbfdqxc6"; depends=[]; };
-  s20x = derive { name="s20x"; version="3.1-10"; sha256="0hxi8d1pl0jgg66jxzz0z973sg3f4s1jf75smmizy99kd76rdnh0"; depends=[]; };
-  s2dverification = derive { name="s2dverification"; version="2.1.1"; sha256="1m3m5sbq96fhnl4slxgb2j0009kqfdivdn3nbb203pc0knjpflnq"; depends=[GEOmap geomapdata maps mapproj]; };
-  s4vd = derive { name="s4vd"; version="1.0"; sha256="07pnkhyqf9iymj913813d93dmb3iqbdlcl0gsgacihyyinb4id5s"; depends=[biclust]; };
-  sac = derive { name="sac"; version="1.0.1"; sha256="1rl5ayhg5y84fw9w3zf43dijjlw9x0g0w2z4haw5xmxfni72ms8w"; depends=[]; };
-  sads = derive { name="sads"; version="0.1.10"; sha256="02662vbbk3jikp506ljil9zqchs6bq3lsw4fwbbi2wgg7xvb260g"; depends=[MASS bbmle poilog VGAM untb]; };
-  sae = derive { name="sae"; version="1.0-2"; sha256="0a9g07m1a8v4iw9pnzlws356kv4f77qkz5yc454i7130zfp2kxxi"; depends=[nlme MASS]; };
-  saemix = derive { name="saemix"; version="1.2"; sha256="1whwn54iiapdfig6qpzji3z3skir6jrs34dq78zlynibgrg95hx6"; depends=[]; };
-  SAFD = derive { name="SAFD"; version="0.4"; sha256="1zbja8bgva2j24ks4m14hbf4s0n674lj89nfxkkmwrljzsmjrjhv"; depends=[]; };
-  safeBinaryRegression = derive { name="safeBinaryRegression"; version="0.1-3"; sha256="1g68r6pp5l41rbgyfqgcha1gpsisnl0ybdmdqr4ylr43f61dpgvd"; depends=[lpSolveAPI]; };
-  SAM = derive { name="SAM"; version="1.0.5"; sha256="1fki43bp6kan6ls2rd6vrp1mcwvz92wzcr7x6sjirbmr03smcypr"; depends=[]; };
-  SamplerCompare = derive { name="SamplerCompare"; version="1.2.5"; sha256="1p05fb6g0rwkzz0qp8hx88skxvfq265ndv9g694gc2h8vzwpan1y"; depends=[mvtnorm]; };
-  sampleSelection = derive { name="sampleSelection"; version="1.0-2"; sha256="1hzvvwvqp6v9d6ldm17kx3g8pbgngw2pxklny0b3man47zh5jshc"; depends=[maxLik miscTools systemfit Formula]; };
-  samplesize = derive { name="samplesize"; version="0.1-8"; sha256="0w4aa6p0j7l9xykhgqv7yps2nxx11q1mrgivdnv4si8fbkqx148n"; depends=[]; };
-  Sample_Size = derive { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; };
-  samplesize4surveys = derive { name="samplesize4surveys"; version="0.5.1"; sha256="0qinzr55ldg7ngsa9lzwwwysjfk3230xs7kcqkvimnrn5z4n898v"; depends=[TeachingSampling]; };
-  SampleSizeMeans = derive { name="SampleSizeMeans"; version="1.1"; sha256="1wbc46n8b8wbcxl21blbzs5728dr8r0l8d3jpzbha8pcav0xrh1m"; depends=[]; };
-  SampleSizeProportions = derive { name="SampleSizeProportions"; version="1.0"; sha256="0mvkvx3nni0l8ys68sq3h2zlbjvksdcdzxqlf03k0ca5bbcmdf9l"; depends=[]; };
-  sampling = derive { name="sampling"; version="2.6"; sha256="11r8p29kwc0ggycbv7sm1zmazmfm4p5207l764ad4znjib0cab6p"; depends=[MASS lpSolve]; };
-  samplingbook = derive { name="samplingbook"; version="1.2.0"; sha256="1vynz6hsnz5d0vg66f8k67h24rb809k9chb4waymk6vwnp8lksz9"; depends=[pps sampling survey]; };
-  samplingEstimates = derive { name="samplingEstimates"; version="0.1-3"; sha256="1srdchlpxksfdqhf5qdvl7nz0qsxkxww7hzqj0q71asbzlq3am3p"; depends=[samplingVarEst]; };
-  SamplingStrata = derive { name="SamplingStrata"; version="1.0-2"; sha256="04mb14hb328s4smpfidxf448mpa1cij9lbsfii7j0a0qx9nwapy2"; depends=[]; };
-  samplingVarEst = derive { name="samplingVarEst"; version="0.9-9"; sha256="04wgsq3sh69iy8p07ch210p22n5mds7cxp5s6zggzamqpf0hpnw7"; depends=[]; };
-  sampSurf = derive { name="sampSurf"; version="0.7-2"; sha256="1bj1m5c8bx8i4jyk6kdgcfmgfj15iirxwg259r0c4fk7whcnfz59"; depends=[sp raster rasterVis boot]; };
-  samr = derive { name="samr"; version="2.0"; sha256="0rsfca07pvmhfn7b49yk2ycw00wsq6dmrpv9haxz8q0xv7n5n2q9"; depends=[matrixStats]; };
-  SAMURAI = derive { name="SAMURAI"; version="1.2.1"; sha256="02fipbjcsbp2b2957x6183z20icv1yly2pd1747nyww9bmpa7ycm"; depends=[metafor]; };
-  sand = derive { name="sand"; version="1.0.2"; sha256="1y371ds86gcq2id996vp56h5dax2wm0mlk1ks2mp1k81n63l7wmf"; depends=[igraph igraphdata]; };
-  sandwich = derive { name="sandwich"; version="2.3-1"; sha256="1yjbqzsv742m74gz57bnj1jmjw5n5qqp057fkz490l7b65kj9nqn"; depends=[zoo]; };
-  sanitizers = derive { name="sanitizers"; version="0.1.0"; sha256="1c1831fnv1nzpq8nw9krgf9fm8v54w0gvcn4443b6jghnnbhn2n6"; depends=[]; };
-  sanon = derive { name="sanon"; version="1.3"; sha256="0kh2gvcd7nxcgfswhspw9xw68sk0kcrcv86h8ysfrwxi35ln6a75"; depends=[]; };
-  sapa = derive { name="sapa"; version="2.0-0"; sha256="04zf1xs4w7s28mvc272la8z3r1slnf50pw0k8zj335j3i56x6b9y"; depends=[ifultools splus2R]; };
-  SAPP = derive { name="SAPP"; version="1.0.4"; sha256="0a86vz390v2g5lz1r33qrmhgvak4rpfmpxy39shnivhagnrsarkl"; depends=[]; };
-  sas7bdat = derive { name="sas7bdat"; version="0.5"; sha256="0qxlapb6wdhzpwlmzlhscy3av7va3h6gkzsppn4sx5q960310an3"; depends=[]; };
-  SAScii = derive { name="SAScii"; version="1.0"; sha256="0nq859xmrvpbifk8q1kbx3svg61rqdg8p8gr1pn85fr0j3w7h666"; depends=[]; };
-  SASmixed = derive { name="SASmixed"; version="1.0-4"; sha256="0491x4a3fwiy26whclrc19alcdxccn40ghpsgwjkn9sxi8vj5wvm"; depends=[]; };
-  SASPECT = derive { name="SASPECT"; version="0.1-1"; sha256="1d3yqxg76h9y485pl5mvlx6ls1076f80b320yvx4zxmqq9yxmaba"; depends=[]; };
-  SASxport = derive { name="SASxport"; version="1.5.0"; sha256="0sgxpjv9ilz2zb13kkb0fqjfbamrczxpy9rwvfhh46bmx4i038iq"; depends=[chron Hmisc]; };
-  SAVE = derive { name="SAVE"; version="0.9.3.9.2"; sha256="1faky3155vh54r450r4dndn5749kp09bilyq8n7n7rls0dl5k34m"; depends=[coda DiceKriging]; };
-  saves = derive { name="saves"; version="0.5"; sha256="1b4mfi2851bwcp0frx079h5yl6y1bhc2s8ziigmr8kwy1y1cxw10"; depends=[]; };
-  saws = derive { name="saws"; version="0.9-6.1"; sha256="0w40j6xczqs74z1z3na4510w06px7yn55s2mw9mddd6736l56fv1"; depends=[gee]; };
-  sBF = derive { name="sBF"; version="1.1"; sha256="11yjw6y1k0fi95p68bc4481gac25lympmmdykh71ljg0hnrm0s53"; depends=[]; };
-  sbgcop = derive { name="sbgcop"; version="0.975"; sha256="0f47mvwbsym4khwgl0ic3pqkw3jwdah9a48qi3q93d46p2xich61"; depends=[]; };
-  sbioPN = derive { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; };
-  SBRect = derive { name="SBRect"; version="0.26"; sha256="16g0ciy9q9irypsl8x36i0lavl41j3af13r2si0by8q6wj56pxi4"; depends=[rJava]; };
-  SBSA = derive { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp]; };
-  sca = derive { name="sca"; version="0.8-9"; sha256="024yxm1rlyz3hx9viv2nb6rapy938diaknc3nzkgq0ffky2gf0s3"; depends=[]; };
-  scagnostics = derive { name="scagnostics"; version="0.2-4"; sha256="0fhc7d2nfhm8w6s6z1ls6i8d7c90h4q7rb92rz8pgq3xh031hpcf"; depends=[rJava]; };
-  scaleboot = derive { name="scaleboot"; version="0.3-3"; sha256="0w3gwqxshiypbixrdjg3p5z3qfp0nf9gv838z9hlbf0xpzgk11xa"; depends=[]; };
-  scales = derive { name="scales"; version="0.2.4"; sha256="08dryii8ibh16wxs61pam07b24rwhqvdcdhk09mij289l309192v"; depends=[RColorBrewer dichromat munsell plyr labeling]; };
-  scalreg = derive { name="scalreg"; version="1.0"; sha256="06iqij1cyiw55ijzk2byrwh3m5iwsra7clx8l4v69rc236q8zbdi"; depends=[lars MASS]; };
-  scam = derive { name="scam"; version="1.1-7"; sha256="0wjpc5fcr4409gnanq7xnmlai51my86zndsxh5lw418ywdgcbyn4"; depends=[mgcv Matrix]; };
-  scape = derive { name="scape"; version="2.2-0"; sha256="0dgbh65fg6i5x4lpfkshn382zcc4jk1wp62pwd2l2f59pyfb92a3"; depends=[coda Hmisc lattice]; };
-  scar = derive { name="scar"; version="0.2-1"; sha256="04x42414qxrz8c7xrnmpr00r46png2jy5giwicdx6gx8jwrkzhzs"; depends=[]; };
-  scaRabee = derive { name="scaRabee"; version="1.1-3"; sha256="1fdxmk2mbrynxh6zy0xjmcwa384n5bppl1vzmfj5rjw840f7hbrk"; depends=[neldermead lattice deSolve]; };
-  scatterplot3d = derive { name="scatterplot3d"; version="0.3-35"; sha256="1w0r7cyz01rzmgcf2x7wa4xs88ga6fd67wksyjyzrh2pdcbc56yx"; depends=[]; };
-  SCBmeanfd = derive { name="SCBmeanfd"; version="1.1"; sha256="0pcyrnzlnlyn4v3lyv7pv01v2lh4vig1x4x8g98lpccpi1bimd4z"; depends=[boot KernSmooth]; };
-  SCEPtER = derive { name="SCEPtER"; version="0.1-0"; sha256="13jnqcgsz3rz5dis8jmbma1m6z72qphdjyjf3984c66clhazxnh9"; depends=[MASS]; };
-  SCEPtERextras = derive { name="SCEPtERextras"; version="0.1-0"; sha256="1vv231h744c7j7rvcb2xaffmwdd9ms76yvvw2l3xcb72iwhl5dbw"; depends=[]; };
-  SCGLR = derive { name="SCGLR"; version="2.0"; sha256="0pgix9i520yj7gpby3fcykvk9nnq1pl8b0akyhdv5l6vax9d5bg4"; depends=[Matrix Formula expm ggplot2 ROCR]; };
-  scholar = derive { name="scholar"; version="0.1.1"; sha256="1wlhxw5k28qypfl6dm07cjrpvpmvcbwn1fc7205xpj20f41jchra"; depends=[stringr plyr R_cache XML]; };
-  schoolmath = derive { name="schoolmath"; version="0.4"; sha256="06gcmm294d0bs5whvknrq48sk7li961lzy4bcncjg052zbbpn67x"; depends=[]; };
-  schoRsch = derive { name="schoRsch"; version="1.0"; sha256="15kjab5cpss2kkf3pd2nyszdsfn77840zx7yrbkry6n7xb4x8icn"; depends=[]; };
-  schwartz97 = derive { name="schwartz97"; version="0.0.6"; sha256="0l34f30l75zrg3n377jp0cw7m88cqkgzy6ql78mrx8ra88aspfzn"; depends=[FKF mvtnorm RUnit]; };
-  SCI = derive { name="SCI"; version="1.0-1"; sha256="1m5a15a4n0zjqykq38pyw9133g2ih4ykbgak8c8khq8p0isnl8qb"; depends=[fitdistrplus lmomco]; };
-  scidb = derive { name="scidb"; version="1.1-2"; sha256="1nkyzvjpacm4imv778nc6gc468419shkyhxb59hsaw9840wcs1na"; depends=[Matrix iterators RCurl zoo]; };
-  SciencesPo = derive { name="SciencesPo"; version="0.05.21"; sha256="1x1b1fyy961nm5i54drkakn2qzlja17haa66dz9135h1lgj83y4s"; depends=[data_table xtable]; };
-  scio = derive { name="scio"; version="0.6.1"; sha256="0h15sscv7k3j7qyr70h00n58i5f44k96qg263mxcdjk9mwqr0y65"; depends=[]; };
-  sciplot = derive { name="sciplot"; version="1.1-0"; sha256="0na4qkslg3lns439q1124y4fl68dgqjck60a7yvgxc76p355spl4"; depends=[]; };
-  SciViews = derive { name="SciViews"; version="0.9-5"; sha256="199waafpn0ndg7szwfhw2jlgcx1f0pv7j0vix2vzz60knwm698xb"; depends=[MASS ellipse]; };
-  SCMA = derive { name="SCMA"; version="1.1"; sha256="0bims9l047xvbwp2r5ly5cgpd7fc0p2cik48gg42abwdqvppf542"; depends=[]; };
-  SCORER2 = derive { name="SCORER2"; version="0.99.0"; sha256="1a28wga69ip9s98ch2dqgl0qkwa3w6frmaqcvhclc360ik813mxq"; depends=[]; };
-  scoring = derive { name="scoring"; version="0.5-1"; sha256="0vxjcbp43h2ipc428qc0gx7nh6my7202hixwhnmspl4f3kai3wkp"; depends=[]; };
-  ScottKnott = derive { name="ScottKnott"; version="1.2-4"; sha256="0s2b74isklmjjz5qzb0sg2lzqxv3bka2wxcja1lg49npmv70kly7"; depends=[]; };
-  scout = derive { name="scout"; version="1.0.3"; sha256="0wmjmk0ckd211cq5ykd0yzjschs7fkg04w67arl4pwma0z5z56lq"; depends=[glasso lars]; };
-  SCperf = derive { name="SCperf"; version="1.0"; sha256="1v9l7d9lil2gy5bw6i7bzc24808m063xaw2spl005j0a9rh4ag41"; depends=[]; };
-  ScrabbleScore = derive { name="ScrabbleScore"; version="1.0"; sha256="19vgaxnhvqsbllqxfbnhnar2j4g0fkxi7rfsmkks2bd2py81x04m"; depends=[]; };
-  scrapeR = derive { name="scrapeR"; version="0.1.6"; sha256="1rqgqpn9rc43rh356z9gb51pjhdczr9a9mgv0i078nniq156rmlb"; depends=[XML RCurl]; };
-  ScreenClean = derive { name="ScreenClean"; version="1.0.1"; sha256="0haanr05g4vwp5apncyzv8i3r61g4xf9ihm8ilcabcgpri56gpjk"; depends=[MASS Matrix quadprog]; };
-  scrime = derive { name="scrime"; version="1.3.3"; sha256="1vp7ai10m0f3s0hywyqh0yllxj6z6p795zqpr6vp58fh6yq20x73"; depends=[]; };
-  scriptests = derive { name="scriptests"; version="1.0-9"; sha256="03jv5hgzs4hvkpvjr9073nncmwj20cwispzwrbvxjdnvm5hnjg3y"; depends=[]; };
-  SCRT = derive { name="SCRT"; version="1.0"; sha256="1yk3ialhsn5qgjsi7zl7m61bkkwiw90xa4fl1vwncbgpzhrfzgkj"; depends=[]; };
-  scrypt = derive { name="scrypt"; version="0.1.0"; sha256="1hc1rziigwggdx2pvklldkw88mdzbwa8b8a2a0ip4cm1w6flsl9n"; depends=[Rcpp]; };
-  scuba = derive { name="scuba"; version="1.7-0"; sha256="11mdc8pj552ag36ib4sfbjv8r0psa6wnb13spz0v3rbaslz25hpw"; depends=[]; };
-  SCVA = derive { name="SCVA"; version="1.0"; sha256="0dphdrc069d9nggpipl97wj1vqwnnjlv3fs68pqygzb5kbd70nx3"; depends=[]; };
-  sda = derive { name="sda"; version="1.3.4"; sha256="0fbbiyh6sp23mg6lmzk9fm9sprqwvrv0fxxjykl5ww0pbl63rrmj"; depends=[entropy corpcor fdrtool]; };
-  SDaA = derive { name="SDaA"; version="0.1-2"; sha256="03ijiqwvvqs79ql9p016hpn5dwxnys820k00aza29npm9k2bciww"; depends=[survey ggplot2]; };
-  SDBP = derive { name="SDBP"; version="1.0"; sha256="18yk5zasxga58ny8n8kz3b8j0j8xznb9wqf5642xzfvcb9dd1kz2"; depends=[]; };
-  sdcMicro = derive { name="sdcMicro"; version="4.4.0"; sha256="0ig43sdzn940mpv2d8v1v0k77nb5mwwsy8amkb6vdxs0rql7qvyy"; depends=[brew knitr data_table xtable car robustbase cluster MASS e1071 Rcpp sets]; };
-  sdcMicroGUI = derive { name="sdcMicroGUI"; version="1.1.1"; sha256="0icxxbfxl65da07bpi7l2jzk85y990ndhl60lwyp077sjq5rd20q"; depends=[sdcMicro gWidgetsRGtk2 cairoDevice vcd foreign Hmisc]; };
-  sdcTable = derive { name="sdcTable"; version="0.17.1"; sha256="0wljdpggf8mhsjg0xrgb3xqd346zb4f8pk0jfgv38krhkfxz1ss5"; depends=[stringr Rcpp Rglpk lpSolveAPI data_table]; };
-  SDD = derive { name="SDD"; version="1.1"; sha256="1bl9xlns6np26pgiiza25c54k4989knksdkkk653g8s8gmr4y34x"; depends=[Hmisc sm tseries rpanel rgl]; };
-  SDDA = derive { name="SDDA"; version="1.0-5"; sha256="1lwp36bwx13cyiqyzh5jp2c0f0g2hvppqxnpjcflmcz7s23h5dp7"; depends=[MASS]; };
-  sddpack = derive { name="sddpack"; version="0.9"; sha256="1963l8jbfwrqhqcpif73di9i5mb996r4f8smjyil6l7sdir7cg9l"; depends=[]; };
-  sde = derive { name="sde"; version="2.0.10"; sha256="1wkgam394190zg1m0b9hg81h9mkqhqw8isk7xf5vdqxymjzsaxjm"; depends=[MASS fda zoo]; };
-  sdef = derive { name="sdef"; version="1.5"; sha256="1xmx3nfjjfh6zw1vq7iip4rnshh40azja83xyvnz04jcv574vhxm"; depends=[]; };
-  SDMTools = derive { name="SDMTools"; version="1.1-221"; sha256="1kacrpamshv7wz83yn45sfbw4m9c44xrrngzcklnwx8gcxx2knm6"; depends=[R_utils]; };
-  sdmvspecies = derive { name="sdmvspecies"; version="0.3"; sha256="0xcgwj600a3r3v8hcy2xf1bkc60p44g2cjyq8qs2g3wqd7zyqj1b"; depends=[GPArotation ggplot2 psych raster]; };
-  sdnet = derive { name="sdnet"; version="2.01.3"; sha256="1sr60ca2dn182nacsi1ix02cdjygf45jv51dcfz5744hj7afcvws"; depends=[]; };
-  sdprisk = derive { name="sdprisk"; version="1.0-3"; sha256="0v490zz2c1qa0w9nfd0xs5xbbvd9g8vp39fp8x7k7cy598vby4yx"; depends=[numDeriv PolynomF rootSolve]; };
-  sdtoolkit = derive { name="sdtoolkit"; version="2.33-1"; sha256="0pirgzcn8b87hjb35bmg082qp14idc5pfvm6dikpgkswag23hwh8"; depends=[]; };
-  seacarb = derive { name="seacarb"; version="3.0"; sha256="1rjpf83f19rbp4mb7imnxlnlv8s0d6p6jqsarp6kksvr6yx5cdap"; depends=[]; };
-  sealasso = derive { name="sealasso"; version="0.1-2"; sha256="0cjy3fj170p5wa41c2hwscmhqxwkjq22vhg9kbajnq7df2s20jcp"; depends=[lars]; };
-  SearchTrees = derive { name="SearchTrees"; version="0.5.2"; sha256="11p81x1klkmxarypxpbisf78dlrmhzzg9y9hxpwz75pks1y56gqg"; depends=[]; };
-  seas = derive { name="seas"; version="0.4-3"; sha256="1n0acg6fvaym4nx1ihw0vmb79csds0k4x9427qmcyxbl9hxxmllp"; depends=[]; };
-  season = derive { name="season"; version="0.3-3"; sha256="0562qxc5bz9yjkz0zzighlp52ysv0gjn8xfycbxckmjxy3wrk9cz"; depends=[ggplot2 MASS mgcv survival coda]; };
-  seasonal = derive { name="seasonal"; version="0.60.0"; sha256="0cs987gsh2brgwv30ildrzq2phj6pfrksl8dq3rdlx0a7411ll5i"; depends=[]; };
-  seawaveQ = derive { name="seawaveQ"; version="1.0.0"; sha256="19vm1f0qkmkkbnfy1hkqnfz6x2a7g9902ka76bhpcscynl69iy56"; depends=[survival NADA lubridate]; };
-  SEchart = derive { name="SEchart"; version="0.1"; sha256="19gqcd6xzwg37nzc67p88ip4i0v2f59ds85xfw9qq8lybvdm76k2"; depends=[JM]; };
-  SECP = derive { name="SECP"; version="0.1-4"; sha256="0a4j0ggrbs0jzcph70hc4f5alln4kdn2mrkp3jbh321a6494kwl1"; depends=[SPSL]; };
-  secr = derive { name="secr"; version="2.8.2"; sha256="0p885q2r8wy4n8j1dvmmd59p5nfds8f4l1mwiw4z3xwck3bwi776"; depends=[abind MASS nlme sp]; };
-  secrdesign = derive { name="secrdesign"; version="2.1.3"; sha256="1gfkc5cdk9jg3db5yiq06k9li226m1sxd5r59283ci96sd6fh02s"; depends=[secr abind]; };
-  seedy = derive { name="seedy"; version="0.1"; sha256="16rg2i2g3ri882jsiyvqk4yw7xmg7f1hiirb77w1pqa30007gl7v"; depends=[]; };
-  seeg = derive { name="seeg"; version="1.0"; sha256="1d45vl075p4qbd74gpaa8aw1h82p9n633fym10yp9bmcv4gwksg6"; depends=[car spatstat sgeostat]; };
-  seem = derive { name="seem"; version="1.0"; sha256="0cjdi9c89bqvrx9gzxph958cfqicc1qfnzsair0gvsk3cxsrw6bf"; depends=[]; };
-  SEER2R = derive { name="SEER2R"; version="1.0"; sha256="0lk0kkp8sv3nl19zwqd7449mmjxsj3pqpzdmqf70qf8xh2pqyvzd"; depends=[]; };
-  SEERaBomb = derive { name="SEERaBomb"; version="2014.4.1"; sha256="1vlk6hcn05vdjfc7c8dhvsd1hc2yq1pdmhb7i48b689lkxg82igz"; depends=[RSQLite LaF]; };
-  seewave = derive { name="seewave"; version="1.7.3"; sha256="1bgv90x1rc7xyril6qarbx5mza131admd75s9704s8l7n4zfy64k"; depends=[fftw tuneR]; };
-  seg = derive { name="seg"; version="0.5-1"; sha256="0gsdbq7b5wpknhlilrw771japr63snvx4vpirvzph4fjyby1c7rg"; depends=[sp splancs]; };
-  segmented = derive { name="segmented"; version="0.4-0.0"; sha256="0dcr3s33j68ficbjgvi9hv5z2ihplljwp5zrqp82bc43qhbwsr6i"; depends=[]; };
-  Segmentor3IsBack = derive { name="Segmentor3IsBack"; version="1.8"; sha256="00m6fvx6s8mz477c8b4dmgdh52jf6jx1lcqzf84l90b1xw93qnv7"; depends=[]; };
-  SE_IGE = derive { name="SE.IGE"; version="1.0"; sha256="0gx3kdsdl3rjms6fxabxz51z84r9mcy4934l2g43ifrxbyphnias"; depends=[]; };
-  Sejong = derive { name="Sejong"; version="0.01"; sha256="1d9gw42dbs74w7xi8r9bs6dhl23y16yxqzyhqqayvcm98q3l77nf"; depends=[]; };
-  SEL = derive { name="SEL"; version="1.0-2"; sha256="1nrk0fx6ff330abq8askvp0790xnfv00m3sraqcr32hciw6ks421"; depends=[quadprog lattice]; };
-  selectiongain = derive { name="selectiongain"; version="2.0.29"; sha256="0l0av8dw14yfnc5a17nknjimhbi0nw30h7m8la346kibcsmszyvr"; depends=[mvtnorm]; };
-  selectMeta = derive { name="selectMeta"; version="1.0.6"; sha256="0qv06x6q6p2lwr13fw8xc6mkpb23h41sqnc9wyq8xx37d2jgpcif"; depends=[DEoptim]; };
-  selectr = derive { name="selectr"; version="0.2-2"; sha256="0hzj8ccs2jcfaqlpgrf59y6z7hrxsb2c85kkxflp6180rpqjrwq4"; depends=[XML stringr]; };
-  SeleMix = derive { name="SeleMix"; version="0.9.1"; sha256="04gxgja35qs4k66iil014dzgl5bkx0qhr9w4v7qpmwv2bb07jwz3"; depends=[mvtnorm Ecdat xtable]; };
-  sem = derive { name="sem"; version="3.1-5"; sha256="093kklhl9fnawpwj3km1q0px6fm40kc3vg7kw93y3yb6hniwla35"; depends=[matrixcalc]; };
-  semdiag = derive { name="semdiag"; version="0.1.2"; sha256="0kjcflw7dn907zx6790w7hnf5db6bf549whfsc0c2r173kf13irp"; depends=[sem]; };
-  semGOF = derive { name="semGOF"; version="0.2-0"; sha256="1lsv72yaza80jqadmah7v2cpfqfay57y12hcz6brvia6bmr5qagb"; depends=[sem MASS matrixcalc]; };
-  semiArtificial = derive { name="semiArtificial"; version="1.2.0"; sha256="11pwdqpsf5d5g74s2b8ixmrh2khkha3d4akzlkn652s98qr55dpc"; depends=[CORElearn MASS nnet cluster mclust fpc timeSeries timeDate]; };
-  SemiCompRisks = derive { name="SemiCompRisks"; version="1.0"; sha256="1q10bqws152vk7fpd9m8w16m0ns2i10q07wnmmbjladvfq4ja9il"; depends=[]; };
-  SEMID = derive { name="SEMID"; version="0.1"; sha256="1bxdjdyqlvxz339jdgw90qi6kvfhjdmga38vhfl3ldlxfv2s9gfk"; depends=[igraph]; };
-  SemiMarkov = derive { name="SemiMarkov"; version="1.3.1"; sha256="0cqrwpg26m8paa1rnz5yd6min00kwvl9ifgf4x71y2ldzr2n52b8"; depends=[numDeriv MASS Rsolnp]; };
-  SemiPar = derive { name="SemiPar"; version="1.0-4"; sha256="1gg80wpqa006qahpaxb5y7vnf4w0x9mhjwh6w3271j0b9znr1gs5"; depends=[MASS cluster nlme]; };
-  SemiParBIVProbit = derive { name="SemiParBIVProbit"; version="3.2-11"; sha256="1b1ywyax76893vp6s4ldjvk035vky4pbiagl8blzcwp7vhvy4ys7"; depends=[CDVine mgcv mvtnorm MASS magic polycor VineCopula VGAM survey trust matrixStats Matrix sn]; };
-  SemiParSampleSel = derive { name="SemiParSampleSel"; version="1.1"; sha256="0b2vdrqi4mw4bp6r82b3c329cddjxwc39rcramq5nr8awv9ib0cf"; depends=[copula mgcv mvtnorm magic trust Matrix]; };
-  semisupKernelPCA = derive { name="semisupKernelPCA"; version="0.1.5"; sha256="1v8wdq63b1gqicj8c9a24k0w7cc0bkg0mnc9z5mklsfcl7g0g6k9"; depends=[datautils irlba]; };
-  SEMModComp = derive { name="SEMModComp"; version="1.0"; sha256="1za67470f13z8jsy3z588c7iiiz993d3vjqrb8v9fann2r6sf1md"; depends=[mvtnorm]; };
-  semPlot = derive { name="semPlot"; version="1.0.0"; sha256="0ih94pwhkgd8jni3wkv1xmjr4c00q94dq4n8mxdwvixwi1l0gzjq"; depends=[qgraph lavaan sem plyr XML igraph lisrelToR rockchalk colorspace corpcor]; };
-  semPLS = derive { name="semPLS"; version="1.0-10"; sha256="0q5linjyv5npkw4grx3vq58iq2q1grf06ikivhkg8w7rvb7pqn6b"; depends=[lattice]; };
-  semTools = derive { name="semTools"; version="0.4-0"; sha256="1s6js0wqipfvn8hdmsmxjg3h8j4n6v00jisiwg4rfljvis9wx27l"; depends=[MASS lavaan]; };
-  sendmailR = derive { name="sendmailR"; version="1.1-2"; sha256="1d3rzcckrfqsilpzmpacwibhz858b8sw029vfz6mjh6q0ijswi2q"; depends=[base64enc]; };
-  sendplot = derive { name="sendplot"; version="4.0.0"; sha256="0ia2xck94nwirwxi38nv0viz5wb8291yiak6f0wgwh84irsrfp1h"; depends=[rtiff]; };
-  sensitivity = derive { name="sensitivity"; version="1.8-2"; sha256="1q30xpb1w5dnkivxh1ck53jz2m9kpjmzvr2yd739zxxlir5kx8gr"; depends=[boot]; };
-  SensitivityCaseControl = derive { name="SensitivityCaseControl"; version="2.1"; sha256="00jqzqx7g0av9lw13is723gph486gb8ga0wgcmmzpmb24s5nya9z"; depends=[]; };
-  sensitivitymv = derive { name="sensitivitymv"; version="1.2"; sha256="0h8lbl5yhxgzdrajjydb2ap9q3dnm1abxdk8gdhp84m1bv8pznkj"; depends=[]; };
-  sensitivitymw = derive { name="sensitivitymw"; version="1.1"; sha256="1bknnfkkqgmchabcjdfikm37sn5k41ar8lpnjw58i8qh7yzq237i"; depends=[]; };
-  SensoMineR = derive { name="SensoMineR"; version="1.20"; sha256="1qw97cixndg2h29bbpssl0rqag3w8im4nm9964lr7r012y5wdqhx"; depends=[FactoMineR cluster KernSmooth]; };
-  sensR = derive { name="sensR"; version="1.4-0"; sha256="19yddfcql1w154v81fsdm50wl15vl3vcx44iz3ss7in4gj1g884m"; depends=[multcomp MASS numDeriv]; };
-  SenSrivastava = derive { name="SenSrivastava"; version="2012-04-0"; sha256="0ki0kl18cj8lkad6q48piyvslkirs8y5rnfa8bvgjxsisxg2ahhp"; depends=[]; };
-  separationplot = derive { name="separationplot"; version="1.0"; sha256="1m8s531dsmzdam5s2yn0qyvm89zfxrzj8sh8r2gpcf31qrai7m26"; depends=[MASS RColorBrewer]; };
-  seqCBS = derive { name="seqCBS"; version="1.2"; sha256="1kywi3kvvl9y6nm7cwf6fj8gz9gzznp5va336g1akzgy77k82d8v"; depends=[clue]; };
-  seqDesign = derive { name="seqDesign"; version="1.0.1"; sha256="17zb8l5kasjvrsrgs2k0ih25ydlz7hpr9dcr1rm1akvscmk8np3d"; depends=[survival xtable]; };
-  SeqFeatR = derive { name="SeqFeatR"; version="0.1.5"; sha256="1cpb64h3pcp18zrly0hxy2wfn68x4pgyj0ywl4z2kadi6y3r0gyh"; depends=[tcltk2 plotrix ape plyr phangorn]; };
-  SeqGrapheR = derive { name="SeqGrapheR"; version="0.4.8.3"; sha256="03plwa3sc1pg34p1szbz3d0z8y53w7iqm7qn9q6fj72rsnk5spxc"; depends=[igraph rggobi gWidgets gWidgetsRGtk2 cairoDevice]; };
-  seqinr = derive { name="seqinr"; version="3.0-7"; sha256="0r54kvvwlp5i1fbk4vgbinj3zwzjppiyh7f5dy4kmja8m5lslc4x"; depends=[]; };
-  seqMeta = derive { name="seqMeta"; version="1.4"; sha256="0wmwvw09fskwpvy727lc974aw9gvd495wgxf8k1ybi16bq2h080j"; depends=[survival Matrix coxme CompQuadForm]; };
-  seqminer = derive { name="seqminer"; version="3.1"; sha256="15b63j15bgqzix4vp57q1vi9jnqn5an2p8kmvacg95ahrv8w0a0m"; depends=[stringr]; };
-  seqmon = derive { name="seqmon"; version="0.2"; sha256="075hc6vgl1w3nisrihf5w6mkkg9q601jsqxm9hk9yagyvvd7d78w"; depends=[]; };
-  seqPERM = derive { name="seqPERM"; version="1.0"; sha256="1i8ai4gxybh08wxjh96m6xlqxhh7ch0xihjs879snmy4zqfi0pap"; depends=[]; };
-  seqRFLP = derive { name="seqRFLP"; version="1.0.1"; sha256="1i98hm8wgwr8b6hd237y2i9i0xgn35w4n2rxy4lqc5zq71gkwkvk"; depends=[]; };
-  sequences = derive { name="sequences"; version="0.5.8"; sha256="1872737x77mknn2ay7qh8brd28hzsqzjqkx4shwkp0w7lk2p0rp0"; depends=[Rcpp]; };
-  Sequential = derive { name="Sequential"; version="1.1"; sha256="1fr4n6qbxwj6hs01h07wdj5v4c7af5q8ccnm33yzcrx845qf8fiv"; depends=[]; };
-  sequenza = derive { name="sequenza"; version="2.0.0"; sha256="04kva5bvflpzq53qgif8sw49npcx1hwlqvrypgb6ynajyg28hd6p"; depends=[squash]; };
-  seriation = derive { name="seriation"; version="1.0-13"; sha256="0k3m4x0msdynblcy1ign4p5qlsqmxk2p4vfjkv0fz3qjsbxfw61n"; depends=[TSP cluster gclus colorspace MASS]; };
-  servr = derive { name="servr"; version="0.1"; sha256="035pf1xg0jgjrba39wxwlrh7n43kp29ymagfv7yskxj31dh3b34i"; depends=[httpuv]; };
-  sesem = derive { name="sesem"; version="1.0.1"; sha256="0s4xkv6bc5nxhj09mk9agnj11b9h7swccs9jrn4lg3fy12vqhf5a"; depends=[lavaan mgcv gplots]; };
-  SesIndexCreatoR = derive { name="SesIndexCreatoR"; version="1.0-2"; sha256="14xq2niqa6ml2dlyamv4w8appll7n0nplzvx9r7bnm289m4d6wwm"; depends=[FactoMineR class]; };
-  session = derive { name="session"; version="1.0.3"; sha256="04mcy1ac75fd33bg70c47nxqxrmqh665m9r8b1zsz5jij1sbl8q5"; depends=[]; };
-  SetMethods = derive { name="SetMethods"; version="1.0"; sha256="0zizvrzyk01w4ncazvifmjm4h5zrpsf6n68n11sc8f5kzny9ia48"; depends=[lattice betareg lattice betareg]; };
-  setRNG = derive { name="setRNG"; version="2011.11-2"; sha256="1gp577yy3wzszpzgdhfpas7hrk658rb2vz0dxm111s5xnc5wcp74"; depends=[]; };
-  sets = derive { name="sets"; version="1.0-13"; sha256="1ys17iy2gjkfnp3914g6sfx3ilgm18pdfak59cqrwalwwnhc3zaz"; depends=[]; };
-  setwidth = derive { name="setwidth"; version="1.0-3"; sha256="1s6m24kmkafscgibgfldm70m57bv4gs0m7fdki18nwdi1rvwpkbf"; depends=[]; };
-  severity = derive { name="severity"; version="2.0"; sha256="1mp19y2pn7nl9m8xfljc515kk5dirv0r2kypazpmd956lcivziqq"; depends=[]; };
-  sExtinct = derive { name="sExtinct"; version="1.1"; sha256="1l6232z6c4z3cfl1da94wa6hlv9hj5mcb85fj1y0yparkvvl8249"; depends=[lattice]; };
-  sfa = derive { name="sfa"; version="1.0-1"; sha256="1acqxgydf8j5csdkx0yf169x3yaa31r0ccdrqarh6vj1hacm89ad"; depends=[]; };
-  sfsmisc = derive { name="sfsmisc"; version="1.0-26"; sha256="0claxq1s1hkwwymx8iva650v51fjf4ly10zm17d42qhnn4b2whgd"; depends=[]; };
-  sft = derive { name="sft"; version="1.0-1"; sha256="0pi6x66mcywc1lbkwnwldnfg64h5vpp65vlis6b9cqd8iyx8msp4"; depends=[fda]; };
-  SGCS = derive { name="SGCS"; version="2.0"; sha256="1d7abq07f0702k33j334va7kc4swz7rdqqb4sw1wq6a671r7k5v6"; depends=[spatstat]; };
-  sgeostat = derive { name="sgeostat"; version="1.0-25"; sha256="04zl932s6zb26r42h2l8qf3d43bmrq67281mrkh4spn4vcddv5da"; depends=[]; };
-  SGL = derive { name="SGL"; version="1.1"; sha256="1wc430jqn3li102zpfmyyavfbab7x7ww9p89clxsndyigrrbjdr7"; depends=[]; };
-  sglasso = derive { name="sglasso"; version="1.0-1"; sha256="19f8qjhmv3jpx9p9wcnbzsifla0rccypxgwjykszr4gi7jl1s4z5"; depends=[Matrix]; };
-  sglOptim = derive { name="sglOptim"; version="1.0.122.0"; sha256="07anc9ixbc82807ixr4k779src72gvbx0wsy3mr0mvzg9xq2fi1v"; depends=[Matrix]; };
-  sglr = derive { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; };
-  sgof = derive { name="sgof"; version="2.1"; sha256="1nipm2lf02g0j4f8kas99wi4wmwp5vx2a97jj5mg8mclkwpifnhr"; depends=[poibin discreteMTP]; };
-  SGP = derive { name="SGP"; version="1.2-0.0"; sha256="0v4ljhvfrvl6izprcrw8w36474fjz0v1kpcsg0sx32359amd3zxz"; depends=[Cairo colorspace data_table doParallel foreach gridBase iterators jsonlite plyr quantreg reshape2 RSQLite sn]; };
-  sGPCA = derive { name="sGPCA"; version="1.0"; sha256="16aa5jgvkabrlxaf1p7ngrls79mksarh6di3vp26kb3d3wx087dx"; depends=[Matrix fields]; };
-  SGPdata = derive { name="SGPdata"; version="8.0-0.0"; sha256="0g25s2wcj47394fm16maygafnynizma3mgb3r65b5p9c27swk4v8"; depends=[]; };
-  sgr = derive { name="sgr"; version="1.1"; sha256="1wbpxjv4g4jccih5xn2m7fqq4w1b4p05j56iwldkjp2r6paj5af1"; depends=[]; };
-  shape = derive { name="shape"; version="1.4.1"; sha256="1s1yj7cqc9svqliv9f9k3fimkakblri9vwr785ihav58x5cn90qj"; depends=[]; };
-  shapefiles = derive { name="shapefiles"; version="0.7"; sha256="08ghndihs45kylbzd9wnxffn8ixvxjhjnjldjyd526ai2sj8xcgf"; depends=[foreign]; };
-  shapes = derive { name="shapes"; version="1.1-9"; sha256="044d4ci9lv6g9vbh8zn85f08d9n8f91vn8gn1wqv1lp0qjycpmjv"; depends=[scatterplot3d rgl MASS]; };
-  SharpeR = derive { name="SharpeR"; version="0.1401"; sha256="1l55llafs81gl1mdhyyi6m02w7mx8g46y65jf1kw5mbrljgri8az"; depends=[matrixcalc xtable]; };
-  sharpshootR = derive { name="sharpshootR"; version="0.6-3"; sha256="1dpcyd1wi022zcs9s48xg3wzy17dqcd0622ak0phvbwxgpwmz9j2"; depends=[aqp ape igraph cluster lattice latticeExtra vegan sp reshape2 Hmisc scales circular RColorBrewer plyr]; };
-  sharx = derive { name="sharx"; version="1.0-4"; sha256="1flcflx6w93s8bk4lcwcscwx8vacdl8900ikwkz358jbgywskd5n"; depends=[Formula dcmle dclone]; };
-  shiny = derive { name="shiny"; version="0.10.1"; sha256="1hd26n0mx62vsnvfvypkihj89hnbmvdwyw33h45x4vyiz5h1kd17"; depends=[httpuv caTools RJSONIO xtable digest htmltools]; };
-  shinyAce = derive { name="shinyAce"; version="0.1.0"; sha256="1031hzh647ys0d5hkw7cqxj0wgry3rxgq95fgs7slbm0rgx9g6f7"; depends=[shiny]; };
-  shinyBS = derive { name="shinyBS"; version="0.20"; sha256="1l95g2rzv53vwx5zcaqiqz8jirncwh1yb14y62x9phg4n5jfk9f8"; depends=[shiny]; };
-  shinyFiles = derive { name="shinyFiles"; version="0.3.2"; sha256="19qzsvk5pqq59hfmzw4fg5fds26y1hqwhgjqf1pkxbmbd337qdik"; depends=[shiny]; };
-  shinyRGL = derive { name="shinyRGL"; version="0.1.0"; sha256="07llg1yg5vmsp89jk60ly695zvxky6n06ar77mjxzlyc294akwmy"; depends=[rgl shiny]; };
-  SHIP = derive { name="SHIP"; version="1.0.2"; sha256="0b83cclibdz1r7sz968nmca4najwgps9wrdlsh4gxrl7fq40k4ln"; depends=[]; };
-  shotGroups = derive { name="shotGroups"; version="0.5"; sha256="02v785p5lqjpdp5vn7snpg1wgr7whpp4s4vbiwyaxmfp6kwqk81q"; depends=[boot coin CompQuadForm energy KernSmooth mvoutlier robustbase]; };
-  showtext = derive { name="showtext"; version="0.2"; sha256="18pr03n0v2dg93pnp3saar3664dpina33wzmhw13hqcx6nfjgzw7"; depends=[sysfonts]; };
-  shp2graph = derive { name="shp2graph"; version="0-2"; sha256="09gbb7f9h3q2p56dwb2813mr36115ah70szq47jimpymzkd2x08m"; depends=[maptools igraph]; };
-  shrink = derive { name="shrink"; version="1.1"; sha256="0avf3502mjz2apy1nnz8a6xp5n77vva5v1n84sn1qimjnz40g58d"; depends=[]; };
-  ShrinkCovMat = derive { name="ShrinkCovMat"; version="1.0.1"; sha256="08cb4r94vywpi5g6gbmjb197694553hyy0lb68wa11k6p3qnsh06"; depends=[]; };
-  shuffle = derive { name="shuffle"; version="1.0"; sha256="037i45mfys1nr9sqmmsfb2yd3ba3aa22hc701f5j2zp8jx57qn3k"; depends=[]; };
-  siar = derive { name="siar"; version="4.2"; sha256="1c4z72jr81dzkp9xqyrrkwjsalvvksl67pnbaadkc52v84fhzx3r"; depends=[hdrcde coda MASS bayesm mnormt spatstat]; };
-  sideChannelAttack = derive { name="sideChannelAttack"; version="1.0-6"; sha256="1xcsy1h8gc8a4f9nzs7zv8x6v55g1pg8vy1kg64iqxm0gnz2f20l"; depends=[MASS corpcor mmap ade4 infotheo]; };
-  sidier = derive { name="sidier"; version="2.3"; sha256="08w6xsncs4nbjgmfh1irfjrc7iflg7w4dx3shr9fh0vbsd35g8wl"; depends=[ape network igraph]; };
-  sievetest = derive { name="sievetest"; version="1.2.2"; sha256="0mbgkf014m6bc7qg60vf065i6mvl5n4a0bvg8vb7dw531vsw2771"; depends=[]; };
-  sig = derive { name="sig"; version="0.0-4"; sha256="0q5bwaj15jlmcg4qqcdkkwbnqphwgwzcnfzga12xzr912rwjybjr"; depends=[]; };
-  sigclust = derive { name="sigclust"; version="1.1.0"; sha256="0151v7lr4n4yyn93j0s06gzc9jh9xhdgvfw6kvpfy24jl6wdii7g"; depends=[]; };
-  SightabilityModel = derive { name="SightabilityModel"; version="1.2"; sha256="1piw8i6c3bdwjj20329431is3b7mxij7f1g49g7qw00s197n8qha"; depends=[]; };
-  signal = derive { name="signal"; version="0.7-4"; sha256="0sz8im7i46qy5wjpm34a2nqvrc1vipmqlw8ns3i2s1vhcvp7fjs1"; depends=[MASS]; };
-  signalextraction = derive { name="signalextraction"; version="2.0.3"; sha256="0kxk32jfkcgkdcq4xfzdf24qr6wkkhl4yf2v4sjqxhviwml2g2aq"; depends=[]; };
-  signal_hsmm = derive { name="signal.hsmm"; version="1.0"; sha256="12v6frrhbaa8y9l3zy41fz8xkzalhp6afw33jad57c8hym4985nz"; depends=[seqinr shiny]; };
-  sigora = derive { name="sigora"; version="0.9.2"; sha256="1s3c0xwxabr3n8sb6rjhzkkzbpvcczbgqq6b263yypwasqbg4mlb"; depends=[]; };
-  SigTree = derive { name="SigTree"; version="1.6"; sha256="1z6z3s6gay3pcjazibb0schipc9qqpp3ahf0f56fq9mhk545125z"; depends=[ape phyext RColorBrewer]; };
-  SII = derive { name="SII"; version="1.0.3"; sha256="1k9mvz6g25qs351c0vx7n5h77kb6k833jrcww14ni59yc9jgvsyg"; depends=[]; };
-  simba = derive { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; };
-  simboot = derive { name="simboot"; version="0.2-5"; sha256="0slznwk8i3z76sxbfd4y5rp28jr6jv4i5ynnckpr10i59ba04wlq"; depends=[boot mvtnorm]; };
-  SimComp = derive { name="SimComp"; version="1.9.0"; sha256="1qw1bm0pahmvjxwa15q42vifq71lg7rw3dij7vba14sy88746m3g"; depends=[mvtnorm multcomp mratios]; };
-  SimCorMultRes = derive { name="SimCorMultRes"; version="1.2"; sha256="0wgi36sdpsippdbawdl7b9bvip0l8gp8xd1v85vznd1dibkfjr1r"; depends=[evd]; };
-  simctest = derive { name="simctest"; version="2.4"; sha256="12qxav3qy1s6g8yr6ygbjp3jlrf2p0h3zvl8bnqpk6mx95zw5gh3"; depends=[]; };
-  Sim_DiffProc = derive { name="Sim.DiffProc"; version="2.7"; sha256="03g70f5rpj1695abbkk0n73bj1hniw6gzckzg3g5zrjczg96xxs8"; depends=[]; };
-  simecol = derive { name="simecol"; version="0.8-4"; sha256="0k83zcnvxq89m60d9157w3sn2gwyl6m7812qy1bgn260ac2nqv10"; depends=[deSolve]; };
-  simex = derive { name="simex"; version="1.5"; sha256="01706vbmfgcg13w1kq8v5rnk5xggbd1n7fv50c6bvhdyc1dly313"; depends=[]; };
-  simexaft = derive { name="simexaft"; version="1.0.7"; sha256="13w9m35qrrp8kkz4gqp7fg9jv8fs99y19n21bdxsd3f5mlkbvqgl"; depends=[mvtnorm survival]; };
-  simFrame = derive { name="simFrame"; version="0.5.3"; sha256="154d4k6x074ib813dp42l5l8v81x9bq2c8q0p5mwm63pj0rgf5f3"; depends=[Rcpp lattice]; };
-  SimHap = derive { name="SimHap"; version="1.2.0"; sha256="1mnvqfqfgkhnh3glvr0xamw7si29jg1ri0nbb437a7wf023siy9z"; depends=[survival nlme]; };
-  Simile = derive { name="Simile"; version="1.3"; sha256="0jf0ispjv8izrxggp6y3a3scd8qlbqfgppqz8m1q9n3gy8jhbsli"; depends=[]; };
-  SIMMS = derive { name="SIMMS"; version="0.0.1"; sha256="0s53kc95jbav28kj35isc7j09qpjsk49za8p766z9yfaiw0higp7"; depends=[survival MASS]; };
-  simMSM = derive { name="simMSM"; version="1.0.1"; sha256="0lway32vjajlsnkvi7j9hcsaz7bmhzmi1w3r2gr28y5mbkpfkgb2"; depends=[]; };
-  simone = derive { name="simone"; version="1.0-2"; sha256="071krim64s7fjwvwq7bjr0pw33mw9am9wpyypcy4gs7g1hj8wcir"; depends=[mixer]; };
-  simPH = derive { name="simPH"; version="1.2.2"; sha256="0bhycpip0f06ddgvydr19pdw8hl1yw3rvl781yqpc1zid657wir9"; depends=[car DataCombine data_table dplyr ggplot2 gridExtra MASS mgcv plyr reshape2 stringr survival quadprog]; };
-  simpleboot = derive { name="simpleboot"; version="1.1-3"; sha256="1qprjisfflhzg8ll12p3q1zcfdiyc45glic2j9cw9nhx5rb065fk"; depends=[boot]; };
-  SimpleTable = derive { name="SimpleTable"; version="0.1-2"; sha256="1rkybrp7zlb7cj37799npss1ldic0yf519q5l7a6ikal4yl1afyb"; depends=[hdrcde locfit MCMCpack]; };
-  simplexreg = derive { name="simplexreg"; version="1.0"; sha256="144kljh968i7n2d21r4204i4h952mfrkfc8b5r6x760msgjphxvh"; depends=[Formula plotrix]; };
-  Simpsons = derive { name="Simpsons"; version="0.1.0"; sha256="1pm6wga1yxc35zgz72plzq23d3l4bbzfdvhszdxmkn1pkk64h8ms"; depends=[mclust]; };
-  SimRAD = derive { name="SimRAD"; version="0.94"; sha256="0jlq1bmq1xl5inh4s722jjxp54dh3dcpcvdncnzma6yb0inw8sj5"; depends=[]; };
-  simsalapar = derive { name="simsalapar"; version="1.0-3"; sha256="0svfa8xnc5r6xqkwxvlnhml4l708ksgaq8fmnqbr1hwvzc6shypl"; depends=[sfsmisc gridBase colorspace]; };
-  simsem = derive { name="simsem"; version="0.5-3"; sha256="12y2jlyys3aq8k7wi13iarzlgiqisp7731vcnd5rvla3cn0bnzrw"; depends=[lavaan]; };
-  SimSeq = derive { name="SimSeq"; version="1.0.0"; sha256="142qjkfz53q3g9k37nqhilsw1mcklsa9q05yqvyn9dvj9l06y11i"; depends=[fdrtool]; };
-  simSummary = derive { name="simSummary"; version="0.1.0"; sha256="1ay2aq6ajf1rf6d0ag3qghxpwj0f8b3fhpr2k0imzmpbyag1i3gj"; depends=[abind svUnit gdata]; };
-  simTool = derive { name="simTool"; version="1.0"; sha256="005sq9pgmg80k67rn8y1qh88g1qh3hdi7adsrkf5hcbqzs6pzg30"; depends=[plyr reshape]; };
-  SimuChemPC = derive { name="SimuChemPC"; version="1.3"; sha256="0ff454rvplr1ad5c9nmq4jbdbgfy5gzlvxfwhnyv2wzvdcyca6rk"; depends=[rcdk]; };
-  SimultAnR = derive { name="SimultAnR"; version="1.1"; sha256="0jvmxwmbnx14h27b576dg9mw3c2z0w3m82f51f25zd1darcl06bj"; depends=[]; };
-  SIN = derive { name="SIN"; version="0.6"; sha256="0vq80m3vl8spdnlkwvwy0gk3ziyybqzjp3scnfdcpn942ds7sgg9"; depends=[]; };
-  SINGLE = derive { name="SINGLE"; version="1.3"; sha256="0wd7jzys51rnwr5rhf2llpygqxydjrv0dill19v8sz9w0madkil4"; depends=[flsa igraph dse Matrix]; };
-  siplab = derive { name="siplab"; version="1.1"; sha256="1b5drhla4p7n1y1cp7kqwqzw0b286kgij9j6wsks5vjgy5qfal1x"; depends=[spatstat]; };
-  sirad = derive { name="sirad"; version="2.0-7"; sha256="009icj1jil757vvsf88sgmdz40swrx1qvrhnx7wwj7p3dlh78pvw"; depends=[zoo ncdf RNetCDF raster]; };
-  siRSM = derive { name="siRSM"; version="1.1"; sha256="0fx6bfb5c8hdlgjxddwhhzr09ls53kfgn36hjk9zi5z8m14a7wbn"; depends=[rsm MASS foreach doSNOW]; };
-  sirt = derive { name="sirt"; version="0.46-15"; sha256="0r6qhv1mcxms231s7s1xscdjadj87qvbi0mkdf8krb7285x69k2y"; depends=[sfsmisc TAM CDM combinat ic_infer sm psych pbivnorm gtools Rcpp qgraph lavaan semPlot igraph coda mvtnorm MASS]; };
-  SIS = derive { name="SIS"; version="0.7-4"; sha256="0a8apfjzfwd5a2cvkviwvqlp26hqr34lba65cq5hxf9n05x2s7rx"; depends=[glmnet ncvreg survival]; };
-  sitar = derive { name="sitar"; version="1.0.1"; sha256="1ji8742f518fzg8xz0dy5irwdz7a0nymajh69zd2l53yvcsnlwdp"; depends=[nlme]; };
-  sitools = derive { name="sitools"; version="1.4"; sha256="0c0qnvsv06g6v7hxad96fkp9j641v8472mbphvaxa60k3xc7ackb"; depends=[]; };
-  SixSigma = derive { name="SixSigma"; version="0.8-1"; sha256="15jdr10a7a6wv50vz9y6qcrbhnddl8zh4j4d48xrarrqbjy6l4p7"; depends=[qcc lattice ggplot2 reshape2 nortest testthat]; };
-  SiZer = derive { name="SiZer"; version="0.1-4"; sha256="0kiwvxrfa2b49r2iab5v2aysc2yzk5ck3h41f2hr0vq5pdnz0qy5"; depends=[boot]; };
-  sjdbc = derive { name="sjdbc"; version="1.5.0-71"; sha256="0i9wdfadfcabayq78ilcn6x6y5csazbsgd60vssa2hdff0ncgvk1"; depends=[rJava]; };
-  sjPlot = derive { name="sjPlot"; version="1.4.2"; sha256="1vw66yz6j7inyb17krb0q830i9ik6wk3a1a1mn8gv1nhm48j8qlq"; depends=[ggplot2 MASS car foreign lmtest plyr psych reshape2 scales]; };
-  SKAT = derive { name="SKAT"; version="0.95"; sha256="0jvcwckx7m5jc929ip2fqppgl1c9cx7bpybx986fs25gg7m808d4"; depends=[]; };
-  skatMeta = derive { name="skatMeta"; version="1.4.3"; sha256="0bknv066ya4yl4hl4y02d9lglq2wkl9c2j1shzg3d64dg4sjvbak"; depends=[Matrix coxme survival CompQuadForm]; };
-  skda = derive { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; };
-  SkewHyperbolic = derive { name="SkewHyperbolic"; version="0.3-2"; sha256="00l1bz3wxvs7qwl4sy814w6nrh0k79ldck5zd6c5alvg50hjwwk3"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
-  skewt = derive { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; };
-  Skillings_Mack = derive { name="Skillings.Mack"; version="1.0-2"; sha256="1spf77ix9d264r126hnrjm7z8fw19v1bk5pqhqcf6lm93zlcgh8i"; depends=[MASS matrixcalc gtools]; };
-  skmeans = derive { name="skmeans"; version="0.2-6"; sha256="1ncas6mx9w5saz28vvwni8g0wbm6m7gfv8a7azw4305pc64bawam"; depends=[slam clue cluster]; };
-  slam = derive { name="slam"; version="0.1-32"; sha256="000636dwj4kmj5w1w5s6bqixh78m7262y3fgizj7rfhcnc2gz7ad"; depends=[]; };
-  SLC = derive { name="SLC"; version="0.3"; sha256="0l0y1sjj0glsb7vwla99ijclcgaq2y85bgz1wqm348n4shsmm2rs"; depends=[]; };
-  Sleuth2 = derive { name="Sleuth2"; version="1.0-7"; sha256="1zav2g1yqc6bvzap4r5xwy9abkdj8iswivj5y2lylc25nkxwcswg"; depends=[]; };
-  Sleuth3 = derive { name="Sleuth3"; version="0.1-6"; sha256="0q8sgh2szqnxc289vgi5v0sljzz8yb803ijx9w5mswdxw87z2dq3"; depends=[]; };
-  slfm = derive { name="slfm"; version="0.1"; sha256="0s5q6ank6075sls9pkqhf7jlvi6gyvsbxa99c34d6ccrv88skyzq"; depends=[Rcpp coda]; };
-  SLHD = derive { name="SLHD"; version="1.2-1"; sha256="0n5j20hp7kgi23gjprcwcaji8wdz5wwqqyc7i8dv0058fz2b5gzc"; depends=[]; };
-  slp = derive { name="slp"; version="1.0-3"; sha256="09jyrp6y3rigy043d8s5i7nh89pgpvn3cv51mr729c9ccr6jdjb1"; depends=[mgcv]; };
-  sltl = derive { name="sltl"; version="1.0"; sha256="08bh76qs4if17iw51wic1r9v17wldyqgmbyfpccqp49x7ajxnwhq"; depends=[FitAR timeSeries lubridate]; };
-  sm = derive { name="sm"; version="2.2-5.4"; sha256="0hnq5s2fv94gaj0nyqc1vjdjd64vsp9z23nqa8hxvjcaf996rwj9"; depends=[]; };
-  smaa = derive { name="smaa"; version="0.2-2"; sha256="1xd5yd63j67w9kb3sl3jbxkvd76270c1wlg9r3k85dm2mjd0l38v"; depends=[]; };
-  smacof = derive { name="smacof"; version="1.5-0"; sha256="06csyz9fvdicxm11wh9mp6i4mvlgxyiclhlyg45grag0kqjgg6ha"; depends=[rgl polynom scatterplot3d Hmisc colorspace nnls]; };
-  smam = derive { name="smam"; version="0.2-2"; sha256="1p6bzk4b9kpmfs4nxmcgc46hgdpldqg0pzpc0zhvs187z2nrfw75"; depends=[Matrix]; };
-  smart = derive { name="smart"; version="1.0.1"; sha256="0ki3qn71zrw0nyv395qijcwahnxyv1p21j8x6cxr9spah2wzz8lb"; depends=[Matrix gplots gtools PMA elasticnet pcaPP igraph]; };
-  SmarterPoland = derive { name="SmarterPoland"; version="1.2"; sha256="1ga2m9kbn269dx21k5q1drlw9hph99fsfdx2mfnajwlgpycgf6m9"; depends=[reshape rjson]; };
-  smatr = derive { name="smatr"; version="3.4-3"; sha256="0iiazln4albj7k5w67slvyn98cqg4f6k409mml0n1pvlkki0h7gy"; depends=[plyr]; };
-  SMC = derive { name="SMC"; version="1.1"; sha256="1r4ajgi785lmpnlxrba0n6phmk1f0mb6b5yqk6hx8gng2w8ggclz"; depends=[]; };
-  smco = derive { name="smco"; version="0.1"; sha256="1sj3y1x6pc32cwzyhn9gaxs964xh5xl4vw08hsa8kfcxhh2r0s99"; depends=[]; };
-  SMCP = derive { name="SMCP"; version="1.1.3"; sha256="0ksx2ibz849vhrz2px9p7z8hlgvspz7kxhadvhk5mhkfbhrnpdf0"; depends=[]; };
-  SMCRM = derive { name="SMCRM"; version="0.0-3"; sha256="1x06w00sdijhg5h1s61q4ym5wgk97pw9md6api7if2cxjv7h5zcy"; depends=[]; };
-  smcure = derive { name="smcure"; version="2.0"; sha256="1j7fxnb0sx57a0l929c3haz4f1y829ymlq0cvdh0cia4qp6ydv60"; depends=[survival]; };
-  smcUtils = derive { name="smcUtils"; version="0.2.2"; sha256="0d1kmg386j0zrpp8vgxjwvpf1i25l86xrh82767xkp0n9qj8srwq"; depends=[]; };
-  smdata = derive { name="smdata"; version="1.1"; sha256="1hcr093xfkp88fn75imjkmfnp9cfsng5ndxpa8m2g0l29qhpxfvk"; depends=[]; };
-  smdc = derive { name="smdc"; version="0.0.2"; sha256="1j6xnzjbmmakbmk3lyjck3bsy8w8hyd9d8h04s4gbddhci283mqm"; depends=[proxy tm]; };
-  sme = derive { name="sme"; version="0.8"; sha256="1djrs3z699p6q2y1hfywh27csqc9cp1cfm3lxkigmmvxqjhyshz6"; depends=[lattice]; };
-  SMFI5 = derive { name="SMFI5"; version="1.0"; sha256="10qp33l0dig00y9gfhpzqig6dbkjw76ch9pfq64dn4xrdkpq1kx5"; depends=[ggplot2 reshape corpcor]; };
-  smfsb = derive { name="smfsb"; version="1.1"; sha256="0khd23b6k9zgxz2x6g6c6k2g32mbpli32izdq6fgk1a990kdsp6j"; depends=[]; };
-  SMIR = derive { name="SMIR"; version="0.02"; sha256="02q8m5m8lcfrpi78p3kajkps8wiir3jwyqc54j9vfx8aj6mk1v71"; depends=[]; };
-  smirnov = derive { name="smirnov"; version="1.0-1"; sha256="09mpb45wj8rfi6n6822h4c335xp2pl0xsyxgin1bkfw97yjcvrgk"; depends=[]; };
-  SmithWilsonYieldCurve = derive { name="SmithWilsonYieldCurve"; version="1.0.1"; sha256="0qvhd1dn2wm9gzyp6k7iq057xqpkngkb4cfmvmjqmf0vhysp371w"; depends=[]; };
-  SML = derive { name="SML"; version="0.1"; sha256="0pdj7321wy50v5l23hknlm30kp8cfgn072pbbifyp8qzmk0hyd8h"; depends=[glmnet Matrix lattice]; };
-  SMNCensReg = derive { name="SMNCensReg"; version="2.4"; sha256="1q5yjc1njlm3hd33fdjv9d46jawr5l7r1zzj4m22spd2q5cpv04i"; depends=[Matrix PerformanceAnalytics]; };
-  SmoothHazard = derive { name="SmoothHazard"; version="1.0.9"; sha256="01ipdkb51zwrwb1gj344y4gl0934y8j54738rdzffl2lq6r3w7kv"; depends=[prodlim mvtnorm]; };
-  smoothHR = derive { name="smoothHR"; version="1.0.1"; sha256="02kjqkgnhjwhq1vmva9nmy36a7bc6zjj6g81dw9m4zd3y9nbb005"; depends=[survival]; };
-  smoothie = derive { name="smoothie"; version="1.0-1"; sha256="12p4ig8fbmlsby5jjd3d27njv8j7aiwx0m2n1nmgvjj0n330s1kj"; depends=[]; };
-  smoothmest = derive { name="smoothmest"; version="0.1-2"; sha256="14cri1b6ha8w4h8m26b3d7qip211wfv1sywgdxw3a6vqgc65hmk5"; depends=[MASS]; };
-  smoothSurv = derive { name="smoothSurv"; version="1.3-2"; sha256="11aq3yb7q4pilp00l7q8r3ywbmwnka63kkjpvakp27mvaqyr02qr"; depends=[survival]; };
-  smoothtail = derive { name="smoothtail"; version="2.0.3"; sha256="0yr3j5mq1h9pd72kyi9z6wzly9cqkscim814yi710y79l03gp0fd"; depends=[logcondens]; };
-  SMPracticals = derive { name="SMPracticals"; version="1.4-2"; sha256="0apmkmsv2fqmxpgq08n9k9dvcknj74s4cpp0myjcd6kibb7g9slq"; depends=[ellipse MASS nlme survival]; };
-  SMR = derive { name="SMR"; version="1.0.0"; sha256="1479rkzwciw6h2r43wip52fmv5im33jrdphahcg38rfdqbx5ayrr"; depends=[]; };
-  sms = derive { name="sms"; version="2.3"; sha256="0grxyp590hj2rvw1fw3yidzkl8nqqp5a14bp9xfpdph2nyas61qq"; depends=[doParallel foreach]; };
-  smss = derive { name="smss"; version="1.0-1"; sha256="17a0x92hxzn212yiz87n7ssyi3bdhnyawxk1kkmk46q1ss22a1pm"; depends=[]; };
-  SMVar = derive { name="SMVar"; version="1.3.3"; sha256="17wr4lixy3p32gr4jq02d7zsr88yrbddjsvynzdsdrwbxf4mwqhp"; depends=[]; };
-  sn = derive { name="sn"; version="1.1-0"; sha256="0agilvhrg3x8xqysa098qjj0nzvfx6yps6v85jiwllhd1dp70fnl"; depends=[mnormt numDeriv]; };
-  sna = derive { name="sna"; version="2.3-2"; sha256="1dmdv1bi22gg4qdrjkdzdc51qsbb2bg4hn47b50lxnrywdj1b5jy"; depends=[]; };
-  snapshot = derive { name="snapshot"; version="0.1.2"; sha256="0cif1ybxxjpyp3spnh98qpyw1i5sgi1jlafcbcldbqhsdzfz4q10"; depends=[]; };
-  SNFtool = derive { name="SNFtool"; version="2.1"; sha256="12kjxgjazb0qivcyg0lkqlvkdk7algpw3s1ir8p5if5c8cpicjyy"; depends=[]; };
-  snow = derive { name="snow"; version="0.3-13"; sha256="1habq43ncac9609xky3nqfkbq52cz36dg8jbdihag269z1kazdnf"; depends=[]; };
-  SnowballC = derive { name="SnowballC"; version="0.5.1"; sha256="0kbg33hy6m2hv9jspyx6naqmk2q6h2zmvvczjmkwqvlhzlj0c5s4"; depends=[]; };
-  snowfall = derive { name="snowfall"; version="1.84-6"; sha256="1n9v9m4c02pspgkxfmq7zdk41s2vjcsk06b0kz9km4xy1x7k0hsg"; depends=[snow]; };
-  snowFT = derive { name="snowFT"; version="1.3-0"; sha256="10hhhzzzyz1ph7c8k08s79h4pdwq4jk8bh47y37ww0yjq0fd6gik"; depends=[snow]; };
-  SNPassoc = derive { name="SNPassoc"; version="1.9-2"; sha256="113byj8zbg6xyxb1qzm76sqfyk3fap0sd90691zzm1x2pbfnb3mh"; depends=[haplo_stats survival mvtnorm]; };
-  snpEnrichment = derive { name="snpEnrichment"; version="1.4-0"; sha256="0fdr27d7hk3vzvhrvgnypwcrk4y0sncrrg4kk730ynsv0ig7dswl"; depends=[]; };
-  snplist = derive { name="snplist"; version="0.12"; sha256="0jsf080pbpnsx2jygyqg0l14lsr4fvjzahgchdrawjhl2rky4nwl"; depends=[RSQLite Rcpp R_utils]; };
-  SNPmaxsel = derive { name="SNPmaxsel"; version="1.0-3"; sha256="0pjvixwqzjd3jwccc8yqq9c76afvbmfq0z1w0cwyj8bblrjpx13z"; depends=[mvtnorm combinat]; };
-  SNPMClust = derive { name="SNPMClust"; version="1.0"; sha256="1vyag8axrl888qhjsbv7g84hzfsnvxh5ccdcdriamy50c2chkji8"; depends=[MASS mclust]; };
-  snp_plotter = derive { name="snp.plotter"; version="0.5.1"; sha256="16apsqvkah5l0d5qcwp3lq2jspkb6n62wzr0wskmj84jblx483vv"; depends=[genetics]; };
-  snpStatsWriter = derive { name="snpStatsWriter"; version="1.5-6"; sha256="04qhng888yih8gc7yd6rrxvvqf98x3c2xxz22gkwqx59waqd4jlq"; depends=[colorspace]; };
-  SNPtools = derive { name="SNPtools"; version="1.1"; sha256="0l29kiqz4048x7amxx1qzkaw2xnd6lpdsdp5nq3rck9amx2hw64a"; depends=[]; };
-  SNSequate = derive { name="SNSequate"; version="1.1-1"; sha256="1jgpjws5apysp55pwy3x8mbzy4zjvv39anp6j2x4lgczh5nf49b6"; depends=[magic]; };
-  SOAR = derive { name="SOAR"; version="0.99-11"; sha256="1n38gx5sxpkqfkk4y6vpp6g19b8bs5bisni9wn6311s0csizp86m"; depends=[]; };
-  soc_ca = derive { name="soc.ca"; version="0.7.1"; sha256="0lg1bpbd0crywa29xc79cn3kr614wq4hr09xpwk17nv7q8qw8cnh"; depends=[ggplot2 gridExtra ellipse scales]; };
-  SocialMediaMineR = derive { name="SocialMediaMineR"; version="0.1"; sha256="113nyjncl5yi61hz8i7k60b3f0f9a5vyrd3s72nbmc44cnvr8fci"; depends=[RCurl jsonlite httr]; };
-  SocialNetworks = derive { name="SocialNetworks"; version="1.0"; sha256="0g6l1rf08qz0332fglc2gvkba55fjq9fiwf25rjqanh6spgk60fn"; depends=[Rcpp]; };
-  SOD = derive { name="SOD"; version="1.0"; sha256="0f0rh1qsjzxb3zzr440kvl6fnnj7dvc5apdzs5hpf6xrlfg863pk"; depends=[Rcpp]; };
-  SoDA = derive { name="SoDA"; version="1.0-6"; sha256="0sh2dan4ga2k14rirnkvgzsvbksx1k4ika5gkf5cy247rjkqnpj0"; depends=[]; };
-  SODC = derive { name="SODC"; version="1.0"; sha256="18s4rcp5dzchvwrzzbfhbs3x91zlg1rymjarxjk5i429mfrn0krx"; depends=[magic ppls psych MASS]; };
-  softclassval = derive { name="softclassval"; version="1.0-20130317"; sha256="1ifqm4a3xxi9wd4l1q4l5h4q5f8hp0k28mqpszzj8k1czbph88ql"; depends=[arrayhelpers]; };
-  SoftClustering = derive { name="SoftClustering"; version="0.14.02"; sha256="15j79h1ccvzfpi55prbv2d7bms1grgry0ka58cr757cvwavrnbb8"; depends=[]; };
-  softImpute = derive { name="softImpute"; version="1.0"; sha256="0pkpr8pxvrrw4p95907bnhl3k54dxz5r2fk8zi56kilrarhzchqr"; depends=[Matrix]; };
-  soilDB = derive { name="soilDB"; version="1.3-2"; sha256="0rpkj9rjk75nz4dp0hkp4xjmd5s4lwppabbdqppwc5xs0565rdb6"; depends=[RODBC aqp plyr Hmisc]; };
-  soilphysics = derive { name="soilphysics"; version="1.1"; sha256="1a7dcdhqm4dfdyicbpwc1wlj13y1pwkicyqkam1pizd5wblhr97b"; depends=[rpanel MASS]; };
-  soilprofile = derive { name="soilprofile"; version="1.0"; sha256="0sdfg6m2m6rb11hj017jx2lzcgk6llb01994x749s0qhzxmvx9mb"; depends=[aqp lattice munsell splancs]; };
-  SoilR = derive { name="SoilR"; version="1.1-23"; sha256="1cryypgnbck5hvkc2izrd8r10q2b97f2p1s46x4dk8p099gck5wg"; depends=[deSolve RUnit]; };
-  soil_spec = derive { name="soil.spec"; version="2.1.3"; sha256="17fm4hyx8g6pj7qv11xlnx459x1s41fapz6ck4my9br734gcm4ns"; depends=[KernSmooth wavelets hexView pls]; };
-  soiltexture = derive { name="soiltexture"; version="1.2.13"; sha256="10f4fdvicm7gj5zizpw197avzsbzj9x1g92y1ibh6lpdx3qz0ba1"; depends=[sp MASS]; };
-  soilwater = derive { name="soilwater"; version="1.0.1"; sha256="08rz1i5dsgwfvfd4sl5x9j970v82v3kny0rqg1zbdnr53vp2xc7j"; depends=[]; };
-  solaR = derive { name="solaR"; version="0.38"; sha256="0cvza0d4kd47kr6749ysvw664kjja87ppn4jvan4hrklczbpdc9z"; depends=[lattice latticeExtra zoo]; };
-  SOLOMON = derive { name="SOLOMON"; version="1.0-1"; sha256="0z91wsrgdir25ks4dnirzsg4f1ngal7n40235m3w43j6y6dhkqrc"; depends=[]; };
-  solr = derive { name="solr"; version="0.1.4"; sha256="0b1f6mf8fi2ql8j06b0mkk7nyy5wj1zsg46lfxi6bp8n4ywbym9n"; depends=[plyr httr XML assertthat rjson]; };
-  som = derive { name="som"; version="0.3-5"; sha256="01xsysmqj0zhzifqpwcrs0mflh56ndv4q3nm5n5imx7wmzx2lrzp"; depends=[]; };
-  soma = derive { name="soma"; version="1.1.0"; sha256="0x1wnn22mf14kix3rpkshf585vnddappd8w035pdv8qfsh5zzw6f"; depends=[reportr]; };
-  somebm = derive { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; };
-  someKfwer = derive { name="someKfwer"; version="1.1"; sha256="023lrf62z3ik3g6qljmyjkg1lxs21q93ajj3hyjri14431ccc2pg"; depends=[]; };
-  someMTP = derive { name="someMTP"; version="1.4.1"; sha256="19bsn8rny1vv9343bvk8xzhh82sskl0zg0f5r59g9k812q5llchn"; depends=[]; };
-  somplot = derive { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; };
-  soobench = derive { name="soobench"; version="1.0-73"; sha256="1y2r061pd4kr0kdgp8db3qy2aj07jdiyvy2py4fmwg6b8pcf9y0l"; depends=[]; };
-  SortableHTMLTables = derive { name="SortableHTMLTables"; version="0.1-3"; sha256="1jgrqsm0cj8qlk0s4qn3b83w96mgpp5gmhgcg9q2glc72v8c4ljh"; depends=[testthat brew]; };
-  sortinghat = derive { name="sortinghat"; version="0.1"; sha256="1wrxwhdp3gj1ra0rgldnmc0w019bnjb6z9j20c5p1ab09x4dmlny"; depends=[MASS bdsmatrix mvtnorm]; };
-  sorvi = derive { name="sorvi"; version="0.6.23"; sha256="070g6kxnacqwzl4djhbb5zjvp71997xl2l53cfni05yf7mkm17as"; depends=[reshape pxR ggplot2 plyr RColorBrewer XML]; };
-  sos = derive { name="sos"; version="1.3-8"; sha256="0vcgq8hpgdnlmkxc7qh1jqigr0gvm9x3w4ijbhma7x4i5fx3c2il"; depends=[brew]; };
-  sos4R = derive { name="sos4R"; version="0.2-11"; sha256="0r4lficx8wr0bsd510z4cp6la32xf928rsiznbywpxghnypsrcgg"; depends=[XML RCurl sp]; };
-  sotkanet = derive { name="sotkanet"; version="0.9.03"; sha256="1h8jmwv99hcrl5hkd99ypphvl8hx6k765vb8aphzp8a0vh42pkl1"; depends=[ggplot2 rjson]; };
-  soundecology = derive { name="soundecology"; version="1.1.1"; sha256="0md33ipcqcsbl361s242c4wk9szsl8sywks6ikzljabrfpjy3bkp"; depends=[pracma oce ineq vegan tuneR seewave]; };
-  source_gist = derive { name="source.gist"; version="1.0.0"; sha256="03bv0l4ccz9p41cjw18wlz081vbjxzfgq3imlhq3pgy9jdwcd8fp"; depends=[RCurl rjson]; };
-  sp = derive { name="sp"; version="1.0-15"; sha256="1pzkh1zzp61x9qg7k466syip1bcmp8m2j9vr964nv0fha9cfq6aj"; depends=[lattice]; };
-  sp23design = derive { name="sp23design"; version="0.9"; sha256="1ihvcld19cxflq2h93m9k9yaidhwixvbn46fqqc1p3wxzplmh8bs"; depends=[mvtnorm survival]; };
-  spa = derive { name="spa"; version="2.0"; sha256="1np50qiiy3481xs8w0xfmyfl3aypikl1i1w8aa5n2qr16ksxrnq3"; depends=[cluster MASS]; };
-  SPA3G = derive { name="SPA3G"; version="1.0"; sha256="0fcbrg43c5r2n5p7bb8wslqzhl5h31paxr9rla583lkm0baxnmym"; depends=[]; };
-  spaa = derive { name="spaa"; version="0.2.1"; sha256="0qlfbfvv97avbnixm5dz9il3dmd40wnpvv33jh7fa0mh740bircy"; depends=[]; };
-  space = derive { name="space"; version="0.1-1"; sha256="1qigfz62xz47hqi43aii3yr4h7ddvaf11a5nil7rqprgkd0k6mv3"; depends=[]; };
-  SPACECAP = derive { name="SPACECAP"; version="1.1.0"; sha256="1m5x2rydppib6fj7wlc6pq4gyvyvhw49yx9qgy4c2rk648wxnhrj"; depends=[coda]; };
-  spaceExt = derive { name="spaceExt"; version="1.0"; sha256="0lp8qmb7vcgxqqpsi89zjy7kxpibg3x2mq205pjmsrbbh7saqzr4"; depends=[limSolve glasso]; };
-  spacejam = derive { name="spacejam"; version="1.1"; sha256="1mdxmfa1aifh3h279cklm4inin0cx3h0z2lm738bai34j6hpvar7"; depends=[igraph Matrix]; };
-  spacetime = derive { name="spacetime"; version="1.1-0"; sha256="0hmwlvam57i58lhfy9328ld1w4c5ilif6s1wvz6l9zvh036169zi"; depends=[sp zoo xts intervals lattice rgeos]; };
-  spacodiR = derive { name="spacodiR"; version="0.13.0115"; sha256="0c0grrvillpwjzv6fixviizq9l33y7486ypxniwg7i5j6k36nkpl"; depends=[picante colorspace Rcpp]; };
-  spacom = derive { name="spacom"; version="1.0-4"; sha256="1jfsbgy7b0mwl4n2pgrkkghx9p8b0wipvg4c5jar6v8ydby6qg94"; depends=[spdep foreach iterators lme4 nlme Matrix]; };
-  spam = derive { name="spam"; version="0.41-0"; sha256="0pky172hycis2idq4274f9i4vhvj3lz7fpr869vm4qklb91j81sp"; depends=[]; };
-  spaMM = derive { name="spaMM"; version="1.2.0"; sha256="0q8gfy9f0hrf82yp4rnwmjpyh97dz4yx1bhxiww8lh3dsbaagjns"; depends=[Matrix MASS lpSolveAPI proxy geometry Rcpp]; };
-  SPAr = derive { name="SPAr"; version="0.1"; sha256="068jlsvaxx80ih6n86286m2r75cvy6w0m51vpj4gfclhh38py4p4"; depends=[]; };
-  sparc = derive { name="sparc"; version="0.9.0"; sha256="0jsirrkmvrfxav9sphk8a4n52fg0d1vnk3i8m804i4xl0s7lrg8s"; depends=[]; };
-  sparcl = derive { name="sparcl"; version="1.0.3"; sha256="1348pi8akx1k6b7cf4bhpm4jqr5v8l5k086c7s6rbi5p6qlpsrvz"; depends=[]; };
-  sparkTable = derive { name="sparkTable"; version="0.11.0"; sha256="1293w8xyav7fqrsicx61g4hfq4v4pcd00msi2rm9y5y51b313pm1"; depends=[Cairo gridExtra ggplot2 shiny xtable StatMatch Rglpk pixmap RGraphics]; };
-  sparktex = derive { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; };
-  SPARQL = derive { name="SPARQL"; version="1.16"; sha256="0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"; depends=[XML RCurl]; };
-  sparr = derive { name="sparr"; version="0.3-5"; sha256="0vyy4zvvmkdr285wmmd3c84mvkwsz367k44b2i1j0sfj62m9w7q2"; depends=[spatstat rgl MASS]; };
-  sparseBC = derive { name="sparseBC"; version="1.0"; sha256="16x581pm9fkbb4kp8lvz95mnckgrjbiwj9zin8hzyxdl1nrg4c3m"; depends=[glasso]; };
-  sparsediscrim = derive { name="sparsediscrim"; version="0.2"; sha256="0m8ccmqpg1np738njavf736qh917hd3blywyzc3vwa1xl59wqccl"; depends=[corpcor bdsmatrix mvtnorm]; };
-  SparseGrid = derive { name="SparseGrid"; version="0.8.2"; sha256="057xbj2bhjm9i32kn39iscnqqdsvsmq0b8c92l8hnf9avf1sx10x"; depends=[]; };
-  sparseHessianFD = derive { name="sparseHessianFD"; version="0.1.1"; sha256="15x9v7b40mxl1z9ncazxzfzz7igvzmck22wlgj2y7c2ja8jxi6n2"; depends=[Rcpp RcppEigen Matrix]; };
-  sparseLDA = derive { name="sparseLDA"; version="0.1-6"; sha256="0k9v2pjx4q4nhvpjhv496v4gfr5h19w0h2h7za7j6zqfn6aygvz6"; depends=[lars elasticnet MASS mda]; };
-  sparseLTSEigen = derive { name="sparseLTSEigen"; version="0.2.0"; sha256="11llmrkq0pnrdphgjvhmg269bq3xbbn4s7kd7xhvk62sigvspkcj"; depends=[robustHD Rcpp RcppEigen]; };
-  SparseM = derive { name="SparseM"; version="1.05"; sha256="041mkl0dlydlar0v0a66n9s1n0klayr08hwzpmwr2hsr05z0z380"; depends=[]; };
-  sparseMVN = derive { name="sparseMVN"; version="0.1.0"; sha256="1xcq1w80ypqdz4zxwhnnzc50lhja6qxfxxnrg5xkgzpmy1zvjbzq"; depends=[Matrix]; };
-  sparsenet = derive { name="sparsenet"; version="1.2"; sha256="106a2q4syrcnmicrx92gnbsf2i5ml7pidwghrpl6926glj59j248"; depends=[glmnet shape]; };
-  spartan = derive { name="spartan"; version="2.0"; sha256="05xzhmyfx6krdsrqy2x8rsybvh3pc88nrggk955lqy7vwrdpf1j7"; depends=[]; };
-  spatcounts = derive { name="spatcounts"; version="1.1"; sha256="0rp8054aiwc62r1m3l4v5dh3cavbs5h2yb01453bw9rwis1pj2qm"; depends=[]; };
-  spate = derive { name="spate"; version="1.3"; sha256="17aiqi5cd17y9kaqx9yssk772ghcldk9i4s8nyafq8zp8d4r85i1"; depends=[mvtnorm truncnorm]; };
-  spatgraphs = derive { name="spatgraphs"; version="2.62"; sha256="1h7sv6qc5zhaiaqlrzagrlc2mxlasdzilmi5q9nrd1vsdzsqxvb4"; depends=[]; };
-  spatial = derive { name="spatial"; version="7.3-8"; sha256="1vc6pc5i7nbazbh5y3hhr9kgaq0gd9xi89xc8ah4n0lrivjbxfa8"; depends=[]; };
-  spatialCovariance = derive { name="spatialCovariance"; version="0.6-8"; sha256="06z6jz9sadqc382w07ysnnlhqc96hxaasz9wncbhipd4cd1y4daa"; depends=[]; };
-  SpatialEpi = derive { name="SpatialEpi"; version="1.2.1"; sha256="02mvahpbrlcnxmf272fk46wykv9s2lcjqd5yhd80dfs78qjwly77"; depends=[sp Rcpp MASS maptools spdep]; };
-  SpatialExtremes = derive { name="SpatialExtremes"; version="2.0-0"; sha256="0fjh4cjzljwzxk4bhcrff9wnkskaiawbj7z6swrj1xl35mq4dljx"; depends=[]; };
-  spatial_gev_bma = derive { name="spatial.gev.bma"; version="1.0"; sha256="1rjn0gsbgiv69brhnm0zj25ya3nyfh4yf6jizng85mvss3viv3hj"; depends=[SpatialExtremes msm coda]; };
-  spatialkernel = derive { name="spatialkernel"; version="0.4-19"; sha256="0gbl6lrbaxzv2f975k0vd6ghrljgf1kjazld3hm7781kv1f87lji"; depends=[]; };
-  SpatialNP = derive { name="SpatialNP"; version="1.1-1"; sha256="108gxk0gbbjck9bgxvqb9h216ww21lmh2by0hrhzwx5r63hhcbmd"; depends=[]; };
-  SpatialPack = derive { name="SpatialPack"; version="0.2-3"; sha256="1gs0x3wj3hj663m6kszwhy3ibcx0lrslr127miy1rhz8683ij71c"; depends=[]; };
-  spatialprobit = derive { name="spatialprobit"; version="0.9-10"; sha256="1z88nss69pixazqk3b6rpyc7mjryfznrgw9swfyfxky0bsdfj6mv"; depends=[Matrix spdep mvtnorm tmvtnorm]; };
-  spatialsegregation = derive { name="spatialsegregation"; version="2.40"; sha256="0kpna2198nrj93bjsdgvj85wnjfj18psdq919fjnnhbzgzdkxs7l"; depends=[spatstat]; };
-  spatialTailDep = derive { name="spatialTailDep"; version="1.0"; sha256="070jsz86jc4qvwa8j9gfksy23hf0wgj307w7jd5107ng1f42047v"; depends=[cubature mvtnorm SpatialExtremes]; };
-  spatial_tools = derive { name="spatial.tools"; version="1.4.8"; sha256="0qnsjfx974na87p3n7sp711sc13v6dmpvb2kjpvscixs8rsy03y1"; depends=[iterators foreach rgdal raster mmap abind doParallel]; };
-  SpatialTools = derive { name="SpatialTools"; version="0.5.8"; sha256="18zchr8bfjqdr9j6vh6365mhrj2n0ns1ixvmas5s0ppiim59jl7j"; depends=[spBayes Rcpp]; };
-  SpatialVx = derive { name="SpatialVx"; version="0.2-1"; sha256="0j6m698nyd9nq0qx1s2ykk05q2scj9jb0m813r0xyymf0sl0l90a"; depends=[spatstat fields smoothie smatr turboEM distillery maps boot CircStats fastcluster waveslim]; };
-  SpatioTemporal = derive { name="SpatioTemporal"; version="1.1.7"; sha256="0rc5zf8cnjw59azgqmslfz2dl5i17dfmb7ls5c849qybp2gn2zdv"; depends=[Matrix MASS]; };
-  spatstat = derive { name="spatstat"; version="1.37-0"; sha256="1vz22y6k79xqbcl5qdbjn36qwlc7sh7jlcvrdq9v1sbmqvdj2j23"; depends=[mgcv deldir abind tensor polyclip]; };
-  spatsurv = derive { name="spatsurv"; version="0.9-6"; sha256="0gq0m27i96v3pasq8b4d6dyi6x3irxm648f3l2sw693dm12gcqrx"; depends=[survival sp iterators RandomFields fields rgl Matrix stringr]; };
-  spBayes = derive { name="spBayes"; version="0.3-8"; sha256="0pmriffqnblqyd1332a2pqrjr7y3wllb17swb403h7c9dph6mzzv"; depends=[coda magic abind Formula]; };
-  spBayesSurv = derive { name="spBayesSurv"; version="1.0.0"; sha256="17di7irh9sad3jviw8adp3z0v1qi8j6rsh2wv0y6k59milflsdn9"; depends=[Rcpp survival]; };
-  spc = derive { name="spc"; version="0.5.0"; sha256="0bh4a3dpavczckhpwqax1h5w73ai3mkf0nwq9nhlvkdrh6k6j6cy"; depends=[]; };
-  spcadjust = derive { name="spcadjust"; version="0.1-2"; sha256="1i64hbslsmnap6ljwpzygrbcb2q1zp0jsm02x2a29nyxq05wwrrv"; depends=[]; };
-  spcosa = derive { name="spcosa"; version="0.3-5"; sha256="15q0f2sfhm1b13zs5a50yfvqhgcn4fyncf0h5ivin2k9g5xvq4k4"; depends=[rJava ggplot2 sp]; };
-  spcov = derive { name="spcov"; version="1.01"; sha256="1brmy64wbk56bwz9va7mc86a0ajbfy09qpjafyq2jv7gm7a35ph5"; depends=[]; };
-  spcr = derive { name="spcr"; version="1.2"; sha256="0xixl6b4h3iawpbfgdni6z2v7ch3ydn7s9fyr8g0sjr4svzqbyiv"; depends=[]; };
-  spd = derive { name="spd"; version="2.0-0"; sha256="0aznzj68gynhx295gdb4sb7xxjiya4vbdg3gshfs0mwg1qzrhxy9"; depends=[KernSmooth]; };
-  spdep = derive { name="spdep"; version="0.5-74"; sha256="0f9ahp57dfincwjazx0fgqzk4i2nc6fxra7dlfa8xvzwrp1yll05"; depends=[sp Matrix LearnBayes deldir boot coda nlme MASS]; };
-  spdynmod = derive { name="spdynmod"; version="1.0"; sha256="0az4y95j1x0kid6smc0k20w1q2bnjnr267rw8fk0j41rrm7njcai"; depends=[deSolve raster animation]; };
-  spe = derive { name="spe"; version="1.1.2"; sha256="0xyx42n3gcsgqmy80nc9la6p6gq07anpzx0afwffyx9fv20fvys0"; depends=[]; };
-  speccalt = derive { name="speccalt"; version="0.1.1"; sha256="0j7rbidmmx78vgwsqvqjbjjh92fnkf2sdx0q79xlpjl2dph7d6l6"; depends=[]; };
-  SPECIES = derive { name="SPECIES"; version="1.0"; sha256="0p45llf2wjr467bqr4pbljfank9zz3fm42yl3i0r3jbkxgz0rjf0"; depends=[]; };
-  SpeciesMix = derive { name="SpeciesMix"; version="0.3.1"; sha256="0wl15k00d7n9pmnp1kr28p05z4vrziprcdndw77kwkcgv51cvllk"; depends=[MASS numDeriv]; };
-  specificity = derive { name="specificity"; version="0.1.1"; sha256="1gvlyx9crkzm3yyp1ln5j9czcg83k7grm6ijabhl919gjjr1p60n"; depends=[car]; };
-  SpecsVerification = derive { name="SpecsVerification"; version="0.1-1"; sha256="0bym4r2bz02v7cw0sn5bpsrnyvrm9jq2s9hz621x10d37iymc7m0"; depends=[]; };
-  spectralGP = derive { name="spectralGP"; version="1.3.1"; sha256="1bc8y4wk09spsvbv8cn1iqq2y9qdlvrcnpqh2s0b8j4nxx262gyb"; depends=[]; };
-  spectral_methods = derive { name="spectral.methods"; version="0.7.2.125"; sha256="06d7l3hv1yi887yd3ig63n2ajyxa7a0cpjaza8spif9yj5jia35d"; depends=[Rssa raster nnet abind RNetCDF ncdf_tools foreach JBTools DistributionUtils RColorBrewer]; };
-  speedglm = derive { name="speedglm"; version="0.2"; sha256="1vl3q67qhrvg01m2yaxrjz4rc3wh1mrmr3hdh0bbdg8rjq1khbl0"; depends=[Matrix]; };
-  speedRlibs = derive { name="speedRlibs"; version="1.1-36"; sha256="1q0kv07wgirfmvaqrnyfr6csz8yycjnpqlvxq9w2k5agsn86pbr8"; depends=[]; };
-  speedRlibTF = derive { name="speedRlibTF"; version="0.3-39"; sha256="061cnc9qy1zpfr0k9a57jfy3xf25gkl67f22sniykmk31v0vr60r"; depends=[]; };
-  speff2trial = derive { name="speff2trial"; version="1.0.4"; sha256="0dj5mh2sdp6j4ijgv14hjr39rasab8g83lx1d9y50av11yhbf2pw"; depends=[leaps survival]; };
-  SPEI = derive { name="SPEI"; version="1.6"; sha256="0mbz4nydnzwypfbi1d9fjy09x6133q096qbfrc913dbidzkvfpqv"; depends=[lmomco]; };
-  sperich = derive { name="sperich"; version="1.5-5"; sha256="0xwzyfx3z06lapvhzdzrfr9hw2hm8d0cyfmc29p5fcplmjm24idh"; depends=[]; };
-  sperrorest = derive { name="sperrorest"; version="0.2-1"; sha256="17jq8r98pq3hsyiinxg30lddxwpwi696srsvm3lfxrzk11076j6v"; depends=[ROCR rpart]; };
-  spfrontier = derive { name="spfrontier"; version="0.1.10"; sha256="0x1f8g8lg1f5kp9m2pnj8qbv5pjk40kh40yd3s6iwgny4hjsmg60"; depends=[moments ezsim tmvtnorm mvtnorm Matrix]; };
-  spgrass6 = derive { name="spgrass6"; version="0.8-3"; sha256="0syrm4fgyzslvl9k8szlha01iqkz02nla08whys3pvf4s9zjd4xl"; depends=[sp XML]; };
-  spgwr = derive { name="spgwr"; version="0.6-24"; sha256="10yiyq704gs51h7i2nrd5r8730np7hvkcfnn3mly5wgaanrcb6n4"; depends=[sp]; };
-  sphereplot = derive { name="sphereplot"; version="1.5"; sha256="1i1p20h95cgw5wqp9bwfs9nygm4dxzsggz08ncjs1xrsvhhq9air"; depends=[rgl]; };
-  SphericalCubature = derive { name="SphericalCubature"; version="1.0.1"; sha256="0j592zvs07yc6amahlxgdw0k1vqr89gvcq22vcwzkx62igvlf6pv"; depends=[cubature]; };
-  SpherWave = derive { name="SpherWave"; version="1.2.2"; sha256="1wd9pql97m1zl0axzpkfq9sxadrm5cfax0gxh0ncqadaq7w7lml4"; depends=[fields]; };
-  sphet = derive { name="sphet"; version="1.5"; sha256="00hgzashw5qdv7j2q0cz433k595d8dzlxr89kvz1z2cpb87pfv54"; depends=[nlme spdep Matrix sp]; };
-  spi = derive { name="spi"; version="1.1"; sha256="0gc504f7sji5x0kmsidnwfm7l5g4b1asl3jkn2jzsf2nvjnplx1z"; depends=[]; };
-  SPIAssay = derive { name="SPIAssay"; version="1.0.0"; sha256="1rwa2iicwdm7z8khlnly0ybrqiisw420anr2pcdd5chxa48h8apg"; depends=[]; };
-  spider = derive { name="spider"; version="1.3-0"; sha256="1p6f8mlm055xq3qwa4bqn9kvq60p8fn2w0cc6qcr22cblm5ww7jp"; depends=[ape pegas]; };
-  spikeslab = derive { name="spikeslab"; version="1.1.5"; sha256="0dzkipbrpwki6fyk4hqlql3yhadwmclgbrx00bxahrmlaz1vjzh2"; depends=[lars randomForest]; };
-  spikeSlabGAM = derive { name="spikeSlabGAM"; version="1.1-7"; sha256="1hdclj3fq31n9hvyggj2rvz2m95kjszbcswa46vfi2vyiwbb2bia"; depends=[ggplot2 akima coda cluster gridExtra MASS MCMCpack mvtnorm R2WinBUGS reshape scales]; };
-  SPIn = derive { name="SPIn"; version="1.1"; sha256="109xxrg7bsmmfd6ik85kxrw2qclxbh5ipsh5mmrdl4hki3hnyp2s"; depends=[quadprog]; };
-  splancs = derive { name="splancs"; version="2.01-34"; sha256="0r7kn16mkpzyj52i28w40k0hngkf4i3si4qvkb8m5s641lw2jmpk"; depends=[sp]; };
-  splitstackshape = derive { name="splitstackshape"; version="1.2.0"; sha256="0p9av1zzzl6h5d3fprwcd8ng1g2s8wq7bzid7lqig3k8mcgzwm20"; depends=[data_table]; };
-  splm = derive { name="splm"; version="1.1-0"; sha256="1dhfasan5abr9gf6lfdl83cr47ckkj5sqjqgclnc6f6a2125q1fi"; depends=[MASS nlme spdep plm Matrix bdsmatrix spam ibdreg car lmtest Ecdat maxLik]; };
-  spls = derive { name="spls"; version="2.2-1"; sha256="0zgk9qd825zqgikpkg13jm8hi6ncg48qw5f985bi145nwy9j19xs"; depends=[MASS nnet pls]; };
-  splus2R = derive { name="splus2R"; version="1.2-0"; sha256="0kmyr1azyh0m518kzwvvgz7hv1x5myj37xn7w2gfn0vbn5xl8pv1"; depends=[]; };
-  splusTimeDate = derive { name="splusTimeDate"; version="2.5.0-135"; sha256="0hghggdcr70vfjx4npj37nmd96qvgrp1gpwa9bznvjkvyfawwy6i"; depends=[]; };
-  splusTimeSeries = derive { name="splusTimeSeries"; version="1.5.0-73"; sha256="1csk0ffgg1bi2k1m2bbxl6aqqqxf6i8sc8d4azip8ck7rn8vya46"; depends=[splusTimeDate]; };
-  spMC = derive { name="spMC"; version="0.3.1"; sha256="12ymyyy77y7azbg983y091dfqcv68c7lpz2rcnnn384jqp7b2c4v"; depends=[]; };
-  SPmlficmcm = derive { name="SPmlficmcm"; version="1.1"; sha256="02hg9dzfnxa8cz31kkq52707f7y5471cq78asfbrf397mfz82wbl"; depends=[numDeriv nleqslv boot]; };
-  SPMS = derive { name="SPMS"; version="2.0"; sha256="150kb4gjiksp3kc7p9j5zqc4955rq4fb27as71z89h23mkswz5r5"; depends=[Matrix]; };
-  spnet = derive { name="spnet"; version="0.9.0.1"; sha256="0fy19y155m1fmifdnsyb8y71xgnk3hyril28x68bwvn2v9d737k5"; depends=[sp shape]; };
-  spocc = derive { name="spocc"; version="0.2.0"; sha256="069yfksdk10779pb6xyg8cgq83ipbigi2zs9dymqyk8q6w1y8xhf"; depends=[ggplot2 rinat rbison rgbif ecoengine rebird AntWeb plyr ggmap maptools rworldmap sp rgeos lubridate RColorBrewer httr XML rgdal RJSONIO leafletR data_table assertthat whisker]; };
-  SPODT = derive { name="SPODT"; version="0.9"; sha256="0r5zr0h5dgbkpn6dlvpj58s2wp3ngb7zb1xdapq1j25msmhwn5yy"; depends=[rgdal sp tree]; };
-  sporm = derive { name="sporm"; version="1.1"; sha256="07sxz62h4jb7xlqg08sj4wpx121n9jfk65196mnxdvb36lqmb4hp"; depends=[]; };
-  SportsAnalytics = derive { name="SportsAnalytics"; version="0.2"; sha256="1vb080ak1mfvr6d0q9i3r8hd547ba80bavjdcri0gclqqcjf1ach"; depends=[]; };
-  SPOT = derive { name="SPOT"; version="1.0.4184"; sha256="0rikfs2rha7q2xbycvky8si2ccgmamcn662g8ni105cr6m9hvvpc"; depends=[rpart emoa]; };
-  sprsmdl = derive { name="sprsmdl"; version="0.1-0"; sha256="09klwsjp5w6p7dkn5ddmqp7m9a3zcmpr9vhcf00ynwyp1w7d26gi"; depends=[]; };
-  SPSL = derive { name="SPSL"; version="0.1-8"; sha256="1jg1nfhz8qml1wwqa4d0w7vkdmbgdy5xlfqx0h2pdw2z8iij3xxc"; depends=[]; };
-  spsmooth = derive { name="spsmooth"; version="1.1-3"; sha256="09b740586zyi8npq0bmy8qifs9rq0rzhs9c300fr6pjpc7134xn4"; depends=[mgcv]; };
-  spsurvey = derive { name="spsurvey"; version="2.6"; sha256="1s48acqi502mdabhymhn0jjsghnlh2w6wnrfaa9gv0a7xjvjkydq"; depends=[sp deldir foreign MASS rgeos]; };
-  spt = derive { name="spt"; version="1.13-8-8"; sha256="18s74pxfmsjaj92z2a34nq90caf61s84c616yv33a0xvfvp32qr5"; depends=[]; };
-  spTimer = derive { name="spTimer"; version="1.0-2"; sha256="1f0y0bzipk0j272w8d31rw8l0xvw5hj64d5j9cfvjzgbp9kzp56h"; depends=[coda forecast spacetime]; };
-  spuRs = derive { name="spuRs"; version="2.0.0"; sha256="0lbc3nny6idijdaxrxfkfrn40bxfyp9z3yl9mwb1k6cyd10v5mfj"; depends=[MASS lattice]; };
-  sqldf = derive { name="sqldf"; version="0.4-7.1"; sha256="03pg1wrkbhh6yi794rf5a96kls0zixqz50ralznvgd0zyvmd3cz2"; depends=[gsubfn proto RSQLite RSQLite_extfuns DBI chron]; };
-  sqliter = derive { name="sqliter"; version="0.1.0"; sha256="17jjljq60szz0m8p2wc5l56659aap7an5gknc848dp89ycjgj3zx"; depends=[stringr functional DBI RSQLite]; };
-  sqlshare = derive { name="sqlshare"; version="1.0.3"; sha256="1qy8vlzi6i4wsr53i71jlsv1b7ww254mbk2qzsvmcrranf42zbp8"; depends=[RCurl]; };
-  sqlutils = derive { name="sqlutils"; version="1.1.2"; sha256="1d3x4wid7f9h2y36avsajjvshzcszr2nby71ixfdq3iv8z01z4j3"; depends=[roxygen2 stringr DBI]; };
-  SQN = derive { name="SQN"; version="1.0.5"; sha256="0kb8kf6g482zqdp4avwvhs3pqghfny757dbzfl1abaigmvwvx4qj"; depends=[mclust nor1mix]; };
-  SQUAREM = derive { name="SQUAREM"; version="2012.7-1"; sha256="17d5b9h7h8ayasi4zg790b3a11rka8dkfcmvhrjg4rvlggwjda5j"; depends=[]; };
-  squash = derive { name="squash"; version="1.0.6"; sha256="16iplngzzlif999z821a9bwx9jlmikdvwnk6p6d9w75b1fsbc0pz"; depends=[]; };
-  sra = derive { name="sra"; version="0.1"; sha256="165r1aiv17gdhln2374724nx04wjcdpillxwwkxgshz3kjyvajvj"; depends=[]; };
-  sROC = derive { name="sROC"; version="0.1-2"; sha256="0cp6frhk9ndffb454dqp8fzjrla76dbz0mn4y8zz1nbq1jzmz0d3"; depends=[]; };
-  SRPM = derive { name="SRPM"; version="0.1-7"; sha256="1c7mca1p0z48w5jbywqqfbdwzcimy24fm23h5n930mxbxgh51shk"; depends=[stashR filehash cacheSweave]; };
-  SRRS = derive { name="SRRS"; version="0.1.1"; sha256="0jv545a97q4pyl89lmhn3y0jhdzyq033mvx144x8lcgx59s7cyi3"; depends=[tcltk2 gtools]; };
-  ss3sim = derive { name="ss3sim"; version="0.8.2"; sha256="1gj3kf4ccd5n2jr4sm50gny5x1zq4brkhqgw0nww41spnimascfr"; depends=[plyr r4ss gtools lubridate reshape2]; };
-  ssanv = derive { name="ssanv"; version="1.0-2"; sha256="18ib0djqxjpp4xgvsffwqgxqljpwc24ysxj26phpr6p8kdl3hr2f"; depends=[]; };
-  SSDforR = derive { name="SSDforR"; version="1.4.6"; sha256="1ab4z7zm08wgy9vm1bbfgrxhizly5wpwzk8ikqzkfpvy43fgv80m"; depends=[psych]; };
-  sse = derive { name="sse"; version="0.5-1"; sha256="0g0bwmgc585haqbb13366s3pv1vdh793hwwibz7im0avjs2ldsjq"; depends=[lattice]; };
-  ssfit = derive { name="ssfit"; version="1.1"; sha256="1fais0msi2ppgfp0vbx3qri7s9zs51i7n90w36xkwwac4f46bq5y"; depends=[survey]; };
-  ssh_utils = derive { name="ssh.utils"; version="1.0"; sha256="08313zzzgcyvzkrkq0w0yf748ya1a9shx5xnan5891v0lah9v0b1"; depends=[stringr]; };
-  ssize_fdr = derive { name="ssize.fdr"; version="1.1"; sha256="00y00cb0bhsk0qcq9f96dcmmzmy88k1qyhx9ampws34n133cl509"; depends=[]; };
-  ssmrob = derive { name="ssmrob"; version="0.4"; sha256="1inndspir7571f54kalbj0h599v9k6dxdmp0n1l5r3a62vn45hd3"; depends=[sampleSelection robustbase mvtnorm MASS]; };
-  SSN = derive { name="SSN"; version="1.1.3"; sha256="0qn3yd5xg0irflh8dsifan455x4k7s63zva94843ihib12zf22cq"; depends=[RSQLite sp MASS igraph maptools lattice]; };
-  sspline = derive { name="sspline"; version="0.1-6"; sha256="0d6ms8szyn39c7v0397d5ar2hrl8v1l2b7m8hlj37hgp70b9s55h"; depends=[]; };
-  sss = derive { name="sss"; version="0.0-11"; sha256="0k7p1ws0w7wg9wyxcg1zpk8q6kr32l3jl6yd9r4qmzq04dwqrdgz"; depends=[plyr XML]; };
-  SSsimple = derive { name="SSsimple"; version="0.6.4"; sha256="0p7d4hx7mhn5myq8ajcij6hhg79rjxigk5v8z93yfdw4gjcb5wad"; depends=[mvtnorm]; };
-  ssvd = derive { name="ssvd"; version="1.0"; sha256="1fdpr38qi59ijrz16jixn6ii1hvmxfjirjqfcp7dxrqz9nx8x0sk"; depends=[]; };
-  ssym = derive { name="ssym"; version="1.3"; sha256="00bgqcf7l6mfjqxsvarh4g78hq21k4dq883c5yd7xkw609dp94pw"; depends=[GIGrvg numDeriv gsl normalp]; };
-  st = derive { name="st"; version="1.2.2"; sha256="0dbs95iaac3zvcgrndqic6rwchyvkbda641pv0dvj7h64c3k8w24"; depends=[sda fdrtool]; };
-  stab = derive { name="stab"; version="0.1.8"; sha256="1rbwfxdbdqb1l91xmnnz5z5m353z4rjihr0c1f7r77a0zl7sa3zj"; depends=[MASS reshape]; };
-  stabledist = derive { name="stabledist"; version="0.6-6"; sha256="0s59jp3y5ks4rfj7x76vb9g3slbbn98lvki54lv96yxdfr8i7ry5"; depends=[]; };
-  StableEstim = derive { name="StableEstim"; version="2.0"; sha256="080khfix88j4656hmdy9l0xpbk9zzw7z7d7f6yvwsbalk3ag18i5"; depends=[Matrix stabledist testthat numDeriv xtable fBasics MASS]; };
-  Stack = derive { name="Stack"; version="2.0-1"; sha256="09fgfhw9grxnpl5yg05p9gvlz38iw4prns1jn14nj3qx01k5rnxb"; depends=[plyr stringr ff ffbase bit]; };
-  stacomirtools = derive { name="stacomirtools"; version="0.3"; sha256="1lbbnvmilf3j3hyhvpkyjd4b4sf3zwygilb8x0kjn2jfhkxnx4c1"; depends=[RODBC xtable]; };
-  stam = derive { name="stam"; version="0.0-1"; sha256="1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv"; depends=[np sp]; };
-  StAMPP = derive { name="StAMPP"; version="1.2"; sha256="0fd328byrcq11rpq4dvk65vs8gswaw0d9jb8di9hx5r7cdpka1g3"; depends=[pegas doParallel foreach adegenet]; };
-  StandardizeText = derive { name="StandardizeText"; version="1.0"; sha256="0s267k2b109pcdiyd26gm4ag5afikrnnb55d3cs6g2fvzp744hfp"; depends=[]; };
-  standGL = derive { name="standGL"; version="1.1"; sha256="1ffskpba30ih1sb1gscy4njgr4vv0642311hj1m7x7n5slisnysm"; depends=[]; };
-  STAR = derive { name="STAR"; version="0.3-7"; sha256="1g78j4iyh78li1jaa3zz5qv4p41cg0imhmvbfakd34l32ppih4ll"; depends=[survival mgcv R2HTML gss codetools]; };
-  stargazer = derive { name="stargazer"; version="5.1"; sha256="0ar0qm289ncsns2pqkabpyjc90ws0il1q7fp5206wqghgsvqjcc0"; depends=[]; };
-  STARSEQ = derive { name="STARSEQ"; version="1.02"; sha256="1gb763bb7z871hb443d29r0vvyl2inr0df0q0xxxg16scl4p4yvb"; depends=[CompQuadForm numDeriv vcf2geno]; };
-  startupmsg = derive { name="startupmsg"; version="0.9"; sha256="1l75w4v1cf4kkb05akhgzk5n77zsj6h20ds8y0aa6kd2208zxd9f"; depends=[]; };
-  stashR = derive { name="stashR"; version="0.3-5"; sha256="1lnpi1vb043aj4b9vmmy56anj4344709986b27hqaqk5ajzq9c3w"; depends=[filehash digest]; };
-  Stat2Data = derive { name="Stat2Data"; version="1.6"; sha256="0pk68ffc6ffpddfpf9wi8ch39h6k3r80kldld3z5pnql18rc8nvx"; depends=[]; };
-  StatDA = derive { name="StatDA"; version="1.6.7"; sha256="140hqg56axwg5ckfr4n4rr453ppsgf5bmmd7kg4mai1xnj4wmg8b"; depends=[geoR sgeostat cluster e1071 MASS MBA mgcv rgl robustbase xtable]; };
-  StatDataML = derive { name="StatDataML"; version="1.0-25"; sha256="05s9kbrjl2wsfccgav34b02m06q62r3iyjd0ndr6xcqlw9x2w2ya"; depends=[XML]; };
-  StateTrace = derive { name="StateTrace"; version="1.0-4"; sha256="1nmdqmg4az1afhprjyqb9qqcvd0xa6xdb8gzar5jrcdldxxbsw35"; depends=[KernSmooth coda fgui]; };
-  statfi = derive { name="statfi"; version="0.9.8"; sha256="0kg9bj2mmd95ysg604rcg4szqx3whbqm14fwivnd110jgfy20gk2"; depends=[pxR]; };
-  StatMatch = derive { name="StatMatch"; version="1.2.2"; sha256="1ml88ssd2xrnxh6xbg25bbskqv9jrn5vczaq3a3v4bccimv65prh"; depends=[proxy clue survey RANN]; };
-  StatMethRank = derive { name="StatMethRank"; version="1.0"; sha256="0mcvwn1f3hylvyg46vigc5wnvhhig5v01ag3y9rap32v85f308zh"; depends=[MASS rjags pmr]; };
-  statmod = derive { name="statmod"; version="1.4.20"; sha256="11986yjry1lg28s09q6vv2671x51nnfin6j0mpscq2ygyi615jwz"; depends=[]; };
-  statnet = derive { name="statnet"; version="2014.2.0"; sha256="0xp8xnqb32wzkxfm7f34z6mnsd9id8an5829n16czwldj9vv6s10"; depends=[network ergm sna networkDynamic tergm ergm_count latentnet statnet_common]; };
-  statnet_common = derive { name="statnet.common"; version="3.1.1"; sha256="1fs38f4dxrvgm60xvn04jr2wwyrjg25h3rbdwrx7dx24fj7sx6wl"; depends=[]; };
-  StatRank = derive { name="StatRank"; version="0.0.4"; sha256="0s0jc4hvrry9a884fqfk3gp1w4ww5wif2kh3m0f22nn7qb49if9p"; depends=[truncdist plyr]; };
-  stellaR = derive { name="stellaR"; version="0.3-3"; sha256="098sz6b8pl3fyca3g6myp97nna368xhxf8krmibadnnsr49q5zs9"; depends=[]; };
-  Stem = derive { name="Stem"; version="1.0"; sha256="1fr02mi5qyxbqavdh2hg8ggw4nfjh3vs7g0vh834h6y0v53l71r5"; depends=[mvtnorm MASS]; };
-  STEPCAM = derive { name="STEPCAM"; version="1.0"; sha256="0lgikdj0mghz5hjm3rlrnnddjhvf9cmm0hwklbdyl3h816gq1jci"; depends=[vcd FD gtools MASS]; };
-  stepp = derive { name="stepp"; version="2.3-2"; sha256="1x7vbniwk83x9wn6a5ya053nkg9jmzqprqbg87zpp0fsn9z7qhyq"; depends=[cmprsk survival]; };
-  stepPlr = derive { name="stepPlr"; version="0.92"; sha256="16j32sk7ri4jdgss7vw5zz7s42rxk7rs376iyxzzpy1zcc9b64rv"; depends=[]; };
-  stepwise = derive { name="stepwise"; version="0.3"; sha256="1lbx1bxwkf9dw6q46w40pp7h5nkxgghmx8rkpaymm6iybc7gyir2"; depends=[]; };
-  StereoMorph = derive { name="StereoMorph"; version="1.1"; sha256="0yin0x6lwjzc04497p6xv4hckp1s4mvzq5jhplrc13xyv5121vwv"; depends=[bezier rjson shiny]; };
-  stilt = derive { name="stilt"; version="1.0.1"; sha256="1vrbbic0vqzgy574kzcr38iqyhax4wa6zl6w74n65z15map2fyma"; depends=[fields]; };
-  stima = derive { name="stima"; version="1.1"; sha256="1i8l7pfnqxx660h3r2jf6a9bj5ikg9hw7v8apwk98ms8l7q77p5l"; depends=[rpart]; };
-  stinepack = derive { name="stinepack"; version="1.3"; sha256="0kjpcjqkwndqs7cyc6w62z1nnkqmhkifz2w0bi341jh0ybmak4fq"; depends=[]; };
-  stm = derive { name="stm"; version="0.6.24"; sha256="0hifw7m50sa2r82mj4zc65pfb0hcqr7wcqmps9a0q8y57k077y4a"; depends=[matrixStats slam lda stringr]; };
-  StMoSim = derive { name="StMoSim"; version="2.2"; sha256="127nr488a9xx3pjzrncbzw58ims87jifnzhpvqrr74px6wv0yisc"; depends=[]; };
-  stocc = derive { name="stocc"; version="1.23"; sha256="183rv1l1hpa691f3xf455bv8dzdw6ac79zg3v99zksli6i7c8jdz"; depends=[truncnorm coda Matrix fields]; };
-  stochprofML = derive { name="stochprofML"; version="1.1"; sha256="0pxx0ws4zklf38kjvp68rkk5qfzrxhk38f8d1ib8dd0chb7avb01"; depends=[MASS numDeriv]; };
-  stochvol = derive { name="stochvol"; version="0.8-4"; sha256="1s79anyiczci9jhwqc3nslvc2k4gqzbwijhinbr9703qhhnm5qx0"; depends=[coda Rcpp]; };
-  stockPortfolio = derive { name="stockPortfolio"; version="1.2"; sha256="0k5ss6lf9yhcvc4hwqmcfpdn6qkbq5kaw0arldkl46391kac3bd1"; depends=[]; };
-  stoichcalc = derive { name="stoichcalc"; version="1.1-3"; sha256="0z9fnapibfp070jxg27k74fdxpgszl07xiqfj448dkydpg8ydkrb"; depends=[]; };
-  Storm = derive { name="Storm"; version="1.1"; sha256="118l03d6las9cvhh4d845r7z6mlqff6ixxdfrdf025jsiqagm395"; depends=[rjson]; };
-  stosim = derive { name="stosim"; version="0.0.12"; sha256="0c4sj5iirm542hx782izfdmy2m3kl5q28l10xjj0ib4xn5y6yx3c"; depends=[tcltk2 Rcpp]; };
-  STPGA = derive { name="STPGA"; version="1.0"; sha256="1kqxzjrxf194n006dr3h5kprb4l7qy8bgm2n6251p0sswpvr70j1"; depends=[]; };
-  stpp = derive { name="stpp"; version="1.0-4"; sha256="04xl2745xr5r7yirbdmxaxqvl4gp73wr6xl08w21mcccsnpc3d1s"; depends=[splancs KernSmooth spatstat]; };
-  stppResid = derive { name="stppResid"; version="1.1"; sha256="0hgzsyy5y0sqd4d2agdr7p2kq0w51vs8f63dvj6j49h8cvgiws2x"; depends=[deldir splancs cubature]; };
-  StrainRanking = derive { name="StrainRanking"; version="1.1"; sha256="0q6k90if74320mrs2ccq2izynylr8zakciwbc2c6ms0v57aalwic"; depends=[]; };
-  strap = derive { name="strap"; version="1.3"; sha256="1f9whr9cg73q4lfqdygqd88f2lc08bb7qcalrr4dc00jjgy1r8rw"; depends=[ape geoscale]; };
-  stratification = derive { name="stratification"; version="2.2-3"; sha256="0mjv5x47rc7ci4ca949pg6ixmv6bfdfph6yz31syqk5xrgm8zmxq"; depends=[]; };
-  stratigraph = derive { name="stratigraph"; version="0.64"; sha256="1mi4s3wxbrmcxb7k18z02dy5dnvg7kka1dbg2hgyi4nm9y8casdl"; depends=[]; };
-  StratSel = derive { name="StratSel"; version="1.0"; sha256="1kr7bl2qrj2ra3szvw5z5y6ra6zz5q3v9vx81p8r5618zffa8q3b"; depends=[mnormt memisc Formula]; };
-  straweib = derive { name="straweib"; version="1.0"; sha256="0bh2f4n4i7fiki52sa57v96757qw1gn1lcn7vgxmc5hk5rzp2mi8"; depends=[]; };
-  stream = derive { name="stream"; version="1.0-3"; sha256="14l1fdqzbvy8vxq0rmrwm2afwd4h85khc0a22r6vk488355wn9ps"; depends=[hash proxy animation clue cluster clusterGeneration fpc MASS mlbench]; };
-  StreamingLm = derive { name="StreamingLm"; version="0.1"; sha256="079ks5gj6ydj2fqq8pwhkb24a0zbz2j400777fm6a39wjgbgdx1n"; depends=[biglm]; };
-  StreamMetabolism = derive { name="StreamMetabolism"; version="1.0"; sha256="03pr7i1c3qddqwibfc2x08d2nh8fih02k7a1xhqs1awfs43x56is"; depends=[zoo chron maptools]; };
-  streamMOA = derive { name="streamMOA"; version="0.1-1"; sha256="12x9i0cr56s54b2z3wfblrv6f36z8k2pgrr5gaqyshl8rgvyvrzz"; depends=[stream rJava]; };
-  streamR = derive { name="streamR"; version="0.2.1"; sha256="1ml33mj7zqlzfyyam23xk5d25jkm3qr7rfj2kc5j5vgsih6kr0gl"; depends=[RCurl rjson]; };
-  stremo = derive { name="stremo"; version="0.2"; sha256="13b9xnd8ykxrm8gnakh0ixbsb7yppqv3isga8dsz473wzy82y6h1"; depends=[lavaan numDeriv MASS]; };
-  stressr = derive { name="stressr"; version="1.0.0"; sha256="00b93gfh1jd5r7i3dhsfqjidrczf693kyqlsa1krdndg8f0jkyj7"; depends=[xts XML lattice latticeExtra]; };
-  StressStrength = derive { name="StressStrength"; version="1.0"; sha256="0m67rawgn6w49zh4mw951i3pk4ckp4bxz9yphw0klllazjxyd6qp"; depends=[]; };
-  stringdist = derive { name="stringdist"; version="0.8.0"; sha256="16bmf81dv8xbvy1b5c8rrj6vja00m00cb14v2zl9syxs923dq94i"; depends=[]; };
-  stringi = derive { name="stringi"; version="0.2-5"; sha256="0yyqdapn0gqrwynv0sikq42b5vv166qq96w099rm3fispc037yb8"; depends=[]; };
-  stringr = derive { name="stringr"; version="0.6.2"; sha256="0dv7dd0xsivlccnf9pr5kb7zirgqn9mc6lgw5hnmkbb0s1qrrz63"; depends=[]; };
-  strucchange = derive { name="strucchange"; version="1.5-0"; sha256="17ikp36ahnsx1q3avqkz5r2n2yagzq7j6m515vdm8rxgv0538is3"; depends=[zoo sandwich]; };
-  structSSI = derive { name="structSSI"; version="1.0.5"; sha256="0i832k8jf317m47kzzfhgla4qm8bqmj3azjm4iqndkym2ry3jiy4"; depends=[igraph Matrix RColorBrewer classInt]; };
-  strum = derive { name="strum"; version="0.4"; sha256="06y4bf2z55zl5k9snd7mgbrfx85irnbk316g9169m5mij4lca4g7"; depends=[pedigree MASS Rcpp]; };
-  strvalidator = derive { name="strvalidator"; version="1.3.0"; sha256="1sddiclnhdl935l27863617h8s2kgny68d80hnqw9a3ga0iri486"; depends=[gtable ggplot2 gWidgets plyr scales gridExtra]; };
-  stsm = derive { name="stsm"; version="1.4"; sha256="0j6kvsij6rsvkjc4q1m9vi9afvsib8x6zwjka1xwbp8g6fzamjq4"; depends=[KFKSDS stsm_class]; };
-  stsm_class = derive { name="stsm.class"; version="1.3"; sha256="19jrja5ff31gh5k2zqhqsyd7w2ivr4s6bkliash6x8fmd22h5zs8"; depends=[]; };
-  stylo = derive { name="stylo"; version="0.5.6"; sha256="0ga6kv4i0zsapnbiqinz4wy34c0kracxrd2cgyqp0dkhshsiw2jf"; depends=[tcltk2 ape pamr e1071 class lattice tsne]; };
-  SubCultCon = derive { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; };
-  subgroup = derive { name="subgroup"; version="1.1"; sha256="1n3qw7vih1rngmp4fwjbs050ngby840frj28i8x7d7aa52ha2syf"; depends=[]; };
-  SubLasso = derive { name="SubLasso"; version="1.0"; sha256="12m7ynlqhikjhavd12bhsd04s9cpv8aq5xgm875i10mb3ldpd1bd"; depends=[glmnet psych gplots]; };
-  subplex = derive { name="subplex"; version="1.1-4"; sha256="0c6y5ibyxh0mpn77f7kwrmkpb3mah10hbqhwqmz4i1lfv58mb4zk"; depends=[]; };
-  subselect = derive { name="subselect"; version="0.12-3"; sha256="1m1vk8jgmw0cb9gmzvvpzdpjaqp56kwhalb2b2il20kc57czmymr"; depends=[]; };
-  subsemble = derive { name="subsemble"; version="0.0.9"; sha256="0vzjmxpdwagqb9p2r4f2xyghmrprx3nk58bd6zfskdgj0ymfgz5z"; depends=[SuperLearner]; };
-  subtype = derive { name="subtype"; version="1.0"; sha256="1094q46j0njkkqv09slliclp3jf8hkg4147hmisggy433xwd19xh"; depends=[penalized ROCR]; };
-  sudoku = derive { name="sudoku"; version="2.6"; sha256="13j7m06m38s654wn75kbbrin5nqda4faiawlsharxgrljcibcbrk"; depends=[]; };
-  SUE = derive { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; };
-  sugaR = derive { name="sugaR"; version="0.0-5"; sha256="0lg0wm4fbf4f4vlsy2cnfwm18vnc3i6bd51pixpdb9m512pw761c"; depends=[]; };
-  summarytools = derive { name="summarytools"; version="0.1"; sha256="1qrn47z21ijgpp8kj20wviin2zldj8fpf4d759b05v3k0y3q27zr"; depends=[Hmisc pander timeDate]; };
-  Sunder = derive { name="Sunder"; version="0.0.2"; sha256="0fnxj4fi99f1jvlbir0wkqvf48msnz1rspzg17jsd1kp2ha5kq35"; depends=[RandomFields]; };
-  SunterSampling = derive { name="SunterSampling"; version="1.0"; sha256="07s5sd6kf2jg276b5q1ns3h7849b1h0rx77kb3vs4j1svn8k9wxy"; depends=[]; };
-  supclust = derive { name="supclust"; version="1.0-7"; sha256="0437pccagvqv6ikdsgzpif9yyiv6p24lhn5frk6yqby2asj09727"; depends=[rpart class]; };
-  superbiclust = derive { name="superbiclust"; version="0.1"; sha256="0hzihmjjwk3axgy1y95ckq6m5gmb7ybjj7zscplgsnihi5256jnk"; depends=[biclust Matrix]; };
-  superdiag = derive { name="superdiag"; version="1.1"; sha256="0pa3mv74riabpm7j4587zww2364fszzlw48ijj1apcgz8y6pyqbw"; depends=[coda boa]; };
-  SuperLearner = derive { name="SuperLearner"; version="2.0-15"; sha256="1sk45419awk8aahylmqbardx8lglx0d7hrwc0k2prnksk5r3549l"; depends=[nnls]; };
-  superMDS = derive { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; };
-  superpc = derive { name="superpc"; version="1.09"; sha256="1p3xlg2n7p57n54g2w4frfrng5vjh97kp6ax4mrgvj3pqmd1m69z"; depends=[survival]; };
-  SuppDists = derive { name="SuppDists"; version="1.1-9.1"; sha256="1jqsv1lzjblc7sdb4gh8pkww9ar174bpbjl7mmdi59fixymwz87s"; depends=[]; };
-  support_BWS = derive { name="support.BWS"; version="0.1-2"; sha256="14p5b4b84x66lzn7qz1xy7sbb5i3wqwcsf6r6ap612nj83srjmqa"; depends=[]; };
-  support_CEs = derive { name="support.CEs"; version="0.3-2"; sha256="0q8n4w3p682165lv20m30m8p9mhd3wzrzg8aqizf9zc2m5w9ffyd"; depends=[DoE_base MASS simex]; };
-  surface = derive { name="surface"; version="0.4-1"; sha256="0z7fh09hjmxfmqzi588gjwqqlpj1a475aixrnvy911lkx3zfk146"; depends=[ape ouch MASS geiger]; };
-  Surrogate = derive { name="Surrogate"; version="0.1-2"; sha256="07imwp725qwnxj4437qc2420n624vchnlaisd20ck8ygyvkb2mn0"; depends=[MASS nlme msm lme4]; };
-  suRtex = derive { name="suRtex"; version="0.9"; sha256="0xcy3x1079v10bn3n3y6lxignb9n3h57w4hhrvzi5y14x05jjyda"; depends=[]; };
-  surv2sampleComp = derive { name="surv2sampleComp"; version="1.0-4"; sha256="1ihz71vzrkd5ksy7421myrgkbww0z5k0ywcb2bfalxx2bd2cs2wf"; depends=[survival plotrix flexsurv survC1]; };
-  survAUC = derive { name="survAUC"; version="1.0-5"; sha256="0bcj982ib1h0sjql09zbvx3h1m96jy9q37krmk6kfzw25ms6bzzr"; depends=[survival]; };
-  survBayes = derive { name="survBayes"; version="0.2.2"; sha256="08fbb2kyy7gcqlbzbliy4njkyk6jhr4nlfb4nbmh2kfdfcb6q62v"; depends=[survival coda]; };
-  survC1 = derive { name="survC1"; version="1.0-2"; sha256="1bidjhq3k5ab7gqj1b2afngip7pp6c9c7q0m6ww7h7i2vg505l7v"; depends=[survival]; };
-  surveillance = derive { name="surveillance"; version="1.8-0"; sha256="043hdz4rfk5a50lzcb3q5sccn93r9r6ll79p1jxr0xhxlahgrp6i"; depends=[Rcpp sp xtable polyCub MASS Matrix spatstat]; };
-  survexp_fr = derive { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; };
-  survey = derive { name="survey"; version="3.29-5"; sha256="0qzg6h3m27d9v6iyh88pk7iq2glfnn8364jjl7z5d5cbw3ga3j81"; depends=[]; };
-  surveydata = derive { name="surveydata"; version="0.1-14"; sha256="1zcp3wb7yhsa59cl4bdw7p08vpviypvfa9hggwc60w7ashpky73i"; depends=[stringr plyr]; };
-  Survgini = derive { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; };
-  survIDINRI = derive { name="survIDINRI"; version="1.1-1"; sha256="03lsypx189zm28gv764gdq24a18jj3kpdk91ssa501qxj5jv7v29"; depends=[survival survC1]; };
-  survival = derive { name="survival"; version="2.37-7"; sha256="1ihs42gjbw06aj5hz128964lshpi934cyc8npv9c8ann4mc2r3b5"; depends=[]; };
-  survivalMPL = derive { name="survivalMPL"; version="0.1.0"; sha256="1nq316w88j7dg48683ka326b2y3f9jl73mig47n3y31z2x9hc8h0"; depends=[survival]; };
-  survivalROC = derive { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; };
-  survJamda = derive { name="survJamda"; version="1.1.2"; sha256="172mryz19n4nb9w20xh7yhn4pqaw9m98na2x235lps5rwcjk6x7b"; depends=[survival survivalROC ecodist survJamda_data]; };
-  survJamda_data = derive { name="survJamda.data"; version="1.0.1"; sha256="1b8vy59hawgvpjds96q5wscggv8hffkbjw7zwfwf5g3firhb4gnq"; depends=[]; };
-  survMisc = derive { name="survMisc"; version="0.4.2"; sha256="1mv503lrgjfbggasgsls2pqlxz3kj4hrw9qslgzxh3dizfqkb02c"; depends=[survival ggplot2 data_table rpart gridExtra combinat Hmisc zoo km_ci KMsurv gam]; };
-  survPresmooth = derive { name="survPresmooth"; version="1.1-8"; sha256="1qva7yx4vv99mgh3wqxdnbasa1gy0ixxyxpqrfbn6827whjzf91m"; depends=[]; };
-  survrec = derive { name="survrec"; version="1.2-2"; sha256="0b77ncr1wg2xqqg1bv1bvb48kmd9h3ja2dysiggvprzjrj7hdlmx"; depends=[boot]; };
-  SurvRegCensCov = derive { name="SurvRegCensCov"; version="1.3"; sha256="1sl17x984ww07aakz6dambn5kznw4hvj4b8ahy2r4mr6wf2dpg5a"; depends=[survival numDeriv]; };
-  survsim = derive { name="survsim"; version="1.1.2"; sha256="1pnzkw0hr0gpwh0v26k4fh7qjl0c6ps9y8gmfd46h8wz2fb25vqx"; depends=[eha statmod]; };
-  survSNP = derive { name="survSNP"; version="0.21-7"; sha256="0fanya7ghd61pw7a21xkaxz4mgzdwjwkh1wm41h40wq1c529dzph"; depends=[survival Rcpp lattice foreach xtable]; };
-  svapls = derive { name="svapls"; version="1.4"; sha256="12gk8wrgp556phdv89jqza22zmsnachsydr5vlz38s664d2lplbg"; depends=[class pls]; };
-  svcm = derive { name="svcm"; version="0.1.2"; sha256="1lkik65md8xdxzkmi990dvmbkc6zwkyxv8maypv2vbi2x534jkhl"; depends=[Matrix]; };
-  svd = derive { name="svd"; version="0.3.3-2"; sha256="064y4iq4rj2h35fhi6749wkffg37ppj29g9aw7h156c2rqvhxcln"; depends=[]; };
-  svDialogs = derive { name="svDialogs"; version="0.9-55"; sha256="0x1wzqypxir0322mr3zsax1v64y9jdz5sya98y20hc3619mpynwj"; depends=[svGUI]; };
-  svDialogstcltk = derive { name="svDialogstcltk"; version="0.9-4"; sha256="16166f8i6nsg7palqmnlp5b9s91d6ja9n0zm6rcvd2fwnw2ljkr4"; depends=[svDialogs svGUI]; };
-  svdvisual = derive { name="svdvisual"; version="1.1"; sha256="02mzh2cy4jzb62fd4m1iyq499fzwar99p12pyanbdnmqlx206mc2"; depends=[lattice]; };
-  svGUI = derive { name="svGUI"; version="0.9-55"; sha256="1fkkc12mhcbn3s2wzk0xdsp8jl2xmn48ys2an8jhxbww3gplk1rq"; depends=[]; };
-  svHttp = derive { name="svHttp"; version="0.9-55"; sha256="0qxsh6ifk3fszgzz497qwia4pxzplwraf2qnn5cqlv5l79nja5yq"; depends=[svMisc]; };
-  svIDE = derive { name="svIDE"; version="0.9-52"; sha256="19wsmi1i7nlnqdah1h2pxzsy8m50bnb282fdbj4219p86bb92a86"; depends=[svMisc XML]; };
-  svKomodo = derive { name="svKomodo"; version="0.9-62"; sha256="1af22nfbhmx5b3n45k5xfwq667w4cd7m0g5hx5dvv2vfikr613nx"; depends=[svMisc]; };
-  svMisc = derive { name="svMisc"; version="0.9-70"; sha256="1xprymz5hblbc929kmbaz0lj633xvgz6mm4snhhjib47cz5anl1w"; depends=[]; };
-  SVMMaj = derive { name="SVMMaj"; version="0.2-2"; sha256="01njc7drq01r3364081dv9gn37vrql52zbrb60gd559f3jshqx3m"; depends=[kernlab MASS]; };
-  svmpath = derive { name="svmpath"; version="0.953"; sha256="0hqga4cwy1az8cckh3nkknbq1ag67f4m5xdg271f2jxvnmhdv6wv"; depends=[]; };
-  svSocket = derive { name="svSocket"; version="0.9-57"; sha256="0id93b500iybza6sbn60ybm91mkh5cjpvhypqs4f3dv13m6blb9j"; depends=[svMisc]; };
-  svSweave = derive { name="svSweave"; version="0.9-8"; sha256="0zkng8lwdpjdbic9f6jnk2ndxbch2kjyz71ds1bksvd3kmk03lks"; depends=[knitr]; };
-  svTools = derive { name="svTools"; version="0.9-4"; sha256="0szr5dcxjsh5p1nkszvmj0vmi9x70d656hfvhmqf0wyjwv63vp90"; depends=[codetools svMisc]; };
-  svUnit = derive { name="svUnit"; version="0.7-12"; sha256="16iiryj3v34zbnk1x05g30paza7al1frqx52fkw8ka61icizsrf5"; depends=[]; };
-  svWidgets = derive { name="svWidgets"; version="0.9-44"; sha256="18k06wldcg6xpyf8nz9rdbig5nhvghn7zgf1316413kq3v90vz7b"; depends=[svMisc]; };
-  SvyNom = derive { name="SvyNom"; version="1.0"; sha256="07cgg97s2kpq7vak9l1a57gwmp1gsm864m4b9q42s2fbiid8jg83"; depends=[]; };
-  svyPVpack = derive { name="svyPVpack"; version="0.1-1"; sha256="15k5ziy2ng853jxl66wjr27lzc90l6i5qr08q8xgcs359vn02pmp"; depends=[survey]; };
-  swamp = derive { name="swamp"; version="1.2.3"; sha256="1xpnq5yrmmsx3d48x411p7nx6zmwmfc9hz6m3v9avvpjkbc3glkg"; depends=[amap gplots MASS]; };
-  SWATmodel = derive { name="SWATmodel"; version="0.5.9"; sha256="1i48g9nbjfn30ppwyzyz3k181nscv4wx773l8mzfdwhx0nlv4kyj"; depends=[EcoHydRology]; };
-  SweaveListingUtils = derive { name="SweaveListingUtils"; version="0.6.1"; sha256="04xl7sw14x3ia5nsmkj1fhxvycl9wpim3frx83dd6kh8i0hpip54"; depends=[startupmsg]; };
-  sweSCB = derive { name="sweSCB"; version="0.3.5"; sha256="1g6c73kqrnssycf4k239dpgkv8bvllbrxjwxga6fqdzb7jsnwh4y"; depends=[data_table stringr RJSONIO httr]; };
-  swfscMisc = derive { name="swfscMisc"; version="1.0.1"; sha256="0ya0ng6973mix9i0k817mgvfqwshpfqjlnn5xbs6vz2cw2xm8g6g"; depends=[mapdata maps]; };
-  swirl = derive { name="swirl"; version="2.2.15"; sha256="1r2hpkhcs040z3dmhc90cpznjjb1r4nnah27yz4vp58dx0aidcjl"; depends=[stringr testthat httr yaml RCurl digest]; };
-  SwissAir = derive { name="SwissAir"; version="1.1.4"; sha256="1avc32q7nbwjkcbml7z05car6khv1ghcz3miw0krm8i53w032c6f"; depends=[]; };
-  switchnpreg = derive { name="switchnpreg"; version="0.8-0"; sha256="1vaanz01vd62ds2g2xv4kjlnvp13h59n8yqikwx07293ixd4qhpw"; depends=[MASS fda expm HiddenMarkov]; };
-  sybil = derive { name="sybil"; version="1.2.6"; sha256="1d7q0dvpqxay86dy4zbllv78dsh0amr8n7wl0vkrb8jbakq4afip"; depends=[Matrix lattice]; };
-  sybilccFBA = derive { name="sybilccFBA"; version="1.0.0"; sha256="1fmhgyqzipddcqx2srms9bgigjmijasxhsmivv6c45ln23qjvgf5"; depends=[sybil Matrix]; };
-  sybilcycleFreeFlux = derive { name="sybilcycleFreeFlux"; version="1.0.1"; sha256="0ffmgnr239xz8864vmrqlhwwc97fqzzib6kwrsm7bszdnw1kkv3r"; depends=[sybil Matrix MASS]; };
-  sybilDynFBA = derive { name="sybilDynFBA"; version="0.0.2"; sha256="1sqk6dwwfrwvgkwk6mra0i1dszhhvcwm58ax6m89sxk8n0nbmr4b"; depends=[sybil]; };
-  sybilEFBA = derive { name="sybilEFBA"; version="1.0.1"; sha256="1advbbsyig49av7sbpbvs47xzg6f8czjb1938ynd0n2yq1bgq5xm"; depends=[sybil Matrix]; };
-  sybilSBML = derive { name="sybilSBML"; version="2.0.8"; sha256="1sxp0naws7d1ak0xna1sy87zzjrravwax0qvcd6vy4p0f39z06ci"; depends=[Matrix sybil]; };
-  symbolicDA = derive { name="symbolicDA"; version="0.4-1"; sha256="14lcxgbsizw0l1xcjrmz3jvfsbwlirkd0shp293hg3qi7gbzcms8"; depends=[clusterSim XML rgl shapes e1071 ade4]; };
-  symbols = derive { name="symbols"; version="1.1"; sha256="1234rx3divhg60p0h0zn11viqn51fm6b8876m6rip2i6z8vrg319"; depends=[shape]; };
-  symmoments = derive { name="symmoments"; version="1.2"; sha256="074k0285c0yri39zags420kjls6kjlvlhymg3r7y24h42zdy82d4"; depends=[mvtnorm cubature combinat multipol]; };
-  synbreed = derive { name="synbreed"; version="0.9-7"; sha256="0v81q18dqr7zrh7830xfk30jq6kzgn0kcrp9zq6swk5laalkkqg4"; depends=[doBy BLR regress abind lattice igraph MASS LDheatmap qtl synbreedData]; };
-  synbreedData = derive { name="synbreedData"; version="1.4"; sha256="0pfpvg4wvxfwpvxq8f93z1amfss98as66kwpj5mnvvlr33ffmka9"; depends=[]; };
-  synchronicity = derive { name="synchronicity"; version="1.1.4"; sha256="0hcxwgf1irswwabgl0b6vb9q09nhxc1ljsm195lc8ql49sfj9mfz"; depends=[bigmemory_sri]; };
-  synchrony = derive { name="synchrony"; version="0.2.3"; sha256="0fi9a3j8dfslf1nqx8d53fi635y3aq8isxw0dbjbpgk7rc71nzby"; depends=[]; };
-  SynchWave = derive { name="SynchWave"; version="1.1.1"; sha256="127hllvig8kcs9gr2q14crswzhacv6v2s4zrgj50qdyprj14is18"; depends=[fields]; };
-  SYNCSA = derive { name="SYNCSA"; version="1.3.2"; sha256="1m057lhfaf0n35rs3sipia04qgkp04hv7wf7rvnr7bhzic9f4vg3"; depends=[vegan mice FD]; };
-  SynergizeR = derive { name="SynergizeR"; version="0.2"; sha256="0z32ylrjjvp8kr6lghhg57yq1laf9r0h8l3adysvis8bbpz2q2sj"; depends=[RJSONIO RCurl]; };
-  SyNet = derive { name="SyNet"; version="2.0"; sha256="0mb9dscddkvmkf7l3bbcy4dlfmrvvy588vxdqy5dr783bpa5dkiw"; depends=[tkrplot]; };
-  synlik = derive { name="synlik"; version="0.1.1"; sha256="0g4n78amydihsq4jg2i9barjm9g40zczasb31fj10yn6wir1dhv7"; depends=[Rcpp Matrix]; };
-  Synth = derive { name="Synth"; version="1.1-5"; sha256="1cfvh91nz6skjk8jv04fhwv3ga9kcsfgq3mdy8lx75jkx16zr0pk"; depends=[kernlab optimx]; };
-  sysfonts = derive { name="sysfonts"; version="0.2"; sha256="15wzb7c89645xxbhn29bh0djys73iklq05228qnhd5gx5sr43dd0"; depends=[]; };
-  systemfit = derive { name="systemfit"; version="1.1-14"; sha256="0f33v96awyhxw3i6zr6whdz91hbfi7vwnfs0bz7xsrjcinqhm6h5"; depends=[Matrix car lmtest sandwich]; };
-  tab = derive { name="tab"; version="2.1.2"; sha256="0g3wjl83k61xshbp813zvkapqiwjf9lr7i1bpxrjify2lqwis8k7"; depends=[survey survival gee]; };
-  Table1Heatmap = derive { name="Table1Heatmap"; version="1.1"; sha256="1nrabjivfsdhaqmlq365pskkrp99jqsxn8vy03mdnqn5h5zv7wvx"; depends=[colorRamps]; };
-  table1xls = derive { name="table1xls"; version="0.3.1"; sha256="0zd93wrdj4q0ph375qlgdhpqm3n8s941vks5h07ks9gc8id1bnx5"; depends=[XLConnect]; };
-  TableMonster = derive { name="TableMonster"; version="1.1"; sha256="1xflw719isy5hxvm0z67bip01cpafylnj76zssb3c174j912f7y3"; depends=[xtable]; };
-  tableone = derive { name="tableone"; version="0.6.2"; sha256="0jmii05kqd01bllc4wi9r38qa0dpxqlcpk572d3m7c009izsz8zl"; depends=[e1071 gmodels]; };
-  tableplot = derive { name="tableplot"; version="0.3-5"; sha256="1jkkl2jw7lwm5zkx2yaiwnq1s3li81vidjkyl393g1aqm9jf129l"; depends=[]; };
-  tables = derive { name="tables"; version="0.7.79"; sha256="05f23y5ff961ksx4fnmwpf6zvc9573if8s2cmz9bwki66h2g9xb7"; depends=[Hmisc]; };
-  TableToLongForm = derive { name="TableToLongForm"; version="1.3.0"; sha256="1dxis6gx0misvl18jzsaqxjajclc98xppgxil5xsz1lcq0fkn383"; depends=[]; };
-  tabplot = derive { name="tabplot"; version="1.1"; sha256="0vyc6b6h540sqwhrza2ijg7ghw2x8rla827b8qy2sh0ckm0ybjrx"; depends=[ffbase]; };
-  tabplotd3 = derive { name="tabplotd3"; version="0.3.3"; sha256="0mbj45vb17wlnndpkhvq7xaawsb814x7zxa4rqbfgidvbm1p3abv"; depends=[tabplot httpuv Rook brew RJSONIO]; };
-  tabuSearch = derive { name="tabuSearch"; version="1.1"; sha256="0bri03jksm314xy537dldbdvgyq6sywfmpmj2g2acdcli31kkpq0"; depends=[]; };
-  TAM = derive { name="TAM"; version="1.0-3"; sha256="122wn95hbi7w41k1dbmwbr1q4rsrcskcy39ff64dclak70ackblm"; depends=[MASS mvtnorm tensor sfsmisc GPArotation psych Rcpp]; };
-  TANOVA = derive { name="TANOVA"; version="1.0.0"; sha256="0c2mrahchwagisrkjl5l1s0mv0ny80kngq8dz0fjj9lwxwqwvwa5"; depends=[MASS]; };
-  TaoTeProgramming = derive { name="TaoTeProgramming"; version="1.0"; sha256="1b36s5mpm5vbhzcwmvm8g5pl7vpn6rsl5cnglfy8kgm1q9nnr7ff"; depends=[]; };
-  TapeR = derive { name="TapeR"; version="0.3.2"; sha256="070zl7hqv5zprhs464gy1kmz0am58l0vig8xvdq6pbz94nrhvpj0"; depends=[nlme pracma]; };
-  TAQMNGR = derive { name="TAQMNGR"; version="2014.01-2"; sha256="1szds8yyk3ldap785jxi8lj86rf4zlpzhd7rk2y8xwcq2fhs9h62"; depends=[]; };
-  taRifx = derive { name="taRifx"; version="1.0.6"; sha256="10kp06hkdx1qrzh2zs9mkrgcnn6d31cldjczmk5h9n98r34hmirx"; depends=[reshape2 plyr]; };
-  taRifx_geo = derive { name="taRifx.geo"; version="1.0.6"; sha256="0w7nwp3kvidqhwaxaiq267h99akkrj6xgkviwj0w01511m2lzghs"; depends=[taRifx sp rgdal RJSONIO rgeos RCurl]; };
-  tau = derive { name="tau"; version="0.0-18"; sha256="10akzwf0fi05vplgy4njzrb4jdqa079zhycri4014w8sihb5msan"; depends=[]; };
-  TauP_R = derive { name="TauP.R"; version="1.1"; sha256="10sjvcv70fjrsl5nnk9gm4sy7nhwm6aaq57gr37cb10v079ykmk1"; depends=[]; };
-  tawny = derive { name="tawny"; version="2.1.2"; sha256="0ihg3qlng8swak1dfpbnlx5xc45d1i9rgqawmqa97v5m91smfa71"; depends=[lambda_r lambda_tools futile_logger futile_matrix tawny_types zoo xts PerformanceAnalytics quantmod]; };
-  tawny_types = derive { name="tawny.types"; version="1.1.3"; sha256="1v0k6nn45rdczjn5ymsp2fqq0ijnlniyf3bc08ibd8yd1jcdyjnj"; depends=[lambda_r lambda_tools futile_logger futile_options zoo xts quantmod]; };
-  taxize = derive { name="taxize"; version="0.3.0"; sha256="1qixhiz92s0ys5sk61gjhq21855p739zih0sdxmhhah6x1m46agm"; depends=[XML RCurl stringr plyr httr RJSONIO foreach ape Taxonstand reshape2 data_table vegan assertthat]; };
-  Taxonstand = derive { name="Taxonstand"; version="1.3"; sha256="0qfvsl2ywkagqn18iyjs3208szs0wm3xi39mssaw2l6rwyrx3kvd"; depends=[]; };
-  tbart = derive { name="tbart"; version="0.9"; sha256="1iim4qshbazrb58ydhaxzp9xpy9w1ji2h4nh74scnmsxjdj3gfkg"; depends=[Rcpp sp]; };
-  tbdiag = derive { name="tbdiag"; version="0.1"; sha256="1wr2whgdk84426hb2pf8iiyradh9c61gyazvcrnbkgx2injkz65q"; depends=[]; };
-  TBEST = derive { name="TBEST"; version="3.0"; sha256="1c4zbp4jsl8qsbx7bnqm7z7njm60qcc1yhxdbg75mw326brfvw1z"; depends=[signal fdrtool]; };
-  TBSSurvival = derive { name="TBSSurvival"; version="1.1"; sha256="0hh0zpvwbkix8g9slf6bh4qzwmig5qif80q1ph6m5i496ywjcc80"; depends=[mcmc coda survival normalp R_utils BMS]; };
-  TcGSA = derive { name="TcGSA"; version="0.9.8"; sha256="19gp3pj4p2svrfyviccvv13q82qj7584nck8zbba90hzv9g4xy86"; depends=[lme4 ggplot2 GSA reshape2 gtools gplots cluster stringr]; };
-  tcltk2 = derive { name="tcltk2"; version="1.2-10"; sha256="0m648n028xc6gi3ypih0nyswczh787pwfq7ky2hsxabp958faflb"; depends=[]; };
-  TDD = derive { name="TDD"; version="0.4"; sha256="193y8brybkjsajrbnlx1sdnw1wyyn9rhlm5wvp4aamqhvi8z13vn"; depends=[signal RSEIS pracma]; };
-  tdm = derive { name="tdm"; version="3.0.2"; sha256="06k2dp5gf2k9q23mpswn2yh0525xaz0zznx6r7gn0gim2l7msbqj"; depends=[rjags coda png deSolve]; };
-  TDMR = derive { name="TDMR"; version="1.1"; sha256="15s1569435h7mlpvwg9k2584nk352sc4l6nqq2mk2hhj4brpa30l"; depends=[SPOT e1071]; };
-  tdthap = derive { name="tdthap"; version="1.1-7"; sha256="0lqcw4bzjd995pwn2yrmzay82gnkxnmxxsqplpbn5gg8p6sf5qqk"; depends=[]; };
-  TeachingDemos = derive { name="TeachingDemos"; version="2.9"; sha256="160xch4812darv77qk2xjblm6nfnna5x2rxy335bwdsdjzcx4x9m"; depends=[]; };
-  TeachingSampling = derive { name="TeachingSampling"; version="3.2.1"; sha256="1diw8qz6yi3g7d1ysklrvxwbzda9ybi039yr6agzw0w0b2b59jj4"; depends=[]; };
-  TeachNet = derive { name="TeachNet"; version="0.7"; sha256="1p39bsf846r7zwz4lrrv2bpyx9yrkqzrnacajwrz3jjqj6qpp6cn"; depends=[]; };
-  TED = derive { name="TED"; version="1.0"; sha256="0fzjfm9fjyn6h89vwgc912q8hx7ly4mqpacbz05iykhz3xdzfb9p"; depends=[foreach zoo fields animation geoR RcppArmadillo]; };
-  teigen = derive { name="teigen"; version="2.0.1"; sha256="1lsx7cb6frfi0i2pg1w228kydfymrbxqd535hnrhhq9j1shhykk4"; depends=[]; };
-  tempdisagg = derive { name="tempdisagg"; version="0.23"; sha256="1ym0cbvm8f1wvnkpdm34d5yzgbn3hig1kc3zv8b24pnx11ywv751"; depends=[]; };
-  tensor = derive { name="tensor"; version="1.5"; sha256="19mfsgr6vz4lgwidm80i4yw0y1dr3n8i6qz7g4n2xa0k74zc5pp1"; depends=[]; };
-  tensorA = derive { name="tensorA"; version="0.36"; sha256="1xpczn94a6vfkfibfvr71a7wccksg16pc22h0inpafna4qpygcwp"; depends=[]; };
-  TEQR = derive { name="TEQR"; version="5.0-0"; sha256="04r26qzps7nnvs4s2xpvjf6q456wa29alhsds07xvyqhi972xhs6"; depends=[]; };
-  TERAplusB = derive { name="TERAplusB"; version="1.0"; sha256="0mshx615awcf2arm39mgw2gzgpyn7a3f767484g7z4nqqlikwpgc"; depends=[]; };
-  tergm = derive { name="tergm"; version="3.1.4"; sha256="0w5s4ziacxp9zdylmb8f7xrwvql58c6c9jvv27wjxdxpaf9iyp8h"; depends=[statnet_common ergm network networkDynamic robustbase coda nlme]; };
-  termstrc = derive { name="termstrc"; version="1.3.7"; sha256="12bycwhjrhkadafcckc30jr0md0ssj21n4v75yjhy21yvqjx1d7a"; depends=[lmtest Rcpp rgl sandwich urca zoo]; };
-  ternvis = derive { name="ternvis"; version="1.1"; sha256="16q1a1ns7q0d46js2m1hr6zm8msg3ncgp8w7yrwch11xq0759sb4"; depends=[quadprog maps maptools mapdata dichromat]; };
-  TESS = derive { name="TESS"; version="1.2.1"; sha256="15wrbbhrzj66j0z6xhnbf560qg0dzm1yqfbpmx070n3lsa2rdyij"; depends=[ape coda deSolve]; };
-  tester = derive { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; };
-  testit = derive { name="testit"; version="0.3"; sha256="142q0zwlzx3w69j0fsd06s3pihr76kw9yg21596aalazh7c2yfgi"; depends=[]; };
-  TestScorer = derive { name="TestScorer"; version="1.6"; sha256="11125i0dwh961q5xbg57lli5bzzls3y482iw5f0qwalwkppk7sv0"; depends=[]; };
-  TestSurvRec = derive { name="TestSurvRec"; version="1.2.1"; sha256="05f5gc8hvz09hx015jzis6ikki9c1brdq7l7a9bxm9bqbcc9f2f9"; depends=[survrec boot]; };
-  testthat = derive { name="testthat"; version="0.8.1"; sha256="1nja6yfcqyxi6nfs8mcwasslfw8mzlacjwj3kr65zmg58pm82ga4"; depends=[digest]; };
-  texmex = derive { name="texmex"; version="2.1"; sha256="17x4xw2h4g9a10zk4mvi3jz3gf4rf81b29hg2g3gq6a6nrxsj8sy"; depends=[mvtnorm]; };
-  TExPosition = derive { name="TExPosition"; version="2.6.10"; sha256="12rgijlclaipwjjiyng7nwilzixdy6lsvncigcg0vjydhgk97jn1"; depends=[prettyGraphs ExPosition]; };
-  texreg = derive { name="texreg"; version="1.33"; sha256="14x8q35w0w6p2zkqycqkpkan1637r9z6dl68d1dn4n5im7f2n4kw"; depends=[]; };
-  textcat = derive { name="textcat"; version="1.0-2"; sha256="0m8jbw8k8h6m9q9x25gvx0glzwhhpy73pjv4zivivna5zxapgi23"; depends=[tau slam]; };
-  textir = derive { name="textir"; version="2.0-2"; sha256="19n14nqx7gcp5ypfqwmk80lxxwqc0dklm09z3f9czg68j6qv181i"; depends=[distrom gamlr Matrix]; };
-  textometry = derive { name="textometry"; version="0.1.3"; sha256="1a0dp1flx3yh7wqn0cmb5pq83qqnz94ynkqkmj4kw9ha5j8kcnwx"; depends=[]; };
-  TFDEA = derive { name="TFDEA"; version="0.9.4"; sha256="0376mzlfzf2ff6pnfsh4lf6gx9c1xdnl59pwm31zc73li4npy61h"; depends=[lpSolveAPI]; };
-  tfer = derive { name="tfer"; version="1.1"; sha256="19d31hkxs6dc4hvj5495a3kmydm29mhp9b2wp65mmig5c82cl9ck"; depends=[]; };
-  TFMPvalue = derive { name="TFMPvalue"; version="0.0.5"; sha256="13bfcwfiyl61cv2ma23fcmv2cvbsyzdbg2pl6l6zg39l6scxf9na"; depends=[Rcpp]; };
-  tfplot = derive { name="tfplot"; version="2014.2-2"; sha256="1jrkzccvqmwghp6nhxay0m1qx8r5wa96zb9r8v6qihryi9m3amhs"; depends=[tframe]; };
-  tframe = derive { name="tframe"; version="2012.8-1"; sha256="0m6kwwn7y4n0vkk9zvwixn2jg67rsv9f9s2xma2mxdxl1f5lnfvh"; depends=[]; };
-  tframePlus = derive { name="tframePlus"; version="2013.9-1"; sha256="070ad1g7yv1d5by6xrvshgn43jjxpq8waa339xhzc1am2qzb6mqr"; depends=[tframe timeSeries]; };
-  TFX = derive { name="TFX"; version="0.1.0"; sha256="0xrjdbvg0ng4i0s8ql1pfyma10x4n045spilkb05750677r5j44p"; depends=[XML]; };
-  tgp = derive { name="tgp"; version="2.4-9"; sha256="0ghn7pmwipwmq6lch7jvzghks9mbj9jrdv5140550vq4w6mnf57q"; depends=[]; };
-  tgram = derive { name="tgram"; version="0.2-2"; sha256="091g6j5ry1gmjff1kprk5vi2lirl8zbynqxkkywaqpifz302p39q"; depends=[zoo]; };
-  TH_data = derive { name="TH.data"; version="1.0-3"; sha256="0f52x4ill5d4wpb1iyz0blj62jqzrzr6gl74bmy5hxh3f4f4kwq1"; depends=[]; };
-  thgenetics = derive { name="thgenetics"; version="0.3-4"; sha256="1316nx0s52y12j9499mvi050p3qvp6b8i01v82na01vidl54b9c2"; depends=[]; };
-  Thinknum = derive { name="Thinknum"; version="1.3.0"; sha256="0j48vgr4wsc2chm95aprq0xm0dk720xk5zmiijxasg92sfp0va6n"; depends=[RCurl RJSONIO]; };
-  threeboost = derive { name="threeboost"; version="1.1"; sha256="033vwn42ys81w6z90w5ii41xfihjilk61vdnsgap269l9l0c8gmn"; depends=[Matrix]; };
-  ThreeWay = derive { name="ThreeWay"; version="1.1.2"; sha256="1vf71im3bs2b2v05j12l8qn181kah0mch4h13n71zqik1ykly6jf"; depends=[]; };
-  threg = derive { name="threg"; version="1.0.2"; sha256="0wb9waj0j83zrj763d3fdnp3lp52gfdyzv23yrvxvd6zmk5clgi2"; depends=[survival Formula]; };
-  ThresholdROC = derive { name="ThresholdROC"; version="1.0"; sha256="1w7bjw1w09skxyc5w3d72wivljlvnck6vbchihjx7m5k6djn7pxi"; depends=[]; };
-  tibbrConnector = derive { name="tibbrConnector"; version="1.5.0-71"; sha256="0d8gy126hzzardcwr9ydagdb0dy9bdw30l8s2wwi7zaxx2lpii6q"; depends=[RCurl rjson]; };
-  tictoc = derive { name="tictoc"; version="1.0"; sha256="1zp2n8k2ax2jjw89dsri268asmm5ry3ijf32wbca5ji231y0knj7"; depends=[]; };
-  TiddlyWikiR = derive { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; };
-  Tides = derive { name="Tides"; version="1.0"; sha256="10k8cmpfj9jjpzayyklslgazgl96078vfbn71ncgrn9bb98ahyqs"; depends=[]; };
-  tidyr = derive { name="tidyr"; version="0.1"; sha256="1rcf2cmd0zbjkvazkdfiv4sy50rxzj0fs4ldgmkz89vlffy5kdgc"; depends=[reshape2 dplyr]; };
-  tiff = derive { name="tiff"; version="0.1-5"; sha256="0asf2bws3x3yd3g3ixvk0f86b0mdf882pl8xrqlxrkbgjalyc54m"; depends=[]; };
-  tiger = derive { name="tiger"; version="0.2.3.1"; sha256="0xr56c46b956yiwkili6vp8rhk885pcmfyd3j0rr4h8sz085md6n"; depends=[e1071 hexbin qualV klaR som lattice]; };
-  tigerstats = derive { name="tigerstats"; version="0.1.6"; sha256="18gvmc4gfwi2x5nqj6jm7lddzlqmjvj0bf4h6r0yzvrp07wayvan"; depends=[lattice MASS]; };
-  tightClust = derive { name="tightClust"; version="1.0"; sha256="0psyzk6d33qkql8v6hzkp8mfwb678r95vfycz2gh6fky7m5k3yyz"; depends=[]; };
-  tikzDevice = derive { name="tikzDevice"; version="0.7.0"; sha256="12r6qk5qp4yvi3vqvdxp02799y6fhmg21qv6abp1s620n8hgva6d"; depends=[filehash]; };
-  tileHMM = derive { name="tileHMM"; version="1.0-6"; sha256="18vqj7fdh4knnjk9s7yk2bgn3qwqz92fmm5fdny21gi0wl4qgdsd"; depends=[]; };
-  TilePlot = derive { name="TilePlot"; version="1.3.1"; sha256="0yfzjyzc743rv5piw9mb7y0rr558hkxszgz49lya2w3i1mqvxbzy"; depends=[]; };
-  tilting = derive { name="tilting"; version="1.0"; sha256="0s0lac39wnczjy6kb2a1an55fyndh61ya5cx4ic3799cgqvn8ba0"; depends=[mvtnorm]; };
-  timeDate = derive { name="timeDate"; version="3010.98"; sha256="12f4bdb9lv724p4p1490iznhnwznnn69c5b6wbljdvscl1yvys9a"; depends=[]; };
-  timeit = derive { name="timeit"; version="0.2.1"; sha256="0fsa67jyk4yizyd079265jg6fvjsifkb60y3fkkxsqm7ffqi6568"; depends=[microbenchmark]; };
-  timeline = derive { name="timeline"; version="0.9"; sha256="0zkanz3ac6cgsfl80sydgwnjrj9rm7pcfph7wzl3xkh4k0inyjq3"; depends=[ggplot2]; };
-  TimeMachine = derive { name="TimeMachine"; version="1.2"; sha256="1dz0j777wmd8mpkm2ryiahpcw6w88w429zjcw6m67pi20r1992cb"; depends=[]; };
-  timeordered = derive { name="timeordered"; version="0.9.6"; sha256="0h6y3asq1y788571c423bqkgdcx6k5i9jp6hp59x99g9l77y71sn"; depends=[igraph plyr]; };
-  TimeProjection = derive { name="TimeProjection"; version="0.2.0"; sha256="04yr4cg2khkw9n3y3qk0ni1327k4pxm09zz2xg8mpjdvgi4p9yi3"; depends=[lubridate timeDate Matrix]; };
-  timereg = derive { name="timereg"; version="1.8.5"; sha256="1ppmhx86cf276fl1nwmlpbjhh6ddvrcw2gc53ncqcyff0jg6r4c1"; depends=[survival prodlim]; };
-  timeROC = derive { name="timeROC"; version="0.2"; sha256="1ikd2wr5cja784hihqdyk7mwky18czz58sl0xrvmzhc67153a4jz"; depends=[pec mvtnorm timereg]; };
-  timesboot = derive { name="timesboot"; version="1.0"; sha256="1ixmcigi1bf42np93md8d3w464papg9hp85v0c3hg3vl4nsm2bji"; depends=[boot]; };
-  timeSeries = derive { name="timeSeries"; version="3010.97"; sha256="0iv1jkh1h2qamsi22m7l3pdx0mgz96lafwjdxc99i558l2gdp2s3"; depends=[timeDate]; };
-  timetools = derive { name="timetools"; version="1.6.0"; sha256="1ynapbzbnxyyqs1lkb482jp3yfjmnbqqv80ksc6vasi6gm0fmx7h"; depends=[]; };
-  TimeWarp = derive { name="TimeWarp"; version="1.0-7"; sha256="1qjr3kfdd1ym0fi4hgjqm32gigchbchxy4xyxmsyl8y7jh2jk9qj"; depends=[]; };
-  TIMP = derive { name="TIMP"; version="1.11.0"; sha256="0l8n3xg5ds1lbndd993nijny26s9p36n3j128527y53fs4915lxn"; depends=[fields vcd gplots colorspace gclus nnls deSolve minpack_lm MASS]; };
-  timsac = derive { name="timsac"; version="1.3.3"; sha256="0jg9mjzzfl94z4dqb2kz0aiccpclnbyf9p08x3a3cw1y6wqmzrmy"; depends=[]; };
-  Tinflex = derive { name="Tinflex"; version="1.0"; sha256="0zvh2nfx4kqf90mmrpdm2fzlzn7s7gs09i8zin604hqxjir6p3ny"; depends=[]; };
-  TInPosition = derive { name="TInPosition"; version="0.13.6"; sha256="1cxxrfpbiyknaivv6gyp79lz0rxwhrndcd054smksxq8zcfz0v7c"; depends=[prettyGraphs TExPosition ExPosition InPosition]; };
-  tipom = derive { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; };
-  tis = derive { name="tis"; version="1.23"; sha256="0k8g9r0ngiw5dnmg0vddcmfw2w7g69lamrpczabrd2jmvvy67npn"; depends=[]; };
-  titan = derive { name="titan"; version="1.0-16"; sha256="0x30a877vj99z3fh3cw9762j5ci56964j2466xfbwcywhn9njz5r"; depends=[MASS boot lattice]; };
-  tkrgl = derive { name="tkrgl"; version="0.7"; sha256="1kpq5p6izqrn1zr53firis3rmifq9lf6326lf3z7l1p82nf2yps5"; depends=[rgl]; };
-  tkrplot = derive { name="tkrplot"; version="0.0-23"; sha256="1cnyszn3rmr1kwvi5a178dr3074skdijfixf5ln8av5wwcy35947"; depends=[]; };
-  tlemix = derive { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; };
-  tlmec = derive { name="tlmec"; version="0.0-2"; sha256="1gak8vxmfjf05bhaj6lych7bm8hgav1x3h14k2ra7236v82rqbw7"; depends=[mvtnorm]; };
-  tlnise = derive { name="tlnise"; version="2.0"; sha256="1vh998vqj359249n9zmw04rsivb7nlbdfgzf20pgh2sndm3rh8qz"; depends=[]; };
-  tm = derive { name="tm"; version="0.6"; sha256="004hswgswz3gdrpa6j61hl4rls843bxnsp5qac5kyxvfmwalsgr8"; depends=[NLP slam]; };
-  tmap = derive { name="tmap"; version="0.6"; sha256="10aw79k3vdi3f20i4clsbvdlfylg34z02ah36wz5yj7y68fm5ijh"; depends=[rgeos gridBase sp rgdal classInt RColorBrewer igraph fields vegan]; };
-  tmle = derive { name="tmle"; version="1.2.0-4"; sha256="11hjp2vak1zv73326yzzv99wg8a2xyvfgvbyvx3jfxkgk33mybbm"; depends=[SuperLearner]; };
-  tmle_npvi = derive { name="tmle.npvi"; version="0.8.1"; sha256="1vxkhf17x3zsf4fvx458qyqn0xi460db6kw6zmaw6jhagjk5yaj0"; depends=[R_utils MASS sgeostat]; };
-  tm_plugin_alceste = derive { name="tm.plugin.alceste"; version="1.1"; sha256="0wid51bbbx01mjfhnaiv50vfyxxmjxw8alb73c1hq9wlsh3x3vjf"; depends=[NLP tm]; };
-  tm_plugin_dc = derive { name="tm.plugin.dc"; version="0.2-7"; sha256="1ikkxp5jdr385yqvhknvkvs97039jw964pcm6dl1k66nbdv1q59i"; depends=[DSL tm NLP slam]; };
-  tm_plugin_europresse = derive { name="tm.plugin.europresse"; version="1.1"; sha256="1rjpnr3x9nngvbx3vlzqsha9zg7ikqfxmqsalb3gvgph0bamdbbp"; depends=[NLP tm XML]; };
-  tm_plugin_factiva = derive { name="tm.plugin.factiva"; version="1.5"; sha256="06s75rwx9fzld1dw0nw6q5phc1h0zsdzhy1dcdcvmsf97d4s2qdr"; depends=[NLP tm XML]; };
-  tm_plugin_lexisnexis = derive { name="tm.plugin.lexisnexis"; version="1.1"; sha256="1hx0micnma1i6bys6jhwcxjsb7rlzac5kwwnrsgk7i1ynq7bh3zp"; depends=[NLP tm XML ISOcodes]; };
-  tm_plugin_mail = derive { name="tm.plugin.mail"; version="0.1"; sha256="0ca2w2p5zv3qr4zi0cj3lfz36g6xkgkbck8pdxq5k65kqi5ndzyp"; depends=[NLP tm]; };
-  tm_plugin_webmining = derive { name="tm.plugin.webmining"; version="1.2"; sha256="1qwzglv40vry2nsqnvpz2pr2bqyb3iibh3dx2yn51xshgqs3p2d8"; depends=[NLP tm boilerpipeR RCurl XML RJSONIO]; };
-  tmvtnorm = derive { name="tmvtnorm"; version="1.4-9"; sha256="1dacdhqv6bb29a81bmxp8hxy4hragpg8mb5kql4cp59q08zmizyi"; depends=[mvtnorm Matrix gmm]; };
-  tnet = derive { name="tnet"; version="3.0.11"; sha256="00hifb145w0a9f5qi3gx16lm1qg621jp523vswb8h86jqmxcczbc"; depends=[igraph survival]; };
-  toaster = derive { name="toaster"; version="0.2.5"; sha256="0yybv6lq22mzawyvywh1dpg5p5mx5qqqssdhgd3ff78cqp7j298r"; depends=[RODBC plyr reshape2 ggplot2 scales RColorBrewer wordcloud ggmap]; };
-  tolerance = derive { name="tolerance"; version="0.5.3"; sha256="058gl3vsqq4ylxrafj6fd70xsw4jbxjlxl30h8pd2dyv1h70b5zf"; depends=[rgl]; };
-  topicmodels = derive { name="topicmodels"; version="0.2-1"; sha256="1if1pdx4jnfx3xi37xs411qv3h449vkwxzzqd7krxaxbj3gqq7n9"; depends=[modeltools slam tm]; };
-  TopKLists = derive { name="TopKLists"; version="1.0.2"; sha256="0hsfa465rw7mjwgp9nk2aa9gqrwc61r867n4kfix6fbngqr11m5k"; depends=[Hmisc gplots]; };
-  topmodel = derive { name="topmodel"; version="0.7.2-2"; sha256="1nqa8fnpxcn373v6qcd9ma8qzcqwl2md347yql3c8bpqlm9ggz16"; depends=[]; };
-  topologyGSA = derive { name="topologyGSA"; version="1.4.4"; sha256="092f57gpm8jlb2y4j74a6dx1lwqjdgcm3yrm1yzy4511j6vg0axh"; depends=[gRbase fields]; };
-  topsis = derive { name="topsis"; version="1.0"; sha256="056cgi684qy2chh1rvhgkxwhfv9nnfd7dfzc05m24gy2wyypgxj3"; depends=[]; };
-  tosls = derive { name="tosls"; version="1.0"; sha256="03nqwahap504yvcksvxdhykplbzmf5wdwgpzm7svn8bymdc472v2"; depends=[Formula]; };
-  tourr = derive { name="tourr"; version="0.5.3"; sha256="0jsj2r9lhy0pa4kxnfb1cpf28c8q26rcprssax765n5ip1w9ycra"; depends=[]; };
-  tourrGui = derive { name="tourrGui"; version="0.4"; sha256="1g9928q3x9rrd9k3k84r201wss3vjd2pngvbaflk5dqh9yf75jpq"; depends=[tourr colorspace RGtk2 gWidgets Cairo]; };
-  tpe = derive { name="tpe"; version="1.0.1"; sha256="0zsa8vb4qmln3sb4lplv43lh50yys9vfd3rxfp6qxqqjxivd0xsh"; depends=[]; };
-  TPmsm = derive { name="TPmsm"; version="1.1.1"; sha256="0fd4l1rzclq32l97g7rdvhdvfdylgwaf079y24arfvkyphs2xga4"; depends=[KernSmooth]; };
-  tpr = derive { name="tpr"; version="0.3-1"; sha256="0nxl0m39zaii6rwm35hxcdk6iy2f729jjmhc2cpr8h0mgvgqf19d"; depends=[lgtdl]; };
-  track = derive { name="track"; version="1.0-15"; sha256="05v6p2mfms59p3cs4vwpzvi9gaadrin50fc39l5kjqwqa9vhmkz7"; depends=[]; };
-  trackObjs = derive { name="trackObjs"; version="1.0-18"; sha256="0wwm9yx5wnmgvyd7zczkv8mdzixazb3kps112w19rdbnkiq1db3d"; depends=[]; };
-  TrackReconstruction = derive { name="TrackReconstruction"; version="1.1"; sha256="1f2l3nshb6qrhyczw5rxqqzmsjxf0rvv3y78j8d9lv1nnd9kxzq5"; depends=[fields RColorBrewer]; };
-  tractor_base = derive { name="tractor.base"; version="2.5.0"; sha256="17s4iyp67w7m8gslm87p3ic5r9iq7x1ifpxqrmnin3y5a3d04f5v"; depends=[reportr]; };
-  traitr = derive { name="traitr"; version="0.13"; sha256="0xn2w83w9mh2aal375snzv9r7yv7adly3axf8kchlcxs2kgrrn8f"; depends=[digest proto gWidgets]; };
-  TraMineR = derive { name="TraMineR"; version="1.8-8"; sha256="12zbk7bq4ff4dzq86zbh9pspl1b9a69k0rw9lg8sh3mmc0f09m8j"; depends=[RColorBrewer boot]; };
-  TraMineRextras = derive { name="TraMineRextras"; version="0.2.2"; sha256="0sb072ssg5q3kncb3b1a0nrnapjq8rly0ibh3gdrld9fdbdbjx68"; depends=[TraMineR RColorBrewer combinat survival]; };
-  TRAMPR = derive { name="TRAMPR"; version="1.0-7"; sha256="135ylhijhpdxpznfdbdzwfsvy8bhw1yx28c3520a3lyrqvinpawg"; depends=[]; };
-  translate = derive { name="translate"; version="0.1.2"; sha256="1w0xrg1xxwfdanlammmixf06hwq700ssbjlc3cfigl50p87dbc5x"; depends=[RCurl RJSONIO functional lisp]; };
-  translateR = derive { name="translateR"; version="1.0"; sha256="11kh9hjpsj5rfmzybnh345n1gzb0pdksrjp04nzlv948yc0mg5gm"; depends=[RJSONIO RCurl textcat httr]; };
-  transmission = derive { name="transmission"; version="0.2.0"; sha256="0cp3fb05kj3zj1x3i7icisaswdqbn9mhx5vi778x44r68h2lap17"; depends=[Rcpp ggplot2 reshape2 plyr]; };
-  transnet = derive { name="transnet"; version="0.1"; sha256="0apsb67dxcnnsjnldr1vsjpc7xwy4cipybk9d86rf86l6cmirci6"; depends=[rJava plyr reshape2]; };
-  transport = derive { name="transport"; version="0.6-2"; sha256="038p40jp654w0jbgzxy1sj4258g9lzdfzija1mfz6nc6ibycviyj"; depends=[]; };
-  trapezoid = derive { name="trapezoid"; version="2.0-0"; sha256="0f6rwmnn61bj97xxdgbydi94jizv1dbq0qycl60jb4dsxvif8l3n"; depends=[]; };
-  TreatmentSelection = derive { name="TreatmentSelection"; version="1.1.2"; sha256="1mvrb72yz51gmwqlfg5gsjbi65lqk5j24agddw1br53ymdvjgzq4"; depends=[ggplot2]; };
-  tree = derive { name="tree"; version="1.0-35"; sha256="1k8c2kjk53gix68frprlyx5ww7cm373vz1xg2r2jxbzxg1y4v691"; depends=[]; };
-  treebase = derive { name="treebase"; version="0.0-7.1"; sha256="0kj1cyk14j4qzm31f47a8g7qh4842rqkzr0fqh9i5c8kzrqxbc0g"; depends=[ape XML RCurl reshape2 data_table]; };
-  treeclim = derive { name="treeclim"; version="1.0.7"; sha256="1l2m4pq5wcb3wkxy9mkay87vzdcn8rxgsknsb72ahdb3zim0yg0v"; depends=[Rcpp abind plyr ggplot2 lmtest lmodel2 np boot]; };
-  treecm = derive { name="treecm"; version="1.2.1"; sha256="02al6iz25pay7y1qmbpy04nw8dj9c5r7km6q5k3v3jdkfal6cm6k"; depends=[plyr]; };
-  treelet = derive { name="treelet"; version="1.0"; sha256="16g4lmp4yrfg328d0qwrp101y1qnwcrff7kna60cjmqdpvg3wm15"; depends=[]; };
-  treemap = derive { name="treemap"; version="2.2"; sha256="0h4wkjw12n9awqsvrs72nmsxq3d5as3zjy8kyhw7715h1cvry769"; depends=[colorspace data_table ggplot2 gridBase igraph RColorBrewer shiny]; };
-  TreePar = derive { name="TreePar"; version="3.0"; sha256="12i3y2wmja0xrq3h43fi4r8991q328l1p51q5nbz17crd44pds31"; depends=[ape Matrix subplex TreeSim deSolve]; };
-  TreeSim = derive { name="TreeSim"; version="2.0"; sha256="0kzmvay0ai0acjhcr4w7674gvln9sgg7n4qc3rg5kfcdqj4q8whp"; depends=[ape geiger laser]; };
-  TreeSimGM = derive { name="TreeSimGM"; version="1.2"; sha256="0y6hadwx3apw11jy5d4al3dav3his8b4xvkv7s5d5rd92l7yrw0r"; depends=[TreeSim]; };
-  treethresh = derive { name="treethresh"; version="0.1-7"; sha256="0757w8y7hqki9znn726h7ry1hdrhnfj9ps179jmh5cl0gb5p2qin"; depends=[EbayesThresh wavethresh]; };
-  TrialSize = derive { name="TrialSize"; version="1.3"; sha256="1hikhw2l7d3c7cg4p7zzrgdwhy9g4rv06znpw5mc6kwinyakp75q"; depends=[]; };
-  TRIANG = derive { name="TRIANG"; version="1.2"; sha256="09hfvfmqrmx8dphlk46ga0y9s986kb32qdhgiq95faqfhpirf0qa"; depends=[]; };
-  TRIANGG = derive { name="TRIANGG"; version="1.0"; sha256="1ycqyaijxmgi7v9rzdsq3gxx1wll51yfpdyxbjiyp9gpgmcs7h48"; depends=[]; };
-  triangle = derive { name="triangle"; version="0.8"; sha256="0jdphz1rf4cx4y28syfffaz7fbl41g3rw3mrv9dywycdznhxdnrp"; depends=[]; };
-  trifield = derive { name="trifield"; version="1.1"; sha256="0xk48fkd5xa3mfn3pwdya0ihpkwnh20sgj3rc7fmzjil47kqscvy"; depends=[]; };
-  TriMatch = derive { name="TriMatch"; version="0.9.1"; sha256="1207lnysdjd347m1lsbxy19lq73bjs1irqwk94y8idp1pcj4pfpd"; depends=[ggplot2 scales reshape2 ez psych PSAgraphics]; };
-  trimcluster = derive { name="trimcluster"; version="0.1-2"; sha256="0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2"; depends=[]; };
-  trioGxE = derive { name="trioGxE"; version="0.1-1"; sha256="1ra86l3i7fhb6nsy8izixyvm6z23shv7fcjmnnpil54995j15ax4"; depends=[msm mgcv gtools]; };
-  trip = derive { name="trip"; version="1.1-17"; sha256="1i1hc89bdws4k10w6yz0wqnkkk2mgbhkv0kdnx2q8ljir9p4gbyx"; depends=[sp maptools MASS spatstat]; };
-  tripack = derive { name="tripack"; version="1.3-6"; sha256="1dknz1arzfyknip04a9fxdhqmrkb0r0lr8hgria9s0d57hr1ay12"; depends=[]; };
-  tripEstimation = derive { name="tripEstimation"; version="0.0-41"; sha256="11cn9lz4vdcx8wb46cm5sj0rfjl9cs50z7zxfxrn79nz0pga4gwn"; depends=[lattice mgcv rgdal sp zoo]; };
-  TripleR = derive { name="TripleR"; version="1.2.1"; sha256="0ab0mb044594rixira088l2dr5r9jrbphiigi8nv8ggm6536sqf0"; depends=[reshape plyr]; };
-  trueskill = derive { name="trueskill"; version="0.1"; sha256="0mqvm64fcsxjlh789lqdk6l28q31yhh6jjirwjlgbpxxb90c5107"; depends=[]; };
-  truncdist = derive { name="truncdist"; version="1.0-1"; sha256="0aszs6rz8nydyf2dw1m4fj9fclb0r4vpgqywyaqjkdnhzmyn593g"; depends=[evd]; };
-  truncgof = derive { name="truncgof"; version="0.6-0"; sha256="0b499i9zjwvva5jfl9fj02jjrgy8myxqfjwa0cjg0jrpgxczgwg8"; depends=[MASS]; };
-  truncnorm = derive { name="truncnorm"; version="1.0-7"; sha256="1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"; depends=[]; };
-  truncreg = derive { name="truncreg"; version="0.2-1"; sha256="0qvdfj93phk1s2p4n0rmpf8x9gj5n1j75h4z424mrg10r24699rd"; depends=[maxLik]; };
-  truncSP = derive { name="truncSP"; version="1.2.2"; sha256="1hdi518j3sg9273g01l1jqlmqya3ppim82ma7zakwqpmsjmzw18q"; depends=[truncreg boot]; };
-  trust = derive { name="trust"; version="0.1-6"; sha256="1jghgwnazhqgyn2k0b3x4n8swncyy6dzlkv86chv98zw4s3bnlak"; depends=[]; };
-  trustOptim = derive { name="trustOptim"; version="0.8.3"; sha256="04pkni5053r9czmf81jaq3y1kvw902g237pa6d3jgkvlqaznqwg3"; depends=[Rcpp RcppEigen Matrix]; };
-  TSA = derive { name="TSA"; version="1.01"; sha256="0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx"; depends=[leaps locfit mgcv tseries]; };
-  TSAgg = derive { name="TSAgg"; version="1.0.1"; sha256="01s0grwfbhhfipqdnc0932rjsz4k52rln2bs8dsvrk6f8wps7h1k"; depends=[lubridate]; };
-  tsbridge = derive { name="tsbridge"; version="1.1"; sha256="0mry3ia54cdfydpzm8asrq1ldj70gnpb5dqzj51w0jiyps2zlw6f"; depends=[mvtnorm tsbugs]; };
-  tsbugs = derive { name="tsbugs"; version="1.2"; sha256="130v4x6cfy7ddvhijsnvipm4ycrispkj1j0z5f326yb4v5lrk91x"; depends=[]; };
-  TSclust = derive { name="TSclust"; version="1.2.1"; sha256="1ixawrs686p5g8kdaiqpf4y8ndpz0vgz9ji1ahja8i6nscfzasd9"; depends=[wmtsa pdc cluster locpol KernSmooth dtw longitudinalData]; };
-  TScompare = derive { name="TScompare"; version="2013.9-1"; sha256="1gghr7xsg524sc9lhy1ymlhigaz6pi69fnccgn784ff2hl3w6d8w"; depends=[TSdbi tframe tfplot]; };
-  TSdata = derive { name="TSdata"; version="2013.9-1"; sha256="1r3x6w17517if2jpcz2mr8jk5i080dkx4nlffblrcsxjhfvlz0xh"; depends=[]; };
-  TSdbi = derive { name="TSdbi"; version="2013.9-1"; sha256="12v9dv7hrq626q44v3lws950m241fq5fsfsnmgvfbbyya5ixis86"; depends=[DBI tframe]; };
-  TSdist = derive { name="TSdist"; version="1.2"; sha256="103wv6wy5gjim2cf14d6afinyla85p6dncchi17fr0s4vqkmx3m5"; depends=[proxy zoo xts]; };
-  tsDyn = derive { name="tsDyn"; version="0.9-33"; sha256="080bzbxvjfwayq9j7r1ghalvjcql9sk7ryzj880k2by4179fhnkk"; depends=[mnormt mgcv nnet tseriesChaos tseries vars urca forecast MASS Matrix foreach]; };
-  TSEN = derive { name="TSEN"; version="1.0"; sha256="1pn313g2ylbjc37rqcakd797vffnh7v0rgg1xl5wjyvcgmm5mxix"; depends=[ncdf]; };
-  tseries = derive { name="tseries"; version="0.10-32"; sha256="0jz8a3z3hx2ps7krmpg6m10jvz5ddgmcrmnd38jpxb6ndnhh3pzw"; depends=[quadprog zoo]; };
-  tseriesChaos = derive { name="tseriesChaos"; version="0.1-13"; sha256="0f2hycxyvcaj3s1lmva1qy46xr6qi43k8fvnm4md5qj8jp2zkazg"; depends=[deSolve]; };
-  tsfa = derive { name="tsfa"; version="2014.2-2"; sha256="07g9qfdrhccl5dlsbpxn1ihavxljd9nq21hzbyn225cfi4bkx42h"; depends=[GPArotation dse EvalEst setRNG tframe tfplot]; };
-  TSfame = derive { name="TSfame"; version="2013.8-2"; sha256="19awl7jrx97y93wsms3h87w8qdgpdrkbbpsjsa2aqsnyq5vgy82l"; depends=[TSdbi DBI tframe tframePlus fame tis]; };
-  TSgetSymbol = derive { name="TSgetSymbol"; version="2013.9-1"; sha256="1hn78xrfdnwhjrgcnn71ihvdgv4qwdxhpjwcqp0pbkgbxj3q5w3k"; depends=[TSdbi quantmod DBI zoo tframe tframePlus]; };
-  TShistQuote = derive { name="TShistQuote"; version="2013.9-1"; sha256="06din7frxmbk4qxkpv0z5srh8nh0wkmrfl9lz17y7cwsmldl4hvr"; depends=[TSdbi DBI tframe tframePlus zoo tseries]; };
-  TSHRC = derive { name="TSHRC"; version="0.1-3"; sha256="18ygg7bqwg1pdqi52l1lf33gcd277895rlf5853yzh7ln2ivssmi"; depends=[]; };
-  tsintermittent = derive { name="tsintermittent"; version="1.3"; sha256="10ch3ssfgdxhxg0l5m4jp2mryj7s23crwnj0nwnc9w3yarl9mxjy"; depends=[MAPA]; };
-  TSjson = derive { name="TSjson"; version="2014.4-1"; sha256="1rkxc4dm7hdva0hiqbka8isfszjy26if9hnarsm51cflk8b60zhk"; depends=[TSdbi findpython DBI tframe tframePlus rjson]; };
-  tslars = derive { name="tslars"; version="1.0"; sha256="0ylpn4jxmrck7hna3j420kw2yhsrklrq2664w85z30xij3zrrrci"; depends=[]; };
-  tsModel = derive { name="tsModel"; version="0.6"; sha256="0mkmhzj4g38ngzfcfx0zsiqpxs2qpw82kgmm1b8gl671s4rz00zs"; depends=[]; };
-  TSMySQL = derive { name="TSMySQL"; version="2013.9-1"; sha256="1ls3mpp5xq707vgv8l14cfbw1vn4ygy4d9n19nw5mnl3izz4p0pk"; depends=[TSdbi RMySQL DBI tframe TSsql]; };
-  tsne = derive { name="tsne"; version="0.1-2"; sha256="12q5s79r2949zhm61byd4dbgw6sz3bmxzcwr8b0wlp8g1xg4bhy6"; depends=[]; };
-  TSodbc = derive { name="TSodbc"; version="2013.9-1"; sha256="0s0bgid5slvyqlsrc0jvybqd73qjbs7qb0klws4ynk51rw6rilml"; depends=[TSdbi RODBC DBI tframe tframePlus TSsql]; };
-  tsoutliers = derive { name="tsoutliers"; version="0.4"; sha256="08b8ssd8ha2n96la1kc64w2r1616c2d417vr6292g8m60fvlcq48"; depends=[forecast polynom stsm stsm_class KFKSDS]; };
-  TSP = derive { name="TSP"; version="1.0-9"; sha256="122y008gy7b2yscl9n2nwdb81fzjnpimipy3cvbnmk4i6v8nibjx"; depends=[]; };
-  Tsphere = derive { name="Tsphere"; version="1.0"; sha256="0xgxw2hfj40k5s0b54dcmz7savl8wy4midmmgc7lq4pyb8vd58xx"; depends=[glasso rms]; };
-  tspmeta = derive { name="tspmeta"; version="1.1"; sha256="11kr5avf67v2cxy3k1yrpv9lcbmiprd0w43w7zvizhsij58h13vm"; depends=[ggplot2 TSP MASS BBmisc fpc vegan stringr splancs]; };
-  TSPostgreSQL = derive { name="TSPostgreSQL"; version="2013.9-1"; sha256="0ihfz0q1faxb7mk4jm10czfb9fz168x4z8890vql98djsxzjxpz4"; depends=[TSdbi RPostgreSQL DBI tframe tframePlus TSsql]; };
-  TSsql = derive { name="TSsql"; version="2014.4-1"; sha256="10h83z0d9xjc1g0pnjvr4idz5c2vwf36x6qx1lpa48ybap50s215"; depends=[DBI tframe TSdbi]; };
-  TSSQLite = derive { name="TSSQLite"; version="2013.9-1"; sha256="0yw5whn95dvv3wbwmlhfgkapwp66nk94fjfl1r8irbqvrscmjin0"; depends=[TSdbi RSQLite DBI tframe tframePlus TSsql]; };
-  TSTutorial = derive { name="TSTutorial"; version="1.2.3"; sha256="0hpk6k3lc72p8pdz5aad04lcjsz9k443h5gs09dc3i10wqw3yhxs"; depends=[MASS]; };
-  TSxls = derive { name="TSxls"; version="2013.8-2"; sha256="1a0cmw41jf9jqibg25s4s04lawdb86c5r4bkxp8bznzkkhihpxn1"; depends=[TSdbi DBI tframe tframePlus gdata]; };
-  TSzip = derive { name="TSzip"; version="2013.9-1"; sha256="09fqjsppj7qmbiiy19s64j77kf6drqfiphk5dfz25w5df1lzdw0f"; depends=[TSdbi DBI tframe tframePlus gdata]; };
-  TTAinterfaceTrendAnalysis = derive { name="TTAinterfaceTrendAnalysis"; version="1.5.1"; sha256="1i9p5s7xj3py8465yjjaqs2m7krjxzzqd86lkpbgzxnxjdnxcx5i"; depends=[Hmisc pastecs reshape wq e1071 timeSeries fBasics relimp multcomp nlme lubridate tcltk2]; };
-  tth = derive { name="tth"; version="4.3-2"; sha256="1gs8xjljklvs0pavvn9f59y09hw7x2da58a46b5x01g08i0j8h1d"; depends=[]; };
-  TTR = derive { name="TTR"; version="0.22-0"; sha256="0aackwmmakjcynpq4nxi8xw1x3688rkg6kypgd5jiprzzdhsz5rq"; depends=[xts]; };
-  ttScreening = derive { name="ttScreening"; version="1.3"; sha256="1ixy3s0a1vwr5qf1w24n8bhbq6qbwraal8xb8ypbvpjkrl0d14z2"; depends=[matrixStats corpcor]; };
-  ttutils = derive { name="ttutils"; version="1.0-1"; sha256="18mk30070mcplybg320vjbk9v5flxnbqi5gx0yyr1z6ymjmnrxbc"; depends=[]; };
-  ttwa = derive { name="ttwa"; version="0.8.5.1"; sha256="1lhypcwssq0dspizvln3w4dg16ad6mz8cj4w34c5vsrayqid7fyn"; depends=[data_table]; };
-  TukeyC = derive { name="TukeyC"; version="1.1-4"; sha256="0p6wiyk6k2jabbf1s8fgzd547f3c0paf8d9hfa9aan5vwfcfyld6"; depends=[]; };
-  TunePareto = derive { name="TunePareto"; version="2.4"; sha256="0pljl3q5s9yqc4ph70y66ff9ci9w8gwj8jsy8srxqkgqvahc8arf"; depends=[]; };
-  tuneR = derive { name="tuneR"; version="1.2.1"; sha256="1f6mdkfwfy6r62sbwq37sylvcji6f3mj9w13sgicxjn6swbszf57"; depends=[signal]; };
-  tuple = derive { name="tuple"; version="0.3-06"; sha256="025fkyiv5gn5gajk0fdknp00vc6z2b9f7j9p025cl8jyxgpyv4xy"; depends=[]; };
-  turboEM = derive { name="turboEM"; version="2012.2-1"; sha256="1vv7bjkkqm96qkqqz6gzhz7ii4yzr252r8wf37dgv5qfh1jlbvp2"; depends=[numDeriv quantreg foreach]; };
-  turfR = derive { name="turfR"; version="0.8-4"; sha256="0fqzwnrwxlighxbapmnarxzh91s6khjbb26xs8gqzz3f8xwmj9dy"; depends=[dplyr]; };
-  turner = derive { name="turner"; version="0.1.7"; sha256="1xckb750hbfmzhvabj0lzrsscib7g187b44ag831z58zvawwh772"; depends=[tester]; };
-  TurtleGraphics = derive { name="TurtleGraphics"; version="1.0-4"; sha256="10zdwpfd2a0w995v4w2rvbvcczg53cb2kpm6bcyvrj8j5nqzmgqf"; depends=[]; };
-  TUWmodel = derive { name="TUWmodel"; version="0.1-2"; sha256="1k3gdsl8rv10ipa82rgyhjh4pqf4n2d2dj68s9r5pkv362kzk1ra"; depends=[]; };
-  tvm = derive { name="tvm"; version="0.2"; sha256="1fwa37xnp3idal8v1xxlc9gr25595f644i7a3h8xpd0k086sp1dg"; depends=[ggplot2 reshape2]; };
-  twang = derive { name="twang"; version="1.4-0"; sha256="0r9n0s421dhvsr3ppzhdxsq4viz18mbi9mglhyyl5r6slzyb4m0x"; depends=[gbm survey xtable latticeExtra]; };
-  tweedie = derive { name="tweedie"; version="2.2.1"; sha256="1fsi0qf901bvvwa8bb6qvp90fkx1svzswljlvw4zirdavy65w0iq"; depends=[]; };
-  twiddler = derive { name="twiddler"; version="0.5-0"; sha256="0r16nfk2afcw7w0j0n3g0sjs07dnafrp88abwcqg3jyvldp3kxnx"; depends=[]; };
-  twitteR = derive { name="twitteR"; version="1.1.7"; sha256="0zkz44brvkrsp1g7i90j2lvnj462vav706vqyxv0jfkp52f0s1z4"; depends=[ROAuth RCurl rjson]; };
-  TwoCop = derive { name="TwoCop"; version="1.0"; sha256="1ycxq8vbp68z82r2dfg2wkc9zk3bn33d94xay20g2p55lnzl2ifd"; depends=[]; };
-  twoStageGwasPower = derive { name="twoStageGwasPower"; version="0.99.0"; sha256="1xvy6v444v47i29aw54y29xiizkmryv8p3mjha93xr3xq9bx2mq7"; depends=[]; };
-  twostageTE = derive { name="twostageTE"; version="1.2"; sha256="05k9lvkailv06cah71p71hnx8in045nxz6waplsccznplhgqg5ar"; depends=[isotone]; };
-  TwoStepCLogit = derive { name="TwoStepCLogit"; version="1.2.2"; sha256="0z3jg0hl7v2g1bral94gn3b1d11dzrlnzc912yh52vrcawbkmckq"; depends=[survival]; };
-  txtplot = derive { name="txtplot"; version="1.0-3"; sha256="1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"; depends=[]; };
-  UBCRM = derive { name="UBCRM"; version="1.0"; sha256="1lkj0pg3pmj91s8i9xzs3bpizpmvjn85bs89wl54whjjhfnnfynk"; depends=[]; };
-  ucbthesis = derive { name="ucbthesis"; version="1.0"; sha256="0l855if3a7862lxlnkbx52qa617mby634sbb2gkprj21rwd7lcbp"; depends=[knitr stringr]; };
-  ucminf = derive { name="ucminf"; version="1.1-3"; sha256="19gmbz32rhrdagvhf2s901lvi1r6273wzznry5daryq6w1jx5z3v"; depends=[]; };
-  udunits2 = derive { name="udunits2"; version="0.6"; sha256="1dlxcx7yw7yqpimnfikdraqcmjsjz7js0j24li0879dzwrqa27ja"; depends=[]; };
-  ump = derive { name="ump"; version="0.5-4"; sha256="05nd9bnysp8gaw916h7hk425banffcm0xfygalbp7brl71q0zby6"; depends=[]; };
-  unbalanced = derive { name="unbalanced"; version="1.1"; sha256="0crkykmyxbag4ri2zikz4r22bf92r3v6q1lfdcvwdvv27slhyfn2"; depends=[FNN RANN]; };
-  unbalhaar = derive { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; };
-  Unicode = derive { name="Unicode"; version="0.1-4"; sha256="0ja0l8b95r2wgybbrpbdbbfjzdq2ns0kcvffv47sq29m516dasyh"; depends=[]; };
-  uniCox = derive { name="uniCox"; version="1.0"; sha256="1glgk6k8gwxk3haqaswd2gmr7a2hgwjkwk2i1qc5ya7gg8svyavv"; depends=[survival]; };
-  uniReg = derive { name="uniReg"; version="1.0"; sha256="1xl19dqnxxibgiiny9ysll2z8j1i70qrszf4xbacq1a6z31vm840"; depends=[DoseFinding MASS mvtnorm quadprog SEL]; };
-  unmarked = derive { name="unmarked"; version="0.10-4"; sha256="1mb9c6h51y476y50q4bh9v6wx6d91b2npf18a66gjs406nra3yck"; depends=[reshape lattice Rcpp plyr]; };
-  untb = derive { name="untb"; version="1.7-2"; sha256="1ha0xj94sz1r325qb4sb5hla9hw1gbqr76703vk792x9696skhji"; depends=[Brobdingnag partitions polynom]; };
-  upclass = derive { name="upclass"; version="1.0"; sha256="0ga49pcxib4lp0pq1ljj1fjbrg7jz4vpjp5hq0c1v1hw2p7a3giy"; depends=[mclust classifly gclus]; };
-  uplift = derive { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[RItools MASS coin tables penalized]; };
-  urca = derive { name="urca"; version="1.2-8"; sha256="0gyjb99m6w6h701vmsav16jpfl5276vlyaagizax8k20ns9ddl4b"; depends=[nlme]; };
-  UScancer = derive { name="UScancer"; version="0.1-2"; sha256="0p1kxw1phqq598ljk3njznc9kmgscc8gmwdrvx1scba9rr6n61kl"; depends=[rgdal]; };
-  UScensus2000blkgrp = derive { name="UScensus2000blkgrp"; version="0.03"; sha256="196hpqrc3rq0m6ra6qinlhz1yknplx08pfp57l6yalni26c8pia0"; depends=[maptools sp foreign]; };
-  UScensus2000cdp = derive { name="UScensus2000cdp"; version="0.03"; sha256="143hqnzdla3p31n422ddzaaa34wc6xnnhil4y53m4qydyg407700"; depends=[maptools sp foreign]; };
-  UScensus2000tract = derive { name="UScensus2000tract"; version="0.03"; sha256="11ppw75k8zghj7xphx5xyl3azsdsyd142avp0la2g941w6f8l2n1"; depends=[maptools sp foreign]; };
-  UScensus2010 = derive { name="UScensus2010"; version="0.11"; sha256="1q06spkh8f4ijvfg557rl3176ki4i8a1y39cyqm3v7mnzwckyj3l"; depends=[maptools sp foreign]; };
-  usdm = derive { name="usdm"; version="1.1-12"; sha256="0padc9ppfisnjg1nzw5csv2zki6dby7487lis8pixf1hhbinsnci"; depends=[raster]; };
-  useful = derive { name="useful"; version="1.1.8"; sha256="1lzl7rr9qxqa0ga6ml7qi7wi02fd4isgpfskvi3igy10iw1zv3hb"; depends=[ggplot2 plyr scales]; };
-  userfriendlyscience = derive { name="userfriendlyscience"; version="0.1-2"; sha256="1b2ypga0kzf8qsl160by1vfp8p6z2mczn3w1qgk042y83kiaiawx"; depends=[ggplot2 plyr psych pwr fBasics e1071 ltm MBESS foreign knitr xtable GGally lavaan]; };
-  UsingR = derive { name="UsingR"; version="2.0-1"; sha256="1z6kiprivam0apdw5qfxyixjwcqpjlap6adccn35cwilgz7ab55i"; depends=[MASS HistData Hmisc aplpack quantreg]; };
-  usl = derive { name="usl"; version="1.3.1"; sha256="1d5xq0iwjp9zdn7xc6vjh74gb0w7fym50qyfd0fn362q5g3jsyk0"; depends=[nlmrt]; };
-  ustyc = derive { name="ustyc"; version="1.0.0"; sha256="1267bng2dz3229cbbq47w22i2yq2ydpw26ngqa1nbi3ma6hwqsv4"; depends=[XML plyr]; };
-  utility = derive { name="utility"; version="1.2"; sha256="10dwmf4gcz0jbakwnvgm475sjjilqj1gf3zisil22pk0rcm51kgj"; depends=[]; };
-  uuid = derive { name="uuid"; version="0.1-1"; sha256="1b35h2n86233zb6dwkgxxlvnlld8kmv0j6j3m31xjbpmc3ppr7w3"; depends=[]; };
-  UWHAM = derive { name="UWHAM"; version="1.0"; sha256="1qaj8anaxqnx4nc6vvzda9hhhzqk9qp8q7bxm26qgia4hgascnrv"; depends=[trust]; };
-  vacem = derive { name="vacem"; version="0.1-1"; sha256="0lh32hj4g1hsa45v6pmfyj1hw0klk8gr1k451lvs4hzpkkcwkqbn"; depends=[foreach]; };
-  varbvs = derive { name="varbvs"; version="1.0"; sha256="0ywgb6ibijffjjzqqb5lvh1lk5qznwwiq7kbsyzkwcxbp8xkabjw"; depends=[]; };
-  varComp = derive { name="varComp"; version="0.1-317"; sha256="16nmhipi0nlh0igc3g9jbv1pqvigmgxy8f395xx6hbzyg87x2ha9"; depends=[quadprog Matrix MASS CompQuadForm RLRsim SPA3G mvtnorm nlme]; };
-  varcompci = derive { name="varcompci"; version="1.0.1"; sha256="11fxb63479cha4apakfd1rs89ngrpfhy0h1412wxyn4k8kbibkk4"; depends=[]; };
-  vardiag = derive { name="vardiag"; version="0.2-0"; sha256="0avj900zx4nr67dk08n0n6arxx2cb2ymm0kd5xxnzsmyrmwm40mm"; depends=[]; };
-  vardpoor = derive { name="vardpoor"; version="0.2.0.9.2"; sha256="0snc0fcmkppca4rcgdyac0mzg235gm7zira5691mnmamrn4f7ikm"; depends=[data_table laeken reshape2 foreach lpSolve plyr gdata]; };
-  VarEff = derive { name="VarEff"; version="1.0"; sha256="0zp024z5xl43z2z67fq5ryfiamfvdbbbv1iaaiyw3shjbg2bp8dp"; depends=[mcmc]; };
-  VaRES = derive { name="VaRES"; version="1.0"; sha256="0gw05jiqgirhz3c8skbb07y4h44r6vi68gnd5y7ql455v0c2raza"; depends=[]; };
-  VAR_etp = derive { name="VAR.etp"; version="0.4"; sha256="0pzxmm41l6sci2jcsnlljymb2vb9b6n9lmj3kjs177cfsd6lp9z1"; depends=[]; };
-  VariABEL = derive { name="VariABEL"; version="0.9-2"; sha256="0vlr6zxl75i49p35jxrc5fwfrb55n91hqdan2ikcix3r2k4qs5k0"; depends=[]; };
-  VarianceGamma = derive { name="VarianceGamma"; version="0.3-1"; sha256="01jv5qrfw8y8yyd3jy3058bpnfyzz7d0m4rx0iibs79gv2rvq5sn"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
-  vars = derive { name="vars"; version="1.5-2"; sha256="1q45z5b07ww4nafrvjl48z0w1zpck3cd8fssgwgh4pw84id3dyjh"; depends=[MASS strucchange urca lmtest sandwich]; };
-  varSelectIP = derive { name="varSelectIP"; version="0.2-1"; sha256="180lzsg48hnlcmhpk0a5yzmy2syw8yr7f5npnyspx3897hjag1vp"; depends=[MASS mvtnorm]; };
-  varSelRF = derive { name="varSelRF"; version="0.7-3"; sha256="11am1hdcaxh58mqa1v16siip6adg61pjxhdyl8mlgnnmffslnpq9"; depends=[randomForest]; };
-  VarSwapPrice = derive { name="VarSwapPrice"; version="1.0"; sha256="12q2wp2cqi9q47mzbb7sc250zkjqkhs9z0h93ik0h63dv339abgj"; depends=[]; };
-  vartors = derive { name="vartors"; version="0.2.6"; sha256="04dynqs903clllk9nyynh3dr7msxn5rr5jmw6ql86ppd5w3da0rl"; depends=[]; };
-  vbdm = derive { name="vbdm"; version="0.0.4"; sha256="1rbff0whhbfcf6q5wpr3ws1n4n2kcr79yifcni12vxg69a3v6dd3"; depends=[]; };
-  VBLPCM = derive { name="VBLPCM"; version="2.4.3"; sha256="0aibjkqlc8l3f17m52ifb25s639gkydvgdj2gkijk5mk0g681qdj"; depends=[ergm sna mclust]; };
-  VBmix = derive { name="VBmix"; version="0.2.17"; sha256="0fhx2vk5ffq147kfgsqjbqwgv64m7z9mbz4gchj90440ih7kyxa5"; depends=[lattice pixmap mnormt]; };
-  vbsr = derive { name="vbsr"; version="0.0.5"; sha256="1avskbxxyinjjdga4rnghcfvd4sypv4m39ysfaij5avvmi89bx3b"; depends=[]; };
-  vcd = derive { name="vcd"; version="1.3-2"; sha256="1ww69sgg178aqcs90mm599nlr6hnxn54d2wzyhddgx1z3qxhzwjd"; depends=[MASS colorspace]; };
-  vcdExtra = derive { name="vcdExtra"; version="0.6-1"; sha256="11f7my59v4wkj1hbpx4vg1bim93i3ajix24iic5jsrk0gi0431x4"; depends=[vcd gnm MASS]; };
-  vcf2geno = derive { name="vcf2geno"; version="2.3"; sha256="1ib9g3162d4mlwrk77fhzsgkcbrbvygav0ycl8527nxbdiyb77f1"; depends=[]; };
-  VDA = derive { name="VDA"; version="1.3"; sha256="063mpwbyykx4f46wzfvrgnlq73ar7i06gxr4mjzbhqcfrsybi72b"; depends=[rgl]; };
-  vdg = derive { name="vdg"; version="1.0"; sha256="1agikw9w9rnn3b2q8lp9y3bxjrf8vx24j624wf19bvx5s3ghqc36"; depends=[ggplot2 quantreg proxy]; };
-  Vdgraph = derive { name="Vdgraph"; version="2.1-3"; sha256="1vyx6q7h2xj9qipyh7pdnd0mh6cs379irxqaylnn2m9rcrmj191q"; depends=[]; };
-  VdgRsm = derive { name="VdgRsm"; version="1.01"; sha256="01hywwjmyvl9ls6gn2vl5z5cv2zlnxl2rfr3k1pachz3gq0yhdc1"; depends=[DoE_wrapper AlgDesign permute]; };
-  vec2dtransf = derive { name="vec2dtransf"; version="1.0"; sha256="0hi7x38f3lyxqgwzjz86ld4snva4ci5rinbqhap04d5hcr2sdpzi"; depends=[sp]; };
-  vecsets = derive { name="vecsets"; version="1.0"; sha256="0jj02fri400pzdqvydcdm3z70wzcwi9zgh45g3rwz3rh5lg15778"; depends=[]; };
-  VecStatGraphs2D = derive { name="VecStatGraphs2D"; version="1.7"; sha256="08f9ixpiq8s5h8h608wrs9l16xk3c1xcrvwgvm5wqm6xfkj9gpfd"; depends=[MASS]; };
-  VecStatGraphs3D = derive { name="VecStatGraphs3D"; version="1.5"; sha256="04x2xqnbgkbi626y9ihs3nlxzf84jz44zlapsdlrxqlswiw4n0mw"; depends=[rgl misc3d MASS]; };
-  vectoptim = derive { name="vectoptim"; version="0.2"; sha256="1n19sipx5r0qy08jmrbsrf0kgwgl31np88wc1zyc2bkx8h1zkmf2"; depends=[foreach doParallel]; };
-  vegan = derive { name="vegan"; version="2.0-10"; sha256="06anm8q82qziqhc3x8cll2xshhjiqkdbwnq1cyn98mshmxlg8i4z"; depends=[permute lattice]; };
-  vegclust = derive { name="vegclust"; version="1.6.3"; sha256="0l6j4sgzfqvcypx2dszpnsd1sivk33pixlgf9abqifp45skpkwfg"; depends=[vegan sp]; };
-  vegdata = derive { name="vegdata"; version="0.6-6"; sha256="0fwilqdzfhmdp8v0i6swmd6600g7mf5pdmz7r5076k0qzapalb3r"; depends=[foreign XML]; };
-  vegetarian = derive { name="vegetarian"; version="1.2"; sha256="15ys1m8p3067dfsjwz6ds837n6rqd19my23yj8vw78xli3qmn445"; depends=[]; };
-  VennDiagram = derive { name="VennDiagram"; version="1.6.7"; sha256="0n291hg4qfjx9z5bhna6blzp7zwi6il2s3vg6600nd2rd7nfx98h"; depends=[]; };
-  venneuler = derive { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; };
-  verification = derive { name="verification"; version="1.40"; sha256="19nhpv41s024cqd3qzx0d2sc9234x73s6k8nfj6wf5jvbc5z0xv4"; depends=[fields boot CircStats MASS dtw]; };
-  VGAM = derive { name="VGAM"; version="0.9-4"; sha256="1mpi73vxz6dzmr1g7d1mnybb18zpn7klaqb7x3cq8j2c37b9ywq4"; depends=[]; };
-  VGAMdata = derive { name="VGAMdata"; version="0.9-4"; sha256="0swmq2pi987pln24pyxrrqr8smqk2290j06wfj1ldpa5g4yjzqmr"; depends=[]; };
-  VHDClassification = derive { name="VHDClassification"; version="0.3"; sha256="1ij4h3gzxb9mm9q743kc3sg2q609mnqz6mhlrbim1wcjji2b7bv4"; depends=[e1071 lattice]; };
-  VideoComparison = derive { name="VideoComparison"; version="0.11"; sha256="04jc9br4ddck2sh9bhy02jx34cqxvh904lr46sid6dnmaqfn80l7"; depends=[RJSONIO RCurl zoo pracma Rcpp]; };
-  VIF = derive { name="VIF"; version="1.0"; sha256="0yvg6ikrcs7mhg0pavhcywrfysv7ylvnhxpc5sam86dbp69flx9x"; depends=[]; };
-  VIM = derive { name="VIM"; version="4.0.0"; sha256="1w62x5vvbpn3h1zwh0jvvy3lpwai1d708jq18zq99bh1qn8n6bfg"; depends=[colorspace car robustbase sp vcd MASS nnet e1071 Rcpp glmnet]; };
-  VIMGUI = derive { name="VIMGUI"; version="0.9.0"; sha256="195lakyik597sjkq6c5v3881p35111gzmj2r5f5nr53vi6bn4pzm"; depends=[tkrplot VIM survey gWidgetsRGtk2 foreign RGtk2 Cairo Hmisc]; };
-  VineCopula = derive { name="VineCopula"; version="1.3"; sha256="1vxm7bk7p452p4kbm5q3ricxcd4f74zzlibxx13wj0cbza5p49nl"; depends=[MASS mvtnorm igraph copula]; };
-  vines = derive { name="vines"; version="1.1.0"; sha256="1cf06i2vci0hwszdlpcig90klxgd7l2k79dln71lc9y0xrzxz9lf"; depends=[copula ADGofTest cubature TSP]; };
-  violinmplot = derive { name="violinmplot"; version="0.2.1"; sha256="1j3hb03y988xa704kp25v1z1pmpxw5k1502zfqjaf8cy4lr3kzsc"; depends=[lattice]; };
-  vioplot = derive { name="vioplot"; version="0.2"; sha256="16wkb26kv6qr34hv5zgqmgq6zzgysg9i78pvy2c097lr60v087v0"; depends=[sm]; };
-  viopoints = derive { name="viopoints"; version="0.2-1"; sha256="0cpbkkzm1rxch8gnvlmmzy8g521f5ang3nhlcnin419gha0w6avf"; depends=[]; };
-  visova = derive { name="visova"; version="1.0"; sha256="1w547nbhd69k6y5k0wv51crykwnlzhms2v6xjwp62n8idjlg81ai"; depends=[RJSONIO]; };
-  visreg = derive { name="visreg"; version="2.0-5"; sha256="0pnq8irvsmcb0v77s0vhfldv7myg202fm3wdgssnpsihbz747gcc"; depends=[lattice]; };
-  visualFields = derive { name="visualFields"; version="0.4"; sha256="07pkaccnk8c9zzizpcdw82vcbqdng2bi9aczpa68i7fz24bvcfan"; depends=[gridBase flip matrixStats Hmisc]; };
-  visualizationTools = derive { name="visualizationTools"; version="0.2.05"; sha256="08ry8bz2278ncjx0sdrg19mv448i0n497l5abpv9f8xhsfsqyrpf"; depends=[]; };
-  visualize = derive { name="visualize"; version="4.2"; sha256="1jgk7j0f3p72wbqnmplrgpy7hlh7k2cmvx83gr2zfnbhygdi22mk"; depends=[]; };
-  VisuClust = derive { name="VisuClust"; version="1.1"; sha256="02jb8kg7bxakcn76zyl68z5ab2c9s2cdz3prrgzh95rf9k893sbc"; depends=[aplpack]; };
-  vitality = derive { name="vitality"; version="1.0"; sha256="0di72khz1mwqlirx78a86lwqhjmbbgmxm6vmlwq546dwvs6q071g"; depends=[IMIS]; };
-  VizOR = derive { name="VizOR"; version="0.7-9"; sha256="1xw06y86nsrwpri6asrwh8kccjsqzzidgbpld6d6l7vrglp8m6sr"; depends=[lattice rms]; };
-  VLF = derive { name="VLF"; version="1.0"; sha256="1il8zhm80mc22zj16dpsy4s6s9arj21l9ik0vccyrpnlr8ws3d3l"; depends=[]; };
-  VLMC = derive { name="VLMC"; version="1.3-14"; sha256="073v7wvcfksc224994vp4xswpl5yl37mgrr2gl95566ncbgdm29q"; depends=[MASS]; };
-  VNM = derive { name="VNM"; version="1.0"; sha256="0wng71bxgi1z70cjrkn8dixg86bxhvbhimlrnqjxbwds6z3ds4pz"; depends=[]; };
-  Voss = derive { name="Voss"; version="0.1-4"; sha256="056izh1j26vqjhjh01fr7nwiz1l6vwr5z4fll87w99nc5wc4a467"; depends=[fields]; };
-  vowels = derive { name="vowels"; version="1.2"; sha256="07w2jv5sswwwzrsc9hdnjh5kj5lqqmpmjn5ihrdj0xpmnhcm4vhp"; depends=[]; };
-  vows = derive { name="vows"; version="0.2-1"; sha256="0aqk09y45l4p814x83l07smy1m2aypsf0c341j56di5bsc55vl2m"; depends=[fda gamm4 RLRsim Rniftilib rpanel shape stringr tkrplot]; };
-  VoxR = derive { name="VoxR"; version="0.5.1"; sha256="07lsp6lrkq0gv55m84dl9w7gz5246d9avypqnkz96n3rbbgd0w5z"; depends=[]; };
-  VPdtw = derive { name="VPdtw"; version="2.1-10"; sha256="1sipiqbk766czd1jxam3bc2hfq7wsn72x51j5ssn2s2q0gvpl7m1"; depends=[]; };
-  vrmlgen = derive { name="vrmlgen"; version="1.4.9"; sha256="0lifhhf41yml4k83wpkssl14jgn8jaw1lcknwbci1sd8s1c4478l"; depends=[]; };
-  vrtest = derive { name="vrtest"; version="0.97"; sha256="00hdgb0r18nwv3qay97b09kqqw9xqsbya06rrjyddqh9r6ggx1y0"; depends=[]; };
-  vscc = derive { name="vscc"; version="0.2"; sha256="1p14v8vd8kckd44g4dvzh51gdkd8jvsc4bkd2i4csx8vjiwrni5w"; depends=[teigen mclust]; };
-  VSURF = derive { name="VSURF"; version="0.8.2"; sha256="1d9irh8s49i8i9q8psmfl41jnr95wvm3libxin0ir8r297rq82z3"; depends=[randomForest rpart doParallel]; };
-  vwr = derive { name="vwr"; version="0.3.0"; sha256="1h790vjcdfngs1siwldvqz8jrxpkajl3266lzadfnmchfan1x7xv"; depends=[stringdist lattice latticeExtra]; };
-  W2CWM2C = derive { name="W2CWM2C"; version="1.0"; sha256="14q1y4vpmrx8qz5nav8bbjkxqsqk646zcwr8h7yzi7cfa85b4cxz"; depends=[waveslim wavemulcor]; };
-  W3CMarkupValidator = derive { name="W3CMarkupValidator"; version="0.1-0"; sha256="1p2i45clmkygf8yxg3kmb4qbad2dnmbbldcxm8i6hhsc87mfb18g"; depends=[XML RCurl]; };
-  waffect = derive { name="waffect"; version="1.2"; sha256="0r5dvm0ggyxyv81hxdr1an658wkqkhqq2xaqzqpnh4sh4wbak35a"; depends=[Rcpp]; };
-  waldwolf = derive { name="waldwolf"; version="0.1"; sha256="0gig3dqs8f44kdzr3abmm4wcnby2ifgqs72ck5wvny6gkwyfdvys"; depends=[]; };
-  walkscoreAPI = derive { name="walkscoreAPI"; version="1.2"; sha256="1c2gfkl5yl3mkviah8s8zjnqk6lnzma1yilxgfxckdh5wywi39fx"; depends=[]; };
-  WARN = derive { name="WARN"; version="1.0"; sha256="14gqcxvfh4z77z4qzk12mg0yhwg8gc06y7cn54az46vh4vmhg32y"; depends=[MASS]; };
-  wasim = derive { name="wasim"; version="1.1.2"; sha256="1zydzw7cihhdwv0474fnc4lgaq5fwrv8jinz79vkbidbgcy7i2fd"; depends=[MASS qualV tiger fast]; };
-  waterData = derive { name="waterData"; version="1.0.3"; sha256="1vwawyn1hzfd9mknpfnysf2whskyg88hl70sgny0zbd2fy1287q5"; depends=[lattice latticeExtra XML]; };
-  waterfall = derive { name="waterfall"; version="0.9.9.20121030"; sha256="140s5639ayd9qgn4i1s1qk541vi34ndzdcqpaps7q53g42n8akfw"; depends=[lattice]; };
-  Wats = derive { name="Wats"; version="0.2-16"; sha256="1wbyyllmjsmh8wb8npzizlfn3hsvfpqp9p3b5wx3zpsavqw839wy"; depends=[colorspace ggplot2 lubridate plyr RColorBrewer testit zoo]; };
-  waveband = derive { name="waveband"; version="4.6"; sha256="1y2qi2zb8l2ap6f8ihnpq2yavic464bl5mp5yv1dscbk0nmfn966"; depends=[wavethresh]; };
-  WaveCD = derive { name="WaveCD"; version="1.0"; sha256="0gracn8lknw96nnir1m8fg5va3f45vvbiy69rxx8vibnfdg1q3l9"; depends=[waveslim lattice]; };
-  waved = derive { name="waved"; version="1.1-2"; sha256="17pr9qhz0dbbcr78vwm964d9zd7yrfrqvadr1lwf756bsrscmlg3"; depends=[]; };
-  wavelets = derive { name="wavelets"; version="0.3-0"; sha256="141s7z7wxl5plxp7xp7wczswlcvb18a4h3n881l9qc4ny9p7gfpa"; depends=[]; };
-  wavemulcor = derive { name="wavemulcor"; version="1.2"; sha256="1039y5rakjkx2mvfmykg2z4jpkpbcj7rclyg7ab19wnxmdm8ls81"; depends=[waveslim]; };
-  waveslim = derive { name="waveslim"; version="1.7.3"; sha256="0lkq8lcg8cd4iw95jb0r5iwl2habngzzzwcxfic05gbpj5gfmapk"; depends=[]; };
-  wavethresh = derive { name="wavethresh"; version="4.6.6"; sha256="1ykhfw1bdibvq2b3rrgqszvwqmzkd3fgxqg7p36ms1cxph68g2r9"; depends=[MASS]; };
-  wbs = derive { name="wbs"; version="1.2"; sha256="1mnbx0ik4bakf818nbpgi4zgb8y4ljvz5yq602h3crsc4b32kq1k"; depends=[]; };
-  wccsom = derive { name="wccsom"; version="1.2.8"; sha256="0dnqcmrrnzqys4mr1md7f0k0h434x25mdc576j00s3pmjjjh873a"; depends=[class MASS]; };
-  WCQ = derive { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; };
-  WDI = derive { name="WDI"; version="2.4"; sha256="0ih6d9znq6b2prb4nvq5ypyjv1kpi1vylm3zvmkdjvx95z1qsinf"; depends=[RJSONIO]; };
-  weatherData = derive { name="weatherData"; version="0.4.1"; sha256="19ynb9w52ay15awaf4bqm9lj2w6pk70lyaipn46jrspwxqsvfhlc"; depends=[plyr]; };
-  weathermetrics = derive { name="weathermetrics"; version="1.0"; sha256="1ay4gcxpblqnn6zqkdnr0mgnm9r42wlmpb6k3smhbz4zca4kjfzy"; depends=[]; };
-  WebDevelopR = derive { name="WebDevelopR"; version="1.0"; sha256="0q4plv5nh6xp35j53xl207d7x0l8041ipi7k7rjrspv9vx7ncgvl"; depends=[]; };
-  webvis = derive { name="webvis"; version="0.0.2"; sha256="1cdn9jrpg2sbx4dsj0xf7m0daqr7fqiw3xy1lg0i0qn9cpvi348f"; depends=[]; };
-  WeightedCluster = derive { name="WeightedCluster"; version="1.2"; sha256="1d0df284fzfa34fi7b3d7f4zzm9ppyah46rj865446l5pjvl9np3"; depends=[TraMineR cluster RColorBrewer]; };
-  weightedKmeans = derive { name="weightedKmeans"; version="1.2.0"; sha256="140cvl1jwwqyvcsf7pbsxh9k4bynd7c1q159pp7ia1f1sgimxafb"; depends=[lattice latticeExtra clv]; };
-  WeightedPortTest = derive { name="WeightedPortTest"; version="1.0"; sha256="007v3w9ssiv2sds7sikpal27g6pxwxhs7bvcyw6kr0vg8gvlbi8h"; depends=[]; };
-  weightedScores = derive { name="weightedScores"; version="0.9"; sha256="0rmfikdpc0m1rsflq2cdhl3bwk8w1wmwyhwc7di8dqf5vlqyh6ws"; depends=[mvtnorm rootSolve]; };
-  weights = derive { name="weights"; version="0.80"; sha256="147fgs99sg1agq081ikj2fhb4b2vzsppdg1h1w036bb92vsjb0g5"; depends=[Hmisc gdata]; };
-  weirs = derive { name="weirs"; version="0.23"; sha256="1kp49r5ba7ii1mr1nszbssx3fn0c2hcfpawm3a1kbh4rmhvy3frs"; depends=[]; };
-  wesanderson = derive { name="wesanderson"; version="0.3"; sha256="169phanzwz3mgzqncwxc5kdshhmj922nzlbq8gz6grvh51bc7aaa"; depends=[]; };
-  wfe = derive { name="wfe"; version="1.3"; sha256="16b39i60x10kw6yz44ff19h638s9lsgnz8azc76zl9b8s64jliya"; depends=[arm Matrix MASS]; };
-  wgaim = derive { name="wgaim"; version="1.4-0"; sha256="0rm9p7c7kxzzpakcm6wc7viisn2y6rwayc0r0hgpiv8fkv3n1sai"; depends=[qtl lattice]; };
-  WGCNA = derive { name="WGCNA"; version="1.41-1"; sha256="0ljqlxrkfxqb7fjdapfx9wrr7115z9rh7lms07vc94z3k1y2qdlw"; depends=[dynamicTreeCut flashClust matrixStats Hmisc foreach doParallel reshape]; };
-  wgsea = derive { name="wgsea"; version="1.8"; sha256="1114wik011sm2n12bwm2bhqvdxagbhbscif45k4pgxdkahy2abpi"; depends=[]; };
-  WhatIf = derive { name="WhatIf"; version="1.5-6"; sha256="02lqvirnf24jn8b2s08z5fjmpilp2z08lww1s793n3pn783adbky"; depends=[lpSolve]; };
-  whisker = derive { name="whisker"; version="0.3-2"; sha256="0z4cn115gxcl086d6bnqr8afi67b6a7xqg6ivmk3l4ng1x8kcj28"; depends=[]; };
-  WhopGenome = derive { name="WhopGenome"; version="0.8.2"; sha256="145sn2ikjv1xykx5xv0djj4vainqj0v9c3lqnd1r7bygjl4n4v7c"; depends=[]; };
-  widals = derive { name="widals"; version="0.5.4"; sha256="1bl59s1r4gkvq4nkf94fk7m0zvhbrszkgmig66lfxhyvk9r84fvb"; depends=[snowfall]; };
-  WideLM = derive { name="WideLM"; version="0.1-1"; sha256="0spxl960pgzh0cn1gkw2ayixpi982rr85qajcdqahmn9msk877h8"; depends=[Rcpp]; };
-  widenet = derive { name="widenet"; version="0.1-2"; sha256="1nimm8szbg82vg00f5c7b3f3sk0gplssbl4ggasjnh7dl621vfny"; depends=[glmnet relaxnet]; };
-  wikibooks = derive { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; };
-  WikipediR = derive { name="WikipediR"; version="1.0.0"; sha256="01w9km1g0cynsgsq3bv6d8ggizym211c1ksyz7w3nkq25288fcds"; depends=[httr jsonlite]; };
-  WilcoxCV = derive { name="WilcoxCV"; version="1.0-2"; sha256="1kbb7ikgnlxybmvqrbn4cd8xnqrkwipk4xd6yja1xsi39a109xzl"; depends=[]; };
-  wild1 = derive { name="wild1"; version="1.09"; sha256="1ydjz3f4z6fdw4wynyd64bwwm68vh0xqxvg6zw8z7pdg8y2h89zl"; depends=[chron survival sp maptools spatstat ICSNP ks]; };
-  witness = derive { name="witness"; version="1.2"; sha256="1pccn7czm1q0w31zpmky5arkcbnfl94gh1nnkf8kmcccdrr3lxph"; depends=[]; };
-  wle = derive { name="wle"; version="0.9-9"; sha256="032zqfqg6ghg56zgr005g8q94zskmbzv1p08lxv227ikkbmnwn53"; depends=[circular]; };
-  WMCapacity = derive { name="WMCapacity"; version="0.9.6.6"; sha256="19x6l06srh59q1cnixisa5fgm5hkpq35h9zfmdnfaj3xl8pxhzyn"; depends=[gtools gWidgets gWidgetsRGtk2 coda cairoDevice RGtk2 XML]; };
-  WMDB = derive { name="WMDB"; version="1.0"; sha256="10wdjy3g2qg975yf1dhy09w9b8rs3w6iszhbzqx9igfqvi8isrr1"; depends=[]; };
-  wmtsa = derive { name="wmtsa"; version="2.0-0"; sha256="0y2bv166xwwpb1wf6897qybyf84f34qjsmygdbv90r637c050yk5"; depends=[splus2R ifultools MASS]; };
-  wnominate = derive { name="wnominate"; version="0.98"; sha256="1c3g89f7xl781m8lqy730vlb6p5dxq16vgll80jmsx8p7fsy6pb4"; depends=[pscl]; };
-  wombsoft = derive { name="wombsoft"; version="2.0"; sha256="11ri29vj1yg2lpr6vf1i45w20hqh8dswj04ylbq0vy27cwmxqljd"; depends=[]; };
-  wordcloud = derive { name="wordcloud"; version="2.5"; sha256="1ajqdkm8h1wid3d41zd8v7xzf2swid998w31zrghd45a5lcp7qcm"; depends=[RColorBrewer slam Rcpp]; };
-  wordmatch = derive { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; };
-  wordnet = derive { name="wordnet"; version="0.1-9"; sha256="1cwrdfdv1ma429na9y2yci9vrms8vfqqwj9qkcq8hzkm02yzkdsf"; depends=[rJava]; };
-  WordPools = derive { name="WordPools"; version="1.0-2"; sha256="1izs4cymf2xy1lax85rvsgsgi05ygf0ibi9gzxc96sbgvy4m78kf"; depends=[]; };
-  wpp2008 = derive { name="wpp2008"; version="1.0-1"; sha256="0gd3vjw1fpzhp3qlf1jpc24f76i0pxsjs5pb1v3k2si6df7q4msd"; depends=[]; };
-  wpp2010 = derive { name="wpp2010"; version="1.2-0"; sha256="1h87r1cn4lnx80dprvawsyzfkriscqjgr27gvv7n19wvsx8qd57k"; depends=[]; };
-  wpp2012 = derive { name="wpp2012"; version="2.2-0"; sha256="1wsdx1vywydbwd53fai4sapisln10qxi6jj9yvyy92gg14hcx3ff"; depends=[]; };
-  wppExplorer = derive { name="wppExplorer"; version="1.3-0"; sha256="0bki4s6ihl752d7y4ckvb056jlvcpqmp8fc7a7rvdbxw0d66sfh4"; depends=[shiny plyr reshape2 googleVis wpp2012 Hmisc ggplot2]; };
-  wq = derive { name="wq"; version="0.4-1"; sha256="0a46islpzpbkx6c7mbn6q787mh9mb6sy4k46lz8s63fh2h7p0szk"; depends=[zoo]; };
-  WrightMap = derive { name="WrightMap"; version="1.1"; sha256="0dmximp549gr37ps56vz8mnlii7753dc5v0wl3s78cymjmnmyr0z"; depends=[]; };
-  write_snns = derive { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; };
-  WriteXLS = derive { name="WriteXLS"; version="3.5.0"; sha256="0b5md3jy18wrigadqjzfnrpvm35nn0aa62zsq5d72k5fr7lbh3gr"; depends=[]; };
-  wrspathrow = derive { name="wrspathrow"; version="0.1"; sha256="1xkh12aal85qhk8d0pdj2qbi6pp4jnr6zbxkhdw2zwav57ly3f4i"; depends=[wrspathrowData sp raster rgeos rgdal]; };
-  wrspathrowData = derive { name="wrspathrowData"; version="1.0"; sha256="0a1aggcll0fmkwfg4h7rs4j5h3v1bh95dkbriwrb0bx0cikg63x3"; depends=[]; };
-  wskm = derive { name="wskm"; version="1.4.11"; sha256="1pmsir4msy95x080k463f34ms4vm8nayr21g2cd50mmzffbm5mwl"; depends=[lattice latticeExtra clv]; };
-  wsrf = derive { name="wsrf"; version="1.4.0"; sha256="1b9ifswv0civaavmpzi2r3fdbccxg4akzvklqri0hj49kr4cw5pa"; depends=[Rcpp]; };
-  wSVM = derive { name="wSVM"; version="0.1-7"; sha256="0c7rblzgagwfb8mmddkc0nd0f9rv6kapw8znpwapv3fv0j2qzq7h"; depends=[MASS quadprog]; };
-  wtcrsk = derive { name="wtcrsk"; version="1.3"; sha256="1viddyms2d9q2hb9z788fcs8vp7gp6vzlsszcnyxgganfjsd85zy"; depends=[]; };
-  WWGbook = derive { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; };
-  x12 = derive { name="x12"; version="1.5.0"; sha256="0z5hsq0rv71jl9102fqci2wyklmqxly0nc4h7ky845dpvqfrg9yv"; depends=[stringr]; };
-  x12GUI = derive { name="x12GUI"; version="0.12.0"; sha256="0vks6m0jck6sl17z9qcw1p1wv5iqdblnmssmfrfjqv626sb9jsn6"; depends=[x12 Hmisc RGtk2 cairoDevice lattice stringr]; };
-  XBRL = derive { name="XBRL"; version="0.99.12"; sha256="0n51hmhzgx2j1xff5v57p3n30sab580hwdjsqr0vaghqaa6xwpwg"; depends=[Rcpp]; };
-  xergm = derive { name="xergm"; version="1.1"; sha256="132g3gyzfasiv58dxni893ikj5dy1pzbff2rnjyqijd10zngw9rg"; depends=[ergm statnet statnet_common network sna texreg Matrix boot coda ROCR igraph vegan lme4]; };
-  xgobi = derive { name="xgobi"; version="1.2-15"; sha256="03ym5mm16rb1bdwrymr393r3xgprp0ign45ryym3g0x2zi8dy557"; depends=[]; };
-  xgrid = derive { name="xgrid"; version="1.0-1"; sha256="1xg3frzybck2lmqsxnw448rw4si55k3ygwdkn88d1zfc6llswz9p"; depends=[]; };
-  xhmmScripts = derive { name="xhmmScripts"; version="1.1"; sha256="1qryyb34jx9c64l8bnwp40b08y81agdj5w0icj8dk052x50ip1hl"; depends=[gplots plotrix]; };
-  XiMpLe = derive { name="XiMpLe"; version="0.03-21"; sha256="1j387jzxh0z9dmhvc0kpjjjzf781sgrw57nwzdqwx6bn09bw509d"; depends=[]; };
-  xkcd = derive { name="xkcd"; version="0.0.3"; sha256="086kdy4dp7312pxv7zpx3qf8rk91lv0snrhipzcmcn1m4q77q9z2"; depends=[Hmisc ggplot2]; };
-  XLConnect = derive { name="XLConnect"; version="0.2-8"; sha256="026ilqji5kck0azxi9zxry5032kakinjgqsmzxd8z0cwhgmfgq1k"; depends=[XLConnectJars rJava]; };
-  XLConnectJars = derive { name="XLConnectJars"; version="0.2-8"; sha256="1ak0wi07hk8bwi418jy43x5pq57a709xqg6njkc4f394jf8rr60s"; depends=[rJava]; };
-  xlsx = derive { name="xlsx"; version="0.5.7"; sha256="0qxkdpf1dvi0x7fy65abjx2j60rdx7fv5yi8l2wdm0f2631pnwin"; depends=[rJava xlsxjars]; };
-  xlsxjars = derive { name="xlsxjars"; version="0.6.0"; sha256="0mjfvd433iz742gn3avaq48172yi5hhd0ajc3v22y1j4k9w82pr7"; depends=[rJava]; };
-  Xmisc = derive { name="Xmisc"; version="0.1.0"; sha256="1iyv9gp7fw3r7s3v9srd799nhwgpn5851v3n2xfwpcvj9kczrd5r"; depends=[]; };
-  XML = derive { name="XML"; version="3.98-1.1"; sha256="0n9i6746211wihglbpsgalj2cyvggn4rv6a4fbavqwnjw3h1hwwl"; depends=[]; };
-  XML2R = derive { name="XML2R"; version="0.0.6"; sha256="0azfh950r2b7ck3n1vzk3mdll7zy844nx3mbk676jxnj8gg7nxk5"; depends=[XML RCurl plyr]; };
-  XNomial = derive { name="XNomial"; version="1.0.1"; sha256="134bwglqhgah7v3w6ir65dch2dwp5h4vldw521ba74l5v9b2j2h4"; depends=[]; };
-  xoi = derive { name="xoi"; version="0.61-1"; sha256="0ypy0rb0f0bns41vjzyln04k3hypgr3wysqbdi0b0r14ip5rb47k"; depends=[qtl]; };
-  xpose4 = derive { name="xpose4"; version="4.5.0"; sha256="136a1lq9raba731rxy55dy9mw8rs1rha0940b85ljr70mvpmzmqd"; depends=[lattice gam Hmisc survival]; };
-  xtable = derive { name="xtable"; version="1.7-3"; sha256="1rsfq0acf1pvpci3jq9fbhsv6ws4d46yap8m2xjk1cr463m9gdcc"; depends=[]; };
-  xtermStyle = derive { name="xtermStyle"; version="2.2-4"; sha256="0m1lwr7smym7aczcqqgqj5bx46j38ymmljilxl54bby188qhfcyz"; depends=[]; };
-  xts = derive { name="xts"; version="0.9-7"; sha256="163hzcnxrdb4lbsnwwv7qa00h4qlg4jm289acgvbg4jbiywpq7zi"; depends=[zoo]; };
-  yacca = derive { name="yacca"; version="1.1"; sha256="0wg2wgvh1najmccmgzyigj11mshrdb8w4r2pqq360dracpn0ak6x"; depends=[]; };
-  yaImpute = derive { name="yaImpute"; version="1.0-22"; sha256="1yg26f1q1i6vl1jvdff126025rimkvpj8dhr12d8ld8ryl1qghr3"; depends=[]; };
-  YaleToolkit = derive { name="YaleToolkit"; version="4.1"; sha256="1r1vf0gldvcfqa7ln87q5d4sc75d8b99v6zaynvbq02rggzzynmy"; depends=[lattice vcd MASS colorspace barcode gpairs]; };
-  yaml = derive { name="yaml"; version="2.1.13"; sha256="18kz5mfn7qpif5pn91w4vbrc5bkycsj85vwm5wxwzjlb02i9mxi6"; depends=[]; };
-  ycinterextra = derive { name="ycinterextra"; version="0.1"; sha256="0hr37izbbmxqkjy6a7q8vcn0vs8an1ck9y8xfjpl5z0rygi8xc1v"; depends=[mcGlobaloptim]; };
-  yhat = derive { name="yhat"; version="2.0-0"; sha256="0vdhkknmms7zy7iha894jn1hr1h5w67pr53r0q67m7p404w21iza"; depends=[yacca miscTools plotrix boot]; };
-  yhatr = derive { name="yhatr"; version="0.12.1"; sha256="1rps8y7i5fg0xrkjigjx0xa5cwj5b4xf9186dv8valzhbqkvvba1"; depends=[httr RCurl rjson plyr jsonlite stringr]; };
-  YieldCurve = derive { name="YieldCurve"; version="4.1"; sha256="0w47j8v2lvarrclnixwzaq98nv1xh2m48q5xvnmk7j9nsv2l3p68"; depends=[xts]; };
-  ykmeans = derive { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[plyr foreach]; };
-  YourCast = derive { name="YourCast"; version="1.6.1"; sha256="03aq01amg4cxnxcxnsd1hxkx63w323f8ldkibl1f826gd7lbcqf1"; depends=[ggplot2 gridExtra lattice foreign reshape2]; };
-  YplantQMC = derive { name="YplantQMC"; version="0.5"; sha256="0x3ndpamj1ayy1svh9q8pwmfnar9zyw5i6h1k1hqwc92h0k6jsmz"; depends=[rgl geometry LeafAngle devtools]; };
-  YPmodel = derive { name="YPmodel"; version="1.1"; sha256="036f5y8qrcxglblgnaa15xzlz9pxbhbysrbr2gl66h9dvcd6kavr"; depends=[]; };
-  YuGene = derive { name="YuGene"; version="1.1.2"; sha256="0sy0bh49l0fajh1z88mpb4f0k3hsf3kd1vxv731qhpxcrc3pz09b"; depends=[mixOmics]; };
-  yuima = derive { name="yuima"; version="1.0.24"; sha256="1lr43man9cv8xknwbmaqkz54p3g5znwqyvxjwd75hyj82fa63j60"; depends=[zoo expm]; };
-  zCompositions = derive { name="zCompositions"; version="1.0.1"; sha256="1kjg03cgpi6xjqg0hnjqragyn7yy56pzf2wfwpkrxb5vy92kyjpq"; depends=[MASS NADA truncnorm]; };
-  ZeBook = derive { name="ZeBook"; version="0.5"; sha256="1djwda6hzx6kpf4dbmw0fkfq39fqh80aa3q9c6p41qxzcpim27dw"; depends=[triangle deSolve]; };
-  Zelig = derive { name="Zelig"; version="4.2-1"; sha256="1hhr9jx25fdnkqwyj2bkgrvqlah4z2drphmb5mdn1an2p2g23v9z"; depends=[boot MASS sandwich]; };
-  ZeligChoice = derive { name="ZeligChoice"; version="0.8-1"; sha256="1ql9yq83ipf0vpv63fpckylwq4jrcbfjgjm77f5ndkd83gqjzrmg"; depends=[Zelig VGAM]; };
-  ZeligGAM = derive { name="ZeligGAM"; version="0.7-1"; sha256="1643ycx51mnlxwiarfkrwm8gr8clx00xi2llcaqsd3wsrr4z5j97"; depends=[Zelig mgcv]; };
-  ZeligMultilevel = derive { name="ZeligMultilevel"; version="0.7-1"; sha256="00zlambykds4z1c5kx3rpla1kllyp96cxwvbc5lalwdb9i48pp3s"; depends=[Zelig lme4]; };
-  zendeskR = derive { name="zendeskR"; version="0.4"; sha256="06cjwk08w3x6dx717123psinid5bx6c563jnfn890373jw6xnfrk"; depends=[RCurl rjson]; };
-  zic = derive { name="zic"; version="0.8.1"; sha256="05mn894qdx6k7158dbsjy2b49n0gz5xnmlixr2dhkxc12ydj6zs5"; depends=[Rcpp RcppArmadillo coda]; };
-  ZIM = derive { name="ZIM"; version="1.0.1"; sha256="1y3vlxw4ybl2s269r3sbi156y4ffg83kfs152fsxc8q4caygc379"; depends=[MASS]; };
-  zipcode = derive { name="zipcode"; version="1.0"; sha256="1lvlf1h5fv412idpdssjfh4fki933dm5nhr41ppl1mf45b9j7azn"; depends=[]; };
-  zipfR = derive { name="zipfR"; version="0.6-6"; sha256="1y3nqfjg5m89mdvcmqwjmwlc8p3hpcqnwv4ji1a7ggg4n63lwl3j"; depends=[]; };
-  zoeppritz = derive { name="zoeppritz"; version="1.0-4"; sha256="0mjg55jc5b8h2jj6cy8b34a4q7jhhx73xns0v2dpfkq4kmilsv5p"; depends=[]; };
-  zoib = derive { name="zoib"; version="1.0"; sha256="0mxd9j5sbwyv3bhhrly2ikbfqgk3cgkl6jzai9q6lq3lbg55mh9a"; depends=[rjags coda matrixcalc Formula]; };
-  zoo = derive { name="zoo"; version="1.7-11"; sha256="0fp726rp9mqsfmm391bmckk76lqsvzwd39ffvb355wf2spl8nzvf"; depends=[lattice]; };
-  zooimage = derive { name="zooimage"; version="3.0-5"; sha256="1r3slmyw0dyqfa40dr5xga814z09ibhmmby8p1cii5lh61xm4c39"; depends=[svMisc svDialogs mlearning filehash jpeg png]; };
-  zoom = derive { name="zoom"; version="2.0.4"; sha256="03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5"; depends=[]; };
-  zyp = derive { name="zyp"; version="0.10-1"; sha256="0f1fqqxysf3psnvn08s5qly2c958h1hhznjjj8mvpjr5g6hqlr1k"; depends=[Kendall]; };
-
-}; in self
+{ self, derive }: with self; {
+A3 = derive { name="A3"; version="0.9.2"; sha256="01s7znhph2mr3snpscci3y7nbcisa6kg6hy7im3742r6ah0z3jv7"; depends=[xtable pbapply]; };
+ABCExtremes = derive { name="ABCExtremes"; version="1.0"; sha256="032bc9a6cxy4war95n8v4vaax3q96k2wryjbcipi3z55b2l8hdny"; depends=[SpatialExtremes combinat]; };
+ABCanalysis = derive { name="ABCanalysis"; version="1.0"; sha256="0qmy11lv4x1zgbjifpcy2zhkf3ba5a5b4jbiazcqws35j1p3q835"; depends=[Hmisc plotrix]; };
+ABCoptim = derive { name="ABCoptim"; version="0.13.11"; sha256="1j2pbfl5g9x71gq9f7vg6wznsds8sn8dj3q2h5fhjcv58di3gjhl"; depends=[]; };
+ABCp2 = derive { name="ABCp2"; version="1.1"; sha256="0s0lbwlc8nycm7b8vx0v01f8dmy91r1zqcj9zgrlj7dnpg4cpkml"; depends=[MASS]; };
+ACCLMA = derive { name="ACCLMA"; version="1.0"; sha256="1na27sp18fq12gp6vxgqw1ffsz2yi1d8xvrxbrzx5g1kqxrayy0v"; depends=[]; };
+ACD = derive { name="ACD"; version="1.5.3"; sha256="1a67bi3hklq8nlc50r0qnyr4k7m9kpvijy8sqqpm54by5hsysfd6"; depends=[]; };
+ACNE = derive { name="ACNE"; version="0.8.0"; sha256="0ps38lljzm2aszqf8fhh74zbdxh46kypmybkw5w7xaf9nv5kcq8g"; depends=[aroma_affymetrix MASS R_methodsS3 R_oo R_utils matrixStats R_filesets aroma_core]; };
+ACTCD = derive { name="ACTCD"; version="1.0-0"; sha256="0zn8f6l5vmn4w1lqjnpcxvfbr2fhwbhdjx4144h3bk71bk9raavl"; depends=[R_methodsS3]; };
+ADDT = derive { name="ADDT"; version="1.0"; sha256="1jx7rxi0yfn34pf3cf9zpf434rapgn5qn2mn5rkq5lysr3kwdw91"; depends=[]; };
+ADGofTest = derive { name="ADGofTest"; version="0.3"; sha256="0ik817qzqp6kfbckjp1z7srlma0w6z2zcwykh0jdiv7nahwk3ncw"; depends=[]; };
+ADM3 = derive { name="ADM3"; version="1.3"; sha256="1hg9wjdhckilqd13dr4cim4j6jsh2sdwm18i3pfmfdj8cyswm3h0"; depends=[]; };
+AER = derive { name="AER"; version="1.2-3"; sha256="0823zjpl0b7fzhszi28lg1paa41vbxq2xpjil1d4f6dxdysalxlx"; depends=[car lmtest sandwich survival zoo Formula]; };
+AFLPsim = derive { name="AFLPsim"; version="0.3-4"; sha256="0xqp1d3cn8rcrsx0yipqh0k4xynv446acxpcammbflsz01xsgx9v"; depends=[adegenet introgress]; };
+AGD = derive { name="AGD"; version="0.32"; sha256="1jjkclqylh43vm1bj1g4cml7a84sxdl94kmhxgmk04rdkmgf8c47"; depends=[gamlss gamlss_dist]; };
+AGSDest = derive { name="AGSDest"; version="2.2"; sha256="00kf786i72bc4a80qswq1iazwqi709pxvzadgfih511plgir6ik2"; depends=[ldbounds]; };
+AICcmodavg = derive { name="AICcmodavg"; version="2.0-3"; sha256="1a9jbf3vd77hsf98smjgqchhkc9z8qqp12c1mflln3l0pxx0vk8q"; depends=[lattice MASS Matrix nlme unmarked VGAM xtable]; };
+AID = derive { name="AID"; version="1.4"; sha256="1wj2jmqla0b2y9hrvl5i69bncdx1xjdd7if69j6dy1dnxv6clx1z"; depends=[MASS tseries nortest]; };
+AIM = derive { name="AIM"; version="1.01"; sha256="11lkfilxk265a7jkc1wq5xlgxa56xhg302f1q9xb7gmjnzdigb21"; depends=[survival survival]; };
+ALDqr = derive { name="ALDqr"; version="0.5"; sha256="0294d6cjfl5m63jhrv4rbh7npwrbmmw5101jz5bbwihhj94qcxp9"; depends=[HyperbolicDist]; };
+ALKr = derive { name="ALKr"; version="0.5.3.1"; sha256="09df3vx2q0sn8fwz2cc9lckzwrf2hgbglzyn376d6nkrm6gq792a"; depends=[MASS Rcpp Rcpp]; };
+ALS = derive { name="ALS"; version="0.0.5"; sha256="1ryviknpf7c0v20bmc40khhmx51b83hbh9q9iwz9d694by51xryc"; depends=[nnls Iso]; };
+ALSCPC = derive { name="ALSCPC"; version="1.0"; sha256="0ippxzq5qwb9dnpvm1kxhc0fxh83rs9ny5rcvd30w2bp632q9qdx"; depends=[]; };
+ALTopt = derive { name="ALTopt"; version="0.1.0"; sha256="0vdn535x199m95gs715i42p0cf9zlj74s7xgxly7aknr0l2ypl2c"; depends=[cubature lattice]; };
+AMAP_Seq = derive { name="AMAP.Seq"; version="1.0"; sha256="0z0rrzps6rm58k4m1ybg77s3w05m5zfya4x8ril78ksxsjwi3636"; depends=[]; };
+AMGET = derive { name="AMGET"; version="1.0"; sha256="18wdzzg5wr7akbd1iasa4mvmy44fb2n5gpghwcrx80knnicy3dxq"; depends=[]; };
+AMOEBA = derive { name="AMOEBA"; version="1.1"; sha256="1npzh3rpfnxd4r1pj1hm214sfgbw4wmq4ws093lnl7pvsl0q37xn"; depends=[snowfall rlecuyer spdep]; };
+AMORE = derive { name="AMORE"; version="0.2-15"; sha256="00zfqcsah2353mrhqkv8bbh24l8gaxk4y78icr9kxy4pqb2988yz"; depends=[]; };
+AOfamilies = derive { name="AOfamilies"; version="1.01"; sha256="0v3b83k12lsrdcrkjl2ff38d0g8sbrnm5pmm9xphyrk3lfgap76k"; depends=[lqmm quantreg]; };
+APSIMBatch = derive { name="APSIMBatch"; version="0.1.0.2374"; sha256="0j44ijq1v1k60lka9nmw8m1jfjw7pidny9bvswqy5v82gzmwl29d"; depends=[]; };
+AR1seg = derive { name="AR1seg"; version="1.0"; sha256="0v9adx5wj9r4jwl3bqqmj0byiqfp585jz013qfqrq601wj8v4zi3"; depends=[Segmentor3IsBack]; };
+ARPobservation = derive { name="ARPobservation"; version="1.1"; sha256="1cdhn11jf1nf03jyvs17ygmjq9pb5rvmyyrq9fp7ifmvcgbkwsms"; depends=[]; };
+ARTP = derive { name="ARTP"; version="2.0.4"; sha256="1f6ay9lyaqsc33b0larb8v6imp5adaycya84wif2sg32rv4gx3yl"; depends=[]; };
+ARTool = derive { name="ARTool"; version="0.9.3"; sha256="188k3whgm93jm2kpvh711d4l73gickn9iwidz95srwdcdlf9cf1y"; depends=[lme4 car plyr pbkrtest]; };
+ASMap = derive { name="ASMap"; version="0.3-3"; sha256="011r1q6g3rwhxsgvzzb9y08zba0g18m1kgnzij6nm7qblhyvsk92"; depends=[qtl gtools fields lattice]; };
+ASPBay = derive { name="ASPBay"; version="1.2"; sha256="0b1qpyvmj7z10ixrmdxp42bj9s72c1l9rihzmv9p58f12a5aznjz"; depends=[hexbin Rcpp Rcpp RcppArmadillo]; };
+ATE = derive { name="ATE"; version="0.2.0"; sha256="1i46ivb7q61kq11z9v1rlnwad914nsdjcz9bagqx17vjk160mc0a"; depends=[]; };
+ATmet = derive { name="ATmet"; version="1.2"; sha256="047ibxxf5si45zw22zy8a1kpj36q0pd3bsmxwvn0dhf4h65ah0zz"; depends=[DiceDesign lhs metRology msm sensitivity]; };
+AUC = derive { name="AUC"; version="0.3.0"; sha256="0ripcib2qz0m7rgr1kiz68nx8f6p408l1ww7j78ljqik7p3g41g7"; depends=[]; };
+AUCRF = derive { name="AUCRF"; version="1.1"; sha256="00d7jcg2dyvf7sc9w7vxxd85m7nsbcmfqsavrv236vxfpfc9yn7i"; depends=[randomForest]; };
+AcceptanceSampling = derive { name="AcceptanceSampling"; version="1.0-3"; sha256="1camxmvz8prkvpf3d3rc07bnfphakwdlickqlr4sgzrs4k27rr4f"; depends=[]; };
+Actigraphy = derive { name="Actigraphy"; version="1.2"; sha256="02xxmzjqym46q0fzddmy29i8la9knrna3b46y8849nmbpqvmp3qn"; depends=[fda lattice SDMTools]; };
+ActuDistns = derive { name="ActuDistns"; version="3.0"; sha256="04rff9czcgac80clpv32a1dl0jbyvfsa7wqxyywgk99w672x50i2"; depends=[reliaR actuar hypergeo]; };
+AdMit = derive { name="AdMit"; version="2.0.1"; sha256="0bqzq2pf5449qyr8ff5d3sq0lbsph29ppv6zzf1rbjz06sc5d6ff"; depends=[mvtnorm]; };
+AdaptFit = derive { name="AdaptFit"; version="0.2-2"; sha256="124lj1sq5cbp35z4ybkc7ci3fi6pgf8pc5k9mpqmyb6dj870q836"; depends=[SemiPar MASS nlme cluster]; };
+AdaptFitOS = derive { name="AdaptFitOS"; version="0.54"; sha256="0h9jfq9mk5wd6v6an40l3sk2adn6fcaks22bi8d9s7zr2ldpzrjq"; depends=[SemiPar nlme MASS mgcv]; };
+AdaptiveSparsity = derive { name="AdaptiveSparsity"; version="1.4"; sha256="1az7isvalf3kmdiycrfl6s9k9xqk22k1mc6rh8v0jmcz402qyq8z"; depends=[Rcpp Rcpp RcppArmadillo]; };
+AdequacyModel = derive { name="AdequacyModel"; version="1.0.8"; sha256="1bpb6lwgkh5g82h4yaf5dh2jbl6f0vz36k22538rhb3kdld6w0i3"; depends=[]; };
+Agreement = derive { name="Agreement"; version="0.8-1"; sha256="1g29rxr8xsr0dh2r6c6j2bqs0q6snz9wz0hrnb92cxj27ili55yq"; depends=[R2HTML]; };
+AlgDesign = derive { name="AlgDesign"; version="1.1-7.3"; sha256="0bl7mx4dnmkgs2x1fj7cqnrp7jx18mqwxyga0rzlniq12h8mc3fz"; depends=[]; };
+AllPossibleSpellings = derive { name="AllPossibleSpellings"; version="1.1"; sha256="0ksfm2pfjka3yjgcd257v7sns1niaylsfxvhhh2jwdi016cpdw10"; depends=[]; };
+AlleleRetain = derive { name="AlleleRetain"; version="1.3.1"; sha256="1k2iwns1wk5n02cii6p9prgdb6asys3vwiq5dq2i26fk2xr6j4gq"; depends=[]; };
+Amelia = derive { name="Amelia"; version="1.7.3"; sha256="07agkgg4jdjk4kxf87nck7dyihpf2l4pmpf20a7ld9c83is14ib1"; depends=[Rcpp foreign Rcpp RcppArmadillo]; };
+AmericanCallOpt = derive { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; };
+AmpliconDuo = derive { name="AmpliconDuo"; version="1.0"; sha256="0l6p5c2802a1f3b77cdrrk3wdf41926mh34630p462fb3wqipps0"; depends=[ggplot2 xtable]; };
+AnDE = derive { name="AnDE"; version="1.0"; sha256="1yil8ab50wvlqmdla9kmfba8vfgy5r694r6igb58s6vnmld78yf2"; depends=[discretization functional foreign stringr]; };
+AnalyzeFMRI = derive { name="AnalyzeFMRI"; version="1.1-16"; sha256="1mbjb682ns5230jd3vcvd6x4gnn9hpbmjd7r8120y4sp2g733b0f"; depends=[R_matlab fastICA]; };
+AncestryMapper = derive { name="AncestryMapper"; version="1.2"; sha256="0d47vkf59ysa58wnlqkshsvdzhcppb9xc1agwkxv37jv1asllb67"; depends=[]; };
+AnglerCreelSurveySimulation = derive { name="AnglerCreelSurveySimulation"; version="0.2.1"; sha256="100mbmdllk6c32j75jviz2k9kmwca3jvrqb95a555alfcpkfim8c"; depends=[]; };
+AnnotLists = derive { name="AnnotLists"; version="1.2"; sha256="1g2khb2ggniwg2zcjamsm3bxyrl2zabvk540b5vyy9am9k83m1g9"; depends=[]; };
+AntWeb = derive { name="AntWeb"; version="0.7"; sha256="1ykfg3zzjdvjppr2l4f26lx00cn5vaqhhz1j1b5yh113ggyl40qw"; depends=[rjson plyr assertthat httr leafletR]; };
+AnthropMMD = derive { name="AnthropMMD"; version="0.9.9"; sha256="10wn0fkcli5yz3fhngsz8sg1mfllqkvjrpjggd9qynay2zrpiw1n"; depends=[tcltk2]; };
+Anthropometry = derive { name="Anthropometry"; version="1.1"; sha256="1yqdps5n07jl05nv7136jwhfndn01vim2kx9s76mk4alvsw7s8ls"; depends=[shapes rgl archetypes nnls depth FNN ICGE cluster biclust]; };
+AppliedPredictiveModeling = derive { name="AppliedPredictiveModeling"; version="1.1-6"; sha256="004d2k3mhl45inb7kx1ph8xc8h9bgm7f7l3prmvqrl5792400cn4"; depends=[CORElearn MASS plyr reshape2]; };
+AquaEnv = derive { name="AquaEnv"; version="1.0-3"; sha256="1hkygw09w70im9f6l6q5yxk86mdl5pkczqfqrwc4wl1yhz7z1gjb"; depends=[minpack_lm deSolve]; };
+ArDec = derive { name="ArDec"; version="2.0"; sha256="14niggcq7xlvpdhxhy8j870gb11cpk4rwn9gwsfmcfvh49g58i80"; depends=[]; };
+ArfimaMLM = derive { name="ArfimaMLM"; version="1.3"; sha256="0s5igf703zzvagsbdxf5yv4gn0vdq51b7fvbc8xkgvlmv91yy372"; depends=[lme4 fractal fracdiff]; };
+ArrayBin = derive { name="ArrayBin"; version="0.2"; sha256="0jlhcv2d7pmqi32w71nz063ri1yj4i4isr3msnw7ckzvi9r42jwm"; depends=[]; };
+AssetPricing = derive { name="AssetPricing"; version="1.0-0"; sha256="12v8hmmknkp472x406zgzwjp7x8sc90byc3s3dvmwd5qhryxkkix"; depends=[polynom deSolve]; };
+AssotesteR = derive { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; };
+AsynchLong = derive { name="AsynchLong"; version="1.0"; sha256="097d0zvzjkz3v32qhxdir0xv7kbjkhzy6q5k54w8l4fa2632j3mk"; depends=[]; };
+AtelieR = derive { name="AtelieR"; version="0.24"; sha256="0yialpmbsbx70gvps4r58xg9wvqcril8j8yd61lkkmz4b3195zai"; depends=[proto cairoDevice gWidgetsRGtk2 partitions]; };
+AtmRay = derive { name="AtmRay"; version="1.31"; sha256="162078jd032i72sgaar9hqcnn1lh60ajcqpsz4l5ysxfkghcxlh8"; depends=[]; };
+AutoSEARCH = derive { name="AutoSEARCH"; version="1.4"; sha256="1jhw005nm2dmawpdjyh9y55cn9069dcv5dihg70c3x5l65rkrliy"; depends=[zoo gets lgarch]; };
+B2Z = derive { name="B2Z"; version="1.4"; sha256="0w7394vs883vb32gs6yhrc1kh5406rs851yb2gs8hqzxad1alvpn"; depends=[numDeriv coda mvtnorm]; };
+BACA = derive { name="BACA"; version="0.99.0"; sha256="19n6ajq6szpzwj36lfg7wrh2j3d3ikn13a1j3g2xvfy275qdmmm4"; depends=[ggplot2 rJava]; };
+BACCO = derive { name="BACCO"; version="2.0-9"; sha256="0i1dnk0g3miyv3b60rzgjjm60180wxzv6v2q477r71q74b0v0r1y"; depends=[emulator calibrator approximator]; };
+BACprior = derive { name="BACprior"; version="2.0"; sha256="1z9dvjq4lr99yp6c99bcv6n5jiiwfddfz4izcpfnnyvagfgizr8p"; depends=[mvtnorm leaps boot]; };
+BAEssd = derive { name="BAEssd"; version="1.0.1"; sha256="04wkhcj4wm93hvmfnnzryswaylnxz5qsgnqky9lsx4jqhvg340l6"; depends=[mvtnorm]; };
+BAMMtools = derive { name="BAMMtools"; version="2.0.4"; sha256="1cy7lplw2i8dabipmjnclywh36agj37hmqcwsk0x99dl6k3mb3d7"; depends=[ape]; };
+BANFF = derive { name="BANFF"; version="0.3"; sha256="0z7hwplp12m8sypkndjkjkmanbh67h47k8j9wm60qg6nnyqry9np"; depends=[foreach doParallel DPpackage igraph mclust pscl tmvtnorm network coda]; };
+BANOVA = derive { name="BANOVA"; version="0.2"; sha256="1zgn9wxh4c89rris58hhj5fh37mmy8wjvligr02id7a1pcw177m3"; depends=[rjags runjags coda]; };
+BASIX = derive { name="BASIX"; version="1.1"; sha256="18dkvv1iwskfnlpl6xridcgqpalbbpm2616mvc3hfrc0b26v01id"; depends=[]; };
+BAT = derive { name="BAT"; version="1.2.1"; sha256="073qqx2xmiccf4h7allfavmr2sxhvwc1njnkc0slmyn46nlsk7sl"; depends=[vegan spatstat nls2]; };
+BAYSTAR = derive { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[mvtnorm coda]; };
+BB = derive { name="BB"; version="2014.10-1"; sha256="1lig3vxhyxy8cnic5bczms8pajmdvwr2ijad1rkdndpglving7x0"; depends=[quadprog]; };
+BBEST = derive { name="BBEST"; version="0.1-3"; sha256="0ys314bbic4yvgfsbpdhy918z3zjpg2km96v9z6vipcm4vnmsj6a"; depends=[DEoptim aws ggplot2 reshape2 shiny]; };
+BBMM = derive { name="BBMM"; version="3.0"; sha256="1cvv786wf1rr5906qg1di2krrv5jgw3dnyl8z2pvs8jyn0kb3fkj"; depends=[]; };
+BBRecapture = derive { name="BBRecapture"; version="0.1"; sha256="05xzp5zjmkh0cyl47qfsz0l8drg8mimssybhycc4q69aif9scqxb"; depends=[HI locfit lme4 secr]; };
+BBmisc = derive { name="BBmisc"; version="1.9"; sha256="01ihbx6cfgqvz87kpy7yb9c7jlizdym3f0n16967x2imq73dazsb"; depends=[checkmate]; };
+BCA = derive { name="BCA"; version="0.9-3"; sha256="0ksd6b0ykydgdn33x29bwwqkrp23cvdj3imps0l6qs1p4465j5nf"; depends=[RcmdrMisc Rcmdr car rpart flexclust clv]; };
+BCBCSF = derive { name="BCBCSF"; version="1.0-0"; sha256="1ag8wz8a9vh1x4jgppimgchfs53rr6hbg5xzzr6k2h4bfsg7pmn3"; depends=[abind]; };
+BCDating = derive { name="BCDating"; version="0.9.7"; sha256="0z3a95sc481p0n33mhg7qlsf1jynbm1vbfds0n03bsjrwvqkzpb2"; depends=[]; };
+BCE = derive { name="BCE"; version="2.1"; sha256="0dqp08pbq7r88yhvlwgzzk9dcdln7awlliy5mfq18j5jhiy7axiz"; depends=[FME limSolve Matrix]; };
+BCEA = derive { name="BCEA"; version="2.1-0"; sha256="120xmgd7ipnrbiyh8h7z80i0bw9iv9rjf8nnb3f988h9bx8xiwp4"; depends=[]; };
+BCEs0 = derive { name="BCEs0"; version="1.1"; sha256="0q63bkmk0kk9p5d3xb0f5srzfrbr743isyw4v2h9ch5yyxizcizb"; depends=[]; };
+BDgraph = derive { name="BDgraph"; version="2.17"; sha256="03r44x6wvnirw46hq1kjvj12n83l8d9wzdxxivxw6rdi7pvv51yz"; depends=[Matrix igraph]; };
+BEANSP = derive { name="BEANSP"; version="1.0"; sha256="0xcb81pk3iidb3dz9l4hm6cwx8hrbg5qz0sfi59yx2f7nsazr4xk"; depends=[]; };
+BEDASSLE = derive { name="BEDASSLE"; version="1.5"; sha256="1bz3lr0waly9vj9adwhmgs3lq7zjdkcbvm3y9rnn72qlrwmv5fbn"; depends=[MASS matrixcalc emdbook]; };
+BEQI2 = derive { name="BEQI2"; version="2.0-0"; sha256="19q29kkwww5hziffkm2yx7n4cpfcsyh0z4mljdcnjkwfp732sjig"; depends=[knitr markdown jsonlite xtable plyr reshape2]; };
+BEST = derive { name="BEST"; version="0.2.2"; sha256="160lvrd0zjm1lr8llra6lyz3qsmqhn3bpdlmwingwfimbpb754rz"; depends=[rjags coda]; };
+BGLR = derive { name="BGLR"; version="1.0.3"; sha256="02aw71r8khnkahqplycwziz7fh8hmnniq5bqnsk4fijv7z9gkbkg"; depends=[]; };
+BGPhazard = derive { name="BGPhazard"; version="1.2.2"; sha256="1v89pjigrjkin9vsf6sa0qhwxvn1a3dy2gqwq3sd9v6y0hrld6ng"; depends=[survival]; };
+BGSIMD = derive { name="BGSIMD"; version="1.0"; sha256="0xkr56z8l72wps7faqi5pna1nzalc3qj09jvd3v9zy8s7zf5r7w4"; depends=[]; };
+BH = derive { name="BH"; version="1.55.0-3"; sha256="0p3xbbnj4l844sgg59ply5ng8z42lbs6z8cghsr3bxbbv4w9lkbs"; depends=[]; };
+BHH2 = derive { name="BHH2"; version="2012.04-0"; sha256="10ixvjpkqamlddrndpnw5gsdm4gdhp693jdvc0f774ngmf32rbaa"; depends=[]; };
+BHMSMAfMRI = derive { name="BHMSMAfMRI"; version="1.0"; sha256="0j5ivknsr441clgm0b95f2rz4pr29ixvw3dgsi8nb0ffh52dgz7q"; depends=[fmri AnalyzeFMRI wavethresh]; };
+BIFIEsurvey = derive { name="BIFIEsurvey"; version="1.2-6"; sha256="1fin5dr1xxr617i4ysfx39gaw6ygbcm4h7j1l38kqnfz18hn6xsq"; depends=[Rcpp miceadds mitools TAM Rcpp RcppArmadillo]; };
+BIOM_utils = derive { name="BIOM.utils"; version="0.9"; sha256="0xckhdvf15a62awfk9rjyqbi6rm7p4awxz7vg2m7bqiqzdll80p7"; depends=[]; };
+BIPOD = derive { name="BIPOD"; version="0.2.1"; sha256="04r58gzk3hldbn115j9ik4bclzz5xb2i3x6b90m2w9sq7ymn3zg1"; depends=[Rcpp Rcpp RcppArmadillo]; };
+BLCOP = derive { name="BLCOP"; version="0.3.1"; sha256="1qfkljw5b1k4b5jd08hw6dsmvgr7vg3kjyib5s13q0mkxvclasym"; depends=[MASS quadprog RUnit timeSeries fBasics fMultivar fPortfolio]; };
+BLR = derive { name="BLR"; version="1.4"; sha256="0wy3c8nnzkdhwb5s1ygdid47hpdx72ryim36mnicrydy0msjivja"; depends=[SuppDists]; };
+BMA = derive { name="BMA"; version="3.18.1"; sha256="0ppcjjcrjrs18lp55hrs0ad7x052v57wd0zdfmvyydlsjbgnsx1p"; depends=[survival leaps robustbase inline]; };
+BMN = derive { name="BMN"; version="1.02"; sha256="12gyq01cn6a9ixqgki1ihx5jrp2gw6jdj7q210rb12xlvj3p6x7w"; depends=[]; };
+BMS = derive { name="BMS"; version="0.3.3"; sha256="1yj9vi8jvhkwpcjkclf0zbah0dayridklpj65ay6r18fyf4crnd2"; depends=[]; };
+BMhyd = derive { name="BMhyd"; version="1.2-2"; sha256="09gb1pq9y3gq9avpaqrlxdsm9iqsxpbnr0bg2mw1vkhc0d5z8zv7"; depends=[corpcor numDeriv]; };
+BNDataGenerator = derive { name="BNDataGenerator"; version="1.0"; sha256="17zi83jhpn9ygavkpr9haffvd4622sca18jzzxxxmfq0ilrj201g"; depends=[]; };
+BNPTSclust = derive { name="BNPTSclust"; version="1.0"; sha256="04qryrhbhi4qfp9rckw3x0g3292lyfrvphcwgb1p5ig661pxgg7p"; depends=[mvtnorm MASS]; };
+BNPdensity = derive { name="BNPdensity"; version="2013.8"; sha256="1qlhav764ji289kcibbmqjj62mmxiw3zsiwjz1gkifzgpmzyar85"; depends=[]; };
+BNSP = derive { name="BNSP"; version="1.0.2"; sha256="0hbrx02mybfrzfab5g7kwi6g68jdzj2dc69zxkn3hpyf4rqwbw4x"; depends=[]; };
+BOG = derive { name="BOG"; version="2.0"; sha256="0lz5af813b67hfl4hzcydn58sjhgn5706n2h44g488bks928k940"; depends=[hash DIME]; };
+BOIN = derive { name="BOIN"; version="1.1"; sha256="1ffr6w9ml0mkffgg1vds8fmf8ww7rs375pxk2dqv9nlb9061m97r"; depends=[]; };
+BRugs = derive { name="BRugs"; version="0.8-3"; sha256="1qjwm6qizg70nvpl5p2yx65ynghazchqw7d2iadhdjz7dd293sqi"; depends=[coda]; };
+BSDA = derive { name="BSDA"; version="1.01"; sha256="06mgmwwh56bj27wdya8ln9mr3v5gb6fcca7v9s256k64i19z12yi"; depends=[e1071 lattice]; };
+BSGS = derive { name="BSGS"; version="1.0"; sha256="11r7bx9ax84iv3gam02p1hg174ni3d3gv6yj64n0gp2gaj438hv7"; depends=[MASS pscl plyr]; };
+BSGW = derive { name="BSGW"; version="0.9"; sha256="0df5d0d0kfvwavxbxra36jjs9044q1szq1xm37dvh4wfvvv6igmb"; depends=[survival]; };
+BSSasymp = derive { name="BSSasymp"; version="1.1-0"; sha256="0z3abgvbpmwgzb6b6r5ys3msy97lfdg81p8d19c83aaa6hrngggn"; depends=[fICA JADE]; };
+BSagri = derive { name="BSagri"; version="0.1-8"; sha256="148pr4lkgdi4bwc9lavgj356nh240iazz28xklq14rw4gzhmz2k4"; depends=[gamlss multcomp MCPAN mvtnorm boot mratios]; };
+BSquare = derive { name="BSquare"; version="1.1"; sha256="1s16307m5gj60nv4m652iisyqi3jw5pmnvar6f52rw1sypfp5n49"; depends=[quadprog quantreg VGAM]; };
+BTSPAS = derive { name="BTSPAS"; version="2014.0901"; sha256="0ankkhm38rvq06g0jnbvjbja4jv8lg21dsc0rxsy174b1i6vjhwi"; depends=[coda actuar rjags R2OpenBUGS ggplot2 plyr]; };
+BTYD = derive { name="BTYD"; version="2.4"; sha256="13szcsgsrd7mwc4f47xrfrmsm2sg5sf7pfm21ly4cbvqcz8m0147"; depends=[hypergeo Matrix]; };
+BVS = derive { name="BVS"; version="4.12.1"; sha256="111g61bpwh80v6gy44q087swcrnnnzdcibm22pzzi9jsfphy6l0c"; depends=[MASS msm haplo_stats]; };
+BaBooN = derive { name="BaBooN"; version="0.1-6"; sha256="1splid5mvyd04d1lxkq45md910ry6n516cph20j6vqfhla0arxjg"; depends=[MASS nnet]; };
+BaM = derive { name="BaM"; version="0.99"; sha256="1q04va2s876ydlmaalx63r520pfx1qzpjg6hbnl9pvn86b5grnf4"; depends=[bayesm coda MASS mice survival foreign nnet]; };
+BaSTA = derive { name="BaSTA"; version="1.9.3"; sha256="1jfki5lnsvd6fjrld2qp179lyzli61pi2308lkkl1h6vgp11zp2v"; depends=[msm]; };
+BalancedSampling = derive { name="BalancedSampling"; version="1.4"; sha256="0l8jxszd0j27kb58xrn7lvf52mhifqjd1w42cp4kdiax8c6s7421"; depends=[Rcpp Rcpp]; };
+BatchExperiments = derive { name="BatchExperiments"; version="1.4.1"; sha256="0fg7p0q6avc0kcwcd3z4q3akrr2mkrx2yf9zcd6hhz22l3x4aphz"; depends=[BatchJobs checkmate BBmisc DBI RSQLite plyr]; };
+BatchJobs = derive { name="BatchJobs"; version="1.6"; sha256="1kb99024jih5bycc226bl4jyvbbl1sg72q3m2wnlshl7s8p6vva0"; depends=[BBmisc brew checkmate DBI digest fail RSQLite sendmailR stringr]; };
+BayClone2 = derive { name="BayClone2"; version="1.1"; sha256="1wprdj22zh8fwqawcv4m2n2y7sqwh2f6m9b0cq0rp4ll774yz30i"; depends=[combinat]; };
+BayHap = derive { name="BayHap"; version="1.0.1"; sha256="0xqnl2cbf0pyjlpywyy0j4mwknfn8msz4s719dsri3r7hvn9m6kd"; depends=[boa]; };
+BayHaz = derive { name="BayHaz"; version="0.1-3"; sha256="08ilghlkgyma5758yw7mdgqycqcillqmx73knzzdlg2kzc77dvg6"; depends=[]; };
+BaySIC = derive { name="BaySIC"; version="1.0"; sha256="023ji6q1nvksmhp3ny8ad39xxccc0a1rv9iaiaagwavgzzc0pjd9"; depends=[rjags fields poibin]; };
+BayesBridge = derive { name="BayesBridge"; version="0.6"; sha256="1j03m465pwq0lhbrfvddjglrzs6px7bc89yvfzj776amm7myqd0l"; depends=[]; };
+BayesCR = derive { name="BayesCR"; version="2.0"; sha256="0cafind5vz81ryw1c7324hyfc6922fsxmjnvddb4mrhis54id2r4"; depends=[mvtnorm Rlab truncdist mnormt rootSolve]; };
+BayesComm = derive { name="BayesComm"; version="0.1-0"; sha256="17hnq4z451g2j3p73awllihhwsdy3grh6ki3qy9bkr064wvzbvcj"; depends=[Rcpp RcppArmadillo coda Rcpp RcppArmadillo]; };
+BayesDA = derive { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; };
+BayesFactor = derive { name="BayesFactor"; version="0.9.11-1"; sha256="0vq656q38vlf0ba8g23psk8as1y48y6s8yrvqrppbjx5d9wlm9wv"; depends=[coda Matrix pbapply mvtnorm stringr gtools MatrixModels Rcpp Rcpp RcppEigen]; };
+BayesGESM = derive { name="BayesGESM"; version="1.2"; sha256="1mbi4lb7bjpmkwc3ns3mfvmfqr85pfx85rkcq95pl91saxichs4s"; depends=[truncdist GIGrvg normalp Formula]; };
+BayesLogit = derive { name="BayesLogit"; version="0.5.1"; sha256="0nr215wzhqlfi32617mmqb6i3w5x1kh5fiy68k0xzdqjsyjr65m0"; depends=[]; };
+BayesMed = derive { name="BayesMed"; version="1.0.1"; sha256="1ysc7sh0drqxbisi2dz6gj4jlw6qsd879bbhr5pra7nxgmk4h650"; depends=[R2jags QRM polspline MCMCpack]; };
+BayesMixSurv = derive { name="BayesMixSurv"; version="0.9"; sha256="0hqkqpzk21d2zh7pyn042w1s51wyszkmam0rwzgy0i9i51zjxwvz"; depends=[survival]; };
+BayesNI = derive { name="BayesNI"; version="0.1"; sha256="0zvr6rkb5zxgl53xby69d0j3yrfnlcmac6kwkxz77q5616w9dwq0"; depends=[]; };
+BayesSAE = derive { name="BayesSAE"; version="1.0-1"; sha256="09s7f472by689b2b0gahnkhyjriizpsx6r5qa95nf3f4bfqi2cpf"; depends=[Formula coda lattice]; };
+BayesSingleSub = derive { name="BayesSingleSub"; version="0.6.2"; sha256="0hgmyhg4mpxx7k91hbfa9h3533mqyn9rz4kl9kb30cc9g7g0m045"; depends=[coda mvtnorm MCMCpack]; };
+BayesSummaryStatLM = derive { name="BayesSummaryStatLM"; version="1.0-1"; sha256="05mlgyi4fglvjkpqyw3vcjpipqllx37svcb20c1mrsa46m6fm4s7"; depends=[mvnfast ff]; };
+BayesTree = derive { name="BayesTree"; version="0.3-1.2"; sha256="1if6x7xxs8pv37c3w4yij17gxnf63k83lawzlmd2644w1i6p7sw1"; depends=[nnet]; };
+BayesValidate = derive { name="BayesValidate"; version="0.0"; sha256="1gli65avpkb90asx92l1yjbwaxcsyb920idyjwgd2sl2b3l657ly"; depends=[]; };
+BayesVarSel = derive { name="BayesVarSel"; version="1.6.1"; sha256="1pmhbyvsq4k2kqnbnxm089qxil0ac61msa204pck6r0b360pmpnh"; depends=[MASS]; };
+BayesX = derive { name="BayesX"; version="0.2-9"; sha256="0p170m8zkaspiah1fdyql9lj9yqg6sl525blzq7wwgx5wx4rvncs"; depends=[shapefiles sp maptools colorspace coda]; };
+BayesXsrc = derive { name="BayesXsrc"; version="2.1-2"; sha256="114804f6maak5dmwzw4cbigjcdw7c6sgx48af35yrvkspi1gsz3b"; depends=[]; };
+BayesianAnimalTracker = derive { name="BayesianAnimalTracker"; version="1.2"; sha256="1pgjijqznfdpvw296h5vksnxgspxs7qhy6s84ww7abnlhg59bz5s"; depends=[TrackReconstruction]; };
+Bayesianbetareg = derive { name="Bayesianbetareg"; version="1.2"; sha256="0imsz2761ngbnap0vnxks9527la51m5g8gkkn1vrgwis43i6qcgs"; depends=[mvtnorm betareg]; };
+Bayesthresh = derive { name="Bayesthresh"; version="2.0.1"; sha256="0w26h1ragqcg1i4h7c2y6vd8fig2jb2zrnvvchgg5z2hg9qdplsf"; depends=[lme4 MASS VGAM mvtnorm matrixcalc coda]; };
+BaylorEdPsych = derive { name="BaylorEdPsych"; version="0.5"; sha256="1kq6nvzdqwawygp7k62lw5hyccsj81jg82hq60yidgxnmmnnf7y2"; depends=[]; };
+BcDiag = derive { name="BcDiag"; version="1.0.8"; sha256="1x9rkr96dgxp88z9qaw72ikcdmdlxnj8vjn3bfv0q27sfyxwb3a5"; depends=[]; };
+Bchron = derive { name="Bchron"; version="4.1.1"; sha256="0dnfz7xpmbygyarh9ai9x3xfsqiizi0zhnxm8bmkvqyb8h7zpghb"; depends=[inline hdrcde MASS ellipse coda mclust]; };
+Bclim = derive { name="Bclim"; version="2.3.1"; sha256="160c9v83bpik73yjj45lr8sdgl8v4ymlkqw424ncc3lficyhvfjg"; depends=[MASS mclust hdrcde statmod]; };
+Benchmarking = derive { name="Benchmarking"; version="0.24"; sha256="18gx8cwip1c03p37apyr9z89p117bz439vfgx91gxbbg1scc8bfp"; depends=[lpSolveAPI ucminf]; };
+BenfordTests = derive { name="BenfordTests"; version="1.1.1"; sha256="12xzc4gq4h7p18ypbkybrzjj2qh71rgd7nzznij36yv7n6h21mlw"; depends=[]; };
+Bergm = derive { name="Bergm"; version="3.0.1"; sha256="1ngxqpagf8snnwdm82bg8yxbf1zpzd99g32fhw9l4gjx77kpkhl2"; depends=[ergm network coda mvtnorm]; };
+BerlinData = derive { name="BerlinData"; version="1.0.1"; sha256="1shhx4pisi139sc0siawa7gp9psfgxm58qijg5m65nihv7spki75"; depends=[XML stringr rjson]; };
+Bessel = derive { name="Bessel"; version="0.5-5"; sha256="1apcpwqgnbsn544x2mfjkp4136xn33pijazmbzas7lr14syl5a6b"; depends=[Rmpfr]; };
+Bhat = derive { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; };
+BiDimRegression = derive { name="BiDimRegression"; version="1.0.6"; sha256="1kgrk4xanvxqdq619ha08wwplmsn2xqygx4dziagx48iqfpp1lxj"; depends=[nlme]; };
+BiSEp = derive { name="BiSEp"; version="2.0.1"; sha256="15sn9kxs0mb98kclfpif90c808a1365gdj2j332sxi07f64pb87q"; depends=[mclust]; };
+BiasedUrn = derive { name="BiasedUrn"; version="1.06.1"; sha256="1ra9fmymm97a2b8jsrsi98cjnnxc478zq51lx7a5pgafprcwcgkg"; depends=[]; };
+BigTSP = derive { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[glmnet tree randomForest gbm]; };
+BinNonNor = derive { name="BinNonNor"; version="1.2"; sha256="15bzpi2q2428661v8z9izp942ihffgq8dgh4fsnzllvdrpqcyc41"; depends=[BB corpcor mvtnorm Matrix]; };
+BinNor = derive { name="BinNor"; version="2.0"; sha256="0c1qy93ccgzg8g25wm1j4ninsa0ck4y3jjh25za92w070cqhkd8m"; depends=[mvtnorm corpcor psych Matrix]; };
+BinOrdNonNor = derive { name="BinOrdNonNor"; version="1.0"; sha256="1x231xxdiyp6nwj2dx9w1shi5w6mdyzg43g5zc4r2bpvzccgj0l0"; depends=[GenOrd OrdNor BB corpcor Matrix mvtnorm]; };
+Binarize = derive { name="Binarize"; version="1.0"; sha256="1yfr87s1hgjhc8ah81sfrgr1hpp0vd5clqayrz1i698h1c34amkh"; depends=[diptest]; };
+BioGeoBEARS = derive { name="BioGeoBEARS"; version="0.2.1"; sha256="0wyddc5ma47ljpqipfkwsgddp12m9iy4kqwwgklyhf0rqia56b1h"; depends=[rexpokit cladoRcpp ape phylobase optimx FD xtable plotrix gdata]; };
+BioMark = derive { name="BioMark"; version="0.4.2"; sha256="17r4q2migmdk2vqfbr69q07cgdzwpjgs3ijmnm42srs5d3brw8cr"; depends=[pls glmnet MASS st]; };
+BioPhysConnectoR = derive { name="BioPhysConnectoR"; version="1.6-10"; sha256="1cc22knlvbvwsrz2a7syk2ampm1ljc44ykv5wf0szhnh75pxg13l"; depends=[snow matrixcalc]; };
+BioStatR = derive { name="BioStatR"; version="2.0.0"; sha256="1k3z337lj8r06xgrqgi5h67hhkz2s5hggj6dhcciq26i1nzafsw6"; depends=[ggplot2]; };
+Biodem = derive { name="Biodem"; version="0.3"; sha256="0wfyypr46awki2nrvhcjwacmaxrr2wvhdv9hddnf10msssflvshc"; depends=[]; };
+BiodiversityR = derive { name="BiodiversityR"; version="2.5-1"; sha256="0nyss1apsgskg291dq66nv6a1q31vkl7w29aq7l2a13s2kqc0ikq"; depends=[vegan Rcmdr]; };
+Biograph = derive { name="Biograph"; version="2.0.4"; sha256="1mik5yvbi28xnyzha8p3xjaa064x29wgn18yx766wha7djxxr353"; depends=[etm msm Epi lubridate reshape plyr survival mstate ggplot2]; };
+BlakerCI = derive { name="BlakerCI"; version="1.0-4"; sha256="1sa9qq5frjjcw46p3ankn7v3gj0gwn9lww6jacz8flf5qpplhn4l"; depends=[]; };
+BlandAltmanLeh = derive { name="BlandAltmanLeh"; version="0.1.0"; sha256="0y35zkxiallp4x09646qb8wj9bayh7mpnjg43qmzhxkm7l95b78r"; depends=[]; };
+Blaunet = derive { name="Blaunet"; version="1.0.1"; sha256="1qcp5wag4081pcjg5paryxz3hk3rqql15v891ppqc1injni7rljz"; depends=[network]; };
+BlockMessage = derive { name="BlockMessage"; version="1.0"; sha256="1jrcb9j1ikbpw098gqbcj29yhffa15xav90y6vpginmhbfpwlbf4"; depends=[]; };
+Bmix = derive { name="Bmix"; version="0.4"; sha256="0q6bxfdbvd3z3x4ifkmsqpfm8r5fx9jqxpyfgqlah9nkz0xjaf9z"; depends=[mvtnorm]; };
+BoSSA = derive { name="BoSSA"; version="1.2"; sha256="191hq0np9iadks4sflg360k64xnz8j956y30pqzwciinb4hgq1nr"; depends=[ape SoDA]; };
+Bolstad = derive { name="Bolstad"; version="0.2-25"; sha256="1dj0ib3jndnsdx2cqsy0dz54szdx1xq3r2xqnxzk4ysng6svdym8"; depends=[]; };
+Bolstad2 = derive { name="Bolstad2"; version="1.0-28"; sha256="08cfadvl9jl9278ilsf8cm2i2a3i8zsa2f3vjzw2nlv85fwi2c7v"; depends=[]; };
+BoolNet = derive { name="BoolNet"; version="2.1.1"; sha256="0g8f2pv8s8kj84qcp2fy3h8p91ja6ap2dgxkdaf5kjv7r3hfddg0"; depends=[igraph XML]; };
+Boom = derive { name="Boom"; version="0.2"; sha256="0myb8pihjz25y9sj8b844jrkkd2x7zxyr3pg212cgkx9arby0afn"; depends=[MASS BH]; };
+BoomSpikeSlab = derive { name="BoomSpikeSlab"; version="0.5.2"; sha256="0n7kf0nkznsaajx4z4bkzjx99b56mjpd8543jc1dq6ki81yxlr1v"; depends=[Boom BH]; };
+BootPR = derive { name="BootPR"; version="0.60"; sha256="03zw7hz4gyhp6iq3sb03pc5k2fhvrpkspzi22zks25s1l7mq51bi"; depends=[]; };
+Boruta = derive { name="Boruta"; version="4.0.0"; sha256="1r7bl4ab6swhks9cijhqn9gdhp2vjfhwb65fi5rzz0yvzxx97xi8"; depends=[randomForest rFerns]; };
+BradleyTerry2 = derive { name="BradleyTerry2"; version="1.0-6"; sha256="1080q7fw4yfl2y0jh3w2xz342i5yhhhavq40i3902bsmjj8g531d"; depends=[lme4 brglm gtools]; };
+BrailleR = derive { name="BrailleR"; version="0.16.1"; sha256="0jr7wb1jibf7bmv7bqxn94dc4ai7kd4hj88dcql8rnilkvmqyqwj"; depends=[nortest xtable moments knitr]; };
+Brobdingnag = derive { name="Brobdingnag"; version="1.2-4"; sha256="1saxa492f32f511vw0ys55z3kgyzhswxkylw9k9ccl87zgbszf3a"; depends=[]; };
+Brq = derive { name="Brq"; version="1.0"; sha256="0m01qw0mh9za1gx1vkbyvwny4k5fvmvs9dbp0504q8jqfqf4l1vj"; depends=[quantreg truncnorm]; };
+BsMD = derive { name="BsMD"; version="2013.0718"; sha256="1yvazqlbmm221r7nkhrhi309gkk6vx7ji5xlvf07klya2zg20gcj"; depends=[]; };
+BurStFin = derive { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; };
+BurStMisc = derive { name="BurStMisc"; version="1.00"; sha256="0718a1p7iiqkfhhmnzxggc6hd8sm847n1qh7rfbdl8b0k0bgvnj0"; depends=[]; };
+C50 = derive { name="C50"; version="0.1.0-24"; sha256="17ay0rbm2cg2s27mh09xg0knk7idx6f761sc849m41vsc6pfhzk1"; depends=[partykit]; };
+CADFtest = derive { name="CADFtest"; version="0.3-2"; sha256="00nsnzgjwkif7mbrw7msswjxhi9aysjdx3qg3i4mdmj1rmp7c4dc"; depends=[dynlm sandwich tseries urca]; };
+CALIBERrfimpute = derive { name="CALIBERrfimpute"; version="0.1-6"; sha256="036nwnday098mawc9qlgl3jjjcdjnja1immg6xkq27hvv2xfbz82"; depends=[mice mvtnorm randomForest]; };
+CALINE3 = derive { name="CALINE3"; version="1.0-2"; sha256="07w1kb7wqdi1qslpvpmqcmq6da4h7sgwv3aih4brdprym61c3rkm"; depends=[]; };
+CAM = derive { name="CAM"; version="1.0"; sha256="07mmrz6j8cm6zgaw2zcxgkxb7abd651kb80526r271snjgvpr5bl"; depends=[glmnet mboost Matrix mgcv]; };
+CAMAN = derive { name="CAMAN"; version="0.72"; sha256="10qikirv73d03ssg3sb6w3ih92ms5726b5lqw3x7r5rpbl9179rh"; depends=[sp mvtnorm]; };
+CARBayes = derive { name="CARBayes"; version="4.0"; sha256="1v5pl1hfmmmlcnl324g45playkki20n33w4p5g536260kva74zly"; depends=[MASS Rcpp truncdist spam coda sp Rcpp]; };
+CARBayesST = derive { name="CARBayesST"; version="1.1"; sha256="03vp6qajag0ak4lcn0ddyxri3ndiwsc4yxi6ym5lr2v6kv674wl6"; depends=[Rcpp spam truncdist coda Rcpp]; };
+CARE1 = derive { name="CARE1"; version="1.1.0"; sha256="1zwl4zv60mrzlzfgd7n37jjlr0j918a8ji36n94s5xw8wwipiznw"; depends=[]; };
+CARLIT = derive { name="CARLIT"; version="1.0"; sha256="04kpjfps4ydf8fj75isqp16g1asdsyf8nszhbfkpw1zxkrmiksyp"; depends=[]; };
+CARramps = derive { name="CARramps"; version="0.1.2"; sha256="097xxvql6qglk6x4yi7xsvr15n0yj21613zv003z0mhgvqr1n5vf"; depends=[]; };
+CARrampsOcl = derive { name="CARrampsOcl"; version="0.1.4"; sha256="1sdrir7h7xl1imipm9b71vca062dxqsqd8mg3w9f3s80x2aghxl8"; depends=[OpenCL fields]; };
+CAvariants = derive { name="CAvariants"; version="2.1"; sha256="105bj6r6i7xz95lr5g4ld9xfgyq1dn15lw117jivx76z3k2zpi59"; depends=[]; };
+CBPS = derive { name="CBPS"; version="0.9"; sha256="08pc50fndpx6xvxkvqdklrp6v98w2j387frq08nlglcbfjk22i6x"; depends=[MASS MatchIt nnet numDeriv]; };
+CCA = derive { name="CCA"; version="1.2"; sha256="00zy6bln22qshhlll0y0adnvb8wa1f7famqyws71b6pcnwxki5ha"; depends=[fda fields]; };
+CCAGFA = derive { name="CCAGFA"; version="1.0.4"; sha256="159gh0mx4da1gpqf5swyhg8ksclpi59p4zmzsiq5ywfpy5cjr71z"; depends=[]; };
+CCM = derive { name="CCM"; version="1.1"; sha256="0gya1109w61ia6cq3jg2z5gmvjkv9xg71l2rxhrrf6bx1c2nsrq6"; depends=[]; };
+CCP = derive { name="CCP"; version="1.1"; sha256="07jxh33pb8llk1gx4rc80ppi35z8y1gwsf19zrca9w91aahcs8cx"; depends=[]; };
+CCTpack = derive { name="CCTpack"; version="1.4"; sha256="09s2ysqsz158lrah44rwvs3nlhyqlvwcj6aar2p79flf4xxdwsvk"; depends=[R2jags rjags psych mvtnorm polycor MASS]; };
+CCpop = derive { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; };
+CDFt = derive { name="CDFt"; version="1.0.1"; sha256="0sc8ga48l3vvqfjq3ak5j1y27hgr5dw61wp0w5jpwzjz22jzqbap"; depends=[]; };
+CDLasso = derive { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; };
+CDM = derive { name="CDM"; version="4.2-12"; sha256="18ix2l3mlk9vzv7iks16mdi4h0194bfjcvsxmya5219dfmw5vqfz"; depends=[mvtnorm Rcpp psych MASS polycor sfsmisc plyr WrightMap lattice Rcpp RcppArmadillo]; };
+CDNmoney = derive { name="CDNmoney"; version="2012.4-1"; sha256="1bnfsygbzdd70m5s9qq7524b1fybdws46axxjbw9dhwqpr8w85id"; depends=[]; };
+CDVine = derive { name="CDVine"; version="1.2"; sha256="1qfjbzdfz2dydkfw3b0jjma4csn62177j5sgzh6rszf0nifsi97g"; depends=[MASS mvtnorm igraph]; };
+CEC = derive { name="CEC"; version="0.9.3"; sha256="05cgd281p0hxkni4nqb0d4l71aah3f3s6jxdnzgw8lqxaxz4194i"; depends=[]; };
+CEGO = derive { name="CEGO"; version="1.0.1108"; sha256="0klj9g656rnfqhj36r4v8y6mv4cazlzyrvws6yqa0r61abfbxy68"; depends=[MASS DEoptim]; };
+CEoptim = derive { name="CEoptim"; version="1.0"; sha256="1mrv2vhrwd7hvw67ys08nilbn3f1fp3bsvlbc8ggwyl3lw957fi9"; depends=[MASS msm]; };
+CFC = derive { name="CFC"; version="0.7.0"; sha256="1sl0gsx4gcbcf7bc6xf84g3lx58zraj2h51riacch2iyxl1ygspq"; depends=[abind]; };
+CGP = derive { name="CGP"; version="2.0-2"; sha256="1mggv3c8525vbdfdc3yhpp4vm4zzdvbwyxim29zj0lzwjf9fkgqk"; depends=[]; };
+CHAT = derive { name="CHAT"; version="1.1"; sha256="1hl4xr4lkvb7r36gcbgax6ipqc3rsvn1r03w7fk9gf9bbyg7bkhg"; depends=[DPpackage]; };
+CHCN = derive { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; };
+CHNOSZ = derive { name="CHNOSZ"; version="1.0.3.1"; sha256="0cmirnb8jkaxnscpkwm2a8yyzl9zaf3q323avpgg7fwwhr6c1l19"; depends=[]; };
+CHsharp = derive { name="CHsharp"; version="0.3"; sha256="0aa9v6yih6qmqsmc8zsl8k1wqsp3sp2bfwri3d37k06vfj7gwbh0"; depends=[scatterplot3d KernSmooth]; };
+CIDnetworks = derive { name="CIDnetworks"; version="0.8.0"; sha256="183mv0jq2l2zvqywxkdnmkclm7wix96fll9m4ypdp782i0qil2rr"; depends=[mvtnorm msm Rcpp igraph numDeriv pbivnorm Rcpp]; };
+CIFsmry = derive { name="CIFsmry"; version="1.0.1"; sha256="118vyiiy4iqn86n9xf84n5hrwrhzhr1mdsmyg9sm6qq6dm7zg6la"; depends=[]; };
+CINID = derive { name="CINID"; version="1.2"; sha256="0pkgzi2j0045p10kjvnq8f4j1agzrqfw0czvvfrzj9yjfpj8xc99"; depends=[]; };
+CINOEDV = derive { name="CINOEDV"; version="2.0"; sha256="0fjpxahc55zd972p3hlw9fk4dq8hpq715xff8p98kfh29dvw9mnz"; depends=[R_matlab igraph ggplot2 reshape2]; };
+CITAN = derive { name="CITAN"; version="2014.12-1"; sha256="0hiccsg49zgcdm5iwj2vzyqhwyfw6h5fd2gasy6hlakjp102mvy2"; depends=[agop RSQLite RGtk2 hash stringi DBI]; };
+CLAG = derive { name="CLAG"; version="2.18.1"; sha256="0y8m6m01vw3rxwrmxvwhpiy6dd2snr0lhb026l1494y43hhqi3wy"; depends=[]; };
+CLME = derive { name="CLME"; version="2.0-2"; sha256="11krgxn3fvbwknmiz2jyidpbb0svf4frvk99spd7i53m615sai91"; depends=[MASS lme4 shiny isotone stringr prettyR]; };
+CLSOCP = derive { name="CLSOCP"; version="1.0"; sha256="0rkwq9rl2ph4h5zwb2i3yphjyzxmh6b6k23a8gcczycx6xdq4yhw"; depends=[Matrix]; };
+CMC = derive { name="CMC"; version="1.0"; sha256="1r9a5k79fyw01yiwxq02327hpn4l1v2lp0958jj9217wxmhn3pr5"; depends=[]; };
+CMF = derive { name="CMF"; version="1.0"; sha256="0hvqcbmg2vd0i1rjb1m1bkrbv2vkj1siank1v8w0n5b6881cyz7q"; depends=[Rcpp Rcpp]; };
+CMPControl = derive { name="CMPControl"; version="1.0"; sha256="0cp29cibiydawsl0cq433l9abdivr16b431zlrh45wzr5kzfcs0v"; depends=[compoisson]; };
+CNOGpro = derive { name="CNOGpro"; version="1.1"; sha256="1frsmhfqrlg1vsa06cabqmrzngq4p5gqwyb9qgnsgg81a9ybm6l8"; depends=[seqinr]; };
+CNVassoc = derive { name="CNVassoc"; version="2.1"; sha256="0gwyhipkvvnivdahr9mkj1b8j9wzg6g8mcsvk5rq28xdzrskz0i8"; depends=[CNVassocData mixdist mclust survival]; };
+CNVassocData = derive { name="CNVassocData"; version="1.0"; sha256="17r3b1w9i9v6llawnjnrjns6jkd82m2cn9c90aif8j0bf4dmgdli"; depends=[]; };
+CNprep = derive { name="CNprep"; version="2.0"; sha256="08dpjikx3ldqzw2kwb12q0kbw15qzl09srjdfs0sz9si0x6bfxs6"; depends=[mclust rlecuyer]; };
+COBRA = derive { name="COBRA"; version="0.99.4"; sha256="1r1cw12d7c148pcgcg08bfsr1q1s736kfpyyss6b4d7ny7wgmqy4"; depends=[]; };
+COMMUNAL = derive { name="COMMUNAL"; version="1.0"; sha256="0smza4q0gnhskyq3fxcrs2hq3lxkyp5xf3zd6zi92962lg6s3w3n"; depends=[cluster clValid fpc rgl]; };
+COMPoissonReg = derive { name="COMPoissonReg"; version="0.3.4"; sha256="1mf2q7phc2bn700yp7i2i6ccj6lrvh8b2dmibqihh76a85j1ycrq"; depends=[]; };
+COP = derive { name="COP"; version="1.0-2"; sha256="1gynknplvx97hjhi7adsgq9r9lqismch1q1pqvgmz0x1wkg4jj40"; depends=[dr MASS]; };
+COPASutils = derive { name="COPASutils"; version="0.1.6"; sha256="0vi7x14ma3i4gabdb04byr4ba0209lklj3d5ql2f2vaxyb4a1hj9"; depends=[ggplot2 reshape2 dplyr kernlab stringr knitr]; };
+CORE = derive { name="CORE"; version="3.0"; sha256="0wq9i7nscnzqiqz6zh6hglm7924261bw169q3x6l9i6jgqhvn32d"; depends=[]; };
+CORElearn = derive { name="CORElearn"; version="0.9.45"; sha256="0j2lhzikh96ky4n52x0rwhknx5zdk9h78x9ygzfpr6p9x80w850f"; depends=[cluster rpart]; };
+CORM = derive { name="CORM"; version="1.0.2"; sha256="0g5plafx2h1ija8jd6rxvy8qsrqprfbwbi1kq1p4jdr9miha20nv"; depends=[cluster]; };
+COSINE = derive { name="COSINE"; version="2.1"; sha256="10ypj849pmvhx117ph3k1jqa62nc4sdmv8665yahds7mh0ymhpjj"; depends=[MASS genalg]; };
+COUNT = derive { name="COUNT"; version="1.3.2"; sha256="1lb67gwznva5p046f4gjjisip5a12icp7d2g1ipizixw99c5lll8"; depends=[msme sandwich MASS]; };
+CP = derive { name="CP"; version="1.5"; sha256="0hzp4h7bhhxn336kkq27phplk7idwk27jjsp6zimwl8fq3ylh0dr"; depends=[survival]; };
+CPE = derive { name="CPE"; version="1.4.4"; sha256="09sqp2a0j43jr9ya9piv8575rwd5fdvwmiz4chv75r3mw8p128mn"; depends=[survival rms]; };
+CPHshape = derive { name="CPHshape"; version="1.0.1"; sha256="05krqcd4spgghp3ihv1zfql6ikd64vkqnrjghjvfki3hi3zi5k7h"; depends=[]; };
+CPMCGLM = derive { name="CPMCGLM"; version="1.1"; sha256="1w8yp37vxz2cl0yqdzpyxdfq2scz2h9i4crjzjmjzpzffi45f06s"; depends=[mvtnorm plyr]; };
+CR = derive { name="CR"; version="1.0"; sha256="0smb2i560dwbxg3mp1svfxmaiw193pd3klwqq0i27czf07k1xfvj"; depends=[]; };
+CRAC = derive { name="CRAC"; version="1.0"; sha256="0vnqmmmwakx5jnzqp20dng35p7rvmz3ypm2m7bs41m8nhh2wq1xa"; depends=[]; };
+CRF = derive { name="CRF"; version="0.3-8"; sha256="0w9wfjlx6hvd07k0iszfyip0vn0ca5ax2d5g7hsg6pm2isnzap8a"; depends=[Rglpk Matrix]; };
+CRM = derive { name="CRM"; version="1.1.1"; sha256="09h6xvqc2h2gxhdhc7592z93cnw16l549pn9i26ml0f0n20hljmf"; depends=[]; };
+CRTSize = derive { name="CRTSize"; version="0.4"; sha256="02g0799f8i123lihvz0w2qpwbkq22998sni0c392vyzvznfzagwa"; depends=[]; };
+CSS = derive { name="CSS"; version="1.0.2"; sha256="0p0c3gfj6p58hd4398kkpjg7rhx6wh5z6qddpqnvbm24acq7nrvh"; depends=[XML stringr]; };
+CTT = derive { name="CTT"; version="2.1"; sha256="0v8k54x9pib6hq3nz3m80g1a3p003f7bn8wnj9swwvacc90d6n44"; depends=[]; };
+CUMP = derive { name="CUMP"; version="1.0"; sha256="0dbpgm75nbd4h8rf3ca5n4mgdn3qm4yyf2d48vlihakzw6rqbpka"; depends=[]; };
+CVST = derive { name="CVST"; version="0.2-1"; sha256="17xacyi8cf37rr2xswx96qy7pwkaqq394awdlswykz3qlyzx4zx2"; depends=[kernlab Matrix]; };
+CVThresh = derive { name="CVThresh"; version="1.1.1"; sha256="19d7pslzj8r3z5gn3cplpz2h2ayz6k1nrfx3s2b7a8w1il3vmi69"; depends=[wavethresh EbayesThresh]; };
+CVTuningCov = derive { name="CVTuningCov"; version="1.0"; sha256="1bwzis82lqwcqp2djy4bnd3vvjr47krlv3pdc5msh12wcs0xhs7n"; depends=[]; };
+CVcalibration = derive { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; };
+CaDENCE = derive { name="CaDENCE"; version="1.2.2"; sha256="1rbwm3s63dxd366bs7pdxl0zpv7svsfr3ayznach9bjjrnjk3z3g"; depends=[pso]; };
+Cairo = derive { name="Cairo"; version="1.5-6"; sha256="0x5xd2xq5q8a3kzmz7f9bawg3j131rhyb3s7w34acg7rd79l1935"; depends=[]; };
+CarletonStats = derive { name="CarletonStats"; version="1.1"; sha256="18pd1hi8bnbv0sdixw746xvdg9szvng422yj12mk0k50v60403xg"; depends=[]; };
+CatDyn = derive { name="CatDyn"; version="1.0-6"; sha256="07n7qwpq8b70i2f48npy0pd87w0fj5xzjg00xw53m2idikqf82pn"; depends=[optimx BB]; };
+CateSelection = derive { name="CateSelection"; version="1.0"; sha256="194lk6anrb05gaarwdg8lj5wm6k61b4r702cja3nf3z91i8paqi7"; depends=[]; };
+CausalGAM = derive { name="CausalGAM"; version="0.1-3"; sha256="0g68m2kxixwr7rx65r57m1n0qa161igc428zh9rj91fg6h4pdq4w"; depends=[gam]; };
+Causata = derive { name="Causata"; version="4.2-0"; sha256="04lndjy4rdf063z75zv42b000z06ffnr91pv2sql1ks6w60zmh1m"; depends=[XML R_utils rjson RMySQL RCurl stringr yaml boot foreach data_table glmnet ggplot2]; };
+CePa = derive { name="CePa"; version="0.5"; sha256="1y2q72j8bqx509i62a2x9j40rj5bkpgx4z6fwj05ibazc1441asd"; depends=[igraph snow]; };
+CellularAutomaton = derive { name="CellularAutomaton"; version="1.1-1"; sha256="0kmw2ic161xwalqa63hznic4n4hdz20hsilf2awlcldg7m9si1zd"; depends=[R_oo R_methodsS3]; };
+CensRegMod = derive { name="CensRegMod"; version="1.0"; sha256="0qqwkxn8knhcjb6mph7mp7mma56zxslbvkfgfajq2lq4gbg901y4"; depends=[]; };
+CerioliOutlierDetection = derive { name="CerioliOutlierDetection"; version="1.0.8"; sha256="0n67y7ah496wck9hlrphya9k753gk44v7zgfz4s2a5ii49739zqi"; depends=[robustbase]; };
+CfEstimateQuantiles = derive { name="CfEstimateQuantiles"; version="1.0"; sha256="1qf85pnl81r0ym1mmsrhbshwi4h1iv19a2wjnghbylpjaslgxp6i"; depends=[]; };
+ChainLadder = derive { name="ChainLadder"; version="0.2.0"; sha256="03gwavmimh4isrc6gpn72m52sqx1aj0prshzsb0531g45qxmvw9x"; depends=[systemfit statmod Matrix actuar Hmisc reshape2 MASS lattice tweedie]; };
+ChargeTransport = derive { name="ChargeTransport"; version="1.0.2"; sha256="0mq06ckp3yyj5g1z2sla79fiqdk2nlbclm618frhqcgmq93h0vha"; depends=[]; };
+CheckDigit = derive { name="CheckDigit"; version="0.1-1"; sha256="0091q9f77a0n701n668zaghi6b2k3n2jlb1y91nghijkv32a7d0j"; depends=[]; };
+ChemoSpec = derive { name="ChemoSpec"; version="4.0.1"; sha256="08z85g0r38xh57h3f4hdcg8wlaklpqmxvjla1562f3lxbqm1r9k1"; depends=[plyr rgl]; };
+ChemometricsWithR = derive { name="ChemometricsWithR"; version="0.1.8"; sha256="084da2hx6agryw7bv6img10pqmsdz2mpihbrj6j081lammrik4fj"; depends=[ChemometricsWithRData MASS pls]; };
+ChemometricsWithRData = derive { name="ChemometricsWithRData"; version="0.1.3"; sha256="14l1y4md8hxq8gvip5vgg07vcr0d9yyhm5ckhzk8zwprdabn9a10"; depends=[]; };
+ChoiceModelR = derive { name="ChoiceModelR"; version="1.2"; sha256="0dkp3354gvrn44010s8fjbmkpgn1hpl4xbfs5xslql8sk8rw0n2c"; depends=[]; };
+CircE = derive { name="CircE"; version="1.1"; sha256="14bja3zv9wg389m6khmsy3q12hhnfcp49rvrmw47y6fh5m7ihrz2"; depends=[]; };
+CircNNTSR = derive { name="CircNNTSR"; version="2.1"; sha256="1rl17kw6bl5xf7pgsc4im12i2kqz4a3b11vzzlb6wfl5yck6iff5"; depends=[]; };
+CircStats = derive { name="CircStats"; version="0.2-4"; sha256="1f2pf1ppp843raa82s2qxm3xlcv6zpi578zc4pl0d7qyxqnh603s"; depends=[MASS boot]; };
+CityPlot = derive { name="CityPlot"; version="2.0"; sha256="0lskgxmagqjglvpq39hgbygkf4qp28i2bj6b4m2av1s3pzb4465g"; depends=[]; };
+Ckmeans_1d_dp = derive { name="Ckmeans.1d.dp"; version="3.3.1"; sha256="0gzwcg6f3p1vr30lyniqiq4893kjxri4y2vjzh6qrldnay42kqf9"; depends=[]; };
+ClickClust = derive { name="ClickClust"; version="1.1.3"; sha256="03xcmz1php6hl5ic0ipda3lsdyk5aql23jbilril2h9kvwifbbsf"; depends=[]; };
+ClimClass = derive { name="ClimClass"; version="1.0"; sha256="07jl8vwqyyj4q2hav8qbg69yjs73s3kbms5bd9hqs1y938rrp2l5"; depends=[geosphere ggplot2 reshape2]; };
+ClueR = derive { name="ClueR"; version="1.0"; sha256="1ak8pgbzm5xrk7pjnkbiqdwyvvyvrm6k6h50ycc86w3zy7fnqhds"; depends=[e1071]; };
+ClustOfVar = derive { name="ClustOfVar"; version="0.8"; sha256="17y8q2g4yjxs2jl1s8n5svxi021nlm0phs1g5hcnfxzpadq84wbs"; depends=[]; };
+ClustVarLV = derive { name="ClustVarLV"; version="1.3.2"; sha256="0lnrpvfkhsmjjaimxqjrvwv4wrh6mxl6ifr9dj1kfkmnparyp6fp"; depends=[Rcpp Rcpp]; };
+CoClust = derive { name="CoClust"; version="0.3-0"; sha256="0vcjy8mr8vfs5j1x0xz1zkjn6l08pg6r28ffbdvrqrbalnh87v3s"; depends=[copula gtools]; };
+CoImp = derive { name="CoImp"; version="0.2-3"; sha256="04n0drx98hi8hmlb5xwl87ylv03j1ld04vp9d8s5sphvm9bbx690"; depends=[copula nnet gtools locfit]; };
+CoinMinD = derive { name="CoinMinD"; version="1.1"; sha256="0invnbj5589wbs0k2w5aq9qak7axc3s0g9nw85c48lnl0v95s91i"; depends=[MCMCpack]; };
+CollocInfer = derive { name="CollocInfer"; version="1.0.1"; sha256="0wfk3qw28msz3wqm5xmivjgi18kqv1s6w76vh71zq777d6a7al6i"; depends=[fda deSolve MASS Matrix spam]; };
+CombMSC = derive { name="CombMSC"; version="1.4.2"; sha256="1wkawxisn9alpwrymja8dla8n25z2fhai3l2xhin0b914y2kai09"; depends=[]; };
+CombinS = derive { name="CombinS"; version="1.1"; sha256="18wanir5vqk5i65hd6gr2za1xd26yfa0c3c029dbxsrsczwmb9xi"; depends=[]; };
+CombinePValue = derive { name="CombinePValue"; version="1.0"; sha256="0mlngyz2nq7s39javnnjbb5db93c5sg9daw2szng83mbyfza4hv2"; depends=[]; };
+CommonJavaJars = derive { name="CommonJavaJars"; version="1.0-5"; sha256="0kwf504g1izyy7hxss21dgz26w0spxibdlacrjdh7q10z799hfhh"; depends=[]; };
+CommonTrend = derive { name="CommonTrend"; version="0.7-1"; sha256="088pg2hy2g2jgs84xawrnsf7gpvrpqjsimkx7g0i5r5fmkx169f9"; depends=[MASS urca]; };
+CommunityCorrelogram = derive { name="CommunityCorrelogram"; version="1.0"; sha256="1wkrm5lil595sc4ih3qsf4sgvfipzlav0n7339ixqw9zxm2pg4nj"; depends=[vegan]; };
+Comp2ROC = derive { name="Comp2ROC"; version="1.0"; sha256="0vymjbxdlvm5dvss4z4zjdc7y7040s3j972gh2138wfygji1szg7"; depends=[ROCR boot]; };
+CompGLM = derive { name="CompGLM"; version="1.0"; sha256="04bjal92r0m7is5ygqpd0mdz3fb3pwcr7rc3mbxg9sg57nff3kf5"; depends=[Rcpp Rcpp]; };
+CompLognormal = derive { name="CompLognormal"; version="3.0"; sha256="1dhgr9l713l2n889bpa47lbg2qab0fz0r15qa928c0b9nz688ddm"; depends=[numDeriv]; };
+CompQuadForm = derive { name="CompQuadForm"; version="1.4.1"; sha256="1kv4bdkwidkjw0hgn2krv42p9v1a03p47g0p03lja3flhfbmiifj"; depends=[]; };
+CompRandFld = derive { name="CompRandFld"; version="1.0.3-4"; sha256="1a3j5j50fz3f8vkvdmfccv5hn00spk08xanadqxpdy8pn925gqqb"; depends=[]; };
+CompareTests = derive { name="CompareTests"; version="1.0"; sha256="098axl20jid35pqvgiwk6h91waafigwks6n5f4pg7xxx1fifks4f"; depends=[]; };
+Compind = derive { name="Compind"; version="1.0"; sha256="13gfsbjaciign8cswsibdj9a4rwj5afwrk4g1x4fyihfhnm4qx7m"; depends=[Benchmarking psych boot Hmisc MASS GPArotation lpSolve nonparaeff]; };
+Compounding = derive { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; };
+ConConPiWiFun = derive { name="ConConPiWiFun"; version="0.4.4"; sha256="1dq9nlg04xs2n9g62y4gbl8ay4vsa25d7d7dra7q8zq6a561hzz5"; depends=[Rcpp Rcpp]; };
+Conake = derive { name="Conake"; version="1.0"; sha256="1rj1rv8r53516jqhwp9xqqwjxh4gx1w47c0bw59f87wiy5pbchpf"; depends=[]; };
+CondReg = derive { name="CondReg"; version="0.20"; sha256="1ffnrjfjcb66i9nyvidkcn4k9pcj4r7xanjwzcxcrj2qm39apkqx"; depends=[]; };
+ConjointChecks = derive { name="ConjointChecks"; version="0.0.9"; sha256="097mhiz8zjmmkiiapr3zfx7v35xirg57nqp1swd72dixaa23nhr1"; depends=[]; };
+ConnMatTools = derive { name="ConnMatTools"; version="0.1.5"; sha256="02cv2rlfp9shwqc9nwb8278akmwv7yvviwl23jglzsyh721dpqkr"; depends=[]; };
+ConvCalendar = derive { name="ConvCalendar"; version="1.2"; sha256="0yq9a42gw3pxxwvpbj6zz5a5zl7g5vkswq3mjjv5r28zwa3v05vc"; depends=[]; };
+ConvergenceConcepts = derive { name="ConvergenceConcepts"; version="1.1"; sha256="0878fz33jxh5cf72lv0lga48wq2hqa4wz6m59111k59pzrsli344"; depends=[tkrplot lattice]; };
+CopulaREMADA = derive { name="CopulaREMADA"; version="0.5-1"; sha256="1lrqx07986f7cv0ws1dd9p0dza0qkc67p8mp7rdq58b9f1h7yk2r"; depends=[statmod]; };
+CopulaRegression = derive { name="CopulaRegression"; version="0.1-5"; sha256="0dd1n7b23yww36718khi6a5kgy8qjpkrh0k433c265653mf1siq8"; depends=[MASS VineCopula]; };
+CopyDetect = derive { name="CopyDetect"; version="1.1"; sha256="0h9bf7ay5yr6dwk7q28b6xxfzy6smljkq6qwjkzfscy5hnmwxkpa"; depends=[irtoys]; };
+CorReg = derive { name="CorReg"; version="1.0"; sha256="061lb443wydlrgrnrpi9ibrwa0xw328wcyhsx7lndzjrni9mhcbp"; depends=[Rcpp lars Rmixmod elasticnet corrplot Matrix ridge rpart MASS mvtnorm mclust Rcpp RcppEigen]; };
+CorrBin = derive { name="CorrBin"; version="1.5"; sha256="1kg8kms76z127j2vmf7v162n0sh2jqylw4i7c35x5sig4q22m9gy"; depends=[boot combinat geepack dirmult mvtnorm]; };
+Correlplot = derive { name="Correlplot"; version="1.0-2"; sha256="0prxnbi7ga5d23i0i4qpynfb3zrsgjxam47km6nsj1prakdkrq7w"; depends=[calibrate xtable]; };
+CosmoPhotoz = derive { name="CosmoPhotoz"; version="0.1"; sha256="04girid6wvgyrk8ha81mdqjx2mmzifz57l1hzcgrdnzmjmm3vlmp"; depends=[ggplot2 ggthemes arm COUNT gridExtra pcaPP mvtnorm shiny]; };
+CountsEPPM = derive { name="CountsEPPM"; version="2.0"; sha256="0bwd2jc8g62xpvnnq759cxhjvip94abbj63yk6n1awlh5hb4ni3b"; depends=[Formula expm numDeriv]; };
+CovSel = derive { name="CovSel"; version="1.1"; sha256="13dh97857h3r684yw1bzyr1rkpk8l7sshgy9hvg5y95csgai2qhw"; depends=[MASS dr np boot cubature]; };
+CoxBoost = derive { name="CoxBoost"; version="1.4"; sha256="1bxkanc8zr4g3abn4ds5wqibv65flvm4y648fs9s0l4vc9vmyshg"; depends=[survival Matrix prodlim]; };
+CoxRidge = derive { name="CoxRidge"; version="0.9.2"; sha256="0p65mg4hzdgks03k1lj90yj6qbk50s94rwvcwzkb5xxxwrijd10r"; depends=[survival]; };
+Coxnet = derive { name="Coxnet"; version="0.1"; sha256="1q5si53hjgf3w10km3f0185ffhw57y96356vykfmdz8gm26w4sky"; depends=[Matrix Rcpp Rcpp RcppEigen]; };
+CpGFilter = derive { name="CpGFilter"; version="1.0"; sha256="07426xlmx0ya3pi1y5c24zr58wr024m38y036h9gz26pw7bpawy2"; depends=[]; };
+CpGassoc = derive { name="CpGassoc"; version="2.50"; sha256="052mzkcp7510dm12winmwpxz6dvy54aziff0mn3nzy0xbk5v1fw4"; depends=[nlme]; };
+Cprob = derive { name="Cprob"; version="1.2.4"; sha256="0zird0l0kx2amrp4qjvlagw55pk9jrx0536gq7bvajj8avyvyykr"; depends=[prodlim tpr geepack lgtdl lattice]; };
+CreditMetrics = derive { name="CreditMetrics"; version="0.0-2"; sha256="16g3xw8r6axqwqv2f0bbqmwicgyx7nwzff59dz967iqna1wh3spi"; depends=[]; };
+Crossover = derive { name="Crossover"; version="0.1-13"; sha256="0s3nlc6yzgnrhdxpjqfpw8qcnjbhs5y0ng3qqpmpm9d9br8kivri"; depends=[rJava CommonJavaJars JavaGD ggplot2 MASS crossdes xtable Matrix multcomp digest Rcpp RcppArmadillo]; };
+CrypticIBDcheck = derive { name="CrypticIBDcheck"; version="0.3-1"; sha256="1lrpwgvsif1wnp19agh8fs3nhlb7prr3hhqg28fi4ikdd1l2j3r4"; depends=[rJPSGCS car ellipse]; };
+Cubist = derive { name="Cubist"; version="0.0.18"; sha256="176k9l7vrxamahvw346aysj19j7il9a2v6ka6dzmk0qq7hf3w9ka"; depends=[lattice reshape2]; };
+D2C = derive { name="D2C"; version="1.2.1"; sha256="0qhq27978id0plyz9mgdi0r1sr3ixnvqm8w6hp5c2wjd1yhhh12s"; depends=[randomForest gRbase lazy MASS corpcor foreach]; };
+DAAG = derive { name="DAAG"; version="1.20"; sha256="05jlsrs0frk9ky20h17c5vj9d4j28c9n0a1jww5lssacimn1d4x5"; depends=[lattice latticeExtra]; };
+DAAGbio = derive { name="DAAGbio"; version="0.62"; sha256="18m4vq8vv0yi79na62nrm0cy1nlk7bg0xbddzxv5gpkmzi1i6m9s"; depends=[]; };
+DAAGxtras = derive { name="DAAGxtras"; version="0.8-4"; sha256="18lg13mbyharidj5j7ncx8s7d72v2hcnqr00vilhf3djk2mjq7xn"; depends=[]; };
+DAGGER = derive { name="DAGGER"; version="1.4"; sha256="0b2hzv001xhch7pqgb53lfpdcjwg5lj33i6pb884l1kx92svjfr7"; depends=[Rglpk quadprog Matrix]; };
+DAKS = derive { name="DAKS"; version="2.1-2"; sha256="1817s7xd4h2zzaagmnw423qaxpa5fmxi3fh4h9hm2ra9w7nh6ljj"; depends=[relations sets]; };
+DALY = derive { name="DALY"; version="1.4.0"; sha256="1gx4q24149q1ipsrinswrm37z1nf4swgq188zsc1xifmw9l28v11"; depends=[]; };
+DAMOCLES = derive { name="DAMOCLES"; version="1.1"; sha256="07z8mynhqnk1zcvm84w09xzkiy2dfxwhmnpi6gaddr3p0waql4gj"; depends=[geiger caper ape deSolve matrixStats expm picante]; };
+DAMisc = derive { name="DAMisc"; version="1.3"; sha256="0d6fkg0c5a2jx1khv013lmahx5clyzab9w2dsi5zwxnf0jz5m8fc"; depends=[car effects lattice sm MASS nnet pscl gdata xtable]; };
+DATforDCEMRI = derive { name="DATforDCEMRI"; version="0.55"; sha256="0v26a1gi8l21ga5nqcnyfaa7gc8zxq6wk95b96ajgpdybb0l9s53"; depends=[xtable akima R_oo R_methodsS3 matlab lattice locfit]; };
+DBFTest = derive { name="DBFTest"; version="1.0"; sha256="0h83ic16z0lg7grjh4jbrxf672qchqv4zzypm2b1mhmzl01jn1wg"; depends=[]; };
+DBGSA = derive { name="DBGSA"; version="1.2"; sha256="04zqh9y3nqcdzs5jn8aaq5idy9zl450ikvl788xs860wlg692qv2"; depends=[fdrtool]; };
+DBI = derive { name="DBI"; version="0.3.1"; sha256="0xj5baxwnhl23rd5nskhjvranrwrc68f3xlyrklglipi41bm69hw"; depends=[]; };
+DBKGrad = derive { name="DBKGrad"; version="1.6"; sha256="0207zx0v1x3zhfbs0h1ssxc1b683k111f90k8ybhknb147104knr"; depends=[minpack_lm SDD TSA lattice]; };
+DCGL = derive { name="DCGL"; version="2.1.2"; sha256="1dhkdvdglpsr0fzrfrrr6q76jhwxgrcjsiqn56s082y7v366xvs4"; depends=[igraph]; };
+DCL = derive { name="DCL"; version="0.1.0"; sha256="1ls3x3v0wmddfy7ii7509cglb28l1ix1zaicdc6mhwin0rpp2rx3"; depends=[lattice latticeExtra]; };
+DCluster = derive { name="DCluster"; version="0.2-7"; sha256="008nyry64s5g80narcc58273v0jhqzfgwynka6mh7jgi7qsqnxjd"; depends=[boot spdep MASS]; };
+DDD = derive { name="DDD"; version="2.7"; sha256="06nnfn84vhfix8ks08y3kar2cpm63fqghf9y2dhgrnb4midpk5ig"; depends=[deSolve ape ade4]; };
+DDHFm = derive { name="DDHFm"; version="1.1.1"; sha256="03zs2zbrhjcb321baghva7b8y61c8p9z6bfj2vg9cvadpb0260nk"; depends=[]; };
+DDIwR = derive { name="DDIwR"; version="0.2-0"; sha256="0dqbldl5c6b8i5q3yk0hwd12lp8z9j4ilnmsqrkj69fv7mys9q3k"; depends=[XML foreign]; };
+DECIDE = derive { name="DECIDE"; version="1.2"; sha256="18kn2pm9r0ims2k1jfsfzh258wwxz0xg86rsbwgq6szh0azlq3qy"; depends=[]; };
+DEEPR = derive { name="DEEPR"; version="0.1"; sha256="0q8970q3gpjxwxdf2bkhpnqrxpm00w27b20a9sn9vv314rn1n7s8"; depends=[dirmult]; };
+DEMEtics = derive { name="DEMEtics"; version="0.8-7"; sha256="1s59qim60d4gp5rxjacdbmxdbpdm7cy9samn088w8fs0q232vjjx"; depends=[]; };
+DESnowball = derive { name="DESnowball"; version="1.0"; sha256="012kdnxmzap6afc3ffkcvk1mazlkp286av6g9fwz2wcbf5mh9n1m"; depends=[clue combinat MASS cluster]; };
+DEoptim = derive { name="DEoptim"; version="2.2-3"; sha256="0pcs7kkhad139c3nhmg7bkac1av4siknfg59lpknwwrsxbz208dg"; depends=[]; };
+DEoptimR = derive { name="DEoptimR"; version="1.0-2"; sha256="00viy7x3br3094az635lmjydm826d48vv2f14rwmdhqmv03066kq"; depends=[]; };
+DFIT = derive { name="DFIT"; version="1.0-2"; sha256="1kn3av6pnkmf9703yp3cn0zbdzjzxrlm6nbbcg7lwv9550jw2c4n"; depends=[simex mvtnorm ggplot2]; };
+DIFlasso = derive { name="DIFlasso"; version="1.0-1"; sha256="048d5x9nzksphsdk9lwfagl165bb40r0pvjq2ihvhqvxspgpar4b"; depends=[grplasso penalized miscTools]; };
+DIME = derive { name="DIME"; version="1.2"; sha256="11l6mk6i3kqphrnq4iwk4b0ridbbpg2pr4pyqaqbsb06ng899xw0"; depends=[]; };
+DIRECT = derive { name="DIRECT"; version="1.0"; sha256="129bx45zmd6h7j6ilbzj2hjg4bcdc08dvm2igggi8ajndl1l5q9j"; depends=[]; };
+DLMtool = derive { name="DLMtool"; version="1.34"; sha256="0ir1131r408ya235k7syg854bfgsim39hh2k1498n5hrbaa99xfx"; depends=[snowfall boot MASS]; };
+DMR = derive { name="DMR"; version="2.0"; sha256="1kal3bvhwqs00b6p6kl0ja35pcz9v9y569148qfhy94m319fcpzm"; depends=[magic]; };
+DMwR = derive { name="DMwR"; version="0.4.1"; sha256="1qrykl9zdvgm4c801iix5rxmhk9vbwnrq9cnc58ms5jf34hnmbcf"; depends=[lattice xts quantmod zoo abind rpart class ROCR]; };
+DNAprofiles = derive { name="DNAprofiles"; version="0.2"; sha256="15la7csf45175g4hkfdz41jgbj5njad5d4jwfhpadxkb9v2mgaw4"; depends=[RcppProgress Rcpp bit Rcpp RcppProgress]; };
+DNAtools = derive { name="DNAtools"; version="0.1-21"; sha256="1ncx2rmxb0ip804x6xznfv8brjpp518fhnm1653mlrsl3hpzrh88"; depends=[Rsolnp multicool Rcpp Rcpp]; };
+DNMF = derive { name="DNMF"; version="1.0"; sha256="0s484hzzvvkqdh4s5cb6znz26wx07f9k7y940ghx3dkdc7rb0hrx"; depends=[]; };
+DOBAD = derive { name="DOBAD"; version="1.0.4"; sha256="1hslwgs4q05xm29my5cq6g3vvjc0arvdmlx734wardj9dy29p1v5"; depends=[numDeriv lattice]; };
+DOvalidation = derive { name="DOvalidation"; version="0.1.0"; sha256="0vm4sxbchkj2hk91xnzj6lpj05jg2zcinlbcamy0x1lrbjffn9zk"; depends=[]; };
+DPpackage = derive { name="DPpackage"; version="1.1-6"; sha256="01qdl6cp6wkddl9fwwpxwvyhb7lpjxis6wnbm2s288y2n9wi4j24"; depends=[MASS nlme survival]; };
+DPw = derive { name="DPw"; version="1.1.3"; sha256="1cw9qig5z2nfp2b3k4ng5hpar9izd3d6jihj93mkc0rqcli2wzp1"; depends=[fOptions]; };
+DSBayes = derive { name="DSBayes"; version="1.1"; sha256="0iv4l11dww45qg8x6xcf82f9rcz8bcb9w1mj7c7ha9glv5sfb25v"; depends=[BB]; };
+DSL = derive { name="DSL"; version="0.1-5"; sha256="0k320cmim9mvi5cmr6964h9i2jbskh76xws3p6zsfakk63ndg3rr"; depends=[]; };
+DSpat = derive { name="DSpat"; version="0.1.6"; sha256="1v6dahrp8q7fx0yrwgh6lk3ll2l8lzy146r28vkhz08ab8hiw431"; depends=[spatstat RandomFields rgeos mgcv sp]; };
+DSsim = derive { name="DSsim"; version="1.0.3"; sha256="01kkpzs0prcq43y4nmyaw39bgjabr99xxs2hn3fmb4ka46xj0bfb"; depends=[shapefiles splancs mrds mgcv]; };
+DStree = derive { name="DStree"; version="1.0"; sha256="14wba25ylmsyrndh007kl377dv4r34wr1555yxl6kyxrs4yg3jir"; depends=[rpart pec Ecdat rpart_plot survival Rcpp Rcpp]; };
+DTComPair = derive { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; };
+DTDA = derive { name="DTDA"; version="2.1-1"; sha256="0hi2qjcwd6zrzx87mdn1kns5f2h6jh7sz9jpgbi0p0i80xg8jnn3"; depends=[]; };
+DTK = derive { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; };
+DTMCPack = derive { name="DTMCPack"; version="0.1-2"; sha256="0bibas5cf06qq834x9q2l2fyh6q9wrg07k8cn6almcyirzax6811"; depends=[]; };
+DTR = derive { name="DTR"; version="1.5"; sha256="1c73ay0j6jkjm4iv32waz3wnn0qy399k1h72l7rwfzpyidnaprvi"; depends=[survival ggplot2 gridExtra aod proto]; };
+DVHmetrics = derive { name="DVHmetrics"; version="0.1"; sha256="0b712bhdc1sjqrfihk97jzma06gz42mq4p0nj1gm71v312bbipvf"; depends=[ggplot2 reshape2 shiny]; };
+Daim = derive { name="Daim"; version="1.1.0"; sha256="19s0p3a4db89i169n2jz7lf8r7pdmrksw7m3cp9n275b5h8yjimx"; depends=[rms]; };
+DandEFA = derive { name="DandEFA"; version="1.5"; sha256="0d82rjkgqf4w7qg7irlqvzzav1f23i2gmygkbf8jycaa6xhli80d"; depends=[gplots polycor]; };
+DatABEL = derive { name="DatABEL"; version="0.9-5"; sha256="1bjjfnwij6xyn2d62rs4n9j05hrv81jvkih2prk59zdyc7hwgmch"; depends=[]; };
+DataCombine = derive { name="DataCombine"; version="0.2.9"; sha256="1yvpv28fwkifiiyzj121dhzwzp06fncms5jbwpvc3nkq1bpzm2mk"; depends=[data_table dplyr]; };
+Davies = derive { name="Davies"; version="1.1-8"; sha256="1wp7ifbs4vqfrn4vwh09lc53yiagpww91m5mxmcr62mjbw8q7zhr"; depends=[]; };
+Deducer = derive { name="Deducer"; version="0.7-7"; sha256="1x97rz92v1hx30fdmgd1lnzydgygjp6zh20v082qymvh997l1zzd"; depends=[ggplot2 JGR car MASS rJava e1071 scales plyr foreign multcomp effects]; };
+DeducerExtras = derive { name="DeducerExtras"; version="1.7"; sha256="0sngsq31469a74y7nhskl82fwy2i0ga68m9g6b1xyhxz1a8kgvlg"; depends=[Deducer irr rJava]; };
+DeducerPlugInExample = derive { name="DeducerPlugInExample"; version="0.2-0"; sha256="03aw7wr957xzw920ybyzxnck5kx0q2xpcrpq8jh2afyzszy6hzbi"; depends=[Deducer]; };
+DeducerPlugInScaling = derive { name="DeducerPlugInScaling"; version="0.1-0"; sha256="1qg11vi4szznchh54p9345jbmrfzfr9z5l3x5xz4m86myjkys1mb"; depends=[Deducer psych GPArotation mvnormtest irr klaR]; };
+DeducerSpatial = derive { name="DeducerSpatial"; version="0.7"; sha256="0133qk3yjcifyha7c4pqr5s0hmbci72bzgil2r0sxjmrljs3q727"; depends=[JavaGD Deducer sp maptools OpenStreetMap scales rgdal UScensus2010 Hmisc]; };
+DeducerSurvival = derive { name="DeducerSurvival"; version="0.1-0"; sha256="03qk3y4pibvrxbnxbm5rlksw807dvbilip1jbpn1r7k02ibzq676"; depends=[Deducer]; };
+DeducerText = derive { name="DeducerText"; version="0.1-2"; sha256="0if2p9j74wa5rva4iv0i8iax22grl9j7lqcqzqlywjgqwnlzxa05"; depends=[Deducer tm wordcloud RColorBrewer SnowballC]; };
+Delaporte = derive { name="Delaporte"; version="2.2-2"; sha256="1smx8vbi1kvfij00aq0fzj03sxagnzn9vfws0f5973bp3q72x86q"; depends=[Rcpp Rcpp]; };
+Demerelate = derive { name="Demerelate"; version="0.8-1"; sha256="1qngwlzzpd2cmij5ldrmhcn12s9yxd0rargc5vzvkrwcqpkgylkn"; depends=[Formula fts sfsmisc vegan mlogit]; };
+DendSer = derive { name="DendSer"; version="1.0.1"; sha256="0id6pqx54zjg5bcc7qbxiigx3wyic771xn9n0hbm7yhybz6p3gz9"; depends=[gclus seriation]; };
+Density_T_HoldOut = derive { name="Density.T.HoldOut"; version="2.00"; sha256="0kh5nns1kqyiqqfsgvxhx774i2mf4gcim8fp5jjyq577x4679r31"; depends=[histogram]; };
+DepthProc = derive { name="DepthProc"; version="1.0.3"; sha256="0xil3pl33224sizn1wy9x3lcngw017qjl22hfqzss9iy73cmxqnc"; depends=[ggplot2 Rcpp rrcov MASS np lattice sm geometry colorspace Rcpp RcppArmadillo]; };
+Deriv = derive { name="Deriv"; version="3.0"; sha256="025410mhhk085z2in30s765imgzs9rwp8ki1kgdfvyi2bcp6y2v3"; depends=[]; };
+DescTools = derive { name="DescTools"; version="0.99.10"; sha256="0sfjx1bmp0864l55yj7f0zgf4s9kyi2y1p1dajaaxq8mnclqdfz2"; depends=[manipulate boot mvtnorm]; };
+DescribeDisplay = derive { name="DescribeDisplay"; version="0.2.4"; sha256="13npxq1314n4n08j6hbmij7qinl1xrxrgc5hxpbbpbd16d75c7iw"; depends=[proto reshape2 ggplot2 plyr scales GGally]; };
+DetMCD = derive { name="DetMCD"; version="0.0.2"; sha256="0z4zs0k8c8gsd2fry984p06l3p17fdyfky8fv9kvypk7xdg52whc"; depends=[robustbase Rcpp RcppEigen]; };
+DetSel = derive { name="DetSel"; version="1.0.2"; sha256="0igkccclmjwzk7sl414zlhiykym0qwaz5p76wf4i7yrpjgk7mhl9"; depends=[ash]; };
+Devore7 = derive { name="Devore7"; version="0.7.6"; sha256="1m18p8h9vv4v0aq2fkjyj39vzb8a09azbbczhfiv4y88w540i8nw"; depends=[MASS lattice]; };
+DiagTest3Grp = derive { name="DiagTest3Grp"; version="1.6"; sha256="04dxyyqv333rkjf2vlfpal59m7klhw6y7qilym6nw78qb1kqqys7"; depends=[car KernSmooth gplots]; };
+DiagrammeR = derive { name="DiagrammeR"; version="0.5"; sha256="1h8j4yahn7w7lf0fsv3rb4zlm3806106n7x23m673cmczqyq7m32"; depends=[htmlwidgets rstudioapi V8]; };
+DiceDesign = derive { name="DiceDesign"; version="1.6"; sha256="1djq7clga3cvpgfycs3zjj106213yhfj9909sqrni70nj1nwdpj9"; depends=[]; };
+DiceEval = derive { name="DiceEval"; version="1.3"; sha256="1vp9zwd09cwl3c8066jr9d3w4yic70fvd40r7hsj2y8d0bhiwl82"; depends=[DiceKriging]; };
+DiceKriging = derive { name="DiceKriging"; version="1.5.4"; sha256="09i92jj5qlxr13a3x05aiy3q1z6pxz7ddar6639g4jq87vqq2vd9"; depends=[]; };
+DiceOptim = derive { name="DiceOptim"; version="1.5"; sha256="0ajqn5p7sl9rdj35wy45vmmzxl2d97jgz5wdq6ghdzxq523vfkz3"; depends=[DiceKriging rgenoud MASS lhs mnormt]; };
+DiceView = derive { name="DiceView"; version="1.3-1"; sha256="0c7i1jy13d5bj822q1rp0d7gmmfjd00jaah34pnj8fzwyrq404z9"; depends=[DiceKriging DiceEval rgl]; };
+Digiroo2 = derive { name="Digiroo2"; version="0.6"; sha256="1b1ahhqz5largjadlk5n6nw2183c05k28mksb1wm26y0lps0vdgr"; depends=[maptools spatstat spdep]; };
+DirichletReg = derive { name="DirichletReg"; version="0.6-2"; sha256="08qfykyahyq54l9zm7g1yzmk2biz4xqq3qpxw0py4xazq719slk8"; depends=[Formula rgl maxLik]; };
+Disake = derive { name="Disake"; version="1.5"; sha256="1fw45fmnir6h34jw8917mhyz6cgzbq4ywyyf51qxhm68wgzy9h17"; depends=[]; };
+DiscML = derive { name="DiscML"; version="1.0.1"; sha256="0qkh0yak1kmzxxx0cqb47zgrj8v2s1d5danpibwwg43j138sb73l"; depends=[ape]; };
+DiscreteInverseWeibull = derive { name="DiscreteInverseWeibull"; version="1.0.1"; sha256="0w0s2fixpcmcwids35xx91hll9rf9qbi7155sp90dxd3vr8c939v"; depends=[Rsolnp]; };
+DiscreteLaplace = derive { name="DiscreteLaplace"; version="1.0"; sha256="1mwqvlhgswqp697zjl6yjzqbgazycwwz6dfdvx8s72hdmnlqqr9r"; depends=[]; };
+DiscreteWeibull = derive { name="DiscreteWeibull"; version="1.0"; sha256="0v8za4arqarf20jrw38dzcjxdwfdpn0ss7p5yxbwhylnj7qz207w"; depends=[Rsolnp]; };
+DiscriMiner = derive { name="DiscriMiner"; version="0.1-29"; sha256="1ii8aa4dwfk991qdnpmkva20wvs5fqcna9030c799ybf11qpdass"; depends=[]; };
+Distance = derive { name="Distance"; version="0.9.3"; sha256="054z9pi8m8gjpax3s2hajvaik4yvfpy8qc4gmpl9bqncrk594pbv"; depends=[mrds]; };
+DistatisR = derive { name="DistatisR"; version="1.0"; sha256="1il00v26q68h5dd5c9lm2jblgn8hs6n0457r13mlw6r7pcj0158j"; depends=[prettyGraphs car]; };
+DistributionUtils = derive { name="DistributionUtils"; version="0.5-1"; sha256="0gw531wfrjx1sxh17qh48dwbxnibgr0viga07vsp8nay7l02jap9"; depends=[RUnit]; };
+DivE = derive { name="DivE"; version="1.0"; sha256="1ixkk8kd3ri78ykq178izib0vwppnbiwbpc1139rcl8f5giiwcdh"; depends=[deSolve FME rgeos sp]; };
+DivMelt = derive { name="DivMelt"; version="1.0.3"; sha256="03vkz8d283l3zgqg7bh5dg3bss27pxv4qih7zwspwyjk81nw3xmr"; depends=[glmnet]; };
+DiversitySampler = derive { name="DiversitySampler"; version="2.1"; sha256="1sfx7craykb82ncphvdj19mzc0kwzafhxlk9jcxkskygrlwsxfgg"; depends=[]; };
+DnE = derive { name="DnE"; version="2.1.0"; sha256="02cbfb3m9xf24wkgqc06k3k0rx7qlqh4ma43khg6fpvif6yyahrn"; depends=[]; };
+DoE_base = derive { name="DoE.base"; version="0.26-3"; sha256="0b0nkp85ryhy2r9xzmd0331v6a63bh2z2anzc7ra3k315c76ajq3"; depends=[conf_design vcd combinat MASS]; };
+DoE_wrapper = derive { name="DoE.wrapper"; version="0.8-10"; sha256="12q3arfm76x9j8qnrmw07jh904qdqz59ga1zk8m3n17prr11vrgb"; depends=[FrF2 DoE_base rsm lhs DiceDesign AlgDesign]; };
+Dodge = derive { name="Dodge"; version="0.8"; sha256="1vnvqb2qvl6c13s48pyfn1g6yfhc60ql3vn7yh2zymxcsr1gxgcw"; depends=[]; };
+Dominance = derive { name="Dominance"; version="1.0.0"; sha256="0xcmslzfdcy826vcnlybhdyym5kqkrdqidq6jn10s4jic7jk8nl3"; depends=[igraph chron gdata]; };
+DoseFinding = derive { name="DoseFinding"; version="0.9-12"; sha256="126xhq1ckry65g312cqvs9bdcl2ws34k6xnq7n9dcgi8jiizz46d"; depends=[lattice mvtnorm]; };
+DoubleCone = derive { name="DoubleCone"; version="1.0"; sha256="1pba9ypp0n3i2k3ji1x8j7h548pfam9z99hxylcjcxnnvc7xs2fw"; depends=[coneproj Matrix MASS]; };
+DoubleExpSeq = derive { name="DoubleExpSeq"; version="1.0"; sha256="0y797iqmxihrsp8lhy84p5hlyw3ckpklv0pgcqv4h39a6cpglbvd"; depends=[numDeriv]; };
+DunnettTests = derive { name="DunnettTests"; version="2.0"; sha256="1sf0bdxays10n8jh2qy85fv7p593x58d4pas9dwlvvah0bddhggg"; depends=[mvtnorm]; };
+DynClust = derive { name="DynClust"; version="3.13"; sha256="020zl2yljp47r03rcbzrbdmwk482xx27awwzv4kdrbchbzwhxqgm"; depends=[]; };
+DynNom = derive { name="DynNom"; version="1.0.1"; sha256="0gdy3kqj63khm74cdjhfmlnd06ard97h1598rkqwm7c3cng7b98c"; depends=[ggplot2 stargazer shiny compare]; };
+DynamicDistribution = derive { name="DynamicDistribution"; version="1.1"; sha256="1s78hpj2pxjs4vixin1i816qjbn3wk7b8rd2zdjp4d4rbxifcqf5"; depends=[]; };
+EBEN = derive { name="EBEN"; version="1.1.1"; sha256="12nh96avcx4rrbmlr1q046i5ymrsnqvf0ra5ynh58akajfx7wy49"; depends=[]; };
+EBMAforecast = derive { name="EBMAforecast"; version="0.42"; sha256="161l6jxbzli2g5lcmlp74z320rsvsi80pxk1vc1ypa1hgwz3q80x"; depends=[separationplot ensembleBMA plyr Hmisc abind]; };
+EBS = derive { name="EBS"; version="3.0"; sha256="0nrqglbfr7wagd4xrk5jx0kficjgvk7wqwzqrbs589dkll24sn5b"; depends=[MASS]; };
+EBglmnet = derive { name="EBglmnet"; version="3.6"; sha256="0qjwk5y9bghidha4i937nc0kl1jz4d8g2br6ij8651lf2byj9s1a"; depends=[]; };
+EDISON = derive { name="EDISON"; version="1.1"; sha256="09xw4p4hwj8djq143wfdcqhr2mhwynj4ixj3ma7crhqidgal169p"; depends=[corpcor MASS]; };
+EDR = derive { name="EDR"; version="0.6-5.1"; sha256="10ldygd1ymc4s9gqhhnpipggsiv4rwbgajvdk4mykkg3zmz7cbpm"; depends=[]; };
+EFDR = derive { name="EFDR"; version="0.1.0"; sha256="086vk3nff3mcpmh1js2b8wqzpjzdjvlh34fsk3l6sl066gfz49j7"; depends=[Matrix foreach doParallel waveslim gstat tidyr dplyr sp]; };
+EGRET = derive { name="EGRET"; version="2.1.1"; sha256="140hijnwrksi658fn9bfsgrvfkpsix7zhwl4zf4flayrkmbs5i5f"; depends=[dataRetrieval survival fields lubridate]; };
+EIAdata = derive { name="EIAdata"; version="0.0.3"; sha256="12jgw3vi2fminwa4lszczdr4j4svn2k024462sgj1sn07a4a4z2s"; depends=[XML plyr xts zoo]; };
+EILA = derive { name="EILA"; version="0.1-2"; sha256="0wxl9k4fa0f7jadw3lvn97iwy7n2d02m8wvm9slnhr2n8r8sx3hb"; depends=[class quantreg]; };
+EL = derive { name="EL"; version="1.0"; sha256="13r7vjy2608h8jph8kwy69rnkg98b2v69117nrl728r3ayc46a18"; depends=[]; };
+ELT = derive { name="ELT"; version="1.3"; sha256="0q6gc3npwxqq0hz1ardssv5wfxjnx93pi4l1viqsb0wp2kkfq3w6"; depends=[locfit lattice latticeExtra xlsx]; };
+EMA = derive { name="EMA"; version="1.4.4"; sha256="1hqkan9k6ps4qckjrhsgxzham106fm38m5rgayz8i2ji3spvbfca"; depends=[survival xtable heatmap_plus GSA MASS FactoMineR cluster]; };
+EMC = derive { name="EMC"; version="1.3"; sha256="0sdpxf229z3j67mr9s7z4adzvvphgvynna09xkkpdj21mpml23p6"; depends=[mvtnorm MASS]; };
+EMCC = derive { name="EMCC"; version="1.2"; sha256="1qff8yvw7iqdsrqkvwb7m14xh7gcnjcrf8gw00g4j6aq0h0cgk2z"; depends=[MASS mclust EMC]; };
+EMCluster = derive { name="EMCluster"; version="0.2-4"; sha256="0m5cl5mrg6q0ixfpjj1jwd7l5hcldc33lr7n6xgy7p9nlr52mimz"; depends=[MASS]; };
+EMD = derive { name="EMD"; version="1.5.7"; sha256="0m2g7akg9h964d6qr1mj20h9pcb2fcmala3skhl0qpy8qz01w5ck"; depends=[fields locfit]; };
+EMDomics = derive { name="EMDomics"; version="0.99.1"; sha256="1rmdhdsqal7crhkv4z62gzrn8jf7d1aryf051kyszy7ncldp5njn"; depends=[emdist matrixStats ggplot2]; };
+EMJumpDiffusion = derive { name="EMJumpDiffusion"; version="1.4.1"; sha256="10lw6717yq9vlywn5ilsl0d99fpx3zvc87vf7s0zxswhs81h7x1w"; depends=[]; };
+EMMAgeo = derive { name="EMMAgeo"; version="0.9.1"; sha256="1rxbb666gh9g35m4jqa6y1zjp82s62ha6n92fkjvkk9wm25w6imr"; depends=[GPArotation limSolve shape]; };
+EMMIXcontrasts = derive { name="EMMIXcontrasts"; version="1.0.0"; sha256="1q7bwf7kkpraj38lz5s1lhhghp7a5lzyj5b9x8024g6rh2qlwp7v"; depends=[]; };
+EMMIXskew = derive { name="EMMIXskew"; version="1.0.1"; sha256="16jkq0a9k1gf6gia8r65nwa2lh8zny4jmnq51g2rcqm44s5ylqbh"; depends=[lattice mvtnorm KernSmooth]; };
+EMMIXuskew = derive { name="EMMIXuskew"; version="0.11-6"; sha256="0japf0l0sj84jna7b5kirp6pgqa4c923ldwphb16ch2xxrgk5n5k"; depends=[MASS]; };
+EMMREML = derive { name="EMMREML"; version="2.0"; sha256="0fyqwyym6d1adn5pvrfspmr933qhi30h58hxr2rbzwm5kwh6c8jr"; depends=[Matrix]; };
+EMP = derive { name="EMP"; version="2.0.1"; sha256="1zdy05jfhcgj6415pnm079v8xjg90n3akp1rwq65jbqdar38zj4y"; depends=[ROCR]; };
+EMT = derive { name="EMT"; version="1.1"; sha256="0m3av1x3jcp3hxnzrfb128kch9gy2zlr6wpy96c5c8kgbngndmph"; depends=[]; };
+EMVC = derive { name="EMVC"; version="0.1"; sha256="1725zrvq419yj0gd79h8bm56lv2mmk296wq3wapivcy6xn0j97jh"; depends=[]; };
+ENMeval = derive { name="ENMeval"; version="0.1.1"; sha256="0g1h8dklv6rv73wwpx3vhbpnwply5lpq8x9jvl7r018x9gcvvb9m"; depends=[dismo raster rJava]; };
+ENiRG = derive { name="ENiRG"; version="0.1"; sha256="1cnl1mjl5y1rc6fv7c9jw2lkm898l3flfrj3idx9v1brjzyx5xlf"; depends=[ade4 raster R_utils sp spgrass6 gdata fgui miniGUI]; };
+ENmisc = derive { name="ENmisc"; version="1.2-7"; sha256="07rix4nbwx3a4p2fif4wxbm0nh0qr7wbs7nfx2fblafxfzhh6jc7"; depends=[Hmisc vcd RColorBrewer]; };
+EQL = derive { name="EQL"; version="1.0-0"; sha256="0lxfiizkvsfls1km1zr9v980191af6qjrxwcqsa2n6ygzcb17dp5"; depends=[ttutils lattice]; };
+ERP = derive { name="ERP"; version="1.0.1"; sha256="0wy1p7pp9dvc3krylskb627rmfqaj11qvia97m88x05ydqx1fwmr"; depends=[fdrtool mnormt]; };
+ES = derive { name="ES"; version="1.0"; sha256="1rapwf6kryr6allzbjk6wmxpj9idd3xlnh87rwbh6196xb7rp8lv"; depends=[]; };
+ESEA = derive { name="ESEA"; version="1.0"; sha256="06r5lki32mxkznj6yxvlz0ikqcxm3jbaralv4qp9xrw6dy6yyg27"; depends=[igraph XML parmigene]; };
+ESG = derive { name="ESG"; version="0.1"; sha256="1jw6239asv6lwxrz5v0r5pzg6v500bqxg8361sh4jj67rsrc7g9m"; depends=[]; };
+ESGtoolkit = derive { name="ESGtoolkit"; version="0.1"; sha256="0r09arhsvamdyahini5yhgc43msdxwvn45l57xbfszahsnr3b3aq"; depends=[CDVine ggplot2 gridExtra reshape2 ycinterextra Rcpp Rcpp]; };
+ETAS = derive { name="ETAS"; version="0.0-1"; sha256="1p38ay3vnca8b8wszm66whxap8k58c004l1nlsk7zkynyia0im6c"; depends=[spatstat]; };
+ETC = derive { name="ETC"; version="1.3"; sha256="1nvb9n0my7h1kq996mk91canxi6vxy3mzhrshrvm13ixvl48lkkh"; depends=[mvtnorm]; };
+ETLUtils = derive { name="ETLUtils"; version="1.2"; sha256="0mlfq23v7nl6lslscknk9mdx4dxk8xyc5imnvzlhzhag0k50mqj2"; depends=[ff]; };
+EWGoF = derive { name="EWGoF"; version="2.0"; sha256="07kpzaqfd7ihpmh2y5806mz5h64dcajia5v36pp9myl04fvpjapp"; depends=[Rcpp maxLik miscTools Rcpp]; };
+EasyABC = derive { name="EasyABC"; version="1.4"; sha256="0v3i7vlx2pnfkcqxka4g7ss8k8zphyx3vq5l0c1b433qp0fnjwf3"; depends=[abc pls mnormt MASS lhs]; };
+EasyHTMLReport = derive { name="EasyHTMLReport"; version="0.1.1"; sha256="1hgg8i7py7bx48cldyc7yydf0bggmbj3fx3kwiv9jh1x5wyh929z"; depends=[base64enc markdown knitr ggplot2 scales xtable reshape2]; };
+EasyMARK = derive { name="EasyMARK"; version="1.0"; sha256="10slkblbyxq98c3sxgs194dnkx996khfcpxj6jhz355dp35z7c9d"; depends=[MASS stringr rjags coda foreach doParallel random]; };
+EasyStrata = derive { name="EasyStrata"; version="8.6"; sha256="0agmap9lmqbpfw8ijwxmjkcqjvc1ng0jsadkqpfz71a963nkqdcl"; depends=[Cairo plotrix]; };
+EbayesThresh = derive { name="EbayesThresh"; version="1.3.2"; sha256="0n7cr917jrvmgwfqki7shvz9g9zpmbz9z8hm5ax7s8nnfzphrh4g"; depends=[]; };
+Ecdat = derive { name="Ecdat"; version="0.2-7"; sha256="1z9mxx3mvn3vi5drxlzss7gs7vpzg7shinl529bx4jpxqpci90jy"; depends=[Ecfun]; };
+Ecfun = derive { name="Ecfun"; version="0.1-4"; sha256="0h3351pcahrn578lz1pcb7h3chmh0vmwbn9iqll98vibck847gai"; depends=[fda gdata RCurl XML tis jpeg MASS TeachingDemos stringi]; };
+EcoGenetics = derive { name="EcoGenetics"; version="1.1.0"; sha256="1a7dsjvkxaa37nfha07fgfas9zygsj9hrsllgf4b67rkqihrzz87"; depends=[adegenet ggplot2 gstudio hierfstat party raster rgdal rkt sp vegan]; };
+EcoHydRology = derive { name="EcoHydRology"; version="0.4.12"; sha256="03dzdw79s0cnnd7mv6wfxw374yf66dlcmj10xh6sh5i352697xp1"; depends=[operators topmodel DEoptim XML]; };
+EcoTroph = derive { name="EcoTroph"; version="1.6"; sha256="0zi6g0ra107s47r32mm9h6r1wll3avi0mpjmhcr0nj9y48nv14w3"; depends=[XML]; };
+EcoVirtual = derive { name="EcoVirtual"; version="0.1"; sha256="1c815kxljk4qhw0zs28w16ggasfyyyb6aggffx1m1q21s63h6c8h"; depends=[]; };
+EffectStars = derive { name="EffectStars"; version="1.5"; sha256="0j2jxxxpcsrsjzszz4mfk3892ain3qkswa1dkpsmfsk4zs06g0s4"; depends=[VGAM]; };
+EffectTreat = derive { name="EffectTreat"; version="0.1-1"; sha256="1kcd1ns6m0l88qdz6ch3v85i69kl3z2mlvnlrbcnckyxvhpscy4n"; depends=[]; };
+EffectsRelBaseline = derive { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; };
+ElemStatLearn = derive { name="ElemStatLearn"; version="2012.04-0"; sha256="107x2mybadqgw03j3yq8ibq3ljs4fpx90chvsirpylqhv77wsabl"; depends=[]; };
+EloRating = derive { name="EloRating"; version="0.43"; sha256="0gzpi4qjiqn0lzjwy37pkz6fg7dkp2hv2dfqgzfk32wsj0bswgab"; depends=[zoo]; };
+ElstonStewart = derive { name="ElstonStewart"; version="1.1"; sha256="1y2g4x3fhi78c2406bk8r8c3x9zhx8ya3qlbnypdm65j0minixsn"; depends=[kinship2 digest]; };
+EnQuireR = derive { name="EnQuireR"; version="0.10"; sha256="00kyclcr8da79lwpqa1vzkwn6pgf197h2biackwgphb0byhi8ssx"; depends=[FactoMineR SensoMineR Rcmdr MASS]; };
+EngrExpt = derive { name="EngrExpt"; version="0.1-8"; sha256="0zclvckj2i7j4kfs58hcjcl722vl2y6dcnjz238cjfgwv279gqhp"; depends=[lattice]; };
+EnsembleBase = derive { name="EnsembleBase"; version="0.7.1"; sha256="1yc5afim7zprxvnk5r2m0wwrl15b8sifxnh00b1x7qnzyz4glfl2"; depends=[kknn gbm nnet e1071 randomForest doParallel foreach]; };
+EnsembleCV = derive { name="EnsembleCV"; version="0.7.1"; sha256="14mvwfjbhsrq9q7k5ph5sf9zriazgfby376v1zjm82r93y4samsf"; depends=[EnsembleBase]; };
+EnsemblePCReg = derive { name="EnsemblePCReg"; version="0.6"; sha256="0amswx7x08hpfvsrkjyfz3adkfshl7d1knyvk9nrnrrpy65rilc3"; depends=[EnsembleBase]; };
+EnsemblePenReg = derive { name="EnsemblePenReg"; version="0.6"; sha256="0fjp50jbnbhvyd7srvhy0ipysm192d8ikg9yra2vch33zrid2xbm"; depends=[EnsembleBase glmnet]; };
+EntropyEstimation = derive { name="EntropyEstimation"; version="1.2"; sha256="13kb83lfpkw6yq687j0ci23yn5c9dqjibybyyaplk6jixy08lrvy"; depends=[]; };
+EntropyExplorer = derive { name="EntropyExplorer"; version="1.0"; sha256="0daj7g209nk8lsalk51kf8kkr6lbnnlzf7xd2mmv1axm7y5rppl2"; depends=[]; };
+EnvNicheR = derive { name="EnvNicheR"; version="1.0"; sha256="1vw21gsdrx8gkf1rf8cnazv8l9ddcdmy2gckyf33fz7z2mbzgbkk"; depends=[]; };
+EnvStats = derive { name="EnvStats"; version="2.0.0"; sha256="1yjm1lm9hsq5gw6j8wqxxgc72p7c6prr5fx8vk9v6bb2hgf2bm8i"; depends=[MASS]; };
+EnviroStat = derive { name="EnviroStat"; version="0.4-0"; sha256="05sa63z6yzny2ncxpm5d3x0bx8snkn0x5pzpj2a7y6rwf6al5q4r"; depends=[MASS]; };
+Epi = derive { name="Epi"; version="1.1.67"; sha256="12wbzv21whjnzlyqacgqmsgrjbkgj2495y9fwvav5mr21yfrjds3"; depends=[]; };
+EpiContactTrace = derive { name="EpiContactTrace"; version="0.8.8"; sha256="1vlr2xxnyq1i6ky39g8j3pf3m5775bmhii7vpskb0x7nnq161yzb"; depends=[Rcpp plyr R2HTML Rcpp]; };
+EpiDynamics = derive { name="EpiDynamics"; version="0.2"; sha256="1hqbfysvw2ln8z3as6lfcjlhkzccksngwh2vm25zsgy93gxw3mcc"; depends=[deSolve reshape2 ggplot2]; };
+EpiEstim = derive { name="EpiEstim"; version="1.1-2"; sha256="0r56iglhkrqvlsf3gbahd544h944fmbyn6jdc113rhjscf6dl605"; depends=[]; };
+EpiModel = derive { name="EpiModel"; version="1.1.3"; sha256="077sk29jzgf1hbnydsrji2bky33bljs3vyid4r4gk0hxhc9cb3pj"; depends=[deSolve network networkDynamic tergm doParallel ergm foreach RColorBrewer statnet_common]; };
+Eplot = derive { name="Eplot"; version="1.0"; sha256="1glmkjjj432z9g4gi56pgvfrm5w86iplirnd5hm4s99qci2hgc64"; depends=[]; };
+EstCRM = derive { name="EstCRM"; version="1.3"; sha256="0fmnlh0pnprskq01iq3rfassyxq7fywiprvqw0xdlh8yxl3w2c9n"; depends=[Hmisc lattice]; };
+EstSimPDMP = derive { name="EstSimPDMP"; version="1.2"; sha256="05gp0gdix4d98111sky8y88p33qr5w4vffkp6mg9klggn37kdj8j"; depends=[]; };
+EvCombR = derive { name="EvCombR"; version="0.1-2"; sha256="1f5idjaza91npf64hvcnpgnr72mpb7y6kf91dp57xy9m14k7jx5g"; depends=[]; };
+EvalEst = derive { name="EvalEst"; version="2012.4-1"; sha256="19yn4haxkny9kij0jhkwdbp34c9h2cc5l2n2b14khjhv1msqcfmi"; depends=[setRNG tframe tfplot dse]; };
+Evapotranspiration = derive { name="Evapotranspiration"; version="1.5"; sha256="181s9wwil07740n79gz2ar9c1bjxy45v4fyxxkqjmdfly72la542"; depends=[zoo]; };
+EvoRAG = derive { name="EvoRAG"; version="2.0"; sha256="0gb269mpl2hbx1cqakv3qicpyrlfb4k8a3a7whhg90masbgmh8f6"; depends=[]; };
+ExPosition = derive { name="ExPosition"; version="2.8.19"; sha256="04s9kk8x6khvnryg6lqdwnyn79860dzrjk8a9jyxgzp94rgalnnz"; depends=[prettyGraphs]; };
+Exact = derive { name="Exact"; version="1.4"; sha256="1l4cq6kslnl8x8c53m2w8w1vijmbxaxzr1fpdzrm2hfra0p5z90s"; depends=[]; };
+ExactCIdiff = derive { name="ExactCIdiff"; version="1.3"; sha256="1vayq8x7gk1fnr1jrlscg6rb58wncriybw4m1z0glfgzr259103y"; depends=[]; };
+ExactPath = derive { name="ExactPath"; version="1.0"; sha256="0ngvalmgdswf73q0jr4psg0ihnb7qwkamm6h64l01k5rmgd5nm16"; depends=[ncvreg lars]; };
+ExceedanceTools = derive { name="ExceedanceTools"; version="1.2.2"; sha256="084sc6pggfbcyavhfnd5whyigw7dyjhb4cxmxi0kh2jiam5k8v5b"; depends=[splancs SpatialTools]; };
+ExomeDepth = derive { name="ExomeDepth"; version="1.1.4"; sha256="0a4y6y1zi1jn1g14f3wsl2pfbmp58afwkvrk7x7s1wp16vwgq0xb"; depends=[aod VGAM]; };
+ExpDes = derive { name="ExpDes"; version="1.1.2"; sha256="0qfigbx06b3p04x5v7wban139mp8hg8x77x6nzwa4v6dr226qbkv"; depends=[]; };
+ExpDes_pt = derive { name="ExpDes.pt"; version="1.1.2"; sha256="0khw2jhg2vxcivgr20ybvrsqhd8l8bir5xjmr4m44za9nhap43bz"; depends=[]; };
+ExtremeBounds = derive { name="ExtremeBounds"; version="0.1.5"; sha256="1fsrp2dm1bdg5p0qsi2wa8qxrlq065jlazsxzixpjsni910mrb2k"; depends=[Formula]; };
+FACTscorer = derive { name="FACTscorer"; version="0.1.0"; sha256="1gbfpm5szi6w8iyp7ywpqrmdq0wrv5axj29sj9gxjwmjfh5qgqjx"; depends=[]; };
+FADA = derive { name="FADA"; version="1.2"; sha256="1wpjqvhhgvirzcvl8r23iaw63wr8rys19mjy71mn24wg3zwnc2qz"; depends=[MASS elasticnet sparseLDA sda glmnet mnormt crossval]; };
+FAMILY = derive { name="FAMILY"; version="0.1.18"; sha256="1f1s0p721sl27b9xp2wrdyx03kv1bdin4wfknmw1k0nnc94dcnp2"; depends=[pheatmap pROC]; };
+FAMT = derive { name="FAMT"; version="2.5"; sha256="0mn85yy9zmiklfwqjbhbhzbawwp2yqrm9pvm8jhasn9c3kw1pcp2"; depends=[mnormt]; };
+FAOSTAT = derive { name="FAOSTAT"; version="1.9"; sha256="0gff60vlv35m5sjmz7glbdrd6ijy6n32a9xd26z2ix839qgywvqj"; depends=[RJSONIO plyr data_table MASS classInt ggplot2 labeling scales]; };
+FAdist = derive { name="FAdist"; version="2.1"; sha256="1y66ymg0k6kmyq4bclwwlqkp8brkq925ajpp0jqqn39f749c2kji"; depends=[]; };
+FAiR = derive { name="FAiR"; version="0.4-15"; sha256="18nj95fiy3j7kf4nzf692dxja3msnaaj5csg745bnajb48l606wz"; depends=[rgenoud gWidgetsRGtk2 rrcov Matrix]; };
+FAmle = derive { name="FAmle"; version="1.3.3"; sha256="125m2hvl603avg9h9x5gfb7l9clpg7p0ir8fdypxyjiqggdr8hxa"; depends=[mvtnorm]; };
+FAwR = derive { name="FAwR"; version="1.0.1"; sha256="1j97hdhaamg6xqkaxb04xzsd60hd69n9y84frkqi9swvhr565waj"; depends=[MASS lattice]; };
+FBFsearch = derive { name="FBFsearch"; version="1.0"; sha256="1nxfhll9gx9l6hzpcihlz880qxr0fyv5rjghk0xgp8xn4r5wxw11"; depends=[Rcpp RcppArmadillo Rcpp RcppArmadillo]; };
+FBN = derive { name="FBN"; version="1.5.1"; sha256="0723krsddfi4cy2i3vd6pi483qjxniychnsi9r8nw7dm052nb4sf"; depends=[]; };
+FCMapper = derive { name="FCMapper"; version="1.0"; sha256="1wp5byx68067fnc0sl5zwvw2wllaqdbcy4g2gbzmlqwli0jz2dsk"; depends=[igraph]; };
+FD = derive { name="FD"; version="1.0-12"; sha256="0xdpciq14i8rh7v6mw174hip64r7mrzhx7gwri3vp9y7a1380sbi"; depends=[ade4 ape geometry vegan]; };
+FDGcopulas = derive { name="FDGcopulas"; version="1.0"; sha256="1i86ns4hq74y0gnxfschshjlc6if3js0disjb4bwfizaclwbw3as"; depends=[Rcpp numDeriv randtoolbox Rcpp]; };
+FDRreg = derive { name="FDRreg"; version="0.1"; sha256="17hppvyncbmyqpi7sin9qsrgffrnx8xjcla2ra6y0sqzam1145y4"; depends=[fda Rcpp mosaic Rcpp RcppArmadillo]; };
+FDboost = derive { name="FDboost"; version="0.0-8"; sha256="1xvyndbfd0df6ld7r6f6ajr7i6aql26n9j5ncn6rw5gm0f64s1lq"; depends=[mboost Matrix mgcv zoo MASS]; };
+FFD = derive { name="FFD"; version="1.0-6"; sha256="19yqb45qj54fmjkqfjbcqsx3wz6fk8inrqif9ds93xjkm6aaiqgp"; depends=[tkrplot R2HTML]; };
+FField = derive { name="FField"; version="0.1.0"; sha256="05q16v2vv64qhbnf2l66dwzmvgzyaq8vxwwdabp534bw7z7zpi8q"; depends=[]; };
+FGN = derive { name="FGN"; version="2.0-12"; sha256="0jxawb4wm1vcp0131mdnc0r24dw8sd29ih0fc2wh6ahy7mxzajqn"; depends=[akima ltsa]; };
+FGSG = derive { name="FGSG"; version="1.0.2"; sha256="1r3sjhzf9gcnbcx6rqr1s555z8lcwm3fxl096md2jji336ijlk79"; depends=[]; };
+FGalgorithm = derive { name="FGalgorithm"; version="1.0"; sha256="1dq6yyb3l6c9fzvk9gs6pb240xb5hvc6fh8p3qd3c91b3m289mcc"; depends=[]; };
+FHtest = derive { name="FHtest"; version="1.1"; sha256="0yqy3lvxjhk7biqfikxqlgs9zsy1vlld9pqxhgxmq04gbnjn2jfk"; depends=[interval MLEcens MASS KMsurv]; };
+FI = derive { name="FI"; version="1.0"; sha256="17qzl8qvxklpqrzsmvw4wq3lyqz3zkidr7ihxc4vdzmmz69pyh2f"; depends=[]; };
+FITSio = derive { name="FITSio"; version="2.0-0"; sha256="1gf3i1q9g81gydag2gj1wsy6wi5jj2v4j3lyrnh1n2g4kxd6s3cp"; depends=[]; };
+FKF = derive { name="FKF"; version="0.1.3"; sha256="01ibihca39zng4wrvhq8h28bmb2rnsjm21xy22b85kpn3mbnh7f1"; depends=[RUnit]; };
+FLIM = derive { name="FLIM"; version="1.2"; sha256="180az4zwmfcglmvismyacmh7ri4qg8jvhlisqpway0z5z6fsda6r"; depends=[zoo MASS]; };
+FLLat = derive { name="FLLat"; version="1.1"; sha256="1h2nfx7gb66hjdfkdm6im6n8c1fjdz9csg39pckb47c0khl3g9r0"; depends=[gplots]; };
+FLR = derive { name="FLR"; version="1.0"; sha256="0k50vi73qj7sjps0s6b2hq1cmpa4qr2vwkpd2wv2w1hhhrj8lm0n"; depends=[combinat]; };
+FLSSS = derive { name="FLSSS"; version="3.1"; sha256="0cyrjq1b0s7x0dz3x2kvd7pr8v4lyw1324ik4rnbj9hv9mf1g0af"; depends=[Rcpp Rcpp]; };
+FME = derive { name="FME"; version="1.3.2"; sha256="1sjnsc8jbylb2bln5ic24s5bany3clzn44lqnymhsy81x88396ff"; depends=[deSolve rootSolve coda minpack_lm MASS]; };
+FMStable = derive { name="FMStable"; version="0.1-2"; sha256="00viigpqfbqc4hyl9cwicbwqf2ksjak28qrqaa16jhbqz93j4fck"; depends=[]; };
+FNN = derive { name="FNN"; version="1.1"; sha256="1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj"; depends=[]; };
+FPDclustering = derive { name="FPDclustering"; version="1.0"; sha256="078vvpn9lwza45l9k53m3yzhrkkyakm1ynm93x5yld4fgkrd3c33"; depends=[ThreeWay]; };
+FRACTION = derive { name="FRACTION"; version="1.0"; sha256="0g25dzsbharsq8bzfka96zccaqppdclax24mz5m080ddg4y8zj49"; depends=[]; };
+FRAPO = derive { name="FRAPO"; version="0.3-8"; sha256="1wqayyai8pdm1vq6qvpd10qpd882cyjb0y0jl582fxd3a2ic7n14"; depends=[quadprog Rglpk timeSeries]; };
+FRB = derive { name="FRB"; version="1.8"; sha256="13rp4gqldx84mngrdv5fa9xamkng7b3kgy30ywykcx46gmrym6ps"; depends=[corpcor rrcov]; };
+FRCC = derive { name="FRCC"; version="1.0"; sha256="1g1rsdqsvwf7wc16dj16y6r0347j8jsv5l1pxvj1h0579zinaf2b"; depends=[CCP MASS calibrate corpcor]; };
+FREQ = derive { name="FREQ"; version="1.0"; sha256="01nra30pbnqdd63pa87lcws3hnhhzybcjvx2jqyxjghn6khz47j0"; depends=[]; };
+FRESA_CAD = derive { name="FRESA.CAD"; version="2.0.2"; sha256="1clnv18d6f747725ayksas3c2hng1bkb4zss44avfqh9q1y0z1iy"; depends=[Rcpp stringr miscTools Hmisc pROC Rcpp RcppArmadillo]; };
+FSelector = derive { name="FSelector"; version="0.20"; sha256="0gbnm48x5myhxxw8gz7ck9sl41nj5rxq4gwifqk3l4kiqphywlpi"; depends=[randomForest RWeka digest entropy]; };
+FTICRMS = derive { name="FTICRMS"; version="0.8"; sha256="0kv02mdmwflhqdrkhzb55si5qnqqgdadgyabqc2hwr6iccn7aq8c"; depends=[Matrix lattice]; };
+FWDselect = derive { name="FWDselect"; version="1.1"; sha256="1snamrzf0cqcm6sc5vr1b0scgy83jgr5hgsf2cjb3vi3j01hz9wd"; depends=[mgcv]; };
+FacPad = derive { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[Rlab MASS]; };
+FactMixtAnalysis = derive { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; };
+FactoClass = derive { name="FactoClass"; version="1.1.1"; sha256="0m5108g2nhdwqqmkn04l1x0kx32ikkhcz6gki0hpj9hlzrkya5w6"; depends=[ade4 xtable]; };
+FactoMineR = derive { name="FactoMineR"; version="1.29"; sha256="08pyp8z9xhy9f1mrcgdm13xqrca63xhpyarkq5fg7hv0ncs68s1h"; depends=[MASS ellipse lattice cluster scatterplot3d leaps flashClust]; };
+Factoshiny = derive { name="Factoshiny"; version="1.0"; sha256="0r8xnnmf2c0nhddgzwsfb86ajpirkr1788phhcjdap1w9k67nsy9"; depends=[FactoMineR shiny]; };
+Fahrmeir = derive { name="Fahrmeir"; version="2012.04-0"; sha256="1axx6r4g6gj1inih41i2az4y0d3jq9x1a6nyj8k7wp51z4z2nbmk"; depends=[]; };
+Familias = derive { name="Familias"; version="2.2"; sha256="1nhjxn3f063gvi4jvwb8r4fap7f1zbcvb6qa30153yh31yprljls"; depends=[kinship2 paramlink]; };
+FastHCS = derive { name="FastHCS"; version="0.0.4"; sha256="11ddp1xy1cmnfbsvabyw0y2wdj4z1brqykji75y7wwchf71m2bps"; depends=[matrixStats rrcov Rcpp RcppEigen]; };
+FastImputation = derive { name="FastImputation"; version="1.2"; sha256="04bz623kcanxcl9z8zl6m7m47pk0szcjrjlgs5v1yl3jnq9m2n7g"; depends=[]; };
+FastKNN = derive { name="FastKNN"; version="0.0.1"; sha256="1iz8ybzkvbyqwb00s7cp1zvy9xlmyjid441mf62dq08a0zncnyss"; depends=[pdist assertthat]; };
+FastPCS = derive { name="FastPCS"; version="0.1.2"; sha256="1lqb6g65vna2p7kc2y4kc5piy3280nlxl41bdkxkng2icmq14l58"; depends=[matrixStats Rcpp RcppEigen]; };
+FastRCS = derive { name="FastRCS"; version="0.0.6"; sha256="0wjsh37jas8hcb9554ijvwj0k8dx96fjf88bzgy7nbim2byiy8p8"; depends=[matrixStats Rcpp RcppEigen]; };
+FastRWeb = derive { name="FastRWeb"; version="1.1-0"; sha256="1hiabi7ibp69n5wi5x4kwznxhc2i7dxdrqf1fm6ppv7ix0wkjs07"; depends=[Cairo]; };
+FatTailsR = derive { name="FatTailsR"; version="1.0-3"; sha256="0r9n18qlr70p6y4v1xv1lxi1lzm9qp29qy4w51chllqjn15kmv7l"; depends=[minpack_lm]; };
+FeaLect = derive { name="FeaLect"; version="1.8"; sha256="04vmf89kgn7hh9wzj6b654546d3jvz0zz675xhcd11gjzlsp8pgc"; depends=[lars rms]; };
+FeatureHashing = derive { name="FeatureHashing"; version="0.8"; sha256="05300709d4k5fxyajvdjhwy7br558g81agfrp9pqa2y0v0qx2zkw"; depends=[Rcpp Matrix digest Rcpp digest BH]; };
+FedData = derive { name="FedData"; version="1.0"; sha256="1rg35w0450fsy41i3q1j5zdxsik6r47zryba6878pzc429lrx2sn"; depends=[sp raster rgdal igraph Hmisc]; };
+FeedbackTS = derive { name="FeedbackTS"; version="1.3.1"; sha256="1zx64wbl5pzqn69bjhshd3nayxx4wlg7n1zwv7ilh68raxfxnbbx"; depends=[maps mapdata proj4 geoR sp]; };
+FieldSim = derive { name="FieldSim"; version="3.2.1"; sha256="1snz2wja3lsgxys0mdlrjjvk5575cyd64mjipafibwcs97bva5x1"; depends=[rgl RColorBrewer]; };
+FinAsym = derive { name="FinAsym"; version="1.0"; sha256="0v15ydz4sq9djwcdcfp90mk8l951rry7h91d7asgg53mddbxjj6f"; depends=[]; };
+FinCal = derive { name="FinCal"; version="0.6"; sha256="0slw5s7gilmv0j8iwhz27lss2gbrj2l8zqv7bqywr1yf0hw2nxn7"; depends=[ggplot2 reshape2 scales RCurl]; };
+FinCovRegularization = derive { name="FinCovRegularization"; version="1.0.0"; sha256="0da7asm4mvbd4wvqll5gdvckb10ccfx7gy141xbxyaixdhgi6zl4"; depends=[quadprog]; };
+FinTS = derive { name="FinTS"; version="0.4-5"; sha256="16m57h6rk4344aalfwaz7hsyis30c1dirsyx8ih661ihgqn1ai1r"; depends=[zoo]; };
+FinancialInstrument = derive { name="FinancialInstrument"; version="1.2.0"; sha256="0lx8gqmnapyizlg0qdcjy8xrkpbhj0f7nc95l86a6xy82hz62dzb"; depends=[quantmod zoo xts TTR]; };
+FindAllRoots = derive { name="FindAllRoots"; version="1.0"; sha256="0n4wfm21qj5zn06jqnzxa0w9mfn18dqi6hk1jjqa56dxqw1k7vw0"; depends=[]; };
+FindIt = derive { name="FindIt"; version="0.5"; sha256="0bj4al4b7na3w5y783nqyd2wc1pmwfmgf2p4q6n7vqbzqghy0a3q"; depends=[glmnet lars Matrix]; };
+FindMinIC = derive { name="FindMinIC"; version="1.6"; sha256="0vlr56nw32msvz8bljrw82nzrnazncs6nz7zisidffm2v3najkar"; depends=[nlme sets]; };
+FisHiCal = derive { name="FisHiCal"; version="1.1"; sha256="1dds629jlja3vw2l010n1334yh3z10nijqksr0q98ckd2yrwg2rf"; depends=[igraph RcppArmadillo Rcpp RcppArmadillo]; };
+FisherEM = derive { name="FisherEM"; version="1.4"; sha256="1lhkyyk82i6alxyiqrvy5fx60f8vab0y62zmw5fjaq6h0vczqn3s"; depends=[MASS elasticnet]; };
+FitAR = derive { name="FitAR"; version="1.94"; sha256="1mkk3kvfq4v0pdabnhbwrk31ji2mv2v6ns16xsvvr1qyg2fnx6hq"; depends=[lattice leaps ltsa bestglm lattice leaps ltsa]; };
+FitARMA = derive { name="FitARMA"; version="1.6"; sha256="1r9mqrqkm4wh3nd6v9wmpj23gw21i4p89p6z4c7639kn4f590ldk"; depends=[FitAR]; };
+FluOMatic = derive { name="FluOMatic"; version="1.0"; sha256="06hww6viynisnfiphvghv4iqf1gk2snb8aksignaw8pnlkixnsg7"; depends=[]; };
+Flury = derive { name="Flury"; version="0.1-3"; sha256="105fv9azjkd8bsb9b8ba3gpy3pjnyyyp753qhrd11byp3d0bbxy0"; depends=[]; };
+ForIT = derive { name="ForIT"; version="1.0"; sha256="0mi2cw09mbc54s8qwcwxin2na1gfyi60cdssy2ncynma7alq3733"; depends=[]; };
+ForImp = derive { name="ForImp"; version="1.0.3"; sha256="0ai4i6q233sdsi8xilpbkxjqdf4pxw93clkdkhcxal6q43rnf7vd"; depends=[homals sampling mvtnorm]; };
+ForeCA = derive { name="ForeCA"; version="0.2.0"; sha256="06p8rcaswl85658w2insfi3qw3ygqdp13zccxn6c2dgj5qxkydpd"; depends=[ifultools MASS sapa]; };
+FormalSeries = derive { name="FormalSeries"; version="1.0"; sha256="09m4ifinasww0xfprs29xsrqhxxkw9zffb3919xnkkjkwp0nax4v"; depends=[]; };
+Formula = derive { name="Formula"; version="1.2-0"; sha256="1rf4jkx7546aqwv5dsssi956r6mvr6m90wrx0d5dvy2d0ykhcnw9"; depends=[]; };
+ForwardSearch = derive { name="ForwardSearch"; version="1.0"; sha256="0yd47832piqxzjxgl7bc8pn0c8f7vbgsm9z6894rzyi615kjl70b"; depends=[robustbase]; };
+FourScores = derive { name="FourScores"; version="1.0"; sha256="0d21mrl9bzsvhljv7ymiyck508smp66w9qivrb2rp0p803h9yibm"; depends=[]; };
+FrF2 = derive { name="FrF2"; version="1.7-1"; sha256="0i9hfx7n0g866imdsmalqzs8v95vx08cz97hi8311v1wc3pqsn1j"; depends=[DoE_base sfsmisc BsMD scatterplot3d igraph]; };
+FrF2_catlg128 = derive { name="FrF2.catlg128"; version="1.2-1"; sha256="0i4m5zb9dazpvmnp8wh3k51bm0vykh4gncnhdg71mfk4hzrfpdac"; depends=[FrF2]; };
+Frames2 = derive { name="Frames2"; version="0.1.0"; sha256="06rmpp2ckdy42zi65f0xg9x8hgfh8hdx9an53nq3xgpz3vhaxavg"; depends=[sampling]; };
+FreeSortR = derive { name="FreeSortR"; version="1.1"; sha256="03z5wmr88gr6raa2cg7w4j6y5vgxr3g8b8axzhbd7jipswr5x1jf"; depends=[smacof vegan ellipse]; };
+FunChisq = derive { name="FunChisq"; version="2.0.2"; sha256="0j767iwf1hr7r532hdkrl9q2xiz997gd3rc7aca18fj743w6ras9"; depends=[Rcpp BH Rcpp RcppClassic]; };
+FunCluster = derive { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[Hmisc cluster]; };
+FuncMap = derive { name="FuncMap"; version="1.0-3"; sha256="0bhx7y1n75r3jwf5mkx2i2bqfjgzxgsw58nwhfl48ldibgx7h1qs"; depends=[mvbutils]; };
+Funclustering = derive { name="Funclustering"; version="1.0.1"; sha256="0i6g98mfgdyc9hdzvviynrgqhkzicp8y6s0scqy3ifgk9h1k79dw"; depends=[fda Rcpp Rcpp RcppEigen]; };
+FunctionalNetworks = derive { name="FunctionalNetworks"; version="1.0.0"; sha256="071hjgiccbrf1gxrh7niw2w1p6vgc77qvrildi59xhk53qcwzqdp"; depends=[]; };
+FusedPCA = derive { name="FusedPCA"; version="0.2"; sha256="0z4kvm6mn11fmc8w62aky2binjdcgrw4ij5vg65sb55da9s8d2kd"; depends=[genlasso]; };
+FuzzyNumbers = derive { name="FuzzyNumbers"; version="0.4-1"; sha256="15i0chp43y8xfyzkjrbljmdvgjjx9w1l5ayhvavk9y85pwb147b8"; depends=[]; };
+FuzzyStatProb = derive { name="FuzzyStatProb"; version="2.0"; sha256="06s45w18airrrs5ppy325idv4yi6nf69nrs18gha55kb2xvjq3km"; depends=[MultinomialCI FuzzyNumbers DEoptim]; };
+FuzzyToolkitUoN = derive { name="FuzzyToolkitUoN"; version="1.0"; sha256="104s45mmlam67vwpshhpns2mgwvmhnbj8w1918jyk2r5mqibwz06"; depends=[]; };
+G1DBN = derive { name="G1DBN"; version="3.1.1"; sha256="015rw3bpz32a8254janddgg1ip947qgcvmiwx5r3v7g8n854bwxn"; depends=[MASS igraph]; };
+G2Sd = derive { name="G2Sd"; version="2.1.3"; sha256="02j30mfrzi4q3a387i0cr4khj2hzf7jrlyj06qc8bwlhz0f4l35m"; depends=[shiny xlsx rJava xlsxjars reshape2 ggplot2]; };
+GA = derive { name="GA"; version="2.2"; sha256="1pk80jwzvpmi61df0y331qvl8jkdizblg93s7gaspkbzy50wyfkp"; depends=[foreach iterators]; };
+GA4Stratification = derive { name="GA4Stratification"; version="1.0"; sha256="0li23mrxjx72fir16j3q06fa32cicck4pfc30n0dy2lysf81m9gs"; depends=[]; };
+GABi = derive { name="GABi"; version="0.1"; sha256="1zmiaqbd1jrpiz9hk16s8rggcpl3xyyhjkkdliymx2p42vy5b5mf"; depends=[hash]; };
+GAD = derive { name="GAD"; version="1.1.1"; sha256="0lyrw0d7i7yn1wkqlbf3rg3dnijfwsjn3kdbsg19hmvwq6qpsak2"; depends=[matrixStats R_methodsS3]; };
+GAIPE = derive { name="GAIPE"; version="1.0"; sha256="04iarbwxrhn48bk329wxis7ifzndi67kpjx6dcakawkh3g2mzsfz"; depends=[]; };
+GAMBoost = derive { name="GAMBoost"; version="1.2-3"; sha256="0450h9zf12r524lxk1lrv9imvvkk6fmyd3chnxp18nnvys7215pv"; depends=[Matrix]; };
+GANPA = derive { name="GANPA"; version="1.0"; sha256="0ia8djv46jm397nxjrm9yc5gacf1r4z0ckiliz57cbrqwh7z2wpa"; depends=[GANPAdata]; };
+GANPAdata = derive { name="GANPAdata"; version="1.0"; sha256="0mhdadl7zgsacn59ym42magg3214k1xhabwn78fv7kgccszcgc86"; depends=[]; };
+GAR = derive { name="GAR"; version="1.0"; sha256="1278rdln23pl5ay87nb6w15ywdh6ls8hx8k0nb48ab4ysjqf6r04"; depends=[httr jsonlite]; };
+GAabbreviate = derive { name="GAabbreviate"; version="1.0"; sha256="0c9407i6dq7psw744fpkf190as99fssd9n9k0xbvwif10agm278l"; depends=[GA psych]; };
+GB2 = derive { name="GB2"; version="1.2"; sha256="1b5mkgn8c26bmi9ndzsqqp22vxqssy4nya1yysrl5wssjgicpdzs"; depends=[cubature hypergeo laeken numDeriv]; };
+GCAI_bias = derive { name="GCAI.bias"; version="1.0"; sha256="10092mwpmfbcga0n39a0i6g8xxch8xiwg15cckipw6yxjyx0sivc"; depends=[]; };
+GCD = derive { name="GCD"; version="3.0.4"; sha256="1mrgscbrljfyzxprclyw9rcwlkcnifm15kkkapkv56c5ms2ic2i5"; depends=[sp raster ggplot2]; };
+GCPM = derive { name="GCPM"; version="1.1.1"; sha256="1wm7nmqj88j1pd2s1lvi6z1fizm3q3cl7vbzp88vbhpij4rnk4jl"; depends=[Rcpp RcppProgress Rcpp RcppProgress]; };
+GDAtools = derive { name="GDAtools"; version="1.3"; sha256="1av29mllix0az4n85vxh1344j6jmy103hd78ibjwxalm620rp7ns"; depends=[FactoMineR]; };
+GDELTtools = derive { name="GDELTtools"; version="1.2"; sha256="1rx6kjh7kmyycqapvbizcxkcfp09qvqv7k8f25v333sxkacpz6p5"; depends=[plyr TimeWarp]; };
+GENEAread = derive { name="GENEAread"; version="1.1.1"; sha256="0c3d76yl8dqclk8zhhgrd6bv6b599vkpbyg3hjspb6npdw6zs6k8"; depends=[bitops]; };
+GENLIB = derive { name="GENLIB"; version="1.0.3"; sha256="0c1x9kjff1071d0jkzjhj9j6syb442r0a4d929daq6j9jcbly4q6"; depends=[Rcpp kinship2 bootstrap Matrix lattice quadprog foreach doParallel Rcpp]; };
+GEOmap = derive { name="GEOmap"; version="2.2-2"; sha256="1kp9sdp51zcz98bk03pknya9g5fhz2i677wgacabq402yjhfgn80"; depends=[RPMG splancs MBA]; };
+GESTr = derive { name="GESTr"; version="0.1"; sha256="1q12l2vcq6bcyybnknrmfbm6rpzcmxgq2vyj33xwhkmm9g2ii9k6"; depends=[mclust gtools]; };
+GEVStableGarch = derive { name="GEVStableGarch"; version="1.0"; sha256="007s7lbfpp1bqnyg08rwarsmkxlx16p4is1k3736fmnri9sfp7z6"; depends=[fGarch fExtremes stabledist skewt Rsolnp]; };
+GEVcdn = derive { name="GEVcdn"; version="1.1.3"; sha256="13p6hkdybs8s2i363z2a65yijqarwj9swvy22ljk61shf2nzbk80"; depends=[VGAM]; };
+GExMap = derive { name="GExMap"; version="1.1.3"; sha256="1a6i2z9ndgia4v96nkr77cjqnbgxigqbqlibg82gwa0a6pl7r7nz"; depends=[]; };
+GGEBiplotGUI = derive { name="GGEBiplotGUI"; version="1.0-8"; sha256="0bkagsm9mkcghc2q46cc86kjajzgjbq9588v0v2bp71qw8m97mbh"; depends=[rgl tkrplot]; };
+GGIR = derive { name="GGIR"; version="1.1-4"; sha256="1z1dwnx8lpj3xk7fdfm6sidbxpfgxjw9righ1kdnjw9g1nnkp29x"; depends=[]; };
+GGMselect = derive { name="GGMselect"; version="0.1-9"; sha256="18l98v6hv0sjhany275lsbdjwclx3abqfi924n9qlcnap1rvsfwz"; depends=[mvtnorm lars gtools]; };
+GGally = derive { name="GGally"; version="0.5.0"; sha256="00ix8qafi71l7vhj6268f9srqbgr9iw1qk0202y59mhfrj6c6f5i"; depends=[ggplot2 gtable plyr reshape stringr]; };
+GHQp = derive { name="GHQp"; version="1.0"; sha256="0qpcpwv7rz67qhz1p5k2im02jvs7l8z9sa6ypz13hig5fzm8j9bp"; depends=[statmod]; };
+GIGrvg = derive { name="GIGrvg"; version="0.3"; sha256="014srgh79g8y9fcj979v3md9qqx9i6b6fx6lw0r0qdrg4v6bvr76"; depends=[]; };
+GISTools = derive { name="GISTools"; version="0.7-4"; sha256="06alb5d2k4qj344i9cpgm3lz9m68rkmjqfx5k2hzn7z458xjrlxs"; depends=[maptools sp RColorBrewer MASS rgeos]; };
+GLDEX = derive { name="GLDEX"; version="2.0.0.2"; sha256="16vy50jgk9b57h9f48097m17zrla6ksmi3wm4z2yadfg81sg8721"; depends=[cluster]; };
+GLDreg = derive { name="GLDreg"; version="1.0.2"; sha256="179qjcsfgzcw39gmmwlz9h608cq865kz2lvh76dwgyyn519l3y8g"; depends=[GLDEX]; };
+GLSME = derive { name="GLSME"; version="1.0.2"; sha256="1zdqrji8x0f3wjl8bhpbnwdfklihv3ii20iz2y2gsm53yzw7dlwq"; depends=[mvtnorm corpcor]; };
+GMCM = derive { name="GMCM"; version="1.1.1"; sha256="181in94mdc6fka0l4a6vc84n295pgsv18yf5mgf59qfmz8vjxi4n"; depends=[Rcpp Rcpp RcppArmadillo]; };
+GMD = derive { name="GMD"; version="0.3.3"; sha256="0hdya8ai210wxnkfra9bzyswk3gib5fm53fs61rh0nsmg3ysdga6"; depends=[gplots]; };
+GMDH = derive { name="GMDH"; version="1.0"; sha256="194bx1gg0d50fq9002ga8lwx288csfk5vfr1qwkn886wiw97wl9n"; depends=[MASS]; };
+GMMBoost = derive { name="GMMBoost"; version="1.1.2"; sha256="01q165vkdiv4qh96lha0g2g94jpnzdclbby6q43ghh9j1yrd4qzj"; depends=[minqa magic]; };
+GNE = derive { name="GNE"; version="0.99-0"; sha256="1iwlh1mx8z24hgry78i5sqfrbqqp4946x1jxh6h7z1vxs7qfpq0v"; depends=[alabama nleqslv BB SQUAREM]; };
+GOGANPA = derive { name="GOGANPA"; version="1.0"; sha256="1xbir21zvr5hv2y6nndzpsrpmnr7glrc7y6xgcyb856wx46ajan9"; depends=[GANPA WGCNA]; };
+GOplot = derive { name="GOplot"; version="1.0"; sha256="15ix1lcbxf63bmxvjsy7y2nz55wf539xii8rb7lf788jplh47gb6"; depends=[ggplot2 ggdendro gridExtra RColorBrewer]; };
+GPArotation = derive { name="GPArotation"; version="2014.11-1"; sha256="15jh5qqqwx47ara6glilzha87rnih0hs5fsz0jjqwv6wr1gw26rm"; depends=[]; };
+GPC = derive { name="GPC"; version="0.1"; sha256="1naqy5g6a0z65wssfic5s7cw9v0zjckk526nian3l98ci22sz0j7"; depends=[randtoolbox orthopolynom ks lars]; };
+GPCSIV = derive { name="GPCSIV"; version="0.1.0"; sha256="118l792mwd54xsi3g8afg3vc6wds8j6fyaz3mwmq04mlcyblym4l"; depends=[scatterplot3d sqldf]; };
+GPFDA = derive { name="GPFDA"; version="2.2"; sha256="1xqk03g8b8hi1vdqh6a9wml8ln0ad6lmy14z8k8c4wdc5kbzdr0b"; depends=[fda_usc spam fda MASS]; };
+GPLTR = derive { name="GPLTR"; version="1.1"; sha256="0yp4b3ddvcd6s7rjpbmszl3a0x8qq6s138jjkm135yvbgp1jk5jz"; depends=[rpart]; };
+GPareto = derive { name="GPareto"; version="1.0.0"; sha256="0mzrl4xs7f5rkx0m4lkqy1456dnsa232hprmbg3bpris1rla780b"; depends=[DiceKriging emoa Rcpp rgenoud pbivnorm pso randtoolbox KrigInv MASS Rcpp]; };
+GPfit = derive { name="GPfit"; version="0.2-1"; sha256="1r7dmrjilnis4m8v0bibai0bkm3iwka4zxzrda8r49wmcpf99n2d"; depends=[lhs lattice]; };
+GPseq = derive { name="GPseq"; version="0.5"; sha256="0k5xif44qk2ppvcyja16xshmfciq1h84l1w6d8dfkyryfajbc8ai"; depends=[]; };
+GPvam = derive { name="GPvam"; version="3.0-2"; sha256="160j0zwbcmvzvia1b5p5midf395xfv1frk2w6w3v2zpbn8h6pdz5"; depends=[Rcpp RcppArmadillo Matrix numDeriv Rcpp RcppArmadillo]; };
+GRTo = derive { name="GRTo"; version="1.2"; sha256="0x65g8a39vrb8m3hqajxi0ksmdavz0p6mlamqprkdn9p6ikf5c73"; depends=[bootstrap]; };
+GRaF = derive { name="GRaF"; version="0.1-12"; sha256="1d7mr2z49v6ch4jbzh0dj2yjy2c5p51ws38xfz233sjz475snajr"; depends=[dismo]; };
+GSA = derive { name="GSA"; version="1.03"; sha256="1h1sbpn1rrdh44w4fx2avc7x24ba40mvpd8b2x5wfrc7a294zf6z"; depends=[]; };
+GSAgm = derive { name="GSAgm"; version="1.0"; sha256="18bhk67rpss6gg1ncaj0nrz0wbfxv7kvy1cxria083vi60z0vwbb"; depends=[survival]; };
+GSE = derive { name="GSE"; version="3.1"; sha256="08xr7w6dsmgs3l8ayihadcvwy0xdzn78fllxa42sk7nfz6waadr3"; depends=[Rcpp MASS ggplot2 Rcpp RcppArmadillo]; };
+GSIF = derive { name="GSIF"; version="0.4-4"; sha256="1z1wa8vlm12dfbidr09zsw98a47jyji9hm0yiplpz593x5c75dji"; depends=[sp RSAGA dismo rgdal raster aqp plotKML gstat plyr]; };
+GSM = derive { name="GSM"; version="1.3.1"; sha256="1ay6znw31qnhz5k6fa0aiccr2xxmnj7v3vzrvlk6y5v5smlvybd0"; depends=[gtools]; };
+GUIDE = derive { name="GUIDE"; version="1.0.9"; sha256="1y0y6rwv1khd9bdaz5rl9nmxiangx0jckgihg16wb6hx6kf8kzc1"; depends=[rpanel tkrplot]; };
+GUILDS = derive { name="GUILDS"; version="1.2"; sha256="0nirrbq8z7axnrgwbykv5886yf3akf64zynza8l2m96nvzlkzf4y"; depends=[Rcpp pracma subplex Rcpp]; };
+GUIProfiler = derive { name="GUIProfiler"; version="0.1.2"; sha256="1k56clda6xr649xfacnigi3c2s7ih1whchwcfqm7aa2d44vv3axz"; depends=[Nozzle_R1 MASS]; };
+GUTS = derive { name="GUTS"; version="0.3.5"; sha256="10yi18yv3vbm7pn11bbj3baxqga5yymilabf56bc18prpirnw51b"; depends=[Rcpp Rcpp BH]; };
+GUniFrac = derive { name="GUniFrac"; version="1.0"; sha256="0xr68yv3h2lwn7sxy8l5p9g1z3q9hihg9jamsyl70jj9b2ic80jn"; depends=[vegan ape]; };
+GWAF = derive { name="GWAF"; version="2.2"; sha256="11lk1dy24y1d0biihy2aypdvlx569lw1pfjs51m54rhgpwzkw6yd"; depends=[geepack coxme lme4]; };
+GWASExactHW = derive { name="GWASExactHW"; version="1.01"; sha256="19qmk8h7kxmn9kzw0x4xns5p3qqz27xkqq4q6zmh4jzizd0fsl78"; depends=[]; };
+GWG = derive { name="GWG"; version="1.0"; sha256="1va0cd229dhhi1lmrkpwapcm96hrdmxilrmba02xnl7ikhisw0my"; depends=[]; };
+GWRM = derive { name="GWRM"; version="1.1"; sha256="1l8rw2nksd1vskjb7kjn93vgrs39bcrr8zz1j66rmkcc399pf6nf"; depends=[]; };
+GWmodel = derive { name="GWmodel"; version="1.2-5"; sha256="14pp1hy4bqr6kg9fy9nchjm6kb3l85f58rl2449b7wv7vsk3yfvk"; depends=[maptools robustbase sp]; };
+GWsignif = derive { name="GWsignif"; version="1.0"; sha256="04663qgy3xmijrx8m1s5ql7zj70mgsd58dl08ci742l1fzmfya5f"; depends=[]; };
+GaDiFPT = derive { name="GaDiFPT"; version="1.0"; sha256="15fnj1w30h0zdj032f3js0bbb1qlyk4b54a4aclykwzicqdgalkg"; depends=[]; };
+GameTheory = derive { name="GameTheory"; version="1.0"; sha256="07v2qhnhczid814isnz4ywf624sds6jxxzayl8mzlnjv5qnk59z8"; depends=[lpSolveAPI combinat gtools ineq kappalab]; };
+Gammareg = derive { name="Gammareg"; version="1.0"; sha256="1a5wibnbd8jg0v8577n1x9kc358qpd4jz7l8h7r541sdpprm6wb0"; depends=[]; };
+GenABEL = derive { name="GenABEL"; version="1.8-0"; sha256="0sd497qvik70iwv7wc8r50rhc5wx153pm8vif738wwqqp43chks3"; depends=[MASS GenABEL_data]; };
+GenABEL_data = derive { name="GenABEL.data"; version="1.0.0"; sha256="0p66fb0gynjx3mnfvnlz45cbn6xf49gwx9mfyxf584xfcggxaa1c"; depends=[]; };
+GenBinomApps = derive { name="GenBinomApps"; version="1.0-2"; sha256="1ps1rq8cjlwh658mysdh3xbn5fihanzcwxb38xvg4031vnwv80in"; depends=[]; };
+GenForImp = derive { name="GenForImp"; version="1.0"; sha256="1wcvi52fclcm6kknbjh4r9bpkc2rg8nk6cddnf5j8zqbvrwf4k5x"; depends=[mvtnorm sn]; };
+GenKern = derive { name="GenKern"; version="1.2-60"; sha256="12qmd9ydizl7h178ndn25i4xscjnrssl5k7bifwv94m0wrgj4x6c"; depends=[KernSmooth]; };
+GenOrd = derive { name="GenOrd"; version="1.2.0"; sha256="1aypz879r2fc8zd7lnd1d2ic3zgx9gpz4gxmfqyhb5gfkg50xhlg"; depends=[mvtnorm Matrix MASS]; };
+GenSA = derive { name="GenSA"; version="1.1.4"; sha256="0ph3n0hv7p8i03by42hl0f2b1kmhpvyvd7rfgay2wl9lknfsq0vv"; depends=[]; };
+GenWin = derive { name="GenWin"; version="0.1"; sha256="0jm537i4jn3azdpvd50y9p0fssfx2ym2n36d3zgnfd32gqckz3s4"; depends=[pspline]; };
+GeneCycle = derive { name="GeneCycle"; version="1.1.2"; sha256="1ghdzdddbv6cnxqd08amy4c4s5jsxa637r828ygffk6z76xjr6b6"; depends=[MASS longitudinal fdrtool]; };
+GeneF = derive { name="GeneF"; version="1.0"; sha256="0bizf47944b2zv9ayxb9rhrqx0ilz2xlvkw7x5vbg7l67y2g2l4d"; depends=[]; };
+GeneFeST = derive { name="GeneFeST"; version="1.0.1"; sha256="0qgzjzhwf3nigfi09maywg9zkjxiicwiwiyqfcdk9gsvmp6mr4qn"; depends=[BASIX]; };
+GeneNet = derive { name="GeneNet"; version="1.2.12"; sha256="0z94ws95nvk7jx5fnrwb81925y14fash1g5pd1mmkkj8njq9kk4l"; depends=[corpcor longitudinal fdrtool igraph]; };
+GeneReg = derive { name="GeneReg"; version="1.1.2"; sha256="081qc66mb17dwk886x9l2z4imklxnfs02yqql0ri9c47bpsga7wp"; depends=[igraph]; };
+Geneland = derive { name="Geneland"; version="4.0.5"; sha256="1v2m8v4sy95rajjw8m9bg4yal5ay7x1k5kqjxrivm45ad546ykwh"; depends=[RandomFields fields]; };
+GeneralizedHyperbolic = derive { name="GeneralizedHyperbolic"; version="0.8-1"; sha256="0rx07z5npawvsah2lhhkryzpj19sg0sl0w410gmff985ksdn285m"; depends=[DistributionUtils RUnit]; };
+GeneticSubsetter = derive { name="GeneticSubsetter"; version="0.5"; sha256="1j04qbnx6j39w16ks3v05hr99lsdsy8sp8af2cfg2mqwk4dy3kx2"; depends=[rrBLUP]; };
+GeneticTools = derive { name="GeneticTools"; version="0.3.1"; sha256="033dwg94ns4mz2ixgn180h6qd783gm492p9qs2nf8498cb4ycg9m"; depends=[gMWT Rcpp plotrix Rcpp RcppArmadillo]; };
+GeoDE = derive { name="GeoDE"; version="1.0"; sha256="0wawkzj0344pprm8g884d7by8v74iw96b109rgm7anal48fl30im"; depends=[Matrix MASS]; };
+GeoGenetix = derive { name="GeoGenetix"; version="0.0.2"; sha256="0rrc8rdf6whpd830s2g9ybz82jcd0il9kkfrjh3xza3b86fasdvg"; depends=[RandomFields]; };
+GeoLight = derive { name="GeoLight"; version="1.03"; sha256="0l2p4rcmk33dj31xy06652mn05d2dhnny3xpzcf12kxyflpipdgr"; depends=[maps changepoint]; };
+GeoXp = derive { name="GeoXp"; version="1.6.2"; sha256="18wdmdwb79ipdjdii068dz9f55b5ldxn95g5q6jcxsqwp0wldvw8"; depends=[quantreg rgl spdep KernSmooth rgeos robustbase splancs]; };
+GetR = derive { name="GetR"; version="0.1"; sha256="1b2wirhz4nhvmf863czwb8z8b42ilsyjjrg9rc4nd9b7nz50bmjg"; depends=[party]; };
+GetoptLong = derive { name="GetoptLong"; version="0.1.0"; sha256="1r86bffsj6s8d71wngspqvfv0gyrrpihf225b4v3c69c05n36qm1"; depends=[rjson GlobalOptions]; };
+GhcnDaily = derive { name="GhcnDaily"; version="1.5"; sha256="1gln1giid5n5b9mxidh90l8ahvcgx968zak2lxr2f9c32pnrpmnp"; depends=[R_utils R_oo R_methodsS3 abind ncdf]; };
+GibbsACOV = derive { name="GibbsACOV"; version="1.1"; sha256="1ikcdsf72sn1zgk527zmxw3zjhx0yvkal6dv001cgkv202842kll"; depends=[MASS]; };
+GillespieSSA = derive { name="GillespieSSA"; version="0.5-4"; sha256="0bs16g8vm9yrv74g94lj8fdfmf1rjj0f04lcnaya7gyak3jhk36q"; depends=[]; };
+Giza = derive { name="Giza"; version="1.0"; sha256="13nkm8mk1v7s85kmp6psvnr1v97vi0gid8rsqyq3x6046pyl5z6v"; depends=[reshape lattice lattice]; };
+GlobalDeviance = derive { name="GlobalDeviance"; version="0.4"; sha256="0s318arq2kmn8fh0rd5hd1h9wmadr9q8yw8ramsjzvdc41bxqq1a"; depends=[snowfall]; };
+GlobalOptions = derive { name="GlobalOptions"; version="0.0.6"; sha256="0g10zf3hn4ns7faffqzc9xbscz9p84vcqhlg4jp9jl063ma2pvqm"; depends=[]; };
+Gmisc = derive { name="Gmisc"; version="1.1"; sha256="1dcnnsjxap50zfx984rxgksjcvqgbb9zxxd03186h4669slh1d0d"; depends=[Rcpp htmlTable lattice Hmisc forestplot abind knitr magrittr Rcpp]; };
+GoFKernel = derive { name="GoFKernel"; version="2.0-5"; sha256="030gcj608nkalscjqs2ad73pwhk4gp5gl1lvm4mc9b39jhki0r70"; depends=[KernSmooth]; };
+GrammR = derive { name="GrammR"; version="1.0.1"; sha256="1dhq4srzxbdbym89dy4gh0c4jjfkljxdnriv4v0yh9g688my1gvn"; depends=[gWidgets RGtk2 gWidgetsRGtk2 MASS cluster rgl GUniFrac ape]; };
+GraphPCA = derive { name="GraphPCA"; version="1.0"; sha256="17ipcp7nh47lfs9jy1aybpz4r172zj5yyrdrgmd6wa7hax8yv8gg"; depends=[ggplot2 FactoMineR scatterplot3d scales]; };
+GrapheR = derive { name="GrapheR"; version="1.9-84"; sha256="1wwks2a4vzhj1rcspizp1vadl6kvrqr8s4zd6pghj02nd266znk9"; depends=[]; };
+GrassmannOptim = derive { name="GrassmannOptim"; version="2.0"; sha256="05r5zg4kf3xd6pp56bl8ldchdxvspxkdfd33b623hndjhn4lj2lq"; depends=[Matrix]; };
+Grid2Polygons = derive { name="Grid2Polygons"; version="0.1-5"; sha256="18hgyx8a75allldsc2ih5i1p7ajkwj2x020cfd2hp18zrc4qyp5n"; depends=[sp rgeos]; };
+GriegSmith = derive { name="GriegSmith"; version="1.0"; sha256="1a7gnaig1wvxpph7d8c37kx51dznzk0457fzf7alw95iwpyb4z7j"; depends=[spatstat]; };
+GroupSeq = derive { name="GroupSeq"; version="1.3.2"; sha256="16n06jw7f97jhafgl9sfvd163v1walhlpmai1hmhiwjvv341sp13"; depends=[]; };
+GuardianR = derive { name="GuardianR"; version="0.5"; sha256="0m5arxz4ih84zg8sf2wy2kg38adraa098gb52vwz93dzdm1dhslw"; depends=[RCurl RJSONIO]; };
+Guerry = derive { name="Guerry"; version="1.6-1"; sha256="1hpp49w2kd1npsd709cwg125pw6mrqxfv2nn3lcs1mg2r49ki2bl"; depends=[]; };
+GxM = derive { name="GxM"; version="1.1"; sha256="02rv8qb46ylk22iqn9cgh63vkyrg9a8nr1d0d3j5hqhi0wyhc41r"; depends=[Rcpp minqa nlme]; };
+HAC = derive { name="HAC"; version="1.0-2"; sha256="0f4him7qpam4s0xxm49xqx0g3nrj87rszm52l376xi63z7r02wbv"; depends=[copula]; };
+HAP_ROR = derive { name="HAP.ROR"; version="1.0"; sha256="1id9amz1cc2l2vnpp0ikbhf8ghbgzqd1b9dfivnyglg7996c3gbg"; depends=[hash ape]; };
+HAPim = derive { name="HAPim"; version="1.3"; sha256="03qy0pxazv3gdq3fck7171ixilb9zi1dwnvc4v7d726g0lvn80pg"; depends=[]; };
+HBSTM = derive { name="HBSTM"; version="1.0.1"; sha256="0bx7dxcfj46k4kqpqb39w4qkm4hvr1ka8d8rws445vkyl31kr0q6"; depends=[MASS fBasics maps]; };
+HDMD = derive { name="HDMD"; version="1.2"; sha256="0na0z08fdf47ghfl2r3fp9qg5pi99kvp7liymwxym2wglkwl4chq"; depends=[psych MASS]; };
+HDPenReg = derive { name="HDPenReg"; version="0.91"; sha256="0q63pm39ivka64f7rhad6bv0yr1b2b3241ln8gqfnal25qw31w82"; depends=[rtkpp rtkpp]; };
+HDclassif = derive { name="HDclassif"; version="1.2.3"; sha256="1ss30cjq352cr3v5blpdywycfv2ik200mvj54y8qihc811mash6h"; depends=[MASS]; };
+HDtweedie = derive { name="HDtweedie"; version="1.1"; sha256="14awd7sws0464f68f5xwnv1xvr0xflvx2z2zzcfj1csvk3af0zzj"; depends=[]; };
+HEAT = derive { name="HEAT"; version="1.2"; sha256="1qifqd06ifl0f5l44mkxapnkwhpm0b82yq6dhfw4f8yhb27wd0z2"; depends=[]; };
+HGNChelper = derive { name="HGNChelper"; version="0.3.1"; sha256="0vidw7gdvr0i4l175ic5ya8q2x2jj0v2vc7fagzrp2mcy7fn1y6a"; depends=[]; };
+HH = derive { name="HH"; version="3.1-15"; sha256="030yfg1vx4ns0v2623axi1n6jdfi520fsjvln196gjw7dzdsm1gh"; depends=[lattice latticeExtra multcomp gridExtra reshape2 leaps vcd colorspace RColorBrewer Rcmdr shiny]; };
+HHG = derive { name="HHG"; version="1.4"; sha256="048jbwhrbgp1pv2j6sw234ykdn7bgpa49slwh3p5547nl2cwjysg"; depends=[]; };
+HI = derive { name="HI"; version="0.4"; sha256="0i7y4zcdr6wcjy43lz9h8glzpdv0pz7livr95xb1j4p8zafykday"; depends=[]; };
+HIV_LifeTables = derive { name="HIV.LifeTables"; version="0.1"; sha256="0qa5n9w5d5l1kr4827a34581q380xmpyzmmhhl300z1jwr0j94df"; depends=[]; };
+HIest = derive { name="HIest"; version="2.0"; sha256="0ik55kxhzjyg6z6072iz9nfaj7x1nvf91l1kysgvkjccr6jf3y86"; depends=[nnet]; };
+HK80 = derive { name="HK80"; version="0.0.1"; sha256="1qhknrqpspxrdxzf5kakans94db58bbhgpblvpwcyw4jrjmm0ng7"; depends=[]; };
+HLMdiag = derive { name="HLMdiag"; version="0.2.5"; sha256="1yim9m5q1m112aj7zhsw345l32bdj7lbw2mqpcxhjzv1lcknm5lq"; depends=[lme4 ggplot2 plyr reshape2 MASS Matrix Rcpp Rcpp RcppArmadillo]; };
+HLSM = derive { name="HLSM"; version="0.4"; sha256="115215fiaib6ndvzb3gn80l636ddxp0dxrnph8pnh16b3b6q2jnk"; depends=[MASS coda]; };
+HMM = derive { name="HMM"; version="1.0"; sha256="0z0hcqfixx1l2a6d3lpy5hmh0n4gjgs0jnck441akpp3vh37glzw"; depends=[]; };
+HMMCont = derive { name="HMMCont"; version="1.0"; sha256="1drni4f72x83sprn65wnhw0pv1q8lfkgmxdr9h4rwv1accril85x"; depends=[]; };
+HMMpa = derive { name="HMMpa"; version="1.0"; sha256="14r2axg42by49qm6avgv7g3xnc29bxlrni5fhc5vdz0wygkcrqhn"; depends=[]; };
+HMP = derive { name="HMP"; version="1.3.1"; sha256="1r39mq8j071khza37ck7w4kvk1di71hhn5m4wnx9dak7nlcq2nwx"; depends=[MCMCpack dirmult]; };
+HMPTrees = derive { name="HMPTrees"; version="1.2"; sha256="0agp8w7rzr1byj01di89r3qy1vb9inb2zgys78mg8jnk7axi925l"; depends=[ape]; };
+HMR = derive { name="HMR"; version="0.4.1"; sha256="1acaph5q6vgi4c7liv7xsc3crhp23nib5q44aszxhramky0gvaqr"; depends=[]; };
+HPbayes = derive { name="HPbayes"; version="0.1"; sha256="1kpqnv7ymf95sgb0ik7npc4qfkzc1zb483vwnjpba4f42jhf508y"; depends=[MASS mvtnorm corpcor numDeriv boot]; };
+HSAUR = derive { name="HSAUR"; version="1.3-6"; sha256="1872diskd9yz76x0z6yjg6dn1dxh479ybnja8vcly9fr8jb0kqqj"; depends=[]; };
+HSAUR2 = derive { name="HSAUR2"; version="1.1-13"; sha256="13b14m2cknicahvprkn3kmjk1sir7a10vkaq63niinfirw603fa9"; depends=[]; };
+HSAUR3 = derive { name="HSAUR3"; version="1.0-4"; sha256="1m2nqvm0ma5rmwwn27nzzyjzq8c0awsrrjjrnyaj50bcnmg0x0k6"; depends=[]; };
+HSROC = derive { name="HSROC"; version="2.1.8"; sha256="056g6iygrddmpmg5nnilqrlw2xavmcc9q07z942vc2nivw06h346"; depends=[lattice coda MASS MCMCpack]; };
+HSSVD = derive { name="HSSVD"; version="1.2"; sha256="1k7ga397grl0r4p0ipjgw5xlafb2528rpww67bw7mmy01w87a1cc"; depends=[bcv]; };
+HTMLUtils = derive { name="HTMLUtils"; version="0.1.7"; sha256="05y505jazzahnd6jsp3plqz8hd75991hhhcpcdn8093rinb1f8l1"; depends=[R2HTML]; };
+HTSCluster = derive { name="HTSCluster"; version="2.0.4"; sha256="1kvq118hqxc81n88g4bq10lh84dydrqqhzig246wf3f97ajvq7y0"; depends=[capushe poisson_glm_mix plotrix]; };
+HUM = derive { name="HUM"; version="1.0"; sha256="1bq74l88jvscmq9ihv5wn06w2wng073ybvqb2bdx2dmiqlpv6jw2"; depends=[gtools Rcpp rgl Rcpp]; };
+HW_pval = derive { name="HW.pval"; version="1.0"; sha256="14nmyqw2d9cmn64789yc54fmiqanh6n1dizp7vj94h7b0jwq63yy"; depends=[]; };
+HWEBayes = derive { name="HWEBayes"; version="1.4"; sha256="1rbffx6pn031a278ps9aqxcaq8yi73s5kf60za143ysbfxv9dphw"; depends=[MCMCpack mvtnorm]; };
+HWEintrinsic = derive { name="HWEintrinsic"; version="1.2.1"; sha256="1sg5lrc6kl5rr6f5awp100qpd1679745kixasiddiggzd8fhgb7q"; depends=[]; };
+HWxtest = derive { name="HWxtest"; version="1.0.5"; sha256="01pvi87g5sfglbdv38ik9f47fah3gs7d75d6kgn5xkjb6b2af9d7"; depends=[]; };
+HadoopStreaming = derive { name="HadoopStreaming"; version="0.2"; sha256="1l9msaizjvnsj1jrpghj4g057qifdgg6vbqhfxhn1fiqdqi2056q"; depends=[getopt]; };
+HandTill2001 = derive { name="HandTill2001"; version="0.2-9"; sha256="1j4ivxarm3k9sj05824lv6b03apyabpciv4mp253vv0yzjcp2bzf"; depends=[]; };
+Hankel = derive { name="Hankel"; version="0.0-1"; sha256="0g3b0ji8hw29k0wxxvlnbcm0z91p4vbajbrhm6cqbccjq85lg4si"; depends=[]; };
+HapEstXXR = derive { name="HapEstXXR"; version="0.1-7"; sha256="1jarb0465yymb08r8dr0mn6qlwbf0y0c4ipvxvcfwlvqalbp2kd6"; depends=[survival]; };
+Haplin = derive { name="Haplin"; version="5.3"; sha256="1gfg9dhgw42yjd1i8knnjvc2y2fbdc2ypa396g48hmsnislqffsd"; depends=[MASS mgcv GenABEL DatABEL filehash]; };
+HaploSim = derive { name="HaploSim"; version="1.8.4"; sha256="0794f76hc9qvjmay7c61cmzycqafljs0g0hliq9xfrw4f23gq3sa"; depends=[]; };
+HardyWeinberg = derive { name="HardyWeinberg"; version="1.5.5"; sha256="1kz12301bi2880i9ds7wvc6yb5hvrs3fr5689fm1yygkqfq8zc56"; depends=[mice]; };
+HiClimR = derive { name="HiClimR"; version="1.1.6"; sha256="0x63vh8sk5a37dal5s6j8pkxxym8f8f0cjjinriys5pi8iq6yfmr"; depends=[]; };
+HiCseg = derive { name="HiCseg"; version="1.1"; sha256="19581k3g71wrznyqrp4hmspqyzcbcfbc48xgjlq13zmqii45hcn6"; depends=[]; };
+HiDimDA = derive { name="HiDimDA"; version="0.2-2"; sha256="0y45c7yi20ixr7d8zmjsbxsc9kvvwpdw49qncpz5l5wmdmzhy8mm"; depends=[]; };
+HiDimMaxStable = derive { name="HiDimMaxStable"; version="0.1.1"; sha256="0gscdjm48yyf8h3bn6xjbjlfc1hwbbh5j6v64c0z3d04h9q35c24"; depends=[copula mnormt partitions maxLik mnormpow VGAM]; };
+HiLMM = derive { name="HiLMM"; version="1.0"; sha256="1x3my51vzxlk9q7vj2ljpqinxw777953mhgzvbqildph4szh4xh4"; depends=[]; };
+HiPLARM = derive { name="HiPLARM"; version="0.1"; sha256="0af68gfmc89nn1chmqay6ix0zygcp1hmylj02i7l6rx6vb06qw6w"; depends=[Matrix]; };
+HiddenMarkov = derive { name="HiddenMarkov"; version="1.8-1"; sha256="13c5g6wryzry1rvqcfpkjm9vibc6lv864fvcjmr2z8ianiqrrn6p"; depends=[]; };
+HierO = derive { name="HierO"; version="0.2"; sha256="1lqj5grjly4kzxl7wb192aagz2kdvpnjdan2kcg5yxwvg1xcvwv1"; depends=[rneos RCurl bitops XML tcltk2]; };
+HistDAWass = derive { name="HistDAWass"; version="0.1.2"; sha256="16c4b9nfl6rbca7zifb2q3c5x60rmj32913hw1f79xs9ffdrnkwr"; depends=[FactoMineR class ggplot2 histogram]; };
+HistData = derive { name="HistData"; version="0.7-5"; sha256="17s64hfs7r77p0wjzpbgz9wp3gjzbly2d0v784f9m2bka8gj6xhr"; depends=[]; };
+HistogramTools = derive { name="HistogramTools"; version="0.3.1"; sha256="0cc3saly5q2kn1gr2mam7g901ddcipmlrn1m0amgrnbkakby2320"; depends=[Hmisc ash stringr]; };
+HiveR = derive { name="HiveR"; version="0.2-28"; sha256="1zz1cg7cf4yyv1bymqlyh50nzj5lgdv4clzm0l2vladcxzjvgk8c"; depends=[RColorBrewer plyr jpeg png rgl xtable tkrgl]; };
+Hmisc = derive { name="Hmisc"; version="3.15-0"; sha256="0i2k64yji4c3sicfa89af220hz48hz74dqjfqdjs0417nzs5sn8q"; depends=[lattice survival Formula ggplot2 proto scales latticeExtra cluster rpart nnet acepack foreign]; };
+Holidays = derive { name="Holidays"; version="1.0-6"; sha256="031vddjf7s3pirv041y2mw694db63gjajlbczmmya8b1zp2f3vzk"; depends=[TimeWarp]; };
+HomoPolymer = derive { name="HomoPolymer"; version="1.0"; sha256="1bxc33dx9y9rr9aii4vn9d1j9v5pd4c0xayfdldz8d9m2010xr4a"; depends=[RGtk2 MenuCollection deSolve]; };
+HotDeckImputation = derive { name="HotDeckImputation"; version="1.0.0"; sha256="0zb02wcpq09lr7lr4wcgrbw9x7jcvhi34g7f4s6h88zz7xg9daw5"; depends=[Rglpk]; };
+Hotelling = derive { name="Hotelling"; version="1.0-2"; sha256="0dzsqnn4c4av23qjnmacwc78i0xg355p1xwfmgipr04ivym0mqn0"; depends=[corpcor]; };
+HyPhy = derive { name="HyPhy"; version="1.0"; sha256="0994ymv7sswbp8qw3pay34s926cflw2hq2gnchw7rknybvlsrinq"; depends=[ape R_utils]; };
+HybridMC = derive { name="HybridMC"; version="0.2"; sha256="1wgzfyk0scwq9s2sdmc91fj7r4d7zlgwgnj6mdiia8w88ja8kzqy"; depends=[coda]; };
+HydroMe = derive { name="HydroMe"; version="2.0"; sha256="1a1d3lay94mzwk8n22l650h3p133npdf4aj63zgrdw4760p54rqf"; depends=[nlme minpack_lm]; };
+HyperbolicDist = derive { name="HyperbolicDist"; version="0.6-2"; sha256="1wgqbx9ascyk6gw1dmvfz6hljvbh49gb9shr9qgf22qbq83waiva"; depends=[]; };
+IASD = derive { name="IASD"; version="1.0.7"; sha256="0a25sd82fxnmz3f4iaxhc69cdfb7xmh7wi79wv11sbw9cv2pl7kr"; depends=[]; };
+IAT = derive { name="IAT"; version="0.2"; sha256="0byivq2298sjvpsz5z1w7r31h6z2jqpip40z8r2alygbgwwa48pd"; depends=[data_table ggplot2]; };
+IBDLabels = derive { name="IBDLabels"; version="1.1"; sha256="1m9fd058yjxva6hin7i72i2nl285wfm0jkdn5xcng27yqlijyrm9"; depends=[]; };
+IBDhaploRtools = derive { name="IBDhaploRtools"; version="1.8"; sha256="1754239pdil6b383mpzyi8zb9l9hzg15dwgn5246v97g1y3mlp5r"; depends=[]; };
+IBDsim = derive { name="IBDsim"; version="0.9-4"; sha256="0cpabz7mnhsrmjrgb23zs5anjrkhwc2005b2inl6p93l47i81fps"; depends=[paramlink]; };
+IBHM = derive { name="IBHM"; version="1.1-11"; sha256="1m0zxlybcak2v5c4spgaa39ngb2hryak4xd875jryk1dcnk9c702"; depends=[DEoptim cmaes Rcpp Rcpp]; };
+IBrokers = derive { name="IBrokers"; version="0.9-12"; sha256="0mhh4kgwrncrcysvnvah6xc7fhx5ywjzn258cs9xj9kzns0jblk6"; depends=[xts zoo]; };
+IC2 = derive { name="IC2"; version="1.0-1"; sha256="03jjb62msxjxdg9l3zd1ns0d2w37hkxy5pnjgaywxw3vfk4zwfj9"; depends=[]; };
+ICAFF = derive { name="ICAFF"; version="1.0.1"; sha256="0zazx4nv81s75appg10aayks04mx6m5n9yf5hqrbxh3yj68vzxfy"; depends=[]; };
+ICC = derive { name="ICC"; version="2.2.1"; sha256="1xl8x8ddbrk8ma57mybmmv9m096wlpbas7hsmd2c6qzcrlz6i7wa"; depends=[]; };
+ICE = derive { name="ICE"; version="0.69"; sha256="04p8lakaha28mdh965w0ppyxfrz5ssi1n9xifvsbn3ihdra67rip"; depends=[KernSmooth]; };
+ICEbox = derive { name="ICEbox"; version="1.0"; sha256="1m3p0b93ksrcsp45m4gszcz01cwbfpj4ldar6l0q3c9lmyqsznx8"; depends=[sfsmisc]; };
+ICEinfer = derive { name="ICEinfer"; version="1.0-1"; sha256="0gjgr1r33w6d5ra0njh15lj46lw6v751yl8iqrdf4a5pazs7w3lm"; depends=[lattice]; };
+ICGE = derive { name="ICGE"; version="0.3"; sha256="0xin7zml1nbygyi08hhg3wwr2jr1zcsvrlgia89zp4xanxlzgaqa"; depends=[MASS cluster]; };
+ICS = derive { name="ICS"; version="1.2-4"; sha256="1sfm9ymrrl72jzg8gsdw6v4q20i4s2w4syyr7brlvan136khpqyn"; depends=[mvtnorm survey]; };
+ICSNP = derive { name="ICSNP"; version="1.0-9"; sha256="0kisk7wk0zjsr47hgrmz5c8f2ljsl7x4549a1rwzsfkjz8901qka"; depends=[mvtnorm ICS]; };
+ICsurv = derive { name="ICsurv"; version="1.0"; sha256="1mbndpy3x5731c9y955wscy76jrxlgv33bf6ldqp65cwyvdgxl86"; depends=[MASS matrixcalc]; };
+IDPSurvival = derive { name="IDPSurvival"; version="1.0"; sha256="1v1w0i74b065b4qc302xbdl5df7qx9z8jmbc9cn46fqm1hh2b6d7"; depends=[Rsolnp gtools survival]; };
+IDPmisc = derive { name="IDPmisc"; version="1.1.17"; sha256="0nbwdyg9javjjfvljwbp2jl0c6414c11zb2pirmm5pmimaq9vv0q"; depends=[lattice]; };
+IFP = derive { name="IFP"; version="0.1.2"; sha256="1sgjyxjfw3i1k02wy2lc7w9gnrs5g4wnp8kd78ks77f9j0sah2j8"; depends=[haplo_stats coda]; };
+IM = derive { name="IM"; version="1.0"; sha256="1f1vr5zfqnanc5xmmlfkjkvxwbyyysi3mcvkg95p8r687a7zl0cx"; depends=[png jpeg bmp]; };
+IMIS = derive { name="IMIS"; version="0.1"; sha256="09zb48vdj0i3vf8vxrs07xwb9ji27vp2fyvmg6jfq631licsryc2"; depends=[mvtnorm]; };
+INLABMA = derive { name="INLABMA"; version="0.1-6"; sha256="0rij3y89yyj25xz8r9n8cnq7rg9b7hf0n9nxxrrnm86w3n4r66in"; depends=[sp Matrix spdep]; };
+IPMpack = derive { name="IPMpack"; version="2.1"; sha256="08b79g5a9maxnxladvc2x2dgcmm427i8p6hhgda3mw2h5qmch2q3"; depends=[Matrix MASS nlme]; };
+IPSUR = derive { name="IPSUR"; version="1.5"; sha256="0brh3dx7m1rilvr1ig6vbi7p13bfbblgvs8fc114f08d90fczwnq"; depends=[]; };
+IQCC = derive { name="IQCC"; version="0.6"; sha256="0gsnkdl4cfxzq6pm9g4i1g23mxg108j3is4x69id1xn2plf92m04"; depends=[qcc MASS micEcon miscTools]; };
+IRTShiny = derive { name="IRTShiny"; version="1.0"; sha256="1gjfqjqk7izl23b96g758dn6pb784ayb8yjjlryyrwga6mgsqdik"; depends=[shiny shinyAce beeswarm CTT ltm]; };
+ISBF = derive { name="ISBF"; version="0.2.1"; sha256="12mk4d0m5rk4m5bskkkng5j6a9dzh8l1d74wh8lnamq7kf9ai9if"; depends=[]; };
+ISDA_R = derive { name="ISDA.R"; version="1.0"; sha256="0w6p2iy6s7fy8pw2cf4b5zhqcgjjwd5bkax1aqflaaj4ppmfx64v"; depends=[scatterplot3d]; };
+ISLR = derive { name="ISLR"; version="1.0"; sha256="0gmhvsivhpq3x8a240lgcbv1qzdgf6wxms4svak1501clc87xc6x"; depends=[]; };
+ISOcodes = derive { name="ISOcodes"; version="2015.01.24"; sha256="0l0shl04x78x7g58yn0wh4z2gk0cllpcc43p7m22psh8vvyqzxgs"; depends=[]; };
+ISOpureR = derive { name="ISOpureR"; version="1.0.8"; sha256="0jjamyj4rf078rfa2qqrn4i55025sc5968lq95yadbw0izxb51i8"; depends=[Rcpp Rcpp RcppEigen]; };
+ISOweek = derive { name="ISOweek"; version="0.6-2"; sha256="1f1h8pgjaa14cvaj8ldl87b4vslxwvyfj46m0hkylwp73sv3g2mm"; depends=[stringr]; };
+ISwR = derive { name="ISwR"; version="2.0-6"; sha256="1ms4lm1skfqaq4mnm03kvjb7kaxdzv72s6i77zp7z17gzfa40c9h"; depends=[]; };
+IUPS = derive { name="IUPS"; version="1.0"; sha256="01pv03ink668fi2vxqybli0kgva13gxhqfdxkwz6qk5rnpzwvf5w"; depends=[R2jags Matching boot]; };
+Iboot = derive { name="Iboot"; version="0.1-1"; sha256="1fahh86kgv2axj2qg14n87v888sc0kb567s6zr3fh5zv361phwkq"; depends=[]; };
+IgorR = derive { name="IgorR"; version="0.7.1"; sha256="1ahj1ckzjffsskicdy2b70pzx5cn2r0s22yg1ajwiyy4ykwcg4pk"; depends=[bitops]; };
+Imap = derive { name="Imap"; version="1.32"; sha256="0b4w0mw9ljw6zxwvi0qzb08yq9n169lzgkdcwizrd07x9k9xjxs7"; depends=[]; };
+ImpactIV = derive { name="ImpactIV"; version="1.0"; sha256="1bb6gw1h15hscr71hy779k2x5ywzx63ylim3hby02d7fnnj46p58"; depends=[nnet]; };
+InPosition = derive { name="InPosition"; version="0.12.7"; sha256="1f7xb2kxikmja4cq7s1aiwhdq27zc6hghjbliqqpm8ci8860lb8p"; depends=[prettyGraphs ExPosition]; };
+IndependenceTests = derive { name="IndependenceTests"; version="0.2"; sha256="04qfh2mg9xkfnvp6k7w1ip4rb663p3pzww9lyprcjvr3hcac7gqa"; depends=[xtable]; };
+InfDim = derive { name="InfDim"; version="1.0"; sha256="0rh3ch0m015xjkxy08vf9pc6q7azjc6sgicd2j6cwh611pqq39wq"; depends=[]; };
+InferenceSMR = derive { name="InferenceSMR"; version="1.0"; sha256="13d3v8kyk6br33659jgql6j1nqmnd8zszqrwfw2x3khkiqzgdmhk"; depends=[survival]; };
+IntLik = derive { name="IntLik"; version="1.0"; sha256="13ww5bsbf1vnpaip0w53rw99a8hxzziibj7j66cm31jmi8l6fznf"; depends=[maxLik]; };
+InterVA4 = derive { name="InterVA4"; version="1.5"; sha256="0w2klq9dara941d4xz85qrq8dcp7vpc6rrz2k9ry01rsnpdzzybh"; depends=[]; };
+Interact = derive { name="Interact"; version="1.1"; sha256="1g9zhafdpr7j410bi8p03d8x9f8m3n329x8v01yk15f65fp7pl1d"; depends=[]; };
+InteractiveIGraph = derive { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; };
+Interatrix = derive { name="Interatrix"; version="1.0"; sha256="1lkkjckxc0fc8hg1livgzrgphqwcp53cib0r0vii5jp4zkcna595"; depends=[MASS tkrplot]; };
+Interpol = derive { name="Interpol"; version="1.3.1"; sha256="1598lnnrcxihxysdljphqxig15fd8z7linw9byjmqypwcpk6r5jn"; depends=[]; };
+Interpol_T = derive { name="Interpol.T"; version="2.1.1"; sha256="1fbsl1ypkc65y6c0p32gpi2a2aal8jg02mclz7ri57hf4c1k09gz"; depends=[date chron]; };
+InvariantCausalPrediction = derive { name="InvariantCausalPrediction"; version="0.1-4"; sha256="01yjkqj1k7haa75avcqhkxjm6569c2ds8fydz3spcmx37l2xafdp"; depends=[glmnet mboost]; };
+InventorymodelPackage = derive { name="InventorymodelPackage"; version="1.0.2"; sha256="1w35idsagl9v93ci3qmal3xbf11sy6h1k7xnv25c59ivfnpjpkva"; depends=[e1071]; };
+IsingFit = derive { name="IsingFit"; version="0.3.0"; sha256="0imgj3g6sankzmycjkzzz3bgai3jjycgsinhs5zy9k4vgqjg27d6"; depends=[qgraph Matrix glmnet]; };
+IsingSampler = derive { name="IsingSampler"; version="0.2"; sha256="16vwb5pcqjvvsk9wsgj10mzhgh72iz1q6n8nmkva6y1l7xv54c8w"; depends=[Rcpp plyr magrittr nnet Rcpp]; };
+Iso = derive { name="Iso"; version="0.0-15"; sha256="18ig772xxsbj1vhrv7b20hrglnnz742s1mjzhwx02bpjhica4a46"; depends=[]; };
+IsoCI = derive { name="IsoCI"; version="1.1"; sha256="0r7ksfic6p2v95c953s4gbzzclk4ldxysm8szb8xba1w0nx2izil"; depends=[KernSmooth]; };
+IsoGene = derive { name="IsoGene"; version="1.0-23"; sha256="18sl1qki2dn4ldycpqazj23zcibs3zqwp355q24nwr802xx3y4a6"; depends=[Iso xtable ff]; };
+IsotopeR = derive { name="IsotopeR"; version="0.4.7"; sha256="18gwmh4nprj4z0ar1w8npj2ymxihw5ydwa33g25mimjk8y2cs0x5"; depends=[coda fgui runjags]; };
+JADE = derive { name="JADE"; version="1.9-92"; sha256="0ki3jpz4npjikn3jjb7ppiyx0flhxx3p8aghjxlm3klhkm0k6ix4"; depends=[clue]; };
+JAGUAR = derive { name="JAGUAR"; version="2.0"; sha256="1c9pyg9jph95161g6zz0jlv5hlyvr9z960by7x3pv7plfkppjy7m"; depends=[Rcpp plyr lme4 doParallel Rcpp]; };
+JASPAR = derive { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; };
+JBTools = derive { name="JBTools"; version="0.7.2.6"; sha256="1wpkv8841kzpw2iqacp6k0y182lsvfl1ri54aq1hg4ypb51b8ibb"; depends=[foreach gplots colorspace plotrix]; };
+JGL = derive { name="JGL"; version="2.3"; sha256="1351iq547ln06nklrgx192dqlfnn03hkwj3hrliqzfbmsls098qc"; depends=[igraph]; };
+JGR = derive { name="JGR"; version="1.7-16"; sha256="0iv659mjsv7apzpzvmq23w514h6yq50hi70ym7jrv948qrzh64pg"; depends=[rJava JavaGD iplots]; };
+JM = derive { name="JM"; version="1.3-0"; sha256="0yn33dvy9kp7xaxlqk11f86qaichdcxpmq04gpnbcs8w8cdjjz3m"; depends=[MASS nlme survival]; };
+JMbayes = derive { name="JMbayes"; version="0.7-0"; sha256="03cm3h2f4m96bhpgk53c4g5mpypc3b6s63srlyrx8ndwgx0aqzf3"; depends=[MASS nlme survival]; };
+JMdesign = derive { name="JMdesign"; version="1.1"; sha256="0w5nzhp82g0k7j5704fif16sf95rpckd76jjz9fbd71pp2d80vlh"; depends=[]; };
+JOP = derive { name="JOP"; version="3.6"; sha256="1kpb1dy2vm4jgzd3h0qgdw53nfp2qi74hgq5l5inxx4aayncclk7"; depends=[Rsolnp dglm]; };
+JPSurv = derive { name="JPSurv"; version="1.0.1"; sha256="11hfji0nyfmw1d7y2cijpp7ivlv5s9k8g771kmgwy14wflkyf7g2"; depends=[]; };
+JavaGD = derive { name="JavaGD"; version="0.6-1"; sha256="13n6xzbbjgd0bpwv2xgm3dlscg87wh32q6fcq50kk6byp6yv05sc"; depends=[]; };
+Jmisc = derive { name="Jmisc"; version="0.3.1"; sha256="1szn29dng54l2xmrm6pg3d5rmwdc1ks23vsnsmplnr5rx7yj002s"; depends=[]; };
+JoSAE = derive { name="JoSAE"; version="0.2.2"; sha256="1ag4qg9cfcg8i2xz79bza2qlw3azw33h7k2ip5nlfkfpd33l9w05"; depends=[nlme]; };
+Johnson = derive { name="Johnson"; version="1.4"; sha256="12ajcfz5mwxvimv8nq683a2x3590gz0gnyviviyzf5x066a4q0lj"; depends=[]; };
+JohnsonDistribution = derive { name="JohnsonDistribution"; version="0.24"; sha256="00211pa2wn4bsfj6wfl9q9g123cp8iz3kxc17pw9q65j9an4sr0m"; depends=[]; };
+JointRegBC = derive { name="JointRegBC"; version="0.1.1"; sha256="0w7ygs3pvlqkkb2x20kv20kda3gz7cn6zgrkg30nhjxp318d76ab"; depends=[nlme MASS survival]; };
+Julia = derive { name="Julia"; version="1.1"; sha256="0i1n150d89pkds7qyr0xycz6h07zikb2y07d5fcpaqs4446a8prg"; depends=[]; };
+KANT = derive { name="KANT"; version="2.0"; sha256="169j72pmdkcj6hv8qgmc02aps0ppvvl1vnr1hzrb1gsf7zj7bs3y"; depends=[]; };
+KATforDCEMRI = derive { name="KATforDCEMRI"; version="0.740"; sha256="1k8fihd9m26k14rvc5d5x0d9xc3mh8d49hs64p55np1acqfhg2sy"; depends=[locfit R_matlab matlab]; };
+KFAS = derive { name="KFAS"; version="1.0.4-1"; sha256="0s9mrqb1mvs77z57hx734kajbyqddcc9j20wrsmrbf8g97in61s7"; depends=[]; };
+KFKSDS = derive { name="KFKSDS"; version="1.6"; sha256="1g11f936p554bfxlm4slxhfxki5vqkks1mrbqw4w83v2rcb50f8d"; depends=[]; };
+KMsurv = derive { name="KMsurv"; version="0.1-5"; sha256="0hi5vvk584rl70gbrr75w9hc775xmbxnaig0dd6hlpi4071pnqjm"; depends=[]; };
+KODAMA = derive { name="KODAMA"; version="0.0.1"; sha256="199l6y5b98ags5p7jf150v0i0kcdxlsr2q0rgdpz9ra1hw1cjsfb"; depends=[e1071 plsgenomics class]; };
+KOGMWU = derive { name="KOGMWU"; version="1.0"; sha256="0nk7vbppimrf01wnxsg2wjpagjrzs6gh3a6jlqy9bdfh0j4fm0kn"; depends=[pheatmap]; };
+KRLS = derive { name="KRLS"; version="0.3-7"; sha256="0dx4b68xx3saqlkbpvvrhxjscl7jr5phwqvjywxsp4qxlr3ysl79"; depends=[]; };
+KappaGUI = derive { name="KappaGUI"; version="1.1"; sha256="1fyx23i6j18q6swazwy2l70lg2933akh4d0k6dzvfjxrai7fvi7y"; depends=[irr]; };
+KappaV = derive { name="KappaV"; version="0.3"; sha256="13mmfb8ijpgvzfj20andqb662950lp9g25k5b26r5ba65p7nhva7"; depends=[PresenceAbsence maptools rgeos sp]; };
+Kendall = derive { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; };
+KernSmooth = derive { name="KernSmooth"; version="2.23-14"; sha256="1dl22pncdlrlysmny0q89yg1s6iafdh75dh31l2hjy16gzlrbhk0"; depends=[]; };
+KernSmoothIRT = derive { name="KernSmoothIRT"; version="6.1"; sha256="1hq4sykddh9sg24qrnccii89nqxmq7hnldhn8wl6y62aj0h1nrqm"; depends=[Rcpp plotrix rgl Rcpp]; };
+Kernelheaping = derive { name="Kernelheaping"; version="0.2"; sha256="1063ic6bgnppgh0cpbva5rdrd6kp7z5znkcf7xc3987ywnymsb30"; depends=[plyr evmix MASS]; };
+Kmisc = derive { name="Kmisc"; version="0.5.0"; sha256="0pbj3gf0bxkzczl6k4vgnxdss2wmsffqvcf73zjwvzvr8ibi5d95"; depends=[Rcpp data_table lattice knitr markdown Rcpp]; };
+KoNLP = derive { name="KoNLP"; version="0.76.9"; sha256="1q72irl4izb7f5bb99plpqnmpfdq4x4ymp4wm2bsyfjcxm649ya8"; depends=[rJava stringr hash tau Sejong]; };
+Kpart = derive { name="Kpart"; version="1.1"; sha256="1cyml48i1jvwy4xzymijwraqpnssnkrd81q3m7nyjd5m2czjvihv"; depends=[leaps]; };
+KrigInv = derive { name="KrigInv"; version="1.3.1"; sha256="0fcfv2vl572l8qp1ilhjai6zrw15bf1z41qm7xlfspfbj611ga7k"; depends=[DiceKriging pbivnorm rgenoud randtoolbox]; };
+LARF = derive { name="LARF"; version="1.3"; sha256="0crg89d377wkga0bc42y8bfk6chg06afchhgnab6q4dirwv9360q"; depends=[]; };
+LCA = derive { name="LCA"; version="0.1"; sha256="14nhx2fs18558zljnw56mdz3qx30v394llhzswxhznjfiiqc9z5h"; depends=[]; };
+LCAextend = derive { name="LCAextend"; version="1.2"; sha256="1y9azq9v42a3z5fq6gj8js89qblb2z93k4mg4jmw0wgkyv6mysfc"; depends=[boot mvtnorm rms kinship2]; };
+LCFdata = derive { name="LCFdata"; version="2.0"; sha256="1x3vbr6hdviqvd6dxn1kb449g0q5zkfmjsmr5nxd2g82p69lv3xm"; depends=[]; };
+LDAvis = derive { name="LDAvis"; version="0.2"; sha256="18fbnk5qd7icn3mgwwb3ld3c9n3j1z4ydc2pg2zizkrahhqxdswi"; depends=[proxy RJSONIO]; };
+LDOD = derive { name="LDOD"; version="1.0"; sha256="0mf2sy01yv57mqicrz08a17m6crigklx6fmw9zpxv7g85qw1iq4v"; depends=[Rsolnp Rmpfr]; };
+LDPD = derive { name="LDPD"; version="1.0.2"; sha256="0bs3s6x6f9rpp53x8ird6qnz9rfayf64askrr04hdjhlgw7cs0n7"; depends=[MASS nleqslv]; };
+LDRTools = derive { name="LDRTools"; version="0.1"; sha256="1cr0v6qsdldy89p44lhr6hisqaz99qzab32kd1srdnnwnwl1q2y4"; depends=[]; };
+LDcorSV = derive { name="LDcorSV"; version="1.3.1"; sha256="0i4npl90mkj8vry6ckq8bc4ydbl44vxichgsxyn80r6k9i71yl67"; depends=[MASS]; };
+LDheatmap = derive { name="LDheatmap"; version="0.99-1"; sha256="1bj42chw1xyf8yg6cfv9p4yzsggng7zy6wrw6q22559pwm6c6vr0"; depends=[genetics]; };
+LDtests = derive { name="LDtests"; version="1.0"; sha256="1jwqr7zlp9hv7vw8xp80xvrwbdv796wjgr914v393wfa07j5wbd1"; depends=[]; };
+LEAPFrOG = derive { name="LEAPFrOG"; version="1.0.7"; sha256="0z9ahkk4qzc45h1r806frv9cd84vvshvn5mr84gx7qdxljfkfq6h"; depends=[alabama MASS]; };
+LGS = derive { name="LGS"; version="0.91"; sha256="0rzj1shapyg7hyzsb9v81dirwihd7bz9s861l75g3yl3p4qm8sg7"; depends=[]; };
+LICORS = derive { name="LICORS"; version="0.2.0"; sha256="0p9y21k1mj1v397jpb5g6jiw7rpzbyfwr4kv2rp3lyxyasy2ykf0"; depends=[RColorBrewer mvtnorm zoo FNN fields locfit Matrix]; };
+LICurvature = derive { name="LICurvature"; version="0.1.1"; sha256="09hqar4kvksd816ya6jg349r0v6z2m2109hq6j4k1d2vchab4lni"; depends=[MASS]; };
+LIHNPSD = derive { name="LIHNPSD"; version="0.2.1"; sha256="08ils29vvaq6abkgxbh028vwjw6l6h10cirbnwr65s458zvh4xqv"; depends=[sn moments BB Bolstad2 optimx Rmpfr]; };
+LIM = derive { name="LIM"; version="1.4.6"; sha256="03x1gnm06bw1wrzc01110bjzd2mvjdzbc2mbrazh22jrmb32w5d8"; depends=[limSolve diagram]; };
+LINselect = derive { name="LINselect"; version="0.0-1"; sha256="1n6nsspdp1ig8v9bclyga072hxqj2hb9n1smrqia8jrma07yaydl"; depends=[]; };
+LIStest = derive { name="LIStest"; version="2.1"; sha256="1gk253v3f1jcr4z5ps8nrqf1n7isjhbynxsi9jq729w7h725806a"; depends=[]; };
+LLSR = derive { name="LLSR"; version="0.0.1.9015"; sha256="1dmk7km1qbc9m90qh8dp95g44jxqhvama9svzyh7vqxpww2hs9sb"; depends=[rootSolve]; };
+LMERConvenienceFunctions = derive { name="LMERConvenienceFunctions"; version="2.10"; sha256="08jz0i7sv7gn3bqckphbmnx0kc6yjnfvi06iyf7pcdzjaybxhj06"; depends=[Matrix lme4 LCFdata rgl fields mgcv]; };
+LMest = derive { name="LMest"; version="2.1"; sha256="1jbwbmamgxbbipzdpjmr7l9csydx55by4zd9h13lnaibdxr4xn5q"; depends=[MASS MultiLCIRT]; };
+LOGICOIL = derive { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; };
+LOST = derive { name="LOST"; version="1.1"; sha256="19ar85dykbz0jlzbhlm3pcpffj4cizc6sj3gn93qdvpxkp64jfq9"; depends=[gdata shapes e1071 MASS miscTools]; };
+LPCM = derive { name="LPCM"; version="0.44-8"; sha256="14627wk5azxm3y3a0qfy4qz57nxbdcasnv7djpqhk2gxf5smq19k"; depends=[]; };
+LPS = derive { name="LPS"; version="1.0.10"; sha256="0gf3jmhfki01z8fm5xdx59gxvhgzqd10x2iwa8369iz9dvwbjk8j"; depends=[]; };
+LPStimeSeries = derive { name="LPStimeSeries"; version="1.0-4"; sha256="13hbwg05p48i2gg9i379msb78k35m6kqj8l29cmrpqm1gcdyh3sg"; depends=[RColorBrewer]; };
+LPTime = derive { name="LPTime"; version="1.0-2"; sha256="08lb6884kj9pg12mzx67fdnqb86x5s6yzb72hh3nrz50awj1f8nn"; depends=[orthopolynom]; };
+LPmerge = derive { name="LPmerge"; version="1.6"; sha256="0xc06s2p7n151lzrp0dcrrxk8zmd816dc7qbnbcail5c1bhvdqhd"; depends=[Rglpk Matrix]; };
+LS2W = derive { name="LS2W"; version="1.3-3"; sha256="0pdsv7ld0j116rh94m5y1i2mwrzc80fqxmc6ykc51i1sj6ws3i5k"; depends=[wavethresh]; };
+LS2Wstat = derive { name="LS2Wstat"; version="2.0-3"; sha256="0wkh1a6xbp3qg5favxsj166jcgdza16zki675gswxckana6s4is7"; depends=[LS2W matrixStats geoR RandomFields spdep]; };
+LSAfun = derive { name="LSAfun"; version="0.3.2"; sha256="1pxa3paq7kq07h3a14hdkx4s3g3dq4wn2q5nvp1083gg0zk0fpgh"; depends=[lsa rgl]; };
+LSC = derive { name="LSC"; version="0.1.5"; sha256="1nlnwqb24sbgvl96azh8a833ij5xknjr2wr8shs59lm2n63a3ql9"; depends=[LICORS RColorBrewer fields gam Matrix]; };
+LSD = derive { name="LSD"; version="3.0"; sha256="069p33aw6iwikp82b7b8wa77wlyjqwr4hcwvrgaxgwqdgn6jjg3k"; depends=[]; };
+LSMonteCarlo = derive { name="LSMonteCarlo"; version="1.0"; sha256="0w5042phkba5dw92r67ppp2s4khjpw5mm701dh9dya9lhj88bz6s"; depends=[mvtnorm fBasics]; };
+LTPDvar = derive { name="LTPDvar"; version="1.1"; sha256="0zb3ffz5vw1zabgzhpcw1mzfqh4g7r0sq4iy31nzyv8smdwddqzw"; depends=[]; };
+LTR = derive { name="LTR"; version="1.0.0"; sha256="15g5hbrwhab80sarbjgwzvsn6c4fl18h014kz5fpzf0n1rijybik"; depends=[]; };
+LVMMCOR = derive { name="LVMMCOR"; version="0.01.1"; sha256="1lq4hqcg0qkywdr4a22m1fr3m97749mm6n2jzdj9i7jrf0agc1fs"; depends=[nlme MASS]; };
+LVQTools = derive { name="LVQTools"; version="1.2"; sha256="06mninrrr49xsh00gfsp0vc418r6pdvq3m6sbnj0ywdyki106mni"; depends=[]; };
+LaF = derive { name="LaF"; version="0.6.2"; sha256="180xsqilpkql8my0dimsxj1kpmb3jl19l6bz8li8m63zii4xmwmp"; depends=[Rcpp Rcpp]; };
+Lahman = derive { name="Lahman"; version="3.0-1"; sha256="0w7vp3vjxhigyyqmmka4bw5v4pp5z3jzmf0krq8biwzrpx5qp86x"; depends=[]; };
+LakeMetabolizer = derive { name="LakeMetabolizer"; version="1.1"; sha256="0l2l9l2c75cmxpqi2w9cgsad2ffnx6b7wvx6xdx6mkb52kkp9sqy"; depends=[rLakeAnalyzer plyr]; };
+Lambda4 = derive { name="Lambda4"; version="3.0"; sha256="04ikkflfr0nmy1gr3gfldlh2v8mpl82k1wwnzp57d2kn75m9vbxz"; depends=[]; };
+LambertW = derive { name="LambertW"; version="0.5"; sha256="19xkm27015q552g1c1j9bsckg4z4jb0avzxs2vs6hscyf5vh41zr"; depends=[moments MASS gsl]; };
+Laterality = derive { name="Laterality"; version="0.9.2"; sha256="13b1mpjcq7a14dwscnfs07hahd9is2fbn4wxwh31732vv3hr7kwm"; depends=[ade4]; };
+LatticeKrig = derive { name="LatticeKrig"; version="3.4"; sha256="0qa16sxzj40nk4kmzcb7n4xxn7bqlkx7ar66qpqvh2dvcvi1d70d"; depends=[spam fields]; };
+LeLogicielR = derive { name="LeLogicielR"; version="1.2"; sha256="0h52pzrksi1mn55mnxbfi61hl7x61cnkhp450slfrk68f6kp30x6"; depends=[xtable RColorBrewer gdata IndependenceTests]; };
+LeafAngle = derive { name="LeafAngle"; version="1.2-1"; sha256="0g3i5300f3rvjz7g7z8s5n8xdcsp41gf1vnr4g36m1likddfpxlx"; depends=[]; };
+LeafArea = derive { name="LeafArea"; version="0.0.6"; sha256="0n5znjxs1ixnlzx248jkhjpglzvb3wzxaqng9vi02smwlwaszvwn"; depends=[]; };
+LearnBayes = derive { name="LearnBayes"; version="2.15"; sha256="0cz2rgqy1cmdz2h1qbdvfqxmmdzmg2z1scdlxr7k385anha13ja5"; depends=[]; };
+LiblineaR = derive { name="LiblineaR"; version="1.94-2"; sha256="11q3xydd4navpfcy9yx0fld8ixb6nvnkc7qxwrhvackiy810q86i"; depends=[]; };
+LifeTables = derive { name="LifeTables"; version="0.2"; sha256="1n4mqypxm0rbi77ykpr6bpzxfxvq8mm9bmfvcqz7k3ajb78cdr0d"; depends=[mclust]; };
+LinCal = derive { name="LinCal"; version="1.0"; sha256="1xr9jnna20hh78dh9wjg70jm8fhaxvdwql894kdp0y5h4pchkdph"; depends=[]; };
+LinRegInteractive = derive { name="LinRegInteractive"; version="0.3-0"; sha256="0yk5ys8rc8ilxrbdkf1kmqpkny66lcm47fbip90m0n83v21f1jkk"; depends=[rpanel xtable]; };
+LindenmayeR = derive { name="LindenmayeR"; version="0.1-0"; sha256="0pkb6wgbn2iqszq4zr088x90k16jkk0r8pzmfpvzxv6k3m2lrv87"; depends=[stringr]; };
+LinearizedSVR = derive { name="LinearizedSVR"; version="1.3"; sha256="0h3xmlnd5x37r5hdhcz90z5n1hsbr2ci3m939i89p1x9644i2l5g"; depends=[kernlab LiblineaR expectreg]; };
+Lmoments = derive { name="Lmoments"; version="1.1-6"; sha256="0jffnlamll5mwxrfqrb1qr8kjcn40y57kzd10kkm98vzfjcwg4y4"; depends=[]; };
+Lock5Data = derive { name="Lock5Data"; version="2.6"; sha256="0ckaac00ck5vyv0gv25l1zhgkm3char6ks1p4fl3vdl5gdyrc1pp"; depends=[]; };
+LogConcDEAD = derive { name="LogConcDEAD"; version="1.5-9"; sha256="135vkp70q6gn75ds43aq08y13vrsgsgykssmnhrh6545i86vmhhi"; depends=[MASS mvtnorm]; };
+LogicForest = derive { name="LogicForest"; version="2.1.0"; sha256="0zdyyi6wka0568414f1kw91rx04y76n1k11wxd4r8svb5wybjhp5"; depends=[LogicReg CircStats gtools plotrix]; };
+LogicReg = derive { name="LogicReg"; version="1.5.6"; sha256="1izsdv8vcfv7lqq6i5kzawvrdbqizp2pvf5kv198cmav0g0p4ijd"; depends=[survival]; };
+LogisticDx = derive { name="LogisticDx"; version="0.1"; sha256="1w530panmbwf4qplzzj02q9g2lfzrkawxy66ibwdd14z9bwjdclj"; depends=[multcomp data_table pROC car gRbase rms statmod speedglm]; };
+LogitNet = derive { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; };
+LogrankA = derive { name="LogrankA"; version="1.0"; sha256="005zkpzi8h03qvqlpkygrf9xv4q77klafkfxw47x04jvkhklwigb"; depends=[]; };
+LoopAnalyst = derive { name="LoopAnalyst"; version="1.2-3"; sha256="0xbiy1xa2c6acfrzh6p9pa6wrds8ipskxq0f86ia9g5zkp1rjk2j"; depends=[nlme]; };
+LowRankQP = derive { name="LowRankQP"; version="1.0.2"; sha256="0is7v4cy4w1g3wn4wa32iqv4awd1nwvfcb71b3yk5wj59lpm8gs3"; depends=[]; };
+Luminescence = derive { name="Luminescence"; version="0.4.1"; sha256="0zbb81gvan36d1bhx4fmygw8l5iybbywgnxb2a8mhxrfdqjw4kmg"; depends=[XML shape rgl matrixStats raster sp zoo bbmle data_table]; };
+M3 = derive { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[ncdf4 rgdal maps mapdata]; };
+MADAM = derive { name="MADAM"; version="1.2.2"; sha256="09w5liqa3mpkbyvkwlabcgyg2b4316qpzq7pbpl0wxl74bsh76vq"; depends=[]; };
+MAINT_Data = derive { name="MAINT.Data"; version="0.3"; sha256="1qh7kdcnwfibzyhr53inqjz61srbpypcqjri60zdl32jpf109vng"; depends=[MASS miscTools]; };
+MALDIquant = derive { name="MALDIquant"; version="1.11"; sha256="1jnpmv44j9zry64wvnv37hcda61570hypnv16z99arjazpi4nzmn"; depends=[]; };
+MALDIquantForeign = derive { name="MALDIquantForeign"; version="0.9"; sha256="0bs6frqz462hrad16kjvbmq2s66bv3kpriav4hdz5a4klra389gl"; depends=[MALDIquant base64enc digest downloader readBrukerFlexData readMzXmlData XML]; };
+MAMA = derive { name="MAMA"; version="2.2.1"; sha256="1dcyfir6jv28jzvphiqrjns3jh2zg2201iwcvjzbmddl2isk9h0i"; depends=[metaMA xtable gtools xtable]; };
+MAMS = derive { name="MAMS"; version="0.4"; sha256="0v4sa8cyjdkg7lrznl7jv8xqm6qf67jf946fd6ymbd0wpd7gxrgp"; depends=[mvtnorm]; };
+MAMSE = derive { name="MAMSE"; version="0.1-3"; sha256="06q6raqbyi9zwg3wzaygqmfs3di55fh4bln3vscdw95kma4hz9km"; depends=[]; };
+MAPA = derive { name="MAPA"; version="1.9"; sha256="1i143x2l6fq4vl8l8cagai580yqv446pdw4gw5qzxp85hgvm8bvg"; depends=[forecast]; };
+MAPLES = derive { name="MAPLES"; version="1.0"; sha256="0hzsh7z1k7qazpxjqbm9842zgdpl51irg7yfd119a7b2sd3a8li9"; depends=[mgcv]; };
+MAR1 = derive { name="MAR1"; version="1.0"; sha256="1r6j890icl5h3m2876sakmwr3c65513xnsj68sy0y0q7xj3a039l"; depends=[leaps bestglm]; };
+MARSS = derive { name="MARSS"; version="3.9"; sha256="0vn8axzz0nqdcl3w00waghz68z8pvfm764w11kxxigvjpw2plj31"; depends=[nlme mvtnorm KFAS]; };
+MASS = derive { name="MASS"; version="7.3-40"; sha256="05mmbhswp5dqjd2c6v9w1z1710sm46d53j3prq8maj6bc9qr634y"; depends=[]; };
+MASSTIMATE = derive { name="MASSTIMATE"; version="1.2"; sha256="1j9l8b5d518ag9ivzr1z4dd2m23y2ia1wdshx1krmshn8xsd6lwp"; depends=[]; };
+MAT = derive { name="MAT"; version="2.2"; sha256="093axw2zp4i3f6s9621zwibcxrracp77xrc0q5q0m4yv3m35x908"; depends=[Rcpp Rcpp RcppArmadillo]; };
+MATA = derive { name="MATA"; version="0.2"; sha256="0jmsgis1jkyqywa4i5rq5inb72hsgc9s4xwmaqyfdnfa6lw44sfx"; depends=[]; };
+MATTOOLS = derive { name="MATTOOLS"; version="1.1"; sha256="1nzrkm3a08rpsd9vplyf33rrkadlrd0ln70k95qxj98ndh2v97px"; depends=[]; };
+MAVIS = derive { name="MAVIS"; version="1.0"; sha256="0xx8axy9c6g20r8in57zdphjdf3yb046w5gqqsi8y4ph46rpy5xk"; depends=[shiny shinyAce metafor MAd MAc quantreg ggplot2 compute_es]; };
+MAVTgsa = derive { name="MAVTgsa"; version="1.3"; sha256="0rzal9nsi8y873cbf6hrdyzyxnpd4r1yr9fj66cn0s1c8g93ls0y"; depends=[corpcor foreach multcomp randomForest MASS]; };
+MAc = derive { name="MAc"; version="1.1"; sha256="1lshi5rb8l2mpd302wskhlk5vz1wjidvbss9y69l63zjqdwjs7ch"; depends=[]; };
+MAclinical = derive { name="MAclinical"; version="1.0-5"; sha256="1g0ka1kqww2xim8rp5rznkzn0a541zvf841s3lbphfh9k3y3ixs3"; depends=[party plsgenomics st e1071]; };
+MAd = derive { name="MAd"; version="0.8-2"; sha256="0mhys27rmzb0kal4jr8j2y44z4qq46fw260sxl8da9qqvplcwq1p"; depends=[]; };
+MBA = derive { name="MBA"; version="0.0-8"; sha256="09rs1861fz41dgicgh4f95v4zafh1jfxhqar1plpqqdx8z1gpxfl"; depends=[sp BH]; };
+MBCluster_Seq = derive { name="MBCluster.Seq"; version="1.0"; sha256="0xbi2r0g0gzsy05qrq1ljr5f5s3glwxj204vk2f1lgwdx3fd116m"; depends=[]; };
+MBESS = derive { name="MBESS"; version="3.3.3"; sha256="12jsrxwdprrahqbk0i0js7lja81ydy385xmijlqk0slppd72dd9c"; depends=[]; };
+MBI = derive { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; };
+MBmca = derive { name="MBmca"; version="0.0.3-5"; sha256="0p7ddpsy4hwkfwyyszidi33qpdg4xllny7g9x24gk782p7kjfgq9"; depends=[robustbase chipPCR]; };
+MC2toPath = derive { name="MC2toPath"; version="0.0.16"; sha256="0jdn9wpxavn2wrml907v23mfxr62wwjdh7487ihjj59g434ry7wh"; depends=[RNetCDF]; };
+MCAPS = derive { name="MCAPS"; version="0.3-2"; sha256="1jvxl9xi102pcs3swxlx4jk76i7i4fll88c92k7m379ik3r36alb"; depends=[stashR]; };
+MCAvariants = derive { name="MCAvariants"; version="1.0"; sha256="08c5qpklilj41agi5nzm4f5w41pdxk98i1wc1ahhnawc3n2cdbjz"; depends=[]; };
+MCDA = derive { name="MCDA"; version="0.0.8"; sha256="0zpjbshvv88dvqf6a6yw9zhzzh2j90b9yx8yg7q52c3l7a9lks6w"; depends=[Rglpk Kendall glpkAPI]; };
+MCL = derive { name="MCL"; version="1.0"; sha256="1w36h4vhd525h57pz6ik3abbsrvxnkcqypl2aj1ijb6wm7nfp4ri"; depends=[expm]; };
+MCMC_OTU = derive { name="MCMC.OTU"; version="1.0.8"; sha256="1bdmvwxkm162m3237bgf42dm5kp3q0giwf0avrkla8qd834gqch0"; depends=[MCMCglmm ggplot2]; };
+MCMC_qpcr = derive { name="MCMC.qpcr"; version="1.1.5"; sha256="19dznc7iyifkc3lap9nlsq7n8c0h4xbqrxqb6nj1aqa0nlfi0aqw"; depends=[MCMCglmm ggplot2 coda]; };
+MCMCglmm = derive { name="MCMCglmm"; version="2.21"; sha256="1mjjp65w7pg2kxrx2qf0lh1kdi9d21xxj7s39zhi3q8ixw35h95r"; depends=[Matrix coda ape corpcor tensorA]; };
+MCMCpack = derive { name="MCMCpack"; version="1.3-3"; sha256="0s1j3047qp2fkwdix9galm05lp7jk7qxyic6lwpbd70hmj8ggs76"; depends=[coda MASS]; };
+MCPAN = derive { name="MCPAN"; version="1.1-15"; sha256="0811wrbp0nf4nj8kvq62ks8yksabib8r1a0gx3nr3v6avfnv08w1"; depends=[mvtnorm multcomp]; };
+MCPMod = derive { name="MCPMod"; version="1.0-8"; sha256="1kkak9x66dmannhxfdp6cybbjh2g43p03kyp7a4x1az7h4bnc92f"; depends=[mvtnorm lattice]; };
+MCPerm = derive { name="MCPerm"; version="1.1.4"; sha256="0g65vzn43k6qrsglxd2kz245f662gl3c2gdz6qvvxa96v6q9lhh1"; depends=[metafor]; };
+MCS = derive { name="MCS"; version="0.1.0"; sha256="0wjw3h6hi7djxgysp6bnwh419k0i312bxf8adws3f19697agxr02"; depends=[]; };
+MChtest = derive { name="MChtest"; version="1.0-2"; sha256="01lflilrp42m236cznn6qgzvv5v9fzpx6wcfxp3q545bw2xmbdvj"; depends=[]; };
+MConjoint = derive { name="MConjoint"; version="0.1"; sha256="02yik28mhvd4rfqwrprdbdjx9c49ds55fh042bsjajs2ip467w5c"; depends=[]; };
+MDM = derive { name="MDM"; version="1.3"; sha256="1bvjhl243rf19829ly1qc20ik937hb82lq23aiysj7ya55z8hdpf"; depends=[nnet]; };
+MDPtoolbox = derive { name="MDPtoolbox"; version="4.0.2"; sha256="04w0y5ib23l7nhj1947hwvfk6lpwwc11amqpyw1w53yj794g97wz"; depends=[Matrix linprog]; };
+MDR = derive { name="MDR"; version="1.2"; sha256="0g2fvvcwagml6635va87nc0ijzy0pypx5aqzz7mf5w13j0wpm24y"; depends=[lattice]; };
+MEET = derive { name="MEET"; version="5.1.1"; sha256="02xz2zkwqaf1wck9a3h1j6z8dasw4j0zqa88jg6h10wqzcrlp9ba"; depends=[seqinr Matrix ROCR Hmisc KernSmooth]; };
+MEMSS = derive { name="MEMSS"; version="0.9-2"; sha256="0wyw8yjs4miwgwdfcnfbzvkxrgv5r3jlg3cg8q2vy7s69wvhksmy"; depends=[lme4]; };
+MESS = derive { name="MESS"; version="0.3-2"; sha256="0x518awi2mxjh3vq69n1jv4d4dxjxhqfx1py48dijgd6w674d3q8"; depends=[geepack glmnet Matrix kinship2 mvtnorm]; };
+MExPosition = derive { name="MExPosition"; version="2.0.3"; sha256="1l27wp0psfvlkk79fhb8ypf8awardjljg1f37yj42friy9pdfksz"; depends=[prettyGraphs ExPosition]; };
+MF = derive { name="MF"; version="4.3.2"; sha256="1arnhyqf1cjvngygcpqk2g4d52949rhkjmclbaskyxcrvp62qln0"; depends=[]; };
+MFDA = derive { name="MFDA"; version="1.1-4"; sha256="0zf21al8ivmsxlf1i7kc01w0jx3s6650a034cdynz7axnxx28ncx"; depends=[gss mvtnorm]; };
+MFHD = derive { name="MFHD"; version="0.0.1"; sha256="0gb8y297y1x03wy46530psmlawyv4z5dydilk36qcmadlk1wx02k"; depends=[fda_usc deldir depth depthTools matrixStats]; };
+MGL = derive { name="MGL"; version="1.1"; sha256="17xkrq0wzq1gfa6k1lgf34l4ibwjk6j9rnig3l403zpykmf2ffs6"; depends=[]; };
+MGRASTer = derive { name="MGRASTer"; version="0.9"; sha256="0jmf2900r56v60981sabflkhid3yrqd9xd7crb56vgfl1qkva9zp"; depends=[]; };
+MGSDA = derive { name="MGSDA"; version="1.1"; sha256="09z066sfjvx7awxc86gfw066wlz6svj7nxkhlas63a7zfbkiz7hl"; depends=[glmnet MASS]; };
+MHadaptive = derive { name="MHadaptive"; version="1.1-8"; sha256="1w3bm82v8ahxrf0vqn0pznv7dqn212drinkz8y5kr1flx423l9ws"; depends=[MASS]; };
+MIICD = derive { name="MIICD"; version="2.0"; sha256="0q13vlm8xq99y3gixdjxcab65sjw3gjv596rq9zl768p90dgr6cm"; depends=[survival riskRegression MASS]; };
+MILC = derive { name="MILC"; version="1.0"; sha256="14xsiw5al6kixwvf3ph0dlm8s13gsbqvzb92da6ng3x4iiyb1g0w"; depends=[]; };
+MIPHENO = derive { name="MIPHENO"; version="1.2"; sha256="0hcaq66biv4izszdhqkgxgz91mgkjk1yrwq27fx07a2zmzj44sfv"; depends=[doBy gdata]; };
+MImix = derive { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
+MKLE = derive { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; };
+MKmisc = derive { name="MKmisc"; version="0.97"; sha256="0cfkyh291n68382r3kbkdd7c4wbmg2dp811gaav7rvlpmmd0am5w"; depends=[RColorBrewer robustbase]; };
+MLCM = derive { name="MLCM"; version="0.4.1"; sha256="1g6lmw75qdiq0fshxr3sqwm1a3y4928chxkggnfwwxp8hqw4r6px"; depends=[]; };
+MLDS = derive { name="MLDS"; version="0.4.3"; sha256="1vql92y2dy1ba5l5xdysqzkzvkrr4bhclmjabn49c8qb2xc2rl40"; depends=[MASS]; };
+MLEcens = derive { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; };
+MLRMPA = derive { name="MLRMPA"; version="1.0"; sha256="0gfbi70b15ivv76l3i0zlm14cq398nlny40aci3vqxxd0m2lyyx5"; depends=[ClustOfVar]; };
+MM = derive { name="MM"; version="1.6-2"; sha256="1z7i8ggd54qjmlxw9ks686hqgm272lwwhgw2s00d9946rxhb3ffi"; depends=[magic partitions emulator Oarray]; };
+MMIX = derive { name="MMIX"; version="1.2"; sha256="02c74qp48ixqh5cjp2006zgg4xz4bgxxq3csyhjl219if19kmj5m"; depends=[]; };
+MMMS = derive { name="MMMS"; version="0.1"; sha256="1a71vs3k16j14zgqfd4v92dq9swrb44n9zww8na6di82nla8afck"; depends=[survival glmnet]; };
+MMS = derive { name="MMS"; version="3.00"; sha256="06909912v2hr52s8k0a0830lbmdh05dcd7k47vydhbwq3rzf3ahg"; depends=[glmnet Matrix mht]; };
+MNM = derive { name="MNM"; version="1.0-1"; sha256="0fy43jfd7wak2rfdv5hdq7zc0zsxnbz9p69g6sla0zliibafg0q6"; depends=[ICSNP SpatialNP ellipse ICS]; };
+MNP = derive { name="MNP"; version="2.6-4"; sha256="068lssg565dw673dm8f5k6dbxl2vblnszg8wibzy3ijf96hp03cw"; depends=[MASS]; };
+MOCCA = derive { name="MOCCA"; version="1.2"; sha256="04smpzn9x64w1vpw4szqa7dwnaak1ls6gpg7fgajs68mv5zivffa"; depends=[cclust clv]; };
+MODISTools = derive { name="MODISTools"; version="0.94.6"; sha256="0jzs2dvhq48zjzb2rj6yxws8i2h7w2k00vg7xg5riad4v9j9jk0c"; depends=[RCurl XML]; };
+MOJOV = derive { name="MOJOV"; version="1.0.1"; sha256="11mcqxw83z4xx29s34v4rsbb3zvyhlb2lmvf97b77n455gsy5hab"; depends=[aod survey saws lattice]; };
+MOrder = derive { name="MOrder"; version="0.1"; sha256="1vhy20xyvfc18f04hvlb1jm2n0caaz8ysy13w2rra5i4kjdvz52i"; depends=[]; };
+MPAgenomics = derive { name="MPAgenomics"; version="1.1.2"; sha256="1gwglzkip54si6i23y8s5hhkzrwmhvfyvsian9593ixy4kqlm2bz"; depends=[R_utils changepoint glmnet cghseg HDPenReg spikeslab]; };
+MPDiR = derive { name="MPDiR"; version="0.1-16"; sha256="10g4dnysjnzf106qibqqcrxz3xw2nfh4ck1n1dlciwahr0f80j13"; depends=[]; };
+MPINet = derive { name="MPINet"; version="1.0"; sha256="1zw3piqhhpagg5qahc2xahxxfdwdk8w94aass1virlpl0f52ik8s"; depends=[BiasedUrn mgcv]; };
+MPSEM = derive { name="MPSEM"; version="0.2-6"; sha256="1vmdjnhxl8v7xw71kd1m66vhgaa1q0vvifd67v8fmii0i0i5i35y"; depends=[ape MASS]; };
+MPTinR = derive { name="MPTinR"; version="1.6.3"; sha256="1rxh8pj6zc06zhs5rllm98br0bkmgmc9d7hk04m251ji54mj80b1"; depends=[numDeriv Brobdingnag Rcpp Rcpp RcppEigen]; };
+MPV = derive { name="MPV"; version="1.35"; sha256="0mfg05w7zx5my7g60yvbk2fiakrdskb82rcwzpncjdnn3pmc2axv"; depends=[]; };
+MRCE = derive { name="MRCE"; version="2.0"; sha256="0fnd7ykcxi04pv1af5zbmavsp577vkw6pcrh011na5pzy2xrc49z"; depends=[QUIC]; };
+MRCV = derive { name="MRCV"; version="0.3-3"; sha256="0m29mpsd3kackwrawvahi22j0aghfb12x9j18xk4x1w4bkpiscmf"; depends=[tables]; };
+MRH = derive { name="MRH"; version="2.0"; sha256="0d6zfhyy8a0pjrr74lj0mcagh49pjh15yp4wa7g7j4qv8wfw5pkv"; depends=[survival KMsurv coda]; };
+MRIaggr = derive { name="MRIaggr"; version="1.0"; sha256="17p3syy1n00vanisc0r8l8g5v7f3xdbvqbg9p6zsxirdpm9mq075"; depends=[Rcpp RANN spam Matrix ROCR fields mritc oro_dicom oro_nifti Rcpp RcppArmadillo]; };
+MRMR = derive { name="MRMR"; version="0.1.3"; sha256="1b3a4bkpcncl4sh7d81nk6b2dzhzqn9zhqdxv31jgippsqm2s3k2"; depends=[reshape2 ggplot2 lubridate lmtest plyr]; };
+MRSP = derive { name="MRSP"; version="0.4.3"; sha256="0zv22xiq3qh9x3r2ckkvq1vv0vkcirh8y87053bqvw1m20j7q1by"; depends=[matrixcalc Formula]; };
+MRsurv = derive { name="MRsurv"; version="0.2"; sha256="148myzk6r8whkpv1yv59dmdlr2n8vdwmaww165aw696xfjxwq550"; depends=[survival mvtnorm]; };
+MRwarping = derive { name="MRwarping"; version="1.0"; sha256="13bcs7rlm4irx7yzdnib558w9014a4chh9xwc010m6pxvxv36qnv"; depends=[boa SemiPar]; };
+MSBVAR = derive { name="MSBVAR"; version="0.9-2"; sha256="1p6n8vbrlqqq1vbqvxnn0ffmnr462gslb1jkaf4vcrndbln5cclq"; depends=[KernSmooth xtable coda bit mvtnorm lattice]; };
+MSG = derive { name="MSG"; version="0.2.2"; sha256="18siw81pa02yg0zs40pavwm88yz7kfi60fislmjpwnl2207a6fhf"; depends=[RColorBrewer]; };
+MSIseq = derive { name="MSIseq"; version="0.99.1"; sha256="1wg0j0qr2g2lhhw57cvlawd5hik0bmqb66ynxgn62sgx1nkj3g74"; depends=[RWeka rJava R_utils]; };
+MSQC = derive { name="MSQC"; version="1.0.1"; sha256="1vs9kygjg9f4sr1m80hdn03gdhbdqfjamqxhbs9zha8smjrsgisw"; depends=[rgl]; };
+MST = derive { name="MST"; version="1.0"; sha256="142xhg7fpf27ba9gi3dxbmpcpmz56dks0rp4ybqpcxiq3z7wacxp"; depends=[survival MASS]; };
+MSeasy = derive { name="MSeasy"; version="5.3.3"; sha256="191mvg1imxfjlnd808ypn4lsjx7n6ydf16flax79hv01z7rcjylh"; depends=[amap clValid cluster fpc]; };
+MSeasyTkGUI = derive { name="MSeasyTkGUI"; version="5.3.3"; sha256="0ihz8vr2wbgy88bzssilgvlhkbr13jznfjvnqy73wpchqgwy0wy6"; depends=[MSeasy]; };
+MSwM = derive { name="MSwM"; version="1.2"; sha256="01l23ia20y3nchykha4vz6sa757zmbvgx2315cacxfcqk9rgs08c"; depends=[nlme]; };
+MTS = derive { name="MTS"; version="0.33"; sha256="0i7kpgsw56vvgrdgddn83i9lzjlb72z4llffqai29qq0m1i7hm65"; depends=[Rcpp fGarch mvtnorm Rcpp]; };
+MTurkR = derive { name="MTurkR"; version="0.6"; sha256="0kmi1x9xsqwi7llgwmkmnkn2hir5r9nryhqh8lrh41fwps4la9x8"; depends=[RCurl digest XML]; };
+MUCflights = derive { name="MUCflights"; version="0.0-3"; sha256="03ksvv5nyzlqiml1nz405r3yqb2cl35kpm1h61zcv2nqq8cxqshs"; depends=[XML geosphere sp RSQLite NightDay]; };
+MVA = derive { name="MVA"; version="1.0-5"; sha256="18x075hjqhrjwxivvrixgs6yc67il3n5p1m7v2wymcf8h2mkki91"; depends=[HSAUR2]; };
+MVB = derive { name="MVB"; version="1.1"; sha256="0an8b594rknlcz6zxjva6br8f34sgwdi2jil3xh1xzb5fa55dw0f"; depends=[Rcpp RcppArmadillo Rcpp RcppArmadillo]; };
+MVN = derive { name="MVN"; version="3.9"; sha256="1l6bib1gl5nj7p1dk6mbmflp9p5sgm405q3l53pqmq09jm55flh6"; depends=[nortest moments MASS robustbase mvoutlier plyr psych]; };
+MVR = derive { name="MVR"; version="1.20.0"; sha256="1wwzws9116ck14g6xd1svmwc9wkr8piwb24bddnzri388p8qkgb4"; depends=[statmod]; };
+MVar_pt = derive { name="MVar.pt"; version="1.0"; sha256="0wzc2r5psla8khyrkd7p8y23cxyn5bsy8vxglh2p3mpayfzi8k2a"; depends=[]; };
+MXM = derive { name="MXM"; version="0.3"; sha256="14kw4shc0jp6jrs8afimy13jssah0agwa3p5ay2py1zfid43k63y"; depends=[gRbase VGAM MASS pcalg survival]; };
+MaXact = derive { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; };
+Maeswrap = derive { name="Maeswrap"; version="1.4.11"; sha256="15i36xj2bdzhly78614077s8k2z75a1gmzl2crsfgvhyyjdax8r7"; depends=[rgl lattice geometry]; };
+ManyTests = derive { name="ManyTests"; version="1.1"; sha256="11xk3j2q7w6b6ljmp7b8gni0khpmpvcvzwxypy0w8ihi2gaczsxj"; depends=[]; };
+Map2NCBI = derive { name="Map2NCBI"; version="1.0"; sha256="02cgmayrhkyji0cwr6n0f439njq29mzna7sgzkq6ml45njm9m5nh"; depends=[]; };
+MapGAM = derive { name="MapGAM"; version="0.7-4"; sha256="1y1f0xmbssc7k6fw1dcs2kg06brza9mj5a2c33b8ln226hvnhk3z"; depends=[sp gam maptools]; };
+MareyMap = derive { name="MareyMap"; version="1.2"; sha256="1l7s1ffl9bg1zx5nyb1r3dba188mxiaprdda3gqm2cr1f33jmr51"; depends=[tkrplot]; };
+MarkowitzR = derive { name="MarkowitzR"; version="0.1502"; sha256="0srrmzr4msn04w5f6s6qs51db8jccpfj10sighsv1l7d056n2xjn"; depends=[matrixcalc sandwich gtools]; };
+MasterBayes = derive { name="MasterBayes"; version="2.52"; sha256="12ka2l4x6psij7wzbb98lwx5shgwzn5v44qfpiw1i6g236yp0mhm"; depends=[coda genetics gtools kinship2]; };
+MatchIt = derive { name="MatchIt"; version="2.4-21"; sha256="02kii2143i8zywxlf049l841b1y4hqjwkr1cnyv6b8b7y7lz2m5v"; depends=[MASS]; };
+Matching = derive { name="Matching"; version="4.8-3.4"; sha256="04m647342j4yi74ds7ddwnyrf58qdy7k3mc067k3p779qavq2ka1"; depends=[MASS]; };
+MatchingFrontier = derive { name="MatchingFrontier"; version="0.3.17"; sha256="1z4sgvcivlnfhkgqi7jr7b6iwlwskwwnkw9hsaiy4apgki4m0ngn"; depends=[igraph MASS]; };
+Matrix = derive { name="Matrix"; version="1.1-5"; sha256="0kqbabpzin7j33cjx6na3qdr5ry5fgsxbi3a7rm93ghqaadaagmj"; depends=[lattice]; };
+MatrixEQTL = derive { name="MatrixEQTL"; version="2.1.1"; sha256="1bvfhzhvm1psgq51kpjcpp7bidaxcrxdigmv6abfi3jk5kyzn5ik"; depends=[]; };
+MatrixModels = derive { name="MatrixModels"; version="0.4-0"; sha256="1jcjsyha0xmz264g1haj7x8zpzjmp1m0jl39h5bf8r45hhlaxcsa"; depends=[Matrix]; };
+MaxPro = derive { name="MaxPro"; version="3.1-2"; sha256="1y2g8a8yvzb24dj0z82nzfr6ylplb9sbi2dmj7f3pb4s3yr5zm8y"; depends=[nloptr]; };
+MazamaSpatialUtils = derive { name="MazamaSpatialUtils"; version="0.2.2"; sha256="0cwqcxkcily3wdg756s9i9brcrhp8pz4q9gkmqfsi6i0l4rkk7fi"; depends=[dplyr rgdal rgeos rvest sp stringr]; };
+McParre = derive { name="McParre"; version="1.0.1"; sha256="16bfca867drbknzc6bylg8paa8p72l23wgjpyvy4pd9z6lpgmhdy"; depends=[MASS]; };
+McSpatial = derive { name="McSpatial"; version="2.0"; sha256="18nmdzhszqcb5z9g8r9whxgsa0w3g7fk7852sgbahzyw750k95n4"; depends=[lattice locfit maptools quantreg RANN SparseM]; };
+Mcomp = derive { name="Mcomp"; version="2.05"; sha256="0wggj0h0qxjwym1vz1gk9iwnwia4lpjlk6n46l6hinsdax3g221y"; depends=[tseries forecast]; };
+MedOr = derive { name="MedOr"; version="0.1"; sha256="1rwc14s16lnzgb78ac2017hv9pss7zw7nw3y7vrvq1qx4fgiw6f8"; depends=[]; };
+MenuCollection = derive { name="MenuCollection"; version="1.2"; sha256="0v3flicfnln9qld150yk3rfldvsr4dllhq80l02n1lq6px38nf2s"; depends=[RGtk2 RGtk2Extras gplots]; };
+MergeGUI = derive { name="MergeGUI"; version="0.2-1"; sha256="1hx03qv5jyjjmqdvylc3kz5dl5qsdqwlirjbrnxrw7grkgkhygap"; depends=[gWidgetsRGtk2 ggplot2 cairoDevice rpart]; };
+MetABEL = derive { name="MetABEL"; version="0.2-0"; sha256="0rqjv85mgswrbbp8b8ip6cdmz0cvfy9lm5mcr8a7h38rzgx3g3i3"; depends=[]; };
+MetFns = derive { name="MetFns"; version="1.0"; sha256="03kx8cr4c6mgjincf87m305fhryh1c42hdzr1ljl63affnlp7nfp"; depends=[astroFns plotrix]; };
+MetNorm = derive { name="MetNorm"; version="0.1"; sha256="0vfi3k0yp2dz47gwj1n1avs3ji0a2nlrrljz5d0l66zfh4474jb4"; depends=[]; };
+MetSizeR = derive { name="MetSizeR"; version="1.1"; sha256="11hdmpvnszr6pn9ihb3zjy9miksz1fs4piry153z4dic8pjydkax"; depends=[mvtnorm MetabolAnalyze cairoDevice gWidgets gWidgetsRGtk2]; };
+MetStaT = derive { name="MetStaT"; version="1.0"; sha256="0400gx6i8xlkm51da98ap91c3hgrkgfgxswn0plaxfry3625khkp"; depends=[MASS abind pls]; };
+MetaDE = derive { name="MetaDE"; version="1.0.5"; sha256="1ijg64bri5jn2d3d13q1gvvfyqmbh6gn0lk6dkihixf0jwvjdyqi"; depends=[survival combinat]; };
+MetaLandSim = derive { name="MetaLandSim"; version="0.2"; sha256="0lb058kcqpylw27hlmkxmpndsiw71g865fgapw6d599brgi91a8i"; depends=[spatstat sp e1071 fgui googleVis maptools rgeos spgrass6 raster]; };
+MetaPCA = derive { name="MetaPCA"; version="0.1.4"; sha256="14g4v3hyxnds4l2q36mpz282yqg8ahgdw3b0qmj0xg17krrf5l2s"; depends=[foreach]; };
+MetaQC = derive { name="MetaQC"; version="0.1.13"; sha256="11595ggjr46z6xiwmhiyx1sydaq68l18y7mgdwxsg81g03ck9x1r"; depends=[proto foreach iterators]; };
+MetaSKAT = derive { name="MetaSKAT"; version="0.40"; sha256="1jxs32hvsw6wzci9f1rc7sw1dfyazdm2d57wcmhkggfg3hkdn1vv"; depends=[SKAT]; };
+MetabolAnalyze = derive { name="MetabolAnalyze"; version="1.3"; sha256="0cl76x6imx4a95wd74xx5s8i2vg8wq3inqgakvgzmkwxad6qhrqp"; depends=[mclust mvtnorm ellipse gtools gplots]; };
+Metatron = derive { name="Metatron"; version="0.1-1"; sha256="0apz2k3za19px1bcg4ls0axaljrpxnqhs86b6s862c370sspc1x8"; depends=[lme4 mpt Matrix]; };
+Meth27QC = derive { name="Meth27QC"; version="1.1"; sha256="0ad30svs2kjzmmyvcm0jmv64iyq7slp1x1xl35h2rv1b6zbd4658"; depends=[gplots]; };
+MethComp = derive { name="MethComp"; version="1.22.1"; sha256="0p4ikf3mgd2syk9rsp6v1kd4vhg3h43krw8mhl3771shrh9bnivb"; depends=[nlme]; };
+Methplot = derive { name="Methplot"; version="1.0"; sha256="0aaqss9zfn55qi45jffxkksnkw510npjnkygafx49vl77bkagqh5"; depends=[ggplot2 reshape]; };
+Metrics = derive { name="Metrics"; version="0.1.1"; sha256="1yqhlsmhh9sl7qngl85b7qb980s54h13wwznpakyvvwlar64yqrw"; depends=[]; };
+MfUSampler = derive { name="MfUSampler"; version="0.9.1"; sha256="0fw1jw2ljsxmvnaayn7zdrrsnbbkkb5n9nm396321p36bqkf1pk3"; depends=[ars]; };
+MiST = derive { name="MiST"; version="1.0"; sha256="0gqln792gixqfh201xciaygmxbafa0wyv5gpbg9w5zkbbv44wrfk"; depends=[CompQuadForm]; };
+MicSim = derive { name="MicSim"; version="1.0.8"; sha256="0i9vyim7wfnaf1zcs1vz6yc7xkr1hzhqcccbcvg15vkzhr23f8lg"; depends=[chron snowfall rlecuyer]; };
+MicroDatosEs = derive { name="MicroDatosEs"; version="0.6.3.1"; sha256="17ka9bdic8vdr0aabmgm216zm9a8jppxll042b5ric4vzplah17d"; depends=[memisc Hmisc]; };
+MicroStrategyR = derive { name="MicroStrategyR"; version="1.0-1"; sha256="0a6bk0wnwx8zy9081n7wb12lidgckrhn350r0q5m6aa82l6l8ihi"; depends=[gWidgetsRGtk2]; };
+MigClim = derive { name="MigClim"; version="1.6"; sha256="171pnalidyw0v2fcjdc3kyrq5kg035kwj5xl8zwgn3hlanpaljvp"; depends=[SDMTools raster]; };
+MindOnStats = derive { name="MindOnStats"; version="0.11"; sha256="13995v4n0hfb53w02jk81pl7nazkvqwwv87y1sr99jr9ppzc08mz"; depends=[]; };
+Miney = derive { name="Miney"; version="0.1"; sha256="0sgln0653rgglinr8rns5s2az0lgyp9slmynyhhhs265grkhrfj0"; depends=[]; };
+MissMech = derive { name="MissMech"; version="1.0.1"; sha256="0xcxzgjv9p9w8rdq07vanfrw0b49acdikr8brm78hshy0dsnas32"; depends=[]; };
+MissingDataGUI = derive { name="MissingDataGUI"; version="0.2-2"; sha256="07a3y8l0r7a0f7zmp5pg2aqkf7hyk8cf562x3m8b38w96vir4vr0"; depends=[gWidgetsRGtk2 ggplot2 GGally cairoDevice reshape]; };
+MitISEM = derive { name="MitISEM"; version="1.0"; sha256="03305ds3rgr29z4idaxzsm83igiygna2sqd5vpixklngsrp8w341"; depends=[mvtnorm]; };
+MixGHD = derive { name="MixGHD"; version="1.4"; sha256="0c7d9yf4hl7s8a1alzxjs12kcq98s9wna277vw20rnxa60b6dsqm"; depends=[MASS mclust Bessel mvtnorm ghyp numDeriv]; };
+MixMAP = derive { name="MixMAP"; version="1.3.1"; sha256="0m6m9wi0ain7z96s6z6kmwjisfqm3al6m459y5zr2l1cdbdpxfpv"; depends=[lme4]; };
+MixSim = derive { name="MixSim"; version="1.0-9"; sha256="16kg12784z82x8f1vscv9d5yakmki2m8gqr4hy9417c31xfkk3zy"; depends=[MASS]; };
+MixedTS = derive { name="MixedTS"; version="1.0.1"; sha256="0ljal2jxscwrv439blavf5gjxbi3k3jfqqmwblzfvc05dqgvdk0b"; depends=[MASS]; };
+MixtureInf = derive { name="MixtureInf"; version="1.0-1"; sha256="1cq8zzhhb6vg545n9aw1b9fhx025zy75dd6pw161svsb5776py5d"; depends=[]; };
+Mobilize = derive { name="Mobilize"; version="2.16-4"; sha256="16vdvpwspa0igb52zvzyk0if9l4wq1hm8y42572i8sh1m82wyyfs"; depends=[Ohmage ggplot2 wordcloud reshape2]; };
+Modalclust = derive { name="Modalclust"; version="0.6"; sha256="16h90d30jwdrla5627rva0yf69n0zib9z5fl3k5awlqfscz4fw26"; depends=[mvtnorm zoo class]; };
+ModelGood = derive { name="ModelGood"; version="1.0.9"; sha256="1y99a7bgwx167pncxj00lbw3cdjj23fhhzl8r24hwnhxr984kvzl"; depends=[prodlim]; };
+ModelMap = derive { name="ModelMap"; version="3.0.15"; sha256="1d7qn1p4fv94bdlr6if64vxl9yknavix4gzmpg3kxwlrxaz2g8a2"; depends=[randomForest raster gbm rgdal fields HandTill2001 PresenceAbsence]; };
+Momocs = derive { name="Momocs"; version="0.2-6"; sha256="187w6xyswlg5nac6lbprcwvj63gka832n33vlj2ix810vqyxd0fk"; depends=[ade4 sp shapes jpeg spdep ape]; };
+MonetDB_R = derive { name="MonetDB.R"; version="0.9.6"; sha256="0mi7sxiqdih3lh0ki70cmr1qp62cqr2s88s0jjqcbigxsc1n7gg6"; depends=[DBI digest]; };
+MonoPoly = derive { name="MonoPoly"; version="0.2-8"; sha256="0lpqqpahpss4q9iddh2p4h6klsrjhg3v6h1wfb70vy0miyhqb93h"; depends=[quadprog]; };
+Morpho = derive { name="Morpho"; version="2.2"; sha256="03j121ghswr1kwq40krk3b4ycn44l9ga3bp64igknvpnqikp5qcb"; depends=[Rvcg rgl colorRamps foreach Matrix yaImpute doParallel Rcpp Rcpp RcppArmadillo]; };
+MorseGen = derive { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; };
+MortalitySmooth = derive { name="MortalitySmooth"; version="2.3.4"; sha256="1clx8gb8jqvxcmfgv0b8jyvh39yrmcmwr472j9g3ymm95m4hr8fq"; depends=[svcm lattice]; };
+MplusAutomation = derive { name="MplusAutomation"; version="0.6-3"; sha256="1zb4drqaswzwssky1bp69p3p8inqfdvxg2ji9bjrzf3vf0b5fl4p"; depends=[boot plyr gsubfn coda xtable lattice texreg]; };
+Mposterior = derive { name="Mposterior"; version="0.1.2"; sha256="16a7wvg41ld2bhbss480js5h12r41nl7jmc3y4jsbv1lr5py4ymy"; depends=[Rcpp Rcpp RcppArmadillo]; };
+MuFiCokriging = derive { name="MuFiCokriging"; version="1.2"; sha256="09p8wdmlsf21ibqyjigwdipcin3ij0naxcd035hqgfj76v20wiyv"; depends=[DiceKriging]; };
+MuMIn = derive { name="MuMIn"; version="1.13.4"; sha256="1zk8glw5laismhhfgkbxk05qjmzv80bkp3ib45x7i05s2mqy1yxn"; depends=[]; };
+MultEq = derive { name="MultEq"; version="2.3"; sha256="0fshv7i97q8j7vzkxrv6f20kpqr1kp9v6pbw50g86h37l0jghj7r"; depends=[]; };
+MultNonParam = derive { name="MultNonParam"; version="1.0"; sha256="0xff81wjmyw2d38r0v3n7vv0dasg9rlrc0zrdwsmfd83zpvxqj5m"; depends=[]; };
+MultiCNVDetect = derive { name="MultiCNVDetect"; version="0.1-1"; sha256="0mfisblw3skm4y8phfg4wa0rdchl01wccarsq79hv63y78pfhh13"; depends=[]; };
+MultiLCIRT = derive { name="MultiLCIRT"; version="2.9"; sha256="0anb041nd56rrryhv5w1pb0axxsfkqas177r6yf5h5gbc4vn3758"; depends=[MASS limSolve]; };
+MultiMeta = derive { name="MultiMeta"; version="0.1"; sha256="0gj0wk39fqd21xjcah20jk16jlfrcjarspbjk5xv74c9k4p5gmak"; depends=[gtable mvtnorm expm ggplot2 reshape2]; };
+MultiOrd = derive { name="MultiOrd"; version="2.1"; sha256="12y5cg06qyaz72gk3bi5pqkd55n72rz056y9va49znlsqph09x2x"; depends=[mvtnorm corpcor Matrix psych]; };
+MultiPhen = derive { name="MultiPhen"; version="2.0.0"; sha256="05w7khzyxswlsz4sxhaakbz828zrdya1y8qcsdfc6w7wgl8qpmj9"; depends=[MASS abind epitools meta HardyWeinberg RColorBrewer gplots]; };
+MultiSV = derive { name="MultiSV"; version="0.0-67"; sha256="0924lvkx12aqjxxz8bwqdi4h9xc2acf8aynllx0m45ip5r4gh1g2"; depends=[nlme reshape]; };
+Multiclasstesting = derive { name="Multiclasstesting"; version="1.3.9"; sha256="09y3gnarqv15wgmk545qrwpjwb2ilv2b2kc74cxzcb2p1lflfjzm"; depends=[]; };
+MultinomialCI = derive { name="MultinomialCI"; version="1.0"; sha256="0ryi14d102kvxawls04hcw50n79jkcn29ill77lkfvj6nlzj8i5q"; depends=[]; };
+Myrrix = derive { name="Myrrix"; version="1.1"; sha256="15w1dic6p983g2gajbm4pws743z68y0k2hxrdwx6ppnzn9rk07rs"; depends=[Myrrixjars rJava]; };
+Myrrixjars = derive { name="Myrrixjars"; version="1.0-1"; sha256="0dy82l0903pl4c31hbllscfmxrv3bd5my5b2kv5d3x5zq0x99df0"; depends=[rJava]; };
+NADA = derive { name="NADA"; version="1.5-6"; sha256="0y7njsvaypcarzygsqpqla20h5xmidzjmya4rbq39gg6gkc0ky27"; depends=[survival]; };
+NAM = derive { name="NAM"; version="1.1"; sha256="1iiwbfwdjsv8mdgqn7819x36675mz345djf1dbyni0h46dpc1q4w"; depends=[Rcpp Matrix missForest Rcpp]; };
+NAPPA = derive { name="NAPPA"; version="2.0.1"; sha256="0nn4wgl8bs7sy7v56xfif7i9az6kdz9xw7m98z1gnvl2g7damvn3"; depends=[plyr NanoStringNorm]; };
+NB = derive { name="NB"; version="0.9"; sha256="1gh42z7lp6g09fsfmikxqzyvqp2874cx3a6vr96w43jfwmgi2diq"; depends=[]; };
+NBDdirichlet = derive { name="NBDdirichlet"; version="1.01"; sha256="07j9pcha6clrji8p4iw466hscgs6w43q0f7278xykqcdnk39gkyv"; depends=[]; };
+NBPSeq = derive { name="NBPSeq"; version="0.3.0"; sha256="0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"; depends=[]; };
+NCmisc = derive { name="NCmisc"; version="1.1.3"; sha256="051qbqsvqb5wivba8msdhswfg0cxyxnyp601zgb1zvzcnbrffimg"; depends=[proftools]; };
+NEff = derive { name="NEff"; version="1.0"; sha256="0ksnmxjy2ms2z7rq4rddnykydwlb4f9c13nak5f8m65pfjcgv3sk"; depends=[msm bit]; };
+NHANES = derive { name="NHANES"; version="1.0"; sha256="18sy2x61bnily3fz0rs61y44kn6y2ikgrzr6nhgm6fkqv02ffdg8"; depends=[]; };
+NHEMOtree = derive { name="NHEMOtree"; version="1.0"; sha256="0ycprj2rz2fy6a7ps0bsr27iphmbfxi9pbvl8rcr6p8yagfb84mb"; depends=[partykit emoa sets rpart]; };
+NHMM = derive { name="NHMM"; version="3.5"; sha256="03il5y6vz5zyadydhk3qg6sd6fmsw7md9if1igyy9643mxxm1g0f"; depends=[BayesLogit msm MCMCpack MASS Rcpp Rcpp]; };
+NHPoisson = derive { name="NHPoisson"; version="3.1"; sha256="1gr682kxgw227yqw9w0iw9lrijsz5iszhnfk0mdhi6m1w9s28kcn"; depends=[car]; };
+NISTnls = derive { name="NISTnls"; version="0.9-13"; sha256="03a1c8a5dr5l5x4wbclnsh3vmx3dy7migfdzdx7d7p3s7hj3ibif"; depends=[]; };
+NISTunits = derive { name="NISTunits"; version="1.0.0"; sha256="156rk3wams52lw3inf55s9v7mi5x29mmb41p8kvryimnzgi904ca"; depends=[]; };
+NLP = derive { name="NLP"; version="0.1-6"; sha256="19ynrfzj70swlk6z1r8bh23dzdk2qk8z0bk3xn39vpv0wplyc9i3"; depends=[]; };
+NLPutils = derive { name="NLPutils"; version="0.0-1"; sha256="036pafnjcbz7ihdgsjss4jq8fb420j8fmxyymv7kr4pr78wjysbx"; depends=[NLP SnowballC qdap]; };
+NLRoot = derive { name="NLRoot"; version="1.0"; sha256="1x8mcdgqqrhyykr12bv4hl4wbh1zw2qgpnd2yrm68kb92iy95rh4"; depends=[]; };
+NMF = derive { name="NMF"; version="0.20.5"; sha256="1j91vklzi4qjlix5sn9qh86dwx6vxnla2p4ag81apkr441jkvynr"; depends=[pkgmaker registry rngtools cluster stringr digest gridBase colorspace RColorBrewer foreach doParallel ggplot2 reshape2]; };
+NMFN = derive { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; };
+NMOF = derive { name="NMOF"; version="0.34-1"; sha256="0agh22p4rr3dfq1wipm2435hvb932wf9vp0r5992g3wbfnphs29g"; depends=[]; };
+NORMT3 = derive { name="NORMT3"; version="1.0-3"; sha256="041s0qwmksy3c7j45n4hhqhq3rv2hncm2fi5srjpwf9fcj5wxypg"; depends=[]; };
+NORRRM = derive { name="NORRRM"; version="1.0.0"; sha256="06bdd5m46c8bbgmr1xkqfw72mm38pafxsvwi9p8y7znzyd0i6ag3"; depends=[ggplot2 SDMTools]; };
+NORTARA = derive { name="NORTARA"; version="1.0.0"; sha256="1q4dmn5q939d920spmxxw08afacs3pzhr2gzwyqa5kn8xiz4ffg8"; depends=[corpcor Matrix]; };
+NPCD = derive { name="NPCD"; version="1.0-7"; sha256="11h460h1q50qixr2hk4wd4v6wgwblp3cqvksbzqkdcinzzp8z6zh"; depends=[BB R_oo R_methodsS3]; };
+NPCirc = derive { name="NPCirc"; version="2.0.1"; sha256="1pyckjvf4vzns9hxnhnk7cm4abllmdj3f142pvjhnilyqwndqgyc"; depends=[circular misc3d movMF plotrix rgl shape]; };
+NPHMC = derive { name="NPHMC"; version="2.2"; sha256="000x9y00gfkaj5lf00a55b9qx15x05yp3g3nmp8slyzsnfv66p5d"; depends=[survival smcure]; };
+NPMLEcmprsk = derive { name="NPMLEcmprsk"; version="2.0"; sha256="0x8pfsi79rb7d29908hlnkqh521csccz6vz04r412z9znsj4pnkl"; depends=[]; };
+NPMPM = derive { name="NPMPM"; version="1.0"; sha256="14rjj48vfj4wv1na5v181jby016afx4ak1fs0f3g1fif4kbgbdx0"; depends=[]; };
+NPMVCP = derive { name="NPMVCP"; version="1.1"; sha256="13jpm46abwziq8859jhl6hg1znk3ws1q7g4vlr2jyri3qa6h22dd"; depends=[]; };
+NPS = derive { name="NPS"; version="1.1"; sha256="02idja149a2sj97sks4lhsaflpifyxi6n0rjlcq9993f84szfgsi"; depends=[]; };
+NPsimex = derive { name="NPsimex"; version="0.2-1"; sha256="1k9i1f5ckvzdns8f5qnm2zq7qs3wsgzsnfwdz21zmhmi6d0pwchm"; depends=[]; };
+NSA = derive { name="NSA"; version="0.0.32"; sha256="0lnimyx3fpnw9zfhqm7y3ssvbpmvbmhcqy6fp83862imiwpl8i5r"; depends=[R_methodsS3 MASS matrixStats R_oo R_utils aroma_core aroma_affymetrix]; };
+NSM3 = derive { name="NSM3"; version="1.3"; sha256="0vmv7r499ig2fq2gwx78jdrflk5i55jy3vgjh87ygwlyhwj9cm8p"; depends=[combinat MASS partitions survival agricolae ash binom BSDA coin epitools fANCOVA gtools Hmisc km_ci metafor nortest np quantreg Rfit SemiPar SuppDists waveslim]; };
+NSUM = derive { name="NSUM"; version="1.0"; sha256="1as4g3v7qlk9wxlpwhg293980jq9gy6qay77bbcrjf481gvkkbp6"; depends=[MASS MCMCpack]; };
+NScluster = derive { name="NScluster"; version="1.0.2"; sha256="1bvr44qx3bzbgsdpj70dfq9azkrsywkbvwvm3lwwgpn0spk8apld"; depends=[]; };
+NanoStringNorm = derive { name="NanoStringNorm"; version="1.1.19"; sha256="0nrhsg32f6381snsxivcnznl752y9jmdscrcn1j8xylwmwc0r4hj"; depends=[gdata]; };
+NbClust = derive { name="NbClust"; version="2.0.4"; sha256="01r76gfg1lyajkh5x18pcqzp8iw0g3kfq5q8liv351l9wgykj34g"; depends=[]; };
+NeatMap = derive { name="NeatMap"; version="0.3.6.2"; sha256="186y06zrh87q6vixl2da2d6apvcj1zkk79c95k081zj5awmryr9b"; depends=[ggplot2 rgl]; };
+NestedCohort = derive { name="NestedCohort"; version="1.1-3"; sha256="10hsc6zik8sz2mp6ig3xr6z3bq0c6rlvqkn11pxny17a4n02wapp"; depends=[survival MASS]; };
+NetCluster = derive { name="NetCluster"; version="0.2"; sha256="0aby8kfniw07jap795cwk69z83p45q5rap73zp1qbmkm3qcb31g4"; depends=[sna]; };
+NetComp = derive { name="NetComp"; version="1.6"; sha256="11rxpdihn575diqfvc7yvxhlr2c19fig4v4a5c6jhqyfdsd60fsv"; depends=[gdata]; };
+NetData = derive { name="NetData"; version="0.3"; sha256="1jf05zwy0c6gmm7kvxlwvai61bz4wpsw7cl0h4i21ipzn1rqxmqj"; depends=[]; };
+NetIndices = derive { name="NetIndices"; version="1.4.4"; sha256="0ydivbri8l8zkxi18ghj9h66915scyhca8i9mcyq4b06mjfigss8"; depends=[MASS]; };
+NetSim = derive { name="NetSim"; version="0.9"; sha256="07h4qwz64k8zj8c2mx23cbnhg4rqrb4nfh20xw98kspz7cisdg6d"; depends=[Rcpp Rcpp]; };
+NeuralNetTools = derive { name="NeuralNetTools"; version="1.0.1"; sha256="1gxlv595jxbvpis1vp1bxkspwhqk32f0d0lhkzah8d5ijjzdqihf"; depends=[ggplot2 neuralnet nnet reshape2 RSNNS scales]; };
+Newdistns = derive { name="Newdistns"; version="2.0"; sha256="1jgv9jl6pvsjgjsbjvmjg8qwjx4gsmp4kd27pbqxldp0qp0q9mjf"; depends=[AdequacyModel]; };
+NightDay = derive { name="NightDay"; version="1.0.1"; sha256="0vkpr2jwhgghiiiaiglaj1b9pz25fcsl628c9nsp9zyl67982wz1"; depends=[maps]; };
+Nippon = derive { name="Nippon"; version="0.5.3"; sha256="02m591aljlaxn95k7sl8gfsviv4ywqv9mrkjf6g19kfrc9pbgjqg"; depends=[maptools]; };
+NlsyLinks = derive { name="NlsyLinks"; version="1.302"; sha256="0m1qvrpdfwql4jdk3nbn80llq83wavimifw630gnazwmkgkcncai"; depends=[lavaan]; };
+NominalLogisticBiplot = derive { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[mirt gmodels MASS]; };
+NonpModelCheck = derive { name="NonpModelCheck"; version="1.0"; sha256="0mgbyp651jfqyfavpv12i9kwqf0cpk2mzh9m0b5k4n759710qv8f"; depends=[dr MASS]; };
+NormPsy = derive { name="NormPsy"; version="1.0.3"; sha256="0lp6b7hh36ipmsv395xk671f7sczlfz5f9x0h88b2q6zvgbk081v"; depends=[lcmm]; };
+NormalGamma = derive { name="NormalGamma"; version="1.1"; sha256="0r3hhfscif0sx9v8f450yf119gpvf3ilpb8n3ziy4v4qf2jlcfnk"; depends=[optimx histogram]; };
+NormalLaplace = derive { name="NormalLaplace"; version="0.2-0"; sha256="11z568zhb7jw9ghp6wlyf26ijm25crc5pqhzw71qgvva42nsmmwn"; depends=[DistributionUtils GeneralizedHyperbolic]; };
+Nozzle_R1 = derive { name="Nozzle.R1"; version="1.1-1"; sha256="05sjip4sz12mwd3jcbvk342p83kdmrd4l2jrh17p18w4l7w4nn0z"; depends=[]; };
+OAIHarvester = derive { name="OAIHarvester"; version="0.1-7"; sha256="0wcl71y8i4s4fxpb90xg71sj6819kgl3d4gff66dan8i6y8sxmyk"; depends=[XML RCurl]; };
+ODB = derive { name="ODB"; version="1.1.1"; sha256="1hha4rkbc2zh3karkqa0vn4v0nmcd7sljcymy1nh28bx1gx2ffgs"; depends=[DBI RJDBC]; };
+ODMconverter = derive { name="ODMconverter"; version="2.0"; sha256="1691fmkdjhk7rih8qk3rp6bykplz8hxsl7in8gjrc5ll0fkygm98"; depends=[XML xlsx]; };
+OIdata = derive { name="OIdata"; version="1.0"; sha256="078khxrszwnrww2h0ag153bf59fnyhirxy4m56ssgr2gmfahaymf"; depends=[RCurl maps RCurl maps]; };
+OIsurv = derive { name="OIsurv"; version="0.2"; sha256="148mpjj5navc1vrl72y87krn4lf3awnd32z3g4qqaia404w5w7p7"; depends=[survival KMsurv]; };
+OLScurve = derive { name="OLScurve"; version="0.2.0"; sha256="1zqapfwgwy9rxnbhmlgplkphw1bdia4cyi9q6iwcppw3rjw75f1n"; depends=[lattice]; };
+ONETr = derive { name="ONETr"; version="1.0.2"; sha256="1b0djffn4bx6drq5j87s15dwvnjmvraxs52y4dr6micvd9hifa9a"; depends=[XML RCurl]; };
+OOmisc = derive { name="OOmisc"; version="1.2"; sha256="09vaxn5czsgn6wpr27lka40kzd76jzqgqxavf26ms3m9kkdf83g4"; depends=[]; };
+OPDOE = derive { name="OPDOE"; version="1.0-9"; sha256="0pf8rv5wydc8pl4x57g7bk2swjabaxdgijgsigjy5wihfcb48654"; depends=[gmp mvtnorm orthopolynom nlme crossdes polynom]; };
+OPE = derive { name="OPE"; version="0.7"; sha256="0ld3pr94ii1pmfk99qfwgria6ki2iz2hwmn7pj3cjwprv8jkcjji"; depends=[]; };
+OPI = derive { name="OPI"; version="2.1"; sha256="1pzw5b4gwf1q98547cgq7b363fn72ll0zlvcahy56wc1ci5ny3dd"; depends=[]; };
+ORCI = derive { name="ORCI"; version="1.1"; sha256="0xy5lvz2scz06fphjyhqbdhp4bizmv87a8xykp9dbgx8b4ssnqgz"; depends=[BiasedUrn BlakerCI PropCIs]; };
+ORCME = derive { name="ORCME"; version="2.0.1"; sha256="0wr4z19alyp2cvlpg4bs8sni6nrwnhk11bbr00ycqym39alr2wjw"; depends=[Iso]; };
+ORDER2PARENT = derive { name="ORDER2PARENT"; version="1.0"; sha256="04c80vk6z227w6qsnfls89ig4vqyiiymdarhq1pxa0gpr8j2ssx5"; depends=[Matrix]; };
+ORIClust = derive { name="ORIClust"; version="1.0-1"; sha256="1biddddyls2zsg71w4innxl0ckfb80q2j9pmd56wvbc0qnbm0w3q"; depends=[]; };
+ORMDR = derive { name="ORMDR"; version="1.3-2"; sha256="0y7b2aja3zvsd6lm7jal9pabcfxv16r2wh0kyzjkdfanvvgk3wmm"; depends=[]; };
+OUwie = derive { name="OUwie"; version="1.45"; sha256="1g1315g015pcnd7g8k0vngjg7f842nq8ixhmqnj64by4vsafliva"; depends=[ape nloptr numDeriv corpcor lattice phytools phangorn]; };
+Oarray = derive { name="Oarray"; version="1.4-5"; sha256="1w66vqxvqyrp2h6acnbg3xy7cp6j2dgvzmqqk564kvivbn40vyy4"; depends=[]; };
+OceanView = derive { name="OceanView"; version="1.0.3"; sha256="0k281r358xg599n3h4avwbhnhgcfdawf36p8k3sxwv29292npkzv"; depends=[plot3D plot3Drgl rgl shape]; };
+Ohmage = derive { name="Ohmage"; version="2.11-4"; sha256="14pga59ikiywyl6xnfd2d8sy323vyn88q9sf101bcwp0s0qczwzg"; depends=[RCurl RJSONIO]; };
+OjaNP = derive { name="OjaNP"; version="0.9-8"; sha256="010l75irgj7nl8yq6crp8d00zjgpv9wg2maw99cj0frhqxvqzbfz"; depends=[ICS ICSNP]; };
+OligoSpecificitySystem = derive { name="OligoSpecificitySystem"; version="1.3"; sha256="17mspf1ph2ybv046zckykfdcbrsiz40hrs6ib5mpwkfnrvsp1w7l"; depends=[tkrplot]; };
+OmicKriging = derive { name="OmicKriging"; version="1.3"; sha256="1fj131684faj75jdipmsvb8s684x72is6zz79hwb5wszklk00ind"; depends=[doParallel ROCR irlba]; };
+Oncotree = derive { name="Oncotree"; version="0.3.3"; sha256="147rc9ci66lxbb91ys2ig40sgmldi15p604yysrd4ccbxpbk2zwf"; depends=[boot]; };
+OneTwoSamples = derive { name="OneTwoSamples"; version="1.0-3"; sha256="0019rc2f4jmbm6sinkvalvjqwi822x78aiin88kg8qbbb5ml8l89"; depends=[]; };
+OpasnetUtils = derive { name="OpasnetUtils"; version="1.1.0"; sha256="1a7j96pg0v8j527m0w48k8lxwb2ynrqq1y7140bi1ciq0466azx3"; depends=[rjson RCurl reshape2 triangle httpRequest digest xtable ggplot2 rgdal sp]; };
+OpenCL = derive { name="OpenCL"; version="0.1-3"; sha256="0f7vis0jcp0nh808xbzc73vj7kdcjb0qqzzsh3gvgamzbjfslch8"; depends=[]; };
+OpenMPController = derive { name="OpenMPController"; version="0.1-2"; sha256="1cpsbjmqql0fsjc1xv323pfkhfr9vrcv5g4j3p1qc5zn4z9pq7r6"; depends=[]; };
+OpenRepGrid = derive { name="OpenRepGrid"; version="0.1.9"; sha256="1s40c2yfd4a4khs0ghlbzii94x8cidg851bivanplg2s51j5jrhk"; depends=[pvclust colorspace plyr stringr abind rgl GPArotation psych XML]; };
+OpenStreetMap = derive { name="OpenStreetMap"; version="0.3.1"; sha256="009xiqsbgqb3lba6msyzq7ncripmvpymxynkga8pqc8npv8g7fzb"; depends=[rJava raster rgdal rJava]; };
+OptHedging = derive { name="OptHedging"; version="1.0"; sha256="0g7qaf5abvbcqv2h1dciwn3gwpz084ryqjjk0yabdm4ym0y38ddm"; depends=[]; };
+OptInterim = derive { name="OptInterim"; version="3.0.1"; sha256="1ks24yv5jjhlvscwjppad27iass59da1mls99hlif0li9mvkbvyk"; depends=[mvtnorm clinfun]; };
+OptimalCutpoints = derive { name="OptimalCutpoints"; version="1.1-3"; sha256="1vrbx62080r9sgk9ipjvdrqvikp4gwidp5gi5j92hspk7cp10amg"; depends=[]; };
+OptionPricing = derive { name="OptionPricing"; version="0.1"; sha256="0j98h3fn29xfv7xyp7av459v56chw99pnvmsbqvrv4g77p60f5q2"; depends=[]; };
+OrdFacReg = derive { name="OrdFacReg"; version="1.0.5"; sha256="1if6ghagj2196pc73ankfrcms0snlpibgfca1c6lhj96m1waahg2"; depends=[survival eha MASS]; };
+OrdLogReg = derive { name="OrdLogReg"; version="1.1"; sha256="18s75pmz1g3yac2rfl41kj8sfflq298qkijnvqlybgxpq98ickxx"; depends=[LogicReg]; };
+OrdMonReg = derive { name="OrdMonReg"; version="1.0.3"; sha256="1xca8pvvq79j484l2rmn4nva8ncx8z51g5diljikck231y8qjqaz"; depends=[]; };
+OrdNor = derive { name="OrdNor"; version="1.0"; sha256="1n6c0d4r1w3n016lzk2i5yyvawk9pgmsbzymbbyq7gx8a80iv32h"; depends=[mvtnorm corpcor Matrix GenOrd]; };
+OrdinalLogisticBiplot = derive { name="OrdinalLogisticBiplot"; version="0.4"; sha256="1axn03yrw30r2j9ss5ig9sq857y37vhrr4a7px68jc2az8mng41j"; depends=[mirt MASS NominalLogisticBiplot]; };
+OrgMassSpecR = derive { name="OrgMassSpecR"; version="0.4-4"; sha256="046lr0piiy5w5lxjvyw7iqqclkghmc6zqymfypkw374gk73yrm76"; depends=[]; };
+OutbreakTools = derive { name="OutbreakTools"; version="0.1-12"; sha256="0xfvaf8anj57yrw7ycljcnrpg2b2rqi12lclzm6afy15my67drff"; depends=[ggplot2 network knitr RColorBrewer ape reshape2 sna plyr ggmap scales rjson networkDynamic RCurl]; };
+OutlierDC = derive { name="OutlierDC"; version="0.3-0"; sha256="1vm3zx4qmj9l0ddfqbksm1qyqzzqrxf93gh4kj52h68zlsfxwv41"; depends=[survival quantreg Formula]; };
+OutlierDM = derive { name="OutlierDM"; version="1.1.1"; sha256="0n8iq464ryc3v4wms7cdka39870w5pg29z9v8gmdsp4d9cfsx9v4"; depends=[quantreg MatrixModels outliers pcaPP]; };
+OutrankingTools = derive { name="OutrankingTools"; version="1.0"; sha256="0z7pslkkinn7flc4xwjg0bsfswf8ad4jv9rmglaj3fmjcx9b6wgj"; depends=[igraph]; };
+P2C2M = derive { name="P2C2M"; version="0.6"; sha256="00m4dmvnvbjbxxqi9ai2zd33cwlsb7ghjbswz256w5iab4c0ls02"; depends=[ape apTreeshape ggplot2 rPython stringr]; };
+PAGI = derive { name="PAGI"; version="1.0"; sha256="01j1dz5ihqslpwp9yidmhw86l112l7rfkswmf03vss872mpvyp3f"; depends=[igraph]; };
+PAGWAS = derive { name="PAGWAS"; version="1.0"; sha256="1zwq4b0bgsskzvlapffh30ys9y4wlcfwpjqw8m2i9zabib5knx9i"; depends=[lars doMC mnormt]; };
+PANDA = derive { name="PANDA"; version="0.9.9"; sha256="1sf3c49v4mb3mz2imqlqdbh1iab7bc2pxpi8bmgj2jld133555ip"; depends=[cluster]; };
+PANICr = derive { name="PANICr"; version="0.0.0.5"; sha256="049ga5iiymqczvy51y52yk7yvv9xy0ibr64ly8ciqig84d5f4jjr"; depends=[MCMCpack]; };
+PAS = derive { name="PAS"; version="1.2"; sha256="0q5g9j8xb9fl7r8f1w5gk5h83ll5w1r6m2gq9ilw8w8s96pm4xd8"; depends=[glmnet]; };
+PASWR = derive { name="PASWR"; version="1.1"; sha256="1rxymnqvflypc6m62f5vw65l8x1m2yah7r11hhpmzdq2l2sg8fci"; depends=[e1071 MASS lattice]; };
+PASWR2 = derive { name="PASWR2"; version="1.0"; sha256="1bxczrfxj7nlx4r0b23a7sisinb4d5nd3pj68vigbgrhqyggk87x"; depends=[ggplot2 lattice e1071]; };
+PAWL = derive { name="PAWL"; version="0.5"; sha256="1sx4g4qycba2j1fm0bvhz3hk6ghhdc37rz5zi1njqxrpmbnkqg04"; depends=[mvtnorm foreach reshape ggplot2]; };
+PBC = derive { name="PBC"; version="1.2"; sha256="1z08y5sn6i439811c9mq3bs78zqlzzkz0srmv4wld68bywhmwqj4"; depends=[igraph Rcpp copula Rcpp]; };
+PBD = derive { name="PBD"; version="1.0"; sha256="1q8ijjmcwxi8f3wgggpj4y522wmxady7f60frhlvvixhzfn2iml1"; depends=[deSolve ade4 ape DDD]; };
+PBImisc = derive { name="PBImisc"; version="0.999"; sha256="0igwl78wj8w6jzmk5m8y9rf4j72qrcjyhb83kz44is72ddzsyss6"; depends=[MASS lme4 Matrix]; };
+PBSadmb = derive { name="PBSadmb"; version="0.68.104"; sha256="01akimdsp0bkvz3a5d75yyy3ph0mff85n8qsnr59fla5b5cm4qlj"; depends=[PBSmodelling]; };
+PBSddesolve = derive { name="PBSddesolve"; version="1.11.29"; sha256="13vprr66hh5d19xambpyw7k7fvqxb8mj5s9ba19ls7xgypw22cmm"; depends=[]; };
+PBSmapping = derive { name="PBSmapping"; version="2.68.68"; sha256="1g58jz7mc7fkrv2c739pkg048pcgmklq650800wf6px073db2kc3"; depends=[]; };
+PBSmodelling = derive { name="PBSmodelling"; version="2.67.266"; sha256="0ych9k20x0m71gkdrpwv5jnx6pfsk45wwsaaamy32cmnhd3y14sq"; depends=[XML]; };
+PCAmixdata = derive { name="PCAmixdata"; version="2.2"; sha256="0gbmiy2mhz8lgp0pcjby4ny8a28wlx1xrsa2lknzxn4d0m2csxjn"; depends=[]; };
+PCDSpline = derive { name="PCDSpline"; version="1.0"; sha256="15kmvcwvwlsr1107n7mfajvf9b1kcslnhsdx0drjjhsvq193qrqa"; depends=[nleqslv matrixcalc]; };
+PCGSE = derive { name="PCGSE"; version="0.2"; sha256="19bpnn1b8ihmf52zh9g9pc38130np1ki8l7wf0j5myw2cnw6fna8"; depends=[RMTstat MASS]; };
+PCICt = derive { name="PCICt"; version="0.5-4"; sha256="1g17hxs00dlnb6p0av6l7j99qy00555f80nk1i1i1x87fszp3axa"; depends=[]; };
+PCIT = derive { name="PCIT"; version="1.5-3"; sha256="0gi28i2qd09pkaja4w7abcl7sz43jnk98897vc2905fnk9nks65j"; depends=[]; };
+PCPS = derive { name="PCPS"; version="1.0.2"; sha256="17gjj88zq123nxg4dh2w304sh9c1c4myad2g8x31wn1z7bmawv3y"; depends=[SYNCSA vegan ape picante phylobase plotrix]; };
+PCS = derive { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[statmod]; };
+PCovR = derive { name="PCovR"; version="2.5"; sha256="1as3qd2gqznfy95mil8k31nkqrf36sgpja5s9zdwvk0vpaxv1fr7"; depends=[GPArotation ThreeWay MASS Matrix]; };
+PDQutils = derive { name="PDQutils"; version="0.1.1"; sha256="0klzh7ilgs02i0cvb5j6jd65dxyg2c3yk5rc82wcjn9ixhr8ks9b"; depends=[orthopolynom moments]; };
+PDSCE = derive { name="PDSCE"; version="1.2"; sha256="17lc6d8ly6jbvjijpzg45dvqrzrh5s1sp415nycazgpbg9ypwr2h"; depends=[]; };
+PEIP = derive { name="PEIP"; version="1.7"; sha256="1bagi1kr8vd3b3r524vrk747bqmd9insny1nxj8bdvdk0a9yr949"; depends=[bvls Matrix RSEIS pracma]; };
+PEMM = derive { name="PEMM"; version="1.0"; sha256="18dd9hsbdrnhrrff7gpdqrw2jv44j8lg0v3lkcdpbd4pppcaq84h"; depends=[]; };
+PERregress = derive { name="PERregress"; version="1.0-8"; sha256="1rhridhfgvrz14h61psfyr5ll13fvxj4b9fwrnlnc6lyqi01wjlc"; depends=[]; };
+PET = derive { name="PET"; version="0.4.9"; sha256="1ijg6mfh3xrc1gjh6a4nq64psk9yh16yc8nfp7c9837xbjigqq7f"; depends=[adimpro]; };
+PF = derive { name="PF"; version="9.5"; sha256="1y99brdabj78s5kxyv0136s40kaaj3zya9lk4qd0kqk83z2gdawp"; depends=[xtable RColorBrewer gdata]; };
+PGICA = derive { name="PGICA"; version="1.0"; sha256="0qxa5hw2s3mndjvk8lb82pcbyj1kbdclx4j4xa8jq0lcj180abi9"; depends=[fastICA]; };
+PGM2 = derive { name="PGM2"; version="1.0"; sha256="18azh6k271p9dvc23q402pv7wrilr1yk02vqqy6qjppnvq6jxahg"; depends=[]; };
+PHENIX = derive { name="PHENIX"; version="1.1"; sha256="0bdb31hqhjz73dz4659i11y9qh0r0j139024285ci7z3xx22cdy5"; depends=[ppcor SuppDists]; };
+PHYLOGR = derive { name="PHYLOGR"; version="1.0.8"; sha256="17lmjfbwf8j68zzzhdvppyjacdsmy4zmcfj0pcjsw5j6m361hvh6"; depends=[]; };
+PHeval = derive { name="PHeval"; version="0.5.2"; sha256="1q0cyq7b8d42jgiw7ra9vjdjw1zcxpyg6wgb3zgygkmd744ifggp"; depends=[survival]; };
+PIGE = derive { name="PIGE"; version="0.9"; sha256="1x8ml25mm69dvlszm9p2ycph92nxcsgd52ydj7ha0dwrrpcv2law"; depends=[snowfall ARTP xtable survival]; };
+PIGShift = derive { name="PIGShift"; version="1.0.0"; sha256="15cgpi7j5cs4aqdq5cy7535x8ar916d9hd109kc01njrwxp1xr96"; depends=[ape mvtnorm]; };
+PIPS = derive { name="PIPS"; version="1.0.1"; sha256="1c5v3s6xys9p1q32k6mpsffhi9gwsq951rh12hs76dmak862yspc"; depends=[]; };
+PK = derive { name="PK"; version="1.3-2"; sha256="0162ri9wlm9inryljal48av8yxb326na94kckkigsrklfxb3wkp2"; depends=[]; };
+PKI = derive { name="PKI"; version="0.1-1"; sha256="1m4q43yq8ddig15k0j9yg9hq4yz3yplqp68zl3p9g2shkam60p6w"; depends=[base64enc]; };
+PKPDmodels = derive { name="PKPDmodels"; version="0.3.2"; sha256="1h893civ77ahbgjnc6kq3l7rszmqmx9dlxwavldigpq3r79vd86k"; depends=[]; };
+PKfit = derive { name="PKfit"; version="1.2.5"; sha256="0kym2dwb4f53xmf8dq94jz0zmpaiv8pl956j1bs3h9nhhzlaj83y"; depends=[deSolve optimx minpack_lm]; };
+PKgraph = derive { name="PKgraph"; version="1.7"; sha256="0g36cdv5cblqx69j48irxjc5nlw2cl3p714mlsblnd3362z1brwn"; depends=[RGtk2 gWidgetsRGtk2 cairoDevice lattice rggobi ggplot2 proto RGtk2 gWidgetsRGtk2]; };
+PKreport = derive { name="PKreport"; version="1.5"; sha256="16hss9migbxpnw5f9gcw1nlvb81iyji00ylx5wd6kdwhz0ids9wj"; depends=[lattice ggplot2]; };
+PLIS = derive { name="PLIS"; version="1.1"; sha256="0b81s7677wglqvv1b5lx8k2iaks09kz0wrl07245a7j2pk9nxv7p"; depends=[]; };
+PLRModels = derive { name="PLRModels"; version="1.1"; sha256="0dwnzfw7a1cxz9s00kxf19jmjsc8cy6cc9q2mjqf8z7690wrg7hb"; depends=[]; };
+PLSbiplot1 = derive { name="PLSbiplot1"; version="0.1"; sha256="1l8d1k913ic0qwxvrrd447p5ni3mzc6v9lv45b7vqrpzkxdci6gy"; depends=[]; };
+PLordprob = derive { name="PLordprob"; version="1.0"; sha256="156lvz6vfm68hm32l5nlhq15hfacdla627d6lf8l4g34lwzdh8k8"; depends=[mnormt]; };
+PMA = derive { name="PMA"; version="1.0.9"; sha256="11qwgw4sgzl3xhrm468bsza83h3mfn89157nfwnrassl7qr42xkq"; depends=[plyr]; };
+PMCMR = derive { name="PMCMR"; version="1.0"; sha256="07k98zp4s65vx7ybj75b0i1jhlnvfspwjqh10nxdn0zmixw9nywj"; depends=[]; };
+PP = derive { name="PP"; version="0.5.3"; sha256="17y1v2536n7ap0kvllwkmndmdjf4wgwl171c053ph45krv37mscf"; depends=[Rcpp Rcpp]; };
+PPtree = derive { name="PPtree"; version="2.3.0"; sha256="002qjdx52r2h90wzrf2r3kz8fv3nwx08qbp909whn6r4pbdl532v"; depends=[MASS penalizedLDA]; };
+PRISMA = derive { name="PRISMA"; version="0.2-5"; sha256="06z4z1rbsk5a8kpbs6ymm0m02i8dwbmv783c3l2pn4q3pf6ncmd5"; depends=[Matrix gplots ggplot2]; };
+PROFANCY = derive { name="PROFANCY"; version="1.0"; sha256="11a0fpsv1hy0djv36x2i2hv2j50ryy0x7g7nn7vv76m1sl6q6r4b"; depends=[Matrix lattice igraph]; };
+PROTOLIDAR = derive { name="PROTOLIDAR"; version="0.1"; sha256="0bz3071b0wlcvh40vl3dyiiixk5avsj6kjjnvlvx264i5g08rij4"; depends=[]; };
+PRROC = derive { name="PRROC"; version="1.1"; sha256="1v35z9inzb6x42fil8z7kfcrnfif93cj8974mfbqhhx0f9vi476a"; depends=[]; };
+PReMiuM = derive { name="PReMiuM"; version="3.1.0"; sha256="0k8fffsbbdknmv1vshb72mdh7qfdqkrrh41s0ld64ziwnmp3gz23"; depends=[Rcpp ggplot2 cluster plotrix gamlss_dist Rcpp RcppEigen BH]; };
+PResiduals = derive { name="PResiduals"; version="0.2-1"; sha256="0my5slprmswazsxgjvpw8hjr41aqxm6j1s2dga65fvpfv5qimsw6"; depends=[MASS Formula rms sandwich actuar]; };
+PSAboot = derive { name="PSAboot"; version="1.1"; sha256="176sbjr906xk2ycl8653k7nch2h7ryxfisdy178k51f55qpvv4h9"; depends=[ggplot2 PSAgraphics Matching MatchIt modeltools party psych reshape2 rpart TriMatch]; };
+PSAgraphics = derive { name="PSAgraphics"; version="2.1.1"; sha256="05c0k94dxddyrhsnhnd4jcv6fxbbv9vdkss2hvlf3m3xc6jbwvh9"; depends=[rpart]; };
+PSCBS = derive { name="PSCBS"; version="0.44.0"; sha256="1bpvqn2p8pw57dpwk1mr51rsiqirk5sywrycqwbazvjr7hkiqa3d"; depends=[R_methodsS3 R_oo R_utils R_cache matrixStats]; };
+PSM = derive { name="PSM"; version="0.8-10"; sha256="1s60fr85xn3ynpvsbc3nw7vgz6h6jxy3yii1w6jpkw3iwl4bgn84"; depends=[MASS numDeriv deSolve ucminf]; };
+PST = derive { name="PST"; version="0.86"; sha256="0m6v7j36v47zdqqd3lf05w6pk0f3wfs1kix1qfvy2gj8n41jjmxf"; depends=[TraMineR RColorBrewer]; };
+PTAk = derive { name="PTAk"; version="1.2-9"; sha256="1wbjak8dp53601z39kkpa4ysm264x32371rbgbzmyzx89ap2c0cq"; depends=[tensor]; };
+PTE = derive { name="PTE"; version="1.0"; sha256="10if2hh69yysi2y82m7is74hmzw2xpxijgb8bhy1d4g9n9lqidfs"; depends=[doParallel]; };
+PVAClone = derive { name="PVAClone"; version="0.1-2"; sha256="0afl2il5wdcwzpyhjkgq8iz16q1086c3ndr4cjlyspgbss9h5l24"; depends=[dcmle dclone]; };
+PVR = derive { name="PVR"; version="0.2.1"; sha256="1p87pj9g0qlc8ja6xdj2amny9pbkaqb34x2y9nkl1nj1pkwjq2s5"; depends=[ape splancs]; };
+PairViz = derive { name="PairViz"; version="1.2.1"; sha256="0mjp5p6n5azbhrm2hvb9xyqjfhd49pw9ia8k70749yc96ws1qqc7"; depends=[TSP gtools]; };
+PairedData = derive { name="PairedData"; version="1.0.1"; sha256="025h5wjsh9c78bg6gmg6p6kvv2s6d5x7fzn3mp42mlybq0ry78p0"; depends=[MASS gld mvtnorm lattice ggplot2]; };
+Paneldata = derive { name="Paneldata"; version="1.0"; sha256="00hk340x5d4mnpl3k0hy1nypgj55as2j7y2pgzfk3fpn3zls5zib"; depends=[]; };
+ParDNAcopy = derive { name="ParDNAcopy"; version="2.0"; sha256="017xwznhfibi8kp0ifww02c0qcq0vxs06rjww4kcp2bvdmld8kc4"; depends=[]; };
+ParallelForest = derive { name="ParallelForest"; version="1.1.0"; sha256="1xa9lfgrvzv7bvv1aaabcfk4372p8x5gxgj463h5ggf9x177lj5j"; depends=[]; };
+ParamHelpers = derive { name="ParamHelpers"; version="1.5"; sha256="1ywsc96gc252i6girr2ph674wfrzjfk96l2w8512rqy9bgimr0lr"; depends=[BBmisc checkmate]; };
+ParentOffspring = derive { name="ParentOffspring"; version="1.0"; sha256="117g8h0k65f2cjffigl8n4x37y41rr2kz33qn2awyi876nd3mh93"; depends=[]; };
+ParetoPosStable = derive { name="ParetoPosStable"; version="1.0.3"; sha256="0f3f4wn33vw1y3cjcvlk44g8z6hjkv4ws535pkcz3lgb95fl4q0n"; depends=[ADGofTest lmom]; };
+PatternClass = derive { name="PatternClass"; version="1.5"; sha256="1paw39xm2rqjnc7pnbya7gyl160kzl56nys9g0y1sa6cqycy3y5x"; depends=[SDMTools]; };
+Peaks = derive { name="Peaks"; version="0.2"; sha256="0a173p5cdm1jnm7bwsvjpxh4dccy593g02c4qjwky1cgzy5rvin2"; depends=[]; };
+PearsonDS = derive { name="PearsonDS"; version="0.97"; sha256="0bsdj4zir12zkv8yhq1z6dqjzhkb9l0f88jrr4iyclns1pcqvrvi"; depends=[]; };
+PearsonICA = derive { name="PearsonICA"; version="1.2-4"; sha256="0jkbqha1nb9pf72ffki47wymsdmd50smkdhvpzvanv4y2rmqfhvg"; depends=[]; };
+PedCNV = derive { name="PedCNV"; version="0.1"; sha256="09qxcjzwdgzdkbj28rzmfv7k3q2qsiapnvx3m45a835r57h5gynp"; depends=[Rcpp RcppArmadillo ggplot2 Rcpp RcppArmadillo]; };
+PepPrep = derive { name="PepPrep"; version="1.1.0"; sha256="1s2xn05xry50l9kf1mj6yd1dpc7yp6g3d00960hswvhznb0a4l84"; depends=[stringr]; };
+Peptides = derive { name="Peptides"; version="1.0.3"; sha256="06q4sdm3yy5rjkfr6yqkmgjsr1bhrbpghyjqkzqh416wc4lnp073"; depends=[]; };
+PerFit = derive { name="PerFit"; version="1.3.1"; sha256="0zmhafr5fk3z66cp46gasgcxcza2q02821sg8zcs0vk5k80md9a7"; depends=[ltm mirt fda Hmisc irtoys MASS Matrix]; };
+PerMallows = derive { name="PerMallows"; version="1.8"; sha256="1p0rnphhjc0rr1zpbff71mk75lnyph994k4p5whwn2fyfzi1pn0f"; depends=[Rcpp Rcpp]; };
+PerfMeas = derive { name="PerfMeas"; version="1.2.1"; sha256="1x7ancmb41zd1js24rx94plgbssyc71z2bvpic6mg34xjkwdjw93"; depends=[]; };
+PerformanceAnalytics = derive { name="PerformanceAnalytics"; version="1.4.3541"; sha256="1czchsccsbdfjw743j6rm101q2q01pggyl8zmlva213pwm86zb3v"; depends=[xts zoo]; };
+PermAlgo = derive { name="PermAlgo"; version="1.0"; sha256="1dc4b5pn77av80k6pgh9k0ksvv9lnjqiwdb2jv55nm0ndycw0qr4"; depends=[]; };
+PhViD = derive { name="PhViD"; version="1.0.6"; sha256="04vh3892fwb8pn2wmsw5449al80z5sm6avi6b67shky942dasl17"; depends=[MCMCpack]; };
+PharmPow = derive { name="PharmPow"; version="1.0"; sha256="0gabkd8p4zsig9p697lyk8m2jxb5abjk81rpzd5ih1yk1qanhsn5"; depends=[scatterplot3d]; };
+PhaseType = derive { name="PhaseType"; version="0.1.3"; sha256="092dqyqfaxj8qpwxcjb5cayhnq597rfjz1xb93ps4nrczycqs0l6"; depends=[coda ggplot2 reshape]; };
+PhyActBedRest = derive { name="PhyActBedRest"; version="1.0"; sha256="0fpg17fwap12da7xka8pnd1wk6rbmw3zl099588g2r05wq3425sx"; depends=[]; };
+PhysicalActivity = derive { name="PhysicalActivity"; version="0.1-1"; sha256="1aqyip7psf3pdrxkpidfldkk9naihvnc7s3n6w6vvr9h1l5mpmvc"; depends=[]; };
+PivotalR = derive { name="PivotalR"; version="0.1.17.45"; sha256="13rw7y2n2hnyj2lslkb78qhj05765k9snkgdhh4dfnlgnyb19kkw"; depends=[Matrix]; };
+PlayerRatings = derive { name="PlayerRatings"; version="1.0-0"; sha256="0hjb05bdha00ggcpp3n4f86dxjlhzmlpwgsbbx3mhyv3qq1g32ky"; depends=[]; };
+PlotRegionHighlighter = derive { name="PlotRegionHighlighter"; version="1.0"; sha256="0n1nkfr3sdaq6f5p9kgx4slrsvhpdbax3rinrkfkb1vnjj4swj77"; depends=[]; };
+PogromcyDanych = derive { name="PogromcyDanych"; version="1.5"; sha256="1m6sycca44h8kdf9cd67annw6dxxwiscidzfnjrzqmqa4v6n7rsg"; depends=[dplyr SmarterPoland]; };
+PoiClaClu = derive { name="PoiClaClu"; version="1.0.2"; sha256="1j593sc344h9iy7if1ppihx2qd73dv32d77d8ckac43i7b2lig24"; depends=[]; };
+PoisBinNonNor = derive { name="PoisBinNonNor"; version="1.0"; sha256="0a2v5iwrglg4r6zj5qbbg66638kcf45mxw2gs3qv2zpnfkabadnq"; depends=[BB corpcor Matrix mvtnorm]; };
+PoisBinOrd = derive { name="PoisBinOrd"; version="1.1"; sha256="151qqxd2rgh6jxzpclxxa51apiif77j122r2w23bdijkb85sqy9z"; depends=[corpcor GenOrd Matrix mvtnorm]; };
+PoisNonNor = derive { name="PoisNonNor"; version="1.0"; sha256="1i00knyv5m6p9rllkc440cg2agzs36am5b5w9n90506nq36xp8qm"; depends=[BB corpcor MASS Matrix]; };
+PoisNor = derive { name="PoisNor"; version="1.0"; sha256="147ma6qg6nwxzp022jm5mpijhg3jz489qclr9g2mli5mhgm31f8j"; depends=[mvtnorm corpcor Matrix]; };
+PoissonSeq = derive { name="PoissonSeq"; version="1.1.2"; sha256="1hhx0gv06cp6hm6h36mqy411qn9x15y45crpzbyf8crfs85c6gbg"; depends=[combinat]; };
+PolyPatEx = derive { name="PolyPatEx"; version="0.9"; sha256="1y3jsy095kfp9ycjnj467s1y5abba7jkm83x2cajp5g2jdgp7cf6"; depends=[gtools]; };
+PolynomF = derive { name="PolynomF"; version="0.94"; sha256="006ds50ivq91v2jyhgpm5rfaipxbzsnljrki6fjplcw07g0frz71"; depends=[]; };
+Pomic = derive { name="Pomic"; version="1.0.2"; sha256="1i3zsz7gc4n4vid3yi3srrv04qk1678wqyyw303pfibiyfd4m80q"; depends=[]; };
+PopED = derive { name="PopED"; version="0.2.0"; sha256="00qbwabzjb4ns9y9a4gg73zxpx02xcycbm19bdk9z1mv06fkg9dj"; depends=[ggplot2 MASS mvtnorm nlme dplyr codetools]; };
+PopGenKit = derive { name="PopGenKit"; version="1.0"; sha256="0l4mbm0cyppgvcw2cbimrv29aiciyj00k8wfwcj5zr8sh7fgfhs4"; depends=[]; };
+PopGenReport = derive { name="PopGenReport"; version="2.1"; sha256="040h7cvnh1xqlbsyg1lkfiz88421myr47r63v466bxidwb17bqg2"; depends=[knitr adegenet raster lattice RgoogleMaps gap calibrate xtable plyr dismo reshape ggplot2 R_utils ade4 pegas genetics rgdal gdistance vegan sp mmod GGally]; };
+PopGenome = derive { name="PopGenome"; version="2.1.0"; sha256="150n0fdi047nx4iyfdm7ql4gn98wcj1v99llcpaaba78ca7dm83n"; depends=[ff]; };
+PortRisk = derive { name="PortRisk"; version="1.0"; sha256="0vyzvi56lmdlhxpbxcxcfqa8271jv2l45w7x1kzzwl6q0wm4bjln"; depends=[zoo]; };
+PottsUtils = derive { name="PottsUtils"; version="0.3-2"; sha256="05ds0a7jq63zxr3jh66a0df0idzhis76qv6inydsjk2majadj3zv"; depends=[miscF]; };
+PoweR = derive { name="PoweR"; version="1.0.4"; sha256="00y0dvrsbvz8mr8mdw7fk17s5dfgm0f641qg96039y6g3hk2rn77"; depends=[Rcpp Rcpp RcppArmadillo]; };
+Power2Stage = derive { name="Power2Stage"; version="0.3-1"; sha256="0a5llzbhl6s71bh21ka2x50pjissl9gg7f5sskailzcmi60yz2zk"; depends=[PowerTOST]; };
+PowerTOST = derive { name="PowerTOST"; version="1.2-06"; sha256="1amzc0229cwydvnbw59aah52krswdx4k20n6i23vqimmxb26kc64"; depends=[mvtnorm]; };
+PracTools = derive { name="PracTools"; version="0.1"; sha256="0d8m326p41xqr4ndizp5x6qq5h55wgc7yinb6jsxi4xhfd2kiwq5"; depends=[]; };
+PredictABEL = derive { name="PredictABEL"; version="1.2-2"; sha256="08c7j2in1wlas6nmy44s08cq86h5fizqbhsnq312dllqdzmb2h9s"; depends=[Hmisc ROCR epitools PBSmodelling]; };
+PredictiveRegression = derive { name="PredictiveRegression"; version="0.1-4"; sha256="15vkisj3q4hinc3d537s8inhj3wk62q67qhy050xmp9j563ainmd"; depends=[]; };
+PresenceAbsence = derive { name="PresenceAbsence"; version="1.1.9"; sha256="17qn4ggkr5aqml45nkihj1j35y479ywkm1xcfkb2g8ky66jb0c0s"; depends=[]; };
+PrevMap = derive { name="PrevMap"; version="1.1.4"; sha256="1m5a71s6j6x4kmqij1v7wikblk0a0l9lbskrj6q2znwj0hnbk1wy"; depends=[geoR maxLik raster pdist splancs]; };
+PrivateLR = derive { name="PrivateLR"; version="1.2-21"; sha256="1jwq8f0dnngj8sfbmcmxy34nkkq6yjw0mq3w1f8rasz67v3bwzp3"; depends=[]; };
+ProDenICA = derive { name="ProDenICA"; version="1.0"; sha256="04gnsnd0xzw3bfbssdp06bar0lk305ry2c97pmwxgiz3ay88dfsj"; depends=[gam]; };
+ProbForecastGOP = derive { name="ProbForecastGOP"; version="1.3.2"; sha256="0fnw3g19lx4vs8vmn4qdirvybkiy2cxkhwkn9qa3phz45iixnvx4"; depends=[RandomFields fields]; };
+ProfessR = derive { name="ProfessR"; version="2.3"; sha256="1y88as4xjvdm2v2ms5l7c6ziq7sll6qkrpgzdd4xnbcjx7c0g9w8"; depends=[RPMG]; };
+ProfileLikelihood = derive { name="ProfileLikelihood"; version="1.1"; sha256="16cdp1nimhg1sd2x0qbffm7clgk54p0838y688z8lnsrjaggmb0x"; depends=[nlme MASS]; };
+ProgGUIinR = derive { name="ProgGUIinR"; version="0.0-4"; sha256="0srhk42ssx4i096sbs4jacqjsc1ffqjxjgvpplzshlqaby1h3795"; depends=[ggplot2 svMisc MASS]; };
+ProjectTemplate = derive { name="ProjectTemplate"; version="0.6"; sha256="0ijsy49gghnki5l63vg5l2awy57kbxbih618j5i5lxs44g15sa5v"; depends=[]; };
+PropCIs = derive { name="PropCIs"; version="0.2-5"; sha256="0wnc5h4390w4rglr7gjh6827f5r7gdhajx1iwp5fggdlm808hgq7"; depends=[]; };
+PropClust = derive { name="PropClust"; version="1.4-2"; sha256="13ac895i7ljayyqcjjmwvwar6wf1j0qssazcb5nlz8rw155qwavs"; depends=[flashClust dynamicTreeCut]; };
+PropScrRand = derive { name="PropScrRand"; version="1.1"; sha256="0cj62dzg4zm8d1g8h7qmviiwm93cwplppbi0p674fmmf1wy84v9s"; depends=[]; };
+PsumtSim = derive { name="PsumtSim"; version="0.4"; sha256="0079kb1bgsxs4cwmn33rbbk2jgq39rdjfgz9k9hc64iyzz0i6na3"; depends=[EffectsRelBaseline boot]; };
+PtProcess = derive { name="PtProcess"; version="3.3-7"; sha256="0a180qdf1a7jhng4ihjhd2aq2d7pd9pahir6920xczxvdgp3lm0l"; depends=[]; };
+PubBias = derive { name="PubBias"; version="1.0"; sha256="0dr5dhfx57knrs05pbx9ngg4k2937n8gjzsgd0jfqd8dfxhy051k"; depends=[rmeta R_utils]; };
+PubMedWordcloud = derive { name="PubMedWordcloud"; version="0.3.2"; sha256="1xn4ygpvj6pm548yj5kjh2l8n59p2caihfpbkykvbkzgf7hq8p00"; depends=[XML stringr RCurl wordcloud tm RColorBrewer]; };
+PurBayes = derive { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; };
+PwrGSD = derive { name="PwrGSD"; version="2.000"; sha256="0qxvws9mfrnqw5s24qhqk6cbffjm13z7awyxdmnilazghpiq1p7s"; depends=[survival]; };
+QCA = derive { name="QCA"; version="1.1-4"; sha256="0wg2yfg61bmcxmkxvm9zjrnz4766f176y4gyqvfp5hsp9pp0h2lm"; depends=[lpSolve]; };
+QCA3 = derive { name="QCA3"; version="0.0-7"; sha256="0i9i2i633sjnzsywq51r2l7fkbd4ip217hp0vnkj78sfl7zf1270"; depends=[lpSolveAPI]; };
+QCAGUI = derive { name="QCAGUI"; version="1.9-6"; sha256="020ngni02j2w2ylhyidimm51d426pym2g1hg7gnpb7aplxx67n6x"; depends=[abind QCA]; };
+QCAtools = derive { name="QCAtools"; version="0.1"; sha256="1fcssxpyw0kfm6xgihkv4qxqmg628ahfr1bk36b9di9d29w6vgn9"; depends=[stringr QCA ggplot2 directlabels]; };
+QCGWAS = derive { name="QCGWAS"; version="1.0-8"; sha256="1wn1kddgfmqv326pihnavbgsbd2yxrlq5s2xgi6kbprssxvj8bk1"; depends=[]; };
+QRM = derive { name="QRM"; version="0.4-10"; sha256="1fkxjqyb9yqki4qwk393ra66wg5dnbr5b5sgypm8wk973crbhcj0"; depends=[gsl Matrix mvtnorm numDeriv timeSeries Rcpp mgcv Rcpp]; };
+QSARdata = derive { name="QSARdata"; version="1.3"; sha256="0dhldnh0jzzb4assycc0l14s45ymvha48w04jbnr34lrwgr9krh4"; depends=[]; };
+QTLRel = derive { name="QTLRel"; version="0.2-14"; sha256="05x56a8fjr6xk38dphdzh77y520cr6zykjp3qlx27drk9s5z06cs"; depends=[gdata]; };
+QUIC = derive { name="QUIC"; version="1.1"; sha256="021bp9xbaih60qmss015ycblbv6d1dvb1z89y93zpqqnc2qhpv3c"; depends=[]; };
+QZ = derive { name="QZ"; version="0.1-4"; sha256="1k657i1rf6ayavn0lgfvlh8am3kzypgb1jhf2by147gv103izkrz"; depends=[]; };
+QoLR = derive { name="QoLR"; version="1.0"; sha256="1ah6x1fcs4l571jvgm0c257cgxhhpkzfhqimwbb9j7xbz3h55lp3"; depends=[survival zoo]; };
+QuACN = derive { name="QuACN"; version="1.8.0"; sha256="1597blp8gqc5djvbgpfzi8wamvy0x50wh5amxj9cy99qa0jlglxi"; depends=[combinat igraph]; };
+QualInt = derive { name="QualInt"; version="1.0.0"; sha256="1ms96m3nz54848gm9kdcydnk5kn2i8p1rgl2dwn7cqcqblfvsr4j"; depends=[survival ggplot2]; };
+Quandl = derive { name="Quandl"; version="2.4.0"; sha256="0apgwc85ija33dl9qgb8nr2wj5rx0xv6wlmg427nkxnr8pnar8ih"; depends=[xts RCurl RJSONIO zoo]; };
+QuantPsyc = derive { name="QuantPsyc"; version="1.5"; sha256="1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93"; depends=[boot MASS]; };
+QuantifQuantile = derive { name="QuantifQuantile"; version="1.0"; sha256="0r3yz8k68z6c751r0ryxv744spch4aws50313miq498r5mvr4w1y"; depends=[rgl]; };
+QuasiSeq = derive { name="QuasiSeq"; version="1.0-6"; sha256="0hv6fmw8kqdg82nwdiqb9naryw4x42rv9xw1zmahgqyxr9ffnrgr"; depends=[Matrix mgcv]; };
+Quor = derive { name="Quor"; version="0.1"; sha256="1ncl4pj472m881fqndcm6jzn4jkwbnzpc639c9vy5mxa4z569i1g"; depends=[combinat]; };
+R_cache = derive { name="R.cache"; version="0.10.0"; sha256="0y8q3w9z9cyzsg60x95kkc81ksc2d5vpdaqg5njq5bgjyw7yjqvs"; depends=[R_methodsS3 R_oo R_utils]; };
+R_devices = derive { name="R.devices"; version="2.13.0"; sha256="1ys4sxns2y5cgqb18scclsv99jfkyy3l9mq0jcnh76c48gpzaisp"; depends=[R_methodsS3 R_oo R_utils base64enc]; };
+R_filesets = derive { name="R.filesets"; version="2.7.0"; sha256="12aghswi40qr6n6rzyv2bpy1wlp61ij7h1yblbhlmdk3p4rd0bs1"; depends=[R_oo R_methodsS3 R_utils R_cache digest]; };
+R_huge = derive { name="R.huge"; version="0.9.0"; sha256="13p558qalv60pgr24nsm6mi92ryj65rsbqa6pgdwy0snjqx12bgi"; depends=[R_methodsS3 R_oo R_utils]; };
+R_matlab = derive { name="R.matlab"; version="3.2.0"; sha256="1c87m6pv62ciqwpmsp8l7rkixcv04s9nkdn4yjbgyqvcslfaw26m"; depends=[R_methodsS3 R_oo R_utils]; };
+R_methodsS3 = derive { name="R.methodsS3"; version="1.7.0"; sha256="1dg4bbrwr8jcsqisjrrwxs942mrjq72zw8yvl2br4djdm0md8zz5"; depends=[]; };
+R_oo = derive { name="R.oo"; version="1.19.0"; sha256="15rm1qb9a212bqazhcpk7m48hcp7jq8rh4yhd9c6zfyvdqszfmsb"; depends=[R_methodsS3]; };
+R_rsp = derive { name="R.rsp"; version="0.20.0"; sha256="06vq9qq5hdz3hqc99q82622mab6ix7jwap20h4za6ap6gnwqs0fv"; depends=[R_methodsS3 R_oo R_utils R_cache]; };
+R_utils = derive { name="R.utils"; version="2.0.0"; sha256="1ldrz6nj45mnggk1zsx8j479kzfi2pjp402zid5yrnqmh50q61sb"; depends=[R_oo R_methodsS3]; };
+R0 = derive { name="R0"; version="1.2-5"; sha256="13f0dvxf1gz9j8ih1n8giyhb4s7nrh1r7ncc5smvh06kjgr5b341"; depends=[MASS]; };
+R1magic = derive { name="R1magic"; version="0.2"; sha256="07kqpdpf2grmgkv609l79f3w6ljkldfsyrn9l1yg6birzp3p69v1"; depends=[]; };
+R2BayesX = derive { name="R2BayesX"; version="1.0-0"; sha256="1p60n14gaqciskzah5haskflpms1g5lh4n57653yysa7fvmfgdhw"; depends=[BayesXsrc colorspace mgcv]; };
+R2Cuba = derive { name="R2Cuba"; version="1.0-11"; sha256="1kgcxqn83yskh0dv6vyz66d0z32qy55par36jj987qglpl25zmax"; depends=[]; };
+R2G2 = derive { name="R2G2"; version="1.0-2"; sha256="05d5vybvsi4pyr099916nk1l8sqszs9gaj2vhsx1jxxks8981na7"; depends=[]; };
+R2GUESS = derive { name="R2GUESS"; version="1.6"; sha256="1lh73zjch2jaspas065mkcsq13v6s323k4wdhvkydmvyhlgvlpcl"; depends=[fields MCMCpack mixOmics mvtnorm snowfall]; };
+R2HTML = derive { name="R2HTML"; version="2.3.1"; sha256="01mycvmz4xd1729kkb8nv5cl30v3qy3k4fmrlr2m1112hf5cmp59"; depends=[]; };
+R2MLwiN = derive { name="R2MLwiN"; version="0.8-0"; sha256="1fjns3v6prjkd4iwdcj846sj5ji1bg4b7axxx18wlsvrin83gd9k"; depends=[lattice coda Matrix foreign rbugs digest]; };
+R2OpenBUGS = derive { name="R2OpenBUGS"; version="3.2-2.2"; sha256="0hnp46linvpnzifhyb3r13xmwvdc3psabs53xl6qxxm4snrl4bnd"; depends=[coda boot]; };
+R2STATS = derive { name="R2STATS"; version="0.68-38"; sha256="1v8mvkvs4fjch0dpjidr51jk6ynnw82zhhylyccyrad9f775j2if"; depends=[proto Matrix lattice lme4 cairoDevice gWidgets gWidgetsRGtk2 RGtk2Extras MASS latticeExtra statmod]; };
+R2SWF = derive { name="R2SWF"; version="0.9"; sha256="0c3lkmm8wgpix3fv7dxql6zpklwbcsv1y30r26yws12fnavw4y1k"; depends=[sysfonts]; };
+R2WinBUGS = derive { name="R2WinBUGS"; version="2.1-19"; sha256="03bvxv46lhhnbfjq3w5ig50icncwn1bdq7lsh6w1szdk90ah2zgh"; depends=[coda boot]; };
+R2admb = derive { name="R2admb"; version="0.7.10"; sha256="0rjrd1wpr1f4l800mccnwsa121g93rrr7q9dq0xxvkl3lsbn6f2s"; depends=[]; };
+R2jags = derive { name="R2jags"; version="0.05-03"; sha256="02r68g005cmcc7dg1a52awdyak2sg2pszpl6ckw4bw19sk9nnd48"; depends=[rjags abind coda R2WinBUGS]; };
+R330 = derive { name="R330"; version="1.0"; sha256="01sprsg7kph62abhymm8zfqr9bd6dhihrfxzgr4pzi5wj3h80bjm"; depends=[s20x leaps rgl lattice]; };
+R4CDISC = derive { name="R4CDISC"; version="0.3"; sha256="0443mzkhsbrvsl7vawfpabsdqbqr9yjyyhsw1y07yncy55ylc2v5"; depends=[XML]; };
+R4CouchDB = derive { name="R4CouchDB"; version="0.7.1"; sha256="08s999m1kfjzabng41d5fpkag7nrdbricnw7m4jvj1ssqfnil2hj"; depends=[bitops RCurl RJSONIO]; };
+R4dfp = derive { name="R4dfp"; version="0.2-4"; sha256="02crzjphlq4hi2crh9lh8l0acmc1rgb3wr1x8sn56cwhq4xzqzcb"; depends=[]; };
+R6 = derive { name="R6"; version="2.0.1"; sha256="0ngm3hl0q3aj067q6q0iqh729z8jx3ydvasj1jw9qrr7bzjh1jn5"; depends=[]; };
+RAD = derive { name="RAD"; version="0.3"; sha256="0nmgsaykxavq2bskq5x0jvsxzsf4w2gqc0z80a59376li4vs9lpj"; depends=[mvtnorm MASS]; };
+RADami = derive { name="RADami"; version="1.0-3"; sha256="0rg07dsh2rlldajcj0gq5sgsl1i3qa28bsrmq88xcljg5hnr4iqn"; depends=[ape geiger phangorn]; };
+RAM = derive { name="RAM"; version="1.2.0"; sha256="1xf296a2xqv9nq3m5lswnbfy023s6dp0yv8y0hr8xq0mw9mym3v3"; depends=[vegan ggplot2 gridExtra RColorBrewer gplots plyr reshape2 scales labdsv ggmap permute VennDiagram data_table FD MASS RgoogleMaps ape lattice reshape]; };
+RAMP = derive { name="RAMP"; version="1.0"; sha256="18cz8gvb49j1hic71dzfcl17hz5gjdcabqvq84yr1h7iqkrq95cq"; depends=[]; };
+RAMpath = derive { name="RAMpath"; version="0.3.8"; sha256="1p1l6iirb314n5246kyyz0r3ja4v05xb5a6aq9k26wsb5m42x85k"; depends=[lavaan ellipse]; };
+RANN = derive { name="RANN"; version="2.4.1"; sha256="13d2wi3r4b190f6s6y4zipqf43gy9c1h71b9j7qmc3lqca4nvzmd"; depends=[]; };
+RAP = derive { name="RAP"; version="1.1"; sha256="18dclijs72p6gxawpg8hk7n512ah4by5jfg2jnrp8mz79ajmdgir"; depends=[]; };
+RAPIDR = derive { name="RAPIDR"; version="0.1.1"; sha256="14cnw4jjs5anb55zlg1yj6qc9yr51rsamigq2q7h8ypj2ggnna1d"; depends=[data_table PropCIs]; };
+RAdwords = derive { name="RAdwords"; version="0.1.1"; sha256="17srb2zlli19x6gq79ylx9psb92qq5z7hnmqa4n26zgdd3iaf9mk"; depends=[RCurl rjson]; };
+RApiSerialize = derive { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; };
+RAppArmor = derive { name="RAppArmor"; version="1.0.1"; sha256="06j7ghmzw2rrlk8nsarmpk1ab2gg88qs52zpw37rhqchpyzwwkfb"; depends=[]; };
+RArcInfo = derive { name="RArcInfo"; version="0.4-12"; sha256="1j1c27g2gmnxwslff4l0zivi48qxvpshmi7s9wd21cf5id0y4za4"; depends=[RColorBrewer]; };
+RAtmosphere = derive { name="RAtmosphere"; version="1.1"; sha256="0mk43bq28hlrjwaycsxca458k8xf00q58czgc17d8yx3kz17a5i0"; depends=[]; };
+RBPcurve = derive { name="RBPcurve"; version="1.0-20"; sha256="1fk2zj16xj8n9jnydzd60crdfsigqd6xs2hq572b9r65ldiikv3z"; depends=[mlr BBmisc checkmate shape TeachingDemos]; };
+RCA = derive { name="RCA"; version="1.4.5"; sha256="0s200s28a6gh3dggad52dgqnf0k2jsfrqv1hbg8w2529v4s3dc5i"; depends=[igraph]; };
+RCALI = derive { name="RCALI"; version="0.2-15"; sha256="0w9807dyjghqy1rnv2c0k4kdjlwxzg5fk5r3rsqrmzjj4r8x9g9w"; depends=[splancs]; };
+RCEIM = derive { name="RCEIM"; version="0.2"; sha256="0l3lfx3zqxf310rhvjkn977xchxzi7cbzij3ks0nqlx55x5ica9w"; depends=[]; };
+RCMIP5 = derive { name="RCMIP5"; version="1.1"; sha256="1aqcwxh2p4z7wn4p224xdiaharbr51rj51aa760rirs5s1ra7f6q"; depends=[abind dplyr reshape2 digest]; };
+RCPmod = derive { name="RCPmod"; version="1.4"; sha256="1psn1w8ws0n96jqvd98l0wl0l46w0691c5vm9aarql2pqnc73lw9"; depends=[numDeriv gtools]; };
+RCassandra = derive { name="RCassandra"; version="0.1-3"; sha256="0xa241s81cyw6lfjb522f2mlyrd0gav9yz3z5jab9hpdpgg9ri38"; depends=[]; };
+RCircos = derive { name="RCircos"; version="1.1.2"; sha256="0j7ww2djnhpra13vjr6y772sg64ikdmw1z68lpp9i7d0shlc3qx9"; depends=[]; };
+RClimMAWGEN = derive { name="RClimMAWGEN"; version="1.1"; sha256="0icy560llfd10mxlq0xmc6lbg6a030za9sygw1rpz8sk5j0lvb84"; depends=[climdex_pcic RMAWGEN]; };
+RColorBrewer = derive { name="RColorBrewer"; version="1.1-2"; sha256="1pfcl8z1pnsssfaaz9dvdckyfnnc6rcq56dhislbf571hhg7isgk"; depends=[]; };
+RConics = derive { name="RConics"; version="1.0"; sha256="1lwr7hi1102gm8fi9k5ra24s0rjmnkccihhqn3byckqx6y8kq7ds"; depends=[]; };
+RCryptsy = derive { name="RCryptsy"; version="0.2"; sha256="1sm6l2jbaxia53dqivii5g7pqbczvjk53c2v2vz65qz1qnrmrybj"; depends=[RJSONIO RCurl]; };
+RCurl = derive { name="RCurl"; version="1.95-4.5"; sha256="0a99awma5ylcagr6y9adv82hr5wk5cg4i5flra5q0cpvhp9w8sd2"; depends=[bitops]; };
+RDIDQ = derive { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; };
+RDML = derive { name="RDML"; version="0.4-2"; sha256="0bx1n6x3yskpbgwwwjhs6hk43sfq7x55yffvnd7bz5qb3l49wsw2"; depends=[XML chipPCR]; };
+RDS = derive { name="RDS"; version="0.7"; sha256="0xlz1pkgznk6x3298f6b40l9h26y0akwkvy91ms2hh35hwk0m7y7"; depends=[gridExtra ggplot2 Hmisc igraph locfit reshape2 scales]; };
+RDSTK = derive { name="RDSTK"; version="1.1"; sha256="07vfhsyah8vpvgfxfnmp5py1pxf4vvfzy8jk7zp1x2gl6dz2g7hq"; depends=[plyr rjson RCurl]; };
+RDataCanvas = derive { name="RDataCanvas"; version="0.1"; sha256="1aw19lmdphxwva5cs3f4fb8hllirzfkk48nqdgrarz32l11y5z5j"; depends=[jsonlite]; };
+RDieHarder = derive { name="RDieHarder"; version="0.1.3"; sha256="0wls7b0qfbi6hsq9xdywi4mdhim5b6mrzhvyrm9dxp9z1k7imz6m"; depends=[]; };
+RDota = derive { name="RDota"; version="1.2"; sha256="1r56s4ii37szmdwgbnlw2g9576kjvyc79nvnfrsgr5mys62pbrzs"; depends=[XML]; };
+REBayes = derive { name="REBayes"; version="0.50"; sha256="0p4kv709r0577xq3mdw2vwla1gsjm8b9mnbsbfwm8fx3n3wfrx0p"; depends=[Rmosek Matrix SparseM]; };
+RECA = derive { name="RECA"; version="1.1"; sha256="1wgcd53yy4xsi7i674n4255qvvv6988r43q7n7pjqrimp04g1qd0"; depends=[]; };
+REDCapR = derive { name="REDCapR"; version="0.7-1"; sha256="1r5vvl52z5gpqhq949fzwmsqvwpr74phcapkckczyznlfql4qdh1"; depends=[httr plyr stringr]; };
+REEMtree = derive { name="REEMtree"; version="0.90.3"; sha256="01sp36p12ky8vgsz6aik80w4abs70idr9sn4627lf94r92wwwsbc"; depends=[nlme rpart]; };
+REPPlab = derive { name="REPPlab"; version="0.9.1"; sha256="1yrw03p7rk5dbr23z343kxn7vbac8khcz4c718wq9w6sykhgv8d0"; depends=[rJava lattice]; };
+REQS = derive { name="REQS"; version="0.8-12"; sha256="049glqhc8h8gf425kmj92jv70917dsigpm37diby0c6hb4jrg8ka"; depends=[gtools]; };
+RESS = derive { name="RESS"; version="1.0"; sha256="0p6zfvakq4c02qp26l8zqcmi95na408rv6j6ibaxbcyf5vq9rhcs"; depends=[]; };
+REdaS = derive { name="REdaS"; version="0.9.2"; sha256="0w1b2996b0sdpxklkxylnk18dx8vgssn5avh7pnrvdqa464ci4f8"; depends=[]; };
+RFGLS = derive { name="RFGLS"; version="1.1"; sha256="13ggxj74h5b2hfhjyc50ndxznkvlg18j80m78hkzwh25d3948fsk"; depends=[bdsmatrix Matrix]; };
+RFLPtools = derive { name="RFLPtools"; version="1.6"; sha256="1hl2crg7jl266zac41xvx151h7kl52346wnlvd8hba64s4s4apay"; depends=[RColorBrewer]; };
+RFOC = derive { name="RFOC"; version="3.3-3"; sha256="101d7nf4zjni5kdk54w3afdaqnjzl7y90zygybkqpd0vi82q602b"; depends=[RPMG GEOmap RSEIS MASS splancs]; };
+RFinanceYJ = derive { name="RFinanceYJ"; version="0.3.1"; sha256="0qhmzsch7c2p0zckjkspsajzh8m10cf75ixjlgd0nj8rm41fngm3"; depends=[XML xts]; };
+RFmarkerDetector = derive { name="RFmarkerDetector"; version="1.0"; sha256="0p8dnqwhsjh1gwxvqpicdbsjs9gczqi5j4av786l9g18f5djsv6m"; depends=[AUCRF randomForest ggplot2 UsingR WilcoxCV ROCR]; };
+RForcecom = derive { name="RForcecom"; version="0.7"; sha256="0rjav2rwanzqgi1yasbm9lj18f0mfxwd8w8x41skf656gfcpi0i4"; depends=[XML RCurl plyr]; };
+RFreak = derive { name="RFreak"; version="0.3-0"; sha256="1dmllxb6yjkfkn34f07j2g7w5m63b5d10lh9xsmxyfk23b8l3x0x"; depends=[rJava]; };
+RGA = derive { name="RGA"; version="0.2.1"; sha256="14fyd65n75m4xjdp019xdp3sa6h6j3ip6yr42b4nn1cxgkjplbnm"; depends=[httr httpuv RCurl jsonlite shiny]; };
+RGCCA = derive { name="RGCCA"; version="2.0"; sha256="0mcp51z5jkn7yxmspp5cvmmvq0cwh7hj66g7wjmxsi74dwxcinvg"; depends=[MASS]; };
+RGENERATE = derive { name="RGENERATE"; version="1.3"; sha256="16gkdwbigdsdvnplqhzs11kk4dhb2rlnf7vj6kbzxw9fb1b7818q"; depends=[RMAWGEN]; };
+RGENERATEPREC = derive { name="RGENERATEPREC"; version="1.0"; sha256="1f6y3i8r6a9cajbj127s0cd13ihbi8scgrsgizza1fjb7fg2g450"; depends=[copula RGENERATE blockmatrix Matrix stringr RMAWGEN]; };
+RGIFT = derive { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
+RGenetics = derive { name="RGenetics"; version="0.1"; sha256="0x5sspd67hh08qm62whlnnd838m0np29q3bfzgwp6j85lhil3jrx"; depends=[]; };
+RGoogleAnalytics = derive { name="RGoogleAnalytics"; version="0.1.1"; sha256="1049fyxl00izw92rm508p90asjp0agmv38b00yfbmasfzsp1r00s"; depends=[lubridate httr]; };
+RGraphics = derive { name="RGraphics"; version="2.0-12"; sha256="03f0rlckfkll3s30avglbf0524laf8n6plxlbmbx1qi1s18hcfai"; depends=[lattice ggplot2]; };
+RGtk2 = derive { name="RGtk2"; version="2.20.31"; sha256="1ilnlmsk9fis61pc5bn9sf7z4b7vc7f0a0zcy77kk4bns6iqjvyp"; depends=[]; };
+RGtk2Extras = derive { name="RGtk2Extras"; version="0.6.1"; sha256="19gjz2bk9dix06wrmlnq02yj1ly8pzhvr0riz9b08vbzlsv9gnk2"; depends=[RGtk2]; };
+RH2 = derive { name="RH2"; version="0.2.3"; sha256="1qbxy600fc8k2xl70liggdgg03ga6a8yad001banqzdmh508wcxl"; depends=[chron RJDBC rJava]; };
+RHRV = derive { name="RHRV"; version="4.0"; sha256="16xmmmw8gsqalbqf59xwpkd2bkfwxrdx8bwdn875bizx7mn0bql7"; depends=[tkrplot waveslim nonlinearTseries]; };
+RHT = derive { name="RHT"; version="1.0"; sha256="1gxf8nhj3y92h8al7l3fxa45wc568kb3cykrbdjlsy2zjacf7fcc"; depends=[]; };
+RHive = derive { name="RHive"; version="2.0-0.2"; sha256="0a1saqqwh6zvz264jkkd6c9abxpsg1j4yfivb5h773i76pzhvqc3"; depends=[rJava]; };
+RI2by2 = derive { name="RI2by2"; version="1.2"; sha256="0387ncq1nhpz8521nwsjybsdpncm56nrwkz68apgihmrbjlmp6m7"; depends=[gtools]; };
+RIFS = derive { name="RIFS"; version="0.1-5"; sha256="0705dhirh7bhy2yf3b1mpk3m7lggg4pwy640lvaspwaxkd6zac5w"; depends=[]; };
+RIGHT = derive { name="RIGHT"; version="0.1.2"; sha256="047g6gymrfzccnp56pvvk3s2r19p1czm9pjmpdn3fnx13d8lalaz"; depends=[shiny]; };
+RISmed = derive { name="RISmed"; version="2.1.5"; sha256="03c2b6iqq147kwrpx6wh440y1p2sy5c4i3v2yph99326pzxbyw7q"; depends=[]; };
+RImageJROI = derive { name="RImageJROI"; version="0.1"; sha256="06x8p8wpzmsc6f2330m74x4dmh21dn0gqicand2l198knahp3kf7"; depends=[spatstat]; };
+RImpala = derive { name="RImpala"; version="0.1.5"; sha256="0kx2h6gkjxrsp6c33p1j7irs205rn5lpknlmc8as3v1ziigi4d51"; depends=[rJava]; };
+RInSp = derive { name="RInSp"; version="1.2"; sha256="0zg46qw44wx17ydcz592gl4k9qq08dycmsshxxqkjf92r3g3l6wm"; depends=[]; };
+RInside = derive { name="RInside"; version="0.2.12"; sha256="09dx9md5i4vdgadmqfzcchs5nhkml4nwr8ckgmmqll0y3xph2f3h"; depends=[Rcpp Rcpp]; };
+RItools = derive { name="RItools"; version="0.1-12"; sha256="0zdwj5y355d8jnwmjic3djwn6zy7h1iyl58j9hmnmc3m369cir0s"; depends=[lattice SparseM xtable svd abind]; };
+RJDBC = derive { name="RJDBC"; version="0.2-5"; sha256="0cdqil9g4w5mfpwq85pdq4vpd662nmw4hr7qkq6510gk4l375ab2"; depends=[DBI rJava]; };
+RJSDMX = derive { name="RJSDMX"; version="1.3"; sha256="1z4l6iw404qn3syk2877msywkr8369nic5zzvnx1qj0gj9x2mm2p"; depends=[rJava zoo]; };
+RJSONIO = derive { name="RJSONIO"; version="1.3-0"; sha256="1dwgyiy19sixhy6yclqcaaxswbmpq7digyjjxhy1qv0wfsvk94qi"; depends=[]; };
+RJaCGH = derive { name="RJaCGH"; version="2.0.3"; sha256="0wz7vhlgzf8smzl7gx01dx070266fnmzw66wpl0im20nxfy8mr0l"; depends=[]; };
+RKEA = derive { name="RKEA"; version="0.0-5"; sha256="0ni5vdv5pjyl1kshqlp0vh7jfpn098949nwczz2ylk3qqs2hj0vm"; depends=[rJava tm]; };
+RLRsim = derive { name="RLRsim"; version="3.0"; sha256="16bqsp15b8ikgix18p63k6sf81d1al4djbb51r08imjs4z9jppg4"; depends=[Rcpp mgcv Rcpp]; };
+RM2 = derive { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; };
+RMAWGEN = derive { name="RMAWGEN"; version="1.3.0"; sha256="19p8bxcfk802pdn6990ya0bd9ghbvg8vmk3z01x1v76w09j4bv38"; depends=[chron date vars]; };
+RMC = derive { name="RMC"; version="0.2"; sha256="1sc4nsjmaw2ajm8bka7r4mf73zxqhnvx23kl4v20pfpy9rhgd0h6"; depends=[]; };
+RMKdiscrete = derive { name="RMKdiscrete"; version="0.1"; sha256="0b4adw46sn98qmy4nxv5l5svcjrp5532x7slfhhgsskqx408lzjf"; depends=[]; };
+RMOA = derive { name="RMOA"; version="1.0"; sha256="01mrl6544wv2jc8b8gk1whs865sbv4id5sywnf1hq3r7g8wgs8lp"; depends=[RMOAjars rJava]; };
+RMOAjars = derive { name="RMOAjars"; version="1.0"; sha256="0k3w37dwyyvfxh7a9l76cyjm27qq1clxppc5h16li2m8x68fvpjq"; depends=[rJava]; };
+RMRAINGEN = derive { name="RMRAINGEN"; version="1.0"; sha256="175kd803a44yblq2jw5mrn2qv4piiy249577lf684bmmajf4ird4"; depends=[copula RGENERATE RMAWGEN blockmatrix Matrix]; };
+RMTstat = derive { name="RMTstat"; version="0.3"; sha256="1nn25q4kmh9kj975sxkrpa97vh5irqrlqhwsfinbck6h6ia4rsw1"; depends=[]; };
+RMallow = derive { name="RMallow"; version="1.0"; sha256="0prd5fc98mlxnwjhscmghw62jhq9rj5jk8qf4fnaa2a718yxf9b5"; depends=[combinat]; };
+RMark = derive { name="RMark"; version="2.1.12"; sha256="0b8yzng9c74yxl1a1nkc4knf2a9114mjkis19b1pdnclyxcnx45z"; depends=[snowfall matrixcalc msm coda]; };
+RMediation = derive { name="RMediation"; version="1.1.3"; sha256="07ck74dl1wwb88229fhkh2czlynddff7zvjyhisxk53qmdb0wvmw"; depends=[MASS lavaan e1071]; };
+RMongo = derive { name="RMongo"; version="0.0.25"; sha256="1anybw64bcipwsjc880ywzj0mxkgcj6q0aszdad6zd4zlbm444pc"; depends=[rJava]; };
+RMySQL = derive { name="RMySQL"; version="0.10.2"; sha256="1yzlldgnncbd8aqkhphnwb8bk164ds4ql3hq1h2qdlicf6x806kz"; depends=[DBI]; };
+RNCBIEUtilsLibs = derive { name="RNCBIEUtilsLibs"; version="0.9"; sha256="1h1ywx8wxy6n2rbpmjbqw4c0djz29pbncisd0mlbshj1fw226jba"; depends=[rJava]; };
+RNCEP = derive { name="RNCEP"; version="1.0.7"; sha256="0yvddsdpdrsg2dafmba081q4a34q15d7g2z5zr4qnzqb8wjwh6q2"; depends=[maps RColorBrewer abind fields fossil tgp sp]; };
+RND = derive { name="RND"; version="1.1"; sha256="1rbnjkfrsvm68xp90l4awixbvpid9nxnhg6i6fndpdmqwly2fwdp"; depends=[]; };
+RNeXML = derive { name="RNeXML"; version="2.0.1"; sha256="10p9njlrpkwgnyjkcz7w579dwi0nwdmksyl2gpbq106fzqvh0s47"; depends=[ape XML plyr taxize reshape2 httr uuid]; };
+RNetCDF = derive { name="RNetCDF"; version="1.6.3-1"; sha256="0c112qwxzml3mbdss69607amxvhpkfgs7ihymxidgkv0s3ra7cp5"; depends=[]; };
+RNetLogo = derive { name="RNetLogo"; version="1.0-1"; sha256="051yx7l8qbnvb4gn67m00wnl6v0jrmavmp7n7zygjn7p1xi3w22c"; depends=[rJava igraph]; };
+RNiftyReg = derive { name="RNiftyReg"; version="1.1.3"; sha256="1z980rwlq7wg4zjslppzs9d2cxhj7l63sgg8x8g6zgs5ag3pzgi7"; depends=[reportr oro_nifti]; };
+ROAuth = derive { name="ROAuth"; version="0.9.6"; sha256="0vhsp8qybrl94898m2znqs7hmlnlbsh8sm0q093dwdb2lzrqww4m"; depends=[RCurl digest]; };
+ROC632 = derive { name="ROC632"; version="0.6"; sha256="0vgv4rclvb79mfj1phs2hmxhwchpc5rj43hvsj6bp7wv8cahfg5g"; depends=[survival penalized survivalROC]; };
+ROCR = derive { name="ROCR"; version="1.0-5"; sha256="0xxhr31l1k9gs99yw1plnp4m5c33mp4dy3sdfhf33i57gi3yww0a"; depends=[gplots]; };
+ROCS = derive { name="ROCS"; version="1.2"; sha256="1liph11p5dwvm1z5vq7ph5pizzqrm6ami94cq6y5kvm2qyv0jfah"; depends=[rgl]; };
+ROCt = derive { name="ROCt"; version="0.8"; sha256="1k0571gq7igg56qxwf9ibk28v763ji0w9183gs6qp95lpbyp5zwr"; depends=[date survival relsurv]; };
+ROCwoGS = derive { name="ROCwoGS"; version="1.0"; sha256="029nramxwhzqim315g1vkg1zsszzkic28w6ahwg9n7bk9d08adzk"; depends=[]; };
+RODBC = derive { name="RODBC"; version="1.3-11"; sha256="1j6qv7w4klgwzdx9jf6h4l1x1idn3rka70ql37pbnzga1h5dr9yy"; depends=[]; };
+RODBCext = derive { name="RODBCext"; version="0.2.3"; sha256="0j0774gpnd72mw3x9qv7shiwrk0s5rk8hf0wjq4iy42wwbvql7l6"; depends=[RODBC]; };
+RODM = derive { name="RODM"; version="1.1"; sha256="0cyi2y3lsw77gqxmawla5jlm4vnhsagh3ykdgb6izxslc4j2fszx"; depends=[RODBC]; };
+ROI = derive { name="ROI"; version="0.1-0"; sha256="01za8cxjf721m2lxnw352k8g32pglmllk50l7b8yhjwc49k8rl66"; depends=[registry slam]; };
+ROI_plugin_glpk = derive { name="ROI.plugin.glpk"; version="0.0-2"; sha256="10p3cq59app3xdv8dvqr24m937a36lzd274mdl2a9r4fwny2rssa"; depends=[ROI Rglpk]; };
+ROI_plugin_quadprog = derive { name="ROI.plugin.quadprog"; version="0.0-2"; sha256="0mkjq87rv1xf0bggpqd2r4gabv11spgcds2y94r3vpmh8krf71jf"; depends=[quadprog ROI slam]; };
+ROI_plugin_symphony = derive { name="ROI.plugin.symphony"; version="0.0-2"; sha256="1z4cahz0h38jw54p9363ca6i3qq7dwlm3568dr91gvpqf76b05wd"; depends=[ROI Rsymphony slam]; };
+ROSE = derive { name="ROSE"; version="0.0-3"; sha256="12b9grh3rgaa07blbnxy8nvy5gvpd45m43bfqb3m4k3d0655jpk2"; depends=[]; };
+RObsDat = derive { name="RObsDat"; version="15.02"; sha256="1fagbmp48rnyln6jh2yzvc414q82q6dvixmia7yqg64lrkzkh302"; depends=[zoo spacetime xts DBI vwr e1071 sp]; };
+ROptEst = derive { name="ROptEst"; version="0.9"; sha256="0m5czyqcsz42dzrhm3vwfmn046n57cb7x5sqzf2nad1gqgxzxp1d"; depends=[distr distrEx distrMod RandVar RobAStBase]; };
+ROptEstOld = derive { name="ROptEstOld"; version="0.9.2"; sha256="0blf34xff9pjfy983xm7a27xqkh9173nk64ysas6f0g4h31gh8ax"; depends=[distr distrEx RandVar evd]; };
+ROptRegTS = derive { name="ROptRegTS"; version="0.9.1"; sha256="1a8pbn63wh2w2n409yzbwvarvhphcn82rdqjh407ch3k3x6jz3r5"; depends=[ROptEstOld RandVar distr distrEx]; };
+ROracle = derive { name="ROracle"; version="1.1-12"; sha256="1ydmckr0wzjgvhhh410l4ih7idbr8140g6v11avh655wffk02q5p"; depends=[DBI]; };
+RPANDA = derive { name="RPANDA"; version="1.0"; sha256="1q8chhmdgn697a4qp4f7prdviar29z0py050748qw7ab326lqp5d"; depends=[ape picante pspline deSolve]; };
+RPCLR = derive { name="RPCLR"; version="1.0"; sha256="03kpyszsjb656lfwx2yszv0a9ygxs1x1dla6mpkhcnqw00684fab"; depends=[MASS survival]; };
+RPMG = derive { name="RPMG"; version="2.1-5"; sha256="1ck6bz72h1kwi7gg8vd0zw1q61pqv23rish84zri2p18z7nd9kvh"; depends=[]; };
+RPMM = derive { name="RPMM"; version="1.20"; sha256="09rwrcd8jz0nii1vx0n3b4daidiq0kp0vf88bvi84y4i06743il7"; depends=[cluster]; };
+RPPairwiseDesign = derive { name="RPPairwiseDesign"; version="1.0"; sha256="0k2vh698rhs5a0b5vhyvrnnwqnagdzs591zx6hn9vbmm8rm4y1dm"; depends=[]; };
+RPostgreSQL = derive { name="RPostgreSQL"; version="0.4"; sha256="0gpmbpiaiqvjzyl84l2l8v2jnz3h41v8jl99sp1qvvyrjrickra2"; depends=[DBI]; };
+RProtoBuf = derive { name="RProtoBuf"; version="0.4.2"; sha256="0ph6sdw0gys70sjlfimgvjk19rbj4v6p7wk05nar6wh8mabpvb63"; depends=[Rcpp RCurl Rcpp]; };
+RPublica = derive { name="RPublica"; version="0.1.2"; sha256="1fawjkwfxx3z370132vsjjs3ls316gzxzlxp8b4vzrshx1p7vp3q"; depends=[jsonlite httr RCurl]; };
+RPushbullet = derive { name="RPushbullet"; version="0.2.0"; sha256="1h9yvw9kw7df0ijwhfc2bi29y61fl9zg3mp4xygx3fyr9mycjm7a"; depends=[RJSONIO]; };
+RQDA = derive { name="RQDA"; version="0.2-7"; sha256="05h2f5sk0a14bhzqng5xp87li24b6n11p5lcxf9xpy7sbmh5ig6g"; depends=[RSQLite gWidgetsRGtk2 RGtk2 DBI igraph gWidgets]; };
+RQuantLib = derive { name="RQuantLib"; version="0.4.0"; sha256="1p2hd7wa5yi5ian2akb70pjr4glfni4dvwgglyg5pqmmm2j45k2d"; depends=[Rcpp Rcpp]; };
+RRF = derive { name="RRF"; version="1.6"; sha256="1gp224mracrz53vnxwfvd7bln18v8x7w130wslhfgcdl0n4f2d28"; depends=[]; };
+RRreg = derive { name="RRreg"; version="0.3.0"; sha256="0pip05wk76h436mvcsddhn2p25ihms3yf1lb23k7ygpx6jx4mdn3"; depends=[doParallel foreach]; };
+RSA = derive { name="RSA"; version="0.9.6"; sha256="1hi3spj0nbl08zszkqp1xxcq2qw3j4zkihrhhn20gacgsqi7k19w"; depends=[lavaan ggplot2 lattice tkrplot plyr RColorBrewer aplpack]; };
+RSADBE = derive { name="RSADBE"; version="1.0"; sha256="1nzpm88rrzavk0n8iflsx8r3s1xcry15n80zqdw6jijjycz10w1q"; depends=[]; };
+RSAGA = derive { name="RSAGA"; version="0.93-6"; sha256="0wqiww0rx5fz4rbsb1x6pr2q0wz5dacj5fc0asj70igxwmh5x0p8"; depends=[gstat shapefiles plyr]; };
+RSAP = derive { name="RSAP"; version="0.9"; sha256="1sxirfabhpmfm0yiiazc9h1db70hqwva2is1dql6sjfanpl8qanl"; depends=[yaml reshape]; };
+RSDA = derive { name="RSDA"; version="1.2"; sha256="06sa3x0abm2gnf4i4y3d5mlqj1wl7mzzal27sa1x65awzi6rs2kz"; depends=[sqldf XML scales FactoMineR ggplot2 glmnet abind scatterplot3d]; };
+RSEIS = derive { name="RSEIS"; version="3.3-3"; sha256="13fb4mx3sgnbrcn1kkxy0a490kikjrq49ii3x14xw2s8ci030wlr"; depends=[RPMG Rwave]; };
+RSGHB = derive { name="RSGHB"; version="1.0.2"; sha256="0ffdx9lscbgknfqhvjdh3rwnlhiqxbpqa55jkn111a1vfv726v3d"; depends=[]; };
+RSKC = derive { name="RSKC"; version="2.4.1"; sha256="1dvzxf001a9dg71l4bh8z3aia7mymqy800268qf7qzy9n6552g59"; depends=[flexclust]; };
+RSNNS = derive { name="RSNNS"; version="0.4-6"; sha256="1p4gv2v9vzbgaksiibg66l9l9nabnm5lblc17md2cdcb6rygh3hp"; depends=[Rcpp Rcpp]; };
+RSNPset = derive { name="RSNPset"; version="0.4"; sha256="1asrl75jlkdp829phjfza10fcl9akiqspbxncd8zf2a23f2r54sy"; depends=[fastmatch foreach doRNG Rcpp Rcpp RcppEigen]; };
+RSQLServer = derive { name="RSQLServer"; version="0.1.1"; sha256="0xaw8a06xgc78hjg4bndip0jpc7l4glk28pggm2l3j31ybx81kw7"; depends=[DBI rJava RJDBC]; };
+RSQLite = derive { name="RSQLite"; version="1.0.0"; sha256="08b1syv8z887gxiw8i09dpqh0zisfb6ihq6qqr01zipvkahzq34f"; depends=[DBI]; };
+RSVGTipsDevice = derive { name="RSVGTipsDevice"; version="1.0-4"; sha256="1ybk5q4dhskrh7h1sy86ilchdwi6rivy3vv3lph6pms2virgm854"; depends=[]; };
+RSclient = derive { name="RSclient"; version="0.7-2"; sha256="04ml4pynjl97295wrclvb61mpwacrkzc9x5pbwyfg1qr3l8hss93"; depends=[]; };
+RSeed = derive { name="RSeed"; version="0.1.31"; sha256="0wljchzkp8800v9zcgjapkbildkb3p2xnkh1m6m7q6qqc9aw8mws"; depends=[sybil]; };
+RSelenium = derive { name="RSelenium"; version="1.3.5"; sha256="15pnmnljl4dm9gbcgnad5j58k6cgs6qm34829kdgyb0ygs9q7ya0"; depends=[RCurl RJSONIO XML caTools]; };
+RSiena = derive { name="RSiena"; version="1.1-232"; sha256="0qp3bqq5p19bg47m37s2dw8m4q91hnkc2zxwhsgb076q0xvvv9xq"; depends=[Matrix]; };
+RSiteCatalyst = derive { name="RSiteCatalyst"; version="1.4.3"; sha256="003mazcwz7w814pm8i9zdfmsbijf02n80w48ml4grmjjn1v7x5ar"; depends=[jsonlite httr plyr base64enc digest stringr]; };
+RSofia = derive { name="RSofia"; version="1.1"; sha256="0q931y9rcf6slb0s2lsxhgqrzy4yqwh8hb1124nxg0bjbxvjbihn"; depends=[Rcpp Rcpp]; };
+RStars = derive { name="RStars"; version="1.0"; sha256="1siwqm8sp8wqbb56961drkwcnkv3w1xiy81hxy0zcr2z7rscv7mh"; depends=[RJSONIO RCurl]; };
+RStorm = derive { name="RStorm"; version="0.902"; sha256="1apk358jwzg5hkrcq8h39rax1prgz9bhkz9z51glmci88qrw1frv"; depends=[plyr]; };
+RSurveillance = derive { name="RSurveillance"; version="0.1.0"; sha256="1y17bfv0glzzb5rfniia0z4px810kgv2gns0igizw7w427zshnm0"; depends=[epitools epiR]; };
+RSurvey = derive { name="RSurvey"; version="0.8-3"; sha256="0dqrajd3m2v5cd3afl9lni9amfqfv4vhz7kakg3a5180j5rcag12"; depends=[sp rgeos MBA]; };
+RSvgDevice = derive { name="RSvgDevice"; version="0.6.4.4"; sha256="0vplac5jzg6bmvbpmj4nhiiimsr9jlbk8mzyifnnndk9iyf2lcmz"; depends=[]; };
+RTConnect = derive { name="RTConnect"; version="0.1.4"; sha256="1000jmmqzyhl6vh1ii75jdh88s9inaz52gvfwcin2k2zr7bi91ba"; depends=[]; };
+RTDE = derive { name="RTDE"; version="0.1-0"; sha256="00hh1axipp2blrhjwl9mc4fkqv3l132gxlhi9hdy52w20yhwigin"; depends=[]; };
+RTOMO = derive { name="RTOMO"; version="1.1-2"; sha256="15swp7jx5xmj87hjcfdar3r5sqnnb795qclf8b7l4bvx80h9nh2i"; depends=[RPMG GEOmap RSEIS splancs]; };
+RTextTools = derive { name="RTextTools"; version="1.4.2"; sha256="1j3zfywq8xgax51mbizxz704i3ys4vzp8hyi5kkjzq6g2lw7ywq2"; depends=[SparseM randomForest tree nnet tm e1071 ipred caTools maxent glmnet tau]; };
+RTextureMetrics = derive { name="RTextureMetrics"; version="1.1"; sha256="0d0mvpmcpd62cvqlajrqp32lnvpflyf9bqvdzly2v8v1kb8274fc"; depends=[]; };
+RTriangle = derive { name="RTriangle"; version="1.6-0.6"; sha256="1g4dp792awbvsl35nvyd8gkx99p2njdcafin16qysfrjl43f5i4s"; depends=[]; };
+RUnit = derive { name="RUnit"; version="0.4.28"; sha256="0p631cg014m7linml2770g260ml0jj74d5w82ddl1p2zs5yq57hx"; depends=[]; };
+RVAideMemoire = derive { name="RVAideMemoire"; version="0.9-45-2"; sha256="1c2hmkc34qgi942i4pnw61lk0z6kd4j9424zqqscm77zscfmrmcw"; depends=[ade4 boot cramer car lme4 MASS mixOmics multcompView nnet pspearman statmod vegan]; };
+RVFam = derive { name="RVFam"; version="1.1"; sha256="0gw8rgq11zndnqmay6y3y5rmmljvwhxzm2pqa90vs5413dnchq92"; depends=[coxme survival lme4 kinship2 MASS Matrix]; };
+RVideoPoker = derive { name="RVideoPoker"; version="0.3"; sha256="06s4dlw0pw8rcq5b31xxqdpdk396rf27mai2vpvmn585vbm1ib7a"; depends=[pixmap tkrplot rpanel]; };
+RVowpalWabbit = derive { name="RVowpalWabbit"; version="0.0.6"; sha256="06f2lmls92qkbscss00c99xkzpx83mgjah6ds0sixv1b2qi216ap"; depends=[Rcpp Rcpp]; };
+RVsharing = derive { name="RVsharing"; version="1.1.0"; sha256="0gcas4rb8pms470dhbm2c2x87an0j594xsziglgd84nqn4gq095d"; depends=[kinship2]; };
+RVtests = derive { name="RVtests"; version="1.2"; sha256="0k7w6ml981zvr5bix197qw4kaf7rz5jqnwqlxf7aryxbm39gk16c"; depends=[glmnet spls pls]; };
+RWBP = derive { name="RWBP"; version="1.0"; sha256="104vr2cdk185hh4zn3vmqvb14p1q8ifk11wdgvk7fli1m1zxxwdd"; depends=[RANN igraph lsa SnowballC]; };
+RWeather = derive { name="RWeather"; version="0.4"; sha256="1vm8w07gsxwxvg1gpdzn6mpnh8g9kp0ln9fxjw5rl2f1zz80bxpy"; depends=[XML]; };
+RWebLogo = derive { name="RWebLogo"; version="1.0.3"; sha256="1n65mlnr163ywjnyyngnigbj0wpgkr38c3nx8hw5r8mwjnf3d617"; depends=[findpython]; };
+RWeka = derive { name="RWeka"; version="0.4-24"; sha256="1nzpwh5i4snlz5hpk27395f6ly2mfzif6fw1cb6yn2sba0nj0ls7"; depends=[RWekajars rJava]; };
+RWekajars = derive { name="RWekajars"; version="3.7.12-1"; sha256="0a3a33l4rglyj95v6m3lqdz0c1fzriprdlp1p8cx2v06n50ymvrz"; depends=[rJava]; };
+RWiener = derive { name="RWiener"; version="1.2-0"; sha256="1ssh4xcyr4whgyd91p6bjsm9mq1ajqjqva0yyk13dnf5jfpsr0gs"; depends=[]; };
+RXKCD = derive { name="RXKCD"; version="1.7-5"; sha256="0dsds1bv2vfq61gfppar2ai23dryh09ric5i6zaccms6q64z23md"; depends=[RJSONIO png jpeg plyr]; };
+RXMCDA = derive { name="RXMCDA"; version="1.5.3"; sha256="1pc52kvihxzq12p95r4srmnawxcsvd4r7252dajby338p56d1lw8"; depends=[XML kappalab]; };
+RXshrink = derive { name="RXshrink"; version="1.0-8"; sha256="0l4aknr1vxrkxqsgkjcffs0731jskyzvl055a01vd8h4a0826n5s"; depends=[lars]; };
+RYoudaoTranslate = derive { name="RYoudaoTranslate"; version="1.0"; sha256="1i3iyqh97vpn02bm66kkmw52ni29js30v18n2aw8pvr88jpdgxm4"; depends=[RCurl rjson]; };
+RadOnc = derive { name="RadOnc"; version="1.0.9"; sha256="13fr838l38cvx84dx0k55p6riw5v86n7m51lg25is2fcyn17bq2r"; depends=[rgl geometry oro_dicom ptinpoly]; };
+RadTran = derive { name="RadTran"; version="1.0"; sha256="1sb8d4y3b37akbxhdavxrkp34zn3ip061b7gzy0ga57pyn76cvpn"; depends=[ReacTran rootSolve]; };
+RadioSonde = derive { name="RadioSonde"; version="1.4"; sha256="1v9jdpynmb01m3syhas1s08xxlvjawhlvjkyhils2iggi4xw4hiq"; depends=[]; };
+Rambo = derive { name="Rambo"; version="1.1"; sha256="1yc04xsfkc54y19g5iwambgnlc49ixjjvfrafsgis2zh5w6rjwv8"; depends=[sna]; };
+Ramd = derive { name="Ramd"; version="0.2"; sha256="0a64rp4dwhfr6vxsmya16x7wy7rxj4n98sdhhyy0ll850rdzlxd8"; depends=[]; };
+RandVar = derive { name="RandVar"; version="0.9.2"; sha256="04hw4v2d9aa8z9f8wvwbzhbfy8zjl5q8mpl9b91q86fhh1yq5cz4"; depends=[distr distrEx]; };
+RandomFields = derive { name="RandomFields"; version="3.0.62"; sha256="1v2dmwl3nq3mw88439z6hjaf3gkz9sf7dqm9iipgk333qw1s6sfk"; depends=[sp]; };
+RankAggreg = derive { name="RankAggreg"; version="0.5"; sha256="1c5ckk2pfkdxs3l24wgai2xg817wv218fzp7w1r3rcshxf0dcz2i"; depends=[gtools]; };
+RankResponse = derive { name="RankResponse"; version="3.1.1"; sha256="04s588zbxcjgvpmbb2x46bbf5l15xm7pwiaxjgc1kn1pn6g1080c"; depends=[]; };
+Rankcluster = derive { name="Rankcluster"; version="0.92.9"; sha256="172jjsyc6a5y32s2fb8z6lgcq6rcwjbk3xnc5vvkhj64amlyxla6"; depends=[Rcpp Rcpp RcppEigen]; };
+RapidPolygonLookup = derive { name="RapidPolygonLookup"; version="0.1"; sha256="0m6r11ksryzcfcm265wr9fhwb867j9ppfhalvvygzig5j85sg92k"; depends=[sp RANN PBSmapping RgoogleMaps]; };
+Rarity = derive { name="Rarity"; version="1.3-1"; sha256="0l2sz254s5jydv5f15ilrnna2mih06ipsy9lbdi2si3j221vq9k3"; depends=[]; };
+RaschSampler = derive { name="RaschSampler"; version="0.8-7"; sha256="11vkb5gvr1r2a7fpxyygkixc62ms53dpik9jdg7vrb9k43v82ggj"; depends=[]; };
+RbioRXN = derive { name="RbioRXN"; version="1.5"; sha256="1w4g8a72a7f5m7g43hcybkahn3p51m6jnkydwgrchp53pby8ljxy"; depends=[plyr RCurl gdata data_table stringr]; };
+Rbitcoin = derive { name="Rbitcoin"; version="0.9.2"; sha256="0ndq4kg1jq6h0jxwhpdp8sw1n5shg53lwa1x0bi7rifmy0gnh66f"; depends=[data_table RCurl digest RJSONIO]; };
+Rborist = derive { name="Rborist"; version="0.1-0"; sha256="1irb9scl68m7skqdwny9kvnzg7f1r0q1c0whzqyhhj9l4lw16hmr"; depends=[Rcpp Rcpp RcppArmadillo]; };
+Rcapture = derive { name="Rcapture"; version="1.4-2"; sha256="1nsxy5vpfv7fj03i6l5pgzjm0cldwqxxycnvqkfkshbryjcyl0ps"; depends=[]; };
+Rcgmin = derive { name="Rcgmin"; version="2013-2.21"; sha256="02igq7bdlxwa7ysfiyvqfhcvgm866lrp2z3060z5lmnp6afa0958"; depends=[numDeriv]; };
+Rchoice = derive { name="Rchoice"; version="0.2"; sha256="06xlz8ii1w42wcvkymxv68dn8pzvnn3xbyarplmdalv4p8c4jchk"; depends=[Formula maxLik msm plm plotrix]; };
+Rclusterpp = derive { name="Rclusterpp"; version="0.2.3"; sha256="02s5gmmmd0l98wd1y884pjl3h289dyd9p9s7dh7yl2zaslqs2094"; depends=[Rcpp RcppEigen Rcpp RcppEigen]; };
+Rcmdr = derive { name="Rcmdr"; version="2.1-7"; sha256="1qn0bfh36shdnm2qbjwggjv19vqkkhng82x39sdbljx0z3g3bmdg"; depends=[RcmdrMisc car tcltk2 abind]; };
+RcmdrMisc = derive { name="RcmdrMisc"; version="1.0-2"; sha256="18by1b1iz7q6lbnhxj5l5w58fqsvki84d830sv7iyzrs2q6n7vhq"; depends=[car sandwich abind Hmisc MASS e1071]; };
+RcmdrPlugin_BCA = derive { name="RcmdrPlugin.BCA"; version="0.9-8"; sha256="0xkip7q9i57ghgz0rh0pl8nkl7bflf4w1g4zbyjdlcjypyf7lnr8"; depends=[Rcmdr BCA flexclust car RcmdrMisc nnet foreign rpart rpart_plot]; };
+RcmdrPlugin_DoE = derive { name="RcmdrPlugin.DoE"; version="0.12-3"; sha256="1iifn71kjjgcp7dfz2pjq57mgbv4rrznrl3b3k9gdc2dva1z9zvc"; depends=[DoE_base FrF2 DoE_wrapper relimp Rcmdr RcmdrMisc]; };
+RcmdrPlugin_EACSPIR = derive { name="RcmdrPlugin.EACSPIR"; version="0.2-2"; sha256="10r6rb0fwlilcnqxa38zh7yxc54x1a0by5x4f6gzdn9zs7aj5l1r"; depends=[R2HTML abind ez nortest reshape Rcmdr RcmdrMisc]; };
+RcmdrPlugin_EBM = derive { name="RcmdrPlugin.EBM"; version="1.0-8"; sha256="0lkj869xdacvnma0qq20fqdsq59jqka2fv5h78f99lybzcb95i11"; depends=[Rcmdr epiR abind]; };
+RcmdrPlugin_EZR = derive { name="RcmdrPlugin.EZR"; version="1.27"; sha256="00yk41f8d7z602xb3hpkk0zr2r17d9ap6sx78ni8wl7rkvmn0c7r"; depends=[Rcmdr]; };
+RcmdrPlugin_EcoVirtual = derive { name="RcmdrPlugin.EcoVirtual"; version="0.1"; sha256="00yk09c1d1frwpfq12zvhg4gnc3p63r61abnil623jpr6wh4b2x8"; depends=[Rcmdr EcoVirtual]; };
+RcmdrPlugin_FactoMineR = derive { name="RcmdrPlugin.FactoMineR"; version="1.5-0"; sha256="1hfnn12l3jljqpczpxz4m9ywbmw5rc1c8dpfl4cabrxnh6ymnk1a"; depends=[FactoMineR Rcmdr]; };
+RcmdrPlugin_HH = derive { name="RcmdrPlugin.HH"; version="1.1-42"; sha256="0ra5glv2p4ii2c1b3dyxbdjl4ps6idjpl6ni8ridrfb391qlmyrk"; depends=[HH lattice latticeExtra rgl mgcv Rcmdr]; };
+RcmdrPlugin_IPSUR = derive { name="RcmdrPlugin.IPSUR"; version="0.2-1"; sha256="1lk7divj5va74prsnchq8yx9fbyym7xcsyqzkf72w448fgvvvwlv"; depends=[Rcmdr]; };
+RcmdrPlugin_KMggplot2 = derive { name="RcmdrPlugin.KMggplot2"; version="0.2-0"; sha256="1w4n7r3sp6h87wxhrzg500w90p8dzr43j28p8p1r2y0v0i0v6mk5"; depends=[ggplot2 ggthemes gtable plyr Rcmdr RColorBrewer scales survival tcltk2]; };
+RcmdrPlugin_MA = derive { name="RcmdrPlugin.MA"; version="0.0-2"; sha256="1zivlc0r2mkxpx23ba76njmb2wnnjijysvza4f24dg4l47d0sr2p"; depends=[Rcmdr MAd metafor]; };
+RcmdrPlugin_MPAStats = derive { name="RcmdrPlugin.MPAStats"; version="1.1.5"; sha256="0km6yglhn0128kk1xm2mnrkr2lkv3r9zndhlv7h1dkd16aph3vm3"; depends=[Rcmdr ordinal]; };
+RcmdrPlugin_NMBU = derive { name="RcmdrPlugin.NMBU"; version="1.8.0.4"; sha256="1qxx685wd974dc2zj7myg0jlxz5s63lkjfycc66f3mcj1qk5j4k6"; depends=[mixlm MASS pls xtable Rcmdr]; };
+RcmdrPlugin_RMTCJags = derive { name="RcmdrPlugin.RMTCJags"; version="1.0"; sha256="0fwzr27pk7p82wj1xbajva1ips15jdfgwxzf7815bcm7x7w9xr8v"; depends=[Rcmdr runjags rmeta igraph coda rjags]; };
+RcmdrPlugin_ROC = derive { name="RcmdrPlugin.ROC"; version="1.0-18"; sha256="0alwsvwry4k65ps00zvdqky9rh663bbfaw15lhwydbgcpqdkn2n6"; depends=[Rcmdr ROCR pROC ResourceSelection]; };
+RcmdrPlugin_SCDA = derive { name="RcmdrPlugin.SCDA"; version="1.1"; sha256="0pd765ndh8d7hy6spds3r4pi09i0ak4b1ygwczp6yr2zcs1aikbc"; depends=[SCVA SCRT SCMA Rcmdr]; };
+RcmdrPlugin_SLC = derive { name="RcmdrPlugin.SLC"; version="0.2"; sha256="1nwpzmgfla1y05dxf81w0wmvvmvcq5jn5k8phlq30920ia7ybs8g"; depends=[SLC Rcmdr]; };
+RcmdrPlugin_SM = derive { name="RcmdrPlugin.SM"; version="0.3.1"; sha256="10sjh2x02kb6yaxbvd9ihc6777j4iv6wi6k42gyl3k7i2c39fyn3"; depends=[Rcmdr car RColorBrewer colorspace vcd]; };
+RcmdrPlugin_StatisticalURV = derive { name="RcmdrPlugin.StatisticalURV"; version="1.0-1"; sha256="04pqqgy12rnhwm8l0752hb9p5h4l11mm7flm6n9kkcvbkvagsbrz"; depends=[agricolae multcomp car Rcmdr]; };
+RcmdrPlugin_TeachingDemos = derive { name="RcmdrPlugin.TeachingDemos"; version="1.0-7"; sha256="0d473p0df99x9a3jfwb49gxsrcvslcw9yandramwq82cwy3sdcxw"; depends=[rgl TeachingDemos Rcmdr]; };
+RcmdrPlugin_UCA = derive { name="RcmdrPlugin.UCA"; version="1.0-2"; sha256="11a8jaz5vycq8hnpxzrbv1g8vyh0ic1y48952ah633b2j1m1ay8i"; depends=[Rcmdr]; };
+RcmdrPlugin_coin = derive { name="RcmdrPlugin.coin"; version="1.0-22"; sha256="0qmdjnjmgq52wgl4llg69q9x7hvwd73mz3swv0sv88v8zqg7xj93"; depends=[Rcmdr coin survival multcomp]; };
+RcmdrPlugin_depthTools = derive { name="RcmdrPlugin.depthTools"; version="1.3"; sha256="09mjn5jn4rdj1lh515vr3xlnk615flg13kcwbpk0an2si4xkgm9h"; depends=[Rcmdr depthTools]; };
+RcmdrPlugin_doex = derive { name="RcmdrPlugin.doex"; version="0.2.0"; sha256="0l3c8vwifyl8a7qkfaqxm7cws2cg1g501qa93w5svcgp03yf98mj"; depends=[Rcmdr multcomp]; };
+RcmdrPlugin_epack = derive { name="RcmdrPlugin.epack"; version="1.2.5"; sha256="1577qhac4rldifax5x3l39cddan6dhq2dv4iv2n64nadgrl0259w"; depends=[Rcmdr TeachingDemos tseries abind MASS xts forecast]; };
+RcmdrPlugin_lfstat = derive { name="RcmdrPlugin.lfstat"; version="0.7"; sha256="009yj9c5cr34k8qa16q19sp7c5iwv95g9swbm004nr18mfah8x9w"; depends=[lfstat Rcmdr]; };
+RcmdrPlugin_mosaic = derive { name="RcmdrPlugin.mosaic"; version="1.0-7"; sha256="0k6xaz2dfm9ch9lxqsh19jm8d4bbyjj2ffmjjxl57kanb3pvrrwv"; depends=[ENmisc vcd Hmisc Rcmdr]; };
+RcmdrPlugin_orloca = derive { name="RcmdrPlugin.orloca"; version="4.1"; sha256="19qj6llr5sfw267dgbn2jvrsisb54qbjhgaiigfzymk6px33wwmg"; depends=[orloca orloca_es Rcmdr]; };
+RcmdrPlugin_plotByGroup = derive { name="RcmdrPlugin.plotByGroup"; version="0.1-0"; sha256="10wc7lnihsrldsynq2s0syr1aqmvfnj9rhgwh1nkk7jlrwcgj0z6"; depends=[Rcmdr lattice]; };
+RcmdrPlugin_pointG = derive { name="RcmdrPlugin.pointG"; version="0.6.6"; sha256="0sc3akbpdys353va05b40g3rq8qihw0pmhvv0kckkhsgrbr8mc07"; depends=[Rcmdr RColorBrewer]; };
+RcmdrPlugin_qual = derive { name="RcmdrPlugin.qual"; version="2.2.6"; sha256="00wznh0k909cd9vwdj1ag3224xkqnwjsad1bfkgxbszsx0w6xvy9"; depends=[Rcmdr]; };
+RcmdrPlugin_sampling = derive { name="RcmdrPlugin.sampling"; version="1.1"; sha256="0fx0s63wq0si1jydl9xyj9ny7iglg91zpvkyrnc05i5pan9l3xd9"; depends=[lpSolve sampling MASS Rcmdr]; };
+RcmdrPlugin_seeg = derive { name="RcmdrPlugin.seeg"; version="1.0"; sha256="105c2rl3mrcv7r3iqa9d2zs6cys7vfpyydylkg2cggfqkghxgr95"; depends=[Rcmdr seeg spatstat sgeostat]; };
+RcmdrPlugin_sos = derive { name="RcmdrPlugin.sos"; version="0.3-0"; sha256="1r9jxzmf5ks62b5jbw0pkf388i1lnld6i27xhfzysjqdxcnzdsdz"; depends=[sos Rcmdr tcltk2]; };
+RcmdrPlugin_steepness = derive { name="RcmdrPlugin.steepness"; version="0.3-2"; sha256="1na98sl42896y7yklaj07sn88lj6p6ik7gwy9ffaxzicqaa8plgf"; depends=[Rcmdr steepness]; };
+RcmdrPlugin_survival = derive { name="RcmdrPlugin.survival"; version="1.0-5"; sha256="1gcc9l1x0vmzmq7v09mzybig1js5jsgsq84096yk494w3dnzrr0a"; depends=[survival date Rcmdr]; };
+RcmdrPlugin_temis = derive { name="RcmdrPlugin.temis"; version="0.7.3"; sha256="1ssnky8basr135lhnagq7dlwlj1c9qrvm14hbdm0k3g9gnqmxkgh"; depends=[tm NLP slam zoo lattice Rcmdr tcltk2 ca R2HTML RColorBrewer latticeExtra stringi]; };
+Rcolombos = derive { name="Rcolombos"; version="1.5.2"; sha256="1whjn447jk2bjyjf0fwl0165f8x41fjzmkmagl6dfq1c4373sf27"; depends=[httr]; };
+Rcplex = derive { name="Rcplex"; version="0.3-2"; sha256="1hx9s327af7yawzyq5isvx8n6pvr0481lrfajgh8nihj7g69nmk7"; depends=[slam]; };
+Rcpp = derive { name="Rcpp"; version="0.11.5"; sha256="0vmdprnf2i0hvy4pz5v0zdvwgyfv1kgmiwdgjjxppz5p84n59xs9"; depends=[]; };
+Rcpp11 = derive { name="Rcpp11"; version="3.1.2.0"; sha256="1x6n1z7kizagr5ymvbwqb7nyn3lca4d4m0ks33zhcn9gay6g0fac"; depends=[]; };
+RcppAPT = derive { name="RcppAPT"; version="0.0.1"; sha256="0fyya80bd3w22qbsbznj9y21dwlj30a16d8a8kww4x8bpvmyil5z"; depends=[Rcpp Rcpp]; };
+RcppAnnoy = derive { name="RcppAnnoy"; version="0.0.5"; sha256="1acgwwcgb7qqvwg3j0qk7jvk3nb76zw0lqn8bswywvgawalw49ah"; depends=[Rcpp Rcpp BH]; };
+RcppArmadillo = derive { name="RcppArmadillo"; version="0.4.650.1.1"; sha256="1i11nnkbzhk0sckj29fza32g45jkkjh11yx4q78byhawpr8s30jq"; depends=[Rcpp Rcpp]; };
+RcppBDT = derive { name="RcppBDT"; version="0.2.3"; sha256="0gnj4gz754l80df7w3d5qn7a57z9kq494n00wp6f7vr8aqgq8wi1"; depends=[Rcpp Rcpp BH]; };
+RcppCNPy = derive { name="RcppCNPy"; version="0.2.4"; sha256="1cawaxghbliy7hgvqz3y69asl43bl9mxf46nwpbxc0vx3cq15fnk"; depends=[Rcpp Rcpp]; };
+RcppClassic = derive { name="RcppClassic"; version="0.9.6"; sha256="1xhjama6f1iy7nagnx1y1pkqffrq8iyplllcar24vxr0zirgi1xi"; depends=[Rcpp Rcpp]; };
+RcppClassicExamples = derive { name="RcppClassicExamples"; version="0.1.1"; sha256="0shs12y3gj5p7gharjik48dqk0fy4k2jx7h22ppvgbs8z85qjrb8"; depends=[Rcpp RcppClassic Rcpp RcppClassic]; };
+RcppDE = derive { name="RcppDE"; version="0.1.2"; sha256="0ji5csfygqvrcahgx5gxy7dddpykckzw8hmqslsdl7l68wj60qkc"; depends=[Rcpp RcppArmadillo Rcpp RcppArmadillo]; };
+RcppDL = derive { name="RcppDL"; version="0.0.5"; sha256="1gii00bna6k9byaax7gsx42dv1jjnkrp4clbmdq59ybq3vkvw8z2"; depends=[Rcpp Rcpp]; };
+RcppEigen = derive { name="RcppEigen"; version="0.3.2.4.0"; sha256="1p6lfylj0mh059pxbp198r8nci8f89h0gb11x2pi0jgg7cqbxgh6"; depends=[Matrix Rcpp Rcpp]; };
+RcppExamples = derive { name="RcppExamples"; version="0.1.6"; sha256="1jnqh9nii5nncsah0lrkls8dqqcka9fnbvfg8ikl4cqjri17rpbv"; depends=[Rcpp Rcpp]; };
+RcppGSL = derive { name="RcppGSL"; version="0.2.4"; sha256="1nw1984siwxvihp68g7khr2c4a4nwyb4ll04r5302kksz4nh7mpi"; depends=[Rcpp Rcpp]; };
+RcppMLPACK = derive { name="RcppMLPACK"; version="1.0.10-2"; sha256="1hdvdk6ni2iganmldarklv635yzgzja36zcpflh5w45c5y3ysqvj"; depends=[Rcpp Rcpp RcppArmadillo BH]; };
+RcppOctave = derive { name="RcppOctave"; version="0.14.5"; sha256="0dplc2x9fq2jfzfbcxdd45pmiimapqb3xhyjkzd4k6q8xmqjw95p"; depends=[Rcpp pkgmaker digest stringr Rcpp]; };
+RcppParallel = derive { name="RcppParallel"; version="4.3.6"; sha256="007jbx16kixnk4b3081iplwa3qjdaqr4jbikhw0fsfdg2ws1ps2s"; depends=[]; };
+RcppProgress = derive { name="RcppProgress"; version="0.2.1"; sha256="1dah99679hs6pcaazxyc52xpx5wawk95r2bpx9fx0i33fqs1s4ng"; depends=[Rcpp Rcpp]; };
+RcppRedis = derive { name="RcppRedis"; version="0.1.3"; sha256="0xpldiny2n121dp7vpj9l3bjvjhbfkdim5cassvvj2wms9q4jvh5"; depends=[Rcpp RApiSerialize Rcpp RApiSerialize]; };
+RcppRoll = derive { name="RcppRoll"; version="0.1.0"; sha256="0xwm64z7pr2cjmq4kri7zzhy7wvq7aj9lq3xm2g830fn71qvj8x3"; depends=[Rcpp RcppArmadillo Rcpp RcppArmadillo]; };
+RcppSMC = derive { name="RcppSMC"; version="0.1.4"; sha256="1gcqffb6rkw029cpzv7bzsxaq0a5b032zjvriw6yjzyrpi944ip7"; depends=[Rcpp Rcpp]; };
+RcppStreams = derive { name="RcppStreams"; version="0.1.0"; sha256="0pb9ri2jajfh7643wx730bkmpvjvvmip682ynm2yn6x6brjll6jf"; depends=[Rcpp Rcpp BH]; };
+RcppXts = derive { name="RcppXts"; version="0.0.4"; sha256="143rhz97qh8sbr6p2fqzxz4cgigwprbqrizxpkjxyhq8347g8p4i"; depends=[Rcpp xts Rcpp xts]; };
+RcppZiggurat = derive { name="RcppZiggurat"; version="0.1.2"; sha256="05ai6s2j025fvr4znpmsvhxj4x7xyw2wsb9j3c5sv7aw1byfs0bb"; depends=[Rcpp Rcpp RcppGSL]; };
+Rcsdp = derive { name="Rcsdp"; version="0.1.53"; sha256="0x91hyx6z9f4zd7djxlq7dnznmr9skyzwbbcbjyid9hxbcfyvhcp"; depends=[]; };
+Rd2roxygen = derive { name="Rd2roxygen"; version="1.5"; sha256="0qh64bd323s3h44ypjxv98ndp332q31imf5prmaqvzcjs2j0r3gh"; depends=[roxygen2 formatR]; };
+Rdistance = derive { name="Rdistance"; version="1.1"; sha256="1rgjiks4s5l0vdj4svik9zz6kwwxsh9nj6q2ng7iblny6iqm6kbd"; depends=[]; };
+Rdpack = derive { name="Rdpack"; version="0.4-14"; sha256="19vscr9l63c074n76b6a6jbl956sphjhz0d50yiwp3cvqf28yssf"; depends=[gbRd bibtex]; };
+Rdsdp = derive { name="Rdsdp"; version="1.0.2"; sha256="0rpy3897dargrfrn6qd5m1j6i1pvfk2qa3cny0iacqkgqbg8a4wx"; depends=[]; };
+Rdsm = derive { name="Rdsm"; version="2.1.1"; sha256="07fc6c2hv0vvg15va552y54cla1mrqsd75w3zh02vc7yd226l4rj"; depends=[bigmemory]; };
+ReCiPa = derive { name="ReCiPa"; version="3.0"; sha256="019vlvgxnqqlwghxygfqggzp2b4x2pqzdrbhaa703zdhm58k0n1g"; depends=[]; };
+ReacTran = derive { name="ReacTran"; version="1.4.2"; sha256="1yc0k3wgg4yb6cqmjkyl25sfkbfcfxi5ria106w5jyx7dr5lfvdi"; depends=[rootSolve deSolve shape]; };
+RealVAMS = derive { name="RealVAMS"; version="0.3-1"; sha256="04d4sc3lhlklx1y016rmh3x27m8caxlp53qn2ks5wz52w26pfdhn"; depends=[Matrix numDeriv Rcpp Rcpp RcppArmadillo]; };
+RecordLinkage = derive { name="RecordLinkage"; version="0.4-7"; sha256="18v9jihp00xfz80vkg054v93w6grnp3aaf7prlzckwxs5i5lff70"; depends=[DBI RSQLite ff ffbase e1071 rpart ada ipred evd data_table nnet xtable RSQLite]; };
+Records = derive { name="Records"; version="1.0"; sha256="08y1g2m6bdrvv4rpkhd5v2lh7vprxy9bcx9ahp1f7p062bn2lwji"; depends=[]; };
+RefFreeEWAS = derive { name="RefFreeEWAS"; version="1.3"; sha256="1cb1q2nki0d18ia4cmi1sp7qih9hv7g1jk1kyp7vya5gp572z3cd"; depends=[isva]; };
+RefManageR = derive { name="RefManageR"; version="0.8.45"; sha256="16smvd25gdssiry2i8gs24km83hnsq2v6m225i7qadcmn9pyj4yh"; depends=[XML RCurl RJSONIO plyr bibtex lubridate stringr]; };
+RegClust = derive { name="RegClust"; version="1.0"; sha256="1d9w74phw4fgafglc18j7dpmln96fvxnf1kdc9zddgj90p8yfx63"; depends=[]; };
+RegressionFactory = derive { name="RegressionFactory"; version="0.7.1"; sha256="1zx885x49ncp2cl1v8hxzc3r2njka9cjsadjykbvqp9pdbm4ga5l"; depends=[]; };
+RelValAnalysis = derive { name="RelValAnalysis"; version="1.0"; sha256="1jl1gfj44gfkmc1yp6g5wwn4miydwpvxwrg76rnkv9454zrc5pvp"; depends=[zoo]; };
+Reliability = derive { name="Reliability"; version="0.0-2"; sha256="12zsicgbjqih3grbs62pw37x8wlkmnyc7g0yz6bqnfb4ym2yb7fg"; depends=[]; };
+ReliabilityTheory = derive { name="ReliabilityTheory"; version="0.1.4"; sha256="1faab4z3rp0xqc0s0rrkw4kxgyc332xz3sjaz1wd4p6kiydds2hi"; depends=[igraph sfsmisc combinat FRACTION mcmc PhaseType actuar HI]; };
+Renext = derive { name="Renext"; version="2.1-0"; sha256="19920kb3qd97vm285zbxqarpq8dyyrx1k6sks990xjbgpy7vyj3y"; depends=[evd numDeriv]; };
+RenextGUI = derive { name="RenextGUI"; version="1.0-2"; sha256="0ghs8bwb6qdyvhghxvdy51cibylgm7bdbzgqsn1nbxam39yhvfv9"; depends=[gWidgets gWidgetstcltk Renext]; };
+Reol = derive { name="Reol"; version="1.55"; sha256="0147x3fvafc47zd2chgv3b40k480pcjpji8vm1d741i1p6ml448p"; depends=[XML RCurl ape]; };
+ReorderCluster = derive { name="ReorderCluster"; version="1.0"; sha256="0ss750frzvj0bm1w7zblmcsjpszhnbffwlkaw31sm003lbx9hy58"; depends=[gplots Rcpp Rcpp]; };
+RepeatedHighDim = derive { name="RepeatedHighDim"; version="2.0.0"; sha256="1n9w4jb25pm0mmsahlfhkp9jmhgp5b21l1g85gm2wbxqkjsg7g0g"; depends=[MASS nlme]; };
+ReporteRs = derive { name="ReporteRs"; version="0.7.8"; sha256="1gzsdrkmz2g59m2653xfcl4d6zs010hzcjxr6sk26dhxj11alqgr"; depends=[ReporteRsjars rJava]; };
+ReporteRsjars = derive { name="ReporteRsjars"; version="0.0.2"; sha256="1abvgzxipg0cgiy26z14i99qydzqva6j2v7pnrxapysg7ml5cnjc"; depends=[rJava]; };
+ResistorArray = derive { name="ResistorArray"; version="1.0-28"; sha256="055zr4rybgrvg3wsgd9vhyjpvzdskrlss68r0g7rnj4yxkix0kxz"; depends=[]; };
+ResourceSelection = derive { name="ResourceSelection"; version="0.2-4"; sha256="01r1w03paazyix5jjxww89falba1qfiqcznx79a6fmsiv8gm2x5w"; depends=[]; };
+Rfacebook = derive { name="Rfacebook"; version="0.5"; sha256="0cl4s815i4yxp805j8nhqmva31imbd1xp3yxgi53qwjhagh4i57a"; depends=[httr rjson httpuv]; };
+Rfit = derive { name="Rfit"; version="0.21"; sha256="129z5ivwfxbh3rfwk98jnm6ibq5z9z3r9mhy9gv61jfr4ig78dcn"; depends=[quantreg]; };
+Rglpk = derive { name="Rglpk"; version="0.6-0"; sha256="0g0s63skabr0yqk5s9p66p77z8v3pr3hbnirbgdddlvkpphi08xx"; depends=[slam]; };
+RgoogleMaps = derive { name="RgoogleMaps"; version="1.2.0.7"; sha256="04k7h8hgxvgsccdiysbblplwjvn8m7g8h3anzdlxmmjaamd8l9lw"; depends=[png RJSONIO]; };
+Rhh = derive { name="Rhh"; version="1.0.2"; sha256="0blxim8yrb0qnbkc1z2q24q6ryakggq2zhaa223swla99ahmsny3"; depends=[]; };
+Rhpc = derive { name="Rhpc"; version="0.14-261"; sha256="09rb68dys283gqmgn00v5skz6y5mcychg7hjrmi59pcfl5i7sk71"; depends=[]; };
+RhpcBLASctl = derive { name="RhpcBLASctl"; version="0.14-256"; sha256="1s9mwwh269wwdqnb98jxsmpjm2bdf5dj4c3wkj5i81w2p1sm8qx3"; depends=[]; };
+RidgeFusion = derive { name="RidgeFusion"; version="1.0-3"; sha256="10llmrsfpcqrkcbw7zj44kvfy7ywn9rk49n7zplilz8h94zzcmjv"; depends=[mvtnorm]; };
+Ridit = derive { name="Ridit"; version="1.1"; sha256="02cni6hzf1bsns7vi8vklnhc0pfb5vwqhjnnfnjnnaxpzpsbvdfn"; depends=[]; };
+Ritc = derive { name="Ritc"; version="1.0.1"; sha256="1h41s4jihzj0yj8xyan0zhhyyiq8m5567vw4gvmmr81p1qfzvva8"; depends=[minpack_lm]; };
+Rivivc = derive { name="Rivivc"; version="0.9"; sha256="0gl3040pp9nqm4g2ympnx80z64zfnn1hfsxka8ynd2cqhjn3b5i1"; depends=[signal]; };
+Rjpstatdb = derive { name="Rjpstatdb"; version="0.1"; sha256="0iwgsp3mblp7bsx88wfpqn09y1xrkingfkm3z9jsi2bwrnrjc2iv"; depends=[RCurl XML]; };
+Rlab = derive { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; };
+Rlabkey = derive { name="Rlabkey"; version="2.1.127"; sha256="1bacl4ax9bgn27180hgh6gr4y0bwl3q4y18mc0cyb06yagzci5d9"; depends=[RCurl rjson]; };
+Rlibeemd = derive { name="Rlibeemd"; version="1.3.2"; sha256="0db6x2cry011ymmfy1pxgdyjdn6l93d8wmixp59r51yij2s775xq"; depends=[Rcpp Rcpp]; };
+Rmalschains = derive { name="Rmalschains"; version="0.2-2"; sha256="1ki3igj78sk4kk1cvbzrgzjdvw6kbdb7dmqglh6ws2nmr5b6a7fx"; depends=[Rcpp Rcpp]; };
+Rmisc = derive { name="Rmisc"; version="1.5"; sha256="1ijjhfy3v91fspid77rrkc5dkcb2lav37wc3f4k5lwrn24wzy5y8"; depends=[lattice plyr]; };
+Rmixmod = derive { name="Rmixmod"; version="2.0.2"; sha256="1qv6zymkgsbplrq4aa87lvcsv75dssj8qqq2h9665v31jsgx84lr"; depends=[Rcpp Rcpp]; };
+RmixmodCombi = derive { name="RmixmodCombi"; version="1.0"; sha256="0cwcyclq143938wby0aj265xyib6gbca1br3x09ijliaj3pjgdqi"; depends=[Rmixmod Rcpp]; };
+Rmosek = derive { name="Rmosek"; version="1.2.5.1"; sha256="0zggv699s93i9g98qjs4ci2nprgfkzq45lpzgrbhldsxiflf27gz"; depends=[Matrix Matrix]; };
+Rmpfr = derive { name="Rmpfr"; version="0.5-7"; sha256="0bqjs65wlnpq95smnnwpqjrqgwda412z2qbyafa8jw6972lmsyq9"; depends=[gmp]; };
+Rmpi = derive { name="Rmpi"; version="0.6-5"; sha256="0i9z3c45jyxy86yh3f2nja5miv5dbnipm7fpm751i7qh630acykc"; depends=[]; };
+RnavGraph = derive { name="RnavGraph"; version="0.1.8"; sha256="1fwzfy41gdr1aw1wg6dw04mxwwpp5s9x2inxyq3bc9s8bm1rlxih"; depends=[scagnostics rgl]; };
+RnavGraphImageData = derive { name="RnavGraphImageData"; version="0.0.3"; sha256="1mrh0p2ckczw4xr1kfmcf0ri2h2fhp7fmf8sn2h1capmm12i1q8f"; depends=[]; };
+RobAStBase = derive { name="RobAStBase"; version="0.9"; sha256="1428xaplcjq6r0migbaqncfj0iz8hzzfabmabm167p44wa2bwbwh"; depends=[rrcov distr distrEx distrMod RandVar]; };
+RobLox = derive { name="RobLox"; version="0.9"; sha256="1ws6bkzvg1y1cwmls71das0lih6gncx5w3ncd2siznapd4n44p69"; depends=[distrMod RobAStBase lattice RColorBrewer RandVar distr]; };
+RobLoxBioC = derive { name="RobLoxBioC"; version="0.9"; sha256="0ia7vn8x8whyp8kl7mpwd6fd0yv0y3pb1mppnh2329x7xdvcs5j4"; depends=[RobLox lattice RColorBrewer distr]; };
+RobPer = derive { name="RobPer"; version="1.2.1"; sha256="1impcp2yfxxh439a70s2gqwfng6cgi123y20fd01b84jkp9gx3hi"; depends=[robustbase quantreg BB rgenoud]; };
+RobRSVD = derive { name="RobRSVD"; version="1.0"; sha256="07z5fw8j5lq7nyxgkvb9i4iwb5inddz2ib4m2bjx6q4c1ricpqz9"; depends=[]; };
+RobRex = derive { name="RobRex"; version="0.9"; sha256="0ii539mjq462n1lbnyv3whl8b1agvhvlz31wwyz911gb40isl639"; depends=[ROptRegTS]; };
+RobustAFT = derive { name="RobustAFT"; version="1.3"; sha256="0cxyvq75bwhjh3qzfj6ynmy8mby6yjy4r851sx80b8ls6rv4cf3z"; depends=[robustbase survival]; };
+RobustRankAggreg = derive { name="RobustRankAggreg"; version="1.1"; sha256="1pslqyr1lji1zvcrwyax4zg2s81p1jnhfldz8mdfhsp5y7v8iar3"; depends=[]; };
+RockFab = derive { name="RockFab"; version="1.2"; sha256="1b5mhfll5vmqwl4pblmclyx9604vn07jyza02rm0jcsx915ms8sc"; depends=[rgl]; };
+Rook = derive { name="Rook"; version="1.1-1"; sha256="00s9a0kr9rwxvlq433daxjk4ji8m0w60hjdprf502msw9kxfrx00"; depends=[brew]; };
+RootsExtremaInflections = derive { name="RootsExtremaInflections"; version="1.0"; sha256="1vcbjxx1yfla71fmmf5w8dqp0vqw93dxsjsvz0vj28bfqmkmh554"; depends=[]; };
+Rothermel = derive { name="Rothermel"; version="1.2"; sha256="0zrz2ck3q0vg0wpa4528rjlrfnvlyiy0x1gr5z1aax1by7mdj82s"; depends=[GA ftsa]; };
+RoughSetKnowledgeReduction = derive { name="RoughSetKnowledgeReduction"; version="0.1"; sha256="0zn6y2rp78vay9zwijpzhjpyq1gmcsa13m9fcsxkd1p2c8g5rbmf"; depends=[]; };
+RoughSets = derive { name="RoughSets"; version="1.2-0"; sha256="04z47dsws39rg34fisr0favl0ar1vqhvzmafb5sf4d62h2r6rvdl"; depends=[Rcpp Rcpp]; };
+Rpdb = derive { name="Rpdb"; version="2.2"; sha256="0gf6qab05a3ky8skbbjiadizi1gs4pcw3zp25qj5gn82lb6382pd"; depends=[rgl]; };
+Rphylip = derive { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; };
+Rpoppler = derive { name="Rpoppler"; version="0.0-1"; sha256="01zsbm538yhwm1cyz5j6x2ngz05yqj16yxyvyxqhn6jp8d0885jh"; depends=[]; };
+Rquake = derive { name="Rquake"; version="2.2"; sha256="0gkarqqhmiakc968ffwywkwy7npm1ly5gd6bbhr8fjfwdnhjam5n"; depends=[RPMG RSEIS GEOmap MBA minpack_lm rgl]; };
+Rramas = derive { name="Rramas"; version="0.1-4"; sha256="191rm2ylvf3ffc9i4wpjvfbsinmw7s1m0wcq24j4qs4fxg8qqzyq"; depends=[diagram]; };
+Rrdrand = derive { name="Rrdrand"; version="0.1-10"; sha256="1j72v44scmghm29jxjdy0651qlkhsnrb3bb5qff82451mbd17bzb"; depends=[]; };
+Rsampletrees = derive { name="Rsampletrees"; version="0.1"; sha256="02wh99nxlhyrivr655825nqcl3w0mvppnmvc9yrkdbkjw0l1zsjd"; depends=[haplo_stats ape]; };
+Rserve = derive { name="Rserve"; version="1.7-3"; sha256="09rha4p86vak7ss721mwp5bm5ig09xam8zlqv63n9wf36v3kdmpn"; depends=[]; };
+RsimMosaic = derive { name="RsimMosaic"; version="1.0.2"; sha256="0d5z5dffi2prz0r31x08c8gw83448bhkma5mzcmrdlg6kx5y7dp8"; depends=[jpeg fields RANN]; };
+Rsolnp = derive { name="Rsolnp"; version="1.15"; sha256="10w9gd1l62r638sh00fbgcpinsyyanfrqjdskrpk7z70fnyvwqm2"; depends=[truncnorm]; };
+Rsomoclu = derive { name="Rsomoclu"; version="1.4.1"; sha256="0yr0nsm2b7wg1x57db9zclqnqqbmhyax9vgw13ynqirq2ysxxsg6"; depends=[Rcpp]; };
+Rssa = derive { name="Rssa"; version="0.13"; sha256="1prcivlwxky4h33ybky7n3wpn4vj1wm898ifsrhs1j9ywla1m2zf"; depends=[svd forecast lattice]; };
+Rsundials = derive { name="Rsundials"; version="1.6"; sha256="0vrvxsznbclgls4jljc59lyli6cw9k1a3wapfrs6xbkqi8865iif"; depends=[]; };
+Rsymphony = derive { name="Rsymphony"; version="0.1-19"; sha256="0m9xbyp4hxz9rbc8nd7q0fwzgl6126iv0sxwifamxkc9z8vr86js"; depends=[]; };
+Rtsne = derive { name="Rtsne"; version="0.9"; sha256="1b3ilfirlhmbv1914rwnj9mamn6clzi86csp3szfwg93gk23yymn"; depends=[Rcpp Rcpp]; };
+Rttf2pt1 = derive { name="Rttf2pt1"; version="1.3.3"; sha256="16bnhrg86rzi4g4zf235m1g8amyhcwxpw0wgcxynfiinm2fl4y1n"; depends=[]; };
+Ruchardet = derive { name="Ruchardet"; version="0.0-3"; sha256="0dgldi6fgp949c3455m9b4q6crqv530jph210xzph41vgw8a2q2v"; depends=[Rcpp Rcpp]; };
+Runiversal = derive { name="Runiversal"; version="1.0.2"; sha256="0667mspsjydmxi848c6wsf14gz72bmdj9b3lilma92b7fhqnv7ai"; depends=[]; };
+Runuran = derive { name="Runuran"; version="0.21.0"; sha256="1p33z9h2zj6fx42rlq6yajd6lwvzy4a1a5gs67dz5k1zbza8avw0"; depends=[]; };
+RunuranGUI = derive { name="RunuranGUI"; version="0.1"; sha256="0wm91mzgd01qjinj94fr53m0gkxjvx7yjhmwbkrxsjn6mjklq72l"; depends=[Runuran rvgtest gWidgets gWidgetsRGtk2 cairoDevice]; };
+Rvcg = derive { name="Rvcg"; version="0.10.1"; sha256="09v3k8d43lqywdq3ckjwid8hrkakdc9ysxdlqq00blzab40a8ii4"; depends=[Rcpp Rcpp RcppEigen]; };
+Rvmmin = derive { name="Rvmmin"; version="2013-11.12"; sha256="1ljzydvizbbv0jv5lbfinypkixfy7zsvplisb866f8w45amd152a"; depends=[optextras]; };
+Rwave = derive { name="Rwave"; version="2.2"; sha256="1aqscnq7cr53nnddbjdqfjyrj8l76h9wcqr43i7fpa7g6hamvbwd"; depends=[]; };
+Rwinsteps = derive { name="Rwinsteps"; version="1.0-1"; sha256="0kzngkan9vydibnr3xm4pyz4v6kz0r4h19f0ngqpri07fkhdsxzd"; depends=[]; };
+RxCEcolInf = derive { name="RxCEcolInf"; version="0.1-3"; sha256="04d6ffl4qs2vjbk0ibvyq17i2l26qnvxr72s6p3f8q4px33rh4kh"; depends=[MASS MCMCpack mvtnorm lattice]; };
+RxnSim = derive { name="RxnSim"; version="1.0"; sha256="0693kl58jipgnsdrh9rim5w6mb3b4wvxh7glzy1ahnxv648brlwz"; depends=[rJava fingerprint rcdk]; };
+Ryacas = derive { name="Ryacas"; version="0.2-12.1"; sha256="18dpnr6kj0a8f2jcbj9f6ahd0mg7bm1qm8dcs1wh8kmjl3klr1y8"; depends=[XML]; };
+Rz = derive { name="Rz"; version="0.9-1"; sha256="1cpsmfxijrfx06ydpjzbaak7gkad4jjk1ph9453l9zly1cwzgspj"; depends=[foreign memisc psych ggplot2 RGtk2 formatR]; };
+SAENET = derive { name="SAENET"; version="1.0"; sha256="0mnzv1a3xmbf4w9mgsi2kf20kyhcsadaih63wb0zvraqv5ijdd31"; depends=[autoencoder neuralnet]; };
+SAFD = derive { name="SAFD"; version="0.4"; sha256="1zbja8bgva2j24ks4m14hbf4s0n674lj89nfxkkmwrljzsmjrjhv"; depends=[]; };
+SAM = derive { name="SAM"; version="1.0.5"; sha256="1fki43bp6kan6ls2rd6vrp1mcwvz92wzcr7x6sjirbmr03smcypr"; depends=[]; };
+SAMURAI = derive { name="SAMURAI"; version="1.2.1"; sha256="02fipbjcsbp2b2957x6183z20icv1yly2pd1747nyww9bmpa7ycm"; depends=[metafor]; };
+SAPP = derive { name="SAPP"; version="1.0.4"; sha256="0a86vz390v2g5lz1r33qrmhgvak4rpfmpxy39shnivhagnrsarkl"; depends=[]; };
+SASPECT = derive { name="SASPECT"; version="0.1-1"; sha256="1d3yqxg76h9y485pl5mvlx6ls1076f80b320yvx4zxmqq9yxmaba"; depends=[]; };
+SAScii = derive { name="SAScii"; version="1.0"; sha256="0nq859xmrvpbifk8q1kbx3svg61rqdg8p8gr1pn85fr0j3w7h666"; depends=[]; };
+SASmixed = derive { name="SASmixed"; version="1.0-4"; sha256="0491x4a3fwiy26whclrc19alcdxccn40ghpsgwjkn9sxi8vj5wvm"; depends=[]; };
+SASxport = derive { name="SASxport"; version="1.5.0"; sha256="0sgxpjv9ilz2zb13kkb0fqjfbamrczxpy9rwvfhh46bmx4i038iq"; depends=[chron Hmisc]; };
+SAVE = derive { name="SAVE"; version="1.0"; sha256="1m9rrga8x00hlvn0c1jcz6yz14pdm6h3dq14905mq49sw63c7zll"; depends=[coda DiceKriging]; };
+SBRect = derive { name="SBRect"; version="0.26"; sha256="16g0ciy9q9irypsl8x36i0lavl41j3af13r2si0by8q6wj56pxi4"; depends=[rJava]; };
+SBSA = derive { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp Rcpp RcppArmadillo]; };
+SCBmeanfd = derive { name="SCBmeanfd"; version="1.1"; sha256="0pcyrnzlnlyn4v3lyv7pv01v2lh4vig1x4x8g98lpccpi1bimd4z"; depends=[boot KernSmooth]; };
+SCEPtER = derive { name="SCEPtER"; version="0.2-1"; sha256="19sphwcsj2z05dvpmz7vgxykzyghkfn79jwqvk6d66daman679mv"; depends=[MASS]; };
+SCEPtERbinary = derive { name="SCEPtERbinary"; version="0.1-1"; sha256="0rab0widfndx94dn1nchhs06q0d57vq2n3xy79p130l9rgp9v489"; depends=[MASS SCEPtER]; };
+SCGLR = derive { name="SCGLR"; version="2.0.2"; sha256="1g8vgmlsc88g00rf3pxqszli4r9v3r4md6vq5lxa7j9wn28c7rp1"; depends=[Matrix Formula expm ggplot2 pROC]; };
+SCI = derive { name="SCI"; version="1.0-1"; sha256="1m5a15a4n0zjqykq38pyw9133g2ih4ykbgak8c8khq8p0isnl8qb"; depends=[fitdistrplus lmomco]; };
+SCMA = derive { name="SCMA"; version="1.1.1"; sha256="1jbx4fkixm31zdlfx65xxdzpf77dzpqazy1l6qyjz7q672s2vidd"; depends=[]; };
+SCORER2 = derive { name="SCORER2"; version="0.99.0"; sha256="1a28wga69ip9s98ch2dqgl0qkwa3w6frmaqcvhclc360ik813mxq"; depends=[]; };
+SCRT = derive { name="SCRT"; version="1.1.1"; sha256="02sndf5r1y27pgkw4wd9bhz7jhzk3cv78hp3xl222phjznjf2lzi"; depends=[]; };
+SCVA = derive { name="SCVA"; version="1.1.1"; sha256="1n660pml288ia4x18kjbrcx0n1cnasdxhl6pymh1nzxm4ai2hinc"; depends=[]; };
+SCperf = derive { name="SCperf"; version="1.0"; sha256="1v9l7d9lil2gy5bw6i7bzc24808m063xaw2spl005j0a9rh4ag41"; depends=[]; };
+SDD = derive { name="SDD"; version="1.2"; sha256="0wzgm1hgjv5s00bpd7j387qbvn5zvyrrd5fr2rgyll4cw9p4sd33"; depends=[Hmisc sm tseries rpanel rgl]; };
+SDDE = derive { name="SDDE"; version="1.0.0"; sha256="1vd96w6qjy7ak85gj1c255fb0ifaffp79k6swqnvskvkq2cc524m"; depends=[igraph doParallel foreach iterators]; };
+SDMTools = derive { name="SDMTools"; version="1.1-221"; sha256="1kacrpamshv7wz83yn45sfbw4m9c44xrrngzcklnwx8gcxx2knm6"; depends=[R_utils]; };
+SDaA = derive { name="SDaA"; version="0.1-3"; sha256="0z10ba4s9r850fjhnrirj2jgnfj931vwzi3kw9502r5k7941lsx0"; depends=[]; };
+SE_IGE = derive { name="SE.IGE"; version="1.0"; sha256="0gx3kdsdl3rjms6fxabxz51z84r9mcy4934l2g43ifrxbyphnias"; depends=[]; };
+SEAsic = derive { name="SEAsic"; version="0.1"; sha256="1mg01sag6n1qldjvmvbasac86s7sbhi4k99kdkav2hdh6n9jg467"; depends=[]; };
+SECP = derive { name="SECP"; version="0.1-4"; sha256="0a4j0ggrbs0jzcph70hc4f5alln4kdn2mrkp3jbh321a6494kwl1"; depends=[SPSL]; };
+SEER2R = derive { name="SEER2R"; version="1.0"; sha256="0lk0kkp8sv3nl19zwqd7449mmjxsj3pqpzdmqf70qf8xh2pqyvzd"; depends=[]; };
+SEERaBomb = derive { name="SEERaBomb"; version="2014.4.1"; sha256="1vlk6hcn05vdjfc7c8dhvsd1hc2yq1pdmhb7i48b689lkxg82igz"; depends=[RSQLite LaF]; };
+SEL = derive { name="SEL"; version="1.0-2"; sha256="1nrk0fx6ff330abq8askvp0790xnfv00m3sraqcr32hciw6ks421"; depends=[quadprog lattice]; };
+SEMID = derive { name="SEMID"; version="0.1"; sha256="1bxdjdyqlvxz339jdgw90qi6kvfhjdmga38vhfl3ldlxfv2s9gfk"; depends=[igraph]; };
+SEMModComp = derive { name="SEMModComp"; version="1.0"; sha256="1za67470f13z8jsy3z588c7iiiz993d3vjqrb8v9fann2r6sf1md"; depends=[mvtnorm]; };
+SETPath = derive { name="SETPath"; version="1.0"; sha256="1dpgmki0dhph13h1fd3mbf308746wccgfz5g5gdm7bwbjnmjzd98"; depends=[]; };
+SEchart = derive { name="SEchart"; version="0.1"; sha256="19gqcd6xzwg37nzc67p88ip4i0v2f59ds85xfw9qq8lybvdm76k2"; depends=[JM]; };
+SGCS = derive { name="SGCS"; version="2.3"; sha256="1c917g03s50mp96lqhkjagsd2cq9rjbprlwf3h409dj59g6k2zx6"; depends=[spatstat]; };
+SGL = derive { name="SGL"; version="1.1"; sha256="1wc430jqn3li102zpfmyyavfbab7x7ww9p89clxsndyigrrbjdr7"; depends=[]; };
+SGP = derive { name="SGP"; version="1.2-0.0"; sha256="0v4ljhvfrvl6izprcrw8w36474fjz0v1kpcsg0sx32359amd3zxz"; depends=[Cairo colorspace data_table doParallel foreach gridBase iterators jsonlite plyr quantreg reshape2 RSQLite sn]; };
+SGPdata = derive { name="SGPdata"; version="8.0-0.0"; sha256="0g25s2wcj47394fm16maygafnynizma3mgb3r65b5p9c27swk4v8"; depends=[]; };
+SHIP = derive { name="SHIP"; version="1.0.2"; sha256="0b83cclibdz1r7sz968nmca4najwgps9wrdlsh4gxrl7fq40k4ln"; depends=[]; };
+SID = derive { name="SID"; version="1.0"; sha256="1446zy4rqbw0lpyhnhyd06dzv238dxpdxgmsk34hqv7g3j7q5h1w"; depends=[pcalg igraph Matrix]; };
+SII = derive { name="SII"; version="1.0.3"; sha256="1k9mvz6g25qs351c0vx7n5h77kb6k833jrcww14ni59yc9jgvsyg"; depends=[]; };
+SIMMS = derive { name="SIMMS"; version="1.0.1"; sha256="08kl9kzxqmzlacs8jfys0w7rngx93mlj4k1g8wzg4hmnlmic8l3k"; depends=[survival MASS glmnet]; };
+SIN = derive { name="SIN"; version="0.6"; sha256="0vq80m3vl8spdnlkwvwy0gk3ziyybqzjp3scnfdcpn942ds7sgg9"; depends=[]; };
+SINGLE = derive { name="SINGLE"; version="1.3"; sha256="0wd7jzys51rnwr5rhf2llpygqxydjrv0dill19v8sz9w0madkil4"; depends=[flsa igraph dse Matrix]; };
+SIS = derive { name="SIS"; version="0.7-5"; sha256="197zf4s4f5wm8sl9h5vxwywmml7n05fwqlxbldn6wkpxix7gx0xm"; depends=[glmnet ncvreg survival]; };
+SKAT = derive { name="SKAT"; version="1.0.1"; sha256="03kc9df36kg9q1qr5l5zvfq3i5h5gz5f2m0mh054m6x76s796k1z"; depends=[]; };
+SLC = derive { name="SLC"; version="0.3"; sha256="0l0y1sjj0glsb7vwla99ijclcgaq2y85bgz1wqm348n4shsmm2rs"; depends=[]; };
+SLHD = derive { name="SLHD"; version="2.1-1"; sha256="0y3ilxd0phmks8zkmpgw7p5zrkwq4k95h976cwk58pavvhfwj9kb"; depends=[]; };
+SMC = derive { name="SMC"; version="1.1"; sha256="1r4ajgi785lmpnlxrba0n6phmk1f0mb6b5yqk6hx8gng2w8ggclz"; depends=[]; };
+SMCP = derive { name="SMCP"; version="1.1.3"; sha256="0ksx2ibz849vhrz2px9p7z8hlgvspz7kxhadvhk5mhkfbhrnpdf0"; depends=[]; };
+SMCRM = derive { name="SMCRM"; version="0.0-3"; sha256="1x06w00sdijhg5h1s61q4ym5wgk97pw9md6api7if2cxjv7h5zcy"; depends=[]; };
+SMFI5 = derive { name="SMFI5"; version="1.0"; sha256="10qp33l0dig00y9gfhpzqig6dbkjw76ch9pfq64dn4xrdkpq1kx5"; depends=[ggplot2 reshape corpcor]; };
+SMIR = derive { name="SMIR"; version="0.02"; sha256="02q8m5m8lcfrpi78p3kajkps8wiir3jwyqc54j9vfx8aj6mk1v71"; depends=[]; };
+SML = derive { name="SML"; version="0.1"; sha256="0pdj7321wy50v5l23hknlm30kp8cfgn072pbbifyp8qzmk0hyd8h"; depends=[glmnet Matrix lattice]; };
+SMNCensReg = derive { name="SMNCensReg"; version="3.0"; sha256="06542jacy74mw6ic0i1ml09pn45sll96bya7dqja6bg9yp0m6bvr"; depends=[Matrix PerformanceAnalytics]; };
+SMPracticals = derive { name="SMPracticals"; version="1.4-2"; sha256="0apmkmsv2fqmxpgq08n9k9dvcknj74s4cpp0myjcd6kibb7g9slq"; depends=[ellipse MASS nlme survival]; };
+SMR = derive { name="SMR"; version="2.0.1"; sha256="0qy56fmismcjklpf29ic2gi1g8ajdjpxsl0akb9cqzyisyf641ia"; depends=[]; };
+SMVar = derive { name="SMVar"; version="1.3.3"; sha256="17wr4lixy3p32gr4jq02d7zsr88yrbddjsvynzdsdrwbxf4mwqhp"; depends=[]; };
+SNFtool = derive { name="SNFtool"; version="2.2"; sha256="1d84ybsi91mr3ma4jzmr9606hg1q00yg0dn50vkjnyda50igcb1c"; depends=[heatmap_plus]; };
+SNPMClust = derive { name="SNPMClust"; version="1.0"; sha256="1vyag8axrl888qhjsbv7g84hzfsnvxh5ccdcdriamy50c2chkji8"; depends=[MASS mclust]; };
+SNPassoc = derive { name="SNPassoc"; version="1.9-2"; sha256="113byj8zbg6xyxb1qzm76sqfyk3fap0sd90691zzm1x2pbfnb3mh"; depends=[haplo_stats survival mvtnorm]; };
+SNPmaxsel = derive { name="SNPmaxsel"; version="1.0-3"; sha256="0pjvixwqzjd3jwccc8yqq9c76afvbmfq0z1w0cwyj8bblrjpx13z"; depends=[mvtnorm combinat]; };
+SNPtools = derive { name="SNPtools"; version="1.1"; sha256="0l29kiqz4048x7amxx1qzkaw2xnd6lpdsdp5nq3rck9amx2hw64a"; depends=[]; };
+SNSequate = derive { name="SNSequate"; version="1.1-1"; sha256="1jgpjws5apysp55pwy3x8mbzy4zjvv39anp6j2x4lgczh5nf49b6"; depends=[magic]; };
+SOAR = derive { name="SOAR"; version="0.99-11"; sha256="1n38gx5sxpkqfkk4y6vpp6g19b8bs5bisni9wn6311s0csizp86m"; depends=[]; };
+SOD = derive { name="SOD"; version="1.0"; sha256="0f0rh1qsjzxb3zzr440kvl6fnnj7dvc5apdzs5hpf6xrlfg863pk"; depends=[Rcpp Rcpp]; };
+SODC = derive { name="SODC"; version="1.0"; sha256="18s4rcp5dzchvwrzzbfhbs3x91zlg1rymjarxjk5i429mfrn0krx"; depends=[magic ppls psych MASS]; };
+SOLOMON = derive { name="SOLOMON"; version="1.0-1"; sha256="0z91wsrgdir25ks4dnirzsg4f1ngal7n40235m3w43j6y6dhkqrc"; depends=[]; };
+SOR = derive { name="SOR"; version="0.22"; sha256="1njwlsvdnwxidvwrx18h6h4dhrsdgy0fikkhn20pip42qqwd96gz"; depends=[Matrix]; };
+SPA3G = derive { name="SPA3G"; version="1.0"; sha256="15f38imwqn1zifym2821q7xysvws9vhlif4g16w0pnvk0wlhyb92"; depends=[]; };
+SPACECAP = derive { name="SPACECAP"; version="1.1.0"; sha256="11szdq7sqr8ldwz7apbf1dv5mh43rbyb7dkivms58s5623xrq3sm"; depends=[coda]; };
+SPARQL = derive { name="SPARQL"; version="1.16"; sha256="0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"; depends=[XML RCurl]; };
+SPAr = derive { name="SPAr"; version="0.1"; sha256="068jlsvaxx80ih6n86286m2r75cvy6w0m51vpj4gfclhh38py4p4"; depends=[]; };
+SPECIES = derive { name="SPECIES"; version="1.0"; sha256="0p45llf2wjr467bqr4pbljfank9zz3fm42yl3i0r3jbkxgz0rjf0"; depends=[]; };
+SPEI = derive { name="SPEI"; version="1.6"; sha256="0mbz4nydnzwypfbi1d9fjy09x6133q096qbfrc913dbidzkvfpqv"; depends=[lmomco]; };
+SPIAssay = derive { name="SPIAssay"; version="1.0.0"; sha256="1rwa2iicwdm7z8khlnly0ybrqiisw420anr2pcdd5chxa48h8apg"; depends=[]; };
+SPIn = derive { name="SPIn"; version="1.1"; sha256="109xxrg7bsmmfd6ik85kxrw2qclxbh5ipsh5mmrdl4hki3hnyp2s"; depends=[quadprog]; };
+SPMS = derive { name="SPMS"; version="2.0"; sha256="150kb4gjiksp3kc7p9j5zqc4955rq4fb27as71z89h23mkswz5r5"; depends=[Matrix]; };
+SPODT = derive { name="SPODT"; version="0.9-1"; sha256="01yq429a4s63855bwpn2mqjj2k3cz4187kfpi7n7qqdpdvmxz109"; depends=[rgdal sp tree]; };
+SPOT = derive { name="SPOT"; version="1.0.4184"; sha256="0rikfs2rha7q2xbycvky8si2ccgmamcn662g8ni105cr6m9hvvpc"; depends=[rpart emoa]; };
+SPREDA = derive { name="SPREDA"; version="1.0"; sha256="1dyqsra899fd1nbk1b7vkw8gs455c6pbcvzw84q9iri77186xqhv"; depends=[survival nlme]; };
+SPSL = derive { name="SPSL"; version="0.1-8"; sha256="1jg1nfhz8qml1wwqa4d0w7vkdmbgdy5xlfqx0h2pdw2z8iij3xxc"; depends=[]; };
+SPmlficmcm = derive { name="SPmlficmcm"; version="1.3"; sha256="0igybzc6fx6yd8xq06909vml4zwwzm4sl5xpds1292lgv3y3zdgb"; depends=[nleqslv]; };
+SQDA = derive { name="SQDA"; version="1.0"; sha256="0nfimk625wb64010r5r7hzr64jfwgc6rbn13wvrpn0jgayji87h6"; depends=[PDSCE mvtnorm]; };
+SQN = derive { name="SQN"; version="1.0.5"; sha256="0kb8kf6g482zqdp4avwvhs3pqghfny757dbzfl1abaigmvwvx4qj"; depends=[mclust nor1mix]; };
+SQUAREM = derive { name="SQUAREM"; version="2014.8-1"; sha256="17fn37da4zslbfq5h4f3dfwyw1dxj5y2rgly3vjl2c4k5bnwxxqw"; depends=[]; };
+SRCS = derive { name="SRCS"; version="1.0"; sha256="0aha9fqdigvsx8dvck4y2yb8c7v58rivz50z0xwi0bhwzdddx52f"; depends=[]; };
+SRRS = derive { name="SRRS"; version="0.1.1"; sha256="0jv545a97q4pyl89lmhn3y0jhdzyq033mvx144x8lcgx59s7cyi3"; depends=[tcltk2 gtools]; };
+SSDforR = derive { name="SSDforR"; version="1.4.8"; sha256="0bypbcb2d79cc4pl2i7c95l9lg65p66h5xl4sf2akpmffb3vf953"; depends=[psych TTR MASS TSA]; };
+SSN = derive { name="SSN"; version="1.1.4"; sha256="0n6xxbhvbqs15zn7w66vsr98adibfyr2qa0w7pfbw6vmrrmmn23z"; depends=[RSQLite sp MASS igraph maptools lattice BH]; };
+SSrat = derive { name="SSrat"; version="1.0"; sha256="1qpsdfdngsgxx3mqgn4avl65w4v5v4jwsh1nnxzfn9iqi9mg4bhi"; depends=[plyr sna]; };
+SSsimple = derive { name="SSsimple"; version="0.6.4"; sha256="0p7d4hx7mhn5myq8ajcij6hhg79rjxigk5v8z93yfdw4gjcb5wad"; depends=[mvtnorm]; };
+STAR = derive { name="STAR"; version="0.3-7"; sha256="1g78j4iyh78li1jaa3zz5qv4p41cg0imhmvbfakd34l32ppih4ll"; depends=[survival mgcv R2HTML gss codetools]; };
+STEPCAM = derive { name="STEPCAM"; version="1.0"; sha256="0lgikdj0mghz5hjm3rlrnnddjhvf9cmm0hwklbdyl3h816gq1jci"; depends=[vcd FD gtools MASS]; };
+STPGA = derive { name="STPGA"; version="1.0"; sha256="1kqxzjrxf194n006dr3h5kprb4l7qy8bgm2n6251p0sswpvr70j1"; depends=[]; };
+SUE = derive { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; };
+SVMMaj = derive { name="SVMMaj"; version="0.2-2"; sha256="01njc7drq01r3364081dv9gn37vrql52zbrb60gd559f3jshqx3m"; depends=[kernlab MASS]; };
+SVMMatch = derive { name="SVMMatch"; version="1.1"; sha256="1ykwrhlid4hs466xh3kv6y2qdhgk0jiglg0l3zwk5qlni6p26zc9"; depends=[Rcpp Rcpp RcppArmadillo]; };
+SWATmodel = derive { name="SWATmodel"; version="0.5.9"; sha256="1i48g9nbjfn30ppwyzyz3k181nscv4wx773l8mzfdwhx0nlv4kyj"; depends=[EcoHydRology]; };
+SYNCSA = derive { name="SYNCSA"; version="1.3.2"; sha256="1m057lhfaf0n35rs3sipia04qgkp04hv7wf7rvnr7bhzic9f4vg3"; depends=[vegan mice FD]; };
+Sabermetrics = derive { name="Sabermetrics"; version="1.0"; sha256="1x35h1ffy6jnsak13vb1kcsbmh3hpass19gqic8grk0c3g1dvv6y"; depends=[]; };
+Sample_Size = derive { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; };
+SampleSizeMeans = derive { name="SampleSizeMeans"; version="1.1"; sha256="1wbc46n8b8wbcxl21blbzs5728dr8r0l8d3jpzbha8pcav0xrh1m"; depends=[]; };
+SampleSizeProportions = derive { name="SampleSizeProportions"; version="1.0"; sha256="0mvkvx3nni0l8ys68sq3h2zlbjvksdcdzxqlf03k0ca5bbcmdf9l"; depends=[]; };
+SamplerCompare = derive { name="SamplerCompare"; version="1.2.6"; sha256="1n94fp6frawlbxcnvi0v6lhgs3yyc47lj1r46y3jg6zb9z3va3fa"; depends=[mvtnorm]; };
+SamplingStrata = derive { name="SamplingStrata"; version="1.0-3"; sha256="16nrcv5hbbvn4rgckzagi84i7h49bd878mnpknlzmzr5ykzywsay"; depends=[]; };
+SciViews = derive { name="SciViews"; version="0.9-5"; sha256="199waafpn0ndg7szwfhw2jlgcx1f0pv7j0vix2vzz60knwm698xb"; depends=[MASS ellipse]; };
+SciencesPo = derive { name="SciencesPo"; version="1.02.12"; sha256="0v947xjfwyidl2fa6i7drvv9vnskz06kq4rmz46qzns7g0lwfjnq"; depends=[ggplot2 foreign MASS data_table lubridate xtable]; };
+ScoreGGUM = derive { name="ScoreGGUM"; version="1.0"; sha256="0f7sjfr3a8b8y1n9lrwyiyyljls3rbz84d9s93psi2fnmjj0kvgw"; depends=[]; };
+ScottKnott = derive { name="ScottKnott"; version="1.2-5"; sha256="1ywwhdghcy30mp2nhsk2yhgb37nrdmb9yan5vvzsg66bchc3xgll"; depends=[]; };
+ScrabbleScore = derive { name="ScrabbleScore"; version="1.0"; sha256="19vgaxnhvqsbllqxfbnhnar2j4g0fkxi7rfsmkks2bd2py81x04m"; depends=[]; };
+ScreenClean = derive { name="ScreenClean"; version="1.0.1"; sha256="0haanr05g4vwp5apncyzv8i3r61g4xf9ihm8ilcabcgpri56gpjk"; depends=[MASS Matrix quadprog]; };
+SearchTrees = derive { name="SearchTrees"; version="0.5.2"; sha256="11p81x1klkmxarypxpbisf78dlrmhzzg9y9hxpwz75pks1y56gqg"; depends=[]; };
+SegCorr = derive { name="SegCorr"; version="1.0"; sha256="1fyrnhbifvc2y2n6r0zg5yq0qcjzws62ynwqgc0mbvzax3n82dhm"; depends=[cghseg]; };
+Segmentor3IsBack = derive { name="Segmentor3IsBack"; version="1.8"; sha256="00m6fvx6s8mz477c8b4dmgdh52jf6jx1lcqzf84l90b1xw93qnv7"; depends=[]; };
+Sejong = derive { name="Sejong"; version="0.01"; sha256="1d9gw42dbs74w7xi8r9bs6dhl23y16yxqzyhqqayvcm98q3l77nf"; depends=[]; };
+SeleMix = derive { name="SeleMix"; version="0.9.1"; sha256="04gxgja35qs4k66iil014dzgl5bkx0qhr9w4v7qpmwv2bb07jwz3"; depends=[mvtnorm Ecdat xtable]; };
+SelvarMix = derive { name="SelvarMix"; version="1.0"; sha256="0yysmf854xz5l0lf2x0hw0qxbrdhgfrcx5ggw8n4pjfv553p38ni"; depends=[Rcpp glasso Rmixmod Rcpp RcppArmadillo]; };
+SemiCompRisks = derive { name="SemiCompRisks"; version="2.0"; sha256="0in3pv66nhb0ar4xfxskvf24c7bqkr9ik069a4nynwnc3idpsq32"; depends=[]; };
+SemiMarkov = derive { name="SemiMarkov"; version="1.4"; sha256="0z43ynkd6wrxrfdbq01jiwyvw2shc3r3pmircnzkbwm2sffd3515"; depends=[numDeriv MASS Rsolnp]; };
+SemiPar = derive { name="SemiPar"; version="1.0-4.1"; sha256="05gnk4s0d6276rmnyyv6gy1wpkji3sw563n8l7hmi9qqa19ij22w"; depends=[MASS cluster nlme]; };
+SemiParBIVProbit = derive { name="SemiParBIVProbit"; version="3.3"; sha256="12zjpyl79kx750xgra06zbw5vnaq8mis39cm8672w3d9giy2fxr5"; depends=[mgcv mvtnorm magic VineCopula VGAM survey trust Matrix sn]; };
+SemiParSampleSel = derive { name="SemiParSampleSel"; version="1.2"; sha256="1k9xmby8hy4k0qn7pjj0rypxj4iqb206ixv92bz7ga0q8zd0nxbr"; depends=[copula mgcv mvtnorm gamlss_dist magic trust VGAM Matrix]; };
+SenSrivastava = derive { name="SenSrivastava"; version="2012-04-0"; sha256="0ki0kl18cj8lkad6q48piyvslkirs8y5rnfa8bvgjxsisxg2ahhp"; depends=[]; };
+SensitivityCaseControl = derive { name="SensitivityCaseControl"; version="2.1"; sha256="00jqzqx7g0av9lw13is723gph486gb8ga0wgcmmzpmb24s5nya9z"; depends=[]; };
+SensoMineR = derive { name="SensoMineR"; version="1.20"; sha256="1qw97cixndg2h29bbpssl0rqag3w8im4nm9964lr7r012y5wdqhx"; depends=[FactoMineR cluster KernSmooth]; };
+SensusR = derive { name="SensusR"; version="1.0"; sha256="1b5yrb3iiijr7x0r4ga5dlx6yqqk4bvmh1377655s6c7j36sn1xd"; depends=[jsonlite lubridate rworldmap plyr sp]; };
+SeqFeatR = derive { name="SeqFeatR"; version="0.1.7"; sha256="195pkpk9sh99v01mk827axsynwaccygx19i1x0h0ma7bsqlmw1qc"; depends=[tcltk2 plotrix ape plyr phangorn calibrate ggplot2]; };
+SeqGrapheR = derive { name="SeqGrapheR"; version="0.4.8.3"; sha256="03plwa3sc1pg34p1szbz3d0z8y53w7iqm7qn9q6fj72rsnk5spxc"; depends=[igraph rggobi gWidgets gWidgetsRGtk2 cairoDevice]; };
+Sequential = derive { name="Sequential"; version="1.1"; sha256="1fr4n6qbxwj6hs01h07wdj5v4c7af5q8ccnm33yzcrx845qf8fiv"; depends=[]; };
+SetMethods = derive { name="SetMethods"; version="1.0"; sha256="0zizvrzyk01w4ncazvifmjm4h5zrpsf6n68n11sc8f5kzny9ia48"; depends=[lattice betareg lattice betareg]; };
+SharpeR = derive { name="SharpeR"; version="0.1501"; sha256="138faypgrfph48wvz600l20ypqzxdir4q43bl9s7vndysya3vsnl"; depends=[matrixcalc]; };
+ShrinkCovMat = derive { name="ShrinkCovMat"; version="1.1.0"; sha256="1v2rr97wz5521cjy41j5vdqq29xd7696pc1rzw4angsfjrq3fnh4"; depends=[]; };
+SiZer = derive { name="SiZer"; version="0.1-4"; sha256="0kiwvxrfa2b49r2iab5v2aysc2yzk5ck3h41f2hr0vq5pdnz0qy5"; depends=[boot]; };
+SightabilityModel = derive { name="SightabilityModel"; version="1.3"; sha256="0rgv5735y07yyv5y9c3flzha97ykn34ysmzy6as1z94hqfr4w746"; depends=[]; };
+Sim_DiffProc = derive { name="Sim.DiffProc"; version="2.9"; sha256="1cq168ga4p70hgx7rsm9rvam8b0wvjivqp2nsprk39i864j9sr91"; depends=[scatterplot3d rgl]; };
+SimComp = derive { name="SimComp"; version="2.2"; sha256="07gmlbwvv07kq3z7gq2jxlank011c0cqh8zwwp4pzf061d3gjdm6"; depends=[mvtnorm multcomp mratios]; };
+SimCorMultRes = derive { name="SimCorMultRes"; version="1.3.0"; sha256="0r3d91x9srzsa0g6p3jlzplpsrprbg11kv6fsbbh47pz02fvi8mc"; depends=[evd]; };
+SimRAD = derive { name="SimRAD"; version="0.95"; sha256="1l4y39d05h5f2q609i73p07h093r9yca11dqw5iq1d7skwxcvf01"; depends=[]; };
+SimSeq = derive { name="SimSeq"; version="1.3.0"; sha256="0xkiiwk52sv8vivd4qsvzgjbw8q0csy0d45diym2mc9aq9nhf5dq"; depends=[fdrtool]; };
+SimilarityMeasures = derive { name="SimilarityMeasures"; version="1.4"; sha256="1w4klcln4hy9vcik9csg7b3b8kk4raxgckwfrhqg089d80xbqsxj"; depends=[]; };
+Simile = derive { name="Simile"; version="1.3.3"; sha256="1izyjp18m1inac3svkf59z3lddrv44m7pdkhisgkr987xs8gdch4"; depends=[]; };
+SimpleTable = derive { name="SimpleTable"; version="0.1-2"; sha256="1rkybrp7zlb7cj37799npss1ldic0yf519q5l7a6ikal4yl1afyb"; depends=[hdrcde locfit MCMCpack]; };
+SimplicialCubature = derive { name="SimplicialCubature"; version="1.0"; sha256="0da2krxsd3p7v2jm4fp2ksh0ak1y0cjxj7inwkdiwmmmgjyq033f"; depends=[]; };
+Simpsons = derive { name="Simpsons"; version="0.1.0"; sha256="1pm6wga1yxc35zgz72plzq23d3l4bbzfdvhszdxmkn1pkk64h8ms"; depends=[mclust]; };
+SimuChemPC = derive { name="SimuChemPC"; version="1.3"; sha256="06sxknaykikcgbw7qbbw1risg0sbaisb68vhfd7cl6sg0327dznk"; depends=[rcdk]; };
+SimultAnR = derive { name="SimultAnR"; version="1.1"; sha256="0jvmxwmbnx14h27b576dg9mw3c2z0w3m82f51f25zd1darcl06bj"; depends=[]; };
+SixSigma = derive { name="SixSigma"; version="0.8-1"; sha256="15jdr10a7a6wv50vz9y6qcrbhnddl8zh4j4d48xrarrqbjy6l4p7"; depends=[qcc lattice ggplot2 reshape2 nortest testthat]; };
+SkewHyperbolic = derive { name="SkewHyperbolic"; version="0.3-2"; sha256="10vilra5z884xinqkvk7ryi4nsq5zxlyn5qh23lsajba3b3qwhaw"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
+Skillings_Mack = derive { name="Skillings.Mack"; version="1.0-2"; sha256="1spf77ix9d264r126hnrjm7z8fw19v1bk5pqhqcf6lm93zlcgh8i"; depends=[MASS matrixcalc gtools]; };
+Sleuth2 = derive { name="Sleuth2"; version="1.0-7"; sha256="1zav2g1yqc6bvzap4r5xwy9abkdj8iswivj5y2lylc25nkxwcswg"; depends=[]; };
+Sleuth3 = derive { name="Sleuth3"; version="0.1-8"; sha256="02qbigg75ckyg65620bv88ggs4d9z3vivxd5j76x8hzg5lkk31yj"; depends=[]; };
+SmarterPoland = derive { name="SmarterPoland"; version="1.5"; sha256="0qa31z0wgl8bgc3ihgbfdmp1ang3wyy4qylj81zxh1yn2zxx5fr0"; depends=[rjson ggplot2 httr htmltools]; };
+SmithWilsonYieldCurve = derive { name="SmithWilsonYieldCurve"; version="1.0.1"; sha256="0qvhd1dn2wm9gzyp6k7iq057xqpkngkb4cfmvmjqmf0vhysp371w"; depends=[]; };
+SmoothHazard = derive { name="SmoothHazard"; version="1.2.3"; sha256="0p6hnq782d5qwmq6ak2rmbzx84lrsy02lr303gg3y0vln5i2myyn"; depends=[lava mvtnorm prodlim]; };
+SnowballC = derive { name="SnowballC"; version="0.5.1"; sha256="0kbg33hy6m2hv9jspyx6naqmk2q6h2zmvvczjmkwqvlhzlj0c5s4"; depends=[]; };
+SoDA = derive { name="SoDA"; version="1.0-6"; sha256="0sh2dan4ga2k14rirnkvgzsvbksx1k4ika5gkf5cy247rjkqnpj0"; depends=[]; };
+SocialMediaMineR = derive { name="SocialMediaMineR"; version="0.1"; sha256="113nyjncl5yi61hz8i7k60b3f0f9a5vyrd3s72nbmc44cnvr8fci"; depends=[RCurl jsonlite httr]; };
+SocialNetworks = derive { name="SocialNetworks"; version="1.1"; sha256="0d868xka6d35i17r28cvm0ya971xk6y1kycsfff0279w27cjd9x0"; depends=[Rcpp Rcpp]; };
+SocialPosition = derive { name="SocialPosition"; version="1.0"; sha256="0aqx6raskybxwavl7366klhagclq0zlklr5sd0l9h6cz530h3azq"; depends=[]; };
+SoftClustering = derive { name="SoftClustering"; version="1.1502"; sha256="1pgg9mjpfw55m3ny726vx5wl8gwsdkrxv8xzgmy3aqdlwzhh4bwz"; depends=[]; };
+SoilR = derive { name="SoilR"; version="1.1-23"; sha256="1cryypgnbck5hvkc2izrd8r10q2b97f2p1s46x4dk8p099gck5wg"; depends=[deSolve RUnit]; };
+SortableHTMLTables = derive { name="SortableHTMLTables"; version="0.1-3"; sha256="1jgrqsm0cj8qlk0s4qn3b83w96mgpp5gmhgcg9q2glc72v8c4ljh"; depends=[testthat brew]; };
+SoundexBR = derive { name="SoundexBR"; version="1.1"; sha256="1rhmwbf7687lgwwx1qldljb9j7qj7hcaypawlchmys61ny9500wl"; depends=[]; };
+SparseGrid = derive { name="SparseGrid"; version="0.8.2"; sha256="057xbj2bhjm9i32kn39iscnqqdsvsmq0b8c92l8hnf9avf1sx10x"; depends=[]; };
+SparseM = derive { name="SparseM"; version="1.6"; sha256="1296snm3481259xwhj97vffwjb2v8367ivf2g5amd4pzqzwx6p1k"; depends=[]; };
+SparseTSCGM = derive { name="SparseTSCGM"; version="2.1.1"; sha256="0xr3l049kssi7k074wggvc96p2zlca076j2hwpwpmna42xl3dmqv"; depends=[glasso longitudinal flare MASS mvtnorm network abind]; };
+SpatPCA = derive { name="SpatPCA"; version="1.0.0.1"; sha256="1j2zhm0xlm5w1p4yhg60qwa0r2hai7nv1n25ski5x2nfnpb5fiij"; depends=[fields Rcpp Rcpp RcppArmadillo]; };
+SpatialEpi = derive { name="SpatialEpi"; version="1.2.1"; sha256="02mvahpbrlcnxmf272fk46wykv9s2lcjqd5yhd80dfs78qjwly77"; depends=[sp Rcpp MASS maptools spdep Rcpp RcppArmadillo]; };
+SpatialExtremes = derive { name="SpatialExtremes"; version="2.0-0"; sha256="0fjh4cjzljwzxk4bhcrff9wnkskaiawbj7z6swrj1xl35mq4dljx"; depends=[]; };
+SpatialNP = derive { name="SpatialNP"; version="1.1-1"; sha256="108gxk0gbbjck9bgxvqb9h216ww21lmh2by0hrhzwx5r63hhcbmd"; depends=[]; };
+SpatialPack = derive { name="SpatialPack"; version="0.2-3"; sha256="1gs0x3wj3hj663m6kszwhy3ibcx0lrslr127miy1rhz8683ij71c"; depends=[]; };
+SpatialTools = derive { name="SpatialTools"; version="0.5.8"; sha256="18zchr8bfjqdr9j6vh6365mhrj2n0ns1ixvmas5s0ppiim59jl7j"; depends=[spBayes Rcpp Rcpp RcppArmadillo]; };
+SpatialVx = derive { name="SpatialVx"; version="0.2-2"; sha256="16qww58az1523pk8b4b5hzqnpb8djgvph2ykf6bjp8zz5qdfyhjs"; depends=[spatstat fields smoothie smatr turboEM distillery maps boot CircStats fastcluster waveslim]; };
+SpatioTemporal = derive { name="SpatioTemporal"; version="1.1.7"; sha256="0rc5zf8cnjw59azgqmslfz2dl5i17dfmb7ls5c849qybp2gn2zdv"; depends=[Matrix MASS]; };
+SpeciesMix = derive { name="SpeciesMix"; version="0.3.1"; sha256="0wl15k00d7n9pmnp1kr28p05z4vrziprcdndw77kwkcgv51cvllk"; depends=[MASS numDeriv]; };
+SpecsVerification = derive { name="SpecsVerification"; version="0.3-0"; sha256="19vr4xlx9gx0ph6k2kf59bpbhmzncm1mmzz7ld3pjc7k4jfba3np"; depends=[]; };
+SpherWave = derive { name="SpherWave"; version="1.2.2"; sha256="1wd9pql97m1zl0axzpkfq9sxadrm5cfax0gxh0ncqadaq7w7lml4"; depends=[fields]; };
+SphericalCubature = derive { name="SphericalCubature"; version="1.0.1"; sha256="0j592zvs07yc6amahlxgdw0k1vqr89gvcq22vcwzkx62igvlf6pv"; depends=[cubature]; };
+SphericalK = derive { name="SphericalK"; version="1.1"; sha256="18h1k0gy65jvzfpsda0ifv3nn3pvzx5ifllxbwh0my6w75c4biqn"; depends=[]; };
+SportsAnalytics = derive { name="SportsAnalytics"; version="0.2"; sha256="1vb080ak1mfvr6d0q9i3r8hd547ba80bavjdcri0gclqqcjf1ach"; depends=[]; };
+StAMPP = derive { name="StAMPP"; version="1.3"; sha256="1igf6arp7glihkv60zc7c0zwfqaf5kcm2d1xr856fj194zxww9ad"; depends=[pegas doParallel foreach adegenet]; };
+StMoSim = derive { name="StMoSim"; version="3.0"; sha256="18mdgpn0x6338zzvc7nwccz6ypqmlpv7pzcy5fwx5y2wfkmdp4rm"; depends=[RcppParallel Rcpp RcppParallel Rcpp]; };
+StableEstim = derive { name="StableEstim"; version="2.0"; sha256="080khfix88j4656hmdy9l0xpbk9zzw7z7d7f6yvwsbalk3ag18i5"; depends=[Matrix stabledist testthat numDeriv xtable fBasics MASS]; };
+Stack = derive { name="Stack"; version="2.0-1"; sha256="09fgfhw9grxnpl5yg05p9gvlz38iw4prns1jn14nj3qx01k5rnxb"; depends=[plyr stringr ff ffbase bit]; };
+StanHeaders = derive { name="StanHeaders"; version="2.6.0-10"; sha256="0bw11myc16ddi1qhh8dcsf8dqg6dcp1wjbyrp5p98dcc1rym7kmg"; depends=[]; };
+StandardizeText = derive { name="StandardizeText"; version="1.0"; sha256="0s267k2b109pcdiyd26gm4ag5afikrnnb55d3cs6g2fvzp744hfp"; depends=[]; };
+Stat2Data = derive { name="Stat2Data"; version="1.6"; sha256="0pk68ffc6ffpddfpf9wi8ch39h6k3r80kldld3z5pnql18rc8nvx"; depends=[]; };
+StatDA = derive { name="StatDA"; version="1.6.7"; sha256="140hqg56axwg5ckfr4n4rr453ppsgf5bmmd7kg4mai1xnj4wmg8b"; depends=[geoR sgeostat cluster e1071 MASS MBA mgcv rgl robustbase xtable]; };
+StatDataML = derive { name="StatDataML"; version="1.0-25"; sha256="05s9kbrjl2wsfccgav34b02m06q62r3iyjd0ndr6xcqlw9x2w2ya"; depends=[XML]; };
+StatMatch = derive { name="StatMatch"; version="1.2.3"; sha256="10y9xaclxrw65v3k9qwdm7lvvf1kxpssc9nx0f15m8xkw5hhm7pa"; depends=[proxy clue survey RANN lpSolve]; };
+StatMethRank = derive { name="StatMethRank"; version="1.0"; sha256="0mcvwn1f3hylvyg46vigc5wnvhhig5v01ag3y9rap32v85f308zh"; depends=[MASS rjags pmr]; };
+StatRank = derive { name="StatRank"; version="0.0.4"; sha256="0s0jc4hvrry9a884fqfk3gp1w4ww5wif2kh3m0f22nn7qb49if9p"; depends=[truncdist plyr]; };
+Statomica = derive { name="Statomica"; version="1.0"; sha256="0x60n1d7wxfd013k6jjzvfi2mqgr52fd8ylk3yhm3907002jnh1g"; depends=[distr fBasics]; };
+Stem = derive { name="Stem"; version="1.0"; sha256="1fr02mi5qyxbqavdh2hg8ggw4nfjh3vs7g0vh834h6y0v53l71r5"; depends=[mvtnorm MASS]; };
+StereoMorph = derive { name="StereoMorph"; version="1.3"; sha256="07hpz31npl2xihqb7a3cjscp0ch6hia9p42bx8y2spv1rrcn8vvw"; depends=[bezier rjson shiny Rcpp jpeg Rcpp]; };
+Storm = derive { name="Storm"; version="1.2"; sha256="1fg8y9my9yp6px1gh43mr3m2s2z262mzq03pj52mqg3n186vk8z3"; depends=[permute rjson]; };
+StrainRanking = derive { name="StrainRanking"; version="1.1"; sha256="0q6k90if74320mrs2ccq2izynylr8zakciwbc2c6ms0v57aalwic"; depends=[]; };
+StratSel = derive { name="StratSel"; version="1.1"; sha256="0l08v71qmd170027y5vjnvgfm8kqvgaqrpms9msxhv8g5974kla8"; depends=[MASS memisc Formula mnormt]; };
+StreamMetabolism = derive { name="StreamMetabolism"; version="1.0"; sha256="03pr7i1c3qddqwibfc2x08d2nh8fih02k7a1xhqs1awfs43x56is"; depends=[zoo chron maptools]; };
+StressStrength = derive { name="StressStrength"; version="1.0.1"; sha256="15sgdisgz8zcq4i9z4zm7isr5ckyd7bk6yl1g7a5kngams282ipx"; depends=[]; };
+SubCultCon = derive { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; };
+SubLasso = derive { name="SubLasso"; version="1.0"; sha256="12m7ynlqhikjhavd12bhsd04s9cpv8aq5xgm875i10mb3ldpd1bd"; depends=[glmnet psych gplots]; };
+Sunder = derive { name="Sunder"; version="0.0.4"; sha256="1na41nnscyc4v1qbwzfgqk503r39xxbi6f446pscrz3v0v121f1a"; depends=[mnormt]; };
+SunterSampling = derive { name="SunterSampling"; version="1.0.1"; sha256="0qfld3j8xlpgp7c58zqw6gzm38m4d740lvdj5vmcflfcc6ja98sf"; depends=[]; };
+SuperLearner = derive { name="SuperLearner"; version="2.0-15"; sha256="1sk45419awk8aahylmqbardx8lglx0d7hrwc0k2prnksk5r3549l"; depends=[nnls]; };
+SuppDists = derive { name="SuppDists"; version="1.1-9.1"; sha256="1jqsv1lzjblc7sdb4gh8pkww9ar174bpbjl7mmdi59fixymwz87s"; depends=[]; };
+Surrogate = derive { name="Surrogate"; version="0.1-4"; sha256="0wvicdd7lxczxv4hdbdn8cnv5k36biix65r4byn4cpgqhkyy78k6"; depends=[MASS nlme msm lme4]; };
+SurvCorr = derive { name="SurvCorr"; version="1.0"; sha256="01rqdl503q1qnkn49iqnsjzis6azdsfi6s2hjky5k2zd6c9g18k5"; depends=[survival fields]; };
+SurvLong = derive { name="SurvLong"; version="1.0"; sha256="000ywg0sdk9kailiy7ckhq4mkaawl9hh88w6apj5khgpxsyj8aw3"; depends=[]; };
+SurvRegCensCov = derive { name="SurvRegCensCov"; version="1.3"; sha256="1sl17x984ww07aakz6dambn5kznw4hvj4b8ahy2r4mr6wf2dpg5a"; depends=[survival numDeriv]; };
+Survgini = derive { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; };
+SvyNom = derive { name="SvyNom"; version="1.1"; sha256="1jym2x6nd9a3y7nk5hflqpy54gs67y4sqqspkvkalf5l2cc64did"; depends=[survival rms Hmisc survey]; };
+SweaveListingUtils = derive { name="SweaveListingUtils"; version="0.6.2"; sha256="0n15gkiil9rlb0dhnkfimhcs09av35b7qx79iba7bx3y7spvzaqy"; depends=[startupmsg]; };
+SwissAir = derive { name="SwissAir"; version="1.1.4"; sha256="1avc32q7nbwjkcbml7z05car6khv1ghcz3miw0krm8i53w032c6f"; depends=[]; };
+SyNet = derive { name="SyNet"; version="2.0"; sha256="0mb9dscddkvmkf7l3bbcy4dlfmrvvy588vxdqy5dr783bpa5dkiw"; depends=[tkrplot]; };
+SynchWave = derive { name="SynchWave"; version="1.1.1"; sha256="127hllvig8kcs9gr2q14crswzhacv6v2s4zrgj50qdyprj14is18"; depends=[fields]; };
+SynergizeR = derive { name="SynergizeR"; version="0.2"; sha256="0z32ylrjjvp8kr6lghhg57yq1laf9r0h8l3adysvis8bbpz2q2sj"; depends=[RJSONIO RCurl]; };
+Synth = derive { name="Synth"; version="1.1-5"; sha256="1cfvh91nz6skjk8jv04fhwv3ga9kcsfgq3mdy8lx75jkx16zr0pk"; depends=[kernlab optimx]; };
+TAM = derive { name="TAM"; version="1.5-2"; sha256="0ik94ipsrcpagv234al8hm2b7122k7iaraxg7gclxiky487igf96"; depends=[CDM MASS Rcpp mirt lavaan WrightMap tensor sfsmisc GPArotation psych mvtnorm msm lattice Rcpp RcppArmadillo]; };
+TANOVA = derive { name="TANOVA"; version="1.0.0"; sha256="0c2mrahchwagisrkjl5l1s0mv0ny80kngq8dz0fjj9lwxwqwvwa5"; depends=[MASS]; };
+TAQMNGR = derive { name="TAQMNGR"; version="2015.2-1"; sha256="0j7qb15xy4g4ff0cmyjyz4lsalaxxf6zdwbq49j3y80ld0pvwhbk"; depends=[Rcpp]; };
+TBEST = derive { name="TBEST"; version="5.0"; sha256="15piy507vv8x59xgga17splxszy0vm87qjbfgxycvba633jishsa"; depends=[signal fdrtool]; };
+TBSSurvival = derive { name="TBSSurvival"; version="1.2"; sha256="12ipgffympqjjg8l9gbich5pgz0pqr5g07b0il26rr721xiyxk5v"; depends=[normalp survival mcmc R_utils coda Rsolnp BMS]; };
+TDA = derive { name="TDA"; version="1.3"; sha256="1f9f5v8c0ynxz8p4kr9w08c4icf0840h7iay8k1ydh5zmr43d7lk"; depends=[FNN igraph scales]; };
+TDD = derive { name="TDD"; version="0.4"; sha256="193y8brybkjsajrbnlx1sdnw1wyyn9rhlm5wvp4aamqhvi8z13vn"; depends=[signal RSEIS pracma]; };
+TDMR = derive { name="TDMR"; version="1.2"; sha256="0w056qxh7c56m3p6jlrp8fv2j2r1njxzgwzk3l1lhyxr94gff263"; depends=[testit SPOT]; };
+TDboost = derive { name="TDboost"; version="1.1"; sha256="1pyqssqxkr9bwyz4h1l5isbb78asmvddy20vyxq8snxra2r06hbf"; depends=[lattice]; };
+TED = derive { name="TED"; version="1.1.1"; sha256="0nb2arx7c1m8ymnkmj3jwbcw23vhkr1f3vlym2hqs0pq0lnsl4g0"; depends=[foreach zoo fields animation geoR RcppArmadillo]; };
+TEEReg = derive { name="TEEReg"; version="1.0"; sha256="1xpr4m8yamifjx7njb7dyqv51rsbjym9c5avflf69r9sazf3n503"; depends=[]; };
+TEQR = derive { name="TEQR"; version="5.0-0"; sha256="04r26qzps7nnvs4s2xpvjf6q456wa29alhsds07xvyqhi972xhs6"; depends=[]; };
+TERAplusB = derive { name="TERAplusB"; version="1.0"; sha256="0mshx615awcf2arm39mgw2gzgpyn7a3f767484g7z4nqqlikwpgc"; depends=[]; };
+TESS = derive { name="TESS"; version="1.2.1"; sha256="15wrbbhrzj66j0z6xhnbf560qg0dzm1yqfbpmx070n3lsa2rdyij"; depends=[ape coda deSolve]; };
+TExPosition = derive { name="TExPosition"; version="2.6.10"; sha256="12rgijlclaipwjjiyng7nwilzixdy6lsvncigcg0vjydhgk97jn1"; depends=[prettyGraphs ExPosition]; };
+TFDEA = derive { name="TFDEA"; version="0.9.8"; sha256="099gzjpsavrhki8walzjv2x4qy2da0spf2zbac7lcbfcww6sv4bh"; depends=[lpSolveAPI]; };
+TFMPvalue = derive { name="TFMPvalue"; version="0.0.5"; sha256="13bfcwfiyl61cv2ma23fcmv2cvbsyzdbg2pl6l6zg39l6scxf9na"; depends=[Rcpp Rcpp]; };
+TFX = derive { name="TFX"; version="0.1.0"; sha256="0xrjdbvg0ng4i0s8ql1pfyma10x4n045spilkb05750677r5j44p"; depends=[XML]; };
+TH_data = derive { name="TH.data"; version="1.0-6"; sha256="1kx6z8lj1l2vxi7vhx47sly65grjkm3wvrbr3nl52q1vdmy1xsgm"; depends=[]; };
+TIMP = derive { name="TIMP"; version="1.12.1"; sha256="06zjpa9j4sr62f2lspa75i7n8xcf4xdgxq2zjbzsx4f0p0nf5ymj"; depends=[fields vcd gplots colorspace gclus nnls deSolve minpack_lm MASS]; };
+TInPosition = derive { name="TInPosition"; version="0.13.6"; sha256="1cxxrfpbiyknaivv6gyp79lz0rxwhrndcd054smksxq8zcfz0v7c"; depends=[prettyGraphs TExPosition ExPosition InPosition]; };
+TKF = derive { name="TKF"; version="0.0.3"; sha256="0kdrza02nn4vkfpc5kwpywls24adhj3kywa5w83v4wpx8dmmh10z"; depends=[expm numDeriv]; };
+TPmsm = derive { name="TPmsm"; version="1.2.0"; sha256="1670b9g6sqlg5xk76x77cph1wzp44yp957sn8px5k7kkb1hgi0pl"; depends=[KernSmooth]; };
+TR8 = derive { name="TR8"; version="0.9.12"; sha256="0sry52a98ba07j78d1niaysb7cq5ms4grxbz5pncw1g13w6i2505"; depends=[RCurl XML taxize plyr rappdirs gWidgets gWidgetstcltk]; };
+TRAMPR = derive { name="TRAMPR"; version="1.0-7"; sha256="135ylhijhpdxpznfdbdzwfsvy8bhw1yx28c3520a3lyrqvinpawg"; depends=[]; };
+TRD = derive { name="TRD"; version="1.0"; sha256="1xj3ns9phiz4i70ky2p1q1cr3h6iq2i3dywnap6gqaq0fqmiq2fh"; depends=[Rlab]; };
+TRSbook = derive { name="TRSbook"; version="1.0.1"; sha256="1w2yl5pchw2vn9l3qnm1ra9mjy946i5xsxh5n5xdvrcj2kak50x5"; depends=[xtable RColorBrewer gdata IndependenceTests]; };
+TSA = derive { name="TSA"; version="1.01"; sha256="0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx"; depends=[leaps locfit mgcv tseries]; };
+TSEN = derive { name="TSEN"; version="1.0"; sha256="1pn313g2ylbjc37rqcakd797vffnh7v0rgg1xl5wjyvcgmm5mxix"; depends=[ncdf]; };
+TSHRC = derive { name="TSHRC"; version="0.1-3"; sha256="18ygg7bqwg1pdqi52l1lf33gcd277895rlf5853yzh7ln2ivssmi"; depends=[]; };
+TSMySQL = derive { name="TSMySQL"; version="2013.9-1"; sha256="1ls3mpp5xq707vgv8l14cfbw1vn4ygy4d9n19nw5mnl3izz4p0pk"; depends=[TSdbi RMySQL DBI tframe TSsql]; };
+TSP = derive { name="TSP"; version="1.1-0"; sha256="0d38n6z531jcg34q39fv0qsmccjbx5yil14fw5pmvyympyjsf5kq"; depends=[foreach]; };
+TSPostgreSQL = derive { name="TSPostgreSQL"; version="2013.9-1"; sha256="0ihfz0q1faxb7mk4jm10czfb9fz168x4z8890vql98djsxzjxpz4"; depends=[TSdbi RPostgreSQL DBI tframe tframePlus TSsql]; };
+TSSQLite = derive { name="TSSQLite"; version="2013.9-1"; sha256="0yw5whn95dvv3wbwmlhfgkapwp66nk94fjfl1r8irbqvrscmjin0"; depends=[TSdbi RSQLite DBI tframe tframePlus TSsql]; };
+TSTutorial = derive { name="TSTutorial"; version="1.2.3"; sha256="0hpk6k3lc72p8pdz5aad04lcjsz9k443h5gs09dc3i10wqw3yhxs"; depends=[MASS]; };
+TSclust = derive { name="TSclust"; version="1.2.3"; sha256="0m04svw4z2rhvzyckn8l4pg4rmwfn8xlzd9k839c47ldbzgb4z6l"; depends=[wmtsa pdc cluster locpol KernSmooth dtw longitudinalData]; };
+TScompare = derive { name="TScompare"; version="2013.9-1"; sha256="1gghr7xsg524sc9lhy1ymlhigaz6pi69fnccgn784ff2hl3w6d8w"; depends=[TSdbi tframe tfplot]; };
+TSdata = derive { name="TSdata"; version="2013.9-1"; sha256="1r3x6w17517if2jpcz2mr8jk5i080dkx4nlffblrcsxjhfvlz0xh"; depends=[]; };
+TSdbi = derive { name="TSdbi"; version="2013.9-1"; sha256="12v9dv7hrq626q44v3lws950m241fq5fsfsnmgvfbbyya5ixis86"; depends=[DBI tframe]; };
+TSdist = derive { name="TSdist"; version="1.2"; sha256="103wv6wy5gjim2cf14d6afinyla85p6dncchi17fr0s4vqkmx3m5"; depends=[proxy zoo xts]; };
+TSfame = derive { name="TSfame"; version="2013.8-2"; sha256="19awl7jrx97y93wsms3h87w8qdgpdrkbbpsjsa2aqsnyq5vgy82l"; depends=[TSdbi DBI tframe tframePlus fame tis]; };
+TSgetSymbol = derive { name="TSgetSymbol"; version="2013.9-1"; sha256="1hn78xrfdnwhjrgcnn71ihvdgv4qwdxhpjwcqp0pbkgbxj3q5w3k"; depends=[TSdbi quantmod DBI zoo tframe tframePlus]; };
+TShistQuote = derive { name="TShistQuote"; version="2013.9-1"; sha256="06din7frxmbk4qxkpv0z5srh8nh0wkmrfl9lz17y7cwsmldl4hvr"; depends=[TSdbi DBI tframe tframePlus zoo tseries]; };
+TSodbc = derive { name="TSodbc"; version="2013.9-1"; sha256="0s0bgid5slvyqlsrc0jvybqd73qjbs7qb0klws4ynk51rw6rilml"; depends=[TSdbi RODBC DBI tframe tframePlus TSsql]; };
+TSsql = derive { name="TSsql"; version="2014.4-1"; sha256="10h83z0d9xjc1g0pnjvr4idz5c2vwf36x6qx1lpa48ybap50s215"; depends=[DBI tframe TSdbi]; };
+TSxls = derive { name="TSxls"; version="2013.8-2"; sha256="1a0cmw41jf9jqibg25s4s04lawdb86c5r4bkxp8bznzkkhihpxn1"; depends=[TSdbi DBI tframe tframePlus gdata]; };
+TSzip = derive { name="TSzip"; version="2013.9-1"; sha256="09fqjsppj7qmbiiy19s64j77kf6drqfiphk5dfz25w5df1lzdw0f"; depends=[TSdbi DBI tframe tframePlus gdata]; };
+TTAinterfaceTrendAnalysis = derive { name="TTAinterfaceTrendAnalysis"; version="1.5.1"; sha256="1i9p5s7xj3py8465yjjaqs2m7krjxzzqd86lkpbgzxnxjdnxcx5i"; depends=[Hmisc pastecs reshape wq e1071 timeSeries fBasics relimp multcomp nlme lubridate tcltk2]; };
+TTR = derive { name="TTR"; version="0.22-0"; sha256="0aackwmmakjcynpq4nxi8xw1x3688rkg6kypgd5jiprzzdhsz5rq"; depends=[xts xts]; };
+TUWmodel = derive { name="TUWmodel"; version="0.1-4"; sha256="1xxbrcs3dddzcya15pj4k86z05vnv06fnwblfvygx0zkw0m292av"; depends=[]; };
+Table1Heatmap = derive { name="Table1Heatmap"; version="1.1"; sha256="1nrabjivfsdhaqmlq365pskkrp99jqsxn8vy03mdnqn5h5zv7wvx"; depends=[colorRamps]; };
+TableMonster = derive { name="TableMonster"; version="1.2"; sha256="1cl70d0svzx8nsg6kw5dv50s9d6wxqkyg39d2d4vissbpilq6arn"; depends=[xtable]; };
+TableToLongForm = derive { name="TableToLongForm"; version="1.3.1"; sha256="135q0bgsm2yndrg3vpwmihbqlyf3qkm97i0jvcw6bf06p6b2fk41"; depends=[]; };
+TaoTeProgramming = derive { name="TaoTeProgramming"; version="1.0"; sha256="1b36s5mpm5vbhzcwmvm8g5pl7vpn6rsl5cnglfy8kgm1q9nnr7ff"; depends=[]; };
+TapeR = derive { name="TapeR"; version="0.3.2"; sha256="070zl7hqv5zprhs464gy1kmz0am58l0vig8xvdq6pbz94nrhvpj0"; depends=[nlme pracma]; };
+TauP_R = derive { name="TauP.R"; version="1.1"; sha256="10sjvcv70fjrsl5nnk9gm4sy7nhwm6aaq57gr37cb10v079ykmk1"; depends=[]; };
+Taxonstand = derive { name="Taxonstand"; version="1.7"; sha256="0xs2kdsd6sa5vpxajw1rkraiy27km6q4mqsdsq1yfdl1wxv7m0sl"; depends=[]; };
+TcGSA = derive { name="TcGSA"; version="0.9.8"; sha256="19gp3pj4p2svrfyviccvv13q82qj7584nck8zbba90hzv9g4xy86"; depends=[lme4 ggplot2 GSA reshape2 gtools gplots cluster stringr]; };
+TeachNet = derive { name="TeachNet"; version="0.7"; sha256="1p39bsf846r7zwz4lrrv2bpyx9yrkqzrnacajwrz3jjqj6qpp6cn"; depends=[]; };
+TeachingDemos = derive { name="TeachingDemos"; version="2.9"; sha256="160xch4812darv77qk2xjblm6nfnna5x2rxy335bwdsdjzcx4x9m"; depends=[]; };
+TeachingSampling = derive { name="TeachingSampling"; version="3.2.1"; sha256="1diw8qz6yi3g7d1ysklrvxwbzda9ybi039yr6agzw0w0b2b59jj4"; depends=[]; };
+TestScorer = derive { name="TestScorer"; version="1.6"; sha256="11125i0dwh961q5xbg57lli5bzzls3y482iw5f0qwalwkppk7sv0"; depends=[]; };
+TestSurvRec = derive { name="TestSurvRec"; version="1.2.1"; sha256="05f5gc8hvz09hx015jzis6ikki9c1brdq7l7a9bxm9bqbcc9f2f9"; depends=[survrec boot]; };
+Thinknum = derive { name="Thinknum"; version="1.3.0"; sha256="0j48vgr4wsc2chm95aprq0xm0dk720xk5zmiijxasg92sfp0va6n"; depends=[RCurl RJSONIO]; };
+ThreeArmedTrials = derive { name="ThreeArmedTrials"; version="0.1-0"; sha256="1pafm8k90yv0hrk5a9adfv37087l2in0psslhkxha6mkmdh6a5f6"; depends=[MASS]; };
+ThreeWay = derive { name="ThreeWay"; version="1.1.2"; sha256="1vf71im3bs2b2v05j12l8qn181kah0mch4h13n71zqik1ykly6jf"; depends=[]; };
+ThresholdROC = derive { name="ThresholdROC"; version="1.0"; sha256="1w7bjw1w09skxyc5w3d72wivljlvnck6vbchihjx7m5k6djn7pxi"; depends=[]; };
+TiddlyWikiR = derive { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; };
+Tides = derive { name="Tides"; version="1.1"; sha256="0w2xjnw2zv4s49kvzbnfvy30mfkn8hqdz6p155xm1kfqwvyb28qq"; depends=[]; };
+TilePlot = derive { name="TilePlot"; version="1.3.1"; sha256="0yfzjyzc743rv5piw9mb7y0rr558hkxszgz49lya2w3i1mqvxbzy"; depends=[]; };
+TimeMachine = derive { name="TimeMachine"; version="1.2"; sha256="1dz0j777wmd8mpkm2ryiahpcw6w88w429zjcw6m67pi20r1992cb"; depends=[]; };
+TimeProjection = derive { name="TimeProjection"; version="0.2.0"; sha256="04yr4cg2khkw9n3y3qk0ni1327k4pxm09zz2xg8mpjdvgi4p9yi3"; depends=[lubridate timeDate Matrix]; };
+TimeWarp = derive { name="TimeWarp"; version="1.0.11"; sha256="0asp6in55973kbazlwwc0b6vrgbxq5hgj6v5apzk4xnpdd53yl8g"; depends=[]; };
+Tinflex = derive { name="Tinflex"; version="1.0"; sha256="0zvh2nfx4kqf90mmrpdm2fzlzn7s7gs09i8zin604hqxjir6p3ny"; depends=[]; };
+TopKLists = derive { name="TopKLists"; version="1.0.3"; sha256="0687nxsddmlgyz3kwcfmcv0vj2pw91154rd1p19ivhmbvhvnhwvh"; depends=[Hmisc gplots]; };
+TraMineR = derive { name="TraMineR"; version="1.8-9"; sha256="0qawgjifz6w7gb06j9q5kbvhf8pn17922mvmgwzva5mykvqfmdic"; depends=[RColorBrewer boot]; };
+TraMineRextras = derive { name="TraMineRextras"; version="0.2.3"; sha256="0b6xh1xhmigjfj9cbk4gdpi1d131cq9ikwgdblcwwrmnrhcjgld6"; depends=[TraMineR RColorBrewer combinat survival cluster]; };
+TrackReconstruction = derive { name="TrackReconstruction"; version="1.1"; sha256="1f2l3nshb6qrhyczw5rxqqzmsjxf0rvv3y78j8d9lv1nnd9kxzq5"; depends=[fields RColorBrewer]; };
+TreatmentSelection = derive { name="TreatmentSelection"; version="1.1.2"; sha256="1mvrb72yz51gmwqlfg5gsjbi65lqk5j24agddw1br53ymdvjgzq4"; depends=[ggplot2]; };
+TreePar = derive { name="TreePar"; version="3.3"; sha256="1sm518b1b4b1p0n5979qzvi2nacxpp3znbg9n75pf2a8z8wy6p4l"; depends=[ape Matrix subplex TreeSim deSolve]; };
+TreeSim = derive { name="TreeSim"; version="2.1"; sha256="01izfzlvrak65mzwpz4bn5cansw10fvfjfvj164f5g0qghg9v84n"; depends=[ape geiger laser]; };
+TreeSimGM = derive { name="TreeSimGM"; version="1.2"; sha256="0y6hadwx3apw11jy5d4al3dav3his8b4xvkv7s5d5rd92l7yrw0r"; depends=[TreeSim]; };
+TriMatch = derive { name="TriMatch"; version="0.9.1"; sha256="1207lnysdjd347m1lsbxy19lq73bjs1irqwk94y8idp1pcj4pfpd"; depends=[ggplot2 scales reshape2 ez psych PSAgraphics]; };
+TrialSize = derive { name="TrialSize"; version="1.3"; sha256="1hikhw2l7d3c7cg4p7zzrgdwhy9g4rv06znpw5mc6kwinyakp75q"; depends=[]; };
+TripleR = derive { name="TripleR"; version="1.4"; sha256="1hzfdip9n390cizk329k6bdpz1vkxj76khc8lxm0yx9jbc50ng6d"; depends=[ggplot2 reshape2 plyr]; };
+Tsphere = derive { name="Tsphere"; version="1.0"; sha256="0xgxw2hfj40k5s0b54dcmz7savl8wy4midmmgc7lq4pyb8vd58xx"; depends=[glasso rms]; };
+TukeyC = derive { name="TukeyC"; version="1.1-5"; sha256="08s9scsd2l6wavc7qqlffjbf89vkd6xpb4iawvbqf7jh8jiyvw17"; depends=[]; };
+TunePareto = derive { name="TunePareto"; version="2.4"; sha256="0pljl3q5s9yqc4ph70y66ff9ci9w8gwj8jsy8srxqkgqvahc8arf"; depends=[]; };
+TurtleGraphics = derive { name="TurtleGraphics"; version="1.0-5"; sha256="18azwbvs3cv3arp6zhh5bklf7n04p13jpfjh44nxv5159jry7arr"; depends=[]; };
+TwoCop = derive { name="TwoCop"; version="1.0"; sha256="1ycxq8vbp68z82r2dfg2wkc9zk3bn33d94xay20g2p55lnzl2ifd"; depends=[]; };
+TwoStepCLogit = derive { name="TwoStepCLogit"; version="1.2.3"; sha256="0arqpfflflsydsgcrpq364vqf4sn019m03ygmpq810wa78v4r9s0"; depends=[survival]; };
+UBCRM = derive { name="UBCRM"; version="1.0.1"; sha256="1h9f8wlxdgb67qqqnfhd9gfs4l2cq84vajhcb0psva0gwdd1yf6i"; depends=[]; };
+UNF = derive { name="UNF"; version="2.0"; sha256="0pdk43d6cspmh1p7172fzr7082yqjk7gxq6n4a59388amwgdg0f2"; depends=[base64enc digest]; };
+UPMASK = derive { name="UPMASK"; version="1.0"; sha256="19krsqkz2g5b6svqp29s6i92bhlk7liv8lf7d03za848w7y2jkhq"; depends=[MASS RSQLite DBI]; };
+USAboundaries = derive { name="USAboundaries"; version="0.1.1"; sha256="18bk37lhrlp5j0496n956881zl88inliylmgh1p2nlkv4f195yd0"; depends=[assertthat dplyr ggplot2 lubridate maptools rgeos sp]; };
+UScancer = derive { name="UScancer"; version="0.1-2"; sha256="0p1kxw1phqq598ljk3njznc9kmgscc8gmwdrvx1scba9rr6n61kl"; depends=[rgdal]; };
+UScensus2000cdp = derive { name="UScensus2000cdp"; version="0.03"; sha256="143hqnzdla3p31n422ddzaaa34wc6xnnhil4y53m4qydyg407700"; depends=[maptools sp foreign]; };
+UScensus2000tract = derive { name="UScensus2000tract"; version="0.03"; sha256="11ppw75k8zghj7xphx5xyl3azsdsyd142avp0la2g941w6f8l2n1"; depends=[maptools sp foreign]; };
+UScensus2010 = derive { name="UScensus2010"; version="0.11"; sha256="1q06spkh8f4ijvfg557rl3176ki4i8a1y39cyqm3v7mnzwckyj3l"; depends=[maptools sp foreign]; };
+UWHAM = derive { name="UWHAM"; version="1.0"; sha256="1qaj8anaxqnx4nc6vvzda9hhhzqk9qp8q7bxm26qgia4hgascnrv"; depends=[trust]; };
+Unicode = derive { name="Unicode"; version="0.1-5"; sha256="088f38qy3vympxj6n4vyvvqd4gldcfli9l8rmzgmm1rm3v195mvn"; depends=[]; };
+UsingR = derive { name="UsingR"; version="2.0-4"; sha256="0wj6cn9ijc0rkpxsy1fd104m254b997dhmvwzz0knjkh5nybm8zm"; depends=[MASS HistData Hmisc]; };
+V8 = derive { name="V8"; version="0.5"; sha256="0qyrf8p9mvzzccq9gb7f1zh0902p90rqnxj7w8ky5f9fgs7dj0c5"; depends=[Rcpp jsonlite curl Rcpp]; };
+VAR_etp = derive { name="VAR.etp"; version="0.7"; sha256="0py5my3ilhcmz44m15hh0d219l9cz7rda4a9gbmf8wh9cgvvj1s3"; depends=[]; };
+VBLPCM = derive { name="VBLPCM"; version="2.4.3"; sha256="0aibjkqlc8l3f17m52ifb25s639gkydvgdj2gkijk5mk0g681qdj"; depends=[ergm sna mclust]; };
+VBmix = derive { name="VBmix"; version="0.2.17"; sha256="0fhx2vk5ffq147kfgsqjbqwgv64m7z9mbz4gchj90440ih7kyxa5"; depends=[lattice pixmap mnormt]; };
+VDA = derive { name="VDA"; version="1.3"; sha256="063mpwbyykx4f46wzfvrgnlq73ar7i06gxr4mjzbhqcfrsybi72b"; depends=[rgl]; };
+VGAM = derive { name="VGAM"; version="0.9-7"; sha256="0477y0flxzvw06qi5dk1ky8s19b67jvw0lzxz7pzffzdbv9mj806"; depends=[]; };
+VGAMdata = derive { name="VGAMdata"; version="0.9-7"; sha256="0fkm90nbmj0gjzxmh54qbf90alcbaiz27rs0zc0i5jhh2cv716y6"; depends=[]; };
+VHDClassification = derive { name="VHDClassification"; version="0.3"; sha256="1ij4h3gzxb9mm9q743kc3sg2q609mnqz6mhlrbim1wcjji2b7bv4"; depends=[e1071 lattice]; };
+VIF = derive { name="VIF"; version="1.0"; sha256="0yvg6ikrcs7mhg0pavhcywrfysv7ylvnhxpc5sam86dbp69flx9x"; depends=[]; };
+VIM = derive { name="VIM"; version="4.1.0"; sha256="15nmywg8mhknvivg9bfszif2allim5vf1hjfbfyl053jphjpax26"; depends=[colorspace data_table car robustbase sp vcd MASS nnet e1071 Rcpp Rcpp]; };
+VIMGUI = derive { name="VIMGUI"; version="0.9.0"; sha256="195lakyik597sjkq6c5v3881p35111gzmj2r5f5nr53vi6bn4pzm"; depends=[tkrplot VIM survey gWidgetsRGtk2 foreign RGtk2 Cairo Hmisc]; };
+VLF = derive { name="VLF"; version="1.0"; sha256="1il8zhm80mc22zj16dpsy4s6s9arj21l9ik0vccyrpnlr8ws3d3l"; depends=[]; };
+VLMC = derive { name="VLMC"; version="1.4-0"; sha256="0ifrmwq095xpmn3r303l3b9z31fri224nk3jn7aim6chcjmy1r71"; depends=[MASS]; };
+VNM = derive { name="VNM"; version="4.0"; sha256="0dc2wvj8f09yrsf5lhg6djhfnkgslngs6a13g54d5q9aa4nnxm8w"; depends=[]; };
+VPdtw = derive { name="VPdtw"; version="2.1-10"; sha256="1sipiqbk766czd1jxam3bc2hfq7wsn72x51j5ssn2s2q0gvpl7m1"; depends=[]; };
+VSURF = derive { name="VSURF"; version="0.8.2"; sha256="1d9irh8s49i8i9q8psmfl41jnr95wvm3libxin0ir8r297rq82z3"; depends=[randomForest rpart doParallel]; };
+VaRES = derive { name="VaRES"; version="1.0"; sha256="0gw05jiqgirhz3c8skbb07y4h44r6vi68gnd5y7ql455v0c2raza"; depends=[]; };
+VarSelLCM = derive { name="VarSelLCM"; version="1.0"; sha256="1i0s4kdqgfh79bk5ipd9fn6m3yl1qgn9gzn62kxx7vfiy683x0a2"; depends=[Rcpp mclust Rcpp RcppArmadillo]; };
+VarSwapPrice = derive { name="VarSwapPrice"; version="1.0"; sha256="12q2wp2cqi9q47mzbb7sc250zkjqkhs9z0h93ik0h63dv339abgj"; depends=[]; };
+VariABEL = derive { name="VariABEL"; version="0.9-2"; sha256="0vlr6zxl75i49p35jxrc5fwfrb55n91hqdan2ikcix3r2k4qs5k0"; depends=[]; };
+VarianceGamma = derive { name="VarianceGamma"; version="0.3-1"; sha256="0h424hdphbgi9i84bgzdwmsq05w61q8300x8f9y4szbxa5k2dnar"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; };
+VdgRsm = derive { name="VdgRsm"; version="1.4"; sha256="1qbfx1zql8bjmh5ygjkdrk1hcpvyznwbp0mv750vd1ppaw5ddn9h"; depends=[permute AlgDesign]; };
+Vdgraph = derive { name="Vdgraph"; version="2.2-2"; sha256="1q8l711zbrrj4h1wmpv93nbvlg8xi6kjv22zpidkck8ncpyyla80"; depends=[]; };
+VecStatGraphs2D = derive { name="VecStatGraphs2D"; version="1.7"; sha256="08f9ixpiq8s5h8h608wrs9l16xk3c1xcrvwgvm5wqm6xfkj9gpfd"; depends=[MASS]; };
+VecStatGraphs3D = derive { name="VecStatGraphs3D"; version="1.6"; sha256="1pnpgnxdiis4kzwhh17k61aidyan5fp9rzqhvwf6gljb4csqsk54"; depends=[rgl misc3d MASS]; };
+VennDiagram = derive { name="VennDiagram"; version="1.6.9"; sha256="0sxgspqsn15y3pipd9wy4wh2n5rkb9bazqkfwkf88p483azpjxw9"; depends=[]; };
+VideoComparison = derive { name="VideoComparison"; version="0.11"; sha256="04jc9br4ddck2sh9bhy02jx34cqxvh904lr46sid6dnmaqfn80l7"; depends=[RJSONIO RCurl zoo pracma Rcpp Rcpp]; };
+VineCopula = derive { name="VineCopula"; version="1.4"; sha256="03bjpnpq8zj1h4z35m2xkgrislvp7lmvpxm905xxn1r3r944kflz"; depends=[MASS mvtnorm igraph copula ADGofTest]; };
+VizOR = derive { name="VizOR"; version="0.7-9"; sha256="1xw06y86nsrwpri6asrwh8kccjsqzzidgbpld6d6l7vrglp8m6sr"; depends=[lattice rms]; };
+Voss = derive { name="Voss"; version="0.1-4"; sha256="056izh1j26vqjhjh01fr7nwiz1l6vwr5z4fll87w99nc5wc4a467"; depends=[fields]; };
+VoxR = derive { name="VoxR"; version="0.5.1"; sha256="07lsp6lrkq0gv55m84dl9w7gz5246d9avypqnkz96n3rbbgd0w5z"; depends=[]; };
+W2CWM2C = derive { name="W2CWM2C"; version="1.0"; sha256="14q1y4vpmrx8qz5nav8bbjkxqsqk646zcwr8h7yzi7cfa85b4cxz"; depends=[waveslim wavemulcor]; };
+W3CMarkupValidator = derive { name="W3CMarkupValidator"; version="0.1-1"; sha256="1bxgsm6yl62adp3apvkihvvw40130z5ki49gnriv3syaw2bgwa0r"; depends=[XML RCurl]; };
+WARN = derive { name="WARN"; version="1.1"; sha256="0rnzsc8vbm116g4cwdivmxqv1zyg4givjrrlahvbf4xl5pbryg6d"; depends=[MASS]; };
+WCE = derive { name="WCE"; version="1.0"; sha256="1kb1z67ymnz8cgwxq6m5fpqgxmmrfiwh2q3x4rhanac2sinagyn4"; depends=[plyr survival]; };
+WCQ = derive { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; };
+WDI = derive { name="WDI"; version="2.4"; sha256="0ih6d9znq6b2prb4nvq5ypyjv1kpi1vylm3zvmkdjvx95z1qsinf"; depends=[RJSONIO]; };
+WGCNA = derive { name="WGCNA"; version="1.43"; sha256="1za7qw6yvmw7kpf9qxlwxjp4cfb7varnav7jypi1i6pi6zwi2869"; depends=[dynamicTreeCut fastcluster matrixStats Hmisc foreach doParallel reshape survival]; };
+WMCapacity = derive { name="WMCapacity"; version="0.9.6.6"; sha256="19x6l06srh59q1cnixisa5fgm5hkpq35h9zfmdnfaj3xl8pxhzyn"; depends=[gtools gWidgets gWidgetsRGtk2 coda cairoDevice RGtk2 XML]; };
+WMDB = derive { name="WMDB"; version="1.0"; sha256="10wdjy3g2qg975yf1dhy09w9b8rs3w6iszhbzqx9igfqvi8isrr1"; depends=[]; };
+WRS2 = derive { name="WRS2"; version="0.3-1"; sha256="11i9zv7p7808v3hvnhjn58yl7mwh26zhis6hh9n73dw3hn22xdng"; depends=[MASS reshape plyr]; };
+WWGbook = derive { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; };
+Watersheds = derive { name="Watersheds"; version="1.0"; sha256="11hrprl8ldbgk1j1f8z4cb327c8d94x1fc29dpacqck48gdb4wmp"; depends=[sp maptools rgeos lattice splancs]; };
+Wats = derive { name="Wats"; version="0.2-16"; sha256="1wbyyllmjsmh8wb8npzizlfn3hsvfpqp9p3b5wx3zpsavqw839wy"; depends=[colorspace ggplot2 lubridate plyr RColorBrewer testit zoo]; };
+WaveCD = derive { name="WaveCD"; version="1.0"; sha256="0gracn8lknw96nnir1m8fg5va3f45vvbiy69rxx8vibnfdg1q3l9"; depends=[waveslim lattice]; };
+WaveletComp = derive { name="WaveletComp"; version="1.0"; sha256="16ghxqjbv39pmgd52im6ilkkh0hpnaw8ns0hwkngpbr479m1grdp"; depends=[]; };
+WeightedCluster = derive { name="WeightedCluster"; version="1.2"; sha256="1d0df284fzfa34fi7b3d7f4zzm9ppyah46rj865446l5pjvl9np3"; depends=[TraMineR cluster RColorBrewer]; };
+WeightedPortTest = derive { name="WeightedPortTest"; version="1.0"; sha256="007v3w9ssiv2sds7sikpal27g6pxwxhs7bvcyw6kr0vg8gvlbi8h"; depends=[]; };
+WhatIf = derive { name="WhatIf"; version="1.5-6"; sha256="02lqvirnf24jn8b2s08z5fjmpilp2z08lww1s793n3pn783adbky"; depends=[lpSolve]; };
+WhiteStripe = derive { name="WhiteStripe"; version="1.0"; sha256="0j8f10dwc14a0yfnjw73i6mrh0y9iyjbxmhklz2hlxv1k53pppbg"; depends=[oro_nifti mgcv fslr]; };
+WhopGenome = derive { name="WhopGenome"; version="0.9.2"; sha256="0nhl3qanwvyxvkrdc0wngzdx6id0yfzbf9wp170mcsyd4qh7pxzs"; depends=[]; };
+WideLM = derive { name="WideLM"; version="0.1-1"; sha256="0spxl960pgzh0cn1gkw2ayixpi982rr85qajcdqahmn9msk877h8"; depends=[Rcpp Rcpp]; };
+WikipediR = derive { name="WikipediR"; version="1.1.0"; sha256="19hc1vmyv0bnf00q8vwmfr6jxrcd1h5xzb9pphy5grghbj01bcl8"; depends=[httr jsonlite]; };
+WilcoxCV = derive { name="WilcoxCV"; version="1.0-2"; sha256="1kbb7ikgnlxybmvqrbn4cd8xnqrkwipk4xd6yja1xsi39a109xzl"; depends=[]; };
+WordPools = derive { name="WordPools"; version="1.0-2"; sha256="1izs4cymf2xy1lax85rvsgsgi05ygf0ibi9gzxc96sbgvy4m78kf"; depends=[]; };
+WrightMap = derive { name="WrightMap"; version="1.1"; sha256="0dmximp549gr37ps56vz8mnlii7753dc5v0wl3s78cymjmnmyr0z"; depends=[]; };
+WriteXLS = derive { name="WriteXLS"; version="3.5.1"; sha256="0grhwwlibdpvzjlm1vc5ykl54jcz0jmg6rkhis00rjn5yqccx0in"; depends=[]; };
+XBRL = derive { name="XBRL"; version="0.99.15"; sha256="0fscvl7i205h0ax8g78v5n75bfqbna6cr7lg8jkicjbf4v791hhz"; depends=[Rcpp Rcpp]; };
+XLConnect = derive { name="XLConnect"; version="0.2-11"; sha256="02wxnr6h06h125dqszs8mzq4av842g445ndr59xgscxr03fyvi8p"; depends=[XLConnectJars rJava]; };
+XLConnectJars = derive { name="XLConnectJars"; version="0.2-9"; sha256="0js79297himq628cwx5cc3pcq3iv6p16bn4bpd5diyjaya4x27g3"; depends=[rJava]; };
+XML = derive { name="XML"; version="3.98-1.1"; sha256="0n9i6746211wihglbpsgalj2cyvggn4rv6a4fbavqwnjw3h1hwwl"; depends=[]; };
+XML2R = derive { name="XML2R"; version="0.0.6"; sha256="0azfh950r2b7ck3n1vzk3mdll7zy844nx3mbk676jxnj8gg7nxk5"; depends=[XML RCurl plyr]; };
+XNomial = derive { name="XNomial"; version="1.0.1"; sha256="134bwglqhgah7v3w6ir65dch2dwp5h4vldw521ba74l5v9b2j2h4"; depends=[]; };
+XiMpLe = derive { name="XiMpLe"; version="0.03-21"; sha256="1j387jzxh0z9dmhvc0kpjjjzf781sgrw57nwzdqwx6bn09bw509d"; depends=[]; };
+Xmisc = derive { name="Xmisc"; version="0.2.1"; sha256="11gwlcyxhz1p50m68cnqrxmisdk99v8vrsbvyr7k67f0kvsznzs1"; depends=[]; };
+YPmodel = derive { name="YPmodel"; version="1.1"; sha256="036f5y8qrcxglblgnaa15xzlz9pxbhbysrbr2gl66h9dvcd6kavr"; depends=[]; };
+YaleToolkit = derive { name="YaleToolkit"; version="4.2.2"; sha256="12wggdyz0wgnmxnqhp8bypyy1x1p50g49fwdzl2l43il44cdyv0g"; depends=[foreach iterators]; };
+YieldCurve = derive { name="YieldCurve"; version="4.1"; sha256="0w47j8v2lvarrclnixwzaq98nv1xh2m48q5xvnmk7j9nsv2l3p68"; depends=[xts]; };
+YourCast = derive { name="YourCast"; version="1.6.2"; sha256="0vl37svwky6j1am235ac2wk1fdmh509w0h4m7y93lpjhzj6m8c1p"; depends=[ggplot2 gridExtra lattice foreign reshape2]; };
+YplantQMC = derive { name="YplantQMC"; version="0.6-4"; sha256="09galr2bcjvfpcp84znsv45j2cfyn4yhdx31kxs062sylys6kxld"; depends=[rgl geometry LeafAngle gplots]; };
+YuGene = derive { name="YuGene"; version="1.1.2"; sha256="0sy0bh49l0fajh1z88mpb4f0k3hsf3kd1vxv731qhpxcrc3pz09b"; depends=[mixOmics]; };
+ZIM = derive { name="ZIM"; version="1.0.2"; sha256="1n4dc0as011gzaac153zq1dfbg1axvmf9znlmhl7xjj4dz4966qm"; depends=[MASS]; };
+ZeBook = derive { name="ZeBook"; version="0.5"; sha256="1djwda6hzx6kpf4dbmw0fkfq39fqh80aa3q9c6p41qxzcpim27dw"; depends=[triangle deSolve]; };
+Zelig = derive { name="Zelig"; version="4.2-1"; sha256="1hhr9jx25fdnkqwyj2bkgrvqlah4z2drphmb5mdn1an2p2g23v9z"; depends=[boot MASS sandwich]; };
+ZeligChoice = derive { name="ZeligChoice"; version="0.8-1"; sha256="1ql9yq83ipf0vpv63fpckylwq4jrcbfjgjm77f5ndkd83gqjzrmg"; depends=[Zelig VGAM]; };
+ZeligGAM = derive { name="ZeligGAM"; version="0.7-1"; sha256="1643ycx51mnlxwiarfkrwm8gr8clx00xi2llcaqsd3wsrr4z5j97"; depends=[Zelig mgcv]; };
+ZeligMultilevel = derive { name="ZeligMultilevel"; version="0.7-1"; sha256="00zlambykds4z1c5kx3rpla1kllyp96cxwvbc5lalwdb9i48pp3s"; depends=[Zelig lme4]; };
+aCRM = derive { name="aCRM"; version="0.1.1"; sha256="0kzp568hd9c9a9qgniia5s5gv0q5f89xfvvwpzb197gqhs3x092v"; depends=[dummies randomForest kernelFactory ada]; };
+aLFQ = derive { name="aLFQ"; version="1.3.2"; sha256="1963np2b2x7gbpgwcx0rqxd2psfdfmh72ap1y4p7f37ibjm8g45m"; depends=[data_table plyr caret seqinr lattice randomForest ROCR reshape2 protiq]; };
+aRpsDCA = derive { name="aRpsDCA"; version="1.0.0"; sha256="035888scbl5333sz25f9n6xh1zis7l2752p4nhsbs2g44q38l9h6"; depends=[]; };
+aRxiv = derive { name="aRxiv"; version="0.5.8"; sha256="0kwphz9x4ljsznvxxvm03mmbrv3ipyy2fh8lgik4zvv4c63mlxsh"; depends=[httr XML]; };
+abc = derive { name="abc"; version="2.0"; sha256="0fs6hxyk95c61mn3p642xs3ib9wfjii2v9a74pf488iaywc1kd7d"; depends=[nnet quantreg MASS locfit]; };
+abcdeFBA = derive { name="abcdeFBA"; version="0.4"; sha256="1rxjripy8v6bxi25vdfjnbk24zkmf752qbl73cin6nvnqflwxkx4"; depends=[Rglpk rgl corrplot lattice]; };
+abctools = derive { name="abctools"; version="1.0"; sha256="0kaw2saghjyysj2bcsij2018ls3lrzh9188m0yqhmv71k5vh68rd"; depends=[abc abind plyr]; };
+abd = derive { name="abd"; version="0.2-7"; sha256="0zkqwdcpz1v9k509vvzfbf9732v43q919hwd9yq3q0dg67d32ai7"; depends=[nlme lattice mosaic]; };
+abf2 = derive { name="abf2"; version="0.7-1"; sha256="0d65mc1w4pbiv7xaqzdlw1bfsxf25587rv597hh41vs0j0zlfpxx"; depends=[]; };
+abind = derive { name="abind"; version="1.4-3"; sha256="1km61qygl4g3f91ar15r55b13gl8dra387vhmq0igf0sij3mbhmn"; depends=[]; };
+abn = derive { name="abn"; version="0.85"; sha256="1ml4l4fiqscc1ikv0wsi73rymb9599mpnhmzlfnvv4zp3fkfm6qm"; depends=[Cairo]; };
+abundant = derive { name="abundant"; version="1.0"; sha256="0n2yvq057vq5idi7mynnp15cbsijyyipgbl4p7rqfbbgpk5hy3qb"; depends=[QUIC]; };
+accelerometry = derive { name="accelerometry"; version="2.2.4"; sha256="0jk3dirk7bbddqh5j6nw2k1wm1i3k3xnz1mcb6lb5qyf1b642miw"; depends=[Rcpp Rcpp]; };
+accrual = derive { name="accrual"; version="1.0"; sha256="0gw418i9nlrm7nkg6d4m2icd4a04a7avqfjj7nidhl6vy4nflg3k"; depends=[fgui SMPracticals]; };
+accrued = derive { name="accrued"; version="1.2"; sha256="0xkar6kpxf7sq36xqf6cvns2sp5qgqxqjb8hindp59gvlcd2r5a7"; depends=[]; };
+acepack = derive { name="acepack"; version="1.3-3.3"; sha256="13ry3vyys12iplb14jfhmkrl9g5fxg3iijiggq4s4zb5m5436b1y"; depends=[]; };
+acid = derive { name="acid"; version="1.0"; sha256="0m59xnz6435n7j3fggv274g5rap7cpr0zby3aqbaycfdfrp78d1h"; depends=[gamlss gamlss_dist Hmisc]; };
+acm4r = derive { name="acm4r"; version="1.0"; sha256="1wqzc35i1rshx0zlmas8y4qkkvy6h9r4i4apscjjv1xg2wjflzxa"; depends=[MASS]; };
+acnr = derive { name="acnr"; version="0.2.4"; sha256="1nry927zqhb34h9lcixr344n3sxvq1142zwgj8hadlw69dv8m59y"; depends=[R_utils xtable]; };
+acopula = derive { name="acopula"; version="0.9.2"; sha256="1z8bs4abbfsdxfpbczdrf1ma84bmh7akwx2ki9070zavrhbf00cf"; depends=[]; };
+acp = derive { name="acp"; version="1.1"; sha256="0bdyaab2zalqaq5m4zr86mj92wqq520wqbdb5bkvs7skq6xd1zq9"; depends=[tseries]; };
+acs = derive { name="acs"; version="1.2"; sha256="1vw4ghqcz53m3qy7hy2j7nrdinbbqjpwvr1hsvglq31fq7wss3bd"; depends=[stringr plyr XML]; };
+acss = derive { name="acss"; version="0.2-5"; sha256="0cqa60544f58l5qd7h6xmsir40b9hqnq6pqgd5hfx2j2l5n7qhmk"; depends=[acss_data zoo]; };
+acss_data = derive { name="acss.data"; version="1.0"; sha256="09kl4179ipr8bq19g89xcdi1xxs397zcx5cvgp6viy8gn687ilgv"; depends=[]; };
+activity = derive { name="activity"; version="1.0"; sha256="1y1vy3kj9n21jvbyl3s5hllfkqp3z1rnn7701c5jxhay5dbdz3p2"; depends=[circular overlap pbapply]; };
+actuar = derive { name="actuar"; version="1.1-8"; sha256="0zdw8dphpp49hr82z44az10vyawj301p8lr0cc7dk96g7xrzmlwa"; depends=[]; };
+ada = derive { name="ada"; version="2.0-3"; sha256="1c0nj9k628bcl4r8j0rmyp5f1igdjq6qhjxyif6575fvn2gdzmbw"; depends=[rpart]; };
+adabag = derive { name="adabag"; version="4.0"; sha256="0n4zls13f46rxqrx9qkvrifshb3cl8l6ni7zw36pm6fixbz844fk"; depends=[rpart mlbench caret]; };
+adagio = derive { name="adagio"; version="0.5.9"; sha256="1yp9w557advb7dzrdqwkffpdmhn6mk4879lrrjd0d6kv89fwz5yr"; depends=[]; };
+adaptDA = derive { name="adaptDA"; version="1.0"; sha256="0nk7n628d30jz03a2rmpgzrwwd79rlpqvr6lwhilmkg1gblvz7r1"; depends=[MASS]; };
+adaptMCMC = derive { name="adaptMCMC"; version="1.1"; sha256="1y1qxn3qm59nyy9ld5x30p452yam7b2fyl236b14xvpm8g3xx1fa"; depends=[coda Matrix]; };
+adaptTest = derive { name="adaptTest"; version="1.0"; sha256="08d7a5dlzhaj236jvaw3c91008l66vf5i4k5anhcs32a3j8yh2iv"; depends=[lattice]; };
+adaptivetau = derive { name="adaptivetau"; version="2.2"; sha256="1xqvbbdmn70fmycpn0680q1l9s34kcmkjl812d7yrfxwm1bjfif5"; depends=[]; };
+adaptsmoFMRI = derive { name="adaptsmoFMRI"; version="1.1"; sha256="1h79gh1bd6s2xhwf4whh72wf2cz4di2p8dnlf6192mfg108qc6nw"; depends=[Matrix coda mvtnorm MCMCpack spatstat]; };
+additivityTests = derive { name="additivityTests"; version="1.1-4"; sha256="048ds90wqjdjy1nyhna3m06asdklbh8sx1n556kss2j1r1pma1sw"; depends=[]; };
+addreg = derive { name="addreg"; version="1.2"; sha256="1xgf9q0z3prvchyba1vaai6ij72nzvj2dqyr6y2wzb96jfqv19kl"; depends=[combinat glm2]; };
+ade4 = derive { name="ade4"; version="1.6-2"; sha256="0h136nhfqrapwscm3c7frlcynrfxb9x8gmd1s44gaa8m25rjgdqf"; depends=[]; };
+ade4TkGUI = derive { name="ade4TkGUI"; version="0.2-6"; sha256="010ggsxcmljh0cdba4lcfnsd9r49pwqs6kbw88syfn2qv65hh5kq"; depends=[ade4]; };
+adegenet = derive { name="adegenet"; version="1.4-2"; sha256="13fglxy40rnwi5hsmmvwlfcvfn8dybxyy3k5qhpml8jgpbl3fsdb"; depends=[ade4 MASS igraph ape shiny ggplot2]; };
+adehabitat = derive { name="adehabitat"; version="1.8.15"; sha256="0fzswrypa8iwqqmbg3q08rk617ihf44l2dcrn91mdxqpzaw4nhnf"; depends=[ade4 tkrplot shapefiles sp]; };
+adehabitatHR = derive { name="adehabitatHR"; version="0.4.12"; sha256="112kz9cby0p7ayarwdwx5lg3dykkrdvpsc3na79xksadry3mykgj"; depends=[sp deldir ade4 adehabitatMA adehabitatLT]; };
+adehabitatHS = derive { name="adehabitatHS"; version="0.3.10"; sha256="12zwriw6dda50614hb5gx67hbpr9ybv8dms17q62f4x09rr6iap5"; depends=[sp ade4 adehabitatMA adehabitatHR]; };
+adehabitatLT = derive { name="adehabitatLT"; version="0.3.17"; sha256="193wsg4pxj6zb2c8wd2m365j0x5zglyfn1hk1fd8qb1b241ba1nj"; depends=[sp ade4 adehabitatMA CircStats]; };
+adehabitatMA = derive { name="adehabitatMA"; version="0.3.8"; sha256="1j3ngry7qyhl4p5m02bgdynixb0v9hd5nbjs6ndfqw23layh8yig"; depends=[sp]; };
+adephylo = derive { name="adephylo"; version="1.1-6"; sha256="1sk639gmk3cs711xn68mx18r28kjd1pychcg89qlki03y1hnxg7j"; depends=[ade4 phylobase ape adegenet]; };
+adhoc = derive { name="adhoc"; version="1.0"; sha256="193adddarjkc2kk1xncfkm919s1lkmc1yzgyz9793p74nqmfsj0a"; depends=[spider ape polynom]; };
+adimpro = derive { name="adimpro"; version="0.7.8"; sha256="06zwdgl7g4azg2mn7p35may8hsjcvf2dz7dj86zqngjspda123s4"; depends=[]; };
+adlift = derive { name="adlift"; version="1.3-2"; sha256="0nzg16vhm5qg3xzczi3f6cynvp9ym2jsfrc4fdyxq7bwp9kry2i4"; depends=[EbayesThresh]; };
+ads = derive { name="ads"; version="1.5-2.2"; sha256="17k24dihl41jgkkglhnkj7lvvl53dgahjkb5jhfmfgk6i16c7s23"; depends=[ade4 spatstat]; };
+adwave = derive { name="adwave"; version="1.0"; sha256="10cz870n3az7brmf2658g0jrc1x39c69vw37n99m8x6wxxp6ypn8"; depends=[waveslim]; };
+aemo = derive { name="aemo"; version="0.1.0"; sha256="1iik0rrqkkx9n1qb1pvq5iwxqmvs6vnx8z80hdzb5vqq0lvi1bsx"; depends=[dplyr stringr assertthat lubridate]; };
+afex = derive { name="afex"; version="0.13-145"; sha256="0wyjgxh1rdibj21f8dbwg7f30q1z6jwwpj2dcjx2rh60axvp1dir"; depends=[car lme4 reshape2 stringr coin Matrix pbkrtest]; };
+aftgee = derive { name="aftgee"; version="1.0-0"; sha256="0gfp05r6xvn9fcysbqyzkz916axpsc2d3lb5wmb1v92z1zw3037b"; depends=[MASS BB survival geepack]; };
+agRee = derive { name="agRee"; version="0.3-1"; sha256="1gqbhv44z1r9m54fmrg0frnzsgsp13v5ppmzpv28frz9d8x7sxx6"; depends=[miscF lme4 R2jags]; };
+agop = derive { name="agop"; version="0.1-4"; sha256="1jwyl02z053rsdw9hryv1nyj9wlq310l51fghp1p0j51c159mlpx"; depends=[Matrix igraph]; };
+agricolae = derive { name="agricolae"; version="1.2-1"; sha256="1vrc1bjqcp3xk8q41bl3kvjvaj58gw19dv7vwsxn9r6r99hlb3j1"; depends=[klaR MASS nlme cluster spdep]; };
+agridat = derive { name="agridat"; version="1.11"; sha256="1bnkzacwp22dw5vppm4yz583h1dw5d93dlca9i3ba2y9dzsalx0d"; depends=[lattice reshape2]; };
+agrmt = derive { name="agrmt"; version="1.39"; sha256="0qkl8wikvg635mr8v3n9svdicnb8sl4brrh7px1n5jy71h7cswd7"; depends=[]; };
+agsemisc = derive { name="agsemisc"; version="1.3-1"; sha256="1905q35jgjhghlawql43yh296kbpysp927x3hj750yshz5zayzyr"; depends=[lattice MASS]; };
+ahaz = derive { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[survival Matrix]; };
+aidar = derive { name="aidar"; version="1.0.0"; sha256="01vs14bz4k504q5lx65b60kyi7hgvjdmib8igiipjmg4snwh8hdk"; depends=[XML]; };
+akima = derive { name="akima"; version="0.5-11"; sha256="17n7iiwybwanvm5mflb1f2xx1gnw1pcmfsnl1f82afixpalbs0gh"; depends=[]; };
+akmeans = derive { name="akmeans"; version="1.1"; sha256="1nqbxbx583n0h2zmpy002rlmr6j86j6bg76xj5c69brrh59dpyw1"; depends=[]; };
+alabama = derive { name="alabama"; version="2015.3-1"; sha256="0mlgk929gdismikwx4k2ndqq57nnqj7mlgvd3479b214hksgq036"; depends=[numDeriv]; };
+ald = derive { name="ald"; version="1.0"; sha256="1vphmqhx6wlzsz3s94jsa4mk6wpacp93wfgpj0vp9ljfb3aplhik"; depends=[]; };
+algstat = derive { name="algstat"; version="0.0.2"; sha256="1ssdrrwnxrhx3syndqxqcaldlbnjamk3x2yiq7jgxy0qsiadmqsi"; depends=[mpoly stringr reshape2 Rcpp Rcpp]; };
+allan = derive { name="allan"; version="1.01"; sha256="02bv9d5ywbq67achfjifb3i7iiaaxa8r9x3qvpri2jl1cxnlf27m"; depends=[biglm]; };
+allanvar = derive { name="allanvar"; version="1.0"; sha256="0wpywdr15gb49m9kxrpjfsxlxrm4hwm46x42k8dgc6sihfsqbm22"; depends=[gplots]; };
+alleHap = derive { name="alleHap"; version="0.7.2"; sha256="1x10grrv732a0iidr2c96vbl46553njhvvlq249jxn3y11lfq2gv"; depends=[gtools]; };
+allelematch = derive { name="allelematch"; version="2.5"; sha256="1kws6y3igq6l85cfjrck2dzcfpgr56ridbc6w071h8kjw19mlzas"; depends=[dynamicTreeCut]; };
+allelic = derive { name="allelic"; version="0.1"; sha256="0xs4kd3vqb5ph8kqc3lcqgirrdkz8b627pvnczvci2g0sr3cl18j"; depends=[]; };
+alm = derive { name="alm"; version="0.4.0"; sha256="125cl5b1sps33ipsh2pygrw79mhin1qj374lq56ny7c9rp4n9w7p"; depends=[ggplot2 plyr stringr reshape reshape2 httr jsonlite lubridate]; };
+alphahull = derive { name="alphahull"; version="2.0"; sha256="1z8kbh3y5clh3hn018g0fci2psd0l36nz4a08pgg7md2bbhripbl"; depends=[ggplot2 tripack sgeostat spatstat splancs]; };
+alphashape3d = derive { name="alphashape3d"; version="1.1"; sha256="1hfxvzqgirc587vxyggxdqii90nvypzi3wddvd2zdw2h95v9kfyg"; depends=[geometry rgl]; };
+alr3 = derive { name="alr3"; version="2.0.5"; sha256="0zrrsv2kjq3cky3bhk6gp32p1qpr1i5k2lx7c1w08bql0nb1x740"; depends=[car]; };
+alr4 = derive { name="alr4"; version="1.0.5"; sha256="0m8jgc4mfni17psf8m0avf0m364vcq5k3c9x807p98ch2z5nsygv"; depends=[car effects]; };
+amap = derive { name="amap"; version="0.8-14"; sha256="1dz37z9v4zvyvqrs4xvpfv468jwvpxav60qn2w0049bw8llj6xdl"; depends=[]; };
+amei = derive { name="amei"; version="1.0-7"; sha256="0dyx6a1y5i0abwka0y89d0mpj55rm5ywb4r9c2mqmy43djp181hn"; depends=[]; };
+amen = derive { name="amen"; version="1.0"; sha256="17kaknfgi39qcg5mhkdyf6cn2l3nn9n2xzvyz1c4piy6inhmj36c"; depends=[]; };
+aml = derive { name="aml"; version="0.1-1"; sha256="09xxlxp784wlb561apns3j8f2h9pfk497cy5pk8wr4hhqqv4d3al"; depends=[lars]; };
+anacor = derive { name="anacor"; version="1.0-5"; sha256="1m2r5x5spb5nahd9cvnsxwqi0ay2kasmha21rbwj3r99jz1vxkql"; depends=[rgl car scatterplot3d colorspace fda]; };
+analogue = derive { name="analogue"; version="0.16-0"; sha256="1izbqzmnw4hmirjlvwp15imzaai2kxbv2gzc58y5awwbfdrg314m"; depends=[vegan mgcv MASS brglm princurve lattice]; };
+analogueExtra = derive { name="analogueExtra"; version="0.1-0"; sha256="0hyl0vn2i594r5czzha7y9a1n4dpznfpmh2j46mci2r57p2s3qr2"; depends=[vegan3d analogue rgl]; };
+analyz = derive { name="analyz"; version="1.4"; sha256="0qdh1gld2dkl0krbhm2vcqg8dfs03dn51rclgsw02554s06dlgxw"; depends=[]; };
+anametrix = derive { name="anametrix"; version="1.6"; sha256="14xrrnvz7jn1jqds48l5pvzlx6hsaxrjc932lqnvv70sfypinjkm"; depends=[RCurl XML pastecs]; };
+anapuce = derive { name="anapuce"; version="2.2"; sha256="0qs27as628090k3sq5b14l90g7qdp23d0jz5lb1wxsgi3ji0f7qj"; depends=[]; };
+anchors = derive { name="anchors"; version="3.0-8"; sha256="12gd2526y7s2a8i6b9xma2c3sc6zxnwzl6sn8b50hbxizwr8d34j"; depends=[rgenoud MASS]; };
+andrews = derive { name="andrews"; version="1.0"; sha256="130i86qkdy1xpcf611jpzqgmd17iik7j7spdcfwzk48f31biyp8v"; depends=[]; };
+anesrake = derive { name="anesrake"; version="0.70"; sha256="17127rmjfrdwnr2m6205cci3b0kd9girp82qranxwac4mgb7p7ld"; depends=[Hmisc]; };
+anfis = derive { name="anfis"; version="0.99.1"; sha256="1v8di5dzwb1g1ldi7idcmmr9nirp9kxvc8km1qq1i8zaw1bh8pqb"; depends=[]; };
+anim_plots = derive { name="anim.plots"; version="0.1"; sha256="0qjwmxpkvjf27parh1fvhrkiczm4zlv9c034dp04yysbdz65r1by"; depends=[animation]; };
+animalTrack = derive { name="animalTrack"; version="1.0.0"; sha256="0jlvfflpaq64s48sblzh1n1vx8g3870iss97whigri29s6hn79ry"; depends=[rgl]; };
+animation = derive { name="animation"; version="2.3"; sha256="1hqgkaxmyyfrx7cfzv00010r9l2n8gxm35jd41p3kc208mhd7ssp"; depends=[]; };
+anominate = derive { name="anominate"; version="0.5"; sha256="0qhq3ngxi1d3yln6bafg3c36a7whnznnww0101da2y0i6dw79lg5"; depends=[coda wnominate oc pscl MCMCpack]; };
+antitrust = derive { name="antitrust"; version="0.94"; sha256="1k768lmx5vv069bd9fzly1205rxr9mkqi1p8jjx67kwmyhhw5sd2"; depends=[MASS evd BB numDeriv ggplot2]; };
+aod = derive { name="aod"; version="1.3"; sha256="1a6xs5d5289w69xd2salsxwikjjhjzvsnplqrq78b1sr6kzfyxz3"; depends=[]; };
+aods3 = derive { name="aods3"; version="0.4-1"; sha256="074c16wmgd1vc2yvwx1y84bg55hvmm5yi8zgpwh51jcsbqlhbpgn"; depends=[lme4 boot]; };
+aoos = derive { name="aoos"; version="0.1.0"; sha256="06jnkw8sw77rjag8sqbbp2g60p8vvc3vxl4l4gxzldk400wlkcnq"; depends=[]; };
+aoristic = derive { name="aoristic"; version="0.6"; sha256="0b9h2l59vvrvbjjwwb43j74frvwa8lsj4x5kwhwpsfjfch1yqwjl"; depends=[ggplot2 spatstat GISTools lubridate classInt reshape2 rgdal plotKML MASS sp maptools RColorBrewer]; };
+apTreeshape = derive { name="apTreeshape"; version="1.4-5"; sha256="0mvnjchhfbpbnrgnplb6qxa7r2kkvw29gqiprwggkf553wi6zl48"; depends=[ape quantreg]; };
+apc = derive { name="apc"; version="1.0"; sha256="1fhw6cjcqcjwsjswhgm7rgwn3m3d9lkb9mk6cxh04jk3x2j9l3az"; depends=[]; };
+apcluster = derive { name="apcluster"; version="1.4.1"; sha256="1s7wsgimpln5kiy1ai8clq2r0i6vh8mr5v4xjha9phdbm8l8yfbg"; depends=[Rcpp Matrix Rcpp]; };
+ape = derive { name="ape"; version="3.2"; sha256="015ibyri6r2xdmy644pb1p6xn0rzxaz49sr96859jfvafzi7p2ny"; depends=[nlme lattice]; };
+aplore3 = derive { name="aplore3"; version="0.7"; sha256="1xj3k13wjpsydcrai474b94kyj298islzfpfwn8n51k67h8r4l08"; depends=[]; };
+aplpack = derive { name="aplpack"; version="1.3.0"; sha256="0i6jy6aygkqk5gagngdw9h9l579lf0qkiy5v8scq5c015w000aaq"; depends=[]; };
+apmsWAPP = derive { name="apmsWAPP"; version="1.0"; sha256="1azgif06dsbadwlvv9nqs8vwixp6balrrbpj62khzmv1jvqr4072"; depends=[seqinr gtools]; };
+appell = derive { name="appell"; version="0.0-4"; sha256="0g7pzhxqgscnyf07xycbrpyimp1z1hljgcr3nqigpx09w7zi5wlw"; depends=[]; };
+apple = derive { name="apple"; version="0.3"; sha256="194z2f6hwdjjxdkjwlmfhpfp26p9yp3gparklhdbb6zlb4a9nnhz"; depends=[MASS]; };
+approximator = derive { name="approximator"; version="1.2-6"; sha256="165qvx5946wkv1qsgbmjhmwvik7m23r1vbpnp7claylflgj1ycnm"; depends=[emulator]; };
+aprean3 = derive { name="aprean3"; version="1.0"; sha256="1ar83xnd9wwn5avz37qzwz5wsknrf5q3fb2a4w98g3nm0qy8yxhd"; depends=[]; };
+aprof = derive { name="aprof"; version="0.2.4"; sha256="0gw5qj6c5ygjc6nwx2lb8biykkk73fv2x3j1xxabpgnsfq1whwyc"; depends=[]; };
+apsimr = derive { name="apsimr"; version="0.1"; sha256="03j1g16drch5xkxb86czxmihs9a96f0v2kxjp73k7vig9md625dy"; depends=[ggplot2 XML lubridate reshape2]; };
+apsrtable = derive { name="apsrtable"; version="0.8-8"; sha256="1qmm89npjgqij0bh6p393wywl837lfsshp2mv9b5izh1sg2qfwvw"; depends=[]; };
+apt = derive { name="apt"; version="2.3"; sha256="0yrgxdqzwa5zv6rv8d8nnlraxngq60i1f0yrkygwsj4kngv2yhyv"; depends=[erer gWidgets car urca copula]; };
+aqfig = derive { name="aqfig"; version="0.8"; sha256="0ha0jb5ag3zx6v7c63lsm81snslzb8y8g565mxjmf7vxpcmzzqsi"; depends=[geoR]; };
+aqp = derive { name="aqp"; version="1.8"; sha256="12z8lsnjwjrnxj5a79can2r2h9sdmp39jfnx9kxn8zwm9klzl3jg"; depends=[plyr reshape lattice cluster sp Hmisc stringr scales plotrix RColorBrewer MASS]; };
+aqr = derive { name="aqr"; version="0.4"; sha256="04frgil3nbxsww66r9x0c6f308pzqr1970prp20bdv9qm3ym5axw"; depends=[xts RCurl]; };
+archdata = derive { name="archdata"; version="0.1"; sha256="1k7cpqwgvkwfz25a9db0c8g6ii6xsbhkj3c9alghhaafs7x8n47w"; depends=[]; };
+archetypes = derive { name="archetypes"; version="2.2-0"; sha256="1djzlnl1pjb0ndgpfj905kf9kpgf9yizrcvh4i1p6f043qiy0axf"; depends=[modeltools nnls]; };
+archiDART = derive { name="archiDART"; version="1.0"; sha256="0fahcw3032rvz1qd2vv872k8d7845zjfm2byrk1nk5b34z25wm2b"; depends=[]; };
+archivist = derive { name="archivist"; version="1.3"; sha256="1did4s9afmbd4b2xcs674fyk2vz0r08vchjfar1q3ri2mfq4p7x5"; depends=[RSQLite DBI shiny lubridate RCurl digest httr]; };
+arf3DS4 = derive { name="arf3DS4"; version="2.5-10"; sha256="12cbrk57c9m7fj1x7nfmcj1vp28wj0wymsjdz8ylxhm3jblbgmxc"; depends=[corpcor]; };
+arfima = derive { name="arfima"; version="1.2-7"; sha256="00mc50hssnv7qj6dn1l3jgx8ca4vjkqirc38rv538xwjgw9mm1ms"; depends=[ltsa]; };
+argosfilter = derive { name="argosfilter"; version="0.63"; sha256="0rrc2f28hla0azw90a5gk3zj72vxhm1b6yy8ani7r78yyfhgm9ig"; depends=[]; };
+argparse = derive { name="argparse"; version="1.0.1"; sha256="03p8dpwc26xz01lfbnmckcx6wzky43dyq71085b0anzsavgx0786"; depends=[proto findpython getopt rjson]; };
+argparser = derive { name="argparser"; version="0.1"; sha256="0x4wm8hjzb779pp39v8q210npg7kzh9m8wwqmd17aaqaa3l2al9f"; depends=[]; };
+arm = derive { name="arm"; version="1.7-07"; sha256="19xshr5r36g9jsyxdm0dihvga89fd080hbhmyhxv1rbv4496jwqa"; depends=[MASS Matrix lme4 abind coda nlme]; };
+arnie = derive { name="arnie"; version="0.1.2"; sha256="14xkgyfn9zvkbgram15w7qzqc5pl1a8ig66cif7a79najrgd914r"; depends=[]; };
+aroma_affymetrix = derive { name="aroma.affymetrix"; version="2.13.0"; sha256="0rb4qijsqzrv47i30fpcngw50a1gk10zn1r13lszxcsm5i8vjqf7"; depends=[R_utils aroma_core R_methodsS3 R_oo R_cache R_devices R_filesets aroma_apd MASS matrixStats]; };
+aroma_apd = derive { name="aroma.apd"; version="0.6.0"; sha256="1l9p5qww71h6wlg2z15wirsfz2i7hmf637l17zaf3n7fp9s3flc7"; depends=[R_methodsS3 R_oo R_utils R_huge]; };
+aroma_cn = derive { name="aroma.cn"; version="1.6.0"; sha256="090qqvv6sk0508knmh2qr1lvpc2vr8s17mj6siblzc66ldp22dj7"; depends=[R_utils aroma_core R_methodsS3 R_oo R_filesets R_cache matrixStats PSCBS]; };
+aroma_core = derive { name="aroma.core"; version="2.13.0"; sha256="1r3r0hrw8akdpjmzhnc0fg6nyd9hccvv4kfbms38qll70lac4910"; depends=[R_utils R_filesets R_devices R_methodsS3 R_oo R_cache R_rsp matrixStats RColorBrewer PSCBS]; };
+arrayhelpers = derive { name="arrayhelpers"; version="0.76-20120816"; sha256="1q80dykcbqbcigv2f9xg1brfm3835i0zvs0810q6kh682a3hpqbi"; depends=[]; };
+ars = derive { name="ars"; version="0.5"; sha256="0m63ljb6b97kmsnmh2z5phmh24d60iddgz46i6ic4rirshq7cpaz"; depends=[]; };
+arules = derive { name="arules"; version="1.1-6"; sha256="0xq0j4phwqw9cx2yzxx8xx4srnjjlv75cd463x959bycsp6fzb5r"; depends=[Matrix]; };
+arulesNBMiner = derive { name="arulesNBMiner"; version="0.1-4"; sha256="05vj7pzzh84xr6d0m16dhzr7bw50hkiyq99vl46zinak648my338"; depends=[arules rJava]; };
+arulesSequences = derive { name="arulesSequences"; version="0.2-6"; sha256="1fvph6c8dy3hj0h63h85bzzzka8dx0cc0lcncz9svyahy1j4q3z0"; depends=[arules]; };
+arulesViz = derive { name="arulesViz"; version="1.0-0"; sha256="0g4bqfn8jya992r2wbi044v68mj508h52snrdcd5ijhdhw8xq9xc"; depends=[arules scatterplot3d vcd seriation igraph]; };
+asbio = derive { name="asbio"; version="1.1-5"; sha256="1br9rhj6nghwx54i2hpjrsdhwg8v38s66cy8fc4pg97zypdnikpj"; depends=[scatterplot3d pixmap tkrplot plotrix mvtnorm deSolve lattice multcompView]; };
+ascii = derive { name="ascii"; version="2.1"; sha256="19dfbp7k4bjxjn8wdzhbmz7g3za6gn8vcnd5qkm4dz7gg1fg7b8p"; depends=[]; };
+ascrda = derive { name="ascrda"; version="1.15"; sha256="17anzlhcjmrk13s5gs752rsc735y5wvba6r3w1nbv0cnkpnyk8i7"; depends=[class nnet rda MASS sfsmisc e1071 pamr]; };
+asd = derive { name="asd"; version="2.0"; sha256="1nnsbh6g0bhvhp6644zf2l6frr3qnls0s7y7r0g211b5zagq20z3"; depends=[mvtnorm]; };
+ash = derive { name="ash"; version="1.0-14"; sha256="15x16ld25i160asqf4z4difa6zn2yfgl04j8y8nqb0djymdx7a1f"; depends=[]; };
+aspace = derive { name="aspace"; version="3.2"; sha256="1g51mrzb6amafky2kg2mx63g6n327f505ndhna6s488xlsr1sl49"; depends=[splancs Hmisc shapefiles]; };
+aspect = derive { name="aspect"; version="1.0-3"; sha256="12wyyr0ms8g3y96jz1x0y52dlma00j20h7hmm8m6y5p1lgk9kmcd"; depends=[]; };
+assertive = derive { name="assertive"; version="0.2-1"; sha256="0bzhwdkw3ryaclaw9lni8zw13037gx7kf6wbmjvkwsl9p0lzv7wp"; depends=[]; };
+assertthat = derive { name="assertthat"; version="0.1"; sha256="0dwsqajyglfscqilj843qfqn1ndbqpswa7b4l1d633qjk9d68qqk"; depends=[]; };
+assist = derive { name="assist"; version="3.1.3"; sha256="0ngnn75iid5r014fcly29zhcfpqkqq24znncc3jdanbhdmfyybyz"; depends=[nlme lattice]; };
+aster = derive { name="aster"; version="0.8-30"; sha256="0vdlimkkmd9ar5v3xrbi9gshvj980l7641brd7cqs78sqf0v71fn"; depends=[trust]; };
+aster2 = derive { name="aster2"; version="0.1"; sha256="1qbh1l2cnhvdfxaw1bv8cpj96nv03g155b1xh1vdigniwc04mssw"; depends=[]; };
+astro = derive { name="astro"; version="1.2"; sha256="1c7zrycgj2n8gz50m94ys1dspilds91s1b2pwaq6df1va17pznby"; depends=[MASS plotrix]; };
+astroFns = derive { name="astroFns"; version="4.1-0"; sha256="0g5q0y067xf1ah91b4lg8mr9imj0d6lgig7gbj3b69fn335k363g"; depends=[]; };
+astrochron = derive { name="astrochron"; version="0.4.2"; sha256="1wrpcngny2b4k0p3xagh5967yvvgxcsp87xcdp4raf4n1v3nk2xx"; depends=[multitaper IDPmisc fields]; };
+astrodatR = derive { name="astrodatR"; version="0.1"; sha256="00689px4znwmlp6qbj6z2a51b7ylx1yrrjpv6zjkvrwpv6lyj9fw"; depends=[]; };
+astrolibR = derive { name="astrolibR"; version="0.1"; sha256="0gkgry5aiz29grp9vdq9zgg6ss47ql08nwcmz1pfvd0g0h9h75l8"; depends=[]; };
+astsa = derive { name="astsa"; version="1.3"; sha256="01bslr6hww029097244r5l4bz4v7z46gpihw39har8h0xicl6ywk"; depends=[]; };
+asympTest = derive { name="asympTest"; version="0.1.3"; sha256="11nlkgws3y8xbz3yli55414a2rkk7367q9q5r2ssa61jaiimibhh"; depends=[]; };
+asypow = derive { name="asypow"; version="2013.9-1"; sha256="0zd42ha30kysjhd6rwxr91k1hhsimw3py2inymbpxgyq4s890whs"; depends=[]; };
+atmcmc = derive { name="atmcmc"; version="1.0"; sha256="05k69b5wlysz3kh0yiqvshgvr0nyz34zkvn6bjs30cwz7s9j21pn"; depends=[]; };
+atsd = derive { name="atsd"; version="1.0.8441"; sha256="1jz2bdgvk1wamrm8r9ygprhyf0z3mdk9c1pwlb4bfmwvbnqd0yqa"; depends=[RCurl httr]; };
+attribrisk = derive { name="attribrisk"; version="0.1"; sha256="1zqx53mxz2hh9jyanf3jkadgpj44jbqrk4p13fas91zvhpw9pn5s"; depends=[survival boot]; };
+audio = derive { name="audio"; version="0.1-5"; sha256="1hv4052n2r6jkzkilhkfsk4dj1xhbgk4bhba2ca9nf8ag92jkqml"; depends=[]; };
+audiolyzR = derive { name="audiolyzR"; version="0.4-9"; sha256="09jsrjy15vcn6da0kgk06ghayyrf3s853gqv8qdawg745ky2hbgi"; depends=[hexbin RJSONIO plotrix]; };
+audit = derive { name="audit"; version="0.1-1"; sha256="0hrcdcwda5c0snskrychiyfjcbnymkcl2x43bapb6inw9y8989qv"; depends=[]; };
+autoencoder = derive { name="autoencoder"; version="1.0"; sha256="18i6b2vjhlq9f82syw3k88gm9bvklv827nflgzq0xzjnzh6z5nr8"; depends=[]; };
+automap = derive { name="automap"; version="1.0-14"; sha256="1190kbmp0x80x0hyifdbblb4ijq79kvrfn9rkp5k6diig4v30n0w"; depends=[sp gstat lattice reshape]; };
+autopls = derive { name="autopls"; version="1.3"; sha256="1qf5gk1vsz1p5670w7bgzh3b15wvrx1gy6ih4sivw0vj8bcjxbw9"; depends=[pls]; };
+aws = derive { name="aws"; version="1.9-4"; sha256="11vbsg4yhnl4995m8gq5gykrlk61y3a618g2zxkc9wdf5z4xqdny"; depends=[awsMethods gsl]; };
+awsMethods = derive { name="awsMethods"; version="1.0-3"; sha256="1r6rbrlc5wbljp2x9aqhhnjblnb3gjm217x0cbmrw1pa0cf7q5jq"; depends=[]; };
+aylmer = derive { name="aylmer"; version="1.0-11"; sha256="1b6dryvfz9yp00nj8lv8j1isnshcgwn9fx41knah9pw7dn4pxkk2"; depends=[Brobdingnag]; };
+b6e6rl = derive { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; };
+bPeaks = derive { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; };
+bReeze = derive { name="bReeze"; version="0.4-0"; sha256="1znhmb2inbfv574adhwjwk3qf9kikrxrly4n6sfyim1z6sagnj0z"; depends=[]; };
+babar = derive { name="babar"; version="1.0"; sha256="13j5klrcnd4dwrgdbxlvwcj56l9mzi4j9ga6jj5i04pgdc6vsfx5"; depends=[]; };
+babel = derive { name="babel"; version="0.2-6"; sha256="1dsxjnhr0cky7wlzz8pr8rn3cldfcyrh8v6gn2ba4abr0df7i4dd"; depends=[]; };
+babynames = derive { name="babynames"; version="0.1"; sha256="0qq0303mmcnpfy5630d7rqmb8rl36p7hg2z842rzd4lkhy8c2l07"; depends=[]; };
+backtest = derive { name="backtest"; version="0.3-2"; sha256="06q488pynxgis1m6rxc8hgscpy8vimffpi4aamviwb089sjzilnn"; depends=[lattice]; };
+bagRboostR = derive { name="bagRboostR"; version="0.0.2"; sha256="1k9w98p3ad3myzyqhcrc4rsn7196qvhnmk5ddx3fpd1rdvy2dnby"; depends=[randomForest]; };
+bamdit = derive { name="bamdit"; version="1.1-1"; sha256="0f865yfwd2pvbkcx8jm4iyilldmprsgyqnscp1n28rp3sbdii4bl"; depends=[coda rjags]; };
+bams = derive { name="bams"; version="1.6"; sha256="1pplnpilpydxf7gcs87424cajss74q8cr9pyv2biy4pkvfql0nxl"; depends=[]; };
+bandit = derive { name="bandit"; version="0.5.0"; sha256="03mv4vbn9g4mqikd9map33gmw2fl9xvb62p7gpxs1240w5r4w3fp"; depends=[boot gam]; };
+barcode = derive { name="barcode"; version="1.1"; sha256="14zh714cwgq80zspvhw88cs5b82gvz4b6yfbshj9b7x0y2961nxd"; depends=[lattice]; };
+bartMachine = derive { name="bartMachine"; version="1.2.0"; sha256="0hcz39397v2y8qgdy67i97j0z5g2qidkkf5p9ydcqp9fp5msshq7"; depends=[rJava car randomForest missForest]; };
+base64 = derive { name="base64"; version="1.1"; sha256="1wn3zj1qlgybzid4nr6hvlyqg1rp2dwfh88vxrfby2fy2ba1nl5x"; depends=[]; };
+base64enc = derive { name="base64enc"; version="0.1-2"; sha256="0d2b7vl08abssfwprfiqc0yscb1gz4xlzlwwbf7y9z19wbyxizh5"; depends=[]; };
+baseline = derive { name="baseline"; version="1.2-0"; sha256="12gjirk9jyq7lmfkp10kcli84bld9n9m6yhcj5z6y4iaq6d8hazq"; depends=[SparseM]; };
+basicspace = derive { name="basicspace"; version="0.15"; sha256="11aqrai26kdwszznlhrk52jr19syl549qdq3nspbxcn2mj65f5pw"; depends=[]; };
+batade = derive { name="batade"; version="0.1"; sha256="1lr0j20iydh15l6gbn471vzbwh29n58dlpv9bcx1mnsqqnsgpmal"; depends=[hwriter]; };
+batch = derive { name="batch"; version="1.1-4"; sha256="03v8a1hsjs6nfgmhdsv6fhy3af2vahc67wsk71wrvdxwslmn669q"; depends=[]; };
+batchmeans = derive { name="batchmeans"; version="1.0-2"; sha256="126q7gyb1namhb56pi0rv9hchlghjr95pflmmpwhblqfq27djss2"; depends=[]; };
+bayesDccGarch = derive { name="bayesDccGarch"; version="1.0"; sha256="1xgznixi0wdpqbqjacf5viyz69fjd0xbsdgvkgq2d8pjbgp18s0a"; depends=[coda]; };
+bayesDem = derive { name="bayesDem"; version="2.4-1"; sha256="0s2dhy8c90smvaxcng6ixhjm7kvwwz2c4lgplynrggrm8rfb19ay"; depends=[gWidgets gWidgetsRGtk2 bayesTFR bayesLife bayesPop RGtk2 wpp2012]; };
+bayesGARCH = derive { name="bayesGARCH"; version="2.0.1"; sha256="1gz18wjikkg3yf71b1g21cx918dyz89f5m295iv8ah807cdx7vjk"; depends=[mvtnorm coda]; };
+bayesGDS = derive { name="bayesGDS"; version="0.6.0"; sha256="17ihpsh7lqjninprfwbx3v2415s27qybr5c2z4ls43slv8zrv8mz"; depends=[Matrix]; };
+bayesLife = derive { name="bayesLife"; version="2.2-0"; sha256="09r915azz60ca5b4w0kkd8x8mb0cxz36lapakdmgrgxd4qax17nv"; depends=[bayesTFR wpp2012 hett car coda]; };
+bayesMCClust = derive { name="bayesMCClust"; version="1.0"; sha256="14cyvcyx3nmkbvsy7n4xjp7zvcgdhy013dv9d72y8j5dvlv82pb4"; depends=[gplots xtable mnormt MASS bayesm boa e1071 gtools]; };
+bayesPop = derive { name="bayesPop"; version="5.2-2"; sha256="1m1vvbipf903s7a5vm7pad3l8ykj74ilrkpyc4ydqzpyqg4k4npj"; depends=[bayesTFR bayesLife abind plyr wpp2012]; };
+bayesQR = derive { name="bayesQR"; version="2.2"; sha256="0w5fg7hdwpgs2dg4vzcdsm60wkxgjxhcssw9jzig5qgdjdkm07nm"; depends=[]; };
+bayesSurv = derive { name="bayesSurv"; version="2.4"; sha256="014jxlx4w6lzzq9axdk8mwwlppmly0yj9i14zhmngdbr7mxh3f87"; depends=[survival coda smoothSurv]; };
+bayesTFR = derive { name="bayesTFR"; version="4.1-2"; sha256="17qv25yrprj099vx1jj46ycgxnc4ldx6qcqx42h5gz38qqzz2q4s"; depends=[mvtnorm MASS coda wpp2012]; };
+bayesclust = derive { name="bayesclust"; version="3.1"; sha256="0zxjd64nz8c6vg6jwb2xh6kbw41a2pcmlwq5cl6k2kbplqbm2jdf"; depends=[]; };
+bayescount = derive { name="bayescount"; version="0.9.99-4"; sha256="1ylz7wwc3kdff9b7gs8k36i90bc7pa8z207mhnxn0qzjv1qwjq6r"; depends=[runjags rjags coda]; };
+bayesm = derive { name="bayesm"; version="2.2-5"; sha256="16cnm1i7vwviqxwq3yhj5r9a46qaanq2mb4snd0659rkia6p8h7a"; depends=[]; };
+bayesmix = derive { name="bayesmix"; version="0.7-3"; sha256="142132aslmmm35yai4n1d2hqqkczvrnm8ln9gwxvbczmxaggnc01"; depends=[rjags coda]; };
+bayespref = derive { name="bayespref"; version="1.0"; sha256="0gwlzs7qkgmf90np7xv85d27jjqggyhfj00vpya664a2znyjb3jm"; depends=[coda lattice MASS MCMCpack RColorBrewer]; };
+bayess = derive { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[MASS mnormt gplots combinat]; };
+bayou = derive { name="bayou"; version="1.0.1"; sha256="0l342a4lsn6b18i2kyk2hr50k69bb7jcw8dlnbi96yf1i58qcdri"; depends=[ape geiger phytools coda Rcpp MASS mnormt fitdistrplus denstrip Rcpp RcppArmadillo]; };
+bbefkr = derive { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; };
+bbemkr = derive { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; };
+bbmle = derive { name="bbmle"; version="1.0.17"; sha256="1j3x2glnn0i0fc0mmafwkkqh1js90g8q7gix2vrhif0pmwinsrak"; depends=[numDeriv lattice MASS]; };
+bbo = derive { name="bbo"; version="0.2"; sha256="19xrbla3bb3csg3gjjrpkgyr379zfwyh293bcrcd6j8rnm6g4i01"; depends=[]; };
+bc3net = derive { name="bc3net"; version="1.0.2"; sha256="0iakqf4apscxb4mb5klj9qklbi25dmdd77la3ads2y882gm2nj0z"; depends=[c3net infotheo igraph Matrix lattice]; };
+bclust = derive { name="bclust"; version="1.4"; sha256="1s04fqff5bw6d5kk0smvach6yq492dv1w0ahh9mrm2jsi2q58h7p"; depends=[]; };
+bcp = derive { name="bcp"; version="3.0.1"; sha256="08sa1az1ljsi00zmj3l7z8p1j5im1w79yjxy8k1p6ba90bck7l4h"; depends=[foreach iterators Rcpp Rcpp]; };
+bcpa = derive { name="bcpa"; version="1.1"; sha256="0rwbd39szp0ar9nli2rswhjiwil31zgl7lnwm9phd0qjv8q0ppar"; depends=[Rcpp plyr Rcpp]; };
+bcpmeta = derive { name="bcpmeta"; version="1.0"; sha256="02fw1qz9cvr7pvmcng7qg7p04wxxpmvb2s8p78f52w4bf694iqhl"; depends=[mvtnorm]; };
+bcrm = derive { name="bcrm"; version="0.4.4"; sha256="0gcigc7505fsk1m70df3n0dz553adkbs8yz2bhskb4qrw4gbmvr7"; depends=[mvtnorm ggplot2]; };
+bcv = derive { name="bcv"; version="1.0"; sha256="053if27miv46mbkni6pcpdpz0l336r5l95k7927dqalnri894xwz"; depends=[]; };
+bda = derive { name="bda"; version="3.2.0-3"; sha256="1725qdlkcf7hfklnksy7jslh66cfm7gsil1xgm2rw8hr6v2l0pmx"; depends=[]; };
+bde = derive { name="bde"; version="1.0.1"; sha256="1f25gmjfl58x4pns89abfk85yq5aad3bgq9yqpv505g5gxk62d3v"; depends=[shiny ggplot2]; };
+bdoc = derive { name="bdoc"; version="1.2"; sha256="15d7grc0a1hakkxhgbm2gp0awggzlmsp8zf8abj5bgfih63gcmj2"; depends=[]; };
+bdpv = derive { name="bdpv"; version="1.1"; sha256="0i6wdf27243ch8pn2chqriwxjg3g72wbvzlx52mz4ahw700xjc7n"; depends=[]; };
+bdscale = derive { name="bdscale"; version="1.2"; sha256="0j2h7ainfnh78szp355didbkmcl6d5vz1di8nznjarwxncrbgc6g"; depends=[ggplot2 scales]; };
+bdsmatrix = derive { name="bdsmatrix"; version="1.3-2"; sha256="16qhfwk0r1snm9hg32qwz7hizkpwc32m723hjm23m2026gvz2nwy"; depends=[]; };
+bdvis = derive { name="bdvis"; version="0.1.0"; sha256="1f837i48gmspx9xrnxzsgdbg6ykxmvkp8l20y19yd9iakhv7k3jy"; depends=[maps plotrix sqldf plyr taxize treemap ggplot2]; };
+bdynsys = derive { name="bdynsys"; version="1.3"; sha256="07gfyp0qwq9y1cnh7lhcz7q0b1s51cjwlbpll50l2cza2dszmf29"; depends=[plm Formula MASS Hmisc deSolve pracma caTools matrixStats]; };
+beadarrayFilter = derive { name="beadarrayFilter"; version="1.1.0"; sha256="044dq5irc00v2f2gjz0vb69w7q7b84lppc55ganabdv4f0dxdblc"; depends=[RColorBrewer]; };
+beadarrayMSV = derive { name="beadarrayMSV"; version="1.1.0"; sha256="0785vmjsli37hjyppk7hlqmn0b683s1apysx9dghbw4h6rgvr8n9"; depends=[rggobi]; };
+beanplot = derive { name="beanplot"; version="1.2"; sha256="0wmkr704fl8kdxkjwmaxw2a2h5dwzfgsgpncnk2p2wd4768jknj9"; depends=[]; };
+bear = derive { name="bear"; version="2.6.4"; sha256="1v5rcb7aqzc7zjbbwwcy02z79crxq90mxs32k2gfvf7jzky09hpy"; depends=[reshape nlme gdata ICSNP sciplot plotrix ggplot2 png]; };
+beepr = derive { name="beepr"; version="1.1"; sha256="187gww50yc8hzrzwz6j9ib101196g6ci9fx3dqyhg764ydn8if1n"; depends=[stringr audio]; };
+beeswarm = derive { name="beeswarm"; version="0.1.6"; sha256="05n2a1fqmh4m7d0b8vmcprss5ivgb0dlyly07jywj3vrf2z81yhy"; depends=[]; };
+benchden = derive { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; };
+benchmark = derive { name="benchmark"; version="0.3-6"; sha256="05rgrjhbvkdv06nzbh0v57b06vdikrqc1d29wirzficxxbjk1hih"; depends=[proto ggplot2 relations psychotools reshape scales plyr]; };
+benford_analysis = derive { name="benford.analysis"; version="0.1.1"; sha256="00ynk1af5nbq8bn8y77sckx4w32g5zxcp06pdpcxwvp38d7hxhvc"; depends=[data_table]; };
+ber = derive { name="ber"; version="4.0"; sha256="0gl7rms92qpa5ksn8h3ppykmxk5lzbcs13kf2sjiy0r2535n8ydi"; depends=[MASS]; };
+berryFunctions = derive { name="berryFunctions"; version="1.7.1"; sha256="1xpmpbls0vjyi51k7sd1v8s7lp4s1549javcg3yinmvxp9xhwfkx"; depends=[]; };
+bestglm = derive { name="bestglm"; version="0.34"; sha256="0b6lj91v0vww0fy50sqdn99izkxqbhv83y3zkyrrpvdzwia4dg9w"; depends=[leaps]; };
+betafam = derive { name="betafam"; version="1.0"; sha256="1nf5509alqnr5qpva36f1wb7rdnc084p170h91jv89xvzsidqxca"; depends=[]; };
+betapart = derive { name="betapart"; version="1.3"; sha256="0h2y2c3q6njzh2rlxh8izgkrq9y7abkbb0b13f2iyj9pnalvdv52"; depends=[ape geometry picante rcdd]; };
+betaper = derive { name="betaper"; version="1.1-0"; sha256="1gr533iw71n2sq8gga9kzlah7k28cnlwxb2yh562gw6mh1axmidm"; depends=[vegan ellipse]; };
+betareg = derive { name="betareg"; version="3.0-5"; sha256="1zpj1x5jvkn7d8jln16vr4xziahng0f54vb4gc4vs03z7c853i4a"; depends=[flexmix Formula lmtest modeltools sandwich]; };
+betas = derive { name="betas"; version="0.1.1"; sha256="1v85r6lrk21viwzam42gi42bgbwh5ibn3dpbh3aqrf3dnn1rdsyd"; depends=[robust]; };
+betategarch = derive { name="betategarch"; version="3.2"; sha256="0x3l1zvdp8r7mam7fvdlh1w3dwpjwj86n0ysfk8g824p4mn2wsgv"; depends=[zoo]; };
+bethel = derive { name="bethel"; version="0.2"; sha256="1zlkw672k1c5px47bpa2vk3w2906vkhvifz20h6xm7s51gmm64i0"; depends=[]; };
+bezier = derive { name="bezier"; version="1.1"; sha256="1bhqf1zbshkf1x8mgqp4mkgdxk9jxi51xj6i47kqkyn9gbdzch0c"; depends=[]; };
+bfa = derive { name="bfa"; version="0.3.1"; sha256="02vnbm77blllb74kll8w1i91k0llk43vq60aqjwpc5kqmzy652pk"; depends=[coda Rcpp RcppArmadillo Rcpp RcppArmadillo]; };
+bfast = derive { name="bfast"; version="1.5.7"; sha256="0n75minka55rxpvs3qkj0c65ydn1gc3i8lkr2gdyn1adjkl5yn01"; depends=[strucchange zoo forecast sp raster]; };
+bfp = derive { name="bfp"; version="0.0-27"; sha256="08hlr33dwwjc4ag8vfsa3w4rcsc2093j8zwb05xkkl5nwqsq3mq0"; depends=[Rcpp Rcpp]; };
+bgeva = derive { name="bgeva"; version="0.3"; sha256="0isijl43kmg4x7mdnvz0lrxr87f68dl4jx7gmlg70m8r6kk8cfqn"; depends=[mgcv magic trust]; };
+bglm = derive { name="bglm"; version="1.0"; sha256="1ln5clsfhpzjkm6cjil0lfqg687b0xxbvw1hcvangc0c0s314mrz"; depends=[mvtnorm]; };
+bgmm = derive { name="bgmm"; version="1.7"; sha256="00bjwmgqvz053yczvllf1nxy1g88fgwrrzhnw309f2yjr1qvjbgg"; depends=[mvtnorm car lattice combinat]; };
+biasbetareg = derive { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; };
+bibtex = derive { name="bibtex"; version="0.4.0"; sha256="0sy1czwjff3kdfnmlkp036qlnw8dzdl5al7izy1cc0535hsijv0d"; depends=[]; };
+biclust = derive { name="biclust"; version="1.1.0"; sha256="0ffsgjg7dvr5nh238abhawz9k775szh8lxl75bqjvxgqiv07f3hc"; depends=[MASS colorspace lattice flexclust]; };
+bifactorial = derive { name="bifactorial"; version="1.4.7"; sha256="187zlsqph7m63wf6wajvs6a4a08aax9hiqssgvma6cpkpisfiz4k"; depends=[mvtnorm multcomp lattice Rcpp Rcpp]; };
+bigGP = derive { name="bigGP"; version="0.1-5"; sha256="0hlfylwinkwz2s8wgqf6qwxrrdx5a02ln13y4arfwwlqi1kw0s4q"; depends=[Rmpi]; };
+bigRR = derive { name="bigRR"; version="1.3-10"; sha256="08m77r9br6wb9i21smaj4pwwpq3nxdirs542gnkrpakl7bvyp6s3"; depends=[hglm DatABEL]; };
+bigalgebra = derive { name="bigalgebra"; version="0.8.4"; sha256="19rv552ac0q9djc1yvpldkc0lipdf6q143m9dnndpsqs7ayqlr4g"; depends=[bigmemory bigmemory BH]; };
+biganalytics = derive { name="biganalytics"; version="1.1.1"; sha256="0g45b293c1z9n2z9ab66jsy8yaiqm7bbs2d6pglzwgmmdvwy03qd"; depends=[bigmemory BH bigmemory]; };
+bigdata = derive { name="bigdata"; version="0.1"; sha256="1n1zcjhvb2s87d7fkcm95x11ss4b8pczza0n55gxjv4przfiq0in"; depends=[glmnet Matrix lattice]; };
+biglars = derive { name="biglars"; version="1.0.2"; sha256="17zs25dvlja9ynx2fm5f4nmgkx4mnyqs5iscwsyahr6qigx1rz9x"; depends=[ff]; };
+biglm = derive { name="biglm"; version="0.9-1"; sha256="1z7h4by457z93k5i6qf5rq7xmd1y2kcd1rq4pv465cd32d4mb2g1"; depends=[DBI]; };
+bigmemory = derive { name="bigmemory"; version="4.4.6"; sha256="1pplnpxqg380l5mjgz0ak4ipsx7x54339n2wr3dd29xv3w2fb5rp"; depends=[bigmemory_sri BH BH]; };
+bigmemory_sri = derive { name="bigmemory.sri"; version="0.1.3"; sha256="0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"; depends=[]; };
+bigpca = derive { name="bigpca"; version="1.0"; sha256="1s4qmg7xl8z0sv1b1vfqw0r5cvlbrxx1n0m03ira8fpykcck2clm"; depends=[reader NCmisc bigmemory biganalytics bigmemory_sri BH irlba]; };
+bigrf = derive { name="bigrf"; version="0.1-11"; sha256="0lazi8jk8aapdyyynd5yfcbn4jpjyxh8l64ayd0jj3nisl6hvmdh"; depends=[bigmemory foreach bigmemory BH]; };
+bigrquery = derive { name="bigrquery"; version="0.1.0"; sha256="15ibgi6bqvn0ydq8jx1xhwkwpwwyd7w4f2ams2gpafpysc2f2ks6"; depends=[httr jsonlite assertthat R6 dplyr]; };
+bigsplines = derive { name="bigsplines"; version="1.0-6"; sha256="03gan2wrsi2hfxhn3l05qd0x04x8ymkab9aqpfbfn59m296xhd3m"; depends=[]; };
+bigtabulate = derive { name="bigtabulate"; version="1.1.2"; sha256="0vp873r3gww6kfkjdm87qgcdi85362kq946lvs45ggvyv7iaw0wa"; depends=[bigmemory BH bigmemory]; };
+bild = derive { name="bild"; version="1.1-3"; sha256="02fi3h6mhg2m1ppkcpxpwzjfchkk9h7yv73j0365srr1jxki44pm"; depends=[]; };
+bimetallic = derive { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; };
+binGroup = derive { name="binGroup"; version="1.1-0"; sha256="1sf7prg2x1ryynf1kz7jr50svmga7kjgd5pi9qm3g2hyimz8mvs4"; depends=[]; };
+binMto = derive { name="binMto"; version="0.0-6"; sha256="1h9s42wk848x15f4glhsh2iikpra64miwlia6xz5dqlzbs4vw86k"; depends=[mvtnorm]; };
+binda = derive { name="binda"; version="1.0.2"; sha256="1hfqx79pq9bn37j8rwv11wsv6d9prph26p2hqmnxilsdxr953ib2"; depends=[entropy]; };
+bindata = derive { name="bindata"; version="0.9-19"; sha256="15ya21fz1kvq4qsppkn9ypiqvaq8q4vszdcgcymampa7zc07z2ld"; depends=[e1071 mvtnorm]; };
+binequality = derive { name="binequality"; version="0.6.1"; sha256="18pcz5b65zk6fwh597pcbpyy0j7gkxp5swwadxvsa3cainvyd07n"; depends=[gamlss gamlss_cens gamlss_dist survival ineq]; };
+bingat = derive { name="bingat"; version="1.1"; sha256="1pb1yy1xrfvh71pg237lkmi56p8pbam60rii5i5km1i960lq0wc1"; depends=[matrixStats network]; };
+binhf = derive { name="binhf"; version="1.0-1"; sha256="0l8925bj6mjv2y7fn76zh2g8xjig3kbbdy4jl0ip3gd9kbrakl9k"; depends=[wavethresh adlift]; };
+binom = derive { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; };
+binomSamSize = derive { name="binomSamSize"; version="0.1-3"; sha256="0hryaf0y3yjxp84c0k80mhxj8zzlad697bv2yrvcjvllkzdvzbm7"; depends=[binom]; };
+binomTools = derive { name="binomTools"; version="1.0-1"; sha256="14594i7iapd6hy4j36yb88xmrbmczg8zgbs0b6k0adnmqf83bn4v"; depends=[]; };
+binomialcftp = derive { name="binomialcftp"; version="1.0"; sha256="00c7ymlxk1xnx3x1814x7bcyir7q5sy4rb82dcpzf2bdly4xa1qr"; depends=[]; };
+binomlogit = derive { name="binomlogit"; version="1.2"; sha256="1njz1g9sciwa8q6h0zd8iw45vg3i1fwcvicj5y8srpk8wqw3qp7k"; depends=[]; };
+binr = derive { name="binr"; version="1.1"; sha256="0kgk91zy7bdrhpkh9c5bi206y9hjwjwzb508i8qqmznqyxmza70r"; depends=[]; };
+binseqtest = derive { name="binseqtest"; version="1.0"; sha256="103nbi3zq9m632665iqz0z79v963ixhd5xrjfx6drwpfp4i69pbl"; depends=[clinfun]; };
+bio_infer = derive { name="bio.infer"; version="1.3-3"; sha256="14pdv6yk0sk6v8g9p6bazbp7mr3wmxgfi6p6dj9n77lhqlvjcgm9"; depends=[]; };
+bio3d = derive { name="bio3d"; version="2.2-2"; sha256="0sqwl27n15sbablw4mcqgf0w2k28jc59wf8yqxrmqbg8cckfsh9j"; depends=[]; };
+bioPN = derive { name="bioPN"; version="1.2.0"; sha256="0mvqgsfc7d4h6npgg728chyp5jcsf49xhnq8cgjxfzmdayr1fwr8"; depends=[]; };
+biogas = derive { name="biogas"; version="1.0"; sha256="0c7ayhmy69k08f32i1agri349wm1addibw4xp9rjq9cmkdhazvbd"; depends=[]; };
+biogram = derive { name="biogram"; version="1.1"; sha256="04nkm972x1nzlacfjfk3i4gsqbfhrfaygmmw13hrp47j8snv8r26"; depends=[slam bit]; };
+biom = derive { name="biom"; version="0.3.12"; sha256="18fmzp2zqjk7wm39yjlln7mpw5vw01m5kmivjb26sd6725w7zlaa"; depends=[plyr RJSONIO Matrix]; };
+biomod2 = derive { name="biomod2"; version="3.1-64"; sha256="0ymqscsdp5plhnzyl256ws9namqdcdxq3w5g79ymfpymfav10h3a"; depends=[sp raster reshape ggplot2 abind rasterVis pROC nnet gbm mda randomForest rpart MASS]; };
+bionetdata = derive { name="bionetdata"; version="1.0.1"; sha256="1l362zxgcvxln47b1vc46ad6ww8ibwhqr2myxnz1dnk2a8nj7r2q"; depends=[]; };
+biopara = derive { name="biopara"; version="1.5"; sha256="1fhhs6lkm3iphlkx6wklh9sgr1mkjkka9wv2m8fnk0xw01bdsyl5"; depends=[]; };
+bios2mds = derive { name="bios2mds"; version="1.2.2"; sha256="1avzkbk91b7ifjba5zby5r2yw5mibf2wv05a4nj27gwxfwrr21cd"; depends=[amap e1071 scales cluster rgl]; };
+biosignalEMG = derive { name="biosignalEMG"; version="1.0"; sha256="0rvicx851vmlc15s9jzj4vmwq2f3qwlz3j1wjb0i2lznkzwyzxnw"; depends=[]; };
+biotools = derive { name="biotools"; version="2.0"; sha256="02yw5pfj9858j02yi30bvll5pp67dpkzx3y5ka5bwwz7a5g7dvx3"; depends=[rpanel tkrplot MASS boot]; };
+bipartite = derive { name="bipartite"; version="2.05"; sha256="05w3ypdxy2lfygdlvg9xv88dpsf21i60rsbvvz058zwpfzr39hfh"; depends=[vegan sna fields igraph MASS permute]; };
+biplotbootGUI = derive { name="biplotbootGUI"; version="1.0"; sha256="0pgm31nhh1b78a8ciqjxw7gf3j7hh9wjc3myj29jpl92flbqmsw0"; depends=[rgl tkrplot vegan tcltk2]; };
+birdring = derive { name="birdring"; version="1.2"; sha256="1jhhvdipsx3kw8n6gw6amm1vq0m83l48dkark9vvi2hpd730ca1y"; depends=[geosphere ks lazyData raster rgdal rgeos rworldmap rworldxtra sp]; };
+birk = derive { name="birk"; version="1.3.0"; sha256="02h8vh2r1ilmfgx1j3yw9jlzwshqh70nac28qzq1f5mpqll8z1sg"; depends=[]; };
+bisectr = derive { name="bisectr"; version="0.1.0"; sha256="1vjsjshvzj66qqzg32rviklqswrb00jyq6vwrywg1hpqhf4kisv7"; depends=[devtools]; };
+bisoreg = derive { name="bisoreg"; version="1.4"; sha256="1ianhk5vrzhwb9ymzvlx9701p5c4iasxyq7nhrvm815dm15rf2wf"; depends=[bootstrap monreg R2WinBUGS coda]; };
+bit = derive { name="bit"; version="1.1-12"; sha256="0a6ig6nnjzq80r2ll4hc74za3xwzbzig6wlyb4dby0knzf3iqa6f"; depends=[]; };
+bit64 = derive { name="bit64"; version="0.9-4"; sha256="1w734l5ayr7w17a3gk2kmkqwz7v5jm830kfhyqmnd15i816lnjb9"; depends=[bit]; };
+bitops = derive { name="bitops"; version="1.0-6"; sha256="176nr5wpnkavn5z0yy9f7d47l37ndnn2w3gv854xav8nnybi6wwv"; depends=[]; };
+bivarRIpower = derive { name="bivarRIpower"; version="1.2"; sha256="0vgi0476rwali6k8bkp317jawzq5pf04v75xmycpmadb7drnpzy0"; depends=[]; };
+biwavelet = derive { name="biwavelet"; version="0.17.5"; sha256="01zhpwq1a3g1pjwbjqh3p1q9jhqqngrxcs9vp4r2zrj3rn9d5x38"; depends=[fields]; };
+biwt = derive { name="biwt"; version="1.0"; sha256="1mb3x8ky3x8j4n8d859i7byyjyfzq035i674b2dmdca6mn7paa14"; depends=[rrcov MASS]; };
+bizdays = derive { name="bizdays"; version="0.2.2"; sha256="1n2bh7vy0fhxq20s4lnbhgig1012di34kfl61i0ap7pc6464kg8d"; depends=[]; };
+blender = derive { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; };
+blighty = derive { name="blighty"; version="3.1-4"; sha256="1fkz3vfcnciy6rfybddcp5j744dcsdpmf7cln2jky0krag8pjzpn"; depends=[]; };
+blkergm = derive { name="blkergm"; version="1.1"; sha256="0giknhcl14b4djn5k5v5n33b7bc3f8x6lx2h4jr25kpd89aynhq5"; depends=[network ergm statnet_common ergm]; };
+blm = derive { name="blm"; version="2013.2.4.4"; sha256="1w6c30cq38j4i1q4hjg12l70mhy5viw886l1lsnxyvniy113in4i"; depends=[]; };
+blme = derive { name="blme"; version="1.0-2"; sha256="11m98j9xr6w0hfcss4bbx2aa34gnc5p9if9r8ilw9ify18by77np"; depends=[lme4]; };
+blmeco = derive { name="blmeco"; version="1.0"; sha256="0shhyvqq88i0nr6wdf78rlqk4c91jv26nrb19jcjcw2wxv1mnazq"; depends=[MASS MuMIn arm lme4]; };
+blockTools = derive { name="blockTools"; version="0.6-2"; sha256="0h04179ybklwbs69rg73p5h09fi3vzagh845r00ivw4iv18anq40"; depends=[MASS]; };
+blockcluster = derive { name="blockcluster"; version="3.0.2"; sha256="1qd92lj3ckrj7cvl9zs85igb0974wy5s4zwdnvfyvrsi2bqi3qp8"; depends=[Rcpp Rcpp RcppEigen]; };
+blockmatrix = derive { name="blockmatrix"; version="1.0"; sha256="14k69ly4i8pb8z59005kaf5rpv611kk1mk96q6piyn1gz1s6sk6r"; depends=[]; };
+blockmodeling = derive { name="blockmodeling"; version="0.1.8"; sha256="0x71w1kysj9x6v6vsirq0nndsf6f3wzkf8pbsq3x68sf4cdji1xl"; depends=[]; };
+blockrand = derive { name="blockrand"; version="1.3"; sha256="1090vb26w6s7iqjcal0xbb3qb6p6j46a5w25f1wjdppd1spvh7f9"; depends=[]; };
+blocksdesign = derive { name="blocksdesign"; version="1.5"; sha256="06i8yphfp5g5bhs6s0gl0mb51vdk8idqifv18bkaqlh9qvbrd6rd"; depends=[crossdes]; };
+blowtorch = derive { name="blowtorch"; version="1.0.2"; sha256="0ymhkzfdrfcsq2qc5hbn9i0p58xqf90vwd46960cszxacyzzcnrb"; depends=[ggplot2 foreach iterators]; };
+blsAPI = derive { name="blsAPI"; version="0.1.1"; sha256="1d9mzhhr9yrx1kca6mzrq3gqqismv2q5wf1zx76srqvpaja2wszq"; depends=[rjson RCurl]; };
+bmd = derive { name="bmd"; version="0.5"; sha256="0d4wxyymycb416sdn272292l70s1h2m5kv568vakx3rbvb8y6agy"; depends=[drc]; };
+bmem = derive { name="bmem"; version="1.5"; sha256="1miiki743rraralk9dp12dsjjajj3iizcrfwmplf6xas6pl8sfk6"; depends=[Amelia MASS lavaan sem snowfall]; };
+bmk = derive { name="bmk"; version="1.0"; sha256="1wxkrlrhmsxsiraj8nyiax9bqs834ln2swykmpf40wxspkykgfdq"; depends=[coda plyr functional]; };
+bmmix = derive { name="bmmix"; version="0.1-2"; sha256="00php2pgpnm9n0mnamchi6a3dgaa97kdz2ynivrf38s0vca7fqx8"; depends=[ggplot2 reshape2]; };
+bmp = derive { name="bmp"; version="0.2"; sha256="059ps1sy02b22xs138ba99fkxq92vzgfbyf2z5pyxwzszahgy869"; depends=[]; };
+bmrm = derive { name="bmrm"; version="3.0"; sha256="0ix5hfsvs2vnca0l1aflynddw6z85cqdyxn0y7xynkkapk182g4p"; depends=[lpSolve LowRankQP]; };
+bnlearn = derive { name="bnlearn"; version="3.7.1"; sha256="0wfly2c3il48c31jz3fvmhz285z4kapw6v0k993608gjli0sg86m"; depends=[]; };
+bnormnlr = derive { name="bnormnlr"; version="1.0"; sha256="0l2r7vqikak47nr6spdzgjzhvmkr9dc61lfnxybmajvcyy6ymqs9"; depends=[mvtnorm numDeriv]; };
+bnpmr = derive { name="bnpmr"; version="1.1"; sha256="0hvwkdbs2p2l0iw0425nca614qy3gsqfq4mifipy98yxxvgh8qgc"; depends=[]; };
+boa = derive { name="boa"; version="1.1.7-2"; sha256="1n7i0i8jq2sa1kzhbgyqzl9d53wja7fsxd7rligc8xjm0sdsb386"; depends=[]; };
+boilerpipeR = derive { name="boilerpipeR"; version="1.2.2"; sha256="0hcjlinzq2778zhwvsdyif099w8qjz5yidvpsyhphk4r6jyk4k2w"; depends=[rJava]; };
+bold = derive { name="bold"; version="0.2.0"; sha256="06dnhhf2bmiqxizarsqd6l2dcsldz4135srqa7yz90flsl9ihzwx"; depends=[XML httr stringr assertthat jsonlite reshape plyr]; };
+boolean3 = derive { name="boolean3"; version="3.1.6"; sha256="00s6ljhqy8gpwa3kxfnm500r528iml53q364bjcl4dli2x85wa9p"; depends=[optimx numDeriv lattice rgenoud mvtnorm rlecuyer]; };
+boostSeq = derive { name="boostSeq"; version="1.0"; sha256="0sikyzhn1i6f6n7jnk1kb82j0x72rj8g5cimp2qx3fxz33i0asx6"; depends=[genetics lpSolveAPI]; };
+boostr = derive { name="boostr"; version="1.0.0"; sha256="123ag8m042i1dhd4i5pqayqxbkfdj4z0kq2fyhxfy92a7550gib2"; depends=[foreach iterators stringr]; };
+boot = derive { name="boot"; version="1.3-15"; sha256="0pyznvhbb8237nqab6ylmis73q0s3fgmf65fmh0rr3ryljvzp6sq"; depends=[]; };
+bootES = derive { name="bootES"; version="1.01"; sha256="00y901d5cjdpzras5w6mv851h5zgp36m5ib6dazs4vqrfpqymva8"; depends=[boot]; };
+bootLR = derive { name="bootLR"; version="0.9"; sha256="0p4hq8nfdd8jw8r8dmlb6va4g7jjnkbsah69hissa9lqawbj9pi7"; depends=[boot]; };
+bootRes = derive { name="bootRes"; version="1.2.3"; sha256="0bb7w6wyp9wjrrdcyd3wh44f5sgdj07p5sz5anhdnm97rn1ib6dz"; depends=[]; };
+bootSVD = derive { name="bootSVD"; version="0.1"; sha256="1rzwp8kadyc0dg6lscag586xliapp1ninz7qxczl8jmxa9sx9z89"; depends=[]; };
+bootStepAIC = derive { name="bootStepAIC"; version="1.2-0"; sha256="0p6v4zjsaj1p6c678010fazdh40lpv0rvhczd1halj8aic98avdx"; depends=[MASS]; };
+bootnet = derive { name="bootnet"; version="0.1"; sha256="18bx0za81z8za0hswj1qwl7a721xbvfpjz0hsih7glf6n5hn0cyp"; depends=[ggplot2 IsingFit qgraph dplyr gtools corpcor]; };
+bootruin = derive { name="bootruin"; version="1.2-1"; sha256="1ii1fcj8sn9x82w23yfzxkgngrgsncnyrik4gcqn6kv7sl58f4r3"; depends=[]; };
+bootspecdens = derive { name="bootspecdens"; version="3.0"; sha256="0hnxhfsc3ac4153lrjlxan8xi4sg1glwb5947ps6pkkyhixm0kc1"; depends=[MASS]; };
+bootstrap = derive { name="bootstrap"; version="2015.2"; sha256="1h068az4sz49ysb0wcas1hfj7jkn13zdmk087scqj5iyqzr459xf"; depends=[]; };
+boottol = derive { name="boottol"; version="2.0"; sha256="01dps9rifzrlfm4lvi7w99phfi87b7khx940kpsr4m9s168a2dzv"; depends=[boot plyr]; };
+boral = derive { name="boral"; version="0.6"; sha256="0ldd5slj90xsch498brll6sjbl6j8fb6a28vfciykr2364mgmahp"; depends=[coda R2jags mvtnorm fishMod MASS]; };
+boss = derive { name="boss"; version="2.1"; sha256="1knsnf19b1xvvq20pjiv56anbnk0d51aq6z3ikhi8y92ijkzh0y8"; depends=[lme4 geepack Matrix ncdf]; };
+boussinesq = derive { name="boussinesq"; version="1.0.3"; sha256="1j1jarc3j5rby1wvj1raj779c1ka5w68z7v3q8xhzjcaccrjhzxk"; depends=[]; };
+boxplotdbl = derive { name="boxplotdbl"; version="1.2.2"; sha256="01bvp6vjnlhc4lndxwd705bzlsh7zq0i9v66mxszrcz6v8hb9rwi"; depends=[]; };
+bpca = derive { name="bpca"; version="1.2-2"; sha256="05ldz6b2s379mymj8jzvia9x6gj047gwsxvnv3zj9x8b1hvndnd6"; depends=[scatterplot3d rgl]; };
+bpcp = derive { name="bpcp"; version="1.2.4"; sha256="06q8zkf7z31ax3pb2xmww3l3axcmhvmgrfri1aikhi7ifgcfc979"; depends=[]; };
+bpkde = derive { name="bpkde"; version="1.0-7"; sha256="1ls6rwmbgb2vzsjn34r87ab8rnz3ls61g6f4x3jpglbk0j91f0h8"; depends=[]; };
+bqtl = derive { name="bqtl"; version="1.0-30"; sha256="1v1p3wvqm5hmwpnjqaz8vlpzm036gpzpxsvy7m0v4x7nc5vrq7g6"; depends=[]; };
+brainR = derive { name="brainR"; version="1.2"; sha256="1515v6kk73p4s3vrnkpkilfxfyqrf7b762sq6j364ygsyfybvh2z"; depends=[rgl misc3d oro_nifti]; };
+brainwaver = derive { name="brainwaver"; version="1.6"; sha256="0r79dpd9bbbn34rm29512srzj3m29qgvbryvrp1mwv8mmcsh6ij6"; depends=[waveslim]; };
+branchLars = derive { name="branchLars"; version="1.0"; sha256="1adk9j77ynv7y8q04nvb468ik4nq4ff3j2nbxw596kgg5bg1ymz0"; depends=[lars]; };
+breakage = derive { name="breakage"; version="1.1-1"; sha256="0zjazyz92criiimpz4wyd4hd8ccspvh3hhqpd4qkfdzdf9wp3kns"; depends=[Imap]; };
+breakaway = derive { name="breakaway"; version="1.0"; sha256="1agigb3b2ff1p9lx9ndz4hs1sgyv1g2zjb41l5p23370i5gk1nbn"; depends=[]; };
+breakpoint = derive { name="breakpoint"; version="1.1"; sha256="07k5d1jn5ahhml2q9ynpmwjm2ckyrr63qj7svh2ziyb41f5v7mfw"; depends=[ggplot2 MASS msm foreach doParallel]; };
+brew = derive { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; };
+brewdata = derive { name="brewdata"; version="0.4"; sha256="1i8i3yhyph212m6jjsij61hz65a5rplxw8y2xqf6daqiisam5q6i"; depends=[RCurl XML stringdist]; };
+brglm = derive { name="brglm"; version="0.5-9"; sha256="14hxjamxyd0npak8wyfmmb17qclj5f86wz2y9qq3gbyi2s1bqw2v"; depends=[profileModel]; };
+bride = derive { name="bride"; version="1.3"; sha256="03k9jwklg1l8sqyjfh914570880ii0qb5dd9l0bg0d0qrghbj0rk"; depends=[]; };
+brnn = derive { name="brnn"; version="0.5"; sha256="0kf2fdgshk8i3jlxjfgpdfq08kzlz3k9s7rdp4bg4lg3khmah9d1"; depends=[Formula]; };
+broman = derive { name="broman"; version="0.48-2"; sha256="0w3fxs753ds2d4vzz7mck3cdjh4d1mjbwdbzqkb2rxdx5l4w2jp8"; depends=[assertthat]; };
+broom = derive { name="broom"; version="0.3.6"; sha256="0z3np7g9yidsyj58y5mnxqzcn6n841pfmxhwbiy2d6sm5i463lmh"; depends=[plyr dplyr tidyr psych stringr]; };
+bshazard = derive { name="bshazard"; version="1.0"; sha256="151c63pyapddc4z77bgkhmd7rsa1jl47x8s2n2s8yc6alwmj6dvs"; depends=[survival Epi]; };
+bspec = derive { name="bspec"; version="1.4"; sha256="1iq66hx4d0f5pvsh6qcsd2kzm913aqil4w66bfshj192fwbfziix"; depends=[]; };
+bspmma = derive { name="bspmma"; version="0.1-1"; sha256="0bd6221rrbxjvabf1lqr9nl9s0qwav47gc56sxdw32pd99j9x5a9"; depends=[]; };
+bst = derive { name="bst"; version="0.3-4"; sha256="1s7qv2q9mcgg1c5mhblqg3nk9hary4pq6z0xgi3a6rs1929mgdyf"; depends=[rpart gbm]; };
+bsts = derive { name="bsts"; version="0.6.1"; sha256="0hs2inbwwpafpcr6y51qnmxms121z8cy8mil6acjfhrfc27f1msd"; depends=[BoomSpikeSlab zoo xts Boom Boom BH]; };
+btf = derive { name="btf"; version="1.1"; sha256="0n1h4hmjpvj97mpvannh3s5l08m4zfv0w64hrgdv4s5808miwfzc"; depends=[Matrix coda Rcpp RcppEigen]; };
+bujar = derive { name="bujar"; version="0.1-4"; sha256="0v48mkg78sy91z1z4xvy2r3xmay74615kzqxjqlclkk20999z56m"; depends=[mda ncvreg mboost gbm earth elasticnet rms]; };
+bursts = derive { name="bursts"; version="1.0-1"; sha256="172g09d1vmwl83xs6gr4gfblqmx3apvblpzdr5d7fcw1ybsx0kj6"; depends=[]; };
+bvarsv = derive { name="bvarsv"; version="1.0"; sha256="0ak4nsrcvhkg0145ax5ib9ljb5yc63zzfxlgvdbrdr4mlri4gsid"; depends=[Rcpp Rcpp RcppArmadillo]; };
+bvenn = derive { name="bvenn"; version="0.1"; sha256="1xrya49w5bd2b7plfxpqla60b2828rkm0rjmc4qnqzvrahsbal0y"; depends=[]; };
+bvls = derive { name="bvls"; version="1.4"; sha256="18aaf7kk5mks3a59wwqhm1ckpn6s704l9m5nzy0x5iw0s98ijbm2"; depends=[]; };
+bvpSolve = derive { name="bvpSolve"; version="1.2.4"; sha256="1ss25md3q59cm40rxw29x9421xjc7gd964hx9xwvx4h8dis34rgd"; depends=[rootSolve deSolve]; };
+c060 = derive { name="c060"; version="0.2-4"; sha256="1yzy0p6041rygqfwzb8dpyc7jq12javmhlvdcmmc7p59bbk7wv3j"; depends=[glmnet survival mlegp tgp peperr penalizedSVM lattice]; };
+c3net = derive { name="c3net"; version="1.1.1"; sha256="0m4nvrs41kmlakc6m203zlncqwgj94wns8kzcb31xngjcacmcq42"; depends=[igraph]; };
+cAIC4 = derive { name="cAIC4"; version="0.2"; sha256="13sp3wywv82wgi1vsbxwn68v9xigy0fi3mcwyxjmmgmnsxns2fza"; depends=[lme4 Matrix]; };
+cOde = derive { name="cOde"; version="0.1"; sha256="1cjp63lya2r82fgjwz8mnzs50x7hyzg87dkm006m76xs1iyv988i"; depends=[]; };
+cSFM = derive { name="cSFM"; version="1.1"; sha256="1znxsqa8xdifmryg7jiqbpzm837n4n862kg5x1aki52crc4zyk3k"; depends=[sn mgcv mnormt MASS moments]; };
+ca = derive { name="ca"; version="0.58"; sha256="10dp261sq56ixrrr8qq4filxpzszcinz5qv50g40dan0k75n7isb"; depends=[]; };
+caTools = derive { name="caTools"; version="1.17.1"; sha256="1x4szsn2qmbzpyjfdaiz2q7jwhap2gky9wq0riah74q0pzz76ank"; depends=[bitops]; };
+cabootcrs = derive { name="cabootcrs"; version="1.0"; sha256="0a6y04jq837k1pk8b9nhgz7rima7s8jid6vdjyfvrqshgaiabg1q"; depends=[]; };
+cacIRT = derive { name="cacIRT"; version="1.3"; sha256="1qd9qw47d9dmxhnva3ik62q5rfcw0pd1ha1y689345nl05wysjkh"; depends=[]; };
+cairoDevice = derive { name="cairoDevice"; version="2.22"; sha256="0j1fsfjzaz0mz6v33v8n2dcbskpafm3mhi5v85phpk3x4s2y84al"; depends=[]; };
+calibrate = derive { name="calibrate"; version="1.7.2"; sha256="010nb1nb9y7zhw2k6d2i2drwy5brp7b83mjj2w7i3wjp9xb6l1kq"; depends=[MASS]; };
+calibrator = derive { name="calibrator"; version="1.2-6"; sha256="1arprrqmczbhc1gl85fh37cwpcky8vvqdh6zfza3hy21pn21i4kh"; depends=[emulator cubature]; };
+calmate = derive { name="calmate"; version="0.12.0"; sha256="1jd1ag1v10bpgkqpf5134av0yc7xph1679q40y541kyr59df0lxw"; depends=[R_utils aroma_core MASS R_methodsS3 R_oo matrixStats R_filesets]; };
+camel = derive { name="camel"; version="0.2.0"; sha256="0krilird8j69zbll96k46pcys4gfkcnkisww138wslwbicl52334"; depends=[lattice igraph MASS Matrix]; };
+cancerTiming = derive { name="cancerTiming"; version="2.0.0"; sha256="0p5hxzhql2rlyx334d8km676va50ql73kxsqjr15q80z7zffyq9d"; depends=[LearnBayes]; };
+candisc = derive { name="candisc"; version="0.6-5"; sha256="0rbmfyhnyaq1j7sql2sgi47ahrggbb71z2z5pw2gg16kd2f465qk"; depends=[car heplots]; };
+cape = derive { name="cape"; version="1.3"; sha256="1qvjbnxydc16mflg1rmgp2kgljcna8vi88w34cs6k12wpgxmvz1f"; depends=[corpcor evd qpcR Matrix igraph fdrtool shape]; };
+caper = derive { name="caper"; version="0.5.2"; sha256="1l773sxmh1nyxlrjz8brnwhwraff826scwixrqmgdciqk7046d35"; depends=[ape MASS mvtnorm]; };
+capm = derive { name="capm"; version="0.7.0"; sha256="00bvrc5km6k9zvlznvqc6gj806fgb3r0x0yrnmxyk21b0acl5g20"; depends=[deSolve FME survey ggplot2 reshape2 shiny rgdal maptools sp]; };
+capushe = derive { name="capushe"; version="1.0"; sha256="0dwxaiqnz0qbsk4icjapklaa9bpjfl4gqvk1f92livy97jmf1r44"; depends=[MASS]; };
+capwire = derive { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; };
+car = derive { name="car"; version="2.0-25"; sha256="1h7fndsypg9jqfc4xlr8aszjgs477jsvvw4lkpgjxrlb4j779yyj"; depends=[MASS mgcv nnet pbkrtest quantreg]; };
+carcass = derive { name="carcass"; version="1.3"; sha256="1psxdxdqlc999xylizj5vg1p1pzyrikg9gjqvpv4k0q9b5h0nrpj"; depends=[lme4 survival expm arm MASS]; };
+cardidates = derive { name="cardidates"; version="0.4.6"; sha256="02ib56fvn2z63sbinhwnlw123y86h6xazbkzw68sa9klqaxv69yl"; depends=[boot pastecs lattice]; };
+care = derive { name="care"; version="1.1.8"; sha256="0r1j2q23rz54rcx528n53m3hmhvb8ndqjpmmzm6j1y6lmixpqh41"; depends=[corpcor]; };
+caret = derive { name="caret"; version="6.0-41"; sha256="0dwh6j1gvyd34my88kykrpifmnj3slp8q1if5vi428hp1p151cz7"; depends=[lattice ggplot2 car reshape2 foreach plyr nlme BradleyTerry2]; };
+caretEnsemble = derive { name="caretEnsemble"; version="1.0.0"; sha256="16qibyx034gi06rs8wnazfdicvrwpdsys3mvgwmb35qgzldqfizy"; depends=[caret caTools pbapply ggplot2 digest plyr lattice gridExtra]; };
+caribou = derive { name="caribou"; version="1.1"; sha256="0ibl3jhvsgjfcva0113z0di9n5n30bs90yz0scckfv1c0pjhn4xd"; depends=[]; };
+caroline = derive { name="caroline"; version="0.7.6"; sha256="1afxxbrd7w628l4pxdmvwbs7mbgxlhnfq3nxk2s93w47gn7r9fp7"; depends=[]; };
+caschrono = derive { name="caschrono"; version="1.4"; sha256="1l9hmsacynh73kh14jrp7a42385v78znn9ll1jchzgkyz2x4dibw"; depends=[forecast Hmisc its timeSeries]; };
+caseMatch = derive { name="caseMatch"; version="1.0.1"; sha256="0r8z0dfhaqc5wmcrd1mgq1bn71h41fhk5q3ihffg0s9qsix4pk7j"; depends=[]; };
+cat = derive { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; };
+catIrt = derive { name="catIrt"; version="0.5-0"; sha256="09010z1q96nbnpys6mybspaqy57lvgd2cvwgnfijzgx3kl87pwnl"; depends=[numDeriv]; };
+catR = derive { name="catR"; version="3.4"; sha256="0rgzcnqp18wb8m7f3m8mm7pv04a1irlknkrsrr4hhnzs0phf06yz"; depends=[]; };
+catdata = derive { name="catdata"; version="1.2.1"; sha256="0fjylb55iw8w9sd3hbg895pzasliy68wcq95mgrh7af116ss637w"; depends=[MASS]; };
+catenary = derive { name="catenary"; version="1.1"; sha256="0khdk61fh8ngr70qf9i2655h5nblj98r8zl724ljv1cjb5x1vphv"; depends=[ggplot2 boot]; };
+cati = derive { name="cati"; version="0.96"; sha256="07vvhar1skcmx0sqkp4bcrrlmb88llqpgg4vmdi4nqhw48kjyjqn"; depends=[nlme ade4 ape e1071 mice rasterVis hypervolume FD geometry vegan]; };
+catnet = derive { name="catnet"; version="1.14.8"; sha256="03y7ddjyra3cjq7savdgickmw82ncx4k01rn752sks6rpl6bjslc"; depends=[]; };
+catspec = derive { name="catspec"; version="0.97"; sha256="1crry0vg2ijahkq9msbkqknljx6vnx2m88bmy34p9vb170g9dbs1"; depends=[]; };
+causaleffect = derive { name="causaleffect"; version="1.0"; sha256="1xg0dczqk10nnybm3i9rcnsqr34y86dngb7p6vl1n7bhxrn580jf"; depends=[igraph XML]; };
+causalsens = derive { name="causalsens"; version="0.1"; sha256="1v72zjplsa073f92qdza1zvwa1fwxlpmh8f6w5z8qcyiwqcbmifr"; depends=[]; };
+cba = derive { name="cba"; version="0.2-14"; sha256="067rm1rfz0rrq8xkzibd81pwvc9rx7ki46bncim4j5ra6i9pn24n"; depends=[proxy]; };
+ccChooser = derive { name="ccChooser"; version="0.2.6"; sha256="1vgp4zhg46hcf9ma2cmwgnfrqkmq1arh0ahyzjpfk3817vh7disc"; depends=[cluster]; };
+ccaPP = derive { name="ccaPP"; version="0.3.0"; sha256="1wj5yij02372xarhvxsnh43v0l6xb2p8rflmskw6x86vpcdqd6zw"; depends=[Rcpp pcaPP robustbase RcppArmadillo Rcpp RcppArmadillo]; };
+cccd = derive { name="cccd"; version="1.04"; sha256="0mhqv9hzvw3w6wp23kvw4py54ij6x9r19b87i97wwgqr5rhhh1f3"; depends=[igraph plotrix proxy]; };
+cccp = derive { name="cccp"; version="0.2-4"; sha256="1hw0xzfdycrnhkym5va430jk1b9ywf7wbm9qyj4a62n210hk4nzc"; depends=[Rcpp Rcpp RcppArmadillo]; };
+cccrm = derive { name="cccrm"; version="1.1"; sha256="0q7vxzj3lblz5ddgzm8z99k0b0z194963hx96bbkqm4rv705dgb0"; depends=[nlme gdata]; };
+ccda = derive { name="ccda"; version="1.1"; sha256="0ya9x1b41l0pjyyfdswjyip0c2v8z7gncbj7cdz0486ad75229x7"; depends=[MASS]; };
+ccgarch = derive { name="ccgarch"; version="0.2.3"; sha256="0angffla3sk9i86v6bbsav95fp3mz5yvq7qfv0fx2v0nd2cx116w"; depends=[]; };
+cchs = derive { name="cchs"; version="0.1.0"; sha256="1x6pzwjdcklkbgr1yalijrcj3g56hj6085fh4pzqbm7xkqcj1mi6"; depends=[survival]; };
+cclust = derive { name="cclust"; version="0.6-19"; sha256="11lzzpr65jw7s0419bdy3w7cq97ysvv52ijb1wgqpa48wh1qbqqd"; depends=[]; };
+cda = derive { name="cda"; version="1.5.1"; sha256="09a2jb25219hq6if3bx03lsp94rp2ll9g73dhkdi665y7rlhgqwh"; depends=[dielectric Rcpp statmod randtoolbox reshape2 plyr Rcpp RcppArmadillo]; };
+cdb = derive { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; };
+cdcsis = derive { name="cdcsis"; version="1.0"; sha256="1fxdsaqpjhpffn2fxddfcrx8wxwyvfws6rxkpp57g25980xiyzkd"; depends=[ks]; };
+cds = derive { name="cds"; version="1.0.1"; sha256="1vw8ghvwsrpsq89yc4vjyfcw2wsz9dhqv1nlaqmv9b4wqm8gsb5h"; depends=[MASS limSolve clue colorspace copula]; };
+cec2005benchmark = derive { name="cec2005benchmark"; version="1.0.4"; sha256="0bwv63l31hiy63372nvnyfkpqp61cqjag0gczd2v2iwsy3hyivpd"; depends=[]; };
+cec2013 = derive { name="cec2013"; version="0.1-5"; sha256="07i2vp1x3qaw5di5vr5z70d47hh9174pjckjlhgv0f2w97slwc1i"; depends=[]; };
+celestial = derive { name="celestial"; version="1.2"; sha256="1bwxr37vkgxavl230jmvk1yp3acnkcpc8im10fsxh1nfxys254ap"; depends=[]; };
+cellVolumeDist = derive { name="cellVolumeDist"; version="1.3"; sha256="00hq3nbfbnmg2lhrqd0glkh5ld50fv54ll3q6v875d1lgs44sln1"; depends=[minpack_lm gplots]; };
+cem = derive { name="cem"; version="1.1.10"; sha256="0lykr7sksii30nk4z8pvn4bdmvhm5952grrsvb63qblazg3b84qc"; depends=[nlme lattice randomForest combinat]; };
+censNID = derive { name="censNID"; version="0-0-1"; sha256="1ij5ci6nkqf0rq51vyh4jw5sr3y46yndfkjmwl78ppdj66axxir5"; depends=[]; };
+censReg = derive { name="censReg"; version="0.5-20"; sha256="15k7iq4275dyah3r47vgxsx6g6mr7ma53lkv6d1n89bczzys72kx"; depends=[maxLik glmmML sandwich miscTools]; };
+cents = derive { name="cents"; version="0.1-41"; sha256="03ycbd0c8b7danbblaixg6sm7msr9ixkanqswczqa8n2frhjfgj0"; depends=[]; };
+cepp = derive { name="cepp"; version="1.0"; sha256="0lw3qr0vp0qbg2b62abhi1ady1dwig68m4nzqnjnk3lqxzp0fs8f"; depends=[trust randtoolbox]; };
+cfa = derive { name="cfa"; version="0.9-3"; sha256="0pl1mxv6jxn3mvlh75gr8as0daklyr7gkh37fcgmn2bwi973sspy"; depends=[]; };
+cg = derive { name="cg"; version="1.0-2"; sha256="1rgbk4kvjaw4mbqa19hbnhlinqd4bw4fn2znlxr8wfhzj6648cl3"; depends=[Hmisc VGAM MASS lattice survival multcomp nlme]; };
+cgAUC = derive { name="cgAUC"; version="1.2.1"; sha256="172f9rkfhv4xzwpw8izsnsdbcw9p3hvxhh0fd8hzlkil7vskr3k8"; depends=[Rcpp Rcpp]; };
+cgam = derive { name="cgam"; version="1.2"; sha256="14vl608bf223jclaxfb6i7irfn9g2dqp76fhw82j4h7w4l47i1c3"; depends=[coneproj]; };
+cgdsr = derive { name="cgdsr"; version="1.1.33"; sha256="0y8cn386jifg2ilml0cp9cafjxaa0xkvjnja1fgarlyf07k3cpcs"; depends=[R_oo R_methodsS3]; };
+cggd = derive { name="cggd"; version="0.8"; sha256="06z0mrxxc02parn9vkjv89qq4yqmsccsy319fi6c5iarssyvin1r"; depends=[]; };
+cgh = derive { name="cgh"; version="1.0-7.1"; sha256="1fgjz43bgnswlyvrm669x697lybq3jyzz4l8ppgxqwxp4p4d2yqn"; depends=[]; };
+cghFLasso = derive { name="cghFLasso"; version="0.2-1"; sha256="0b1hnjf9g0v47hbz0dy9m6jhcl1ky20yyhhmm8myng2sndcpjsbf"; depends=[]; };
+cghseg = derive { name="cghseg"; version="1.0.2"; sha256="1x7j62aq5c1xj8ss3pys5160y6vny4pa1wvf6xh59ak2zr4xjm9h"; depends=[]; };
+changepoint = derive { name="changepoint"; version="1.1.5"; sha256="090rak3ydlh92w0mpp2sjjx4m9x33clcs77waj20gzxbq38mqdci"; depends=[zoo]; };
+cheb = derive { name="cheb"; version="0.3"; sha256="0vqkdx7i40w493vr7xywjypr398rjzdk5g410m1yi95cy1nk4mc7"; depends=[]; };
+chebpol = derive { name="chebpol"; version="1.3-1367"; sha256="0w1yfnag0sjqjn7g5yn3wd19kkwzcchb491335h70rm360m1kr0y"; depends=[]; };
+checkmate = derive { name="checkmate"; version="1.5.2"; sha256="0sllckm82lxiar3mm3sl4zcf9nhp7x7hfhpz1kiawaxfq7z9436g"; depends=[]; };
+checkpoint = derive { name="checkpoint"; version="0.3.9"; sha256="1qgjma8nbg4gixzj44q4zr24kca1bnznrnksqpjjy58vxi69s61n"; depends=[]; };
+cheddar = derive { name="cheddar"; version="0.1-626"; sha256="16dl267zbqnix739827mvdgchg5xzgz5q14hh8cw2fq089frjlz9"; depends=[]; };
+chemCal = derive { name="chemCal"; version="0.1-34"; sha256="0sn0mhp2d9a9rddfpkiv1pkrmvnv4sy18c1x2ks0lwpaklg78fbs"; depends=[]; };
+chemometrics = derive { name="chemometrics"; version="1.3.9"; sha256="089zlp4ba6yyxjh2p7fcph29lnxyk1gifb44fw7lsslvg19xlgjm"; depends=[rpart class e1071 MASS nnet pcaPP robustbase som lars pls mclust]; };
+chemosensors = derive { name="chemosensors"; version="0.7.8"; sha256="0zphfag0q6zskd301z1dldazzxr2fam6h41cpyivphaxpaljiv0m"; depends=[pls plyr reshape2 ggplot2 LearnBayes quadprog RColorBrewer]; };
+cherry = derive { name="cherry"; version="0.5-10"; sha256="0fs4p5k1lwwlin5fj9z91aw59ybp60phjk293imizg6vpai5h39p"; depends=[bitops lpSolve Matrix]; };
+childsds = derive { name="childsds"; version="0.5"; sha256="1fmisp6k375harjxsyzpwnd8zh3kd7vlhin18q1svfwdjyy9k3xh"; depends=[]; };
+chillR = derive { name="chillR"; version="0.54"; sha256="1qcwspww5nvp6nh26ly6ckqd0jzq4fkq5svjj5a55pvk04xk9frs"; depends=[pls Kendall spam fields]; };
+chipPCR = derive { name="chipPCR"; version="0.0.8-8"; sha256="1wvk16maj5i8wla8djbrdk3bdkirq2jz115gg7cpkfyxg5ig4la9"; depends=[lmtest MASS outliers ptw quantreg Rfit robustbase shiny signal]; };
+chngpt = derive { name="chngpt"; version="2014.12-2"; sha256="1bg2hm5clvq1rj1mnj5fasbwmq0xayj327kwclajami4zcwjwqj5"; depends=[kyotil MASS]; };
+choiceDes = derive { name="choiceDes"; version="0.9-1"; sha256="07nnqqczi9p3cffdijzx14sxhqv1imdakj7y94brlr5mbf5i4fl4"; depends=[AlgDesign]; };
+choplump = derive { name="choplump"; version="1.0-0.4"; sha256="0fn6m3n81jb7wjdji4v04m53gakjfsj3ksm546xxz5zm7prk237s"; depends=[]; };
+chords = derive { name="chords"; version="0.90"; sha256="0wz5glm15615xb3cicc0m34zg78qzng3lpmysswbrfhc8x4kkchh"; depends=[MASS]; };
+choroplethr = derive { name="choroplethr"; version="3.0.0"; sha256="1fj0gklqcr884l42c78crn6f7s5rk336ywlnqqm5ba7kxjs464k5"; depends=[scales Hmisc stringr ggplot2 dplyr R6 acs WDI]; };
+choroplethrAdmin1 = derive { name="choroplethrAdmin1"; version="1.0.0"; sha256="1pnj5155h809sh9mp703y72348mi7mxnwid07kp1s489512ysfwr"; depends=[ggplot2]; };
+choroplethrMaps = derive { name="choroplethrMaps"; version="1.0"; sha256="00dgwikfxm1p1dqz1ybsxj1j8jcmrwa08m2d3zsww2invd55pk7g"; depends=[]; };
+chromer = derive { name="chromer"; version="0.1"; sha256="0fzl2ahvzyylrh4247w9yjmwib42q96iyhdlldchj97sld66c817"; depends=[dplyr httr data_table]; };
+chromoR = derive { name="chromoR"; version="1.0"; sha256="1x11byr6i89sdk405h6jd2rbvgwrcvqvb112bndv2rh9jnrvcw4z"; depends=[haarfisz gdata]; };
+chron = derive { name="chron"; version="2.3-45"; sha256="0jkanbisi1bxh35rg0i6sl82f8r9v8va8mf8hknfvwv7p7n3ddpx"; depends=[]; };
+cin = derive { name="cin"; version="0.1"; sha256="1pwvy5nh5nrnysfqrzllb9fcrpddqg02c7iw3w9fij2h8s2v6kq5"; depends=[]; };
+circlize = derive { name="circlize"; version="0.2.4"; sha256="0zxd8jcim03cg77zxq9dvwlki51s9jhyaycdif7q6qc598lwwjx1"; depends=[GlobalOptions shape]; };
+circular = derive { name="circular"; version="0.4-7"; sha256="1kgis2515c931ir76kpxnjx0cscw4n09a5qz1rbrhf34gv81pzqw"; depends=[boot]; };
+cit = derive { name="cit"; version="1.4"; sha256="0axmi41bydkj512jscil9mqz9g6f11khl8hi6fci96wnm9x8gw7s"; depends=[]; };
+citbcmst = derive { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; };
+citccmst = derive { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; };
+cjoint = derive { name="cjoint"; version="1.0.3"; sha256="0f9yh4rbgqlx12vx336isfxc3lnrl5sgbapld0qfkv93p26in9h6"; depends=[sandwich lmtest ggplot2]; };
+clValid = derive { name="clValid"; version="0.6-6"; sha256="1l9q7684vv75jnbymaa10md13qri2wjjg7chr1z1m0rai8iq3xxw"; depends=[cluster class]; };
+cladoRcpp = derive { name="cladoRcpp"; version="0.14.4"; sha256="0d4vl7xrrwbhhx56ymw52rb5svw9nskxdya4dl04lw1qxc45p4jy"; depends=[Rcpp Rcpp RcppArmadillo]; };
+class = derive { name="class"; version="7.3-12"; sha256="14baglhxk8xv3857s9b0immizh7sakk3spa5s4v28ysh7i94wx6i"; depends=[MASS]; };
+classGraph = derive { name="classGraph"; version="0.7-4"; sha256="08cid5bdbciyijlzkx3684gx0cyzcj8myawf4dhcrz00jqrg8v60"; depends=[]; };
+classInt = derive { name="classInt"; version="0.1-22"; sha256="0r9940bv6n43i6vlcgc19bvmcv3zlw0bi9zfs3scvah68rdb7v7l"; depends=[e1071 class]; };
+classifly = derive { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; };
+classify = derive { name="classify"; version="1.3"; sha256="0134h12h6v06d7ldj9qgqjhh5f5ap98pvr0v6d4k8dqndnn0pggy"; depends=[Rcpp plyr ggplot2 lattice R2jags reshape2 Rcpp]; };
+classyfire = derive { name="classyfire"; version="0.1-2"; sha256="0rar3mi2m1wf14lmahjbpdh1jlnisvgsbx86xbqlb8c0f8zfzxq3"; depends=[snowfall e1071 boot neldermead ggplot2 optimbase]; };
+clere = derive { name="clere"; version="1.1"; sha256="1jna5dqy47mldd557qxl7vr59v5lalhligvm3c4k6b2dfararhfr"; depends=[Rcpp Rcpp RcppEigen]; };
+clhs = derive { name="clhs"; version="0.5-4"; sha256="0535mpl1dbm9ij1dvj8dsmv4fickdg47by1mvf71lgfk5mjxy5nc"; depends=[ggplot2 sp raster reshape2 plyr scales]; };
+clickstream = derive { name="clickstream"; version="1.1.3"; sha256="0vhwhklyxpirza6j7cq8rcv7mli2w1pkvld70ih8i1xb1dx3y19x"; depends=[igraph plyr reshape2 Rsolnp]; };
+clifro = derive { name="clifro"; version="2.4-0"; sha256="1bjsfk4m7hgq8k1mw07zx34ibgmpxjw8sig9jjzsr5mp3v13kwp8"; depends=[lubridate XML selectr RCurl ggplot2 scales RColorBrewer reshape2]; };
+climdex_pcic = derive { name="climdex.pcic"; version="1.1-5.1"; sha256="0sq5l5dmnwbq9y6zfrq7zp81c8bmxwkvl7y9iq6wi3qcr78ga6zy"; depends=[PCICt caTools Rcpp]; };
+clime = derive { name="clime"; version="0.4.1"; sha256="0qs9i7cprxddg1cmxhnmcfhl7v7g1r519ff2zfipxbs59m5xk9sf"; depends=[lpSolve]; };
+climwin = derive { name="climwin"; version="0.0.1"; sha256="1ajkqk6lj2d8gx7arkwrznrkrjvdc5g9789vwaawwczbdavyi8kd"; depends=[ggplot2 gridExtra evd lme4 lubridate MuMIn reshape]; };
+clinUtiDNA = derive { name="clinUtiDNA"; version="1.0"; sha256="0x3hb09073gkh60fc8ia0sfk948sm6z6j8sqkz275k4m8ryrabas"; depends=[]; };
+clinfun = derive { name="clinfun"; version="1.0.9"; sha256="1igj48kp8898inxp6ynz0sgrc54s6k8whzgf5d349z4dn2jvizsb"; depends=[mvtnorm]; };
+clinsig = derive { name="clinsig"; version="1.0-5"; sha256="1jb2qk6hfvms85whymrfpgvjp8pv33fbllpl8jg80yg1ppmg2jcg"; depends=[]; };
+clogitL1 = derive { name="clogitL1"; version="1.4"; sha256="0m9yrg9mzzfv5qkdf6w55xyrjdghyrf27kk7b4x2gyvwvi5b7dkm"; depends=[Rcpp Rcpp]; };
+cloudUtil = derive { name="cloudUtil"; version="0.1.10"; sha256="1j86vpd4ngrdpfjk44wb1mp0l88dxia64pjd2idfcd276giplh6s"; depends=[]; };
+clpAPI = derive { name="clpAPI"; version="1.2.6"; sha256="1kgzmzf87b0j43ch21anmm2d73bj2d16slmyavpbkdwg72dg1sjb"; depends=[]; };
+clue = derive { name="clue"; version="0.3-49"; sha256="1gz9imirwlvmvzn9j0rmdrrax2girf78xfrxw6mrhal66g48bsrj"; depends=[cluster]; };
+clues = derive { name="clues"; version="0.5.6"; sha256="1g0pjj4as5wfc7qr3nwkzgxxxp3mrdq7djn8p8qjba6kcdjxak1i"; depends=[]; };
+clustMD = derive { name="clustMD"; version="1.0"; sha256="1i3c790k300a7y5xhqanp8f1bid2q3a0ajwgf5qsr6dv3ld4h7vj"; depends=[tmvtnorm mvtnorm truncnorm MASS mclust msm]; };
+cluster = derive { name="cluster"; version="2.0.1"; sha256="09l2vydyabk7x19bblxbjm68vnmifz46m5k3csb1snpbhq6qx52c"; depends=[]; };
+cluster_datasets = derive { name="cluster.datasets"; version="1.0-1"; sha256="0i68s9305q08fhynpq24qnlw03gg4hbk4184z3q3ycbi8njpr4il"; depends=[]; };
+clusterCrit = derive { name="clusterCrit"; version="1.2.4"; sha256="150iq5gp5czb8m7niyi294jjy3dbfpwccgak7scahd5kz2vs07c7"; depends=[]; };
+clusterGeneration = derive { name="clusterGeneration"; version="1.3.4"; sha256="1ak8p2sxz3y9scyva7niywyadmppg3yhvn6mwjq7z7cabbcilnbw"; depends=[MASS]; };
+clusterGenomics = derive { name="clusterGenomics"; version="1.0"; sha256="127hvpg06is4x486g1d5x7dfkrbk7dj35qkds0pggnqxkq3wsc1c"; depends=[]; };
+clusterPower = derive { name="clusterPower"; version="0.5"; sha256="1g2qpvizyk4q3qlgvar436nrfqxwp5y8yi2y6rch9ak5mbg3yzqb"; depends=[lme4]; };
+clusterRepro = derive { name="clusterRepro"; version="0.5-1.1"; sha256="0vsf6cq6d51a4w23ph8kdz2h8dfpzyd6i85049p2wakn1kdvkz5p"; depends=[]; };
+clusterSEs = derive { name="clusterSEs"; version="1.2"; sha256="0ykfwvibps20w62xrdj4cr6w63gig3dyjmdq8m937g8qsmhd74lz"; depends=[sandwich lmtest mlogit]; };
+clusterSim = derive { name="clusterSim"; version="0.44-2"; sha256="1xf3byri6mwlf89n896bxffmf3c6yqqh992npg9sqznx955hcggv"; depends=[cluster MASS ade4 e1071 rgl R2HTML]; };
+clusterfly = derive { name="clusterfly"; version="0.4"; sha256="0mxpn7aywqadyk43rr7dlvj0zjcyf4q7qbqw5ds38si7ik34lkrg"; depends=[rggobi e1071 reshape2 plyr RGtk2]; };
+clustergas = derive { name="clustergas"; version="1.0"; sha256="1vf4czpwk71yxd26vm5sal0ml20ssjrq4bmk31yzxydpxn495fg8"; depends=[cluster]; };
+clusteval = derive { name="clusteval"; version="0.1"; sha256="1ld0bdl4fy8dsfzm3k7a37cyxc6pfc9qs31x4pxd3z5rslghz7rj"; depends=[mvtnorm Rcpp Rcpp]; };
+clustrd = derive { name="clustrd"; version="0.1.2"; sha256="022lzp1wvbaa20d8hribgq9miy6i7jxm5m1p3p52h9b7bzga3q6g"; depends=[corpcor e1071 ggplot2 irlba]; };
+clustsig = derive { name="clustsig"; version="1.1"; sha256="0n5nf712vsa8zb0c2lv4gjqsgva62678vjngr9idgswb73shxm8v"; depends=[]; };
+clustvarsel = derive { name="clustvarsel"; version="2.1"; sha256="0sj9065s604sjzmlziak9xxl0xhplmp1g3d5dl9smwf2x8bb80mw"; depends=[mclust BMA foreach iterators]; };
+clv = derive { name="clv"; version="0.3-2.1"; sha256="1qgp2qhblg6ysyrlg0ad169ahwhcyn5pvsqzdlqj700y1k7wl7mc"; depends=[cluster class]; };
+cmaes = derive { name="cmaes"; version="1.0-11"; sha256="1hwf49d1m660jdngqak9pqasysmpc4jcgr8m04szwbyzyy6xrm5k"; depends=[]; };
+cmm = derive { name="cmm"; version="0.8"; sha256="1661v2lzxgf4s37wdsrnbsvqwppcr7mbp70i1xsysfzki1z6xr19"; depends=[]; };
+cmprsk = derive { name="cmprsk"; version="2.2-7"; sha256="1imr3wpnj4g57n2x4ryahl4lk8lvq9y2r7319zv3k82mznha8bcm"; depends=[survival]; };
+cmprskQR = derive { name="cmprskQR"; version="0.9.0"; sha256="1vnrfhlmmyamkpd8lsfznfpcq0mspkiwn3j23yj4sarfx5n32s9a"; depends=[survival quantreg]; };
+cmrutils = derive { name="cmrutils"; version="1.2-2"; sha256="0gc4sx8g9364sybmrqdjdvddqjd9ps6v205kaw0nqdx30xn96hmm"; depends=[chron]; };
+cmvnorm = derive { name="cmvnorm"; version="1.0-1"; sha256="00cm7zfxbc5md3p6sakan64a6rzz7nbq0bqq9ys2iyxpilxalj3m"; depends=[emulator elliptic]; };
+cna = derive { name="cna"; version="1.0-2"; sha256="06q335jr4kdydk79s8f1fg67wflhcb5ngl6gk1fqb096zkmhszxf"; depends=[]; };
+cncaGUI = derive { name="cncaGUI"; version="0.0-2"; sha256="0iwsaqqnh142syag91rzwwsc9n2qiw4xh5x1gjsgc74ywdm4g5fz"; depends=[rgl tcltk2 tkrplot]; };
+coalescentMCMC = derive { name="coalescentMCMC"; version="0.4-1"; sha256="0xxv1sw5byf84wdypg5sfazrmj75h4xpv7wh4x5cr9k0vgf80b3s"; depends=[ape coda lattice Matrix phangorn]; };
+coarseDataTools = derive { name="coarseDataTools"; version="0.6-2"; sha256="1nnh61kfw294cxawz9i8yf37ddzsn5s532vvkaz0ychk0390wmi5"; depends=[MCMCpack]; };
+cobs = derive { name="cobs"; version="1.3-0"; sha256="1aly7ir7vzir9wnbhyfbrkl7dbq68f79jwxhqrfpf0v2m5kxhz88"; depends=[SparseM quantreg]; };
+cobs99 = derive { name="cobs99"; version="0.9-12"; sha256="0zd0nyw8ma7k90i1k3ryn6qcb6yivrrajc6nmdh4f95ihvhc9ksm"; depends=[]; };
+cocor = derive { name="cocor"; version="1.1-0"; sha256="1qmpgs9krbyvr8803r4y0gxwz2wl5frkzyxaa9756q27bw2igyrp"; depends=[]; };
+cocorresp = derive { name="cocorresp"; version="0.2-3"; sha256="0r1kmcwnf476xbw7r40r3vbn6l1zgmaiq6cpgrvnyss7i5313q8s"; depends=[vegan]; };
+cocron = derive { name="cocron"; version="1.0-0"; sha256="190kfv7haybi7s33bqf8dd3pcj8r6da20781583rrq6585yqh4g6"; depends=[]; };
+coda = derive { name="coda"; version="0.17-1"; sha256="1qjsqf4xi6xii60dscn577gmhqgbm525cgg67ax5mhs7il7br26f"; depends=[lattice]; };
+codadiags = derive { name="codadiags"; version="1.0"; sha256="1x243pn6qnkjyxs31h1hxy8x852r0fc952ww77g40qnrk8qw79xg"; depends=[coda]; };
+codep = derive { name="codep"; version="0.4-1"; sha256="1jkd6k80d6vyriwmq1car5zjms304zrdrfbjib664zxzx1wadf8z"; depends=[]; };
+codetools = derive { name="codetools"; version="0.2-11"; sha256="1mal1xa7san28l6rssvanndsgm90qhvbskz840ybfwwix8bqnbmh"; depends=[]; };
+coefficientalpha = derive { name="coefficientalpha"; version="0.3.3"; sha256="1r38jlcl3z16xc410bcgcw1ck6nnby1mqwx5sk6g0lm3jbjcka57"; depends=[rsem lavaan]; };
+coefplot = derive { name="coefplot"; version="1.2.0"; sha256="1v6c3fk2wrjgs3b31vajmig6dvmp5acfm72wh0iffpg0qgvf5hh7"; depends=[ggplot2 plyr reshape2 useful scales proto]; };
+coenocliner = derive { name="coenocliner"; version="0.1-0"; sha256="0hys1a4ai09pax5ydcaq39ll3rdjzyhgvz72z0iv9fwv4fbmwbr9"; depends=[]; };
+coexist = derive { name="coexist"; version="1.0"; sha256="15ydhrx996i6caa0360c2bgn2zvgwfg5wdhsqq1gvrggs15w7nml"; depends=[]; };
+coin = derive { name="coin"; version="1.0-24"; sha256="1h1d6pi957qkmlk2j8f280sc6jkg328wnyxjk43yxj2zwmdnmgpd"; depends=[survival modeltools mvtnorm]; };
+cold = derive { name="cold"; version="1.0-3"; sha256="17nlqhp5415m8wjkb2ykmk1q3lgw1aycf85b6byl8p06bfrvmw2p"; depends=[]; };
+coloc = derive { name="coloc"; version="2.3-1"; sha256="1j3m9afpkm0bzib38yqvk85b6s6l56s6j2ni96gii4a06r87ig60"; depends=[colorspace MASS BMA]; };
+colorRamps = derive { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; };
+coloredICA = derive { name="coloredICA"; version="1.0.0"; sha256="1xj4dsrwgqzm2644nk3y8nj47m036b4ylh6v60jccj3707spb32r"; depends=[MASS]; };
+colorfulVennPlot = derive { name="colorfulVennPlot"; version="2.4"; sha256="01b3c060fbnap78h9kh21v3zav547ak2crdkvraynpd2096yk51w"; depends=[]; };
+colorspace = derive { name="colorspace"; version="1.2-6"; sha256="0y8n4ljwhbdvkysdwgqzcnpv107pb3px1jip3k6svv86p72nacds"; depends=[]; };
+colortools = derive { name="colortools"; version="0.1.5"; sha256="0z9sx0xzfyb5ii6bzhpii10vmmd2vy9vk4wr7cj9a3mkadlyjl63"; depends=[]; };
+colourlovers = derive { name="colourlovers"; version="0.1.4"; sha256="1c5g9z7cknn4z1jqb0l1w8v5zj0qbk4msaf1pqfcx9a70pw8s0m5"; depends=[XML RJSONIO png]; };
+comato = derive { name="comato"; version="1.0"; sha256="03jnvv0sczy13r81aljhj9kv09sl5hrs0n5bn3pdi7ba64zgbjiw"; depends=[igraph Matrix lattice gdata XML cluster clusterSim]; };
+combinat = derive { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; };
+comclim = derive { name="comclim"; version="0.9.4"; sha256="0m6ynccscsrrq70p0drwrwxp4skc630kv1l5smh48pi8kagahj1g"; depends=[]; };
+commandr = derive { name="commandr"; version="1.0.1"; sha256="1d6cha5wc1nx6jm8jscl7kgvn33xv0yxwjf6h3ar3dfbvi4pp5fk"; depends=[]; };
+commentr = derive { name="commentr"; version="0.1"; sha256="0kyi7xd2f2b1avk78bmkbagyjqwwx21hca670n38k1a28kvnjpix"; depends=[stringr]; };
+compHclust = derive { name="compHclust"; version="1.0-2"; sha256="1h39krvz516xwsvn5987i1zbzan8vx2411qz6dad112hpss0vyk9"; depends=[]; };
+compactr = derive { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; };
+compare = derive { name="compare"; version="0.2-5"; sha256="073apjmw5hwslhnjwhff0m8lwszv29n6vbqy0wxl39pyzg7q2x41"; depends=[]; };
+compareC = derive { name="compareC"; version="1.3.1"; sha256="0dachfr23lps2jj1y5gc958k54vskmww84gdgk4amihsdgjsnphg"; depends=[]; };
+compareGroups = derive { name="compareGroups"; version="3.0"; sha256="0dgh72virrx9bwls5z9wbdh8rk0q1i08pmyh7wma532mx0yv8mzq"; depends=[Hmisc gdata xtable SNPassoc survival epitools HardyWeinberg]; };
+compareODM = derive { name="compareODM"; version="1.2"; sha256="019hq8j56asjvh4x1p65785mf38xr05j3by0749gl9k9yl8645da"; depends=[XML]; };
+comparison = derive { name="comparison"; version="1.0-4"; sha256="0pc462rhk8gr8zrf08ksi315kmhydlp027q5gd40ap5mmhk7rd82"; depends=[isotone]; };
+compeir = derive { name="compeir"; version="1.0"; sha256="1bb5459wcqpjic2b9kjn0l0qdn7sqmmx34hdb2aqg80q22mhx5dv"; depends=[lattice etm]; };
+compendiumdb = derive { name="compendiumdb"; version="0.1.0"; sha256="1dvgkbrsj2fw3mr454mfqhjcz0lbhvz848hgj1ld76p10zhs2vyk"; depends=[RMySQL]; };
+complmrob = derive { name="complmrob"; version="0.5.8"; sha256="0hhn6w8kvwzs2qflqf8qiqac0n93pi4rkbh8idbcfn8shkhnjzjs"; depends=[robustbase ggplot2 boot scales]; };
+compoisson = derive { name="compoisson"; version="0.3"; sha256="0v5dl7xydqi4p97nipn4hyhpq2gghmx81ygvl0vc8b65jhq89y0p"; depends=[MASS]; };
+compositions = derive { name="compositions"; version="1.40-1"; sha256="1hn139g86bc1q3dj6kj9f21042v4x0xgrp4ni1zvx1zx8xmy3h8b"; depends=[tensorA robustbase energy bayesm]; };
+compound_Cox = derive { name="compound.Cox"; version="1.4"; sha256="08sdkq040zk9mb1lcy4nm32gwab26vaig8brp2n3aizagx9fv3r9"; depends=[numDeriv survival]; };
+compute_es = derive { name="compute.es"; version="0.2-4"; sha256="1b5i8z66zbag0vdv98mmpwmizpm68vc3ajh0n3q94zdcmhcbx12d"; depends=[]; };
+concor = derive { name="concor"; version="1.0-0.1"; sha256="0hjyvi6p16cyrmq0bq7fph1r5f3adp7zpf123wkm5bkjnc5122k0"; depends=[]; };
+concreg = derive { name="concreg"; version="0.5"; sha256="0psvnirl5rqicyzxs9sivh23bzzwdgviqczdl2in2gnrvdiw7m6f"; depends=[survival]; };
+cond = derive { name="cond"; version="1.2-3"; sha256="0y7m7valk7zn40y62348czmdvfkx59il9sl6wy565lzqfiimd9ps"; depends=[statmod survival]; };
+condGEE = derive { name="condGEE"; version="0.1-4"; sha256="0mqj2pc91n8h3arpd4b9f7ndbcnai21c67is22qg22wj7vhhs87h"; depends=[numDeriv rootSolve]; };
+condMVNorm = derive { name="condMVNorm"; version="2015.2-1"; sha256="04563jljnjhbiaiq33gn5dxjfvv05xp3lhl3w942v0smy0cdhrh4"; depends=[mvtnorm]; };
+condmixt = derive { name="condmixt"; version="1.0"; sha256="05q1fj7akf6lsq9rbcqqkzlx82jvk6mlvmwx6jzk8j228fwqmg90"; depends=[evd]; };
+coneproj = derive { name="coneproj"; version="1.5"; sha256="1xk6v5hp5v5hcxnl8fhb9ccv343yjpswrgm65p4046sw0b764pny"; depends=[Rcpp RcppArmadillo Rcpp]; };
+conf_design = derive { name="conf.design"; version="2.0.0"; sha256="06vdxljkjq1x56xkg041l271an1xv9wq79swxvzzk64dqqnmay51"; depends=[]; };
+confidence = derive { name="confidence"; version="1.1-0"; sha256="11y2mjh9ykmsgf6km6f2w5rql1vqwick4jzmxg5gkfkiisvsq1cp"; depends=[knitr markdown plyr xtable ggplot2]; };
+conformal = derive { name="conformal"; version="0.1"; sha256="0syb1p35r6fir7qimp2k51hpvl3xw45ma2hi7qz2xzw8cwhlii3a"; depends=[caret ggplot2 randomForest e1071]; };
+confreq = derive { name="confreq"; version="1.3"; sha256="0dxd7zdcrgj95f4x19izysqjixgpwi1xx752bwdc28d7h1ds2ym5"; depends=[gmp]; };
+conics = derive { name="conics"; version="0.3"; sha256="06p6dj5dkkcy7hg1aa7spi9py45296dk0m6n8s2n3bzh3aal5nzq"; depends=[]; };
+conjoint = derive { name="conjoint"; version="1.39"; sha256="0f8fwf419js9c292i3ac89rlrwxs2idhwxml1qd8xd2ggwfh6w5m"; depends=[AlgDesign clusterSim]; };
+constrainedKriging = derive { name="constrainedKriging"; version="0.2.3"; sha256="1hppfc0pv0jphmj7pip1cn65sfrcwvnpymlvpyp7sbn3nmy2qqrb"; depends=[sp spatialCovariance rgeos RandomFields]; };
+contfrac = derive { name="contfrac"; version="1.1-9"; sha256="16yl96bmr16a18qfz6y5zf7p02ky1jy2iimcb1wp50g7imlcq840"; depends=[]; };
+conting = derive { name="conting"; version="1.5"; sha256="02vkpzdcwsny40jdcxgjfrx89lw1gq864s3fgswa9bfxfps9p58h"; depends=[mvtnorm BMS gtools tseries coda]; };
+contrast = derive { name="contrast"; version="0.19"; sha256="1kc3scz3msa52lplc79mmn4z99kq1p2vlb18wqxa9q2ma133x6pl"; depends=[rms]; };
+convevol = derive { name="convevol"; version="1.0"; sha256="05nhpndixvrmiq5paswj7qwsq3k3al34q3j751bic4kb8zhby3fk"; depends=[ape geiger MASS phytools cluster]; };
+cooccur = derive { name="cooccur"; version="1.2"; sha256="0v26aa6j77dmm7pdij4qaz03mxn69aa71rw6n5yl3b9qb0w4k81z"; depends=[reshape2 gmp ggplot2]; };
+cooptrees = derive { name="cooptrees"; version="1.0"; sha256="0izvwna1jsqik3v5fz1r4c86irvma42clw0p4rdvwswv5pk698i1"; depends=[igraph optrees gtools]; };
+copBasic = derive { name="copBasic"; version="1.7.1"; sha256="0qhrazzsrc429z9fsbqklvwdfgn65adck51vp74jijjd0p6pki4s"; depends=[lmomco]; };
+copCAR = derive { name="copCAR"; version="1.0"; sha256="0rq432w959p7drx73vsrdh5dhi2wy7dsjhhb4nh9wm36kkzki5ca"; depends=[numDeriv Rcpp spam Rcpp RcppArmadillo]; };
+cope = derive { name="cope"; version="0.1"; sha256="1g00dzy99m4212wrkhmqf8ibmilhp75hd2yv7yfzi28nr5jgir3m"; depends=[maps fields MASS mvtnorm]; };
+copula = derive { name="copula"; version="0.999-13"; sha256="0yjy03wn6lsiacfh7qblspklxc9kfwd3g7bz2fx2ldkd90rwhmqp"; depends=[Matrix lattice gsl ADGofTest stabledist mvtnorm pspline]; };
+copulaedas = derive { name="copulaedas"; version="1.4.1"; sha256="1xs02s91la4i1x1zs8k5gfvd9jhs2zqhv58431p1j3spfapzf2rc"; depends=[copula vines mvtnorm truncnorm]; };
+corHMM = derive { name="corHMM"; version="1.15"; sha256="1f1qq8fnnx68mpfj863pml4xynxsl21f9r1qqv7yfrx14daki4a0"; depends=[ape nloptr expm numDeriv corpcor phangorn rgenoud]; };
+corTools = derive { name="corTools"; version="1.0"; sha256="0arvqk2xp19ap73zmdk0kb1fycb3v2mf65b4bhanvcqwr4kg4vdk"; depends=[]; };
+corclass = derive { name="corclass"; version="0.1"; sha256="02mxypdrjwf8psk0j9ggbw14889a87c6lw11qki3s3biq52qsx3y"; depends=[igraph]; };
+corcounts = derive { name="corcounts"; version="1.4"; sha256="0irlx62ql5rp5s7nnjdy6jh723wl4039wn10zxri8ihxwqsyyz3f"; depends=[]; };
+coreTDT = derive { name="coreTDT"; version="1.0"; sha256="14rnh61gk3m6g8rq77hm9ybds0px15di2mxm3jiyfdfynx5ng58f"; depends=[]; };
+corpcor = derive { name="corpcor"; version="1.6.7"; sha256="1vfzi17vkvzbqgzhmpdhybb6lli0z9vm9p31cwb8bn8ddlkn5ll4"; depends=[]; };
+corpora = derive { name="corpora"; version="0.4-3"; sha256="0zh8mabfy9yqgx7asi4yqv4c0kj59yvyxxaxjgdjy5kkr17zd4g4"; depends=[]; };
+correlate = derive { name="correlate"; version="1.0"; sha256="0hv0i928f49p8n78hd3bcx923l2x0zcs4kwj71ph8gm7s8540fhc"; depends=[]; };
+corrgram = derive { name="corrgram"; version="1.7"; sha256="1zs0i4dhl1c5ms70cmy8cc9qi9y3ssd62brd7jrpagz56sdwwx0k"; depends=[seriation]; };
+corrplot = derive { name="corrplot"; version="0.73"; sha256="0xnlkb8lhdjcc10drym9ymqzvfwa3kvf955y0k66z5jvabzyjkck"; depends=[]; };
+corrsieve = derive { name="corrsieve"; version="1.6-8"; sha256="0ak3j9khcwv5rxbicck2sr260wpmd3xj254y7pdavx2fk0b72yxs"; depends=[]; };
+cosinor = derive { name="cosinor"; version="1.1"; sha256="02nnqg51vq48lzk667cyarnmhcf5mifnsdij7dlgqvz2k4fdq4pl"; depends=[ggplot2 shiny]; };
+cosmoFns = derive { name="cosmoFns"; version="1.0-1"; sha256="0a6xhbgxxnymlvicg99yhgny2lscxcbmvqmy17kxmahdi797dsg6"; depends=[]; };
+cosmosR = derive { name="cosmosR"; version="1.0"; sha256="0w4qywnkgcybgyyhnvvg33amqi2vnkry6iajakyqr1x2hzfpf9sv"; depends=[xlsx]; };
+cosso = derive { name="cosso"; version="2.1-1"; sha256="1wyq27qak0kz4bbzynm24r5ksvb6ddd43h2ykh6m935xck16blyb"; depends=[quadprog Rglpk glmnet]; };
+costat = derive { name="costat"; version="2.3"; sha256="1kqyl89lx1amap9zgrfy1bqnl93kahrksj6yms44yrxr1as2g4nk"; depends=[wavethresh]; };
+cotrend = derive { name="cotrend"; version="1.0"; sha256="0h0y502wqq83wlf9ab1b9rxg1wycvi3sp4lbqfpvy46vgljrjw87"; depends=[xts]; };
+couchDB = derive { name="couchDB"; version="1.3.0"; sha256="153zxi2liv932r7mphhzgxw4wyizh5iyk62ad6x64av31kd2qzsn"; depends=[RCurl bitops httr rjson]; };
+countrycode = derive { name="countrycode"; version="0.18"; sha256="1by3xws2c43ryz4fnlq85yvgnwnvzmvjbd18cafirlwpl6liy2ic"; depends=[]; };
+covLCA = derive { name="covLCA"; version="1.0"; sha256="15jsjrlaws1cqyrwvh4lzbhxkb11jmgpmddg98nfrzmjpczn2iw3"; depends=[Matrix mlogit poLCA]; };
+covRobust = derive { name="covRobust"; version="1.1-0"; sha256="1nvy5cqs4g565qj2hhgk5spr58ps2bhas3i752rf7wvrskb89fk7"; depends=[]; };
+covTest = derive { name="covTest"; version="1.02"; sha256="0p4di8bdjghsq5jd678dprlhiwnxr5piqlx2z7hi2bjjpvvl5657"; depends=[lars glmnet glmpath MASS]; };
+covreg = derive { name="covreg"; version="1.0"; sha256="0v19yhknklmgl58zhvg4szznb374cdh65i7s8pcj2nwrarycwzaq"; depends=[]; };
+coxinterval = derive { name="coxinterval"; version="1.0"; sha256="0x6xnc5wf5sivwn0hd99lmb52wj5swj01r9wrky9f61nji3fjv4v"; depends=[Matrix survival timereg]; };
+coxme = derive { name="coxme"; version="2.2-4"; sha256="186867w9lcx6il2nfa79g4fbljhak2imjn7hcwczmwz7k7sfa4nk"; depends=[survival bdsmatrix nlme Matrix bdsmatrix]; };
+coxphf = derive { name="coxphf"; version="1.11"; sha256="0494szmhc7qp1qynrqf3kmna26h4ams40qr6w7qj4al54mkp0346"; depends=[survival]; };
+coxphw = derive { name="coxphw"; version="3.0.0"; sha256="11pyd09dwkbixjz1riv8rz3jrp1ix6cbn1fw9nm8vnrc19x5lkz5"; depends=[survival]; };
+coxrobust = derive { name="coxrobust"; version="1.0"; sha256="08hp0fz5gfxgs3ipglj6qfr6v63kzxkrzg650bmzabq8dvrxd97q"; depends=[survival]; };
+coxsei = derive { name="coxsei"; version="0.1"; sha256="1agr0gmyy1f2x6yspj04skgpi1drpbc1fcbwhhhjsz1j6c64xagy"; depends=[]; };
+cpa = derive { name="cpa"; version="1.0"; sha256="14kcxayw4cdbjfa6bvfzqp8flwc0sr3hmh2dnr1dfax0hnccd71m"; depends=[]; };
+cpca = derive { name="cpca"; version="0.1.2"; sha256="1pccsjahb1qynnxa0akhfpcmhfmdg4rd1s6pfqrdl7bwbcmq4lqf"; depends=[]; };
+cpk = derive { name="cpk"; version="1.3-1"; sha256="1njmk2w6zbp6j373v5nd1b6b8ni4slgzpf9qxn5wnqlws8801n73"; depends=[]; };
+cplexAPI = derive { name="cplexAPI"; version="1.2.11"; sha256="1rfvq2a561dz3szvrs9s5gsizwwp0b5rn4059v9divzw23clr2a9"; depends=[]; };
+cplm = derive { name="cplm"; version="0.7-2"; sha256="0vwj130r5wbax9ixcn0fdznh1zrr0wq48iivmlymqbhbqajmv8fb"; depends=[coda Matrix biglm ggplot2 minqa nlme reshape2 statmod tweedie Matrix]; };
+cquad = derive { name="cquad"; version="1.0"; sha256="0pfga45lpq5lgw0jbvp5wasj5m6maj2xr00adsab4c0c5rm7x2wf"; depends=[]; };
+crackR = derive { name="crackR"; version="0.3-9"; sha256="18fr3d6ywcvmdbisqbrbqsr92v33paigxfbslcxf7pk26nzn2lly"; depends=[Hmisc evd]; };
+cramer = derive { name="cramer"; version="0.9-1"; sha256="1dlapmqizff911v3jv8064ddg8viw28nq05hs77y5p4pi36gpyw4"; depends=[boot]; };
+crank = derive { name="crank"; version="1.0-7"; sha256="1ni5icg1c9ypvcvcxrr7dcp1zbk4iwyns421rrqsgmpns06s59w6"; depends=[]; };
+crantastic = derive { name="crantastic"; version="0.1"; sha256="0y2w9g100llnyw2qwjrib17k2r2q9yws77mf6999c93r8ygzn4f5"; depends=[]; };
+crawl = derive { name="crawl"; version="1.4-1"; sha256="175w5933h5hhhjnrc0l1kg5q24b8pclnf5sf36gj1pmg8s58d1gp"; depends=[mvtnorm sp raster]; };
+crayon = derive { name="crayon"; version="1.1.0"; sha256="03l7sw6ilr4hmahk921kkq4hlvlscginrq3mw8aypc4wb6y32qhm"; depends=[memoise]; };
+crblocks = derive { name="crblocks"; version="0.9-1"; sha256="1m6yy6jb1dld7m9jaasms5ps8sn3v039jvlk8b0c08hmm7y0rm3z"; depends=[]; };
+crch = derive { name="crch"; version="0.1-0"; sha256="1f4y2dd6lxsryyjjv569bxh1b4ymcnma0m9k7j150anzvkbrgnjn"; depends=[Formula ordinal]; };
+crimCV = derive { name="crimCV"; version="0.9.3"; sha256="1p2cma78fb9a2ckmwdvpb6fc0818xw2mvq565dgiimgkdmmr0iid"; depends=[]; };
+crmn = derive { name="crmn"; version="0.0.20"; sha256="1kl1k1s2gm63f9768cg8w4j6y1gq4hws3i7hdfhj7k9015s0a25p"; depends=[]; };
+crn = derive { name="crn"; version="1.1"; sha256="1fw0cwx478bs6hxidisykz444jj5g136zld1i8cv859lf44fvx2d"; depends=[chron RCurl]; };
+crossReg = derive { name="crossReg"; version="1.0"; sha256="1866jhfnksv9rk89vw7w4gaxi76bxfjvqxx7cfa8nlrcsmaqd7rf"; depends=[]; };
+crossdes = derive { name="crossdes"; version="1.1-1"; sha256="1d7lv3ibq1rwxx8kc3ia6l9dbz2dxdd5pnf2vhhjmwm448iamcfd"; depends=[AlgDesign gtools]; };
+crossmatch = derive { name="crossmatch"; version="1.3-1"; sha256="082lrv2129mfhwlh99z3g8id3a29s8854skl152bl3ig8pk2gbjz"; depends=[survival nbpMatching]; };
+crossval = derive { name="crossval"; version="1.0.2"; sha256="1imqmrr86yr2ml9x8cycnlr7d8yymyyypi87kxqjc32s2r16s0cx"; depends=[]; };
+crp_CSFP = derive { name="crp.CSFP"; version="2.0"; sha256="0ji208hn3zimql0xhy8bl7w0vg40szw28fia7k1f7g9z0wbl9xqp"; depends=[MASS]; };
+crqa = derive { name="crqa"; version="1.0.5"; sha256="0kiw90p89mf207mmky98g2d4l9mnhzi4dy08d810nm16wiqabkw4"; depends=[Matrix tseriesChaos fields pracma]; };
+crrSC = derive { name="crrSC"; version="1.1"; sha256="171cw56q2yv1vb4qd0va75i2q89jcw1126q8pcbv0235g7p2a86z"; depends=[survival]; };
+crrstep = derive { name="crrstep"; version="2015-2.1"; sha256="03vd97prws9gxc7iv3jfzffvlrzhjh0g6kyvclrf87gdnwifyn1z"; depends=[cmprsk]; };
+crs = derive { name="crs"; version="0.15-24"; sha256="08k8vim4n85ll16zpkwbf3riz641kafn699qsg0h746zqzi1kfn7"; depends=[boot np quantreg rgl]; };
+csSAM = derive { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; };
+csampling = derive { name="csampling"; version="1.2-2"; sha256="0gj85cgc3lgv7isqbkng4wgzg8gqcic89768q2p23k4jhhn6xm2w"; depends=[marg statmod survival]; };
+cshapes = derive { name="cshapes"; version="0.4-2"; sha256="015mkh0iwdbhpbk8gpnq48pp026mfidd69rj70arpmg3knd2jvff"; depends=[sp maptools plyr]; };
+cslogistic = derive { name="cslogistic"; version="0.1-3"; sha256="1s8p3qpz81nn6zr0pzw6h9ca3p6ahd8zj640vy5gcb5waqwj6bfj"; depends=[mvtnorm]; };
+csn = derive { name="csn"; version="1.1.1"; sha256="0ns92jqbsc7hnwwkph47mi8z53mj5ygrpys75l9n4d0qmdgpw0nn"; depends=[mnormt]; };
+cstar = derive { name="cstar"; version="1.0"; sha256="1zws4cq5d37hqdxdk86g85p2wwihbqnkdsg48vx66sgffsf1fgxd"; depends=[]; };
+csvread = derive { name="csvread"; version="1.2"; sha256="1zx43g4f4kr7jcmiplzjqk2nw1g5kmmfap85wk88phf6fp0w8l5p"; depends=[]; };
+cts = derive { name="cts"; version="1.0-19"; sha256="16f6nah3w63bz8b9xlhi3a7mpkiywq6gqkxgm5am90g0bqg5j3py"; depends=[]; };
+ctv = derive { name="ctv"; version="0.8-1"; sha256="1fmjhh4vr4vcvqg76dzp1avqappsap5piki1ixahikwbwirxcwvw"; depends=[]; };
+cubature = derive { name="cubature"; version="1.1-2"; sha256="1vgyvygg37b6yhy8nkly4w6p01jsqg2kyam4cn0vvml5vjdlc18a"; depends=[]; };
+cubfits = derive { name="cubfits"; version="0.1-0"; sha256="0iylwxzz2aa70q1xqk8r1rkfiiscj3blwq7dshkwshh91l2fgzfw"; depends=[]; };
+cudaBayesreg = derive { name="cudaBayesreg"; version="0.3-16"; sha256="1xsamdsg4cq7l5r7czkg70j5gypf1dak3h353xfbz3rq0r0dni19"; depends=[cudaBayesregData oro_nifti]; };
+cudaBayesregData = derive { name="cudaBayesregData"; version="0.3-11"; sha256="1cls9xqgps7icjpi1mllkrksdxwc1jfhxgffvrcrqx2l16vw6qfx"; depends=[]; };
+cudia = derive { name="cudia"; version="0.1"; sha256="1ms3bc8sp6l3bm75j418mmb707sy3gyvxznhfias3nd4sw7i074x"; depends=[MCMCpack mvtnorm]; };
+cumSeg = derive { name="cumSeg"; version="1.1"; sha256="01hn3j1i7bi2r9vsqwbgy1f1alcisxyf4316xx57bg82lb34d0s5"; depends=[lars]; };
+cumplyr = derive { name="cumplyr"; version="0.1-1"; sha256="07sz1wryl3kxbk67qyvnkrkdrp4virlsaia0y6rf9bqdw7rc6vi2"; depends=[]; };
+curl = derive { name="curl"; version="0.5"; sha256="1fws0402amazfa9wihgydrwrl19rmhi67shc3r1g8hvzfvax5ham"; depends=[]; };
+currentSurvival = derive { name="currentSurvival"; version="1.0"; sha256="0bqpfwf4v4pb024a98qwg81m6zd7ljg1ps42ifhxpqx7b9gdyi6c"; depends=[survival cmprsk]; };
+curvHDR = derive { name="curvHDR"; version="1.0-3"; sha256="0rq72prxv2r5nicss9mh4wpkfjvlbb885w85ag4qrqijzq6y8q04"; depends=[feature geometry hdrcde ks misc3d ptinpoly rgl]; };
+curvetest = derive { name="curvetest"; version="2.2"; sha256="1lz6rx9fmgyrlci1dyanscp2a18ki9lhrwnrzhp062flysffimg6"; depends=[locfit R_oo R_methodsS3]; };
+cutoffR = derive { name="cutoffR"; version="1.0"; sha256="1801jylmpp4msyf07rhg4153kky1zvi4v0kkjb9d51dc7zkhh531"; depends=[ggplot2 reshape2]; };
+cuttlefish_model = derive { name="cuttlefish.model"; version="1.0"; sha256="1rmkfyfd1323g2ymd5gi1aksp160cwy5ha5cjqh5r6fzd8hhqjxs"; depends=[]; };
+cvAUC = derive { name="cvAUC"; version="1.1.0"; sha256="13bk97l5nn97h85iz93zxazhr63n21nwyrpnl856as9qp59yvn64"; depends=[ROCR data_table]; };
+cvTools = derive { name="cvTools"; version="0.3.2"; sha256="0b7xb6dmhqbvz32zyfbdvm9zjyc59snic6wp1r21ina48hchn3sj"; depends=[lattice robustbase lattice robustbase]; };
+cvplogistic = derive { name="cvplogistic"; version="3.1-0"; sha256="1lm66nn0q7665r64rdslxp35b7drdss4mys42ks54xdydcminns9"; depends=[]; };
+cvq2 = derive { name="cvq2"; version="1.2.0"; sha256="19k95xg2y3wd4mx3wvbrc1invybd446g13vsp3dv05nw2kx4f6w8"; depends=[]; };
+cvxclustr = derive { name="cvxclustr"; version="1.1.1"; sha256="0idmx4wgz4d0b1xzmlq5bsk2f2q38lpf9c117hg97xsfndzn7vqj"; depends=[Matrix igraph]; };
+cwhmisc = derive { name="cwhmisc"; version="5.0"; sha256="0b70ssss48kpjyimwm8hwcx82whg77j40qxaaj4vhhqc8d2bzgd2"; depends=[lattice]; };
+cwm = derive { name="cwm"; version="0.0.3"; sha256="1ln2l12whjhc2gx38hkf3xx26w5vz7m377kv67irh6rrywqqsyxn"; depends=[MASS matlab permute]; };
+cxxfunplus = derive { name="cxxfunplus"; version="1.0"; sha256="0kyy5shgkn7wikjdqrxlbpfl3zkkv4v1p8a1vv0xkncwarjs4n8d"; depends=[inline]; };
+cycloids = derive { name="cycloids"; version="1.0"; sha256="00pdxny11mhfi8hf76bfyhd1d53557wcbl2bqwjzlpw5x3vdnsan"; depends=[]; };
+cyphid = derive { name="cyphid"; version="1.1"; sha256="0ya9w8aw27n0mvvjvni4hxsr4xc8dd08pjxx7zkfl1ynfn5b08am"; depends=[fda]; };
+cytoDiv = derive { name="cytoDiv"; version="0.5-3"; sha256="00c0gqgypywgbhavb15bvj6ijrk4b5zk86w85n9kwr4069b7jvwc"; depends=[GenKern plotrix]; };
+d3Network = derive { name="d3Network"; version="0.5.2.1"; sha256="1gh979z9wksyxxxdzlfzibn0ysvf6h1ij7vwpd55fvbwr308syaw"; depends=[plyr rjson whisker]; };
+dae = derive { name="dae"; version="2.4-0"; sha256="1gf3x751if3g2p7yy8jsvpn612w36mjhkz8qkh0y0kajm0nipzkb"; depends=[ggplot2]; };
+daewr = derive { name="daewr"; version="1.1-4"; sha256="0pmz4721999vf023hpvsf17k5fgqpwnisnwssmav46glhmzl2cyj"; depends=[lattice FrF2 BsMD]; };
+daff = derive { name="daff"; version="0.1.2"; sha256="17ixi2yvh6wxwnhzbg8xsjmxbakh7lyazin5a93q33160vvsiday"; depends=[V8 jsonlite]; };
+dafs = derive { name="dafs"; version="1.0-37"; sha256="1vdi57qaqdn39yf1ih2gzry02l289q4bffpksglsl4shs6bg2206"; depends=[s20x]; };
+dagR = derive { name="dagR"; version="1.1.3"; sha256="13jyhwjvvrjjja18rqzfdcw9ck90qm5yjwd25nygxgdf1894y03b"; depends=[]; };
+dagbag = derive { name="dagbag"; version="1.1"; sha256="1hpg7fs1yhnycziahscymkr0s3a2lyasfpj0cg677va73nrpdz12"; depends=[]; };
+dams = derive { name="dams"; version="0.1"; sha256="0h0chh9ahsfvqhv1a0dfw88q7gdl1d0w11qcw0w4qmc2ipsl52i6"; depends=[RCurl]; };
+darch = derive { name="darch"; version="0.9.1"; sha256="0syrzmmz43msd51whkb4xy5n0kgcl50yw4w3i9sdd9k20glvwpsx"; depends=[futile_logger ff]; };
+darts = derive { name="darts"; version="1.0"; sha256="07i5349s335jaags352mdx8chf47ay41q7b0mh2xjwn2h9kzgqib"; depends=[]; };
+dashboard = derive { name="dashboard"; version="0.1.0"; sha256="1znqwvz49r47lp6q48qaas0s63wclgybav82a247qvcavzns3kip"; depends=[Rook]; };
+data_table = derive { name="data.table"; version="1.9.4"; sha256="0gsnjjly3mxwfs6q0kjr42vr234mprp8kcyzcsa4dqf2ya2gs1s6"; depends=[chron reshape2]; };
+dataQualityR = derive { name="dataQualityR"; version="1.0"; sha256="0f2410sd6kldv7zkqsmbz1js0p5iq7zwlnfwmmnlbrd303p35p3j"; depends=[]; };
+dataRetrieval = derive { name="dataRetrieval"; version="2.1.2"; sha256="0869y5xfxphm5xhd7miyjq5xdjb6qhhd5b9mdbkcfs5ss0a6534x"; depends=[XML RCurl reshape2 lubridate plyr]; };
+datacheck = derive { name="datacheck"; version="1.0.4"; sha256="1ns5cmsvmqswzpa33mqcmj92b4j3l32v29ki3crg0kayrpdmyrbw"; depends=[Hmisc shiny stringr]; };
+dataframes2xls = derive { name="dataframes2xls"; version="0.4.6"; sha256="18m4cbr3pxdn5ynxwd8klwwli3cyfjcn83pl17sn1rbavqlnkq5c"; depends=[]; };
+datalist = derive { name="datalist"; version="0.2"; sha256="0q82wira0sfi63cn66f5cfyd15f19ig7pbmpk56j38a3115l2fmn"; depends=[assertthat]; };
+datamap = derive { name="datamap"; version="0.1-1"; sha256="0qm4zb9ldg4wz1a7paj5ilr1dhyagq81rk9l2v43hmkv52sssgkv"; depends=[DBI]; };
+datamart = derive { name="datamart"; version="0.5.2"; sha256="0c0l157fzkcp30ch4ymaalcx18zhz6sa5srr50w9izhbx3pmldxp"; depends=[RJSONIO XML RCurl base64 gsubfn markdown]; };
+datamerge = derive { name="datamerge"; version="1.0-1"; sha256="03xb48igkh0f91iq6qc2j5xzqfy2n51ci5i850gn09mm9k4lxij1"; depends=[xtermStyle]; };
+datautils = derive { name="datautils"; version="0.1.4"; sha256="0adg87p9rzz62cm0s80x71mhsg3yfg93gskv1hs1l8gaj78zd1y1"; depends=[deldir gplots gtools]; };
+dataview = derive { name="dataview"; version="2.0-9"; sha256="0519h2c33v04vwdd8nz9xmqha15svhxdj761d68qmi52jrw6858d"; depends=[xtermStyle]; };
+date = derive { name="date"; version="1.2-34"; sha256="066zsddpw87x1bhl3479k6fd1wrl3x91n5rd454diwmwq2s8i5qb"; depends=[]; };
+dave = derive { name="dave"; version="1.5"; sha256="0sw9hc4y9wdfbnnk6isg7z7sky6ni68pkjxdlrph5m7jcyqphz96"; depends=[labdsv vegan]; };
+dawai = derive { name="dawai"; version="1.1"; sha256="0icf8iys980z0agyba94xa16400p2vdvg8hg52vvlgfc85ikqfkx"; depends=[mvtnorm ibdreg boot]; };
+db_r = derive { name="db.r"; version="0.1.3"; sha256="1zjsj0rxg9wysl1gzm7ggphd5mi02mj0bn80kmbx1vb7aa7bnxxh"; depends=[DBI rjson RSQLite stringr]; };
+dbConnect = derive { name="dbConnect"; version="1.0"; sha256="1vab5l4cah5vgq6a1b9ywx7abwlsk0kjx8vb3ha03hylcx546w42"; depends=[RMySQL gWidgets]; };
+dbEmpLikeGOF = derive { name="dbEmpLikeGOF"; version="1.2.4"; sha256="0vhpcxy702cp3lvlif2fzmvccys8iy7bv1fbg6ki2l8bvn2f7c5p"; depends=[]; };
+dbEmpLikeNorm = derive { name="dbEmpLikeNorm"; version="1.0.0"; sha256="0h5r2mqgallxf9hin64771qqn9ilgk1kpsjsdj2dqfl3m8zg967l"; depends=[dbEmpLikeGOF]; };
+dbarts = derive { name="dbarts"; version="0.8-5"; sha256="1w170mdfl5qz7dv1p2kqx0wnkmbz2gxh2a4p7vak1nckhz2sgpgn"; depends=[]; };
+dblcens = derive { name="dblcens"; version="1.1.7"; sha256="02639vyaqg7jpxih8cljc8snijb78bb084f4j3ns6byd09xbdwcw"; depends=[]; };
+dbmss = derive { name="dbmss"; version="2.2.0"; sha256="0ngf7l7nsp03jvspa7xfhal2ccaxcvjny5sd5aypfwfgrndrd71z"; depends=[spatstat Rcpp cubature Rcpp]; };
+dbstats = derive { name="dbstats"; version="1.0.4"; sha256="1miba5h5hkpb79kv9v9hqb5p66sinxpqvrw9hy9l5z4li6849yy1"; depends=[cluster pls]; };
+dcGOR = derive { name="dcGOR"; version="1.0.4"; sha256="1vvij7f2vw9xaky32wyr7h1iwcq5m3s2s46kn9vjq1jllw85phgl"; depends=[Matrix igraph dnet]; };
+dcemriS4 = derive { name="dcemriS4"; version="0.51"; sha256="14ir9g4jg8asim8f33wizmvj6vm96583h212yygsa6yc301bhad8"; depends=[oro_nifti]; };
+dclone = derive { name="dclone"; version="2.0-0"; sha256="1j8g955rvdgcmc9vnz3xizlkq8w1bslav5h72igvzzffcvqbj9hq"; depends=[coda]; };
+dcmle = derive { name="dcmle"; version="0.2-4"; sha256="0ddb0x0lwk8jgx05k747sa33d2rrj4g2p4aj0m5bw1c9d5gril0m"; depends=[dclone rjags coda lattice]; };
+dcmr = derive { name="dcmr"; version="1.0"; sha256="1a89wr1n8sykjbwa316zlmcffaysksrqnbd89anxqj8sgw9xv6jq"; depends=[ggplot2 KFAS plyr reshape2 tableplot]; };
+dcv = derive { name="dcv"; version="0.1.1"; sha256="12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj"; depends=[lmtest]; };
+ddalpha = derive { name="ddalpha"; version="1.1.0"; sha256="0kij4s24v4zchlfk4za5373ispapd1yzkp9ld2bwv4w562amnl5w"; depends=[MASS class robustbase Rcpp BH Rcpp]; };
+ddst = derive { name="ddst"; version="1.03"; sha256="0zbqw4qmrh80jjgn8jzbnq3kykj1v5bsg6k751vircc0x9vnig3j"; depends=[orthopolynom evd]; };
+deSolve = derive { name="deSolve"; version="1.11"; sha256="014fbrgzlarg2w27kq9qy7631hvhlf7ldrn5g8x2xibb260832s1"; depends=[]; };
+deTestSet = derive { name="deTestSet"; version="1.1.2"; sha256="142261xjlz6h9vakiks04rz7hgv9b5j6s77acavd5s5mpi51ysh7"; depends=[deSolve]; };
+deal = derive { name="deal"; version="1.2-37"; sha256="1nn2blmxz3j5yzpwfviarnmabbyivc25cbfhcf814avrhpysvpxa"; depends=[]; };
+deamer = derive { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; };
+debug = derive { name="debug"; version="1.3.1"; sha256="0mpwi6sippxyr1l8xf48xqv6qw6pmfkxs13k1gjyd7bkzlbchgqd"; depends=[mvbutils]; };
+decctools = derive { name="decctools"; version="0.2.0"; sha256="0k5w49s9s51m7w1h5adk26nw1ypwv5g1mlal78qmx5a4jzaf5bw9"; depends=[XLConnect stringr XML reshape2 RCurl lubridate plyr]; };
+decode = derive { name="decode"; version="1.1"; sha256="06c6l2s32s1vri51hbnl17sxgkl7x8537prk0zzq6zlqhkwy6j77"; depends=[]; };
+decompr = derive { name="decompr"; version="2.1.0"; sha256="0b24wb2n2g1qf5v60hrazfzy211y1f2v9mkx013msb0a89a7bi45"; depends=[]; };
+decon = derive { name="decon"; version="1.2-4"; sha256="1v4l0xq29rm8mks354g40g9jxn0didzlxg3g7z08m0gvj29zdj7s"; depends=[]; };
+deducorrect = derive { name="deducorrect"; version="1.3-5"; sha256="06lcqnay36fgkzvgbiq7b67r9lfgll3lxfr1pmx14vmivshb6mmm"; depends=[editrules]; };
+deepnet = derive { name="deepnet"; version="0.2"; sha256="09crwiq12wzwvdp3yxhc40vdh7hsnm4smqamnk4i6hli11ca90h4"; depends=[]; };
+degenes = derive { name="degenes"; version="1.1"; sha256="1xxn5j06qizywimrp1pl8z3yjdy1a167b9jnm77gmv87rp6j240c"; depends=[]; };
+degreenet = derive { name="degreenet"; version="1.2"; sha256="07b6phgyydfp8jwjvrqcvcx3b2qhbkr44xkcn20ya1igsbyh6kzz"; depends=[]; };
+deldir = derive { name="deldir"; version="0.1-9"; sha256="0shzyqfqdkbhpf4hcwjjfzzizh6z56iamx2blhj79izg8xkvl2h9"; depends=[]; };
+deltaPlotR = derive { name="deltaPlotR"; version="1.5"; sha256="0hbaibl4b50pg9ypyhz4700w6kir4jiyyl0230a8hjmb92aqn303"; depends=[MASS]; };
+demi = derive { name="demi"; version="1.1.2"; sha256="04dq4db9ibvv91nm0gz8dfbgv1gpmalf9hv6i78dwhh1xzjg1mig"; depends=[R_utils plyr devtools]; };
+deming = derive { name="deming"; version="1.0-1"; sha256="00v59qb6qwbwsvcwi59d0c0g3czfz1190ccj4dx6yarizr4g6cy8"; depends=[boot]; };
+demoKde = derive { name="demoKde"; version="0.9-3"; sha256="1nkvsjms1gfvjz5l7zza0cgx4yqmn2kgnax44pysn0zqmhfny8bw"; depends=[]; };
+demography = derive { name="demography"; version="1.18"; sha256="17r7sz5ikngc4qg495wmn99xawmllpx7rw2gpv8q8bypbc47wlfv"; depends=[forecast rainbow ftsa cobs mgcv strucchange RCurl]; };
+dendextend = derive { name="dendextend"; version="0.18.3"; sha256="1s6bdkibb066yima31sn8ddp8qrwyx2zc84wf2kixs37ynhw1xi1"; depends=[magrittr whisker]; };
+dendextendRcpp = derive { name="dendextendRcpp"; version="0.5.1"; sha256="062f7yjsg196v8c09h6gvbhi0fzgwg40a8xhi751avkjc68z30cq"; depends=[Rcpp dendextend Rcpp]; };
+dendroextras = derive { name="dendroextras"; version="0.2.1"; sha256="0k1w374r4fvfcbzhrgcvklccjggyz755z7wc2vqfi3c5hvdb9ns4"; depends=[]; };
+dendsort = derive { name="dendsort"; version="0.3.2"; sha256="0qj65jraj6ksmsfsrc4f3y8m7x5lqg9bqc9yb5s3bav2r8qjyhv6"; depends=[]; };
+denpro = derive { name="denpro"; version="0.9.1"; sha256="0ihgk300njhp6dzm1gsmknlx4c5h6kiwprgv3l3f29s6gdxx4f6n"; depends=[]; };
+densityClust = derive { name="densityClust"; version="0.1-1"; sha256="1apv9n871dshln5ccg8x3pwqi8yfx73ijfqsvzcljqnv36qpqpqd"; depends=[]; };
+denstrip = derive { name="denstrip"; version="1.5.3"; sha256="10h8ivs7nd6gkf93zvqzqjb1lzfabvvs182636m67f86jfn6d4y4"; depends=[]; };
+depend_truncation = derive { name="depend.truncation"; version="2.2"; sha256="0frszpsnhf5ci471h6izsp0qan87li8spvpdvr47kklg3qxq0py2"; depends=[mvtnorm]; };
+depmix = derive { name="depmix"; version="0.9.13"; sha256="1dkwc1bjq19hjzichh78b41qslklgwib8mglbn23q9dsys8a3ccz"; depends=[MASS]; };
+depmixS4 = derive { name="depmixS4"; version="1.3-2"; sha256="18xmn5fv9wszh86ph91yypfnyrxy7j2gqrzzgkb84986fjp2sxlq"; depends=[nnet MASS Rsolnp]; };
+depth = derive { name="depth"; version="2.0-0"; sha256="1aj4cch3iwb6vz0bzj4w5r6jp2qs39g8lxi2nmpbi3m7a6qrgr2q"; depends=[abind rgl circular]; };
+depthTools = derive { name="depthTools"; version="0.4"; sha256="1699r0h1ksgrlz9xafw2jnqfsc7xs0yaw97fc6dv3r11x6gxk00y"; depends=[]; };
+descomponer = derive { name="descomponer"; version="1.1"; sha256="0yw3659lv3y187hwszf6vpqb3w2mvaxjn380xkxkbggdkcxhrb9r"; depends=[taRifx]; };
+descr = derive { name="descr"; version="1.0.4"; sha256="149p2znadm4qvz1cqk4k8w7wqqn8jsvjxabgd9qy2rfv41qgcri8"; depends=[xtable]; };
+deseasonalize = derive { name="deseasonalize"; version="1.35"; sha256="1fjsa7g34dckjs6mx9b10m99byxagggm0p9pw2f1vmpjqlasin0l"; depends=[lattice FitAR]; };
+designGG = derive { name="designGG"; version="1.1"; sha256="1x043j36llwd7kd4skbpl2smz2ybsxjqf5yd1xwqmardq60gdv2w"; depends=[]; };
+desirability = derive { name="desirability"; version="1.9"; sha256="1p3w4xk4is22gqgy2gyxj80vib8s40lgllqc2fnz66kb2cln10n6"; depends=[]; };
+desire = derive { name="desire"; version="1.0.7"; sha256="0jmj644nj6ck0gsk7c30af9wbg3asf0pqv1fny98irndqv508kf6"; depends=[loglognorm]; };
+detect = derive { name="detect"; version="0.3-2"; sha256="1mjc8h3xb2zbj4dxala8yqbdl94knf9q0qvkc37ag1b2w4y2d2b0"; depends=[Formula]; };
+detrendeR = derive { name="detrendeR"; version="1.0.4"; sha256="1z10gf6mgqybb9ml6z3drq65n7g28h2pqpilc2h84l6y76sy909c"; depends=[dplR]; };
+devEMF = derive { name="devEMF"; version="2.0"; sha256="19wraakvf7xsf1i108dz3ipl1hdixgwa6h0bizxfyajw5yqmw8mw"; depends=[]; };
+devtools = derive { name="devtools"; version="1.7.0"; sha256="0d1hic61niw4fkjw9jnzslc25jcvprjn8mn6wapfpxpkm63499ff"; depends=[httr RCurl memoise whisker evaluate digest rstudioapi jsonlite roxygen2]; };
+df2json = derive { name="df2json"; version="0.0.2"; sha256="10m7xn7rm4aql1bzpckjcx5kvdw44m1pxgzqkgkd40lzqb1cwk18"; depends=[rjson]; };
+dfcomb = derive { name="dfcomb"; version="2.0-2"; sha256="0a3larpfm9v195kmiv17njv8l4qnmlxav9rcg9pxvlhbni5pv3dw"; depends=[RcppArmadillo BH RcppProgress Rcpp]; };
+dfcrm = derive { name="dfcrm"; version="0.2-2"; sha256="1kwgxfqnz2bcicyb27lp6bnvrj30lqjpn5fg7kaqshgkj53g0s4f"; depends=[]; };
+dfexplore = derive { name="dfexplore"; version="0.2.1"; sha256="04nbhn59l1kas26nwj4qflkjvvr33sj1mm7zg7fhvya85gvlhrbf"; depends=[ggplot2]; };
+dfmta = derive { name="dfmta"; version="1.1-2"; sha256="147d3qakv2mpcr1rl4pshmw6kg1xah46j45crz1fr2iigy9ail14"; depends=[RcppArmadillo BH RcppProgress Rcpp]; };
+dfoptim = derive { name="dfoptim"; version="2011.8-1"; sha256="19j0h5xdrbmykz2nrjrwqwaw7466zvqaiwafrm1jc12mk5azfcqx"; depends=[]; };
+dglars = derive { name="dglars"; version="1.0.5"; sha256="02g8x4p98jv3cfwfxvh68aivb72651w4977g4xqksq0p4nqcs636"; depends=[]; };
+dglm = derive { name="dglm"; version="1.8.1"; sha256="12q49nf30ji4c7vysf2s48bif7crwlmqn8cx0wy23xlhj5x2p4b3"; depends=[statmod]; };
+dgmb = derive { name="dgmb"; version="1.1"; sha256="134ckgq7rsdypg3c586kkhr9rx5ya34smp38i9lzvbdanzrpf33w"; depends=[MASS abind]; };
+dgof = derive { name="dgof"; version="1.2"; sha256="02qnb3i131hx05k8l5n3xbl5sqmmc2fh19bsgcacgj8ixs4wyjvi"; depends=[]; };
+dhglm = derive { name="dhglm"; version="1.2"; sha256="14wa0xkwb1qvkynk95aw6y4rx3jjdki19wdydg3wv5nfagcc4vdz"; depends=[Matrix numDeriv boot]; };
+diagram = derive { name="diagram"; version="1.6.3"; sha256="1iga574r31hz7g50nmicbah4rj4l46w6lgw3sz1b69iv6hpp7sq1"; depends=[shape]; };
+diaplt = derive { name="diaplt"; version="1.2.1"; sha256="0pya6rqzsvc5nd3smhydvabarglc4nn04q605vbllmbhq9rv00pa"; depends=[]; };
+dice = derive { name="dice"; version="1.2"; sha256="0gic7lqnsdmwv3dbzwwmcwdfyfqlq8kpr2pciqphd1j2ligzwl3s"; depends=[gtools]; };
+dichromat = derive { name="dichromat"; version="2.0-0"; sha256="1l8db1nk29ccqg3mkbafvfiw0775iq4gapysf88xq2zp6spiw59i"; depends=[]; };
+dicionariosIBGE = derive { name="dicionariosIBGE"; version="1.6"; sha256="1rss1ydhcn6sma2lmlpq6s0h3dglwc20w499x1jzkcjnzc1rc7gl"; depends=[]; };
+dielectric = derive { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; };
+difR = derive { name="difR"; version="4.5"; sha256="0qlaqpywyjggw74h5y5r2aivcyknc6b7l8b1p69g3lyx4d2hz8wp"; depends=[lme4 ltm]; };
+diffEq = derive { name="diffEq"; version="1.0-1"; sha256="1xmb19hs0x913g45szmm26xx5xp85v182wqf0lnl4raxaf47yhkm"; depends=[deSolve rootSolve bvpSolve ReacTran deTestSet shape]; };
+diffIRT = derive { name="diffIRT"; version="1.4"; sha256="13axwzsrlr1akj4viwsyaplh11krixg3l07qi58c81jrcrmqpgv1"; depends=[statmod]; };
+diffdepprop = derive { name="diffdepprop"; version="0.1-9"; sha256="0mgrm1isr26v2mcm6fkzc7443ji00vpnqmw4zngx81n7442b3cl2"; depends=[gee rootSolve PropCIs]; };
+diffeR = derive { name="diffeR"; version="0.0-2"; sha256="1dkmwr6klqx950g9214n2rbd0p3k668w5217b0nvz6vfp3gczkjz"; depends=[rgdal raster ggplot2]; };
+diffractometry = derive { name="diffractometry"; version="0.1-8"; sha256="1m6cyf1kxm9xf1z4mn4iz0ggiy9wcyi8ysbgcsk7l78y7nqh1h99"; depends=[]; };
+diffusionMap = derive { name="diffusionMap"; version="1.1-0"; sha256="1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3"; depends=[scatterplot3d igraph Matrix]; };
+digest = derive { name="digest"; version="0.6.8"; sha256="0m9grqv67hhf51lz10whymhw0g0d98466ka694kya5x95hn44qih"; depends=[]; };
+digitalPCR = derive { name="digitalPCR"; version="1.0"; sha256="0gjxlw0f2msh2x5jpzkpq8xc67zpv560q4vql5nwifm44dwar753"; depends=[]; };
+dils = derive { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp Rcpp]; };
+dinamic = derive { name="dinamic"; version="1.0"; sha256="0mx72q83bbwm10ayr3f1dzwr5wgz7gclw7rh39yyh95slg237nzr"; depends=[]; };
+diptest = derive { name="diptest"; version="0.75-6"; sha256="158azvdf76h5mp26lw2mjzwp4hwc2psqd9kn5989y4a1jmzxp2bg"; depends=[]; };
+directPA = derive { name="directPA"; version="1.1"; sha256="0sri3981vk997qjl3c3zchn3vx0h3pdbnagcvds4bnrpycvn4bz8"; depends=[rgl calibrate]; };
+directlabels = derive { name="directlabels"; version="2013.6.15"; sha256="083cwahz320r4w4jbh62pxmzn1i1hixp398zm8f2fpzh4qp5y44g"; depends=[quadprog]; };
+dirmult = derive { name="dirmult"; version="0.1.3-4"; sha256="1r9bhw1z0c1cgfv7jc0pvdx3fpnwplkxwz8j8jjvw14zyx803rnz"; depends=[]; };
+disclap = derive { name="disclap"; version="1.5"; sha256="0piv9gxhxcd4pbh5qjn9c3199f32y3qiw5vy8cr77ki70dnmr66n"; depends=[]; };
+disclapmix = derive { name="disclapmix"; version="1.6"; sha256="0g1yg4n4pfy0295faw2scfh45m978ymmlx9bl3h8849kfaizkysi"; depends=[Rcpp disclap cluster Rcpp]; };
+discreteMTP = derive { name="discreteMTP"; version="0.1-2"; sha256="13qsf1kc3rph0kkdkz31qj072www5dwjyk73lfpy141rzhcn1v1x"; depends=[]; };
+discreteRV = derive { name="discreteRV"; version="1.1.4"; sha256="1bxr8rjqjx58bkkp96zk3hdssp43kcdzfjif95kda25by7926s3z"; depends=[plyr MASS]; };
+discretization = derive { name="discretization"; version="1.0-1"; sha256="00vq2qsssnvgpx7ihbi9wcafpb29rgv01r06fwqf9nmv5hpwqbmp"; depends=[]; };
+discrimARTs = derive { name="discrimARTs"; version="0.2"; sha256="088v4awic4bhzqcr7nvk2nldf8cm1jqshg2pzjd2l2p1cgwmlxib"; depends=[RUnit]; };
+diseasemapping = derive { name="diseasemapping"; version="1.1.7"; sha256="1sxvvs7sprjqzd8h51xk6i7jw8081bxzqxllqqhlz105g8czqpwi"; depends=[sp]; };
+diskmemoiser = derive { name="diskmemoiser"; version="1.0-1"; sha256="0lacadc3mm1w55sff3lphp3xrr1inn2r382c1z8gf6kzal7c9pd8"; depends=[digest]; };
+dismo = derive { name="dismo"; version="1.0-12"; sha256="1zm3z9z2ramsp85x96rrnmj5zabm8r7f0wfxrxg2sgddwwqvxpsv"; depends=[raster sp]; };
+disp2D = derive { name="disp2D"; version="1.0"; sha256="0q5bds2r1mqzcwmnj61dmwqv6b0s0scq5h3nim47q3wp0n4gbslz"; depends=[geometry]; };
+disparityfilter = derive { name="disparityfilter"; version="2.1"; sha256="0ld43hd4dr389pd8sncslp707jyfgbx7w1larq75gkzjykc29aqw"; depends=[igraph]; };
+displayHTS = derive { name="displayHTS"; version="1.0"; sha256="0mqfdyvn2c5c3204ykyq29ydldsq0kb3a1d7mrzqr7cvrj1ahlqa"; depends=[]; };
+dispmod = derive { name="dispmod"; version="1.1"; sha256="141gzhnmxxl495cpjgd4wnvdrbz6715m6sd1pycrbaqrsdc1pv57"; depends=[]; };
+disposables = derive { name="disposables"; version="1.0.0"; sha256="0xd8war6vav8swpwgmyi9hd6xv0j6j72yrk4sdcwiwzgs4l8cbfj"; depends=[]; };
+dissUtils = derive { name="dissUtils"; version="1.0"; sha256="00fzlmkdfw2s3k824wp2pk3v7cvxnywi1hfp86g4mm95z2qlw9br"; depends=[]; };
+distfree_cr = derive { name="distfree.cr"; version="1.0"; sha256="13y714l6b3kkpp75fdrsbdclgj1vw1xsvbj9pxi4lkwf11wwmrqr"; depends=[]; };
+distillery = derive { name="distillery"; version="1.0-1"; sha256="0hfj4qbfb5219dm7yrgf2h4jrh2qsjhwrbv8gbrxcr0xf6gqbxmv"; depends=[]; };
+distory = derive { name="distory"; version="1.4.2"; sha256="12j19cb1b4prm8m43gya15kia1ii1k0yy7hkngpn2vsyk7n2z65m"; depends=[ape]; };
+distr = derive { name="distr"; version="2.5.3"; sha256="13ssdidbh4x534f0vvhfpi5cdrhlpmrz8s0y33q7ccf3dfmdsyan"; depends=[startupmsg sfsmisc SweaveListingUtils]; };
+distrDoc = derive { name="distrDoc"; version="2.5.1"; sha256="02wcqy9z36lxkpxy42vj1yv7x2v3i57rngpw58s7immzp5j3dlam"; depends=[distr distrEx distrSim distrTEst distrTeach RandVar distrMod MASS SweaveListingUtils startupmsg]; };
+distrEllipse = derive { name="distrEllipse"; version="2.5"; sha256="1slzzmcf09mqqba287rpgpwbsq6j5lprjgxda5lrc21znvrgfxn3"; depends=[mvtnorm setRNG distr distrEx distrSim]; };
+distrEx = derive { name="distrEx"; version="2.5"; sha256="0mbccd53r9wl875i702j14wlrv7pjgrwzlnyc511cqa5pg3mn81i"; depends=[distr]; };
+distrMod = derive { name="distrMod"; version="2.5.3"; sha256="1xa6a8fxhb87z4bimvnrylm63q9m90kmm49w2dik79a9d5x5q29b"; depends=[distr distrEx RandVar MASS sfsmisc startupmsg]; };
+distrRmetrics = derive { name="distrRmetrics"; version="2.5"; sha256="0c7fhckw7hav68gag8ymgicywl2vbnvqpjxca0x24wpdi1gs4jf6"; depends=[distr fBasics fGarch]; };
+distrSim = derive { name="distrSim"; version="2.5.2"; sha256="0ipg4l2vyifaj1r9a4cc8kg32s65jpz5wxrlnrix95xk5wasdpbh"; depends=[setRNG distr]; };
+distrTEst = derive { name="distrTEst"; version="2.5"; sha256="1swl4v70gkkpidddsgqf0dqz9j0xz5j1wk44bhpi4ficim7hap3l"; depends=[setRNG distrSim startupmsg]; };
+distrTeach = derive { name="distrTeach"; version="2.5"; sha256="0a7qfqpirzcd94dvcvmprhhj2j1yl3lpizsi8mdqr19zcp6dw21k"; depends=[distr distrEx]; };
+distrom = derive { name="distrom"; version="0.3-1"; sha256="17x58lx411wlb153rv1nlmf1g528w1az8nsswvwscv15n7bvdkdf"; depends=[Matrix gamlr]; };
+divagis = derive { name="divagis"; version="1.0.0"; sha256="1kcz7i3h9xxpqhlq0rl08pgcwd16ygjjmm0jjv9knn2ggc3j1jzz"; depends=[rgdal sp]; };
+diveMove = derive { name="diveMove"; version="1.3.9"; sha256="0782b8fvh676g6fy05g1da52q398rxmgz46vk6yxwrmnvg78wcq5"; depends=[caTools KernSmooth quantreg geosphere]; };
+diveRsity = derive { name="diveRsity"; version="1.9.73"; sha256="07lln4fkphwk8kgvw4hsi7rghpwza8967z2gkb2265l28irv7ffm"; depends=[ggplot2 shiny qgraph Rcpp Rcpp]; };
+diversitree = derive { name="diversitree"; version="0.9-7"; sha256="0hr3hzrrbmfqbzcwn18lnqmychs9f21j1x214zry0jmw9pnai0s0"; depends=[deSolve ape subplex Rcpp Rcpp]; };
+divo = derive { name="divo"; version="0.1.1"; sha256="10kymbvp46rzdd6a6p2fri9424sdxj2bhhv0fld7ikk71xgpfdrp"; depends=[RcppCNPy cluster]; };
+dixon = derive { name="dixon"; version="0.0-5"; sha256="0x7x0l7p8kmkfqqqah8hck2r96b3w8padd41skd3q35vq8kmnsqc"; depends=[splancs spatstat]; };
+dkDNA = derive { name="dkDNA"; version="0.1.0"; sha256="1waqj8l48yqlzi3rb3ilxyx79n5d4w0sp02flvynwaxck6jvh8gc"; depends=[]; };
+dlm = derive { name="dlm"; version="1.1-4"; sha256="0hyphl90bqc16j7in750pmiyq28hmc46kxgv7gj17c8xl9c9xqxm"; depends=[]; };
+dlmap = derive { name="dlmap"; version="1.13"; sha256="0s6wlkggkm3qndwyvw72xv1n0mcjb7ss3ajbq2ll6rv30splq0db"; depends=[qtl ibdreg wgaim nlme mgcv]; };
+dlmodeler = derive { name="dlmodeler"; version="1.4-2"; sha256="06gqvk2wrzz4kpsh4vyrbqwmxirsvg78qj7clvcxdac0sfqn4gl7"; depends=[KFAS]; };
+dlnm = derive { name="dlnm"; version="2.1.3"; sha256="044khdhk4dgd09cwmidsfa2rgd43h7wnd48bmmrnsvj3314bic0f"; depends=[nlme]; };
+dma = derive { name="dma"; version="1.2-2"; sha256="18v40rr4qx98ap38vr77xxvl7y3a6cqfky3z4s5zc87q6y1z5g2s"; depends=[MASS mnormt]; };
+dmm = derive { name="dmm"; version="1.5-1"; sha256="0rblwhlr0gms7zlxgfc6wajf9mphzk2xlg9dk1agd5pdnffljxb9"; depends=[MASS Matrix nadiv robustbase pls]; };
+dmt = derive { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[mvtnorm MASS Matrix]; };
+dna = derive { name="dna"; version="1.1-1"; sha256="0gw70h1j67h401hdvd38d6jz71x1a6xlz6ziba6961zy6m3k5xbm"; depends=[]; };
+dnet = derive { name="dnet"; version="1.0.6"; sha256="0zhv2yfrlhfwjbgbvjzmw3c5g5rj33n8l2npdf6b4nqz0c0hc1jn"; depends=[igraph Matrix]; };
+doBy = derive { name="doBy"; version="4.5-13"; sha256="07ppghcf381wc9s9igsi3viy6p86b5bmpfm1s8iwq7ca4j89qw42"; depends=[survival MASS Matrix]; };
+doMC = derive { name="doMC"; version="1.3.3"; sha256="0g5psgk92b2zk9fkap3a86haay2y0kfz75cyk3d1ila9m7cd2cn4"; depends=[foreach iterators]; };
+doMPI = derive { name="doMPI"; version="0.2.1"; sha256="1d2pkxsap656l7h88q37ymy1jw0zd4n9h892511a1a230dxwc0xh"; depends=[foreach iterators Rmpi]; };
+doParallel = derive { name="doParallel"; version="1.0.8"; sha256="1z6cwqnjvqsbck44padqkv4r75cy32p5vrlkkan4mq84cc8062nx"; depends=[foreach iterators]; };
+doRNG = derive { name="doRNG"; version="1.6"; sha256="0yvg4052gfdh54drn6xnpiqyd77p8765yi525nag3ismw2yn9y58"; depends=[foreach rngtools iterators pkgmaker]; };
+doRedis = derive { name="doRedis"; version="1.1.1"; sha256="10ldfzq6m83b9w24az9bf5wbfm6y9gi233s8qgsk4dnr84n3nizx"; depends=[rredis foreach iterators]; };
+doSNOW = derive { name="doSNOW"; version="1.0.12"; sha256="0j71n0l9lbvwllw9iigvjgv0x8z2j57grl3yazkgcyzy0mcgf741"; depends=[foreach iterators snow]; };
+docopt = derive { name="docopt"; version="0.4.2"; sha256="0x2n79iw1818qsmdvyjyglaa8jzp91nahrijd9aijdqxdhb1mp8r"; depends=[stringr]; };
+documair = derive { name="documair"; version="0.6-0"; sha256="1pphcbx90n9xn8a7gvfrwzfapwqgpbl3gg2grm7chfxgcp7i99i2"; depends=[]; };
+domino = derive { name="domino"; version="0.2-1"; sha256="1ix7m8khlxdn1axxc1jxvjmqd0np2h2z5nb9i188jk3zzpdw11ka"; depends=[]; };
+dosresmeta = derive { name="dosresmeta"; version="1.3.0"; sha256="0yfm8dkds8abdl6jrib5vvgkyrd5cl5a99qs27safxx0fcpdiz4k"; depends=[mvmeta aod Matrix]; };
+dostats = derive { name="dostats"; version="1.3.1"; sha256="0xcp9arpvqb7am6caiazlgllvd3hhk4gqjd2wizr2jc5dkwfl4qn"; depends=[]; };
+dotenv = derive { name="dotenv"; version="1.0"; sha256="1lxwvrhqcwj9q24x30xzrw8qqhxgyr88ja3fajm5hf3pwbw85yls"; depends=[magrittr falsy]; };
+downloader = derive { name="downloader"; version="0.3"; sha256="0jpq8z3i9fkgs8wwjrq5qd7qfi5w3rxmzmsi1c1dxlnxzzhg6kxq"; depends=[digest]; };
+dpa = derive { name="dpa"; version="1.0-3"; sha256="0dmwi68riddi1q4b10c12wx6n7pqfmv30ix5x72zpdbgm72v343h"; depends=[sem igraph]; };
+dpcR = derive { name="dpcR"; version="0.1.3.3"; sha256="1j2c3b6727598lmz29vl5f4jkf5v1621g3cli588k10frlq55nip"; depends=[binom chipPCR e1071 dgof multcomp qpcR pracma rateratio_test signal shiny spatstat]; };
+dpglasso = derive { name="dpglasso"; version="1.0"; sha256="1mx28xbm2z2bxyp33wv2v6vgn1yfsdsa0bzjjdxasgd6lvr51myf"; depends=[]; };
+dplR = derive { name="dplR"; version="1.6.2"; sha256="1w8p4pfzpvarwx9an3zm158pybif6p86k87gxqr2m2fgjsxzf9nb"; depends=[gmp digest lattice png stringi stringr XML]; };
+dplRCon = derive { name="dplRCon"; version="1.0"; sha256="10xnawgnhxp5y949fxs1vvadc1qz2ldy0s9w9w7kf6iqh59d35sw"; depends=[]; };
+dplyr = derive { name="dplyr"; version="0.4.1"; sha256="0kcwg922gzvwz1vfazwknb2sn2z9wfg9xhndi4280lg8cjdllcmw"; depends=[assertthat R6 Rcpp magrittr lazyeval DBI Rcpp BH]; };
+dpmixsim = derive { name="dpmixsim"; version="0.0-8"; sha256="0paa2hmpd6bqf0m7p9j7l2h3j18lm64ya6ya8zvp55wm8pf7xgqg"; depends=[oro_nifti cluster]; };
+dr = derive { name="dr"; version="3.0.9"; sha256="0gmxa5mbmkz54l75ss6kj5ka5kingf02pqj0xsfjxfv0311hwm52"; depends=[MASS]; };
+drat = derive { name="drat"; version="0.0.2"; sha256="0rsjkwg3dzyv8fi4p889rsq7k51zw8afaldmf7blssz8q7m3i3lv"; depends=[]; };
+drawExpression = derive { name="drawExpression"; version="1.0"; sha256="0c2daicqrjlqf7s788cknzvw9c6rm500lgmwfr7z03bq7bd2ah90"; depends=[]; };
+drc = derive { name="drc"; version="2.3-96"; sha256="0yrxa7rnsi7w4zdxd713m0l8bfsqnhcypzr091yazlahk33mybxf"; depends=[car gtools MASS magic plotrix lattice nlme]; };
+drfit = derive { name="drfit"; version="0.6.3"; sha256="0vx5niw6mfg85937sbjmc0z0gdgf9aj43rmkn1gljky7pq4j3hfn"; depends=[MASS RODBC drc]; };
+drgee = derive { name="drgee"; version="1.0.1"; sha256="0vrmi3q6dhmk9z5168pdfhi18nkm4pgj4zx8d24r4k1jcqvgckl0"; depends=[nleqslv]; };
+drm = derive { name="drm"; version="0.5-8"; sha256="1p6ixd7hnv41gfmvan3rv9xzz1279hmrnvfrl6pxwzs9zcnbb53a"; depends=[]; };
+drmdel = derive { name="drmdel"; version="1.3.1"; sha256="1bpm9jj9dxk2daxp1yb7pn9jd750p27qa84vdfxpacm5r0mggnys"; depends=[]; };
+dropR = derive { name="dropR"; version="0.1"; sha256="0sw5lqlfdn64dbykxdhk1pz18f83if871vkapa2nxgcfiy79b0vs"; depends=[plyr shiny]; };
+drsmooth = derive { name="drsmooth"; version="1.0"; sha256="1cxhj28dkll704kif040vqnp9grb61v891rswvyx7aa9216156px"; depends=[car clinfun mgcv multcomp pgirmess DTK segmented mvtnorm]; };
+ds = derive { name="ds"; version="3.0"; sha256="10xp575l0wh85wg32k3as02kgqm9ax9nx9i5kd5bkimfwg4qv745"; depends=[]; };
+dsample = derive { name="dsample"; version="0.91.1"; sha256="0nxx3x55zj089aq2shk7cg9bgh6xw7jnrr2qmlaq6bflwn58wn1q"; depends=[]; };
+dse = derive { name="dse"; version="2014.11-1"; sha256="0fl1av8zd0csbsk6fplcxgqsb50qr1baasw2jrqv6h83j2xwph2l"; depends=[tfplot tframe setRNG]; };
+dslice = derive { name="dslice"; version="1.1.4"; sha256="0srqw1kznbjl1v6dpgh7vsrpf9k3zj7j55zw9k50jsbw2z4xqzfw"; depends=[Rcpp ggplot2 scales Rcpp]; };
+dsm = derive { name="dsm"; version="2.2.5"; sha256="0sfsfzcsqnvjkc5l7h5xq8p2jsgwxfzds75sqs58a0kzagcm1b05"; depends=[mgcv mrds nlme ggplot2 statmod]; };
+dst = derive { name="dst"; version="0.3"; sha256="1gdf4sjk2svywx2m6z22d383xppsm6dm108w93pcwfs8fpcdwxb9"; depends=[]; };
+dti = derive { name="dti"; version="1.2-0.1"; sha256="09ad7mwa53dk1jlddkql3wm1s2diyqij7prd5klh59j21kvkf0hy"; depends=[awsMethods adimpro rgl oro_nifti oro_dicom gsl quadprog]; };
+dtt = derive { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; };
+dtw = derive { name="dtw"; version="1.17-1"; sha256="0kbf38a14k112vdi7yaql18w0sj694smlm6pmdw5q4sqpk7azhqg"; depends=[proxy]; };
+dualScale = derive { name="dualScale"; version="0.9.1"; sha256="11hqxprai0s5id6wk4n2q174r1sqx9fzw3fscvqd2cgw8cjn1iwl"; depends=[matrixcalc ff vcd lattice Matrix]; };
+dummies = derive { name="dummies"; version="1.5.6"; sha256="01f84crqx17xd6xy55qxlvsj3knm8lhw7jl26p2rh2w3y0nvqlbm"; depends=[]; };
+dummy = derive { name="dummy"; version="0.1.0"; sha256="004w6ymfah608c4rqjnzjy2kyxmcq6gxbh0zhqd82ljv7cah52my"; depends=[]; };
+dunn_test = derive { name="dunn.test"; version="1.2.3"; sha256="1p9bmjq3rj674mss1ml2m94nzfrqpg95cb2l6vfrcldc5zja0z7l"; depends=[]; };
+dupiR = derive { name="dupiR"; version="1.2"; sha256="0p649yw7iz6hnp7rqa2gk3dqkjbqx1f6fzpf1xh9088nbf3bhhz3"; depends=[plotrix]; };
+dvfBm = derive { name="dvfBm"; version="1.0"; sha256="0gx11dxkbnh759ysd1lxdarlddgr3l5gwd5b0klwvwsgck6jv529"; depends=[wmtsa]; };
+dvn = derive { name="dvn"; version="0.3.3"; sha256="14ncna67qgknh20xdvxqddjhagj61niwpvz4ava9k0z68rgzmk5h"; depends=[RCurl XML]; };
+dygraphs = derive { name="dygraphs"; version="0.4.2"; sha256="0wv9mmylfsi3q1hi5wdhnynmcclw3sl7pscpp49ddaz3psg686kz"; depends=[magrittr htmlwidgets zoo xts]; };
+dyn = derive { name="dyn"; version="0.2-9"; sha256="16zd32567aj0gqv9chbcdgi6sj78pnnfy5k8si15v5pnfvkkwslp"; depends=[zoo]; };
+dynBiplotGUI = derive { name="dynBiplotGUI"; version="1.1.2"; sha256="1lcd164lxrrmzxr3rp3xwvwsnpa7am6c916vrbwy74ccg2bpbv7m"; depends=[tcltk2 tkrplot]; };
+dynCorr = derive { name="dynCorr"; version="0.1-2"; sha256="0qzhhfhkwpq6mwg7y6sxpqvcj8klvivnfv69g7x3ycha1kw2xk3w"; depends=[lpridge]; };
+dynaTree = derive { name="dynaTree"; version="1.2-7"; sha256="06pw78j6wwx7yc175bns1m2p5kg5400vg8x14v4hbrz3ydagx4dn"; depends=[]; };
+dynamicGraph = derive { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; };
+dynamicTreeCut = derive { name="dynamicTreeCut"; version="1.62"; sha256="1y11gg6k32wpsyb10kdv176ivczx2jlizs1xsrjrs6iwbncwzrkp"; depends=[]; };
+dynatopmodel = derive { name="dynatopmodel"; version="1.0"; sha256="1dq18wqbf7y597mbqv8fwwc5fm8l618mkqvb2l95bplq7n508hng"; depends=[raster xts shape fields rgeos maptools rgdal sp spam hydroGOF topmodel intervals]; };
+dynia = derive { name="dynia"; version="0.2"; sha256="1swip4kqjln3wsa9xl0g92zklqafarva923nw7s44g4pjdy73d5l"; depends=[]; };
+dynlm = derive { name="dynlm"; version="0.3-3"; sha256="0ym23gv2vkvvnxvzk5kh6xy4gb5wbnpdbgkb5s6zx24lh81whvcs"; depends=[zoo car lmtest]; };
+dynsim = derive { name="dynsim"; version="1.0"; sha256="0w4brs8kcps6gkamkic57nj61iz7zdxq972jwzs17i43wfcrw32c"; depends=[ggplot2 gridExtra MASS]; };
+dynsurv = derive { name="dynsurv"; version="0.2-2"; sha256="0418r7adki48pg3h7i1mgv3xpbryi520va3jpd03dx15zrq8zaqg"; depends=[survival reshape plyr nleqslv ggplot2 BH]; };
+e1071 = derive { name="e1071"; version="1.6-4"; sha256="0hakqawy8bz4hvjzz9dbc2pbqhaf1qjsgl0agz3qfg63974whw2i"; depends=[class]; };
+eHOF = derive { name="eHOF"; version="1.5.7"; sha256="05xvhnq0c8ddpq4x7mncspwy2lh54pl76yz6y38ibw5p8c0gazbs"; depends=[mgcv lattice]; };
+eRm = derive { name="eRm"; version="0.15-5"; sha256="0g4avcr709brvzcbmqmq35c7zvgx1hkf5nq6djsprzkgvh6rznjn"; depends=[MASS Matrix lattice]; };
+eVenn = derive { name="eVenn"; version="2.2"; sha256="0k6m61z902spxxrc38504l73h022w5v74g39h4azd1ibr35yrl7j"; depends=[]; };
+eaf = derive { name="eaf"; version="1.07"; sha256="0310lrqfm1l0lifak7wa6xn21bzzn27kbrrx0bidj4hibwv7sa4l"; depends=[modeltools]; };
+earlywarnings = derive { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[ggplot2 moments tgp tseries fields nortest quadprog Kendall KernSmooth lmtest som spam]; };
+earth = derive { name="earth"; version="4.2.0"; sha256="11fkjl8bvzsalrwc0v6vmk2xkzd1np7z2frygckpy5kyr9zs9l5l"; depends=[plotmo plotrix]; };
+easyanova = derive { name="easyanova"; version="4.0"; sha256="1d8fkgyqzphipvla7x8ipcf0by07iqx8xran15d2q82yq9iik5g9"; depends=[car nlme]; };
+easynls = derive { name="easynls"; version="4.0"; sha256="1j2crqvgsf84bpwzf4qh5xkzn5mhxhfx9c0y3p8dbyn8bg7zc2rf"; depends=[]; };
+ebSNP = derive { name="ebSNP"; version="1.0"; sha256="0x3ijwg4yycsfy6jch1zvakzfvdgpiq8i7sqdp5assb8z1823w0b"; depends=[]; };
+eba = derive { name="eba"; version="1.7-1"; sha256="0kxdhl7bc4f570m9rbxxzg748zvq0q7a0slvfr4w1f45vfzhyh17"; depends=[nlme]; };
+ebal = derive { name="ebal"; version="0.1-6"; sha256="1cpinmbrgxxv0fzi9qi2inv4hw2lz7iq4b0ggp316rdqqb5bj9r0"; depends=[]; };
+ebdbNet = derive { name="ebdbNet"; version="1.2.3"; sha256="123iqp8rnm3pac5fvpzq5sqbf8nyfpf05g23nawanid6yv23ba9a"; depends=[igraph]; };
+ecespa = derive { name="ecespa"; version="1.1-7"; sha256="0ynyphc1jnk088041i0yk22bh4ga1v9xwrcghy70q1ipv0z279ph"; depends=[splancs spatstat]; };
+ecipex = derive { name="ecipex"; version="1.0"; sha256="0pzmrpnis52hvy80p3k60mg9xldq6fx8g9n3nnqi3z56wxmqpdv7"; depends=[CHNOSZ]; };
+eco = derive { name="eco"; version="3.1-7"; sha256="0qrl1mq0nc42j4dzqhayzzb56gmkk479wgpxikzgzpj9wv78yd5s"; depends=[MASS]; };
+ecodist = derive { name="ecodist"; version="1.2.9"; sha256="199f3lwwm8r2bnik595m540la1p4z6vbkwfqh9kimy9d0fjp8nps"; depends=[]; };
+ecoengine = derive { name="ecoengine"; version="1.9"; sha256="0a04zhq1qla55dg8k895slh4sz3h55qgd173q2vm9p9f2gi51w9i"; depends=[httr plyr assertthat whisker dplyr jsonlite lubridate leafletR]; };
+ecolMod = derive { name="ecolMod"; version="1.2.6"; sha256="1n30faldfhpm2jkaw793vr220kgn3bmn8hxhw32rax294krmwn4v"; depends=[rootSolve shape diagram deSolve]; };
+ecoreg = derive { name="ecoreg"; version="0.2"; sha256="08iw7w9z7zqwhvirnhdc2jr2qjp9yma8ddc831d5dvbvi2j7kq84"; depends=[]; };
+ecoretriever = derive { name="ecoretriever"; version="0.1"; sha256="1iwds81pyn9c04fmnjfsri7rjanrfki8hngdwpqcx3dkbsg76ii6"; depends=[]; };
+ecosim = derive { name="ecosim"; version="1.2"; sha256="1lzjd6kl2864ngyiqyfnnra5ag9bj42pxb793gwp45r7z95k32rf"; depends=[deSolve stoichcalc]; };
+ecospat = derive { name="ecospat"; version="1.1"; sha256="070vvx00gm36rwjz2g188jn7bkljs1c7j6ap6ssrl3ihzqvc1zdz"; depends=[ade4 ape gam gbm sp adehabitatHR adehabitatMA biomod2 dismo ecodist maptools randomForest spatstat raster rms]; };
+ecoval = derive { name="ecoval"; version="1.0"; sha256="1szvr2ipb7bd0cyslhwwwyx5kw7yx3kpqcyzxfd9pk263bny323g"; depends=[utility rivernet]; };
+ecp = derive { name="ecp"; version="1.6.2"; sha256="0j416ns93m7vrb7dnyr4prqm213cg19hbgffvscnb67y3qwj6lic"; depends=[Rcpp Rcpp]; };
+edcc = derive { name="edcc"; version="1.0-0"; sha256="036fi6mnn9480hkb378xb5jilkfvdydjmkyw4mcc9s1lz195f62w"; depends=[spc]; };
+edeR = derive { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; };
+edgeRun = derive { name="edgeRun"; version="1.0.9"; sha256="0d5nc8fwlm61dbi00dwszj1zqlij4gfds3w1mpcqnnfilr2g3di1"; depends=[data_table]; };
+editrules = derive { name="editrules"; version="2.7.2"; sha256="19g07caacwphvrqn900chrz3k6x4z8gmvlcvna5x2mqidcjkf25i"; depends=[igraph lpSolveAPI]; };
+edrGraphicalTools = derive { name="edrGraphicalTools"; version="2.1"; sha256="09y63xj3gqrz66mym20g4pmfwrb0wnc2n67692hnqq8dz31q7p3i"; depends=[rgl mvtnorm MASS lasso2]; };
+eegAnalysis = derive { name="eegAnalysis"; version="0.0"; sha256="1lrwjbhm5fnf5fhyyga2b21j2snnmj3zfvfxfkvgsbdnzr3qxaxb"; depends=[e1071 wmtsa fields splus2R]; };
+eegkit = derive { name="eegkit"; version="1.0-2"; sha256="10dksmc5lrl0ypifvmmv96xnndl2zx191sl79qif0gfs3wq3w4s0"; depends=[bigsplines eegkitdata ica rgl]; };
+eegkitdata = derive { name="eegkitdata"; version="1.0"; sha256="1krsadhamv1m8im8sa1yfl7injvrc4vv3p88ps1mpn8hibk5g51m"; depends=[]; };
+eeptools = derive { name="eeptools"; version="0.3.1"; sha256="0m6i0hiw565wgziknlf19rh2fq8zvzq2v5a0ppnwcv8vhbhyph3g"; depends=[ggplot2 MASS stringr maptools arm data_table memisc]; };
+effects = derive { name="effects"; version="3.0-3"; sha256="10v99rv18jl10q0zhd4rvkx7dgab3b8w46jv1npqk9lx172iaf1y"; depends=[pbkrtest lme4 nnet lattice colorspace]; };
+effsize = derive { name="effsize"; version="0.5.2"; sha256="0xhrq1a7vjcbipvmslmkw4widnp0scfcir80sr5npcx5pvxagsq3"; depends=[]; };
+ega = derive { name="ega"; version="1.0.1"; sha256="02mbadv505jz6nk1yp9xl12c9l9wnwpl5bajfbhgs837pdca438g"; depends=[ggplot2]; };
+egcm = derive { name="egcm"; version="1.0.6"; sha256="1j499f94ibr9rx544mwbpwjrwhzbdlvv1p156kj8pfnd7qin26xl"; depends=[zoo xts TTR ggplot2 tseries MASS urca fArma]; };
+eggCounts = derive { name="eggCounts"; version="0.4-1"; sha256="16prkcmpfjl1lab8m9hm0sfbdlh94ds3wi6ra9n2wnrpdn32fl20"; depends=[actuar boot coda]; };
+egonet = derive { name="egonet"; version="1.2"; sha256="1f0fbqyk2ilmhirxvf1iwgfappi5r7807ag77r89lbaf5jq8akl0"; depends=[sna]; };
+eha = derive { name="eha"; version="2.4-2"; sha256="0n3j9zl4xs5pc87j01symnj4yz523fng1gysrj8pz4wra4zlg83m"; depends=[survival]; };
+eiPack = derive { name="eiPack"; version="0.1-7"; sha256="1cxk31bj012ijm85sf6l4rjrwayw94j2d6aav8p9g1f0raha2s6y"; depends=[MASS coda msm]; };
+eigeninv = derive { name="eigeninv"; version="2011.8-1"; sha256="18dh29js824d7mrvmq3a33gl05fyldzvgi8mmmr477573iy9r30g"; depends=[]; };
+eigenmodel = derive { name="eigenmodel"; version="1.01"; sha256="0p9n28x5gg46nszzd2z9ky5fhv6qa070673i1df6bhjh962aqgaf"; depends=[]; };
+eigenprcomp = derive { name="eigenprcomp"; version="1.0"; sha256="156qyv7sl8nng55n3ay6dnpayyfrqv27ndz40xf4w92is9zmymy0"; depends=[]; };
+eive = derive { name="eive"; version="2.1"; sha256="1vazl5dnrvljd07csy9rjs4302w09h94i411gffg9fvxn70km7qg"; depends=[Rcpp Rcpp]; };
+eiwild = derive { name="eiwild"; version="0.6.7"; sha256="1fp4kvlmcjjnzn2a5cmlzaf6y5q6cdbbi2nmvjyqc4y1bmwh3srf"; depends=[gtools coda lattice]; };
+elastic = derive { name="elastic"; version="0.3.0"; sha256="1lr2g7badfmmxdpv9z3gzjnd99di2nn0c2mhmrvjdclwzv4pk83c"; depends=[httr jsonlite]; };
+elasticnet = derive { name="elasticnet"; version="1.1"; sha256="1x8rwqb275lz86vi044m1fy8xanmvs7f7irr1vczps1w45nsmqr2"; depends=[lars]; };
+elec = derive { name="elec"; version="0.1.2"; sha256="0f7ahrjb52w8a8l5v00xla6z9afpz2zrckl9v04xalp34snhdwan"; depends=[]; };
+elec_strat = derive { name="elec.strat"; version="0.1.1"; sha256="09196k5c3jsikh98d33bn70izwcbx0wb5ki9fv1ij0dw9mnv4c3p"; depends=[elec]; };
+elliplot = derive { name="elliplot"; version="1.1.1"; sha256="1sl85kyjpxiw0gs3syhlhfrci03fl054py7m24xln5vk07665vbp"; depends=[]; };
+ellipse = derive { name="ellipse"; version="0.3-8"; sha256="0ibz1qvf1qbb5sigyhpxb8hgip69z3wcimk3az1701rg2i64g3ah"; depends=[]; };
+elliptic = derive { name="elliptic"; version="1.3-5"; sha256="0hi0r3z6f5yq53v6ii4z35nws2gc00xkk0dncll0sf5nshcj8fl5"; depends=[MASS]; };
+elmNN = derive { name="elmNN"; version="1.0"; sha256="129r6d3qa48gqvqxks53hdmyk3jjakddsj5fwj91kqq0hkm34kyd"; depends=[MASS]; };
+elrm = derive { name="elrm"; version="1.2.2"; sha256="0wz0l703v0iyp7nswdmh65n0cy3a7rfvyxd795a6nzk3nich8bfg"; depends=[coda]; };
+emIRT = derive { name="emIRT"; version="0.0.5"; sha256="0n94iqdzbml0hx3gd046958vmv3y0hymj5kly53gvvlcidsn15c4"; depends=[pscl Rcpp Rcpp RcppArmadillo]; };
+emdatr = derive { name="emdatr"; version="0.2"; sha256="11s9yiziswgll12c1sm3jb7hvy469ks64zx6w8dk1b36cx4lzf3h"; depends=[RCurl]; };
+emdbook = derive { name="emdbook"; version="1.3.7"; sha256="134j9mkf975h1bh4bjg5kl3gjzfii9acj4a20k1c4jnbz5v272a1"; depends=[MASS lattice plyr rgl coda bbmle]; };
+emdist = derive { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; };
+emil = derive { name="emil"; version="1.1-6"; sha256="1qk655swpl8f492y9smzlfxf7aysbwashfs6whnsi7f9dbigw6cd"; depends=[]; };
+emma = derive { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[earth clusterSim]; };
+emme2 = derive { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; };
+emoa = derive { name="emoa"; version="0.5-0"; sha256="1wcnsnkdmpcn21dyql5dmj728n794bmfr6g9hgh9apzbhn4cri8p"; depends=[]; };
+empiricalFDR_DESeq2 = derive { name="empiricalFDR.DESeq2"; version="1.0"; sha256="0vv104jgdwp5bg72v29614j831ndbw3sv105hkj9z3hi4ax16b5f"; depends=[]; };
+emplik = derive { name="emplik"; version="0.9-9-6"; sha256="0qrrsws9hnb9f2zv50q4v9zx467n6hm83g841h3ba511iwjpp32r"; depends=[quantreg]; };
+emplik2 = derive { name="emplik2"; version="1.20"; sha256="0qdsfmnvds01qa4f112knv905k0fzccrqj9fwaqrqcy48cigm8pd"; depends=[]; };
+emulator = derive { name="emulator"; version="1.2-15"; sha256="1rp7q7zs8b49jzdkbzm4s1g8554h41hcabf4d78k9jhhys2z28g2"; depends=[mvtnorm]; };
+enRich = derive { name="enRich"; version="2.0"; sha256="13ahwdifm33h4h5mvmc49v39fbhiy291rbdwm4c8kxjrqjq9ip66"; depends=[]; };
+enaR = derive { name="enaR"; version="2.8.1"; sha256="1p2vhqd1zxwar5fb16ibvwrzrxl7c574ls6747bkdjzlx7vznrn1"; depends=[MASS stringr sna network gdata]; };
+endogMNP = derive { name="endogMNP"; version="0.2-1"; sha256="0maxcp321ngbxrg0i23nlwhj849v771xahh53367x928ss4f8v7i"; depends=[]; };
+endorse = derive { name="endorse"; version="1.4.1"; sha256="0xyi2cq4k4xa8kr717i4njl6rgjf5z99056jbhp2rbzfyy4sw61d"; depends=[coda]; };
+energy = derive { name="energy"; version="1.6.2"; sha256="008yf4r6546mzk9q515zliqxyjx6w0z19g5wlarg7f4lrzsmqiaw"; depends=[boot]; };
+english = derive { name="english"; version="1.0-1"; sha256="1413axjp2icj9wwnkz3vl4gvrwlgmjpc2djzv5bllbnc4a4dgj24"; depends=[]; };
+enigma = derive { name="enigma"; version="0.1.1"; sha256="1309w9nwh7kd1iivj5kq6sgi10k9ac69n3yl6a52ajqnm9rsg3lm"; depends=[httr jsonlite plyr]; };
+enpls = derive { name="enpls"; version="1.0"; sha256="1grnabrb0kzjvjvwp9rx1xqfljla0jd5xrkcbwfzmy2ymmbvh6ma"; depends=[pls foreach doParallel]; };
+enrichvs = derive { name="enrichvs"; version="0.0.5"; sha256="0x91s03hz1yprddm6mqi75bm45ki3yapfrxmap7d4qc0hi06h22k"; depends=[]; };
+ensembleBMA = derive { name="ensembleBMA"; version="5.1.1"; sha256="1apzfapzycpjhdn4f2cj77rifc9xrxshq35b1j53rb6qqns7ydyz"; depends=[chron]; };
+ensembleMOS = derive { name="ensembleMOS"; version="0.7"; sha256="0g5qzdic5jvgn6wv7zh0jnz8malfgfxn26l7lg30y96vcmi4hk54"; depends=[ensembleBMA chron]; };
+ensurer = derive { name="ensurer"; version="1.0"; sha256="07bjiq9sk5njksb1dyi5kqx3k4a454x8jy0q5v6n1m5lpyqf0py7"; depends=[]; };
+entropart = derive { name="entropart"; version="1.2.1"; sha256="14cn0zkfk6w8qrbzis9nxhs0vmhpxn4ksa95j5zxr7lxn77piznz"; depends=[ade4]; };
+entropy = derive { name="entropy"; version="1.2.1"; sha256="10vg4818q5g54pv2nn9x5i7pvky5nsv96syy47pz2mgqp1273cpd"; depends=[]; };
+enviPat = derive { name="enviPat"; version="1.9"; sha256="0xm23gv4ixmsal9rf0cbq0lwvlpagpmapskz3c4d8qzvhr8qrl3b"; depends=[]; };
+enviPick = derive { name="enviPick"; version="1.3"; sha256="01wkijvhr8wqjzrhgkvxbnnmb9qsnq0lhkgw93s8nrf8yr3z3awj"; depends=[shiny readMzXmlData]; };
+epade = derive { name="epade"; version="0.3.8"; sha256="1alvsifc6i71ilm1xxs1d7sqlapb48bqd6z2n4wi6pqcjvwp7bif"; depends=[plotrix]; };
+epi2loc = derive { name="epi2loc"; version="1.0-1"; sha256="16abk1v177sg7gmaw42ldf6hf20l7dvyq295zwbq76nxj467khdv"; depends=[pwr]; };
+epiR = derive { name="epiR"; version="0.9-62"; sha256="04r0inaa04pc4nj5dippl2qxa4nysk0sabdgp4bzp5zxw33mf55v"; depends=[survival]; };
+epibasix = derive { name="epibasix"; version="1.3"; sha256="0d0087sa8lqw35pn7gdg2qqzw3dvz57sgavymwl1ybcj5d4lsbyk"; depends=[]; };
+epicalc = derive { name="epicalc"; version="2.15.1.0"; sha256="11x9q990hc7rf5xfvba47axdy7vld76xcf3kd9lkr0c8nbl5ss9v"; depends=[foreign survival MASS nnet]; };
+epinet = derive { name="epinet"; version="2.0.9"; sha256="071svl1zcjjb3gvk3vg8xf660bvlz0ypkxy88n3d3f3ir2k26s7b"; depends=[]; };
+episplineDensity = derive { name="episplineDensity"; version="0.0-1"; sha256="0nmh97xajnnh54i04yq8fdici4n5xvcbpdbjdbz79483gnils4vn"; depends=[nloptr pracma]; };
+epitools = derive { name="epitools"; version="0.5-7"; sha256="163sibnbihdsnkxf313fr8n8rh5d64dwjagv95vhhzr87f21sw22"; depends=[]; };
+epoc = derive { name="epoc"; version="0.2.5-1"; sha256="1r19cvcqf39yf09n3znbdy3dsr7z96yx6zib6031mqqdsxaav5qd"; depends=[lassoshooting Matrix irr elasticnet survival]; };
+epr = derive { name="epr"; version="2.0"; sha256="1xqc0jhgdwwvilqpljxzpzz3wx30kigy09sxvzcfvsjmxyyvflqy"; depends=[car]; };
+eqs2lavaan = derive { name="eqs2lavaan"; version="3.0"; sha256="1lj6jwkfd84h9ldb6l74lrx2pnsl1c0d7mnrcrjkska87djb2nzd"; depends=[lavaan stringr]; };
+eqtl = derive { name="eqtl"; version="1.1-7"; sha256="0xfr8344irhzyxs9flnqn4avk3iv1scqhzac5c2ppmzqhb398azr"; depends=[qtl]; };
+equate = derive { name="equate"; version="2.0-3"; sha256="0y37nxily7zjx00z7h4vmpn8cs7bl3aravhjkjz9l6y0fv0rc5vv"; depends=[]; };
+equateIRT = derive { name="equateIRT"; version="1.2"; sha256="07qh5awa12d1bcm504k0rpgyxyzhymg92131cl676kdlfp49aqk1"; depends=[statmod]; };
+equivalence = derive { name="equivalence"; version="0.6.0"; sha256="1q17c2bs36f46bmm6wzmp0g2lg7d0j9mlrfnkzxnlvmspwksc0zl"; depends=[lattice boot PairedData]; };
+erboost = derive { name="erboost"; version="1.2"; sha256="0afgh0zkl3h3ab4s7wl0cn24qdyhszssai9i390mi7w0p88wgba9"; depends=[lattice]; };
+erer = derive { name="erer"; version="2.3"; sha256="165hngfzbzn403gwdcjkhvlm7jygl57nbpwdmlya2rd43z09kp77"; depends=[lmtest systemfit tseries urca ggplot2]; };
+ergm = derive { name="ergm"; version="3.2.4"; sha256="004d3wrv271i0czqkp7abz9lba8g68z350b21f94ad0xfp0cwlp2"; depends=[statnet_common network robustbase coda trust Matrix Rglpk]; };
+ergm_count = derive { name="ergm.count"; version="3.1.1"; sha256="0l66shy5p7h9j3h5gpkn48ps069mdaqbscnnkvmwjfvcc7k5vr8m"; depends=[statnet_common ergm network ergm]; };
+ergm_graphlets = derive { name="ergm.graphlets"; version="1.0.2"; sha256="1wfk8kh4rqw1f7dg4vsjq8nirgwyyk21r0x7x2hrd4v4ci0mcz6j"; depends=[statnet ergm]; };
+ergm_userterms = derive { name="ergm.userterms"; version="3.1.1"; sha256="0pvklvyxi7sjc5041zl8vcisni0jz1283gyjw5mhas9bl47g1cwc"; depends=[network ergm statnet_common ergm]; };
+ergmharris = derive { name="ergmharris"; version="1.0"; sha256="1bfijhsljlykb94wi25lbpv35zkmgqpmgzmxcq98gjvzbn5j9pdq"; depends=[]; };
+erpR = derive { name="erpR"; version="0.2.0"; sha256="1y6abc5fkcyyjh36maj1zbxppqzwd5wkvzvqahyvzsz5fqpjkcdx"; depends=[rpanel]; };
+esotericR = derive { name="esotericR"; version="1.0"; sha256="0kl9c2z2mpg3mk8jnl0ssgcf6y0i9jpczms746j8f07ydrcxpf41"; depends=[]; };
+estimability = derive { name="estimability"; version="1.1"; sha256="1inw2ir83bzz40gynwfcjzx7f6v99pqlphq7p3rmql01ikd2b6r9"; depends=[]; };
+estout = derive { name="estout"; version="1.2"; sha256="0whrwlh4kzyip45s4zifj64mgsbnrllpvphs6i5csb7hi3mdb3i5"; depends=[]; };
+etable = derive { name="etable"; version="1.2.0"; sha256="17xahaf2fz1qgqjaw8qbnss95il6g47m3w00yqc5nkvv37gs0q7c"; depends=[xtable Hmisc]; };
+etasFLP = derive { name="etasFLP"; version="1.2.0"; sha256="0h81fm71q8qb2h0gz669cvqpzcd8jwq5yk2b8vwsiv4jlgfiq85g"; depends=[mapdata rgl fields maps]; };
+etm = derive { name="etm"; version="0.6-2"; sha256="0sdsm6h502bkrxc9admshkrkqjczivh3av55sha7542pr6nhl085"; depends=[survival lattice]; };
+eulerian = derive { name="eulerian"; version="1.0"; sha256="0yhpnx9vnfly14vn1c2z009m7yipv0j59j3s826vgpczax6b48m0"; depends=[]; };
+eurostat = derive { name="eurostat"; version="1.0.15"; sha256="01g8lc32i441cylwda5jf872gp1w1d6yx4zi2irybb9xmhha5zi2"; depends=[plyr tidyr]; };
+evaluate = derive { name="evaluate"; version="0.5.5"; sha256="15i6bkzrzkgsdlgf2pcx8b3gcjh1rplzhimy310845pfgkldcq9b"; depends=[stringr]; };
+evd = derive { name="evd"; version="2.3-0"; sha256="1h3dkssgw2x7pblvknfr0l8k7q25nikxyl7kl9x95ganjpi2452v"; depends=[]; };
+evdbayes = derive { name="evdbayes"; version="1.1-1"; sha256="0lfjfkvswnw3mqcjsamxnl8hpvz08rba05xcg0r47h5vkgpw5lgd"; depends=[]; };
+eventInterval = derive { name="eventInterval"; version="1.2"; sha256="15g934n7flkl1g5q8qhxv60iakx8i9ndpx88yiqqr3n38hcnifrs"; depends=[MASS]; };
+events = derive { name="events"; version="0.5"; sha256="1zka4ygymifs8snd7cabl11b5lg3f8g8370dkm9ybl40bn8vvqq2"; depends=[]; };
+eventstudies = derive { name="eventstudies"; version="1.1"; sha256="13l2yhmlpiid9r3njnmvja231l00ym7gvwfbv0m9fk2k5j6gm5id"; depends=[zoo xts boot]; };
+evir = derive { name="evir"; version="1.7-3"; sha256="1kn139vvzdrx5r9jayjb4b0803b0bbppxk68z00gdb50mxgvi593"; depends=[]; };
+evmix = derive { name="evmix"; version="2.4"; sha256="0a2mdvv5ckg58f7lc5x63c33pmcaf7drhv3z9xzi0ramgrmx8ahm"; depends=[MASS gsl SparseM]; };
+evobiR = derive { name="evobiR"; version="1.0"; sha256="12j01qzc4yrjpxbj39bl29f5ypxwk33c6qf0mjjbgpwn5g6fgsi4"; depends=[seqinr ape stringr geiger taxize]; };
+evolvability = derive { name="evolvability"; version="1.0"; sha256="17vkmb5208q4lx6jslx96nbhsl9m2c4ra6264bparbgrg34byg9x"; depends=[coda]; };
+evora = derive { name="evora"; version="1.0"; sha256="0blq28ldynbq3v6rh0yk89wy1sjp4621h6iwnyyiipqwzihwrhz2"; depends=[Hmisc]; };
+evt0 = derive { name="evt0"; version="1.1-3"; sha256="08sbyvx49kp3jsyki60gbbnci26d6yk0yj2zcl4bhfac8c3mm6ya"; depends=[evd]; };
+evtree = derive { name="evtree"; version="1.0-0"; sha256="0i37lkdfzvgby98888ndd5wzxs7y11sxf9mh6pqpqgwif05p4z3i"; depends=[partykit]; };
+exCon = derive { name="exCon"; version="0.1-3"; sha256="0z09nwv721ld3dbi7c14rd2pjz96kj9pniljmwy9r41fhz36i4yf"; depends=[jsonlite]; };
+exact2x2 = derive { name="exact2x2"; version="1.4.1"; sha256="1a4cg8j8kdgwkj27qza6xm5x16m9sb2vczb1b9im8k4pas6v6jpk"; depends=[exactci ssanv]; };
+exactLoglinTest = derive { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; };
+exactRankTests = derive { name="exactRankTests"; version="0.8-28"; sha256="1n6rr0wax265y9w341x7m2pqwx3cv8iqx1k5qla29z8lqn4ng1nd"; depends=[]; };
+exactci = derive { name="exactci"; version="1.3-0"; sha256="03mhgpyrgm3cb0hw908wxhi6pxrvcsw4r1lmbx95xn44j1p9zpzk"; depends=[ssanv]; };
+exactmeta = derive { name="exactmeta"; version="1.0-2"; sha256="1v807ns799qajffky4k18iah0s3qh2ava6sz5i85hwx9dhkz19h4"; depends=[]; };
+exams = derive { name="exams"; version="2.0-2"; sha256="1cv01wa3zs31zdc1qk6rsnimbs6m31r0j56syg6yjicfxiwxxm0v"; depends=[]; };
+excursions = derive { name="excursions"; version="2.0.16"; sha256="10z0mix7fx4pb9jpix5d00ch4i6jlvj2337s6ja916q6cczj21qr"; depends=[Matrix sp spam]; };
+expands = derive { name="expands"; version="1.5"; sha256="14m5fzh302v0nchf875i4nwrr25wk7hych405psgfidq058pr985"; depends=[rJava flexmix matlab mclust moments ape permute]; };
+expectreg = derive { name="expectreg"; version="0.39"; sha256="1mxhv6phc3lgp0zz20wszx4nr3by9p6492wcb0x8wn8p8p1sy1b3"; depends=[mboost BayesX quadprog]; };
+experiment = derive { name="experiment"; version="1.1-1"; sha256="07yaf5k5fpymz2yvr52zbbi60g0v84qryvqqjq3sjq2mb1fjfz1p"; depends=[boot MASS]; };
+expert = derive { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; };
+expm = derive { name="expm"; version="0.99-1.1"; sha256="0kcanqaqn51f437fxriw4qkpxbhzpjzlkp95wn89ip4jhy6076qn"; depends=[Matrix]; };
+expoRkit = derive { name="expoRkit"; version="0.9"; sha256="0raf0m2nfbdbd1pc4lincyp8y8lgn3bfi4hn0p04plc5p40l1gvc"; depends=[Matrix SparseM]; };
+expoTree = derive { name="expoTree"; version="1.0.1"; sha256="0hj1x4niqp0ghqik3mz733nc3zpnhyknrdpzpj6y2rfia2ysdiz8"; depends=[ape deSolve]; };
+expp = derive { name="expp"; version="1.1"; sha256="13zbhkkcshqrpln5gsa051d390q9ij97lawsdbd5j7fj9hxm9pwh"; depends=[sp spdep rgeos deldir]; };
+expsmooth = derive { name="expsmooth"; version="2.02"; sha256="1l9k4llzkqwzmrr1l68qr58ngzs3ql67hxrr5fcrcwwnaa1zinyj"; depends=[tseries forecast]; };
+exptest = derive { name="exptest"; version="1.2"; sha256="0wgjg62rjhnr206hkg5h2923q8dq151wyv54pi369hzy3lp8qrvq"; depends=[]; };
+exsic = derive { name="exsic"; version="1.1.1"; sha256="1k6nqs9i4iivxnk4nkimp6zvdly274wibkmx9n0wz01gnzxqil0p"; depends=[stringr markdown]; };
+extRemes = derive { name="extRemes"; version="2.0-5"; sha256="1r1q26gb06db0nsd9m5r54sjhsdwbi3179ai4b71l849viragq4z"; depends=[Lmoments distillery car]; };
+extWeibQuant = derive { name="extWeibQuant"; version="1.1"; sha256="08dzw5xfgqx0c7ac632c5mg5jmjjw7wwpcr4c9lvz5rv72ykh2rh"; depends=[]; };
+extfunnel = derive { name="extfunnel"; version="1.3"; sha256="162w5b2wjs3yqy8jisamsapav6swa8sskf1b6x5hglnrv3i4qyyy"; depends=[rmeta]; };
+extlasso = derive { name="extlasso"; version="0.2"; sha256="05774y0i01lrbyws6zx5ymhcglllv1wc7gzrnyx8i5d1lxdinsyd"; depends=[]; };
+extraBinomial = derive { name="extraBinomial"; version="2.1"; sha256="0qmvl35f7n78kghszwyaz4wzbswqy4p98c3b6alzrc2ldsq6pq5z"; depends=[]; };
+extraTrees = derive { name="extraTrees"; version="1.0.5"; sha256="1rvvp2p9j8ih8fid1n17606pa23bjg3i2659w1l6w0jkb1p23zcx"; depends=[rJava]; };
+extracat = derive { name="extracat"; version="1.7-1"; sha256="1vgxr9j812jjr0i188vv7c1l0d7b73aakvfgsm0agwv7vj8k0rhi"; depends=[colorspace hexbin scales ggplot2 reshape2 plyr TSP]; };
+extrafont = derive { name="extrafont"; version="0.17"; sha256="0b9k2n9sk23bh45hjgnkxpjyvpdrz1hx7kmxvmb4nhlhm1wpsv9g"; depends=[extrafontdb Rttf2pt1]; };
+extrafontdb = derive { name="extrafontdb"; version="1.0"; sha256="115n42hfvv5h4nn4cfkfmkmn968py4lpy8zd0d6w5yylwpzbm8gs"; depends=[]; };
+extremevalues = derive { name="extremevalues"; version="2.3.0"; sha256="1nn67kgf3qd41nmizkbc2cy3128kajsxbxg03fhfgkjdqa0781lq"; depends=[gWidgets gWidgetstcltk]; };
+eyetracking = derive { name="eyetracking"; version="1.1"; sha256="0ajas96s25hjp3yrg42hp78qjhl1aih04mjirkskx32qsyq5hfpv"; depends=[]; };
+ez = derive { name="ez"; version="4.2-2"; sha256="1dk4ig137ridr4pw4afp3flm22s8l38yrgxabld1zv46slndc8mm"; depends=[car ggplot2 lme4 MASS Matrix mgcv plyr reshape2 scales stringr]; };
+ezglm = derive { name="ezglm"; version="1.0"; sha256="0x7ffk3ipzbdr9ddqzv0skmpj5zwazkabibhs74faxnld7pcxhps"; depends=[]; };
+ezsim = derive { name="ezsim"; version="0.5.5"; sha256="03x75vmf75qsmk4zb09j7xrb11w31rpfwd3dvv12nwjgndh9bnld"; depends=[foreach ggplot2 digest plyr reshape Jmisc]; };
+fANCOVA = derive { name="fANCOVA"; version="0.5-1"; sha256="034m2mmm6wmsjd41sg82m9ppqjf4b1kgw5vl2w7kzqfx0lypaiwv"; depends=[]; };
+fArma = derive { name="fArma"; version="3010.79"; sha256="1byxyy4afl1gq58r1cmc5p6frdr9rljr1x3pdnc8nj8rr65lkg72"; depends=[timeDate timeSeries fBasics]; };
+fAsianOptions = derive { name="fAsianOptions"; version="3010.79"; sha256="1w9ph3rz6cd7g275flzsnqxwd3r5xin6pkini8pbsi9s8hbqv3vl"; depends=[timeDate timeSeries fBasics fOptions]; };
+fAssets = derive { name="fAssets"; version="3011.83"; sha256="0i3phc8kxwhzf6010bv5k2ff5zlv7aqrwavqmhly4wwby73i39yl"; depends=[timeDate timeSeries fBasics fMultivar robustbase MASS sn ecodist mvnormtest energy]; };
+fBasics = derive { name="fBasics"; version="3011.87"; sha256="1x4jv4db0nr2fig6hglk0kv6j27ngkc8qzclgiklbl8wjfrrp9zh"; depends=[timeDate timeSeries gss stabledist MASS]; };
+fBonds = derive { name="fBonds"; version="3010.77"; sha256="00rc3i0iyqcpsqvc036csa1c8gxwcnniwj3l2irmcalx4p8650w0"; depends=[timeDate timeSeries fBasics]; };
+fCertificates = derive { name="fCertificates"; version="0.5-3"; sha256="1m0kglsr6g0f7m8r9ls95zj3hmjqq83whyk6svar39p13vabadw6"; depends=[fBasics fOptions fExoticOptions]; };
+fCopulae = derive { name="fCopulae"; version="3011.81"; sha256="0r4g567icgiiz6cxi6ak3kzrav9qzsc6zvww5dj1pd8mkd4r1f0y"; depends=[timeDate timeSeries fBasics fMultivar]; };
+fExoticOptions = derive { name="fExoticOptions"; version="2152.78"; sha256="0h58prj8nh340b0fxxkgg4bk25yxvb4f8ppq677hr12x8sysf1a8"; depends=[timeDate timeSeries fBasics fOptions]; };
+fExpressCertificates = derive { name="fExpressCertificates"; version="1.2"; sha256="1r4qkhf7alasbwjz910b0x4dlzm72af06kv7v2vwyzvf3byn21c5"; depends=[mvtnorm tmvtnorm fCertificates Matrix]; };
+fExtremes = derive { name="fExtremes"; version="3010.81"; sha256="0bzgnn0wf7lqhj7b2dbbhi61s8fi2kmi87gg9hzqqi6p7krnz1n5"; depends=[timeDate timeSeries fBasics fGarch fTrading]; };
+fGarch = derive { name="fGarch"; version="3010.82"; sha256="08q452pasvjhsg2ks6c52lqg276hlbdwk0vh25xya2bw2bgbqy99"; depends=[timeDate timeSeries fBasics]; };
+fICA = derive { name="fICA"; version="1.0-2"; sha256="058kkhjksm0nrfaj0csi6dgzr83kq4cln04v9fja12cqvdij9k7k"; depends=[JADE Rcpp Rcpp RcppArmadillo]; };
+fImport = derive { name="fImport"; version="3000.82"; sha256="07yqppl8sbfa0x9k4n7hh6hcgyxpcvlk74hhylib4nzqm70bn0sq"; depends=[timeDate timeSeries]; };
+fMultivar = derive { name="fMultivar"; version="3011.78"; sha256="115hqbbxsdjs5v2rhalg8vz0m5lyg8ppjjqmbq1x21jdnbg6l0fl"; depends=[timeDate timeSeries fBasics cubature mvtnorm sn]; };
+fNonlinear = derive { name="fNonlinear"; version="3010.78"; sha256="0pmz16b606i3mx05zjln4nyl53ks7rlwgm45ldr9qgmw51pflwz9"; depends=[timeDate timeSeries fBasics fGarch]; };
+fOptions = derive { name="fOptions"; version="3010.83"; sha256="01yr3hrfiq4hjhidl5pl1gcqg0myg4acmnipjhq70l3q50cfjm8l"; depends=[timeDate timeSeries fBasics]; };
+fPortfolio = derive { name="fPortfolio"; version="3011.81"; sha256="1rmyp2dv1jgrfj76mnggvi98ffa0yr8d9dlxxmg5pc6pdy2g4q4c"; depends=[timeDate timeSeries fBasics fAssets fCopulae robustbase MASS Rglpk slam Rsymphony Rsolnp kernlab quadprog rneos]; };
+fRegression = derive { name="fRegression"; version="3011.81"; sha256="1qyacwwa2mjq9szwwwfdnny4np68bj1j4bvfkywl7q7x44p4n5b4"; depends=[timeDate timeSeries fBasics lmtest mgcv nnet polspline]; };
+fSRM = derive { name="fSRM"; version="0.6.1"; sha256="0d545i4sqkmimy42jgryyafzxayr62prwa47x11v5kkd63gmn3j2"; depends=[lavaan plyr reshape2 ggplot2 scales foreign tcltk2 gridExtra]; };
+fTrading = derive { name="fTrading"; version="3010.78"; sha256="0qakjxnr5nslw06ywlj65m3w7pjgn5hixxc2rnqhvvvmjpdxybz7"; depends=[timeDate timeSeries fBasics]; };
+fUnitRoots = derive { name="fUnitRoots"; version="3010.78"; sha256="04nwwazd8jvzds6p4njzq4wpcsrvvvs0y9z8v8r402myd4856ssm"; depends=[urca timeDate timeSeries fBasics]; };
+factorQR = derive { name="factorQR"; version="0.1-4"; sha256="1vl01fm5qfyhnqbl5y86vkr50b8cv07vzlqs3v6smqaqq6yp4lv4"; depends=[lattice]; };
+factorplot = derive { name="factorplot"; version="1.1-1"; sha256="1l8pabf32dr12l7b4dgv5jaxpsjymgdxc51miv72zczrx8adc7da"; depends=[multcomp nnet]; };
+factualR = derive { name="factualR"; version="0.5"; sha256="1wz8ibcmilcx62yy29nd2i1pdmjf7fm0g9i5s58gdn8cjlhnw1jl"; depends=[RJSONIO RCurl]; };
+fail = derive { name="fail"; version="1.2"; sha256="0xzvb71iq20ah1x1zlb9kbx0r47jhqlzxx0sxwhkibglpzskg84z"; depends=[BBmisc]; };
+faisalconjoint = derive { name="faisalconjoint"; version="1.15"; sha256="08sb4za8qyadvigq2z7b0r44qk2lpahpnz9nv16xfjb1zhdkz5w3"; depends=[]; };
+falcon = derive { name="falcon"; version="0.1"; sha256="0yas8a8nqdp03s77k5z1xlyz59gapyx68pz0mf6i2snjwpgai59v"; depends=[]; };
+falsy = derive { name="falsy"; version="1.0"; sha256="16j6j7kf5xlqg6m2sfdfgpcjf9grrcfh9ij0282hnirgl7a4cvjd"; depends=[]; };
+fame = derive { name="fame"; version="2.18"; sha256="132wb59d15bs94fga5hwxxr9pklyp2rjn448nl8lx5spjrvycwf4"; depends=[tis]; };
+fanc = derive { name="fanc"; version="1.22"; sha256="10j6nggwg76qaycmwi7n6nd7y660c46af82bni2g4jj3fhgkl7ks"; depends=[Matrix]; };
+fanovaGraph = derive { name="fanovaGraph"; version="1.4.7"; sha256="19bzl6yrmi5lgyx6nq3f7i0rdaz2ig580h8116axrsxpx8c4d52x"; depends=[sensitivity igraph DiceKriging]; };
+fanplot = derive { name="fanplot"; version="3.4.0"; sha256="1arb10jxksicrdpgj8fq8r0sdnzvvdjjbw357aplqh422x54w4mp"; depends=[]; };
+faoutlier = derive { name="faoutlier"; version="0.4"; sha256="113qpwil669jr89kpqs6c6xzh0z3vp2hzfy98mh1dr2dvaznd06f"; depends=[sem lattice lavaan MASS]; };
+far = derive { name="far"; version="0.6-4"; sha256="166lhswdd1shx591wvx8a3lwzjini60mc37rbb3qvm6fxrb6fl55"; depends=[nlme]; };
+faraway = derive { name="faraway"; version="1.0.6"; sha256="10vj38chfnlz595pdi16v8gcwsbmn8a7p4gb0mm98dncyin5p2a3"; depends=[]; };
+farsi = derive { name="farsi"; version="1.0"; sha256="0y14f86bccwjirdx33383wa605y7l7lr0w7ygvg8r7f7izkv7r3n"; depends=[]; };
+fast = derive { name="fast"; version="0.63"; sha256="00ag9d0dwn9al104y93m8dclbjqabr9liif8gr19v3gv6k2k6p2c"; depends=[zoo]; };
+fastGHQuad = derive { name="fastGHQuad"; version="0.2"; sha256="0yv3wdyj7hs1gr3rq08k520v0ldmv5zzng709xjx2kchhwhmy8ah"; depends=[Rcpp Rcpp]; };
+fastHICA = derive { name="fastHICA"; version="1.0"; sha256="02lqqni7j2sp3ndb3kq785d7jf08p2s3ch30di8ffhwn57indald"; depends=[fastICA energy]; };
+fastICA = derive { name="fastICA"; version="1.2-0"; sha256="0ykk78fsk5da2g16i4wji85bvji7nayjvkfp07hyaxq9d15jmf0r"; depends=[]; };
+fastM = derive { name="fastM"; version="0.0-2"; sha256="0q5dz47sqj6d4r3k6l6q34l5ajb8fjbf7xam75scp0mg3czswnfn"; depends=[Rcpp Rcpp RcppArmadillo]; };
+fastR = derive { name="fastR"; version="0.8-1"; sha256="08p03i72zn0cbwjsxpnsknk0148dx3pfwkw740x7f52c3jgbb1gi"; depends=[mosaic lattice mosaicData]; };
+fastSOM = derive { name="fastSOM"; version="0.9"; sha256="03501d5289lrlr4qcgxciz160hqc6nhqb9ab266fr132fkbiv4id"; depends=[]; };
+fastclime = derive { name="fastclime"; version="1.2.4"; sha256="0z91khjzffwy4mbqgkfw4l9mw32sg4p5pvcg4v24z1q44pgnwn4y"; depends=[lattice igraph MASS Matrix]; };
+fastcluster = derive { name="fastcluster"; version="1.1.16"; sha256="0x2prrsnqi5iqx23ki6y2agndjq8058ph6s703i4avrqi1q1w1q8"; depends=[]; };
+fastcox = derive { name="fastcox"; version="1.1.1"; sha256="1a5i0ragl0r6p29iamkn04igakiwyysykfbs2p6ybgy8pfdq69sv"; depends=[Matrix]; };
+fastmatch = derive { name="fastmatch"; version="1.0-4"; sha256="16gfizfb1p7rjybrfm57nb6hdm30iirbppva8p8xf8pndz35fjbs"; depends=[]; };
+fastpseudo = derive { name="fastpseudo"; version="0.1"; sha256="0paag4pjh3gs270j663bsl65sfrq43gk2zzqmalr03fmcckp6aaj"; depends=[]; };
+fat2Lpoly = derive { name="fat2Lpoly"; version="1.1.1"; sha256="0xgxlx9m6lgcn784892g2xvnabyq8k45wi3xrszrbdxxa7zqd1i4"; depends=[kinship2 multgee]; };
+fbRanks = derive { name="fbRanks"; version="2.0"; sha256="17kbmdpgqkj2n951c6mdsrgfga6kiij1gqiw1wpi0q3fq4dlfrzx"; depends=[igraph stringr]; };
+fbati = derive { name="fbati"; version="1.0-1"; sha256="1ia67dg9b61kc14mjg7065v0c6n6agdp8cjdviasyzga00wzsyxj"; depends=[pbatR fgui rootSolve]; };
+fcd = derive { name="fcd"; version="0.1"; sha256="091wbf5iskcgyr7jv58wrf590qijb0qcpninmvm3xrwxi34r37xr"; depends=[glmnet MASS combinat]; };
+fclust = derive { name="fclust"; version="1.1"; sha256="1nimfgirpcff5dqqx2jqn25ma9j0agffimymrv9x5ivfdncdflbg"; depends=[]; };
+fcros = derive { name="fcros"; version="1.3"; sha256="1ylkma69gfc5ij3vvf1axyasya31qm5bwj2bjlvj12byf52wsiy8"; depends=[]; };
+fda = derive { name="fda"; version="2.4.4"; sha256="05rvrp29ip1wrk2wly06wdry2a2riynkx677nx5lg240lz12d6yw"; depends=[Matrix]; };
+fda_usc = derive { name="fda.usc"; version="1.2.1"; sha256="1w0dw06vgviia4yy2v5mrq0jvnfvdp7y8f2x246v3xliqgjmg7as"; depends=[fda MASS mgcv rpart]; };
+fdaMixed = derive { name="fdaMixed"; version="0.4"; sha256="15m13v71kqxd9gqiymgfkq0dvcpzp05576m8zkg08m0k067ga9bd"; depends=[Formula Rcpp Rcpp RcppArmadillo]; };
+fdakma = derive { name="fdakma"; version="1.2"; sha256="17nbaal3m2rz423fq34fia8pb75dzdzsj5d8w6g2iwckqbapszn0"; depends=[]; };
+fdasrvf = derive { name="fdasrvf"; version="1.4.2"; sha256="12x04fi0sxs9yh1mf9iykk69zlz6m31j7s01in28p5hgk6wqf8fi"; depends=[foreach mvtnorm matrixcalc numDeriv]; };
+fdatest = derive { name="fdatest"; version="2.1"; sha256="0zdnmssir5jz2kbfz4f4xshjfv4pivqx7cbh2arlx6ypkjrjws8n"; depends=[fda]; };
+fdrDiscreteNull = derive { name="fdrDiscreteNull"; version="1.0"; sha256="1388a9hjbgblmhx5f3ddk16kigzsik9bvw179d1szk33kadfq2vp"; depends=[MCMCpack]; };
+fdrci = derive { name="fdrci"; version="2.0"; sha256="0smyl9phl02wghimawvff3h267w3h213jbqpka155i6cfzig9qjy"; depends=[]; };
+fdrtool = derive { name="fdrtool"; version="1.2.14"; sha256="0q4mxm3vxhvxxbkgl9vxs3q93icipg9hz7qcr4vas8cks1hmzbdw"; depends=[]; };
+fds = derive { name="fds"; version="1.7"; sha256="164f2cbywph7kyn712lfq4d86v22j4y3fg5i9zyz956hipqv0qvw"; depends=[rainbow RCurl]; };
+fdth = derive { name="fdth"; version="1.1-8"; sha256="195219rndjcccd3b1gn3xc9iky8f3w5ig8x9822d4a2xajr78jnv"; depends=[]; };
+feature = derive { name="feature"; version="1.2.11"; sha256="0dgiv9gwyklnw8w0cpchakadc1vqcngjg39cha6gvl2i3csgxz4p"; depends=[ks rgl misc3d]; };
+features = derive { name="features"; version="2011.8-2"; sha256="0yshwqv2mzl5jj323jwxscpz2ygb4ywxh6q0zwphb24bhv7h9lwd"; depends=[lokern]; };
+fechner = derive { name="fechner"; version="1.0-2"; sha256="0yhiqr0wlka3wq0nhwy9n02ax3x5b0y803iadbsr3xb54pxbfbqd"; depends=[]; };
+federalregister = derive { name="federalregister"; version="0.1.2"; sha256="0f73jhzhqi3a97iyfx5c5i09vxwnyypgw6668z7nch8lvq337s8x"; depends=[RCurl RJSONIO]; };
+ff = derive { name="ff"; version="2.2-13"; sha256="1nvd6kx46xzyc99a44mgynd94pvd2h495m5a7b1g67k5w2phiywb"; depends=[bit]; };
+ffbase = derive { name="ffbase"; version="0.11.3"; sha256="0n65i2a91jjjpzfw3placf6j6sbf8azzd1sck4adha6iiwpi8b1n"; depends=[ff bit fastmatch]; };
+ffmanova = derive { name="ffmanova"; version="0.2-2"; sha256="0sw8br73mx552m4b5zi4qgjcrwxflmgsnvs4mlnxh8g2gaf5bx4j"; depends=[]; };
+fftw = derive { name="fftw"; version="1.0-3"; sha256="01nncrf2p0yq49lhd5aq4hvhp87f25r0x7siqnaldv5zq24krl30"; depends=[]; };
+fftwtools = derive { name="fftwtools"; version="0.9-7"; sha256="1pd6ri9qh8rj5dahznl38l6haa1x6f2w91mxi83lic76lpddnxly"; depends=[]; };
+fgac = derive { name="fgac"; version="0.6-1"; sha256="0paddf5a4w0g2i0ay7my0bppwh534d8ghy6csfxl5jj034xjgwkk"; depends=[]; };
+fgof = derive { name="fgof"; version="0.2-1"; sha256="0bclkb3as0fl2gyggqxczndfyj9pfnni5pa3inpn5msrnjg4g2j2"; depends=[mvtnorm numDeriv]; };
+fgpt = derive { name="fgpt"; version="2.3"; sha256="1d0qzsn4b68jhk07k97iv765jpmzzh1gwqpid0r76vg4cwqfs3n7"; depends=[]; };
+fgui = derive { name="fgui"; version="1.0-5"; sha256="0gzwxzvf2y9p5rlfk862d7l1dm2sdwjhjpcb8p494cj4g1xshazg"; depends=[]; };
+fields = derive { name="fields"; version="8.2-1"; sha256="1zsi3ngp50f61nn93lh1v895as4lp63znf7bzn2q3hsl6ncaylbc"; depends=[spam maps]; };
+fifer = derive { name="fifer"; version="1.0"; sha256="0vbkks6y6pacgpiixm10fbfa34lmk5r9kwd30lfjf0g7r51fhvv9"; depends=[xtable MASS]; };
+filehash = derive { name="filehash"; version="2.2-2"; sha256="0766wrc42qh7r99bd2zy50vvdnqlz0vkzplskzkm5f4g63qdhjxh"; depends=[]; };
+filehashSQLite = derive { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[filehash DBI RSQLite filehash DBI]; };
+filenamer = derive { name="filenamer"; version="0.2"; sha256="0f2xvqp75b8v59707z26y746vvag3f2mcykafqp5cy8cqrf7x61j"; depends=[]; };
+financial = derive { name="financial"; version="0.2"; sha256="1v6jgs3rq57byin5mynslfjk3zrx91qz36558nn17mv6z0qsf10v"; depends=[]; };
+findpython = derive { name="findpython"; version="1.0.1"; sha256="0fa01znc9cckj4ay4zmwmssm2lkhmsw6h07y1pwgd6z1b2pj7bns"; depends=[]; };
+fingerprint = derive { name="fingerprint"; version="3.5.2"; sha256="042aycxs00rglqh2y27bjlwkk6z312gavli7g8xvqfx1lisijrjk"; depends=[]; };
+finiteruinprob = derive { name="finiteruinprob"; version="0.4"; sha256="0wcllbqkryll3v3fjb6k210pcgkskzrpa78gg8nda0jvkij11zb7"; depends=[sdprisk numDeriv]; };
+fishMod = derive { name="fishMod"; version="0.25"; sha256="0mg1bziz2ia406m4ilc7hw1bghrgdibm537hnlf9ffhfayjc4kid"; depends=[]; };
+fisheyeR = derive { name="fisheyeR"; version="0.9"; sha256="1w6va7gakqq2q8hsvdszpn8s2ysdfc648bk5p5v3wbl5s403bci8"; depends=[tkrplot]; };
+fishmethods = derive { name="fishmethods"; version="1.7-0"; sha256="0kgfv78f8a460nfvpfrrqfiy3ipbl3775axydal3vm1zf4l6k2z3"; depends=[MASS boot bootstrap]; };
+fishmove = derive { name="fishmove"; version="0.2-1"; sha256="1b8drjvslmpqnq5v3axrshrl2xq87h3x5cgfnibbhn4slrxw55v9"; depends=[ggplot2 plyr]; };
+fit_models = derive { name="fit.models"; version="0.5-10"; sha256="06pj26dbnq6mf9wxinvjzwyn36656f66a4bmky36r7fzi92gf3d8"; depends=[lattice]; };
+fit4NM = derive { name="fit4NM"; version="3.3.3"; sha256="0k2194521yby6xxi77bpjp6ywz8kpnzws217m7n0hw6xwz5mqj1g"; depends=[gWidgets tkrplot RGtk2 gWidgetsRGtk2 cairoDevice]; };
+fitDRC = derive { name="fitDRC"; version="1.1"; sha256="1f6avw8ia9ks17zdagpmh6yvcmi53h5cvm0wwv9hsb92x5zfhxn9"; depends=[]; };
+fitTetra = derive { name="fitTetra"; version="1.0"; sha256="0ia6wk4gicpmn6kclsd28p7v1npwfv2blagiz0cxzwfw3njv103g"; depends=[]; };
+fitbitScraper = derive { name="fitbitScraper"; version="0.1.1"; sha256="1qmrf4lvvqhjsvnslhycy4wg7irsv7l8hr8g94l9p867cz42h58r"; depends=[httr stringr RJSONIO]; };
+fitdistrplus = derive { name="fitdistrplus"; version="1.0-4"; sha256="02ds5vmxc3rk50c33rxdnpqf2hbx186ss6br29n6538q7734nra9"; depends=[survival]; };
+flam = derive { name="flam"; version="1.0"; sha256="0jyx0wff5zdpnhgxz74k6fxgwdnl7khanahv63af22y0mqpd066f"; depends=[MASS]; };
+flare = derive { name="flare"; version="1.5.0"; sha256="03bq40lwwq49vvbarf37y7c3smm29mxqfxsc66gkg8l5pak4l38i"; depends=[lattice MASS Matrix igraph]; };
+flashClust = derive { name="flashClust"; version="1.01-2"; sha256="0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"; depends=[]; };
+flexCWM = derive { name="flexCWM"; version="1.4"; sha256="0v8vrf3wy4dsqzrmxdsrp1vin4188frkyp71xxsv7nbg7xgf2i83"; depends=[numDeriv mnormt mclust ellipse mixture Flury adehabitat MASS statmod]; };
+flexclust = derive { name="flexclust"; version="1.3-4"; sha256="1x9gyg69kb3wn02w885kl6hcwpf2ki66gzfayvc83jisrwxvdfvv"; depends=[lattice modeltools]; };
+flexmix = derive { name="flexmix"; version="2.3-13"; sha256="1i205yw3kkxs27gqcs6zx0c2mh16p332a2p06wq6fdzb20bazg3z"; depends=[lattice modeltools nnet]; };
+flexsurv = derive { name="flexsurv"; version="0.5"; sha256="0a0mhnz9xayb0pjx4glq09yiz8jplynkq8aniw9saxdik8zd1srg"; depends=[survival muhaz mvtnorm deSolve]; };
+flip = derive { name="flip"; version="2.4.3"; sha256="04zf2gnk5w57gxnlnh26pn1ir1wfrzxhfhchr33ghk7prhc7k4b8"; depends=[e1071 someMTP cherry Rcpp Rcpp RcppArmadillo]; };
+flora = derive { name="flora"; version="0.2.4"; sha256="1rdwdx7mphfr7sk3yba0vhbsh3xggz2k6ip8dmfiqjjhv2vxji5k"; depends=[shiny]; };
+flower = derive { name="flower"; version="1.0"; sha256="1h2fvpjrvpbyrqb8hd51sslr1ibpwa7h9fiqy9anvf2yim5j11yq"; depends=[]; };
+flowfield = derive { name="flowfield"; version="1.0"; sha256="1cx3i0w3xq781mmms4x20fshlf1i9bwxw9bxx562crix3fq3m50j"; depends=[]; };
+flsa = derive { name="flsa"; version="1.05"; sha256="07z2b1pnpnimgbzkjgjl2b074pl9mml7nac2p8qvdgv7aj070cmh"; depends=[]; };
+flux = derive { name="flux"; version="0.3-0"; sha256="0pc9cab2pwrfl0fnz29wp7a398r49hvbi50jp8i2fk2rfvck21a7"; depends=[caTools]; };
+fma = derive { name="fma"; version="2.01"; sha256="1j5mvhbrdnkyj4svibpahnz7d4221nkhja5b7fnh68mbmil607fc"; depends=[tseries forecast]; };
+fmri = derive { name="fmri"; version="1.5-1"; sha256="0dla5w8x4njw2njryb35nqh4r31wdps9bl5wzab2grzl546wwmwm"; depends=[]; };
+fmsb = derive { name="fmsb"; version="0.5.1"; sha256="0y9h29a2wsngx73vn07f31l8ffrrm0si3qqx60hgxmb57v501kqz"; depends=[]; };
+fmt = derive { name="fmt"; version="1.0"; sha256="13gsywnyvf9zy5n644g2xyd60f92w2dp7vil2dncjvjcqsib22a0"; depends=[]; };
+foba = derive { name="foba"; version="0.1"; sha256="1af8whgl66v0vwzdf03b6141k3dysdc0svymlgifcga5gqkwzsl0"; depends=[]; };
+fontcm = derive { name="fontcm"; version="1.1"; sha256="1z6b4qdgj5vhvjqj90sm1hp0fffi1vxzvq71p0flxybzyb7d15la"; depends=[]; };
+foodweb = derive { name="foodweb"; version="1-0"; sha256="1zm2a87g9bkpz90j9lax28s5hq1w7ia28qqb6vnvr1d7a47g9zi9"; depends=[rgl]; };
+forams = derive { name="forams"; version="2.0-4"; sha256="1kvxlqdyzb3rqa45hp7jxjm009w0r6h78nr3yh9bqcz594zqidbq"; depends=[vegan]; };
+foreach = derive { name="foreach"; version="1.4.2"; sha256="097zk7cwyjxgw2i8i547y437y0gg2fmyc5g4i8bbkn99004qzzfl"; depends=[codetools iterators]; };
+forecast = derive { name="forecast"; version="5.9"; sha256="0x77jdr0qsb3mn9gwzm6gbbhnnn9yhsd1b1hsldj9lpf5ykzf4qc"; depends=[zoo timeDate tseries fracdiff Rcpp nnet colorspace Rcpp RcppArmadillo]; };
+foreign = derive { name="foreign"; version="0.8-63"; sha256="1g5hl8drcmh2c9kpkr4443nw7dsxjwqsqs1q4bnhvw2lizs8bfb2"; depends=[]; };
+forensic = derive { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[genetics combinat]; };
+forensim = derive { name="forensim"; version="4.3"; sha256="1jhlv9jv832qxxw39zsfgsf4gbkpyvywg11djldlr9vav7dlh3iw"; depends=[tcltk2 tkrplot]; };
+forestplot = derive { name="forestplot"; version="1.1"; sha256="1h28lwqdizs450bm5hb8zfbmx633n8v5bj2p8mi4cl814sjjylr0"; depends=[]; };
+formatR = derive { name="formatR"; version="1.0"; sha256="18wv05ijdymipnyxy5h34y3nbx42ifk79qiapfgx5fjjzpspq6q5"; depends=[]; };
+formula_tools = derive { name="formula.tools"; version="1.3.4"; sha256="1xxl45x88fpskwvfj6sbcbfng84plpf8sjrkwawzki9a41ydhwaq"; depends=[operator_tools]; };
+fortunes = derive { name="fortunes"; version="1.5-2"; sha256="1wv1x055v388ay4gnd1l8y6dgvamyfvmsd0ik9fziygwsaljb049"; depends=[]; };
+forward = derive { name="forward"; version="1.0.3"; sha256="0swn5ysp3f660kl9jpmkck9324j1g3yhj2hl238rfrcr5wihxifc"; depends=[MASS]; };
+fossil = derive { name="fossil"; version="0.3.7"; sha256="188hyb3r1dnxkmqf2czh1kdzmk4mjc0v1kn1zml2yvxaxk7adsrz"; depends=[sp maps shapefiles]; };
+fpc = derive { name="fpc"; version="2.1-9"; sha256="01x7zcsbz9n10dxx8plb37c7z7pfz1xd5dvfrij3na327mny3pxs"; depends=[MASS cluster mclust flexmix prabclus class diptest mvtnorm robustbase kernlab trimcluster]; };
+fpca = derive { name="fpca"; version="0.2-1"; sha256="13b102026xlfb7c2rb3xsqsymm7xpmaxppaafjkb5dx0b1lz0jrc"; depends=[sm]; };
+fpow = derive { name="fpow"; version="0.0-2"; sha256="0am3nczimcfrm9hi02vl2xxsh703qjmr2j11y014mll3f2v1l8cy"; depends=[]; };
+fpp = derive { name="fpp"; version="0.5"; sha256="1jqnx6bgpvnbbj2fa2b6m6aj8jd5cb9kz877r8kp7a5qj62xv1ww"; depends=[forecast fma expsmooth lmtest tseries]; };
+fptdApprox = derive { name="fptdApprox"; version="2.0"; sha256="152bajs76wrapp0zdbkckff6kdkkm6sqqlqd2w220hsi96l2p9dh"; depends=[]; };
+fracdiff = derive { name="fracdiff"; version="1.4-2"; sha256="03l5dqpqwwi5c8fwc2vissfawcsignai60h2zalknkibvk782dwq"; depends=[]; };
+fractal = derive { name="fractal"; version="2.0-0"; sha256="17wz3c9f1l1rphzdn7j27j5nb1ll6j84f9ihk0z6fni41050szv7"; depends=[splus2R ifultools sapa wmtsa scatterplot3d]; };
+fractaldim = derive { name="fractaldim"; version="0.8-4"; sha256="0fln4qn0d79agnnlzi8b9g9qn90zynq1cg9v5isiyi71345v45nr"; depends=[abind]; };
+fractalrock = derive { name="fractalrock"; version="1.1.0"; sha256="15f4w8hq3d8khgq269669ri16qxhar9646w40cw7wzh79r9gpf00"; depends=[futile_any futile_logger timeDate quantmod]; };
+frailtyHL = derive { name="frailtyHL"; version="1.1"; sha256="1xjdph0ixanf9w4b6hx6igfhkcp8h93sclrg0pgqgmbvm41lhb1x"; depends=[Matrix numDeriv survival]; };
+frailtypack = derive { name="frailtypack"; version="2.7.5"; sha256="1wjb8l6aj1lsmbgczfag8a96r0z235yj315kr7dpkqkninn2bqwk"; depends=[survival boot MASS survC1]; };
+frair = derive { name="frair"; version="0.4"; sha256="1g52ykj1m9znpp0pvry7dnmhg4m73nbkw0bp31zl6pcsdgmxxqjr"; depends=[bbmle emdbook boot]; };
+frbs = derive { name="frbs"; version="3.0-0"; sha256="0v2l8s5jla8jsl9izqfpxhcd1dnrxsa0czlhq1wmx5k06jvbvpdw"; depends=[]; };
+freeknotsplines = derive { name="freeknotsplines"; version="1.0"; sha256="19zs42q9njknirdbrbnp8bv4vr32kd8wxmkqj0a0nh06i5fcx67r"; depends=[]; };
+freestats = derive { name="freestats"; version="0.0.3"; sha256="0b18n8idap089gkmjknzzb94dvs2drpdqs0mrw7dqnacxgbbqwfj"; depends=[MASS mvtnorm]; };
+freqMAP = derive { name="freqMAP"; version="0.2"; sha256="02hpkqqrxifrr1cxn5brp166jwa8lgl1mcgmq7s8csrbbd900ziv"; depends=[]; };
+freqparcoord = derive { name="freqparcoord"; version="1.0.0"; sha256="0hn5y10yp3j76lqrmj6dsaafamgy4pfxx1p4y92z17s79x29j59q"; depends=[ggplot2 GGally FNN mvtnorm]; };
+freqweights = derive { name="freqweights"; version="1.0.1"; sha256="13wy8nzs888yn7ld96qq3p7k3xjn6s38qdlfb3nqmh52daqcnn7m"; depends=[plyr dplyr data_table biglm fastcluster FactoMineR]; };
+frm = derive { name="frm"; version="1.2.2"; sha256="1dl0vca9r2dams99sc13pfpi0b3yb02x59f4c1jz07zz005c8l23"; depends=[]; };
+frmhet = derive { name="frmhet"; version="1.1.2"; sha256="1a6q5qz22b4sx5l1jz50x1q3bz8sj91dj2cahq28h6ss5b8vfn0y"; depends=[]; };
+frmpd = derive { name="frmpd"; version="1.0.1"; sha256="104frdraawj8g76589kz4csbgzkvs4rgdhgwmb77srhqp5nc8v96"; depends=[]; };
+frmqa = derive { name="frmqa"; version="0.1-5"; sha256="0vd5jnjzhkc0vd4cqn4cs6a3limd4fxwyb5i7845rwmkzk1944aj"; depends=[partitions Rmpfr]; };
+frontier = derive { name="frontier"; version="1.1-0"; sha256="0k2ap22qddzki63biikr1jzi5vmqz4j06d7qrf1y8axdq1q1cr44"; depends=[micEcon lmtest moments Formula miscTools]; };
+frontiles = derive { name="frontiles"; version="1.2"; sha256="08qq25wbylvhvmq34wggyj0hwdlxfs9rfs8gjqsrg50xccchniqi"; depends=[classInt colorspace rgl sp]; };
+frt = derive { name="frt"; version="0.1"; sha256="1qy76a1wkznaqzlyj1nq74mf1pnyly1s8gnff8q30zfccqk68cxv"; depends=[]; };
+fscaret = derive { name="fscaret"; version="0.9.3"; sha256="0jfksc0m2jjgik2zbrmhjb8ngr5s58nxqrx68wd59vpnxixn0fv4"; depends=[caret gsubfn hmeasure]; };
+fsia = derive { name="fsia"; version="1.0"; sha256="0qa4avd1xiwh1ih1cj067r7vipab2ngspq7hfd0xbapwx87fggrg"; depends=[]; };
+fslr = derive { name="fslr"; version="1.3"; sha256="0668fpr3avqhyq42an9la71ln40kfjnf108nmkrwndvwl864i99w"; depends=[stringr oro_nifti matrixStats]; };
+fso = derive { name="fso"; version="2.0-1"; sha256="02dr12bssiwn8s1aa1941hfpa4007gd65f3l4s74gs2vgjzdxf8s"; depends=[labdsv rgl]; };
+ftnonpar = derive { name="ftnonpar"; version="0.1-88"; sha256="0df9zxwjpfc939ccnm1iipwhpf76b34v0x74nsi1mm1g927dfl0i"; depends=[]; };
+fts = derive { name="fts"; version="0.9.9"; sha256="1qgp8xdwr5pp2b7nd8r717a6p8b6izwqrindx2d1d0lhhnqlcwhv"; depends=[zoo BH]; };
+ftsa = derive { name="ftsa"; version="4.2"; sha256="0yph80a51lphv7kqrpcm01rga8pq3ngfimzada7lghycac9ab4rf"; depends=[forecast rainbow colorspace MASS pcaPP R2jags]; };
+fueleconomy = derive { name="fueleconomy"; version="0.1"; sha256="1svy5naqfwdvmz98l80j38v06563vknajisnk596yq5rwapl71vj"; depends=[]; };
+fugeR = derive { name="fugeR"; version="0.1.2"; sha256="0kd90s91vzv0g3v9ii733h10d8y6i05lk21p5npb3csizqbdx94l"; depends=[snowfall Rcpp Rcpp]; };
+fun = derive { name="fun"; version="0.1-0"; sha256="0z4nq2w1wz1clc7cf87pf870hayxq5mpzhllfgwj4mmh2xpphnrf"; depends=[]; };
+funFEM = derive { name="funFEM"; version="1.1"; sha256="08798lvryykrxfvp2297anzl4gi81gwvc1qyyzq16nafjf65kwfy"; depends=[MASS fda elasticnet]; };
+funHDDC = derive { name="funHDDC"; version="1.0"; sha256="038m64yv27wz7ki2gcn94q011p8mv0ggmli5n27y0f5bnkfh6d6w"; depends=[fda]; };
+functional = derive { name="functional"; version="0.6"; sha256="120qq9apg6bf39n9vnp68db5rdhwvnj2vi12a8j8243vq8kqxdqr"; depends=[]; };
+funreg = derive { name="funreg"; version="1.1"; sha256="1sxr4mylcpbya197d55yi6d7g5pfspaf59xxbwjgmwgjw06rl76r"; depends=[MASS mgcv mvtnorm]; };
+funtimes = derive { name="funtimes"; version="1.0"; sha256="0jdl09x0fvfz08xyg1yfyhn0lgg8ycqbli4ag9js0yva8pwab7lh"; depends=[Jmisc]; };
+futile_any = derive { name="futile.any"; version="1.3.0"; sha256="1c7pj64kz09qzwrxvkp1w1w8mvxwq36zkj6w4b7yyi8v7x3daq2a"; depends=[lambda_r]; };
+futile_logger = derive { name="futile.logger"; version="1.4"; sha256="1sn28kmphjxxq1bqyjbsv75bnh71pwngcfar5l18jr8x9ymjq4zk"; depends=[lambda_r futile_options]; };
+futile_matrix = derive { name="futile.matrix"; version="1.2.2"; sha256="1cb975n93ck5fma0gvvbzainp7hv3nr8fc6b3qi8gnxy0d2i029m"; depends=[lambda_r lambda_tools futile_logger RMTstat]; };
+futile_options = derive { name="futile.options"; version="1.0.0"; sha256="1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f"; depends=[]; };
+futile_paradigm = derive { name="futile.paradigm"; version="2.0.4"; sha256="14xsp1mgwhsawwmswqq81bv6jfz2z6ilr6pmnkx8cblyrl2nwh0v"; depends=[futile_options RUnit]; };
+fuzzyFDR = derive { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; };
+fuzzyMM = derive { name="fuzzyMM"; version="1.0.1"; sha256="1pqfc9b9l2xx5pl45hfildikqjsdgqfhqzi2nbb34026nla5m8vk"; depends=[osmar frbs igraph rgeos rgdal]; };
+fuzzyRankTests = derive { name="fuzzyRankTests"; version="0.3-5"; sha256="1g09506bbpk05a2r2wxjynjs8dmjd2q7x74d83vjscg1kdk4kazq"; depends=[]; };
+fwdmsa = derive { name="fwdmsa"; version="0.2"; sha256="0p0kh8am6gajfaixkvq61f12hfbm6chl9372yzn1yilhiyvqdxgp"; depends=[]; };
+fwi_fbp = derive { name="fwi.fbp"; version="1.5"; sha256="08ngg70vi2fca5yblm2gf1lkjjmb6m39d8q6429n7i3jn6ca5nzf"; depends=[]; };
+fwsim = derive { name="fwsim"; version="0.3.3"; sha256="1ix4sl2krlr0b0wfgvy73qhpmkjymqcci3q3v60j20zapi55gxn2"; depends=[Rcpp Rcpp]; };
+fxregime = derive { name="fxregime"; version="1.0-3"; sha256="15fh8yhcba2gw2xfd0yiw5ssvbgb62l6vb28bxz71ckdyv9nsahk"; depends=[zoo strucchange car sandwich]; };
+g_data = derive { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; };
+gCat = derive { name="gCat"; version="0.1"; sha256="10990ilsjk52kqkcdngj4nq0kcbn4w1syxl1mqjq2n5g1l002yjy"; depends=[]; };
+gIPFrm = derive { name="gIPFrm"; version="2.0"; sha256="1syjsnna7b7y27yf7zsxjwq8z5f4wxf2hfadhgjaw898gvfcnrbc"; depends=[]; };
+gMCP = derive { name="gMCP"; version="0.8-8"; sha256="0568pqvcbrpqbppvpvmgxf23rzy1fgl892asq9lhcjslzsz89an5"; depends=[rJava JavaGD xlsxjars MASS PolynomF multcomp mvtnorm Matrix CommonJavaJars]; };
+gMWT = derive { name="gMWT"; version="0.9"; sha256="0c91bwwfm0qyqrrd3n9g6l8kackqm58hmamypn1awzpz1p13axyv"; depends=[clinfun Rcpp RcppArmadillo Rcpp RcppArmadillo]; };
+gPCA = derive { name="gPCA"; version="1.0"; sha256="1ylb1d24dxnzpws9bbanwhyizjr3ljky2bhrph4c5yaq0zwwbrkw"; depends=[]; };
+gPdtest = derive { name="gPdtest"; version="0.4"; sha256="00dlhnklfg2yp4hp7yjgr2nfswv22c007xq1mxdbkll62zgd94mq"; depends=[]; };
+gProfileR = derive { name="gProfileR"; version="0.5"; sha256="0jadfj2hcn3zx4ph61685p5iz16330jccp5ipi8183dkcybvimw4"; depends=[RCurl plyr]; };
+gRain = derive { name="gRain"; version="1.2-3"; sha256="0cxlni9b4p4g02zhhsbbpkwhx9y3x83vm7qd6lsca02yi96palsi"; depends=[gRbase igraph]; };
+gRapHD = derive { name="gRapHD"; version="0.2.4"; sha256="0fxd04s6zh23chks4k6nwb5w408xjy89b44pa42kv6qnqj86ylvm"; depends=[]; };
+gRapfa = derive { name="gRapfa"; version="1.0"; sha256="07yzwzna9pdyzndxk6wwyl6v3gkfc7dvy1ixmdl3d38mcl1ahwyq"; depends=[igraph]; };
+gRbase = derive { name="gRbase"; version="1.7-0.1"; sha256="1x52i4c5jbry17y1pfnjq03kz4xxnk3anidva41z5alp7c73zlqv"; depends=[Matrix igraph Rcpp Rcpp RcppArmadillo RcppEigen]; };
+gRc = derive { name="gRc"; version="0.4-1"; sha256="1a6q24yj7js1sk0lfqbm7kdv605cby6i711w4dlygsxdvwxbrsdr"; depends=[gRbase]; };
+gRim = derive { name="gRim"; version="0.1-17"; sha256="0vn031r318kp78cx00n43fc42bv6sjyb8dm6q0l08s0g9n2w17dp"; depends=[gRbase gRain igraph Rcpp RcppArmadillo]; };
+gSeg = derive { name="gSeg"; version="0.1"; sha256="0qnv3c0rla0g2fb4s4x1i0zdp3dlvi98qf80wlr54gnn7s9vpjf1"; depends=[]; };
+gWidgets = derive { name="gWidgets"; version="0.0-54"; sha256="13lbbbnmkvb559klgsnz0q27qlyv102xakb6yccxsxjw249hm8c2"; depends=[]; };
+gWidgets2 = derive { name="gWidgets2"; version="1.0-5"; sha256="1y6vm6ds77yr1qiqlcaixbsarbwx5w53ba343svla7wva80ajbpl"; depends=[digest]; };
+gWidgets2RGtk2 = derive { name="gWidgets2RGtk2"; version="1.0-3"; sha256="041d510rxghcj5h6zw5258f4jnj1j9ycq2kdh0kl81fjr8n992jv"; depends=[memoise RGtk2 gWidgets2]; };
+gWidgets2tcltk = derive { name="gWidgets2tcltk"; version="1.0-4"; sha256="1c9vfnr6j4lvshvdzp88a45pjrdl0dfhr1rxlpz95d3cks9rfq1f"; depends=[digest memoise gWidgets2]; };
+gWidgetsRGtk2 = derive { name="gWidgetsRGtk2"; version="0.0-83"; sha256="1kn2095jx1amyzbkvgf7m466zqfv548n232xc555bpsrw9ma5qhk"; depends=[RGtk2 gWidgets cairoDevice]; };
+gWidgetstcltk = derive { name="gWidgetstcltk"; version="0.0-55"; sha256="06991rqh4927bal7j718bn2ziy6rws8yq682lmp5vbqhdd36afv2"; depends=[gWidgets digest]; };
+gains = derive { name="gains"; version="1.1"; sha256="1mn8db8yxgkf8z6nm6k76g5l3i3vnw750ksg3w9ysd2pcabb65g1"; depends=[]; };
+galts = derive { name="galts"; version="1.3"; sha256="0b18hsdcsx43rn8l4x9nhy9hgggjr5b8kvjnbxrf6r23qsdk43mn"; depends=[genalg DEoptim]; };
+gam = derive { name="gam"; version="1.09.1"; sha256="09p83ki821x57kc74klh6i1h8bz3acsrvibz3mzzcgq6sa8gzr5i"; depends=[]; };
+gamair = derive { name="gamair"; version="0.0-8"; sha256="11qwmhrzks8gi9is2n9xcy6cviy7a8mwh2v78fw78x7g7ccd8i9x"; depends=[]; };
+gambin = derive { name="gambin"; version="1.1"; sha256="197k8j6mvf8236gwg8vvfnskf4hic9y075chsd8214n1nk7i6jmz"; depends=[]; };
+gamboostLSS = derive { name="gamboostLSS"; version="1.1-3"; sha256="1gdsrizr4q5zyfs2g8c8fdwriqz0xrpq9vyy4wd2ywdh5lbi995b"; depends=[mboost]; };
+gamboostMSM = derive { name="gamboostMSM"; version="1.1.87"; sha256="0if0x92lch57ksll8d5i3jzk0kh40593b20c17g3hvc33920c7r0"; depends=[mboost]; };
+gamclass = derive { name="gamclass"; version="0.55"; sha256="0nhy1qdc221hsnby8j0m2a4x4a8qwfixbaq4gd22rn1xpbsdnfw3"; depends=[car mgcv DAAG MASS rpart randomForest lattice latticeExtra ape KernSmooth]; };
+games = derive { name="games"; version="1.1.2"; sha256="01hbbr2hsxi5j9axpdl0jihpd55pa9hacjxmab8p7cixk3xqqqbf"; depends=[maxLik Formula MASS stringr]; };
+gamlr = derive { name="gamlr"; version="1.12-1"; sha256="17vfb3kac5y3xfw8s1m8czm5bq5z6x6lc43f2szj5lv84mf2r6y7"; depends=[Matrix]; };
+gamlss = derive { name="gamlss"; version="4.3-4"; sha256="0qbxcfvhy8blswzv8194x9f08p25vhknnm3h4hhz9lp5gh536fbk"; depends=[gamlss_data gamlss_dist nlme MASS survival]; };
+gamlss_add = derive { name="gamlss.add"; version="4.3-3"; sha256="0cs4mcpm0ckaim3g8q7m4yb6y3izqgvndzgkqgrwr75cxz0wd4vh"; depends=[gamlss_dist gamlss mgcv nnet rpart]; };
+gamlss_cens = derive { name="gamlss.cens"; version="4.3.1"; sha256="1y3a4b6n86h0r287065kr574ix0qpc2nnjpp8fp49nbpxwxlz962"; depends=[gamlss_dist gamlss survival]; };
+gamlss_data = derive { name="gamlss.data"; version="4.2-7"; sha256="0g3fmqrwxmj14r0p0ai1adq6cs3bd3ys47gjcja035xjiajg6cs2"; depends=[]; };
+gamlss_demo = derive { name="gamlss.demo"; version="4.3-1"; sha256="04xl2ddf8wg2j8m05y8j5avcgfrr55a7g6m9wzxx4k599m0c7c8i"; depends=[rpanel gamlss_dist gamlss_tr]; };
+gamlss_dist = derive { name="gamlss.dist"; version="4.3-4"; sha256="0aymwh1lrjalravqf6nfz716v4r805aw82dsi0sn2nlb00fi8w2x"; depends=[MASS]; };
+gamlss_mx = derive { name="gamlss.mx"; version="4.3-1"; sha256="1sjm8a44nh88mvscpspyqsp2agjhwibi4kbyizyi78dmzf2sakiq"; depends=[gamlss_dist gamlss nnet]; };
+gamlss_nl = derive { name="gamlss.nl"; version="4.1-0"; sha256="083l5lsb0csxcp4vffvdv2nr7jk3s2gkcavx66m8inzw16j7xilz"; depends=[gamlss survival]; };
+gamlss_spatial = derive { name="gamlss.spatial"; version="0.2"; sha256="0sjb47gnzrab4y23c0z7cxqq5k46k2rb31lmqws2c9zgf4n7aqbi"; depends=[gamlss_dist gamlss spam mgcv]; };
+gamlss_tr = derive { name="gamlss.tr"; version="4.3-1"; sha256="1fdy61i2dmz2qafk92kl9acjbxx5gm8s9kkc8k9nnx6230qg8iq6"; depends=[gamlss_dist gamlss]; };
+gamlss_util = derive { name="gamlss.util"; version="4.3-2"; sha256="13facgyd14jl4j09d446jjzs91zwmv85g22gkyyi1hl4i5v5nfc4"; depends=[gamlss_dist gamlss zoo]; };
+gamm4 = derive { name="gamm4"; version="0.2-3"; sha256="19vy5wik9nh77cm25gp3j3j8w8vinwzx5pv90nzdzvx84yvvf0y3"; depends=[Matrix lme4 mgcv]; };
+gammSlice = derive { name="gammSlice"; version="1.3"; sha256="1vw8d0v0awyflh4gmbcf1g9nfx52cys8gpqvag5djri59p0y945a"; depends=[KernSmooth lattice mgcv]; };
+gaoptim = derive { name="gaoptim"; version="1.1"; sha256="04igpn73k6f6652y496igwypfxmz4igg4jgxx6swqyi37182rqhm"; depends=[]; };
+gap = derive { name="gap"; version="1.1-12"; sha256="1760jwfrlfmb8crk8kba0swpazcznlv80c6j8fiyd9zxjhnq7zf5"; depends=[]; };
+gapmap = derive { name="gapmap"; version="0.0.2"; sha256="0xykpy3cmbiwwa3s8f4777585r7l441qb9ks6ajym01scqcj3nwl"; depends=[ggplot2 reshape2]; };
+gapminder = derive { name="gapminder"; version="0.1.0"; sha256="06hi4m9i86nkdyz7w9wa4qkpbsl2178qskzzy8168wlzayx820ad"; depends=[]; };
+gaselect = derive { name="gaselect"; version="1.0.5"; sha256="0xzx00n46x6x7w1xbx8nvabkkrna45pv1i70787m8h05q1yrjjij"; depends=[Rcpp Rcpp RcppArmadillo]; };
+gaussDiff = derive { name="gaussDiff"; version="1.1"; sha256="0fqjdxp2ibbami75ba16d02dz4rz5sk8mni45di9anydx44g9d45"; depends=[]; };
+gaussquad = derive { name="gaussquad"; version="1.0-2"; sha256="0bcvkssmwwngcd4cnv924n9h3c8z1w3x9c9bkwn5jbz9zyv1lfms"; depends=[polynom orthopolynom]; };
+gb = derive { name="gb"; version="1.1.8-8"; sha256="18n9wqz82mjxjgzk8vc68kyz3b6lk21d2f16551d6fikjla03adf"; depends=[boot]; };
+gbRd = derive { name="gbRd"; version="0.4-11"; sha256="06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82"; depends=[]; };
+gbm = derive { name="gbm"; version="2.1.1"; sha256="0jkjr09w9cgfb21aznvr9nivxjmj1zxfsl7gafy4mwh719jzygy0"; depends=[survival lattice]; };
+gbs = derive { name="gbs"; version="1.0"; sha256="19zcsvd258ibrj356zlwgryjqylcs56agg3z6d44xbnf8prg05ig"; depends=[nlme]; };
+gcbd = derive { name="gcbd"; version="0.2.5"; sha256="0fkg6vk0jkl6680n1hljyv783j4hd84mql0k4pfblvqafwv4nhm3"; depends=[RSQLite plyr reshape lattice]; };
+gcdnet = derive { name="gcdnet"; version="1.0.4"; sha256="0fmy0li06rahch4ir0xa81yilvrd0zqyhmpl4hfxjahhl3npw370"; depends=[Matrix]; };
+gclus = derive { name="gclus"; version="1.3.1"; sha256="02ba6zj9bjwrzykamjp40ajynx9xjx9h2i85n0ym0r5lcki4x6fn"; depends=[cluster]; };
+gcmr = derive { name="gcmr"; version="0.6.1"; sha256="0a47xpgi6bfsc0nn7vkid1q9r29h01q0vjkysaxh1i4zbmxnx5dl"; depends=[nlme sandwich geoR betareg Formula]; };
+gconcord = derive { name="gconcord"; version="0.41"; sha256="1n3pfwk6vip19q1zhbz1n164f9vi7mig8pcd07c4wxnm5ir9dagy"; depends=[]; };
+gcookbook = derive { name="gcookbook"; version="1.0"; sha256="0hb52zfi5bl2j0h8lazz4gzhhcvpicb4ld6xm2vkvi4cj47piyy8"; depends=[]; };
+gdalUtils = derive { name="gdalUtils"; version="0.3.1"; sha256="1a6sg3x5yfffa9xrkvc98i2hm3lvna4jw7p89gn2bf74kzphqpmy"; depends=[sp foreach R_utils]; };
+gdata = derive { name="gdata"; version="2.13.3"; sha256="05k5l4gz0381z89sp64xhngcsykazzznwmankwsnimx5alwrfk2m"; depends=[gtools]; };
+gdimap = derive { name="gdimap"; version="0.1-9"; sha256="0ksbpcy739bvsiwis0pzd03zb4cvbd8d5wdf8whfn9k6mkj4x9rs"; depends=[rgl oro_nifti movMF gridExtra colorspace geometry gsl abind]; };
+gdistance = derive { name="gdistance"; version="1.1-7"; sha256="1wcpjx76pnkpc6kmqx7bq73qbvzfzjb9s46qb7gi7kabpkya97il"; depends=[raster igraph Matrix sp]; };
+gee = derive { name="gee"; version="4.13-18"; sha256="1s2cjgg4ypw72g710m93g6az763xz6sxw91nd6cwm5jjvr9vb91f"; depends=[]; };
+geeM = derive { name="geeM"; version="0.7.2"; sha256="0qxamrkmiy70g9kkncrwgh3gx8dq5ixfwbcl8k4dgf5i5051giw9"; depends=[Matrix]; };
+geepack = derive { name="geepack"; version="1.2-0"; sha256="1pxh9nsyj9a40znm4zza4nbi3dkhb96s3azi43p9ivvfj3l21m74"; depends=[]; };
+geesmv = derive { name="geesmv"; version="1.0"; sha256="1xxsiz6rwqxx113vmlddx89g190nmv1yaimmibz8ai0sam5hqnp9"; depends=[nlme gee matrixcalc MASS]; };
+geigen = derive { name="geigen"; version="1.5"; sha256="06k4fc7j8asqv1winmz28hb3r8fvlgikrvi064ysvj2fqwh7jnq1"; depends=[]; };
+geiger = derive { name="geiger"; version="2.0.3"; sha256="1wqihvscmq44i34205fzv79wk7j2a72qd8y6ycgrv74plql0316c"; depends=[ape MASS mvtnorm subplex deSolve digest Rcpp coda Rcpp]; };
+gelnet = derive { name="gelnet"; version="1.0"; sha256="06cyd5g5yxmyqiqjvp02f2k2ha50sk8qjqmmwcfxhaxysk9vbaag"; depends=[]; };
+gems = derive { name="gems"; version="1.0.0"; sha256="0h8z3ih24hxdv8bah4xf8f797pnwihby8hj93z6zw5sq9dyszxwa"; depends=[MASS msm plyr data_table]; };
+gemtc = derive { name="gemtc"; version="0.6-1"; sha256="1da5z1gvad5rgc5cm3w69x58qjqfg7x65z71h91g89f5nvwxkl2c"; depends=[coda igraph meta XML]; };
+gemtc_jar = derive { name="gemtc.jar"; version="0.14.3"; sha256="18hbiygpsv67flc4v6z6mir0rfq41v1vsh11dg9phmdr8bx4kcl1"; depends=[rJava]; };
+genMOSS = derive { name="genMOSS"; version="1.2"; sha256="18qinckzz7wsw222skrq30izbj6s85i8hq6iicj9nng8gh6jydr8"; depends=[ROCR]; };
+genMOSSplus = derive { name="genMOSSplus"; version="1.0"; sha256="1n3ngx1piy3l14k5k95wrgvrjw9238jkygfqanl3xg2na2mmkr26"; depends=[]; };
+genSurv = derive { name="genSurv"; version="1.0.2"; sha256="0hvkrlcl8jrj0x0ixrl34484p9kxlwxfaa64ynz6jf3dcyghp9l0"; depends=[]; };
+genalg = derive { name="genalg"; version="0.2.0"; sha256="1wzfamq8k5yhwbdx0wy1w5bks93brj0p890xxc4yqrja4w38ja3s"; depends=[]; };
+genasis = derive { name="genasis"; version="1.0"; sha256="1r0733cc2hss3f8dp19s1ji55yp72mds7p3x1zvvpiks2r7w712p"; depends=[Kendall fitdistrplus]; };
+gendata = derive { name="gendata"; version="1.1"; sha256="1r5bhmfblhk6d31v0byhp4a0pmpri6vk697zmmx9b0hvhda7mllf"; depends=[]; };
+gender = derive { name="gender"; version="0.4.3"; sha256="0dhwhv2b86arpmyr89g69h8ikw0f2x27ig420jngfb9gxljj9phc"; depends=[devtools dplyr httr jsonlite]; };
+genderizeR = derive { name="genderizeR"; version="1.0.0"; sha256="1a4zjbg8v7ig6hglbkvxbsp4q9hyy3zr751vmcsv529ikgiikkji"; depends=[jsonlite stringr tm data_table magrittr RCurl]; };
+geneListPie = derive { name="geneListPie"; version="1.0"; sha256="0z2gawfzhm05dafj4zlj6ifmf0dy7p1hrpa59lzxrnrc0wr6laji"; depends=[]; };
+geneSignatureFinder = derive { name="geneSignatureFinder"; version="2014.02.17"; sha256="1s9jj87wnzzgm9hnws09yhrxdlb6jw56i3ddwznvmh8vpzrspv4h"; depends=[survival cluster class]; };
+genepi = derive { name="genepi"; version="1.0.1"; sha256="1whhdlq9p8gmygv7464hvfz6dhm65gqq1dqls6hgpmw822zxgbd5"; depends=[]; };
+genetics = derive { name="genetics"; version="1.3.8.1"; sha256="0gfbrpz0zp5bgw3s21wrhjfy70laif47wcrjrm6mjgs6xapiw790"; depends=[combinat gdata gtools MASS mvtnorm]; };
+genlasso = derive { name="genlasso"; version="1.3"; sha256="1q4ybg8xzphnqwywwdb7i2q94dlxwpggvisjqqdj39jh2cabda57"; depends=[MASS Matrix igraph]; };
+genoPlotR = derive { name="genoPlotR"; version="0.8.2"; sha256="0q12sg13yn5f3j5gk0qzszp81x52lpwpk3z4cg0bgxi9zbwmw467"; depends=[ade4]; };
+genpathmox = derive { name="genpathmox"; version="0.2"; sha256="1m08j10mrvkrnlgxbhjn3qmjz29p121fc4haww5qrici06nipfdm"; depends=[plspm quantreg mice diagram]; };
+genridge = derive { name="genridge"; version="0.6-5"; sha256="0ms8n1yrga5qqg9ni41ifyw6320aajyrwvjh6d27q1k96j2dicp4"; depends=[car]; };
+gensemble = derive { name="gensemble"; version="1.0"; sha256="0yyi7djzqx4yhxp6yy1rjgvzidjlna79ds89bgj6m6zj3aav6yw2"; depends=[]; };
+geoBayes = derive { name="geoBayes"; version="0.2.150308"; sha256="0n1i3l0qk5yy3h7hdjd03wd197qrv76n4vq3pv8av4n2k4m7dk2v"; depends=[coda sp]; };
+geoCount = derive { name="geoCount"; version="1.150120"; sha256="1kcjqls91r6p8ykn901c5p3v2lzbyainahhjpnr5c3a57v8s73ms"; depends=[Rcpp Rcpp RcppArmadillo]; };
+geoR = derive { name="geoR"; version="1.7-4.1"; sha256="19mafynvnpabwm5i6m4ax6d9rrh3fgyg9sslb552v6ry9nfq31h0"; depends=[sp MASS splancs RandomFields]; };
+geoRglm = derive { name="geoRglm"; version="0.9-4"; sha256="1wzq8p4xi40j4cagg7ji8qz9kynrwlyrlcvv0358pbl19nvg7hxb"; depends=[geoR]; };
+geocodeHERE = derive { name="geocodeHERE"; version="0.1.2"; sha256="0sr8r6f41bpi0rncjcf0aydda68wnsrbmqzsgc1f1has2rb1g9p0"; depends=[httr]; };
+geomapdata = derive { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; };
+geometry = derive { name="geometry"; version="0.3-5"; sha256="1x1dhdbqnq1wi1r4njj3l1g8yag2dig19rna3a5pwf1j1gxbl0i8"; depends=[magic]; };
+geomorph = derive { name="geomorph"; version="2.1.3"; sha256="1jym15xlpbgc6lfd8dzl6ixc9mn79m1a9a8jiw1yjw9kgkvp8w6p"; depends=[rgl jpeg ape geiger phytools]; };
+geonames = derive { name="geonames"; version="0.998"; sha256="1p0x260i383ddr2fwv54pxpqz9vy6vdr0lrn1xj7178vxic1dwyy"; depends=[rjson]; };
+geophys = derive { name="geophys"; version="1.3-6"; sha256="1yfhilgc2nv5jfp0n7iah0wl041an2850c2qnzrvx0vv9fywgw9g"; depends=[RPMG RSEIS RFOC GEOmap cluster]; };
+georob = derive { name="georob"; version="0.1-5"; sha256="0awcqcpv82pn2z7lgir73pg2b0whvrrfy55gi0jrjn7lzyakhqaq"; depends=[sp constrainedKriging lmtest nlme nleqslv quantreg RandomFields robustbase snowfall]; };
+geoscale = derive { name="geoscale"; version="1.1"; sha256="1xmn8y33jz1f16sjbzrld20gy7w54awrr79lhs9s4r8k1gmn0zqg"; depends=[]; };
+geospacom = derive { name="geospacom"; version="0.5-7"; sha256="00yi2wwnjh2z8xhzfbp1jhh5fhq2z885s0gv937xsin4a63m76fd"; depends=[rgeos classInt sp maptools geosphere]; };
+geosphere = derive { name="geosphere"; version="1.3-11"; sha256="0gsbzbx7x4ly7dfh8ld3fa795ysf4sl8a1jg3jc12nrrx85cwl74"; depends=[sp]; };
+geospt = derive { name="geospt"; version="1.0-1"; sha256="1nv5wn8s4vlbyyzi8is7zsa1vrijp1va0vhi8l2yny8fh22qhjij"; depends=[gstat genalg MASS sp minqa limSolve fields gsl plyr TeachingDemos sgeostat]; };
+geostatsp = derive { name="geostatsp"; version="1.2.1"; sha256="0p93b8mmjsqg7qg1c6v7c5ism8jqf7w21rydck7agh4i64q47s7y"; depends=[Matrix raster sp abind numDeriv pracma]; };
+geotools = derive { name="geotools"; version="0.1"; sha256="0d0vf9dvrrv68ivssp58qzaj8vra26ms33my097jmzmgagwy1spd"; depends=[]; };
+geotopbricks = derive { name="geotopbricks"; version="1.3.6"; sha256="1c4v590r27lsz2ld2dsi9dv7fsbfklyqgsjvcrbk4di18nc1hygp"; depends=[raster stringr zoo rgdal]; };
+geozoo = derive { name="geozoo"; version="0.4.3"; sha256="0nmmmyk0ih5aqpsn7ip4dhgfm7jhcnca8pigyr9794b110icq1rv"; depends=[bitops]; };
+getopt = derive { name="getopt"; version="1.20.0"; sha256="00f57vgnzmg7cz80rjmjz1556xqcmx8nhrlbbhaq4w7gl2ibl87r"; depends=[]; };
+gets = derive { name="gets"; version="0.2"; sha256="0vdg8g588asyzkld9v3rmscx3k727ncxnjzi8qxinlr2zhw9nbcq"; depends=[zoo]; };
+gettingtothebottom = derive { name="gettingtothebottom"; version="3.2"; sha256="1cz2vidh7k346qc38wszs2dg6lvya249hvcsn6zdpbx0c0qs3y72"; depends=[ggplot2 Matrix]; };
+gfcanalysis = derive { name="gfcanalysis"; version="1.2"; sha256="147vgv4z14xn0j94g7z0y099gz8xj2yb02r6j3mfi4412dg5f5fp"; depends=[raster rgdal geosphere RCurl rgeos plyr ggplot2 sp stringr animation rasterVis]; };
+ggROC = derive { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; };
+ggRandomForests = derive { name="ggRandomForests"; version="1.1.3"; sha256="0yz25imvlpblrw2v9b5s39na9diljh2g93mmcv9gljad40iy34va"; depends=[randomForestSRC ggplot2 survival dplyr reshape2]; };
+ggdendro = derive { name="ggdendro"; version="0.1-15"; sha256="1xa1pswkf7xnrxs1zqw71ws0r6r0nmc2gnc76bd372czfdn4npci"; depends=[MASS ggplot2]; };
+ggenealogy = derive { name="ggenealogy"; version="0.1.0"; sha256="0shy6ylrx49yccyydhahqk1nnljqgf1cm11fl4cmb44la5zd3wjn"; depends=[ggplot2 igraph plyr reshape2]; };
+gglasso = derive { name="gglasso"; version="1.3"; sha256="0qqp5zak4xsakhydn9cfhpb19n6yidgqj183il1v7yi90qjfyn66"; depends=[]; };
+ggm = derive { name="ggm"; version="2.3"; sha256="1n4y459x2i0jil8chjjqqjs28a8pzfxrws2fcjkg3il7zy0zwbw3"; depends=[igraph]; };
+ggmap = derive { name="ggmap"; version="2.4"; sha256="06mdczacjnlzyr5sm1d099sqyf6anhlnn2bnjxni8h36100m5nm2"; depends=[ggplot2 proto scales RgoogleMaps png plyr reshape2 rjson mapproj jpeg geosphere digest]; };
+ggmcmc = derive { name="ggmcmc"; version="0.6"; sha256="12z0six1swpmisbm8x9a9dk19cd0f9yvzm92gc9qs484ihpcscvq"; depends=[dplyr tidyr ggplot2]; };
+ggparallel = derive { name="ggparallel"; version="0.1.1"; sha256="1z8w4bm4ahmmwbr87qlqhm8jlrqf7dhdvm1cf0xrwjlkmy6dqjvg"; depends=[ggplot2 reshape2 plyr]; };
+ggplot2 = derive { name="ggplot2"; version="1.0.1"; sha256="0794kjqi3lrxb33lr1mykd58959hlgkhdn259vj8fxrh65mqw920"; depends=[plyr digest gtable reshape2 scales proto MASS]; };
+ggsubplot = derive { name="ggsubplot"; version="0.3.2"; sha256="1rrq47rf95hnwz8c33sbnpvc37sb6v2w37863hyjl6gc0bhyrvzb"; depends=[ggplot2 plyr proto scales stringr]; };
+ggswissmaps = derive { name="ggswissmaps"; version="0.0.2"; sha256="1cl8m9j3d2kf8dbpq09q36v7nwkgz7khqds431l0kmkzq02qhddf"; depends=[ggplot2]; };
+ggthemes = derive { name="ggthemes"; version="2.1.2"; sha256="049fjk0f960sjsnqns2kgk7dvr6jr5rrpxgl8qbxx4idz95bvdi7"; depends=[ggplot2 colorspace proto scales]; };
+ggvis = derive { name="ggvis"; version="0.4.1"; sha256="1sl6ygglgsg7xhzzkxaap8pzb2zmfw0y481w7r7s1nyg7pdgr0r2"; depends=[assertthat jsonlite shiny magrittr dplyr lazyeval htmltools]; };
+ghyp = derive { name="ghyp"; version="1.5.6"; sha256="0y3915jxb2rf01f7r6111p88ijhmzyz4qsmy7vfijlilkz0ynn20"; depends=[numDeriv gplots]; };
+giRaph = derive { name="giRaph"; version="0.1.2"; sha256="137c39fz4vz37lpws3nqhrsf4qsyf2l0mr1ml3rq49zz4146i0rz"; depends=[]; };
+gibbs_met = derive { name="gibbs.met"; version="1.1-3"; sha256="1yb5n8rkphsnxqn8rv8i54pgycv9p7x1xhinx4l5wzrds3xhf2dc"; depends=[]; };
+gimme = derive { name="gimme"; version="0.1-1"; sha256="1snzlwq6d86ygpn778m3inlfqpymp0l05pdlrdkm8ip4wgir0hvs"; depends=[lavaan qgraph]; };
+gistr = derive { name="gistr"; version="0.1.0"; sha256="1izas53whxa4n8gdkifv1a9c8f3fpi21vs81kn2dk51xmhs8qhh2"; depends=[jsonlite httr magrittr knitr]; };
+git2r = derive { name="git2r"; version="0.7"; sha256="02b4p7knrywr1sqijg85mxnm5y4mlp5z3rgylia8vdz473z6prr9"; depends=[]; };
+gitter = derive { name="gitter"; version="1.0.4"; sha256="1pvl8k8mb15mcfz1074y246s9basmi5vbpw2n1ca0d8wm5wdidap"; depends=[jpeg tiff logging PET ggplot2]; };
+glarma = derive { name="glarma"; version="1.3-0"; sha256="0fp354zxkddc4giynhwjlf9mg4sklcmqi0gdn8nxm1pkdpb86rba"; depends=[MASS]; };
+glasso = derive { name="glasso"; version="1.8"; sha256="0gcapw7kyxb19wvdyxq1vsmc5j7yyd0rvqxs2i71k31q352sg6zw"; depends=[]; };
+glassomix = derive { name="glassomix"; version="1.2"; sha256="13a2ly0by58z8djq8nbakpyacgb6nkdsqxjq44yw4v2fy3s22z3n"; depends=[mvtnorm glasso huge]; };
+glba = derive { name="glba"; version="0.2"; sha256="0ckcz6v6mfbv34s8sp086czhb5l58sky79k84332rrz6wj47p3md"; depends=[]; };
+glcm = derive { name="glcm"; version="1.2"; sha256="00bkhd4arvg7ahdr5kfvran46b2sywv9i0rlwalx9pmyvjwnzm5b"; depends=[Rcpp Rcpp RcppArmadillo]; };
+gld = derive { name="gld"; version="2.2.1"; sha256="1x9xlqj87xmk90hn20k1yvnvyndxdbi67yrxrfdhr3lhxabq5msw"; depends=[]; };
+gldist = derive { name="gldist"; version="2160.2"; sha256="1dcf3pb4xqvhqj4m3xc3ihzjbzxjspjrnc8819hmlnmdd0csghmx"; depends=[]; };
+glinternet = derive { name="glinternet"; version="0.9.0"; sha256="0qihlzdb9ifqlyx5l34vkwi6z59xd7wbl72a3pj725n9kkk7bmig"; depends=[]; };
+gllm = derive { name="gllm"; version="0.35"; sha256="1m9asamh2yha9q8mrllvvc9qj2im6cspvfpafzc8krmh17zq4ins"; depends=[]; };
+glm2 = derive { name="glm2"; version="1.1.2"; sha256="1x9pq2ddsz9al8w044qch34s3fahca63dz85lvm5qn16945ccw1s"; depends=[]; };
+glmc = derive { name="glmc"; version="0.2-4"; sha256="03m1ym9w0b0gqib13pnh1yrjijlcwsn5lijg0nsr4hd6gxw29cla"; depends=[emplik]; };
+glmdm = derive { name="glmdm"; version="2.60"; sha256="09vljki24fccqkvxkmg2i6a8pxqhfwm155b41m2q51lqaq29bfw7"; depends=[]; };
+glmgraph = derive { name="glmgraph"; version="1.0.0"; sha256="1q3j2djw0v5187agnrfabhgwm6yh0i05yzxdaba3kgbcsdrdr8mn"; depends=[Rcpp Rcpp RcppArmadillo]; };
+glmlep = derive { name="glmlep"; version="0.1"; sha256="0jnm3cf2r9fyncxzpk87g4pnxbryqcxxrc5y2a80pv48al3sxlzk"; depends=[]; };
+glmm = derive { name="glmm"; version="1.0.2"; sha256="0qlsqg1sp4p4qy95k52dc7c58lfmlxh0vk0jdpqzpi4rrh7ngpan"; depends=[trust mvtnorm Matrix]; };
+glmmBUGS = derive { name="glmmBUGS"; version="2.3"; sha256="1j96c1c2lqplhjvyigpj494yxj85bpmc7cnd1hl1rc8b552jr192"; depends=[MASS abind]; };
+glmmGS = derive { name="glmmGS"; version="0.5-1"; sha256="1aqyxw3nrjri8k8wlwvddy25dj7mjqndssd5p5arax8vaqgrdnjz"; depends=[]; };
+glmmLasso = derive { name="glmmLasso"; version="1.3.3"; sha256="122dl5l4ngl9xvyz1kr58hryyxmld0zpwp5437ckwbnkf9bv1ldk"; depends=[minqa]; };
+glmmML = derive { name="glmmML"; version="1.0"; sha256="0b1q5mj325xga3lfks28r03363bjfa31rlgjzwk4s0a6g21bdl4a"; depends=[]; };
+glmnet = derive { name="glmnet"; version="1.9-8"; sha256="1ndaq6qbn8vxs7ha4x9k0qcblr1byixvrhh572794xzgdn548prm"; depends=[Matrix]; };
+glmnetcr = derive { name="glmnetcr"; version="1.0.2"; sha256="1pyg23hdqksiaqdcrsaqz9vb7mgclm41hh0vb7ndkdv284bzzlbz"; depends=[glmnet]; };
+glmpath = derive { name="glmpath"; version="0.97"; sha256="054v188ffjl6x11cld5s9py22kxcs0iq58x4yhxb0ny7mbma5hkn"; depends=[survival]; };
+glmpathcr = derive { name="glmpathcr"; version="1.0.3"; sha256="0qa63c7kwpxf6smczgzf4fmvczw1ynqq5vgcw3bxdbs37q4ypj8n"; depends=[glmpath mvtnorm]; };
+glmulti = derive { name="glmulti"; version="1.0.7"; sha256="154s72sjp6pz7ki7s4mgn5v62j7h0lfz9mngf40wvmy31da2s8ix"; depends=[rJava]; };
+glmvsd = derive { name="glmvsd"; version="1.2"; sha256="0p99sanr95vcjfyjx7khwd1l59d319j1i49iv3isgsh3fwikhpgf"; depends=[glmnet ncvreg MASS]; };
+glmx = derive { name="glmx"; version="0.1-0"; sha256="0i0p1xk5yk1l274gfr4ijmqnnbq7yyzmi577pb7igwvi3hjn7g7k"; depends=[MASS Formula lmtest sandwich]; };
+globalGSA = derive { name="globalGSA"; version="1.0"; sha256="1f3xv03m6g2p725ff0xjhvn2xcfm7r7flyrba080i4ldy6fd8jg8"; depends=[]; };
+globalOptTests = derive { name="globalOptTests"; version="1.1"; sha256="0yf4p82dpjh36ddpfrby7m3fnj2blf5s76lncflch917sq251h4f"; depends=[]; };
+globalboosttest = derive { name="globalboosttest"; version="1.1-0"; sha256="1k7kgnday27sn6s1agzlj94asww81655d2zprx6qg7liv677bxvf"; depends=[mboost survival]; };
+glogis = derive { name="glogis"; version="1.0-0"; sha256="19h0d3x5lcjipkdvx4ppq5lyj2xzizayidx0gjg9ggb1qljpyw9m"; depends=[zoo sandwich]; };
+glpkAPI = derive { name="glpkAPI"; version="1.3.0"; sha256="0173wljx13jali2jxz4k5za89hc64n2j9djz5bcryrqhq4rmkp87"; depends=[]; };
+glrt = derive { name="glrt"; version="2.0"; sha256="0p2b0digndvnn396ynv56cdg436n3ll7pxkb81rs3dhwbyqyc948"; depends=[survival]; };
+gmailr = derive { name="gmailr"; version="0.6.0"; sha256="1l0lnlq5vrxrab8d9b5hwm8krg8zgx8f8m0kfnryyyrqkjrksky5"; depends=[httr base64enc magrittr jsonlite mime]; };
+gmatrix = derive { name="gmatrix"; version="0.2"; sha256="1w83m6q8xflifqqgkkg2my4fkjfjyv0qq4ly8yqk12k77lb03hxq"; depends=[]; };
+gmm = derive { name="gmm"; version="1.5-2"; sha256="1phd8mmfyhjb72a45gavckb3g8qi927hdq0i8c7iw1d28f04lc70"; depends=[sandwich]; };
+gmnl = derive { name="gmnl"; version="1.0"; sha256="1nvk6x5412bfqdg54051hnisbnfm3d4yv9l2568jcz49pa8lay4d"; depends=[maxLik Formula plotrix msm mlogit truncnorm]; };
+gmodels = derive { name="gmodels"; version="2.15.4.1"; sha256="1yizjw181bg0ml6j96calflz3k3wpvpxh61hfd3pdba013ixjib5"; depends=[MASS gdata]; };
+gmp = derive { name="gmp"; version="0.5-12"; sha256="10fpvcli526a8j6jaryn0mwk78c24xy7whdpcvqzzvb41l6nnkma"; depends=[]; };
+gmt = derive { name="gmt"; version="1.2-0"; sha256="09az2iwwhyrls4mr619vwzhzmaks6klm67lnir48bh40hynsvibp"; depends=[]; };
+gnm = derive { name="gnm"; version="1.0-7"; sha256="1jnh39i4462ky9vwnrlwq30d8qbp0jg73p8mwm6hnl8sdh53nkr1"; depends=[MASS Matrix nnet qvcalc relimp]; };
+gnmf = derive { name="gnmf"; version="0.7"; sha256="00y1dx1c66gv769yiwnb91xbr77wpidf36x0n0dzaqfn7s9yh6xq"; depends=[]; };
+gnumeric = derive { name="gnumeric"; version="0.7-2"; sha256="14c7a8aiqvqfbrjb1akpfjwidrzdhrw8a07ask083krki6vbi7hh"; depends=[XML]; };
+goalprog = derive { name="goalprog"; version="1.0-2"; sha256="1h3nd3d53hbz5hl3494lpfjnp1ddklc17nhgw18362jd1nk14awy"; depends=[lpSolve]; };
+gof = derive { name="gof"; version="0.9.1"; sha256="1s12gga9d6yizn2y7lzql4jd80lp5jpyml8ybn7xqswp8am82vpg"; depends=[]; };
+goft = derive { name="goft"; version="1.0"; sha256="061x6mnzidmnza9q7z2ikik9zrn434yjx1690bxbh41ckvb92hnx"; depends=[gPdtest mvShapiroTest]; };
+goftest = derive { name="goftest"; version="1.0-2"; sha256="11xw0cfj71z5smywsds9ijbhf3glxkqnhxmwwdqkv4gjrrr2y1bv"; depends=[]; };
+gogarch = derive { name="gogarch"; version="0.7-2"; sha256="03gpl73zc6kx4gni59xbg7b38dkpd7p4c7kvlqm46f58j257viik"; depends=[fGarch fastICA]; };
+gooJSON = derive { name="gooJSON"; version="1.0.01"; sha256="02sldh5lsrjprc9mbf99jyid7ij62db5f1h60z719gxl4pk6fjms"; depends=[rjson]; };
+googleVis = derive { name="googleVis"; version="0.5.8"; sha256="185pp2sgdw81p9vjkxzx4nrv9fp9jw24mqng7k98ql98p3kw9y21"; depends=[RJSONIO]; };
+goric = derive { name="goric"; version="0.0-8"; sha256="0ayac0yfkxrl13ckc2pwfqnmsrhmbg5bi6iwzx0fmh81vrlp0zrm"; depends=[nlme quadprog mvtnorm MASS Matrix]; };
+govStatJPN = derive { name="govStatJPN"; version="0.1"; sha256="03sywa7rl5rblvv370mfszz5ngp850qf32yydy1fdx10lv5amrfl"; depends=[]; };
+gpairs = derive { name="gpairs"; version="1.2"; sha256="09mkdbs9hklxnmqcsnf65s3dfsfcr7kppp6zxj08v5hxym1gpz3l"; depends=[barcode lattice vcd MASS colorspace]; };
+gpclib = derive { name="gpclib"; version="1.5-5"; sha256="08j81b8wymsgin20n54gvm6m54rmdic51p6qzs9cz4pmgl7dkkjv"; depends=[]; };
+gpk = derive { name="gpk"; version="1.0"; sha256="1zfhkqyypb24mhbj2zi9qy3gw0kqxvlp8j5ni3zm7k5rz1bnrygg"; depends=[]; };
+gplm = derive { name="gplm"; version="0.7-2"; sha256="0pr39fbkv61iwd110lq76p2fi4dvx9qz6mjsvg6bpja9pfbb6wc0"; depends=[AER]; };
+gplots = derive { name="gplots"; version="2.16.0"; sha256="19xz8225ckjw0a44mwvfj0gk8m47x2xkgnxjqrxsbjg5qiqwl9nh"; depends=[gtools gdata caTools KernSmooth]; };
+gpmap = derive { name="gpmap"; version="0.1.1"; sha256="00jhslbxbp6dgq7bw346hfpw0gans048vsn7chyzjhyr7ah5xrfg"; depends=[isotone plyr ggplot2 foreach]; };
+gpr = derive { name="gpr"; version="1.1"; sha256="03ywik11kc6cnaqrzzzi94jkrdbd378m3sf26f2vpb7d834nl728"; depends=[]; };
+gptk = derive { name="gptk"; version="1.08"; sha256="0fk6c8f8fni4y2n2cbfwywlfyz74xlb8lx25wajsxr2v4x74pa7l"; depends=[Matrix fields]; };
+gputools = derive { name="gputools"; version="0.28"; sha256="0ria03ggcfqgn93gjv2anhvkd3k73c6vfwgka16kf66g1nfzxs4l"; depends=[]; };
+grImport = derive { name="grImport"; version="0.9-0"; sha256="1d8fd7502qj7cirjqdkr1qj51rylw2fz5hs06avfvc2dxs2xwfw1"; depends=[XML]; };
+grade = derive { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; };
+gramEvol = derive { name="gramEvol"; version="2.0-2"; sha256="1xrn5gkr9rxw53i5l2sqcgai9q0w4kyrychf0nq17cvcynw1y1lx"; depends=[]; };
+granova = derive { name="granova"; version="2.1"; sha256="161fznqlnwmw53abmg2n62lhxxda7400ljnadvcdvsm8f6kcjf80"; depends=[car]; };
+granovaGG = derive { name="granovaGG"; version="1.3"; sha256="1bsxad2h7rmbkmmg5zx6wbpws62dmp7n905gnp17n8cl8c6w2jp9"; depends=[ggplot2 RColorBrewer plyr gridExtra reshape2]; };
+graphicalVAR = derive { name="graphicalVAR"; version="0.1.2"; sha256="0vc2x58z4w1hhvkqpxya3wr78p2b1irfyivc7njxw8a2595rc347"; depends=[Rcpp Matrix glasso glmnet mvtnorm qgraph Rcpp RcppArmadillo]; };
+graphicsQC = derive { name="graphicsQC"; version="1.0-6"; sha256="07kzz0r8rh4m7qqxnlab0d4prr56jz5kspx782byspkcm5l4xrsl"; depends=[XML]; };
+graphscan = derive { name="graphscan"; version="1.0"; sha256="15kdpp2k2gpfr8qq6wr08gva5hlxqha2h48zi1j3p6r766j07082"; depends=[ape sp snowfall rgl]; };
+greport = derive { name="greport"; version="0.5-2"; sha256="0lmska9m29hsz9f4myix6my6mg53awr5abigg642i3i2axv7cjd7"; depends=[Hmisc data_table rms lattice latticeExtra Formula survival]; };
+gridBase = derive { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; };
+gridDebug = derive { name="gridDebug"; version="0.4-0"; sha256="1nbcdjip6ghnlv0j7cf45bpqdpirwn636pg324f0hgiqj4rifn09"; depends=[gridGraphviz gridSVG]; };
+gridExtra = derive { name="gridExtra"; version="0.9.1"; sha256="15pj5w5wlrf8gw4z01i9j88gk6bm4kni64fpip9icmxkn887y3hx"; depends=[]; };
+gridGraphics = derive { name="gridGraphics"; version="0.1-3"; sha256="09ml9vy4lz0q235xy2m5l8qd3rb3r73gf3bwz35dgn7qcxps8jjp"; depends=[]; };
+gridGraphviz = derive { name="gridGraphviz"; version="0.1"; sha256="14zcr0w2c9cgdw6ij93w52k3bkmgdmx809snh9jjf2amy08p2gbg"; depends=[]; };
+gridSVG = derive { name="gridSVG"; version="1.4-3"; sha256="1jgrhckjbvccp5zqbkkiw9glhdljwxlc8kkr1fgkbrwmsi053iwk"; depends=[RJSONIO XML]; };
+grnn = derive { name="grnn"; version="0.1.0"; sha256="1dxcmar42g9hz4zlyszlmmnnsnja0gxfggav5jxv0gkp32rkd0wh"; depends=[]; };
+groc = derive { name="groc"; version="1.0.4"; sha256="1v32gwr8ghv47dmzp1x02n3aaqv3cfywh7xzx2486v4p960s42gc"; depends=[rrcov pls mgcv robust robustbase MASS]; };
+grofit = derive { name="grofit"; version="1.1.1-1"; sha256="1rnym5fxbg3bin2idmymrwvf1fcd646bipbgjd6wby8my69zy4c5"; depends=[]; };
+grouped = derive { name="grouped"; version="0.6-0"; sha256="1glxgacpwk7yjbkwg5ci6bmb2il6hf5zhydwi5bbq6hc032m9976"; depends=[MASS]; };
+growcurves = derive { name="growcurves"; version="0.2.3.9"; sha256="1f8hh8ppp6bgrb8crm46xrria3vdnz62aya9lhwcdaggfmy7j25l"; depends=[Rcpp RcppArmadillo reshape2 scales ggplot2 Formula testthat Rcpp RcppArmadillo]; };
+growfunctions = derive { name="growfunctions"; version="0.11"; sha256="087qpykjj46a5zp48dx59k51mdyqckc39zgmrnhc5rhgm5df8sv3"; depends=[Rcpp Matrix spam mvtnorm ggplot2 reshape2 scales Rcpp RcppArmadillo]; };
+growthmodels = derive { name="growthmodels"; version="1.2.0"; sha256="1wy5z77819s3daa0mifafcjfkggsq0ac522yagj86ml3vf7yqppj"; depends=[]; };
+growthrate = derive { name="growthrate"; version="1.3"; sha256="1ak3yqlm7dnkdjlmikwa57qnf7yd9n1ixz36gv3shr252750x9cd"; depends=[Matrix clime mvtnorm]; };
+grplasso = derive { name="grplasso"; version="0.4-5"; sha256="15bqckq9qjdlllhfpb21vzgi9msbl544alkrz01w1vvb3hk1847y"; depends=[]; };
+grppenalty = derive { name="grppenalty"; version="2.1-0"; sha256="12hbghmg96dwlscjy6nspgkmqqj4vwq2qcwcz1gp50a08qbmdcrk"; depends=[]; };
+grpreg = derive { name="grpreg"; version="2.8-0"; sha256="1mfd3hzzv720zhl8s6ghw0vfpqkz8q050dwnvmmb0smhdvahd2zj"; depends=[Matrix]; };
+grt = derive { name="grt"; version="0.2"; sha256="0cqjk7yqk2ryx1pgvjd3x8l25hqv92p8rvdr7xw4jkzillllwmhz"; depends=[MASS rgl misc3d]; };
+gsDesign = derive { name="gsDesign"; version="2.9-3"; sha256="0dd96hciiksf436lpm1q35in06b82p4h09spklf28n0p5hgc9225"; depends=[ggplot2 xtable stringr RUnit plyr]; };
+gsalib = derive { name="gsalib"; version="2.1"; sha256="1k3zjdydzb0dfh1ihih08d4cw6rdamgb97cdqna9mf0qdjc3pcp1"; depends=[]; };
+gsarima = derive { name="gsarima"; version="0.1-4"; sha256="1ay3iamnvg7mbnl1xaxxcyic559bdnfspy883w2bwgy20yhr34yg"; depends=[MASS]; };
+gsbDesign = derive { name="gsbDesign"; version="0.96-2"; sha256="0sk4a66z9bqi3aa2ky9472p9znfm93kc9p5igdmvii4dr0syyfxd"; depends=[gsDesign lattice]; };
+gset = derive { name="gset"; version="1.1.0"; sha256="1gingqw6la8n7mnl47wpz9sicxca4zi2m8p35n6cnihrniibhajc"; depends=[Hmisc mvtnorm MCMCpack]; };
+gsg = derive { name="gsg"; version="2.0"; sha256="17fjl7aw1s814krnszxd4y1d4210bnkrf4kb2fwsycqwcwms5pm7"; depends=[mgcv mvtnorm boot numDeriv]; };
+gsheet = derive { name="gsheet"; version="0.1.0"; sha256="02mclvkq9lpp57ii8k3wj8cqjii9zsg4nl4i7zsa8b88r2bjmf9r"; depends=[dplyr rvest stringr]; };
+gskat = derive { name="gskat"; version="1.0"; sha256="19mbif7wr88vk5wlc7m2l4xghjmfj2qd3s8yvjlkawbnjk8x6ib0"; depends=[CompQuadForm e1071 gee geepack Matrix]; };
+gsl = derive { name="gsl"; version="1.9-10"; sha256="06n21p0k2ki6nb725a6sxwlb4p7xc5jhg11nq9c3z3dj39r0qgbd"; depends=[]; };
+gsmoothr = derive { name="gsmoothr"; version="0.1.7"; sha256="00z9852vn5pj04dhl3w36yk0xjawniay6iifw1i7fd8g98mgspxp"; depends=[]; };
+gss = derive { name="gss"; version="2.1-4"; sha256="0vmyz3q7b2chzmvrwx6bk2yj5kmaxym6lznyrddxgf7xzjipvlii"; depends=[]; };
+gsscopu = derive { name="gsscopu"; version="0.9-2"; sha256="0hg2ry9rhnn51g368fg1zxswx826y3m0yn2wjb2g5rw4a4zn1frr"; depends=[gss]; };
+gstat = derive { name="gstat"; version="1.0-22"; sha256="1jbjl2irg0a2jdxwk7nr3c33jf3dzbcydpxxjmld23zzx94qy1iv"; depends=[lattice sp zoo spacetime FNN]; };
+gstudio = derive { name="gstudio"; version="1.3"; sha256="1ddifizswm41y4sxnnfw8j90clba6zf022x0z4xipccaznim2gy9"; depends=[ggplot2 raster sp reshape2 ggmap popgraph]; };
+gsubfn = derive { name="gsubfn"; version="0.6-6"; sha256="196x4c3ihf4q3i0v7b1xa6jm8jjld2rsx00qz03n90wfnjdx5idv"; depends=[proto]; };
+gsw = derive { name="gsw"; version="1.0-3"; sha256="0ca3h567r23bdldic7labk1vbz8hhslw568lacbdcikm8q16hk72"; depends=[]; };
+gtable = derive { name="gtable"; version="0.1.2"; sha256="0k9hfj6r5y238gqh92s3cbdn34biczx3zfh79ix5xq0c5vkai2xh"; depends=[]; };
+gtcorr = derive { name="gtcorr"; version="0.2-1"; sha256="1n56zmyv58jwr95p453jb86j82pdnq57gfc8m15jndjc9p31zl0m"; depends=[]; };
+gte = derive { name="gte"; version="1.2-2"; sha256="1x528iakyjhh4j92cgm6fr49a3rdi4cqy28qhsfr2dwvxzxchl6h"; depends=[survival]; };
+gtools = derive { name="gtools"; version="3.4.1"; sha256="0d5v864v3qnmmxas8xf74aarli9nr3l16bwj9qzs2s9k498q6azs"; depends=[]; };
+gtop = derive { name="gtop"; version="0.2.0"; sha256="1nvvbf181x0miw3q0r2g0nklz29ljdsd07cazaajfls7pmhi0xw9"; depends=[hts quadprog lassoshooting]; };
+gtx = derive { name="gtx"; version="0.0.8"; sha256="0x71jji2yldi9wpx8d3nldbjfj4930j7zcasayzbylf9094gmg26"; depends=[survival]; };
+gumbel = derive { name="gumbel"; version="1.05"; sha256="0d7isx7bhvryhaa25kxb4fm58ph81xaqscj19aaqzs8yg79ac2ar"; depends=[]; };
+gvcm_cat = derive { name="gvcm.cat"; version="1.9"; sha256="1kwfcmnl1ivv1lh3zxccwls2xfyx3l8v71ngc0bg6441i81d4xp5"; depends=[Matrix MASS mgcv]; };
+gvlma = derive { name="gvlma"; version="1.0.0.2"; sha256="0gj52hg665nmlwgbjh9yvz7a3sbzlbj41ksxchnnlxaxipdf6sl8"; depends=[]; };
+gwerAM = derive { name="gwerAM"; version="1.0"; sha256="1c3rzd1jf52a4dn63hh43m9s9xnjvqn67amlm9z1ndrnn6fwfg1b"; depends=[MASS Matrix]; };
+gwrr = derive { name="gwrr"; version="0.2-1"; sha256="1fjk217pimnmxsimqp9sn02nr1mwy3hw3vsr95skbfsd6vdda14d"; depends=[fields lars]; };
+h2o = derive { name="h2o"; version="2.8.4.4"; sha256="03mj2p5wsgdn0jnv1fsrj7012v2am0mvyayj24zp7q56sfsgxigf"; depends=[statmod survival RCurl rjson]; };
+hSDM = derive { name="hSDM"; version="1.4"; sha256="1jq6hdnyv446ng62srip0b48kccf0qw3xqym3fprg74mjdy3inqr"; depends=[coda]; };
+haarfisz = derive { name="haarfisz"; version="4.5"; sha256="1qmh4glwzqwqx3pvxc71rlcimp1l0plgdf380v9hk0b4gj7g3pkf"; depends=[wavethresh]; };
+hamlet = derive { name="hamlet"; version="0.7"; sha256="0f3gl5xvgdksaxk76dyv46hahc41f2j3pf9wp0rc0q7wpp5nfsjl"; depends=[]; };
+hapassoc = derive { name="hapassoc"; version="1.2-7"; sha256="1cyx68fzazyyihhp2r237c6igspnfklswnja2k4z3my528ggbq7k"; depends=[]; };
+haplo_ccs = derive { name="haplo.ccs"; version="1.3.1"; sha256="0cs90zxxbvglz1af0lh37dw1gxa04k0kawzxamz2was3dbh19lbz"; depends=[haplo_stats survival]; };
+haplo_stats = derive { name="haplo.stats"; version="1.6.11"; sha256="0j3zh4n2rly8dij8srm8ck6fl63haw6d27m3nfnrxywr87pljg14"; depends=[]; };
+harvestr = derive { name="harvestr"; version="0.6.0"; sha256="1jg4d98bwx2cm3hliayqrazq43sa9kd9ynpaid6x4ld3mz5y8mlq"; depends=[plyr digest]; };
+hash = derive { name="hash"; version="2.2.6"; sha256="0mkx59bmni3b283znvbndnkbar85fzavzdfgmwrhskidsqcz34yz"; depends=[]; };
+hashFunction = derive { name="hashFunction"; version="1.0"; sha256="1v57xj8xwv6xhxvgp0zxgvs5vcjw8z5k2ciwbn0jxf4ilyd66cgj"; depends=[]; };
+hasseDiagram = derive { name="hasseDiagram"; version="0.1.1"; sha256="1szj5pi9i5ijqakxx4vwvwpz7y76jbgcgm76vfg4cnxvndf7sf4l"; depends=[]; };
+haven = derive { name="haven"; version="0.1.1"; sha256="0lc6zsl688ms76qjb3lsbid968byq3084513q6g9a1caa3qmvhz0"; depends=[Rcpp Rcpp BH]; };
+hawkes = derive { name="hawkes"; version="0.0-4"; sha256="1ghwq3icxwmrai3xn9r8cnvlh3z3j18lznhw1bm31h9mkkp2dk0a"; depends=[Rcpp Rcpp RcppArmadillo]; };
+hazus = derive { name="hazus"; version="0.1"; sha256="1c0ahjdy9di1683nk5k4rmr6rhb66523ny039nyv842rgqdy625j"; depends=[reshape2]; };
+hbim = derive { name="hbim"; version="1.0.3"; sha256="1480nydsi2xj7zbfk4zw24mhsjadf83d827kpqzbmn0yh6srp3ps"; depends=[mvtnorm]; };
+hbm = derive { name="hbm"; version="1.0"; sha256="0qz28azm91a6pbss1mfc47a21d3q9rs3mmw0kgwc7i2a2m43mysm"; depends=[Matrix foreach doParallel]; };
+hbmem = derive { name="hbmem"; version="0.3"; sha256="0ylxp77ack874sadwfnry84a6bg8gdl9xbw821lp5q05nnyg0dcj"; depends=[]; };
+hbsae = derive { name="hbsae"; version="1.0"; sha256="1iwmpi0pn5fxyxkwqkbmy6w1f1wcx0p809jnviim0ypwib32mhh7"; depends=[Matrix arm]; };
+hcc = derive { name="hcc"; version="0.54"; sha256="14b3pamkywb0wsjpbm0wpflcds0b5mfymvgk92rmf6ngz1bkpdbq"; depends=[]; };
+hcci = derive { name="hcci"; version="1.0.0"; sha256="11piy1ajg3j3dbh66szzf7lhc3x28fz75ai39vlx0gl5nc2v5zs5"; depends=[]; };
+hcp = derive { name="hcp"; version="0.1"; sha256="0hhcy70g13kclxv733kgiys7qn5bi28abpkli5n2vj0a58ac333m"; depends=[]; };
+hda = derive { name="hda"; version="0.2-12"; sha256="11z9p35dvhi7bdw09d2yawh46nxk8axw76b51vk089g12nr2b9x7"; depends=[e1071]; };
+hddplot = derive { name="hddplot"; version="0.56"; sha256="0s9iijwq8zfvavqq2bkqm2884sg0957ppkggsv6mmm3cbdi2xrlc"; depends=[MASS]; };
+hddtools = derive { name="hddtools"; version="0.2.4"; sha256="001cm07jvbxzsp64mkjymnsncyrd6r1nxwhjqkk2mb5ldz0541ir"; depends=[sp rgdal raster RCurl XML zoo]; };
+hdeco = derive { name="hdeco"; version="0.4.1"; sha256="04nggwckvn1kwi238qd33l4pryzn4aq5bmi30bvfi99gwnrlgfgq"; depends=[]; };
+hdi = derive { name="hdi"; version="0.1-2"; sha256="19lc2h34jlj198gchnhbfbb8igwlan2b977a47j8p3q6haj5bcv1"; depends=[glmnet linprog MASS scalreg]; };
+hdlm = derive { name="hdlm"; version="1.2"; sha256="0s4lzg3s2k7f7byygb11s7f78l3rkkb0zn03kh3d7h8250wg9fax"; depends=[glmnet foreach MASS iterators]; };
+hdrcde = derive { name="hdrcde"; version="3.1"; sha256="027nxpzk1g0yx8rns7npdz30afs5hwpdqjiamc7yjrsi0rzm71lw"; depends=[mvtnorm locfit ash ks KernSmooth]; };
+heatex = derive { name="heatex"; version="1.0"; sha256="0c7bxblq24m80yi24gmrqqlcw8jh0lb749adsh51yr6nzpap6i9n"; depends=[]; };
+heatmap_plus = derive { name="heatmap.plus"; version="1.3"; sha256="0rzffm15a51b7l55k0krk6w7v8czy3vpwz1qmbybr7av0pln7wn3"; depends=[]; };
+heatmap3 = derive { name="heatmap3"; version="1.0.7"; sha256="037aw51ynhi45yzsdd9af9kv1lza2k5lvx8m8jbzp6adadpwr305"; depends=[fastcluster]; };
+heatmapFit = derive { name="heatmapFit"; version="2.0.2"; sha256="00p39y6x13yxrxfqx6gzmb80fk1hsyi8wa6brx40hj37pyyfis0p"; depends=[]; };
+heavy = derive { name="heavy"; version="0.2-35"; sha256="04aw0r2hgnxf9nsd18q2b5d130vj578nyv5wacivikgfifyy0y39"; depends=[]; };
+helloJavaWorld = derive { name="helloJavaWorld"; version="0.0-9"; sha256="1a8yxja54iqdy2k8bicrcx1y3rkgslas03is4v78yhbz42c9fi8s"; depends=[rJava]; };
+helsinki = derive { name="helsinki"; version="0.9.24"; sha256="1ljqgwcmvcmir8fq3izym4k8ljakwqpgq94wfhrdxp0q393zb8rq"; depends=[maptools RCurl rjson sp]; };
+heplots = derive { name="heplots"; version="1.0-12"; sha256="064kanmqm4b0sbyw60wfb19adclpdagm23l6p86vi0hyx0dr0ykz"; depends=[car MASS]; };
+hergm = derive { name="hergm"; version="2.2-1"; sha256="0pii3dgpjgh4s5a1cjj0nyw3p8g0b7f0hhfbfc9mwr5mz84yidlh"; depends=[ergm latentnet network sna]; };
+heritability = derive { name="heritability"; version="1.1"; sha256="05vcprf3rk65197njnhw7n5l19hvy7hfp4fdigkwzvch4rnicidf"; depends=[MASS]; };
+hermite = derive { name="hermite"; version="1.0.2"; sha256="0hmh3vpla3xjr4gasv9jsq4ldpchzip8hqbz31c2a77kkhbmrg22"; depends=[maxLik]; };
+het_test = derive { name="het.test"; version="0.1"; sha256="08kxp81dx32anh0k5b65x7w7madwnn9hiabdrk6ck6b6mx37x26v"; depends=[vars]; };
+hett = derive { name="hett"; version="0.3-1"; sha256="1y0hr9g2pjwzc5azh095h33qidxhhmlvd1csamjnhwdphj5drzz0"; depends=[MASS lattice]; };
+hexView = derive { name="hexView"; version="0.3-3"; sha256="0cx5hl70sk1wk24na21vjyv50b2358z1plvvcw604qf1zij4icwn"; depends=[]; };
+hexbin = derive { name="hexbin"; version="1.27.0"; sha256="0fs5nsaalic6fj7b347yjczws310y3q2v37yr8sg74yq8wqzsdj8"; depends=[lattice]; };
+hflights = derive { name="hflights"; version="0.1"; sha256="1rb6finck13i6949i6hsgfk90q4ybxh1m3is2mlw2m6087bpzfbd"; depends=[]; };
+hgam = derive { name="hgam"; version="0.1-2"; sha256="1flcc67n8kbh9m5phdfl587xg1x935zbp305y0gdmkc8vpkiwpcf"; depends=[grplasso lattice rgl]; };
+hglasso = derive { name="hglasso"; version="1.2"; sha256="1qq41ma33wz7qjs5zx72yvngpsiq62z9sd6d5hvvl83brq0fcr4b"; depends=[glasso mvtnorm igraph fields]; };
+hglm = derive { name="hglm"; version="2.0-11"; sha256="0yqnky2p5avxn7nv8wnk57xkd0dpk89jas6d577q50ms4dpwdl6z"; depends=[Matrix MASS hglm_data]; };
+hglm_data = derive { name="hglm.data"; version="1.0-0"; sha256="1hrq1jac658z5xjsg03nfkb4kwm9z44bhciv5chk74ww8gjr9j9q"; depends=[Matrix MASS]; };
+hht = derive { name="hht"; version="2.1.2"; sha256="10lpndwpddcqxyrk9pq9dwaqpj4apxdic971nd68cn3pql6fssdn"; depends=[EMD fields spatstat]; };
+hiPOD = derive { name="hiPOD"; version="1.0"; sha256="1i15ickz2s0kffh99qq30pl5hsl0lbj0kp55jnbv4x72hndzhmla"; depends=[rgl]; };
+hiddenf = derive { name="hiddenf"; version="1.1"; sha256="04pl3glvg3m1xzvxnc5lwjz839zrpc8zhnsxcswvvaqpgzip5f1p"; depends=[]; };
+hier_part = derive { name="hier.part"; version="1.0-4"; sha256="03acdgzkhbk4p0wxw2g1hzklmq9hzmdkkvfj742vzfswdd803yg9"; depends=[gtools]; };
+hierDiversity = derive { name="hierDiversity"; version="0.1"; sha256="1n4jg003h9hvr2n43jwxgfpazvc5ij5lqvspxi49w8fpzpcrqrjj"; depends=[]; };
+hierNet = derive { name="hierNet"; version="1.6"; sha256="08lifk92caa4l9nfb89rl6vby8sd1ba3ay7z29ffirsg7cx07qiw"; depends=[]; };
+hierarchicalDS = derive { name="hierarchicalDS"; version="2.9"; sha256="0ckxy4pww5iik4m4kqs714f00g7lfzsarjdbpd0bcalvq4lmaal2"; depends=[truncnorm mvtnorm Matrix coda xtable mc2d ggplot2 rgeos]; };
+hierfstat = derive { name="hierfstat"; version="0.04-14"; sha256="0zbl5cq0cidv0glgi1g2q0azfw393lnb7hp8m69sxwdjn3y3912c"; depends=[gtools ade4]; };
+highD2pop = derive { name="highD2pop"; version="1.0"; sha256="1s4v6m2d3vzvxsgmjzczv1zj3kv3ygvv6gbkkbjwsdhkvc1rdmf0"; depends=[fastclime]; };
+highTtest = derive { name="highTtest"; version="1.1"; sha256="18hgxlr0y8y1d4ldqmfcg4536lhyn5p6w88sq1vj74qr5wzydga1"; depends=[]; };
+highfrequency = derive { name="highfrequency"; version="0.4"; sha256="0kzadnkvmxcrb8flsxlx8vd9c2yad7hh1pij05dhdcpaidrc9acq"; depends=[xts zoo]; };
+highlight = derive { name="highlight"; version="0.4.4"; sha256="03mch5waqkzb9pb4llgalbxdfn3h6adh05f3i43kscssc67bs30l"; depends=[]; };
+highr = derive { name="highr"; version="0.4"; sha256="18qfh6v5h29g6y2fkgd4qnkl1ijzzjh369gvn9pzcgaapm6s2wpf"; depends=[]; };
+hillmakeR = derive { name="hillmakeR"; version="0.2"; sha256="1baynibgn4xqmpsxna8irggxvdc484mq5nza00rwg58vh1bc7wzq"; depends=[]; };
+hint = derive { name="hint"; version="0.1-1"; sha256="1n18j2hcb1qynhsln10nzryi20l5aqhr7i1aanww10y5dz573zi3"; depends=[]; };
+hisemi = derive { name="hisemi"; version="1.0-319"; sha256="0pm7dsaaqrdhkvxsk2cjvk6qd2rqqmddmv012smnrivi7mpnvd4w"; depends=[Matrix Iso fda]; };
+hisse = derive { name="hisse"; version="1.0"; sha256="0vbwc006ypn9jcaw86dcvmg2hyjwb88h45zx8kjr5w506818phjp"; depends=[ape deSolve GenSA subplex]; };
+histmdl = derive { name="histmdl"; version="0.4-1"; sha256="0kiz95hdi658j5s7aqlf8n9k35s30pshc5nymif88gjik9gvrxd0"; depends=[]; };
+histogram = derive { name="histogram"; version="0.0-23"; sha256="0hrhk423wdybqbvgsjn7dxgb95bkvmbh573q1696634hvzfdm68c"; depends=[]; };
+historydata = derive { name="historydata"; version="0.1"; sha256="1h69x3iig542d43p9zm8x83p4dq48iwsw606j4fndnqhx99vzkw6"; depends=[]; };
+hitandrun = derive { name="hitandrun"; version="0.5"; sha256="1f7h963hqyhir3c26dyi0gvv5pf0a7x8sw2km3wh4ncwx2barfzq"; depends=[rcdd]; };
+hive = derive { name="hive"; version="0.1-16"; sha256="1xaxnr8nfkji2b5f5dq2h01pkl20rm24wxnf1y1xv695v3j58ibd"; depends=[rJava XML]; };
+hlr = derive { name="hlr"; version="0.0-4"; sha256="04w1hzjfg2ly9vm9ynh676fy74d9ncy3a1mak209z2ddgr3m7r2y"; depends=[MASS]; };
+hmeasure = derive { name="hmeasure"; version="1.0"; sha256="0wr0xq956glmhvy4yis3qq7cfqv9x82ci9fzx3wjvaykd16h0sx9"; depends=[]; };
+hmm_discnp = derive { name="hmm.discnp"; version="0.2-3"; sha256="1r9xxgsqh5pw9incldaxnsqhyanhd4jwm6w0ix1k43i53dw4diyr"; depends=[]; };
+hmmm = derive { name="hmmm"; version="1.0-3"; sha256="0yjx5i13jbv7vzxn84m6305124ri7jnym0bxbdj46s6l7lw025a9"; depends=[quadprog MASS mvtnorm]; };
+hnp = derive { name="hnp"; version="1.0"; sha256="1sxbgz57js1vxhz309dnj6jhw4y6c0pzk0a9xk8avacicnv0bxhr"; depends=[MASS]; };
+hoardeR = derive { name="hoardeR"; version="0.0-2"; sha256="1k9a469h6fmr1br93dsk4q14h2bw8225l0v5sfp2wyr8sfpwm1dg"; depends=[httr XML stringr]; };
+holdem = derive { name="holdem"; version="1.1"; sha256="07h4cbg7hx91hc6ypi6hbalzdd9qz9rfhjgk5sq1srnangwwnxlw"; depends=[]; };
+homals = derive { name="homals"; version="1.0-5"; sha256="1azrwvdzn379in2sz9d94w2f2xp0d6iiayrv0bws44kvdzr95aqm"; depends=[rgl ape scatterplot3d]; };
+homeR = derive { name="homeR"; version="0.1"; sha256="0yq93b3wkgbnwzpyhx9c73sb9xgz7m3z4p5rflk3lmc0p53h81g5"; depends=[]; };
+homtest = derive { name="homtest"; version="1.0-5"; sha256="1lnqlg3dwq174ic6dbjllysw5fjy5kvvgbl6gvabjmcs66z27fp0"; depends=[]; };
+hornpa = derive { name="hornpa"; version="1.0"; sha256="0pfvk2jkrwgvshgq9g55qijgpjh0677rpbya0r8759n92v3axbp4"; depends=[]; };
+hot_deck = derive { name="hot.deck"; version="1.0"; sha256="11dxj676y55p4n0c27l7f3ns8kk308f6b6lhwfpjqfz0wgysnfq9"; depends=[mice]; };
+hotspots = derive { name="hotspots"; version="1.0.2"; sha256="1cwcwin86y7afjhs8jwlz1m63hh70dcjag0msds4ngksvjh9gj2q"; depends=[lattice ineq]; };
+howmany = derive { name="howmany"; version="0.3-1"; sha256="045ck8qahfg2swbgyf7dpl32ryq1m4sbalhr7m5qdgpm62vz8h7f"; depends=[]; };
+hpcwld = derive { name="hpcwld"; version="0.5"; sha256="17k4mw41gygwgvh7h78m0jgzh1bivrvrsr8lgxxw3sbkw88lwb40"; depends=[multicool partitions]; };
+hpoPlot = derive { name="hpoPlot"; version="2.0"; sha256="080jzi1zw510clbbkmf2wkwbfgna06kfz91i7d90b9pqi7krj28j"; depends=[functional magrittr]; };
+hqmisc = derive { name="hqmisc"; version="0.1-1"; sha256="0jcy2hb3dmzf9j4n92aq7247mx9w7n30wpsx0dkchqnjwlqwwncw"; depends=[]; };
+hrr = derive { name="hrr"; version="1.1.1"; sha256="17jzsgh2784y7jdwpa50v7qz99dw6k2n25sisnam6h1a39b96byn"; depends=[]; };
+hsicCCA = derive { name="hsicCCA"; version="1.0"; sha256="1d4lkjrihwhl3jrsj7250ccd90nfwpllyavc3mp15fhcy2jnjci8"; depends=[]; };
+hsmm = derive { name="hsmm"; version="0.4"; sha256="1fh8c5kfv4brygdq6bfkrhrhkm99mxl4ljb1mhp9nf2bjlla11mc"; depends=[mvtnorm]; };
+hsphase = derive { name="hsphase"; version="2.0.1"; sha256="1z7yxbknldxn780dxw9xz984b3i8pj5hmdnbynvxc5k0ss8g7isy"; depends=[snowfall Rcpp RcppArmadillo Rcpp]; };
+htmlTable = derive { name="htmlTable"; version="1.2"; sha256="06hbc3wvymksr83cxy9rjkfw860sfg513ylipgdnxzr5h986hfad"; depends=[stringr knitr magrittr]; };
+htmltools = derive { name="htmltools"; version="0.2.6"; sha256="1gp6f6388xy3cvnb08q08vraidjp740gfxlafdd19m2s04v5hncz"; depends=[digest]; };
+htmlwidgets = derive { name="htmlwidgets"; version="0.3.2"; sha256="1r0n3c2xvj9k7x892nbqyclpc66lq5wyxc2y0nybs5wcz3jx9s2p"; depends=[htmltools RJSONIO yaml]; };
+hts = derive { name="hts"; version="4.4"; sha256="1dpm669lc4khjkcs49m1nh7i61sclsqy7xbcn4mqqjhfgs7sg7sk"; depends=[forecast SparseM]; };
+httk = derive { name="httk"; version="1.1"; sha256="198zxzap9m8c6rlzqjfrg6b9pvgbksk2myq5cw7j37j63lfnblki"; depends=[deSolve msm]; };
+httpRequest = derive { name="httpRequest"; version="0.0.10"; sha256="0f6mksy38p9nklsr44ki7a79df1f28jwn2jfyb6f9kbjzh98746j"; depends=[]; };
+httpuv = derive { name="httpuv"; version="1.3.2"; sha256="0vp3bz1nxi0ladlgi1r6wd480y0m2m0gsba2hrs73s9b8afrfh6v"; depends=[Rcpp Rcpp]; };
+httr = derive { name="httr"; version="0.6.1"; sha256="111l6ygwnrzcqwny6ds62np0r2f6x0il7abapq00j1y86nk4p6l6"; depends=[digest jsonlite mime RCurl R6 stringr]; };
+huge = derive { name="huge"; version="1.2.6"; sha256="11njfd4i8q950apga6sdk84p4wk4qvp8bpg6yz9lgjrgj2hn14n2"; depends=[Matrix lattice igraph MASS]; };
+humanFormat = derive { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; };
+hwde = derive { name="hwde"; version="0.64"; sha256="1is39zknssqm98577sdjg8gn3h9wsraih19a9nd6n8mxdcsqivh4"; depends=[]; };
+hwriter = derive { name="hwriter"; version="1.3.2"; sha256="0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb"; depends=[]; };
+hwriterPlus = derive { name="hwriterPlus"; version="1.0-3"; sha256="1sk95qgpyxwk1cfkkp91qvn1iklad9glrnljdpidj20lnmpwyikx"; depends=[hwriter TeachingDemos]; };
+hwwntest = derive { name="hwwntest"; version="1.3"; sha256="1b5wfbiwc542vlmn0l2aka75ss1673z8bcszfrlibg9wwqjxlwk5"; depends=[polynom wavethresh]; };
+hybridEnsemble = derive { name="hybridEnsemble"; version="0.1.1"; sha256="1hn6zfz22mgxv5qpwdgmn7a9snha7hdkbbqq3xicy37j8xypsab5"; depends=[kernelFactory ada rpart ROCR nnet e1071 NMOF GenSA Rmalschains pso AUC soma genalg reportr nnls quadprog tabuSearch glmnet]; };
+hybridHclust = derive { name="hybridHclust"; version="1.0-4"; sha256="1967p6crkrbnlfghd9x1alr2x57nqjl1zh58hhyshgla3xmdmhx5"; depends=[cluster]; };
+hydroApps = derive { name="hydroApps"; version="0.1-1"; sha256="1ycv7l2ywwnx2mgklg6rry7n24jyhi4spvp1xl345yvyn9kf15dz"; depends=[nsRFA]; };
+hydroGOF = derive { name="hydroGOF"; version="0.3-8"; sha256="1ljk2dk5ydsg7qdizyzkbw0b2zdhnb3x9h965d94ygzg8nw5kbak"; depends=[zoo hydroTSM xts]; };
+hydroPSO = derive { name="hydroPSO"; version="0.3-4"; sha256="12md94g78m7m1np36sadx0wxpb149pn5gd8yj2kw7fphb8g6a218"; depends=[Hmisc sp lattice zoo lhs]; };
+hydroTSM = derive { name="hydroTSM"; version="0.4-2-1"; sha256="0z5xw25w2fn67x2dw61msfdnp2dr2s2yi525fcjxn77339x9ksfr"; depends=[zoo xts e1071 gstat automap sp]; };
+hydrogeo = derive { name="hydrogeo"; version="0.2-3"; sha256="1kvzpdjrzbxy4rbfhjqmxdipaamd2rjdyxjv6vfxv1ixs1bm8cwm"; depends=[]; };
+hydrostats = derive { name="hydrostats"; version="0.2.3"; sha256="1hd4jcdkdl546kqvx9swnqn7gjvd7ppz034cqflpckhn68rc62g7"; depends=[]; };
+hyperSpec = derive { name="hyperSpec"; version="0.98-20150304"; sha256="0fjww2h6vlm53dsnaxb3i11cmary1w8l0jr9c5dy16y7n9cc3hqb"; depends=[lattice ggplot2 mvtnorm latticeExtra svUnit]; };
+hyperdirichlet = derive { name="hyperdirichlet"; version="1.4-9"; sha256="03c2xgfhfbpn1za84ajhvm0i5cpmfnz1makidrr2222addgyp9zx"; depends=[aylmer abind mvtnorm cubature]; };
+hypergea = derive { name="hypergea"; version="1.2.3"; sha256="13a8r7f2qq7wi0h7jrg29mn573njzi1rwna0ch9sj8sdy8w26r6w"; depends=[]; };
+hypergeo = derive { name="hypergeo"; version="1.2-9"; sha256="0ydwza0h8ykzbrsvvp4wd5jiy05rx5bj93c7bplx68j3c68c9f1q"; depends=[elliptic contfrac]; };
+hypervolume = derive { name="hypervolume"; version="1.2.2"; sha256="1nc5hybw5aa5pdrf9j1jv6d69q1im7whz0d05rmyskcayy2x3pyi"; depends=[Rcpp rgl MASS geometry pdist Rcpp]; };
+hypothesestest = derive { name="hypothesestest"; version="1.0"; sha256="0g8sm386m1zm9i3900r62x83wb600cy8hqk7dlvbx6wcgrxg82sm"; depends=[]; };
+hypred = derive { name="hypred"; version="0.5"; sha256="07jxpzh53qmv1vs2yhgnvxwcwkwpp6a12861i4a5n6pvwivw220d"; depends=[]; };
+hysteresis = derive { name="hysteresis"; version="2.5"; sha256="1b1dd2367pjbg4jnn65l2jcj38ljz7adpdg8f5b9rj1rw7qgikfl"; depends=[car msm MASS]; };
+hzar = derive { name="hzar"; version="0.2-5"; sha256="000l4ki3hvznnhkxc5j422h5ifnsfqalv666j48yby1hsf1lc3kg"; depends=[MCMCpack foreach coda]; };
+iBATCGH = derive { name="iBATCGH"; version="1.2"; sha256="0py83q8fcrh0kjysvljx22b7s2gsccq19rzvwf3alq8vl59sm48i"; depends=[Rcpp msm Rcpp RcppArmadillo]; };
+iBUGS = derive { name="iBUGS"; version="0.1.4"; sha256="0vsxy8pnbix0rg7ksgywx7kypqb5ngkxhldh3cisjkvdv638ybps"; depends=[R2WinBUGS gWidgetsRGtk2]; };
+iC10 = derive { name="iC10"; version="1.1.2"; sha256="1ncxdjw9ary0bs3fvnvyqp356gi4wa177sllkizq71fzn75a03x3"; depends=[pamr iC10TrainingData]; };
+iC10TrainingData = derive { name="iC10TrainingData"; version="1.0.1"; sha256="1x1kgxiib9l7whm2kmbv1s912hgpl7rdpqpn67nlkiswnr27hqn4"; depends=[]; };
+iCluster = derive { name="iCluster"; version="2.1.0"; sha256="09j36xv87d382m5ijkhmp2mxaajc4k97cf9k1hb11ksk7fxdqz6r"; depends=[lattice caTools gdata gtools gplots]; };
+iDynoR = derive { name="iDynoR"; version="1.0"; sha256="01702vl10191mbq2wby1m0y6h8i6y6ic4pa83d27cg3yccsrhziz"; depends=[XML vegan]; };
+iFad = derive { name="iFad"; version="3.0"; sha256="0jrl9bayihp3wb4k5w9kc71qlsdxk7vl83ydfibx2bg79c4hf3cs"; depends=[Rlab MASS coda ROCR]; };
+iFes = derive { name="iFes"; version="1.0"; sha256="0in6wy6w567188gylnlvcsk3r3w2nln9h60rj7ng1qwqawrvgwxp"; depends=[ROCR doParallel foreach]; };
+iGasso = derive { name="iGasso"; version="1.2"; sha256="123487slizsmw5b0imwqll8n03navx30kvawr6jfibbjfdd8vfn7"; depends=[lattice CompQuadForm]; };
+iRefR = derive { name="iRefR"; version="1.13"; sha256="17kjfga62xc4s1kii5clxszbag2dr1dyxfm7jasr20prx28ya6pp"; depends=[igraph]; };
+iRegression = derive { name="iRegression"; version="1.2"; sha256="1fn25xnrvgx2ayhss136rxn1h3c9pvq2gmb5kbp92vsf07klvh6v"; depends=[mgcv]; };
+iRepro = derive { name="iRepro"; version="1.0"; sha256="1knncn47pl411r31z1r5ipsiyagcpjbc2gb972n7l3539pcpf0zy"; depends=[]; };
+iWeigReg = derive { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; };
+ibd = derive { name="ibd"; version="1.2"; sha256="0681v7lgx697yj2d60cw3p5axbbaxanzj291vdf7ailn7300p1ms"; depends=[lpSolve MASS car lsmeans multcompView]; };
+ibdreg = derive { name="ibdreg"; version="0.2.5"; sha256="1kaa5q1byi30wzr0mw4w2cv1ssxprzcwf91wrpqwkgcsdy7dkh2g"; depends=[]; };
+ibeemd = derive { name="ibeemd"; version="1.0.1"; sha256="115z13q02gzixziknix2l53mi12zzg30ra9h35pv6qzrr11ra1ic"; depends=[fields deldir rgeos sp spdep]; };
+ibelief = derive { name="ibelief"; version="1.0"; sha256="1mcmq1zpj1f6alhnsznb27iknp7dzdsd25di8a64hw5c3cnx3xay"; depends=[]; };
+ibmdbR = derive { name="ibmdbR"; version="1.36.7"; sha256="0v6l8cm0sww2gm8yal4ffk2wcxfnvfsd76i92f2khank7bhga06r"; depends=[RODBC MASS]; };
+ibr = derive { name="ibr"; version="1.4.5"; sha256="0nw2j232br06l30v3cn4qcr25vbh911v2mz7nfail40sqxc6wwc4"; depends=[]; };
+ic_infer = derive { name="ic.infer"; version="1.1-5"; sha256="0nmx7ijczzvrv1j4321g5g5nawzll8srf302grc39npvv1q17jyz"; depends=[quadprog mvtnorm boot kappalab]; };
+ic50 = derive { name="ic50"; version="1.4.2"; sha256="1a5ddmbdfr3ls132fvalbkh4yaawv9k58rgpy54s5qddrm6aas2s"; depends=[]; };
+ica = derive { name="ica"; version="1.0-0"; sha256="009xv1ycgbnw6ysx1wxrgygny7qa2wd2mcjrg2fwxg958mzyrx4z"; depends=[]; };
+icaOcularCorrection = derive { name="icaOcularCorrection"; version="3.0.0"; sha256="1vmvarc2apipd0vlhprc5wpgh8i38m5myj1gqdymjrnky0azq17f"; depends=[fastICA mgcv]; };
+icamix = derive { name="icamix"; version="1.0.1"; sha256="06jaznzgixglbrrmvmp3cnghdldv30h5nfjghvdymia27m7ssdrr"; depends=[Rcpp Rcpp RcppArmadillo]; };
+icapca = derive { name="icapca"; version="1.1"; sha256="131gdrk8vsbac0krmsryvsp21bn9hzxqxq847zn16cxjf6y5i3xb"; depends=[]; };
+iccbeta = derive { name="iccbeta"; version="1.0"; sha256="0zsf2b5nrv39pssi5walf82892fr8p1f802c96hjjknh78q7gh0h"; depends=[lme4 Rcpp Rcpp RcppArmadillo]; };
+icd9 = derive { name="icd9"; version="1.1"; sha256="10swy0zhzip412icc9nf324za3czcjfpby6d9ha480504073fakm"; depends=[Rcpp checkmate Rcpp]; };
+icensmis = derive { name="icensmis"; version="1.2.1"; sha256="1h4l9irip4hv34hr92j8756qgmy455mfdblr7ypgsgvr27cgax8h"; depends=[Rcpp Rcpp]; };
+idbg = derive { name="idbg"; version="1.0"; sha256="1rxmj04hswxybrg7dfib3mjy8v8mdiv13zwbscp2q55z55hhf1m5"; depends=[]; };
+identity = derive { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; };
+idr = derive { name="idr"; version="1.2"; sha256="05nvgw1xdg670bsjjrxkgd1mrdkciccpw4krn0zcgdf2r21dzgwb"; depends=[]; };
+ieeeround = derive { name="ieeeround"; version="0.2-0"; sha256="0xaxrlalyn8w0w4fva8fd86306nvw3iyz44r0hvay3gsrmgn3fjh"; depends=[]; };
+ifa = derive { name="ifa"; version="7.0"; sha256="1cxafd7iwvyidzy27lyk1b9m27vk785ipj9ydkyx9z1v0zna2wnl"; depends=[mvtnorm]; };
+ifs = derive { name="ifs"; version="0.1.4"; sha256="0fzani8rnn4rdwlghq967hhi4zfjnk3gwpk3v6wys738xj7yfwp1"; depends=[]; };
+ifultools = derive { name="ifultools"; version="2.0-1"; sha256="16lrmajyfa15akgjq71w9xlfsr4y9aqfw7y0jf6gydaz4y6jq9b9"; depends=[splus2R MASS]; };
+igraph = derive { name="igraph"; version="0.7.1"; sha256="1nvb30zjjw861idbd8zap9qqg22k87zdi6qqvjf1s29v7hkx7kq7"; depends=[Matrix]; };
+igraphdata = derive { name="igraphdata"; version="0.2"; sha256="0hm757fc2snqlav3wx1vdmwy2gr5cskig97c2zlvk88sfwgx4i2m"; depends=[]; };
+igraphtosonia = derive { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; };
+ihs = derive { name="ihs"; version="1.0"; sha256="1c5c9l6kdalympb19nlgz1r9zq17575ivp3zrayb9p6w3fn2i06h"; depends=[maxLik]; };
+iki_dataclim = derive { name="iki.dataclim"; version="1.0"; sha256="1yhvgr8d3j2r8y9c02rzcg80bz4cx58kzybm4rch78m0207wqs7p"; depends=[zoo lubridate climdex_pcic PCICt]; };
+ilc = derive { name="ilc"; version="1.0"; sha256="0hs0nxv7cd300mfxscgvcjag9f2igispcskfknb7sn7p8qvwr5ki"; depends=[demography rainbow forecast date survival]; };
+imguR = derive { name="imguR"; version="1.0.0"; sha256="0yhlir0qxi6hjmqlmmklwd4vkymc5bzv9id9dlis1fr1f8a64vwp"; depends=[RCurl httr png jpeg]; };
+import = derive { name="import"; version="1.0.1"; sha256="14frkzjll9jj7cxlsvvcrrzpicx25mn90zz4rbm568ai5k9gsa5g"; depends=[]; };
+imprProbEst = derive { name="imprProbEst"; version="1.0.1"; sha256="09y8yd9sw0b79ca45ryi7p82vy5s8cx0gg603rlc39lgwcdv45i3"; depends=[inline lpSolve]; };
+imputeLCMD = derive { name="imputeLCMD"; version="2.0"; sha256="10v3iv1iw6mnss6ry836crq9zdgid2y1h3pvigzjsrmnp5n89mfz"; depends=[tmvtnorm norm]; };
+imputeMDR = derive { name="imputeMDR"; version="1.1.2"; sha256="0ds5a4wav9vb9z5nji8hv5l76310rd970xf702fd0ckx1sh6rgd7"; depends=[]; };
+imputeR = derive { name="imputeR"; version="1.0.0"; sha256="18rx70w7xb33m84ifxl3p599js78pa748c9lmlkic6yqrgsabcip"; depends=[caret reshape2 glmnet pls rda Cubist ridge gbm mboost rpart]; };
+in2extRemes = derive { name="in2extRemes"; version="1.0-1"; sha256="0k5qczs54b7bl71my8xmnqly91g7c5skj0lm2g8dk4hgrx6wwsrf"; depends=[extRemes]; };
+inTrees = derive { name="inTrees"; version="1.1"; sha256="1b88zy4rarcx1qxzv3089gzdz1smga6ssj8cxxccyyzci6px85j1"; depends=[RRF arules gbm xtable]; };
+inarmix = derive { name="inarmix"; version="0.4"; sha256="11a1vaxq22d5lab07jp5pw0znkaqj6bmkn6vsx62y6m4mmqk04yr"; depends=[Matrix Rcpp Rcpp]; };
+incReg = derive { name="incReg"; version="1.0"; sha256="1kckx64hn8g9wvjg7g9xild5hclim1rs7z2m7rgmbdwlbayxpwgv"; depends=[car]; };
+indicoio = derive { name="indicoio"; version="0.3"; sha256="04c2j4l103fiiibf83z7iq95wfnlv9rj46cyp9xy68bzqkbwdi3m"; depends=[httr rjson stringr png]; };
+indicspecies = derive { name="indicspecies"; version="1.7.4"; sha256="1b9fgdsprh89siqps30v2yz0hsvfxffz2ynp1z74dmvx52iih4vs"; depends=[permute sp rgeos]; };
+ineq = derive { name="ineq"; version="0.2-13"; sha256="09fsxyrh0j7mwmb5hkhmrzgcy7kf85jxkh7zlwpgqgcsyl1n91z0"; depends=[]; };
+inference = derive { name="inference"; version="0.1.0"; sha256="0j92isfkbhk13yx2hd3a5dd7ikcbgjc04zisd1n5kmg6ajw2aj6r"; depends=[sandwich]; };
+inferference = derive { name="inferference"; version="0.4.61"; sha256="02rsirwh4arqkgxpw3vnd0m2k055ir2074mlz27gbzmwz0ycpfzk"; depends=[numDeriv lme4 Formula]; };
+inflection = derive { name="inflection"; version="1.1"; sha256="1nb1pf07c371vwgplfyjs3q1iqgb5hyk9czxqrjiy18g8p7zdln2"; depends=[]; };
+influence_ME = derive { name="influence.ME"; version="0.9-5"; sha256="0sjrajhc198g391xa78l4gicmpyq4h7dnrnncji3qpgbqi772pkn"; depends=[lme4 Matrix lattice]; };
+influence_SEM = derive { name="influence.SEM"; version="1.4"; sha256="1grsnp8xwmhh9qx0yc5fy8b3g4i4cfqbg6sfzbmn39si2z34wrxw"; depends=[lavaan]; };
+infoDecompuTE = derive { name="infoDecompuTE"; version="0.5.1"; sha256="1aigd1fvpdqjplq1s1js0sy8px68q73lbp5q591rn52c77smdhaj"; depends=[MASS]; };
+informR = derive { name="informR"; version="1.0-5"; sha256="16pz47wlr1gr8z5hdnrjpczm967khqiqgdfiw15a0bby6qdvni2y"; depends=[abind relevent]; };
+infotheo = derive { name="infotheo"; version="1.2.0"; sha256="18xacczfq3z3xpy434js4nf3l19lczngzd0lq26wh22pvg1yniwv"; depends=[]; };
+infra = derive { name="infra"; version="0.1.2"; sha256="0jycnnmrrjq37lv67xbvh6p63d6l4vbgf3i1z9y7r75d6asspzn1"; depends=[]; };
+infutil = derive { name="infutil"; version="1.0"; sha256="02d0hfbkdqjj0lm1fzwwxy60831kbcjn2m4rfblpib0krkbpz72n"; depends=[ltm]; };
+inline = derive { name="inline"; version="0.3.13"; sha256="1dijlcnm7wfd6jgy6wsj6imwg43f91cl7iiz5j2jhhavw2pczr62"; depends=[]; };
+inlinedocs = derive { name="inlinedocs"; version="2013.9.3"; sha256="13vk6v9723wlfv1z5fxmvxfqhaj68h0x3s2qq9j6ickr4wakb4ar"; depends=[]; };
+insideRODE = derive { name="insideRODE"; version="2.0"; sha256="1ffndk8761cpkririb3g1qsq9nwmh82lcrpql9i5fksdprvdjzcw"; depends=[deSolve nlme lattice]; };
+insol = derive { name="insol"; version="1.1.1"; sha256="0zbawkp4qb0kqb7y9ibiyy8sa9rfgbzwmcdswx6s87p0h7brrqn6"; depends=[]; };
+insuranceData = derive { name="insuranceData"; version="1.0"; sha256="0wryh8i1v3bnpbqn6d6dpxr9bwwl6mnh5cb5igz0yanh4m1rx96w"; depends=[]; };
+intReg = derive { name="intReg"; version="0.2-8"; sha256="0cqf6lbn8aiyj5j7gg1qz80i477bfxbmxp7fjs25ish4bcdsbjja"; depends=[miscTools maxLik sets]; };
+intRegGOF = derive { name="intRegGOF"; version="0.85-1"; sha256="0fyvhl6jmi6krfbimsq61dhixlz9h9jxk4yjvwbx2vl8d9fnnr54"; depends=[]; };
+intamap = derive { name="intamap"; version="1.3-37"; sha256="17l1bifks0vsk0a3bj2g4w8qrvhmdh0p145kmd09223x9yc4mc9v"; depends=[sp gstat automap mvtnorm MASS evd]; };
+intamapInteractive = derive { name="intamapInteractive"; version="1.1-10"; sha256="073k6sdds40fmlbw1xnp3x5sc9qdyq2s1bhp7av4jjm930hsvsrn"; depends=[intamap spcosa spatstat automap gstat]; };
+intcox = derive { name="intcox"; version="0.9.3"; sha256="1m1lzmymh2pk570k6nxq3nj7wxkvs1s3nvz8cb456fnv72ng8fap"; depends=[survival]; };
+interAdapt = derive { name="interAdapt"; version="0.1"; sha256="06ki36l1mrnd9lbm696a6gapr488dz8na4wvl9y1fif9hfv4zk25"; depends=[shiny knitcitations RCurl mvtnorm knitr]; };
+interferenceCI = derive { name="interferenceCI"; version="1.1"; sha256="19ky10nn6ygma6yy5h1krxx61aikh3yx5y39p68a944mz8f72vsn"; depends=[gtools]; };
+intergraph = derive { name="intergraph"; version="2.0-1"; sha256="03ycay3x4wd3j7r0mad9qgi4h77krapg613ans3jf9qa4ys2njlv"; depends=[network igraph]; };
+interpretR = derive { name="interpretR"; version="0.2.0"; sha256="1wbsyaw6n89is3gw8na92axads7lp8z2bsdrvxg14nzknl9nsr3q"; depends=[randomForest AUC]; };
+interval = derive { name="interval"; version="1.1-0.1"; sha256="1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"; depends=[survival perm MLEcens]; };
+intervals = derive { name="intervals"; version="0.15.0"; sha256="0lvxaq5ia7hj65n00awz454a2vdxpskxjw45wsakgh0sc60hk8yz"; depends=[]; };
+interventionalDBN = derive { name="interventionalDBN"; version="1.2.2"; sha256="0wpp4bfi22ncvl0vdivniwwvcqgnpifpgxb4g5jbyvr0z735cd9w"; depends=[]; };
+intpoint = derive { name="intpoint"; version="1.0"; sha256="0zcv64a0clgf1k3ylh97q1w5ddrv227846gy9a68h6sgwc0ps88b"; depends=[]; };
+introgress = derive { name="introgress"; version="1.2.3"; sha256="1j527gf7pmfy5365p2j2jbxq0fb0xh2992hj4d7dxapn4psgmvsk"; depends=[nnet genetics RColorBrewer]; };
+intsvy = derive { name="intsvy"; version="1.6"; sha256="1bv8qap3d8yssfm80ilrn6wg3207hiy34sd92wl64bwpvqyi6i7p"; depends=[memisc foreign plyr ggplot2 reshape]; };
+invGauss = derive { name="invGauss"; version="1.1"; sha256="0l93pk2sh74dd6a6f3970nval5p29sz47ynzqnphx0wl3yfmmg9c"; depends=[survival optimx]; };
+investr = derive { name="investr"; version="1.2.1"; sha256="1gz709zfcf85rchjpi85pzki3a0ibvwhnxickcxsj07knklc4a6d"; depends=[nlme]; };
+io = derive { name="io"; version="0.2.2"; sha256="07vifr1h8ldiam8ngp6yrx6mvdnmmnnsq3hcs2pyphws6hgdmwwh"; depends=[filenamer stringr]; };
+ionflows = derive { name="ionflows"; version="1.1"; sha256="1k9yz82hbjwljyg4cmi675ppykrc2yq9md8x1hhkfxmp070whcxl"; depends=[]; };
+iosmooth = derive { name="iosmooth"; version="0.91"; sha256="03kyzhcl5lipaiajs53dc8jaazxv877nl0njbq88cp4af3gd6s82"; depends=[]; };
+ipdmeta = derive { name="ipdmeta"; version="2.4"; sha256="0k9wqpmrvqdh73brmdzv86a2dbyddjyyyqzqgp1vqb3k48k009s2"; depends=[nlme]; };
+ipdw = derive { name="ipdw"; version="0.2-2"; sha256="1mvxs1039hv9m36jhi11qvjysmpmh7ms522q9phwmljv2nnl7ylz"; depends=[gdistance sp raster]; };
+ipfp = derive { name="ipfp"; version="1.0"; sha256="1hpfbgygnpnl3fpx7zl728jyw00y3kbbc5f0d407phm56sfqmqwi"; depends=[]; };
+iplots = derive { name="iplots"; version="1.1-7"; sha256="052n8jdhj8gy72xlr23dwd5gqycqnph7s1djg1cdx2f05iy693y6"; depends=[rJava png]; };
+ipred = derive { name="ipred"; version="0.9-4"; sha256="0rig1sj0jqv2rrkgcr6fhr8477wxirxwnwk533l7rn6qr90prjwp"; depends=[rpart MASS survival nnet class prodlim]; };
+ips = derive { name="ips"; version="0.0-7"; sha256="0r4394xbchv6czad9jz4ijnfz8ss3wfdvh7ixrdxic2xrw0ic90v"; depends=[ape colorspace XML]; };
+iqLearn = derive { name="iqLearn"; version="1.3"; sha256="05f2spnzyqzbbgwz9llf4x5r6fsz5gxa1ckykv6wxg4sirdqccm1"; depends=[]; };
+irace = derive { name="irace"; version="1.06"; sha256="10dizzjds1aszvyh0fn6ahqvgn2x6sg3lwb7rca8zhgphrjg92bl"; depends=[]; };
+irlba = derive { name="irlba"; version="1.0.3"; sha256="1h2ymk9hg9xj2075w715742j23jl7kqa4cgzl1jvr48gcysq5byy"; depends=[Matrix]; };
+irr = derive { name="irr"; version="0.84"; sha256="0njxackqj8hyf9j1yszwxbnaxgp27fc2bwyyf7dip72wc12f81n5"; depends=[lpSolve]; };
+irtProb = derive { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; };
+irtoys = derive { name="irtoys"; version="0.1.7"; sha256="11nz675haigs6vg08qjibs8yccy2pbz0b9r8761fs8gw3n7bpfz4"; depends=[sm ltm]; };
+irtrees = derive { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; };
+isa2 = derive { name="isa2"; version="0.3.3"; sha256="0czviglmbb7hmhghrg4hla4xhbjr98a5ivqkbq70rnfmqzffcxcz"; depends=[]; };
+isdals = derive { name="isdals"; version="2.0-4"; sha256="15p432fskdz2r8523cw122mfhvrq8vdsdsrd0kz9yfin4b5z3zfh"; depends=[]; };
+isingLenzMC = derive { name="isingLenzMC"; version="0.2.3"; sha256="1rkry39yhxvq3ypnnxgdv15kd5w0l5w56ywmkcsgkwlxdfrvlyn2"; depends=[]; };
+ismev = derive { name="ismev"; version="1.40"; sha256="1isxgq62q6dk50c3w1l0j4nfgwsj6c2wnx2sm3ncxzlqml0ih6jn"; depends=[mgcv]; };
+isocir = derive { name="isocir"; version="1.1-3"; sha256="1bx68n9wyfs2dcgph66rsy0jw8hjkl5kw212l0563kz3m1nik9sr"; depends=[circular combinat]; };
+isopam = derive { name="isopam"; version="0.9-13"; sha256="0y1yy0922kq5jxyc40gz8sk9vlzwfkfg5swmc6lk4007g9mgc8fm"; depends=[vegan cluster]; };
+isopat = derive { name="isopat"; version="1.0"; sha256="0fznvgycyd35dh7pbq1xhp667gsficlmycn5pcrqcbs89069xr1s"; depends=[]; };
+isotone = derive { name="isotone"; version="1.0-2"; sha256="0qcad691c1dk61a75813hxbc61jllvfc3j21gn85f0kcf4hn6dnz"; depends=[]; };
+isotonic_pen = derive { name="isotonic.pen"; version="1.0"; sha256="1lgw15df08f4dhrjjfr0jqkcvxwad92kflj2px526pcxwkj7cj3i"; depends=[coneproj Matrix]; };
+isva = derive { name="isva"; version="1.8"; sha256="09mrvvk09j460dzi45z8hwdpmibfshsii5dcp38g13czr40d48na"; depends=[fastICA]; };
+iteRates = derive { name="iteRates"; version="3.1"; sha256="1dycmlm3vldc60wz2jjdfbla14383911zfahgal5mx8whxwq95c5"; depends=[partitions VGAM MASS ape apTreeshape geiger gtools]; };
+iterLap = derive { name="iterLap"; version="1.1-2"; sha256="0ixh9aw115496ib0iswfsj97rjcd2f02z116dg57vl9hhzh28f13"; depends=[quadprog randtoolbox]; };
+iterators = derive { name="iterators"; version="1.0.7"; sha256="1zwqawhcpi95fx4qqj4cy31v5qln2z503f7cvv9v5ch3ard4xxqv"; depends=[]; };
+iterpc = derive { name="iterpc"; version="0.2.6"; sha256="1pr8b349cs40364mdkcicm7sccjghxrmhy46zzv6cdk8fs0fn2fi"; depends=[Rcpp polynom Rcpp]; };
+itertools = derive { name="itertools"; version="0.1-3"; sha256="1ls5biiva10pb1dj3ph4griykb9vam02hkrdmlr5a5wf660hg6xn"; depends=[iterators]; };
+itertools2 = derive { name="itertools2"; version="0.1.1"; sha256="0yra3x9ddvn5pp3jibm69205zazv81bz0cflw4mdvxpqadaf9f96"; depends=[iterators]; };
+itree = derive { name="itree"; version="0.1"; sha256="164zgr142hcp9plnbccs6m823p4m0prk73bvp54bc7bqnqmc3d9a"; depends=[]; };
+its = derive { name="its"; version="1.1.8"; sha256="1g9qmdrw7qiw0xiryf7bf5m9prrba7r11jyzprzdglc1akizav8a"; depends=[Hmisc]; };
+itsadug = derive { name="itsadug"; version="0.8"; sha256="1lphbw1d1x1bs625rnr9jl3zyaqr8rka8d0v2v3cf3crywc3lzhn"; depends=[mgcv]; };
+itsmr = derive { name="itsmr"; version="1.5"; sha256="0l9m5is6d6pkpfkihx0jir5iv8zmqqav8vh9bkkpqv5iz61p4kxb"; depends=[]; };
+ivbma = derive { name="ivbma"; version="1.05"; sha256="0d7kg6pkdx1aj1i6kqs2r7j1klxxwymml63qnrq6a6fia3ck9kk9"; depends=[]; };
+ivfixed = derive { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; };
+ivivc = derive { name="ivivc"; version="0.2.2"; sha256="1qychbszcg9lmbmrnpv65xcv1i5k2xarsa374fs6gw7zlp5nrvap"; depends=[reshape optimx sciplot png deSolve minpack_lm]; };
+ivlewbel = derive { name="ivlewbel"; version="1.1"; sha256="0ykcfikm2i28s3fm6zzx8cjvpwhksg8an0rfr0b35gf7p69brgag"; depends=[gmm plyr lmtest]; };
+ivpack = derive { name="ivpack"; version="1.2"; sha256="0cr5acjrn41d3q0b77hlg2jmsbf1msvys9gcavm1blsryg2bc03c"; depends=[AER sandwich lmtest]; };
+ivpanel = derive { name="ivpanel"; version="1.0"; sha256="0irjmkw3nnd8ssidvj23lr0hihlhd9acsbaznh88lknx53ijc2qv"; depends=[Formula]; };
+ivprobit = derive { name="ivprobit"; version="1.0"; sha256="1kijq7k6iv2ybaxb08kqzm2s2k6wp2z50r01kxcq023pmyfjczwy"; depends=[]; };
+jSonarR = derive { name="jSonarR"; version="1.1.1"; sha256="054q3ly471xa64yyz2as6vkr440ip1y8n5wl6s3zbhqy3bqkdqif"; depends=[RCurl jsonlite]; };
+jaatha = derive { name="jaatha"; version="2.7.0"; sha256="1ibk84x38j03hbdrf9pi0bi025fxlk2ysqxmfrqiqr4zq2rzhbvp"; depends=[phyclust Rcpp reshape2 Rcpp]; };
+jackstraw = derive { name="jackstraw"; version="1.0"; sha256="1irfzivy7c9fb2pr98flx05s5hkk6sid1hkd5b3k9m9mgs6ixbfy"; depends=[corpcor]; };
+jagsUI = derive { name="jagsUI"; version="1.3.1"; sha256="18g755dxmlwv5abjdv3sip5qxpd13sx79f85wb0ji5i4fjax26ky"; depends=[lattice rjags coda]; };
+james_analysis = derive { name="james.analysis"; version="1.0.0"; sha256="01nbwhph22nfl0biwcgvb1q76jp79qj7qfn2fxpyx2dkkhzxzrmv"; depends=[rjson naturalsort]; };
+jiebaR = derive { name="jiebaR"; version="0.4"; sha256="0vm41z2kc5zvvqmamwfqacc1ndpa0npk515zn7v4bd6gv6dw2lgn"; depends=[jiebaRD Rcpp Rcpp]; };
+jiebaRD = derive { name="jiebaRD"; version="0.1"; sha256="1wadpcdca4pm56r8q22y4axmqdbb2dazsh2vlhjy73rpymqfcph4"; depends=[]; };
+jmetrik = derive { name="jmetrik"; version="1.0"; sha256="0xnbvby03fqbxgg0i0qxrrzjv98783n6d7c1fywj81x487qlj77j"; depends=[]; };
+joineR = derive { name="joineR"; version="1.0-3"; sha256="0q98nswbxk5dz8sazzd66jhlg7hv5x7wyzcvjc6zkr6ffvrl8xj7"; depends=[nlme MASS boot survival lattice statmod gdata]; };
+joint_Cox = derive { name="joint.Cox"; version="1.0"; sha256="1460i8ydwd0ix3slm9bn8jca5b1vs0w2wwx1md4npbmf5ly5x42l"; depends=[]; };
+jointDiag = derive { name="jointDiag"; version="0.2"; sha256="0y1gzrc79vahfhn4jrj5xys8pmkzxj4by7361730gi347f0frs0a"; depends=[]; };
+jointPm = derive { name="jointPm"; version="2.3.1"; sha256="1c2cn9sqwfyv9ksd63w8rrz0kh18jm2wv2sfdkgncjb7vfs4hbv9"; depends=[]; };
+jomo = derive { name="jomo"; version="0.1-2"; sha256="1d5bqcxbl5zpy3lqmf8k2khbwislf7smw9fknlgb99sf5p3w9ca0"; depends=[]; };
+jpeg = derive { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; };
+js = derive { name="js"; version="0.2"; sha256="1dxyyrmwwq07l6pdqsvxscpciy4h1021h9ymx8hi2vqvv0mdrz76"; depends=[V8]; };
+jsonlite = derive { name="jsonlite"; version="0.9.14"; sha256="1dshp8c0a6mfn401s20jlab86jd86bb0fcfswcyjdm39y8sd81fz"; depends=[]; };
+jtrans = derive { name="jtrans"; version="0.2.1"; sha256="18zggqdjzjhjwmsmdhl6kf35w9rdajpc2nffag4rs6134gn81i3m"; depends=[]; };
+kSamples = derive { name="kSamples"; version="1.0.1"; sha256="11qylllwpm3rhrzmdlkbdqixpmx4qlvgmfwp9s4jfy5h3q68mfw7"; depends=[SuppDists]; };
+kappaSize = derive { name="kappaSize"; version="1.1"; sha256="0jrjal8cvy2yg0qiyilmv3jl3ib5k9jg8gp2533kdsx4m0sack04"; depends=[]; };
+kappalab = derive { name="kappalab"; version="0.4-6"; sha256="0dmzy0d7azzfpnzbf8b7a6zgmmfwzfiybz8610asajyfsj36gszl"; depends=[lpSolve quadprog kernlab]; };
+kaps = derive { name="kaps"; version="1.0.2"; sha256="0jg4smbq51v88i3815icb284j97iam09pc52rv3izxa57nv9a0gz"; depends=[survival Formula coin]; };
+kcirt = derive { name="kcirt"; version="0.6.0"; sha256="1gm3c89i5dq7lj8khc12v30j1c0l1gwb4kv24cyy1yw6wg40sjig"; depends=[mvtnorm snowfall corpcor]; };
+kdetrees = derive { name="kdetrees"; version="0.1.5"; sha256="1plf2yp2vl3r5znp5j92l6hx1kgj0pzs7ffqgvz2nap5nf1c6rdg"; depends=[ape distory ggplot2]; };
+kedd = derive { name="kedd"; version="1.0.2"; sha256="11mfgjr1pl56y4rcychs8xjgazy3vhg1xasr37fd0g32g7w3lxqg"; depends=[]; };
+kelvin = derive { name="kelvin"; version="1.2-2"; sha256="0fl2yxc0dpmkhq3f7711gd08i7jlzlfncin1d6q251dfnmwd7rzf"; depends=[Bessel]; };
+kequate = derive { name="kequate"; version="1.4.0"; sha256="0vr45y4f6x3080pf3k53nifavf8mfhikz54nis66c53fs9rp0jwf"; depends=[ltm equateIRT]; };
+kerdiest = derive { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[date chron evir]; };
+kernelFactory = derive { name="kernelFactory"; version="0.2.0"; sha256="1ihghqrrndgif6kh6n0f4g3bfy5miskn3mk5ynxfcnnrfvp9h3xj"; depends=[randomForest AUC genalg kernlab]; };
+kernlab = derive { name="kernlab"; version="0.9-20"; sha256="0gwl3v8gxidzfmvwa2icqla8ypdgnmvcwxf54iwrvvy2csjx0w27"; depends=[]; };
+kfigr = derive { name="kfigr"; version="1.1.0"; sha256="1mnnd603s741h1vp99q6d8lwvc46k9hmbhylng66wc7a5j6k8psz"; depends=[knitr]; };
+kimisc = derive { name="kimisc"; version="0.2-1"; sha256="1nbhw1q0p87w4z326wj5b4k0xdv0ybkgcc59b3cqbqhrdx8zsvql"; depends=[plyr]; };
+kin_cohort = derive { name="kin.cohort"; version="0.6"; sha256="13gnjk58m5kya9wj87klwm6h7cdqi61ba6y0cg9k1hgbc1ajy3s8"; depends=[survival]; };
+kinfit = derive { name="kinfit"; version="1.1.13"; sha256="1av33f4wns6qp79wyww70f7fsfybcqm83nby1ia65sjp2dz04dk1"; depends=[]; };
+kinship2 = derive { name="kinship2"; version="1.6.0"; sha256="06f544yk61i1xq0rm0r5gpzwfl6rvzyg7gz8z86bjyxg0z44h3vy"; depends=[Matrix quadprog]; };
+kintone = derive { name="kintone"; version="0.1.1"; sha256="13c82vkapks9j2crrb4awnhl60ld8b1r7xmy9yv4zzch868kcl5g"; depends=[RCurl rjson]; };
+kissmig = derive { name="kissmig"; version="1.0-3"; sha256="1pi1x3gdbqrhr1km1hqj15k8wyrgs697fnxgjgxga1irbn8bi482"; depends=[raster]; };
+kitagawa = derive { name="kitagawa"; version="2.1-0"; sha256="1ddyd0rwwmdpbq823qass5dlp2lvi9d64wpl61ik6fghms2p9ryr"; depends=[kelvin]; };
+kknn = derive { name="kknn"; version="1.2-5"; sha256="0c1qnn1lnypjybk2p0dpfrg6hzxflzbwmjb5biq45r57bzji7im7"; depends=[igraph Matrix]; };
+klaR = derive { name="klaR"; version="0.6-12"; sha256="10nkqb1zradbvifgv1fm373mhyydgdjjgmnw2442a2lark59z3vs"; depends=[MASS combinat]; };
+klausuR = derive { name="klausuR"; version="0.12-10"; sha256="12fjs4dnwaki8sz718xgsg8qrqhsgf87cs0bylf0p3f5k8hrmk4b"; depends=[xtable psychometric polycor]; };
+klin = derive { name="klin"; version="2007-02-05"; sha256="0j0hr4bppzk754a66q5z42h7jzfavqpxgl7y266804aginfqm1ax"; depends=[Matrix]; };
+km_ci = derive { name="km.ci"; version="0.5-2"; sha256="1l6kw8jppaa1802yc5pbfwwgac56nhwc9p076ivylhms4w7cdf8v"; depends=[survival]; };
+kmc = derive { name="kmc"; version="0.1-2"; sha256="16lv8wk24cp91qg5202zhfmdhg83qw8bwiycknaml5ki820ffdlx"; depends=[rootSolve emplik Rcpp Rcpp]; };
+kmconfband = derive { name="kmconfband"; version="0.1"; sha256="10n5w8k57faqcclwshs4m66i2i5b70i6f3xq5nqlgsi2ldkysbc9"; depends=[survival]; };
+kmi = derive { name="kmi"; version="0.5.1"; sha256="0519mi7kwrsfpili7y8nmyiky6qwf8xkd0n7cwj02c8d119bk9sa"; depends=[survival mitools]; };
+kml = derive { name="kml"; version="2.2"; sha256="1g8wgmvs31r3hp7y8n9pkxc9qy5fxvb3nicmzgacmghaiwbwc8g3"; depends=[clv longitudinalData]; };
+kml3d = derive { name="kml3d"; version="2.2"; sha256="1n94kfi49rgb9149bgc9043f0y5xpaclmfjr8fkwairqz5nnmgbv"; depends=[clv rgl misc3d longitudinalData kml]; };
+kmlcov = derive { name="kmlcov"; version="1.0.1"; sha256="09s9ganfsnwp22msha78g6pjr45ppyfyqjf6ci64w3w15q5qlcd9"; depends=[]; };
+knitcitations = derive { name="knitcitations"; version="1.0.5"; sha256="1a9lw9gdb31akdwiif5xzbs4s0s9xkhm3n735xnkiyc9n6afwzn3"; depends=[RefManageR digest httr]; };
+knitr = derive { name="knitr"; version="1.9"; sha256="17kwz14n16c3zjrpvm3c6rfn501gwlzgiikzwmc6krxvxafghik9"; depends=[evaluate digest formatR highr markdown stringr]; };
+knitrBootstrap = derive { name="knitrBootstrap"; version="0.9.0"; sha256="1cw5dvhjiypk6847qypxphfl9an54qjvd6qv029znhwijsg56mmg"; depends=[knitr markdown]; };
+knnGarden = derive { name="knnGarden"; version="1.0.1"; sha256="1gmhgr42l6pvc6pzlq5khrlh080795b0v1l5xf956g2ckgk5r8m1"; depends=[cluster]; };
+knnIndep = derive { name="knnIndep"; version="2.0"; sha256="1fwkldgs2994svf3sj90pwsfx6r22cwwa22b30hdmd24l8v9kzn7"; depends=[]; };
+knncat = derive { name="knncat"; version="1.2.2"; sha256="1d392910y3yy46j8my1a7m0xkij2rc6vwq5fg22qk00vqli8drz2"; depends=[]; };
+knockoff = derive { name="knockoff"; version="0.2"; sha256="06aq5xp86bnrnwx5hznsr3rxnd19hxc3b53a8iwr00d1hx6mi6ap"; depends=[glmnet RJSONIO]; };
+koRpus = derive { name="koRpus"; version="0.05-5"; sha256="03rw0yb67y652j8hcr5m4c0py0rr3gp87y0hdxpypd81rkikwhfm"; depends=[]; };
+kobe = derive { name="kobe"; version="1.3.2"; sha256="1z64jwrq6ddpm22cvk2swmxl1j7qyz0ddk3880c7zfq6gk7f9bxl"; depends=[plyr reshape ggplot2 MASS emdbook coda]; };
+kofnGA = derive { name="kofnGA"; version="1.1"; sha256="1ykk3rmyrv8c556rl3wp0i1d522dghaq4qk5acg06hhk9j9962fg"; depends=[]; };
+kohonen = derive { name="kohonen"; version="2.0.15"; sha256="1mamn6lwnd54jw7bbxgrxj511abn9wg5rxrm9fac7jndf00kjaim"; depends=[class MASS]; };
+kolmim = derive { name="kolmim"; version="0.2"; sha256="1cq1miny83shxas4zijcbzcnxv29vjyxj3pip8brf52sjvrj4max"; depends=[]; };
+kpodclustr = derive { name="kpodclustr"; version="1.0"; sha256="1fywgdj4q3kg8y9lwnj6vxg9cwgs5ccwj6m3knfgg92f8ghnsbsw"; depends=[clues]; };
+kriging = derive { name="kriging"; version="1.1"; sha256="04bxr34grf2nlrwvgrlh84pz7yi0r8y7dc2wk0v5h5z6yf5a085w"; depends=[]; };
+krm = derive { name="krm"; version="2015.3-4"; sha256="0zm2d3naprvv10ac28k4h2r6f1ygi8wic0gwbm6mvgwpb530gga1"; depends=[kyotil]; };
+ks = derive { name="ks"; version="1.9.4"; sha256="0gi93d981y2i5q80wxh7f4dwwh7sjw6iy63y7571nzf01yw00gbx"; depends=[KernSmooth misc3d mvtnorm rgl multicool]; };
+kselection = derive { name="kselection"; version="0.2.0"; sha256="1arg96r2pldvb89rfqnfpjxwksyac2mhmbimbkwzm7wrnbnrcn5d"; depends=[]; };
+kst = derive { name="kst"; version="0.2-1"; sha256="1wy9cvvln994qgr0p7qa9qs1jd7gjv6ch65gg6i42cf9681m9h65"; depends=[proxy relations sets]; };
+ktsolve = derive { name="ktsolve"; version="1.1"; sha256="0b5myr093v3qaj9gzbw1w728i5ij418whxxpicj51w657dcy647k"; depends=[]; };
+ktspair = derive { name="ktspair"; version="1.0"; sha256="1v63982jidxlcf2syahcb29myv34kc790l7lwyfxx9l50ssb812n"; depends=[]; };
+kulife = derive { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; };
+kyotil = derive { name="kyotil"; version="2015.2-27"; sha256="0xx54b332bfg0b69m80d2qafcy7bwc5b7paq3x02rkh6xllsnq4y"; depends=[]; };
+kza = derive { name="kza"; version="3.0.0"; sha256="0v811ln9vg7msvks9lpgmdi39p01342yi8fj180aclha3mfk6gfw"; depends=[polynom]; };
+kzft = derive { name="kzft"; version="0.17"; sha256="1y6almhs1x21cr4bbf5fj3mnhp65ivzs869660cyg70sva853sv7"; depends=[polynom]; };
+kzs = derive { name="kzs"; version="1.4"; sha256="1srffwfg0ps8zx0c6hs2rc2y2p01qjl5g1ypqsbhq88vkcppx1w9"; depends=[lattice]; };
+l2boost = derive { name="l2boost"; version="1.0"; sha256="1p0sbvlnax4ba4wjkh3r0bmjs601k590g7bdfk6wxvlj42jxcnkl"; depends=[MASS]; };
+laGP = derive { name="laGP"; version="1.1-3"; sha256="11blzdnil0nw3q5vf4y1rv7l4zxjx8ilynv9jpkm14azv5dsr8jw"; depends=[tgp]; };
+labdsv = derive { name="labdsv"; version="1.6-1"; sha256="0bcsjznq9w1arv503895060hkri0447fnc49nj4ynry7fi35ci22"; depends=[mgcv MASS]; };
+label_switching = derive { name="label.switching"; version="1.3"; sha256="05kbxvrp0lm5913lhy7pgxr9cq64sm5hiz6ydmmgfmbmfirrcqyx"; depends=[combinat lpSolve]; };
+labeledLoop = derive { name="labeledLoop"; version="0.1"; sha256="0gq392h0sab8k7k8bzx6m7z5xpdsflldhwbpdf92zbmkbzxsz00m"; depends=[]; };
+labeling = derive { name="labeling"; version="0.3"; sha256="13sk7zrrrzry6ky1bp8mmnzcl9jhvkig8j4id9nny7z993mnk00d"; depends=[]; };
+labeltodendro = derive { name="labeltodendro"; version="1.3"; sha256="13kpmv26zzjf5iwpr4vs797irplmaixp1agx5v80wr4lvd2hirvg"; depends=[]; };
+labstatR = derive { name="labstatR"; version="1.0.7"; sha256="1p6xav9cb7yx3n8rkh8xm1jkykf3xw974id49j558hmayq47ad4f"; depends=[]; };
+laeken = derive { name="laeken"; version="0.4.6"; sha256="1rhkv1kk508pwln1d325iq4fink2ncssps0ypxi52j9d7wk78la6"; depends=[boot MASS]; };
+laercio = derive { name="laercio"; version="1.0-1"; sha256="0la6fxv5k9zq4pyn8dxjiayx3vs9ksm9c6qg4mnyr9vs12z53imm"; depends=[]; };
+lakemorpho = derive { name="lakemorpho"; version="1.0"; sha256="0kxd493cccs24qqyw58110d2v5w8560qfnbm6qz7aki0xa7kaqrg"; depends=[maptools rgdal raster rgeos sp geosphere]; };
+laketemps = derive { name="laketemps"; version="0.5.1"; sha256="04742r379bzgbfr4243wwkb26cvfmnw50jzgygq7vblq00grzska"; depends=[dplyr reshape2]; };
+lambda_r = derive { name="lambda.r"; version="1.1.7"; sha256="1lxzrwyminc3dfb07pbn1rmj45kplxgsb17b06pzflj728knbqwa"; depends=[]; };
+lambda_tools = derive { name="lambda.tools"; version="1.0.6"; sha256="13yxrgsam47adv08zl01harjq37pccfsar105b6ccf2qv3lrkdk7"; depends=[lambda_r]; };
+landpred = derive { name="landpred"; version="1.0"; sha256="1bl17xkx18i8i7arccnjmxvhjn4yiy7w64hg4n0xmhk8pg0l3mrg"; depends=[survival]; };
+landsat = derive { name="landsat"; version="1.0.8"; sha256="07zvj1yyryxk7rwgcrf1kl32p2karkkqz6xrnwy1096dg9iw2js7"; depends=[rgdal sp lmodel2 mgcv]; };
+languageR = derive { name="languageR"; version="1.4.1"; sha256="0grkhdjz9dcrgq6qwv7wpwmckn3mfv022c5wrx29b1dxafd0qzm0"; depends=[]; };
+lar = derive { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; };
+lars = derive { name="lars"; version="1.2"; sha256="0blj44wqrx6lmym1m9v6wkz8zxzbjax2zl6swgdczci0ixb5nx34"; depends=[]; };
+laser = derive { name="laser"; version="2.4-1"; sha256="1f6j3xdks0w63fqjj9q8ng2m6ss90kcnsrigwal0bqskpvrpiqyz"; depends=[ape geiger]; };
+lasso2 = derive { name="lasso2"; version="1.2-19"; sha256="0zkwjsd42a6z4gylq9xbs4z8n1v7ncwvssjnn3h4yz1icjfzzlvk"; depends=[]; };
+lassoscore = derive { name="lassoscore"; version="0.6"; sha256="1i3i07da8sw9w47rcflhylz8zxvzkyycbc1a4gf6hbcpp21rqd7d"; depends=[glasso glmnet Matrix]; };
+lassoshooting = derive { name="lassoshooting"; version="0.1.5-1"; sha256="0ixjw8akplcfbzwyry9p4bhbcm128yghz2bjf9yr8np6qrn5ym22"; depends=[]; };
+latdiag = derive { name="latdiag"; version="0.2-1"; sha256="1xjy6as3wjrl2y1lc5fgrbhqqcvrhdan89mpgvk9cpx71wxv95vc"; depends=[]; };
+latentnet = derive { name="latentnet"; version="2.6.0"; sha256="0aw184r1w28d4lmznnx4hp8kwws0r13fmbx1wlsbg3zagmwwjn8d"; depends=[statnet_common network ergm sna mvtnorm abind coda]; };
+lattice = derive { name="lattice"; version="0.20-30"; sha256="10985l95p7mx403kz3pc8j5iqfsb1zz7w6hsw53xwd436ykf132j"; depends=[]; };
+latticeDensity = derive { name="latticeDensity"; version="1.0.7"; sha256="1y33p8hfmpzn8zl4a6zxg1q3zx912nhqlilca6kl5q156zi0sv3d"; depends=[splancs spdep spatstat spam]; };
+latticeExtra = derive { name="latticeExtra"; version="0.6-26"; sha256="16x00sg76mga8p5q5ybaxs34q0ibml8wq91822faj5fmg7r1050d"; depends=[RColorBrewer lattice]; };
+lava = derive { name="lava"; version="1.4.0"; sha256="0zf62xk2j1gbwxqglq6lsxs3f7fb0hynnlfh1w870xz8imgf20yp"; depends=[numDeriv]; };
+lava_tobit = derive { name="lava.tobit"; version="0.4-7"; sha256="1da98d5pndlbbw37k64fmr2mi1hvkhjxsmm3y9p4b772pz9i1pvj"; depends=[lava mvtnorm survival]; };
+lavaan = derive { name="lavaan"; version="0.5-17"; sha256="0rb9bra1nzsbrvvjwcj5vh7l689wdvaq1r86r85919b6n3x38v4b"; depends=[MASS mnormt pbivnorm quadprog]; };
+lavaan_survey = derive { name="lavaan.survey"; version="1.1"; sha256="1vscv165kilkc00pgs2s9qn404l3rv45zc9kzmrghxz42jsy04zc"; depends=[lavaan survey MASS Matrix]; };
+lawstat = derive { name="lawstat"; version="2.5"; sha256="01y00jfapmh3bmrmz740flkahw0b8im8sp5ac8hsp4pf9k09cvws"; depends=[mvtnorm VGAM Kendall Hmisc]; };
+lazy = derive { name="lazy"; version="1.2-15"; sha256="1pdqgvn0qpfg5hcg5159ccf5qj2nd1ibai9p85rwjpddfynk6jks"; depends=[]; };
+lazyData = derive { name="lazyData"; version="1.0.3"; sha256="1i4jry54id8hhfla77pwk3rj2cci6na36hxj7k35k8lx666fdam2"; depends=[]; };
+lazyWeave = derive { name="lazyWeave"; version="2.2.5"; sha256="18j31lbbplxvrz4wnq7hfw9qcx1s0y4c34lbxwly2wyrvzjhxybl"; depends=[Hmisc survival]; };
+lazyeval = derive { name="lazyeval"; version="0.1.10"; sha256="02qfpn2fmy78vx4jxr7g7rhqzcm1kcivfwai7lbh0vvpawia0qwh"; depends=[]; };
+lba = derive { name="lba"; version="1.0"; sha256="108kfffwpvl6rjcmmxswprxxqcv1sj7w9mmca4pwaiprad7p7x59"; depends=[MASS alabama plotrix ca]; };
+lbfgs = derive { name="lbfgs"; version="1.2.1"; sha256="0p99g4f3f63vhsw0s1m0y241is9lfqma86p26pvja1szlapz3jf5"; depends=[Rcpp Rcpp]; };
+lbfgsb3 = derive { name="lbfgsb3"; version="2015-2.13"; sha256="1jpy0j52w8kc8qnwcavjp3smvdwm1qgmswa9jyljpf72ln237vqw"; depends=[numDeriv]; };
+lbiassurv = derive { name="lbiassurv"; version="1.1"; sha256="1i6l3y4rasqpqka7j39qjx22wjbilgc9pkp05an52aysfvfxy193"; depends=[actuar]; };
+lcd = derive { name="lcd"; version="0.7-3"; sha256="1jnnw15d4s8yb5z5jnzvmlrxv5x6n3h7wcdiz2nw4vfiqncnpwx4"; depends=[igraph MASS ggm]; };
+lcda = derive { name="lcda"; version="0.3"; sha256="1ximsyn6qw2gfn7b1hdpbjs6h6nk7hrignlii0np1lbf0k8l4xxl"; depends=[poLCA]; };
+lcmm = derive { name="lcmm"; version="1.7.2"; sha256="1sg5vx3nx8ik5z2c2pi3p9h5b5k0z7m1jc404jkv3gr17nilcp4i"; depends=[survival]; };
+lctools = derive { name="lctools"; version="0.1-3"; sha256="1wn9qymbcq9q99xnjbk3qswrfljvfqqhihvgr0brbpq3pbbxh55x"; depends=[reshape weights]; };
+lda = derive { name="lda"; version="1.3.2"; sha256="1iizsksp8wz34ji7p2kc6npxz9rzhs6217793nfri6y6mq23vs8z"; depends=[]; };
+ldbounds = derive { name="ldbounds"; version="1.1-1"; sha256="15ixrq615x64zmi6dryq3ww0dqxd0qf5xx1bs3w934sf99l46bhs"; depends=[lattice]; };
+ldlasso = derive { name="ldlasso"; version="3.2"; sha256="0ij68zvgm8dfd2qwx6h6ygndac29qa0ddpf11z959v06n8jsnk11"; depends=[GenABEL quadprog]; };
+ldr = derive { name="ldr"; version="1.3.3"; sha256="1c48qm388zlya186qmsbxxdcg1mdv3nc3i96lqb40yhcx2yshbip"; depends=[GrassmannOptim Matrix]; };
+leaderCluster = derive { name="leaderCluster"; version="1.2"; sha256="1lqhckarqffm2l3ynji53a4hrfn0x7zab7znddia76r2h6nr02zb"; depends=[]; };
+leafletR = derive { name="leafletR"; version="0.3-1"; sha256="1jgmjm4f91saq2cjfgi240zz3i1r1nfb267i0gj15k2nak6ng86j"; depends=[brew jsonlite]; };
+leapp = derive { name="leapp"; version="1.2"; sha256="1yiqzmhgl5f3zwpcc5sz3yqrvp8p6r4w2ffdfyirirayqc96ar17"; depends=[MASS corpcor]; };
+leaps = derive { name="leaps"; version="2.9"; sha256="1ax9v983401hvb6cdswkc1k7j62j8yk6ds22qdj24vdidhdz5979"; depends=[]; };
+learningr = derive { name="learningr"; version="0.29"; sha256="1nr4ydcq2mskv4c0pmf0kxv5wm8pvjqmv19xz5yaq0j834b0n5q7"; depends=[plyr]; };
+lefse = derive { name="lefse"; version="0.1"; sha256="1zdmjxr5xa5p3miw79mhsswsh289hgzfmn3mpj1lyzal1qgw1h5m"; depends=[ape picante geiger fBasics SDMTools vegan]; };
+leiv = derive { name="leiv"; version="2.0-7"; sha256="15ay50886xx9k298npyksfpva8pck7fhqa40h9n3d7fzvqm5h1jp"; depends=[]; };
+lessR = derive { name="lessR"; version="3.3"; sha256="0hzvf85x81p5lcszrpf897azh4fgpij2zyk0z5icma67aifdf5bf"; depends=[car leaps MBESS foreign gdata triangle]; };
+lestat = derive { name="lestat"; version="1.8"; sha256="12w3s5yr9lsnjkr3nsay5sm4p241y4xz0s3ir56kxjqw23g6m80v"; depends=[MASS]; };
+letsR = derive { name="letsR"; version="2.0"; sha256="0z695c2mcswhw064cfq9nj7ai2mfxd9hjy764wgjdnwp4x1bnjh8"; depends=[raster maps XML geosphere fields maptools sp rgdal]; };
+lfe = derive { name="lfe"; version="2.1-1640"; sha256="1l0y64rk58x40nrz7xl17cc672hf4q7yz77r2f5blgmxjg769pj5"; depends=[Matrix Formula xtable]; };
+lfl = derive { name="lfl"; version="1.0"; sha256="10ypsnzjzygihz019clwnf3gv5b64d873231pjkp772k1n3wgv9a"; depends=[Rcpp foreach forecast plyr tseries e1071 zoo Rcpp]; };
+lfstat = derive { name="lfstat"; version="0.6.1"; sha256="0i3zrinvjxlg9w5zqrv8wzy15vxvi2gw3jrlfs4rddkxnp98ya9d"; depends=[lattice lmom lmomRFA latticeExtra]; };
+lga = derive { name="lga"; version="1.1-1"; sha256="1nkvar9lmdvsc3c21xmrnpn0haqk03jwvc9zfxvk5nwi4m9457lg"; depends=[boot lattice]; };
+lgarch = derive { name="lgarch"; version="0.5"; sha256="01y5p3w4i1yfxb647pkdazqn9yac1p6jp7rk92ddxnvvjb6fdp59"; depends=[zoo]; };
+lgcp = derive { name="lgcp"; version="1.3-9"; sha256="093rxvb4irmf04nx1j5zrgh8k0jw78zl9qrmkn314vaqyn3b4608"; depends=[spatstat sp raster RandomFields iterators ncdf rpanel fields maptools Matrix rgeos]; };
+lgtdl = derive { name="lgtdl"; version="1.1.3"; sha256="00lffc60aq1qjyy66nygaypdky9rypy607mr8brwimjn8k1f0gx4"; depends=[]; };
+lhs = derive { name="lhs"; version="0.10"; sha256="1hc23g04b6nsg8xffkscwsq2mr725r6s296iqll887b3mnm3xaqz"; depends=[]; };
+libamtrack = derive { name="libamtrack"; version="0.5.5"; sha256="0v2h4ficf87ai3h2liw8j7428k0bzzb59zini2vskwhcqb7ky7yw"; depends=[]; };
+lifecontingencies = derive { name="lifecontingencies"; version="1.1.5"; sha256="0v4rdq4ajd12ri1agn9i57nigxpgvg67clpskks761b7n1b6l77v"; depends=[markovchain]; };
+likeLTD = derive { name="likeLTD"; version="5.5.0"; sha256="111wdszkk2bdi9sz6gfih32kib0ig9bp4xlq6wl5r5zx3nrlj5zb"; depends=[DEoptim ggplot2 gtools rtf gdata]; };
+likelihood = derive { name="likelihood"; version="1.7"; sha256="0q8lvwzlniijyzsznb3ys4mv1cqy7ibj9nc3wgyb4rf8676k4f8v"; depends=[nlme]; };
+likert = derive { name="likert"; version="1.2"; sha256="1x1mlaqzwr15xzcfq9934jxb3m5irvw6yivirrj45wscxn3kz5s1"; depends=[ggplot2 xtable psych reshape gridExtra plyr]; };
+limSolve = derive { name="limSolve"; version="1.5.5.1"; sha256="0anrbhw07mird9fj96x1p0gynjnjcj07gpwlq0ffjlqq2qmkzgqs"; depends=[quadprog lpSolve MASS]; };
+limitplot = derive { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; };
+linLIR = derive { name="linLIR"; version="1.1"; sha256="1v5bwki5j567x2kndfd5nli5i093a33in31025h9hsvkbal1dxgp"; depends=[]; };
+linbin = derive { name="linbin"; version="0.1.0"; sha256="0812m19kfscb0d23rv0llziapd269r7zlm2yq8h3yp8c8jl8gdb1"; depends=[]; };
+lineup = derive { name="lineup"; version="0.34-1"; sha256="0p6gxbv8xdrhgk8zdlnqrybald9vqz717czb49b123h84rjr2f19"; depends=[qtl class]; };
+linkR = derive { name="linkR"; version="1.0.0"; sha256="1l936i74h1s42w1d7nn220rjygc6n0jkjidvix1df2wlacnswzpg"; depends=[svgViewR]; };
+linkcomm = derive { name="linkcomm"; version="1.0-11"; sha256="1w5sfmzvrk30fr161pk0cy5nj8kasqm6hqgyafq6r280b5s272cb"; depends=[igraph RColorBrewer dynamicTreeCut]; };
+linkim = derive { name="linkim"; version="0.1"; sha256="0yvyid9x59ias8h436a202hd2kmqvn8k1zcrgja2l4z2pzcvfn91"; depends=[]; };
+linprog = derive { name="linprog"; version="0.9-2"; sha256="1ki14an0pmhs2mnmfjjvdzd76pshiyvi659zf7hqvqwj0viv4dw9"; depends=[lpSolve]; };
+lint = derive { name="lint"; version="0.3"; sha256="0lkrn5nsizyixhdp5njxgrgwmygwr663jxv5k9a22a63x1qbwpiq"; depends=[plyr harvestr stringr dostats foreach]; };
+lintr = derive { name="lintr"; version="0.2.0"; sha256="14jaghvd0kz271j6wl8j0y31h48ajvgzd68drdi6pv9nrxqs046n"; depends=[rex crayon codetools stringdist testthat digest igraph]; };
+liso = derive { name="liso"; version="0.2"; sha256="072l7ac1fbkh8baiiwx2psiv1sd7h8ggmgk5xkzml069ihhldj5i"; depends=[MASS Iso]; };
+lisp = derive { name="lisp"; version="0.1"; sha256="025sq46277q9i21189cbmx5dnrh5wfshc5k6la1wjilhr1iqf6nj"; depends=[]; };
+lisrelToR = derive { name="lisrelToR"; version="0.1.4"; sha256="0zicq0z3hhixan1p1apybnf3v5s6v6ysll4pcz8ivygwr2swv3p5"; depends=[]; };
+list = derive { name="list"; version="7.1"; sha256="1avbps4di6rhy6rvfyky336zqab65ibfjw2hwp1r713psbmf9z16"; depends=[sandwich VGAM magic gamlss_dist MASS quadprog arm corpcor mvtnorm coda]; };
+llama = derive { name="llama"; version="0.8.1"; sha256="0pv411kj4n3pi2yg35jzjd4zfxkqksbp049v6d9xd2q14i9kphv2"; depends=[mlr rJava parallelMap ggplot2 checkmate]; };
+lle = derive { name="lle"; version="1.1"; sha256="09wq7mzw48czp5k0b4ij399cflc1jz876fqv0mfvlrydc9igmjhk"; depends=[scatterplot3d MASS snowfall]; };
+lllcrc = derive { name="lllcrc"; version="1.2"; sha256="06n1fcd3g3z5rl2cyx8jhyscq9fb52mmh0cxg81cnbmai3sliccb"; depends=[data_table combinat VGAM plyr]; };
+lm_beta = derive { name="lm.beta"; version="1.5-1"; sha256="0p224y9pm72brbcq8y1agkcwc82j7clsnszqzl1qsc0gw0bx9id3"; depends=[]; };
+lm_br = derive { name="lm.br"; version="2.6"; sha256="1f7cxd6ksspgpz2lnppyb466lgis5isk0bj8z4bjiwk4abg4lg3i"; depends=[Rcpp Rcpp]; };
+lmSupport = derive { name="lmSupport"; version="2.9.1"; sha256="11c86ji7srv80zlrp6c8ark312xzvajig8flc5qm77dgacik8daq"; depends=[car psych gvlma AICcmodavg lme4 pbkrtest]; };
+lme4 = derive { name="lme4"; version="1.1-7"; sha256="0v9vl9rspakyw2dmcl5lbhv1nlg10yhgdvi3gpfnizln7xw9ksyp"; depends=[Matrix Rcpp MASS nlme lattice minqa nloptr Rcpp RcppEigen]; };
+lmeNB = derive { name="lmeNB"; version="1.3"; sha256="03khn9wgjbz34sx0p5b9wd3mhbknw8qyvyd5pvllmjipnir63d3q"; depends=[numDeriv statmod lmeNBBayes]; };
+lmeNBBayes = derive { name="lmeNBBayes"; version="1.3.1"; sha256="13shfsh9x6151xy8gicb25sind90imrwclnmfj96b76p5dvhzabm"; depends=[]; };
+lmeSplines = derive { name="lmeSplines"; version="1.1-10"; sha256="0fy6hspk7rqqkzv0czvvs8r4ishvs7zsf4ykvia65nj26w7yhyia"; depends=[nlme]; };
+lmeVarComp = derive { name="lmeVarComp"; version="1.0"; sha256="17zrl33h4lcd8lpdv3d12h5afj8nxr2lyw6699zq4fds2chbq66l"; depends=[]; };
+lmec = derive { name="lmec"; version="1.0"; sha256="09shj01h2dl5lh7ch0wayr7qyhlmk0prv3p1vfgy91sn0wpbqlxr"; depends=[mvtnorm]; };
+lmenssp = derive { name="lmenssp"; version="1.0"; sha256="0a1q9ax0pnz9gcv4nzgay9lznaz9gp27jj6vp6la7vfhrfg5qcg6"; depends=[MASS nlme]; };
+lmerTest = derive { name="lmerTest"; version="2.0-20"; sha256="1x3h78lnj7j002lzx0yxg36vl98z5xmk913k3h2wssxfva9ljp0w"; depends=[Matrix lme4 plyr numDeriv MASS Hmisc gplots]; };
+lmf = derive { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; };
+lmfor = derive { name="lmfor"; version="1.1"; sha256="0bbcgpcx0xjla128w80xlxp6i6hnrk4wjwqih66zvyjaf5sz7wx9"; depends=[nlme MASS]; };
+lmm = derive { name="lmm"; version="1.0"; sha256="0x5ikb1db99dsn476mf4253dlznlxa1cwnykg1nwnm2vy5qym2fq"; depends=[]; };
+lmmfit = derive { name="lmmfit"; version="1.0"; sha256="06mzmx7md7qw5mfhgdljc7i40sx9yrx7j57xbbp3fhl2zs1dpb4g"; depends=[nlme MASS]; };
+lmmlasso = derive { name="lmmlasso"; version="0.1-2"; sha256="1mvd38k9npyc05a2x7z0908qz9x4srqgzq9yjyyggplqfrl4dgsz"; depends=[emulator miscTools penalized]; };
+lmmot = derive { name="lmmot"; version="0.1.2"; sha256="1c7cn1g1fl8nwjzm78a8qgw9da170f1q0z5vxl446f167ix5ppkp"; depends=[maxLik MASS]; };
+lmms = derive { name="lmms"; version="1.2"; sha256="12wli7iwnihq42pa1jy1ml4y3l93grwrv9n7vpgp5wp1hj4d1s8c"; depends=[nlme lmeSplines reshape gdata gplots ggplot2]; };
+lmodel2 = derive { name="lmodel2"; version="1.7-2"; sha256="0dyzxflr82k7ns824zlycj502jx3qmgrck125im2k2da34ir3m3q"; depends=[]; };
+lmom = derive { name="lmom"; version="2.5"; sha256="0s2x8k6p71hxdqggy8ajk7p9p040b9xr3lm49g31z3kcsmzvk23q"; depends=[]; };
+lmomRFA = derive { name="lmomRFA"; version="3.0-1"; sha256="0lf8n6bhdv3px6p60smghvmwsbgawvjrmgy2dfhs517n67pxg30i"; depends=[lmom]; };
+lmomco = derive { name="lmomco"; version="2.1.3"; sha256="1baxs9c385rgcw73hr1616gknb7fs5v81bv5jv5g1fwzr1qxxm7k"; depends=[]; };
+lmtest = derive { name="lmtest"; version="0.9-33"; sha256="1ycmxjrxf41mnbgakdmn4y2kmgp4rkj7v3nqwqnlc6gdfdmac73s"; depends=[zoo]; };
+loa = derive { name="loa"; version="0.2.22"; sha256="13j4d4d35nd2ssmkghpd6azysmy7g8mc9y3glkzjnddp1xxz8icn"; depends=[lattice MASS png RgoogleMaps RColorBrewer]; };
+localdepth = derive { name="localdepth"; version="0.5-7"; sha256="0h0y74xnhdqa7y51ljmpz7ayznppvy2ll06wfds6200lb9cxgr7k"; depends=[circular]; };
+localgauss = derive { name="localgauss"; version="0.34"; sha256="04bn777kcxaa5s4zf0r9gclar32y9wpzqnx2rxxhqrxyy419gw37"; depends=[ggplot2 MASS foreach matrixStats]; };
+localsolver = derive { name="localsolver"; version="2.3"; sha256="1d18rihzqf1f5j9agfp8jysll7lqk1ai23hkdqkn6wwxj442llv4"; depends=[]; };
+locfit = derive { name="locfit"; version="1.5-9.1"; sha256="0lafrmq1q7x026m92h01hc9cjjiximqqi3v1g2hw7ai9vf7i897m"; depends=[lattice]; };
+locits = derive { name="locits"; version="1.4"; sha256="1q9vsf5h4n7r4gy1dwdhfyq3n0rn33akb3nx6yzinncj4w4cqq0h"; depends=[wavethresh igraph]; };
+locpol = derive { name="locpol"; version="0.6-0"; sha256="1zpdh3g7yx3rcn3rhlc3dm19c4b9kx2k8wy8vkwh744a1kysvdga"; depends=[]; };
+lodGWAS = derive { name="lodGWAS"; version="1.0-3"; sha256="1fb70p2mvp742557ns44ilb9m85aqq59p5x6vdrmb22hczsjj6q4"; depends=[survival rms]; };
+loe = derive { name="loe"; version="1.0"; sha256="11wjzq4h7qjrnrj1zg3msg1ksld9c3r3n3biamf2hz8zvi1asvqv"; depends=[igraph MASS vegan Matrix]; };
+log4r = derive { name="log4r"; version="0.2"; sha256="07q8m7z2sxm6n25a62invf76qakxdsijfh3272spc8xrmdmyw6rj"; depends=[]; };
+logbin = derive { name="logbin"; version="1.0"; sha256="17vabb348kczn839mhwshn20qgrdnpd0ll81hb8bcsricm6dqhna"; depends=[glm2]; };
+logconPH = derive { name="logconPH"; version="1.5"; sha256="05fkibgh5nzs8c4f39kzg4zyh2dfhg1k69hlx7l8p442snajsg92"; depends=[]; };
+logconcens = derive { name="logconcens"; version="0.16-4"; sha256="11bk03kjlb747g54axmb0nayz226g41xvanbw79aij76vjbglv7y"; depends=[]; };
+logcondens = derive { name="logcondens"; version="2.1.2"; sha256="0lnsyjl77l9024pqncyxwivmj05f5mfa3563jql47jajaai0my8y"; depends=[ks]; };
+logcondens_mode = derive { name="logcondens.mode"; version="1.0.1"; sha256="1i2c2prk5j863p3a3q3xnsv684igfi5czz3dib7zfjldpf0qyaq7"; depends=[logcondens distr]; };
+logcondiscr = derive { name="logcondiscr"; version="1.0.5"; sha256="170rg4rqch0mlhmc1zc59h271b57y3xfxrc3gh9pwvc9r11gw7k5"; depends=[Matrix mvtnorm cobs]; };
+logging = derive { name="logging"; version="0.7-103"; sha256="1sp7q217awizb6l8c9p5dix6skpq8j7w8i088x4mm0fc0qr1ba5c"; depends=[]; };
+logistf = derive { name="logistf"; version="1.21"; sha256="0cwbmd0mvj4wywpx7p4lhs70nhab7bfl6fzz2c4snn3ma6sy7x8c"; depends=[mice mgcv]; };
+logitchoice = derive { name="logitchoice"; version="0.9.4"; sha256="1vkw7cwp7nwrsj9ifn4gz21zbw9da5rph9lr3w466zxkzdkbldqj"; depends=[]; };
+logitnorm = derive { name="logitnorm"; version="0.8.29"; sha256="0wbdxh3n44nzb6c0ahyd8gndfql1y56fns2bkmzqi3nxy9blhx18"; depends=[]; };
+loglognorm = derive { name="loglognorm"; version="1.0.1"; sha256="0rhx769a5nmidpbpngs2vglsbkpgw9badz3kj3jfmpj873jfnbln"; depends=[]; };
+logmult = derive { name="logmult"; version="0.6.1"; sha256="1wa6srl7fk2cpgszxa0nsd8dqrjk3ksyzm3yfna841l3rss823qv"; depends=[gnm qvcalc]; };
+logspline = derive { name="logspline"; version="2.1.5"; sha256="18hpzcg71v3zjzp92whgxgn7w87cadgxr65pp7nv6m5pvj130i3p"; depends=[]; };
+lokern = derive { name="lokern"; version="1.1-6"; sha256="0iixxs23zsb0qadppcwmwf6vbxcjnm8zmwyz1xkkmhrpp06sa3jw"; depends=[sfsmisc]; };
+lomb = derive { name="lomb"; version="1.0"; sha256="06lbk7s1ilqx6xsgj628wzdwmnvbs0p03hdpx8665fhddcxh3ryy"; depends=[]; };
+longCatEDA = derive { name="longCatEDA"; version="0.17"; sha256="1yb0117ycj4079590mrx3lg9m5k7xd1dhb779r3rmnww94pmvja9"; depends=[]; };
+longitudinal = derive { name="longitudinal"; version="1.1.11"; sha256="0rzi177v9k6gy1wv06vf81r1q0ml81ssf83v0z8rpmx5j91d71ac"; depends=[corpcor]; };
+longitudinalData = derive { name="longitudinalData"; version="2.2"; sha256="1kdgnkhk39a9r4fq6zmrvzcvs7qjd21knpzfjglxyx723r9p3fs7"; depends=[clv class rgl misc3d]; };
+longmemo = derive { name="longmemo"; version="1.0-0"; sha256="1jnck5nfwxywj74awl4s9i9jn431655mmi85g0nfbg4y71aprzdc"; depends=[]; };
+longpower = derive { name="longpower"; version="1.0-11"; sha256="1l1icy653d67wlvigcya8glhqh2746cr1vh1khx36qjhfjz6wgyf"; depends=[Matrix lme4 nlme]; };
+loop = derive { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; };
+lordif = derive { name="lordif"; version="0.2-2"; sha256="0898k5w9wky318k8x0zknjqdzdify0yyrnb1506j341l4n1bm04s"; depends=[MASS msm mvtnorm polycor sfsmisc ltm Hmisc rms]; };
+lorec = derive { name="lorec"; version="0.6.1"; sha256="0mgypd8awixh1lzbh5559br4k7vi3pfmwniqhgh68wc06sc6bn65"; depends=[]; };
+lpSolve = derive { name="lpSolve"; version="5.6.10"; sha256="0hrgac5gfihhk4spy5smwgnawgn5nbv7aydb1w28lgd46a4zldvc"; depends=[]; };
+lpSolveAPI = derive { name="lpSolveAPI"; version="5.5.2.0-14"; sha256="1ffmb9xv6m25ii4n7v576g8xw31qlsxd99ka8cjdhqs7fbr4ng5x"; depends=[]; };
+lpc = derive { name="lpc"; version="1.0.2"; sha256="1r6ynkhqjic1m7fqrqsp7f8rpxqih5idn4j96fqrdj8nj01znv29"; depends=[]; };
+lpint = derive { name="lpint"; version="2.0"; sha256="0p1np8wlfbax0c7ysc5fs9dai8s00h1v0gan89dbd6bx06307w2r"; depends=[]; };
+lpme = derive { name="lpme"; version="1.0.1"; sha256="0f0xphlxl0ma3s2miadl74cb1l20cikqgk3nc1dg5ml05cqzhyxr"; depends=[Rcpp Rcpp RcppArmadillo]; };
+lpmodeler = derive { name="lpmodeler"; version="0.2-1"; sha256="17k67l03dkjx61p4hwswghjm6awk0zx173x9xafxrfd8jrgsf6kf"; depends=[slam]; };
+lpridge = derive { name="lpridge"; version="1.0-7"; sha256="0nkl70fwzra308bzlhjfpkxr8hpd8v1xdnah7nscxa10qlisgr2k"; depends=[]; };
+lqa = derive { name="lqa"; version="1.0-3"; sha256="141r2cd9kybi6n9jbdsvhza8jdxxqch4z3qizvpazjy8qifng29q"; depends=[]; };
+lqmm = derive { name="lqmm"; version="1.5.1"; sha256="1myv2v2059vlni1npxyv6ii846aiqz1mvyz9r9n5vpzgz92abizi"; depends=[SparseGrid nlme]; };
+lrmest = derive { name="lrmest"; version="1.0"; sha256="1gdj8pmmzvs1li05pwhad63blhibq45xd1acajxsx06k7k21ajs7"; depends=[MASS]; };
+lsa = derive { name="lsa"; version="0.73"; sha256="041wa1i85i90qvm5sxvd9nidis8s069cvf9nw1r68ajkvds65y91"; depends=[SnowballC]; };
+lsbclust = derive { name="lsbclust"; version="1.0.2"; sha256="03vaf9l0fy3pdr3cqb937nw8s7ky25njc3fnl4hdpc8rj7m44hwf"; depends=[ggplot2 plyr clue gridExtra reshape2 Rcpp Rcpp]; };
+lsdv = derive { name="lsdv"; version="1.1"; sha256="0rl1xszr9r8v71j98gjpav30n2ncsci19hjlc9flzs1s20sb1xpr"; depends=[]; };
+lsgl = derive { name="lsgl"; version="1.0.123.1"; sha256="10q3f56yjgs3kvyk7b7d1xi06sa16pv9y3c6lsp1461whqvinpj4"; depends=[sglOptim Matrix sglOptim Rcpp RcppProgress RcppArmadillo BH]; };
+lshorth = derive { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; };
+lsmeans = derive { name="lsmeans"; version="2.16"; sha256="1cmxg4cxf7snmpnargdwvgr061acpbish934pcdmnhslr1k2sj9j"; depends=[estimability multcomp plyr Matrix mvtnorm]; };
+lspls = derive { name="lspls"; version="0.2-1"; sha256="1g27fqhnx9db0zrxbhqr76agvxy8a5fx1bfy58j2ni76pki1y4rl"; depends=[pls]; };
+lsr = derive { name="lsr"; version="0.5"; sha256="0q385a3q19i8462lm9fx2bw779n4n8azra5ydrzw59zilprhn03f"; depends=[]; };
+lss = derive { name="lss"; version="0.52"; sha256="1fvs8p9rhx81xfn450smnd0i1ym06ar6nwwcpl74a66pfi9a5sbp"; depends=[quantreg]; };
+ltbayes = derive { name="ltbayes"; version="0.3"; sha256="1b35bwli08yzgv3idg86wz8fzpx7r5sx0ryr950rdh0n2jdml09q"; depends=[mcmc MHadaptive numDeriv]; };
+ltm = derive { name="ltm"; version="1.0-0"; sha256="1igkgb0jy3mzlnp9s6avhcpplwijz5g3x26a3lavyy3d9fjpmfpa"; depends=[MASS msm polycor]; };
+ltmle = derive { name="ltmle"; version="0.9.3-1"; sha256="0nvcxl55nmcabsz79vkjxmnifzm2vxg0lgwcjqiwsj242vhnfjhh"; depends=[]; };
+ltsa = derive { name="ltsa"; version="1.4.4"; sha256="06db0d4j0kqp4q6rpa3sawcsm5rfgdhzl8fl7cxivjbbyrfnszqp"; depends=[]; };
+ltsbase = derive { name="ltsbase"; version="1.0.1"; sha256="16p5ln9ak3h7h0icv5jfi0a3fbw5wdqs3si69sjbn8f5qs2hz7yp"; depends=[MASS robustbase]; };
+ltsk = derive { name="ltsk"; version="1.0.3"; sha256="17l4mwggd4s39l6x1b6gvwgd6gjl0h37wfis1i6l9k6hiaqhb6vr"; depends=[fields]; };
+lubridate = derive { name="lubridate"; version="1.3.3"; sha256="1f07z3f90vbghsarwjzn2nj6qz8qyfkqalszx8cb5kliijdkwy8z"; depends=[plyr stringr memoise]; };
+luca = derive { name="luca"; version="1.0-5"; sha256="1jiqwibkrgga4ahz0qgpfkvrsxjqc55i2nwnm60xddb8hpb6a6qx"; depends=[survival genetics]; };
+lucid = derive { name="lucid"; version="1.1"; sha256="1dywjl9zhmaqbhmsazdffhnnjbdcsgrzw54c0im23jz22jq8jw52"; depends=[nlme]; };
+lunar = derive { name="lunar"; version="0.1-04"; sha256="0nkzy6sf40hxkvsnkzmqxk4sfb3nk7ay4rjdnwf2zym30qax74kk"; depends=[]; };
+lvm4net = derive { name="lvm4net"; version="0.1"; sha256="0b140jybn6jpr1qh3s84vg0ba34356vc8pa4v2zfp9ggipfl073b"; depends=[ergm ellipse igraph]; };
+lxb = derive { name="lxb"; version="1.3"; sha256="0mvjk0s9bzvznjy0cxjsqv28f6jjzvr713b2346ym4cm0y4l3mir"; depends=[]; };
+lymphclon = derive { name="lymphclon"; version="1.3.0"; sha256="1jns41sk2rx1j3mg06dzy434k30gpfhbkn6s47fmyv1y8701vfl0"; depends=[MASS expm corpcor]; };
+m4fe = derive { name="m4fe"; version="0.1"; sha256="06lh45591z2lc6lw91vyn066x0m1zwxxfp6nbirp1rz901v843ph"; depends=[]; };
+mAr = derive { name="mAr"; version="1.1-2"; sha256="0i9zp8n8i3fxldgvwj045scss533zsv8p476lsla294gp174njr7"; depends=[MASS]; };
+mFilter = derive { name="mFilter"; version="0.1-3"; sha256="1cz9d8447iiy7sq47civ1lcjafqdqs40lzxm2a4alw4wy57hc2h6"; depends=[]; };
+mGSZ = derive { name="mGSZ"; version="1.0"; sha256="08l98i75h2h8kx9ksvzp5qr8jhf0l6n4j7rg8fcn7hk8chn8v5zh"; depends=[GSA MASS ismev]; };
+mQTL = derive { name="mQTL"; version="1.0"; sha256="0k80xvkr0b0mp3bj2s558fjxi2zf4k7ggnw6hsjm8lr84i108dks"; depends=[qtl MASS outliers]; };
+mRMRe = derive { name="mRMRe"; version="2.0.5"; sha256="1lhpamjy8dbk3lzjj0wj041cg99rw6925i9fq297c93jxq562414"; depends=[survival igraph]; };
+mRm = derive { name="mRm"; version="1.1.5"; sha256="0sbpk7z4ij917nw8wyvnm87iav95ybqrzvmsjy3r8nyq55bjzyn7"; depends=[]; };
+maRketSim = derive { name="maRketSim"; version="0.9.2"; sha256="1cq17zjwyf4i5lcqgxqkw805s4mr6qp89blgpmpxy8gdrbfj93m4"; depends=[]; };
+maSAE = derive { name="maSAE"; version="0.1-2"; sha256="18a1zbfmjhrmi3fgqd7vaicpsca59kp8r1003pwl7l4032p32fxk"; depends=[]; };
+maboost = derive { name="maboost"; version="1.0-0"; sha256="18d36cgvn8p75nidfr6al458jbzwc1i7x77y1ks50y9phrz3wf65"; depends=[rpart C50]; };
+mada = derive { name="mada"; version="0.5.7"; sha256="0a2m1rb4d143v9732392xzvbg6x1k3l0g3zscgbx64m21kxshmgb"; depends=[mvtnorm ellipse mvmeta]; };
+mads = derive { name="mads"; version="0.1.2"; sha256="1hbanfa1wnfvfs0g8dcf5z4439v0pp3rqhxahiis03jlfxzgd841"; depends=[mrds]; };
+madsim = derive { name="madsim"; version="1.1"; sha256="1d9mv769zia43krdfl43hp22cp5mdi3ycwj3kxyfcjrg23bjnyc0"; depends=[]; };
+magic = derive { name="magic"; version="1.5-6"; sha256="1399w1zhz79nj8cdhslybncd9h6rylfhb548nv22ip0dxxdkyv0v"; depends=[abind]; };
+magicaxis = derive { name="magicaxis"; version="1.9.3"; sha256="0dxlqpxw82v9cxfp475ppd02ywvlg96b1cfj02fjvs04xfprhar0"; depends=[MASS plotrix sm]; };
+magma = derive { name="magma"; version="1.3.0-2"; sha256="0hgwjq30ksx2qg4q9fj57m27i96sci8hrfrqc2lw4hz18b6kkph4"; depends=[]; };
+magrittr = derive { name="magrittr"; version="1.5"; sha256="1s1ar6rag8m277qcqmdp02gn4awn9bdj9ax0r8s32i59mm1mki05"; depends=[]; };
+mail = derive { name="mail"; version="1.0"; sha256="1m89cvw5ba4d87kp2dj3f8bvd6sgj9k56prqmw761q919xwprgw6"; depends=[]; };
+mailR = derive { name="mailR"; version="0.4.1"; sha256="1bfh3fxdqx9f9y3fgklxyslpcvhr9gcj7wsamaxzgrcsaxm8fdlw"; depends=[rJava stringr R_utils]; };
+makeProject = derive { name="makeProject"; version="1.0"; sha256="09q8xa5j4s5spgzzr3y06l3xis93lqxlx0q66s2nczrhd8nrz3ca"; depends=[]; };
+mallet = derive { name="mallet"; version="1.0"; sha256="06rksf5nvxp4sizgya7h4sb6fgw3yz212a01dqmc9p5a5wqi76x0"; depends=[rJava]; };
+managelocalrepo = derive { name="managelocalrepo"; version="0.1.4"; sha256="060r9wkrn2v6wij926l7qlxlw8k2zbgrmwf2awf1x6llfs4vaiby"; depends=[stringr assertthat]; };
+manipulate = derive { name="manipulate"; version="1.0.1"; sha256="1klknqdfppi5lf6zbda3r2aqzsghabcsaxmvd3vw3cy3aa984zky"; depends=[]; };
+mapDK = derive { name="mapDK"; version="0.3.0"; sha256="03ksg47caxx3y97p3nsflwpc7i788jw874cixr9gjz756avwkmwp"; depends=[ggplot2 stringi]; };
+mapStats = derive { name="mapStats"; version="2.3"; sha256="0kws795f8s6rgbwyzjz90vzlh2ipp0c0mwdbsry5aasg4qj97ns0"; depends=[survey lattice maptools RColorBrewer Hmisc classInt sp colorspace reshape2]; };
+mapdata = derive { name="mapdata"; version="2.2-3"; sha256="1fhj34cgq6rniy0339qv2ghbs0aiq38h9jfwx7szb83yj37v7wm6"; depends=[maps]; };
+mapfit = derive { name="mapfit"; version="0.9.6"; sha256="1mfw4ihshf3lc3xfdyh2rawaqly7kynncda4j35si080ygk23aj5"; depends=[Matrix]; };
+mapmisc = derive { name="mapmisc"; version="1.1.3"; sha256="10i99rd6ds1dr0b741sin43kkj6v7d4mky653kcz3mqq5904wnns"; depends=[sp raster]; };
+mapplots = derive { name="mapplots"; version="1.5"; sha256="09sk78a0p8hlwhk3w2dwvpb0a6p7fqdxyskvz32p1lcav7y3jfrb"; depends=[]; };
+mapproj = derive { name="mapproj"; version="1.2-2"; sha256="1fdb72hvcp6jm7rhvs8zdkya6ifs92lfqnmq5vj5amwckkxfidc6"; depends=[maps]; };
+maps = derive { name="maps"; version="2.3-9"; sha256="1gzy81sl4vpr4hsnh4jsp5rd26jdkzsw99qxwfmbadjyf55q06wv"; depends=[]; };
+maptools = derive { name="maptools"; version="0.8-34"; sha256="1ii4vgapdbf0i9f71agfmv85lmw1da686igw1252kgfrbf2mjdfw"; depends=[sp foreign lattice]; };
+maptpx = derive { name="maptpx"; version="1.9-1"; sha256="1yrlgz5bkjjs3m59dqp60n95lax0fp7xw00v59kymmw5hr3sis6f"; depends=[slam]; };
+maptree = derive { name="maptree"; version="1.4-7"; sha256="1k7v84wvy6wz6g0dyiwvd3lvf78rlfidk60ll4fz7chvr2nrqdp4"; depends=[cluster rpart]; };
+mar1s = derive { name="mar1s"; version="2.1"; sha256="0psjva7nsgar5sj03adjx44pw0sdqnsd96m4g6k8d76pv30m1g7l"; depends=[cmrutils fda zoo]; };
+marelac = derive { name="marelac"; version="2.1.4"; sha256="0mm1rmaxrbhk6r9z62ns832p2q9fajq0jpvd3if3rg2wgdbb1505"; depends=[shape seacarb]; };
+marg = derive { name="marg"; version="1.2-2"; sha256="0j08zzcrj8nqsargi6xi50gy9pl4smmsp4b7ywlga7r1ga38g82r"; depends=[statmod survival]; };
+markdown = derive { name="markdown"; version="0.7.4"; sha256="09bqwv75mvfnjwbsz4v0zr9mmjdccwwgayiv7f6db48lngijng4f"; depends=[mime]; };
+marked = derive { name="marked"; version="1.1.8"; sha256="1xsg0iy8mcy9b98bxmjr3y413xwblbhks3fcydbvjnry0k03gd5i"; depends=[lme4 R2admb truncnorm coda ggplot2 Matrix numDeriv Rcpp plyr optimx expm Rcpp]; };
+markovchain = derive { name="markovchain"; version="0.1.1"; sha256="1y4f4xf8557jq20yd8n2sl4sjhx2pkdjyr6fqikrfh1m4cydrz73"; depends=[igraph Matrix matlab expm]; };
+marmap = derive { name="marmap"; version="0.9.2"; sha256="1csi6v6z2p3nmyqwy8bmbj036693rzmxrc317g0a45gsqxggp3n4"; depends=[DBI RSQLite gdistance geosphere sp raster ncdf plotrix shape reshape2 adehabitatMA ggplot2]; };
+marqLevAlg = derive { name="marqLevAlg"; version="1.1"; sha256="1wmqi68g0flrlmj87vwgvyxap0miss0n42qiiw7ypyj4jw9kwm8j"; depends=[]; };
+matR = derive { name="matR"; version="0.9"; sha256="0lih3g2z6rxykprl3s529xcf466bpzpsv4l20dkgx1fgfslfcl2p"; depends=[MGRASTer BIOM_utils]; };
+matchingMarkets = derive { name="matchingMarkets"; version="0.1-2"; sha256="02hx8q13n0l2880480vfkizlz6i1l78q95kn08c4mnnqd0jglifv"; depends=[Rcpp lpSolve partitions Rcpp RcppArmadillo]; };
+mathgraph = derive { name="mathgraph"; version="0.9-11"; sha256="0xikgzn24p0qqlrmaydmjk5yz5pq2rilsvpx86n3p2k2fc3wpwjy"; depends=[]; };
+matie = derive { name="matie"; version="1.2"; sha256="1ymx49cyvz63imqw5n48grilphiqvvdirwsrv82p7jgxdyav2xv0"; depends=[dfoptim mvtnorm seriation igraph gplots cba]; };
+matlab = derive { name="matlab"; version="1.0.2"; sha256="0m21k2vzbc5d3c93p2hk4208xyd2av2slg55q5j1ibjidiryqgd2"; depends=[]; };
+matpow = derive { name="matpow"; version="0.1.1"; sha256="1a6q21ba16qfdpykmjwgmrb1kkvvyx48qg8cbgpdmch0vhibcgcp"; depends=[]; };
+matrixStats = derive { name="matrixStats"; version="0.14.0"; sha256="1glm3h6d4c6bl3svnfk6fyj59linfc7s6fyrs0nlcwizs4371nis"; depends=[]; };
+matrixcalc = derive { name="matrixcalc"; version="1.0-3"; sha256="1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp"; depends=[]; };
+matrixpls = derive { name="matrixpls"; version="0.5.0"; sha256="0r1qpfbvaq24d30ck5c5zwsss4rqhl12g3hhmij3cn55hmv26azq"; depends=[assertive matrixcalc lavaan psych MASS]; };
+maxLik = derive { name="maxLik"; version="1.2-4"; sha256="1b2qr16s2w76nxqdlq3hflpg0sjnn8mlzas7082y8xpxw3cknpdz"; depends=[miscTools sandwich]; };
+maxent = derive { name="maxent"; version="1.3.3.1"; sha256="1skc7d0p6kg0gi1bpgaqn2dmxjzbvcphx5x3idpscxfbplm5v96p"; depends=[SparseM tm Rcpp Rcpp]; };
+maxlike = derive { name="maxlike"; version="0.1-5"; sha256="0h544wr7qsyb70vmbk648hfyb6arrsb41gw39svcin412rhw9k9j"; depends=[raster]; };
+maxstat = derive { name="maxstat"; version="0.7-22"; sha256="0fgpc5y3c5cidy7hxil10hxzdjxfmag2pp2ksh02z9smb8m0sdqb"; depends=[exactRankTests mvtnorm]; };
+mbbefd = derive { name="mbbefd"; version="0.6.1"; sha256="18vi4cans7h7lykfablrzvpvzd1zvfp2ycjf47gwjvg54ri1nnml"; depends=[Rcpp Rcpp]; };
+mbest = derive { name="mbest"; version="0.1"; sha256="0dz54rgbl40cbrv6670qd441ymz43lj16dvd9fnq3znfafc1790n"; depends=[lme4]; };
+mblm = derive { name="mblm"; version="0.12"; sha256="17h65bapvz89g5in3gkxq541bxgpj9pciz6i5hzhqn0bdbsb3k6r"; depends=[]; };
+mbmdr = derive { name="mbmdr"; version="2.6"; sha256="0ss5w66hcgd8v8j9bbbp12a720sblhr2hy9kidqfr8hgjaqlch86"; depends=[logistf]; };
+mboost = derive { name="mboost"; version="2.4-2"; sha256="104qs8hbsm4ps5ybzxrdz6lz0lqn925xy4k3m4rmbk4r62wj9v61"; depends=[stabs Matrix survival lattice nnls quadprog]; };
+mc2d = derive { name="mc2d"; version="0.1-15"; sha256="1kp2l1gvw3caplq9916s1dmpmfp6fb2xscys9gj6dykl6gi4h4hb"; depends=[mvtnorm]; };
+mcGlobaloptim = derive { name="mcGlobaloptim"; version="0.1"; sha256="1p8841y9a4yq51prv6iirgw9ln8jznx8nk547sc5xlznksjy1g9n"; depends=[randtoolbox snow]; };
+mcIRT = derive { name="mcIRT"; version="0.41"; sha256="0pbwydl4zjzwdlpzwpqm4xhq716zgq9s7bvcbrqp6q0jkba9zjnw"; depends=[Rcpp Rcpp RcppArmadillo]; };
+mcbiopi = derive { name="mcbiopi"; version="1.1.2"; sha256="12h4bv3hx1m6bsqdxj5n3b5gh98ms508am8pigz7ckmv0xkyhx85"; depends=[]; };
+mcc = derive { name="mcc"; version="1.0"; sha256="0p661a870bvh3xhcahqqq85azn9rjl3vacjy96jsdn86irj4s0vi"; depends=[]; };
+mcclust = derive { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; };
+mcga = derive { name="mcga"; version="2.0.9"; sha256="197yldx03c634f3x0mpxxvqrys93n7z7n3x0alvqa42z3vdkrz7b"; depends=[]; };
+mcgibbsit = derive { name="mcgibbsit"; version="1.1.0"; sha256="09ydcbjz3abmh46966v01dh26fy79dfklk3zjf262zp3c62ld9yf"; depends=[coda]; };
+mcheatmaps = derive { name="mcheatmaps"; version="1.0.0"; sha256="1gglm32xpmim38m7fziczgqfbpcq2899lxardsrzg6j1vhmf765y"; depends=[gridBase]; };
+mcll = derive { name="mcll"; version="1.2"; sha256="0i9zqbh0l9a9mv4558gbdq9mh52chanykyfwmiymmxygxhp809sz"; depends=[statmod locfit]; };
+mclogit = derive { name="mclogit"; version="0.3-1"; sha256="0zyms6v9qjh6a5ccahfanarp4sg49yingb8wpjcz61skqvm8j7qx"; depends=[Matrix]; };
+mclust = derive { name="mclust"; version="4.4"; sha256="1xwk5w3nzwmwavn1ni53bnhf3klvy65c05819j1aqa6dna1j1jkq"; depends=[]; };
+mcmc = derive { name="mcmc"; version="0.9-3"; sha256="148l28nb1qv82x2hj46c26yhn0lw8x5jsrp2dav9sbysv1bdj2f8"; depends=[]; };
+mcmcplots = derive { name="mcmcplots"; version="0.4.2"; sha256="0ws2la6ln016l98c1rzf137jzhzx82l4c49p19yihrmrpfrhr26l"; depends=[coda sfsmisc colorspace denstrip]; };
+mcmcse = derive { name="mcmcse"; version="1.0-1"; sha256="1jn5hl6aw83qmwccyfmcsvcymx9cp4d3qnfzzqvlw22x26rx88r6"; depends=[]; };
+mco = derive { name="mco"; version="1.0-15.1"; sha256="14y10zprpiflqsv5c979fsc2brgxay69kcwm7y7s3gziq74fn4rw"; depends=[]; };
+mcprofile = derive { name="mcprofile"; version="0.2-1"; sha256="0q1d236mcmgp5p5gl474myp1zz8cbxffd0kvsd8338jijalj05p0"; depends=[ggplot2 quadprog mvtnorm]; };
+mcr = derive { name="mcr"; version="1.2.1"; sha256="0237w41xichd418ax9xviq4wxbcc6c0cgr5gvzkca67nnqgc4jaz"; depends=[]; };
+mcsm = derive { name="mcsm"; version="1.0"; sha256="13sx7s3ywis5n4a70ld2szld9fb8jkfsc82dy6iskhy17vy8pml0"; depends=[MASS coda]; };
+mda = derive { name="mda"; version="0.4-4"; sha256="18a12fnhcx911ii8wfqkyi8yxrhbiw2pi6mhywgxzsl3a09g8ghh"; depends=[class]; };
+mdatools = derive { name="mdatools"; version="0.6.0"; sha256="13pfzr3lvqifln9lzdd0dpnygdibxp9ka7zwfisxjrw21m8mhmm3"; depends=[]; };
+mded = derive { name="mded"; version="0.1-1"; sha256="1r2sjg661abzsbqdyq2mlyacnv5rd60jfg2156cq5qyknxkin01m"; depends=[]; };
+mdscore = derive { name="mdscore"; version="0.1-2"; sha256="1g473rwffkb2x6y6wcm98i6xr5dhz11ypnbrvhb2klbvi81jj511"; depends=[MASS]; };
+mdsdt = derive { name="mdsdt"; version="1.0"; sha256="0ngf2p6lm32124qyfh18zlgf0dipj3njn6d0m8f192563kp50q0p"; depends=[ellipse mnormt polycor]; };
+measuRing = derive { name="measuRing"; version="0.1"; sha256="1nlsxrld6dsqv4cyssjpva2hh38csyjr52bpgrvrh1kdjd951qrc"; depends=[tiff zoo pastecs]; };
+meboot = derive { name="meboot"; version="1.4-5"; sha256="1h33f3dpx906q5nmd57hhkq07mbs2kg8mv6mi4imaa2zpr5vc4py"; depends=[dynlm nlme]; };
+medSTC = derive { name="medSTC"; version="1.0.0"; sha256="1f7w6jbxairqvghr5b7vgdllg3ian16a1fgi7vqlq0mhy2j6phan"; depends=[]; };
+mederrRank = derive { name="mederrRank"; version="0.0.7"; sha256="08jbqmb418qb7v2x6lm4wig1pfzzfx6fhb49mbfhlkbmssbqsjfq"; depends=[BB numDeriv]; };
+medflex = derive { name="medflex"; version="0.5-0"; sha256="06zp0la99ly2vpm97l3qm289inyd0bxgkjd4cv15mvc47w9c9x9x"; depends=[multcomp boot Matrix sandwich]; };
+mediation = derive { name="mediation"; version="4.4.4"; sha256="00w4c51v0xvc8pfpxqn73l8r2j12sv1wf5kj3yjq8g08dgzynham"; depends=[MASS Matrix mvtnorm sandwich lpSolve Hmisc]; };
+medicalrisk = derive { name="medicalrisk"; version="1.1"; sha256="1fb8zp426zcqsnb35sgywnz44lpssa1acfa2aha9bnvyazif3s90"; depends=[plyr reshape2 hash]; };
+mefa = derive { name="mefa"; version="3.2-5"; sha256="037vpnwclyj6xgycznh6g6qlirlgy3sjnkjqb1046q80b5ywv2ni"; depends=[]; };
+mefa4 = derive { name="mefa4"; version="0.3-1"; sha256="0zyjhq80krnb11wh8p8006qz0znrps3qsd2qnhkw7zwl5282i1zp"; depends=[Matrix]; };
+megaptera = derive { name="megaptera"; version="1.0-0"; sha256="1fczhdydqca1jcdc315kwrhxcjisxfq23l4sm7m2011k5nrjmv37"; depends=[snowfall ips ape seqinr RPostgreSQL XML]; };
+meifly = derive { name="meifly"; version="0.3"; sha256="1x3lhy7fmasss0rq60z5qp74ni32sahw62s8cnp2j431sp95pczc"; depends=[plyr leaps MASS]; };
+mem = derive { name="mem"; version="1.4"; sha256="1d3fgllh7fhlfz3rz2jm31r8vn7msz4na4762iaw161qp2j101db"; depends=[sm boot]; };
+memgene = derive { name="memgene"; version="1.0"; sha256="00b1mi2hvzzps542mh2p96s27kjqkpcic7djklfcwnfn1m4bz0i5"; depends=[ade4 raster gdistance vegan]; };
+memisc = derive { name="memisc"; version="0.97"; sha256="069siqkw7ll9n1crsl3yjhybwz0w52576q504cylpvlxx3jm9hfs"; depends=[lattice MASS]; };
+memoise = derive { name="memoise"; version="0.2.1"; sha256="19wm4b3kq6xva43kga3xydnl7ybl5mq7b4y2fczgzzjz63jd75y4"; depends=[digest]; };
+memuse = derive { name="memuse"; version="1.1"; sha256="1i6l3d885b4v01hlkl50m401bwi7akydhh52gf4kya5khanb8n2b"; depends=[]; };
+merror = derive { name="merror"; version="2.0.1"; sha256="09v62f7ycywasid3b7x52dhidplwdbx9fd0855b40jklfy469bkn"; depends=[]; };
+metRology = derive { name="metRology"; version="0.9-17"; sha256="1g4gv3mpii71i6imfwqg9d5iwfx03bq4lizzhx7dy39b2mj7jd4q"; depends=[MASS numDeriv]; };
+meta = derive { name="meta"; version="4.1-0"; sha256="0zf2917ljzpbc8izprzx7a78wc37q2k23lzdk8rmm5chml16mb3f"; depends=[]; };
+metaLik = derive { name="metaLik"; version="0.41.0"; sha256="08wiriq6cm02d0b0q34056y5249daidpjzkwzgjq6dh55v5fp2s4"; depends=[]; };
+metaMA = derive { name="metaMA"; version="3.1.2"; sha256="1mjyz06q1kc8lhfixpym4ndpnisi1r849fj3da6riwfd6ab1v181"; depends=[SMVar]; };
+metaMix = derive { name="metaMix"; version="0.2"; sha256="0xlsdgincxwjzyr4i8qfmfw2wvgf41qbmyhf2rxcbarf7rmwhmqf"; depends=[data_table Matrix gtools Rmpi ggplot2]; };
+metaRNASeq = derive { name="metaRNASeq"; version="1.0.2"; sha256="1xz7df7ypq4326yg429pgxd6aldp14c3h3qi20j5nqr5xgsdgzqa"; depends=[]; };
+metabolomics = derive { name="metabolomics"; version="0.1.4"; sha256="0m5d2784mkpkkg396y3vpvf38vmba5kvxarilq3zf818vjs4pnax"; depends=[crmn gplots]; };
+metacom = derive { name="metacom"; version="1.4.2"; sha256="1vb8qyilwvqb6b5sxqlmbw25r12q8f5h0mqbh3mbcmr0zarb35ql"; depends=[devtools vegan lattice]; };
+metacor = derive { name="metacor"; version="1.0-2"; sha256="04k3ph0yg3jp8x4g6l1h4m0qwl51mx0626xmm0fzr1pv4b4a1ypw"; depends=[rmeta gsl]; };
+metafolio = derive { name="metafolio"; version="0.1.0"; sha256="18s78lljwnn3j0l3mqc0svszcb3c8yzyzlpnimndbiq9yxagxnnf"; depends=[Rcpp plyr colorspace MASS Rcpp RcppArmadillo]; };
+metafor = derive { name="metafor"; version="1.9-5"; sha256="1ayvkm57c7s91m9kcsdax0fk61v0kvsbgaymlzg1sgsxkgnwcgj4"; depends=[Matrix]; };
+metagen = derive { name="metagen"; version="1.0"; sha256="0jvbm22976aqvmfnjzs51n2w099yj5hpx6hd0pgvbia80jk7b9vk"; depends=[MASS lhs plyr BBmisc ParamHelpers BatchJobs BatchExperiments ggplot2 metafor]; };
+metamisc = derive { name="metamisc"; version="0.1.1"; sha256="1cvlsix3b857xdw6anqhqsrfwxpnf4rbzg4ybf6aw7vcdc05zgwd"; depends=[mvtnorm ellipse bbmle rjags coda]; };
+metap = derive { name="metap"; version="0.6"; sha256="1iy5cmwrlsr70z0qnqn30n15knsfclg383815a2a8yqpg5gs4953"; depends=[]; };
+metaplus = derive { name="metaplus"; version="0.7-1"; sha256="17wn2x8dnfzm98bd007axq9ak38hphx08vqpk6ba0jahlfvqqdiz"; depends=[bbmle metafor boot numDeriv lme4 MASS]; };
+metasens = derive { name="metasens"; version="0.2-0"; sha256="13mncikxzg8cnpbw78ird1xkrjlivmjibhrk700vdx1hygzwi6x0"; depends=[meta]; };
+metatest = derive { name="metatest"; version="1.0-4"; sha256="0bz6gg2n4ffkr144jxk27y24xpqhp8awr09wkaijmv8902qx6qah"; depends=[]; };
+meteoForecast = derive { name="meteoForecast"; version="0.43"; sha256="1fpbxkdkgi50xbx3n26apdm6i29a2302vabfz0z3czafd76wkwg7"; depends=[raster sp zoo ncdf rjson]; };
+meteogRam = derive { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; };
+mets = derive { name="mets"; version="1.1.0"; sha256="0nfyfmhcd4sy2j1nymgw4yz0b5a36s2dqx42kzwbzgvp1m11z225"; depends=[timereg lava numDeriv Rcpp survival Rcpp RcppArmadillo]; };
+mewAvg = derive { name="mewAvg"; version="0.3.0"; sha256="16gc78ccjffp9qgc7rs622jql54ij83ygvph3hz19wpk22m96glm"; depends=[]; };
+mfp = derive { name="mfp"; version="1.5.1"; sha256="0flqrvicgks7nxxijhndshpf541drlgqjidm3nql1bg5hnpc5fcq"; depends=[survival]; };
+mfx = derive { name="mfx"; version="1.1"; sha256="1zhpk38k7vdq0pyqi1s858ns19qycs3nznpa00yv8sz9n798wnn5"; depends=[sandwich lmtest MASS betareg]; };
+mgcv = derive { name="mgcv"; version="1.8-5"; sha256="133w7x0bys5dhsavfzh3h6gwgji0bbg2s22lgrrzigzgx65m9bfw"; depends=[nlme Matrix]; };
+mgpd = derive { name="mgpd"; version="1.99"; sha256="0cxpgza9i0hjm5w1i5crzlgh740v143120zwjn95cav8pk8n2wyb"; depends=[evd numDeriv corpcor fields]; };
+mgraph = derive { name="mgraph"; version="1.03"; sha256="0av2c0jvqsdfb3i0s0498wcms0n2mm0z3nnl98mx2fy7wz34z8b2"; depends=[rgdal]; };
+mhsmm = derive { name="mhsmm"; version="0.4.14"; sha256="1zrqnzbmlk3kmwbq9rl4bdkc9iawkgn3qr7nzsa782v55i7w2wiz"; depends=[mvtnorm]; };
+mht = derive { name="mht"; version="3.0.11"; sha256="1d1ca3jp5q9xmnlnjsqi247vz6gm25bb8x5lzwd6z0n87lv26n1k"; depends=[glmnet]; };
+mhurdle = derive { name="mhurdle"; version="1.0-1"; sha256="1x631fgbq3ika05svyavzadyjd7vi9bcmsgb58wfhpf9xq6j5rcr"; depends=[Formula truncreg maxLik pbivnorm]; };
+mi = derive { name="mi"; version="0.09-19"; sha256="1r3b6mm3pr95lb52m2vynmg0l2wy80hznjq2rff1qwplbq1pl04n"; depends=[arm abind car foreign lme4 MASS Matrix nnet R2WinBUGS]; };
+miRada = derive { name="miRada"; version="1.13.8-8"; sha256="1m6rm65pv4r16r0s5ih69nr3v2rnpsvpdpk07pi7k4f7v9wck71v"; depends=[]; };
+miRtest = derive { name="miRtest"; version="1.8"; sha256="0i66s1sz7vf8p8ihfrxmag7wbkw8mlkldcp1w2figlzyhs74c85p"; depends=[corpcor MASS RepeatedHighDim]; };
+micEcon = derive { name="micEcon"; version="0.6-12"; sha256="1kxhr3qqgswq8glrjfcjz0hyb163lwf303yhwlgrwjciqgp5dq17"; depends=[miscTools]; };
+micEconAids = derive { name="micEconAids"; version="0.6-16"; sha256="07hsabrlkwpdaalh0b7izraz2q5dlxn373ccijc5c4zsrkgk7kij"; depends=[lmtest micEcon systemfit miscTools]; };
+micEconCES = derive { name="micEconCES"; version="0.9-8"; sha256="06g6z8hf7y9d942w6gya0fd5aidzfjkx3280gjygdlwpv7nlpqzv"; depends=[minpack_lm DEoptim systemfit car micEcon miscTools]; };
+micEconSNQP = derive { name="micEconSNQP"; version="0.6-6"; sha256="1n3pxapc90iz1w3plaqflayd0b1jqd65yw5nbbm9xz0ih132dby9"; depends=[miscTools systemfit MASS]; };
+mice = derive { name="mice"; version="2.22"; sha256="1b7ivpa21ipzbmmwjn1ch968zpw6wydg30f7jdk95m40lrk2xs68"; depends=[Rcpp lattice MASS nnet randomForest rpart Rcpp]; };
+miceadds = derive { name="miceadds"; version="1.1-1"; sha256="1hzx9gf73kgpaa1l0889ybc8qsi703sc4z8wd8jfayhi57rigikb"; depends=[MASS mice mvtnorm pan Rcpp sirt TAM lme4 MBESS pls mitools bayesm inline car foreign Rcpp RcppArmadillo]; };
+microbenchmark = derive { name="microbenchmark"; version="1.4-2"; sha256="05yxvdnkxr2ll94h6f2m5sn3gg7vrlm9nbdxgmj2g8cp8gfxpfkg"; depends=[ggplot2]; };
+micromap = derive { name="micromap"; version="1.9.2"; sha256="1x4v0ibbpfz471dp46agib27i4svs8wyy93ldriryvhpa2w5948y"; depends=[maptools RColorBrewer rgdal sp ggplot2]; };
+micromapST = derive { name="micromapST"; version="1.0.5"; sha256="1n9mzyl5dj21165j0j99brkqq7c54j3cg6r21ifdzffj2dx29wh0"; depends=[RColorBrewer]; };
+micropan = derive { name="micropan"; version="1.0"; sha256="0qnxm6z2pk1wibchj6rhn3hld77dzl5qgvzl4v9n16ywlgdv09ai"; depends=[igraph]; };
+midasr = derive { name="midasr"; version="0.4"; sha256="190qliv7v80rr3jh9yvchwl3ch7nf5b8p90iywp8qkaav5r8rcdy"; depends=[sandwich optimx MASS numDeriv Matrix forecast]; };
+migest = derive { name="migest"; version="1.6"; sha256="1mjjcba74nk10kdbsaphih3zdyaqmf02hrv13s34klwdwkp3nv0m"; depends=[]; };
+migration_indices = derive { name="migration.indices"; version="0.3.0"; sha256="0h0yjcj70wzpgrv3wl1f2h2wangh1klsllq0i0935plgzw736mwd"; depends=[calibrate]; };
+migui = derive { name="migui"; version="0.00-09"; sha256="0mrvsls9q039pay0vf59xwg6bbr7ahwl4x3iwvar6sbfg8606as8"; depends=[tkrplot mi foreign]; };
+mime = derive { name="mime"; version="0.2"; sha256="0kg1wwxh7v7b7wqbxf47ngy978hc2a9nknwra5racpd2gzyg3ghn"; depends=[]; };
+minPtest = derive { name="minPtest"; version="1.7"; sha256="088kckpbfy2yp0pk3zrixrimywrvkaib5ywa7fkr5phnzlsl80sv"; depends=[scrime Epi]; };
+minerva = derive { name="minerva"; version="1.4.1"; sha256="0dg5xnl9srdvid49na8478bnvagv0khiv6hl7z8gw6m745681i89"; depends=[]; };
+miniCRAN = derive { name="miniCRAN"; version="0.1-1"; sha256="0azyv5wcl4dk1z4j6pq26y7h7f9lvq6m198dj4aa142k9smxfrnw"; depends=[XML httr igraph]; };
+miniGUI = derive { name="miniGUI"; version="0.8.0"; sha256="1iq52x7wbcin7ya207jj3k9vym7mavm5z61vggyabdmr768pci39"; depends=[]; };
+minimax = derive { name="minimax"; version="1.0"; sha256="1g0d9q5h1avbb0yg7ajw5330820i3n5cgkpsif754l4j3ikya8p3"; depends=[]; };
+minimist = derive { name="minimist"; version="0.1"; sha256="007y829d766b1v6wkrhk7pkg99r38bvmhc8bwvs8rs13dr7444ln"; depends=[V8]; };
+minpack_lm = derive { name="minpack.lm"; version="1.1-8"; sha256="0nvsxqwg3k9k3dqjzkz1vq2z0xla317011zm9ms8y1qvf75raz83"; depends=[]; };
+minqa = derive { name="minqa"; version="1.2.4"; sha256="036drja6xz7awja9iwb76x91415p26fb0jmg7y7v0p65m6j978fg"; depends=[Rcpp Rcpp]; };
+minque = derive { name="minque"; version="1.1"; sha256="1hx4j38213hs8lssf9kj5s423imk7dzv60mdbzrpbp7la7jk2n57"; depends=[klaR Matrix]; };
+minxent = derive { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; };
+mipfp = derive { name="mipfp"; version="1.5"; sha256="1hjayf9m0qp5m67ndq6w03c6zgrh74jfhd7yzh1xhsnbsxi5iqi3"; depends=[cmm]; };
+mirt = derive { name="mirt"; version="1.8"; sha256="1lmq5nbh46ik97f6cf37iixzwws15rnpacaig7rv7bax23d6gcwc"; depends=[lattice GPArotation Rcpp sfsmisc numDeriv Rcpp]; };
+mirtCAT = derive { name="mirtCAT"; version="0.4.2"; sha256="133q6kdj8hkgfrby6sb9kdpmlk097zzwapb0nh2lnswyxfpl7s6w"; depends=[mirt shiny lattice Rcpp Rcpp RcppArmadillo]; };
+misc3d = derive { name="misc3d"; version="0.8-4"; sha256="0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"; depends=[]; };
+miscF = derive { name="miscF"; version="0.1-2"; sha256="195rb9acdirfhap0z35yvcci5xn4j84mlbafki4l1vfgqgnh0ajj"; depends=[MCMCpack mvtnorm Rcpp RcppArmadillo Rcpp RcppArmadillo]; };
+miscFuncs = derive { name="miscFuncs"; version="1.2-7"; sha256="1cnhd23fi6akr3fsr2b85s5cn36ksy4h3c4iyyjqcpc49wa819d0"; depends=[roxygen2 mvtnorm]; };
+miscTools = derive { name="miscTools"; version="0.6-16"; sha256="19mslb64lm8srrmml1v40rfkxhqw02bplw0yjv7qnkqj44hcqfw1"; depends=[]; };
+miscset = derive { name="miscset"; version="0.4"; sha256="04cl8a2chcynfn5rljqw2ll4ry0wqaslqgjh9ny8ax3hcvyvmmwl"; depends=[data_table gridExtra Rcpp xtable Rcpp]; };
+missForest = derive { name="missForest"; version="1.4"; sha256="0y02dhrbcx10hfkakg5ysr3kpyrsh2d9i5b0qzhj9x5x0d5q11gp"; depends=[randomForest foreach itertools]; };
+missMDA = derive { name="missMDA"; version="1.7.3"; sha256="1wg4rgziw2f8asdxi2a5dx1mn4z0sd1lf9a8fp7dg29bnv82brmh"; depends=[FactoMineR]; };
+mistat = derive { name="mistat"; version="1.0-2"; sha256="1n5wdn5pl6mflzxpdwjj0x44c8a3cxxpwhmyw1jkx5r8yk95mh3p"; depends=[]; };
+mistral = derive { name="mistral"; version="1.1-1"; sha256="19zkc5ddjzw17y70x3l6maljsfvg0295xyzx7kavmjrws74jx4rc"; depends=[DiceKriging e1071 kernlab Matrix mvtnorm rgenoud]; };
+mitools = derive { name="mitools"; version="2.3"; sha256="0w76zcl8mfgd7d4njhh0k473hagf9ndcadnnjd35c94ym98jja33"; depends=[]; };
+mix = derive { name="mix"; version="1.0-8"; sha256="0wlp6wkn8dwwnjfq3qzk0hjb3xsjh5ld5zxbd6nf12awpkwa1j9y"; depends=[]; };
+mixAK = derive { name="mixAK"; version="3.10"; sha256="1mma3515p1r5nhbmdyxzvv73ni5iw4arnzq94nw9gib1dgjpm7c5"; depends=[colorspace lme4 fastGHQuad mnormt coda]; };
+mixOmics = derive { name="mixOmics"; version="5.0-3"; sha256="1b8ms3jz4acvbfm2b1iw30h2d80lpqgabwr5j9k2gy3nvqm72nxq"; depends=[MASS lattice RGCCA igraph rgl pheatmap]; };
+mixPHM = derive { name="mixPHM"; version="0.7-1"; sha256="0v75xv06m40jqq0c4y1gvdrmyddxs814djbpyq61fv8cn22fn7wx"; depends=[survival lattice]; };
+mixRasch = derive { name="mixRasch"; version="1.1"; sha256="1r067pv7b54y1bz8p496wxv4by96dxfi2n1c99gziqf5ramx3qzp"; depends=[]; };
+mixcat = derive { name="mixcat"; version="1.0-3"; sha256="0xszngygd3yj61pvv6jrrb5j0sxgpxzhlic69xrd5mv5iyw0cmxd"; depends=[statmod]; };
+mixdist = derive { name="mixdist"; version="0.5-4"; sha256="100i9mb930mzvdha31m1srylmpa64wxyjv6pkw1g5lhm1hsclwm3"; depends=[]; };
+mixer = derive { name="mixer"; version="1.8"; sha256="1r831jha7qrxibw5m3nc3l6r887ihzxzsj65yjnbl5cf5b8y19bb"; depends=[]; };
+mixexp = derive { name="mixexp"; version="1.2.1"; sha256="0yjsngr2akj2hhl1hav2kkp8w0g4775qvnbzypa3c1fmx8kf1xvw"; depends=[gdata lattice daewr]; };
+mixlm = derive { name="mixlm"; version="1.0.8.5"; sha256="1xbkh6aaw4j57vkn6ng7i5wkpz2clhvj3sx0mhfmpwhg13rpdkaj"; depends=[multcomp pls pracma leaps lme4 car]; };
+mixlow = derive { name="mixlow"; version="1.0.1"; sha256="12vnp3gl3ykxzgvc4bwhi4flmc1sl2y77yi0zi4by17q93a49akm"; depends=[nlme]; };
+mixor = derive { name="mixor"; version="1.0.2"; sha256="1xkwgk4dvjbpqvvbrb8yb88iz4nkv7sykxaygjq7zfcdrdivxz6n"; depends=[]; };
+mixreg = derive { name="mixreg"; version="0.0-5"; sha256="0wsb1z98ymhshw9nhsvlszsanflxv3alwpdsw8lr3v62bkwka8zr"; depends=[]; };
+mixsep = derive { name="mixsep"; version="0.2.1-2"; sha256="1ywwag02wbx3pkd7h0j9aab44bdmwsaaz0p2pcqn1fs3cpw35wa2"; depends=[tcltk2 MASS RODBC]; };
+mixsmsn = derive { name="mixsmsn"; version="1.0-9"; sha256="0pgip1xfgfrdy3g3197d7visn164zi7xnp6wlsgjwxdylvjsxkji"; depends=[mvtnorm]; };
+mixtools = derive { name="mixtools"; version="1.0.2"; sha256="0x809m6lbzprd5kq6wqk528x9apaj5df3sidzk9jiw06qklngwg8"; depends=[boot MASS segmented]; };
+mixture = derive { name="mixture"; version="1.4"; sha256="0k9pzcgfjyp0rmcma26kr2n8rcwmijznmdpvqidgl3jay20c87ca"; depends=[]; };
+mizer = derive { name="mizer"; version="0.2"; sha256="0cpal9lrjbvc923h499hbv4pqw3yjd4jvvhgayxgkak2lz2jzmcz"; depends=[plyr reshape2 ggplot2]; };
+mkde = derive { name="mkde"; version="0.1"; sha256="04v84arpnmjrkk88ffphnhkz32x7y0dypk75jfmbbgcgv59xlglv"; depends=[Rcpp raster sp Rcpp]; };
+mkin = derive { name="mkin"; version="0.9-34"; sha256="0g0r30hs5ja2x1mwj336x8y3p0b33asfql076w2krmw38xkpla44"; depends=[minpack_lm rootSolve FME deSolve]; };
+mkssd = derive { name="mkssd"; version="1.1"; sha256="1qqzy6fn6sc3lxahc19hzzf1hzxsyvxqi7npynw0vkknlrvh2ijp"; depends=[]; };
+mlDNA = derive { name="mlDNA"; version="1.1"; sha256="0d9lydiwar98hin26slnym4svn0g1xmyn212vvzsx9lzlvs5a9k4"; depends=[snowfall igraph rsgcc e1071 randomForest pROC ROCR]; };
+mlPhaser = derive { name="mlPhaser"; version="0.01"; sha256="1s2mqlnbcjdkx0ghvr2sw9rzggqa4jy2vzi9vbyqkh6795lgck6n"; depends=[]; };
+mlbench = derive { name="mlbench"; version="2.1-1"; sha256="1rp035qxfgh5ail92zjh9jh57dj0b8babw3wsg29v8ricpal30bl"; depends=[]; };
+mldr = derive { name="mldr"; version="0.1.70"; sha256="08yiglqzlqxlfrxd7l12x59h7a38skrkkf8w7jh620ab7a7w1gyg"; depends=[shiny XML circlize]; };
+mlearning = derive { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class nnet MASS e1071 randomForest ipred]; };
+mlegp = derive { name="mlegp"; version="3.1.4"; sha256="1932544irhzhf6a8rjyh66j57h9awlhwd6xam603bamfg106cmg2"; depends=[]; };
+mleur = derive { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[urca stabledist fGarch lattice]; };
+mlgt = derive { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; };
+mlica2 = derive { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; };
+mlmRev = derive { name="mlmRev"; version="1.0-6"; sha256="0mvmahnbbp478xwldj4wlsjib4v4afhs07643gxgcqpi56zbd5h7"; depends=[lme4]; };
+mlmmm = derive { name="mlmmm"; version="0.3-1.2"; sha256="1m5ziiqs3ll1xjm1yf7x4sdc910jypn3kjnbadf95xxkvqmfrsqq"; depends=[]; };
+mlogit = derive { name="mlogit"; version="0.2-4"; sha256="15ndly7i56k8blgvpn15ixxnqx9yvbci7n3mb3hm9mnrxwh5v7sx"; depends=[Formula maxLik statmod zoo MASS lmtest]; };
+mlogitBMA = derive { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[BMA abind maxLik]; };
+mlr = derive { name="mlr"; version="2.3"; sha256="0cvg2bxxw3c69lj5wy4ds54wn5h299c5mjcsbax1p0k408z5aa6z"; depends=[ParamHelpers BBmisc ggplot2 checkmate parallelMap plyr reshape2 survival]; };
+mlxR = derive { name="mlxR"; version="2.1.1"; sha256="13ddm4hhnjx7r058qlvvxn9npqa0vq6y5l1g0zrlhckjp7bpp90a"; depends=[ggplot2 XML Rcpp]; };
+mma = derive { name="mma"; version="1.0-0"; sha256="1xc138v2n0kyfjz9payps9wqamfmglvrs58ggf96wa6jp16gfcff"; depends=[gbm]; };
+mmand = derive { name="mmand"; version="1.1.0"; sha256="0awi9wxxalz81d6766djbjsk980n65dhz02fcqb69ifc7x80lc33"; depends=[reportr Rcpp Rcpp RcppArmadillo]; };
+mmap = derive { name="mmap"; version="0.6-12"; sha256="12ql03wzwj23h8lwd07rln6id44mfrgf9wcxn58y09wn3ky1rm6a"; depends=[]; };
+mmcm = derive { name="mmcm"; version="1.2-5"; sha256="193mlvl8fp5y2150m0xw5bhr7nkr4fgmwjbv1dg314a7ara42v4y"; depends=[mvtnorm]; };
+mmds = derive { name="mmds"; version="1.1"; sha256="0f5qzkfhi7vg8vsd8r41idmbwrrgc7qzfnp81adms2yzrza17wrw"; depends=[]; };
+mme = derive { name="mme"; version="0.1-5"; sha256="07k1xagwpyzsrlc00y9xlaxcpwdhz55v567i7fzvqa96ical8nlf"; depends=[MASS Matrix]; };
+mmeln = derive { name="mmeln"; version="1.1"; sha256="06bxp157cdab6ghx3yrsn8l2gixh9cyv6fv4pqyq0yxqwbjf9bmi"; depends=[]; };
+mmeta = derive { name="mmeta"; version="2.2"; sha256="06zkazi97f3il2vlx4f8c7zz4kxs9ylhscd06j31h504c1w96ddf"; depends=[aod HI]; };
+mmm = derive { name="mmm"; version="1.4"; sha256="1nydian004nldqhyw3x15w6qfml2gkjc0x8ii54faz563byjv3d8"; depends=[gee]; };
+mmm2 = derive { name="mmm2"; version="1.2"; sha256="1h9pn5s3jjs4bydrr1qysjb4hv7vs4h3m7mvi22ggs2dzyz3b298"; depends=[gee]; };
+mmod = derive { name="mmod"; version="1.2.1"; sha256="0c2ijg5116hacq0f18xhkbxankjp0k34zfnw8q02ahzwd26ds0z7"; depends=[adegenet pegas]; };
+mmpp = derive { name="mmpp"; version="0.1"; sha256="1m2079vz4h3h90ikh268jwh20ink5n1mri8n7aj50xkfspmwsmpg"; depends=[]; };
+mnlogit = derive { name="mnlogit"; version="1.2.0"; sha256="0ymkm3xwm97v5f9lg2ir4czdfb47hibgrkirc2iw66fh24iah84m"; depends=[mlogit lmtest Formula]; };
+mnormpow = derive { name="mnormpow"; version="0.1.1"; sha256="0z53vwhkhkkr6zrjhd3yr14mb02vh7lr63frf0ivajndxiap0s9v"; depends=[]; };
+mnormt = derive { name="mnormt"; version="1.5-1"; sha256="1msxbdlg4wb45lsg0m4hqf41qglnmbqw55815v8qvyfjkwrgns8b"; depends=[]; };
+modMax = derive { name="modMax"; version="1.0"; sha256="0p8vnlbw53lqbaq3819jhixq6ns2lwxf56w2md7y98rshf92h474"; depends=[gtools igraph]; };
+modTempEff = derive { name="modTempEff"; version="1.5.2"; sha256="00xdvc0i3p8wq913giy44w0xz07sa4bdgqpi7pmpbv2c5wj30pk1"; depends=[mgcv]; };
+modeest = derive { name="modeest"; version="2.1"; sha256="0l4y7yhkgsxycdd2lck0g8g6k2r059hwlrrcpl46md3rva4jgbnp"; depends=[]; };
+modehunt = derive { name="modehunt"; version="1.0.6"; sha256="15rq1yyrjhsn2rlkyiqj36jvji635hy6jsih845mfxdpn4vnssa3"; depends=[]; };
+modelfree = derive { name="modelfree"; version="1.1-1"; sha256="0ammka2wxx90z31zfzypw9dk5n118l0vxhykxbx6srfig2vdyn82"; depends=[PolynomF SparseM]; };
+modeltools = derive { name="modeltools"; version="0.2-21"; sha256="0ynds453xprxv0jqqzi3blnv5w6vrdww9pvd1sq4lrr5ar3k3cq7"; depends=[]; };
+modiscloud = derive { name="modiscloud"; version="0.14"; sha256="0vwhfp50yb21xkanvzk983vk0laflv60kj1ybx3fydfljwqx0rwj"; depends=[date sp sfsmisc raster rgdal]; };
+moduleColor = derive { name="moduleColor"; version="1.08-3"; sha256="183l968l49b7jbmvsjjnmk1xd36cpjkp777c00gw1f73h6nb2na8"; depends=[dynamicTreeCut]; };
+mokken = derive { name="mokken"; version="2.7.7"; sha256="1v0khh1bb2h7j2x54mdw8vqlimhw25r2ps89hw4l88qfaz05ir77"; depends=[poLCA]; };
+mombf = derive { name="mombf"; version="1.5.9"; sha256="0lc3rrmm2vsa4mg2zkbhp5dpnps7w0ld35lav19ff86kccspw1rg"; depends=[mvtnorm ncvreg actuar mgcv survival]; };
+momentchi2 = derive { name="momentchi2"; version="0.1.0"; sha256="02k4hzhqmqh7sx7dzb6w84fc1f5523md3284y4gvdbaw9y34ayk8"; depends=[]; };
+moments = derive { name="moments"; version="0.14"; sha256="0f9y58w1hxcz4bqivirx25ywlmc80gbi6dfx5cnhkpdg1pk82fra"; depends=[]; };
+mondate = derive { name="mondate"; version="0.10.01.02"; sha256="18v15y7fkll47q6kg7xzmj5777bz0yw4c7qfiw2bjp0f3b11qrd2"; depends=[]; };
+monitoR = derive { name="monitoR"; version="1.0.2"; sha256="1nrw8xrp99p62w4bpsbca9ahdra9cid1piidwhjc4f6vqsbkp479"; depends=[tuneR]; };
+monmlp = derive { name="monmlp"; version="1.1.2"; sha256="14x6xz07hg2c5n36rc314z66jqvgmicjxi2vsqyy91vwjxs9akrm"; depends=[]; };
+monomvn = derive { name="monomvn"; version="1.9-5"; sha256="1fh0c1234hb5f3rwy85i4rlzc3n1851q5mivckcjs2vdm9rz25mg"; depends=[pls lars MASS]; };
+monreg = derive { name="monreg"; version="0.1.3"; sha256="08rcg2xffa61cgqy8g98b0f7jqhd4yp8nx6g4bq3g722aqx4nfg3"; depends=[]; };
+moonBook = derive { name="moonBook"; version="0.1.3"; sha256="1wy8qwzymh482gfb4v9v74k666mq8dz2yird7gz43l3hps22kfgb"; depends=[nortest survival]; };
+moonsun = derive { name="moonsun"; version="0.1.3"; sha256="1y8mwxmcy4iz444c2fayyi4i0jk1k561dp6cbjg2b3lmdml0whmi"; depends=[]; };
+mopsocd = derive { name="mopsocd"; version="0.5.1"; sha256="10hssnm1afqmxa9kw6ifqnz3p3yyjrmxgi98zlj31a5g4nis8wb1"; depends=[]; };
+morgenstemning = derive { name="morgenstemning"; version="1.0"; sha256="17y90cf8ajmkfwla0hm4jgkbkd1mxnym63ph2468sfxkhn0r3v88"; depends=[]; };
+morse = derive { name="morse"; version="1.0.2"; sha256="044aljv48mfq6yj9i77yqf03qa4qqkncaalzhph3wr9w4jvxpxn5"; depends=[plyr]; };
+mosaic = derive { name="mosaic"; version="0.9.2-2"; sha256="1fx3nbndvvif1pwl013clh91s229yg7fnr0kp842jyx03hkcinba"; depends=[car dplyr lattice ggplot2 mosaicData MASS reshape2 plyr latticeExtra gridExtra ggdendro]; };
+mosaicData = derive { name="mosaicData"; version="0.9.1"; sha256="0gxnw3x806pm97x1043qq3qf1cwn1z1771cayp3xlh5khn5bijk7"; depends=[]; };
+moult = derive { name="moult"; version="1.4"; sha256="0nglf7wijp2v66fpyh88glbn1glp8vvkbvpc1g6136bg6ahbbkkl"; depends=[Formula Matrix]; };
+mountainplot = derive { name="mountainplot"; version="1.0"; sha256="1hjmzig0s4vjlkpqhvf4v6z2gd8ljy14z5n1m9y21is9yp2cy6xf"; depends=[lattice]; };
+mousetrack = derive { name="mousetrack"; version="1.0.0"; sha256="0lf0xh0c3xl27nh5w8wwyrm2jfzfajm2f73xjdgf746dp365qc8n"; depends=[pracma]; };
+movMF = derive { name="movMF"; version="0.2-0"; sha256="1p9ay7w93gyx4janw23iwg2j0wkvnvzalaa20n1rlahhmh327g7i"; depends=[skmeans clue slam]; };
+move = derive { name="move"; version="1.4.496"; sha256="0p20c6rqxk299pqd10icq4a59yn152jfnwh6sw48sg8cc9wp24k3"; depends=[geosphere sp raster rgdal]; };
+mp = derive { name="mp"; version="0.2.0"; sha256="1vpjrx04yn1rdmrhj42rhc757cj02sghrv0i5jfm4k2y28ab7qh1"; depends=[svd Rcpp Rcpp RcppArmadillo]; };
+mpMap = derive { name="mpMap"; version="1.14"; sha256="0gmhg5ps8yli8699a5aw26skfbjxx4zpp0paqxxdc0zl28l0pdff"; depends=[gdata seriation qtl wgaim]; };
+mpa = derive { name="mpa"; version="0.7.3"; sha256="0mhnsbgr77fkn957zfiw8skyvgd084rja1y4wk5zf08q5xjs2zvn"; depends=[network]; };
+mpath = derive { name="mpath"; version="0.1-17"; sha256="031mf0b32435y0cfar7zh9d1wd62ghqpspipin1cjhvnr2lyzw21"; depends=[MASS glmnet pscl numDeriv]; };
+mpcv = derive { name="mpcv"; version="1.1"; sha256="0vwycspiw9saj811f6alkbijivy7szpahf35bxn2rpn2bdhbn21i"; depends=[lpSolve]; };
+mph = derive { name="mph"; version="0.9"; sha256="11wcy23sv8x7aq6ky8wi0cq55yhjkkm9hn672qy803dwzzxv5y61"; depends=[]; };
+mpm = derive { name="mpm"; version="1.0-22"; sha256="0wijw8v0wmbfrda5564cmnp788qmlkk21yn5cp5qk8aprm9l1fnk"; depends=[MASS KernSmooth]; };
+mpmcorrelogram = derive { name="mpmcorrelogram"; version="0.1-3"; sha256="0qgzsh744002whh3v1hrxs1i0xnk9zgfgkdgx2f0ffj00vvnwr97"; depends=[vegan]; };
+mpmi = derive { name="mpmi"; version="0.41"; sha256="1iwdhvdglsamzq18f0r5mh0anrd4ffrddafdlbw16kr8jy0c8fdn"; depends=[KernSmooth]; };
+mpoly = derive { name="mpoly"; version="0.0.5"; sha256="1zhmd3lsa0n56yr3bdhg3r668zrmf35phm8g69c18a3rr5qmcdqg"; depends=[stringr rSymPy rJython rJava rjson partitions plyr]; };
+mppa = derive { name="mppa"; version="1.0"; sha256="06v6vq2nfh4b407x2gyvcp5wbdrcnk3m8y58akapi66lj8xplcx4"; depends=[]; };
+mpt = derive { name="mpt"; version="0.5-1"; sha256="1b6n7kivkj4ndcc27jmznx9dh40kvjjk7hfxh21kmnknl5ap4ffb"; depends=[]; };
+mratios = derive { name="mratios"; version="1.3.17"; sha256="0a2pn4234ri5likaqbxgkw8xqmwchr6fak3nninral0yzd4rcal5"; depends=[mvtnorm]; };
+mrds = derive { name="mrds"; version="2.1.12"; sha256="1v7lv3ssg9m8bx2gskzf31lkg3sxsdkvknrdx9aawdh3mzxwcys7"; depends=[optimx mgcv Rsolnp]; };
+mreg = derive { name="mreg"; version="1.1"; sha256="06la0yy2yys161jhlzlcm5lcv0664wm6sa8gjdnpd1s1nx52jkqf"; depends=[]; };
+mritc = derive { name="mritc"; version="0.5-0"; sha256="1344x7gc7wvmcqp0sydppavavvps5v7bs0dza2fr8rz3sn4as8sa"; depends=[lattice misc3d oro_nifti]; };
+msBP = derive { name="msBP"; version="1.0-2.1"; sha256="1yprhglqykh6v2jicab25a0ny1r49kaj3i04fspi3was2md2qbzd"; depends=[DPpackage]; };
+msSurv = derive { name="msSurv"; version="1.2-1"; sha256="1c6db2mymaflxys736vh0gdapwlnr2ld0nkj4wbcb7saw377g7v9"; depends=[class lattice]; };
+msap = derive { name="msap"; version="1.1.8"; sha256="0z5lm782jjb9w1h5vgz8bmxjdcrq9zb3xp1w5cb479jjc7krlgg3"; depends=[ade4 ape]; };
+msarc = derive { name="msarc"; version="1.4.5"; sha256="1jv364502m6q2w039dmdhwsx5id39jc4xcabyrbwbrgy65kwfspg"; depends=[gplots XLConnect wordcloud RColorBrewer]; };
+msda = derive { name="msda"; version="1.0.2"; sha256="05khpa5qasnngn6yvk87gv5262plqpw4knb6hzgy52w401k0y80r"; depends=[Matrix MASS]; };
+mseapca = derive { name="mseapca"; version="1.0"; sha256="115njdk8cv55zxd38hq9qaca686ykckni0f3xl8w3bn32gb5g9a7"; depends=[XML]; };
+msgl = derive { name="msgl"; version="2.0.125.1"; sha256="1k2n8yn9j5sknw95saq2zgl3jfanyp3c2xyj49wqgawhwsw81jdh"; depends=[Matrix sglOptim Rcpp RcppProgress RcppArmadillo BH sglOptim]; };
+msgpackR = derive { name="msgpackR"; version="1.1"; sha256="0a6vm4q1zfy8wlvhl9wfy09ig1iag9fvjasz5w9bll7idky4ldx5"; depends=[]; };
+msgps = derive { name="msgps"; version="1.3"; sha256="0nvxy9a41z5d111gqr1gh521imm795l1li70g1mzrag1gpg810c5"; depends=[]; };
+msir = derive { name="msir"; version="1.3"; sha256="0d7zxjmhr1ri3qz3fdkf56fi5dz2p9lb2vyqccrpn7js2ibkqhpl"; depends=[mclust]; };
+msm = derive { name="msm"; version="1.5"; sha256="12vw5qmrvmpvg371fx4g55ydwa83y433z6v25b7pnl5hcbc8kfj4"; depends=[survival mvtnorm expm]; };
+msme = derive { name="msme"; version="0.5.1"; sha256="1bkj10pgmv9q61384fwd2pxccclclc3knc5x212p42w4w49hnm1q"; depends=[MASS lattice]; };
+msos = derive { name="msos"; version="1.0.1"; sha256="0fbxi8x83sj8a6bahc7q28vql00pxqdia2vxb6ilsc459xaph6vc"; depends=[mclust tree]; };
+msr = derive { name="msr"; version="0.4.1"; sha256="1kfj6xq7l32ligc53akiym3s9if87087gan8nqz4w7d8nxp693s7"; depends=[Matrix class glmnet e1071 rgl RColorBrewer colorspace]; };
+mstate = derive { name="mstate"; version="0.2.7"; sha256="0rys25cwr814k8z65206s12yv18dala66b3nlfq882dw5cfpaybl"; depends=[survival RColorBrewer]; };
+mtk = derive { name="mtk"; version="1.0"; sha256="0vq2xlxf86l92fl91qm8m4yfjyz1h8szmwxiics7sc9f0as0dkmy"; depends=[stringr XML sensitivity lhs rgl]; };
+mtsdi = derive { name="mtsdi"; version="0.3.3"; sha256="1hx4m1jnfhkycxizxaklnd9illajqvv1nml8ajfn3kjmrb5z7qlp"; depends=[gam]; };
+muStat = derive { name="muStat"; version="1.7.0"; sha256="18727xj9i9hcnpdfnl1b9wd6cp7wl1g74byqpda2gsrcardl57wz"; depends=[]; };
+muhaz = derive { name="muhaz"; version="1.2.6"; sha256="1b7gzygbb5qss0sf9kdwp7rnj8iz58yq9267n9ffqsl9gwiwa1b7"; depends=[survival]; };
+multcomp = derive { name="multcomp"; version="1.4-0"; sha256="1n1qbg7amk385ryni97qdbzcinpwpxldl3r477r1kfgv8csynxhj"; depends=[mvtnorm survival TH_data sandwich codetools]; };
+multcompView = derive { name="multcompView"; version="0.1-5"; sha256="0vfgvqxqgxyifkqs3r5xxj7rfn8lfmby6wyyiqa5jv01073xchib"; depends=[]; };
+multgee = derive { name="multgee"; version="1.5.1"; sha256="1ycbbri26hahbi3q4mrsyhrh9bwj89dyv6gvrpx58ghrlsnakjy1"; depends=[gnm VGAM]; };
+multiAssetOptions = derive { name="multiAssetOptions"; version="0.1-1"; sha256="1kb4qxyl9shvrpqfxq26lhh3sssmyjcnhhcl6gcbb0s86snh9ms9"; depends=[Matrix]; };
+multiDimBio = derive { name="multiDimBio"; version="0.3.3"; sha256="1aj6yam31mr0abjb6m5m85r1w71snha4s7h4ikyw66sc73xkmb9m"; depends=[ggplot2 lme4 misc3d MASS RColorBrewer]; };
+multiPIM = derive { name="multiPIM"; version="1.4-3"; sha256="0j7d0cgs8zcyiyibzmfhcandad76sf4gm57wkcv98bf96wkls58l"; depends=[lars penalized polspline rpart]; };
+multiband = derive { name="multiband"; version="0.1.0"; sha256="1f4gmy0yf9zid7kl05zncvvig6hs4nl1h9wkrkc24rxx9risw9k9"; depends=[]; };
+multibiplotGUI = derive { name="multibiplotGUI"; version="0.0-1"; sha256="14zgn86zwwdchhr5dzqxxxsf0dy6kny4ixvd77y08454lni0a69r"; depends=[rgl tkrplot RODBC]; };
+multic = derive { name="multic"; version="0.3.8.1"; sha256="06lc9kn0z3s7x00hz8vj903q0c6cncnj4v3ygvd2yvkgcbhfvjd0"; depends=[]; };
+multicon = derive { name="multicon"; version="1.6"; sha256="16glkgnm4vlpxkhf1xw1gl1q10yavx9479i21v29lldag35z8pqx"; depends=[psych abind foreach mvtnorm sciplot]; };
+multicool = derive { name="multicool"; version="0.1-5"; sha256="01a429hyizqjg3dglnm0b3gl1lclp1az40cr3wr9qcx12jn30fbz"; depends=[Rcpp Rcpp]; };
+multigroup = derive { name="multigroup"; version="0.4.4"; sha256="1r79zapziz3jkd654bwsc5g0rphrk9hkp1fpik8jvjsa1cix40mq"; depends=[MASS]; };
+multilevel = derive { name="multilevel"; version="2.5"; sha256="0pzv5xc8p6cpzzv9iq3a3ib1dcan445mm12whf3d6qkz2k4778g6"; depends=[nlme MASS]; };
+multilevelPSA = derive { name="multilevelPSA"; version="1.2.2"; sha256="0z3qnv14sdkfvyw2wjrfz26r7sr7vv3rlr8n4gf99rwv6k34bdsg"; depends=[ggplot2 xtable PSAgraphics plyr psych reshape proto party]; };
+multinbmod = derive { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
+multinomRob = derive { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[rgenoud MASS mvtnorm]; };
+multipleNCC = derive { name="multipleNCC"; version="1.0"; sha256="13z6yq77h1r6kp8wgza58c6yp9a1gqm0w36x534mxbhcmingdw9f"; depends=[survival gam]; };
+multiplex = derive { name="multiplex"; version="1.2"; sha256="06wrzglgrvahavlcknf80cp0j4k840dhmclw9g6wqv51pq9brj2f"; depends=[]; };
+multipol = derive { name="multipol"; version="1.0-6"; sha256="1yjz0p4mcgzs98s61i8315wyhh986jxp8b0lq66375ckpr2ddcss"; depends=[abind]; };
+multirich = derive { name="multirich"; version="2.0.2"; sha256="1lqc4np45p9ar9l8l1m5bdh98fsmhvzj8s0b2mcp9cqrvnhp1irc"; depends=[]; };
+multisensi = derive { name="multisensi"; version="1.0-8"; sha256="168g6hym5chz69wa3vfprg1m1c935wh7bi3gfz5calxiqf89mncz"; depends=[]; };
+multispatialCCM = derive { name="multispatialCCM"; version="1.0"; sha256="1fzd91w10iln8qb81z240lq3fi4gq22l4rh9npkav6fiq6g6rlp8"; depends=[]; };
+multitable = derive { name="multitable"; version="1.6"; sha256="067bgl793wwvb1rhan70ih0ga3dxja2c6zx7fwzml5rqi6p728pr"; depends=[]; };
+multitaper = derive { name="multitaper"; version="1.0-11"; sha256="1s0lmjzpyd7zmc2p1ywv5fm7qkq357p70b76gw9wjlms6d81j1n4"; depends=[]; };
+multivator = derive { name="multivator"; version="1.1-4"; sha256="125ifkpm1pny4rjpzirnwpmpjfg0y8w0rygj0way0p1qwm0l207n"; depends=[emulator mvtnorm]; };
+multiwayvcov = derive { name="multiwayvcov"; version="1.2.1"; sha256="15gxcrg2i1aqbxkif5dmdz81yzqj7a4hq0dcd0narzsvm5b4w9py"; depends=[sandwich boot]; };
+multxpert = derive { name="multxpert"; version="0.1"; sha256="03mvf4m0kabm22vy4zkj1cfh884larpj8cbgg3p9l3pag20snf1l"; depends=[mvtnorm]; };
+muma = derive { name="muma"; version="1.4"; sha256="0midx3wzyvcz8rk9kvsfll3xg41pkz40si4jw2ps54ykkf9rkm99"; depends=[car pdist pls gplots mvtnorm robustbase gtools bitops caTools pcaPP rrcov]; };
+munfold = derive { name="munfold"; version="0.3-3"; sha256="1szm3c1xi1s7r1w6h7xb4x538sbczrblb70a3ysxf4q8c1ihmly9"; depends=[memisc MASS]; };
+munsell = derive { name="munsell"; version="0.4.2"; sha256="1bi5yi0i80778bbzx2rm4f0glpc34kvh24pwwfhm4v32izsqgrw4"; depends=[colorspace]; };
+muscle = derive { name="muscle"; version="3.8.31-4"; sha256="0pijc8x6pwsb6z4061v1r7iwq5lsnia5qn1bikwpxy8ir19nic72"; depends=[]; };
+musicNMR = derive { name="musicNMR"; version="0.0.2"; sha256="09xxc78ajk428yc3617jfxqp5fy89nfc24f1rig6cw28fflwqj0k"; depends=[seewave]; };
+mutoss = derive { name="mutoss"; version="0.1-9"; sha256="170a9ibz6p9w7jkvv03003glrzk6z8jy1z9r4j7481qvrlyrgp6w"; depends=[mvtnorm plotrix multcomp]; };
+mutossGUI = derive { name="mutossGUI"; version="0.1-9"; sha256="1xdby6n0w1155kx6mhinvgqm0ssgyy4443pkq3k88a5s4bfxw5bw"; depends=[mutoss multcomp plotrix rJava JavaGD CommonJavaJars JGR]; };
+mvMORPH = derive { name="mvMORPH"; version="1.0.3"; sha256="14z5bjkljna81hqp06d2jmincspflcb65z4gs5wklgzz3nz0sidm"; depends=[phytools ape corpcor subplex spam]; };
+mvProbit = derive { name="mvProbit"; version="0.1-0"; sha256="0fnrlralydlsf9iphq385f8hpqigfmi8rafvgp443gygvpq5b6g0"; depends=[mvtnorm maxLik abind bayesm miscTools]; };
+mvSLOUCH = derive { name="mvSLOUCH"; version="1.1.5"; sha256="1cq1j4f1k0xhq2ncmji1a4p4m6h7k2afsr39abib4g3md902v0hp"; depends=[ouch ape numDeriv mvtnorm corpcor]; };
+mvShapiroTest = derive { name="mvShapiroTest"; version="1.0"; sha256="0zcv5l28gwipkmymk12l4wcj9v047pr8k8q5avljdrs2a37f74v1"; depends=[]; };
+mvabund = derive { name="mvabund"; version="3.9.3"; sha256="1vr4rw8ivkhmzrpvz2k8v594cavrw88i7nqr9g1mar76d9mpchkx"; depends=[Rcpp MASS tweedie statmod Rcpp]; };
+mvbutils = derive { name="mvbutils"; version="2.7.4.1"; sha256="1vs97yia78xh35sdfv5pj3ddqmy83qgamvyyh9gjg0vdznqhffzg"; depends=[]; };
+mvc = derive { name="mvc"; version="1.3"; sha256="0kmh6vp7c2y9jf71f4a29b0fxcl0h7m4p8wig4dk3fi7alhjf7ym"; depends=[rattle]; };
+mvctm = derive { name="mvctm"; version="1.0"; sha256="1naxjh2k3vv4wlpzzx0y2zwvbn4kdqyls8a8qx6bz609ynzay5r9"; depends=[Formula nlme MNM quantreg Rfit]; };
+mvcwt = derive { name="mvcwt"; version="1.3"; sha256="0fqdyypmszm00rpl04z8kiiw6jd416a0b2rap3dqq3kchnz8h4s2"; depends=[foreach RColorBrewer]; };
+mvglmmRank = derive { name="mvglmmRank"; version="1.0-2"; sha256="0gpp0ibgji86pxscqzcws0d1qn1ciqqvyfb0x2v18580r4cx8jv7"; depends=[Matrix numDeriv]; };
+mvinfluence = derive { name="mvinfluence"; version="0.6"; sha256="1cd5p6cl2zln8madjf3vsbmqlg4nsklzzy6ngdd5glj1a9qapd6c"; depends=[car heplots]; };
+mvmeta = derive { name="mvmeta"; version="0.4.5"; sha256="0faczanbz6i7794sqxm21a6v52cs5hrjjzdypdvi23bkl4mkxjrb"; depends=[]; };
+mvna = derive { name="mvna"; version="1.2-3"; sha256="1gwv17j6w9c38bqvnasv9kfigbdxiqkzwj89gqmkxgw715f9nnpp"; depends=[lattice]; };
+mvnfast = derive { name="mvnfast"; version="0.1.3"; sha256="1ghm6zdrh2ax8r4jin8gka0qjwcsixn5faclf17sr5bx7l5b62np"; depends=[Rcpp Rcpp RcppArmadillo BH]; };
+mvngGrAd = derive { name="mvngGrAd"; version="0.1.4"; sha256="0vipdmbakr1r25jx87cz1xlvrajfzvm9aq1gzg3npz5140pgc3m2"; depends=[]; };
+mvnmle = derive { name="mvnmle"; version="0.1-11"; sha256="02mpmrr22cqb3v8x7kydgg715yl3lrdgzgdqpchmp0xrl2db8gq4"; depends=[]; };
+mvnormtest = derive { name="mvnormtest"; version="0.1-9"; sha256="1iaxjwp7bgxhaa4xqvgqb61316mq2fb0452d0pabhmbxkvmvdnj6"; depends=[]; };
+mvnpermute = derive { name="mvnpermute"; version="1.0.0"; sha256="0mbyj5i5vysrnl3pgypl0cjf3sylsvzfl1pcxkn0q16560vqh2ba"; depends=[]; };
+mvoutlier = derive { name="mvoutlier"; version="2.0.6"; sha256="00kim5i8xdbaqc0l16w1pif5yfqf741x686lq6drb243jl89rfjv"; depends=[sgeostat robCompositions robustbase]; };
+mvprpb = derive { name="mvprpb"; version="1.0.4"; sha256="1kcjynz9s7vrvcgjb9sbqv7g50yiymbpkpg6ci34wznd33f7nrxm"; depends=[]; };
+mvrtn = derive { name="mvrtn"; version="1.0"; sha256="0k0k76wk5zq0cjydncsrb60rdhmb58mlf7zhclhaqmli1cy697k8"; depends=[]; };
+mvsf = derive { name="mvsf"; version="1.0"; sha256="1krvsxvj38c5ndvnsd1m18fkqld748kn5j2jbgdr3ca9m3i5nlwf"; depends=[nortest mvnormtest]; };
+mvtmeta = derive { name="mvtmeta"; version="1.0"; sha256="0g0d4lrz854wkd0dz5aiad54i46aqkfhsq6cpbsfv0w5l2kwiqqz"; depends=[gtools]; };
+mvtnorm = derive { name="mvtnorm"; version="1.0-2"; sha256="0v4a05i92g70vf8xkh6as7566zgjcnpzr1ghhyszqk1f0maw9gxc"; depends=[]; };
+mvtsplot = derive { name="mvtsplot"; version="1.0-1"; sha256="0g5grrha77rsnkfasw5pxnpmkl7vgb728ms8apyg8xnbmgilg9vv"; depends=[RColorBrewer]; };
+mwa = derive { name="mwa"; version="0.4.1"; sha256="0bd4i1zzwmcsrm2bg14f528yav5hb6qxcd7x4i5rwdcx1hlx27bw"; depends=[cem rJava MASS]; };
+mwaved = derive { name="mwaved"; version="1.1.1"; sha256="1hn6nbwawkizv9v4k98hm5lz94yha2fng76x0r9f804whmv1pz36"; depends=[Rcpp shiny Rcpp]; };
+mxkssd = derive { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; };
+myTAI = derive { name="myTAI"; version="0.0.2"; sha256="1qnnlf8c8qkcvl5sh9qd19drlfmjhmy3grxhlnlbz7v11zcbvah8"; depends=[Rcpp nortest fitdistrplus foreach doParallel dplyr Rcpp]; };
+mycobacrvR = derive { name="mycobacrvR"; version="1.0"; sha256="1xd9ackzdd8db6bayza0bg4n256mi9rdqih0cdc0nl212c3iz75g"; depends=[]; };
+mycor = derive { name="mycor"; version="0.1"; sha256="1ibcxl9v2d2mxpwad0rv5dw1j645rrg05f4aqvyhyd40hz9823mr"; depends=[lattice]; };
+myepisodes = derive { name="myepisodes"; version="1.1.1"; sha256="0xk9bwgpl630nhc8qa2pc0rwqbqk3haxnp78gfxq6sn6z7i44k1p"; depends=[XML]; };
+mztwinreg = derive { name="mztwinreg"; version="1.0-1"; sha256="1rg6ikaqdrc7q44s3r3km8h45prnvcpzpxd7nxbmh209iz9j19ai"; depends=[rms mclogit]; };
+nCDunnett = derive { name="nCDunnett"; version="1.0.0"; sha256="0n5zzsdrhra5xql110wrxbfdjm3fwa6qhvnpj89w9ph9nr4ad8gf"; depends=[]; };
+nCal = derive { name="nCal"; version="2015.3-3"; sha256="0vj6l8w29ymj1v18mb4qyw6w1xpmwx5bvil4kjb82gccsb95ir10"; depends=[drc gdata gWidgets kyotil]; };
+nFCA = derive { name="nFCA"; version="0.3"; sha256="1jyyzagmppm3i7vh3ia4ic0zql1w04f66z81v0zpdihd4cbl5ra7"; depends=[]; };
+nFactors = derive { name="nFactors"; version="2.3.3"; sha256="016d76yfxz7gx7zz5dgwjmj2c5m6kxdmqj0lln5w6d70r9g1kxg7"; depends=[MASS psych boot lattice]; };
+nLTT = derive { name="nLTT"; version="1.0"; sha256="0yvsjfrsx48p2gyisdyvisplz61d7kkaw1bkdkj3q11g3xq84hx9"; depends=[ape coda deSolve]; };
+nabor = derive { name="nabor"; version="0.4.4"; sha256="0465wkyggz4665b2ph1qpyxsmak0arfzpxaci1r0lrf5ddyp0n6y"; depends=[Rcpp Rcpp RcppEigen BH]; };
+nadiv = derive { name="nadiv"; version="2.13.2"; sha256="1r63z08k46b6hryxracicsw1hr91x4pgk2x58c9nijdni4my7kkc"; depends=[Matrix]; };
+namespace = derive { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; };
+nanop = derive { name="nanop"; version="2.0-4"; sha256="0795kksw6yry9il8xj21iq13xw6jipqcv5vjs3k7s19dbah2k8pi"; depends=[distrEx rgl]; };
+nasaweather = derive { name="nasaweather"; version="0.1"; sha256="05pqrsf2vmkzc7l4jvvqbi8wf9f46854y73q2gilag62s85vm9xb"; depends=[]; };
+nat = derive { name="nat"; version="1.6.4"; sha256="1a4wr1378y8crmpk150gmzjc12wn4q9l6nbghddizyw9827b5my1"; depends=[rgl nabor igraph filehash digest nat_utils plyr yaml]; };
+nat_nblast = derive { name="nat.nblast"; version="1.5"; sha256="1slpk126fwgn90j3aazlf3pw2ij050dghc1yqadv6mjcj82qpm5i"; depends=[rgl nat nabor dendroextras plyr spam]; };
+nat_templatebrains = derive { name="nat.templatebrains"; version="0.4.1"; sha256="06vqnrwcara4ljkf5wbwqbsfx1ypd8xsv8pbrs5x6hyj5jxnnvaz"; depends=[rgl nat]; };
+nat_utils = derive { name="nat.utils"; version="0.4.2"; sha256="0k5bdqwrbq82bb9ld90ia7b4vjaczba20h231a129rkszsy6sz9v"; depends=[]; };
+naturalsort = derive { name="naturalsort"; version="0.1.2"; sha256="0m8a8z0n5zmmgpmpn5w87j2jfsz1igz3x133z3q25h8jlyaxy750"; depends=[]; };
+nbpMatching = derive { name="nbpMatching"; version="1.4.4"; sha256="0dnj97aj2x81yppw3rayxxaf2bb68l5x5f2852l5xmvpxb73w478"; depends=[Hmisc MASS]; };
+ncappc = derive { name="ncappc"; version="0.1"; sha256="1145y9k718245mzs8q33mjwcln79dmiyawy771zrk3kpxhfb5985"; depends=[ggplot2 gridExtra scales gtable PerformanceAnalytics lattice knitr xtable reshape2]; };
+ncbit = derive { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; };
+ncdf = derive { name="ncdf"; version="1.6.8"; sha256="1vrbrrqij7p712wfrki09749yryzr9lg4p95yqvb0zzggqpw2snm"; depends=[]; };
+ncdf_tools = derive { name="ncdf.tools"; version="0.7.1.291"; sha256="149d89kim67q77w17afc5x7hkvmk05gfkaw6cpl583j2zxingify"; depends=[RNetCDF chron abind plotrix raster RColorBrewer JBTools]; };
+ncdf4 = derive { name="ncdf4"; version="1.13"; sha256="07s1lh5cg4fck7sapfka2skky70max1rfhimblnqf41phndxjcsv"; depends=[]; };
+ncdf4_helpers = derive { name="ncdf4.helpers"; version="0.3-3"; sha256="051akd7r6zx805a0xwcs95q5sd8alag0f1gzqjk3n188q8r3ji5j"; depends=[ncdf4 PCICt abind]; };
+ncf = derive { name="ncf"; version="1.1-5"; sha256="03nbmg9swxhpwrmfjsanp6fj5l2nw160sys70mj10a0ljlaf904z"; depends=[]; };
+ncg = derive { name="ncg"; version="0.1.1"; sha256="1jzkzp61cc5jxmdnl867lcrjjm7y2iw9imzprbd098p1j3w8fvj7"; depends=[]; };
+ncvreg = derive { name="ncvreg"; version="3.3-0"; sha256="0kwqfk9sp01x1k708qqr99cd8gkhr0jqjkfz1l7g0b6w6wm0yavb"; depends=[]; };
+ndl = derive { name="ndl"; version="0.2.16"; sha256="1l56kg3x4579hzr4sig3iwrd81rhm8nmmrqfs54zxqv5yxpk3hp4"; depends=[Rcpp MASS Rcpp]; };
+ndtv = derive { name="ndtv"; version="0.5.1"; sha256="0cvqpr74als10zhdravbc7ykacy3ll7y5fx4n5jik0avwcaclgkc"; depends=[network networkDynamic animation sna MASS statnet_common]; };
+neariso = derive { name="neariso"; version="1.0"; sha256="1npfd5g5xqjpsm5hvhwy7y84sj5lqw9yzbnxk6aqi80gfxhfml4c"; depends=[]; };
+needy = derive { name="needy"; version="0.2"; sha256="1ixgpnwrg6ph1n5vy91qhl1mqirli9586nzkmfvzjrhdvrm0j5l0"; depends=[]; };
+negenes = derive { name="negenes"; version="1.0-1"; sha256="0g8m3idjm24cf9b1wngw2pv1axgnv9mk5wqs78zgwvn0m67ypsiz"; depends=[]; };
+neldermead = derive { name="neldermead"; version="1.0-10"; sha256="1snavf90yb12sydic7br749njbnfr0k7kk20fy677mg648sf73di"; depends=[optimbase optimsimplex]; };
+nephro = derive { name="nephro"; version="1.1"; sha256="06lxkk67n5whgc78vrr7gxvnrz38pxlsj4plj02zv9fwlzbb9h6p"; depends=[]; };
+nestedRanksTest = derive { name="nestedRanksTest"; version="0.1"; sha256="12pqxldyzy2i2gc575rx67zdfb8c9j0fv400nw509cwx5w6ya35x"; depends=[]; };
+netClass = derive { name="netClass"; version="1.2.1"; sha256="04yrj71l5p83rpwd0iaxdkhm49z9qp3h6b7rp9cgav244q060m9y"; depends=[kernlab Matrix ROCR igraph samr]; };
+netassoc = derive { name="netassoc"; version="0.4.3"; sha256="153zgnmk9qjcxhfdy9g1fkgjx0vpyv55gmj4spk664igvw6kicf3"; depends=[igraph]; };
+netgen = derive { name="netgen"; version="1.0"; sha256="01j5s80k658wcp8ml2kyf10dvajp4crrxcad65rs03grak1q5mkv"; depends=[BBmisc mvtnorm lhs ggplot2 lpSolve checkmate]; };
+netgsa = derive { name="netgsa"; version="2.0"; sha256="04id2wcrmi0lqvn4a8qhqkc3z076b8xd7jhw9hsmaz21g9cxdfx8"; depends=[cvTools corpcor glasso glmnet igraph]; };
+netmeta = derive { name="netmeta"; version="0.7-0"; sha256="0nsy817bj3fh4sz632pljyjn7jphg9w389hhdcyjvkb7i43c9v5c"; depends=[meta magic]; };
+nets = derive { name="nets"; version="0.1"; sha256="0zshiavdi1z8mq6q93vsyb5wx5nq37qln9gcyvamvi2pgy5xg4k2"; depends=[igraph]; };
+nettools = derive { name="nettools"; version="1.0.1"; sha256="13fw316r31g9cjlbyy9qfccsyagxb6pyvn5k32f166b7vj92mk1q"; depends=[rootSolve dtw WGCNA Matrix minerva combinat igraph]; };
+netweavers = derive { name="netweavers"; version="1.1"; sha256="0p8hb3m0lbkf0pw9vdhv94spdba432klpqgn07jvxfhfhmr8cyz0"; depends=[igraph]; };
+network = derive { name="network"; version="1.11.3"; sha256="1sp55dzf2g5znybppd1w3bmkxfx8vqh98pws438r5wwln2pjdcs2"; depends=[]; };
+networkD3 = derive { name="networkD3"; version="0.1.2.1"; sha256="0xc3qbcb0xvdfvx2vb68rzif72x3zna32wrhz9lg9s7dfkz4xmfm"; depends=[htmlwidgets plyr rjson]; };
+networkDynamic = derive { name="networkDynamic"; version="0.7.1"; sha256="0iv4lyfxmjllxk0cx09gdrg7zf2myf57wd3a2gqymids5gvpsy2d"; depends=[network statnet_common network]; };
+networkDynamicData = derive { name="networkDynamicData"; version="0.1.0"; sha256="1vln4n8jldqi1a6qb9j9aaxyjb8pfgwd8brnsqr8hp9lm3axd24b"; depends=[networkDynamic network]; };
+networkTomography = derive { name="networkTomography"; version="0.3"; sha256="1hd7av231zz0d2f9ql5p6c95k7dj62hp0shdfshmyfjh8900amw7"; depends=[coda igraph KFAS limSolve plyr Rglpk]; };
+networkreporting = derive { name="networkreporting"; version="0.0.1"; sha256="1vfvx5gf90p31gy6kcv7l2ibzbfl382gffa79dl8gascbsg6s8z8"; depends=[functional ggplot2 plyr reshape2 stringr]; };
+networksis = derive { name="networksis"; version="2.1-2"; sha256="05x0mp9ig7nff1js0zv7hq8p7jr7dqscs46zlbrxrrcy1waydb0s"; depends=[ergm network]; };
+neuRosim = derive { name="neuRosim"; version="0.2-12"; sha256="1hsnw9xipdr74fydq9013252ycbi9igh28s0j4dbdx52pv3iixzl"; depends=[deSolve]; };
+neural = derive { name="neural"; version="1.4.2.2"; sha256="05hrqgppgwp38rdzw86naglxj0bz3wqv04akq7f0jxbbjc6kwy4j"; depends=[]; };
+neuralnet = derive { name="neuralnet"; version="1.32"; sha256="0p9r5j8q0flv15wn5s6qi9if7npna107l1ffv37nzx1b4vgswnl9"; depends=[MASS]; };
+neuroblastoma = derive { name="neuroblastoma"; version="1.0"; sha256="0hs87fvwaq53xxbh2dw3hjsmf1zkyqli9qyacxf72fnkyhhl8b45"; depends=[]; };
+neuroim = derive { name="neuroim"; version="0.0.3"; sha256="0n5jkyvdaiigv51s5bb508w5xkh0qkd1zbs67nnms14s1664fhiz"; depends=[stringr hash iterators abind Matrix yaImpute]; };
+ngram = derive { name="ngram"; version="1.1"; sha256="0p5wm55anch1i0y3478f5d4sivs7q8j3kwlg89nk3337win06499"; depends=[]; };
+ngramr = derive { name="ngramr"; version="1.4.5"; sha256="1cqapla0lknxl669w5x3av9nr4vy9qrfznznqj22xlqaj0p53c18"; depends=[httr RCurl plyr rjson stringr reshape2 ggplot2 scales]; };
+ngspatial = derive { name="ngspatial"; version="1.0-5"; sha256="0dd7gm6irq08054ndj2gykz4nnfqfq3wbivg6fmlkdnn18kbckkk"; depends=[Rcpp batchmeans Rcpp RcppArmadillo]; };
+nhlscrapr = derive { name="nhlscrapr"; version="1.8"; sha256="0y2shw3g84flh88a15czdsb62xwdqxhvzkn4kpbn0k9ddyfzxc48"; depends=[RCurl rjson biglm bitops]; };
+nice = derive { name="nice"; version="0.4"; sha256="1alq8n8pchn9v0fvwrifdisazkh519x109bqgnpgnwf79wblmnhy"; depends=[]; };
+nicheROVER = derive { name="nicheROVER"; version="1.0"; sha256="0sa7wfpzkin78vz48vwa5iac82v5l1s3zczdxz8sc2kyg22fj0aw"; depends=[mvtnorm]; };
+nlADG = derive { name="nlADG"; version="0.1-0"; sha256="0nvd5hzd1p81jwx5p7js86wblgg615vdnpbvy5rhmhf1ig583z1b"; depends=[ggm]; };
+nlWaldTest = derive { name="nlWaldTest"; version="1.0.1"; sha256="1rwpkkddivpcamhsp22nmy5gz2006y9kbdzj8lhh20s1vsyhn2b3"; depends=[stringr numDeriv]; };
+nleqslv = derive { name="nleqslv"; version="2.6"; sha256="100nncpi2sx7flcxrl16csv7yprwan20ih1gydz6as5cg3k3lx9i"; depends=[]; };
+nlme = derive { name="nlme"; version="3.1-120"; sha256="1ji8nrf714nf18by9g7k4czkgnj1cq464pvjv195c5fnhwhmpmjc"; depends=[lattice]; };
+nlmeODE = derive { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve nlme lattice]; };
+nlmeU = derive { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; };
+nlmrt = derive { name="nlmrt"; version="2013-9.25"; sha256="0z2ih61rpqzk64qagiwbx396vwb28jhqk8b4kxchca0il3fzqqav"; depends=[]; };
+nloptr = derive { name="nloptr"; version="1.0.4"; sha256="1cypz91z28vhvwq2rzqjrbdc6a2lvfr2g16vid2sax618q6ai089"; depends=[]; };
+nlreg = derive { name="nlreg"; version="1.2-2"; sha256="1pi7057ldiqb12kw334iavb4i92ziy1kv4amcc4d1nfsjam03jxv"; depends=[statmod survival]; };
+nls2 = derive { name="nls2"; version="0.2"; sha256="0k46i865p6jk0jchy03jiq131pc20h9crn3hygzy305rdnqvaccq"; depends=[proto]; };
+nlsMicrobio = derive { name="nlsMicrobio"; version="0.0-1"; sha256="0676n78265z00dacmq593c9l2239ii574djm9s7i7w8jk1kdhzx2"; depends=[nlstools]; };
+nlsem = derive { name="nlsem"; version="0.3"; sha256="1lpp6f6nby1rzxv7hrqnm4qbwj406g9ls9jmidb8rqgy177sk4w6"; depends=[gaussquad mvtnorm nlme]; };
+nlsmsn = derive { name="nlsmsn"; version="0.0-4"; sha256="1gvpy8rq020l64bdw6n7kv354l7gwa2rgxarm6k0mqq7z21fxf58"; depends=[]; };
+nlstools = derive { name="nlstools"; version="1.0-1"; sha256="00m2x587gvrbgs7wdkz2n54ylp0rnrs76rb6xmi3pf9xlbmnplr2"; depends=[]; };
+nlt = derive { name="nlt"; version="2.1-3"; sha256="1j0xrrbr1hvfda8rvnc17lj96m6cz24faxvwn68ilf7j1ab2lkgn"; depends=[EbayesThresh adlift]; };
+nlts = derive { name="nlts"; version="0.2-0"; sha256="14kvzc1p4anj9f7pg005pcbmc4k0917r49pvqys9a0a51ira67vb"; depends=[locfit acepack]; };
+nmcdr = derive { name="nmcdr"; version="0.3.0"; sha256="1557pdv7mqdjwpm6d9zw3zfbm1s8ai3rasd66nigscmlq102w745"; depends=[CDFt]; };
+nnet = derive { name="nnet"; version="7.3-9"; sha256="1z1lhi35w5l7l645d764w9h4aiv6hapjv8fwb9b51b36vyg1r0zg"; depends=[]; };
+nnlasso = derive { name="nnlasso"; version="0.1"; sha256="0pqpkq8vb18qm8rj16wx3z6fb7mgkb8ddw00c701d5mi9gqhaf5c"; depends=[]; };
+nnls = derive { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; };
+nodeHarvest = derive { name="nodeHarvest"; version="0.6"; sha256="16151rwmqkf5vlyrlxlirz8s0nimxppx1f7f4pwfxi9vipwph125"; depends=[quadprog randomForest]; };
+nodiv = derive { name="nodiv"; version="1.0.2"; sha256="0a8p5q1r68gmwv73557xgwxp9xwh8yw287yr71lplc1dx8fxjjny"; depends=[picante raster ape sp vegan]; };
+noia = derive { name="noia"; version="0.97.1"; sha256="0yldfmnb4ads4s9v9cj1js8zf1w1hxasqq6qjyzwknmvmp7kh62h"; depends=[]; };
+noncensus = derive { name="noncensus"; version="0.1"; sha256="0cfj17bfzddfshhhzv2ijhrp9ylcscmsysswjcsjfxmy3gbkd00q"; depends=[]; };
+nonlinearTseries = derive { name="nonlinearTseries"; version="0.2.1"; sha256="1pq93g25arnc68kyvv6ymywdvbqv6620dvqzv1l43c1xssw364bc"; depends=[Matrix rgl tseries TSA]; };
+nonnest2 = derive { name="nonnest2"; version="0.2"; sha256="0z2ihnhphf6c9cklj1l81kqgyz1h9wl2ziwx7s0ssn3dfgw4fnp7"; depends=[CompQuadForm mvtnorm sandwich]; };
+nonparaeff = derive { name="nonparaeff"; version="0.5-8"; sha256="1kkn68m7cqlzx3v539cjxw3x5a2y86lvmyv2k98s87m3yvqg0gdk"; depends=[lpSolve gdata Hmisc rms geometry psych pwt]; };
+nonrandom = derive { name="nonrandom"; version="1.42"; sha256="0icm23hw593322z41wmjkwxqknh2pa9kpzbrch7xw1mhp93sd5ll"; depends=[lme4]; };
+nontarget = derive { name="nontarget"; version="1.7"; sha256="1hnqkb8bpp89y42gjrfh7m3lxhif9dyhcmr6yfss8x3lzf018gk2"; depends=[enviPat nontargetData mgcv]; };
+nontargetData = derive { name="nontargetData"; version="1.1"; sha256="07cdbpmn64sg4jfhljdcx503d55azyz58x7nkji044z3jmdryzqw"; depends=[]; };
+nopp = derive { name="nopp"; version="1.0.4"; sha256="00wn0pnqpy9xll0aa8ah45ldgk1ziw464x8zkc8iq4l2a22lgn4v"; depends=[mlogit]; };
+nor1mix = derive { name="nor1mix"; version="1.2-0"; sha256="1s92bwpwq9p0d06adclm43yqq0k7ifv8lknn1scxg8nj4g03qjhs"; depends=[]; };
+norm = derive { name="norm"; version="1.0-9.5"; sha256="01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"; depends=[]; };
+normalp = derive { name="normalp"; version="0.7.0"; sha256="1s12x2qln3s4bbqsm4p3cq4g6461z73r858g6ym1awamhbmncnrl"; depends=[]; };
+normtest = derive { name="normtest"; version="1.1"; sha256="073r2mwfs6c4vqh8921nlyygl0f20nhv997s0iwf00d3jckkc4pp"; depends=[]; };
+normwhn_test = derive { name="normwhn.test"; version="1.0"; sha256="1kr45bfydk40hgdg24i2f28cdaw65hg9gmsgv4lsvvr2m3r74vi6"; depends=[]; };
+nortest = derive { name="nortest"; version="1.0-3"; sha256="0kih1r703hjw2vha2hx13vm3fvbyra7v229khgv3hxxfppb7jis8"; depends=[]; };
+nose = derive { name="nose"; version="1.0"; sha256="17l78vmfqc22inq6zaqpnk2m91wp0nfjbbwfcpfqykf8lk9ipqna"; depends=[]; };
+notifyR = derive { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; };
+noweb = derive { name="noweb"; version="1.0-4"; sha256="17s65m1m8bj286l9m2h54a8j799xaqadwfrml11732f8vyrzb191"; depends=[]; };
+np = derive { name="np"; version="0.60-2"; sha256="0zs1d4mmgns7s26qcplf9mlz9rkp6f9mv7abb0b9b2an23y6gmi5"; depends=[boot cubature]; };
+npIntFactRep = derive { name="npIntFactRep"; version="1.2"; sha256="0fx5923wdzz6122bbyil5imwbhgwlm50wcrscy78qdx8n4n07rv8"; depends=[ez plyr]; };
+nparLD = derive { name="nparLD"; version="2.1"; sha256="1asq00lv1rz3rkz1gqpi7f83p5vhzfib3m7ka1ywpf2wfbfng27n"; depends=[MASS]; };
+nparcomp = derive { name="nparcomp"; version="2.6"; sha256="111ypwyc885lvn64a5sb2k552j6wr3iihmhgx5y475axdiva5pzf"; depends=[multcomp mvtnorm]; };
+npbr = derive { name="npbr"; version="1.0"; sha256="12s25vn4f0373y2ijmpam0an4p64xr3m71xgf20g5przmr77bm0a"; depends=[Rglpk Benchmarking]; };
+npcp = derive { name="npcp"; version="0.1-1"; sha256="0b2mqx0zrvai5aw6b47qpi4bwcfjrv0bh8ahrgx7n1sf045grm3a"; depends=[]; };
+npde = derive { name="npde"; version="2.0"; sha256="1cp4k7jvsw9rc6rrck902nqqjaf2c1nxjic7i9r3fd6yca1lgqb9"; depends=[mclust]; };
+nplplot = derive { name="nplplot"; version="4.5"; sha256="1dpbs0jb34gv0zj528357z1j2pwahjbp04rm7jir6qk0jhyaxxgh"; depends=[]; };
+nplr = derive { name="nplr"; version="0.1-1"; sha256="0br7flriqbig8frq0j4lxiv6i8bwgsj422faln85ga93hnlky0a1"; depends=[]; };
+npmlreg = derive { name="npmlreg"; version="0.46-1"; sha256="1gddl6diw8ix8vz7n1r4ps9cjx3q00mafpapskjk7pcz69m6hfv1"; depends=[statmod]; };
+npmv = derive { name="npmv"; version="2.2"; sha256="1aqlx1y3bxbqp13q0vajwffj8srb6s04d5r2h08m9fk5hhp9l3jf"; depends=[Formula]; };
+nppbib = derive { name="nppbib"; version="1.0-0"; sha256="075jb13zckkh66jwdmdlq4d2drjcc3lkj26px3w79b91223yymf2"; depends=[]; };
+npsm = derive { name="npsm"; version="0.5"; sha256="12jq6ygp3di5rknh7izrr3bxvpn6bqnj3jhfxzf29yf0bd86hzqk"; depends=[Rfit plyr]; };
+npsp = derive { name="npsp"; version="0.3-6"; sha256="1wiv4gp3y1c26xaq8zssias3j3h8mpb6izcmcarghvnfhj32l8jb"; depends=[quadprog]; };
+npst = derive { name="npst"; version="2.0"; sha256="1y5ij3nmh9pj6p97jpx75g26sk508mznr0l67cwj381zfb77hj1n"; depends=[]; };
+nsRFA = derive { name="nsRFA"; version="0.7-12"; sha256="182zshwyg0l6shb5wcwibqygxs8qmgma9c4s683za8q3f9l94aqj"; depends=[]; };
+nscancor = derive { name="nscancor"; version="0.6"; sha256="1wkk08h8yz2mzgvmq0vr30iiczpbp0304vjwxqgsa3h240m4awsm"; depends=[]; };
+nsga2R = derive { name="nsga2R"; version="1.0"; sha256="04jj0a3isfc348vg46il5x9l33cr7xawz5w0mm4pwr6djhd8nfhx"; depends=[mco]; };
+nsgp = derive { name="nsgp"; version="1.0.5"; sha256="0piajjz3r71dnjw7lwpjhbaygxcrbbxfvhf8p3n2izyr2pw5fml9"; depends=[MASS]; };
+nsprcomp = derive { name="nsprcomp"; version="0.5"; sha256="1rrjiwkpiaqlp27s5xfd6jwmmpzgxm5d7874gp33511wa0vrhnnf"; depends=[]; };
+nullabor = derive { name="nullabor"; version="0.3.1"; sha256="0anwla6x9y2i7yd6r0yi1xhy0zfqwfpp5h1f18gji11nmiva9d81"; depends=[ggplot2 MASS plyr dplyr moments fpc]; };
+numDeriv = derive { name="numDeriv"; version="2012.9-1"; sha256="09s00a1wddpq5556mz87vdmx045rhjrx1w8f2a37m8hljghy86k9"; depends=[]; };
+numOSL = derive { name="numOSL"; version="1.7"; sha256="1hgyjjxpirgf2vmn273s861mnpyq2363kaafnkzgbcg0s08xxj1r"; depends=[]; };
+numbers = derive { name="numbers"; version="0.5-6"; sha256="17v7by1gvqg2mdm5vrmf05kfrbvc2yz8ldb7bd0lrhcyrm5bbbwa"; depends=[gmp]; };
+nutshell = derive { name="nutshell"; version="2.0"; sha256="1v11g5wqyxnj29b7akl0cwa34hcqs79ijbiv735pg3df4ggyrzvm"; depends=[nutshell_bbdb nutshell_audioscrobbler]; };
+nutshell_audioscrobbler = derive { name="nutshell.audioscrobbler"; version="1.0"; sha256="10fvc5d22gnfb0bkgbww48f0vvcaja96g5gfv85kap939j11172j"; depends=[]; };
+nutshell_bbdb = derive { name="nutshell.bbdb"; version="1.0"; sha256="19c4047rjahyh6wa6kcf82pj09smskskvhka9lnpchj13br8rizw"; depends=[]; };
+nws = derive { name="nws"; version="1.7.0.1"; sha256="1fn92n6brjhh8hpvhax7211cphx2cn0rl99kjqksig6z7242c316"; depends=[]; };
+nycflights13 = derive { name="nycflights13"; version="0.1"; sha256="15bqaphxwqpdzr4bkn6qgbjb3knja5hk34qxjd6xhpjzkgfs5c0b"; depends=[]; };
+oaxaca = derive { name="oaxaca"; version="0.1.2"; sha256="1ghdrpjp2p4nlwskvs8n8d8ixzf3cdq9k9q49zvq8ag0dhwyswzd"; depends=[Formula ggplot2 reshape2]; };
+objectProperties = derive { name="objectProperties"; version="0.6.5"; sha256="0wn19byb1ia5gsfmdi6cj05pnlxbr3zcrjabjg3g1d7b58nz7wlh"; depends=[objectSignals objectSignals]; };
+objectSignals = derive { name="objectSignals"; version="0.10.2"; sha256="1rcgfq1i3nz2q93vv4l069f3mli1c6fd5dhhhw1p7cc4sy81008w"; depends=[]; };
+obliclus = derive { name="obliclus"; version="0.9"; sha256="000r1dx4zbgjxrfs66c1yazm0w6q2z0z1scf45g2qj5ykcm9ylma"; depends=[]; };
+oblique_tree = derive { name="oblique.tree"; version="1.1.1"; sha256="01vyc46gz7qx8fc5bg3zbhjyhnmfgjii120a915vmr38cs51qhqh"; depends=[tree glmnet nnet]; };
+obliqueRF = derive { name="obliqueRF"; version="0.3"; sha256="1bwlgv820mmpc6vg26bsdlfy2p78586i3y42hkzbw3z1fmwq3pz5"; depends=[ROCR pls mda e1071]; };
+obs_agree = derive { name="obs.agree"; version="1.0"; sha256="191xshnrncjqzwd2rdq334vsx0338q3y3k1nbm04hdaysbnla9jv"; depends=[]; };
+obsSens = derive { name="obsSens"; version="1.3"; sha256="1vfm1mzsycwkqa39vf3fcdv1s6adps9hw1rxlvl8v9kq746hcabw"; depends=[]; };
+oc = derive { name="oc"; version="0.95"; sha256="1zmy34fsqcd4rq0v72r514k6gm3jmf9a5zv4m6kj09hl89xvqsci"; depends=[pscl]; };
+occ = derive { name="occ"; version="1.0"; sha256="1rpgq6mqrdzz52ln897f5k8yyz5i14s3lxqmy3nwsxf3q2bdf3yh"; depends=[]; };
+oce = derive { name="oce"; version="0.9-14"; sha256="03vp83504pwjk6wbx5l4s31qvxfyd3g38snvfvp8b0pvnlv8f2fh"; depends=[mapproj]; };
+ocean = derive { name="ocean"; version="0.2-4"; sha256="1554iixfbw3k6w9xh3hgbiygszqvj5ci431cfmnx48jm27h2alqg"; depends=[ncdf4 proj4]; };
+ocedata = derive { name="ocedata"; version="0.1.2"; sha256="0kic6m09a66zc5fxh9fkqk7rp3mnpf0p6i1qy2irh3bj9ccmdkvk"; depends=[]; };
+odfWeave = derive { name="odfWeave"; version="0.8.4"; sha256="1rp9j3snkkp0fqmkr6h6pxqd4cxkdfajgh4vlhpz56gr2l9j48q5"; depends=[lattice XML]; };
+odfWeave_survey = derive { name="odfWeave.survey"; version="1.0"; sha256="0cz7dxh1x4aflvfrdzhi5j64ma5s19ma8fk9q2m086j11a1dw3jn"; depends=[odfWeave survey]; };
+oem = derive { name="oem"; version="1.02.1"; sha256="0z9k0jhpp5dayyin6v8p26rgl8s983hnpsk195c9z458i7nbmrpd"; depends=[Rcpp Rcpp RcppArmadillo]; };
+okmesonet = derive { name="okmesonet"; version="0.1.5"; sha256="1kzyzmg702ayzphn9jsk64m51mlnz37ylxiwq5gsr23vaiida680"; depends=[plyr]; };
+omd = derive { name="omd"; version="1.0"; sha256="0s1wcgivqapbkzjammga8m12gqgw113729kzfzgn02nsfzmsxspv"; depends=[]; };
+oncomodel = derive { name="oncomodel"; version="1.0"; sha256="1jyyq9znffiv7rg26mjldbwc5yi2f4f8npsd2ykhxyacb3g96fp1"; depends=[ade4]; };
+onemap = derive { name="onemap"; version="2.0-4"; sha256="00xmhm5qy0ycw0mnlyl20vfw0wxmpb36f07k0jj92c4zbpwjiygx"; depends=[tkrplot]; };
+onion = derive { name="onion"; version="1.2-4"; sha256="0x3n9mwknxjwhpdg8an0ilix5cb8dyy5fqnb6nxx7ww885k0381a"; depends=[]; };
+onlinePCA = derive { name="onlinePCA"; version="1.0-1"; sha256="0gca0ijcc30b3z5i390n1yk6c7sc15z8d0zpxpfb3hh99g7vinx4"; depends=[rARPACK Rcpp Rcpp RcppArmadillo]; };
+onls = derive { name="onls"; version="0.1-0"; sha256="1kfgikswddly9lar6wa1hhz89rap0pql9h181s7i68wa20xdg05z"; depends=[minpack_lm]; };
+opefimor = derive { name="opefimor"; version="1.1"; sha256="0xv57l38wx3w67h312g5xcpi9m7ggd6crqvqjh5gddq0g1g93bjq"; depends=[]; };
+openNLP = derive { name="openNLP"; version="0.2-4"; sha256="11zgqi8ydv6pqjs1sbi9gsh2fxg6jyaba16h5kbi15rc75fcvw47"; depends=[NLP openNLPdata rJava]; };
+openNLPdata = derive { name="openNLPdata"; version="1.5.3-1"; sha256="1a048irgv56yi2lvhpqh8vh4dl7g7zfg934qypjxg8mcdcqi820y"; depends=[rJava]; };
+openair = derive { name="openair"; version="1.1-5"; sha256="1i0vif16n4y3m64q3ryrkh725b5j6b7b1g58hwz5hxzj4m2fls7l"; depends=[lazyeval dplyr maps plyr reshape2 mgcv lattice latticeExtra cluster RColorBrewer mapproj hexbin mapdata RgoogleMaps Rcpp Rcpp]; };
+opencpu = derive { name="opencpu"; version="1.4.6"; sha256="19anprhkwqw2kii417qy3laalrlj207zfvklc05m0vz9sra7sxj0"; depends=[evaluate httpuv knitr jsonlite devtools httr brew openssl]; };
+openintro = derive { name="openintro"; version="1.4"; sha256="1k6pzlsrqikbri795vic9h191nf2j7v7hjybjfkrx6847c1r4iam"; depends=[]; };
+openssl = derive { name="openssl"; version="0.3"; sha256="0h71jc1w99qg4y01q6j3yhmjhwf06r9pv150id2ls5f1z3hr0l6p"; depends=[]; };
+opentraj = derive { name="opentraj"; version="1.0"; sha256="13nqal96199l8vkgmkvl542ksnappkscb6rbdmdapxyi977qrgxk"; depends=[plyr maptools openair raster rgdal reshape doParallel foreach sp]; };
+openxlsx = derive { name="openxlsx"; version="2.4.0"; sha256="1jzq3lz9qivsprmn8aibwiidcwsanlnfpmsz2ccw3650gdgk3zdk"; depends=[Rcpp Rcpp]; };
+operator_tools = derive { name="operator.tools"; version="1.3.0"; sha256="0y5f0ifj4gaq03gm44vdvslcs7lglk1p8kq47mdc0gc1yfa6l00c"; depends=[]; };
+operators = derive { name="operators"; version="0.1-7"; sha256="1qik9ihv5blz77bzsnrslf665ndpa8vp3xldqsgvs4gr5bg5algw"; depends=[]; };
+ops = derive { name="ops"; version="1.0"; sha256="0cvwyn5sz5lx8sin8w4k8ymslfl4nfaa012a9vcl2hvp4850rk25"; depends=[]; };
+optAUC = derive { name="optAUC"; version="1.0"; sha256="0j1llzqa3n7kqw3i5bb7284z0hi6s5jbjfl9zap0l7xf6hg4x1dn"; depends=[MASS]; };
+optBiomarker = derive { name="optBiomarker"; version="1.0-27"; sha256="1kkj602d4klwyd8kylawgfysg8dlp2g6j7afkppzv5x8mbhs5ji4"; depends=[rpanel rgl MASS randomForest e1071 ipred msm Matrix]; };
+optR = derive { name="optR"; version="1.1.1"; sha256="1lr5n0g21jayb27b2j8zh16f1k28avzg7k2mwyc7rjhhxv8k9w1j"; depends=[]; };
+optextras = derive { name="optextras"; version="2013-10.28"; sha256="1sm025xwrpm5c63l4kiqfndxb7rwq2bcmidy4k2b24g5a8x7cpfv"; depends=[numDeriv]; };
+optiRum = derive { name="optiRum"; version="0.35"; sha256="0hfby5791jmzpacd8a4jj45b6sr5fph9g24kv6sr9db35y07ca36"; depends=[data_table ggplot2 AUC knitr plyr scales stringr XML]; };
+optimbase = derive { name="optimbase"; version="1.0-9"; sha256="0ivz24kf3yacgq5bl3s3az1pcyhsz0cza5f8vdksy5gchwqplm8n"; depends=[Matrix]; };
+optimsimplex = derive { name="optimsimplex"; version="1.0-5"; sha256="1aiq0w2zlra3k6x4hf2rglb6bj8w25yc8djnpgm508kkrbv3cc17"; depends=[optimbase]; };
+optimx = derive { name="optimx"; version="2013.8.7"; sha256="0pbd7s02isj24npi4m1m1f008xqwzvwp3kn472wz8nmy4zrid30s"; depends=[numDeriv ucminf BB Rcgmin Rvmmin minqa setRNG dfoptim svUnit]; };
+optiscale = derive { name="optiscale"; version="1.1"; sha256="1c263w9df66m7lgvzpdfm2zwx9nj8wcdpgh5gijachr2dzffmrp2"; depends=[lattice]; };
+optmatch = derive { name="optmatch"; version="0.9-3"; sha256="16mhrhdpyqrj1g24mwc3fl0qyqq1kna8z6cj239fpbjhqb1mirjb"; depends=[digest]; };
+optparse = derive { name="optparse"; version="1.3.0"; sha256="02sy28imvssr49pngdbg9qbx1h1fyjl11j7nql55m10a7cdzhwd4"; depends=[getopt]; };
+optpart = derive { name="optpart"; version="2.1-1"; sha256="0m2nsrynqbw9sj7cp7c37grx9g20dld2f26g0xzbj16wz7whgp02"; depends=[cluster labdsv MASS plotrix]; };
+optrees = derive { name="optrees"; version="1.0"; sha256="1zqpjii8dsfs98n58qpif81ckvyxkr0661svhlbgzi19xb2vszqs"; depends=[igraph]; };
+orQA = derive { name="orQA"; version="0.2.1"; sha256="0vivjrpcbql42y078gi91kfpfdpv73j23jkiv8fpazzwzdi8ydqq"; depends=[Rcpp gtools nlme Rcpp]; };
+ora = derive { name="ora"; version="2.0-1"; sha256="0albxqma220rnrpfdq3z9cawr83q1a0zzczbbcy4nijjm4mswphy"; depends=[DBI ROracle]; };
+orca = derive { name="orca"; version="1.1"; sha256="138qqjklwd3g4dfg9j2438kzpsdc7sf8qdl8ha4kd276n71vkfrh"; depends=[]; };
+orclus = derive { name="orclus"; version="0.2-5"; sha256="0kkxhyqjxib862npinzf3mipqg5imgscdmb5wqm8wf2j2mbislsx"; depends=[]; };
+orcutt = derive { name="orcutt"; version="1.1"; sha256="0hz7aw4jpf4l7ihj4bjnjv1m8ynr71n4l12x046qj8y7mrnl9p4k"; depends=[]; };
+ordBTL = derive { name="ordBTL"; version="0.8"; sha256="09x3zfmss4fsh3rjghgmpv8y34dnkz4mw696b3k3nvlgk55a1423"; depends=[caret VGAM wikibooks gtools]; };
+ordPens = derive { name="ordPens"; version="0.2-1"; sha256="1kcxjfr2ncnqg293ph509hpgzzn5s4ih2kd8agl335zlxcksz3fp"; depends=[grplasso mgcv RLRsim]; };
+orddom = derive { name="orddom"; version="3.1"; sha256="165axs15fvwhrp89xd87l81q3h2qjll1vrwcsap645cwvb85nwsh"; depends=[psych]; };
+orderbook = derive { name="orderbook"; version="1.03"; sha256="0dlvjrzdhhh8js4g1lvxs46q7fdxfxavxnb4nj6xlwca75i51675"; depends=[lattice hash]; };
+orderedLasso = derive { name="orderedLasso"; version="1.7"; sha256="0vrh89nrmpi8xscvambcb1y70gqqi5819a2gxh02h4pnyjn8axql"; depends=[Matrix Iso quadprog ggplot2 reshape2]; };
+ordinal = derive { name="ordinal"; version="2015.1-21"; sha256="1vhkxdsapmah09vzy6xd00kb1ck02vbiyamv5ccflxdbdmch1q1y"; depends=[ucminf MASS Matrix]; };
+ordinalgmifs = derive { name="ordinalgmifs"; version="1.0.2"; sha256="1rbn2mb516hdr0chny1849m1aq0vb0vmr636b4fp914l5zh75vgi"; depends=[]; };
+ore = derive { name="ore"; version="1.1.0"; sha256="1khgjd5fl8vi9n9pj4nbai6fbfbiwzc121a0gf7dfk727iid8whq"; depends=[]; };
+orgR = derive { name="orgR"; version="0.9.0"; sha256="1q4qbwnbhmja8rqiph7g7m4wxhzhk9mh91x1jgbnky8bs4ljdgrx"; depends=[ggthemes ggplot2 lubridate data_table stringr]; };
+orientlib = derive { name="orientlib"; version="0.10.3"; sha256="1qi46hkz73b8722zc3w6wvsq1ydlk37yxn9rd1dqygqbs1svkmvv"; depends=[]; };
+orloca = derive { name="orloca"; version="4.2"; sha256="14accc5kcvvin5qav6g3rx10by00r0b8970nd09w4c09nhwyblcd"; depends=[]; };
+orloca_es = derive { name="orloca.es"; version="4.1"; sha256="0nzhg7vzfxlmryw5ijww8z2b1g9cmgcgzi3gsgigsgn4shnc2hni"; depends=[orloca]; };
+oro_dicom = derive { name="oro.dicom"; version="0.4.3"; sha256="1n0rvinq14fbylg11h8a3ijqwyl9xlzs2ygwh38wrpi2z60afl18"; depends=[oro_nifti]; };
+oro_nifti = derive { name="oro.nifti"; version="0.4.3"; sha256="1sr91x0fzl7zc6m5mndhql7abmmsckyjl7s45rj4n3g8qzbqn790"; depends=[bitops]; };
+oro_pet = derive { name="oro.pet"; version="0.2.3"; sha256="06agl6rvd01h6mnilj0vl52dxw6b7b41vl6vmbvaq5qy1wmiaiz7"; depends=[oro_dicom oro_nifti]; };
+orsk = derive { name="orsk"; version="1.0-1"; sha256="155wc9sfla3717b6xmhmsmvsnh2qbzzkffhibmj4xc0pd9lwwz2v"; depends=[BB BHH2]; };
+orthopolynom = derive { name="orthopolynom"; version="1.0-5"; sha256="1gvhqx6jlh06hjmkmbsl83gri0gncrm3rkliyzyzmj75m8vz993d"; depends=[polynom]; };
+osDesign = derive { name="osDesign"; version="1.7"; sha256="0y68pnsmq4nlmfsn28306q2kxab200pirr6ha0w4himzpnw1sil3"; depends=[]; };
+osmar = derive { name="osmar"; version="1.1-7"; sha256="0q6d8nw7d580bnx66mjc282dx45zw9srczz90b520hjcli4w3i3r"; depends=[XML RCurl geosphere]; };
+ouch = derive { name="ouch"; version="2.8-4"; sha256="1kx6qjvc8zlcxihqfxs288hwwh9m05s5544w4c6m1wc02083b735"; depends=[subplex]; };
+outbreaker = derive { name="outbreaker"; version="1.1-5"; sha256="1k39pzqbjah4dwwjyaccb13c1aww8i4kdfjanxc4hzkl8av7s8db"; depends=[ape igraph adegenet]; };
+outliers = derive { name="outliers"; version="0.14"; sha256="0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"; depends=[]; };
+overlap = derive { name="overlap"; version="0.2.4"; sha256="1pp3fggkbhif52i5lpihy7syhq2qp56mjvsxgbgwlcfbzy27ph1c"; depends=[]; };
+oz = derive { name="oz"; version="1.0-20"; sha256="1d420606ldyw2rhl8dh5hpscvjx6vanbq0hrg81m7b6v0q5rkfri"; depends=[]; };
+p2distance = derive { name="p2distance"; version="1.0.1"; sha256="1ims8i5z5k97kjpdysgx8g7lgvnvf7amahcrssw7bk38bvbxawni"; depends=[]; };
+p3state_msm = derive { name="p3state.msm"; version="1.3"; sha256="0gbrka62ylxx64r3abpk60y92k2lk5smlf8na68qazph8llsl2rv"; depends=[survival]; };
+pBrackets = derive { name="pBrackets"; version="1.0"; sha256="0cwv609hzp8anfv3cgfbspz8w0g1ljfz05wm4xfhwy15v32fckrj"; depends=[]; };
+pGLS = derive { name="pGLS"; version="0.0-1"; sha256="1rlk8q09sikf4vpzsx0c7s6qqh2hxf8dy2bgcm4nnkbv2nfjz438"; depends=[MASS]; };
+pRF = derive { name="pRF"; version="1.0"; sha256="17m86l29ys4n6z4ndibwy7yz9shyp7nf9hjnbgbvmc0ycf1may6i"; depends=[dplyr ggplot2 permute randomForest reshape2 magrittr]; };
+pROC = derive { name="pROC"; version="1.7.3"; sha256="1xbz50phi2ygrgvcv36vnbc2icga8abjiha2ap35bwffg5d2zmvi"; depends=[plyr Rcpp Rcpp]; };
+pRSR = derive { name="pRSR"; version="3.0.2"; sha256="1s81mi172mwxhp786c1fl579cg87valppr0z958ssvxsvg5hbfxy"; depends=[]; };
+pSI = derive { name="pSI"; version="1.1"; sha256="0cvw38dqqlyx7cpl27hq33f5xns2d0019lyr98pwndcnbp09mx0b"; depends=[gdata]; };
+pa = derive { name="pa"; version="1.2-1"; sha256="1pfgzxirkb0p8f6smjlrbp1qpsh0vsvqf306cvldaj9zx8cw0q9f"; depends=[ggplot2]; };
+pacbpred = derive { name="pacbpred"; version="0.92.2"; sha256="13p405vh9rf1r5idxl5payc85vwlzcd87wm15163vc9gmil1ncsf"; depends=[]; };
+pack = derive { name="pack"; version="0.1-1"; sha256="0x4p8clwp49s2y67y7in530xwhjngnqwagf9xnyb1jp0z3myd3r7"; depends=[]; };
+packClassic = derive { name="packClassic"; version="0.5.2"; sha256="04a1sg9vx3r0sq54q9kj0kpahp6my246jy3bivgy09g5fjk0dmkj"; depends=[]; };
+packHV = derive { name="packHV"; version="1.8"; sha256="0dr2picjd7mm633vw29524f3n4jpyillpzi9cg7yc2cymxnrgvyg"; depends=[survival WriteXLS]; };
+packS4 = derive { name="packS4"; version="0.9.1"; sha256="01kkw5g3xcn9hhfglmfvwsryid0w4vw9azh6as8l8d5i1xjyp9k7"; depends=[]; };
+packdep = derive { name="packdep"; version="0.3.1"; sha256="1827h9xcvgdad9nwz9k3hi79jc33yr7dnxy4xn2frp3fdh4q81ll"; depends=[igraph]; };
+packrat = derive { name="packrat"; version="0.4.3"; sha256="0sfv7vl9afvv2rpqk39hbrvhq6z54ilqjrff4j3parsfqvg7gaqf"; depends=[]; };
+pacman = derive { name="pacman"; version="0.3.0"; sha256="10fjkr4zjcx7cyfmnpdnb96swxizhdqhvzgb5crymrafxqvg00c7"; depends=[devtools]; };
+paf = derive { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; };
+pairedCI = derive { name="pairedCI"; version="0.5-4"; sha256="03wf526n3bbr2ai44zwrdhbfx99pxq1nbng9wsbndrdg2ji4dar2"; depends=[]; };
+pairheatmap = derive { name="pairheatmap"; version="1.0.1"; sha256="1awmqr5n9gbqxadkblpxwcjl9hm73019bwwfwy1f006jpn050d6l"; depends=[]; };
+pairwise = derive { name="pairwise"; version="0.2.5"; sha256="0r08v95f6f2safi6c0x84v5gib5qnkv46dmi97rdb9l2xzly249b"; depends=[]; };
+pairwiseCI = derive { name="pairwiseCI"; version="0.1-22"; sha256="1lgir9gcikx8c9pd2wdsqnik9rwr4qkymcf4ndp8s491vj6cm6sa"; depends=[MCPAN coin boot mratios binMto MASS]; };
+palaeoSig = derive { name="palaeoSig"; version="1.1-3"; sha256="1zm8xr7fpnnh6l4421vjavi6bg44iars3mna4r5fw3spmbswyv7b"; depends=[vegan TeachingDemos rioja mgcv MASS]; };
+paleoMAS = derive { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[MASS vegan lattice]; };
+paleoTS = derive { name="paleoTS"; version="0.4-4"; sha256="19acfq5z42blk6ya7sj3sprddlgvhrzb9zqpvpy4q8siqkxxrjah"; depends=[mvtnorm]; };
+paleobioDB = derive { name="paleobioDB"; version="0.3"; sha256="1vcfssi6w0m2wd2smyjxp1zf0y48y95386kkb8qdndqw99g089w8"; depends=[raster maps rjson gtools RCurl plyr scales]; };
+paleofire = derive { name="paleofire"; version="1.1.5"; sha256="18ymcybsq4hqxyrqslaqda8n2pyf4yl45mgs3yzl1gbw77zas1bl"; depends=[GCD locfit raster ggplot2 plyr rgdal lattice]; };
+paleotree = derive { name="paleotree"; version="2.3"; sha256="0zfav7s7x6g7rndbl6jg186fyxsq200b6z0l1zdvcm9528svv9wp"; depends=[ape phangorn]; };
+palinsol = derive { name="palinsol"; version="0.92"; sha256="1jxy3qx8w1r8jwgdavf37gqjjqpizdqk218xcc7b77xi8w52vxpg"; depends=[gsl]; };
+pamctdp = derive { name="pamctdp"; version="0.3.1"; sha256="1fnadgfd2ikis49j9zl2ijj8gim8lpbygwxjj6ri9jyrc1qmj9jb"; depends=[ade4 xtable FactoClass]; };
+pamm = derive { name="pamm"; version="0.7"; sha256="02py4zcymmwnlpsvha5cgc4ik8fp0gbsg86s5q7z5fl3ma3g669j"; depends=[lme4 mvtnorm gmodels]; };
+pampe = derive { name="pampe"; version="1.0"; sha256="0dfwhcnsxw71sn14m44fx1fxbx924rjpi2vvz292jzr404krcvny"; depends=[leaps]; };
+pamr = derive { name="pamr"; version="1.55"; sha256="1hy3khb0gikdr3vpjz0s245m5zang1vq8k93g7n9fq3sjfa034gd"; depends=[cluster survival]; };
+pan = derive { name="pan"; version="1.3"; sha256="08g0arwwkj9smkzyh6aicfrqvknag3n2xl55f7q7ghj09fhwg1br"; depends=[]; };
+pander = derive { name="pander"; version="0.5.1"; sha256="0m95vnrzw9v4cq52kn3a605gbk1qd24ivh7aywhk1lh0imlk7i85"; depends=[digest Rcpp Rcpp]; };
+panelAR = derive { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; };
+panelaggregation = derive { name="panelaggregation"; version="0.1"; sha256="19426hab4rvgn8k2c7x327k4ymihas59jbys0nmrfgg074x0xdnm"; depends=[data_table]; };
+parallelMCMCcombine = derive { name="parallelMCMCcombine"; version="1.0"; sha256="05krkd643awqhfrylq9lxr2cmgvnm1msn2x8p1l1483n2gzyklz7"; depends=[mvtnorm]; };
+parallelMap = derive { name="parallelMap"; version="1.2"; sha256="1rd4q644xml29nj4mybgh8cr0h4wsadsf2wlyzppx5hg5yi27ff2"; depends=[BBmisc checkmate]; };
+parallelize_dynamic = derive { name="parallelize.dynamic"; version="0.9-1"; sha256="03zypcvk1iwkgy6dmd5bxg3h2bqvjikxrbzw676804zi6y49mhln"; depends=[]; };
+paramlink = derive { name="paramlink"; version="0.9-6"; sha256="0pazllkjbqzvl9vmpvr67lkcsd960mipcd1p1nf00y8hknrwh7qp"; depends=[kinship2 maxLik]; };
+paran = derive { name="paran"; version="1.5.1"; sha256="0nvgk01z2vypk5bawkd6pp0pnbgb54ljy0p8sc47c8ibk242ljqk"; depends=[MASS]; };
+parboost = derive { name="parboost"; version="0.1.3"; sha256="1ziqbbcxvhc3v0vjpf9y6jhk3rqbgn9cilwcfxlxjbw73jhvvclg"; depends=[mboost party iterators plyr caret glmnet doParallel]; };
+parcor = derive { name="parcor"; version="0.2-6"; sha256="10bhw50g8c4ln5gapa7wghhb050a3jmd1sw1d1k8yljibwcbbx36"; depends=[MASS glmnet ppls Epi GeneNet]; };
+parfossil = derive { name="parfossil"; version="0.2.0"; sha256="12gsc5n4ycvhzxvq5j0r3jnnrzw1q412dbvmakipyw2yx2l2s7jn"; depends=[fossil foreach]; };
+parma = derive { name="parma"; version="1.5-1"; sha256="0qrq3bx0amri9b3s6bym4znnk140jjd2abnvqyihaj4bf2glbl0g"; depends=[nloptr slam Rglpk quadprog FRAPO corpcor]; };
+parmigene = derive { name="parmigene"; version="1.0.2"; sha256="1fsm6pkr17jcbzkj1hbn91jf890fviqk1lq6ls8pihsdgah1zb4d"; depends=[]; };
+parsedate = derive { name="parsedate"; version="1.1.1"; sha256="0mr97rw4fzg2v9dh5d4x0b76d5s56gi6zilq69yjhbx78w46apzc"; depends=[]; };
+partDSA = derive { name="partDSA"; version="0.9.10"; sha256="1j6ihgyjiy8dnr89xkqvl1dkmdswvknffq7zc15civy0h781azv6"; depends=[survival]; };
+partialAR = derive { name="partialAR"; version="1.0.5"; sha256="1d8nbv3rkf0p4vg8mlb1l5cqzgsqqhigwiq2bnd4npak6fq6syvg"; depends=[Rcpp zoo ggplot2 MASS tseries data_table FKF urca plot3D Rcpp]; };
+partialOR = derive { name="partialOR"; version="0.9"; sha256="02vbvln8lswysaafpxq5rxb6crp7yhlc13i42kybv8fr10jaagjj"; depends=[nnet]; };
+partitionMap = derive { name="partitionMap"; version="0.5"; sha256="0pi066xaaq0iqr0d7cncdzjd7bacmgrivc4qvhqx0y7q1vifrdjm"; depends=[randomForest]; };
+partitionMetric = derive { name="partitionMetric"; version="1.1"; sha256="1wry9d3s814yp79ayab7rzf8z5l2mwpgnrc5j7d2sac24vp4pd48"; depends=[]; };
+partitions = derive { name="partitions"; version="1.9-15"; sha256="0jgpknm4zah50w9i3fbq2f1whm4hywm2j72vxc3ignx1snx2z0gs"; depends=[gmp polynom]; };
+partsm = derive { name="partsm"; version="1.1-2"; sha256="0cv3lgkdkn97bc85iwlv9w5pmqwwwsgb717zxnbgb5mzf4xn3f3g"; depends=[]; };
+party = derive { name="party"; version="1.0-20"; sha256="10d4hyzc8icgb51k4dkc1bwprky7sg35vpa9s3jcl9ifw6na0bgm"; depends=[mvtnorm modeltools strucchange survival coin zoo sandwich mvtnorm]; };
+partykit = derive { name="partykit"; version="1.0-0"; sha256="1kd7hrcivvl638l7frgjz8qp8nz52h0yz5kypgqfma84jqfvd6ca"; depends=[survival]; };
+parviol = derive { name="parviol"; version="1.1"; sha256="1sfgic86ssd5wjf9ydss9kjd3m4jmm2d1v896sjsv8bydwymbpx3"; depends=[vioplot]; };
+pass = derive { name="pass"; version="1.0"; sha256="00dzwg2lnzmrrmzq3fyrs4axswgnsn7f62l2f2a8d8gyf8qzz3nf"; depends=[MASS lars ncvreg]; };
+pastecs = derive { name="pastecs"; version="1.3-18"; sha256="0ixlnc1psgqgm71bsf5z5j65lvr92ghpsk9f1ifm94dzjhi6d22i"; depends=[boot]; };
+pastis = derive { name="pastis"; version="0.1-2"; sha256="0211pzj3xrmqgxjpspij95kmlpa2klpicw49n6pnz2g1fapjy2bd"; depends=[caper ape]; };
+patchDVI = derive { name="patchDVI"; version="1.9.1601"; sha256="0vv1rmmd78n2r14dsl9fx25v6ym9mav557ya0aagr548wqcajf0m"; depends=[]; };
+patchPlot = derive { name="patchPlot"; version="0.1.5"; sha256="1b4k0dvvj6qwyxbqb36knyrawvy5qq8hl45pz896c9rkqhlg02bx"; depends=[datautils]; };
+patchSynctex = derive { name="patchSynctex"; version="0.1-0"; sha256="1r9lk3shk9gg5xyiv20sbpzak1dby93q6jzaa6vx1abawjdkmz0c"; depends=[stringr]; };
+pathClass = derive { name="pathClass"; version="0.9.4"; sha256="1vzmz3bml37wfxsjhkw9fip90sr1iv521ccr7nlf6xd30wavqywk"; depends=[svmpath kernlab ROCR igraph lpSolve]; };
+pathdiagram = derive { name="pathdiagram"; version="0.1.9"; sha256="1j2h9mmwfi95nwhk9214kcfpb1qrmw249mjaza7i9gijmlicraxz"; depends=[shape]; };
+pathmox = derive { name="pathmox"; version="0.2.0"; sha256="0hcllnpjjays35yngz309f1gcx9qg5z9h302kg9mhxs90470x4w0"; depends=[plspm tester]; };
+pathological = derive { name="pathological"; version="0.0-3"; sha256="1zl5vid1i6ijzjdqpvrm5c9yl6nh08cmmdqk50s65wggwmm0iw4l"; depends=[assertive plyr stringr]; };
+pauwels2014 = derive { name="pauwels2014"; version="1.0"; sha256="1b7whn13lgydc69kg1fhnwkxirw0nqq75cfvii0yg0j4p8r1lw42"; depends=[deSolve ggplot2]; };
+pavo = derive { name="pavo"; version="0.5-1"; sha256="189kshc5dm02qv0rm1dlcxrhvga4yhlkn3yyj3rjhmrags4rmwcb"; depends=[rgl rcdd mapproj geometry]; };
+pawacc = derive { name="pawacc"; version="1.2.1"; sha256="1l2wn69ynr5mza04a5mmzwzigqac8k9xkiaw7sdqv5hn9y7x3sj9"; depends=[SparseM]; };
+pbapply = derive { name="pbapply"; version="1.1-1"; sha256="1dshpnnmq1g2v223qy7pgbxydy9sqj04zwqxvzylm4mqc91ks4n2"; depends=[]; };
+pbatR = derive { name="pbatR"; version="2.2-9"; sha256="1p8rj0lzm4pp1svgy7xia2sclkngzfjbgbikq94s6v92d582wncw"; depends=[survival rootSolve]; };
+pbdBASE = derive { name="pbdBASE"; version="0.2-3"; sha256="1zfz45fnjmp8yz4nlac9q1d49gpczkl2b0rz2s33jbv5i32z3yvs"; depends=[rlecuyer pbdMPI pbdSLAP]; };
+pbdDEMO = derive { name="pbdDEMO"; version="0.2-0"; sha256="0vilri4d25mb339zsgh1zypyqxv1vzfdc8b8ivqi5yz1nrzm05gz"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE pbdDMAT]; };
+pbdDMAT = derive { name="pbdDMAT"; version="0.2-3"; sha256="18x607r0gx1nnw9p305ci5sfcxbi5zdr2b6yf9y6vqjsckicnw62"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE]; };
+pbdMPI = derive { name="pbdMPI"; version="0.2-5"; sha256="0g21zyl8dck5mxjsg4iif62ngrigj58hr8mzdvr47r1b081abzb4"; depends=[rlecuyer]; };
+pbdNCDF4 = derive { name="pbdNCDF4"; version="0.1-4"; sha256="0fd29mnbns30ck09kkh53dgj24ddrqzks4xrrk2hh1wiy7ap1h95"; depends=[]; };
+pbdPROF = derive { name="pbdPROF"; version="0.2-3"; sha256="0vk29vgsv7fhw240sagz0szg0wb649sqc05j1aj027zvz931vfl8"; depends=[ggplot2 gridExtra reshape2]; };
+pbdSLAP = derive { name="pbdSLAP"; version="0.2-0"; sha256="06q9k8y7k604wa2zfspjg2v3fybn5my1vyr7zsg6j66n9g4z6039"; depends=[rlecuyer pbdMPI]; };
+pbivnorm = derive { name="pbivnorm"; version="0.6.0"; sha256="05jzrjqxzbcf6z245hlk7sjxiszv9paadaaimvcx5y5qgi87vhq7"; depends=[]; };
+pbkrtest = derive { name="pbkrtest"; version="0.4-2"; sha256="1yppp24a8rl36x6sn1jjhhgs41irbf0z5nrv454g9qwhbvfgiay5"; depends=[lme4 Matrix MASS]; };
+pbo = derive { name="pbo"; version="1.3.4"; sha256="0v522z36q48k4mx5gym564kgvhmf08fsadp8qs6amzbgkdx40yc4"; depends=[lattice]; };
+pbs = derive { name="pbs"; version="1.1"; sha256="0cpgs6k5h8y2cia01zs1p4ri8r7ljg2z4x8xcbx73s680dvnxa2w"; depends=[]; };
+pcIRT = derive { name="pcIRT"; version="0.1"; sha256="0vfbbmnp4jyrbi5d9gz1krh707aazbrqfcgc3rjrwwyjld11wyzn"; depends=[combinat]; };
+pca3d = derive { name="pca3d"; version="0.3"; sha256="01nc4p68r7bnly18q8rkhnnj6vq9mwbb5hhdcblan6nhhlzhnld0"; depends=[rgl]; };
+pcaL1 = derive { name="pcaL1"; version="1.2.1"; sha256="00jfsbhnpq5mvnmpv066w1nhz2lhv55imgbl2z7dza9b8gxb88ry"; depends=[]; };
+pcaPP = derive { name="pcaPP"; version="1.9-60"; sha256="1rqq4zgik7cgnnnm8il1rxamp6q9isznac8fhryfsfdcawclfjws"; depends=[mvtnorm]; };
+pcalg = derive { name="pcalg"; version="2.0-10"; sha256="1ph5n3hlxni039phvhr9r2nj62c4mw9zmf0857sqzv434hizdfzi"; depends=[abind igraph ggm corpcor robustbase vcd Rcpp bdsmatrix sfsmisc Rcpp RcppArmadillo BH]; };
+pcg = derive { name="pcg"; version="1.1"; sha256="194j72hcp7ywq1q3dd493pwkn1fmdg647gmhxcd1jm6xgijhvv87"; depends=[]; };
+pcnetmeta = derive { name="pcnetmeta"; version="2.0"; sha256="0ayk9dvll321ndpbzqhvswhd7gbngmdhvzak5mn74w76wz9d4ylv"; depends=[rjags coda]; };
+pcrcoal = derive { name="pcrcoal"; version="1.1"; sha256="17mm13xpmghachiqr7v2691jk39mbfsadpg028gs3iiwmh0pksa0"; depends=[ape ggplot2 phylosim]; };
+pcse = derive { name="pcse"; version="1.9"; sha256="04vprsvcmv1ivxqrrvd1f8ifg493byncqvmr84fmc0jw5m9jrk3j"; depends=[]; };
+pdR = derive { name="pdR"; version="1.2"; sha256="0dgw6i623a6w18q54b46fnbp38941hqdvjpcnxrbqwvcgk024pr6"; depends=[]; };
+pdc = derive { name="pdc"; version="1.0.2"; sha256="0d7p65rkwrh39njhszdrbv25z4jz27746y1qyhqmhkxmvkx6g1fl"; depends=[]; };
+pdfCluster = derive { name="pdfCluster"; version="1.0-2"; sha256="0kbci54dlzn736835fh18xnf2pmzqrdmwa3jim29xcnwa1r2gklb"; depends=[geometry]; };
+pdfetch = derive { name="pdfetch"; version="0.1.6"; sha256="1j3fdjnmfj84pfd5bc37ssbs83ya3ma0hj5iy1a0bg9wb5xqap13"; depends=[httr zoo xts XML lubridate jsonlite reshape2]; };
+pdist = derive { name="pdist"; version="1.2"; sha256="18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd"; depends=[]; };
+pdmod = derive { name="pdmod"; version="1.0"; sha256="1czpaghp2lcad4j6wxswdfw0n9m0phngy966zr4fr3ciqpx3q129"; depends=[mco]; };
+peacots = derive { name="peacots"; version="1.1"; sha256="042644i8x0s4nd425lp8v1i4jspib3qxkgvprgapdhgqcp6cabk0"; depends=[]; };
+pear = derive { name="pear"; version="1.2"; sha256="1ixmyzm72s18qrfv2m8xzh5503k1q90lhddq4sp46m0q7qyxb192"; depends=[]; };
+pearson7 = derive { name="pearson7"; version="1.0-1"; sha256="0li32my02gv5yaf4q1w48pjbmij2njkpd15135n9mzjc5ibvf5kh"; depends=[]; };
+pec = derive { name="pec"; version="2.4.4"; sha256="110v8jb6l79prbkm8vp1qgrdks598q3ygmqj2yyv1d5plmsj9dh6"; depends=[prodlim foreach rms survival]; };
+pedantics = derive { name="pedantics"; version="1.5"; sha256="0m5jxzkf1pf657q2klv6idnywg18ki962666nj7sfyl4rq06xhsi"; depends=[MasterBayes MCMCglmm kinship2]; };
+pedgene = derive { name="pedgene"; version="2.1"; sha256="0nmp1s0i5b4h45p3f4rvvixjz8sgv56as3c85rvv3a8xwfd1gcxq"; depends=[Matrix CompQuadForm survey kinship2]; };
+pedigree = derive { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[Matrix HaploSim reshape]; };
+pedigreemm = derive { name="pedigreemm"; version="0.3-3"; sha256="1bpkba9nxbaxnivrjarf1p2p9dcz6smf9k2djawis1wq9dhylvsb"; depends=[lme4 Matrix]; };
+pedometrics = derive { name="pedometrics"; version="0.4-1"; sha256="0pzkkjp126g64q6avlk7bqrhcl6y5zz8vmfrq68k4yck34c1gn16"; depends=[car fields gstat lattice latticeExtra MASS moments plyr pbapply Rcpp sp spsurvey xtable Rcpp]; };
+pegas = derive { name="pegas"; version="0.7"; sha256="1vhlg40jz938h63isi5c8cjfqrwnh5miyl5kg2hbybw9awlp6gjj"; depends=[ape adegenet]; };
+penDvine = derive { name="penDvine"; version="0.2.2"; sha256="054vw99z68pk0bi4yzdmvx13x8n75sj2371l8w2yady1lqjj4qi7"; depends=[lattice quadprog TSP fda Matrix]; };
+penMSM = derive { name="penMSM"; version="0.99"; sha256="1xdcxnagvjdpgnfa5914gb41v5y4lsvh63lbz1d2l8bl9mpff3lm"; depends=[Rcpp Rcpp]; };
+penalized = derive { name="penalized"; version="0.9-45"; sha256="0svmhsh0lv3d571jyhk73zd9slcd6xnp3p0l1ijab9gl2rjhlzz5"; depends=[survival]; };
+penalizedLDA = derive { name="penalizedLDA"; version="1.0"; sha256="1ib33l5nqmvi6qn9ykybkdpc0pp55k1b6x4vqpklzp3dgckg0lp6"; depends=[flsa]; };
+penalizedSVM = derive { name="penalizedSVM"; version="1.1"; sha256="0zc36cgcrdy4rwhg4hhhahymqfalvc5v2zmqq56ikz5blln82qvq"; depends=[e1071 MASS corpcor statmod tgp mlegp lhs]; };
+pencopula = derive { name="pencopula"; version="0.3.5"; sha256="1cy36pprbrfabk9n3x4d1xbj1vd2dda7xq3ihj2hzniwn77j63wi"; depends=[lattice fda quadprog latticeExtra]; };
+pendensity = derive { name="pendensity"; version="0.2.7"; sha256="1f7v0dqcip6mvza9h6j1ajkc6awjs0g8i07v529xn7fhygzwwccr"; depends=[lattice fda]; };
+pensim = derive { name="pensim"; version="1.2.9"; sha256="10nrnxwfs41bhybs7j6xgnx0pq3c802n9k8irngmh8iy4w3wbhrq"; depends=[penalized MASS]; };
+peperr = derive { name="peperr"; version="1.1-7"; sha256="01a6sxcmb8v2iz2xdwhdnr92k3w2vn3hr0hg9b6mkpzjf4n45q3k"; depends=[snowfall survival]; };
+peplib = derive { name="peplib"; version="1.5.1"; sha256="1bdgmwbk76ryl5gxcgf3slds92yilg9p1x1lx0hnzzwcgx99wif3"; depends=[]; };
+peptider = derive { name="peptider"; version="0.1.7"; sha256="1jmbklrs32gyb8ph6lkfqkjc97xzhah8g0zkb52s22bvx22iqvhf"; depends=[discreteRV plyr dplyr]; };
+pequod = derive { name="pequod"; version="0.0-3"; sha256="14nag0bd2icg294y7n47c6xlw54rrdia887d2ni6achjqgwvffzh"; depends=[ggplot2 car]; };
+perARMA = derive { name="perARMA"; version="1.5"; sha256="1d9vrxv8r6qgxhaz3pv8n34c526gi5cd8w7wxy9qc914y8kplmzr"; depends=[corpcor gnm matlab Matrix signal]; };
+performanceEstimation = derive { name="performanceEstimation"; version="1.0.0"; sha256="176crk5vf9fw52qwsbwcwyp0l9v0kg27jwz2krx295d8kq22ygrj"; depends=[ggplot2 foreach doParallel]; };
+perm = derive { name="perm"; version="1.0-0.0"; sha256="0075awl66ynv10vypg63fcxk33qzvxddrp8mi4w08ysvimcyxijk"; depends=[]; };
+permGPU = derive { name="permGPU"; version="0.14.6"; sha256="1h01nfq8hn7i29xanma70q6s5mj83znbb2lg9x7bjgdrgj38vy2m"; depends=[RUnit foreach survival]; };
+permtest = derive { name="permtest"; version="1.2"; sha256="1sciyjs840h004zg8bwclq0j0n22anvjvx3fz62y4dzblrynhrci"; depends=[]; };
+permute = derive { name="permute"; version="0.8-3"; sha256="0zc3b3cl7q7y9pglc690ldg6p7bl7d1h7xkwnqqmvrpn7cq29rdb"; depends=[]; };
+perry = derive { name="perry"; version="0.2.0"; sha256="1lfmcq2xsxmfs7cxvhgxcsggslgjicbaks4wcjw1yjh67n559j46"; depends=[ggplot2 robustbase]; };
+persiandictionary = derive { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; };
+perturb = derive { name="perturb"; version="2.05"; sha256="18ydmmp8aq4rf9834dmsr4fr9r07zyn97v8a1jqz3g9njza983la"; depends=[]; };
+pesticides = derive { name="pesticides"; version="0.1"; sha256="1w180hqqav0mh9sr9djj94sf55fzh4r373a7h08a2nz9nyjpq09w"; depends=[]; };
+pez = derive { name="pez"; version="1.0-0"; sha256="0d1npc2w6gzi4ki7gwqa0f4sklz0sml8q0cmgb77hpvgrny47mk3"; depends=[ape caper picante quantreg mvtnorm vegan ade4 apTreeshape FD plotrix Matrix]; };
+pgam = derive { name="pgam"; version="0.4.12"; sha256="0vhac2mysd053bswy3xwpiz0q0qh260hziw6bygpf83vkj94qf2v"; depends=[]; };
+pgirmess = derive { name="pgirmess"; version="1.5.9"; sha256="1n58r5ghd2ppnid6787gd1n18f23pf0fk7yr3vagcqpzv4pk0wic"; depends=[boot nlme rgdal sp spdep splancs]; };
+pglm = derive { name="pglm"; version="0.1-2"; sha256="1arn2gf0bkg0s59a96hyhrm7adw66d33qs2al2s0ghln6fyk8674"; depends=[maxLik plm statmod]; };
+pgmm = derive { name="pgmm"; version="1.1"; sha256="0ajdcnxxy18ifidid4xnq9a03bsrvcbh3dh2vhviggkhq8gji1dn"; depends=[]; };
+pgs = derive { name="pgs"; version="0.4-0"; sha256="1zf5sjn662sds3h06zk5p4g71qnpwp5yhw1dkjzs1rs48pxmagrx"; depends=[gsl R2Cuba]; };
+phalen = derive { name="phalen"; version="1.0"; sha256="0awj9a48dy0azkhqkkzf82q75hrsb2yw6dgbsvlsb0a71g4wyhlr"; depends=[sqldf]; };
+phangorn = derive { name="phangorn"; version="1.99-12"; sha256="0yp2ih3f15xx1vd4vk1hdg3gl7l1a9y2j88cd6b6z2x1d6waj1yv"; depends=[ape quadprog igraph Matrix fastmatch nnls]; };
+phaseR = derive { name="phaseR"; version="1.3"; sha256="1hwclb7lys00vc260y3z9428b5dgm7zq474i8yg0w07rxqriaq2h"; depends=[deSolve]; };
+phcfM = derive { name="phcfM"; version="1.2"; sha256="0i1vr8rmq5zs34syz2vvy8c9603ifzr9s5v2izh1fh8xhzg7655x"; depends=[coda]; };
+pheatmap = derive { name="pheatmap"; version="1.0.2"; sha256="0nmq5w2jcljbd81v428xl4mvqzrm4vxxlwyhkimi4hj8a9rqw743"; depends=[RColorBrewer scales gtable]; };
+phenability = derive { name="phenability"; version="2.0"; sha256="0can8qgdpfr4h6jfg23cnwh7hhmwv6538wg2jla9w138la7rhpd1"; depends=[calibrate]; };
+phenex = derive { name="phenex"; version="1.0-7"; sha256="0q563cv9lskikf3ls0idp56lirw9gxn71rgxp9xn8an05gwdg0xr"; depends=[]; };
+phenmod = derive { name="phenmod"; version="1.2-3"; sha256="0dxwx8c7zka29fq7svrvn8bghj8jh8grbrgsw4pvavx2439cldak"; depends=[gstat RColorBrewer lattice pheno]; };
+pheno = derive { name="pheno"; version="1.6"; sha256="0xdya1g1ap7h12c6zn3apbkxr725rjhcp4gbdchkvcnwz4y9vw8c"; depends=[nlme SparseM quantreg]; };
+pheno2geno = derive { name="pheno2geno"; version="1.2.1"; sha256="0rh4fzka453i5djsyv4c0z3x6d5r7fvyvxi6x1a1806nzy7w43hj"; depends=[qtl VGAM mixtools]; };
+phia = derive { name="phia"; version="0.2-0"; sha256="1v2znss1snqrn3bpd0513jmw0x39p9vpwdc60klx725yrr2cfznw"; depends=[car Matrix]; };
+phmm = derive { name="phmm"; version="0.7-5"; sha256="0dil0ha199yh85j1skwfdl0v02vxdmb0xcc1jdbayjr5jrn9m1zk"; depends=[survival lattice Matrix]; };
+phom = derive { name="phom"; version="1.0.3"; sha256="0x05p6fn4kycilal65k7dy6h3w5i3ca9w93ryp4gqd4lp50l1749"; depends=[Rcpp Rcpp]; };
+phonR = derive { name="phonR"; version="1.0-1"; sha256="11m6qm3ya90n886mig4inxm057afl2gx4iz5fbwqsncibdmqgx92"; depends=[splancs deldir plotrix]; };
+phonTools = derive { name="phonTools"; version="0.2-2.0"; sha256="1wd1a5506p3ny6vi9pq6yg9gbz082fxw4l3cxsplkdpqgkhryrww"; depends=[]; };
+phreeqc = derive { name="phreeqc"; version="1.0-9102"; sha256="09vwqd4mf64l76vgg32vm9vkc8ra6cls9nvrp3ckkj9l2fwcnbzf"; depends=[]; };
+phtt = derive { name="phtt"; version="3.1.2"; sha256="1fvvx5jilq5dlgh3qlfsjxr8jizy4k34a1g3lknfkmvn713ycp7v"; depends=[pspline]; };
+phyclust = derive { name="phyclust"; version="0.1-15"; sha256="1j643k0mjmswsvp9jyiawkjf2qhfrw6xf4s2viqv987zxif2kd7z"; depends=[ape]; };
+phylin = derive { name="phylin"; version="1.0"; sha256="10pbs4adsyp43i89jb3xi0m55sl1w7ifmc98v74iq9p8xa15sdci"; depends=[]; };
+phyloTop = derive { name="phyloTop"; version="1.1.1"; sha256="046myyr01c4zc6sfy7r6p2vswkqqqd3w4k173gjbjazl1ims1sjs"; depends=[phylobase NHPoisson ape igraph]; };
+phylobase = derive { name="phylobase"; version="0.6.8"; sha256="0xj7x4cdfp0yadvjhdkw1ai3yd081ri4gpdg0n5g0z13cjaa6mjh"; depends=[ade4 ape Rcpp Rcpp]; };
+phyloclim = derive { name="phyloclim"; version="0.9-4"; sha256="0ngg8x192lrhd75rr6qbh72pqijbrhrpizl27q0vr6hp7n9ch3zx"; depends=[ape raster]; };
+phylocurve = derive { name="phylocurve"; version="1.0.0"; sha256="13gfavzkkicqcmdxfh9779a81kjgffskchqm0ygqkwhy9afnsxwr"; depends=[ape geiger phytools abind phylolm]; };
+phyloland = derive { name="phyloland"; version="1.3"; sha256="10g40m6n2s4qvnzlqcwpy3k0j7bxdp79f586jj910b8p00ymrksp"; depends=[ape]; };
+phylolm = derive { name="phylolm"; version="2.2"; sha256="1x1mi1mcq3ijbqhr0951scqzv4zza0r3fcs0hh4gpbr8z49b6d98"; depends=[ape]; };
+phylosim = derive { name="phylosim"; version="2.1.1"; sha256="0rrz5c7zl2hjalwm6m8pydikiwmiq2dybx2yhzp0ps2bcsn02lhn"; depends=[R_oo ape compoisson ggplot2 R_methodsS3]; };
+phylotools = derive { name="phylotools"; version="0.1.2"; sha256="19w7xzk6sk1g9br7vwv338nvszzh0lk5rdzf0khiywka31bbsjyb"; depends=[seqRFLP ape picante spaa fields]; };
+phyreg = derive { name="phyreg"; version="0.7"; sha256="0saynhq4yvd4x2xaljcsfmqk7da2jq3jqk26fm9qivg900z4kf35"; depends=[]; };
+physiology = derive { name="physiology"; version="0.2.2"; sha256="0z394smbnmlrnp9ms5vjczc3avrcn5nxm8np5y58k86x470w6npz"; depends=[]; };
+phytools = derive { name="phytools"; version="0.4-45"; sha256="0qhndyik687v2hrd32xr0zglpyxikv1zhp2dkz611kpjbxz0gq44"; depends=[ape maps animation clusterGeneration mnormt msm numDeriv phangorn plotrix scatterplot3d]; };
+phytotools = derive { name="phytotools"; version="1.0"; sha256="049znviv2vvzv23biy1l28axm7bc7biwmq4bnn0cnjqgkk48ysz3"; depends=[insol FME]; };
+pi0 = derive { name="pi0"; version="1.3-250"; sha256="1561zvf1hcd05iqy245c0z23mi8ypk6q3lkfldcr55cs67w4lmz6"; depends=[LowRankQP Matrix numDeriv limSolve rgl scatterplot3d Iso quadprog kernlab]; };
+picante = derive { name="picante"; version="1.6-2"; sha256="1zxpd8kh3ay6f3gdqkij1a6vnkr98dc1jib2r6br2kjyzshabcsd"; depends=[ape vegan nlme]; };
+picasso = derive { name="picasso"; version="0.3.0"; sha256="0z314akr1x2a28hh5hbb7mzkyaxsj4dfkdmx10l6gqllgk9j5qca"; depends=[lattice igraph MASS Matrix]; };
+pingr = derive { name="pingr"; version="1.1.0"; sha256="0j03qcsyckv3zh2v4m8wz8kyfl0k8qi71rm20rc0spy1s9ng7fcb"; depends=[]; };
+pipe_design = derive { name="pipe.design"; version="0.1"; sha256="0hy3n15b4a2319xn2gix9vca3qryy7hjsxlh0z8k96l24ql0r62z"; depends=[ggplot2 gtools]; };
+pipeR = derive { name="pipeR"; version="0.6"; sha256="15hq6i1cv072jpw71slij534s85xljkjk2ygxpkgq3cyngbq3jxb"; depends=[]; };
+pitchRx = derive { name="pitchRx"; version="1.6"; sha256="16x152xz7vs4bwi4xh05sbj38xgqzk8g95vfm0vm5mf94qnnaa6c"; depends=[ggplot2 XML2R plyr MASS hexbin mgcv]; };
+pixmap = derive { name="pixmap"; version="0.4-11"; sha256="04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g"; depends=[]; };
+pkgKitten = derive { name="pkgKitten"; version="0.1.2"; sha256="0nk51c3cx9hy8dwdi7llf9k6kq8495dvy8bxjlajwiwd39jipvgs"; depends=[]; };
+pkgmaker = derive { name="pkgmaker"; version="0.22"; sha256="0vrqnd3kg6liqvpbd969jjsdx0f0rvmmxgdbwwrp6xfmdg0pib8r"; depends=[registry codetools digest stringr xtable]; };
+pks = derive { name="pks"; version="0.3-0"; sha256="0lvj5kfjf8wikszz1dipwr1fw9xbhy3nx0ksqz4ln240k7fn5kcj"; depends=[sets]; };
+plRasch = derive { name="plRasch"; version="1.0"; sha256="1rnpvxw6pzl5f6zp4xl2wfndgvqz5l3kiv9sh4cpvhga0gl8zjaw"; depends=[survival]; };
+plan = derive { name="plan"; version="0.4-2"; sha256="0vwiv8gcjdbnsxd8zqf0j1yh6gvbzm0b5kr7m47ha9z64d7wxch6"; depends=[]; };
+planar = derive { name="planar"; version="1.5.2"; sha256="1w843qk88x3kzi4q79d5ifzgp975dj4ih93g2g6fa6wh529j4w3h"; depends=[dielectric Rcpp statmod cubature reshape2 plyr Rcpp RcppArmadillo]; };
+planor = derive { name="planor"; version="0.2-3"; sha256="1j550zqm3h4kz7jz4fkgp0z92skwpyxz0lnr7pfif4pya1mxd6f9"; depends=[conf_design]; };
+playwith = derive { name="playwith"; version="0.9-54"; sha256="1zmm8sskchim3ba3l0zqfvxnrqfmiv94a8l6slcf3if3cf9kkzal"; depends=[lattice cairoDevice gWidgetsRGtk2 RGtk2 gWidgets gridBase]; };
+plfm = derive { name="plfm"; version="1.1.2"; sha256="1dl2pv2v7kp39hlbk5kb33kzhg9dzxjxhafdjv9dqpqb9b77akm8"; depends=[sfsmisc abind]; };
+plgp = derive { name="plgp"; version="1.1-7"; sha256="02g6saabrsd8pra0szbwcbilf6w5ywg2gxqb5zdvbxds2vw36hn0"; depends=[mvtnorm tgp]; };
+plm = derive { name="plm"; version="1.4-0"; sha256="13y9s7gyrgqmnzafhn4c1zkz6gdawc8nr5nbrx0pn2mbw3fqfrjh"; depends=[Formula MASS bdsmatrix zoo nlme sandwich]; };
+plmDE = derive { name="plmDE"; version="1.0"; sha256="19xxi0zzpxcrsdrbs0hiwqgnv2aaw1q3mi586wv27zz6lfqcr9lr"; depends=[MASS R_oo]; };
+plmm = derive { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[sm Formula nlme]; };
+pln = derive { name="pln"; version="0.2-1"; sha256="09zg7zwmmqpjr1j59lqsjf4blrkya9wfwddgzfm9rr5jxrzvqcv8"; depends=[]; };
+plot2groups = derive { name="plot2groups"; version="0.10"; sha256="00mp82vvx6inlc2zj2cqqnzyglrm9x9im2vrqqk8j2jn0hbgfymy"; depends=[ggplot2]; };
+plot3D = derive { name="plot3D"; version="1.0-2"; sha256="0qsrd1na4xw2bm1rzwj3asgkh7xqpyja0dxdmz41f3x58ip9wnz1"; depends=[misc3d]; };
+plot3Drgl = derive { name="plot3Drgl"; version="1.0"; sha256="109vsivif4hmw2hk3hi4y703d3snzxbr9pzhn1846imdclkl12yg"; depends=[rgl plot3D]; };
+plotGoogleMaps = derive { name="plotGoogleMaps"; version="2.2"; sha256="0qv57k46ncg0wrgma0sbr3xf0j9j8cii3ppk3gs65ardghs3bf6b"; depends=[sp spacetime rgdal maptools lattice raster]; };
+plotKML = derive { name="plotKML"; version="0.5-0"; sha256="0sx48z27a34bc8gw7m66w52q36llbm2wm15l6kvd6zzlyzvj8cda"; depends=[XML sp raster rgdal spacetime colorspace plotrix dismo aqp pixmap plyr stringr colorRamps scales gstat zoo RColorBrewer RSAGA classInt]; };
+plotMCMC = derive { name="plotMCMC"; version="2.0-0"; sha256="0i4kcx6cpqjd6i16w3i8s34siw44qigca2jbk98b9ligbi65qnqb"; depends=[coda gplots lattice]; };
+plotROC = derive { name="plotROC"; version="1.3.3"; sha256="090fpj3b5vp0r2zrn38yxiy205mk9kx1fpwp0g8rl4bsa88v4c9y"; depends=[ggplot2 gridSVG shiny]; };
+plotSEMM = derive { name="plotSEMM"; version="2.0"; sha256="0n30m1nz9fnilbgxg5jcmx2bsscdvz5mkjkyrgx7yr3alazkaimd"; depends=[plyr shiny MplusAutomation Rcpp plotrix Rcpp]; };
+plotmo = derive { name="plotmo"; version="2.2.1"; sha256="1kgsw7xfqmzsyybhj21a42ynci1y7gm8gas1jqsbgh0vydfbzzh5"; depends=[]; };
+plotpc = derive { name="plotpc"; version="1.0.3"; sha256="0dw9k702a67c2k77dl4k2747lhsr84x41qrgj5mp9jnyfq6naciq"; depends=[]; };
+plotrix = derive { name="plotrix"; version="3.5-11"; sha256="01vb3i7hkc3krvl9v4f8fnpfcv62p4ci2vbm2qs5w593h70bys7c"; depends=[]; };
+pls = derive { name="pls"; version="2.4-3"; sha256="114ka4766x8fx0zvvr7cylky1jsy542nj6s7sb2dwv8zjhbclkhn"; depends=[]; };
+plsRbeta = derive { name="plsRbeta"; version="0.2.0"; sha256="1b8yldz5nzw3gilv9wk79bxcqb0hrgsxi2cn6qlby5nf9b4zmzv8"; depends=[mvtnorm boot Formula plsdof MASS betareg plsRglm]; };
+plsRcox = derive { name="plsRcox"; version="1.7.2"; sha256="1c3ll13m27ndwlc9r79ilzl0i6cyp870x66swlbg6387whf7wn2r"; depends=[survival plsRglm lars pls kernlab mixOmics risksetROC survAUC rms]; };
+plsRglm = derive { name="plsRglm"; version="1.1.1"; sha256="1bx1pl1pv47z3yj3ngkd97j10v2h8jqiybcqbm3kvqhgqydm07rp"; depends=[mvtnorm boot bipartite car]; };
+plsdepot = derive { name="plsdepot"; version="0.1.17"; sha256="1i00wxr451xpfy6dnvcm11aqf9106jsh5hj7gpds22ysgm4iq5w4"; depends=[]; };
+plsdof = derive { name="plsdof"; version="0.2-7"; sha256="1z8z9m0nsnyy1fipzvm1srpxn3q6wjrlivmmki1f8plwkixkyc5y"; depends=[MASS]; };
+plsgenomics = derive { name="plsgenomics"; version="1.2-6"; sha256="1yif4h556xjadlfp31nm6aqhd3md983sppwmbh7mg95dffxnd3im"; depends=[MASS]; };
+plspm = derive { name="plspm"; version="0.4.2"; sha256="0q7mx5ydw61z1qcs0flpwpnnrcwsfsh3razc8jnd4z1xn96i3x85"; depends=[amap diagram tester turner]; };
+plugdensity = derive { name="plugdensity"; version="0.8-3"; sha256="1jdmq4kbs8yzgkf9f5dc7c8c52ia68fgavw7nsnc2hnz5ylw1qy9"; depends=[]; };
+plumbr = derive { name="plumbr"; version="0.6.9"; sha256="1avbclblqfy57pd72ximvj3zq92q1w8vszvyf6fw75j5rfwdaibk"; depends=[objectSignals]; };
+plus = derive { name="plus"; version="1.0"; sha256="1l7lvnq7vahj8m7knmr4q3wj00ar7iq89j45a2dqn2bh0qyj68ls"; depends=[]; };
+plusser = derive { name="plusser"; version="0.4-0"; sha256="1g100dh8cvn9q09j0jbkw4xmwjdp1lm4651369975fm99nrlp1j9"; depends=[RCurl RJSONIO lubridate plyr]; };
+plyr = derive { name="plyr"; version="1.8.1"; sha256="0f2an3pr7flpng9y9mmrmyh08g3nivi6gdkfnw54arn0wxhkqfcm"; depends=[Rcpp Rcpp]; };
+pmcgd = derive { name="pmcgd"; version="1.1"; sha256="1pybzvyjmzpcnxrjsas06diy3x83i1r5491s6ccyr63l56hs55d5"; depends=[mixture mnormt]; };
+pmclust = derive { name="pmclust"; version="0.1-6"; sha256="05zjx4psvk5zjmr0iwwwig990g6h04ajn5wi0xi8bqv046r47q3h"; depends=[rlecuyer pbdMPI MASS]; };
+pmg = derive { name="pmg"; version="0.9-43"; sha256="0i7d50m4w7p8ipyx2d3qmc54aiqvw0ls8igkk8s1xc7k8ympfqi6"; depends=[gWidgets gWidgetsRGtk2 proto lattice foreign MASS]; };
+pmlr = derive { name="pmlr"; version="1.0"; sha256="1z3hbw4wabpai1q8kbn77nzxqziag8y04cidlfiw7z969s4pkmgl"; depends=[]; };
+pmml = derive { name="pmml"; version="1.4.2"; sha256="0588sph67zs58knf4g3fd7c84i2yag81igr882jgbaxhfhxrpk6n"; depends=[XML survival]; };
+pmmlTransformations = derive { name="pmmlTransformations"; version="1.2.2"; sha256="1p31lakhqwk0qhb565j2sjcfsjsx0i5v8kj8779ryjyvy7717m6m"; depends=[]; };
+pmr = derive { name="pmr"; version="1.2.4"; sha256="15yrh533rj5i728nvcpjj3m5wa3jbspnfj941px3mf11h14npxpp"; depends=[]; };
+png = derive { name="png"; version="0.1-7"; sha256="0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"; depends=[]; };
+pnmtrem = derive { name="pnmtrem"; version="1.3"; sha256="0053gg368sdpcw2qzydpq0c5v2cxdlwgf5k68cbw0yx41csjgvz0"; depends=[MASS]; };
+pnn = derive { name="pnn"; version="1.0.1"; sha256="1s6ib60sbdas4720hrsr5lsszsa474kfblqcalsb56c84gkl42ka"; depends=[]; };
+poLCA = derive { name="poLCA"; version="1.4.1"; sha256="0bknnndcxsnlq6z9k1vbhqiib1mlzlx4badz85kc7a3xbrdrfs9f"; depends=[scatterplot3d MASS]; };
+pocrm = derive { name="pocrm"; version="0.8"; sha256="04i9slfb9hmhhhq6m2iz7p3cm3v1v6nsvnr117dp55cxanfymd6f"; depends=[dfcrm nnet]; };
+poibin = derive { name="poibin"; version="1.2"; sha256="12dm1kdalbqy8k7dfldf89v6zw6nd0f73gcdx32xbmry2l2976sa"; depends=[]; };
+poilog = derive { name="poilog"; version="0.4"; sha256="0bg03rd5rn4rbdpiv87i8lamhs5m7n7cj8qf48wpnirg6jpdxggs"; depends=[]; };
+pointRes = derive { name="pointRes"; version="1.0.2"; sha256="1q9vjvmxs1f5g8f2aj674wk8piqzjqxzdrvxnawgw1pfi66adnms"; depends=[ggplot2 gridExtra plyr TripleR]; };
+pointdensityP = derive { name="pointdensityP"; version="0.1"; sha256="1wa10sp0pxcjyicifz638f89b7ynsy7718qbh2p2gn66lbvjpkhr"; depends=[]; };
+poisDoubleSamp = derive { name="poisDoubleSamp"; version="1.1"; sha256="13wyj9jf161218y4zjv2haavlmanihp9l59cvh7x8pfr9dh2dwr8"; depends=[Rcpp Rcpp]; };
+poisson_glm_mix = derive { name="poisson.glm.mix"; version="1.2"; sha256="0328m279jfa1fasi9ha304k4wcybzr7hldww7wn0cl7anfxykbv8"; depends=[]; };
+poistweedie = derive { name="poistweedie"; version="1.0"; sha256="18992fafypds3qsb52c09fasm3hzlyh5zya6cw32wnhipmda643m"; depends=[]; };
+polidata = derive { name="polidata"; version="0.1.0"; sha256="07641v0dnn161kyxx7viplkf8c3r51hd4hd5pzmcph4y4387r01i"; depends=[jsonlite RCurl]; };
+pollstR = derive { name="pollstR"; version="1.2.0"; sha256="1a1qjblxylzpwb1qpy2yyk39022isp8aajds5glspxndapmd4akb"; depends=[httr plyr jsonlite]; };
+polspline = derive { name="polspline"; version="1.1.9"; sha256="1n08dhwpf53slk1zib491kii54x9h16g3jgr2kxxpyc5xfv4yj26"; depends=[]; };
+polyCub = derive { name="polyCub"; version="0.5-2"; sha256="1j28ia53za3sh9q7q1g5bnmlb5mbzf44bcwzv0919lvkw01f2lvj"; depends=[sp spatstat]; };
+polySegratio = derive { name="polySegratio"; version="0.2-4"; sha256="05kvj475zhlrmp7rm691cfs28igp4ac2cn2xxf7axx09v1nq33db"; depends=[gdata]; };
+polySegratioMM = derive { name="polySegratioMM"; version="0.6-3"; sha256="1y4kzb1p3aw7ng8mv1hszpvb5hwwxy4vg34mhhk705ki4jy8jgvp"; depends=[polySegratio gtools coda lattice]; };
+polyaAeppli = derive { name="polyaAeppli"; version="2.0"; sha256="0kyz3ap92xz7aqyviyrpggfmicy1gybrx7y19djsmixcwz53zqch"; depends=[]; };
+polyapost = derive { name="polyapost"; version="1.1-6"; sha256="1wk85nl2p9plnaavjdr4bqxxhjc84ynv53bh2v1rmq87jymw40b1"; depends=[boot]; };
+polyclip = derive { name="polyclip"; version="1.3-0"; sha256="05bbj4hy4h1hcb4pzg1mjp8k7k91kqq5rg2x0ns4hcs1h4zrspds"; depends=[]; };
+polycor = derive { name="polycor"; version="0.7-8"; sha256="0hvww5grl68dff23069smfk3isysyi5n2jm4qmaynrk0m3yvhxwn"; depends=[mvtnorm sfsmisc]; };
+polynom = derive { name="polynom"; version="1.3-8"; sha256="05lng88c8cwj65cav31hsrca9nbrqn5rmcz79b17issyk2j0g86p"; depends=[]; };
+polysat = derive { name="polysat"; version="1.3-3"; sha256="02h1lf1bk7hhphfdcql0rmiszp3b3mdfhqfwxj369389dg0q57bd"; depends=[]; };
+polytomous = derive { name="polytomous"; version="0.1.6"; sha256="137qcnncih1lm2wshwrznlcr0k552n0sqhiy73iwis59lg854caa"; depends=[MASS Hmisc lme4]; };
+polywog = derive { name="polywog"; version="0.4-0"; sha256="0wl9br0g4kgi3nz2fq28nsk6fw0ll0y715v4vz8lv3pvfwc7518j"; depends=[miscTools foreach Formula glmnet iterators Matrix ncvreg Rcpp stringr Rcpp]; };
+pom = derive { name="pom"; version="1.1"; sha256="02jv19apn0kmp1ric2cxajlaad2fmsz4nm4izd2c3691vzas7l83"; depends=[matrixcalc]; };
+pomp = derive { name="pomp"; version="0.53-5"; sha256="1bfb2b1fdj673b43jnq9pzh36h1hfb8dsarf1dq6pwain7dnqjyp"; depends=[subplex nloptr mvtnorm deSolve coda]; };
+pooh = derive { name="pooh"; version="0.3"; sha256="1wcv77vjjp62c5l1mplnkk4vhy2scjrq96cjx58w5jdj46lban2h"; depends=[]; };
+popKorn = derive { name="popKorn"; version="0.3-0"; sha256="1zcl6ms7ghbcjyjgfg35h37ma8nspg15rk2ik82yalqlzxjf7kxw"; depends=[boot]; };
+popRange = derive { name="popRange"; version="1.1.3"; sha256="0kkz6va0p8zv3skaqqcpw42014d9x9x4ilx0czz91qf46h61jgb0"; depends=[findpython]; };
+popReconstruct = derive { name="popReconstruct"; version="1.0-4"; sha256="14lp0hfnzbiw81fnq7gzpr4lxyfh3g0428rm9jwjh631irz3fcc9"; depends=[coda]; };
+popbio = derive { name="popbio"; version="2.4"; sha256="12hvxkgbr6snypplxv404sj0ass6ab9i969bb00ipy10gny1w4ww"; depends=[quadprog]; };
+popdemo = derive { name="popdemo"; version="0.1-4"; sha256="0syhmm8fnxbsdzj75y7dpahmpf453a6gwp3yljkvmfl0bfv1g1ng"; depends=[expm]; };
+popgen = derive { name="popgen"; version="1.0-3"; sha256="00rgfwmmiharfxqlpy21n3jbxwr5whzdg8psqylkjf83ls2myqzm"; depends=[cluster]; };
+popgraph = derive { name="popgraph"; version="1.4"; sha256="1z6w6vj3vl2w10hvzwmkw4d475bqcd6ys92xnn445ag6vpq0cvxq"; depends=[ggplot2 igraph MASS sp Matrix sampling]; };
+poplite = derive { name="poplite"; version="0.99.16"; sha256="0yp1hfda2k6c5x0gbcfxj9h6igzx3ra05xs7g88wjz76yxp3wb6w"; depends=[dplyr DBI igraph lazyeval RSQLite]; };
+poppr = derive { name="poppr"; version="1.1.4"; sha256="13zxcclr8ar3ibjd34n23g0q0rw28gdl2q5477cmpcnypwzxsa71"; depends=[adegenet vegan ggplot2 phangorn ape igraph ade4 pegas reshape2]; };
+popsom = derive { name="popsom"; version="2.3"; sha256="0hdg1nx8mlpqw9aj2q08sb20frsc5jnbvqpfalf5kyvlygnhxdlc"; depends=[som fields]; };
+portes = derive { name="portes"; version="2.1-3"; sha256="0nqh6aync5igmvg7nr5inkv2cwgzd0zi6ky0vvrc3abchqsjm2ck"; depends=[]; };
+portfolio = derive { name="portfolio"; version="0.4-7"; sha256="0gs1a4qh68xsvl7yi6mz67lamwlqyqjbljpyax795piv46kkm06p"; depends=[lattice nlme]; };
+portfolioSim = derive { name="portfolioSim"; version="0.2-7"; sha256="1vf46882ys06ia6gfiibxx1b1g81xrg0zzman9hvsj4iky3pwbar"; depends=[lattice portfolio]; };
+potts = derive { name="potts"; version="0.5-2"; sha256="1q4kvknxkrd8qbv8l3vmwrppgzq5bsysnqgm029lx7iys73x4fck"; depends=[]; };
+poweRlaw = derive { name="poweRlaw"; version="0.30.1"; sha256="078yrr4fsg0isl45j887y62jzhvdv4krd3drg420wx5a0mqj7np1"; depends=[VGAM]; };
+powell = derive { name="powell"; version="1.0-0"; sha256="160i4ki3ymvq08szaxshqlz7w063493j5zqvnw6cgjmxs7y0vj8y"; depends=[]; };
+powerAnalysis = derive { name="powerAnalysis"; version="0.2"; sha256="15ff3wnn37sjkiyycgh16g7gwl3l321fbw12kv621dad5bki14jl"; depends=[]; };
+powerGWASinteraction = derive { name="powerGWASinteraction"; version="1.1.1"; sha256="0xwyqlblhdnnv6pd2jpmz11s95zg7ylh1wa2q03zj8df330jcl70"; depends=[mvtnorm pwr]; };
+powerMediation = derive { name="powerMediation"; version="0.2.3"; sha256="0i4qyjcmw2zvpdgq520kjzf38hddsrjwf0vlg4ylv1kaav7jzgsr"; depends=[]; };
+powerSurvEpi = derive { name="powerSurvEpi"; version="0.0.6"; sha256="1jsbrj35m296mkk47zcpb2haain6bf23k0xzphnb4sq8f06cmq1p"; depends=[survival]; };
+powerpkg = derive { name="powerpkg"; version="1.5"; sha256="0mbk2fda2fvyp1h5lk5b1fg398xybbjv0z6kdx7w7xj345misf7l"; depends=[]; };
+ppcor = derive { name="ppcor"; version="1.0"; sha256="18l5adjysack86ws61xh89z5xfr83v932a0pn6ad8i8py3nd85fj"; depends=[]; };
+ppiPre = derive { name="ppiPre"; version="1.7"; sha256="12my8xqb3zbiji6z6ip079gh8rkfi700pbbj1acrnrcflxz2wqzx"; depends=[igraph e1071]; };
+ppls = derive { name="ppls"; version="1.6-1"; sha256="1r3h4pf79bkzpqdvyg33nwjabsqfv7r8a4ziq2zwx5vvm7mdy7pd"; depends=[MASS]; };
+ppmlasso = derive { name="ppmlasso"; version="1.1"; sha256="1w13p1wjl1csds1xfc79m44rlym9id9gwnp3q0bzw05f35zbfryg"; depends=[spatstat]; };
+pps = derive { name="pps"; version="0.94"; sha256="0sirxpagqc2ghc01zc6q4dk691six9wkgknfbwaqxbxvda3hcmyq"; depends=[]; };
+pqantimalarials = derive { name="pqantimalarials"; version="0.2"; sha256="0azxkf1rvk9cyzr4gbp4y2vcxrxw3d4f002d5gjkvv1f4kx8faw1"; depends=[reshape2 RColorBrewer plyr shiny]; };
+prLogistic = derive { name="prLogistic"; version="1.2"; sha256="1abwz7nqkz2qbyqyr603kl9a3rkad3f4vxhck6a9kl80xrmfrj9s"; depends=[boot lme4 Hmisc]; };
+prabclus = derive { name="prabclus"; version="2.2-6"; sha256="0qjsxrx6yv338bxm4ki0w9h8hind1l98abdrz828588bwj02jya1"; depends=[MASS mclust]; };
+pracma = derive { name="pracma"; version="1.8.3"; sha256="06711w5451gb22667i5dx27ysi4pfagkxdfzg270lxwbymcii6pp"; depends=[]; };
+pragma = derive { name="pragma"; version="0.1.3"; sha256="1n30a346pph4d8cj4p4qx2l6fnwhkxa8yxdisx47pix376ljpjfx"; depends=[]; };
+prais = derive { name="prais"; version="0.1.1"; sha256="0vv6h12gsbipi0gnq0w6xh6qvnvc0ydn341g1gnn3zc2n7cx8zcn"; depends=[]; };
+praktikum = derive { name="praktikum"; version="0.1"; sha256="0kkydgglvqw371fxh46fi86fmdndhwq1n8qj0ynbh2gz1cn86aw1"; depends=[]; };
+prc = derive { name="prc"; version="2014.11-4"; sha256="0r4c0s80fdzc9ifbfy8aaqi7164blqgiv3vbzp9x70c4dfl3lwxx"; depends=[kyotil nlme]; };
+precintcon = derive { name="precintcon"; version="2.1"; sha256="0cadia7d2pzhnfw00m4k6qgnajv61hj879pafqnnfs6synbp3px6"; depends=[ggplot2 scales]; };
+predfinitepop = derive { name="predfinitepop"; version="1.0"; sha256="1x5ri1kvd1rd9bjp2ygqwl68yp6hyb6aly22bs5kdwv2vn9nlq9w"; depends=[]; };
+predictmeans = derive { name="predictmeans"; version="0.99"; sha256="1qfqh21d3m0k2491hv5rl5k4v49j5089xsdk3bxicp30l512rax0"; depends=[lme4 nlme ggplot2 lattice pbkrtest plyr]; };
+predmixcor = derive { name="predmixcor"; version="1.1-1"; sha256="0v99as0dzn0lqnbbzycq9j885rgsa1cy4qgbya37bbjd01b3pykd"; depends=[]; };
+prefmod = derive { name="prefmod"; version="0.8-32"; sha256="0v5r195gzbfi6jbqz8r1x2fzj3anqxf4hxaxb9krm9rkwgphrwpi"; depends=[gnm colorspace]; };
+presens = derive { name="presens"; version="1.0.0"; sha256="0hwciahpfp7h7dchn6k64cwjwxzm6cx28b66kv6flz4yzwvqd3pb"; depends=[birk marelac]; };
+preseqR = derive { name="preseqR"; version="1.1"; sha256="10xmybkhyn88p7aa3wa753lykzlcm4md3ai03nlx6wisnqh6dd55"; depends=[]; };
+prettyGraphs = derive { name="prettyGraphs"; version="2.1.5"; sha256="19jag5cymancxy5lvkj5mkhdbxr37pciqj4vdvmxr82mvw3d75m4"; depends=[]; };
+prettyR = derive { name="prettyR"; version="2.1"; sha256="0q6w51758yaxa3l276vqvkvry6v4xz33lx8791b5hyrq837ypx8z"; depends=[]; };
+prettyunits = derive { name="prettyunits"; version="1.0.0"; sha256="0lh83pf30hnqcq6ppq8axlyawp0qxpym0lqq8pchh3gq8mgcdz1h"; depends=[magrittr assertthat]; };
+prevR = derive { name="prevR"; version="2.9"; sha256="1h0v52pwhrb9ib61wjqdcand5prc1h205nd2rl5qiiqcnq4xn582"; depends=[sp gstat GenKern rgdal fields]; };
+prevalence = derive { name="prevalence"; version="0.3.0"; sha256="0hg4vpw89pyx2i9za3zg666kyi016sn4jpbk2sp0s435fzqp74dp"; depends=[rjags coda]; };
+prim = derive { name="prim"; version="1.0.15"; sha256="008a8fm4as5b6j70xxwiipywhbg1wmdbgjz9r7qfnivcpfarxv7f"; depends=[rgl misc3d]; };
+primer = derive { name="primer"; version="1.0"; sha256="0vkq794a9qmz9klgzz7xz35msnmhdaq3f91lcix762wlchz6v7sg"; depends=[deSolve lattice]; };
+primerTree = derive { name="primerTree"; version="1.0.1"; sha256="068j5a2rh8f1h1y7rv2xacnvkn2darzvp1adhi3hqkmwsb3znhjk"; depends=[directlabels gridExtra ggplot2 XML ape httr lubridate plyr scales stringr foreach]; };
+princurve = derive { name="princurve"; version="1.1-12"; sha256="19fprwpfhgv6n6ann978ilwhh58qi443q25z01qzxml4b5jzsd7w"; depends=[]; };
+prinsimp = derive { name="prinsimp"; version="0.8-8"; sha256="074a27ml0x0m23hlznv6qz6wvfqkv08qxh3v1sbkl9nxrc7ak4vn"; depends=[]; };
+prob = derive { name="prob"; version="0.9-5"; sha256="05skjqimzhnk99z864466dc8qx58pavrky320il91yqyr8b98j8b"; depends=[combinat fAsianOptions hypergeo VGAM]; };
+probFDA = derive { name="probFDA"; version="1.0"; sha256="0aqg3f9n1c30wiqml556xmdcv9yr8rijqvymqk89jdzfc0ri25gh"; depends=[MASS]; };
+probemod = derive { name="probemod"; version="0.1"; sha256="1i7hsnnwi20afhfzwmqyh1p7la71sqk49pb0wma80850psdzycdn"; depends=[]; };
+probsvm = derive { name="probsvm"; version="1.00"; sha256="1k0zysym7ncmjy9h7whwi49qsfkpxfk7chfdjrydl6hn6pscis37"; depends=[kernlab]; };
+prodlim = derive { name="prodlim"; version="1.5.1"; sha256="0qjyx4i66cahiqjqff63ljwxdig4lvfs2asxnhkgylwn2kb3lygv"; depends=[survival KernSmooth lava]; };
+profdpm = derive { name="profdpm"; version="3.3"; sha256="07lhjavrx4fa5950w928mfpddmmnmvdapl5n6mv49m8h3bxs4nmy"; depends=[]; };
+profileModel = derive { name="profileModel"; version="0.5-9"; sha256="1p9b9jr5842im195d60ja82pp7vbk85vs8b0r3fnf62j4b92aky9"; depends=[]; };
+profileR = derive { name="profileR"; version="0.2-1"; sha256="1hcydy7hqjac9mvbaim2g75ab1ziyvpbrkb4k21966m54zjk9kka"; depends=[ggplot2 MASS RColorBrewer reshape plyr]; };
+profr = derive { name="profr"; version="0.3.1"; sha256="1w06mm89apggy6wc273b2nsp95smajr8sf3dwshykivv7mhkxs5d"; depends=[stringr plyr]; };
+proftools = derive { name="proftools"; version="0.1-0"; sha256="1wzkrz7zr2pjw5id2sp6jdqm5pgrrh35zfwjrkr6mac22lniq4bv"; depends=[]; };
+prognosticROC = derive { name="prognosticROC"; version="0.7"; sha256="0lscsyll41hpfzihdavygdzqw9xxjp48dmy4i17qsx5h01jl1h4i"; depends=[survival]; };
+proj4 = derive { name="proj4"; version="1.0-8"; sha256="06r3lavgixrsa52d1v31laqcbw6fb9xn23akv39hvaib78diglv9"; depends=[]; };
+propOverlap = derive { name="propOverlap"; version="1.0"; sha256="0q72z9vbkpll4i3wy3fq06rz97in2cm3jjnvl6p9w8qc44zjlcyl"; depends=[]; };
+propagate = derive { name="propagate"; version="1.0-4"; sha256="18vyh4i4zlsmggfyd4w0zrznk75m84k08p1qa9crind04n5581j1"; depends=[MASS tmvtnorm Rcpp ff minpack_lm Rcpp]; };
+prospectr = derive { name="prospectr"; version="0.1.3"; sha256="18lh03xg6bgzsdsl56bjd63xdp16sqgr3s326sgifkkak8ffbv7q"; depends=[RcppArmadillo foreach iterators Rcpp Rcpp RcppArmadillo]; };
+protViz = derive { name="protViz"; version="0.2.9"; sha256="0kn2dd3za8mmb6476v3wqnymhihyavw2qsh98i4q3xdiz1g77vql"; depends=[Rcpp]; };
+proteomicdesign = derive { name="proteomicdesign"; version="2.0"; sha256="01s47pgwxy4xx10f3qmbfv59gbaj0qw017kpkpsn33s8w7ad63r0"; depends=[MASS]; };
+proteomics = derive { name="proteomics"; version="0.2"; sha256="01cd4sb79gcx8gbzl624scvjbwhgcsca1wdvvfkhsv7jfwdd2ry2"; depends=[plyr reshape2 ggplot2 foreach]; };
+protiq = derive { name="protiq"; version="1.2"; sha256="1d5wr9w540a79i57nr0arn5xg7s6jhhy5nrgsk8r3ljidld2s2sa"; depends=[mvtnorm]; };
+proto = derive { name="proto"; version="0.3-10"; sha256="03mvzi529y6kjcp9bkpk7zlgpcakb3iz73hca6rpjy14pyzl3nfh"; depends=[]; };
+protoclass = derive { name="protoclass"; version="1.0"; sha256="17d2m6r1shgb47v8mwdg1a7f5h29m5l7f5m0nsmv0xc90s9cpvk8"; depends=[class]; };
+protoclust = derive { name="protoclust"; version="1.5"; sha256="03qhqfqdz45s8c1p8c6sqs10i6c2ilx4fz8wkpwas3j78lgylskg"; depends=[]; };
+protr = derive { name="protr"; version="0.5-1"; sha256="1ji0vpy9rrrvbsfwi4823ywi5zbwl57zw1glxllxgwyv9l6v4bpb"; depends=[]; };
+proxy = derive { name="proxy"; version="0.4-14"; sha256="1ijip1jmpm7dg11yv2rjcpkpg4p30m9acddbn49fbss9kcpl5b5i"; depends=[]; };
+pryr = derive { name="pryr"; version="0.1"; sha256="1vp63v1l4myahmmbphc043x1kpmvvdhs6dr640dxi0napvkdqlq6"; depends=[stringr codetools Rcpp Rcpp]; };
+psData = derive { name="psData"; version="0.1.2"; sha256="0w8kzivqrh1b6gq803rfd10drxdwgy0cxb5sff273m6jxzak52f2"; depends=[countrycode DataCombine foreign xlsx]; };
+psbcGroup = derive { name="psbcGroup"; version="1.1"; sha256="17kpxddvy9m87i9r1hazc8g6mm35p1452ngz80byhgw9p0jkvn5p"; depends=[LearnBayes SuppDists mvtnorm]; };
+pscl = derive { name="pscl"; version="1.4.8"; sha256="1isgj3gsazpl2l69162n0xrgbsrsybwg18rz58amdq0h023c5dbz"; depends=[MASS lattice]; };
+psd = derive { name="psd"; version="1.0-0"; sha256="17mp995yrw3pspavvf2s0fsqqdx7nbxw9k4hqph42052bpy3a54s"; depends=[Rcpp RColorBrewer signal zoo Rcpp RcppArmadillo]; };
+pse = derive { name="pse"; version="0.4.0"; sha256="1ln6b5ch99fmmcsfn8m8fl4ir7cadwq5ckggwizw9cbllw3drv0b"; depends=[Hmisc boot]; };
+pseudo = derive { name="pseudo"; version="1.1"; sha256="0dcx6b892cic47rwzazsbnsicpgyrbdcndr3q5s6z0j1b41lzknd"; depends=[KMsurv geepack]; };
+psgp = derive { name="psgp"; version="0.3-6"; sha256="0h9gyadfy0djj32pgwhg8vy2gfn7i7yj5nnsm6pvfypc3k71s2wf"; depends=[intamap automap gstat Rcpp RcppArmadillo]; };
+psidR = derive { name="psidR"; version="1.2"; sha256="14cpxk7z0inrpvhsdb3z6r5nrpyb4v8bv77mygxcf51rxihigzvj"; depends=[data_table RCurl foreign SAScii]; };
+pso = derive { name="pso"; version="1.0.3"; sha256="0alar695c6kc1rsvwipsrvlxc93f3sy9l0yhp0mggyqgxkkvy406"; depends=[]; };
+pspearman = derive { name="pspearman"; version="0.3-0"; sha256="1l5mqga7b5nvm6v9gbl1xsspdqsjqyhhdn4gc4qlz6ld7fqfq6cx"; depends=[]; };
+pspline = derive { name="pspline"; version="1.0-16"; sha256="170apwfv2lbf2rggzzynrf9vi2mr0y15sm4zy8djxxpzv217iaf7"; depends=[]; };
+psy = derive { name="psy"; version="1.1"; sha256="027whr670w65pf8f7x0vfk9wmadl6nn2idyi6z971069lf01wdlk"; depends=[]; };
+psych = derive { name="psych"; version="1.5.1"; sha256="18nlxv15dh16326jj754bclrp6nnaiw04jsklshm8i2p3m5nzr4k"; depends=[mnormt]; };
+psychometric = derive { name="psychometric"; version="2.2"; sha256="1b7cx6icixh8k3bv60fqxjjks23qn09vlcimqfv2x3m3nkf8p1s9"; depends=[multilevel nlme multilevel nlme]; };
+psychomix = derive { name="psychomix"; version="1.1-1"; sha256="0p3kidbsmfm09s7c3p8nlj069wcyln1cxmjmj5nj7f618c407zyf"; depends=[flexmix psychotools lattice Formula modeltools]; };
+psychotools = derive { name="psychotools"; version="0.4-0"; sha256="17qwlxj00i0aqwf39hwr6mmxa6jy0j6dxfrp9p1xskbgi5cnvslk"; depends=[]; };
+psychotree = derive { name="psychotree"; version="0.15-0"; sha256="08mq4gssrhydn106zm6xxwb1kk43hdzw6jqclx1ya0g8xfri2rrd"; depends=[partykit psychotools Formula]; };
+psyphy = derive { name="psyphy"; version="0.1-9"; sha256="1ndc6sy662wj2qfx7r97crlqjd8fdkfvfy59qmf34bcbzbg33riz"; depends=[]; };
+psytabs = derive { name="psytabs"; version="0.5"; sha256="0jcsv771ndf0fv76982rbv099ii4l55a8bj1mhgr54838ins0gg7"; depends=[psych plyr rtf R2HTML mokken lavaan semTools]; };
+pt = derive { name="pt"; version="1.0"; sha256="0hjijfmc9dip3ys8xg44w0fwvyzyjyjl9hpwm7j2nzg3plv6i1fz"; depends=[]; };
+ptinpoly = derive { name="ptinpoly"; version="2.4"; sha256="1jbj8z7lqg7w1mqdh230qjaydx2yb6ffgkc39k7dx8xl30g00i5b"; depends=[misc3d]; };
+ptw = derive { name="ptw"; version="1.0-7"; sha256="195pa6hj3y9spyc7yxfgr8alkp48a7ccnyp64r6fyjwj6ds08b64"; depends=[]; };
+pubmed_mineR = derive { name="pubmed.mineR"; version="1.0.3.1"; sha256="1q1y3sshv5c56qgbbrrlnb1nhg052n8g2vrx32vhg304rqircxkm"; depends=[RCurl XML boot R2HTML]; };
+pullword = derive { name="pullword"; version="0.1"; sha256="1mxv63q2nfnhxcn8m17d40w792l1i7diykg6h0i42pj0rsa4ww36"; depends=[RCurl]; };
+pumilioR = derive { name="pumilioR"; version="1.3"; sha256="1zmcdp978p73bh9fdshxlrzgfg18j007xgxgr439rq90bwiwva6j"; depends=[XML RCurl]; };
+pushoverr = derive { name="pushoverr"; version="0.1.4"; sha256="1qa7cajgri3dwlvbpwn244m92n3q3apl4m5420mzsa9ngnmm8hj1"; depends=[httr]; };
+pvar = derive { name="pvar"; version="2.2"; sha256="1f58czx14shd02ijyxhn46yrvfh44wrpifja8cjv522gbkrcr7yf"; depends=[Rcpp Rcpp]; };
+pvclass = derive { name="pvclass"; version="1.2"; sha256="099lk0x24h7g77lpr22mzpl22q2b0nr466ljgm6jcdyjbkzgx237"; depends=[Matrix]; };
+pvclust = derive { name="pvclust"; version="1.3-2"; sha256="0w9cxr0bc591icbyn8239f76ypb2nwv9fa5b1ix05wh55d1h0rgc"; depends=[]; };
+pvrank = derive { name="pvrank"; version="1.0"; sha256="0kvy0b1x7q23pjw2ckyqzyh3ihqnbrd067v85l9rvf0pxyycqyhx"; depends=[Rmpfr]; };
+pvsR = derive { name="pvsR"; version="0.3"; sha256="1ijmqlcsc8z0aphdd3j37ci8yqsy50wnr2fwn7h8fxbyd12ax2nj"; depends=[XML nnet httr]; };
+pwr = derive { name="pwr"; version="1.1-2"; sha256="1czganj70qszz32yx2jprhr8h9a2lpg67gwfwfjf8kpk97qvkalj"; depends=[]; };
+pwt = derive { name="pwt"; version="7.1-1"; sha256="0926viwmwldmzlzbnjfijh00wrhgb0h4h0mlrls71pi5pjfldifa"; depends=[]; };
+pwt8 = derive { name="pwt8"; version="8.0-0"; sha256="12cgyban6waj0cxz9gb35s5v0v29rmx67ipzalzdnrjp5nsmy431"; depends=[]; };
+pxR = derive { name="pxR"; version="0.40.0"; sha256="08s62kzdgak7mjzyhd32qn93q5l7sj01vhsk7fjg9nxjvm78xxka"; depends=[stringr reshape2 RJSONIO plyr]; };
+pxweb = derive { name="pxweb"; version="0.5.5"; sha256="1rrsxis2fi1x90gj251phbrz3bbl7yyc39n20lk2rln14acdhfsy"; depends=[data_table plyr stringr RJSONIO httr]; };
+pycno = derive { name="pycno"; version="1.2"; sha256="0ha5css95xb98dq6qk98gnp1al32gy6w5fkz74255vs4hmkwfzw2"; depends=[sp maptools rgeos]; };
+pyramid = derive { name="pyramid"; version="1.4"; sha256="0hh0hmckicl0r2r9zlf693j65jr9jgmiz643j2asp57nbs99lgxz"; depends=[]; };
+qLearn = derive { name="qLearn"; version="1.0"; sha256="1ilxmgazm8gjz8c1hhbp4fccibnvnalxrag8b0rn081zsqmhf094"; depends=[]; };
+qPCR_CT = derive { name="qPCR.CT"; version="1.1"; sha256="19j41fsd2m7p2nxi2h2mj43rjxx6sz2jpf4sk0bfvl1gyj0iz3hi"; depends=[RColorBrewer]; };
+qVarSel = derive { name="qVarSel"; version="1.0"; sha256="13x2hnqjsm0ifzmqkkl9ilhykrh80q04lhlkkp06hkysmh5w9rkx"; depends=[lpSolveAPI Rcpp Rcpp]; };
+qat = derive { name="qat"; version="0.73"; sha256="1fff4sv1n3i0gfgj83sy4pygxalifdycm27hsw51r72n86049cdc"; depends=[ncdf XML gdata moments boot fields gplots]; };
+qcc = derive { name="qcc"; version="2.6"; sha256="0bsdgpsqvkz2w1qanxwx8kvrpkpzs9jgw8ml2lyqhmhqbxyg125r"; depends=[MASS]; };
+qcr = derive { name="qcr"; version="0.1-18"; sha256="16dfda3rwivsdhp7j5izzbk2rzwfabfmxgpq4kjc4h7r90n2vly2"; depends=[qcc]; };
+qdap = derive { name="qdap"; version="2.2.0"; sha256="0lbc38x4gvh6q2sb6d524ksfhpvxm8knfy85bmwbf6d3q4s0b6q4"; depends=[ggplot2 qdapDictionaries qdapRegex qdapTools RColorBrewer chron dplyr gdata gender gridExtra igraph NLP openNLP plotrix RCurl reports reshape2 scales stringdist tm venneuler wordcloud xlsx XML]; };
+qdapDictionaries = derive { name="qdapDictionaries"; version="1.0.2"; sha256="0s1dqp3hjllkvq638hvggcbfsdwks91r0ymynl7cdh7dr5pg91bc"; depends=[]; };
+qdapRegex = derive { name="qdapRegex"; version="0.2.0"; sha256="0hypa3xax02k61kwh59wb4r7y8s0g6hfhaih0kj9n442xqvrym5h"; depends=[stringi]; };
+qdapTools = derive { name="qdapTools"; version="1.1.0"; sha256="0k3mvcjj2fg2v3z8jm2z02zmrpgjpwbpcaanmp2vlykqzacsrl52"; depends=[chron data_table RCurl XML]; };
+qdm = derive { name="qdm"; version="0.1-0"; sha256="0cfxyy8s5zfb7867f9xv9scq9blq2qnw68x66m7y7nqlrrff5xdr"; depends=[]; };
+qgraph = derive { name="qgraph"; version="1.3.1"; sha256="1wmpsgmzl9qg4vjjjlbxqav3ck7p26gidsqv3qryx56jx54164wg"; depends=[psych ellipse lavaan sem plyr Hmisc igraph jpeg png colorspace Matrix sna corpcor reshape2 ggplot2 glasso huge fdrtool d3Network ggm gtools]; };
+qgtools = derive { name="qgtools"; version="1.0"; sha256="0irqfaj2qqx7n1jfc0kmfpgzqrhwwlj0qizsmya94zk9d27bcpn5"; depends=[Matrix MASS]; };
+qicharts = derive { name="qicharts"; version="0.1.1"; sha256="1aisbm9h7jdzkgnfh679wi5hfzxw1asgr62z7l51zk9yw7p7mjaw"; depends=[lattice latticeExtra]; };
+qiimer = derive { name="qiimer"; version="0.9.2"; sha256="08625hz2n7yk9zk1k9sa46n2ggbw5qs0mlqkmzyjjh3qlnb1354a"; depends=[pheatmap]; };
+qlcMatrix = derive { name="qlcMatrix"; version="0.9.2"; sha256="1d8953bj69d0nia3qh3s1djf9m7wkvfdxqd234026gh1d3qchkr2"; depends=[Matrix]; };
+qlspack = derive { name="qlspack"; version="2.2"; sha256="0b9sqvnvldhd8vymajrbql0vn70rml13jgsq5ihm6skzq5qms7y6"; depends=[geepack]; };
+qmap = derive { name="qmap"; version="1.0-3"; sha256="1c7qvmd5whi446nzssqvhz1j2mpx22nlzzdrcql84v18ry0dr18m"; depends=[fitdistrplus]; };
+qmethod = derive { name="qmethod"; version="1.2.4"; sha256="0s3s1vasppbnzq78xf7klqppg91c4qvq59dka9dj7zl8zlr6hx3r"; depends=[psych GPArotation]; };
+qmrparser = derive { name="qmrparser"; version="0.1.5"; sha256="0sl9n42j0dx9jqz5vv029ra6dyrg9v7mvdlya8ps3vyd6fjhwh0z"; depends=[]; };
+qpcR = derive { name="qpcR"; version="1.4-0"; sha256="029qhncfiicb3picay5yd42g6qi0x981r6mgd67vdx71cac9fp59"; depends=[MASS minpack_lm rgl robustbase Matrix]; };
+qqman = derive { name="qqman"; version="0.1.2"; sha256="024ln79hig5ggcyc3466r6y6zx2hwy2698x65cha5zpm51kq1abs"; depends=[]; };
+qqtest = derive { name="qqtest"; version="1.0"; sha256="12hw4d2gddb4fgdi986pyqgvlpxgk5lngfp989hq2a830kyxz1ds"; depends=[MASS]; };
+qrLMM = derive { name="qrLMM"; version="1.1"; sha256="1yg9ph6jy0sn4d82vn4v7yy3mqczbnzsq8qqp9dw38vh2456rmf2"; depends=[nlme matrixcalc mvtnorm ghyp quantreg psych]; };
+qrNLMM = derive { name="qrNLMM"; version="1.0"; sha256="0vlinc3bggapff29dyz14vn122gy6aq3rp38v2bpnxfkbpj10lvy"; depends=[matrixcalc mvtnorm ghyp quantreg psych ald]; };
+qrfactor = derive { name="qrfactor"; version="1.4"; sha256="0f02lh8zrc36slwqy11x03yzfdy94p1lk5jar9h5cwa1dvi5k8gm"; depends=[mvoutlier mgraph pvclust cluster maptools]; };
+qrnn = derive { name="qrnn"; version="1.1.2"; sha256="01wsz9qcdiayi7gsyy2y09jyyapanyhlc4pdyman2f7z5nl9yv9i"; depends=[]; };
+qtbase = derive { name="qtbase"; version="1.0.4"; sha256="02yilvywkcqn3y9ayix18cgkwhi0gh69fl3fcw28fs2zxf1hqy75"; depends=[]; };
+qtl = derive { name="qtl"; version="1.36-6"; sha256="1qn8fv0s2934pbds2962isr8y96s2k0jlh6y27rz21qlpryrbijb"; depends=[]; };
+qtlDesign = derive { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; };
+qtlbim = derive { name="qtlbim"; version="2.0.7"; sha256="0nm7ky5bkzhmfr41fs1pvl51i2df1fz11j55q74ma2wzki5adfps"; depends=[qtl lattice coda MASS]; };
+qtlbook = derive { name="qtlbook"; version="0.18-1"; sha256="09b4w7kqdlmpf0vsjgwbi9sraafzchvk18yzrx72gs151v03nxlm"; depends=[qtl]; };
+qtlhot = derive { name="qtlhot"; version="0.9.0"; sha256="1043rksqqzgmr7q03j18wxgm706prqxq9ki9b9p2dxvc62vfcfih"; depends=[qtl lattice corpcor mnormt]; };
+qtlmt = derive { name="qtlmt"; version="0.1-3"; sha256="01ql0fr2mxl8a8nd6lpig5j8vznv594ygn6bj6d31gj15r5rs8fs"; depends=[]; };
+qtlnet = derive { name="qtlnet"; version="1.3.6"; sha256="044a2p3mpp203kb85s2fr3qiyypm461lrzxkfi0hnzq44qqba169"; depends=[qtl igraph sem pcalg]; };
+qtpaint = derive { name="qtpaint"; version="0.9.0"; sha256="06yqakg134mks8q7a40f5knjpcm1k2wdzchs0ywvfpwvpwgwig01"; depends=[qtbase qtbase qtbase]; };
+qtutils = derive { name="qtutils"; version="0.1-3"; sha256="018k9v3mab1mfcjh4mv1a1iish50fwdhb51mqn17k6fyrrrv7vs5"; depends=[qtbase qtbase qtbase]; };
+quad = derive { name="quad"; version="1.0"; sha256="0fak12l19f260k0ygh6zimx8dabzsv7a9i2njw8hnfcs3ndffhv5"; depends=[PearsonDS]; };
+quadprog = derive { name="quadprog"; version="1.5-5"; sha256="0jg3r6abmhp8r9vkbhpx9ldjfw6vyl1m4c5vwlyjhk1mi03656fr"; depends=[]; };
+quadrupen = derive { name="quadrupen"; version="0.2-4"; sha256="0gs565zi5qkccr9f65smvzgq2d97p7i5inksp2492bjvqhsbagxj"; depends=[Rcpp ggplot2 Matrix reshape2 scales Rcpp RcppArmadillo]; };
+qualCI = derive { name="qualCI"; version="0.1"; sha256="09mzsy5ryyrn1gz9ahrh95cpfk7g09pmjjy0m82fh4xc7j5w6kpf"; depends=[combinat]; };
+qualV = derive { name="qualV"; version="0.3-1"; sha256="0p4yfgq2wxwis2w28mdb61x6hzm6sb9bczjdm9bc05ga5srr3sdd"; depends=[KernSmooth]; };
+qualityTools = derive { name="qualityTools"; version="1.54"; sha256="0ylp5a49b4q4max4yz30ia7r12s4jrvqn9zx5a21qcnpinf8b932"; depends=[]; };
+quantchem = derive { name="quantchem"; version="0.13"; sha256="1ga5xa7lsk04flfp1syjzpnvj3i2ypzh1m49vq1xkdwpm6axdy8n"; depends=[MASS outliers]; };
+quantification = derive { name="quantification"; version="0.1.0"; sha256="0987389rr21fl3khgd3a1yq5821hljwm0xlyxgjy1km5hj81diap"; depends=[car]; };
+quantmod = derive { name="quantmod"; version="0.4-4"; sha256="0a8gr2qb2b2w58zyxbyz3dbprmyiwf5cd62xqv4d3rk29l7vk4n8"; depends=[xts zoo TTR]; };
+quantreg = derive { name="quantreg"; version="5.11"; sha256="0pyc1zknkjyvaix76bn84l90zavajsc7jx17x0zanllnh34siizp"; depends=[SparseM]; };
+quantregForest = derive { name="quantregForest"; version="0.2-3"; sha256="06c73f66nnw3vd2dv8h5skzyxbr89i3pyprbb0if721h5d7pm0s7"; depends=[randomForest]; };
+quantregGrowth = derive { name="quantregGrowth"; version="0.3-0"; sha256="0iyqd4gf780xqj2gcinlx0h6r6wy4vc7sp8r4qa1s638qcrp3qwa"; depends=[quantreg]; };
+quantspec = derive { name="quantspec"; version="1.0-2"; sha256="09x3wg7msj11b5kpxbxbbhgw4v05alxaw06gyx076kdnbi9mv0bm"; depends=[quantreg abind zoo snowfall Rcpp Rcpp]; };
+questionr = derive { name="questionr"; version="0.4.2"; sha256="04s9g1njfmsnay3szfnmxw72z60mz0gp8yapwv1hi0p63rr5hv5r"; depends=[shiny highr classInt htmltools]; };
+queueing = derive { name="queueing"; version="0.2.3"; sha256="1gcnd96vqygbhpa1mfls8adjdhkqy8c8427jf2qqq49s3vgzc08y"; depends=[]; };
+quint = derive { name="quint"; version="1.0"; sha256="19dxrssy4dw7v3s4hhhy6yilbc7zb6pvcnh3mm1z6vv5a1wfr245"; depends=[partykit Formula rpart]; };
+quipu = derive { name="quipu"; version="1.9.0"; sha256="1py1qpbwp2smr5di8b3zmzxxhchfmr5qfhqkdiqig28mcnqcmp5n"; depends=[agricolae stringr pixmap shiny xtable]; };
+qvcalc = derive { name="qvcalc"; version="0.8-9"; sha256="1ysbsm65n05vypvvpsbdfbrb60gij50vsmybzi4405g5z2ds1j72"; depends=[]; };
+r2d2 = derive { name="r2d2"; version="1.0-0"; sha256="1zl0b36kx49ymfks8rm33hh0z460y3cz6189zqaf0kblg3a32nsi"; depends=[KernSmooth MASS sp]; };
+r2dRue = derive { name="r2dRue"; version="1.0.4"; sha256="1apdq7zj5fhs349wm9g6y06nn33x24pg3gdp4z1frd18qlacf8z5"; depends=[rgdal sp matrixStats]; };
+r2lh = derive { name="r2lh"; version="0.7"; sha256="1kkyjv9x2klrjnaaw4a16sxdfqmpp9s5mlclzlczlqjypbf2aa6d"; depends=[]; };
+r2stl = derive { name="r2stl"; version="1.0.0"; sha256="18lvnxr40cm450s8qh09c3cnkl1hg83jhmv1gzsv6nkjrq4mj5wh"; depends=[]; };
+r4ss = derive { name="r4ss"; version="1.22.1"; sha256="1rjnglwa3i8rlzyqqr5h8yh7vglrh8zpd3829qcc1vfi4swcwwqw"; depends=[coda corpcor gplots gtools maps pso RCurl]; };
+rARPACK = derive { name="rARPACK"; version="0.7-0"; sha256="1r1ypa56wkxvll9yqr50f3x2krimi22lwyrkksf5zf6laksmiq1w"; depends=[Matrix Rcpp Rcpp RcppEigen]; };
+rAltmetric = derive { name="rAltmetric"; version="0.6"; sha256="0ym8p9rq64ig3vlaimk38rmc2h1315bphx7v1rd6g4gypgx4ym15"; depends=[plyr RCurl reshape2 png ggplot2 RJSONIO]; };
+rAverage = derive { name="rAverage"; version="0.4-13"; sha256="0yfy81p99a3cb31cagxdvby7l2hcc60g3mnfizd9nvgamdmw08sy"; depends=[]; };
+rAvis = derive { name="rAvis"; version="0.1.2"; sha256="0m5dl8as0vmmsd3j0z0xwcpq55yfax42fa67qn4lsnaglyqmd4lm"; depends=[stringr XML RCurl scrapeR gdata scales rgdal maptools raster sp]; };
+rBeta2009 = derive { name="rBeta2009"; version="1.0"; sha256="0ljzxlndn9ba36lh7s3k4biim2qkh2mw9c0kj22a507qbzw1vgnq"; depends=[]; };
+rCMA = derive { name="rCMA"; version="1.0.0"; sha256="16d3cdxiaq65lwbvq8wjcp89vrfdp9kwrdl2jy9fynsg0v2lasvp"; depends=[rJava]; };
+rCUR = derive { name="rCUR"; version="1.3"; sha256="1f38xbc5n91k2y88cg0sv1z2p4g5vl7v2k1024f42f7526g2p2lx"; depends=[MASS Matrix lattice]; };
+rCarto = derive { name="rCarto"; version="0.8"; sha256="08813l4xfahjyn0jv48q8f6sy402n78dqsg01192pxl2dfc2i9ry"; depends=[RColorBrewer maptools classInt]; };
+rChoiceDialogs = derive { name="rChoiceDialogs"; version="1.0.6"; sha256="0lp8amdalirpsba44aa3r31xnhmi36qb9qf8f8gdxxbarpgprsbi"; depends=[rJava]; };
+rClinicalCodes = derive { name="rClinicalCodes"; version="1.0.1"; sha256="1p4p8r2n0k8h9xdzbngb95rshjp3376f5lsx228biqmswhpkhvlf"; depends=[stringr RCurl XML rjson tm]; };
+rDEA = derive { name="rDEA"; version="1.0-2"; sha256="1npknid10w6by7ka7dham4vdbx6hyy09dvakq8mp5vfysxf5akf3"; depends=[slam truncreg truncnorm maxLik]; };
+rDNA = derive { name="rDNA"; version="1.30.1"; sha256="12h83zirv55sryc1zww97ws8kvsym1z7p7y5d4w43nam8mi3fpcd"; depends=[rJava]; };
+rDVR = derive { name="rDVR"; version="0.1.1"; sha256="19a4f9k65bd49vkn3sxkjdmcpwyawk7gwmvancvqr745gfgs0wzg"; depends=[RCurl]; };
+rEMM = derive { name="rEMM"; version="1.0-8"; sha256="1d8nwranqfvr9c0g2ny7akawgqk5hjnr1mclk87gmbmwn9iwik34"; depends=[proxy MASS clusterGeneration igraph]; };
+rFDSN = derive { name="rFDSN"; version="0.0.0"; sha256="1ffiqpdzy4ipy2aci22zkih4373ifkjkpvsrza8awhyf9fwqwdsl"; depends=[XML]; };
+rFerns = derive { name="rFerns"; version="1.1.0"; sha256="00ddb9zwf4hqkx9qmrndz182mg69mb5fyg0v0v4b32sy4sixnps5"; depends=[]; };
+rGammaGamma = derive { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; };
+rHealthDataGov = derive { name="rHealthDataGov"; version="1.0.1"; sha256="0lkjprss15yl6n9wgh79r4clip3jndly2ab1lv4iijzxnxay099d"; depends=[bit64 httr jsonlite]; };
+rHpcc = derive { name="rHpcc"; version="1.0"; sha256="0096z90mmf1j2xpb9034a5ph52m8z6n6xjh3km2vrhw63g3cpwap"; depends=[RCurl XML]; };
+rJPSGCS = derive { name="rJPSGCS"; version="0.2-7"; sha256="1j8lc56q20b0qkl20r8mqa6q822rpfphj00dlmj50rgwk02pfc69"; depends=[rJava]; };
+rJava = derive { name="rJava"; version="0.9-6"; sha256="008g6s6rcb5lnz5y2a2rs4iq85a4nl522g714s1w1r153qcc0jz0"; depends=[]; };
+rJavax = derive { name="rJavax"; version="0.3"; sha256="0sv2fjinp4wmdfvcpgm4hv8v3fkiiv84ywqyr4hz86j50ncd79km"; depends=[rJava]; };
+rJython = derive { name="rJython"; version="0.0-4"; sha256="13fpcw37cca738v9idqgi3gv9avfkfwfacxj54p2c4wyg46ghnah"; depends=[rJava rjson]; };
+rLTP = derive { name="rLTP"; version="0.1"; sha256="0dv8jj8rgcx4cbbs10sqdblcznxgm9ld5md922ghnka4ymar244m"; depends=[RCurl]; };
+rLakeAnalyzer = derive { name="rLakeAnalyzer"; version="1.4"; sha256="1qs8f4sv044bxrf45wzfj444plkcq3i61353881x8shn13h3awas"; depends=[plyr]; };
+rLindo = derive { name="rLindo"; version="8.0.1"; sha256="05qyc4wvpjgw8jxmwn2nwybi695fjn0cdilkprwmjg07c82f0q5n"; depends=[]; };
+rNMF = derive { name="rNMF"; version="0.5.0"; sha256="1nz6h0j5ywdh48m0swmhp34hbkycd7n13rclrxaw85qi9wc42597"; depends=[nnls knitr]; };
+rNOMADS = derive { name="rNOMADS"; version="2.1.3"; sha256="1m2qbkqaninczs4v558vpzkiqh0rngkmpp9sk7y4k5j3g4x1jrpf"; depends=[rvest scrapeR stringr fields GEOmap MBA RCurl XML]; };
+rPlant = derive { name="rPlant"; version="2.7"; sha256="0gqxb49d6qzkd533s9qp75byvz66v1csdlnmh3m2zg96aw32178r"; depends=[rjson RCurl seqinr knitcitations]; };
+rPref = derive { name="rPref"; version="0.5"; sha256="0wgyf785izfhx1jvff4as1dir1s432z9v2b2rgdxvay9y5zpc2ar"; depends=[Rcpp RcppParallel dplyr igraph Rcpp RcppParallel]; };
+rPython = derive { name="rPython"; version="0.0-5"; sha256="0d608v1x8walwnx7aa3m0n7999jlbiymhl7605z4n7ps6l1140mv"; depends=[RJSONIO]; };
+rSCA = derive { name="rSCA"; version="2.1"; sha256="1lpix8xsjzyhgksmigvqxpv2bvaka0b1q2kcvdyfrfcw713n19rw"; depends=[]; };
+rSFA = derive { name="rSFA"; version="1.04"; sha256="0gd6ji1ynbb04rfv8jfdmp7dqnyz8pxcl5636fypd9a81fggl0gs"; depends=[MASS]; };
+rSPACE = derive { name="rSPACE"; version="1.1.0"; sha256="1kj6l41wdm2dqygwfdlfrys9idykjfj6vmv6pzbgp998a29fm53s"; depends=[raster RMark ggplot2 tcltk2 sp plyr]; };
+rSymPy = derive { name="rSymPy"; version="0.2-1.1"; sha256="1mrfpyalrq8b6yicy28jsj0xy7hlawa72imsfhabwd3hrx6ld150"; depends=[rJython]; };
+rTensor = derive { name="rTensor"; version="1.2"; sha256="1qikicdi8d5yhw43660m8v587f5xzs2k2lpmbhfw037n0liivay2"; depends=[]; };
+rUnemploymentData = derive { name="rUnemploymentData"; version="1.0.0"; sha256="1gbmr3kcv3wv4lmr7171sd76p95nhsa104955yi7y6wd5h0hk1ba"; depends=[stringr choroplethr rvest]; };
+rWBclimate = derive { name="rWBclimate"; version="0.1.3"; sha256="0vs56hx7a85pw4jx8nb8bdlr9dbkl4zdhzhqsm0505xc3qz18vxh"; depends=[ggplot2 httr plyr rgdal jsonlite reshape2 sp]; };
+rYoutheria = derive { name="rYoutheria"; version="1.0.0"; sha256="1yj66ars5a8mbv2axl6l5g7wflwz3j4mhwk3iz5w33rfhixixm9l"; depends=[plyr RJSONIO reshape2 RCurl]; };
+race = derive { name="race"; version="0.1.59"; sha256="13jprlnngribgvyr7fbg9d36i8qf3cax85n71dl71iv0y24al1cy"; depends=[]; };
+radar = derive { name="radar"; version="1.0.0"; sha256="1wh5j3cfbj01jx2kbm9ca5cqhbb0vw7ifjn426bllm4lbbd8l273"; depends=[]; };
+radiant = derive { name="radiant"; version="0.1.75"; sha256="0rk971rr15w87b50rhf8vdr6vhs3lfd08vdrp1f7h9higrwk0as8"; depends=[lubridate ggplot2 dplyr magrittr car MASS gridExtra AlgDesign GPArotation psych wordcloud markdown knitr ggdendro broom tidyr pryr shiny shinyAce]; };
+radir = derive { name="radir"; version="1.0"; sha256="1aiy92r854h1l9fsa8j65w495hj7hll7k1csfnvb92h0wh0bxyzy"; depends=[hermite]; };
+rags2ridges = derive { name="rags2ridges"; version="1.4"; sha256="1vwd39vp8xdrcz1kfsjng3lzfrfb3czsxg1kvll5d275xsrhz5ix"; depends=[igraph expm reshape ggplot2 Hmisc fdrtool snowfall]; };
+rainbow = derive { name="rainbow"; version="3.2"; sha256="043qbbyb1i7b8n3vspr6rdwlpqg3wdn31rsq3hmlahvwrfqma70n"; depends=[MASS pcaPP hdrcde cluster colorspace ks]; };
+raincpc = derive { name="raincpc"; version="0.4"; sha256="0yzpyidvf24frf82pj7rarjh0ncm5dhm0mmpsf2ycqlvp0qld10i"; depends=[SDMTools]; };
+rainfreq = derive { name="rainfreq"; version="0.3"; sha256="0985ck2bglg22gfj7m0hc7kpk0apljsbssf1ci99mgk47yi8fk9v"; depends=[RCurl SDMTools]; };
+ramps = derive { name="ramps"; version="0.6-13"; sha256="1y7jaajzbf6d9xwr0rg0qr43l8kncgwbpfy5rpka90g3244v8nwz"; depends=[coda maps Matrix nlme fields]; };
+randaes = derive { name="randaes"; version="0.3"; sha256="14803argy0xdd8mpn4v67gbp90qi2is4x6na9zw7i9pm504xji1x"; depends=[]; };
+random = derive { name="random"; version="0.2.3"; sha256="1ljz54i73bzxh69v7xjklajcl526pdapr0jgdwd6prfilafhf618"; depends=[curl]; };
+random_polychor_pa = derive { name="random.polychor.pa"; version="1.1.4-1"; sha256="1051v7krrawdqnhz9q01rsknp2i7iv82d370q7m9i9d9i8wfnpk5"; depends=[psych nFactors boot MASS mvtnorm sfsmisc]; };
+randomForest = derive { name="randomForest"; version="4.6-10"; sha256="0glj08w6sbabr3n71kzd5w3jb7vhrys8rq904j27a4xk0qp4s5lv"; depends=[]; };
+randomForestSRC = derive { name="randomForestSRC"; version="1.6.1"; sha256="174ky1wwdpq6wkn8hanfpfgy55jf6v1hlm6k688gjs0515y5490r"; depends=[]; };
+randomGLM = derive { name="randomGLM"; version="1.02-1"; sha256="031338zxy6vqak8ibl2as0l37pa6qndln0g3i9gi4s6cvbdw3xrv"; depends=[MASS foreach doParallel]; };
+randomLCA = derive { name="randomLCA"; version="1.0-2"; sha256="14v6jmsbyzmavxjdwh9nb0lljhc7kdly4p1v2a9jypjil6kk5ibc"; depends=[lattice boot fastGHQuad]; };
+randomNames = derive { name="randomNames"; version="0.0-8"; sha256="10fhqxnnw6gk5g8jnb83hh2nvvj65g8mwy7rfln8yzq93gjxnykm"; depends=[data_table]; };
+randomUniformForest = derive { name="randomUniformForest"; version="1.1.5"; sha256="1amr3m7h5xcb8gahrr58233chsnx1naf9x5vpjy9p5ivh71xcxf7"; depends=[Rcpp doParallel iterators foreach ggplot2 pROC gtools cluster MASS Rcpp]; };
+randomizationInference = derive { name="randomizationInference"; version="1.0.3"; sha256="0x36r9bjmpx90fz47cha4hbas4b31mpnbd8ziw2wld4580jkd6mk"; depends=[permute matrixStats]; };
+randomizeBE = derive { name="randomizeBE"; version="0.3-1"; sha256="06hj614wp9lb348qwyqgw5zk2vn0m81bkwz4jprgjd72kpy8kv1h"; depends=[]; };
+randomizr = derive { name="randomizr"; version="0.2.2"; sha256="0g870sr8zjfl1dh3ay14kd6v6jg2qw86w2wcdzr8f201xy5i1fgr"; depends=[]; };
+randtests = derive { name="randtests"; version="1.0"; sha256="03z3kxl4x0l91dsv65ld9kgc58z82ld1f4lk18i18dpvwcgkqk82"; depends=[]; };
+randtoolbox = derive { name="randtoolbox"; version="1.16"; sha256="03z4g2mmdywsgl95xbj80awirkgrghdk2kwhsh58p00aq4bpl5ff"; depends=[rngWELL]; };
+rangeMapper = derive { name="rangeMapper"; version="0.2-8"; sha256="0bxb37gy98smypjj27r3dbd0vfyvaqw2p25qv07j3isykcn2pxpn"; depends=[RSQLite rgdal sp rgeos raster maptools lattice RColorBrewer classInt]; };
+rankhazard = derive { name="rankhazard"; version="1.0"; sha256="1kylg8yjrixbv86i2ffhhn8f5shsj8kvi66k202ari0li92y7dsg"; depends=[survival]; };
+rappdirs = derive { name="rappdirs"; version="0.3"; sha256="1yjd91h1knagri5m4djal25p7925162zz5g6005h1fgcvwz3sszd"; depends=[]; };
+rapport = derive { name="rapport"; version="0.51"; sha256="1qn45nrcawr8d9pkdnpmm37dg31l28gfbnwjl62fs7y691187cqp"; depends=[lattice plyr pander yaml reshape]; };
+rapportools = derive { name="rapportools"; version="1.0"; sha256="1sgv4sc737i12arh5dc3263kjsz3dzg06qihfmrqyax94mv2d01b"; depends=[reshape plyr pander]; };
+rareGE = derive { name="rareGE"; version="0.1"; sha256="0v3a2wns77q923ilddicqzg0108f8kmfdnsff1n65icin7cfzsny"; depends=[MASS nlme survey]; };
+rareNMtests = derive { name="rareNMtests"; version="1.1"; sha256="13r2hipqsf8z9k48ha5bh53n3plw1whb7crpy8zqqkcac8444b2z"; depends=[vegan]; };
+rasclass = derive { name="rasclass"; version="0.2.1"; sha256="04g2sirxrf16xjmyn4zcci757k7sgvsjbg0qjfr5phbr1rssy9qf"; depends=[car nnet RSNNS e1071 randomForest]; };
+raster = derive { name="raster"; version="2.3-33"; sha256="1mjsy36r2rflsnl0y0n805mq536jqvsba20xdhpl1iv2sknmxz2a"; depends=[sp]; };
+rasterVis = derive { name="rasterVis"; version="0.35"; sha256="0kdpng32b3l0hsf24zzj5m5srcka1wr26dpxfjxxsyilg6frp83r"; depends=[raster lattice latticeExtra sp zoo hexbin RColorBrewer]; };
+rateratio_test = derive { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; };
+raters = derive { name="raters"; version="2.0.1"; sha256="16jnx6vv39k4niqkdlj4yhqx8qbrdi99bwzxjahsxr12ab5npbp1"; depends=[]; };
+rationalfun = derive { name="rationalfun"; version="0.1-0"; sha256="15949vs9pdjz7426zhgqn7y87xzn79ikrpa2vyjnsid1igpyh0mp"; depends=[polynom]; };
+rattle = derive { name="rattle"; version="3.4.1"; sha256="1ql7zppca6p9cph0wca5wxhhn5f8spzpxa8r65372mvigg0iw6k3"; depends=[]; };
+rawFasta = derive { name="rawFasta"; version="1.0.0"; sha256="0krvs8d1r8hggjg84n7g3ncdkifa3hipbma98f49kf81fzn2npip"; depends=[]; };
+rbamtools = derive { name="rbamtools"; version="2.10.0"; sha256="00y5393nac4x1vz9m5li0053cr679dj29v7ss6njgph8q27mv19c"; depends=[]; };
+rbefdata = derive { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[XML RCurl rjson wordcloud rtematres RColorBrewer]; };
+rbenchmark = derive { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; };
+rbhl = derive { name="rbhl"; version="0.1.0"; sha256="1m2n1qczhhdlv9pkmw9dlqi2wmdw8wac8d557c4rk0vnzwzgpgpi"; depends=[httr XML RJSONIO plyr]; };
+rbiouml = derive { name="rbiouml"; version="1.5"; sha256="1q0n207lhb2jj1s5qb4jslxaxj7xj49l487v0mlncnlf6217j3pz"; depends=[RCurl RJSONIO]; };
+rbison = derive { name="rbison"; version="0.4.5"; sha256="1bvirsil4674r5xb0ksmzdrg0km988rsmq93mr0q6a089zw9lhna"; depends=[plyr httr mapproj ggplot2 gridExtra maptools sp dplyr jsonlite]; };
+rbitcoinchartsapi = derive { name="rbitcoinchartsapi"; version="1.0.4"; sha256="0r272jvjh3rzch8dmn4s0a5n5k6dsir7pr4qswzfvafqjdiwjajz"; depends=[RJSONIO RCurl]; };
+rbmn = derive { name="rbmn"; version="0.9-2"; sha256="1zy832y399cmfmhpyfh7vfd293fylf1ylmp8w8krkmzkmyfa80f2"; depends=[MASS]; };
+rbounds = derive { name="rbounds"; version="2.1"; sha256="1h334bc37r1vbwz1b08jazsdrf6qgzpzkil9axnq5q04jf4rixs3"; depends=[Matching]; };
+rbugs = derive { name="rbugs"; version="0.5-9"; sha256="1kvn7x931gjpxymrz0bv50k69s1x1x9mv34vkz54sdkmi08rgb3y"; depends=[]; };
+rbundler = derive { name="rbundler"; version="0.3.7"; sha256="0wmahn59h9vqm6bq1gwnf6mvfkyhqh6xvdc5hraszn1419asy26f"; depends=[devtools]; };
+rcbalance = derive { name="rcbalance"; version="1.3"; sha256="1s38rfn44wmllwpqzxm0w2bjl649i7qfadwdnn0mnp1q86vsmi3q"; depends=[MASS plyr]; };
+rcdd = derive { name="rcdd"; version="1.1-8"; sha256="09bb92rp44palx9dvc9pb0gdmb1g22289xjk8p9s918lalc6i9aw"; depends=[]; };
+rcdk = derive { name="rcdk"; version="3.3.2"; sha256="02rlg3w8dbmag8b4z4wayh7xn61xc9g3647kxg91r0mvfhmrxl2h"; depends=[fingerprint rJava rcdklibs png iterators]; };
+rcdklibs = derive { name="rcdklibs"; version="1.5.8.4"; sha256="0mzkr23f4d639vhxfdbg44hzxapmpqkhc084ikcj93gjwvdz903k"; depends=[rJava]; };
+rcicr = derive { name="rcicr"; version="0.3.0"; sha256="0fvv6diqg6sw3ar3gzvhl3mbm6zvx0k12lzsa92mccg0giqa9n0w"; depends=[matlab aspace jpeg]; };
+rclinicaltrials = derive { name="rclinicaltrials"; version="1.4.1"; sha256="1x8mj4gzfpgvdj3glwanr76g5x8pks8fm806bvnfls35g967z4p4"; depends=[httr XML plyr]; };
+rcppbugs = derive { name="rcppbugs"; version="0.1.4.1"; sha256="0wb5mzw1sdrr7lc6izilv60k5v0wcvy8q31a863b63a9jvh16g8d"; depends=[Rcpp Rcpp RcppArmadillo BH]; };
+rcrossref = derive { name="rcrossref"; version="0.3.0"; sha256="1w822n6mlld7fa92iy38xjvgnkhyns3mvy7vaqabgr2bikcz6545"; depends=[jsonlite XML httr plyr bibtex dplyr]; };
+rda = derive { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; };
+rdatamarket = derive { name="rdatamarket"; version="0.6.5"; sha256="1y4493cvhcgyg2j5hadx1fzmv2lzwan78jighi2dzyxxzv6pxccn"; depends=[zoo RCurl RJSONIO]; };
+rdd = derive { name="rdd"; version="0.56"; sha256="1x61ik606mwn46x3qzgq8wk2f6d5qqr95h30bz6hfbjlpcxw3700"; depends=[sandwich lmtest AER Formula]; };
+rdetools = derive { name="rdetools"; version="1.0"; sha256="0pkl990viv7ifr7ihgdcsww93sk2wlzp2cg931wywagfp8dijd02"; depends=[]; };
+rdrobust = derive { name="rdrobust"; version="0.80"; sha256="02adafhbjp259hbbbk32yllgn35xxim2mwn6yixv4wh5dgr974v6"; depends=[]; };
+rdryad = derive { name="rdryad"; version="0.1.1"; sha256="0mqpkmwkznyxj0nn1v389p741dlc66dixcvljsn2rvg0q6p75fkj"; depends=[XML RCurl OAIHarvester ape gdata plyr stringr RJSONIO]; };
+readBrukerFlexData = derive { name="readBrukerFlexData"; version="1.8.2"; sha256="1cagv6l29h3p87h7c2bgba23v2wxrs2kg4zg1dk046m2x11mwx3c"; depends=[]; };
+readGenalex = derive { name="readGenalex"; version="0.4.1"; sha256="02rdx5ya06wpn0r6709aw6f86hk2xivfvjq5mggmm4dmlzgkwg0x"; depends=[]; };
+readMLData = derive { name="readMLData"; version="0.9-7"; sha256="0l752j1jq37j9pdcsbmcb23b5l8fkfsbisfr3yjy3q4rxsphc7k6"; depends=[XML]; };
+readMzXmlData = derive { name="readMzXmlData"; version="2.8"; sha256="0x5h3dh6fkc30m6gx6pzmrxr31s80d1qgpcakspjza53qn6fjb16"; depends=[base64enc digest XML]; };
+readODS = derive { name="readODS"; version="1.4"; sha256="00xcas8y0cq3scgi9vlfkrjalphmd7bsynlzpy7izxa5w9b7x79f"; depends=[XML]; };
+readbitmap = derive { name="readbitmap"; version="0.1-4"; sha256="08fqqsdb2wsx415mnac9mzl5sr5and0zx72ablnlidqfxv8xsi9d"; depends=[bmp jpeg png]; };
+reader = derive { name="reader"; version="1.0.4"; sha256="0hfv6x80c3jlhy5pspibbpfqqik0rly399qh4b1wn5da0vrbmvs3"; depends=[NCmisc]; };
+readstata13 = derive { name="readstata13"; version="0.5-3"; sha256="0mfl8w3rgpix02zjxik09l2fg33v066bm1i6l9dirjk65741fa48"; depends=[Rcpp Rcpp]; };
+reams = derive { name="reams"; version="0.1"; sha256="07hqi0y59kv5lg0nl75xy8n48zw03y5m71zx58aiig94bf3yl95c"; depends=[leaps mgcv]; };
+rebird = derive { name="rebird"; version="0.1.1"; sha256="0s8wmp2sghs56ppca57fjfab7wngszmy1g8rd3hiwx6br0sjidcg"; depends=[RJSONIO httr RCurl plyr]; };
+rebmix = derive { name="rebmix"; version="2.7.0"; sha256="180kvij3aaxvqcbidfjir9jvlhjib20nam5pvin9qn2prhdscjmk"; depends=[]; };
+rebus = derive { name="rebus"; version="0.0-5"; sha256="06rl6knnk93k537hhjx4r55hq6hssij7xc426ilki329vwfi5kyf"; depends=[]; };
+recalls = derive { name="recalls"; version="0.1.0"; sha256="121r2lf32x4yq8zxx6pbnphs7ygn382ns85qxws6jnqzy52q41vh"; depends=[RCurl RJSONIO]; };
+reccsim = derive { name="reccsim"; version="0.9-1"; sha256="17nsp91xq20vfwjfwav80qjs2wc7gwpmrdnwv7lc61baq0kkcs7k"; depends=[]; };
+recluster = derive { name="recluster"; version="2.8"; sha256="05g8k10813zbkgja6gvgscdsjd99q124jx31whncc4awdsgk69s4"; depends=[vegan ape picante phangorn phytools cluster]; };
+recommenderlab = derive { name="recommenderlab"; version="0.1-5"; sha256="1hpgd2la4wnlxx5h8cjni4i978hdssr041zrg851lpjrkbxmxfsi"; depends=[Matrix registry arules proxy]; };
+recommenderlabBX = derive { name="recommenderlabBX"; version="0.1-0"; sha256="0dl79cxarsfp8l4nxnns05jwnjygigjhwpjrr4lzx4nvsfxmgsr2"; depends=[recommenderlab]; };
+recommenderlabJester = derive { name="recommenderlabJester"; version="0.1-0"; sha256="1m5jg8gs16cwwwcnjzqkyzwyip8fshrwhmqz8g7nlf6g3p9347rl"; depends=[recommenderlab]; };
+reconstructr = derive { name="reconstructr"; version="0.5"; sha256="0lffi30grk88na2jmkbhs62xf3d8mzrmjsiajrpp7dsaxa650bf0"; depends=[Rcpp Rcpp]; };
+recosystem = derive { name="recosystem"; version="0.2.5"; sha256="0i5rgkmjaz50qlyi85hmr61r0iir53prrphzvnjq5bjchb1k3m09"; depends=[Rcpp Rcpp]; };
+redcapAPI = derive { name="redcapAPI"; version="1.3"; sha256="08js2lvrdl9ig0pq1wf7cwkmvaah6xs65bgfysdhsyayx0lz5rii"; depends=[chron DBI Hmisc httr stringr]; };
+ref = derive { name="ref"; version="0.99"; sha256="0f0yz08pqpg57mcm7rh4g0rbvlcvs5fbpjkfrq7fmj850z1ixvw0"; depends=[]; };
+refGenome = derive { name="refGenome"; version="1.3.0"; sha256="121aw4w84hlhxgwlf1gh0w3ydvd8zsijrh0q7fzcwi1vdgnjb7lv"; depends=[doBy RSQLite DBI]; };
+referenceIntervals = derive { name="referenceIntervals"; version="1.1.1"; sha256="04199nxh216msaghkp66zsi96h76a7c42ldml0fm66v2vamcslg8"; depends=[boot extremevalues car outliers]; };
+refset = derive { name="refset"; version="0.1.0"; sha256="0yj87sp6ghxv20hz5knmw3d7way1hsggk759wqxsbfprd38y6khd"; depends=[]; };
+refund = derive { name="refund"; version="0.1-11"; sha256="1afsxab1jivs4vj6diqh7352v98divna6az1dxsdn7lvw6cmph6y"; depends=[fda lattice boot mgcv MASS glmnet magic nlme wavethresh Matrix gamm4 matrixStats lme4 RLRsim]; };
+refund_wave = derive { name="refund.wave"; version="0.1"; sha256="1vnhg7gi5r8scwivqjwhrv72sq8asnm4whx3jk39saphdxpk5hxv"; depends=[glmnet wavethresh]; };
+regRSM = derive { name="regRSM"; version="0.4"; sha256="1rg74jqj8rw69q6my0n4alflx7mgfwng35ff72bxwjhn9ghhj347"; depends=[]; };
+regexr = derive { name="regexr"; version="1.0.2"; sha256="1mr8qmiz9bgq5v6f065z40aj9zllidsv6gg8mjc28zxmkz5zn6gp"; depends=[]; };
+registry = derive { name="registry"; version="0.2"; sha256="1ifv9sql70kylfj12cdb1j1zpk3ix728m8qj46sf1zyc5mhll01s"; depends=[]; };
+reglogit = derive { name="reglogit"; version="1.2-2"; sha256="0nq60s8l860z6nd52l6c77vamis7hl2j667gkxry0jir2pxsk4jp"; depends=[mvtnorm boot Matrix]; };
+regpro = derive { name="regpro"; version="0.1.0"; sha256="0d47ffsqx1633pmf3abi7wksyng2g71mz2z9nb2zqdak794l1n44"; depends=[denpro]; };
+regress = derive { name="regress"; version="1.3-14"; sha256="0qnks28fr8siq95iiiqyvz82cbdg14i18rj7g9rqyjhiam12fshl"; depends=[]; };
+regsubseq = derive { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; };
+regtest = derive { name="regtest"; version="0.05"; sha256="1wrrpp2hvkas0yc512gya3pvd0v97pn4v51k5jxkwyd1pp68zd1q"; depends=[]; };
+rehh = derive { name="rehh"; version="1.11"; sha256="1fvcwi9ijj886aswphblkxzgivmk76gr1m3s6zqblcbybxypm5cg"; depends=[gplots]; };
+relSim = derive { name="relSim"; version="0.1-47"; sha256="13asl14f3547nl50jwrk72pbm2vx140k27gz3b38j28cpmvi03mz"; depends=[DNAtools]; };
+rela = derive { name="rela"; version="4.1"; sha256="00ksm7zh1mpd2d5c5d823id3sxj0h3x0ccg6a40fadibvr1ay3ny"; depends=[]; };
+relaimpo = derive { name="relaimpo"; version="2.2-2"; sha256="1rxjg2yw2gyshaij98w83cshxwscnq3ql7bg13n7v4nbjsi1l6zh"; depends=[MASS boot survey mitools corpcor]; };
+relations = derive { name="relations"; version="0.6-4"; sha256="02pzyygz4jnv91v90xkldplcwsbd4z5rbmyldlgjdlbpacs3chna"; depends=[cluster slam sets]; };
+relax = derive { name="relax"; version="1.3.15"; sha256="0cgvxw3pmy9kx8p81bb5n5nnbn6l9hm07k6hdy7p2j2gl15xxnpq"; depends=[]; };
+relaxnet = derive { name="relaxnet"; version="0.3-2"; sha256="1l83rk7r4vkcxbfljmibzm8lzpx0vf406hv4h5cy9x0k3rz2bfh0"; depends=[glmnet]; };
+relaxo = derive { name="relaxo"; version="0.1-2"; sha256="1rzmq7q3j271s6qwwrmwidv0vxcjpgjhyiqgr6fkczkai2lbnd8x"; depends=[lars]; };
+reldist = derive { name="reldist"; version="1.6-4"; sha256="0v86wws29zy67jidrvfxkfwhpxppqrpq5h3b22cjif5qjqz3kk8f"; depends=[mgcv]; };
+relevent = derive { name="relevent"; version="1.0-4"; sha256="10bf1s7jmas8ck1izqibqcaqg4z55ciwdpd9pm2697y8z0jhr2rj"; depends=[trust sna coda]; };
+reliaR = derive { name="reliaR"; version="0.01"; sha256="000nafjp386nzd0n57hshmjzippiha6s6c4nfrcwl059dzmi088i"; depends=[]; };
+relimp = derive { name="relimp"; version="1.0-4"; sha256="1i9j218b6lh6ag4a8x4vwhmqqclbzx46mpwd36s8hdqayzs6lmad"; depends=[]; };
+relsurv = derive { name="relsurv"; version="2.0-4"; sha256="1da3sj7hks5azm18m23fh8r2g02p0nivgilayndxwwvd1i70ycrx"; depends=[survival date MASS]; };
+remMap = derive { name="remMap"; version="0.2-0"; sha256="1k2niiaq2lr4inrx443clff9cqqvyiiwd45k7yqjd8ixnbaa3mrk"; depends=[]; };
+remix = derive { name="remix"; version="2.1"; sha256="0s1gaf7vj08xd4m7lc9qpwvk0mpamabbxk71970mfazx6hk24dr0"; depends=[plyr survival Hmisc ascii]; };
+remote = derive { name="remote"; version="0.3.0"; sha256="1f41j26grkv4830bvi6z16b63yksplrq3yg1amd4l634lwhp6x55"; depends=[Rcpp raster foreach Rcpp]; };
+rentrez = derive { name="rentrez"; version="0.4.1"; sha256="1prpzfq5106f0r5z4ffjvs9qkmfaf67icj8k1wngqwmvl2wg88gq"; depends=[XML httr jsonlite]; };
+repfdr = derive { name="repfdr"; version="1.1"; sha256="1k85y27k42kw5zmbrnnqb62x3djjzdm4zrvm2g4dl8ykdlnaikv9"; depends=[]; };
+replicationInterval = derive { name="replicationInterval"; version="0.3"; sha256="1zqs114514xj59dlkhw5kmq73grghmb3i5rnnq05qzgf5wjn581i"; depends=[MBESS]; };
+repmis = derive { name="repmis"; version="0.4"; sha256="0m54pif9sj1lf23wbykxlsab3q1b90bwz8cwkh2ibic6gyh5h4dg"; depends=[data_table digest httr plyr R_cache xlsx]; };
+repolr = derive { name="repolr"; version="2.0"; sha256="10wg07sfxcxzswf3zh5sx2cm9dxjx11zymy82a4q9awnacb5gp9b"; depends=[gee]; };
+reportRx = derive { name="reportRx"; version="1.0"; sha256="0npiflql0lq8sqp6xgydxbw7xdr0zdxj1s2h4bnpmn4clc05r7m4"; depends=[reshape survival xtable aod cmprsk geoR stringr]; };
+reportr = derive { name="reportr"; version="1.1.2"; sha256="0lxnmay9vgg7dsa3scszx3v4lb6m3bv6kjl0dk7hrl7bd67azdrk"; depends=[]; };
+reports = derive { name="reports"; version="0.1.4"; sha256="0r74fjmdqax2x5fhbkdxb8gsvzi6v794fh81x4la9davz6w1fnxh"; depends=[]; };
+reporttools = derive { name="reporttools"; version="1.1.1"; sha256="0cnxzq679f860z063j3pbm2c5qcaz45g73khj9rdp3if0cci8ikj"; depends=[xtable]; };
+repra = derive { name="repra"; version="0.4.2"; sha256="1djcs83z8ckpmsbyzscnysmy45z28kswzm852176b9pip21mb1w8"; depends=[data_table dplyr Rcpp reshape2 ggplot2 assertthat Rcpp]; };
+represent = derive { name="represent"; version="1.0"; sha256="0jvb40i6r1bh9ysfqwsj7s1g933d7z5fq9d618yjrqr6hbbqsvac"; depends=[]; };
+reproducer = derive { name="reproducer"; version="0.1.2"; sha256="067yj1dhhikjrnkklsfp6p03gp4lqxwfdwhl6z8djj4rkzi48xm5"; depends=[openxlsx ggplot2 gridExtra]; };
+resample = derive { name="resample"; version="0.2"; sha256="1p6hyd0wi037bsz0xd9gkw28sp4nkj1zmqs9h0lzkxbspn6h0q7j"; depends=[]; };
+resemble = derive { name="resemble"; version="1.1.1"; sha256="0mz5mxm6p1drfx2s9dx35m2bnvirr8lkjjh5b4vdk9p2cdv1qkkv"; depends=[RcppArmadillo foreach iterators pls Rcpp Rcpp RcppArmadillo]; };
+reshape = derive { name="reshape"; version="0.8.5"; sha256="08jm9fb02g1fp9vmiqmc0yki6n3rnnp2ph1rk8n9lb5c1s390f4k"; depends=[plyr]; };
+reshape2 = derive { name="reshape2"; version="1.4.1"; sha256="0hl082dyk3pk07nqprpn5dvnrkqhnf6zjnjig1ijddxhlmsrzm7v"; depends=[plyr stringr Rcpp Rcpp]; };
+reshapeGUI = derive { name="reshapeGUI"; version="0.1.0"; sha256="0kb57isws8gw0nlr6v9lg06c8000hqw0fvhfjsjyf8w6zwbbq3zs"; depends=[reshape2 plyr gWidgets gWidgetsRGtk2]; };
+restlos = derive { name="restlos"; version="0.1-3"; sha256="03bsakp9kd8i468wz7xhdjqb6ck6p9wci3gk2b2bykv73c0g6n95"; depends=[som rgl geometry igraph]; };
+restorepoint = derive { name="restorepoint"; version="0.1.5"; sha256="0xmpxprirnd1yavwk3vkc0cp715d187mn0amppya7kd47iw10wsy"; depends=[]; };
+retimes = derive { name="retimes"; version="0.1-2"; sha256="019sllyfahlqnqry2gqw4w5cy4cavrqnwpwrbb25cgjpdb19raja"; depends=[]; };
+retistruct = derive { name="retistruct"; version="0.5.10"; sha256="1wg2a906y09hcqba42hh9r2x59w35dms2aa5mw44avigc1nwm0s2"; depends=[foreign RImageJROI png ttutils sp geometry RTriangle rgl R_matlab]; };
+reutils = derive { name="reutils"; version="0.1.2"; sha256="0f2c6zxk6x2plq649b1ml6b112j6y8ys074pn30yw35ncg3h86fa"; depends=[assertthat RCurl XML]; };
+revealedPrefs = derive { name="revealedPrefs"; version="0.2"; sha256="1f871y4wkjznzgwxfbnmrfiafq43cyf0i5hjy68ybxc7bbvfryxc"; depends=[Rcpp Rcpp RcppArmadillo]; };
+reweight = derive { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; };
+rex = derive { name="rex"; version="0.2.0"; sha256="1q9dkk94w152naw1lpd2l2v08ikrfgilqx9v5z14dyqaascqbmva"; depends=[magrittr lazyeval]; };
+rexpokit = derive { name="rexpokit"; version="0.24.1"; sha256="143zi6qb0l8vbx87jf58v1zfxqmvv6x4im1knd6q4dpp9gffqs22"; depends=[SparseM Rcpp Rcpp]; };
+rfPermute = derive { name="rfPermute"; version="1.6.2"; sha256="069dhv41bwyp2nywkrr2hihyz8zialhxlyzpfpq4r9lyjnamg2k9"; depends=[ggplot2 randomForest gridExtra]; };
+rfUtilities = derive { name="rfUtilities"; version="1.0-1"; sha256="0y0jn4c5dpr9drjyjg2vsgsb37s0l284hvh35zm53hs8f881ycx3"; depends=[randomForest]; };
+rfigshare = derive { name="rfigshare"; version="0.3.6"; sha256="1n6i5ppn3v93126gvva8sn85v1h4f7hgc43pxja9bwr1ypmzgr45"; depends=[RJSONIO httr httpuv plyr yaml ggplot2 XML]; };
+rfishbase = derive { name="rfishbase"; version="0.2-2"; sha256="09pa5zpw9rclf5pqj1wjjhdcblca9sm9xcs9ka3xfa7azj7n9ljd"; depends=[XML RCurl]; };
+rfisheries = derive { name="rfisheries"; version="0.1"; sha256="1g0h3icj7cikfkh76yff84hil23rfshlnnqmgvnfbhykyr2zmk61"; depends=[httr data_table assertthat ggplot2 rjson]; };
+rfoaas = derive { name="rfoaas"; version="0.1.3"; sha256="0wdb645fx2wsy4vwz43d8ynwx3divpjwbkql52zkikyr8zv21gz5"; depends=[httr]; };
+rfordummies = derive { name="rfordummies"; version="0.0-2"; sha256="01wbhn8wpwkwvkafx4m8l5zj2xjbvwjlzbnwkd4i7g2nrvw29wsx"; depends=[]; };
+rforensicbatwing = derive { name="rforensicbatwing"; version="1.3"; sha256="0ff4v7px4wm5rd4f4z8s4arh48hgayqjfpnni2997c92wlsq3d12"; depends=[Rcpp Rcpp]; };
+rgabriel = derive { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; };
+rgam = derive { name="rgam"; version="0.6.3"; sha256="0mbyyhhyr7ijv2sq9n7g0vaxivngwf4nbb5398xpsh7fxvgw5zdw"; depends=[Rcpp Rcpp RcppArmadillo]; };
+rgauges = derive { name="rgauges"; version="0.2.0"; sha256="0p42hh32wcjcchsalpsan52kvz6nd1gw28xnydqgfzkzcqkl22dd"; depends=[ggplot2 lubridate plyr httr reshape2 gridExtra scales data_table]; };
+rgbif = derive { name="rgbif"; version="0.8.0"; sha256="1sdjlymymfc5chnrc5if0fvf64mjz6sc4071xsw2ja7zcdasxb40"; depends=[XML plyr ggplot2 maps httr rgeos sp data_table stringr whisker magrittr jsonlite]; };
+rgcvpack = derive { name="rgcvpack"; version="0.1-4"; sha256="1vlvw9slrra18qaizqk2xglzky0i6z3bsan85x908wrg8drss4h5"; depends=[]; };
+rgdal = derive { name="rgdal"; version="0.9-2"; sha256="0jzhjy3qnb9aimmwyssinbyxz49hzcfksmxhsqyz3g8868k946g5"; depends=[sp sp]; };
+rgenoud = derive { name="rgenoud"; version="5.7-12"; sha256="17gzkn4laylnksy8h2w8c0whcxpchsx7bwjzk1q5sfqxswclqq0g"; depends=[]; };
+rgeos = derive { name="rgeos"; version="0.3-8"; sha256="0snbfxzh700fn415li0wia94zgb0x73vwdrbrpimvz9k3y43yvp8"; depends=[sp sp]; };
+rggobi = derive { name="rggobi"; version="2.1.20"; sha256="1a7l68h3m9cq14k7y96ijgh0iz3d6j4j2anxg50pykz20lnykr9g"; depends=[RGtk2]; };
+rgl = derive { name="rgl"; version="0.95.1201"; sha256="0vd2zww17p2lcdipv7ijclbisy6ms6d1a4qnwpj1y1kbkhcplw1j"; depends=[]; };
+rglobi = derive { name="rglobi"; version="0.2.6"; sha256="042lc71j49bndlmcxmqdjly48qvqjpif7dgzk4cxsmbil5jmyzks"; depends=[rjson RCurl]; };
+rgp = derive { name="rgp"; version="0.4-1"; sha256="1p5qa46v0sli7ccyp39iysn04yvq80dy2w1hk4c80pfwrxc6n03g"; depends=[emoa]; };
+rgpui = derive { name="rgpui"; version="0.1-2"; sha256="0sh5wj4f2wj6g3r7xaq95q89n0qjavchi5kfi6sj1j34ykybbs3g"; depends=[rgp shiny emoa]; };
+rgr = derive { name="rgr"; version="1.1.10"; sha256="1gmr4px70dwz45zb4w1vqddqpw1idln2rids9cdh2fxppdf9m9x8"; depends=[MASS fastICA]; };
+rgrass7 = derive { name="rgrass7"; version="0.1-0"; sha256="19fwf3gaq25x3imj9kc1112cf9dhafp0d1gjly2xh2gz1kam5wl6"; depends=[sp XML]; };
+rhosp = derive { name="rhosp"; version="1.06"; sha256="0kii29w292kffxablqnmgvl127jwsriz0p5y5d1xd6n8yzji79j3"; depends=[]; };
+ri = derive { name="ri"; version="0.9"; sha256="00y01n9cx95bjhdpnh7vi0xd5p6al3sxbjszbyxafn7m9mygmnhv"; depends=[]; };
+rich = derive { name="rich"; version="0.3"; sha256="122xb729xlm8gyb7b3glw4sdvrh98wh89528kcbibpx83bp3frc0"; depends=[boot vegan permute]; };
+ridge = derive { name="ridge"; version="2.1-3"; sha256="1i5klabnv328kgy7p11nwdid2x7hzl1j80yqqshbraladszyfpwk"; depends=[]; };
+rinat = derive { name="rinat"; version="0.1.4"; sha256="1m5k1wcinm6is3mf86314scgy3xfifz7ly7il5zgqyg9jkkpywbz"; depends=[httr plyr jsonlite ggplot2 maps]; };
+rindex = derive { name="rindex"; version="0.12"; sha256="1k9zihvrp955c4lh70zjlsssviy2app8w6mv5ln4nawackbz0six"; depends=[regtest]; };
+ringbuffer = derive { name="ringbuffer"; version="1.1"; sha256="1jj6zdvqlkc30bnxapg0sjl5ci5kq76611smqc4jc8adzhzwrh3f"; depends=[]; };
+ringscale = derive { name="ringscale"; version="0.1.2"; sha256="1gnnapkvxmkfws8dw41gj9h3svy3h6mi4zv413aykg9vrmy7d3rp"; depends=[FITSio]; };
+rio = derive { name="rio"; version="0.1.2"; sha256="0h80msbj1qcc9m4408qcckw238ydqdzzgr9frlmmc7qi4dyba4i4"; depends=[stringr foreign testthat]; };
+rioja = derive { name="rioja"; version="0.9-3"; sha256="0r164072g4mxq4lznvh72y5r6hnygmd6rwra9whn9s8p31w3g803"; depends=[vegan mgcv lattice gdata]; };
+ripa = derive { name="ripa"; version="2.0-2"; sha256="0n1gaga0d4bb9qdlm7gksa1nwi4y28kbgwr3icwqgihf1bfb9m81"; depends=[Rcpp Rcpp]; };
+riskRegression = derive { name="riskRegression"; version="1.1.1"; sha256="1qjy2wmbfalbxszjfplisqrdca0n0yccr0wvdf1kbzxblba82mx6"; depends=[prodlim rms pec cmprsk survival randomForestSRC]; };
+riskSimul = derive { name="riskSimul"; version="0.1"; sha256="0s2a1mn6g11m96gqscb916caj2aykcs3rkacpqcdnlyzryk1gsnb"; depends=[Runuran]; };
+risksetROC = derive { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[survival MASS]; };
+rite = derive { name="rite"; version="0.3.4"; sha256="196ashcfj5p52qpnpnrkg7vxq87v7vhf1d7z40mk134gmxk2784j"; depends=[tcltk2 RCurl knitr markdown]; };
+riv = derive { name="riv"; version="2.0-4"; sha256="1c9k62plqgxcgcm2j1s26hqvgww96n6bfjz2yk7m3p2wf8gkkyam"; depends=[MASS rrcov quantreg]; };
+rivernet = derive { name="rivernet"; version="1.0"; sha256="0za5k00k9vivpq4wr1xqc4aw7mlcxhjj2b3iiip1qy13fg7bhbjm"; depends=[]; };
+riverplot = derive { name="riverplot"; version="0.3"; sha256="1x02ci6744k3lsqh53vmpmv957b5wwr1idvn16nzixvzknixryq8"; depends=[]; };
+rivervis = derive { name="rivervis"; version="0.39.4"; sha256="1al0ylmpvkxfhkv9i4j6pvrlqn13pdwmzs7s6vazmgmkl3iggav4"; depends=[]; };
+rivr = derive { name="rivr"; version="0.9.1"; sha256="0rdrgsvxmkqwx65w7pz1sg5mkbqbi7c52cfyk7qzpvfgi5glp9zn"; depends=[Rcpp reshape2 Rcpp]; };
+rjade = derive { name="rjade"; version="0.1"; sha256="0f1jljj6m1almz0na984n0g314y0rl6a0mx04rbrpipgfgz1h37c"; depends=[V8]; };
+rjags = derive { name="rjags"; version="3-14"; sha256="1hfsa8jl5imk2j2qnafa5q95zn69bhvijdpvfs64vsiqsalsg7yk"; depends=[coda]; };
+rje = derive { name="rje"; version="1.9"; sha256="1dyd34z6lb0p6zmyax5dpzflgc9a4saka33mvdfcxi5pj0rnygaz"; depends=[]; };
+rjson = derive { name="rjson"; version="0.2.15"; sha256="1vzjyvf57k1fjizlk28rby65y5lsww5qnfvgnhln74qwda7hvl3p"; depends=[]; };
+rjstat = derive { name="rjstat"; version="0.2"; sha256="1ylwp6d3cc8xb8129yr49grx9vb4xyp62ig0qa7vzkbdplba2zr2"; depends=[jsonlite assertthat]; };
+rkt = derive { name="rkt"; version="1.4"; sha256="01c8fwnml1n0sw5lw9p2nz15i1zhxirr0kh39qvjmdiw97c1v1yq"; depends=[]; };
+rkvo = derive { name="rkvo"; version="0.1"; sha256="0ci8jqf9nc8hb063nckxdnp0nlyr4ghby356lxm00anw44jlmw8v"; depends=[Rcpp Rcpp]; };
+rlecuyer = derive { name="rlecuyer"; version="0.3-3"; sha256="1n0vny3k5s5152y0ggz9vfn4bqay9ncbdzkw9g4703pszrbwq7xh"; depends=[]; };
+rlist = derive { name="rlist"; version="0.4"; sha256="00h00jka64m7skrjp1454805fhr3q1k9sqih4pnvbb0maxlzgn7g"; depends=[yaml jsonlite]; };
+rlm = derive { name="rlm"; version="1.1"; sha256="147hn780hjbp8ly3mc5q05g36b080ndq0z0r0vq75c2qfkhybvdc"; depends=[]; };
+rlme = derive { name="rlme"; version="0.4"; sha256="02683sklihj3726a90jryybf855rvbz9v3dm9z9yhb32q9bfmy34"; depends=[MASS quantreg nlme mgcv stringr magic robustbase Rcpp Rcpp]; };
+rmaf = derive { name="rmaf"; version="2.0"; sha256="00qhdfzbjvmz83nicl73yhx7w8sv6j7x928j4vd6ll79098x4y84"; depends=[]; };
+rmarkdown = derive { name="rmarkdown"; version="0.5.1"; sha256="08v16n4a9rdr0fh54hlmfxifbpl40nfr24g3wrjxxacml16smcsd"; depends=[knitr yaml htmltools caTools]; };
+rmatio = derive { name="rmatio"; version="0.11.0"; sha256="0cmlh16nf3r94gpczq0j46g4dgjy9q1c647rqd9i14hvfrpxzcfa"; depends=[Matrix lattice]; };
+rmeta = derive { name="rmeta"; version="2.16"; sha256="1s3n185kk0ddv8v6c7mbc7cpj6yg532r7is6pjf9vda7317rxywy"; depends=[]; };
+rmetasim = derive { name="rmetasim"; version="2.0.4"; sha256="1a3bhiybzdvgqnnyh3d31d6vdsp4mi33sv8ks9b9xd9r369npk86"; depends=[ape ade4 gtools]; };
+rmgarch = derive { name="rmgarch"; version="1.2-8"; sha256="19q35kzyzzs19b4xgslrnl8ihlx1wlmrwfdimnq8racfx0y46lm5"; depends=[rugarch Rsolnp MASS Matrix zoo xts Bessel ff shape pcaPP spd Rcpp Rcpp RcppArmadillo]; };
+rminer = derive { name="rminer"; version="1.4"; sha256="07s971fpl16l4ryrbb24zwy1xx6dwia1ms4hrcpnpz3kb8f6ydda"; depends=[kknn plotrix lattice nnet pls MASS mda rpart randomForest adabag party Cubist kernlab e1071]; };
+rmngb = derive { name="rmngb"; version="0.6-1"; sha256="1wyq8jvzqpy1s6w0j77ngh5x2q7mpj0ib01m8mla20w6yr6xbqjk"; depends=[Hmisc]; };
+rmongodb = derive { name="rmongodb"; version="1.8.0"; sha256="035a76ak6wi21hdvgzzbggz0qnb53rrr2wfx97ngc8ijwhw8hjh7"; depends=[jsonlite plyr]; };
+rmp = derive { name="rmp"; version="1.0"; sha256="1g0785fwjbwbj82sir3n7sg3idsjzdhrpxc7z88339cv9g4rl7ry"; depends=[]; };
+rms = derive { name="rms"; version="4.3-0"; sha256="135mrl7jv310l8w1nxaa5rsvib7j27sbdxz0bi1xxi5zywb8cmf4"; depends=[Hmisc survival lattice ggplot2 gridExtra SparseM quantreg nlme rpart polspline multcomp]; };
+rms_gof = derive { name="rms.gof"; version="1.0"; sha256="1n0h3nrp11f2x70mfjxpk2f3g4vwjaf4476pjjwy49smxxlxwz82"; depends=[]; };
+rnaseqWrapper = derive { name="rnaseqWrapper"; version="1.0-1"; sha256="1fa3hmwrpccf09dlpginl31lcxpj5ypxspa0mlraynlfl5jrivch"; depends=[ecodist gplots gtools]; };
+rnbn = derive { name="rnbn"; version="1.0.3"; sha256="05amrx12b7p4pca1wbysn1n2rxbg5r54mpmga4i3xlpijx9baj80"; depends=[httr]; };
+rncl = derive { name="rncl"; version="0.2.2"; sha256="1l9g7mylj4ip15x4985i27n42fhi9vyi1ii23dc9k27s84b274y7"; depends=[Rcpp ape Rcpp]; };
+rneos = derive { name="rneos"; version="0.2-8"; sha256="0cg88l1irqkx7d72sa5bfqcn5fb5rapvimi1gw15klci39w0s43q"; depends=[RCurl XML]; };
+rngSetSeed = derive { name="rngSetSeed"; version="0.3-2"; sha256="00mqjjkhbnvxqkf1kz16gipsf98q62vmhx9v8140qs7c4ljbhc3a"; depends=[]; };
+rngWELL = derive { name="rngWELL"; version="0.10-3"; sha256="1wijscc0s6h1ipc1r8h179y94s1bzf409xlpiyr1njaxvvvpwvw1"; depends=[]; };
+rngtools = derive { name="rngtools"; version="1.2.4"; sha256="1fcgfqrrb48z37xgy8sffx91p9irp39yqzxv7nqp1x2hnwsrh097"; depends=[pkgmaker stringr digest]; };
+rngwell19937 = derive { name="rngwell19937"; version="0.6-0"; sha256="0m6icqf7nckdxxvmqvwfkrpjs10hc7l8xisc65q8iqpnpwl5p2f6"; depends=[]; };
+rnoaa = derive { name="rnoaa"; version="0.3.3"; sha256="12iwyl0nr6d8xpl5vcqwli4rlh79y8l13sfj34457klqdzmrg126"; depends=[httr lubridate plyr ggplot2 scales sp RCurl rgdal rgeos maptools stringr XML data_table jsonlite digest]; };
+rnrfa = derive { name="rnrfa"; version="0.1.5"; sha256="0lpa0gmf9j9adq0p41jgayzcwg6220bihnsfqj55d217mfalbhnd"; depends=[XML2R RCurl zoo rjson rgdal sp stringr]; };
+robCompositions = derive { name="robCompositions"; version="1.9.0"; sha256="0kplw0zlszfarkhsk2hrakf649c3sl1ig8l8xhknj1v2qwkblbx2"; depends=[robustbase rrcov GGally MASS pls]; };
+robcor = derive { name="robcor"; version="0.1-6"; sha256="1hw8simv93jq8a5y79hblhqz157wr8q9dzgm0xhvvv5nkzyqkpzf"; depends=[]; };
+robeth = derive { name="robeth"; version="2.7"; sha256="03pnwd3xjb9yv8jfav0s4l9k5pgpampp15ak7z0yvkjs20rvfq3d"; depends=[]; };
+robfilter = derive { name="robfilter"; version="4.1"; sha256="161rsqyy2gq1n6ysz0l4d4gqvxhs72hznc2d5hljxdaz3sbdzzig"; depends=[robustbase MASS lattice]; };
+robumeta = derive { name="robumeta"; version="1.6"; sha256="13hwbl4pym3pkxxfbffhv22nn3f4spc6lb4gz1wxi9iha1s9ywi5"; depends=[]; };
+robust = derive { name="robust"; version="0.4-16"; sha256="0psai9d6w7yi0wfm57cc7b2jd5i7wbk2xagrhnvhxknw0dwzf2jh"; depends=[fit_models MASS lattice robustbase rrcov]; };
+robustDA = derive { name="robustDA"; version="1.1"; sha256="1yys6adkyms5r4sw887y78gnh97qqr7sbi5lxv5l9bnc4ggcfiz6"; depends=[MASS mclust Rsolnp]; };
+robustHD = derive { name="robustHD"; version="0.5.0"; sha256="14ql2k5880lbwkv1acydrli6jyh6dls32jjhimbz82zzkzfk2cxr"; depends=[ggplot2 perry robustbase MASS Rcpp RcppArmadillo]; };
+robustX = derive { name="robustX"; version="1.1-4"; sha256="1s2aav2jr22dgrl7xzk09yn9909k76kpiz271w5r1id6hpfprjwc"; depends=[robustbase]; };
+robustbase = derive { name="robustbase"; version="0.92-3"; sha256="0b7rld5pa9nrnqj7600ybvzy74lxz6s41dibamwdssh36mx6ayvb"; depends=[DEoptimR]; };
+robustfa = derive { name="robustfa"; version="1.0-5"; sha256="04nk5ipml54snsmiqf5sbhx490i46gnhs7yibf4wscrsj1bh2mqy"; depends=[rrcov]; };
+robustgam = derive { name="robustgam"; version="0.1.7"; sha256="0s1z7jylj757g91najbyi1aiqnssd207jfm9yhias746540qp3kw"; depends=[Rcpp RcppArmadillo mgcv robustbase Rcpp RcppArmadillo]; };
+robustlmm = derive { name="robustlmm"; version="1.6"; sha256="18lhbnmcd6nc0qr23a19mhw9k9r30li6z92g600dil6ll8s5m54z"; depends=[lme4 Matrix ggplot2 lattice nlme robustbase xtable]; };
+robustloggamma = derive { name="robustloggamma"; version="0.4-31"; sha256="19ycdvpzns46gjnkddwznnszs0941blpss7l0cqligv91cz7bkjc"; depends=[robustbase]; };
+robustreg = derive { name="robustreg"; version="0.1-7"; sha256="1nrz10065mwccil78c74vmkhinskpnk1vyp1ikrdw23vyk2l00nc"; depends=[Rcpp Matrix Rcpp RcppArmadillo]; };
+robustvarComp = derive { name="robustvarComp"; version="0.1-2"; sha256="187mcpih509hx15wjjr7z2h6h76mz2v0d8xgsxjd8wz7l3dnlp2f"; depends=[robustbase GSE numDeriv robust plyr]; };
+rocc = derive { name="rocc"; version="1.2"; sha256="00yxbbphhwkg4sj2h7pd9vw86yavl711nk8yylwmjd3qv39qjml0"; depends=[ROCR]; };
+rockchalk = derive { name="rockchalk"; version="1.8.92"; sha256="1mi1w8323m4q0s17cnafnlswgnlxqb5c9nq3rv8fq77k7klmq5rz"; depends=[lme4 car MASS tables]; };
+rococo = derive { name="rococo"; version="1.1.2"; sha256="08204y3g3xd2srpcpnbkq1laqfr3wrhy73whlxf83gffw8j0iyv8"; depends=[Rcpp Rcpp]; };
+rodd = derive { name="rodd"; version="0.1-1"; sha256="0x7w7v04nqb1gl4h32a674gwc68h6p9pff2piisyd74cgx90sm1b"; depends=[numDeriv quadprog Matrix rootSolve matrixcalc]; };
+rootSolve = derive { name="rootSolve"; version="1.6.5.1"; sha256="02ydj4ydgljs80nrrrxb4dhfa7m12rw65xy79d7g71w97326w8p2"; depends=[]; };
+ropensecretsapi = derive { name="ropensecretsapi"; version="1.0.1"; sha256="0d4yl0h4am3blskdnzk119hk374c3vx0cg99r20w07yh8jfafrw7"; depends=[RJSONIO RCurl]; };
+ror = derive { name="ror"; version="1.2"; sha256="0n8mk35rm3rp0c7a3i961kij21a177znh9hkq4snqqlw9vf50hdg"; depends=[rJava ROI ROI_plugin_glpk igraph]; };
+rorutadis = derive { name="rorutadis"; version="0.1.3"; sha256="0ik0dpmsyb4g9wl1fb7mm0dry9s26nfvv1v91cslss82phhf16wd"; depends=[Rglpk ggplot2 gridExtra]; };
+rotations = derive { name="rotations"; version="1.3"; sha256="01qqiqlp370llk8w9g0nip08cd54rj9dsvf0qxznalyb7vpnvgxf"; depends=[ggplot2 Rcpp rgl sphereplot Rcpp RcppArmadillo]; };
+roughrf = derive { name="roughrf"; version="1.0"; sha256="0nwdynqfb9yzjvi1lykgdkch3b4g09aj8vbd6sf5pyx473s066y4"; depends=[randomForest mice nnet]; };
+rowr = derive { name="rowr"; version="1.1.1"; sha256="1bpx9vd6i2ljwww3gp4c1fxbv9lsdxh3jdwkmrqqj2s18bkf0a7a"; depends=[]; };
+roxygen2 = derive { name="roxygen2"; version="4.1.0"; sha256="0jpaqrnkb6qfs6jly637j8sbng6r1gzw15phwkifsh0fgqbi61ap"; depends=[stringr brew digest Rcpp Rcpp]; };
+royston = derive { name="royston"; version="1.2"; sha256="1rywc89qzx0hldbq10201bjdhz60pq2gmgd9b9j52mza3w4canjz"; depends=[nortest moments]; };
+rpanel = derive { name="rpanel"; version="1.1-3"; sha256="1wm0dcbyvxz4ily8skz2yda44n74x2nmc4pg11ja0yvk038gjfns"; depends=[]; };
+rpart = derive { name="rpart"; version="4.1-9"; sha256="108zsalgmp4mj66m2mxr56qrh3yz0pxfij81gri224r5brypqak1"; depends=[]; };
+rpart_plot = derive { name="rpart.plot"; version="1.5.2"; sha256="0aw0bhd0bliih7fsvnfkdkxq65v3v3fl88irp8vxrdblqgjyc09x"; depends=[rpart]; };
+rpart_utils = derive { name="rpart.utils"; version="0.5"; sha256="00ahvmly6cdf7qhhcic0dbjlljqq8kbhx15rc7vrkd3hzd55c0im"; depends=[rpart]; };
+rpartScore = derive { name="rpartScore"; version="1.0-1"; sha256="15zamlzbf6avir8zfw88531zg5c0a6sc5r9v5cy9h08ypf34xf4y"; depends=[rpart]; };
+rpartitions = derive { name="rpartitions"; version="0.1"; sha256="1gklsi4pqhk16xp9s49n1lr9ldm1vx61pvphjqsqkzrlxwcpx3j8"; depends=[hash]; };
+rpf = derive { name="rpf"; version="0.44"; sha256="1q68lb7cw4p31mrjwxyn2bkpclmgfcnln8z0brs9pkkh70j0vii8"; depends=[mvtnorm RcppEigen]; };
+rpg = derive { name="rpg"; version="1.4"; sha256="0sisn5l1qxlqg6jq4lzr7w3axkaw5jlpz8vl9gp2hs0spxsjhcyn"; depends=[Rcpp uuid RApiSerialize Rcpp RApiSerialize]; };
+rphast = derive { name="rphast"; version="1.6"; sha256="0ni8969bj3pv0wl8l0v352pqw2d5mlshsdw1rb6wlxk7qzfi5cl2"; depends=[]; };
+rplexos = derive { name="rplexos"; version="0.13"; sha256="149y0y0qb18igg4pc0i27vfpwcvfvg24ixqrqcya5xvdrm1h63aj"; depends=[Rcpp dplyr RSQLite DBI data_table lubridate reshape2 stringi assertthat doParallel foreach Rcpp]; };
+rplos = derive { name="rplos"; version="0.4.6"; sha256="01vfb07fc5z0pm6d5wvcpfwjx5fha9par3fpra9v6snaqm74l3w5"; depends=[ggplot2 httr jsonlite XML dplyr plyr lubridate reshape2 whisker solr]; };
+rplotengine = derive { name="rplotengine"; version="1.0-5"; sha256="1wwpfnr5vi8z26alm8y5gply0y4iniagimldzy2z696djzz8p8p8"; depends=[xtable]; };
+rportfolios = derive { name="rportfolios"; version="1.0"; sha256="1zcv5ddmk15l0p03nlffimlhhpcc7l1c05xl2d1xlfk58rkvqns6"; depends=[]; };
+rprintf = derive { name="rprintf"; version="0.1-2"; sha256="1jsn6i3ikcdbrg8g89hmb1ky3a84fykx5gpnbswplhidh2qhb9jz"; depends=[stringr]; };
+rpsychi = derive { name="rpsychi"; version="0.8"; sha256="1h40kbqvvwwjkz5hrclj6j22zhav3yyfbbhqahs1whwjkksnam4w"; depends=[gtools]; };
+rpubchem = derive { name="rpubchem"; version="1.5.0.2"; sha256="0lvi7m8jb2izsfia3c0qigsd1k1x9r02gymlwfg29pb8k10lwcjf"; depends=[XML car RCurl RJSONIO]; };
+rpud = derive { name="rpud"; version="0.0.2"; sha256="03xddc6kh39wlcv8dvpnv4h0f5qx5cv327xip26zk7gg7pgrn05x"; depends=[]; };
+rqPen = derive { name="rqPen"; version="1.1"; sha256="0da6pbzx2my052v8s9nyw0j5ljy4pfigyy82n72zp0jzhdzmq479"; depends=[quantreg]; };
+rr = derive { name="rr"; version="1.2"; sha256="0p3h15sbn2896ygxyvf4farys363r2p5jg41h07dzrcaif8i331l"; depends=[MASS arm coda]; };
+rrBLUP = derive { name="rrBLUP"; version="4.3"; sha256="0wydh4sx7b6rcrgb3qvqh0z46pixx63711q2nf8s3c32090a5g81"; depends=[]; };
+rrBlupMethod6 = derive { name="rrBlupMethod6"; version="1.3"; sha256="1qwv954mhry46ff2ax48xcmnasygi5alv8d413g3qbk2da6i0d8l"; depends=[]; };
+rrcov = derive { name="rrcov"; version="1.3-8"; sha256="0f71khnsvd95yh6y1hnl62vqjp1z3wg74g8jvg2q28v1ysk68p1b"; depends=[robustbase mvtnorm lattice cluster pcaPP]; };
+rrcovHD = derive { name="rrcovHD"; version="0.2-3"; sha256="18k5c590wbi0kmx4nl1mkv7h6339as0s4jcr9am8v9v3w4pn0xni"; depends=[rrcov robustbase pls spls pcaPP]; };
+rrcovNA = derive { name="rrcovNA"; version="0.4-7"; sha256="1b3ffcs1szwswsayz8q3w87wndd7xbcg5rqamhjr2damgialx3bq"; depends=[rrcov robustbase lattice cluster norm]; };
+rredis = derive { name="rredis"; version="1.6.9"; sha256="00fgrhyj6bai0kc18c2m1fsk9ja5c9q7m6dpsb8wsn4gs79mw3sc"; depends=[]; };
+rrlda = derive { name="rrlda"; version="1.1"; sha256="06n9jah190cz25n93jlb5zb0xrx91bjvxgswwdx9hdf0fmwrpkvz"; depends=[pcaPP mvoutlier glasso matrixcalc]; };
+rrules = derive { name="rrules"; version="0.1-0"; sha256="0f9msp289akzricjrm8dvfbh2dihfbszr7ms4fld1cr30zssajin"; depends=[]; };
+rsae = derive { name="rsae"; version="0.1-5"; sha256="1f3ry3jwa6vg2vq2npx2pzzvfwadz8m48hjrqjk860nfjrymwgx5"; depends=[]; };
+rsatscan = derive { name="rsatscan"; version="0.3.9200"; sha256="00vgby24jknq8nl7rnqcwg7gawcxhwq8b7m98vjx2hkqx39n4g21"; depends=[foreign]; };
+rscala = derive { name="rscala"; version="1.0.2"; sha256="13l1cmmj28kjrmxnvgi5zpxi8ak9956bzmsn1b3v7a3xb6glchij"; depends=[]; };
+rscproxy = derive { name="rscproxy"; version="2.0-5"; sha256="1bjdv7drlnffcnyc0j8r22j7v60k1xj58bw8nk9l8wvnmngrjz86"; depends=[]; };
+rsdepth = derive { name="rsdepth"; version="0.1-5"; sha256="064jbb6gnx0sm41w3sbi6mvsbzsfkjqfici6frk8sfm9ybvm591j"; depends=[]; };
+rsdmx = derive { name="rsdmx"; version="0.4-5"; sha256="12rk0bcfsnkd2447jyc40857ksm7gbg4nn3slls9wsd641am6kxi"; depends=[XML RCurl plyr]; };
+rseedcalc = derive { name="rseedcalc"; version="1.2"; sha256="1di9bzwxyxm9gs14ks9z6sixi656hz9xwmq3aaqh53cjjr1ka0rc"; depends=[]; };
+rsem = derive { name="rsem"; version="0.4.5"; sha256="02vccj03bxisi2jwl31rwi4gw9i26g70aagdgg5gk8z0bys78v4d"; depends=[MASS lavaan]; };
+rsgcc = derive { name="rsgcc"; version="1.0.6"; sha256="12f8xsg6abmhdgkrrc8sfzmv4i1pycq1g0jfad664d17yciw7rhh"; depends=[biwt cairoDevice fBasics gplots gWidgets gWidgetsRGtk2 minerva parmigene stringr snowfall]; };
+rsig = derive { name="rsig"; version="1.0"; sha256="129k78i8kc30bzlphdb68vv3sw2k6xyiwrhw08vhzz6mf3jxlqsh"; depends=[survival BBmisc glmnet superpc Matrix]; };
+rsm = derive { name="rsm"; version="2.07"; sha256="0d1kymgmprp41xvax6c5k881dxjgf6bnvpl4mh9l1pnjdcq7pyi5"; depends=[]; };
+rsml = derive { name="rsml"; version="1.2"; sha256="1w9bqs32sn5ry5qjgnqnns56ylr59cq5kczjsssw3yvc8a8lr39x"; depends=[XML rgl]; };
+rsnps = derive { name="rsnps"; version="0.1.6"; sha256="1pqdmg1cwpm0cvr5ma7gzni88iq5kqv1w40v8iil3xvcmns8msjk"; depends=[plyr stringr httr RCurl XML jsonlite]; };
+rspa = derive { name="rspa"; version="0.1-6"; sha256="0zwmcjakpir8mvy8cvy8j85gar4s7gmizxc3z4mdrc4iadps9gqd"; depends=[editrules]; };
+rspear = derive { name="rspear"; version="0.1-2"; sha256="1rjg84plnvlcp3p2929f1afl43lb92d3bfsvlhsaw92z7iva1vad"; depends=[plyr]; };
+rsprng = derive { name="rsprng"; version="1.0"; sha256="1sfjwfm03pn73mcq4f2chsldjlhmpjxhqkpmaqf71jbmb7ph41ip"; depends=[]; };
+rstackdeque = derive { name="rstackdeque"; version="1.1"; sha256="1vvp8xsi7i0zds9pzh2a13nc1p73jkv9g4f24wv7a5qacymabv3k"; depends=[]; };
+rstiefel = derive { name="rstiefel"; version="0.10"; sha256="0b2sdgpb3hzal34gd9ldd7aihlhl3wndg4i4b3wy6rrrjkficrl1"; depends=[]; };
+rstream = derive { name="rstream"; version="1.3.2"; sha256="1habswhdlx7l92s9p9554px4kf9f9mhk5vkdq2fv4wk3381c0fgi"; depends=[]; };
+rstudioapi = derive { name="rstudioapi"; version="0.2"; sha256="1ili2i71fmpbgavvva488vwy0qbrbiyl16za3a8d95ylwvpallmx"; depends=[]; };
+rsubgroup = derive { name="rsubgroup"; version="0.6"; sha256="1hz8rnbsl97ch6sjwxdicn2sjyn6cajg2zwmfp03idzpb3ixlk7l"; depends=[rJava foreign]; };
+rsunlight = derive { name="rsunlight"; version="0.3.0"; sha256="148byg8180657ny01xny28sdawbq87hf89f8c1rzfjl5qwcxmbqd"; depends=[httr plyr jsonlite stringr assertthat]; };
+rtape = derive { name="rtape"; version="2.2"; sha256="0q7rs7pc1k1kayr734lvh367j5qig2nnq5mgak1wbpimhl7z3wm7"; depends=[]; };
+rtdists = derive { name="rtdists"; version="0.2-6"; sha256="1f2yv4qq27i1fc0ys3kk31lsnbdzrmrk44widnxd19hxn4r05cs6"; depends=[evd msm gsl]; };
+rtematres = derive { name="rtematres"; version="0.2"; sha256="1d0vrprvnlk4hl2dbc6px9xn9kx9d1qvlqxd798hzda6qg5wwvf2"; depends=[XML RCurl plyr gdata]; };
+rtf = derive { name="rtf"; version="0.4-11"; sha256="04z0s5l9qjlbqahmqdaqv7mkqavsz4yz25swahh99xfwp9plknfl"; depends=[R_oo R_methodsS3]; };
+rtfbs = derive { name="rtfbs"; version="0.3.4"; sha256="1z5rhxgi44xdv07g3l18ricxdmp1p59jl8fxawrh5jr83qpcxsks"; depends=[rphast]; };
+rtiff = derive { name="rtiff"; version="1.4.4"; sha256="13cz35dfz735yk2lci8cmjmsg4ddm31lv98lpx8ymy3bwmzdmc3c"; depends=[pixmap]; };
+rtkpp = derive { name="rtkpp"; version="0.8.6"; sha256="0alg3002q8mcqd55prmsa6hfwg0qfrv30aq5p85v094l8cl7qd8l"; depends=[Rcpp Rcpp]; };
+rtop = derive { name="rtop"; version="0.3-45"; sha256="0dh7jlnakk1hd27swspa0fj6pq6yddxhz32w3d7xq8jgr7xm8d70"; depends=[sp gstat]; };
+rts = derive { name="rts"; version="1.0-3"; sha256="0jqk0p2q1vx9l6zf9pbc5k3lsw4hg5x1r6p0f7wjiks50x55pbl4"; depends=[raster xts zoo]; };
+rtype = derive { name="rtype"; version="0.1-1"; sha256="0wjf359w7gb1nrhbxknzg7qdys0hdn6alv07rd9wm6zynnn1vwxy"; depends=[]; };
+rucm = derive { name="rucm"; version="0.4"; sha256="1s3q6wfp9nb50rqsaq6h2wb48qvxncmlf8l4gm18pr25wkangfxq"; depends=[KFAS]; };
+rugarch = derive { name="rugarch"; version="1.3-4"; sha256="1za92hqfaws8azf2zml1q8mlbirrdw3rb4rvwg6sclfx7z7gsqkh"; depends=[Rsolnp nloptr ks numDeriv spd xts zoo chron SkewHyperbolic expm Rcpp Rcpp RcppArmadillo]; };
+runjags = derive { name="runjags"; version="1.2.1-0"; sha256="0rsqyrk9vzrnhw66c7hdqnbnvk6qsl882fshh2njzivaqxk2ibqq"; depends=[lattice coda]; };
+ruv = derive { name="ruv"; version="0.9.4"; sha256="07bvyqrkm10vh63l8dm93spd7l0v105a87lsbjw4vg65czp1iayg"; depends=[]; };
+rv = derive { name="rv"; version="2.3.1"; sha256="0bjqwk7djl625fws3jlzr1naanwmrfb37hzkyy5szai52nqr2xij"; depends=[]; };
+rvHPDT = derive { name="rvHPDT"; version="3.0"; sha256="05nrfnyvb8ar7k2bmn227rn20w1yzkp1smwi4sysc00hyjrlyg8s"; depends=[gtools]; };
+rvTDT = derive { name="rvTDT"; version="1.0"; sha256="09c2fbqnlwkhaxfmgpsdprl0bb447ajk9xl7qdlda201fvxkdc8v"; depends=[CompQuadForm]; };
+rvalues = derive { name="rvalues"; version="0.3"; sha256="0fkf0gngrx1rfa67blzf3xxjwhlp2m2jplxw3z3j9vgl6ray0nqs"; depends=[]; };
+rvertnet = derive { name="rvertnet"; version="0.2.2"; sha256="14afdf0mflpa2arxdy44y8mak9j3cg2cgk97idd7k4pi8vf6q0jg"; depends=[plyr jsonlite httr data_table ggplot2 maps]; };
+rvest = derive { name="rvest"; version="0.2.0"; sha256="1bg9l0wzh9xs7rpacl8s6q33hkjvv85vsl8079qsri0lr856wni7"; depends=[httr XML selectr magrittr]; };
+rvgtest = derive { name="rvgtest"; version="0.7.4"; sha256="1lhha5nh8fk42pckg4ziha8sa6g20m0l4p078pjj51kz0k8929ng"; depends=[]; };
+rworldmap = derive { name="rworldmap"; version="1.3-1"; sha256="0wrg6ap39bq88sv5axxd90yyqafn77amk5429pxd9v5a2hdm3g8w"; depends=[sp maptools fields]; };
+rworldxtra = derive { name="rworldxtra"; version="1.01"; sha256="183z01h316wf1r4vjvjhbj7cg4xarn4b8qbmnn5y7nrrdndzi163"; depends=[sp]; };
+rwt = derive { name="rwt"; version="1.0.0"; sha256="112wp682z4gkxsd3bqnlkdrh42bfzwnnhzyangxi2dh0qw63bgcr"; depends=[matlab]; };
+ryouready = derive { name="ryouready"; version="0.3"; sha256="0nms3zfkis2fsxkyj3dr95vz3kk6pkm7l5ga7iz8pxy1ywrawj2i"; depends=[stringr car]; };
+rysgran = derive { name="rysgran"; version="2.1.0"; sha256="1l2mx297iyipap8cw2wcw5gm7jq4076bf4gvgvij4q35vp62m85z"; depends=[soiltexture lattice]; };
+rzmq = derive { name="rzmq"; version="0.7.7"; sha256="0gf8gpwidfn4756jqbpdbqsl8l4ahi3jgavrrvbbdi841rxggfmx"; depends=[]; };
+s20x = derive { name="s20x"; version="3.1-12"; sha256="0kr3x5p7wspr9kgfq1361v78y6qnzkfbsdxqwl4zlzb2zpq6d5s4"; depends=[]; };
+s2dverification = derive { name="s2dverification"; version="2.1.1"; sha256="1m3m5sbq96fhnl4slxgb2j0009kqfdivdn3nbb203pc0knjpflnq"; depends=[GEOmap geomapdata maps mapproj]; };
+s4vd = derive { name="s4vd"; version="1.0"; sha256="07pnkhyqf9iymj913813d93dmb3iqbdlcl0gsgacihyyinb4id5s"; depends=[biclust]; };
+sBF = derive { name="sBF"; version="1.1.1"; sha256="0dankakl4rwl9apl46hk57ps4mvn2l1crw4gdqds26fc8w6f6rab"; depends=[]; };
+sExtinct = derive { name="sExtinct"; version="1.1"; sha256="1l6232z6c4z3cfl1da94wa6hlv9hj5mcb85fj1y0yparkvvl8249"; depends=[lattice]; };
+sGPCA = derive { name="sGPCA"; version="1.0"; sha256="16aa5jgvkabrlxaf1p7ngrls79mksarh6di3vp26kb3d3wx087dx"; depends=[Matrix fields]; };
+sROC = derive { name="sROC"; version="0.1-2"; sha256="0cp6frhk9ndffb454dqp8fzjrla76dbz0mn4y8zz1nbq1jzmz0d3"; depends=[]; };
+sac = derive { name="sac"; version="1.0.1"; sha256="1rl5ayhg5y84fw9w3zf43dijjlw9x0g0w2z4haw5xmxfni72ms8w"; depends=[]; };
+saccades = derive { name="saccades"; version="0.1-1"; sha256="138a6g3hjmcyvflpxx1lhgxnb8svrynplrjnvzij7c4bzkp8zip6"; depends=[zoom]; };
+sadists = derive { name="sadists"; version="0.1.0"; sha256="1qx0ki0w8i9w92phzcz57mm1kp4p2i5fznqvwa4amdqym66ky48c"; depends=[PDQutils hypergeo orthopolynom]; };
+sads = derive { name="sads"; version="0.1.10"; sha256="02662vbbk3jikp506ljil9zqchs6bq3lsw4fwbbi2wgg7xvb260g"; depends=[MASS bbmle poilog VGAM untb]; };
+sae = derive { name="sae"; version="1.0-2"; sha256="0a9g07m1a8v4iw9pnzlws356kv4f77qkz5yc454i7130zfp2kxxi"; depends=[nlme MASS]; };
+sae2 = derive { name="sae2"; version="0.1-1"; sha256="0fbbh2s0gjhyhypaccnd37b5g2rhyzq7mrm6s0z36ldg1pzi4dd9"; depends=[MASS]; };
+saeSim = derive { name="saeSim"; version="0.7.0"; sha256="03zfw18fvx8blh9iijh3rnglg8zbsvd9dq3kqv6ajz3hwr90z29g"; depends=[dplyr functional ggplot2 MASS spdep parallelMap]; };
+saemix = derive { name="saemix"; version="1.2"; sha256="1whwn54iiapdfig6qpzji3z3skir6jrs34dq78zlynibgrg95hx6"; depends=[]; };
+saery = derive { name="saery"; version="1.0"; sha256="09x1v627llqbpiwkh1wr0z7gsndfdrjzag2hprhq1adbzh05k47z"; depends=[]; };
+safeBinaryRegression = derive { name="safeBinaryRegression"; version="0.1-3"; sha256="1g68r6pp5l41rbgyfqgcha1gpsisnl0ybdmdqr4ylr43f61dpgvd"; depends=[lpSolveAPI]; };
+safi = derive { name="safi"; version="1.0"; sha256="1km58w57kdmyfj4a97zhnjcka4q4pxm8r2br01qq2niaihpbzp98"; depends=[]; };
+sampSurf = derive { name="sampSurf"; version="0.7-2"; sha256="1bj1m5c8bx8i4jyk6kdgcfmgfj15iirxwg259r0c4fk7whcnfz59"; depends=[sp raster rasterVis boot]; };
+sampleSelection = derive { name="sampleSelection"; version="1.0-2"; sha256="1hzvvwvqp6v9d6ldm17kx3g8pbgngw2pxklny0b3man47zh5jshc"; depends=[maxLik miscTools systemfit Formula]; };
+samplesize4surveys = derive { name="samplesize4surveys"; version="2.1.0"; sha256="08vs1b4rwyd4yh3y2l1gkh8wpjhh2w52929p6b0sfj0iywp2dr03"; depends=[TeachingSampling]; };
+sampling = derive { name="sampling"; version="2.6"; sha256="11r8p29kwc0ggycbv7sm1zmazmfm4p5207l764ad4znjib0cab6p"; depends=[MASS lpSolve]; };
+samplingEstimates = derive { name="samplingEstimates"; version="0.1-3"; sha256="1srdchlpxksfdqhf5qdvl7nz0qsxkxww7hzqj0q71asbzlq3am3p"; depends=[samplingVarEst]; };
+samplingVarEst = derive { name="samplingVarEst"; version="0.9-9"; sha256="04wgsq3sh69iy8p07ch210p22n5mds7cxp5s6zggzamqpf0hpnw7"; depends=[]; };
+samplingbook = derive { name="samplingbook"; version="1.2.0"; sha256="1vynz6hsnz5d0vg66f8k67h24rb809k9chb4waymk6vwnp8lksz9"; depends=[pps sampling survey]; };
+samr = derive { name="samr"; version="2.0"; sha256="0rsfca07pvmhfn7b49yk2ycw00wsq6dmrpv9haxz8q0xv7n5n2q9"; depends=[matrixStats]; };
+sand = derive { name="sand"; version="1.0.2"; sha256="1y371ds86gcq2id996vp56h5dax2wm0mlk1ks2mp1k81n63l7wmf"; depends=[igraph igraphdata]; };
+sandwich = derive { name="sandwich"; version="2.3-2"; sha256="10ag2iwwxcwgbmbibfkpxxc8iih7bmya57zl4g983fb7zyd36mhz"; depends=[zoo]; };
+sanitizers = derive { name="sanitizers"; version="0.1.0"; sha256="1c1831fnv1nzpq8nw9krgf9fm8v54w0gvcn4443b6jghnnbhn2n6"; depends=[]; };
+sanon = derive { name="sanon"; version="1.4"; sha256="0zg0paiz3rb0fk2mgi8rlzqy9vq3afy5vx6s15k1xqz8rjgsbd1x"; depends=[]; };
+sapa = derive { name="sapa"; version="2.0-1"; sha256="11xgd2ijfz5yn0zyl5gfy97h2cxi1vyxkrijy2s9b78wm7fzpnkv"; depends=[ifultools splus2R]; };
+saps = derive { name="saps"; version="1.0.0"; sha256="02si76ckinkm4ajclq4isy6gi0cf1mwfrq3w17i5gflbfqmf2qvj"; depends=[survival reshape2]; };
+sas7bdat = derive { name="sas7bdat"; version="0.5"; sha256="0qxlapb6wdhzpwlmzlhscy3av7va3h6gkzsppn4sx5q960310an3"; depends=[]; };
+saves = derive { name="saves"; version="0.5"; sha256="1b4mfi2851bwcp0frx079h5yl6y1bhc2s8ziigmr8kwy1y1cxw10"; depends=[]; };
+saws = derive { name="saws"; version="0.9-6.1"; sha256="0w40j6xczqs74z1z3na4510w06px7yn55s2mw9mddd6736l56fv1"; depends=[gee]; };
+sbgcop = derive { name="sbgcop"; version="0.975"; sha256="0f47mvwbsym4khwgl0ic3pqkw3jwdah9a48qi3q93d46p2xich61"; depends=[]; };
+sbioPN = derive { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; };
+sca = derive { name="sca"; version="0.8-9"; sha256="024yxm1rlyz3hx9viv2nb6rapy938diaknc3nzkgq0ffky2gf0s3"; depends=[]; };
+scaRabee = derive { name="scaRabee"; version="1.1-3"; sha256="1yap3hi36f8hk93jn59nxrbgq8iw0xwkkm3pc2gb50cpcpaq41pd"; depends=[neldermead lattice deSolve]; };
+scagnostics = derive { name="scagnostics"; version="0.2-4"; sha256="0fhc7d2nfhm8w6s6z1ls6i8d7c90h4q7rb92rz8pgq3xh031hpcf"; depends=[rJava]; };
+scales = derive { name="scales"; version="0.2.4"; sha256="08dryii8ibh16wxs61pam07b24rwhqvdcdhk09mij289l309192v"; depends=[RColorBrewer dichromat munsell plyr labeling]; };
+scalreg = derive { name="scalreg"; version="1.0"; sha256="06iqij1cyiw55ijzk2byrwh3m5iwsra7clx8l4v69rc236q8zbdi"; depends=[lars MASS]; };
+scam = derive { name="scam"; version="1.1-8"; sha256="1190xdahr4cx50qn32lxqm3p8m9c3968qx6f5mpyicaw34j9whz4"; depends=[mgcv Matrix]; };
+scape = derive { name="scape"; version="2.2-0"; sha256="0dgbh65fg6i5x4lpfkshn382zcc4jk1wp62pwd2l2f59pyfb92a3"; depends=[coda Hmisc lattice]; };
+scar = derive { name="scar"; version="0.2-1"; sha256="04x42414qxrz8c7xrnmpr00r46png2jy5giwicdx6gx8jwrkzhzs"; depends=[]; };
+scatterplot3d = derive { name="scatterplot3d"; version="0.3-35"; sha256="1w0r7cyz01rzmgcf2x7wa4xs88ga6fd67wksyjyzrh2pdcbc56yx"; depends=[]; };
+schoRsch = derive { name="schoRsch"; version="1.1"; sha256="0bi2vn9qr49yy3g45xgglqn1b5b6z8cbn9phzmqjc1v7rn80s5zg"; depends=[]; };
+scholar = derive { name="scholar"; version="0.1.2"; sha256="1h1a6psgmiifi7p87ar3fr0mcfmg44yh4683dmqxrxrfcvgaxvca"; depends=[stringr plyr R_cache XML]; };
+schoolmath = derive { name="schoolmath"; version="0.4"; sha256="06gcmm294d0bs5whvknrq48sk7li961lzy4bcncjg052zbbpn67x"; depends=[]; };
+schwartz97 = derive { name="schwartz97"; version="0.0.6"; sha256="0l34f30l75zrg3n377jp0cw7m88cqkgzy6ql78mrx8ra88aspfzn"; depends=[FKF mvtnorm RUnit]; };
+scidb = derive { name="scidb"; version="1.1-2"; sha256="1nkyzvjpacm4imv778nc6gc468419shkyhxb59hsaw9840wcs1na"; depends=[Matrix iterators RCurl zoo]; };
+scio = derive { name="scio"; version="0.6.1"; sha256="0h15sscv7k3j7qyr70h00n58i5f44k96qg263mxcdjk9mwqr0y65"; depends=[]; };
+sciplot = derive { name="sciplot"; version="1.1-0"; sha256="0na4qkslg3lns439q1124y4fl68dgqjck60a7yvgxc76p355spl4"; depends=[]; };
+scoring = derive { name="scoring"; version="0.5-1"; sha256="0vxjcbp43h2ipc428qc0gx7nh6my7202hixwhnmspl4f3kai3wkp"; depends=[]; };
+scout = derive { name="scout"; version="1.0.3"; sha256="0wmjmk0ckd211cq5ykd0yzjschs7fkg04w67arl4pwma0z5z56lq"; depends=[glasso lars]; };
+scrapeR = derive { name="scrapeR"; version="0.1.6"; sha256="1rqgqpn9rc43rh356z9gb51pjhdczr9a9mgv0i078nniq156rmlb"; depends=[XML RCurl]; };
+scrime = derive { name="scrime"; version="1.3.3"; sha256="1vp7ai10m0f3s0hywyqh0yllxj6z6p795zqpr6vp58fh6yq20x73"; depends=[]; };
+scriptests = derive { name="scriptests"; version="1.0-15"; sha256="1f55rnz4zbywyn79l2ac2600k95fwxgnyh1wzxvyxjh4qcg50plv"; depends=[]; };
+scrm = derive { name="scrm"; version="1.3-3"; sha256="0if338nkbfiakb82wrvy25xsnf337gm4xz5b9027s5yblwwxngf1"; depends=[Rcpp Rcpp]; };
+scrypt = derive { name="scrypt"; version="0.1.0"; sha256="1hc1rziigwggdx2pvklldkw88mdzbwa8b8a2a0ip4cm1w6flsl9n"; depends=[Rcpp Rcpp]; };
+scuba = derive { name="scuba"; version="1.7-0"; sha256="11mdc8pj552ag36ib4sfbjv8r0psa6wnb13spz0v3rbaslz25hpw"; depends=[]; };
+sda = derive { name="sda"; version="1.3.6"; sha256="1igdkgpxlni4d8h5k912aikbd66jqkabzq144xlgd2vp3kcbw4ly"; depends=[entropy corpcor fdrtool]; };
+sdcMicro = derive { name="sdcMicro"; version="4.4.0"; sha256="0ig43sdzn940mpv2d8v1v0k77nb5mwwsy8amkb6vdxs0rql7qvyy"; depends=[brew knitr data_table xtable car robustbase cluster MASS e1071 Rcpp sets Rcpp]; };
+sdcMicroGUI = derive { name="sdcMicroGUI"; version="1.1.1"; sha256="0icxxbfxl65da07bpi7l2jzk85y990ndhl60lwyp077sjq5rd20q"; depends=[sdcMicro gWidgetsRGtk2 cairoDevice vcd foreign Hmisc]; };
+sdcTable = derive { name="sdcTable"; version="0.17.1"; sha256="0wljdpggf8mhsjg0xrgb3xqd346zb4f8pk0jfgv38krhkfxz1ss5"; depends=[stringr Rcpp Rglpk lpSolveAPI data_table Rcpp]; };
+sdcTarget = derive { name="sdcTarget"; version="0.9-11"; sha256="18cf276mh1sv16xn0dn8par4zg8k7y8710byxiih6db4i616fjpi"; depends=[magic foreach doParallel tuple]; };
+sddpack = derive { name="sddpack"; version="0.9"; sha256="1963l8jbfwrqhqcpif73di9i5mb996r4f8smjyil6l7sdir7cg9l"; depends=[]; };
+sde = derive { name="sde"; version="2.0.13"; sha256="194dkwrww9win5chhlffjv1xkhpxx2bcv6hf81xaqk7pdf7ifj80"; depends=[MASS fda zoo]; };
+sdef = derive { name="sdef"; version="1.5"; sha256="1xmx3nfjjfh6zw1vq7iip4rnshh40azja83xyvnz04jcv574vhxm"; depends=[]; };
+sdmvspecies = derive { name="sdmvspecies"; version="0.3.1"; sha256="1rpbj55598862vb4bwrvcbskm10xibsvx58fpvkn58zbm6ab2534"; depends=[GPArotation ggplot2 psych raster]; };
+sdnet = derive { name="sdnet"; version="2.03.3"; sha256="1884pil3brm7llczacxda6gki501ddyc5m8ggqjix64kbvw37slv"; depends=[]; };
+sdprisk = derive { name="sdprisk"; version="1.0-3"; sha256="0v490zz2c1qa0w9nfd0xs5xbbvd9g8vp39fp8x7k7cy598vby4yx"; depends=[numDeriv PolynomF rootSolve]; };
+sdtoolkit = derive { name="sdtoolkit"; version="2.33-1"; sha256="0pirgzcn8b87hjb35bmg082qp14idc5pfvm6dikpgkswag23hwh8"; depends=[]; };
+sdwd = derive { name="sdwd"; version="1.0.1"; sha256="1df8xx538ba3axi0jbkvyrdl7qnmkvh1x15kh57jmw3qbpf5gh56"; depends=[Matrix]; };
+seacarb = derive { name="seacarb"; version="3.0.6"; sha256="0xhyy8nd20f29j9y3x250fq8qp57gdv61gg4ck24v4jbl8qvwhla"; depends=[oce]; };
+sealasso = derive { name="sealasso"; version="0.1-2"; sha256="0cjy3fj170p5wa41c2hwscmhqxwkjq22vhg9kbajnq7df2s20jcp"; depends=[lars]; };
+seas = derive { name="seas"; version="0.4-3"; sha256="1n0acg6fvaym4nx1ihw0vmb79csds0k4x9427qmcyxbl9hxxmllp"; depends=[]; };
+season = derive { name="season"; version="0.3-5"; sha256="08f382kq51r5g9p5hsnjf17dwivhx1vfgmmwp1vzmbqx1drlqkzx"; depends=[ggplot2 MASS mgcv survival coda]; };
+seasonal = derive { name="seasonal"; version="0.80.0"; sha256="06rwbvzgxrhqldni59qq0xzky4qzlkrx088i9qgs99id8ypbvvc5"; depends=[]; };
+seawaveQ = derive { name="seawaveQ"; version="1.0.0"; sha256="19vm1f0qkmkkbnfy1hkqnfz6x2a7g9902ka76bhpcscynl69iy56"; depends=[survival NADA lubridate]; };
+secr = derive { name="secr"; version="2.9.3"; sha256="1jy9phy6h9rf3l08gd5bxnjj37gdbnwbwy9flcyakcjlycj5smvb"; depends=[abind MASS nlme sp mgcv raster]; };
+secrdesign = derive { name="secrdesign"; version="2.2.2"; sha256="028d6kaf09fh2kkdawgjln2qlh3xd89p3pbqmqwwsdp6p43x0wxy"; depends=[secr abind]; };
+secrlinear = derive { name="secrlinear"; version="1.0.5"; sha256="084d0spshf3lh1m50kyb0r8x9lz4yrfj6b7snywffxhqyjw147hf"; depends=[secr sp igraph maptools MASS]; };
+seedy = derive { name="seedy"; version="1.0"; sha256="1p9mbnkgdz3rlaj5ygaai81g8kvs68y4zcgf7745gr17vflys8kf"; depends=[]; };
+seeg = derive { name="seeg"; version="1.0"; sha256="1d45vl075p4qbd74gpaa8aw1h82p9n633fym10yp9bmcv4gwksg6"; depends=[car spatstat sgeostat]; };
+seem = derive { name="seem"; version="1.0"; sha256="0cjdi9c89bqvrx9gzxph958cfqicc1qfnzsair0gvsk3cxsrw6bf"; depends=[]; };
+seewave = derive { name="seewave"; version="1.7.6"; sha256="1sh2i9hb8v0awhczvkj803lmdvg5p1fla685xb3s2a3if1q5zc5i"; depends=[fftw tuneR]; };
+seg = derive { name="seg"; version="0.5-1"; sha256="0gsdbq7b5wpknhlilrw771japr63snvx4vpirvzph4fjyby1c7rg"; depends=[sp splancs]; };
+segmag = derive { name="segmag"; version="1.2.2"; sha256="130saznhssg0qsc34fcw80x92mmqhjgizrb4fxpjsg7a8jjrclp8"; depends=[Rcpp Rcpp]; };
+segmented = derive { name="segmented"; version="0.5-1.1"; sha256="0rkbhg8wwqk08jfd29sh4ifx427kmd4mfqrssllckha9hcglqhz7"; depends=[]; };
+seismicRoll = derive { name="seismicRoll"; version="1.0.1"; sha256="1lls2gbx994j7y3kwpf00ngga5qlzqxwc3cy9x21gy9iq2s8hn0x"; depends=[Rcpp Rcpp]; };
+selectMeta = derive { name="selectMeta"; version="1.0.7"; sha256="1ibiiddl9km8dahfc3kdpl42k43fx4mqgqibxgv5q8zbcp2829p9"; depends=[DEoptim]; };
+selectiongain = derive { name="selectiongain"; version="2.0.40"; sha256="1xzvz747242wfv789dl3gqvgbc8l1c4i2r3p95766ypcjw51j55d"; depends=[mvtnorm]; };
+selectr = derive { name="selectr"; version="0.2-3"; sha256="1ppm1f6mwfwbq92iwacyjn46k1d8148j4zykmjvw8as6c8blgap1"; depends=[XML stringr]; };
+selectspm = derive { name="selectspm"; version="0.1"; sha256="0bihyjaacpyjnm5vznix8krw2sqmy62in33hmb5yj4yidwz1gpv0"; depends=[spatstat ecespa]; };
+selfingTree = derive { name="selfingTree"; version="0.2"; sha256="18ylxmg2ms4ccgm4ahzfl65x614wiq5id7zazjjz5y75h8gs7gzj"; depends=[foreach]; };
+sem = derive { name="sem"; version="3.1-5"; sha256="093kklhl9fnawpwj3km1q0px6fm40kc3vg7kw93y3yb6hniwla35"; depends=[matrixcalc]; };
+semGOF = derive { name="semGOF"; version="0.2-0"; sha256="1lsv72yaza80jqadmah7v2cpfqfay57y12hcz6brvia6bmr5qagb"; depends=[sem MASS matrixcalc]; };
+semPLS = derive { name="semPLS"; version="1.0-10"; sha256="0q5linjyv5npkw4grx3vq58iq2q1grf06ikivhkg8w7rvb7pqn6b"; depends=[lattice]; };
+semPlot = derive { name="semPlot"; version="1.0.1"; sha256="0sdp970qb4mz5vzncfmqxvg1z12gmiyqi3yaz9x2drm3rgzavy83"; depends=[qgraph lavaan sem plyr XML igraph lisrelToR rockchalk colorspace corpcor]; };
+semTools = derive { name="semTools"; version="0.4-6"; sha256="1rxs6kwfc4bp273i9p25v4mc2sm91fkgsg178ifd4d3235xawcvz"; depends=[lavaan]; };
+semdiag = derive { name="semdiag"; version="0.1.2"; sha256="0kjcflw7dn907zx6790w7hnf5db6bf549whfsc0c2r173kf13irp"; depends=[sem]; };
+semiArtificial = derive { name="semiArtificial"; version="1.2.0"; sha256="11pwdqpsf5d5g74s2b8ixmrh2khkha3d4akzlkn652s98qr55dpc"; depends=[CORElearn MASS nnet cluster mclust fpc timeSeries timeDate]; };
+semisupKernelPCA = derive { name="semisupKernelPCA"; version="0.1.5"; sha256="1v8wdq63b1gqicj8c9a24k0w7cc0bkg0mnc9z5mklsfcl7g0g6k9"; depends=[datautils irlba]; };
+semsfa = derive { name="semsfa"; version="1.0"; sha256="1x227rigjk9glq5x9lp6xxcf3y9i73rv3mrj7lkr2ycnsx8zz57h"; depends=[mgcv np moments doParallel foreach iterators]; };
+sendmailR = derive { name="sendmailR"; version="1.2-1"; sha256="0z7ipywnzgkhfvl4zb2fjwl1xq7b5wib296vn9c9qgbndj6b1zh4"; depends=[base64enc]; };
+sendplot = derive { name="sendplot"; version="4.0.0"; sha256="0ia2xck94nwirwxi38nv0viz5wb8291yiak6f0wgwh84irsrfp1h"; depends=[rtiff]; };
+sensR = derive { name="sensR"; version="1.4-5"; sha256="1vp06ghmk852wkc4vmp4k68z6v623hsay69c8nm3m8xvf2vrqfgb"; depends=[multcomp MASS numDeriv]; };
+sensitivity = derive { name="sensitivity"; version="1.11"; sha256="197gm4ylh8giyh5iv9lf5dyb9ad7m406d08ai3vnf7irj7f8nwp2"; depends=[boot]; };
+sensitivityPStrat = derive { name="sensitivityPStrat"; version="1.0-6"; sha256="0rfzvkpz7dll3173gll6np65dyb40zms63fkvaiwn0lk4aryinlh"; depends=[survival]; };
+sensitivitymv = derive { name="sensitivitymv"; version="1.2"; sha256="0h8lbl5yhxgzdrajjydb2ap9q3dnm1abxdk8gdhp84m1bv8pznkj"; depends=[]; };
+sensitivitymw = derive { name="sensitivitymw"; version="1.1"; sha256="1bknnfkkqgmchabcjdfikm37sn5k41ar8lpnjw58i8qh7yzq237i"; depends=[]; };
+sensory = derive { name="sensory"; version="1.0"; sha256="0mfjj3lsx5i8bc8ikhqwycmfryzg9vd64m6ahqjf6xva7bj5h1v6"; depends=[Matrix gtools MASS]; };
+separationplot = derive { name="separationplot"; version="1.1"; sha256="0qfkrk8n6jj8l7ywngwsaikfwmd9hbrpr43x0l9wkjjp1asgs5l6"; depends=[]; };
+seqCBS = derive { name="seqCBS"; version="1.2"; sha256="1kywi3kvvl9y6nm7cwf6fj8gz9gzznp5va336g1akzgy77k82d8v"; depends=[clue]; };
+seqDesign = derive { name="seqDesign"; version="1.0.2"; sha256="0v4g4r9y79vqf4i2r96y6wgjf2aww98k06rk3lpr4cz1yp5x3gvx"; depends=[survival xtable]; };
+seqMeta = derive { name="seqMeta"; version="1.5"; sha256="1igag08qkfvkx83w6jjyfmjpxil9wvag1yfnxp3pqbglj9l99pmn"; depends=[survival Matrix coxme CompQuadForm]; };
+seqPERM = derive { name="seqPERM"; version="1.0"; sha256="1i8ai4gxybh08wxjh96m6xlqxhh7ch0xihjs879snmy4zqfi0pap"; depends=[]; };
+seqRFLP = derive { name="seqRFLP"; version="1.0.1"; sha256="1i98hm8wgwr8b6hd237y2i9i0xgn35w4n2rxy4lqc5zq71gkwkvk"; depends=[]; };
+seqinr = derive { name="seqinr"; version="3.1-3"; sha256="0bbjfwbqg74wsamb3iz01g0ssdpdpg65gh00y9xlnpk4wb990n4n"; depends=[ade4]; };
+seqminer = derive { name="seqminer"; version="3.4"; sha256="1fl7mmqs3y0vpfhqss7syafwli67jwha703fyailxixq7djvwf9f"; depends=[stringr]; };
+seqmon = derive { name="seqmon"; version="0.2"; sha256="075hc6vgl1w3nisrihf5w6mkkg9q601jsqxm9hk9yagyvvd7d78w"; depends=[]; };
+sequences = derive { name="sequences"; version="0.5.9"; sha256="17571m525b6a3k4f0m936wfq401181gx1fpb7x4v0fhaldzdmk3a"; depends=[Rcpp Rcpp]; };
+sequenza = derive { name="sequenza"; version="2.1.1"; sha256="0vrdmfy8qyzjflyl5skcy9mazl56py5gzb1kn1xh2hiv3mshdrfx"; depends=[squash]; };
+seriation = derive { name="seriation"; version="1.0-14"; sha256="0a7m1x6dhk00wh6djiz75x462y06fammr7fd2z8ks32migsbbvpp"; depends=[TSP cluster gclus colorspace MASS]; };
+servr = derive { name="servr"; version="0.1"; sha256="035pf1xg0jgjrba39wxwlrh7n43kp29ymagfv7yskxj31dh3b34i"; depends=[httpuv]; };
+sesem = derive { name="sesem"; version="1.0.1"; sha256="0s4xkv6bc5nxhj09mk9agnj11b9h7swccs9jrn4lg3fy12vqhf5a"; depends=[lavaan mgcv gplots]; };
+session = derive { name="session"; version="1.0.3"; sha256="04mcy1ac75fd33bg70c47nxqxrmqh665m9r8b1zsz5jij1sbl8q5"; depends=[]; };
+setRNG = derive { name="setRNG"; version="2013.9-1"; sha256="02198cikj769yc32v8m2qrv5c01l2fxmx61l77m5ysm0hab3j6hs"; depends=[]; };
+sets = derive { name="sets"; version="1.0-13"; sha256="1ys17iy2gjkfnp3914g6sfx3ilgm18pdfak59cqrwalwwnhc3zaz"; depends=[]; };
+settings = derive { name="settings"; version="0.1.1"; sha256="00b69vh4r8f40v6rm11hgry7dfqsrd2ij9h07y60xxzdjrwigm14"; depends=[]; };
+setwidth = derive { name="setwidth"; version="1.0-3"; sha256="1s6m24kmkafscgibgfldm70m57bv4gs0m7fdki18nwdi1rvwpkbf"; depends=[]; };
+severity = derive { name="severity"; version="2.0"; sha256="1mp19y2pn7nl9m8xfljc515kk5dirv0r2kypazpmd956lcivziqq"; depends=[]; };
+sfa = derive { name="sfa"; version="1.0-1"; sha256="1acqxgydf8j5csdkx0yf169x3yaa31r0ccdrqarh6vj1hacm89ad"; depends=[]; };
+sfsmisc = derive { name="sfsmisc"; version="1.0-27"; sha256="16hkm0ylwipc1zqsi8fiwyqvl9hpjgl7kyvgamibxlbp1y669qgm"; depends=[]; };
+sft = derive { name="sft"; version="2.0-7"; sha256="1fq1b32f08i4k9bv4hh7rhk1jj7kgans6dwh1bmawaqkchyab3jr"; depends=[fda]; };
+sgPLS = derive { name="sgPLS"; version="1.1"; sha256="09nf9qqhlddcgp2y44lxgva9vy3dgbmw1hbl0phw95wb8b9p1m0s"; depends=[mixOmics]; };
+sgeostat = derive { name="sgeostat"; version="1.0-25"; sha256="04zl932s6zb26r42h2l8qf3d43bmrq67281mrkh4spn4vcddv5da"; depends=[]; };
+sglOptim = derive { name="sglOptim"; version="1.0.122.1"; sha256="0ld53rdxai85r9hwz9jrsxr08lxin0ksxa6823r7cr96w18c1ssm"; depends=[Matrix Rcpp RcppProgress RcppArmadillo BH]; };
+sglasso = derive { name="sglasso"; version="1.1-0"; sha256="1iyj8clk2ibj94nxh1xi1wr50y2l53fxcivc2jdnilcqmscwbf1x"; depends=[Matrix]; };
+sglr = derive { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; };
+sgof = derive { name="sgof"; version="2.2"; sha256="087f4nbx9ppzi5za3f4w4msq2gd3r08v16fihppa30nqydg3ssbj"; depends=[poibin]; };
+sgr = derive { name="sgr"; version="1.3"; sha256="0zxmrbv3fyb686hcgfy2w1w2jffxf41ab8yc90dsgf931s9c55wn"; depends=[MASS]; };
+sgt = derive { name="sgt"; version="1.1"; sha256="0j4xxh5lypcl0hyfx7gzrhb40z36ygn97hf1nl6m8wj4dncg39jf"; depends=[maxLik]; };
+shape = derive { name="shape"; version="1.4.2"; sha256="0yk3cmsa57svcvbnm21pyr0s0qbhnllka8nmsg4yb41frjlqph66"; depends=[]; };
+shapefiles = derive { name="shapefiles"; version="0.7"; sha256="08ghndihs45kylbzd9wnxffn8ixvxjhjnjldjyd526ai2sj8xcgf"; depends=[foreign]; };
+shapes = derive { name="shapes"; version="1.1-10"; sha256="038xps6f8b6w9qa9csqk33ggmb311h5zxwsxr027bd95a3vmyijx"; depends=[scatterplot3d rgl MASS]; };
+sharpshootR = derive { name="sharpshootR"; version="0.7-2"; sha256="04plsgmyil6znmcqx2j78n2vjj4y4mprb3wqbhwagapdhvp9rcis"; depends=[aqp ape soilDB igraph cluster lattice latticeExtra vegan sp reshape2 Hmisc scales circular RColorBrewer plyr]; };
+sharx = derive { name="sharx"; version="1.0-4"; sha256="1flcflx6w93s8bk4lcwcscwx8vacdl8900ikwkz358jbgywskd5n"; depends=[Formula dcmle dclone]; };
+shiny = derive { name="shiny"; version="0.11.1"; sha256="1aplb2wvgsbg6hhjsyjjhd8qbj11yrzm10rr812lzpiavd9wjn3w"; depends=[httpuv mime RJSONIO xtable digest htmltools R6]; };
+shinyAce = derive { name="shinyAce"; version="0.1.0"; sha256="1031hzh647ys0d5hkw7cqxj0wgry3rxgq95fgs7slbm0rgx9g6f7"; depends=[shiny]; };
+shinyBS = derive { name="shinyBS"; version="0.20"; sha256="1l95g2rzv53vwx5zcaqiqz8jirncwh1yb14y62x9phg4n5jfk9f8"; depends=[shiny]; };
+shinyFiles = derive { name="shinyFiles"; version="0.5.0"; sha256="0ax8blsflzwzzp7ky7zs48dsf8a9dzm18hcmif9hjlq8dy5bh7sp"; depends=[shiny htmltools]; };
+shinyRGL = derive { name="shinyRGL"; version="0.1.0"; sha256="07llg1yg5vmsp89jk60ly695zvxky6n06ar77mjxzlyc294akwmy"; depends=[rgl shiny]; };
+shinyTree = derive { name="shinyTree"; version="0.2.2"; sha256="08n2s6pppbxn23ijp6vms609p4qwlmfh9g0k5hdfqsqxjrz1nndi"; depends=[shiny]; };
+shinybootstrap2 = derive { name="shinybootstrap2"; version="0.2.1"; sha256="17634l3swlvgj1sv56nvrpgd6rqv7y7qjq0gygljbrgpwmfj198c"; depends=[htmltools jsonlite shiny]; };
+shinythemes = derive { name="shinythemes"; version="1.0.1"; sha256="0wv579cxjlnd7wkfqzy2x3qk7d1abql1nhw10rx1c4c808vsylkw"; depends=[shiny]; };
+shopifyr = derive { name="shopifyr"; version="0.28"; sha256="1ypqgiqimdwj9fjy9ykk42rnkipb4cvdxy5m9z9jklvk5a7cgrml"; depends=[RCurl R6 RJSONIO]; };
+shotGroups = derive { name="shotGroups"; version="0.6"; sha256="0khcgzli6114yqrglmsvhr8rwkkkwdkd06b50isbc24vpv6xbfx9"; depends=[boot coin CompQuadForm energy KernSmooth mvoutlier robustbase]; };
+showtext = derive { name="showtext"; version="0.3"; sha256="1spbrzjasd0ljipbf45iar7b0vksla93iajypfbq2ndwyid3yzj4"; depends=[sysfonts showtextdb]; };
+showtextdb = derive { name="showtextdb"; version="1.0"; sha256="14iv5nyc9wszy1yhbggk7zs042kv10lwk92pn9751hfws53yq6hf"; depends=[sysfonts]; };
+shp2graph = derive { name="shp2graph"; version="0-2"; sha256="09gbb7f9h3q2p56dwb2813mr36115ah70szq47jimpymzkd2x08m"; depends=[maptools igraph]; };
+shrink = derive { name="shrink"; version="1.2.0"; sha256="0r207mj57kjn6wfmz4f2l4wmbz7g1pvj96gpl0s76vkdjzbh1l47"; depends=[survival MASS rms]; };
+shuffle = derive { name="shuffle"; version="1.0"; sha256="037i45mfys1nr9sqmmsfb2yd3ba3aa22hc701f5j2zp8jx57qn3k"; depends=[]; };
+siRSM = derive { name="siRSM"; version="1.1"; sha256="0fx6bfb5c8hdlgjxddwhhzr09ls53kfgn36hjk9zi5z8m14a7wbn"; depends=[rsm MASS foreach doSNOW]; };
+siar = derive { name="siar"; version="4.2"; sha256="1c4z72jr81dzkp9xqyrrkwjsalvvksl67pnbaadkc52v84fhzx3r"; depends=[hdrcde coda MASS bayesm mnormt spatstat]; };
+sideChannelAttack = derive { name="sideChannelAttack"; version="1.0-6"; sha256="1xcsy1h8gc8a4f9nzs7zv8x6v55g1pg8vy1kg64iqxm0gnz2f20l"; depends=[MASS corpcor mmap ade4 infotheo]; };
+sidier = derive { name="sidier"; version="3.0.1"; sha256="1vl28biy7inycn74kzq0gm3r2fd5ylkndl863jy8b3jvdrq9achk"; depends=[ape network igraph gridBase ggmap ggplot2]; };
+sievetest = derive { name="sievetest"; version="1.2.2"; sha256="0mbgkf014m6bc7qg60vf065i6mvl5n4a0bvg8vb7dw531vsw2771"; depends=[]; };
+sig = derive { name="sig"; version="0.0-5"; sha256="084wwpj5mnmq4k98ijbv23z80sj4axadc7c6hn3917dazsaa6ngn"; depends=[]; };
+sigclust = derive { name="sigclust"; version="1.1.0"; sha256="0151v7lr4n4yyn93j0s06gzc9jh9xhdgvfw6kvpfy24jl6wdii7g"; depends=[]; };
+sigloc = derive { name="sigloc"; version="0.0.4"; sha256="13v2dlgsbcsqqm8yxls62i7r3sk8m3c78jv8f9lgdihq5pjnd9zp"; depends=[nleqslv ellipse]; };
+signal = derive { name="signal"; version="0.7-4"; sha256="0sz8im7i46qy5wjpm34a2nqvrc1vipmqlw8ns3i2s1vhcvp7fjs1"; depends=[MASS]; };
+signal_hsmm = derive { name="signal.hsmm"; version="1.2.1"; sha256="0nxhksvwkidmp5x27hxmwxbv747lrwa19b4vi6dx72hny8prgvpc"; depends=[biogram seqinr shiny]; };
+simFrame = derive { name="simFrame"; version="0.5.3"; sha256="154d4k6x074ib813dp42l5l8v81x9bq2c8q0p5mwm63pj0rgf5f3"; depends=[Rcpp lattice Rcpp]; };
+simMSM = derive { name="simMSM"; version="1.1.41"; sha256="04icijrdc269b4hwbdl3qz2lyxcxx6z63y2wbak1884spn6bzbs8"; depends=[survival mvna]; };
+simPH = derive { name="simPH"; version="1.3"; sha256="1hazh1flag3n7mrab9agc6nmiii0amdcxlbgzadiwpgyrdbdhkjn"; depends=[data_table dplyr ggplot2 gridExtra lazyeval MASS mgcv reshape2 stringr survival quadprog]; };
+simPop = derive { name="simPop"; version="0.2.9"; sha256="1vi2jab57aqf1jyf87vrybz5qbhv7wdjhsm963z3cpyva2bj0i60"; depends=[lattice vcd data_table laeken MASS Rcpp e1071 nnet doParallel foreach colorspace Rcpp]; };
+simSummary = derive { name="simSummary"; version="0.1.0"; sha256="1ay2aq6ajf1rf6d0ag3qghxpwj0f8b3fhpr2k0imzmpbyag1i3gj"; depends=[abind svUnit gdata]; };
+simTool = derive { name="simTool"; version="1.0.3"; sha256="1x018p5mssrhz2ghs3ly9wss12503h93gl7zk0mqh1bcrzximh0k"; depends=[plyr reshape]; };
+simba = derive { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; };
+simboot = derive { name="simboot"; version="0.2-5"; sha256="0slznwk8i3z76sxbfd4y5rp28jr6jv4i5ynnckpr10i59ba04wlq"; depends=[boot mvtnorm]; };
+simctest = derive { name="simctest"; version="2.4.1"; sha256="0v4l3dqhr551kr1kivsndk4ynkiaarp8hp65vgng4q8jm60il98c"; depends=[]; };
+simecol = derive { name="simecol"; version="0.8-6"; sha256="0h48klfwk0836byncqn9d0z8mkh6lc8qm4zivyk5af79mr5s0bn5"; depends=[deSolve]; };
+simex = derive { name="simex"; version="1.5"; sha256="01706vbmfgcg13w1kq8v5rnk5xggbd1n7fv50c6bvhdyc1dly313"; depends=[]; };
+simexaft = derive { name="simexaft"; version="1.0.7"; sha256="13w9m35qrrp8kkz4gqp7fg9jv8fs99y19n21bdxsd3f5mlkbvqgl"; depends=[mvtnorm survival]; };
+simone = derive { name="simone"; version="1.0-2"; sha256="071krim64s7fjwvwq7bjr0pw33mw9am9wpyypcy4gs7g1hj8wcir"; depends=[mixer]; };
+simpleboot = derive { name="simpleboot"; version="1.1-3"; sha256="1qprjisfflhzg8ll12p3q1zcfdiyc45glic2j9cw9nhx5rb065fk"; depends=[boot]; };
+simplexreg = derive { name="simplexreg"; version="1.0"; sha256="144kljh968i7n2d21r4204i4h952mfrkfc8b5r6x760msgjphxvh"; depends=[Formula plotrix]; };
+simrel = derive { name="simrel"; version="1.0-1"; sha256="0905rjqh8c08vyg090h0i7sx89vdryignslldzfz2r5yrszl4ga8"; depends=[FrF2 sfsmisc]; };
+simsalapar = derive { name="simsalapar"; version="1.0-5"; sha256="1z3dwylfrl08pq2k5ppfma3ijh356qc7wwdvgyp3wmw1bcq1amyf"; depends=[sfsmisc gridBase colorspace]; };
+simsem = derive { name="simsem"; version="0.5-8"; sha256="1kir1c0g5xb4gzmpvx13qp071b3d5v0br3093q394wzp22d816xk"; depends=[lavaan]; };
+siplab = derive { name="siplab"; version="1.1"; sha256="1b5drhla4p7n1y1cp7kqwqzw0b286kgij9j6wsks5vjgy5qfal1x"; depends=[spatstat]; };
+sirad = derive { name="sirad"; version="2.0-7"; sha256="009icj1jil757vvsf88sgmdz40swrx1qvrhnx7wwj7p3dlh78pvw"; depends=[zoo ncdf RNetCDF raster]; };
+sirt = derive { name="sirt"; version="1.5-0"; sha256="0mj6j336b4kzd2fsy3nha66r88cyfnq70cgfld36p9izlxlq6l7x"; depends=[TAM CDM Rcpp mirt lavaan qgraph semPlot combinat ic_infer sfsmisc sm psych pbivnorm gtools igraph coda mvtnorm MASS Matrix Rcpp RcppArmadillo]; };
+sisVIVE = derive { name="sisVIVE"; version="1.0"; sha256="1y6zq8dp5k9mx83x6fryjh0h5f5wyry1cbi33rj3h7sss8vi3vz0"; depends=[lars]; };
+sisus = derive { name="sisus"; version="3.9-13"; sha256="0lz9ww07dvdx6l3k5san8gwq09hycc3mqwpgzmr2ya9z8y27zadr"; depends=[MASS RColorBrewer coda gdata gtools moments polyapost rcdd]; };
+sitar = derive { name="sitar"; version="1.0.1"; sha256="1ji8742f518fzg8xz0dy5irwdz7a0nymajh69zd2l53yvcsnlwdp"; depends=[nlme]; };
+sitools = derive { name="sitools"; version="1.4"; sha256="0c0qnvsv06g6v7hxad96fkp9j641v8472mbphvaxa60k3xc7ackb"; depends=[]; };
+sjPlot = derive { name="sjPlot"; version="1.7"; sha256="0kk9isz105y6m83vk6x6c7i55kch51w2a4l8nlc44ffbm8zwqqa1"; depends=[ggplot2 MASS car foreign psych scales dplyr tidyr]; };
+sjdbc = derive { name="sjdbc"; version="1.5.0-71"; sha256="0i9wdfadfcabayq78ilcn6x6y5csazbsgd60vssa2hdff0ncgvk1"; depends=[rJava]; };
+skatMeta = derive { name="skatMeta"; version="1.4.3"; sha256="0bknv066ya4yl4hl4y02d9lglq2wkl9c2j1shzg3d64dg4sjvbak"; depends=[Matrix coxme survival CompQuadForm]; };
+skda = derive { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; };
+skewt = derive { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; };
+skmeans = derive { name="skmeans"; version="0.2-6"; sha256="02zw2y7s13hb6mx9w2yr5s2v1p5yxg3k67bhrl92g9n2jkbim3ni"; depends=[slam clue cluster]; };
+sla = derive { name="sla"; version="0.1"; sha256="0fr5n65ppwsh9z7a6rma9ak0bl8x3nz7v25lij7wb5nrf3sl74yb"; depends=[]; };
+slackr = derive { name="slackr"; version="1.2"; sha256="1ymj3x52wyp0mp41xnnycg0vhdmv8whimwk1hzfsqr30pccnvn9j"; depends=[httr jsonlite data_table ggplot2]; };
+slam = derive { name="slam"; version="0.1-32"; sha256="000636dwj4kmj5w1w5s6bqixh78m7262y3fgizj7rfhcnc2gz7ad"; depends=[]; };
+sld = derive { name="sld"; version="0.3"; sha256="18xj57v9gg78d894cr1h6wp10i05hrnmwhmq6yh6211kdyj9ljp1"; depends=[lmom]; };
+slfm = derive { name="slfm"; version="0.1"; sha256="0s5q6ank6075sls9pkqhf7jlvi6gyvsbxa99c34d6ccrv88skyzq"; depends=[Rcpp coda Rcpp RcppArmadillo]; };
+slp = derive { name="slp"; version="1.0-3"; sha256="09jyrp6y3rigy043d8s5i7nh89pgpvn3cv51mr729c9ccr6jdjb1"; depends=[mgcv]; };
+sm = derive { name="sm"; version="2.2-5.4"; sha256="0hnq5s2fv94gaj0nyqc1vjdjd64vsp9z23nqa8hxvjcaf996rwj9"; depends=[]; };
+smaa = derive { name="smaa"; version="0.2-3"; sha256="1vabxxyz2k10sbvrzdf51jlh59zlkjdq82vblk5s37ddmzgwnif9"; depends=[]; };
+smac = derive { name="smac"; version="1.0"; sha256="1inn7i5k0q5vln24kazh3gl3szf6lxwnjr2rw70jcyn9dr9iy952"; depends=[]; };
+smacof = derive { name="smacof"; version="1.6-2"; sha256="10yg4dxyv08wq1a74jac6jnmzhbjm6qip3vg5ca06w5pqk6lbdgn"; depends=[rgl polynom scatterplot3d Hmisc colorspace nnls]; };
+smacpod = derive { name="smacpod"; version="1.1.1"; sha256="1pmgxvww24mcgrvv87axqvw457r5wl57scqy93inmzia2mgyva1p"; depends=[spatstat]; };
+smam = derive { name="smam"; version="0.2-2"; sha256="1p6bzk4b9kpmfs4nxmcgc46hgdpldqg0pzpc0zhvs187z2nrfw75"; depends=[Matrix]; };
+smart = derive { name="smart"; version="1.0.1"; sha256="0ki3qn71zrw0nyv395qijcwahnxyv1p21j8x6cxr9spah2wzz8lb"; depends=[Matrix gplots gtools PMA elasticnet pcaPP igraph]; };
+smatr = derive { name="smatr"; version="3.4-3"; sha256="0iiazln4albj7k5w67slvyn98cqg4f6k409mml0n1pvlkki0h7gy"; depends=[plyr]; };
+smbinning = derive { name="smbinning"; version="0.1"; sha256="1r3l8z875k5sjnbjg0dpkv3x122hn8g601025lfdpl2ndkbz4qms"; depends=[sqldf partykit Formula gsubfn]; };
+smcUtils = derive { name="smcUtils"; version="0.2.2"; sha256="0d1kmg386j0zrpp8vgxjwvpf1i25l86xrh82767xkp0n9qj8srwq"; depends=[]; };
+smco = derive { name="smco"; version="0.1"; sha256="1sj3y1x6pc32cwzyhn9gaxs964xh5xl4vw08hsa8kfcxhh2r0s99"; depends=[]; };
+smcure = derive { name="smcure"; version="2.0"; sha256="1j7fxnb0sx57a0l929c3haz4f1y829ymlq0cvdh0cia4qp6ydv60"; depends=[survival]; };
+smdata = derive { name="smdata"; version="1.1"; sha256="1hcr093xfkp88fn75imjkmfnp9cfsng5ndxpa8m2g0l29qhpxfvk"; depends=[]; };
+smdc = derive { name="smdc"; version="0.0.2"; sha256="1j6xnzjbmmakbmk3lyjck3bsy8w8hyd9d8h04s4gbddhci283mqm"; depends=[proxy tm]; };
+sme = derive { name="sme"; version="0.8"; sha256="1djrs3z699p6q2y1hfywh27csqc9cp1cfm3lxkigmmvxqjhyshz6"; depends=[lattice]; };
+smfsb = derive { name="smfsb"; version="1.1"; sha256="0khd23b6k9zgxz2x6g6c6k2g32mbpli32izdq6fgk1a990kdsp6j"; depends=[]; };
+smirnov = derive { name="smirnov"; version="1.0-1"; sha256="09mpb45wj8rfi6n6822h4c335xp2pl0xsyxgin1bkfw97yjcvrgk"; depends=[]; };
+smnet = derive { name="smnet"; version="1.0"; sha256="185ihq44fp00qp03lp9hz821a1ddm1bd09k3j0ii715grc91nc49"; depends=[SSN spam dfoptim RSQLite igraph DBI]; };
+smoothHR = derive { name="smoothHR"; version="1.0.1"; sha256="02kjqkgnhjwhq1vmva9nmy36a7bc6zjj6g81dw9m4zd3y9nbb005"; depends=[survival]; };
+smoothSurv = derive { name="smoothSurv"; version="1.5"; sha256="145j415jr482s860c685sr815bwx7g63pkfhra1m6r2wawqb2gl5"; depends=[survival]; };
+smoother = derive { name="smoother"; version="1.0.0.0"; sha256="0i4g19xh20v4ig9fcy1gvbawi0a92jkg2qwdcxvgcflvppnvbv22"; depends=[]; };
+smoothie = derive { name="smoothie"; version="1.0-1"; sha256="12p4ig8fbmlsby5jjd3d27njv8j7aiwx0m2n1nmgvjj0n330s1kj"; depends=[]; };
+smoothmest = derive { name="smoothmest"; version="0.1-2"; sha256="14cri1b6ha8w4h8m26b3d7qip211wfv1sywgdxw3a6vqgc65hmk5"; depends=[MASS]; };
+smoothtail = derive { name="smoothtail"; version="2.0.3"; sha256="0yr3j5mq1h9pd72kyi9z6wzly9cqkscim814yi710y79l03gp0fd"; depends=[logcondens]; };
+sms = derive { name="sms"; version="2.3"; sha256="0grxyp590hj2rvw1fw3yidzkl8nqqp5a14bp9xfpdph2nyas61qq"; depends=[doParallel foreach]; };
+smss = derive { name="smss"; version="1.0-1"; sha256="17a0x92hxzn212yiz87n7ssyi3bdhnyawxk1kkmk46q1ss22a1pm"; depends=[]; };
+sn = derive { name="sn"; version="1.1-2"; sha256="0ik528c0nxcr7hc3x6xx4zpyjhpaaa55jrvz1141f9bggv6bwclh"; depends=[mnormt numDeriv]; };
+sna = derive { name="sna"; version="2.3-2"; sha256="1dmdv1bi22gg4qdrjkdzdc51qsbb2bg4hn47b50lxnrywdj1b5jy"; depends=[]; };
+snapshot = derive { name="snapshot"; version="0.1.2"; sha256="0cif1ybxxjpyp3spnh98qpyw1i5sgi1jlafcbcldbqhsdzfz4q10"; depends=[]; };
+snht = derive { name="snht"; version="1.0.1"; sha256="0fv2p12c72acimkasnb8d7yq7l4j5y7c9v64q54k8fy85rkjw9wl"; depends=[mgcv zoo plyr reshape]; };
+snipEM = derive { name="snipEM"; version="1.0"; sha256="0f98c3ycl0g0l3sgjgk7xrjp6ss7n8zzlyzvpcb6agc60cnw3w03"; depends=[Rcpp mvtnorm MASS GSE Rcpp RcppArmadillo]; };
+snow = derive { name="snow"; version="0.3-13"; sha256="1habq43ncac9609xky3nqfkbq52cz36dg8jbdihag269z1kazdnf"; depends=[]; };
+snowFT = derive { name="snowFT"; version="1.3-0"; sha256="10hhhzzzyz1ph7c8k08s79h4pdwq4jk8bh47y37ww0yjq0fd6gik"; depends=[snow]; };
+snowfall = derive { name="snowfall"; version="1.84-6"; sha256="1n9v9m4c02pspgkxfmq7zdk41s2vjcsk06b0kz9km4xy1x7k0hsg"; depends=[snow]; };
+snp_plotter = derive { name="snp.plotter"; version="0.5.1"; sha256="16apsqvkah5l0d5qcwp3lq2jspkb6n62wzr0wskmj84jblx483vv"; depends=[genetics]; };
+snpEnrichment = derive { name="snpEnrichment"; version="1.6.3"; sha256="0hg1cgyr4nlrqfv60aky8ljwh46ldslca3jmb6v6criyz6knqdv3"; depends=[]; };
+snpRF = derive { name="snpRF"; version="0.4"; sha256="1amxc4jprrc6n5w5h9jm2as025gqdqkla2asz7x97sjdnnj9kzzn"; depends=[]; };
+snpStatsWriter = derive { name="snpStatsWriter"; version="1.5-6"; sha256="04qhng888yih8gc7yd6rrxvvqf98x3c2xxz22gkwqx59waqd4jlq"; depends=[colorspace]; };
+snpar = derive { name="snpar"; version="1.0"; sha256="0c9myg748jm7khqs8yhg2glxgar1wcf6gyg0xwbmw0qc41myzfnq"; depends=[]; };
+snplist = derive { name="snplist"; version="0.13"; sha256="1v9n3gdvygx4s6hlm0ijyw04szxwn9c1dqnhaqn61a8yfkmmnxn8"; depends=[RSQLite Rcpp R_utils DBI Rcpp]; };
+sns = derive { name="sns"; version="1.0.0"; sha256="0qr5gj095xg48mqj7maz1m1zizx1jdjca8qygygqvak1b7nl4ccs"; depends=[mvtnorm coda]; };
+soc_ca = derive { name="soc.ca"; version="0.7.1"; sha256="0lg1bpbd0crywa29xc79cn3kr614wq4hr09xpwk17nv7q8qw8cnh"; depends=[ggplot2 gridExtra ellipse scales]; };
+softImpute = derive { name="softImpute"; version="1.0"; sha256="0pkpr8pxvrrw4p95907bnhl3k54dxz5r2fk8zi56kilrarhzchqr"; depends=[Matrix]; };
+softclassval = derive { name="softclassval"; version="1.0-20130317"; sha256="1ifqm4a3xxi9wd4l1q4l5h4q5f8hp0k28mqpszzj8k1czbph88ql"; depends=[arrayhelpers]; };
+soil_spec = derive { name="soil.spec"; version="2.1.4"; sha256="129iqr6fdvlchq56jmy34s6qc2j5fcfir6pa5as5prw0djyvbdv0"; depends=[pls KernSmooth wavelets hexView sp GSIF]; };
+soilDB = derive { name="soilDB"; version="1.5-2"; sha256="1xiiprshh40qkx23wxd20rd7bsbwgw03pa0hv8m6q64pri7v8xq0"; depends=[aqp plyr Hmisc RCurl XML sp]; };
+soilphysics = derive { name="soilphysics"; version="2.1"; sha256="0j2jqdzkm5clqsn0z01ldzx138yf37gvyrk79yqhmwiigvp5b728"; depends=[rpanel MASS]; };
+soilprofile = derive { name="soilprofile"; version="1.0"; sha256="0sdfg6m2m6rb11hj017jx2lzcgk6llb01994x749s0qhzxmvx9mb"; depends=[aqp lattice munsell splancs]; };
+soiltexture = derive { name="soiltexture"; version="1.2.19"; sha256="0nw72913qb1hpifjqv0s1z5sxhgavhbalqhjczxg8b66fwqzrs7l"; depends=[sp MASS]; };
+soilwater = derive { name="soilwater"; version="1.0.1"; sha256="08rz1i5dsgwfvfd4sl5x9j970v82v3kny0rqg1zbdnr53vp2xc7j"; depends=[]; };
+solaR = derive { name="solaR"; version="0.38"; sha256="0cvza0d4kd47kr6749ysvw664kjja87ppn4jvan4hrklczbpdc9z"; depends=[lattice latticeExtra zoo]; };
+solr = derive { name="solr"; version="0.1.4"; sha256="0b1f6mf8fi2ql8j06b0mkk7nyy5wj1zsg46lfxi6bp8n4ywbym9n"; depends=[plyr httr XML assertthat rjson]; };
+som = derive { name="som"; version="0.3-5"; sha256="01xsysmqj0zhzifqpwcrs0mflh56ndv4q3nm5n5imx7wmzx2lrzp"; depends=[]; };
+soma = derive { name="soma"; version="1.1.1"; sha256="1mc1yr9sq9h2z60v40aqmil0xswj5hgxfdh4racq297qw3a97my4"; depends=[reportr]; };
+someKfwer = derive { name="someKfwer"; version="1.2"; sha256="0widny5l04ja91fy16x4giwrabwqhx0fs3yl48pv9xh4zj6sx563"; depends=[]; };
+someMTP = derive { name="someMTP"; version="1.4.1"; sha256="19bsn8rny1vv9343bvk8xzhh82sskl0zg0f5r59g9k812q5llchn"; depends=[]; };
+somebm = derive { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; };
+somplot = derive { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; };
+sonicLength = derive { name="sonicLength"; version="1.4.4"; sha256="1v46xzx3jxxxs2biyrq6xbv2lhpz1i95la93hj6dl4jfyikmx0im"; depends=[]; };
+soobench = derive { name="soobench"; version="1.0-73"; sha256="1y2r061pd4kr0kdgp8db3qy2aj07jdiyvy2py4fmwg6b8pcf9y0l"; depends=[]; };
+sortinghat = derive { name="sortinghat"; version="0.1"; sha256="1wrxwhdp3gj1ra0rgldnmc0w019bnjb6z9j20c5p1ab09x4dmlny"; depends=[MASS bdsmatrix mvtnorm]; };
+sorvi = derive { name="sorvi"; version="0.7.20"; sha256="1cd0lg74lfdbkp314i40asc3vshs1acb20wz1cxzg62vyz6ia055"; depends=[reshape ggplot2 plyr RColorBrewer XML]; };
+sos = derive { name="sos"; version="1.3-8"; sha256="0vcgq8hpgdnlmkxc7qh1jqigr0gvm9x3w4ijbhma7x4i5fx3c2il"; depends=[brew]; };
+sos4R = derive { name="sos4R"; version="0.2-11"; sha256="0r4lficx8wr0bsd510z4cp6la32xf928rsiznbywpxghnypsrcgg"; depends=[XML RCurl sp]; };
+sotkanet = derive { name="sotkanet"; version="0.9.03"; sha256="1h8jmwv99hcrl5hkd99ypphvl8hx6k765vb8aphzp8a0vh42pkl1"; depends=[ggplot2 rjson]; };
+soundecology = derive { name="soundecology"; version="1.2"; sha256="0vxnkqn9ibz1il687rn5fygyl9hrqbf646r1kwdiksw3qz6a16r2"; depends=[pracma oce ineq vegan tuneR seewave]; };
+source_gist = derive { name="source.gist"; version="1.0.0"; sha256="03bv0l4ccz9p41cjw18wlz081vbjxzfgq3imlhq3pgy9jdwcd8fp"; depends=[RCurl rjson]; };
+sp = derive { name="sp"; version="1.0-17"; sha256="02j0q2b0i7j4p7i5l19n4dq92iv7dspwwg3jx2qkv3481p5dq25q"; depends=[lattice]; };
+sp23design = derive { name="sp23design"; version="0.9"; sha256="1ihvcld19cxflq2h93m9k9yaidhwixvbn46fqqc1p3wxzplmh8bs"; depends=[mvtnorm survival]; };
+spBayes = derive { name="spBayes"; version="0.3-9"; sha256="1zdyz5jqbixwj59q9f1x8f3knz0jwdfl0abj0w6cxrllkb38yg10"; depends=[coda magic abind Formula]; };
+spBayesSurv = derive { name="spBayesSurv"; version="1.0.2"; sha256="0pxndjksrd22p60pvc4czxwqhrpx5ik0yr23nz7kmg6wnp36hc6w"; depends=[Rcpp survival coda Rcpp RcppArmadillo]; };
+spMC = derive { name="spMC"; version="0.3.6"; sha256="0h71m55jmv80kx5ccsrpsakrh4qw5f3kx2qizwi10jlybwggqv0m"; depends=[]; };
+spThin = derive { name="spThin"; version="0.1.0"; sha256="06qbk0qiaw7ly1ywbr4cnkmqfasymr7gbhvq8jjbljm0l69fgjpp"; depends=[spam fields knitr]; };
+spTimer = derive { name="spTimer"; version="2.0-0"; sha256="0ldby68p4y5cz5dj2m33jcbgd3mw9nv0py4llg8aj10bxylarmfv"; depends=[coda sp]; };
+spa = derive { name="spa"; version="2.0"; sha256="1np50qiiy3481xs8w0xfmyfl3aypikl1i1w8aa5n2qr16ksxrnq3"; depends=[cluster MASS]; };
+spaMM = derive { name="spaMM"; version="1.5.1"; sha256="1sv5ndg7jmyivwkj7y7i4da862qb8p3z7m83vmbphwbykpl7jfs5"; depends=[Matrix MASS lpSolveAPI proxy geometry Rcpp nlme Rcpp RcppEigen]; };
+spaa = derive { name="spaa"; version="0.2.1"; sha256="0qlfbfvv97avbnixm5dz9il3dmd40wnpvv33jh7fa0mh740bircy"; depends=[]; };
+space = derive { name="space"; version="0.1-1"; sha256="1qigfz62xz47hqi43aii3yr4h7ddvaf11a5nil7rqprgkd0k6mv3"; depends=[]; };
+spaceExt = derive { name="spaceExt"; version="1.0"; sha256="0lp8qmb7vcgxqqpsi89zjy7kxpibg3x2mq205pjmsrbbh7saqzr4"; depends=[limSolve glasso]; };
+spacejam = derive { name="spacejam"; version="1.1"; sha256="1mdxmfa1aifh3h279cklm4inin0cx3h0z2lm738bai34j6hpvar7"; depends=[igraph Matrix]; };
+spacetime = derive { name="spacetime"; version="1.1-3"; sha256="04myzza2av2sr6g75dlklr3nv36hr3frvafphzn278vbhma777d9"; depends=[sp zoo xts intervals lattice]; };
+spacodiR = derive { name="spacodiR"; version="0.13.0115"; sha256="0c0grrvillpwjzv6fixviizq9l33y7486ypxniwg7i5j6k36nkpl"; depends=[picante colorspace Rcpp Rcpp]; };
+spacom = derive { name="spacom"; version="1.0-4"; sha256="1jfsbgy7b0mwl4n2pgrkkghx9p8b0wipvg4c5jar6v8ydby6qg94"; depends=[spdep foreach iterators lme4 nlme Matrix]; };
+spam = derive { name="spam"; version="1.0-1"; sha256="033s5ka05kg97fmc3l1li3z6x5225rwhrdxh57wwn4axrjwy1nyy"; depends=[]; };
+spanr = derive { name="spanr"; version="1.0"; sha256="1x29hky347kvmk9q75884vf6msgcmfi3w4lyarq99aasi442n1ps"; depends=[plyr stringr survival]; };
+sparc = derive { name="sparc"; version="0.9.0"; sha256="0jsirrkmvrfxav9sphk8a4n52fg0d1vnk3i8m804i4xl0s7lrg8s"; depends=[]; };
+sparcl = derive { name="sparcl"; version="1.0.3"; sha256="1348pi8akx1k6b7cf4bhpm4jqr5v8l5k086c7s6rbi5p6qlpsrvz"; depends=[]; };
+spareserver = derive { name="spareserver"; version="1.0.0"; sha256="0vaql5v3337xh1ifjziav3v7fkjff4zhrz557mgy75ham554gs7c"; depends=[assertthat pingr httr]; };
+spark = derive { name="spark"; version="1.0.0"; sha256="0ryc7kq3hx8nd5m999p1y7lxli6x862y6hqpv8xwpqak0y863p6m"; depends=[magrittr]; };
+sparkTable = derive { name="sparkTable"; version="0.12.0"; sha256="1q0wz090db9ff46k9w6wk1qk20yr527ilg2ply4qcw3zjydk8cc5"; depends=[Cairo gridExtra ggplot2 shiny Rglpk xtable StatMatch boot pixmap RGraphics]; };
+sparktex = derive { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; };
+sparr = derive { name="sparr"; version="0.3-6"; sha256="1imgph2bf575rm06l4vsz0nhizkrwa3p5j6b6gdn30l0hlhxjp0j"; depends=[spatstat rgl MASS]; };
+sparseBC = derive { name="sparseBC"; version="1.1"; sha256="1w60n2875n809lbrn0hd4kdmsyfd64aikgzxchza8b59x77l0psy"; depends=[glasso fields]; };
+sparseHessianFD = derive { name="sparseHessianFD"; version="0.2.0"; sha256="1sj9d2d8bfjd00jr682gj21d4y0hjm91l3hj7356fpq461nb9pl8"; depends=[Rcpp Matrix Rcpp RcppEigen]; };
+sparseLDA = derive { name="sparseLDA"; version="0.1-6"; sha256="0k9v2pjx4q4nhvpjhv496v4gfr5h19w0h2h7za7j6zqfn6aygvz6"; depends=[lars elasticnet MASS mda]; };
+sparseLTSEigen = derive { name="sparseLTSEigen"; version="0.2.0"; sha256="11llmrkq0pnrdphgjvhmg269bq3xbbn4s7kd7xhvk62sigvspkcj"; depends=[robustHD Rcpp RcppEigen Rcpp RcppEigen]; };
+sparseMVN = derive { name="sparseMVN"; version="0.2.0"; sha256="12g387bvpy4249kwq946v006ab095zsmgfsrkc1yqncxhmjwrgqn"; depends=[Matrix]; };
+sparseSEM = derive { name="sparseSEM"; version="2.5"; sha256="0ig8apsi94kvbcq3i8nzmywbdizlss7c6r9bppcyl9lxgikc3cds"; depends=[]; };
+sparsediscrim = derive { name="sparsediscrim"; version="0.2"; sha256="0m8ccmqpg1np738njavf736qh917hd3blywyzc3vwa1xl59wqccl"; depends=[corpcor bdsmatrix mvtnorm]; };
+sparsenet = derive { name="sparsenet"; version="1.2"; sha256="106a2q4syrcnmicrx92gnbsf2i5ml7pidwghrpl6926glj59j248"; depends=[glmnet shape]; };
+spartan = derive { name="spartan"; version="2.1"; sha256="1zkb08ppsmbkvgw16y46nlhcsb2s7dh3rcm7f57ydchpda2gxixh"; depends=[]; };
+spatcounts = derive { name="spatcounts"; version="1.1"; sha256="0rp8054aiwc62r1m3l4v5dh3cavbs5h2yb01453bw9rwis1pj2qm"; depends=[]; };
+spate = derive { name="spate"; version="1.4"; sha256="1cr63qm3hgz6viw6ynzjv7q5ckfsan7zhbp224gz4cgx5yjg0pn3"; depends=[mvtnorm truncnorm]; };
+spatgraphs = derive { name="spatgraphs"; version="2.62"; sha256="1h7sv6qc5zhaiaqlrzagrlc2mxlasdzilmi5q9nrd1vsdzsqxvb4"; depends=[]; };
+spatial = derive { name="spatial"; version="7.3-9"; sha256="12qhfqmznij1jddjklhlqzywcfw2hww8sff7b2m6mjxlky08p5jg"; depends=[]; };
+spatial_gev_bma = derive { name="spatial.gev.bma"; version="1.0"; sha256="1rjn0gsbgiv69brhnm0zj25ya3nyfh4yf6jizng85mvss3viv3hj"; depends=[SpatialExtremes msm coda]; };
+spatial_tools = derive { name="spatial.tools"; version="1.4.8"; sha256="0qnsjfx974na87p3n7sp711sc13v6dmpvb2kjpvscixs8rsy03y1"; depends=[iterators foreach rgdal raster mmap abind doParallel]; };
+spatialCovariance = derive { name="spatialCovariance"; version="0.6-8"; sha256="06z6jz9sadqc382w07ysnnlhqc96hxaasz9wncbhipd4cd1y4daa"; depends=[]; };
+spatialEco = derive { name="spatialEco"; version="0.1-1"; sha256="1k7xdgg541mwr9rk3h8pi7hgb61wza14azvmbxqd92m29p2yqn00"; depends=[RANN rms sp raster spatstat cluster spdep SDMTools RCurl rgeos]; };
+spatialTailDep = derive { name="spatialTailDep"; version="1.0.2"; sha256="107yldc43pgbadxdisnc7vq8vyvcps1b1isyvxd0kyf59xldiq47"; depends=[cubature mvtnorm SpatialExtremes]; };
+spatialkernel = derive { name="spatialkernel"; version="0.4-19"; sha256="0gbl6lrbaxzv2f975k0vd6ghrljgf1kjazld3hm7781kv1f87lji"; depends=[]; };
+spatialnbda = derive { name="spatialnbda"; version="1.0"; sha256="14mx5jybymasyia752f3vnr5vmswcavbz8bpqr69vlxphw27qkwk"; depends=[SocialNetworks mvtnorm]; };
+spatialprobit = derive { name="spatialprobit"; version="0.9-10"; sha256="1z88nss69pixazqk3b6rpyc7mjryfznrgw9swfyfxky0bsdfj6mv"; depends=[Matrix spdep mvtnorm tmvtnorm]; };
+spatialsegregation = derive { name="spatialsegregation"; version="2.40"; sha256="0kpna2198nrj93bjsdgvj85wnjfj18psdq919fjnnhbzgzdkxs7l"; depends=[spatstat]; };
+spatstat = derive { name="spatstat"; version="1.41-1"; sha256="1r2538h4arvlsn49ci84ch45wy5k9kiq4d22bd98jrh6xna3rd6x"; depends=[mgcv Matrix deldir abind tensor polyclip goftest]; };
+spatsurv = derive { name="spatsurv"; version="0.9-8"; sha256="1dsqkcmhka8yzl13jfn19ywq1bk7788amj4nrl1bz05q3vz3drpp"; depends=[survival sp iterators RandomFields fields rgl Matrix stringr]; };
+spc = derive { name="spc"; version="0.5.0"; sha256="0bh4a3dpavczckhpwqax1h5w73ai3mkf0nwq9nhlvkdrh6k6j6cy"; depends=[]; };
+spca = derive { name="spca"; version="0.6.0"; sha256="156bz3w3999vhjpsa9cs21rf2r9hv49vw1pfak0r37kbvf2d4rm6"; depends=[MASS]; };
+spcadjust = derive { name="spcadjust"; version="0.1-3"; sha256="1l6m4aisk780znpjr7lnlh0z42rbc2jyblv17hafbr1siymrasc2"; depends=[]; };
+spcosa = derive { name="spcosa"; version="0.3-5"; sha256="15q0f2sfhm1b13zs5a50yfvqhgcn4fyncf0h5ivin2k9g5xvq4k4"; depends=[rJava ggplot2 sp]; };
+spcov = derive { name="spcov"; version="1.01"; sha256="1brmy64wbk56bwz9va7mc86a0ajbfy09qpjafyq2jv7gm7a35ph5"; depends=[]; };
+spcr = derive { name="spcr"; version="1.2.1"; sha256="0cm59cfw3c24i1br08fdzsz426ldljxb41pdrmbmma4a69jkv1sb"; depends=[]; };
+spd = derive { name="spd"; version="2.0-0"; sha256="0aznzj68gynhx295gdb4sb7xxjiya4vbdg3gshfs0mwg1qzrhxy9"; depends=[KernSmooth]; };
+spdep = derive { name="spdep"; version="0.5-88"; sha256="1m2bxbf472xq7wr76znjirslx3hb1ylk6lp7x5003ka3i2zpakxn"; depends=[sp Matrix LearnBayes deldir boot coda nlme MASS]; };
+spdynmod = derive { name="spdynmod"; version="1.0"; sha256="05gaaln14lrrds43l2f9hw43c86gswyzymz97hc3mci1cgiwfwbz"; depends=[deSolve raster animation]; };
+spe = derive { name="spe"; version="1.1.2"; sha256="0xyx42n3gcsgqmy80nc9la6p6gq07anpzx0afwffyx9fv20fvys0"; depends=[]; };
+speaq = derive { name="speaq"; version="1.2.1"; sha256="0glvw1jdyc8w8b8m7l74d0rl74xfs4zmanmx4i41l7ynswhmqm01"; depends=[]; };
+speccalt = derive { name="speccalt"; version="0.1.1"; sha256="0j7rbidmmx78vgwsqvqjbjjh92fnkf2sdx0q79xlpjl2dph7d6l6"; depends=[]; };
+specificity = derive { name="specificity"; version="0.1.1"; sha256="1gvlyx9crkzm3yyp1ln5j9czcg83k7grm6ijabhl919gjjr1p60n"; depends=[car]; };
+spectralGP = derive { name="spectralGP"; version="1.3.2"; sha256="0gzkwi3npb97y06gvsidaq75h8lg1cvkq8mr9hxp9n7ib6n924v9"; depends=[]; };
+speedglm = derive { name="speedglm"; version="0.2-1.0"; sha256="13gjij9pb65j9c52d5cxl9n6fjmcwbhja4wdl4619dy5rj9vsyi4"; depends=[Matrix]; };
+speff2trial = derive { name="speff2trial"; version="1.0.4"; sha256="0dj5mh2sdp6j4ijgv14hjr39rasab8g83lx1d9y50av11yhbf2pw"; depends=[leaps survival]; };
+sperich = derive { name="sperich"; version="1.5-5"; sha256="0xwzyfx3z06lapvhzdzrfr9hw2hm8d0cyfmc29p5fcplmjm24idh"; depends=[]; };
+sperrorest = derive { name="sperrorest"; version="0.2-1"; sha256="17jq8r98pq3hsyiinxg30lddxwpwi696srsvm3lfxrzk11076j6v"; depends=[ROCR rpart]; };
+spfrontier = derive { name="spfrontier"; version="0.1.12"; sha256="1jy1604gppis7vbn55pv13bywy1aqwzshwj03bbfln0qxikzqzi0"; depends=[moments ezsim tmvtnorm mvtnorm maxLik spdep]; };
+spgrass6 = derive { name="spgrass6"; version="0.8-6"; sha256="0vpv2vycd6rdnwm1f73733x1nclhr2x4x1s5116szskni77b0pii"; depends=[sp XML]; };
+spgwr = derive { name="spgwr"; version="0.6-26"; sha256="02kwpg927r2d2zrnhb5cjp1p8j0pal344hzvzsl4d0hz0xcipp8f"; depends=[sp]; };
+sphereplot = derive { name="sphereplot"; version="1.5"; sha256="1i1p20h95cgw5wqp9bwfs9nygm4dxzsggz08ncjs1xrsvhhq9air"; depends=[rgl]; };
+sphet = derive { name="sphet"; version="1.6"; sha256="0149wkak7lp2hj69d83rn05fzh9bsvyc1kyg0d3b69sx92kqlwr0"; depends=[nlme spdep Matrix sp]; };
+spi = derive { name="spi"; version="1.1"; sha256="0gc504f7sji5x0kmsidnwfm7l5g4b1asl3jkn2jzsf2nvjnplx1z"; depends=[]; };
+spider = derive { name="spider"; version="1.3-0"; sha256="1p6f8mlm055xq3qwa4bqn9kvq60p8fn2w0cc6qcr22cblm5ww7jp"; depends=[ape pegas]; };
+spiders = derive { name="spiders"; version="1.0"; sha256="1n3ym9vc3vzjzm35z29sz4mz8sa25r761y0ph45srhq0lv7c66w6"; depends=[plyr]; };
+spikeSlabGAM = derive { name="spikeSlabGAM"; version="1.1-8"; sha256="0h9b3hhnsqbxbxww7jhbkqf1wl72q347naxpjjbz3q5p2y8yli4z"; depends=[ggplot2 akima coda cluster gridExtra MASS MCMCpack mvtnorm R2WinBUGS reshape scales]; };
+spikeslab = derive { name="spikeslab"; version="1.1.5"; sha256="0dzkipbrpwki6fyk4hqlql3yhadwmclgbrx00bxahrmlaz1vjzh2"; depends=[lars randomForest]; };
+splancs = derive { name="splancs"; version="2.01-37"; sha256="0q548i76107laa9yrsjxqvwhl8zyhlib557qqr8aa7kjg6j0p5fn"; depends=[sp]; };
+splitstackshape = derive { name="splitstackshape"; version="1.4.2"; sha256="0m9karfh0pcy0jj3dzq87vybxv9gmcrq5m2k7byxpki95apbrsmg"; depends=[data_table]; };
+splm = derive { name="splm"; version="1.3-7"; sha256="1bfi80vg129v8d0vp7sigbhskl227lmbry1vmklvcczrjqf2bh45"; depends=[spdep plm maxLik MASS bdsmatrix ibdreg nlme Matrix spam]; };
+spls = derive { name="spls"; version="2.2-1"; sha256="0zgk9qd825zqgikpkg13jm8hi6ncg48qw5f985bi145nwy9j19xs"; depends=[MASS nnet pls]; };
+splus2R = derive { name="splus2R"; version="1.2-0"; sha256="0kmyr1azyh0m518kzwvvgz7hv1x5myj37xn7w2gfn0vbn5xl8pv1"; depends=[]; };
+splusTimeDate = derive { name="splusTimeDate"; version="2.5.0-135"; sha256="0hghggdcr70vfjx4npj37nmd96qvgrp1gpwa9bznvjkvyfawwy6i"; depends=[]; };
+splusTimeSeries = derive { name="splusTimeSeries"; version="1.5.0-73"; sha256="1csk0ffgg1bi2k1m2bbxl6aqqqxf6i8sc8d4azip8ck7rn8vya46"; depends=[splusTimeDate]; };
+spnet = derive { name="spnet"; version="0.9.0.6"; sha256="1kbf53ww2wdr2nsml9zhzd80dhi48izw1nwjszv9jqidd6nk7v29"; depends=[sp shape]; };
+spocc = derive { name="spocc"; version="0.2.4"; sha256="0hhjdx3vgzfwf368pvmapgb5hll659mwkyzvgagvzz90sm44134a"; depends=[ggplot2 rgbif rinat rbison ecoengine rebird AntWeb ggmap maptools rworldmap sp rgeos lubridate RColorBrewer httr rgdal leafletR whisker gistr]; };
+sporm = derive { name="sporm"; version="1.1"; sha256="07sxz62h4jb7xlqg08sj4wpx121n9jfk65196mnxdvb36lqmb4hp"; depends=[]; };
+sprex = derive { name="sprex"; version="1.0"; sha256="0m0v0db01a3zd934ini60hqnkc6cfyj8hbsxp2xvw06lblg46dzh"; depends=[]; };
+sprint = derive { name="sprint"; version="1.0.7"; sha256="1yzx1qjpxx9yc0hbm1mmha5b7aq13iflq66af597b7yj6abm7zjp"; depends=[rlecuyer ff randomForest boot e1071]; };
+sprinter = derive { name="sprinter"; version="1.1.0"; sha256="12v4l4fxijh2d46yzs0w4235a8raip5rfbxskl0dw7701ryh7n8g"; depends=[CoxBoost survival GAMBoost randomForestSRC LogicReg]; };
+sprm = derive { name="sprm"; version="1.1"; sha256="0xnbdnzgf54r93bvnyjcdcqlr0q7s7f2cvayw681zi0ig3z633j0"; depends=[ggplot2 cvTools reshape2 pcaPP]; };
+sprsmdl = derive { name="sprsmdl"; version="0.1-0"; sha256="09klwsjp5w6p7dkn5ddmqp7m9a3zcmpr9vhcf00ynwyp1w7d26gi"; depends=[]; };
+spsmooth = derive { name="spsmooth"; version="1.1-3"; sha256="09b740586zyi8npq0bmy8qifs9rq0rzhs9c300fr6pjpc7134xn4"; depends=[mgcv]; };
+spsurvey = derive { name="spsurvey"; version="2.6"; sha256="1s48acqi502mdabhymhn0jjsghnlh2w6wnrfaa9gv0a7xjvjkydq"; depends=[sp deldir foreign MASS rgeos]; };
+spt = derive { name="spt"; version="1.13-8-8"; sha256="18s74pxfmsjaj92z2a34nq90caf61s84c616yv33a0xvfvp32qr5"; depends=[]; };
+sptm = derive { name="sptm"; version="14.10-11"; sha256="1g7dqfsyy0cvv3idx16bpny9z4f638aprbc50x8kk4zfk3km7wnr"; depends=[survival survey kyotil]; };
+spuRs = derive { name="spuRs"; version="2.0.0"; sha256="0lbc3nny6idijdaxrxfkfrn40bxfyp9z3yl9mwb1k6cyd10v5mfj"; depends=[MASS lattice]; };
+sqldf = derive { name="sqldf"; version="0.4-10"; sha256="0n8yvrg3gjgbc3vzq0vlf7fwhgm28kwf0jv25qy44x21n6fg11h7"; depends=[gsubfn proto RSQLite DBI chron]; };
+sqliter = derive { name="sqliter"; version="0.1.0"; sha256="17jjljq60szz0m8p2wc5l56659aap7an5gknc848dp89ycjgj3zx"; depends=[stringr functional DBI RSQLite]; };
+sqlshare = derive { name="sqlshare"; version="1.0.3"; sha256="1qy8vlzi6i4wsr53i71jlsv1b7ww254mbk2qzsvmcrranf42zbp8"; depends=[RCurl]; };
+sqlutils = derive { name="sqlutils"; version="1.2"; sha256="0dq4idg8i4hv9xg8jllllizqf3s75pdfm1wgncdjj52xhxh169pf"; depends=[roxygen2 stringr DBI]; };
+squash = derive { name="squash"; version="1.0.6"; sha256="16iplngzzlif999z821a9bwx9jlmikdvwnk6p6d9w75b1fsbc0pz"; depends=[]; };
+sra = derive { name="sra"; version="0.1.1"; sha256="03nqjcydl58ld0wq1f9f5p666qnvdfxb5vhd584sdilw1b730ykd"; depends=[]; };
+srd = derive { name="srd"; version="1.0"; sha256="04j2gj7fn7p2rm34haayswrfhn6w5lln439d07m9g4c020kqqsr3"; depends=[plyr animation colorspace stringr survival]; };
+ss3sim = derive { name="ss3sim"; version="0.8.2"; sha256="1gj3kf4ccd5n2jr4sm50gny5x1zq4brkhqgw0nww41spnimascfr"; depends=[plyr r4ss gtools lubridate reshape2]; };
+ssanv = derive { name="ssanv"; version="1.0-2"; sha256="18ib0djqxjpp4xgvsffwqgxqljpwc24ysxj26phpr6p8kdl3hr2f"; depends=[]; };
+ssd = derive { name="ssd"; version="0.3"; sha256="1z61n9m6vn0ijawyz924ak0zfl9z13jsb4k4575b7c424ci2p6gy"; depends=[]; };
+sse = derive { name="sse"; version="0.5-1"; sha256="0g0bwmgc585haqbb13366s3pv1vdh793hwwibz7im0avjs2ldsjq"; depends=[lattice]; };
+ssfit = derive { name="ssfit"; version="1.1"; sha256="1fais0msi2ppgfp0vbx3qri7s9zs51i7n90w36xkwwac4f46bq5y"; depends=[survey]; };
+ssh_utils = derive { name="ssh.utils"; version="1.0"; sha256="08313zzzgcyvzkrkq0w0yf748ya1a9shx5xnan5891v0lah9v0b1"; depends=[stringr]; };
+ssize_fdr = derive { name="ssize.fdr"; version="1.2"; sha256="0y723lwsnmk3rxbhlsrny9hiy07a5p255ygy9qkj6mri64gk1hby"; depends=[]; };
+ssmrob = derive { name="ssmrob"; version="0.4"; sha256="1inndspir7571f54kalbj0h599v9k6dxdmp0n1l5r3a62vn45hd3"; depends=[sampleSelection robustbase mvtnorm MASS]; };
+sspline = derive { name="sspline"; version="0.1-6"; sha256="0d6ms8szyn39c7v0397d5ar2hrl8v1l2b7m8hlj37hgp70b9s55h"; depends=[]; };
+sss = derive { name="sss"; version="0.0-11"; sha256="0k7p1ws0w7wg9wyxcg1zpk8q6kr32l3jl6yd9r4qmzq04dwqrdgz"; depends=[plyr XML]; };
+ssvd = derive { name="ssvd"; version="1.0"; sha256="1fdpr38qi59ijrz16jixn6ii1hvmxfjirjqfcp7dxrqz9nx8x0sk"; depends=[]; };
+ssym = derive { name="ssym"; version="1.5.2"; sha256="0c3c4disiicavr8m2yvvi2k38gnw4akdqp0f1v6647i5zj160zkr"; depends=[GIGrvg numDeriv normalp Formula]; };
+st = derive { name="st"; version="1.2.4"; sha256="1lnrzz7kc21mrs8xrqs21fcwd92d5kzhvfiq36j02982n18f6c64"; depends=[sda fdrtool corpcor]; };
+staTools = derive { name="staTools"; version="0.1.0"; sha256="1ksr0sjkhlwh0fkwcxjcxzbyxs1g78m4spkhrmgdpfzmk5zskqf9"; depends=[Rcpp VGAM magicaxis Rcpp]; };
+stab = derive { name="stab"; version="0.1.9"; sha256="1awf8bj3c4wvs818g4wfmw23vdhv06kn229cmhqbr7dsz933vwwf"; depends=[MASS reshape]; };
+stabledist = derive { name="stabledist"; version="0.6-6"; sha256="0s59jp3y5ks4rfj7x76vb9g3slbbn98lvki54lv96yxdfr8i7ry5"; depends=[]; };
+stabs = derive { name="stabs"; version="0.5-1"; sha256="0mlwbf8wf38mr39si31i4iz00hpsmchbhgagwgsf3x9422zpq92p"; depends=[]; };
+stacomirtools = derive { name="stacomirtools"; version="0.3"; sha256="1lbbnvmilf3j3hyhvpkyjd4b4sf3zwygilb8x0kjn2jfhkxnx4c1"; depends=[RODBC xtable]; };
+stagePop = derive { name="stagePop"; version="1.0-1"; sha256="0yb1dbgmns6km0p35wny6f4v7xl4225v8lww0wmzrvdw7l2m8m8d"; depends=[deSolve PBSddesolve]; };
+stam = derive { name="stam"; version="0.0-1"; sha256="1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv"; depends=[np sp]; };
+stargazer = derive { name="stargazer"; version="5.1"; sha256="0ar0qm289ncsns2pqkabpyjc90ws0il1q7fp5206wqghgsvqjcc0"; depends=[]; };
+startupmsg = derive { name="startupmsg"; version="0.9"; sha256="1l75w4v1cf4kkb05akhgzk5n77zsj6h20ds8y0aa6kd2208zxd9f"; depends=[]; };
+stashR = derive { name="stashR"; version="0.3-5"; sha256="1lnpi1vb043aj4b9vmmy56anj4344709986b27hqaqk5ajzq9c3w"; depends=[filehash digest]; };
+statar = derive { name="statar"; version="0.1.3"; sha256="1lkbp6ki4w0gm3l683xar44vrkw69883qvr73mc179bdh31znqli"; depends=[data_table dplyr ggplot2 Hmisc lazyeval lfe lubridate matrixStats stargazer stringr tidyr]; };
+statcheck = derive { name="statcheck"; version="1.0.1"; sha256="01b40bjagkj6hfyq9ppdlaafwgykv8p9s8sm0abd3if82ivdpixj"; depends=[plyr]; };
+statebins = derive { name="statebins"; version="1.0"; sha256="1mqky4nb31xjhn922csvv8ps2fwgcgazxs56rcn3ka32c59a4mmg"; depends=[ggplot2 scales gridExtra RColorBrewer]; };
+statfi = derive { name="statfi"; version="0.9.8"; sha256="0kg9bj2mmd95ysg604rcg4szqx3whbqm14fwivnd110jgfy20gk2"; depends=[pxR]; };
+statmod = derive { name="statmod"; version="1.4.20"; sha256="11986yjry1lg28s09q6vv2671x51nnfin6j0mpscq2ygyi615jwz"; depends=[]; };
+statnet = derive { name="statnet"; version="2014.2.0"; sha256="0xp8xnqb32wzkxfm7f34z6mnsd9id8an5829n16czwldj9vv6s10"; depends=[network ergm sna networkDynamic tergm ergm_count latentnet statnet_common]; };
+statnet_common = derive { name="statnet.common"; version="3.2.2"; sha256="1xdkc1pyf6wfb86dwz6bkjli5qw6yz6dvlxwp5bpgkpg83aa9n7g"; depends=[]; };
+steepness = derive { name="steepness"; version="0.2-2"; sha256="0bw7wm7n2xspkmj90qsjfssnig683s3qwg1ndkq2aw3f6clh4ilm"; depends=[]; };
+stellaR = derive { name="stellaR"; version="0.3-3"; sha256="098sz6b8pl3fyca3g6myp97nna368xhxf8krmibadnnsr49q5zs9"; depends=[]; };
+stepPlr = derive { name="stepPlr"; version="0.92"; sha256="16j32sk7ri4jdgss7vw5zz7s42rxk7rs376iyxzzpy1zcc9b64rv"; depends=[]; };
+stepR = derive { name="stepR"; version="1.0-1"; sha256="1iafxg0g0cy6v98b85h68xrmfndc2hbmr9x7v5nk16zgcknl8k96"; depends=[]; };
+stepp = derive { name="stepp"; version="3.0-11"; sha256="0jrwfvcgh3sjm3zag93kjyny2qqsyiw988vnx6jw7s31bv9g0d6s"; depends=[car survival]; };
+stepwise = derive { name="stepwise"; version="0.3"; sha256="1lbx1bxwkf9dw6q46w40pp7h5nkxgghmx8rkpaymm6iybc7gyir2"; depends=[]; };
+stheoreme = derive { name="stheoreme"; version="1.2"; sha256="14w3jcbs8y8cz44xlq8yybr2jwgk3w7s2msgjhlp1vazy8959s65"; depends=[]; };
+stilt = derive { name="stilt"; version="1.0.1"; sha256="1vrbbic0vqzgy574kzcr38iqyhax4wa6zl6w74n65z15map2fyma"; depends=[fields]; };
+stima = derive { name="stima"; version="1.1"; sha256="1i8l7pfnqxx660h3r2jf6a9bj5ikg9hw7v8apwk98ms8l7q77p5l"; depends=[rpart]; };
+stinepack = derive { name="stinepack"; version="1.3"; sha256="0kjpcjqkwndqs7cyc6w62z1nnkqmhkifz2w0bi341jh0ybmak4fq"; depends=[]; };
+stm = derive { name="stm"; version="1.0.8"; sha256="0dnzkqh3hnnjm0wmzpn48bwylmh49a8ib263bzvjaqpi70mck49p"; depends=[matrixStats slam lda stringr Matrix glmnet]; };
+stmCorrViz = derive { name="stmCorrViz"; version="1.1"; sha256="03bjxil8v4ixgbabg2gq78xgqy4s3wh89hq1z5598gxysz12z3ji"; depends=[jsonlite stm]; };
+stocc = derive { name="stocc"; version="1.23"; sha256="183rv1l1hpa691f3xf455bv8dzdw6ac79zg3v99zksli6i7c8jdz"; depends=[truncnorm coda Matrix fields]; };
+stochprofML = derive { name="stochprofML"; version="1.2"; sha256="0gqfm2l2hq1dy3cvg9v2ksphydqdmaj8lppl5s5as2khnh6bd1l1"; depends=[MASS numDeriv]; };
+stochvol = derive { name="stochvol"; version="1.0.0"; sha256="1c083gmfq9ldd41235shcb5i3ggd92fxvimhaavljnr1wsls5f2b"; depends=[coda Rcpp Rcpp]; };
+stockPortfolio = derive { name="stockPortfolio"; version="1.2"; sha256="0k5ss6lf9yhcvc4hwqmcfpdn6qkbq5kaw0arldkl46391kac3bd1"; depends=[]; };
+stocks = derive { name="stocks"; version="1.1.1"; sha256="1qwd16bw40w2ns7b0n9wm8l344r4vyk27rmg0vr5512zsrcjkcfb"; depends=[rbenchmark Rcpp Rcpp]; };
+stoichcalc = derive { name="stoichcalc"; version="1.1-3"; sha256="0z9fnapibfp070jxg27k74fdxpgszl07xiqfj448dkydpg8ydkrb"; depends=[]; };
+stosim = derive { name="stosim"; version="0.0.12"; sha256="0c4sj5iirm542hx782izfdmy2m3kl5q28l10xjj0ib4xn5y6yx3c"; depends=[tcltk2 Rcpp Rcpp]; };
+stpp = derive { name="stpp"; version="1.0-5"; sha256="1444dbwm0nyb5k8xjfrm25x984a7h9ln2vddrwjszfpmscv0iwm1"; depends=[splancs KernSmooth spatstat]; };
+stppResid = derive { name="stppResid"; version="1.1"; sha256="0hgzsyy5y0sqd4d2agdr7p2kq0w51vs8f63dvj6j49h8cvgiws2x"; depends=[deldir splancs cubature]; };
+strap = derive { name="strap"; version="1.4"; sha256="0gdvx02w0dv1cq9bb2yvap00lsssklfnqw0mwsgblcy2j6fln7b0"; depends=[ape geoscale]; };
+strataG = derive { name="strataG"; version="0.9.4"; sha256="0lxp6s0gfqxyla7mx19fbx6w8am3islv02iyyixi94xbwphpcqf3"; depends=[swfscMisc pegas ape MASS reshape2 Rcpp]; };
+stratification = derive { name="stratification"; version="2.2-5"; sha256="0cgr49gvh12s6rr43878jxjkir7b7absqgbfsvj1bjlf2r3gyqy9"; depends=[]; };
+stratigraph = derive { name="stratigraph"; version="0.66"; sha256="1idn5rwar9pxp1vsra68wrlhagmc92y5rs7vn4h63p35p357qdwz"; depends=[]; };
+straweib = derive { name="straweib"; version="1.0"; sha256="0bh2f4n4i7fiki52sa57v96757qw1gn1lcn7vgxmc5hk5rzp2mi8"; depends=[]; };
+stream = derive { name="stream"; version="1.1-1"; sha256="0l9sywmajydmd0nkdlbhc4k5lf7qjrndjj6clw5j2mgw97cqaag5"; depends=[hash proxy animation clue cluster clusterGeneration fpc MASS mlbench]; };
+streamMOA = derive { name="streamMOA"; version="1.0-0"; sha256="176llkj9q0p5ym09iagaw5cag6ln94bw04pjl120jnxn6p7i22s2"; depends=[stream rJava]; };
+streamR = derive { name="streamR"; version="0.2.1"; sha256="1ml33mj7zqlzfyyam23xk5d25jkm3qr7rfj2kc5j5vgsih6kr0gl"; depends=[RCurl rjson]; };
+stremo = derive { name="stremo"; version="0.2"; sha256="13b9xnd8ykxrm8gnakh0ixbsb7yppqv3isga8dsz473wzy82y6h1"; depends=[lavaan numDeriv MASS]; };
+stressr = derive { name="stressr"; version="1.0.0"; sha256="00b93gfh1jd5r7i3dhsfqjidrczf693kyqlsa1krdndg8f0jkyj7"; depends=[xts XML lattice latticeExtra]; };
+stringdist = derive { name="stringdist"; version="0.9.0"; sha256="0304a3qyssq2l2c7da5a90fca32n3ph5jixqnqvb3jwzdb8dxm2f"; depends=[]; };
+stringi = derive { name="stringi"; version="0.4-1"; sha256="01ig59cmvrk9vfh4l84i2h4vgddfspyrxwh3am33apv8r8vr4bnj"; depends=[]; };
+stringr = derive { name="stringr"; version="0.6.2"; sha256="0dv7dd0xsivlccnf9pr5kb7zirgqn9mc6lgw5hnmkbb0s1qrrz63"; depends=[]; };
+strucchange = derive { name="strucchange"; version="1.5-0"; sha256="17ikp36ahnsx1q3avqkz5r2n2yagzq7j6m515vdm8rxgv0538is3"; depends=[zoo sandwich]; };
+structSSI = derive { name="structSSI"; version="1.1"; sha256="0rmf3q65adrqh9nrc4apqm4ca7frpwqr6xh80b4mxiz0z4wfcv9q"; depends=[igraph rjson ggplot2 reshape2]; };
+strum = derive { name="strum"; version="0.6"; sha256="1jd8h8fnjv4a58shl0j9fdlds7xns1j18b9qaqhrfa4hrdrw75s9"; depends=[pedigree Matrix MASS Rcpp Rcpp RcppArmadillo]; };
+strvalidator = derive { name="strvalidator"; version="1.4.0"; sha256="1zgfy5w4qwcm3jdqigahxi7xn8328jr568ssbj99ibzdj0m0hmfw"; depends=[gridExtra ggplot2 gWidgets gtable plyr scales gWidgetsRGtk2 RGtk2 data_table]; };
+stsm = derive { name="stsm"; version="1.7"; sha256="080xakf7rf53vzv64g338hz87sk4cqfwd6ly4f122sxvn4xypq3n"; depends=[KFKSDS]; };
+stsm_class = derive { name="stsm.class"; version="1.3"; sha256="19jrja5ff31gh5k2zqhqsyd7w2ivr4s6bkliash6x8fmd22h5zs8"; depends=[]; };
+stylo = derive { name="stylo"; version="0.5.9"; sha256="061nfjh932qjlzvnarpwvzar0qv7ij8l6m3iax1jilygzhfqfyin"; depends=[tcltk2 ape pamr e1071 class lattice tsne]; };
+suRtex = derive { name="suRtex"; version="0.9"; sha256="0xcy3x1079v10bn3n3y6lxignb9n3h57w4hhrvzi5y14x05jjyda"; depends=[]; };
+subgroup = derive { name="subgroup"; version="1.1"; sha256="1n3qw7vih1rngmp4fwjbs050ngby840frj28i8x7d7aa52ha2syf"; depends=[]; };
+subplex = derive { name="subplex"; version="1.1-4"; sha256="0c6y5ibyxh0mpn77f7kwrmkpb3mah10hbqhwqmz4i1lfv58mb4zk"; depends=[]; };
+subrank = derive { name="subrank"; version="0.9.1"; sha256="0ghfpvw7aflbnnisn3rq8vrpi134ghm6vnyb7md1gi730mqgxfxv"; depends=[]; };
+subselect = derive { name="subselect"; version="0.12-4"; sha256="0h56d68clsr4lmvn2a291di62xvjdypbwlpk2x1xjlyss10yhamh"; depends=[]; };
+subsemble = derive { name="subsemble"; version="0.0.9"; sha256="0vzjmxpdwagqb9p2r4f2xyghmrprx3nk58bd6zfskdgj0ymfgz5z"; depends=[SuperLearner]; };
+subtype = derive { name="subtype"; version="1.0"; sha256="1094q46j0njkkqv09slliclp3jf8hkg4147hmisggy433xwd19xh"; depends=[penalized ROCR]; };
+sudoku = derive { name="sudoku"; version="2.6"; sha256="13j7m06m38s654wn75kbbrin5nqda4faiawlsharxgrljcibcbrk"; depends=[]; };
+sudokuAlt = derive { name="sudokuAlt"; version="0.1-4"; sha256="14jqwsp692dq0bfnk2i70qc42inb6jbissvp88c5r2cgzc1ry072"; depends=[]; };
+summarytools = derive { name="summarytools"; version="0.3"; sha256="1hhkhpyaj8sc62vap5s7ds0kmk1jiy6gdvsz65ynqy2qfz58c3ms"; depends=[htmltools pander xtable rapportools rstudioapi]; };
+supclust = derive { name="supclust"; version="1.0-7"; sha256="0437pccagvqv6ikdsgzpif9yyiv6p24lhn5frk6yqby2asj09727"; depends=[rpart class]; };
+superMDS = derive { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; };
+superbiclust = derive { name="superbiclust"; version="1.1"; sha256="1gzjbzbl8y1nzdfhyd6dlrwjq8mwj43a26qav84s1bdzwx6dra48"; depends=[biclust Matrix]; };
+superdiag = derive { name="superdiag"; version="1.1"; sha256="0pa3mv74riabpm7j4587zww2364fszzlw48ijj1apcgz8y6pyqbw"; depends=[coda boa]; };
+superpc = derive { name="superpc"; version="1.09"; sha256="1p3xlg2n7p57n54g2w4frfrng5vjh97kp6ax4mrgvj3pqmd1m69z"; depends=[survival]; };
+support_BWS = derive { name="support.BWS"; version="0.1-2"; sha256="14p5b4b84x66lzn7qz1xy7sbb5i3wqwcsf6r6ap612nj83srjmqa"; depends=[]; };
+support_CEs = derive { name="support.CEs"; version="0.3-2"; sha256="0q8n4w3p682165lv20m30m8p9mhd3wzrzg8aqizf9zc2m5w9ffyd"; depends=[DoE_base MASS simex]; };
+surface = derive { name="surface"; version="0.4-1"; sha256="0z7fh09hjmxfmqzi588gjwqqlpj1a475aixrnvy911lkx3zfk146"; depends=[ape ouch MASS geiger]; };
+surv2sampleComp = derive { name="surv2sampleComp"; version="1.0-4"; sha256="1ihz71vzrkd5ksy7421myrgkbww0z5k0ywcb2bfalxx2bd2cs2wf"; depends=[survival plotrix flexsurv survC1]; };
+survAUC = derive { name="survAUC"; version="1.0-5"; sha256="0bcj982ib1h0sjql09zbvx3h1m96jy9q37krmk6kfzw25ms6bzzr"; depends=[survival]; };
+survAccuracyMeasures = derive { name="survAccuracyMeasures"; version="1.2"; sha256="1i41xkvqpxpq9spryh1syp57ymlzw71ygdjqn41rv8jjc9q52x9g"; depends=[survival Rcpp Rcpp RcppArmadillo]; };
+survC1 = derive { name="survC1"; version="1.0-2"; sha256="1bidjhq3k5ab7gqj1b2afngip7pp6c9c7q0m6ww7h7i2vg505l7v"; depends=[survival]; };
+survIDINRI = derive { name="survIDINRI"; version="1.1-1"; sha256="03lsypx189zm28gv764gdq24a18jj3kpdk91ssa501qxj5jv7v29"; depends=[survival survC1]; };
+survMisc = derive { name="survMisc"; version="0.4.5"; sha256="137k453v6jsl07s0qks0wf452lxx3klbqqic52jj9yzgr6ic3xig"; depends=[survival ggplot2 KMsurv combinat Hmisc zoo data_table km_ci gridExtra rpart gam]; };
+survPresmooth = derive { name="survPresmooth"; version="1.1-8"; sha256="1qva7yx4vv99mgh3wqxdnbasa1gy0ixxyxpqrfbn6827whjzf91m"; depends=[]; };
+survRM2 = derive { name="survRM2"; version="1.0-1"; sha256="1qcjdx4a9b9dg8jkzak6rq4d4byf9377h43f1m3icdgf79vghlhr"; depends=[survival]; };
+survSNP = derive { name="survSNP"; version="0.23.2"; sha256="0vpk5qdvsagv5pnap7ja7smqvibvfp5v7smhikbbwl0h6l83jjw4"; depends=[survival Rcpp lattice foreach xtable Rcpp]; };
+surveillance = derive { name="surveillance"; version="1.8-3"; sha256="10d170l0ah92awpa9cafxshpvmj3d206fqn5sm7bd73q87mvbgdp"; depends=[sp xtable polyCub Rcpp MASS Matrix spatstat Rcpp]; };
+survexp_fr = derive { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; };
+survey = derive { name="survey"; version="3.30-3"; sha256="0vcyph1vpnl4xaqd85ffh1gm0dqhvgr3343q0mlycmyq485x0idy"; depends=[]; };
+surveydata = derive { name="surveydata"; version="0.1-14"; sha256="1zcp3wb7yhsa59cl4bdw7p08vpviypvfa9hggwc60w7ashpky73i"; depends=[stringr plyr]; };
+survival = derive { name="survival"; version="2.38-1"; sha256="0kq0a6h1bmphp4vi1f3wzs5pddp3zw9vfi7vk6x27zglnwjhkfgm"; depends=[]; };
+survivalMPL = derive { name="survivalMPL"; version="0.1.1"; sha256="0c4hr2q50snd5qm2drg4qzfkcz4klxr4jba6xpc8n2i8wn573cvc"; depends=[survival]; };
+survivalROC = derive { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; };
+survrec = derive { name="survrec"; version="1.2-2"; sha256="0b77ncr1wg2xqqg1bv1bvb48kmd9h3ja2dysiggvprzjrj7hdlmx"; depends=[boot]; };
+survsim = derive { name="survsim"; version="1.1.2"; sha256="1pnzkw0hr0gpwh0v26k4fh7qjl0c6ps9y8gmfd46h8wz2fb25vqx"; depends=[eha statmod]; };
+svDialogs = derive { name="svDialogs"; version="0.9-57"; sha256="1qwnimzqz7jam3jnhpr90bgwp9zlsswy2jl17brdpsrpiwcg6jlr"; depends=[svGUI]; };
+svDialogstcltk = derive { name="svDialogstcltk"; version="0.9-4"; sha256="16166f8i6nsg7palqmnlp5b9s91d6ja9n0zm6rcvd2fwnw2ljkr4"; depends=[svDialogs svGUI]; };
+svGUI = derive { name="svGUI"; version="0.9-55"; sha256="1fkkc12mhcbn3s2wzk0xdsp8jl2xmn48ys2an8jhxbww3gplk1rq"; depends=[]; };
+svHttp = derive { name="svHttp"; version="0.9-55"; sha256="0qxsh6ifk3fszgzz497qwia4pxzplwraf2qnn5cqlv5l79nja5yq"; depends=[svMisc]; };
+svIDE = derive { name="svIDE"; version="0.9-52"; sha256="19wsmi1i7nlnqdah1h2pxzsy8m50bnb282fdbj4219p86bb92a86"; depends=[svMisc XML]; };
+svKomodo = derive { name="svKomodo"; version="0.9-63"; sha256="0x2774lhckhg8kw6plsn6dpks3b3fisb0psa03p7di7jx8vrkg5n"; depends=[svMisc]; };
+svMisc = derive { name="svMisc"; version="0.9-70"; sha256="1xprymz5hblbc929kmbaz0lj633xvgz6mm4snhhjib47cz5anl1w"; depends=[]; };
+svSocket = derive { name="svSocket"; version="0.9-57"; sha256="0id93b500iybza6sbn60ybm91mkh5cjpvhypqs4f3dv13m6blb9j"; depends=[svMisc]; };
+svSweave = derive { name="svSweave"; version="0.9-8"; sha256="0zkng8lwdpjdbic9f6jnk2ndxbch2kjyz71ds1bksvd3kmk03lks"; depends=[knitr]; };
+svTools = derive { name="svTools"; version="0.9-4"; sha256="0szr5dcxjsh5p1nkszvmj0vmi9x70d656hfvhmqf0wyjwv63vp90"; depends=[codetools svMisc]; };
+svUnit = derive { name="svUnit"; version="0.7-12"; sha256="16iiryj3v34zbnk1x05g30paza7al1frqx52fkw8ka61icizsrf5"; depends=[]; };
+svWidgets = derive { name="svWidgets"; version="0.9-44"; sha256="18k06wldcg6xpyf8nz9rdbig5nhvghn7zgf1316413kq3v90vz7b"; depends=[svMisc]; };
+svapls = derive { name="svapls"; version="1.4"; sha256="12gk8wrgp556phdv89jqza22zmsnachsydr5vlz38s664d2lplbg"; depends=[class pls]; };
+svcm = derive { name="svcm"; version="0.1.2"; sha256="1lkik65md8xdxzkmi990dvmbkc6zwkyxv8maypv2vbi2x534jkhl"; depends=[Matrix]; };
+svd = derive { name="svd"; version="0.3.3-2"; sha256="064y4iq4rj2h35fhi6749wkffg37ppj29g9aw7h156c2rqvhxcln"; depends=[]; };
+svdvisual = derive { name="svdvisual"; version="1.1"; sha256="02mzh2cy4jzb62fd4m1iyq499fzwar99p12pyanbdnmqlx206mc2"; depends=[lattice]; };
+svgViewR = derive { name="svgViewR"; version="1.0.0"; sha256="0js3mc5lxzfwbnc30mn9k9g9jiy2aivqs08x0zcg9dir5n7gs9sg"; depends=[]; };
+svmpath = derive { name="svmpath"; version="0.953"; sha256="0hqga4cwy1az8cckh3nkknbq1ag67f4m5xdg271f2jxvnmhdv6wv"; depends=[]; };
+svyPVpack = derive { name="svyPVpack"; version="0.1-1"; sha256="15k5ziy2ng853jxl66wjr27lzc90l6i5qr08q8xgcs359vn02pmp"; depends=[survey]; };
+swamp = derive { name="swamp"; version="1.2.3"; sha256="1xpnq5yrmmsx3d48x411p7nx6zmwmfc9hz6m3v9avvpjkbc3glkg"; depends=[amap gplots MASS]; };
+sweidnumbr = derive { name="sweidnumbr"; version="0.2"; sha256="0zsijh9jf0pnil5n69ix408j3plbrnj0235whh9rch486ibyk779"; depends=[lubridate]; };
+swfscMisc = derive { name="swfscMisc"; version="1.0.3"; sha256="0ciwvxpafpc6an58r1ffkab8kj4np6l2kbpkijnqnfbf6cya0aim"; depends=[mapdata maps]; };
+swirl = derive { name="swirl"; version="2.2.21"; sha256="0lpin7frm1a6y9lz0nyykhvydr1qbx85iqy24sm52r1vxycv2r8h"; depends=[stringr testthat httr yaml RCurl digest]; };
+switchnpreg = derive { name="switchnpreg"; version="0.8-0"; sha256="1vaanz01vd62ds2g2xv4kjlnvp13h59n8yqikwx07293ixd4qhpw"; depends=[MASS fda expm HiddenMarkov]; };
+sybil = derive { name="sybil"; version="1.2.6"; sha256="1d7q0dvpqxay86dy4zbllv78dsh0amr8n7wl0vkrb8jbakq4afip"; depends=[Matrix lattice]; };
+sybilDynFBA = derive { name="sybilDynFBA"; version="0.0.2"; sha256="1sqk6dwwfrwvgkwk6mra0i1dszhhvcwm58ax6m89sxk8n0nbmr4b"; depends=[sybil]; };
+sybilEFBA = derive { name="sybilEFBA"; version="1.0.2"; sha256="07c32xwql7sr217j8ixqd2pj43hhyr99vjdh7c106lsmqd1pifa4"; depends=[sybil Matrix]; };
+sybilSBML = derive { name="sybilSBML"; version="2.0.8"; sha256="1sxp0naws7d1ak0xna1sy87zzjrravwax0qvcd6vy4p0f39z06ci"; depends=[Matrix sybil]; };
+sybilccFBA = derive { name="sybilccFBA"; version="1.0.0"; sha256="1fmhgyqzipddcqx2srms9bgigjmijasxhsmivv6c45ln23qjvgf5"; depends=[sybil Matrix]; };
+sybilcycleFreeFlux = derive { name="sybilcycleFreeFlux"; version="1.0.1"; sha256="0ffmgnr239xz8864vmrqlhwwc97fqzzib6kwrsm7bszdnw1kkv3r"; depends=[sybil Matrix MASS]; };
+symbolicDA = derive { name="symbolicDA"; version="0.4-2"; sha256="1vn7r7b7yyn2kp8j3ghw50z49yzvwhm0izc6wgc7a99300xrr77s"; depends=[clusterSim XML rgl shapes e1071 ade4 cluster]; };
+symbols = derive { name="symbols"; version="1.1"; sha256="1234rx3divhg60p0h0zn11viqn51fm6b8876m6rip2i6z8vrg319"; depends=[shape]; };
+symmoments = derive { name="symmoments"; version="1.2"; sha256="074k0285c0yri39zags420kjls6kjlvlhymg3r7y24h42zdy82d4"; depends=[mvtnorm cubature combinat multipol]; };
+synbreed = derive { name="synbreed"; version="0.10-5"; sha256="0qhcxmcxa0ixn6ql2dr7pq10g7hmv55rcn279wz4cg5mbgqkhvmm"; depends=[doBy BLR regress abind lattice igraph MASS LDheatmap qtl synbreedData]; };
+synbreedData = derive { name="synbreedData"; version="1.4"; sha256="0pfpvg4wvxfwpvxq8f93z1amfss98as66kwpj5mnvvlr33ffmka9"; depends=[]; };
+synchronicity = derive { name="synchronicity"; version="1.1.4"; sha256="0hcxwgf1irswwabgl0b6vb9q09nhxc1ljsm195lc8ql49sfj9mfz"; depends=[bigmemory_sri BH]; };
+synchrony = derive { name="synchrony"; version="0.2.3"; sha256="0fi9a3j8dfslf1nqx8d53fi635y3aq8isxw0dbjbpgk7rc71nzby"; depends=[]; };
+synlik = derive { name="synlik"; version="0.1.1"; sha256="0g4n78amydihsq4jg2i9barjm9g40zczasb31fj10yn6wir1dhv7"; depends=[Rcpp Matrix Rcpp RcppArmadillo]; };
+synthpop = derive { name="synthpop"; version="1.1-0"; sha256="1j9d0jpmr8dva2c7gd6z1q0a3qdxkvmm83xlv08dxkbvsfbzvmmr"; depends=[lattice MASS nnet ggplot2 coefplot rpart party foreign plyr proto]; };
+sysfonts = derive { name="sysfonts"; version="0.4"; sha256="0y33ykcxynm90inq8s5phdg3mfkx30szqld75h0b2faykpv6q3r4"; depends=[]; };
+systemfit = derive { name="systemfit"; version="1.1-14"; sha256="0f33v96awyhxw3i6zr6whdz91hbfi7vwnfs0bz7xsrjcinqhm6h5"; depends=[Matrix car lmtest sandwich]; };
+systemicrisk = derive { name="systemicrisk"; version="0.2"; sha256="06061hca2x9hj0caann69j6x2jgy8bq40nxs27iqb3zfqp2cz44f"; depends=[Rcpp lpSolve Rcpp]; };
+syuzhet = derive { name="syuzhet"; version="0.2.0"; sha256="1l83wjiv1xsxw4wrcgcj3ryisi7zn4sbdl0sail0rhw0g9y9cz76"; depends=[openNLP NLP]; };
+taRifx = derive { name="taRifx"; version="1.0.6"; sha256="10kp06hkdx1qrzh2zs9mkrgcnn6d31cldjczmk5h9n98r34hmirx"; depends=[reshape2 plyr]; };
+taRifx_geo = derive { name="taRifx.geo"; version="1.0.6"; sha256="0w7nwp3kvidqhwaxaiq267h99akkrj6xgkviwj0w01511m2lzghs"; depends=[taRifx sp rgdal RJSONIO rgeos RCurl]; };
+tab = derive { name="tab"; version="3.1.1"; sha256="05wypi4v9r2qlgwafd9f58vnxn2c4fnz18l8xpb24nhdgm35adqy"; depends=[survey survival gee]; };
+table1xls = derive { name="table1xls"; version="0.3.1"; sha256="0zd93wrdj4q0ph375qlgdhpqm3n8s941vks5h07ks9gc8id1bnx5"; depends=[XLConnect]; };
+tableone = derive { name="tableone"; version="0.6.3"; sha256="0r91vzq3whz949kxg9q9bf413r41cxqsjvmicmb4najhwzhdr9fv"; depends=[e1071 gmodels]; };
+tableplot = derive { name="tableplot"; version="0.3-5"; sha256="1jkkl2jw7lwm5zkx2yaiwnq1s3li81vidjkyl393g1aqm9jf129l"; depends=[]; };
+tables = derive { name="tables"; version="0.7.79"; sha256="05f23y5ff961ksx4fnmwpf6zvc9573if8s2cmz9bwki66h2g9xb7"; depends=[Hmisc]; };
+tabplot = derive { name="tabplot"; version="1.1"; sha256="0vyc6b6h540sqwhrza2ijg7ghw2x8rla827b8qy2sh0ckm0ybjrx"; depends=[ffbase]; };
+tabplotd3 = derive { name="tabplotd3"; version="0.3.3"; sha256="0mbj45vb17wlnndpkhvq7xaawsb814x7zxa4rqbfgidvbm1p3abv"; depends=[tabplot httpuv Rook brew RJSONIO]; };
+tabuSearch = derive { name="tabuSearch"; version="1.1"; sha256="0bri03jksm314xy537dldbdvgyq6sywfmpmj2g2acdcli31kkpq0"; depends=[]; };
+tagcloud = derive { name="tagcloud"; version="0.5"; sha256="0d6h54p20pjnh1y7bw381nqbml1hv5x71gm33mgrzcib7mqa0c0b"; depends=[Rcpp RColorBrewer Rcpp]; };
+tau = derive { name="tau"; version="0.0-18"; sha256="04rj3jrcz4h60dqm1xmnmpr52csz1s7rf2wv6ivybgyvbq0w2ijf"; depends=[]; };
+tawny = derive { name="tawny"; version="2.1.2"; sha256="0ihg3qlng8swak1dfpbnlx5xc45d1i9rgqawmqa97v5m91smfa71"; depends=[lambda_r lambda_tools futile_logger futile_matrix tawny_types zoo xts PerformanceAnalytics quantmod]; };
+tawny_types = derive { name="tawny.types"; version="1.1.3"; sha256="1v0k6nn45rdczjn5ymsp2fqq0ijnlniyf3bc08ibd8yd1jcdyjnj"; depends=[lambda_r lambda_tools futile_logger futile_options zoo xts quantmod]; };
+taxize = derive { name="taxize"; version="0.5.2"; sha256="1141ypz76nda9ij0fr63kgjagj9al63gnqwxa7ld7v9xzig8zgyp"; depends=[XML RCurl stringr plyr httr jsonlite foreach ape Taxonstand reshape2 data_table vegan bold]; };
+tbart = derive { name="tbart"; version="1.0"; sha256="0m8l9ic7na70il6r9ha0pyrjwznbgjq7gk5xwa5k9px4ysws29k5"; depends=[Rcpp sp Rcpp]; };
+tbdiag = derive { name="tbdiag"; version="0.1"; sha256="1wr2whgdk84426hb2pf8iiyradh9c61gyazvcrnbkgx2injkz65q"; depends=[]; };
+tcR = derive { name="tcR"; version="1.3"; sha256="09jvmnyq9j0l8ng73jr2ldb70fbqryd6jzjsxdyhdxvj2w83qcxa"; depends=[ggplot2 dplyr gridExtra reshape2 igraph Rcpp data_table gtable roxygen2 stringdist Rcpp]; };
+tcltk2 = derive { name="tcltk2"; version="1.2-11"; sha256="1ibxld379600xx7kiqq3fck083s8psry12859980218rnzikl65d"; depends=[]; };
+tclust = derive { name="tclust"; version="1.2-3"; sha256="0a1b7yp4l9wf6ic5czizyl2cnxrc1virj0icr8i6m1vv23jd8jfp"; depends=[mvtnorm sn mclust cluster]; };
+tdm = derive { name="tdm"; version="3.0.3"; sha256="01xy090h9idw05jssfgdarbqp5d1vsiir5x7fr1ylaz0k8ai23d4"; depends=[rjags coda png deSolve]; };
+tdthap = derive { name="tdthap"; version="1.1-7"; sha256="0lqcw4bzjd995pwn2yrmzay82gnkxnmxxsqplpbn5gg8p6sf5qqk"; depends=[]; };
+teigen = derive { name="teigen"; version="2.0.8"; sha256="0gh5p2rwv1krrbq92wpgl1ya74vrdxhsagd7r7wvyxvxdv3j94v5"; depends=[]; };
+tempdisagg = derive { name="tempdisagg"; version="0.24.0"; sha256="02ld14mppyyqvgz537sypr3mqc758cchfcmpj46b7wswwa2y7fyz"; depends=[]; };
+tensor = derive { name="tensor"; version="1.5"; sha256="19mfsgr6vz4lgwidm80i4yw0y1dr3n8i6qz7g4n2xa0k74zc5pp1"; depends=[]; };
+tensorA = derive { name="tensorA"; version="0.36"; sha256="1xpczn94a6vfkfibfvr71a7wccksg16pc22h0inpafna4qpygcwp"; depends=[]; };
+tergm = derive { name="tergm"; version="3.2.4"; sha256="0ndkgkb31bwdy78nw6nq4wfhgzibxsixx3ylsgcs5rv3y0w1pczw"; depends=[statnet_common ergm network networkDynamic robustbase coda nlme ergm]; };
+termstrc = derive { name="termstrc"; version="1.3.7"; sha256="12bycwhjrhkadafcckc30jr0md0ssj21n4v75yjhy21yvqjx1d7a"; depends=[lmtest Rcpp rgl sandwich urca zoo Rcpp]; };
+ternvis = derive { name="ternvis"; version="1.1"; sha256="16q1a1ns7q0d46js2m1hr6zm8msg3ncgp8w7yrwch11xq0759sb4"; depends=[quadprog maps maptools mapdata dichromat]; };
+tester = derive { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; };
+testit = derive { name="testit"; version="0.4"; sha256="1805i82kb2g08r0cqdk6dhfhwqjjdigdm1rqf88sp7435wksyv8i"; depends=[]; };
+testthat = derive { name="testthat"; version="0.9.1"; sha256="0hbkyfx54fz4lwyz3azfxb6xkdcmm6kjdv6ma47gv947m90ysnfk"; depends=[digest]; };
+testthatsomemore = derive { name="testthatsomemore"; version="0.1"; sha256="0j9sszm4l0mn7nqz47li6fq5ycb3yawc2yrad9ngb75cvp47ikkk"; depends=[testthat]; };
+texmex = derive { name="texmex"; version="2.1"; sha256="17x4xw2h4g9a10zk4mvi3jz3gf4rf81b29hg2g3gq6a6nrxsj8sy"; depends=[mvtnorm]; };
+texmexseq = derive { name="texmexseq"; version="0.1"; sha256="18lpihiwpjkjkc1n7ka6rzasrwv8npn4939s1gl8g1jb27vnhzb5"; depends=[]; };
+texreg = derive { name="texreg"; version="1.34"; sha256="03w8fk5lkpgag22a63jnhf0cn3l5ryjh4pkfhxgqzrijvrr1v2cb"; depends=[]; };
+textcat = derive { name="textcat"; version="1.0-2"; sha256="0sjhahmqva9pwp75zwxxf8g1cw38awid3w6rx9xfx73cpj2blcz3"; depends=[tau slam]; };
+textir = derive { name="textir"; version="2.0-2"; sha256="19n14nqx7gcp5ypfqwmk80lxxwqc0dklm09z3f9czg68j6qv181i"; depends=[distrom gamlr Matrix]; };
+textometry = derive { name="textometry"; version="0.1.4"; sha256="17k3v9r5d5yqgp25bz69pj6sw2j55dxdchq63wljxqkhcwxyy9lh"; depends=[]; };
+textreg = derive { name="textreg"; version="0.1.2"; sha256="0qya0czbi78a29jp9pd3lbqh574d9k0i340hrgc6jmdhwzhimhk7"; depends=[tm NLP Rcpp Rcpp]; };
+tfer = derive { name="tfer"; version="1.1"; sha256="19d31hkxs6dc4hvj5495a3kmydm29mhp9b2wp65mmig5c82cl9ck"; depends=[]; };
+tfplot = derive { name="tfplot"; version="2014.2-2"; sha256="1jrkzccvqmwghp6nhxay0m1qx8r5wa96zb9r8v6qihryi9m3amhs"; depends=[tframe]; };
+tframe = derive { name="tframe"; version="2015.1-1"; sha256="10igwmrfslyz3z3cbyldik8fcxq43pwh60yggka6mkl0nzkxagbd"; depends=[]; };
+tframePlus = derive { name="tframePlus"; version="2013.9-1"; sha256="070ad1g7yv1d5by6xrvshgn43jjxpq8waa339xhzc1am2qzb6mqr"; depends=[tframe timeSeries]; };
+tgp = derive { name="tgp"; version="2.4-11"; sha256="0hdi05bz9qn4zmljfnll5hk9j8z9qaqmya77pdcgr6vc31ckixw5"; depends=[maptree]; };
+tgram = derive { name="tgram"; version="0.2-2"; sha256="091g6j5ry1gmjff1kprk5vi2lirl8zbynqxkkywaqpifz302p39q"; depends=[zoo]; };
+thermocouple = derive { name="thermocouple"; version="1.0.0"; sha256="1pawk7aq27vc708xwz997pmxxhipw8449793zv6fw5aj47wcw1l5"; depends=[]; };
+thgenetics = derive { name="thgenetics"; version="0.3-4"; sha256="1316nx0s52y12j9499mvi050p3qvp6b8i01v82na01vidl54b9c2"; depends=[]; };
+threeboost = derive { name="threeboost"; version="1.1"; sha256="033vwn42ys81w6z90w5ii41xfihjilk61vdnsgap269l9l0c8gmn"; depends=[Matrix]; };
+threg = derive { name="threg"; version="1.0.2"; sha256="0wb9waj0j83zrj763d3fdnp3lp52gfdyzv23yrvxvd6zmk5clgi2"; depends=[survival Formula]; };
+tibbrConnector = derive { name="tibbrConnector"; version="1.5.0-71"; sha256="0d8gy126hzzardcwr9ydagdb0dy9bdw30l8s2wwi7zaxx2lpii6q"; depends=[RCurl rjson]; };
+tictoc = derive { name="tictoc"; version="1.0"; sha256="1zp2n8k2ax2jjw89dsri268asmm5ry3ijf32wbca5ji231y0knj7"; depends=[]; };
+tidyr = derive { name="tidyr"; version="0.2.0"; sha256="169i6xnr4bs5vqkv6dilj5j8v95giz0b7byhi06qk414gdlj2r8n"; depends=[reshape2 dplyr stringi lazyeval]; };
+tiff = derive { name="tiff"; version="0.1-5"; sha256="0asf2bws3x3yd3g3ixvk0f86b0mdf882pl8xrqlxrkbgjalyc54m"; depends=[]; };
+tiger = derive { name="tiger"; version="0.2.3.1"; sha256="0xr56c46b956yiwkili6vp8rhk885pcmfyd3j0rr4h8sz085md6n"; depends=[e1071 hexbin qualV klaR som lattice]; };
+tigerstats = derive { name="tigerstats"; version="0.2"; sha256="1wj4z1jj7jg3885nvfh4l812cyybjcm5r66w3l41s4c0civl4z5b"; depends=[mosaic mosaicData abd MASS ggplot2 lattice]; };
+tightClust = derive { name="tightClust"; version="1.0"; sha256="0psyzk6d33qkql8v6hzkp8mfwb678r95vfycz2gh6fky7m5k3yyz"; depends=[]; };
+tikzDevice = derive { name="tikzDevice"; version="0.8.1"; sha256="0262szfzv4yrfal19giinrphra1kfcm2arfckql4rf2zsq13rw35"; depends=[filehash]; };
+tileHMM = derive { name="tileHMM"; version="1.0-6"; sha256="18vqj7fdh4knnjk9s7yk2bgn3qwqz92fmm5fdny21gi0wl4qgdsd"; depends=[]; };
+timeDate = derive { name="timeDate"; version="3012.100"; sha256="0cn4h23y2y2bbg62qgm79xx4cvfla5xbpmi9hbdvkvpmm5yfyqk2"; depends=[]; };
+timeROC = derive { name="timeROC"; version="0.2"; sha256="1ikd2wr5cja784hihqdyk7mwky18czz58sl0xrvmzhc67153a4jz"; depends=[pec mvtnorm timereg]; };
+timeSeries = derive { name="timeSeries"; version="3012.99"; sha256="06lz9xljzadfs94xwn8578h8mw56wp923k0xfppzq69hcpcrhsvf"; depends=[timeDate]; };
+timeit = derive { name="timeit"; version="0.2.1"; sha256="0fsa67jyk4yizyd079265jg6fvjsifkb60y3fkkxsqm7ffqi6568"; depends=[microbenchmark]; };
+timeline = derive { name="timeline"; version="0.9"; sha256="0zkanz3ac6cgsfl80sydgwnjrj9rm7pcfph7wzl3xkh4k0inyjq3"; depends=[ggplot2]; };
+timeordered = derive { name="timeordered"; version="0.9.8"; sha256="1j0x2v22ybyl3l9r3aaz5a3bxh0zq81rbga9gh63zads2xy5axmf"; depends=[igraph plyr]; };
+timereg = derive { name="timereg"; version="1.8.7"; sha256="1xarqsdgl1zcc8ilg23g3p2xl3zbsfiak7lagvs5sbsq84b0wpr7"; depends=[survival lava numDeriv]; };
+timesboot = derive { name="timesboot"; version="1.0"; sha256="1ixmcigi1bf42np93md8d3w464papg9hp85v0c3hg3vl4nsm2bji"; depends=[boot]; };
+timeseriesdb = derive { name="timeseriesdb"; version="0.1"; sha256="1zwvjnx4b020avyxjx2nwg9n8p8bdrn038mfcl53y9cnxj3w5wsq"; depends=[DBI]; };
+timetools = derive { name="timetools"; version="1.6.5"; sha256="1ni1dqzkdrzmvr0sbnfdh7kcsd5sgfggfl6w7nqviidcff5dbc9g"; depends=[]; };
+timma = derive { name="timma"; version="1.2.1"; sha256="1pypk0pwkhyilh1hsn8hasia1hf6hbskj0xw6vas03k19b6fjnli"; depends=[Rcpp QCA reshape2 Rcpp RcppArmadillo]; };
+timsac = derive { name="timsac"; version="1.3.3"; sha256="0jg9mjzzfl94z4dqb2kz0aiccpclnbyf9p08x3a3cw1y6wqmzrmy"; depends=[]; };
+tipom = derive { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; };
+tis = derive { name="tis"; version="1.27"; sha256="1kgzc032qa005hzcimhbbhcs5kcvm88pfb48ac84k205f6xhdsir"; depends=[]; };
+titan = derive { name="titan"; version="1.0-16"; sha256="0x30a877vj99z3fh3cw9762j5ci56964j2466xfbwcywhn9njz5r"; depends=[MASS boot lattice]; };
+tkrgl = derive { name="tkrgl"; version="0.7"; sha256="1kpq5p6izqrn1zr53firis3rmifq9lf6326lf3z7l1p82nf2yps5"; depends=[rgl]; };
+tkrplot = derive { name="tkrplot"; version="0.0-23"; sha256="1cnyszn3rmr1kwvi5a178dr3074skdijfixf5ln8av5wwcy35947"; depends=[]; };
+tlemix = derive { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; };
+tlm = derive { name="tlm"; version="0.1.3"; sha256="1jj8yihq4b13wavflkkv91m9ba2l5ar3vcwp1ss6iymyf3hzdgiv"; depends=[boot]; };
+tlmec = derive { name="tlmec"; version="0.0-2"; sha256="1gak8vxmfjf05bhaj6lych7bm8hgav1x3h14k2ra7236v82rqbw7"; depends=[mvtnorm]; };
+tlnise = derive { name="tlnise"; version="2.0"; sha256="1vh998vqj359249n9zmw04rsivb7nlbdfgzf20pgh2sndm3rh8qz"; depends=[]; };
+tm = derive { name="tm"; version="0.6"; sha256="004hswgswz3gdrpa6j61hl4rls843bxnsp5qac5kyxvfmwalsgr8"; depends=[NLP slam]; };
+tm_plugin_alceste = derive { name="tm.plugin.alceste"; version="1.1"; sha256="0wid51bbbx01mjfhnaiv50vfyxxmjxw8alb73c1hq9wlsh3x3vjf"; depends=[NLP tm]; };
+tm_plugin_dc = derive { name="tm.plugin.dc"; version="0.2-7"; sha256="1ikkxp5jdr385yqvhknvkvs97039jw964pcm6dl1k66nbdv1q59i"; depends=[DSL tm NLP slam]; };
+tm_plugin_europresse = derive { name="tm.plugin.europresse"; version="1.1"; sha256="1rjpnr3x9nngvbx3vlzqsha9zg7ikqfxmqsalb3gvgph0bamdbbp"; depends=[NLP tm XML]; };
+tm_plugin_factiva = derive { name="tm.plugin.factiva"; version="1.5"; sha256="06s75rwx9fzld1dw0nw6q5phc1h0zsdzhy1dcdcvmsf97d4s2qdr"; depends=[NLP tm XML]; };
+tm_plugin_lexisnexis = derive { name="tm.plugin.lexisnexis"; version="1.2"; sha256="0cjw705czzzhd8ybfxkrv0f9kvmv9pcswisc7n9hkx8lxi942h19"; depends=[NLP tm XML ISOcodes]; };
+tm_plugin_mail = derive { name="tm.plugin.mail"; version="0.1"; sha256="0ca2w2p5zv3qr4zi0cj3lfz36g6xkgkbck8pdxq5k65kqi5ndzyp"; depends=[NLP tm]; };
+tm_plugin_webmining = derive { name="tm.plugin.webmining"; version="1.2.2"; sha256="08nm2iwx897d5v144lh2gj5c3yprnky48s882p278b8blmdwnfn0"; depends=[NLP tm boilerpipeR RCurl XML RJSONIO]; };
+tmap = derive { name="tmap"; version="0.6"; sha256="10aw79k3vdi3f20i4clsbvdlfylg34z02ah36wz5yj7y68fm5ijh"; depends=[rgeos gridBase sp rgdal classInt RColorBrewer igraph fields vegan]; };
+tmg = derive { name="tmg"; version="0.3"; sha256="0yqavibinzsdh85izzsx8b3bb9l36vzkp5a3bdwdbh410s62j68a"; depends=[Rcpp Rcpp RcppEigen]; };
+tmle = derive { name="tmle"; version="1.2.0-4"; sha256="11hjp2vak1zv73326yzzv99wg8a2xyvfgvbyvx3jfxkgk33mybbm"; depends=[SuperLearner]; };
+tmle_npvi = derive { name="tmle.npvi"; version="0.9.3"; sha256="0njrjwjjn853iahccg37dns7pm14qr05xbkqnd1rhzg4lcl34fyb"; depends=[R_utils R_methodsS3 R_oo MASS Matrix sgeostat geometry]; };
+tmvtnorm = derive { name="tmvtnorm"; version="1.4-9"; sha256="1dacdhqv6bb29a81bmxp8hxy4hragpg8mb5kql4cp59q08zmizyi"; depends=[mvtnorm Matrix gmm]; };
+tnet = derive { name="tnet"; version="3.0.11"; sha256="00hifb145w0a9f5qi3gx16lm1qg621jp523vswb8h86jqmxcczbc"; depends=[igraph survival]; };
+toOrdinal = derive { name="toOrdinal"; version="0.0-1"; sha256="1rr6liw0krzdarc9gd406mf242n3hl38bn52xphr1g0riq5y2m4q"; depends=[]; };
+tolerance = derive { name="tolerance"; version="1.0.0"; sha256="1anim3rq60fscylnz066fddihrxzy0j0d09ni262fqhbc2fla0xy"; depends=[rgl]; };
+topicmodels = derive { name="topicmodels"; version="0.2-1"; sha256="1if1pdx4jnfx3xi37xs411qv3h449vkwxzzqd7krxaxbj3gqq7n9"; depends=[modeltools slam tm]; };
+topmodel = derive { name="topmodel"; version="0.7.2-2"; sha256="1nqa8fnpxcn373v6qcd9ma8qzcqwl2md347yql3c8bpqlm9ggz16"; depends=[]; };
+topologyGSA = derive { name="topologyGSA"; version="1.4.4"; sha256="092f57gpm8jlb2y4j74a6dx1lwqjdgcm3yrm1yzy4511j6vg0axh"; depends=[gRbase fields]; };
+topsis = derive { name="topsis"; version="1.0"; sha256="056cgi684qy2chh1rvhgkxwhfv9nnfd7dfzc05m24gy2wyypgxj3"; depends=[]; };
+tosls = derive { name="tosls"; version="1.0"; sha256="03nqwahap504yvcksvxdhykplbzmf5wdwgpzm7svn8bymdc472v2"; depends=[Formula]; };
+tourr = derive { name="tourr"; version="0.5.4"; sha256="11xg5slvx7rgyzrc0lzandw7vr7wzk3w2pplsnyrqq3d990qp40d"; depends=[]; };
+tourrGui = derive { name="tourrGui"; version="0.4"; sha256="1g9928q3x9rrd9k3k84r201wss3vjd2pngvbaflk5dqh9yf75jpq"; depends=[tourr colorspace RGtk2 gWidgets Cairo]; };
+toxtestD = derive { name="toxtestD"; version="2.0"; sha256="0b7hmpfhwg626r8il12shni0kw94cqnbj49y4vfh8gn98x1s6m48"; depends=[]; };
+tpe = derive { name="tpe"; version="1.0.1"; sha256="0zsa8vb4qmln3sb4lplv43lh50yys9vfd3rxfp6qxqqjxivd0xsh"; depends=[]; };
+tpr = derive { name="tpr"; version="0.3-1"; sha256="0nxl0m39zaii6rwm35hxcdk6iy2f729jjmhc2cpr8h0mgvgqf19d"; depends=[lgtdl]; };
+track = derive { name="track"; version="1.1.7"; sha256="1l3465h7dxyh6myf40jv05985w6z9yfpwkxalf51540gvz1jjm67"; depends=[]; };
+tractor_base = derive { name="tractor.base"; version="2.5.0"; sha256="17s4iyp67w7m8gslm87p3ic5r9iq7x1ifpxqrmnin3y5a3d04f5v"; depends=[reportr]; };
+traitr = derive { name="traitr"; version="0.14"; sha256="1pkc8wcq55229wkwb54hg9ndbhlxziv51n8880z6yq73zac1hbmf"; depends=[digest proto gWidgets]; };
+traj = derive { name="traj"; version="1.2"; sha256="0mq6xdbxjqjivxyy7cwaghwmnmb5pccrah44nmalssc6qfrgys4n"; depends=[cluster psych pastecs NbClust GPArotation]; };
+trajectories = derive { name="trajectories"; version="0.1-1"; sha256="0vf1czc97bqq5snqdma9l1knb4bznyn8pcs8f1q6ssk0xfjrl3s3"; depends=[lattice sp spacetime rgdal rgeos]; };
+translate = derive { name="translate"; version="0.1.2"; sha256="1w0xrg1xxwfdanlammmixf06hwq700ssbjlc3cfigl50p87dbc5x"; depends=[RCurl RJSONIO functional lisp]; };
+translateR = derive { name="translateR"; version="1.0"; sha256="11kh9hjpsj5rfmzybnh345n1gzb0pdksrjp04nzlv948yc0mg5gm"; depends=[RJSONIO RCurl textcat httr]; };
+transport = derive { name="transport"; version="0.6-3"; sha256="1sldlccsprzan1liyslzp9wzz3d36khyr6zri773npvnss9pa67w"; depends=[]; };
+trapezoid = derive { name="trapezoid"; version="2.0-0"; sha256="0f6rwmnn61bj97xxdgbydi94jizv1dbq0qycl60jb4dsxvif8l3n"; depends=[]; };
+treatSens = derive { name="treatSens"; version="1.0"; sha256="0g3v9b1kdndqls9h1ijp5v17ybb1710bdclid745y6lfkia1b71w"; depends=[]; };
+tree = derive { name="tree"; version="1.0-35"; sha256="1cxn73rlr8s3qbq3icdh1v3jbbz913ns6xk6yzgk30ncifw4iq6g"; depends=[]; };
+treeClust = derive { name="treeClust"; version="1.0-0"; sha256="1xn6m031vx12wcyyh04yb68cw416a6v5wd8rcp5f9jqirv1hp4xb"; depends=[rpart cluster]; };
+treebase = derive { name="treebase"; version="0.0-7.1"; sha256="0kj1cyk14j4qzm31f47a8g7qh4842rqkzr0fqh9i5c8kzrqxbc0g"; depends=[ape XML RCurl reshape2 data_table]; };
+treeclim = derive { name="treeclim"; version="1.0.11"; sha256="09i7zxwdrbfgridxsm20r554nyvwp40ngc47isy16a7f1q3rwjah"; depends=[Rcpp abind plyr ggplot2 lmtest lmodel2 np boot Rcpp RcppArmadillo]; };
+treecm = derive { name="treecm"; version="1.2.1"; sha256="02al6iz25pay7y1qmbpy04nw8dj9c5r7km6q5k3v3jdkfal6cm6k"; depends=[plyr]; };
+treelet = derive { name="treelet"; version="1.1"; sha256="0k3qhxjg7ws6jfhcvvv9jmy26v2wzi4ghnxnwpjm8nh7b90lbysd"; depends=[]; };
+treemap = derive { name="treemap"; version="2.2"; sha256="0h4wkjw12n9awqsvrs72nmsxq3d5as3zjy8kyhw7715h1cvry769"; depends=[colorspace data_table ggplot2 gridBase igraph RColorBrewer shiny]; };
+treethresh = derive { name="treethresh"; version="0.1-8"; sha256="1xkbqlr9gkpw6axzl7v5aipackhvy873yrpwn2b9zqr35pj06pr6"; depends=[EbayesThresh wavethresh]; };
+triangle = derive { name="triangle"; version="0.8"; sha256="0jdphz1rf4cx4y28syfffaz7fbl41g3rw3mrv9dywycdznhxdnrp"; depends=[]; };
+trifield = derive { name="trifield"; version="1.1"; sha256="0xk48fkd5xa3mfn3pwdya0ihpkwnh20sgj3rc7fmzjil47kqscvy"; depends=[]; };
+trimTrees = derive { name="trimTrees"; version="1.2"; sha256="0v75xf5186dy76332x4w7vdwcz7zpqga8mxrb5all2miq2v45fi8"; depends=[randomForest mlbench]; };
+trimcluster = derive { name="trimcluster"; version="0.1-2"; sha256="0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2"; depends=[]; };
+trioGxE = derive { name="trioGxE"; version="0.1-1"; sha256="1ra86l3i7fhb6nsy8izixyvm6z23shv7fcjmnnpil54995j15ax4"; depends=[msm mgcv gtools]; };
+trip = derive { name="trip"; version="1.1-19"; sha256="1353lzfgvq8236ijxy8521r7hhmgyfrvc17ga8p8c0851nx53xn3"; depends=[sp maptools MASS spatstat]; };
+tripEstimation = derive { name="tripEstimation"; version="0.0-42"; sha256="17spnvrrqv89vldd496wc1psmaby0mhw9nh0qnfm7yc2jcqaf5nb"; depends=[lattice mgcv rgdal sp zoo]; };
+tripack = derive { name="tripack"; version="1.3-6"; sha256="1dknz1arzfyknip04a9fxdhqmrkb0r0lr8hgria9s0d57hr1ay12"; depends=[]; };
+trotter = derive { name="trotter"; version="0.6"; sha256="0i8r2f2klkkfnjm7jhvga3gx6m7r97pd73d88004jzlm9ficspgy"; depends=[]; };
+trueskill = derive { name="trueskill"; version="0.1"; sha256="0mqvm64fcsxjlh789lqdk6l28q31yhh6jjirwjlgbpxxb90c5107"; depends=[]; };
+truncSP = derive { name="truncSP"; version="1.2.2"; sha256="1hdi518j3sg9273g01l1jqlmqya3ppim82ma7zakwqpmsjmzw18q"; depends=[truncreg boot]; };
+truncdist = derive { name="truncdist"; version="1.0-1"; sha256="0aszs6rz8nydyf2dw1m4fj9fclb0r4vpgqywyaqjkdnhzmyn593g"; depends=[evd]; };
+truncgof = derive { name="truncgof"; version="0.6-0"; sha256="0b499i9zjwvva5jfl9fj02jjrgy8myxqfjwa0cjg0jrpgxczgwg8"; depends=[MASS]; };
+truncnorm = derive { name="truncnorm"; version="1.0-7"; sha256="1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"; depends=[]; };
+truncreg = derive { name="truncreg"; version="0.2-1"; sha256="0qvdfj93phk1s2p4n0rmpf8x9gj5n1j75h4z424mrg10r24699rd"; depends=[maxLik]; };
+trust = derive { name="trust"; version="0.1-6"; sha256="1jghgwnazhqgyn2k0b3x4n8swncyy6dzlkv86chv98zw4s3bnlak"; depends=[]; };
+trustOptim = derive { name="trustOptim"; version="0.8.5"; sha256="1y9krw2z5skkwgfdjagl8l04l9sbiqbk1fbxp30wrf4qj3pba5w6"; depends=[Rcpp Matrix Rcpp RcppEigen]; };
+tsDyn = derive { name="tsDyn"; version="0.9-41"; sha256="1ssb0z35xmnwyrsvmk2jsxfd5h0xhnx8kp8qyxc43j4v2nz5l4kq"; depends=[mnormt mgcv nnet tseriesChaos tseries vars urca forecast MASS Matrix foreach]; };
+tsModel = derive { name="tsModel"; version="0.6"; sha256="0mkmhzj4g38ngzfcfx0zsiqpxs2qpw82kgmm1b8gl671s4rz00zs"; depends=[]; };
+tsallisqexp = derive { name="tsallisqexp"; version="0.9-1"; sha256="0z4csd3ircpf5jync6h1snj1k2awkd0s6vj2k4ij6rvs8w3nf8nn"; depends=[]; };
+tsbridge = derive { name="tsbridge"; version="1.1"; sha256="0mry3ia54cdfydpzm8asrq1ldj70gnpb5dqzj51w0jiyps2zlw6f"; depends=[mvtnorm tsbugs]; };
+tsbugs = derive { name="tsbugs"; version="1.2"; sha256="130v4x6cfy7ddvhijsnvipm4ycrispkj1j0z5f326yb4v5lrk91x"; depends=[]; };
+tsc = derive { name="tsc"; version="1.0-3"; sha256="1acsdkxizlkix1sskwqv2a80rshw6f14zvcsjhrmmdfd4bmwh36y"; depends=[]; };
+tscount = derive { name="tscount"; version="1.0.0"; sha256="0n01biifzjfvnj3zhrn87qigf4l1kij2zfqf6876qz8rps1jz626"; depends=[ltsa]; };
+tseries = derive { name="tseries"; version="0.10-34"; sha256="068mjgjcsvgpynkvga8lv430cg8zhlr9frj5yapsxni2vj534pqj"; depends=[quadprog zoo]; };
+tseriesChaos = derive { name="tseriesChaos"; version="0.1-13"; sha256="0f2hycxyvcaj3s1lmva1qy46xr6qi43k8fvnm4md5qj8jp2zkazg"; depends=[deSolve]; };
+tsfa = derive { name="tsfa"; version="2014.2-2"; sha256="07g9qfdrhccl5dlsbpxn1ihavxljd9nq21hzbyn225cfi4bkx42h"; depends=[GPArotation dse EvalEst setRNG tframe tfplot]; };
+tsintermittent = derive { name="tsintermittent"; version="1.5"; sha256="1qziwdpxfc2v010bk2cnhkrajza0z7lrrsjg06m49msyk5bk62z1"; depends=[MAPA]; };
+tslars = derive { name="tslars"; version="1.0"; sha256="0ylpn4jxmrck7hna3j420kw2yhsrklrq2664w85z30xij3zrrrci"; depends=[]; };
+tsne = derive { name="tsne"; version="0.1-2"; sha256="12q5s79r2949zhm61byd4dbgw6sz3bmxzcwr8b0wlp8g1xg4bhy6"; depends=[]; };
+tsoutliers = derive { name="tsoutliers"; version="0.6"; sha256="1cyh56i7dsnclphi81fab6k8vkdqv8ing2zmpfsjq4gvq76p7piw"; depends=[forecast polynom stsm KFKSDS]; };
+tspmeta = derive { name="tspmeta"; version="1.1"; sha256="11kr5avf67v2cxy3k1yrpv9lcbmiprd0w43w7zvizhsij58h13vm"; depends=[ggplot2 TSP MASS BBmisc fpc vegan stringr splancs]; };
+ttScreening = derive { name="ttScreening"; version="1.5"; sha256="0qn8lkvgvqpmm368fwpqkm09yaj9mw42mjlikyiwpv2wrgbpmg9n"; depends=[matrixStats corpcor MASS]; };
+tth = derive { name="tth"; version="4.3-2"; sha256="1gs8xjljklvs0pavvn9f59y09hw7x2da58a46b5x01g08i0j8h1d"; depends=[]; };
+ttutils = derive { name="ttutils"; version="1.0-1"; sha256="18mk30070mcplybg320vjbk9v5flxnbqi5gx0yyr1z6ymjmnrxbc"; depends=[]; };
+ttwa = derive { name="ttwa"; version="0.8.5.1"; sha256="1lhypcwssq0dspizvln3w4dg16ad6mz8cj4w34c5vsrayqid7fyn"; depends=[data_table]; };
+tufterhandout = derive { name="tufterhandout"; version="1.2.1"; sha256="04fvvbx69a28nk7i4wz5ynamz1yvsa2ibz542r1xaq1ikk0ywqbw"; depends=[rmarkdown knitr]; };
+tumblR = derive { name="tumblR"; version="1.0"; sha256="01y4vx72p8fvc4nx0y8j8i7gnb573zhvnb4ffl3kx6znzx6hz9ll"; depends=[httr RCurl ROAuth stringr RJSONIO]; };
+tuneR = derive { name="tuneR"; version="1.2.1"; sha256="1f6mdkfwfy6r62sbwq37sylvcji6f3mj9w13sgicxjn6swbszf57"; depends=[signal]; };
+tuple = derive { name="tuple"; version="0.4-02"; sha256="0fm8fsdfiwknjpc20ivi5m5b19r9scdxhzij70l8qi3ixw1f0rnk"; depends=[]; };
+turboEM = derive { name="turboEM"; version="2014.8-1"; sha256="0g9nm1m542hslz8272n5qz6h59criyf71l2w218dvq34bcjcd3yy"; depends=[doParallel foreach numDeriv quantreg iterators]; };
+turfR = derive { name="turfR"; version="0.8-7"; sha256="007jmkppfv1x4zzvvd65fhg5k15ybjhsya2zfjgwm77wm34y81ca"; depends=[dplyr]; };
+turner = derive { name="turner"; version="0.1.7"; sha256="1xckb750hbfmzhvabj0lzrsscib7g187b44ag831z58zvawwh772"; depends=[tester]; };
+tvd = derive { name="tvd"; version="0.1.0"; sha256="07al7gpm81a16q5nppsyc5rhv6zzkcvw72isx955b1q189v073aw"; depends=[Rcpp Rcpp]; };
+tvm = derive { name="tvm"; version="0.2"; sha256="1fwa37xnp3idal8v1xxlc9gr25595f644i7a3h8xpd0k086sp1dg"; depends=[ggplot2 reshape2]; };
+twang = derive { name="twang"; version="1.4-9.3"; sha256="06lgawzq3b2jg84rvg24582ndlk8qji4gcbvxz5acf302cvdnmji"; depends=[gbm survey xtable lattice latticeExtra]; };
+tweedie = derive { name="tweedie"; version="2.2.1"; sha256="1fsi0qf901bvvwa8bb6qvp90fkx1svzswljlvw4zirdavy65w0iq"; depends=[]; };
+twiddler = derive { name="twiddler"; version="0.5-0"; sha256="0r16nfk2afcw7w0j0n3g0sjs07dnafrp88abwcqg3jyvldp3kxnx"; depends=[]; };
+twitteR = derive { name="twitteR"; version="1.1.8"; sha256="1gzahkipzpgfc160sgxzzga7byncih4j30r303m788c9lxk5dbxv"; depends=[bit64 rjson DBI httr]; };
+twoStageGwasPower = derive { name="twoStageGwasPower"; version="0.99.0"; sha256="1xvy6v444v47i29aw54y29xiizkmryv8p3mjha93xr3xq9bx2mq7"; depends=[]; };
+twostageTE = derive { name="twostageTE"; version="1.2"; sha256="05k9lvkailv06cah71p71hnx8in045nxz6waplsccznplhgqg5ar"; depends=[isotone]; };
+txtplot = derive { name="txtplot"; version="1.0-3"; sha256="1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"; depends=[]; };
+ucbthesis = derive { name="ucbthesis"; version="1.0"; sha256="0l855if3a7862lxlnkbx52qa617mby634sbb2gkprj21rwd7lcbp"; depends=[knitr stringr]; };
+ucminf = derive { name="ucminf"; version="1.1-3"; sha256="19gmbz32rhrdagvhf2s901lvi1r6273wzznry5daryq6w1jx5z3v"; depends=[]; };
+udunits2 = derive { name="udunits2"; version="0.6"; sha256="1dlxcx7yw7yqpimnfikdraqcmjsjz7js0j24li0879dzwrqa27ja"; depends=[]; };
+ump = derive { name="ump"; version="0.5-4"; sha256="05nd9bnysp8gaw916h7hk425banffcm0xfygalbp7brl71q0zby6"; depends=[]; };
+unbalanced = derive { name="unbalanced"; version="1.1"; sha256="0crkykmyxbag4ri2zikz4r22bf92r3v6q1lfdcvwdvv27slhyfn2"; depends=[FNN RANN]; };
+unbalhaar = derive { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; };
+uniCox = derive { name="uniCox"; version="1.0"; sha256="1glgk6k8gwxk3haqaswd2gmr7a2hgwjkwk2i1qc5ya7gg8svyavv"; depends=[survival]; };
+uniReg = derive { name="uniReg"; version="1.0"; sha256="1xl19dqnxxibgiiny9ysll2z8j1i70qrszf4xbacq1a6z31vm840"; depends=[DoseFinding MASS mvtnorm quadprog SEL]; };
+uniftest = derive { name="uniftest"; version="1.0"; sha256="12d246f8984p4hc69p5nr5yzxs1v247yjgpxx1f0mbhkyvwp6r67"; depends=[]; };
+unittest = derive { name="unittest"; version="1.2-0"; sha256="1g3f36kikxrzsiyhwpl73q2si5k28drcwvvrqzsqmfyhbjb14555"; depends=[]; };
+unmarked = derive { name="unmarked"; version="0.10-6"; sha256="07mw9rg4i81fqdkgkpcb7kd7235hn4nyxpbf5b8vxzsly81ffpz7"; depends=[reshape lattice Rcpp plyr Rcpp RcppArmadillo]; };
+untb = derive { name="untb"; version="1.7-2"; sha256="1ha0xj94sz1r325qb4sb5hla9hw1gbqr76703vk792x9696skhji"; depends=[Brobdingnag partitions polynom]; };
+upclass = derive { name="upclass"; version="2.0"; sha256="0jkxn6jgglw6pzzbcvi1pnq4hwfach3xbi13zwml4i83s3n5b0vg"; depends=[mclust]; };
+uplift = derive { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[RItools MASS coin tables penalized]; };
+urca = derive { name="urca"; version="1.2-8"; sha256="0gyjb99m6w6h701vmsav16jpfl5276vlyaagizax8k20ns9ddl4b"; depends=[nlme]; };
+urltools = derive { name="urltools"; version="0.6"; sha256="0psi93pj1n3bv0r9h6bl1pi8462mxhilq7npnqqj3kqp1f8z64an"; depends=[Rcpp Rcpp]; };
+usdm = derive { name="usdm"; version="1.1-12"; sha256="0padc9ppfisnjg1nzw5csv2zki6dby7487lis8pixf1hhbinsnci"; depends=[raster]; };
+useful = derive { name="useful"; version="1.1.8"; sha256="1lzl7rr9qxqa0ga6ml7qi7wi02fd4isgpfskvi3igy10iw1zv3hb"; depends=[ggplot2 plyr scales]; };
+userfriendlyscience = derive { name="userfriendlyscience"; version="0.2-0"; sha256="01r66pykmjarcw2644yvzqizffck9nj78iq9dgxz1743nqnjld61"; depends=[ggplot2 plyr psych pwr fBasics ltm MBESS SuppDists GPArotation MASS mosaic foreign car knitr xtable GGally lavaan]; };
+uskewFactors = derive { name="uskewFactors"; version="1.0"; sha256="1ixcxqw8ai77ndn1cfkq53a090fgs95yzvas1qg2siwpfsm4yix6"; depends=[tmvtnorm mvtnorm MCMCpack MASS]; };
+usl = derive { name="usl"; version="1.4.1"; sha256="0z3dvxczp2vp4clnwds34w5rgv4la5hpadbcmdkfqcpdy1vjryv5"; depends=[nlmrt]; };
+ustyc = derive { name="ustyc"; version="1.0.0"; sha256="1267bng2dz3229cbbq47w22i2yq2ydpw26ngqa1nbi3ma6hwqsv4"; depends=[XML plyr]; };
+utility = derive { name="utility"; version="1.3"; sha256="0ng7jc45k9rgj9055ndmgl308zjvxd2cjsk2pn57x44rl1lldcj5"; depends=[]; };
+uuid = derive { name="uuid"; version="0.1-1"; sha256="1b35h2n86233zb6dwkgxxlvnlld8kmv0j6j3m31xjbpmc3ppr7w3"; depends=[]; };
+vacem = derive { name="vacem"; version="0.1-1"; sha256="0lh32hj4g1hsa45v6pmfyj1hw0klk8gr1k451lvs4hzpkkcwkqbn"; depends=[foreach]; };
+varComp = derive { name="varComp"; version="0.1-360"; sha256="18xazjx102j6v1jgswxjdqjb0hq6hd646yhwb7bcplqyls9hzha0"; depends=[quadprog Matrix MASS CompQuadForm RLRsim SPA3G mvtnorm nlme]; };
+varSelRF = derive { name="varSelRF"; version="0.7-5"; sha256="1800d9vvkqpxjvmiqdr610hw7ji79j0wsbl823s097dndmv51axk"; depends=[randomForest]; };
+varSelectIP = derive { name="varSelectIP"; version="0.2-1"; sha256="180lzsg48hnlcmhpk0a5yzmy2syw8yr7f5npnyspx3897hjag1vp"; depends=[MASS mvtnorm]; };
+varbvs = derive { name="varbvs"; version="1.0"; sha256="0ywgb6ibijffjjzqqb5lvh1lk5qznwwiq7kbsyzkwcxbp8xkabjw"; depends=[]; };
+vardiag = derive { name="vardiag"; version="0.2-0"; sha256="0avj900zx4nr67dk08n0n6arxx2cb2ymm0kd5xxnzsmyrmwm40mm"; depends=[]; };
+vardpoor = derive { name="vardpoor"; version="0.2.8"; sha256="02gbj5d7qwj05cybr0rc6zx2308r35rh5dzcxms0b3ijzpl32bcs"; depends=[data_table laeken stringr reshape2 foreach plyr gdata MASS]; };
+vars = derive { name="vars"; version="1.5-2"; sha256="1q45z5b07ww4nafrvjl48z0w1zpck3cd8fssgwgh4pw84id3dyjh"; depends=[MASS strucchange urca lmtest sandwich]; };
+vartors = derive { name="vartors"; version="0.2.6"; sha256="04dynqs903clllk9nyynh3dr7msxn5rr5jmw6ql86ppd5w3da0rl"; depends=[]; };
+vbdm = derive { name="vbdm"; version="0.0.4"; sha256="1rbff0whhbfcf6q5wpr3ws1n4n2kcr79yifcni12vxg69a3v6dd3"; depends=[]; };
+vbsr = derive { name="vbsr"; version="0.0.5"; sha256="1avskbxxyinjjdga4rnghcfvd4sypv4m39ysfaij5avvmi89bx3b"; depends=[]; };
+vcd = derive { name="vcd"; version="1.3-2"; sha256="1ww69sgg178aqcs90mm599nlr6hnxn54d2wzyhddgx1z3qxhzwjd"; depends=[MASS colorspace]; };
+vcdExtra = derive { name="vcdExtra"; version="0.6-5"; sha256="0z2xyvmxka1awx0bnqvp6d16zj8gb6jhj0q4xil7r8ya4hqqmmac"; depends=[vcd gnm MASS]; };
+vcrpart = derive { name="vcrpart"; version="0.3-3"; sha256="0rnf9cwynfwr956hwj4kxqiqq3cdw4wf5ia73s7adxixh5kpqxqa"; depends=[partykit nlme rpart numDeriv ucminf zoo sandwich strucchange]; };
+vdg = derive { name="vdg"; version="1.0.1"; sha256="1z9kgg9bsa80px94cwkna9hsjfa69kvhssmqlcidzb4h5hg7a3fd"; depends=[ggplot2 quantreg proxy]; };
+vdmR = derive { name="vdmR"; version="0.1.0"; sha256="0rv9c6bn711dn1fhgmr4ig0lr9s6yjk7r5ccvyiadgn6g5mr2bds"; depends=[ggplot2 plyr maptools gridSVG rjson GGally Rook dplyr]; };
+vec2dtransf = derive { name="vec2dtransf"; version="1.1"; sha256="029xynay9f9rn0syphh2rhd3szv50ib4r0h0xfhhvbbb37h5dc9s"; depends=[sp]; };
+vecsets = derive { name="vecsets"; version="1.1"; sha256="0k27g3frc9y9z2qlm19kfpls6wl0422dilhdlk6096f1fp3mc6ij"; depends=[]; };
+vectoptim = derive { name="vectoptim"; version="0.2"; sha256="1n19sipx5r0qy08jmrbsrf0kgwgl31np88wc1zyc2bkx8h1zkmf2"; depends=[foreach doParallel]; };
+vegan = derive { name="vegan"; version="2.2-1"; sha256="06rq9qrcf180isjrczscl84m3jvygz5w2gz5nc4rm1pg89rf6lrd"; depends=[permute lattice MASS cluster mgcv]; };
+vegan3d = derive { name="vegan3d"; version="0.65-0"; sha256="0c75hybhwqv56f2zpskr99rr9k6hw6rbv29bcxn0fciw5jqk01m3"; depends=[vegan rgl scatterplot3d]; };
+vegclust = derive { name="vegclust"; version="1.6.3"; sha256="0l6j4sgzfqvcypx2dszpnsd1sivk33pixlgf9abqifp45skpkwfg"; depends=[vegan sp]; };
+vegdata = derive { name="vegdata"; version="0.6-7"; sha256="0k680sq5dk95alzzwmixvxm856scr5cnf8gfr1k0z8cbz0gzawd2"; depends=[foreign XML]; };
+vegetarian = derive { name="vegetarian"; version="1.2"; sha256="15ys1m8p3067dfsjwz6ds837n6rqd19my23yj8vw78xli3qmn445"; depends=[]; };
+venneuler = derive { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; };
+verification = derive { name="verification"; version="1.41"; sha256="1c8l0kqk02xijr4yhgpmhlqsflm3wizybkwpzmlnfanh8vzn49g2"; depends=[fields boot CircStats MASS dtw]; };
+vetools = derive { name="vetools"; version="1.3-28"; sha256="1470xgqdq9n5kj86gdfds15k3vqidk3h99zi3g76hhyfl8gyl1c0"; depends=[sp stringr tis lubridate maptools plyr xts scales]; };
+vines = derive { name="vines"; version="1.1.1"; sha256="1dxmrz2nh75h77f1rrkz8vyqkfxppqrs5v6bsxkbh10gsnga9hgl"; depends=[copula ADGofTest cubature TSP]; };
+violinmplot = derive { name="violinmplot"; version="0.2.1"; sha256="1j3hb03y988xa704kp25v1z1pmpxw5k1502zfqjaf8cy4lr3kzsc"; depends=[lattice]; };
+vioplot = derive { name="vioplot"; version="0.2"; sha256="16wkb26kv6qr34hv5zgqmgq6zzgysg9i78pvy2c097lr60v087v0"; depends=[sm]; };
+viopoints = derive { name="viopoints"; version="0.2-1"; sha256="0cpbkkzm1rxch8gnvlmmzy8g521f5ang3nhlcnin419gha0w6avf"; depends=[]; };
+virtualspecies = derive { name="virtualspecies"; version="1.0"; sha256="1qg5106ja17nsqzjnyswjf438f55195l197pizkybb2ilg4fw0x1"; depends=[raster ade4 dismo rworldmap]; };
+visreg = derive { name="visreg"; version="2.1-1"; sha256="16ghi7p809mcb3jfw1c9ibdd1mhq54m7x0qbcbiwxpnnd7grqy4w"; depends=[lattice]; };
+visualFields = derive { name="visualFields"; version="0.4.2"; sha256="14plg94g4znl8n6798na2rivjjamjgayqkk1qwn1nx5df040l4q5"; depends=[gridBase flip matrixStats Hmisc]; };
+visualize = derive { name="visualize"; version="4.2"; sha256="1jgk7j0f3p72wbqnmplrgpy7hlh7k2cmvx83gr2zfnbhygdi22mk"; depends=[]; };
+vitality = derive { name="vitality"; version="1.1"; sha256="048i6ralh3gbh3hqkdxj3sdkxp1nrjbp3jpwrva4sa8d69vwxla5"; depends=[IMIS]; };
+vmsbase = derive { name="vmsbase"; version="2.0"; sha256="04j6zibwcn1ywckbdqw5p6da5qpgpll7a96x5a1kyimiwk408j1r"; depends=[sqldf ggmap mapdata maps marmap intervals plotrix sp foreign cluster cairoDevice ggplot2 DBI RSQLite fields gsubfn AMORE ecodist gWidgets gWidgetsRGtk2 chron maptools outliers PBSmapping R6 VennDiagram gmt]; };
+vowels = derive { name="vowels"; version="1.2-1"; sha256="0177xysb5y8jzpxn9wdygq2f74gys67g29cd12zw77vlq3c3kkbr"; depends=[]; };
+vows = derive { name="vows"; version="0.4"; sha256="0cc0znrnzhfgp47dsyncjh7b072mbwk568n2pshxwdfxzh3kj65q"; depends=[fda gamm4 rpanel mgcv RLRsim oro_nifti shape stringr]; };
+vrmlgen = derive { name="vrmlgen"; version="1.4.9"; sha256="0lifhhf41yml4k83wpkssl14jgn8jaw1lcknwbci1sd8s1c4478l"; depends=[]; };
+vrtest = derive { name="vrtest"; version="0.97"; sha256="00hdgb0r18nwv3qay97b09kqqw9xqsbya06rrjyddqh9r6ggx1y0"; depends=[]; };
+vscc = derive { name="vscc"; version="0.2"; sha256="1p14v8vd8kckd44g4dvzh51gdkd8jvsc4bkd2i4csx8vjiwrni5w"; depends=[teigen mclust]; };
+vudc = derive { name="vudc"; version="1.0"; sha256="1xjbjfya4zn94arc76pcfflc2dcn40qj1fkzwnzqz70czc2msppw"; depends=[]; };
+vwr = derive { name="vwr"; version="0.3.0"; sha256="1h790vjcdfngs1siwldvqz8jrxpkajl3266lzadfnmchfan1x7xv"; depends=[stringdist lattice latticeExtra]; };
+wSVM = derive { name="wSVM"; version="0.1-7"; sha256="0c7rblzgagwfb8mmddkc0nd0f9rv6kapw8znpwapv3fv0j2qzq7h"; depends=[MASS quadprog]; };
+waffect = derive { name="waffect"; version="1.2"; sha256="0r5dvm0ggyxyv81hxdr1an658wkqkhqq2xaqzqpnh4sh4wbak35a"; depends=[Rcpp Rcpp]; };
+wahc = derive { name="wahc"; version="1.0"; sha256="1324xhajgmxq6dxzpnkcvxdpm2m3g47drhyb2b3h227cn3aakxyg"; depends=[]; };
+walkscoreAPI = derive { name="walkscoreAPI"; version="1.2"; sha256="1c2gfkl5yl3mkviah8s8zjnqk6lnzma1yilxgfxckdh5wywi39fx"; depends=[]; };
+wasim = derive { name="wasim"; version="1.1.2"; sha256="1zydzw7cihhdwv0474fnc4lgaq5fwrv8jinz79vkbidbgcy7i2fd"; depends=[MASS qualV tiger fast]; };
+waterData = derive { name="waterData"; version="1.0.4"; sha256="0wk49f079jfbjncyirdvq50wswf9g361iivshjfhyndv83gbqrzk"; depends=[lattice latticeExtra XML]; };
+waterfall = derive { name="waterfall"; version="0.9.9.20121030"; sha256="140s5639ayd9qgn4i1s1qk541vi34ndzdcqpaps7q53g42n8akfw"; depends=[lattice]; };
+waveband = derive { name="waveband"; version="4.6"; sha256="1y2qi2zb8l2ap6f8ihnpq2yavic464bl5mp5yv1dscbk0nmfn966"; depends=[wavethresh]; };
+waved = derive { name="waved"; version="1.1-2"; sha256="17pr9qhz0dbbcr78vwm964d9zd7yrfrqvadr1lwf756bsrscmlg3"; depends=[]; };
+wavelets = derive { name="wavelets"; version="0.3-0"; sha256="141s7z7wxl5plxp7xp7wczswlcvb18a4h3n881l9qc4ny9p7gfpa"; depends=[]; };
+wavemulcor = derive { name="wavemulcor"; version="1.2"; sha256="1039y5rakjkx2mvfmykg2z4jpkpbcj7rclyg7ab19wnxmdm8ls81"; depends=[waveslim]; };
+waveslim = derive { name="waveslim"; version="1.7.5"; sha256="0lqslkihgrd7rbihqhhk57m9vkbnfsznkvk8430cvbcsn7vridii"; depends=[]; };
+wavethresh = derive { name="wavethresh"; version="4.6.6"; sha256="1ykhfw1bdibvq2b3rrgqszvwqmzkd3fgxqg7p36ms1cxph68g2r9"; depends=[MASS]; };
+wbs = derive { name="wbs"; version="1.3"; sha256="1fdf3dj23n63nfnzafq88sxqvi15cbrzsvc8wrljw1raq5z012yv"; depends=[]; };
+weatherData = derive { name="weatherData"; version="0.4.1"; sha256="19ynb9w52ay15awaf4bqm9lj2w6pk70lyaipn46jrspwxqsvfhlc"; depends=[plyr]; };
+webchem = derive { name="webchem"; version="0.0.1"; sha256="0hfsjaffxz78mxxh2wx5api2blnpg5y16lyc0jf1zmq7zkhccx3l"; depends=[XML RCurl RJSONIO]; };
+webutils = derive { name="webutils"; version="0.3"; sha256="1wzpwigc5mmdnz453qr4s1viaslgdrcg238n25qcg4xjakmnxrss"; depends=[jsonlite]; };
+webvis = derive { name="webvis"; version="0.0.2"; sha256="1cdn9jrpg2sbx4dsj0xf7m0daqr7fqiw3xy1lg0i0qn9cpvi348f"; depends=[]; };
+weightedKmeans = derive { name="weightedKmeans"; version="1.2.0"; sha256="140cvl1jwwqyvcsf7pbsxh9k4bynd7c1q159pp7ia1f1sgimxafb"; depends=[lattice latticeExtra clv]; };
+weightedScores = derive { name="weightedScores"; version="0.9.1"; sha256="0wd2ymxy8yh3l4xd3xgifbihi89h53wy6n84x7x26px12c70q8fa"; depends=[mvtnorm rootSolve]; };
+weights = derive { name="weights"; version="0.80"; sha256="147fgs99sg1agq081ikj2fhb4b2vzsppdg1h1w036bb92vsjb0g5"; depends=[Hmisc gdata]; };
+weirs = derive { name="weirs"; version="0.23"; sha256="1kp49r5ba7ii1mr1nszbssx3fn0c2hcfpawm3a1kbh4rmhvy3frs"; depends=[]; };
+wesanderson = derive { name="wesanderson"; version="0.3.2"; sha256="17acf9ydi2sw7q887ni9ly12mdmip66ix6gdkh68rncj8sx3csrd"; depends=[]; };
+wfe = derive { name="wfe"; version="1.3"; sha256="16b39i60x10kw6yz44ff19h638s9lsgnz8azc76zl9b8s64jliya"; depends=[arm Matrix MASS]; };
+wgaim = derive { name="wgaim"; version="1.4-6"; sha256="1m3i8v12y9n19gnsnqwmbair684skdpnlvvb3ax6jh6dcbb645my"; depends=[qtl lattice]; };
+wgsea = derive { name="wgsea"; version="1.8"; sha256="1114wik011sm2n12bwm2bhqvdxagbhbscif45k4pgxdkahy2abpi"; depends=[]; };
+whisker = derive { name="whisker"; version="0.3-2"; sha256="0z4cn115gxcl086d6bnqr8afi67b6a7xqg6ivmk3l4ng1x8kcj28"; depends=[]; };
+widals = derive { name="widals"; version="0.5.4"; sha256="1bl59s1r4gkvq4nkf94fk7m0zvhbrszkgmig66lfxhyvk9r84fvb"; depends=[snowfall]; };
+widenet = derive { name="widenet"; version="0.1-2"; sha256="1nimm8szbg82vg00f5c7b3f3sk0gplssbl4ggasjnh7dl621vfny"; depends=[glmnet relaxnet]; };
+wikibooks = derive { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; };
+wikipediatrend = derive { name="wikipediatrend"; version="0.2.0"; sha256="11gxi94i6xfsj4dz7g2r7ag0gbah2km9ibbmjqihbk5ccxh5kfd6"; depends=[jsonlite stringr RCurl]; };
+wildlifeDI = derive { name="wildlifeDI"; version="0.2"; sha256="0z8zyrl3d73x2j32l6xqz5nwhygzy7c9sjfp6bql5acyfvn7ngjv"; depends=[sp rgeos adehabitatLT]; };
+windex = derive { name="windex"; version="1.0"; sha256="0ci10x6mm5i03j05fyadxa0ic0ngpyp5nsn05p9m7v1is5jhxci0"; depends=[geiger ape scatterplot3d]; };
+witness = derive { name="witness"; version="1.2"; sha256="1pccn7czm1q0w31zpmky5arkcbnfl94gh1nnkf8kmcccdrr3lxph"; depends=[]; };
+wkb = derive { name="wkb"; version="0.1-0"; sha256="0ynamg8zrk80j5ysyg7pymdcxzlscbhhygp8czmsd33p2y31pggd"; depends=[sp]; };
+wle = derive { name="wle"; version="0.9-9"; sha256="032zqfqg6ghg56zgr005g8q94zskmbzv1p08lxv227ikkbmnwn53"; depends=[circular]; };
+wmlf = derive { name="wmlf"; version="0.1.2"; sha256="0zxw84l5v12r15hpyd1kbajjz3cbkn5g884kmj72y7yi0yi1b6d6"; depends=[waveslim]; };
+wmtsa = derive { name="wmtsa"; version="2.0-0"; sha256="0y2bv166xwwpb1wf6897qybyf84f34qjsmygdbv90r637c050yk5"; depends=[splus2R ifultools MASS]; };
+wnominate = derive { name="wnominate"; version="0.99"; sha256="19pis0p4kkwyddn8f93p4ff7l1hvcdr7m3hrv4bzmm9nd8iy8mk1"; depends=[pscl]; };
+wombsoft = derive { name="wombsoft"; version="2.0"; sha256="11ri29vj1yg2lpr6vf1i45w20hqh8dswj04ylbq0vy27cwmxqljd"; depends=[]; };
+wordcloud = derive { name="wordcloud"; version="2.5"; sha256="1ajqdkm8h1wid3d41zd8v7xzf2swid998w31zrghd45a5lcp7qcm"; depends=[RColorBrewer slam Rcpp Rcpp]; };
+wordmatch = derive { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; };
+wordnet = derive { name="wordnet"; version="0.1-10"; sha256="1k0ncxqsvv5vd5xm6nxs66hvqic9zbxf63sshszgpva2cqlyj4q8"; depends=[rJava]; };
+wpp2008 = derive { name="wpp2008"; version="1.0-1"; sha256="0gd3vjw1fpzhp3qlf1jpc24f76i0pxsjs5pb1v3k2si6df7q4msd"; depends=[]; };
+wpp2010 = derive { name="wpp2010"; version="1.2-0"; sha256="1h87r1cn4lnx80dprvawsyzfkriscqjgr27gvv7n19wvsx8qd57k"; depends=[]; };
+wpp2012 = derive { name="wpp2012"; version="2.2-1"; sha256="00283s4r36zzwn67fydrl7ldg6jhn14qkf47h0ifmsky95bd1n5k"; depends=[]; };
+wppExplorer = derive { name="wppExplorer"; version="1.5-0"; sha256="046dqbgaawy04cbk8ya5i0gwmr7d51k3017jjk66fy1x4176159m"; depends=[shiny plyr reshape2 googleVis wpp2012 Hmisc ggplot2]; };
+wq = derive { name="wq"; version="0.4-1"; sha256="0a46islpzpbkx6c7mbn6q787mh9mb6sy4k46lz8s63fh2h7p0szk"; depends=[zoo]; };
+wrassp = derive { name="wrassp"; version="0.1.3"; sha256="1xza4w5dgc6gda9ybmq386jnb1gkahdi6sds5dqay7pm5mjql6fl"; depends=[]; };
+write_snns = derive { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; };
+wrspathrow = derive { name="wrspathrow"; version="0.1"; sha256="1xkh12aal85qhk8d0pdj2qbi6pp4jnr6zbxkhdw2zwav57ly3f4i"; depends=[wrspathrowData sp raster rgeos rgdal]; };
+wrspathrowData = derive { name="wrspathrowData"; version="1.0"; sha256="0a1aggcll0fmkwfg4h7rs4j5h3v1bh95dkbriwrb0bx0cikg63x3"; depends=[]; };
+wskm = derive { name="wskm"; version="1.4.19"; sha256="16smir0b4pxkaxgr2vclq8kprpwn0y3fb43ba79q94d6m5hm844y"; depends=[lattice latticeExtra clv]; };
+wsrf = derive { name="wsrf"; version="1.4.0"; sha256="1b9ifswv0civaavmpzi2r3fdbccxg4akzvklqri0hj49kr4cw5pa"; depends=[Rcpp Rcpp]; };
+wtcrsk = derive { name="wtcrsk"; version="1.3"; sha256="1viddyms2d9q2hb9z788fcs8vp7gp6vzlsszcnyxgganfjsd85zy"; depends=[]; };
+wux = derive { name="wux"; version="1.2-3"; sha256="1hpgjs7jl4zckm87hrsnmqyvxg93aqsnrf79wisvs2wajgh73zmi"; depends=[sp ncdf reshape abind fields rgdal rgeos class stringr Hmisc gdata corpcor]; };
+x_ent = derive { name="x.ent"; version="1.1.2"; sha256="1wq1gf656jpd6aw08b0g9319gb087zqgn7bzw4amq4k8vk9vjkjm"; depends=[opencpu rJava stringr xtable jsonlite venneuler ggplot2 statmod]; };
+x12 = derive { name="x12"; version="1.6.0"; sha256="0bl50nva4ai8p24f9hr622m0fc5nmbjakn3rsvl79g050gjsd4i3"; depends=[stringr]; };
+x12GUI = derive { name="x12GUI"; version="0.13.0"; sha256="1mga7g9gwb3nv2qs27lz4n9rp6j3svads28hql88sxaif6is3nk1"; depends=[x12 Hmisc RGtk2 cairoDevice lattice stringr]; };
+xergm = derive { name="xergm"; version="1.4.1"; sha256="1lcqa2vxdg4ljk2p0m8cqw68bqxycxql57nr3n4ggic2ys0sbrxa"; depends=[statnet statnet_common network sna ergm texreg Matrix boot coda ROCR igraph vegan lme4 Rcpp speedglm Rcpp]; };
+xgobi = derive { name="xgobi"; version="1.2-15"; sha256="03ym5mm16rb1bdwrymr393r3xgprp0ign45ryym3g0x2zi8dy557"; depends=[]; };
+xhmmScripts = derive { name="xhmmScripts"; version="1.1"; sha256="1qryyb34jx9c64l8bnwp40b08y81agdj5w0icj8dk052x50ip1hl"; depends=[gplots plotrix]; };
+xkcd = derive { name="xkcd"; version="0.0.4"; sha256="1hwr3ylgflzizgp8ffwdv9cgcngpjwmpxvgrvg8ad89a40l1mxcr"; depends=[ggplot2 extrafont Hmisc]; };
+xlsx = derive { name="xlsx"; version="0.5.7"; sha256="0qxkdpf1dvi0x7fy65abjx2j60rdx7fv5yi8l2wdm0f2631pnwin"; depends=[rJava xlsxjars]; };
+xlsxjars = derive { name="xlsxjars"; version="0.6.1"; sha256="1rka5smm7yqnhhlblpihhciydfap4i6kjaa4a7isdg7qjmzm3h9p"; depends=[rJava]; };
+xoi = derive { name="xoi"; version="0.61-1"; sha256="0ypy0rb0f0bns41vjzyln04k3hypgr3wysqbdi0b0r14ip5rb47k"; depends=[qtl]; };
+xpose4 = derive { name="xpose4"; version="4.5.3"; sha256="02m3ad4287ljsi4qrzwd84lfj1y6rz9nias2zk4cbqm14gf19pdf"; depends=[lattice gam Hmisc survival]; };
+xtable = derive { name="xtable"; version="1.7-4"; sha256="1fvx4p058ygsyj9f4xb9k5h0fdi4zibadqrsn4qbx4am30qrlqj7"; depends=[]; };
+xtal = derive { name="xtal"; version="1.0"; sha256="1717pl64nbliwbdg5fs6cwj7zvgrm00zlyj2dhi06yyg16gq1w8k"; depends=[]; };
+xtermStyle = derive { name="xtermStyle"; version="2.2-4"; sha256="0m1lwr7smym7aczcqqgqj5bx46j38ymmljilxl54bby188qhfcyz"; depends=[]; };
+xts = derive { name="xts"; version="0.9-7"; sha256="163hzcnxrdb4lbsnwwv7qa00h4qlg4jm289acgvbg4jbiywpq7zi"; depends=[zoo]; };
+yaImpute = derive { name="yaImpute"; version="1.0-23"; sha256="11k7ab5s9zldn0py7zhgi1zcbpsw3bp2xf6s6salv68fhzdgpzp8"; depends=[]; };
+yacca = derive { name="yacca"; version="1.1"; sha256="0wg2wgvh1najmccmgzyigj11mshrdb8w4r2pqq360dracpn0ak6x"; depends=[]; };
+yaml = derive { name="yaml"; version="2.1.13"; sha256="18kz5mfn7qpif5pn91w4vbrc5bkycsj85vwm5wxwzjlb02i9mxi6"; depends=[]; };
+ycinterextra = derive { name="ycinterextra"; version="0.1"; sha256="0hr37izbbmxqkjy6a7q8vcn0vs8an1ck9y8xfjpl5z0rygi8xc1v"; depends=[mcGlobaloptim]; };
+yhat = derive { name="yhat"; version="2.0-0"; sha256="0vdhkknmms7zy7iha894jn1hr1h5w67pr53r0q67m7p404w21iza"; depends=[yacca miscTools plotrix boot]; };
+yhatr = derive { name="yhatr"; version="0.13.4"; sha256="1z1i48nhyadn1l00sw50qif2zyjvy1jbvq91chnapfdbjjsgfv2x"; depends=[httr RCurl rjson plyr jsonlite stringr]; };
+ykmeans = derive { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[plyr foreach]; };
+yuima = derive { name="yuima"; version="1.0.36"; sha256="1rz96v0c9sikjvm3i8x887v1bkiixps691vclpd6i4cchyayx63h"; depends=[zoo expm cubature mvtnorm]; };
+zCompositions = derive { name="zCompositions"; version="1.0.3"; sha256="0lxy201ys9dvv8c09q8wbks1c2jkjyd1bbrxhjr7zi9j7m0parl7"; depends=[MASS NADA truncnorm]; };
+zendeskR = derive { name="zendeskR"; version="0.4"; sha256="06cjwk08w3x6dx717123psinid5bx6c563jnfn890373jw6xnfrk"; depends=[RCurl rjson]; };
+zic = derive { name="zic"; version="0.8.1"; sha256="05mn894qdx6k7158dbsjy2b49n0gz5xnmlixr2dhkxc12ydj6zs5"; depends=[Rcpp RcppArmadillo coda Rcpp RcppArmadillo]; };
+zipcode = derive { name="zipcode"; version="1.0"; sha256="1lvlf1h5fv412idpdssjfh4fki933dm5nhr41ppl1mf45b9j7azn"; depends=[]; };
+zipfR = derive { name="zipfR"; version="0.6-6"; sha256="1y3nqfjg5m89mdvcmqwjmwlc8p3hpcqnwv4ji1a7ggg4n63lwl3j"; depends=[]; };
+zoeppritz = derive { name="zoeppritz"; version="1.0-4"; sha256="0mjg55jc5b8h2jj6cy8b34a4q7jhhx73xns0v2dpfkq4kmilsv5p"; depends=[]; };
+zoib = derive { name="zoib"; version="1.2"; sha256="15rki5w21r7q0af9w5pyzq9x55gwmgs35pqgdqxmjnpsp8v135k7"; depends=[rjags coda matrixcalc Formula]; };
+zoo = derive { name="zoo"; version="1.7-12"; sha256="1n64pdmk2vrmiprwkncaaf936c97nlc1l78bvmzp991rijr9vqg5"; depends=[lattice]; };
+zooimage = derive { name="zooimage"; version="3.0-5"; sha256="1r3slmyw0dyqfa40dr5xga814z09ibhmmby8p1cii5lh61xm4c39"; depends=[svMisc svDialogs mlearning filehash jpeg png]; };
+zoom = derive { name="zoom"; version="2.0.4"; sha256="03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5"; depends=[]; };
+ztable = derive { name="ztable"; version="0.1.5"; sha256="1jfqnqy9544gfvz3bsb48v4177nwp4b4n9l2743asq8sbq305b5r"; depends=[]; };
+zyp = derive { name="zyp"; version="0.10-1"; sha256="0f1fqqxysf3psnvn08s5qly2c958h1hhznjjj8mvpjr5g6hqlr1k"; depends=[Kendall]; }; 
+}
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
new file mode 100644
index 00000000000..c3572bfd0a0
--- /dev/null
+++ b/pkgs/development/r-modules/default.nix
@@ -0,0 +1,1098 @@
+/* This file defines the composition for CRAN (R) packages. */
+
+{ R, pkgs, overrides }:
+
+let
+  inherit (pkgs) fetchurl stdenv lib;
+
+  buildRPackage = pkgs.callPackage ./generic-builder.nix { inherit R; };
+
+  # Package template
+  #
+  # some packages, e.g. cncaGUI, require X running while installation,
+  # so that we use xvfb-run if requireX is true.
+  derive = lib.makeOverridable ({
+        name, version, sha256,
+        depends ? [],
+        doCheck ? true,
+        requireX ? false,
+        broken ? false,
+        hydraPlatforms ? R.meta.hydraPlatforms
+      }: buildRPackage {
+    name = "${name}-${version}";
+    src = fetchurl {
+      urls = [
+        "mirror://cran/src/contrib/${name}_${version}.tar.gz"
+        "mirror://cran/src/contrib/00Archive/${name}/${name}_${version}.tar.gz"
+      ];
+      inherit sha256;
+    };
+    inherit doCheck requireX;
+    propagatedBuildInputs = depends;
+    nativeBuildInputs = depends;
+    meta.homepage = "http://cran.r-project.org/web/packages/${name}/";
+    meta.platforms = R.meta.platforms;
+    meta.hydraPlatforms = hydraPlatforms;
+    meta.broken = broken;
+  });
+
+  # Overrides package definitions with nativeBuildInputs.
+  # For example,
+  #
+  # overrideNativeBuildInputs {
+  #   foo = [ pkgs.bar ]
+  # } old
+  #
+  # results in
+  #
+  # {
+  #   foo = old.foo.overrideDerivation (attrs: {
+  #     nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ];
+  #   });
+  # }
+  overrideNativeBuildInputs = overrides: old:
+    lib.mapAttrs (name: value:
+      (builtins.getAttr name old).overrideDerivation (attrs: {
+        nativeBuildInputs = attrs.nativeBuildInputs ++ value;
+      })
+    ) overrides;
+
+  # Overrides package definitions with buildInputs.
+  # For example,
+  #
+  # overrideBuildInputs {
+  #   foo = [ pkgs.bar ]
+  # } old
+  #
+  # results in
+  #
+  # {
+  #   foo = old.foo.overrideDerivation (attrs: {
+  #     buildInputs = attrs.buildInputs ++ [ pkgs.bar ];
+  #   });
+  # }
+  overrideBuildInputs = overrides: old:
+    lib.mapAttrs (name: value:
+      (builtins.getAttr name old).overrideDerivation (attrs: {
+        buildInputs = attrs.buildInputs ++ value;
+      })
+    ) overrides;
+
+  # Overrides package definitions with new R dependencies.
+  # For example,
+  #
+  # overrideRDepends {
+  #   foo = [ self.bar ]
+  # } old
+  #
+  # results in
+  #
+  # {
+  #   foo = old.foo.overrideDerivation (attrs: {
+  #     nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ];
+  #     propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ];
+  #   });
+  # }
+  overrideRDepends = overrides: old:
+    lib.mapAttrs (name: value:
+      (builtins.getAttr name old).overrideDerivation (attrs: {
+        nativeBuildInputs = attrs.nativeBuildInputs ++ value;
+        propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ value;
+      })
+    ) overrides;
+
+  # Overrides package definition requiring X running to install.
+  # For example,
+  #
+  # overrideRequireX [
+  #   "foo"
+  # ] old
+  #
+  # results in
+  #
+  # {
+  #   foo = old.foo.override {
+  #     requireX = true;
+  #   };
+  # }
+  overrideRequireX = packageNames: old:
+    let
+      nameValuePairs = map (name: {
+        inherit name;
+        value = (builtins.getAttr name old).override {
+          requireX = true;
+        };
+      }) packageNames;
+    in
+      builtins.listToAttrs nameValuePairs;
+
+  # Overrides package definition to skip check.
+  # For example,
+  #
+  # overrideSkipCheck [
+  #   "foo"
+  # ] old
+  #
+  # results in
+  #
+  # {
+  #   foo = old.foo.override {
+  #     doCheck = false;
+  #   };
+  # }
+  overrideSkipCheck = packageNames: old:
+    let
+      nameValuePairs = map (name: {
+        inherit name;
+        value = (builtins.getAttr name old).override {
+          doCheck = false;
+        };
+      }) packageNames;
+    in
+      builtins.listToAttrs nameValuePairs;
+
+  # Overrides package definition to mark it broken.
+  # For example,
+  #
+  # overrideBroken [
+  #   "foo"
+  # ] old
+  #
+  # results in
+  #
+  # {
+  #   foo = old.foo.override {
+  #     broken = true;
+  #   };
+  # }
+  overrideBroken = packageNames: old:
+    let
+      nameValuePairs = map (name: {
+        inherit name;
+        value = (builtins.getAttr name old).override {
+          broken = true;
+        };
+      }) packageNames;
+    in
+      builtins.listToAttrs nameValuePairs;
+
+  defaultOverrides = old: new:
+    let old0 = old; in
+    let
+      old1 = old0 // (overrideRequireX packagesRequireingX old0);
+      old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1);
+      old3 = old2 // (overrideRDepends packagesWithRDepends old2);
+      old4 = old3 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old3);
+      old5 = old4 // (overrideBuildInputs packagesWithBuildInputs old4);
+      old6 = old5 // (overrideBroken brokenPackages old5);
+      old = old6;
+    in old // (otherOverrides old new);
+
+  # Recursive override pattern.
+  # `_self` is a collection of packages;
+  # `self` is `_self` with overridden packages;
+  # packages in `_self` may depends on overridden packages.
+  self = (defaultOverrides _self self) // overrides;
+  _self = import ./cran-packages.nix { inherit self derive; };
+
+  # tweaks for the individual packages and "in self" follow
+
+  packagesWithRDepends = {
+    FactoMineR = [ self.car ];
+  };
+
+  packagesWithNativeBuildInputs = {
+    abn = [ pkgs.gsl ];
+    adimpro = [ pkgs.imagemagick ];
+    audio = [ pkgs.portaudio ];
+    BayesSAE = [ pkgs.gsl ];
+    BayesVarSel = [ pkgs.gsl ];
+    BayesXsrc = [ pkgs.readline pkgs.ncurses ];
+    bigGP = [ pkgs.openmpi ];
+    bnpmr = [ pkgs.gsl ];
+    BNSP = [ pkgs.gsl ];
+    cairoDevice = [ pkgs.gtk2 ];
+    Cairo = [ pkgs.libtiff pkgs.libjpeg pkgs.cairo ];
+    CARramps = [ pkgs.linuxPackages.nvidia_x11 pkgs.liblapack ];
+    chebpol = [ pkgs.fftw ];
+    cit = [ pkgs.gsl ];
+    curl = [ pkgs.curl pkgs.openldap ];
+    devEMF = [ pkgs.xlibs.libXft ];
+    diversitree = [ pkgs.gsl pkgs.fftw ];
+    EMCluster = [ pkgs.liblapack ];
+    fftw = [ pkgs.fftw ];
+    fftwtools = [ pkgs.fftw ];
+    Formula = [ pkgs.gmp ];
+    geoCount = [ pkgs.gsl ];
+    git2r = [ pkgs.zlib ];
+    glpkAPI = [ pkgs.gmp pkgs.glpk ];
+    gmp = [ pkgs.gmp ];
+    graphscan = [ pkgs.gsl ];
+    gsl = [ pkgs.gsl ];
+    HiCseg = [ pkgs.gsl ];
+    igraph = [ pkgs.gmp ];
+    JavaGD = [ pkgs.jdk ];
+    jpeg = [ pkgs.libjpeg ];
+    KFKSDS = [ pkgs.gsl ];
+    kza = [ pkgs.fftw ];
+    libamtrack = [ pkgs.gsl ];
+    mixcat = [ pkgs.gsl ];
+    mvabund = [ pkgs.gsl ];
+    mwaved = [ pkgs.fftw ];
+    ncdf4 = [ pkgs.netcdf ];
+    ncdf = [ pkgs.netcdf ];
+    nloptr = [ pkgs.nlopt ];
+    openssl = [ pkgs.openssl ];
+    outbreaker = [ pkgs.gsl ];
+    pbdMPI = [ pkgs.openmpi ];
+    pbdNCDF4 = [ pkgs.netcdf ];
+    pbdPROF = [ pkgs.openmpi ];
+    PKI = [ pkgs.openssl ];
+    png = [ pkgs.libpng ];
+    PopGenome = [ pkgs.zlib ];
+    proj4 = [ pkgs.proj ];
+    qtbase = [ pkgs.qt4 ];
+    qtpaint = [ pkgs.qt4 ];
+    R2GUESS = [ pkgs.gsl ];
+    R2SWF = [ pkgs.zlib pkgs.libpng pkgs.freetype ];
+    RAppArmor = [ pkgs.libapparmor ];
+    rbamtools = [ pkgs.zlib ];
+    RCA = [ pkgs.gmp ];
+    rcdd = [ pkgs.gmp ];
+    RcppCNPy = [ pkgs.zlib ];
+    RcppGSL = [ pkgs.gsl ];
+    RcppOctave = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre pkgs.octave ];
+    RcppZiggurat = [ pkgs.gsl ];
+    rgdal = [ pkgs.proj pkgs.gdal ];
+    rgeos = [ pkgs.geos ];
+    rgl = [ pkgs.mesa pkgs.x11 ];
+    Rglpk = [ pkgs.glpk ];
+    rggobi = [ pkgs.ggobi pkgs.gtk2 pkgs.libxml2 ];
+    RGtk2 = [ pkgs.gtk2 ];
+    Rhpc = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.openmpi pkgs.pcre ];
+    ridge = [ pkgs.gsl ];
+    RJaCGH = [ pkgs.zlib ];
+    rjags = [ pkgs.jags ];
+    rJava = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre pkgs.jdk pkgs.libzip ];
+    Rlibeemd = [ pkgs.gsl ];
+    rmatio = [ pkgs.zlib ];
+    Rmpfr = [ pkgs.gmp pkgs.mpfr ];
+    Rmpi = [ pkgs.openmpi ];
+    RMySQL = [ pkgs.zlib pkgs.mysql.lib ];
+    RNetCDF = [ pkgs.netcdf pkgs.udunits ];
+    RODBCext = [ pkgs.libiodbc ];
+    RODBC = [ pkgs.libiodbc ];
+    rpg = [ pkgs.postgresql ];
+    rphast = [ pkgs.pcre pkgs.zlib pkgs.bzip2 pkgs.gzip pkgs.readline ];
+    Rpoppler = [ pkgs.poppler ];
+    RPostgreSQL = [ pkgs.postgresql ];
+    RProtoBuf = [ pkgs.protobuf ];
+    rpud = [ pkgs.linuxPackages.nvidia_x11 ];
+    rPython = [ pkgs.python ];
+    RSclient = [ pkgs.openssl ];
+    Rserve = [ pkgs.openssl ];
+    Rssa = [ pkgs.fftw ];
+    rtfbs = [ pkgs.zlib pkgs.pcre pkgs.bzip2 pkgs.gzip pkgs.readline ];
+    rtiff = [ pkgs.libtiff ];
+    runjags = [ pkgs.jags ];
+    RVowpalWabbit = [ pkgs.zlib pkgs.boost ];
+    rzmq = [ pkgs.zeromq3 ];
+    SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre ];
+    sdcTable = [ pkgs.gmp pkgs.glpk ];
+    seewave = [ pkgs.fftw pkgs.libsndfile ];
+    SemiCompRisks = [ pkgs.gsl ];
+    seqinr = [ pkgs.zlib ];
+    seqminer = [ pkgs.zlib pkgs.bzip2 ];
+    showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype ];
+    simplexreg = [ pkgs.gsl ];
+    SOD = [ pkgs.cudatoolkit ]; # requres CL/cl.h
+    spate = [ pkgs.fftw ];
+    sprint = [ pkgs.openmpi ];
+    ssanv = [ pkgs.proj ];
+    stsm = [ pkgs.gsl ];
+    survSNP = [ pkgs.gsl ];
+    sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype ];
+    TAQMNGR = [ pkgs.zlib ];
+    tiff = [ pkgs.libtiff ];
+    TKF = [ pkgs.gsl ];
+    tkrplot = [ pkgs.xlibs.libX11 ];
+    topicmodels = [ pkgs.gsl ];
+    udunits2 = [ pkgs.udunits pkgs.expat ];
+    V8 = [ pkgs.v8 ];
+    VBLPCM = [ pkgs.gsl ];
+    VBmix = [ pkgs.gsl pkgs.fftw pkgs.qt4 ];
+    WhopGenome = [ pkgs.zlib ];
+    XBRL = [ pkgs.zlib pkgs.libxml2 ];
+    XML = [ pkgs.libtool pkgs.libxml2 pkgs.xmlsec pkgs.libxslt ];
+  };
+
+  packagesWithBuildInputs = {
+    # sort -t '=' -k 2
+    svKomodo = [ pkgs.which ];
+    nat = [ pkgs.which ];
+    nat_nblast = [ pkgs.which ];
+    nat_templatebrains = [ pkgs.which ];
+    RMark = [ pkgs.which ];
+    RPushbullet = [ pkgs.which ];
+    qtpaint = [ pkgs.cmake ];
+    qtbase = [ pkgs.cmake pkgs.perl ];
+    gmatrix = [ pkgs.cudatoolkit ];
+    WideLM = [ pkgs.cudatoolkit ];
+    RCurl = [ pkgs.curl ];
+    R2SWF = [ pkgs.pkgconfig ];
+    rggobi = [ pkgs.pkgconfig ];
+    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 ];
+    kza = [ pkgs.pkgconfig ];
+    mwaved = [ pkgs.pkgconfig ];
+    showtext = [ pkgs.pkgconfig ];
+    spate = [ pkgs.pkgconfig ];
+    stringi = [ pkgs.pkgconfig ];
+    sysfonts = [ pkgs.pkgconfig ];
+    Cairo = [ pkgs.pkgconfig ];
+    Rsymphony = [ pkgs.pkgconfig pkgs.doxygen pkgs.graphviz pkgs.subversion ];
+    qtutils = [ pkgs.qt4 ];
+    ecoretriever = [ pkgs.which ];
+    tcltk2 = [ pkgs.tcl pkgs.tk ];
+    tikzDevice = [ pkgs.which pkgs.texLive ];
+    rPython = [ pkgs.which ];
+    CARramps = [ pkgs.which pkgs.cudatoolkit ];
+    gridGraphics = [ pkgs.which ];
+    gputools = [ pkgs.which pkgs.cudatoolkit ];
+    rpud = [ pkgs.which pkgs.cudatoolkit ];
+    adimpro = [ pkgs.which pkgs.xorg.xdpyinfo ];
+    PET = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ];
+    dti = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ];
+  };
+
+  packagesRequireingX = [
+    "AnalyzeFMRI"
+    "AnnotLists"
+    "AnthropMMD"
+    "AtelieR"
+    "BAT"
+    "BCA"
+    "BEQI2"
+    "BHMSMAfMRI"
+    "BioGeoBEARS"
+    "BiodiversityR"
+    "CCTpack"
+    "CommunityCorrelogram"
+    "ConvergenceConcepts"
+    "DALY"
+    "DSpat"
+    "Deducer"
+    "DeducerExtras"
+    "DeducerPlugInExample"
+    "DeducerPlugInScaling"
+    "DeducerSpatial"
+    "DeducerSurvival"
+    "HomoPolymer"
+    "MetSizeR"
+    "DeducerText"
+    "Demerelate"
+    "DescTools"
+    "DivMelt"
+    "ENiRG"
+    "EcoVirtual"
+    "EnQuireR"
+    "FAiR"
+    "FD"
+    "FFD"
+    "FeedbackTS"
+    "FreeSortR"
+    "GGEBiplotGUI"
+    "GPCSIV"
+    "GUniFrac"
+    "Geneland"
+    "GeoGenetix"
+    "GeoXp"
+    "GrammR"
+    "GrapheR"
+    "GroupSeq"
+    "HH"
+    "HiveR"
+    "IsotopeR"
+    "JGR"
+    "KappaGUI"
+    "LS2Wstat"
+    "MAR1"
+    "MTurkR"
+    "MareyMap"
+    "MergeGUI"
+    "Meth27QC"
+    "MicroStrategyR"
+    "MissingDataGUI"
+    "MplusAutomation"
+    "OligoSpecificitySystem"
+    "OpenRepGrid"
+    "PBSadmb"
+    "PBSmodelling"
+    "PCPS"
+    "PKgraph"
+    "PopGenReport"
+    "PredictABEL"
+    "PrevMap"
+    "ProbForecastGOP"
+    "QCAGUI"
+    "R2STATS"
+    "RHRV"
+    "RNCEP"
+    "RQDA"
+    "RSDA"
+    "RSurvey"
+    "RandomFields"
+    "Rcmdr"
+    "RcmdrPlugin_BCA"
+    "RcmdrPlugin_DoE"
+    "RcmdrPlugin_EACSPIR"
+    "RcmdrPlugin_EBM"
+    "RcmdrPlugin_EZR"
+    "RcmdrPlugin_EcoVirtual"
+    "RcmdrPlugin_FactoMineR"
+    "RcmdrPlugin_HH"
+    "RcmdrPlugin_IPSUR"
+    "RcmdrPlugin_KMggplot2"
+    "RcmdrPlugin_MA"
+    "RcmdrPlugin_MPAStats"
+    "RcmdrPlugin_ROC"
+    "RcmdrPlugin_SCDA"
+    "RcmdrPlugin_SLC"
+    "RcmdrPlugin_SM"
+    "RcmdrPlugin_StatisticalURV"
+    "RcmdrPlugin_TeachingDemos"
+    "RcmdrPlugin_UCA"
+    "RcmdrPlugin_coin"
+    "RcmdrPlugin_depthTools"
+    "RcmdrPlugin_doex"
+    "RcmdrPlugin_epack"
+    "RcmdrPlugin_lfstat"
+    "RcmdrPlugin_mosaic"
+    "RcmdrPlugin_orloca"
+    "RcmdrPlugin_plotByGroup"
+    "RcmdrPlugin_pointG"
+    "RcmdrPlugin_qual"
+    "RcmdrPlugin_sampling"
+    "RcmdrPlugin_sos"
+    "RcmdrPlugin_steepness"
+    "RcmdrPlugin_survival"
+    "RcmdrPlugin_temis"
+    "RenextGUI"
+    "RunuranGUI"
+    "SOLOMON"
+    "SPACECAP"
+    "SRRS"
+    "SSDforR"
+    "STEPCAM"
+    "SYNCSA"
+    "Simile"
+    "SimpleTable"
+    "StatDA"
+    "SyNet"
+    "TDMR"
+    "TED"
+    "TIMP"
+    "TTAinterfaceTrendAnalysis"
+    "TestScorer"
+    "VIMGUI"
+    "VecStatGraphs3D"
+    "WMCapacity"
+    "accrual"
+    "ade4TkGUI"
+    "adehabitat"
+    "analogue"
+    "analogueExtra"
+    "aplpack"
+    "aqfig"
+    "arf3DS4"
+    "asbio"
+    "bayesDem"
+    "betapart"
+    "betaper"
+    "bio_infer"
+    "bipartite"
+    "biplotbootGUI"
+    "blender"
+    "cairoDevice"
+    "cncaGUI"
+    "cocorresp"
+    "confidence"
+    "constrainedKriging"
+    "cpa"
+    "dave"
+    "debug"
+    "detrendeR"
+    "dgmb"
+    "dpa"
+    "dynBiplotGUI"
+    "dynamicGraph"
+    "eVenn"
+    "exactLoglinTest"
+    "fSRM"
+    "fat2Lpoly"
+    "fbati"
+    "feature"
+    "fgui"
+    "fisheyeR"
+    "fit4NM"
+    "forams"
+    "forensim"
+    "fscaret"
+    "gWidgets2RGtk2"
+    "gWidgets2tcltk"
+    "gWidgetsRGtk2"
+    "gWidgetstcltk"
+    "gcmr"
+    "geoR"
+    "geoRglm"
+    "geomorph"
+    "georob"
+    "gnm"
+    "gsubfn"
+    "iBUGS"
+    "iDynoR"
+    "ic50"
+    "in2extRemes"
+    "iplots"
+    "isopam"
+    "likeLTD"
+    "loe"
+    "logmult"
+    "memgene"
+    "metacom"
+    "migui"
+    "miniGUI"
+    "mixsep"
+    "mlDNA"
+    "mpmcorrelogram"
+    "mritc"
+    "multgee"
+    "multibiplotGUI"
+    "nodiv"
+    "onemap"
+    "palaeoSig"
+    "paleoMAS"
+    "pbatR"
+    "pez"
+    "phylotools"
+    "picante"
+    "playwith"
+    "plotSEMM"
+    "plsRbeta"
+    "plsRglm"
+    "pmg"
+    "poppr"
+    "powerpkg"
+    "prefmod"
+    "qtbase"
+    "qtpaint"
+    "qtutils"
+    "r4ss"
+    "rAverage"
+    "rareNMtests"
+    "recluster"
+    "relax"
+    "relimp"
+    "reportRx"
+    "reshapeGUI"
+    "rgl"
+    "rich"
+    "ringscale"
+    "rioja"
+    "ripa"
+    "rite"
+    "rnbn"
+    "rsgcc"
+    "sdcMicroGUI"
+    "sharpshootR"
+    "simba"
+    "soundecology"
+    "spacodiR"
+    "spatsurv"
+    "sqldf"
+    "statcheck"
+    "stosim"
+    "strvalidator"
+    "stylo"
+    "svDialogstcltk"
+    "svIDE"
+    "svSocket"
+    "svWidgets"
+    "tcltk2"
+    "titan"
+    "tkrgl"
+    "tkrplot"
+    "tmap"
+    "tspmeta"
+    "twiddler"
+    "vcdExtra"
+    "vegan"
+    "vegan3d"
+    "vegclust"
+    "x12GUI"
+    "xergm"
+  ];
+
+  packagesToSkipCheck = [
+    "Rmpi" # tries to run MPI processes
+    "gmatrix" # requires CUDA runtime
+    "sprint" # tries to run MPI processes
+    "pbdMPI" # tries to run MPI processes
+  ];
+
+  # Packages which cannot be installed due to lack of dependencies or other reasons.
+  brokenPackages = [
+    "ACNE" # requires aroma_affymetrix
+    "Actigraphy" # SDMTools.so: undefined symbol: X
+    "adaptsmoFMRI" # requires spatstat
+    "ads" # requires spatstat
+    "agridat" # requires pcaMethods
+    "aLFQ" # requires protiq
+    "AntWeb" # requires leafletR
+    "aoristic" # requires spatstat
+    "apmsWAPP" # requires genefilter, Biobase, multtest, edgeR, DESeq, and aroma.light
+    "aroma_affymetrix" # requires aroma_core
+    "aroma_cn" # requires PSCBS
+    "aroma_core" # requires PSCBS
+    "ArrayBin" # requires SAGx
+    "babel" # requires edgeR
+    "BACA" # requires RDAVIDWebService
+    "BcDiag" # requires fabia
+    "beadarrayMSV" # requires Biobase, geneplotter, andlimma
+    "bdvis" # requres taxize
+    "beadarrayFilter" # requires beadarray
+    "bigGP" # requires MPI running. HELP WANTED!
+    "bigpca" # requires NCmisc
+    "Biograph" # requires mvna
+    "biotools" # requires rpanel
+    "BiSEp" # requires GOSemSim, GO.db, and org.Hs.eg.db
+    "BLCOP" # depends on broken fPortfolio
+    "bmrm" # requires clpAPI
+    "branchLars" # requires Rgraphviz
+    "BRugs" # requires OpenBUGS
+    "calmate" # requires aroma_core
+    "CARrampsOcl" # depends on OpenCL
+    "CHAT" # requires DNAcopy
+    "ChemoSpec" # depends on broken speaq
+    "Crossover" # fails self-test
+    "classGraph" # requires graph, and Rgraphviz
+    "clpAPI" # requires clp
+    "compendiumdb" # requires Biobase
+    "CORM" # requires limma
+    "cplexAPI" # requires CPLEX
+    "crmn" # requires pcaMethods, and Biobase
+    "CrypticIBDcheck" # requires rJPSGCS
+    "cudaBayesreg" # requres Rmath
+    "curvHDR" # requires flowCore
+    "D2C" # requires gRbase
+    "DAAGbio" # requires limma
+    "daff" # requires V8 to build
+    "dagbag" # requires Rlapack
+    "DBKGrad" # requires SDD
+    "dbmss" # requires spatstat
+    "DCGL" # requires limma
+    "dcGOR" # requires dnet
+    "demi" # requires affy, affxparser, and oligo
+    "DepthProc" # requires samr
+    "DiagrammeR" # requires V8 to build
+    "Digiroo2" # requires spatstat
+    "dixon" # requires spatstat
+    "dnet" # requires supraHex, graph, Rgraphviz, and Biobase
+    "doMPI" # requires MPI running. HELP WANTED!
+    "dpcR" # requires spatstat
+    "DSpat" # requires spatstat
+    "ecespa" # requires spatstat
+    "ecoengine" # requires leafletR
+    "ecospat" # requires spatstat
+    "edgeRun" # requires edgeR
+    "EMA" # requires siggenes, affy, multtest, gcrma, biomaRt, and AnnotationDbi
+    "EMDomics" # requires BiocParallel
+    "empiricalFDR_DESeq2" # requires DESeq2, and GenomicRanges
+    "epoc" # requires graph, and Rgraphviz
+    "erpR" # requires rpanel
+    "ETAS" # requires spatstat
+    "eulerian" # requires graph
+    "evobiR" # requres taxiz
+    "evora" # requires qvalue
+    "ExomeDepth" # requires GenomicRanges, and Rsamtools
+    "FAMT" # requires impute
+    "fdrDiscreteNull" # requires edgeR
+    "FHtest" # requires interval
+    "flexCWM" # depends on broken mixture
+    "fPortfolio" # requires rneos
+    "FunctionalNetworks" # requires breastCancerVDX, and Biobase
+    "gamlss_demo" # requires rpanel
+    "GeneticTools" # requires snpStats
+    "GExMap" # requires Biobase and multtest
+    "gitter" # requires EBImage
+    "glmgraph" # test suite says: "undefined symbol: dgemv_"
+    "gmatrix" # depends on proprietary cudatoolkit
+    "GOGANPA" # requires WGCNA
+    "gputools" # depends on proprietary cudatoolkit
+    "gMCP" # fails self-test
+    "gRain" # requires gRbase
+    "gRapHD" # requires graph
+    "gRbase" # requires RBGL, and graph
+    "gRc" # requires gRbase
+    "gridDebug" # requires gridGraphviz
+    "gridGraphviz" # requires graph, and Rgraphviz
+    "GriegSmith" # requires spatstat
+    "gRim" # requires gRbase
+    "GSAgm" # requires edgeR
+    "GUIDE" # requires rpanel
+    "h2o" # tries to download some h2o.jar during its build
+    "hasseDiagram" # requires Rgraphviz
+    "hddplot" # requires multtest
+    "HierO" # requires rneos
+    "HiPLARM" # requires MAGMA or PLASMA
+    "hpoPlot" # requires Rgraphviz
+    "HTSCluster" # requires edgeR
+    "iFes" # depends on proprietary cudatoolkit
+    "imputeLCMD" # requires pcaMethods, and impute
+    "intamapInteractive" # requires spatstat
+    "interval" # requires Icens
+    "ionflows" # requires Biostrings
+    "iRefR" # requires graph, and RBGL
+    "IsoGene" # requires Biobase, and affy
+    "isva" # requires qvalue
+    "jomo" # linking errors
+    "js" # requires broken V8
+    "KANT" # requires affy, and Biobase
+    "ktspair" # requires Biobase
+    "latticeDensity" # requires spatstat
+    "leapp" # requires sva
+    "lefse" # SDMTools.so: undefined symbol: X
+    "lgcp" # requires rpanel
+    "LinRegInteractive" # requires Rpanel
+    "LogisticDx" # requires gRbase
+    "LOST" # requires pcaMethods
+    "ltsk" # requires Rlapack and Rblas
+    "magma" # requires MAGMA
+    "MAMA" # requires metaMA
+    "MEET" # requires pcaMethods, and seqLogo
+    "metabolomics" # depends on broken crmn
+    "MetaDE" # requires impute, and Biobase
+    "MetaLandSim" # requires Biobase
+    "metaMA" # requires limma
+    "metaMix" # requires MPI running. HELP WANTED!
+    "mGSZ" # requires Biobase, and limma
+    "MigClim" # SDMTools.So: Undefined Symbol: X
+    "minimist" # requires broken V8
+    "miRtest" # requires globaltest, GlobalAncova, and limma
+    "mixture" # mixture.so: undefined symbol: dtrmm_
+    "moduleColor" # requires impute
+    "msarc" # requires AnnotationDbi
+    "MSeasy" # requires mzR, and xcms
+    "MSeasyTkGUI" # requires MSeasyTkGUI
+    "MSIseq" # requires IRanges
+    "msSurv" # requires graph
+    "multiDimBio" # requires pcaMethods
+    "mutossGUI" # requires mutoss
+    "mutoss" # requires multtest
+    "MXM" # depends on broken gRbase
+    "NBPSeq" # requires qvalue
+    "NCmisc" # requires BiocInstaller
+    "netClass" # requires samr
+    "nettools" # requires WGCNA
+    "NORRRM" # can't load SDMTools properly
+    "netweavers" # requires BiocGenerics, Biobase, and limma
+    "NLPutils" # requires qdap
+    "NSA" # requires aroma_core
+    "OpenCL" # FIXME: requires CL/opencl.h
+    "optBiomarker" # requires rpanel
+    "ora" # requires ROracle
+    "orQA" # requires genefilter
+    "pRF" # requires multtest
+    "PBSmapping" # fails its test suite for unclear reasons
+    "PBSddesolve" # fails its test suite for unclear reasons
+    "PairViz" # requires graph
+    "PANDA" # requires GO.db
+    "ParDNAcopy" # requires DNAcopy
+    "pathClass" # requires affy, and Biobase
+    "PatternClass" # SDMTools.So: Undefined Symbol: X
+    "pbdBASE" # requires pbdMPI
+    "pbdDEMO" # requires pbdMPI
+    "pbdDMAT" # requires pbdMPI
+    "pbdSLAP" # requires pbdMPI
+    "pcaL1" # requires clp
+    "pcalg" # requires graph, and RBGL
+    "PCGSE" # requires safe
+    "PCS" # requires multtest
+    "PepPrep" # requires biomaRt
+    "PerfMeas" # requires limma, graph, and RBGL
+    "permGPU" # requires Biobase
+    "PhViD" # requires LBE
+    "pi0" # requires qvalue
+    "plmDE" # requires limma
+    "plsRcox" # requires survcomp
+    "PMA" # requires impute
+    "pmcgd" # depends on broken mixture
+    "pmclust" # requires MPI running. HELP WANTED!
+    "polyCub" # requires spatstat
+    "ppiPre" # requires AnnotationDbi, GOSemSim, GO.db
+    "propOverlap" # requires Biobase
+    "protiq" # requires graph, and RBGL
+    "PSCBS" # requires DNAcopy
+    "pubmed_mineR" # requires SSOAP
+    "PubMedWordcloud" # requires GOsummaries
+    "qdap" # requires gender
+    "qtlnet" # requires pcalg
+    "qtpaint" # can't find QtCore libraries
+    "QuACN" # requires graph, RBGL
+    "QuasiSeq" # requires edgeR
+    "RADami" # requires Biostrings
+    "raincpc" # SDMTools.so: undefined symbol: X
+    "rainfreq" # SDMTools.so: undefined symbol: X
+    "RAM" # requires Heatplus
+    "RAPIDR" # requires Biostrings, Rsamtools, and GenomicRanges
+    "RapidPolygonLookup" # depends on broken PBSmapping
+    "RbioRXN" # requires fmcsR, and KEGGREST
+    "RcppAPT" # configure script depends on /bin/sh
+    "RcmdrPlugin_seeg" # requires seeg
+    "Rcplex" # requires cplexAPI
+    "RcppRedis" # requires Hiredis
+    "rDEA" # no such file or directory
+    "RDieHarder" # requires libdieharder
+    "reader" # requires NCmisc
+    "REBayes" # requires Rmosek
+    "RefFreeEWAS" # requires isva
+    "retistruct" # depends on broken RImageJROI
+    "RImageJROI" # requires spatstat
+    "rjade" # requires V8 to build
+    "rJPSGCS" # requires chopsticks
+    "rLindo" # requires LINDO API
+    "Rmosek" # requires mosek
+    "RnavGraph" # requires graph, and RBGL
+    "rneos" # requires XMLRPC
+    "RNeXML" # requres taxize
+    "RobLoxBioC" # requires Biobase
+    "RobLox" # requires Biobase
+    "RockFab" # requires EBImage
+    "ROI_plugin_symphony" # depends on broken Rsymphony
+    "ROracle" # requires OCI
+    "rpanel" # I could not make Tcl to recognize BWidget. HELP WANTED!
+    "RQuantLib" # requires QuantLib
+    "RSAP" # requires SAPNWRFCSDK
+    "rgp" # fails self-test
+    "rgpui" # depends on broken rgp
+    "RSeed" # requires RBGL, and graph
+    "rsig" # requires survcomp
+    "RSNPset" # requires qvalue
+    "rsprng" # requres sprng
+    "Rsymphony" # FIXME: requires SYMPHONY
+    "RVideoPoker" # requires Rpanel
+    "rysgran" # requires soiltexture
+    "samr" # requires impute
+    "saps" # requires piano, and survcomp
+    "SDD" # requires rpanel
+    "seeg" # requires spatstat
+    "selectspm" # depends on broken ecespa
+    "semiArtificial" # requires RSNNS
+    "SeqFeatR" # requires Biostrings, qvalue, and widgetTools
+    "sequenza" # requires copynumber
+    "SGCS" # requires spatstat
+    "siar" # requires spatstat
+    "SID" # requires pcalg
+    "SimRAD" # requires Biostrings, and ShortRead
+    "SimSeq" # requires edgeR
+    "siplab" # requires spatstat
+    "smart" # requires PMA
+    "snpEnrichment" # requires snpStats
+    "snplist" # requires biomaRt
+    "snpStatsWriter" # requires snpStats
+    "SNPtools" # requires IRanges, GenomicRanges, Biostrings, and Rsamtools
+    "SOD" # depends on proprietary cudatoolkit
+    "soilphysics" # requires rpanel
+    "sparr" # requires spatstat
+    "spatialsegregation" # requires spatstat
+    "SpatialVx" # requires spatstat
+    "speaq" # requires MassSpecWavelet
+    "spocc" # requires leafletR
+    "SQDA" # requires limma
+    "Statomica" # requires Biobase, multtest
+    "stagePop" # depends on broken PBSddesolve
+    "SeqGrapheR" # depends on Biostrings
+    "stpp" # requires spatstat
+    "structSSI" # requires multtest
+    "strum" # requires Rgraphviz
+    "superbiclust" # requires fabia
+    "surveillance" # requires polyCub
+    "swamp" # requires impute
+    "sybilSBML" # requires libSBML
+    "taxize" # requres bold
+    "TcGSA" # requires multtest
+    "topologyGSA" # requires gRbase
+    "TR8" # requres taxize
+    "trip" # requires spatstat
+    "ttScreening" # requires sva, and limma
+    "V8" # compilation error
+    "vows" # requires rpanel
+    "vmsbase" # depends on broken PBSmapping
+    "WGCNA" # requires impute
+    "wgsea" # requires snpStats
+    "WideLM" # depends on proprietary cudatoolkit
+    "x_ent" # requires opencpu
+    "zoib" # tarball is invalid on server
+  ];
+
+  otherOverrides = old: new: {
+    curl = old.curl.overrideDerivation (attrs: {
+      preConfigure = "export CURL_INCLUDES=${pkgs.curl}/include/curl";
+    });
+
+    iFes = old.iFes.overrideDerivation (attrs: {
+      patches = [ ./patches/iFes.patch ];
+      CUDA_HOME = "${pkgs.cudatoolkit}";
+    });
+
+    RcppArmadillo = old.RcppArmadillo.overrideDerivation (attrs: {
+      patchPhase = "patchShebangs configure";
+    });
+
+    rpf = old.rpf.overrideDerivation (attrs: {
+      patchPhase = "patchShebangs configure";
+    });
+
+    BayesXsrc = old.BayesXsrc.overrideDerivation (attrs: {
+      patches = [ ./patches/BayesXsrc.patch ];
+    });
+
+    rJava = old.rJava.overrideDerivation (attrs: {
+      preConfigure = ''
+        export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
+        export JAVA_HOME=${pkgs.jdk}
+      '';
+    });
+
+    JavaGD = old.JavaGD.overrideDerivation (attrs: {
+      preConfigure = ''
+        export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
+        export JAVA_HOME=${pkgs.jdk}
+      '';
+    });
+
+    Mposterior = old.Mposterior.overrideDerivation (attrs: {
+      PKG_LIBS = "-L${pkgs.atlas}/lib -lf77blas -latlas";
+    });
+
+    qtbase = old.qtbase.overrideDerivation (attrs: {
+      patches = [ ./patches/qtbase.patch ];
+    });
+
+    Rmpi = old.Rmpi.overrideDerivation (attrs: {
+      configureFlags = [
+        "--with-Rmpi-type=OPENMPI"
+      ];
+    });
+
+    Rmpfr = old.Rmpfr.overrideDerivation (attrs: {
+      configureFlags = [
+        "--with-mpfr-include=${pkgs.mpfr}/include"
+      ];
+    });
+
+    RVowpalWabbit = old.RVowpalWabbit.overrideDerivation (attrs: {
+      configureFlags = [
+        "--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.lib}/lib"
+      ];
+    });
+
+    RAppArmor = old.RAppArmor.overrideDerivation (attrs: {
+      patches = [ ./patches/RAppArmor.patch ];
+      LIBAPPARMOR_HOME = "${pkgs.libapparmor}";
+    });
+
+    RMySQL = old.RMySQL.overrideDerivation (attrs: {
+      patches = [ ./patches/RMySQL.patch ];
+      MYSQL_DIR="${pkgs.mysql.lib}";
+    });
+
+    devEMF = old.devEMF.overrideDerivation (attrs: {
+      NIX_CFLAGS_LINK = "-L${pkgs.xlibs.libXft}/lib -lXft";
+    });
+
+    slfm = old.slfm.overrideDerivation (attrs: {
+      PKG_LIBS = "-L${pkgs.atlas}/lib -lf77blas -latlas";
+    });
+
+    SamplerCompare = old.SamplerCompare.overrideDerivation (attrs: {
+      PKG_LIBS = "-L${pkgs.atlas}/lib -lf77blas -latlas";
+    });
+
+    gputools = old.gputools.overrideDerivation (attrs: {
+      patches = [ ./patches/gputools.patch ];
+      CUDA_HOME = "${pkgs.cudatoolkit}";
+    });
+
+    # It seems that we cannot override meta attributes with overrideDerivation.
+    CARramps = (old.CARramps.override { hydraPlatforms = stdenv.lib.platforms.none; }).overrideDerivation (attrs: {
+      patches = [ ./patches/CARramps.patch ];
+      configureFlags = [
+        "--with-cuda-home=${pkgs.cudatoolkit}"
+      ];
+    });
+
+    gmatrix = old.gmatrix.overrideDerivation (attrs: {
+      patches = [ ./patches/gmatrix.patch ];
+      CUDA_LIB_PATH = "${pkgs.cudatoolkit}/lib64";
+      R_INC_PATH = "${pkgs.R}/lib/R/include";
+      CUDA_INC_PATH = "${pkgs.cudatoolkit}/usr_include";
+    });
+
+    # It seems that we cannot override meta attributes with overrideDerivation.
+    rpud = (old.rpud.override { hydraPlatforms = stdenv.lib.platforms.none; }).overrideDerivation (attrs: {
+      patches = [ ./patches/rpud.patch ];
+      CUDA_HOME = "${pkgs.cudatoolkit}";
+    });
+
+    WideLM = old.WideLM.overrideDerivation (attrs: {
+      patches = [ ./patches/WideLM.patch ];
+      configureFlags = [
+        "--with-cuda-home=${pkgs.cudatoolkit}"
+      ];
+    });
+
+    EMCluster = old.EMCluster.overrideDerivation (attrs: {
+      patches = [ ./patches/EMCluster.patch ];
+    });
+
+    spMC = old.spMC.overrideDerivation (attrs: {
+      patches = [ ./patches/spMC.patch ];
+    });
+
+    BayesLogit = old.BayesLogit.overrideDerivation (attrs: {
+      patches = [ ./patches/BayesLogit.patch ];
+    });
+
+    BayesBridge = old.BayesBridge.overrideDerivation (attrs: {
+      patches = [ ./patches/BayesBridge.patch ];
+    });
+
+    openssl = old.openssl.overrideDerivation (attrs: {
+      OPENSSL_INCLUDES = "${pkgs.openssl}/include";
+    });
+
+    Rserve = old.Rserve.overrideDerivation (attrs: {
+      patches = [ ./patches/Rserve.patch ];
+      configureFlags = [
+        "--with-server" "--with-client"
+      ];
+    });
+
+    nloptr = old.nloptr.overrideDerivation (attrs: {
+      configureFlags = [
+        "--with-nlopt-cflags=-I${pkgs.nlopt}/include"
+        "--with-nlopt-libs='-L${pkgs.nlopt}/lib -lnlopt_cxx -lm'"
+      ];
+    });
+
+  };
+in
+  self
diff --git a/pkgs/development/r-modules/generate-cran-packages.R b/pkgs/development/r-modules/generate-cran-packages.R
new file mode 100644
index 00000000000..3510a2fa92c
--- /dev/null
+++ b/pkgs/development/r-modules/generate-cran-packages.R
@@ -0,0 +1,48 @@
+library(data.table)
+library(parallel)
+cl <- makeCluster(10)
+options(repos=structure(c(CRAN="http://cran.rstudio.com/")))
+
+
+readFormatted <- as.data.table(read.table(skip=6, sep='"', text=head(readLines('cran-packages.nix'), -1)))
+
+nixPrefetch <- function(name, version) {
+  prevV <- readFormatted$V2 == name & readFormatted$V4 == version
+  if (sum(prevV) == 1) as.character(readFormatted$V6[ prevV ]) else
+    system(paste0("nix-prefetch-url --type sha256 http://cran.rstudio.com/src/contrib/", name, "_", version, ".tar.gz"), intern=TRUE)
+    # system(paste0("nix-hash --flat --base32 --type sha256 /nix/store/*", name, "_", version, ".tar.gz", "| head -n 1"), intern=TRUE)
+}
+
+formatPackage <- function(name, version, sha256, depends, imports, linkingTo, knownPackages) {
+    attr <- gsub(".", "_", name, fixed=TRUE)
+    if (is.na(depends)) depends <- "";
+    depends <- unlist(strsplit(depends, split="[ \t\n]*,[ \t\n]*", fixed=FALSE))
+    depends <- c(depends, unlist(strsplit(imports, split="[ \t\n]*,[ \t\n]*", fixed=FALSE)))
+    depends <- c(depends, unlist(strsplit(linkingTo, split="[ \t\n]*,[ \t\n]*", fixed=FALSE)))
+    depends <- sapply(depends, gsub, pattern="([^ \t\n(]+).*", replacement="\\1")
+    depends <- depends[depends %in% knownPackages]
+    depends <- sapply(depends, gsub, pattern=".", replacement="_", fixed=TRUE)
+    depends <- paste(depends, collapse=" ")
+    paste0(attr, " = derive { name=\"", name, "\"; version=\"", version, "\"; sha256=\"", sha256, "\"; depends=[", depends, "]; };")
+}
+
+clusterExport(cl, c("nixPrefetch","readFormatted"))
+
+pkgs <- as.data.table(available.packages(filters=c("R_version", "OS_type", "CRAN", "duplicates")))
+pkgs <- subset(pkgs, Repository=="http://cran.rstudio.com/src/contrib")
+pkgs <- pkgs[order(Package)]
+pkgs$sha256 <- parApply(cl, pkgs, 1, function(p) nixPrefetch(p[1], p[2]))
+knownPackages <- unique(pkgs$Package)
+
+nix <- apply(pkgs, 1, function(p) formatPackage(p[1], p[2], p[18], p[4], p[5], p[6], knownPackages))
+
+cat("# This file is generated from generate-cran-packages.R. DO NOT EDIT.\n")
+cat("# Execute the following command to update the file.\n")
+cat("#\n")
+cat("# Rscript generate-cran-packages.R > cran-packages.nix\n")
+cat("\n")
+cat("{ self, derive }: with self; {\n")
+cat(paste(nix, collapse="\n"), "\n")
+cat("}\n")
+
+stopCluster(cl)
diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix
index da63566f38b..45c377635c9 100644
--- a/pkgs/development/r-modules/generic-builder.nix
+++ b/pkgs/development/r-modules/generic-builder.nix
@@ -1,9 +1,10 @@
-R:
+{ stdenv, R, xvfb_run, utillinux }:
 
 { name, buildInputs ? [], ... } @ attrs:
 
-R.stdenv.mkDerivation ({
-  buildInputs = buildInputs ++ [R];
+stdenv.mkDerivation ({
+  buildInputs = buildInputs ++ [R] ++
+                stdenv.lib.optionals attrs.requireX [utillinux xvfb_run];
 
   configurePhase = ''
     runHook preConfigure
@@ -16,10 +17,22 @@ R.stdenv.mkDerivation ({
     runHook postBuild
   '';
 
+  installFlags = if attrs.doCheck or true then
+    []
+  else
+    [ "--no-test-load" ];
+
+  rCommand = if attrs.requireX or false then
+    # Unfortunately, xvfb-run has a race condition even with -a option, so that
+    # we acquire a lock explicitly.
+    "flock ${xvfb_run} xvfb-run -a -e xvfb-error R"
+  else
+    "R";
+
   installPhase = ''
     runHook preInstall
     mkdir -p $out/library
-    R CMD INSTALL -l $out/library .
+    $rCommand CMD INSTALL $installFlags --configure-args="$configureFlags" -l $out/library .
     runHook postInstall
   '';
 
@@ -28,6 +41,10 @@ R.stdenv.mkDerivation ({
         ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
     fi
   '';
+
+  checkPhase = ''
+    # noop since R CMD INSTALL tests packages
+  '';
 } // attrs // {
   name = "r-" + name;
 })
diff --git a/pkgs/development/r-modules/patches/BayesBridge.patch b/pkgs/development/r-modules/patches/BayesBridge.patch
new file mode 100644
index 00000000000..2fb0392bf3e
--- /dev/null
+++ b/pkgs/development/r-modules/patches/BayesBridge.patch
@@ -0,0 +1,9 @@
+diff -ru -x '*~' BayesBridge_orig/src/Makevars BayesBridge/src/Makevars
+--- BayesBridge_orig/src/Makevars	2014-07-19 05:08:55.000000000 +0900
++++ BayesBridge/src/Makevars	2014-10-25 18:35:01.398539305 +0900
+@@ -9,4 +9,4 @@
+ # PKG_CPPFLAGS = -DUSE_R -DDISABLE_FIO -I../inst/include/ -DDISABLE_SINGLE -DNTHROW
+ PKG_CPPFLAGS = -DUSE_R -DDISABLE_FIO -DDISABLE_SINGLE -DNTHROW
+ # PKG_CPPFLAGS = -DUSE_R -DDISABLE_SINGLE -DNTHROW -Wall -pedantic -Wshadow  -ansi -Wsequence-point
+-PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) 
++PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
diff --git a/pkgs/development/r-modules/patches/BayesBridge_cblas.patch b/pkgs/development/r-modules/patches/BayesBridge_cblas.patch
new file mode 100644
index 00000000000..418a6b95ee7
--- /dev/null
+++ b/pkgs/development/r-modules/patches/BayesBridge_cblas.patch
@@ -0,0 +1,9 @@
+diff -ru -x '*~' BayesBridge_orig/src/Makevars BayesBridge/src/Makevars
+--- BayesBridge_orig/src/Makevars	2014-07-19 05:08:55.000000000 +0900
++++ BayesBridge/src/Makevars	2014-10-25 14:44:23.422592445 +0900
+@@ -9,4 +9,4 @@
+ # PKG_CPPFLAGS = -DUSE_R -DDISABLE_FIO -I../inst/include/ -DDISABLE_SINGLE -DNTHROW
+ PKG_CPPFLAGS = -DUSE_R -DDISABLE_FIO -DDISABLE_SINGLE -DNTHROW
+ # PKG_CPPFLAGS = -DUSE_R -DDISABLE_SINGLE -DNTHROW -Wall -pedantic -Wshadow  -ansi -Wsequence-point
+-PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) 
++PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) -lcblas
diff --git a/pkgs/development/r-modules/patches/BayesLogit.patch b/pkgs/development/r-modules/patches/BayesLogit.patch
new file mode 100644
index 00000000000..83c865e479c
--- /dev/null
+++ b/pkgs/development/r-modules/patches/BayesLogit.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' BayesLogit_orig/src/Makevars BayesLogit/src/Makevars
+--- BayesLogit_orig/src/Makevars	2014-04-24 23:31:13.000000000 +0900
++++ BayesLogit/src/Makevars	2014-10-25 18:33:32.398572641 +0900
+@@ -6,7 +6,7 @@
+ ## W/OUT Dynamic Stuff
+ OBJECTS = Matrix.o MatrixFrame.o RRNG.o RNG.o FSF_nmix.o LogitWrapper.o \
+ 	PolyaGamma.o PolyaGammaAlt.o PolyaGammaSP.o InvertY.o
+-PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) 
++PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
+ # PKG_CPPFLAGS = -DUSE_R -DNDEBUG -DDISABLE_SINGLE -DNTHROW -Wall -pedantic -Wextra
+ PKG_CPPFLAGS = -DUSE_R -DNDEBUG -DDISABLE_SINGLE -DNTHROW 
+ 
diff --git a/pkgs/development/r-modules/patches/BayesLogit_cblas.patch b/pkgs/development/r-modules/patches/BayesLogit_cblas.patch
new file mode 100644
index 00000000000..4c8778c4697
--- /dev/null
+++ b/pkgs/development/r-modules/patches/BayesLogit_cblas.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' BayesLogit_orig/src/Makevars BayesLogit/src/Makevars
+--- BayesLogit_orig/src/Makevars	2014-04-24 23:31:13.000000000 +0900
++++ BayesLogit/src/Makevars	2014-10-21 21:00:15.570699136 +0900
+@@ -6,7 +6,7 @@
+ ## W/OUT Dynamic Stuff
+ OBJECTS = Matrix.o MatrixFrame.o RRNG.o RNG.o FSF_nmix.o LogitWrapper.o \
+ 	PolyaGamma.o PolyaGammaAlt.o PolyaGammaSP.o InvertY.o
+-PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) 
++PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) -llapack -lf77blas -lcblas -latlas -lgfortran
+ # PKG_CPPFLAGS = -DUSE_R -DNDEBUG -DDISABLE_SINGLE -DNTHROW -Wall -pedantic -Wextra
+ PKG_CPPFLAGS = -DUSE_R -DNDEBUG -DDISABLE_SINGLE -DNTHROW 
+ 
diff --git a/pkgs/development/r-modules/patches/BayesXsrc.patch b/pkgs/development/r-modules/patches/BayesXsrc.patch
new file mode 100644
index 00000000000..b357d7f83fc
--- /dev/null
+++ b/pkgs/development/r-modules/patches/BayesXsrc.patch
@@ -0,0 +1,55 @@
+diff -ru -x '*~' BayesXsrc_org/MD5 BayesXsrc/MD5
+--- BayesXsrc_org/MD5	2013-11-22 21:59:01.000000000 +0900
++++ BayesXsrc/MD5	2014-10-14 22:50:46.040754675 +0900
+@@ -4,7 +4,7 @@
+ cba21fc7e2d39608d0241d8cedc4fd43 *R/run.bayesx.R
+ 112cb3aff0f8f0cd60bb146b14df1fcf *inst/CITATION
+ cf04425475f03ee67c06efcebbd8d476 *man/run.bayesx.Rd
+-1f73de4dba1228cdaa8d5435d1c1656b *src/Makefile
++658152ec0b336198a2654385bb27666d *src/Makefile
+ 2971212d003d1d647110264fb471e63b *src/Makefile.win
+ e0fd1515e0d2f8553d4034c3f7544fc5 *src/bayesxsrc/adaptiv/fullcond_adaptiv.cpp
+ 08cd954d541c3c0d635bbbd61cd05d15 *src/bayesxsrc/adaptiv/fullcond_adaptiv.h
+@@ -320,7 +320,7 @@
+ 465ac930657299f89a0a164232dc15d2 *src/dev-Makefile
+ d9aafe726622cd8c46bab760fef0d813 *src/dev-Makefile.win
+ 50413e579bc999d49037293a612190c0 *src/install.libs.R
+-1f73de4dba1228cdaa8d5435d1c1656b *src/rel-Makefile
++658152ec0b336198a2654385bb27666d *src/rel-Makefile
+ 2971212d003d1d647110264fb471e63b *src/rel-Makefile.win
+ 4d675785837670b6a9b2b3405812a910 *tests/data.raw
+ 1d3777462fcefa39559aa645305a65f2 *tests/mcmc.R
+diff -ru -x '*~' BayesXsrc_org/src/Makefile BayesXsrc/src/Makefile
+--- BayesXsrc_org/src/Makefile	2013-11-22 21:49:16.000000000 +0900
++++ BayesXsrc/src/Makefile	2014-10-14 22:47:15.458766001 +0900
+@@ -137,11 +137,11 @@
+ 	${PSPLINES_OBJS}\
+ 	${STRUCTADD_OBJS}\
+ 	bayesxsrc/main.o\
+-       	bayesxsrc/samson/multgaussian.o\
++	bayesxsrc/samson/multgaussian.o\
+ 	bayesxsrc/adaptiv/fullcond_adaptiv.o\
+ 	bayesxsrc/alex/mixture.o
+ 
+-LDFLAGS  += -L${R_HOME}/lib -lreadline -lcurses
++LDFLAGS  += -L${R_HOME}/lib -lreadline -lncurses
+ CPPFLAGS +=  -Ibayesxsrc/. -I"bayesxsrc/bib"  -I"bayesxsrc/alex"  -I"bayesxsrc/adaptiv"  -I"bayesxsrc/andrea"  -I"bayesxsrc/dag"  -I"bayesxsrc/graph"  -I"bayesxsrc/mcmc"  -I"bayesxsrc/psplines"  -I"bayesxsrc/samson"  -I"bayesxsrc/leyre"  -I"bayesxsrc/structadd"
+ CPPFLAGS += -D__BUILDING_GNU -D__BUILDING_LINUX -DTEMPL_INCL_DEF -D_MSC_VER2 -DNO_TEMPLATE_FRIENDS -DINCLUDE_REML -DINCLUDE_MCMC
+ # CXXFLAGS += -O3 -ansi
+diff -ru -x '*~' BayesXsrc_org/src/rel-Makefile BayesXsrc/src/rel-Makefile
+--- BayesXsrc_org/src/rel-Makefile	2013-10-08 21:28:09.000000000 +0900
++++ BayesXsrc/src/rel-Makefile	2014-10-14 22:47:04.601766431 +0900
+@@ -137,11 +137,11 @@
+ 	${PSPLINES_OBJS}\
+ 	${STRUCTADD_OBJS}\
+ 	bayesxsrc/main.o\
+-       	bayesxsrc/samson/multgaussian.o\
++	bayesxsrc/samson/multgaussian.o\
+ 	bayesxsrc/adaptiv/fullcond_adaptiv.o\
+ 	bayesxsrc/alex/mixture.o
+ 
+-LDFLAGS  += -L${R_HOME}/lib -lreadline -lcurses
++LDFLAGS  += -L${R_HOME}/lib -lreadline -lncurses
+ CPPFLAGS +=  -Ibayesxsrc/. -I"bayesxsrc/bib"  -I"bayesxsrc/alex"  -I"bayesxsrc/adaptiv"  -I"bayesxsrc/andrea"  -I"bayesxsrc/dag"  -I"bayesxsrc/graph"  -I"bayesxsrc/mcmc"  -I"bayesxsrc/psplines"  -I"bayesxsrc/samson"  -I"bayesxsrc/leyre"  -I"bayesxsrc/structadd"
+ CPPFLAGS += -D__BUILDING_GNU -D__BUILDING_LINUX -DTEMPL_INCL_DEF -D_MSC_VER2 -DNO_TEMPLATE_FRIENDS -DINCLUDE_REML -DINCLUDE_MCMC
+ # CXXFLAGS += -O3 -ansi
diff --git a/pkgs/development/r-modules/patches/CARramps.patch b/pkgs/development/r-modules/patches/CARramps.patch
new file mode 100644
index 00000000000..901ab1f69b7
--- /dev/null
+++ b/pkgs/development/r-modules/patches/CARramps.patch
@@ -0,0 +1,24 @@
+diff -ru -x '*~' CARramps_orig/configure CARramps/configure
+--- CARramps_orig/configure	2011-12-01 22:27:06.000000000 +0900
++++ CARramps/configure	2014-10-25 14:56:04.599337748 +0900
+@@ -2395,7 +2395,7 @@
+ 
+ 
+ NCFLAGS="-arch=sm_13 -O2"
+-CUDA_INC=${CUDA_HOME}/include
++CUDA_INC=${CUDA_HOME}/usr_include
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CUDA headers" >&5
+ $as_echo_n "checking for CUDA headers... " >&6; }
+ as_ac_File=`$as_echo "ac_cv_file_${CUDA_INC}/cublas.h" | $as_tr_sh`
+diff -ru -x '*~' CARramps_orig/src/combo1colForR1Q_d.cu CARramps/src/combo1colForR1Q_d.cu
+--- CARramps_orig/src/combo1colForR1Q_d.cu	2011-12-01 22:27:06.000000000 +0900
++++ CARramps/src/combo1colForR1Q_d.cu	2014-10-25 14:59:06.869299163 +0900
+@@ -4,7 +4,7 @@
+ #include <cuda.h>
+ #include <R.h>
+ #include <Rmath.h>
+-#include <combo1colForR1Q_d.h>
++#include "combo1colForR1Q_d.h"
+ 
+ #define BLOCKSIZE 256 
+ 
diff --git a/pkgs/development/r-modules/patches/EMCluster.patch b/pkgs/development/r-modules/patches/EMCluster.patch
new file mode 100644
index 00000000000..afc9de3a95a
--- /dev/null
+++ b/pkgs/development/r-modules/patches/EMCluster.patch
@@ -0,0 +1,6 @@
+diff -ru -x '*~' EMCluster_orig/src/Makevars EMCluster/src/Makevars
+--- EMCluster_orig/src/Makevars	2013-07-05 02:43:25.000000000 +0900
++++ EMCluster/src/Makevars	2014-10-25 18:10:19.190992120 +0900
+@@ -1 +1 @@
+-PKG_LIBS = $(FLIBS) $(BLAS_LIBS) $(LAPACK_LIBS)
++PKG_LIBS = $(FLIBS) $(LAPACK_LIBS) $(BLAS_LIBS)
diff --git a/pkgs/development/r-modules/patches/RAppArmor.patch b/pkgs/development/r-modules/patches/RAppArmor.patch
new file mode 100644
index 00000000000..f2dc49bd476
--- /dev/null
+++ b/pkgs/development/r-modules/patches/RAppArmor.patch
@@ -0,0 +1,20 @@
+diff -ru -x '*~' RAppArmor_orig/configure RAppArmor/configure
+--- RAppArmor_orig/configure	2013-12-17 11:23:00.000000000 +0900
++++ RAppArmor/configure	2014-10-18 22:22:39.641341244 +0900
+@@ -1,15 +1,2 @@
+-if [ ! -e /usr/include/sys/apparmor.h ]
+-then
+-  echo "sys/apparmor.h not found. Make sure libapparmor-dev is installed."
+-  exit 1
+-fi
+-
+-LIBFILE=$(/sbin/ldconfig -p | egrep -oh " [-_a-zA-Z0-9/]*/libapparmor.so(.1)?$")
+-
+-if [ -z "$LIBFILE" ]
+-then
+-  echo "libapparmor.so not found. Make sure libapparmor-dev is installed."
+-  exit 1
+-fi 
+-
++LIBFILE="$LIBAPPARMOR_HOME/lib/libapparmor.so.1"
+ echo "PKG_LIBS="$LIBFILE > src/Makevars
diff --git a/pkgs/development/r-modules/patches/RMySQL.patch b/pkgs/development/r-modules/patches/RMySQL.patch
new file mode 100644
index 00000000000..dc93b902cd5
--- /dev/null
+++ b/pkgs/development/r-modules/patches/RMySQL.patch
@@ -0,0 +1,13 @@
+diff -ru3 RMySQL_orig/configure RMySQL/configure
+--- RMySQL_orig/configure	2015-02-19 22:49:15.812455730 +0300
++++ RMySQL/configure	2015-02-19 22:49:42.066407256 +0300
+@@ -1,7 +1,7 @@
+ # If $MYSQL_DIR is specified, use that
+ if [ "$MYSQL_DIR" ]; then
+-  echo "PKG_CPPFLAGS= -I$MYSQL_DIR/include" > src/Makevars
+-  echo "PKG_LIBS= -L$MYSQL_DIR/lib -lmysqlclient -lz" >> src/Makevars
++  echo "PKG_CPPFLAGS= -I$MYSQL_DIR/include/mysql" > src/Makevars
++  echo "PKG_LIBS= -L$MYSQL_DIR/lib/mysql -lmysqlclient -lz" >> src/Makevars
+   exit 0
+ fi
+ 
diff --git a/pkgs/development/r-modules/patches/Rserve.patch b/pkgs/development/r-modules/patches/Rserve.patch
new file mode 100644
index 00000000000..1ffe17e5542
--- /dev/null
+++ b/pkgs/development/r-modules/patches/Rserve.patch
@@ -0,0 +1,15 @@
+diff -ru -x '*~' Rserve_orig/src/Makevars.in Rserve/src/Makevars.in
+--- Rserve_orig/src/Makevars.in	2013-08-22 06:09:33.000000000 +0900
++++ Rserve/src/Makevars.in	2014-11-09 21:36:31.184590320 +0900
+@@ -12,8 +12,9 @@
+ 	$(CC) -DSTANDALONE_RSERVE -DRSERV_DEBUG -DNODAEMON -I. -Iinclude $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(PKG_CPPFLAGS) $(PKG_CFLAGS) -o Rserve.dbg $(SERVER_SRC) $(ALL_LIBS) $(PKG_LIBS)
+ 
+ # merging to bin/Rserve works only if installed from sources, won't work for binary
+-	-./mergefat Rserve "$(R_HOME)/bin/Rserve"
+-	-./mergefat Rserve.dbg "$(R_HOME)/bin/Rserve.dbg"
++	mkdir $(out)/bin
++	-./mergefat Rserve "$(out)/bin/Rserve"
++	-./mergefat Rserve.dbg "$(out)/bin/Rserve.dbg"
+ 
+ client: config.h
+ 	cp config.h client/cxx/
diff --git a/pkgs/development/r-modules/patches/WideLM.patch b/pkgs/development/r-modules/patches/WideLM.patch
new file mode 100644
index 00000000000..f86d66bf746
--- /dev/null
+++ b/pkgs/development/r-modules/patches/WideLM.patch
@@ -0,0 +1,19 @@
+diff -ru -x '*~' WideLM_orig/src/Makefile.in WideLM/src/Makefile.in
+--- WideLM_orig/src/Makefile.in	2012-02-17 04:28:05.000000000 +0900
++++ WideLM/src/Makefile.in	2014-10-25 18:54:49.110011921 +0900
+@@ -12,12 +12,12 @@
+ #compiler/preprocessor options
+ R_INCS := @R_INCL@ @RCPP_INCL@
+ CC_ARGS := @CU_PARAMS@ -Xcompiler @R_CPIC@
+-CU_INCS := -I@CUDA_HOME@/include
++CU_INCS := -I@CUDA_HOME@/usr_include
+ CU_ARCH := -gencode arch=compute_20,code=sm_20
+ 
+ #linker options
+-LD_PARAMS := -Xlinker "@RCPP_LDFLAGS@"
+-RCU_LIBS :=  @R_LIB@ -L@CU_LIBDIR@ -lcublas
++LD_PARAMS := -Xlinker "--export-dynamic -fopenmp -L${R_HOME}/lib -lR"
++RCU_LIBS := -Xlinker "-L@CU_LIBDIR@ -lcublas"
+ 
+ all : WideLM.so
+ 
diff --git a/pkgs/development/r-modules/patches/gmatrix.patch b/pkgs/development/r-modules/patches/gmatrix.patch
new file mode 100644
index 00000000000..990debb8a42
--- /dev/null
+++ b/pkgs/development/r-modules/patches/gmatrix.patch
@@ -0,0 +1,48 @@
+diff -ru -x '*~' gmatrix_orig/src/Makefile gmatrix/src/Makefile
+--- gmatrix_orig/src/Makefile	2014-08-27 02:42:04.000000000 +0900
++++ gmatrix/src/Makefile	2014-10-25 15:35:29.797202981 +0900
+@@ -21,6 +21,7 @@
+ # to the manual on the gmatrix install instructions)
+ CUDA_LIB_PATH ?= /usr/local/cuda/lib64
+ R_INC_PATH    ?= /usr/include/R
++CUDA_INC_PATH ?= /usr/local/cuda/include
+ 
+ 
+ # Nvidia CUDA Compiler
+@@ -49,25 +50,25 @@
+ # Build rules
+ build: $(OUT_OBJ)
+ 	$(R_CC) $(OUT_OBJ) -o $(OUT_SO) $(LIBS) -L$(CUDA_LIB_PATH)
+-	
++
+ conversions.o: 
+-	$(NVCC) -c conversions.cu -o conversions.o $(NVCC_FLAGS)  -I$(R_INC_PATH)
+-	
++	$(NVCC) -c conversions.cu -o conversions.o $(NVCC_FLAGS)  -I$(R_INC_PATH) -I${CUDA_INC_PATH}
++
+ manipulation.o: 
+-	$(NVCC) -c manipulation.cu -o manipulation.o $(NVCC_FLAGS)  -I$(R_INC_PATH)
++	$(NVCC) -c manipulation.cu -o manipulation.o $(NVCC_FLAGS)  -I$(R_INC_PATH) -I${CUDA_INC_PATH}
+ 
+ general.o:
+-	$(NVCC) -c general.cu -o general.o $(NVCC_FLAGS) -I$(R_INC_PATH)
++	$(NVCC) -c general.cu -o general.o $(NVCC_FLAGS) -I$(R_INC_PATH) -I${CUDA_INC_PATH}
+ 
+ matrix.o: 
+-	$(NVCC) -c matrix.cu -o matrix.o $(NVCC_FLAGS) -I$(R_INC_PATH)
+- 	
++	$(NVCC) -c matrix.cu -o matrix.o $(NVCC_FLAGS) -I$(R_INC_PATH) -I${CUDA_INC_PATH}
++
+ ops.o: 
+-	$(NVCC) -c ops.cu -o ops.o $(NVCC_FLAGS) -I$(R_INC_PATH)
+-	
++	$(NVCC) -c ops.cu -o ops.o $(NVCC_FLAGS) -I$(R_INC_PATH) -I${CUDA_INC_PATH}
++
+ dist.o: 
+-	$(NVCC) -c dist.cu -o dist.o $(NVCC_FLAGS) -I$(R_INC_PATH)
+- 	
++	$(NVCC) -c dist.cu -o dist.o $(NVCC_FLAGS) -I$(R_INC_PATH) -I${CUDA_INC_PATH}
++
+ 
+ clean:
+ 	-rm -f *.o core
diff --git a/pkgs/development/r-modules/patches/gputools.patch b/pkgs/development/r-modules/patches/gputools.patch
new file mode 100644
index 00000000000..61cbcea9370
--- /dev/null
+++ b/pkgs/development/r-modules/patches/gputools.patch
@@ -0,0 +1,13 @@
+diff -ru -x '*~' gputools_orig/src/Makefile gputools/src/Makefile
+--- gputools_orig/src/Makefile	2013-05-09 01:43:32.000000000 +0900
++++ gputools/src/Makefile	2014-10-21 21:41:23.067148490 +0900
+@@ -6,6 +6,9 @@
+ 
+ R_HOME := $(shell R RHOME)
+ 
++CUDA_INC := $(CUDA_HOME)/usr_include
++CUDA_LIB := $(CUDA_HOME)/lib
++
+ #compiler/preprocessor options
+ INCS := -I. -I"$(CUDA_INC)" -I"$(R_INC)"
+ PARAMS := $(DEVICEOPTS) -Xcompiler $(CPICFLAGS)
diff --git a/pkgs/development/r-modules/patches/iFes.patch b/pkgs/development/r-modules/patches/iFes.patch
new file mode 100644
index 00000000000..aca89b8d5a8
--- /dev/null
+++ b/pkgs/development/r-modules/patches/iFes.patch
@@ -0,0 +1,13 @@
+diff -u3 -r iFes_orig/src/config.mk iFes/src/config.mk
+--- iFes_orig/src/config.mk	2014-12-09 14:19:58.000000000 +0300
++++ iFes/src/config.mk	2015-02-19 22:47:24.426804174 +0300
+@@ -12,7 +12,7 @@
+ endif
+ 
+ # set CUDA_INC to CUDA header dir on your system
+-CUDA_INC := $(CUDA_HOME)/include
++CUDA_INC := $(CUDA_HOME)/usr_include
+ 
+ ARCH := $(shell uname -m)
+ 
+
diff --git a/pkgs/development/r-modules/patches/magma_cuda_include.patch b/pkgs/development/r-modules/patches/magma_cuda_include.patch
new file mode 100644
index 00000000000..67552325ae9
--- /dev/null
+++ b/pkgs/development/r-modules/patches/magma_cuda_include.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' magma_orig/configure magma/configure
+--- magma_orig/configure	2013-04-03 11:07:42.000000000 +0900
++++ magma/configure	2014-10-18 21:58:48.745890187 +0900
+@@ -2377,7 +2377,7 @@
+ 
+ 
+ NCFLAGS="-arch=sm_13 -O2 -DADD_"
+-CUDA_INC=${CUDA_HOME}/include
++CUDA_INC=${CUDA_HOME}/usr_include
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CUDA headers" >&5
+ $as_echo_n "checking for CUDA headers... " >&6; }
+ as_ac_File=`$as_echo "ac_cv_file_${CUDA_INC}/cublas.h" | $as_tr_sh`
diff --git a/pkgs/development/r-modules/patches/qtbase.patch b/pkgs/development/r-modules/patches/qtbase.patch
new file mode 100644
index 00000000000..14427b72630
--- /dev/null
+++ b/pkgs/development/r-modules/patches/qtbase.patch
@@ -0,0 +1,13 @@
+diff -ru -x '*~' qtbase_orig/src/Makefile qtbase/src/Makefile
+--- qtbase_orig/src/Makefile	2012-03-03 03:57:47.000000000 +0900
++++ qtbase/src/Makefile	2014-11-01 23:06:51.383876323 +0900
+@@ -10,6 +10,9 @@
+ 	      -DR_INCLUDES=${R_INCLUDE_DIR} \
+ 	      -DCMAKE_INSTALL_PREFIX=../src; \
+ 	make install
++# I could not control RPATH via CMake. HELP WANTED!
++	patchelf --set-rpath ${CMAKE_LIBRARY_PATH} qtbase.so
++	find ../inst/local/ -executable -type f -print0 | xargs -0 patchelf --set-rpath ${CMAKE_LIBRARY_PATH} 
+ 
+ clean:
+ 	rm -rf ../kdebindings-build
diff --git a/pkgs/development/r-modules/patches/rpud.patch b/pkgs/development/r-modules/patches/rpud.patch
new file mode 100644
index 00000000000..45d20e6bd67
--- /dev/null
+++ b/pkgs/development/r-modules/patches/rpud.patch
@@ -0,0 +1,29 @@
+diff -ru -x '*~' rpud_orig/configure rpud/configure
+--- rpud_orig/configure	2010-09-08 02:14:55.000000000 +0900
++++ rpud/configure	2014-10-25 16:46:39.479098648 +0900
+@@ -1794,7 +1794,7 @@
+ fi
+ 
+ LIBS="-L${CUDA_HOME}${CUDA_LIB_DIR} -lcublas -lcuda"
+-RPATHFLAG="-Wl,-rpath,${CUDA_HOME}${CUDA_LIB_DIR}"
++RPATHFLAG="-Xlinker -rpath=${CUDA_HOME}${CUDA_LIB_DIR}"
+ 
+ 
+ 
+diff -ru -x '*~' rpud_orig/src/Makefile.in rpud/src/Makefile.in
+--- rpud_orig/src/Makefile.in	2010-08-31 01:53:50.000000000 +0900
++++ rpud/src/Makefile.in	2014-10-25 16:45:30.248109883 +0900
+@@ -3,11 +3,11 @@
+ OBJS := rpud.o rpudist.o
+ 
+ #compiler/preprocessor options
+-INCS := -I@CUDA_HOME@/include
++INCS := -I@CUDA_HOME@/usr_include
+ PARAMS := -Xcompiler "@R_INCLUDE@ @CPICFLAGS@"
+ 
+ #linker options
+-LD_PARAMS := -Xlinker "@R_LIB@ @RPATHFLAG@"
++LD_PARAMS := -Xlinker "--export-dynamic -fopenmp -L${R_HOME}/lib -lR @RPATHFLAG@" 
+ LIBS :=  @LIBS@
+ 
+ TARGETS := rpud.so
diff --git a/pkgs/development/r-modules/patches/spMC.patch b/pkgs/development/r-modules/patches/spMC.patch
new file mode 100644
index 00000000000..04239d721c0
--- /dev/null
+++ b/pkgs/development/r-modules/patches/spMC.patch
@@ -0,0 +1,8 @@
+Only in spMC_orig: spMC
+diff -ru -x '*~' spMC_orig/src/Makevars spMC/src/Makevars
+--- spMC_orig/src/Makevars	2014-09-19 21:23:30.000000000 +0900
++++ spMC/src/Makevars	2014-10-25 18:14:48.366954769 +0900
+@@ -1,2 +1,2 @@
+ PKG_CFLAGS=$(SHLIB_OPENMP_CFLAGS)
+-PKG_LIBS=$(SHLIB_OPENMP_CFLAGS) $(BLAS_LIBS) $(LAPACK_LIBS) $(FLIBS)
++PKG_LIBS=$(SHLIB_OPENMP_CFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 1dfaa5cf875..4d47d513437 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
-{stdenv, fetchurl, unzip}:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "checkstyle-5.0";
-  buildInputs = [unzip] ; 
+stdenv.mkDerivation rec {
+  version = "6.5";
+  name = "checkstyle-${version}";
 
   src = fetchurl {
-    url = mirror://sourceforge/checkstyle/checkstyle-5.0.zip ;
-    sha256 = "0972afcxjniz64hlnc89ddnd1d0mcd5hb1sd7lpw5k52h39683nh";
+    url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz";
+    sha256 = "1231rzmk7kzv77hpa0jj227152br9ahjdvxvzifk0mdfw0b34rdl";
   };
 
   installPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     cp -R * $out/checkstyle
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Checks Java source against a coding standard";
     longDescription = ''
       checkstyle is a development tool to help programmers write Java code that
@@ -22,6 +22,7 @@ stdenv.mkDerivation {
       Conventions, but is highly configurable.
     '';
     homepage = http://checkstyle.sourceforge.net/;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ pSub ];
   };
 }
-
diff --git a/pkgs/development/tools/analysis/coan/default.nix b/pkgs/development/tools/analysis/coan/default.nix
new file mode 100644
index 00000000000..cd8cde1ae52
--- /dev/null
+++ b/pkgs/development/tools/analysis/coan/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  version = "6.0.1";
+  name = "coan-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/coan2/v${version}/${name}.tar.gz";
+    sha256 = "1d041j0nd1hc0562lbj269dydjm4rbzagdgzdnmwdxr98544yw44";
+  };
+
+  buildInputs = [ perl ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    mv -v $out/share/man/man1/coan.1.{1,gz}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The C preprocessor chainsaw";
+    longDescription = ''
+      A software engineering tool for analysing preprocessor-based
+      configurations of C or C++ source code. Its principal use is to simplify
+      a body of source code by eliminating any parts that are redundant with
+      respect to a specified configuration. Dead code removal is an
+      application of this sort.
+    '';
+    homepage = http://coan2.sourceforge.net/;
+    license = with licenses; bsd3;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index ca4176dbe1e..d94d4483682 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -4,14 +4,14 @@
 
 let
   name = "cppcheck";
-  version = "1.65";
+  version = "1.68";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2";
-    sha256 = "0rsxnqvjyiviqsq4y5x4p1jpvcmhf8hh7d710rsvnv5d4cj7lmqn";
+    sha256 = "1ca9fdhrrxfyzd6kn67gxbfszp70191cf3ndasrh5jh55ghybmmd";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/tools/analysis/findbugs/default.nix b/pkgs/development/tools/analysis/findbugs/default.nix
index cf60f1af767..aab47dadc90 100644
--- a/pkgs/development/tools/analysis/findbugs/default.nix
+++ b/pkgs/development/tools/analysis/findbugs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "findbugs-2.0.3";
+stdenv.mkDerivation rec {
+  name = "findbugs-3.0.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/findbugs/findbugs-2.0.3.tar.gz;
-    sha256 = "17s93vszc5s2b7pwi0yk8d6w54gandxrr7vflhzmpbl6sxj2mfjr";
+    url = "mirror://sourceforge/findbugs/${name}.tar.gz";
+    sha256 = "06b46fz4nid7qvm36r66zw01fr87y4jyz21ixw27b8hkqah0s3p8";
   };
 
   buildPhase = ''
@@ -34,8 +34,9 @@ stdenv.mkDerivation {
     EOF
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A static analysis tool to find bugs in Java programs automatically";
     homepage = http://findbugs.sourceforge.net/;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
new file mode 100644
index 00000000000..0777b5a5f9a
--- /dev/null
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocaml, libelf }:
+
+stdenv.mkDerivation rec {
+  version = "0.1.0";
+  name = "flow-${version}";
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "flow";
+    rev = "v${version}";
+    sha256 = "1f33zmajd6agb36gp8bwj0yqihjhxnkpig9x3a4ggn369x6ixhn3";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/flow $out/bin/
+  '';
+
+  buildInputs = [ ocaml libelf ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://flowtype.org/";
+    description = "A static type checker for JavaScript";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ puffnfresh ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index baa63855a0a..9e2f310b8a1 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, ncurses, ocamlPackages, graphviz
-, ltl2ba, coq, alt-ergo, gmp, why3 }:
+, ltl2ba, coq, alt-ergo, why3 }:
 
 stdenv.mkDerivation rec {
   name    = "frama-c-${version}";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with ocamlPackages; [
-    ncurses ocaml findlib alt-ergo ltl2ba ocamlgraph gmp
+    ncurses ocaml findlib alt-ergo ltl2ba ocamlgraph
     lablgtk coq graphviz zarith why3 zarith
   ];
 
diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix
new file mode 100644
index 00000000000..c3381186aa8
--- /dev/null
+++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, cmake, llvmPackages_35 }:
+
+let version = "3.5"; in with llvmPackages_35;
+stdenv.mkDerivation rec {
+  name = "include-what-you-use-${version}";
+
+  src = fetchurl {
+    sha256 = "1wfl78wkg8m2ssjnkb2rwcqy35nhc8fa63mk3sa60jrshpy7b15w";
+    url = "${meta.homepage}/downloads/${name}.src.tar.gz";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Analyze #includes in C/C++ source files with clang";
+    longDescription = ''
+      For every symbol (type, function variable, or macro) that you use in
+      foo.cc, either foo.cc or foo.h should #include a .h file that exports the
+      declaration of that symbol.  The main goal of include-what-you-use is to
+      remove superfluous #includes, both by figuring out what #includes are not
+      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.com;
+    license = with licenses; bsd3;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ clang cmake llvm ];
+
+  cmakeFlags = [ "-DLLVM_PATH=${llvm}" ];
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/development/tools/analysis/massif-visualizer/default.nix b/pkgs/development/tools/analysis/massif-visualizer/default.nix
new file mode 100644
index 00000000000..e21f5ed15e9
--- /dev/null
+++ b/pkgs/development/tools/analysis/massif-visualizer/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, kdelibs, kgraphviewer, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "massif-visualizer-${version}";
+  version = "0.3.90";
+
+  src = fetchurl {
+    url = "mirror://kde/unstable/massif-visualizer/${version}/src/${name}.tar.xz";
+    sha256 = "9940fa90137ca5eef08b9ec220825fadbf03db423a670a2c7fe3edab271d9922";
+  };
+
+  buildInputs = [ kdelibs kgraphviewer gettext ];
+
+  meta = with stdenv.lib; {
+    description = "Tool that visualizes massif data generated by valgrind";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index 14007d80b0f..7098771cc6e 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -1,12 +1,14 @@
 {stdenv, fetchurl, unzip}:
 
-stdenv.mkDerivation {
-  name = "pmd-4.2.5";
-  buildInputs = [unzip] ;
+stdenv.mkDerivation rec {
+  name = "pmd-${version}";
+  version = "5.2.3";
+
+  buildInputs = [ unzip ];
 
   src = fetchurl {
-    url = mirror://sourceforge/pmd/pmd-bin-4.2.5.zip ;
-    sha256 = "07cb18mv7rplksy3iw3rxyjaav4m7kcjqfhzv20ki73hfkqxa85c";
+    url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
+    sha256 = "03frkyiii7304qrcypdqcxqxjf5n3p59zjib0r802mbbx1nzcisn";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix
index 2ab8c05ebf8..3c83f0e9d49 100644
--- a/pkgs/development/tools/analysis/radare/default.nix
+++ b/pkgs/development/tools/analysis/radare/default.nix
@@ -12,15 +12,15 @@ let
   optional = stdenv.lib.optional;
 in
 stdenv.mkDerivation rec {
-  name = "radare-1.5";
+  name = "radare-1.5.2";
 
   src = fetchurl {
     url = "http://radare.org/get/${name}.tar.gz";
-    sha256 = "1r0c9cc7z9likma8zicp2pbv2y85vjjmnk0k45wdhbvhgqh6il1h";
+    sha256 = "1qdrmcnzfvfvqb27c7pknwm8jl2hqa6c4l66wzyddwlb8yjm46hd";
   };
 
 
-  buildInputs = [pkgconfig readline libusb libewf perl]
+  buildInputs = [pkgconfig readline libusb perl]
     ++ optional useX11 [gtkdialog vte gtk]
     ++ optional rubyBindings [ruby]
     ++ optional pythonBindings [python]
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
new file mode 100644
index 00000000000..7e199c29aed
--- /dev/null
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, pkgconfig, libusb, readline, libewf, perl, zlib, openssl,
+gtk ? null, vte ? null, gtkdialog ? null,
+python ? null,
+ruby ? null,
+lua ? null,
+useX11, rubyBindings, pythonBindings, luaBindings}:
+
+assert useX11 -> (gtk != null && vte != null && gtkdialog != null);
+assert rubyBindings -> ruby != null;
+assert pythonBindings -> python != null;
+
+let 
+  optional = stdenv.lib.optional;
+in
+stdenv.mkDerivation rec {
+  version = "0.9.7";
+  name = "radare2-${version}";
+
+  src = fetchurl {
+    url = "http://radare.org/get/${name}.tar.xz";
+    sha256 = "01sdsnbvx1qzyradj03sg24rk2bi9x58m40r0aqj8skv92c87s7l";
+  };
+
+
+  buildInputs = [pkgconfig readline libusb libewf perl zlib openssl]
+    ++ optional useX11 [gtkdialog vte gtk]
+    ++ optional rubyBindings [ruby]
+    ++ optional pythonBindings [python]
+    ++ optional luaBindings [lua];
+
+  meta = {
+    description = "Free advanced command line hexadecimal editor";
+    homepage = http://radare.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    platforms = with stdenv.lib.platforms; linux;
+    inherit version;
+  };
+}
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
new file mode 100644
index 00000000000..992d797c189
--- /dev/null
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, cmake, libpfm, zlib, python }:
+
+stdenv.mkDerivation rec {
+  version = "3.0.0";
+  name = "rr-${version}";
+
+  src = fetchFromGitHub {
+    owner = "mozilla";
+    repo = "rr";
+    rev = version;
+    sha256 = "1h4ddq7mmi0sfj6mh1qg2bfs3x7gz5qmn9dlnmpkrp38rqgnnhrg";
+  };
+
+  patchPhase = ''
+    substituteInPlace src/Command.cc --replace '_BSD_SOURCE' '_DEFAULT_SOURCE'
+  ''
+  # On 64bit machines, don't build the 32-bit components for debugging
+  # 32-bit binaries. This sucks but I don't know how to make 'gcc' cooperate
+  # easily with how CMake works to build 32 and 64bit binaries at once.
+  + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") ''
+    substituteInPlace CMakeLists.txt --replace 'if(rr_64BIT)' 'if(false)'
+  '';
+
+  buildInputs = [ cmake libpfm zlib python ];
+  cmakeFlags = "-DCMAKE_C_FLAGS_RELEASE:STRING= -DCMAKE_CXX_FLAGS_RELEASE:STRING=";
+
+  meta = {
+    homepage = http://rr-project.org/;
+    description = "Records nondeterministic executions and debugs them deterministically";
+    longDescription = ''
+      rr aspires to be your primary debugging tool, replacing -- well,
+      enhancing -- gdb. You record a failure once, then debug the
+      recording, deterministically, as many times as you want. Every
+      time the same execution is replayed.
+    '';
+
+    license = "custom";
+    maintainers = with stdenv.lib.maintainers; [ pierron thoughtpolice ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/analysis/smatch/default.nix b/pkgs/development/tools/analysis/smatch/default.nix
index 3bf45900034..e3fd1306cec 100644
--- a/pkgs/development/tools/analysis/smatch/default.nix
+++ b/pkgs/development/tools/analysis/smatch/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation {
   meta = {
     description = "A semantic analysis tool for C";
     homepage = "http://smatch.sourceforge.net/";
-    license = "free"; /* OSL, see http://www.opensource.org */
+    license = stdenv.lib.licenses.free; /* OSL, see http://www.opensource.org */
   };
 }
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index 06c04ca41b5..e21ae8e9273 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -1,13 +1,14 @@
 {stdenv, fetchurl, yacc }:
 
 stdenv.mkDerivation rec {
-  version = "6.3.2";
   name = "spin-${version}";
+  version = "6.4.1";
+  url-version = stdenv.lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
-    url = http://spinroot.com/spin/Src/spin632.tar.gz;
+    url = "http://spinroot.com/spin/Src/spin${url-version}.tar.gz";
     curlOpts = "--user-agent 'Mozilla/5.0'";
-    sha256 = "1llsv1mnwr99hvsm052i3wwpa3dm5j12s5p10hizi6i9hlp00b5y";
+    sha256 = "02r2jazb2hnhcqcjnmlj6sjd9dvyfalgi99bzncwfadixf3hmpvn";
   };
 
   buildInputs = [ yacc ];
@@ -16,10 +17,10 @@ stdenv.mkDerivation rec {
 
   installPhase = "install -D spin $out/bin/spin";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Formal verification tool for distributed software systems";
     homepage = http://spinroot.com/;
-    license = "free";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    license = stdenv.lib.licenses.free;
+    maintainers = with maintainers; [ mornfall pSub ];
   };
 }
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index aaeee026d0a..a58ad0f39b2 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,14 +1,19 @@
-{ stdenv, fetchurl, perl, gdb }:
+{ stdenv, fetchurl, fetchpatch, perl, gdb }:
 
 stdenv.mkDerivation rec {
-  name = "valgrind-3.9.0";
+  name = "valgrind-3.10.1";
 
   src = fetchurl {
     url = "http://valgrind.org/downloads/${name}.tar.bz2";
-    sha256 = "1w6n5qvxy2ssbczcl1c2yd2ggjn3ipay2hvpn10laly2dfh73bz6";
+    sha256 = "15xrzhfnwwn7n1sfbkwvdbvs6zk0zx718n6zd5i1nrnvdp13s9gs";
   };
 
-  patches = [ ./glibc-2.19.patch ];
+  patches = [(fetchpatch {
+    name = "glibc-2.21.patch";
+    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk"
+      + "/valgrind-3.9.0-glibc-2.21.patch?h=packages/valgrind&id=41e87313b69";
+    sha256 = "14sgsvjjalbcqpcayyv5cndc9hfm5bigkp684b6cr6virksmlk19";
+  })];
 
   # Perl is needed for `cg_annotate'.
   # GDB is needed to provide a sane default for `--db-command'.
@@ -38,6 +43,8 @@ stdenv.mkDerivation rec {
         --replace 'obj:/usr/X11R6/lib' 'obj:*/lib' \
         --replace 'obj:/usr/lib' 'obj:*/lib'
     done
+
+    paxmark m $out/lib/valgrind/*-*-linux
   '';
 
   meta = {
diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch
deleted file mode 100644
index 137b0a325b0..00000000000
--- a/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://projects.archlinux.org/svntogit/packages.git/plain/trunk/valgrind-3.9.0-glibc-2.19.patch?h=packages/valgrind
-
-diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure
---- valgrind-3.9.0-orig/configure	2013-11-01 09:33:32.000000000 +1000
-+++ valgrind-3.9.0/configure	2014-02-08 09:28:06.063248544 +1000
-@@ -6689,6 +6689,16 @@
- 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- 	;;
-+     2.19)
-+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5
-+$as_echo "2.19 family" >&6; }
-+
-+$as_echo "#define GLIBC_2_19 1" >>confdefs.h
-+
-+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	;;
-      darwin)
- 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
- $as_echo "Darwin" >&6; }
-diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac
---- valgrind-3.9.0-orig/configure.ac	2013-11-01 09:28:16.000000000 +1000
-+++ valgrind-3.9.0/configure.ac	2014-02-08 09:27:38.870385366 +1000
-@@ -918,6 +918,13 @@
- 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- 	;;
-+     2.19)
-+	AC_MSG_RESULT(2.19 family)
-+	AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.x])
-+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	;;
-      darwin)
- 	AC_MSG_RESULT(Darwin)
- 	AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
diff --git a/pkgs/development/tools/atom-shell/default.nix b/pkgs/development/tools/atom-shell/default.nix
new file mode 100644
index 00000000000..983c5c451d0
--- /dev/null
+++ b/pkgs/development/tools/atom-shell/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
+, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
+, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xlibs, libcap, unzip
+}:
+let
+  atomEnv = buildEnv {
+    name = "env-atom";
+    paths = [
+      stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3
+      fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
+      xlibs.libXrender xlibs.libX11 xlibs.libXext xlibs.libXdamage xlibs.libXtst
+      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes xlibs.libXrandr
+      xlibs.libXcursor libcap
+    ];
+  };
+in stdenv.mkDerivation rec {
+  name = "atom-shell-${version}";
+  version = "0.19.1";
+
+  src = fetchurl {
+    url = "https://github.com/atom/atom-shell/releases/download/v0.19.1/atom-shell-v0.19.1-linux-x64.zip";
+    sha256 = "10q1slwv2lkiqqxpv0m5a1k0gj2yp8bi9a7ilb05zz1wg7j3yw4y";
+    name = "${name}.zip";
+  };
+
+  buildInputs = [ atomEnv makeWrapper unzip ];
+
+  phases = [ "installPhase" "fixupPhase" ];
+
+  unpackCmd = "unzip";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    unzip -d $out/bin $src
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+    $out/bin/atom
+    mv $out/bin/atom $out/bin/atom-shell
+    wrapProgram $out/bin/atom-shell \
+    --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Cross platform desktop application shell";
+    homepage = https://github.com/atom/atom-shell;
+    license = [ licenses.mit ];
+    maintainers = [ maintainers.fluffynukeit ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix
new file mode 100644
index 00000000000..723219336bb
--- /dev/null
+++ b/pkgs/development/tools/boost-build/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "boost-build-2.0-m12";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/${name}.tar.bz2";
+    sha256 = "10sbbkx2752r4i1yshyp47nw29lyi1p34sy6hj7ivvnddiliayca";
+  };
+
+  patchPhase = ''
+    grep -r '/usr/share/boost-build' \
+      | awk '{split($0,a,":"); print a[1];}' \
+      | xargs sed -i "s,/usr/share/boost-build,$out/share/boost-build,"
+  '';
+
+  buildPhase = ''
+    cd jam_src
+    ./build.sh
+  '';
+
+  installPhase = ''
+    # Install Bjam
+    mkdir -p $out/bin
+    cd "$(ls | grep bin)"
+    cp -a bjam $out/bin
+
+    # Bjam is B2
+    ln -s bjam $out/bin/b2
+
+    # Install the shared files (don't include jam_src)
+    cd ../..
+    rm -rf jam_src
+    mkdir -p $out/share
+    cp -a . $out/share/boost-build
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.boost.org/boost-build2/;
+    license = stdenv.lib.licenses.boost;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 0dfb634c594..476d2cb8ac5 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, makeWrapper }:
+{ fetchurl, stdenv, coreutils, makeWrapper }:
 
-let version = "1.9.3"; in
+let version = "1.9.4"; 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";
-    sha1 = "efcf206e24b0dd1583c501182ad163af277951a4";
+    sha256 = "1kw801p8h5x4f0g8i5yknppssrj5a3xy1aqrkpfnk22bd1snbh90";
   };
 
   contrib = fetchurl {
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
       if [ -z "\$JAVA_HOME" ]; then
           for i in javac java gij; do
               if p="\$(type -p \$i)"; then
-                  export JAVA_HOME="\$(dirname \$(dirname \$(readlink -f \$p)))"
+                  export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
                   break
               fi
           done
diff --git a/pkgs/misc/maven/builder.sh b/pkgs/development/tools/build-managers/apache-maven/builder.sh
index 03e4a041402..03e4a041402 100644
--- a/pkgs/misc/maven/builder.sh
+++ b/pkgs/development/tools/build-managers/apache-maven/builder.sh
diff --git a/pkgs/development/tools/build-managers/apache-maven/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix
new file mode 100644
index 00000000000..c69814c16ca
--- /dev/null
+++ b/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, jdk, makeWrapper }:
+
+assert jdk != null;
+
+let version = "3.2.5"; in
+stdenv.mkDerivation rec {
+  name = "apache-maven-${version}";
+
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://apache/maven/maven-3/${version}/binaries/${name}-bin.tar.gz";
+    sha256 = "0md7fizam2lvl0b7fdlfjng6ywm283chmp382agzz4gmpmj046cc";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  inherit jdk;
+
+  meta = with stdenv.lib; {
+    description = "Build automation tool (used primarily for Java projects)";
+    homepage = http://maven.apache.org/;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/bam/default.nix b/pkgs/development/tools/build-managers/bam/default.nix
index e7e4b6d0909..b01d22b524b 100644
--- a/pkgs/development/tools/build-managers/bam/default.nix
+++ b/pkgs/development/tools/build-managers/bam/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , lua5, python
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -43,7 +43,7 @@ rec {
     mkdir -p "$out/bin"
     cp bam "$out/bin"
   '' ["minInit" "defEnsureDir" "build"];
-      
+
   meta = {
     description = "Yet another build manager";
     maintainers = with a.lib.maintainers;
@@ -52,7 +52,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "free-noncopyleft";
+    license = a.lib.licenses.free;
   };
   passthru = {
     updateInfo = {
@@ -60,4 +60,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
new file mode 100644
index 00000000000..e9ddc17bb02
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, jdk, zip, zlib, protobuf, pkgconfig, libarchive, unzip, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "bazel-20150326.981b7bc1";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "bazel";
+    rev = "981b7bc1";
+    sha256 = "0i9gxgqhfmix7hmkb15s7h9f8ssln08pixqm26pd1d20g0kfyxj7";
+  };
+
+  buildInputs = [ pkgconfig protobuf zlib zip jdk libarchive unzip makeWrapper ];
+
+  installPhase = ''
+    PROTOC=protoc bash compile.sh
+    mkdir -p $out/bin $out/share
+    cp -R output $out/share/bazel
+    ln -s $out/share/bazel/bazel $out/bin/bazel
+    wrapProgram $out/bin/bazel --set JAVA_HOME "${jdk}"
+  '';
+
+  meta = {
+    homepage = http://github.com/google/bazel/;
+    description = "Build tool that builds code quickly and reliably";
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/boot/builder.sh b/pkgs/development/tools/build-managers/boot/builder.sh
new file mode 100644
index 00000000000..a6073308920
--- /dev/null
+++ b/pkgs/development/tools/build-managers/boot/builder.sh
@@ -0,0 +1,13 @@
+source $stdenv/setup
+
+boot_bin=$out/bin/boot
+
+mkdir -pv $(dirname $boot_bin)
+cp -v $src $boot_bin
+chmod -v 755 $boot_bin
+
+patchShebangs $boot_bin
+
+wrapProgram $boot_bin \
+            --set JAVA_HOME "${jdk}" \
+            --prefix PATH ":" "${jdk}/bin"
diff --git a/pkgs/development/tools/build-managers/boot/default.nix b/pkgs/development/tools/build-managers/boot/default.nix
new file mode 100644
index 00000000000..ccc7e326fd7
--- /dev/null
+++ b/pkgs/development/tools/build-managers/boot/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, makeWrapper, jdk }:
+
+stdenv.mkDerivation rec {
+  version = "2.0.0-rc8";
+  name = "boot-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/boot-clj/boot/releases/download/${version}/boot.sh";
+    sha256 = "1jqj04f33prb6nqsv7mffwdnz47ppi3szsbdzphjx8xzz394nl7j";
+  };
+
+  inherit jdk;
+  
+  builder = ./builder.sh;
+
+  buildInputs = [ makeWrapper ];
+
+  propagatedBuildInputs = [ jdk ];
+
+  meta = {
+    description = "Build tooling for Clojure";
+    homepage = http://boot-clj.com/;
+    license = stdenv.lib.licenses.epl10;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.ragge ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buildbot-slave/default.nix b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
index 870664c252a..715b009a17e 100644
--- a/pkgs/development/tools/build-managers/buildbot-slave/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot-slave/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchurl, coreutils, twisted }:
 
 buildPythonPackage (rec {
-  name = "buildbot-slave-0.8.8";
+  name = "buildbot-slave-0.8.10";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1k1pk3y0rk6j01wc491jblryr4ajqg1ing9m3sjaw9s5sga34xcb";
+    url = "https://pypi.python.org/packages/source/b/buildbot-slave/${name}.tar.gz";
+    sha256 = "09pncw44c7vqrl7zyn1nvfismiqi9s51axk9cqxn9gq7jhj38mpg";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index ccbf74e528e..8193845770c 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -9,12 +9,12 @@
 assert enableDebugClient -> pygobject != null && pyGtkGlade != null;
 
 buildPythonPackage (rec {
-  name = "buildbot-0.8.8";
+  name = "buildbot-0.8.10";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1l1rsy82zv8582wypw00ac0k0wsr82ky74f3np4clbrxv3ry64sh";
+    url = "https://pypi.python.org/packages/source/b/buildbot/${name}.tar.gz";
+    sha256 = "1x5513mjvd3mwwadawk6v3ca2wh5mcmgnn5h9jhq1jw1plp4v5n4";
   };
 
   patchPhase =
diff --git a/pkgs/development/tools/build-managers/cargo/common.nix b/pkgs/development/tools/build-managers/cargo/common.nix
new file mode 100644
index 00000000000..f0d8f92dfaa
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cargo/common.nix
@@ -0,0 +1,24 @@
+{stdenv, version}:
+
+{
+  inherit version;
+
+  platform = if stdenv.system == "i686-linux"
+    then "i686-unknown-linux-gnu"
+    else if stdenv.system == "x86_64-linux"
+    then "x86_64-unknown-linux-gnu"
+    else if stdenv.system == "i686-darwin"
+    then "i686-apple-darwin"
+    else if stdenv.system == "x86_64-darwin"
+    then "x86_64-apple-darwin"
+    else throw "no snapshot to bootstrap for this platform (missing platform url suffix)";
+
+  meta = with stdenv.lib; {
+    homepage = http://crates.io;
+    description = "Downloads your Rust project's dependencies and builds your project";
+    license = [ licenses.mit licenses.asl20 ];
+    platforms = platforms.linux;
+  };
+
+  name = "cargo-${version}";
+}
diff --git a/pkgs/development/tools/build-managers/cargo/snapshot.nix b/pkgs/development/tools/build-managers/cargo/snapshot.nix
new file mode 100644
index 00000000000..f20f6d94f6f
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cargo/snapshot.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, zlib }:
+
+/* Cargo binary snapshot */
+
+let snapshotDate = "2015-02-26";
+in
+
+with ((import ./common.nix) { inherit stdenv; version = "snapshot-${snapshotDate}"; });
+
+let snapshotHash = if stdenv.system == "i686-linux"
+      then "2a28b604d09b4a76a54a05d91f7f158692427b3a"
+      else if stdenv.system == "x86_64-linux"
+      then "7367f4aca86d38e209ef7236b00175df036c03e2"
+      else if stdenv.system == "i686-darwin"
+      then "e5cabb0a4a2b4e47f7b1ae9b802e2b5d0b14eac5"
+      else if stdenv.system == "x86_64-darwin"
+      then "3026c60ddd46d2bcf1cb178fc801095dbfba5286"
+      else throw "no snapshot for platform ${stdenv.system}";
+    snapshotName = "cargo-nightly-${platform}.tar.gz";
+in
+
+
+stdenv.mkDerivation {
+  inherit name;
+  inherit version;
+  inherit meta;
+
+  src = fetchurl {
+    url = "https://static-rust-lang-org.s3.amazonaws.com/cargo-dist/${snapshotDate}/${snapshotName}";
+    sha1 = snapshotHash;
+  };
+
+  dontStrip = true;
+
+  installPhase = ''
+    mkdir -p "$out"
+    ./install.sh "--prefix=$out"
+  '' + (if stdenv.isLinux then ''
+    patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
+             --set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/:${zlib}/lib" \
+             "$out/bin/cargo"
+  '' else "");
+}
diff --git a/pkgs/development/tools/build-managers/cmake/264.nix b/pkgs/development/tools/build-managers/cmake/264.nix
deleted file mode 100644
index b2695c2ec87..00000000000
--- a/pkgs/development/tools/build-managers/cmake/264.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive
-, useNcurses ? false, ncurses, useQt4 ? false, qt4, xmlrpc_c
-}:
-
-with stdenv.lib;
-
-let
-  os = stdenv.lib.optionalString;
-  majorVersion = "2.6";
-  minorVersion = "4";
-  version = "${majorVersion}.${minorVersion}";
-in
-
-stdenv.mkDerivation rec {
-  name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
-
-  inherit majorVersion;
-
-  src = fetchurl {
-    url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "1wpxr5x4aggaqrqzjq3kg4hh09f0vyr1njik1pad01bvwd923pcw";
-  };
-
-  patches =
-    # Don't search in non-Nix locations such as /usr, but do search in
-    # Nixpkgs' Glibc.
-    optional (stdenv ? glibc) ./search-path-264.patch;
-
-  buildInputs = [ curl expat zlib bzip2 libarchive xmlrpc_c ]
-    ++ optional useNcurses ncurses
-    ++ optional useQt4 qt4;
-
-  CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
-  
-  configureFlags =
-    "--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
-    + stdenv.lib.optionalString useQt4 " --qt-gui";
-
-  setupHook = ./setup-hook.sh;
-
-   postPatch =
-    ''
-      dontUseCmakeConfigure=1
-      source $setupHook
-      fixCmakeFiles .
-    '';
-
-  preConfigure = optionalString (stdenv ? glibc)
-    ''
-      substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
-    '';
-
-  meta = {
-    homepage = http://www.cmake.org/;
-    description = "Cross-Platform Makefile Generator";
-    platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-  };
-}
diff --git a/pkgs/development/tools/build-managers/cmake/762-13887.patch b/pkgs/development/tools/build-managers/cmake/762-13887.patch
deleted file mode 100644
index 3ef27a09b5c..00000000000
--- a/pkgs/development/tools/build-managers/cmake/762-13887.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
-index e7491bb..57b4348 100644
---- a/Source/CTest/cmCTestTestHandler.cxx
-+++ b/Source/CTest/cmCTestTestHandler.cxx
-@@ -1303,10 +1303,9 @@ int cmCTestTestHandler::ExecuteCommands(std::vector<cmStdString>& vec)
-   for ( it = vec.begin(); it != vec.end(); ++it )
-     {
-     int retVal = 0;
--    std::string cmd = cmSystemTools::ConvertToOutputPath(it->c_str());
--    cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << cmd
-+    cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << *it
-       << std::endl);
--    if ( !cmSystemTools::RunSingleCommand(cmd.c_str(), 0, &retVal, 0,
-+    if ( !cmSystemTools::RunSingleCommand((*it).c_str(), 0, &retVal, 0,
-                                           cmSystemTools::OUTPUT_MERGE
-         /*this->Verbose*/) || retVal != 0 )
-       {
diff --git a/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch b/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch
new file mode 100644
index 00000000000..25bbd2a91ba
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/cmake_find_openssl_for_openssl-1.0.1m_and_up.patch
@@ -0,0 +1,11 @@
+--- ./Modules/FindOpenSSL.cmake
++++ ./Modules/FindOpenSSL.cmake
+@@ -264,7 +264,7 @@
+     set(OPENSSL_VERSION "${_OPENSSL_VERSION}")
+   elseif(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
+     file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
+-         REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
++         REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
+
+     # The version number is encoded as 0xMNNFFPPS: major minor fix patch status
+     # The status gives if this is a developer or prerelease and is ignored here.
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index e6f0e7affe9..2804bad2595 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,13 +1,17 @@
-{ stdenv, fetchurl, fetchpatch, replace, pkgconfig, curl, expat, zlib, bzip2, libarchive
+{ stdenv, fetchurl, pkgconfig
+, bzip2, curl, expat, jsoncpp, libarchive, xz, zlib
 , useNcurses ? false, ncurses, useQt4 ? false, qt4
+, wantPS ? false, ps ? null
 }:
 
 with stdenv.lib;
 
+assert wantPS -> (ps != null);
+
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "2.8";
-  minorVersion = "12.2";
+  majorVersion = "3.2";
+  minorVersion = "1";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -18,20 +22,15 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "0phf295a9cby0v7zqdswr238v5aiy3rb2fs6dz39zjxbmzlp8rcc";
+    sha256 = "0b2hy4p0aa9zshlxyw9nmlh5q8q1lmnwmb594rvh6sx2n7v1r7vm";
   };
 
   enableParallelBuilding = true;
 
   patches =
-    [(fetchpatch { # see http://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";
-      sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
-    })] ++
     # Don't search in non-Nix locations such as /usr, but do search in
-    # Nixpkgs' Glibc. 
-    optional (stdenv ? glibc) ./search-path.patch ++
+    # Nixpkgs' Glibc.
+    optional (stdenv ? glibc) ./search-path-3.2.patch ++
     optional (stdenv ? cross) (fetchurl {
       name = "fix-darwin-cross-compile.patch";
       url = "http://public.kitware.com/Bug/file_download.php?"
@@ -39,15 +38,24 @@ stdenv.mkDerivation rec {
       sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
     });
 
-  buildInputs = [ pkgconfig curl expat zlib bzip2 libarchive ]
+  buildInputs =
+    [ pkgconfig bzip2 curl expat libarchive xz zlib ]
+    ++ optional (jsoncpp != null) jsoncpp
     ++ optional useNcurses ncurses
     ++ optional useQt4 qt4;
 
-  CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" (buildInputs ++ [zlib.out]);
+  propagatedBuildInputs = optional wantPS ps;
+
+  CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
 
   configureFlags =
-    "--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
-    + stdenv.lib.optionalString useQt4 " --qt-gui";
+    [
+      "--docdir=/share/doc/${name}"
+      "--mandir=/share/man"
+      "--system-libs"
+    ]
+    ++ optional (jsoncpp == null) "--no-system-jsoncpp"
+    ++ optional useQt4 "--qt-gui";
 
   setupHook = ./setup-hook.sh;
 
@@ -57,13 +65,14 @@ stdenv.mkDerivation rec {
     ''
       source $setupHook
       fixCmakeFiles .
-      substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
+      substituteInPlace Modules/Platform/UnixPaths.cmake \
+        --subst-var-by glibc ${stdenv.glibc}
     '';
 
   meta = {
     homepage = http://www.cmake.org/;
     description = "Cross-Platform Makefile Generator";
     platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ urkud mornfall ];
+    maintainers = with stdenv.lib.maintainers; [ urkud mornfall ttuegel ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/cmake/search-path-264.patch b/pkgs/development/tools/build-managers/cmake/search-path-264.patch
deleted file mode 100644
index 97ad6f119d8..00000000000
--- a/pkgs/development/tools/build-managers/cmake/search-path-264.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
-index 4e4c2cb..9784655 100644
---- a/Modules/Platform/Linux.cmake
-+++ b/Modules/Platform/Linux.cmake
-@@ -43,21 +43,10 @@ ELSE(DEFINED CMAKE_INSTALL_SO_NO_EXE)
-   # checking the platform every time.  This option is advanced enough
-   # that only package maintainers should need to adjust it.  They are
-   # capable of providing a setting on the command line.
--  IF(EXISTS "/etc/debian_version")
--    SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
--      "Install .so files without execute permission.")
--  ELSE(EXISTS "/etc/debian_version")
--    SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
--      "Install .so files without execute permission.")
--  ENDIF(EXISTS "/etc/debian_version")
-+  SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
-+    "Install .so files without execute permission.")
- ENDIF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
- 
- INCLUDE(Platform/UnixPaths)
- 
--# Debian has lib64 paths only for compatibility so they should not be
--# searched.
--IF(EXISTS "/etc/debian_version")
--  SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
--ENDIF(EXISTS "/etc/debian_version")
--# always include the gcc compiler information
- INCLUDE(Platform/gcc)
-diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
-index 584d334..4fcf951 100755
---- a/Modules/Platform/UnixPaths.cmake
-+++ b/Modules/Platform/UnixPaths.cmake
-@@ -8,56 +8,18 @@ GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
- # List common installation prefixes.  These will be used for all
- # search types.
- LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
--  # Standard
--  / /usr /usr/local
--
--  # CMake install location
--  "${_CMAKE_INSTALL_DIR}"
--
--  # Project install destination.
--  "${CMAKE_INSTALL_PREFIX}"
--  )
--
--# List common include file locations not under the common prefixes.
--LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
--  # Windows API on Cygwin
--  /usr/include/w32api
--
--  # X11
--  /usr/X11R6/include /usr/include/X11
--
--  # Other
--  /opt/local/include /usr/pkg/include
--  /opt/csw/include /opt/include  
--  /usr/openwin/include
--  )
--
--LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
--  # Windows API on Cygwin
--  /usr/lib/w32api
--
--  # X11
--  /usr/X11R6/lib /usr/lib/X11
--
--  # Other
--  /opt/local/lib /usr/pkg/lib
--  /opt/csw/lib /opt/lib 
--  /usr/openwin/lib
--  )
--
--LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
--  /usr/pkg/bin
-+  "@glibc@"
-   )
- 
- LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
--  /lib /usr/lib /usr/lib32 /usr/lib64
-+  "@glibc@/lib"
-   )
- 
- LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
--  /usr/include
-+  "@glibc@/include"
-   )
- LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
--  /usr/include
-+  "@glibc@/include"
-   )
- 
- # Enable use of lib64 search path variants by default.
diff --git a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch
new file mode 100644
index 00000000000..b0447e70607
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch
@@ -0,0 +1,74 @@
+diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
+index 20ee1d1..39834e6 100644
+--- a/Modules/Platform/UnixPaths.cmake
++++ b/Modules/Platform/UnixPaths.cmake
+@@ -33,64 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
+ # search types.
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+   # Standard
+-  /usr/local /usr /
+-
+-  # CMake install location
+-  "${_CMAKE_INSTALL_DIR}"
+-  )
+-if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
+-  list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+-    # Project install destination.
+-    "${CMAKE_INSTALL_PREFIX}"
+-  )
+-  if(CMAKE_STAGING_PREFIX)
+-    list(APPEND CMAKE_SYSTEM_PREFIX_PATH
+-      # User-supplied staging prefix.
+-      "${CMAKE_STAGING_PREFIX}"
+-    )
+-  endif()
+-endif()
+-
+-# List common include file locations not under the common prefixes.
+-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+-  # Windows API on Cygwin
+-  /usr/include/w32api
+-
+-  # X11
+-  /usr/X11R6/include /usr/include/X11
+-
+-  # Other
+-  /usr/pkg/include
+-  /opt/csw/include /opt/include
+-  /usr/openwin/include
+-  )
+-
+-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+-  # Windows API on Cygwin
+-  /usr/lib/w32api
+-
+-  # X11
+-  /usr/X11R6/lib /usr/lib/X11
+-
+-  # Other
+-  /usr/pkg/lib
+-  /opt/csw/lib /opt/lib
+-  /usr/openwin/lib
+-  )
+-
+-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
+-  /usr/pkg/bin
++  "@glibc@"
+   )
+ 
+ list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+-  /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
++  "@glibc@/lib"
+   )
+ 
+ list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
+-  /usr/include
++  "@glibc@/include"
+   )
+ list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
+-  /usr/include
++  "@glibc@/include"
+   )
+ 
+ # Enable use of lib64 search path variants by default.
+
diff --git a/pkgs/development/tools/build-managers/cmake/search-path.patch b/pkgs/development/tools/build-managers/cmake/search-path.patch
deleted file mode 100644
index 31c85d6f522..00000000000
--- a/pkgs/development/tools/build-managers/cmake/search-path.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
-index fe8e003..378512c 100644
---- a/Modules/Platform/Linux.cmake
-+++ b/Modules/Platform/Linux.cmake
-@@ -36,13 +36,13 @@ else()
-   # checking the platform every time.  This option is advanced enough
-   # that only package maintainers should need to adjust it.  They are
-   # capable of providing a setting on the command line.
--  if(EXISTS "/etc/debian_version")
--    set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
--      "Install .so files without execute permission.")
--  else()
-+  # if(EXISTS "/etc/debian_version")
-+  #   set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
-+  #     "Install .so files without execute permission.")
-+  # else()
-     set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
-       "Install .so files without execute permission.")
--  endif()
-+  # endif()
- endif()
- 
- # Match multiarch library directory names.
-@@ -52,6 +52,6 @@ include(Platform/UnixPaths)
- 
- # Debian has lib64 paths only for compatibility so they should not be
- # searched.
--if(EXISTS "/etc/debian_version")
--  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
--endif()
-+# if(EXISTS "/etc/debian_version")
-+#  set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-+#endif()
-diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
-index ccb2663..39834e6 100644
---- a/Modules/Platform/UnixPaths.cmake
-+++ b/Modules/Platform/UnixPaths.cmake
-@@ -33,55 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
- # search types.
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
-   # Standard
--  /usr/local /usr /
--
--  # CMake install location
--  "${_CMAKE_INSTALL_DIR}"
--
--  # Project install destination.
--  "${CMAKE_INSTALL_PREFIX}"
--  )
--
--# List common include file locations not under the common prefixes.
--list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
--  # Windows API on Cygwin
--  /usr/include/w32api
--
--  # X11
--  /usr/X11R6/include /usr/include/X11
--
--  # Other
--  /usr/pkg/include
--  /opt/csw/include /opt/include
--  /usr/openwin/include
--  )
--
--list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
--  # Windows API on Cygwin
--  /usr/lib/w32api
--
--  # X11
--  /usr/X11R6/lib /usr/lib/X11
--
--  # Other
--  /usr/pkg/lib
--  /opt/csw/lib /opt/lib
--  /usr/openwin/lib
--  )
--
--list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
--  /usr/pkg/bin
-+  "@glibc@"
-   )
- 
- list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
--  /lib /usr/lib /usr/lib32 /usr/lib64
-+  "@glibc@/lib"
-   )
- 
- list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
--  /usr/include
-+  "@glibc@/include"
-   )
- list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
--  /usr/include
-+  "@glibc@/include"
-   )
- 
- # Enable use of lib64 search path variants by default.
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index 39052fea6cb..670376efdca 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -36,6 +36,15 @@ cmakeConfigurePhase() {
         cmakeFlags="-DCMAKE_CXX_COMPILER=$crossConfig-g++ -DCMAKE_C_COMPILER=$crossConfig-gcc $cmakeFlags"
     fi
 
+    # 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
+    # can only be found by an executable at runtime if the shared
+    # libraries are in a system path or in the same directory as the
+    # executable. This flag makes the shared library accessible from its
+    # nix/store directory.
+    cmakeFlags="-DCMAKE_INSTALL_NAME_DIR=$prefix/lib $cmakeFlags"
+
     # Avoid cmake resetting the rpath of binaries, on make install
     # And build always Release, to ensure optimisation flags
     cmakeFlags="-DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags"
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
new file mode 100644
index 00000000000..dd0b07912c8
--- /dev/null
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, curl, dmd, gcc, unzip}:
+
+stdenv.mkDerivation {
+  name = "dub-0.9.22";
+
+  src = fetchurl {
+    url = "https://github.com/rejectedsoftware/dub/archive/v0.9.22.tar.gz";
+    sha256 = "0vhn96ybbsfflldlbyc17rmwb7bz21slbm189k5glyfr9nnp4cir";
+  };
+
+  buildInputs = [ unzip curl ];
+
+  propagatedBuildInputs = [ gcc dmd ];
+
+  buildPhase = ''
+      # Avoid that the version file is overwritten
+      substituteInPlace build.sh \
+          --replace source/dub/version_.d /dev/null
+      ./build.sh
+  '';
+
+  installPhase = ''
+      mkdir $out
+      mkdir $out/bin
+      cp bin/dub $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Build tool for D projects";
+    homepage = http://code.dlang.org/;
+    license = stdenv.lib.licenses.mit;
+    platforms = platforms.unix;
+  };
+}
+
diff --git a/pkgs/development/tools/build-managers/gnumake/3.81/default.nix b/pkgs/development/tools/build-managers/gnumake/3.81/default.nix
index 2a8c80e7db2..7281f4509db 100644
--- a/pkgs/development/tools/build-managers/gnumake/3.81/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/3.81/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation {
     homepage = http://www.gnu.org/software/make/;
 
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
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 6b24df39be9..fa7bb9e122a 100644
--- a/pkgs/development/tools/build-managers/gnumake/3.82/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/3.82/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation {
     homepage = http://www.gnu.org/software/make/;
 
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/gnumake/4.0/default.nix b/pkgs/development/tools/build-managers/gnumake/4.0/default.nix
index 2da17490abf..a4128ac854c 100644
--- a/pkgs/development/tools/build-managers/gnumake/4.0/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/4.0/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
     homepage = http://www.gnu.org/software/make/;
 
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/gnumake/4.1/default.nix b/pkgs/development/tools/build-managers/gnumake/4.1/default.nix
new file mode 100644
index 00000000000..600f6f5759d
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/4.1/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl }:
+
+let
+  version = "4.1";
+in
+stdenv.mkDerivation {
+  name = "gnumake-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/make/make-${version}.tar.bz2";
+    sha256 = "19gwwhik3wdwn0r42b7xcihkbxvjl9r2bdal8nifc3k5i4rn3iqb";
+  };
+
+  patchFlags = "-p0";
+  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.patch
+  ];
+
+  meta = {
+    homepage = http://www.gnu.org/software/make/;
+    description = "A tool to control the generation of non-source files from sources";
+    license = stdenv.lib.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.
+    '';
+
+    maintainers = with stdenv.lib.maintainers; [ simons ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/gnumake/4.1/impure-dirs.patch b/pkgs/development/tools/build-managers/gnumake/4.1/impure-dirs.patch
new file mode 100644
index 00000000000..f6646f1d012
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/4.1/impure-dirs.patch
@@ -0,0 +1,34 @@
+diff -rc read.c read.c
+*** read.c	2006-03-17 15:24:20.000000000 +0100
+--- read.c	2007-05-24 17:16:31.000000000 +0200
+***************
+*** 99,107 ****
+--- 99,109 ----
+  #endif
+      INCLUDEDIR,
+  #ifndef _AMIGA
++ #if 0    
+      "/usr/gnu/include",
+      "/usr/local/include",
+      "/usr/include",
++ #endif    
+  #endif
+      0
+    };
+diff -rc reremake.c
+*** remake.c	2006-03-20 03:36:37.000000000 +0100
+--- remake.c	2007-05-24 17:06:54.000000000 +0200
+***************
+*** 1452,1460 ****
+--- 1452,1462 ----
+    static 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 a4863d12b5c..3bff9d59e7f 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, unzip, jdk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "gradle-1.11";
+  name = "gradle-2.2.1";
 
   src = fetchurl {
     url = "http://services.gradle.org/distributions/${name}-bin.zip";
-    sha256 = "14a0qdzjiar97l9a0i3ds2y48p1lrqkj7skkkvhz0r29hbgkbqh7";
+    sha256 = "420aa50738299327b611c10b8304b749e8d3a579407ee9e755b15921d95ff418";
   };
 
   installPhase = ''
     mkdir -pv $out
     cp -rv lib $out
 
+    gradle_launcher_jar=$(echo $out/lib/gradle-launcher-*.jar)
+    test -f $gradle_launcher_jar
     makeWrapper ${jdk}/bin/java $out/bin/gradle \
       --set JAVA_HOME ${jdk} \
-      --add-flags "-classpath $out/lib/gradle-launcher-1.11.jar org.gradle.launcher.GradleMain"
+      --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain"
   '';
 
   phases = "unpackPhase installPhase";
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
new file mode 100644
index 00000000000..a4e81864985
--- /dev/null
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "icmake-${version}";
+  version = "7.22.00";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/icmake/icmake_${version}.orig.tar.gz";
+    sha256 = "013vxnilygad981zb2608f95q2h3svvbgpjvzvk16qyxjy4y4q6z";
+  };
+
+  preConfigure = ''
+    patchShebangs ./
+    sed -i "s;usr/;;g" INSTALL.im
+  '';
+
+  buildPhase = "./icm_bootstrap $out";
+
+  installPhase = "./icm_install all /";
+
+  meta = with stdenv.lib; {
+    description = "A program maintenance (make) utility using a C-like grammar";
+    homepage = http://icmake.sourceforge.net/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/jam/default.nix b/pkgs/development/tools/build-managers/jam/default.nix
index 434e23d9b99..8f56577de32 100644
--- a/pkgs/development/tools/build-managers/jam/default.nix
+++ b/pkgs/development/tools/build-managers/jam/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://public.perforce.com/wiki/Jam;
-    license = "free";
+    license = stdenv.lib.licenses.free;
     description = "Just Another Make";
   };
 }
diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh
index c28854ca089..f3dd2bf2c93 100644
--- a/pkgs/development/tools/build-managers/leiningen/builder.sh
+++ b/pkgs/development/tools/build-managers/leiningen/builder.sh
@@ -7,8 +7,7 @@ mkdir -pv $out/bin $out/share/java
 out_bin=$out/bin/lein
 
 cp -v $src $out_bin
-cp -v $jarsrc $out/share/java
-cp -v $clojure/share/java/* $out/share/java/
+cp -v $jarsrc "$out/share/java/$name-standalone.jar"
 
 for p in $patches;
 do
@@ -20,5 +19,5 @@ patchShebangs $out
 
 wrapProgram $out_bin \
     --prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \
-    --set LEIN_GPG ${gnupg}/bin/gpg \
+    --set LEIN_GPG ${gnupg1compat}/bin/gpg \
     --set JAVA_CMD ${jdk}/bin/java
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 99353a1a192..5fb7d1a6995 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -1,36 +1,37 @@
 { stdenv, fetchurl, makeWrapper
-, coreutils, findutils, jdk, rlwrap, clojure, gnupg }:
+, coreutils, findutils, jdk, rlwrap, gnupg1compat }:
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.4.2";
+  version = "2.5.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "1qdq3v7wv9jacw4bipgx24knlipw6zdcx43yd1qyw6zwaad51ckw";
+    sha256 = "0pqqb2bh0a17426diwyhk5vbxcfz45rppbxmjydsmai94jm3cgix";
   };
 
   jarsrc = fetchurl {
-    url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.jar";
-    sha256 = "0n4kpmzw9nvppq758lhnrr7xps5j6gwmdm98m772cj7j4vixsrzb";
+    # NOTE: This is actually a .jar, Github has issues
+    url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
+    sha256 = "1irl3w66xq1xbbs4g10dnw1vknfw8al70nhr744gfn2za27w0xdl";
   };
 
   patches = [ ./lein-fix-jar-path.patch ];
 
-  inherit rlwrap clojure gnupg findutils coreutils jdk;
+  inherit rlwrap gnupg1compat findutils coreutils jdk;
 
   builder = ./builder.sh;
 
   buildInputs = [ makeWrapper ];
 
-  propagatedBuildInputs = [ jdk clojure ];
+  propagatedBuildInputs = [ jdk ];
 
   meta = {
     homepage = http://leiningen.org/;
     description = "Project automation for Clojure";
-    license = "EPL";
-    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.epl10;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
index d62e000fc2a..5ba5d86ac77 100644
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ b/pkgs/development/tools/build-managers/ninja/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ninja-${version}";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/martine/ninja/archive/v${version}.tar.gz";
-    sha256 = "0z9rzay6ipy6q025n1f2im8d8jy6in9pcdsiqj30xpdlsjg7p9zv";
+    sha256 = "1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw";
   };
 
   buildInputs = [ python asciidoc re2c ];
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index d10d9d6d1a3..d62ae35b854 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
       variety of locations (git, hg, etc).
       '';
 
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.the-kenny ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
new file mode 100644
index 00000000000..01a3b740e6e
--- /dev/null
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, jre }:
+
+stdenv.mkDerivation rec {
+  name = "sbt-${version}";
+  version = "0.13.8";
+
+  src = fetchurl {
+    url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
+    sha256 = "0n4ivla8s8ygfnf95dj624nhcyganigf7fy0gamgyf31vw1vnw35";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cat > $out/bin/sbt << EOF
+    #! ${stdenv.shell}
+    ${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
+    EOF
+    chmod +x $out/bin/sbt
+  '';
+
+  meta = {
+    homepage = http://www.scala-sbt.org/;
+    license = stdenv.lib.licenses.bsd3;
+    description = "A build tool for Scala, Java and more";
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index 93f7699481c..07268867044 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -2,7 +2,7 @@
 
 let
   name = "scons";
-  version = "2.3.2";
+  version = "2.3.4";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
-    sha256 = "1m29lhwz7p6k4f8wc8qjpwa89058lzq3vrycgxbfc5cmbq6354zr";
+    sha256 = "0hdlci43wjz8maryj83mz04ir6rwcdrrzpd7cpzvdlzycqhdfmsb";
   };
 
   buildInputs = [python makeWrapper];
diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
deleted file mode 100644
index b54f894d8eb..00000000000
--- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, jre }:
-
-stdenv.mkDerivation rec {
-  name = "sbt-${version}";
-  version = "0.13.5";
-
-  src = fetchurl {
-    url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
-    sha256 = "05zvb3j7xxswpz7fz2nwbl4dwfdf0cyx5xzjis5fyi2dbzmfdrmp";
-  };
-
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cat > $out/bin/sbt << EOF
-    #!/bin/sh
-    SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
-    ${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
-    EOF
-    chmod +x $out/bin/sbt
-  '';
-
-  meta = {
-    homepage = http://www.scala-sbt.org/;
-    license = stdenv.lib.licenses.bsd3;
-    description = "A build tool for Scala, Java and more";
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
-  };
-}
diff --git a/pkgs/development/tools/build-managers/tup/default.nix b/pkgs/development/tools/build-managers/tup/default.nix
new file mode 100644
index 00000000000..872a65889df
--- /dev/null
+++ b/pkgs/development/tools/build-managers/tup/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchFromGitHub, fuse, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "tup-${version}";
+  version = "0.7.3";
+
+  src = fetchFromGitHub {
+    owner = "gittup";
+    repo = "tup";
+    rev = "v${version}";
+    sha256 = "1x2grwmlf2izip4djb8cjwgl8p3x0bmfqwzjsc017mqi17qkijy8";
+  };
+
+  buildInputs = [ fuse pkgconfig ];
+
+  configurePhase = ''
+    sed -i 's/`git describe`/v${version}/g' Tupfile
+  '';
+
+  # Regular tup builds require fusermount to have suid, which nix cannot
+  # currently provide in a build environment, so we bootstrap and use 'tup
+  # generate' instead
+  buildPhase = ''
+    ./build.sh
+    ./build/tup generate script.sh
+    ./script.sh
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp tup $out/bin/
+
+    mkdir -p $out/share/man/man1
+    cp tup.1 $out/share/man/man1/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A fast, file-based build system";
+    longDescription = ''
+      Tup is a file-based build system for Linux, OSX, and Windows. It inputs a list
+      of file changes and a directed acyclic graph (DAG), then processes the DAG to
+      execute the appropriate commands required to update dependent files. Updates are
+      performed with very little overhead since tup implements powerful build
+      algorithms to avoid doing unnecessary work. This means you can stay focused on
+      your project rather than on your build system.
+    '';
+    homepage = http://gittup.org/tup/;
+    license = licenses.gpl2;
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/cdecl/default.nix b/pkgs/development/tools/cdecl/default.nix
index d923fea8b59..9e9fcfcc19d 100644
--- a/pkgs/development/tools/cdecl/default.nix
+++ b/pkgs/development/tools/cdecl/default.nix
@@ -11,14 +11,14 @@ stdenv.mkDerivation {
   preBuild = ''
     ${gnused}/bin/sed 's/getline/cdecl_getline/g' -i cdecl.c;
     makeFlagsArray=(CFLAGS="-DBSD -DUSE_READLINE -std=gnu89" LIBS=-lreadline);
-    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1";
+    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1 CC=$CC";
     mkdir -p $out/bin;
   '';
   buildInputs = [yacc flex readline ncurses];
 
   meta = {
     description = "Translator English -- C/C++ declarations";
-    license = "Public Domain";
+    license = stdenv.lib.licenses.publicDomain;
     maintainers = with stdenv.lib.maintainers; [viric joelteon];
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/tools/chefdk/Gemfile b/pkgs/development/tools/chefdk/Gemfile
new file mode 100644
index 00000000000..9cd40fd3f4b
--- /dev/null
+++ b/pkgs/development/tools/chefdk/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem 'chef-dk'
diff --git a/pkgs/development/tools/chefdk/Gemfile.lock b/pkgs/development/tools/chefdk/Gemfile.lock
new file mode 100644
index 00000000000..60ff7b5ba3e
--- /dev/null
+++ b/pkgs/development/tools/chefdk/Gemfile.lock
@@ -0,0 +1,99 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    chef (12.0.3)
+      chef-zero (~> 3.2)
+      diff-lcs (~> 1.2, >= 1.2.4)
+      erubis (~> 2.7)
+      ffi-yajl (~> 1.2)
+      highline (~> 1.6, >= 1.6.9)
+      mixlib-authentication (~> 1.3)
+      mixlib-cli (~> 1.4)
+      mixlib-config (~> 2.0)
+      mixlib-log (~> 1.3)
+      mixlib-shellout (>= 2.0.0.rc.0, < 3.0)
+      net-ssh (~> 2.6)
+      net-ssh-multi (~> 1.1)
+      ohai (~> 8.0)
+      plist (~> 3.1.0)
+      pry (~> 0.9)
+    chef-dk (0.4.0)
+      chef (~> 12.0)
+      cookbook-omnifetch (~> 0.2)
+      ffi-yajl (~> 1.0)
+      mixlib-cli (~> 1.5)
+      mixlib-shellout (>= 2.0.0.rc.0, < 3.0.0)
+      solve (~> 1.2)
+    chef-zero (3.2.1)
+      ffi-yajl (~> 1.1)
+      hashie (~> 2.0)
+      mixlib-log (~> 1.3)
+      rack
+      uuidtools (~> 2.1)
+    coderay (1.1.0)
+    cookbook-omnifetch (0.2.0)
+      minitar (~> 0.5.4)
+    dep-selector-libgecode (1.0.2)
+    dep_selector (1.0.3)
+      dep-selector-libgecode (~> 1.0)
+      ffi (~> 1.9)
+    diff-lcs (1.2.5)
+    erubis (2.7.0)
+    ffi (1.9.6)
+    ffi-yajl (1.4.0)
+      ffi (~> 1.5)
+      libyajl2 (~> 1.2)
+    hashie (2.1.2)
+    highline (1.7.1)
+    ipaddress (0.8.0)
+    libyajl2 (1.2.0)
+    method_source (0.8.2)
+    mime-types (2.4.3)
+    minitar (0.5.4)
+    mixlib-authentication (1.3.0)
+      mixlib-log
+    mixlib-cli (1.5.0)
+    mixlib-config (2.1.0)
+    mixlib-log (1.6.0)
+    mixlib-shellout (2.0.1)
+    net-dhcp (1.3.2)
+    net-ssh (2.9.2)
+    net-ssh-gateway (1.2.0)
+      net-ssh (>= 2.6.5)
+    net-ssh-multi (1.2.0)
+      net-ssh (>= 2.6.5)
+      net-ssh-gateway (>= 1.2.0)
+    ohai (8.1.1)
+      ffi (~> 1.9)
+      ffi-yajl (~> 1.1)
+      ipaddress
+      mime-types (~> 2.0)
+      mixlib-cli
+      mixlib-config (~> 2.0)
+      mixlib-log
+      mixlib-shellout (~> 2.0)
+      net-dhcp
+      rake (~> 10.1)
+      systemu (~> 2.6.4)
+      wmi-lite (~> 1.0)
+    plist (3.1.0)
+    pry (0.10.1)
+      coderay (~> 1.1.0)
+      method_source (~> 0.8.1)
+      slop (~> 3.4)
+    rack (1.6.0)
+    rake (10.4.2)
+    semverse (1.2.1)
+    slop (3.6.0)
+    solve (1.2.1)
+      dep_selector (~> 1.0)
+      semverse (~> 1.1)
+    systemu (2.6.4)
+    uuidtools (2.1.5)
+    wmi-lite (1.0.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  chef-dk
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
new file mode 100644
index 00000000000..8352c71a686
--- /dev/null
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, lib, bundlerEnv, ruby, perl }:
+
+bundlerEnv {
+  name = "chefdk-0.4.0";
+
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  buildInputs = [ perl ];
+
+  meta = with lib; {
+    description = "A streamlined development and deployment workflow for Chef platform.";
+    homepage    = https://downloads.chef.io/chef-dk/;
+    license     = with licenses; asl20;
+    maintainers = with maintainers; [ offline ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/chefdk/gemset.nix b/pkgs/development/tools/chefdk/gemset.nix
new file mode 100644
index 00000000000..f83e73693d8
--- /dev/null
+++ b/pkgs/development/tools/chefdk/gemset.nix
@@ -0,0 +1,344 @@
+{
+  "chef" = {
+    version = "12.0.3";
+    source = {
+      type = "gem";
+      sha256 = "0lqix0mli6fm3lwrf563sjvfkfsrnyzbz8xqkp54q65dkl63ldy0";
+    };
+    dependencies = [
+      "chef-zero"
+      "diff-lcs"
+      "erubis"
+      "ffi-yajl"
+      "highline"
+      "mixlib-authentication"
+      "mixlib-cli"
+      "mixlib-config"
+      "mixlib-log"
+      "mixlib-shellout"
+      "net-ssh"
+      "net-ssh-multi"
+      "ohai"
+      "plist"
+      "pry"
+    ];
+  };
+  "chef-dk" = {
+    version = "0.4.0";
+    source = {
+      type = "gem";
+      sha256 = "12fdk5j6cymwk4vk45mvi5i1hs9a88jvg6g7x6pxbc0bp3if2c6a";
+    };
+    dependencies = [
+      "chef"
+      "cookbook-omnifetch"
+      "ffi-yajl"
+      "mixlib-cli"
+      "mixlib-shellout"
+      "solve"
+    ];
+  };
+  "chef-zero" = {
+    version = "3.2.1";
+    source = {
+      type = "gem";
+      sha256 = "04zypmygpxz8nwhjs4gvr8rcb9vqhmz37clbh7k7xxh5b2hs654k";
+    };
+    dependencies = [
+      "ffi-yajl"
+      "hashie"
+      "mixlib-log"
+      "rack"
+      "uuidtools"
+    ];
+  };
+  "coderay" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
+    };
+  };
+  "cookbook-omnifetch" = {
+    version = "0.2.0";
+    source = {
+      type = "gem";
+      sha256 = "027zz78693jd5g0fwp0xlzig2zijsxcgvfw5854ig37gy5a54wy4";
+    };
+    dependencies = [
+      "minitar"
+    ];
+  };
+  "dep-selector-libgecode" = {
+    version = "1.0.2";
+    source = {
+      type = "gem";
+      sha256 = "0755ps446wc4cf26ggmvibr4wmap6ch7zhkh1qmx1p6lic2hr4gn";
+    };
+  };
+  "dep_selector" = {
+    version = "1.0.3";
+    source = {
+      type = "gem";
+      sha256 = "1ic90j3d6hmyxmdxzdz8crwmvw61f4kj0jphk43m6ipcx6bkphzw";
+    };
+    dependencies = [
+      "dep-selector-libgecode"
+      "ffi"
+    ];
+  };
+  "diff-lcs" = {
+    version = "1.2.5";
+    source = {
+      type = "gem";
+      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
+    };
+  };
+  "erubis" = {
+    version = "2.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+    };
+  };
+  "ffi" = {
+    version = "1.9.6";
+    source = {
+      type = "gem";
+      sha256 = "1ckw1336rnyv9yvvl614qgkqqi477g4hljv6xsws2vz14ynlvzhj";
+    };
+  };
+  "ffi-yajl" = {
+    version = "1.4.0";
+    source = {
+      type = "gem";
+      sha256 = "1l289wyzc06v0rn73msqxx4gm48iqgxkd9rins22f13qicpczi5g";
+    };
+    dependencies = [
+      "ffi"
+      "libyajl2"
+    ];
+  };
+  "hashie" = {
+    version = "2.1.2";
+    source = {
+      type = "gem";
+      sha256 = "08w9ask37zh5w989b6igair3zf8gwllyzix97rlabxglif9f9qd9";
+    };
+  };
+  "highline" = {
+    version = "1.7.1";
+    source = {
+      type = "gem";
+      sha256 = "1355zfwmm6baq44rp0ny7zdnsipgn5maxk19hvii0jx2bsk417fr";
+    };
+  };
+  "ipaddress" = {
+    version = "0.8.0";
+    source = {
+      type = "gem";
+      sha256 = "0cwy4pyd9nl2y2apazp3hvi12gccj5a3ify8mi8k3knvxi5wk2ir";
+    };
+  };
+  "libyajl2" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "0n5j0p8dxf9xzb9n4bkdr8w0a8gg3jzrn9indri3n0fv90gcs5qi";
+    };
+  };
+  "method_source" = {
+    version = "0.8.2";
+    source = {
+      type = "gem";
+      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
+    };
+  };
+  "mime-types" = {
+    version = "2.4.3";
+    source = {
+      type = "gem";
+      sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq";
+    };
+  };
+  "minitar" = {
+    version = "0.5.4";
+    source = {
+      type = "gem";
+      sha256 = "1vpdjfmdq1yc4i620frfp9af02ia435dnpj8ybsd7dc3rypkvbka";
+    };
+  };
+  "mixlib-authentication" = {
+    version = "1.3.0";
+    source = {
+      type = "gem";
+      sha256 = "1c5p5ipa3cssmwgdn0q3lyy1w7asikh9qfpnn7xcfz2f9m7v02zg";
+    };
+    dependencies = [
+      "mixlib-log"
+    ];
+  };
+  "mixlib-cli" = {
+    version = "1.5.0";
+    source = {
+      type = "gem";
+      sha256 = "0im6jngj76azrz0nv69hgpy1af4smcgpfvmmwh5iwsqwa46zx0k0";
+    };
+  };
+  "mixlib-config" = {
+    version = "2.1.0";
+    source = {
+      type = "gem";
+      sha256 = "13mb628614nl4dfwyyqpxc7b688ls6cfnjx06j8c13sl003xkp7g";
+    };
+  };
+  "mixlib-log" = {
+    version = "1.6.0";
+    source = {
+      type = "gem";
+      sha256 = "1xblfxby3psh4n5cgc6j6xnvmmssyr8qjy0l76f92nr4b9yvv9m2";
+    };
+  };
+  "mixlib-shellout" = {
+    version = "2.0.1";
+    source = {
+      type = "gem";
+      sha256 = "16n2zli15504bfzxwj5riq92zz3h8n8xswvs5gi0dp2dhyjd7lp3";
+    };
+  };
+  "net-dhcp" = {
+    version = "1.3.2";
+    source = {
+      type = "gem";
+      sha256 = "13mq3kwk6k3cd0vhnj1xq0gvbg2hbynzpnvq6fa6vqakbyc0iznd";
+    };
+  };
+  "net-ssh" = {
+    version = "2.9.2";
+    source = {
+      type = "gem";
+      sha256 = "1p0bj41zrmw5lhnxlm1pqb55zfz9y4p9fkrr9a79nrdmzrk1ph8r";
+    };
+  };
+  "net-ssh-gateway" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1nqkj4wnj26r81rp3g4jqk7bkd2nqzjil3c9xqwchi0fsbwv2niy";
+    };
+    dependencies = [
+      "net-ssh"
+    ];
+  };
+  "net-ssh-multi" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "0927244ac8h3z6wl5cifkblsa95ddpsxr6k8h2fmdvg5wdqs4ydh";
+    };
+    dependencies = [
+      "net-ssh"
+      "net-ssh-gateway"
+    ];
+  };
+  "ohai" = {
+    version = "8.1.1";
+    source = {
+      type = "gem";
+      sha256 = "1lcbl7lrmy56x6l6ca7miawj9h40ff6nv4b3n6bz3w7fa3vh9xz0";
+    };
+    dependencies = [
+      "ffi"
+      "ffi-yajl"
+      "ipaddress"
+      "mime-types"
+      "mixlib-cli"
+      "mixlib-config"
+      "mixlib-log"
+      "mixlib-shellout"
+      "net-dhcp"
+      "rake"
+      "systemu"
+      "wmi-lite"
+    ];
+  };
+  "plist" = {
+    version = "3.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0rh8nddwdya888j1f4wix3dfan1rlana3mc7mwrvafxir88a1qcs";
+    };
+  };
+  "pry" = {
+    version = "0.10.1";
+    source = {
+      type = "gem";
+      sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z";
+    };
+    dependencies = [
+      "coderay"
+      "method_source"
+      "slop"
+    ];
+  };
+  "rack" = {
+    version = "1.6.0";
+    source = {
+      type = "gem";
+      sha256 = "1f57f8xmrgfgd76s6mq7vx6i266zm4330igw71an1g0kh3a42sbb";
+    };
+  };
+  "rake" = {
+    version = "10.4.2";
+    source = {
+      type = "gem";
+      sha256 = "1rn03rqlf1iv6n87a78hkda2yqparhhaivfjpizblmxvlw2hk5r8";
+    };
+  };
+  "semverse" = {
+    version = "1.2.1";
+    source = {
+      type = "gem";
+      sha256 = "0s47lprqwmlhnxm3anrhvd3559g51hgrcqn3mq0fy696zkv8vfd8";
+    };
+  };
+  "slop" = {
+    version = "3.6.0";
+    source = {
+      type = "gem";
+      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
+    };
+  };
+  "solve" = {
+    version = "1.2.1";
+    source = {
+      type = "gem";
+      sha256 = "0ff5iwhsr6fcp10gd2ivrx1fcw3lm5f5f11srhy2z5dc3v79mcja";
+    };
+    dependencies = [
+      "dep_selector"
+      "semverse"
+    ];
+  };
+  "systemu" = {
+    version = "2.6.4";
+    source = {
+      type = "gem";
+      sha256 = "16k94azpsy1r958r6ysk4ksnpp54rqmh5hyamad9kwc3lk83i32z";
+    };
+  };
+  "uuidtools" = {
+    version = "2.1.5";
+    source = {
+      type = "gem";
+      sha256 = "0zjvq1jrrnzj69ylmz1xcr30skf9ymmvjmdwbvscncd7zkr8av5g";
+    };
+  };
+  "wmi-lite" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "06pm7jr2gcnphhhswha2kqw0vhxy91i68942s7gqriadbc8pq9z3";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 5194684261c..4b9a8280f5e 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "jenkins";
-  version = "1.550";
+  name = "jenkins-${version}";
+  version = "1.594";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "1ziimbfs9kylga0xmxlfsfcc7qsirs5bnx00pa99m2l5sz2ki793";
+    sha256 = "1ypinl78avvir9499xargjbrzxv2b8kspjicsg8xzk5wsymzybn1";
   };
-  meta = {
-    description = "An extendable open source continuous integration server.";
+  meta = with stdenv.lib; {
+    description = "An extendable open source continuous integration server";
     homepage = http://jenkins-ci.org;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.coconnor ];
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.coconnor ];
   };
 
   buildCommand = "ln -s $src $out";
diff --git a/pkgs/development/tools/database/sqldeveloper/default.nix b/pkgs/development/tools/database/sqldeveloper/default.nix
new file mode 100644
index 00000000000..9a0afdc8e1d
--- /dev/null
+++ b/pkgs/development/tools/database/sqldeveloper/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, makeWrapper, requireFile, unzip, oraclejdk7, bash}:
+
+stdenv.mkDerivation rec {
+  version = "4.0.3.16.84";
+  name = "sqldeveloper-${version}";
+
+  src = requireFile {
+    name = "${name}-no-jre.zip";
+    url = http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html;
+    sha256 = "1qbqjkfda7xry716da2hdbbazks96rgyslrw1lw0azmqdp1mir7g";
+  };
+
+  buildInputs = [ makeWrapper unzip ];
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    # patch to be able to install a sqldeveloper wrapper script compliant with nix's bin folder once installed
+    echo -e '#!${bash}/bin/bash\ncd "`dirname $0`"/../sqldeveloper/bin && ${bash}/bin/bash sqldeveloper $*' >> $out/bin/sqldeveloper
+
+    cd $out
+    unzip ${src}
+    cp -r sqldeveloper/* $out/
+    # Activate the needed shell script
+    rm $out/sqldeveloper.sh
+    chmod +x $out/bin/sqldeveloper
+    chmod +x $out/sqldeveloper/bin/sqldeveloper
+
+    wrapProgram $out/bin/sqldeveloper \
+      --set JAVA_HOME "${oraclejdk7}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Oracle's Oracle DB GUI client.";
+    longDescription = ''
+      Oracle SQL Developer is a free integrated development environment that
+      simplifies the development and management of Oracle Database in both
+      traditional and Cloud deployments. SQL Developer offers complete
+      end-to-end development of your PL/SQL applications, a worksheet for
+      running queries and scripts, a DBA console for managing the database,
+      a reports interface, a complete data modeling solution, and a migration
+      platform for moving your 3rd party databases to Oracle.
+    '';
+    homepage = http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html;
+    license = licenses.unfree;
+    maintainers = [ maintainers.ardumont ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index a5d7d260804..e1f7f19dd56 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, pkgconfig, perl, python, libxml2Python, libxslt, which
-, docbook_xml_dtd_43, docbook_xsl, gnome_doc_utils, dblatex, gettext }:
+, docbook_xml_dtd_43, docbook_xsl, gnome_doc_utils, dblatex, gettext, itstool }:
 
-stdenv.mkDerivation {
-  name = "gtk-doc-1.18";
+stdenv.mkDerivation rec {
+  name = "gtk-doc-${version}";
+  version = "1.21";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gtk-doc/1.18/gtk-doc-1.18.tar.xz;
-    sha256 = "084scak99ppgqk5lkziskhcsd3jmcgf7a98ddwhciq8vaqf5jnvq";
+    url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz";
+    sha256 = "0gpfh25qxsic7n25pfl74mjp38hdm3pr4islhlaxv3p05q0lv4sx";
   };
 
   # maybe there is a better way to pass the needed dtd and xsl files
@@ -27,6 +28,13 @@ stdenv.mkDerivation {
 
   buildInputs =
    [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
-     gnome_doc_utils dblatex gettext which
+     gnome_doc_utils dblatex gettext which itstool
    ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gtk.org/gtk-doc;
+    description = "Tools to extract documentation embedded in GTK+ and GNOME source code";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+  };
 }
diff --git a/pkgs/development/tools/documentation/haddock/2.10.0.nix b/pkgs/development/tools/documentation/haddock/2.10.0.nix
deleted file mode 100644
index af9a72058b2..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.10.0.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, alex, Cabal, filepath, ghcPaths, happy, xhtml, makeWrapper }:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.10.0";
-  sha256 = "045lmmna5nwj07si81vxms5xkkmqvjsiif20nny5mvlabshxn1yi";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath ghcPaths xhtml makeWrapper ];
-  testDepends = [ Cabal filepath ];
-  buildTools = [ alex happy ];
-  doCheck = false;
-
-  postInstall = ''
-   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
-  '';
-
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.11.0.nix b/pkgs/development/tools/documentation/haddock/2.11.0.nix
deleted file mode 100644
index d43e529585b..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.11.0.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, alex, Cabal, filepath, ghcPaths, happy, xhtml, makeWrapper }:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.11.0";
-  sha256 = "0a29n6y9lmk5w78f6j8s7pg0m0k3wm7bx5r2lhk7bnzkr5f7rkcd";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath ghcPaths xhtml makeWrapper ];
-  testDepends = [ Cabal filepath ];
-  buildTools = [ alex happy ];
-  doCheck = false;
-
-  postInstall = ''
-   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
-  '';
-
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.12.0.nix b/pkgs/development/tools/documentation/haddock/2.12.0.nix
deleted file mode 100644
index b1249eee327..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.12.0.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml }:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.12.0";
-  sha256 = "00kdmpa6vhn6x790641ln40v3pn7aj4ws6pq854n1iyg5ly3ridn";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
-  testDepends = [ Cabal filepath ];
-  buildTools = [ alex happy ];
-  doCheck = false;
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.13.2.1.nix b/pkgs/development/tools/documentation/haddock/2.13.2.1.nix
deleted file mode 100644
index 749fee28571..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.13.2.1.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml, makeWrapper }:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.13.2.1";
-  sha256 = "0kpk3bmlyd7cb6s39ix8s0ak65xhrln9mg481y3h24lf5syy5ky9";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml makeWrapper ];
-  testDepends = [ Cabal deepseq filepath ];
-  buildTools = [ alex happy ];
-  doCheck = false;
-
-  postInstall = ''
-   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
-  '';
-
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.13.2.nix b/pkgs/development/tools/documentation/haddock/2.13.2.nix
deleted file mode 100644
index aa5be90fbae..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.13.2.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml, makeWrapper }:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.13.2";
-  sha256 = "1qwj13ks3fzar14s587svv1pdiwk80m7x5pzn74v3jrqkn0xbrr5";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml makeWrapper ];
-  testDepends = [ Cabal deepseq filepath ];
-  buildTools = [ alex happy ];
-  doCheck = false;
-
-  postInstall = ''
-   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
-  '';
-
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.14.2.nix b/pkgs/development/tools/documentation/haddock/2.14.2.nix
deleted file mode 100644
index c8ef4299f56..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.14.2.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ cabal, Cabal, deepseq, filepath, ghcPaths, hspec, QuickCheck
-, xhtml, makeWrapper
-}:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.14.2";
-  sha256 = "0h96jj6y093h4gcqpiq0nyv7h5wjg8ji7z1im9ydivmsv0627prk";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml makeWrapper ];
-  testDepends = [ Cabal deepseq filepath hspec QuickCheck ];
-  doCheck = false;
-
-  postInstall = ''
-   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
-  '';
-
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.14.3.nix b/pkgs/development/tools/documentation/haddock/2.14.3.nix
deleted file mode 100644
index 7ce4782bb60..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.14.3.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, deepseq, filepath, ghcPaths, hspec, QuickCheck
-, xhtml
-}:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.14.3";
-  sha256 = "031ikrsbkpmmwgdkgdr8s19dfx5y6n39rmyljjdfqygas17gcm6l";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
-  testDepends = [ Cabal deepseq filepath hspec QuickCheck ];
-  preCheck = "unset GHC_PACKAGE_PATH";
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.4.2.nix b/pkgs/development/tools/documentation/haddock/2.4.2.nix
deleted file mode 100644
index 6493302218f..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.4.2.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, alex, Cabal, filepath, ghcPaths, happy }:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.4.2";
-  sha256 = "dbf0a7d0103a3ce6a91b2a3b96148c1b9c13ea7f8bd74260c21fe98df7839547";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath ghcPaths ];
-  buildTools = [ alex happy ];
-  doCheck = false;
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.7.2.nix b/pkgs/development/tools/documentation/haddock/2.7.2.nix
deleted file mode 100644
index 53178aca0a1..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.7.2.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{cabal, ghcPaths, alex, happy, makeWrapper}:
-
-cabal.mkDerivation (self : {
-  pname = "haddock";
-  version = "2.7.2"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
-  name = self.fname;
-  sha256 = "4eaaaf62785f0ba3d37ba356cfac4679faef91c0902d8cdbf42837cbe5daab82";
-  buildTools = [alex happy makeWrapper];
-  propagatedBuildInputs = [ghcPaths];
-  doCheck = false;
-
-  postInstall = ''
-   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
-  '';
-
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.9.2.nix b/pkgs/development/tools/documentation/haddock/2.9.2.nix
deleted file mode 100644
index 2ed94ff072a..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.9.2.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{cabal, ghcPaths, xhtml, alex, happy, makeWrapper}:
-
-cabal.mkDerivation (self : {
-  pname = "haddock";
-  version = "2.9.2"; # Haskell Platform 2011.2.0.0
-  name = self.fname;
-  sha256 = "189vvp173pqc69zgzqqx6vyhvsc13p1s86ql60rs1j5qlhh8ajg8";
-  buildTools = [alex happy makeWrapper];
-  propagatedBuildInputs = [ghcPaths xhtml];
-  doCheck = false;
-
-  postInstall = ''
-   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
-  '';
-
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-    ];
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/2.9.4.nix b/pkgs/development/tools/documentation/haddock/2.9.4.nix
deleted file mode 100644
index 80d7c623c1e..00000000000
--- a/pkgs/development/tools/documentation/haddock/2.9.4.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, alex, Cabal, filepath, ghcPaths, happy, regexCompat, xhtml
-}:
-
-cabal.mkDerivation (self: {
-  pname = "haddock";
-  version = "2.9.4";
-  sha256 = "18w5pa1zpjy9mmdzjh0hs8jybmky8j87vzry54nni6a3517c5x86";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath ghcPaths xhtml ];
-  testDepends = [ Cabal filepath regexCompat ];
-  buildTools = [ alex happy ];
-  doCheck = false;
-  meta = {
-    homepage = "http://www.haskell.org/haddock/";
-    description = "A documentation-generation tool for Haskell libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/documentation/haddock/default.nix b/pkgs/development/tools/documentation/haddock/default.nix
new file mode 100644
index 00000000000..e809312d576
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, haddockApi }:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.15.0.1";
+  sha256 = "0pvhhqackfikmp5zg6v6lysvr69f3f9f78xcjs4sd68f0rby7fdp";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haddockApi ];
+  testDepends = [ Cabal filepath ];
+  preCheck = "unset GHC_PACKAGE_PATH";
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.nix b/pkgs/development/tools/egg2nix/chicken-eggs.nix
new file mode 100644
index 00000000000..4ec9e0daa47
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/chicken-eggs.nix
@@ -0,0 +1,296 @@
+{ pkgs, stdenv }:
+rec {
+  inherit (pkgs) eggDerivation fetchegg;
+
+  base64 = eggDerivation {
+    name = "base64-3.3.1";
+
+    src = fetchegg {
+      name = "base64";
+      version = "3.3.1";
+      sha256 = "0wmldiwwg1jpcn07wb906nc53si5j7sa83wgyq643xzqcx4v4x1d";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  blob-utils = eggDerivation {
+    name = "blob-utils-1.0.3";
+
+    src = fetchegg {
+      name = "blob-utils";
+      version = "1.0.3";
+      sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
+    };
+
+    buildInputs = [
+      setup-helper
+      string-utils
+    ];
+  };
+
+  check-errors = eggDerivation {
+    name = "check-errors-1.13.0";
+
+    src = fetchegg {
+      name = "check-errors";
+      version = "1.13.0";
+      sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
+    };
+
+    buildInputs = [
+      setup-helper
+    ];
+  };
+
+  defstruct = eggDerivation {
+    name = "defstruct-1.6";
+
+    src = fetchegg {
+      name = "defstruct";
+      version = "1.6";
+      sha256 = "0lsgl32nmb5hxqiii4r3292cx5vqh50kp6v062nfiyid9lhrj0li";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  http-client = eggDerivation {
+    name = "http-client-0.7.1";
+
+    src = fetchegg {
+      name = "http-client";
+      version = "0.7.1";
+      sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr";
+    };
+
+    buildInputs = [
+      intarweb
+      uri-common
+      message-digest
+      md5
+      string-utils
+      sendfile
+    ];
+  };
+
+  intarweb = eggDerivation {
+    name = "intarweb-1.3";
+
+    src = fetchegg {
+      name = "intarweb";
+      version = "1.3";
+      sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h";
+    };
+
+    buildInputs = [
+      defstruct
+      uri-common
+      base64
+    ];
+  };
+
+  lookup-table = eggDerivation {
+    name = "lookup-table-1.13.5";
+
+    src = fetchegg {
+      name = "lookup-table";
+      version = "1.13.5";
+      sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
+    };
+
+    buildInputs = [
+      setup-helper
+      check-errors
+      miscmacros
+      record-variants
+      synch
+    ];
+  };
+
+  matchable = eggDerivation {
+    name = "matchable-3.3";
+
+    src = fetchegg {
+      name = "matchable";
+      version = "3.3";
+      sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  md5 = eggDerivation {
+    name = "md5-3.1.0";
+
+    src = fetchegg {
+      name = "md5";
+      version = "3.1.0";
+      sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a";
+    };
+
+    buildInputs = [
+      message-digest
+    ];
+  };
+
+  message-digest = eggDerivation {
+    name = "message-digest-3.1.0";
+
+    src = fetchegg {
+      name = "message-digest";
+      version = "3.1.0";
+      sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
+    };
+
+    buildInputs = [
+      setup-helper
+      miscmacros
+      check-errors
+      variable-item
+      blob-utils
+      string-utils
+    ];
+  };
+
+  miscmacros = eggDerivation {
+    name = "miscmacros-2.96";
+
+    src = fetchegg {
+      name = "miscmacros";
+      version = "2.96";
+      sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  record-variants = eggDerivation {
+    name = "record-variants-0.5.1";
+
+    src = fetchegg {
+      name = "record-variants";
+      version = "0.5.1";
+      sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  sendfile = eggDerivation {
+    name = "sendfile-1.7.29";
+
+    src = fetchegg {
+      name = "sendfile";
+      version = "1.7.29";
+      sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  setup-helper = eggDerivation {
+    name = "setup-helper-1.5.4";
+
+    src = fetchegg {
+      name = "setup-helper";
+      version = "1.5.4";
+      sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  string-utils = eggDerivation {
+    name = "string-utils-1.2.4";
+
+    src = fetchegg {
+      name = "string-utils";
+      version = "1.2.4";
+      sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
+    };
+
+    buildInputs = [
+      setup-helper
+      miscmacros
+      lookup-table
+      check-errors
+    ];
+  };
+
+  synch = eggDerivation {
+    name = "synch-2.1.2";
+
+    src = fetchegg {
+      name = "synch";
+      version = "2.1.2";
+      sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
+    };
+
+    buildInputs = [
+      setup-helper
+      check-errors
+    ];
+  };
+
+  uri-common = eggDerivation {
+    name = "uri-common-1.4";
+
+    src = fetchegg {
+      name = "uri-common";
+      version = "1.4";
+      sha256 = "01ds1gixcn4rz657x3hr4rhw2496hsjff42ninw0k39l8i1cbh7c";
+    };
+
+    buildInputs = [
+      uri-generic
+      defstruct
+      matchable
+    ];
+  };
+
+  uri-generic = eggDerivation {
+    name = "uri-generic-2.41";
+
+    src = fetchegg {
+      name = "uri-generic";
+      version = "2.41";
+      sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac";
+    };
+
+    buildInputs = [
+      matchable
+      defstruct
+    ];
+  };
+
+  variable-item = eggDerivation {
+    name = "variable-item-1.3.1";
+
+    src = fetchegg {
+      name = "variable-item";
+      version = "1.3.1";
+      sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
+    };
+
+    buildInputs = [
+      setup-helper
+      check-errors
+    ];
+  };
+}
+
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.scm b/pkgs/development/tools/egg2nix/chicken-eggs.scm
new file mode 100644
index 00000000000..d847ae9e29b
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/chicken-eggs.scm
@@ -0,0 +1,5 @@
+;; Eggs used by egg2nix
+http-client
+intarweb
+matchable
+uri-common
diff --git a/pkgs/development/tools/egg2nix/default.nix b/pkgs/development/tools/egg2nix/default.nix
new file mode 100644
index 00000000000..d0f3b8a4e26
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, eggDerivation, fetchurl, chickenEggs }:
+
+# Note: This mostly reimplements the default.nix already contained in
+# the tarball. Is there a nicer way than duplicating code?
+
+let
+  version = "0.5";
+in
+eggDerivation {
+  src = fetchurl {
+    url = "https://github.com/the-kenny/egg2nix/archive/${version}.tar.gz";
+    sha256 = "0adal428v4i7h9lzs7sfq75q2mxhsbf1qqwzrsjv8j41paars20y";
+  };
+
+  name = "egg2nix-${version}";
+  buildInputs = with chickenEggs; [
+    matchable http-client
+  ];
+
+  meta = {
+    description = "Generate nix-expression from CHICKEN scheme eggs";
+    homepage = https://github.com/the-kenny/egg2nix;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/development/tools/etcdctl/default.nix b/pkgs/development/tools/etcdctl/default.nix
index 5e6438d0f5f..ae2c06d5a22 100644
--- a/pkgs/development/tools/etcdctl/default.nix
+++ b/pkgs/development/tools/etcdctl/default.nix
@@ -1,26 +1,21 @@
-{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ lib, goPackages, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  version = "0.4.3";
-  name = "etcdctl-${version}";
+with goPackages;
 
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+buildGoPackage rec {
+  version = "0.4.5";
+  name = "etcdctl-${version}";
+  goPackagePath = "github.com/coreos/etcdctl";
+  src = fetchFromGitHub {
+    owner = "coreos";
+    repo = "etcdctl";
+    rev = "v${version}";
+    sha256 = "1kbri59ppil52v7s992q8r6i1zk9lac0s2w00z2lsgc9w1z59qs0";
   };
 
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    export GOPATH=$src
-    go build -v -o etcdctl github.com/coreos/etcdctl
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv etcdctl $out/bin
-  '';
+  dontInstallSrc = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A simple command line client for etcd";
     homepage = http://coreos.com/using-coreos/etcd/;
     license = licenses.asl20;
diff --git a/pkgs/development/tools/etcdctl/deps.nix b/pkgs/development/tools/etcdctl/deps.nix
deleted file mode 100644
index 98bdda95a43..00000000000
--- a/pkgs/development/tools/etcdctl/deps.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-let
-  goDeps = [
-    {
-      root = "github.com/coreos/etcdctl";
-      src = fetchFromGitHub {
-        owner = "coreos";
-        repo = "etcdctl";
-        rev = "061135b2a02797a6b3c2b6c01183517c1bc76a2c";
-        sha256 = "1hl9cz9ygr2k4d67qj9q1xj0n64b28qjy5sv7zylgg9h9ag2j2p4";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
diff --git a/pkgs/development/tools/exercism/default.nix b/pkgs/development/tools/exercism/default.nix
index 6c909382522..9c1b3027252 100644
--- a/pkgs/development/tools/exercism/default.nix
+++ b/pkgs/development/tools/exercism/default.nix
@@ -3,28 +3,28 @@
 stdenv.mkDerivation rec {
   name = "exercism-${version}";
 
-  version = "1.6.2";
+  version = "1.9.2";
 
   src =
     if stdenv.system == "x86_64-darwin" then
       fetchurl {
-        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-darwin-amd64.tgz";
-        sha256 = "1w9jw52nhb5mlcj6ampzwjscdr9rja5mdn5ga2r4z2qzsqzwkpm2";
+        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-mac-64bit.tgz";
+        sha256 = "01ddwblq1kqxhjv8mp8r1zy6p78p6pysf1mbsyjxw1y8skfdapnp";
       }
     else if stdenv.system == "i686-darwin" then
       fetchurl {
-        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-darwin-386.tgz";
-        sha256 = "1g5cy53mrdzq047b8hlkjrkc4bp7yhipvhf4lnw0x2jr50z73bzd";
+        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-mac-32bit.tgz";
+        sha256 = "0nkpnvbyi3c3dkw3149jiwil06x997wml844i9m0d6q1wblk0qdd";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "https://github.com/exercism/cli/releases/download/v1.6.2/exercism-linux-386.tgz";
-        sha256 = "1akdggla9kn7v4dwkyz63bp84dihcgyph546zskiyh9bz67l5liz";
+        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-linux-32bit.tgz";
+        sha256 = "0szrn28sb0w88j0kbras10wm76rsndg9j4328p01f60rabq9q3z6";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "https://github.com/exercism/cli/releases/download/v1.6.2/exercism-linux-amd64.tgz";
-        sha256 = "00kp0r9xy9bw9b2854csy35pk9sxvbivxmwiy97wl9gh0acva5ng";
+        url = "https://github.com/exercism/cli/releases/download/v${version}/exercism-linux-64bit.tgz";
+        sha256 = "17iah373ssd9313irmw27jq1a2gpxf8w3chjmgcgiarqfpyny5bz";
       }
     else throw "Platform: ${stdenv.system} not supported!";
 
diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix
index 2e5701375a4..6c0883de065 100644
--- a/pkgs/development/tools/gnulib/default.nix
+++ b/pkgs/development/tools/gnulib/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation {
-  name = "gnulib-0.1-83-g8008cac";
+  name = "gnulib-0.1-357-gffe6467";
+
+  phases = ["unpackPhase" "installPhase"];
 
   src = fetchgit {
     url = "http://git.savannah.gnu.org/r/gnulib.git";
-    rev = "8008cac0568ee76a4a9b7002f839e1abbad78af6";
-    sha256 = "1w8wh5ljh1qpssnj2lxizf45ggd7fgk5ggwhrnzjxxhn9m7rdvwm";
+    rev = "92b60e61666f008385d9b7f7443da17c7a44d1b1";
+    sha256 = "0xpxq8vqdl0niib961dnsrgjq6kbpyap6nnydzp15dvzfhzgz189";
   };
 
-  buildPhase = ":";
-
   installPhase = "mkdir -p $out; mv * $out/";
 
   meta = {
diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix
index 30e4b79ee38..96dc059ae3f 100644
--- a/pkgs/development/tools/gocode/default.nix
+++ b/pkgs/development/tools/gocode/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ lib, goPackages, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  name = "gocode";
+with goPackages;
 
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+buildGoPackage rec {
+  rev = "9b760fdb16f18eafbe0cd274527efd2bd89dfa78";
+  name = "gocode-${lib.strings.substring 0 7 rev}";
+  goPackagePath = "github.com/nsf/gocode";
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "nsf";
+    repo = "gocode";
+    sha256 = "0d1wl0x8jkaav6lcfzs70cr6gy0p88cbk5n3p19l6d0h9xz464ax";
   };
 
-  buildInputs = [ go ];
+  subPackages = [ "./" ];
 
-  buildPhase = ''
-    export GOPATH=$src
-    go build -v -o gocode github.com/nsf/gocode
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv gocode $out/bin
-  '';
+  dontInstallSrc = true;
 
   meta = with lib; {
     description = "An autocompletion daemon for the Go programming language";
diff --git a/pkgs/development/tools/gocode/deps.nix b/pkgs/development/tools/gocode/deps.nix
deleted file mode 100644
index 4fd0578496d..00000000000
--- a/pkgs/development/tools/gocode/deps.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-let
-  goDeps = [
-    {
-      root = "github.com/nsf/gocode";
-      src = fetchFromGitHub {
-        owner = "nsf";
-        repo = "gocode";
-        rev = "9b760fdb16f18eafbe0cd274527efd2bd89dfa78";
-        sha256 = "0d1wl0x8jkaav6lcfzs70cr6gy0p88cbk5n3p19l6d0h9xz464ax";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
diff --git a/pkgs/development/tools/godep/default.nix b/pkgs/development/tools/godep/default.nix
new file mode 100644
index 00000000000..2dd4ce35122
--- /dev/null
+++ b/pkgs/development/tools/godep/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "ddd7fbf";
+  name = "godep-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o godep github.com/tools/godep
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv godep $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Ddependency tool for go";
+    homepage = https://github.com/tools/godep;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/godep/deps.nix b/pkgs/development/tools/godep/deps.nix
new file mode 100644
index 00000000000..e0369c9476d
--- /dev/null
+++ b/pkgs/development/tools/godep/deps.nix
@@ -0,0 +1,59 @@
+# This file was generated by go2nix.
+{ stdenv, lib, fetchFromGitHub, fetchgit }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/kr/fs";
+      src = fetchgit {
+        url = "https://github.com/kr/fs.git";
+        rev = "2788f0dbd16903de03cb8186e5c7d97b69ad387b";
+        sha256 = "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly";
+      };
+    }
+    {
+      root = "github.com/tools/godep";
+      src = fetchgit {
+        url = "https://github.com/tools/godep.git";
+        rev = "0baa7ea464025b2cb8e84b13c5ac4da99237a1bf";
+        sha256 = "10hr10fj6ymmfzwjg5drf7j0f4mrpb4p97a01rqp7xvfv5j0zisj";
+      };
+    }
+    {
+      root = "golang.org/x/net";
+      src = fetchgit {
+        url = "https://go.googlesource.com/net";
+        rev = "8b2d0ae1f4c3b83c10ff17e89a89ff04cc0903c3";
+        sha256 = "0nxawxhq7yysbrrd88hkqzfr5hvsqpd452yzi53cp1afzma3zjay";
+      };
+    }
+    {
+      root = "golang.org/x/text";
+      src = fetchgit {
+        url = "https://go.googlesource.com/text";
+        rev = "bfad311ce93436dc888b40d76c78f99dc3104473";
+        sha256 = "1mbhp5q24drz2l2x6ib3180i42f9015ry80bn7jhr7rwizvyp6lh";
+      };
+    }
+    {
+      root = "golang.org/x/tools";
+      src = fetchgit {
+        url = "https://go.googlesource.com/tools";
+        rev = "3ecc311976cc3f7c7b7a50314929bdc1b07c4c9d";
+        sha256 = "0ic3lrg6ykxrlnzcway4ka280n052qysjawf4lvj8gl3r1vlmwfg";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/development/tools/golint/default.nix b/pkgs/development/tools/golint/default.nix
new file mode 100644
index 00000000000..7be4f84680a
--- /dev/null
+++ b/pkgs/development/tools/golint/default.nix
@@ -0,0 +1,28 @@
+{ lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "8ca23475bcb43213a55dd8210b69363f6b0e09c1";
+  name = "golint-${lib.strings.substring 0 7 rev}";
+  goPackagePath = "github.com/golang/lint";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "golang";
+    repo = "lint";
+    sha256 = "16wbykik6dw3x9s7iqi4ln8kvzsh3g621wb8mk4nfldw7lyqp3cs";
+  };
+
+  subPackages = [ "golint" ];
+
+  dontInstallSrc = true;
+
+  meta = with lib; {
+    description = "Linter for Go source code";
+    homepage = https://github.com/golang/lint;
+    license = licenses.mit;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/gotags/default.nix b/pkgs/development/tools/gotags/default.nix
new file mode 100644
index 00000000000..8ba61f793d7
--- /dev/null
+++ b/pkgs/development/tools/gotags/default.nix
@@ -0,0 +1,27 @@
+{ lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "a60c6a1b171faedc44354bd437d965e5e3bdc220";
+  name = "gotags-${lib.strings.substring 0 7 rev}";
+
+  goPackagePath = "github.com/jstemmer/gotags";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "jstemmer";
+    repo = "gotags";
+    sha256 = "1drbypby0isdmkq44jmlv59k3jrwvq2jciaccxx2qc2nnx444fkq";
+  };
+
+  dontInstallSrc = true;
+
+  meta = with lib; {
+    description = "Ctags-compatible tag generator for Go";
+    homepage = https://github.com/nsf/gotags;
+    license = licenses.mit;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/grabserial/default.nix b/pkgs/development/tools/grabserial/default.nix
new file mode 100644
index 00000000000..59b7bdb248e
--- /dev/null
+++ b/pkgs/development/tools/grabserial/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit, buildPythonPackage, pythonPackages }:
+
+buildPythonPackage rec {
+
+  name = "grabserial-20141120";
+
+  src = fetchgit {
+    url = https://github.com/tbird20d/grabserial.git;
+    rev  = "8b9c98ea35d382bac2aafc7a8a9c02440369a792";
+    sha256 = "ff27f5e5ab38c8450a4a0291e943e6c5a265e56d29d6a1caa849ae3238d71679";
+  };
+
+  propagatedBuildInputs = [ pythonPackages.pyserial ];
+
+  meta = {
+    description = "Python based serial dump and timing program";
+    homepage = https://github.com/tbird20d/grabserial;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ vmandela ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/guile/g-wrap/default.nix b/pkgs/development/tools/guile/g-wrap/default.nix
index 74e967686f3..e62ce13ebf7 100644
--- a/pkgs/development/tools/guile/g-wrap/default.nix
+++ b/pkgs/development/tools/guile/g-wrap/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.nongnu.org/g-wrap/;
     license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix
index f335aebc570..4a2ed055cf8 100644
--- a/pkgs/development/tools/haskell/BNFC/default.nix
+++ b/pkgs/development/tools/haskell/BNFC/default.nix
@@ -1,24 +1,25 @@
-{ cabal, mtl, fetchpatch, alex, happy }:
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, alex, deepseq, doctest, filepath, happy, hspec, HUnit, mtl
+, QuickCheck, temporary
+}:
 
 cabal.mkDerivation (self: {
   pname = "BNFC";
-  version = "2.6.0.3";
-  sha256 = "0i38rwslkvnicnlxbrxybnwkgfin04lnr4q12lcvli4ldp2ylfjq";
+  version = "2.7.1";
+  sha256 = "1n9l64wzga3i7ifh2k5rwhxp60gb0av5fszygw5mvr31r64cf4fp";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ mtl ];
+  buildDepends = [ deepseq filepath mtl ];
+  testDepends = [
+    deepseq doctest filepath hspec HUnit mtl QuickCheck temporary
+  ];
   buildTools = [ alex happy ];
-  patches = [ (fetchpatch { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "1i87crwva5m3v095lv3zxs38pr6nmly58krlr6sxpwnakpr0pxsp"; }) ];
-  patchFlags = "-p2";
-  preConfigure = "runhaskell Setup.lhs clean";
   meta = {
     homepage = "http://bnfc.digitalgrammars.com/";
     description = "A compiler front-end generator";
-    license = "GPL";
+    license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres simons ];
   };
 })
diff --git a/pkgs/development/tools/haskell/PastePipe/default.nix b/pkgs/development/tools/haskell/PastePipe/default.nix
index ce1c8a27c54..9d967c30f1c 100644
--- a/pkgs/development/tools/haskell/PastePipe/default.nix
+++ b/pkgs/development/tools/haskell/PastePipe/default.nix
@@ -1,18 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cmdargs, HTTP, network }:
+{ cabal, cmdargs, HTTP, network, networkUri }:
 
 cabal.mkDerivation (self: {
   pname = "PastePipe";
-  version = "1.5";
-  sha256 = "1jqfk6d22vi0vrwx0whjkh4pxwagr4hmi79bid6bffn72c7ygm8f";
+  version = "1.7";
+  sha256 = "0had11n44y7zjhhymdbvahwmxcxxrbxy7c9jxijhw3n7xqhdmva0";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ cmdargs HTTP network ];
+  buildDepends = [ cmdargs HTTP network networkUri ];
   meta = {
-    homepage = "http://github.com/creswick/pastepipe";
+    homepage = "http://github.com/Fuuzetsu/pastepipe";
     description = "CLI for pasting to lpaste.net";
-    license = "GPL";
+    license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
diff --git a/pkgs/development/tools/haskell/SourceGraph/default.nix b/pkgs/development/tools/haskell/SourceGraph/default.nix
index abfd386c82a..0ce5872d26a 100644
--- a/pkgs/development/tools/haskell/SourceGraph/default.nix
+++ b/pkgs/development/tools/haskell/SourceGraph/default.nix
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     description = "Static code analysis using graph-theoretic techniques";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/c2hs/default.nix b/pkgs/development/tools/haskell/c2hs/default.nix
new file mode 100644
index 00000000000..830283d6420
--- /dev/null
+++ b/pkgs/development/tools/haskell/c2hs/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dlist, filepath, HUnit, languageC, shelly, testFramework
+, testFrameworkHunit, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "c2hs";
+  version = "0.20.1";
+  sha256 = "1w2w9zxirzjd5lniwqakq59glgsh4mw3565x2l9qrin0bfjxkn3h";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ dlist filepath languageC ];
+  testDepends = [
+    filepath HUnit shelly testFramework testFrameworkHunit text
+    transformers
+  ];
+  meta = {
+    homepage = "https://github.com/haskell/c2hs";
+    description = "C->Haskell FFI tool that gives some cross-language type safety";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/c2hsc/default.nix b/pkgs/development/tools/haskell/c2hsc/default.nix
index cf56c0bf545..cf56c0bf545 100644
--- a/pkgs/development/libraries/haskell/c2hsc/default.nix
+++ b/pkgs/development/tools/haskell/c2hsc/default.nix
diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix
index 97dac34af3b..0f10b13c5d1 100644
--- a/pkgs/development/tools/haskell/cabal-bounds/default.nix
+++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-bounds";
-  version = "0.8.5";
-  sha256 = "19lai2gdxs76mrvcz77sjsx7hh87cf1f4qmy7z1zcd130z11q04a";
+  version = "0.8.9";
+  sha256 = "1vprf6nsw3qnppqxcm5jwvwxyalkaq364xcmig54ma47rsk23nzk";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/cabal-db/default.nix b/pkgs/development/tools/haskell/cabal-db/default.nix
index 234c158cf90..61e3cbdd04c 100644
--- a/pkgs/development/tools/haskell/cabal-db/default.nix
+++ b/pkgs/development/tools/haskell/cabal-db/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-db";
-  version = "0.1.9";
-  sha256 = "19mw5ycc2y5wkn1h7wkdm2gb29pq2sh0n8z52dbxlkf0rwcgjbfq";
+  version = "0.1.11";
+  sha256 = "0kxj7xf0r1waxxi25g46a2wj43dcd3b1lkdn20l4r7m3r44y1nd7";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -15,7 +15,7 @@ cabal.mkDerivation (self: {
   ];
   meta = {
     homepage = "http://github.com/vincenthz/cabal-db";
-    description = "query tools for the local cabal database (revdeps, graph, info, search-by, license, bounds)";
+    description = "query tools for the local cabal database";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index db7e472934c..5d11e72e2ea 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -1,20 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, Cabal, doctest, filepath, hackageDb, mtl, regexPosix
-, transformers
+{ cabal, Cabal, deepseq, doctest, filepath, hackageDb, mtl
+, regexPosix, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.69";
-  sha256 = "0430086lh1h7w8wxc42aqrdjb8i12vz8m0jr1q2c45h3k6brb5r5";
+  version = "1.73";
+  sha256 = "1nskcr8k5a8wm9q5is0b1kww574q2nq45f16agya8z44hgk97xiv";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    Cabal filepath hackageDb mtl regexPosix transformers
+    Cabal deepseq filepath hackageDb mtl regexPosix transformers
   ];
   testDepends = [ doctest ];
-  doCheck = self.stdenv.lib.versionOlder "7.6" self.ghc.version;
+  doCheck = self.stdenv.lib.versionOlder "7.8" self.ghc.version;
   meta = {
     homepage = "http://github.com/NixOS/cabal2nix";
     description = "Convert Cabal files into Nix build instructions";
diff --git a/pkgs/development/tools/haskell/cake3/default.nix b/pkgs/development/tools/haskell/cake3/default.nix
index 5b948f510bf..fba7d2e4d2a 100644
--- a/pkgs/development/tools/haskell/cake3/default.nix
+++ b/pkgs/development/tools/haskell/cake3/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cake3";
-  version = "0.5.1.0";
-  sha256 = "0kqx8xr0ynbn7fhfz11is7lbi32dfladsx32bcpspykqj1bjv954";
+  version = "0.5.2.0";
+  sha256 = "0wr797r7sg8f48r2pjl2nw70vcdkiamqghz2zpfr6awy9018fhgw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix
index fac145b14c2..902faca957f 100644
--- a/pkgs/development/tools/haskell/codex/default.nix
+++ b/pkgs/development/tools/haskell/codex/default.nix
@@ -1,18 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, Cabal, downloadCurl, either, filepath, hackageDb, MissingH
-, monadLoops, tar, text, transformers, yaml, zlib
+{ cabal, Cabal, downloadCurl, either, filepath, hackageDb, machines
+, machinesDirectory, MissingH, monadLoops, monoTraversable, tar
+, text, transformers, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "codex";
-  version = "0.1.0.3";
-  sha256 = "0sbkri6y9f4wws120kbb93sv1z0z75hjw9pw5r3wadmmd0lygsn9";
+  version = "0.2.0.2";
+  sha256 = "0an043cmsxc296i90pv19d8xdl7fg2fvf026lx4rly7bwskzn99x";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    Cabal downloadCurl either filepath hackageDb MissingH monadLoops
-    tar text transformers yaml zlib
+    Cabal downloadCurl either filepath hackageDb machines
+    machinesDirectory MissingH monadLoops monoTraversable tar text
+    transformers yaml zlib
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/tools/haskell/ghc-events-analyze/default.nix b/pkgs/development/tools/haskell/ghc-events-analyze/default.nix
index b58d8d1429b..cbf871820ff 100644
--- a/pkgs/development/tools/haskell/ghc-events-analyze/default.nix
+++ b/pkgs/development/tools/haskell/ghc-events-analyze/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-events-analyze";
-  version = "0.2.0";
-  sha256 = "04px1p0pnx54414m7sdpmdhj2dpsi1z8bjm8jq2yzh66854xiyh4";
+  version = "0.2.1";
+  sha256 = "0lf063p2wj2d1hxb5hx4bcid3a3ni3g9x8sglm5q5kfbmdk7awj4";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/ghcid/default.nix b/pkgs/development/tools/haskell/ghcid/default.nix
new file mode 100644
index 00000000000..2ce069f53c3
--- /dev/null
+++ b/pkgs/development/tools/haskell/ghcid/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, extra, filepath, tasty, tastyHunit, terminalSize
+, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ghcid";
+  version = "0.3.2";
+  sha256 = "1kx20la4snldhd709y69za8bs57v90nblghfrxrvmzhrmpvh4bn3";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cmdargs extra filepath terminalSize time ];
+  testDepends = [
+    cmdargs extra filepath tasty tastyHunit terminalSize time
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/ndmitchell/ghcid#readme";
+    description = "GHCi based bare bones IDE";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/graphmod/default.nix b/pkgs/development/tools/haskell/graphmod/default.nix
new file mode 100644
index 00000000000..496e854fb86
--- /dev/null
+++ b/pkgs/development/tools/haskell/graphmod/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dotgen, filepath, haskellLexer }:
+
+cabal.mkDerivation (self: {
+  pname = "graphmod";
+  version = "1.2.6";
+  sha256 = "02p1x44ywv2mb4l2dsz9z3ybnvv4nns3882lqm3nc8sw2hkib8z3";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ dotgen filepath haskellLexer ];
+  meta = {
+    homepage = "http://github.com/yav/graphmod/wiki";
+    description = "Present the module dependencies of a program as a \"dot\" graph";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix
index b9cd34c716e..9cc92aafc21 100644
--- a/pkgs/development/tools/haskell/haskell-docs/default.nix
+++ b/pkgs/development/tools/haskell/haskell-docs/default.nix
@@ -20,5 +20,7 @@ cabal.mkDerivation (self: {
     description = "A program to find and display the docs and type of a name";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix
index 36b3739a140..03dfaee8786 100644
--- a/pkgs/development/tools/haskell/hasktags/default.nix
+++ b/pkgs/development/tools/haskell/hasktags/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath json utf8String ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/MarcWeber/hasktags";
     description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs";
diff --git a/pkgs/development/tools/haskell/hdevtools/default.nix b/pkgs/development/tools/haskell/hdevtools/default.nix
index 350ad216bca..8f1397775b7 100644
--- a/pkgs/development/tools/haskell/hdevtools/default.nix
+++ b/pkgs/development/tools/haskell/hdevtools/default.nix
@@ -6,7 +6,7 @@ cabal.mkDerivation (self: {
   sha256 = "1a218m817q35f52fv6mn28sfv136i6fm2mzgdidpm24pc0585gl7";
   isLibrary = false;
   isExecutable = true;
-  patches = [ (fetchurl { url = "https://github.com/ts468/hdevtools/pull/2.patch"; md5 = "256609d2d3f5b719caa0002ee579d169"; }) ];
+  patches = [ (fetchurl { url = "https://github.com/ts468/hdevtools/pull/2.patch"; sha256 = "104vdw6qxl71fdg43ppv0hrg6k17zaijq73vap794178d3gb35al"; }) ];
   buildDepends = [ cmdargs ghcPaths network syb time ];
   meta = {
     homepage = "https://github.com/bitc/hdevtools/";
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index 4fe5f01c3d1..17813ac1a33 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -1,18 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cmdargs, cpphs, filepath, haskellSrcExts, hscolour
-, transformers, uniplate
+{ cabal, ansiTerminal, cmdargs, cpphs, extra, filepath
+, haskellSrcExts, hscolour, transformers, uniplate
 }:
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.9.3";
-  sha256 = "1sdz981yq0amsw9q6hx0aqkd0ayrax5p77s3n3gz4bphpk37n09b";
+  version = "1.9.13";
+  sha256 = "1cj487l3jvrp43acwk3ihc5mzyqwxxa0nqahad27sd3bbmx86p4a";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cmdargs cpphs filepath haskellSrcExts hscolour transformers
-    uniplate
+    ansiTerminal cmdargs cpphs extra filepath haskellSrcExts hscolour
+    transformers uniplate
   ];
   meta = {
     homepage = "http://community.haskell.org/~ndm/hlint/";
diff --git a/pkgs/development/tools/haskell/hsb2hs/default.nix b/pkgs/development/tools/haskell/hsb2hs/default.nix
new file mode 100644
index 00000000000..9efebdf1db7
--- /dev/null
+++ b/pkgs/development/tools/haskell/hsb2hs/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, preprocessorTools }:
+
+cabal.mkDerivation (self: {
+  pname = "hsb2hs";
+  version = "0.2";
+  sha256 = "013n3l80449wxmbfmcidg8mdjk4nkxv7s3jcbfy5g4jps6gsg1fx";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filepath preprocessorTools ];
+  meta = {
+    description = "Preprocesses a file, adding blobs from files as string literals";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hscope/default.nix b/pkgs/development/tools/haskell/hscope/default.nix
index 981e6120444..a295cc4896c 100644
--- a/pkgs/development/tools/haskell/hscope/default.nix
+++ b/pkgs/development/tools/haskell/hscope/default.nix
@@ -6,15 +6,14 @@
 
 cabal.mkDerivation (self: {
   pname = "hscope";
-  version = "0.4";
-  sha256 = "1jb2d61c1as6li54zw33jsyvfap214pqxpkr2m6lkzaizh8396hg";
+  version = "0.4.1";
+  sha256 = "1m5mp45pvf64pnpc3lsig382177vfc232bbm9g3a8q58jrwridy7";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     cereal cpphs deepseq haskellSrcExts mtl pureCdb uniplate vector
   ];
   testDepends = [ mtl testSimple Unixutils ];
-  doCheck = false;
   meta = {
     homepage = "https://github.com/bosu/hscope";
     description = "cscope like browser for Haskell code";
diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix
index 43da5b21ca4..40ce0f34233 100644
--- a/pkgs/development/tools/haskell/hslogger/default.nix
+++ b/pkgs/development/tools/haskell/hslogger/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hslogger";
-  version = "1.2.4";
-  sha256 = "0r0c7wqz49lzxg7sakkw6nwmxnyzhqscxvnxiqwkwsgv3q2sh3wc";
+  version = "1.2.6";
+  sha256 = "0yqw7824bn8vb9iynx8lkgswxd0nz484k4bvcwd02wvakbbfawkk";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl network time ];
diff --git a/pkgs/development/tools/haskell/ihaskell/default.nix b/pkgs/development/tools/haskell/ihaskell/default.nix
new file mode 100644
index 00000000000..53956a3e098
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/default.nix
@@ -0,0 +1,40 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, base64Bytestring, cereal, classyPrelude, cmdargs
+, filepath, ghcParser, ghcPaths, haskeline, haskellSrcExts, here
+, hlint, hspec, HTTP, HUnit, MissingH, monoTraversable, mtl, parsec
+, random, setenv, shelly, split, stm, strict, systemArgv0
+, systemFilepath, tar, text, transformers, unorderedContainers
+, utf8String, uuid, vector, zeromq4Haskell
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ihaskell";
+  version = "0.4.3.0";
+  sha256 = "1k6i56cdzv5ikci20brq7qj07nqdpzkfj7xr69lh1gvx7xb24ida";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson base64Bytestring cereal classyPrelude cmdargs filepath
+    ghcParser ghcPaths haskeline haskellSrcExts here hlint hspec HTTP
+    HUnit MissingH monoTraversable mtl parsec random shelly split stm
+    strict systemArgv0 systemFilepath tar text transformers
+    unorderedContainers utf8String uuid vector zeromq4Haskell
+  ];
+  testDepends = [
+    aeson base64Bytestring cereal classyPrelude cmdargs filepath
+    ghcParser ghcPaths haskeline haskellSrcExts here hlint hspec HTTP
+    HUnit MissingH monoTraversable mtl parsec random setenv shelly
+    split stm strict systemArgv0 systemFilepath tar text transformers
+    unorderedContainers utf8String uuid vector zeromq4Haskell
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "http://gibiansky.github.io/IHaskell/";
+    description = "A Haskell backend kernel for the IPython project";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ edwtjo ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix b/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix
new file mode 100644
index 00000000000..4ce78c31fe2
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildEnv, ghcWithPackages, makeWrapper, ihaskell, ipython, packages }:
+let
+  ihaskellEnv = ghcWithPackages (self: [
+    self.ihaskell
+    self.ihaskell-blaze
+    self.ihaskell-diagrams
+    self.ihaskell-display
+  ] ++ packages self);
+  profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
+  drv = buildEnv {
+    name = "ihaskell-with-packages";
+    paths = [ ihaskellEnv ipython ];
+    postBuild = ''
+    tar xf ${ihaskell.src} ${profile}
+    mkdir -p $out/share/`dirname ${profile}`
+    mkdir profile
+    cd profile
+    tar xf ../${profile}
+    for cfg in ipython_*config.py;do
+      sed -i -e "1iexe = '${ihaskell}/bin/IHaskell'" $cfg
+    done
+    tar cf $out/share/${profile} .
+    wrapProgram "$out/bin/IHaskell" \
+      --prefix PATH : "${ihaskellEnv}/bin:${ipython}/bin" \
+      --set PROFILE_DIR "\$HOME/.ipython/profile_haskell" \
+      --set PROFILE_TAR "$out/share/${profile}" \
+      --set PROFILE_INIT "\$([ ! -d \$PROFILE_DIR ] \
+          && mkdir -p \$PROFILE_DIR \
+          && tar xf \$PROFILE_TAR -C \$PROFILE_DIR \
+          ; [ -d \$PROFILE_DIR ] && for cfg in \$PROFILE_DIR/ipython_*config.py;do \
+            sed -i -e '/.*exe.*IHaskell.*/d' \$cfg; sed -i -e \"1iexe = '${ihaskell}/bin/IHaskell'\" \$cfg;done )" \
+      --set GHC_PACKAGE_PATH "\$(echo $out/lib/*/package.conf.d| tr ' ' ':'):" \
+    '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
\ No newline at end of file
diff --git a/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch b/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch
new file mode 100644
index 00000000000..b2c1362b62f
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/use-classy-prelude.patch
@@ -0,0 +1,34 @@
+From fad4e38079e91b13bf1e94732b7494504071b224 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= <ed@cflags.cc>
+Date: Sun, 28 Sep 2014 09:27:40 +0200
+Subject: [PATCH] catMaybes, explicitly use ClassyPrelude
+
+---
+ src/IHaskell/Eval/Completion.hs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/IHaskell/Eval/Completion.hs b/src/IHaskell/Eval/Completion.hs
+index 790c903..93d7ac1 100644
+--- a/src/IHaskell/Eval/Completion.hs
++++ b/src/IHaskell/Eval/Completion.hs
+@@ -141,7 +141,7 @@ getTrueModuleName name = do
+       onlyImportDecl _ = Nothing
+ 
+   -- Get all imports that we use.
+-  imports <- catMaybes <$> map onlyImportDecl <$> getContext
++  imports <- ClassyPrelude.catMaybes <$> map onlyImportDecl <$> getContext
+ 
+   -- Find the ones that have a qualified name attached.
+   -- If this name isn't one of them, it already is the true name.
+@@ -178,7 +178,7 @@ completionType line loc target
+     = Empty
+ 
+   -- When in a string, complete filenames.
+-  | cursorInString line loc 
++  | cursorInString line loc
+     = FilePath (getStringTarget lineUpToCursor) (getStringTarget lineUpToCursor)
+ 
+   -- Complete module names in imports and elsewhere.
+-- 
+2.1.0
+
diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
new file mode 100644
index 00000000000..b20f8fa4f50
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -0,0 +1,36 @@
+{ stdenv, makeWrapper, ihaskell, ipython, ghc }:
+
+stdenv.mkDerivation rec {
+
+  inherit (ihaskell) name pname src version meta;
+
+  buildInputs = [ makeWrapper ];
+
+  preferLocalBuild = true;
+
+  buildCommand = let profile = "${pname}-${version}/profile/profile.tar"; in ''
+    tar xf $src ${profile}
+    mkdir -p $out/share/`dirname ${profile}`
+    mkdir profile
+    cd profile
+    tar xf ../${profile}
+    for cfg in ipython_*config.py;do
+      sed -i -e "1iexe = '${ihaskell}/bin/IHaskell'" $cfg
+    done
+    tar cf $out/share/${profile} .
+    makeWrapper "${ihaskell}/bin/IHaskell" "$out/bin/ihaskell" \
+      --prefix PATH : "${ghc}/bin:${ihaskell}/bin:${ipython}/bin" \
+      --prefix LD_LIBRARY_PATH : "${ihaskell}/lib/ghc-${ghc.version}/${name}/" \
+      --add-flags "--ipython=${ipython}/bin/ipython" \
+      --set PROFILE_DIR "\$HOME/.ipython/profile_haskell" \
+      --set PROFILE_TAR "$out/share/${profile}" \
+      --set PROFILE_INIT "\$([ ! -d \$PROFILE_DIR ] \
+          && mkdir -p \$PROFILE_DIR \
+          && tar xf \$PROFILE_TAR -C \$PROFILE_DIR \
+          ; [ -d \$PROFILE_DIR ] && for cfg in \$PROFILE_DIR/ipython_*config.py;do \
+            sed -i -e '/.*exe.*IHaskell.*/d' \$cfg; sed -i -e \"1iexe = '${ihaskell}/bin/IHaskell'\" \$cfg;done ) \
+        " \
+      --prefix GHC_PACKAGE_PATH : "\$(${ghc.GHCGetPackages} ${ghc.version}|sed -e 's, -package-db ,:,g'|cut -b 2-):${ihaskell}/lib/ghc-${ghc.version}/package.conf.d/${pname}-${version}.installedconf" \
+      --set GHC_PACKAGE_PATH "\$GHC_PACKAGE_PATH:" # always end with : to include base packages
+  '';
+}
diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix
index 34bc45e7471..9aa35ea940f 100644
--- a/pkgs/development/tools/haskell/keter/default.nix
+++ b/pkgs/development/tools/haskell/keter/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "keter";
-  version = "1.3.3";
-  sha256 = "1i4yjzqp8if0h88k8ga0dvqbrh57nvcr9dbfbj1sdw40pd74yb3i";
+  version = "1.3.6";
+  sha256 = "00g34gazj3kk39nk34vzw88dy04rr3swb0hcl6k6gafwqrpv3i79";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/liquid-fixpoint/default.nix b/pkgs/development/tools/haskell/liquid-fixpoint/default.nix
new file mode 100644
index 00000000000..60a653ef36b
--- /dev/null
+++ b/pkgs/development/tools/haskell/liquid-fixpoint/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, attoparsec, bifunctors, cmdargs, deepseq
+, filemanip, filepath, hashable, intern, mtl, ocaml, parsec, syb
+, text, textFormat, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "liquid-fixpoint";
+  version = "0.2.1.0";
+  sha256 = "11l9750ldxcb5jq34dl0iggpi9dh1zwjnlzgmwg4qvsgcq8cakdf";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    ansiTerminal attoparsec bifunctors cmdargs deepseq filemanip
+    filepath hashable intern mtl parsec syb text textFormat
+    transformers unorderedContainers
+  ];
+  buildTools = [ ocaml ];
+  meta = {
+    homepage = "https://github.com/ucsd-progsys/liquid-fixpoint";
+    description = "Predicate Abstraction-based Horn-Clause/Implication Constraint Solver";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/liquidhaskell/default.nix b/pkgs/development/tools/haskell/liquidhaskell/default.nix
new file mode 100644
index 00000000000..0fd9408324c
--- /dev/null
+++ b/pkgs/development/tools/haskell/liquidhaskell/default.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, ansiTerminal, bifunctors, cmdargs, cpphs
+, dataDefault, deepseq, Diff, filemanip, filepath, fingertree
+, ghcPaths, hashable, hscolour, intern, liquidFixpoint, mtl
+, optparseApplicative, parsec, syb, tagged, tasty, tastyHunit
+, tastyRerun, text, time, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "liquidhaskell";
+  version = "0.2.1.0";
+  sha256 = "172ki1pr096jc1azs6hq1p6czjr2gxb0zafmlg9bicn4nwp2h7vy";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson ansiTerminal bifunctors cmdargs cpphs dataDefault deepseq
+    Diff filemanip filepath fingertree ghcPaths hashable hscolour
+    intern liquidFixpoint mtl parsec syb text time unorderedContainers
+    vector
+  ];
+  testDepends = [
+    filepath optparseApplicative tagged tasty tastyHunit tastyRerun
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://goto.ucsd.edu/liquidhaskell";
+    description = "Liquid Types for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/packdeps/default.nix b/pkgs/development/tools/haskell/packdeps/default.nix
new file mode 100644
index 00000000000..292f6af944f
--- /dev/null
+++ b/pkgs/development/tools/haskell/packdeps/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, split, tar, text, time }:
+
+cabal.mkDerivation (self: {
+  pname = "packdeps";
+  version = "0.4.0.3";
+  sha256 = "08an9nwg448d3w4yds67l02mgikmjmn52pvva3i386fv4hfkabhp";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ Cabal filepath split tar text time ];
+  meta = {
+    homepage = "http://packdeps.haskellers.com/";
+    description = "Check your cabal packages for lagging dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ bergey ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/packunused/default.nix b/pkgs/development/tools/haskell/packunused/default.nix
index c68d5dec8b3..9df5b2472bf 100644
--- a/pkgs/development/tools/haskell/packunused/default.nix
+++ b/pkgs/development/tools/haskell/packunused/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "packunused";
-  version = "0.1.1.2";
-  sha256 = "1kp004lh6sa4gjqm37ldgk70jbncrnr76rk9c77464cnj6ajxmlm";
+  version = "0.1.1.3";
+  sha256 = "1f8lc9lzqwyzdz1j8czdan04d4bj393xk1rxfhr39j4a56qskp1c";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/pointfree/default.nix b/pkgs/development/tools/haskell/pointfree/default.nix
index 166105f22b6..4eb911ebd62 100644
--- a/pkgs/development/tools/haskell/pointfree/default.nix
+++ b/pkgs/development/tools/haskell/pointfree/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pointfree";
-  version = "1.0.4.7";
-  sha256 = "0jwql0ka01cr53ayjc4dpaci11i7r1y3b9gcbh3rlamb1mnfcqvl";
+  version = "1.0.4.8";
+  sha256 = "0nb3mqp6zwnnq6fs27xhcqv4w8h6sr5k01hldkqnkgwz0yyy7ljy";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ haskellSrcExts transformers ];
diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix
index 892faca8e8c..f31ef0d52fa 100644
--- a/pkgs/development/tools/haskell/threadscope/default.nix
+++ b/pkgs/development/tools/haskell/threadscope/default.nix
@@ -1,17 +1,18 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, binary, cairo, deepseq, filepath, ghcEvents, glib, gtk
-, mtl, pango, time
+, mtl, pango, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "threadscope";
-  version = "0.2.4";
-  sha256 = "1208gp80vj3dngc4nrj1jk5y4h1181bgwq2qj764kcjvkaxch599";
+  version = "0.2.6";
+  sha256 = "0pycxvf3gjx86yp948anczxidhi6ra95szkqyvvlfpriay7klfya";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    binary cairo deepseq filepath ghcEvents glib gtk mtl pango time
+    binary cairo deepseq filepath ghcEvents glib gtk mtl pango text
+    time
   ];
   configureFlags = "--ghc-options=-rtsopts";
   meta = {
@@ -19,7 +20,5 @@ cabal.mkDerivation (self: {
     description = "A graphical tool for profiling parallel Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix
index 4342b877a2e..bcc7b7c35d6 100644
--- a/pkgs/development/tools/haskell/timeplot/default.nix
+++ b/pkgs/development/tools/haskell/timeplot/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "timeplot";
-  version = "1.0.25";
-  sha256 = "14zyzr53gpp0i7wx49zzdrndqdhsw3q4z3w5hdl8c4m541pr25fw";
+  version = "1.0.27";
+  sha256 = "072bxa0pfxyia4xvj0w0h8v3yfk05bbq5j905sj6jf9apjr9h558";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/uuagc/cabal.nix b/pkgs/development/tools/haskell/uuagc/cabal.nix
index 1a735a2471e..ab85b50688b 100644
--- a/pkgs/development/tools/haskell/uuagc/cabal.nix
+++ b/pkgs/development/tools/haskell/uuagc/cabal.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uuagc-cabal";
-  version = "1.0.5.0";
-  sha256 = "0p3rc1gszd62wwzzqz0hmj6jdmwdnpx92rdf6mgd7w63ic1wdxj5";
+  version = "1.0.6.0";
+  sha256 = "02xqj4vz7hir0llxl8n517qv22jlmilknhqzx4l55gccffg7zj6w";
   buildDepends = [ Cabal filepath mtl uulib ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
diff --git a/pkgs/development/tools/java/fastjar/default.nix b/pkgs/development/tools/java/fastjar/default.nix
index e5a9ca50ce9..f9e1d9a0842 100644
--- a/pkgs/development/tools/java/fastjar/default.nix
+++ b/pkgs/development/tools/java/fastjar/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, zlib }:
 
-let version = "0.94"; in
-  stdenv.mkDerivation rec {
+let version = "0.98"; in
+  stdenv.mkDerivation {
     name = "fastjar-${version}";
 
     src = fetchurl {
-      url = "mirror://sourceforge/fastjar/${version}/${name}.tar.gz";
-      sha256 = "15bvhvn2fzpziynk4myg1wl70wxa5a6v65hkzlcgnzh1wg1py8as";
+      url = "http://download.savannah.gnu.org/releases/fastjar/fastjar-${version}.tar.gz";
+      sha256 = "0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi";
     };
 
     buildInputs = [ zlib ];
@@ -22,10 +22,10 @@ let version = "0.94"; in
         the stock `jar' program running without a JIT.
       '';
 
-      homepage = http://fastjar.sourceforge.net/;
+      homepage = http://savannah.nongnu.org/projects/fastjar/;
 
       license = stdenv.lib.licenses.gpl2Plus;
-
+      platforms = stdenv.lib.platforms.linux;
       maintainers = [ ];
     };
   }
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index 8194ffc22a8..76e74d7623e 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation {
     description = ''A lightweight and flexible command-line JSON processor'';
     license = stdenv.lib.licenses.mit ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix
index c8905dcbafd..5be4f4a27ab 100644
--- a/pkgs/development/tools/libsigrok/default.nix
+++ b/pkgs/development/tools/libsigrok/default.nix
@@ -10,10 +10,20 @@ stdenv.mkDerivation rec {
     sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3";
   };
 
+  firmware = fetchurl {
+    url = "http://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.2.tar.gz";
+    sha256 = "0w0w6l015d16181mx8mgyjha4bv3ba7x36p86k9n1x52809433gj";
+  };
+
   buildInputs = [ pkgconfig libzip glib libusb1 libftdi check libserialport
     librevisa
   ];
 
+  postInstall = ''
+    mkdir -p "$out/share/sigrok-firmware/"
+    tar --strip-components=1 -xvf "${firmware}" -C "$out/share/sigrok-firmware/"
+  '';
+
   meta = with stdenv.lib; {
     description = "Core library of the sigrok signal analysis software suite";
     homepage = http://sigrok.org/;
diff --git a/pkgs/development/tools/misc/ShellCheck/default.nix b/pkgs/development/tools/misc/ShellCheck/default.nix
index 8beca12325b..519ca892f3c 100644
--- a/pkgs/development/tools/misc/ShellCheck/default.nix
+++ b/pkgs/development/tools/misc/ShellCheck/default.nix
@@ -1,19 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, json, mtl, parsec, QuickCheck, regexCompat }:
+{ cabal, json, mtl, parsec, QuickCheck, regexCompat, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "ShellCheck";
-  version = "0.3.4";
-  sha256 = "07fw8c33p7h1kvg899dwnvqpxpywcidhbw9jhjd8xsma7kz471iw";
+  version = "0.3.5";
+  sha256 = "0x4rvhpzrjkn9a9fsmp9iwv9g21hkrd8fgq05iy4wgv8nfhgv2cj";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ json mtl parsec QuickCheck regexCompat ];
-  testDepends = [ json mtl parsec QuickCheck regexCompat ];
+  buildDepends = [
+    json mtl parsec QuickCheck regexCompat transformers
+  ];
+  testDepends = [
+    json mtl parsec QuickCheck regexCompat transformers
+  ];
   meta = {
     homepage = "http://www.shellcheck.net/";
     description = "Shell script analysis tool";
-    license = "unknown";
+    license = self.stdenv.lib.licenses.agpl3;
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index c4f4caa3b65..64de64dea06 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -2,19 +2,19 @@
 
 let
   libphutil = fetchgit {
-    url    = "git://github.com/facebook/libphutil.git";
-    rev    = "49f08a756a54f12405d3704c0f978b71c7b13811";
-    sha256 = "b32267fe19c6e9532887388815b8553519e2844bc5b839b5ad35efeab6b07fb8";
+    url    = "git://github.com/phacility/libphutil.git";
+    rev    = "ce3959b4046f5dcc4f3413a59328bda2a42e76b0";
+    sha256 = "3c206b428fa5e0391868f7782db4af4d1cf2f338899831a36771cef74db14a76";
   };
   arcanist = fetchgit {
-    url    = "git://github.com/facebook/arcanist.git";
-    rev    = "4c0edd296e3301fffdda33c447f6fcafe7d1de01";
-    sha256 = "a9f162fb6b47bcf628130e0e8988ab650278b3a6606fa425e4707241ed22dd3e";
+    url    = "git://github.com/phacility/arcanist.git";
+    rev    = "b961869edac9469be93f2c3ac7a24562d3186860";
+    sha256 = "2ae1272c76a1e2bdedd87d453ddb75f6110f9224063e7ee39e88fcb8b3b4c884";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20140812";
+  version = "20150318";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/astyle/default.nix b/pkgs/development/tools/misc/astyle/default.nix
index c7cda38ef43..770162c237e 100644
--- a/pkgs/development/tools/misc/astyle/default.nix
+++ b/pkgs/development/tools/misc/astyle/default.nix
@@ -2,26 +2,32 @@
 
 let
   name = "astyle";
-  version = "2.04";
+  version = "2.05.1";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}_${version}_linux.tar.gz";
-    sha256 = "0q3b2579ng01glfwan75zcyvkggixdz9c4i6cgid2664ad47zcvh";
+    sha256 = "1b0f4wm1qmgcswmixv9mwbp86hbdqxk754hml8cjv5vajvqwdpzv";
   };
 
-  sourceRoot = "astyle/build/gcc";
+  sourceRoot = if (stdenv.cc.cc.isClang or false)
+    then "astyle/build/clang"
+    else "astyle/build/gcc";
+
+  # -s option is obsolete on Darwin and breaks build
+  postPatch = if stdenv.isDarwin then ''
+    substituteInPlace Makefile --replace "LDFLAGSr   = -s" "LDFLAGSr ="
+  '' else null;
 
   installFlags = "INSTALL=install prefix=$$out";
 
   meta = {
     homepage = "http://astyle.sourceforge.net/";
     description = "Source code indenter, formatter, and beautifier for C, C++, C# and Java";
-    license = "LGPL";
-
-    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix
new file mode 100644
index 00000000000..0e6ca01c625
--- /dev/null
+++ b/pkgs/development/tools/misc/autoconf-archive/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, xz }:
+stdenv.mkDerivation rec {
+  name = "autoconf-archive-${version}";
+  version = "2014.10.15";
+
+  src = fetchurl {
+    url = "http://ftp.heanet.ie/mirrors/gnu/autoconf-archive/autoconf-archive-${version}.tar.xz";
+    sha256 = "198yrdf8bhrpl7insdyzn65zd60qll0gr9vpz7fl7dpcj78yc7gy";
+  };
+  buildInputs = [ xz ];
+
+  meta = with stdenv.lib; {
+    description = "Archive of autoconf m4 macros.";
+    homepage = http://www.gnu.org/software/autoconf-archive/;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix
index c3b44ca5686..29939a423af 100644
--- a/pkgs/development/tools/misc/autoconf/2.13.nix
+++ b/pkgs/development/tools/misc/autoconf/2.13.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "autoconf-2.13";
-  
+
   src = fetchurl {
     url = "mirror://gnu/autoconf/${name}.tar.gz";
     sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh";
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   # "fixed" path in generated files!
   dontPatchShebangs = true;
 
+  postInstall = ''ln -s autoconf "$out"/bin/autoconf-2.13'';
+
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
     description = "Part of the GNU Build System";
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index 4dca332722b..472f437978b 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index a26c1fdd199..48533f553fe 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -50,6 +50,6 @@ let version = "5.18"; in
 
       homepage = http://www.gnu.org/software/autogen/;
 
-      maintainers = [ stdenv.lib.maintainers.ludo ];
+      maintainers = [ ];
     };
   }
diff --git a/pkgs/development/tools/misc/automake/automake-1.10.x.nix b/pkgs/development/tools/misc/automake/automake-1.10.x.nix
new file mode 100644
index 00000000000..a06426e9cf4
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/automake-1.10.x.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, perl, autoconf, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "automake-1.10.3";
+
+  # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is
+  # available upstream; see
+  # <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9026>.
+  builder = ./builder.sh;
+
+  setupHook = ./setup-hook.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/automake/${name}.tar.gz";
+    sha256 = "fda9b22ec8705780c8292510b3376bb45977f45a4f7eb3578c5ad126d7758028";
+  };
+
+  buildInputs = [perl autoconf makeWrapper];
+
+  # Disable indented log output from Make, otherwise "make.test" will
+  # fail.
+  preCheck = "unset NIX_INDENT_MAKE";
+
+  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
+  # "fixed" path in generated files!
+  dontPatchShebangs = true;
+
+  # Run the test suite in parallel.
+  enableParallelBuilding = true;
+
+  meta = {
+    branch = "1.10";
+    homepage = http://www.gnu.org/software/automake/;
+    description = "GNU standard-compliant makefile generator";
+
+    longDescription = ''
+      GNU Automake is a tool for automatically generating
+      `Makefile.in' files compliant with the GNU Coding
+      Standards.  Automake requires the use of Autoconf.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
index 2cd80eb4bac..9b4864e92fe 100644
--- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
+    branch = "1.11";
     homepage = http://www.gnu.org/software/automake/;
     description = "GNU standard-compliant makefile generator";
 
@@ -42,6 +43,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/automake/automake-1.12.x.nix b/pkgs/development/tools/misc/automake/automake-1.12.x.nix
index 6a93cdc78fd..34bffff23d4 100644
--- a/pkgs/development/tools/misc/automake/automake-1.12.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.12.x.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
   dontPatchShebangs = true;
 
   meta = {
+    branch = "1.12";
     homepage = http://www.gnu.org/software/automake/;
     description = "GNU standard-compliant makefile generator";
 
@@ -48,6 +49,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/automake/automake-1.13.x.nix b/pkgs/development/tools/misc/automake/automake-1.13.x.nix
index d4369787f1b..96a481ade1c 100644
--- a/pkgs/development/tools/misc/automake/automake-1.13.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.13.x.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   dontPatchShebangs = true;
 
   meta = {
+    branch = "1.13";
     homepage = "http://www.gnu.org/software/automake/";
     description = "GNU standard-compliant makefile generator";
     license = stdenv.lib.licenses.gpl2Plus;
@@ -35,6 +36,8 @@ stdenv.mkDerivation rec {
       Standards.  Automake requires the use of Autoconf.
     '';
 
-    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
+    maintainers = [ stdenv.lib.maintainers.simons ];
+
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/automake/automake-1.14.x.nix b/pkgs/development/tools/misc/automake/automake-1.14.x.nix
index 0c6ed42825a..c78e9e6c0a4 100644
--- a/pkgs/development/tools/misc/automake/automake-1.14.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.14.x.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   dontPatchShebangs = true;
 
   meta = {
+    branch = "1.14";
     homepage = "http://www.gnu.org/software/automake/";
     description = "GNU standard-compliant makefile generator";
     license = stdenv.lib.licenses.gpl2Plus;
@@ -35,6 +36,8 @@ stdenv.mkDerivation rec {
       Standards.  Automake requires the use of Autoconf.
     '';
 
-    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
+    maintainers = [ stdenv.lib.maintainers.simons ];
+
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/automake/automake-1.15.x.nix b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
new file mode 100644
index 00000000000..9db2375a5c6
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/automake-1.15.x.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
+
+stdenv.mkDerivation rec {
+  name = "automake-1.15";
+
+  src = fetchurl {
+    url = "mirror://gnu/automake/${name}.tar.xz";
+    sha256 = "0dl6vfi2lzz8alnklwxzfz624b95hb1ipjvd3mk177flmddcf24r";
+  };
+
+  buildInputs = [ perl autoconf ];
+
+  setupHook = ./setup-hook.sh;
+
+  # Disable indented log output from Make, otherwise "make.test" will
+  # fail.
+  preCheck = "unset NIX_INDENT_MAKE";
+  inherit doCheck;
+
+  # The test suite can run in parallel.
+  enableParallelBuilding = true;
+
+  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
+  # "fixed" path in generated files!
+  dontPatchShebangs = true;
+
+  meta = {
+    branch = "1.15";
+    homepage = "http://www.gnu.org/software/automake/";
+    description = "GNU standard-compliant makefile generator";
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    longDescription = ''
+      GNU Automake is a tool for automatically generating
+      `Makefile.in' files compliant with the GNU Coding
+      Standards.  Automake requires the use of Autoconf.
+    '';
+
+    maintainers = [ stdenv.lib.maintainers.simons ];
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix
index aa8e70b5edc..282ab740b49 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 }:
 
 stdenv.mkDerivation rec {
-  name = "babeltrace-1.2.1";
+  name = "babeltrace-1.2.4";
 
   src = fetchurl {
     url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2";
-    sha256 = "1pwg0y57iy4c8wynb6bj7f6bxaiclmxcm4f3nllpw9brhbdzygc1";
+    sha256 = "1ccy432srwz4xzi6pswfkjsymw00g1p0aqwr0l1mfzfws8d3lvk6";
   };
 
   buildInputs = [ pkgconfig glib libuuid popt ];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 316089fa7c6..c0d7fdc4d93 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -2,6 +2,8 @@
 , cross ? null, gold ? true, bison ? null
 }:
 
+assert !stdenv.isDarwin;
+
 let basename = "binutils-2.23.1"; in
 
 with { inherit (stdenv.lib) optional optionals optionalString; };
@@ -36,9 +38,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" "info" ];
 
-  buildInputs =
-    [ zlib ]
-    ++ optional gold bison;
+  nativeBuildInputs = optional gold bison;
+  buildInputs = [ zlib ];
 
   inherit noSysDirs;
 
diff --git a/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch b/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch
new file mode 100644
index 00000000000..4284245f485
--- /dev/null
+++ b/pkgs/development/tools/misc/bossa/bossa-no-applet-build.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile b/Makefile
+index cc8882e..97b11ee 100644
+--- a/Makefile
++++ b/Makefile
+@@ -184,11 +184,6 @@ $(foreach src,$(COMMON_SRCS),$(eval $(call common_obj,$(src))))
+ # Applet rules
+ #
+ define applet_obj
+-$(SRCDIR)/$(1:%.asm=%.cpp): $(SRCDIR)/$(1)
+-	@echo APPLET $(1:%.asm=%)
+-	$$(Q)$$(ARMAS) -o $$(@:%.o=%.obj) $$<
+-	$$(Q)$$(ARMOBJCOPY) -O binary $$(@:%.o=%.obj) $$(@:%.o=%.bin)
+-	$$(Q)appletgen $(1:%.asm=%) $(SRCDIR) $(OBJDIR)
+ $(OBJDIR)/$(1:%.asm=%.o): $(SRCDIR)/$(1:%.asm=%.cpp)
+ 	@echo CPP APPLET $$<
+ 	$$(Q)$$(CXX) $$(COMMON_CXXFLAGS) -c -o $$(@) $$(<:%.asm=%.cpp)
diff --git a/pkgs/development/tools/misc/bossa/default.nix b/pkgs/development/tools/misc/bossa/default.nix
index f0b6d81e69e..71148755a75 100644
--- a/pkgs/development/tools/misc/bossa/default.nix
+++ b/pkgs/development/tools/misc/bossa/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
     sha256 = "01y8r45fw02rps9q995mv82bxrm6p0mysv4wir5glpagrhnyw7md";
   };
 
+  patches = [ ./bossa-no-applet-build.patch ];
+
   nativeBuildInputs = [ bin2c ];
   buildInputs = [ wxGTK libX11 readline ];
 
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 3dd634274f3..7c0cfa51cd7 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -3,10 +3,10 @@
 let
   ccache =
 stdenv.mkDerivation {
-  name = "ccache-3.1.9";
+  name = "ccache-3.2.1";
   src = fetchurl {
-    url = http://samba.org/ftp/ccache/ccache-3.1.9.tar.gz;
-    sha256 = "0ixlxqv1xyacwgg0k9b4a6by07c7k75y0xbr8dp76jvyada0c9x2";
+    url = mirror://samba/ccache/ccache-3.2.1.tar.xz;
+    sha256 = "17dxb0adha2bqzb2r8rcc3kl9mk7y6vrvlh181liivrc3m7g6al7";
   };
 
   buildInputs = [ zlib ];
@@ -14,33 +14,33 @@ stdenv.mkDerivation {
   passthru = {
     # A derivation that provides gcc and g++ commands, but that
     # will end up calling ccache for the given cacheDir
-    links = extraConfig : (runCommand "ccache-links"
-        { inherit (gcc) langC langCC; }
+    links = extraConfig : (runCommand "ccache-links" { passthru.gcc = gcc; }
       ''
         mkdir -p $out/bin
-        if [ $langC -eq 1 ]; then
+        if [ -x "${gcc.cc}/bin/gcc" ]; then
           cat > $out/bin/gcc << EOF
           #!/bin/sh
           ${extraConfig}
-          exec ${ccache}/bin/ccache ${gcc.gcc}/bin/gcc "\$@"
+          exec ${ccache}/bin/ccache ${gcc.cc}/bin/gcc "\$@"
         EOF
           chmod +x $out/bin/gcc
         fi
-        if [ $langCC -eq 1 ]; then
+        if [ -x "${gcc.cc}/bin/g++" ]; then
           cat > $out/bin/g++ << EOF
           #!/bin/sh
           ${extraConfig}
-          exec ${ccache}/bin/ccache ${gcc.gcc}/bin/g++ "\$@"
+          exec ${ccache}/bin/ccache ${gcc.cc}/bin/g++ "\$@"
         EOF
           chmod +x $out/bin/g++
         fi
       '');
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Compiler cache for fast recompilation of C/C++ code";
     homepage = http://ccache.samba.org/;
-    license = "GPL";
+    license = with licenses; gpl3Plus;
+    maintainers = with maintainers; [ nckx ];
   };
 };
 in
diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix
index b1322d461ee..c308c5c7019 100644
--- a/pkgs/development/tools/misc/cflow/default.nix
+++ b/pkgs/development/tools/misc/cflow/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     substituteInPlace "src/cflow.h"					\
       --replace "/usr/bin/cpp"						\
-                "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/bin/cpp"
+                "$(cat ${stdenv.cc}/nix-support/orig-cc)/bin/cpp"
   '';
 
   buildInputs = [ gettext ] ++
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/cflow/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
 
     /* On Darwin, build fails with:
 
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index 09c9325d4ff..fa13b4d6ebb 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, ncurses, readline }:
 
 stdenv.mkDerivation rec {
-  name = "cgdb-0.6.6";
+  name = "cgdb-${version}";
+  version = "0.6.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/cgdb/${name}.tar.gz";
-    sha256 = "0iap84ikpk1h58wy14zzi1kwszv1hsnvpvnz14swkz54yrh9z7ng";
+    url = "http://cgdb.me/files/${name}.tar.gz";
+    sha256 = "1agxk6a97v6q0n097zw57qqpaza4j79jg36x99bh8yl23qfx6kh7";
   };
 
   buildInputs = [ ncurses readline ];
@@ -13,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A curses interface to gdb";
 
-    homepage = http://cgdb.sourceforge.net/;
+    homepage = https://cgdb.github.io/;
 
     repositories.git = git://github.com/cgdb/cgdb.git;
 
diff --git a/pkgs/development/tools/misc/checkbashisms/default.nix b/pkgs/development/tools/misc/checkbashisms/default.nix
new file mode 100644
index 00000000000..259224aac5d
--- /dev/null
+++ b/pkgs/development/tools/misc/checkbashisms/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, perl }:
+stdenv.mkDerivation rec {
+  inherit perl;
+
+  name = "checkbashisms";
+  version = "2.0.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/checkbaskisms/${version}/${name}";
+    sha256 = "1vm0yykkg58ja9ianfpm3mgrpah109gj33b41kl0jmmm11zip9jd";
+  };
+
+  meta = {
+    homepage = http://sourceforge.net/projects/checkbaskisms/;
+    description = "Performs basic checks on shell scripts for the presence of non portable syntax.";
+    license = stdenv.lib.licenses.gpl2;
+  };
+
+  # The link returns directly the script. No need for unpacking
+  unpackPhase = "true";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src $out/bin/checkbashisms
+    chmod 755 $out/bin/checkbashisms
+  '';
+
+  # Makes sure to point to the proper perl version
+  fixupPhase = ''
+    sed -e "s#/usr/bin/perl#$perl/bin/perl#" -i $out/bin/checkbashisms
+  '';
+}
diff --git a/pkgs/development/tools/misc/chruby/default.nix b/pkgs/development/tools/misc/chruby/default.nix
new file mode 100644
index 00000000000..ed96befca5e
--- /dev/null
+++ b/pkgs/development/tools/misc/chruby/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchFromGitHub, runCommand, rubies ? null }:
+
+let
+  rubiesEnv = runCommand "chruby-env" { preferLocalBuild = true; } ''
+    mkdir $out
+    ${lib.concatStrings
+        (lib.mapAttrsToList (name: path: "ln -s ${path} $out/${name}\n") rubies)}
+  '';
+
+in stdenv.mkDerivation rec {
+  name = "chruby-${version}";
+
+  version = "0.3.9";
+
+  src = fetchFromGitHub {
+    owner = "postmodern";
+    repo = "chruby";
+    rev = "v${version}";
+    sha256 = "1894g6fymr8kra9vwhbmnrcr58l022mcd7g9ans4zd3izla2j3gx";
+  };
+
+  phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
+
+  patches = lib.optionalString (rubies != null) [
+    ./env.patch
+  ];
+
+  postPatch = lib.optionalString (rubies != null) ''
+    substituteInPlace share/chruby/chruby.sh --replace "@rubiesEnv@" ${rubiesEnv}
+  '';
+
+  installPhase = ''
+    mkdir $out
+    cp -r bin $out
+    cp -r share $out
+  '';
+
+  meta = with lib; {
+    description = "Changes the current Ruby";
+    homepage = https://github.com/postmodern/chruby;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/development/tools/misc/chruby/env.patch b/pkgs/development/tools/misc/chruby/env.patch
new file mode 100644
index 00000000000..6a4ef8b7349
--- /dev/null
+++ b/pkgs/development/tools/misc/chruby/env.patch
@@ -0,0 +1,12 @@
+diff --git a/share/chruby/chruby.sh b/share/chruby/chruby.sh
+--- a/share/chruby/chruby.sh
++++ b/share/chruby/chruby.sh
+@@ -1,7 +1,7 @@
+ CHRUBY_VERSION="0.3.8"
+ RUBIES=()
+ 
+-for dir in "$PREFIX/opt/rubies" "$HOME/.rubies"; do
++for dir in @rubiesEnv@; do
+ 	[[ -d "$dir" && -n "$(ls -A "$dir")" ]] && RUBIES+=("$dir"/*)
+ done
+ unset dir
diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix
index d66ca9868f5..a6ea7ed766e 100644
--- a/pkgs/development/tools/misc/cl-launch/default.nix
+++ b/pkgs/development/tools/misc/cl-launch/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="cl-launch";
-    version="4.0.5";
+    version="4.1.2";
     name="${baseName}-${version}";
-    hash="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
-    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.5.tar.gz";
-    sha256="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
+    hash="13fgcvg71s1yp3r7jf1cs3kkpfw0pwykgmj7zryh24mw2269rx90";
+    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.1.2.tar.gz";
+    sha256="13fgcvg71s1yp3r7jf1cs3kkpfw0pwykgmj7zryh24mw2269rx90";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 51f5ed6091f..f21808d28f7 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -1,20 +1,16 @@
 { fetchurl, stdenv, python, ncurses, ocamlPackages, pkgconfig, makeWrapper }:
 
-let
-
-  name = "coccinelle-1.0.0-rc15";
-  sha256 = "07fab4e17512925b958890bb13c0809797074f2e44a1107b0074bdcc156b9596";
-
-in stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name    = "coccinelle-${version}";
+  version = "1.0.0-rc23";
 
   src = fetchurl {
     url = "http://coccinelle.lip6.fr/distrib/${name}.tgz";
-    inherit sha256;
+    sha256 = "1qrd4kr3wc0hm4l60fwn19iwzwqcjsx85mm3k4gm3cdhljjma82p";
   };
 
   buildInputs = with ocamlPackages; [
-    ocaml findlib menhir
+    ocaml findlib menhir ocamlPackages.camlp4
     ocaml_pcre pycaml
     python ncurses pkgconfig
     makeWrapper
@@ -38,25 +34,23 @@ in stdenv.mkDerivation {
 
   meta = {
     description = "Program to apply semantic patches to C code";
-
-    longDescription =
-      '' Coccinelle is a program matching and transformation engine which
-         provides the language SmPL (Semantic Patch Language) for specifying
-         desired matches and transformations in C code.  Coccinelle was
-         initially targeted towards performing collateral evolutions in
-         Linux.  Such evolutions comprise the changes that are needed in
-         client code in response to evolutions in library APIs, and may
-         include modifications such as renaming a function, adding a function
-         argument whose value is somehow context-dependent, and reorganizing
-         a data structure.  Beyond collateral evolutions, Coccinelle is
-         successfully used (by us and others) for finding and fixing bugs in
-         systems code.
-      '';
+    longDescription = ''
+      Coccinelle is a program matching and transformation engine which
+      provides the language SmPL (Semantic Patch Language) for
+      specifying desired matches and transformations in C code.
+      Coccinelle was initially targeted towards performing collateral
+      evolutions in Linux.  Such evolutions comprise the changes that
+      are needed in client code in response to evolutions in library
+      APIs, and may include modifications such as renaming a function,
+      adding a function argument whose value is somehow
+      context-dependent, and reorganizing a data structure.  Beyond
+      collateral evolutions, Coccinelle is successfully used (by us
+      and others) for finding and fixing bugs in systems code.
+    '';
 
     homepage = http://coccinelle.lip6.fr/;
     license = stdenv.lib.licenses.gpl2;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/tools/misc/complexity/default.nix b/pkgs/development/tools/misc/complexity/default.nix
index a7ae4d17ab1..4508fd64119 100644
--- a/pkgs/development/tools/misc/complexity/default.nix
+++ b/pkgs/development/tools/misc/complexity/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/complexity/;
 
     platforms = stdenv.lib.platforms.gnu;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix
index f3a724f3039..8167ae92416 100644
--- a/pkgs/development/tools/misc/cpphs/default.nix
+++ b/pkgs/development/tools/misc/cpphs/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cpphs";
-  version = "1.18.5";
-  sha256 = "0bqfz0wkfnxvv711fgmhmh6rbwffgna1pfqbj7whb6crqji9w7g7";
+  version = "1.18.6";
+  sha256 = "0ds712zabigswf3cljzh7f2ys4rl1fj2cf76lbw856adm8514gxc";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ polyparse ];
diff --git a/pkgs/development/tools/misc/cppi/default.nix b/pkgs/development/tools/misc/cppi/default.nix
index 2942408de80..148c08d9c86 100644
--- a/pkgs/development/tools/misc/cppi/default.nix
+++ b/pkgs/development/tools/misc/cppi/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/cproto/default.nix b/pkgs/development/tools/misc/cproto/default.nix
index c91d826e3b3..a7298214926 100644
--- a/pkgs/development/tools/misc/cproto/default.nix
+++ b/pkgs/development/tools/misc/cproto/default.nix
@@ -13,9 +13,9 @@ stdenv.mkDerivation {
   # patch made by Joe Khoobyar copied from gentoo bugs
   patches = ./cproto_patch;
 
-  meta = { 
+  meta = {
     description = "Tool to generate C function prototypes from C source code";
     homepage = http://cproto.sourceforge.net/;
-    license = "public domain";
+    license = stdenv.lib.licenses.publicDomain;
   };
 }
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index df5fdbfab5a..5afe5525d0e 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -27,8 +27,6 @@ stdenv.mkDerivation rec {
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share"
-
-      rm $out/share/icons/hicolor/icon-theme.cache
     '';
 
   meta = {
diff --git a/pkgs/development/tools/misc/ddd/default.nix b/pkgs/development/tools/misc/ddd/default.nix
index 91150255bda..a57840827c1 100644
--- a/pkgs/development/tools/misc/ddd/default.nix
+++ b/pkgs/development/tools/misc/ddd/default.nix
@@ -7,12 +7,14 @@ stdenv.mkDerivation rec {
     sha256 = "0p5nx387857w3v2jbgvps2p6mlm0chajcdw5sfrddcglsxkwvmis";
   };
   buildInputs = [lesstif ncurses libX11 libXt];
-	configureFlags = "--with-x";
+  configureFlags = "--with-x";
 
   patches = [ ./gcc44.patch ];
-	meta = {
-	  homepage = http://www.gnu.org/software/ddd;
-		description = "Graphical front-end for command-line debuggers";
-		license = stdenv.lib.licenses.gpl2;
-	};
+
+  meta = {
+    homepage = http://www.gnu.org/software/ddd;
+    description = "Graphical front-end for command-line debuggers";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index d3c2e7e6389..685fde4226d 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, expect, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "dejagnu-1.5.1";
+  name = "dejagnu-1.5.2";
 
   src = fetchurl {
     url = "mirror://gnu/dejagnu/${name}.tar.gz";
-    sha256 = "1lik8h4qi7x0mhsi8xmj91an1yb63rjbk6v4xrmzgiy5lk8lgrv0";
+    sha256 = "18ikblg4x4y5fkw8sg0c2zmqgxdqqycswmws17sxx8m4sz6g7dch";
   };
 
   patches = [ ./wrapped-runtest-program-name.patch ];
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix
index 2df687b8bc6..f63a726f73b 100644
--- a/pkgs/development/tools/misc/dfu-programmer/default.nix
+++ b/pkgs/development/tools/misc/dfu-programmer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libusb }:
 let
-  version = "0.7.0";
+  version = "0.7.2";
 in
 stdenv.mkDerivation rec {
   name="dfu-programmer-${version}";
@@ -9,14 +9,14 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/dfu-programmer/${name}.tar.gz";
-    sha256 = "17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf";
+    sha256 = "15gr99y1z9vbvhrkd25zqhnzhg6zjmaam3vfjzf2mazd39mx7d0x";
   };
 
   configureFlags = [ "--disable-libusb_1_0" ];
 
   meta = with stdenv.lib; {
     license = licenses.gpl2;
-    description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader.";
+    description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader";
     homepage = http://dfu-programmer.sourceforge.net/;
     maintainers = [ maintainers.the-kenny ];
   };
diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix
index 565d7835f05..0b42b88ef7a 100644
--- a/pkgs/development/tools/misc/distcc/default.nix
+++ b/pkgs/development/tools/misc/distcc/default.nix
@@ -41,11 +41,10 @@ let
       #
       # extraConfig is meant to be sh lines exporting environment
       # variables like DISTCC_HOSTS, DISTCC_DIR, ...
-      links = extraConfig : (runCommand "distcc-links"
-          { inherit (gcc) langC langCC; }
+      links = extraConfig: (runCommand "distcc-links" { passthru.gcc = gcc.cc; }
         ''
           mkdir -p $out/bin
-          if [ $langC -eq 1 ]; then
+          if [ -x "${gcc.cc}/bin/gcc" ]; then
             cat > $out/bin/gcc << EOF
             #!/bin/sh
             ${extraConfig}
@@ -53,7 +52,7 @@ let
           EOF
             chmod +x $out/bin/gcc
           fi
-          if [ $langCC -eq 1 ]; then
+          if [ -x "${gcc.cc}/bin/g++" ]; then
             cat > $out/bin/g++ << EOF
             #!/bin/sh
             ${extraConfig}
diff --git a/pkgs/development/tools/misc/distcc/masq.nix b/pkgs/development/tools/misc/distcc/masq.nix
index 753c35b5d3a..28b31cbb48d 100644
--- a/pkgs/development/tools/misc/distcc/masq.nix
+++ b/pkgs/development/tools/misc/distcc/masq.nix
@@ -3,6 +3,10 @@
 stdenv.mkDerivation {
   name = "distcc-masq-${gccRaw.name}";
 
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
+
   phases = [ "installPhase" ];
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/tools/misc/epm/default.nix b/pkgs/development/tools/misc/epm/default.nix
index 23b781902e7..9d84011e365 100644
--- a/pkgs/development/tools/misc/epm/default.nix
+++ b/pkgs/development/tools/misc/epm/default.nix
@@ -1,17 +1,21 @@
 {stdenv, fetchurl, rpm}:
 
-stdenv.mkDerivation {
-  name = "epm-4.1";
+stdenv.mkDerivation rec {
+  name = "epm-${version}";
+  version = "4.2";
 
   src = fetchurl {
-    url = http://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/epm/4.1/epm-4.1-source.tar.bz2;
-    sha256 = "18xq1h9hx410x28bfccabydrqb1c0dqnq62qa17wc3846rwf234n";
+    url = "http://www.msweet.org/files/project2/epm-4.2-source.tar.bz2";
+    sha256 = "13imglm1fgd7p5y9lc0xsl6x4cdjsk5lnan5sn8f7m4jwbx8kik6";
   };
 
-  buildInputs = [rpm];
+  buildInputs = [ rpm ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The ESP Package Manager generates distribution archives for a variety of platforms";
-    homepage = http://www.easysw.com/epm/index.php;
+    homepage = http://www.msweet.org/projects.php?Z2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
new file mode 100644
index 00000000000..8f7f9437d4e
--- /dev/null
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, fetchFromGitHub
+, autoconf
+, automake
+, findutils                     # for xargs
+, gettext
+, libtool
+, makeWrapper
+, texinfo
+}:
+
+let
+
+ version = "1.4.6";
+
+in stdenv.mkDerivation {
+
+  name = "fswatch-${version}";
+
+  src = fetchFromGitHub {
+    owner = "emcrisostomo";
+    repo = "fswatch";
+    rev = version;
+    sha256 = "0flq8baqzifhmf61zyiipdipvgy4h0kl551clxrhwa8gvzf75im4";
+  };
+
+  buildInputs = [ autoconf automake gettext libtool makeWrapper texinfo ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  postFixup = ''
+    for prog in fswatch-run fswatch-run-bash; do
+      wrapProgram $out/bin/$prog \
+        --prefix PATH "${findutils}/bin"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform file change monitor with multiple backends";
+    homepage = https://github.com/emcrisostomo/fswatch;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pSub ];
+  };
+
+}
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 5ee0f64a4e4..b24b46aec3d 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo
-, dejagnu, python, target ? null
+, dejagnu, python, perl, pkgconfig, guile, target ? null
 
 # Additional dependencies for GNU/Hurd.
 , mig ? null, hurd ? null
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.7";
+  basename = "gdb-7.8.2";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -26,18 +26,18 @@ stdenv.mkDerivation rec {
       ("-" + target.config);
 
   src = fetchurl {
-    url = "mirror://gnu/gdb/${basename}.tar.bz2";
-    sha256 = "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104";
+    url = "mirror://gnu/gdb/${basename}.tar.xz";
+    sha256 = "11a4fj1vpsny71kz7xqqbqk3kgzbs5cfjj3z9gm0hpvxfkam8nb0";
   };
 
   patches = [ ./edit-signals.patch ];
 
   # I think python is not a native input, but I leave it
   # here while I will not need it cross building
-  nativeBuildInputs = [ texinfo python ]
+  nativeBuildInputs = [ texinfo python perl ]
     ++ stdenv.lib.optional isGNU mig;
 
-  buildInputs = [ ncurses readline gmp mpfr expat ]
+  buildInputs = [ ncurses readline gmp mpfr expat /* pkgconfig guile */ ]
     ++ stdenv.lib.optional isGNU hurd
     ++ stdenv.lib.optional doCheck dejagnu;
 
diff --git a/pkgs/development/tools/misc/gdb/pstack.nix b/pkgs/development/tools/misc/gdb/pstack.nix
deleted file mode 100644
index 12cdc654260..00000000000
--- a/pkgs/development/tools/misc/gdb/pstack.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ stdenv, gdb }:
-stdenv.mkDerivation {
-  name = "pstack-20120823";
-  buildCommand = ''
-    mkdir -p $out/bin
-    cat > $out/bin/pstack <<EOF
-    ${gdb}/bin/gdb -ex "set pagination 0" -ex "thread apply all bt" --batch -p \$1
-    EOF
-    chmod a+x $out/bin/pstack
-  '';
-}
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index b366feb304a..7b61d96e3e7 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -1,29 +1,38 @@
-{ fetchurl, stdenv, libtool, ncurses }:
+{ fetchurl, stdenv, libtool, ncurses, ctags, sqlite
+, pythonPackages, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "global-6.2.12";
+  name = "global-6.4";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "05jkhya1cs6yqhkf8nw5x56adkxxrqyga7sq7hx44dbf7alczwfa";
+    sha256 = "13i4zwx6gaibc4j79wd0hgxysw8ibxz9c018zxhydnxlyadzcnri";
   };
 
-  buildInputs = [ libtool ncurses ];
+  buildInputs = [ libtool ncurses makeWrapper ];
+  propagatedBuildInputs = [ pythonPackages.pygments ];
 
   configurePhase =
     '' ./configure --prefix="$out" --disable-static ''
     + ''--with-posix-sort=$(type -p sort) ''
     + ''--with-ltdl-include=${libtool}/include --with-ltdl-lib=${libtool}/lib ''
-    + ''--with-ncurses=${ncurses}'';
+    + ''--with-ncurses=${ncurses} ''
+    + ''--with-sqlite3=${sqlite} ''
+    + ''--with-exuberant-ctags=${ctags}/bin/ctags'';
 
   doCheck = true;
 
   postInstall = ''
     mkdir -p "$out/share/emacs/site-lisp"
     cp -v *.el "$out/share/emacs/site-lisp"
+
+    wrapProgram $out/bin/gtags \
+      --prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
+    wrapProgram $out/bin/global \
+      --prefix PYTHONPATH : "$(toPythonPath ${pythonPackages.pygments})"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Source code tag system";
 
     longDescription = ''
@@ -37,11 +46,11 @@ stdenv.mkDerivation rec {
       operating system like GNU and BSD.
     '';
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/global/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/go-repo-root/default.nix b/pkgs/development/tools/misc/go-repo-root/default.nix
new file mode 100644
index 00000000000..16520ee0457
--- /dev/null
+++ b/pkgs/development/tools/misc/go-repo-root/default.nix
@@ -0,0 +1,26 @@
+{ lib, goPackages, fetchFromGitHub }:
+
+let
+  version = "0.0.1";
+in
+
+with lib; with goPackages;
+buildGoPackage rec {
+  name = "go-repo-root-${version}";
+  goPackagePath = "github.com/cstrahan/go-repo-root";
+  src = fetchFromGitHub {
+    owner = "cstrahan";
+    repo = "go-repo-root";
+    rev = "90041e5c7dc634651549f96814a452f4e0e680f9";
+    sha256 = "1rlzp8kjv0a3dnfhyqcggny0ad648j5csr2x0siq5prahlp48mg4";
+  };
+
+  buildInputs = [ tools ];
+
+  meta = with lib; {
+    homepage    = "https://github.com/cstrahan/go-repo-root";
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.mit;
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix
index a434e54bba9..c1ab6ebe074 100644
--- a/pkgs/development/tools/misc/gob2/default.nix
+++ b/pkgs/development/tools/misc/gob2/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurlGnome, pkgconfig, glib, bison, flex }:
+{ stdenv, fetchurl, pkgconfig, glib, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = src.pkgname;
+  name = "gob2-${minVer}.18";
+  minVer = "2.0";
 
-  src = fetchurlGnome {
-    project = "gob2";
-    major = "2"; minor = "0"; patchlevel = "18"; extension = "gz";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gob2/${minVer}/${name}.tar.gz";
     sha256 = "1r242s3rsxyqiw2ic2gdpvvrx903jgjd1aa4mkl26in5k9zk76fa";
   };
 
diff --git a/pkgs/development/tools/misc/grafana/default.nix b/pkgs/development/tools/misc/grafana/default.nix
index b1566684cf0..ecfd0e1fb8b 100644
--- a/pkgs/development/tools/misc/grafana/default.nix
+++ b/pkgs/development/tools/misc/grafana/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "grafana-${version}";
-  version = "1.5.4";
+  version = "1.9.1";
 
   src = fetchurl {
     url = "http://grafanarel.s3.amazonaws.com/${name}.zip";
-    sha256 = "fee7334efba967142955be2fa39ecae7bca0cc9b7a76c301430746be4fc7ec6d";
+    sha256 = "1zyzsbspxrzaf2kk6fysp6c3y025s6nd75rc2p9qq9q95dv8fj23";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index c4ba7073889..088e1574ebe 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.44.1";
+  name = "help2man-1.46.5";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "1yyyfw9zrfdvslnv91bnhyqmazwx243wmkc9wdaz888rfx36ipi2";
+    sha256 = "1gqfqgxq3qgwnldjz3i5mxvzyx2w3j042r3fw1wygic3f6327nha";
   };
 
   buildInputs = [ makeWrapper perl gettext LocaleGettext ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     '';
 
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Generate man pages from `--help' output";
 
     longDescription =
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/help2man/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
deleted file mode 100644
index 0940bcca191..00000000000
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ stdenv, fetchurl, nix, perlPackages, perl, makeWrapper, libtool
-, unzip, nukeReferences, pkgconfig, boehmgc, libxslt, sqlite
-, subversion, openssh, coreutils, findutils, gzip, bzip2, lzma
-, gnutar, git, mercurial, gnused, graphviz, rpm, dpkg, cdrkit
-}:
-
-let
-
-  perldeps = with perlPackages; 
-    [ CatalystDevel
-      CatalystPluginSessionStoreFastMmap
-      CatalystPluginStackTrace
-      CatalystPluginAuthorizationRoles
-      CatalystAuthenticationStoreDBIxClass
-      CatalystViewTT
-      CatalystEngineHTTPPrefork
-      CatalystViewDownload
-      XMLSimple
-      IPCRun
-      IOCompress
-      Readonly
-      DBDPg
-      EmailSender
-      TextTable
-      NetTwitterLite
-      PadWalker
-      DataDump
-      JSONXS
-      DateTime
-      DigestSHA1
-      CryptRandPasswd
-      nixPerl
-    ];
-
-  version = "0.1pre27592"; 
-
-in
-
-stdenv.mkDerivation {
-  name = "hydra-${version}";
-
-  src = fetchurl {
-    url = http://hydra.nixos.org/build/1142240/download/2/hydra-0.1pre27592.tar.gz;
-    sha256 = "0197bcfkabqqv7611fh9kjabfm0nfci8kanfaa59hqwf3h6fmpwz";
-  };
-
-  configureFlags = "--with-nix=${nix}";
-
-  buildInputs = [ perl makeWrapper libtool nix unzip nukeReferences pkgconfig boehmgc ] ++ perldeps ;
-
-  hydraPath = stdenv.lib.concatStringsSep ":" (map (p: "${p}/bin") ( [
-    libxslt sqlite subversion openssh nix coreutils findutils
-    gzip bzip2 lzma gnutar unzip git mercurial gnused graphviz
-    rpm dpkg cdrkit]));
-
-  postInstall = ''
-    for i in "$out/bin/"*; do
-        wrapProgram $i \
-            --prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
-            --prefix PATH ':' $out/bin:$hydraPath \
-            --set HYDRA_RELEASE ${version} \
-            --set HYDRA_HOME $out/libexec/hydra \
-            --set NIX_RELEASE ${nix.name}
-    done
-  '';
-
-  meta = {
-    description = "Hydra, the Nix-based continuous integration system";
-    homepage = http://nixos.org/hydra/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/tools/misc/inotify-tools/default.nix b/pkgs/development/tools/misc/inotify-tools/default.nix
index 3402c2060e7..4c1cd5bd7bd 100644
--- a/pkgs/development/tools/misc/inotify-tools/default.nix
+++ b/pkgs/development/tools/misc/inotify-tools/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-${version}.tar.gz";
-    sha256 = "0icl4bx041axd5dvhg89kilfkysjj86hjakc7bk8n49cxjn4cha6";
+    sha256 = "0by9frv1k59f76cx08sn06sk6lmdxsfb6zr0rshzhyrxi6lcqar2";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index 14bfe74821d..72a364e682a 100644
--- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, pkgconfig, libdrm, libpciaccess, cairo, dri2proto, udev, libX11, libXext, libXv, libXrandr, glib, bison }:
 
 stdenv.mkDerivation rec {
-  name = "intel-gpu-tools-1.7";
+  name = "intel-gpu-tools-1.10";
 
   src = fetchurl {
     url = "http://xorg.freedesktop.org/archive/individual/app/${name}.tar.bz2";
-    sha256 = "0yi0024kr1xzglkkhyjpxr081bmwvdakb61az6wiidfrpd1j6q92";
+    sha256 = "0x4q7gv14yaniycgdxym9nazlj6wzcvjjhg40bbm5lkw5pqvxwkd";
   };
 
-  configureFlags = [ "--disable-tests" ];
-
   buildInputs = [ pkgconfig libdrm libpciaccess cairo dri2proto udev libX11 libXext libXv libXrandr glib bison ];
 
   meta = with stdenv.lib; {
@@ -17,5 +15,6 @@ stdenv.mkDerivation rec {
     description = "Tools for development and testing of the Intel DRM driver";
     license = licenses.mit;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix
index c9bb661935a..40b7ea3b578 100644
--- a/pkgs/development/tools/misc/intltool/default.nix
+++ b/pkgs/development/tools/misc/intltool/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="intltool";
-    version="0.50.2";
-    name="intltool-0.50.2";
-    hash="01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7";
-    url="https://launchpad.net/intltool/trunk/0.50.2/+download/intltool-0.50.2.tar.gz";
-    sha256="01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7";
+    version="0.51.0";
+    name="${baseName}-${version}";
+    hash="1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7";
+    url="https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz";
+    sha256="1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7";
   };
   propagatedBuildInputs = [perl perlXMLParser];
   buildInputs = [];
diff --git a/pkgs/development/tools/misc/kibana/default.nix b/pkgs/development/tools/misc/kibana/default.nix
new file mode 100644
index 00000000000..dab04861d9f
--- /dev/null
+++ b/pkgs/development/tools/misc/kibana/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, conf ? null }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "kibana-${version}";
+  version = "3.1.1";
+
+  src = fetchurl {
+    url = "https://download.elasticsearch.org/kibana/kibana/${name}.tar.gz";
+    sha256 = "195x6zq9x16nlh2akvn6z0kp8qnba4vq90yrysiafgv8dmw34p5b";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out
+    mv * $out/
+    ${optionalString (conf != null) "cp ${conf} $out/config.js"}
+  '';
+
+  meta = {
+    description = "Visualize logs and time-stamped data";
+    homepage = http://www.elasticsearch.org/overview/kibana;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ offline rickynils ];
+  };
+}
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index 924113ea548..27ec2772e09 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchurl, m4, perl, lzma }:
+{ stdenv, fetchurl, m4, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "libtool-2.4.2";
+  name = "libtool-2.4.6";
 
   src = fetchurl {
     url = "mirror://gnu/libtool/${name}.tar.gz";
-    sha256 = "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk";
+    sha256 = "1qq61k6lp1fp75xs398yzi6wvbx232l7xbyn3p13cnh27mflvgg3";
   };
 
   outputs = [ "out" "lib" ];
 
-  nativeBuildInputs = [ lzma m4 perl ];
+  propagatedNativeBuildInputs = [ m4 ];
+  nativeBuildInputs = [ perl help2man ];
 
   # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
   # "fixed" path in generated files!
@@ -41,6 +42,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index ec3a5e9bcbf..1ef292407a4 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
       socket (IPv6/IPv4/UNIX local), or partition (by opening a file
       from it).
     '';
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index 5758500d86f..627a51916cb 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, popt, libuuid, liburcu, lttng-ust, kmod }:
+{ stdenv, fetchurl, popt, libuuid, liburcu, lttng-ust, kmod, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "lttng-tools-2.4.1";
+  name = "lttng-tools-2.5.2";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
-    sha256 = "1v9f7a3c2shwgn4g759bblgr27h9ql9sfq71r1mbkf8rd235g2jr";
+    sha256 = "0g931f90pl9bfgsxihrj0zlw9ivyaplbiw28axkscmjvzd1d6lhz";
   };
 
-  buildInputs = [ popt libuuid liburcu lttng-ust ];
+  buildInputs = [ popt libuuid liburcu lttng-ust libxml2 ];
 
   prePatch = ''
     sed -e "s|/sbin/modprobe|${kmod}/sbin/modprobe|g" \
diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix
index 0cba211f28b..38fe4d47e06 100644
--- a/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -12,11 +12,11 @@
 # Debian builds with std.h (systemtap).
 
 stdenv.mkDerivation rec {
-  name = "lttng-ust-2.4.1";
+  name = "lttng-ust-2.5.1";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2";
-    sha256 = "1nx9b1haiylajzjy03wgfcy85nwg578c6gy8ip55y8cabjrw0hp1";
+    sha256 = "0ij5p2j8q63zqnj3i3hgymgib717r2bq07ymy5cwdra1hvby5ngv";
   };
 
   buildInputs = [ liburcu ];
diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix
index 0096cbdbabf..5cf8b664941 100644
--- a/pkgs/development/tools/misc/lttv/default.nix
+++ b/pkgs/development/tools/misc/lttv/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     homepage = http://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.
-    # TODO license = with licenses; [ gpl2 lgpl21 ];
+    license = with licenses; [ gpl2 lgpl21 ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 4a38762a3ff..dfd5c2994fd 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.2.0";
+    version="2.2.1";
     name="${baseName}-${version}";
-    hash="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
-    url="http://luarocks.org/releases/luarocks-2.2.0-rc1.tar.gz";
-    sha256="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
+    hash="0mbwbx1qsarwab2apq424gw28px9h2d89v1fp9vxrrpi6dz8lgvi";
+    url="http://luarocks.org/releases/luarocks-2.2.1.tar.gz";
+    sha256="0mbwbx1qsarwab2apq424gw28px9h2d89v1fp9vxrrpi6dz8lgvi";
   };
   buildInputs = [
     lua curl makeWrapper which
diff --git a/pkgs/development/tools/misc/objconv/default.nix b/pkgs/development/tools/misc/objconv/default.nix
new file mode 100644
index 00000000000..154d66705d2
--- /dev/null
+++ b/pkgs/development/tools/misc/objconv/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation {
+  name = "objconv-1.0";
+
+  src = fetchFromGitHub {
+    owner  = "vertis";
+    repo   = "objconv";
+    rev    = "01da9219e684360fd04011599805ee3e699bae96";
+    sha256 = "1by2bbrampwv0qy8vn4hhs49rykczyj7q8g373ym38da3c95bym2";
+  };
+
+  buildPhase = "c++ -o objconv -O2 src/*.cpp";
+
+  installPhase = "mkdir -p $out/bin && mv objconv $out/bin";
+}
diff --git a/pkgs/development/tools/misc/saleae-logic/default.nix b/pkgs/development/tools/misc/saleae-logic/default.nix
index 2fa7194cf07..8e8909ee7d0 100644
--- a/pkgs/development/tools/misc/saleae-logic/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic/default.nix
@@ -62,8 +62,8 @@ stdenv.mkDerivation rec {
     cp -r * "$out"
 
     # Patch it
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" "$out/Logic"
-    patchelf --set-rpath "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64:${libPath}:\$ORIGIN/Analyzers:\$ORIGIN" "$out/Logic"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/Logic"
+    patchelf --set-rpath "${stdenv.cc.cc}/lib:${stdenv.cc.cc}/lib64:${libPath}:\$ORIGIN/Analyzers:\$ORIGIN" "$out/Logic"
 
     # Build the LD_PRELOAD library that makes Logic work from a read-only directory
     mkdir -p "$out/lib"
diff --git a/pkgs/development/tools/misc/sipp/default.nix b/pkgs/development/tools/misc/sipp/default.nix
new file mode 100644
index 00000000000..d3373e9f4a6
--- /dev/null
+++ b/pkgs/development/tools/misc/sipp/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, ncurses, libpcap }:
+
+stdenv.mkDerivation rec {
+
+  version = "3.4-beta2";
+
+  name = "sipp-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/SIPp/sipp/archive/${version}.tar.gz";
+    sha256 = "0rr3slarh5dhpinif5aqji9c9krnpvl7z49w7qahvsww1niawwdv";
+  };
+
+  configurePhase = ''
+    export ac_cv_lib_curses_initscr=yes
+    export ac_cv_lib_pthread_pthread_mutex_init=yes
+    sed -i "s@-lcurses@-lncurses@g" ./configure
+    sed -i "s@pcap/\(.*\).pcap@$out/share/pcap/\1.pcap@g" src/scenario.cpp
+    ./configure --prefix=$out --with-pcap
+  '';
+
+  postInstall = ''
+    mkdir -pv $out/share/pcap
+    cp pcap/* $out/share/pcap
+  '';
+
+  buildInputs = [ncurses libpcap];
+}
+
diff --git a/pkgs/development/tools/misc/sloccount/default.nix b/pkgs/development/tools/misc/sloccount/default.nix
index 1aa9a2c058d..cf143f7d9e9 100644
--- a/pkgs/development/tools/misc/sloccount/default.nix
+++ b/pkgs/development/tools/misc/sloccount/default.nix
@@ -29,9 +29,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  configurePhase = ''
-    sed -i "makefile" -"es|PREFIX[[:blank:]]*=.*$|PREFIX = $out|g"
-  '';
+  makeFlags = "PREFIX=$(out) CC=cc";
 
   doCheck = true;
   checkPhase = ''HOME="$TMPDIR" PATH="$PWD:$PATH" make test'';
diff --git a/pkgs/development/tools/misc/sqitch/default.nix b/pkgs/development/tools/misc/sqitch/default.nix
new file mode 100644
index 00000000000..0a1032cecf8
--- /dev/null
+++ b/pkgs/development/tools/misc/sqitch/default.nix
@@ -0,0 +1,15 @@
+{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule }:
+stdenv.mkDerivation {
+  name = "${name}-${sqitchModule.version}";
+  buildInputs = [ perl makeWrapper sqitchModule databaseModule ];
+  unpackPhase = ":";
+  buildPhase = ":";
+  installPhase = ''
+    mkdir -p $out/bin
+    for d in bin/sqitch etc lib share ; do
+      ln -s ${sqitchModule}/$d $out/$d
+    done
+  '';
+  dontStrip = true;
+  postFixup = "wrapProgram $out/bin/sqitch --prefix PERL5LIB : $PERL5LIB";
+}
diff --git a/pkgs/development/tools/misc/srecord/default.nix b/pkgs/development/tools/misc/srecord/default.nix
index e316b4a628e..9d0e2d7430e 100644
--- a/pkgs/development/tools/misc/srecord/default.nix
+++ b/pkgs/development/tools/misc/srecord/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, boost, libtool, groff, ghostscript }:
+{ stdenv, fetchurl, boost, libtool, groff, ghostscript, libgcrypt ? null }:
 
 stdenv.mkDerivation rec {
-  name = "srecord-1.63";
+  name = "srecord-1.64";
 
   src = fetchurl {
     url = "mirror://sourceforge/srecord/${name}.tar.gz";
-    sha256 = "06mzj9lrk8lzfzhnfyh8xm4p92j242jik6zm37ihcia20inwgzkq";
+    sha256 = "1qk75q0k5vzmm3932q9hqz2gp8n9rrdfjacsswxc02656f3l3929";
   };
 
-  buildInputs = [ boost libtool groff ghostscript ];
+  buildInputs = [ boost libtool groff ghostscript libgcrypt ];
+
+  configureFlags = stdenv.lib.optionalString
+    (libgcrypt == null) "--without-gcrypt";
 
   meta = with stdenv.lib; {
     description = "Collection of powerful tools for manipulating EPROM load files";
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 732423da5cd..43959c8a43c 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "strace-4.8";
+  name = "strace-4.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/strace/${name}.tar.xz";
-    sha256 = "1y6pw4aj4rw5470lqks1ml0n8jh5xbhwr5c3gb00bj570wgjk4pl";
+    sha256 = "1qhfwijxvblwdvvm70f8bhzs4fpbzqmwwbkfp636brzrds30s676";
   };
 
   nativeBuildInputs = [ perl ];
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "A system call tracer for Linux";
     license = licenses.bsd3;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/tools/misc/swig/3.x.nix b/pkgs/development/tools/misc/swig/3.x.nix
index 653fb061603..1a02c88bb71 100644
--- a/pkgs/development/tools/misc/swig/3.x.nix
+++ b/pkgs/development/tools/misc/swig/3.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "swig-3.0.0";
+  name = "swig-3.0.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/swig/${name}.tar.gz";
-    sha256 = "99cab1055877d00280509f0e04c1fe76643ec3792e9b8e7efcc9aa6e247229df";
+    sha256 = "04vqrij3k6pcq41y7rzl5rmhnghqg905f11wyrqw7vdwr9brcrm2";
   };
 
   buildInputs = [ pcre ];
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index 66d6b65453e..c4fcd315845 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   # 'make check' uses boost and tcl
   buildInputs = stdenv.lib.optionals doCheck [ boost tcl ];
 
-  configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--disable-ccache";
+  configureFlags = "--disable-ccache";
 
   meta = {
     description = "Interface compiler that connects C/C++ code to higher-level languages";
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
index 1b4cab361ce..e4c2b474d46 100644
--- a/pkgs/development/tools/misc/sysbench/default.nix
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -2,11 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "sysbench-0.4.12";
-  buildInputs = [ autoreconfHook mysql libxslt zlib ];
+
+  buildInputs = [ autoreconfHook mysql.lib libxslt zlib ];
+
   src = fetchurl {
     url = mirror://sourceforge/sysbench/sysbench-0.4.12.tar.gz;
     sha256 = "17pa4cw7wxvlb4mba943lfs3b3jdi64mlnaf4n8jq09y35j79yl3";
   };
+
   preAutoreconf = ''
     touch NEWS AUTHORS
   '';
diff --git a/pkgs/development/tools/misc/tcptrack/default.nix b/pkgs/development/tools/misc/tcptrack/default.nix
index 645bd061177..a6e40a4809a 100644
--- a/pkgs/development/tools/misc/tcptrack/default.nix
+++ b/pkgs/development/tools/misc/tcptrack/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses libpcap ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   meta = with stdenv.lib; {
     description = "libpcap based program for live TCP connection monitoring";
     homepage = http://www.rhythm.cx/~steve/devel/tcptrack/; # dead link
diff --git a/pkgs/development/tools/misc/texi2html/default.nix b/pkgs/development/tools/misc/texi2html/default.nix
index 1f36a14fa97..28eb95fd08b 100644
--- a/pkgs/development/tools/misc/texi2html/default.nix
+++ b/pkgs/development/tools/misc/texi2html/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.nongnu.org/texi2html/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/texinfo/4.13a.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix
index a3155230514..6eb384f51e3 100644
--- a/pkgs/development/tools/misc/texinfo/4.13a.nix
+++ b/pkgs/development/tools/misc/texinfo/4.13a.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/texinfo/;
+    branch = "4.13";
   };
 }
diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix
index 53076476f89..a9edccbd200 100644
--- a/pkgs/development/tools/misc/texinfo/5.2.nix
+++ b/pkgs/development/tools/misc/texinfo/5.2.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
       need revise only that one document.  The Texinfo system is
       well-integrated with GNU Emacs.
     '';
+    branch = "5.2";
   };
 }
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index cf1ec5edbcd..f4add9a4b9e 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "uncrustify-0.60";
+  name = "uncrustify";
+  version = "0.61";
 
   src = fetchurl {
-    url = "mirror://sourceforge/uncrustify/${name}.tar.gz";
-    sha256 = "1v3wlkh669mfzbyg68xz7c1hj3kj7l6cavbvbj3jr47ickc3wzsa";
+    url = "mirror://sourceforge/uncrustify/${name}-${version}.tar.gz";
+    sha256 = "1df0e5a2716e256f0a4993db12f23d10195b3030326fdf2e07f8e6421e172df9";
   };
 
   meta = with stdenv.lib; {
     description = "Source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA";
     homepage = http://uncrustify.sourceforge.net/;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/unifdef/default.nix b/pkgs/development/tools/misc/unifdef/default.nix
index f4b38f4f7ab..6e14673701c 100644
--- a/pkgs/development/tools/misc/unifdef/default.nix
+++ b/pkgs/development/tools/misc/unifdef/default.nix
@@ -1,24 +1,27 @@
 { fetchurl, stdenv }:
 
-stdenv.mkDerivation {
-  name = "unifdef-1.0";
+stdenv.mkDerivation rec {
+  name = "unifdef-2.6";
 
   src = fetchurl {
-    url = http://www.cs.cmu.edu/~ajw/public/dist/unifdef-1.0.tar.gz;
-    sha256 = "1bcxq7qgf6r98m6l277fx6s0gn9sr4vn7f3s0r5mwx79waqk0k6i";
+    url    = "https://github.com/fanf2/unifdef/archive/${name}.tar.gz";
+    sha256 = "1p5wr5ms9w8kijy9h7qs1mz36dlavdj6ngz2bks588w7a20kcqxj";
   };
 
-  buildPhase = ''
-    make unifdef
+  postUnpack = ''
+    substituteInPlace $sourceRoot/unifdef.c \
+      --replace '#include "version.h"' ""
+
+    substituteInPlace $sourceRoot/Makefile \
+      --replace "unifdef.c: version.h" "unifdef.c:"
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp unifdef $out/bin
+  preBuild = ''
+    unset HOME
+    export DESTDIR=$out
   '';
 
   meta = {
-    description = "useful for removing #ifdef'ed lines from a file while otherwise leaving the file alone";
-
+    description = "Selectively remove C preprocessor conditionals";
   };
 }
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
index bba7ef7fad0..cc28b011829 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -1,11 +1,15 @@
 { stdenv, fetchurl, pkgconfig, libusb1 }:
 
+let
+   version = "2.2.1";
+in
+
 stdenv.mkDerivation rec {
-  name = "usb-modeswitch-2.2.0";
+  name = "usb-modeswitch-${version}";
 
-  src =fetchurl {
+  src = fetchurl {
     url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2";
-    sha256 = "0flaj3mq0xhzk72kkpclwglf77kcw5rkwvkaimn5zvbiw4yi0li7";
+    sha256 = "1jqih1g0y78w03rchpw7fjvzwjfakak61qjp7hbr1m5nnsh2dn9p";
   };
 
   # make clean: we always build from source. It should be necessary on x86_64 only
diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix
index 4c92946008e..598835c5152 100644
--- a/pkgs/development/tools/misc/yodl/default.nix
+++ b/pkgs/development/tools/misc/yodl/default.nix
@@ -1,31 +1,40 @@
-# This package is only used to create the documentation of zsh-cvs
-# eg have a look at http://www.zsh.org/mla/users/2008/msg00715.html
-# latest release is newer though
+{ stdenv, fetchurl, perl, icmake }:
 
-{ stdenv, fetchurl, perl }:
+stdenv.mkDerivation rec {
+  name = "yodl-${version}";
+  version = "3.05.00";
 
-stdenv.mkDerivation {
-  name = "yodl-2.14.3";
-
-  buildInputs = [ perl ];
+  buildInputs = [ perl icmake ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/yodl/yodl_2.14.3.orig.tar.gz";
-    sha256 = "0paypm76p34hap3d18vvks5rrilchcw6q56rvq6pjf9raqw8ynd4";
+    url = "mirror://sourceforge/yodl/yodl_${version}.orig.tar.gz";
+    sha256 = "12hv5ghrsk6kdi414glg888v3qk3m1nmicl8f0h5k4szm1i00dig";
   };
-  
-  patches =
-    [ (fetchurl {
-        url = "mirror://sourceforge/yodl/yodl_2.14.3-1.diff.gz";
-        sha256 = "176hlbiidv7p9051f04anzj4sr9dwlp9439f9mjvvgks47ac0qx4";
-      })
-    ];
 
-  # This doesn't isntall docs yet, do you need them?
+  preConfigure = ''
+    patchShebangs scripts/.
+    sed -i 's;/usr;;g' INSTALL.im
+    substituteInPlace build --replace /usr/bin/icmake ${icmake}/bin/icmake
+    substituteInPlace macros/rawmacros/startdoc.pl --replace /usr/bin/perl ${perl}/bin/perl
+  '';
+
+  buildPhase = ''
+    ./build programs
+    ./build macros
+    ./build man
+  '';
+
   installPhase = ''
-    # -> $out
-    sed -i "s@'/usr/@'$out/@" contrib/build.pl
-    perl contrib/build.pl make-software
-    perl contrib/build.pl install-software
+    ./build install programs $out
+    ./build install macros $out
+    ./build install man $out
   '';
+
+  meta = with stdenv.lib; {
+    description = "A package that implements a pre-document language and tools to process it";
+    homepage = http://yodl.sourceforge.net/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix
index 5b66ea75f65..9c781e6f757 100644
--- a/pkgs/development/tools/neoload/default.nix
+++ b/pkgs/development/tools/neoload/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, writeTextFile, jre, makeWrapper, licenseAccepted ? false }:
+{ stdenv, fetchurl, writeTextFile, jre, makeWrapper, fontsConf, licenseAccepted ? false }:
 
 # If you happen to use this software on the XMonad window manager, you will have issues with
 # grey windows, no resizing, menus not showing and other glitches.
@@ -14,8 +14,8 @@ else assert licenseAccepted;
 
 # the installer is very picky and demands 1.7.0.07
 let dotInstall4j = path: writeTextFile { name = "dot-install4j"; text = ''
-      JRE_VERSION	${jre}${path}	1	7	0	7
-      JRE_INFO	${jre}${path}	94
+      JRE_VERSION	${path}	1	7	0	7
+      JRE_INFO	${path}	94
     ''; };
 
     responseVarfile = writeTextFile { name = "response.varfile"; text = ''
@@ -55,19 +55,20 @@ in stdenv.mkDerivation rec {
     sed -e 's/^if \[ -f jre.tar.gz/if false          /' $src > installer
     chmod a+x installer
 
-    cp ${dotInstall4j ""} .install4j
+    cp ${dotInstall4j jre} .install4j
     chmod u+w .install4j
 
     sed -e "s|INSTALLDIR|$out|" ${responseVarfile} > response.varfile
 
     export HOME=`pwd`
-    export INSTALL4J_JAVA_HOME=${jre}
+    export INSTALL4J_JAVA_HOME=${jre.home}
+    export FONTCONFIG_FILE=${fontsConf}
     bash -ic './installer -q -varfile response.varfile'
 
     sed -i 's/Xmx450m/Xmx900m/;s/Xss192k/Xss384k/' $out/lib/neoload/conf/agent.properties
 
     for i in $out/bin/*; do
-      wrapProgram $i --run 'cp ${dotInstall4j "/lib/openjdk/jre"} ~/.install4j' \
+      wrapProgram $i --run 'cp ${dotInstall4j "${jre.home}/jre"} ~/.install4j' \
                      --run 'chmod u+w ~/.install4j'
     done
 
diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix
deleted file mode 100644
index 1f101776064..00000000000
--- a/pkgs/development/tools/node-webkit/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchurl, buildEnv, makeWrapper
-, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
-, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}:
-let
-  bits = if stdenv.system == "x86_64-linux" then "x64"
-         else "ia32";
-
-  nwEnv = buildEnv {
-    name = "node-webkit-env";
-    paths = [
-      xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf
-      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage xlibs.libXext
-      xlibs.libXfixes nss nspr gconf expat dbus udev stdenv.gcc.gcc
-    ];
-  };
-
-in stdenv.mkDerivation rec {
-  name = "node-webkit-${version}";
-  version = "0.9.2";
-
-  src = fetchurl {
-    url = "https://s3.amazonaws.com/node-webkit/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
-    sha256 = if bits == "x64" then
-      "04b9hgrxxnvrzyc7kmlabvrfbzj9d6lif7z69zgsbn3x25nxxd2n" else
-      "0icwdl564sbx27124js1l4whfld0n6nbysdd522frzk1759dzgri";
-  };
-
-  patchPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nw
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nwsnapshot
-  '';
-
-  installPhase = let
-    LD_LIBRARY_PATH = "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit";
-  in ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/node-webkit
-    cp -R * $out/share/node-webkit
-
-    ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0
-
-    makeWrapper $out/share/node-webkit/nw $out/bin/nw --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
-    makeWrapper $out/share/node-webkit/nwsnapshot $out/bin/nwsnapshot --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
-  '';
-
-  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/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix
new file mode 100644
index 00000000000..978213f6760
--- /dev/null
+++ b/pkgs/development/tools/node-webkit/nw11.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, buildEnv, makeWrapper
+, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev, libcap
+, libnotify}:
+let
+  bits = if stdenv.system == "x86_64-linux" then "x64"
+         else "ia32";
+
+  nwEnv = buildEnv {
+    name = "node-webkit-env";
+    paths = [
+      xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf
+      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage
+      xlibs.libXext xlibs.libXfixes nss nspr gconf expat dbus stdenv.cc
+      xlibs.libXtst xlibs.libXi xlibs.libXcursor xlibs.libXrandr libcap
+      libnotify
+    ];
+  };
+
+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 ${udev}/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
new file mode 100644
index 00000000000..97399e5268c
--- /dev/null
+++ b/pkgs/development/tools/node-webkit/nw9.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, buildEnv, makeWrapper
+, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}:
+let
+  bits = if stdenv.system == "x86_64-linux" then "x64"
+         else "ia32";
+
+  nwEnv = buildEnv {
+    name = "node-webkit-env";
+    paths = [
+      xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf
+      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage
+      xlibs.libXext xlibs.libXfixes nss nspr gconf expat dbus stdenv.cc.cc
+      xlibs.libXtst xlibs.libXi
+    ];
+  };
+
+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 ${udev}/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/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix
index d049377ea94..dee605ced57 100644
--- a/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, makeWrapper, ocaml, ncurses}:
+{stdenv, fetchurl, makeWrapper, gcc, ocaml, ncurses}:
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
   pname = "camlidl";
@@ -20,9 +20,22 @@ stdenv.mkDerivation {
     mv config/Makefile.unix config/Makefile
     substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out
     substituteInPlace config/Makefile --replace OCAMLLIB=/usr/local/lib/ocaml OCAMLLIB=$out/lib/ocaml/${ocaml_version}/site-lib/camlidl
+    substituteInPlace config/Makefile --replace CPP=/lib/cpp CPP=${gcc}/bin/cpp
     mkdir -p $out/lib/ocaml/${ocaml_version}/site-lib/camlidl/caml
   '';
 
+  postInstall = ''
+    cat >$out/lib/ocaml/${ocaml_version}/site-lib/camlidl/META <<EOF
+    # Courtesy of GODI
+    description = "Stub generator"
+    version = "${version}"
+    archive(byte) = "com.cma"
+    archive(native) = "com.cmxa"
+    EOF
+    mkdir -p $out/bin
+    ln -s $out/camlidl $out/bin
+  '';
+
   meta = {
     description = "CamlIDL is a stub code generator and COM binding for Objective Caml";
     homepage = "${webpage}";
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
new file mode 100644
index 00000000000..a8043a9fc5e
--- /dev/null
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -0,0 +1,46 @@
+{stdenv, fetchurl, which, ocaml}:
+let
+  ocaml_version = (stdenv.lib.getVersion ocaml);
+in
+
+assert stdenv.lib.versionAtLeast ocaml_version "4.02";
+
+stdenv.mkDerivation {
+  name = "camlp4-4.02.0+1";
+  src = fetchurl {
+    url = https://github.com/ocaml/camlp4/archive/4.02.0+1.tar.gz;
+    sha256 = "0055f4jiz82rgn581xhq3mr4qgq2qgdxqppmp8i2x1xnsim4h9pn";
+  };
+
+  buildInputs = [ which ocaml ];
+
+  dontAddPrefix = true;
+
+  preConfigure = ''
+    configureFlagsArray=(
+      --bindir=$out/bin
+      --libdir=$out/lib/ocaml/${ocaml_version}/site-lib
+      --pkgdir=$out/lib/ocaml/${ocaml_version}/site-lib
+    )
+  '';
+
+  postConfigure = ''
+    substituteInPlace camlp4/META.in \
+    --replace +camlp4 $out/lib/ocaml/${ocaml_version}/site-lib/camlp4
+    substituteInPlace camlp4/config/Camlp4_config.ml \
+    --replace \
+      "Filename.concat ocaml_standard_library" \
+      "Filename.concat \"$out/lib/ocaml/${ocaml_version}/site-lib\""
+  '';
+
+
+  makeFlags = "all";
+
+  installTargets = "install install-META";
+
+  meta = with stdenv.lib; {
+    description = "A software system for writing extensible parsers for programming languages";
+    homepage = https://github.com/ocaml/camlp4;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/camlp5/5.15.nix b/pkgs/development/tools/ocaml/camlp5/5.15.nix
index 7247041cb1d..adfdb4bd204 100644
--- a/pkgs/development/tools/ocaml/camlp5/5.15.nix
+++ b/pkgs/development/tools/ocaml/camlp5/5.15.nix
@@ -8,6 +8,8 @@ let
   metafile = ./META;
 in
 
+assert !stdenv.lib.versionOlder "4.00" ocaml_version;
+
 stdenv.mkDerivation {
 
   name = "${pname}${if transitional then "_transitional" else ""}-${version}";
@@ -35,7 +37,8 @@ stdenv.mkDerivation {
       It also provides parsing and printing tools.
     '';
     homepage = "${webpage}";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
+    branch = "5";
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 8691e1b9d11..1c811b21758 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -7,11 +7,11 @@ in
 
 stdenv.mkDerivation {
 
-  name = "camlp5${if transitional then "_transitional" else ""}-6.11";
+  name = "camlp5${if transitional then "_transitional" else ""}-6.12";
 
   src = fetchurl {
-    url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.11.tgz;
-    sha256 = "0dxb5id6imq502sic75l786q94dhplqx6yyhjkkw19kf64fiqlk5";
+    url = http://camlp5.gforge.inria.fr/distrib/src/camlp5-6.12.tgz;
+    sha256 = "00jwgp6w4g64lfqjx77xziy532091fy00c42fsy0b4i892rch5mp";
   };
 
   buildInputs = [ ocaml ];
@@ -25,17 +25,17 @@ stdenv.mkDerivation {
 
   postInstall = "cp ${metafile} $out/lib/ocaml/${ocaml_version}/site-lib/camlp5/META";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Preprocessor-pretty-printer for OCaml";
     longDescription = ''
       Camlp5 is a preprocessor and pretty-printer for OCaml programs.
       It also provides parsing and printing tools.
     '';
     homepage = http://pauillac.inria.fr/~ddr/camlp5/;
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
     platforms = ocaml.meta.platforms;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
+    maintainers = with maintainers; [
+      z77z vbgl
     ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index 04475959f3d..461fda45d4c 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl, ocaml, findlib}:
 let
   pname = "cppo";
-  version = "0.9.4";
+  version = "1.1.2";
   webpage = "http://mjambon.com/${pname}.html";
 in
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
 stdenv.mkDerivation rec {
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
-    sha256 = "1m7cbja7cf74l45plqnmjrjjz55v8x65rvx0ikk9mg1ak8lcmvxa";
+    sha256 = "1pfzch4ys5gjac2lrkqq0gzmm5plkq2jl17b2m3n06kmwashqplp";
   };
 
   buildInputs = [ ocaml findlib ];
@@ -23,15 +24,13 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The C preprocessor for OCaml";
     longDescription = ''
       Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants.
     '';
     homepage = "${webpage}";
-    license = "bsd";
+    maintainers = [ maintainers.vbgl ];
+    license = licenses.bsd3;
   };
 }
-
-
-
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index cfbabad72cc..a9673be26ee 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ocaml-findlib-1.4.1";
+  name = "ocaml-findlib-1.5.3";
 
   src = fetchurl {
-    url = http://download.camlcity.org/download/findlib-1.4.1.tar.gz;
-    sha256 = "0cdbr716r5686zvf86b9zm5ikdz0dw727m67b1f4rjjisp5v2zyf";
+    url = http://download.camlcity.org/download/findlib-1.5.3.tar.gz;
+    sha256 = "1kw2siv4pc8q060m9xpgxvjs07ic1kiphyxmkwcz6nyb91p8286r";
   };
 
   buildInputs = [m4 ncurses ocaml];
diff --git a/pkgs/development/tools/ocaml/findlib/install_topfind.patch b/pkgs/development/tools/ocaml/findlib/install_topfind.patch
index 4729885bcef..f152feaaecf 100644
--- a/pkgs/development/tools/ocaml/findlib/install_topfind.patch
+++ b/pkgs/development/tools/ocaml/findlib/install_topfind.patch
@@ -1,12 +1,11 @@
---- findlib-1.3.3/src/findlib/Makefile
-+++ findlib-1.3.3/src/findlib/Makefile
-@@ -82,7 +82,7 @@ clean:
+--- findlib-1.5.3/src/findlib/Makefile	2014-09-16 13:21:46.000000000 +0200
++++ findlib-1.5.3/src/findlib/Makefile.new	2014-10-01 14:30:54.141082521 +0200
+@@ -89,7 +89,7 @@
  install: all
  	mkdir -p "$(prefix)$(OCAML_SITELIB)/$(NAME)"
  	mkdir -p "$(prefix)$(OCAMLFIND_BIN)"
 -	test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_CORE_STDLIB)"
 +	test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_SITELIB)"
- 	files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib.cmxa findlib.a META` && \
+ 	files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib.cmxa findlib.a findlib.cmxs META` && \
  	cp $$files "$(prefix)$(OCAML_SITELIB)/$(NAME)"
  	f="ocamlfind$(EXEC_SUFFIX)"; { test -f ocamlfind_opt$(EXEC_SUFFIX) && f="ocamlfind_opt$(EXEC_SUFFIX)"; }; \
-
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff
new file mode 100644
index 00000000000..e6fc96038ff
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/Makefile.conf.diff
@@ -0,0 +1,10 @@
+--- old/Makefile.conf	2014-05-19 16:53:09.263564921 +0200
++++ new/Makefile.conf	2014-05-19 16:53:42.213152994 +0200
+@@ -1,6 +1,6 @@
+ 
+ # Where binaries are installed:
+-BINDIR := `dirname  \`which ocamlc\``
++BINDIR := $(out)/bin
+ 
+ ####
+ 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
new file mode 100644
index 00000000000..9989afdefc4
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving, camlp4,
+ cmdliner, tyxml, reactivedata}:
+
+stdenv.mkDerivation {
+  name = "js_of_ocaml-2.5";
+  src = fetchurl {
+    url = https://github.com/ocsigen/js_of_ocaml/archive/2.5.tar.gz;
+    sha256 = "1prm08nf8szmd3p13ysb0yx1cy6lr671bnwsp25iny8hfbs39sjv";
+    };
+  
+  buildInputs = [ocaml findlib menhir ocsigen_deriving
+                 cmdliner tyxml camlp4 reactivedata];
+  propagatedBuildInputs = [ ocaml_lwt ];
+
+  patches = [ ./Makefile.conf.diff ];  
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://ocsigen.org/js_of_ocaml/;
+    description = "Compiler of OCaml bytecode to Javascript. It makes it possible to run Ocaml programs in a Web browser";
+    license = licenses.lgpl2;
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index c0882439f5c..2d02bf054b7 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,21 +1,30 @@
-{stdenv, fetchurl, ocaml, findlib, easy-format, biniou, yojson, menhir}:
+{ stdenv, fetchzip, ocaml, findlib, yojson, menhir
+, withEmacsMode ? false, emacs }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
+
+let version = "2.1.2"; in
+
 stdenv.mkDerivation {
 
-  name = "merlin-1.6";
+  name = "merlin-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/the-lambda-church/merlin/archive/v1.6.tar.gz";
-    sha256 = "0wq75hgffaszazrhkl0nfjxgx8bvazi2sjannd8q64hvax8hxzcy";
+  src = fetchzip {
+    url = "https://github.com/the-lambda-church/merlin/archive/v${version}.tar.gz";
+    sha256 = "0l6s4bvspjl1l26bf33xf4k5imdzryas15s1isn6998aiakxq20n";
   };
 
-  buildInputs = [ ocaml findlib biniou yojson menhir easy-format ];
+  buildInputs = [ ocaml findlib yojson menhir ]
+    ++ stdenv.lib.optional withEmacsMode emacs;
 
+  preConfigure = "mkdir -p $out/bin";
   prefixKey = "--prefix ";
+  configureFlags = stdenv.lib.optional withEmacsMode "--enable-compiled-emacs-mode";
 
-  meta = {
-    description = "An editor-independant tool to ease the developpement of programs in OCaml";
+  meta = with stdenv.lib; {
+    description = "An editor-independent tool to ease the development of programs in OCaml";
     homepage = "http://the-lambda-church.github.io/merlin/";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = [ maintainers.vbgl ];
   };
 }
-
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index 3ab935705a2..29507f49c18 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -1,32 +1,34 @@
-{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, ocaml_typeconv,
+{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, ocaml_typeconv, camlp4,
  ocamlmod, ocamlify, ounit, expect}:
 
 stdenv.mkDerivation {
-  name = "ocaml-oasis-0.4.1";
+  name = "ocaml-oasis-0.4.5";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/1355/oasis-0.4.1.tar.gz;
-    sha256 = "1lsnw9f1jh6106kphxg40qp0sia6cbkbb9ahs5y6ifnfkmllkjhj";
+    url = http://forge.ocamlcore.org/frs/download.php/1475/oasis-0.4.5.tar.gz;
+    sha256 = "0i1fifzig2slhb07d1djx6i690b8ys0avsx6ssnihisw841sc8v6";
   };
 
   createFindlibDestdir = true;
 
   buildInputs =
     [
-      ocaml findlib ocaml_data_notation ocaml_typeconv ocamlmod ocamlify ounit
+      ocaml findlib ocaml_typeconv ocamlmod ocamlify ounit camlp4
     ];
 
+  propagatedBuildInputs = [ ocaml_data_notation ];
+
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
   installPhase   = "ocaml setup.ml -install";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://oasis.forge.ocamlcore.org/;
     description = "Configure, build and install system for OCaml projects";
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
     platforms = ocaml.meta.platforms;
-    maintainers = with stdenv.lib.maintainers; [
-      z77z
+    maintainers = with maintainers; [
+      vbgl z77z
     ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
new file mode 100644
index 00000000000..cf0a16cef68
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchzip, ncurses, ocamlPackages, opam }:
+
+stdenv.mkDerivation {
+  name = "ocaml-top-1.1.2";
+  src = fetchzip {
+    url = https://github.com/OCamlPro/ocaml-top/archive/1.1.2.tar.gz;
+    sha256 = "10wfz8d6c1lbh31kayvlb5fj7qmgh5c6xhs3q595dnf9skrf091j";
+  };
+
+  buildInputs = [ ncurses opam ]
+    ++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]);
+
+  configurePhase = ''
+    export TERM=xterm
+    ocp-build -init
+  '';
+
+  buildPhase = "ocp-build ocaml-top";
+
+  installPhase = ''
+    opam-installer --script --prefix=$out ocaml-top.install | sh
+  '';
+
+  meta = {
+    homepage = http://www.typerex.org/ocaml-top.html;
+    license = stdenv.lib.licenses.gpl3;
+    description = "A simple cross-platform OCaml code editor built for top-level evaluation";
+    platforms = ocamlPackages.ocaml.meta.platforms;
+    maintainer = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix
index 88b7451e0f0..0a402d4ba46 100644
--- a/pkgs/development/tools/ocaml/ocamlify/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlify/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, ounit}:
+{stdenv, fetchurl, ocaml, findlib}:
 
 stdenv.mkDerivation {
   name = "ocamlify-0.0.2";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii";
   };
 
-  buildInputs = [ocaml findlib ounit];
+  buildInputs = [ocaml findlib];
 
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix
index d72df18f899..65359049a96 100644
--- a/pkgs/development/tools/ocaml/ocamlmod/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, ounit}:
+{stdenv, fetchurl, ocaml, findlib}:
 
 stdenv.mkDerivation {
   name = "ocamlmod-0.0.7";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "11kg7wh0gy492ma5c6bcjh6frv1a9lh9f26hiys2i0d1ky8s0ad3";
   };
 
-  buildInputs = [ocaml findlib ounit];
+  buildInputs = [ocaml findlib];
 
   configurePhase = "ocaml setup.ml -configure --prefix $out";
   buildPhase     = "ocaml setup.ml -build";
diff --git a/pkgs/development/tools/ocaml/ocamlscript/Makefile.patch b/pkgs/development/tools/ocaml/ocamlscript/Makefile.patch
new file mode 100644
index 00000000000..4fc887c070d
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocamlscript/Makefile.patch
@@ -0,0 +1,70 @@
+--- a/Makefile	2012-02-04 01:24:21.000000000 +0000
++++ b/Makefile	2014-10-29 14:42:08.690188302 +0000
+@@ -4,6 +4,8 @@
+   version.ml pipeline.mli pipeline.ml common.mli common.ml \
+   utils.mli utils.ml ocaml.mli ocaml.ml
+ 
++CAMLP4 := $(shell ocamlfind query camlp4)
++
+ STDBIN = $(shell dirname `which ocamlfind`)
+ ifndef PREFIX
+   PREFIX = $(shell dirname $(STDBIN))
+@@ -15,7 +17,7 @@
+ endif
+ export BINDIR
+ 
+-PACKS = unix str
++PACKS = unix str findlib
+ PP = camlp4o -I . -parser pa_tryfinally.cmo -parser pa_opt.cmo
+ export PP
+ 
+@@ -36,11 +38,11 @@
+ 
+ common: version.ml
+ 	ocamlc -pp 'camlp4orf -loc _loc' -c \
+-		-I +camlp4 pa_opt310.ml && \
++		-I $(CAMLP4) pa_opt310.ml && \
+ 		cp pa_opt310.cmo pa_opt.cmo && \
+ 		cp pa_opt310.cmi pa_opt.cmi
+ 	ocamlc -pp 'camlp4orf -loc _loc' -c \
+-		-I +camlp4 pa_tryfinally310.ml && \
++		-I $(CAMLP4) pa_tryfinally310.ml && \
+ 		cp pa_tryfinally310.cmo pa_tryfinally.cmo && \
+ 		cp pa_tryfinally310.cmi pa_tryfinally.cmi
+ 
+--- a/main.ml	2014-11-08 09:05:12.516401313 +0000
++++ b/main.ml	2014-11-08 09:09:59.801311230 +0000
+@@ -250,9 +250,15 @@
+ 			Sys.getcwd ())
+       | `File script_name -> "", get_dir script_name in
+ 
++  let findlibdir =
++    Filename.(
++      concat (Findlib.package_directory "findlib") parent_dir_name
++    ) in
++
+   let file, oc = Filename.open_temp_file "meta" ".ml" in
+   fprintf oc "\
+ #%i %S;;
++#directory \"%s\";;
+ #use \"topfind\";;
+ #require \"ocamlscript\";;
+ Ocamlscript.Common.verbose := %s;;
+@@ -261,7 +267,7 @@
+ open Ocamlscript;;
+ open Utils;;
+ #%i %S;;\n"
+-     pos source verbose script_dir extra_args trash pos source;
++     pos source findlibdir verbose script_dir extra_args trash pos source;
+   
+   List.iter (output_line oc) lines;
+ 
+@@ -544,6 +550,7 @@
+       exit compilation_status
+ 
+ let _ =
++  Findlib.init ();
+   try main ()
+   with Failure s ->
+     eprintf "ocamlscript: %s\n%!" s;
+ 
diff --git a/pkgs/development/tools/ocaml/ocamlscript/default.nix b/pkgs/development/tools/ocaml/ocamlscript/default.nix
new file mode 100644
index 00000000000..1b37c21fdfa
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocamlscript/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, ocaml, findlib, camlp4}:
+stdenv.mkDerivation {
+  name = "ocamlscript-2.0.3";
+  src = fetchurl {
+    url = http://mjambon.com/releases/ocamlscript/ocamlscript-2.0.3.tar.gz;
+    sha256 = "1v1i24gijxwris8w4hi95r9swld6dm7jbry0zp72767a3g5ivlrd";
+  };
+
+  propagatedBuildInputs = [ ocaml findlib camlp4 ];
+
+  patches = [ ./Makefile.patch ];
+
+  buildFlags = "PREFIX=$(out)";
+  installFlags = "PREFIX=$(out)";
+
+  preInstall = "mkdir $out/bin";
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://martin.jambon.free.fr/ocamlscript.html;
+    license = licenses.boost;
+    platforms = ocaml.meta.platforms;
+    description = "Natively-compiled OCaml scripts";
+    maintainers = [ maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix
new file mode 100644
index 00000000000..fe174febc9e
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-build/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, ocaml, findlib, ncurses }:
+
+stdenv.mkDerivation {
+
+  name = "ocp-build-1.99.8-beta";
+
+  src = fetchurl {
+    url = http://www.typerex.org/pub/ocp-build/ocp-build.1.99.8-beta.tar.gz;
+    sha256 = "03zqpl73ah0fji5baxmk8w0h7waamlnhhysi128yap4abzsh5w87";
+  };
+
+  buildInputs = [ ocaml findlib ncurses ];
+
+  patches = [ ./fix-for-no-term.patch ];
+
+  # In the Nix sandbox, the TERM variable is unset and stty does not
+  # work. In such a case, ocp-build crashes due to a bug. The
+  # ./fix-for-no-term.patch fixes this bug in the source code and hence
+  # also in the final installed version of ocp-build. However, it does not
+  # fix the bug in the precompiled bootstrap version of ocp-build that is
+  # used during the compilation process. In order to bypass the bug until
+  # it's also fixed upstream, we simply set TERM to some valid entry in the
+  # terminfo database during the bootstrap.
+  TERM = "xterm";
+
+  meta = with stdenv.lib; {
+    homepage = http://www.typerex.org/ocp-build.html;
+    description = "A build tool for OCaml";
+    longDescription = ''
+      ocp-build is a build system for OCaml application, based on simple
+      descriptions of packages. ocp-build combines the descriptions of
+      packages, and optimize the parallel compilation of files depending on
+      the number of cores and the automatically-inferred dependencies
+      between source files.
+    '';
+    license = licenses.gpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch
new file mode 100644
index 00000000000..8ce83d095fb
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch
@@ -0,0 +1,11 @@
+--- ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml	2014-10-27 13:54:37.532023502 +0100
++++ ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml.new	2014-10-27 13:54:43.397099033 +0100
+@@ -49,7 +49,7 @@
+           | _ -> failwith "stty"
+         end
+       | _ -> raise Not_found
+-    with Unix.Unix_error _ | End_of_file | Failure _ ->
++    with Unix.Unix_error _ | End_of_file | Failure _ | Not_found ->
+       try
+         (* shell envvar *)
+         int_of_string (Sys.getenv "COLUMNS")
diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix
new file mode 100644
index 00000000000..9ad2976adbf
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, ocaml, findlib, ocpBuild, opam, cmdliner }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "3.12.1";
+assert versionAtLeast (getVersion ocpBuild) "1.99.3-beta";
+
+stdenv.mkDerivation {
+
+  name = "ocp-indent-1.4.2b";
+
+  src = fetchurl {
+    url = "https://github.com/OCamlPro/ocp-indent/archive/1.4.2b.tar.gz";
+    sha256 = "1p0n2zcl5kf543x2xlqrz1aa51f0dqal8l392sa41j6wx82j0gpb";
+  };
+
+  buildInputs = [ ocaml findlib ocpBuild opam cmdliner ];
+
+  createFindlibDestdir = true;
+
+  postInstall = ''
+    mv $out/lib/{ocp-indent,ocaml/${getVersion ocaml}/site-lib/}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://typerex.ocamlpro.com/ocp-indent.html";
+    description = "A customizable tool to indent OCaml code";
+    license = licenses.gpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix
new file mode 100644
index 00000000000..767a5e17cb4
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchzip, ocaml, findlib, ocpBuild, ocpIndent, opam, cmdliner, ncurses, re, lambdaTerm, libev }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast optional; in
+
+assert versionAtLeast (getVersion ocaml) "3.12.1";
+assert versionAtLeast (getVersion ocpBuild) "1.99.6-beta";
+assert versionAtLeast (getVersion ocpIndent) "1.4.2";
+
+let version = "1.1.1"; in
+
+stdenv.mkDerivation {
+
+  name = "ocp-index-${version}";
+
+  src = fetchzip {
+    url = "http://github.com/OCamlPro/ocp-index/archive/${version}.tar.gz";
+    sha256 = "173lqbyivwv1zf9ifpxa9f8m2y3kybzs3idrwyzy824ixdqv2fww";
+  };
+
+  buildInputs = [ ocaml findlib ocpBuild opam cmdliner ncurses re libev ]
+  ++ optional (versionAtLeast (getVersion lambdaTerm) "1.7") lambdaTerm;
+  propagatedBuildInputs = [ ocpIndent ];
+
+  createFindlibDestdir = true;
+
+  preBuild = "export TERM=xterm";
+  postInstall = "mv $out/lib/{ocp-index,ocaml/${getVersion ocaml}/site-lib/}";
+
+  meta = {
+    homepage = http://typerex.ocamlpro.com/ocp-index.html;
+    description = "A simple and light-weight documentation extractor for OCaml";
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = with stdenv.lib.maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
index 48a6b3c1f64..986bd4609d5 100644
--- a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
+++ b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation {
     description = "Omake build system";
     homepage = "${webpage}";
     license = "GPL";
+    platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/tools/ocaml/opam/1.0.0.nix b/pkgs/development/tools/ocaml/opam/1.0.0.nix
index f8f680ef4a5..52c710a86b8 100644
--- a/pkgs/development/tools/ocaml/opam/1.0.0.nix
+++ b/pkgs/development/tools/ocaml/opam/1.0.0.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
 
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
+
 let
   srcs = {
     cudf = fetchurl {
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = {
-    maintainers = stdenv.lib.maintainers.orbitz;
+    maintainers = [ stdenv.lib.maintainers.orbitz ];
     description = "A package manager for OCaml";
     platforms   = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
new file mode 100644
index 00000000000..b6dce132868
--- /dev/null
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
+
+assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
+
+let
+  srcs = {
+    cudf = fetchurl {
+      url = "https://gforge.inria.fr/frs/download.php/file/33593/cudf-0.7.tar.gz";
+      sha256 = "92c8a9ed730bbac73f3513abab41127d966c9b9202ab2aaffcd02358c030a701";
+    };
+    extlib = fetchurl {
+      url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
+      sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
+    };
+    ocaml_re = fetchurl {
+      url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
+      sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
+    };
+    ocamlgraph = fetchurl {
+      url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.5.tar.gz";
+      sha256 = "d167466435a155c779d5ec25b2db83ad851feb42ebc37dca8ffa345ddaefb82f";
+    };
+    dose3 = fetchurl {
+      url = "https://gforge.inria.fr/frs/download.php/file/34277/dose3-3.3.tar.gz";
+      sha256 = "8dc4dae9b1a81bb3a42abb283df785ba3eb00ade29b13875821c69f03e00680e";
+    };
+    cmdliner = fetchurl {
+      url = "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.7.tbz";
+      sha256 = "9c19893cffb5d3c3469ee0cce85e3eeeba17d309b33b9ace31aba06f68f0bf7a";
+    };
+    uutf = fetchurl {
+      url = "http://erratique.ch/software/uutf/releases/uutf-0.9.3.tbz";
+      sha256 = "1f364f89b1179e5182a4d3ad8975f57389d45548735d19054845e06a27107877";
+    };
+    jsonm = fetchurl {
+      url = "http://erratique.ch/software/jsonm/releases/jsonm-0.9.1.tbz";
+      sha256 = "3fd4dca045d82332da847e65e981d8b504883571d299a3f7e71447d46bc65f73";
+    };
+    opam = fetchurl {
+      url = "https://github.com/ocaml/opam/archive/1.2.1.zip";
+      sha256 = "1mvsy89l5g9nvwmmls5jf46anh6gk8dk8a1dn42rmnihnb0zjcs4";
+    };
+  };
+in stdenv.mkDerivation rec {
+  name = "opam-${version}";
+  version = "1.2.1";
+
+  buildInputs = [ unzip curl ncurses ocaml ];
+
+  src = srcs.opam;
+
+  postUnpack = ''
+    ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
+    ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
+    ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
+    ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
+    ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
+    ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
+    ln -sv ${srcs.uutf} $sourceRoot/src_ext/${srcs.uutf.name}
+    ln -sv ${srcs.jsonm} $sourceRoot/src_ext/${srcs.jsonm.name}
+  '';
+
+  preConfigure = ''
+    substituteInPlace ./src_ext/Makefile --replace "%.stamp: %.download" "%.stamp:"
+  '';
+
+  postConfigure = "make lib-ext";
+
+  # Dirty, but apparently ocp-build requires a TERM
+  makeFlags = ["TERM=screen"];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A package manager for OCaml";
+    homepage = http://opam.ocamlpro.com/;
+    maintainers = [ maintainers.henrytill ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
new file mode 100644
index 00000000000..c5c0ac9a3ed
--- /dev/null
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl, ocaml, findlib, lambdaTerm, ocaml_lwt, makeWrapper,
+ ocaml_react, camomile, zed
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.15";
+  name = "utop-${version}";
+
+  src = fetchurl {
+    url = https://github.com/diml/utop/archive/1.15.tar.gz;
+    sha256 = "106v0x6sa2x10zgmjf73mpzws7xiqanxswivd00iqnpc0bcpkmrr";
+  };
+
+  buildInputs = [ ocaml findlib makeWrapper];
+
+  propagatedBuildInputs = [ lambdaTerm ocaml_lwt ];
+
+  createFindlibDestdir = true;
+
+  buildPhase = ''
+    make
+    make doc
+    '';
+
+  postFixup =
+  let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
+  in
+   ''
+   for prog in "$out"/bin/*
+   do
+    wrapProgram $prog --set CAML_LD_LIBRARY_PATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib/lwt/:"${lambdaTerm}"/lib/ocaml/${ocamlVersion}/site-lib/lambda-term/:'$CAML_LD_LIBRARY_PATH' --set OCAMLPATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib:${ocaml_react}/lib/ocaml/${ocamlVersion}/site-lib:${camomile}/lib/ocaml/${ocamlVersion}/site-lib:${zed}/lib/ocaml/${ocamlVersion}/site-lib:${lambdaTerm}/lib/ocaml/${ocamlVersion}/site-lib:"$out"/lib/ocaml/${ocamlVersion}/site-lib:'$OCAMLPATH'
+   done
+   '';
+
+  meta = {
+    description = "Universal toplevel for OCaml";
+    longDescription = ''
+    utop is an improved toplevel for OCaml. It can run in a terminal or in Emacs. It supports line edition, history, real-time and context sensitive completion, colors, and more.
+
+    It integrates with the tuareg mode in Emacs.
+    '';
+    homepage = https://github.com/diml/utop;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 073de5137f8..8b89e8ae82d 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, gox, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "packer-0.6.0";
+  name = "packer-0.7.5";
 
   src = import ./deps.nix {
     inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
diff --git a/pkgs/development/tools/packer/deps.nix b/pkgs/development/tools/packer/deps.nix
index ce56ecad8a2..e2272574f81 100644
--- a/pkgs/development/tools/packer/deps.nix
+++ b/pkgs/development/tools/packer/deps.nix
@@ -1,44 +1,44 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+# This file was generated by go2nix.
+{ stdenv, lib, fetchFromGitHub, fetchgit, fetchhg, fetchbzr }:
 
 let
   goDeps = [
     {
-      root = "github.com/mitchellh/packer";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "packer";
-        rev = "12e28f257f66299e3bb13a053bf06ccd236e7efd";
-        sha256 = "1r5j864kr7lx137c23kk5s82znk11hsrgq98zfz5r8sbzq1xpbzw";
-      };
-    }
-    {
       root = "code.google.com/p/go.crypto";
       src = fetchhg {
-        url = "http://code.google.com/p/go.crypto";
-        rev = "199";
-        sha256 = "0ibrpc6kknzl6a2g2fkxn03mvrd635lcnvf4a9rk1dfrpjbpcixh";
+        url = "https://code.google.com/p/go.crypto";
+        rev = "235";
+        sha256 = "0b3nlkhmraj84n9mhg5nqcd3815ipyj1xx1yzkajcdf2pz2ym4l6";
       };
     }
     {
       root = "code.google.com/p/goauth2";
       src = fetchhg {
-        url = "http://code.google.com/p/goauth2";
-        rev = "67";
-        sha256 = "053vajj8hd9869by7z9qfgzn84h6avpcjvyxcyw5jml8dsln4bah";
+        url = "https://code.google.com/p/goauth2";
+        rev = "80";
+        sha256 = "0xgkgcb97hv2rvzvh21rvydq5cc83j7sdsdb1chrymq8k7l4dzc1";
       };
     }
     {
       root = "code.google.com/p/google-api-go-client";
       src = fetchhg {
-        url = "http://code.google.com/p/google-api-go-client";
-        rev = "111";
-        sha256 = "1ib8i1c2mb86lkrr5w7bgwb70gkqmp860wa3h1j8080gxdx3yy16";
+        url = "https://code.google.com/p/google-api-go-client";
+        rev = "135";
+        sha256 = "17a0mlq76cmgv84xh5vjzi72r6rjq0abl6gv3zkbmj3cphl9cis9";
+      };
+    }
+    {
+      root = "code.google.com/p/goprotobuf";
+      src = fetchhg {
+        url = "https://code.google.com/p/goprotobuf";
+        rev = "267";
+        sha256 = "0kamslfmxs6hi9ww52izmsq48ldaf67xawwhzwwdsbslhv0b9lf7";
       };
     }
     {
       root = "code.google.com/p/gosshold";
       src = fetchhg {
-        url = "http://code.google.com/p/gosshold";
+        url = "https://code.google.com/p/gosshold";
         rev = "2";
         sha256 = "1ljl8pcxxfz5rv89b2ajd31gxxzifl57kzpksvdhyjdxh98gkvg8";
       };
@@ -48,25 +48,17 @@ let
       src = fetchFromGitHub {
         owner = "ActiveState";
         repo = "tail";
-        rev = "8dcd1ad3e57aa8ce5614a837cbbdb21945fbb55a";
-        sha256 = "1jxj576dd7mawawwg5nzwf6k7sks0r3lp2x8f6kxaps50n3k1wiz";
+        rev = "068b72961a6bc5b4a82cf4fc14ccc724c0cfa73a";
+        sha256 = "08zwlrsyr75cqdar51cihhp1qfm6wnn03i9srdkyzllw4zfymcd2";
       };
     }
     {
-      root = "github.com/howeyc/fsnotify";
+      root = "github.com/bmizerany/assert";
       src = fetchFromGitHub {
-        owner = "howeyc";
-        repo = "fsnotify";
-        rev = "441bbc86b167f3c1f4786afae9931403b99fdacf";
-        sha256 = "1v5vrwhmidxjj6sppinyizf85v60zrmn7i6c9xk0pvx6k0kw2mr2";
-      };
-    }
-    {
-      root = "launchpad.net/tomb";
-      src = fetchbzr {
-        url = "https://launchpad.net/tomb";
-        rev = "17";
-        sha256 = "1cjw0sr9hald1darq6n8akfpkzcgrk3mcq59hga3ibf2lrg35ha0";
+        owner = "bmizerany";
+        repo = "assert";
+        rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
+        sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
       };
     }
     {
@@ -79,73 +71,102 @@ let
       };
     }
     {
-      root = "code.google.com/p/goprotobuf";
-      src = fetchhg {
-        url = "http://code.google.com/p/goprotobuf";
-        rev = "246";
-        sha256 = "0k4wcv1dnkwcp0gdrajj6kr25f1lg4lgpbi0h5v9l9n7sdwzplf4";
+      root = "github.com/golang/protobuf";
+      src = fetchFromGitHub {
+        owner = "golang";
+        repo = "protobuf";
+        rev = "a11b6342f0e28eab4059c0cabbad38cef38b9b6e";
+        sha256 = "1bjig0bwgw1r56r8paskm880lw36nh4c6n64v4ww6mszwmk7dkn7";
       };
     }
     {
-      root = "github.com/bmizerany/assert";
+      root = "github.com/hashicorp/atlas-go";
       src = fetchFromGitHub {
-        owner = "bmizerany";
-        repo = "assert";
-        rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
-        sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
+        owner = "hashicorp";
+        repo = "atlas-go";
+        rev = "137646809ce33b755be51e5e82b40775217ff74d";
+        sha256 = "06ilw0bwd3ijfcpkg84j3q9gwgllzwg0g6gab3w08cn1p49jicjg";
       };
     }
     {
-      root = "github.com/kr/pretty";
+      root = "github.com/hashicorp/go-checkpoint";
       src = fetchFromGitHub {
-        owner = "kr";
-        repo = "pretty";
-        rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f";
-        sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl";
+        owner = "hashicorp";
+        repo = "go-checkpoint";
+        rev = "efefdc69845f7fa7245d20827d31fb27b848d955";
+        sha256 = "1vpi414bw3rsyg5rx52hpvjhnk2qazmsvl3f13g79zwwkvbj2vvq";
       };
     }
     {
-      root = "github.com/kr/text";
+      root = "github.com/hashicorp/go-msgpack";
       src = fetchFromGitHub {
-        owner = "kr";
-        repo = "text";
-        rev = "6807e777504f54ad073ecef66747de158294b639";
-        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
+        owner = "hashicorp";
+        repo = "go-msgpack";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
       };
     }
     {
-      root = "github.com/kr/pty";
+      root = "github.com/hashicorp/go-version";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-version";
+        rev = "bb92dddfa9792e738a631f04ada52858a139bcf7";
+        sha256 = "0fl5a6j6nk1xsxwjdpa24a24fxvgnvm3jjlgpyrnmbdn380zil3m";
+      };
+    }
+    {
+      root = "github.com/hashicorp/yamux";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "yamux";
+        rev = "9feabe6854fadca1abec9cd3bd2a613fe9a34000";
+        sha256 = "03lgbhwhiqk6rivc5cl6zxph5n2pdbdz95h0x7m0ngp3yk3aqgan";
+      };
+    }
+    {
+      root = "github.com/howeyc/fsnotify";
+      src = fetchFromGitHub {
+        owner = "howeyc";
+        repo = "fsnotify";
+        rev = "4894fe7efedeeef21891033e1cce3b23b9af7ad2";
+        sha256 = "09r3h200nbw8a4d3rn9wxxmgma2a8i6ssaplf3zbdc2ykizsq7mn";
+      };
+    }
+    {
+      root = "github.com/kr/pretty";
       src = fetchFromGitHub {
         owner = "kr";
-        repo = "pty";
-        rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
-        sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
+        repo = "pretty";
+        rev = "cb0850c1681cbca3233e84f7e6ec3e4c3f352085";
+        sha256 = "0j3jd7qlfv6iw7icn66y1fpdn88ri29n9qv9di92mkc6vjw4ifb1";
       };
     }
     {
-      root = "github.com/xiocode/toolkit";
+      root = "github.com/kr/pty";
       src = fetchFromGitHub {
-        owner = "xiocode";
-        repo = "toolkit";
-        rev = "352fd7c6700074a81056cdfc9e82b3e8c5681ac5";
-        sha256 = "0p33zh57xpxyk2wyp9xahdxyrkq48ysihpr0n9kj713q0dh7x4a3";
+        owner = "kr";
+        repo = "pty";
+        rev = "05017fcccf23c823bfdea560dcc958a136e54fb7";
+        sha256 = "0f7xa8lkazif2jzacryryrg8rqz5lfl3j7hqvnis4qa8cjy5dpqb";
       };
     }
     {
-      root = "launchpad.net/gocheck";
-      src = fetchbzr {
-        url = "https://launchpad.net/gocheck";
-        rev = "87";
-        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+      root = "github.com/kr/text";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "text";
+        rev = "6807e777504f54ad073ecef66747de158294b639";
+        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
       };
     }
     {
-      root = "github.com/hashicorp/go-version";
+      root = "github.com/mitchellh/cli";
       src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "go-version";
-        rev = "bb92dddfa9792e738a631f04ada52858a139bcf7";
-        sha256 = "0fl5a6j6nk1xsxwjdpa24a24fxvgnvm3jjlgpyrnmbdn380zil3m";
+        owner = "mitchellh";
+        repo = "cli";
+        rev = "e3c2e3d39391e9beb9660ccd6b4bd9a2f38dd8a0";
+        sha256 = "1fwf7wmlhri19bl2yyjd4zlgndgwwqrdry45clpszzjsr8b5wfgm";
       };
     }
     {
@@ -171,17 +192,17 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "goamz";
-        rev = "c3ff5f734c89f1ea1f290c6aadbbceeeb19a623c";
-        sha256 = "1nyi1p5yh21r161icnwkcgmj2y38b4m1jis47vvjbqinrp45w1gq";
+        rev = "6932a73f35dfdd5489a95284552c0ae868be0944";
+        sha256 = "03hbakfxvxkj1r0xy2c4b8xpb7bw6nbryyxpwlii6qv7gsx478yw";
       };
     }
     {
-      root = "github.com/motain/gocheck";
+      root = "github.com/mitchellh/gophercloud-fork-40444fb";
       src = fetchFromGitHub {
-        owner = "motain";
-        repo = "gocheck";
-        rev = "9beb271d26e640863a5bf4a3c5ea40ccdd466b84";
-        sha256 = "07arpwfdb51b5f7kzqnm5s5ndfmxv5j793hpn30nbdcya46diwjd";
+        owner = "mitchellh";
+        repo = "gophercloud-fork-40444fb";
+        rev = "40444fbc2b10960682b34e6822eb9179216e1ae1";
+        sha256 = "06bm7hfi03c75npzy51wbl9qyln35c3kzj9yn2w4fhn0k9dia9s3";
       };
     }
     {
@@ -198,8 +219,8 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "mapstructure";
-        rev = "743fcf103ac7cdbc159e540d9d0e3a7889b87d68";
-        sha256 = "1qqxsnxabd7c04n0ip1wmpr2g913qchqrbmblq0shrf5p1hnszgn";
+        rev = "442e588f213303bec7936deba67901f8fc8f18b1";
+        sha256 = "076svhy5jlnw4jykm3dsrx2dswifajrpr7d09mz9y6g3lg901rqd";
       };
     }
     {
@@ -221,21 +242,39 @@ let
       };
     }
     {
+      root = "github.com/mitchellh/packer";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "packer";
+        rev = "e3c2f01cb8d8f759c02bd3cfc9d27cc1a941d498";
+        sha256 = "0sp2qjdsf0cqmw11a3vfs9alyz76vf415vv71bwdarfagz466inw";
+      };
+    }
+    {
       root = "github.com/mitchellh/panicwrap";
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "panicwrap";
-        rev = "1aedff2aaa8b8ff7f65ab58e94ef9f593e2e3bf4";
-        sha256 = "05brbpc7kizzbs1a128fmjddh7rdyg0jzzxgbvrl58cgklh4yzaa";
+        rev = "45cbfd3bae250c7676c077fb275be1a2968e066a";
+        sha256 = "0mbha0nz6zcgp2pny2x03chq1igf9ylpz55xxq8z8g2jl6cxaghn";
       };
     }
     {
-      root = "github.com/rackspace/gophercloud";
+      root = "github.com/mitchellh/prefixedio";
       src = fetchFromGitHub {
-        owner = "rackspace";
-        repo = "gophercloud";
-        rev = "2285a429874c1365ef6c6d3ceb08b1d428e26aca";
-        sha256 = "0py3h64r4wkl2r9j7xlh81nazpg2b0r5ba9iblh6d1380yk4fa7f";
+        owner = "mitchellh";
+        repo = "prefixedio";
+        rev = "89d9b535996bf0a185f85b59578f2e245f9e1724";
+        sha256 = "0lc64rlizb412msd32am2fixkh0536pjv7czvgyw5fskn9kgk3y2";
+      };
+    }
+    {
+      root = "github.com/motain/gocheck";
+      src = fetchFromGitHub {
+        owner = "motain";
+        repo = "gocheck";
+        rev = "9beb271d26e640863a5bf4a3c5ea40ccdd466b84";
+        sha256 = "07arpwfdb51b5f7kzqnm5s5ndfmxv5j793hpn30nbdcya46diwjd";
       };
     }
     {
@@ -243,8 +282,26 @@ let
       src = fetchFromGitHub {
         owner = "racker";
         repo = "perigee";
-        rev = "01db3191866051f2ec854c2d876ac1a179d3049c";
-        sha256 = "05pmlgwjynbr59bw50zhrklzhr5pgnij9ym5hqvijjrpw3qd9ivf";
+        rev = "44a7879d89b7040bcdb51164a83292ef5bf9deec";
+        sha256 = "04wscffagpbcfjs6br96n46aqy43cq6ndq16nlpvank0m98jaax0";
+      };
+    }
+    {
+      root = "github.com/rackspace/gophercloud";
+      src = fetchFromGitHub {
+        owner = "rackspace";
+        repo = "gophercloud";
+        rev = "d7f07fc0a7ff4b608c6f9e34197930093c7c7ee1";
+        sha256 = "1cyfvynwl5z6f9s0lmj92mhsriy7nl7kq5f8jay67wmdn0nhyybs";
+      };
+    }
+    {
+      root = "github.com/rasa/oauth2-fork-b3f9a68";
+      src = fetchFromGitHub {
+        owner = "rasa";
+        repo = "oauth2-fork-b3f9a68";
+        rev = "94a7bc9691e0841393b875eaad68fbfd069b2a18";
+        sha256 = "101bv0zwbchdql86x8c4qhvmlahkfcw4bnqw7v8hihqxd5zf9fxp";
       };
     }
     {
@@ -252,8 +309,26 @@ let
       src = fetchFromGitHub {
         owner = "ugorji";
         repo = "go";
-        rev = "71c2886f5a673a35f909803f38ece5810165097b";
-        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+        rev = "39815c8993d27d88435f3d267be35a6d26e43f03";
+        sha256 = "1g5nbcs3900chwv0jz1a9x0s3scxjhksi1268w112mq2k1rinq3j";
+      };
+    }
+    {
+      root = "github.com/ugorji/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go-msgpack";
+        rev = "75092644046c5e38257395b86ed26c702dc95b92";
+        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+      };
+    }
+    {
+      root = "github.com/vaughan0/go-ini";
+      src = fetchFromGitHub {
+        owner = "vaughan0";
+        repo = "go-ini";
+        rev = "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1";
+        sha256 = "1l1isi3czis009d9k5awsj4xdxgbxn4n9yqjc1ac7f724x6jacfa";
       };
     }
     {
@@ -261,17 +336,89 @@ let
       src = fetchFromGitHub {
         owner = "vmihailenco";
         repo = "msgpack";
-        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
-        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+        rev = "1efcd9943dd320d41d8a00189e568d794f1b4e78";
+        sha256 = "0brbrss7hja2d06cca633ggn5jawqwb8p0prp5cg1m26w9f3hzis";
       };
     }
     {
-      root = "github.com/ugorji/go-msgpack";
+      root = "github.com/xiocode/toolkit";
       src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go-msgpack";
-        rev = "75092644046c5e38257395b86ed26c702dc95b92";
-        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+        owner = "xiocode";
+        repo = "toolkit";
+        rev = "352fd7c6700074a81056cdfc9e82b3e8c5681ac5";
+        sha256 = "0p33zh57xpxyk2wyp9xahdxyrkq48ysihpr0n9kj713q0dh7x4a3";
+      };
+    }
+    {
+      root = "golang.org/x/crypto";
+      src = fetchgit {
+        url = "https://go.googlesource.com/crypto";
+        rev = "bfc286917c5fcb7420d7e3092b50bbfd31b38a98";
+        sha256 = "04ryvpbd2z4q4wqaffmj4wc541y744rfjg6arhwf4qn64r171am0";
+      };
+    }
+    {
+      root = "golang.org/x/net";
+      src = fetchgit {
+        url = "https://go.googlesource.com/net";
+        rev = "2033b3a5e8688bdd590c647ca70a12384ddc6824";
+        sha256 = "06zla6nja6af735b2rskb5l2pjggw99v05fl4n306dcnvwj3gvg6";
+      };
+    }
+    {
+      root = "golang.org/x/text";
+      src = fetchgit {
+        url = "https://go.googlesource.com/text";
+        rev = "bfad311ce93436dc888b40d76c78f99dc3104473";
+        sha256 = "1mbhp5q24drz2l2x6ib3180i42f9015ry80bn7jhr7rwizvyp6lh";
+      };
+    }
+    {
+      root = "google.golang.org/appengine";
+      src = fetchgit {
+        url = "https://github.com/golang/appengine.git";
+        rev = "d1e7e222a24d1e085466ed8b44aedd572f5a51c4";
+        sha256 = "045dmq0m56m1n16fygdghmkaqh7xb2g80xrm7lkcbkf3763w8gfw";
+      };
+    }
+    {
+      root = "gopkg.in/check.v1";
+      src = fetchgit {
+        url = "https://gopkg.in/check.v1";
+        rev = "64131543e7896d5bcc6bd5a76287eb75ea96c673";
+        sha256 = "0ybxgxkkmfhgd4pmjf7hgpp7d7zxsskc7kv9dklqbaf6aszsqbxl";
+      };
+    }
+    {
+      root = "gopkg.in/tomb.v1";
+      src = fetchgit {
+        url = "https://gopkg.in/tomb.v1";
+        rev = "dd632973f1e7218eb1089048e0798ec9ae7dceb8";
+        sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+      };
+    }
+    {
+      root = "gopkg.in/vmihailenco/msgpack.v2";
+      src = fetchgit {
+        url = "https://gopkg.in/vmihailenco/msgpack.v2";
+        rev = "1efcd9943dd320d41d8a00189e568d794f1b4e78";
+        sha256 = "0brbrss7hja2d06cca633ggn5jawqwb8p0prp5cg1m26w9f3hzis";
+      };
+    }
+    {
+      root = "labix.org/v2/mgo";
+      src = fetchbzr {
+        url = "https://launchpad.net/mgo/v2";
+        rev = "287";
+        sha256 = "0602x0liyp3w2v8cj1nyq73576vbxlxx1z1a8nn173pajxx9pm2z";
+      };
+    }
+    {
+      root = "launchpad.net/gocheck";
+      src = fetchbzr {
+        url = "https://launchpad.net/gocheck";
+        rev = "87";
+        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
       };
     }
     {
@@ -282,15 +429,6 @@ let
         sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
       };
     }
-    {
-      root = "github.com/vmihailenco/bufio";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "bufio";
-        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
-        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
-      };
-    }
   ];
 
 in
diff --git a/pkgs/development/tools/parsing/Ebnf2ps/default.nix b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
index b3d4c125bb9..4b4eae915f5 100644
--- a/pkgs/development/tools/parsing/Ebnf2ps/default.nix
+++ b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
@@ -4,13 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "Ebnf2ps";
-  version = "1.0.11";
-  sha256 = "0n0maihalnrks3l7ay1i16p6i7f69xv33jxhlsyshzck0v64qivb";
+  version = "1.0.12";
+  sha256 = "1rd0pxj2bfx06z1p0sy8kdhyfg1y51gn1bhr71j33czls6m9ry8c";
   isLibrary = false;
   isExecutable = true;
   buildTools = [ happy ];
   meta = {
-    homepage = "http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/";
+    homepage = "https://github.com/FranklinChen/Ebnf2ps";
     description = "Peter's Syntax Diagram Drawing Tool";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/tools/parsing/alex/2.3.1.nix b/pkgs/development/tools/parsing/alex/2.3.1.nix
deleted file mode 100644
index 83138e2e0ff..00000000000
--- a/pkgs/development/tools/parsing/alex/2.3.1.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "alex";
-  version = "2.3.1";
-  sha256 = "cdd42fd992a72fedeff1f38debc21aa315d90dc070f0945d7819c0bccd549a44";
-  isLibrary = false;
-  isExecutable = true;
-  buildTools = [ perl ];
-  doCheck = false;
-  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
-  meta = {
-    homepage = "http://www.haskell.org/alex/";
-    description = "Alex is a tool for generating lexical analysers in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/alex/2.3.2.nix b/pkgs/development/tools/parsing/alex/2.3.2.nix
deleted file mode 100644
index 0bc13d16017..00000000000
--- a/pkgs/development/tools/parsing/alex/2.3.2.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "alex";
-  version = "2.3.2";
-  sha256 = "6715a4c27b15a74d8f31cbb6a7d654b9cb6766d74980c75b65dee7c627049f43";
-  isLibrary = false;
-  isExecutable = true;
-  buildTools = [ perl ];
-  doCheck = false;
-  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
-  meta = {
-    homepage = "http://www.haskell.org/alex/";
-    description = "Alex is a tool for generating lexical analysers in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/alex/2.3.3.nix b/pkgs/development/tools/parsing/alex/2.3.3.nix
deleted file mode 100644
index ccef30058c5..00000000000
--- a/pkgs/development/tools/parsing/alex/2.3.3.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "alex";
-  version = "2.3.3";
-  sha256 = "338fc492a1fddd6c528d0eb89857cadab211cb42680aeee1f9702bbfa7c5e1c8";
-  isLibrary = false;
-  isExecutable = true;
-  buildTools = [ perl ];
-  doCheck = false;
-  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
-  meta = {
-    homepage = "http://www.haskell.org/alex/";
-    description = "Alex is a tool for generating lexical analysers in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/alex/3.0.1.nix b/pkgs/development/tools/parsing/alex/3.0.1.nix
deleted file mode 100644
index 7dc18c63c91..00000000000
--- a/pkgs/development/tools/parsing/alex/3.0.1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, perl, QuickCheck }:
-
-cabal.mkDerivation (self: {
-  pname = "alex";
-  version = "3.0.1";
-  sha256 = "1w7s9kzgr4kfh6cyhb4qkvxwy9gcw3xa1d2k5dy575k3wk73awkj";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ QuickCheck ];
-  buildTools = [ perl ];
-  doCheck = false;
-  meta = {
-    homepage = "http://www.haskell.org/alex/";
-    description = "Alex is a tool for generating lexical analysers in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/parsing/alex/3.0.2.nix b/pkgs/development/tools/parsing/alex/3.0.2.nix
deleted file mode 100644
index c18c5d89d1b..00000000000
--- a/pkgs/development/tools/parsing/alex/3.0.2.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, perl, QuickCheck }:
-
-cabal.mkDerivation (self: {
-  pname = "alex";
-  version = "3.0.2";
-  sha256 = "0r1i10i9svnd0ayd229d8hgndgc6q8ghabw6zzghwviw5hs36zlr";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ QuickCheck ];
-  buildTools = [ perl ];
-  doCheck = false;
-  meta = {
-    homepage = "http://www.haskell.org/alex/";
-    description = "Alex is a tool for generating lexical analysers in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/parsing/alex/3.0.5.nix b/pkgs/development/tools/parsing/alex/3.0.5.nix
deleted file mode 100644
index af32598ee47..00000000000
--- a/pkgs/development/tools/parsing/alex/3.0.5.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, fetchpatch, perl, QuickCheck }:
-
-cabal.mkDerivation (self: {
-  pname = "alex";
-  version = "3.0.5";
-  sha256 = "0ncnp7cl7dlfcrwzzcp8j59i9j5r66wim1yib9g3b3jkl0bn8cn3";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ QuickCheck ];
-  buildTools = [ perl ];
-  patches = [ (fetchpatch { url="http://github.com/simonmar/alex/pull/21.patch"; sha256="050psfwmjlxhyxiy65jsn3v6b9rnfzy8x5q9mmhzwbirqwi0zkfm"; }) ];
-  meta = {
-    homepage = "http://www.haskell.org/alex/";
-    description = "Alex is a tool for generating lexical analysers in Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 49602a23201..b38751ba99e 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, m4, perl }:
 
 stdenv.mkDerivation rec {
-  name = "bison-3.0.2";
+  name = "bison-3.0.4";
 
   src = fetchurl {
     url = "mirror://gnu/bison/${name}.tar.gz";
-    sha256 = "1vc17y6242jlwp0gdj7wsim3nvc1ws7q3j0v3065nz8g9hd9vwnd";
+    sha256 = "b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e";
   };
 
   nativeBuildInputs = [ m4 perl ];
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index ec302611053..5be797507c0 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -4,18 +4,13 @@ stdenv.mkDerivation {
   name = "byacc-1.9";
 
   src = fetchurl {
-    url = http://www.isc.org/sources/devel/tools/byacc-1.9.tar.gz;
-    sha256 = "d61a15ac4ac007c188d0c0e99365f016f8d327755f43032b58e400754846f736";
+    url = ftp://invisible-island.net/byacc/byacc-20140715.tgz;
+    sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c";
   };
 
-  preConfigure =
-    ''mkdir -p $out/bin
-      sed -i "s@^DEST.*\$@DEST = $out/bin/yacc@" Makefile
-    '';
-
-  meta = { 
+  meta = {
     description = "Berkeley YACC";
     homepage = http://dickey.his.com/byacc/byacc.html;
-    license = "public domain";
+    license = stdenv.lib.licenses.publicDomain;
   };
 }
diff --git a/pkgs/development/tools/parsing/flex/2.5.35.nix b/pkgs/development/tools/parsing/flex/2.5.35.nix
index 8047080a125..14209225bc6 100644
--- a/pkgs/development/tools/parsing/flex/2.5.35.nix
+++ b/pkgs/development/tools/parsing/flex/2.5.35.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
+    branch = "2.5.35";
     homepage = http://flex.sourceforge.net/;
     description = "A fast lexical analyser generator";
   };
diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix
new file mode 100644
index 00000000000..f04d773c374
--- /dev/null
+++ b/pkgs/development/tools/parsing/hammer/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, glib, pkgconfig, python, scons, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name = "hammer-${version}";
+  version = "e7aa734";
+
+  src = fetchgit {
+    url = "git://github.com/UpstandingHackers/hammer";
+    sha256 = "18bb0p896ch4crhcfxpbvpc17wg8gzv8696pcc51i34mza76jiz9";
+    rev = "47f34b81e4de834fd3537dd71928c4f3cdb7f533";
+  };
+
+  buildInputs = [ glib pkgconfig python scons ];
+  buildPhase = "scons prefix=$out";
+  installPhase = "scons prefix=$out install";
+
+  meta = with stdenv.lib; {
+    description = "Hammer is a parsing library";
+    longDescription = "Hammer is a parsing library. Like many modern parsing libraries,
+	       it provides a parser combinator interface for writing grammars
+	       as inline domain-specific languages, but Hammer also provides a
+	       variety of parsing backends. It's also bit-oriented rather than
+	       character-oriented, making it ideal for parsing binary data such
+	       as images, network packets, audio, and executables.";
+    homepage = https://github.com/UpstandingHackers/hammer;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    };
+}
diff --git a/pkgs/development/tools/parsing/happy/1.18.10.nix b/pkgs/development/tools/parsing/happy/1.18.10.nix
deleted file mode 100644
index 187fd3628e8..00000000000
--- a/pkgs/development/tools/parsing/happy/1.18.10.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.18.10";
-  sha256 = "0jq6p5vvdh4wbam80q2d6j2fa6bmbgnbmqk1w9904x06g7vj1jf1";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.18.4.nix b/pkgs/development/tools/parsing/happy/1.18.4.nix
deleted file mode 100644
index c7e3f919568..00000000000
--- a/pkgs/development/tools/parsing/happy/1.18.4.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.18.4";
-  sha256 = "909bec4541a92d3765e74756f752514d2d03ec7a5d3e74c18268a57fe7ffa832";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.18.5.nix b/pkgs/development/tools/parsing/happy/1.18.5.nix
deleted file mode 100644
index f66f2089351..00000000000
--- a/pkgs/development/tools/parsing/happy/1.18.5.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.18.5";
-  sha256 = "91e1c29ac42bc5cabcac2c2e28e693fc59fbdf30636e5c52cb51b779a74d755e";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.18.6.nix b/pkgs/development/tools/parsing/happy/1.18.6.nix
deleted file mode 100644
index 7919908681e..00000000000
--- a/pkgs/development/tools/parsing/happy/1.18.6.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.18.6";
-  sha256 = "0q6dnwihi1q761qdq0hhi733nh5d53xz6frwmr7slpvrp6v8y344";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.18.9.nix b/pkgs/development/tools/parsing/happy/1.18.9.nix
deleted file mode 100644
index 4ad9bf546b5..00000000000
--- a/pkgs/development/tools/parsing/happy/1.18.9.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, mtl, perl }:
-
-cabal.mkDerivation (self: {
-  pname = "happy";
-  version = "1.18.9";
-  sha256 = "12k1rg7dqa02az9d1zasdnp51zs4h30kpi5lyqsw3jxfp09cad3x";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ mtl ];
-  buildTools = [ perl ];
-  meta = {
-    homepage = "http://www.haskell.org/happy/";
-    description = "Happy is a parser generator for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/tools/parsing/happy/1.19.4.nix b/pkgs/development/tools/parsing/happy/default.nix
index 979d4bc52e3..979d4bc52e3 100644
--- a/pkgs/development/tools/parsing/happy/1.19.4.nix
+++ b/pkgs/development/tools/parsing/happy/default.nix
diff --git a/pkgs/development/tools/parsing/jshon/default.nix b/pkgs/development/tools/parsing/jshon/default.nix
new file mode 100644
index 00000000000..fa11671db0b
--- /dev/null
+++ b/pkgs/development/tools/parsing/jshon/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, jansson }:
+
+stdenv.mkDerivation rec {
+  name = "jshon-20140712";
+
+  rev = "a61d7f2f85f4627bc3facdf951746f0fd62334b7";
+  sha256 = "b0365e58553b9613a5636545c5bfd4ad05ab5024f192e1cb1d1824bae4e1a380";
+
+  src = fetchFromGitHub {
+    inherit rev sha256;
+    owner = "keenerd";
+    repo = "jshon";
+  };
+
+  buildInputs = [ jansson ];
+
+  patchPhase = 
+    ''
+      substituteInPlace Makefile --replace "/usr/" "/"
+    '';
+
+  preInstall = 
+    ''
+      export DESTDIR=$out
+    '';
+
+  meta = with lib; {
+    homepage = http://kmkeen.com/jshon;
+    description = "JSON parser designed for maximum convenience within the shell.";
+    license = licenses.free;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ rushmorem ];
+  };
+}
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 247daacf161..e55a2015a70 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -1,42 +1,26 @@
-{stdenv, composableDerivation, fetchurl, transfig, texLive}:
+{stdenv, fetchurl, transfig, texLiveAggregationFun, texLive, texLiveExtra, ghostscript
+, build-manual ? false
+}:
 
-let
-  version = "6.3";
+stdenv.mkDerivation rec {
   name = "ragel-${version}";
-in
+  version = "6.9";
 
-composableDerivation.composableDerivation {} {
-  inherit name;
   src = fetchurl {
-    url = "http://www.complang.org/ragel/${name}.tar.gz";
-    sha256 = "018cedc8a68be85cda330fc53d0bb8a1ca6ad39b1cf790eed0311e7baa5a2520";
+    url = "http://www.colm.net/files/ragel/${name}.tar.gz";
+    sha256 = "02k6rwh8cr95f1p5sjjr3wa6dilg06572xz1v71dk8awmc7vw1vf";
   };
 
-  flags = {
-    doc = {
-      # require fig2dev & pdflatex (see README)
-      buildInputs = [transfig texLive];
-      # use post* because default values of buildPhase is empty.
-      postBuild = ''
-        pushd doc
-        make
-        popd
-      '';
-      postInstall = ''
-        pushd doc
-        make install
-        popd
-      '';
-    };
-  };
-
-  cfg = {
-    docSupport = false;
-  };
-
-  meta = {
+  buildInputs = stdenv.lib.optional build-manual [ transfig ghostscript (texLiveAggregationFun { paths=[ texLive texLiveExtra ]; }) ];
+   
+  preConfigure = stdenv.lib.optional build-manual ''
+    sed -i "s/build_manual=no/build_manual=yes/g" DIST
+  '';
+  
+  meta = with stdenv.lib; {
     homepage = http://www.complang.org/ragel;
     description = "State machine compiler";
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index 5ff4f8ec9db..ce9941b2362 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -1,12 +1,12 @@
-{stdenv, fetchurl }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "re2c-${version}";
-  version = "0.13.7.4";
+  version = "0.14.2";
 
   src = fetchurl {
     url    = "mirror://sourceforge/re2c/re2c/${version}/${name}.tar.gz";
-    sha256 = "0j42s2gpz0rgiadwyb7ksqgc7i02l0q2qnmiyaj5f1w5rfa2c7yy";
+    sha256 = "0c0w5w1dp9v9d0a6smjbnk6zvfs77fx1xd7damap3x3sjxiyn0m7";
   };
 
   meta = {
diff --git a/pkgs/development/tools/phantomjs/default.nix b/pkgs/development/tools/phantomjs/default.nix
index 6fc53595efb..77bc1e5a885 100644
--- a/pkgs/development/tools/phantomjs/default.nix
+++ b/pkgs/development/tools/phantomjs/default.nix
@@ -3,7 +3,7 @@
 assert stdenv.lib.elem stdenv.system [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
 
 stdenv.mkDerivation rec {
-  name = "phantomjs-1.9.7";
+  name = "phantomjs-1.9.8";
 
   # I chose to use the binary build for now.
   # The source version is quite nasty to compile
@@ -13,26 +13,26 @@ stdenv.mkDerivation rec {
   src = if stdenv.system == "i686-linux" then
           fetchurl {
             url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-linux-i686.tar.bz2";
-            sha256 = "1ffd5544wnkww5cgwsims4bk4bymvm6pm19p32nbhwabxqhbnj9a";
+            sha256 = "11fzmssz9pqf3arh4f36w06sl2nyz8l9h8iyxyd7w5aqnq5la0j1";
           }
         else
           if stdenv.system == "x86_64-linux" then
             fetchurl {
               url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-linux-x86_64.tar.bz2";
-              sha256 = "06mhvj8rx298j0mrijw48zfm28hqgy81vdr1vv0jp4ncxbvijfs7";
+              sha256 = "0fhnqxxsxhy125fmif1lwgnlhfx908spy7fx9mng4w72320n5nd1";
             }
           else # x86_64-darwin
             fetchurl {
               url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-macosx.zip";
-              sha256 = "0vsagvx181gnypi6kgmxp4br6hnvd81vyy3cbz5pxccdys7iywvj";
+              sha256 = "0j0aq8dgzmb210xdrh0v3d4nblskl3zsckl8bzf1a603wcx085cg";
             };
 
   buildInputs = if stdenv.isDarwin then [ unzip ] else [];
 
   buildPhase = if stdenv.isDarwin then "" else ''
     patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      --set-rpath "${freetype}/lib:${fontconfig}/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${openssl}/lib" \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${freetype}/lib:${fontconfig}/lib:${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${openssl}/lib" \
       bin/phantomjs
   '';
 
diff --git a/pkgs/development/tools/profiling/EZTrace/default.nix b/pkgs/development/tools/profiling/EZTrace/default.nix
new file mode 100644
index 00000000000..2c9b435682d
--- /dev/null
+++ b/pkgs/development/tools/profiling/EZTrace/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, autoconf, libelf, gfortran, zlib, binutils }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.6";
+  name = "EZTrace-${version}";
+
+  src = fetchurl {
+    url = "http://gforge.inria.fr/frs/download.php/file/34082/eztrace-${version}.tar.gz";
+    sha256 = "06q5y9qmdn1h0wjmy28z6gwswskmph49j7simfqcqwv05gvd9svr";
+  };
+
+  # Goes past the rpl_malloc linking failure
+  preConfigure = ''
+    export ac_cv_func_malloc_0_nonnull=yes
+  '';
+
+  buildInputs = [ autoconf libelf gfortran zlib binutils ];
+
+  meta = {
+    description = "Tool that aims at generating automatically execution trace from HPC programs";
+    license = stdenv.lib.licenses.cecill-b;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+}
diff --git a/pkgs/development/tools/pydb/default.nix b/pkgs/development/tools/pydb/default.nix
index baa816589ca..1b5a2ca674f 100644
--- a/pkgs/development/tools/pydb/default.nix
+++ b/pkgs/development/tools/pydb/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     description = "Python debugger with GDB-like commands and Emacs bindings";
     homepage = http://bashdb.sourceforge.net/pydb/;
     license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/quilt/default.nix b/pkgs/development/tools/quilt/default.nix
index 7ac4f6d39b7..1fd70730265 100644
--- a/pkgs/development/tools/quilt/default.nix
+++ b/pkgs/development/tools/quilt/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
       and more.
     '';
 
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
new file mode 100644
index 00000000000..75c09987761
--- /dev/null
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchgit, rustc, cargo, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  #TODO add emacs support
+  name = "racer-git-2015-02-28";
+  src = fetchgit {
+    url = https://github.com/phildawes/racer;
+    rev = "2e1d718fae21431de4493c238196466e9d4996bc";
+    sha256 = "0lvp494kg2hlbbdrwxmmxkyhjw53y9wjdml9z817pwj3fwmrjsx0";
+  };
+
+  buildInputs = [ rustc cargo makeWrapper ];
+
+  buildPhase = ''
+    cargo build --release
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -p target/release/racer $out/bin/
+    wrapProgram $out/bin/racer --set RUST_SRC_PATH "${rustc.src}/src"
+    install -d $out/share/emacs/site-lisp
+    install "editors/"*.el $out/share/emacs/site-lisp
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A utility intended to provide Rust code completion for editors and IDEs.";
+    homepage = https://github.com/phildawes/racer;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ maintainers.jagajaga ];
+  };
+}
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
new file mode 100644
index 00000000000..e41b45dff68
--- /dev/null
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchurl, zlib }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "sauce-connect-${version}";
+  version = "4.3.6";
+
+  src = fetchurl (
+    if stdenv.system == "x86_64-linux" then {
+      url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
+      sha1 = "0d7d2dc12766ac137e62a3e4dad3025b590f9782";
+    } else {
+      url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
+      sha1 = "ee2c3002eae3b29df801a2ac1db77bb5f1c97bcc";
+    }
+  );
+
+  patchPhase = ''
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "$out/lib:${makeLibraryPath [zlib]}" \
+      bin/sc
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r * $out
+  '';
+
+  dontStrip = true;
+
+  meta = {
+    description = "A secure tunneling app for executing tests securely when testing behind firewalls";
+    license = "unfree";
+    homepage = https://docs.saucelabs.com/reference/sauce-connect/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index 30430671342..f2d39938a48 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   name = "chromedriver_linux64";
 
   src = fetchurl {
-    url = "http://chromedriver.storage.googleapis.com/2.10/${name}.zip";
-    sha256 = "1949lhrv4hrmgapvypsgwzyr75w7vpy7nkkkwjkjxn61dkwmx4jw";
+    url = "http://chromedriver.storage.googleapis.com/2.14/${name}.zip";
+    sha256 = "18kpky1v5pc3fv6kv9i2mf4wr4qicmfhf27h9zqy18gh16rlwrin";
   };
 
   buildInputs = [ unzip makeWrapper ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     mv chromedriver $out/bin
     patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver
     wrapProgram "$out/bin/chromedriver" \
-      --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:${libXi}/lib:\$LD_LIBRARY_PATH"
+      --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:${libXi}/lib:\$LD_LIBRARY_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/selenium/selendroid/default.nix b/pkgs/development/tools/selenium/selendroid/default.nix
new file mode 100644
index 00000000000..e34e479e938
--- /dev/null
+++ b/pkgs/development/tools/selenium/selendroid/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, makeWrapper, jdk, selenium-server-standalone }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "selendroid-standalone-${version}";
+  version = "0.11.0";
+
+  src = fetchurl {
+    url = "https://github.com/selendroid/selendroid/releases/download/${version}/selendroid-standalone-${version}-with-dependencies.jar";
+    sha256 = "1p6k974pr2634q1g65wx243cxdqhac63x8w2gsmh6vnni0818clk";
+  };
+
+  unpackPhase = "true";
+
+  buildInputs = [ jdk makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/share/lib/selendroid
+    cp $src $out/share/lib/selendroid/${name}.jar
+    makeWrapper ${jdk}/bin/java $out/bin/selendroid \
+      --add-flags "-jar $out/share/lib/selendroid/${name}.jar"
+    makeWrapper ${jdk}/bin/java $out/bin/selendroid-selenium \
+      --add-flags "-Dfile.encoding=UTF-8" \
+      --add-flags "-cp \"$out/share/lib/selendroid/${name}.jar:${selenium-server-standalone}/share/lib/${selenium-server-standalone.name}/${selenium-server-standalone.name}.jar\"" \
+      --add-flags "org.openqa.grid.selenium.GridLauncher"
+  '';
+
+  meta = {
+    homepage = https://code.google.com/p/selenium;
+    description = "Test automation for native or hybrid Android apps and the mobile web.";
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.all;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix
index efb1e85c2d7..6a009f5af09 100644
--- a/pkgs/development/tools/selenium/server/default.nix
+++ b/pkgs/development/tools/selenium/server/default.nix
@@ -1,27 +1,52 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, jre, jdk, gcc, xlibs
+, chromedriver, chromeSupport ? true }:
 
-stdenv.mkDerivation rec {
+with stdenv.lib;
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "amd64"
+         else if stdenv.system == "i686-linux" then "i386"
+         else "";
+
+in stdenv.mkDerivation rec {
   name = "selenium-server-standalone-${version}";
-  version = "2.39.0";
+  version = "2.44.0";
 
   src = fetchurl {
-    url = "https://selenium.googlecode.com/files/${name}.jar";
-    sha256 = "11ixh5x5f9kia2va8wssd3n7y57dkv3snw6xvk85y4qhzg64b65f";
+    url = "http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar";
+    sha256 = "1n53pyrxpmfh9lvr68d1l9rsiw7qr36farirpl3ivkyvnpm5iwm5";
   };
 
-  unpack = "";
+  unpackPhase = "true";
+
+  buildInputs = [ jre makeWrapper ];
+
+  # Patch launcher binaries for opera
+  patchPhase = optionalString (arch!="") ''
+    cp $src $TMPDIR/${name}.jar
+    export src=$TMPDIR/${name}.jar
+
+    ${jdk}/bin/jar xf $src launchers/launcher-linux-amd64
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${gcc.cc}/lib/:${gcc.cc}/lib64:${xlibs.libX11}/lib" \
+      launchers/launcher-linux-${arch}
+    ${jdk}/bin/jar uf $src launchers/launcher-linux-${arch}
+  '';
 
-  buildCommand = ''
+  installPhase = ''
     mkdir -p $out/share/lib/${name}
     cp $src $out/share/lib/${name}/${name}.jar
+    makeWrapper ${jre}/bin/java $out/bin/selenium-server \
+      --add-flags "-jar $out/share/lib/${name}/${name}.jar" \
+      --add-flags ${optionalString chromeSupport "-Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"}
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     homepage = https://code.google.com/p/selenium;
-    description = "Selenium Server for remote WebDriver.";
-    maintainers = [ maintainers.coconnor ];
+    description = "Selenium Server for remote WebDriver";
+    maintainers = with maintainers; [ coconnor offline ];
     platforms = platforms.all;
-    hydraPlatforms = [];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 9741b0930d2..7c6cf82d741 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, fetchgit, zip, unzip, xulrunner, bash}:
+{stdenv, fetchurl, fetchgit, zip, unzip, firefox, bash}:
 let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.9.1";
+    version="0.9.5";
     name="${baseName}-${version}";
-    hash="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k";
-    url="http://download.slimerjs.org/v0.9/0.9.1/slimerjs-0.9.1.zip";
-    sha256="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k";
+    hash="05p7cwbr2jly6sd6h69j577y48yr05zm2nj7wgnxw0rhyrhkl22s";
+    url="http://download.slimerjs.org/releases/0.9.5/slimerjs-0.9.5.zip";
+    sha256="05p7cwbr2jly6sd6h69j577y48yr05zm2nj7wgnxw0rhyrhkl22s";
   };
   buildInputs = [
     unzip zip
@@ -31,9 +31,10 @@ stdenv.mkDerivation {
     cp LICENSE README* "$out/share/doc/slimerjs"
     cp -r * "$out/lib/slimerjs"
     echo '#!${bash}/bin/bash' >>  "$out/bin/slimerjs"
-    echo 'export SLIMERJSLAUNCHER=${xulrunner}/bin/xulrunner' >>  "$out/bin/slimerjs"
+    echo 'export SLIMERJSLAUNCHER=${firefox}/bin/firefox' >>  "$out/bin/slimerjs"
     echo "'$out/lib/slimerjs/slimerjs' \"\$@\"" >> "$out/bin/slimerjs"
     chmod a+x "$out/bin/slimerjs"
+    sed -e 's@MaxVersion=3[0-9][.]@MaxVersion=40.@' -i "$out/lib/slimerjs/application.ini"
   '';
   meta = {
     inherit (s) version;
diff --git a/pkgs/development/tools/sqsh/default.nix b/pkgs/development/tools/sqsh/default.nix
index 15a6985b8bf..7c9d70528d5 100644
--- a/pkgs/development/tools/sqsh/default.nix
+++ b/pkgs/development/tools/sqsh/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
     export SYBASE=${freetds}
     '';
 
-  buildInputs = [ 
-    freetds 
+  buildInputs = [
+    freetds
     readline
   ];
 
diff --git a/pkgs/development/tools/toluapp/default.nix b/pkgs/development/tools/toluapp/default.nix
new file mode 100644
index 00000000000..5edc57e2f81
--- /dev/null
+++ b/pkgs/development/tools/toluapp/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, scons, lua }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.92";
+  name = "toluapp-${version}";
+
+  src = fetchFromGitHub {
+    owner = "eddieringle";
+    repo  = "toluapp";
+    rev   = "b1e680dc486c17128a3c21f89db1693ff06c02b1";
+    sha256 = "1d1a9bll9825dg4mz71vwykvfd3s5zi2yvzbfsvlr3qz1l3zqfwb";
+  };
+
+  buildInputs = [ lua scons ];
+
+  patches = [ ./environ-and-linux-is-kinda-posix.patch ];
+
+  preConfigure = ''
+    substituteInPlace config_posix.py \
+      --replace /usr/local $out
+  '';
+
+  NIX_CFLAGS_COMPILE = "-fPIC";
+
+  buildPhase = ''scons'';
+
+  installPhase = ''scons install'';
+
+  meta = {
+    licence = stdenv.lib.licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/tools/toluapp/environ-and-linux-is-kinda-posix.patch b/pkgs/development/tools/toluapp/environ-and-linux-is-kinda-posix.patch
new file mode 100644
index 00000000000..6743b25cb8a
--- /dev/null
+++ b/pkgs/development/tools/toluapp/environ-and-linux-is-kinda-posix.patch
@@ -0,0 +1,36 @@
+As it turns out, scons doesn't inherit environment variables by
+default. Debugging this was very pleasant. -- oxij
+
+diff --git a/SConstruct b/SConstruct
+index 5c1e774..66aa4c8 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -5,13 +5,11 @@ tools = ['default']
+ if os.name == 'nt':
+ 	tools = ['mingw']
+ 
+-env = Environment(tools = tools)
++env = Environment(tools = tools, ENV = os.environ)
+ 
+ options_file = None
+-if sys.platform == 'linux2':
+-	options_file = "linux"
+ 
+-elif 'msvc' in env['TOOLS']:
++if 'msvc' in env['TOOLS']:
+ 	options_file = "msvc"
+ else:
+ 	options_file = "posix"
+diff --git a/config_posix.py b/config_posix.py
+index 2bb696c..eb4eb9b 100644
+--- a/config_posix.py
++++ b/config_posix.py
+@@ -16,7 +16,7 @@ CCFLAGS = ['-O2', '-ansi', '-Wall']
+ prefix = '/usr/local'
+ 
+ # libraries
+-LIBS = ['lua', 'lualib', 'm']
++LIBS = ['lua', 'liblua', 'm']
+ 
+ 
+ 
diff --git a/pkgs/development/tools/tradcpp/default.nix b/pkgs/development/tools/tradcpp/default.nix
new file mode 100644
index 00000000000..e5a3004bfdb
--- /dev/null
+++ b/pkgs/development/tools/tradcpp/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, autoconf }:
+
+stdenv.mkDerivation {
+  name = "tradcpp-0.4";
+
+  src = fetchurl {
+    url = http://ftp.netbsd.org/pub/NetBSD/misc/dholland/tradcpp-0.4.tar.gz;
+    sha256 = "c60aa356945e0b6634bd449ead6a4fca0059d2ce3ae8044cf982140bbd54e688";
+  };
+
+  # tradcpp only comes with BSD-make Makefile; the patch adds configure support
+  buildInputs = [ autoconf ];
+  preConfigure = "autoconf";
+  patches = [ ./tradcpp-configure.patch ];
+
+  meta = {
+    description = "A traditional (K&R-style) C macro preprocessor";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+}
diff --git a/pkgs/development/tools/tradcpp/tradcpp-configure.patch b/pkgs/development/tools/tradcpp/tradcpp-configure.patch
new file mode 100644
index 00000000000..39cc499e218
--- /dev/null
+++ b/pkgs/development/tools/tradcpp/tradcpp-configure.patch
@@ -0,0 +1,84 @@
+*** /dev/null	Wed Jan  7 11:47:26 2015
+--- tradcpp-0.4/Makefile.in	Wed Jan  7 11:43:15 2015
+***************
+*** 0 ****
+--- 1,64 ----
++ SHELL = /bin/sh
++ 
++ ### Filled in by `configure' ###
++ srcdir = @srcdir@
++ VPATH = @srcdir@
++ CC = @CC@
++ CFLAGS = @CFLAGS@
++ CPPFLAGS = @CPPFLAGS@
++ 
++ LDFLAGS = @LDFLAGS@
++ 
++ prefix = @prefix@
++ exec_prefix = @exec_prefix@
++ 
++ bindir = @bindir@
++ libdir = @libdir@
++ incdir = @includedir@
++ manext = 1
++ mandir = @mandir@/man$(manext)
++ docdir = @docdir@
++ datarootdir = @datarootdir@
++ datadir = @datadir@
++ 
++ OBJS=	main.o \
++ 	files.o directive.o eval.o macro.o output.o \
++ 	place.o array.o utils.o
++ 
++ .PHONY: all clean install man doc dist
++ 
++ default: all
++ 
++ all: tradcpp
++ 
++ tradcpp: $(OBJS)
++ 	$(CC) $(LDFLAGS) $(CFLAGS) $(CPPFLAGS) -o $@ $(OBJS)
++ 
++ clean:
++ 	rm -f *.o
++ 
++ distclean: clean
++ 	rm -f Makefile config.log config.status config-cache
++ 
++ install: tradcpp
++ 	mkdir -p $(DESTDIR)$(mandir)
++ 	install tradcpp.1 $(DESTDIR)$(mandir)
++ 	mkdir -p $(DESTDIR)$(bindir)
++ 	install tradcpp $(DESTDIR)$(bindir)
++ 
++ .c.o:
++ 	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
++ 
++ array.o: array.c array.h inlinedefs.h utils.h
++ directive.o: directive.c utils.h mode.h place.h files.h directive.h \
++  macro.h eval.h output.h
++ eval.o: eval.c utils.h array.h inlinedefs.h mode.h place.h eval.h
++ files.o: files.c array.h inlinedefs.h utils.h mode.h place.h files.h \
++  directive.h
++ macro.o: macro.c array.h inlinedefs.h utils.h mode.h place.h macro.h \
++  output.h
++ main.o: main.c version.h config.h utils.h array.h inlinedefs.h mode.h \
++  place.h files.h directive.h macro.h
++ output.o: output.c utils.h mode.h place.h output.h
++ place.o: place.c utils.h array.h inlinedefs.h place.h
++ utils.o: utils.c utils.h
+*** /dev/null	Wed Jan  7 11:47:26 2015
+--- tradcpp-0.4/configure.ac	Wed Jan  7 11:22:18 2015
+***************
+*** 0 ****
+--- 1,10 ----
++ AC_PREREQ([2.60])dnl
++ AC_INIT(main.c)
++ AC_PROG_CC
++ AC_LANG(C)
++ AC_SUBST(CC)
++ AC_SUBST(CFLAGS)
++ AC_SUBST(CPPFLAGS)
++ AC_SUBST(LDFLAGS)
++ AC_SUBST(LD)
++ AC_OUTPUT(Makefile)
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 072b8eeff5c..44cb5fef90e 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,21 +1,30 @@
-{ stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, rubyLibs, libiconv
+{ stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv
 , libxml2, libxslt }:
 
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
+let
+  version = "1.6.5";
+  rake = buildRubyGem {
+    inherit ruby;
+    name = "rake-10.3.2";
+    sha256 = "0nvpkjrpsk8xxnij2wd1cdn6arja9q11sxx4aq4fz18bc6fss15m";
+  };
+
+in
 stdenv.mkDerivation rec {
-  name = "vagrant-1.6.3";
+  name = "vagrant-${version}";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_x86_64.deb;
-        sha256 = "1gmdg92dw7afnvpji0wg4nzr7vhk8mrmcqk3hcrkwscby2f2bhqg";
+        url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb";
+        sha256 = "12m2mnpnfzqv2s4j58cnzg4h4i5nkk5nb4irsvmm3i9a0dnsziz2";
       }
     else
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_i686.deb;
-        sha256 = "1z26b6yghqgx8jbi2igf4kk4h6rzy869gli2vj7ayl7vbqdfvb60";
+        url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb";
+        sha256 = "1d4w0ni6mkb378v6rd7b188fw38vi8qql7pkwzsykr6389krbkbq";
       };
 
   meta = with stdenv.lib; {
@@ -56,7 +65,7 @@ stdenv.mkDerivation rec {
     ln -s ${ruby}/bin/erb opt/vagrant/embedded/bin
     ln -s ${ruby}/bin/gem opt/vagrant/embedded/bin
     ln -s ${ruby}/bin/irb opt/vagrant/embedded/bin
-    ln -s ${rubyLibs.rake}/bin/rake opt/vagrant/embedded/bin
+    ln -s ${rake}/bin/rake opt/vagrant/embedded/bin
     ln -s ${ruby}/bin/rdoc opt/vagrant/embedded/bin
     ln -s ${ruby}/bin/ri opt/vagrant/embedded/bin
     ln -s ${ruby}/bin/ruby opt/vagrant/embedded/bin
@@ -84,10 +93,12 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     # 'hide' the template file from shebang-patching
-    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable
+    chmod -x $out/opt/vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/provisioners/salt/bootstrap-salt.sh
   '';
 
   postFixup = ''
-    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.6/lib/bundler/templates/Executable
+    chmod +x $out/opt/vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/provisioners/salt/bootstrap-salt.sh
   '';
 }
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index 6db164131f7..264557bfb62 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -5,13 +5,13 @@
 stdenv.mkDerivation rec {
   name = "watchman-${version}";
 
-  version = "2.9.8";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "watchman";
     rev = "v${version}";
-    sha256 = "196d71ci7ki4p6xx49w55cqd0bqrx19nf79na3a91mrfa6f22sp6";
+    sha256 = "0sf0cp9p7savlgmzqj5m9fkpfa5a15pv98rkilxnbmx9wrjvypwk";
   };
 
   buildInputs = [ autoconf automake pcre ];
diff --git a/pkgs/development/tools/winpdb/default.nix b/pkgs/development/tools/winpdb/default.nix
new file mode 100644
index 00000000000..fd6e0a99138
--- /dev/null
+++ b/pkgs/development/tools/winpdb/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, buildPythonPackage, wxPython, makeDesktopItem }:
+
+buildPythonPackage rec {
+  name = "winpdb-1.4.8";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://winpdb.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0vkpd24r40j928vc04c721innv0168sbllg97v4zw10adm24d8fs";
+  };
+
+  propagatedBuildInputs = [ wxPython ];
+
+  desktopItem = makeDesktopItem {
+    name = "winpdb";
+    exec = "winpdb";
+    icon = "winpdb";
+    comment = "Platform independend Python debugger";
+    desktopName = "Winpdb";
+    genericName = "Python Debugger";
+    categories = "Application;Development;Debugger;";
+  };
+
+  # Don't call gnome-terminal with "--disable-factory" flag, which is
+  # unsupported since GNOME >= 3.10. Apparently, debian also does this fix:
+  # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757718
+  postPatch = ''
+    sed -i "s/--disable-factory//" rpdb2.py
+  '';
+
+  postInstall = ''
+    mkdir -p "$out"/share/applications
+    cp "$desktopItem"/share/applications/* "$out"/share/applications/
+
+    mkdir -p "$out"/share/icons
+    cp artwork/winpdb-icon.svg "$out"/share/icons/winpdb.svg
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Platform independent Python debugger";
+    longDescription = ''
+      Winpdb is a platform independent GPL Python debugger with support for
+      multiple threads, namespace modification, embedded debugging, encrypted
+      communication and is up to 20 times faster than pdb.
+    '';
+    homepage = http://winpdb.org/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
new file mode 100644
index 00000000000..357e77009c4
--- /dev/null
+++ b/pkgs/development/web/grails/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, unzip
+# If jdk is null, require JAVA_HOME in runtime environment, else store
+# JAVA_HOME=${jdk.home} into grails.
+, jdk ? null
+, coreutils, ncurses, gnused, gnugrep  # for purity
+}:
+
+let
+  binpath = stdenv.lib.makeSearchPath "bin"
+    ([ coreutils ncurses gnused gnugrep ] ++ stdenv.lib.optional (jdk != null) jdk);
+in
+stdenv.mkDerivation rec {
+  name = "grails-2.4.3";
+
+  src = fetchurl {
+    url = "http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/${name}.zip";
+    sha256 = "0lqkv0hsiiqa36pfnq5wv7s7nsp9xadmh1ri039bn0llpfck4742";
+  };
+
+  buildInputs = [ unzip ];
+
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -vr . "$out"
+    # Remove (for now) uneeded Windows .bat files
+    rm -f "$out"/bin/*.bat
+    # Improve purity
+    sed -i -e '2iPATH=${binpath}:\$PATH' "$out"/bin/grails
+  '' + stdenv.lib.optionalString (jdk != null) ''
+    # Inject JDK path into grails
+    sed -i -e '2iJAVA_HOME=${jdk.home}' "$out"/bin/grails
+  '';
+
+  preferLocalBuild = true;
+
+  meta = with stdenv.lib; {
+    description = "Full stack, web application framework for the JVM";
+    longDescription = ''
+      Grails is an Open Source, full stack, web application framework for the
+      JVM. It takes advantage of the Groovy programming language and convention
+      over configuration to provide a productive and stream-lined development
+      experience.
+    '';
+    homepage = http://grails.org/;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/web/iojs/default.nix b/pkgs/development/web/iojs/default.nix
new file mode 100644
index 00000000000..45586c1e9bd
--- /dev/null
+++ b/pkgs/development/web/iojs/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, python, utillinux, openssl, http-parser, zlib, libuv, nightly ? false }:
+
+let
+  version = if nightly then "1.6.5-nightly20150409ff74931107" else "1.6.4";
+  inherit (stdenv.lib) optional maintainers licenses platforms;
+in stdenv.mkDerivation {
+  name = "iojs-${version}";
+
+  src = fetchurl {
+    url = if nightly
+          then "https://iojs.org/download/nightly/v${version}/iojs-v${version}.tar.gz"
+          else "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
+    sha256 = if nightly
+             then "04f7r4iv8p0jfylw4sxg3vsv14rbsi6n9hbqnwvdh6554yrm6d35"
+             else "1qzvf7g457dppzxn23wppjcm09vh1n6bhsvz5szhwgjvl0iv2pc7";
+  };
+
+  prePatch = ''
+    sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
+  '';
+
+  configureFlags = [ "--shared-openssl" "--shared-http-parser" "--shared-zlib" "--shared-libuv" ];
+
+  buildInputs = [ python openssl http-parser zlib libuv ] ++ (optional stdenv.isLinux utillinux);
+  setupHook = ../nodejs/setup-hook.sh;
+
+  passthru.interpreterName = "iojs";
+
+  meta = {
+    description = "A friendly fork of Node.js with an open governance model";
+    homepage = https://iojs.org/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/web/iojs/update-iojs b/pkgs/development/web/iojs/update-iojs
new file mode 100755
index 00000000000..4e01ecfd63e
--- /dev/null
+++ b/pkgs/development/web/iojs/update-iojs
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Fetch the latest io.js release (stable/nightly) and update
+# `default.nix` in this directory.
+#
+# Call this from the root of your nixpkgs directory.
+#
+
+set -e
+
+HERE="$(dirname "$0")"
+
+latest() {
+    curl -s "$1" | grep 'href="v' \
+        | tail -1 | sed 's/.*href="v//;s/\/".*//'
+}
+
+latest_log() {
+    echo "Getting latest $1 version from $2" >&2
+    version=$(latest "$2")
+    echo " -> $version" >&2
+    echo "$version"
+}
+
+url() {
+    nix-instantiate -A "$1" \
+        | xargs cat \
+        | sed 's/.*"urls","//;s/".*//'
+}
+
+hash() {
+    nix-prefetch-url "$1"
+}
+
+hash_log() {
+    echo "Finding hash for $1" >&2
+    value=$(hash "$1")
+    echo " -> $value" >&2
+    echo "$value"
+}
+
+stable=$(latest_log stable 'https://iojs.org/dist/')
+nightly=$(latest_log nightly 'https://iojs.org/download/nightly/')
+
+sed -i \
+    "/version = if nightly/s/then.*/then \"$nightly\" else \"$stable\";/" \
+    "$HERE/default.nix"
+
+stableHash=$(hash_log "$(url iojs.src)")
+nightlyHash=$(hash_log "$(url iojs-nightly.src)")
+
+sed -i \
+    "/sha256 = if nightly/{N;s/\"[^\"]*\"/\"$nightlyHash\"/;N;s/\"[^\"]*\";/\"$stableHash\";/}" \
+    "$HERE/default.nix"
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index ca3439df4c4..042e29f2970 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -1,99 +1,333 @@
 { stdenv, runCommand, nodejs, neededNatives}:
 
-args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], preShellHook ? "",  postShellHook ? "", ... }:
+{
+  name, version ? "", src,
+
+  # by default name of nodejs interpreter e.g. "nodejs-${name}"
+  namePrefix ? nodejs.interpreterName + "-",
+
+  # Node package name
+  pkgName ?
+    if version != "" then stdenv.lib.removeSuffix "-${version}" name else
+    (builtins.parseDrvName name).name,
+
+  # List or attribute set of dependencies
+  deps ? {},
+
+  # List or attribute set of peer depencies
+  peerDependencies ? {},
+
+  # List or attribute set of optional dependencies
+  optionalDependencies ? {},
+
+  # List of optional dependencies to skip
+  skipOptionalDependencies ? [],
+
+  # Whether package is binary or library
+  bin ? false,
+
+  # Additional flags passed to npm install
+  flags ? "",
+
+  # Command to be run before shell hook
+  preShellHook ? "",
+
+  # Command to be run after shell hook
+  postShellHook ? "",
+
+  # Same as https://docs.npmjs.com/files/package.json#os
+  os ? [],
+
+  # Same as https://docs.npmjs.com/files/package.json#cpu
+  cpu ? [],
+
+  # Attribute set of already resolved deps (internal),
+  # for avoiding infinite recursion
+  resolvedDeps ? {},
+
+  ...
+} @ args:
 
 with stdenv.lib;
 
 let
-  npmFlags = concatStringsSep " " (map (v: "--${v}") flags);
-
-  sources = runCommand "node-sources" {} ''
-    tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
-    mv *node* $out
-  '';
-
-  peerDeps = listToAttrs (concatMap (dep: map (name: {
-    inherit name;
-    value = dep;
-  }) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
-in
-stdenv.mkDerivation ({
-  unpackPhase = "true";
-
-  inherit src;
-
-  configurePhase = ''
-    runHook preConfigure
-    mkdir node_modules
-    ${concatStrings (concatMap (dep: map (name: ''
-      ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) deps)}
-    ${concatStrings (mapAttrsToList (name: dep: ''
-      ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') peerDeps)}
-    export HOME=$(pwd)
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-    npm --registry http://www.example.com --nodedir=${sources} install $src ${npmFlags}
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/lib/node_modules
-    ${concatStrings (map (name: ''
-      mv node_modules/${name} $out/lib/node_modules
-      rm -fR $out/lib/node_modules/${name}/node_modules
-      ln -sv $out/.dependent-node-modules $out/lib/node_modules/${name}/node_modules
-      if [ -e "$out/lib/node_modules/${name}/man" ]; then
-        mkdir -p $out/share
-        for dir in "$out/lib/node_modules/${name}/man/"*; do
-          mkdir -p $out/share/man/$(basename "$dir")
-          for page in "$dir"/*; do
-            ln -sv $page $out/share/man/$(basename "$dir")
-          done
-        done
-      fi
-    '') args.passthru.names)}
-    ${concatStrings (mapAttrsToList (name: dep: ''
-      mv node_modules/${name} $out/lib/node_modules
-    '') peerDeps)}
-    mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
-    mv node_modules $out/.dependent-node-modules
-    if [ -d "$out/lib/node_modules/.bin" ]; then
-      ln -sv $out/lib/node_modules/.bin $out/bin
+  self = let
+    sources = runCommand "node-sources" {} ''
+      tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+      mv $(find . -type d -mindepth 1 -maxdepth 1) $out
+    '';
+
+    platforms = if os == [] then nodejs.meta.platforms else
+      fold (entry: platforms:
+        let
+          filterPlatforms =
+            stdenv.lib.platforms.${removePrefix "!" entry} or [];
+        in
+          # Ignore unknown platforms
+          if filterPlatforms == [] then platforms
+          else
+            if hasPrefix "!" entry then
+              subtractLists (intersectLists filterPlatforms nodejs.meta.platforms) platforms
+            else
+              platforms ++ (intersectLists filterPlatforms nodejs.meta.platforms)
+      ) [] os;
+
+    mapDependencies = deps: f: rec {
+      # Convert deps to attribute set
+      attrDeps = if isAttrs deps then deps else
+        (listToAttrs (map (dep: nameValuePair dep.name dep) deps));
+
+      # All required node modules, without already resolved dependencies
+      # Also override with already resolved dependencies
+      requiredDeps = mapAttrs (name: dep:
+        dep.override {
+          resolvedDeps = resolvedDeps // { "${name}" = self; };
+        }
+      ) (filterAttrs f (removeAttrs attrDeps (attrNames resolvedDeps)));
+
+      # Recursive dependencies that we want to avoid with shim creation
+      recursiveDeps = filterAttrs f (removeAttrs attrDeps (attrNames requiredDeps));
+    };
+
+    _dependencies = mapDependencies deps (name: dep:
+      dep.pkgName != pkgName);
+    _optionalDependencies = mapDependencies optionalDependencies (name: dep:
+      (builtins.tryEval dep).success &&
+      !(elem dep.pkgName skipOptionalDependencies)
+    );
+    _peerDependencies = mapDependencies peerDependencies (name: dep:
+      dep.pkgName != pkgName);
+
+    requiredDependencies =
+      _dependencies.requiredDeps //
+      _optionalDependencies.requiredDeps //
+      _peerDependencies.requiredDeps;
+
+    recursiveDependencies =
+      _dependencies.recursiveDeps //
+      _optionalDependencies.recursiveDeps //
+      _peerDependencies.recursiveDeps;
+
+    patchShebangs = dir: ''
       node=`type -p node`
       coffee=`type -p coffee || true`
-      find -L $out/lib/node_modules/.bin/* -type f -print0 | \
-        xargs -0 sed --follow-symlinks -i \
+      find -L ${dir} -type f -print0 | xargs -0 grep -Il . | \
+      xargs sed --follow-symlinks -i \
           -e 's@#!/usr/bin/env node@#!'"$node"'@' \
           -e 's@#!/usr/bin/env coffee@#!'"$coffee"'@' \
           -e 's@#!/.*/node@#!'"$node"'@' \
-          -e 's@#!/.*/coffee@#!'"$coffee"'@'
-    fi
-    runHook postInstall
-  '';
-
-  preFixup = concatStringsSep "\n" (map (src: ''
-    find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
-  '') src);
-
-  shellHook = ''
-    ${preShellHook}
-    export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
-    mkdir -p node_modules
-    ${concatStrings (concatMap (dep: map (name: ''
-      ln -sfv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) deps)}
-    ${postShellHook}
-  '';
-} // args // {
-  # Run the node setup hook when this package is a build input
-  propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
-
-  # Make buildNodePackage useful with --run-env
-  nativeBuildInputs = (args.nativeBuildInputs or []) ++ deps ++ peerDependencies ++ neededNatives;
-} )
+          -e 's@#!/.*/coffee@#!'"$coffee"'@' || true
+    '';
+
+  in stdenv.mkDerivation ({
+    inherit src;
+
+    configurePhase = ''
+      runHook preConfigure
+
+      ${patchShebangs "./"}
+
+      # Some version specifiers (latest, unstable, URLs, file paths) force NPM
+      # to make remote connections or consult paths outside the Nix store.
+      # The following JavaScript replaces these by * to prevent that:
+      # Also some packages require a specific npm version because npm may
+      # resovle dependencies differently, but npm is not used by Nix for dependency
+      # reslution, so these requirements are dropped.
+
+      (
+      cat <<EOF
+        var fs = require('fs');
+        var url = require('url');
+
+        /*
+        * Replaces an impure version specification by *
+        */
+        function replaceImpureVersionSpec(versionSpec) {
+            var parsedUrl = url.parse(versionSpec);
+
+            if(versionSpec == "latest" || versionSpec == "unstable" ||
+                versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/' || /^[^/]+\/[^/]+$/.test(versionSpec))
+                return '*';
+            else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||
+                parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:")
+                return '*';
+            else
+                return versionSpec;
+        }
+
+        var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+
+        /* Replace dependencies */
+        if(packageObj.dependencies !== undefined) {
+            for(var dependency in packageObj.dependencies) {
+                var versionSpec = packageObj.dependencies[dependency];
+                packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec);
+            }
+        }
+
+        /* Replace development dependencies */
+        if(packageObj.devDependencies !== undefined) {
+            for(var dependency in packageObj.devDependencies) {
+                var versionSpec = packageObj.devDependencies[dependency];
+                packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
+            }
+        }
+
+        /* Replace optional dependencies */
+        if(packageObj.optionalDependencies !== undefined) {
+            for(var dependency in packageObj.optionalDependencies) {
+                var versionSpec = packageObj.optionalDependencies[dependency];
+                packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
+            }
+        }
+
+        /* Ignore npm version requirement */
+        if(packageObj.engines) {
+            delete packageObj.engines.npm;
+        }
+
+        /* Write the fixed JSON file */
+        fs.writeFileSync("package.json", JSON.stringify(packageObj));
+      EOF
+      ) | node
+
+      # We do not handle shrinkwraps yet
+      rm npm-shrinkwrap.json 2>/dev/null || true
+
+      mkdir ../build-dir
+      (
+        cd ../build-dir
+        mkdir node_modules
+
+        # Symlink or copy dependencies for node modules
+        # copy is needed if dependency has recursive dependencies,
+        # because node can't follow symlinks while resolving recursive deps.
+        ${concatMapStrings (dep:
+          if dep.recursiveDeps == [] then ''
+            ln -sv ${dep}/lib/node_modules/${dep.pkgName} node_modules/
+          '' else ''
+            cp -R ${dep}/lib/node_modules/${dep.pkgName} node_modules/
+          ''
+        ) (attrValues requiredDependencies)}
+
+        # Create shims for recursive dependenceies
+        ${concatMapStrings (dep: ''
+          mkdir -p node_modules/${dep.pkgName}
+          cat > node_modules/${dep.pkgName}/package.json <<EOF
+          {
+              "name": "${dep.pkgName}",
+              "version": "${getVersion dep}"
+          }
+          EOF
+        '') (attrValues recursiveDependencies)}
+      )
+
+      export HOME=$PWD/../build-dir
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+
+      # If source was a file, repackage it, so npm pre/post publish hooks are not triggered,
+      if [[ -f $src ]]; then
+        GZIP=-1 tar -czf ../build-dir/package.tgz ./
+        export src=$HOME/package.tgz
+      else
+        export src=$PWD
+      fi
+
+      # Install package
+      (cd $HOME && npm --registry http://www.example.com --nodedir=${sources} install $src --fetch-retries 0 ${flags})
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      (
+        cd $HOME
+
+        # Remove shims
+        ${concatMapStrings (dep: ''
+          rm node_modules/${dep.pkgName}/package.json
+          rmdir node_modules/${dep.pkgName}
+        '') (attrValues recursiveDependencies)}
+
+        mkdir -p $out/lib/node_modules
+
+        # Install manual
+        mv node_modules/${pkgName} $out/lib/node_modules
+        rm -fR $out/lib/node_modules/${pkgName}/node_modules
+        cp -r node_modules $out/lib/node_modules/${pkgName}/node_modules
+
+        if [ -e "$out/lib/node_modules/${pkgName}/man" ]; then
+          mkdir -p $out/share
+          for dir in "$out/lib/node_modules/${pkgName}/man/"*; do
+            mkdir -p $out/share/man/$(basename "$dir")
+            for page in "$dir"/*; do
+              ln -sv $page $out/share/man/$(basename "$dir")
+            done
+          done
+        fi
+
+        # Move peer dependencies to node_modules
+        ${concatMapStrings (dep: ''
+          mv node_modules/${dep.pkgName} $out/lib/node_modules
+        '') (attrValues _peerDependencies.requiredDeps)}
+
+        # Install binaries and patch shebangs
+        mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
+        if [ -d "$out/lib/node_modules/.bin" ]; then
+          ln -sv $out/lib/node_modules/.bin $out/bin
+          ${patchShebangs "$out/lib/node_modules/.bin/*"}
+        fi
+      )
+
+      runHook postInstall
+    '';
+
+    preFixup = ''
+      find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g'
+    '';
+
+    shellHook = ''
+      ${preShellHook}
+      export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
+      mkdir -p node_modules
+      ${concatMapStrings (dep: ''
+        ln -sfv ${dep}/lib/node_modules/${dep.pkgName} node_modules/
+      '') (attrValues requiredDependencies)}
+      ${postShellHook}
+    '';
+
+    # Stipping does not make a lot of sense in node packages
+    dontStrip = true;
+
+    meta = {
+      inherit platforms;
+      maintainers = [ stdenv.lib.maintainers.offline ];
+    };
+
+    passthru.pkgName = pkgName;
+  } // (filterAttrs (n: v: all (k: n != k) ["deps" "resolvedDeps" "optionalDependencies"]) args) // {
+    name = namePrefix + name;
+
+    # Run the node setup hook when this package is a build input
+    propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ];
+
+    nativeBuildInputs =
+      (args.nativeBuildInputs or []) ++ neededNatives ++
+      (attrValues requiredDependencies);
+
+    # Expose list of recursive dependencies upstream, up to the package that
+    # caused recursive dependency
+    recursiveDeps =
+      (flatten (
+        map (dep: remove name dep.recursiveDeps) (attrValues requiredDependencies)
+      )) ++
+      (attrNames recursiveDependencies);
+  });
+
+in self
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 57968bfe8f4..c4126f0fb5f 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http-parser, c-ares, pkgconfig, runCommand, which }:
+{ stdenv, fetchurl, openssl, python, zlib, libuv, v8, utillinux, http-parser
+, pkgconfig, runCommand, which, unstableVersion ? false
+}:
 
 let
   dtrace = runCommand "dtrace-native" {} ''
@@ -6,17 +8,17 @@ let
     ln -sv /usr/sbin/dtrace $out/bin
   '';
 
-  version = "0.10.30";
+  version = "0.12.0";
 
-  # !!! Should we also do shared libuv?
   deps = {
-    inherit openssl zlib http-parser;
-    cares = c-ares;
+    inherit openssl zlib libuv;
 
     # disabled system v8 because v8 3.14 no longer receives security fixes
     # we fall back to nodejs' internal v8 copy which receives backports for now
     # inherit v8
-  };
+  } // (stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
+    inherit http-parser;
+  });
 
   sharedConfigureFlags = name: [
     "--shared-${name}"
@@ -30,7 +32,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "1li5hs8dada2lj9j82xas39kr1fs0wql9qbly5p2cpszgwqbvz1x";
+    sha256 = "0cifd2qhpyrbxx71a4hsagzk24qas8m5zvwcyhx69cz9yhxf404p";
   };
 
   configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
@@ -50,6 +52,8 @@ in stdenv.mkDerivation {
     ++ optionals stdenv.isDarwin [ pkgconfig dtrace ];
   setupHook = ./setup-hook.sh;
 
+  passthru.interpreterName = "nodejs";
+
   meta = {
     description = "Event-driven I/O framework for the V8 JavaScript engine";
     homepage = http://nodejs.org;
diff --git a/pkgs/development/web/nodejs/v0_10.nix b/pkgs/development/web/nodejs/v0_10.nix
new file mode 100644
index 00000000000..df8321cfca8
--- /dev/null
+++ b/pkgs/development/web/nodejs/v0_10.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http-parser, c-ares
+, pkgconfig, runCommand, which
+}:
+
+let
+  dtrace = runCommand "dtrace-native" {} ''
+    mkdir -p $out/bin
+    ln -sv /usr/sbin/dtrace $out/bin
+  '';
+
+  version = "0.10.38";
+
+  # !!! Should we also do shared libuv?
+  deps = {
+    inherit openssl zlib;
+
+    # disabled system v8 because v8 3.14 no longer receives security fixes
+    # we fall back to nodejs' internal v8 copy which receives backports for now
+    # inherit v8
+  } // (stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
+    inherit http-parser;
+  })
+  // ({ cares = c-ares; });
+
+  sharedConfigureFlags = name: [
+    "--shared-${name}"
+    "--shared-${name}-includes=${builtins.getAttr name deps}/include"
+    "--shared-${name}-libpath=${builtins.getAttr name deps}/lib"
+  ];
+
+  inherit (stdenv.lib) concatMap optional optionals maintainers licenses platforms;
+in stdenv.mkDerivation {
+  name = "nodejs-${version}";
+
+  src = fetchurl {
+    url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
+    sha256 = "12xpa9jzry5g0j41908498qqs8v0q6miqkv6mggyzas8bvnshgai";
+  };
+
+  configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);
+
+  prePatch = ''
+    sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i configure
+  '';
+
+  patches = if stdenv.isDarwin then [ ./no-xcode.patch ] else null;
+
+  postPatch = if stdenv.isDarwin then ''
+    (cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch})
+  '' else null;
+
+  buildInputs = [ python which ]
+    ++ (optional stdenv.isLinux utillinux)
+    ++ optionals stdenv.isDarwin [ pkgconfig openssl dtrace ];
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    description = "Event-driven I/O framework for the V8 JavaScript engine";
+    homepage = http://nodejs.org;
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu maintainers.shlevy ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
index 08987617334..153b165da1e 100644
--- a/pkgs/development/web/remarkjs/default.nix
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -14,11 +14,11 @@ let
 in stdenv.mkDerivation rec {
   name = "remarkjs-${version}";
 
-  version = "0.6.5";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "https://github.com/gnab/remark/archive/v${version}.tar.gz";
-    sha256 = "1bh3hmhq99qqd3qg747xwjqkyppc9vf3b5nhi56556rwc02cn17p";
+    sha256 = "1a2il6aa0g9cnig56ykmq8lr626pbxlsllk6js41h6gcn214rw60";
   };
 
   buildInputs = with nodePackages; [
@@ -58,7 +58,7 @@ in stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://remarkjs.com;
-    description = "A simple, in-browser, markdown-driven slideshow tool.";
+    description = "A simple, in-browser, markdown-driven slideshow tool";
     maintainers = [ stdenv.lib.maintainers.rickynils ];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.mit;
diff --git a/pkgs/development/web/twitter-bootstrap/default.nix b/pkgs/development/web/twitter-bootstrap/default.nix
index 9df7e3126d5..1057e970865 100644
--- a/pkgs/development/web/twitter-bootstrap/default.nix
+++ b/pkgs/development/web/twitter-bootstrap/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchgit, lessc, closurecompiler }:
+{ stdenv, fetchFromGitHub, lessc, closurecompiler }:
 
 stdenv.mkDerivation rec {
   name = "twitter-bootstrap-${version}";
   version = "2.3.2";
 
-  src = fetchgit {
-    url = https://github.com/twitter/bootstrap.git;
-    rev = "refs/tags/v${version}";
-    sha256 = "093z4yxqhrr30vna67ksxz3bq146q2xr05hinh78pg2ls88k77la";
+  src = fetchFromGitHub {
+    owner = "twitter";
+    repo = "bootstrap";
+    rev =  "v${version}";
+    sha256 = "0b4dsk9sqlkwwfgqqjlgi6p05qz2jssmmz4adm83f31sx70lgh4g";
   };  
 
   buildInputs = [ lessc closurecompiler ];
diff --git a/pkgs/development/web/wml/default.nix b/pkgs/development/web/wml/default.nix
new file mode 100644
index 00000000000..6dc7b68c71c
--- /dev/null
+++ b/pkgs/development/web/wml/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, perlPackages, ncurses, lynx, makeWrapper }:
+
+perlPackages.buildPerlPackage rec {
+  name = "wml-2.0.11";
+
+  src = fetchurl {
+    url = "http://thewml.org/distrib/${name}.tar.gz";
+    sha256 = "0jjxpq91x7y2mgixz7ghqp01m24qa37wl3zz515rrzv7x8cyy4cf";
+  };
+
+  # Getting lots of Non-ASCII character errors from pod2man.
+  # Inserting =encoding utf8 before the first =head occurrence.
+  # Wasn't able to fix mp4h.
+  preConfigure = ''
+    touch Makefile.PL
+    for i in wml_backend/p6_asubst/asubst.src wml_aux/freetable/freetable.src wml_docs/*.pod wml_include/des/*.src wml_include/fmt/*.src; do
+      sed -i '0,/^=head/{s/^=head/=encoding utf8\n=head/}' $i
+    done
+    sed -i 's/ doc / /g' wml_backend/p2_mp4h/Makefile.in
+    sed -i '/p2_mp4h\/doc/d' Makefile.in
+  '';
+  
+  buildInputs = [ perlPackages.perl ncurses lynx makeWrapper ];
+
+  patches = [ ./redhat-with-thr.patch ./dynaloader.patch ./no_bitvector.patch ];
+  
+  preFixup = ''
+    substituteInPlace $out/bin/wml \
+      --replace "File::PathConvert::realpath" "Cwd::realpath" \
+      --replace "File::PathConvert::abs2rel" "File::Spec->abs2rel" \
+      --replace "File::PathConvert" "File::Spec"
+
+    wrapProgram $out/bin/wml \
+      --set PERL5LIB ${with perlPackages; stdenv.lib.makePerlPath [
+        BitVector TermReadKey ImageSize
+      ]}
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://thewml.org/;
+    description = "Off-line HTML generation toolkit for Unix";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    # Not sure what broke this build, it used to work
+    broken = true;
+  };
+}
diff --git a/pkgs/development/web/wml/dynaloader.patch b/pkgs/development/web/wml/dynaloader.patch
new file mode 100644
index 00000000000..89b9f0427f9
--- /dev/null
+++ b/pkgs/development/web/wml/dynaloader.patch
@@ -0,0 +1,11 @@
+--- a/wml_backend/p3_eperl/configure	2009-10-03 19:12:29.000000000 -0500
++++ b/wml_backend/p3_eperl/configure	2009-10-03 19:12:45.000000000 -0500
+@@ -678,7 +678,7 @@
+ #define HAVE_PERL_DYNALOADER 1
+ EOF
+ 
+-        perl_dla=$perl_archlib/auto/DynaLoader/DynaLoader.a
++        perl_dla=$perl_archlib/CORE/libperl.so
+         ;;
+     * )
+         rc=no
\ No newline at end of file
diff --git a/pkgs/development/web/wml/no_bitvector.patch b/pkgs/development/web/wml/no_bitvector.patch
new file mode 100644
index 00000000000..d5fe926c4c7
--- /dev/null
+++ b/pkgs/development/web/wml/no_bitvector.patch
@@ -0,0 +1,10 @@
+--- a/wml_common/Makefile.in	2014-12-17 00:28:25.156736048 +0100
++++ b/wml_common/Makefile.in	2014-12-17 00:28:30.501817958 +0100
+@@ -45,7 +45,6 @@
+      have_gd=0
+ 
+ SUBDIRS = \
+-     bitvector \
+      filepathconvert \
+      gd \
+      getoptlong \
diff --git a/pkgs/development/web/wml/redhat-with-thr.patch b/pkgs/development/web/wml/redhat-with-thr.patch
new file mode 100644
index 00000000000..4b06ccb3f56
--- /dev/null
+++ b/pkgs/development/web/wml/redhat-with-thr.patch
@@ -0,0 +1,19 @@
+Description: Fix FTBFS with Perl 5.16
+ Patch taken from Fedora
+Debian-Bug: 676263
+Fedora-Bug: 839609
+Author: Jitka Plesnikova
+Origin: https://bugzilla.redhat.com/show_bug.cgi?id=839609
+
+--- a/wml_backend/p3_eperl/eperl_perl5.h 2012-07-27 10:49:27.048508799 +0200
++++ b/wml_backend/p3_eperl/eperl_perl5.h 2012-07-27 10:50:16.288714291 +0200
+@@ -72,9 +72,6 @@ 
+ #  define PL_curstash curstash
+ #endif
+ 
+-#ifndef WITH_THR
+-#  define PL_defoutgv defoutgv
+-#endif
+ 
+ /*  
+   Initialization of locales when building a new Perl interpreter.
\ No newline at end of file
diff --git a/pkgs/games/0ad/data.nix b/pkgs/games/0ad/data.nix
index 6f3c85183da..d3cc13307e7 100644
--- a/pkgs/games/0ad/data.nix
+++ b/pkgs/games/0ad/data.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-data.tar.xz";
-    sha256 = "0f16d41e81d7349fb16490f3abbfd38bcb3f2b89648355b2b281c5045ddafadc";
+    sha256 = "6bf2234ef5043b14a3bbeda013fefed73ce2e564262f5e03b0801bfe671331d0";
   };
 
   patchPhase = ''
diff --git a/pkgs/games/0ad/default.nix b/pkgs/games/0ad/default.nix
index 78b76f1ac36..9698818c557 100644
--- a/pkgs/games/0ad/default.nix
+++ b/pkgs/games/0ad/default.nix
@@ -9,7 +9,7 @@
 assert withEditor -> wxGTK != null;
 
 let
-  version = "0.0.16";
+  version = "0.0.17";
 
   releaseType = "alpha";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-build.tar.xz";
-    sha256 = "cb965ef7e292bc3a2f1f598a9695e16ff4d786398f384a1ec7d5f9bfe2626de5";
+    sha256 = "ef144d44fe8a8abd29a4642999a58a596b8f0d0e1f310065f5ce1dfbe29c3aeb";
   };
 
   buildInputs = [
@@ -64,6 +64,7 @@ stdenv.mkDerivation rec {
       --bindir="$out"/bin \
       --libdir="$out"/lib/0ad \
       --datadir="$out"/share/0ad \
+      --without-tests \
       gmake
     popd
   '';
@@ -116,6 +117,5 @@ stdenv.mkDerivation rec {
     homepage = "http://wildfiregames.com/0ad/";
     license = [ "GPLv2" "LGPLv2.1" "MIT" "CC BY-SA 3.0" "zlib" ];
     platforms = [ "x86_64-linux" "i686-linux" ];
-    broken = true;
   };
 }
diff --git a/pkgs/games/Allure/default.nix b/pkgs/games/Allure/default.nix
index 532ef092f09..63d6a0a2fb2 100644
--- a/pkgs/games/Allure/default.nix
+++ b/pkgs/games/Allure/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Allure";
-  version = "0.4.99.0";
-  sha256 = "1i4v1h4ynx4aap0nmf8qn2qx22wqfgypr83l7bh38fd4qibsvx3q";
+  version = "0.4.100.0";
+  sha256 = "15rkj5xab23wqr2d44xbri7hggbb3zmmka41xfiscqq4ifagfj4m";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ enummapsetTh filepath LambdaHack text ];
@@ -13,7 +13,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://allureofthestars.com";
     description = "Near-future Sci-Fi roguelike and tactical squad game";
-    license = "unknown";
+    license = "AGPL";
     platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix
index eb4edf2b36a..2130c423cfe 100644
--- a/pkgs/games/LambdaHack/default.nix
+++ b/pkgs/games/LambdaHack/default.nix
@@ -1,28 +1,30 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, assertFailure, async, binary, deepseq, enummapsetTh
-, filepath, gtk, hashable, hsini, keys, miniutter, mtl, prettyShow
-, random, stm, text, transformers, unorderedContainers, vector
-, vectorBinaryInstances, x11, zlib
+{ cabal, assertFailure, async, binary, dataDefault, deepseq
+, enummapsetTh, filepath, gtk, hashable, hsini, keys, miniutter
+, mtl, prettyShow, random, stm, text, transformers
+, unorderedContainers, vector, vectorBinaryInstances, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "LambdaHack";
-  version = "0.4.99.0";
-  sha256 = "1mcz44akf706a0q1xr4h7hlf1gj60570bi8im6jpg73k728314cp";
+  version = "0.4.100.0";
+  sha256 = "15v3aagwsh180603an3wd7rfgbjzgamdw270ciw2m03v8pkg9d28";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    assertFailure async binary deepseq enummapsetTh filepath gtk
-    hashable hsini keys miniutter mtl prettyShow random stm text
-    transformers unorderedContainers vector vectorBinaryInstances zlib
+    assertFailure async binary dataDefault deepseq enummapsetTh
+    filepath gtk hashable hsini keys miniutter mtl prettyShow random
+    stm text transformers unorderedContainers vector
+    vectorBinaryInstances zlib
   ];
   testDepends = [
-    assertFailure async binary deepseq enummapsetTh filepath hashable
-    hsini keys miniutter mtl prettyShow random stm text transformers
-    unorderedContainers vector vectorBinaryInstances zlib
+    assertFailure async binary dataDefault deepseq enummapsetTh
+    filepath hashable hsini keys miniutter mtl prettyShow random stm
+    text transformers unorderedContainers vector vectorBinaryInstances
+    zlib
   ];
-  pkgconfigDepends = [ gtk x11 ];
+  pkgconfigDepends = [ gtk ];
   meta = {
     homepage = "http://github.com/LambdaHack/LambdaHack";
     description = "A game engine library for roguelike dungeon crawlers";
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
index ef5aba96d09..25524528c5c 100644
--- a/pkgs/games/adom/default.nix
+++ b/pkgs/games/adom/default.nix
@@ -7,7 +7,7 @@ let
 
   inherit (xlibs) libXext libX11;
 
-  lpath = "${stdenv.gcc.gcc}/lib64:" + stdenv.lib.makeSearchPath "lib" [
+  lpath = "${stdenv.cc.cc}/lib64:" + stdenv.lib.makeSearchPath "lib" [
       zlib libmad libpng12 libcaca libXext libX11 mesa alsaLib pulseaudio];
 
 in
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     done
 
     ${patchelf}/bin/patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath "$out/lib:${lpath}" \
       $out/adom
 
diff --git a/pkgs/games/andyetitmoves/default.nix b/pkgs/games/andyetitmoves/default.nix
index ae04c57aa26..897e4202b80 100644
--- a/pkgs/games/andyetitmoves/default.nix
+++ b/pkgs/games/andyetitmoves/default.nix
@@ -41,14 +41,14 @@ stdenv.mkDerivation rec {
     mkdir -p $out/{opt/andyetitmoves,bin}
     cp -r * $out/opt/andyetitmoves/
 
-    fullPath=${stdenv.gcc.gcc}/lib64
+    fullPath=${stdenv.cc.cc}/lib64
     for i in $nativeBuildInputs; do
       fullPath=$fullPath''${fullPath:+:}$i/lib
     done
 
     binName=${if commercialVersion then "AndYetItMoves" else "AndYetItMovesDemo"}
 
-    patchelf --set-interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) --set-rpath $fullPath $out/opt/andyetitmoves/lib/$binName
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath $fullPath $out/opt/andyetitmoves/lib/$binName
     cat > $out/bin/$binName << EOF
     #!/bin/sh
     cd $out/opt/andyetitmoves
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index 1925c73b2e4..dab4e2b6aff 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -6,13 +6,16 @@
 
 let
     py = pythonPackages;
-    version = "2.0.28";
+    version = "2.0.32";
 in
 stdenv.mkDerivation rec {
     name = "anki-${version}";
     src = fetchurl {
-      url = "http://ankisrs.net/download/mirror/${name}.tgz";
-      sha256 = "0dj33mlc23y982kcl4h0aganb4fy70rl28mpj2mbcfphykzkv05s";
+      urls = [
+        "http://ankisrs.net/download/mirror/${name}.tgz"
+        "http://ankisrs.net/download/mirror/archive/${name}.tgz"
+      ];
+      sha256 = "0g5rmg0yqh40a3g8ci3y3if7vw4jl5nrpq8ki1a13a3xmgch13rr";
     };
 
     pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy py.pyaudio ]
diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix
index 93297171bcb..5243316734e 100644
--- a/pkgs/games/asc/default.nix
+++ b/pkgs/games/asc/default.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-fpermissive"; # I'm too lazy to catch all gcc47-related problems
 
   buildInputs = [
-    SDL SDL_image SDL_mixer SDL_sound libsigcxx physfs boost expat freetype
-    libjpeg wxGTK lua perl pkgconfig zlib zip bzip2 libpng
+    SDL SDL_image SDL_mixer SDL_sound libsigcxx physfs boost expat
+    freetype libjpeg wxGTK lua perl pkgconfig zlib zip bzip2 libpng
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Turn based strategy game";
 
     longDescription = ''
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.asc-hq.org/;
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with maintainers; [ viric ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix
index a2897a795e8..76aed3f2cc6 100644
--- a/pkgs/games/astromenace/default.nix
+++ b/pkgs/games/astromenace/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Hardcore 3D space shooter with spaceship upgrade possibilities.";
+    description = "Hardcore 3D space shooter with spaceship upgrade possibilities";
     homepage = http://www.viewizard.com/;
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/games/atanks/default.nix b/pkgs/games/atanks/default.nix
index 587fefe600b..edad4b4b456 100644
--- a/pkgs/games/atanks/default.nix
+++ b/pkgs/games/atanks/default.nix
@@ -11,11 +11,11 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="atanks";
-    version = "6.0";
+    version = "6.1";
     name="${baseName}-${version}";
     project="${baseName}";
     url="mirror://sourceforge/project/${project}/${baseName}/${name}/${name}.tar.gz";
-    sha256 = "0460zwzd800vcgsmd1dzb7j5wcy3lf9hsdw152f6p2mbd0nq5pds";
+    sha256 = "1azs9amqkgs7qglx0vk9bg2fhn73lq89372scnfp45hinrh52vqi";
   };
 in
 rec {
diff --git a/pkgs/games/banner/default.nix b/pkgs/games/banner/default.nix
index b443a76b9a7..e0dac80a8fe 100644
--- a/pkgs/games/banner/default.nix
+++ b/pkgs/games/banner/default.nix
@@ -12,9 +12,9 @@ let
       sha256 = hash;
     };
 
-    configurePhase = "make dep";
+    configurePhase = "make dep CC=$CC";
 
-    buildPhase = "make OPTIM='-DNDEBUG -O3'";
+    buildPhase = "make OPTIM='-DNDEBUG -O3' CC=$CC";
 
     installPhase = ''
       make INSTBASEDIR=$out install
diff --git a/pkgs/games/beret/default.nix b/pkgs/games/beret/default.nix
index a92fe4d7c67..b36ec6a43f6 100644
--- a/pkgs/games/beret/default.nix
+++ b/pkgs/games/beret/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = https://gitorious.org/beret/beret/archive-tarball/ae029777;
     name = "beret-1.2.0.tar.gz";
-    sha256 = "0md00ipacvz5mq8q83h7xbzycnwympr06pc1n5c351swjvyw0ysx";
+    sha256 = "1rx9z72id1810fgv8mizk8qxwd1kh5xi07fdhmjc62mh3fn38szc";
   };
 
   installPhase = ''
diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix
index 61e8571c476..42a1b19c4d7 100644
--- a/pkgs/games/blackshades/default.nix
+++ b/pkgs/games/blackshades/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://icculus.org/blackshades/;
     description = "Protect the VIP";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix
index 59423d7a5a6..0709692552c 100644
--- a/pkgs/games/bsdgames/default.nix
+++ b/pkgs/games/bsdgames/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
     bsd_games_cfg_varlibdir=.
     bsd_games_cfg_non_interactive=y
     bsd_games_cfg_no_build_dirs="dab hack phantasia sail"
-    bsd_games_cfg_dictionary_src=${miscfiles}/share/dict/words
+    bsd_games_cfg_dictionary_src=${miscfiles}/share/web2
     bsd_games_cfg_pager=${less}
     EOF
 
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://www.t2-project.org/packages/bsd-games.html";
     description = "Ports of all the games from NetBSD-current that are free";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/games/castle-combat/default.nix b/pkgs/games/castle-combat/default.nix
index a9ed0592385..789b043e18f 100644
--- a/pkgs/games/castle-combat/default.nix
+++ b/pkgs/games/castle-combat/default.nix
@@ -39,8 +39,8 @@ buildPythonPackage rec {
   fixLoaderPath =
     let dollar = "\$"; in
     '' sed -i "$out/bin/castle-combat" \
-           -e "/^exec/ iexport LD_LIBRARY_PATH=\"$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib\:"'${dollar}'"LD_LIBRARY_PATH\"\\
-export LD_LIBRARY_PATH=\"$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64\:"'${dollar}'"LD_LIBRARY_PATH\""
+           -e "/^exec/ iexport LD_LIBRARY_PATH=\"$(cat ${stdenv.cc}/nix-support/orig-cc)/lib\:"'${dollar}'"LD_LIBRARY_PATH\"\\
+export LD_LIBRARY_PATH=\"$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64\:"'${dollar}'"LD_LIBRARY_PATH\""
     '';
       # ^
       # `--- The run-time says: "libgcc_s.so.1 must be installed for
diff --git a/pkgs/games/chocolate-doom/default.nix b/pkgs/games/chocolate-doom/default.nix
new file mode 100644
index 00000000000..75cee19c680
--- /dev/null
+++ b/pkgs/games/chocolate-doom/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, autoconf, automake, pkgconfig, SDL, SDL_mixer, SDL_net, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "chocolate-doom-2.1.0";
+  src = fetchurl {
+    url = "https://github.com/chocolate-doom/chocolate-doom/archive/${name}.tar.gz";
+    sha256 = "1qwnc5j3n99jk35c487mxsij04m4kpkqzkbrb8qwqlsnqllyh1s1";
+  };
+  buildInputs = [ autoconf automake pkgconfig SDL SDL_mixer SDL_net ];
+  patchPhase = ''
+    sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
+    ./autogen.sh --prefix=$out
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://chocolate-doom.org/;
+    description = "A Doom source port that accurately reproduces the experience of Doom as it was played in the 1990s";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch
new file mode 100644
index 00000000000..0e2d335adac
--- /dev/null
+++ b/pkgs/games/crawl/crawl_purify.patch
@@ -0,0 +1,31 @@
+diff --git a/crawl-ref/source/Makefile b/crawl-ref/source/Makefile
+index b7e2fbf..5ff23db 100644
+--- a/crawl-ref/source/Makefile
++++ b/crawl-ref/source/Makefile
+@@ -273,7 +273,7 @@ endif
+ LIBZ := contrib/install/$(ARCH)/lib/libz.a
+ 
+ ifndef CROSSHOST
+-	SQLITE_INCLUDE_DIR := /usr/include
++	SQLITE_INCLUDE_DIR := ${sqlite}/include
+ else
+ 	# This is totally wrong, works only with some old-style setups, and
+ 	# on some architectures of Debian/new FHS multiarch -- excluding, for
+@@ -943,7 +943,7 @@ else
+   SYS_PROPORTIONAL_FONT = $(shell { name=$(OUR_PROPORTIONAL_FONT);\
+     {\
+       fc-list | sed 's/: .*//' | grep -Fi "/$$name";\
+-      for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\
++      for dir in ${dejavu_fonts}/share/fonts;\
+       do [ -d $$dir ] && echo $$dir; done;\
+     } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null)
+   ifneq (,$(SYS_PROPORTIONAL_FONT))
+@@ -968,7 +968,7 @@ else
+   SYS_MONOSPACED_FONT = $(shell { name=$(OUR_MONOSPACED_FONT);\
+     {\
+       fc-list | sed 's/: .*//' | grep -Fi "/$$name";\
+-      for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\
++      for dir in ${dejavu_fonts}/share/fonts;\
+       do [ -d $$dir ] && echo $$dir; done;\
+     } | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null)
+   ifneq (,$(SYS_MONOSPACED_FONT))
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 6cb48d85f85..e99df5e6c74 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,24 +1,56 @@
-{ stdenv, fetchurl, sqlite, lua, which, zlib, pkgconfig, dejavu_fonts,
-  libpng, perl, SDL, SDL_image, ncurses, mesa}:
+{ stdenv, fetchFromGitHub, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses
+, dejavu_fonts, libpng, SDL2, SDL2_image, mesa, freetype
+, tileMode ? true
+}:
 
+let version = "0.16.1";
+in
 stdenv.mkDerivation rec {
-   name = "crawl-0.14.1";
-   src = fetchurl {
-      url = "http://downloads.sourceforge.net/project/crawl-ref/Stone%20Soup/0.14.1/stone_soup-0.14.1-nodeps.tar.xz";
-      sha256 = "91726d0224b93ba26b5d4bd3762bc5aabe1f02974ea6c937be89dc6c6ab7a4dd";
-      };
+  name = "crawl-${version}" + (if tileMode then "-tiles" else "");
+  src = fetchFromGitHub {
+    owner = "crawl-ref";
+    repo = "crawl-ref";
+    rev = version;
+    sha256 = "0gciqaij05qr5bwkk5mblvk5k0p6bzjd58czk1b6x5xx5qcp6mmh";
+  };
 
-   patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch
-               ./makefile_rltiles.patch ./makefile_rltiles2.patch
-               ./makefile_misc.patch ./makefile_prefix.patch
-   ];
+  patches = [ ./crawl_purify.patch ];
 
-   buildInputs = [stdenv pkgconfig lua zlib sqlite which libpng perl SDL
-                  dejavu_fonts SDL_image ncurses mesa];
+  nativeBuildInputs = [ pkgconfig which perl ];
 
-   preBuild = "cd source";
+  # Still unstable with luajit
+  buildInputs = [ lua5_1 zlib sqlite ncurses ]
+             ++ stdenv.lib.optionals tileMode
+                [ libpng SDL2 SDL2_image freetype mesa ];
 
-   makeFlags = "TILES=y";
+  preBuild = ''
+    cd crawl-ref/source
+    echo "${version}" > util/release_ver
+    # Related to issue #1963
+    sed -i 's/-fuse-ld=gold//g' Makefile
+    for i in util/*; do
+      patchShebangs $i
+    done
+    patchShebangs util/gen-mi-enum
+  '';
 
-   inherit dejavu_fonts sqlite SDL_image SDL;
+  makeFlags = [ "prefix=$(out)" "FORCE_CC=gcc" "FORCE_CXX=g++" "HOSTCXX=g++"
+                "SAVEDIR=~/.crawl" "sqlite=${sqlite}" ]
+           ++ stdenv.lib.optionals tileMode [ "TILES=y" "dejavu_fonts=${dejavu_fonts}" ];
+
+  postInstall = if tileMode then "mv $out/bin/crawl $out/bin/crawl-tiles" else "";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Open-source, single-player, role-playing roguelike game";
+    longDescription = ''
+      Open-source, single-player, role-playing roguelike game of exploration and
+      treasure-hunting in dungeons filled with dangerous and unfriendly monsters
+      in a quest to rescue the mystifyingly fabulous Orb of Zot.
+    '';
+    platforms = platforms.linux;
+    license = with licenses; [ gpl2Plus bsd2 bsd3 mit licenses.zlib cc0 ];
+    maintainers = [ maintainers.abbradar ];
+  };
 }
diff --git a/pkgs/games/crawl/makefile_fonts.patch b/pkgs/games/crawl/makefile_fonts.patch
deleted file mode 100644
index 6c73407b65c..00000000000
--- a/pkgs/games/crawl/makefile_fonts.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- old/source/Makefile	2013-11-28 01:03:54.000000000 +0000
-+++ new/source/Makefile	2014-02-05 14:04:32.531838188 +0000
-@@ -880,7 +880,7 @@
-     INSTALL_FONTS += $(PROPORTIONAL_FONT)
-   endif
- else
--  SYS_PROPORTIONAL_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
-+  SYS_PROPORTIONAL_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
-   ifeq (,$(SYS_PROPORTIONAL_FONT))
-     SYS_PROPORTIONAL_FONT = $(shell dir=/usr/local/share/fonts ; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
-   endif
-@@ -903,7 +903,7 @@
-     INSTALL_FONTS += $(MONOSPACED_FONT)
-   endif
- else
--  SYS_MONOSPACED_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
-+  SYS_MONOSPACED_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
-   ifeq (,$(SYS_MONOSPACED_FONT))
-     SYS_MONOSPACED_FONT = $(shell dir=/usr/local/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
-   endif
diff --git a/pkgs/games/crawl/makefile_misc.patch b/pkgs/games/crawl/makefile_misc.patch
deleted file mode 100644
index 3849e79234b..00000000000
--- a/pkgs/games/crawl/makefile_misc.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- old/source/Makefile	2014-05-05 23:22:48.051952484 +0200
-+++ new/source/Makefile	2014-05-05 23:20:46.576617833 +0200
-@@ -71,6 +71,9 @@
- 
- GAME = crawl
- 
-+
-+CFLAGS := $(NIX_CFLAGS_COMPILE)
-+
- # Disable GNU Make implicit rules and variables. Leaving them enabled will slow
- # down MinGW and Cygwin builds by a very VERY noticeable degree. Besides, we have
- # _explicit_ rules defined for everything. So we don't need them.
-@@ -979,7 +983,7 @@
- ifdef ANDROID
- CFLAGS   := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN) $(CFLAGS)
- else
--CFLAGS   := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN)
-+CFLAGS   := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN) $(CFLAGS)
- endif
- CFLAGS_L := $(CFOPTIMIZE_L) $(DEFINES_L) $(CFWARN_L) $(INCLUDES_L) $(CFOTHERS_L)
- ALL_CFLAGS := $(CFLAGS) $(CFLAGS_L)
-@@ -1392,7 +1396,7 @@
- 	$(RM) -r $(DOXYGEN_HTML_GEN)
- 
- $(GAME): $(OBJECTS) $(EXTRA_OBJECTS) $(CONTRIB_LIBS) dat/dlua/tags.lua
--	+$(QUIET_LINK)$(CXX) $(LDFLAGS) $(EXTRA_OBJECTS) $(OBJECTS) -o $(GAME) $(LIBS)
-+	g++ $(LDFLAGS) $(EXTRA_OBJECTS) $(OBJECTS) -o $(GAME) $(LIBS)
- 
- debug: all
- debug-lite: all
-@@ -1492,7 +1496,7 @@
- 	$(QUIET_GEN)util/gen-luatags.pl
- 
- mi-enum.h: mon-info.h util/gen-mi-enum
--	$(QUIET_GEN)util/gen-mi-enum
-+	perl util/gen-mi-enum
- 
- $(RLTILES)/dc-unrand.txt: art-data.h
- 
diff --git a/pkgs/games/crawl/makefile_prefix.patch b/pkgs/games/crawl/makefile_prefix.patch
deleted file mode 100644
index 869d703b125..00000000000
--- a/pkgs/games/crawl/makefile_prefix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- old/source/Makefile	2014-05-06 08:52:24.752163702 +0200
-+++ new/source/Makefile	2014-05-06 09:08:01.992018819 +0200
-@@ -344,7 +344,7 @@
- endif
- 
- chroot_prefix :=
--prefix        :=
-+prefix        := $(out)
- 
- ifeq ($(patsubst %/local,%,$(patsubst %/,%,$(prefix))),/usr)
- FHS := yes
diff --git a/pkgs/games/crawl/makefile_rltiles.patch b/pkgs/games/crawl/makefile_rltiles.patch
deleted file mode 100644
index e08859c989b..00000000000
--- a/pkgs/games/crawl/makefile_rltiles.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- old/source/rltiles/Makefile	2014-04-17 10:17:31.596400123 +0000
-+++ new/source/rltiles/Makefile	2014-04-17 14:36:07.263108690 +0000
-@@ -20,7 +20,8 @@
- 
- ifdef TILES
-   ifndef CONTRIB_SDL
--    SDL_CFLAGS := $(shell sdl-config --cflags 2> /dev/null || echo "-I../contrib/install/$(ARCH)/include/SDL")
-+    SDL_CFLAGS := $(shell sdl-config --cflags 2> /dev/null)
-+    SDL_IMG_CFLAGS := $(shell pkg-config --cflags-only-I SDL_image 2> /dev/null)
-     SDL_LDFLAGS := $(shell sdl-config --libs 2> /dev/null && echo "-lSDL_image" || echo "../contrib/install/$(ARCH)/lib/libSDL.a ../contrib/install/$(ARCH)/lib/libSDLmain.a ../contrib/install/$(ARCH)/lib/libSDL_image.a")
-   else
-     SDL_CFLAGS := -I../contrib/install/$(ARCH)/include/SDL
-@@ -35,7 +36,7 @@
-     PNG_LIB := ../contrib/install/$(ARCH)/lib/libpng.a ../contrib/install/$(ARCH)/lib/libz.a
-   endif
- 
--  CFLAGS += $(SDL_CFLAGS) $(PNG_INCLUDE)
-+  CFLAGS += $(SDL_CFLAGS) $(SDL_IMG_CFLAGS) $(PNG_INCLUDE) -I$(SDL_image)/include -I$(SDL)/include
-   LDFLAGS += $(SDL_LDFLAGS) $(PNG_LIB)
- 
-   CFLAGS += -DUSE_TILE
diff --git a/pkgs/games/crawl/makefile_rltiles2.patch b/pkgs/games/crawl/makefile_rltiles2.patch
deleted file mode 100644
index 2508ad0a54c..00000000000
--- a/pkgs/games/crawl/makefile_rltiles2.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- old/source/rltiles/Makefile	2014-05-05 23:22:48.054952469 +0200
-+++ new/source/rltiles/Makefile	2014-05-05 22:45:07.742667726 +0200
-@@ -142,6 +128,6 @@
- 	$(QUIET_HOSTCXX)$(HOSTCXX) $(CFLAGS) -MMD -c $< -o $@
- 
- $(TILEGEN): $(OBJECTS)
--	$(QUIET_HOSTLINK)$(HOSTCXX) $(OBJECTS) -o $@ $(LDFLAGS)
-+	g++ $(OBJECTS) -o $@ $(LDFLAGS)
- 
- .PHONY: all clean distclean
diff --git a/pkgs/games/crawl/makefile_sdlimg.patch b/pkgs/games/crawl/makefile_sdlimg.patch
deleted file mode 100644
index e6c7101de72..00000000000
--- a/pkgs/games/crawl/makefile_sdlimg.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- old/source/Makefile	2014-04-14 13:00:22.331058910 +0000
-+++ new/source/Makefile	2014-04-14 13:02:11.102204544 +0000
-@@ -672,6 +672,7 @@
- FREETYPE_LDFLAGS := $(shell $(PKGCONFIG) freetype2 --libs-only-L) $(shell $(PKGCONFIG) freetype2 --libs-only-l)
- 
- SDL_INCLUDE := $(shell $(PKGCONFIG) sdl --cflags-only-I)
-+SDL_IMG_INCLUDE := $(shell $(PKGCONFIG) SDL_image --cflags-only-I)
- SDL_CFLAGS  := $(shell $(PKGCONFIG) sdl --cflags-only-other)
- SDL_LDFLAGS := $(shell $(PKGCONFIG) sdl --libs-only-L) $(shell $(PKGCONFIG) sdl --libs-only-l)
- 
-@@ -694,7 +695,7 @@
- endif
- 
- DEFINES_L += $(PNG_CFLAGS) $(FREETYPE_CFLAGS) $(SDL_CFLAGS)
--INCLUDES_L += $(PNG_INCLUDE) $(FREETYPE_INCLUDE) $(SDL_INCLUDE)
-+INCLUDES_L += $(PNG_INCLUDE) $(FREETYPE_INCLUDE) $(SDL_INCLUDE) $(SDL_IMG_INCLUDE)
- 
- endif # TILES
- 
diff --git a/pkgs/games/crawl/makefile_sqlite.patch b/pkgs/games/crawl/makefile_sqlite.patch
deleted file mode 100644
index fbcb925d608..00000000000
--- a/pkgs/games/crawl/makefile_sqlite.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- old/source/Makefile	2014-04-14 12:46:35.401956673 +0000
-+++ new/source/Makefile	2014-04-14 12:47:12.757006254 +0000
-@@ -259,7 +259,7 @@
- LIBZ := contrib/install/$(ARCH)/lib/libz.a
- 
- ifndef CROSSHOST
--	SQLITE_INCLUDE_DIR := /usr/include
-+	SQLITE_INCLUDE_DIR := ${sqlite}/include
- else
- 	# This is totally wrong, works only with some old-style setups, and
- 	# on some architectures of Debian/new FHS multiarch -- excluding, for
diff --git a/pkgs/games/d1x-rebirth/default.nix b/pkgs/games/d1x-rebirth/default.nix
index ca348592d1d..ab8c76680d4 100644
--- a/pkgs/games/d1x-rebirth/default.nix
+++ b/pkgs/games/d1x-rebirth/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.dxx-rebirth.com/;
     description = "Source Port of the Descent 1 engine";
-    license = "BSD"; # Parallax license, like BSD I think
+    license = stdenv.lib.licenses.mit;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
diff --git a/pkgs/games/d2x-rebirth/default.nix b/pkgs/games/d2x-rebirth/default.nix
index 644c2703599..58df972257e 100644
--- a/pkgs/games/d2x-rebirth/default.nix
+++ b/pkgs/games/d2x-rebirth/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.dxx-rebirth.com/;
     description = "Source Port of the Descent 2 engine";
-    license = "BSD"; # Parallax license, like BSD I think
+    license = stdenv.lib.licenses.mit;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index 6e53aff65a5..4e34453a1e8 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -1,19 +1,42 @@
-{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gtk, glib, mesa, openal, glibc, libsndfile
-, copyDataDirectory ? false }:
+{ stdenv, fetchgit, fetchurl, cmake, glew, ncurses
+, SDL, SDL_image, SDL_ttf, gtk2, glib
+, mesa, openal, pango, atk, gdk_pixbuf, glibc, libsndfile }:
+
+let
+  baseVersion = "40";
+  patchVersion = "24";
+  srcs = {
+    df_unfuck = fetchgit {
+      url = "https://github.com/svenstaro/dwarf_fortress_unfuck";
+      rev = "39742d64d2886fb594d79e7cc4b98fb917f26811";
+      sha256 = "19vwx6kpv1sf93bx5v8x47f7x2cgxsqk82v6j1a72sa3q7m5cpc7";
+    };
+
+    df = fetchurl {
+      url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_linux.tar.bz2";
+      sha256 = "0d4jrs45qj89vq9mjg7fxxhis7zivvb0vzjpmkk274b778kccdys";
+    };
+  };
+
+in
 
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  name = "dwarf-fortress-0.34.11";
+  name = "dwarf-fortress-0.${baseVersion}.${patchVersion}";
 
-  src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_34_11_linux.tar.bz2";
-    sha256 = "1qk9vmdxzs0li81c8bglpj3m7aw9k71x1slf58hv2bz7hdndl3kj";
-  };
+  inherit baseVersion patchVersion;
 
-  phases = "unpackPhase patchPhase installPhase";
+  buildInputs = [ SDL SDL_image SDL_ttf gtk2 glib glew mesa ncurses openal glibc libsndfile pango atk cmake gdk_pixbuf];
+  src = "${srcs.df_unfuck} ${srcs.df}";
+  phases = "unpackPhase patchPhase configurePhase buildPhase installPhase";
 
-  /* :TODO: Game options should be configurable by patching the default configuration files */
+  sourceRoot = srcs.df_unfuck.name;
+
+  cmakeFlags = [
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
+  ];
 
   permission = ./df_permission;
 
@@ -21,72 +44,63 @@ stdenv.mkDerivation rec {
     set -x
     mkdir -p $out/bin
     mkdir -p $out/share/df_linux
-    cp -r * $out/share/df_linux
+    cd ../../
+    cp -r ./df_linux/* $out/share/df_linux
+    rm $out/share/df_linux/libs/lib*
+
+    # Store the original hash for dwarf-therapist 
+    echo $(md5sum $out/share/df_linux/libs/Dwarf_Fortress | cut -c1-8) > $out/share/df_linux/hash.md5.orig
+    # Fix rpath
+    patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc ]}:$out/share/df_linux/libs"  $out/share/df_linux/libs/Dwarf_Fortress
+    cp -f ./${srcs.df_unfuck.name}/build/libgraphics.so $out/share/df_linux/libs/libgraphics.so
+
     cp $permission $out/share/df_linux/nix_permission
 
     patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 $out/share/df_linux/libs/Dwarf_Fortress
-    ln -s ${libsndfile}/lib/libsndfile.so $out/share/df_linux/libs/
+
+    # Store new hash for dwarf-therapist
+    echo $(md5sum $out/share/df_linux/libs/Dwarf_Fortress | cut -c1-8) > $out/share/df_linux/hash.md5.patched
 
     cat > $out/bin/dwarf-fortress << EOF
-    #!${stdenv.shell}
-    export DF_DIR="\$HOME/.config/df_linux"
-    if [ -n "\$XDG_DATA_HOME" ]
-     then export DF_DIR="\$XDG_DATA_HOME/df_linux"
-    fi
-
-    # Recreate a directory structure reflecting the original
-    # distribution in the user directory (for modding support)
-    ${if copyDataDirectory then ''
-      if [ ! -d "\$DF_DIR" ];
-      then
-        mkdir -p \$DF_DIR
-        cp -r $out/share/df_linux/* \$DF_DIR/
-        chmod -R u+rw \$DF_DIR/
+      #!${stdenv.shell}
+      
+      set -ex
+
+      export DF_DIR="\$HOME/.config/df_linux"
+      if [ -n "\$XDG_DATA_HOME" ]
+       then export DF_DIR="\$XDG_DATA_HOME/df_linux"
       fi
-    '' else ''
-      # Link in the static stuff
-      mkdir -p \$DF_DIR
-      ln -sf $out/share/df_linux/libs \$DF_DIR/
-      ln -sf $out/share/df_linux/raw \$DF_DIR/
-      ln -sf $out/share/df_linux/df \$DF_DIR/
-
-      # Delete old data directory
-      rm -rf \$DF_DIR/data
-
-      # Link in the static data directory
-      mkdir \$DF_DIR/data
-      for i in $out/share/df_linux/data/*
-      do
-       ln -s \$i \$DF_DIR/data/
-      done
 
-      # index initial_movies, announcement, dipscript and help files are as of 0.31.16 opened in read/write mode instead of read-only mode
-      # this is a hack to work around this
-      # Should I just apply this to the whole data directory?
-      for i in index initial_movies announcement dipscript help
-      do
-       rm \$DF_DIR/data/\$i
-       cp -rf $out/share/df_linux/data/\$i \$DF_DIR/data/
-       chmod -R u+w \$DF_DIR/data/\$i
+      if [[ ! -d "\$DF_DIR" ]]; then
+          mkdir -p "\$DF_DIR"
+          ln -s $out/share/df_linux/raw "\$DF_DIR/raw"
+          ln -s $out/share/df_linux/libs "\$DF_DIR/libs"
+          mkdir -p "\$DF_DIR/data/init"
+          cp -rn $out/share/df_linux/data/init "\$DF_DIR/data/"
+      fi
+
+      for link in announcement art dipscript help index initial_movies movies shader.fs shader.vs sound speech; do
+          cp -r $out/share/df_linux/data/\$link "\$DF_DIR/data/\$link"
+          chmod -R u+rw "\$DF_DIR/data/\$link"
       done
 
-      # link in persistant data
-      mkdir -p \$DF_DIR/save
-      ln -s \$DF_DIR/save \$DF_DIR/data/
-    ''}
+      # now run Dwarf Fortress!
+      export LD_LIBRARY_PATH=\${stdenv.cc}/lib:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk2}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/:${libsndfile}/lib:\$DF_DIR/df_linux/libs/
+
+      export SDL_DISABLE_LOCK_KEYS=1 # Work around for bug in Debian/Ubuntu SDL patch.
+      #export SDL_VIDEO_CENTERED=1    # Centre the screen.  Messes up resizing.
 
-    # now run Dwarf Fortress!
-    export LD_LIBRARY_PATH=\$DF_DIR/df_linux/libs/:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/
-    \$DF_DIR/df "\$@"
+      cd \$DF_DIR
+      $out/share/df_linux/libs/Dwarf_Fortress "$@"
     EOF
 
     chmod +x $out/bin/dwarf-fortress
   '';
 
   meta = {
-      description = "control a dwarven outpost or an adventurer in a randomly generated, persistent world";
-      homepage = http://www.bay12games.com/dwarves;
-      license = "unfree-redistributable";
-      maintainers = [stdenv.lib.maintainers.roconnor];
+    description = "A single-player fantasy game with a randomly generated adventure world";
+    homepage = http://www.bay12games.com/dwarves;
+    license = stdenv.lib.licenses.unfreeRedistributable;
+    maintainers = with stdenv.lib.maintainers; [ roconnor the-kenny ];
   };
 }
diff --git a/pkgs/games/dwarf-fortress/df2014.nix b/pkgs/games/dwarf-fortress/df2014.nix
deleted file mode 100644
index 6a0d30ea89f..00000000000
--- a/pkgs/games/dwarf-fortress/df2014.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gtk, glib, mesa, openal, glibc, libsndfile
-, copyDataDirectory ? false }:
-
-assert stdenv.system == "i686-linux";
-
-stdenv.mkDerivation rec {
-  name = "dwarf-fortress-0.40.05";
-
-  src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_40_05_linux.tar.bz2";
-    sha256 = "1b9nd33yz5a945v9jyqii1k4s71i701m2d0h7fw6f5g9p6nvx43s";
-  };
-
-  phases = "unpackPhase patchPhase installPhase";
-
-  /* :TODO: Game options should be configurable by patching the default configuration files */
-
-  permission = ./df_permission;
-
-  installPhase = ''
-    set -x
-    mkdir -p $out/bin
-    mkdir -p $out/share/df_linux
-    cp -r * $out/share/df_linux
-    cp $permission $out/share/df_linux/nix_permission
-
-    patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 $out/share/df_linux/libs/Dwarf_Fortress
-    ln -s ${libsndfile}/lib/libsndfile.so $out/share/df_linux/libs/
-
-    cat > $out/bin/dwarf-fortress << EOF
-    #!${stdenv.shell}
-    export DF_DIR="\$HOME/.config/df_linux"
-    if [ -n "\$XDG_DATA_HOME" ]
-     then export DF_DIR="\$XDG_DATA_HOME/df_linux"
-    fi
-
-    # Recreate a directory structure reflecting the original
-    # distribution in the user directory (for modding support)
-    ${if copyDataDirectory then ''
-      if [ ! -d "\$DF_DIR" ];
-      then
-        mkdir -p \$DF_DIR
-        cp -r $out/share/df_linux/* \$DF_DIR/
-        chmod -R u+rw \$DF_DIR/
-      fi
-    '' else ''
-      # Link in the static stuff
-      mkdir -p \$DF_DIR
-      ln -sf $out/share/df_linux/libs \$DF_DIR/
-      ln -sf $out/share/df_linux/raw \$DF_DIR/
-      ln -sf $out/share/df_linux/df \$DF_DIR/
-
-      # Delete old data directory
-      rm -rf \$DF_DIR/data
-
-      # Link in the static data directory
-      mkdir \$DF_DIR/data
-      for i in $out/share/df_linux/data/*
-      do
-       ln -s \$i \$DF_DIR/data/
-      done
-
-      # link in persistant data
-      mkdir -p \$DF_DIR/save
-      ln -s \$DF_DIR/save \$DF_DIR/data/
-    ''}
-
-    # now run Dwarf Fortress!
-    export LD_LIBRARY_PATH=\$DF_DIR/df_linux/libs/:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gtk}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/
-    \$DF_DIR/df "\$@"
-    EOF
-
-    chmod +x $out/bin/dwarf-fortress
-  '';
-
-  meta = {
-      description = "control a dwarven outpost or an adventurer in a randomly generated, persistent world";
-      homepage = http://www.bay12games.com/dwarves;
-      license = "unfree-redistributable";
-      maintainers = [stdenv.lib.maintainers.roconnor];
-  };
-}
diff --git a/pkgs/games/dwarf-therapist/default.nix b/pkgs/games/dwarf-therapist/default.nix
index 8cc1b9933cd..6d7eaf30736 100644
--- a/pkgs/games/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-therapist/default.nix
@@ -1,39 +1,26 @@
-{ stdenv, coreutils, fetchhg, qt4, dwarf_fortress, bash, makeWrapper }:
+{ stdenv, coreutils, fetchgit, qt4, dwarf_fortress, bash, makeWrapper }:
 
+let
+  version = "30.2.0pre";
+  df = dwarf_fortress;
+in
 stdenv.mkDerivation rec {
-  name = "dwarf-therapist-${rev}";
-  rev = "eeeac8544d94";
+  name = "dwarf-therapist-${version}";
 
-  src = fetchhg {
-    url = "https://code.google.com/r/splintermind-attributes/";
-    inherit rev;
-    sha256 = "0a9m967q6p2q3plrl6qysg1xrdmg65jzil6awjh2wr3g10x2x15z";
+  src = fetchgit {
+    url = "https://github.com/splintermind/Dwarf-Therapist.git";
+    rev = "65bb15a29d616d788c20a3344058b7277e4fadba";
+    sha256 = "1q1n9sm0lgmn52m4aigb22cdfbh2s569y1mn5cmimgj600i6c2f2";
   };
 
   # Needed for hashing
-  dwarfBinary = "${dwarf_fortress}/share/df_linux/libs/Dwarf_Fortress";
+  dfHashFile = "${df}/share/df_linux/hash.md5";
 
-  buildInputs = [ coreutils qt4 dwarf_fortress makeWrapper ];
+  buildInputs = [ coreutils qt4 df makeWrapper ];
   enableParallelBuilding = false;
 
-  preConfigure = ''
-    substituteInPlace dwarftherapist.pro \
-      --replace /usr/bin $out/bin     \
-      --replace /usr/share $out/share \
-      --replace "INSTALLS += doc" ""
-  '';
-
-  preBuild = ''
-    # Log to current directory, otherwise it crashes if log/ doesn't
-    # exist Note: Whis is broken because we cd to the nix store in the
-    # wrapper-script
-    substituteInPlace src/dwarftherapist.cpp \
-      --replace "log/run.log" "dwarf-therapist.log"
-  '';
-
-  buildPhase = ''
-    qmake INSTALL_PREFIX=$out;
-    make;
+  configurePhase = ''
+    qmake PREFIX=$out
   '';
 
   postInstall = ''
@@ -46,8 +33,8 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     # Fix checksum of memory access directives
-    substituteInPlace $out/share/dwarftherapist/etc/memory_layouts/linux/v034.11.ini \
-      --replace "e966ee88" $(md5sum ${dwarfBinary} | cut -c1-8)
+    substituteInPlace $out/share/dwarftherapist/memory_layouts/linux/v0${df.baseVersion}.${df.patchVersion}.ini \
+      --replace $(cat "${dfHashFile}.orig") $(cat "${dfHashFile}.patched")
   '';
 
   meta = {
@@ -58,4 +45,4 @@ stdenv.mkDerivation rec {
     hydraPlatforms = [];
     homepage = https://code.google.com/r/splintermind-attributes/;
   };
-}
+} 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 4f1b126ac47..cc47f948240 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "eduke32-20130303-3542";
-  
+
   src = fetchurl {
     url = http://dukeworld.duke4.net/eduke32/synthesis/20130303-3542/eduke32_src_20130303-3542.tar.bz2;
     sha256 = "0v1q2bkmpnac5l9x97nnlhrrb95518vmhxx48zv3ncvmpafl1mqc";
   };
-  
+
   buildInputs = [ SDL SDL_mixer libvorbis mesa gtk pkgconfig libvpx flac ]
     ++ stdenv.lib.optional (stdenv.system == "i686-linux") nasm;
-  
+
   NIX_CFLAGS_COMPILE = "-I${SDL}/include/SDL";
   NIX_LDFLAGS = "-L${SDL}/lib -lgcc_s";
-  
+
   desktopItem = makeDesktopItem {
     name = "eduke32";
     exec = "eduke32-wrapper";
@@ -26,42 +26,42 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     sed -i -e "s|/usr/bin/sdl-config|${SDL}/bin/sdl-config|" build/Makefile.shared
   '';
-  
+
   buildPhase = ''
-    make OPTLEVEL=0
+    make OPTLEVEL=0 USE_LIBPNG=0
   '';
 
   installPhase = ''
     # Install binaries
     mkdir -p $out/bin
-    cp eduke32 mapster32 $out/bin 
-    
+    cp eduke32 mapster32 $out/bin
+
     # Make wrapper script
     cat > $out/bin/eduke32-wrapper <<EOF
     #!/bin/sh
-    
+
     if [ "$EDUKE32_DATA_DIR" = "" ]
-    then 
+    then
         EDUKE32_DATA_DIR=/var/lib/games/eduke32
     fi
     if [ "$EDUKE32_GRP_FILE" = "" ]
     then
         EDUKE32_GRP_FILE=\$EDUKE32_DATA_DIR/DUKE3D.GRP
     fi
-    
+
     cd \$EDUKE32_DATA_DIR
-    eduke32 -g \$EDUKE32_GRP_FILE    
+    eduke32 -g \$EDUKE32_GRP_FILE
     EOF
     chmod 755 $out/bin/eduke32-wrapper
-    
+
     # Install desktop item
     mkdir -p $out/share/applications
     cp ${desktopItem}/share/applications/* $out/share/applications
   '';
-  
+
   meta = {
     description = "Enhanched port of Duke Nukem 3D for various platforms";
-    license = "GPLv2+ and BUILD license";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://eduke32.com;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
diff --git a/pkgs/games/eternity-engine/default.nix b/pkgs/games/eternity-engine/default.nix
new file mode 100644
index 00000000000..f9ff7a5ae0c
--- /dev/null
+++ b/pkgs/games/eternity-engine/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, cmake, mesa, SDL, SDL_mixer, SDL_net, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "eternity-engine-3.40.46";
+  src = fetchurl {
+    url = https://github.com/team-eternity/eternity/archive/3.40.46.tar.gz;
+    sha256 = "0jq8q0agw7lgab9q2h8wcaakvg913l9j3a6ss0hn9661plkw2yb4";
+  };
+
+  cmakeFlags = ''
+    -DCMAKE_BUILD_TYPE=Release
+  '';
+
+  buildInputs = [ stdenv cmake mesa SDL SDL_mixer SDL_net ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+  mkdir -p $out/bin
+  cp source/eternity $out/bin
+  '';
+
+  meta = {
+    homepage = http://doomworld.com/eternity;
+    description = "New school Doom port by James Haley";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index e35eb3266c2..af80467c960 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -1,34 +1,38 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, mesa, libX11, xproto, tcl, freeglut
+, SDL, SDL_mixer, SDL_image, libXi, inputproto
+, libXmu, libXext, xextproto, libXt, libSM, libICE
+, libpng, pkgconfig, gettext, intltool
+}:
 
-  version = a.lib.attrByPath ["version"] "0.5beta" a; 
-  buildInputs = with a; [
+stdenv.mkDerivation rec {
+  version = "0.6.0";
+  name = "extremetuxracer-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz";
+    sha256 = "0fl9pwkywqnsmgr6plfj9zb05xrdnl5xb2hcmbjk7ap9l4cjfca4";
+  };
+
+  buildInputs = [
     mesa libX11 xproto tcl freeglut
-    SDL SDL_mixer libXi inputproto
+    SDL SDL_mixer SDL_image libXi inputproto
     libXmu libXext xextproto libXt libSM libICE
     libpng pkgconfig gettext intltool
   ];
-in
-rec {
-  src = fetchurl {
-    url = "mirror://sourceforge/extremetuxracer/extremetuxracer-${version}.tar.gz";
-    sha256 = "04d99fsfna5mc9apjxsiyw0zgnswy33kwmm1s9d03ihw6rba2zxs";
-  };
 
-  inherit buildInputs;
-  configureFlags = [
-  		"--with-tcl=${a.tcl}/lib"
-  	];
+  configureFlags = [ "--with-tcl=${tcl}/lib" ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL}/include/SDL"
+  '';
 
-  name = "extremetuxracer-" + version;
   meta = {
     description = "High speed arctic racing game based on Tux Racer";
     longDescription = ''
       ExtremeTuxRacer - Tux lies on his belly and accelerates down ice slopes.
     '';
+    license = stdenv.lib.licenses.gpl2Plus;
+    homepage = http://sourceforge.net/projects/extremetuxracer/;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/games/fairymax/default.nix b/pkgs/games/fairymax/default.nix
new file mode 100644
index 00000000000..3ae4ee7f205
--- /dev/null
+++ b/pkgs/games/fairymax/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+stdenv.mkDerivation rec {
+  name = "fairymax-${version}";
+  version = "4.8";
+  src = fetchurl {
+    url = "http://home.hccnet.nl/h.g.muller/fmax4_8w.c";
+    sha256 = "01vxhpa4z0613mkgkzmsln293wxmyp5kdzil93cd1ik51q4gwjca";
+  };
+  ini = fetchurl {
+    url = "http://home.hccnet.nl/h.g.muller/fmax.ini";
+    sha256 = "1zwx70g3gspbqx1zf9gm1may8jrli9idalvskxbdg33qgjys47cn";
+  };
+  unpackPhase = ''
+    cp ${src} fairymax.c
+    cp ${ini} fmax.ini
+  '';
+  buildPhase = ''
+    gcc *.c -o fairymax -DINI_FILE='"'"$out/share/fairymax/fmax.ini"'"'
+  '';
+  installPhase = ''
+    mkdir -p "$out"/{bin,share/fairymax}
+    cp fairymax "$out/bin"
+    cp fmax.ini "$out/share/fairymax"
+  '';
+  meta = {
+    inherit version;
+    description = ''A small chess engine supporting fairy pieces'';
+    longDescription = ''
+       A version of micro-Max that reads the piece description
+       from a file fmax.ini, so that arbitrary fairy pieces can be
+       implemented. This version (4.8J) supports up to 15 piece types,
+       and board sizes up to 12x8. A Linux port exists in the
+       format of a debian package.
+    '';
+    license = stdenv.lib.licenses.free ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://home.hccnet.nl/h.g.muller/dwnldpage.html";
+  };
+}
diff --git a/pkgs/games/fish-fillets-ng/default.nix b/pkgs/games/fish-fillets-ng/default.nix
new file mode 100644
index 00000000000..e9d6ce9655b
--- /dev/null
+++ b/pkgs/games/fish-fillets-ng/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, SDL, lua5_1, pkgconfig, SDL_mixer, SDL_image, SDL_ttf}:
+stdenv.mkDerivation rec {
+  name = "fish-fillets-ng-${version}";
+  version = "1.0.1";
+  src = fetchurl {
+    url = "mirror://sourceforge/fillets/fillets-ng-${version}.tar.gz";
+    sha256 = "1nljp75aqqb35qq3x7abhs2kp69vjcj0h1vxcpdyn2yn2nalv6ij";
+  };
+  data = fetchurl {
+    url = "mirror://sourceforge/fillets/fillets-ng-data-${version}.tar.gz";
+    sha256 = "169p0yqh2gxvhdilvjc2ld8aap7lv2nhkhkg4i1hlmgc6pxpkjgh";
+  };
+  buildInputs = [SDL lua5_1 pkgconfig SDL_mixer SDL_image SDL_ttf];
+  postInstall=''
+    mkdir -p "$out/share/games/fillets-ng/"
+    tar -xf ${data} -C "$out/share/games/fillets-ng/" --strip-components=1
+  '';
+  meta = {
+    inherit version;
+    description = ''A puzzle game'';
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://fillets.sourceforge.net/";
+  };
+}
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 31ae3aa3aa4..b1371e2f478 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -2,21 +2,21 @@
 , freeglut, freealut, mesa, libICE, libjpeg, openal, openscenegraph, plib
 , libSM, libunwind, libX11, xproto, libXext, xextproto, libXi, inputproto
 , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr
-, makeDesktopItem
+, makeDesktopItem, qt5
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.0";
+  version = "3.4.0";
   name = "flightgear-${version}";
 
   src = fetchurl {
-    url = "http://ftp.linux.kiev.ua/pub/fgfs/Source/${name}.tar.bz2";
-    sha256 = "1sd6ic9rrcgrqvc6ywkasj2pnmmmdv1i2rlyac2a882rh8i1kgz4";
+    url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Source/${name}.tar.bz2";
+    sha256 = "102pg7mahgxzypvyp76x363qy3a4gxavr4hj16gsha07nl2msr5m";
   };
 
   datasrc = fetchurl {
     url = "http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-${version}.tar.bz2";
-    sha256 = "0mq5hkh8zgm129mg1ij3rrk7h2xs9ijxa7d7hipjlp6mcyhlk0q4";
+    sha256 = "12qjvycizg693g5jj5qyp1jiwwywg6p9fg6j3zjxhx6r4g1sgvwc";
   };
 
   # Of all the files in the source and data archives, there doesn't seem to be
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     freeglut freealut mesa libICE libjpeg openal openscenegraph plib
     libSM libunwind libX11 xproto libXext xextproto libXi inputproto
-    libXmu libXt simgear zlib boost cmake libpng udev fltk13 apr
+    libXmu libXt simgear zlib boost cmake libpng udev fltk13 apr qt5.base
   ];
 
   preConfigure = ''
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index a4579ad2ae3..12182b8712c 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -45,6 +45,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Falling Sand Game - a cellular automata engine tuned towards the likes of Falling Sand";
+    description = "Cellular automata engine tuned towards the likes of Falling Sand";
+    maintainers = [stdenv.lib.maintainers.raskin];
   };
 }
diff --git a/pkgs/games/gemrb/default.nix b/pkgs/games/gemrb/default.nix
index dc89e405e24..86da7686eef 100644
--- a/pkgs/games/gemrb/default.nix
+++ b/pkgs/games/gemrb/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, cmake, SDL, openal, zlib, libpng, python, libvorbis }:
 
-assert stdenv.gcc.libc != null;
+assert stdenv.cc.libc != null;
 
 stdenv.mkDerivation rec {
   name = "gemrb-0.8.1";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   # TODO: make libpng, libvorbis, sdl_mixer, freetype, vlc, glew (and other gl reqs) optional
 
   # Necessary to find libdl.
-  CMAKE_LIBRARY_PATH = "${stdenv.gcc.libc}/lib";
+  CMAKE_LIBRARY_PATH = "${stdenv.cc.libc}/lib";
 
   # Can't have -werror because of the Vorbis header files.
   cmakeFlags = "-DDISABLE_WERROR=ON -DCMAKE_VERBOSE_MAKEFILE=ON";
diff --git a/pkgs/games/globulation/default.nix b/pkgs/games/globulation/default.nix
index f1ffec85566..ed134bcf3c9 100644
--- a/pkgs/games/globulation/default.nix
+++ b/pkgs/games/globulation/default.nix
@@ -1,79 +1,50 @@
-x@{builderDefsPackage
-  , mesa, SDL, scons, SDL_ttf, SDL_image, zlib, SDL_net, speex, libvorbis
-  , libogg, boost, fribidi, bsdiff
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-   baseName="glob2";
-    version="0.9.4";
-    patchlevel="4";
-    name="${baseName}-${version}.${patchlevel}";
-    url="mirror://savannah/glob2/${version}/${name}.tar.gz";
-    hash="1f0l2cqp2g3llhr9jl6jj15k0wb5q8n29vqj99xy4p5hqs78jk8g";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  tutorial4patch = a.fetchurl {
+{ stdenv, fetchurl, mesa, SDL, scons, SDL_ttf, SDL_image, zlib, SDL_net
+, speex, libvorbis, libogg, boost, fribidi, bsdiff
+}:
+let
+  version = "0.9.4";
+  patchlevel = "4";
+  tutorial4patch = fetchurl {
     url = "http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=34;filename=tutorial-part4.map.bspatch;att=1;bug=595448";
     name = "globulation2-tutorial4-map-patch-debian.bspatch";
     sha256 = "d3511ac0f822d512c42abd34b3122f2990862d3d0af6ce464ff372f5bd7f35e9";
   };
+in
+stdenv.mkDerivation rec {
+  name = "glob2-${version}.${patchlevel}";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doUnpack" "doPatch" "doBspatch" "workaroundScons" "doScons"];
+  src = fetchurl {
+    url = "mirror://savannah/glob2/${version}/${name}.tar.gz";
+    sha256 = "1f0l2cqp2g3llhr9jl6jj15k0wb5q8n29vqj99xy4p5hqs78jk8g";
+  };
 
-  patches = [./header-order.patch];
+  patches = [ ./header-order.patch ];
 
-  doBspatch = a.fullDepEntry ''
+  postPatch = ''
     cp campaigns/tutorial-part4.map{,.orig}
     bspatch  campaigns/tutorial-part4.map{.orig,} ${tutorial4patch}
-  '' ["minInit" "doUnpack" "addInputs"];
+    sed -i -e "s@env = Environment()@env = Environment( ENV = os.environ )@" SConstruct
+  '';
 
-  # FIXME
-  # I officially fail to understand what goes on, but that seems to work
-  # too well not to use. Yes, it is ugly, I know...
-  workaroundScons = a.fullDepEntry ''
-    echo '#! ${a.stdenv.shell}' >> o
-    echo 'g++ -o "$@"' >> o
-    chmod a+x o
-    export PATH="$PATH:$PWD"
-  '' ["minInit"];
+  buildInputs = [ mesa SDL scons SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ];
 
-  sconsFlags = [
-    "DATADIR=$out/share/globulation2/glob2"
-    "BINDIR=$out/bin"
-    "INSTALLDIR=$out/share/globulation2"
-  ];
+  buildPhase = ''
+    scons
+  '';
+
+  installPhase = ''
+    scons install \
+      BINDIR=$out/bin \
+      INSTALLDIR=$out/share/globulation2 \
+      DATADIR=$out/share/globulation2/glob2
+  '';
       
-  meta = {
+  meta = with stdenv.lib; {
     description = "RTS without micromanagement";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl3;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://globulation2.org/wiki/Download_and_Install";
-    };
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
   };
-}) x
+  passthru.updateInfo.downloadPage = "http://globulation2.org/wiki/Download_and_Install";
+}
 
diff --git a/pkgs/games/gltron/default.nix b/pkgs/games/gltron/default.nix
index d925c8810bf..77d122b3611 100644
--- a/pkgs/games/gltron/default.nix
+++ b/pkgs/games/gltron/default.nix
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gentoo-prototypes.patch ];
 
+  postPatch = ''
+     # Fix http://sourceforge.net/p/gltron/bugs/15
+     sed -i /__USE_MISC/d lua/src/lib/liolib.c
+  '';
+
   # The build fails, unless we disable the default -Wall -Werror
   configureFlags = "--disable-warn";
 
diff --git a/pkgs/games/gnubg/default.nix b/pkgs/games/gnubg/default.nix
new file mode 100644
index 00000000000..00ae4e28860
--- /dev/null
+++ b/pkgs/games/gnubg/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, glib, python, gtk2 }:
+
+let version = "1.04.000"; in
+stdenv.mkDerivation {
+  name = "gnubg-"+version;
+
+  src = fetchurl {
+    url = "http://gnubg.org/media/sources/gnubg-release-${version}-sources.tar.gz";
+    sha256 = "0gsfl6qbj529d1jg3bkyj9m7bvb566wd7pq5fslgg5yn6c6rbjk6";
+  };
+
+  buildInputs = [ pkgconfig python glib gtk2 ];
+
+  configureFlags = [ "--with-gtk" "--with--board3d" ];
+
+  meta = with stdenv.lib;
+    { description = "World class backgammon application.";
+      homepage = http://www.gnubg.org/;
+      license = licenses.gpl3;
+      maintainers = [ maintainers.emery ];
+      platforms = platforms.linux;
+    };
+}
diff --git a/pkgs/games/gnuchess/default.nix b/pkgs/games/gnuchess/default.nix
index 90a4a069c2a..99ca90f5e2f 100644
--- a/pkgs/games/gnuchess/default.nix
+++ b/pkgs/games/gnuchess/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="gnuchess";
-    version="6.1.2";
+    version="6.2.1";
     name="${baseName}-${version}";
-    hash="15k6w9gycp566i0pa7ccajj9v3pw1mz1v62g1ni7czgs3j7i588l";
-    url="http://ftp.gnu.org/gnu/chess/gnuchess-6.1.2.tar.gz";
-    sha256="15k6w9gycp566i0pa7ccajj9v3pw1mz1v62g1ni7czgs3j7i588l";
+    hash="01pdmsxvgzi4fmvsclvy123z5js2aa81fjx12z5pni1ramrapjhp";
+    url="http://ftp.gnu.org/gnu/chess/gnuchess-6.2.1.tar.gz";
+    sha256="01pdmsxvgzi4fmvsclvy123z5js2aa81fjx12z5pni1ramrapjhp";
   };
   buildInputs = [
     flex
diff --git a/pkgs/games/gsb/default.nix b/pkgs/games/gsb/default.nix
index 757d3cf7681..642a86ac4de 100644
--- a/pkgs/games/gsb/default.nix
+++ b/pkgs/games/gsb/default.nix
@@ -25,18 +25,18 @@ stdenv.mkDerivation rec {
   phases = "unpackPhase installPhase";
 
   # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ] 
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ] 
     + ":" + stdenv.lib.makeLibraryPath [ SDL SDL_image libjpeg62 libpng12 mesa ]
     + ":" + stdenv.lib.makeLibraryPath [ curl3 openal libvorbis libogg ]
     + ":" + stdenv.lib.makeLibraryPath [ libX11 libXext libXft fontconfig zlib ]
-    + ":" + stdenv.gcc.gcc + "/lib64";
+    + ":" + stdenv.cc.cc + "/lib64";
 
   installPhase = ''
     mkdir -p $out/libexec/positech/GSB/
     mkdir -p $out/bin
 
     patchelf \
-      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath $libPath \
       ./GSB.bin.$arch
 
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index 3db7aecfe1a..c47a2317b0e 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -1,20 +1,26 @@
-{stdenv, fetchurl, ncurses}:
+{stdenv, fetchurl, makeWrapper, ncurses, perl, fortune}:
 
-stdenv.mkDerivation {
-  name = "gtypist-2.9.4";
+stdenv.mkDerivation rec {
+  name = "gtypist-${version}";
+  version = "2.9.5";
 
   src = fetchurl {
-    url = "mirror://gnu/gtypist/gtypist-2.9.4.tar.xz";
-    sha256 = "18f54lh7ihhfvgwk3xd9d087kmganrgi2jd7avhvwn5gcc31vrqq";
+    url = "mirror://gnu/gtypist/gtypist-${version}.tar.xz";
+    sha256 = "0xzrkkmj0b1dw3yr0m9hml2y634cc4h61im6zwcq57s7285z8fn1";
   };
 
-  buildInputs = [ncurses];
+  buildInputs = [ makeWrapper ncurses perl fortune ];
 
-  patchPhase = "sed -e 's#ncursesw/##' -i configure src/*";
+  preFixup = ''
+     wrapProgram "$out/bin/typefortune" \
+       --prefix PATH : "${fortune}/bin" \
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnu.org/software/gtypist;
     description = "Universal typing tutor";
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/games/hawkthorne/default.nix b/pkgs/games/hawkthorne/default.nix
new file mode 100644
index 00000000000..e720211da30
--- /dev/null
+++ b/pkgs/games/hawkthorne/default.nix
@@ -0,0 +1,38 @@
+{ fetchgit, stdenv, love, curl, zip }:
+
+stdenv.mkDerivation rec {
+  version = "0.12.1";
+  name = "hawkthorne-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/hawkthorne/hawkthorne-journey.git";
+    rev = "610b9b3907b2a1b21da2ae926e4c7c4c9e19959b";
+    sha256 = "0n2fkk34wr3kyzfhz2mbrzn94vjivblqk2xaid5mj7ls0ymxbmgd";
+  };
+
+  buildInputs = [
+    love curl zip
+  ];
+
+  patches = [
+    ./makefile.patch
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Journey to the Center of Hawkthorne - A fan-made retro-style game based on the show Community";
+    longDescription = ''
+      Journey to the Center of Hawkthorne is an open source game written in Love2D.
+      It's based on the show Community, starring Jim Rash and Joel McHale as
+      the primary will-they-or-won't-they relationship.
+
+      This game has been entirely developed by fans of the show, who were inspired
+      to bring to life the video game used to determine the winner of Pierce
+      Hawthorne's inheritance.
+    '';
+    homepage = "http://www.reddit.com/r/hawkthorne";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ campadrenalin ];
+  };
+}
diff --git a/pkgs/games/hawkthorne/makefile.patch b/pkgs/games/hawkthorne/makefile.patch
new file mode 100644
index 00000000000..16a79683149
--- /dev/null
+++ b/pkgs/games/hawkthorne/makefile.patch
@@ -0,0 +1,33 @@
+diff --git a/Makefile b/Makefile
+index 55eb817..f3406aa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -18,10 +18,14 @@ endif
+
+ tilemaps := $(patsubst %.tmx,%.lua,$(wildcard src/maps/*.tmx))
+
+-maps: $(tilemaps)
+-
+ love: build/hawkthorne.love
+
++shebang: build/hawkthorne.love
++	cat <(echo '#!/usr/bin/env love') build/hawkthorne.love > build/hawkthorne
++	chmod +x build/hawkthorne
++
++maps: $(tilemaps)
++
+ build/hawkthorne.love: $(tilemaps) src/*
+ 	mkdir -p build
+ 	cd src && zip --symlinks -q -r ../build/hawkthorne.love . -x ".*" \
+@@ -30,6 +34,12 @@ build/hawkthorne.love: $(tilemaps) src/*
+ run: $(tilemaps) $(LOVE)
+ 	$(LOVE) src
+
++check: test
++
++install: shebang
++	mkdir -p $(out)/bin
++	cp build/hawkthorne $(out)/bin
++
+ src/maps/%.lua: src/maps/%.tmx bin/tmx2lua
+ 	bin/tmx2lua $<
diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
new file mode 100644
index 00000000000..3768375d625
--- /dev/null
+++ b/pkgs/games/hedgewars/default.nix
@@ -0,0 +1,69 @@
+{ SDL_image, SDL_ttf, SDL_net, fpc, qt4 , ghc, ffmpeg, freeglut, network, vector
+, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL, SDL_mixer
+, utf8String, bytestringShow, hslogger, random, dataenc, zlib, libpng, mesa
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.9.20.5";
+  name = "hedgewars-${version}";
+  src = fetchurl {
+    url = "http://download.gna.org/hedgewars/hedgewars-src-${version}.tar.bz2";
+    sha256 = "1k5dq14s9pshrqlz8vnix237bcapfif4k3rc4yj4cmwdx1pqkl56";
+  };
+
+  buildInputs = [
+    SDL_ttf SDL_net network vector utf8String bytestringShow hslogger random
+    cmake pkgconfig lua5_1 SDL SDL_mixer SDL_image fpc qt4 ghc ffmpeg freeglut
+    dataenc makeWrapper
+  ];
+
+  patches = [ ./fix-ghc-7.8-build-failure.diff ];
+
+  preBuild = ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL_image}/lib
+                                     -rpath ${SDL_mixer}/lib
+                                     -rpath ${SDL_net}/lib
+                                     -rpath ${SDL_ttf}/lib
+                                     -rpath ${SDL}/lib
+                                     -rpath ${libpng}/lib
+                                     -rpath ${lua5_1}/lib
+                                     -rpath ${mesa}/lib
+                                     -rpath ${zlib}/lib
+                                     "
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/hwengine --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH:${mesa}/lib/:${freeglut}/lib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Turn-based strategy artillery game similar to Worms";
+    homepage = http://hedgewars.org/;
+    license = licenses.gpl2;
+    longDescription = ''
+       Each player controls a team of several hedgehogs. During the course of
+       the game, players take turns with one of their hedgehogs. They then use
+       whatever tools and weapons are available to attack and kill the
+       opponents' hedgehogs, thereby winning the game. Hedgehogs may move
+       around the terrain in a variety of ways, normally by walking and jumping
+       but also by using particular tools such as the "Rope" or "Parachute", to
+       move to otherwise inaccessible areas. Each turn is time-limited to
+       ensure that players do not hold up the game with excessive thinking or
+       moving.
+
+       A large variety of tools and weapons are available for players during
+       the game: Grenade, Cluster Bomb, Bazooka, UFO, Homing Bee, Shotgun,
+       Desert Eagle, Fire Punch, Baseball Bat, Dynamite, Mine, Rope, Pneumatic
+       pick, Parachute. Most weapons, when used, cause explosions that deform
+       the terrain, removing circular chunks. The landscape is an island
+       floating on a body of water, or a restricted cave with water at the
+       bottom. A hedgehog dies when it enters the water (either by falling off
+       the island, or through a hole in the bottom of it), it is thrown off
+       either side of the arena or when its health is reduced, typically from
+       contact with explosions, to zero (the damage dealt to the attacked
+       hedgehog or hedgehogs after a player's or CPU turn is shown only when
+       all movement on the battlefield has ceased).'';
+    maintainers = maintainers.kragniz;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/games/hedgewars/fix-ghc-7.8-build-failure.diff b/pkgs/games/hedgewars/fix-ghc-7.8-build-failure.diff
new file mode 100644
index 00000000000..7974c6797fc
--- /dev/null
+++ b/pkgs/games/hedgewars/fix-ghc-7.8-build-failure.diff
@@ -0,0 +1,16 @@
+## fix-ghc-7.8-build-failure.diff [diff]
+diff --git a/gameServer/Actions.hs b/gameServer/Actions.hs
+index 2cebe4f..355ee26 100644
+--- a/gameServer/Actions.hs
++++ b/gameServer/Actions.hs
+@@ -562,7 +562,7 @@ processAction (AddClient cl) = do
+     si <- gets serverInfo
+     newClId <- io $ do
+         ci <- addClient rnc cl
+-        _ <- Exception.mask (forkIO . clientRecvLoop (clientSocket cl) (coreChan si) (sendChan cl) ci)
++        _ <- Exception.mask (\x -> forkIO $ clientRecvLoop (clientSocket cl) (coreChan si) (sendChan cl) ci x)
+ 
+         infoM "Clients" (show ci ++ ": New client. Time: " ++ show (connectTime cl))
+ 
+
+
diff --git a/pkgs/games/hexen/default.nix b/pkgs/games/hexen/default.nix
index c97ba4d5bf4..9e8d3ce0b8e 100644
--- a/pkgs/games/hexen/default.nix
+++ b/pkgs/games/hexen/default.nix
@@ -12,6 +12,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.libsdl.org/projects/hexen/;
     description = "Port of Raven Software's popular Hexen 3-D shooter game";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix
index 8668de26a19..f00da83f628 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 = "1.9.1";
+  version = "2.2.3";
 
   # I took several games at random from http://instead.syscall.ru/games/
   games = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/project/instead/instead/${version}/instead_${version}.tar.gz";
-    sha256 = "f5577c5118b5f4a2897c7bb26f3ad7993005dbf0ae8fe762b4434e1151ddb430";
+    sha256 = "0g01z5z7777pwlsv63gwx4ly61hgqxv53hhb6g22dc5ydaq4965h";
   };
 
   NIX_LDFLAGS = "-llua -lgcc_s";
@@ -56,10 +56,11 @@ stdenv.mkDerivation rec {
     popd
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Simple text adventure interpreter for Unix and Windows";
     homepage = http://instead.syscall.ru/;
     license = stdenv.lib.licenses.gpl2;
     platforms = with stdenv.lib.platforms; linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/games/keen4/default.nix b/pkgs/games/keen4/default.nix
index 4d6189603a9..562df3ac1b6 100644
--- a/pkgs/games/keen4/default.nix
+++ b/pkgs/games/keen4/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
 
   dist = fetchurl {
     url = http://tarballs.nixos.org/keen4.zip;
-    md5 = "ffcdd9e3bce224d92797166bc3f56f1c";
+    sha256 = "12rnc9ksl7v6l8wsxvr26ylkafzq80dbsa7yafzw9pqc8pafkhx1";
   };
 
   buildInputs = [unzip];
diff --git a/pkgs/games/klavaro/default.nix b/pkgs/games/klavaro/default.nix
index c7b40db5caf..48b25d99492 100644
--- a/pkgs/games/klavaro/default.nix
+++ b/pkgs/games/klavaro/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, intltool, curl, gtk, gtkdatabox }:
+{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, curl, gtk3 }:
 
 stdenv.mkDerivation rec {
-  name = "klavaro-2.00";
+  name = "klavaro-3.01";
 
   src = fetchurl {
     url = "mirror://sourceforge/klavaro/${name}.tar.bz2";
-    sha256 = "1w94r7r132sg7554xhcgvymxxxgfas99lkgv6j3nmxa8m2fzhwlq";
+    sha256 = "11ay04lg362bh2di6y5r9g58bgmgbpwwnrbsa7bda4wiq8idawgd";
   };
 
-  buildInputs = [ pkgconfig intltool curl gtk gtkdatabox ];
+  buildInputs = [ makeWrapper pkgconfig intltool curl gtk3 ];
+
+  postInstall = ''
+    wrapProgram $out/bin/klavaro \
+      --prefix LD_LIBRARY_PATH : $out/lib
+  '';
 
   meta = {
     description = "Just another free touch typing tutor program";
-
+    homepage = http://klavaro.sourceforge.net/;
     license = stdenv.lib.licenses.gpl3Plus;
-
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/games/megaglest/default.nix b/pkgs/games/megaglest/default.nix
new file mode 100644
index 00000000000..2de42fd86ee
--- /dev/null
+++ b/pkgs/games/megaglest/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchgit, cmake, git, curl, SDL, xercesc, openal, lua
+, libjpeg, wxGTK, cppunit, ftgl, glew, libogg, libvorbis, buildEnv, libpng
+, fontconfig, freetype, xlibs, makeWrapper, bash, which, gnome3, mesa_glu
+, mesa_drivers }:
+let
+  version = "3.9.2";
+  lib-env = buildEnv {
+    name = "megaglest-lib-env";
+    paths = [ SDL xlibs.libSM xlibs.libICE xlibs.libX11 xlibs.libXext
+      xercesc openal libvorbis lua libjpeg libpng curl fontconfig ftgl freetype
+      stdenv.cc.cc glew mesa_glu mesa_drivers wxGTK ];
+  };
+  path-env = buildEnv {
+    name = "megaglest-path-env";
+    paths = [ bash which gnome3.zenity ];
+  };
+in
+stdenv.mkDerivation {
+  name = "megaglest-${version}";
+
+  src = fetchgit {
+    url = "git://github.com/MegaGlest/megaglest-source";
+    rev = "refs/tags/${version}";
+    sha256 = "0jdgcpsv16vdxkwym7pw764pggifn4g98f3dzg615xl9h4wkymm0";
+  };
+
+  buildInputs = [ cmake git curl SDL xercesc openal lua libjpeg wxGTK
+    cppunit ftgl glew libogg libvorbis makeWrapper mesa_glu mesa_drivers ];
+
+  configurePhase = ''
+    cmake -DCMAKE_INSTALL_PREFIX=$out -DBUILD_MEGAGLEST_TESTS=ON
+  '';
+
+  postInstall =  ''
+    for i in $out/bin/*; do
+      wrapProgram $i \
+        --prefix LD_LIBRARY_PATH ":" "${lib-env}/lib" \
+        --prefix PATH ":" "${path-env}/bin"
+    done
+  '';
+
+  meta = {
+    description = "MegaGlest is an entertaining free (freeware and free software) and open source cross-platform 3D real-time strategy (RTS) game";
+    license = stdenv.lib.licenses.gpl3;
+    homepage = "http://megaglest.org/";
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
index 12497579bdc..a30c0e17489 100644
--- a/pkgs/games/minecraft-server/default.nix
+++ b/pkgs/games/minecraft-server/default.nix
@@ -1,14 +1,12 @@
 { stdenv, fetchurl, jre }:
 
-with import <nixpkgs> {};
-
 stdenv.mkDerivation rec {
   name    = "minecraft-server-${version}";
-  version = "1.7.10";
+  version = "1.8.1";
 
   src  = fetchurl {
     url    = "http://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar";
-    sha256 = "1z7kf8wm27yq10rnlwlig7c2vc45x3sfbxslw4lxh9201kq70267";
+    sha256 = "0icqkcj28l69p618vh0aah9cnvpwgvwsqlw1n5cph23q38d5lpzg";
   };
 
   installPhase = ''
@@ -30,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://minecraft.net";
     license     = stdenv.lib.licenses.unfreeRedistributable;
     platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice stdenv.lib.maintainers.tomberek ];
   };
 }
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 9f79dd70c6a..3198ad785f0 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm
-, mesa, openal, alsaOss }:
+, mesa, openal, alsaOss, pulseaudioSupport ? false, pulseaudio }:
 
 assert jre ? architecture;
 
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
 
     # wrapper for minecraft
     export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${jre}/lib/${jre.architecture}/:${libX11}/lib/:${libXext}/lib/:${libXcursor}/lib/:${libXrandr}/lib/:${libXxf86vm}/lib/:${mesa}/lib/:${openal}/lib/
-    ${alsaOss}/bin/aoss ${jre}/bin/java -jar $out/minecraft.jar
+    ${if pulseaudioSupport then "${pulseaudio}/bin/padsp" else "${alsaOss}/bin/aoss" } \
+      ${jre}/bin/java -jar $out/minecraft.jar
     EOF
 
     chmod +x $out/bin/minecraft
@@ -33,6 +34,6 @@ stdenv.mkDerivation {
       description = "A sandbox-building game";
       homepage = http://www.minecraft.net;
       maintainers = [ stdenv.lib.maintainers.page ];
-      license = "unfree-redistributable";
+      license = stdenv.lib.licenses.unfreeRedistributable;
   };
 }
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index f19596789ce..6c53bc3fdb3 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -7,10 +7,12 @@ let
     src = fetchgit {
       url = "https://github.com/celeron55/minetest.git";
       rev = "ab06fca4bed26f3dc97d5e5cff437d075d7acff8";
+      sha256 = "033gajwxgs8dqxb8684waaav28s0qd6cd4rlzfldwgdbkwam9cb1";
     };
     data = fetchgit {
       url = "https://github.com/celeron55/minetest_game.git";
       rev = "3928eccf74af0288d12ffb14f8222fae479bc06b";
+      sha256 = "1gw2267bnqwfpnm7iq014y1vkb1v3nhpg1dmg9vgm9z5yja2blif";
     };
   };
 in stdenv.mkDerivation {
diff --git a/pkgs/games/mnemosyne/default.nix b/pkgs/games/mnemosyne/default.nix
index 1d23640ce8b..e01999b2ecc 100644
--- a/pkgs/games/mnemosyne/default.nix
+++ b/pkgs/games/mnemosyne/default.nix
@@ -6,13 +6,13 @@
 , cherrypy
 , sqlite3
 }:
-let 
-  version = "2.2.1";
+let
+  version = "2.3.2";
 in buildPythonPackage rec {
   name = "mnemosyne-${version}";
   src = fetchurl {
     url    = "http://sourceforge.net/projects/mnemosyne-proj/files/mnemosyne/${name}/Mnemosyne-${version}.tar.gz";
-    sha256 = "7f5dd06a879b9ab059592355412182ee286e78e124aa25d588cacf9e4ab7c423";
+    sha256 = "0jkrw45i4v24p6xyq94z7rz5948h7f5dspgs5mcdaslnlp2accfp";
   };
   pythonPath = [
     pyqt4
@@ -26,8 +26,8 @@ in buildPythonPackage rec {
   '';
   installCommand = "python setup.py install --prefix=$out";
   meta = {
-    homepage = "http://mnemosyne-proj.org/";
-    description = "Spaced-repetition software.";
+    homepage = http://mnemosyne-proj.org/;
+    description = "Spaced-repetition software";
     longDescription = ''
       The Mnemosyne Project has two aspects:
 
@@ -51,7 +51,7 @@ in buildPythonPackage rec {
       uploaded to a central server for analysis. This data will be valuable to
       study the behaviour of our memory over a very long time period. The
       results will be used to improve the scheduling algorithms behind the
-      software even further.  
+      software even further.
     '';
   };
 }
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
new file mode 100644
index 00000000000..6fa0b8144d4
--- /dev/null
+++ b/pkgs/games/mudlet/default.nix
@@ -0,0 +1,40 @@
+{ fetchurl, pkgs, stdenv, makeWrapper, qt5, yajl, libzip, hunspell, boost, lua5_1, luafilesystem, luazip, lrexlib, luasqlite3 }:
+
+stdenv.mkDerivation rec {
+  name = "mudlet-${version}";
+  version = "3.0.0-delta";
+
+  src = fetchurl {
+    url = "https://github.com/Mudlet/Mudlet/archive/Mudlet-${version}.tar.gz";
+    sha256 = "08fhqd323kgz5s17ac5z9dhkjxcmwvcmvhzy0x1vw4rayhijfrd7";
+  };
+
+  buildInputs = [ pkgs.unzip qt5.base lua5_1 hunspell libzip yajl boost makeWrapper luafilesystem luazip lrexlib luasqlite3 ];
+
+  configurePhase = "cd src && qmake";
+
+  installPhase = let
+    luaZipPath = "${luazip}/lib/lua/5.1/?.so";
+    luaFileSystemPath = "${luafilesystem}/lib/lua/5.1/?.so";
+    lrexlibPath = "${lrexlib}/lib/lua/5.1/?.so";
+    luasqlitePath = "${luasqlite3}/lib/lua/5.1/?.so";
+  in ''
+    mkdir -pv $out/bin
+    cp mudlet $out
+    cp -r mudlet-lua $out
+
+    makeWrapper $out/mudlet $out/bin/mudlet \
+      --set LUA_CPATH "\"${luaFileSystemPath};${luaZipPath};${lrexlibPath};${luasqlitePath}\"" \
+      --run "cd $out";
+  '';
+
+  patches = [ ./libs.patch ];
+
+  meta = {
+    description = "Crossplatform mud client";
+    homepage = http://mudlet.org/;
+    maintainers = [ stdenv.lib.maintainers.wyvie ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/games/mudlet/libs.patch b/pkgs/games/mudlet/libs.patch
new file mode 100644
index 00000000000..3943c16e0ea
--- /dev/null
+++ b/pkgs/games/mudlet/libs.patch
@@ -0,0 +1,13 @@
+--- a/src/src.pro	2014-09-05 12:51:09.000000000 +0400
++++ b/src/src.pro	2014-09-15 16:54:34.812560065 +0400
+@@ -85,8 +85,8 @@
+ # Again according to FHS /usr/local/share/games is the corresponding place for locally built games documentation:
+     isEmpty( DOCDIR ) DOCDIR = $${DATAROOTDIR}/doc/mudlet
+     LIBS += -lpcre \
+-        -llua5.1 \
+-        -lhunspell \
++        -llua \
++        -lhunspell-1.3 \
+         -L/usr/local/lib/ \
+         -lyajl \
+         -lGLU \
diff --git a/pkgs/games/n2048/default.nix b/pkgs/games/n2048/default.nix
new file mode 100644
index 00000000000..f5ff0b4690e
--- /dev/null
+++ b/pkgs/games/n2048/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, ncurses}:
+let
+  s = 
+  rec {
+    baseName = "n2048";
+    version = "0.1";
+    name = "${baseName}-${version}";
+    url = "http://www.dettus.net/n2048/${baseName}_v${version}.tar.gz";
+    sha256 = "184z2rr0rnj4p740qb4mzqr6kgd76ynb5gw9bj8hrfshcxdcg1kk";
+  };
+  buildInputs = [
+    ncurses
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  makeFlags = [
+    ''DESTDIR=$(out)''
+  ];
+  preInstall = ''
+    mkdir -p "$out"/{share/man,bin}
+  '';
+  meta = {
+    inherit (s) version;
+    description = ''Console implementation of 2048 game'';
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://www.dettus.net/n2048/";
+  };
+}
diff --git a/pkgs/games/odamex/default.nix b/pkgs/games/odamex/default.nix
new file mode 100644
index 00000000000..f24e6155ec6
--- /dev/null
+++ b/pkgs/games/odamex/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, cmake, fetchurl, pkgconfig, SDL, SDL_mixer, SDL_net }:
+
+stdenv.mkDerivation rec {
+  name = "odamex-0.7.0";
+  src = fetchurl {
+    url = http://downloads.sourceforge.net/odamex/odamex-src-0.7.0.tar.bz2;
+    sha256 = "0cb6p58yv55kdyfj7s9n9xcwpvxrj8nyc6brw9jvwlc5n4y3cd5a";
+  };
+
+  cmakeFlags = ''
+    -DCMAKE_BUILD_TYPE=Release
+  '';
+
+  buildInputs = [ cmake pkgconfig SDL SDL_mixer SDL_net ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://odamex.net/;
+    description = "A client/server port for playing old-school Doom online";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index 49dbb7ba82b..d75f02c5e94 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -23,27 +23,27 @@ stdenv.mkDerivation {
     cd bin
     for f in launcher_$arch libQtCoreUnigine_$arch.so.4 OilRush_$arch
     do
-      patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $f
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
     done
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
              launcher_$arch
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libNetwork_$arch.so
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libQtCoreUnigine_$arch.so.4
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
              libQtGuiUnigine_$arch.so.4
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libQtNetworkUnigine_$arch.so.4
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXrender}/lib:${fontconfig}/lib:${freetype}/lib\
              libQtWebKitUnigine_$arch.so.4
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libQtXmlUnigine_$arch.so.4
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib\
              libRakNet_$arch.so
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\
              libUnigine_$arch.so
-    patchelf --set-rpath ${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\
+    patchelf --set-rpath ${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXinerama}/lib:${libXrandr}/lib\
              OilRush_$arch
   '';
   installPhase = ''
diff --git a/pkgs/games/onscripter-en/default.nix b/pkgs/games/onscripter-en/default.nix
new file mode 100644
index 00000000000..1d0bf636e2e
--- /dev/null
+++ b/pkgs/games/onscripter-en/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl
+, libpng, libjpeg, libogg, libvorbis, freetype, smpeg
+, SDL, SDL_image, SDL_mixer, SDL_ttf }:
+
+
+stdenv.mkDerivation rec {
+  name = "onscripter-en-20110930";
+
+  src = fetchurl {
+    url = "http://unclemion.com/dev/attachments/download/36/${name}-src.tar.bz2";
+    sha256 = "1kzm6d894c0ihgkwhd03x3kaqqz0sb6kf0r86xrrz12y309zfam6";
+  };
+
+  buildInputs = [ libpng libjpeg libogg libvorbis freetype smpeg
+                  SDL SDL_image SDL_mixer SDL_ttf
+                ];
+
+  configureFlags = [ "--no-werror" ];
+
+  # Without this libvorbisfile.so is not getting linked properly for some reason.
+  NIX_CFLAGS_LINK = [ "-lvorbisfile" ];
+
+  preBuild = ''
+    sed -i 's/.dll//g' Makefile
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Japanese visual novel scripting engine";
+    homepage = "http://dev.haeleth.net/onscripter.shtml";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/games/openarena/default.nix b/pkgs/games/openarena/default.nix
new file mode 100644
index 00000000000..1926afaeb3b
--- /dev/null
+++ b/pkgs/games/openarena/default.nix
@@ -0,0 +1,41 @@
+{ fetchurl, makeWrapper, patchelf, pkgs, stdenv, SDL, libogg, libvorbis }:
+
+stdenv.mkDerivation rec {
+  name = "openarena-${version}";
+  version = "0.8.8";
+
+  src = fetchurl {
+    name = "openarena.zip";
+    url = "http://openarena.ws/request.php?4";
+    sha256 = "0jmc1cmdz1rcvqc9ilzib1kilpwap6v0d331l6q53wsibdzsz3ss";
+  };
+
+  buildInputs = [ pkgs.unzip patchelf makeWrapper];
+
+  installPhase = let
+    gameDir = "$out/openarena-$version";
+    interpreter = "$(< \"$NIX_CC/nix-support/dynamic-linker\")";
+  in ''
+    mkdir -pv $out/bin
+    cd $out
+    unzip $src
+
+    ${if stdenv.system == "x86_64-linux" then ''
+      patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.x86_64"
+      makeWrapper "${gameDir}/openarena.x86_64" "$out/bin/openarena" \
+        --prefix LD_LIBRARY_PATH : "${SDL}/lib:${libogg}/lib:${libvorbis}/lib"
+    '' else ''
+      patchelf --set-interpreter "${interpreter}" "${gameDir}/openarena.i386"
+      makeWrapper "${gameDir}/openarena.i386" "$out/bin/openarena" \
+        --prefix LD_LIBRARY_PATH : "${SDL}/lib:${libogg}/lib:${libvorbis}/lib"
+    ''}
+  '';
+
+  meta = {
+    description = "Crossplatform openarena client";
+    homepage = http://openarena.ws/;
+    maintainers = [ stdenv.lib.maintainers.wyvie ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix
index 35057a5de75..b666ac2ecca 100644
--- a/pkgs/games/openra/default.nix
+++ b/pkgs/games/openra/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "20140608";
+  version = "20141029";
 in stdenv.mkDerivation rec {
   name = "openra-${version}";
 
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/OpenRA/OpenRA/archive/release-${version}.tar.gz";
-    sha256 = "0k7siysxb2nk7zzrl7vz1cwky4nla46ixzgxgc8rq6ilmlidh96b";
+    sha256 = "082rwcy866k636s4qhbry3ja2p81mdz58bh1dw2mic5mv2q6p67r";
   };
 
   dontStrip = true;
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index ff96622cb59..afef33cce2d 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "1.4.1";
+  version = "1.4.4";
 
   src = fetchurl {
     url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
-    sha256 = "0gkmf2jj1rab81y10dp8cirr90kv9dpr3ww4wb06j8cvgapy7b0z";
+    sha256 = "1xykqb5bx2dzffxhvm4cbn1nf72f7zcdz8hy25i5wky4hfw31x3h";
   };
 
   buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ];
@@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
     "--without-liblzo2"
   ];
 
+  # NOTE: Remove this patch in 1.4.5 or greater
+  patches = [
+    # Adapted from svn r27079
+    ./fix-freetype-1.4.4.patch
+  ];
+
   makeFlags = "INSTALL_PERSONAL_DIR=";
 
   postInstall = ''
@@ -32,7 +38,7 @@ stdenv.mkDerivation rec {
 
       In multiplayer networked mode, players may:
         - play competitively as different businesses
-        - play cooperatively controling the same business
+        - play cooperatively controlling the same business
         - observe as spectators
     '';
     homepage = http://www.openttd.org/;
diff --git a/pkgs/games/openttd/fix-freetype-1.4.4.patch b/pkgs/games/openttd/fix-freetype-1.4.4.patch
new file mode 100644
index 00000000000..37706ce05c9
--- /dev/null
+++ b/pkgs/games/openttd/fix-freetype-1.4.4.patch
@@ -0,0 +1,31 @@
+diff --git a/src/fontcache.cpp b/src/fontcache.cpp
+===================================================================
+--- a/src/fontcache.cpp
++++ b/src/fontcache.cpp
+@@ -537,6 +537,6 @@
+ 
+ 	/* Add 1 pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */
+-	int width  = max(1, slot->bitmap.width + (this->fs == FS_NORMAL));
+-	int height = max(1, slot->bitmap.rows  + (this->fs == FS_NORMAL));
++	unsigned int width  = max(1U, (unsigned int)slot->bitmap.width + (this->fs == FS_NORMAL));
++	unsigned int height = max(1U, (unsigned int)slot->bitmap.rows  + (this->fs == FS_NORMAL));
+ 
+ 	/* Limit glyph size to prevent overflows later on. */
+@@ -554,6 +554,6 @@
+ 	/* Draw shadow for medium size */
+ 	if (this->fs == FS_NORMAL && !aa) {
+-		for (int y = 0; y < slot->bitmap.rows; y++) {
+-			for (int x = 0; x < slot->bitmap.width; x++) {
++		for (unsigned int y = 0; y < (unsigned int)slot->bitmap.rows; y++) {
++			for (unsigned int x = 0; x < (unsigned int)slot->bitmap.width; x++) {
+ 				if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) {
+ 					sprite.data[1 + x + (1 + y) * sprite.width].m = SHADOW_COLOUR;
+@@ -564,6 +564,6 @@
+ 	}
+ 
+-	for (int y = 0; y < slot->bitmap.rows; y++) {
+-		for (int x = 0; x < slot->bitmap.width; x++) {
++	for (unsigned int y = 0; y < (unsigned int)slot->bitmap.rows; y++) {
++		for (unsigned int x = 0; x < (unsigned int)slot->bitmap.width; x++) {
+ 			if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) {
+ 				sprite.data[x + y * sprite.width].m = FACE_COLOUR;
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 19aff03daca..7b939af096a 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, mesa, zlib, openssl, libyamlcpp, boostHeaders
+{stdenv, fetchurl, cmake, mesa, zlib, openssl, libyamlcpp, boost
 , SDL, SDL_image, SDL_mixer, SDL_gfx }:
 
 let version = "1.0.0"; in
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     name = "openxcom-${version}.tar.gz";
   };
 
-  buildInputs = [ cmake mesa zlib openssl libyamlcpp boostHeaders
+  buildInputs = [ cmake mesa zlib openssl libyamlcpp boost
     SDL SDL_image SDL_mixer SDL_gfx ];
 
   meta = {
diff --git a/pkgs/games/performous/default.nix b/pkgs/games/performous/default.nix
new file mode 100644
index 00000000000..ff4f370f04a
--- /dev/null
+++ b/pkgs/games/performous/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, gettext
+, glibmm, libxmlxx, pango, librsvg
+, SDL2, glew, boost, libav, portaudio
+}:
+
+stdenv.mkDerivation {
+  name = "performous-1.0";
+
+  meta = with stdenv.lib; {
+    description = "Karaoke, band and dancing game";
+    homepage    = "http://performous.org/";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchFromGitHub {
+    owner = "performous";
+    repo = "performous";
+    rev = "1.0";
+    sha256 = "1wgydwnhadrjkj3mjzrhppfmphrxnqfljs361206imirmvs7s15l";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig gettext ];
+
+  buildInputs = [
+    glibmm libxmlxx pango librsvg
+    SDL2 glew boost libav portaudio
+  ];
+}
diff --git a/pkgs/games/planetaryannihilation/default.nix b/pkgs/games/planetaryannihilation/default.nix
index 7c58b4ca1e8..a94f388b322 100755..100644
--- a/pkgs/games/planetaryannihilation/default.nix
+++ b/pkgs/games/planetaryannihilation/default.nix
@@ -29,18 +29,17 @@ stdenv.mkDerivation {
 
     cp -R * $out/
     mv $out/*.so $out/lib
-    rm $out/libstdc++.so.6
     ln -s $out/PA $out/bin/PA
 
     ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0
 
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" "$out/PA"
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc xlibs.libXdamage xorg.libXfixes gtk glib stdenv.glibc "$out" xlibs.libXext pango udev xlibs.libX11 xlibs.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xlibs.libXrender ]}:{stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" "$out/host/CoherentUI_Host.bin" 
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/PA"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc xlibs.libXdamage xorg.libXfixes gtk glib stdenv.glibc "$out" xlibs.libXext pango udev xlibs.libX11 xlibs.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xlibs.libXrender ]}:{stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64" "$out/host/CoherentUI_Host" 
 
-    wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.glibc xlibs.libX11 xlibs.libXcursor gtk glib curl "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64"
+    wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc xlibs.libX11 xlibs.libXcursor gtk glib curl "$out" ]}:${stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64"
 
     for f in $out/lib/*; do
-      patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc curl xlibs.libX11 stdenv.glibc xlibs.libXcursor "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" $f
+      patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc curl xlibs.libX11 stdenv.glibc xlibs.libXcursor "$out" ]}:${stdenv.cc.cc}/lib64:${stdenv.glibc}/lib64" $f
     done
   '';
 
diff --git a/pkgs/games/quake3/demo/default.nix b/pkgs/games/quake3/demo/default.nix
index 99c07a9a7e0..a25a7caa8c1 100644
--- a/pkgs/games/quake3/demo/default.nix
+++ b/pkgs/games/quake3/demo/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation {
   # This is needed for pak0.pk3.
   demo = fetchurl {
     url = http://tarballs.nixos.org/linuxq3ademo-1.11-6.x86.gz.sh;
-    md5 = "484610c1ce34272223a52ec331c99d5d";
+    sha256 = "1v54a1hx1bczk9hgn9qhx8vixsy7xn7wj2pylhfjsybfkgvf7pk4";
   };
 
   # This is needed for the additional pak?.pk3 files.
   update = fetchurl {
     url = http://tarballs.nixos.org/linuxq3apoint-1.31.x86.run;
-    md5 = "2620b9eefb6d0775f766b6570870157a";
+    sha256 = "1kp689452zb8jhd67ghisz2055pqxy9awz4vi0hq5qmp7xrp1x58";
   };
 
   # Don't rebuild if the inputs change, since the output is guaranteed
diff --git a/pkgs/games/quake3/game/default.nix b/pkgs/games/quake3/game/default.nix
index 596ba595d81..cbcc8c290f8 100644
--- a/pkgs/games/quake3/game/default.nix
+++ b/pkgs/games/quake3/game/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, x11, SDL, mesa, openal }:
+{ lib, stdenv, fetchurl, x11, SDL, mesa, openal, gcc46 }:
 
 stdenv.mkDerivation {
   name = "ioquake3-1.36";
-  
+
   src = fetchurl {
     url = http://ioquake3.org/files/1.36/ioquake3-1.36.tar.bz2; # calls itself "1.34-rc3"
     sha256 = "008vah60z0n9h1qp373xbqvhwfbyywbbhd1np0h0yw66g0qzchzv";
   };
 
   patchFlags = "-p0";
-  
+
   patches = [
     # Fix for compiling on gcc 4.2.
     (fetchurl {
@@ -19,10 +19,10 @@ stdenv.mkDerivation {
 
     # Do an exit() instead of _exit().  This is nice for gcov.
     # Upstream also seems to do this.
-    ./exit.patch    
+    ./exit.patch
   ];
-  
-  buildInputs = [x11 SDL mesa openal];
+
+  buildInputs = [ x11 SDL mesa openal gcc46 ];
 
   # Fix building on GCC 4.6.
   NIX_CFLAGS_COMPILE = "-Wno-error";
@@ -33,6 +33,8 @@ stdenv.mkDerivation {
     installFlags="COPYDIR=$out"
   '';
 
-  meta.broken = true;
-  
+  meta = {
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.eelco ];
+  };
 }
diff --git a/pkgs/games/quake3/wrapper/default.nix b/pkgs/games/quake3/wrapper/default.nix
index 84d93cefa21..f9e2e864f19 100644
--- a/pkgs/games/quake3/wrapper/default.nix
+++ b/pkgs/games/quake3/wrapper/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   
   inherit game paks mesa name;
 
-  gcc = stdenv.gcc.gcc;
+  gcc = stdenv.cc.cc;
   
   meta = {
     inherit description;
diff --git a/pkgs/games/rogue/default.nix b/pkgs/games/rogue/default.nix
index 16fb621d01d..6be9b06e907 100644
--- a/pkgs/games/rogue/default.nix
+++ b/pkgs/games/rogue/default.nix
@@ -2,16 +2,18 @@
 
 stdenv.mkDerivation {
   name = "rogue-5.4.4";
-  
+
   src = fetchurl {
     url = http://rogue.rogueforge.net/files/rogue5.4/rogue5.4.4-src.tar.gz;
     sha256 = "18g81274d0f7sr04p7h7irz0d53j6kd9j1y3zbka1gcqq0gscdvx";
   };
-  
-  buildInputs = [ncurses];
-  
+
+  buildInputs = [ ncurses ];
+
   meta = {
     homepage = http://rogue.rogueforge.net/rogue-5-4/;
     description = "The final version of the original Rogue game developed for the UNIX operating system";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/games/scrolls/default.nix b/pkgs/games/scrolls/default.nix
new file mode 100644
index 00000000000..171a6d6fe83
--- /dev/null
+++ b/pkgs/games/scrolls/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, gcc
+, mesa_glu, libX11, libXext, libXcursor, pulseaudio
+}:
+stdenv.mkDerivation {
+  name = "scrolls-2014-03-08";
+
+  meta = {
+    description = "Scrolls is a strategy collectible card game.";
+    homepage = "https://scrolls.com/";
+    # http://www.reddit.com/r/Scrolls/comments/2j3pxw/linux_client_experimental/
+
+    platforms = [ "x86_64-linux" ];
+
+    licence = stdenv.lib.licenses.unfree;
+  };
+
+  src = fetchurl {
+    url = "http://download.scrolls.com/client/linux.tar.gz";
+    sha256 = "0gpwb8f1wrj6dfd9ffxga07whnxdgk66bj7j9gkbxlvrx3sj8zbp";
+  };
+
+  libPath = stdenv.lib.makeLibraryPath [
+    gcc
+    mesa_glu
+    libX11
+    libXext
+    libXcursor
+    pulseaudio
+  ];
+
+  phases = [ "unpackPhase" "installPhase" ];
+  installPhase = ''
+    mkdir -p "$out/opt/Scrolls"
+    cp -r ../Scrolls "$out/opt/Scrolls/"
+    cp -r ../Scrolls_Data "$out/opt/Scrolls/"
+    chmod +x "$out/opt/Scrolls/Scrolls"
+
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      --set-rpath "$libPath" "$out/opt/Scrolls/Scrolls"
+
+    mkdir "$out/bin"
+    ln -s "$out/opt/Scrolls/Scrolls" "$out/bin/Scrolls" 
+  '';
+
+}
diff --git a/pkgs/games/sdlmame/default.nix b/pkgs/games/sdlmame/default.nix
index acc72449018..6e063a34bc8 100644
--- a/pkgs/games/sdlmame/default.nix
+++ b/pkgs/games/sdlmame/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      --set-rpath "${alsaLib}/lib:${qt48}/lib:${SDL}/lib:${fontconfig}/lib:${freetype}/lib:${SDL_ttf}/lib:${xlibs.libX11}/lib:${xlibs.libXinerama}/lib:${stdenv.gcc.gcc}/lib" \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${alsaLib}/lib:${qt48}/lib:${SDL}/lib:${fontconfig}/lib:${freetype}/lib:${SDL_ttf}/lib:${xlibs.libX11}/lib:${xlibs.libXinerama}/lib:${stdenv.cc.cc}/lib" \
       share/sdlmame/sdlmame
 
     mkdir -p "$out/bin"
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage    = http://sdlmame.lngn.net;
-    description = "A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support.";
+    description = "A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support";
     license     = "MAME";
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.linux;
diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix
index 403fc88cb4a..854f9595a7d 100644
--- a/pkgs/games/simutrans/default.nix
+++ b/pkgs/games/simutrans/default.nix
@@ -1,90 +1,154 @@
-{ stdenv, fetchurl, unzip, zlib, libpng, bzip2, SDL, SDL_mixer, makeWrapper } :
+{ stdenv, fetchurl, pkgconfig, unzip, zlib, libpng, bzip2, SDL, SDL_mixer
+, buildEnv, config
+}:
 
 let
-  result = withPak (mkPak pak128);
-
-  ver_1 = "112";
-  ver_2 = "3";
-  ver_h2 = "${ver_1}-${ver_2}";
-
-  # "pakset" of objects, images, text, music, etc.
-  mkPak = src: stdenv.mkDerivation {
-    name = "simutrans-pakset";
-    inherit src;
-    unpackPhase = "true";
-    buildInputs = [ unzip ];
-    installPhase = ''
-      mkdir -p $out
-      cd $out
-      unzip ${src}
-      mv simutrans/*/* .
-      rm -rf simutrans
-    '';
+  # Choose your "paksets" of objects, images, text, music, etc.
+  paksets = config.simutrans.paksets or "pak64 pak128";
+
+  result = with stdenv.lib; withPaks (
+    if paksets == "*" then attrValues pakSpec # taking all
+      else map (name: pakSpec.${name}) (splitString " " paksets)
+  );
+
+  ver1 = "120";
+  ver2 = "0";
+  ver3 = "1";
+  version =   "${ver1}.${ver2}.${ver3}";
+  ver_dash =  "${ver1}-${ver2}-${ver3}";
+  ver2_dash = "${ver1}-${ver2}";
+
+  binary_src = fetchurl {
+    url = "mirror://sourceforge/simutrans/simutrans/${ver_dash}/simutrans-src-${ver_dash}.zip";
+    sha256 = "10rn259nxq2hhfpar8zwgxi1p4djvyygcm2f6qhih7l9clvnw2h1";
   };
-  pak64 = fetchurl {
-    url = "mirror://sourceforge/simutrans/pak64/${ver_h2}/simupak64-${ver_h2}.zip";
-    sha256 = "1ng963n2gvnwmsj73iy3gp9i5iqf5g6qk1gh1jnfm86gnjrsrq4m";
-  };
-  pak128 = fetchurl {
-    url = "mirror://sourceforge/simutrans/pak128/pak128%20for%20${ver_1}/pak128-2.3.0--${ver_1}.2.zip";
-    sha256 = "0jcif6mafsvpvxh1njyd6z2f6sab0fclq3f3nlg765yp3i1bfgff";
+
+
+  # As of 2015/03, many packsets still didn't have a release for version 120.
+  pakSpec = stdenv.lib.mapAttrs
+    (pakName: attrs: mkPak (attrs // {inherit pakName;}))
+  {
+    pak64 = {
+      srcPath = "${ver2_dash}/simupak64-${ver_dash}";
+      sha256 = "0y5v1ncpjyhjkkznqmk13kg5d0slhjbbvg1y8q5jxhmhlkghk9q2";
+    };
+    "pak64.japan" = {
+      srcPath = "${ver2_dash}/simupak64.japan-${ver_dash}";
+      sha256 = "14swy3h4ij74bgaw7scyvmivfb5fmp21nixmhlpk3mav3wr3167i";
+    };
+
+    pak128 = {
+      srcPath = "pak128%20for%20ST%20120%20%282.5.2%2B%20nightly%20r1560%2C%20bugfixes%29/pak128-r1560--ST120";
+      sha256 = "1wd51brc4aglqi3w7s8fxgxrw0k7f653w4wbnmk83k07fwfdyf24";
+    };
+    "pak128.britain" = {
+      srcPath = "pak128.Britain%20for%20${ver2_dash}/pak128.Britain.1.16-${ver2_dash}";
+      sha256 = "1rww9rnpk22l2z3s1d7y2gmd6iwhv72s7pff8krnh7z0q386waak";
+    };
+    "pak128.cs" = { # note: it needs pak128 to work
+      url = "mirror://sourceforge/simutrans/Pak128.CS/pak128.cz_v.0.2.1.zip";
+      sha256 = "008d8x1s0vxsq78rkczlnf57pv1n5hi1v5nbd1l5w3yls7lk11sc";
+    };
+    "pak128.german" = {
+      url = "mirror://sourceforge/simutrans/PAK128.german/"
+        + "PAK128.german_0.7_${ver1}.x/PAK128.german_0.7.0.1_${ver1}.x.zip";
+      sha256 = "1575akms18raxaijy2kfyqm07wdx6y5q85n7wgvq2fqydrnx33w8";
+    };
+
+    /* This release contains accented filenames that prevent unzipping.
+    "pak192.comic" = {
+      srcPath = "pak192comic%20for%20${ver2_dash}/pak192comic-0.4-${ver2_dash}up";
+      sha256 = throw "";
+    };
+    */
   };
 
-  withPak = pak: stdenv.mkDerivation {
+
+  mkPak = {
+    sha256, pakName, srcPath ? null
+    , url ? "mirror://sourceforge/simutrans/${pakName}/${srcPath}.zip"
+  }:
+    stdenv.mkDerivation {
+      name = "simutrans-${pakName}";
+      unpackPhase = "true";
+      installPhase = let src = fetchurl { inherit url sha256; };
+      in ''
+        mkdir -p "$out/share/simutrans/${pakName}"
+        cd "$out/share/simutrans/${pakName}"
+        "${unzip}/bin/unzip" "${src}"
+        chmod -R +w . # some zipfiles need that
+
+        set +o pipefail # no idea why it's needed
+        toStrip=`find . -iname '*.pak' | head -n 1 | sed 's|\./\(.*\)/[^/]*$|\1|'`
+        echo "Detected path '$toStrip' to strip"
+        mv ./"$toStrip"/* .
+        rmdir -p "$toStrip"
+      '';
+    };
+
+  /* The binaries need all data in one directory; the default is directory
+      of the executable, and another option is the current directory :-/ */
+  withPaks = paks: buildEnv {
     inherit (binaries) name;
-    unpackPhase = "true";
-    buildInputs = [ makeWrapper ];
-    installPhase = ''makeWrapper "${binaries}/bin/simutrans" "$out/bin/simutrans" --add-flags -objects --add-flags "${pak}"'';
-    inherit (binaries) meta;
+    paths = [binaries] ++ paks;
+    postBuild = ''
+      rm "$out/bin" && mkdir "$out/bin"
+      cat > "$out/bin/simutrans" <<EOF
+      #!${stdenv.shell}
+      cd "$out"/share/simutrans
+      exec "${binaries}/bin/simutrans" -use_workdir "\''${extraFlagsArray[@]}" "\$@"
+      EOF
+      chmod +x "$out/bin/simutrans"
+    '';
+
+    passthru.meta = binaries.meta // { hydraPlatforms = []; };
+    passthru.binaries = binaries;
   };
 
   binaries = stdenv.mkDerivation rec {
-    pname = "simutrans";
-    name = "${pname}-${ver_1}.${ver_2}";
+    name = "simutrans-${version}";
 
-    src = fetchurl {
-      url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simutrans-src-${ver_h2}.zip";
-      sha256 = "0jdq2krfj3qsh8dks9ixsdvpyjq9yi80p58b0xjpsn35mkbxxaca";
-    };
+    src = binary_src;
 
-    # this resource is needed since 112.2 because the folders in simutrans directory has been removed from source code
-    resources = fetchurl {
-      url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simulinux-${ver_h2}.zip";
-      sha256 = "14ly341pdkr8r3cd0q49w424m79iz38iaxfi9l1yfcxl8idkga1c";
-    };
     sourceRoot = ".";
 
-    buildInputs = [ zlib libpng bzip2 SDL SDL_mixer unzip ];
-
-    preConfigure = ''
-      # Configuration as per the readme.txt
-      sed \
-        -e 's@#BACKEND = sdl@BACKEND = sdl@' \
-        -e 's@#COLOUR_DEPTH = 16@COLOUR_DEPTH = 16@' \
-        -e 's@#OSTYPE = linux@OSTYPE = linux@' \
-        < config.template > config.default
-
-      # Different default data dir
-      sed -i -e 's:argv\[0\]:"'$out'/share/simutrans/":' \
-        simmain.cc
+    buildInputs = [ pkgconfig zlib libpng bzip2 SDL SDL_mixer unzip ];
+
+    configurePhase = let
+      # Configuration as per the readme.txt and config.template
+      platform =
+        if stdenv.isLinux then "linux" else
+        if stdenv.isDarwin then "mac" else throw "add your platform";
+      config = ''
+        BACKEND = mixer_sdl
+        COLOUR_DEPTH = 16
+        OSTYPE = ${platform}
+        VERBOSE = 1
+      '';
+      #TODO: MULTI_THREAD = 1 is "highly recommended",
+      # but it's roughly doubling CPU usage for me
+    in ''
+      echo "${config}" > config.default
 
-      # Use ~/.simutrans instead of ~/simutrans ##not working
-      #sed -i -e 's@%s/simutrans@%s/.simutrans@' simsys_s.cc
+      # Use ~/.simutrans instead of ~/simutrans
+      substituteInPlace simsys.cc --replace '%s/simutrans' '%s/.simutrans'
 
-      # No optimization overriding
-      sed -i -e '/-O$/d' Makefile
+      # use -O2 optimization (defaults are -O or -O3)
+      sed -i -e '/CFLAGS += -O/d' Makefile
+      export CFLAGS+=-O2
     '';
 
+    enableParallelBuilding = true;
+
     installPhase = ''
       mkdir -p $out/share/
       mv simutrans $out/share/
-      unzip -o ${resources} -d $out/share/
 
       mkdir -p $out/bin/
       mv build/default/sim $out/bin/simutrans
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       description = "A simulation game in which the player strives to run a successful transport system";
       longDescription = ''
         Simutrans is a cross-platform simulation game in which the
@@ -94,10 +158,11 @@ let
       '';
 
       homepage = http://www.simutrans.com/;
-      license = "perl";
-      maintainers = [ stdenv.lib.maintainers.kkallio ];
-      platforms = stdenv.lib.platforms.linux;
+      license = with licenses; [ artistic1 gpl1Plus ];
+      maintainers = with maintainers; [ kkallio vcunat ];
+      platforms = with platforms; linux ++ darwin;
     };
   };
 
 in result
+
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index a61d2f370d0..7fd13ccab3b 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , mesa, SDL, cmake, eigen
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -35,8 +35,8 @@ rec {
 
   setVars = a.noDepEntry ''
     export EIGENDIR=${a.eigen}/include/eigen2
-  ''; 
-      
+  '';
+
   meta = {
     description = "A physics-based puzzle game";
     maintainers = with a.lib.maintainers;
@@ -45,7 +45,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
-    license = "free-noncopyleft";
+    license = a.lib.licenses.free;
     broken = true;
   };
   passthru = {
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 539be06bf7f..aabd3656505 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
                 "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON"
                 "-DPREFER_STATIC_LIBS:BOOL=OFF"];
 
-  buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL 
+  buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL
     xlibs.libX11 xlibs.libXcursor mesa glew asciidoc libxslt docbook_xsl curl makeWrapper
     docbook_xsl_ns systemd ]
     ++ stdenv.lib.optional withAI jdk
@@ -28,9 +28,11 @@ stdenv.mkDerivation rec {
   # reported upstream http://springrts.com/mantis/view.php?id=4305
   #enableParallelBuilding = true; # occasionally missing generated files on Hydra
 
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
+
   postInstall = ''
     wrapProgram "$out/bin/spring" \
-      --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib::${systemd}/lib"
+      --prefix LD_LIBRARY_PATH : "${stdenv.cc.cc}/lib::${systemd}/lib"
   '';
 
   meta = with stdenv.lib; {
@@ -38,6 +40,6 @@ stdenv.mkDerivation rec {
     description = "A powerful real-time strategy (RTS) game engine";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom maintainers.qknight maintainers.iElectric ];
-    platforms = platforms.mesaPlatforms;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index 35fdbc0a19e..bbcbd1920e9 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost libpng libX11
-    libnotify gtk doxygen makeWrapper
+    cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar
+    boost libpng libX11 libnotify gtk doxygen makeWrapper
   ];
 
   prePatch = ''
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 2173d12666e..0a444cf61b4 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -1,12 +1,77 @@
-{ buildFHSChrootEnv, steam
-, xterm, libX11, zenity, python, mesa, xdg_utils, dbus_tools, alsaLib
-}:
+{ lib, buildFHSUserEnv, config }:
 
-buildFHSChrootEnv {
+buildFHSUserEnv {
   name = "steam";
-  pkgs = [ steam xterm libX11 zenity python mesa xdg_utils dbus_tools alsaLib ];
+
+  targetPkgs = pkgs:
+    [ pkgs.steam-original
+      pkgs.corefonts
+      pkgs.curl
+      pkgs.dbus
+      pkgs.dpkg
+      pkgs.mono
+      pkgs.python
+      pkgs.gnome2.zenity
+      pkgs.xdg_utils
+    ]
+    ++ lib.optional (config.steam.java or false) pkgs.jdk
+    ++ lib.optional (config.steam.primus or false) pkgs.primus
+    ;
+
+  multiPkgs = pkgs:
+    [ pkgs.cairo
+      pkgs.glib
+      pkgs.gtk
+      pkgs.gdk_pixbuf
+      pkgs.pango
+
+      pkgs.freetype
+      pkgs.xlibs.libICE
+      pkgs.xlibs.libSM
+      pkgs.xlibs.libX11
+      pkgs.xlibs.libXau
+      pkgs.xlibs.libxcb
+      pkgs.xlibs.libXcursor
+      pkgs.xlibs.libXdamage
+      pkgs.xlibs.libXdmcp
+      pkgs.xlibs.libXext
+      pkgs.xlibs.libXfixes
+      pkgs.xlibs.libXi
+      pkgs.xlibs.libXinerama
+      pkgs.xlibs.libXrandr
+      pkgs.xlibs.libXrender
+      pkgs.xlibs.libXScrnSaver
+      pkgs.xlibs.libXtst
+      pkgs.xlibs.libXxf86vm
+
+      pkgs.ffmpeg
+      pkgs.libpng12
+      pkgs.mesa
+      pkgs.SDL
+      pkgs.SDL2
+
+      pkgs.libgcrypt
+      pkgs.zlib
+
+      pkgs.alsaLib
+      pkgs.libvorbis
+      pkgs.openal
+      pkgs.pulseaudio
+
+      pkgs.flashplayer
+
+      pkgs.gst_all_1.gst-plugins-ugly # "Audiosurf 2" needs this
+    ];
+
+  extraBuildCommandsMulti = ''
+    cd usr/lib
+    ln -sf ../lib64/steam steam
+  '';
+
   profile = ''
-    export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib
-    export FONTCONFIG_FILE=/etc/fonts/fonts.conf
+    # Ugly workaround for https://github.com/ValveSoftware/steam-for-linux/issues/3504
+    export LD_PRELOAD=/lib32/libpulse.so:/lib64/libpulse.so:/lib32/libasound.so:/lib64/libasound.so
   '';
+
+  runScript = "exec steam";
 }
diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix
index c1273e9a20f..0478e208da2 100644
--- a/pkgs/games/steam/default.nix
+++ b/pkgs/games/steam/default.nix
@@ -1,121 +1,38 @@
-/*{ stdenv, fetchurl, dpkg, makeWrapper, xz, libX11, gcc, glibc
-, libselinux, libXrandr, pango, freetype, fontconfig, glib, gtk
-, gdk_pixbuf, cairo, libXi, alsaLib, libXrender, nss, nspr, zlib
-, dbus, libpng12, libXfixes, cups, libgcrypt, openal, pulseaudio
-, libxcb, libXau, libXdmcp, flashplayer, libSM, libICE, libXext
-, dbus_glib, libusb1, networkmanager
-, SDL # World of Goo
-, libvorbis # Osmos
-, curl, mesa # Superbrothers: S&S EP
-, patchelf }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-
-let version = "1.0.0.39"; in
+{stdenv, fetchurl, traceDeps ? false}:
 
 stdenv.mkDerivation rec {
-  name = "steam-${version}";
+  name = "${program}-${version}";
+  program = "steam";
+  version = "1.0.0.49";
 
   src = fetchurl {
-    url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam-launcher_${version}_all.deb";
-    sha256 = "1z1cnlr2qw2ndnqsfwjck9617m2p0f3p9q9409vczj909h2a9wyk";
+    url = "http://repo.steampowered.com/steam/pool/steam/s/steam/${program}_${version}.tar.gz";
+    sha256 = "1c1gl5pwvb5gnnnqf5d9hpcjnfjjgmn4lgx8v0fbx1am5xf3p2gx";
   };
 
-  buildInputs = [ dpkg makeWrapper ];
-
-  phases = "installPhase";
+  traceLog = "/tmp/steam-trace-dependencies.log";
 
   installPhase = ''
-    mkdir -p $out
-    dpkg-deb -x $src $out
-    cp -r $out/usr/* $out/
-    rm -rf $out/usr
-    substituteInPlace "$out/bin/steam" --replace "/usr/bin/env bash" "/bin/sh"
-    substituteInPlace "$out/bin/steam" --replace "/usr/" "$out/"
-    sed -i 's,STEAMPACKAGE=.*,STEAMPACKAGE=steam,' $out/bin/steam
-    sed -i '/STEAMSCRIPT/d' $out/bin/steam
-
-    mv $out/bin/steam $out/bin/.steam-wrapped
-    cat > $out/bin/steam << EOF
-
-    export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib:${gcc.gcc}/lib:${libselinux}/lib:${libXrandr}/lib:${pango}/lib:${freetype}/lib:${fontconfig}/lib:${glib}/lib:${gtk}/lib:${gdk_pixbuf}/lib:${cairo}/lib:${libXi}/lib:${alsaLib}/lib:${libXrender}/lib:${nss}/lib:${nspr}/lib:${zlib}/lib:${dbus}/lib:${libpng12}/lib:${libXfixes}/lib:${cups}/lib:${libgcrypt}/lib:${openal}/lib:${pulseaudio}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${SDL}/lib:${libvorbis}/lib:${curl}/lib:${libSM}/lib:${libICE}/lib:${dbus_glib}/lib:${networkmanager}/lib:${libXext}/lib:${libusb1}/lib
-    STEAMBOOTSTRAP=~/.steam/steam/steam.sh
-    if [ -f \$STEAMBOOTSTRAP ]; then
-      PLATFORM32=ubuntu12_32
-      STEAMCONFIG=~/.steam
-      STEAMROOT=~/.local/share/Steam
-      STEAMDATA="\$STEAMROOT"
-      PIDFILE="\$STEAMCONFIG/steam.pid"
-      STEAMBIN32LINK="\$STEAMCONFIG/bin32"
-      STEAMBIN64LINK="\$STEAMCONFIG/bin64"
-      STEAMSDK32LINK="\$STEAMCONFIG/sdk32"
-      STEAMSDK64LINK="\$STEAMCONFIG/sdk64"
-      STEAMROOTLINK="\$STEAMCONFIG/root"
-      STEAMDATALINK="\$STEAMCONFIG/steam"
-      STEAMSTARTING="\$STEAMCONFIG/starting"
-      # Create symbolic links for the Steam API
-      if [ ! -e "\$STEAMCONFIG" ]; then
-          mkdir "\$STEAMCONFIG"
-      fi
-      if [ "\$STEAMROOT" != "\$STEAMROOTLINK" -a "\$STEAMROOT" != "\$STEAMDATALINK" ]; then
-          rm -f "\$STEAMBIN32LINK" && ln -s "\$STEAMROOT/\$PLATFORM32" "\$STEAMBIN32LINK"
-          rm -f "\$STEAMBIN64LINK" && ln -s "\$STEAMROOT/\$PLATFORM64" "\$STEAMBIN64LINK"
-          rm -f "\$STEAMSDK32LINK" && ln -s "\$STEAMROOT/linux32" "\$STEAMSDK32LINK"
-          rm -f "\$STEAMSDK64LINK" && ln -s "\$STEAMROOT/linux64" "\$STEAMSDK64LINK"
-          rm -f "\$STEAMROOTLINK" && ln -s "\$STEAMROOT" "\$STEAMROOTLINK"
-          if [ "\$STEAMDATALINK" ]; then
-              rm -f "\$STEAMDATALINK" && ln -s "\$STEAMDATA" "\$STEAMDATALINK"
-          fi
-      fi
-      # Temporary bandaid until everyone has the new libsteam_api.so
-      rm -f ~/.steampath && ln -s "\$STEAMCONFIG/bin32/steam" ~/.steampath
-      rm -f ~/.steampid && ln -s "\$PIDFILE" ~/.steampid
-      rm -f ~/.steam/bin && ln -s "\$STEAMBIN32LINK" ~/.steam/bin
-      export LD_LIBRARY_PATH="\$STEAMBIN32LINK:\$LD_LIBRARY_PATH:${mesa}/lib"
-      export SDL_VIDEO_X11_DGAMOUSE=0
-      cd "\$STEAMROOT"
-      FLASHLINK="\$STEAMCONFIG/bin32/plugins"
-      rm -f "\$FLASHLINK" && ln -s "${flashplayer}/lib/mozilla/plugins" "\$FLASHLINK"
-      LDSO="\$STEAMBIN32LINK/ld.so"
-      cp ${glibc}/lib/ld-linux.so.2 "\$LDSO"
-      chmod u+w "\$LDSO"
-      echo \$\$ > "\$PIDFILE" # pid of the shell will become pid of steam
-      export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${glibc}/lib
-      exec "\$LDSO" "\$STEAMBIN32LINK/steam"
-    else
-      export PATH=${xz}/bin:\$PATH
-      exec $out/bin/.steam-wrapped
-    fi
-    EOF
-
-    chmod +x $out/bin/steam
-  '';
-
-  meta = {
-    description = "A digital distribution platform";
-    homepage = http://store.steampowered.com/;
-    license = stdenv.lib.licenses.unfree;
-  };
-}
-*/
-
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "steam-1.0.0.48";
-  src = fetchurl {
-    url = http://repo.steampowered.com/steam/pool/steam/s/steam/steam_1.0.0.48.tar.gz;
-    sha256 = "08y5qf75ssk4fnazyv2yz1c5zs7gjiwigaibv8yz1gbr290r0b52";
-  };
-  installPhase = ''
     make DESTDIR=$out install
     mv $out/usr/* $out #*/
     rmdir $out/usr
+
+    rm $out/bin/steamdeps
+    ${stdenv.lib.optionalString traceDeps ''
+      cat > $out/bin/steamdeps <<EOF
+      #! /bin/bash
+      echo \$1 >> ${traceLog}
+      cat \$1 >> ${traceLog}
+      echo >> ${traceLog}
+      EOF
+      chmod +x $out/bin/steamdeps
+    ''}
   '';
-  
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "A digital distribution platform";
     homepage = http://store.steampowered.com/;
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ jagajaga ];
   };
 }
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 6a54dd7512f..2379ac9ecd4 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
       platforms = platforms.linux;
-      maintainers = maintainers.mornfall;
+      maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix
index 7b258deef8a..2c41a11ab57 100644
--- a/pkgs/games/stuntrally/default.nix
+++ b/pkgs/games/stuntrally/default.nix
@@ -1,46 +1,38 @@
-{ fetchgit, stdenv, cmake, boost, ogre, mygui, ois, SDL, libvorbis, pkgconfig
+{ fetchgit, stdenv, cmake, boost, ogre, mygui, ois, SDL2, libvorbis, pkgconfig
 , makeWrapper, enet, libXcursor }:
 
 stdenv.mkDerivation rec {
-  name = "stunt-rally-1.8";
+  name = "stunt-rally-${version}";
+  version = "2.5";
 
   src = fetchgit {
     url = git://github.com/stuntrally/stuntrally.git;
-    rev = "refs/tags/1.8";
-    sha256 = "0p8p83xx8q33kymsqnmxqca4jdfyg9rwrsac790z56gdbc7gnahm";
+    rev = "refs/tags/${version}";
+    sha256 = "1lsh7z7sjfwpdybg6vbwqx1zxsgbfp2n60n7xl33v225p32qh1qf";
   };
 
   tracks = fetchgit {
     url = git://github.com/stuntrally/tracks.git;
-    rev = "refs/tags/1.8";
-    sha256 = "1gcrs21nn0v3hvhrw8dc0wh1knn5qh66cjx7a1igiciiadmi2s3l";
+    rev = "refs/tags/${version}";
+    sha256 = "1614j6q1d2f69l58kkqndndvf6svcghhw8pzc2s1plf6k87h67mg";
   };
 
-  patchPhase = ''
-    sed -i 's/materials/materials material_templates/' data/CMakeLists.txt
-  '';
-
   preConfigure = ''
-    mkdir data/tracks
-    cp -R $tracks/* data/tracks
+    cp -R ${tracks} data/tracks
+    chmod u+rwX -R data
   '';
 
-  buildInputs = [ cmake boost ogre mygui ois SDL libvorbis pkgconfig makeWrapper enet
-    libXcursor
+  buildInputs = [ cmake boost ogre mygui ois SDL2 libvorbis pkgconfig 
+    makeWrapper enet libXcursor
   ];
 
-  # I think they suppose cmake should give them OGRE_PLUGIN_DIR defined, but
-  # the cmake code I saw is not ready for that. Therefore, we use the env var.
-  postInstall = ''
-    wrapProgram $out/bin/stuntrally --set OGRE_PLUGIN_DIR ${ogre}/lib/OGRE
-    wrapProgram $out/bin/sr-editor --set OGRE_PLUGIN_DIR ${ogre}/lib/OGRE
-  '';
-
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Stunt Rally game with Track Editor, based on VDrift and OGRE";
     homepage = http://code.google.com/p/vdrift-ogre/;
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 29d3b4e4557..db42572de5e 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,18 +1,19 @@
 { fetchurl, cmake, stdenv, plib, SDL, openal, freealut, mesa
 , libvorbis, libogg, gettext, libXxf86vm, curl, pkgconfig
-, fribidi, autoconf, automake, libtool }:
+, fribidi, autoconf, automake, libtool, bluez }:
 
 stdenv.mkDerivation rec {
-  name = "supertuxkart-0.8";
+  version = "0.8.1";
+  name = "supertuxkart-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/supertuxkart/${name}-src.tar.bz2";
-    sha256 = "12sbml4wxg2x2wgnnkxfisj96a9gcsaj3fj27kdk8yj524ikv7xr";
+    sha256 = "1mpqmi62a2kl6n58mw11fj0dr5xiwmjkqnfmd2z7ghdhc6p02lrk";
   };
 
   buildInputs = [
     plib SDL openal freealut mesa libvorbis libogg gettext
-    libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake
+    libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake bluez
   ];
 
   enableParallelBuilding = true;
@@ -27,15 +28,13 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "SuperTuxKart is a Free 3D kart racing game";
-
     longDescription = ''
       SuperTuxKart is a Free 3D kart racing game, with many tracks,
       characters and items for you to try, similar in spirit to Mario
       Kart.
     '';
-
     homepage = http://supertuxkart.sourceforge.net/;
-
     license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix
new file mode 100644
index 00000000000..d1517a2ec61
--- /dev/null
+++ b/pkgs/games/tcl2048/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, tcl, tcllib }:
+
+stdenv.mkDerivation {
+  name = "tcl2048-0.3.1";
+
+  src = fetchurl {
+    url = https://raw.githubusercontent.com/dbohdan/2048-tcl/v0.3.1/2048.tcl;
+    sha256 = "44e325328784c4e91cecc0a9cc00e32d733da713adf2fad1c081542f38af3361";
+  };
+
+  phases = "installPhase";
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    cp $src $out/2048.tcl
+    cat > $out/bin/2048 << EOF
+    #!${stdenv.shell}
+
+    # wrapper for tcl2048
+    export TCLLIBPATH="${tcllib}/lib/tcllib${tcllib.version}"
+    ${tcl}/bin/tclsh $out/2048.tcl
+    EOF
+
+    chmod +x $out/bin/2048
+  '';
+
+  meta = {
+    homepage = https://github.com/dbohdan/2048-tcl;
+    description = "The game of 2048 implemented in Tcl";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ dbohdan ];
+  };
+}
diff --git a/pkgs/games/the-powder-toy/default.nix b/pkgs/games/the-powder-toy/default.nix
new file mode 100644
index 00000000000..43d453f71d7
--- /dev/null
+++ b/pkgs/games/the-powder-toy/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, scons, pkgconfig, SDL, lua, fftwFloat }:
+
+let version = "90.2.322";
+in
+stdenv.mkDerivation rec {
+  name = "the-powder-toy-${version}";
+  src = fetchFromGitHub {
+    owner = "simtr";
+    repo = "The-Powder-Toy";
+    rev = "v${version}";
+    sha256 = "1rlxnk8icymalnr3j4bgpklq1dhhs0rpsyjx97isqqcwm2ys03q3";
+  };
+
+  patches = [ ./fix-env.patch ];
+
+  nativeBuildInputs = [ scons pkgconfig ];
+
+  buildInputs = [ SDL lua fftwFloat ];
+
+  buildPhase = "scons DESTDIR=$out/bin --tool='' -j$NIX_BUILD_CORES";
+
+  installPhase = ''
+    install -Dm 755 build/powder* "$out/bin/powder"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A free 2D physics sandbox game";
+    platforms = platforms.unix;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/games/the-powder-toy/fix-env.patch b/pkgs/games/the-powder-toy/fix-env.patch
new file mode 100644
index 00000000000..79d2bb2a2e0
--- /dev/null
+++ b/pkgs/games/the-powder-toy/fix-env.patch
@@ -0,0 +1,16 @@
+diff --git a/SConscript b/SConscript
+index fd08935..4d879b2 100644
+--- a/SConscript
++++ b/SConscript
+@@ -93,9 +93,9 @@ if msvc and platform != "Windows":
+ 

+ #Create SCons Environment

+ if platform == "Windows" and not GetOption('msvc'):

+-	env = Environment(tools = ['mingw'], ENV = {'PATH' : os.environ['PATH']})

++	env = Environment(tools = ['mingw'], ENV = os.environ)

+ else:

+-	env = Environment(tools = ['default'], ENV = {'PATH' : os.environ['PATH']})

++	env = Environment(tools = ['default'], ENV = os.environ)

+ 

+ #attempt to automatically find cross compiler

+ if not tool and compilePlatform == "Linux" and compilePlatform != platform:

diff --git a/pkgs/games/thePenguinMachine/default.nix b/pkgs/games/thePenguinMachine/default.nix
index 04438cf70ad..e1a87f22538 100644
--- a/pkgs/games/thePenguinMachine/default.nix
+++ b/pkgs/games/thePenguinMachine/default.nix
@@ -38,8 +38,6 @@ stdenv.mkDerivation {
 		'';
 
   meta = {
-    description = "
-	The Penguin Machine - an Incredible Machine clone.
-";
+    description = "An Incredible Machine clone";
   };
 }
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index a2355ba9d1e..3aa23ffd0e8 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, patchelf, glibc, libX11, mesa}:
+{ stdenv, fetchurl, patchelf, glibc, libX11, mesa }:
 
 with stdenv.lib;
 assert stdenv.isi686;
 stdenv.mkDerivation {
-  name = "tibia-10.41";
+  name = "tibia-10.76";
 
   src = fetchurl {
-    url = http://static.tibia.com/download/tibia1041.tgz;
-    sha256 = "1hmqn9c6qaa79ldcnl4ws9dm6rd3ymy48fw254pl6g601amn7b8v";
+    url = http://static.tibia.com/download/tibia1076.tgz;
+    sha256 = "1kzsbrravk8lmpirghhsynnygmcig8jkbw6qfzk1fkabi1d02yrv";
   };
 
   shell = stdenv.shell;
@@ -22,10 +22,10 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -pv $out/res
-    cp -r ./* $out/res
+    cp -r * $out/res
 
     patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
-             --set-rpath ${stdenv.gcc.gcc}/lib:${libX11}/lib:${mesa}/lib \
+             --set-rpath ${stdenv.cc.cc}/lib:${libX11}/lib:${mesa}/lib \
              "$out/res/Tibia"
 
     # We've patchelf'd the files. The main ‘Tibia’ binary is a bit
@@ -53,5 +53,6 @@ stdenv.mkDerivation {
     homepage = "http://tibia.com";
     license = stdenv.lib.licenses.unfree;
     platforms = ["i686-linux"];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix
index 5c175be8af0..3fcbff42527 100644
--- a/pkgs/games/tremulous/default.nix
+++ b/pkgs/games/tremulous/default.nix
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
   patches = [ ./parse.patch ];
   patchFlags = "-p 0";
   NIX_LD_FLAGS = ''
-    -rpath ${stdenv.gcc}/lib
-    -rpath ${stdenv.gcc}/lib64
+    -rpath ${stdenv.cc}/lib
+    -rpath ${stdenv.cc}/lib64
   '';
   buildPhase = ''
     cd Release_1.011
diff --git a/pkgs/games/typespeed/default.nix b/pkgs/games/typespeed/default.nix
index 169c74621d7..4e99eff0065 100644
--- a/pkgs/games/typespeed/default.nix
+++ b/pkgs/games/typespeed/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   configureFlags = "--datadir=\${out}/share/";
 
   meta = {
-    description = "A curses based typing game.";
+    description = "A curses based typing game";
     homepage = http://typespeed.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.auntie ];
diff --git a/pkgs/games/ue4demos/default.nix b/pkgs/games/ue4demos/default.nix
new file mode 100644
index 00000000000..a0e583e1075
--- /dev/null
+++ b/pkgs/games/ue4demos/default.nix
@@ -0,0 +1,192 @@
+{ stdenv, fetchurl, unzip, patchelf, xlibs, openal }:
+
+assert stdenv.isLinux;
+assert stdenv.isx86_64;
+
+let
+  buildDemo = { name, src }:
+    stdenv.mkDerivation rec {
+      inherit name src;
+
+      buildInputs = [ unzip patchelf ];
+
+      rtdeps = stdenv.lib.makeLibraryPath
+        [ xlibs.libXxf86vm xlibs.libXext openal ]
+        + ":" + stdenv.lib.makeSearchPath "lib64" [ stdenv.cc.cc ];
+
+      buildCommand =
+      ''
+        mkdir -p "$out"
+        cd $out
+        unzip $src
+
+        interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2)
+        binary=$(find . -executable -type f)
+        patchelf \
+          --set-interpreter $interpreter \
+          --set-rpath ${rtdeps} \
+          "$binary"
+
+        # Workaround on
+        # LogLinuxPlatformFile:Warning: open('/nix/store/hash-ue4demos-demo/demo/demo/Saved/Config/CleanSourceConfigs/Engine.ini', Flags=0x00080241) failed: errno=2 (No such file or directory)
+        # for Vehicle, Shooter and Strategy games.
+        ls | grep ' ' && $(
+          haxname=$(ls | grep ' ' | sed 's/ //g'); \
+          haxpath=$(ls | grep ' ')/$haxname/Saved; \
+          mkdir -p "$haxpath"/Config/CleanSourceConfigs; \
+          ln -s /dev/null "$haxpath"/Config/CleanSourceConfigs/Engine.ini; \
+          mkdir -p "$haxpath"/Logs; \
+          ln -s /dev/null "$haxpath"/Logs/$haxname.log)
+
+        # Executables are buried under a varied paths across demos.
+        mkdir bin
+        cd bin
+        ln -s "$out/$binary" $(basename "$out/$binary")
+      '';
+
+      meta = {
+        description = "Unreal Engine 4 Linux demos";
+        homepage = https://wiki.unrealengine.com/Linux_Demos;
+        platforms = stdenv.lib.platforms.linux;
+        license = stdenv.lib.licenses.unfree;
+      };
+    };
+
+in {
+  tappy_chicken = buildDemo rec {
+    name = "ue4demos-tappy_chicken";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/tappy_chicken.zip";
+      sha256 = "0lwhvk3lpb2r5ng2cnzk7fpjj5lwhy2sch1a8v154x1xfhfb3h4v";
+    };
+  };
+
+  swing_ninja = buildDemo rec {
+    name = "ue4demos-swing_ninja";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/swing_ninja.zip";
+      sha256 = "1bmgqqk3lda5h7nnqi59jgyrsn0clr3xs0k1jclnqf9fk0m8hjcv";
+    };
+  };
+
+  card_game = buildDemo rec {
+    name = "ue4demos-card_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/card_game.zip";
+      sha256 = "154baqias5q7kad0c89k35jbmnmlm865sll02mi7bk1yllcckz5z";
+    };
+  };
+
+  vehicle_game = buildDemo rec {
+    name = "ue4demos-vehicle_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/vehicle_game.zip";
+      sha256 = "03dlacf1iv7sgn7pl3sx9r6243wy8fsi2kd858syfm9slg0190bs";
+    };
+  };
+
+  shooter_game = buildDemo rec {
+    name = "ue4demos-shooter_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/shooter_game.zip";
+      sha256 = "1bk32k349iqbqk8x8jffnqq0pjiqmvrvv675xxmlvkkr8qrlhz98";
+    };
+  };
+
+  strategy_game = buildDemo rec {
+    name = "ue4demos-strategy_game";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/strategy_game.zip";
+      sha256 = "1p7i966v1ssm20y12g4wsccpgnky3szy19qyjlacynk7bgbk6lg7";
+    };
+  };
+
+  black_jack = buildDemo rec {
+    name = "ue4demos-black_jack";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/black_jack.zip";
+      sha256 = "0g52wkzn5isa3az32y25yx5b56wxks97pajqwkmm6gf4qpkfksxv";
+    };
+  };
+
+  landscape_mountains = buildDemo rec {
+    name = "ue4demos-landscape_mountains";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/landscape_mountains.zip";
+      sha256 = "14jzajhs3cpydvf3ag7lpj4hkpbjpwnn3xkdvdx92fi0pcl8cwym";
+    };
+  };
+
+  matinee_demo = buildDemo rec {
+    name = "ue4demos-matinee_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/matinee_demo.zip";
+      sha256 = "0ib8k6fl15cxzdarar2sqq5v3g3c7p2jidkdjd00nym6cvkibb4d";
+    };
+  };
+
+  elemental_demo = buildDemo rec {
+    name = "ue4demos-elemental_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/elemental_demo.zip";
+      sha256 = "1v4jdsy8jvv8wgc8dx17q17xigfrya5q0nfdzw4md7fzm3bg9z0v";
+    };
+  };
+
+  effects_cave_demo = buildDemo rec {
+    name = "ue4demos-effects_cave_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/effects_cave_demo.zip";
+      sha256 = "0lvd3aaha2x9pnpkdmrzi6nf7hymr95834z3l8shygjf9kbbzsz4";
+    };
+  };
+
+  realistic_rendering = buildDemo rec {
+    name = "ue4demos-realistic_rendering";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/realistic_rendering_demo.zip";
+      sha256 = "0r16nznkv475hkw5rnngqsc69ch8vh86dppyyyr9nn43dkr2110a";
+    };
+  };
+
+  reflections_subway = buildDemo rec {
+    name = "ue4demos-reflections_subway";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/reflections_subway_demo.zip";
+      sha256 = "0dw5sm7405gxw9iqz0vpnhdprrb4wl5i14pvzl1381k973m8bd00";
+    };
+  };
+
+  scifi_hallway_demo = buildDemo rec {
+    name = "ue4demos-scifi_hallway_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/sci-fi_hallway_demo.zip";
+      sha256 = "14qp9iwm47awn8d9j6ijh6cnds308x60xs4vi2fvz2666jlz1pq2";
+    };
+  };
+
+  mobile_temple_demo = buildDemo rec {
+    name = "ue4demos-mobile_temple_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/mobile_temple_demo.zip";
+      sha256 = "12bz4h1b9lhmqglwsa6r8q48ijqbjdha9fql31540d01kigaka75";
+    };
+  };
+
+  stylized_demo = buildDemo rec {
+    name = "ue4demos-stylized_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/stylized_demo.zip";
+      sha256 = "1676ridmj8rk4y4hbdscfnnka5l636av1xxl0qwvk236kq9j7v0l";
+    };
+  };
+
+  blueprint_examples_demo = buildDemo rec {
+    name = "ue4demos-blueprint_examples_demo";
+    src = fetchurl {
+      url = "http://ue4linux.raxxy.com/blueprint_examples_demo.zip";
+      sha256 = "076q33h2hy965fvr805hsprkpcmizf638lj2ik8k923v86b15nbv";
+    };
+  };
+}
+
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 47fcd2dc4cf..3eabaa090bb 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   # The fpc is not properly wrapped to add -rpath. I add this manually.
   # I even do a trick on lib/lib64 for libgcc, that I expect it will work.
   preBuild = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL}/lib -rpath ${SDL_image}/lib -rpath ${libpng}/lib -rpath ${freetype}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg}/lib -rpath ${zlib}/lib -rpath ${sqlite}/lib -rpath ${libX11}/lib -rpath ${pcre}/lib -rpath ${lua}/lib -rpath ${stdenv.gcc.gcc}/lib64 -rpath ${stdenv.gcc.gcc}/lib"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL}/lib -rpath ${SDL_image}/lib -rpath ${libpng}/lib -rpath ${freetype}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg}/lib -rpath ${zlib}/lib -rpath ${sqlite}/lib -rpath ${libX11}/lib -rpath ${pcre}/lib -rpath ${lua}/lib -rpath ${stdenv.cc.cc}/lib64 -rpath ${stdenv.cc.cc}/lib"
 
     sed -i 414,424d Makefile
   '';
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index c7144b96a3d..6b4c6e68bac 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, unzip, SDL, mesa, openal, curl }:
+{ stdenv, fetchurl, unzip, SDL, mesa, openal, curl, libXxf86vm }:
 stdenv.mkDerivation rec {
   name = "urbanterror-${version}";
-  version = "4.2.018";
+  version = "4.2.023";
   srcs =
     [ (fetchurl {
-         url = "http://mirror.urtstats.net/urbanterror/UrbanTerror42_full018.zip";
-         sha256 = "10710c5b762687a75a7abd3cc56de005ce12dcb7ac14c08f40bcb4e9d96f4e83";
+         url = "http://mirror.urtstats.net/urbanterror/UrbanTerror42_full023.zip";
+         sha256 = "e287e2a17432b81551f5c16e431d752484ce9be10508e756542f653757a29090";
        })
       (fetchurl {
-         url = "https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-4.2.018.tar.gz";
-         sha256 = "c1fb3eb3a1e526247352b1c6abb5432b8a9b8730731ef917e4e5d21a152fb494";
+         url = "https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-4.2.023.tar.gz";
+         sha256 = "03zrrx5b96c1srf2p24ca7zygq84byvrmcgh42d8bh5ds579ziqp";
        })
     ];
-  buildInputs = [ unzip SDL mesa openal curl ];
-  sourceRoot = "ioq3-for-UrbanTerror-4-release-4.2.018";
+  buildInputs = [ unzip SDL mesa openal curl libXxf86vm];
+  sourceRoot = "ioq3-for-UrbanTerror-4-release-4.2.023";
   configurePhase = ''
     echo "USE_OPENAL = 1" > Makefile.local
     echo "USE_OPENAL_DLOPEN = 0" >> Makefile.local
diff --git a/pkgs/games/ut2004demo/builder.sh b/pkgs/games/ut2004demo/builder.sh
index 52b043b53fd..ca6b4fe1092 100644
--- a/pkgs/games/ut2004demo/builder.sh
+++ b/pkgs/games/ut2004demo/builder.sh
@@ -25,5 +25,5 @@ mkdir $out
 
 # Set the ELF interpreter to our own Glibc.
 for i in "$out/System/ucc-bin" "$out/System/ut2004-bin"; do
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" "$i"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$i"
 done
diff --git a/pkgs/games/ut2004demo/default.nix b/pkgs/games/ut2004demo/default.nix
index 04efc0049dd..a828d22ca0b 100644
--- a/pkgs/games/ut2004demo/default.nix
+++ b/pkgs/games/ut2004demo/default.nix
@@ -8,7 +8,7 @@ let {
     name = "ut2004-demo-3120";
     src = fetchurl {
       url = http://ftp.gameaholic.com/pub/demos/ut2004-lnx-demo-3120.run.bz2;
-      md5 = "da200b043add9d083f6aa7581e6829f0";
+      sha256 = "1lravfkb1gsallqqird5dcbz42vwjg36m1qk76nmmnyyyghwqnli";
     };
     builder = ./builder.sh;
   };
diff --git a/pkgs/games/vessel/default.nix b/pkgs/games/vessel/default.nix
index 8a92490b6e0..cab6a269f93 100644
--- a/pkgs/games/vessel/default.nix
+++ b/pkgs/games/vessel/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   phases = "installPhase";
   ld_preload = ./isatty.c;
 
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ] 
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ] 
     + ":" + stdenv.lib.makeLibraryPath [ SDL pulseaudio alsaLib ] ;
 
   installPhase = ''
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     echo @@@ 
 
     # if we call ld.so $(bin) we don't need to set the ELF interpreter, and save a patchelf step. 
-    LD_PRELOAD=./isatty.so $(cat $NIX_GCC/nix-support/dynamic-linker) $src << IM_A_BOT
+    LD_PRELOAD=./isatty.so $(cat $NIX_CC/nix-support/dynamic-linker) $src << IM_A_BOT
     n
     $out/libexec/strangeloop/vessel/
     IM_A_BOT
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     # props to Ethan Lee (the Vessel porter) for understanding
     # how $ORIGIN works in rpath. There is hope for humanity. 
     patchelf \
-      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath $libPath:$out/libexec/strangeloop/vessel/x86/ \
       $out/libexec/strangeloop/vessel/x86/vessel.x86
 
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 284d420fe7f..248b58a4e1a 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -28,9 +28,13 @@ stdenv.mkDerivation rec {
                       --replace "which %s" "${which}/bin/which %s"
   '';
   configureFlags = "--with-backend=qt --with-distributor=NixOS";
+
+  NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
+
   postInstall = []
     ++ stdenv.lib.optional withVideos "cp ${sequences_src} $out/share/warzone2100/sequences.wz";
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "A free RTS game, originally developed by Pumpkin Studios";
     longDescription = ''
         Warzone 2100 is an open source real-time strategy and real-time tactics
@@ -44,8 +48,8 @@ stdenv.mkDerivation rec {
       variety of possible units and tactics. 
     '';
     homepage = http://wz2100.net;
-    license = [ "GPLv2+" ];
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.astsmtl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index f279127b62b..bcd3f3a453a 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "0gi5fzij48hmhhqxc370jxvxig5q3d70jiz56rjn8yx514s5lfwa";
   };
 
-  buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf pango gettext zlib boost fribidi
-                  cmake freetype libpng pkgconfig lua dbus fontconfig libtool ];
+  buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf pango gettext zlib
+                  boost fribidi cmake freetype libpng pkgconfig lua
+                  dbus fontconfig libtool ];
 
   cmakeFlags = [ "-DENABLE_STRICT_COMPILATION=FALSE" ]; # newer gcc problems http://gna.org/bugs/?21030
 
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index c39ffb1de05..8df3ef1e840 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -45,15 +45,15 @@ stdenv.mkDerivation rec {
   phases = "unpackPhase installPhase";
 
   # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ] 
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ] 
     + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis mesa ]
-    + ":" + stdenv.gcc.gcc + "/lib64";
+    + ":" + stdenv.cc.cc + "/lib64";
 
   installPhase = ''
     mkdir -p $out/libexec/2dboy/WorldOfGoo/
     mkdir -p $out/bin
 
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath $libPath ./WorldOfGoo.bin64
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath $libPath ./WorldOfGoo.bin64
 
     cp -r * $out/libexec/2dboy/WorldOfGoo/
 
diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix
index 97414c07bda..61329389d16 100644
--- a/pkgs/games/xboard/default.nix
+++ b/pkgs/games/xboard/default.nix
@@ -5,11 +5,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="xboard";
-    version="4.7.3";
+    version="4.8.0";
     name="${baseName}-${version}";
-    hash="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z";
-    url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.3.tar.gz";
-    sha256="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z";
+    hash="05rdj0nyirc4g1qi5hhrjy45y52ihp1j3ldq2c5bwrz0gzy4i3y8";
+    url="http://ftp.gnu.org/gnu/xboard/xboard-4.8.0.tar.gz";
+    sha256="05rdj0nyirc4g1qi5hhrjy45y52ihp1j3ldq2c5bwrz0gzy4i3y8";
   };
   buildInputs = [
     libX11 xproto libXt libXaw libSM libICE libXmu 
diff --git a/pkgs/games/xmoto/src-for-default.nix b/pkgs/games/xmoto/src-for-default.nix
index 60de24e16c7..beb3f6af164 100644
--- a/pkgs/games/xmoto/src-for-default.nix
+++ b/pkgs/games/xmoto/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="0.5.10";
-   name="xmoto-0.5.10";
-   hash="07lyvwb8v75hzp4iqvnxzabzrmwkd3ignfzpm4dgr9asd3j3h91d";
+   version="0.5.11";
+   name="xmoto-0.5.11";
+   hash="1ci6r8zd0l7z28cy92ddf9dmqbdqwinz2y1cny34c61b57wsd155";
    url="http://download.tuxfamily.org/xmoto/xmoto/${version}/xmoto-${version}-src.tar.gz";
-   advertisedUrl="http://download.tuxfamily.org/xmoto/xmoto/0.5.10/xmoto-0.5.10-src.tar.gz";
+   advertisedUrl="http://download.tuxfamily.org/xmoto/xmoto/0.5.11/xmoto-0.5.11-src.tar.gz";
   
   
 }
diff --git a/pkgs/games/xsnow/default.nix b/pkgs/games/xsnow/default.nix
new file mode 100644
index 00000000000..68b77dd091b
--- /dev/null
+++ b/pkgs/games/xsnow/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, libXt, libXpm, libXext, imake }:
+
+stdenv.mkDerivation rec {
+
+  version = "1.42";
+  name = "xsnow";
+
+  src = fetchurl {
+    url = "http://dropmix.xs4all.nl/rick/Xsnow/xsnow-${version}.tar.gz";
+    sha256 = "06jnbp88wc9i9dbmy7kggplw4hzlx2bhghxijmlhkjlizgqwimyh";
+  };
+
+  buildInputs = [
+    libXt libXpm libXext imake
+  ];
+
+  buildPhase = ''
+    xmkmf
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+    cp xsnow $out/bin/
+    cp xsnow.1 $out/share/man/man1/
+  '';
+
+  meta = {
+    description = "An X-windows application that will let it snow on the root, in between and on windows";
+    homepage = http://dropmix.xs4all.nl/rick/Xsnow/;
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [ stdenv.lib.maintainers.robberer ];
+  }; 
+}
diff --git a/pkgs/games/xsokoban/default.nix b/pkgs/games/xsokoban/default.nix
index b8c6096b756..8cdf07bb306 100644
--- a/pkgs/games/xsokoban/default.nix
+++ b/pkgs/games/xsokoban/default.nix
@@ -1,8 +1,8 @@
-a :  
-let 
+a :
+let
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "3.3c" a; 
+  version = a.lib.attrByPath ["version"] "3.3c" a;
   buildInputs = with a; [
     a.libX11 a.xproto a.libXpm a.libXt
   ];
@@ -35,15 +35,17 @@ rec {
     sed -e 's/getpass[(][^)]*[)]/PASSWORD/' -i main.c
     sed -e '/if [(]owner[)]/iowner=1;' -i main.c
   '') ["minInit" "doUnpack"];
-      
+
   preBuild = a.fullDepEntry (''
     sed -e "s@/usr/local/@$out/@" -i Makefile
-    sed -e "s@ /bin/@ @" -i Makefile 
+    sed -e "s@ /bin/@ @" -i Makefile
     mkdir -p $out/bin $out/share $out/man/man1 $out/lib
   '') ["minInit" "doConfigure" "defEnsureDir"];
 
   name = "xsokoban-" + version;
   meta = {
     description = "X sokoban";
+    license = a.stdenv.lib.licenses.publicDomain;
+    maintainers = [ a.stdenv.lib.maintainers.raskin ];
   };
 }
diff --git a/pkgs/games/zangband/default.nix b/pkgs/games/zangband/default.nix
index b94633d8d3a..d7b1c188076 100644
--- a/pkgs/games/zangband/default.nix
+++ b/pkgs/games/zangband/default.nix
@@ -1,8 +1,8 @@
-a :  
-let 
+a :
+let
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "2.7.3" a; 
+  version = a.lib.attrByPath ["version"] "2.7.3" a;
   buildInputs = with a; [
     ncurses flex bison autoconf automake m4
   ];
@@ -17,7 +17,7 @@ rec {
   configureFlags = [];
 
   preConfigure = a.fullDepEntry (''
-    chmod a+rwX -R . 
+    chmod a+rwX -R .
     sed -re 's/ch(own|grp|mod)/true/' -i lib/*/makefile.zb makefile.in
     sed -e '/FIXED_PATHS/d' -i src/z-config.h
     ./bootstrap
@@ -42,7 +42,7 @@ rec {
       done
       mkdir -p lib/user lib/save
       for i in lib/*/*.raw; do
-        test -L "$i" && rm "$i"; 
+        test -L "$i" && rm "$i";
       done
       for i in $(find lib -type l); do if ! test -e $(readlink "$i"); then rm "$i"; fi; done;
       export ANGBAND_PATH="$PWD"
@@ -53,10 +53,10 @@ rec {
 
   /* doConfigure should be removed if not needed */
   phaseNames = ["preConfigure" "doConfigure" "doMakeInstall" "postInstall"];
-      
+
   name = "zangband-" + version;
   meta = {
     description = "rogue-like game";
-    license = "non-free"; # Basically "not for commercial profit"
+    license = a.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/games/zod/default.nix b/pkgs/games/zod/default.nix
index 0b344873734..0d55f1cd13e 100644
--- a/pkgs/games/zod/default.nix
+++ b/pkgs/games/zod/default.nix
@@ -22,10 +22,10 @@ stdenv.mkDerivation rec {
     sourceRoot=`pwd`/src
   '';
 
-  buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer mysql
+  buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer mysql.lib
     makeWrapper ];
 
-  NIX_LDFLAGS="-L${mysql}/lib/mysql";
+  NIX_LDFLAGS="-L${mysql.lib}/lib/mysql";
 
   installPhase = ''
     mkdir -p $out/bin $out/share/zod
diff --git a/pkgs/misc/apulse/default.nix b/pkgs/misc/apulse/default.nix
new file mode 100644
index 00000000000..fc297ca9553
--- /dev/null
+++ b/pkgs/misc/apulse/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, alsaLib, cmake, pkgconfig, glib }:
+
+stdenv.mkDerivation rec {
+  name = "apulse-${version}";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "i-rinat";
+    repo = "apulse";
+    rev = "v${version}";
+    sha256 = "0b384dr415flxk3n4abfwfljlh7vvr1g9gad15zc5fgbyxsinv12";
+  };
+
+  buildInputs =
+    [ alsaLib cmake pkgconfig glib ];
+
+  meta = with stdenv.lib; {
+    description = "PulseAudio emulation for ALSA";
+    homepage = "https://github.com/i-rinat/apulse";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.jagajaga ];
+  };
+}
diff --git a/pkgs/misc/beep/default.nix b/pkgs/misc/beep/default.nix
index b5e4adfa0b9..ce097bd5f23 100644
--- a/pkgs/misc/beep/default.nix
+++ b/pkgs/misc/beep/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   name = "beep-1.3";
   src = fetchurl {
     url = http://www.johnath.com/beep/beep-1.3.tar.gz;
-    md5 = "49c340ceb95dbda3f97b2daafac7892a";
+    sha256 = "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r";
   };
 
   makeFlags = "INSTALL_DIR=\${out}/bin/ MAN_DIR=\${out}/man/man1/";
@@ -20,5 +20,6 @@ stdenv.mkDerivation {
     description = "The advanced PC speaker beeper";
     homepage = http://www.johnath.com/beep/;
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index db6acb4cd0d..f91d53c81a5 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl
-, dbus, libusb, acl }:
+, dbus, libusb, acl, gmp }:
 
-let version = "1.5.4"; in
+let version = "1.7.5"; in
 
 stdenv.mkDerivation {
   name = "cups-${version}";
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
   passthru = { inherit version; };
 
   src = fetchurl {
-    url = "http://ftp.easysw.com/pub/cups/${version}/cups-${version}-source.tar.bz2";
-    md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
+    url = "https://www.cups.org/software/${version}/cups-${version}-source.tar.bz2";
+    sha256 = "00mx4rpiqw9cwx46bd3hd5lcgmcxy63zfnmkr02smanv8xl4rjqq";
   };
 
   # FIXME: Split off the cups client library.
@@ -19,9 +19,9 @@ stdenv.mkDerivation {
   buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ]
     ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus.libs acl ] ;
 
-  propagatedBuildInputs = [ openssl ];
+  propagatedBuildInputs = [ openssl gmp ];
 
-  configureFlags = "--localstatedir=/var --enable-dbus"; # --with-dbusdir
+  configureFlags = "--localstatedir=/var --sysconfdir=/etc --enable-dbus"; # --with-dbusdir
 
   installFlags =
     [ # Don't try to write in /var at build time.
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
       "DBUSDIR=$(out)/etc/dbus-1"
       "INITDIR=$(out)/etc/rc.d"
       "XINETD=$(out)/etc/xinetd.d"
+      "SERVERROOT=$(out)/etc/cups"
       # Idem for /usr.
       "MENUDIR=$(out)/share/applications"
       "ICONDIR=$(out)/share/icons"
@@ -43,6 +44,9 @@ stdenv.mkDerivation {
 
   postInstall =
     ''
+      # Delete obsolete stuff that conflicts with cups-filters.
+      rm -rf $out/share/cups/banners $out/share/cups/data/testprint
+
       mkdir $dev/bin
       mv $out/bin/cups-config $dev/bin/
     '';
diff --git a/pkgs/misc/cups/drivers/cups-bjnp/default.nix b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
index 1ed74c57435..aa75012a8bc 100644
--- a/pkgs/misc/cups/drivers/cups-bjnp/default.nix
+++ b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cups}:
 
 stdenv.mkDerivation rec {
-  name = "cups-bjnp-1.2.1";
+  name = "cups-bjnp-1.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/cups-bjnp/${name}.tar.gz";
-    sha256 = "0fjpp0mmmwfcr790hfjs0brsxxb7dz7v2xab6wc30rwzkqmgz95x";
+    sha256 = "0sb0vm1sf8ismzd9ba33qswxmsirj2z1b7lnyrc9v5ixm7q0bnrm";
   };
 
   preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"'';
diff --git a/pkgs/misc/cups/drivers/samsung/builder.sh b/pkgs/misc/cups/drivers/samsung/builder.sh
index 58e1c0cd781..f750df6e506 100644
--- a/pkgs/misc/cups/drivers/samsung/builder.sh
+++ b/pkgs/misc/cups/drivers/samsung/builder.sh
@@ -1,15 +1,14 @@
 source $stdenv/setup
 
 arch=$(uname -m)
-# replace i[3456]86 with i386
-echo arch | egrep -q '^i[3456]86$' && arch=i386
-arch=i386
+echo "$arch" | egrep -q '^i[3456]86$' && arch=i386
+echo "Installing for $arch"
+
 unpackPhase
 patchPhase
 
 set -v
 
-echo $arch
 cd cdroot/Linux
 mkdir -p $out/opt
 cp -r $arch/at_root/* $out
@@ -18,8 +17,8 @@ cp -r $arch/at_opt/* $out/opt
 cp -r noarch/at_opt/* $out/opt
 
 cd $out
-#test -d usr/lib64 && ln -s usr/lib64 lib || 
-ln -s usr/lib lib
+test -d usr/lib64 && ln -s usr/lib64 lib ||
+    ln -s usr/lib lib
 mkdir -p share/cups
 cd share/cups
 ln -s ../../opt/share/* .
@@ -27,8 +26,9 @@ ln -s ppd model
 
 cd $out/lib/cups/filter
 for i in $(ls); do
-    echo patching $i...
-    patchelf --set-interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) $i || echo "(couldn't set interpreter)"
+    echo "Patching $i..."
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $i ||
+      echo "Couldn't set interpreter!"
     patchelf --set-rpath $cups/lib:$gcc/lib:$glibc/lib $i  # This might not be necessary.
 done
 
diff --git a/pkgs/misc/cups/drivers/samsung/default.nix b/pkgs/misc/cups/drivers/samsung/default.nix
index ab0c0dc25e4..b78104a7ddc 100644
--- a/pkgs/misc/cups/drivers/samsung/default.nix
+++ b/pkgs/misc/cups/drivers/samsung/default.nix
@@ -13,12 +13,15 @@
 
 {stdenv, fetchurl, cups, gcc, ghostscript, glibc, patchelf}:
 
-stdenv.mkDerivation rec {
-  name = "samsung-UnifiedLinuxDriver-0.92";
+# Do not bump lightly! Visit <http://www.bchemnet.com/suldr/supported.html>
+# to see what will break when upgrading. Consider a new versioned attribute.
+let version = "4.00.39"; in
+stdenv.mkDerivation {
+  name = "samsung-UnifiedLinuxDriver-${version}";
 
   src = fetchurl {
-    url = "http://downloadcenter.samsung.com/content/DR/200911/20091103171827750/UnifiedLinuxDriver_0.92.tar.gz";
-    sha256 = "0p2am0p8xvm339mad07c4j77gz31m63z76sy6d9hgwmxy2prbqfq";
+    url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${version}.tar.gz";
+    sha256 = "144b4xggbzjfq7ga5nza7nra2cf6qn63z5ls7ba1jybkx1vm369k";
   };
 
   buildInputs = [ cups gcc ghostscript glibc patchelf ];
@@ -27,9 +30,11 @@ stdenv.mkDerivation rec {
 
   builder = ./builder.sh;
 
-  meta = {
-    description = "Samsung's Linux drivers; includes binaries without source code";
-    homepage = "http://www.samsung.com/";
-    license = "samsung";  # Binary-only
+  meta = with stdenv.lib; {
+    description = "Samsung's Linux printing drivers; includes binaries without source code";
+    homepage = http://www.samsung.com/;
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
new file mode 100644
index 00000000000..269f0df1090
--- /dev/null
+++ b/pkgs/misc/cups/filters.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, pkgconfig, cups, poppler, poppler_utils, fontconfig
+, libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash }:
+
+stdenv.mkDerivation rec {
+  name = "cups-filters-${version}";
+  version = "1.0.61";
+
+  src = fetchurl {
+    url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
+    sha256 = "1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./longer-shell-path.patch;
+      bash = "${bash}/bin/bash";
+    })
+
+    # Fix build with poppler-0.31.0
+    (fetchurl {
+      url = "https://bugs.linuxfoundation.org/attachment.cgi?id=476";
+      name = "cups-filters-poppler-0.31.0.patch";
+      sha256 = "016pzksz4nl1sv3p5ahlnbmb7c899yrvlzq8jxic0gvdrzwd5bl4";
+    })
+  ];
+
+  buildInputs = [
+    pkgconfig cups poppler poppler_utils fontconfig libjpeg libpng perl
+    ijs qpdf dbus
+  ];
+
+  preBuild = ''
+    substituteInPlace Makefile --replace "/etc/rc.d" "$out/etc/rc.d"
+  '';
+
+  configureFlags = "--with-pdftops=pdftops --enable-imagefilters";
+
+  makeFlags = "CUPS_SERVERBIN=$(out)/lib/cups CUPS_DATADIR=$(out)/share/cups CUPS_SERVERROOT=$(out)/etc/cups";
+
+  postConfigure =
+    ''
+      # Ensure that bannertopdf can find the PDF templates in
+      # $out. (By default, it assumes that cups and cups-filters are
+      # installed in the same prefix.)
+      substituteInPlace config.h --replace ${cups}/share/cups/data $out/share/cups/data
+
+      # Ensure that gstoraster can find gs in $PATH.
+      substituteInPlace filter/gstoraster.c --replace execve execvpe
+    '';
+
+  postInstall =
+    ''
+      for i in $out/lib/cups/filter/{pstopdf,texttops,imagetops}; do
+        substituteInPlace $i --replace 'which ' 'type -p '
+      done
+    '';
+
+  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;
+  };
+}
diff --git a/pkgs/misc/cups/longer-shell-path.patch b/pkgs/misc/cups/longer-shell-path.patch
new file mode 100644
index 00000000000..a15fd483225
--- /dev/null
+++ b/pkgs/misc/cups/longer-shell-path.patch
@@ -0,0 +1,13 @@
+diff --git a/filter/foomatic-rip/foomaticrip.c b/filter/foomatic-rip/foomaticrip.c
+index 1c019aa..431d2f9 100644
+--- a/filter/foomatic-rip/foomaticrip.c
++++ b/filter/foomatic-rip/foomaticrip.c
+@@ -174,7 +174,7 @@ char cupsfilterpath[PATH_MAX] = "/usr/local/lib/cups/filter:"
+                                 "/opt/cups/filter:"
+                                 "/usr/lib/cups/filter";
+ 
+-char modern_shell[64] = "/bin/bash";
++char modern_shell[128] = "@bash@";
+ 
+ void config_set_option(const char *key, const char *value)
+ {
diff --git a/pkgs/misc/cups/pdf-filter.nix b/pkgs/misc/cups/pdf-filter.nix
deleted file mode 100644
index e99ad03212c..00000000000
--- a/pkgs/misc/cups/pdf-filter.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, cups, poppler }:
-
-stdenv.mkDerivation {
-  name = "cups-pdf-filter-${cups.version}";
-
-  inherit (cups) src;
-
-  buildInputs = [ pkgconfig cups poppler ];
-
-  preConfigure = ''
-    sed -e 's@\.\./cups/$(LIBCUPS)@@' -e 's@$(LIBCUPSIMAGE)@@' -i filter/Makefile
-    '';
-
-  NIX_LDFLAGS="-L${cups}/lib";
-
-  configureFlags = ''
-    --localstatedir=/var --enable-dbus
-    --enable-image --with-pdftops=pdftops'';
-
-  buildPhase = ''
-    cd filter
-    make pdftops
-    '';
-
-  installPhase = ''
-    mkdir -pv $out/lib/cups/filter $out/share/cups/mime
-    cp -v pdftops $out/lib/cups/filter
-    echo >$out/share/cups/mime/pdftops.convs 'application/pdf application/vnd.cups-postscript 66 pdftops'
-    '';
-
-
-  meta = {
-    homepage = http://www.cups.org/;
-    description = "Image and pdf filters for CUPS";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
index f618a28b4d6..bdba1eb7b81 100644
--- a/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, cups, dbus }:
+{ stdenv, fetchurl, pkgconfig, perl, cups, dbus, enscript }:
 
 stdenv.mkDerivation rec {
   name = "foomatic-filters-4.0.17";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1qrkgbm5jay2r7sh9qbyf0aiyrsl1mdc844hxf7fhw95a0zfbqm2";
   };
 
-  buildInputs = [ pkgconfig perl cups dbus ];
+  buildInputs = [ pkgconfig perl cups dbus enscript ];
 
   preConfigure =
     ''
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Foomatic printing filters";
-    maintainers = stdenv.lib.maintainers.raskin;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2Plus;
   };
diff --git a/pkgs/misc/drivers/gutenprint/bin.nix b/pkgs/misc/drivers/gutenprint/bin.nix
index 1def4b7d1c9..b5ab61edb95 100644
--- a/pkgs/misc/drivers/gutenprint/bin.nix
+++ b/pkgs/misc/drivers/gutenprint/bin.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
 
   phases = "buildPhase";
 
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc zlib ];
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc zlib ];
 
   buildPhase = ''
     ar -x $src data.tar.gz
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
         $out/cups/lib/backend/{canon,epson} \
         $out/sbin/cups-genppd.5.0 \
       ; do
-      patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           --set-rpath $libPath $p
     done
     
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index ebec9867a61..98776c0c42b 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -3,7 +3,7 @@
 , libtiff, libpng, makeWrapper, openssl, gimp }:
 
 let
-   version = "5.2.9";
+   version = "5.2.10";
    inherit (composableDerivation) edf wwf;
 in
 
@@ -12,7 +12,7 @@ composableDerivation.composableDerivation {} {
 
   src = fetchurl {
     url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
-    sha256 = "185wai9hk0z0144hpxn5mqncy6xikc4bdv49vxqh5lrjdzqf89sb";
+    sha256 = "0n8f6vpadnagrp6yib3mca1c3lgwl4vmma16s44riyrd84mka7s3";
   };
 
   # gimp, gui is still not working (TODO)
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index a4d2ca621a1..b40aab73a4d 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -1,23 +1,35 @@
 { stdenv, fetchurl, automake, pkgconfig
 , cups, zlib, libjpeg, libusb1, pythonPackages, saneBackends, dbus
 , polkit, qtSupport ? true, qt4, pythonDBus, pyqt4, net_snmp
-, withPlugin ? false
+, withPlugin ? false, substituteAll
 }:
 
-stdenv.mkDerivation rec {
-  name = "hplip-3.14.4";
+let
+
+  name = "hplip-3.15.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/hplip/${name}.tar.gz";
-    sha256 = "1j8h44f8igl95wqypj4rk9awcw513hlps980jmcnkx60xghc4l6f";
+    sha256 = "0z7n62vdbr0p0kls1m2sr3nhvkhx3rawcbzd0zdl0lnq8fkyq0jz";
   };
 
+  hplip_state =
+    substituteAll
+      {
+        src = ./hplip.state;
+        # evaluated this way, version is always up-to-date
+        version = (builtins.parseDrvName name).version;
+      };
+
   plugin = fetchurl {
     url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
-    sha256 = "0k1vpmy7babbm3c5v4dcbhq0jgyr8as722nylfs8zx0dy7kr8874";
+    sha256 = "0j8z8m3ygwahka7jv3hpzvfz187lh3kzzjhcy7grgaw2k01v5frm";
   };
 
-  hplip_state = ./hplip.state;
+in
+
+stdenv.mkDerivation {
+  inherit name src;
 
   prePatch = ''
     # HPLIP hardcodes absolute paths everywhere. Nuke from orbit.
@@ -118,8 +130,10 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Print, scan and fax HP drivers for Linux";
     homepage = http://hplipopensource.com/;
-    license = if withPlugin then licenses.unfree else "free"; # MIT/BSD/GPL
+    license = if withPlugin
+      then licenses.unfree
+      else with licenses; [ mit bsd2 gpl2Plus ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ttuegel ];
+    maintainers = with maintainers; [ ttuegel jgeerds ];
   };
 }
diff --git a/pkgs/misc/drivers/hplip/hplip.state b/pkgs/misc/drivers/hplip/hplip.state
index 52679963f06..9d19a93f364 100644
--- a/pkgs/misc/drivers/hplip/hplip.state
+++ b/pkgs/misc/drivers/hplip/hplip.state
@@ -1,4 +1,4 @@
 [plugin]
 installed=1
 eula=1
-version=3.14.4
+version=@version@
diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix
index 7164f7d6f15..a40dd0bd31d 100644
--- a/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/pkgs/misc/drivers/xboxdrv/default.nix
@@ -18,9 +18,8 @@ in stdenv.mkDerivation {
   buildInputs = [ scons libX11 pkgconfig libusb1 boost glib dbus_glib];
 
   meta = with stdenv.lib; {
-    homepage = "http://pingus.seul.org/~grumbel/xboxdrv/";
-    description =
-      "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace.";
+    homepage = http://pingus.seul.org/~grumbel/xboxdrv/;
+    description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.fuuzetsu ];
   };
diff --git a/pkgs/misc/drivers/xwiimote/default.nix b/pkgs/misc/drivers/xwiimote/default.nix
new file mode 100644
index 00000000000..75e071a05ef
--- /dev/null
+++ b/pkgs/misc/drivers/xwiimote/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, udev, ncurses, pkgconfig, fetchurl, bluez }:
+
+stdenv.mkDerivation rec {
+  name = "xwiimote";
+  src = fetchurl {
+    url = "https://github.com/dvdhrm/xwiimote/releases/download/xwiimote-2/xwiimote-2.tar.xz";
+    sha256 = "1g9cbhblll47l300zr999xr51x2g98y49l222f77fhswd12kjzhd";
+  };
+
+  buildInputs = [ udev ncurses pkgconfig bluez ];
+
+  configureFlags = "--with-doxygen=no";
+
+  meta = {
+    homepage = http://dvdhrm.github.io/xwiimote;
+    description = "Userspace utilities to control connected Nintendo Wii Remotes";
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  postInstallPhase = ''
+    mkdir -p "$out/etc/X11/xorg.conf.d/"
+    cp "res/50-xorg-fix-xwiimote.conf" "$out/etc/X11/xorg.conf.d/50-fix-xwiimote.conf"
+  '';
+}
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index 5b1576bd97c..c2a4c7d3d8b 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
   rom = fetchurl {
     url = mirror://sourceforge/atari800/xf25.zip;
-    md5 = "4dc3b6b4313e9596c4d474785a37b94d";
+    sha256 = "12jbawxs04i0wm3910n7f3phsybdp8nndxc0xlsnzp8k0k8hmblq";
   };
   buildInputs = [unzip zlib SDL];
   configureFlags = "--target=sdl";
diff --git a/pkgs/misc/emulators/cdemu/analyzer.nix b/pkgs/misc/emulators/cdemu/analyzer.nix
new file mode 100644
index 00000000000..6126108b642
--- /dev/null
+++ b/pkgs/misc/emulators/cdemu/analyzer.nix
@@ -0,0 +1,15 @@
+{ callPackage, gtk3, glib, libxml2, gnuplot, makeWrapper, stdenv, gnome3, gdk_pixbuf, librsvg }:
+let pkg = import ./base.nix {
+  version = "3.0.0";
+  pkgName = "image-analyzer";
+  pkgSha256 = "1rb3f7c08dxc02zrwrkfvq7qlzlmm0kd2ah1fhxj6ajiyshi8q4v";
+};
+in callPackage pkg {
+  buildInputs = [ glib gtk3 libxml2 gnuplot (callPackage ./libmirage.nix {}) makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme gdk_pixbuf librsvg ];
+  drvParams = {
+    postFixup = ''
+      wrapProgram $out/bin/image-analyzer \
+        --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    '';
+  };
+}
diff --git a/pkgs/misc/emulators/cdemu/base.nix b/pkgs/misc/emulators/cdemu/base.nix
new file mode 100644
index 00000000000..b2b641e3f7a
--- /dev/null
+++ b/pkgs/misc/emulators/cdemu/base.nix
@@ -0,0 +1,37 @@
+{ pkgName, version, pkgSha256 }:
+{ stdenv, fetchurl, cmake, pkgconfig, buildInputs, drvParams ? {} }:
+let name = "${pkgName}-${version}";
+in stdenv.mkDerivation ({
+  inherit name buildInputs;
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/cdemu/${name}.tar.bz2";
+    sha256 = pkgSha256;
+  };
+  nativeBuildInputs = [ pkgconfig cmake ];
+  setSourceRoot = ''
+    mkdir build
+    cd build
+    sourceRoot="`pwd`"
+  '';
+  configurePhase = ''
+    cmake ../${name} -DCMAKE_INSTALL_PREFIX=$out -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON
+  '';
+  meta = {
+    description = "CDemu is a software suite designed to emulate an optical drive and disc (including CD-ROMs and DVD-ROMs) on the Linux operating system.";
+    longDescription = ''
+      CDEmu consists of:
+
+      - a kernel module implementing a virtual drive-controller
+      - libmirage which is a software library for interpreting optical disc images
+      - a daemon which emulates the functionality of an optical drive+disc
+      - textmode and GTK clients for controlling the emulator
+      - an image analyzer to view the structure of image files
+
+      Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
+    '';
+    homepage = "http://cdemu.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ "Rok Mandeljc <mrok AT users DOT sourceforge DOT net>" ];
+  };
+} // drvParams)
diff --git a/pkgs/misc/emulators/cdemu/client.nix b/pkgs/misc/emulators/cdemu/client.nix
new file mode 100644
index 00000000000..e590cf60ac0
--- /dev/null
+++ b/pkgs/misc/emulators/cdemu/client.nix
@@ -0,0 +1,15 @@
+{ callPackage, python, dbus_python, intltool, makeWrapper }:
+let pkg = import ./base.nix {
+  version = "3.0.0";
+  pkgName = "cdemu-client";
+  pkgSha256 = "125f6j7c52a0c7smbx323vdpwhx24yl0vglkiyfcbm92fjji14rm";
+};
+in callPackage pkg {
+  buildInputs = [ python dbus_python intltool makeWrapper ];
+  drvParams = {
+    postFixup = ''
+      wrapProgram $out/bin/cdemu \
+        --set PYTHONPATH "$PYTHONPATH"
+    '';
+  };
+}
diff --git a/pkgs/misc/emulators/cdemu/daemon.nix b/pkgs/misc/emulators/cdemu/daemon.nix
new file mode 100644
index 00000000000..cc7a619b14f
--- /dev/null
+++ b/pkgs/misc/emulators/cdemu/daemon.nix
@@ -0,0 +1,9 @@
+{ callPackage, glib, libao }:
+let pkg = import ./base.nix {
+  version = "3.0.2";
+  pkgName = "cdemu-daemon";
+  pkgSha256 = "01jg9b1nkqrbh6binfcbyraz83s9yjavgwi3y4w1bmqg5qlhv6lc";
+};
+in callPackage pkg {
+  buildInputs = [ glib libao (callPackage ./libmirage.nix {}) ];
+}
diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/misc/emulators/cdemu/gui.nix
new file mode 100644
index 00000000000..b3d7f6d23ec
--- /dev/null
+++ b/pkgs/misc/emulators/cdemu/gui.nix
@@ -0,0 +1,18 @@
+{ callPackage, python, pygobject3, gtk3, glib, libnotify, intltool, makeWrapper, gobjectIntrospection, gnome3, gdk_pixbuf, librsvg }:
+let pkg = import ./base.nix {
+  version = "3.0.0";
+  pkgName = "gcdemu";
+  pkgSha256 = "1m5ab325r586v2y2d93a817phn6wck67y5mfkf948mph40ks0mqk";
+};
+in callPackage pkg {
+  buildInputs = [ python pygobject3 gtk3 glib libnotify intltool makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme gdk_pixbuf librsvg ];
+  drvParams = {
+    postFixup = ''
+      wrapProgram $out/bin/gcdemu \
+        --set PYTHONPATH "$PYTHONPATH" \
+        --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \
+        --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    '';
+    # TODO AppIndicator
+  };
+}
diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/misc/emulators/cdemu/libmirage.nix
new file mode 100644
index 00000000000..f6ae5d132fc
--- /dev/null
+++ b/pkgs/misc/emulators/cdemu/libmirage.nix
@@ -0,0 +1,9 @@
+{ callPackage, glib, libsndfile, zlib, bzip2, lzma, libsamplerate }:
+let pkg = import ./base.nix {
+  version = "3.0.3";
+  pkgName = "libmirage";
+  pkgSha256 = "03idg94h5qhmnnc8g9dw8yqf14yv2paph5n77dfmg925f3z70nyn";
+};
+in callPackage pkg {
+  buildInputs = [ glib libsndfile zlib bzip2 lzma libsamplerate ];
+}
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/misc/emulators/cdemu/vhba.nix
new file mode 100644
index 00000000000..d4596be03a6
--- /dev/null
+++ b/pkgs/misc/emulators/cdemu/vhba.nix
@@ -0,0 +1,12 @@
+{ stdenv, fetchurl, kernel }:
+let version = "20140928";
+in stdenv.mkDerivation {
+  name = "vhba-${version}";
+  src  = fetchurl {
+    url = "http://downloads.sourceforge.net/cdemu/vhba-module-${version}.tar.bz2";
+    sha256 = "18jmpg2kpx87f32b8aprr1pxla9dlhf901rkj1sp3ammf94nxxa5";
+  };
+  preBuild = ''
+    makeFlags="KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build INSTALL_MOD_PATH=$out";
+  '';
+}
diff --git a/pkgs/misc/emulators/darcnes/default.nix b/pkgs/misc/emulators/darcnes/default.nix
index 15ab18495d2..12c76c89790 100644
--- a/pkgs/misc/emulators/darcnes/default.nix
+++ b/pkgs/misc/emulators/darcnes/default.nix
@@ -2,7 +2,7 @@
 
 assert stdenv.system == "i686-linux";
 
-stdenv.mkDerivation { 
+stdenv.mkDerivation {
   name = "darcnes-9b0401";
   src = fetchurl {
     url = http://www.dridus.com/~nyef/darcnes/download/dn9b0401.tgz;
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     homepage = http://www.dridus.com/~nyef/darcnes/;
     description = "Multi-System emulator, specially for NES";
     /* Prohibited commercial use, credit required. */
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 
 }
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
new file mode 100644
index 00000000000..275e6f06520
--- /dev/null
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
+, gettext, libpthreadstubs, libXrandr, libXext, readline
+, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchurl
+, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "dolphin-emu-4.0.2";
+  src = fetchurl {
+    url = https://github.com/dolphin-emu/dolphin/archive/4.0.2.tar.gz;
+    sha256 = "0a8ikcxdify9d7lqz8fn2axk2hq4q1nvbcsi1b8vb9z0mdrhzw89";
+  };
+
+  cmakeFlags = ''
+    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
+    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include
+    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DCMAKE_BUILD_TYPE=Release
+    -DENABLE_LTO=True
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
+                  gettext libpthreadstubs libXrandr libXext readline openal
+                  libXdmcp portaudio SDL wxGTK30 pulseaudio ];
+
+  meta = {
+    homepage = http://dolphin-emu.org/;
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
new file mode 100644
index 00000000000..640d8f4fe6c
--- /dev/null
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -0,0 +1,38 @@
+{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
+, gettext, git, libpthreadstubs, libXrandr, libXext, readline
+, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchgit
+, pulseaudio ? null }:
+
+stdenv.mkDerivation rec {
+  name = "dolphin-emu-20150403";
+  src = fetchgit {
+    url = git://github.com/dolphin-emu/dolphin.git;
+    rev = "38236fb8e8370f9f1ca1482ffa94b08c4595f2aa";
+    sha256 = "14v86c042jz5adqk6ngqbzl5xna7m69i39y7q23s7h6ra75461yf";
+    fetchSubmodules = false;
+  };
+
+  cmakeFlags = ''
+    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
+    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include
+    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DCMAKE_BUILD_TYPE=Release
+    -DENABLE_LTO=True
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
+                  gettext libpthreadstubs libXrandr libXext readline openal
+                  git libXdmcp portaudio SDL wxGTK30 pulseaudio ];
+
+  meta = {
+    homepage = http://dolphin-emu.org/;
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+    # x86_32 is an unsupported platform.
+    # Enable generic build if you really want a JIT-less binary.
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index 5767786e814..6ff0a21135a 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -1,25 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, cmake, boost, eigen, freeimage, freetype
-, mesa, SDL, dejavu_fonts }:
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen
+, freeimage, freetype, mesa, SDL2, alsaLib, libarchive }:
 
 stdenv.mkDerivation rec {
   name = "emulationstation-${version}";
-  version = "1.0.2";
-  src = fetchurl {
-    url = "https://github.com/Aloshi/EmulationStation/archive/v${version}.tar.gz";
-    sha256 = "809d67aaa727809c1426fb543e36bb788ca6a3404f8c46dd1917088b57ab5f50";
-  };
+  version = "2.0.0-rc1";
 
-  buildInputs = [ pkgconfig cmake boost eigen freeimage freetype mesa SDL ];
+  src = fetchFromGitHub {
+    owner = "Aloshi";
+    repo = "EmulationStation";
+    rev = "8739519e1591819cab85e1d2056804d20c197dac";
+    sha256 = "1psq5cqyq2yy1lqxrcj7pfp8szfmzhamxf3111l97w2h2zzcgvq9";
+  };
 
-  prePatch = ''
-    sed -i \
-      -e 's,/usr\(.*\)/ttf-dejavu\(.*\),${dejavu_fonts}\1\2,' src/Font.cpp
-  '';
+  buildInputs = [ pkgconfig cmake alsaLib boost curl eigen freeimage freetype libarchive mesa SDL2 ];
 
   buildPhase = "cmake . && make";
   installPhase = ''
-    mkdir -p $out/bin
-    mv ../emulationstation $out/bin/.
+    install -D ../emulationstation $out/bin/emulationstation
   '';
 
   meta = {
diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/misc/emulators/fs-uae/default.nix
new file mode 100644
index 00000000000..545691fa4d0
--- /dev/null
+++ b/pkgs/misc/emulators/fs-uae/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig
+, gettext, gtk, SDL, zlib, glib, openal, mesa, lua, freetype }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+
+  name = "fs-uae-${version}";
+  version = "2.4.1";
+
+  src = fetchurl {
+    urls = [ "http://fs-uae.net/fs-uae/stable/${version}/${name}.tar.gz" ];
+    sha256 = "05gvnrkl1aclq1a6z57k6rmdnsg2ghyjcscwq0w5dhc5vcalv6f0";
+  };
+
+  buildInputs = [ pkgconfig gettext gtk SDL zlib glib openal mesa lua freetype ];
+
+  phases = "unpackPhase buildPhase installPhase";
+
+  # Strange: the docs recommend SDL2, but it does compile only with SDL1
+  buildPhase = "make sdl=1";
+  installPhase = "make install prefix=$out";
+
+  meta = {
+    description = "An accurate, customizable Amiga Emulator";
+    longDescription = ''
+      FS-UAE integrates the most accurate Amiga emulation code available
+      from WinUAE. FS-UAE emulates A500, A500+, A600, A1200, A1000, A3000
+      and A4000 models, but you can tweak the hardware configuration and
+      create customized Amigas.
+    '';
+    license = licenses.gpl2Plus;
+    homepage = http://fs-uae.net;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/misc/emulators/hatari/default.nix
index 5c9138ed2e2..1206bdefcb1 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/misc/emulators/hatari/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, SDL, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "hatari-1.6.2";
+  name = "hatari-1.8.0";
 
   src = fetchurl {
-    url = "http://download.tuxfamily.org/hatari/1.6.2/${name}.tar.bz2";
-    sha256 = "0gqvfqqd0lg3hi261rwh6gi2b5kmza480kfzx43d4l49xcq09pi0";
+    url = "http://download.tuxfamily.org/hatari/1.8.0/${name}.tar.bz2";
+    sha256 = "1szznnndmbyc71751hir3dhybmbrx3rnxs6klgbv9qvqlmmlikvy";
   };
 
   # For pthread_cancel
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     description = "Atari ST/STE/TT/Falcon emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
new file mode 100644
index 00000000000..3eb60b81b81
--- /dev/null
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -0,0 +1,90 @@
+{ stdenv, fetchurl
+, pkgconfig
+, libX11, libXv
+, udev
+, mesa, SDL
+, libao, openal, pulseaudio
+, profile ? "performance" # Options: accuracy, balanced, performance
+, guiToolkit ? "gtk" # can be gtk or qt4
+, gtk ? null, qt4 ? null }:
+
+assert guiToolkit == "gtk" || guiToolkit == "qt4";
+assert (guiToolkit == "gtk" -> gtk != null) || (guiToolkit == "qt4" -> qt4 != null);
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "higan-${version}";
+  version = "094";
+  sourceName = "higan_v${version}-source";
+
+  src = fetchurl {
+    urls = [ "http://files.byuu.org/download/${sourceName}.tar.xz" ];
+    sha256 = "06qm271pzf3qf2labfw2lx6k0xcd89jndmn0jzmnc40cspwrs52y";
+    curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick...
+  };
+
+  buildInputs =
+  [ pkgconfig libX11 libXv udev mesa SDL libao openal pulseaudio ]
+  ++ optionals (guiToolkit == "gtk") [ gtk ]
+  ++ optionals (guiToolkit == "qt4") [ qt4 ];
+
+  buildPhase = ''
+    make phoenix=${guiToolkit} profile=${profile} -C ananke
+    make phoenix=${guiToolkit} profile=${profile}
+  '';
+
+  installPhase = ''
+    install -dm 755 $out/share/applications $out/share/pixmaps $out/share/higan/Video\ Shaders $out/bin $out/lib
+
+    install -m 644 data/higan.desktop $out/share/applications/
+    install -m 644 data/higan.png $out/share/pixmaps/
+    cp -dr --no-preserve=ownership profile/* data/cheats.bml $out/share/higan/
+    cp -dr --no-preserve=ownership shaders/*.shader $out/share/higan/Video\ Shaders/
+
+    install -m 755 out/higan $out/bin/higan
+    install -m 644 ananke/libananke.so $out/lib/libananke.so.1
+    (cd $out/lib && ln -s libananke.so.1 libananke.so)
+  '';
+
+  fixupPhase = ''
+    oldRPath=$(patchelf --print-rpath $out/bin/higan)
+    patchelf --set-rpath $oldRPath:$out/lib $out/bin/higan
+
+    # A dirty workaround, suggested by @cpages:
+    # we create a first-run script to populate
+    # the local $HOME with all the auxiliary
+    # stuff needed by higan at runtime
+
+    cat <<EOF > $out/bin/higan-init.sh
+    #!${stdenv.shell}
+
+    cp --update --recursive $out/share/higan \$HOME/.config
+    chmod --recursive u+w \$HOME/.config/higan
+    EOF
+
+    chmod +x $out/bin/higan-init.sh
+  '';
+
+  meta = {
+    description = "An open-source, cycle-accurate Nintendo multi-system emulator";
+    longDescription = ''
+      Higan (formerly bsnes) is a Nintendo multi-system emulator.
+      It currently supports the following systems:
+        Famicom; Super Famicom;
+        Game Boy; Game Boy Color; Game Boy Advance
+      higan also supports the following subsystems:
+        Super Game Boy; BS-X Satellaview; Sufami Turbo
+    '';
+    homepage = http://byuu.org/higan/;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
+
+#
+# TODO:
+#   - fix the BML and BIOS paths - maybe submitting
+#     a custom patch to Higan project would not be a bad idea...
+#   - Qt support
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index e3bb3965739..6fe92e4cfb6 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   name = "mednafen-${version}";
-  version = "0.9.36.3";
+  version = "0.9.36.4";
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/project/mednafen/Mednafen/${version}/${name}.tar.bz2";
-    sha256 = "00byql2p28l4476mvzmv5ysclb6yv9f4qrf6vz0x7ii648rp97in";
+    sha256 = "0s6dhdar6y64fah2ij98a9gskm0rzcbqdbksicnba8cakc87nsfy";
   };
 
   buildInputs = with stdenv.lib;
@@ -25,11 +25,11 @@ stdenv.mkDerivation rec {
     install -m 644 -t $out/share/doc/$name *.css *.def *.html *.php *.png *.txt
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator";
     homepage = http://mednafen.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/misc/emulators/mednafen/server.nix
index d4515b7db03..ce361ef9fbc 100644
--- a/pkgs/misc/emulators/mednafen/server.nix
+++ b/pkgs/misc/emulators/mednafen/server.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
     install -m 644 -t $out/share/$name standard.conf
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Netplay server for Mednafen";
     homepage = http://mednafen.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/nestopia/build-fix.patch b/pkgs/misc/emulators/nestopia/build-fix.patch
new file mode 100644
index 00000000000..a7d82ead15c
--- /dev/null
+++ b/pkgs/misc/emulators/nestopia/build-fix.patch
@@ -0,0 +1,18 @@
+diff -wbBur rdanbrook-nestopia-f1dde9b/Makefile rdanbrook-nestopia-f1dde9b.my/Makefile
+--- rdanbrook-nestopia-f1dde9b/Makefile	2013-01-20 20:10:25.000000000 +0400
++++ rdanbrook-nestopia-f1dde9b.my/Makefile	2013-01-21 15:18:54.727577673 +0400
+@@ -197,11 +197,11 @@
+ 	install -m 0644 NstDatabase.xml $(DATADIR)
+ 	install -m 0644 source/unix/icons/*.png $(DATADIR)/icons
+ 	install -m 0644 source/unix/icons/*.svg $(DATADIR)/icons
+-	install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps
+-	xdg-desktop-menu install --novendor $(DATADIR)/nestopia.desktop
++	install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps/nestopia.svg
++	install -Dm0644 $(DATADIR)/nestopia.desktop $(PREFIX)/share/applications/nestopia.desktop
+ 
+ uninstall:
+-	xdg-desktop-menu uninstall $(DATADIR)/nestopia.desktop
++	rm $(PREFIX)/share/applications/nestopia.desktop
+ 	rm $(PREFIX)/share/pixmaps/nestopia.svg
+ 	rm $(BINDIR)/$(BIN)
+ 	rm -rf $(DATADIR)
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix
new file mode 100644
index 00000000000..fc64caf1053
--- /dev/null
+++ b/pkgs/misc/emulators/nestopia/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, pkgconfig, SDL2, alsaLib, gtk3, mesa_glu, makeWrapper
+, mesa, libarchive, libao, unzip, xdg_utils, gsettings_desktop_schemas }:
+
+stdenv.mkDerivation rec {
+  name = "nestopia-1.46.2";
+  src = fetchurl {
+    url = https://github.com/rdanbrook/nestopia/archive/1.46.2.tar.gz;
+    sha256 = "07h49xwvg61dx20rk5p4r3ax2ar5y0ppvm60cqwqljyi9rdfbh7p";
+  };
+
+  # nondeterministic failures when creating directories
+  enableParallelBuilding = false;
+
+  buildInputs = [ pkgconfig SDL2 alsaLib gtk3 mesa_glu mesa makeWrapper
+                  libarchive libao unzip xdg_utils gsettings_desktop_schemas ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/nestopia}
+    make install PREFIX=$out
+  '';
+
+  preFixup = ''
+     for f in $out/bin/*; do
+       wrapProgram $f \
+         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
+     done
+  '';
+
+  patches = [ ./build-fix.patch ];
+
+  meta = {
+    homepage = http://0ldsk00l.ca/nestopia/;
+    description = "NES emulator with a focus on accuracy";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+  };
+}
+
diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix
index 4c49e1e3af2..732500be0fc 100644
--- a/pkgs/misc/emulators/ppsspp/default.nix
+++ b/pkgs/misc/emulators/ppsspp/default.nix
@@ -23,7 +23,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     homepage = "http://www.ppsspp.org/";
-    description = "A PSP emulator, the Qt4 version.";
+    description = "A PSP emulator, the Qt4 version";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.fuuzetsu ];
     platforms = platforms.linux ++ platforms.darwin ++ platforms.cygwin;
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
new file mode 100644
index 00000000000..01670ca4688
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -0,0 +1,295 @@
+{ stdenv, fetchgit, pkgconfig, makeWrapper, python27, retroarch
+, fluidsynth, mesa, SDL, ffmpeg, libpng, libjpeg, libvorbis, zlib }:
+
+let
+
+  d2u = stdenv.lib.replaceChars ["-"] ["_"];
+
+  mkLibRetroCore = ({ core, src, description, ... }@a:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+
+    name = "libretro-${core}-${version}";
+    version = "20141224";
+    inherit src;
+
+    buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
+
+    buildPhase = "make -f Makefile.libretro";
+    installPhase = ''
+      COREDIR="$out/lib/retroarch/cores"
+      mkdir -p $out/bin
+      mkdir -p $COREDIR
+      mv ${d2u core}_libretro.so $COREDIR/.
+      makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \
+        --add-flags "-L $COREDIR/${d2u core}_libretro.so $@"
+    '';
+
+    passthru = {
+      core = core;
+      libretroCore = "/lib/retroarch/cores";
+    };
+
+    meta = with stdenv.lib; {
+      inherit description;
+      homepage = "http://www.libretro.com/";
+      license = licenses.gpl3Plus;
+      maintainers = [ maintainers.edwtjo maintainers.MP2E ];
+      platforms = platforms.linux;
+    };
+  } // a);
+
+  fetchRetro = { repo, rev, sha256 }:
+  fetchgit {
+    inherit rev sha256;
+    url = "https://github.com/libretro/${repo}.git";
+    fetchSubmodules = true;
+  };
+
+in
+
+{
+
+  _4do = (mkLibRetroCore rec {
+    core = "4do";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "47fee1687d8946e84af2ef4d28a693f5f14199d3";
+      sha256 = "0bhn761akcb5623yvbndm79pbfackbhaqcaqhrqwvk0ja13pry4l";
+    };
+    description = "Port of 4DO/libfreedo to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
+  bsnes-mercury = (mkLibRetroCore rec {
+    core = "bsnes-mercury";
+    src = fetchRetro {
+      repo = core;
+      rev = "6e08947a3eeee4c3ac0c33a5e6739cde02dbda3c";
+      sha256 = "1dkbjhm99r26fagypqlgdrp6v4dhs554cspzp1maryl3nrr57wf8";
+    };
+    description = "Fork of bsnes with HLE DSP emulation restored";
+  }).override {
+    buildPhase = "make && cd out";
+  };
+
+  desmume = (mkLibRetroCore rec {
+    core = "desmume";
+    src = fetchRetro {
+      repo = core;
+      rev = "362fee2cc242082d73cd0f7260554e202dd80d78";
+      sha256 = "0n27kgjqam81q0cbmnmlq1dslyg9wbnz96r8pwjlbv7pp97rp7br";
+    };
+    description = "libretro wrapper for desmume NDS emulator";
+  }).override {
+    configurePhase = "cd desmume";
+  };
+
+  fceumm = mkLibRetroCore rec {
+    core = "fceumm";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "b10d6d4600bfe6b0f2d793785d19a46479a4e7ef";
+      sha256 = "1nrs8hb5yb0iigz1nhzzamlmybjyhjcb41y07ckwx9kzx0w72sjz";
+    };
+    description = "FCEUmm libretro port";
+  };
+
+  fba = (mkLibRetroCore rec {
+    core = "fba";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "55023b0466465f9d50ad82fd6f1549a89234bcab";
+      sha256 = "147a9if99mnv12fp70r4h3171m95gzmiq6rlf9axf4693h6kzb02";
+    };
+    description = "Port of Final Burn Alpha to libretro";
+  }).override {
+    buildPhase = ''
+      cd svn-current/trunk \
+      && make -f makefile.libretro \
+      && mv fb_alpha_libretro.so fba_libretro.so
+    '';
+  };
+
+  gambatte = (mkLibRetroCore rec {
+    core = "gambatte";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "6aa6a514b58671106352a525cbc9c39ce8633cdd";
+      sha256 = "0ai0l8wwi61rsq4cm3h5n039s78xrhrxvxn4nbav1mn70ynzijx7";
+    };
+    description = "Gambatte libretro port";
+  }).override {
+    configurePhase = "cd libgambatte";
+  };
+
+  genesis-plus-gx = mkLibRetroCore rec {
+    core = "genesis-plus-gx";
+    src = fetchRetro {
+      repo = "Genesis-Plus-GX";
+      rev = "3b3eae18e742b99142ea2a412e80b9152933ab59";
+      sha256 = "01mn2m1wg026wy1ffcv36wv0pvm18xnin27v681vd7bma96dl7p0";
+    };
+    description = "Enhanced Genesis Plus libretro port";
+  };
+
+  mednafen-pce-fast = (mkLibRetroCore rec {
+    core = "mednafen-pce-fast";
+    src = fetchRetro {
+      repo = "beetle-pce-fast-libretro";
+      rev = "0a389287025c0166e7b89bf0320ab1c6f8a5a561";
+      sha256 = "1s8l3pddgw060wb177wx6ysa040k45wy5vlvbjjvq1rj3352izk4";
+    };
+    description = "Port of Mednafen's PC Engine core to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
+  mupen64plus = (mkLibRetroCore rec {
+    core = "mupen64plus";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "b97ce52e49d255cd3e87fd6dc44ddd9a596d0be4";
+      sha256 = "1disddd35c45ffp7irsgcf0y906f44d7rkjv96gxs6vvzwxifiih";
+    };
+    description = "Libretro port of Mupen64 Plus, GL only";
+
+    extraBuildInputs = [ mesa ];
+  }).override {
+    buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
+  };
+
+  nestopia = (mkLibRetroCore rec {
+    core = "nestopia";
+    src = fetchRetro {
+      repo = core;
+      rev = "3b030c93edcc8f49e2f6323b1df7fc78759accd8";
+      sha256 = "0gr4s6p40j5qiyg94kpa8v3083cbp2ccdq5zp6kkpjskxzkdfhqg";
+    };
+    description = "nestopia undead libretro port";
+  }).override {
+    buildPhase = "cd libretro && make";
+  };
+
+  picodrive = (mkLibRetroCore rec {
+    core = "picodrive";
+    src = fetchRetro {
+      repo = core;
+      rev = "2babf3518e258cc3d6649f6e34a267e83dffd7d9";
+      sha256 = "13l9ppr8v33a7jmgjpg9hqwim30mybscnwqj2bch5v0w6h3qynzh";
+    };
+    description = "Fast MegaDrive/MegaCD/32X emulator";
+
+    extraBuildInputs = [ libpng SDL ];
+  }).override {
+    patchPhase = "sed -i -e 's,SDL_CONFIG=\".*\",SDL_CONFIG=\"${SDL}/bin/sdl-config\",' configure";
+    configurePhase = "./configure";
+  };
+
+  prboom = (mkLibRetroCore rec {
+    core = "prboom";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "437fd00bf58158bf3c5e2e49237d9344f320584a";
+      sha256 = "0g9dvmywph5r8ly20bn3xkm12271n726s5g9z0f2pd75pnv13q86";
+    };
+    description = "Prboom libretro port";
+  }).override {
+    buildPhase = "make";
+  };
+
+  ppsspp = (mkLibRetroCore rec {
+    core = "ppsspp";
+    src = fetchRetro {
+      repo = "libretro-" + core;
+      rev = "b82a36232f677f48e95d6f284184cb8c935d4ad2";
+      sha256 = "0bzqs9v37qyh6dl5jsrmm46iwy04h7ypgnibxajrxg1795ccb3rr";
+    };
+    description = "ppsspp libretro port";
+    extraBuildInputs = [ mesa ffmpeg ];
+  }).override {
+    buildPhase = "cd libretro && make";
+  };
+
+  quicknes = (mkLibRetroCore rec {
+    core = "quicknes";
+    src = fetchRetro {
+      repo = "QuickNES_Core";
+      rev = "0dab65e2a962640c517f23f2668b76315faf977e";
+      sha256 = "12cv2ph72y6c0clcqssdyma1jxn8yi7x2ifyf2g77rbaswxr26r4";
+    };
+    description = "QuickNES libretro port";
+  }).override {
+    buildPhase = "cd libretro && make";
+  };
+
+  scummvm = (mkLibRetroCore rec {
+    core = "scummvm";
+    src = fetchRetro {
+      repo = core;
+      rev = "bf30f7a146ab3d0ea5bcff43b1db489118b78cdf";
+      sha256 = "1xgl2vsssa5mxhavcyghxrbab4lfbp9gnpy6ckhrxdd0n08kvyys";
+    };
+    description = "Libretro port of ScummVM";
+
+    extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ];
+  }).override {
+    buildPhase = "cd backends/platform/libretro/build && make";
+  };
+
+  snes9x = (mkLibRetroCore rec {
+    core = "snes9x";
+    src = fetchRetro {
+      repo = core;
+      rev = "e41b0a2832fdcacc30498f23ddadd193376f837f";
+      sha256 = "0k9zxc9g6hhkc18mdgskjp99ljgay8jqmqhir4aahsfqyxhwypgm";
+    };
+    description = " Port of SNES9x git to libretro";
+  }).override {
+    buildPhase = "cd libretro && make";
+  };
+
+  snes9x-next = mkLibRetroCore rec {
+    core = "snes9x-next";
+    src = fetchRetro {
+      repo = core;
+      rev = "c04566c04b1f07979f8a8f6d5bbcb844d7594aec";
+      sha256 = "0lmrbmjk7qnkgz7n7dm744nps8zgbv76kz62vcja2kl5bq24kaxc";
+    };
+    description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
+  };
+
+  stella = (mkLibRetroCore rec {
+    core = "stella";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "4c8e93ce4b250b3b2d2743bae48eca25983f29db";
+      sha256 = "1r016r9a0vwdnlms9s9hnzvszvkhpshjiyi2zql0zs2c1jbja6ia";
+    };
+    description = "Port of Stella to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
+  vba-m = (mkLibRetroCore rec {
+    core = "vbam";
+    src = fetchRetro {
+      repo = core + "-libretro";
+      rev = "9baba21956add58fba7c411ddd752682f0d93270";
+      sha256 = "1dxshbkgv7xjg3lzv9lwsyhgxjmxzfsvd6xpwmdmh3pjllfrgy1p";
+    };
+    description = "vanilla VBA-M libretro port";
+  }).override {
+    buildPhase = "cd src/libretro && make";
+  };
+
+  vba-next = mkLibRetroCore rec {
+    core = "vba-next";
+    src = fetchRetro {
+      repo = core;
+      rev = "54c37ea9e26c5480352eee92a80eb659c9b5cb39";
+      sha256 = "0hkd1n00i3kwr5ids7b2c034xvx3nskg2316nli99ky511yq5cfd";
+    };
+    description = "VBA-M libretro port with modifications for speed";
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 8bc53da8f0c..faa143d9273 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -1,31 +1,32 @@
-{ stdenv, fetchgit, pkgconfig, which
-, SDL, mesa, alsaLib
-, libXxf86vm, libXinerama, libXv
-}:
+{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
+, freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib
+, libX11, libXext, libXxf86vm, libXdmcp, SDL, pulseaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "retroarch-0.9.9.7";
+  name = "retroarch-bare-${version}";
+  version = "20141224";
 
   src = fetchgit {
-    url = "https://github.com/libretro/RetroArch.git";
-    rev = "ea0c4880556e0f9d1fe8253ddc713bc743b00e1b";
-    sha256 = "1jhyh7f8ijy67fxslxqsp8pjl2lwayjljp06hp4n5cn33yajpbd7";
+    url = git://github.com/libretro/RetroArch.git;
+    rev = "8b4176263988e750daf0c6d709fdceb4672e111e";
+    sha256 = "1l2iqgb7vlkh6kcwr4ggcn58ldyh63v9zvjmv26z8pxiqa1zr1xs";
   };
 
-  buildInputs = [
-    pkgconfig which SDL mesa alsaLib
-    libXxf86vm libXinerama libXv
-  ];
+  buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils
+                  python34 which udev alsaLib libX11 libXext libXxf86vm libXdmcp SDL pulseaudio ];
 
-  preConfigure = ''
-    configureFlags="--global-config-dir=$out/etc"
+  patchPhase = ''
+    export GLOBAL_CONFIG_DIR=$out/etc
+    sed -e 's#/bin/true#${coreutils}/bin/true#' -i qb/qb.libs.sh
   '';
- 
-  meta = {
-    description = "Modular multi-system game/emulator system";
-    homepage = "http://www.libretro.com/";
-    license = stdenv.lib.licenses.gpl3Plus;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://libretro.org/;
+    description = "Multi-platform emulator frontend for libretro cores";
+    license = licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
+    maintainers = with maintainers; [ MP2E ];
   };
 }
diff --git a/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix b/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
new file mode 100644
index 00000000000..38b8e27db7d
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
@@ -0,0 +1,39 @@
+{ stdenv, pkgs, cores }:
+
+assert cores != [];
+
+with pkgs.lib;
+
+let
+
+  script = exec: ''
+    #!${stdenv.shell}
+    nohup sh -c "sleep 1 && pkill -SIGSTOP kodi" &
+    nohup sh -c "${exec} '$@' -f;pkill -SIGCONT kodi"
+  '';
+  scriptSh = exec: pkgs.writeScript ("kodi-"+exec.name) (script exec.path);
+  execs = map (core: rec { name = core.core; path = core+"/bin/retroarch-"+name;}) cores;
+
+in
+
+stdenv.mkDerivation rec {
+  name = "kodi-retroarch-advanced-launchers-${version}";
+  version = "0.2";
+
+  dontBuild = true;
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    ${stdenv.lib.concatMapStrings (exec: "ln -s ${scriptSh exec} $out/bin/kodi-${exec.name};") execs}
+  '';
+
+  meta = {
+    description = "Kodi retroarch advanced launchers";
+    longDescription = ''
+      These retroarch launchers are intended to be used with
+      anglescry advanced launcher for Kodi since device input is
+      caught by both Kodi and the retroarch process.
+    '';
+    license = stdenv.lib.licenses.gpl3;
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
new file mode 100644
index 00000000000..f7e903ef529
--- /dev/null
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, makeWrapper, retroarch, cores }:
+
+let
+
+  p = builtins.parseDrvName retroarch.name;
+
+in
+
+stdenv.mkDerivation {
+  name = "retroarch-" + p.version;
+  version = p.version;
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/lib
+    $(for coreDir in $cores
+    do
+      $(ln -s $coreDir/*.so $out/lib/.)
+    done)
+    makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
+      --suffix-each LD_LIBRARY_PATH ':' "$cores" \
+      --add-flags "-L $out/lib/ --menu" \
+  '';
+
+  cores = map (x: x + x.libretroCore) cores;
+  preferLocalBuild = true;
+
+  meta = with retroarch.meta; {
+    inherit license homepage;
+    description = description
+                  + " (with cores: "
+                  + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) cores))
+                  + ")";
+  };
+}
diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix
new file mode 100644
index 00000000000..a2338f376a7
--- /dev/null
+++ b/pkgs/misc/emulators/stella/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, SDL2 }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "stella-${version}";
+  version = "4.6";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/stella/stella/${version}/${name}-src.tar.gz";
+    sha256 = "03vg8cxr0hn99vrr2dcwhv610xi9vhlw08ypazpm0nny522a9j4d";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ pkgconfig SDL2 ];
+
+  meta = {
+    description = "An open-source Atari 2600 VCS emulator";
+    longDescription = ''
+    Stella is a multi-platform Atari 2600 VCS emulator released under
+    the GNU General Public License (GPL). Stella was originally
+    developed for Linux by Bradford W. Mott, and is currently
+    maintained by Stephen Anthony.
+    As of its 3.5 release, Stella is officially donationware. 
+    '';
+    homepage = http://stella.sourceforge.net/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/uae/default.nix b/pkgs/misc/emulators/uae/default.nix
index 0fa5a08d2dc..85fc6df9520 100644
--- a/pkgs/misc/emulators/uae/default.nix
+++ b/pkgs/misc/emulators/uae/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   buildInputs = [ pkgconfig gtk alsaLib SDL ];
   
   meta = {
-    description = "Ultimate/Unix/Unusuable Amiga Emulator";
+    description = "Ultimate/Unix/Unusable Amiga Emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.amigaemulator.org;
     maintainers = [ stdenv.lib.maintainers.sander ];
diff --git a/pkgs/misc/emulators/wine/build_winetricks.sh b/pkgs/misc/emulators/wine/build_winetricks.sh
deleted file mode 100644
index 2d19e749f2d..00000000000
--- a/pkgs/misc/emulators/wine/build_winetricks.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!bash
-source $stdenv/setup
-mkdir -p $out/bin
-cp $src/src/winetricks $out/bin/winetricks
-chmod +x $out/bin/winetricks
-cd $out/bin
-patch -u -p0 < $patch
-
-mkdir -p "$out/share/man/man1"
-cp "$src/src/winetricks.1" "$out/share/man/man1/"
-
-patchShebangs "$out"
-
-substituteInPlace "$out/bin/winetricks" --replace "/usr/bin/perl" `which perl`
-
-# add stuff to PATH
-sed -i "2i PATH=\"${pathAdd}:\${PATH}\"" "$out/bin/winetricks"
diff --git a/pkgs/misc/emulators/wine/stable.nix b/pkgs/misc/emulators/wine/stable.nix
index 60b4e24cf2c..bdf696f541f 100644
--- a/pkgs/misc/emulators/wine/stable.nix
+++ b/pkgs/misc/emulators/wine/stable.nix
@@ -4,7 +4,7 @@
 }:
 
 assert stdenv.isLinux;
-assert stdenv.gcc.gcc != null;
+assert stdenv.cc.cc.isGNU or false;
 
 let
     version = "1.6.2";
@@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
   # them to the RPATH so that the user doesn't have to set them in
   # LD_LIBRARY_PATH.
   NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
-    freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm
+    freetype fontconfig stdenv.cc.cc mesa mesa_noglu.osmesa libdrm
     xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
     xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
     openssl gnutls cups
@@ -65,7 +65,7 @@ in stdenv.mkDerivation rec {
 
     paxmark psmr $out/bin/wine{,-preloader}
 
-    wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib
+    wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.cc.cc}/lib
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix
index cd5c5a8b479..a7a1e02da3b 100644
--- a/pkgs/misc/emulators/wine/unstable.nix
+++ b/pkgs/misc/emulators/wine/unstable.nix
@@ -4,30 +4,30 @@
 }:
 
 assert stdenv.isLinux;
-assert stdenv.gcc.gcc != null;
+assert stdenv.cc.cc.isGNU or false;
 
 let
-    version = "1.7.23";
+    version = "1.7.40";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "012ww1yifayakw9n2m23sx83dc3i2xiq3bn5n9iprppdhwxpp76v";
+      sha256 = "1dnasmw1rnlz7wk1bn0x1zmy3r78hgrn9y53z4vm8xjkllwyd0hd";
     };
 
     gecko = fetchurl {
-      url = "mirror://sourceforge/wine/wine_gecko-2.24-x86.msi";
-      sha256 = "0b10f55q3sldlcywscdlw3kd7vl9izlazw7jx30y4rpahypaqf3f";
+      url = "mirror://sourceforge/wine/wine_gecko-2.36-x86.msi";
+      sha256 = "12hjks32yz9jq4w3xhk3y1dy2g3iakqxd7aldrdj51cqiz75g95g";
     };
 
     gecko64 = fetchurl {
-      url = "mirror://sourceforge/wine/wine_gecko-2.24-x86_64.msi";
-      sha256 = "1j4wdlhzvjrabzr9igcnx0ivm5mcb8kp7bwkpfpfsanbifk7sma7";
+      url = "mirror://sourceforge/wine/wine_gecko-2.36-x86_64.msi";
+      sha256 = "0i7dchrzsda4nqbkhp3rrchk74rc2whn2af1wzda517m9c0886vh";
     };
 
     mono = fetchurl {
-      url = "mirror://sourceforge/wine/wine-mono-4.5.2.msi";
-      sha256 = "1bgasysf3qacxgh5rlk7qlw47ar5zgd1k9gb22pihi5s87dlw4nr";
+      url = "mirror://sourceforge/wine/wine-mono-4.5.4.msi";
+      sha256 = "1wnn273f232141x9x0sahg4w499x0g2p0xphxmwm5wh1xrzyvg10";
     };
 
 in stdenv.mkDerivation rec {
@@ -46,10 +46,10 @@ in stdenv.mkDerivation rec {
   # them to the RPATH so that the user doesn't have to set them in
   # LD_LIBRARY_PATH.
   NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
-    freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm
+    freetype fontconfig stdenv.cc.cc mesa mesa_noglu.osmesa libdrm
     xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
     xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
-    openssl gnutls cups
+    openssl gnutls cups ncurses
   ];
 
   # Don't shrink the ELF RPATHs in order to keep the extra RPATH
@@ -62,7 +62,7 @@ in stdenv.mkDerivation rec {
     install -D ${gecko} $out/share/wine/gecko/${gecko64.name}
   '' + ''
     install -D ${mono} $out/share/wine/mono/${mono.name}
-    wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib
+    wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.cc.cc}/lib
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/misc/emulators/wine/unstable.upstream b/pkgs/misc/emulators/wine/unstable.upstream
index e3616df7680..fa78360c76a 100644
--- a/pkgs/misc/emulators/wine/unstable.upstream
+++ b/pkgs/misc/emulators/wine/unstable.upstream
@@ -1,5 +1,5 @@
 url http://sourceforge.net/projects/wine/files/Source/
-attribute_name wine_unstable
+attribute_name wineUnstable
 version_link '[.]tar[.][^./]+/download$'
 SF_redirect
 do_overwrite () {
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix
index 8103ff9c43f..34a2a6efbbb 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/misc/emulators/wine/winetricks.nix
@@ -1,25 +1,30 @@
-{ stdenv, fetchsvn, wine, perl, which, coreutils, zenity, curl
+{ stdenv, fetchFromGitHub, wine, perl, which, coreutils, zenity, curl
 , cabextract, unzip, p7zip, gnused, gnugrep, bash } :
 
-stdenv.mkDerivation rec {
-  rev = "1199";
-  name = "winetricks-${rev}";
+let version = "20150316";
+in stdenv.mkDerivation rec {
+  name = "winetricks-${version}";
 
-  src = fetchsvn {
-    url = "http://winetricks.googlecode.com/svn/trunk";
-    inherit rev;
-    sha256 = "1kji1n6ps09g8xnl9m7vqk3vkl03abzwnc43c52i8p0adnv06khb";
+  src = fetchFromGitHub {
+    owner = "Winetricks";
+    repo = "winetricks";
+    rev = version;
+    sha256 = "00c55jpca6l3v3p02xc0gy5l4xb17gf90282hq5h85nh72kqsbrh";
   };
 
   buildInputs = [ perl which ];
 
-  pathAdd = stdenv.lib.concatStringsSep "/bin:" # coreutils is for sha1sum
-    [ wine perl which coreutils zenity curl cabextract unzip p7zip gnused gnugrep bash ]
-    + "/bin";
+  # coreutils is for sha1sum
+  pathAdd = stdenv.lib.concatMapStringsSep ":" (x: x + "/bin")
+    [ wine perl which coreutils zenity curl cabextract unzip p7zip gnused gnugrep bash ];
 
-  patch = ./winetricks.patch;
+  makeFlags = [ "PREFIX=$(out)" ];
 
-  builder = ./build_winetricks.sh;
+  postInstall = ''
+    sed -i \
+      -e '2i PATH="${pathAdd}:$PATH"' \
+      "$out/bin/winetricks"
+  '';
 
   meta = {
     description = "A script to install DLLs needed to work around problems in Wine";
diff --git a/pkgs/misc/emulators/wine/winetricks.patch b/pkgs/misc/emulators/wine/winetricks.patch
deleted file mode 100644
index f419a0dcee4..00000000000
--- a/pkgs/misc/emulators/wine/winetricks.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- upstream-winetricks 2013-01-12 13:26:12.333076904 -0800
-+++ winetricks 2013-01-12 14:37:39.675092352 -0800
-@@ -3398,7 +3398,7 @@
-     WINETRICKS_OPT_SHAREDPREFIX=${WINETRICKS_OPT_SHAREDPREFIX:-0}
- 
-     # Mac folks tend to not have sha1sum, but we can make do with openssl
--    if [ -x "`which sha1sum 2>/dev/null`" ]
-+    if [ -e "`which sha1sum 2>/dev/null`" ]
-     then
-         WINETRICKS_SHA1SUM="sha1sum"
-     elif [ -x "`which openssl 2>/dev/null`" ]
-@@ -3628,7 +3628,7 @@
- if ! test "$WINETRICKS_LIB"
- then
-     WINETRICKS_SRCDIR=`dirname "$0"`
--    WINETRICKS_SRCDIR=`cd "$WINETRICKS_SRCDIR"; /bin/pwd`
-+    WINETRICKS_SRCDIR=`cd "$WINETRICKS_SRCDIR"; pwd`
- 
-     # Which GUI helper to use (none/zenity/kdialog).  See winetricks_detect_gui.
-     WINETRICKS_GUI=none
-
diff --git a/pkgs/misc/foldingathome/default.nix b/pkgs/misc/foldingathome/default.nix
index 945d6556837..aaa932c0a1c 100644
--- a/pkgs/misc/foldingathome/default.nix
+++ b/pkgs/misc/foldingathome/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   installPhase = ''
     BINFILES="fah6 mpiexec";
     for a in $BINFILES; do 
-      patchelf --set-interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) $a
+      patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $a
     done
     mkdir -p $out/bin
     cp $BINFILES $out/bin
diff --git a/pkgs/misc/frescobaldi/default.nix b/pkgs/misc/frescobaldi/default.nix
new file mode 100644
index 00000000000..0ccc0c7c6cf
--- /dev/null
+++ b/pkgs/misc/frescobaldi/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, pythonPackages, lilypond, pyqt4, pygame }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "frescobaldi-${version}";
+  version = "2.0.16";
+
+  src = fetchurl {
+    url = "https://github.com/wbsoft/frescobaldi/releases/download/"
+          + "v2.0.16/${name}.tar.gz";
+    sha256 = "12pabvq5b2lq84q3kx8lh02zh6ali6v4wnin2k2ycnm45mk9ms6q";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ lilypond
+    pyqt4 poppler-qt4 pygame ];
+
+  patches = [ ./setup.cfg.patch ./python-path.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = http://frescobaldi.org/;
+    description = ''Frescobaldi is a LilyPond sheet music text editor'';
+    longDescription = ''
+      Powerful text editor with syntax highlighting and automatic completion, 
+      Music view with advanced Point & Click, Midi player to proof-listen
+      LilyPond-generated MIDI files, Midi capturing to enter music,
+      Powerful Score Wizard to quickly setup a music score, Snippet Manager
+      to store and apply text snippets, templates or scripts, Use multiple
+      versions of LilyPond, automatically selects the correct version, Built-in
+      LilyPond documentation browser and built-in User Guide, Smart
+      layout-control functions like coloring specific objects in the PDF,
+      MusicXML import, Modern user iterface with configurable colors,
+      fonts and keyboard shortcuts
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.sepi ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/misc/frescobaldi/python-path.patch b/pkgs/misc/frescobaldi/python-path.patch
new file mode 100644
index 00000000000..6c54d9f208e
--- /dev/null
+++ b/pkgs/misc/frescobaldi/python-path.patch
@@ -0,0 +1,11 @@
+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
new file mode 100644
index 00000000000..502cdd61966
--- /dev/null
+++ b/pkgs/misc/frescobaldi/setup.cfg.patch
@@ -0,0 +1,13 @@
+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/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index b8c879d598b..c521e156f8e 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -1,72 +1,21 @@
 { stdenv, fetchurl, pkgconfig, zlib, expat, openssl
 , libjpeg, libpng, libtiff, freetype, fontconfig, lcms2, libpaper, jbig2dec
-, libiconvOrEmpty
+, libiconv
 , x11Support ? false, x11 ? null
 , cupsSupport ? false, cups ? null
-, gnuFork ? true
 }:
 
 assert x11Support -> x11 != null;
 assert cupsSupport -> cups != null;
 
-let
-  meta_common = {
-    homepage = "http://www.gnu.org/software/ghostscript/";
-    description = "PostScript interpreter (GNU version)";
-
-    longDescription = ''
-      Ghostscript is the name of a set of tools that provides (i) an
-      interpreter for the PostScript language and the PDF file format,
-      (ii) a set of C procedures (the Ghostscript library) that
-      implement the graphics capabilities that appear as primitive
-      operations in the PostScript language, and (iii) a wide variety
-      of output drivers for various file formats and printers.
-    '';
-
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.viric ];
-  };
-
-  gnuForkSrc = rec {
-    name = "ghostscript-9.04.1";
-    src = fetchurl {
-      url = "mirror://gnu/ghostscript/gnu-${name}.tar.bz2";
-      sha256 = "0zqa6ggbkdqiszsywgrra4ij0sddlmrfa50bx2mh568qid4ga0a2";
-    };
-
-    meta = meta_common;
-    patches = [ ./purity.patch ];
-  };
+stdenv.mkDerivation rec {
+  name = "ghostscript-9.15";
 
-  mainlineSrc = rec {
-    name = "ghostscript-9.06";
-    src = fetchurl {
-      url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
-      sha256 = "014f10rxn4ihvcr1frby4szd1jvkrwvmdhnbivpp55c9fssx3b05";
-    };
-    meta = meta_common // {
-      homepage = "http://www.ghostscript.com/";
-      description = "PostScript interpreter (mainline version)";
-    };
-
-    preConfigure = ''
-      rm -R libpng jpeg lcms{,2} tiff freetype jbig2dec expat openjpeg
-
-      substituteInPlace base/unix-aux.mak --replace "INCLUDE=/usr/include" "INCLUDE=/no-such-path"
-      sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@" -i base/unix-aux.mak
-    '';
-    patches = [];
+  src = fetchurl {
+    url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
+    sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6";
   };
 
-  variant = if gnuFork then gnuForkSrc else mainlineSrc;
-
-in
-
-stdenv.mkDerivation rec {
-  inherit (variant) name src meta;
-
   fonts = [
     (fetchurl {
       url = "mirror://sourceforge/gs-fonts/ghostscript-fonts-std-8.11.tar.gz";
@@ -84,41 +33,63 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ pkgconfig zlib expat openssl
       libjpeg libpng libtiff freetype fontconfig lcms2 libpaper jbig2dec
+      libiconv
     ]
     ++ stdenv.lib.optional x11Support x11
     ++ stdenv.lib.optional cupsSupport cups
-    ++ libiconvOrEmpty
     # [] # maybe sometimes jpeg2000 support
     ;
 
-  CFLAGS = "-fPIC";
-  NIX_LDFLAGS =
-    "-lz -rpath${ if stdenv.isDarwin then " " else "="}${freetype}/lib";
+  patches = [ ./urw-font-files.patch ];
 
-  patches = variant.patches ++ [ ./urw-font-files.patch ];
-
-  preConfigure = ''
-    # "ijs" is impure: it contains symlinks to /usr/share/automake etc.!
-    rm -rf ijs/ltmain.sh
-
-    # Don't install stuff in the Cups store path.
-    makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups)
-  '' + stdenv.lib.optionalString (variant ? preConfigure) variant.preConfigure;
+  makeFlags = [ "cups_serverroot=$(out)" "cups_serverbin=$(out)/lib/cups" ];
 
   configureFlags =
-    [ "--with-system-libtiff"
+    [ "--with-system-libtiff" "--disable-sse2"
+      "--enable-dynamic"
       (if x11Support then "--with-x" else "--without-x")
-      (if cupsSupport then "--enable-cups --with-install-cups" else "--disable-cups")
+      (if cupsSupport then "--enable-cups" else "--disable-cups")
     ];
 
   doCheck = true;
 
   installTargets="install soinstall";
 
-  # ToDo: web says the fonts should be already included
+  #CFLAGS = "-fPIC";
+  #NIX_LDFLAGS =
+  #  "-lz -rpath${ if stdenv.isDarwin then " " else "="}${freetype}/lib";
+
+  preConfigure = ''
+    rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec openjpeg freetype cups/libs
+
+    sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
+  '';
+
   postInstall = ''
+    # ToDo: web says the fonts should be already included
     for i in $fonts; do
       (cd $out/share/ghostscript && tar xvfz $i)
     done
+
+    rm -rf $out/lib/cups/filter/{gstopxl,gstoraster}
   '';
+
+  meta = {
+    homepage = "http://www.ghostscript.com/";
+    description = "PostScript interpreter (mainline version)";
+
+    longDescription = ''
+      Ghostscript is the name of a set of tools that provides (i) an
+      interpreter for the PostScript language and the PDF file format,
+      (ii) a set of C procedures (the Ghostscript library) that
+      implement the graphics capabilities that appear as primitive
+      operations in the PostScript language, and (iii) a wide variety
+      of output drivers for various file formats and printers.
+    '';
+
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.viric ];
+  };
 }
diff --git a/pkgs/misc/ghostscript/purity.patch b/pkgs/misc/ghostscript/purity.patch
deleted file mode 100644
index 1c92ecf593a..00000000000
--- a/pkgs/misc/ghostscript/purity.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Don't look for files under `/usr/include' since we don't have that directory
-under NixOS.
-
---- gnu-ghostscript-8.64.0/base/unix-aux.mak	2009-04-19 19:00:20.000000000 +0200
-+++ gnu-ghostscript-8.64.0/base/unix-aux.mak	2009-04-27 11:58:31.000000000 +0200
-@@ -103,13 +103,13 @@ $(MKROMFS_XE): $(GLSRC)mkromfs.c $(MKROM
- # The "else true;" is required because Ultrix's implementation of sh -e
- # terminates execution of a command if any error occurs, even if the command
- # traps the error with ||.
--INCLUDE=/usr/include
-+INCLUDE=/no-such-path
- $(gconfig__h): $(UNIX_AUX_MAK) $(ECHOGS_XE)
- 	$(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 2a2f
--	if ( test -f $(INCLUDE)/dirent.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
--	if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
--	if ( test -f $(INCLUDE)/sys/dir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
--	if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
--	if ( test -f $(INCLUDE)/sys/time.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H; else true; fi
--	if ( test -f $(INCLUDE)/sys/times.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
- 	if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define DONT_HAVE_JMEMSYS_H; fi
diff --git a/pkgs/misc/gxemul/default.nix b/pkgs/misc/gxemul/default.nix
index 5cad3c964e4..8538932339c 100644
--- a/pkgs/misc/gxemul/default.nix
+++ b/pkgs/misc/gxemul/default.nix
@@ -1,4 +1,4 @@
-{ composableDerivation, fetchurl }:
+{ stdenv, composableDerivation, fetchurl }:
 
 let edf = composableDerivation.edf;
     name = "gxemul-0.4.6";
@@ -29,9 +29,9 @@ composableDerivation.composableDerivation {} {
   configurePhase = "./configure";
 
   meta = {
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     description = "A Machine Emulator, mainly emulates MIPS, but supports other CPU types";
-    homepage = http://gavare.se/gxemul/;
+    homepage = http://gxemul.sourceforge.net/;
   };
 
   mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; };
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 4f9f071094b..9152e8a7202 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -6,13 +6,13 @@ assert firewireSupport -> ffado != null;
 
 stdenv.mkDerivation rec {
   name = "jack2-${version}";
-  version = "1.9.9.5";
+  version = "1.9.10";
 
   src = fetchurl {
     urls = [
-      https://dl.dropbox.com/u/28869550/jack-1.9.9.5.tar.bz2
+      https://github.com/jackaudio/jack2/archive/v1.9.10.tar.gz
     ];
-    sha256 = "1ggba69jsfg7dmjzlyqz58y2wa92lm3vwdy4r15bs7mvxb65mvv5";
+    sha256 = "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8";
   };
 
   buildInputs =
diff --git a/pkgs/misc/lilypond/default.nix b/pkgs/misc/lilypond/default.nix
index 3f1c1a9a57b..3dd3f4378de 100644
--- a/pkgs/misc/lilypond/default.nix
+++ b/pkgs/misc/lilypond/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec{
-  majorVersion="2.16";
+  majorVersion="2.18";
   minorVersion="2";
   version="${majorVersion}.${minorVersion}";
   name = "lilypond-${version}";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec{
 
   src = fetchurl {
     url = "http://download.linuxaudio.org/lilypond/sources/v${majorVersion}/lilypond-${version}.tar.gz";
-    sha256 = "1jx11bk3rk3w7bnh0829yy280627ywsvwg6fhdm0fqwkiz7jchqz";
+    sha256 = "01xs9x2wjj7w9appaaqdhk15r1xvvdbz9qwahzhppfmhclvp779j";
   };
 
   preConfigure=''
diff --git a/pkgs/misc/maven/default.nix b/pkgs/misc/maven/default.nix
deleted file mode 100644
index b7cb84fbb3c..00000000000
--- a/pkgs/misc/maven/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, jdk, makeWrapper }:
-
-assert jdk != null;
-
-stdenv.mkDerivation {
-  name = "apache-maven-3.1.1";
-
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = mirror://apache/maven/binaries/apache-maven-3.1.1-bin.tar.gz;
-    sha256 = "06ymc5y8bp5crcz74z2m9pf58aid5q11v2klnjmxb4ar8mkd8zh7";
-  };
-
-  buildInputs = [ makeWrapper ];
-
-  inherit jdk;
-
-  meta = with stdenv.lib; {
-    description = "Build automation tool (used primarily for Java projects)";
-    homepage = http://maven.apache.org/;
-    license = licenses.asl20;
-  };
-}
diff --git a/pkgs/misc/misc.nix b/pkgs/misc/misc.nix
index 87be974ca96..6357c4e6f90 100644
--- a/pkgs/misc/misc.nix
+++ b/pkgs/misc/misc.nix
@@ -16,7 +16,7 @@ in
       packageOverrides = {
 	rubyCollection = collection {
 	  name = "ruby";
-	  list = let l = rubyLibs; in
+	  list = let l = rubyPackages; in
 	    [ pkgs.ruby l.chronic l.sup ];
 	};
       }
diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix
index 1c0dc0cbfe9..ce7813b237c 100644
--- a/pkgs/misc/my-env/default.nix
+++ b/pkgs/misc/my-env/default.nix
@@ -58,7 +58,7 @@
 
 { mkDerivation, substituteAll, pkgs }:
     { stdenv ? pkgs.stdenv, name, buildInputs ? []
-    , propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? ""
+    , propagatedBuildInputs ? [], gcc ? stdenv.cc, cTags ? [], extraCmds ? ""
     , cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash --norc"}:
 
 mkDerivation {
@@ -72,20 +72,21 @@ mkDerivation {
   phases = [ "buildPhase" "fixupPhase" ];
   setupNew = substituteAll {
     src = ../../stdenv/generic/setup.sh;
-    initialPath= (import ../../stdenv/common-path.nix) { inherit pkgs; };
     inherit gcc;
   };
 
-  buildPhase = ''
+  buildPhase = let
+    initialPath = import ../../stdenv/common-path.nix { inherit pkgs; };
+  in ''
     set -x
     mkdir -p "$out/dev-envs" "$out/nix-support" "$out/bin"
     s="$out/nix-support/setup-new-modified"
-    cp "$setupNew" "$s"
     # shut some warning up.., do not use set -e
     sed -e 's@set -e@@' \
         -e 's@assertEnvExists\s\+NIX_STORE@:@' \
         -e 's@trap.*@@' \
-        -i "$s"
+        -e '1i initialPath="${toString initialPath}"' \
+        "$setupNew" > "$s"
     cat >> "$out/dev-envs/''${name/env-/}" << EOF
       nativeBuildInputs="$nativeBuildInputs"
       propagatedBuildInputs="$propagatedBuildInputs2"
@@ -131,7 +132,7 @@ mkDerivation {
         echo "\$tmp/script";
         source "\$tmp/script";
       fi
-      rm -fr "\$tmp"
+      ${pkgs.coreutils}/bin/rm -fr "\$tmp"
       ${extraCmds}
 
       nix_cleanup() {
@@ -140,7 +141,7 @@ mkDerivation {
       }
 
       export PATH
-      echo $name loaded
+      echo $name loaded >&2
 
       trap nix_cleanup EXIT
     EOF
diff --git a/pkgs/misc/my-env/loadenv.sh b/pkgs/misc/my-env/loadenv.sh
index 1aab4ac0208..2a990e8685c 100644
--- a/pkgs/misc/my-env/loadenv.sh
+++ b/pkgs/misc/my-env/loadenv.sh
@@ -2,6 +2,8 @@
 
 OLDPATH="$PATH"
 OLDTZ="$TZ"
+OLD_http_proxy="$http_proxy"
+OLD_ftp_proxy="$http_proxy"
 source @myenvpath@
 
 PATH="$PATH:$OLDPATH"
@@ -10,6 +12,8 @@ export NIX_MYENV_NAME="@name@"
 export buildInputs
 export NIX_STRIP_DEBUG=0
 export TZ="$OLDTZ"
+export http_proxy="$OLD_http_proxy"
+export ftp_proxy="$OLD_ftp_proxy"
 
 if test $# -gt 0; then
     exec "$@"
diff --git a/pkgs/misc/phabricator/default.nix b/pkgs/misc/phabricator/default.nix
new file mode 100644
index 00000000000..3162dd0079d
--- /dev/null
+++ b/pkgs/misc/phabricator/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, pkgs, ...  }:
+
+stdenv.mkDerivation rec {
+  version = "2014-07-16";
+  name = "phabricator-${version}";
+  srcLibphutil = pkgs.fetchgit {
+      url = git://github.com/facebook/libphutil.git;
+      rev = "48a04395363d6c1dd9f66057bd11fd70d4665ba9";
+      sha256 = "d570d2c1e68471c2eda35b8722d8083bcc13163fbd5c944529464f2c7b55a2e5";
+  };
+  srcArcanist = pkgs.fetchgit {
+      url = git://github.com/facebook/arcanist.git;
+      rev = "97501da16416fbfdc6e84bd60abcbf5ad9506225";
+      sha256 = "9031c4ae228bdc986131e0c93c98fb73290bb0e297be1ec32f22ab09cdacafa3";
+  };
+  srcPhabricator = pkgs.fetchgit {
+      url = git://github.com/phacility/phabricator.git;
+      rev = "7ac5abb97934f7399b67762aa98f59f667711bf3";
+      sha256 = "6a1d449597ae4432e40a3e6cdb14e3a5a8a40e019f3930493064c35911f2adcc";
+  };
+
+  buildCommand = ''
+    mkdir -p $out
+    cp -R ${srcLibphutil} $out/libphutil
+    cp -R ${srcArcanist} $out/arcanist
+    cp -R ${srcPhabricator} $out/phabricator
+  '';
+}
diff --git a/pkgs/misc/sails/default.nix b/pkgs/misc/sails/default.nix
new file mode 100644
index 00000000000..ab68dc69015
--- /dev/null
+++ b/pkgs/misc/sails/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, pkgconfig, gtk3, librsvg }:
+
+stdenv.mkDerivation rec {
+  version = "0.1.1";
+  name = "sails-${version}";
+  src = fetchurl {
+    url = "https://github.com/kragniz/sails/archive/v${version}.tar.gz";
+    sha256 = "0k55ib6cb78filgq3yrdib69qrzsny0209bq6h0v1yigry0sa62v";
+  };
+
+  buildInputs = [ cmake pkgconfig gtk3 librsvg ];
+
+  meta = with stdenv.lib; {
+    description = "Simulator for autonomous sailing boats";
+    homepage = https://github.com/kragniz/sails;
+    license = licenses.gpl3;
+    longDescription = ''
+      Sails is a simulator designed to test the AI of autonomous sailing
+      robots. It emulates the basic physics of sailing a small single sail
+      boat'';
+    maintainers = maintainers.kragniz;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/misc/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix
new file mode 100644
index 00000000000..c2405c9c380
--- /dev/null
+++ b/pkgs/misc/screensavers/alock/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchgit, pkgconfig, autoconf, automake
+, libX11, pam, libgcrypt, libXrender, imlib2 }:
+
+stdenv.mkDerivation rec {
+  date = "20141209";
+  name = "alock-${date}";
+
+  src = fetchgit {
+    url = https://github.com/Arkq/alock;
+    rev = "5ab7e6014faa1659c2d55bf9734bfa3ce7137443";
+    sha256 = "07wf3vxh54ncxslp3zf8m7szpqbissxf8q9rs5zgvg333zdqd49s";
+  };
+
+  preConfigure = "autoreconf -fvi";
+  configureFlags = [
+    "--enable-pam"
+    "--enable-hash"
+    "--enable-xrender"
+    "--enable-imlib2"
+  ];
+  buildInputs = [
+    pkgconfig autoconf automake libX11
+    pam libgcrypt libXrender imlib2
+  ];
+
+  meta = {
+    homepage = https://github.com/Arkq/alock;
+    description = "Simple screen lock application for X server";
+    longDescription = ''
+      alock locks the X server until the user enters a password
+      via the keyboard. If the authentification was successful
+      the X server is unlocked and the user can continue to work.
+
+      alock does not provide any fancy animations like xlock or
+      xscreensaver and never will. Its just for locking the current
+      X session.
+    '';
+    platforms = with stdenv.lib.platforms; allBut cygwin;
+    maintainers = [ stdenv.lib.maintainers.ftrvxmtrx ];
+  };
+}
diff --git a/pkgs/misc/screensavers/physlock/default.nix b/pkgs/misc/screensavers/physlock/default.nix
new file mode 100644
index 00000000000..683b7012058
--- /dev/null
+++ b/pkgs/misc/screensavers/physlock/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "git-20150126";
+  name = "physlock-${version}";
+  src = fetchFromGitHub {
+    owner  = "muennich";
+    repo   = "physlock";
+    rev    = "b64dccc8c22710f8bf01eb5419590cdb0e65cabb";
+    sha256 = "1dapkwj3y6bb4j8q4glms7zsqm7drr37nrnr30sbahwq67rnvzcc";
+  };
+
+  preConfigure = ''
+    substituteInPlace Makefile \
+      --replace /usr/local $out \
+      --replace "-m 4755 -o root -g root" ""
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A secure suspend/hibernate-friendly alternative to `vlock -an` without PAM support";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/screensavers/rss-glx/default.nix b/pkgs/misc/screensavers/rss-glx/default.nix
index bc1504ab2e9..48d88ed40ce 100644
--- a/pkgs/misc/screensavers/rss-glx/default.nix
+++ b/pkgs/misc/screensavers/rss-glx/default.nix
@@ -1,14 +1,25 @@
-{stdenv, fetchurl, x11, mesa, pkgconfig, imagemagick, libtiff, bzip2}:
+{stdenv, fetchurl, pkgconfig, x11, libXext, mesa, imagemagick, libtiff, bzip2}:
+
+stdenv.mkDerivation rec {
+  version = "0.9.1";
+  name = "rss-glx-${version}";
 
-stdenv.mkDerivation {
-  name = "rss-glx-0.8.1";
-  
   src = fetchurl {
-    url = mirror://sourceforge/rss-glx/rss-glx_0.8.1.tar.bz2;
-    md5 = "a2bdf0e10ee4e89c8975f313c5c0ba6f";
+    url = "mirror://sourceforge/rss-glx/rss-glx_${version}.tar.bz2";
+    sha256 = "1aikafjqrfmv23jnrrm5d56dg6injh4l67zjdxzdapv9chw7g3cg";
   };
 
-  buildInputs = [x11 mesa pkgconfig imagemagick libtiff bzip2];
+  buildInputs = [ pkgconfig mesa x11 imagemagick libtiff bzip2 ];
 
   NIX_CFLAGS_COMPILE = "-I${imagemagick}/include/ImageMagick";
+  NIX_LDFLAGS= "-rpath ${libXext}/lib";
+
+  meta = {
+    description = "Really Slick Screensavers Port to GLX";
+    longDescription = ''
+      This package currently contains all of the screensavers from the
+      original collection, plus a few others.
+    '';
+    licence = stdenv.lib.licenses.gpl2;
+  };
 }
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 7e750d9c9b3..f635e0f149b 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -2,23 +2,20 @@
 
 stdenv.mkDerivation rec {
 
-  name = "xlockmore-5.43";
+  name = "xlockmore-5.46";
   src = fetchurl {
-    url = "http://www.tux.org/~bagleyd/xlock/${name}/${name}.tar.bz2";
-    sha256 = "1l36n8x51j7lwdalv6yi37cil290vzd3djjqydhsm0pnm8hiz499";
+    url = "http://www.tux.org/~bagleyd/xlock/${name}.tar.xz";
+    sha256 = "1ps0dmnh912x8mwns94y2607xk90rjxrjn5s1pkmmpjg5h9bxcrj";
   };
 
   # Optionally, it can use GTK+.
   buildInputs = [ pam x11 ];
 
-  # The `xlock' program needs to be linked against Glibc's
-  # `libgcrypt', which contains `crypt(3)'.
-  patches = [ ./makefile-libcrypt.patch ];
-
   # Don't try to install `xlock' setuid. Password authentication works
   # fine via PAM without super user privileges.
   configureFlags =
-      " --with-crypt"		# TODO: set --enable-appdefaultdir to a suitable value
+      " --with-crypt"
+    + " --enable-appdefaultdir=$out/share/X11/app-defaults"
     + " --disable-setuid"
     + " --without-editres"
     + " --without-xpm"
@@ -38,9 +35,15 @@ stdenv.mkDerivation rec {
     + " --without-gtk"
     + (if pam != null then " --enable-pam --enable-bad-pam" else " --disable-pam");
 
-  meta = {
+  preConfigure = ''
+    configureFlags+=" --enable-appdefaultdir=$out/share/X11/app-defaults"
+  '';
+
+  meta = with stdenv.lib; {
     description = "Screen locker for the X Window System";
-    homepage = "http://www.tux.org/~bagleyd/xlockmore.html";
-    license = "GPL";
+    homepage = http://www.tux.org/~bagleyd/xlockmore.html;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch b/pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch
deleted file mode 100644
index df31a00a13b..00000000000
--- a/pkgs/misc/screensavers/xlockmore/makefile-libcrypt.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xlockmore-5.24/modes/Makefile.in	2007-01-22 23:02:07.000000000 +0100
-+++ xlockmore-5.24/modes/Makefile.in	2008-02-11 17:24:34.000000000 +0100
-@@ -326,7 +326,7 @@ CFLAGS = @CFLAGS@
- CXXFLAGS = @CXXFLAGS@
- #CFLAGS = -O
- #CFLAGS = -g
--XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG)
-+XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG) -lcrypt
- XLIBS = @XLIBS@
- XLOCKLIBS = $(MODULELIB) @XLOCKLIBS@
- 
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 04791749810..1d039e0a440 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.29";
+  version = "5.32";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "http://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "157jy1mh84h6p4mpzsgcadv6c660c212rmjgdpgpidcn0rsza664";
+    sha256 = "1gckra8lsd383av15r7lv9rszw6mp8n1gpcb5qs5nbrdkl3sclj2";
   };
 
   buildInputs =
@@ -18,14 +18,15 @@ stdenv.mkDerivation rec {
       libXxf86misc intltool
     ];
 
-  patchPhase =
+  preConfigure =
     ''
       # Fix build error in version 5.18. Remove this patch when updating
       # to a later version.
       #sed -i -e '/AF_LINK/d' hacks/glx/sonar-icmp.c
-      # Fix path to GTK.
+
+      # Fix installation paths for GTK resources.
       sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' \
-	  -i driver/Makefile.in po/Makefile.in.in
+          -i driver/Makefile.in po/Makefile.in.in
     '';
 
   configureFlags =
@@ -41,5 +42,8 @@ stdenv.mkDerivation rec {
     description = "A set of screensavers";
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
     platforms = with stdenv.lib.platforms; allBut cygwin;
+    inherit version;
+    downloadPage = "http://www.jwz.org/xscreensaver/download.html";
+    updateWalker = true;
   };
 }
diff --git a/pkgs/misc/screensavers/xss-lock/default.nix b/pkgs/misc/screensavers/xss-lock/default.nix
new file mode 100644
index 00000000000..82fa7143122
--- /dev/null
+++ b/pkgs/misc/screensavers/xss-lock/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, cmake, docutils, pkgconfig, glib, libpthreadstubs
+, libXau, libXdmcp, xcbutil }:
+
+stdenv.mkDerivation {
+  name = "xss-lock-git";
+
+  src = fetchgit {
+    url = https://bitbucket.org/raymonad/xss-lock.git;
+    rev = "d75612f1d1eea64b5c43806eea88059340a08ca9";
+    sha256 = "4d57bcfd45287b5b068f45eeceb9e43d975806a038a4c586b141da5d99b3e48b";
+  };
+
+  buildInputs = [ cmake pkgconfig docutils glib libpthreadstubs libXau
+                  libXdmcp xcbutil ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Use external locker (such as i3lock) as X screen saver";
+    license = licenses.mit;
+    maintainers = with maintainers; [ malyn ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index d6c08e99a51..a00c0b5365a 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, which, automake, autoconf, pkgconfig, libtool, vala, python, intltool, fuse, ccnet}:
+{stdenv, fetchurl, which, automake, autoconf, pkgconfig, curl, libtool, vala, python, intltool, fuse, ccnet}:
 
 stdenv.mkDerivation rec
 {
-  version = "3.0.4";
+  version = "4.0.6";
   name = "seafile-shared-${version}";
 
   src = fetchurl
   {
     url = "https://github.com/haiwen/seafile/archive/v${version}.tar.gz";
-    sha256 = "0a0yj9k2rr3q42swwzn1js3r8bld9wcysw6p9415rw5jabcm1af0";
+    sha256 = "1vs1ckxkh0kg1wjklpwdz87d5z60r80q27xv1s6yl7ir65s6zq0i";
   };
 
   buildInputs = [ which automake autoconf pkgconfig libtool vala python intltool fuse ];
-  propagatedBuildInputs = [ ccnet ];
+  propagatedBuildInputs = [ ccnet curl ];
 
   preConfigure = ''
   sed -ie 's|/bin/bash|/bin/sh|g' ./autogen.sh
diff --git a/pkgs/misc/sound-of-sorting/default.nix b/pkgs/misc/sound-of-sorting/default.nix
new file mode 100644
index 00000000000..fa1be80287a
--- /dev/null
+++ b/pkgs/misc/sound-of-sorting/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl
+, SDL2, wxGTK
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "sound-of-sorting-${version}";
+  version = "0.6.5";
+
+  src = fetchurl {
+    url = "https://github.com/bingmann/sound-of-sorting/archive/${name}.tar.gz";
+    sha256 = "1524bhmy5067z9bjc15hvqslw43adgpdn4272iymq09ahja4x76b";
+  };
+
+  buildInputs = with stdenv.lib;
+  [ wxGTK SDL2 ];
+
+  preConfigure = ''
+    export SDL_CONFIG=${SDL2}/bin/sdl2-config
+  '';
+
+  meta = with stdenv.lib;{
+    description = "Audibilization and Visualization of Sorting Algorithms";
+    homepage = http://panthema.net/2013/sound-of-sorting/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
index c3d846c566c..100b280ef57 100644
--- a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
+++ b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
@@ -2,12 +2,12 @@
   cmake, dbus_glib, glib, gtk, gdk_pixbuf, pkgconfig, xorg }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.5";
+  version = "1.4.6";
   name = "oxygen-gtk2-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2";
-    sha256 = "00ykq4aafakdkvww7kz84bvg9wc2gdji4m7z87f49hj1jxm84v2v";
+    sha256 = "09mz4szsz3yswbj0nbw6qzlc5bc4id0f9r6ifm60b5nc8x1l72d2";
   };
 
   buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf
diff --git a/pkgs/misc/themes/gtk3/clearlooks-phenix/default.nix b/pkgs/misc/themes/gtk3/clearlooks-phenix/default.nix
new file mode 100644
index 00000000000..905e26998a0
--- /dev/null
+++ b/pkgs/misc/themes/gtk3/clearlooks-phenix/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, gtk }:
+
+stdenv.mkDerivation rec {
+  version = "5.0.7";
+  name = "clearlooks-phenix-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/jpfleury/clearlooks-phenix/archive/${version}.tar.gz";
+    sha256 = "107jx3p3zwzy8xy0m8hwzs1kp8j60xgc3dja27r3vwhb3x3y1i8k";
+  };
+
+  dontBuild = true;
+  installPhase = ''
+    mkdir -p $out/share/themes/Clearlooks-Phenix
+    cp -r . $out/share/themes/Clearlooks-Phenix/
+  '';
+
+  preferLocalBuild = true;
+
+  meta = with stdenv.lib; {
+    description = "GTK3 port of the Clearlooks theme";
+    longDescription = ''
+      The Clearlooks-Phénix project aims at creating a GTK3 port of Clearlooks,
+      the default theme for Gnome 2. Style is also included for GTK2, Unity and
+      for Metacity, Openbox and Xfwm4 window managers.
+
+      You should install this theme into your user profile and then set
+      GTK_DATA_PREFIX to `~/.nix-profile`.
+    '';
+    homepage = https://github.com/jpfleury/clearlooks-phenix;
+    downloadPage = https://github.com/jpfleury/clearlooks-phenix/releases;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.prikhi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/themes/gtk3/numix-gtk-theme/default.nix b/pkgs/misc/themes/gtk3/numix-gtk-theme/default.nix
new file mode 100644
index 00000000000..de0060032f7
--- /dev/null
+++ b/pkgs/misc/themes/gtk3/numix-gtk-theme/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "2.2.3";
+  name = "numix-gtk-theme-${version}";
+  
+  src = fetchurl {
+    url = "https://github.com/shimmerproject/Numix/archive/v${version}.tar.gz";
+    sha256 = "b0acc2d81300b898403766456d3406304553cc7016677381f3179dbeb1192a2d";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -dm 755 $out/share/themes/Numix
+    cp -dr --no-preserve='ownership' {LICENSE,CREDITS,index.theme,gtk-2.0,gtk-3.0,metacity-1,openbox-3,unity,xfce-notify-4.0,xfwm4} $out/share/themes/Numix/
+  '';
+  
+  meta = {
+    description = "Numix GTK theme";
+    homepage = https://numixproject.org;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix
new file mode 100644
index 00000000000..2cceee62447
--- /dev/null
+++ b/pkgs/misc/themes/gtk3/oxygen-gtk3/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl
+, cmake, dbus_glib, glib, gtk3, gdk_pixbuf, pkgconfig, xorg }:
+
+stdenv.mkDerivation rec {
+  version = "1.4.1";
+  name = "oxygen-gtk3-${version}";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/oxygen-gtk3/${version}/src/${name}.tar.bz2";
+    sha256 = "0pd7wjzh5xgd24yg6b2avaiz1aq6rmh13d7c0jclffkmhmy24r0f";
+  };
+
+  buildInputs = [ cmake dbus_glib glib gtk3 gdk_pixbuf
+   pkgconfig xorg.libXau xorg.libXdmcp xorg.libpthreadstubs
+   xorg.libxcb xorg.pixman ];
+
+  meta = with stdenv.lib; {
+    description = "Port of the default KDE widget theme (Oxygen), to gtk 3";
+    homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk;
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/themes/orion/default.nix b/pkgs/misc/themes/orion/default.nix
new file mode 100644
index 00000000000..a6d037c3c4f
--- /dev/null
+++ b/pkgs/misc/themes/orion/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit, gtk-engine-murrine }:
+
+stdenv.mkDerivation {
+  name = "orion-1.5";
+
+  src = fetchgit {
+    url = "https://github.com/shimmerproject/Orion.git";
+    rev = "refs/tags/v1.5";
+    sha256 = "995671990514a68192dc82ed51eaa6ab17c396950e1d8b7768c262027be6b05f";
+  };
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  phases = "$prePhases unpackPhase installPhase fixupPhase $postPhases";
+  installPhase = ''
+    mkdir -p $out/share/themes/orion
+    cp -r gtk-2.0 gtk-3.0 metacity-1 openbox-3 xfwm4 $out/share/themes/orion
+  '';
+
+  meta = {
+    homepage = https://github.com/shimmerproject/Orion;
+    license = stdenv.lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 648ddb1b430..56dd79f2837 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -1,245 +1,382 @@
-{ fetchurl, bash, stdenv, python, cmake, vim, perl, ruby, unzip, which, fetchgit, clang }:
-
-/*
-About Vim and plugins
-=====================
-Let me tell you how Vim plugins work, so that you can decide on how to orginize
-your setup.
-
-typical plugin files:
-
-  plugin/P1.vim
-  autoload/P1.vim
-  ftplugin/xyz.vim
-  doc/plugin-documentation.txt (traditional documentation)
-  README(.md) (nowadays thanks to github)
-
-Traditionally plugins were installed into ~/.vim/* so it was your task to keep track
-of which files belong to what plugin. Now this problem is "fixed" by nix which
-assembles your profile for you.
-
-
-Vim offers the :h rtp setting which works for most plugins. Thus adding adding
-this to your .vimrc should make most plugins work:
-
-  set rtp+=~/.nix-profile/vim-plugins/YouCompleteMe
-  " or for p in ["YouCompleteMe"] | exec 'set rtp+=~/.nix-profile/vim-plugins/'.p | endfor
-
-Its what pathogen, vundle, vim-addon-manager (VAM) use.
-
-VAM's benefits:
-- allows activating plugins at runtime, eg when you need them. (works around
-  some au command hooks, eg required for TheNerdTree plugin)
-- VAM checkous out all sources (vim.sf.net, git, mercurial, ...)
-- runs :helptags on update/installation only. Obviously it cannot do that on
-  store paths.
-- it reads addon-info.json files which can declare dependencies by name
-  (without version)
-
-VAM is made up of
-- the code loading plugins
-- an optional pool (github.com/MarcWeber/vim-addon-manager-known-repositories)
-
-That pool probably is the best source to automatically derive plugin
-information from or to lookup about how to get data from www.vim.org.
-
-I'm not sure we should package them all. Most of them are not used much.
-You need your .vimrc anyway, and then VAM gets the job done ?
-
-How to install VAM? eg provide such a bash function:
-
-    vim-install-vam () {
-    mkdir -p ~/.vim/vim-addons && git clone --depth=1 git://github.com/MarcWeber/vim-addon-manager.git ~/.vim/vim-addons/vim-addon-manager && cat >> ~/.vimrc <<EOF
-    set nocompatible
-    set hidden
-    filetype indent plugin on | syn on
-    fun ActivateAddons()
-      let g:vim_addon_manager = {}
-      let g:vim_addon_manager.log_to_buf =1
-      set runtimepath+=~/.vim/vim-addons/vim-addon-manager
-      call vam#ActivateAddons([])
-    endf
-    call ActivateAddons()
-    EOF
-    }
-
-Marc Weber thinks that having no plugins listed might be better than having
-outdated ones.
-
-So which plugins to add here according to what Marc Weber thinks is best?
-Complicated plugins requiring dependencies, such as YouCompleteMe.
-Then its best to symlink ~/.nix-profile/vim-plugins/YouCompleteMe to
-~/.vim/{vim-addons,bundle} or whatever plugin management solution you use.
-
-If you feel differently change the comments and proceed.
-*/
-
-# provide a function creating tag files for vim help documentation (doc/*.txt)
-let vimHelpTags = ''
-    vimHelpTags(){
-      if [ -d "$1/doc" ]; then
-        ${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags $1/doc" +quit!
-      fi
-    }
-  '';
+# TODO check that no license information gets lost
+{ fetchurl, bash, stdenv, python, cmake, vim, vimUtils, perl, ruby, unzip,
+  which, fetchgit, fetchFromGitHub, fetchhg, fetchzip, llvmPackages, zip,
+  vim_configurable, vimPlugins, xkb_switch, git
+}:
+
+let
+
+inherit (vimUtils.override {inherit vim;}) rtpPath addRtp buildVimPlugin
+  buildVimPluginFrom2Nix vimHelpTags;
+in
+
+# This attrs contains two sections:
+# The first contains plugins added manually, the second contains plugins
+# generated by call nix#ExportPluginsForNix.
+# Documentation & usage see vim-utils.nix.
+# attribute names should be the same as used by vim-pi to make dependency
+# resolution work
+rec {
+
+  ### section I: manually mantained plugins
+
+  a = buildVimPlugin {
+    name = "a-git-2010-11-06";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/a.vim.git";
+      rev = "2cbe946206ec622d9d8cf2c99317f204c4d41885";
+      sha256 = "ca0982873ed81e7f6545a6623b735104c574fe580d5f21b0aa3dc1557edac240";
+     };
+    meta = {
+      homepage = https://github.com/vim-scripts/a.vim;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-  # install a simple standard vim plugin
-  simpleDerivation = a@{name, src, path, buildPhase ? "", ...} : stdenv.mkDerivation (a // {
-    inherit buildPhase;
+  airline = vim-airline;
 
-    installPhase = ''
-      target=$out/share/vim-plugins/${path}
-      mkdir -p $out/share/vim-plugins
-      cp -r . $target
-      ${vimHelpTags}
-      vimHelpTags $target
-    '';
-  });
+  align = buildVimPlugin {
+    name = "align-git-2012-08-07";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/align.git";
+      rev = "787662fe90cd057942bc5b682fd70c87e1a9dd77";
+      sha256 = "f7b5764357370f03546556bd45558837f3790b0e86afadb63cd04d714a668a29";
+     };
+    meta = {
+      homepage = https://github.com/vim-scripts/align;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-in rec
+  alternative = a; # backwards compat, added 2014-10-21
 
-{
+  calendar = buildVimPlugin {
+    name = "calendar-git-2015-03-19";
+    src = fetchgit {
+      url = "https://github.com/itchyny/calendar.vim.git";
+      rev = "a1b9d1a11e301a25bc48350da833469ef8bb6c9f";
+      sha256 = "a3a8da7890c5eedba72e2def86760b79092b3b5cf2ca3999deda5fa8eddecd49";
+    };
+    meta = {
+      homepage = https://github.com/itchyny/calendar.vim; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
+
+  command-t = buildVimPlugin rec {
+    name = "command-t-git-2015-01-12";
+    src = fetchgit {
+      url = "https://github.com/wincent/Command-T";
+      rev = "13760a725779b65fa0f2ebef51806f3c05a52550";
+      sha256 = "0cb284w1m8sxcc8ph64pm0cvqslpixss593a1ffnx9c09g6d7m8w";
+    };
+    buildInputs = [ perl ruby ];
+    buildPhase = ''
+      pushd ruby/command-t
+      ruby extconf.rb
+      make
+      popd
+    '';
+  };
 
-  vimAddonNix = {
-    # github.com/MarcWeber/vim-addon-nix provides some additional support for
-    # editing .nix files
+  command_T = command-t; # backwards compat, added 2014-10-18
 
-    # This is a placeholder, because I think you always should be using latest
-    # git version. It also depends on some additional plugins (see addon-info.json)
+  easymotion = buildVimPlugin {
+    name = "easymotion-git-2015-02-24";
+    src = fetchgit {
+      url = "https://github.com/lokaltog/vim-easymotion.git";
+      rev = "8acdfc60e58bb0600ded42a4f752bec6e3b6d882";
+      sha256 = "1177d1c06a16fe7c1e681a729d158a6cacf3fed9c14bd8c4ece35a069f21dc07";
+    };
+    meta = {
+      homepage = https://github.com/lokaltog/vim-easymotion; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
+  
+  eighties = buildVimPlugin {
+    name = "eighties-git-2015-02-12";
+    src = fetchgit {
+      url = "https://github.com/justincampbell/vim-eighties";
+      rev = "5d0ebf5424adb8017bec049de0cd51f6fa427281";
+      sha256 = "b4216c805e54f923efcbd8d914f97883f135c989f33e87d2eee69b488b57e747";
+    };
+    buildPhase = ":";
+    meta = with stdenv.lib; {
+      description = "Automatically resizes your windows to 80 characters";
+      homepage    = https://github.com/justincampbell/vim-eighties;
+      license     = licenses.publicDomain;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
   };
 
-  YouCompleteMe = stdenv.mkDerivation {
+
+  gitgutter = vim-gitgutter;
+
+  golang = buildVimPlugin {
+    name = "golang-git-2014-08-06";
     src = fetchgit {
-      url = "https://github.com/Valloric/YouCompleteMe.git";
-      rev = "67288080ea7057ea3111cb4c863484e3b150e738";
-      sha256 = "1a3rwdl458z1yrp50jdwp629j4al0zld21n15sad28g51m8gw5ka";
+      url = "https://github.com/jnwhiteh/vim-golang.git";
+      rev = "e6d0c6a72a66af2674b96233c4747661e0f47a8c";
+      sha256 = "1231a2eff780dbff4f885fcb4f656f7dd70597e1037ca800470de03bf0c5e7af";
      };
+    meta = {
+      homepage = https://github.com/jnwhiteh/vim-golang;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-    name = "youcompleteme-git-6728808";
-    buildInputs = [ python cmake clang.clang ];
+  hardtime = buildVimPlugin {
+    name = "hardtime-git-2014-10-21";
+    src = fetchgit {
+      url = "https://github.com/takac/vim-hardtime.git";
+      rev = "b401c72528d1c23e4cc9bc9585fda4361d0199bf";
+      sha256 = "65e4bda7531076147fc46f496c8e56c740d1fcf8fe85c18cb2d2070d0c3803cd";
+     };
+    meta = {
+      homepage = https://github.com/takac/vim-hardtime;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-    configurePhase = ":";
+  haskellconceal = buildVimPlugin {
+    name = "haskellconceal-git-2014-08-07";
+    src = fetchgit {
+      url = "https://github.com/twinside/vim-haskellconceal.git";
+      rev = "1d85e8f10b675d38ec117368ec8032f486c27f98";
+      sha256 = "8ae762939ea435333031a094f3c63e6edd534ac849f0008fa0440440f1f2f633";
+     };
+    meta = {
+      homepage = https://github.com/twinside/vim-haskellconceal;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-    buildPhase = ''
-      target=$out/share/vim-plugins/YouCompleteMe
-      mkdir -p $target
-      cp -a ./ $target
+  haskellConceal = haskellconceal; # backwards compat, added 2014-10-18
 
+  hasksyn = buildVimPlugin {
+    name = "hasksyn-git-2014-09-03";
+    src = fetchgit {
+      url = "https://github.com/travitch/hasksyn.git";
+      rev = "c434040bf13a17ca20a551223021b3ace7e453b9";
+      sha256 = "b1a735928aeca7011b83133959d59b9c95ab8535fd00ce9968fae4c3b1381931";
+     };
+    meta = {
+      homepage = https://github.com/travitch/hasksyn;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-      mkdir $target/build
-      cd $target/build
-      cmake -G "Unix Makefiles" . $target/third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON
-      make ycm_support_libs -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
-      ${bash}/bin/bash $target/install.sh --clang-completer
+  hdevtools = buildVimPlugin {
+    name = "hdevtools-git-2012-12-29";
+    src = fetchgit {
+      url = "https://github.com/bitc/vim-hdevtools.git";
+      rev = "474947c52ff9c93dd36f3c49de90bd9a78f0baa1";
+      sha256 = "bf5f096b665c51ce611c6c1bfddc3267c4b2f94af84b04482b07272a6a5a92f3";
+     };
+    meta = {
+      homepage = https://github.com/bitc/vim-hdevtools;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-      ${vimHelpTags}
-      vimHelpTags $target
-    '';
+  hier = buildVimPlugin {
+    name = "hier-git-2011-08-27";
+    src = fetchgit {
+      url = "https://github.com/jceb/vim-hier.git";
+      rev = "0b8c365263551a67404ebd7e528c55e17c1d3de7";
+      sha256 = "f62836545abfe379f9c5410da28409947407cd282ef784b2db89aed0756a1785";
+     };
+    buildInputs = [ vim ];
+    meta = {
+      homepage = https://github.com/jceb/vim-hier;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-    # TODO: implement proper install phase rather than keeping everything in store
-    # TODO: support llvm based C completion, See README of git repository
-    installPhase = ":";
+  idris-vim = buildVimPlugin {
+    name = "idris-vim-git-2014-12-29";
+    src = fetchgit {
+      url = "https://github.com/idris-hackers/idris-vim.git";
+      rev = "6bdb44b85406b75e3b3a4fa265deab1dbe8c6ff1";
+      sha256 = "87677f3aa81f15dbaf4337f709952fd47c9fa28e8086033f2cfbd5b1f256e5ff";
+    };
+    meta = {
+      homepage = https://github.com/idris-hackers/idris-vim; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
+  ipython = buildVimPlugin {
+    name = "ipython-git-2015-01-12";
+    src = fetchgit {
+      url = "https://github.com/ivanov/vim-ipython.git";
+      rev = "a47d92b371588a81f8501c66604d79e2827c60a8";
+      sha256 = "7cf2dbed5b404164199d4784331b21d90d371275b1d324298cde9eeda3c4eb53";
+    };
     meta = {
-      description = "fastest non utf-8 aware word and C completion engine for Vim";
-      homepage = http://github.com/Valloric/YouCompleteMe;
-      license = stdenv.lib.licenses.gpl3;
-      maintainers = [stdenv.lib.maintainers.marcweber];
-      platforms = stdenv.lib.platforms.linux;
+      homepage = https://github.com/ivanov/vim-ipython; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
   };
 
-  syntastic = simpleDerivation rec {
-    version = "3.4.0";
-    name    = "vim-syntastic-${version}";
+  latex-box = buildVimPlugin {
+    name = "latex-box-git-2015-03-05";
+    src = fetchgit {
+      url = "https://github.com/latex-box-team/latex-box.git";
+      rev = "0992511ad9b250cbe53bccbec3b0cb24feca64ec";
+      sha256 = "8e73020a4ad275dfb8887bfc6a85c8aa059a081feefb680b2fd7c85267137440";
+    };
+    meta = {
+      homepage = https://github.com/latex-box-team/latex-box; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-    src = fetchurl {
-      url    = "https://github.com/scrooloose/syntastic/archive/${version}.tar.gz";
-      sha256 = "0h8vfs6icpfwc41qx6n6rc1m35haxp2gaswg9fhcki2w2ikp6knb";
+  lushtags = buildVimPlugin {
+    name = "lushtags-git-2013-12-27";
+    src = fetchgit {
+      url = "https://github.com/bitc/lushtags.git";
+      rev = "429fab3b748ae04ee5de0cbf75d947f15441e798";
+      sha256 = "5170019fbe64b15be30a0ba82e6b01364d115ccad6ef690a6df86f73af22a0a7";
+     };
+    meta = {
+      homepage = https://github.com/bitc/lushtags;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
+  };
 
-    path = "syntastic";
+  neco-ghc = buildVimPlugin {
+    name = "neco-ghc-git-2015-03-21";
+    src = fetchgit {
+      url = "https://github.com/eagletmt/neco-ghc.git";
+      rev = "7d2c360736679064986925873b8d1e2b1978d9f8";
+      sha256 = "3c4d1b00c79953e56379792a64df036075a456cb10a7b891e1691d04c9f15310";
+    };
+    meta = {
+      homepage = https://github.com/eagletmt/neco-ghc; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
   };
 
-  coffeeScript = simpleDerivation {
-    name = "vim-coffee-script-v002";
-    src = fetchurl {
-      url = "https://github.com/vim-scripts/vim-coffee-script/archive/v002.tar.gz";
-      sha256 = "1xln6i6jbbihcyp5bsdylr2146y41hmp2xf7wi001g2ymj1zdsc0";
+  necoGhc = neco-ghc; # backwards compat, added 2014-10-18
+
+  neocomplete = buildVimPlugin {
+    name = "neocomplete-git-2015-03-24";
+    src = fetchgit {
+      url = "https://github.com/Shougo/neocomplete.vim.git";
+      rev = "1ef1c33cfdcae43d8b3c6381c4f54f0e93a17287";
+      sha256 = "5c61629c30906aacc00924ab5aaad720aba0011df348ea8835b6aaa53199550a";
+    };
+    meta = {
+      homepage = https://github.com/Shougo/neocomplete.vim; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
-    path = "vim-coffee-script";
   };
 
-  command_T = simpleDerivation rec {
-    version = "1.8";
-    name = "vim-command-t-${version}";
-    src = fetchurl {
-      url    = "https://github.com/wincent/Command-T/archive/${version}.tar.gz";
-      sha256 = "ad8664292e6eee40fbe195d856d20d93a8630e8c0149317ad72cc39423630800";
+  neosnippet = buildVimPlugin {
+    name = "neosnippet-git-2015-01-19";
+    src = fetchgit {
+      url = "https://github.com/Shougo/neosnippet.vim.git";
+      rev = "044c9cb8ca46a5e27eec37198990c26fe707b02a";
+      sha256 = "c448fac34e432a496ec1d76e07b478b27e66e6e4ec99c1b3923e66c781b74fc8";
+    };
+    meta = {
+      homepage = https://github.com/Shougo/neosnippet.vim; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
-    path = "Command-T";
-    buildInputs = [ perl ruby ];
-    buildPhase = ''
-      pushd ruby/command-t
-      ruby extconf.rb
-      make
-      popd
-    '';
   };
 
-  eighties = simpleDerivation rec {
-    version = "1.0.4";
-    name = "vim-eighties-${version}";
-    src = fetchurl {
-      url    = "https://github.com/justincampbell/vim-eighties/archive/${version}.tar.gz";
-      sha256 = "0cjd9hbg2qd7jjkvyi15f9ysp7m3aa2sg8nvbf80yb890rfkwaqr";
+  neosnippet-snippets = buildVimPlugin {
+    name = "neosnippet-snippets-git-2015-03-25";
+    src = fetchgit {
+      url = "https://github.com/Shougo/neosnippet-snippets.git";
+      rev = "dfa436157c9e72f16f0f0d088fa181b37e226c2f";
+      sha256 = "00a65d1f6a1309acef42c0ca70f333ab355db521319c14db8247be38d28da730";
     };
-    path = "eighties";
-    meta = with stdenv.lib; {
-      description = "Automatically resizes your windows to 80 characters";
-      homepage    = https://github.com/justincampbell/vim-eighties;
-      license     = licenses.publicDomain;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
+    meta = {
+      homepage = https://github.com/Shougo/neosnippet-snippets; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
   };
 
-  golang = simpleDerivation {
-    name = "vim-golang-20131127";
+
+  nerdcommenter = The_NERD_Commenter;
+
+  quickrun = buildVimPlugin {
+    name = "quickrun-git-2015-03-26";
     src = fetchgit {
-      url = "https://github.com/jnwhiteh/vim-golang.git";
-      rev = "832d64e5a813511ed52217aa24f0255c49671bab";
-      sha256 = "6858eb674be132477c5dc7f7d3cbe550371f90d1aba480547a614965412a7b3c";
+      url = "https://github.com/thinca/vim-quickrun.git";
+      rev = "2d03b3a7405da0e95ff7f6f617843ba9f536395f";
+      sha256 = "803e902a083b79c70ea3f826a89864b8879897cd36a655d9e789a0d651127eb3";
+     };
+    meta = {
+      homepage = https://github.com/thinca/vim-quickrun;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
-    path = "golang";
-    meta = with stdenv.lib; {
-      description = "Vim plugins for Go";
-      homepage    = https://github.com/jnwhiteh/vim-golang;
-      license     = licenses.publicDomain;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
+  };
+
+  racer = buildVimPlugin {
+    name = "racer-git-2015-03-23";
+    src = fetchgit {
+      url = "https://github.com/phildawes/racer";
+      rev = "c6f557bfd9a22d45476651fa95f7d8415ed897a8";
+      sha256 = "697d92e0acbb3a8c1d691eaebc008bec422060df10e3c4cf6fad448b30391852";
+    };
+    buildPhase = ''
+      find . -type f -not -name 'racer.vim' -exec rm -rf {} \;
+      rm -rf editors images src
+    '';
+    meta = {
+      homepage = https://github.com/phildawes/racer;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
   };
 
-  ipython = simpleDerivation {
-    name = "vim-ipython-ff8f88f3fe518851a91dc88aaa5a75f8f352a960";
-    src = fetchurl {
-      url    = "https://github.com/ivanov/vim-ipython/archive/ff8f88f3fe518851a91dc88aaa5a75f8f352a960.tar.gz";
-      sha256 = "0hlx526dm8amrvh41kwnmgvvdzs6sh5yc5sfq4nk1zjkfcp1ah5j";
+  shabadou = buildVimPlugin {
+    name = "shabadou-git-2014-07-27";
+    src = fetchgit {
+      url = "https://github.com/osyo-manga/shabadou.vim.git";
+      rev = "c5af30bb0c028d53cfd89e00cab636c844034a9a";
+      sha256 = "392efa8a5e725219e478b571d9a30ddba88d47662467ed3123a168e8b55c4de6";
+     };
+    meta = {
+      homepage = https://github.com/osyo-manga/shabadou.vim;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
-    path = "ipython";
-    meta = with stdenv.lib; {
-      description = "A two-way integration between vim and iPython";
-      homepage    = https://github.com/ivanov/vim-ipython;
-      repositories.git = https://github.com/ivanov/vim-ipython.git;
-      license     = licenses.publicDomain;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
+  };
+
+  stylish-haskell = buildVimPlugin {
+    name = "stylish-haskell-git-2014-07-14";
+    src = fetchgit {
+      url = "https://github.com/nbouscal/vim-stylish-haskell.git";
+      rev = "453fd203aee3d7305ea8e4088ff53bd1f5933d75";
+      sha256 = "c0e5010e1e8e56b179ce500387afb569f051c45b37ce92feb4350f293df96a8c";
+     };
+    meta = {
+      homepage = https://github.com/nbouscal/vim-stylish-haskell;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
+
+  stylishHaskell = stylish-haskell; # backwards compat, added 2014-10-18
+
+  tabmerge = buildVimPlugin {
+    name = "tabmerge-git-2010-10-17";
+    src = fetchgit {
+      url = "https://github.com/vim-scripts/tabmerge.git";
+      rev = "074e5f06f26e7108a0570071a0f938a821768c06";
+      sha256 = "b84501b0fc5cd51bbb58f12f4c2b3a7c97b03fe2a76446b56a2c111bd4f7335f";
+     };
+    meta = {
+      homepage = https://github.com/vim-scripts/tabmerge;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
   };
 
-  taglist = simpleDerivation {
-    name = "vim-taglist-4.6";
+  taglist = buildVimPlugin {
+    name = "taglist-4.6";
     meta = with stdenv.lib; {
       description = "Source code browser plugin";
       homepage    = "http://www.vim.org/scripts/script.php?script_id=273";
@@ -259,43 +396,76 @@ in rec
       mv plugin taglist
     '';
     buildInputs = [ unzip ];
-    path = "taglist";
   };
 
-  tagbar = simpleDerivation rec {
-    version = "2.6.1";
-    name    = "vim-tagbar-${version}";
-
-    meta = with stdenv.lib; {
-      description = "A vim plugin for browsing the tags of source code files";
-      homepage    = https://github.com/majutsushi/tagbar;
-      license     = licenses.gpl3;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
+  thumbnail = buildVimPlugin {
+    name = "thumbnail-git-2015-03-15";
+    src = fetchgit {
+      url = "https://github.com/itchyny/thumbnail.vim.git";
+      rev = "19bd717307a8d0986a4a77116f47168fbe11e178";
+      sha256 = "c8c100e1b0ee9c75fc3b6db00b68c47d91bcca8979f6de046aade43fd09e3882";
+     };
+    meta = {
+      homepage = https://github.com/itchyny/thumbnail.vim;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
+  };
 
-    src = fetchurl {
-      url    = "https://github.com/majutsushi/tagbar/archive/v${version}.tar.gz";
-      sha256 = "c061a7e0a45a166f4558b31e6c47b9fd701f5fa1319527b65a268ea054dea5fb";
+  tmux-navigator = buildVimPlugin {
+    name = "tmux-navigator-git-2015-03-16";
+    src = fetchgit {
+      url = "https://github.com/christoomey/vim-tmux-navigator.git";
+      rev = "928a52fbda90ec70b2eb6edaf570654df4521af0";
+      sha256 = "6f6912960245664146ead711886aad216b74f4c6b1feec975cab199114afb13c";
+     };
+    meta = {
+      homepage = https://github.com/christoomey/vim-tmux-navigator;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
-
-    path = "tagbar";
   };
 
-  xdebug = simpleDerivation {
-    name = "vim-xdebug-a4980fa65f7f159780593ee37c178281691ba2c4";
-    src = fetchurl {
-      url = "https://github.com/joonty/vim-xdebug/archive/a4980fa65f7f159780593ee37c178281691ba2c4.tar.gz";
-      sha256 = "1348gzp0zhc2wifvs5vmf92m9y8ik8ldnvy7bawsxahy8hmhiksk";
+  tmuxNavigator = tmux-navigator; # backwards compat, added 2014-10-18
+
+  tslime = buildVimPlugin {
+    name = "tslime-git-2015-02-10";
+    src = fetchgit {
+      url = "https://github.com/jgdavey/tslime.vim.git";
+      rev = "71ec1cbe8f9ead9805f8e0c3b76c590aeb5ed0b7";
+      sha256 = "81f45f579dcc239ce0b9689044d0e92969f7538759ab0cd88596c7a010d8730b";
+     };
+    meta = {
+      homepage = https://github.com/jgdavey/tslime.vim;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
-    path = "xdebug";
-    postInstall = false;
   };
 
-  vimshell = simpleDerivation rec {
-    version = "9.2";
-    name = "vimshell-${version}";
+  vimproc = buildVimPlugin {
+    name = "vimproc-git-2015-02-23";
+    src = fetchgit {
+      url = "https://github.com/shougo/vimproc.vim.git";
+      rev = "0f68bcd93399ecbcde3eaa4efd09107314c9bdee";
+      sha256 = "850cb6d347f4c353782c48533f2dc6e3150a3982dc71efbd5f6b0a921264f939";
+    };
+    buildInputs = [ which ];
 
+    buildPhase = ''
+      sed -i 's/vimproc_mac\.so/vimproc_unix\.so/' autoload/vimproc.vim
+      make -f make_unix.mak
+    '';
+
+    meta = {
+      homepage = https://github.com/shougo/vimproc.vim;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
+
+  vimshell = buildVimPlugin rec {
+    name = "vimshell-git-2015-03-24";
+    src = fetchgit {
+      url = "https://github.com/Shougo/vimshell.vim";
+      rev = "41d3ad325852e80588ab57c64433fa338789d6ac";
+      sha256 = "bf76ee252a3cbb121013ce10547cee7d31a64d10c46687ddfaa988e7c5baf095";
+    };
     meta = with stdenv.lib; {
       description = "An extreme shell that doesn't depend on external shells and is written completely in Vim script";
       homepage    = https://github.com/Shougo/vimshell.vim;
@@ -304,345 +474,834 @@ in rec
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.unix;
     };
-
-    src = fetchurl {
-      url    = "https://github.com/Shougo/vimshell.vim/archive/ver.${version}.tar.gz";
-      sha256 = "1pbwxdhpv6pr09b6hwkgy7grpmpwlqpsgsawl38r40q6yib8zb4a";
-    };
-
     buildInputs = [ vimproc ];
-
     preBuild = ''
       sed -ie '1 i\
-      set runtimepath+=${vimproc}/share/vim-plugins/vimproc\
+      set runtimepath+=${vimproc}/${rtpPath}/vimproc\
       ' autoload/vimshell.vim
     '';
-
-    path = "vimshell";
   };
 
-  vimproc = simpleDerivation rec {
-    version = "7788b5f934bc7460c1e9134b51fe5690b21de83c";
-    name    = "vimproc-${version}";
+  wakatime = buildVimPlugin {
+    name = "wakatime-3.0.9";
+
+    src = fetchFromGitHub {
+      sha256 = "0qq2h5ysbixypz1ga5j3yrh8sd5h1npqkd59dpl5c1mvjlc30fpk";
+      rev = "f5848439ffdf63db3859f692df1d8fa64b1b3edf";
+      repo = "vim-wakatime";
+      owner = "wakatime";
+    };
 
     meta = with stdenv.lib; {
-      description = "An asynchronous execution library for Vim";
-      homepage    = https://github.com/Shougo/vimproc.vim;
-      repositories.git = https://github.com/Shougo/vimproc.vim.git;
-      license     = licenses.gpl3;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
+      description = "Analytics about your programming";
+      homepage = https://wakatime.com;
+      license = with licenses; bsd3;
+      platforms = with platforms; linux;
+      maintainers = with maintainers; [ nckx ];
+    };
+
+    buildInputs = [ python ];
+  };
+
+  watchdogs = buildVimPlugin {
+    name = "watchdogs-git-2015-03-20";
+    src = fetchgit {
+      url = "https://github.com/osyo-manga/vim-watchdogs.git";
+      rev = "01ba53074fd3bedd81f5aed2dcc4fec092f62ba9";
+      sha256 = "7b363779a0b035a0aaec025653a29e2f4dbd9e1518a34a6e993c43e8ec810d57";
+     };
+    meta = {
+      homepage = https://github.com/osyo-manga/vim-watchdogs;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
     };
+  };
 
+  xdebug = buildVimPlugin {
+    name = "xdebug-git-2012-08-15";
     src = fetchgit {
-      url = "https://github.com/Shougo/vimproc.vim.git";
-      rev = "${version}";
-      sha256 = "0ahmnzccf5rv8rwg7b6pfgxh8pcmq955aznjv64slyh0mjqmh6jl";
+      url = "https://github.com/joonty/vim-xdebug.git";
+      rev = "a4980fa65f7f159780593ee37c178281691ba2c4";
+      sha256 = "1ccb0e63eaf68548feb1c37b09c07c84b6bea9b350c4257549f091aa414601e2";
      };
+    postInstall = false;
+    meta = {
+      homepage = https://github.com/joonty/vim-xdebug;
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
 
-    buildInputs = [ which ];
+  xkbswitch = buildVimPlugin {
+    name = "xkbswitch-git-2015-01-18";
+    src = fetchgit {
+      url = "https://github.com/lyokha/vim-xkbswitch.git";
+      rev = "932765d8a45b0c8b994b920505b8f10cc7e8cad0";
+      sha256 = "20e1f7196b65d98687a27c8a3f2d0847701890a0818dfcfec13f24a3151b0e73";
+     };
+    buildInputs = [ xkb_switch ];
+    meta = {
+      homepage = https://github.com/lyokha/vim-xkbswitch; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
+
+  YouCompleteMe = buildVimPlugin {
+    src = fetchgit {
+      rev = "2f8109020644ad28e5cd795c29bc1150f87b3cb4";
+      url = "https://github.com/Valloric/YouCompleteMe";
+      sha256 = "15d3dhxan602qxz2wixjf4pjrf210qwa51ckzyjyh5kqak9lx8pi";
+     };
+    name = "youcompleteme-2015-03-27";
+
+    buildInputs = [
+      python cmake
+      llvmPackages.clang-unwrapped llvmPackages.llvm
+    ];
+
+    configurePhase = ":";
 
     buildPhase = ''
-      sed -i 's/vimproc_mac\.so/vimproc_unix\.so/' autoload/vimproc.vim
-      make -f make_unix.mak
+      patchShebangs .
+
+      target=$out/${rtpPath}/youcompleteme
+      mkdir -p $target
+      cp -a ./ $target
+
+      mkdir $target/build
+      cd $target/build
+      cmake -G "Unix Makefiles" . $target/third_party/ycmd/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON
+      make ycm_support_libs -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
+      ${bash}/bin/bash $target/install.sh --clang-completer --system-libclang
+
+      ${vimHelpTags}
+      vimHelpTags $target
     '';
 
-    path = "vimproc";
+    # TODO: implement proper install phase rather than keeping everything in store
+    # TODO: support llvm based C completion, See README of git repository
+    installPhase = ":";
+
+    meta = {
+      description = "Fastest non utf-8 aware word and C completion engine for Vim";
+      homepage = http://github.com/Valloric/YouCompleteMe;
+      license = stdenv.lib.licenses.gpl3;
+      maintainers = with stdenv.lib.maintainers; [marcweber jagajaga];
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
-  colorsamplerpack = simpleDerivation rec {
-    version = "2012.10.28";
-    name    = "vim-colorsamplerpack-${version}";
+  youcompleteme = YouCompleteMe;
 
-    setSourceRoot = "sourceRoot=.";
+  YUNOcommit = buildVimPlugin {
+    name = "YUNOcommit";
+    src = fetchgit {
+      url = "https://github.com/esneider/YUNOcommit.vim";
+      rev = "981082055a73ef076d7e27477874d2303153a448";
+      sha256 = "4bfd80720c353884e5c373b5457397a63e5e2e4ab4a97d6ce86c1740ac3b4c56";
+    
+    };
+    dependencies = [];
+  };
+
+
+  ### section II: automatically generated plugin derivations
+  # Update with vimUtils.vimPlugins.pluginnames2Nix command
+
+  # This is not a plugin, it provides bin/vim-open-buffer-with-plugins-derivations
+  # which recreates this the following derivations based on ./vim-plugin-names
+  pluginnames2nix = vimUtils.pluginnames2Nix {
+    name = "vim-plugin-names-to-nix";
+    namefiles = [./vim-plugin-names];
+  };
+
+  # aliasess
+  tabular = Tabular;
+  tagbar = Tagbar;
+  coffee-script = vim-coffee-script;
+  coffeeScript = coffee-script; # backwards compat, added 2014-10-18
+  colors-solarized = Solarized;
+  colorsamplerpack = Colour_Sampler_Pack;
+  easy-align = vim-easy-align;
+  ghc-mod-vim = ghcmod;
+  gist-vim = Gist;
+  gundo = Gundo;
+  hoogle = Hoogle;
+  latex-live-preview = vim-latex-live-preview;
+  nerdtree = The_NERD_tree;
+  signature = vim-signature;
+  supertab = Supertab;
+  syntastic = Syntastic;
+  webapi-vim = WebAPI;
+  yankring = YankRing;
+  "sourcemap.vim" = sourcemap;
+
+
+  ### The following derivations are generated by nix#ExportPluginsForNix
+
+
+  "Colour_Sampler_Pack" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Colour_Sampler_Pack";
     src = fetchurl {
-      url    = "http://www.vim.org/scripts/download_script.php?src_id=18915";
-      name   = "colorsamplerpack.zip";
+      url = "http://www.vim.org/scripts/download_script.php?src_id=18915";
+      name = "ColorSamplerPack.zip";
       sha256 = "1wsrb3vpqn9fncnalfpvc8r92wk1mcskm4shb3s2h9x5dyihf2rd";
     };
-
     buildInputs = [ unzip ];
+    dependencies = [];
+    meta = {
+       url = "http://www.vim.org/scripts/script.php?script_id=625";
+    };
+
+
+  };
+  "Gist" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Gist-2015-03-25";
+    src = fetchgit {
+      url = "git://github.com/mattn/gist-vim";
+      rev = "22eeb3a72f116818dec0e2f9fe3ea46443141b95";
+      sha256 = "9ecaa593267958c5860d6e34be5fc1e3280da5265a1fb35bdb2904163049325f";
+    };
+    dependencies = [];
 
-    path = "colorsamplerpack";
   };
+  "Gundo" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Gundo";
+    src = fetchhg {
+      url = "https://bitbucket.org/sjl/gundo.vim";
+      rev = "eb9fc8676b89";
+      sha256 = "05lcxrd9ibfi02ja4jvl5y5pp884b8kh9aarw045b0mlldygv6cp";
+    };
+    dependencies = [];
 
-  yankring = simpleDerivation rec {
-    version = "18.0";
-    name    = "vim-yankring-${version}";
+  };
+  "Hoogle" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Hoogle-2013-11-26";
+    src = fetchgit {
+      url = "git://github.com/Twinside/vim-hoogle";
+      rev = "81f28318b0d4174984c33df99db7752891c5c4e9";
+      sha256 = "0f96f3badb6218cac87d0f7027ff032ecc74f08ad3ada542898278ce11cbd5a0";
+    };
+    dependencies = [];
 
-    setSourceRoot = "sourceRoot=.";
-    src = fetchurl {
-      url    = "http://www.vim.org/scripts/download_script.php?src_id=20842";
-      name   = "yankring_180.zip";
-      sha256 = "0bsq4pxagy12jqxzs7gcf25k5ahwif13ayb9k8clyhm0jjdkf0la";
+  };
+  "Solarized" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Solarized-2011-05-09";
+    src = fetchgit {
+      url = "git://github.com/altercation/vim-colors-solarized";
+      rev = "528a59f26d12278698bb946f8fb82a63711eec21";
+      sha256 = "a1b2ef696eee94dafa76431c31ee260acdd13a7cf87939f27eca431d5aa5a315";
     };
+    dependencies = [];
 
-    buildInputs = [ unzip ];
+  };
+  "Supertab" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Supertab-2015-02-15";
+    src = fetchgit {
+      url = "git://github.com/ervandew/supertab";
+      rev = "c8bfeceb1fc92ad58f2ae6967cbfcd6fbcb0d6e7";
+      sha256 = "e9e4054c683435b36adf87bebb4895c06a7e85130a807d8c9307588d4744b04b";
+    };
+    dependencies = [];
 
-    path = "yankring";
   };
+  "Syntastic" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Syntastic-2015-03-25";
+    src = fetchgit {
+      url = "git://github.com/scrooloose/syntastic";
+      rev = "dac07db61758590c71d655ed5403181af4e845a2";
+      sha256 = "96ae43056b79a50c34272f483c5c7a3cf55f5aa8699b319fe9ed5f7ba12ed0d7";
+    };
+    dependencies = [];
 
-  ctrlp = simpleDerivation rec {
-    version = "1.79";
-    name    = "vim-ctrlp-${version}";
+  };
+  "Tabular" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Tabular-2013-05-16";
+    src = fetchgit {
+      url = "git://github.com/godlygeek/tabular";
+      rev = "60f25648814f0695eeb6c1040d97adca93c4e0bb";
+      sha256 = "28c860ad621587f2c3213fae47d1a3997746527c17d51e9ab94c209eb7bfeb0f";
+    };
+    dependencies = [];
 
-    setSourceRoot = "sourceRoot=.";
-    src = fetchurl {
-      url    = "http://www.vim.org/scripts/download_script.php?src_id=19448";
-      name   = "ctrlp_180.zip";
-      sha256 = "1x9im8g0g27mxc3c9k7v0jg5bb1dmnbjygmqif5bizab5g69n2mi";
+  };
+  "Tagbar" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "Tagbar-2015-03-17";
+    src = fetchgit {
+      url = "git://github.com/majutsushi/tagbar";
+      rev = "3634e7ab4feeab8ad49166e9e716638c20f1637c";
+      sha256 = "cecbb15e025b300f688a7a67cc886a2e8a8afaf3e8fdca4a4d8ba73dabda8ab2";
     };
+    dependencies = [];
 
-    buildInputs = [ unzip ];
+  };
+  "The_NERD_Commenter" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "The_NERD_Commenter-2014-07-08";
+    src = fetchgit {
+      url = "git://github.com/scrooloose/nerdcommenter";
+      rev = "6549cfde45339bd4f711504196ff3e8b766ef5e6";
+      sha256 = "ef270ae5617237d68b3d618068e758af8ffd8d3ba27a3799149f7a106cfd178e";
+    };
+    dependencies = [];
 
-    path = "ctrlp";
   };
+  "The_NERD_tree" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "The_NERD_tree-2014-11-20";
+    src = fetchgit {
+      url = "git://github.com/scrooloose/nerdtree";
+      rev = "3b98a7fcae8f9fff356907171f0406ff8cd28921";
+      sha256 = "deec2ce33249829ae3925478d7d1925ea99e20c37dcc86db7c3bfac4fdc706e0";
+    };
+    dependencies = [];
 
-  alternate = stdenv.mkDerivation rec {
-    version = "2.18";
-    name    = "vim-a-${version}";
+  };
+  "UltiSnips" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "UltiSnips-2015-03-05";
+    src = fetchgit {
+      url = "git://github.com/sirver/ultisnips";
+      rev = "1971030b506a8f0e2e0398fb166f21a5341f8c7a";
+      sha256 = "84c07f73ea22a34422c843c5ccb40aa8d3967175ff38ab6155303ba3c039e859";
+    };
+    dependencies = [];
 
+  };
+  "VimOutliner" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "VimOutliner-2015-01-09";
+    src = fetchgit {
+      url = "git://github.com/vimoutliner/vimoutliner";
+      rev = "7c995f973c54b0d026137615af28059890edb197";
+      sha256 = "9d1526ec99904fd2ccfdb4dd6763b4cd04048cb74bb7a0a4c9b4a7b1f5d75cb5";
+    };
+    dependencies = [];
+
+  };
+  "WebAPI" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "WebAPI-2014-10-27";
+    src = fetchgit {
+      url = "git://github.com/mattn/webapi-vim";
+      rev = "a7789abffe936db56e3152e23733847f94755753";
+      sha256 = "455b84d9fd13200ff5ced5d796075f434a7fb9c00f506769174579266ae2be80";
+    };
+    dependencies = [];
+
+  };
+  "YankRing" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "YankRing";
     src = fetchurl {
-      url    = "http://www.vim.org/scripts/download_script.php?src_id=7218";
-      name   = "a.vim";
-      sha256 = "1q22vfkv60sshp9yj3mmfc8azavgzz7rpmaf72iznzq4wccy6gac";
-    };
-    unpackPhase = ":";
-    installPhase = ''
-      mkdir -p $out/share/vim-plugins/vim-a
-      cp ${src} $out/share/vim-plugins/vim-a/a.vim
-    '';
+      url = "http://www.vim.org/scripts/download_script.php?src_id=20842";
+      name = "yankring_180.zip";
+      sha256 = "0bsq4pxagy12jqxzs7gcf25k5ahwif13ayb9k8clyhm0jjdkf0la";
+    };
+    buildInputs = [ unzip ];
+    dependencies = [];
+    meta = {
+       url = "http://www.vim.org/scripts/script.php?script_id=1234";
+    };
+
+
   };
+  "commentary" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "commentary-2014-11-10";
+    src = fetchgit {
+      url = "git://github.com/tpope/vim-commentary";
+      rev = "9c685131a5facfa0d643feca3a61b41c007d8170";
+      sha256 = "2a9f394d0669429469c2f1ddaf9a722c2773f35da08ea9496d3b4b4e85b6038d";
+    };
+    dependencies = [];
 
-  vundle = simpleDerivation {
-    name = "vundle-vim-git-0b28e334";
+  };
+  "ctrlp" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ctrlp-2013-07-29";
     src = fetchgit {
-      url = "https://github.com/gmarik/Vundle.vim.git";
-      rev = "0b28e334e65b6628b0a61c412fcb45204a2f2bab";
-      sha256 = "9681d471d1391626cb9ad22b2b469003d9980cd23c5c3a8d34666376447e6204";
-     };
-    path = "vundle";
+      url = "git://github.com/kien/ctrlp.vim";
+      rev = "b5d3fe66a58a13d2ff8b6391f4387608496a030f";
+      sha256 = "41f7884973770552395b96f8693da70999dc815462d4018c560d3ff6be462e76";
+    };
+    dependencies = [];
+
   };
+  "extradite" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "extradite-2015-01-26";
+    src = fetchgit {
+      url = "git://github.com/int3/vim-extradite";
+      rev = "a1dc4b63befd5032e65a0c94e7257d4636aa6a3f";
+      sha256 = "94e05bbe36c9d4cee9832530531eedff0da509d5a0a52beee4e524fd4ad96714";
+    };
+    dependencies = [];
 
-  tslime = simpleDerivation {
-    name = "tslime-vim-git-e801a32b";
+  };
+  "fugitive" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "fugitive-2015-02-20";
     src = fetchgit {
-      url = "https://github.com/jgdavey/tslime.vim.git";
-      rev = "e801a32b27d83cb5d91afbf7c3d71bb6220f32bd";
-      sha256 = "47fb7165c1dcc444285cdff6fa89bbd4ace82ca79ec14ba0da6091c5f78d1251";
-     };
-    path = "tslime";
+      url = "git://github.com/tpope/vim-fugitive";
+      rev = "0095769029709b531d2505ee6ad9907dd9bd72a0";
+      sha256 = "83184b527538d0aac01783074ec29addfa18b62880ec8959dae6e404c6ff3d11";
+    };
+    dependencies = [];
+
   };
+  "ghcmod" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "ghcmod-2015-03-17";
+    src = fetchgit {
+      url = "git://github.com/eagletmt/ghcmod-vim";
+      rev = "7e5f6102aa709244f5d4cedec807eac4b901c4cb";
+      sha256 = "47c5f5c4bf73dca653550b460306fa3808d864a685903bdb95ba07a6e1cd2899";
+    };
+    dependencies = [];
 
-  supertab = simpleDerivation {
-    name = "supertab-git-23db5585";
+  };
+  "github:JagaJaga/vim-addon-vim2nix" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "github-JagaJaga-vim-addon-vim2nix-2015-03-06";
     src = fetchgit {
-      url = "https://github.com/ervandew/supertab.git";
-      rev = "23db558596d4a73e4afa8fbedcde23b95bf72251";
-      sha256 = "21fa675969f4cfd2686ab3b63cba632fa55d62481e61d36193403bea9c02ebde";
-     };
-    path = "supertab";
-    buildInputs = [ vim ];
+      url = "git://github.com/JagaJaga/vim-addon-vim2nix";
+      rev = "343d8a4e43a5b40f134e73be7140f754ca74d2e5";
+      sha256 = "466ac56d4397d964cf21a63d31f2628fdea40bc94a54018affe8717de8514564";
+    };
+    dependencies = ["vim-addon-manager"];
+
   };
+  "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 = {
+       url = "http://www.vim.org/scripts/script.php?script_id=39";
+    };
 
-  fugitive = simpleDerivation {
-    name = "vim-fugitive-git-90ee6fb5";
+  unpackPhase = ''
+    (
+     sourceRoot=d
+     mkdir $sourceRoot; cd $sourceRoot;
+     unzip $src
+    )
+  '';
+  };
+  "pathogen" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "pathogen-2014-11-06";
     src = fetchgit {
-      url = "https://github.com/tpope/vim-fugitive.git";
-      rev = "90ee6fb5d255d14d9f12f2469f92ee50149f5b44";
-      sha256 = "0297512f7fee62af601a99a68617591ecb2e244475ff0d79ebee9c7e6eff2eaf";
-     };
-    path = "fugitive";
+      url = "git://github.com/tpope/vim-pathogen";
+      rev = "b9fb0dfd811004010f5f6903edef42d6004ebea2";
+      sha256 = "62ec7e9721651aa86aa716d47c2057771f7d093f414c3b98f50a759d210db4c7";
+    };
+    dependencies = [];
+
   };
+  "quickfixstatus" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "quickfixstatus-2011-09-02";
+    src = fetchgit {
+      url = "git://github.com/dannyob/quickfixstatus";
+      rev = "fd3875b914fc51bbefefa8c4995588c088163053";
+      sha256 = "7b6831d5da1c23d95f3158c67e4376d32c2f62ab2e30d02d3f3e14dcfd867d9b";
+    };
+    dependencies = [];
 
-  extradite = simpleDerivation {
-    name = "vim-extradite-git-af4f3a51";
+  };
+  "rainbow_parentheses" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "rainbow_parentheses-2013-03-04";
     src = fetchgit {
-      url = "https://github.com/int3/vim-extradite.git";
-      rev = "af4f3a51b6b654d655121b93c0cd9d8fe9a0c85d";
-      sha256 = "d1d29cfbc654134be383747f2cd6b14b7a87de75f997af6a041f14d7ef61ade6";
-     };
-    path = "extradite";
+      url = "git://github.com/kien/rainbow_parentheses.vim";
+      rev = "eb8baa5428bde10ecc1cb14eed1d6e16f5f24695";
+      sha256 = "47975a426d06f41811882691d8a51f32bc72f590477ed52b298660486b2488e3";
+    };
+    dependencies = [];
+
   };
+  "rust" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "rust-2015-01-29";
+    src = fetchgit {
+      url = "git://github.com/wting/rust.vim";
+      rev = "2450ecf3091cc7c2711ca9f00eae8e3bedd04376";
+      sha256 = "9d2e8b2c06d6100f9a1e76644313d457a2ff955241d8f712de6fddd0b7f5c4ee";
+    };
+    dependencies = [];
 
-  nerdtree = simpleDerivation {
-    name = "nerdtree-git-4f1e6ecb";
+  };
+  "sensible" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "sensible-2014-11-24";
     src = fetchgit {
-      url = "https://github.com/scrooloose/nerdtree.git";
-      rev = "4f1e6ecb057fc0bac189171c1430d71ef25f6bb1";
-      sha256 = "67ff2e7b9a7f39e58e9e334b1b79343a4c11aae10a657ab4fece289d8fe59300";
-     };
-    path = "nerdtree";
+      url = "git://github.com/tpope/vim-sensible";
+      rev = "b30dcf387af977acfa21732592bfca05598b2188";
+      sha256 = "6a9fc68c3eb0ee500ac59bdbc2c48d98e88a2936ee544f7203fa1a0296002b5f";
+    };
+    dependencies = [];
+
   };
+  "snipmate" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "snipmate-2015-03-21";
+    src = fetchgit {
+      url = "git://github.com/garbas/vim-snipmate";
+      rev = "2079ea5aadaada568f78acfc6b565945625ed97d";
+      sha256 = "47f5d131485f8a57389a0b455c6e83f8f543d71a04cbaa7af594b3abe9099d9f";
+    };
+    dependencies = ["vim-addon-mw-utils" "tlib"];
 
-  airline = simpleDerivation {
-    name = "vim-airline-git-2114e702";
+  };
+  "sourcemap" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "sourcemap-2012-09-19";
     src = fetchgit {
-      url = "https://github.com/bling/vim-airline.git";
-      rev = "2114e7025188a941e5c63b1f942d576adb98d8a4";
-      sha256 = "b6fc4d0545f8b7e107c5f80b94cf536a2b1fdd55d9f2484a29a007911e96130f";
-     };
-    path = "airline";
+      url = "git://github.com/chikatoike/sourcemap.vim";
+      rev = "0dd82d40faea2fdb0771067f46c01deb41610ba1";
+      sha256 = "a08c77aea39be4a0a980d62673d1d17fecc518a8aeb9101210e453aaacb78fbd";
+    };
+    dependencies = [];
+
   };
+  "surround" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "surround-2015-03-15";
+    src = fetchgit {
+      url = "git://github.com/tpope/vim-surround";
+      rev = "772ab9587b7d1e2c3bae75395c9123803059ba8a";
+      sha256 = "5f4c5afecaa99dc67875a2356b46cb6e8daeffca4a00a451965ca022de26cbef";
+    };
+    dependencies = [];
 
-  ultisnips = simpleDerivation {
-    name = "ultisnips-git-279d6e63";
+  };
+  "table-mode" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "table-mode-2015-03-17";
     src = fetchgit {
-      url = "https://github.com/SirVer/ultisnips.git";
-      rev = "279d6e63c9a8dbaa20ffc43c3c5f057dfc8f1121";
-      sha256 = "f8d93849ef2bce798aa599ba860694ced37d12450010a48dd6bd3004bc52b503";
-     };
-    path = "ultisnips";
+      url = "git://github.com/dhruvasagar/vim-table-mode";
+      rev = "c0a6d43f2191b841c01cec0638a33a8116f7f920";
+      sha256 = "222532a9803f855b5f261eb311359980625606716c1b9419703b97874554c49d";
+    };
+    dependencies = [];
+
   };
+  "tlib" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "tlib-2015-02-23";
+    src = fetchgit {
+      url = "git://github.com/tomtom/tlib_vim";
+      rev = "2376d1233e7d1db8157fdc3157278dda7a2c796f";
+      sha256 = "07966a0f2a073ae07e8d2a63a8a265ec0053997721545b41cedff910bcc24de0";
+    };
+    dependencies = [];
 
-  align = simpleDerivation {
-    name = "align-git-787662fe";
+  };
+  "undotree" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "undotree-2015-03-01";
     src = fetchgit {
-      url = "https://github.com/vim-scripts/Align.git";
-      rev = "787662fe90cd057942bc5b682fd70c87e1a9dd77";
-      sha256 = "f7b5764357370f03546556bd45558837f3790b0e86afadb63cd04d714a668a29";
-     };
-    path = "align";
+      url = "git://github.com/mbbill/undotree";
+      rev = "fa018f38252f58073f2987f8bf0d2d4a61e07277";
+      sha256 = "c52874b0b85d0a44a1f2f055a74985886af97615bac032259fc21d6ea40d6ca7";
+    };
+    dependencies = [];
+
   };
+  "vim-addon-actions" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-actions-2014-09-22";
+    src = fetchgit {
+      url = "git://github.com/MarcWeber/vim-addon-actions";
+      rev = "a5d20500fb8812958540cf17862bd73e7af64936";
+      sha256 = "d2c3eb7a1f29e7233c6fcf3b02d07efebe8252d404ee593419ad399a5fdf6383";
+    };
+    dependencies = ["vim-addon-mw-utils" "tlib"];
 
-  gundo = simpleDerivation {
-    name = "gundo-git-f443470b";
+  };
+  "vim-addon-async" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-async-2013-10-18";
     src = fetchgit {
-      url = "https://github.com/vim-scripts/Gundo.git";
-      rev = "f443470b96364c24a775629418a6b2562ec9173e";
-      sha256 = "b7a949167e59c936d6eae0d23635b87491b2cd2f46a197683b171d30165a90f9";
-     };
-    path = "gundo";
+      url = "git://github.com/MarcWeber/vim-addon-async";
+      rev = "dadc96e188f1cdacbac62129eb29a1eacfed792c";
+      sha256 = "27f941e21a8ca5940bd20914e2a9e3809e554f3ef2c27b3bafb9a153107a5d07";
+    };
+    dependencies = ["vim-addon-signs"];
+
   };
+  "vim-addon-background-cmd" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-background-cmd-2015-01-05";
+    src = fetchgit {
+      url = "git://github.com/MarcWeber/vim-addon-background-cmd";
+      rev = "e99076519139b959edce0581b0f31207a5ec7c64";
+      sha256 = "524795221ae727635fe52ead47dff452d2dd48900917da609426ea399a2eceeb";
+    };
+    dependencies = ["vim-addon-mw-utils"];
 
-  commentary = simpleDerivation {
-    name = "vim-commentary-git-8b4df6ca";
+  };
+  "vim-addon-commenting" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-commenting-2013-06-10";
     src = fetchgit {
-      url = "https://github.com/tpope/vim-commentary.git";
-      rev = "8b4df6ca0ba9cd117d97a8fd26b44b2439d5e3f1";
-      sha256 = "5496ed31706552957d4caa76669ecd04e9b2853cf7a7e40bd0164726b21fcca0";
-     };
-    path = "commentary";
+      url = "git://github.com/MarcWeber/vim-addon-commenting";
+      rev = "b7cf748ac1c9bf555cbd347589e3b7196030d20b";
+      sha256 = "4ad7d5f6669f0a1b4a24c9ce3649c030d7d3fc8588de4d4d6c3269140fbe9b3e";
+    };
+    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 = "969a474749edf7e4443d2540eaf12e891cc0a3f5533e62e081d32408f403a0ea";
+    };
+    dependencies = ["tlib"];
 
-  tabular = simpleDerivation {
-    name = "tabular-git-60f25648";
+  };
+  "vim-addon-errorformats" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-errorformats-2014-11-05";
     src = fetchgit {
-      url = "https://github.com/godlygeek/tabular.git";
-      rev = "60f25648814f0695eeb6c1040d97adca93c4e0bb";
-      sha256 = "28c860ad621587f2c3213fae47d1a3997746527c17d51e9ab94c209eb7bfeb0f";
-     };
-    path = "tabular";
+      url = "git://github.com/MarcWeber/vim-addon-errorformats";
+      rev = "dcbb203ad5f56e47e75fdee35bc92e2ba69e1d28";
+      sha256 = "a1260206545d5ae17f2e6b3319f5cf1808b74e792979b1c6667d75974cc53f95";
+    };
+    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 = "34658ac99d9a630db9c544b3dfcd2c3df69afa5209e27558cc022b7afc2078ea";
+    };
+    dependencies = ["tlib"];
 
-  vim2hs = simpleDerivation {
-    name = "vim2hs-git-f2afd557";
+  };
+  "vim-addon-local-vimrc" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-local-vimrc-2015-03-19";
     src = fetchgit {
-      url = "https://github.com/dag/vim2hs.git";
-      rev = "f2afd55704bfe0a2d66e6b270d247e9b8a7b1664";
-      sha256 = "485fc58595bb4e50f2239bec5a4cbb0d8f5662aa3f744e42c110cd1d66b7e5b0";
-     };
-    path = "vim2hs";
+      url = "git://github.com/MarcWeber/vim-addon-local-vimrc";
+      rev = "6a27f95b35befa70cd0d049329cd0920566c764b";
+      sha256 = "f0687e08f380ff085b6fa3e708d1631049571706f55d796e22612aff02e51459";
+    };
+    dependencies = [];
+
   };
+  "vim-addon-manager" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-manager-2014-12-03";
+    src = fetchgit {
+      url = "git://github.com/MarcWeber/vim-addon-manager";
+      rev = "fda9d2f4522024aa8bd8b8305e6a71c4a4a28c07";
+      sha256 = "a3b5da9bcc01c6f0fb0a5e13a6f9efb58471339ed32c480fde96856bb9e1e7be";
+    };
+    dependencies = [];
 
-  hasksyn = simpleDerivation {
-    name = "hasksyn-git-175cd460";
+  };
+  "vim-addon-mru" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-mru-2013-08-08";
     src = fetchgit {
-      url = "https://github.com/travitch/hasksyn.git";
-      rev = "175cd4605afa5d9b9c75758112c8159fd118c631";
-      sha256 = "3488e38d1f45a9a3363da62c1c946591621151a0a9cdaedd22b3fe8f666bbdb9";
-     };
-    path = "hasksyn";
+      url = "git://github.com/MarcWeber/vim-addon-mru";
+      rev = "e41e39bd9d1bf78ccfd8d5e1bc05ae5e1026c2bb";
+      sha256 = "15b70f796f28cbd999060fea7f47408fa8a6cb176cd4915b9cc3dc6c53eed960";
+    };
+    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 = "4e1b6d1b59050f1063e58ef4bee9e9603616ad184cd9ef7466d0ec3d8e22b91c";
+    };
+    dependencies = [];
 
-  haskellConceal = simpleDerivation {
-    name = "vim-haskellConceal-git-73a8d712";
+  };
+  "vim-addon-nix" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-nix-2015-03-10";
     src = fetchgit {
-      url = "https://github.com/begriffs/vim-haskellConceal.git";
-      rev = "73a8d712d3342b2ffdc087b12924f1cf81053860";
-      sha256 = "be60ca030e2d39e972a8c71c0ab3b75b893589d26d5dd78a20cd6779f1f5cfa8";
-     };
-    path = "haskellConceal";
+      url = "git://github.com/MarcWeber/vim-addon-nix";
+      rev = "2aed79ba5d8c5e6abd102de77e55e242f61b17f1";
+      sha256 = "0e326e2c6cb6597ca533a64a845ef9dd946cd249250375ef9775d974ecef37e2";
+    };
+    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 = "43f027e4b7576031072515c23c2b09f7f2c8bba7ee43a1e2041a4371bd954d1b";
+    };
+    dependencies = ["vim-addon-actions" "vim-addon-mw-utils"];
 
-  ghcmod = simpleDerivation {
-    name = "ghcmod-vim-git-0c4e9428";
+  };
+  "vim-addon-php-manual" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-php-manual-2015-01-01";
     src = fetchgit {
-      url = "https://github.com/eagletmt/ghcmod-vim.git";
-      rev = "0c4e94281e57c475752e799adc261f7d5e4ab124";
-      sha256 = "f6a085f7b8198747fae3fff0bc38e4d030e5c97aaeb84958fbf96fa658bbe862";
-     };
-    path = "ghcmod";
+      url = "git://github.com/MarcWeber/vim-addon-php-manual";
+      rev = "5f9810dd1f6e9f36a45f637ae6260ccff09256ff";
+      sha256 = "3942eb6a7191c308beab240e91c99ee4e2c52e2d672503d46f98312e823b86cd";
+    };
+    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 = "a9c03a32e758d51106741605188cb7f00db314c73a26cae75c0c9843509a8fb8";
+    };
+    dependencies = [];
 
-  necoGhc = simpleDerivation {
-    name = "neco-ghc-git-0311f31b";
+  };
+  "vim-addon-sql" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-sql-2014-01-18";
     src = fetchgit {
-      url = "https://github.com/eagletmt/neco-ghc.git";
-      rev = "0311f31b3acaccec5b651ae7089d627a3a49239b";
-      sha256 = "302f29f54c56e9cee647745a8355aeafe323c4efe2f3593d5e4f586acc1c06a5";
-     };
-    path = "neco-ghc";
+      url = "git://github.com/MarcWeber/vim-addon-sql";
+      rev = "05b8a0c211f1ae4c515c64e91dec555cdf20d90b";
+      sha256 = "a1334ae694e0a03229bacc8ba7e08e7223df240244c7378e3f1bd91d74e957c2";
+    };
+    dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];
+
   };
+  "vim-addon-syntax-checker" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-syntax-checker-2013-07-12";
+    src = fetchgit {
+      url = "git://github.com/MarcWeber/vim-addon-syntax-checker";
+      rev = "8eb7217e636ca717d4de5cd03cc0180c5b66ae77";
+      sha256 = "aef048e664653b5007df71ac24ed34ec55d8938c763d3f80885a122e445a9b3d";
+    };
+    dependencies = ["vim-addon-mw-utils" "tlib"];
 
-  hoogle = simpleDerivation {
-    name = "vim-hoogle-git-81f28318";
+  };
+  "vim-addon-toggle-buffer" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-addon-toggle-buffer-2012-01-13";
     src = fetchgit {
-      url = "https://github.com/Twinside/vim-hoogle.git";
-      rev = "81f28318b0d4174984c33df99db7752891c5c4e9";
-      sha256 = "0f96f3badb6218cac87d0f7027ff032ecc74f08ad3ada542898278ce11cbd5a0";
-     };
-    path = "hoogle";
+      url = "git://github.com/MarcWeber/vim-addon-toggle-buffer";
+      rev = "a1b38b9c5709cba666ed2d84ef06548f675c6b0b";
+      sha256 = "672166ecfe0599177afb56b444366f587f77e9659c256ac4e41ee45cb2df6055";
+    };
+    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 = "0a7bf2caf36772c94bd25bfbf46bf628623809c9cfab447ff788eb74149464ef";
+    };
+    dependencies = ["WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async"];
 
-  hdevtools = simpleDerivation {
-    name = "vim-hdevtools-git-474947c5";
+  };
+  "vim-airline" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-airline-2015-03-24";
     src = fetchgit {
-      url = "https://github.com/bitc/vim-hdevtools.git";
-      rev = "474947c52ff9c93dd36f3c49de90bd9a78f0baa1";
-      sha256 = "bf5f096b665c51ce611c6c1bfddc3267c4b2f94af84b04482b07272a6a5a92f3";
-     };
-    path = "hdevtools";
+      url = "git://github.com/bling/vim-airline";
+      rev = "f45ecdac15d99ed2354873a8b4d40432fd0a85a3";
+      sha256 = "30176b06f13838fe7b0374e2ed529c0d26abe432ff7453c7443b2f204cf70012";
+    };
+    dependencies = [];
+
   };
+  "vim-coffee-script" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-coffee-script-2014-10-10";
+    src = fetchgit {
+      url = "git://github.com/kchmck/vim-coffee-script";
+      rev = "827e4a38b07479433b619091469a7495a392df8a";
+      sha256 = "89ee4c7cce9f3310be502df6b2dd2e70a715c0b06882afc9c8169fbf58b207d0";
+    };
+    dependencies = [];
 
-  stylishHaskell = simpleDerivation {
-    name = "vim-stylish-haskell-git-453fd203";
+  };
+  "vim-easy-align" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-easy-align-2014-12-14";
     src = fetchgit {
-      url = "https://github.com/nbouscal/vim-stylish-haskell.git";
-      rev = "453fd203aee3d7305ea8e4088ff53bd1f5933d75";
-      sha256 = "c0e5010e1e8e56b179ce500387afb569f051c45b37ce92feb4350f293df96a8c";
-     };
-    path = "stylish-haskell";
+      url = "git://github.com/junegunn/vim-easy-align";
+      rev = "c62d124be614de65922b15d468c4049d1eee9353";
+      sha256 = "868bd5a0405a7611e020fe7692a078ca72562674b6d9a404d2d83f665af96aee";
+    };
+    dependencies = [];
+
   };
+  "vim-gitgutter" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-gitgutter-2015-03-23";
+    src = fetchgit {
+      url = "git://github.com/airblade/vim-gitgutter";
+      rev = "8345c35770ffc6fc4088c36406d1e24170aabcc6";
+      sha256 = "f7580832ebfd60f0b7cf05e697ac44e4b59a0f606fe49b7ef392052a50c69ad3";
+    };
+    dependencies = [];
 
-  wombat256 = simpleDerivation {
-    name = "wombat256-vim-git-8734ba45";
+  };
+  "vim-iced-coffee-script" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-iced-coffee-script-2013-12-27";
     src = fetchgit {
-      url = "https://github.com/vim-scripts/wombat256.vim.git";
-      rev = "8734ba45dcf5e38c4d2686b35c94f9fcb30427e2";
-      sha256 = "2feb7d57ab0a9f2ea44ccd606e540db64ab3285956398a50ecc562d7b8dbcd05";
-     };
-    path = "wombat256";
+      url = "git://github.com/noc7c9/vim-iced-coffee-script";
+      rev = "e42e0775fa4b1f8840c55cd36ac3d1cedbc1dea2";
+      sha256 = "c7859591975a51a1736f99a433d7ca3e7638b417340a0472a63995e16d8ece93";
+    };
+    dependencies = [];
+
   };
+  "vim-latex-live-preview" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-latex-live-preview-2013-11-25";
+    src = fetchgit {
+      url = "git://github.com/xuhdev/vim-latex-live-preview";
+      rev = "18625ceca4de5984f3df50cdd0202fc13eb9e37c";
+      sha256 = "261852d3830189a50176f997a4c6b4ec7e25893c5b7842a3eb57eb7771158722";
+    };
+    dependencies = [];
 
-  tmuxNavigator = simpleDerivation {
-    name = "vim-tmux-navigator-git-3de98bfc";
+  };
+  "vim-signature" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-signature-2015-01-12";
     src = fetchgit {
-      url = "https://github.com/christoomey/vim-tmux-navigator.git";
-      rev = "3de98bfcee1289ce8edc6daf9a18f243180c7168";
-      sha256 = "3843f92e0a21fe5ccf613f8a561abd06c822b2ee98bd82c98937548144e4e8df";
-     };
-    path = "tmux-navigator";
+      url = "git://github.com/kshenoy/vim-signature";
+      rev = "b4ac4f38528313456f98b1a50722cfc9a06bfc45";
+      sha256 = "c065eb81669fd76a8bf6d19e220c85ad07ede73e6a9b3dd12634611146303675";
+    };
+    dependencies = [];
+
   };
+  "vim-gista" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-gista-2015-01-29";
+    src = fetchgit {
+      url = "git://github.com/lambdalisue/vim-gista";
+      rev = "e450417a6eaeb99d3982b880507697dce85b7217";
+      sha256 = "a7665dbc63a35d1fe9b7679a498deafb80c8dfb05fced37ac4722212c673f2ec";
+    };
+    dependencies = [];
 
-  pathogen = simpleDerivation {
-    name = "vim-pathogen-git-3de98bfc";
+  };
+  "vim-snippets" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-snippets-2015-03-24";
     src = fetchgit {
-      url = "https://github.com/tpope/vim-pathogen.git";
-      rev = "91e6378908721d20514bbe5d18d292a0a15faf0c";
-      sha256 = "24c1897d6b58576b2189c90050a7f8ede72a51343c752e9d030e833dbe5cac6f";
-     };
-    path = "pathogen";
+      url = "git://github.com/honza/vim-snippets";
+      rev = "707f005ccddaa15a0b8c207a7a711b0a9590578a";
+      sha256 = "0c5807b82e18530a6b83f4f1c0010564a1a4b39f687672ab235b95e694095d03";
+    };
+    dependencies = [];
+
+  };
+  "vim2hs" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim2hs-2014-04-16";
+    src = fetchgit {
+      url = "git://github.com/dag/vim2hs";
+      rev = "f2afd55704bfe0a2d66e6b270d247e9b8a7b1664";
+      sha256 = "485fc58595bb4e50f2239bec5a4cbb0d8f5662aa3f744e42c110cd1d66b7e5b0";
+    };
+    dependencies = [];
+
+  };
+  "vundle" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vundle-2015-03-21";
+    src = fetchgit {
+      url = "git://github.com/gmarik/vundle";
+      rev = "cfd3b2d388a8c2e9903d7a9d80a65539aabfe933";
+      sha256 = "7ce9bb0a59c8f86cedd9b3867b834bcd160f2224c187189997ef76c2bfd99d50";
+    };
+    dependencies = [];
+
+  };
+  "wombat256" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "wombat256";
+    src = fetchurl {
+      url = "http://www.vim.org/scripts/download_script.php?src_id=13400";
+      name = "wombat256mod.vim";
+      sha256 = "1san0jg9sfm6chhnr1wc5nhczlp11ibca0v7i4gf68h9ick9mysn";
+    };
+    buildInputs = [ unzip ];
+    dependencies = [];
+    meta = {
+       url = "http://www.vim.org/scripts/script.php?script_id=2465";
+    };
+
   };
 
 }
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
new file mode 100644
index 00000000000..39f6aa18904
--- /dev/null
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -0,0 +1,57 @@
+"vim-addon-syntax-checker"
+"vim-addon-other"
+"vim-addon-local-vimrc"
+"snipmate"
+"vim-snippets"
+"vim-addon-mru"
+"vim-addon-commenting"
+"vim-addon-sql"
+"vim-addon-async"
+"vim-addon-toggle-buffer"
+"vim-addon-mw-utils"
+"matchit.zip"
+"vim-addon-xdebug"
+"vim-addon-php-manual"
+"sourcemap"
+"vim-iced-coffee-script"
+"ctrlp"
+"commentary"
+"Colour_Sampler_Pack"
+"Solarized"
+"vim-coffee-script"
+"vim-easy-align"
+"Tagbar"
+"Tabular"
+"table-mode"
+"Syntastic"
+"vim-signature"
+"surround"
+"Supertab"
+"rust"
+"rainbow_parentheses"
+"pathogen"
+"quickfixstatus"
+"The_NERD_Commenter"
+"The_NERD_tree"
+"vim-latex-live-preview"
+"Hoogle"
+"Gundo"
+"vim-gitgutter"
+"Gist"
+"ghcmod"
+"fugitive"
+"extradite"
+"vim-airline"
+"VimOutliner"
+"vim2hs"
+"undotree"
+"UltiSnips"
+"wombat256"
+"vundle"
+"WebAPI"
+"YankRing"
+"vim-addon-manager"
+"vim-addon-nix"
+"vim-gista"
+"github:JagaJaga/vim-addon-vim2nix"
+"sensible"
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
new file mode 100644
index 00000000000..9140acffe0d
--- /dev/null
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -0,0 +1,384 @@
+{stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin}:
+
+/* 
+
+USAGE EXAMPLE
+=============
+
+Install Vim like this eg using nixos option environment.systemPackages which will provide
+vim-with-plugins in PATH:
+
+  vim_configurable.customize {
+    name = "vim-with-plugins";
+
+    # add custom .vimrc lines like this:
+    vimrcConfig.customRC = ''
+      set hidden
+    '';
+
+    vimrcConfig.vam.knownPlugins = pkgs.vimPlugins; # optional
+    vimrcConfig.vam.pluginDictionaries = [
+      # load always
+      { name = "youcompleteme"; }
+      { names = ["youcompleteme" "foo"]; }
+
+      # only load when opening a .php file
+      { name = "phpCompletion"; ft_regex = "^php\$"; }
+      { name = "phpCompletion"; filename_regex = "^.php\$"; }
+
+      # provide plugin which can be loaded manually:
+      { name = "phpCompletion"; tag = "lazy"; }
+
+      # full ducomentation at github.com/MarcWeber/vim-addon-manager
+    ];
+
+    # there is a pathogen implementation as well, but its startup is slower and [VAM] has more feature
+    # vimrcConfig.pathogen.knownPlugins = vimPlugins; # optional
+    # vimrcConfig.pathogen.pluginNames = ["vim-addon-nix"];
+  };
+
+WHAT IS A VIM PLUGIN?
+=====================
+Typical plugin files:
+
+  plugin/P1.vim
+  autoload/P1.vim
+  ftplugin/xyz.vim
+  doc/plugin-documentation.txt (traditional documentation)
+  README(.md) (nowadays thanks to github)
+
+
+Vim offers the :h rtp setting which works for most plugins. Thus adding
+this to your .vimrc should make most plugins work:
+
+  set rtp+=~/.nix-profile/share/vim-plugins/youcompleteme
+  " or for p in ["youcompleteme"] | exec 'set rtp+=~/.nix-profile/share/vim-plugins/'.p | endfor
+
+which is what the [VAM]/pathogen solutions above basically do.
+
+Learn about about plugin Vim plugin mm managers at
+http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html.
+
+The documentation can be accessed by Vim's :help command if it was tagged.
+See vimHelpTags sample code below.
+
+CONTRIBUTING AND CUSTOMIZING
+============================
+The example file pkgs/misc/vim-plugins/default.nix provides both: 
+* manually mantained plugins 
+* plugins created by VAM's nix#ExportPluginsForNix implementation
+
+I highly recommend to lookup vim plugin attribute names at the [vim-pi] project
+ which is a database containing all plugins from
+vim.org and quite a lot of found at github and similar sources. vim-pi's documented purpose
+is to associate vim.org script ids to human readable names so that dependencies
+can be describe easily.
+
+How to find a name?
+  * http://vam.mawercer.de/ or VAM's
+  * grep vim-pi
+  * use VAM's completion or :AddonsInfo command
+
+It might happen than a plugin is not known by vim-pi yet. We encourage you to
+contribute to vim-pi so that plugins can be updated automatically.
+
+
+CREATING DERVITATIONS AUTOMATICALLY BY PLUGIN NAME
+==================================================
+Most convenient is to use a ~/.vim-scripts file putting a plugin name into each line
+as documented by [VAM]'s README.md
+It is the same format you pass to vimrcConfig.vam.pluginDictionaries from the
+usage example above.
+
+Then create a temp vim file and insert:
+
+  let opts = {}
+  let opts.path_to_nixpkgs = '/etc/nixos/nixpkgs'
+  let opts.cache_file = '/tmp/export-vim-plugin-for-nix-cache-file'
+  let opts.plugin_dictionaries = map(readfile("vim-plugins"), 'eval(v:val)')
+  " add more files
+  " let opts.plugin_dictionaries += map(.. other file )
+  call nix#ExportPluginsForNix(opts)
+
+Then ":source %" it.
+
+nix#ExportPluginsForNix is provided by github.com/MarcWeber/vim-addon-vim2nix
+
+A buffer will open containing the plugin derivation lines as well list 
+fitting the vimrcConfig.vam.pluginDictionaries option.
+
+Thus the most simple usage would be:
+
+  vim_with_plugins =
+    let vim = vim_configurable;
+        inherit (vimUtil.override {inherit vim}) rtpPath addRtp buildVimPlugin vimHelpTags;
+        vimPlugins = [
+          # the derivation list from the buffer created by nix#ExportPluginsForNix
+          # don't set which will default to pkgs.vimPlugins
+        ];
+    in vim.customize {
+      name = "vim-with-plugins";
+
+      vimrcConfig.customRC = '' .. '';
+
+      vimrcConfig.vam.knownPlugins = vimPlugins;
+      vimrcConfig.vam.pluginDictionaries = [
+          # the plugin list form ~/.vim-scripts turned into nix format added to
+          # the buffer created by the nix#ExportPluginsForNix 
+      ];
+    }
+
+vim_with_plugins can be installed like any other application within Nix.
+
+[VAM]    https://github.com/MarcWeber/vim-addon-manager
+[vim-pi] https://bitbucket.org/vimcommunity/vim-pi
+*/
+
+
+let
+  inherit (stdenv) lib;
+
+  findDependenciesRecursively = {knownPlugins, names}:
+
+    let depsOf = name: (builtins.getAttr name knownPlugins).dependencies or [];
+
+        recurseNames = path: names: lib.concatMap (name: recurse ([name]++path)) names;
+
+        recurse = path:
+          let name = builtins.head path;
+          in if builtins.elem name (builtins.tail path)
+            then throw "recursive vim dependencies"
+            else [name] ++ recurseNames path (depsOf name);
+
+    in lib.uniqList { inputList = recurseNames [] names; };
+
+  vimrcFile = {
+    vam ? null,
+    pathogen ? null,
+    customRC ? ""
+  }:
+
+    let
+      /* pathogen mostly can set &rtp at startup time. Its used very commonly.
+      */
+      pathogenImpl = lib.optionalString (pathogen != null)
+      (let
+        knownPlugins = pathogen.knownPlugins or vimPlugins;
+
+        plugins = map (name: knownPlugins.${name}) (findDependenciesRecursively { inherit knownPlugins; names = pathogen.pluginNames; });
+
+        pluginsEnv = buildEnv {
+          name = "pathogen-plugin-env";
+          paths = map (x: "${x}/${vimPlugins.rtpPath}") plugins;
+        };
+      in
+      ''
+        let &rtp.=(empty(&rtp)?"":',')."${vimPlugins.pathogen.rtp}"
+        execute pathogen#infect('${pluginsEnv}/{}')
+      '');
+
+      /*
+       vim-addon-manager = VAM
+
+       * maps names to plugin location
+
+       * manipulates &rtp at startup time
+         or when Vim has been running for a while
+
+       * can activate plugins laziy (eg when loading a specific filetype)
+
+       * knows about vim plugin dependencies (addon-info.json files)
+
+       * still is minimalistic (only loads one file), the "check out" code it also
+         has only gets loaded when a plugin is requested which is not found on disk
+         yet
+
+      */
+      vamImpl = lib.optionalString (vam != null)
+      (let
+        knownPlugins = vam.knownPlugins or vimPlugins;
+
+        toNames = x:
+            if builtins.isString x then [x]
+            else (lib.optional (x ? name) x.name)
+                  ++ (x.names or []);
+
+        names = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; };
+
+        # Vim almost reads JSON, so eventually JSON support should be added to Nix
+        # TODO: proper quoting
+        toNix = x:
+          if (builtins.isString x) then "'${x}'"
+          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";
+
+      in assert builtins.hasAttr "vim-addon-manager" knownPlugins;
+      ''
+        let g:nix_plugin_locations = {}
+        ${lib.concatMapStrings (name: ''
+          let g:nix_plugin_locations['${name}'] = "${knownPlugins.${name}.rtp}"
+        '') names}
+        let g:nix_plugin_locations['vim-addon-manager'] = "${knownPlugins."vim-addon-manager".rtp}"
+
+        let g:vim_addon_manager = {}
+
+        if exists('g:nix_plugin_locations')
+          " nix managed config
+
+          " override default function making VAM aware of plugin locations:
+          fun! NixPluginLocation(name)
+            let path = get(g:nix_plugin_locations, a:name, "")
+            return path == "" ? vam#DefaultPluginDirFromName(a:name) : path
+          endfun
+          let g:vim_addon_manager.plugin_dir_by_name = 'NixPluginLocation'
+          " tell Vim about VAM:
+          let &rtp.=(empty(&rtp)?"":','). g:nix_plugin_locations['vim-addon-manager']
+        else
+          " standalone config
+
+          let &rtp.=(empty(&rtp)?"":',').c.plugin_root_dir.'/vim-addon-manager'
+          if !isdirectory(c.plugin_root_dir.'/vim-addon-manager/autoload')
+            " checkout VAM
+            execute '!git clone --depth=1 git://github.com/MarcWeber/vim-addon-manager '
+                \       shellescape(c.plugin_root_dir.'/vim-addon-manager', 1)
+          endif
+        endif
+
+        " tell vam about which plugins to load when:
+        let l = []
+        ${lib.concatMapStrings (p: "call add(l, ${toNix p})\n") vam.pluginDictionaries}
+        call vam#Scripts(l, {})
+      '');
+
+      # somebody else could provide these implementations
+      vundleImpl = "";
+
+      neobundleImpl = "";
+
+
+  in writeText "vimrc" ''
+  " minimal setup, generated by NIX
+  set nocompatible
+  filetype indent plugin on | syn on
+
+  ${vamImpl}
+  ${pathogenImpl}
+  ${vundleImpl}
+  ${neobundleImpl}
+
+  ${customRC}
+  '';
+
+in
+
+rec {
+  inherit vimrcFile;
+
+  # shell script with custom name passing [-u vimrc] [-U gvimrc] to vim
+  vimWithRC = {vimExecutable, name ? null, vimrcFile ? null, gvimrcFile ? null}:
+    let rcOption = o: file: stdenv.lib.optionalString (file != null) "-${o} ${file}";
+    in writeScriptBin (if name == null then "vim" else name) ''
+      #!/bin/sh
+      exec ${vimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@"
+      '';
+
+  # add a customize option to a vim derivation
+  makeCustomizable = vim: vim // {
+    customize = {name, vimrcConfig}: vimWithRC {
+      vimExecutable = "${vim}/bin/vim";
+      inherit name;
+      vimrcFile = vimrcFile vimrcConfig;
+    };
+  };
+
+  pluginnames2Nix = {name, namefiles} : vim_configurable.customize {
+    inherit name;
+    vimrcConfig.vam.knownPlugins = vimPlugins;
+    vimrcConfig.vam.pluginDictionaries = ["github:JagaJaga/vim-addon-vim2nix"]; # Using fork until patch is accepted by upstream
+    vimrcConfig.customRC = ''
+      " Yes - this is impure and will create the cache file and checkout vim-pi
+      " into ~/.vim/vim-addons
+      let g:vim_addon_manager.plugin_root_dir = "/tmp/vim2nix-".$USER
+      if !isdirectory(g:vim_addon_manager.plugin_root_dir)
+        call mkdir(g:vim_addon_manager.plugin_root_dir)
+      else
+        echom repeat("=", 80)
+        echom "WARNING: reusing cache directory :".g:vim_addon_manager.plugin_root_dir
+        echom repeat("=", 80)
+      endif
+      let opts = {}
+      let opts.nix_prefetch_git = "${../../../pkgs/build-support/fetchgit/nix-prefetch-git}"
+      let opts.nix_prefetch_hg  = "${../../../pkgs/build-support/fetchhg/nix-prefetch-hg}"
+      let opts.cache_file = g:vim_addon_manager.plugin_root_dir.'/cache'
+      let opts.plugin_dictionaries = []
+      ${lib.concatMapStrings (file: "let opts.plugin_dictionaries += map(readfile(\"${file}\"), 'eval(v:val)')\n") namefiles }
+
+      " uncomment for debugging failures
+      " let opts.try_catch = 0
+
+      " add more files
+      " let opts.plugin_dictionaries += map(.. other file )
+      call nix#ExportPluginsForNix(opts)
+    '';
+  };
+
+  rtpPath = "share/vim-plugins";
+
+  vimHelpTags = ''
+  vimHelpTags(){
+    if [ -d "$1/doc" ]; then
+      ${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags $1/doc" +quit!
+    fi
+  }
+  '';
+
+  addRtp = path: derivation:
+    derivation // { rtp = "${derivation}/${path}"; };
+
+  buildVimPlugin = a@{
+    name,
+    namePrefix ? "vimplugin-",
+    src,
+    unpackPhase ? "",
+    configurePhase ? "",
+    buildPhase ? "",
+    path ? (builtins.parseDrvName name).name,
+    addonInfo ? null,
+    ...
+  }:
+    addRtp "${rtpPath}/${path}" (stdenv.mkDerivation (a // {
+      name = namePrefix + name;
+
+      inherit unpackPhase configurePhase buildPhase addonInfo;
+
+      installPhase = ''
+        target=$out/${rtpPath}/${path}
+        mkdir -p $out/${rtpPath}
+        cp -r . $target
+        ${vimHelpTags}
+        vimHelpTags $target
+        if [ -n "$addonInfo" ]; then
+          echo "$addonInfo" > $target/addon-info.json
+        fi
+      '';
+    }));
+
+  buildVimPluginFrom2Nix = a: buildVimPlugin ({
+    buildPhase = ":";
+    configurePhase =":";
+  } // a);
+
+  # test cases:
+  test_vim_with_vim_addon_nix_using_vam = vim_configurable.customize {
+   name = "vim-with-vim-addon-nix-using-vam";
+    vimrcConfig.vam.pluginDictionaries = [{name = "vim-addon-nix"; }];
+  };
+
+  test_vim_with_vim_addon_nix_using_pathogen = vim_configurable.customize {
+    name = "vim-with-vim-addon-nix-using-pathogen";
+    vimrcConfig.pathogen.pluginNames = [ "vim-addon-nix" ];
+  };
+
+}
diff --git a/pkgs/misc/xosd/default.nix b/pkgs/misc/xosd/default.nix
index 54538be84b4..b7ab6c9a0fe 100644
--- a/pkgs/misc/xosd/default.nix
+++ b/pkgs/misc/xosd/default.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchurl, libX11, libXext, libXt, xextproto, xproto }:
 
 stdenv.mkDerivation rec {
-  pname = "xosd";
-  version = "2.2.12";
-
-  name = "${pname}-${version}";
+  name = "xosd-${version}";
+  version = "2.2.14";
 
   src = fetchurl {
-    url = "http://ignavus.net/${name}.tar.gz";
-    sha256 = "7d4ae8e1a6dbd7743af3b1cdc85144e2de26abe6daec25f4bd74bf311774df08";
+    url = "mirror://sourceforge/libxosd/${name}.tar.gz";
+    sha256 = "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg";
   };
 
   buildInputs = [ libX11 libXext libXt xextproto xproto ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Displays text on your screen";
+    homepage = http://sourceforge.net/projects/libxosd;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/os-specific/darwin/adv_cmds/ps.nix b/pkgs/os-specific/darwin/adv_cmds/ps.nix
new file mode 100644
index 00000000000..c3d3d158862
--- /dev/null
+++ b/pkgs/os-specific/darwin/adv_cmds/ps.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "ps-${version}";
+  version = "153";
+
+  src = fetchurl {
+    url    = "http://opensource.apple.com/tarballs/adv_cmds/adv_cmds-${version}.tar.gz";
+    sha256 = "174v6a4zkcm2pafzgdm6kvs48z5f911zl7k49hv7kjq6gm58w99v";
+  };
+
+  buildPhase = ''
+    cd ps
+    cc -Os -Wall -I. -c -o fmt.o fmt.c
+    cc -Os -Wall -I. -c -o keyword.o keyword.c
+    cc -Os -Wall -I. -c -o nlist.o nlist.c
+    cc -Os -Wall -I. -c -o print.o print.c
+    cc -Os -Wall -I. -c -o ps.o ps.c
+    cc -Os -Wall -I. -c -o tasks.o tasks.c
+    cc -o ps fmt.o keyword.o nlist.o print.o ps.o tasks.o
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+
+    cp ps   $out/bin/ps
+    cp ps.1 $out/share/man/man1
+  '';
+
+
+  meta = {
+    platforms = stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ gridaphobe ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch
new file mode 100644
index 00000000000..46c230cfd1d
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cf-initialize.patch
@@ -0,0 +1,18 @@
+--- CF-855.17/CFRuntime.c	2014-11-26 21:29:48.000000000 -0800
++++ CF-855.17/CFRuntime.c.new	2014-11-26 21:30:01.000000000 -0800
+@@ -756,6 +756,7 @@
+ extern void __CFErrorInitialize(void);
+ extern void __CFTreeInitialize(void);
+ extern void __CFURLInitialize(void);
++extern void __CFPreferencesDomainInitialize(void);
+ #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_EMBEDDED_MINI
+ extern void __CFMachPortInitialize(void);
+ #endif
+@@ -1015,6 +1016,7 @@
+         __CFErrorInitialize();
+         __CFTreeInitialize();
+         __CFURLInitialize();
++        __CFPreferencesDomainInitialize();
+         
+ #if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_WINDOWS
+         __CFBundleInitialize();
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch
new file mode 100644
index 00000000000..a1018d389c1
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch
@@ -0,0 +1,22 @@
+--- CF-855.17/CoreFoundation.h  2015-01-03 00:17:41.000000000 -0500
++++ CF-855.17/CoreFoundation.h.new  2015-01-03 00:18:35.000000000 -0500
+@@ -72,6 +72,7 @@
+ #include <CoreFoundation/CFDictionary.h>
+ #include <CoreFoundation/CFError.h>
+ #include <CoreFoundation/CFLocale.h>
++#include <CoreFoundation/CFMachPort.h>
+ #include <CoreFoundation/CFNumber.h>
+ #include <CoreFoundation/CFNumberFormatter.h>
+ #include <CoreFoundation/CFPreferences.h>
+
+--- CF-855.17/Makefile  2015-01-03 00:32:52.000000000 -0500
++++ CF-855.17/Makefile.new  2015-01-03 00:33:07.000000000 -0500
+@@ -9,7 +9,7 @@
+ HFILES = $(wildcard *.h)
+ INTERMEDIATE_HFILES = $(addprefix $(OBJBASE)/CoreFoundation/,$(HFILES))
+ 
+-PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h
++PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMachPort.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h
+ 
+ PRIVATE_HEADERS=CFBundlePriv.h CFCharacterSetPriv.h CFError_Private.h CFLogUtilities.h CFPriv.h CFRuntime.h CFStorage.h CFStreamAbstract.h CFStreamPriv.h CFStreamInternal.h CFStringDefaultEncoding.h CFStringEncodingConverter.h CFStringEncodingConverterExt.h CFUniChar.h CFUnicodeDecomposition.h CFUnicodePrecomposition.h ForFoundationOnly.h CFBurstTrie.h CFICULogging.h
+ 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
new file mode 100644
index 00000000000..3d4ac89e0a7
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, appleDerivation, icu, dyld, libdispatch, launchd, libclosure }:
+
+appleDerivation {
+  buildInputs = [ dyld icu libdispatch launchd libclosure ];
+
+  patches = [ ./add-cf-initialize.patch ./add-cfmachport.patch ];
+
+  preBuild = ''
+    substituteInPlace Makefile \
+      --replace "/usr/bin/clang" "clang" \
+      --replace "-arch i386 " "" \
+      --replace "/usr/bin/" "" \
+      --replace "/usr/sbin/" "" \
+      --replace "/bin/" "" \
+      --replace "INSTALLNAME=/System" "INSTALLNAME=$out" \
+      --replace "install_name_tool -id /System" "install_name_tool -id $out" \
+      --replace "-licucore.A" "-licui18n -licuuc" \
+      --replace 'chown -RH -f root:wheel $(DSTBASE)/CoreFoundation.framework' "" \
+      --replace 'chmod -RH' 'chmod -R'
+
+    replacement=''$'#define __PTK_FRAMEWORK_COREFOUNDATION_KEY5 55\n#define _pthread_getspecific_direct(key) pthread_getspecific((key))\n#define _pthread_setspecific_direct(key, val) pthread_setspecific((key), (val))'
+
+    substituteInPlace CFPlatform.c --replace "#include <pthread/tsd_private.h>" "$replacement"
+
+    substituteInPlace CFRunLoop.c --replace "#include <pthread/private.h>" ""
+
+    substituteInPlace CFURLPriv.h \
+      --replace "#include <CoreFoundation/CFFileSecurity.h>" "" \
+      --replace "#include <CoreFoundation/CFURLEnumerator.h>" "" \
+      --replace "CFFileSecurityRef" "void *" \
+      --replace "CFURLEnumeratorResult" "void *" \
+      --replace "CFURLEnumeratorRef" "void *"
+
+    export DSTROOT=$out
+  '';
+
+  postInstall = ''
+    mv $out/System/* $out
+    rmdir $out/System
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix
new file mode 100644
index 00000000000..38215fa8f90
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/CarbonHeaders/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp MacTypes.h          $out/include
+    cp ConditionalMacros.h $out/include
+
+    substituteInPlace $out/include/MacTypes.h \
+      --replace "CarbonCore/" ""
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
new file mode 100644
index 00000000000..5bcf94a18ce
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include/CommonCrypto
+    cp include/* $out/include/CommonCrypto
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix
new file mode 100644
index 00000000000..9f6031771c2
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/CoreOSMakefiles/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, appleDerivation, unifdef }:
+
+appleDerivation {
+  buildinputs = [ unifdef ];
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  preInstall = ''
+    substituteInPlace Makefile \
+      --replace "rsync -a --exclude=.svn --exclude=.git" "cp -r"
+
+    substituteInPlace Standard/Commands.in \
+      --replace "/bin/sh" "bash" \
+      --replace "/usr/bin/compress" "compress" \
+      --replace "/usr/bin/gzip" "gzip" \
+      --replace "/bin/pax" "pax" \
+      --replace "/usr/bin/tar" "tar" \
+      --replace "xcrun -find" "echo" \
+      --replace '$(Install_Program_Group)   -s' '$(Install_Program_Group)' \
+      --replace '$(Install_Program_Mode)   -s'  '$(Install_Program_Mode)'
+
+    substituteInPlace ReleaseControl/Common.make \
+      --replace "/tmp" "$TMPDIR"
+
+    substituteInPlace ReleaseControl/BSDCommon.make \
+      --replace '$(shell xcrun -find -sdk $(SDKROOT) cc)' "cc"
+
+    export DSTROOT=$out
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix
new file mode 100644
index 00000000000..893e9f2b2eb
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Csu/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  postUnpack = ''
+    substituteInPlace $sourceRoot/Makefile \
+      --replace "/usr/lib" "/lib" \
+      --replace "/usr/local/lib" "/lib" \
+      --replace "/usr/bin" "" \
+      --replace "/bin/" ""
+  '';
+
+  # Mac OS didn't support rpaths back before 10.5, and this package intentionally builds stubs targeting versions prior to that
+  NIX_DONT_SET_RPATH = "1";
+  NIX_NO_SELF_RPATH  = "1";
+
+  installPhase = ''
+    export DSTROOT=$out
+    make install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Apple's common startup stubs for darwin";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix b/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix
new file mode 100644
index 00000000000..12f38cd195f
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/IOKit/default.nix
@@ -0,0 +1,187 @@
+{ stdenv, appleDerivation, IOKitSrcs, xnu }:
+
+# Someday it'll make sense to split these out into their own packages, but today is not that day.
+appleDerivation {
+  srcs = stdenv.lib.attrValues IOKitSrcs;
+  sourceRoot = ".";
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  __propagatedImpureHostDeps = [
+    "/System/Library/Frameworks/IOKit.framework/IOKit"
+    "/System/Library/Frameworks/IOKit.framework/Resources"
+    "/System/Library/Frameworks/IOKit.framework/Versions"
+  ];
+
+  installPhase = ''
+    ###### IMPURITIES
+    mkdir -p $out/Library/Frameworks/IOKit.framework
+    pushd $out/Library/Frameworks/IOKit.framework
+    ln -s /System/Library/Frameworks/IOKit.framework/IOKit
+    ln -s /System/Library/Frameworks/IOKit.framework/Resources
+    popd
+
+    ###### HEADERS
+
+    export dest=$out/Library/Frameworks/IOKit.framework/Headers
+    mkdir -p $dest
+
+    pushd $dest
+    mkdir audio avc DV firewire graphics hid hidsystem i2c kext ndrvsupport
+    mkdir network ps pwr_mgt sbp2 scsi serial storage stream usb video
+    popd
+
+    # root: complete
+    cp IOKitUser-907.100.13/IOCFBundle.h                                       $dest
+    cp IOKitUser-907.100.13/IOCFPlugIn.h                                       $dest
+    cp IOKitUser-907.100.13/IOCFSerialize.h                                    $dest
+    cp IOKitUser-907.100.13/IOCFUnserialize.h                                  $dest
+    cp IOKitUser-907.100.13/IOCFURLAccess.h                                    $dest
+    cp IOKitUser-907.100.13/IODataQueueClient.h                                $dest
+    cp IOKitUser-907.100.13/IOKitLib.h                                         $dest
+    cp IOKitUser-907.100.13/iokitmig.h                                         $dest
+    cp ${xnu}/Library/PrivateFrameworks/IOKit.framework/Versions/A/Headers/*.h $dest
+
+    # audio: complete
+    cp IOAudioFamily-197.4.2/IOAudioDefines.h          $dest/audio
+    cp IOKitUser-907.100.13/audio.subproj/IOAudioLib.h $dest/audio
+    cp IOAudioFamily-197.4.2/IOAudioTypes.h            $dest/audio
+
+    # avc: complete
+    cp IOFireWireAVC-422.4.0/IOFireWireAVC/IOFireWireAVCConsts.h $dest/avc
+    cp IOFireWireAVC-422.4.0/IOFireWireAVCLib/IOFireWireAVCLib.h $dest/avc
+
+    # DV: complete
+    cp IOFWDVComponents-207.4.1/DVFamily.h $dest/DV
+
+    # firewire: complete
+    cp IOFireWireFamily-455.4.0/IOFireWireFamily.kmodproj/IOFireWireFamilyCommon.h $dest/firewire
+    cp IOFireWireFamily-455.4.0/IOFireWireLib.CFPlugInProj/IOFireWireLib.h         $dest/firewire
+    cp IOFireWireFamily-455.4.0/IOFireWireLib.CFPlugInProj/IOFireWireLibIsoch.h    $dest/firewire
+    cp IOFireWireFamily-455.4.0/IOFireWireFamily.kmodproj/IOFWIsoch.h              $dest/firewire
+
+    # graphics: missing AppleGraphicsDeviceControlUserCommand.h
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOAccelClientConnect.h     $dest/graphics
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOAccelSurfaceConnect.h    $dest/graphics
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOAccelTypes.h             $dest/graphics
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOFramebufferShared.h      $dest/graphics
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsEngine.h         $dest/graphics
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsInterface.h      $dest/graphics
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsInterfaceTypes.h $dest/graphics
+    cp IOKitUser-907.100.13/graphics.subproj/IOGraphicsLib.h                          $dest/graphics
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/graphics/IOGraphicsTypes.h          $dest/graphics
+
+    # hid: complete
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDBase.h         $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDDevice.h       $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDDevicePlugIn.h $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDElement.h      $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDLib.h          $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDManager.h      $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDQueue.h        $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDTransaction.h  $dest/hid
+    cp IOKitUser-907.100.13/hid.subproj/IOHIDValue.h        $dest/hid
+    cp IOHIDFamily-503.215.2/IOHIDFamily/IOHIDKeys.h        $dest/hid
+    cp IOHIDFamily-503.215.2/IOHIDFamily/IOHIDUsageTables.h $dest/hid
+    cp IOHIDFamily-503.215.2/IOHIDLib/IOHIDLibObsolete.h    $dest/hid
+
+    # hidsystem: complete
+    cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/ev_keymap.h      $dest/hidsystem
+    cp IOKitUser-907.100.13/hidsystem.subproj/event_status_driver.h       $dest/hidsystem
+    cp IOKitUser-907.100.13/hidsystem.subproj/IOHIDLib.h                  $dest/hidsystem
+    cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOHIDParameter.h $dest/hidsystem
+    cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOHIDShared.h    $dest/hidsystem
+    cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOHIDTypes.h     $dest/hidsystem
+    cp IOHIDFamily-503.215.2/IOHIDSystem/IOKit/hidsystem/IOLLEvent.h      $dest/hidsystem
+
+
+    # i2c: complete
+    cp IOGraphics-471.92.1/IOGraphicsFamily/IOKit/i2c/IOI2CInterface.h $dest/i2c
+
+    # kext: complete
+    cp IOKitUser-907.100.13/kext.subproj/KextManager.h $dest/kext
+
+    # ndrvsupport: complete
+    cp IOGraphics-471.92.1/IONDRVSupport/IOKit/ndrvsupport/IOMacOSTypes.h $dest/ndrvsupport
+    cp IOGraphics-471.92.1/IONDRVSupport/IOKit/ndrvsupport/IOMacOSVideo.h $dest/ndrvsupport
+
+    # network: complete
+    cp IONetworkingFamily-100/IOEthernetController.h       $dest/network
+    cp IONetworkingFamily-100/IOEthernetInterface.h        $dest/network
+    cp IONetworkingFamily-100/IOEthernetStats.h            $dest/network
+    cp IONetworkingFamily-100/IONetworkController.h        $dest/network
+    cp IONetworkingFamily-100/IONetworkData.h              $dest/network
+    cp IONetworkingFamily-100/IONetworkInterface.h         $dest/network
+    cp IOKitUser-907.100.13/network.subproj/IONetworkLib.h $dest/network
+    cp IONetworkingFamily-100/IONetworkMedium.h            $dest/network
+    cp IONetworkingFamily-100/IONetworkStack.h             $dest/network
+    cp IONetworkingFamily-100/IONetworkStats.h             $dest/network
+    cp IONetworkingFamily-100/IONetworkUserClient.h        $dest/network
+
+    # ps: missing IOUPSPlugIn.h
+    cp IOKitUser-907.100.13/ps.subproj/IOPowerSources.h $dest/ps
+    cp IOKitUser-907.100.13/ps.subproj/IOPSKeys.h       $dest/ps
+
+    # pwr_mgt: complete
+    cp IOKitUser-907.100.13/pwr_mgt.subproj/IOPMKeys.h                                 $dest/pwr_mgt
+    cp IOKitUser-907.100.13/pwr_mgt.subproj/IOPMLib.h                                  $dest/pwr_mgt
+    cp ${xnu}/Library/PrivateFrameworks/IOKit.framework/Versions/A/Headers/pwr_mgt/*.h $dest/pwr_mgt
+    cp IOKitUser-907.100.13/pwr_mgt.subproj/IOPMLibPrivate.h                           $dest/pwr_mgt # Private
+
+    # sbp2: complete
+    cp IOFireWireSBP2-426.4.1/IOFireWireSBP2Lib/IOFireWireSBP2Lib.h $dest/sbp2
+
+    # scsi: omitted for now
+
+    # serial: complete
+    cp IOSerialFamily-64.1.1/IOSerialFamily.kmodproj/IOSerialKeys.h $dest/serial
+    cp IOSerialFamily-64.1.1/IOSerialFamily.kmodproj/ioss.h         $dest/serial
+
+    # storage: complete
+    # Needs ata subdirectory
+    cp IOStorageFamily-172/IOAppleLabelScheme.h                                        $dest/storage
+    cp IOStorageFamily-172/IOApplePartitionScheme.h                                    $dest/storage
+    cp IOBDStorageFamily-14/IOBDBlockStorageDevice.h                                   $dest/storage
+    cp IOBDStorageFamily-14/IOBDMedia.h                                                $dest/storage
+    cp IOBDStorageFamily-14/IOBDMediaBSDClient.h                                       $dest/storage
+    cp IOBDStorageFamily-14/IOBDTypes.h                                                $dest/storage
+    cp IOStorageFamily-172/IOBlockStorageDevice.h                                      $dest/storage
+    cp IOStorageFamily-172/IOBlockStorageDriver.h                                      $dest/storage
+    cp IOCDStorageFamily-51/IOCDBlockStorageDevice.h                                   $dest/storage
+    cp IOCDStorageFamily-51/IOCDMedia.h                                                $dest/storage
+    cp IOCDStorageFamily-51/IOCDMediaBSDClient.h                                       $dest/storage
+    cp IOCDStorageFamily-51/IOCDPartitionScheme.h                                      $dest/storage
+    cp IOCDStorageFamily-51/IOCDTypes.h                                                $dest/storage
+    cp IODVDStorageFamily-35/IODVDBlockStorageDevice.h                                 $dest/storage
+    cp IODVDStorageFamily-35/IODVDMedia.h                                              $dest/storage
+    cp IODVDStorageFamily-35/IODVDMediaBSDClient.h                                     $dest/storage
+    cp IODVDStorageFamily-35/IODVDTypes.h                                              $dest/storage
+    cp IOStorageFamily-172/IOFDiskPartitionScheme.h                                    $dest/storage
+    cp IOStorageFamily-172/IOFilterScheme.h                                            $dest/storage
+    cp IOFireWireSerialBusProtocolTransport-251.0.1/IOFireWireStorageCharacteristics.h $dest/storage
+    cp IOStorageFamily-172/IOGUIDPartitionScheme.h                                     $dest/storage
+    cp IOStorageFamily-172/IOMedia.h                                                   $dest/storage
+    cp IOStorageFamily-172/IOMediaBSDClient.h                                          $dest/storage
+    cp IOStorageFamily-172/IOPartitionScheme.h                                         $dest/storage
+    cp IOStorageFamily-172/IOStorage.h                                                 $dest/storage
+    cp IOStorageFamily-172/IOStorageCardCharacteristics.h                              $dest/storage
+    cp IOStorageFamily-172/IOStorageDeviceCharacteristics.h                            $dest/storage
+    cp IOStorageFamily-172/IOStorageProtocolCharacteristics.h                          $dest/storage
+
+    # stream: missing altogether
+
+    # usb: complete
+    cp IOUSBFamily-630.4.5/IOUSBFamily/Headers/IOUSBLib.h            $dest/usb
+    cp IOUSBFamily-630.4.5/IOUSBUserClient/Headers/IOUSBUserClient.h $dest/usb
+    cp IOUSBFamily-560.4.2/IOUSBFamily/Headers/USB.h                 $dest/usb # This file is empty in 630.4.5!
+    cp IOUSBFamily-630.4.5/IOUSBFamily/Headers/USBSpec.h             $dest/usb
+
+    # video: missing altogether
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ joelteon copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
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
new file mode 100644
index 00000000000..b5e7e512393
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/825_40_1.nix
@@ -0,0 +1,15 @@
+{ stdenv, appleDerivation, ed, unifdef }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  buildInputs = [ ed unifdef ];
+
+  installPhase = ''
+    export SRCROOT=$PWD
+    export DSTROOT=$out
+    export PUBLIC_HEADERS_FOLDER_PATH=include
+    export PRIVATE_HEADERS_FOLDER_PATH=include
+    bash xcodescripts/headers.sh
+  '';
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
new file mode 100644
index 00000000000..16cfa9e554b
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, appleDerivation, ed, unifdef, Libc_old }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  buildInputs = [ ed unifdef ];
+
+  # TODO: asl.h actually comes from syslog project now
+  installPhase = ''
+    export SRCROOT=$PWD
+    export DSTROOT=$out
+    export PUBLIC_HEADERS_FOLDER_PATH=include
+    export PRIVATE_HEADERS_FOLDER_PATH=include
+    bash xcodescripts/headers.sh
+
+    # Ugh Apple stopped releasing this stuff so we need an older one...
+    cp    ${Libc_old}/include/spawn.h    $out/include
+    cp    ${Libc_old}/include/setjmp.h   $out/include
+    cp    ${Libc_old}/include/ucontext.h $out/include
+    cp    ${Libc_old}/include/pthread*.h $out/include
+    cp    ${Libc_old}/include/sched.h    $out/include
+    cp -R ${Libc_old}/include/malloc     $out/include
+
+    mkdir -p $out/include/libkern
+    cp ${Libc_old}/include/asl.h                    $out/include
+    cp ${Libc_old}/include/libproc.h                $out/include
+    cp ${Libc_old}/include/libkern/OSAtomic.h       $out/include/libkern
+    cp ${Libc_old}/include/libkern/OSCacheControl.h $out/include/libkern
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
new file mode 100644
index 00000000000..2756857ba67
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    substituteInPlace xcodescripts/install_files.sh \
+      --replace "/usr/local/" "/" \
+      --replace "/usr/" "/" \
+      --replace '-o "$INSTALL_OWNER" -g "$INSTALL_GROUP"' "" \
+      --replace "ln -h" "ln -n"
+
+    export DSTROOT=$out
+    sh xcodescripts/install_files.sh
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix
new file mode 100644
index 00000000000..b409a7347ef
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libm/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include
+
+    cp Source/Intel/math.h $out/include
+    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
new file mode 100644
index 00000000000..810c8e8315a
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libnotify/default.nix
@@ -0,0 +1,11 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp notify.h      $out/include
+    cp notify_keys.h $out/include
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
new file mode 100644
index 00000000000..ecab0941332
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -0,0 +1,147 @@
+{ stdenv, appleDerivation, cpio, bootstrap_cmds, xnu, Libc, Libm, libdispatch, cctools, Libinfo,
+  dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto, copyfile,
+  removefile, libresolv, Libnotify, libpthread, mDNSResponder, launchd, version }:
+
+appleDerivation rec {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  buildInputs = [ cpio libpthread ];
+
+  systemlibs = [ "cache"
+                 "commonCrypto"
+                 "compiler_rt"
+                 "copyfile"
+                 "corecrypto"
+                 "dispatch"
+                 "dyld"
+                 "keymgr"
+                 "kxld"
+                 "launch"
+                 "macho"
+                 "quarantine"
+                 "removefile"
+                 "system_asl"
+                 "system_blocks"
+                 # "system_c" # special re-export here to hide newer functions
+                 "system_configuration"
+                 "system_dnssd"
+                 "system_info"
+                 # "system_kernel" # special re-export here to hide newer functions
+                 "system_m"
+                 "system_malloc"
+                 "system_network"
+                 "system_notify"
+                 "system_platform"
+                 "system_pthread"
+                 "system_sandbox"
+                 "system_stats"
+                 "unc"
+                 "unwind"
+                 "xpc"
+               ];
+
+  installPhase = ''
+    export NIX_ENFORCE_PURITY=
+
+    mkdir -p $out/lib $out/include
+
+    # Set up our include directories
+    (cd ${xnu}/include && find . -name '*.h' -or -name '*.defs' | cpio -pdm $out/include)
+    cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/Availability*.h $out/include
+    cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/stdarg.h        $out/include
+
+    for dep in ${Libc} ${Libm} ${Libinfo} ${dyld} ${architecture} ${libclosure} ${CarbonHeaders} \
+               ${libdispatch} ${ncurses} ${CommonCrypto} ${copyfile} ${removefile} ${libresolv} \
+               ${Libnotify} ${mDNSResponder} ${launchd}; do
+      (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
+    done
+
+    (cd ${cctools}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
+
+    cat <<EOF > $out/include/TargetConditionals.h
+    #ifndef __TARGETCONDITIONALS__
+    #define __TARGETCONDITIONALS__
+    #define TARGET_OS_MAC           1
+    #define TARGET_OS_WIN32         0
+    #define TARGET_OS_UNIX          0
+    #define TARGET_OS_EMBEDDED      0
+    #define TARGET_OS_IPHONE        0
+    #define TARGET_IPHONE_SIMULATOR 0
+    #define TARGET_OS_LINUX         0
+
+    #define TARGET_CPU_PPC          0
+    #define TARGET_CPU_PPC64        0
+    #define TARGET_CPU_68K          0
+    #define TARGET_CPU_X86          0
+    #define TARGET_CPU_X86_64       1
+    #define TARGET_CPU_ARM          0
+    #define TARGET_CPU_MIPS         0
+    #define TARGET_CPU_SPARC        0
+    #define TARGET_CPU_ALPHA        0
+    #define TARGET_RT_MAC_CFM       0
+    #define TARGET_RT_MAC_MACHO     1
+    #define TARGET_RT_LITTLE_ENDIAN 1
+    #define TARGET_RT_BIG_ENDIAN    0
+    #define TARGET_RT_64_BIT        1
+    #endif  /* __TARGETCONDITIONALS__ */
+    EOF
+
+    # The startup object files
+    cp ${Csu}/lib/* $out/lib
+
+    # selectively re-export functions from libsystem_c and libsystem_kernel
+    # to provide a consistent interface across OSX verions
+    mkdir -p $out/lib/system
+    ld -macosx_version_min 10.7 -arch x86_64 -dylib \
+       -o $out/lib/system/libsystem_c.dylib \
+       /usr/lib/libSystem.dylib \
+       -reexported_symbols_list ${./system_c_symbols}
+
+    ld -macosx_version_min 10.7 -arch x86_64 -dylib \
+       -o $out/lib/system/libsystem_kernel.dylib \
+       /usr/lib/libSystem.dylib \
+       -reexported_symbols_list ${./system_kernel_symbols}
+
+    # Set up the actual library link
+    clang -c -o CompatibilityHacks.o -Os CompatibilityHacks.c
+    clang -c -o init.o -Os init.c
+    ld -macosx_version_min 10.7 \
+       -arch x86_64 \
+       -dylib \
+       -o $out/lib/libSystem.dylib \
+       CompatibilityHacks.o init.o \
+       -compatibility_version 1.0 \
+       -current_version ${version} \
+       -reexport_library $out/lib/system/libsystem_c.dylib \
+       -reexport_library $out/lib/system/libsystem_kernel.dylib \
+        ${stdenv.lib.concatStringsSep " "
+          (map (l: "-reexport_library /usr/lib/system/lib${l}.dylib") systemlibs)}
+
+    # Set up links to pretend we work like a conventional unix (Apple's design, not mine!)
+    for name in c dbm dl info m mx poll proc pthread rpcsvc gcc_s.10.4 gcc_s.10.5; do
+      ln -s libSystem.dylib $out/lib/lib$name.dylib
+    done
+
+    # This probably doesn't belong here, but we want to stay similar to glibc, which includes resolv internally...
+    cp ${libresolv}/lib/libresolv.9.dylib $out/lib/libresolv.9.dylib
+    resolv_libSystem=$(otool -L "$out/lib/libresolv.9.dylib" | tail -n +3 | grep -o "$NIX_STORE.*-\S*") || true
+    echo $libs
+
+    chmod +w $out/lib/libresolv.9.dylib
+    install_name_tool \
+      -id $out/lib/libresolv.9.dylib \
+      -change "$resolv_libSystem" $out/lib/libSystem.dylib \
+      -delete_rpath ${libresolv}/lib \
+      $out/lib/libresolv.9.dylib
+    ln -s libresolv.9.dylib $out/lib/libresolv.dylib
+
+    otool -L $out/lib/libresolv.dylib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The Mac OS libc/libSystem (impure symlinks to binaries with pure headers)";
+    maintainers = with maintainers; [ copumpkin gridaphobe ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols
new file mode 100644
index 00000000000..0c814899c3c
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols
@@ -0,0 +1,1530 @@
+_NSGetNextSearchPathEnumeration
+_NSStartSearchPathEnumeration
+_OSAtomicAdd32
+_OSAtomicAdd32Barrier
+_OSAtomicAnd32
+_OSAtomicDequeue
+_OSAtomicEnqueue
+_OSSpinLockLock
+_OSSpinLockUnlock
+__Block_copy
+__Block_release
+__CurrentRuneLocale
+__DefaultRuneLocale
+__Exit
+__NSGetArgc
+__NSGetArgv
+__NSGetEnviron
+__NSGetMachExecuteHeader
+__NSGetProgname
+__PathLocale
+__Read_RuneMagi
+___Balloc_D2A
+___Bfree_D2A
+___ULtod_D2A
+____mb_cur_max
+____mb_cur_max_l
+____runetype
+____runetype_l
+____tolower
+____tolower_l
+____toupper
+____toupper_l
+___add_ovflpage
+___addel
+___any_on_D2A
+___assert_rtn
+___b2d_D2A
+___big_delete
+___big_insert
+___big_keydata
+___big_return
+___big_split
+___bigtens_D2A
+___bt_close
+___bt_cmp
+___bt_defcmp
+___bt_defpfx
+___bt_delete
+___bt_dleaf
+___bt_fd
+___bt_free
+___bt_get
+___bt_new
+___bt_open
+___bt_pgin
+___bt_pgout
+___bt_put
+___bt_ret
+___bt_search
+___bt_seq
+___bt_setcur
+___bt_split
+___bt_sync
+___buf_free
+___bzero
+___cVersionNumber
+___cVersionString
+___call_hash
+___chmod_extended
+___cleanup
+___cmp_D2A
+___collate_equiv_match
+___collate_load_error
+___collate_lookup
+___commpage_gettimeofday
+___copybits_D2A
+___cxa_atexit
+___cxa_finalize
+___cxa_thread_atexit
+___d2b_D2A
+___dbpanic
+___decrement_D2A
+___default_hash
+___default_utx
+___delpair
+___diff_D2A
+___dtoa
+___error
+___exit
+___expand_table
+___fchmod_extended
+___fcntl
+___fcntl_nocancel
+___fflush
+___fgetwc
+___find_bigpair
+___find_last_page
+___fix_locale_grouping_str
+___fork
+___fpclassifyd
+___fpclassifyl
+___fread
+___free_ovflpage
+___freedtoa
+___fstat64_extended
+___fstat_extended
+___gdtoa
+___gdtoa_locks
+___get_buf
+___get_page
+___getdirentries64
+___gethex_D2A
+___getlogin
+___getonlyClocaleconv
+___gettimeofday
+___hash_open
+___hdtoa
+___hexdig_D2A
+___hexdig_init_D2A
+___hexnan_D2A
+___hi0bits_D2A
+___hldtoa
+___i2b_D2A
+___ibitmap
+___increment_D2A
+___isctype
+___istype
+___istype_l
+___kill
+___ldtoa
+___libc_init
+___lo0bits_D2A
+___log2
+___lshift_D2A
+___lstat64_extended
+___lstat_extended
+___maskrune
+___maskrune_l
+___match_D2A
+___mb_cur_max
+___mb_sb_limit
+___memccpy_chk
+___memcpy_chk
+___memmove_chk
+___memset_chk
+___mkdir_extended
+___mkfifo_extended
+___mult_D2A
+___multadd_D2A
+___nrv_alloc_D2A
+___open
+___open_extended
+___open_nocancel
+___opendir2
+___opendir2$INODE64
+___ovfl_delete
+___ovfl_get
+___ovfl_put
+___pow5mult_D2A
+___pthread_sigmask
+___pthread_workqueue_setkill
+___put_page
+___quorem_D2A
+___ratio_D2A
+___rec_close
+___rec_delete
+___rec_dleaf
+___rec_fd
+___rec_fmap
+___rec_fpipe
+___rec_get
+___rec_iput
+___rec_open
+___rec_put
+___rec_ret
+___rec_search
+___rec_seq
+___rec_sync
+___rec_vmap
+___rec_vpipe
+___reclaim_buf
+___recvfrom
+___recvfrom_nocancel
+___rshift_D2A
+___rv_alloc_D2A
+___s2b_D2A
+___sF
+___sclose
+___sdidinit
+___semwait_signal
+___semwait_signal_nocancel
+___sendto
+___sendto_nocancel
+___set_ones_D2A
+___setlogin
+___setonlyClocaleconv
+___settimeofday
+___sflags
+___sflush
+___sfp
+___sfvwrite
+___sglue
+___sigaction
+___sigaltstack
+___sinit
+___slbexpand
+___smakebuf
+___snprintf_chk
+___split_page
+___sprintf_chk
+___sread
+___srefill
+___srget
+___sseek
+___stack_chk_fail
+___stack_chk_guard
+___stat64_extended
+___stat_extended
+___stderrp
+___stdinp
+___stdoutp
+___stpcpy_chk
+___stpncpy_chk
+___strcat_chk
+___strcp_D2A
+___strcpy_chk
+___strlcat_chk
+___strlcpy_chk
+___strncat_chk
+___strncpy_chk
+___strtodg
+___strtopdd
+___strtopx
+___sum_D2A
+___svfscanf
+___swbuf
+___swhatbuf
+___swrite
+___swsetup
+___sysctl
+___tens_D2A
+___tinytens_D2A
+___tolower
+___tolower_l
+___toupper
+___toupper_l
+___trailz_D2A
+___ulp_D2A
+___umask_extended
+___ungetc
+___ungetwc
+___unix_conforming
+___vsnprintf_chk
+___vsprintf_chk
+___wait4
+___wait4_nocancel
+___wcwidth
+___wcwidth_l
+__allocenvstate
+__c_locale
+__cleanup
+__closeutx
+__copyenv
+__cthread_init_routine
+__deallocenvstate
+__dyld_register_func_for_add_image
+__endutxent
+__exit
+__flockfile_debug_stub
+__fseeko
+__ftello
+__fwalk
+__get_cpu_capabilities
+__getenvp
+__getutxent
+__getutxid
+__getutxline
+__inet_aton_check
+__init_clock_port
+__int_to_time
+__libc_fork_child
+__long_to_time
+__mkpath_np
+__mktemp
+__openutx
+__os_alloc_once
+__os_alloc_once_table
+__os_assert_log
+__os_assert_log_ctx
+__os_assumes_log
+__os_assumes_log_ctx
+__os_avoid_tail_call
+__osx_assert_log
+__osx_assert_log_ctx
+__osx_assumes_log
+__osx_assumes_log_ctx
+__osx_avoid_tail_call
+__platform_bzero
+__platform_memccpy
+__platform_memchr
+__platform_memcmp
+__platform_memmove
+__platform_memset
+__platform_memset_pattern16
+__platform_memset_pattern4
+__platform_memset_pattern8
+__platform_strchr
+__platform_strcmp
+__platform_strncmp
+__putenvp
+__pututxline
+__rand48_add
+__rand48_mult
+__rand48_seed
+__readdir_unlocked
+__readdir_unlocked$INODE64
+__reclaim_telldir
+__seekdir
+__seekdir$INODE64
+__setenvp
+__setutxent
+__sigaction_nobind
+__sigintr
+__signal_nobind
+__sigtramp
+__sigvec_nobind
+__simple_asl_log
+__simple_asl_log_prog
+__simple_asl_msg_new
+__simple_asl_msg_set
+__simple_asl_send
+__simple_dprintf
+__simple_salloc
+__simple_sappend
+__simple_sfree
+__simple_sprintf
+__simple_string
+__simple_vsprintf
+__sread
+__sseek
+__swrite
+__time32_to_time
+__time64_to_time
+__time_to_int
+__time_to_long
+__time_to_time32
+__time_to_time64
+__tlv_atexit
+__tlv_exit
+__unsetenvp
+__utmpxname
+_a64l
+_abort
+_abs
+_access
+_acl_add_flag_np
+_acl_add_perm
+_acl_calc_mask
+_acl_clear_flags_np
+_acl_clear_perms
+_acl_copy_entry
+_acl_copy_ext
+_acl_copy_ext_native
+_acl_copy_int
+_acl_copy_int_native
+_acl_create_entry
+_acl_create_entry_np
+_acl_delete_def_file
+_acl_delete_entry
+_acl_delete_fd_np
+_acl_delete_file_np
+_acl_delete_flag_np
+_acl_delete_link_np
+_acl_delete_perm
+_acl_dup
+_acl_free
+_acl_from_text
+_acl_get_entry
+_acl_get_fd
+_acl_get_fd_np
+_acl_get_file
+_acl_get_flag_np
+_acl_get_flagset_np
+_acl_get_link_np
+_acl_get_perm_np
+_acl_get_permset
+_acl_get_permset_mask_np
+_acl_get_qualifier
+_acl_get_tag_type
+_acl_init
+_acl_maximal_permset_mask_np
+_acl_set_fd
+_acl_set_fd_np
+_acl_set_file
+_acl_set_flagset_np
+_acl_set_link_np
+_acl_set_permset
+_acl_set_permset_mask_np
+_acl_set_qualifier
+_acl_set_tag_type
+_acl_size
+_acl_to_text
+_acl_valid
+_acl_valid_fd_np
+_acl_valid_file_np
+_acl_valid_link
+_addr2ascii
+_alarm
+_alphasort
+_alphasort$INODE64
+_arc4random
+_arc4random_addrandom
+_arc4random_buf
+_arc4random_stir
+_arc4random_uniform
+_ascii2addr
+_asctime
+_asctime_r
+_asl_get
+_asl_new
+_asl_open
+_asl_send
+_asl_set
+_asl_set_query
+_asprintf
+_asprintf_l
+_asxprintf
+_asxprintf_exec
+_atexit
+_atexit_b
+_atof
+_atof_l
+_atoi
+_atoi_l
+_atol
+_atol_l
+_atoll
+_atoll_l
+_backtrace
+_backtrace_symbols
+_backtrace_symbols_fd
+_basename
+_bcmp
+_bcopy
+_bootstrap_parent
+_bootstrap_port
+_brk
+_bsd_signal
+_bsearch
+_bsearch_b
+_btowc
+_btowc_l
+_bzero
+_calloc
+_catclose
+_catgets
+_catopen
+_cfgetispeed
+_cfgetospeed
+_cfmakeraw
+_cfsetispeed
+_cfsetospeed
+_cfsetspeed
+_cgetcap
+_cgetclose
+_cgetent
+_cgetfirst
+_cgetmatch
+_cgetnext
+_cgetnum
+_cgetset
+_cgetstr
+_cgetustr
+_chdir
+_chflags
+_chmod
+_chmodx_np
+_clearerr
+_clearerr_unlocked
+_clock
+_clock_get_time
+_clock_port
+_clock_sem
+_close$NOCANCEL
+_closedir
+_compat_mode
+_confstr
+_copy_printf_domain
+_creat
+_creat$NOCANCEL
+_crypt
+_ctermid
+_ctermid_r
+_ctime
+_ctime_r
+_daemon
+_daemon$1050
+_daylight
+_dbm_clearerr
+_dbm_close
+_dbm_delete
+_dbm_dirfno
+_dbm_error
+_dbm_fetch
+_dbm_firstkey
+_dbm_nextkey
+_dbm_open
+_dbm_store
+_dbopen
+_devname
+_devname_r
+_difftime
+_digittoint
+_digittoint_l
+_dirfd
+_dirname
+_dispatch_get_global_queue
+_div
+_dladdr
+_dlsym
+_dprintf
+_dprintf_l
+_drand48
+_dup2
+_duplocale
+_dxprintf
+_dxprintf_exec
+_dyld_get_program_sdk_version
+_dyld_get_sdk_version
+_ecvt
+_encrypt
+_endttyent
+_endusershell
+_endutxent
+_endutxent_wtmp
+_erand48
+_err
+_err_set_exit
+_err_set_exit_b
+_err_set_file
+_errc
+_errx
+_execl
+_execle
+_execlp
+_execv
+_execvP
+_execve
+_execvp
+_exit
+_f_prealloc
+_fchdir
+_fchmodx_np
+_fclose
+_fcntl$NOCANCEL
+_fcvt
+_fdopen
+_fdopen$DARWIN_EXTSN
+_fegetenv
+_feof
+_feof_unlocked
+_ferror
+_ferror_unlocked
+_fesetenv
+_fflagstostr
+_fflush
+_ffsctl
+_fgetc
+_fgetln
+_fgetpos
+_fgetrune
+_fgets
+_fgetwc
+_fgetwc_l
+_fgetwln
+_fgetwln_l
+_fgetws
+_fgetws_l
+_fileno
+_fileno_unlocked
+_filesec_dup
+_filesec_free
+_filesec_get_property
+_filesec_init
+_filesec_query_property
+_filesec_set_property
+_filesec_unset_property
+_flockfile
+_flsl
+_fmtcheck
+_fmtmsg
+_fnmatch
+_fopen
+_fopen$DARWIN_EXTSN
+_fork
+_forkpty
+_fparseln
+_fprintf
+_fprintf_l
+_fpurge
+_fputc
+_fputrune
+_fputs
+_fputwc
+_fputwc_l
+_fputws
+_fputws_l
+_fread
+_free
+_free_printf_comp
+_free_printf_domain
+_freeifaddrs
+_freelocale
+_freopen
+_fscanf
+_fscanf_l
+_fsctl
+_fseek
+_fseeko
+_fsetpos
+_fstat
+_fstat$INODE64
+_fstatfs
+_fstatfs$INODE64
+_fstatvfs
+_fstatx64_np
+_fstatx_np
+_fstatx_np$INODE64
+_fsync$NOCANCEL
+_fsync_volume_np
+_ftell
+_ftello
+_ftime
+_ftok
+_ftruncate
+_ftrylockfile
+_fts_children
+_fts_children$INODE64
+_fts_close
+_fts_close$INODE64
+_fts_open
+_fts_open$INODE64
+_fts_open_b
+_fts_open_b$INODE64
+_fts_read
+_fts_read$INODE64
+_fts_set
+_fts_set$INODE64
+_ftw
+_ftw$INODE64
+_fungetrune
+_funlockfile
+_funopen
+_fwide
+_fwprintf
+_fwprintf_l
+_fwrite
+_fwscanf
+_fwscanf_l
+_fxprintf
+_fxprintf_exec
+_gcvt
+_getattrlist
+_getbsize
+_getc
+_getc_unlocked
+_getchar
+_getchar_unlocked
+_getcwd
+_getdate
+_getdate_err
+_getdelim
+_getdirentries
+_getdiskbyname
+_getdtablesize
+_getenv
+_geteuid
+_getfsstat
+_getfsstat$INODE64
+_getfsstat64
+_getgrgid
+_getgrnam
+_getgroupcount
+_getgrouplist
+_getgroups$DARWIN_EXTSN
+_gethostid
+_gethostname
+_getifaddrs
+_getipv4sourcefilter
+_getlastlogx
+_getlastlogxbyname
+_getline
+_getloadavg
+_getlogin
+_getlogin_r
+_getmntinfo
+_getmntinfo$INODE64
+_getmntinfo64
+_getmode
+_getopt
+_getopt_long
+_getopt_long_only
+_getpagesize
+_getpass
+_getpeereid
+_getpgrp
+_getpid
+_getpriority
+_getprogname
+_getpwnam
+_getpwuid
+_getpwuid_r
+_getrlimit
+_getrusage
+_gets
+_getsectiondata
+_getsockopt
+_getsourcefilter
+_getsubopt
+_gettimeofday
+_getttyent
+_getttynam
+_getuid
+_getusershell
+_getutmp
+_getutmpx
+_getutxent
+_getutxent_wtmp
+_getutxid
+_getutxline
+_getvfsbyname
+_getw
+_getwc
+_getwc_l
+_getwchar
+_getwchar_l
+_getwd
+_glob
+_glob$INODE64
+_glob_b
+_glob_b$INODE64
+_globfree
+_gmtime
+_gmtime_r
+_grantpt
+_hash_create
+_hash_destroy
+_hash_purge
+_hash_search
+_hash_stats
+_hash_traverse
+_hcreate
+_hdestroy
+_heapsort
+_heapsort_b
+_host_get_clock_service
+_hsearch
+_if_nametoindex
+_imaxabs
+_imaxdiv
+_index
+_inet_addr
+_inet_aton
+_inet_lnaof
+_inet_makeaddr
+_inet_net_ntop
+_inet_net_pton
+_inet_neta
+_inet_netof
+_inet_network
+_inet_nsap_addr
+_inet_nsap_ntoa
+_inet_ntoa
+_inet_ntop
+_inet_ntop4
+_inet_ntop6
+_inet_pton
+_initstate
+_insque
+_ioctl
+_isalnum
+_isalnum_l
+_isalpha
+_isalpha_l
+_isascii
+_isatty
+_isblank
+_isblank_l
+_iscntrl
+_iscntrl_l
+_isdigit
+_isdigit_l
+_isgraph
+_isgraph_l
+_ishexnumber
+_ishexnumber_l
+_isideogram
+_isideogram_l
+_islower
+_islower_l
+_isnumber
+_isnumber_l
+_isphonogram
+_isphonogram_l
+_isprint
+_isprint_l
+_ispunct
+_ispunct_l
+_isrune
+_isrune_l
+_issetugid
+_isspace
+_isspace_l
+_isspecial
+_isspecial_l
+_isupper
+_isupper_l
+_iswalnum
+_iswalnum_l
+_iswalpha
+_iswalpha_l
+_iswascii
+_iswblank
+_iswblank_l
+_iswcntrl
+_iswcntrl_l
+_iswctype
+_iswctype_l
+_iswdigit
+_iswdigit_l
+_iswgraph
+_iswgraph_l
+_iswhexnumber
+_iswhexnumber_l
+_iswideogram
+_iswideogram_l
+_iswlower
+_iswlower_l
+_iswnumber
+_iswnumber_l
+_iswphonogram
+_iswphonogram_l
+_iswprint
+_iswprint_l
+_iswpunct
+_iswpunct_l
+_iswrune
+_iswrune_l
+_iswspace
+_iswspace_l
+_iswspecial
+_iswspecial_l
+_iswupper
+_iswupper_l
+_iswxdigit
+_iswxdigit_l
+_isxdigit
+_isxdigit_l
+_jrand48
+_kill
+_killpg
+_l64a
+_labs
+_lchflags
+_lchmod
+_lcong48
+_ldiv
+_lfind
+_link_addr
+_link_ntoa
+_llabs
+_lldiv
+_localeconv
+_localeconv_l
+_localtime
+_localtime_r
+_lockf
+_lockf$NOCANCEL
+_login
+_login_tty
+_logout
+_logwtmp
+_lrand48
+_lsearch
+_lseek
+_lstat
+_lstat$INODE64
+_lstatx64_np
+_lstatx_np
+_lstatx_np$INODE64
+_lutimes
+_mach_absolute_time
+_mach_error_string
+_mach_host_self
+_mach_port_deallocate
+_mach_task_self_
+_mach_timebase_info
+_malloc
+_mblen
+_mblen_l
+_mbmb
+_mbr_gid_to_uuid
+_mbr_uid_to_uuid
+_mbr_uuid_to_id
+_mbrlen
+_mbrlen_l
+_mbrrune
+_mbrtowc
+_mbrtowc_l
+_mbrune
+_mbsinit
+_mbsinit_l
+_mbsnrtowcs
+_mbsnrtowcs_l
+_mbsrtowcs
+_mbsrtowcs_l
+_mbstowcs
+_mbstowcs_l
+_mbtowc
+_mbtowc_l
+_memccpy
+_memchr
+_memcmp
+_memcpy
+_memmem
+_memmove
+_memset
+_memset_pattern16
+_memset_pattern4
+_memset_pattern8
+_memset_s
+_mergesort
+_mergesort_b
+_mkdir
+_mkdirx_np
+_mkdtemp
+_mkfifox_np
+_mkpath_np
+_mkstemp
+_mkstemps
+_mktemp
+_mktime
+_mmap
+_monaddition
+_moncontrol
+_moncount
+_moninit
+_monitor
+_monoutput
+_monreset
+_monstartup
+_mpool_close
+_mpool_filter
+_mpool_get
+_mpool_new
+_mpool_open
+_mpool_put
+_mpool_sync
+_mrand48
+_munmap
+_nan
+_nanf
+_nanl
+_nanosleep
+_nanosleep$NOCANCEL
+_new_printf_comp
+_new_printf_domain
+_newlocale
+_nextwctype
+_nextwctype_l
+_nftw
+_nftw$INODE64
+_nice
+_nl_langinfo
+_nl_langinfo_l
+_notify_cancel
+_notify_check
+_notify_monitor_file
+_notify_post
+_notify_register_check
+_nrand48
+_off32
+_off64
+_offtime
+_open$NOCANCEL
+_opendev
+_opendir
+_opendir$INODE64
+_openpty
+_openx_np
+_optarg
+_opterr
+_optind
+_optopt
+_optreset
+_pathconf
+_pause
+_pause$NOCANCEL
+_pclose
+_perror
+_pipe
+_popen
+_popen$DARWIN_EXTSN
+_posix2time
+_posix_openpt
+_posix_spawn
+_posix_spawn_file_actions_addclose
+_posix_spawn_file_actions_adddup2
+_posix_spawn_file_actions_destroy
+_posix_spawn_file_actions_init
+_posix_spawnattr_destroy
+_posix_spawnattr_init
+_posix_spawnattr_setflags
+_posix_spawnattr_setsigdefault
+_posix_spawnattr_setsigmask
+_posix_spawnp
+_pread$NOCANCEL
+_printf
+_printf_l
+_proc_name
+_pselect
+_pselect$1050
+_pselect$DARWIN_EXTSN
+_pselect$DARWIN_EXTSN$NOCANCEL
+_pselect$NOCANCEL
+_psignal
+_psort
+_psort_b
+_psort_r
+_pthread_get_stackaddr_np
+_pthread_get_stacksize_np
+_pthread_getspecific
+_pthread_key_create
+_pthread_key_init_np
+_pthread_kill
+_pthread_mutex_destroy
+_pthread_mutex_init
+_pthread_mutex_lock
+_pthread_mutex_trylock
+_pthread_mutex_unlock
+_pthread_once
+_pthread_rwlock_destroy
+_pthread_rwlock_rdlock
+_pthread_rwlock_unlock
+_pthread_rwlock_wrlock
+_pthread_self
+_pthread_setspecific
+_pthread_sigmask
+_pthread_testcancel
+_ptsname
+_putc
+_putc_unlocked
+_putchar
+_putchar_unlocked
+_putenv
+_puts
+_pututxline
+_putw
+_putwc
+_putwc_l
+_putwchar
+_putwchar_l
+_pwrite$NOCANCEL
+_qsort
+_qsort_b
+_qsort_r
+_querylocale
+_radixsort
+_raise
+_rand
+_rand_r
+_random
+_rb_tree_count
+_rb_tree_find_node
+_rb_tree_find_node_geq
+_rb_tree_find_node_leq
+_rb_tree_init
+_rb_tree_insert_node
+_rb_tree_iterate
+_rb_tree_remove_node
+_read$NOCANCEL
+_readdir
+_readdir$INODE64
+_readdir_r
+_readdir_r$INODE64
+_readlink
+_readpassphrase
+_realloc
+_reallocf
+_realpath
+_realpath$DARWIN_EXTSN
+_recv
+_recv$NOCANCEL
+_regcomp
+_regcomp_l
+_regerror
+_regexec
+_regfree
+_register_printf_domain_function
+_register_printf_domain_render_std
+_regncomp
+_regncomp_l
+_regnexec
+_regwcomp
+_regwcomp_l
+_regwexec
+_regwncomp
+_regwncomp_l
+_regwnexec
+_remove
+_remque
+_rewind
+_rewinddir
+_rewinddir$INODE64
+_rindex
+_rmdir
+_sbrk
+_scandir
+_scandir$INODE64
+_scandir_b
+_scandir_b$INODE64
+_scanf
+_scanf_l
+_seed48
+_seekdir
+_seekdir$INODE64
+_select
+_select$1050
+_select$DARWIN_EXTSN
+_select$DARWIN_EXTSN$NOCANCEL
+_select$NOCANCEL
+_semaphore_create
+_send
+_send$NOCANCEL
+_setattrlist
+_setbuf
+_setbuffer
+_setenv
+_sethostid
+_sethostname
+_setinvalidrune
+_setipv4sourcefilter
+_setitimer
+_setkey
+_setlinebuf
+_setlocale
+_setlogin
+_setmode
+_setpgid
+_setpgrp
+_setpriority
+_setprogname
+_setregid
+_setreuid
+_setrgid
+_setrlimit
+_setruid
+_setrunelocale
+_setsid
+_setsockopt
+_setsourcefilter
+_setstate
+_settimeofday
+_setttyent
+_setusershell
+_setutxent
+_setutxent_wtmp
+_setvbuf
+_sigaction
+_sigaddset
+_sigaltstack
+_sigblock
+_sigdelset
+_sigemptyset
+_sigfillset
+_sighold
+_sigignore
+_siginterrupt
+_sigismember
+_signal
+_sigpause
+_sigpause$NOCANCEL
+_sigprocmask
+_sigrelse
+_sigset
+_sigsetmask
+_sigsuspend
+_sigsuspend$NOCANCEL
+_sigvec
+_skip
+_sl_add
+_sl_find
+_sl_free
+_sl_init
+_sleep
+_sleep$NOCANCEL
+_snprintf
+_snprintf_l
+_sockatmark
+_socket
+_socketpair
+_spin_lock
+_spin_unlock
+_sprintf
+_sprintf_l
+_sradixsort
+_srand
+_srand48
+_sranddev
+_srandom
+_srandomdev
+_sscanf
+_sscanf_l
+_stat
+_stat$INODE64
+_statfs$INODE64
+_statvfs
+_statx64_np
+_statx_np
+_statx_np$INODE64
+_stpcpy
+_stpncpy
+_strcasecmp
+_strcasecmp_l
+_strcasestr
+_strcasestr_l
+_strcat
+_strchr
+_strcmp
+_strcoll
+_strcoll_l
+_strcpy
+_strcspn
+_strdup
+_strerror
+_strerror_r
+_strfmon
+_strfmon_l
+_strftime
+_strftime_l
+_strlcat
+_strlcpy
+_strlen
+_strmode
+_strncasecmp
+_strncasecmp_l
+_strncat
+_strncmp
+_strncpy
+_strndup
+_strnlen
+_strnstr
+_strpbrk
+_strptime
+_strptime_l
+_strrchr
+_strsep
+_strsignal
+_strspn
+_strstr
+_strtod
+_strtod_l
+_strtof
+_strtof_l
+_strtofflags
+_strtoimax
+_strtoimax_l
+_strtok
+_strtok_r
+_strtol
+_strtol_l
+_strtold
+_strtold_l
+_strtoll
+_strtoll_l
+_strtoq
+_strtoq_l
+_strtoul
+_strtoul_l
+_strtoull
+_strtoull_l
+_strtoumax
+_strtoumax_l
+_strtouq
+_strtouq_l
+_strunvis
+_strunvisx
+_strvis
+_strvisx
+_strxfrm
+_strxfrm_l
+_suboptarg
+_swab
+_swprintf
+_swprintf_l
+_swscanf
+_swscanf_l
+_sxprintf
+_sxprintf_exec
+_sync_volume_np
+_sys_errlist
+_sys_nerr
+_sys_siglist
+_sys_signame
+_sysconf
+_sysctl
+_sysctlbyname
+_sysctlnametomib
+_syslog
+_system
+_system$NOCANCEL
+_task_set_special_port
+_tcdrain
+_tcdrain$NOCANCEL
+_tcflow
+_tcflush
+_tcgetattr
+_tcgetpgrp
+_tcgetsid
+_tcsendbreak
+_tcsetattr
+_tcsetpgrp
+_tdelete
+_telldir
+_telldir$INODE64
+_tempnam
+_tfind
+_thread_stack_pcs
+_time
+_time2posix
+_timegm
+_timelocal
+_timeoff
+_times
+_timezone
+_tmpfile
+_tmpnam
+_toascii
+_tolower
+_tolower_l
+_toupper
+_toupper_l
+_towctrans
+_towctrans_l
+_towlower
+_towlower_l
+_towupper
+_towupper_l
+_tsearch
+_ttyname
+_ttyname_r
+_ttyslot
+_twalk
+_tzname
+_tzset
+_tzsetwall
+_ualarm
+_ulimit
+_umask
+_umaskx_np
+_uname
+_ungetc
+_ungetwc
+_ungetwc_l
+_unlink
+_unlockpt
+_unsetenv
+_unvis
+_uselocale
+_usleep
+_usleep$NOCANCEL
+_utime
+_utimes
+_utmpxname
+_uuid_clear
+_uuid_compare
+_uuid_copy
+_uuid_generate
+_uuid_generate_random
+_uuid_generate_time
+_uuid_is_null
+_uuid_pack
+_uuid_parse
+_uuid_unpack
+_uuid_unparse
+_uuid_unparse_lower
+_uuid_unparse_upper
+_vasprintf
+_vasprintf_l
+_vasxprintf
+_vasxprintf_exec
+_vdprintf
+_vdprintf_l
+_vdxprintf
+_vdxprintf_exec
+_verr
+_verrc
+_verrx
+_vfprintf
+_vfprintf_l
+_vfscanf
+_vfscanf_l
+_vfwprintf
+_vfwprintf_l
+_vfwscanf
+_vfwscanf_l
+_vfxprintf
+_vfxprintf_exec
+_vis
+_vm_allocate
+_vprintf
+_vprintf_l
+_vscanf
+_vscanf_l
+_vsnprintf
+_vsnprintf_l
+_vsprintf
+_vsprintf_l
+_vsscanf
+_vsscanf_l
+_vswprintf
+_vswprintf_l
+_vswscanf
+_vswscanf_l
+_vsxprintf
+_vsxprintf_exec
+_vwarn
+_vwarnc
+_vwarnx
+_vwprintf
+_vwprintf_l
+_vwscanf
+_vwscanf_l
+_vxprintf
+_vxprintf_exec
+_wait
+_wait$NOCANCEL
+_wait3
+_wait4
+_waitpid
+_waitpid$NOCANCEL
+_warn
+_warnc
+_warnx
+_wcpcpy
+_wcpncpy
+_wcrtomb
+_wcrtomb_l
+_wcscasecmp
+_wcscasecmp_l
+_wcscat
+_wcschr
+_wcscmp
+_wcscoll
+_wcscoll_l
+_wcscpy
+_wcscspn
+_wcsdup
+_wcsftime
+_wcsftime_l
+_wcslcat
+_wcslcpy
+_wcslen
+_wcsncasecmp
+_wcsncasecmp_l
+_wcsncat
+_wcsncmp
+_wcsncpy
+_wcsnlen
+_wcsnrtombs
+_wcsnrtombs_l
+_wcspbrk
+_wcsrchr
+_wcsrtombs
+_wcsrtombs_l
+_wcsspn
+_wcsstr
+_wcstod
+_wcstod_l
+_wcstof
+_wcstof_l
+_wcstoimax
+_wcstoimax_l
+_wcstok
+_wcstol
+_wcstol_l
+_wcstold
+_wcstold_l
+_wcstoll
+_wcstoll_l
+_wcstombs
+_wcstombs_l
+_wcstoul
+_wcstoul_l
+_wcstoull
+_wcstoull_l
+_wcstoumax
+_wcstoumax_l
+_wcswidth
+_wcswidth_l
+_wcsxfrm
+_wcsxfrm_l
+_wctob
+_wctob_l
+_wctomb
+_wctomb_l
+_wctrans
+_wctrans_l
+_wctype
+_wctype_l
+_wcwidth
+_wcwidth_l
+_wmemchr
+_wmemcmp
+_wmemcpy
+_wmemmove
+_wmemset
+_wordexp
+_wordfree
+_wprintf
+_wprintf_l
+_write$NOCANCEL
+_writev$NOCANCEL
+_wscanf
+_wscanf_l
+_wtmpxname
+_xprintf
+_xprintf_exec
+dyld_stub_binder
+mcount
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols
new file mode 100644
index 00000000000..9d53dea7025
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols
@@ -0,0 +1,929 @@
+_NDR_record
+_____old_semwait_signal_nocancel
+_____sigwait_nocancel
+____kernelVersionNumber
+____kernelVersionString
+___accept
+___accept_nocancel
+___access_extended
+___aio_suspend_nocancel
+___bind
+___bsdthread_create
+___bsdthread_register
+___bsdthread_terminate
+___carbon_delete
+___chmod
+___chmod_extended
+___chud
+___close_nocancel
+___commpage_gettimeofday
+___connect
+___connect_nocancel
+___copyfile
+___delete
+___disable_threadsignal
+___error
+___exit
+___fchmod
+___fchmod_extended
+___fcntl
+___fcntl_nocancel
+___fork
+___fsgetpath
+___fstat64_extended
+___fstat_extended
+___fsync_nocancel
+___get_remove_counter
+___getattrlist
+___getdirentries64
+___gethostuuid
+___getlcid
+___getlogin
+___getpeername
+___getpid
+___getrlimit
+___getsgroups
+___getsockname
+___gettid
+___gettimeofday
+___getwgroups
+___guarded_open_np
+___identitysvc
+___inc_remove_counter
+___initgroups
+___ioctl
+___iopolicysys
+___kdebug_trace
+___kernelVersionNumber
+___kernelVersionString
+___kill
+___lchown
+___libkernel_init
+___listen
+___lseek
+___lstat64_extended
+___lstat_extended
+___mac_execve
+___mac_get_fd
+___mac_get_file
+___mac_get_lcid
+___mac_get_lctx
+___mac_get_link
+___mac_get_mount
+___mac_get_pid
+___mac_get_proc
+___mac_getfsstat
+___mac_mount
+___mac_set_fd
+___mac_set_file
+___mac_set_lctx
+___mac_set_link
+___mac_set_proc
+___mac_syscall
+___mkdir_extended
+___mkfifo_extended
+___mmap
+___mprotect
+___msgctl
+___msgrcv_nocancel
+___msgsnd_nocancel
+___msgsys
+___msync
+___msync_nocancel
+___munmap
+___old_semwait_signal
+___open
+___open_dprotected_np
+___open_extended
+___open_nocancel
+___pipe
+___poll_nocancel
+___posix_spawn
+___pread_nocancel
+___proc_info
+___process_policy
+___psynch_cvbroad
+___psynch_cvclrprepost
+___psynch_cvsignal
+___psynch_cvwait
+___psynch_mutexdrop
+___psynch_mutexwait
+___psynch_rw_downgrade
+___psynch_rw_longrdlock
+___psynch_rw_rdlock
+___psynch_rw_unlock
+___psynch_rw_unlock2
+___psynch_rw_upgrade
+___psynch_rw_wrlock
+___psynch_rw_yieldwrlock
+___pthread_canceled
+___pthread_chdir
+___pthread_fchdir
+___pthread_kill
+___pthread_markcancel
+___pthread_sigmask
+___ptrace
+___pwrite_nocancel
+___read_nocancel
+___readv_nocancel
+___recvfrom
+___recvfrom_nocancel
+___recvmsg
+___recvmsg_nocancel
+___rename
+___rmdir
+___sandbox_me
+___sandbox_mm
+___sandbox_ms
+___sandbox_msp
+___select
+___select_nocancel
+___sem_open
+___sem_wait_nocancel
+___semctl
+___semsys
+___semwait_signal
+___semwait_signal_nocancel
+___sendmsg
+___sendmsg_nocancel
+___sendto
+___sendto_nocancel
+___setattrlist
+___setlcid
+___setlogin
+___setregid
+___setreuid
+___setrlimit
+___setsgroups
+___settid
+___settid_with_pid
+___settimeofday
+___setwgroups
+___shared_region_check_np
+___shared_region_map_and_slide_np
+___shm_open
+___shmctl
+___shmsys
+___sigaction
+___sigaltstack
+___sigreturn
+___sigsuspend
+___sigsuspend_nocancel
+___sigwait
+___socketpair
+___stack_snapshot
+___stat64_extended
+___stat_extended
+___syscall
+___syscall_logger
+___sysctl
+___telemetry
+___thread_selfid
+___umask_extended
+___unlink
+___vfork
+___wait4
+___wait4_nocancel
+___waitid_nocancel
+___workq_kernreturn
+___workq_open
+___write_nocancel
+___writev_nocancel
+__cpu_capabilities
+__cpu_has_altivec
+__exit
+__get_cpu_capabilities
+__getprivatesystemidentifier
+__host_page_size
+__init_cpu_capabilities
+__kernelrpc_mach_port_allocate
+__kernelrpc_mach_port_allocate_full
+__kernelrpc_mach_port_allocate_name
+__kernelrpc_mach_port_allocate_qos
+__kernelrpc_mach_port_allocate_trap
+__kernelrpc_mach_port_construct
+__kernelrpc_mach_port_construct_trap
+__kernelrpc_mach_port_deallocate
+__kernelrpc_mach_port_deallocate_trap
+__kernelrpc_mach_port_destroy
+__kernelrpc_mach_port_destroy_trap
+__kernelrpc_mach_port_destruct
+__kernelrpc_mach_port_destruct_trap
+__kernelrpc_mach_port_dnrequest_info
+__kernelrpc_mach_port_extract_member
+__kernelrpc_mach_port_extract_member_trap
+__kernelrpc_mach_port_extract_right
+__kernelrpc_mach_port_get_attributes
+__kernelrpc_mach_port_get_context
+__kernelrpc_mach_port_get_refs
+__kernelrpc_mach_port_get_set_status
+__kernelrpc_mach_port_get_srights
+__kernelrpc_mach_port_guard
+__kernelrpc_mach_port_guard_trap
+__kernelrpc_mach_port_insert_member
+__kernelrpc_mach_port_insert_member_trap
+__kernelrpc_mach_port_insert_right
+__kernelrpc_mach_port_insert_right_trap
+__kernelrpc_mach_port_kernel_object
+__kernelrpc_mach_port_kobject
+__kernelrpc_mach_port_mod_refs
+__kernelrpc_mach_port_mod_refs_trap
+__kernelrpc_mach_port_move_member
+__kernelrpc_mach_port_move_member_trap
+__kernelrpc_mach_port_names
+__kernelrpc_mach_port_peek
+__kernelrpc_mach_port_rename
+__kernelrpc_mach_port_request_notification
+__kernelrpc_mach_port_set_attributes
+__kernelrpc_mach_port_set_context
+__kernelrpc_mach_port_set_mscount
+__kernelrpc_mach_port_set_seqno
+__kernelrpc_mach_port_space_info
+__kernelrpc_mach_port_type
+__kernelrpc_mach_port_unguard
+__kernelrpc_mach_port_unguard_trap
+__kernelrpc_mach_vm_allocate
+__kernelrpc_mach_vm_allocate_trap
+__kernelrpc_mach_vm_deallocate
+__kernelrpc_mach_vm_deallocate_trap
+__kernelrpc_mach_vm_map
+__kernelrpc_mach_vm_map_trap
+__kernelrpc_mach_vm_protect
+__kernelrpc_mach_vm_protect_trap
+__kernelrpc_mach_vm_read
+__kernelrpc_mach_vm_remap
+__kernelrpc_task_set_port_space
+__kernelrpc_vm_map
+__kernelrpc_vm_read
+__kernelrpc_vm_remap
+__mach_errors
+__mach_fork_child
+__mach_snprintf
+__mach_vsnprintf
+__os_alloc_once_table
+__register_gethostuuid_callback
+_accept
+_accept$NOCANCEL
+_access
+_accessx_np
+_acct
+_act_get_state
+_act_set_state
+_adjtime
+_aio_cancel
+_aio_error
+_aio_fsync
+_aio_read
+_aio_return
+_aio_suspend
+_aio_suspend$NOCANCEL
+_aio_write
+_audit
+_audit_session_join
+_audit_session_port
+_audit_session_self
+_auditctl
+_auditon
+_bind
+_bootstrap_port
+_cerror
+_cerror_nocancel
+_change_fdguard_np
+_chdir
+_chflags
+_chmod
+_chown
+_chroot
+_clock_alarm
+_clock_alarm_reply
+_clock_get_attributes
+_clock_get_time
+_clock_set_attributes
+_clock_set_time
+_clock_sleep
+_clock_sleep_trap
+_close
+_close$NOCANCEL
+_connect
+_connect$NOCANCEL
+_connectx
+_csops
+_csops_audittoken
+_disconnectx
+_dup
+_dup2
+_errno
+_etap_trace_thread
+_exc_server
+_exc_server_routine
+_exception_raise
+_exception_raise_state
+_exception_raise_state_identity
+_exchangedata
+_execve
+_fchdir
+_fchflags
+_fchmod
+_fchown
+_fcntl
+_fcntl$NOCANCEL
+_fdatasync
+_ffsctl
+_fgetattrlist
+_fgetxattr
+_fhopen
+_fileport_makefd
+_fileport_makeport
+_flistxattr
+_flock
+_fpathconf
+_fremovexattr
+_fsctl
+_fsetattrlist
+_fsetxattr
+_fstat
+_fstat$INODE64
+_fstat64
+_fstatfs
+_fstatfs$INODE64
+_fstatfs64
+_fsync
+_fsync$NOCANCEL
+_ftruncate
+_futimes
+_get_dp_control_port
+_getattrlist
+_getaudit
+_getaudit_addr
+_getauid
+_getdirentries
+_getdirentriesattr
+_getdtablesize
+_getegid
+_geteuid
+_getfh
+_getfsstat
+_getfsstat$INODE64
+_getfsstat64
+_getgid
+_getgroups
+_gethostuuid
+_getiopolicy_np
+_getitimer
+_getpeername
+_getpgid
+_getpgrp
+_getpid
+_getppid
+_getpriority
+_getrlimit
+_getrusage
+_getsgroups_np
+_getsid
+_getsockname
+_getsockopt
+_getuid
+_getwgroups_np
+_getxattr
+_guarded_close_np
+_guarded_kqueue_np
+_guarded_open_np
+_host_default_memory_manager
+_host_get_UNDServer
+_host_get_boot_info
+_host_get_clock_control
+_host_get_clock_service
+_host_get_exception_ports
+_host_get_io_master
+_host_get_special_port
+_host_info
+_host_kernel_version
+_host_lockgroup_info
+_host_page_size
+_host_priv_statistics
+_host_processor_info
+_host_processor_set_priv
+_host_processor_sets
+_host_processors
+_host_reboot
+_host_request_notification
+_host_security_create_task_token
+_host_security_set_task_token
+_host_self
+_host_self_trap
+_host_set_UNDServer
+_host_set_exception_ports
+_host_set_special_port
+_host_statistics
+_host_statistics64
+_host_swap_exception_ports
+_host_virtual_physical_table_info
+_host_zone_info
+_i386_get_ldt
+_i386_set_ldt
+_important_boost_assertion_token
+_internal_catch_exc_subsystem
+_ioctl
+_issetugid
+_kas_info
+_kevent
+_kevent64
+_kext_request
+_kill
+_kmod_control
+_kmod_create
+_kmod_destroy
+_kmod_get_info
+_kqueue
+_lchown
+_ledger
+_link
+_lio_listio
+_listen
+_listxattr
+_lock_acquire
+_lock_handoff
+_lock_handoff_accept
+_lock_make_stable
+_lock_release
+_lock_set_create
+_lock_set_destroy
+_lock_try
+_lseek
+_lstat
+_lstat$INODE64
+_lstat64
+_mach_absolute_time
+_mach_error
+_mach_error_full_diag
+_mach_error_string
+_mach_error_type
+_mach_host_self
+_mach_init
+_mach_make_memory_entry
+_mach_make_memory_entry_64
+_mach_memory_object_memory_entry
+_mach_memory_object_memory_entry_64
+_mach_msg
+_mach_msg_destroy
+_mach_msg_overwrite
+_mach_msg_overwrite_trap
+_mach_msg_receive
+_mach_msg_send
+_mach_msg_server
+_mach_msg_server_importance
+_mach_msg_server_once
+_mach_msg_trap
+_mach_notify_dead_name
+_mach_notify_no_senders
+_mach_notify_port_deleted
+_mach_notify_port_destroyed
+_mach_notify_send_once
+_mach_port_allocate
+_mach_port_allocate_full
+_mach_port_allocate_name
+_mach_port_allocate_qos
+_mach_port_construct
+_mach_port_deallocate
+_mach_port_destroy
+_mach_port_destruct
+_mach_port_dnrequest_info
+_mach_port_extract_member
+_mach_port_extract_right
+_mach_port_get_attributes
+_mach_port_get_context
+_mach_port_get_refs
+_mach_port_get_set_status
+_mach_port_get_srights
+_mach_port_guard
+_mach_port_insert_member
+_mach_port_insert_right
+_mach_port_kernel_object
+_mach_port_kobject
+_mach_port_mod_refs
+_mach_port_move_member
+_mach_port_names
+_mach_port_peek
+_mach_port_rename
+_mach_port_request_notification
+_mach_port_set_attributes
+_mach_port_set_context
+_mach_port_set_mscount
+_mach_port_set_seqno
+_mach_port_space_info
+_mach_port_type
+_mach_port_unguard
+_mach_ports_lookup
+_mach_ports_register
+_mach_reply_port
+_mach_task_self
+_mach_task_self_
+_mach_thread_self
+_mach_timebase_info
+_mach_vm_allocate
+_mach_vm_behavior_set
+_mach_vm_copy
+_mach_vm_deallocate
+_mach_vm_inherit
+_mach_vm_machine_attribute
+_mach_vm_map
+_mach_vm_msync
+_mach_vm_page_info
+_mach_vm_page_query
+_mach_vm_protect
+_mach_vm_purgable_control
+_mach_vm_read
+_mach_vm_read_list
+_mach_vm_read_overwrite
+_mach_vm_region
+_mach_vm_region_recurse
+_mach_vm_remap
+_mach_vm_wire
+_mach_vm_write
+_mach_wait_until
+_mach_zone_force_gc
+_mach_zone_info
+_macx_backing_store_recovery
+_macx_backing_store_suspend
+_macx_swapoff
+_macx_swapon
+_macx_triggers
+_madvise
+_memorystatus_control
+_memorystatus_get_level
+_mig_allocate
+_mig_dealloc_reply_port
+_mig_deallocate
+_mig_get_reply_port
+_mig_put_reply_port
+_mig_reply_setup
+_mig_strncpy
+_mincore
+_minherit
+_mk_timer_arm
+_mk_timer_cancel
+_mk_timer_create
+_mk_timer_destroy
+_mkdir
+_mkfifo
+_mknod
+_mlock
+_mlockall
+_mmap
+_modwatch
+_mount
+_mprotect
+_msg_receive
+_msg_rpc
+_msg_send
+_msgctl
+_msgget
+_msgrcv
+_msgrcv$NOCANCEL
+_msgsnd
+_msgsnd$NOCANCEL
+_msgsys
+_msync
+_msync$NOCANCEL
+_munlock
+_munlockall
+_munmap
+_netname_check_in
+_netname_check_out
+_netname_look_up
+_netname_version
+_nfsclnt
+_nfssvc
+_non_boost_assertion_token
+_normal_boost_assertion_token
+_open
+_open$NOCANCEL
+_open_dprotected_np
+_panic
+_panic_init
+_pathconf
+_peeloff
+_pid_for_task
+_pid_resume
+_pid_suspend
+_pipe
+_poll
+_poll$NOCANCEL
+_port_obj_init
+_port_obj_table
+_port_obj_table_size
+_posix_madvise
+_posix_spawn
+_posix_spawn_file_actions_addclose
+_posix_spawn_file_actions_adddup2
+_posix_spawn_file_actions_addinherit_np
+_posix_spawn_file_actions_addopen
+_posix_spawn_file_actions_destroy
+_posix_spawn_file_actions_init
+_posix_spawnattr_destroy
+_posix_spawnattr_getbinpref_np
+_posix_spawnattr_getcpumonitor
+_posix_spawnattr_getflags
+_posix_spawnattr_getmacpolicyinfo_np
+_posix_spawnattr_getpcontrol_np
+_posix_spawnattr_getpgroup
+_posix_spawnattr_getprocesstype_np
+_posix_spawnattr_getsigdefault
+_posix_spawnattr_getsigmask
+_posix_spawnattr_init
+_posix_spawnattr_set_importancewatch_port_np
+_posix_spawnattr_setauditsessionport_np
+_posix_spawnattr_setbinpref_np
+_posix_spawnattr_setcpumonitor
+_posix_spawnattr_setcpumonitor_default
+_posix_spawnattr_setexceptionports_np
+_posix_spawnattr_setflags
+_posix_spawnattr_setmacpolicyinfo_np
+_posix_spawnattr_setpcontrol_np
+_posix_spawnattr_setpgroup
+_posix_spawnattr_setprocesstype_np
+_posix_spawnattr_setsigdefault
+_posix_spawnattr_setsigmask
+_posix_spawnattr_setspecialport_np
+_pread
+_pread$NOCANCEL
+_proc_clear_delayidlesleep
+_proc_clear_vmpressure
+_proc_disable_apptype
+_proc_disable_cpumon
+_proc_disable_wakemon
+_proc_donate_importance_boost
+_proc_enable_apptype
+_proc_get_cpumon_params
+_proc_get_dirty
+_proc_get_wakemon_params
+_proc_importance_assertion_begin_with_msg
+_proc_importance_assertion_complete
+_proc_kmsgbuf
+_proc_libversion
+_proc_listallpids
+_proc_listchildpids
+_proc_listpgrppids
+_proc_listpids
+_proc_listpidspath
+_proc_name
+_proc_pid_rusage
+_proc_pidfdinfo
+_proc_pidfileportinfo
+_proc_pidinfo
+_proc_pidpath
+_proc_regionfilename
+_proc_rlimit_control
+_proc_set_cpumon_defaults
+_proc_set_cpumon_params
+_proc_set_delayidlesleep
+_proc_set_dirty
+_proc_set_owner_vmpressure
+_proc_set_wakemon_defaults
+_proc_set_wakemon_params
+_proc_setpcontrol
+_proc_suppress
+_proc_terminate
+_proc_track_dirty
+_proc_uuid_policy
+_processor_assign
+_processor_control
+_processor_exit
+_processor_get_assignment
+_processor_info
+_processor_set_create
+_processor_set_default
+_processor_set_destroy
+_processor_set_info
+_processor_set_max_priority
+_processor_set_policy_control
+_processor_set_policy_disable
+_processor_set_policy_enable
+_processor_set_stack_usage
+_processor_set_statistics
+_processor_set_tasks
+_processor_set_threads
+_processor_start
+_pthread_getugid_np
+_pthread_setugid_np
+_ptrace
+_pwrite
+_pwrite$NOCANCEL
+_quota
+_quotactl
+_read
+_read$NOCANCEL
+_readlink
+_readv
+_readv$NOCANCEL
+_reboot
+_recvfrom
+_recvfrom$NOCANCEL
+_recvmsg
+_recvmsg$NOCANCEL
+_removexattr
+_rename
+_revoke
+_rmdir
+_searchfs
+_select
+_select$1050
+_select$DARWIN_EXTSN
+_select$DARWIN_EXTSN$NOCANCEL
+_select$NOCANCEL
+_sem_close
+_sem_destroy
+_sem_getvalue
+_sem_init
+_sem_open
+_sem_post
+_sem_trywait
+_sem_unlink
+_sem_wait
+_sem_wait$NOCANCEL
+_semaphore_create
+_semaphore_destroy
+_semaphore_signal
+_semaphore_signal_all
+_semaphore_signal_all_trap
+_semaphore_signal_thread
+_semaphore_signal_thread_trap
+_semaphore_signal_trap
+_semaphore_timedwait
+_semaphore_timedwait_signal
+_semaphore_timedwait_signal_trap
+_semaphore_timedwait_trap
+_semaphore_wait
+_semaphore_wait_signal
+_semaphore_wait_signal_trap
+_semaphore_wait_trap
+_semctl
+_semget
+_semop
+_semsys
+_sendfile
+_sendmsg
+_sendmsg$NOCANCEL
+_sendto
+_sendto$NOCANCEL
+_set_dp_control_port
+_setattrlist
+_setaudit
+_setaudit_addr
+_setauid
+_setegid
+_seteuid
+_setgid
+_setgroups
+_setiopolicy_np
+_setitimer
+_setpgid
+_setpriority
+_setprivexec
+_setquota
+_setregid
+_setreuid
+_setrlimit
+_setsgroups_np
+_setsid
+_setsockopt
+_setuid
+_setwgroups_np
+_setxattr
+_shm_open
+_shm_unlink
+_shmat
+_shmctl
+_shmdt
+_shmget
+_shmsys
+_shutdown
+_sigpending
+_sigprocmask
+_sigsuspend
+_sigsuspend$NOCANCEL
+_socket
+_socket_delegate
+_socketpair
+_stat
+_stat$INODE64
+_stat64
+_statfs
+_statfs$INODE64
+_statfs64
+_swapon
+_swtch
+_swtch_pri
+_symlink
+_sync
+_syscall
+_syscall_thread_switch
+_system_override
+_task_assign
+_task_assign_default
+_task_create
+_task_for_pid
+_task_get_assignment
+_task_get_emulation_vector
+_task_get_exception_ports
+_task_get_special_port
+_task_get_state
+_task_info
+_task_name_for_pid
+_task_policy
+_task_policy_get
+_task_policy_set
+_task_purgable_info
+_task_resume
+_task_resume2
+_task_sample
+_task_self_
+_task_self_trap
+_task_set_emulation
+_task_set_emulation_vector
+_task_set_exception_ports
+_task_set_info
+_task_set_phys_footprint_limit
+_task_set_policy
+_task_set_port_space
+_task_set_ras_pc
+_task_set_special_port
+_task_set_state
+_task_suspend
+_task_suspend2
+_task_swap_exception_ports
+_task_terminate
+_task_threads
+_task_zone_info
+_thread_abort
+_thread_abort_safely
+_thread_assign
+_thread_assign_default
+_thread_create
+_thread_create_running
+_thread_depress_abort
+_thread_get_assignment
+_thread_get_exception_ports
+_thread_get_special_port
+_thread_get_state
+_thread_info
+_thread_policy
+_thread_policy_get
+_thread_policy_set
+_thread_resume
+_thread_sample
+_thread_self_trap
+_thread_set_exception_ports
+_thread_set_policy
+_thread_set_special_port
+_thread_set_state
+_thread_suspend
+_thread_swap_exception_ports
+_thread_switch
+_thread_terminate
+_thread_wire
+_truncate
+_umask
+_undelete
+_unlink
+_unmount
+_utimes
+_vfork
+_vfs_purge
+_vm_allocate
+_vm_allocate_cpm
+_vm_behavior_set
+_vm_copy
+_vm_deallocate
+_vm_inherit
+_vm_kernel_page_mask
+_vm_kernel_page_shift
+_vm_kernel_page_size
+_vm_machine_attribute
+_vm_map
+_vm_map_page_query
+_vm_msync
+_vm_page_mask
+_vm_page_shift
+_vm_page_size
+_vm_pressure_monitor
+_vm_protect
+_vm_purgable_control
+_vm_read
+_vm_read_list
+_vm_read_overwrite
+_vm_region_64
+_vm_region_recurse_64
+_vm_remap
+_vm_wire
+_vm_write
+_vprintf_stderr_func
+_wait4
+_waitevent
+_waitid
+_waitid$NOCANCEL
+_watchevent
+_write
+_write$NOCANCEL
+_writev
+_writev$NOCANCEL
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix
new file mode 100644
index 00000000000..f09842630fd
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Security/default.nix
@@ -0,0 +1,116 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  __propagatedImpureHostDeps = [
+    "/System/Library/Frameworks/Security.framework/Security"
+    "/System/Library/Frameworks/Security.framework/Resources"
+    "/System/Library/Frameworks/Security.framework/PlugIns"
+    "/System/Library/Frameworks/Security.framework/XPCServices"
+    "/System/Library/Frameworks/Security.framework/Versions"
+  ];
+
+  installPhase = ''
+    ###### IMPURITIES
+    mkdir -p $out/Library/Frameworks/Security.framework
+    pushd $out/Library/Frameworks/Security.framework
+    ln -s /System/Library/Frameworks/Security.framework/Security
+    ln -s /System/Library/Frameworks/Security.framework/Resources
+    ln -s /System/Library/Frameworks/Security.framework/PlugIns
+    ln -s /System/Library/Frameworks/Security.framework/XPCServices
+    popd
+
+    ###### HEADERS
+
+    export dest=$out/Library/Frameworks/Security.framework/Headers
+    mkdir -p $dest
+
+    cp libsecurity_asn1/lib/SecAsn1Coder.h     $dest
+    cp libsecurity_asn1/lib/SecAsn1Templates.h $dest
+    cp libsecurity_asn1/lib/SecAsn1Types.h     $dest
+    cp libsecurity_asn1/lib/oidsalg.h          $dest
+    cp libsecurity_asn1/lib/oidsattr.h         $dest
+
+    cp libsecurity_authorization/lib/AuthSession.h         $dest
+    cp libsecurity_authorization/lib/Authorization.h       $dest
+    cp libsecurity_authorization/lib/AuthorizationDB.h     $dest
+    cp libsecurity_authorization/lib/AuthorizationPlugin.h $dest
+    cp libsecurity_authorization/lib/AuthorizationTags.h   $dest
+
+    cp libsecurity_cms/lib/CMSDecoder.h $dest
+    cp libsecurity_cms/lib/CMSEncoder.h $dest
+
+    cp libsecurity_codesigning/lib/CSCommon.h       $dest
+    cp libsecurity_codesigning/lib/CodeSigning.h    $dest
+    cp libsecurity_codesigning/lib/SecCode.h        $dest
+    cp libsecurity_codesigning/lib/SecCodeHost.h    $dest
+    cp libsecurity_codesigning/lib/SecRequirement.h $dest
+    cp libsecurity_codesigning/lib/SecStaticCode.h  $dest
+    cp libsecurity_codesigning/lib/SecTask.h        $dest
+
+    cp libsecurity_cssm/lib/certextensions.h $dest
+    cp libsecurity_cssm/lib/cssm.h           $dest
+    cp libsecurity_cssm/lib/cssmaci.h        $dest
+    cp libsecurity_cssm/lib/cssmapi.h        $dest
+    cp libsecurity_cssm/lib/cssmapple.h      $dest
+    cp libsecurity_cssm/lib/cssmcli.h        $dest
+    cp libsecurity_cssm/lib/cssmconfig.h     $dest
+    cp libsecurity_cssm/lib/cssmcspi.h       $dest
+    cp libsecurity_cssm/lib/cssmdli.h        $dest
+    cp libsecurity_cssm/lib/cssmerr.h        $dest
+    cp libsecurity_cssm/lib/cssmkrapi.h      $dest
+    cp libsecurity_cssm/lib/cssmkrspi.h      $dest
+    cp libsecurity_cssm/lib/cssmspi.h        $dest
+    cp libsecurity_cssm/lib/cssmtpi.h        $dest
+    cp libsecurity_cssm/lib/cssmtype.h       $dest
+    cp libsecurity_cssm/lib/eisl.h           $dest
+    cp libsecurity_cssm/lib/emmspi.h         $dest
+    cp libsecurity_cssm/lib/emmtype.h        $dest
+    cp libsecurity_cssm/lib/oidsbase.h       $dest
+    cp libsecurity_cssm/lib/oidscert.h       $dest
+    cp libsecurity_cssm/lib/oidscrl.h        $dest
+    cp libsecurity_cssm/lib/x509defs.h       $dest
+
+    cp libsecurity_keychain/lib/SecACL.h                $dest
+    cp libsecurity_keychain/lib/SecAccess.h             $dest
+    cp libsecurity_keychain/lib/SecBase.h               $dest
+    cp libsecurity_keychain/lib/SecCertificate.h        $dest
+    cp libsecurity_keychain/lib/SecCertificatePriv.h    $dest # Private
+    cp libsecurity_keychain/lib/SecCertificateOIDs.h    $dest
+    cp libsecurity_keychain/lib/SecIdentity.h           $dest
+    cp libsecurity_keychain/lib/SecIdentitySearch.h     $dest
+    cp libsecurity_keychain/lib/SecImportExport.h       $dest
+    cp libsecurity_keychain/lib/SecItem.h               $dest
+    cp libsecurity_keychain/lib/SecKey.h                $dest
+    cp libsecurity_keychain/lib/SecKeychain.h           $dest
+    cp libsecurity_keychain/lib/SecKeychainItem.h       $dest
+    cp libsecurity_keychain/lib/SecKeychainSearch.h     $dest
+    cp libsecurity_keychain/lib/SecPolicy.h             $dest
+    cp libsecurity_keychain/lib/SecPolicySearch.h       $dest
+    cp libsecurity_keychain/lib/SecRandom.h             $dest
+    cp libsecurity_keychain/lib/SecTrust.h              $dest
+    cp libsecurity_keychain/lib/SecTrustSettings.h      $dest
+    cp libsecurity_keychain/lib/SecTrustedApplication.h $dest
+    cp libsecurity_keychain/lib/Security.h              $dest
+
+    cp libsecurity_manifest/lib/SecureDownload.h $dest
+
+    cp libsecurity_mds/lib/mds.h        $dest
+    cp libsecurity_mds/lib/mds_schema.h $dest
+
+    cp libsecurity_ssl/lib/CipherSuite.h     $dest
+    cp libsecurity_ssl/lib/SecureTransport.h $dest
+
+    cp libsecurity_transform/lib/SecCustomTransform.h        $dest
+    cp libsecurity_transform/lib/SecDecodeTransform.h        $dest
+    cp libsecurity_transform/lib/SecDigestTransform.h        $dest
+    cp libsecurity_transform/lib/SecEncodeTransform.h        $dest
+    cp libsecurity_transform/lib/SecEncryptTransform.h       $dest
+    cp libsecurity_transform/lib/SecReadTransform.h          $dest
+    cp libsecurity_transform/lib/SecSignVerifyTransform.h    $dest
+    cp libsecurity_transform/lib/SecTransform.h              $dest
+    cp libsecurity_transform/lib/SecTransformReadTransform.h $dest
+
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
new file mode 100644
index 00000000000..db467254f17
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, appleDerivation, version }:
+
+appleDerivation {
+  # Will override the name until we provide all of adv_cmds
+  name = "ps-${version}";
+
+  buildPhase = ''
+    cd ps
+    cc -Os -Wall -I. -c -o fmt.o fmt.c
+    cc -Os -Wall -I. -c -o keyword.o keyword.c
+    cc -Os -Wall -I. -c -o nlist.o nlist.c
+    cc -Os -Wall -I. -c -o print.o print.c
+    cc -Os -Wall -I. -c -o ps.o ps.c
+    cc -Os -Wall -I. -c -o tasks.o tasks.c
+    cc -o ps fmt.o keyword.o nlist.o print.o ps.o tasks.o
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+
+    cp ps   $out/bin/ps
+    cp ps.1 $out/share/man/man1
+  '';
+
+
+  meta = {
+    platforms = stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ gridaphobe ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
new file mode 100644
index 00000000000..edb7869269a
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  postUnpack = ''
+    substituteInPlace $sourceRoot/Makefile \
+      --replace "/usr/include" "/include" \
+      --replace "/usr/bin/" "" \
+      --replace "/bin/" ""
+  '';
+
+  installPhase = ''
+    export DSTROOT=$out
+    make install
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix
new file mode 100644
index 00000000000..8dce3fd3609
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, appleDerivation, yacc, flex }:
+
+appleDerivation {
+  buildInputs = [ yacc flex ];
+
+  buildPhase = ''
+    cd migcom.tproj
+    yacc -d parser.y
+    flex --header-file=lexxer.yy.h -o lexxer.yy.c lexxer.l
+
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o error.o error.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o global.o global.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o handler.o header.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o header.o header.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o mig.o mig.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o routine.o routine.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o server.o server.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o statement.o statement.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o string.o string.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o type.o type.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o user.o user.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o utils.o utils.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o lexxer.yy.o lexxer.yy.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o y.tab.o y.tab.c
+
+    cc -dead_strip -o migcom error.o global.o header.o mig.o routine.o server.o statement.o string.o type.o user.o utils.o lexxer.yy.o y.tab.o
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec $out/share/man/man1
+
+    chmod +x mig.sh
+    cp mig.sh   $out/bin/mig
+    cp migcom   $out/libexec
+    cp mig.1    $out/share/man/man1
+    cp migcom.1 $out/share/man/man1
+
+    substituteInPlace $out/bin/mig \
+      --replace 'arch=`/usr/bin/arch`' 'arch=i386' \
+      --replace '/usr/bin/' "" \
+      --replace '/bin/rmdir' "rmdir" \
+      --replace 'C=''${MIGCC}' "C=cc"
+  '';
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
new file mode 100644
index 00000000000..3427081bfaa
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
@@ -0,0 +1,205 @@
+{ stdenv, appleDerivation, launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security }:
+
+appleDerivation {
+  buildInputs = [ launchd bootstrap_cmds xnu ppp IOKit eap8021x ];
+
+  propagatedBuildInputs = [ Security ];
+
+  patchPhase = ''
+    substituteInPlace SystemConfiguration.fproj/SCNetworkReachabilityInternal.h \
+      --replace '#include <xpc/xpc.h>' ""
+
+    substituteInPlace SystemConfiguration.fproj/SCNetworkReachability.c \
+      --replace ''$'#define\tHAVE_VPN_STATUS' ""
+
+    substituteInPlace SystemConfiguration.fproj/reachability/SCNetworkReachabilityServer_client.c \
+      --replace '#include <xpc/xpc.h>' '#include "fake_xpc.h"' \
+      --replace '#include <xpc/private.h>' "" \
+
+    # Our neutered CoreFoundation doesn't have this function, but I think we'll live...
+    substituteInPlace SystemConfiguration.fproj/SCNetworkConnectionPrivate.c \
+      --replace 'CFPreferencesAppValueIsForced(serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' \
+      --replace 'CFPreferencesAppValueIsForced(userPrivate->serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE'
+
+    cat >SystemConfiguration.fproj/fake_xpc.h <<EOF
+    typedef void *xpc_type_t;
+    typedef void *xpc_object_t;
+    typedef void *xpc_connection_t;
+
+    xpc_type_t xpc_get_type(xpc_object_t object);
+    xpc_object_t xpc_dictionary_create(const char * const *keys, const xpc_object_t *values, size_t count);
+    char *xpc_copy_description(xpc_object_t object);
+    int64_t  xpc_dictionary_get_int64(xpc_object_t xdict, const char *key);
+    uint64_t xpc_dictionary_get_uint64(xpc_object_t xdict, const char *key);
+    void xpc_connection_set_event_handler(xpc_connection_t connection, void *handler);
+
+    extern const struct _xpc_type_s _xpc_type_error;
+    #define XPC_TYPE_ERROR (&_xpc_type_error)
+
+    extern const struct _xpc_type_s _xpc_type_dictionary;
+    #define XPC_TYPE_DICTIONARY (&_xpc_type_dictionary)
+
+    extern const struct _xpc_type_s _xpc_type_array;
+    #define XPC_TYPE_ARRAY (&_xpc_type_array)
+
+    extern const struct _xpc_dictionary_s _xpc_error_connection_interrupted;
+    #define XPC_ERROR_CONNECTION_INTERRUPTED (&_xpc_error_connection_interrupted)
+
+    extern const struct _xpc_dictionary_s _xpc_error_connection_invalid;
+    #define XPC_ERROR_CONNECTION_INVALID (&_xpc_error_connection_invalid)
+
+    extern const char *const _xpc_error_key_description;
+    #define XPC_ERROR_KEY_DESCRIPTION _xpc_error_key_description
+
+    #define XPC_CONNECTION_MACH_SERVICE_PRIVILEGED (1 << 1)
+    EOF
+  '';
+
+  buildPhase = ''
+    pushd SystemConfiguration.fproj >/dev/null
+
+    mkdir -p SystemConfiguration.framework/Resources
+    cp ../get-mobility-info       SystemConfiguration.framework/Resources
+    cp Info.plist                 SystemConfiguration.framework/Resources
+    cp -r English.lproj           SystemConfiguration.framework/Resources
+    cp NetworkConfiguration.plist SystemConfiguration.framework/Resources
+
+    mkdir -p SystemConfiguration.framework/Headers
+    mkdir -p SystemConfiguration.framework/PrivateHeaders
+
+    # The standard public headers
+    cp SCSchemaDefinitions.h        SystemConfiguration.framework/Headers
+    cp SystemConfiguration.h        SystemConfiguration.framework/Headers
+    cp SCDynamicStore.h             SystemConfiguration.framework/Headers
+    cp SCDynamicStoreCopySpecific.h SystemConfiguration.framework/Headers
+    cp SCPreferences.h              SystemConfiguration.framework/Headers
+    cp CaptiveNetwork.h             SystemConfiguration.framework/Headers
+    cp SCPreferencesPath.h          SystemConfiguration.framework/Headers
+    cp SCDynamicStoreKey.h          SystemConfiguration.framework/Headers
+    cp SCPreferencesSetSpecific.h   SystemConfiguration.framework/Headers
+    cp SCNetworkConfiguration.h     SystemConfiguration.framework/Headers
+    cp SCNetworkConnection.h        SystemConfiguration.framework/Headers
+    cp SCNetworkReachability.h      SystemConfiguration.framework/Headers
+    cp DHCPClientPreferences.h      SystemConfiguration.framework/Headers
+    cp SCNetwork.h                  SystemConfiguration.framework/Headers
+    cp SCDynamicStoreCopyDHCPInfo.h SystemConfiguration.framework/Headers
+
+    # TODO: Do we want to preserve private headers or just make them public?
+    cp SCDPlugin.h                         SystemConfiguration.framework/PrivateHeaders
+    cp SCPrivate.h                         SystemConfiguration.framework/PrivateHeaders
+    cp SCDynamicStorePrivate.h             SystemConfiguration.framework/PrivateHeaders
+    cp SCDynamicStoreCopySpecificPrivate.h SystemConfiguration.framework/PrivateHeaders
+    cp SCDynamicStoreSetSpecificPrivate.h  SystemConfiguration.framework/PrivateHeaders
+    cp SCValidation.h                      SystemConfiguration.framework/PrivateHeaders
+    cp SCPreferencesPrivate.h              SystemConfiguration.framework/PrivateHeaders
+    cp DeviceOnHold.h                      SystemConfiguration.framework/PrivateHeaders
+    cp LinkConfiguration.h                 SystemConfiguration.framework/PrivateHeaders
+    cp SCPreferencesPathKey.h              SystemConfiguration.framework/PrivateHeaders
+    cp SCPreferencesSetSpecificPrivate.h   SystemConfiguration.framework/PrivateHeaders
+    cp SCNetworkConnectionPrivate.h        SystemConfiguration.framework/PrivateHeaders
+    cp SCPreferencesGetSpecificPrivate.h   SystemConfiguration.framework/PrivateHeaders
+    cp SCSchemaDefinitionsPrivate.h        SystemConfiguration.framework/PrivateHeaders
+    cp SCNetworkConfigurationPrivate.h     SystemConfiguration.framework/PrivateHeaders
+    cp SCPreferencesKeychainPrivate.h      SystemConfiguration.framework/PrivateHeaders
+    cp SCNetworkSignature.h                SystemConfiguration.framework/PrivateHeaders
+    cp SCNetworkSignaturePrivate.h         SystemConfiguration.framework/PrivateHeaders
+    cp VPNPrivate.h                        SystemConfiguration.framework/PrivateHeaders
+    cp VPNConfiguration.h                  SystemConfiguration.framework/PrivateHeaders
+    cp VPNTunnelPrivate.h                  SystemConfiguration.framework/PrivateHeaders
+    cp VPNTunnel.h                         SystemConfiguration.framework/PrivateHeaders
+
+    mkdir derived
+
+    cat >derived/SystemConfiguration_vers.c <<EOF
+    const unsigned char SystemConfigurationVersionString[] __attribute__ ((used)) = "@(#)PROGRAM:SystemConfiguration  PROJECT:configd-" "\n"; const double SystemConfigurationVersionNumber __attribute__ ((used)) = (double)0.;
+    EOF
+
+    mig -arch x86_64 -header derived/shared_dns_info.h -user derived/shared_dns_infoUser.c -sheader /dev/null -server /dev/null ../dnsinfo/shared_dns_info.defs
+    mig -arch x86_64 -header derived/config.h          -user derived/configUser.c          -sheader /dev/null -server /dev/null config.defs
+    mig -arch x86_64 -header derived/helper.h          -user derived/helperUser.c          -sheader /dev/null -server /dev/null helper/helper.defs
+    mig -arch x86_64 -header derived/pppcontroller.h   -user derived/pppcontrollerUser.c   -sheader /dev/null -server /dev/null pppcontroller.defs
+
+    cc -I. -Ihelper -Iderived -F. -c SCSchemaDefinitions.c -o SCSchemaDefinitions.o
+    cc -I. -Ihelper -Iderived -F. -c SCD.c -o SCD.o
+    cc -I. -Ihelper -Iderived -F. -c SCDKeys.c -o SCDKeys.o
+    cc -I. -Ihelper -Iderived -F. -c SCDPrivate.c -o SCDPrivate.o
+    cc -I. -Ihelper -Iderived -F. -c SCDPlugin.c -o SCDPlugin.o
+    cc -I. -Ihelper -Iderived -F. -c CaptiveNetwork.c -o CaptiveNetwork.o
+    cc -I. -Ihelper -Iderived -F. -c SCDOpen.c -o SCDOpen.o
+    cc -I. -Ihelper -Iderived -F. -c SCDList.c -o SCDList.o
+    cc -I. -Ihelper -Iderived -F. -c SCDAdd.c -o SCDAdd.o
+    cc -I. -Ihelper -Iderived -F. -c SCDGet.c -o SCDGet.o
+    cc -I. -Ihelper -Iderived -F. -c SCDSet.c -o SCDSet.o
+    cc -I. -Ihelper -Iderived -F. -c SCDRemove.c -o SCDRemove.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotify.c -o SCDNotify.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierSetKeys.c -o SCDNotifierSetKeys.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierAdd.c -o SCDNotifierAdd.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierRemove.c -o SCDNotifierRemove.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierGetChanges.c -o SCDNotifierGetChanges.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierWait.c -o SCDNotifierWait.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierInformViaCallback.c -o SCDNotifierInformViaCallback.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierInformViaFD.c -o SCDNotifierInformViaFD.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierInformViaSignal.c -o SCDNotifierInformViaSignal.o
+    cc -I. -Ihelper -Iderived -F. -c SCDNotifierCancel.c -o SCDNotifierCancel.o
+    cc -I. -Ihelper -Iderived -F. -c SCDSnapshot.c -o SCDSnapshot.o
+    cc -I. -Ihelper -Iderived -F. -c SCP.c -o SCP.o
+    cc -I. -Ihelper -Iderived -F. -c SCPOpen.c -o SCPOpen.o
+    cc -I. -Ihelper -Iderived -F. -c SCPLock.c -o SCPLock.o
+    cc -I. -Ihelper -Iderived -F. -c SCPUnlock.c -o SCPUnlock.o
+    cc -I. -Ihelper -Iderived -F. -c SCPList.c -o SCPList.o
+    cc -I. -Ihelper -Iderived -F. -c SCPGet.c -o SCPGet.o
+    cc -I. -Ihelper -Iderived -F. -c SCPAdd.c -o SCPAdd.o
+    cc -I. -Ihelper -Iderived -F. -c SCPSet.c -o SCPSet.o
+    cc -I. -Ihelper -Iderived -F. -c SCPRemove.c -o SCPRemove.o
+    cc -I. -Ihelper -Iderived -F. -c SCPCommit.c -o SCPCommit.o
+    cc -I. -Ihelper -Iderived -F. -c SCPApply.c -o SCPApply.o
+    cc -I. -Ihelper -Iderived -F. -c SCPPath.c -o SCPPath.o
+    cc -I. -Ihelper -Iderived -F. -c SCDConsoleUser.c -o SCDConsoleUser.o
+    cc -I. -Ihelper -Iderived -F. -c SCDHostName.c -o SCDHostName.o
+    cc -I. -Ihelper -Iderived -F. -c SCLocation.c -o SCLocation.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetwork.c -o SCNetwork.o
+    cc -I. -Ihelper -Iderived -F. -c derived/pppcontrollerUser.c -o pppcontrollerUser.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkConnection.c -o SCNetworkConnection.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkConnectionPrivate.c -o SCNetworkConnectionPrivate.o
+    cc -I. -Ihelper -Iderived -I../dnsinfo -F. -c SCNetworkReachability.c -o SCNetworkReachability.o
+    cc -I. -Ihelper -Iderived -F. -c SCProxies.c -o SCProxies.o
+    cc -I. -Ihelper -Iderived -F. -c DHCP.c -o DHCP.o
+    cc -I. -Ihelper -Iderived -F. -c moh.c -o moh.o
+    cc -I. -Ihelper -Iderived -F. -c DeviceOnHold.c -o DeviceOnHold.o
+    cc -I. -Ihelper -Iderived -I${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders -F. -c LinkConfiguration.c -o LinkConfiguration.o
+    cc -I. -Ihelper -Iderived -F. -c dy_framework.c -o dy_framework.o
+    cc -I. -Ihelper -Iderived -I${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders -F. -c VLANConfiguration.c -o VLANConfiguration.o
+    cc -I. -Ihelper -Iderived -F. -c derived/configUser.c -o configUser.o
+    cc -I. -Ihelper -Iderived -F. -c SCPreferencesPathKey.c -o SCPreferencesPathKey.o
+    cc -I. -Ihelper -Iderived -I../dnsinfo -F. -c derived/shared_dns_infoUser.c -o shared_dns_infoUser.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkConfigurationInternal.c -o SCNetworkConfigurationInternal.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkInterface.c -o SCNetworkInterface.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkProtocol.c -o SCNetworkProtocol.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkService.c -o SCNetworkService.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkSet.c -o SCNetworkSet.o
+    cc -I. -Ihelper -Iderived -I${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders -F. -c BondConfiguration.c -o BondConfiguration.o
+    cc -I. -Ihelper -Iderived -I${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders -F. -c BridgeConfiguration.c -o BridgeConfiguration.o
+    cc -I. -Ihelper -Iderived -F. -c helper/SCHelper_client.c -o SCHelper_client.o
+    cc -I. -Ihelper -Iderived -F. -c SCPreferencesKeychainPrivate.c -o SCPreferencesKeychainPrivate.o
+    cc -I. -Ihelper -Iderived -F. -c SCNetworkSignature.c -o SCNetworkSignature.o
+    cc -I. -Ihelper -Iderived -F. -c VPNPrivate.c -o VPNPrivate.o
+    cc -I. -Ihelper -Iderived -F. -c VPNConfiguration.c -o VPNConfiguration.o
+    cc -I. -Ihelper -Iderived -F. -c VPNTunnel.c -o VPNTunnel.o
+    cc -I. -Ihelper -Iderived -F. -c derived/helperUser.c -o helperUser.o
+    cc -I. -Ihelper -Iderived -F. -c reachability/SCNetworkReachabilityServer_client.c -o SCNetworkReachabilityServer_client.o
+    cc -I. -Ihelper -Iderived -F. -c reachability/rb.c -o rb.o
+    cc -I. -Ihelper -Iderived -F. -c derived/SystemConfiguration_vers.c -o SystemConfiguration_vers.o
+
+    cc -dynamiclib *.o -install_name $out/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration -dead_strip -framework CoreFoundation -single_module -o SystemConfiguration.framework/SystemConfiguration
+
+    popd >/dev/null
+  '';
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp dnsinfo/*.h $out/include/
+
+    mkdir -p $out/Library/Frameworks/
+    mv SystemConfiguration.fproj/SystemConfiguration.framework $out/Library/Frameworks
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix b/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix
new file mode 100644
index 00000000000..c1a2acccaa9
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/copyfile/default.nix
@@ -0,0 +1,10 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  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
new file mode 100644
index 00000000000..92ee9e52726
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, fetchurl, pkgs }:
+
+let
+  fetchApple = version: sha256: name: fetchurl {
+    url = "http://www.opensource.apple.com/tarballs/${name}/${name}-${version}.tar.gz";
+    inherit sha256;
+  };
+
+  applePackage = namePath: version: sha256:
+    let
+      name = builtins.elemAt (stdenv.lib.splitString "/" namePath) 0;
+
+      appleDerivation = attrs: stdenv.mkDerivation ({
+        inherit version;
+        name = "${name}-${version}";
+      } // (if attrs ? srcs then {} else {
+        src  = fetchApple version sha256 name;
+      }) // attrs);
+      callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation name version; });
+    in callPackage (./. + builtins.toPath "/${namePath}");
+
+  IOKitSpecs = {
+    IOAudioFamily                        = fetchApple "197.4.2"    "1dmrczdmbdkvnhjbv233wx4xczgpf5wjrhr83aizrwpks5avkxbr";
+    IOFireWireFamily                     = fetchApple "455.4.0"    "034n2v6z7lf1cx3sp3309z4sn8mkchjcrsf177iag46yzlzcjgfl";
+    IOFWDVComponents                     = fetchApple "207.4.1"    "1brr0yn6mxgapw3bvlhyissfksifzj2mqsvj9vmps6zwcsxjfw7m";
+    IOFireWireAVC                        = fetchApple "422.4.0"    "1anw8cfmwkavnrs28bzshwa3cwk4r1p3x72561zljx57d0na9164";
+    IOFireWireSBP2                       = fetchApple "426.4.1"    "0asik6qjhf3jjp22awsiyyd6rj02zwnx47l0afbwmxpn5bchfk60";
+    IOFireWireSerialBusProtocolTransport = fetchApple "251.0.1"    "09kiq907qpk94zbij1mrcfcnyyc5ncvlxavxjrj4v5braxm78lhi";
+    IOGraphics                           = fetchApple "471.92.1"   "1c110c9chafy5ilvnc08my9ka530aljggbn66gh3sjsg7lzck9nb";
+    IOHIDFamily                          = fetchApple "503.215.2"  "0nx9mzdw848y6ppcfvip3ybczd1fxkr413zhi9qhw7gnpvac5g3n";
+    IONetworkingFamily                   = fetchApple "100"        "10r769mqq7aiksdsvyz76xjln0lg7dj4pkg2x067ygyf9md55hlz";
+    IOSerialFamily                       = fetchApple "64.1.1"     "1bfkqmg7clwm23byr3iji812j7v1p6565b1ri6p78zviqxnxh7cx";
+    IOStorageFamily                      = fetchApple "172"        "0w5yr8ppl82anwph2zba0ppjji6ipf5x410zhcm1drzwn4bbkxrj";
+    IOBDStorageFamily                    = fetchApple "14"         "1rbvmh311n853j5qb6hfda94vym9wkws5w736w2r7dwbrjyppc1q";
+    IOCDStorageFamily                    = fetchApple "51"         "1905sxwmpxdcnm6yggklc5zimx1558ygm3ycj6b34f9h48xfxzgy";
+    IODVDStorageFamily                   = fetchApple "35"         "1fv82rn199mi998l41c0qpnlp3irhqp2rb7v53pxbx7cra4zx3i6";
+    # There should be an IOStreamFamily project here, but they haven't released it :(
+    IOUSBFamily                          = fetchApple "630.4.5"    "1znqb6frxgab9mkyv7csa08c26p9p0ip6hqb4wm9c7j85kf71f4j"; # This is from 10.8 :(
+    IOUSBFamily_older                    = fetchApple "560.4.2"    "113lmpz8n6sibd27p42h8bl7a6c3myc6zngwri7gnvf8qlajzyml" "IOUSBFamily"; # This is even older :(
+    IOKitUser                            = fetchApple "907.100.13" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x0m";
+    # There should be an IOVideo here, but they haven't released it :(
+  };
+
+  IOKitSrcs = stdenv.lib.mapAttrs (name: value: if builtins.isFunction value then value name else value) IOKitSpecs;
+
+  packages = {
+    adv_cmds        = applePackage "adv_cmds"          "153"         "174v6a4zkcm2pafzgdm6kvs48z5f911zl7k49hv7kjq6gm58w99v" {};
+    architecture    = applePackage "architecture"      "265"         "05wz8wmxlqssfp29x203fwfb8pgbdjj1mpz12v508658166yzqj8" {};
+    bootstrap_cmds  = applePackage "bootstrap_cmds"    "86"          "0xr0296jm1r3q7kbam98h85g23qlfi763z54ahj563n636kyk2wb" {};
+    CarbonHeaders   = applePackage "CarbonHeaders"     "9A581"       "1hc0yijlpwq39x5bic6nnywqp2m1wj1f11j33m2q7p505h1h740c" {};
+    CF              = applePackage "CF"                "855.17"      "1sadmxi9fsvsmdyxvg2133sdzvkzwil5fvyyidxsyk1iyfzqsvln" {};
+    CommonCrypto    = applePackage "CommonCrypto"      "60049"       "1azin6w7cnzl0iv8kd2qzgwcp6a45zy64y5z1i6jysjcl6xmlw2h" {};
+    configd         = applePackage "configd"           "453.19"      "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {};
+    copyfile        = applePackage "copyfile"          "103.92.1"    "15i2hw5aqx0fklvmq6avin5s00adacvzqc740vviwc2y742vrdcd" {};
+    CoreOSMakefiles = applePackage "CoreOSMakefiles"   "76"          "0sw3w3sjil0kvxz8y86b81sz82rcd1nijayki1a1bsnsf0hz6qbf" {};
+    Csu             = applePackage "Csu"               "79"          "1hif4dz23isgx85sgh11yg8amvp2ksvvhz3y5v07zppml7df2lnh" {};
+    dtrace          = applePackage "dtrace"            "118.1"       "0pp5x8dgvzmg9vvg32hpy2brm17dpmbwrcr4prsmdmfvd4767wcf" {};
+    dyld            = applePackage "dyld"              "239.4"       "07z7lyv6x0f6gllb5hymccl31zisrdhz4gqp722xcs9nhsqaqvn7" {};
+    eap8021x        = applePackage "eap8021x"          "180"         "1ynkq8zmhgqhpkdg2syj085lzya0fz55d3423hvf9kcgpbjcd9ic" {};
+    IOKit           = applePackage "IOKit"             "907.100.13"  "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x0m" { inherit IOKitSrcs; };
+    launchd         = applePackage "launchd"           "842.92.1"    "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {};
+    libauto         = applePackage "libauto"           "185.5"       "17z27yq5d7zfkwr49r7f0vn9pxvj95884sd2k6lq6rfaz9gxqhy3" {};
+    Libc            = applePackage "Libc"              "997.90.3"    "1jz5bx9l4q484vn28c6n9b28psja3rpxiqbj6zwrwvlndzmq1yz5" {};
+    Libc_old        = applePackage "Libc/825_40_1.nix" "825.40.1"    "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf" {};
+    libclosure      = applePackage "libclosure"        "63"          "083v5xhihkkajj2yvz0dwgbi0jl2qvzk22p7pqq1zp3ry85xagrx" {};
+    libdispatch     = applePackage "libdispatch"       "339.92.1"    "1lc5033cmkwxy3r26gh9plimxshxfcbgw6i0j7mgjlnpk86iy5bk" {};
+    libiconv        = applePackage "libiconv"          "41"          "10q7yd35flr893nysn9i04njgks4m3gis7jivb9ra9dcb77gqdcn" {};
+    Libinfo         = applePackage "Libinfo"           "449.1.3"     "1ix6f7xwjnq9bqgv8w27k4j64bqn1mfhh91nc7ciiv55axpdb9hq" {};
+    Libm            = applePackage "Libm"              "2026"        "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {};
+    Libnotify       = applePackage "Libnotify"         "121.20.1"    "164rx4za5z74s0mk9x0m1815r1m9kfal8dz3bfaw7figyjd6nqad" {};
+    libpthread      = applePackage "libpthread"        "105.1.4"     "09vwwahcvmxvx2xl0890gkp91n61dld29j73y2pa597bqkag2qpg" {};
+    libresolv       = applePackage "libresolv"         "54"          "028mp2smd744ryxwl8cqz4njv8h540sdw3an1yl7yxqcs04r0p4b" {};
+    Libsystem       = applePackage "Libsystem"         "1197.1.1"    "1yfj2qdrf9vrzs7p9m4wlb7zzxcrim1gw43x4lvz4qydpp5kg2rh" {};
+    libunwind       = applePackage "libunwind"         "35.3"        "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {};
+    mDNSResponder   = applePackage "mDNSResponder"     "522.92.1"    "1cp87qda1s7brriv413i71yggm8yqfwv64vknrnqv24fcb8hzbmy" {};
+    objc4           = applePackage "objc4"             "551.1"       "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg" {};
+    objc4_pure      = applePackage "objc4/pure.nix"    "551.1"       "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg" {};
+    ppp             = applePackage "ppp"               "727.90.1"    "166xz1q7al12hm3q3drlp2r6fgdrsq3pmazjp3nsqg3vnglyh4gk" {};
+    removefile      = applePackage "removefile"        "33"          "0ycvp7cnv40952a1jyhm258p6gg5xzh30x86z5gb204x80knw30y" {};
+    Security        = applePackage "Security"          "55471.14.18" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
+    xnu             = applePackage "xnu"               "2422.115.4"  "1ssw5fzvgix20bw6y13c39ib0zs7ykpig3irlwbaccpjpci5jl0s" {};
+  };
+in packages
diff --git a/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix b/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix
new file mode 100644
index 00000000000..5fcd04266d5
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/dtrace/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, appleDerivation, cctools, zlib }:
+
+appleDerivation {
+  buildInputs = [ cctools zlib ];
+
+  buildPhase = ''
+    export CFLAGS=" -I$PWD/head -I$PWD/sys -I$PWD/libelf -I$PWD/libdwarf"
+
+    pushd libelf
+    for f in *.c; do
+      if [ "$f" != "lintsup.c" ]; then # Apple doesn't use it, so I don't either
+        cc -D_INT64_TYPE -D_LONGLONG_TYPE -D_ILP32 $CFLAGS -c $f
+      fi
+    done
+    libtool -static -o libelf.a *.o
+    popd
+
+    pushd libdwarf
+    ./configure CFLAGS="$CFLAGS -Icmplrs"
+    make
+    popd
+
+    cp libelf/libelf.a     tools/ctfconvert
+    cp libdwarf/libdwarf.a tools/ctfconvert
+
+    pushd tools/ctfconvert
+    for f in ../../darwin_shim.c *.c; do
+      cc -DNDEBUG -DNS_BLOCK_ASSERTIONS $CFLAGS -c $f
+    done
+
+    export COMMON="alist.o ctf.o darwin_shim.o hash.o iidesc.o input.o list.o \
+      memory.o output.o stack.o strtab.o symbol.o tdata.o traverse.o util.o"
+
+    export CONVERT="ctfconvert.o dwarf.o merge.o st_bugs.o st_parse.o stabs.o"
+    export MERGE="barrier.o ctfmerge.o dwarf.o fifo.o merge.o st_bugs.o st_parse.o stabs.o utils.o"
+    export DUMP="dump.o fifo.o utils.o"
+
+    clang -o ctfconvert $CONVERT $COMMON -L. -lz -lelf -ldwarf
+    clang -o ctfmerge   $MERGE   $COMMON -L. -lz -lelf -ldwarf
+    clang -o ctfdump    $DUMP    $COMMON -L. -lz -lelf
+    popd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp tools/ctfconvert/ctfconvert $out/bin
+    cp tools/ctfconvert/ctfmerge   $out/bin
+    cp tools/ctfconvert/ctfdump    $out/bin
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix b/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix
new file mode 100644
index 00000000000..56b0d93f99b
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/dyld/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/lib $out/include
+    ln -s /usr/lib/dyld $out/lib/dyld
+    cp -r include $out/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Impure primitive symlinks to the Mac OS native dyld, along with headers";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix b/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix
new file mode 100644
index 00000000000..af9493fe32e
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/eap8021x/default.nix
@@ -0,0 +1,11 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  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/launchd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
new file mode 100644
index 00000000000..c0e00ca1636
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
@@ -0,0 +1,14 @@
+{ 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
+    cp liblaunch/*.h $out/include
+
+    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/libauto/auto_dtrace.h b/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h
new file mode 100644
index 00000000000..bf367a3cabb
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h
@@ -0,0 +1,129 @@
+/*
+ * Generated by dtrace(1M).
+ */
+
+#ifndef _AUTO_DTRACE_H
+#define _AUTO_DTRACE_H
+
+#include <unistd.h>
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+#define GARBAGE_COLLECTION_STABILITY "___dtrace_stability$garbage_collection$v1$1_1_0_1_1_0_1_1_0_1_1_0_1_1_0"
+
+#define GARBAGE_COLLECTION_TYPEDEFS "___dtrace_typedefs$garbage_collection$v2$6175746f5f636f6c6c656374696f6e5f70686173655f74$6175746f5f636f6c6c656374696f6e5f747970655f74$6d616c6c6f635f7a6f6e655f74"
+
+#if !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED
+
+#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \
+do { \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
+  __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(arg0, arg1); \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
+} while (0)
+#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() \
+  ({ int _r = __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \
+do { \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
+  __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(arg0); \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
+} while (0)
+#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() \
+  ({ int _r = __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \
+do { \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
+  __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(arg0, arg1); \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
+} while (0)
+#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() \
+  ({ int _r = __dtrace_isenabled$garbage_collection$collection_begin$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \
+do { \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
+  __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4); \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
+} while (0)
+#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() \
+  ({ int _r = __dtrace_isenabled$garbage_collection$collection_end$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \
+do { \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
+  __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(arg0, arg1); \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
+} while (0)
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() \
+  ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \
+do { \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
+  __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3); \
+  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
+} while (0)
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() \
+  ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_end$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+
+
+extern void __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(const void *, uint64_t);
+extern int __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(void);
+extern void __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(uint64_t);
+extern int __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(void);
+extern void __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(const malloc_zone_t *, auto_collection_type_t);
+extern int __dtrace_isenabled$garbage_collection$collection_begin$v1(void);
+extern void __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, uint64_t, uint64_t, uint64_t, uint64_t);
+extern int __dtrace_isenabled$garbage_collection$collection_end$v1(void);
+extern void __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(const malloc_zone_t *, auto_collection_phase_t);
+extern int __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(void);
+extern void __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, auto_collection_phase_t, uint64_t, uint64_t);
+extern int __dtrace_isenabled$garbage_collection$collection_phase_end$v1(void);
+
+#else
+
+#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \
+do { \
+  } while (0)
+#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() (0)
+#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \
+do { \
+  } while (0)
+#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() (0)
+#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \
+do { \
+  } while (0)
+#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() (0)
+#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \
+do { \
+  } while (0)
+#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() (0)
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \
+do { \
+  } while (0)
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() (0)
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \
+do { \
+  } while (0)
+#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() (0)
+
+#endif /* !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED */
+
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif  /* _AUTO_DTRACE_H */
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix
new file mode 100644
index 00000000000..1c61297c7d5
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix
@@ -0,0 +1,74 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  buildPhase = ''
+    cp ${./auto_dtrace.h} ./auto_dtrace.h
+
+    substituteInPlace auto_zone.cpp \
+      --replace "#include <msgtracer_client.h>" ''$'#include <asl.h>\nstatic void msgtracer_log_with_keys(...) { };'
+
+    substituteInPlace Definitions.h \
+      --replace "#include <System/pthread_machdep.h>" ""
+
+    # getspecific_direct is more efficient, but this should be equivalent...
+    substituteInPlace Zone.h \
+      --replace "_pthread_getspecific_direct" "pthread_getspecific" \
+      --replace "_pthread_has_direct_tsd()" "0" \
+      --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \
+      --replace "__PTK_FRAMEWORK_GC_KEY1" "111" \
+      --replace "__PTK_FRAMEWORK_GC_KEY2" "112" \
+      --replace "__PTK_FRAMEWORK_GC_KEY3" "113" \
+      --replace "__PTK_FRAMEWORK_GC_KEY4" "114" \
+      --replace "__PTK_FRAMEWORK_GC_KEY5" "115" \
+      --replace "__PTK_FRAMEWORK_GC_KEY6" "116" \
+      --replace "__PTK_FRAMEWORK_GC_KEY7" "117" \
+      --replace "__PTK_FRAMEWORK_GC_KEY8" "118" \
+      --replace "__PTK_FRAMEWORK_GC_KEY9" "119"
+
+    substituteInPlace auto_zone.cpp \
+      --replace "__PTK_FRAMEWORK_GC_KEY9" "119" \
+      --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \
+
+    substituteInPlace Zone.cpp \
+      --replace "_pthread_getspecific_direct" "pthread_getspecific" \
+      --replace "__PTK_FRAMEWORK_GC_KEY9" "119" \
+      --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \
+      --replace "__PTK_LIBDISPATCH_KEY0"  "20" \
+      --replace "struct auto_zone_cursor {" ''$'extern "C" int pthread_key_init_np(int, void (*)(void *));\nstruct auto_zone_cursor {'
+
+    substituteInPlace auto_impl_utilities.c \
+      --replace "#   include <CrashReporterClient.h>" "void CRSetCrashLogMessage(void *msg) { };"
+
+    c++ -I. -O3 -c -Wno-c++11-extensions auto_zone.cpp
+    cc  -I. -O3 -Iauto_tester -c auto_impl_utilities.c
+    c++ -I. -O3 -c auto_weak.cpp
+    c++ -I. -O3 -c Admin.cpp
+    c++ -I. -O3 -c Bitmap.cpp
+    c++ -I. -O3 -c Definitions.cpp
+    c++ -I. -O3 -c Environment.cpp
+    c++ -I. -O3 -c Large.cpp
+    c++ -I. -O3 -c Region.cpp
+    c++ -I. -O3 -c Subzone.cpp
+    c++ -I. -O3 -c WriteBarrier.cpp
+    c++ -I. -O3 -c Zone.cpp
+    c++ -I. -O3 -c Thread.cpp
+    c++ -I. -O3 -c InUseEnumerator.cpp
+    c++ -I. -O3 -c auto_gdb_interface.cpp
+    c++ -I. -O3 -c PointerHash.cpp
+    c++ -I. -O3 -c ThreadLocalCollector.cpp
+    c++ -I. -O3 -c ZoneDump.cpp
+    c++ -I. -O3 -c ZoneCollectors.cpp
+    c++ -I. -O3 -c SubzonePartition.cpp
+    c++ -I. -O3 -c ZoneCollectionChecking.cpp
+    c++ -I. -O3 -c ZoneCompaction.cpp
+    c++ -I. -O3 -c BlockRef.cpp
+
+    c++ -Wl,-no_dtrace_dof --stdlib=libc++ -dynamiclib -install_name $out/lib/libauto.dylib -o libauto.dylib *.o
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib $out/include
+    cp auto_zone.h auto_weak.h auto_tester/auto_tester.h auto_gdb_interface.h $out/include
+    cp libauto.dylib $out/lib
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
new file mode 100644
index 00000000000..a0201f9db2c
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
@@ -0,0 +1,10 @@
+{ 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
new file mode 100644
index 00000000000..56c00557d43
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include/dispatch $out/include/os
+
+    cp -r dispatch/*.h $out/include/dispatch
+    cp -r private/*.h  $out/include/dispatch
+    cp -r os/object.h  $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
new file mode 100644
index 00000000000..5b82835d3e6
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  preConfigure = "cd 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
+
+    ld -dylib -o $out/lib/libiconv.dylib \
+      -reexport_library $out/lib/libiconv-nocharset.dylib \
+      -reexport_library $out/lib/libcharset.dylib \
+      -dylib_compatibility_version 7.0.0
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
new file mode 100644
index 00000000000..027784e2ea6
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, appleDerivation, libdispatch, xnu }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  propagatedBuildInputs = [ libdispatch xnu ];
+
+  installPhase = ''
+    mkdir -p $out/include/pthread
+    cp pthread/*.h $out/include/pthread/
+    cp private/*.h $out/include/pthread/
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
new file mode 100644
index 00000000000..a74198e8ddd
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, appleDerivation, Libinfo, configd, mDNSResponder }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+
+  buildInputs = [ Libinfo configd mDNSResponder ];
+
+  buildPhase = ''
+    cc -I. -c dns_util.c
+    cc -I. -c dns.c
+    cc -I. -c dns_async.c
+    cc -I. -c base64.c
+    cc -I. -c dst_api.c
+    cc -I. -c dst_hmac_link.c
+    cc -I. -c dst_support.c
+    cc -I. -c ns_date.c
+    cc -I. -c ns_name.c
+    cc -I. -c ns_netint.c
+    cc -I. -c ns_parse.c
+    cc -I. -c ns_print.c
+    cc -I. -c ns_samedomain.c
+    cc -I. -c ns_sign.c
+    cc -I. -c ns_ttl.c
+    cc -I. -c ns_verify.c
+    cc -I. -c res_comp.c
+    cc -I. -c res_data.c
+    cc -I. -c res_debug.c
+    cc -I. -c res_findzonecut.c
+    cc -I. -c res_init.c
+    cc -I. -c res_mkquery.c
+    cc -I. -c res_mkupdate.c
+    cc -I. -c res_query.c
+    cc -I. -c res_send.c
+    cc -I. -c res_sendsigned.c
+    cc -I. -c res_update.c
+    cc -dynamiclib -install_name $out/lib/libresolv.9.dylib -o libresolv.9.dylib *.o
+  '';
+
+  installPhase = ''
+    mkdir -p $out/include $out/include/arpa $out/lib
+
+    cp dns.h           $out/include/
+    cp dns_util.h      $out/include
+    cp nameser.h       $out/include
+    ln -s ../nameser.h $out/include/arpa
+    cp resolv.h        $out/include
+
+    cp libresolv.9.dylib $out/lib
+    ln -s libresolv.9.dylib $out/lib/libresolv.dylib
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
new file mode 100644
index 00000000000..32c8d6717f0
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, appleDerivation, dyld }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+
+  buildInputs = [ dyld ];
+
+  buildPhase = ''
+    # cd src
+    # cc -I$PWD/../include -c libuwind.cxx
+    # cc -I$PWD/../include -c Registers.s
+    # cc -I$PWD/../include -c unw_getcontext.s
+    # cc -I$PWD/../include -c UnwindLevel1.c
+    # cc -I$PWD/../include -c UnwindLevel1-gcc-ext.c
+    # cc -I$PWD/../include -c Unwind-sjlj.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+
+    cp -r include $out
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix b/pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix
new file mode 100644
index 00000000000..63674808d93
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/mDNSResponder/default.nix
@@ -0,0 +1,10 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp mDNSShared/dns_sd.h $out/include
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix b/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix
new file mode 100644
index 00000000000..cea5fc9a4e2
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" ];
+
+  # Not strictly necessary, since libSystem depends on it, but it's nice to be explicit so we
+  # can easily find out what's impure.
+  __propagatedImpureHostDeps = [
+    "/usr/lib/libauto.dylib"
+    "/usr/lib/libc++abi.dylib"
+    "/usr/lib/libc++.1.dylib"
+    "/usr/lib/libSystem.B.dylib"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/include/objc $out/lib
+    ln -s /usr/lib/libobjc.dylib $out/lib/libobjc.dylib
+    cp runtime/OldClasses.subproj/List.h $out/include/objc/List.h
+    cp runtime/NSObjCRuntime.h $out/include/objc/NSObjCRuntime.h
+    cp runtime/NSObject.h $out/include/objc/NSObject.h
+    cp runtime/Protocol.h $out/include/objc/Protocol.h
+    cp runtime/hashtable.h $out/include/objc/hashtable.h
+    cp runtime/hashtable2.h $out/include/objc/hashtable2.h
+    cp runtime/message.h $out/include/objc/message.h
+    cp runtime/objc-api.h $out/include/objc/objc-api.h
+    cp runtime/objc-auto.h $out/include/objc/objc-auto.h
+    cp runtime/objc-class.h $out/include/objc/objc-class.h
+    cp runtime/objc-exception.h $out/include/objc/objc-exception.h
+    cp runtime/objc-load.h $out/include/objc/objc-load.h
+    cp runtime/objc-runtime.h $out/include/objc/objc-runtime.h
+    cp runtime/objc-sync.h $out/include/objc/objc-sync.h
+    cp runtime/objc.h $out/include/objc/objc.h
+    cp runtime/runtime.h $out/include/objc/runtime.h
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h b/pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h
new file mode 100644
index 00000000000..4ad9ba9ad10
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/objc-probes.h
@@ -0,0 +1,65 @@
+/*
+ * Generated by dtrace(1M).
+ */
+
+#ifndef _OBJC_PROBES_H
+#define _OBJC_PROBES_H
+
+#include <unistd.h>
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+#define OBJC_RUNTIME_STABILITY "___dtrace_stability$objc_runtime$v1$1_1_0_1_1_0_1_1_0_1_1_0_1_1_0"
+
+#define OBJC_RUNTIME_TYPEDEFS "___dtrace_typedefs$objc_runtime$v2"
+
+#if !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED
+
+#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW() \
+do { \
+  __asm__ volatile(".reference " OBJC_RUNTIME_TYPEDEFS); \
+  __dtrace_probe$objc_runtime$objc_exception_rethrow$v1(); \
+  __asm__ volatile(".reference " OBJC_RUNTIME_STABILITY); \
+} while (0)
+#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW_ENABLED() \
+  ({ int _r = __dtrace_isenabled$objc_runtime$objc_exception_rethrow$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW(arg0) \
+do { \
+  __asm__ volatile(".reference " OBJC_RUNTIME_TYPEDEFS); \
+  __dtrace_probe$objc_runtime$objc_exception_throw$v1$766f6964202a(arg0); \
+  __asm__ volatile(".reference " OBJC_RUNTIME_STABILITY); \
+} while (0)
+#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW_ENABLED() \
+  ({ int _r = __dtrace_isenabled$objc_runtime$objc_exception_throw$v1(); \
+    __asm__ volatile(""); \
+    _r; })
+
+
+extern void __dtrace_probe$objc_runtime$objc_exception_rethrow$v1(void);
+extern int __dtrace_isenabled$objc_runtime$objc_exception_rethrow$v1(void);
+extern void __dtrace_probe$objc_runtime$objc_exception_throw$v1$766f6964202a(const void *);
+extern int __dtrace_isenabled$objc_runtime$objc_exception_throw$v1(void);
+
+#else
+
+#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW() \
+do { \
+  } while (0)
+#define OBJC_RUNTIME_OBJC_EXCEPTION_RETHROW_ENABLED() (0)
+#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW(arg0) \
+do { \
+  } while (0)
+#define OBJC_RUNTIME_OBJC_EXCEPTION_THROW_ENABLED() (0)
+
+#endif /* !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED */
+
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif  /* _OBJC_PROBES_H */
diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix b/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix
new file mode 100644
index 00000000000..28dcbdcb4a2
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix
@@ -0,0 +1,118 @@
+{ stdenv, fetchapplesource, libauto, launchd, libc_old, libunwind }:
+
+stdenv.mkDerivation rec {
+  version = "551.1";
+  name    = "objc4-${version}";
+
+  src = fetchapplesource {
+    inherit version;
+    name   = "objc4";
+    sha256 = "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg";
+  };
+
+  patches = [ ./spinlocks.patch ];
+
+  buildInputs = [ libauto launchd libc_old libunwind ];
+
+  buildPhase = ''
+    cp ${./objc-probes.h} runtime/objc-probes.h
+
+    mkdir -p build/include/objc
+
+    cp runtime/hashtable.h               build/include/objc/hashtable.h
+    cp runtime/OldClasses.subproj/List.h build/include/objc/List.h
+    cp runtime/hashtable2.h              build/include/objc/hashtable2.h
+    cp runtime/message.h                 build/include/objc/message.h
+    cp runtime/objc-api.h                build/include/objc/objc-api.h
+    cp runtime/objc-auto.h               build/include/objc/objc-auto.h
+    cp runtime/objc-class.h              build/include/objc/objc-class.h
+    cp runtime/objc-exception.h          build/include/objc/objc-exception.h
+    cp runtime/objc-load.h               build/include/objc/objc-load.h
+    cp runtime/objc-sync.h               build/include/objc/objc-sync.h
+    cp runtime/objc.h                    build/include/objc/objc.h
+    cp runtime/objc-runtime.h            build/include/objc/objc-runtime.h
+    cp runtime/Object.h                  build/include/objc/Object.h
+    cp runtime/Protocol.h                build/include/objc/Protocol.h
+    cp runtime/runtime.h                 build/include/objc/runtime.h
+    cp runtime/NSObject.h                build/include/objc/NSObject.h
+    cp runtime/NSObjCRuntime.h           build/include/objc/NSObjCRuntime.h
+
+    # These would normally be in local/include but we don't do local, so they're
+    # going in with the others
+    cp runtime/maptable.h                build/include/objc/maptable.h
+    cp runtime/objc-abi.h                build/include/objc/objc-abi.h
+    cp runtime/objc-auto-dump.h          build/include/objc/objc-auto-dump.h
+    cp runtime/objc-gdb.h                build/include/objc/objc-gdb.h
+    cp runtime/objc-internal.h           build/include/objc/objc-internal.h
+
+    cc -o markgc markgc.c
+
+    FLAGS="-Wno-deprecated-register -Wno-unknown-pragmas -Wno-deprecated-objc-isa-usage -Wno-invalid-offsetof -Wno-inline-new-delete  -Wno-cast-of-sel-type -Iruntime -Ibuild/include -Iruntime/Accessors.subproj -D_LIBCPP_VISIBLE= -DOS_OBJECT_USE_OBJC=0 -DNDEBUG=1"
+
+    cc -std=gnu++11 $FLAGS -c runtime/hashtable2.mm
+    cc -std=gnu++11 $FLAGS -c runtime/maptable.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-auto.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-cache.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-class-old.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-class.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-errors.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-exception.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-file.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-initialize.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-layout.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-load.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-loadmethod.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-lockdebug.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-runtime-new.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-runtime-old.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-runtime.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-sel-set.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-sel.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-sync.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-typeencoding.mm
+    cc -std=gnu++11 $FLAGS -c runtime/Object.mm
+    cc -std=gnu++11 $FLAGS -c runtime/Protocol.mm
+
+    cc -std=gnu++11 $FLAGS -c runtime/objc-references.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-os.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-auto-dump.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-file-old.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-block-trampolines.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-externalref.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-weak.mm
+    cc -std=gnu++11 $FLAGS -c runtime/NSObject.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-opt.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-cache-old.mm
+    cc -std=gnu++11 $FLAGS -c runtime/objc-sel-old.mm
+
+    cc -std=gnu++11 $FLAGS -c runtime/Accessors.subproj/objc-accessors.mm
+
+    cc $FLAGS -c runtime/objc-sel-table.s
+
+    cc $FLAGS -c runtime/OldClasses.subproj/List.m
+    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-arm.s
+    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-i386.s
+    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-x86_64.s
+    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-simulator-i386.s
+
+    cc $FLAGS -c runtime/a1a2-blocktramps-i386.s
+    cc $FLAGS -c runtime/a2a3-blocktramps-i386.s
+
+    cc $FLAGS -c runtime/a1a2-blocktramps-x86_64.s
+    cc $FLAGS -c runtime/a2a3-blocktramps-x86_64.s
+
+    cc $FLAGS -c runtime/a1a2-blocktramps-arm.s
+    cc $FLAGS -c runtime/a2a3-blocktramps-arm.s
+
+    c++ -Wl,-no_dtrace_dof --stdlib=libc++ -dynamiclib -lauto -install_name $out/lib/libobjc.dylib -o libobjc.dylib *.o
+
+    ./markgc -p libobjc.dylib
+  '';
+
+  installPhase = ''
+    mkdir -p $out/include $out/lib
+
+    mv build/include/objc $out/include
+    mv libobjc.dylib $out/lib
+  '';
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch b/pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch
new file mode 100644
index 00000000000..50c6a983fe4
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/objc4/spinlocks.patch
@@ -0,0 +1,107 @@
+--- objc4-551.1/runtime/objc-os.h	2013-06-10 21:16:15.000000000 -0400
++++ ../objc4-551.1/runtime/objc-os.h	2015-01-19 01:01:36.000000000 -0500
+@@ -77,27 +77,72 @@
+ #   include <mach-o/getsect.h>
+ #   include <mach-o/dyld_priv.h>
+ #   include <malloc/malloc.h>
+-#   include <os/lock_private.h>
+ #   include <libkern/OSAtomic.h>
+ #   include <libkern/OSCacheControl.h>
+-#   include <System/pthread_machdep.h>
+ #   include "objc-probes.h"  // generated dtrace probe definitions.
+ 
++#define __PTK_FRAMEWORK_OBJC_KEY5 45
++#define __PTK_FRAMEWORK_OBJC_KEY6 46
++#define __PTK_FRAMEWORK_OBJC_KEY7 47
++#define __PTK_FRAMEWORK_OBJC_KEY8 48
++#define __PTK_FRAMEWORK_OBJC_KEY9 49
++
++extern "C" int pthread_key_init_np(int, void (*)(void *));
++
+ // Some libc functions call objc_msgSend() 
+ // so we can't use them without deadlocks.
+ void syslog(int, const char *, ...) UNAVAILABLE_ATTRIBUTE;
+ void vsyslog(int, const char *, va_list) UNAVAILABLE_ATTRIBUTE;
+ 
++#if defined(__i386__) || defined(__x86_64__)
++
++// Inlined spinlock.
++// Not for arm on iOS because it hurts uniprocessor performance.
++
++#define ARR_SPINLOCK_INIT 0
++// XXX -- Careful: OSSpinLock isn't volatile, but should be
++typedef volatile int ARRSpinLock;
++__attribute__((always_inline))
++static inline void ARRSpinLockLock(ARRSpinLock *l)
++{
++    unsigned y;
++again:
++    if (__builtin_expect(__sync_lock_test_and_set(l, 1), 0) == 0) {
++        return;
++    }
++    for (y = 1000; y; y--) {
++#if defined(__i386__) || defined(__x86_64__)
++        asm("pause");
++#endif
++        if (*l == 0) goto again;
++    }
++    thread_switch(THREAD_NULL, SWITCH_OPTION_DEPRESS, 1);
++    goto again;
++}
++__attribute__((always_inline))
++static inline void ARRSpinLockUnlock(ARRSpinLock *l)
++{
++    __sync_lock_release(l);
++}
++__attribute__((always_inline))
++static inline int ARRSpinLockTry(ARRSpinLock *l)
++{
++    return __sync_bool_compare_and_swap(l, 0, 1);
++}
++
++#define spinlock_t ARRSpinLock
++#define spinlock_trylock(l) ARRSpinLockTry(l)
++#define spinlock_lock(l) ARRSpinLockLock(l)
++#define spinlock_unlock(l) ARRSpinLockUnlock(l)
++#define SPINLOCK_INITIALIZER ARR_SPINLOCK_INIT 
+ 
+-#define spinlock_t os_lock_handoff_s
+-#define spinlock_trylock(l) os_lock_trylock(l)
+-#define spinlock_lock(l) os_lock_lock(l)
+-#define spinlock_unlock(l) os_lock_unlock(l)
+-#define SPINLOCK_INITIALIZER OS_LOCK_HANDOFF_INIT
++#endif
+ 
+ 
+ #if !TARGET_OS_IPHONE
+-#   include <CrashReporterClient.h>
++#define CRSetCrashLogMessage(msg)
++#define CRGetCrashLogMessage() 0
++#define CRSetCrashLogMessage2(msg)
+ #else
+     // CrashReporterClient not yet available on iOS
+     __BEGIN_DECLS
+@@ -594,21 +639,13 @@
+ { 
+     assert(is_valid_direct_key(k));
+ 
+-    if (_pthread_has_direct_tsd()) {
+-        return _pthread_getspecific_direct(k);
+-    } else {
+-        return pthread_getspecific(k);
+-    }
++    return pthread_getspecific(k);
+ }
+ static inline void tls_set_direct(tls_key_t k, void *value) 
+ { 
+     assert(is_valid_direct_key(k));
+ 
+-    if (_pthread_has_direct_tsd()) {
+-        _pthread_setspecific_direct(k, value);
+-    } else {
+-        pthread_setspecific(k, value);
+-    }
++    pthread_setspecific(k, value);
+ }
+ 
+ // not arm
diff --git a/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix
new file mode 100644
index 00000000000..ffc19801c5d
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/ppp/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, appleDerivation }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include/ppp
+
+    cp Controller/ppp_msg.h                    $out/include/ppp
+    cp Controller/pppcontroller_types.h        $out/include/ppp
+    cp Controller/pppcontroller_types.h        $out/include
+    cp Controller/pppcontroller.defs           $out/include/ppp
+    cp Controller/pppcontroller_mach_defines.h $out/include
+    cp Controller/PPPControllerPriv.h          $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
new file mode 100644
index 00000000000..315f93bef08
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix
@@ -0,0 +1,10 @@
+{ 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/xnu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
new file mode 100644
index 00000000000..8276d2f4b42
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
@@ -0,0 +1,117 @@
+{ stdenv, appleDerivation, fetchzip, bootstrap_cmds, bison, flex, gnum4, unifdef, perl }:
+
+appleDerivation {
+  phases = [ "unpackPhase" "patchPhase" "installPhase" ];
+
+  buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl ];
+
+  patchPhase = ''
+    substituteInPlace Makefile \
+      --replace "/bin/" "" \
+      --replace "MAKEJOBS := " '# MAKEJOBS := '
+
+    substituteInPlace makedefs/MakeInc.cmd \
+      --replace "/usr/bin/" "" \
+      --replace "/bin/" "" \
+      --replace "-Werror " ""
+
+    substituteInPlace makedefs/MakeInc.def \
+      --replace "-c -S -m" "-c -m"
+
+    substituteInPlace makedefs/MakeInc.top \
+      --replace "MEMORY_SIZE := " 'MEMORY_SIZE := 1073741824 # '
+
+    substituteInPlace libkern/kxld/Makefile \
+      --replace "-Werror " ""
+
+    substituteInPlace SETUP/kextsymboltool/Makefile \
+      --replace "-lstdc++" "-lc++"
+
+    substituteInPlace libsyscall/xcodescripts/mach_install_mig.sh \
+      --replace "/usr/include" "/include" \
+      --replace "/usr/local/include" "/include" \
+      --replace "MIG=" "# " \
+      --replace "MIGCC=" "# " \
+      --replace " -o 0" "" \
+      --replace '$SRC/$mig' '-I$DSTROOT/include $SRC/$mig' \
+      --replace '$SRC/servers/netname.defs' '-I$DSTROOT/include $SRC/servers/netname.defs'
+
+    patchShebangs .
+  '';
+
+  installPhase = ''
+    # This is a bit of a hack...
+    mkdir -p sdk/usr/local/libexec
+
+    cat > sdk/usr/local/libexec/availability.pl <<EOF
+      #!$SHELL
+      if [ "\$1" == "--macosx" ]; then
+        echo 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9
+      elif [ "\$1" == "--ios" ]; then
+        echo 2.0 2.1 2.2 3.0 3.1 3.2 4.0 4.1 4.2 4.3 5.0 5.1 6.0 6.1 7.0
+      fi
+    EOF
+    chmod +x sdk/usr/local/libexec/availability.pl
+
+    export SDKROOT_RESOLVED=$PWD/sdk
+    export HOST_SDKROOT_RESOLVED=$PWD/sdk
+    export PLATFORM=MacOSX
+    export SDKVERSION=10.7
+
+    export CC=cc
+    export CXX=c++
+    export MIG=${bootstrap_cmds}/bin/mig
+    export MIGCOM=${bootstrap_cmds}/libexec/migcom
+    export STRIP=sentinel-missing
+    export LIPO=sentinel-missing
+    export LIBTOOL=sentinel-missing
+    export NM=sentinel-missing
+    export UNIFDEF=${unifdef}/bin/unifdef
+    export DSYMUTIL=sentinel-missing
+    export CTFCONVERT=sentinel-missing
+    export CTFMERGE=sentinel-missing
+    export CTFINSERT=sentinel-missing
+    export NMEDIT=sentinel-missing
+
+    export HOST_OS_VERSION=10.7
+    export HOST_CC=cc
+    export HOST_FLEX=${flex}/bin/flex
+    export HOST_BISON=${bison}/bin/bison
+    export HOST_GM4=${gnum4}/bin/m4
+    export HOST_CODESIGN='echo dummy_codesign'
+    export HOST_CODESIGN_ALLOCATE=echo
+
+    export DSTROOT=$out
+    make installhdrs
+
+    mv $out/usr/include $out
+    rmdir $out/usr
+
+    # TODO: figure out why I need to do this
+    cp libsyscall/wrappers/*.h $out/include
+    mkdir -p $out/include/os
+    cp libsyscall/os/tsd.h $out/include/os/tsd.h
+    cp EXTERNAL_HEADERS/AssertMacros.h $out/include
+
+    # Build the mach headers we crave
+    export MIGCC=cc
+    export ARCHS="x86_64"
+    export SRCROOT=$PWD/libsyscall
+    export DERIVED_SOURCES_DIR=$out/include
+    export SDKROOT=$out
+    libsyscall/xcodescripts/mach_install_mig.sh
+
+    # Get rid of the System prefix
+    mv $out/System/* $out/
+
+    # Add some symlinks
+    ln -s $out/Library/Frameworks/System.framework/Versions/B \
+          $out/Library/Frameworks/System.framework/Versions/Current
+    ln -s $out/Library/Frameworks/System.framework/Versions/Current/PrivateHeaders \
+          $out/Library/Frameworks/System.framework/Headers
+
+    # IOKit (and possibly the others) is incomplete, so let's not make it visible from here...
+    mkdir $out/Library/PrivateFrameworks
+    mv $out/Library/Frameworks/IOKit.framework $out/Library/PrivateFrameworks
+  '';
+}
diff --git a/pkgs/os-specific/darwin/cctools-port/default.nix b/pkgs/os-specific/darwin/cctools-port/default.nix
deleted file mode 100644
index cdc259c1e2a..00000000000
--- a/pkgs/os-specific/darwin/cctools-port/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, cross, fetchurl, autoconf, automake, libtool
-, libcxx, llvm, clang, openssl, libuuid
-, maloader, makeWrapper, xctoolchain
-}:
-
-stdenv.mkDerivation rec {
-  name = "cctools-port-${version}";
-  version = "845";
-
-  src = fetchurl {
-    url = "https://github.com/tpoechtrager/cctools-port/archive/"
-        + "cctools-${version}-ld64-136-1.tar.gz";
-    sha256 = "06pg6h1g8avgx4j6cfykdpggf490li796gzhhyqn27jsagli307i";
-  };
-
-  buildInputs = [
-    autoconf automake libtool libcxx llvm clang openssl libuuid makeWrapper
-  ];
-
-  patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ];
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    patchShebangs tools
-    sed -i -e 's/which/type -P/' tools/*.sh
-    sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh
-
-    # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157
-    cat > cctools/include/unistd.h <<EOF
-    #ifdef __block
-    #  undef __block
-    #  include_next "unistd.h"
-    #  define __block __attribute__((__blocks__(byref)))
-    #else
-    #  include_next "unistd.h"
-    #endif
-    EOF
-  '';
-
-  preConfigure = ''
-    cd cctools
-    sh autogen.sh
-  '';
-
-  configureFlags = [
-    "CXXFLAGS=-I${libcxx}/include/c++/v1"
-    "--target=${cross.config}"
-  ];
-
-  postInstall = ''
-    for tool in dyldinfo dwarfdump dsymutil; do
-      makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${cross.config}-$tool" \
-        --add-flags "${xctoolchain}/bin/$tool"
-      ln -s "$out/bin/${cross.config}-$tool" "$out/bin/$tool"
-    done
-  '';
-
-  meta = {
-    homepage = "http://www.opensource.apple.com/source/cctools/";
-    description = "Mac OS X Compiler Tools (cross-platform port)";
-    license = stdenv.lib.licenses.apsl20;
-  };
-}
diff --git a/pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch b/pkgs/os-specific/darwin/cctools/ld-ignore-rpath-link.patch
index fc87f69ac32..fc87f69ac32 100644
--- a/pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch
+++ b/pkgs/os-specific/darwin/cctools/ld-ignore-rpath-link.patch
diff --git a/pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
index 265d0d30477..265d0d30477 100644
--- a/pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch
+++ b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
new file mode 100644
index 00000000000..bfb389ef37c
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -0,0 +1,102 @@
+{ stdenv, fetchurl, autoconf, automake, libtool
+, llvm, libcxx, libcxxabi, clang, openssl, libuuid
+, libobjc ? null
+}:
+
+let
+  baseParams = rec {
+    name = "cctools-port-${version}";
+    version = "862";
+
+    src = let
+      # Should be fetchFromGitHub but it was whining so this will do for now
+      owner  = "tpoechtrager";
+      repo   = "cctools-port";
+      rev    = "59d21d2c793c51d205c8b4ab14b9b28e63c72445";
+    in fetchurl {
+      url    = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz";
+      sha256 = "01f31ijpnplbiyp7ldwzy8vbkn3j3m56n5blsvsav5nlp4lp2g71";
+    };
+
+    buildInputs = [ autoconf automake libtool openssl 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 ] ++
+      stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ];
+
+    patches = [
+      ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch
+    ];
+
+    enableParallelBuilding = true;
+
+    configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [ "CXXFLAGS=-I${libcxx}/include/c++/v1" ];
+
+    postPatch = ''
+      sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp
+
+      # FIXME: there are far more absolute path references that I don't want to fix right now
+      substituteInPlace cctools/configure.ac \
+        --replace "-isystem /usr/local/include -isystem /usr/pkg/include" "" \
+        --replace "-L/usr/local/lib" "" \
+
+      substituteInPlace cctools/include/Makefile \
+        --replace "/bin/" ""
+
+      patchShebangs tools
+      sed -i -e 's/which/type -P/' tools/*.sh
+
+      # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157
+      cat > cctools/include/unistd.h <<EOF
+      #ifdef __block
+      #  undef __block
+      #  include_next "unistd.h"
+      #  define __block __attribute__((__blocks__(byref)))
+      #else
+      #  include_next "unistd.h"
+      #endif
+      EOF
+    '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+      sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh
+    '';
+
+    preConfigure = ''
+      cd cctools
+      sh autogen.sh
+    '';
+
+    preInstall = ''
+      pushd include
+      make DSTROOT=$out/include RC_OS=common install
+      popd
+    '';
+
+    meta = {
+      homepage = "http://www.opensource.apple.com/source/cctools/";
+      description = "Mac OS X Compiler Tools (cross-platform port)";
+      license = stdenv.lib.licenses.apsl20;
+    };
+  };
+in {
+  native = stdenv.mkDerivation (baseParams // {
+    # A hack for now...
+    postInstall = ''
+      cat >$out/bin/dsymutil << EOF
+      #!${stdenv.shell}
+      EOF
+      chmod +x $out/bin/dsymutil
+    '';
+  });
+
+  cross =
+    { cross, maloader, makeWrapper, xctoolchain}: stdenv.mkDerivation (baseParams // {
+      configureFlags = baseParams.configureFlags ++ [ "--target=${cross.config}" ];
+
+      postInstall = ''
+        for tool in dyldinfo dwarfdump dsymutil; do
+          ${makeWrapper}/bin/makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${cross.config}-$tool" \
+            --add-flags "${xctoolchain}/bin/$tool"
+          ln -s "$out/bin/${cross.config}-$tool" "$out/bin/$tool"
+        done
+      '';
+    });
+}
diff --git a/pkgs/os-specific/darwin/command-line-tools/default.nix b/pkgs/os-specific/darwin/command-line-tools/default.nix
new file mode 100644
index 00000000000..c437c76cfd6
--- /dev/null
+++ b/pkgs/os-specific/darwin/command-line-tools/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, xar, gzip, cpio }:
+
+let
+  pkg = { name, sha256 }: stdenv.mkDerivation {
+    inherit name;
+
+    src = fetchurl {
+      url = "http://swcdn.apple.com/content/downloads/00/14/031-07556/i7hoqm3awowxdy48l34uel4qvwhdq8lgam/${name}.pkg";
+      inherit sha256;
+    };
+
+    buildInputs = [ xar gzip cpio ];
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    unpackPhase = ''
+      xar -x -f $src
+    '';
+
+    installPhase = ''
+      start="$(pwd)"
+      mkdir -p $out
+      cd $out
+      cat $start/Payload | gzip -d | cpio -idm
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Apple developer tools ${name}";
+      maintainers = with maintainers; [ copumpkin ];
+      platforms   = platforms.darwin;
+    };
+  };
+in rec {
+  tools = pkg {
+    name   = "CLTools_Executables";
+    sha256 = "1rqrgip9pwr9d6p1hkd027lzxpymr1qm54jjnkldjjb8m4nps7bp";
+  };
+
+  sdk = pkg {
+    name   = "DevSDK_OSX109";
+    sha256 = "0x6r61h78r5cxk9dbw6fnjpn6ydi4kcajvllpczx3mi52crlkm4x";
+  };
+}
diff --git a/pkgs/os-specific/darwin/osx-private-sdk/default.nix b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
new file mode 100644
index 00000000000..85e1dc50f35
--- /dev/null
+++ b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, python, osx_sdk }:
+
+let
+  sdkVersion = "10.9";
+in stdenv.mkDerivation {
+  name = "PrivateMacOSX${sdkVersion}.sdk";
+
+  src = fetchFromGitHub {
+    owner  = "copumpkin";
+    repo   = "OSXPrivateSDK";
+    rev    = "bde9cba13e6ae62a8e4e0f405008ea719526e7ad";
+    sha256 = "1vj3fxwp32irxjk987p7a223sm5bl5rrlajcvgy69k0wb0fp0krc";
+  };
+
+  buildInputs = [ python ];
+
+  configurePhase = "true";
+
+  buildPhase = ''
+    python PrivateSDK.py -i ${osx_sdk}/Developer/SDKs/MacOSX${sdkVersion}.sdk -o PrivateMacOSX${sdkVersion}.sdk
+  '';
+
+  installPhase = ''
+    mkdir -p $out/Developer/SDKs/
+    mv PrivateMacOSX${sdkVersion}.sdk $out/Developer/SDKs
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A private Mac OS ${sdkVersion} SDK, suitable for building many of Apple's open source releases";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.unfree;
+  };
+}
diff --git a/pkgs/os-specific/darwin/osx-sdk/default.nix b/pkgs/os-specific/darwin/osx-sdk/default.nix
new file mode 100644
index 00000000000..612bf003743
--- /dev/null
+++ b/pkgs/os-specific/darwin/osx-sdk/default.nix
@@ -0,0 +1,26 @@
+{ stdenv }:
+
+let
+  version = "10.9";
+in stdenv.mkDerivation {
+  name = "MacOSX10.9.sdk";
+
+  src = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk";
+
+  unpackPhase    = "true";
+  configurePhase = "true";
+  buildPhase     = "true";
+
+  installPhase = ''
+    mkdir -p $out/Developer/SDKs/
+    echo "Source is: $src"
+    cp -r $src $out/Developer/SDKs/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The Mac OS ${version} SDK";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.unfree;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/darwin/otool/default.nix b/pkgs/os-specific/darwin/otool/default.nix
index e0793664a9c..671e51542d0 100644
--- a/pkgs/os-specific/darwin/otool/default.nix
+++ b/pkgs/os-specific/darwin/otool/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Object file displaying tool";
     homepage    = https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/otool.1.html;
-    # TODO license     = with licenses; [ apsl20 gpl2Plus ];
+    license     = with licenses; [ apsl20 gpl2Plus ];
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.darwin;
 
diff --git a/pkgs/os-specific/darwin/security-tool/default.nix b/pkgs/os-specific/darwin/security-tool/default.nix
new file mode 100644
index 00000000000..49d61f392c5
--- /dev/null
+++ b/pkgs/os-specific/darwin/security-tool/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, osx_private_sdk }:
+
+stdenv.mkDerivation rec {
+	version = "55115";
+  name    = "SecurityTool-${version}";
+
+  src = fetchurl {
+    url = "http://opensource.apple.com/tarballs/SecurityTool/SecurityTool-${version}.tar.gz";
+    sha256 = "0apcz4vy2z5645jhrs60wj3w27mncjjqv42h5lln36g6qs2n9113";
+  };
+
+  configurePhase = "";
+
+  # Someday we shall purge this impurity!
+  buildPhase = ''
+    /usr/bin/xcodebuild SDKROOT=${osx_private_sdk}/Developer/SDKs/PrivateMacOSX10.9.sdk/
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    cp build/Release/security $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line interface to Mac OS X keychains and Security framework";
+    maintainers = with maintainers; [ copumpkin ];
+    platforms   = platforms.darwin;
+    license     = licenses.apsl20;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 63c55341b14..289b54f1b54 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation {
     sed -e 's/break/true/' -i examples/turn_off_gpu.sh
     sed -e 's@/bin/bash@.bin/sh@' -i examples/turn_off_gpu.sh
     sed -e "s@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@" -i Makefile
+    sed -e 's@acpi/acpi[.]h@linux/acpi.h@g' -i acpi_call.c
   '';
  
   installPhase = ''
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index 0fc79922515..b815cd778fa 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://sourceforge.net/projects/acpiclient/;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index c9d45835cfd..39b5565ffbd 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "acpid-2.0.22";
+  name = "acpid-2.0.23";
 
   src = fetchurl {
     url = "mirror://sourceforge/acpid2/${name}.tar.xz";
-    sha256 = "0cdbcy5xjdcyp2x6hzgpv6a9vg9bbxmypmfvv1qzgj43897la49x";
+    sha256 = "1vl7c6vc724v4jwki17czgj6lnrknnj1a6llm8gkl32i2gnam5j3";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/afuse/default.nix b/pkgs/os-specific/linux/afuse/default.nix
index 70c8f36105c..4cf53311070 100644
--- a/pkgs/os-specific/linux/afuse/default.nix
+++ b/pkgs/os-specific/linux/afuse/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, fuse }:
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, fuse }:
 
 stdenv.mkDerivation {
-  name = "afuse-0.2";
+  name = "afuse-0.4.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/afuse/0.2/afuse-0.2.tar.gz;
-    sha256 = "1lj2jdks0bgwxbjqp5a9f7qdry19kar6pg7dh1ml98gapx9siylj";
+    url = https://github.com/pcarrier/afuse/archive/v0.4.1.tar.gz;
+    sha256 = "1sfhicmxppkvdd4z9klfn63snb71gr9hff6xij1gzk94xg6m0ycc";
   };
 
-  buildInputs = [ pkgconfig fuse ];
+  buildInputs = [ autoreconfHook pkgconfig fuse ];
 
-  meta = { 
+  meta = {
     description = "Automounter in userspace";
-    homepage = http://sourceforge.net/projects/afuse;
+    homepage = https://github.com/pcarrier/afuse;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/alsa-firmware/default.nix b/pkgs/os-specific/linux/alsa-firmware/default.nix
new file mode 100644
index 00000000000..ab81ece5f71
--- /dev/null
+++ b/pkgs/os-specific/linux/alsa-firmware/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "alsa-firmware-1.0.29";
+
+  src = fetchurl {
+    urls = [
+      "ftp://ftp.alsa-project.org/pub/firmware/${name}.tar.bz2"
+      "http://alsa.cybermirror.org/firmware/${name}.tar.bz2"
+    ];
+    sha256 = "0gfcyj5anckjn030wcxx5v2xk2s219nyf99s9m833275b5wz2piw";
+  };
+
+  configureFlags = ''
+    --with-hotplug-dir=$(out)/lib/firmware
+  '';
+
+  dontStrip = true;
+
+  postInstall = ''
+    # These are lifted from the Arch PKGBUILD
+    # remove files which conflicts with linux-firmware
+    rm -rf $out/lib/firmware/{ct{efx,speq}.bin,ess,korg,sb16,yamaha}
+    # remove broken symlinks (broken upstream)
+    rm -rf $out/lib/firmware/turtlebeach
+    # remove empty dir
+    rm -rf $out/bin
+  '';
+
+  meta = {
+    homepage = http://www.alsa-project.org/main/index.php/Main_Page;
+    description = "Soundcard firmwares from the alsa project";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/os-specific/linux/alsa-lib/alsa-plugin-conf-multilib.patch b/pkgs/os-specific/linux/alsa-lib/alsa-plugin-conf-multilib.patch
new file mode 100644
index 00000000000..b17df9a492e
--- /dev/null
+++ b/pkgs/os-specific/linux/alsa-lib/alsa-plugin-conf-multilib.patch
@@ -0,0 +1,232 @@
+diff --git a/src/control/control.c b/src/control/control.c
+index d66ed75..42cecad 100644
+--- a/src/control/control.c
++++ b/src/control/control.c
+@@ -838,6 +838,10 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ #ifndef PIC
+ 	extern void *snd_control_open_symbols(void);
+ #endif
++
++	snd_config_t *libs = NULL;
++	const char *libs_lib = NULL;
++
+ 	if (snd_config_get_type(ctl_conf) != SND_CONFIG_TYPE_COMPOUND) {
+ 		if (name)
+ 			SNDERR("Invalid type for CTL %s definition", name);
+@@ -879,6 +883,19 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 					SNDERR("Invalid type for %s", id);
+ 					goto _err;
+ 				}
++
++				continue;
++			}
++			// Handle an array of extra libs.
++			if (strcmp(id, "libs") == 0) {
++				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
++					SNDERR("Invalid type for libs definition in CTL %s definition",
++						str);
++					goto _err;
++				}
++
++				libs = n;
++
+ 				continue;
+ 			}
+ 			if (strcmp(id, "open") == 0) {
+@@ -903,7 +920,62 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 		open_name = buf;
+ 		sprintf(buf, "_snd_ctl_%s_open", str);
+ 	}
+-	if (!lib) {
++
++#ifndef PIC
++	snd_control_open_symbols();
++#endif
++
++	// Normal alsa behaviour when there is no libs array.
++	if (!libs) {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
++		}
++	}
++	// Handle libs array.
++	// Suppresses error messages if any function is loaded successfully.
++	else {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
++		}
++
++		if (!open_func) {
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				err = snd_config_get_string(n, &libs_lib);
++				if (err < 0) {
++					SNDERR("Invalid entry in CTL %s libs definition", str);
++					goto _err;
++				}
++
++				if (!open_func) {
++					open_func = snd_dlobj_cache_get(libs_lib, open_name,
++						SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
++				}
++			}
++		}
++
++		// Print error messages.
++		if (!open_func) {
++			if (lib) {
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					lib, open_name);
++			}
++
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				snd_config_get_string(n, &libs_lib);
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					libs_lib, open_name);
++			}
++		}
++	}
++
++	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
++	if (!lib && (!libs || !libs_lib)) {
+ 		const char *const *build_in = build_in_ctls;
+ 		while (*build_in) {
+ 			if (!strcmp(*build_in, str))
+@@ -919,12 +991,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 			lib = buf1;
+ 			sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
+ 		}
+-	}
+-#ifndef PIC
+-	snd_control_open_symbols();
+-#endif
+-	open_func = snd_dlobj_cache_get(lib, open_name,
++
++		open_func = snd_dlobj_cache_get(lib, open_name,
+ 			SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
++	}
++
+ 	if (open_func) {
+ 		err = open_func(ctlp, name, ctl_root, ctl_conf, mode);
+ 		if (err >= 0) {
+diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
+index 2e24338..7f489f4 100644
+--- a/src/pcm/pcm.c
++++ b/src/pcm/pcm.c
+@@ -2116,6 +2116,10 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ #ifndef PIC
+ 	extern void *snd_pcm_open_symbols(void);
+ #endif
++
++	snd_config_t *libs = NULL;
++	const char *libs_lib = NULL;
++
+ 	if (snd_config_get_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) {
+ 		char *val;
+ 		id = NULL;
+@@ -2160,6 +2164,19 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 					SNDERR("Invalid type for %s", id);
+ 					goto _err;
+ 				}
++
++				continue;
++			}
++			// Handle an array of extra libs.
++			if (strcmp(id, "libs") == 0) {
++				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
++					SNDERR("Invalid type for libs definition in PCM %s definition",
++						str);
++					goto _err;
++				}
++
++				libs = n;
++
+ 				continue;
+ 			}
+ 			if (strcmp(id, "open") == 0) {
+@@ -2184,7 +2201,62 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 		open_name = buf;
+ 		sprintf(buf, "_snd_pcm_%s_open", str);
+ 	}
+-	if (!lib) {
++
++#ifndef PIC
++	snd_pcm_open_symbols();	/* this call is for static linking only */
++#endif
++
++	// Normal alsa behaviour when there is no libs array.
++	if (!libs) {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
++		}
++	}
++	// Handle libs array.
++	// Suppresses error messages if any function is loaded successfully.
++	else {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
++		}
++
++		if (!open_func) {
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				err = snd_config_get_string(n, &libs_lib);
++				if (err < 0) {
++					SNDERR("Invalid entry in PCM %s libs definition", str);
++					goto _err;
++				}
++
++				if (!open_func) {
++					open_func = snd_dlobj_cache_get(libs_lib, open_name,
++						SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
++				}
++			}
++		}
++
++		// Print error messages.
++		if (!open_func) {
++			if (lib) {
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					lib, open_name);
++			}
++
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				snd_config_get_string(n, &libs_lib);
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					libs_lib, open_name);
++			}
++		}
++	}
++
++	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
++	if (!lib && (!libs || !libs_lib)) {
+ 		const char *const *build_in = build_in_pcms;
+ 		while (*build_in) {
+ 			if (!strcmp(*build_in, str))
+@@ -2200,12 +2272,11 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 			lib = buf1;
+ 			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
+ 		}
+-	}
+-#ifndef PIC
+-	snd_pcm_open_symbols();	/* this call is for static linking only */
+-#endif
+-	open_func = snd_dlobj_cache_get(lib, open_name,
++
++		open_func = snd_dlobj_cache_get(lib, open_name,
+ 			SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
++	}
++
+ 	if (open_func) {
+ 		err = open_func(pcmp, name, pcm_root, pcm_conf, stream, mode);
+ 		if (err >= 0) {
diff --git a/pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch b/pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch
deleted file mode 100644
index 3cee02aa0cd..00000000000
--- a/pkgs/os-specific/linux/alsa-lib/alsa-plugin-dirs.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
-index 74d1d1a..17ffb12 100644
---- a/src/pcm/pcm.c
-+++ b/src/pcm/pcm.c
-@@ -2042,6 +2042,19 @@ static const char *const build_in_pcms[] = {
- 	NULL
- };
- 
-+
-+// helper funcion used below
-+int file_exists(const char * filename)
-+{
-+	FILE * file;
-+	if (file = fopen(filename, "r"))
-+	{
-+		fclose(file);
-+		return 1;
-+	}
-+	return 0;
-+}
-+
- static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- 			     snd_config_t *pcm_root, snd_config_t *pcm_conf,
- 			     snd_pcm_stream_t stream, int mode)
-@@ -2141,8 +2154,38 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
- 				err = -ENOMEM;
- 				goto _err;
- 			}
--			lib = buf1;
- 			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
-+			if (!file_exists(buf1)){
-+				// try to locate plugin in one of ALSA_PLUGIN_DIRS which is colon separated list of paths
-+				char * pdirs = getenv("ALSA_PLUGIN_DIRS");
-+
-+				if (pdirs){ // env var set?
-+					char * saveptr;
-+					while (1) {
-+						char * dir_tok = strtok_r(pdirs, "::::", &saveptr); // "::::" to work around bug in glibc and -O2 ? ":" seems to cause a segfault
-+						if (dir_tok == NULL)
-+                            break;
-+						char * so_file = malloc(strlen(str) + strlen(dir_tok) + 32);
-+						if (so_file == NULL) {
-+							err = -ENOMEM;
-+							goto _err;
-+						}
-+
-+						sprintf(so_file, "%s/libasound_module_pcm_%s.so", dir_tok, str);
-+
-+						if (file_exists(so_file)){
-+
-+							free(buf1);
-+							buf1 = so_file;
-+							break;
-+						} else {
-+							free (so_file);
-+						}
-+						pdirs = NULL;
-+					}
-+				}
-+			}
-+			lib = buf1;
- 		}
- 	}
- #ifndef PIC
-
-
-diff --git a/src/control/control.c b/src/control/control.c
-index c090797..137fe57 100644
---- a/src/control/control.c
-+++ b/src/control/control.c
-@@ -854,8 +854,38 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
- 				err = -ENOMEM;
- 				goto _err;
- 			}
-+			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
-+			if (!file_exists(buf1)){
-+				// try to locate plugin in one of ALSA_PLUGIN_DIRS which is colon separated list of paths
-+				char * pdirs = getenv("ALSA_PLUGIN_DIRS");
-+
-+				if (pdirs){ // env var set?
-+					char * saveptr;
-+					while (1) {
-+						char * dir_tok = strtok_r(pdirs, "::::", &saveptr); // "::::" to work around bug in glibc and -O2 ? ":" seems to cause a segfault
-+						if (dir_tok == NULL)
-+                            break;
-+						char * so_file = malloc(strlen(str) + strlen(dir_tok) + 32);
-+						if (so_file == NULL) {
-+							err = -ENOMEM;
-+							goto _err;
-+						}
-+
-+						sprintf(so_file, "%s/libasound_module_ctl_%s.so", dir_tok, str);
-+
-+						if (file_exists(so_file)){
-+
-+							free(buf1);
-+							buf1 = so_file;
-+							break;
-+						} else {
-+							free (so_file);
-+						}
-+						pdirs = NULL;
-+					}
-+				}
-+			}
- 			lib = buf1;
--			sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
- 		}
- 	}
- #ifndef PIC
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index f46e54448b9..41abf488673 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -12,12 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    /* allow specifying alternatives alsa plugin locations using
-       export ALSA_PLUGIN_DIRS=$(nix-build -A alsaPlugins)/lib/alsa-lib
-       This patch should be improved:
-       See http://thread.gmane.org/gmane.linux.distributions.nixos/3435
-    */
-    ./alsa-plugin-dirs.patch
+    ./alsa-plugin-conf-multilib.patch
   ];
 
   # Fix pcm.h file in order to prevent some compilation bugs
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
new file mode 100644
index 00000000000..b30e0f61b1b
--- /dev/null
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "android-udev-rules";
+
+  src = fetchgit {
+    url = "git://github.com/M0Rf30/android-udev-rules";
+    rev = "2cc51a456ccfbca338c4e6b76211645aaac631e9";
+    sha256 = "dbf1614cebb466d1adbcc5f17cefc0c37f148f9e3b46443b3e82f6cd19a1514f";
+  };
+
+  installPhase = ''
+    install -D 51-android.rules $out/lib/udev/rules.d/51-android.rules
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/M0Rf30/android-udev-rules;
+    description = "Android udev rules list aimed to be the most comprehensive on the net";
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/os-specific/linux/apparmor/2.9/default.nix b/pkgs/os-specific/linux/apparmor/2.9/default.nix
new file mode 100644
index 00000000000..0243c2aa456
--- /dev/null
+++ b/pkgs/os-specific/linux/apparmor/2.9/default.nix
@@ -0,0 +1,183 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, perl, which
+, glibc, flex, bison, python27, swig, dbus, pam
+}:
+
+let
+  apparmor-series = "2.9";
+  apparmor-patchver = "1";
+  apparmor-version = "${apparmor-series}.${apparmor-patchver}";
+
+  apparmor-meta = component: with stdenv.lib; {
+      homepage = http://apparmor.net/;
+      description = "Linux application security system - ${component}";
+      license = licenses.gpl2;
+      maintainers = with maintainers; [ phreedom thoughtpolice joachifm ];
+      platforms = platforms.linux;
+  };
+
+  apparmor-sources = fetchurl {
+    url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
+    sha256 = "08ha7aigl40vm80f742rljcckdpfpw1s8g4yii1ysabcqcj8ffx6";
+  };
+
+  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/include/linux/capability.h" "${glibc}/include/linux/capability.h"
+    substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man"
+  '';
+
+  libapparmor = stdenv.mkDerivation {
+    name = "libapparmor-${apparmor-version}";
+    src = apparmor-sources;
+
+    buildInputs = [
+      autoconf
+      automake
+      bison
+      flex
+      dbus # requires patch to dbus ...
+      glibc
+      libtool
+      perl
+      pkgconfig
+      python27
+      swig
+      which
+    ];
+
+    prePatch = prePatchCommon + ''
+      substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
+      substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
+      '';
+
+    buildPhase = ''
+      cd ./libraries/libapparmor
+      ./autogen.sh
+      ./configure --prefix="$out" --with-python --with-perl
+      make
+      '';
+
+    installPhase = ''
+      make install
+    '';
+
+    meta = apparmor-meta "library";
+  };
+
+  apparmor-utils = stdenv.mkDerivation {
+    name = "apparmor-utils-${apparmor-version}";
+    src = apparmor-sources;
+
+    buildInputs = [
+      python27
+      libapparmor
+      which
+    ];
+
+    prePatch = prePatchCommon;
+
+    buildPhase = ''
+      cd ./utils
+      make LANGS=""
+    '';
+
+    installPhase = ''
+      make install LANGS="" DESTDIR="$out" BINDIR="$out/bin" VIM_INSTALL_PATH="$out/share" PYPREFIX=""
+    '';
+
+    meta = apparmor-meta "user-land utilities";
+  };
+
+  apparmor-parser = stdenv.mkDerivation {
+    name = "apparmor-parser-${apparmor-version}";
+    src = apparmor-sources;
+
+    buildInputs = [
+      libapparmor
+      bison
+      flex
+      which
+    ];
+
+    prePatch = prePatchCommon + ''
+      substituteInPlace ./parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison"
+      substituteInPlace ./parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex"
+      substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
+      ## techdoc.pdf still doesn't build ...
+      substituteInPlace ./parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages"
+    '';
+
+    buildPhase = ''
+      cd ./parser
+      make LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include
+    '';
+
+    installPhase = ''
+      make install LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include DESTDIR="$out" DISTRO="unknown"
+    '';
+
+    meta = apparmor-meta "rule parser";
+  };
+
+  apparmor-pam = stdenv.mkDerivation {
+    name = "apparmor-pam-${apparmor-version}";
+    src = apparmor-sources;
+
+    buildInputs = [
+      libapparmor
+      pam
+      pkgconfig
+      which
+    ];
+
+    buildPhase = ''
+      cd ./changehat/pam_apparmor
+      make USE_SYSTEM=1
+    '';
+
+    installPhase = ''
+      make install DESTDIR="$out"
+    '';
+
+    meta = apparmor-meta "PAM service";
+  };
+
+  apparmor-profiles = stdenv.mkDerivation {
+    name = "apparmor-profiles-${apparmor-version}";
+    src = apparmor-sources;
+
+    buildInputs = [ which ];
+
+    buildPhase = ''
+      cd ./profiles
+      make
+    '';
+
+    installPhase = ''
+      make install DESTDIR="$out" EXTRAS_DEST="$out/share/apparmor/extra-profiles"
+    '';
+
+    meta = apparmor-meta "profiles";
+  };
+
+  apparmor-kernel-patches = stdenv.mkDerivation {
+    name = "apparmor-kernel-patches-${apparmor-version}";
+    src = apparmor-sources;
+
+    phases = ''unpackPhase installPhase'';
+
+    installPhase = ''
+      mkdir "$out"
+      cp -R ./kernel-patches "$out"
+    '';
+
+    meta = apparmor-meta "kernel patches";
+  };
+
+in
+
+{
+  inherit libapparmor apparmor-utils apparmor-parser apparmor-pam
+  apparmor-profiles apparmor-kernel-patches;
+}
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 8048419a93b..f68b436bed1 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -5,11 +5,11 @@
 stdenv.mkDerivation rec {
 
   name = "apparmor-${version}";
-  version = "2.8.3";
+  version = "2.8.4";
 
   src = fetchurl {
     url = "http://launchpad.net/apparmor/2.8/${version}/+download/${name}.tar.gz";
-    sha256 = "0zjwhkq9wh76m59zmrzfp68sjy4fnz4h23r7asxyaw6inrzwmhl4";
+    sha256 = "1mki4c44ljmr7dpn55grzn33929kdjx149jx00s80yp1war83jwq";
   };
 
   buildInputs = [
@@ -77,9 +77,13 @@ stdenv.mkDerivation rec {
     cd ..
     cp -r  kernel-patches $out
   '';
-  installPhase = ''
+
+  installPhase = let
+    perlVersion = (builtins.parseDrvName perl.name).version;
+  in ''
     for i in $out/bin/*;  do
-      wrapProgram $i --prefix PERL5LIB : "$PERL5LIB:$out/lib/perl5/5.10.1/i686-linux-thread-multi/"
+      wrapProgram $i --prefix PERL5LIB : \
+        "$PERL5LIB:$out/lib/perl5/${perlVersion}/${stdenv.system}-thread-multi/"
     done
   '';
 
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index d1ca1b35452..8df03910146 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -8,126 +8,129 @@ die(){ echo $@; exit 1; }
 
 # custom unpack:
 unzip $src
-run_file=$(echo amd-catalyst-*)
+run_file=$(echo fglrx-*/amd-driver-installer-*)
 sh $run_file --extract .
 
 eval "$patchPhase"
 
-kernelVersion=$(cd ${kernel}/lib/modules && ls)
-kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build)
-linuxsources=$(echo ${kernel}/lib/modules/$kernelVersion/source)
+case "$system" in
+  x86_64-linux)
+    arch=x86_64
+    lib_arch=lib64
+    DIR_DEPENDING_ON_XORG_VERSION=xpic_64a
+  ;;
+  i686-linux)
+    arch=x86
+    lib_arch=lib
+    DIR_DEPENDING_ON_XORG_VERSION=xpic
+  ;;
+  *) exit 1;;
+esac
 
+# Handle/Build the kernel module.
+if test -z "$libsOnly"; then
 
-# note: maybe the .config file should be used to determine this ?
-# current kbuild infrastructure allows using CONFIG_* defines
-# but ati sources don't use them yet..
-# copy paste from make.sh
-setSMP(){
+  kernelVersion=$(cd ${kernel}/lib/modules && ls)
+  kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build)
+  linuxsources=$(echo ${kernel}/lib/modules/$kernelVersion/source)
 
-  linuxincludes=$kernelBuild/include
+  # note: maybe the .config file should be used to determine this ?
+  # current kbuild infrastructure allows using CONFIG_* defines
+  # but ati sources don't use them yet..
+  # copy paste from make.sh
+  setSMP(){
 
-  # copied and stripped. source: make.sh:
+    linuxincludes=$kernelBuild/include
 
-  # 3
-  # linux/autoconf.h may contain this: #define CONFIG_SMP 1
+    # copied and stripped. source: make.sh:
+    # 3
+    # linux/autoconf.h may contain this: #define CONFIG_SMP 1
 
-  # Before 2.6.33 autoconf.h is under linux/.
-  # For 2.6.33 and later autoconf.h is under generated/.
-  if [ -f $linuxincludes/generated/autoconf.h ]; then
-      autoconf_h=$linuxincludes/generated/autoconf.h
-  else
-      autoconf_h=$linuxincludes/linux/autoconf.h
-  fi
-  src_file=$autoconf_h
+    # Before 2.6.33 autoconf.h is under linux/.
+    # For 2.6.33 and later autoconf.h is under generated/.
+    if [ -f $linuxincludes/generated/autoconf.h ]; then
+        autoconf_h=$linuxincludes/generated/autoconf.h
+    else
+        autoconf_h=$linuxincludes/linux/autoconf.h
+    fi
+    src_file=$autoconf_h
 
-  [ -e $src_file ] || die "$src_file not found"
+    [ -e $src_file ] || die "$src_file not found"
 
-  if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then
-    SMP=`cat $src_file | grep CONFIG_SMP | cut -d' ' -f3`
-    echo "file $src_file says: SMP=$SMP"
-  fi
+    if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then
+      SMP=`cat $src_file | grep CONFIG_SMP | cut -d' ' -f3`
+      echo "file $src_file says: SMP=$SMP"
+    fi
 
-  if [ "$SMP" = 0 ]; then
-    echo "assuming default: SMP=$SMP"
-  fi
+    if [ "$SMP" = 0 ]; then
+      echo "assuming default: SMP=$SMP"
+    fi
 
-  # act on final result
-  if [ ! "$SMP" = 0 ]; then
-    smp="-SMP"
-    def_smp=-D__SMP__
-  fi
+    # act on final result
+    if [ ! "$SMP" = 0 ]; then
+      smp="-SMP"
+      def_smp=-D__SMP__
+    fi
 
-}
+  }
 
-setModVersions(){
-  ! grep CONFIG_MODVERSIONS=y $kernel/config ||
-  def_modversions="-DMODVERSIONS"
-  # make.sh contains much more code to determine this whether its enabled
-}
+  setModVersions(){
+    ! grep CONFIG_MODVERSIONS=y $kernelBuild/.config ||
+    def_modversions="-DMODVERSIONS"
+    # make.sh contains much more code to determine this whether its enabled
+  }
 
-# ==============================================================
-# resolve if we are building for a kernel with a fix for CVE-2010-3081
-# On kernels with the fix, use arch_compat_alloc_user_space instead
-# of compat_alloc_user_space since the latter is GPL-only
+  # ==============================================================
+  # resolve if we are building for a kernel with a fix for CVE-2010-3081
+  # On kernels with the fix, use arch_compat_alloc_user_space instead
+  # of compat_alloc_user_space since the latter is GPL-only
 
-COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
+  COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
 
-for src_file in \
+  for src_file in \
     $kernelBuild/arch/x86/include/asm/compat.h \
     $linuxsources/arch/x86/include/asm/compat.h \
     $kernelBuild/include/asm-x86_64/compat.h \
     $linuxsources/include/asm-x86_64/compat.h \
     $kernelBuild/include/asm/compat.h;
-do
-  if [ -e $src_file ];
-  then
-    break
-  fi
-done
-if [ ! -e $src_file ];
-then
-  echo "Warning: x86 compat.h not found in kernel headers"        
-  echo "neither arch/x86/include/asm/compat.h nor include/asm-x86_64/compat.h" 
-  echo "could be found in $kernelBuild or $linuxsources"            
-  echo ""                                                          
-else
-  if [ `cat $src_file | grep -c arch_compat_alloc_user_space` -gt 0 ]
-  then
-    COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
+  do
+    if [ -e $src_file ];
+    then
+      break
+    fi
+  done
+  if [ ! -e $src_file ];
+    then
+    echo "Warning: x86 compat.h not found in kernel headers"
+    echo "neither arch/x86/include/asm/compat.h nor include/asm-x86_64/compat.h"
+    echo "could be found in $kernelBuild or $linuxsources"
+    echo ""
+  else
+    if [ `cat $src_file | grep -c arch_compat_alloc_user_space` -gt 0 ]
+    then
+      COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
+    fi
+    echo "file $src_file says: COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE"
   fi
-  echo "file $src_file says: COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE" 
-fi
 
+  # make.sh contains some code figuring out whether to use these or not..
+  PAGE_ATTR_FIX=0
+  setSMP
+  setModVersions
+  CC=gcc
+  MODULE=fglrx
+  LIBIP_PREFIX=$TMP/arch/$arch/lib/modules/fglrx/build_mod
+  [ -d $LIBIP_PREFIX ]
+  GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
 
-# make.sh contains some code figuring out whether to use these or not..
-PAGE_ATTR_FIX=0
-setSMP
-setModVersions
-CC=gcc
-MODULE=fglrx
-case "$system" in
-  x86_64-linux)
-    arch=x86_64
-    lib_arch=lib64
-  ;;
-  i686-linux)
-    arch=x86
-    lib_arch=lib
-  ;;
-  *) exit 1;;
-esac
-LIBIP_PREFIX=$TMP/arch/$arch/lib/modules/fglrx/build_mod
-[ -d $LIBIP_PREFIX ]
-GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
+  { # build .ko module
+    cd ./common/lib/modules/fglrx/build_mod/2.6.x
+    echo .lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
+    echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.GCC4.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a.GCC4' > lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
 
-{ # build .ko module
-  cd ./common/lib/modules/fglrx/build_mod/2.6.x
-  echo .lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
-  echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.GCC4.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a.GCC4' > lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
+    sed -i -e "s@COMPAT_ALLOC_USER_SPACE@$COMPAT_ALLOC_USER_SPACE@" ../kcl_ioctl.c
 
-  sed -i -e "s@COMPAT_ALLOC_USER_SPACE@$COMPAT_ALLOC_USER_SPACE@" ../kcl_ioctl.c
-
-  make CC=${CC} \
+    make CC=${CC} \
       LIBIP_PREFIX=$(echo "$LIBIP_PREFIX" | sed -e 's|^\([^/]\)|../\1|') \
       MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \
       KVER=$kernelVersion \
@@ -135,8 +138,10 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
       PAGE_ATTR_FIX=$PAGE_ATTR_FIX \
       -j4
 
-  cd $TMP
-}
+    cd $TMP
+  }
+
+fi
 
 { # install
 
@@ -152,13 +157,15 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   # what are those files used for?
   cp -r common/etc $out
 
-  DIR_DEPENDING_ON_XORG_VERSION=xpic_64a
   cp -r $DIR_DEPENDING_ON_XORG_VERSION/usr/X11R6/$lib_arch/* $out/lib/xorg
 
-  t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc
-  mkdir -p $t
+  # install kernel module
+  if test -z "$libsOnly"; then
+    t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc
+    mkdir -p $t
 
-  cp ./common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $t
+    cp ./common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $t
+  fi
 
   # should this be installed at all?
   # its used by the example fglrx_gamma only
@@ -181,10 +188,47 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   # make xorg use the ati version
   ln -s $out/lib/xorg/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
 
+  # Correct some paths that are hardcoded into binary libs.
+  if [ "$arch" ==  "x86_64" ]; then
+    for lib in \
+      lib/xorg/modules/extensions/fglrx/fglrx-libglx.so \
+      lib/xorg/modules/glesx.so \
+      lib/dri/fglrx_dri.so \
+      lib/fglrx_dri.so \
+      lib/fglrx-libGL.so.1.2
+    do
+      oldPaths="/usr/X11R6/lib/modules/dri"
+      newPaths="/run/opengl-driver/lib/dri"
+      sed -i -e "s|$oldPaths|$newPaths|" $out/$lib
+    done
+  else
+    oldPaths="/usr/X11R6/lib32/modules/dri\x00/usr/lib32/dri"
+    newPaths="/run/opengl-driver-32/lib/dri\x00/dev/null/dri"
+    sed -i -e "s|$oldPaths|$newPaths|" \
+      $out/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so
+
+    for lib in \
+      lib/dri/fglrx_dri.so \
+      lib/fglrx_dri.so \
+      lib/xorg/modules/glesx.so
+    do
+      oldPaths="/usr/X11R6/lib32/modules/dri/"
+      newPaths="/run/opengl-driver-32/lib/dri"
+      sed -i -e "s|$oldPaths|$newPaths|" $out/$lib
+    done
+
+    oldPaths="/usr/X11R6/lib32/modules/dri\x00"
+    newPaths="/run/opengl-driver-32/lib/dri"
+    sed -i -e "s|$oldPaths|$newPaths|" $out/lib/fglrx-libGL.so.1.2
+  fi
+
   # libstdc++ and gcc are needed by some libs
   patchelf --set-rpath $gcc/$lib_arch $out/lib/libatiadlxx.so
+  patchelf --set-rpath $gcc/$lib_arch $out/lib/xorg/modules/glesx.so
 }
 
+if test -z "$libsOnly"; then
+
 { # build samples
   mkdir -p $out/bin
 
@@ -221,7 +265,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
     cp $BIN/* $out/bin
     for prog in $BIN/*; do
       patchelf --set-interpreter $(echo $glibc/lib/ld-linux*.so.2) $out/bin/$(basename $prog)
-      wrapProgram $out/bin/$(basename $prog) --prefix LD_LIBRARY_PATH : $out/lib:$LD_LIBRARY_PATH
+      wrapProgram $out/bin/$(basename $prog) --prefix LD_LIBRARY_PATH : $out/lib:$gcc/lib:$qt4/lib:$LD_LIBRARY_PATH
     done
   }
 
@@ -229,6 +273,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
 
 }
 
+fi
+
 for p in $extraDRIlibs; do
   for lib in $p/lib/*.so*; do
     ln -s $lib $out/lib/
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 0aa67dba237..179166bbc79 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,10 +1,17 @@
-{ stdenv, fetchurl, kernel, xlibs, which, imake
+{ stdenv, fetchurl, kernel ? null, xlibs, which, imake
 , mesa # for fgl_glxgears
 , libXxf86vm, xf86vidmodeproto # for fglrx_gamma
 , xorg, makeWrapper, glibc, patchelf
 , unzip
+, qt4 # for amdcccle
+, # Whether to build the libraries only (i.e. not the kernel module or
+  # driver utils). Used to support 32-bit binaries on 64-bit
+  # Linux.
+  libsOnly ? false
 }:
 
+assert (!libsOnly) -> kernel != null;
+
 # If you want to use a different Xorg version probably
 # DIR_DEPENDING_ON_XORG_VERSION in builder.sh has to be adopted (?)
 # make sure libglx.so of ati is used. xorg.xorgserver does provide it as well
@@ -21,26 +28,23 @@
 # There is one issue left:
 # /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so
 
-# You eventually have to blacklist radeon module (?)
-
-assert stdenv.system == "x86_64-linux";
+with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "ati-drivers-13.12-${kernel.version}";
+  name = "ati-drivers-14.12" + (optionalString (!libsOnly) "-${kernel.version}");
 
   builder = ./builder.sh;
 
   inherit libXxf86vm xf86vidmodeproto;
-  gcc = stdenv.gcc.gcc;
+  gcc = stdenv.cc.cc;
 
   src = fetchurl {
-    url = http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip;
-    sha256 = "1c3fn328340by4qn99dgfj8c2q34fxdb2alcak0vnyc6bw7l5sms";
+    url = http://www2.ati.com/drivers/linux/amd-catalyst-omega-14.12-linux-run-installers.zip;
+    sha256 = "0jd2scrdlyapynxfjdrarnwcdzxjqrk5fg5i10g3bm0ay8v9hrk8";
     curlOpts = "--referer http://support.amd.com/en-us/download/desktop?os=Linux%20x86_64";
   };
 
-  # most patches are taken from gentoo
-  patchPhase = "patch -p1 < ${./gentoo-patches.patch}";
+  patchPhase = "patch -p1 < ${./fglrx_3.17rc6-no_hotplug.patch}";
   patchPhaseSamples = "patch -p2 < ${./patch-samples.patch}";
 
   buildInputs =
@@ -49,9 +53,12 @@ stdenv.mkDerivation {
       patchelf
       unzip
       mesa
+      qt4
     ];
 
-  kernel = kernel.dev;
+  inherit libsOnly;
+
+  kernel = if libsOnly then null else kernel.dev;
 
   inherit glibc /* glibc only used for setting interpreter */;
 
@@ -68,22 +75,14 @@ stdenv.mkDerivation {
   # appear in /run/opengl-driver/lib which get's added to LD_LIBRARY_PATH
   extraDRIlibs = [ xorg.libXext ];
 
-  inherit mesa; # only required to build examples
+  inherit mesa qt4; # only required to build examples and amdcccle
 
   meta = with stdenv.lib; {
     description = "ATI drivers";
     homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx;
     license = licenses.unfree;
-    maintainers = with maintainers; [marcweber offline];
-    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ marcweber offline jgeerds ];
+    platforms = platforms.linux;
     hydraPlatforms = [];
   };
-
-  # moved assertions here because the name is evaluated when the NixOS manual is generated
-  # Don't make that fail - fail lazily when a users tries to build this derivation only
-  dummy =
-    # assert xorg.xorgserver.name == "xorg-server-1.7.5";
-    assert stdenv.system == "x86_64-linux"; # i686-linux should work as well - however I didn't test it.
-    null;
-
 }
diff --git a/pkgs/os-specific/linux/ati-drivers/fglrx_3.17rc6-no_hotplug.patch b/pkgs/os-specific/linux/ati-drivers/fglrx_3.17rc6-no_hotplug.patch
new file mode 100644
index 00000000000..7afd54a59c5
--- /dev/null
+++ b/pkgs/os-specific/linux/ati-drivers/fglrx_3.17rc6-no_hotplug.patch
@@ -0,0 +1,31 @@
+source: https://aur.archlinux.org/packages/catalyst/
+
+diff -uNr 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c
+--- 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c	2014-09-09 16:10:17.000000000 +0200
++++ 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c	2014-09-26 19:01:44.000000000 +0200
+@@ -1093,6 +1093,9 @@
+     // directly here to allow suspend/resume without X server start. 
+         firegl_pci_save_state((KCL_PCI_DevHandle)pdev, privdev);
+         pci_disable_device(pdev);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++	pci_ignore_hotplug(pdev);
++#endif
+         PMSG_EVENT(pdev->dev.power.power_state) = state;
+     }
+     else
+diff -uNr 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2014-09-09 16:10:17.000000000 +0200
++++ 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2014-09-26 18:57:27.000000000 +0200
+@@ -840,10 +840,12 @@
+    if(tdev != NULL)
+    {
+       device = (acpi_device_adr(tdev) >> 16) & 0xffff;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+       if(PCI_SLOT(pdev->devfn) == device)
+       {
+          tdev->flags.no_hotplug = true;
+       }
++#endif
+    }
+ #endif
+    return 0;
diff --git a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
deleted file mode 100644
index 392c2a8c29e..00000000000
--- a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
-index d3ad3ce..9362b58 100755
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
-@@ -34,6 +34,11 @@
- #include <linux/autoconf.h>
- #endif
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
-+#include <linux/uidgid.h>
-+#endif
-+
-+
- #if !defined(CONFIG_X86) 
- #if !defined(CONFIG_X86_PC) 
- #if !defined(CONFIG_X86_XEN) 
-@@ -1543,9 +1548,17 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void)
- KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void)
- {
- #ifdef current_euid
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
-+    return __kuid_val(current_euid());
-+# else
-     return current_euid();
-+# endif
- #else
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
-+    return __kuid_val(current->euid);
-+# else
-     return current->euid;
-+# endif
- #endif
- }
- 
-
-diff -urN a/common/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c
---- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2013-12-27 13:32:34.734832283 +0100
-+++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2013-12-27 13:33:31.849831765 +0100
-@@ -1002,7 +1002,11 @@
- #endif
-     {
-         return KCL_ACPI_ERROR;
--    }    
-+    }
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
-+    ((acpi_tbl_table_handler)handler)(hdr);
-+#else
-     ((acpi_table_handler)handler)(hdr);
-+#endif
-     return KCL_ACPI_OK;
- }
diff --git a/pkgs/os-specific/linux/atop/default.nix b/pkgs/os-specific/linux/atop/default.nix
index fd4b6df9552..17adcabf223 100644
--- a/pkgs/os-specific/linux/atop/default.nix
+++ b/pkgs/os-specific/linux/atop/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, zlib, ncurses}:
 
 stdenv.mkDerivation rec {
-  version = "2.0.2";
+  version = "2.1-1";
   name = "atop-${version}";
 
   src = fetchurl {
     url = "http://www.atoptool.nl/download/atop-${version}.tar.gz";
-    sha256 = "029lfa2capz1lg3m3rnyrgb8v6jm4znin84vjh2f0zkwvvhdn856";
+    sha256 = "17wqqyym4d02cqmn1l1asah3sld939nlkc84g4ad939kpkzd98ir";
   };
 
   buildInputs = [zlib ncurses];
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
     sed -e '/chkconfig/d' -i Makefile
   '';
 
+  preInstall = ''
+    mkdir -p "$out"/{bin,sbin}
+  '';
+
   meta = {
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
@@ -37,6 +41,5 @@ stdenv.mkDerivation rec {
     '';
     inherit version;
     downloadPage = http://atoptool.nl/downloadatop.php;
-    updateWalker = true;
   };
 }
diff --git a/pkgs/os-specific/linux/atop/default.upstream b/pkgs/os-specific/linux/atop/default.upstream
new file mode 100644
index 00000000000..46099d9c959
--- /dev/null
+++ b/pkgs/os-specific/linux/atop/default.upstream
@@ -0,0 +1,4 @@
+url http://atoptool.nl/downloadatop.php
+version_link '[.]tar[.]'
+version '[^0-9]*[-.]([0-9]([-0-9.]*[0-9])?)[.].*' '\1'
+minimize_overwrite
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 9de84e228c4..05b9eb9e56f 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "audit-2.3.2";
+  name = "audit-2.4.1";
 
   src = fetchurl {
     url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
-    sha256 = "0a8x10wz0xfj0iq1wgjl6hdhxvq58cb3906vc687i21876sy0wl8";
+    sha256 = "09ihn392pmac1pyjrs22966csia83yr84hq5ri6sybwj1vx4d4q5";
   };
 
   buildInputs = [ openldap ]
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "http://people.redhat.com/sgrubb/audit/";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/os-specific/linux/autofs/autofs-v5.nix b/pkgs/os-specific/linux/autofs/autofs-v5.nix
index 5c5c2f026af..787cd34180e 100644
--- a/pkgs/os-specific/linux/autofs/autofs-v5.nix
+++ b/pkgs/os-specific/linux/autofs/autofs-v5.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     configureFlags="--disable-move-mount --with-path=$PATH"
     export MOUNT=/var/run/current-system/sw/bin/mount
     export UMOUNT=/var/run/current-system/sw/bin/umount
-    export MODPROBE=/var/run/current-system/sw/sbin/modprobe
+    export MODPROBE=/var/run/current-system/sw/bin/modprobe
     # Grrr, rpcgen can't find cpp. (NIXPKGS-48)
     mkdir rpcgen
     echo "#! $shell" > rpcgen/rpcgen
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
new file mode 100644
index 00000000000..2d9f5079586
--- /dev/null
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, gpsd }:
+
+let
+  ver = "2014.4.0";
+in
+stdenv.mkDerivation rec {
+  name = "alfred-${ver}";
+
+  src = fetchurl {
+    url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
+    sha256 = "99e6c64e7069b0b7cb861369d5c198bfc7d74d41509b8edd8a17ba78e7c8d034";
+  };
+
+  buildInputs = [ pkgconfig gpsd ];
+
+  preBuild = ''
+    makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/pkg-config"
+  '';
+
+  meta = {
+    homepage = http://www.open-mesh.org/projects/batman-adv/wiki/Wiki;
+    description = "B.A.T.M.A.N. routing protocol in a linux kernel module for layer 2, information distribution tool";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fpletz ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index 6e57e7651c4..5ac3e6b4117 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}:
 
 let
-  ver = "2013.4.0";
+  ver = "2014.4.0";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0k6b695h38m92a8wn5gvb3z746m3fm0ygv58yyn163adcsvf7sjd";
+    sha256 = "4deae3b6664d0d13acf7a8ece74175a31a72fe58fb15cb9112a9a2014b32cb4c";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index fee955bcca2..341b6f3af1d 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, kernel }:
 
-let base = "batman-adv-2013.4.0"; in
+assert stdenv.lib.versionOlder kernel.version "3.17";
+
+let base = "batman-adv-2014.4.0"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha1 = "870a85df5410b3b5623be69e75297e642c91a7d4";
+    sha256 = "757b9ddd346680f6fd87dc28fde6da0ddc0423a65fbc88fdbaa7b247fed2c1a8";
   };
 
   preBuild = ''
@@ -20,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.open-mesh.org/projects/batman-adv/wiki/Wiki;
     description = "B.A.T.M.A.N. routing protocol in a linux kernel module for layer 2";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ viric fpletz ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index 6c7d6d5330e..ec1e5f2e20b 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernel }:
+{ stdenv, fetchurl, fetchpatch, kernel }:
 
 let
   baseName = "bbswitch";
@@ -15,6 +15,11 @@ stdenv.mkDerivation {
     sha256 = "0xql1nv8dafnrcg54f3jsi3ny3cd2ca9iv73pxpgxd2gfczvvjkn";
   };
 
+  patches = [ (fetchpatch {
+    url = "https://github.com/Bumblebee-Project/bbswitch/pull/102.patch";
+    sha256 = "1lbr6pyyby4k9rn2ry5qc38kc738d0442jhhq57vmdjb6hxjya7m";
+  }) ];
+
   preBuild = ''
     substituteInPlace Makefile \
       --replace "\$(shell uname -r)" "${kernel.modDirVersion}" \
@@ -39,8 +44,10 @@ stdenv.mkDerivation {
     chmod +x $out/bin/discrete_vga_poweroff $out/bin/discrete_vga_poweron
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
     description = "A module for powering off hybrid GPUs";
+    platforms = platforms.linux;
+    homepage = https://github.com/Bumblebee-Project/bbswitch;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
index 43673c899b4..7681e8e3c31 100644
--- a/pkgs/os-specific/linux/blcr/default.nix
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, kernel, perl, makeWrapper }:
 
-# BLCR 0.8.4 works for kernel version up to 2.6.38 (including 2.6.38.x)
 # BLCR 0.8.5 should works for kernel version up to 3.7.1
+# BLCR 0.8.6 should works for kernel version up to 3.17.x
 
 assert stdenv.isLinux;
-assert builtins.compareVersions "3.7.2" kernel.version == 1;
+assert builtins.compareVersions "3.18" kernel.version == 1;
 
 stdenv.mkDerivation {
-  name = "blcr_${kernel.version}-0.8.5";
+  name = "blcr_${kernel.version}-0.8.6pre4";
 
   src = fetchurl {
-    url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz;
-    sha256 = "01a809nfbr715pnidlslv55pxadm3021l97p98zkqy8chyrnkjb0";
+    url = https://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.6_b4.tar.gz;
+    sha256 = "1a3gdhdnmk592jc652szxgfz8rjd8dax5jwxfsypiqx5lgkj3m21";
   };
 
   buildInputs = [ perl makeWrapper ];
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index 2a87611a680..61d3667f165 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python,
   pythonPackages, pythonDBus, readline, libsndfile, udev, libical,
-  systemd }:
+  systemd, enableWiimote ? false }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.22";
+  name = "bluez-5.29";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "10h8p89jnhxhjw4x53j4r53i999qjaz82l5591q6q48qb98ndf78";
+    sha256 = "1r7h8qr52n372r73fdyk804r92hqg9g6pvflwmak64y6brnnl8fz";
   };
 
   pythonPath = with pythonPackages;
@@ -38,7 +38,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" ];
 
   # Work around `make install' trying to create /var/lib/bluetooth.
   installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";
diff --git a/pkgs/os-specific/linux/bluez/bluez5_28.nix b/pkgs/os-specific/linux/bluez/bluez5_28.nix
new file mode 100644
index 00000000000..7f5a30144c8
--- /dev/null
+++ b/pkgs/os-specific/linux/bluez/bluez5_28.nix
@@ -0,0 +1,79 @@
+{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python,
+  pythonPackages, pythonDBus, readline, libsndfile, udev, libical,
+  systemd, enableWiimote ? false }:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "bluez-5.28";
+   
+  src = fetchurl {
+    url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
+    sha256 = "1a8qzh38wpq5c0rydpx9isf0jc6g14g2qs18j1rmi8a79f7v9fl5";
+  };
+
+  pythonPath = with pythonPackages;
+    [ pythonDBus pygobject pygobject3 recursivePthLoader ];
+
+  buildInputs =
+    [ pkgconfig dbus.libs 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
+  '';
+
+  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 3b876322f1f..23e5171d178 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -24,7 +24,11 @@ stdenv.mkDerivation rec {
       # gstreamer gst_plugins_base 
     ];
 
-  configureFlags = "--localstatedir=/var --enable-cups";
+  configureFlags = [
+    "--localstatedir=/var"
+    "--enable-cups"
+    "--with-systemdunitdir=$(out)/etc/systemd/system"
+    ];
 
   # Work around `make install' trying to create /var/lib/bluetooth.
   installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";
diff --git a/pkgs/os-specific/linux/bridge-utils/add-ip6-header.patch b/pkgs/os-specific/linux/bridge-utils/add-ip6-header.patch
new file mode 100644
index 00000000000..c9149bfec38
--- /dev/null
+++ b/pkgs/os-specific/linux/bridge-utils/add-ip6-header.patch
@@ -0,0 +1,11 @@
+diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h
+index 39964f2..dd14bae 100644
+--- a/libbridge/libbridge.h
++++ b/libbridge/libbridge.h
+@@ -20,6 +20,7 @@
+ #define _LIBBRIDGE_H
+
+ #include <sys/socket.h>
++#include <netinet/in.h>
+ #include <linux/if.h>
+ #include <linux/if_bridge.h>
diff --git a/pkgs/os-specific/linux/bridge-utils/default.nix b/pkgs/os-specific/linux/bridge-utils/default.nix
index 029f7ed6e29..2fdf728ef4e 100644
--- a/pkgs/os-specific/linux/bridge-utils/default.nix
+++ b/pkgs/os-specific/linux/bridge-utils/default.nix
@@ -1,19 +1,24 @@
-{ stdenv, fetchurl, autoconf, automake }:
+{ stdenv, fetchurl, autoreconfHook }:
 
-let
+stdenv.mkDerivation rec {
   name = "bridge-utils-1.5";
-in
-stdenv.mkDerivation {
-  inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/bridge/${name}.tar.gz";
     sha256 = "42f9e5fb8f6c52e63a98a43b81bd281c227c529f194913e1c51ec48a393b6688";
   };
 
-  buildInputs = [ autoconf automake ];
+  # Remove patch once the kernel headers are updated
+  patches = [ ./add-ip6-header.patch ];
 
-  preConfigure = "autoreconf";
+  buildInputs = [ autoreconfHook ];
+
+  postInstall = ''
+    # The bridge utils build does not fail even if the brctl binary
+    # is not build. This test ensures that we fail if we don't produce a brctl
+    # binary.
+    test -f $out/sbin/brctl
+  '';
 
   meta = {
     description = "http://sourceforge.net/projects/bridge/";
diff --git a/pkgs/os-specific/linux/broadcom-sta/cfg80211_inform_bss-3.18.patch b/pkgs/os-specific/linux/broadcom-sta/cfg80211_inform_bss-3.18.patch
new file mode 100644
index 00000000000..100ac9161a6
--- /dev/null
+++ b/pkgs/os-specific/linux/broadcom-sta/cfg80211_inform_bss-3.18.patch
@@ -0,0 +1,21 @@
+Found on a random place http://web.archiveorange.com/archive/v/CcRuxYExfvTxfKcBFLah
+Nicolas Viéville, Oct 27 2014
+diff -Naur hybrid-v35_64-nodebug-pcoem-6_30_223_248.orig/src/wl/sys/wl_cfg80211_hybrid.c hybrid-v35_64-nodebug-pcoem-6_30_223_248/src/wl/sys/wl_cfg80211_hybrid.c
+--- hybrid-v35_64-nodebug-pcoem-6_30_223_248.orig/src/wl/sys/wl_cfg80211_hybrid.c	2014-09-10 19:27:13.301316000 +0200
++++ hybrid-v35_64-nodebug-pcoem-6_30_223_248/src/wl/sys/wl_cfg80211_hybrid.c	2014-10-27 11:21:58.213536239 +0100
+@@ -2025,7 +2025,15 @@
+ 	notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
+ 	notify_ielen = le32_to_cpu(bi->ie_length);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
++	cbss = cfg80211_inform_bss(wiphy, channel,
++		(mgmt_type == IEEE80211_STYPE_PROBE_RESP) ? CFG80211_BSS_FTYPE_PRESP : CFG80211_BSS_FTYPE_BEACON,
++		(const u8 *)(bi->BSSID.octet),
++		0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
++		(const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
++#else
+ 	cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
+ 		0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
+ 		(const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
++#endif
+ 	if (unlikely(!cbss))
+ 		return -ENOMEM;
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index 1ed13c2e450..94f51911295 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -1,25 +1,26 @@
 { stdenv, fetchurl, kernel }:
 let
-  version = "6_30_223_141";
+  version = "6.30.223.248";
 in
 stdenv.mkDerivation {
   name = "broadcom-sta-${version}-${kernel.version}";
 
   src = if stdenv.system == "i686-linux" then (
     fetchurl {
-      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-${version}.tar.gz";
-      sha256 = "19wra62dpm0x0byksh871yxr128b4v13kzkzqv56igjfpzv36z6m";
+      url = http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_248.tar.gz;
+      sha256 = "1bd13pq5hj4yzp32rx71sg1i5wkzdsg1s32xsywb48lw88x595mi";
     } ) else (
     fetchurl {
-      url = "http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-${version}.tar.gz";
-      sha256 = "0jlvch7d3khmmg5kp80x4ka33hidj8yykqjcqq6j56z2g6wb4dsz";
+      url = http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz;
+      sha256 = "08ihbhwnqpnazskw9rlrk0alanp4x70kl8bsy2vg962iq334r69x";
     }
   );
 
   patches = [
-    ./linux-recent.patch
     ./license.patch
     ./cfg80211_ibss_joined-channel-parameter.patch
+    ./netdev-3.17.patch
+    ./cfg80211_inform_bss-3.18.patch
   ];
 
   makeFlags = "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
@@ -42,7 +43,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Kernel module driver for some Broadcom's wireless cards";
     homepage = http://www.broadcom.com/support/802.11/linux_sta.php;
-    license = "unfree-redistributable";
+    license = stdenv.lib.licenses.unfreeRedistributable;
     maintainers = with stdenv.lib.maintainers; [ phreedom vcunat ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch b/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
deleted file mode 100644
index 97a331a2bd7..00000000000
--- a/pkgs/os-specific/linux/broadcom-sta/linux-recent.patch
+++ /dev/null
@@ -1,126 +0,0 @@
---- a/src/wl/sys/wl_linux.c	2013-08-01 08:52:22.000000000 +0200
-+++ b/src/wl/sys/wl_linux.c	2013-09-13 14:25:36.463020788 +0200
-@@ -910,7 +910,11 @@
- 	pci_set_drvdata(pdev, NULL);
- }
- 
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
- static struct pci_driver wl_pci_driver = {
-+#else
-+static struct pci_driver wl_pci_driver __refdata = {
-+#endif
- 	name:		"wl",
- 	probe:		wl_pci_probe,
- 	suspend:	wl_suspend,
-@@ -3235,7 +3239,7 @@
- void
- wl_tkip_printstats(wl_info_t *wl, bool group_key)
- {
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- 	char debug_buf[512];
- 	int idx;
- 	if (wl->tkipmodops) {
-@@ -3408,6 +3412,7 @@
- 	return 0;
- }
- 
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
- static int
- wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
- {
-@@ -3462,19 +3467,90 @@
- 	return length;
- }
- 
-+#else
-+
-+static int
-+wl_proc_read(struct seq_file *seq, void *offset)
-+{
-+	wl_info_t * wl = (wl_info_t *)seq->private;
-+	int bcmerror, to_user;
-+
-+	WL_LOCK(wl);
-+	bcmerror = wlc_ioctl(wl->wlc, WLC_GET_MONITOR, &to_user, sizeof(int), NULL);
-+	WL_UNLOCK(wl);
-+
-+	seq_printf(seq, "%d\n", to_user);
-+	return bcmerror;
-+}
-+
-+static ssize_t wl_proc_write(struct file *file, const char __user *buff,
-+			     size_t length, loff_t *ppos)
-+{
-+	struct seq_file *seq = file->private_data;
-+	wl_info_t * wl = (wl_info_t *)seq->private;
-+	int bcmerror, from_user = 0;
-+
-+	if (length != 1) {
-+		WL_ERROR(("%s: Invalid data length\n", __FUNCTION__));
-+		return -EIO;
-+	}
-+
-+	if (copy_from_user(&from_user, buff, 1)) {
-+		WL_ERROR(("%s: copy from user failed\n", __FUNCTION__));
-+		return -EFAULT;
-+	}
-+
-+	if (from_user >= 0x30)
-+		from_user -= 0x30;
-+
-+	WL_LOCK(wl);
-+	bcmerror = wlc_ioctl(wl->wlc, WLC_SET_MONITOR, &from_user, sizeof(int), NULL);
-+	WL_UNLOCK(wl);
-+
-+	if (bcmerror < 0) {
-+		WL_ERROR(("%s: SET_MONITOR failed with %d\n", __FUNCTION__, bcmerror));
-+		return -EIO;
-+	}
-+	*ppos += length;
-+	return length;
-+}
-+
-+static int wl_proc_open(struct inode *inode, struct file *file)
-+{
-+	return single_open(file, wl_proc_read, PDE_DATA(inode));
-+}
-+
-+static const struct file_operations wl_proc_fops = {
-+	.owner = THIS_MODULE,
-+	.open = wl_proc_open,
-+	.read = seq_read,
-+	.write = wl_proc_write,
-+	.llseek = seq_lseek,
-+	.release = single_release,
-+};
-+#endif
-+
- static int
- wl_reg_proc_entry(wl_info_t *wl)
- {
- 	char tmp[32];
- 	sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit);
--	if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
-+	wl->proc_entry = create_proc_entry(tmp, 0644, NULL);
-+	if (wl->proc_entry) {
-+		wl->proc_entry->read_proc = wl_proc_read;
-+		wl->proc_entry->write_proc = wl_proc_write;
-+		wl->proc_entry->data = wl;
-+	} 
-+#else
-+	wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_proc_fops, wl);
-+#endif
-+	if (!wl->proc_entry) {
- 		WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
- 		ASSERT(0);
- 		return -1;
- 	}
--	wl->proc_entry->read_proc = wl_proc_read;
--	wl->proc_entry->write_proc = wl_proc_write;
--	wl->proc_entry->data = wl;
- 	return 0;
- }
- #ifdef WLOFFLD
diff --git a/pkgs/os-specific/linux/broadcom-sta/netdev-3.17.patch b/pkgs/os-specific/linux/broadcom-sta/netdev-3.17.patch
new file mode 100644
index 00000000000..5a33cef7370
--- /dev/null
+++ b/pkgs/os-specific/linux/broadcom-sta/netdev-3.17.patch
@@ -0,0 +1,15 @@
+diff -Naur a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
+--- a/src/wl/sys/wl_linux.c	2014-06-26 06:42:08.000000000 -0400
++++ b/src/wl/sys/wl_linux.c	2014-10-13 12:00:04.446122588 -0400
+@@ -1307,7 +1307,11 @@
+ 	dev->priv = priv_link;
+ #else
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0)
++	dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN, ether_setup);
++#else
+ 	dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
++#endif
+ 	if (!dev) {
+ 		WL_ERROR(("wl%d: %s: alloc_netdev failed\n",
+ 			(wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__));
diff --git a/pkgs/os-specific/linux/busybox/busybox-in-store.patch b/pkgs/os-specific/linux/busybox/busybox-in-store.patch
new file mode 100644
index 00000000000..ea245a49259
--- /dev/null
+++ b/pkgs/os-specific/linux/busybox/busybox-in-store.patch
@@ -0,0 +1,16 @@
+Allow BusyBox to be invoked as "<something>-busybox". This is
+necessary when it's run from the Nix store as <hash>-busybox during
+stdenv bootstrap.
+
+diff -ru -x '*~' busybox-1.22.1-orig/libbb/appletlib.c busybox-1.22.1/libbb/appletlib.c
+--- busybox-1.22.1-orig/libbb/appletlib.c	2014-01-09 19:15:44.000000000 +0100
++++ busybox-1.22.1/libbb/appletlib.c	2014-10-29 09:53:01.232052068 +0100
+@@ -764,7 +764,7 @@
+ 	int applet = find_applet_by_name(name);
+ 	if (applet >= 0)
+ 		run_applet_no_and_exit(applet, argv);
+-	if (strncmp(name, "busybox", 7) == 0)
++	if (strstr(name, "busybox") != 0)
+ 		exit(busybox_main(argv));
+ }
+ 
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 98fedb2d3f4..47f9fb9a5a4 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, enableStatic ? false, extraConfig ? ""}:
+{ lib, stdenv, uclibc, fetchurl, enableStatic ? false, enableMinimal ? false, useUclibc ? false, extraConfig ? "" }:
 
 let
   configParser = ''
@@ -7,14 +7,7 @@ let
             NAME=`echo "$LINE" | cut -d \  -f 1`
             OPTION=`echo "$LINE" | cut -d \  -f 2`
 
-            if test -z "$NAME"; then
-                continue
-            fi
-
-            if test "$NAME" == "CLEAR"; then
-                echo "parseconfig: CLEAR"
-                echo > .config
-            fi
+            if ! [[ "$NAME" =~ ^CONFIG_ ]]; then continue; fi
 
             echo "parseconfig: removing $NAME"
             sed -i /$NAME'\(=\| \)'/d .config
@@ -25,19 +18,6 @@ let
     }
   '';
 
-  nixConfig = ''
-    CONFIG_PREFIX "$out"
-    CONFIG_INSTALL_NO_USR y
-
-    # Use the external mount.cifs program.
-    CONFIG_FEATURE_MOUNT_CIFS n
-    CONFIG_FEATURE_MOUNT_HELPERS y
-  '';
-
-  staticConfig = stdenv.lib.optionalString enableStatic ''
-    CONFIG_STATIC y
-  '';
-
 in
 
 stdenv.mkDerivation rec {
@@ -48,16 +28,34 @@ stdenv.mkDerivation rec {
     sha256 = "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf";
   };
 
+  patches = [ ./busybox-in-store.patch ];
+
   configurePhase = ''
-    make defconfig
+    export KCONFIG_NOTIMESTAMP=1
+    make ${if enableMinimal then "allnoconfig" else "defconfig"}
+
     ${configParser}
+
     cat << EOF | parseconfig
-    ${staticConfig}
-    ${nixConfig}
+
+    CONFIG_PREFIX "$out"
+    CONFIG_INSTALL_NO_USR y
+
+    ${lib.optionalString enableStatic ''
+      CONFIG_STATIC y
+    ''}
+
+    # Use the external mount.cifs program.
+    CONFIG_FEATURE_MOUNT_CIFS n
+    CONFIG_FEATURE_MOUNT_HELPERS y
+
     ${extraConfig}
     $extraCrossConfig
     EOF
+
     make oldconfig
+  '' + lib.optionalString useUclibc ''
+    makeFlagsArray+=("CC=gcc -isystem ${uclibc}/include -B${uclibc}/lib -L${uclibc}/lib")
   '';
 
   crossAttrs = {
@@ -74,8 +72,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tiny versions of common UNIX utilities in a single small executable";
     homepage = http://busybox.net/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = lib.licenses.gpl2;
+    maintainers = [ lib.maintainers.viric ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch b/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch
deleted file mode 100644
index 8163a86e3cd..00000000000
--- a/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/include/libbb.h b/include/libbb.h
-index f12800f..e7806c2 100644
---- a/include/libbb.h
-+++ b/include/libbb.h
-@@ -40,6 +40,7 @@
- #include <sys/poll.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
-+#include <sys/resource.h>
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <sys/time.h>
diff --git a/pkgs/os-specific/linux/cgmanager/default.nix b/pkgs/os-specific/linux/cgmanager/default.nix
new file mode 100644
index 00000000000..79be500a13d
--- /dev/null
+++ b/pkgs/os-specific/linux/cgmanager/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libnih, dbus }:
+
+stdenv.mkDerivation rec {
+  name = "cgmanager-0.36";
+
+  src = fetchurl {
+    url = "https://linuxcontainers.org/downloads/cgmanager/${name}.tar.gz";
+    sha256 = "039azd4ghpmiccd95ki8fna321kccapff00rib6hrdgg600pyw7l";
+  };
+
+  buildInputs = [ pkgconfig libnih dbus ];
+
+  configureFlags = [
+    "--with-init-script=systemd"
+    "--sysconfdir=/etc/"
+    "--localstatedir=/var"
+  ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  postInstall = ''
+    mv $out/$out/* $out
+    DIR=$out/$out
+    while rmdir $DIR 2>/dev/null; do
+      DIR="$(dirname "$DIR")"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://linuxcontainers.org/cgmanager/introduction/;
+    description = "a central privileged daemon that manages all your cgroups";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index ce609c5be47..46a927209a2 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -1,18 +1,21 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, kerberos, keyutils, pam }:
 
 stdenv.mkDerivation rec {
-  name = "cifs-utils-6.3";
+  name = "cifs-utils-6.4";
 
   src = fetchurl {
-    url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "0nrpd3ibzfhdxgq1pw0jhzx163z5jvq4qcjxl35qlqj74lm3pxzz";
+    url = "mirror://samba/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
+    sha256 = "1qz6d2xg4z1if0hy7qwyzgcr59l0alkhci6gxgjdldglda967z1q";
   };
 
+  buildInputs = [ kerberos keyutils pam ];
+
   makeFlags = "root_sbindir=$(out)/sbin";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.samba.org/linux-cifs/cifs-utils/;
     description = "Tools for managing Linux CIFS client filesystems";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.lgpl3;
   };
 }
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index 52e5d95346e..c54d4aa6319 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -1,31 +1,59 @@
 { stdenv, fetchurl, pkgconfig
 
 # dependencies
-, glib, ncurses
+, glib
 
 # optional features without extra dependencies
-, mpdSupport   ? true
+, mpdSupport          ? true
+, ibmSupport          ? true # IBM/Lenovo notebooks
+
+# This should be optional, but it is not due to a bug in conky
+# Please, try to make it optional again on update
+, ncurses
+#, ncursesSupport      ? true      , ncurses       ? null
 
 # optional features with extra dependencies
-, x11Support   ? false, x11           ? null
-, xdamage      ? false, libXdamage    ? null
-, wireless     ? false, wirelesstools ? null
-, luaSupport   ? false, lua5          ? null
-
-, rss          ? false
-, weatherMetar ? false
-, weatherXoap  ? false
-, curl ? null, libxml2 ? null
+, x11Support          ? true      , x11           ? null
+, xdamageSupport      ? x11Support, libXdamage    ? null
+, imlib2Support       ? x11Support, imlib2        ? null
+, luaSupport          ? true      , lua           ? null
+
+, luaImlib2Support    ? luaSupport && imlib2Support
+, luaCairoSupport     ? luaSupport && x11Support, cairo ? null
+, toluapp ? null
+
+, alsaSupport         ? true      , alsaLib       ? null
+
+, wirelessSupport     ? true      , wirelesstools ? null
+
+, curlSupport         ? true      , curl ? null
+, rssSupport          ? curlSupport
+, weatherMetarSupport ? curlSupport
+, weatherXoapSupport  ? curlSupport
+, libxml2 ? null
 }:
 
-assert luaSupport -> lua5          != null;
-assert wireless   -> wirelesstools != null;
-assert x11Support -> x11           != null;
-assert xdamage    -> x11Support && libXdamage != null;
+#assert ncursesSupport      -> ncurses != null;
+
+assert x11Support          -> x11 != null;
+assert xdamageSupport      -> x11Support && libXdamage != null;
+assert imlib2Support       -> x11Support && imlib2     != null;
+assert luaSupport          -> lua != null;
+assert luaImlib2Support    -> luaSupport && imlib2Support
+                                         && toluapp != null;
+assert luaCairoSupport     -> luaSupport && toluapp != null
+                                         && cairo   != null;
+assert luaCairoSupport || luaImlib2Support
+                           -> lua.luaversion == "5.1";
 
-assert rss          -> curl != null && libxml2 != null;
-assert weatherMetar -> curl != null;
-assert weatherXoap  -> curl != null && libxml2 != null;
+assert alsaSupport         -> alsaLib != null;
+
+assert wirelessSupport     -> wirelesstools != null;
+
+assert curlSupport         -> curl != null;
+assert rssSupport          -> curlSupport && libxml2 != null;
+assert weatherMetarSupport -> curlSupport;
+assert weatherXoapSupport  -> curlSupport && libxml2 != null;
 
 with stdenv.lib;
 
@@ -39,30 +67,47 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-lgcc_s";
 
-  buildInputs = [ pkgconfig glib ncurses ]
-    ++ optional  luaSupport   lua5
-    ++ optional  wireless     wirelesstools
-    ++ optional  x11Support   x11
-    ++ optional  xdamage      libXdamage
+  buildInputs = [ pkgconfig glib ]
+    ++ [ ncurses ]
+    #++ optional  ncursesSupport     ncurses
+    ++ optional  x11Support         x11
+    ++ optional  xdamageSupport     libXdamage
+    ++ optional  imlib2Support      imlib2
+    ++ optional  luaSupport         lua
+    ++ optionals luaImlib2Support   [ toluapp imlib2 ]
+    ++ optionals luaCairoSupport    [ toluapp cairo ]
+
+    ++ optional  alsaSupport        alsaLib
 
-    ++ optionals rss          [ curl libxml2 ]
-    ++ optional  weatherMetar curl
-    ++ optionals weatherXoap  [ curl libxml2 ]
+    ++ optional  wirelessSupport    wirelesstools
+
+    ++ optional  curlSupport        curl
+    ++ optional  rssSupport         libxml2
+    ++ optional  weatherXoapSupport libxml2
     ;
 
   configureFlags =
     let flag = state: flags: if state then map (x: "--enable-${x}")  flags
                                       else map (x: "--disable-${x}") flags;
-     in flag mpdSupport   [ "mpd" ]
+     in flag mpdSupport          [ "mpd" ]
+     ++ flag ibmSupport          [ "ibm" ]
+
+     #++ flag ncursesSupport      [ "ncurses" ]
+     ++ flag x11Support          [ "x11" "xft" "argb" "double-buffer" "own-window" ] # conky won't compile without --enable-own-window
+     ++ flag xdamageSupport      [ "xdamage" ]
+     ++ flag imlib2Support       [ "imlib2" ]
+     ++ flag luaSupport          [ "lua" ]
+     ++ flag luaImlib2Support    [ "lua-imlib2" ]
+     ++ flag luaCairoSupport     [ "lua-cairo" ]
+
+     ++ flag alsaSupport         [ "alsa" ]
 
-     ++ flag luaSupport   [ "lua" ]
-     ++ flag wireless     [ "wlan" ]
-     ++ flag x11Support   [ "x11" "xft" "argb" "double-buffer" "own-window" ] # conky won't compile without --enable-own-window
-     ++ flag xdamage      [ "xdamage" ]
+     ++ flag wirelessSupport     [ "wlan" ]
 
-     ++ flag rss          [ "rss" ]
-     ++ flag weatherMetar [ "weather-metar" ]
-     ++ flag weatherXoap  [ "weather-xoap" ]
+     ++ flag curlSupport         [ "curl" ]
+     ++ flag rssSupport          [ "rss" ]
+     ++ flag weatherMetarSupport [ "weather-metar" ]
+     ++ flag weatherXoapSupport  [ "weather-xoap" ]
      ;
 
   meta = {
diff --git a/pkgs/os-specific/linux/conntrack-tools/default.nix b/pkgs/os-specific/linux/conntrack-tools/default.nix
new file mode 100644
index 00000000000..51358628ff1
--- /dev/null
+++ b/pkgs/os-specific/linux/conntrack-tools/default.nix
@@ -0,0 +1,24 @@
+{ fetchurl, stdenv, flex, bison, pkgconfig, libmnl, libnfnetlink
+, libnetfilter_conntrack, libnetfilter_queue, libnetfilter_cttimeout
+, libnetfilter_cthelper }:
+
+stdenv.mkDerivation rec {
+  name = "conntrack-tools-${version}";
+  version = "1.4.2";
+
+  src = fetchurl {
+    url = "http://www.netfilter.org/projects/conntrack-tools/files/${name}.tar.bz2";
+    sha256 = "e5c423dc077f9ca8767eaa6cf40446943905711c6a8fe27f9cc1977d4d6aa11e";
+  };
+
+  buildInputs = [ libmnl libnfnetlink libnetfilter_conntrack libnetfilter_queue
+    libnetfilter_cttimeout libnetfilter_cthelper ];
+  nativeBuildInputs = [ flex bison pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = http://conntrack-tools.netfilter.org/;
+    description = "Connection tracking userspace tools";
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix
index f8be37edfe2..6961768e7d3 100644
--- a/pkgs/os-specific/linux/consoletools/default.nix
+++ b/pkgs/os-specific/linux/consoletools/default.nix
@@ -2,20 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "linuxconsoletools-${version}";
-  version = "1.4.6";
+  version = "1.4.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxconsole/${name}.tar.bz2";
-    sha256 = "0035yhjbjdis5wqmbdz67xq61065x7vrx5mb7kb1rhrx3ag43wcf";
+    sha256 = "0spf9hx48cqx2i46pkz0gbrn7xrk68cw8iyrfbs2b3k0bxcsri13";
   };
 
   buildInputs = [ SDL ];
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "DESTDIR=$(out)"];
 
-  meta = {
-    homepage = "https://sourceforge.net/projects/linuxconsole/";
+  meta = with stdenv.lib; {
+    homepage = https://sourceforge.net/projects/linuxconsole/;
     description = "A set of tools for joysticks and serial peripherals";
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
 
     longDescription = ''
       The included tools are:
diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix
index d252d9ce162..78d403a3afc 100644
--- a/pkgs/os-specific/linux/conspy/default.nix
+++ b/pkgs/os-specific/linux/conspy/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="conspy";
-    version="1.9";
+    version="1.10";
     name="${baseName}-${version}";
-    hash="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv";
-    url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.9.tar.gz";
-    sha256="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv";
+    hash="1vnph4xa1qp4sr52jc9zldmbdpkr6z5j7hk2vgyhfn7m1vc5g0qw";
+    url="mirror://sourceforge/project/conspy/conspy-1.10-1/conspy-1.10.tar.gz";
+    sha256="1vnph4xa1qp4sr52jc9zldmbdpkr6z5j7hk2vgyhfn7m1vc5g0qw";
   };
   buildInputs = [
     autoconf automake ncurses
diff --git a/pkgs/os-specific/linux/conspy/default.upstream b/pkgs/os-specific/linux/conspy/default.upstream
index db0c0fd9680..3eeacf34694 100644
--- a/pkgs/os-specific/linux/conspy/default.upstream
+++ b/pkgs/os-specific/linux/conspy/default.upstream
@@ -1 +1,5 @@
-url http://ace-host.stuart.id.au/russell/files/conspy/
+url http://sourceforge.net/projects/conspy/files/
+version_link 'conspy-[-0-9.]+/$'
+version_link '[-0-9.]+[.]tar[.][a-z0-9]+/download$'
+SF_redirect
+version '.*-([-0-9.]+)[.]tar[.].*' '\1'
diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix
index d056e60f2da..b7822035c20 100644
--- a/pkgs/os-specific/linux/cpufrequtils/default.nix
+++ b/pkgs/os-specific/linux/cpufrequtils/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       -i Makefile
   '';
 
-  buildInputs = [ stdenv.gcc.libc.kernelHeaders libtool gettext ];
+  buildInputs = [ stdenv.cc.libc.kernelHeaders libtool gettext ];
 
   meta = {
     description = "Tools to display or change the CPU governor settings";
diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix
index bf6e8c36f3d..269729917dd 100644
--- a/pkgs/os-specific/linux/cpupower/default.nix
+++ b/pkgs/os-specific/linux/cpupower/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Tool to examine and tune power saving features.";
+    description = "Tool to examine and tune power saving features";
     homepage = https://www.kernel.org.org/;
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index d3a0b827ed1..50ea3f6a067 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "cryptsetup-1.6.3";
+  name = "cryptsetup-1.6.7";
 
   src = fetchurl {
-    url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "1n1qk5chyjspbiianrdb55fhb4wl0vfyqz2br05vfb24v4qlgbx2";
+    url = "mirror://kernel/linux/utils/cryptsetup/v1.6/${name}.tar.xz";
+    sha256 = "0878vwblazms1dac2ds7vyz8pgi1aac8870ccnl2s0v2sv428g62";
   };
 
   configureFlags = [ "--enable-cryptsetup-reencrypt" ]
diff --git a/pkgs/os-specific/linux/disk-indicator/default.nix b/pkgs/os-specific/linux/disk-indicator/default.nix
index b60232a9b75..11c1e7ee8a2 100644
--- a/pkgs/os-specific/linux/disk-indicator/default.nix
+++ b/pkgs/os-specific/linux/disk-indicator/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation {
 
   buildPhase = "make -f makefile";
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   installPhase = ''
     mkdir -p "$out/bin"
     cp ./disk_indicator "$out/bin/"
diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix
index 35efa8533ab..9e7e2a6bb8e 100644
--- a/pkgs/os-specific/linux/dmraid/default.nix
+++ b/pkgs/os-specific/linux/dmraid/default.nix
@@ -1,13 +1,17 @@
 { stdenv, fetchurl, devicemapper }:
 
 stdenv.mkDerivation rec {
-  name = "dmraid-1.0.0.rc15";
+  name = "dmraid-1.0.0.rc16";
 
   src = fetchurl {
     url = "http://people.redhat.com/~heinzm/sw/dmraid/src/old/${name}.tar.bz2";
-    sha256 = "01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h";
+    sha256 = "0m92971gyqp61darxbiri6a48jz3wq3gkp8r2k39320z0i6w8jgq";
   };
 
+  postPatch = ''
+    sed -i 's/\[\[[^]]*\]\]/[ "''$''${n##*.}" = "so" ]/' */lib/Makefile.in
+  '';
+
   preConfigure = "cd */";
 
   buildInputs = [ devicemapper ];
diff --git a/pkgs/os-specific/linux/dmtcp/default.nix b/pkgs/os-specific/linux/dmtcp/default.nix
index c863be14461..fea41affe2c 100644
--- a/pkgs/os-specific/linux/dmtcp/default.nix
+++ b/pkgs/os-specific/linux/dmtcp/default.nix
@@ -4,28 +4,30 @@
 stdenv.mkDerivation rec {
   name = "dmtcp-${version}";
 
-  version = "1.2.0";
+  version = "2.3.1";
 
   buildInputs = [ perl python ];
 
   src = fetchurl {
-    url = "mirror://sourceforge/dmtcp/dmtcp_${version}.tar.gz";
-    sha256 = "1pw3m4l1xf887xagd0yrrnb35s372j0kvjziyy3gmx9fxpga1jzb";
+    url = "mirror://sourceforge/dmtcp/dmtcp-${version}.tar.gz";
+    sha256 = "1f83ae112e102d4fbf69dded0dfaa6daeb60c4c0c569297553785a876e95ba15";
   };
 
   preConfigure = ''
-    substituteInPlace dmtcp/src/dmtcp_coordinator.cpp \
-      --replace /bin/bash /bin/sh
-    substituteInPlace utils/gdb-add-symbol-file \
-      --replace /bin/bash /bin/sh
+    substituteInPlace src/dmtcp_coordinator.cpp \
+      --replace /bin/bash ${stdenv.shell}
+    substituteInPlace util/gdb-add-symbol-file \
+      --replace /bin/bash ${stdenv.shell}
     substituteInPlace test/autotest.py \
       --replace /usr/bin/env $(type -p env) \
       --replace /bin/bash $(type -p bash) \
       --replace /usr/bin/perl $(type -p perl) \
-      --replace /usr/bin/python $(type -p python)
+      --replace /usr/bin/python $(type -p python) \
+      --replace "os.environ['USER']" "\"nixbld1\"" \
+      --replace "os.getenv('USER')" "\"nixbld1\""
   '';
 
-  doCheck = true;
+  doCheck = false;
 
   meta = {
     description = "Distributed MultiThreaded Checkpointing";
@@ -36,6 +38,6 @@ stdenv.mkDerivation rec {
       not modify the user's program or the operating system.
     '';
     homepage = http://dmtcp.sourceforge.net/;
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl3Plus; # most files seem this or LGPL-2.1+
   };
 }
diff --git a/pkgs/os-specific/linux/e3cfsprogs/default.nix b/pkgs/os-specific/linux/e3cfsprogs/default.nix
index 89d5ad5158c..ef25d59a9df 100644
--- a/pkgs/os-specific/linux/e3cfsprogs/default.nix
+++ b/pkgs/os-specific/linux/e3cfsprogs/default.nix
@@ -11,20 +11,10 @@ stdenv.mkDerivation {
     sha256 = "8dd3de546aeb1ae42fb05409aeb724a145fe9aa1dbe1115441c2297c9d48cf31";
   };
 
-  configureFlags =
-    if stdenv ? isDietLibC
-    then ""
-    else "--enable-dynamic-e2fsck --enable-elf-shlibs";
+  configureFlags ="--enable-dynamic-e2fsck --enable-elf-shlibs";
   buildInputs = [gettext];
   preInstall = "installFlagsArray=('LN=ln -s')";
   postInstall = "make install-libs";
-
-  NIX_CFLAGS_COMPILE =
-    if stdenv ? isDietLibC then
-      "-UHAVE_SYS_PRCTL_H " +
-      (if stdenv.system == "x86_64-linux" then "-DHAVE_LSEEK64_PROTOTYPE=1 -Dstat64=stat" else "")
-    else "";
 }
 
-
 #note that ext3cow requires the ext3cow kernel patch !!!!
diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix
new file mode 100644
index 00000000000..e2bcf9837e7
--- /dev/null
+++ b/pkgs/os-specific/linux/eudev/default.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl, pkgconfig, glib, gperf, utillinux}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="eudev";
+    version = "3.0";
+    name="${baseName}-${version}";
+    url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz";
+    sha256 = "0afva1vh3lwhw9bryh41dxg82kfnxj1ifa91p3gjwffc2fpqmnvl";
+  };
+  buildInputs = [
+    glib pkgconfig gperf utillinux
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+  ];
+  makeFlags = [
+    "hwdb_bin=/var/lib/udev/hwdb.bin"
+    "udevrulesdir=/etc/udev/rules.d"
+    ];
+  installFlags =
+    [
+    "localstatedir=$(TMPDIR)/var"
+    "sysconfdir=$(out)/etc"
+    "udevconfdir=$(out)/etc/udev"
+    "udevhwdbbin=$(out)/var/lib/udev/hwdb.bin"
+    "udevhwdbdir=$(out)/var/lib/udev/hwdb.d"
+    "udevrulesdir=$(out)/var/lib/udev/rules.d"
+    ];
+  enableParallelBuilding = true;
+  meta = {
+    inherit (s) version;
+    description = ''An udev fork by Gentoo'';
+    license = stdenv.lib.licenses.gpl2Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = ''http://www.gentoo.org/proj/en/eudev/'';
+    downloadPage = ''http://dev.gentoo.org/~blueness/eudev/'';
+    updateWalker = true;
+  };
+}
diff --git a/pkgs/os-specific/linux/fatrace/default.nix b/pkgs/os-specific/linux/fatrace/default.nix
new file mode 100644
index 00000000000..c6e52934a77
--- /dev/null
+++ b/pkgs/os-specific/linux/fatrace/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, python3}:
+
+stdenv.mkDerivation rec {
+  version = "0.9";
+  name = "fatrace-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/fatrace/trunk/${version}/+download/${name}.tar.bz2";
+    sha256 = "c028d822ffde68805e5d1f62c4e2d0f4b3d4ae565802cc9468c82b25b92e68cd";
+  };
+
+  buildInputs = [ python3 ];
+
+  makeFlagsArray = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "Report system-wide file access events";
+    homepage = https://launchpad.net/fatrace/;
+    license = with licenses; gpl3Plus;
+    longDescription = ''
+      fatrace reports file access events from all running processes.
+      Its main purpose is to find processes which keep waking up the disk
+      unnecessarily and thus prevent some power saving.
+
+      Requires a Linux kernel with the FANOTIFY configuration option enabled.
+      Enabling X86_MSR is also recommended for power-usage-report on x86.
+    '';
+    maintainers = with maintainers; [ nckx ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index c1fa2c26205..91c039c875b 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.8.1";
+    version="0.9.24";
     name="${baseName}-${version}";
-    hash="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x";
-    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.8.1.tar.bz2";
-    sha256="0wjanz42k301zdwv06ylnzqrabxy424j0k9dh4i4aqhvihvxr83x";
+    hash="15fz6hjxakjnsn505w3wlc6bqvf5pjwn8zfhp5aw9zq6vxr7f317";
+    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.24-rc1.tar.bz2";
+    sha256="15fz6hjxakjnsn505w3wlc6bqvf5pjwn8zfhp5aw9zq6vxr7f317";
   };
   buildInputs = [
   ];
@@ -25,6 +25,10 @@ stdenv.mkDerivation {
     sed -e '/ \/run/iif(vrcs!=NULL){symlink(vrcs, "/var/run/current-system")\;free(vrcs)\;}' -i ./src/firejail/fs_var.c
   '';
 
+  preBuild = ''
+    sed -e "s@/etc/@$out/etc/@g" -i Makefile
+  '';
+
   meta = {
     inherit (s) version;
     description = ''Namespace-based sandboxing tool for Linux'';
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
index 9d31fde2f0f..701b9742b6a 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "b43-fwcutter-018";
+  name = "b43-fwcutter-019";
 
   src = fetchurl {
     url = "http://bues.ch/b43/fwcutter/${name}.tar.bz2";
-    sha256 = "13v34pa0y1jf4hkhsh3zagyb7s8b8ymplffaayscwsd3s7f6kc2p";
+    sha256 = "1ki1f5fy3yrw843r697f8mqqdz0pbsbqnvg4yzkhibpn1lqqbsnn";
   };
 
   patches = [ ./no-root-install.patch ];
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Firmware extractor for cards supported by the b43 kernel module";
     homepage = http://wireless.kernel.org/en/users/Drivers/b43;
-    license = "free-non-copyleft";
+    license = stdenv.lib.licenses.free;
   };
 }
-
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 04823ffeda0..6ac468774ad 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -1,70 +1,28 @@
-# The firmware bundle as packaged by Debian. This should be "all" firmware that is not shipped
-# as part of the kernel itself.
-# You can either install the complete bundle, or write a separate package for individual
-# devices that copies the firmware from this package.
+{ stdenv, fetchgit }:
 
-{ stdenv, fetchurl, dpkg }:
-
-let
-  version = "0.43";
-
-  packages = [
-    { name = "adi"; sha256 = "13cwnbispivpd73k928l1i818ylhpahp6xh7d6pw59sswrsx6inw"; }
-    { name = "atheros"; sha256 = "0sw9d52k3ynx1cxg7cq49pmm8y6vlqyhb9843hbyf6nbmjqj72bx"; }
-    { name = "bnx2"; sha256 = "1r8scys27qj5shdbgl8ag9vi4hiidx4bp8yw4n4dcp288d9x7bbh"; }
-    { name = "bnx2x"; sha256 = "03jx4vnn8irlwswydf4h3ya1kf064jkaj67jry2hr6qwpd4l8pgq"; }
-    { name = "brcm80211"; sha256 = "01mkmjkg16kdd26pwlg4a1s1717fh0j602mwqhwh46k8zakg2lkh"; }
-    { name = "intelwimax"; sha256 = "1avls6sx0pbsffrcs267r2r2rqlx2xrv8j9znc7ix1bi8g4fx91v"; }
-    { name = "ipw2x00"; sha256 = "19zqc30hsz7snw020izm81qbap3xsygggnmbspxndw7jihz0amjs"; }
-    { name = "ivtv"; sha256 = "1f2004lpw5nr9rxj3cl4ba0jdm51wkvsrbiy4drakawpjwh5y4qw"; }
-    { name = "iwlwifi"; sha256 = "1538r751mx8nhg3xibnnrhnflvf3kl5y9rnm7rpl4wyrfgx61amd"; }
-    { name = "libertas"; sha256 = "0svkqlsiqgmh970r38nh0c1pjx41zdfql2k2k5djw99fscjklacd"; }
-    { name = "linux"; sha256 = "0j62v6vbh2287j3x5c9i0xspmhyh5k1z8dyajgix7k37xi4jvpy2"; }
-    { name = "linux-nonfree"; sha256 = "1f5x72rzicivwm0sn9l6wjkx7z9a0b8n6c9m60xrqg36ly7mizzp"; }
-    { name = "myricom"; sha256 = "17cdl885jlnja5m60l35xr2f84hv8z4cvg3d25vpp171s1vf1ks1"; }
-    { name = "netxen"; sha256 = "122nava9ld1v8gcnqbdpx0kffv0rxm9glp4xg09ssvldy4myfgl7"; }
-    { name = "qlogic"; sha256 = "02pgmprz1qwij7lw1lgmb8clgxj8v3mx0fyy1l4z7bffnpvip863"; }
-    { name = "ralink"; sha256 = "0yw9gf9gm3jxmsndr8kcsf6829smm88kshfb4c8jn0n6f4yy9l7x"; }
-    { name = "realtek"; sha256 = "0gay9x47pimdqj665sr1416l3bdyca9grsqpj0s9n6k1lmywrqx1"; }
-    { name = "ti-connectivity"; sha256 = "1m6yk0827991hs46l8pp8iiwh1ms0rwlmwn64k2wr725k5yzg29b"; }
-  ];
-
-  fetchPackage =
-    { name, sha256 }: fetchurl {
-      url = "mirror://debian/pool/non-free/f/firmware-nonfree/firmware-${name}_${version}_all.deb";
-      inherit sha256;
-    };
-
-  srcs = map fetchPackage packages;
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  inherit srcs;
+  version = "2015-03-20";
 
-  unpackPhase = ''
-    mkdir -p ./firmware
-  '';
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
+    rev = "f404336ba808cbd57547196e13367079a23b822c";
+    sha256 = "0avz5vxax2b3s4gafib47vih1lbq78agdmpjcjnnnykw2kschkwa";
+  };
 
-  buildPhase = ''
-    for src in $srcs; do
-      dpkg-deb -W $src
-      dpkg-deb -x $src .
-    done
+  preInstall = ''
+    mkdir -p $out
   '';
 
-  buildInputs = [ dpkg ];
+  installFlags = [ "DESTDIR=$(out)" ];
 
-  installPhase = ''
-    mkdir -p $out/share $out/lib/firmware
-    cp -r lib/firmware/* "$out/lib/firmware/"
-    cp -r usr/share/doc $out/share/
-    find $out/share -name changelog.gz | xargs rm
-  '';
-
-  meta = {
-    description = "Binary firmware collection packaged by Debian";
+  meta = with stdenv.lib; {
+    description = "Binary firmware collection packaged by kernel.org";
     homepage = http://packages.debian.org/sid/firmware-linux-nonfree;
-    license = stdenv.lib.licenses.unfreeRedistributableFirmware;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.unfreeRedistributableFirmware;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
+
+  passthru = { inherit version; };
 }
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index c9893031495..690b7dcc40f 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -18,10 +18,10 @@ in stdenv.mkDerivation {
     cp -R hardfp/opt/vc/* $out
     cp opt/vc/LICENCE $out/share/raspberrypi
   '';
-  
+
   meta = {
     description = "Firmware for the Raspberry Pi board";
     homepage = https://github.com/raspberrypi;
-    license = "non-free";
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/os-specific/linux/firmware/zd1211/default.nix b/pkgs/os-specific/linux/firmware/zd1211/default.nix
index cb4466dc20f..96e534e3b80 100644
--- a/pkgs/os-specific/linux/firmware/zd1211/default.nix
+++ b/pkgs/os-specific/linux/firmware/zd1211/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zd1211-firmware";
-  version = "1.4";
+  version = "1.5";
 
   name = "${pname}-${version}";
   
   src = fetchurl {
     url = "mirror://sourceforge/zd1211/${name}.tar.bz2";
-    sha256 = "866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1";
+    sha256 = "04ibs0qw8bh6h6zmm5iz6lddgknwhsjq8ib3gyck6a7psw83h7gi";
   };
   
   buildPhase = "true";
diff --git a/pkgs/os-specific/linux/flashbench/default.nix b/pkgs/os-specific/linux/flashbench/default.nix
new file mode 100644
index 00000000000..0a6364f07df
--- /dev/null
+++ b/pkgs/os-specific/linux/flashbench/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "flashbench-${version}";
+  version = "2012-06-06";
+
+  src = fetchgit {
+    url = "https://github.com/bradfa/flashbench.git";
+    rev = "2e30b1968a66147412f21002ea844122a0d5e2f0";
+    sha256 = "037rhd2alwfip9qk78cy8fwwnc2kdyzccsyc7v2zpmvl4vvpvnhg";
+  };
+
+  installPhase = ''
+    install -d -m755 $out/bin $out/share/doc/flashbench
+    install -v -m755 flashbench $out/bin
+    install -v -m755 erase $out/bin/flashbench-erase
+    install -v -m644 README $out/share/doc/flashbench
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Testing tool for flash based memory devices";
+    homepage = https://github.com/bradfa/flashbench;
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.rycee ];
+  };
+}
diff --git a/pkgs/os-specific/linux/freefall/default.nix b/pkgs/os-specific/linux/freefall/default.nix
new file mode 100644
index 00000000000..7d5ed0cd3ee
--- /dev/null
+++ b/pkgs/os-specific/linux/freefall/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl }:
+
+let version = "3.19"; in
+stdenv.mkDerivation rec {
+  name = "freefall-${version}";
+
+  src = fetchurl {
+    sha256 = "0v40b5l6dcviqgl47bxlcbimz7kawmy1c2909axi441jwlgm2hmy";
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+  };
+
+  buildPhase = ''
+    cd Documentation/laptops
+
+    # Default time-out is a little low, probably because the AC/lid status
+    # functions were never implemented. Because no-one still uses HDDs, right?
+    substituteInPlace freefall.c --replace "alarm(2)" "alarm(5)"
+
+    cc -o freefall freefall.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install freefall $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Free-fall protection for spinning HP/Dell laptop hard drives";
+    longDescription = ''
+      ATA/ATAPI-7 specifies the IDLE IMMEDIATE command with unload feature.
+      Issuing this command should cause the drive to switch to idle mode and
+      unload disk heads. This feature is being used in modern laptops in
+      conjunction with accelerometers and appropriate software to implement
+      a shock protection facility. The idea is to stop all I/O operations on
+      the internal hard drive and park its heads on the ramp when critical
+      situations are anticipated. This has no effect on SSD devices!
+    '';
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/os-specific/linux/ftop/default.nix b/pkgs/os-specific/linux/ftop/default.nix
new file mode 100644
index 00000000000..4733ce95bb2
--- /dev/null
+++ b/pkgs/os-specific/linux/ftop/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "ftop-1.0";
+
+  src = fetchurl {
+    url = "http://ftop.googlecode.com/files/${name}.tar.bz2";
+    sha256 = "3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82";
+  };
+
+  buildInputs = [ ncurses ];
+
+  patches = [
+    ./ftop-fix_buffer_overflow.patch
+    ./ftop-fix_printf_format.patch
+  ];
+  patchFlags = "-p0";
+
+  postPatch = ''
+    substituteInPlace configure --replace "curses" "ncurses"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Show progress of open files and file systems";
+    homepage = https://code.google.com/p/ftop/;
+    license = with licenses; gpl3Plus;
+    longDescription = ''
+      Ftop is to files what top is to processes. The progress of all open files
+      and file systems can be monitored. If run as a regular user, the set of
+      open files will be limited to those in that user's processes (which is
+      generally all that is of interest to the user).
+      As with top, the items are displayed in order from most to least active.
+    '';
+    maintainers = with maintainers; [ nckx ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch b/pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch
new file mode 100644
index 00000000000..f10fa6a33b8
--- /dev/null
+++ b/pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch
@@ -0,0 +1,11 @@
+--- src/ftop.c.orig	2010-06-15 21:42:15.000000000 +0200
++++ src/ftop.c	2010-06-15 21:45:38.000000000 +0200
+@@ -935,7 +935,7 @@
+     {
+         if (bar_used > 0)
+         {
+-            snprintf(rate_buf, bar_used + 1, "%s", tmp_buf);
++            snprintf(rate_buf, bar_used >= sizeof(rate_buf) ? sizeof(rate_buf) : bar_used + 1, "%s", tmp_buf);
+             p_attron(p, A_REVERSE);
+             p_printf(p, "%s", rate_buf);
+             if (bar_used > bytes)
diff --git a/pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch b/pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch
new file mode 100644
index 00000000000..afb04306428
--- /dev/null
+++ b/pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch
@@ -0,0 +1,20 @@
+--- src/ftop.c.orig	2010-06-15 23:14:50.000000000 +0200
++++ src/ftop.c	2010-06-15 23:15:52.000000000 +0200
+@@ -222,7 +222,7 @@
+     p_eol(p, part);
+ 
+     cols = snprintf(tmp_buf, sizeof(tmp_buf),
+-                    "Processes:  %u total, %u unreadable",
++                    "Processes:  %zu total, %zu unreadable",
+                     s->num_processes + s->num_unreadable_processes,
+                     s->num_unreadable_processes);
+ 
+@@ -244,7 +244,7 @@
+     p_eol(p, part);
+ 
+     snprintf(tmp_buf, sizeof(tmp_buf),
+-             "Open Files: %u regular, %u dir, %u chr, %u blk, %u pipe, %u sock, %u misc",
++             "Open Files: %zu regular, %zu dir, %zu chr, %zu blk, %zu pipe, %zu sock, %zu misc",
+              s->num_reg, s->num_dir, s->num_chr, s->num_blk, s->num_pipe,
+              s->num_sock, s->num_misc);
+ 
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index d6513f7ebb5..036ece4627b 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = http://fuse.sourceforge.net/;
     description = "Kernel module and library that allows filesystems to be implemented in user space";
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix
index 87e8fa5b074..d34a028220c 100644
--- a/pkgs/os-specific/linux/gradm/default.nix
+++ b/pkgs/os-specific/linux/gradm/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name    = "gradm-${version}";
-  version = "3.0-201405281853";
+  version = "3.1-201503211320";
 
   src  = fetchurl {
     url    = "http://grsecurity.net/stable/${name}.tar.gz";
-    sha256 = "0yjmbjhm71cik5j8h2prgk40wki3sflwbf2zqmc4pwaqlvis9s2f";
+    sha256 = "17yd307jqva8jqib2xr3i9kmp58f2cb4jd7an5rbk5zr1k48ap9j";
   };
 
   buildInputs = [ gcc coreutils findutils binutils pam flex bison bash ];
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index bc83738acc8..a0cd09fbf35 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.43";
+  name = "hdparm-9.45";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/${name}.tar.gz";
-    sha256 = "0amm2s67vzfgs0jv59jgj9pqkr6j9glj1chsj292263i94kr5gib";
+    sha256 = "0sc6yf3k6sd7n6a2ig2my9fjlqpak3znlyw7jw4cz5d9asm1rc13";
   };
 
   preBuild = ''
@@ -16,5 +16,7 @@ stdenv.mkDerivation rec {
     description = "A tool to get/set ATA/SATA drive parameters under Linux";
     homepage = http://sourceforge.net/projects/hdparm/;
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index a8988f0a452..84535e8d25e 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, libnl, openssl, pkgconfig }:
-stdenv.mkDerivation rec {
 
+stdenv.mkDerivation rec {
   name = "hostapd-${version}";
-  version = "2.1";
+  version = "2.4";
 
   src = fetchurl {
     url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
-    sha256 = "121gpcs1ws7m2v8jk091jhmz3pm2xmhwkv96gqkyb4k0bgsi0waw";
+    sha256 = "0zv5pnfrp6z7jjbskzgdb2rlmlbvdxmmis7ca94x5jy9s5mypq3g";
   };
 
   buildInputs = [ libnl openssl pkgconfig ];
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     echo CONFIG_IEEE80211N=y | tee -a .config
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags libnl-3.0)"
   '';
+
   preInstall = "mkdir -p $out/bin";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 325a44f97aa..1987e914ad9 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "hwdata-0.249";
+  name = "hwdata-0.276";
 
   src = fetchurl {
-    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-0.249-1.tar.bz2";
-    sha256 = "1ak3h3psg3wk9yk0dqnzdzik3jadzja3ah22vjfmf71p3b5xc8ai";
+    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-0.276.tar.xz";
+    sha256 = "0pg0ms6kb2mm25mdklsb0xn2spcwi2mhygzc7bkpji72qq8srzsh";
   };
 
   preConfigure = "patchShebangs ./configure";
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 2cfbc2a1df1..a5bf8ccc162 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -1,24 +1,28 @@
 { fetchurl, stdenv, flex, bison, db, iptables, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "iproute2-3.12.0";
+  name = "iproute2-3.19.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "04gi11gh087bg2nlxhj0lxrk8l9qxkpr88nsiil23917bm3h1xj4";
+    sha256 = "1c6pgysxfqs5qkd4kpwkbdhw3xydhjnskrz1q2k2nvqndv1ziyg2";
   };
 
-  patch = [ "vpnc.patch" ];
+  patch = [ ./vpnc.patch ];
 
-  preConfigure =
-    ''
-      patchShebangs ./configure
-      sed -e '/ARPDDIR/d' -i Makefile
-    '';
+  preConfigure = ''
+    patchShebangs ./configure
+    sed -e '/ARPDDIR/d' -i Makefile
+  '';
 
-  makeFlags = "DESTDIR= LIBDIR=$(out)/lib SBINDIR=$(out)/sbin"
-    + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}"
-    + " MANDIR=$(out)/share/man";
+  makeFlags = [
+    "DESTDIR="
+    "LIBDIR=$(out)/lib"
+    "SBINDIR=$(out)/sbin"
+    "CONFDIR=$(out)/etc"
+    "DOCDIR=$(out)/share/doc/${name}"
+    "MANDIR=$(out)/share/man"
+  ];
 
   buildInputs = [ db iptables ];
   nativeBuildInputs = [ bison flex pkgconfig ];
@@ -28,10 +32,11 @@ stdenv.mkDerivation rec {
   # Get rid of useless TeX/SGML docs.
   postInstall = "rm -rf $out/share/doc";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2;
     description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ eelco wkennington ];
   };
 }
diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix
index 6a42784d1f0..a6042b1e33b 100644
--- a/pkgs/os-specific/linux/ipsec-tools/default.nix
+++ b/pkgs/os-specific/linux/ipsec-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, linuxHeaders, readline, openssl, flex, krb5, pam }:
+{ stdenv, fetchurl, linuxHeaders, readline, openssl, flex, kerberos, pam }:
 
 # TODO: These tools are supposed to work under NetBSD and FreeBSD as
 # well, so I guess it's not appropriate to place this expression in
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "0b9gfbz78k2nj0k7jdlm5kajig628ja9qm0z5yksiwz22s3v7dlf";
   };
 
-  buildInputs = [ readline openssl flex krb5 pam ];
+  buildInputs = [ readline openssl flex kerberos pam ];
 
   patches = [ ./dont-create-localstatedir-during-install.patch ];
 
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
new file mode 100644
index 00000000000..b76ce583b23
--- /dev/null
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, libmnl }:
+
+stdenv.mkDerivation rec {
+  name = "ipset-6.24";
+
+  src = fetchurl {
+    url = "http://ipset.netfilter.org/${name}.tar.bz2";
+    sha256 = "1l4mx78473azf7cb19fxf37gmj95k1zzabimbcmlg9h07wlgqw9h";
+  };
+
+  buildInputs = [ pkgconfig libmnl ];
+
+  configureFlags = [ "--with-kmod=no" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://ipset.netfilter.org/;
+    description = "Administration tool for IP sets";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 0e022e0c4a1..2221250d57c 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -1,7 +1,8 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "iptables-1.4.21";
+  name = "iptables-${version}";
+  version = "1.4.21";
 
   src = fetchurl {
     url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
@@ -17,5 +18,8 @@ stdenv.mkDerivation rec {
     description = "A program to configure the Linux IP packet filtering ruleset";
     homepage = http://www.netfilter.org/projects/iptables/index.html;
     platforms = stdenv.lib.platforms.linux;
+    downloadPage = "http://www.netfilter.org/projects/iptables/files/";
+    updateWalker = true;
+    inherit version;
   };
 }
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix
index ab01231f334..262b673822b 100644
--- a/pkgs/os-specific/linux/iw/default.nix
+++ b/pkgs/os-specific/linux/iw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libnl, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  name = "iw-3.14";
+  name = "iw-3.15";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/iw/${name}.tar.xz";
-    sha256 = "16fr13cl02702d9yjqlgvnxvpv0w0mqn0acba39iwn2lln5b4747";
+    sha256 = "12jby9nv5nypadgdksbqw0y2kfm3j47zw7a3rwmy56d7rs90lp5x";
   };
 
   buildInputs = [ libnl pkgconfig ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tool to use nl80211";
     homepage = http://wireless.kernel.org/en/users/Documentation/iw;
-    license = "BSD";
+    license = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
new file mode 100644
index 00000000000..b497784861f
--- /dev/null
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, freetype, imlib2, jbig2dec, libjpeg, libX11, mujs
+, mupdf, ncurses, openjpeg, openssl }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.2"; # TODO: update to 0.5 or later when nixpkgs has caught up
+  name = "jfbview-${version}";
+
+  src = fetchFromGitHub {
+    repo = "JFBView";
+    owner = "jichu4n";
+    rev = version;
+    sha256 = "1hhlzvs0jhygd3mqpzg5zymrbay9c8ilc4wjnwg00lvxhv3rwswr";
+  };
+
+  buildInputs = [ freetype imlib2 jbig2dec libjpeg libX11 mujs mupdf ncurses
+    openjpeg openssl ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = "jfbpdf jfbview";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install jfbpdf jfbview $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PDF and image viewer for the Linux framebuffer";
+    longDescription = ''
+      PDF and image viewer for the Linux framebuffer. Very fast with a number
+      of advanced and unique features including:
+      - Reads PDFs (MuPDF) and common image formats (Imlib2).
+      - Supports arbitrary zoom (10% - 1000%) and rotation.
+      - Table of Contents (TOC) viewer for PDF documents.
+      - Multi-threaded rendering on multi-core machines.
+      - Asynchronous background rendering of the next page.
+      - Customizable multi-threaded caching.
+    '';
+    homepage = http://seasonofcode.com/pages/jfbview.html;
+    license = with licenses; asl20;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/os-specific/linux/kbd/console-fix.patch b/pkgs/os-specific/linux/kbd/console-fix.patch
new file mode 100644
index 00000000000..aefc20ff914
--- /dev/null
+++ b/pkgs/os-specific/linux/kbd/console-fix.patch
@@ -0,0 +1,18 @@
+diff --git a/src/loadkeys.c b/src/loadkeys.c
+index 6b23f68..adf65a0 100644
+--- a/src/loadkeys.c
++++ b/src/loadkeys.c
+@@ -166,10 +166,10 @@ main(int argc, char *argv[])
+ 		exit(EXIT_FAILURE);
+ 	}
+ 
+-	/* get console */
+-	fd = getfd(console);
+-
+ 	if (!(options & OPT_M) && !(options & OPT_B)) {
++		/* get console */
++		fd = getfd(console);
++
+ 		/* check whether the keyboard is in Unicode mode */
+ 		if (ioctl(fd, KDGKBMODE, &kbd_mode) ||
+ 		    ioctl(fd, KDGETMODE, &kd_mode)) {
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix
index 4d04b75b3b0..fba63daf8e5 100644
--- a/pkgs/os-specific/linux/kbd/default.nix
+++ b/pkgs/os-specific/linux/kbd/default.nix
@@ -1,22 +1,47 @@
-{ stdenv, fetchurl, gzip, bzip2 }:
+{ stdenv, fetchurl, autoreconfHook, gzip, bzip2, pkgconfig, check, pam }:
 
 stdenv.mkDerivation rec {
-  name = "kbd-1.15.3";
+  name = "kbd-2.0.2";
 
   src = fetchurl {
-    url = "ftp://ftp.altlinux.org/pub/people/legion/kbd/${name}.tar.gz";
-    sha256 = "1vcl2791xshjdpi4w88iy87gkb7zv0dbvi83f98v30dvqc9mfl46";
+    url = "mirror://kernel/linux/utils/kbd/${name}.tar.xz";
+    sha256 = "04mrms12nm5sas0nxs94yrr3hz7gmqhnmfgb9ff34bh1jszxmzcx";
   };
 
-  configureFlags = "--disable-nls";  
+  /* Get the dvorak programmer keymap (present in X but not in kbd) */
+  dvpSrc = fetchurl {
+    url = "http://kaufmann.no/downloads/linux/dvp-1_2_1.map.gz";
+    sha256 = "0e859211cfe16a18a3b9cbf2ca3e280a23a79b4e40b60d8d01d0fde7336b6d50";
+  };
+
+  neoSrc = fetchurl {
+    name = "neo.map";
+    url = "https://svn.neo-layout.org/linux/console/neo.map?r=2455";
+    sha256 = "1wlgp09wq84hml60hi4ls6d4zna7vhycyg40iipyh1279i91hsx7";
+  };
+
+  configureFlags = [
+    "--enable-optional-progs"
+    "--enable-libkeymap"
+    "--disable-nls"
+  ];
+
+  patches = [ ./console-fix.patch ];
 
-  patchPhase =
+  postPatch =
     ''
+      mkdir -p data/keymaps/i386/neo
+      cat "$neoSrc" > data/keymaps/i386/neo/neo.map
+      sed -i -e 's,^KEYMAPSUBDIRS *= *,&i386/neo ,' data/Makefile.in
+
+      # Add the dvp keyboard in the dvorak folder
+      ${gzip}/bin/gzip -c -d ${dvpSrc} > data/keymaps/i386/dvorak/dvp.map
+
       # Fix the path to gzip/bzip2.
-      substituteInPlace src/findfile.c \
+      substituteInPlace src/libkeymap/findfile.c \
         --replace gzip ${gzip}/bin/gzip \
         --replace bzip2 ${bzip2}/bin/bzip2 \
-    
+
       # We get a warning in armv5tel-linux and the fuloong2f, so we
       # disable -Werror in it.
       ${stdenv.lib.optionalString (stdenv.isArm || stdenv.system == "mips64el-linux") ''
@@ -24,10 +49,13 @@ stdenv.mkDerivation rec {
       ''}
     '';
 
+  buildInputs = [ autoreconfHook pkgconfig check pam ];
+
   makeFlags = "setowner= ";
 
   meta = {
     homepage = ftp://ftp.altlinux.org/pub/people/legion/kbd/;
     description = "Linux keyboard utilities and keyboard maps";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel-headers/3.12.nix b/pkgs/os-specific/linux/kernel-headers/3.12.nix
new file mode 100644
index 00000000000..2fd34c68edc
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel-headers/3.12.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchurl, perl, cross ? null }:
+
+assert cross == null -> stdenv.isLinux;
+
+let
+
+  version = "3.12.32";
+
+  kernelHeadersBaseConfig =
+    if cross == null
+    then stdenv.platform.kernelHeadersBaseConfig
+    else cross.platform.kernelHeadersBaseConfig;
+
+in
+
+stdenv.mkDerivation {
+  name = "linux-headers-${version}";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "1hzws2bf267hfk81ywqcxspkyi1lg56x63izdc0pv1338xcfas53";
+  };
+
+  targetConfig = if cross != null then cross.config else null;
+
+  platform =
+    if cross != null then cross.platform.kernelArch else
+    if stdenv.system == "i686-linux" then "i386" else
+    if stdenv.system == "x86_64-linux" then "x86_64" else
+    if stdenv.system == "powerpc-linux" then "powerpc" else
+    if stdenv.isArm then "arm" else
+    if stdenv.platform ? kernelArch then stdenv.platform.kernelArch else
+    abort "don't know what the kernel include directory is called for this platform";
+
+  buildInputs = [perl];
+
+  extraIncludeDirs =
+    if cross != null then
+        (if cross.arch == "powerpc" then ["ppc"] else [])
+    else if stdenv.system == "powerpc-linux" then ["ppc"] else [];
+
+  buildPhase = ''
+    if test -n "$targetConfig"; then
+       export ARCH=$platform
+    fi
+    make ${kernelHeadersBaseConfig} SHELL=bash
+    make mrproper headers_check SHELL=bash
+  '';
+
+  installPhase = ''
+    make INSTALL_HDR_PATH=$out headers_install
+
+    # Some builds (e.g. KVM) want a kernel.release.
+    mkdir -p $out/include/config
+    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 stdenv.lib; {
+    description = "Header files and scripts for Linux kernel";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel-headers/3.7.nix b/pkgs/os-specific/linux/kernel-headers/3.7.nix
deleted file mode 100644
index e6fbf9bb9bc..00000000000
--- a/pkgs/os-specific/linux/kernel-headers/3.7.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ stdenv, fetchurl, perl, cross ? null }:
-
-assert cross == null -> stdenv.isLinux;
-
-let
-
-  version = "3.7.1";
-
-  kernelHeadersBaseConfig =
-    if cross == null
-    then stdenv.platform.kernelHeadersBaseConfig
-    else cross.platform.kernelHeadersBaseConfig;
-
-in
-
-stdenv.mkDerivation {
-  name = "linux-headers-${version}";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
-    sha256 = "1bb1dxj1i6j7pj926kfy6pz58kw03swyyikl9f3fq3jnswispaj2";
-  };
-
-  targetConfig = if cross != null then cross.config else null;
-
-  platform =
-    if cross != null then cross.platform.kernelArch else
-    if stdenv.system == "i686-linux" then "i386" else
-    if stdenv.system == "x86_64-linux" then "x86_64" else
-    if stdenv.system == "powerpc-linux" then "powerpc" else
-    if stdenv.isArm then "arm" else
-    if stdenv.platform ? kernelArch then stdenv.platform.kernelArch else
-    abort "don't know what the kernel include directory is called for this platform";
-
-  buildInputs = [perl];
-
-  extraIncludeDirs =
-    if cross != null then
-        (if cross.arch == "powerpc" then ["ppc"] else [])
-    else if stdenv.system == "powerpc-linux" then ["ppc"] else [];
-
-  buildPhase = ''
-    if test -n "$targetConfig"; then
-       export ARCH=$platform
-    fi
-    make ${kernelHeadersBaseConfig} SHELL=bash
-    make mrproper headers_check SHELL=bash
-  '';
-
-  installPhase = ''
-    make INSTALL_HDR_PATH=$out headers_install
-
-    # Some builds (e.g. KVM) want a kernel.release.
-    mkdir -p $out/include/config
-    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 stdenv.lib; {
-    description = "Header files and scripts for Linux kernel";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/kernel/3.17-buildfix.patch b/pkgs/os-specific/linux/kernel/3.17-buildfix.patch
deleted file mode 100644
index 234f0ac749f..00000000000
--- a/pkgs/os-specific/linux/kernel/3.17-buildfix.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From	Shea Levy <>
-Subject	[PATCH 1/1] usb: gadget: Remove use of PWD in Makefiles
-Date	Thu, 28 Aug 2014 01:30:46 -0400
-
-Using PWD breaks out-of-tree builds in certain circumstances [1], and
-other kernel Makefiles use relative paths just fine.
-
-[1]: https://bugzilla.kernel.org/show_bug.cgi?id=83251
-
-Signed-off-by: Shea Levy <shea@shealevy.com>
----
- drivers/usb/gadget/Makefile          | 2 +-
- drivers/usb/gadget/function/Makefile | 4 ++--
- drivers/usb/gadget/legacy/Makefile   | 6 +++---
- 3 files changed, 6 insertions(+), 6 deletions(-)
-diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
-index a186afe..9add915 100644
---- a/drivers/usb/gadget/Makefile
-+++ b/drivers/usb/gadget/Makefile
-@@ -3,7 +3,7 @@
- #
- subdir-ccflags-$(CONFIG_USB_GADGET_DEBUG)	:= -DDEBUG
- subdir-ccflags-$(CONFIG_USB_GADGET_VERBOSE)	+= -DVERBOSE_DEBUG
--ccflags-y				+= -I$(PWD)/drivers/usb/gadget/udc
-+ccflags-y				+= -Idrivers/usb/gadget/udc
- 
- obj-$(CONFIG_USB_LIBCOMPOSITE)	+= libcomposite.o
- libcomposite-y			:= usbstring.o config.o epautoconf.o
-diff --git a/drivers/usb/gadget/function/Makefile b/drivers/usb/gadget/function/Makefile
-index 6d91f21..83ae106 100644
---- a/drivers/usb/gadget/function/Makefile
-+++ b/drivers/usb/gadget/function/Makefile
-@@ -2,8 +2,8 @@
- # USB peripheral controller drivers
- #
- 
--ccflags-y			:= -I$(PWD)/drivers/usb/gadget/
--ccflags-y			+= -I$(PWD)/drivers/usb/gadget/udc/
-+ccflags-y			:= -Idrivers/usb/gadget/
-+ccflags-y			+= -Idrivers/usb/gadget/udc/
- 
- # USB Functions
- usb_f_acm-y			:= f_acm.o
-diff --git a/drivers/usb/gadget/legacy/Makefile b/drivers/usb/gadget/legacy/Makefile
-index a11aad5..edba2d1 100644
---- a/drivers/usb/gadget/legacy/Makefile
-+++ b/drivers/usb/gadget/legacy/Makefile
-@@ -2,9 +2,9 @@
- # USB gadget drivers
- #
- 
--ccflags-y			:= -I$(PWD)/drivers/usb/gadget/
--ccflags-y			+= -I$(PWD)/drivers/usb/gadget/udc/
--ccflags-y			+= -I$(PWD)/drivers/usb/gadget/function/
-+ccflags-y			:= -Idrivers/usb/gadget/
-+ccflags-y			+= -Idrivers/usb/gadget/udc/
-+ccflags-y			+= -Idrivers/usb/gadget/function/
- 
- g_zero-y			:= zero.o
- g_audio-y			:= audio.o
--- 
-2.1.0
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/kernel/bridge-stp-helper.patch b/pkgs/os-specific/linux/kernel/bridge-stp-helper.patch
new file mode 100644
index 00000000000..70d0f944c2a
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/bridge-stp-helper.patch
@@ -0,0 +1,13 @@
+diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
+index aea3d13..8fcbf81 100644
+--- a/net/bridge/br_private.h
++++ b/net/bridge/br_private.h
+@@ -39,7 +39,7 @@
+ #define BR_GROUPFWD_8021AD	0xB801u
+ 
+ /* Path to usermode spanning tree program */
+-#define BR_STP_PROG	"/sbin/bridge-stp"
++#define BR_STP_PROG	"/run/current-system/sw/bin/bridge-stp"
+ 
+ typedef struct bridge_id bridge_id;
+ typedef struct mac_addr mac_addr;
diff --git a/pkgs/os-specific/linux/kernel/btrfs-fix-deadlock.patch b/pkgs/os-specific/linux/kernel/btrfs-fix-deadlock.patch
new file mode 100644
index 00000000000..9430d583387
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/btrfs-fix-deadlock.patch
@@ -0,0 +1,43 @@
+From 9c4f61f01d269815bb7c37be3ede59c5587747c6 Mon Sep 17 00:00:00 2001
+From: David Sterba <dsterba@suse.cz>
+Date: Fri, 2 Jan 2015 19:12:57 +0100
+Subject: btrfs: simplify insert_orphan_item
+
+We can search and add the orphan item in one go,
+btrfs_insert_orphan_item will find out if the item already exists.
+
+Signed-off-by: David Sterba <dsterba@suse.cz>
+
+diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
+index 5be45c1..25a1c36 100644
+--- a/fs/btrfs/tree-log.c
++++ b/fs/btrfs/tree-log.c
+@@ -1254,21 +1254,13 @@ out:
+ }
+ 
+ static int insert_orphan_item(struct btrfs_trans_handle *trans,
+-			      struct btrfs_root *root, u64 offset)
++			      struct btrfs_root *root, u64 ino)
+ {
+ 	int ret;
+-	struct btrfs_path *path;
+-
+-	path = btrfs_alloc_path();
+-	if (!path)
+-		return -ENOMEM;
+ 
+-	ret = btrfs_find_item(root, path, BTRFS_ORPHAN_OBJECTID,
+-			offset, BTRFS_ORPHAN_ITEM_KEY, NULL);
+-	if (ret > 0)
+-		ret = btrfs_insert_orphan_item(trans, root, offset);
+-
+-	btrfs_free_path(path);
++	ret = btrfs_insert_orphan_item(trans, root, ino);
++	if (ret == -EEXIST)
++		ret = 0;
+ 
+ 	return ret;
+ }
+-- 
+cgit v0.10.2
+
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index d5c754eebc7..5fdfdb3b6a1 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -1,28 +1,55 @@
+/*
+
+  WARNING/NOTE: whenever you want to add an option here you need to
+  either
+
+  * mark it as an optional one with `?` suffix,
+  * or make sure it works for all the versions in nixpkgs,
+  * or check for which kernel versions it will work (using kernel
+    changelog, google or whatever) and mark it with `versionOlder` or
+    `versionAtLeast`.
+
+  Then do test your change by building all the kernels (or at least
+  their configs) in nixpkgs or else you will guarantee lots and lots
+  of pain to users trying to switch to an older kernel because of some
+  hardware problems with a new one.
+
+*/
+
 { stdenv, version, kernelPlatform, extraConfig, features }:
 
 with stdenv.lib;
 
 ''
-  # Power management and debugging.
+  # Debugging.
   DEBUG_KERNEL y
-  PM_ADVANCED_DEBUG y
-  PM_RUNTIME y
   TIMER_STATS y
-  ${optionalString (versionOlder version "3.10") ''
-    USB_SUSPEND y
-  ''}
   BACKTRACE_SELF_TEST n
   CPU_NOTIFIER_ERROR_INJECT? n
   DEBUG_DEVRES n
   DEBUG_NX_TEST n
   DEBUG_STACK_USAGE n
-  ${optionalString (!(features.grsecurity or true)) ''
+  ${optionalString (!(features.grsecurity or false)) ''
     DEBUG_STACKOVERFLOW n
   ''}
   RCU_TORTURE_TEST n
   SCHEDSTATS n
   DETECT_HUNG_TASK y
 
+  # Power management.
+  ${optionalString (versionOlder version "3.19") ''
+    PM_RUNTIME y
+  ''}
+  PM_ADVANCED_DEBUG y
+  ${optionalString (versionAtLeast version "3.10") ''
+    X86_INTEL_PSTATE y
+  ''}
+  INTEL_IDLE y
+  CPU_FREQ_DEFAULT_GOV_PERFORMANCE y
+  ${optionalString (versionOlder version "3.10") ''
+    USB_SUSPEND y
+  ''}
+
   # Support drivers that need external firmware.
   STANDALONE n
 
@@ -44,8 +71,6 @@ with stdenv.lib;
   NUMA? y
 
   # Disable some expensive (?) features.
-  FTRACE n
-  KPROBES n
   PM_TRACE_RTC n
 
   # Enable various subsystems.
@@ -59,6 +84,7 @@ with stdenv.lib;
   ''}
   SCSI_LOWLEVEL y # enable lots of SCSI devices
   SCSI_LOWLEVEL_PCMCIA y
+  SCSI_SAS_ATA y  # added to enable detection of hard drive
   SPI y # needed for many devices
   SPI_MASTER y
   WAN y
@@ -66,7 +92,7 @@ with stdenv.lib;
   # Networking options.
   IP_PNP n
   ${optionalString (versionOlder version "3.13") ''
-  IPV6_PRIVACY y
+    IPV6_PRIVACY y
   ''}
   NETFILTER_ADVANCED y
   IP_VS_PROTO_TCP y
@@ -76,6 +102,9 @@ with stdenv.lib;
   IP_DCCP_CCID3 n # experimental
   CLS_U32_PERF y
   CLS_U32_MARK y
+  ${optionalString (stdenv.system == "x86_64-linux") ''
+    BPF_JIT y
+  ''}
 
   # Wireless networking.
   CFG80211_WEXT? y # Without it, ipw2200 drivers don't build
@@ -139,10 +168,13 @@ with stdenv.lib;
 
   # Filesystem options - in particular, enable extended attributes and
   # ACLs for all filesystems that support them.
+  FANOTIFY y
   EXT2_FS_XATTR y
   EXT2_FS_POSIX_ACL y
   EXT2_FS_SECURITY y
-  EXT2_FS_XIP y # Ext2 execute in place support
+  ${optionalString (versionOlder version "4.0") ''
+    EXT2_FS_XIP y # Ext2 execute in place support
+  ''}
   EXT3_FS_POSIX_ACL y
   EXT3_FS_SECURITY y
   EXT4_FS_POSIX_ACL y
@@ -157,7 +189,6 @@ with stdenv.lib;
   XFS_RT? y # XFS Realtime subvolume support
   OCFS2_DEBUG_MASKLOG? n
   BTRFS_FS_POSIX_ACL y
-  UBIFS_FS_XATTR? y
   UBIFS_FS_ADVANCED_COMPR? y
   ${optionalString (versionAtLeast version "3.6") ''
     NFS_SWAP y
@@ -174,6 +205,23 @@ with stdenv.lib;
   CIFS_XATTR y
   CIFS_POSIX y
   CIFS_FSCACHE y
+  ${optionalString (versionAtLeast version "3.12") ''
+    CEPH_FSCACHE y
+  ''}
+  ${optionalString (versionAtLeast version "3.14") ''
+    CEPH_FS_POSIX_ACL y
+  ''}
+  ${optionalString (versionAtLeast version "3.13") ''
+    SQUASHFS_FILE_DIRECT y
+    SQUASHFS_DECOMP_MULTI_PERCPU y
+  ''}
+  SQUASHFS_XATTR y
+  SQUASHFS_ZLIB y
+  SQUASHFS_LZO y
+  SQUASHFS_XZ y
+  ${optionalString (versionAtLeast version "3.19") ''
+    SQUASHFS_LZ4 y
+  ''}
 
   # Security related features.
   STRICT_DEVMEM y # Filter access to /dev/mem
@@ -192,6 +240,16 @@ with stdenv.lib;
   SECURITY_APPARMOR y
   DEFAULT_SECURITY_APPARMOR y
 
+  # Microcode loading support
+  MICROCODE y
+  MICROCODE_INTEL y
+  MICROCODE_AMD y
+  ${optionalString (versionAtLeast version "3.11") ''
+    MICROCODE_EARLY y
+    MICROCODE_INTEL_EARLY y
+    MICROCODE_AMD_EARLY y
+  ''}
+
   # Misc. options.
   8139TOO_8129 y
   8139TOO_PIO n # PIO is slower
@@ -209,7 +267,9 @@ with stdenv.lib;
   BT_HCIUART_BCSP? y
   BT_HCIUART_H4? y # UART (H4) protocol support
   BT_HCIUART_LL? y
-  BT_RFCOMM_TTY? y # RFCOMM TTY support
+  ${optionalString (versionAtLeast version "3.4") ''
+    BT_RFCOMM_TTY? y # RFCOMM TTY support
+  ''}
   CRASH_DUMP? n
   ${optionalString (versionOlder version "3.1") ''
     DMAR? n # experimental
@@ -232,22 +292,30 @@ with stdenv.lib;
   LOGO n # not needed
   MEDIA_ATTACH y
   MEGARAID_NEWGEN y
-  MICROCODE_AMD y
   MODVERSIONS y
   MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
   MTRR_SANITIZER y
   NET_FC y # Fibre Channel driver support
   PPP_MULTILINK y # PPP multilink support
+  PPP_FILTER y
   REGULATOR y # Voltage and Current Regulator Support
   ${optionalString (versionAtLeast version "3.6") ''
     RC_DEVICES? y # Enable IR devices
   ''}
+  ${optionalString (versionAtLeast version "3.10") ''
+    RT2800USB_RT55XX y
+  ''}
   SCSI_LOGGING y # SCSI logging facility
   SERIAL_8250 y # 8250/16550 and compatible serial support
   SLIP_COMPRESSED y # CSLIP compressed headers
   SLIP_SMART y
   THERMAL_HWMON y # Hardware monitoring support
-  USB_DEBUG? n
+  ${optionalString (versionAtLeast version "3.15") ''
+    UEVENT_HELPER n
+  ''}
+  ${optionalString (versionOlder version "3.15") ''
+    USB_DEBUG? n
+  ''}
   USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
   USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
   X86_CHECK_BIOS_CORRUPTION y
@@ -278,9 +346,16 @@ with stdenv.lib;
 
   # Tracing.
   FTRACE y
+  KPROBES y
   FUNCTION_TRACER y
   FTRACE_SYSCALLS y
   SCHED_TRACER y
+  STACK_TRACER y
+  ${optionalString (versionAtLeast version "3.10") ''
+    UPROBE_EVENT y
+  ''}
+  FUNCTION_PROFILER y
+  RING_BUFFER_BENCHMARK n
 
   # Devtmpfs support.
   DEVTMPFS y
@@ -303,10 +378,34 @@ with stdenv.lib;
   ''}
   XEN? y
   XEN_DOM0? y
+  ${optionalString ((versionAtLeast version "3.18") && (features.xen_dom0 or false))  ''
+    PCI_XEN? y
+    HVC_XEN? y
+    HVC_XEN_FRONTEND? y
+    XEN_SYS_HYPERVISOR? y
+    SWIOTLB_XEN? y
+    XEN_BACKEND? y
+    XEN_BALLOON? y
+    XEN_BALLOON_MEMORY_HOTPLUG? y
+    XEN_EFI? y
+    XEN_HAVE_PVMMU? y
+    XEN_MCE_LOG? y
+    XEN_PVH? y
+    XEN_PVHVM? y
+    XEN_SAVE_RESTORE? y
+    XEN_SCRUB_PAGES? y
+    XEN_SELFBALLOONING? y
+    XEN_STUB? y
+    XEN_TMEM? y
+  ''}
   KSM y
   ${optionalString (!stdenv.is64bit) ''
     HIGHMEM64G? y # We need 64 GB (PAE) support for Xen guest support.
   ''}
+  ${optionalString (versionAtLeast version "3.9" && stdenv.is64bit) ''
+    VFIO_PCI_VGA y
+  ''}
+  VIRT_DRIVERS y
 
   # Media support.
   ${optionalString (versionAtLeast version "3.6") ''
@@ -332,14 +431,20 @@ with stdenv.lib;
   TRANSPARENT_HUGEPAGE_ALWAYS? n
   TRANSPARENT_HUGEPAGE_MADVISE? y
 
-  # zram support (e.g for in-memory compressed swap)
+  # zram support (e.g for in-memory compressed swap).
   ${optionalString (versionAtLeast version "3.4") ''
     ZSMALLOC y
   ''}
   ZRAM m
-  
+
   ${optionalString (versionAtLeast version "3.17") "NFC? n"}
 
+  # Enable firmware loading via udev. Only needed for non-declarative
+  # firmware in /root/test-firmware.
+  ${optionalString (versionAtLeast version "3.17") ''
+    FW_LOADER_USER_HELPER_FALLBACK y
+  ''}
+
   ${kernelPlatform.kernelExtraConfig or ""}
   ${extraConfig}
 ''
diff --git a/pkgs/os-specific/linux/kernel/crc-regression.patch b/pkgs/os-specific/linux/kernel/crc-regression.patch
new file mode 100644
index 00000000000..623713d16a6
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/crc-regression.patch
@@ -0,0 +1,24 @@
+See https://github.com/NixOS/nixpkgs/issues/6231
+
+v3.14.31:crypto/crc32c.c is missing the MODULE_ALIAS_CRYPTO("crc32c").
+That's probably because crypto/crc32c.c was renamed to
+crypto/crc32c_generic.c in commit
+06e5a1f29819759392239669beb2cad27059c8ec and therefore fell through
+the cracks when backporting commit
+5d26a105b5a73e5635eae0629b42fa0a90e07b7b.
+
+So the affected kernels (all that backported the "crypto-" prefix
+patches) need this additional patch:
+
+diff --git a/crypto/crc32c.c b/crypto/crc32c.c
+index 06f7018c9d95..aae5829eb681 100644
+--- a/crypto/crc32c.c
++++ b/crypto/crc32c.c
+@@ -167,6 +167,7 @@ static void __exit crc32c_mod_fini(void)
+ module_init(crc32c_mod_init);
+ module_exit(crc32c_mod_fini);
+
++MODULE_ALIAS_CRYPTO("crc32c");
+ MODULE_AUTHOR("Clay Haapala <chaapala@cisco.com>");
+ MODULE_DESCRIPTION("CRC32c (Castagnoli) calculations wrapper for lib/crc32c");
+ MODULE_LICENSE("GPL");
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 13250e45494..b42892f9f2d 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -57,6 +57,10 @@ let
     autoModules = stdenv.platform.kernelAutoModules;
     arch = stdenv.platform.kernelArch;
 
+    preConfigure = ''
+        buildFlagsArray+=("KBUILD_BUILD_TIMESTAMP=Thu Jan 1 00:00:01 UTC 1970")
+    '';
+
     crossAttrs = let
         cp = stdenv.cross.platform;
       in {
diff --git a/pkgs/os-specific/linux/kernel/grsec-path.patch b/pkgs/os-specific/linux/kernel/grsec-path.patch
index 6f59cf8d80b..aaf7d80dc91 100644
--- a/pkgs/os-specific/linux/kernel/grsec-path.patch
+++ b/pkgs/os-specific/linux/kernel/grsec-path.patch
@@ -1,17 +1,18 @@
 diff --git a/kernel/kmod.c b/kernel/kmod.c
-index 67f7981..03f127d 100644
+index a26e825..29baec1 100644
 --- a/kernel/kmod.c
 +++ b/kernel/kmod.c
-@@ -246,9 +246,9 @@ static int ____call_usermodehelper(void *data)
+@@ -294,10 +294,9 @@ static int ____call_usermodehelper(void *data)
  	   out the path to be used prior to this point and are now operating
  	   on that copy
  	*/
 -	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) &&
 -	     strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) &&
+-	     strncmp(sub_info->path, "/usr/libexec/", 13) &&
 -	     strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) {
-+	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) &&
-+	     strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) ||
-+	     strstr(sub_info->path, "..")) {
++        if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) &&
++             strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) ||
++             strstr(sub_info->path, "..")) {
  		printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of /sbin and system library paths\n", sub_info->path);
  		retval = -EPERM;
- 		goto fail;
+ 		goto out;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 8fa684e407c..853b784a335 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.53";
+  version = "3.10.73";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1sxa6ppgpy9fgj4lyj8d53y309v6r5nmifbrcf5pqs6l944frhq6";
+    sha256 = "0xy8738sdbw7lbqwkmbhr2zghva5nyfqq163r6jmjr6cfw116kin";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index c67c531667a..951b55c2f35 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.27";
+  version = "3.12.39";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0c8psz9k6k413b48dphclqs6wkh9wiwf5nslykg27afdqd6v4ycc";
+    sha256 = "0svd2rnkrzpmnrv5qd5vfz4wkff6973s68zg5a1blmjs4p5asvl6";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 74d83345ec1..8289235cd6e 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,14 +1,22 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.17";
+  version = "3.14.37";
+  # Remember to update grsecurity!
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1dl9skwd1xvkdm9gblidcawkck6x5slb41gbx0i8jxby2k6w6i5n";
+    sha256 = "1pq4i97vys38rl8ylx4s08qgh9yz3cl840j1f70yzakmc2017byc";
   };
 
+  # FIXME: remove with the next point release.
+  kernelPatches = args.kernelPatches ++
+    [ { name = "btrfs-fix-deadlock";
+        patch = ./btrfs-fix-deadlock.patch;
+      }
+    ];
+
   features.iwlwifi = true;
   features.efiBootStub = true;
   features.needsCifsUtils = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.15.nix b/pkgs/os-specific/linux/kernel/linux-3.15.nix
deleted file mode 100644
index cb2463ebfdc..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.15.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.15.10";
-  extraMeta.branch = "3.15";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1x057a1pfr4rqzmjdb3x1bwwl6gzr6im8dg8f6anwz9fnps6vv5d";
-  };
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.16.nix b/pkgs/os-specific/linux/kernel/linux-3.16.nix
deleted file mode 100644
index be2e68ab81e..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.16.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.16.1";
-  extraMeta.branch = "3.16";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
-  };
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
new file mode 100644
index 00000000000..8f1d9bd2765
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "3.18.11";
+  extraMeta.branch = "3.18";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "19di7k38adnwimxddd1v6flgdsvxhgf8iswjwfyqi2p2bdcb0p5d";
+  };
+
+  # FIXME: remove with the next point release.
+  kernelPatches = args.kernelPatches ++
+    [ { name = "btrfs-fix-deadlock";
+        patch = ./btrfs-fix-deadlock.patch;
+      }
+    ];
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.19.nix b/pkgs/os-specific/linux/kernel/linux-3.19.nix
new file mode 100644
index 00000000000..e42775f0356
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.19.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "3.19.3";
+  # Remember to update grsecurity!
+  extraMeta.branch = "3.19";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "0nis1r9fg562ysirzlyvfxvirpcfhxhhpfv3s13ccz20qiqiy46f";
+  };
+
+  # FIXME: remove with the next point release.
+  kernelPatches = args.kernelPatches ++
+    [ { name = "btrfs-fix-deadlock";
+        patch = ./btrfs-fix-deadlock.patch;
+      }
+    ];
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index 13205e048ca..54cf9bc9324 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.2.62";
+  version = "3.2.68";
   extraMeta.branch = "3.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1yrmar14p5y9xaj9df388xwjmwz8fnsxnid6rkxxk7dni5di8nqf";
+    sha256 = "0yz3k3qqr13r6fa2f8i83rryiawy4rrd7qk2zx6jxq6byfd31ba2";
   };
 
   # We don't provide these patches if grsecurity is enabled, because
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 30bb873501b..2d053023721 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.103";
+  version = "3.4.106";
   extraMeta.branch = "3.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1ldga9l7dydwv5zvl3xgk8833cjv73yasyy2qmgimkbs03s8q4ig";
+    sha256 = "1l1k2kmlz0j12ly63w3mhvdzp5fpc22ajda4kw66fyjx96npm8sc";
   };
 
   kernelPatches = args.kernelPatches ++
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
deleted file mode 100644
index 6d28c376078..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-let
-
-  rev = "7849605f5a";
-
-in import ./generic.nix (args // rec {
-  version = "3.6.y-${rev}";
-
-  src = fetchurl {
-    url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}";
-    name = "linux-raspberrypi-${version}.tar.gz";
-    sha256 = "1diwc5p6az6ipcldwmkq7hb5f15nvdgwzmypixc2vmzmc4ylarxl";
-  };
-
-  features.iwlwifi = true;
-
-  extraMeta.hydraPlatforms = [];
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
new file mode 100644
index 00000000000..67a51dc767d
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, ... } @ args:
+
+let
+
+  rev = "fe4a83540ec73dfc298f16f027277355470ea9a0";
+
+in import ./generic.nix (args // rec {
+  version = "3.18.y-${rev}";
+
+  modDirVersion = "3.18.7-v7";
+
+  src = fetchurl {
+    url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}";
+    name = "linux-raspberrypi-${version}.tar.gz";
+    sha256 = "05gq40f038hxjqd3sdb1914g2bzw533dyxy59sgdpybs8801x2vb";
+  };
+
+  features.iwlwifi = true;
+
+  extraMeta.hydraPlatforms = [];
+})
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index ebbdd79ba16..769381355d4 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.17-rc2";
-  modDirVersion = "3.17.0-rc2";
-  extraMeta.branch = "3.17";
+  version = "4.0-rc7";
+  modDirVersion = "4.0.0-rc7";
+  extraMeta.branch = "4.0";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz";
-    sha256 = "094r4kqp7bj1wcdfsgdmv73law4zb7d0sd8lw82v3rz944mlm9y3";
+    url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
+    sha256 = "1261p44zmsaq7gf08b8sd9xng2y46d4v7jyfipjlgrrmlkyfgqki";
   };
 
-  kernelPatches = args.kernelPatches ++ [ { name = "3.17-buildfix.patch"; patch = ./3.17-buildfix.patch; } ];
-
   features.iwlwifi = true;
   features.efiBootStub = true;
   features.needsCifsUtils = true;
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 6d9baed7f2d..ea29c7f9e0c 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -118,9 +118,12 @@ let
       # Some image types need special install targets (e.g. uImage is installed with make uinstall)
       installTargets = [ (if platform.kernelTarget == "uImage" then "uinstall" else "install") ];
 
-      postInstall = optionalString installsFirmware ''
+      postInstall = (optionalString installsFirmware ''
         mkdir -p $out/lib/firmware
-      '' + (if isModular then ''
+      '') + (if (platform ? kernelDTB && platform.kernelDTB) then ''
+ 	make $makeFlags "''${makeFlagsArray[@]}" dtbs
+        cp $buildRoot/arch/$karch/boot/dts/*dtb $out
+      '' else "") + (if isModular then ''
         make modules_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
         unlink $out/lib/modules/${modDirVersion}/build
@@ -222,6 +225,8 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
     "ARCH=${stdenv.platform.kernelArch}"
   ];
 
+  karch = stdenv.platform.kernelArch;
+
   crossAttrs = let cp = stdenv.cross.platform; in
     (drvAttrs crossConfig cp (kernelPatches ++ crossKernelPatches) crossConfigfile) // {
       makeFlags = commonMakeFlags ++ [
@@ -229,6 +234,8 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
         "CROSS_COMPILE=$(crossConfig)-"
       ];
 
+      karch = cp.kernelArch;
+
       # !!! uboot has messed up cross-compiling, nativeDrv builds arm tools on x86,
       # crossDrv builds x86 tools on x86 (but arm uboot). If this is fixed, uboot
       # can just go into buildInputs (but not nativeBuildInputs since cp.uboot
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index c91b8ddfb44..0b17c44be98 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, apparmor }:
+{ stdenv, fetchurl }:
 
 let
 
@@ -18,7 +18,7 @@ let
       };
     };
 
-  grsecPatch = { grversion ? "3.0", kversion, revision, branch, sha256 }:
+  grsecPatch = { grversion ? "3.1", kversion, revision, branch, sha256 }:
     { name = "grsecurity-${grversion}-${kversion}";
       inherit grversion kversion revision;
       patch = fetchurl {
@@ -32,6 +32,11 @@ in
 
 rec {
 
+  bridge_stp_helper =
+    { name = "bridge-stp-helper";
+      patch = ./bridge-stp-helper.patch;
+    };
+
   no_xsave =
     { name = "no-xsave";
       patch = ./no-xsave.patch;
@@ -60,21 +65,27 @@ rec {
   };
 
   grsecurity_stable = grsecPatch
-    { kversion  = "3.14.17";
-      revision  = "201408260041";
+    { kversion  = "3.14.37";
+      revision  = "201504051405";
       branch    = "stable";
-      sha256    = "1brcfxbdd5f29vci3bj2dk3878z24ncrjw268j4i1n8ms65jqda0";
+      sha256    = "0w1rz5g4wwd22ivii7m7qjgakdynzjwpqxiydx51kiw5j0avkzs3";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "3.15.10";
-      revision  = "201408212335";
+    { kversion  = "3.19.3";
+      revision  = "201504021826";
       branch    = "test";
-      sha256    = "0ynnci7jms5a1acn8cpdw4w2j4jz5xai1da5w1l5r65909kwmx0k";
+      sha256    = "0r3gsha4x9bkzg9n4rcwzi9f3hkbqrf8yga1dd83kyd10fns4lzm";
     };
 
   grsec_fix_path =
     { name = "grsec-fix-path";
       patch = ./grsec-path.patch;
     };
+
+  crc_regression =
+    { name = "crc-backport-regression";
+      patch = ./crc-regression.patch;
+    };
+
 }
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 8b8f7e1e78d..efd3515ff24 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto
-, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig
+, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils
 , withGtk ? false, gtk ? null }:
 
 with lib;
@@ -21,10 +21,13 @@ stdenv.mkDerivation {
   '';
 
   # perf refers both to newt and slang
+  # binutils is required for libbfd.
   nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt flex bison ];
-  buildInputs = [ elfutils python perl newt slang pkgconfig] ++
+  buildInputs = [ elfutils python perl newt slang pkgconfig libunwind binutils ] ++
     stdenv.lib.optional withGtk gtk;
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   installFlags = "install install-man ASCIIDOC8=1";
 
   inherit elfutils;
diff --git a/pkgs/os-specific/linux/kernel/update.sh b/pkgs/os-specific/linux/kernel/update.sh
new file mode 100755
index 00000000000..d9db7f9f916
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/update.sh
@@ -0,0 +1,62 @@
+#!/usr/bin/env bash
+set -e
+
+# Get the latest versions from kernel.org
+LINUXSED='s/.*linux-\([0-9]\+\(.[0-9]\+\)*\).*/\1/p'
+KDATA="$(curl -s https://www.kernel.org | sed -n -e '/Download complete/p')"
+VERSIONS=($(sed -n -e $LINUXSED <<< "$KDATA" | sort -Vr))
+
+# Remove mainline version if there is a stable update
+# Note due to sorting these two will always exist at the bottom
+if grep -q "^${VERSIONS[1]}" <<< "${VERSIONS[0]}"; then
+  VERSIONS=(${VERSIONS[@]:0:1} ${VERSIONS[@]:2})
+fi
+
+# Inspect each file and see if it has the latest version
+NIXPKGS="$(git rev-parse --show-toplevel)"
+ls $NIXPKGS/pkgs/os-specific/linux/kernel | while read FILE; do
+  KERNEL="$(sed -n $LINUXSED <<< "$FILE")"
+  [ -z "$KERNEL" ] && continue
+
+  # Find the matching new kernel version
+  MATCHING=""
+  for V in "${VERSIONS[@]}"; do
+    if grep -q "^$KERNEL" <<< "$V"; then
+      MATCHING="$V"
+      break
+    fi
+  done
+  if [ -z "$MATCHING" ]; then
+    echo "Out-of-support $KERNEL"
+    continue
+  fi
+
+  # Inspect the nix expression to check for changes
+  DATA="$(<$NIXPKGS/pkgs/os-specific/linux/kernel/$FILE)"
+  URL="$(sed -n -e 's/.*url = "\(.*\)";.*/\1/p' <<< "$DATA" | sed -e "s/\${version}/$MATCHING/g")"
+  OLDVER=$(sed -n -e 's/.*version = "\(.*\)".*/\1/p' <<< "$DATA")
+  if [ "$OLDVER" = "$V" ]; then
+    echo "No updates for $KERNEL"
+    continue
+  fi
+
+  # Download the new file for the hash
+  if ! HASH="$(nix-prefetch-url $URL 2>/dev/null)"; then
+    echo "Failed to get hash of $URL"
+    continue
+  fi
+  sed -i "s/sha256 = \".*\"/sha256 = \"$HASH\"/g" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
+
+  # Rewrite the expression
+  sed -i -e '/version = /d' -e '/modDirVersion = /d' $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
+  if grep -q '^[0-9]\+.[0-9]\+$' <<< "$V"; then
+    sed -i "\#import ./generic.nix (args // rec {#a \  modDirVersion = \"${V}.0\";" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
+  fi
+  sed -i "\#import ./generic.nix (args // rec {#a \  version = \"$V\";" $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
+
+  # Commit the changes
+  git add -u $NIXPKGS/pkgs/os-specific/linux/kernel/$FILE
+  git commit -m "kernel: $OLDVER -> $V" >/dev/null 2>&1
+  
+  echo "Updated $OLDVER -> $V"
+done
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index df44cb68d8b..b948dbff2c1 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, kernelHeaders, kernel, perl }:
 
 let
-  version = "2.0.3";
+  version = "2.0.4";
 
   commonMakeFlags = [
     "prefix=$(out)"
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz";
-    sha256 = "02035f2b230020de569d40605485121e0fe481ed33a93bdb8bf8c6ee2695fffa";
+    sha256 = "7f9a0850586def7cf4faeeb75e5d0f66e613674c524f6e77b0f4d93a26c801cb";
   };
 
   patches = [ ./no-reinstall-kernel-headers.patch ];
diff --git a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
index 682c36401de..686f63720fc 100644
--- a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
+++ b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
@@ -19,8 +19,8 @@ stdenv.mkDerivation {
 
     substituteInPlace "$out"/modprobe.conf \
       --replace /sbin/lsmod /run/booted-system/sw/bin/lsmod \
-      --replace /sbin/rmmod /run/booted-system/sw/sbin/rmmod \
-      --replace /sbin/modprobe /run/booted-system/sw/sbin/modprobe \
+      --replace /sbin/rmmod /run/booted-system/sw/bin/rmmod \
+      --replace /sbin/modprobe /run/booted-system/sw/bin/modprobe \
       --replace " grep " " ${gnugrep}/bin/grep " \
       --replace " xargs " " ${findutils}/bin/xargs "
   '';
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 380b4a35f1c..1d190be71b8 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "kmod-17";
+  name = "kmod-20";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "1yid3a9b64a60ybj66fk2ysrq5klnl0ijl4g624cl16y8404g9rv";
+    sha256 = "186sz8b82n02yykza6a1q8fk80fl5gx0nr42wpmzjc9w36ia3hc9";
   };
 
   # Disable xz/zlib support to prevent needing them in the initrd.
diff --git a/pkgs/os-specific/linux/ktap/default.nix b/pkgs/os-specific/linux/ktap/default.nix
index a82804cb837..2cb4f60f75b 100644
--- a/pkgs/os-specific/linux/ktap/default.nix
+++ b/pkgs/os-specific/linux/ktap/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchgit, kernel, useFFI ? false }:
 
+assert builtins.substring 0 4 kernel.version != "3.18";
+
 let
   ffiArgs = stdenv.lib.optionalString useFFI "FFI=1";
 in
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A lightweight script-based dynamic tracing tool for Linux.";
+    description = "A lightweight script-based dynamic tracing tool for Linux";
     homepage    = "http://www.ktap.org";
     license     = stdenv.lib.licenses.gpl2;
     platforms   = stdenv.lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix
index bf30530e9ad..b3df129912e 100644
--- a/pkgs/os-specific/linux/libaio/default.nix
+++ b/pkgs/os-specific/linux/libaio/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libaio-0.3.109";
+  version = "0.3.110";
+  name = "libaio-${version}";
 
-  src = fetchgit {
-    url = https://git.fedorahosted.org/git/libaio.git;
-    rev = "refs/tags/${name}";
-    sha256 = "1wbziq0hqvnbckpxrz1cgr8dlw3mifs4xpy3qhnagbrrsmrq2rhi";
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/l/i/libaio/${name}.tar.gz";
+    sha256 = "0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0";
   };
 
   makeFlags = "prefix=$(out)";
@@ -15,5 +15,7 @@ stdenv.mkDerivation rec {
     description = "Library for asynchronous I/O in Linux";
     homepage = http://lse.sourceforge.net/io/aio.html;
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
index 34d855da6f5..dfcbe61611c 100644
--- a/pkgs/os-specific/linux/libcap/default.nix
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -4,11 +4,11 @@ assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "libcap-${version}";
-  version = "2.22";
+  version = "2.24";
 
   src = fetchurl {
-    url = "mirror://gentoo/distfiles/${name}.tar.bz2";
-    sha256 = "03q50j6bg65cc501q87qh328ncav1i8qw2bjig99vxmmfx4bvsvk";
+    url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${name}.tar.xz";
+    sha256 = "0rbc9qbqs5bp9am9s9g83wxj5k4ixps2agy9dxr1v1fwg27mdr6f";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/os-specific/linux/libcap/progs.nix b/pkgs/os-specific/linux/libcap/progs.nix
index 1902b4acb1a..ae4446c82e6 100644
--- a/pkgs/os-specific/linux/libcap/progs.nix
+++ b/pkgs/os-specific/linux/libcap/progs.nix
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libcap ];
 
+  prePatch = ''
+    # use relative bash path
+    substituteInPlace progs/capsh.c --replace "/bin/bash" "bash"
+
+    # ensure capsh can find bash in $PATH
+    substituteInPlace progs/capsh.c --replace execve execvpe
+  '';
+
   preConfigure = "cd progs";
 
   installFlags = "RAISE_SETFCAP=no";
diff --git a/pkgs/os-specific/linux/libnl/3.2.19.nix b/pkgs/os-specific/linux/libnl/3.2.19.nix
deleted file mode 100644
index ea508c088e7..00000000000
--- a/pkgs/os-specific/linux/libnl/3.2.19.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-
-{stdenv, fetchurl, bison, flex}:
-
-stdenv.mkDerivation rec {
-  name = "libnl-3.2.19";
-
-  src = fetchurl {
-    url = "${meta.homepage}files/${name}.tar.gz";
-    sha256 = "12q97cw680hg4rylyd8j3d7azwwia4ndsv3kybd1ajp8hjni39ip";
-  };
-
-  buildInputs = [ bison flex ];
-
-  meta = {
-    homepage = "http://www.infradead.org/~tgr/libnl/";
-    description = "Linux NetLink interface library";
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix
index 093a00ed9a5..fe844226a64 100644
--- a/pkgs/os-specific/linux/libnl/default.nix
+++ b/pkgs/os-specific/linux/libnl/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, bison, flex}:
 
 stdenv.mkDerivation rec {
-  name = "libnl-3.2.23";
+  name = "libnl-3.2.25";
 
   src = fetchurl {
     url = "${meta.homepage}files/${name}.tar.gz";
-    sha256 = "1czj2bpb799bih6ighqwbvv9pvbpcw7vmccv9cwavfwcmalwvhlc";
+    sha256 = "1icfrv8yihcb74as1gcgmp0wfpdq632q2zvbvqqvjms9cy87bswb";
   };
 
   buildInputs = [ bison flex ];
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index c469fe93493..29b6d80445a 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libsepol-${version}";
   version = "2.3";
   se_release = "20140506";
-  se_url = "${meta.homepage}/releases";
+  se_url = "https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases";
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
diff --git a/pkgs/os-specific/linux/light/default.nix b/pkgs/os-specific/linux/light/default.nix
new file mode 100644
index 00000000000..5ca9f69f879
--- /dev/null
+++ b/pkgs/os-specific/linux/light/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "0.9";
+  name = "light-${version}";
+  src = fetchurl {
+    url = "https://github.com/haikarainen/light/archive/v${version}.tar.gz";
+    sha256 = "1dnzkkg307izvw76gvzsl2vpxd2a1grxg5h82ix505rb9nnmn0d6";
+  };
+
+  installPhase = "mkdir -p $out/bin; cp light $out/bin/";
+
+  meta = {
+    description = "GNU/Linux application to control backlights";
+    homepage = https://haikarainen.github.io/light/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/lightum/default.nix b/pkgs/os-specific/linux/lightum/default.nix
new file mode 100644
index 00000000000..fea188f8949
--- /dev/null
+++ b/pkgs/os-specific/linux/lightum/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, libX11, libXScrnSaver, libXext, glib, dbus, pkgconfig, systemd }:
+
+stdenv.mkDerivation {
+  name = "lightum";
+  src = fetchgit {
+    url = https://github.com/poliva/lightum;
+    rev = "123e6babe0669b23d4c1dfa5511088608ff2baa8";
+    sha256 = "1r8c9mb82qgs8i7dczqx8fc7xrbn413b59xkqgjh4z1pfy75sl79";
+  };
+
+  buildInputs = [
+    dbus
+    glib
+    libX11
+    libXScrnSaver
+    libXext
+    pkgconfig
+    systemd
+  ];
+
+  installPhase = ''
+    make install prefix=$out bindir=$out/bin docdir=$out/share/doc \
+      mandir=$out/share/man INSTALL="install -c" INSTALLDATA="install -c -m 644"
+  '';
+
+  meta = {
+    description = "MacBook automatic light sensor daemon";
+    homepage = https://github.com/poliva/lightum;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/lockdep/default.nix b/pkgs/os-specific/linux/lockdep/default.nix
index 1554715a613..612291e62e4 100644
--- a/pkgs/os-specific/linux/lockdep/default.nix
+++ b/pkgs/os-specific/linux/lockdep/default.nix
@@ -2,11 +2,12 @@
 
 stdenv.mkDerivation rec {
   name    = "lockdep-${version}";
-  version = "3.16.1";
+  version = "3.19.1";
+  fullver = "3.19.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
+    sha256 = "0qx7vxmlcwr4nvzf4wq0da7xwzqw4b67h9a5rfpxgg9mayk3czvi";
   };
 
   preConfigure = "cd tools/lib/lockdep";
@@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
     cp -R include/liblockdep $out/include
     make install DESTDIR=$out prefix=""
 
-    substituteInPlace $out/bin/lockdep --replace "./liblockdep.so" "$out/lib/liblockdep.so.$version"
+    substituteInPlace $out/bin/lockdep --replace "./liblockdep.so" "$out/lib/liblockdep.so.$fullver"
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index 8e20bf1e3d3..5fe065d3cc6 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, kernel }:
+{ stdenv, fetchgit, kernel }:
+
+assert stdenv.lib.versionAtLeast kernel.version "3.4";  # fails on 3.2
 
 stdenv.mkDerivation rec {
-  pname = "lttng-modules-2.4.1";
+  pname = "lttng-modules-${version}";
   name = "${pname}-${kernel.version}";
+  version = "2.6.0-5-g1b2a542";
 
-  src = fetchurl {
-    url = "https://lttng.org/files/lttng-modules/${pname}.tar.bz2";
-    sha256 = "1qn1qm8lwqw9ri9wfkf6k3d58gl9rwffmpbpkwx21v1fw95zi92k";
+  src = fetchgit {
+    url = "https://github.com/lttng/lttng-modules.git";
+    rev = "1b2a5429de815c95643df2eadf91253909708728";
+    sha256 = "0zccaiadnk0xl6xrqaqlg9rpkwjgbq2fiyc3psylzqimnx0ydxc2";
   };
 
-  patches = [ ./lttng-fix-build-error-on-linux-3.2.patch ];
-
   preConfigure = ''
     export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     export INSTALL_MOD_PATH="$out"
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Linux kernel modules for LTTng tracing";
     homepage = http://lttng.org/;
-    # TODO license = with licenses; [ lgpl21 gpl2 mit ];
+    license = with licenses; [ lgpl21 gpl2 mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch b/pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch
deleted file mode 100644
index dfe6d21be84..00000000000
--- a/pkgs/os-specific/linux/lttng-modules/lttng-fix-build-error-on-linux-3.2.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-When building against linux 3.2, we get this build error:
-
-  building /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.o
-    CC [M]  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.o
-  In file included from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/lttng-events.h:759:0,
-                   from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/define_trace.h:148,
-                   from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/ext3.h:868,
-                   from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.c:48:
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h: In function '__event_probe__ext3__page_op':
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1: error: dereferencing pointer to incomplete type
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1: error: dereferencing pointer to incomplete type
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1: error: dereferencing pointer to incomplete type
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h: In function '__event_probe__ext3_invalidatepage':
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1: error: dereferencing pointer to incomplete type
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1: error: dereferencing pointer to incomplete type
-  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1: error: dereferencing pointer to incomplete type
-
-because a check for existing ext3/*h files in the kernel build tree is skipped
-for linux < 3.4. Fix it by extending the ext3_dep_check thing to also be run
-when building against linux >= 3.2 (not only linux >= 3.4).
-
-diff -uNr lttng-modules-2.2.0.orig/probes/Makefile lttng-modules-2.2.0/probes/Makefile
---- lttng-modules-2.2.0.orig/probes/Makefile	2013-06-19 03:22:44.000000000 +0200
-+++ lttng-modules-2.2.0/probes/Makefile	2013-07-06 13:22:15.902957717 +0200
-@@ -59,7 +59,7 @@
- ext3_dep_check = $(wildcard $(ext3_dep))
- ext3 = $(shell \
- 	if [ $(VERSION) -ge 3 -a $(PATCHLEVEL) -ge 1 ] ; then \
--		if [ $(VERSION) -ge 3 -a $(PATCHLEVEL) -ge 4 -a \
-+		if [ $(VERSION) -ge 3 -a $(PATCHLEVEL) -ge 2 -a \
- 			-z "$(ext3_dep_check)" ] ; then \
- 			echo "warn" ; \
- 			exit ; \
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 9e2b0c90079..228f7b34be0 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }:
+{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }:
 
 let
-  v = "2.02.106";
+  version = "2.02.118";
 in
 
 stdenv.mkDerivation {
-  name = "lvm2-${v}";
+  name = "lvm2-${version}";
 
   src = fetchurl {
-    url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${v}.tgz";
-    sha256 = "0nr833bl0q4zq52drjxmmpf7bs6kqxwa5kahwwxm9411khkxz0vc";
+    url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
+    sha256 = "1ishsibxn1l5fymrrc5fd3z05x1z2zh0y8939wpvwz0qp9rwxazn";
   };
 
   configureFlags =
-    "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib";
+    "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib --enable-cmdlib"
+      + (stdenv.lib.optionalString enable_dmeventd " --enable-dmeventd")
+      ;
 
   buildInputs = [ pkgconfig udev ];
 
@@ -54,5 +56,8 @@ stdenv.mkDerivation {
     homepage = http://sourceware.org/lvm2/;
     descriptions = "Tools to support Logical Volume Management (LVM) on Linux";
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    inherit version;
+    downloadPage = "ftp://sources.redhat.com/pub/lvm2/";
   };
 }
diff --git a/pkgs/os-specific/linux/lvm2/default.upstream b/pkgs/os-specific/linux/lvm2/default.upstream
new file mode 100644
index 00000000000..1e5aaf5ab5c
--- /dev/null
+++ b/pkgs/os-specific/linux/lvm2/default.upstream
@@ -0,0 +1,4 @@
+url ftp://sources.redhat.com/pub/lvm2/
+version_link '[.]tgz$'
+version '.*[^0-9.][^.]*[.]([0-9.]+)[.].*' '\1'
+do_overwrite () { do_overwrite_just_version; }
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 12305687c29..9939a552574 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -1,36 +1,63 @@
-{ stdenv, autoreconfHook, fetchurl, libcap, apparmor, perl, docbook2x
-, docbook_xml_dtd_45, gnutls, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl, docbook2x
+, docbook_xml_dtd_45, systemd
+, libapparmor ? null, gnutls ? null, libseccomp ? null, cgmanager ? null
+, libnih ? null, dbus ? null, libcap ? null
 }:
 
+let
+  enableCgmanager = cgmanager != null && libnih != null && dbus != null;
+in
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "lxc-1.0.3";
+  name = "lxc-1.1.1";
 
-  src = fetchurl {
-    url = "http://github.com/lxc/lxc/archive/${name}.tar.gz";
-    sha256 = "04k45jgj2i501yhm467s1a1yk7h7q0fjhspys158w1a2m1hari4z";
+  src = fetchFromGitHub {
+    owner = "lxc";
+    repo = "lxc";
+    rev = name;
+    sha256 = "04zpznd364862y3dwn97klvwfw9i2b6n1lh4fkci0z74c6z9svql";
   };
 
-  buildInputs = [ libcap apparmor perl docbook2x gnutls autoreconfHook pkgconfig ];
+  buildInputs = [
+    autoreconfHook pkgconfig perl docbook2x systemd
+    libapparmor gnutls libseccomp cgmanager libnih dbus libcap
+  ];
 
-  patches = [ ./install-localstatedir-in-store.patch ./support-db2x.patch ];
+  patches = [ ./support-db2x.patch ];
 
-  preConfigure = ''
-    export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml
-    substituteInPlace doc/rootfs/Makefile.am --replace '@LXCROOTFSMOUNT@' '$out/lib/lxc/rootfs'
-  '';
+  XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
 
   configureFlags = [
     "--localstatedir=/var"
+    "--sysconfdir=/etc"
     "--with-rootfs-path=/var/lib/lxc/rootfs"
+  ] ++ optional (libapparmor != null) "--enable-apparmor"
+    ++ optional (gnutls != null) "--enable-gnutls"
+    ++ optional (libseccomp != null) "--enable-seccomp"
+    ++ optional (enableCgmanager) "--enable-cgmanager"
+    ++ optional (libcap != null) "--enable-capabilities"
+    ++ [
     "--enable-doc"
     "--enable-tests"
-    "--enable-apparmor"
   ];
 
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  postInstall = ''
+    mv $out/$out/* $out
+    DIR=$out/$out
+    while rmdir $DIR 2>/dev/null; do
+      DIR="$(dirname "$DIR")"
+    done
+
+    # Remove the unneeded var/lib directories
+    rm -rf $out/var
+  '';
+
   meta = {
     homepage = "http://lxc.sourceforge.net";
     description = "userspace tools for Linux Containers, a lightweight virtualization system";
-    license = stdenv.lib.licenses.lgpl21Plus;
+    license = licenses.lgpl21Plus;
 
     longDescription = ''
       LXC is the userspace control package for Linux Containers, a
@@ -40,7 +67,7 @@ stdenv.mkDerivation rec {
       mechanisms to Linux’s existing process management infrastructure.
     '';
 
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ simons wkennington ];
   };
 }
diff --git a/pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch b/pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch
deleted file mode 100644
index d45335a0232..00000000000
--- a/pkgs/os-specific/linux/lxc/install-localstatedir-in-store.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index eac2bfd..8f040d3 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -25,8 +25,8 @@ pcdatadir = $(libdir)/pkgconfig
- pcdata_DATA = lxc.pc
- 
- install-data-local:
--	$(MKDIR_P) $(DESTDIR)$(LXCPATH)
--	$(MKDIR_P) $(DESTDIR)$(localstatedir)/cache/lxc
-+	$(MKDIR_P) $(out)$(LXCPATH)
-+	$(MKDIR_P) $(out)$(localstatedir)/cache/lxc
- 
- ChangeLog::
- 	@touch ChangeLog
diff --git a/pkgs/os-specific/linux/macchanger/default.nix b/pkgs/os-specific/linux/macchanger/default.nix
new file mode 100644
index 00000000000..b6ae89afbaf
--- /dev/null
+++ b/pkgs/os-specific/linux/macchanger/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, texinfo }:
+
+let
+  pname = "macchanger";
+  version = "1.7.0";
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "alobbs";
+    repo = "macchanger";
+    rev = version;
+    sha256 = "1hypx6sxhd2b1nsxj314hpkhj7q4x9p2kfaaf20rjkkkig0nck9r";
+  };
+
+  buildInputs = [ autoreconfHook texinfo ];
+
+  meta = {
+    description = "A utility for viewing/manipulating the MAC address of network interfaces";
+    maintainers = [ stdenv.lib.maintainers.joachifm ];
+    license = stdenv.lib.licenses.gpl2Plus;
+    homepage = "https://www.gnu.org/software/macchanger";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 48e1c178490..a7965a70b1c 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -3,6 +3,15 @@
 stdenv.mkDerivation rec {
   name = "mdadm-3.3";
 
+  # WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING
+  #  Do NOT update this if you're not ABSOLUTELY certain that it will work.
+  #  Please check the update using the NixOS VM test, BEFORE pushing:
+  #    nix-build nixos/release.nix -A tests.installer.swraid.x86_64-linux
+  # Discussion:
+  #   https://github.com/NixOS/nixpkgs/commit/7719f7f
+  #   https://github.com/NixOS/nixpkgs/commit/666cf99
+  #   https://github.com/NixOS/nixpkgs/pull/6006
+  # WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING
   src = fetchurl {
     url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.bz2";
     sha256 = "0igdqflihiq1dp5qlypzw0xfl44f4n3bckl7r2x2wfgkplcfa1ww";
diff --git a/pkgs/os-specific/linux/microcode/amd.nix b/pkgs/os-specific/linux/microcode/amd.nix
index 0ca33fa31f0..76a34052991 100644
--- a/pkgs/os-specific/linux/microcode/amd.nix
+++ b/pkgs/os-specific/linux/microcode/amd.nix
@@ -1,25 +1,30 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, firmwareLinuxNonfree, libarchive }:
 
 stdenv.mkDerivation rec {
-  name = "amd-ucode-2012-09-10";
+  name = "amd-ucode-${firmwareLinuxNonfree.version}";
 
-  src = fetchurl {
-    urls =
-      [ "http://pkgs.fedoraproject.org/repo/pkgs/microcode_ctl/${name}.tar/559bc355d3799538584add80df2996f0/${name}.tar"
-        "http://www.amd64.org/pub/microcode/${name}.tar"
-      ];
-    sha256 = "065phvhx5hx5ssdd1x2p5m1yv26ak7l5aaw6yk6h95x9mxn5r111";
-  };
+  src = firmwareLinuxNonfree;
+
+  sourceRoot = ".";
+
+  buildInputs = [ libarchive ];
+
+  buildPhase = ''
+    mkdir -p kernel/x86/microcode
+    find ${firmwareLinuxNonfree}/lib/firmware/amd-ucode -name \*.bin \
+      -exec sh -c 'cat {} >> kernel/x86/microcode/AuthenticAMD.bin' \;
+  '';
 
   installPhase = ''
-    mkdir -p $out/lib/firmware/amd-ucode $out/share/doc/amd-ucode
-    mv microcode_amd_fam15h.bin microcode_amd.bin $out/lib/firmware/amd-ucode/
-    mv LICENSE $out/share/doc/amd-ucode
+    mkdir -p $out
+    echo kernel/x86/microcode/AuthenticAMD.bin | bsdcpio -o -H newc -R 0:0 > $out/amd-ucode.img
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "AMD Processor microcode patch";
     homepage = http://www.amd64.org/support/microcode.html;
-    license = stdenv.lib.licenses.unfreeRedistributableFirmware;
+    license = licenses.unfreeRedistributableFirmware;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/microcode/converter.nix b/pkgs/os-specific/linux/microcode/converter.nix
deleted file mode 100644
index da4d9677217..00000000000
--- a/pkgs/os-specific/linux/microcode/converter.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "microcode2ucode-20120205";
-  src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/microcode_ctl/intel-microcode2ucode.c/0efc5f6c74a4d7e61ca22683c93c98cf/intel-microcode2ucode.c";
-    sha256 = "c51b1b1d8b4b28e7d5d007917c1e444af1a2ff04a9408aa9067c0e57d70164de";
-  };
-
-  sourceRoot = ".";
-
-  unpackPhase = ''
-    # nothing to unpack
-  '';
-
-  buildPhase = ''
-    gcc -Wall -O2 $src -o intel-microcode2ucode
-  '';
-
-  installPhase = ''
-    mkdir -p "$out/bin"
-    cp intel-microcode2ucode "$out/bin/"
-  '';
-
-  meta = {
-    homepage = http://www.intel.com;
-    description = "Microcode converter for Intel .dat files";
-  };
-}
diff --git a/pkgs/os-specific/linux/microcode/intel-microcode2ucode.c b/pkgs/os-specific/linux/microcode/intel-microcode2ucode.c
new file mode 100644
index 00000000000..c1660fae38a
--- /dev/null
+++ b/pkgs/os-specific/linux/microcode/intel-microcode2ucode.c
@@ -0,0 +1,154 @@
+/*
+ * Convert Intel microcode.dat into a single binary microcode.bin file
+ *
+ * Based on code by Kay Sievers <kay.sievers@vrfy.org>
+ * Changed to create a single file by Thomas Bächler <thomas@archlinux.org>
+ */
+
+
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <inttypes.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/stat.h>
+
+struct microcode_header_intel {
+	unsigned int hdrver;
+	unsigned int rev;
+	unsigned int date;
+	unsigned int sig;
+	unsigned int cksum;
+	unsigned int ldrver;
+	unsigned int pf;
+	unsigned int datasize;
+	unsigned int totalsize;
+	unsigned int reserved[3];
+};
+
+union mcbuf {
+	struct microcode_header_intel hdr;
+	unsigned int i[0];
+	char c[0];
+};
+
+int main(int argc, char *argv[])
+{
+	const char *filename = "/lib/firmware/microcode.dat";
+	FILE *f;
+	char line[LINE_MAX];
+	char buf[4000000];
+	union mcbuf *mc;
+	size_t bufsize, count, start;
+	int rc = EXIT_SUCCESS;
+
+	if (argv[1] != NULL)
+		filename = argv[1];
+
+	count = 0;
+	mc = (union mcbuf *) buf;
+	f = fopen(filename, "re");
+	if (f == NULL) {
+		printf("open %s: %m\n", filename);
+		rc = EXIT_FAILURE;
+		goto out;
+	}
+
+	while (fgets(line, sizeof(line), f) != NULL) {
+		if (sscanf(line, "%x, %x, %x, %x",
+		    &mc->i[count],
+		    &mc->i[count + 1],
+		    &mc->i[count + 2],
+		    &mc->i[count + 3]) != 4)
+			continue;
+		count += 4;
+	}
+	fclose(f);
+
+	bufsize = count * sizeof(int);
+	printf("%s: %lu(%luk) bytes, %zu integers\n",
+	       filename,
+	       bufsize,
+	       bufsize / 1024,
+	       count);
+
+	if (bufsize < sizeof(struct microcode_header_intel))
+		goto out;
+
+	f = fopen("microcode.bin", "we");
+	if (f == NULL) {
+		printf("open microcode.bin: %m\n");
+		rc = EXIT_FAILURE;
+		goto out;
+	}
+
+	start = 0;
+	for (;;) {
+		size_t size;
+		unsigned int family, model, stepping;
+		unsigned int year, month, day;
+
+		mc = (union mcbuf *) &buf[start];
+
+		if (mc->hdr.totalsize)
+			size = mc->hdr.totalsize;
+		else
+			size = 2000 + sizeof(struct microcode_header_intel);
+
+		if (mc->hdr.ldrver != 1 || mc->hdr.hdrver != 1) {
+			printf("unknown version/format:\n");
+			rc = EXIT_FAILURE;
+			break;
+		}
+
+		/*
+		 *  0- 3 stepping
+		 *  4- 7 model
+		 *  8-11 family
+		 * 12-13 type
+		 * 16-19 extended model
+		 * 20-27 extended family
+		 */
+		family = (mc->hdr.sig >> 8) & 0xf;
+		if (family == 0xf)
+			family += (mc->hdr.sig >> 20) & 0xff;
+		model = (mc->hdr.sig >> 4) & 0x0f;
+		if (family == 0x06)
+			model += ((mc->hdr.sig >> 16) & 0x0f) << 4;
+		stepping = mc->hdr.sig & 0x0f;
+
+		year = mc->hdr.date & 0xffff;
+		month = mc->hdr.date >> 24;
+		day = (mc->hdr.date >> 16) & 0xff;
+
+		printf("\n");
+		printf("signature: 0x%02x\n", mc->hdr.sig);
+		printf("flags:     0x%02x\n", mc->hdr.pf);
+		printf("revision:  0x%02x\n", mc->hdr.rev);
+		printf("date:      %04x-%02x-%02x\n", year, month, day);
+		printf("size:      %zu\n", size);
+
+		if (fwrite(mc, size, 1, f) != 1) {
+			printf("write microcode.bin: %m\n");
+			rc = EXIT_FAILURE;
+			goto out;
+		}
+
+		start += size;
+		if (start >= bufsize)
+			break;
+	}
+	fclose(f);
+	printf("\n");
+out:
+	return rc;
+}
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index b72194548e0..ea9ff1d58d1 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -1,31 +1,34 @@
-{ stdenv, fetchurl, microcode2ucode }:
+{ stdenv, fetchurl, libarchive }:
 
-let version = "20140624"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "microcode-intel-${version}";
+  version = "20150121";
 
   src = fetchurl {
-    url = "http://downloadmirror.intel.com/23984/eng/microcode-${version}.tgz";
-    sha256 = "0dza0bdlx7q88yhnynvfgkrhgf7ycrq6mlp6hwnpp2j3h33jlrml";
+    url = "http://downloadmirror.intel.com/24661/eng/microcode-${version}.tgz";
+    sha256 = "1cznv3f25cxkwxdc930ab0ifvq0c76fryppadi4p26a2pf9knd93";
   };
 
-  buildInputs = [ microcode2ucode ];
+  buildInputs = [ libarchive ];
 
   sourceRoot = ".";
 
   buildPhase = ''
-    intel-microcode2ucode microcode.dat
+    gcc -O2 -Wall -o intel-microcode2ucode ${./intel-microcode2ucode.c}
+    ./intel-microcode2ucode microcode.dat
   '';
 
   installPhase = ''
-    mkdir -p $out/lib/firmware
-    cp -r intel-ucode "$out/lib/firmware/"
+    mkdir -p $out kernel/x86/microcode
+    mv microcode.bin kernel/x86/microcode/GenuineIntel.bin
+    echo kernel/x86/microcode/GenuineIntel.bin | bsdcpio -o -H newc -R 0:0 > $out/intel-ucode.img
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.intel.com/;
     description = "Microcode for Intel processors";
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfreeRedistributableFirmware;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/mingetty/default.nix b/pkgs/os-specific/linux/mingetty/default.nix
index 192e2c7ac5f..4e2888fa942 100644
--- a/pkgs/os-specific/linux/mingetty/default.nix
+++ b/pkgs/os-specific/linux/mingetty/default.nix
@@ -1,8 +1,8 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation {
   name = "mingetty-1.08";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/mingetty/mingetty-1.08.tar.gz;
     sha256 = "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g";
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://sourceforge.net/projects/mingetty;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix
index 66bd2dc30aa..2d6875d506a 100644
--- a/pkgs/os-specific/linux/module-init-tools/default.nix
+++ b/pkgs/os-specific/linux/module-init-tools/default.nix
@@ -12,7 +12,10 @@ stdenv.mkDerivation {
     # Upstream forgot to include the generated manpages.  Thankfully
     # the Gentoo people fixed this for us :-)
     (fetchurl {
-      url = mirror://gentoo/distfiles/module-init-tools-3.16-man.tar.bz2;
+      urls = [
+        mirror://gentoo/distfiles/module-init-tools-3.16-man.tar.bz2
+        http://mirror.meleeweb.net/pub/linux/gentoo/distfiles/module-init-tools-3.16-man.tar.bz2
+      ];
       sha256 = "1j1nzi87kgsh4scl645fhwhjvljxj83cmdasa4n4p5krhasgw358";
     })
   ];
@@ -25,10 +28,6 @@ stdenv.mkDerivation {
 
   postInstall = "rm $out/sbin/insmod.static"; # don't need it
 
-  # We don't want bash (and therefore glibc) in the closure of the
-  # output, since we want to put this in a initrd.
-  dontPatchShebangs = stdenv ? isDietLibC;
-
   meta = {
     homepage = http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/;
     description = "Tools for loading and managing Linux kernel modules";
diff --git a/pkgs/os-specific/linux/mstpd/default.nix b/pkgs/os-specific/linux/mstpd/default.nix
new file mode 100644
index 00000000000..374300db460
--- /dev/null
+++ b/pkgs/os-specific/linux/mstpd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchsvn }:
+
+stdenv.mkDerivation rec {
+  name = "mstpd-svn-${toString version}";
+  version = 61;
+
+  src = fetchsvn {
+    url = "svn://svn.code.sf.net/p/mstpd/code/trunk";
+    rev = version;
+    sha256 = "0n5vqqqq8hk6iqdz100j9ps4zkz71vyl5qgz5bzjhayab2dyq1fd";
+  };
+
+  patches = [ ./fixes.patch ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  meta = with stdenv.lib; {
+    description = "Multiple Spanning Tree Protocol daemon";
+    homepage = http://sourceforge.net/projects/mstpd/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/os-specific/linux/mstpd/fixes.patch b/pkgs/os-specific/linux/mstpd/fixes.patch
new file mode 100644
index 00000000000..7303e1d7b4d
--- /dev/null
+++ b/pkgs/os-specific/linux/mstpd/fixes.patch
@@ -0,0 +1,72 @@
+diff --git a/Makefile b/Makefile
+index dde9f81..5af7cab 100644
+--- a/Makefile
++++ b/Makefile
+@@ -34,7 +34,6 @@ install: all
+ 	-mkdir -pv $(DESTDIR)/sbin
+ 	install -m 755 mstpd $(DESTDIR)/sbin/mstpd
+ 	install -m 755 mstpctl $(DESTDIR)/sbin/mstpctl
+-	install -m 755 bridge-stp /sbin/bridge-stp
+ 	-mkdir -pv $(DESTDIR)/lib/mstpctl-utils/
+ 	cp -rv lib/* $(DESTDIR)/lib/mstpctl-utils/
+ 	gzip -f $(DESTDIR)/lib/mstpctl-utils/mstpctl.8
+@@ -42,8 +41,9 @@ install: all
+ 	if [ -d $(DESTDIR)/etc/network/if-pre-up.d ] ; then ln -sf /lib/mstpctl-utils/ifupdown.sh $(DESTDIR)/etc/network/if-pre-up.d/mstpctl ; fi
+ 	if [ -d $(DESTDIR)/etc/network/if-pre-up.d ] ; then ln -sf /lib/mstpctl-utils/ifupdown.sh $(DESTDIR)/etc/network/if-post-down.d/mstpctl ; fi
+ 	if [ -d $(DESTDIR)/etc/bash_completion.d ] ; then ln -sf /lib/mstpctl-utils/bash_completion $(DESTDIR)/etc/bash_completion.d/mstpctl ; fi
+-	ln -sf /lib/mstpctl-utils/mstpctl.8.gz $(DESTDIR)/usr/share/man/man8/mstpctl.8.gz
+-	ln -sf /lib/mstpctl-utils/mstpctl-utils-interfaces.5.gz $(DESTDIR)/usr/share/man/man5/mstpctl-utils-interfaces.5.gz
++	mkdir -p $(DESTDIR)/share/man/man8 $(DESTDIR)/share/man/man5
++	ln -sf /lib/mstpctl-utils/mstpctl.8.gz $(DESTDIR)/share/man/man8/mstpctl.8.gz
++	ln -sf /lib/mstpctl-utils/mstpctl-utils-interfaces.5.gz $(DESTDIR)/share/man/man5/mstpctl-utils-interfaces.5.gz
+ 
+ romfs: all
+ 	$(ROMFSINST) /sbin/mstpd
+diff --git a/bridge_track.c b/bridge_track.c
+index c92fdf6..0c01aec 100644
+--- a/bridge_track.c
++++ b/bridge_track.c
+@@ -28,6 +28,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <linux/param.h>
++#include <linux/in6.h>
+ #include <linux/if_bridge.h>
+ #include <asm/byteorder.h>
+ 
+diff --git a/broadcom_xstrata/driver_deps.c b/broadcom_xstrata/driver_deps.c
+index e72e9e3..5194253 100644
+--- a/broadcom_xstrata/driver_deps.c
++++ b/broadcom_xstrata/driver_deps.c
+@@ -14,6 +14,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <asm/byteorder.h>
++#include <linux/in6.h>
+ #include <linux/if_bridge.h>
+ 
+ #include "log.h"
+diff --git a/ctl_functions.h b/ctl_functions.h
+index 9c3b914..df464de 100644
+--- a/ctl_functions.h
++++ b/ctl_functions.h
+@@ -27,6 +27,7 @@
+ #ifndef CTL_SOCKET_H
+ #define CTL_SOCKET_H
+ 
++#include <linux/in6.h>
+ #include <linux/if_bridge.h>
+ #include <asm/byteorder.h>
+ 
+diff --git a/mstp.c b/mstp.c
+index 1c6a2df..b2a1acd 100644
+--- a/mstp.c
++++ b/mstp.c
+@@ -37,6 +37,7 @@
+ 
+ #include <string.h>
+ #include <sys/time.h>
++#include <linux/in6.h>
+ #include <linux/if_bridge.h>
+ #include <asm/byteorder.h>
+ 
diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix
index 90722d74ace..3da37a89923 100644
--- a/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   preBuild =
     ''
-      makeFlagsArray=(GZIP="${gzip}/bin/gzip -9 -c" prefix=$out mandir=$out/share/man/man8 man5dir=$out/share/man/man5 LIB=lib)
+      makeFlagsArray=(GZIP="${gzip}/bin/gzip -9n -c" prefix=$out mandir=$out/share/man/man8 man5dir=$out/share/man/man5 LIB=lib)
       
       substituteInPlace multipath/Makefile --replace /etc $out/etc
       substituteInPlace kpartx/Makefile --replace /etc $out/etc
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index 97407c887ce..1dae1d215ec 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -2,17 +2,21 @@
 
 stdenv.mkDerivation rec {
   name    = "musl-${version}";
-  version = "1.1.4";
+  version = "1.1.8";
 
   src = fetchurl {
     url    = "http://www.musl-libc.org/releases/${name}.tar.gz";
-    sha256 = "1kgmi17zpzgjhywmmqxazj8qsx8cf9siwa65jqd2i6rs7jnnb335";
+    sha256 = "04vq4a1hm81kbxfcqa30s6xpzbqf3568gbysfxcmb72v8438b4ps";
   };
 
   enableParallelBuilding = true;
-  configurePhase = ''
-    ./configure --enable-shared --enable-static --prefix=$out --syslibdir=$out/lib
-  '';
+
+  configureFlags = [
+    "--enable-shared"
+    "--enable-static"
+  ];
+
+  dontDisableStatic = true;
 
   meta = {
     description = "An efficient, small, quality libc implementation";
diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix
index c77faa6a9e7..3d6b6faccca 100644
--- a/pkgs/os-specific/linux/netatop/default.nix
+++ b/pkgs/os-specific/linux/netatop/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, kernel, zlib }:
 
+assert stdenv.lib.versionOlder kernel.version "3.17";
+
 stdenv.mkDerivation {
   name = "netatop-${kernel.version}-0.3";
 
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index bb85acf4dcb..6b30104b083 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,5 +1,6 @@
 { fetchurl, stdenv, tcp_wrappers, utillinux, libcap, libtirpc, libevent, libnfsidmap
-, lvm2, e2fsprogs }:
+, lvm2, e2fsprogs, python
+}:
 
 stdenv.mkDerivation rec {
   name = "nfs-utils-1.2.5";
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ tcp_wrappers utillinux libcap libtirpc libevent libnfsidmap
-      lvm2 e2fsprogs
+      lvm2 e2fsprogs python
     ];
 
   # FIXME: Add the dependencies needed for NFSv4 and TI-RPC.
@@ -57,6 +58,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index e8dd56ab9e2..9834443a74d 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, docbook2x, docbook_xml_dtd_45
+{ stdenv, fetchurl, pkgconfig, docbook2x, docbook_xml_dtd_45
 , flex, bison, libmnl, libnftnl, gmp, readline }:
 
 stdenv.mkDerivation rec {
-  name = "nftables-0.3";
+  name = "nftables-0.4";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2";
-    sha256 = "0bww48hc424svxfx3fpqxmbmp0n42ahs1f28f5f6g29d8i2jcdsd";
+    sha256 = "0g0x6mf5580kr1azrff0ryxxym43qr72fwir7agmz4b8bjvnkjpn";
   };
 
   configureFlags = [
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
 
-  buildInputs = [ docbook2x flex bison libmnl libnftnl gmp readline ];
+  buildInputs = [ pkgconfig docbook2x flex bison libmnl libnftnl gmp readline ];
 
   meta = with stdenv.lib; {
     description = "the project that aims to replace the existing {ip,ip6,arp,eb}tables framework";
diff --git a/pkgs/os-specific/linux/nvidia-x11/beta.nix b/pkgs/os-specific/linux/nvidia-x11/beta.nix
new file mode 100644
index 00000000000..fb57e194c80
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/beta.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
+, gtk, atk, pango, glib, gdk_pixbuf, cairo
+, # Whether to build the libraries only (i.e. not the kernel module or
+  # nvidia-settings).  Used to support 32-bit binaries on 64-bit
+  # Linux.
+  libsOnly ? false
+}:
+
+with stdenv.lib;
+
+assert (!libsOnly) -> kernel != null;
+
+let
+
+  versionNumber = "349.12";
+
+  # Policy: use the highest stable version as the default (on our master).
+  inherit (stdenv.lib) makeLibraryPath;
+
+in
+
+stdenv.mkDerivation {
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
+
+  builder = ./builder.sh;
+
+  src =
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
+        sha256 = "0x9zfw66nxv98zpkdkymlyqzspksk850bhfmza7g7pba4yba085h";
+      }
+    else if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
+        sha256 = "19mfkigzffxsik3h4bsjsl481q410h804fz3rdc7chs86q4bg9h3";
+      }
+    else throw "nvidia-x11 does not support platform ${stdenv.system}";
+
+  inherit versionNumber libsOnly;
+
+  kernel = if libsOnly then null else kernel.dev;
+
+  dontStrip = true;
+
+  glPath      = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
+  cudaPath    = makeLibraryPath [zlib stdenv.cc.cc];
+  openclPath  = makeLibraryPath [zlib];
+  allLibPath  = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr zlib stdenv.cc.cc];
+
+  gtkPath = optionalString (!libsOnly) (makeLibraryPath
+    [ gtk atk pango glib gdk_pixbuf cairo ] );
+  programPath = makeLibraryPath [ xlibs.libXv ];
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib.meta; {
+    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;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
deleted file mode 100755
index 7d39dd31189..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.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_GCC/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/builder-legacy173.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh
new file mode 100755
index 00000000000..5d47df9a87a
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy173.sh
@@ -0,0 +1,99 @@
+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/builder-legacy304.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
index 7771fb988f5..20666fdb061 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
@@ -72,7 +72,7 @@ installPhase() {
 
         for i in nvidia-settings nvidia-xconfig; do
 	    cp $i $out/bin/$i
-	    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+	    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
 	        --set-rpath $out/lib:$programPath:$glPath $out/bin/$i
         done
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy340.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy340.sh
new file mode 100755
index 00000000000..5d6647d1ee0
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy340.sh
@@ -0,0 +1,107 @@
+source $stdenv/setup
+
+dontPatchELF=1 # must keep libXv, $out in RPATH
+
+
+unpackFile() {
+    skip=$(sed 's/^skip=//; t; d' $src)
+    tail -n +$skip $src | xz -d | tar xvf -
+    sourceRoot=.
+}
+
+
+buildPhase() {
+    if test -z "$libsOnly"; then
+        # Create the module.
+        echo "Building linux driver against kernel: $kernel";
+        cd kernel
+        kernelVersion=$(cd $kernel/lib/modules && ls)
+        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/source)
+        sysOut=$(echo $kernel/lib/modules/$kernelVersion/build)
+        unset src # used by the nv makefile
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module
+        cd uvm
+        make SYSSRC=$sysSrc SYSOUT=$sysOut module
+        cd ..
+        cd ..
+    fi
+}
+
+
+installPhase() {
+
+    if test -z "$libsOnly"; then
+        # Install the kernel module.
+        mkdir -p $out/lib/modules/$kernelVersion/misc
+        cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc
+        cp kernel/uvm/nvidia-uvm.ko $out/lib/modules/$kernelVersion/misc
+
+        # Install the X driver.
+        mkdir -p $out/lib/xorg/modules
+        cp -p libnvidia-wfb.* $out/lib/xorg/modules/
+        mkdir -p $out/lib/xorg/modules/drivers
+        cp -p nvidia_drv.so $out/lib/xorg/modules/drivers
+        mkdir -p $out/lib/xorg/modules/extensions
+        cp -p libglx.so.* $out/lib/xorg/modules/extensions
+
+        #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-smi; do
+            cp $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.
+        mkdir -p $out/include/nvidia
+        cp -p *.h $out/include/nvidia
+
+        mkdir -p $out/share/man/man1
+        cp -p *.1.gz $out/share/man/man1
+        rm $out/share/man/man1/nvidia-xconfig.1.gz
+
+        mkdir -p $out/share/applications
+        cp -p *.desktop $out/share/applications
+
+        mkdir -p $out/share/pixmaps
+        cp -p nvidia-settings.png $out/share/pixmaps
+
+        # Patch the `nvidia-settings.desktop' file.
+        substituteInPlace $out/share/applications/nvidia-settings.desktop \
+            --replace '__UTILS_PATH__' $out/bin \
+            --replace '__PIXMAP_PATH__' $out/share/pixmaps
+
+        # Test a bit.
+        $out/bin/nvidia-settings --version
+    fi
+
+
+    # Install libGL and friends.
+    mkdir -p "$out/lib/vendors"
+    cp -p nvidia.icd $out/lib/vendors/
+
+    cp -prd *.so.* tls "$out/lib/"
+    rm "$out"/lib/lib{glx,nvidia-wfb}.so.* # handled separately
+
+    for libname in `find "$out/lib/" -name '*.so.*'`
+    do
+      # I'm lazy to differentiate needed libs per-library, as the closure is the same.
+      # Unfortunately --shrink-rpath would strip too much.
+      patchelf --set-rpath "$out/lib:$allLibPath" "$libname"
+
+      libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
+      ln -srnf "$libname" "$libname_short"
+      ln -srnf "$libname" "$libname_short.1"
+    done
+
+    #patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
+    #patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.*
+    #patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.*
+    #patchelf --set-rpath $openclPath $out/lib/libnvidia-opencl.so.*.*
+}
+
+
+genericBuild
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 4291116f4ef..5edadeda81b 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -29,14 +29,15 @@ buildPhase() {
 
 
 installPhase() {
+    # Install libGL and friends.
+    mkdir -p "$out/lib/vendors"
+    cp -p nvidia.icd $out/lib/vendors/
 
-    if test -z "$libsOnly"; then
-        # Install the kernel module.
-        mkdir -p $out/lib/modules/$kernelVersion/misc
-        cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc
-        cp kernel/uvm/nvidia-uvm.ko $out/lib/modules/$kernelVersion/misc
+    cp -prd *.so.* tls "$out/lib/"
+    rm "$out"/lib/lib{glx,nvidia-wfb}.so.* # handled separately
 
-        # Install the X driver.
+    if test -z "$libsOnly"; then
+        # Install the X drivers.
         mkdir -p $out/lib/xorg/modules
         cp -p libnvidia-wfb.* $out/lib/xorg/modules/
         mkdir -p $out/lib/xorg/modules/drivers
@@ -44,18 +45,31 @@ installPhase() {
         mkdir -p $out/lib/xorg/modules/extensions
         cp -p libglx.so.* $out/lib/xorg/modules/extensions
 
-        #patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.*
+        # Install the kernel module.
+        mkdir -p $out/lib/modules/$kernelVersion/misc
+        cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc
+        cp kernel/uvm/nvidia-uvm.ko $out/lib/modules/$kernelVersion/misc
+    fi
 
-        # Install the programs.
-        mkdir -p $out/bin
+    # All libs except GUI-only are in $out now, so fixup them.
+    for libname in `find "$out/lib/" -name '*.so.*'`
+    do
+      # I'm lazy to differentiate needed libs per-library, as the closure is the same.
+      # Unfortunately --shrink-rpath would strip too much.
+      patchelf --set-rpath "$out/lib:$allLibPath" "$libname"
 
-        for i in nvidia-settings nvidia-smi; do
-            cp $i $out/bin/$i
-            patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-                --set-rpath $out/lib:$programPath:$glPath $out/bin/$i
-        done
+      libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
+      ln -srnf "$libname" "$libname_short"
+      ln -srnf "$libname" "$libname_short.1"
+    done
+
+    #patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
+    #patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.*
+    #patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.*
+    #patchelf --set-rpath $openclPath $out/lib/libnvidia-opencl.so.*.*
 
-        # Header files etc.
+    if test -z "$libsOnly"; then
+        # Install headers and /share files etc.
         mkdir -p $out/include/nvidia
         cp -p *.h $out/include/nvidia
 
@@ -74,33 +88,26 @@ installPhase() {
             --replace '__UTILS_PATH__' $out/bin \
             --replace '__PIXMAP_PATH__' $out/share/pixmaps
 
-        # Test a bit.
-        $out/bin/nvidia-settings --version
-    fi
-
 
-    # Install libGL and friends.
-    mkdir -p "$out/lib/vendors"
-    cp -p nvidia.icd $out/lib/vendors/
+        # Install the programs.
+        mkdir -p $out/bin
 
-    cp -prd *.so.* tls "$out/lib/"
-    rm "$out"/lib/lib{glx,nvidia-wfb}.so.* # handled separately
+        for i in nvidia-settings nvidia-smi; do
+            cp $i $out/bin/$i
+            patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+                --set-rpath $out/lib:$programPath:$glPath $out/bin/$i
+        done
 
-    for libname in `find "$out/lib/" -name '*.so.*'`
-    do
-      # I'm lazy to differentiate needed libs per-library, as the closure is the same.
-      # Unfortunately --shrink-rpath would strip too much.
-      patchelf --set-rpath "$out/lib:$allLibPath" "$libname"
+        patchelf --set-rpath $glPath:$gtkPath $out/lib/libnvidia-gtk2.so.*.*
 
-      libname_short=`echo -n "$libname" | sed 's/so\..*/so/'`
-      ln -srnf "$libname" "$libname_short"
-      ln -srnf "$libname" "$libname_short.1"
-    done
+        # Test a bit.
+        $out/bin/nvidia-settings --version
+    else
+        rm $out/lib/libnvidia-gtk2.*
+    fi
 
-    #patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
-    #patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.*
-    #patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.*
-    #patchelf --set-rpath $openclPath $out/lib/libnvidia-opencl.so.*.*
+    # For simplicity and dependency reduction, don't support the gtk3 interface.
+    rm $out/lib/libnvidia-gtk3.*
 }
 
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index c89846db72c..e660004d172 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
-, gtk, atk, pango, glib, gdk_pixbuf
+, gtk, atk, pango, glib, gdk_pixbuf, cairo
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
   # Linux.
@@ -12,9 +12,11 @@ assert (!libsOnly) -> kernel != null;
 
 let
 
-  versionNumber = "340.32";
+  versionNumber = "346.59";
 
+  # Policy: use the highest stable version as the default (on our master).
   inherit (stdenv.lib) makeLibraryPath;
+
 in
 
 stdenv.mkDerivation {
@@ -26,12 +28,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "1xcm8czz4bmnlzkl3al58flw6jmbrg1y77cxjjdjqcsvbk1qj10x";
+        sha256 = "0a91mmv9846chyx6rbf3hx39gr344cffmgic45a9sf82rky87kv5";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "1nfrpx73817y1z0wkqqh02xjg65r0f05h9801mqm8ki2gxqv9vq0";
+        sha256 = "0rz7pdzdviz1086w8ks6qiv83ah84y13h3051xr1p4wa4kll2yac";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
@@ -42,12 +44,13 @@ stdenv.mkDerivation {
   dontStrip = true;
 
   glPath      = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
-  cudaPath    = makeLibraryPath [zlib stdenv.gcc.gcc];
+  cudaPath    = makeLibraryPath [zlib stdenv.cc.cc];
   openclPath  = makeLibraryPath [zlib];
-  allLibPath  = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr zlib stdenv.gcc.gcc];
+  allLibPath  = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr zlib stdenv.cc.cc];
 
-  programPath = optionalString (!libsOnly) (makeLibraryPath
-    [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] );
+  gtkPath = optionalString (!libsOnly) (makeLibraryPath
+    [ gtk atk pango glib gdk_pixbuf cairo ] );
+  programPath = makeLibraryPath [ xlibs.libXv ];
 
   buildInputs = [ perl ];
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
index 0014a5d2ee5..432a756b6f6 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
 
-let 
+let
 
   versionNumber = "173.14.39";
 
@@ -8,9 +8,9 @@ in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}-${kernel.version}";
-  
-  builder = ./builder-legacy.sh;
-  
+
+  builder = ./builder-legacy173.sh;
+
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
 
-  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
+  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.cc.cc];
 
   programPath = stdenv.lib.makeLibraryPath [ gtk atk pango glib gdk_pixbuf xlibs.libXv ];
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
index 9acaee797f0..d5e350a0302 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
@@ -8,7 +8,7 @@
 
 with stdenv.lib;
 
-let versionNumber = "304.123"; in
+let versionNumber = "304.125"; in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
@@ -19,12 +19,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "09gljwxw14img7hw0xdxd24cvpvlymdxssmxa9gikdrw2w04j0ym";
+        sha256 = "1xy4g3yc73mb932cfr25as648k12sxpyymppb8nia3lijakv7idf";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "0vxw4gp78g06h5inwkhl989p9mq0m8rqipz9a67rdc4s364r243s";
+        sha256 = "08p6hikn7pbfg0apnsbaqyyh2s9m5r0ckqzgjvxirn5qcyll0g5a";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
 
   glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
 
-  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
+  cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.cc.cc];
 
   programPath = optionalString (!libsOnly) (stdenv.lib.makeLibraryPath
     [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] );
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy340.nix b/pkgs/os-specific/linux/nvidia-x11/legacy340.nix
new file mode 100644
index 00000000000..7fcdb40de03
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy340.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
+, gtk, atk, pango, glib, gdk_pixbuf
+, # Whether to build the libraries only (i.e. not the kernel module or
+  # nvidia-settings).  Used to support 32-bit binaries on 64-bit
+  # Linux.
+  libsOnly ? false
+}:
+
+with stdenv.lib;
+
+assert (!libsOnly) -> kernel != null;
+
+let
+
+  versionNumber = "340.76";
+  /* This branch is needed for G8x, G9x, and GT2xx GPUs, and motherboard chipsets based on them.
+    Ongoing support for new Linux kernels and X servers, as well as fixes for critical bugs,
+    will be included in 340.* legacy releases through the end of 2019.
+  */
+  inherit (stdenv.lib) makeLibraryPath;
+in
+
+stdenv.mkDerivation {
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
+
+  builder = ./builder-legacy340.sh;
+
+  src =
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
+        sha256 = "1l1nn340hc8iwlzb16gcm2xvnvkw7rf84ll89bcax70094xxjacv";
+      }
+    else if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
+        sha256 = "016hnsgrcm4ly0mnkcd6c1qkciy3qmbwdwy4rlwq3m6dh4ixw7jc";
+      }
+    else throw "nvidia-x11 does not support platform ${stdenv.system}";
+
+  inherit versionNumber libsOnly;
+
+  kernel = if libsOnly then null else kernel.dev;
+
+  dontStrip = true;
+
+  glPath      = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
+  cudaPath    = makeLibraryPath [zlib stdenv.cc.cc];
+  openclPath  = makeLibraryPath [zlib];
+  allLibPath  = makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr zlib stdenv.cc.cc];
+
+  programPath = optionalString (!libsOnly) (makeLibraryPath
+    [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] );
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib.meta; {
+    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;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
diff --git a/pkgs/os-specific/linux/nvidiabl/default.nix b/pkgs/os-specific/linux/nvidiabl/default.nix
index 6260134bf11..a5a43926e04 100644
--- a/pkgs/os-specific/linux/nvidiabl/default.nix
+++ b/pkgs/os-specific/linux/nvidiabl/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation {
   makeFlags = [
     "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "DESTDIR=$(out)"
+    "KVER=${kernel.modDirVersion}"
   ];
 
   meta = {
diff --git a/pkgs/os-specific/linux/opengl/xorg-sys/default.nix b/pkgs/os-specific/linux/opengl/xorg-sys/default.nix
index 5c1cf1a90d3..2cebb8d9dcc 100644
--- a/pkgs/os-specific/linux/opengl/xorg-sys/default.nix
+++ b/pkgs/os-specific/linux/opengl/xorg-sys/default.nix
@@ -11,6 +11,6 @@
 stdenv.mkDerivation {
   name = "xorg-sys-opengl-3";
   builder = ./builder.sh;
-  neededLibs = [xlibs.libXxf86vm xlibs.libXext expat libdrm stdenv.gcc.gcc];
+  neededLibs = [xlibs.libXxf86vm xlibs.libXext expat libdrm stdenv.cc.cc];
 }
 
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
new file mode 100644
index 00000000000..2e25c0383b7
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, openssl, python27, iproute, perl, kernel ? null}:
+let
+
+  version = "2.1.2";
+
+  skipKernelMod = kernel == null;
+
+in
+stdenv.mkDerivation {
+  version = "2.1.2";
+  name = "openvswitch-${version}";
+  src = fetchurl {
+    url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz";
+    sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47";
+  };
+  kernel = if skipKernelMod then null else kernel.dev;
+  buildInputs = [
+    openssl
+    python27
+    perl
+  ];
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sharedstatedir=/var"
+    "--sbindir=$(out)/bin"
+  ] ++ (if skipKernelMod then [] else ["--with-linux"]);
+  # Leave /var out of this!
+  installFlags = [
+    "LOGDIR=$(TMPDIR)/dummy"
+    "RUNDIR=$(TMPDIR)/dummy"
+    "PKIDIR=$(TMPDIR)/dummy"
+  ];
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+    description = "A multilayer virtual switch";
+    longDescription = 
+      ''
+      Open vSwitch is a production quality, multilayer virtual switch 
+      licensed under the open source Apache 2.0 license. It is 
+      designed to enable massive network automation through 
+      programmatic extension, while still supporting standard 
+      management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, 
+      RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to 
+      support distribution across multiple physical servers similar 
+      to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
+      '';
+    homepage = "http://openvswitch.org/";
+    licence = "Apache 2.0";
+  };
+}
diff --git a/pkgs/os-specific/linux/pam_console/configure.ac b/pkgs/os-specific/linux/pam_console/configure.ac
deleted file mode 100644
index 0d2d0288acf..00000000000
--- a/pkgs/os-specific/linux/pam_console/configure.ac
+++ /dev/null
@@ -1,27 +0,0 @@
-AC_PREREQ([2.59])
-AC_INIT([pam_console], [@PV@])
-AM_INIT_AUTOMAKE([pam_console], [@PV@])
-
-AC_CONFIG_HEADER([config.h])
-
-AC_GNU_SOURCE
-
-AM_CONDITIONAL([HAVE_VERSIONING], [test "x" = "y"])
-
-PKG_CHECK_MODULES([GLIB], [glib-2.0])
-
-m4_undefine([AC_PROG_CXX])
-m4_defun([AC_PROG_CXX],[])
-m4_undefine([AC_PROG_F77])
-m4_defun([AC_PROG_F77],[])
-AC_PROG_LIBTOOL
-
-AC_PROG_YACC
-
-SECUREDIR=${libdir}/security
-SCONFIGDIR=${sysconfdir}/security
-
-AC_SUBST([SECUREDIR])
-AC_SUBST([SCONFIGDIR])
-
-AC_OUTPUT([Makefile])
diff --git a/pkgs/os-specific/linux/pam_console/default.nix b/pkgs/os-specific/linux/pam_console/default.nix
deleted file mode 100644
index 7c1e83c0ed6..00000000000
--- a/pkgs/os-specific/linux/pam_console/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{stdenv, fetchurl, pam, autoconf, automake, libtool, pkgconfig, glib, bison, flex}:
-
-let
-
-  # Configure script borrowed from the good folks at Gentoo 
-  # (http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/sys-auth/pam_console/files/pam_console-configure.ac).
-  configure = ./configure.ac;
-
-in
-   
-stdenv.mkDerivation {
-  name = "pam_console-0.99.5-1";
-   
-  src = fetchurl {
-    url = http://cvs.fedora.redhat.com/repo/dist/pam/pam-redhat-0.99.5-1.tar.bz2/e2edde7861c48195728bc531e5a277e0/pam-redhat-0.99.5-1.tar.bz2;
-    sha256 = "077xdhwspc785fas4yfw50mpy92rdfh35kq9awlrpbzq1fnapsfs";
-  };
-
-  buildInputs = [pam autoconf automake libtool pkgconfig glib bison flex];
-
-  makeFlags = "LEX=flex";
-
-  preConfigure = "
-    cd pam_console
-    cp ${configure} configure.ac
-    touch NEWS AUTHORS ChangeLog
-    # Don't try to create /var/run/console.
-    substituteInPlace Makefile.am --replace 'mkdir -m $(LOCKMODE) -p -p $(DESTDIR)$(LOCKDIR)' ''
-    autoreconf --install
-  ";
-}
diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix
index ad60e63c263..40e7e1216a6 100644
--- a/pkgs/os-specific/linux/pam_krb5/default.nix
+++ b/pkgs/os-specific/linux/pam_krb5/default.nix
@@ -1,24 +1,24 @@
-{stdenv, fetchurl, pam, kerberos}:
+{ stdenv, fetchurl, pam, kerberos }:
 
-stdenv.mkDerivation {
-  name = "pam_krb5-2.3.11-1";
+stdenv.mkDerivation rec {
+  name = "pam-krb5-4.7";
 
   src = fetchurl {
-    url = https://fedorahosted.org/releases/p/a/pam_krb5/pam_krb5-2.3.11-1.tar.gz;
-    sha256 = "1x6wgjzkfkx0h9a7wdgx0jwrdm15npbs79i510lk1n3fyx9lk4mq";
-#    url = http://archives.eyrie.org/software/kerberos/pam-krb5-4.2.tar.gz;
-#    sha256 = "0a0zyd4ddln8yf827qxbfqi1pryxnj0fykfz8lx6nxn2f9pqj1gv";
+    url = "http://archives.eyrie.org/software/kerberos/${name}.tar.gz";
+    sha256 = "04klg9a2rhdz0a2dw4f0ybcm28vcbab6lrynwq7rm4sn0hnzakwv";
   };
 
-  buildInputs = [pam kerberos];
-  meta = {
-#    homepage = "http://www.eyrie.org/~eagle/software/pam-krb5";
-    homepage = "https://fedorahosted.org/pam_krb5/";
+  buildInputs = [ pam kerberos ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.eyrie.org/~eagle/software/pam-krb5/;
     description = "PAM module allowing PAM-aware applications to authenticate users by performing an AS exchange with a Kerberos KDC";
     longDescription = ''
       pam_krb5 can optionally convert Kerberos 5 credentials to Kerberos IV
       credentials and/or use them to set up AFS tokens for a user's session.
     '';
-    maintainers = stdenv.lib.maintainers.mornfall;
+    platforms = platforms.linux;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wkennington mornfall ];
   };
 }
diff --git a/pkgs/os-specific/linux/pam_ldap/default.nix b/pkgs/os-specific/linux/pam_ldap/default.nix
index 2be869e73e3..1eee7dbdac2 100644
--- a/pkgs/os-specific/linux/pam_ldap/default.nix
+++ b/pkgs/os-specific/linux/pam_ldap/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
    
   src = fetchurl {
     url = "http://www.padl.com/download/${name}.tar.gz";
-    md5 = "c0ad81e9d9712ddc6599a6e7a1688778";
+    sha256 = "1l0mlwvas9dnsfcgbszbzq3bzhdkibn1c3x15fczq3i82faf5g5a";
   };
 
   preInstall = "
diff --git a/pkgs/os-specific/linux/pam_login/default.nix b/pkgs/os-specific/linux/pam_login/default.nix
deleted file mode 100644
index 46da3053d20..00000000000
--- a/pkgs/os-specific/linux/pam_login/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{stdenv, fetchurl, pam}:
-   
-stdenv.mkDerivation {
-  name = "pam_login-3.35";
-   
-  src = fetchurl {
-    url = ftp://ftp.suse.com/pub/people/kukuk/pam/pam_login/pam_login-3.35.tar.bz2;
-    sha256 = "1w2hpwjhmwjhf8rg789xpl0hibahqlr3ccivfy3m4kgrm5gf04kv";
-  };
-
-  patches = [ ./sys-stat-h.patch ];
-
-  # To overcome a gcc 4.4 warning:
-  # "#ident is a deprecated GCC extension"
-  postPatch = ''
-    sed -i s/-Werror// configure
-  '';
-
-  buildInputs = [pam];
-}
diff --git a/pkgs/os-specific/linux/pam_login/sys-stat-h.patch b/pkgs/os-specific/linux/pam_login/sys-stat-h.patch
deleted file mode 100644
index 163fd7ce8e2..00000000000
--- a/pkgs/os-specific/linux/pam_login/sys-stat-h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Include the needed <sys/stat.h> since recent glibc is stricter about that.
-
---- pam_login-3.35/src/login.c~	2007-05-04 14:07:49.000000000 +0200
-+++ pam_login-3.35/src/login.c	2010-04-27 11:38:13.000000000 +0200
-@@ -47,6 +47,7 @@
- #include <signal.h>
- #include <stdio.h>
- #include <string.h>
-+#include <sys/stat.h>
- #include <sys/ioctl.h>
- #include <sys/param.h>
- #include <sys/resource.h>
diff --git a/pkgs/os-specific/linux/pam_mount/default.nix b/pkgs/os-specific/linux/pam_mount/default.nix
new file mode 100644
index 00000000000..05438c6945c
--- /dev/null
+++ b/pkgs/os-specific/linux/pam_mount/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, autoconf, automake, pkgconfig, libtool, pam, libHX, utillinux, libxml2, pcre, perl, openssl, cryptsetup }:
+
+stdenv.mkDerivation rec {
+  name = "pam_mount-2.14";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pam-mount/pam_mount/2.14/${name}.tar.xz";
+    sha256 = "1yfwg8i4n7af8yi3w3pkqzqz75wgjjlg5lslv1r5g1v88nrwnrkg";
+  };
+
+  buildInputs = [ autoconf automake pkgconfig libtool pam libHX utillinux libxml2 pcre perl openssl cryptsetup ];
+
+  preConfigure = "sh autogen.sh --prefix=$out";
+
+  makeFlags = "DESTDIR=$(out)";
+
+  # Probably a hack, but using DESTDIR and PREFIX makes everything work!
+  postInstall = ''
+    cp -r $out/$out/* $out
+    rm -r $out/nix
+    '';
+
+  meta = {
+    homepage = http://pam-mount.sourceforge.net/;
+    description = "PAM module to mount volumes for a user session";
+    maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix
index 83f0dc1e82d..266fee9e493 100644
--- a/pkgs/os-specific/linux/pax-utils/default.nix
+++ b/pkgs/os-specific/linux/pax-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pax-utils-${version}";
-  version = "0.8.1";
+  version = "1.0.3";
 
   src = fetchurl {
     url = "http://dev.gentoo.org/~vapier/dist/${name}.tar.xz";
-    sha256 = "1fgm70s52x48dxjihs0rcwmpfsi2dxbjzcilxy9fzg0i39dz4kw4";
+    sha256 = "0w2nddgany3s0znyj6zizlvn8y5vba9x49jm5nliv13p3x7ajdc5";
   };
 
   makeFlags = [
diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix
index 795ffa38ac4..8402b952ff7 100644
--- a/pkgs/os-specific/linux/paxctl/default.nix
+++ b/pkgs/os-specific/linux/paxctl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "paxctl-${version}";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchurl {
     url = "http://pax.grsecurity.net/${name}.tar.gz";
-    sha256 = "107gmriq5icsk9yni5q949rnjapjkcs0823pw6zra6h1xml2f0mm";
+    sha256 = "0biw882fp1lmgs6kpxznp1v6758r7dg9x8iv5a06k0b82bcdsc53";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/pcmciautils/default.nix b/pkgs/os-specific/linux/pcmciautils/default.nix
index 787b72fde48..ce5814965ef 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-015";
+  name = "pcmciautils-017";
 
   src = fetchurl {
-    url = "http://kernel.org/pub/linux/utils/kernel/pcmcia/${name}.tar.bz2";
-    sha256 = "4847485c412b47e3d88fa83ef811229e0e7941217303bc8449c30a3dc2128b6e";
+    url = "https://kernel.org/pub/linux/utils/kernel/pcmcia/${name}.tar.gz";
+    sha256 = "5d8e2efad8a7f692129610603da232f2144851753d8d49a70eeb8eb1be6f6bc3";
   };
 
   buildInputs = [udev yacc sysfsutils module_init_tools flex];
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     '') firmware;
 
   meta = {
-    homepage = http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html;
+    homepage = https://www.kernel.org/pub/linux/utils/kernel/pcmcia/;
     longDescription = "
       PCMCIAutils contains the initialization tools necessary to allow
       the PCMCIA subsystem to behave (almost) as every other
diff --git a/pkgs/os-specific/linux/perf-tools/default.nix b/pkgs/os-specific/linux/perf-tools/default.nix
new file mode 100644
index 00000000000..0273fed3ec4
--- /dev/null
+++ b/pkgs/os-specific/linux/perf-tools/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, fetchFromGitHub, perl }:
+
+stdenv.mkDerivation {
+  name = "perf-tools-20150130";
+
+  src = fetchFromGitHub {
+    owner = "brendangregg";
+    repo = "perf-tools";
+    rev = "85414b01247666c9fefad25a1406c8078011c936";
+    sha256 = "1g15nnndcmxd1k9radcvfpn223pp627vs9wh90yiy73v03g7b8cs";
+  };
+
+  buildInputs = [ perl ];
+
+  patchPhase =
+    ''
+      for i in execsnoop iolatency iosnoop kernel/funcslower killsnoop opensnoop; do
+        substituteInPlace $i \
+          --replace /usr/bin/gawk "$(type -p gawk)" \
+          --replace /usr/bin/mawk /no-such-path \
+          --replace /usr/bin/getconf "$(type -p getconf)" \
+          --replace awk=awk "awk=$(type -p gawk)"
+      done
+
+      rm -rf examples deprecated
+    '';
+
+  installPhase =
+    ''
+      d=$out/libexec/perf-tools
+      mkdir -p $d $out/share
+      cp -prvd . $d/
+      ln -s $d/bin $out/bin
+      mv $d/man $out/share/
+    '';
+
+  meta = {
+    platforms = lib.platforms.linux;
+    homepage = https://github.com/brendangregg/perf-tools;
+    description = "Performance analysis tools based on Linux perf_events (aka perf) and ftrace";
+    maintainers = [ lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix
index a04407ba5c2..00d330ca955 100644
--- a/pkgs/os-specific/linux/plymouth/default.nix
+++ b/pkgs/os-specific/linux/plymouth/default.nix
@@ -1,6 +1,5 @@
-{ stdenv, fetchurl, autoconf, automake, cairo, docbook_xsl, gtk
-, libdrm, libpng , libtool, libxslt, makeWrapper, pango, pkgconfig
-, udev
+{ stdenv, fetchurl, autoreconfHook, cairo, docbook_xsl, gtk
+, libdrm, libpng, libxslt, makeWrapper, pango, pkgconfig, udev
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    autoconf automake cairo docbook_xsl gtk libdrm libpng libtool
+    autoreconfHook cairo docbook_xsl gtk libdrm libpng
     libxslt makeWrapper pango pkgconfig udev
   ];
 
@@ -22,23 +21,23 @@ stdenv.mkDerivation rec {
       -i configure.ac
   '';
 
-  configurePhase = ''
-    ./configure \
-      --prefix=$out \
-      -bindir=$out/bin \
-      -sbindir=$out/sbin \
-      --exec-prefix=$out \
-      --libdir=$out/lib \
-      --libexecdir=$out/lib \
-      --sysconfdir=$out/etc \
-      --localstatedir=/var \
-      --with-log-viewer \
-      --without-system-root-install \
-      --without-rhgb-compat-link \
-      --enable-tracing \
-      --enable-systemd-integration \
-      --enable-pango \
-      --enable-gtk
+  postPatch = ''
+    configureFlags="
+      --prefix=$out
+      --bindir=$out/bin
+      --sbindir=$out/sbin
+      --exec-prefix=$out
+      --libdir=$out/lib
+      --libexecdir=$out/lib
+      --sysconfdir=$out/etc
+      --localstatedir=/var
+      --with-log-viewer
+      --without-system-root-install
+      --without-rhgb-compat-link
+      --enable-tracing
+      --enable-systemd-integration
+      --enable-pango
+      --enable-gtk"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix
index 630fe04e226..befe16f72f2 100644
--- a/pkgs/os-specific/linux/powertop/default.nix
+++ b/pkgs/os-specific/linux/powertop/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, libnl, ncurses, pciutils, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "powertop-2.6.1";
+  name = "powertop-2.7";
 
   src = fetchurl {
     url = "https://01.org/sites/default/files/downloads/powertop/${name}.tar.gz";
-    sha256 = "1r103crmkdk617qrxqjzy2mlhaacbpg5q795546zwcxlbdnxwk03";
+    sha256 = "1jkqqr3l1x98m7rgin1dgfzxqwj4vciw9lyyq1kl9bdswa818jwd";
   };
 
   buildInputs = [ gettext libnl ncurses pciutils pkgconfig zlib ];
diff --git a/pkgs/os-specific/linux/prl-tools/autostart.desktop b/pkgs/os-specific/linux/prl-tools/autostart.desktop
new file mode 100644
index 00000000000..b8eb27fdd99
--- /dev/null
+++ b/pkgs/os-specific/linux/prl-tools/autostart.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Version=@version@
+Encoding=UTF-8
+Name=@description@
+Type=Application
+Exec=@exec@
+X-KDE-autostart-phase=1
+GenericName[en_US]=
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
new file mode 100644
index 00000000000..0dac7c4358d
--- /dev/null
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -0,0 +1,197 @@
+{ stdenv, lib, requireFile, makeWrapper, substituteAll, p7zip
+, gawk, utillinux, xorg, glib, dbus_glib, zlib
+, kernel ? null, libsOnly ? false
+}:
+
+assert (!libsOnly) -> kernel != null;
+
+let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version;
+    xorgVer = lib.concatStringsSep "." (lib.take 2 (lib.splitString "." xorgFullVer));
+    x64 = if stdenv.system == "x86_64-linux" then true
+          else if stdenv.system == "i686-linux" then false
+          else abort "Parallels Tools for Linux only support {x86-64,i686}-linux targets";
+    # We autostart user services by ourselves, because prlcc uses hardcoded paths.
+    autostart = [ { exec = "prlcc";
+                    description = "Parallels Control Center";
+                  }
+                  { exec = "prldhd";
+                    description = "Parallels Control Center"; # not a mistake
+                  }
+                  { exec = "prl_wmouse_d";
+                    description = "Parallels Walking Mouse Daemon";
+                  }
+                  { exec = "prlcp";
+                    description = "Parallels CopyPaste Tool";
+                  }
+                  { exec = "prlsga";
+                    description = "Parallels Shared Guest Applications Tool";
+                  }
+                  { exec = "prlshprof";
+                    description = "Parallels Shared Profile Tool";
+                  }
+                ];
+in
+stdenv.mkDerivation rec {
+  version = "10.0.2.27712";
+  name = "prl-tools-${version}";
+
+  src = requireFile rec {
+    name = "prl-tools-lin.iso";
+    sha256 = "07960jvyv7gihjlg922znjm6db6l6bd23x9mg6ympwibzf2mylmx";
+    message = ''
+      Please, place Parallel Tools for Linux image into Nix store
+      using either
+        nix-store --add-fixed sha256 ${name}
+      or
+        nix-prefetch-url file://path/to/${name}
+    '';
+  };
+
+  # also maybe python2 to generate xorg.conf
+  nativeBuildInputs = [ p7zip ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
+
+  inherit libsOnly;
+
+  unpackPhase = ''
+    7z x $src
+    export sourceRoot=.
+    if test -z "$libsOnly"; then
+      ( cd kmods; tar -xaf prl_mod.tar.gz )
+    fi
+    ( cd tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
+  '';
+
+  kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version;
+  kernelDir = if libsOnly then "" else "${kernel.dev}/lib/modules/${kernelVersion}";
+  scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${utillinux}/bin" "${gawk}/bin" ]);
+
+  buildPhase = ''
+    if test -z "$libsOnly"; then
+      ( # kernel modules
+        cd kmods
+        make -f Makefile.kmods \
+          KSRC=$kernelDir/source \
+          HEADERS_CHECK_DIR=$kernelDir/source \
+          KERNEL_DIR=$kernelDir/build \
+          SRC=$kernelDir/build \
+          KVER=$kernelVersion
+      )
+
+      # Xorg config (maybe would be useful for other versions)
+      #python2 installer/xserver-config.py xorg ${xorgVer} /dev/null parallels.conf
+    fi
+  '';
+
+  libPath = with xorg;
+            stdenv.lib.makeLibraryPath ([ stdenv.cc.cc libXrandr libXext libX11 libXcomposite libXinerama ]
+            ++ lib.optionals (!libsOnly) [ libXi glib dbus_glib zlib ]);
+
+  desktops = map (x: substituteAll ({
+               src = ./autostart.desktop;
+               name = x.exec + ".desktop";
+               version = version;
+             } // x)) autostart;
+
+  installPhase = ''
+    if test -z "$libsOnly"; then
+      ( # kernel modules
+        cd kmods
+        mkdir -p $out/lib/modules/${kernelVersion}/extra
+        cp prl_eth/pvmnet/prl_eth.ko $out/lib/modules/${kernelVersion}/extra
+        cp prl_tg/Toolgate/Guest/Linux/prl_tg/prl_tg.ko $out/lib/modules/${kernelVersion}/extra
+        cp prl_fs/SharedFolders/Guest/Linux/prl_fs/prl_fs.ko $out/lib/modules/${kernelVersion}/extra
+        cp prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.ko $out/lib/modules/${kernelVersion}/extra
+      )
+    fi
+
+    ( # tools
+      cd tools
+      mkdir -p $out/lib
+
+      if test -z "$libsOnly"; then
+        # install binaries
+        for i in bin/* sbin/prl_nettool sbin/prl_snapshot; do
+          install -Dm755 $i $out/$i
+        done
+        # other binaries
+        for i in xorg.7.1/usr/bin/*; do
+          cp $i $out/bin
+        done
+
+        for i in $out/bin/* $out/sbin/*; do
+          patchelf \
+            --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+            --set-rpath "$out/lib:$libPath" \
+            $i
+        done
+
+        mkdir -p $out/bin
+        install -Dm755 ../installer/prlfsmountd.sh $out/sbin/prlfsmountd
+        wrapProgram $out/sbin/prlfsmountd \
+          --prefix PATH ':' "$scriptPath"
+
+        for i in lib/*.a; do
+          cp $i $out/lib
+        done
+
+        for i in xorg.7.1/usr/lib/libprl_wmouse_watcher.*; do
+          cp $i $out/lib
+        done
+
+        mkdir -p $out/lib/udev/rules.d
+        for i in *.rules; do
+          sed 's,/bin/bash,${stdenv.shell},g' $i > $out/lib/udev/rules.d/$i
+        done
+
+        mkdir -p $out/share/autostart
+        for i in $desktops; do
+          cat $i | sed "s,^Exec=,Exec=$out/bin/," > $out/share/autostart/$(basename $i)
+        done
+
+        (
+          cd xorg.${xorgVer}
+          # Install the X modules.
+          (
+            cd x-server/modules
+            for i in */*; do
+              install -Dm755 $i $out/lib/xorg/modules/$i
+            done
+          )
+          (
+            cd usr/lib
+            libGLXname=$(echo libglx.so*)
+            install -Dm755 $libGLXname $out/lib/xorg/modules/extensions/$libGLXname
+            ln -s $libGLXname $out/lib/xorg/modules/extensions/libglx.so
+            ln -s $libGLXname $out/lib/xorg/modules/extensions/libglx.so.1
+          )
+        )
+      fi
+
+      for i in xorg.7.1/usr/lib/libGL.*; do
+        cp $i $out/lib
+      done
+
+      cd $out
+      find -name \*.so\* -type f -exec \
+        patchelf --set-rpath "$out/lib:$libPath" {} \;
+
+      cd lib
+      libGLname=$(echo libGL.so*)
+      ln -s $libGLname libGL.so
+      ln -s $libGLname libGL.so.1
+    )
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    description = "Parallels Tools for Linux guests";
+    homepage = http://parallels.com;
+    platforms = platforms.linux;
+    license = licenses.unfree;
+    # I was making this package blindly and requesting testing from the real user,
+    # so I can't even test it by myself and won't provide future updates.
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index cd8a8eaec13..9ecc0c5bcb5 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, ncurses }:
+{ stdenv, fetchurl, pkgconfig, ncurses, systemd }:
 
-stdenv.mkDerivation {
-  name = "procps-3.3.9";
+stdenv.mkDerivation rec {
+  name = "procps-ng-3.3.10";
 
   src = fetchurl {
-    url = mirror://sourceforge/procps-ng/procps-ng-3.3.9.tar.xz;
-    sha256 = "0qw69v7wx8hilwylyk9455k3h1xg8sc13vxh0pvdss7rml7wpw00";
+    url = "mirror://sourceforge/procps-ng/${name}.tar.xz";
+    sha256 = "013z4rzy3p5m1zp6mmynpblv0c6zlcn91pw4k2vymz2djyc6ybm0";
   };
 
-  buildInputs = [ ncurses ];
+  buildInputs = [ pkgconfig ncurses systemd ];
 
   makeFlags = "usrbin_execdir=$(out)/bin";
 
@@ -18,9 +18,22 @@ stdenv.mkDerivation {
     CC = stdenv.cross.config + "-gcc";
   };
 
-  meta = {
+  # Too red
+  configureFlags = [
+    "--disable-modern-top"
+    "--enable-watch8bit"
+    "--with-systemd"
+    "--enable-skill"
+    "--enable-oomem"
+    "--enable-sigwinch"
+  ];
+
+  meta = with stdenv.lib; {
     homepage = http://sourceforge.net/projects/procps-ng/;
     description = "Utilities that give information about processes using the /proc filesystem";
     priority = 10; # less than coreutils, which also provides "kill" and "uptime"
+    maintainers = with maintainers; [ wkennington ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/radeontop/default.nix b/pkgs/os-specific/linux/radeontop/default.nix
new file mode 100644
index 00000000000..7ec74c895c6
--- /dev/null
+++ b/pkgs/os-specific/linux/radeontop/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, pkgconfig, gettext, ncurses, libdrm, libpciaccess }:
+
+let version = "v0.8-8-g2499679"; in
+stdenv.mkDerivation {
+  name = "radeontop-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "112zf6ms0qpmr9h3l4lg5wik5j206mgij0nypba5lnqzksxh2f88";
+    rev = "2499679fda60c3f6239886296fd2a74155f45f77";
+    repo = "radeontop";
+    owner = "clbr";
+  };
+
+  buildInputs = [ pkgconfig gettext ncurses libdrm libpciaccess ];
+
+  enableParallelBuilding = true;
+
+  patchPhase = ''
+    substituteInPlace getver.sh --replace ver=unknown ver=${version}
+  '';
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "Top-like tool for viewing AMD Radeon GPU utilization";
+    longDescription = ''
+      View GPU utilization, both for the total activity percent and individual
+      blocks. Supports R600 and later cards: even Southern Islands should work.
+      Works with both the open drivers and AMD Catalyst. Total GPU utilization
+      is also valid for OpenCL loads; the other blocks are only useful for GL
+      loads. Requires root rights or other permissions to read /dev/mem.
+    '';
+    homepage = https://github.com/clbr/radeontop;
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ rycee nckx ];
+  };
+}
diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix
new file mode 100644
index 00000000000..9bccedb0120
--- /dev/null
+++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "2.0.2.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-linux-utils-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz";
+    sha256 = "0y6dq4wb5v1c6ps6a7jyq08r2pjksrvz6n3dnfa9c91gzm4m1dxb";
+  };
+
+  dontDisableStatic = true;
+
+  configureFlags = [
+    "--includedir=\${prefix}/include"
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-dynlib=${skalibs}/lib"
+  ];
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-linux-utils/;
+    description = "A set of minimalistic Linux-specific system utilities";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/os-specific/linux/sdparm/default.nix b/pkgs/os-specific/linux/sdparm/default.nix
index 2a796c1b3a9..3b0f7c694ac 100644
--- a/pkgs/os-specific/linux/sdparm/default.nix
+++ b/pkgs/os-specific/linux/sdparm/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "sdparm-1.08";
+  name = "sdparm-1.09";
 
   src = fetchurl {
-    url = http://sg.danny.cz/sg/p/sdparm-1.08.tgz;
-    sha256 = "0msy8anggdand1yr50vg2azcfgks7sbfpnqk7xzw9adi2jj7hsrp";
+    url = http://sg.danny.cz/sg/p/sdparm-1.09.tar.xz;
+    sha256 = "0jakqyjwi72zqjzss04bally0xl0lc4710mx8da08vpmir1hfphg";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://sg.danny.cz/sg/sdparm.html;
     description = "A utility to access SCSI device parameters";
-    license = "free";
+    license = with licenses; bsd3;
+    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/os-specific/linux/seturgent/default.nix b/pkgs/os-specific/linux/seturgent/default.nix
new file mode 100644
index 00000000000..ad77a7a1031
--- /dev/null
+++ b/pkgs/os-specific/linux/seturgent/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, libX11, xproto, xdotool, unzip }:
+
+stdenv.mkDerivation {
+  name = "seturgent";
+
+  src = fetchurl {
+    url = "https://github.com/hiltjo/seturgent/archive/ada70dcb15865391e5cdcab27a0739a304a17e03.zip";
+    sha256 = "0q1sr6aljkw2jr9b4xxzbc01qvnd5vk3pxrypif9yd8xjw4wqwri";
+  };
+
+  buildInputs = [
+    libX11 xproto unzip
+  ];
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    mv seturgent $out/bin
+  '';
+
+  meta = {
+      platforms = stdenv.lib.platforms.linux;
+      description = "Set an application's urgency hint (or not)";
+      maintainers = [ stdenv.lib.maintainers.yarr ];
+      homepage = https://github.com/hiltjo/seturgent;
+      license = stdenv.lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/sinit/default.nix b/pkgs/os-specific/linux/sinit/default.nix
new file mode 100644
index 00000000000..783e5fa2063
--- /dev/null
+++ b/pkgs/os-specific/linux/sinit/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchgit, rcinit ? null, rcshutdown ? null, rcreboot ? null}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="sinit";
+    version="0.9.2";
+    name="${baseName}-${version}";
+    url="http://git.suckless.org/sinit/";
+    sha256="0nncyzwnszwlqcvx1jf42rn1n2dd5vcxkndqb1b546pgpifniivp";
+    rev = "refs/tags/v${version}";
+  };
+  buildInputs = [
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchgit {
+    inherit (s) url sha256 rev;
+  };
+  makeFlags = ["PREFIX=$(out)"];
+  preConfigure = ""
+    + (stdenv.lib.optionalString (rcinit != null) ''sed -re 's@(rcinitcmd[^"]*")[^"]*"@\1${rcinit}"@' -i config.def.h; '')
+    + (stdenv.lib.optionalString (rcshutdown != null) ''sed -re 's@(rc(reboot|poweroff)cmd[^"]*")[^"]*"@\1${rcshutdown}"@' -i config.def.h; '')
+    + (stdenv.lib.optionalString (rcreboot != null) ''sed -re 's@(rc(reboot)cmd[^"]*")[^"]*"@\1${rcreboot}"@' -i config.def.h; '')
+    ;
+  meta = {
+    inherit (s) version;
+    description = ''A very minimal Linux init implementation from suckless.org'';
+    license = stdenv.lib.licenses.mit ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://tools.suckless.org/sinit";
+    downloadPage = "http://git.suckless.org/sinit";
+  };
+}
diff --git a/pkgs/os-specific/linux/smem/default.nix b/pkgs/os-specific/linux/smem/default.nix
new file mode 100644
index 00000000000..a61a54afc38
--- /dev/null
+++ b/pkgs/os-specific/linux/smem/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "smem-1.4";
+
+  src = fetchurl {
+    url = "http://www.selenic.com/smem/download/${name}.tar.gz";
+    sha256 = "1v31vy23s7szl6vdrllq9zbg58bp36jf5xy3fikjfg6gyiwgia9f";
+  };
+
+  buildInputs = [ python ];
+
+  buildPhase =
+    ''
+      gcc -O2 smemcap.c -o smemcap
+    '';
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp smem smemcap $out/bin/
+
+      mkdir -p $out/share/man/man8
+      cp smem.8 $out/share/man/man8/
+    '';
+
+  meta = {
+    homepage = http://www.selenic.com/smem/;
+    description = "A memory usage reporting tool that takes shared memory into account";
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 944fb6ff554..1367be74c63 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -1,45 +1,14 @@
-{ stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
+{ callPackage, fetchFromGitHub, ... } @ args:
 
-stdenv.mkDerivation {
-  name = "spl-0.6.3-${kernel.version}";
-  src = fetchurl {
-    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.3.tar.gz;
-    sha256 = "1qqzyj2if5wai4jiwml4i8s6v8k7hbi7jmiph800lhkk5j8s72l9";
-  };
-
-  patches = [ ./install_prefix.patch ./const.patch ];
-
-  buildInputs = [ perl autoconf automake libtool ];
-
-  preConfigure = ''
-    ./autogen.sh
-
-    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod mknod
-
-    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
-    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-    substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-  '';
+callPackage ./generic.nix (args // rec {
+  version = "0.6.4";
 
-  configureFlags = ''
-     --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source
-     --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
-
-    longDescription = ''
-      This kernel module is a porting layer for ZFS to work inside the linux
-      kernel.
-    '';
-
-    homepage = http://zfsonlinux.org/;
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ];
+  src = fetchFromGitHub {
+    owner = "zfsonlinux";
+    repo = "spl";
+    rev = "spl-${version}";
+    sha256 = "1jja3aqkm2whb4rcw5k5dr9c4gx6hax1w3f82fb9ks2sy731as6r";
   };
-}
+
+  patches = [ ./const.patch ./install_prefix.patch ];
+})
diff --git a/pkgs/os-specific/linux/spl/generic.nix b/pkgs/os-specific/linux/spl/generic.nix
new file mode 100644
index 00000000000..c25ff6608e2
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/generic.nix
@@ -0,0 +1,61 @@
+{ stdenv, autoconf, automake, libtool, coreutils, gawk
+, configFile ? "all"
+
+# Kernel dependencies
+, kernel ? null
+
+# Version specific parameters
+, version, src, patches
+, ...
+}:
+
+with stdenv.lib;
+let
+  buildKernel = any (n: n == configFile) [ "kernel" "all" ];
+  buildUser = any (n: n == configFile) [ "user" "all" ];
+in
+
+assert any (n: n == configFile) [ "kernel" "user" "all" ];
+assert buildKernel -> kernel != null;
+
+stdenv.mkDerivation rec {
+  name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
+
+  inherit version src patches;
+
+  buildInputs = [ autoconf automake libtool ];
+
+  preConfigure = ''
+    ./autogen.sh
+
+    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
+    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod mknod
+
+    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
+    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+    substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+  '';
+
+  configureFlags = [
+    "--with-config=${configFile}"
+  ] ++ optionals buildKernel [
+    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
+
+    longDescription = ''
+      This kernel module is a porting layer for ZFS to work inside the linux
+      kernel.
+    '';
+
+    homepage = http://zfsonlinux.org/;
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ jcumming wizeman wkennington ];
+  };
+}
diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix
index d3ed285ccfe..7559562965d 100644
--- a/pkgs/os-specific/linux/spl/git.nix
+++ b/pkgs/os-specific/linux/spl/git.nix
@@ -1,46 +1,13 @@
-{ stdenv, fetchgit, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
+{ callPackage, fetchgit, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "2015-04-08";
 
-stdenv.mkDerivation {
-  name = "spl-0.6.3-${kernel.version}";
   src = fetchgit {
     url = git://github.com/zfsonlinux/spl.git;
-    rev = "31cb5383bff0fddc5058973e32a6f2c446d45e59";
-    sha256 = "0mcivbddms8kbapbs9x6achqyvh5i6h1rd2b3jm8g5yjn0flc5gl";
+    rev = "cd69f020e4b0f9c416dd07a264e48c9488a7633f";
+    sha256 = "1fy5zlh8cs65s52vixkp00ihrlrhs2frd6vwxwjqmpzyb7fnh3m8";
   };
 
-  patches = [ ./install_prefix.patch ./const.patch ];
-
-  buildInputs = [ perl autoconf automake libtool ];
-
-  preConfigure = ''
-    ./autogen.sh
-
-    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod mknod
-
-    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
-    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-    substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-  '';
-
-  configureFlags = ''
-     --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source
-     --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
-
-    longDescription = ''
-      This kernel module is a porting layer for ZFS to work inside the linux
-      kernel.
-    '';
-
-    homepage = http://zfsonlinux.org/;
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ wizeman ];
-  };
-}
+  patches = [ ./const.patch ./install_prefix.patch ];
+})
diff --git a/pkgs/os-specific/linux/spl/install_prefix.patch b/pkgs/os-specific/linux/spl/install_prefix.patch
index 6b3bd515bd0..0f12f531f7a 100644
--- a/pkgs/os-specific/linux/spl/install_prefix.patch
+++ b/pkgs/os-specific/linux/spl/install_prefix.patch
@@ -1,274 +1,173 @@
-diff -rc spl-0.6.1.orig/include/fs/Makefile.am spl-0.6.1/include/fs/Makefile.am
-*** spl-0.6.1.orig/include/fs/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/fs/Makefile.am	2013-04-05 22:10:41.436764000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/linux/Makefile.am spl-0.6.1/include/linux/Makefile.am
-*** spl-0.6.1.orig/include/linux/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/linux/Makefile.am	2013-04-05 22:10:27.789139000 -0700
-***************
-*** 23,28 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/linux
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 23,28 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/linux
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/Makefile.am spl-0.6.1/include/Makefile.am
-*** spl-0.6.1.orig/include/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/Makefile.am	2013-04-05 22:10:45.108623000 -0700
-***************
-*** 16,21 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 16,21 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/rpc/Makefile.am spl-0.6.1/include/rpc/Makefile.am
-*** spl-0.6.1.orig/include/rpc/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/rpc/Makefile.am	2013-04-05 22:11:08.724410000 -0700
-***************
-*** 9,14 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/rpc
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 9,14 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/rpc
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sharefs/Makefile.am spl-0.6.1/include/sharefs/Makefile.am
-*** spl-0.6.1.orig/include/sharefs/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sharefs/Makefile.am	2013-04-05 22:10:38.852722000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sharefs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sharefs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sys/fm/Makefile.am spl-0.6.1/include/sys/fm/Makefile.am
-*** spl-0.6.1.orig/include/sys/fm/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/fm/Makefile.am	2013-04-05 22:10:59.964334000 -0700
-***************
-*** 9,14 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys/fm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 9,14 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys/fm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sys/fs/Makefile.am spl-0.6.1/include/sys/fs/Makefile.am
-*** spl-0.6.1.orig/include/sys/fs/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/fs/Makefile.am	2013-04-05 22:10:57.860366000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sys/Makefile.am spl-0.6.1/include/sys/Makefile.am
-*** spl-0.6.1.orig/include/sys/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/Makefile.am	2013-04-05 22:11:05.788303000 -0700
-***************
-*** 104,110 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-  
---- 104,110 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-  
-diff -rc spl-0.6.1.orig/include/sys/sysevent/Makefile.am spl-0.6.1/include/sys/sysevent/Makefile.am
-*** spl-0.6.1.orig/include/sys/sysevent/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/sysevent/Makefile.am	2013-04-05 22:10:54.364458000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys/sysevent
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys/sysevent
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/util/Makefile.am spl-0.6.1/include/util/Makefile.am
-*** spl-0.6.1.orig/include/util/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/util/Makefile.am	2013-04-05 22:10:49.452569000 -0700
-***************
-*** 9,14 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/util
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 9,14 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/util
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/vm/Makefile.am spl-0.6.1/include/vm/Makefile.am
-*** spl-0.6.1.orig/include/vm/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/vm/Makefile.am	2013-04-05 22:10:47.444535000 -0700
-***************
-*** 10,15 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/vm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 10,15 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/vm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/Makefile.am spl-0.6.1/Makefile.am
-*** spl-0.6.1.orig/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/Makefile.am	2013-04-05 22:09:52.429676000 -0700
-***************
-*** 9,18 ****
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = /usr/src/spl-$(VERSION)
-  extra_HEADERS = spl.release.in spl_config.h.in
-  
-! kerneldir = /usr/src/spl-$(VERSION)/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
---- 9,18 ----
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = @prefix@/libexec/spl
-  extra_HEADERS = spl.release.in spl_config.h.in
-  
-! kerneldir = @prefix@/libexec/spl/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
-diff -rc spl-0.6.1.orig/module/Makefile.in spl-0.6.1/module/Makefile.in
-*** spl-0.6.1.orig/module/Makefile.in	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/module/Makefile.in	2013-03-28 10:21:59.093481000 -0700
-***************
-*** 21,41 ****
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
---- 21,41 ----
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
+diff --git a/Makefile.am b/Makefile.am
+index 89af931..674420c 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 1cca44a..e0d843b 100644
+--- a/include/linux/Makefile.am
++++ b/include/linux/Makefile.am
+@@ -19,6 +19,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 2d21c57..3958cfd 100644
+--- a/include/sys/Makefile.am
++++ b/include/sys/Makefile.am
+@@ -104,7 +104,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 b721b50..cbb9a05 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 41c1010..3141397 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@; \
++	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
+ 	if [ -n $$kmoddir ]; 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/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index d5e2ed3ff94..5a7d0700004 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -3,14 +3,14 @@ let
   inherit (stdenv.lib) optional optionalString;
   s = rec {
     baseName="sysdig";
-    version="0.1.87";
+    version = "0.1.99";
     name="${baseName}-${version}";
     url="https://github.com/draios/sysdig/archive/${version}.tar.gz";
-    sha256="0xfildaj8kzbngpza47zqm363i6q87m97a18qlmdisrxmz11s32b";
+    sha256 = "02faw8s07i7jjydqzqfs0r9lc2qmny3sn26741bz0hmazs9h9w76";
   };
   buildInputs = [
     cmake zlib luajit
-  ] ++ optional (kernel != null) kernel;
+  ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
@@ -30,6 +30,10 @@ stdenv.mkDerivation {
   '';
   postInstall = optionalString (kernel != null) ''
     make install_driver
+    kernel_dev=${kernel.dev}
+    kernel_dev=''${kernel_dev#/nix/store/}
+    kernel_dev=''${kernel_dev%%-linux*dev*}
+    sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/sysfsutils/default.nix b/pkgs/os-specific/linux/sysfsutils/default.nix
index bf6dafae10a..99e6c4ff380 100644
--- a/pkgs/os-specific/linux/sysfsutils/default.nix
+++ b/pkgs/os-specific/linux/sysfsutils/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
         filesystem in Linux kernel versions 2.5+ that exposes a system's
         device tree.
       '';
-    license = "GPL-v2 / LGPL-v2.1";
+    license = with stdenv.lib.licenses; [ gpl2 lgpl21 ];
   };
 }
diff --git a/pkgs/os-specific/linux/sysklogd/default.nix b/pkgs/os-specific/linux/sysklogd/default.nix
index 979bfa1d0bf..fd1d932990e 100644
--- a/pkgs/os-specific/linux/sysklogd/default.nix
+++ b/pkgs/os-specific/linux/sysklogd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "sysklogd-1.5";
+  name = "sysklogd-1.5.1";
 
   src = fetchurl {
-    url = http://www.infodrom.org/projects/sysklogd/download/sysklogd-1.5.tar.gz;
-    sha256 = "0wxpkrznqwz4dy11k90s2sqszwp7d4mlc0ag8288wa193plvhsb1";
+    url = http://www.infodrom.org/projects/sysklogd/download/sysklogd-1.5.1.tar.gz;
+    sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji";
   };
 
   patches = [ ./systemd.patch ];
@@ -21,5 +21,6 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A system logging daemon";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index 734613c44ac..93e5d591a9d 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nasm, perl, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "syslinux-6.02";
+  name = "syslinux-6.03";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/boot/syslinux/${name}.tar.xz";
-    sha256 = "0y2ld2s64s6vc5pf8rj36w71rq2cfax3c1iafp0w1qbjpxy1p8xg";
+    sha256 = "03l5iifwlg1wyb4yh98i0b7pd4j55a1c9y74q1frs47a5dnrilr6";
   };
 
   patches = [ ./perl-deps.patch ];
diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix
index ec504bd9235..28d6f0b21a8 100644
--- a/pkgs/os-specific/linux/sysstat/default.nix
+++ b/pkgs/os-specific/linux/sysstat/default.nix
@@ -1,11 +1,10 @@
-{ stdenv, fetchurl, gettext }:
-   
+{ stdenv, fetchurl, gettext, bzip2 }:
 stdenv.mkDerivation rec {
-  name = "sysstat-10.1.1";
-   
+  name = "sysstat-11.0.2";
+
   src = fetchurl {
-    url = "http://perso.orange.fr/sebastien.godard/${name}.tar.bz2";
-    sha256 = "1ig6k4yjkkazddjr90hykiapl30s9r9c1gy1h8hqzn2c3xgkm7p3";
+    url = "http://perso.orange.fr/sebastien.godard/${name}.tar.xz";
+    sha256 = "15hv3ylr5i6nrrdhyjnp4xld51gpv0cn3hjgy6068ybwpvgpzn5c";
   };
 
   buildInputs = [ gettext ];
@@ -13,10 +12,14 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     export PATH_CP=$(type -tp cp)
     export PATH_CHKCONFIG=/no-such-program
-    makeFlagsArray=(SA_DIR=/var/log/sa SYSCONFIG_DIR=$out/etc CHOWN=true IGNORE_MAN_GROUP=y)
+    export BZIP=${bzip2}/bin/bzip2
+    export SYSTEMCTL=systemctl
   '';
 
-  patches = [ ./no-install-statedir.patch ];
+  makeFlags = "SYSCONFIG_DIR=$(out)/etc IGNORE_MAN_GROUP=y CHOWN=true";
+  installTargets = "install_base install_nls install_man";
+
+  patches = [ ./install.patch ];
 
   meta = {
     homepage = http://sebastien.godard.pagesperso-orange.fr/;
diff --git a/pkgs/os-specific/linux/sysstat/install.patch b/pkgs/os-specific/linux/sysstat/install.patch
new file mode 100644
index 00000000000..473fa30b98b
--- /dev/null
+++ b/pkgs/os-specific/linux/sysstat/install.patch
@@ -0,0 +1,13 @@
+diff -rc sysstat-11.0.1/Makefile.in sysstat-11.0.1-new/Makefile.in
+*** sysstat-11.0.1/Makefile.in	2014-08-30 15:38:39.000000000 +0200
+--- sysstat-11.0.1-new/Makefile.in	2014-12-18 14:40:45.466349009 +0100
+***************
+*** 331,337 ****
+  install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \
+  	contrib/isag/isag
+  	mkdir -p $(DESTDIR)$(SA_LIB_DIR)
+- 	mkdir -p $(DESTDIR)$(SA_DIR)
+  ifeq ($(CLEAN_SA_DIR),y)
+  	find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
+  		-exec rm -f {} \;
+--- 331,336 ----
diff --git a/pkgs/os-specific/linux/sysstat/no-install-statedir.patch b/pkgs/os-specific/linux/sysstat/no-install-statedir.patch
deleted file mode 100644
index ef81f97217f..00000000000
--- a/pkgs/os-specific/linux/sysstat/no-install-statedir.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -rc sysstat-10.1.1/Makefile.in sysstat-10.1.1-new/Makefile.in
-*** sysstat-10.1.1/Makefile.in	2012-01-02 14:36:00.000000000 +0100
---- sysstat-10.1.1-new/Makefile.in	2012-08-14 14:11:17.676124739 +0200
-***************
-*** 309,315 ****
-  install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \
-  	contrib/isag/isag
-  	mkdir -p $(DESTDIR)$(SA_LIB_DIR)
-! 	mkdir -p $(DESTDIR)$(SA_DIR)
-  ifeq ($(CLEAN_SA_DIR),y)
-  	find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
-  		-exec rm -f {} \;
---- 309,315 ----
-  install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \
-  	contrib/isag/isag
-  	mkdir -p $(DESTDIR)$(SA_LIB_DIR)
-! 	#mkdir -p $(DESTDIR)$(SA_DIR)
-  ifeq ($(CLEAN_SA_DIR),y)
-  	find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \
-  		-exec rm -f {} \;
-***************
-*** 344,350 ****
-  
-  install_all: install_base cron/crontab sysstat \
-  	cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
-! 	$(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
-  	if [ -d $(DESTDIR)/etc/cron.d ]; then \
-  	   $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
-  	elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
---- 344,350 ----
-  
-  install_all: install_base cron/crontab sysstat \
-  	cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly
-! 	#$(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR)
-  	if [ -d $(DESTDIR)/etc/cron.d ]; then \
-  	   $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \
-  	elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 1c6a065a947..beee7ff3d5e 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod
 , zlib, xz, pam, acl, cryptsetup, libuuid, m4, utillinux, libffi
-, glib, kbd, libxslt, coreutils, libgcrypt, sysvtools, docbook_xsl
+, glib, kbd, libxslt, coreutils, libgcrypt, sysvtools
 , kexectools, libmicrohttpd, linuxHeaders
 , pythonPackages ? null, pythonSupport ? false
-, autoreconfHook
 }:
 
 assert stdenv.isLinux;
@@ -11,27 +10,26 @@ assert stdenv.isLinux;
 assert pythonSupport -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
-  version = "212";
+  version = "217";
   name = "systemd-${version}";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
-    sha256 = "1hpjcc42svrs06q3isjm3m5aphgkpfdylmvpnif71zh46ys0cab5";
+    sha256 = "163l1y4p2a564d4ynfq3k3xf53j2v5s81blb6cvpn1y7rpxyccd0";
   };
 
   outputs = [ "dev" "out" "libudev" "doc" ];
 
   patches =
     [ # These are all changes between upstream and
-      # https://github.com/edolstra/systemd/tree/nixos-v212.
+      # https://github.com/edolstra/systemd/tree/nixos-v217.
       ./fixes.patch
     ];
 
   buildInputs =
     [ pkgconfig intltool gperf libcap kmod xz pam acl
-      /* cryptsetup */ libuuid m4 glib libxslt libgcrypt docbook_xsl
+      /* cryptsetup */ libuuid m4 glib libxslt libgcrypt
       libmicrohttpd linuxHeaders libffi
-      autoreconfHook
     ] ++ stdenv.lib.optionals pythonSupport [pythonPackages.python pythonPackages.lxml];
 
 
@@ -48,9 +46,23 @@ stdenv.mkDerivation rec {
       "--with-dbussessionservicedir=$(out)/share/dbus-1/services"
       "--with-firmware-path=/root/test-firmware:/run/current-system/firmware"
       "--with-tty-gid=3" # tty in NixOS has gid 3
-      "--disable-networkd" # enable/use eventually
       "--enable-compat-libs" # get rid of this eventually
       "--disable-tests"
+
+      "--disable-hostnamed"
+      "--enable-networkd"
+      "--disable-sysusers"
+      "--disable-timedated"
+      "--enable-timesyncd"
+      "--disable-readahead"
+      "--disable-firstboot"
+      "--disable-localed"
+      "--enable-resolved"
+      "--disable-split-usr"
+
+      "--with-sysvinit-path="
+      "--with-sysvrcnd-path="
+      "--with-rc-local-script-path-stop=/etc/halt.local"
     ];
 
   preConfigure =
@@ -80,7 +92,7 @@ stdenv.mkDerivation rec {
 
   # This is needed because systemd uses the gold linker, which doesn't
   # yet have the wrapper script to add rpath flags automatically.
-  NIX_LDFLAGS = "-rpath ${pam}/lib -rpath ${libcap}/lib -rpath ${acl}/lib -rpath ${stdenv.gcc.gcc}/lib";
+  NIX_LDFLAGS = "-rpath ${pam}/lib -rpath ${libcap}/lib -rpath ${acl}/lib -rpath ${stdenv.cc.cc}/lib";
 
   PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python
 
@@ -94,6 +106,8 @@ stdenv.mkDerivation rec {
       # currently running systemd (/run/current-system/systemd) so
       # that we don't use an obsolete/garbage-collected release agent.
       "-USYSTEMD_CGROUP_AGENT_PATH" "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
+
+      "-USYSTEMD_BINARY_PATH" "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
     ];
 
   # Use /var/lib/udev rather than /etc/udev for the generated hardware
@@ -112,12 +126,14 @@ stdenv.mkDerivation rec {
       "pamconfdir=$(out)/etc/pam.d"
     ];
 
-  # Get rid of configuration-specific data.
   postInstall =
     ''
-      mkdir -p $doc/example/systemd
-      mv $doc/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $doc/example
-      mv $doc/lib/systemd/{system,user} $doc/example/systemd
+      # sysinit.target: Don't depend on
+      # systemd-tmpfiles-setup.service. This interferes with NixOps's
+      # send-keys feature (since sshd.service depends indirectly on
+      # sysinit.target).
+      mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/
+
 
       rm -rf $out/etc/systemd/system
 
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
index 72cf0e92bb8..c1c768dbacb 100644
--- a/pkgs/os-specific/linux/systemd/fixes.patch
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -1,72 +1,5 @@
-diff --git a/Makefile.am b/Makefile.am
-index 3d9e5c1..46487f6 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1095,7 +1095,7 @@ BUILT_SOURCES += \
- 
- src/shared/errno-list.txt:
- 	$(AM_V_at)$(MKDIR_P) $(dir $@)
--	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }'  > $@
-+	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }'  > $@
- 
- src/shared/errno-from-name.gperf: src/shared/errno-list.txt
- 	$(AM_V_at)$(MKDIR_P) $(dir $@)
-@@ -1107,7 +1107,7 @@ src/shared/errno-from-name.h: src/shared/errno-from-name.gperf
- 
- src/shared/errno-to-name.h: src/shared/errno-list.txt
- 	$(AM_V_at)$(MKDIR_P) $(dir $@)
--	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
-+	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
- 
- src/shared/af-list.txt:
- 	$(AM_V_at)$(MKDIR_P) $(dir $@)
-@@ -1707,7 +1707,9 @@ dist_tmpfiles_DATA += \
- endif
- 
- SYSINIT_TARGET_WANTS += \
--	systemd-tmpfiles-setup-dev.service \
-+	systemd-tmpfiles-setup-dev.service
-+
-+MULTI_USER_TARGET_WANTS += \
- 	systemd-tmpfiles-setup.service
- 
- dist_zshcompletion_DATA += \
-@@ -1961,6 +1963,7 @@ systemd_cgls_SOURCES = \
- 	src/cgls/cgls.c
- 
- systemd_cgls_LDADD = \
-+	libsystemd-internal.la \
- 	libsystemd-shared.la
- 
- # ------------------------------------------------------------------------------
-diff --git a/TODO b/TODO
-index e2ca1e6..d7efdd5 100644
---- a/TODO
-+++ b/TODO
-@@ -1,4 +1,6 @@
- Bugfixes:
-+* Should systemctl status \* work on all unit types, not just .service?
-+
- * enabling an instance unit creates a pointless link, and
-   the unit will be started with getty@getty.service:
-     $ systemctl enable getty@.service
-diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules
-index c675b5b..4c300da 100644
---- a/rules/42-usb-hid-pm.rules
-+++ b/rules/42-usb-hid-pm.rules
-@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!=
- ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
- ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
- 
--# Catch-all for Avocent HID devices. Keyed off interface in order to only
--# trigger on HID class devices.
--ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto"
--
- # Dell DRAC 4
- ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto"
- 
 diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
-index db72373..2875958 100644
+index e30d9a8..a3d399b 100644
 --- a/rules/99-systemd.rules.in
 +++ b/rules/99-systemd.rules.in
 @@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
@@ -80,583 +13,191 @@ index db72373..2875958 100644
  # Ignore raid devices that are not yet assembled and started
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0"
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0"
-@@ -43,7 +39,7 @@ SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsys
- SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/bluetooth/devices/%k"
- 
- SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}+="bluetooth.target"
--ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
-+ENV{ID_SMARTCARD_READER}=="?*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
- SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sound.target"
- 
- SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target"
-diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c
-index b8e275d..1840594 100644
---- a/src/cgls/cgls.c
-+++ b/src/cgls/cgls.c
-@@ -35,6 +35,10 @@
- #include "build.h"
- #include "output-mode.h"
- #include "fileio.h"
-+#include "sd-bus.h"
-+#include "bus-util.h"
-+#include "bus-error.h"
-+#include "unit-name.h"
- 
- static bool arg_no_pager = false;
- static bool arg_kernel_threads = false;
-@@ -127,6 +131,7 @@ int main(int argc, char *argv[]) {
-         int r = 0, retval = EXIT_FAILURE;
-         int output_flags;
-         char _cleanup_free_ *root = NULL;
-+        _cleanup_bus_unref_ sd_bus *bus = NULL;
- 
-         log_parse_environment();
-         log_open();
-@@ -151,6 +156,12 @@ int main(int argc, char *argv[]) {
-                 arg_all * OUTPUT_SHOW_ALL |
-                 (arg_full > 0) * OUTPUT_FULL_WIDTH;
- 
-+        r = bus_open_transport(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
-+        if (r < 0) {
-+                log_error("Failed to create bus connection: %s", strerror(-r));
-+                goto finish;
-+        }
-+
-         if (optind < argc) {
-                 int i;
- 
-@@ -189,8 +200,52 @@ int main(int argc, char *argv[]) {
-                 } else {
-                         if (arg_machine) {
-                                 char *m;
-+                                const char *cgroup;
-+                                _cleanup_free_ char *scope = NULL;
-+                                _cleanup_free_ char *path = NULL;
-+                                _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
-+                                _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
-+
-                                 m = strappenda("/run/systemd/machines/", arg_machine);
--                                r = parse_env_file(m, NEWLINE, "CGROUP", &root, NULL);
-+                                r = parse_env_file(m, NEWLINE, "SCOPE", &scope, NULL);
-+                                if (r < 0) {
-+                                        log_error("Failed to get machine path: %s", strerror(-r));
-+                                        goto finish;
-+                                }
-+
-+                                path = unit_dbus_path_from_name(scope);
-+                                if (!path) {
-+                                        r = log_oom();
-+                                        goto finish;
-+                                }
-+
-+                                r = sd_bus_get_property(
-+                                                bus,
-+                                                "org.freedesktop.systemd1",
-+                                                path,
-+                                                "org.freedesktop.systemd1.Scope",
-+                                                "ControlGroup",
-+                                                &error,
-+                                                &reply,
-+                                                "s");
-+
-+                                if (r < 0) {
-+                                        log_error("Failed to query ControlGroup: %s", bus_error_message(&error, -r));
-+                                        goto finish;
-+                                }
-+
-+                                r = sd_bus_message_read(reply, "s", &cgroup);
-+                                if (r < 0) {
-+                                        bus_log_parse_error(r);
-+                                        goto finish;
-+                                }
-+
-+                                root = strdup(cgroup);
-+                                if (!root) {
-+                                        r = log_oom();
-+                                        goto finish;
-+                                }
-+
-                         } else
-                                 r = cg_get_root_path(&root);
-                         if (r < 0) {
-diff --git a/src/core/cgroup.c b/src/core/cgroup.c
-index 3dd4c91..4201e1e 100644
---- a/src/core/cgroup.c
-+++ b/src/core/cgroup.c
-@@ -871,7 +871,7 @@ int manager_setup_cgroup(Manager *m) {
-         safe_close(m->pin_cgroupfs_fd);
- 
-         m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
--        if (r < 0) {
-+        if (m->pin_cgroupfs_fd < 0) {
-                 log_error("Failed to open pin file: %m");
-                 return -errno;
-         }
-diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
-index 775825b..5b1c4e3 100644
---- a/src/core/dbus-cgroup.c
-+++ b/src/core/dbus-cgroup.c
-@@ -173,6 +173,7 @@ int bus_cgroup_set_property(
- 
-                 if (mode != UNIT_CHECK) {
-                         c->cpu_accounting = b;
-+                        u->cgroup_realized_mask &= ~CGROUP_CPUACCT;
-                         unit_write_drop_in_private(u, mode, name, b ? "CPUAccounting=yes" : "CPUAccounting=no");
-                 }
- 
-@@ -192,6 +193,7 @@ int bus_cgroup_set_property(
- 
-                 if (mode != UNIT_CHECK) {
-                         c->cpu_shares = ul;
-+                        u->cgroup_realized_mask &= ~CGROUP_CPU;
-                         unit_write_drop_in_private_format(u, mode, name, "CPUShares=%lu", ul);
-                 }
- 
-@@ -206,6 +208,7 @@ int bus_cgroup_set_property(
- 
-                 if (mode != UNIT_CHECK) {
-                         c->blockio_accounting = b;
-+                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
-                         unit_write_drop_in_private(u, mode, name, b ? "BlockIOAccounting=yes" : "BlockIOAccounting=no");
-                 }
- 
-@@ -225,6 +228,7 @@ int bus_cgroup_set_property(
- 
-                 if (mode != UNIT_CHECK) {
-                         c->blockio_weight = ul;
-+                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
-                         unit_write_drop_in_private_format(u, mode, name, "BlockIOWeight=%lu", ul);
-                 }
- 
-@@ -294,6 +298,8 @@ int bus_cgroup_set_property(
-                                                 cgroup_context_free_blockio_device_bandwidth(c, a);
-                         }
- 
-+                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
-+
-                         f = open_memstream(&buf, &size);
-                         if (!f)
-                                 return -ENOMEM;
-@@ -375,6 +381,8 @@ int bus_cgroup_set_property(
-                                         cgroup_context_free_blockio_device_weight(c, c->blockio_device_weights);
-                         }
- 
-+                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
-+
-                         f = open_memstream(&buf, &size);
-                         if (!f)
-                                 return -ENOMEM;
-@@ -398,6 +406,7 @@ int bus_cgroup_set_property(
- 
-                 if (mode != UNIT_CHECK) {
-                         c->memory_accounting = b;
-+                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
-                         unit_write_drop_in_private(u, mode, name, b ? "MemoryAccounting=yes" : "MemoryAccounting=no");
-                 }
- 
-@@ -412,6 +421,7 @@ int bus_cgroup_set_property(
- 
-                 if (mode != UNIT_CHECK) {
-                         c->memory_limit = limit;
-+                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
-                         unit_write_drop_in_private_format(u, mode, name, "%s=%" PRIu64, name, limit);
-                 }
- 
-@@ -433,6 +443,7 @@ int bus_cgroup_set_property(
-                         char *buf;
- 
-                         c->device_policy = p;
-+                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
- 
-                         buf = strappenda("DevicePolicy=", policy);
-                         unit_write_drop_in_private(u, mode, name, buf);
-@@ -511,6 +522,8 @@ int bus_cgroup_set_property(
-                                         cgroup_context_free_device_allow(c, c->device_allow);
-                         }
- 
-+                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
-+
-                         f = open_memstream(&buf, &size);
-                         if (!f)
-                                 return -ENOMEM;
-diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
-index 13b3d0d..37d4154 100644
---- a/src/core/dbus-execute.c
-+++ b/src/core/dbus-execute.c
-@@ -842,7 +842,7 @@ int bus_exec_context_set_transient_property(
-                         strv_free(c->environment);
-                         c->environment = e;
- 
--                        joined = strv_join(c->environment, " ");
-+                        joined = strv_join_quoted(c->environment);
-                         if (!joined)
-                                 return -ENOMEM;
- 
 diff --git a/src/core/job.c b/src/core/job.c
-index 35a9de6..dc4f441 100644
+index eaa4bb1..db44fee 100644
 --- a/src/core/job.c
 +++ b/src/core/job.c
-@@ -1060,6 +1060,9 @@ int job_coldplug(Job *j) {
-         if (r < 0)
-                 return r;
+@@ -352,6 +352,9 @@ bool job_type_is_redundant(JobType a, UnitActiveState b) {
+                 return
+                         b == UNIT_ACTIVATING;
  
-+        if (j->state == JOB_WAITING)
-+                job_add_to_run_queue(j);
++        case JOB_NOP:
++                return true;
 +
-         if (j->begin_usec == 0 || j->unit->job_timeout == 0)
-                 return 0;
- 
-diff --git a/src/core/killall.c b/src/core/killall.c
-index 57ed41c..eab48f7 100644
---- a/src/core/killall.c
-+++ b/src/core/killall.c
-@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
-                         continue;
- 
-                 if (sig == SIGKILL) {
--                        _cleanup_free_ char *s;
-+                        _cleanup_free_ char *s = NULL;
- 
-                         get_process_comm(pid, &s);
-                         log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s));
-diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
-index d459afe..2a58e48 100644
---- a/src/core/machine-id-setup.c
-+++ b/src/core/machine-id-setup.c
-@@ -93,32 +93,9 @@ static int generate(char id[34], const char *root) {
-                 }
+         default:
+                 assert_not_reached("Invalid job type");
          }
+diff --git a/src/core/job.h b/src/core/job.h
+index 1e7c61b..ee8e54a 100644
+--- a/src/core/job.h
++++ b/src/core/job.h
+@@ -49,9 +49,11 @@ enum JobType {
+         _JOB_TYPE_MAX_MERGING,
+ 
+         /* JOB_NOP can enter into a transaction, but as it won't pull in
+-         * any dependencies, it won't have to merge with anything.
+-         * job_install() avoids the problem of merging JOB_NOP too (it's
+-         * special-cased, only merges with other JOB_NOPs). */
++         * any dependencies and it uses the special 'nop_job' slot in Unit,
++         * it won't have to merge with anything (except possibly into another
++         * JOB_NOP, previously installed). JOB_NOP is special-cased in
++         * job_type_is_*() functions so that the transaction can be
++         * activated. */
+         JOB_NOP = _JOB_TYPE_MAX_MERGING, /* do nothing */
+ 
+         _JOB_TYPE_MAX_IN_TRANSACTION,
+@@ -190,11 +192,15 @@ _pure_ static inline bool job_type_is_mergeable(JobType a, JobType b) {
+ }
  
--        /* If that didn't work, see if we are running in qemu/kvm and a
--         * machine ID was passed in via -uuid on the qemu/kvm command
--         * line */
--
--        r = detect_vm(&vm_id);
--        if (r > 0 && streq(vm_id, "kvm")) {
--                char uuid[37];
--
--                fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
--                if (fd >= 0) {
--                        k = loop_read(fd, uuid, 36, false);
--                        safe_close(fd);
--
--                        if (k >= 36) {
--                                r = shorten_uuid(id, uuid);
--                                if (r >= 0) {
--                                        log_info("Initializing machine ID from KVM UUID.");
--                                        return 0;
--                                }
--                        }
--                }
--        }
--
--        /* If that didn't work either, see if we are running in a
--         * container, and a machine ID was passed in via
--         * $container_uuid the way libvirt/LXC does it */
-+        /* If that didn't work, see if we are running in a container,
-+         * and a machine ID was passed in via $container_uuid the way
-+         * libvirt/LXC does it */
-         r = detect_container(NULL);
-         if (r > 0) {
-                 _cleanup_free_ char *e = NULL;
-@@ -133,6 +110,30 @@ static int generate(char id[34], const char *root) {
-                                 }
-                         }
-                 }
-+
-+        } else {
-+                /* If we are not running in a container, see if we are
-+                 * running in qemu/kvm and a machine ID was passed in
-+                 * via -uuid on the qemu/kvm command line */
-+
-+                r = detect_vm(&vm_id);
-+                if (r > 0 && streq(vm_id, "kvm")) {
-+                        char uuid[37];
-+
-+                        fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
-+                        if (fd >= 0) {
-+                                k = loop_read(fd, uuid, 36, false);
-+                                safe_close(fd);
-+
-+                                if (k >= 36) {
-+                                        r = shorten_uuid(id, uuid);
-+                                        if (r >= 0) {
-+                                                log_info("Initializing machine ID from KVM UUID.");
-+                                                return 0;
-+                                        }
-+                                }
-+                        }
-+                }
-         }
+ _pure_ static inline bool job_type_is_conflicting(JobType a, JobType b) {
+-        return !job_type_is_mergeable(a, b);
++        return a != JOB_NOP && b != JOB_NOP && !job_type_is_mergeable(a, b);
+ }
+ 
+ _pure_ static inline bool job_type_is_superset(JobType a, JobType b) {
+         /* Checks whether operation a is a "superset" of b in its actions */
++        if (b == JOB_NOP)
++                return true;
++        if (a == JOB_NOP)
++                return false;
+         return a == job_type_lookup_merge(a, b);
+ }
  
-         /* If that didn't work, generate a random machine id */
-diff --git a/src/core/main.c b/src/core/main.c
-index 41605ee..c65701d 100644
---- a/src/core/main.c
-+++ b/src/core/main.c
-@@ -1840,6 +1840,7 @@ finish:
-         if (reexecute) {
-                 const char **args;
-                 unsigned i, args_size;
-+                sigset_t ss;
- 
-                 /* Close and disarm the watchdog, so that the new
-                  * instance can reinitialize it, but doesn't get
-@@ -1883,7 +1884,7 @@ finish:
-                         char_array_0(sfd);
- 
-                         i = 0;
--                        args[i++] = SYSTEMD_BINARY_PATH;
-+                        args[i++] = "/run/current-system/systemd/lib/systemd/systemd";
-                         if (switch_root_dir)
-                                 args[i++] = "--switched-root";
-                         args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user";
-@@ -1923,6 +1924,13 @@ finish:
-                 args[i++] = NULL;
-                 assert(i <= args_size);
- 
-+                /* reenable any blocked signals, especially important
-+                 * if we switch from initial ramdisk to init=... */
-+                reset_all_signal_handlers();
-+
-+                assert_se(sigemptyset(&ss) == 0);
-+                assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
-+
-                 if (switch_root_init) {
-                         args[0] = switch_root_init;
-                         execv(args[0], (char* const*) args);
 diff --git a/src/core/manager.c b/src/core/manager.c
-index 224106c..7342095 100644
+index d427d88..256d6f7 100644
 --- a/src/core/manager.c
 +++ b/src/core/manager.c
-@@ -422,7 +422,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
-                 return -ENOMEM;
- 
- #ifdef ENABLE_EFI
--        if (detect_container(NULL) <= 0)
-+        if (running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0)
-                 boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
- #endif
- 
-@@ -2129,9 +2129,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
-                 if (u->id != t)
-                         continue;
- 
--                if (!unit_can_serialize(u))
--                        continue;
--
-                 /* Start marker */
-                 fputs(u->id, f);
-                 fputc('\n', f);
-diff --git a/src/core/namespace.c b/src/core/namespace.c
-index 9f15211..e41cf5b 100644
---- a/src/core/namespace.c
-+++ b/src/core/namespace.c
-@@ -42,6 +42,7 @@
- #include "mkdir.h"
- #include "dev-setup.h"
- #include "def.h"
-+#include "label.h"
- 
- typedef enum MountMode {
-         /* This is ordered by priority! */
-@@ -68,6 +69,7 @@ static int append_mounts(BindMount **p, char **strv, MountMode mode) {
-         STRV_FOREACH(i, strv) {
- 
-                 (*p)->ignore = false;
-+                (*p)->done = false;
- 
-                 if ((mode == INACCESSIBLE || mode == READONLY || mode == READWRITE) && (*i)[0] == '-') {
-                         (*p)->ignore = true;
-@@ -217,7 +219,10 @@ static int mount_dev(BindMount *m) {
-                         goto fail;
+@@ -662,9 +662,11 @@ static int manager_setup_notify(Manager *m) {
+                         return -errno;
                  }
  
-+                label_context_set(d, st.st_mode);
-                 r = mknod(dn, st.st_mode, st.st_rdev);
-+                label_context_clear();
+-                if (m->running_as == SYSTEMD_SYSTEM)
++                if (m->running_as == SYSTEMD_SYSTEM) {
+                         m->notify_socket = strdup("/run/systemd/notify");
+-                else {
++                        if (!m->notify_socket)
++                                return log_oom();
++                } else {
+                         const char *e;
+ 
+                         e = getenv("XDG_RUNTIME_DIR");
+@@ -674,9 +676,11 @@ static int manager_setup_notify(Manager *m) {
+                         }
+ 
+                         m->notify_socket = strappend(e, "/systemd/notify");
++                        if (!m->notify_socket)
++                                return log_oom();
 +
-                 if (r < 0) {
-                         r = -errno;
-                         goto fail;
-@@ -350,7 +355,7 @@ int setup_namespace(
-                 private_dev;
++                        mkdir_parents_label(m->notify_socket, 0755);
+                 }
+-                if (!m->notify_socket)
+-                        return log_oom();
+ 
+                 strncpy(sa.un.sun_path, m->notify_socket, sizeof(sa.un.sun_path)-1);
+                 r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
+diff --git a/src/core/shutdown.c b/src/core/shutdown.c
+index 20cf526..03cfddc 100644
+--- a/src/core/shutdown.c
++++ b/src/core/shutdown.c
+@@ -75,7 +75,9 @@ static int parse_argv(int argc, char *argv[]) {
+         assert(argc >= 1);
+         assert(argv);
+ 
+-        while ((c = getopt_long(argc, argv, "", options, NULL)) >= 0)
++        /* "-" prevents getopt from permuting argv[] and moving the verb away
++         * from argv[1]. Our interface to initrd promises it'll be there. */
++        while ((c = getopt_long(argc, argv, "-", options, NULL)) >= 0)
+                 switch (c) {
+ 
+                 case ARG_LOG_LEVEL:
+@@ -113,6 +115,13 @@ static int parse_argv(int argc, char *argv[]) {
+ 
+                         break;
+ 
++                case '\001':
++                        if (!arg_verb)
++                                arg_verb = optarg;
++                        else
++                                log_error("Excess arguments, ignoring");
++                        break;
++
+                 case '?':
+                         return -EINVAL;
+ 
+@@ -120,15 +129,11 @@ static int parse_argv(int argc, char *argv[]) {
+                         assert_not_reached("Unhandled option code.");
+                 }
  
-         if (n > 0) {
--                m = mounts = (BindMount *) alloca(n * sizeof(BindMount));
-+                m = mounts = (BindMount *) alloca0(n * sizeof(BindMount));
-                 r = append_mounts(&m, read_write_dirs, READWRITE);
-                 if (r < 0)
-                         return r;
-diff --git a/src/core/service.c b/src/core/service.c
-index ae3695a..6b3aa45 100644
---- a/src/core/service.c
-+++ b/src/core/service.c
-@@ -1096,11 +1096,6 @@ static int service_verify(Service *s) {
+-        if (optind >= argc) {
++        if (!arg_verb) {
+                 log_error("Verb argument missing.");
                  return -EINVAL;
          }
  
--        if (s->type == SERVICE_ONESHOT && s->restart != SERVICE_RESTART_NO) {
--                log_error_unit(UNIT(s)->id, "%s has Restart setting other than no, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id);
--                return -EINVAL;
--        }
--
-         if (s->type == SERVICE_DBUS && !s->bus_name) {
-                 log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id);
-                 return -EINVAL;
-diff --git a/src/core/socket.c b/src/core/socket.c
-index 7c18a2b..1a560a6 100644
---- a/src/core/socket.c
-+++ b/src/core/socket.c
-@@ -663,16 +663,25 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) {
-                 int k;
- 
-                 k = getpeercred(fd, &ucred);
--                if (k < 0)
-+                if (k == -ENODATA) {
-+                        /* This handles the case where somebody is
-+                         * connecting from another pid/uid namespace
-+                         * (e.g. from outside of our container). */
-+                        if (asprintf(&r,
-+                                     "%u-unknown",
-+                                     nr) < 0)
-+                                return -ENOMEM;
-+                }
-+                else if (k < 0)
-                         return k;
--
--                if (asprintf(&r,
--                             "%u-%lu-%lu",
--                             nr,
--                             (unsigned long) ucred.pid,
--                             (unsigned long) ucred.uid) < 0)
--                        return -ENOMEM;
+-        arg_verb = argv[optind];
 -
-+                else {
-+                        if (asprintf(&r,
-+                                     "%u-%lu-%lu",
-+                                     nr,
-+                                     (unsigned long) ucred.pid,
-+                                     (unsigned long) ucred.uid) < 0)
-+                                return -ENOMEM;
-+                }
-                 break;
-         }
+-        if (optind + 1 < argc)
+-                log_error("Excess arguments, ignoring");
+         return 0;
+ }
  
-@@ -1242,6 +1251,8 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) {
-                        NULL,
-                        s->exec_runtime,
-                        &pid);
-+        if (r < 0)
-+                goto fail;
+diff --git a/src/core/snapshot.c b/src/core/snapshot.c
+index 5eed615..c2678cb 100644
+--- a/src/core/snapshot.c
++++ b/src/core/snapshot.c
+@@ -208,7 +208,7 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, sd_bus_error *e,
+                         return sd_bus_error_setf(e, SD_BUS_ERROR_INVALID_ARGS, "Unit name %s lacks snapshot suffix.", name);
  
-         strv_free(argv);
-         if (r < 0)
-@@ -1497,6 +1508,12 @@ static void socket_enter_running(Socket *s, int cfd) {
-                         }
+                 if (manager_get_unit(m, name))
+-                        sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name);
++                        return sd_bus_error_setf(e, BUS_ERROR_UNIT_EXISTS, "Snapshot %s exists already.", name);
  
-                 if (!pending) {
-+                        if (!UNIT_ISSET(s->service)) {
-+                                log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id);
-+                                r = -ENOENT;
-+                                goto fail;
-+                        }
-+
-                         r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL);
-                         if (r < 0)
-                                 goto fail;
+         } else {
+ 
+diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
+index d5b86bf..9c66e7b 100644
+--- a/src/core/systemd.pc.in
++++ b/src/core/systemd.pc.in
+@@ -14,8 +14,8 @@ systemduserunitdir=@userunitdir@
+ systemduserpresetdir=@userpresetdir@
+ systemdsystemconfdir=@pkgsysconfdir@/system
+ systemduserconfdir=@pkgsysconfdir@/user
+-systemdsystemunitpath=${systemdsystemconfdir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemdsystemunitdir}:/usr/lib/systemd/system:/lib/systemd/system
+-systemduserunitpath=${systemduserconfdir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemduserunitdir}:/usr/lib/systemd/user:/usr/share/systemd/user
++systemdsystemunitpath=${systemdsystemconfdir}:/etc/systemd/system:/etc/systemd-mutable/system:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/system:${systemdsystemunitdir}
++systemduserunitpath=${systemduserconfdir}:/etc/systemd/user:/etc/systemd-mutable/user:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/user:${systemduserunitdir}
+ systemdsystemgeneratordir=@systemgeneratordir@
+ systemdusergeneratordir=@usergeneratordir@
+ systemdsleepdir=@systemsleepdir@
 diff --git a/src/core/timer.c b/src/core/timer.c
-index 6c85304..720b8af 100644
+index a3713e2..5c4e9f9 100644
 --- a/src/core/timer.c
 +++ b/src/core/timer.c
-@@ -111,6 +111,23 @@ static int timer_add_default_dependencies(Timer *t) {
-         return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
- }
+@@ -521,6 +521,7 @@ fail:
  
-+static void update_stampfile(Timer *t, usec_t timestamp) {
-+        _cleanup_close_ int fd = -1;
-+
-+        mkdir_parents_label(t->stamp_path, 0755);
-+
-+        /* Update the file atime + mtime, if we can */
-+        fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
-+        if (fd >= 0) {
-+                struct timespec ts[2];
-+
-+                timespec_store(&ts[0], timestamp);
-+                ts[1] = ts[0];
-+
-+                futimens(fd, ts);
-+        }
-+}
-+
- static int timer_setup_persistent(Timer *t) {
-         int r;
+ static int timer_start(Unit *u) {
+         Timer *t = TIMER(u);
++        TimerValue *v;
  
-@@ -131,7 +148,7 @@ static int timer_setup_persistent(Timer *t) {
+         assert(t);
+         assert(t->state == TIMER_DEAD || t->state == TIMER_FAILED);
+@@ -530,6 +531,11 @@ static int timer_start(Unit *u) {
  
-                 e = getenv("XDG_DATA_HOME");
-                 if (e)
--                        t->stamp_path = strjoin(e, "/systemd/timers/", UNIT(t)->id, NULL);
-+                        t->stamp_path = strjoin(e, "/systemd/timers/stamp-", UNIT(t)->id, NULL);
-                 else {
+         t->last_trigger = DUAL_TIMESTAMP_NULL;
  
-                         _cleanup_free_ char *h = NULL;
-@@ -496,22 +513,8 @@ static void timer_enter_running(Timer *t) {
- 
-         dual_timestamp_get(&t->last_trigger);
- 
--        if (t->stamp_path) {
--                _cleanup_close_ int fd = -1;
--
--                mkdir_parents_label(t->stamp_path, 0755);
--
--                /* Update the file atime + mtime, if we can */
--                fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
--                if (fd >= 0) {
--                        struct timespec ts[2];
--
--                        timespec_store(&ts[0], t->last_trigger.realtime);
--                        ts[1] = ts[0];
--
--                        futimens(fd, ts);
--                }
--        }
-+        if (t->stamp_path)
-+                update_stampfile(t, t->last_trigger.realtime);
- 
-         timer_set_state(t, TIMER_RUNNING);
-         return;
-@@ -539,6 +542,11 @@ static int timer_start(Unit *u) {
- 
-                 if (stat(t->stamp_path, &st) >= 0)
-                         t->last_trigger.realtime = timespec_load(&st.st_atim);
-+                else if (errno == ENOENT)
-+                        /* The timer has never run before,
-+                         * make sure a stamp file exists.
-+                         */
-+                        update_stampfile(t, now(CLOCK_REALTIME));
-         }
++        /* Reenable all timers that depend on unit activation time */
++        LIST_FOREACH(value, v, t->values)
++                if (v->base == TIMER_ACTIVE)
++                        v->disabled = false;
++
+         if (t->stamp_path) {
+                 struct stat st;
  
-         t->result = TIMER_SUCCESS;
-diff --git a/src/core/transaction.c b/src/core/transaction.c
-index d00f427..2befc32 100644
---- a/src/core/transaction.c
-+++ b/src/core/transaction.c
-@@ -378,7 +378,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi
-                                       "Found dependency on %s/%s",
-                                       k->unit->id, job_type_to_string(k->type));
- 
--                        if (!delete &&
-+                        if (!delete && hashmap_get(tr->jobs, k->unit) &&
-                             !unit_matters_to_anchor(k->unit, k)) {
-                                 /* Ok, we can drop this one, so let's
-                                  * do so. */
 diff --git a/src/core/umount.c b/src/core/umount.c
-index d1258f0..0311812 100644
+index cffa453..4d1a9ff 100644
 --- a/src/core/umount.c
 +++ b/src/core/umount.c
-@@ -404,6 +404,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
+@@ -385,6 +385,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
                   * anyway, since we are running from it. They have
                   * already been remounted ro. */
                  if (path_equal(m->path, "/")
@@ -665,926 +206,405 @@ index d1258f0..0311812 100644
  #ifndef HAVE_SPLIT_USR
                      || path_equal(m->path, "/usr")
  #endif
-diff --git a/src/core/unit.c b/src/core/unit.c
-index 153b79b..ed52694 100644
---- a/src/core/unit.c
-+++ b/src/core/unit.c
-@@ -2287,25 +2287,25 @@ bool unit_can_serialize(Unit *u) {
- }
- 
- int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) {
--        ExecRuntime *rt;
-         int r;
- 
-         assert(u);
-         assert(f);
-         assert(fds);
- 
--        if (!unit_can_serialize(u))
--                return 0;
--
--        r = UNIT_VTABLE(u)->serialize(u, f, fds);
--        if (r < 0)
--                return r;
-+        if (unit_can_serialize(u)) {
-+                ExecRuntime *rt;
- 
--        rt = unit_get_exec_runtime(u);
--        if (rt) {
--                r = exec_runtime_serialize(rt, u, f, fds);
-+                r = UNIT_VTABLE(u)->serialize(u, f, fds);
-                 if (r < 0)
-                         return r;
-+
-+                rt = unit_get_exec_runtime(u);
-+                if (rt) {
-+                        r = exec_runtime_serialize(rt, u, f, fds);
-+                        if (r < 0)
-+                                return r;
-+                }
-         }
- 
-         dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp);
-@@ -2367,17 +2367,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) {
- }
- 
- int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
--        size_t offset;
-         ExecRuntime **rt = NULL;
-+        size_t offset;
-         int r;
- 
-         assert(u);
-         assert(f);
-         assert(fds);
- 
--        if (!unit_can_serialize(u))
--                return 0;
--
-         offset = UNIT_VTABLE(u)->exec_runtime_offset;
-         if (offset > 0)
-                 rt = (ExecRuntime**) ((uint8_t*) u + offset);
-@@ -2487,24 +2484,34 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
-                         if (!s)
-                                 return -ENOMEM;
- 
--                        free(u->cgroup_path);
--                        u->cgroup_path = s;
-+                        if (u->cgroup_path) {
-+                                void *p;
- 
-+                                p = hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
-+                                log_info("Removing cgroup_path %s from hashmap (%p)",
-+                                         u->cgroup_path, p);
-+                                free(u->cgroup_path);
-+                        }
-+
-+                        u->cgroup_path = s;
-                         assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1);
-+
-                         continue;
-                 }
- 
--                if (rt) {
--                        r = exec_runtime_deserialize_item(rt, u, l, v, fds);
-+                if (unit_can_serialize(u)) {
-+                        if (rt) {
-+                                r = exec_runtime_deserialize_item(rt, u, l, v, fds);
-+                                if (r < 0)
-+                                        return r;
-+                                if (r > 0)
-+                                        continue;
-+                        }
-+
-+                        r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
-                         if (r < 0)
-                                 return r;
--                        if (r > 0)
--                                continue;
-                 }
--
--                r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
--                if (r < 0)
--                        return r;
-         }
- }
- 
-diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
-index 75d56dd..be8fb2f 100644
---- a/src/cryptsetup/cryptsetup-generator.c
-+++ b/src/cryptsetup/cryptsetup-generator.c
-@@ -29,6 +29,7 @@
- #include "mkdir.h"
- #include "strv.h"
- #include "fileio.h"
-+#include "path-util.h"
- 
- static const char *arg_dest = "/tmp";
- static bool arg_enabled = true;
-@@ -144,16 +145,19 @@ static int create_disk(
-                         if (!uu)
-                                 return log_oom();
- 
--                        if (is_device_path(uu)) {
--                                _cleanup_free_ char *dd;
-+                        if (!path_equal(uu, "/dev/null")) {
- 
--                                dd = unit_name_from_path(uu, ".device");
--                                if (!dd)
--                                        return log_oom();
-+                                if (is_device_path(uu)) {
-+                                        _cleanup_free_ char *dd;
- 
--                                fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
--                        } else
--                                fprintf(f, "RequiresMountsFor=%s\n", password);
-+                                        dd = unit_name_from_path(uu, ".device");
-+                                        if (!dd)
-+                                                return log_oom();
-+
-+                                        fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
-+                                } else
-+                                        fprintf(f, "RequiresMountsFor=%s\n", password);
-+                        }
-                 }
-         }
- 
-@@ -287,7 +291,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
-         } else if (STR_IN_SET(key, "luks.key", "rd.luks.key") && value) {
- 
-                 free(arg_keyfile);
--                arg_keyfile = strdup(key);
-+                arg_keyfile = strdup(value);
-                 if (!arg_keyfile)
-                         return log_oom();
- 
-diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
-index 9b9074c..ad6c76c 100644
---- a/src/cryptsetup/cryptsetup.c
-+++ b/src/cryptsetup/cryptsetup.c
-@@ -88,6 +88,13 @@ static int parse_one_option(const char *option) {
-                         return 0;
-                 }
+diff --git a/src/delta/delta.c b/src/delta/delta.c
+index 25c4a0b..e1f2d6d 100644
+--- a/src/delta/delta.c
++++ b/src/delta/delta.c
+@@ -487,7 +487,7 @@ static int parse_flags(const char *flag_str, int flags) {
+         const char *word, *state;
+         size_t l;
  
-+                if (arg_key_size % 8) {
-+                        log_error("size= not a multiple of 8, ignoring.");
-+                        return 0;
-+                }
-+
-+                arg_key_size /= 8;
-+
-         } else if (startswith(option, "key-slot=")) {
- 
-                 arg_type = CRYPT_LUKS1;
-@@ -404,7 +411,7 @@ static int attach_luks_or_plain(struct crypt_device *cd,
-                 /* for CRYPT_PLAIN limit reads
-                  * from keyfile to key length, and
-                  * ignore keyfile-size */
--                arg_keyfile_size = arg_key_size / 8;
-+                arg_keyfile_size = arg_key_size;
- 
-                 /* In contrast to what the name
-                  * crypt_setup() might suggest this
-@@ -567,7 +574,7 @@ int main(int argc, char *argv[]) {
-                 else
-                         until = 0;
- 
--                arg_key_size = (arg_key_size > 0 ? arg_key_size : 256);
-+                arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8));
- 
-                 if (key_file) {
-                         struct stat st;
+-        FOREACH_WORD(word, l, flag_str, state) {
++        FOREACH_WORD_SEPARATOR(word, l, flag_str, ",", state) {
+                 if (strneq("masked", word, l))
+                         flags |= SHOW_MASKED;
+                 else if (strneq ("equivalent", word, l))
 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
-index 18f2aca..2a2b1ea 100644
+index 70a5918..1926e52 100644
 --- a/src/fsck/fsck.c
 +++ b/src/fsck/fsck.c
-@@ -285,7 +285,7 @@ int main(int argc, char *argv[]) {
- 
-         type = udev_device_get_property_value(udev_device, "ID_FS_TYPE");
-         if (type) {
--                const char *checker = strappenda("/sbin/fsck.", type);
-+                const char *checker = strappenda("/run/current-system/sw/sbin/fsck.", type);
-                 r = access(checker, X_OK);
-                 if (r < 0) {
-                         if (errno == ENOENT) {
-@@ -302,7 +302,7 @@ int main(int argc, char *argv[]) {
+@@ -315,8 +315,7 @@ int main(int argc, char *argv[]) {
                          return EXIT_FAILURE;
                  }
  
 -        cmdline[i++] = "/sbin/fsck";
-+        cmdline[i++] = "/run/current-system/sw/sbin/fsck";
-         cmdline[i++] = "-a";
+-        cmdline[i++] =  arg_repair;
++        cmdline[i++] = "/run/current-system/sw/bin/fsck";
          cmdline[i++] = "-T";
-         cmdline[i++] = "-l";
-diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c
-index 6a4aa2c..700e90a 100644
---- a/src/getty-generator/getty-generator.c
-+++ b/src/getty-generator/getty-generator.c
-@@ -72,7 +72,7 @@ static int add_serial_getty(const char *tty) {
- 
-         log_debug("Automatically adding serial getty for /dev/%s.", tty);
- 
--        n = unit_name_replace_instance("serial-getty@.service", tty);
-+        n = unit_name_from_path_instance("serial-getty", tty, ".service");
-         if (!n)
-                 return log_oom();
- 
-@@ -86,7 +86,7 @@ static int add_container_getty(const char *tty) {
- 
-         log_debug("Automatically adding container getty for /dev/pts/%s.", tty);
- 
--        n = unit_name_replace_instance("container-getty@.service", tty);
-+        n = unit_name_from_path_instance("container-getty", tty, ".service");
-         if (!n)
-                 return log_oom();
- 
-diff --git a/src/journal/catalog.c b/src/journal/catalog.c
-index 3ed0b7e..02dedc4 100644
---- a/src/journal/catalog.c
-+++ b/src/journal/catalog.c
-@@ -103,7 +103,7 @@ static int finish_item(
-                 const char *payload) {
- 
-         ssize_t offset;
--        CatalogItem *i;
-+        _cleanup_free_ CatalogItem *i = NULL;
-         int r;
  
-         assert(h);
-@@ -126,13 +126,14 @@ static int finish_item(
-         i->offset = htole64((uint64_t) offset);
+         /*
+diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
+index e257c12..1e04553 100644
+--- a/src/fstab-generator/fstab-generator.c
++++ b/src/fstab-generator/fstab-generator.c
+@@ -485,7 +485,7 @@ static int add_usr_mount(void) {
+                         return log_oom();
+         }
  
-         r = hashmap_put(h, i, i);
--        if (r == EEXIST) {
-+        if (r == -EEXIST) {
-                 log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.",
-                             SD_ID128_FORMAT_VAL(id), language ? language : "C");
--                free(i);
+-        if (!arg_usr_what || !arg_usr_options)
++        if (!arg_usr_what)
                  return 0;
--        }
-+        } else if (r < 0)
-+                return r;
- 
-+        i = NULL;
-         return 0;
- }
  
-@@ -383,8 +384,8 @@ error:
- int catalog_update(const char* database, const char* root, const char* const* dirs) {
-         _cleanup_strv_free_ char **files = NULL;
-         char **f;
--        Hashmap *h;
-         struct strbuf *sb = NULL;
-+        _cleanup_hashmap_free_free_ Hashmap *h = NULL;
-         _cleanup_free_ CatalogItem *items = NULL;
-         CatalogItem *i;
-         Iterator j;
-@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di
+         what = fstab_node_to_udev_node(arg_usr_what);
+@@ -494,7 +494,13 @@ static int add_usr_mount(void) {
+                 return -1;
          }
  
-         STRV_FOREACH(f, files) {
--                log_debug("reading file '%s'", *f);
--                catalog_import_file(h, sb, *f);
-+                log_debug("Reading file '%s'", *f);
-+                r = catalog_import_file(h, sb, *f);
-+                if (r < 0) {
-+                        log_error("Failed to import file '%s': %s.",
-+                                  *f, strerror(-r));
-+                        goto finish;
-+                }
-         }
+-        opts = arg_usr_options;
++        if (!arg_usr_options)
++                opts = arg_root_rw > 0 ? "rw" : "ro";
++        else if (!mount_test_option(arg_usr_options, "ro") &&
++                 !mount_test_option(arg_usr_options, "rw"))
++                opts = strappenda(arg_usr_options, ",", arg_root_rw > 0 ? "rw" : "ro");
++        else
++                opts = arg_usr_options;
+ 
+         log_debug("Found entry what=%s where=/sysroot/usr type=%s", what, strna(arg_usr_fstype));
+         return add_mount(what,
+diff --git a/src/hostname/hostnamectl.c b/src/hostname/hostnamectl.c
+index e487369..ff4e9c9 100644
+--- a/src/hostname/hostnamectl.c
++++ b/src/hostname/hostnamectl.c
+@@ -536,5 +536,5 @@ int main(int argc, char *argv[]) {
+         r = hostnamectl_main(bus, argc, argv);
  
-         if (hashmap_size(h) <= 0) {
-                 log_info("No items in catalog.");
--                r = 0;
-                 goto finish;
-         } else
-                 log_debug("Found %u items in catalog.", hashmap_size(h));
-@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di
-                 log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
-                           database, n, sb->len, r);
- 
--        r = 0;
--
  finish:
--        if (h)
--                hashmap_free_free(h);
-         if (sb)
-                 strbuf_cleanup(sb);
- 
+-        return r < 0 ? EXIT_FAILURE : r;
++        return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+ }
 diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
-index f2f1f35..fd9d2a8 100644
+index 8a2c0fc..9de3ddd 100644
 --- a/src/journal/journal-file.c
 +++ b/src/journal/journal-file.c
-@@ -274,12 +274,6 @@ static int journal_file_verify_header(JournalFile *f) {
-             !VALID64(le64toh(f->header->entry_array_offset)))
-                 return -ENODATA;
- 
--        if (le64toh(f->header->data_hash_table_offset) < le64toh(f->header->header_size) ||
--            le64toh(f->header->field_hash_table_offset) < le64toh(f->header->header_size) ||
--            le64toh(f->header->tail_object_offset) < le64toh(f->header->header_size) ||
--            le64toh(f->header->entry_array_offset) < le64toh(f->header->header_size))
--                return -ENODATA;
--
-         if (f->writable) {
-                 uint8_t state;
-                 sd_id128_t machine_id;
-diff --git a/src/journal/journal-remote-parse.c b/src/journal/journal-remote-parse.c
-index 142de0e..239ff38 100644
---- a/src/journal/journal-remote-parse.c
-+++ b/src/journal/journal-remote-parse.c
-@@ -40,7 +40,7 @@ void source_free(RemoteSource *source) {
- 
- static int get_line(RemoteSource *source, char **line, size_t *size) {
-         ssize_t n, remain;
--        char *c;
-+        char *c = NULL;
-         char *newbuf = NULL;
-         size_t newsize = 0;
- 
-@@ -49,7 +49,9 @@ static int get_line(RemoteSource *source, char **line, size_t *size) {
-         assert(source->filled <= source->size);
-         assert(source->buf == NULL || source->size > 0);
- 
--        c = memchr(source->buf, '\n', source->filled);
-+        if (source->buf)
-+                c = memchr(source->buf, '\n', source->filled);
-+
-         if (c != NULL)
-                 goto docopy;
- 
-diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c
-index 35948ea..48725e4 100644
---- a/src/journal/journald-kmsg.c
-+++ b/src/journal/journald-kmsg.c
-@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
-                 /* Did we lose any? */
-                 if (serial > *s->kernel_seqnum)
-                         server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages",
--                                              serial - *s->kernel_seqnum - 1);
-+                                              serial - *s->kernel_seqnum);
- 
-                 /* Make sure we never read this one again. Note that
-                  * we always store the next message serial we expect
+@@ -1657,7 +1657,7 @@ static int generic_array_bisect(
+                         }
+                 }
+ 
+-                if (k > n) {
++                if (k >= n) {
+                         if (direction == DIRECTION_UP) {
+                                 i = n;
+                                 subtract_one = true;
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index f50faf4..03579fd 100644
+--- a/src/journal/journalctl.c
++++ b/src/journal/journalctl.c
+@@ -682,7 +682,7 @@ static int parse_argv(int argc, char *argv[]) {
+                         assert_not_reached("Unhandled option");
+                 }
+ 
+-        if (arg_follow && !arg_no_tail && arg_lines == ARG_LINES_DEFAULT)
++        if (arg_follow && !arg_no_tail && !arg_since && arg_lines == ARG_LINES_DEFAULT)
+                 arg_lines = 10;
+ 
+         if (!!arg_directory + !!arg_file + !!arg_machine > 1) {
 diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
-index 6da81e7..b6f8e7e 100644
+index 12735c4..08b143b 100644
 --- a/src/journal/journald-server.c
 +++ b/src/journal/journald-server.c
-@@ -67,6 +67,7 @@
- #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE)
- #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC)
- #define DEFAULT_RATE_LIMIT_BURST 1000
-+#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH
- 
- #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC)
- 
-@@ -1473,6 +1474,8 @@ int server_init(Server *s) {
-         s->forward_to_syslog = true;
-         s->forward_to_wall = true;
+@@ -1655,6 +1655,7 @@ void server_done(Server *s) {
+         free(s->buffer);
+         free(s->tty_path);
+         free(s->cgroup_root);
++        free(s->hostname_field);
+ 
+         if (s->mmap)
+                 mmap_cache_unref(s->mmap);
+diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c
+index 372f3ed..d56ee51 100644
+--- a/src/libsystemd-network/network-internal.c
++++ b/src/libsystemd-network/network-internal.c
+@@ -392,10 +392,12 @@ void serialize_dhcp_routes(FILE *f, const char *key, struct sd_dhcp_route *route
+ 
+         fprintf(f, "%s=", key);
+ 
+-        for (i = 0; i < size; i++)
+-                fprintf(f, "%s/%" PRIu8 ",%s%s", inet_ntoa(routes[i].dst_addr),
+-                        routes[i].dst_prefixlen, inet_ntoa(routes[i].gw_addr),
++        for (i = 0; i < size; i++) {
++                fprintf(f, "%s/%" PRIu8, inet_ntoa(routes[i].dst_addr),
++                        routes[i].dst_prefixlen);
++                fprintf(f, ",%s%s", inet_ntoa(routes[i].gw_addr),
+                         (i < (size - 1)) ? " ": "");
++        }
  
-+        s->max_file_usec = DEFAULT_MAX_FILE_USEC;
-+
-         s->max_level_store = LOG_DEBUG;
-         s->max_level_syslog = LOG_DEBUG;
-         s->max_level_kmsg = LOG_NOTICE;
-diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c
-index f693e0f..9a8d5c6 100644
---- a/src/journal/microhttpd-util.c
-+++ b/src/journal/microhttpd-util.c
-@@ -129,7 +129,7 @@ void log_func_gnutls(int level, const char *message) {
-         if (0 <= level && level < (int) ELEMENTSOF(log_level_map))
-                 ourlevel = log_level_map[level];
-         else
--                level = LOG_DEBUG;
-+                ourlevel = LOG_DEBUG;
- 
-         log_meta(ourlevel, NULL, 0, NULL, "gnutls: %s", message);
+         fputs("\n", f);
  }
-diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c
-index b087a8b..967ab67 100644
---- a/src/journal/test-catalog.c
-+++ b/src/journal/test-catalog.c
-@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) {
- 
-         setlocale(LC_ALL, "de_DE.UTF-8");
+diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c
+index 0eba4c3..9986b52 100644
+--- a/src/libsystemd-network/sd-dhcp-client.c
++++ b/src/libsystemd-network/sd-dhcp-client.c
+@@ -68,7 +68,6 @@ struct sd_dhcp_client {
+         uint32_t mtu;
+         uint32_t xid;
+         usec_t start_time;
+-        uint16_t secs;
+         unsigned int attempt;
+         usec_t request_sent;
+         sd_event_source *timeout_t1;
+@@ -321,10 +320,12 @@ static int client_message_init(sd_dhcp_client *client, DHCPPacket **ret,
+         _cleanup_free_ DHCPPacket *packet;
+         size_t optlen, optoffset, size;
+         be16_t max_size;
++        usec_t time_now;
++        uint16_t secs;
+         int r;
  
--        log_set_max_level(LOG_DEBUG);
-+        log_parse_environment();
-+        log_open();
+         assert(client);
+-        assert(client->secs);
++        assert(client->start_time);
+         assert(ret);
+         assert(_optlen);
+         assert(_optoffset);
+@@ -344,7 +345,15 @@ static int client_message_init(sd_dhcp_client *client, DHCPPacket **ret,
+ 
+         /* Although 'secs' field is a SHOULD in RFC 2131, certain DHCP servers
+            refuse to issue an DHCP lease if 'secs' is set to zero */
+-        packet->dhcp.secs = htobe16(client->secs);
++        r = sd_event_now(client->event, clock_boottime_or_monotonic(), &time_now);
++        if (r < 0)
++                return r;
++        assert(time_now >= client->start_time);
++
++        /* seconds between sending first and last DISCOVER
++         * must always be strictly positive to deal with broken servers */
++        secs = ((time_now - client->start_time) / USEC_PER_SEC) ? : 1;
++        packet->dhcp.secs = htobe16(secs);
+ 
+         /* RFC2132 section 4.1
+            A client that cannot receive unicast IP datagrams until its protocol
+@@ -441,24 +450,12 @@ static int dhcp_client_send_raw(sd_dhcp_client *client, DHCPPacket *packet,
+ static int client_send_discover(sd_dhcp_client *client) {
+         _cleanup_free_ DHCPPacket *discover = NULL;
+         size_t optoffset, optlen;
+-        usec_t time_now;
+         int r;
  
-         test_catalog_file_lang();
+         assert(client);
+         assert(client->state == DHCP_STATE_INIT ||
+                client->state == DHCP_STATE_SELECTING);
  
-diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
-index 84a8ffa..e79b318 100644
---- a/src/libsystemd/sd-rtnl/rtnl-message.c
-+++ b/src/libsystemd/sd-rtnl/rtnl-message.c
-@@ -335,24 +335,28 @@ int sd_rtnl_message_link_get_flags(sd_rtnl_message *m, unsigned *flags) {
- /* If successful the updated message will be correctly aligned, if
-    unsuccessful the old message is untouched. */
- static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) {
--        uint32_t rta_length, message_length;
-+        uint32_t rta_length;
-+        size_t message_length, padding_length;
-         struct nlmsghdr *new_hdr;
-         struct rtattr *rta;
-         char *padding;
-         unsigned i;
-+        int offset;
- 
-         assert(m);
-         assert(m->hdr);
-         assert(!m->sealed);
-         assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len);
--        assert(!data || data_length > 0);
--        assert(data || m->n_containers < RTNL_CONTAINER_DEPTH);
-+        assert(!data || data_length);
-+
-+        /* get offset of the new attribute */
-+        offset = m->hdr->nlmsg_len;
- 
-         /* get the size of the new rta attribute (with padding at the end) */
-         rta_length = RTA_LENGTH(data_length);
- 
-         /* get the new message size (with padding at the end) */
--        message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length);
-+        message_length = offset + RTA_ALIGN(rta_length);
- 
-         /* realloc to fit the new attribute */
-         new_hdr = realloc(m->hdr, message_length);
-@@ -361,32 +365,35 @@ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data,
-         m->hdr = new_hdr;
- 
-         /* get pointer to the attribute we are about to add */
--        rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len);
-+        rta = (struct rtattr *) ((uint8_t *) m->hdr + offset);
- 
-         /* if we are inside containers, extend them */
-         for (i = 0; i < m->n_containers; i++)
--                GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len;
-+                GET_CONTAINER(m, i)->rta_len += message_length - offset;
- 
-         /* fill in the attribute */
-         rta->rta_type = type;
-         rta->rta_len = rta_length;
--        if (!data) {
--                /* this is the start of a new container */
--                m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len;
--        } else {
-+        if (data)
-                 /* we don't deal with the case where the user lies about the type
-                  * and gives us too little data (so don't do that)
--                */
-+                 */
-                 padding = mempcpy(RTA_DATA(rta), data, data_length);
--                /* make sure also the padding at the end of the message is initialized */
--                memzero(padding,
--                        (uint8_t *) m->hdr + message_length - (uint8_t *) padding);
-+        else {
-+                /* if no data was passed, make sure we still initialize the padding
-+                   note that we can have data_length > 0 (used by some containers) */
-+                padding = RTA_DATA(rta);
-+                data_length = 0;
+-        /* See RFC2131 section 4.4.1 */
+-
+-        r = sd_event_now(client->event, clock_boottime_or_monotonic(), &time_now);
+-        if (r < 0)
+-                return r;
+-        assert(time_now >= client->start_time);
+-
+-        /* seconds between sending first and last DISCOVER
+-         * must always be strictly positive to deal with broken servers */
+-        client->secs = ((time_now - client->start_time) / USEC_PER_SEC) ? : 1;
+-
+         r = client_message_init(client, &discover, DHCP_DISCOVER,
+                                 &optlen, &optoffset);
+         if (r < 0)
+@@ -875,10 +872,8 @@ static int client_start(sd_dhcp_client *client) {
          }
+         client->fd = r;
  
-+        /* make sure also the padding at the end of the message is initialized */
-+        padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding;
-+        memzero(padding, padding_length);
-+
-         /* update message size */
-         m->hdr->nlmsg_len = message_length;
+-        if (client->state == DHCP_STATE_INIT) {
++        if (client->state == DHCP_STATE_INIT || client->state == DHCP_STATE_INIT_REBOOT)
+                 client->start_time = now(clock_boottime_or_monotonic());
+-                client->secs = 0;
+-        }
  
--        return 0;
-+        return offset;
+         return client_initialize_events(client, client_receive_message_raw);
  }
+@@ -1269,6 +1264,9 @@ static int client_handle_message(sd_dhcp_client *client, DHCPMessage *message,
+                 if (r >= 0) {
+                         client->timeout_resend =
+                                 sd_event_source_unref(client->timeout_resend);
++                        client->receive_message =
++                                sd_event_source_unref(client->receive_message);
++                        client->fd = asynchronous_close(client->fd);
+ 
+                         if (IN_SET(client->state, DHCP_STATE_REQUESTING,
+                                    DHCP_STATE_REBOOTING))
+diff --git a/src/libsystemd-network/sd-dhcp-lease.c b/src/libsystemd-network/sd-dhcp-lease.c
+index 4fb01c0..b7c9a07 100644
+--- a/src/libsystemd-network/sd-dhcp-lease.c
++++ b/src/libsystemd-network/sd-dhcp-lease.c
+@@ -50,7 +50,7 @@ int sd_dhcp_lease_get_address(sd_dhcp_lease *lease, struct in_addr *addr) {
+ 
+ int sd_dhcp_lease_get_lifetime(sd_dhcp_lease *lease, uint32_t *lifetime) {
+         assert_return(lease, -EINVAL);
+-        assert_return(lease, -EINVAL);
++        assert_return(lifetime, -EINVAL);
+ 
+         *lifetime = lease->lifetime;
+ 
+diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
+index fa4f9b5..dbec1a2 100644
+--- a/src/libsystemd-network/sd-dhcp6-client.c
++++ b/src/libsystemd-network/sd-dhcp6-client.c
+@@ -200,19 +200,19 @@ int sd_dhcp6_client_set_duid(sd_dhcp6_client *client, uint16_t type, uint8_t *du
+ 
+         switch (type) {
+         case DHCP6_DUID_LLT:
+-                if (duid_len <= sizeof(client->duid.llt))
++                if (duid_len <= sizeof(client->duid.llt) - 2)
+                         return -EINVAL;
+                 break;
+         case DHCP6_DUID_EN:
+-                if (duid_len != sizeof(client->duid.en))
++                if (duid_len != sizeof(client->duid.en) - 2)
+                         return -EINVAL;
+                 break;
+         case DHCP6_DUID_LL:
+-                if (duid_len <= sizeof(client->duid.ll))
++                if (duid_len <= sizeof(client->duid.ll) - 2)
+                         return -EINVAL;
+                 break;
+         case DHCP6_DUID_UUID:
+-                if (duid_len != sizeof(client->duid.uuid))
++                if (duid_len != sizeof(client->duid.uuid) - 2)
+                         return -EINVAL;
+                 break;
+         default:
+@@ -222,7 +222,7 @@ int sd_dhcp6_client_set_duid(sd_dhcp6_client *client, uint16_t type, uint8_t *du
  
- int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) {
-@@ -761,22 +768,29 @@ int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) {
- 
-         assert_return(m, -EINVAL);
-         assert_return(!m->sealed, -EPERM);
-+        assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE);
- 
-         sd_rtnl_message_get_type(m, &rtm_type);
- 
-+        int r = -ENOTSUP;
-+
-         if (rtnl_message_type_is_link(rtm_type)) {
- 
-                 if ((type == IFLA_LINKINFO && m->n_containers == 0) ||
-                     (type == IFLA_INFO_DATA && m->n_containers == 1 &&
-                      GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO))
--                        return add_rtattr(m, type, NULL, 0);
-+                        r = add_rtattr(m, type, NULL, 0);
-                 else if (type == VETH_INFO_PEER && m->n_containers == 2 &&
-                          GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA &&
-                          GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)
--                        return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
-+                        r=  add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
-         }
+         client->duid.raw.type = htobe16(type);
+         memcpy(&client->duid.raw.data, duid, duid_len);
+-        client->duid_len = duid_len;
++        client->duid_len = duid_len + 2;  /* +2 for sizeof(type) */
  
--        return -ENOTSUP;
-+        if (r < 0) return r;
-+
-+        m->container_offsets[m->n_containers ++] = r;
-+
-+        return 0;
+         return 0;
  }
- 
- int sd_rtnl_message_close_container(sd_rtnl_message *m) {
-diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
-index ba1b04d..85b1e40 100644
---- a/src/libudev/libudev-monitor.c
-+++ b/src/libudev/libudev-monitor.c
-@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev)
- 
- /* we consider udev running when /dev is on devtmpfs */
- static bool udev_has_devtmpfs(struct udev *udev) {
--        struct file_handle *h;
-+        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
-         int mount_id;
-         _cleanup_fclose_ FILE *f = NULL;
-         char line[LINE_MAX], *e;
-         int r;
- 
--        h = alloca(MAX_HANDLE_SZ);
--        h->handle_bytes = MAX_HANDLE_SZ;
--        r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0);
-+        r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0);
-         if (r < 0)
-                 return false;
- 
-diff --git a/src/login/70-uaccess.rules b/src/login/70-uaccess.rules
-index e1cf897..57f619d 100644
---- a/src/login/70-uaccess.rules
-+++ b/src/login/70-uaccess.rules
-@@ -12,7 +12,7 @@ ENV{MAJOR}=="", GOTO="uaccess_end"
- SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
- 
- # Digicams with proprietary protocol
--ENV{ID_GPHOTO2}=="*?", TAG+="uaccess"
-+ENV{ID_GPHOTO2}=="?*", TAG+="uaccess"
- 
- # SCSI and USB scanners
- ENV{libsane_matched}=="yes", TAG+="uaccess"
-@@ -49,13 +49,13 @@ SUBSYSTEM=="drm", KERNEL=="card*|renderD*", TAG+="uaccess"
- SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
- 
- # smart-card readers
--ENV{ID_SMARTCARD_READER}=="*?", TAG+="uaccess"
-+ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
- 
- # (USB) authentication devices
--ENV{ID_SECURITY_TOKEN}=="*?", TAG+="uaccess"
-+ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess"
- 
- # PDA devices
--ENV{ID_PDA}=="*?", TAG+="uaccess"
-+ENV{ID_PDA}=="?*", TAG+="uaccess"
- 
- # Programmable remote control
- ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
-@@ -64,10 +64,10 @@ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
- SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess"
- 
- # color measurement devices
--ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="uaccess"
-+ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess"
- 
- # DDC/CI device, usually high-end monitors such as the DreamColor
--ENV{DDC_DEVICE}=="*?", TAG+="uaccess"
-+ENV{DDC_DEVICE}=="?*", TAG+="uaccess"
- 
- # media player raw devices (for user-mode drivers, Android SDK, etc.)
- SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess"
-diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
-index dc86f0f..4bbeb64 100644
---- a/src/login/logind-acl.c
-+++ b/src/login/logind-acl.c
-@@ -279,7 +279,9 @@ int devnode_acl_all(struct udev *udev,
- 
-                 log_debug("Fixing up ACLs at %s for seat %s", n, seat);
-                 k = devnode_acl(n, flush, del, old_uid, add, new_uid);
--                if (k < 0)
-+                if (k == -ENOENT)
-+                        log_debug("Device %s disappeared while setting ACLs", n);
-+                else if (k < 0)
-                         r = k;
+diff --git a/src/libsystemd/sd-bus/bus-match.c b/src/libsystemd/sd-bus/bus-match.c
+index 18afe0f..5658c61 100644
+--- a/src/libsystemd/sd-bus/bus-match.c
++++ b/src/libsystemd/sd-bus/bus-match.c
+@@ -537,7 +537,7 @@ static int bus_match_find_compare_value(
+         else if (BUS_MATCH_CAN_HASH(t))
+                 n = hashmap_get(c->compare.children, value_str);
+         else {
+-                for (n = c->child; !value_node_same(n, t, value_u8, value_str); n = n->next)
++                for (n = c->child; n && !value_node_same(n, t, value_u8, value_str); n = n->next)
+                         ;
          }
  
-diff --git a/src/login/logind-action.c b/src/login/logind-action.c
-index 1928f43..d69c7ad 100644
---- a/src/login/logind-action.c
-+++ b/src/login/logind-action.c
-@@ -79,14 +79,12 @@ int manager_handle_action(
-                         return 0;
-                 }
- 
--                /* If we have more than one or no displays connected,
--                 * don't react to lid closing. The no display case we
--                 * treat like this under the assumption that there is
--                 * no modern drm driver available. */
-+                /* If we have more than one display connected,
-+                 * don't react to lid closing. */
-                 n = manager_count_displays(m);
-                 if (n < 0)
-                         log_warning("Display counting failed: %s", strerror(-n));
--                else if (n != 1) {
-+                else if (n > 1) {
-                         log_debug("Ignoring lid switch request, %i displays connected.", n);
-                         return 0;
-                 }
-diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
-index 3f5efdc..1ee6ced 100644
---- a/src/login/logind-seat.c
-+++ b/src/login/logind-seat.c
-@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) {
-         if (!num)
-                 return -EINVAL;
+diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
+index 0ab1119..6c3230a 100644
+--- a/src/libsystemd/sd-bus/bus-objects.c
++++ b/src/libsystemd/sd-bus/bus-objects.c
+@@ -617,6 +617,9 @@ static int property_get_set_callbacks_run(
+                         return r;
  
--        if (num >= s->position_count || !s->positions[num])
-+        if (num >= s->position_count || !s->positions[num]) {
-+                /* allow switching to unused VTs to trigger auto-activate */
-+                if (seat_has_vts(s) && num < 64)
-+                        return chvt(num);
+         } else {
++                const char *signature = NULL;
++                char type = 0;
 +
-                 return -EINVAL;
-+        }
+                 if (c->vtable->type != _SD_BUS_VTABLE_WRITABLE_PROPERTY)
+                         return sd_bus_reply_method_errorf(m, SD_BUS_ERROR_PROPERTY_READ_ONLY, "Property '%s' is not writable.", c->member);
  
-         return session_activate(s->positions[num]);
- }
-diff --git a/src/login/logind-session.c b/src/login/logind-session.c
-index 4ca6b5d..02a780d 100644
---- a/src/login/logind-session.c
-+++ b/src/login/logind-session.c
-@@ -213,7 +213,6 @@ int session_save(Session *s) {
- 
-         if (s->scope)
-                 fprintf(f, "SCOPE=%s\n", s->scope);
--
-         if (s->scope_job)
-                 fprintf(f, "SCOPE_JOB=%s\n", s->scope_job);
+@@ -628,6 +631,13 @@ static int property_get_set_callbacks_run(
  
-@@ -229,17 +228,54 @@ int session_save(Session *s) {
-         if (s->display)
-                 fprintf(f, "DISPLAY=%s\n", s->display);
+                 c->last_iteration = bus->iteration_counter;
  
--        if (s->remote_host)
--                fprintf(f, "REMOTE_HOST=%s\n", s->remote_host);
-+        if (s->remote_host) {
-+                _cleanup_free_ char *escaped;
-+
-+                escaped = cescape(s->remote_host);
-+                if (!escaped) {
-+                        r = -ENOMEM;
-+                        goto finish;
-+                }
-+
-+                fprintf(f, "REMOTE_HOST=%s\n", escaped);
-+        }
-+
-+        if (s->remote_user) {
-+                _cleanup_free_ char *escaped;
-+
-+                escaped = cescape(s->remote_user);
-+                if (!escaped) {
-+                        r = -ENOMEM;
-+                        goto finish;
-+                }
-+
-+                fprintf(f, "REMOTE_USER=%s\n", escaped);
-+        }
++                r = sd_bus_message_peek_type(m, &type, &signature);
++                if (r < 0)
++                        return r;
 +
-+        if (s->service) {
-+                _cleanup_free_ char *escaped;
- 
--        if (s->remote_user)
--                fprintf(f, "REMOTE_USER=%s\n", s->remote_user);
-+                escaped = cescape(s->service);
-+                if (!escaped) {
-+                        r = -ENOMEM;
-+                        goto finish;
-+                }
++                if (type != 'v' || !streq(strempty(signature), strempty(c->vtable->x.property.signature)))
++                        return sd_bus_reply_method_errorf(m, SD_BUS_ERROR_INVALID_ARGS, "Incorrect parameters for property '%s', expected '%s', got '%s'.", c->member, strempty(c->vtable->x.property.signature), strempty(signature));
 +
-+                fprintf(f, "SERVICE=%s\n", escaped);
-+        }
- 
--        if (s->service)
--                fprintf(f, "SERVICE=%s\n", s->service);
-+        if (s->desktop) {
-+                _cleanup_free_ char *escaped;
+                 r = sd_bus_message_enter_container(m, 'v', c->vtable->x.property.signature);
+                 if (r < 0)
+                         return r;
+diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
+index b501a52..740133a 100644
+--- a/src/libsystemd/sd-rtnl/rtnl-message.c
++++ b/src/libsystemd/sd-rtnl/rtnl-message.c
+@@ -36,6 +36,8 @@
+ #define GET_CONTAINER(m, i) ((i) < (m)->n_containers ? (struct rtattr*)((uint8_t*)(m)->hdr + (m)->container_offsets[i]) : NULL)
+ #define PUSH_CONTAINER(m, new) (m)->container_offsets[(m)->n_containers ++] = (uint8_t*)(new) - (uint8_t*)(m)->hdr;
  
--        if (s->desktop)
--                fprintf(f, "DESKTOP=%s\n", s->desktop);
-+
-+                escaped = cescape(s->desktop);
-+                if (!escaped) {
-+                        r = -ENOMEM;
-+                        goto finish;
-+                }
++#define RTA_TYPE(rta) ((rta)->rta_type & NLA_TYPE_MASK)
 +
-+                fprintf(f, "DESKTOP=%s\n", escaped);
-+        }
+ static int message_new_empty(sd_rtnl *rtnl, sd_rtnl_message **ret) {
+         sd_rtnl_message *m;
  
-         if (s->seat && seat_has_vts(s->seat))
-                 fprintf(f, "VTNR=%u\n", s->vtnr);
-@@ -972,6 +1008,10 @@ void session_mute_vt(Session *s) {
-         if (vt < 0)
-                 return;
+@@ -566,8 +568,8 @@ int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const
+                 size = (size_t)r;
  
-+        r = fchown(vt, s->user->uid, -1);
-+        if (r < 0)
-+                goto error;
-+
-         r = ioctl(vt, KDSKBMODE, K_OFF);
-         if (r < 0)
-                 goto error;
-@@ -1026,6 +1066,8 @@ void session_restore_vt(Session *s) {
-         mode.mode = VT_AUTO;
-         ioctl(vt, VT_SETMODE, &mode);
+         if (size) {
+-                length = strnlen(data, size);
+-                if (length >= size)
++                length = strnlen(data, size+1);
++                if (length > size)
+                         return -EINVAL;
+         } else
+                 length = strlen(data);
+@@ -1066,7 +1068,7 @@ int rtnl_message_parse(sd_rtnl_message *m,
+         *rta_tb_size = max + 1;
  
-+        fchown(vt, 0, -1);
-+
-         s->vtfd = safe_close(s->vtfd);
- }
+         for (; RTA_OK(rta, rt_len); rta = RTA_NEXT(rta, rt_len)) {
+-                type = rta->rta_type;
++                type = RTA_TYPE(rta);
  
-diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in
-index b96d32d..b8e90f1 100644
---- a/src/login/org.freedesktop.login1.policy.in
-+++ b/src/login/org.freedesktop.login1.policy.in
-@@ -254,7 +254,7 @@
-                 <defaults>
-                         <allow_any>auth_admin_keep</allow_any>
-                         <allow_inactive>auth_admin_keep</allow_inactive>
--                        <allow_active>auth_admin_keep</allow_active>
-+                        <allow_active>yes</allow_active>
-                 </defaults>
-                 <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.hibernate</annotate>
-         </action>
-diff --git a/src/login/pam-module.c b/src/login/pam-module.c
-index 9873dd5..1259457 100644
---- a/src/login/pam-module.c
-+++ b/src/login/pam-module.c
-@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
+                 /* if the kernel is newer than the headers we used
+                    when building, we ignore out-of-range attributes
+@@ -1222,7 +1224,7 @@ int socket_read_message(sd_rtnl *rtnl) {
+                 }
          }
  
-         if (session_fd >= 0) {
--                session_fd = dup(session_fd);
-+                session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3);
-                 if (session_fd < 0) {
-                         pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m");
-                         return PAM_SESSION_ERR;
-diff --git a/src/machine/machine.c b/src/machine/machine.c
-index 9a5cc9a..de701ad 100644
---- a/src/machine/machine.c
-+++ b/src/machine/machine.c
-@@ -123,17 +123,42 @@ int machine_save(Machine *m) {
-                 "NAME=%s\n",
-                 m->name);
- 
--        if (m->unit)
--                fprintf(f, "SCOPE=%s\n", m->unit); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
-+        if (m->unit) {
-+                _cleanup_free_ char *escaped;
-+
-+                escaped = cescape(m->unit);
-+                if (!escaped) {
-+                        r = -ENOMEM;
-+                        goto finish;
-+                }
-+
-+                fprintf(f, "SCOPE=%s\n", escaped); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
-+        }
- 
-         if (m->scope_job)
-                 fprintf(f, "SCOPE_JOB=%s\n", m->scope_job);
+-        for (new_msg = rtnl->rbuffer; NLMSG_OK(new_msg, len); new_msg = NLMSG_NEXT(new_msg, len)) {
++        for (new_msg = rtnl->rbuffer; NLMSG_OK(new_msg, len) && !done; new_msg = NLMSG_NEXT(new_msg, len)) {
+                 _cleanup_rtnl_message_unref_ sd_rtnl_message *m = NULL;
+                 const NLType *nl_type;
  
--        if (m->service)
--                fprintf(f, "SERVICE=%s\n", m->service);
-+        if (m->service) {
-+                _cleanup_free_ char *escaped;
- 
--        if (m->root_directory)
--                fprintf(f, "ROOT=%s\n", m->root_directory);
-+                escaped = cescape(m->service);
-+                if (!escaped) {
-+                        r = -ENOMEM;
-+                        goto finish;
-+                }
-+                fprintf(f, "SERVICE=%s\n", escaped);
-+        }
-+
-+        if (m->root_directory) {
-+                _cleanup_free_ char *escaped;
+@@ -1237,7 +1239,8 @@ int socket_read_message(sd_rtnl *rtnl) {
+                 if (new_msg->nlmsg_type == NLMSG_DONE) {
+                         /* finished reading multi-part message */
+                         done = true;
+-                        break;
 +
-+                escaped = cescape(m->root_directory);
-+                if (!escaped) {
-+                        r = -ENOMEM;
-+                        goto finish;
-+                }
-+                fprintf(f, "ROOT=%s\n", escaped);
-+        }
- 
-         if (!sd_id128_equal(m->id, SD_ID128_NULL))
-                 fprintf(f, "ID=" SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(m->id));
-@@ -330,16 +355,18 @@ static int machine_stop_scope(Machine *m) {
-         if (!m->unit)
-                 return 0;
++                        continue;
+                 }
  
--        r = manager_stop_unit(m->manager, m->unit, &error, &job);
--        if (r < 0) {
--                log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
--                return r;
-+        if (!m->registered) {
-+                r = manager_stop_unit(m->manager, m->unit, &error, &job);
-+                if (r < 0) {
-+                        log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
-+                        return r;
+                 /* check that we support this message type */
+diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c
+index 2699374..e2afcb8 100644
+--- a/src/libudev/libudev-device.c
++++ b/src/libudev/libudev-device.c
+@@ -730,8 +730,13 @@ _public_ struct udev_device *udev_device_new_from_syspath(struct udev *udev, con
+                         return NULL;
+         } else {
+                 /* everything else just needs to be a directory */
+-                if (stat(path, &statbuf) != 0 || !S_ISDIR(statbuf.st_mode))
++                if (stat(path, &statbuf) != 0)
+                         return NULL;
++
++                if (!S_ISDIR(statbuf.st_mode)) {
++                        errno = EISDIR;
++                        return NULL;
 +                }
          }
  
-         free(m->scope_job);
-         m->scope_job = job;
- 
--        return r;
-+        return 0;
- }
- 
- int machine_stop(Machine *m) {
-@@ -415,6 +442,8 @@ int machine_kill(Machine *m, KillWho who, int signo) {
- 
-                 if (kill(m->leader, signo) < 0)
-                         return -errno;
-+
-+                return 0;
-         }
- 
-         /* Otherwise make PID 1 do it for us, for the entire cgroup */
-diff --git a/src/machine/machine.h b/src/machine/machine.h
-index f4aefc5..de3536d 100644
---- a/src/machine/machine.h
-+++ b/src/machine/machine.h
-@@ -72,6 +72,7 @@ struct Machine {
- 
-         bool in_gc_queue:1;
-         bool started:1;
-+        bool registered:1;
- 
-         sd_bus_message *create_message;
- 
-diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c
-index 9473105..154a335 100644
---- a/src/machine/machined-dbus.c
-+++ b/src/machine/machined-dbus.c
-@@ -241,6 +241,7 @@ static int method_create_or_register_machine(Manager *manager, sd_bus_message *m
-         m->leader = leader;
-         m->class = c;
-         m->id = id;
-+        m->registered = true;
- 
-         if (!isempty(service)) {
-                 m->service = strdup(service);
+         udev_device = udev_device_new(udev);
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 9a9ed9d..c3e6d23 100644
+index b6d9bc6..759794f 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) {
-         return 0;
- }
+@@ -758,7 +758,7 @@ static int mount_binds(const char *dest, char **l, bool ro) {
+                  * and char devices. */
+                 if (S_ISDIR(source_st.st_mode)) {
+                         r = mkdir_label(where, 0755);
+-                        if (r < 0) {
++                        if (r < 0 && errno != EEXIST) {
+                                 log_error("Failed to create mount point %s: %s", where, strerror(-r));
  
-+static char* id128_format_as_uuid(sd_id128_t id, char s[37]) {
-+
-+        snprintf(s, 37,
-+                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
-+                 SD_ID128_FORMAT_VAL(id));
-+
-+        return s;
-+}
-+
- static int setup_boot_id(const char *dest) {
-         _cleanup_free_ char *from = NULL, *to = NULL;
-         sd_id128_t rnd = {};
-@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) {
-                 return r;
-         }
+                                 return r;
+@@ -818,7 +818,7 @@ static int mount_tmpfs(const char *dest) {
+                         return log_oom();
  
--        snprintf(as_uuid, sizeof(as_uuid),
--                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
--                 SD_ID128_FORMAT_VAL(rnd));
--        char_array_0(as_uuid);
-+        id128_format_as_uuid(rnd, as_uuid);
+                 r = mkdir_label(where, 0755);
+-                if (r < 0) {
++                if (r < 0 && errno != EEXIST) {
+                         log_error("creating mount point for tmpfs %s failed: %s", where, strerror(-r));
  
-         r = write_string_file(from, as_uuid);
-         if (r < 0) {
-@@ -2378,7 +2384,7 @@ static int change_uid_gid(char **_home) {
-         _cleanup_fclose_ FILE *f = NULL;
-         _cleanup_close_ int fd = -1;
-         unsigned n_uids = 0;
--        size_t sz, l;
-+        size_t sz = 0, l;
-         uid_t uid;
-         gid_t gid;
-         pid_t pid;
-@@ -2667,6 +2673,7 @@ int main(int argc, char *argv[]) {
+                         return r;
+@@ -3073,6 +3073,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
                          }
                  } else {
@@ -1592,7 +612,7 @@ index 9a9ed9d..c3e6d23 100644
                          const char *p;
  
                          p = strappenda(arg_directory,
-@@ -2676,6 +2683,7 @@ int main(int argc, char *argv[]) {
+@@ -3082,6 +3083,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
  
                          }
@@ -1600,510 +620,237 @@ index 9a9ed9d..c3e6d23 100644
                  }
          } else {
                  char template[] = "/tmp/nspawn-root-XXXXXX";
-@@ -2748,8 +2756,6 @@ int main(int argc, char *argv[]) {
-                 goto finish;
-         }
+diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c
+index 7375f77..ec8efcc 100644
+--- a/src/resolve/resolved-dns-packet.c
++++ b/src/resolve/resolved-dns-packet.c
+@@ -866,7 +866,7 @@ fail:
+ 
+ int dns_packet_read_name(DnsPacket *p, char **_ret,
+                          bool allow_compression, size_t *start) {
+-        size_t saved_rindex, after_rindex = 0;
++        size_t saved_rindex, after_rindex = 0, jump_barrier;
+         _cleanup_free_ char *ret = NULL;
+         size_t n = 0, allocated = 0;
+         bool first = true;
+@@ -876,6 +876,7 @@ int dns_packet_read_name(DnsPacket *p, char **_ret,
+         assert(_ret);
+ 
+         saved_rindex = p->rindex;
++        jump_barrier = p->rindex;
+ 
+         for (;;) {
+                 uint8_t c, d;
+@@ -922,7 +923,7 @@ int dns_packet_read_name(DnsPacket *p, char **_ret,
+                                 goto fail;
  
--        sd_notify(0, "READY=1");
--
-         assert_se(sigemptyset(&mask) == 0);
-         sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1);
-         assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
-@@ -2966,7 +2972,9 @@ int main(int argc, char *argv[]) {
+                         ptr = (uint16_t) (c & ~0xc0) << 8 | (uint16_t) d;
+-                        if (ptr < DNS_PACKET_HEADER_SIZE || ptr >= saved_rindex) {
++                        if (ptr < DNS_PACKET_HEADER_SIZE || ptr >= jump_barrier) {
+                                 r = -EBADMSG;
+                                 goto fail;
                          }
+@@ -930,9 +931,13 @@ int dns_packet_read_name(DnsPacket *p, char **_ret,
+                         if (after_rindex == 0)
+                                 after_rindex = p->rindex;
  
-                         if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) {
--                                if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) {
-+                                char as_uuid[37];
-+
-+                                if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) {
-                                         log_oom();
-                                         goto child_fail;
-                                 }
-@@ -3086,6 +3094,8 @@ int main(int argc, char *argv[]) {
-                 if (r < 0)
-                         goto finish;
- 
-+                sd_notify(0, "READY=1");
-+
-                 /* Notify the child that the parent is ready with all
-                  * its setup, and thtat the child can now hand over
-                  * control to the code to run inside the container. */
-@@ -3136,6 +3146,10 @@ int main(int argc, char *argv[]) {
- 
-                         if (!arg_quiet)
-                                 log_info("Container %s is being rebooted.", arg_machine);
-+                        if (getenv("EXIT_ON_REBOOT") != 0) {
-+                                r = 10;
-+                                break;
-+                        }
-                         continue;
-                 } else if (status.si_code == CLD_KILLED ||
-                            status.si_code == CLD_DUMPED) {
-diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
-index d61ecdf..228a3a4 100644
---- a/src/nss-myhostname/netlink.c
-+++ b/src/nss-myhostname/netlink.c
-@@ -112,6 +112,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) {
-                     ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
-                         continue;
- 
-+                if (ifaddrmsg->ifa_family == AF_INET6 &&
-+                    ifaddrmsg->ifa_scope == RT_SCOPE_LINK)
-+                        continue;
-+
-                 if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
-                         continue;
- 
-diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c
-index 059b904..9a19a10 100644
---- a/src/python-systemd/_reader.c
-+++ b/src/python-systemd/_reader.c
-@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) {
-         sd_id128_t id;
-         _cleanup_free_ char *msg = NULL;
- 
--        assert(!self);
-         assert(args);
- 
-         if (!PyArg_ParseTuple(args, "z:get_catalog", &id_))
-diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
-index 9c7e004..dd1f229 100644
---- a/src/python-systemd/journal.py
-+++ b/src/python-systemd/journal.py
-@@ -293,7 +293,7 @@ class Reader(_Reader):
-             monotonic = monotonic.totalseconds()
-         monotonic = int(monotonic * 1000000)
-         if isinstance(bootid, _uuid.UUID):
--            bootid = bootid.get_hex()
-+            bootid = bootid.hex
-         return super(Reader, self).seek_monotonic(monotonic, bootid)
- 
-     def log_level(self, level):
-@@ -314,7 +314,7 @@ class Reader(_Reader):
-         Equivalent to add_match(MESSAGE_ID=`messageid`).
-         """
-         if isinstance(messageid, _uuid.UUID):
--            messageid = messageid.get_hex()
-+            messageid = messageid.hex
-         self.add_match(MESSAGE_ID=messageid)
- 
-     def this_boot(self, bootid=None):
-@@ -346,7 +346,7 @@ class Reader(_Reader):
- 
- def get_catalog(mid):
-     if isinstance(mid, _uuid.UUID):
--        mid = mid.get_hex()
-+        mid = mid.hex
-     return _get_catalog(mid)
- 
- def _make_line(field, value):
-diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c
-index 5ffa88b..49679fc 100644
---- a/src/readahead/readahead-common.c
-+++ b/src/readahead/readahead-common.c
-@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) {
-         if (major(st.st_dev) == 0) {
-                 _cleanup_fclose_ FILE *f = NULL;
-                 int mount_id;
--                struct file_handle *h;
-+                union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
- 
-                 /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd.
-                  *
-@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) {
-                  * and then lookup the mount ID in mountinfo to find
-                  * the mount options. */
- 
--                h = alloca(MAX_HANDLE_SZ);
--                h->handle_bytes = MAX_HANDLE_SZ;
--                r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW);
-+                r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW);
-                 if (r < 0)
-                         return false;
- 
-diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
-index d27b1b7..905a2e1 100644
---- a/src/shared/conf-parser.c
-+++ b/src/shared/conf-parser.c
-@@ -336,8 +336,8 @@ int config_parse(const char *unit,
-         if (!f) {
-                 f = ours = fopen(filename, "re");
-                 if (!f) {
--                        log_error("Failed to open configuration file '%s': %m", filename);
--                        return -errno;
-+                        log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, "Failed to open configuration file '%s': %m", filename);
-+                        return errno == ENOENT ? 0 : -errno;
-                 }
-         }
- 
-diff --git a/src/shared/generator.c b/src/shared/generator.c
-index 6110303..e679cb1 100644
---- a/src/shared/generator.c
-+++ b/src/shared/generator.c
-@@ -48,7 +48,7 @@ int generator_write_fsck_deps(
-                 const char *checker;
-                 int r;
- 
--                checker = strappenda("/sbin/fsck.", fstype);
-+                checker = strappenda("/run/current-system/sw/sbin/fsck.", fstype);
-                 r = access(checker, X_OK);
-                 if (r < 0) {
-                         log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker);
-diff --git a/src/shared/install.c b/src/shared/install.c
-index 7409046..4517c9c 100644
---- a/src/shared/install.c
-+++ b/src/shared/install.c
-@@ -560,7 +560,7 @@ int unit_file_mask(
-                 unsigned *n_changes) {
- 
-         char **i;
--        _cleanup_free_ char *prefix;
-+        _cleanup_free_ char *prefix = NULL;
-         int r;
- 
-         assert(scope >= 0);
-diff --git a/src/shared/log.c b/src/shared/log.c
-index a4b3b68..890a9fa 100644
---- a/src/shared/log.c
-+++ b/src/shared/log.c
-@@ -878,6 +878,9 @@ void log_parse_environment(void) {
-                         if (l == 5 && startswith(w, "debug")) {
-                                 log_set_max_level(LOG_DEBUG);
-                                 break;
-+                        } else if (l == 5 && startswith(w, "quiet")) {
-+                                log_set_max_level(LOG_WARNING);
-+                                break;
-                         }
-                 }
-         }
-diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
-index 9d14933..b0b66f6 100644
---- a/src/shared/logs-show.c
-+++ b/src/shared/logs-show.c
-@@ -547,7 +547,9 @@ static int output_export(
-                     startswith(data, "_BOOT_ID="))
-                         continue;
- 
--                if (!utf8_is_printable(data, length)) {
-+                if (utf8_is_printable_newline(data, length, false))
-+                        fwrite(data, length, 1, f);
-+                else {
-                         const char *c;
-                         uint64_t le64;
- 
-@@ -562,8 +564,7 @@ static int output_export(
-                         le64 = htole64(length - (c - (const char*) data) - 1);
-                         fwrite(&le64, sizeof(le64), 1, f);
-                         fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f);
++                        /* Jumps are limited to a "prior occurence" (RFC-1035 4.1.4) */
++                        jump_barrier = ptr;
+                         p->rindex = ptr;
 -                } else
--                        fwrite(data, length, 1, f);
++                } else {
++                        r = -EBADMSG;
+                         goto fail;
 +                }
- 
-                 fputc('\n', f);
          }
-diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
-index 6c167b4..d0e71f2 100644
---- a/src/shared/unit-name.c
-+++ b/src/shared/unit-name.c
-@@ -332,7 +332,7 @@ char *unit_name_path_unescape(const char *f) {
- }
- 
- bool unit_name_is_template(const char *n) {
--        const char *p;
-+        const char *p, *e;
  
-         assert(n);
+         if (!GREEDY_REALLOC(ret, allocated, n + 1)) {
+diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c
+index 7d258c9..6dd4cad 100644
+--- a/src/resolve/resolved.c
++++ b/src/resolve/resolved.c
+@@ -108,7 +108,7 @@ int main(int argc, char *argv[]) {
  
-@@ -340,11 +340,15 @@ bool unit_name_is_template(const char *n) {
-         if (!p)
-                 return false;
+ finish:
+         sd_notify(false,
+-                  "STOPPIN=1\n"
++                  "STOPPING=1\n"
+                   "STATUS=Shutting down...");
+ 
+         return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+diff --git a/src/run/run.c b/src/run/run.c
+index e3b6293..dcefb5c 100644
+--- a/src/run/run.c
++++ b/src/run/run.c
+@@ -573,9 +573,12 @@ int main(int argc, char* argv[]) {
+         if (r <= 0)
+                 goto finish;
  
--        return p[1] == '.';
-+        e = strrchr(p+1, '.');
-+        if (!e)
-+                return false;
-+
-+        return e == p + 1;
+-        r = find_binary(argv[optind], &command);
++        r = find_binary(argv[optind], arg_transport == BUS_TRANSPORT_LOCAL, &command);
+         if (r < 0) {
+-                log_error("Failed to find executable %s: %s", argv[optind], strerror(-r));
++                log_error("Failed to find executable %s%s: %s",
++                          argv[optind],
++                          arg_transport == BUS_TRANSPORT_LOCAL ? "" : " on local system",
++                          strerror(-r));
+                 goto finish;
+         }
+         argv[optind] = command;
+diff --git a/src/shared/install.c b/src/shared/install.c
+index 035b44c..cab93e8 100644
+--- a/src/shared/install.c
++++ b/src/shared/install.c
+@@ -1620,12 +1620,10 @@ int unit_file_enable(
+         STRV_FOREACH(i, files) {
+                 UnitFileState state;
+ 
++                /* We only want to know if this unit is masked, so we ignore
++                 * errors from unit_file_get_state, deferring other checks.
++                 * This allows templated units to be enabled on the fly. */
+                 state = unit_file_get_state(scope, root_dir, *i);
+-                if (state < 0) {
+-                        log_error("Failed to get unit file state for %s: %s", *i, strerror(-state));
+-                        return state;
+-                }
+-
+                 if (state == UNIT_FILE_MASKED || state == UNIT_FILE_MASKED_RUNTIME) {
+                         log_error("Failed to enable unit: Unit %s is masked", *i);
+                         return -ENOTSUP;
+diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c
+index 8f75a8e..c800e01 100644
+--- a/src/shared/path-lookup.c
++++ b/src/shared/path-lookup.c
+@@ -86,17 +86,14 @@ static char** user_dirs(
+         const char * const config_unit_paths[] = {
+                 USER_CONFIG_UNIT_PATH,
+                 "/etc/systemd/user",
++                "/etc/systemd-mutable/user",
+                 NULL
+         };
+ 
+         const char * const runtime_unit_path = "/run/systemd/user";
+ 
+         const char * const data_unit_paths[] = {
+-                "/usr/local/lib/systemd/user",
+-                "/usr/local/share/systemd/user",
+                 USER_DATA_UNIT_PATH,
+-                "/usr/lib/systemd/user",
+-                "/usr/share/systemd/user",
+                 NULL
+         };
+ 
+@@ -260,13 +257,11 @@ int lookup_paths_init(
+                                         STRV_IFNOTNULL(generator_early),
+                                         USER_CONFIG_UNIT_PATH,
+                                         "/etc/systemd/user",
++                                        "/etc/systemd-mutable/user",
++                                        "/nix/var/nix/profiles/default/lib/systemd/user",
+                                         "/run/systemd/user",
+                                         STRV_IFNOTNULL(generator),
+-                                        "/usr/local/lib/systemd/user",
+-                                        "/usr/local/share/systemd/user",
+                                         USER_DATA_UNIT_PATH,
+-                                        "/usr/lib/systemd/user",
+-                                        "/usr/share/systemd/user",
+                                         STRV_IFNOTNULL(generator_late),
+                                         NULL);
+                 } else
+@@ -276,14 +271,11 @@ int lookup_paths_init(
+                                 STRV_IFNOTNULL(generator_early),
+                                 SYSTEM_CONFIG_UNIT_PATH,
+                                 "/etc/systemd/system",
++                                "/etc/systemd-mutable/system",
++                                "/nix/var/nix/profiles/default/lib/systemd/system",
+                                 "/run/systemd/system",
+                                 STRV_IFNOTNULL(generator),
+-                                "/usr/local/lib/systemd/system",
+                                 SYSTEM_DATA_UNIT_PATH,
+-                                "/usr/lib/systemd/system",
+-#ifdef HAVE_SPLIT_USR
+-                                "/lib/systemd/system",
+-#endif
+                                 STRV_IFNOTNULL(generator_late),
+                                 NULL);
+ 
+diff --git a/src/shared/path-util.c b/src/shared/path-util.c
+index 67566bc..be03695 100644
+--- a/src/shared/path-util.c
++++ b/src/shared/path-util.c
+@@ -563,11 +563,11 @@ int path_is_os_tree(const char *path) {
+         return r >= 0;
  }
  
- bool unit_name_is_instance(const char *n) {
--        const char *p;
-+        const char *p, *e;
- 
-         assert(n);
+-int find_binary(const char *name, char **filename) {
++int find_binary(const char *name, bool local, char **filename) {
+         assert(name);
  
-@@ -352,7 +356,11 @@ bool unit_name_is_instance(const char *n) {
-         if (!p)
-                 return false;
+         if (is_path(name)) {
+-                if (access(name, X_OK) < 0)
++                if (local && access(name, X_OK) < 0)
+                         return -errno;
  
--        return p[1] != '.';
-+        e = strrchr(p+1, '.');
-+        if (!e)
-+                return false;
-+
-+        return e > p + 1;
- }
+                 if (filename) {
+@@ -657,7 +657,7 @@ int fsck_exists(const char *fstype) {
  
- char *unit_name_replace_instance(const char *f, const char *i) {
-diff --git a/src/shared/utf8.c b/src/shared/utf8.c
-index 0b524d8..c559c13 100644
---- a/src/shared/utf8.c
-+++ b/src/shared/utf8.c
-@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) {
-         return unichar;
- }
+         checker = strappenda("fsck.", fstype);
  
--bool utf8_is_printable(const char* str, size_t length) {
-+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) {
-         const uint8_t *p;
- 
-         assert(str);
-@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) {
-                 int encoded_len = utf8_encoded_valid_unichar((const char *)p);
-                 int val = utf8_encoded_to_unichar((const char*)p);
- 
--                if (encoded_len < 0 || val < 0 || is_unicode_control(val))
-+                if (encoded_len < 0 || val < 0 || is_unicode_control(val) ||
-+                    (!newline && val == '\n'))
-                         return false;
- 
-                 length -= encoded_len;
-diff --git a/src/shared/utf8.h b/src/shared/utf8.h
-index c0eb73a..c087995 100644
---- a/src/shared/utf8.h
-+++ b/src/shared/utf8.h
-@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_;
- char *ascii_is_valid(const char *s) _pure_;
- char *utf8_escape_invalid(const char *s);
- 
--bool utf8_is_printable(const char* str, size_t length) _pure_;
-+bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_;
-+_pure_ static inline bool utf8_is_printable(const char* str, size_t length) {
-+        return utf8_is_printable_newline(str, length, true);
-+}
- 
- char *utf16_to_utf8(const void *s, size_t length);
- 
-diff --git a/src/shared/util.c b/src/shared/util.c
-index ffe6624..2a2b2b2 100644
---- a/src/shared/util.c
-+++ b/src/shared/util.c
-@@ -166,19 +166,19 @@ int close_nointr(int fd) {
- 
-         assert(fd >= 0);
-         r = close(fd);
--
--        /* Just ignore EINTR; a retry loop is the wrong
--         * thing to do on Linux.
--         *
--         * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
--         * https://bugzilla.gnome.org/show_bug.cgi?id=682819
--         * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
--         * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
--         */
--        if (_unlikely_(r < 0 && errno == EINTR))
--                return 0;
--        else if (r >= 0)
-+        if (r >= 0)
+-        r = find_binary(checker, &p);
++        r = find_binary(checker, true, &p);
+         if (r < 0)
                  return r;
-+        else if (errno == EINTR)
-+                /*
-+                 * Just ignore EINTR; a retry loop is the wrong
-+                 * thing to do on Linux.
-+                 *
-+                 * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
-+                 * https://bugzilla.gnome.org/show_bug.cgi?id=682819
-+                 * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
-+                 * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
-+                 */
-+                return 0;
-         else
-                 return -errno;
- }
-@@ -195,7 +195,13 @@ int safe_close(int fd) {
- 
-         if (fd >= 0) {
-                 PROTECT_ERRNO;
--                assert_se(close_nointr(fd) == 0);
-+
-+                /* The kernel might return pretty much any error code
-+                 * via close(), but the fd will be closed anyway. The
-+                 * only condition we want to check for here is whether
-+                 * the fd was invalid at all... */
-+
-+                assert_se(close_nointr(fd) != -EBADF);
-         }
  
-         return -1;
-@@ -1365,7 +1371,7 @@ bool ignore_file(const char *filename) {
-         assert(filename);
+diff --git a/src/shared/path-util.h b/src/shared/path-util.h
+index 8d171a5..bd0d324 100644
+--- a/src/shared/path-util.h
++++ b/src/shared/path-util.h
+@@ -55,7 +55,7 @@ int path_is_mount_point(const char *path, bool allow_symlink);
+ int path_is_read_only_fs(const char *path);
+ int path_is_os_tree(const char *path);
  
-         if (endswith(filename, "~"))
--                return false;
-+                return true;
+-int find_binary(const char *name, char **filename);
++int find_binary(const char *name, bool local, char **filename);
  
-         return ignore_file_allow_backup(filename);
- }
-@@ -1495,6 +1501,7 @@ bool fstype_is_network(const char *fstype) {
-         static const char table[] =
-                 "cifs\0"
-                 "smbfs\0"
-+                "sshfs\0"
-                 "ncpfs\0"
-                 "ncp\0"
-                 "nfs\0"
-@@ -1581,8 +1588,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) {
-                 if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0)
-                         return -ETIMEDOUT;
- 
-+        errno = 0;
-         if (!fgets(line, sizeof(line), f))
--                return -EIO;
-+                return errno ? -errno : -EIO;
- 
-         truncate_nl(line);
- 
-@@ -5327,6 +5335,9 @@ bool string_is_safe(const char *p) {
-                 if (*t > 0 && *t < ' ')
-                         return false;
- 
-+                if (*t == 127)
-+                        return false;
-+
-                 if (strchr("\\\"\'", *t))
-                         return false;
-         }
-@@ -5343,10 +5354,14 @@ bool string_has_cc(const char *p) {
- 
-         assert(p);
- 
--        for (t = p; *t; t++)
-+        for (t = p; *t; t++) {
-                 if (*t > 0 && *t < ' ' && *t != '\t')
-                         return true;
- 
-+                if (*t == 127)
-+                        return true;
-+        }
-+
-         return false;
- }
+ bool paths_check_timestamp(const char* const* paths, usec_t *paths_ts_usec, bool update);
  
-@@ -6391,3 +6406,19 @@ void hexdump(FILE *f, const void *p, size_t s) {
-                 s -= 16;
-         }
- }
-+
-+int update_reboot_param_file(const char *param)
-+{
-+        int r = 0;
-+
-+        if (param) {
-+
-+                r = write_string_file(REBOOT_PARAM_FILE, param);
-+                if (r < 0)
-+                        log_error("Failed to write reboot param to "
-+                                  REBOOT_PARAM_FILE": %s", strerror(-r));
-+        } else
-+                unlink(REBOOT_PARAM_FILE);
-+
-+        return r;
-+}
-diff --git a/src/shared/util.h b/src/shared/util.h
-index 90464c9..122ac91 100644
---- a/src/shared/util.h
-+++ b/src/shared/util.h
-@@ -22,6 +22,7 @@
- ***/
- 
- #include <alloca.h>
-+#include <fcntl.h>
- #include <inttypes.h>
- #include <time.h>
- #include <sys/time.h>
-@@ -922,3 +923,10 @@ uint64_t physical_memory(void);
- char* mount_test_option(const char *haystack, const char *needle);
- 
- void hexdump(FILE *f, const void *p, size_t s);
-+
-+union file_handle_union {
-+        struct file_handle handle;
-+        char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ];
-+};
-+
-+int update_reboot_param_file(const char *param);
 diff --git a/src/shared/virt.c b/src/shared/virt.c
-index ec2ddcf..f03e790 100644
+index f9c4e67..f10baab 100644
 --- a/src/shared/virt.c
 +++ b/src/shared/virt.c
-@@ -149,7 +149,7 @@ static int detect_vm_dmi(const char **_id) {
- 
- /* Returns a short identifier for the various VM implementations */
- int detect_vm(const char **id) {
--        _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL;
-+        _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
-         static thread_local int cached_found = -1;
-         static thread_local const char *cached_id = NULL;
-         const char *_id = NULL;
-@@ -163,17 +163,37 @@ int detect_vm(const char **id) {
-                 return cached_found;
-         }
+@@ -293,8 +293,26 @@ int detect_container(const char **id) {
  
--        /* Try high-level hypervisor sysfs file first:
-+        /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file:
-          *
--         * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
--        r = read_one_line_file("/sys/hypervisor/type", &hvtype);
-+         * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */
-+        r = read_one_line_file("/proc/xen/capabilities", &domcap);
-         if (r >= 0) {
--                if (streq(hvtype, "xen")) {
-+                char *cap, *i = domcap;
-+
-+                while ((cap = strsep(&i, ",")))
-+                        if (streq(cap, "control_d"))
-+                                break;
-+
-+                if (!i)  {
-                         _id = "xen";
-                         r = 1;
+                 r = read_one_line_file("/run/systemd/container", &m);
+                 if (r == -ENOENT) {
+-                        r = 0;
 -                        goto finish;
-                 }
--        } else if (r != -ENOENT)
 +
-+                goto finish;
++                        /* Fallback for cases where PID 1 was not
++                         * systemd (for example, cases where
++                         * init=/bin/sh is used. */
 +
-+        } else if (r == -ENOENT) {
-+                _cleanup_free_ char *hvtype = NULL;
++                        r = getenv_for_pid(1, "container", &m);
++                        if (r <= 0) {
 +
-+                r = read_one_line_file("/sys/hypervisor/type", &hvtype);
-+                if (r >= 0) {
-+                        if (streq(hvtype, "xen")) {
-+                                _id = "xen";
-+                                r = 1;
++                                /* If that didn't work, give up,
++                                 * assume no container manager.
++                                 *
++                                 * Note: This means we still cannot
++                                 * detect containers if init=/bin/sh
++                                 * is passed but privileges dropped,
++                                 * as /proc/1/environ is only readable
++                                 * with privileges. */
++
++                                r = 0;
 +                                goto finish;
 +                        }
-+                } else if (r != -ENOENT)
-+                        return r;
-+        } else
-                 return r;
- 
-         /* this will set _id to "other" and return 0 for unknown hypervisors */
+                 }
+                 if (r < 0)
+                         return r;
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 0887bc3..d02ee2b 100644
+index 28eaa6a..3866308 100644
 --- a/src/systemctl/systemctl.c
 +++ b/src/systemctl/systemctl.c
-@@ -461,7 +461,7 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
-                 }
- 
-                 if (circle_len > 0)
--                        printf("%s%s%s", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : "  ", off_circle);
-+                        printf("%s%s%s ", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : " ", off_circle);
- 
-                 printf("%s%-*s%s %s%-*s%s %s%-*s %-*s%s %-*s",
-                        on_active, id_len, id, off_active,
-@@ -2561,7 +2561,7 @@ static int start_unit_one(
+@@ -2651,7 +2651,7 @@ static int start_unit_one(
  
                  log_debug("Adding %s to the set", p);
                  r = set_consume(s, p);
@@ -2112,523 +859,89 @@ index 0887bc3..d02ee2b 100644
                          return log_oom();
          }
  
-@@ -4240,7 +4240,7 @@ static int show_all(
-         _cleanup_free_ UnitInfo *unit_infos = NULL;
-         const UnitInfo *u;
-         unsigned c;
--        int r;
-+        int r, ret = 0;
+@@ -6917,8 +6917,13 @@ done:
  
-         r = get_unit_list(bus, NULL, NULL, &unit_infos, 0, &reply);
-         if (r < 0)
-@@ -4262,9 +4262,11 @@ static int show_all(
-                 r = show_one(verb, bus, p, show_properties, new_line, ellipsized);
-                 if (r < 0)
-                         return r;
-+                else if (r > 0 && ret == 0)
-+                        ret = r;
-         }
- 
--        return 0;
-+        return ret;
- }
- 
- static int show_system_status(sd_bus *bus) {
-@@ -4386,7 +4388,12 @@ static int show(sd_bus *bus, char **args) {
-                                 }
-                         }
+ static int halt_now(enum action a) {
  
--                        show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
-+                        r = show_one(args[0], bus, unit, show_properties,
-+                                     &new_line, &ellipsized);
-+                        if (r < 0)
-+                                return r;
-+                        else if (r > 0 && ret == 0)
-+                                ret = r;
-                 }
- 
-                 if (!strv_isempty(patterns)) {
-@@ -4403,7 +4410,12 @@ static int show(sd_bus *bus, char **args) {
-                                 if (!unit)
-                                         return log_oom();
- 
--                                show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
-+                                r = show_one(args[0], bus, unit, show_properties,
-+                                             &new_line, &ellipsized);
-+                                if (r < 0)
-+                                        return r;
-+                                else if (r > 0 && ret == 0)
-+                                        ret = r;
-                         }
-                 }
-         }
-@@ -5403,15 +5415,15 @@ static int systemctl_help(void) {
-                "                                  otherwise restart if active\n"
-                "  isolate NAME                    Start one unit and stop all others\n"
-                "  kill NAME...                    Send signal to processes of a unit\n"
--               "  is-active NAME...               Check whether units are active\n"
--               "  is-failed NAME...               Check whether units are failed\n"
--               "  status [NAME...|PID...]         Show runtime status of one or more units\n"
--               "  show [NAME...|JOB...]           Show properties of one or more\n"
-+               "  is-active PATTERN...            Check whether units are active\n"
-+               "  is-failed PATTERN...            Check whether units are failed\n"
-+               "  status [PATTERN...|PID...]      Show runtime status of one or more units\n"
-+               "  show [PATTERN...|JOB...]        Show properties of one or more\n"
-                "                                  units/jobs or the manager\n"
--               "  cat NAME...                     Show files and drop-ins of one or more units\n"
-+               "  cat PATTERN...                  Show files and drop-ins of one or more units\n"
-                "  set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n"
--               "  help NAME...|PID...             Show manual for one or more units\n"
--               "  reset-failed [NAME...]          Reset failed state for all, one, or more\n"
-+               "  help PATTERN...|PID...          Show manual for one or more units\n"
-+               "  reset-failed [PATTERN...]       Reset failed state for all, one, or more\n"
-                "                                  units\n"
-                "  list-dependencies [NAME]        Recursively show units which are required\n"
-                "                                  or wanted by this unit or by which this\n"
-@@ -5973,13 +5985,10 @@ static int halt_parse_argv(int argc, char *argv[]) {
-                 }
-         }
+-/* Make sure C-A-D is handled by the kernel from this
+-         * point on... */
++        /* The kernel will automaticall flush ATA disks and suchlike
++         * on reboot(), but the file systems need to be synce'd
++         * explicitly in advance. */
++        sync();
++
++        /* Make sure C-A-D is handled by the kernel from this point
++         * on... */
+         reboot(RB_ENABLE_CAD);
  
--        if (arg_action == ACTION_REBOOT && argc == optind + 1) {
--                r = write_string_file(REBOOT_PARAM_FILE, argv[optind]);
--                if (r < 0) {
--                        log_error("Failed to write reboot param to "
--                                  REBOOT_PARAM_FILE": %s", strerror(-r));
-+        if (arg_action == ACTION_REBOOT && (argc == optind || argc == optind + 1)) {
-+                r = update_reboot_param_file(argc == optind + 1 ? argv[optind] : NULL);
-+                if (r < 0)
-                         return r;
--                }
-         } else if (optind < argc) {
-                 log_error("Too many arguments.");
-                 return -EINVAL;
-diff --git a/src/test/test-udev.c b/src/test/test-udev.c
-index b064744..b057cc8 100644
---- a/src/test/test-udev.c
-+++ b/src/test/test-udev.c
-@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) {
-                 }
+         switch (a) {
+diff --git a/src/test/test-path-util.c b/src/test/test-path-util.c
+index 63d64b2..57264de 100644
+--- a/src/test/test-path-util.c
++++ b/src/test/test-path-util.c
+@@ -85,29 +85,30 @@ static void test_path(void) {
          }
- 
--        err = udev_event_execute_rules(event, rules, &sigmask_orig);
--        if (err == 0)
--                udev_event_execute_run(event, NULL);
-+        udev_event_execute_rules(event, rules, &sigmask_orig);
-+        udev_event_execute_run(event, NULL);
- out:
-         if (event != NULL && event->fd_signal >= 0)
-                 close(event->fd_signal);
-diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index 33e7cbc..04b472d 100644
---- a/src/tmpfiles/tmpfiles.c
-+++ b/src/tmpfiles/tmpfiles.c
-@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) {
  }
  
- static int dir_is_mount_point(DIR *d, const char *subdir) {
--        struct file_handle *h;
-+        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ };
-         int mount_id_parent, mount_id;
-         int r_p, r;
- 
--        h = alloca(MAX_HANDLE_SZ);
--
--        h->handle_bytes = MAX_HANDLE_SZ;
--        r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0);
-+        r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0);
-         if (r_p < 0)
-                 r_p = -errno;
- 
--        h->handle_bytes = MAX_HANDLE_SZ;
--        r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0);
-+        h.handle.handle_bytes = MAX_HANDLE_SZ;
-+        r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0);
-         if (r < 0)
-                 r = -errno;
- 
-diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
-index 1d067af..3203474 100644
---- a/src/tty-ask-password-agent/tty-ask-password-agent.c
-+++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
-@@ -432,7 +432,7 @@ static int wall_tty_block(void) {
- 
-         r = get_ctty_devnr(0, &devnr);
-         if (r < 0)
--                return -r;
-+                return r;
- 
-         if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
-                 return -ENOMEM;
-diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c
-index 925d38d..32adf27 100644
---- a/src/udev/accelerometer/accelerometer.c
-+++ b/src/udev/accelerometer/accelerometer.c
-@@ -180,7 +180,7 @@ get_prev_orientation(struct udev_device *dev)
-         return string_to_orientation(value);
+-static void test_find_binary(const char *self) {
++static void test_find_binary(const char *self, bool local) {
+         char *p;
+ 
+-        assert_se(find_binary("/bin/sh", &p) == 0);
++        assert_se(find_binary("/bin/sh", local, &p) == 0);
+         puts(p);
+         assert_se(streq(p, "/bin/sh"));
+         free(p);
+ 
+-        assert_se(find_binary(self, &p) == 0);
++        assert_se(find_binary(self, local, &p) == 0);
+         puts(p);
+         assert_se(endswith(p, "/test-path-util"));
+         assert_se(path_is_absolute(p));
+         free(p);
+ 
+-        assert_se(find_binary("sh", &p) == 0);
++        assert_se(find_binary("sh", local, &p) == 0);
+         puts(p);
+         assert_se(endswith(p, "/sh"));
+         assert_se(path_is_absolute(p));
+         free(p);
+ 
+-        assert_se(find_binary("xxxx-xxxx", &p) == -ENOENT);
++        assert_se(find_binary("xxxx-xxxx", local, &p) == -ENOENT);
+ 
+-        assert_se(find_binary("/some/dir/xxxx-xxxx", &p) == -ENOENT);
++        assert_se(find_binary("/some/dir/xxxx-xxxx", local, &p) ==
++                  (local ? -ENOENT : 0));
  }
  
--#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = true; } }
-+#define READ_AXIS(axis, var) { memzero(&abs_info, sizeof(abs_info)); r = ioctl(fd, EVIOCGABS(axis), &abs_info); if (r < 0) return; var = abs_info.value; }
- 
- /* accelerometers */
- static void test_orientation(struct udev *udev,
-@@ -189,10 +189,9 @@ static void test_orientation(struct udev *udev,
- {
-         OrientationUp old, new;
-         _cleanup_close_ int fd = -1;
--        struct input_event ev[64];
--        bool got_syn = false;
--        bool got_x = false, got_y = false, got_z = false;
-+        struct input_absinfo abs_info;
-         int x = 0, y = 0, z = 0;
-+        int r;
-         char text[64];
- 
-         old = get_prev_orientation(dev);
-@@ -201,30 +200,10 @@ static void test_orientation(struct udev *udev,
-         if (fd < 0)
-                 return;
- 
--        while (1) {
--                int i, r;
--
--                r = read(fd, ev, sizeof(struct input_event) * 64);
--
--                if (r < (int) sizeof(struct input_event))
--                        return;
--
--                for (i = 0; i < r / (int) sizeof(struct input_event); i++) {
--                        if (got_syn) {
--                                if (ev[i].type == EV_ABS) {
--                                        SET_AXIS(x, ABS_X);
--                                        SET_AXIS(y, ABS_Y);
--                                        SET_AXIS(z, ABS_Z);
--                                }
--                        }
--                        if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT)
--                                got_syn = true;
--                        if (got_x && got_y && got_z)
--                                goto read_dev;
--                }
--        }
-+        READ_AXIS(ABS_X, x);
-+        READ_AXIS(ABS_Y, y);
-+        READ_AXIS(ABS_Z, z);
- 
--read_dev:
-         new = orientation_calc(old, x, y, z);
-         snprintf(text, sizeof(text),
-                  "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new));
-diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
-index 5bb6b02..b31ad80 100644
---- a/src/udev/net/link-config.c
-+++ b/src/udev/net/link-config.c
-@@ -184,7 +184,7 @@ failure:
- }
+ static void test_prefixes(void) {
+@@ -244,7 +245,8 @@ static void test_strv_resolve(void) {
  
- static bool enable_name_policy(void) {
--        _cleanup_free_ char *line;
-+        _cleanup_free_ char *line = NULL;
-         char *w, *state;
-         int r;
-         size_t l;
-@@ -391,7 +391,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
-                 case MACPOLICY_PERSISTENT:
-                         if (!mac_is_permanent(device)) {
-                                 r = get_mac(device, false, &generated_mac);
--                                if (r < 0)
-+                                if (r == -ENOENT)
-+                                        break;
-+                                else if (r < 0)
-                                         return r;
-                                 mac = &generated_mac;
-                         }
-@@ -399,7 +401,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
-                 case MACPOLICY_RANDOM:
-                         if (!mac_is_random(device)) {
-                                 r = get_mac(device, true, &generated_mac);
--                                if (r < 0)
-+                                if (r == -ENOENT)
-+                                        break;
-+                                else if (r < 0)
-                                         return r;
-                                 mac = &generated_mac;
-                         }
-diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
-index 5998be2..5213a4a 100644
---- a/src/udev/udev-event.c
-+++ b/src/udev/udev-event.c
-@@ -771,18 +771,17 @@ static int rename_netif(struct udev_event *event)
-                 log_error("error changing net interface name %s to %s: %s",
-                           oldname, name, strerror(-r));
-         else
--                print_kmsg("renamed network interface %s to %s", oldname, name);
-+                print_kmsg("renamed network interface %s to %s\n", oldname, name);
- 
-         return r;
- }
- 
--int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
-+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
- {
-         struct udev_device *dev = event->dev;
--        int err = 0;
- 
-         if (udev_device_get_subsystem(dev) == NULL)
--                return -1;
-+                return;
- 
-         if (streq(udev_device_get_action(dev), "remove")) {
-                 udev_device_read_db(dev, NULL);
-@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
-                     event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
-                         char syspath[UTIL_PATH_SIZE];
-                         char *pos;
-+                        int r;
- 
--                        err = rename_netif(event);
--                        if (err == 0) {
-+                        r = rename_netif(event);
-+                        if (r >= 0) {
-                                 log_debug("renamed netif to '%s'", event->name);
- 
-                                 /* remember old name */
-@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
-                 udev_device_unref(event->dev_db);
-                 event->dev_db = NULL;
-         }
--        return err;
- }
- 
- void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
-diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
-index 2630264..17f47f2 100644
---- a/src/udev/udev-rules.c
-+++ b/src/udev/udev-rules.c
-@@ -2555,10 +2555,15 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
-                         struct stat stats;
- 
-                         /* we assure, that the permissions tokens are sorted before the static token */
-+
-                         if (mode == 0 && uid == 0 && gid == 0 && tags == NULL)
-                                 goto next;
- 
-                         strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL);
-+                        if (stat(device_node, &stats) != 0)
-+                                break;
-+                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
-+                                break;
- 
-                         /* export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */
-                         if (tags) {
-@@ -2588,11 +2593,6 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
-                         if (mode == 0 && uid == 0 && gid == 0)
-                                 break;
- 
--                        if (stat(device_node, &stats) != 0)
--                                break;
--                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
--                                break;
--
-                         if (mode == 0) {
-                                 if (gid > 0)
-                                         mode = 0660;
-diff --git a/src/udev/udev.h b/src/udev/udev.h
-index 936adfb..62538bc 100644
---- a/src/udev/udev.h
-+++ b/src/udev/udev.h
-@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
- int udev_event_spawn(struct udev_event *event,
-                      const char *cmd, char **envp, const sigset_t *sigmask,
-                      char *result, size_t ressize);
--int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
-+void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
- void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
- int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
- 
-diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c
-index 6cd311b..6a2f548 100644
---- a/src/udev/udevadm-test.c
-+++ b/src/udev/udevadm-test.c
-@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
-         _cleanup_udev_device_unref_ struct udev_device *dev = NULL;
-         _cleanup_udev_event_unref_ struct udev_event *event = NULL;
-         sigset_t mask, sigmask_orig;
--        int err;
-         int rc = 0, c;
- 
-         static const struct option options[] = {
-@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
-                 goto out;
-         }
- 
--        err = udev_event_execute_rules(event, rules, &sigmask_orig);
-+        udev_event_execute_rules(event, rules, &sigmask_orig);
- 
-         udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
-                 printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
- 
--        if (err == 0) {
--                udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
--                        char program[UTIL_PATH_SIZE];
-+        udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
-+                char program[UTIL_PATH_SIZE];
- 
--                        udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
--                        printf("run: '%s'\n", program);
--                }
-+                udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
-+                printf("run: '%s'\n", program);
-         }
- out:
-         if (event != NULL && event->fd_signal >= 0)
+ int main(int argc, char **argv) {
+         test_path();
+-        test_find_binary(argv[0]);
++        test_find_binary(argv[0], true);
++        test_find_binary(argv[0], false);
+         test_prefixes();
+         test_path_join();
+         test_fsck_exists();
 diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index f21c227..93afca1 100644
+index 2e6c713..193702c 100644
 --- a/src/udev/udevd.c
 +++ b/src/udev/udevd.c
-@@ -288,10 +288,9 @@ static void worker_new(struct event *event)
-                                 udev_event->exec_delay = exec_delay;
- 
-                         /* apply rules, create node, symlinks */
--                        err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
-+                        udev_event_execute_rules(udev_event, rules, &sigmask_orig);
- 
--                        if (err == 0)
--                                udev_event_execute_run(udev_event, &sigmask_orig);
-+                        udev_event_execute_run(udev_event, &sigmask_orig);
- 
-                         /* apply/restore inotify watch */
-                         if (err == 0 && udev_event->inotify_watch) {
-diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
-index 0f2b706..645b1e6 100644
---- a/src/vconsole/vconsole-setup.c
-+++ b/src/vconsole/vconsole-setup.c
-@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch
-  */
- static void font_copy_to_all_vcs(int fd) {
-         struct vt_stat vcs = {};
-+        unsigned char map8[E_TABSZ];
-+        unsigned short map16[E_TABSZ];
-+        struct unimapdesc unimapd;
-+        struct unipair unipairs[USHRT_MAX];
-         int i, r;
- 
-         /* get active, and 16 bit mask of used VT numbers */
-@@ -209,17 +213,35 @@ static void font_copy_to_all_vcs(int fd) {
-                 cfo.op = KD_FONT_OP_COPY;
-                 cfo.height = vcs.v_active-1; /* tty1 == index 0 */
-                 ioctl(vcfd, KDFONTOP, &cfo);
-+
-+                /* copy map of 8bit chars */
-+                if (ioctl(fd, GIO_SCRNMAP, map8) >= 0)
-+                    ioctl(vcfd, PIO_SCRNMAP, map8);
-+
-+                /* copy map of 8bit chars -> 16bit Unicode values */
-+                if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0)
-+                    ioctl(vcfd, PIO_UNISCRNMAP, map16);
-+
-+                /* copy unicode translation table */
-+                /* unimapd is a ushort count and a pointer to an
-+                   array of struct unipair { ushort, ushort } */
-+                unimapd.entries  = unipairs;
-+                unimapd.entry_ct = USHRT_MAX;
-+                if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) {
-+                        struct unimapinit adv = { 0, 0, 0 };
-+
-+                        ioctl(vcfd, PIO_UNIMAPCLR, &adv);
-+                        ioctl(vcfd, PIO_UNIMAP, &unimapd);
-+                }
-         }
- }
- 
- int main(int argc, char **argv) {
-         const char *vc;
--        char *vc_keymap = NULL;
--        char *vc_keymap_toggle = NULL;
--        char *vc_font = NULL;
--        char *vc_font_map = NULL;
--        char *vc_font_unimap = NULL;
--        int fd = -1;
-+        _cleanup_free_ char
-+                *vc_keymap = NULL, *vc_keymap_toggle = NULL,
-+                *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
-+        _cleanup_close_ int fd = -1;
-         bool utf8;
-         pid_t font_pid = 0, keymap_pid = 0;
-         bool font_copy = false;
-@@ -241,12 +263,12 @@ int main(int argc, char **argv) {
-         fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
-         if (fd < 0) {
-                 log_error("Failed to open %s: %m", vc);
--                goto finish;
-+                return EXIT_FAILURE;
-         }
- 
-         if (!is_vconsole(fd)) {
-                 log_error("Device %s is not a virtual console.", vc);
--                goto finish;
-+                return EXIT_FAILURE;
-         }
- 
-         utf8 = is_locale_utf8();
-@@ -281,27 +303,27 @@ int main(int argc, char **argv) {
-         else
-                 disable_utf8(fd);
- 
--        r = EXIT_FAILURE;
--        if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
--            font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
--                r = EXIT_SUCCESS;
--
--finish:
--        if (keymap_pid > 0)
--                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
-+        r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid);
-+        if (r < 0) {
-+                log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r));
-+                return EXIT_FAILURE;
-+        }
- 
--        if (font_pid > 0) {
-+        if (font_pid > 0)
-                 wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
--                if (font_copy)
--                        font_copy_to_all_vcs(fd);
-+
-+        r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
-+        if (r < 0) {
-+                log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r));
-+                return EXIT_FAILURE;
-         }
- 
--        free(vc_keymap);
--        free(vc_font);
--        free(vc_font_map);
--        free(vc_font_unimap);
-+        if (keymap_pid > 0)
-+                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
- 
--        safe_close(fd);
-+        /* Only copy the font when we started setfont successfully */
-+        if (font_copy && font_pid > 0)
-+                font_copy_to_all_vcs(fd);
- 
--        return r;
-+        return EXIT_SUCCESS;
- }
-diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
-index 7c6d6b9..c470045 100644
---- a/tmpfiles.d/systemd.conf
-+++ b/tmpfiles.d/systemd.conf
-@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root -
- d /run/systemd/shutdown 0755 root root -
- 
- m /var/log/journal 2755 root systemd-journal - -
--m /var/log/journal/%m 2755 root systemd-journal - -
-+Z /var/log/journal/%m 2755 root systemd-journal - -
- m /run/log/journal 2755 root systemd-journal - -
--m /run/log/journal/%m 2755 root systemd-journal - -
-+Z /run/log/journal/%m 2755 root systemd-journal - -
+@@ -994,9 +994,9 @@ static void kernel_cmdline_options(struct udev *udev) {
+                         if (r < 0)
+                                 log_warning("Invalid udev.exec-delay ignored: %s", opt + 16);
+                 } else if (startswith(opt, "udev.event-timeout=")) {
+-                        r = safe_atou64(opt + 16, &arg_event_timeout_usec);
++                        r = safe_atou64(opt + 19, &arg_event_timeout_usec);
+                         if (r < 0) {
+-                                log_warning("Invalid udev.event-timeout ignored: %s", opt + 16);
++                                log_warning("Invalid udev.event-timeout ignored: %s", opt + 19);
+                                 break;
+                         }
+                         arg_event_timeout_usec *= USEC_PER_SEC;
 diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in
 index 8ac51a4..cae9fb5 100644
 --- a/units/console-getty.service.m4.in
@@ -2642,11 +955,14 @@ index 8ac51a4..cae9fb5 100644
  Restart=always
  RestartSec=0
 diff --git a/units/container-getty@.service.m4.in b/units/container-getty@.service.m4.in
-index 4f7794b..bad2a9a 100644
+index 4f7794b..6dfc2e9 100644
 --- a/units/container-getty@.service.m4.in
 +++ b/units/container-getty@.service.m4.in
-@@ -16,7 +16,6 @@ Before=getty.target
+@@ -14,9 +14,9 @@ After=rc-local.service
+ )m4_dnl
+ Before=getty.target
  IgnoreOnIsolate=yes
++ConditionPathExists=/dev/pts/%I
  
  [Service]
 -ExecStart=-/sbin/agetty --noclear --keep-baud pts/%I 115200,38400,9600 $TERM
@@ -2654,19 +970,19 @@ index 4f7794b..bad2a9a 100644
  Restart=always
  RestartSec=0
 diff --git a/units/emergency.service.in b/units/emergency.service.in
-index 94c090f..0d20640 100644
+index 18973e7..3a99660 100644
 --- a/units/emergency.service.in
 +++ b/units/emergency.service.in
-@@ -15,7 +15,6 @@ Before=shutdown.target
+@@ -16,7 +16,6 @@ Before=shutdown.target
  [Service]
  Environment=HOME=/root
  WorkingDirectory=/root
 -ExecStartPre=-/bin/plymouth quit
- ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.'
- ExecStart=-/sbin/sulogin
- ExecStopPost=@SYSTEMCTL@ --fail --no-block default
+ ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\ntry again to boot into default mode.'
+ ExecStart=-/bin/sh -c "/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default"
+ Type=idle
 diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
-index aa853b8..8bcc647 100644
+index 46164ab..f194a31 100644
 --- a/units/getty@.service.m4
 +++ b/units/getty@.service.m4
 @@ -23,11 +23,12 @@ IgnoreOnIsolate=yes
@@ -2685,23 +1001,23 @@ index aa853b8..8bcc647 100644
  Restart=always
  RestartSec=0
 diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in
-index 368f980..d0c1bd2 100644
+index 0934a87..7e30c9e 100644
 --- a/units/kmod-static-nodes.service.in
 +++ b/units/kmod-static-nodes.service.in
 @@ -10,7 +10,6 @@ Description=Create list of required static device nodes for the current kernel
  DefaultDependencies=no
  Before=sysinit.target systemd-tmpfiles-setup-dev.service
- ConditionCapability=CAP_MKNOD
+ ConditionCapability=CAP_SYS_MODULE
 -ConditionPathExists=/lib/modules/%v/modules.devname
  
  [Service]
  Type=oneshot
 diff --git a/units/local-fs.target b/units/local-fs.target
-index ae3cedc..0e36840 100644
+index d2e5429..d26984b 100644
 --- a/units/local-fs.target
 +++ b/units/local-fs.target
-@@ -13,3 +13,5 @@ DefaultDependencies=no
- Conflicts=shutdown.target
+@@ -13,3 +13,5 @@ Conflicts=shutdown.target
+ After=local-fs-pre.target
  OnFailure=emergency.target
  OnFailureJobMode=replace-irreversibly
 +
@@ -2718,47 +1034,43 @@ index 43ffa5c..156a681 100644
 +
  [Install]
  WantedBy=multi-user.target
-diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in
-index 552ef89..af3915f 100644
---- a/units/rescue.service.m4.in
-+++ b/units/rescue.service.m4.in
+diff --git a/units/rescue.service.in b/units/rescue.service.in
+index fc93f1e..3c87cf8 100644
+--- a/units/rescue.service.in
++++ b/units/rescue.service.in
 @@ -16,7 +16,6 @@ Before=shutdown.target
  [Service]
  Environment=HOME=/root
  WorkingDirectory=/root
 -ExecStartPre=-/bin/plymouth quit
- ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.'
- ExecStart=-/sbin/sulogin
- ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
+ ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" or ^D to\\nboot into default mode.'
+ ExecStart=-/bin/sh -c "/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default"
+ Type=idle
 diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
-index 4ac51e7..96daa5c 100644
+index 4522d0d..96daa5c 100644
 --- a/units/serial-getty@.service.m4
 +++ b/units/serial-getty@.service.m4
-@@ -22,10 +22,8 @@ Before=getty.target
+@@ -22,7 +22,6 @@ Before=getty.target
  IgnoreOnIsolate=yes
  
  [Service]
 -ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
  Type=idle
  Restart=always
--RestartSec=0
  UtmpIdentifier=%I
- TTYPath=/dev/%I
- TTYReset=yes
 diff --git a/units/sysinit.target b/units/sysinit.target
-index 8f4fb8f..e0f0147 100644
+index ec33503..4ac47b9 100644
 --- a/units/sysinit.target
 +++ b/units/sysinit.target
-@@ -9,6 +9,5 @@
+@@ -9,5 +9,4 @@
  Description=System Initialization
  Documentation=man:systemd.special(7)
  Conflicts=emergency.service emergency.target
 -Wants=local-fs.target swap.target
 -After=local-fs.target swap.target emergency.service emergency.target
 +After=emergency.service emergency.target
- RefuseManualStart=yes
 diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in
-index e945d87..77728f2 100644
+index ecf3de4..7e83446 100644
 --- a/units/systemd-backlight@.service.in
 +++ b/units/systemd-backlight@.service.in
 @@ -19,3 +19,4 @@ Type=oneshot
@@ -2767,25 +1079,34 @@ index e945d87..77728f2 100644
  ExecStop=@rootlibexecdir@/systemd-backlight save %i
 +X-RestartIfChanged=false
 diff --git a/units/systemd-journal-flush.service.in b/units/systemd-journal-flush.service.in
-index 503e8a6..fe23b8b 100644
+index 699670b..ba22c6d 100644
 --- a/units/systemd-journal-flush.service.in
 +++ b/units/systemd-journal-flush.service.in
-@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal to Persistent Storage
+@@ -10,8 +10,10 @@ Description=Trigger Flushing of Journal to Persistent Storage
  Documentation=man:systemd-journald.service(8) man:journald.conf(5)
  DefaultDependencies=no
  Requires=systemd-journald.service
 -After=systemd-journald.service local-fs.target remote-fs.target
 +After=systemd-journald.service
- Before=systemd-user-sessions.service
++After=systemd-remount-fs.service
+ Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
 +RequiresMountsFor=/var/log/journal
  
  [Service]
- ExecStart=@rootbindir@/systemctl kill --kill-who=main --signal=SIGUSR1 systemd-journald.service
+ ExecStart=@rootbindir@/journalctl --flush
 diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
-index de93879..c9a49f3 100644
+index 4de38fa..2f23c13 100644
 --- a/units/systemd-journald.service.in
 +++ b/units/systemd-journald.service.in
-@@ -25,3 +25,8 @@ WatchdogSec=1min
+@@ -14,6 +14,7 @@ After=systemd-journald.socket systemd-journald-dev-log.socket syslog.socket
+ Before=sysinit.target
+ 
+ [Service]
++Type=notify
+ Sockets=systemd-journald.socket systemd-journald-dev-log.socket
+ ExecStart=@rootlibexecdir@/systemd-journald
+ Restart=always
+@@ -26,3 +27,8 @@ WatchdogSec=1min
  # Increase the default a bit in order to allow many simultaneous
  # services being run since we keep one fd open per service.
  LimitNOFILE=16384
@@ -2794,20 +1115,8 @@ index de93879..c9a49f3 100644
 +# journald to stop logging (see
 +# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
 +X-RestartIfChanged=no
-diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in
-index ff36e90..e373628 100644
---- a/units/systemd-nspawn@.service.in
-+++ b/units/systemd-nspawn@.service.in
-@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1)
- 
- [Service]
- ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i
-+KillMode=mixed
- Type=notify
- 
- [Install]
 diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in
-index 1879b2f..9b895b9 100644
+index b55844b..3ef9fc6 100644
 --- a/units/systemd-random-seed.service.in
 +++ b/units/systemd-random-seed.service.in
 @@ -19,3 +19,4 @@ Type=oneshot
@@ -2816,7 +1125,7 @@ index 1879b2f..9b895b9 100644
  ExecStop=@rootlibexecdir@/systemd-random-seed save
 +X-RestartIfChanged=false
 diff --git a/units/systemd-rfkill@.service.in b/units/systemd-rfkill@.service.in
-index 9d264a2..c505535 100644
+index 0e9851b..9f8fa0d 100644
 --- a/units/systemd-rfkill@.service.in
 +++ b/units/systemd-rfkill@.service.in
 @@ -19,3 +19,4 @@ Type=oneshot
@@ -2825,28 +1134,28 @@ index 9d264a2..c505535 100644
  ExecStop=@rootlibexecdir@/systemd-rfkill save %I
 +X-RestartIfChanged=false
 diff --git a/units/systemd-tmpfiles-setup.service.in b/units/systemd-tmpfiles-setup.service.in
-index 01043b7..507f820 100644
+index e895cda..194146f 100644
 --- a/units/systemd-tmpfiles-setup.service.in
 +++ b/units/systemd-tmpfiles-setup.service.in
-@@ -12,7 +12,7 @@ DefaultDependencies=no
- Wants=local-fs.target
+@@ -11,7 +11,7 @@ Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
+ DefaultDependencies=no
  Conflicts=shutdown.target
- After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target
+ After=local-fs.target systemd-sysusers.service
 -Before=sysinit.target shutdown.target
 +Before=shutdown.target
- ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d
- ConditionDirectoryNotEmpty=|/lib/tmpfiles.d
- ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d
+ RefuseManualStop=yes
+ 
+ [Service]
 diff --git a/units/systemd-update-utmp.service.in b/units/systemd-update-utmp.service.in
-index da7dda7..e638145 100644
+index 163eccd..7357c12 100644
 --- a/units/systemd-update-utmp.service.in
 +++ b/units/systemd-update-utmp.service.in
 @@ -11,7 +11,7 @@ Documentation=man:systemd-update-utmp.service(8) man:utmp(5)
  DefaultDependencies=no
  RequiresMountsFor=/var/log/wtmp
  Conflicts=shutdown.target
--After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service
-+After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service auditd.service
+-After=systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service
++After=systemd-remount-fs.service auditd.service
  Before=sysinit.target shutdown.target
  
  [Service]
diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix
index 7b4ecbb027e..042e601ec14 100644
--- a/pkgs/os-specific/linux/sysvinit/default.nix
+++ b/pkgs/os-specific/linux/sysvinit/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.nongnu.org/sysvinit/;
     description = "Utilities related to booting and shutdown";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix
index a0df3d526f5..88cf59cf8b7 100644
--- a/pkgs/os-specific/linux/uclibc/default.nix
+++ b/pkgs/os-specific/linux/uclibc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, linuxHeaders, libiconv, cross ? null, gccCross ? null,
+{stdenv, fetchurl, linuxHeaders, libiconvReal, cross ? null, gccCross ? null,
 extraConfig ? ""}:
 
 assert stdenv.isLinux;
@@ -16,18 +16,13 @@ let
                 continue
             fi
 
-            if test "$NAME" == "CLEAR"; then
-                echo "parseconfig: CLEAR"
-                echo > .config
-            fi
-
             echo "parseconfig: removing $NAME"
             sed -i /^$NAME=/d .config
 
-            if test "$OPTION" != n; then
+            #if test "$OPTION" != n; then
                 echo "parseconfig: setting $NAME=$OPTION"
                 echo "$NAME=$OPTION" >> .config
-            fi
+            #fi
         done
         set +x
     }
@@ -48,16 +43,24 @@ let
     UCLIBC_SUSV4_LEGACY y
     UCLIBC_HAS_THREADS_NATIVE y
     KERNEL_HEADERS "${linuxHeaders}/include"
+  '' + stdenv.lib.optionalString (stdenv.isArm && cross == null) ''
+    CONFIG_ARM_EABI y
+    ARCH_WANTS_BIG_ENDIAN n
+    ARCH_BIG_ENDIAN n
+    ARCH_WANTS_LITTLE_ENDIAN y
+    ARCH_LITTLE_ENDIAN y
+    UCLIBC_HAS_FPU n
   '';
 
 in
+
 stdenv.mkDerivation {
-  name = "uclibc-0.9.33.2" + stdenv.lib.optionalString (cross != null)
+  name = "uclibc-0.9.34-pre-20150131" + stdenv.lib.optionalString (cross != null)
     ("-" + cross.config);
 
   src = fetchurl {
-    url = http://www.uclibc.org/downloads/uClibc-0.9.33.2.tar.bz2;
-    sha256 = "0qhngsbzj2s6nz92b1s2p0dmvwk8xiqpy58j7ljzw186grvjr3cq";
+    url = http://www.uclibc.org/downloads/snapshots/uClibc-20150131.tar.bz2;
+    sha256 = "14svyxw4nizdcz4vqk9nizlgy32d8ngpvcca34jjbdjjg77xdvkc";
   };
 
   # 'ftw' needed to build acl, a coreutils dependency
@@ -80,6 +83,8 @@ stdenv.mkDerivation {
 
   buildInputs = stdenv.lib.optional (gccCross != null) gccCross;
 
+  enableParallelBuilding = true;
+
   installPhase = ''
     mkdir -p $out
     make PREFIX=$out VERBOSE=1 install ${crossMakeFlag}
@@ -90,9 +95,9 @@ stdenv.mkDerivation {
 
   passthru = {
     # Derivations may check for the existance of this attribute, to know what to link to.
-    inherit libiconv;
+    libiconv = libiconvReal;
   };
-  
+
   meta = {
     homepage = http://www.uclibc.org/;
     description = "A small implementation of the C library";
diff --git a/pkgs/os-specific/linux/udisks-glue/default.nix b/pkgs/os-specific/linux/udisks-glue/default.nix
index 9f99d5e9f20..2dfc8f1b520 100644
--- a/pkgs/os-specific/linux/udisks-glue/default.nix
+++ b/pkgs/os-specific/linux/udisks-glue/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
     description = "A tool to associate udisks events to user-defined actions";
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [pSub];
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix
index 09731d54ab7..b3df300e519 100644
--- a/pkgs/os-specific/linux/udisks/1-default.nix
+++ b/pkgs/os-specific/linux/udisks/1-default.nix
@@ -3,14 +3,19 @@
 , libxslt, docbook_xsl, utillinux }:
 
 stdenv.mkDerivation rec {
-  name = "udisks-1.0.4";
+  name = "udisks-1.0.5";
 
   src = fetchurl {
     url = "http://hal.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5";
+    sha256 = "0wbg3jrv8limdgvcygf4dqin3y6d30y9pcmmk711vq571vmq5v7j";
   };
 
-  patches = [ ./purity.patch ./no-pci-db.patch ./cve-2014-0004.patch ];
+  patches = [ ./purity.patch ./no-pci-db.patch ];
+
+  preConfigure =
+    ''
+      configureFlagsArray+=(--with-systemdsystemunitdir=$out/lib/systemd/system)
+    '';
 
   postPatch =
     ''
@@ -18,7 +23,7 @@ stdenv.mkDerivation rec {
 
       substituteInPlace src/main.c --replace \
         "/sbin:/bin:/usr/sbin:/usr/bin" \
-        "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/sbin"
+        "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/bin"
     '';
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index 6c9b743fe17..2dc99504c58 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, intltool
-, expat, acl, udev, glib, libatasmart, polkit
+, expat, acl, systemd, glib, libatasmart, polkit
 , libxslt, docbook_xsl, utillinux, mdadm
 }:
 
 stdenv.mkDerivation rec {
-  name = "udisks-2.1.3";
+  name = "udisks-2.1.4";
 
   src = fetchurl {
     url = "http://udisks.freedesktop.org/releases/${name}.tar.bz2";
-    sha256 = "0bb3403pa23j317b7z9ikdigr6ll5cl93l4hiy4afjgfa7b2zjaw";
+    sha256 = "1fqrwmdyn5vc5r7wixh2f013ca1qf3kwy4ia8mh9282a7bfliqd4";
   };
 
   patches = [ ./force-path.patch ];
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
     ''
       substituteInPlace src/main.c --replace \
         "@path@" \
-        "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/sbin"
+        "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/bin"
     '';
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
-  propagatedBuildInputs = [ expat acl udev glib libatasmart polkit ]; # in closure anyway
+  propagatedBuildInputs = [ expat acl systemd glib libatasmart polkit ]; # in closure anyway
 
   buildInputs = [ libxslt docbook_xsl ];
 
diff --git a/pkgs/os-specific/linux/upower/0.99.nix b/pkgs/os-specific/linux/upower/0.99.nix
index c42fea16d35..58133db9023 100644
--- a/pkgs/os-specific/linux/upower/0.99.nix
+++ b/pkgs/os-specific/linux/upower/0.99.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit
+{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools
 , intltool, libxslt, docbook_xsl, udev, libusb1, pmutils
 , useSystemd ? true, systemd, gobjectIntrospection
 }:
@@ -6,15 +6,15 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "upower-0.99.0";
+  name = "upower-0.99.2";
 
   src = fetchurl {
     url = "http://upower.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "189rd8j5czy4fs7imxvr38icjh9vlgdz6ki2h08v530h96clndaz";
+    sha256 = "0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79";
   };
 
   buildInputs =
-    [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 gobjectIntrospection ]
+    [ dbus_glib intltool libxslt docbook_xsl udev libusb1 gobjectIntrospection ]
     ++ stdenv.lib.optional useSystemd systemd;
 
   nativeBuildInputs = [ pkgconfig ];
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional useSystemd
     [ "--enable-systemd"
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
+      "--with-systemdutildir=$(out)/lib/systemd"
       "--with-udevrulesdir=$(out)/lib/udev/rules.d"
     ];
 
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 605d3d7adc5..90914284773 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional useSystemd
     [ "--enable-systemd"
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
+      "--with-systemdutildir=$(out)/lib/systemd"
       "--with-udevrulesdir=$(out)/lib/udev/rules.d"
     ];
 
diff --git a/pkgs/os-specific/linux/upstart/default.nix b/pkgs/os-specific/linux/upstart/default.nix
index 6ad255caef4..1b3366f86f8 100644
--- a/pkgs/os-specific/linux/upstart/default.nix
+++ b/pkgs/os-specific/linux/upstart/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   
   src = fetchurl {
     url = "http://upstart.ubuntu.com/download/${version}/${name}.tar.gz";
-    md5 = "870920a75f8c13f3a3af4c35916805ac";
+    sha256 = "01w4ab6nlisz5blb0an1sxjkndwikr7sjp0cmz4lg00g3n7gahmx";
   };
 
   buildInputs = [ pkgconfig dbus libnih ];
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index aff730e387a..710a01ed03d 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -1,36 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, libusb1 }:
-
-let
-
-  # Obtained from http://www.linux-usb.org/usb.ids.bz2.
-  usbids = fetchurl {
-    url = http://tarballs.nixos.org/usb.ids.20130821.bz2;
-    sha256 = "0x7mf4h5h5wjzhygfr4lc8yz0cwm7mahxrnp5nkxcmawmyxwsg53";
-  };
-
-in
+{ stdenv, fetchurl, pkgconfig, libusb1, hwdata }:
 
 stdenv.mkDerivation rec {
-  name = "usbutils-007";
+  name = "usbutils-008";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/usb/usbutils/${name}.tar.xz";
-    sha256 = "197gpbxnspy6ncqv5mziaikcfqgb3irbqqlfwjgzvh5v4hbs14vm";
+    sha256 = "132clk14j4nm8crln2jymdbbc2vhzar2j2hnxyh05m79pbq1lx24";
   };
 
   buildInputs = [ pkgconfig libusb1 ];
 
-  preBuild = "bunzip2 < ${usbids} > usb.ids";
-
   postInstall =
     ''
       rm $out/sbin/update-usbids.sh
       substituteInPlace $out/bin/lsusb.py \
-        --replace /usr/share/usb.ids $out/share/usb.ids
+        --replace /usr/share/usb.ids ${hwdata}/data/hwdata/usb.ids
     '';
 
   meta = {
     homepage = http://www.linux-usb.org/;
     description = "Tools for working with USB devices, such as lsusb";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/usermount/default.nix b/pkgs/os-specific/linux/usermount/default.nix
index 9bf8692d1ce..6f96445ef5e 100644
--- a/pkgs/os-specific/linux/usermount/default.nix
+++ b/pkgs/os-specific/linux/usermount/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = https://github.com/tom5760/usermount;
-    description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus.";
+    description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 7b4ac6d04d4..c4ccd6d37f8 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,15 +1,26 @@
 { stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }:
 
 stdenv.mkDerivation rec {
-  name = "util-linux-2.25";
+  name = "util-linux-2.26.1";
 
   src = fetchurl {
-    url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.25/${name}.tar.xz";
-    sha256 = "02lqww6ck4p47wzc883zdjb1gnwm59hsay4hd5i55mfdv25mmfj7";
+    url = "mirror://kernel/linux/utils/util-linux/v2.26/${name}.tar.xz";
+    sha256 = "0vmvk5khfwf71xbsnplvmk9ikwnlbhysc96mnkgwpqk2faairp12";
   };
 
+  patches = [ ./rtcwake-search-PATH-for-shutdown.patch
+            ];
   outputs = [ "dev" "out" "bin" ]; # ToDo: problems with e2fsprogs
 
+
+  #FIXME: make it also work on non-nixos?
+  postPatch = ''
+    # Substituting store paths would create a circular dependency on systemd
+    substituteInPlace include/pathnames.h \
+      --replace "/bin/login" "/run/current-system/sw/bin/login" \
+      --replace "/sbin/shutdown" "/run/current-system/sw/bin/shutdown"
+  '';
+
   crossAttrs = {
     # Work around use of `AC_RUN_IFELSE'.
     preConfigure = "export scanf_cv_type_modifier=ms";
@@ -23,9 +34,8 @@ stdenv.mkDerivation rec {
     --enable-write
     --enable-last
     --enable-mesg
-    --enable-ddate
     --disable-use-tty-group
-    --enable-fs-paths-default=/var/setuid-wrappers:/var/run/current-system/sw/sbin:/sbin
+    --enable-fs-paths-default=/var/setuid-wrappers:/var/run/current-system/sw/bin:/sbin
     ${if ncurses == null then "--without-ncurses" else ""}
   '';
 
@@ -47,7 +57,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.kernel.org/pub/linux/utils/util-linux/;
     description = "A set of system utilities for Linux";
     license = licenses.gpl2; # also contains parts under more permissive licenses
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch b/pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch
new file mode 100644
index 00000000000..92cb07d4383
--- /dev/null
+++ b/pkgs/os-specific/linux/util-linux/rtcwake-search-PATH-for-shutdown.patch
@@ -0,0 +1,30 @@
+Search $PATH for the shutdown binary instead of hard-coding /sbin/shutdown,
+which isn't valid on NixOS (and a compatibility link on most other modern
+distros anyway).
+
+  -- nckx <tobias.geerinckx.rice@gmail.com>
+
+diff -Naur a/include/pathnames.h b/include/pathnames.h
+--- a/include/pathnames.h	2014-09-16 14:37:06.138551680 +0200
++++ b/include/pathnames.h	2015-01-01 20:41:02.510948314 +0100
+@@ -43,7 +43,7 @@
+ #define _PATH_INITTAB		"/etc/inittab"
+ #define _PATH_RC		"/etc/rc"
+ #define _PATH_REBOOT		"/sbin/reboot"
+-#define _PATH_SHUTDOWN		"/sbin/shutdown"
++#define _PATH_SHUTDOWN		"shutdown"
+ #define _PATH_SINGLE		"/etc/singleboot"
+ #define _PATH_SHUTDOWN_CONF	"/etc/shutdown.conf"
+ 
+diff -Naur a/sys-utils/rtcwake.c b/sys-utils/rtcwake.c
+--- a/sys-utils/rtcwake.c	2014-10-24 11:21:20.447389309 +0200
++++ b/sys-utils/rtcwake.c	2015-01-01 20:57:59.398911209 +0100
+@@ -582,7 +582,7 @@
+ 		arg[i]   = NULL;
+ 
+ 		if (!dryrun) {
+-			execv(arg[0], arg);
++			execvp(arg[0], arg);
+ 
+ 			warn(_("failed to execute %s"), _PATH_SHUTDOWN);
+ 			rc = EXIT_FAILURE;
diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix
index c220d2d2dd0..1a27ae8f571 100644
--- a/pkgs/os-specific/linux/v4l-utils/default.nix
+++ b/pkgs/os-specific/linux/v4l-utils/default.nix
@@ -1,26 +1,57 @@
-{stdenv, fetchurl, which, libjpeg
-, withQt4 ? false, qt4 ? null}:
+{ stdenv, fetchurl, pkgconfig
+, libjpeg
+, alsaLib ? null
+, libX11 ? null
+, qt4 ? null # The default is set to qt4 in all-packages.nix
+, qt5 ? null
+}:
 
-assert withQt4 -> qt4 != null;
+# See libv4l in all-packages.nix for the libs only (overrides alsa, libX11 & QT)
+
+assert qt4 != null -> qt5 == null;
+assert qt5 != null -> qt4 == null;
+
+let
+  inherit (stdenv.lib) optional;
+in
 
 stdenv.mkDerivation rec {
-  name = "v4l-utils-1.0.0";
+  name = "v4l-utils-1.6.2";
 
   src = fetchurl {
     url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2";
-    sha256 = "0c2z500ijxr1ldzb4snasfpwi2icp04f8pk7akiqjkp0k4h8iqqx";
+    sha256 = "0zdyjrja2mkqlijpdb4gz1vw0g7pslswmgqqsgri3yq408gypmnk";
   };
 
-  buildInputs = [ which ];
-  propagatedBuildInputs = [ libjpeg ] ++ stdenv.lib.optional withQt4 qt4;
+  configureFlags = [
+    "--enable-libv4l"
+  ] ++ (if (alsaLib != null && libX11 != null && (qt4 != null || qt5 != null)) then [
+    "--with-udevdir=\${out}/lib/udev"
+    "--enable-v4l-utils"
+    "--enable-qv4l2"
+  ] else [
+    "--without-libudev"
+    "--without-udevdir"
+    "--disable-v4l-utils"
+    "--disable-qv4l2"
+  ]);
+
+  postInstall = ''
+    # Create symlink for V4l1 compatibility
+    ln -s $out/include/libv4l1-videodev.h $out/include/videodev.h
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
 
-  preConfigure = ''configureFlags="--with-udevdir=$out/lib/udev"'';
+  buildInputs = [ alsaLib libX11 qt4 qt5 ];
+  
+  propagatedBuildInputs = [ libjpeg ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "V4L utils and libv4l, provide common image formats regardless of the v4l device";
     homepage = http://linuxtv.org/projects.php;
-    description = "V4L utils and libv4l, that provides common image formats regardless of the v4l device";
-    license = "free"; # The libs are of LGPLv2.1+, some other pieces are GPL.
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ codyopel viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix
index 5b88d4c7556..127341412ab 100644
--- a/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
     sed -i '/depmod/d' Makefile
     export PATH=${kmod}/sbin:$PATH
   '';
+
+  patches = [ ./kernel-3.18-fix.patch ];
   
   buildInputs = [ kmod ];
   
diff --git a/pkgs/os-specific/linux/v4l2loopback/kernel-3.18-fix.patch b/pkgs/os-specific/linux/v4l2loopback/kernel-3.18-fix.patch
new file mode 100644
index 00000000000..9f6dc57f322
--- /dev/null
+++ b/pkgs/os-specific/linux/v4l2loopback/kernel-3.18-fix.patch
@@ -0,0 +1,31 @@
+From 21195cd6d1ff767a271359dfa7d201078f766611 Mon Sep 17 00:00:00 2001
+From: tatokis <tasos@tasossah.com>
+Date: Mon, 24 Nov 2014 16:28:33 +0200
+Subject: [PATCH] Updated v4l2loopback.c to compile on >= 3.18 kernel
+
+---
+ v4l2loopback.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/v4l2loopback.c b/v4l2loopback.c
+index bb228bb..67f6ed4 100644
+--- a/v4l2loopback.c
++++ b/v4l2loopback.c
+@@ -498,10 +498,15 @@ static ssize_t attr_store_maxopeners(struct device *cd,
+ {
+ 	struct v4l2_loopback_device *dev = NULL;
+ 	unsigned long curr = 0;
+-
++	
++	#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)
++	if (kstrtoul(buf, 0, &curr))
++		return -EINVAL;
++	#else
+ 	if (strict_strtoul(buf, 0, &curr))
+ 		return -EINVAL;
+-
++	#endif
++	
+ 	dev = v4l2loopback_cd2dev(cd);
+ 
+ 	if (dev->max_openers == curr)
diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix
index 2ad3087d6a1..f7e0c5ca5e2 100644
--- a/pkgs/os-specific/linux/v86d/default.nix
+++ b/pkgs/os-specific/linux/v86d/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A userspace helper that runs x86 code in an emulated environment";
     homepage = http://dev.gentoo.org/~spock/projects/uvesafb/;
-    license = "BSD";
+    license = stdenv.lib.licenses.gpl2;
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 937f65089e9..988242e3c42 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -5,13 +5,13 @@
 assert readlineSupport -> readline != null;
 
 stdenv.mkDerivation rec {
-  version = "2.2";
+  version = "2.3";
 
   name = "wpa_supplicant-${version}";
 
   src = fetchurl {
     url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
-    sha256 = "1vf8jc4yyksbxf86narvsli3vxfbm8nbnim2mdp66nd6d3yvin70";
+    sha256 = "0skvkl6c10ls4s48b2wmf47h9j1y40nlzxnzn8hyaw2j0prmpapa";
   };
 
   extraConfig =
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     echo "$extraConfig" >> .config
     cat .config
     substituteInPlace Makefile --replace /usr/local $out
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo "${libnl}"/include/libnl*/)"
   '';
 
   buildInputs = [ openssl dbus_libs libnl ]
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  patches = [ ./libnl.patch ];
+  patches = [];
 
   postInstall = ''
     mkdir -p $out/share/man/man5 $out/share/man/man8
diff --git a/pkgs/os-specific/linux/wpa_supplicant/libnl.patch b/pkgs/os-specific/linux/wpa_supplicant/libnl.patch
deleted file mode 100644
index 477f8dd55f6..00000000000
--- a/pkgs/os-specific/linux/wpa_supplicant/libnl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo wpa_supplicant-1.0-rc2/src/drivers/drivers.mak
---- wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo	2012-03-02 16:11:43.176448714 -0600
-+++ wpa_supplicant-1.0-rc2/src/drivers/drivers.mak	2012-03-02 16:12:29.759866341 -0600
-@@ -48,7 +48,7 @@ NEED_RFKILL=y
- ifdef CONFIG_LIBNL32
-   DRV_LIBS += -lnl-3
-   DRV_LIBS += -lnl-genl-3
--  DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
-+  DRV_CFLAGS += -DCONFIG_LIBNL20 `pkg-config --cflags libnl-3.0`
- else
-   ifdef CONFIG_LIBNL_TINY
-     DRV_LIBS += -lnl-tiny
-
diff --git a/pkgs/os-specific/linux/x86info/default.nix b/pkgs/os-specific/linux/x86info/default.nix
index eaec63f98bf..54bd33cc92f 100644
--- a/pkgs/os-specific/linux/x86info/default.nix
+++ b/pkgs/os-specific/linux/x86info/default.nix
@@ -9,7 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "0a4lzka46nabpsrg3n7akwr46q38f96zfszd73xcback1s2hjc7y";
   };
 
-  preConfigure = "patchShebangs .";
+  preConfigure = ''
+    patchShebangs .
+
+    # ignore warnings
+    sed -i 's/-Werror -Wall//' Makefile
+  '';
 
   buildInputs = [ pciutils python ];
 
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 962aca77753..5242aabe507 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.25.99.1";
+  name = "xf86-input-wacom-0.28.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "0vjl4m1w6j5j9yr2kw6f66n723ghq5jwxivbdjmacjw6r3ml4l9r";
+    sha256 = "0fr4ssdam8nxkahznqril8q2pbakb4r9ghhg61yl7997yy7006bw";
   };
 
   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 0242c586cea..06aca23369e 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,53 +1,14 @@
-{ stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
+{ callPackage, fetchFromGitHub, ... } @ args:
 
-stdenv.mkDerivation {
-  name = "zfs-0.6.3-${kernel.version}";
+callPackage ./generic.nix (args // rec {
+  version = "0.6.4";
 
-  src = fetchurl {
-    url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.3.tar.gz;
-    sha256 = "06rrip9fxn13x6qnyp6br68r9pcygb95lld25hnnj88m2vagvg19";
+  src = fetchFromGitHub {
+    owner = "zfsonlinux";
+    repo = "zfs";
+    rev = "zfs-${version}";
+    sha256 = "0xlj2w6gadip3rr3f1lri1n93lkjpzyksnk01sbl5wsrbkry3xjq";
   };
 
-  patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ];
-
-  buildInputs = [ spl perl autoconf automake libtool zlib libuuid coreutils ];
-
-  # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
-  NIX_CFLAGS_LINK = "-lgcc_s";
-
-  preConfigure = ''
-    ./autogen.sh
-
-    substituteInPlace ./module/zfs/zfs_ctldir.c    --replace "umount -t zfs"     "${utillinux}/bin/umount -t zfs"
-    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 ./udev/rules.d/*             --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id"
-    substituteInPlace ./cmd/ztest/ztest.c          --replace "/usr/sbin/ztest"   "$out/sbin/ztest"
-    substituteInPlace ./cmd/ztest/ztest.c          --replace "/usr/sbin/zdb"     "$out/sbin/zdb"
-  '';
-
-  configureFlags = [
-    "--disable-systemd"
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-    "--with-spl=${spl}/libexec/spl"
-    "--with-dracutdir=$(out)/lib/dracut"
-    "--with-udevdir=$(out)/lib/udev"
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "ZFS Filesystem Linux Kernel module";
-    longDescription = ''
-      ZFS is a filesystem that combines a logical volume manager with a
-      Copy-On-Write filesystem with data integrity detection and repair,
-      snapshotting, cloning, block devices, deduplication, and more. 
-      '';
-    homepage = http://zfsonlinux.org/;
-    license = stdenv.lib.licenses.cddl;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ];
-  };
-}
+  patches = [ ./nix-build.patch ];
+})
diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix
new file mode 100644
index 00000000000..ba3884a5e9b
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/generic.nix
@@ -0,0 +1,94 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, utillinux
+, configFile ? "all"
+
+# Userspace dependencies
+, zlib, libuuid, python
+
+# Kernel dependencies
+, kernel ? null, spl ? null
+
+# Version specific settings
+, version, src, patches
+, ...
+}:
+
+with stdenv.lib;
+let
+  buildKernel = any (n: n == configFile) [ "kernel" "all" ];
+  buildUser = any (n: n == configFile) [ "user" "all" ];
+in
+
+assert any (n: n == configFile) [ "kernel" "user" "all" ];
+assert buildKernel -> kernel != null && spl != null;
+
+stdenv.mkDerivation rec {
+  name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
+
+  inherit version src patches;
+
+  buildInputs = [ autoconf automake libtool ]
+    ++ optionals buildKernel [ spl ]
+    ++ optionals buildUser [ zlib libuuid python ];
+
+  # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
+  NIX_CFLAGS_LINK = "-lgcc_s";
+
+  preConfigure = ''
+    substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "umount -t zfs"           "${utillinux}/bin/umount -t zfs"
+    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 ./udev/rules.d/*            --replace "/lib/udev/vdev_id"       "$out/lib/udev/vdev_id"
+    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"
+    substituteInPlace ./config/zfs-build.m4       --replace "\$sysconfdir/init.d"     "$out/etc/init.d"
+    substituteInPlace ./etc/zfs/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
+    substituteInPlace ./cmd/zed/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
+    substituteInPlace ./module/Makefile.in        --replace "/bin/cp"                 "cp"
+
+    ./autogen.sh
+  '';
+
+  configureFlags = [
+    "--with-config=${configFile}"
+  ] ++ optionals buildUser [
+    "--with-dracutdir=$(out)/lib/dracut"
+    "--with-udevdir=$(out)/lib/udev"
+    "--with-systemdunitdir=$(out)/etc/systemd/system"
+    "--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--enable-systemd"
+  ] ++ optionals buildKernel [
+    "--with-spl=${spl}/libexec/spl"
+    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  enableParallelBuilding = true;
+
+  # Remove provided services as they are buggy
+  postInstall = optionalString buildUser ''
+    rm $out/etc/systemd/system/zfs-import-*.service
+
+    sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/*
+
+    for i in $out/etc/systemd/system/*; do
+      substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target"
+    done
+  '';
+
+  meta = {
+    description = "ZFS Filesystem Linux Kernel module";
+    longDescription = ''
+      ZFS is a filesystem that combines a logical volume manager with a
+      Copy-On-Write filesystem with data integrity detection and repair,
+      snapshotting, cloning, block devices, deduplication, and more.
+      '';
+    homepage = http://zfsonlinux.org/;
+    license = licenses.cddl;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jcumming wizeman wkennington ];
+  };
+}
diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix
index e88cb9d6130..a7d312c4041 100644
--- a/pkgs/os-specific/linux/zfs/git.nix
+++ b/pkgs/os-specific/linux/zfs/git.nix
@@ -1,54 +1,15 @@
-{ stdenv, fetchgit, kernel, spl_git, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
+{ callPackage, stdenv, fetchgit, spl_git, ... } @ args:
 
-stdenv.mkDerivation {
-  name = "zfs-0.6.3-${kernel.version}";
+callPackage ./generic.nix (args // rec {
+  version = "2015-04-08";
 
   src = fetchgit {
     url = git://github.com/zfsonlinux/zfs.git;
-    rev = "07dabd234dd51a1e5adc5bd21cddf5b5fdc70732";
-    sha256 = "1yqsfdhyzh33aisfvwqd692n5kfgnlz7yjixd2gqn8vx9bv0dz0b";
+    rev = "d07a16360c1ee219b8820f80d035e56a18c58b84";
+    sha256 = "0yyc0n960bzd4fmrg1mwp0xy1db7yn90g33ds44chh4g74mrfgdz";
   };
 
-  patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ];
+  patches = [ ./nix-build.patch ];
 
-  buildInputs = [ spl_git perl autoconf automake libtool zlib libuuid coreutils ];
-
-  # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
-  NIX_CFLAGS_LINK = "-lgcc_s";
-
-  preConfigure = ''
-    ./autogen.sh
-
-    substituteInPlace ./module/zfs/zfs_ctldir.c    --replace "umount -t zfs"     "${utillinux}/bin/umount -t zfs"
-    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 ./udev/rules.d/*             --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id"
-    substituteInPlace ./cmd/ztest/ztest.c          --replace "/usr/sbin/ztest"   "$out/sbin/ztest"
-    substituteInPlace ./cmd/ztest/ztest.c          --replace "/usr/sbin/zdb"     "$out/sbin/zdb"
-  '';
-
-  configureFlags = [
-    "--disable-systemd"
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-    "--with-spl=${spl_git}/libexec/spl"
-    "--with-dracutdir=$(out)/lib/dracut"
-    "--with-udevdir=$(out)/lib/udev"
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "ZFS Filesystem Linux Kernel module";
-    longDescription = ''
-      ZFS is a filesystem that combines a logical volume manager with a
-      Copy-On-Write filesystem with data integrity detection and repair,
-      snapshotting, cloning, block devices, deduplication, and more.
-      '';
-    homepage = http://zfsonlinux.org/;
-    license = stdenv.lib.licenses.cddl;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ wizeman ];
-  };
-}
+  spl = spl_git;
+})
diff --git a/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch b/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch
deleted file mode 100644
index 49ad88fc3a4..00000000000
--- a/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -crN '--exclude=.git' zfs-0.60-rc11/cmd/mount_zfs/Makefile.am zfs/cmd/mount_zfs/Makefile.am
-*** zfs-0.60-rc11/cmd/mount_zfs/Makefile.am 2012-10-22 10:26:07.066205000 -0700
---- zfs/cmd/mount_zfs/Makefile.am 2012-10-22 11:16:21.859286000 -0700
-***************
-*** 7,14 ****
-  #
-  # Ignore the prefix for the mount helper.  It must be installed in /sbin/
-  # because this path is hardcoded in the mount(8) for security reasons.
-  #
-- sbindir=/sbin
-  sbin_PROGRAMS = mount.zfs
-
-  mount_zfs_SOURCES = \
---- 7,16 ----
-  #
-  # Ignore the prefix for the mount helper.  It must be installed in /sbin/
-  # because this path is hardcoded in the mount(8) for security reasons.
-+ #
-+ # ... except on nixos, where it really is /var/run/current-system/sw/sbin,
-+ # which is where this will end up if we put it in ${out}/sbin.
-  #
-  sbin_PROGRAMS = mount.zfs
-
-  mount_zfs_SOURCES = \
diff --git a/pkgs/os-specific/linux/zfs/nix-build.patch b/pkgs/os-specific/linux/zfs/nix-build.patch
index af4b94e355d..ae8e82f703a 100644
--- a/pkgs/os-specific/linux/zfs/nix-build.patch
+++ b/pkgs/os-specific/linux/zfs/nix-build.patch
@@ -1,214 +1,133 @@
-diff -rc zfs-0.6.1.orig/include/linux/Makefile.am zfs-0.6.1/include/linux/Makefile.am
-*** zfs-0.6.1.orig/include/linux/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/linux/Makefile.am	2013-03-28 11:07:10.099129000 -0700
-***************
-*** 16,21 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/linux
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 16,21 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/linux
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/Makefile.am zfs-0.6.1/include/Makefile.am
-*** zfs-0.6.1.orig/include/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/Makefile.am	2013-03-28 11:07:38.810870000 -0700
-***************
-*** 28,33 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 28,33 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/fm/fs/Makefile.am zfs-0.6.1/include/sys/fm/fs/Makefile.am
-*** zfs-0.6.1.orig/include/sys/fm/fs/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/fm/fs/Makefile.am	2013-03-28 11:07:36.074756000 -0700
-***************
-*** 13,18 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fm/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 13,18 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys/fm/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/fm/Makefile.am zfs-0.6.1/include/sys/fm/Makefile.am
-*** zfs-0.6.1.orig/include/sys/fm/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/fm/Makefile.am	2013-03-28 11:07:32.265896000 -0700
-***************
-*** 16,21 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fm
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 16,21 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys/fm
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/fs/Makefile.am zfs-0.6.1/include/sys/fs/Makefile.am
-*** zfs-0.6.1.orig/include/sys/fs/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/fs/Makefile.am	2013-03-28 11:07:27.592339000 -0700
-***************
-*** 13,18 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 13,18 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/Makefile.am zfs-0.6.1/include/sys/Makefile.am
-*** zfs-0.6.1.orig/include/sys/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/Makefile.am	2013-03-28 11:07:19.045717000 -0700
-***************
-*** 91,96 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 91,96 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/Makefile.am zfs-0.6.1/Makefile.am
-*** zfs-0.6.1.orig/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/Makefile.am	2013-04-05 23:49:39.763623000 -0700
-***************
-*** 9,18 ****
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = /usr/src/zfs-$(VERSION)
-  extra_HEADERS = zfs.release.in zfs_config.h.in
-  
-! kerneldir = /usr/src/zfs-$(VERSION)/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
---- 9,18 ----
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = @prefix@/libexec/zfs-$(VERSION)
-  extra_HEADERS = zfs.release.in zfs_config.h.in
-  
-! kerneldir = @prefix@/zfs-$(VERSION)/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
-diff -rc zfs-0.6.1.orig/module/Makefile.in zfs-0.6.1/module/Makefile.in
-*** zfs-0.6.1.orig/module/Makefile.in	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/module/Makefile.in	2013-04-05 23:50:41.497876000 -0700
-***************
-*** 18,26 ****
-  	@# installed devel headers, or they may be in the module
-  	@# subdirectory when building against the spl source tree.
-  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
-! 		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
-  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
-! 		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
-  	else \
-  		echo -e "\n" \
-  		"*** Missing spl symbols ensure you have built the spl:\n" \
---- 18,26 ----
-  	@# installed devel headers, or they may be in the module
-  	@# subdirectory when building against the spl source tree.
-  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
-! 		cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
-  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
-! 		cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
-  	else \
-  		echo -e "\n" \
-  		"*** Missing spl symbols ensure you have built the spl:\n" \
-***************
-*** 28,33 ****
---- 28,35 ----
-  		"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
-  		exit 1; \
-  	fi
-+ 	@# when copying a file out of the nix store, we need to make it writable again. 
-+ 	chmod +w @SPL_SYMBOLS@
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
-  
-  clean:
-***************
-*** 42,62 ****
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
---- 44,64 ----
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
+diff --git a/Makefile.am b/Makefile.am
+index 49b417a..f4af44d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -12,10 +12,10 @@ endif
+ if CONFIG_KERNEL
+ SUBDIRS += module
+ 
+-extradir = @prefix@/src/zfs-$(VERSION)
++extradir = @prefix@/libexec/zfs-$(VERSION)
+ extra_HEADERS = zfs.release.in zfs_config.h.in
+ 
+-kerneldir = @prefix@/src/zfs-$(VERSION)/$(LINUX_VERSION)
++kerneldir = @prefix@/zfs-$(VERSION)/$(LINUX_VERSION)
+ nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
+ endif
+ 
+diff --git a/include/Makefile.am b/include/Makefile.am
+index a94cad5..a160fe2 100644
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -29,6 +29,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include
++kerneldir = @prefix@/include
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
+index d00b1c8..3242d2e 100644
+--- a/include/linux/Makefile.am
++++ b/include/linux/Makefile.am
+@@ -17,6 +17,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/linux
++kerneldir = @prefix@/include/linux
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
+index 7ddace0..8da3870 100644
+--- a/include/sys/Makefile.am
++++ b/include/sys/Makefile.am
+@@ -102,6 +102,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys
++kerneldir = @prefix@/include/sys
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
+index 8bca5d8..a5eafcd 100644
+--- a/include/sys/fm/Makefile.am
++++ b/include/sys/fm/Makefile.am
+@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm
++kerneldir = @prefix@/include/sys/fm
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fm/fs/Makefile.am b/include/sys/fm/fs/Makefile.am
+index fdc9eb5..807c47c 100644
+--- a/include/sys/fm/fs/Makefile.am
++++ b/include/sys/fm/fs/Makefile.am
+@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm/fs
++kerneldir = @prefix@/include/sys/fm/fs
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
+index 0859b9f..b0c6eec 100644
+--- a/include/sys/fs/Makefile.am
++++ b/include/sys/fs/Makefile.am
+@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fs
++kerneldir = @prefix@/include/sys/fs
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/module/Makefile.in b/module/Makefile.in
+index 686402b..9cbf598 100644
+--- a/module/Makefile.in
++++ b/module/Makefile.in
+@@ -18,9 +18,9 @@ modules:
+ 	@# installed devel headers, or they may be in the module
+ 	@# subdirectory when building against the spl source tree.
+ 	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+-		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
++		cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+ 	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+-		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
++		cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+ 	else \
+ 		echo -e "\n" \
+ 		"*** Missing spl symbols ensure you have built the spl:\n" \
+@@ -28,6 +28,8 @@ modules:
+ 		"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
+ 		exit 1; \
+ 	fi
++	@# when copying a file out of the nix store, we need to make it writable again. 
++	chmod +w @SPL_SYMBOLS@
+ 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
+ 
+ clean:
+@@ -42,15 +44,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@; \
++	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
+ 	if [ -n $$kmoddir ]; 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/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index b5f9195abbd..31eae0c2b6a 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
 
-  version = "3.3.5";
+  version = "3.4.3";
 
   src = fetchurl {
     url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.gz";
-    sha256 = "1hkhkpv2f0nzvw09zfrqg89mphdpn4nwvzrlqnhqf82bd2pzhsvs";
+    sha256 = "1mdma4bh6196ix9vhsigb3yav8l5gy2x78nsqxychm4hz5l2vjx6";
   };
 
   buildInputs =
diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
new file mode 100755
index 00000000000..f3d0a43c4cf
--- /dev/null
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, jre, makeWrapper, bash }:
+
+let
+  kafkaVersion = "0.8.2.1";
+  scalaVersion = "2.10";
+
+in
+
+stdenv.mkDerivation rec {
+  version = "${scalaVersion}-${kafkaVersion}";
+  name = "apache-kafka-${version}";
+
+  src = fetchurl {
+    url = "mirror://apache/kafka/${kafkaVersion}/kafka_${version}.tgz";
+    sha256 = "1klri23fjxbzv7rmi05vcqqfpy7dzi1spn2084y1dxsi1ypfkvc9";
+  };
+
+  buildInputs = [ jre makeWrapper bash ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R config libs $out
+
+    mkdir -p $out/bin
+    cp bin/kafka* $out/bin
+
+    # allow us the specify logging directory using env
+    substituteInPlace $out/bin/kafka-run-class.sh \
+      --replace 'LOG_DIR=$base_dir/logs' 'LOG_DIR=$KAFKA_LOG_DIR'
+
+    for p in $out/bin\/*.sh; do
+      wrapProgram $p \
+        --set JAVA_HOME "${jre}" \
+        --set KAFKA_LOG_DIR "/tmp/apache-kafka-logs" \
+        --prefix PATH : "${bash}/bin"
+    done
+    chmod +x $out/bin\/*
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://kafka.apache.org";
+    description = "A high-throughput distributed messaging system";
+    license = licenses.asl20;
+    maintainers = [ maintainers.ragge ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/servers/beanstalkd/default.nix b/pkgs/servers/beanstalkd/default.nix
index 264e6ff749a..cea7ca0b337 100644
--- a/pkgs/servers/beanstalkd/default.nix
+++ b/pkgs/servers/beanstalkd/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://kr.github.io/beanstalkd/;
-    description = "Beanstalk is a simple, fast work queue.";
+    description = "A simple, fast work queue";
     license = licenses.mit;
     maintainers = [ maintainers.zimbatm ];
     platforms = platforms.all;
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index 585228af2b4..9b17551a8cb 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -1,19 +1,20 @@
 { stdenv, fetchurl, flex, bison, readline }:
 
 stdenv.mkDerivation rec {
-  name = "bird-1.4.0";
+  name = "bird-1.4.5";
 
   src = fetchurl {
     url = "ftp://bird.network.cz/pub/bird/${name}.tar.gz";
-    sha256 = "1ickqvzpnyycq4a0l4d0kvf25pvq2vjayc0whqfv1233nb5426ys";
+    sha256 = "1z4z7zmx3054zxi4q6a7095s267mw8ky628gir2n5xy5ch65yj7z";
   };
 
   buildInputs = [ flex bison readline ];
 
   meta = {
-    description = "";
+    description = "BIRD Internet Routing Daemon";
     homepage = http://bird.network.cz;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
+    platforms  = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/brickd/default.nix b/pkgs/servers/brickd/default.nix
new file mode 100644
index 00000000000..a99c8c5a6f9
--- /dev/null
+++ b/pkgs/servers/brickd/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchgit, libusb, pkgconfig, pmutils, udev} :
+
+let
+
+version = "2.1.1";
+daemonlib = fetchgit {
+    url = "https://github.com/Tinkerforge/daemonlib.git";
+    rev = "refs/tags/brickd-${version}";
+    sha256 = "097kaz7d0rzg0ijvcna3y620k3m5fgxpqsac5gbhah8pd7vlj1a4";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "brickd-${version}";
+
+  src = fetchgit {
+    url = "git://github.com/Tinkerforge/brickd.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "08g587bgx628g5vykh482wxiw0z98fmq4lf5ka6aw0v8l9gim9yf";
+  };
+
+  buildInputs = [ libusb pkgconfig pmutils udev ];
+
+  # shell thing didn't work so i replaced it using nix
+  prePatch = ''
+    substituteInPlace src/brickd/Makefile --replace 'PKG_CONFIG := $(shell which pkg-config 2> /dev/null)' "PKG_CONFIG := $pkgconfig/bin/pkg_config";
+  '';
+
+  buildPhase = ''
+    export
+    # build the brickd binary
+    mkdir src/daemonlib
+    cp -r ${daemonlib}/* src/daemonlib
+    cd src/brickd
+    make
+
+    # build and execute the unit tests
+    cd ../tests
+    make
+    for i in array_test base58_test node_test putenv_test queue_test sha1_test; do
+      echo "running unit test $i:"
+      ./$i
+    done
+  '';
+
+  installPhase = ''
+    cd ../brickd
+    mkdir -p $out/bin
+    cp brickd $out/bin/brickd
+  '';
+
+  meta = {
+    homepage = http://www.tinkerforge.com/;
+    description = "A daemon (or service on Windows) that acts as a bridge between the Bricks/Bricklets and the API bindings for the different programming languages";
+    maintainers = [ stdenv.lib.maintainers.qknight ];
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
new file mode 100644
index 00000000000..a1a1a2ea1f2
--- /dev/null
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, python, munge, perl, pam, openssl, mysql }:
+
+#TODO: add sview support based on gtk2
+
+stdenv.mkDerivation rec {
+  name = "slurm-llnl-${version}";
+  version = "14.11.5";
+
+  src = fetchurl {
+    url = "http://www.schedmd.com/download/latest/slurm-${version}.tar.bz2";
+    sha256 = "0xx1q9ximsyyipl0xbj8r7ajsz4xrxik8xmhcb1z9nv0aza1rff2";
+  };
+
+  buildInputs = [ python munge perl pam openssl mysql.lib ];
+
+  configureFlags = ''
+    --with-munge=${munge}
+    --with-ssl=${openssl}
+  '';
+
+  preConfigure = ''
+    substituteInPlace ./doc/html/shtml2html.py --replace "/usr/bin/env python" "${python.interpreter}"
+    substituteInPlace ./doc/man/man2html.py --replace "/usr/bin/env python" "${python.interpreter}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.schedmd.com/;
+    description = "Simple Linux Utility for Resource Management";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.jagajaga ];
+  };
+}
diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix
index 88837f9bb42..cab91409654 100644
--- a/pkgs/servers/computing/storm/default.nix
+++ b/pkgs/servers/computing/storm/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://storm-project.net";
     description = "Distributed realtime computation system";
-    license = "Eclipse Public License 1.0";
+    license = stdenv.lib.licenses.epl10;
     maintainers = [ lib.maintainers.vizanto ];
   };
 }
diff --git a/pkgs/servers/computing/torque/default.nix b/pkgs/servers/computing/torque/default.nix
new file mode 100644
index 00000000000..d95e929ff82
--- /dev/null
+++ b/pkgs/servers/computing/torque/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux }:
+
+stdenv.mkDerivation rec {
+  name = "torque-4.2.8";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "http://www.adaptivecomputing.com/index.php?wpfb_dl=2730";
+    sha256 = "1sjpvndzm9ccdmfwdf9887ppmapawfsh5qdkzr92kadg5jxp796j";
+  };
+
+  buildInputs = [ openssl flex bison pkgconfig groff libxml2 utillinux ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+   for s in fifo cray_t3e dec_cluster msic_cluster sgi_origin umn_cluster; do
+     substituteInPlace src/scheduler.cc/samples/$s/Makefile.in \
+       --replace "schedprivdir = " "schedprivdir = $out/"
+   done
+
+   for f in $(find ./ -name Makefile.in); do
+     echo patching $f...
+     sed -i $f -e '/PBS_MKDIRS/d'
+   done
+  '';
+
+  postInstall = ''
+    mv $out/sbin/* $out/bin/
+    rmdir $out/sbin
+    cp -v buildutils/pbs_mkdirs $out/bin/
+    cp -v torque.setup $out/bin/
+    chmod +x $out/bin/pbs_mkdirs $out/bin/torque.setup
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.adaptivecomputing.com/products/open-source/torque;
+    description = "Resource management system for submitting and controlling jobs on supercomputers, clusters, and grids";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/consul/Gemfile b/pkgs/servers/consul/Gemfile
new file mode 100644
index 00000000000..77b884c352d
--- /dev/null
+++ b/pkgs/servers/consul/Gemfile
@@ -0,0 +1,6 @@
+# A sample Gemfile
+source "https://rubygems.org"
+
+gem "uglifier"
+gem "sass"
+gem "therubyracer"
diff --git a/pkgs/servers/consul/Gemfile.lock b/pkgs/servers/consul/Gemfile.lock
new file mode 100644
index 00000000000..8ca7428084d
--- /dev/null
+++ b/pkgs/servers/consul/Gemfile.lock
@@ -0,0 +1,22 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    execjs (2.0.2)
+    json (1.8.1)
+    libv8 (3.16.14.3)
+    ref (1.0.5)
+    sass (3.3.6)
+    therubyracer (0.12.1)
+      libv8 (~> 3.16.14.0)
+      ref
+    uglifier (2.5.0)
+      execjs (>= 0.3.0)
+      json (>= 1.8.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  sass
+  therubyracer
+  uglifier
diff --git a/pkgs/servers/consul/alerts.nix b/pkgs/servers/consul/alerts.nix
new file mode 100644
index 00000000000..b3dbb21d5bb
--- /dev/null
+++ b/pkgs/servers/consul/alerts.nix
@@ -0,0 +1,27 @@
+{ lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  name = "consul-alerts-${version}";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "AcalephStorage";
+    repo = "consul-alerts";
+    rev = "v${version}";
+    sha256 = "02rgz68g3i408biq2aqilpqraqirzmba9mh7avdga5bljp427jgn";
+  };
+
+  goPackagePath = "github.com/AcalephStorage/consul-alerts";
+  dontInstallSrc = true;
+  subPackages = [ "./" ];
+
+  meta = with lib; {
+    description = "A simple daemon to send notifications based on Consul health checks";
+    homepage = https://github.com/AcalephStorage/consul-alerts;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 5282541e2f9..b299981bee2 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -1,9 +1,18 @@
-{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub , ruby , nodejs
+, bundlerEnv }:
 
 let
-  version = "0.3.0";
+  version = "0.5.0";
+  # `sass` et al
+  gems = bundlerEnv {
+    name = "consul-deps";
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+  };
 in
 
+with lib;
 stdenv.mkDerivation {
   name = "consul-${version}";
 
@@ -11,22 +20,43 @@ stdenv.mkDerivation {
     inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
   };
 
-  buildInputs = [ go ];
+  buildInputs = [ go ruby gems nodejs ];
 
   buildPhase = ''
+    # Build consul binary
     export GOPATH=$src
     go build -v -o consul github.com/hashicorp/consul
+
+    # Build ui static files
+    ({
+      cp -r src/github.com/hashicorp/consul/ui .
+      cd ui
+      chmod -R u+w .
+      make dist
+    })
   '';
 
+  outputs = [ "out" "ui" ];
+
   installPhase = ''
-    ensureDir $out/bin
+    # Fix references to go-deps in the binary
+    hash=$(echo $src | sed 's,.*/\([^/-]*\).*,\1,g')
+    xs=$(printf 'x%.0s' $(seq 2 $(echo $hash | wc -c)))
+    sed -i "s,$hash,$xs,g" consul
+
+    # Install consul binary
+    mkdir -p $out/bin
     cp consul $out/bin
+
+    # Install ui static files
+    mkdir -p $ui
+    mv ui/dist/* $ui
   '';
 
   meta = with lib; {
     homepage    = http://www.consul.io/;
     description = "A tool for service discovery, monitoring and configuration";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan wkennington ];
     license     = licenses.mpl20 ;
     platforms   = platforms.unix;
   };
diff --git a/pkgs/servers/consul/deps.nix b/pkgs/servers/consul/deps.nix
index c1ebcf80928..ad41dbb70a5 100644
--- a/pkgs/servers/consul/deps.nix
+++ b/pkgs/servers/consul/deps.nix
@@ -3,22 +3,6 @@
 let
   goDeps = [
     {
-      root = "code.google.com/p/go.net";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.net";
-        rev = "134";
-        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
-      };
-    }
-    {
-      root = "code.google.com/p/go.text";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.text";
-        rev = "85";
-        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
-      };
-    }
-    {
       root = "github.com/armon/circbuf";
       src = fetchFromGitHub {
         owner = "armon";
@@ -28,12 +12,30 @@ let
       };
     }
     {
+      root = "github.com/armon/consul-api";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "consul-api";
+        rev = "dcfedd50ed5334f96adee43fc88518a4f095e15c";
+        sha256 = "1k3yl34j4d8y6xxqdm70pjrbdcnp11dbf8i1mp60480xg0cwpb6d";
+      };
+    }
+    {
       root = "github.com/armon/go-metrics";
       src = fetchFromGitHub {
         owner = "armon";
         repo = "go-metrics";
-        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
-        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+        rev = "88b7658f24511c4b885942b26e9ea7a61ee37ebc";
+        sha256 = "18f7nr6khirdmcsy5mic1yggwc189wfiqvms8i7yfcvfns5nq9cc";
+      };
+    }
+    {
+      root = "github.com/armon/go-radix";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "go-radix";
+        rev = "e39d623f12e8e41c7b5529e9a9dd67a1e2261f80";
+        sha256 = "10vhgr35dfbsm90q8aqp82vhdf4izqrx8bzzgn0h3vrx94c2pnq1";
       };
     }
     {
@@ -41,17 +43,17 @@ let
       src = fetchFromGitHub {
         owner = "armon";
         repo = "gomdb";
-        rev = "a8e036c4dabe7437014ecf9dbc03c6f6f0766ef8";
-        sha256 = "0hiw5qkkyfd22v291w7rbnlrb4kraqzbkjfx2dvl7rqchkb0hv68";
+        rev = "151f2e08ef45cb0e57d694b2562f351955dff572";
+        sha256 = "02wdhgfarmmwfbc75snd1dh6p9k9c1y2135apdm6mkr062qlxx61";
       };
     }
     {
-      root = "github.com/armon/mdns";
+      root = "github.com/golang/protobuf";
       src = fetchFromGitHub {
-        owner = "armon";
-        repo = "mdns";
-        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
-        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+        owner = "golang";
+        repo = "protobuf";
+        rev = "c22ae3cf020a21ebb7ae566dccbe90fc8ea4f9ea";
+        sha256 = "1ab605jw0cprq0kbp0b5iyjw805wk08r3p9mvcyland7v4gfqys2";
       };
     }
     {
@@ -59,8 +61,44 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "consul";
-        rev = "441d613e1bd96254c78c46ee7c1b35c161fc7295";
-        sha256 = "1v06ygzsvc9c02yxpxnnm407kd30fc46b2146k5zrk1v8lq0f91j";
+        rev = "a022dfcb32246274adc8fb383882353c056d1da3";
+        sha256 = "1al6bc62c8qygq4yhr8rq9jkx51ijv11816kipphylw73kyyrzg5";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-multierror";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-multierror";
+        rev = "fcdddc395df1ddf4247c69bd436e84cfa0733f7e";
+        sha256 = "1gvrm2bqi425mfg55m01z9gppfd7v4ljz1z8bykmh2sc82fj25jz";
+      };
+    }
+    {
+      root = "github.com/hashicorp/consul-template";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "consul-template";
+        rev = "v0.7.0";
+        sha256 = "0xaym2mi8j3hw1waplhqfypnxv32fi81xxx3clfzk0a6bjmaihfx";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-checkpoint";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-checkpoint";
+        rev = "88326f6851319068e7b34981032128c0b1a6524d";
+        sha256 = "1npasn9lmvx57nw3wkswwvl5k0wmn01jpalbwv832x5wq4r0nsz4";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-msgpack";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
       };
     }
     {
@@ -68,8 +106,26 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "go-syslog";
-        rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c";
-        sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81";
+        rev = "42a2b573b664dbf281bd48c3cc12c086b17a39ba";
+        sha256 = "1j53m2wjyczm9m55znfycdvm4c8vfniqgk93dvzwy8vpj5gm6sb3";
+      };
+    }
+    {
+      root = "github.com/hashicorp/golang-lru";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "golang-lru";
+        rev = "f09f965649501e2ac1b0c310c632a7bebdbdc1d4";
+        sha256 = "0yjnmk2d2x0kqvkg1sdfkl3jr408yl76rpyqzkkbpkvdcjrz554c";
+      };
+    }
+    {
+      root = "github.com/hashicorp/hcl";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "hcl";
+        rev = "513e04c400ee2e81e97f5e011c08fb42c6f69b84";
+        sha256 = "041js0k8bj7qsgr79p207m6r3nkpw7839gq31747618sap6w3g8c";
       };
     }
     {
@@ -77,8 +133,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "logutils";
-        rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8";
-        sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz";
+        rev = "23b0af5510a2d1442103ef83ffcf53eb82f3debc";
+        sha256 = "018bfknmc2qdk0br1ri6dgd45sx308j3qd77sxnzxsyaivw1mm0d";
       };
     }
     {
@@ -86,8 +142,17 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "memberlist";
-        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
-        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+        rev = "3d05e25e06bbb9e2b0e0afbd0b1c7dcebdd29cab";
+        sha256 = "1pjknjfvbs692y6laizgd4fmd4pqn039vvnmnag7q362mrpf5aj4";
+      };
+    }
+    {
+      root = "github.com/hashicorp/net-rpc-msgpackrpc";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "net-rpc-msgpackrpc";
+        rev = "d377902b7aba83dd3895837b902f6cf3f71edcb2";
+        sha256 = "05q8qlf42ygafcp8zdyx7y7kv9vpjrxnp8ak4qcszz9kgl2cg969";
       };
     }
     {
@@ -95,8 +160,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "raft";
-        rev = "8bdafd1e83e7d85ffeb5dc8f0857dbddd61edba5";
-        sha256 = "1yv3v0vhw5hgqqhh20jhyba2lpkkmmj80lfgf7v4vgjb0y3jqy6x";
+        rev = "a88bfa8385bc52c1f25d0fc02d1b55a2708d04ab";
+        sha256 = "02kr7919m6iv7l26wnihalfi4lydz886j6x75a53vgchdcsbv7ai";
       };
     }
     {
@@ -104,8 +169,17 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "raft-mdb";
-        rev = "70e1c88f4b6fb06fc94cc02109243160a443609d";
-        sha256 = "1031yqgb91ch79m41gl8prrymlh4y4k9yklmbv3qvxkfqirdv247";
+        rev = "4ec3694ffbc74d34f7532e70ef2e9c3546a0c0b0";
+        sha256 = "15l4n6zygwn3h118m2945h9jxkryaxxcgy8xij2rxjhzrzpfyj3i";
+      };
+    }
+    {
+      root = "github.com/hashicorp/scada-client";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "scada-client";
+        rev = "c26580cfe35393f6f4bf1b9ba55e6afe33176bae";
+        sha256 = "0s8xg49fa7d2d0vv8pi37f43rjrgkb7w6x6ydkikz1v8ccg05p3b";
       };
     }
     {
@@ -113,8 +187,17 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "serf";
-        rev = "83f220b4faa0614f49649156118b750b5b12fafb";
-        sha256 = "144a4g5yfcjv1jnl3mi4jcwy4cd970h1924cdas2s7bcdx6kpnv4";
+        rev = "f1fd5030d6a55d3edc6916d2ba58e933c21314de";
+        sha256 = "0w84iw255aray7acasacwn8njm36aqbxiyalnjqwfsn0pwfjla0b";
+      };
+    }
+    {
+      root = "github.com/hashicorp/terraform";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "terraform";
+        rev = "v0.3.7";
+        sha256 = "04cs6sjwysg95l5cfsmnpnx3d126bv86qbkg91gj8h98knk5bs6z";
       };
     }
     {
@@ -122,8 +205,8 @@ let
       src = fetchFromGitHub {
         owner = "hashicorp";
         repo = "yamux";
-        rev = "35417c7dfab4085d7c921b33e4d5ea6cf9ceef65";
-        sha256 = "02pk30dgjmp0zz5g3dcll6lf7izmpfh6fw2rp13al7771vaziqyl";
+        rev = "b4f943b3f25da97dec8e26bee1c3269019de070d";
+        sha256 = "18ivpiix006f0g085a11gra8z0n6bq344rrgc5rphn7nmnghqchz";
       };
     }
     {
@@ -136,12 +219,21 @@ let
       };
     }
     {
+      root = "github.com/matttproud/golang_protobuf_extensions";
+      src = fetchFromGitHub {
+        owner = "matttproud";
+        repo = "golang_protobuf_extensions";
+        rev = "ba7d65ac66e9da93a714ca18f6d1bc7a0c09100c";
+        sha256 = "1vz6zj94v90x8mv9h6qfp1211kmzn60ri5qh7p9fzpjkhga5k936";
+      };
+    }
+    {
       root = "github.com/miekg/dns";
       src = fetchFromGitHub {
         owner = "miekg";
         repo = "dns";
-        rev = "05cfaca9f0712f44206ecbfa65a6769434164e7a";
-        sha256 = "1qc12v5yqlsi1mg18i10pvz9g4a5diqzp73q5n4m00gyk41q855j";
+        rev = "6427527bba3ea8fdf2b56fba43d20d1e3e76336d";
+        sha256 = "1zszpn44kak4cs5lmy9i7sslizqngldgb0ixn0la9x9gxf16h9zn";
       };
     }
     {
@@ -149,8 +241,8 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "cli";
-        rev = "975a7477b1507ea6bb888c48108e05d26fb30434";
-        sha256 = "0gxjizg8pf5p3zj04k7cpkwf8l2q9j1j270j2bw0wv2d2pgn6z5l";
+        rev = "e3c2e3d39391e9beb9660ccd6b4bd9a2f38dd8a0";
+        sha256 = "1fwf7wmlhri19bl2yyjd4zlgndgwwqrdry45clpszzjsr8b5wfgm";
       };
     }
     {
@@ -158,69 +250,53 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "mapstructure";
-        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
-        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+        rev = "442e588f213303bec7936deba67901f8fc8f18b1";
+        sha256 = "076svhy5jlnw4jykm3dsrx2dswifajrpr7d09mz9y6g3lg901rqd";
       };
     }
     {
-      root = "github.com/ryanuber/columnize";
+      root = "github.com/prometheus/client_golang";
       src = fetchFromGitHub {
-        owner = "ryanuber";
-        repo = "columnize";
-        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
-        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
+        owner = "prometheus";
+        repo = "client_golang";
+        rev = "0.2.0";
+        sha256 = "0iq2hlmdazwmpjq2k9gvpv2zprzxzmyzsc89c2kalrwl52ksg250";
       };
     }
     {
-      root = "github.com/ugorji/go";
+      root = "github.com/prometheus/client_model";
       src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go";
-        rev = "71c2886f5a673a35f909803f38ece5810165097b";
-        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+        owner = "prometheus";
+        repo = "client_model";
+        rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
+        sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
       };
     }
     {
-      root = "github.com/ugorji/go-msgpack";
+      root = "github.com/prometheus/procfs";
       src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go-msgpack";
-        rev = "75092644046c5e38257395b86ed26c702dc95b92";
-        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+        owner = "prometheus";
+        repo = "procfs";
+        rev = "6c34ef819e19b4e16f410100ace4aa006f0e3bf8";
+        sha256 = "1n48jhx50bhnjznxds4nmz04digbbbbjq3hkvvl29js1grylda0i";
       };
     }
     {
-      root = "github.com/vmihailenco/bufio";
+      root = "github.com/ryanuber/columnize";
       src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "bufio";
-        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
-        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
+        owner = "ryanuber";
+        repo = "columnize";
+        rev = "v2.0.1";
+        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
       };
     }
     {
-      root = "github.com/vmihailenco/msgpack";
+      root = "github.com/ugorji/go";
       src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "msgpack";
-        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
-        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
-      };
-    }
-    {
-      root = "launchpad.net/gocheck";
-      src = fetchbzr {
-        url = "https://launchpad.net/gocheck";
-        rev = "87";
-        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
-      };
-    }
-    {
-      root = "launchpad.net/mgo";
-      src = fetchbzr {
-        url = "https://launchpad.net/mgo";
-        rev = "2";
-        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+        owner = "ugorji";
+        repo = "go";
+        rev = "c8676e5e9db1226325ca0ed7771633fb0109878b";
+        sha256 = "18r1iajmc9a461kx0pz3lpv91lzlfg93cjw0k0j7ffk6901m0084";
       };
     }
   ];
diff --git a/pkgs/servers/consul/gemset.nix b/pkgs/servers/consul/gemset.nix
new file mode 100644
index 00000000000..bf417f8c411
--- /dev/null
+++ b/pkgs/servers/consul/gemset.nix
@@ -0,0 +1,59 @@
+{
+  execjs = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs";
+    };
+  };
+  json = {
+    version = "1.8.1";
+    source = {
+      type = "gem";
+      sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn";
+    };
+  };
+  libv8 = {
+    version = "3.16.14.3";
+    source = {
+      type = "gem";
+      sha256 = "1arjjbmr9zxkyv6pdrihsz1p5cadzmx8308vgfvrhm380ccgridm";
+    };
+  };
+  ref = {
+    version = "1.0.5";
+    source = {
+      type = "gem";
+      sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la";
+    };
+  };
+  sass = {
+    version = "3.3.6";
+    source = {
+      type = "gem";
+      sha256 = "0ra0kxx52cgyrq6db7a1vysk984ilshbx40bcf527k8b3fha6k5r";
+    };
+  };
+  therubyracer = {
+    version = "0.12.1";
+    source = {
+      type = "gem";
+      sha256 = "106fqimqyaalh7p6czbl5m2j69z8gv7cm10mjb8bbb2p2vlmqmi6";
+    };
+    dependencies = [
+      "libv8"
+      "ref"
+    ];
+  };
+  uglifier = {
+    version = "2.5.0";
+    source = {
+      type = "gem";
+      sha256 = "0b9kxgyg8cv3g1bp6casndfzfy71jd9xyjxwng0lj90vzqrgjp20";
+    };
+    dependencies = [
+      "execjs"
+      "json"
+    ];
+  };
+}
diff --git a/pkgs/servers/consul/template.nix b/pkgs/servers/consul/template.nix
new file mode 100644
index 00000000000..59ca524b51e
--- /dev/null
+++ b/pkgs/servers/consul/template.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "consul-template-${version}";
+  version = "0.7.0";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    GOPATH=$src go build -v -o consul-template github.com/hashicorp/consul-template
+  '';
+
+  installPhase = ''
+    # Fix references to go-deps in the binary
+    hash=$(echo $src | sed 's,.*/\([^/-]*\).*,\1,g')
+    xs=$(printf 'x%.0s' $(seq 2 $(echo $hash | wc -c)))
+    sed -i "s,$hash,$xs,g" consul-template
+
+    mkdir -p $out/bin
+    cp consul-template $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Generic template rendering and notifications with Consul";
+    homepage = https://github.com/hashicorp/consul-template;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ puffnfresh wkennington ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/consul/ui.nix b/pkgs/servers/consul/ui.nix
deleted file mode 100644
index d1c04f959cb..00000000000
--- a/pkgs/servers/consul/ui.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchzip }:
-
-let
-  version = "0.3.0";
-  meta = with stdenv.lib; {
-    homepage = http://www.consul.io/intro/getting-started/ui.html;
-    description = "The static files for Consul's UI (used via -ui-dir)";
-    maintainers = with maintainers; [ cstrahan ];
-    license = licenses.mpl20 ;
-    platforms = platforms.all;
-  };
-in (fetchzip {
-  name = "consul-ui-${version}";
-  url = "https://dl.bintray.com/mitchellh/consul/${version}_web_ui.zip";
-  sha256 = "0p4mhlrqidd6p3899wd3i9p41bdbb5avbz5986mnxg9f7dvhjdrc";
-}) // { inherit meta; }
-
diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix
new file mode 100644
index 00000000000..5e8f2fd0caa
--- /dev/null
+++ b/pkgs/servers/corosync/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb
+, dbus ? null
+, librdmacm ? null, libibverbs ? null
+, libstatgrab ? null
+, net_snmp ? null
+}:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "corosync-2.3.4";
+
+  src = fetchurl {
+    url = "http://build.clusterlabs.org/corosync/releases/${name}.tar.gz";
+    sha256 = "1m276b060fjghr93hdzfag81whi5ph65dc2ka8ln1igm3kxr7bix";
+  };
+
+  buildInputs = [
+    makeWrapper pkgconfig nss nspr libqb
+    dbus librdmacm libibverbs libstatgrab net_snmp
+  ];
+
+  # Remove when rdma libraries gain pkgconfig support
+  ibverbs_CFLAGS = optionalString (libibverbs != null)
+    "-I${libibverbs}/include/infiniband";
+  ibverbs_LIBS = optionalString (libibverbs != null) "-libverbs";
+  rdmacm_CFLAGS = optionalString (librdmacm != null)
+    "-I${librdmacm}/include/rdma";
+  rdmacm_LIBS = optionalString (librdmacm != null) "-lrdmacm";
+
+  configureFlags = [
+    "--enable-watchdog"
+    "--enable-qdevices"
+  ] ++ optional (dbus != null) "--enable-dbus"
+    ++ optional (librdmacm != null && libibverbs != null) "--enable-rdma"
+    ++ optional (libstatgrab != null) "--enable-monitoring"
+    ++ optional (net_snmp != null) "--enable-snmp";
+
+  postInstall = ''
+    wrapProgram $out/bin/corosync-blackbox \
+      --prefix PATH ":" "$out/sbin:${libqb}/sbin"
+  '';
+
+  meta = {
+    homepage = http://corosync.org/;
+    description = "A Group Communication System with features for implementing high availability within applications";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index 1fb7c24418f..ee0477734c2 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/dict/dictd-wiktionary.nix b/pkgs/servers/dict/dictd-wiktionary.nix
index 370bfd39137..42eb3c0757e 100644
--- a/pkgs/servers/dict/dictd-wiktionary.nix
+++ b/pkgs/servers/dict/dictd-wiktionary.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/dictd/
     cd $out/share/dictd
 
-    export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive
     python -O ${convert} ${data}
     dictzip wiktionary-en.dict
     echo en_US.UTF-8 > locale
diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix
index c63306e1ff4..833aaa95b0c 100644
--- a/pkgs/servers/dict/libmaa.nix
+++ b/pkgs/servers/dict/libmaa.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Dict protocol server and client";
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/diod/default.nix b/pkgs/servers/diod/default.nix
index 0753df43be5..dcda4e8c0bb 100644
--- a/pkgs/servers/diod/default.nix
+++ b/pkgs/servers/diod/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, munge, lua5, libcap, perl, ncurses }:
+{ stdenv, fetchurl, munge, lua, libcap, perl, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "diod-${version}";
-  version = "1.0.22";
+  version = "1.0.23";
 
   src = fetchurl {
     url = "https://github.com/chaos/diod/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0h92zadbkq4fjhqjzq17cl3x7bdkz2yakpcl0nccv4ml0gwfbx27";
+    sha256 = "002vxc9fwdwshda4jydxagr63xd6nnhbc6fh73974gi2pvp6gid3";
   };
 
-  buildInputs = [ munge lua5 libcap perl ncurses ];
+  buildInputs = [ munge lua libcap perl ncurses ];
 
   meta = {
     description = "An I/O forwarding server that implements a variant of the 9P protocol";
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 50e71a74546..fbfa2d8d9b7 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
 
-let version = "9.9.5-W1"; in
+let version = "9.10.2"; in
 
 stdenv.mkDerivation rec {
-
   name = "bind-${version}";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "1b3ycb376b1j2fc0k6w16k8j9vgsfrzy3nlw1vxzzi41fgyqmcd3";
+    sha256 = "163s8pvqj4lyryvfzkc6acbys7gw1by5dqwilggiwp54ia8bg6vg";
   };
 
   patchPhase = ''
diff --git a/pkgs/servers/dns/mesos-dns/default.nix b/pkgs/servers/dns/mesos-dns/default.nix
new file mode 100644
index 00000000000..bf672aa89d8
--- /dev/null
+++ b/pkgs/servers/dns/mesos-dns/default.nix
@@ -0,0 +1,31 @@
+{ lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  name = "mesos-dns-${version}";
+  version = "0.1";
+
+  goPackagePath = "github.com/mesosphere/mesos-dns";
+
+  src = fetchFromGitHub {
+    owner = "mesosphere";
+    repo = "mesos-dns";
+    rev = "f37051fc5a723eb021797e7d57d92755c011a28e";
+    sha256 = "0djzd4zdpr4dcp56rqprncan6pcff6gy4wxi9572fmni2ldj4l15";
+  };
+
+  # Avoid including the benchmarking test helper in the output:
+  subPackages = [ "." ];
+
+  buildInputs = with goPackages; [ go dns ];
+  dontInstallSrc = true;
+
+  meta = with lib; {
+    description = "DNS-based service discovery for Mesos clusters";
+    homepage = https://github.com/mesosphere/mesos-dns;
+    license = licenses.apsl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 7279aa6d4ef..a6bb4171934 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -1,34 +1,48 @@
 { config, stdenv, fetchurl, libevent, openssl
+, bind8Stats       ? false
+, checking         ? false
+, ipv6             ? true
+, mmap             ? false
+, minimalResponses ? true
+, nsec3            ? true
+, ratelimit        ? false
+, recvmmsg         ? false
+, rootServer       ? false
+, rrtypes          ? false
+, zoneStats        ? false
 }:
 
 stdenv.mkDerivation rec {
-  name = "nsd-4.0.3";
+  name = "nsd-4.1.1";
 
   src = fetchurl {
     url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "4bf05f2234e1b41899198aa1070f409201fc3c4980feef6567cd92c7074c4a8b";
+    sha256 = "b0c3fab40ac7a8b5ffca642bc9e1b424aa72aebd03adf13a1f24ab4874734640";
   };
 
   buildInputs = [ libevent openssl ];
 
   configureFlags =
-    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
-                                      else map (x: "--disable-${x}") flags;
-     in flag (config.nsd.bind8Stats       or false) [ "bind8-stats" ]
-     ++ flag (config.nsd.checking         or false) [ "checking" ]
-     ++ flag (config.nsd.ipv6             or true)  [ "ipv6" ]
-     ++ flag (config.nsd.mmap             or false) [ "mmap" ]
-     ++ flag (config.nsd.minimalResponses or true)  [ "minimal-responses" ]
-     ++ flag (config.nsd.nsec3            or true)  [ "nsec3" ]
-     ++ flag (config.nsd.ratelimit        or false) [ "ratelimit" ]
-     ++ flag (config.nsd.recvmmsg         or false) [ "recvmmsg" ]
-     ++ flag (config.nsd.rootServer       or false) [ "root-server" ]
+    let edf = c: o: if c then ["--enable-${o}"] else ["--disable-${o}"];
+     in edf bind8Stats       "bind8-stats"
+     ++ edf checking         "checking"
+     ++ edf ipv6             "ipv6"
+     ++ edf mmap             "mmap"
+     ++ edf minimalResponses "minimal-responses"
+     ++ edf nsec3            "nsec3"
+     ++ edf ratelimit        "ratelimit"
+     ++ edf recvmmsg         "recvmmsg"
+     ++ edf rootServer       "root-server"
+     ++ edf rrtypes          "draft-rrtypes"
+     ++ edf zoneStats        "zone-stats"
      ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ];
 
-  meta = {
-    description = "Authoritative only, high performance, simple and open source name server.";
-    license = "BSD";
+  meta = with stdenv.lib; {
     homepage = http://www.nlnetlabs.nl;
-    platforms = with stdenv.lib.platforms; linux;
+    description = "Authoritative only, high performance, simple and open source name server";
+    license = licenses.bsd3;
+
+    platforms = platforms.unix;
+    maintainers = [ maintainers.hrdinka ];
   };
 }
diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix
index 8b4903c8602..abec19663ff 100644
--- a/pkgs/servers/etcd/default.nix
+++ b/pkgs/servers/etcd/default.nix
@@ -1,26 +1,23 @@
-{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ lib, goPackages, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  version = "0.4.3";
-  name = "etcd-${version}";
+with goPackages;
 
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+buildGoPackage rec {
+  version = "2.0.0";
+  name = "etcd-${version}";
+  goPackagePath = "github.com/coreos/etcd";
+  src = fetchFromGitHub {
+    owner = "coreos";
+    repo = "etcd";
+    rev = "v${version}";
+    sha256 = "1s3jilzlqyh2i81pv79cgap6dfj7qrfrwcv4w9lic5ivznz413vc";
   };
 
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    export GOPATH=$src
-    go build -v -o etcd github.com/coreos/etcd
-  '';
+  subPackages = [ "./" ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mv etcd $out/bin/etcd
-  '';
+  dontInstallSrc = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A highly-available key value store for shared configuration and service discovery";
     homepage = http://coreos.com/using-coreos/etcd/;
     license = licenses.asl20;
diff --git a/pkgs/servers/etcd/deps.nix b/pkgs/servers/etcd/deps.nix
deleted file mode 100644
index e9fd4a50d3e..00000000000
--- a/pkgs/servers/etcd/deps.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-let
-  goDeps = [
-    {
-      root = "github.com/coreos/etcd";
-      src = fetchFromGitHub {
-        owner = "coreos";
-        repo = "etcd";
-        rev = "9970141f76241c909977af7bafe7b6f2c4923de8";
-        sha256 = "1bva46gfy4rkfw8k8pb3lsfzfg16csds01f0nvfrkh99pr7sp0sy";
-      };
-    }
-    {
-      root = "github.com/stathat/go";
-      src = fetchFromGitHub {
-        owner = "stathat";
-        repo = "go";
-        rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
-        sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
-      };
-    }
-    {
-      root = "github.com/stretchr/objx";
-      src = fetchFromGitHub {
-        owner = "stretchr";
-        repo = "objx";
-        rev = "cbeaeb16a013161a98496fad62933b1d21786672";
-        sha256 = "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1";
-      };
-    }
-    {
-      root = "github.com/stretchr/testify";
-      src = fetchFromGitHub {
-        owner = "stretchr";
-        repo = "testify";
-        rev = "3e03dde72495487a4deb74152ac205d0619fbc8d";
-        sha256 = "1xd9sbi6y68cfwkxgybcz0dbfx4r6jmxq51wjj6six3wm9p7m8ls";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
diff --git a/pkgs/servers/fleet/default.nix b/pkgs/servers/fleet/default.nix
index e3a53c85052..9a122ae90a6 100644
--- a/pkgs/servers/fleet/default.nix
+++ b/pkgs/servers/fleet/default.nix
@@ -1,30 +1,33 @@
-{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ stdenv, lib, go, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.0";
   name = "fleet-${version}";
+  version = "0.9.0";
 
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  src = fetchFromGitHub {
+    owner = "coreos";
+    repo = "fleet";
+    rev = "v${version}";
+    sha256 = "0gjminfprprs1nmg9y9a0qkyl9spixrk4pc2b7bl0lxdgpq2yiid";
   };
 
   buildInputs = [ go ];
 
   buildPhase = ''
-    export GOPATH=$src
-    go build -v -o fleet github.com/coreos/fleet
+    patchShebangs build
+    ./build
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    mv fleet $out/bin
+    mkdir -p $out
+    mv bin $out
   '';
 
   meta = with stdenv.lib; {
     description = "A distributed init system";
     homepage = http://coreos.com/using-coreos/clustering/;
     license = licenses.asl20;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ cstrahan offline ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/fleet/deps.nix b/pkgs/servers/fleet/deps.nix
deleted file mode 100644
index d0529db37a2..00000000000
--- a/pkgs/servers/fleet/deps.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-let
-  goDeps = [
-    {
-      root = "code.google.com/p/gogoprotobuf";
-      src = fetchgit {
-        url = "https://code.google.com/p/gogoprotobuf";
-        rev = "7fd1620f09261338b6b1ca1289ace83aee0ec946";
-        sha256 = "0f13y29zpxkv7b7kwnszygvg04fd5m9r8vpkl1wa3gxnc6az54i9";
-      };
-    }
-    {
-      root = "github.com/coreos/etcd";
-      src = fetchFromGitHub {
-        owner = "coreos";
-        repo = "etcd";
-        rev = "1359d29fa451b059bb76b51260610d92853e7316";
-        sha256 = "0iz3vmf3nfp1i5r8al207wm0jvj68i47a814w90b1jl8g4f2amp7";
-      };
-    }
-    {
-      root = "github.com/coreos/fleet";
-      src = fetchFromGitHub {
-        owner = "coreos";
-        repo = "fleet";
-        rev = "da0a02ed3b07d83b0b542dcdee56e08d2457ab9c";
-        sha256 = "0b8aq4ppyv1fjvf3f2qjq80mvjvf9r104bf4048wgsrs0pccs6s8";
-      };
-    }
-    {
-      root = "github.com/coreos/raft";
-      src = fetchFromGitHub {
-        owner = "coreos";
-        repo = "raft";
-        rev = "67dca7288f1665b59860421673d46314f4348e45";
-        sha256 = "1l27kjkwcxgx89d2m537plagbp1wh6qlzxirza6lliblrgxry6mw";
-      };
-    }
-    {
-      root = "github.com/stathat/go";
-      src = fetchFromGitHub {
-        owner = "stathat";
-        repo = "go";
-        rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
-        sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
-      };
-    }
-    {
-      root = "github.com/stretchr/objx";
-      src = fetchFromGitHub {
-        owner = "stretchr";
-        repo = "objx";
-        rev = "cbeaeb16a013161a98496fad62933b1d21786672";
-        sha256 = "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1";
-      };
-    }
-    {
-      root = "github.com/stretchr/testify";
-      src = fetchFromGitHub {
-        owner = "stretchr";
-        repo = "testify";
-        rev = "3e03dde72495487a4deb74152ac205d0619fbc8d";
-        sha256 = "1xd9sbi6y68cfwkxgybcz0dbfx4r6jmxq51wjj6six3wm9p7m8ls";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
-
diff --git a/pkgs/servers/games/ghost-one/default.nix b/pkgs/servers/games/ghost-one/default.nix
index f90b5e40997..3c1430157d0 100644
--- a/pkgs/servers/games/ghost-one/default.nix
+++ b/pkgs/servers/games/ghost-one/default.nix
@@ -9,10 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2";
   };
 
-  buildInputs = [ unzip gmp zlib bzip2 boost mysql ];
+  buildInputs = [ unzip gmp zlib bzip2 boost mysql.lib ];
 
   patchPhase = ''
-    substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" "${mysql}/lib/mysql"
+    substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" "${mysql.lib}/lib/mysql"
   '';
 
   buildPhase = ''
@@ -50,4 +50,4 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = [ maintainers.phreedom ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/servers/gpm/default.nix b/pkgs/servers/gpm/default.nix
index 7c16153e9b5..011b0b8ff49 100644
--- a/pkgs/servers/gpm/default.nix
+++ b/pkgs/servers/gpm/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, flex, bison, ncurses }:
+{ stdenv, fetchurl, automake, autoconf, libtool, flex, bison, ncurses, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "gpm-1.20.6";
-  
+  name = "gpm-1.20.7";
+
   src = fetchurl {
     url = "http://www.nico.schottelius.org/software/gpm/archives/${name}.tar.bz2";
-    sha256 = "1990i19ddzn8gg5xwm53yn7d0mya885f48sd2hyvr7dvzyaw7ch8";
+    sha256 = "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh";
   };
 
-  nativeBuildInputs = [ flex bison ];
-  buildInputs = [ ncurses ];
+  buildInputs = [ automake autoconf libtool flex bison ncurses texinfo ];
+
+  preConfigure = ''
+    ./autogen.sh
+    sed -e 's/[$](MKDIR)/mkdir -p /' -i doc/Makefile.in
+  '';
 
-  preConfigure =
-    ''
-      sed -e 's/[$](MKDIR)/mkdir -p /' -i doc/Makefile.in
-    '';
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
 
   # Its configure script does not allow --disable-static
   # Disabling this, we make cross-builds easier, because having
@@ -28,5 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.nico.schottelius.org/software/gpm/;
     description = "A daemon that provides mouse support on the Linux console";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index 62fbd3337f7..17325ccb291 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     patchShebangs .
     mkdir -p "$out"
-    sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonFull.python.libPrefix}/site-packages\"|" -i SConstruct
+    sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonFull.libPrefix}/site-packages\"|" -i SConstruct
     scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \
         systemd=yes udevdir="$out/lib/udev" chrpath=no
   '';
diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix
new file mode 100644
index 00000000000..de5be18713e
--- /dev/null
+++ b/pkgs/servers/hbase/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, jre, makeWrapper }:
+stdenv.mkDerivation {
+  name = "hbase-0.98.8";
+  src = fetchurl {
+    url = http://mirror.gopotato.co.uk/apache/hbase/stable/hbase-0.98.8-hadoop2-bin.tar.gz;
+    sha256 = "0nvxaqpw8v2hg6mn2p2zxj3y6r4dj4xzxmp8rfmv6m6algn5apv6";
+  };
+  buildInputs = [ makeWrapper ];
+  installPhase = ''
+    mkdir -p $out
+    cp -R * $out
+  '';
+  meta = with stdenv.lib; {
+    description = "A distributed, scalable, big data store";
+    homepage = https://hbase.apache.org;
+    license = licenses.asl20;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index 70a1b5a17d1..5cd0a5a4e84 100644
--- a/pkgs/servers/http/apache-httpd/2.2.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -12,12 +12,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert mpm == "prefork" || mpm == "worker" || mpm == "event";
 
 stdenv.mkDerivation rec {
-  version = "2.2.27";
+  version = "2.2.29";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0iw19y6knijinqwvv4q16fgq5xq8nwxdg14wrrbc0mfasvg76n90";
+    sha1 = "1d6a8fbc1391d358cc6fe430edc16222b97258d5";
   };
 
   outputs = [ "dev" "out" "doc" ];
@@ -42,6 +42,10 @@ stdenv.mkDerivation rec {
     ${if sslSupport then "--enable-ssl --with-ssl=${openssl}" else ""}
     ${if ldapSupport then "--enable-ldap --enable-authnz-ldap" else ""}
     --with-mpm=${mpm}
+    --enable-cache
+    --enable-disk-cache
+    --enable-file-cache
+    --enable-mem-cache
   '';
 
   preConfigure =
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index e164c21ec78..cb550652b78 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.10";
+  version = "2.4.12";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0slwcqw9f7fnb3kyz27hlsgh8j4wiza4yzqyp6vhfpvl3an4sv0p";
+    sha256 = "1r7a63ka41vlswrqbb21vall6sc7svwgd497kb6dh8a6zvnkjvdd";
   };
 
   buildInputs = [perl] ++
diff --git a/pkgs/servers/http/apache-modules/mod_evasive/default.nix b/pkgs/servers/http/apache-modules/mod_evasive/default.nix
index 129f44ab502..c89e4100d38 100644
--- a/pkgs/servers/http/apache-modules/mod_evasive/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_evasive/default.nix
@@ -1,4 +1,10 @@
-{ stdenv, fetchurl, apacheHttpd }:
+{ lib, stdenv, fetchurl, apacheHttpd }:
+
+if lib.versionAtLeast (lib.getVersion apacheHttpd) "2.4" then
+
+  throw "mod_evasive is not supported on Apache httpd 2.4"
+
+else
 
 stdenv.mkDerivation {
   name = "mod_evasive-1.10.1";
diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
index 5fdf7455172..e70c3105408 100644
--- a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
@@ -1,13 +1,21 @@
 { stdenv, fetchurl, apacheHttpd }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "mod_fastcgi-2.4.6";
 
   src = fetchurl {
-    url = "http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz";
+    url = "http://www.fastcgi.com/dist/${name}.tar.gz";
     sha256 = "12g6vcfl9jl8rqf8lzrkdxg2ngca310d3d6an563xqcgrkp8ga55";
   };
 
+  patches =
+    [ (fetchurl {
+        name = "compile-against-apache24.diff";
+        url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/compile-against-apache24.diff?h=packages/mod_fastcgi&id=81c7cb99d15682df3bdb1edcaeea5259e9e43a42";
+        sha256 = "000qvrf5jb979i37rimrdivcgjijcffgrpkx38c0rn62z9jz61g4";
+      })
+    ];
+
   buildInputs = [ apacheHttpd ];
 
   preBuild = ''
diff --git a/pkgs/servers/http/apache-modules/mod_python/default.nix b/pkgs/servers/http/apache-modules/mod_python/default.nix
index b36327ff520..08f5d745684 100644
--- a/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -1,29 +1,26 @@
-{stdenv, fetchurl, apacheHttpd, python}:
+{ stdenv, fetchurl, apacheHttpd, python }:
 
-stdenv.mkDerivation {
-  name = "mod_python-3.3.1";
+stdenv.mkDerivation rec {
+  name = "mod_python-3.5.0";
 
   src = fetchurl {
-    url = mirror://apache/httpd/modpython/mod_python-3.3.1.tgz;
-    sha256 = "0sss2xi6l1a2z8y6ji0cp8vgyvnhq8zrg0ilkvpj1mygbzyk28xd";
+    url = "http://dist.modpython.org/dist/${name}.tgz";
+    sha256 = "146apll3yfqk05s8fkf4acmxzqncl08bgn4rv0c1rd4qxmc91w0f";
   };
 
-  patches = [
-    ./install.patch
-
-    # See http://bugs.gentoo.org/show_bug.cgi?id=230211
-    (fetchurl {
-      url = "http://bugs.gentoo.org/attachment.cgi?id=160400";
-      sha256 = "0yx6x9c5rg5kn6y8vsi4xj3nvg016rrfk553ca1bw796v383xkyj";
-    })
-  ];
+  patches = [ ./install.patch ];
 
   preInstall = ''
     installFlags="LIBEXECDIR=$out/modules $installFlags"
-    mkdir -p $out/modules
+    mkdir -p $out/modules $out/bin
   '';
 
   passthru = { inherit apacheHttpd; };
-  
-  buildInputs = [apacheHttpd python];
+
+  buildInputs = [ apacheHttpd python ];
+
+  meta = {
+    homepage = http://modpython.org/;
+    description = "An Apache module that embeds the Python interpreter within the server";
+  };
 }
diff --git a/pkgs/servers/http/apache-modules/mod_python/install.patch b/pkgs/servers/http/apache-modules/mod_python/install.patch
index 28a36edbc23..29667e11ed8 100644
--- a/pkgs/servers/http/apache-modules/mod_python/install.patch
+++ b/pkgs/servers/http/apache-modules/mod_python/install.patch
@@ -1,20 +1,12 @@
-diff -rc mod_python-3.1.4-orig/dist/Makefile.in mod_python-3.1.4/dist/Makefile.in
-*** mod_python-3.1.4-orig/dist/Makefile.in	2005-01-29 22:25:28.000000000 +0100
---- mod_python-3.1.4/dist/Makefile.in	2006-01-15 12:07:40.000000000 +0100
-***************
-*** 34,40 ****
-  install_py_lib: mod_python src
-  	@cd src; $(MAKE) psp_parser.c
-  	if test -z "$(DESTDIR)" ; then \
-! 		$(PYTHON_BIN) setup.py install --optimize 2 --force ; \
-  	else \
-  		$(PYTHON_BIN) setup.py install --optimize 2 --force --root $(DESTDIR) ; \
-  	fi
---- 34,40 ----
-  install_py_lib: mod_python src
-  	@cd src; $(MAKE) psp_parser.c
-  	if test -z "$(DESTDIR)" ; then \
-! 		$(PYTHON_BIN) setup.py install --optimize 2 --force --prefix $(out) ; \
-  	else \
-  		$(PYTHON_BIN) setup.py install --optimize 2 --force --root $(DESTDIR) ; \
-  	fi
+diff -ru -x '*~' mod_python-3.5.0-orig/dist/Makefile.in mod_python-3.5.0/dist/Makefile.in
+--- mod_python-3.5.0-orig/dist/Makefile.in	2013-11-12 04:21:34.000000000 +0100
++++ mod_python-3.5.0/dist/Makefile.in	2014-11-07 11:28:24.466377733 +0100
+@@ -34,7 +34,7 @@
+ install_py_lib: mod_python src
+ 	@cd src; $(MAKE) psp_parser.c
+ 	if test -z "$(DESTDIR)" ; then \
+-		$(PYTHON_BIN) setup.py install --optimize 2 --force ; \
++		$(PYTHON_BIN) setup.py install --optimize 2 --force --prefix $(out) ; \
+ 	else \
+ 		$(PYTHON_BIN) setup.py install --optimize 2 --force --root $(DESTDIR) ; \
+ 	fi
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 07dff1cf585..7aded47dad1 100644
--- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, apacheHttpd, python }:
 
-stdenv.mkDerivation {
-  name = "mod_wsgi-3.4";
+stdenv.mkDerivation rec {
+  name = "mod_wsgi-${version}";
+  version = "3.5";
 
   src = fetchurl {
-    url = "http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz";
-    sha256 = "1s5nnjssvcl6lzy7kxmrk47yz6sgfzk90i1y7jml0s0lks7ck1df";
+    url = "https://github.com/GrahamDumpleton/mod_wsgi/archive/${version}.tar.gz";
+    sha256 = "14xz422jlakdhxzsl8xs9if86yf1fnkwdg0havjyqs7my0w4qrzh";
   };
 
   buildInputs = [ apacheHttpd python ];
@@ -17,7 +18,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = "http://code.google.com/p/modwsgi/";
+    homepage = http://code.google.com/p/modwsgi/;
     description = "Host Python applications in Apache through the WSGI interface";
     license = stdenv.lib.licenses.asl20;
 
diff --git a/pkgs/servers/http/apache-modules/tomcat-connectors/builder.sh b/pkgs/servers/http/apache-modules/tomcat-connectors/builder.sh
deleted file mode 100644
index 52efe537c9b..00000000000
--- a/pkgs/servers/http/apache-modules/tomcat-connectors/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-tar xfvz $src
-cd tomcat-connectors-*-src/native
-./configure --with-apxs=$apacheHttpd/bin/apxs --with-java-home=$jdk
-make
-mkdir -p $out/modules
-cp apache-2.0/mod_jk.so $out/modules
diff --git a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix b/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
index 7f764ef5ebc..0e908acd74b 100644
--- a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
+++ b/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
@@ -1,14 +1,21 @@
-{stdenv, fetchurl, apacheHttpd, jdk}:
+{ stdenv, fetchurl, apacheHttpd, jdk }:
 
-stdenv.mkDerivation {
-  name = "tomcat-connectors-1.2.32";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  name = "tomcat-connectors-1.2.40";
 
   src = fetchurl {
-    url = http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.32-src.tar.gz;
-    sha256 = "1dim62warzy1hqvc7cvnqsbq475sr6vpgwd6gfmddmkgw155saji";
+    url = "http://www.apache.si/tomcat/tomcat-connectors/jk/${name}-src.tar.gz";
+    sha256 = "0pbh6s19ba5k2kahiiqgx8lz8v4fjllzn0w6hjd08x7z9my38pl9";
   };
 
-  inherit apacheHttpd;
-  buildInputs = [apacheHttpd jdk];
+  configureFlags = "--with-apxs=${apacheHttpd}/bin/apxs --with-java-home=${jdk}";
+
+  sourceRoot = "${name}-src/native";
+
+  installPhase = ''
+    mkdir -p $out/modules
+    cp apache-2.0/mod_jk.so $out/modules
+  '';
+
+  buildInputs = [ apacheHttpd jdk ];
 }
diff --git a/pkgs/servers/http/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix
index 0b5244a5974..54412d2ab40 100644
--- a/pkgs/servers/http/couchdb/default.nix
+++ b/pkgs/servers/http/couchdb/default.nix
@@ -3,16 +3,28 @@
 
 stdenv.mkDerivation rec {
   name = "couchdb-${version}";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz";
-    sha256 = "0m4k7i3gibzzcabssysv42rmdr89myppc6765xr0jggwkwdxgxmx";
+    sha256 = "09w6ijj9l5jzh81nvc3hrlqp345ajg3haj353g9kxkik6wbinq2s";
   };
 
   buildInputs = [ erlang icu openssl spidermonkey curl help2man sphinx which
     file pkgconfig ];
 
+  /* This patch removes the `-Werror` flag as there are warnings due to
+   * _BSD_SOURCE being deprecated in glibc >= 2.20
+   */
+  patchPhase = ''
+    patch src/couchdb/priv/Makefile.in <<EOF
+    392c392
+    < couchjs_CFLAGS = -g -Wall -Werror -D_BSD_SOURCE \$(CURL_CFLAGS) \$(JS_CFLAGS)
+    ---
+    > couchjs_CFLAGS = -g -Wall -D_BSD_SOURCE \$(CURL_CFLAGS) \$(JS_CFLAGS)
+    EOF
+  '';
+
   postInstall = ''
     sed -i -e "s|\`getopt|\`${getopt}/bin/getopt|" $out/bin/couchdb
   '';
diff --git a/pkgs/servers/http/jetty/9.2.nix b/pkgs/servers/http/jetty/9.2.nix
new file mode 100644
index 00000000000..41afc9b40af
--- /dev/null
+++ b/pkgs/servers/http/jetty/9.2.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "jetty-9.2.5";
+
+  src = fetchurl {
+    url = "http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.2.5.v20141112.tar.gz&r=1";
+    name = "jetty-distribution-9.2.5.v20141112.tar.gz";
+    sha256 = "1azqhvvqm9il5n07vms5vv27vr3qhmsy44nmqcgsaggq7p37swf1";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out
+    mv etc lib modules start.jar $out
+  '';
+
+  meta = {
+    description = "A Web server and javax.servlet container";
+
+    homepage = http://www.eclipse.org/jetty/;
+
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+
+    platforms = stdenv.lib.platforms.all;
+
+    license = [ stdenv.lib.licenses.asl20 stdenv.lib.licenses.epl10 ];
+  };
+}
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index d9166382be3..f691f362bb2 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -8,6 +8,6 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = mirror://sourceforge/jetty/jetty-5.1.4.zip;
-    md5 = "5d16bb1ea4a62dff93c0b7f7de00430f";
+    sha256 = "1lzvsrlybrf3zzzv4hi2v82qzpkfkib3xbwwlya8c08gf0360mrk";
   };
 }
diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix
index f42ae81a700..59f9fd8624d 100644
--- a/pkgs/servers/http/joseki/default.nix
+++ b/pkgs/servers/http/joseki/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , unzip
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -47,13 +47,13 @@ rec {
   phaseNames = ["doDeploy" "fixScripts"];
 
   fixScripts = a.doPatchShebangs ''$TARGET/bin'';
-      
+
   doDeploy = a.fullDepEntry (''
     ${a.lib.concatStringsSep ";" (map (y : "unzip ${y}") tarballFiles)}
     for i in */; do cp -rTf $i merged; done
     cd merged
-    
-    for i in "lib/"jsp-*/*.jar; do 
+
+    for i in "lib/"jsp-*/*.jar; do
       ln -s "''${i#lib/}" "lib" || true
     done
 
@@ -67,7 +67,7 @@ rec {
       ls "lib/"tdb-[0-9]*.jar | sort | tac | tail -n +2
       ls "lib/"jetty-[0-9]*.jar | sort | tac | tail -n +2
       ls "lib/"jetty-util-[0-9]*.jar | sort | tac | tail -n +2
-    ) | 
+    ) |
       xargs -I @@ mv @@  lib/obsolete
 
     mv lib/slf4j-simple-*.jar lib/obsolete
@@ -106,8 +106,7 @@ rec {
       raskin
     ];
     hydraPlatforms = []; # Builder is just unpacking/mixing what is needed
-    license = "free"; # mix of packages under different licenses
+    license = a.lib.licenses.free; # mix of packages under different licenses
     homepage = "http://openjena.org/";
   };
 }) x
-
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 899914b6446..056f9202df4 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, pkgconfig, pcre, libxml2, zlib, attr, bzip2, which, file
-, openssl, enableMagnet ? false, lua5 ? null
+, openssl, enableMagnet ? false, lua5_1 ? null
 , enableMysql ? false, mysql ? null
 }:
 
-assert enableMagnet -> lua5 != null;
+assert enableMagnet -> lua5_1 != null;
 assert enableMysql -> mysql != null;
 
 stdenv.mkDerivation rec {
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ]
-             ++ stdenv.lib.optional enableMagnet lua5
-             ++ stdenv.lib.optional enableMysql mysql;
+             ++ stdenv.lib.optional enableMagnet lua5_1
+             ++ stdenv.lib.optional enableMysql mysql.lib;
 
   configureFlags = [ "--with-openssl" ]
                 ++ stdenv.lib.optional enableMagnet "--with-lua"
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Lightweight high-performance web server";
     homepage = http://www.lighttpd.net/;
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix
index b8848f1e5d8..3a1cf687069 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boostHeaders }:
+{ stdenv, fetchurl, boost }:
 
 stdenv.mkDerivation rec {
   name = "mini-httpd-1.4";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1i46klkx2ca1cgmlilajkx8gf7b7d7c2sj58llxfllh184pb6cpd";
   };
 
-  buildInputs = [ boostHeaders ];
+  buildInputs = [ boost ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 903cf038d6e..456580cc199 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,49 +1,79 @@
-{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat
-, gd, geoip
+{ stdenv, fetchurl, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt, expat
+, gd, geoip, luajit
 , rtmp ? false
 , fullWebDAV ? false
 , syslog ? false
 , moreheaders ? false
-, echo ? false }:
+, echo ? false
+, ngx_lua ? false
+, set_misc ? false
+}:
 
 with stdenv.lib;
 
 let
-  version = "1.6.1";
+  version = "1.6.3";
   mainSrc = fetchurl {
     url = "http://nginx.org/download/nginx-${version}.tar.gz";
-    sha256 = "0rv0hds8dhanh8fz8qv5jj7p96q4sl158w6aq814dvxfl61fdkzm";
+    sha256 = "0mz7nx1ffw4f024yb4w9kpjd33z1f16zmq9iyd160kbf6rdyk60a";
   };
 
-  rtmp-ext = fetchgit {
-    url = https://github.com/arut/nginx-rtmp-module.git;
-    rev = "8c2229cce5d4d4574e8fb7b130281497f746f0fa";
-    sha256 = "6caea2a13161345c3fc963679730be54cebebddf1406ac7d4ef4ce72ac0b90b0";
+  rtmp-ext = fetchFromGitHub {
+    owner = "arut";
+    repo = "nginx-rtmp-module";
+    rev = "v1.1.5";
+    sha256 = "1d9ws4prxz22yq3nhh5h18jrs331zivrdh784l6wznc1chg3gphn";
   };
 
-  dav-ext = fetchgit {
-    url = "https://github.com/arut/nginx-dav-ext-module";
-    rev = "89d582d31ab624ff1c6a4cec0c1a52839507b323";
-    sha256 = "2175f83a291347504770d2a4bb5069999e9f7408697bd49464b6b54e994493e1";
+  dav-ext = fetchFromGitHub {
+    owner = "arut";
+    repo = "nginx-dav-ext-module";
+    rev = "v0.0.3";
+    sha256 = "1qck8jclxddncjad8yv911s9z7lrd58bp96jf13m0iqk54xghx91";
   };
 
-  syslog-ext = fetchgit {
-    url = https://github.com/yaoweibin/nginx_syslog_patch.git;
+  syslog-ext = fetchFromGitHub {
+    owner = "yaoweibin";
+    repo = "nginx_syslog_patch";
     rev = "3ca5ba65541637f74467038aa032e2586321d0cb";
-    sha256 = "15z9r17lx42fdcw8lalddc86wpabgmc1rqi7f90v4mcirjzrpgyi";
+    sha256 = "0y8dxkx8m1jw4v5zsvw1gfah9vh3ryq0hfmrcbjzcmwp5b5lb1i8";
   };
 
-  moreheaders-ext = fetchgit {
-    url = https://github.com/openresty/headers-more-nginx-module.git;
-    rev = "0c6e05d3125a97892a250e9ba8b7674163ba500b";
-    sha256 = "e121d97fd3c81c64e6cbf6902bbcbdb01be9ac985c6832d40434379d5e998eaf";
+  moreheaders-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "headers-more-nginx-module";
+    rev = "v0.25";
+    sha256 = "1d71y1i0smi4gkzz731fhn58gr03b3s6jz6ipnfzxxaizmgxm3rb";
   };
 
-  echo-ext = fetchgit {
-    url = https://github.com/openresty/echo-nginx-module.git;
-    rev = "refs/tags/v0.53";
-    sha256 = "90d4e3a49c678019f4f335bc18529aa108fcc9cfe0747ea4e2f6084a70da2868";
+  echo-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "echo-nginx-module";
+    rev = "v0.56";
+    sha256 = "03vaf1ffhkj2s089f90h45n079h3zw47h6y5zpk752f4ydiagpgd";
   };
+
+  develkit-ext = fetchFromGitHub {
+    owner = "simpl";
+    repo = "ngx_devel_kit";
+    rev = "v0.2.19";
+    sha256 = "1cqcasp4lc6yq5pihfcdw4vp4wicngvdc3nqg3bg52r63c1qrz76";
+  };
+
+  lua-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "lua-nginx-module";
+    rev = "v0.9.12";
+    sha256 = "0r07q1n3nvi7m3l8zk7nfk0z9kjhqknav61ys9lshh2ylsmz1lf4";
+  };
+
+  set-misc-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "set-misc-nginx-module";
+    rev = "v0.27";
+    sha256 = "1bd1isacsiay73nc2jlp0wky32l42a3sjskvfa1082l12g0p1x39";
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -52,7 +82,11 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ openssl zlib pcre libxml2 libxslt gd geoip
-    ] ++ optional fullWebDAV expat;
+    ] ++ optional fullWebDAV expat
+      ++ optional ngx_lua luajit;
+
+  LUAJIT_LIB = if ngx_lua then "${luajit}/lib" else "";
+  LUAJIT_INC = if ngx_lua then "${luajit}/include/luajit-2.0" else "";
 
   patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
 
@@ -83,10 +117,12 @@ stdenv.mkDerivation rec {
     ++ optional syslog "--add-module=${syslog-ext}"
     ++ optional moreheaders "--add-module=${moreheaders-ext}"
     ++ optional echo "--add-module=${echo-ext}"
+    ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}"
+    ++ optional set_misc "--add-module=${set-misc-ext}"
     ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
 
 
-  additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations";
+  additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized";
 
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
diff --git a/pkgs/servers/http/nginx/unstable.nix b/pkgs/servers/http/nginx/unstable.nix
new file mode 100644
index 00000000000..b47b67792b8
--- /dev/null
+++ b/pkgs/servers/http/nginx/unstable.nix
@@ -0,0 +1,132 @@
+{ stdenv, fetchurl, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt, expat
+, gd, geoip, luajit
+, rtmp ? false
+, fullWebDAV ? false
+, syslog ? false
+, moreheaders ? false
+, echo ? false
+, ngx_lua ? false }:
+
+with stdenv.lib;
+
+let
+  version = "1.7.11";
+  mainSrc = fetchurl {
+    url = "http://nginx.org/download/nginx-${version}.tar.gz";
+    sha256 = "15cnlrhiqklqfzwfspkp0i6g04zdhc092dh593yqnqqf450dgnfs";
+  };
+
+  rtmp-ext = fetchFromGitHub {
+    owner = "arut";
+    repo = "nginx-rtmp-module";
+    rev = "v1.1.5";
+    sha256 = "1d9ws4prxz22yq3nhh5h18jrs331zivrdh784l6wznc1chg3gphn";
+  };
+
+  dav-ext = fetchFromGitHub {
+    owner = "arut";
+    repo = "nginx-dav-ext-module";
+    rev = "v0.0.3";
+    sha256 = "1qck8jclxddncjad8yv911s9z7lrd58bp96jf13m0iqk54xghx91";
+  };
+
+  syslog-ext = fetchFromGitHub {
+    owner = "yaoweibin";
+    repo = "nginx_syslog_patch";
+    rev = "v0.25";
+    sha256 = "0734f884838wcjyrrddn8wzj834wid1zffrk093jrx18447cryxl";
+  };
+
+  moreheaders-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "headers-more-nginx-module";
+    rev = "v0.25";
+    sha256 = "1d71y1i0smi4gkzz731fhn58gr03b3s6jz6ipnfzxxaizmgxm3rb";
+  };
+
+  echo-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "echo-nginx-module";
+    rev = "v0.56";
+    sha256 = "03vaf1ffhkj2s089f90h45n079h3zw47h6y5zpk752f4ydiagpgd";
+  };
+
+  develkit-ext = fetchFromGitHub {
+    owner = "simpl";
+    repo = "ngx_devel_kit";
+    rev = "v0.2.19";
+    sha256 = "1cqcasp4lc6yq5pihfcdw4vp4wicngvdc3nqg3bg52r63c1qrz76";
+  };
+
+  lua-ext = fetchFromGitHub {
+    owner = "openresty";
+    repo = "lua-nginx-module";
+    rev = "v0.9.12";
+    sha256 = "0r07q1n3nvi7m3l8zk7nfk0z9kjhqknav61ys9lshh2ylsmz1lf4";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "nginx-${version}";
+  src = mainSrc;
+
+  buildInputs =
+    [ openssl zlib pcre libxml2 libxslt gd geoip
+    ] ++ optional fullWebDAV expat
+      ++ optional ngx_lua luajit;
+
+  LUAJIT_LIB = if ngx_lua then "${luajit}/lib" else "";
+  LUAJIT_INC = if ngx_lua then "${luajit}/include/luajit-2.0" else "";
+
+  patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
+
+  configureFlags = [
+    "--with-http_ssl_module"
+    "--with-http_spdy_module"
+    "--with-http_realip_module"
+    "--with-http_addition_module"
+    "--with-http_xslt_module"
+    "--with-http_image_filter_module"
+    "--with-http_geoip_module"
+    "--with-http_sub_module"
+    "--with-http_dav_module"
+    "--with-http_flv_module"
+    "--with-http_mp4_module"
+    "--with-http_gunzip_module"
+    "--with-http_gzip_static_module"
+    "--with-http_auth_request_module"
+    "--with-http_random_index_module"
+    "--with-http_secure_link_module"
+    "--with-http_degradation_module"
+    "--with-http_stub_status_module"
+    "--with-ipv6"
+    # Install destination problems
+    # "--with-http_perl_module"
+  ] ++ optional rtmp "--add-module=${rtmp-ext}"
+    ++ optional fullWebDAV "--add-module=${dav-ext}"
+    ++ optional syslog "--add-module=${syslog-ext}"
+    ++ optional moreheaders "--add-module=${moreheaders-ext}"
+    ++ optional echo "--add-module=${echo-ext}"
+    ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}"
+    ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
+
+
+  additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations";
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
+  '';
+
+  postInstall = ''
+    mv $out/sbin $out/bin
+  '';
+
+  meta = {
+    description = "A reverse proxy and lightweight webserver";
+    homepage    = http://nginx.org;
+    license     = licenses.bsd2;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice raskin ];
+  };
+}
diff --git a/pkgs/servers/http/nginx/unstable.upstream b/pkgs/servers/http/nginx/unstable.upstream
new file mode 100644
index 00000000000..7bb02549959
--- /dev/null
+++ b/pkgs/servers/http/nginx/unstable.upstream
@@ -0,0 +1,8 @@
+url http://nginx.org/en/download.html
+version_link '.*-([0-9]+[.][0-9]+([.][0-9]+)*)[.]tar[.][a-z0-9]*$' 
+
+do_overwrite() {
+  ensure_hash
+  set_var_value version "$CURRENT_VERSION"
+  set_var_value sha256 "$CURRENT_HASH"
+}
diff --git a/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in b/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in
index 2a2356f39ab..13b62a8829d 100644
--- a/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in
+++ b/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in
@@ -39,6 +39,10 @@ parse_opts () {
         echo "PORT=$1"
         shift;
         ;;
+      --ipv6)
+        shift;
+	echo "USE_IPV6=enable"
+	;;
       --help)
         cat <<EOF >&2
 "$0": start the Nix binary cache serving the Nix store dynamically.
@@ -57,6 +61,8 @@ Recognized options:
 --nix-remote     'daemon' or empty string '' - whether to use daemon for store
                    operations
 
+--ipv6           enable ipv6
+
 --help           show help and exit
 EOF
 	exit 1;
@@ -82,6 +88,12 @@ cgi.assign = ( \".cgi\" => \"@shell@\" )
 setenv.add-request-header = ( \"NIX_BINARY_CACHE_CONFIG\" => \"$workingdir/nix-binary-cache.conf\" )
 " > lighttpd.conf
 
+test -n "$USE_IPV6" && echo "
+\$SERVER[\"socket\"] == \"[::]:$PORT\" {
+server.use-ipv6 = \"enable\"
+}
+" >> lighttpd.conf
+
 cp @out@/nix-binary-cache.cgi . 
 cp @out@/nix-binary-cache.cgi ./nix-bc.cgi 
 
diff --git a/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in b/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in
index 219ab9763ad..890e68765b4 100644
--- a/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in
+++ b/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in
@@ -10,13 +10,18 @@ KEYNAME=na
 export NIX_REMOTE=daemon
 
 config="${NIX_BINARY_CACHE_CONFIG:-${HTTP_NIX_BINARY_CACHE_CONFIG:-/etc/nix/nix-binary-cache.cgi.conf}}"
-config="$(cd "$(@coreutils@/dirname "$config")"; 
+config="$(cd "$(@coreutils@/dirname "$config")";
   @coreutils@/pwd)/$(@coreutils@/basename "$config")"
 @coreutils@/test -e "$config" && . "$config"
 
 header(){
 	echo "Content-Type: text/plain; charset=utf-8"
-	echo 
+	echo
+}
+
+header404(){
+	echo "Status: 404 Not Found"
+	echo
 }
 
 clean_path() {
@@ -28,12 +33,12 @@ storeq(){
 }
 
 sign(){
-	test -n "$1" && 
-	  @coreutils@/sha256sum | @gnused@/sed -e 's/ .*//' | 
+	test -n "$1" &&
+	  @coreutils@/sha256sum | @gnused@/sed -e 's/ .*//' |
 	  @openssl@/openssl rsautl -sign -inkey "$@" | @coreutils@/base64 -w 0
 }
 
-case "$QUERY_STRING" in 
+case "$QUERY_STRING" in
 	"")
 		header
 		echo "Hello, this is a dynamically-generated Nix binary cache"
@@ -51,7 +56,7 @@ case "$QUERY_STRING" in
 	*.narinfo)
 		hash=${QUERY_STRING%.narinfo}
 		hash=${hash#/}
-		path="$(echo "$STORE_DIR/$hash-"* )"
+		path="$(echo "$STORE_DIR/$hash-"* | @coreutils@/sort | @coreutils@/head -n 1)"
 		if [ -n "$path" ] && [ -e "$path" ]; then
 			header
 			info="$(
@@ -61,9 +66,9 @@ case "$QUERY_STRING" in
 			echo "Compression: $COMPRESSION"
 			echo "NarHash: $(storeq --hash "$path")"
 			echo "NarSize: $(storeq --size "$path")"
-			echo "References: $(storeq --references "$path" | 
+			echo "References: $(storeq --references "$path" |
 			  @coreutils@/tac | clean_path )"
-			echo "Deriver: $(storeq --deriver "$path" | 
+			echo "Deriver: $(storeq --deriver "$path" |
 			  clean_path )"
 			)"
 			signature="$(echo "$info" | sign "$KEY")"
@@ -72,6 +77,7 @@ case "$QUERY_STRING" in
 			echo "Signature: 1;$KEYNAME;$signature"
 
 		else
+			header404
 			exit 1
 		fi
 		;;
@@ -81,6 +87,7 @@ case "$QUERY_STRING" in
 			header
 			@nix@/nix-store --dump "$path" | @xz@/xz
 		else
+			header404
 			exit 1
 		fi
 		;;
@@ -91,6 +98,7 @@ case "$QUERY_STRING" in
 			header
 			@nix@/nix-store --dump "$path" | @bzip2@/bzip2
 		else
+			header404
 			exit 1
 		fi
 		;;
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
index 571cd215356..65c81c455b9 100644
--- a/pkgs/servers/http/openresty/default.nix
+++ b/pkgs/servers/http/openresty/default.nix
@@ -7,11 +7,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "openresty-${version}";
-  version = "1.7.4.1rc1";
+  version = "1.7.7.1";
 
   src = fetchurl {
     url = "http://openresty.org/download/ngx_openresty-${version}.tar.gz";
-    sha256 = "1j976kmbdv07j3n7bwkpdrjs8hlm13mzzdmfbsfwyxpnk034v0j1";
+    sha256 = "1m541k2lys3155f0r94abgcmm2hgvv56q0i4fk58w6fa8n4h62z0";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ];
@@ -41,13 +41,17 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mv $out/nginx/sbin $out/bin
-    ln -s $out/bin/nginx $out/bin/openresty
+    mv $out/bin/sbin $out/sbin
+
     mv $out/luajit/bin/luajit-2.1.0-alpha $out/bin/luajit-openresty
+    ln -s $out/sbin/nginx $out/sbin/openresty
+    ln -s $out/sbin/nginx $out/bin/openresty
+    ln -s $out/sbin/nginx $out/bin/nginx
   '';
 
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
-    export PATH="$PATH:${stdenv.gcc.libc}/sbin"
+    export PATH="$PATH:${stdenv.cc.libc}/sbin"
     patchShebangs .
   '';
 
diff --git a/pkgs/servers/http/pshs/default.nix b/pkgs/servers/http/pshs/default.nix
new file mode 100644
index 00000000000..141f58417fb
--- /dev/null
+++ b/pkgs/servers/http/pshs/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, libevent, file, qrencode }:
+
+let
+  version = "0.2.6";
+in stdenv.mkDerivation {
+  name = "pshs-${version}";
+
+  src = fetchurl {
+    url = "https://www.bitbucket.org/mgorny/pshs/downloads/pshs-${version}.tar.bz2";
+    sha256 = "0n8l5sjnwjqjmw0jzg3hb93n6npg2wahmdg1zrpsw8fyh9ggjg4g";
+  };
+
+  buildInputs = [ pkgconfig libevent file qrencode ];
+
+  # TODO: enable ssl once dependencies
+  # (libssl libcrypto libevent >= 2.1 libevent_openssl) can be met
+  configureFlags = "--disable-ssl";
+
+  meta = {
+    description = "Pretty small HTTP server - a command-line tool to share files";
+    homepage = "https://bitbucket.org/mgorny/pshs/";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.eduarrrd ];
+  };
+}
diff --git a/pkgs/servers/http/thttpd/default.nix b/pkgs/servers/http/thttpd/default.nix
index 0bb3d96b37b..53a7f916c9a 100644
--- a/pkgs/servers/http/thttpd/default.nix
+++ b/pkgs/servers/http/thttpd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "thttpd-${version}";
-  version = "2.25b";
+  version = "2.26";
 
   src = fetchurl {
     url = "http://acme.com/software/thttpd/${name}.tar.gz";
-    sha256 = "0q13sfkh6amn5wk0ccbmxq3mnhlm8g5pnyk910fa5xngn449nw87";
+    sha256 = "1dybhpyfrly0m285cdn9jah397bqzylrwzi26gin2h451z3gdcqm";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index ee0049ce08f..19f20cc8823 100644
--- a/pkgs/servers/http/tomcat/6.0.nix
+++ b/pkgs/servers/http/tomcat/6.0.nix
@@ -1,23 +1,6 @@
-{ stdenv, fetchurl }:
-
-let version = "6.0.39"; in
-
-stdenv.mkDerivation rec {
-  name = "apache-tomcat-${version}";
-
-  src = fetchurl {
-    url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz";
+import ./recent.nix 
+  {
+    versionMajor = "6";
+    versionMinor = "0.39";
     sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy";
-  };
-
-  installPhase =
-    ''
-      mkdir $out
-      mv * $out
-    '';
-
-  meta = {
-    homepage = http://tomcat.apache.org/;
-    description = "An implementation of the Java Servlet and JavaServer Pages technologies";
-  };
-}
+  }
diff --git a/pkgs/servers/http/tomcat/7.0.nix b/pkgs/servers/http/tomcat/7.0.nix
new file mode 100644
index 00000000000..87bc57eb2b6
--- /dev/null
+++ b/pkgs/servers/http/tomcat/7.0.nix
@@ -0,0 +1,6 @@
+import ./recent.nix 
+  {
+    versionMajor = "7";
+    versionMinor = "0.55";
+    sha256 = "c20934fda63bc7311e2d8e067d67f886890c8be72280425c5f6f8fdd7a376c15";
+  }
diff --git a/pkgs/servers/http/tomcat/8.0.nix b/pkgs/servers/http/tomcat/8.0.nix
new file mode 100644
index 00000000000..63b8d2bbc94
--- /dev/null
+++ b/pkgs/servers/http/tomcat/8.0.nix
@@ -0,0 +1,6 @@
+import ./recent.nix 
+  {
+    versionMajor = "8";
+    versionMinor = "0.9";
+    sha256 = "5ea3c8260088ee4fd223a532a4b0c23a10e549c34705e2f190279a1a7f1f83d9";
+  }
diff --git a/pkgs/servers/http/tomcat/recent.nix b/pkgs/servers/http/tomcat/recent.nix
new file mode 100644
index 00000000000..02be47a6022
--- /dev/null
+++ b/pkgs/servers/http/tomcat/recent.nix
@@ -0,0 +1,25 @@
+{ versionMajor, versionMinor, sha256 }:
+{ stdenv, fetchurl }:
+
+let version = "${versionMajor}.${versionMinor}"; in
+
+stdenv.mkDerivation rec {
+  name = "apache-tomcat-${version}";
+
+  src = fetchurl {
+    url = "mirror://apache/tomcat/tomcat-${versionMajor}/v${version}/bin/${name}.tar.gz";
+    inherit sha256;
+  };
+
+  installPhase =
+    ''
+      mkdir $out
+      mv * $out
+    '';
+
+  meta = {
+    homepage = http://tomcat.apache.org/;
+    description = "An implementation of the Java Servlet and JavaServer Pages technologies";
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/servers/http/winstone/default.nix b/pkgs/servers/http/winstone/default.nix
index 8991a220a76..6a92c0a228a 100644
--- a/pkgs/servers/http/winstone/default.nix
+++ b/pkgs/servers/http/winstone/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "http://winstone.sourceforge.net/";
-    description = "A simple Java Servlet container.";
+    homepage = http://winstone.sourceforge.net/;
+    description = "A simple Java Servlet container";
     license = stdenv.lib.licenses.cddl;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.rickynils ];
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 933df2d0e36..8d160fc958c 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 = "1.98";
+  version = "1.99";
 
   src = fetchurl {
     url = "http://yaws.hyber.org/download/${name}.tar.gz";
-    sha256 = "0c88da7gxha7an3c82j5a3r1y0j7cjq66zqfrzjihg8pwp618zfl";
+    sha256 = "057ymg84ji4pfi3xai6kis3mk8zks2ynbiam0x68cb4cb1yfzwcl";
   };
 
   # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
diff --git a/pkgs/servers/icecast/default.nix b/pkgs/servers/icecast/default.nix
index 8b940fdb0cf..4a89c5ad83b 100644
--- a/pkgs/servers/icecast/default.nix
+++ b/pkgs/servers/icecast/default.nix
@@ -1,28 +1,28 @@
 {stdenv, fetchurl
 , libxml2, libxslt, curl
-, libvorbis, libtheora, speex, libkate }:
+, libvorbis, libtheora, speex, libkate, libopus }:
 
 stdenv.mkDerivation rec {
-  name = "icecast-2.3.3";
+  name = "icecast-2.4.1";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/icecast/${name}.tar.gz";
-    sha256 = "0vf38mk13z1czpbj0g8va4rzjf201slqmiwcs8y9i6iwz3shc78v";
+    sha256 = "0js5lylrgklhvvaksx46zc8lc975qb1bns8h1ms545nv071rxy23";
   };
 
-  buildInputs = [ libxml2 libxslt curl libvorbis libtheora speex libkate ];
+  buildInputs = [ libxml2 libxslt curl libvorbis libtheora speex libkate libopus ];
 
   meta = {
     description = "Server software for streaming multimedia";
 
     longDescription = ''
-      Icecast is a streaming media server which currently supports Ogg Vorbis and MP3
-      audio streams. It can be used to create an Internet radio station or a
-      privately running jukebox and many things in between. It is very versatile in
-      that new formats can be added relatively easily and supports open standards for
-      commuincation and interaction.
+      Icecast is a streaming media server which currently supports
+      Ogg (Vorbis and Theora), Opus, WebM and MP3 audio streams.
+      It can be used to create an Internet radio station or a privately
+      running jukebox and many things in between. It is very versatile
+      in that new formats can be added relatively easily and supports
+      open standards for commuincation and interaction.
     '';
-  
 
     homepage = http://www.icecast.org;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/servers/irc/ircd-hybrid/default.nix b/pkgs/servers/irc/ircd-hybrid/default.nix
index b37aaca1eaa..512cee4b016 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 {
-  name = "ircd-hybrid-7.2.2";
+  name = "ircd-hybrid-8.2.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-7.2.2.tgz;
-    sha256 = "1xn4dfbgx019mhismfnr2idhslvarlajyahj7c6bqzmarcwwrvck";
+    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-8.2.2.tgz;
+    sha256 = "0k9w2mxgi03cpnmagshcr5v6qjgnmyidf966b50dd6yn1fgqcibm";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/servers/irc/ngircd/default.nix b/pkgs/servers/irc/ngircd/default.nix
index 738881e2aaf..50bc86e805e 100644
--- a/pkgs/servers/irc/ngircd/default.nix
+++ b/pkgs/servers/irc/ngircd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zlib, openssl, pam, libiconvOrNull }:
+{ stdenv, fetchurl, zlib, openssl, pam, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "ngircd-21";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     "--with-iconv"
   ];
 
-  buildInputs = [ zlib pam openssl libiconvOrNull ];
+  buildInputs = [ zlib pam openssl libiconv ];
 
   meta = {
     description = "Next Generation IRC Daemon";
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
new file mode 100644
index 00000000000..f2ed57b4eb7
--- /dev/null
+++ b/pkgs/servers/ldap/389/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, pkgconfig, perl, pam, nspr, nss, openldap, db, cyrus_sasl
+, svrcore, icu, net_snmp, kerberos, pcre, perlPackages
+}:
+let
+  version = "1.3.3.5";
+in
+stdenv.mkDerivation rec {
+  name = "389-ds-base-${version}";
+
+  src = fetchurl {
+    url = "http://directory.fedoraproject.org/binaries/${name}.tar.bz2";
+    sha256 = "09w81salyr56njsvq9p96ijrrs0vwsczd43jf6384ylzj1jrxxl5";
+  };
+
+  buildInputs = [
+    pkgconfig perl pam nspr nss openldap db cyrus_sasl svrcore icu
+    net_snmp kerberos pcre
+  ] ++ (with perlPackages; [ MozillaLdap NetAddrIP DBFile ]);
+
+  # TODO: Fix bin/ds-logpipe.py, bin/logconv, bin/cl-dump
+
+  patches = [ ./no-etc.patch ./perl-path.patch ];
+
+  preConfigure = ''
+    # Create perl paths for library imports in perl scripts
+    PERLPATH=""
+    for P in $(echo $PERL5LIB | sed 's/:/ /g'); do
+      PERLPATH="$PERLPATH $(echo $P/*/*)"
+    done
+    export PERLPATH
+  '';
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-openldap=${openldap}"
+    "--with-db=${db}"
+    "--with-sasl=${cyrus_sasl}"
+    "--with-netsnmp=${net_snmp}"
+  ];
+  
+  preInstall = ''
+    # The makefile doesn't create this directory for whatever reason
+    mkdir -p $out/lib/dirsrv
+  '';
+
+  passthru.version = version;
+
+  meta = with stdenv.lib; {
+    homepage = https://directory.fedoraproject.org/;
+    description = "enterprise-class Open Source LDAP server for Linux";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/servers/ldap/389/no-etc.patch b/pkgs/servers/ldap/389/no-etc.patch
new file mode 100644
index 00000000000..a894ffd4005
--- /dev/null
+++ b/pkgs/servers/ldap/389/no-etc.patch
@@ -0,0 +1,62 @@
+From bcdd781b01beba59b9f6993355732070b9487603 Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <william@wkennington.com>
+Date: Fri, 9 Jan 2015 14:51:46 -0800
+Subject: [PATCH 1/2] Makefile: Don't install files to /etc or /var
+
+---
+ Makefile.in | 17 ++++++++---------
+ 1 file changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 24a9ddf..c97d1e1 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -169,15 +169,14 @@ am__uninstall_files_from_dir = { \
+ am__installdirs = "$(DESTDIR)$(serverdir)" \
+ 	"$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" \
+ 	"$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" \
+-	"$(DESTDIR)$(initdir)" "$(DESTDIR)$(sbindir)" \
++	"$(DESTDIR)$(sbindir)" \
+ 	"$(DESTDIR)$(taskdir)" "$(DESTDIR)$(updatedir)" \
+ 	"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" \
+-	"$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" \
+-	"$(DESTDIR)$(initconfigdir)" "$(DESTDIR)$(mibdir)" \
++	"$(DESTDIR)$(infdir)" \
++	"$(DESTDIR)$(mibdir)" \
+ 	"$(DESTDIR)$(propertydir)" "$(DESTDIR)$(perldir)" \
+ 	"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(propertydir)" \
+ 	"$(DESTDIR)$(pythondir)" "$(DESTDIR)$(sampledatadir)" \
+-	"$(DESTDIR)$(schemadir)" "$(DESTDIR)$(systemdsystemunitdir)" \
+ 	"$(DESTDIR)$(updatedir)" "$(DESTDIR)$(serverincdir)"
+ LTLIBRARIES = $(server_LTLIBRARIES) $(serverplugin_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+@@ -10207,7 +10206,7 @@ check: $(BUILT_SOURCES)
+ all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \
+ 		$(MANS) $(DATA) $(HEADERS) config.h
+ installdirs:
+-	for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(initconfigdir)" "$(DESTDIR)$(mibdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)" "$(DESTDIR)$(systemdsystemunitdir)" "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(serverincdir)"; do \
++	for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(mibdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(serverincdir)"; do \
+ 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ 	done
+ install: $(BUILT_SOURCES)
+@@ -10363,13 +10362,13 @@ info: info-am
+ 
+ info-am:
+ 
+-install-data-am: install-configDATA install-infDATA \
+-	install-initSCRIPTS install-initconfigDATA install-man \
++install-data-am: install-infDATA \
++	install-man \
+ 	install-mibDATA install-nodist_propertyDATA install-perlDATA \
+ 	install-pkgconfigDATA install-propertyDATA install-pythonDATA \
+-	install-sampledataDATA install-schemaDATA \
++	install-sampledataDATA \
+ 	install-serverLTLIBRARIES install-serverincHEADERS \
+-	install-serverpluginLTLIBRARIES install-systemdsystemunitDATA \
++	install-serverpluginLTLIBRARIES \
+ 	install-taskSCRIPTS install-updateDATA install-updateSCRIPTS
+ 
+ install-dvi: install-dvi-am
+-- 
+2.1.4
+
diff --git a/pkgs/servers/ldap/389/perl-path.patch b/pkgs/servers/ldap/389/perl-path.patch
new file mode 100644
index 00000000000..73af83a9d6a
--- /dev/null
+++ b/pkgs/servers/ldap/389/perl-path.patch
@@ -0,0 +1,34 @@
+From 78a814e4d5e8708893b6ed8b673a4577abae05f4 Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <william@wkennington.com>
+Date: Fri, 9 Jan 2015 14:52:11 -0800
+Subject: [PATCH 2/2] Makefile: Add PERLPATH to perl files
+
+---
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index c97d1e1..763bf3b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2870,7 +2870,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
+ @BUNDLE_FALSE@	-e 's,@CONSOLE_VERSION\@,$(CONSOLE_VERSION),g' \
+ @BUNDLE_FALSE@	-e 's,@BUILDNUM\@,$(BUILDNUM),g' \
+ @BUNDLE_FALSE@	-e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \
+-@BUNDLE_FALSE@	-e 's,@perlpath\@,$(perldir),g' \
++@BUNDLE_FALSE@	-e 's,@perlpath\@,$(perldir) $(PERLPATH),g' \
+ @BUNDLE_FALSE@	-e 's,@defaultuser\@,$(defaultuser),g' \
+ @BUNDLE_FALSE@	-e 's,@defaultgroup\@,$(defaultgroup),g' \
+ @BUNDLE_FALSE@	-e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
+@@ -2947,7 +2947,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
+ @BUNDLE_TRUE@	-e 's,@CONSOLE_VERSION\@,$(CONSOLE_VERSION),g' \
+ @BUNDLE_TRUE@	-e 's,@BUILDNUM\@,$(BUILDNUM),g' \
+ @BUNDLE_TRUE@	-e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \
+-@BUNDLE_TRUE@	-e 's,@perlpath\@,$(perldir) $(libdir)/perl/arch $(libdir)/perl,g' \
++@BUNDLE_TRUE@	-e 's,@perlpath\@,$(perldir) $(PERLPATH) $(libdir)/perl/arch $(libdir)/perl,g' \
+ @BUNDLE_TRUE@	-e 's,@defaultuser\@,$(defaultuser),g' \
+ @BUNDLE_TRUE@	-e 's,@defaultgroup\@,$(defaultgroup),g' \
+ @BUNDLE_TRUE@	-e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
+-- 
+2.1.4
+
diff --git a/pkgs/servers/limesurvey/default.nix b/pkgs/servers/limesurvey/default.nix
new file mode 100644
index 00000000000..89ce5a644d8
--- /dev/null
+++ b/pkgs/servers/limesurvey/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, lib, fetchFromGitHub, writeText, makeWrapper, php }:
+
+stdenv.mkDerivation rec {
+  name = "limesurvey-${version}";
+  version = "2.05_plus_141210";
+
+  src = fetchFromGitHub {
+    owner = "LimeSurvey";
+    repo = "LimeSurvey";
+    rev = version;
+    sha256 = "1b5yixrlrjm055ag07c7phk84mk1892v20nsss1y0xzvgn6s14gq";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phpConfig = writeText "config.php" ''
+  <?php
+    return require(getenv('LIMESURVEY_CONFIG'));
+  ?>
+  '';
+
+  patchPhase = ''
+    substituteInPlace application/core/LSYii_Application.php \
+      --replace "'basePath" "//'basePath"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/limesurvey}
+    cp -R . $out/share/limesurvey
+    cp ${phpConfig} $out/share/limesurvey/application/config/config.php
+    makeWrapper ${php}/bin/php $out/bin/limesurvey-console \
+      --add-flags "$out/share/limesurvey/application/commands/console.php"
+  '';
+
+  meta = with lib; {
+    description = "Open source survey application";
+    license = licenses.gpl2;
+    homepage = https://www.limesurvey.org;
+    maintainers = with maintainers; [offline];
+  };
+}
diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix
index 0c12b6ba3db..a774777709f 100644
--- a/pkgs/servers/mail/dovecot/2.2.x.nix
+++ b/pkgs/servers/mail/dovecot/2.2.x.nix
@@ -2,14 +2,14 @@
 , inotifyTools, clucene_core_2, sqlite }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.2.13";
+  name = "dovecot-2.2.16";
 
   buildInputs = [perl openssl bzip2 zlib openldap clucene_core_2 sqlite]
     ++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotifyTools ];
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
-    sha256 = "1klxbnlgqvq4v2inp18yv3x04xp0vf8nr67ci1k3yww1mb9g6g0k";
+    sha256 = "1w6gg4h9mxg3i8faqpmgj19imzyy001b0v8ihch8ma3zl63i5kjn";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 5f779c75472..bd179490c18 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "dovecot-2.1.17";
 
-  buildInputs = [openssl pam bzip2 zlib inotifyTools openldap];
+  buildInputs = [openssl bzip2 zlib openldap] ++ stdenv.lib.optionals stdenv.isLinux [pam inotifyTools];
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.1/${name}.tar.gz";
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
new file mode 100644
index 00000000000..ae4e1d6f245
--- /dev/null
+++ b/pkgs/servers/mail/exim/default.nix
@@ -0,0 +1,63 @@
+{ coreutils, fetchurl, db, openssl, pcre, perl, pkgconfig, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "exim-4.85";
+
+  src = fetchurl {
+    url = "http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/${name}.tar.bz2";
+    sha256 = "195a3ll5ck9viazf9pvgcyc0sziln5g0ggmlm6ax002lphmiy88k";
+  };
+
+  buildInputs = [ coreutils db openssl pcre perl pkgconfig ];
+
+  preBuild = ''
+    sed '
+      s:^\(BIN_DIRECTORY\)=.*:\1='"$out"'/bin:
+      s:^\(CONFIGURE_FILE\)=.*:\1=/etc/exim.conf:
+      s:^\(EXIM_USER\)=.*:\1=ref\:nobody:
+      s:^\(SPOOL_DIRECTORY\)=.*:\1=/exim-homeless-shelter:
+      s:^# \(SUPPORT_MAILDIR\)=.*:\1=yes:
+      s:^EXIM_MONITOR=.*$:# &:
+      s:^\(FIXED_NEVER_USERS\)=root$:\1=0:
+      s:^# \(WITH_CONTENT_SCAN\)=.*:\1=yes:
+      s:^# \(AUTH_PLAINTEXT\)=.*:\1=yes:
+      s:^# \(SUPPORT_TLS\)=.*:\1=yes:
+      s:^# \(USE_OPENSSL_PC=openssl\)$:\1:
+      s:^# \(LOG_FILE_PATH=syslog\)$:\1:
+      s:^# \(HAVE_IPV6=yes\)$:\1:
+      s:^# \(CHOWN_COMMAND\)=.*:\1=${coreutils}/bin/chown:
+      s:^# \(CHGRP_COMMAND\)=.*:\1=${coreutils}/bin/chgrp:
+      s:^# \(CHMOD_COMMAND\)=.*:\1=${coreutils}/bin/chmod:
+      s:^# \(MV_COMMAND\)=.*:\1=${coreutils}/bin/mv:
+      s:^# \(RM_COMMAND\)=.*:\1=${coreutils}/bin/rm:
+      s:^# \(TOUCH_COMMAND\)=.*:\1=${coreutils}/bin/touch:
+      s:^# \(PERL_COMMAND\)=.*:\1=${perl}/bin/perl:
+      #/^\s*#.*/d
+      #/^\s*$/d
+    ' < src/EDITME > Local/Makefile
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man8
+    cp doc/exim.8 $out/share/man/man8
+
+    ( cd build-Linux-*
+      cp exicyclog exim_checkaccess exim_dumpdb exim_lock exim_tidydb \
+        exipick exiqsumm exigrep exim_dbmbuild exim exim_fixdb eximstats \
+        exinext exiqgrep exiwhat \
+        $out/bin )
+
+    ( cd $out/bin
+      for i in mailq newaliases rmail rsmtp runq sendmail; do
+        ln -s exim $i
+      done )
+  '';
+
+  meta = {
+    homepage = "http://exim.org/";
+    description = "Exim is a mail transfer agent (MTA) for hosts that are running Unix or Unix-like operating systems.";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.tv ];
+  };
+}
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index 6442c6f2621..e4fffecb959 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, dnspython }:
 
 stdenv.mkDerivation rec {
-  name = "mailman-2.1.17";
+  name = "mailman-2.1.18";
 
   src = fetchurl {
     url = "mirror://gnu/mailman/${name}.tgz";
-    sha256 = "1rws4ghpq78ldp1si3z4pmiv1k4l8g6i6hjb2y4cwsjlxssahc64";
+    sha256 = "0jc360crakvpz71msl0h11zv3849fqzlj9jfh1g7x3j4459n07fw";
   };
 
-  buildInputs = [ python ];
+  buildInputs = [ python dnspython ];
 
   patches = [ ./fix-var-prefix.patch ];
 
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index 522d0b60f00..d2c19a2a00b 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, libevent, zlib, openssl, db, bison, pam }:
+{ stdenv, fetchurl, libasr, libevent, zlib, openssl, db, bison, pam }:
 
 stdenv.mkDerivation rec {
   name = "opensmtpd-${version}";
-  version = "5.4.2p1";
+  version = "5.4.4p1";
 
-  buildInputs = [ libevent zlib openssl db bison pam ];
+  buildInputs = [ libasr libevent zlib openssl db bison pam ];
 
   src = fetchurl {
     url = "http://www.opensmtpd.org/archives/${name}.tar.gz";
-    sha256 = "18nrzfjhv9znb5dbhc5k3fi31a3vr1r8j36q3fzghkh47n6z9yjg";
-  };  
+    sha256 = "1gcfdmpkk892wnnhwc2nb559bwl3k892w7saj4q8m6jfll53660i";
+  };
 
-  configureFlags = [ 
+  configureFlags = [
     "--with-mantype=doc"
     "--with-pam"
     "--without-bsd-auth"
@@ -19,13 +19,13 @@ stdenv.mkDerivation rec {
     "--with-privsep-user=smtpd"
     "--with-queue-user=smtpq"
     "--with-ca-file=/etc/ssl/certs/ca-bundle.crt"
-  ];  
+  ];
 
   meta = {
-    homepage = "http://www.postfix.org/";
+    homepage = https://www.opensmtpd.org/;
     description = ''
       A free implementation of the server-side SMTP protocol as defined by
-      RFC 5321, with some additional standard extensions.
+      RFC 5321, with some additional standard extensions
     '';
     license = stdenv.lib.licenses.isc;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/servers/mail/postfix/2.11.nix b/pkgs/servers/mail/postfix/2.11.nix
index 3651b1b74a4..817f559cbd5 100644
--- a/pkgs/servers/mail/postfix/2.11.nix
+++ b/pkgs/servers/mail/postfix/2.11.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
 
   name = "postfix-${version}";
 
-  version = "2.11.1";
+  version = "2.11.4";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
-    sha256 = "1ql9cifjcfhfi81lrf6zvk0r3spgcp01xwna16a7k9cm7fkrhzs8";
+    sha256 = "07h3rdfgs449hb49rxcx4iapib0l0zchnhscgn4h00wcnlflq5gl";
   };
 
   patches = [ ./postfix-2.11.0.patch ];
@@ -33,8 +33,9 @@ stdenv.mkDerivation rec {
     export sendmail_path=$out/bin/sendmail
 
     make makefiles \
-      CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl' \
-      AUXLIBS='-ldb -lnsl -lresolv -lsasl2 -lcrypto -lssl'
+      CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl \
+              -fPIE -fstack-protector-all --param ssp-buffer-size=4 -O2 -D_FORTIFY_SOURCE=2' \
+      AUXLIBS='-ldb -lnsl -lresolv -lsasl2 -lcrypto -lssl -pie -Wl,-z,relro,-z,now'
   '';
 
   installTargets = [ "non-interactive-package" ];
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 0bfc31580e1..7bd2d620910 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     sed -i -e s,/usr/bin,/var/run/current-system/sw/bin, \
-      -e s,/usr/sbin,/var/run/current-system/sw/sbin, \
+      -e s,/usr/sbin,/var/run/current-system/sw/bin, \
       -e s,:/sbin,, src/util/sys_defs.h
   '';
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     export sample_directory=$out/share/postfix/doc/samples
     export readme_directory=$out/share/postfix/doc
 
-    make makefiles CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl' AUXLIBS='-lssl -lcrypto -lsasl2 -ldb -lnsl'
+    make makefiles CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl -fPIE -fstack-protector-all --param ssp-buffer-size=4 -O2 -D_FORTIFY_SOURCE=2' AUXLIBS='-lssl -lcrypto -lsasl2 -ldb -lnsl -pie -Wl,-z,relro,-z,now'
   '';
 
   installPhase = ''
diff --git a/pkgs/servers/mediatomb/default.nix b/pkgs/servers/mediatomb/default.nix
index d88e1dd9e14..4d3ef231af3 100644
--- a/pkgs/servers/mediatomb/default.nix
+++ b/pkgs/servers/mediatomb/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchurl
-, sqlite, expat, spidermonkey, taglib, libexif, curl, ffmpeg, file }:
+{ stdenv, fetchgit
+, sqlite, expat, mp4v2, flac, spidermonkey, taglib, libexif, curl, ffmpeg, file
+, pkgconfig, autoreconfHook }:
 
 stdenv.mkDerivation rec {
 
   name = "mediatomb-${version}";
   version = "0.12.1";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/mediatomb/${name}.tar.gz";
-    sha256 = "1k8i5zvgik7cad7znd8358grzwh62frpqww1a5rwkldrlws3q5ii";
+  src = fetchgit {
+    url = meta.repositories.git;
+    rev = "7ab761696354868bd5d67ff4f2d849994e4c98e2";
+    sha256 = "7b51d488ac0b93c7720f8f8373970884a55b0879b1f6941873e916f41177d062";
   };
 
-  patches = [ ./zmm_new.patch ];
-
-  buildInputs = [ sqlite expat spidermonkey taglib libexif curl ffmpeg file ];
-
-  configureFlags = [ "--enable-inotify" ];
+  buildInputs = [ sqlite expat spidermonkey taglib libexif curl ffmpeg file mp4v2 flac
+                  pkgconfig autoreconfHook ];
 
   meta = with stdenv.lib; {
     homepage = http://mediatomb.cc;
+    repositories.git = git://mediatomb.git.sourceforge.net/gitroot/mediatomb/mediatomb;
     description = "UPnP MediaServer with a web user interface";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/servers/mediatomb/zmm_new.patch b/pkgs/servers/mediatomb/zmm_new.patch
deleted file mode 100644
index 5238b42035b..00000000000
--- a/pkgs/servers/mediatomb/zmm_new.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -rc mediatomb-0.12.1.old/src/zmm/object.h mediatomb-0.12.1/src/zmm/object.h
-*** mediatomb-0.12.1.old/src/zmm/object.h	2010-03-25 07:58:08.000000000 -0700
---- mediatomb-0.12.1/src/zmm/object.h	2013-02-15 17:57:02.000000000 -0800
-***************
-*** 33,38 ****
---- 33,39 ----
-  #define __ZMM_OBJECT_H__
-  
-  #include <new> // for size_t
-+ #include <stddef.h>
-  #include "atomic.h"
-  
-  namespace zmm
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index b45bef0cce8..74033be8cf8 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  name = "memcached-1.4.17";
+  name = "memcached-1.4.20";
 
   src = fetchurl {
     url = "http://memcached.org/files/${name}.tar.gz";
-    sha1 = "2b4fc706d39579cf355e3358cfd27b44d40bd79c";
+    sha256 = "0620llasj8xgffk6hk2ml15z0c5i34455wwg60i1a2zdir023l95";
   };
 
   buildInputs = [cyrus_sasl libevent];
diff --git a/pkgs/servers/monitoring/bosun/default.nix b/pkgs/servers/monitoring/bosun/default.nix
new file mode 100644
index 00000000000..d37a4ff5b70
--- /dev/null
+++ b/pkgs/servers/monitoring/bosun/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub, goPackages }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "20150311224711";
+  name = "bosun-${rev}";
+  goPackagePath = "bosun.org";
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "bosun-monitor";
+    repo = "bosun";
+    sha256 = "1nzzmlbiah7lpkm5n7yzxv1wmcxg8pszlzzsdvb7ccy0agpihxjg";
+  };
+  subPackages = [ "cmd/bosun" ];
+
+  meta = with lib; {
+    description = "Time series alerting framework";
+    longDescription = ''
+      An advanced, open-source monitoring and alerting system by Stack Exchange.
+    '';
+    homepage = http://bosun.org;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/bosun/scollector.nix b/pkgs/servers/monitoring/bosun/scollector.nix
new file mode 100644
index 00000000000..ba6b0f369b9
--- /dev/null
+++ b/pkgs/servers/monitoring/bosun/scollector.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, goPackages }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "20150311224711";
+  name = "bosun-${rev}";
+  goPackagePath = "bosun.org";
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "bosun-monitor";
+    repo = "bosun";
+    sha256 = "1nzzmlbiah7lpkm5n7yzxv1wmcxg8pszlzzsdvb7ccy0agpihxjg";
+  };
+  subPackages = [ "cmd/scollector" ];
+
+  meta = with lib; {
+    description = "Collect system information and store it in OpenTSDB or Bosun";
+    homepage = http://bosun.org/scollector;
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix
new file mode 100644
index 00000000000..1e818a508d9
--- /dev/null
+++ b/pkgs/servers/monitoring/cadvisor/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, go, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "cadvisor-${version}";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "cadvisor";
+    rev = "${version}";
+    sha256 = "0k0qfhw755k3ripsfkhml0ixaglhy64hdzxrjvlmbgc50s3j37vh";
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    mkdir -p Godeps/_workspace/src/github.com/google/
+    ln -s $(pwd) Godeps/_workspace/src/github.com/google/cadvisor
+    GOPATH=$(pwd)/Godeps/_workspace go build -v -o cadvisor github.com/google/cadvisor
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv cadvisor $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Analyzes resource usage and performance characteristics of running docker containers.";
+    homepage = https://github.com/google/cadvisor;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 245c838607f..51eda757e3c 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, which, coreutils, rrdtool, perl, perlPackages
-, python, ruby, openjdk, nettools
+, python, ruby, jre, nettools
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.21";
+  version = "2.0.25";
   name = "munin-${version}";
 
   src = fetchurl {
     url = "https://github.com/munin-monitoring/munin/archive/${version}.tar.gz";
-    sha256 = "18ipk8n78iik07190h9r8mj5209ha6yhbiw7da0l4khw0y00cvf8";
+    sha256 = "1ig67l3p5fnx44fcvbbinajxlin9i7g9cbac93h2hcvb2qhzzzra";
   };
 
   buildInputs = [ 
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
     perl
     perlPackages.ModuleBuild
     perlPackages.HTMLTemplate
+    perlPackages.NetCIDR
     perlPackages.NetSSLeay
     perlPackages.NetServer
     perlPackages.Log4Perl
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
     perlPackages.DBDPg
     python
     ruby
-    openjdk
+    jre
     # tests
     perlPackages.TestLongString
     perlPackages.TestDifferences
@@ -90,11 +91,14 @@ stdenv.mkDerivation rec {
     PERL=${perl}/bin/perl
     PYTHON=${python}/bin/python
     RUBY=${ruby}/bin/ruby
-    JAVARUN=${openjdk}/bin/java
+    JAVARUN=${jre}/bin/java
     PLUGINUSER=munin
   '';
 
   postFixup = ''
+    echo "Removing references to /usr/{bin,sbin}/ from munin plugins..."
+    find "$out/lib/plugins" -type f -print0 | xargs -0 -L1 sed -i -e "s|/usr/bin/||g" -e "s|/usr/sbin/||g"
+
     if test -e $out/nix-support/propagated-native-build-inputs; then
         ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
     fi
@@ -105,9 +109,9 @@ stdenv.mkDerivation rec {
             *.jar) continue;;
         esac
         wrapProgram "$file" \
-          --set PERL5LIB "$out/lib/perl5/site_perl:${with perlPackages; stdenv.lib.makePerlPath [
+          --set PERL5LIB "$out/lib/perl5/site_perl:${rrdtool}/lib/perl:${with perlPackages; stdenv.lib.makePerlPath [
                 Log4Perl IOSocketInet6 Socket6 URI DBFile DateManip
-                HTMLTemplate FileCopyRecursive FCGI NetSNMP NetServer
+                HTMLTemplate FileCopyRecursive FCGI NetCIDR NetSNMP NetServer
                 ListMoreUtils TimeHiRes DBDPg LWPUserAgent
                 ]}"
     done
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index 30317d25cff..efc61b9fd6b 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, file, openssl, perl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "net-snmp-5.7.2.1";
+  name = "net-snmp-5.7.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/net-snmp/${name}.zip";
-    sha256 = "1nj3b2x4fhsh82nra99128vqp2lfw5wx91ka8nqwzxvik59hb4dc";
+    sha256 = "0gkss3zclm23zwpqfhddca8278id7pk6qx1mydpimdrrcndwgpz8";
   };
 
   preConfigure =
@@ -24,15 +24,18 @@ stdenv.mkDerivation rec {
       "--with-sys-contact=root@unknown"
       "--with-logfile=/var/log/net-snmpd.log"
       "--with-persistent-directory=/var/lib/net-snmp"
+      "--with-openssl=${openssl}"
     ];
 
-  buildInputs = [ autoreconfHook file openssl perl unzip ];
+  buildInputs = [ autoreconfHook file perl unzip openssl ];
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Clients and server for the SNMP network monitoring protocol";
     homepage = http://net-snmp.sourceforge.net/;
-    license = "bsd";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/servers/monitoring/newrelic-sysmond/default.nix b/pkgs/servers/monitoring/newrelic-sysmond/default.nix
new file mode 100644
index 00000000000..777cfe805bf
--- /dev/null
+++ b/pkgs/servers/monitoring/newrelic-sysmond/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+assert stdenv.system == "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "newrelic-sysmond-1.5.1.93";
+
+  src = fetchurl {
+    url = "http://download.newrelic.com/server_monitor/release/newrelic-sysmond-1.5.1.93-linux.tar.gz";
+
+    sha256 = "1bfwyczcf7pvji8lx566jxgy8dhyf1gmqmi64lj10673a86axnwz";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -v -m755 daemon/nrsysmond.x64 $out/bin/nrsysmond
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $out/bin/nrsysmond
+  '';
+
+  meta = {
+    homepage = http://newrelic.com/;
+
+    description = "System-wide monitoring for newrelic";
+
+    license = stdenv.lib.licenses.unfree;
+
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager/default.nix b/pkgs/servers/monitoring/prometheus/alertmanager/default.nix
new file mode 100644
index 00000000000..4ef870bfcf9
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/alertmanager/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, lib, goPackages, fetchFromGitHub, protobuf, vim }:
+
+with goPackages;
+
+buildGoPackage rec {
+  name = "prometheus-alertmanager-${version}";
+  version = "0.1.0";
+  goPackagePath = "github.com/prometheus/alertmanager";
+
+  src = fetchFromGitHub {
+    owner = "prometheus";
+    repo = "alertmanager";
+    rev = "942cd35dea6dc406b106d7a57ffe7adbb3b978a5";
+    sha256 = "1c14vgn9s0dn322ss8fs5b47blw1g8cxy9w4yjn0f7x2sdwplx1i";
+  };
+
+  buildInputs = [
+    goPackages.glog
+    goPackages.protobuf
+    goPackages.fsnotify
+    goPackages.httprouter
+    goPackages.prometheus.client_golang
+    goPackages.pushover
+    protobuf
+    vim
+  ];
+
+  buildFlagsArray = ''
+    -ldflags=
+        -X main.buildVersion ${version}
+        -X main.buildBranch master
+        -X main.buildUser nix@nixpkgs
+        -X main.buildDate 20150101-00:00:00
+        -X main.goVersion ${lib.getVersion go}
+  '';
+
+  preBuild = ''
+  (
+    cd "go/src/$goPackagePath"
+    protoc --proto_path=./config \
+           --go_out=./config/generated/ \
+           ./config/config.proto
+    cd web
+    ${stdenv.shell} blob/embed-static.sh static templates \
+      | gofmt > blob/files.go
+  )
+  '';
+
+  meta = with lib; {
+    description = "Alerting dispather for the Prometheus monitoring system";
+    homepage = "https://github.com/prometheus/alertmanager";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/cli/default.nix b/pkgs/servers/monitoring/prometheus/cli/default.nix
new file mode 100644
index 00000000000..f1f5ef9975c
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/cli/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, goPackages, fetchFromGitHub }:
+
+goPackages.buildGoPackage rec {
+  name = "prometheus-cli-0.2.0";
+  goPackagePath = "github.com/prometheus/prometheus_cli";
+  src = fetchFromGitHub {
+    owner = "prometheus";
+    repo = "prometheus_cli";
+    rev = "b36c21d2301cf686bff81953573a29a6d5a0a883";
+    sha256 = "190dlc6fyrfgxab4xj3gaz4jwx33jhzg57d8h36xjx56gbvp7iyk";
+  };
+
+  buildInputs = [
+    goPackages.prometheus.client_model
+    goPackages.prometheus.client_golang
+  ];
+
+  meta = with lib; {
+    description = "Command line tool for querying the Prometheus HTTP API";
+    homepage = https://github.com/prometheus/prometheus_cli;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
new file mode 100644
index 00000000000..6e181c6ec9e
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, lib, goPackages, fetchFromGitHub, protobuf, vim }:
+
+with goPackages;
+
+buildGoPackage rec {
+   name = "prometheus-${version}";
+   version = "0.12.0";
+   goPackagePath = "github.com/prometheus/prometheus";
+   rev = "55dcb55498b43bafe94915a4de7907d6d66b4427";
+
+   src = fetchFromGitHub {
+     inherit rev;
+     owner = "prometheus";
+     repo = "prometheus";
+     sha256 = "17bbdk9axr91m2947ddbnzqwaap2vrzsbknbrlpdsmlsjhc8h7cb";
+   };
+
+   buildInputs = [
+     dns glog goleveldb prometheus.client_golang
+     goPackages.protobuf
+     protobuf  # the non-golang package, for protoc
+     vim  # for xxd, used in embed-static.sh
+   ];
+
+   # Metadata that gets embedded into the binary
+   buildFlagsArray = ''
+     -ldflags=
+         -X main.buildVersion ${version}
+         -X main.buildRevision ${builtins.substring 0 6 rev}
+         -X main.buildBranch master
+         -X main.buildUser nix@nixpkgs
+         -X main.buildDate 20150101-00:00:00
+         -X main.goVersion ${lib.getVersion go}
+   '';
+
+   preBuild = ''
+   (
+     cd "go/src/$goPackagePath"
+     protoc --proto_path=./config \
+            --go_out=./config/generated/ \
+            ./config/config.proto
+
+     cd web
+     ${stdenv.shell} ../utility/embed-static.sh static templates \
+       | gofmt > blob/files.go
+   )
+   '';
+
+   meta = with lib; {
+     description = "Service monitoring system and time series database";
+     homepage = http://prometheus.github.io;
+     license = licenses.asl20;
+     maintainers = with maintainers; [ benley ];
+     platforms = platforms.unix;
+   };
+}
diff --git a/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix b/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix
new file mode 100644
index 00000000000..63c421cd8a2
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, goPackages, fetchFromGitHub, }:
+
+goPackages.buildGoPackage rec {
+  name = "prometheus-haproxy-exporter-0.4.0";
+  goPackagePath = "github.com/prometheus/haproxy_exporter";
+
+  src = fetchFromGitHub {
+    owner = "prometheus";
+    repo = "haproxy_exporter";
+    rev = "6ee6d1df3e68ed73df37c9794332b2594e4da45d";
+    sha256 = "0lbwv6jsdfjd9ihiky3lq7d5rkxqjh7xfaziw8i3w34a38japlpr";
+  };
+
+  buildInputs = [ goPackages.prometheus.client_golang ];
+
+  meta = with lib; {
+    description = "HAProxy Exporter for the Prometheus monitoring system";
+    homepage = https://github.com/prometheus/haproxy_exporter;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix b/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix
new file mode 100644
index 00000000000..c8793e17abb
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, goPackages, fetchFromGitHub }:
+
+goPackages.buildGoPackage rec {
+  name = "prometheus-mesos-exporter-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "a4a6638d6db6b5137e130cd4903b30dd82b78e9a";
+  goPackagePath = "github.com/prometheus/mesos_exporter";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "prometheus";
+    repo = "mesos_exporter";
+    sha256 = "1h4yxfcr8l9i2m1s5ygk3slhxdrs4mvmpn3sq8m5s205abvp891q";
+  };
+
+  buildInputs = [ goPackages.mesos-stats ];
+
+  meta = with lib; {
+    description = "Export Mesos metrics to Prometheus";
+    homepage = https://github.com/prometheus/mesos_exporter;
+    licenses = licenses.asl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/node_exporter/default.nix b/pkgs/servers/monitoring/prometheus/node_exporter/default.nix
new file mode 100644
index 00000000000..97169a0e298
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/node_exporter/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  name = "prometheus-node-exporter-0.8.0";
+  goPackagePath = "github.com/prometheus/node_exporter";
+
+  src = fetchFromGitHub {
+    owner = "prometheus";
+    repo = "node_exporter";
+    rev = "aaf01e52e25883671fd67234b415df7abd0e4eac";
+    sha256 = "0j1qvgsc2hcv50l9lyfivkzsyjkjp3w1yyqvd1gzfybk7hi59dya";
+  };
+
+  buildInputs = [
+    glog
+    go-runit
+    ntp
+    prometheus.client_golang
+    prometheus.client_model
+    protobuf
+  ];
+
+  meta = with lib; {
+    description = "Prometheus exporter for machine metrics";
+    homepage = https://github.com/prometheus/node_exporter;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/pushgateway/default.nix b/pkgs/servers/monitoring/prometheus/pushgateway/default.nix
new file mode 100644
index 00000000000..db66e963208
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/pushgateway/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  name = "prometheus-pushgateway-${version}";
+  version = "0.1.0";
+  goPackagePath = "github.com/prometheus/pushgateway";
+  rev = "3f1d42dade342ddb88381607358bae61a0a6b6c7";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "prometheus";
+    repo = "pushgateway";
+    sha256 = "1wqxbl9rlnxszp9ylvdbx6f5lyj2z0if3x099fnjahbqmz8yhnf4";
+  };
+
+  buildInputs = [
+    go-bindata
+    protobuf
+    httprouter
+    golang_protobuf_extensions
+    prometheus.client_golang
+  ];
+
+  buildFlagsArray = ''
+    -ldflags=
+        -X main.buildVersion ${version}
+        -X main.buildRev ${rev}
+        -X main.buildBranch master
+        -X main.buildUser nix@nixpkgs
+        -X main.buildDate 20150101-00:00:00
+        -X main.goVersion ${lib.getVersion go}
+  '';
+
+  preBuild = ''
+  (
+    cd "go/src/$goPackagePath"
+    go-bindata ./resources/
+  )
+  '';
+
+  meta = with lib; {
+    description =
+      "Allows ephemeral and batch jobs to expose metrics to Prometheus";
+    homepage = https://github.com/prometheus/pushgateway;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix b/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix
new file mode 100644
index 00000000000..231aa31802c
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, goPackages, fetchFromGitHub }:
+
+goPackages.buildGoPackage rec {
+  name = "prometheus-statsd-bridge-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "9715b183150c7bed8a10affb23d33fb55c597180";
+  goPackagePath = "github.com/prometheus/statsd_bridge";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "prometheus";
+    repo = "statsd_bridge";
+    sha256 = "119024xb08qjwbhplpl5d94bjdfhn92w4ffn4kxr7aviri1gynfz";
+  };
+
+  buildInputs = with goPackages; [
+    fsnotify
+    prometheus.client_golang
+  ];
+
+  meta = with lib; {
+    description = "Receives StatsD-style metrics and exports them to Prometheus";
+    homepage = https://github.com/prometheus/statsd_bridge;
+    licenses = licenses.asl20;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/riemann-dash/Gemfile b/pkgs/servers/monitoring/riemann-dash/Gemfile
new file mode 100644
index 00000000000..496302e7643
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+
+gem "riemann-dash", "0.2.9"
diff --git a/pkgs/servers/monitoring/riemann-dash/Gemfile.lock b/pkgs/servers/monitoring/riemann-dash/Gemfile.lock
new file mode 100644
index 00000000000..cd0ace470e2
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/Gemfile.lock
@@ -0,0 +1,27 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    erubis (2.7.0)
+    multi_json (1.3.6)
+    rack (1.5.2)
+    rack-protection (1.5.3)
+      rack
+    riemann-dash (0.2.9)
+      erubis (>= 2.7.0)
+      multi_json (= 1.3.6)
+      sass (>= 3.1.14)
+      sinatra (~> 1.4.5)
+      webrick (~> 1.3.1)
+    sass (3.4.8)
+    sinatra (1.4.5)
+      rack (~> 1.4)
+      rack-protection (~> 1.4)
+      tilt (~> 1.3, >= 1.3.4)
+    tilt (1.4.1)
+    webrick (1.3.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  riemann-dash (= 0.2.9)
diff --git a/pkgs/servers/monitoring/riemann-dash/default.nix b/pkgs/servers/monitoring/riemann-dash/default.nix
new file mode 100644
index 00000000000..1afcd81d9be
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/default.nix
@@ -0,0 +1,8 @@
+{ bundlerEnv }:
+
+bundlerEnv {
+  name = "riemann-dash-0.2.9";
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+}
diff --git a/pkgs/servers/monitoring/riemann-dash/gemset.nix b/pkgs/servers/monitoring/riemann-dash/gemset.nix
new file mode 100644
index 00000000000..f2e80e9aca4
--- /dev/null
+++ b/pkgs/servers/monitoring/riemann-dash/gemset.nix
@@ -0,0 +1,80 @@
+{
+  erubis = {
+    version = "2.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+    };
+  };
+  multi_json = {
+    version = "1.3.6";
+    source = {
+      type = "gem";
+      sha256 = "0q2zjfvd2ibds9g9nzf2p1b47fc1wqliwfywv5pw85w15lmy91yr";
+    };
+  };
+  rack = {
+    version = "1.5.2";
+    source = {
+      type = "gem";
+      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
+    };
+  };
+  rack-protection = {
+    version = "1.5.3";
+    source = {
+      type = "gem";
+      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  riemann-dash = {
+    version = "0.2.9";
+    source = {
+      type = "gem";
+      sha256 = "0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3";
+    };
+    dependencies = [
+      "erubis"
+      "multi_json"
+      "sass"
+      "sinatra"
+      "webrick"
+    ];
+  };
+  sass = {
+    version = "3.4.8";
+    source = {
+      type = "gem";
+      sha256 = "1ianyj2figwk314h10fkzpjql2xxi5l4njv1h0w8iyzjda85rqlp";
+    };
+  };
+  sinatra = {
+    version = "1.4.5";
+    source = {
+      type = "gem";
+      sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s";
+    };
+    dependencies = [
+      "rack"
+      "rack-protection"
+      "tilt"
+    ];
+  };
+  tilt = {
+    version = "1.4.1";
+    source = {
+      type = "gem";
+      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
+    };
+  };
+  webrick = {
+    version = "1.3.1";
+    source = {
+      type = "gem";
+      sha256 = "0s42mxihcl2bx0h9q0v2syl70qndydfkl39a06h9il17p895ya8g";
+    };
+  };
+}
diff --git a/pkgs/servers/monitoring/riemann/default.nix b/pkgs/servers/monitoring/riemann/default.nix
index 5278e543813..f8cd73605ca 100644
--- a/pkgs/servers/monitoring/riemann/default.nix
+++ b/pkgs/servers/monitoring/riemann/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "riemann-${version}";
-  version = "0.2.6";
+  version = "0.2.8";
 
   src = fetchurl {
     url = "http://aphyr.com/riemann/${name}.tar.bz2";
-    sha256 = "1m1vkvdcpcc93ipzpdlq0lig81yw172qfiqbxlrbjyb0x6j1984d";
+    sha256 = "1p2pdkxy2xc5zlj6kadf4z8l0f0r4bvdgipqf52193l7rdm6dfzm";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -17,10 +17,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = "http://riemann.io/";
-    description = ''
-      A network monitoring system.
-    '';
+    homepage = http://riemann.io/;
+    description = "A network monitoring system";
     license = licenses.epl10;
     platforms = platforms.all;
     maintainers = [ maintainers.rickynils ];
diff --git a/pkgs/servers/monitoring/sensu/Gemfile b/pkgs/servers/monitoring/sensu/Gemfile
new file mode 100644
index 00000000000..ebee9f25721
--- /dev/null
+++ b/pkgs/servers/monitoring/sensu/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'sensu'
diff --git a/pkgs/servers/monitoring/sensu/Gemfile.lock b/pkgs/servers/monitoring/sensu/Gemfile.lock
new file mode 100644
index 00000000000..9f58be03b62
--- /dev/null
+++ b/pkgs/servers/monitoring/sensu/Gemfile.lock
@@ -0,0 +1,75 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    amq-protocol (1.9.2)
+    amqp (1.5.0)
+      amq-protocol (>= 1.9.2)
+      eventmachine
+    async_sinatra (1.0.0)
+      rack (>= 1.4.1)
+      sinatra (>= 1.3.2)
+    childprocess (0.5.3)
+      ffi (~> 1.0, >= 1.0.11)
+    daemons (1.2.2)
+    em-redis-unified (0.6.0)
+      eventmachine (>= 0.12.10)
+    em-worker (0.0.2)
+      eventmachine
+    eventmachine (1.0.3)
+    ffi (1.9.8)
+    multi_json (1.11.0)
+    rack (1.6.0)
+    rack-protection (1.5.3)
+      rack
+    sensu (0.17.1)
+      async_sinatra (= 1.0.0)
+      em-redis-unified (= 0.6.0)
+      eventmachine (= 1.0.3)
+      multi_json (= 1.11.0)
+      sensu-em (= 2.4.1)
+      sensu-extension (= 1.1.2)
+      sensu-extensions (= 1.2.0)
+      sensu-logger (= 1.0.0)
+      sensu-settings (= 1.3.0)
+      sensu-spawn (= 1.1.0)
+      sensu-transport (= 2.4.0)
+      sinatra (= 1.3.5)
+      thin (= 1.5.0)
+      uuidtools (= 2.1.4)
+    sensu-em (2.4.1)
+    sensu-extension (1.1.2)
+      sensu-em
+    sensu-extensions (1.2.0)
+      multi_json
+      sensu-em
+      sensu-extension
+      sensu-logger
+      sensu-settings
+    sensu-logger (1.0.0)
+      multi_json
+      sensu-em
+    sensu-settings (1.3.0)
+      multi_json
+    sensu-spawn (1.1.0)
+      childprocess (= 0.5.3)
+      em-worker (= 0.0.2)
+      sensu-em
+    sensu-transport (2.4.0)
+      amqp (= 1.5.0)
+      sensu-em
+    sinatra (1.3.5)
+      rack (~> 1.4)
+      rack-protection (~> 1.3)
+      tilt (~> 1.3, >= 1.3.3)
+    thin (1.5.0)
+      daemons (>= 1.0.9)
+      eventmachine (>= 0.12.6)
+      rack (>= 1.0.0)
+    tilt (1.4.1)
+    uuidtools (2.1.4)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  sensu
diff --git a/pkgs/servers/monitoring/sensu/default.nix b/pkgs/servers/monitoring/sensu/default.nix
new file mode 100644
index 00000000000..2785898bed5
--- /dev/null
+++ b/pkgs/servers/monitoring/sensu/default.nix
@@ -0,0 +1,19 @@
+  { lib, bundlerEnv, ruby }:
+
+  bundlerEnv {
+    name = "sensu-0.17.1";
+
+    inherit ruby;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+
+    meta = with lib; {
+      description = "A monitoring framework that aims to be simple, malleable,
+and scalable.";
+      homepage    = http://sensuapp.org/;
+      license     = with licenses; mit;
+      maintainers = with maintainers; [ theuni ];
+      platforms   = platforms.unix;
+    };
+  }
diff --git a/pkgs/servers/monitoring/sensu/gemset.nix b/pkgs/servers/monitoring/sensu/gemset.nix
new file mode 100644
index 00000000000..116bce9c4b5
--- /dev/null
+++ b/pkgs/servers/monitoring/sensu/gemset.nix
@@ -0,0 +1,242 @@
+{
+  "amq-protocol" = {
+    version = "1.9.2";
+    source = {
+      type = "gem";
+      sha256 = "1gl479j003vixfph5jmdskl20il8816y0flp4msrc8im3b5iiq3r";
+    };
+  };
+  "amqp" = {
+    version = "1.5.0";
+    source = {
+      type = "gem";
+      sha256 = "0jlcwyvjz0b28wxdabkyhdqyqp5ji56ckfywsy9mgp0m4wfbrh8c";
+    };
+    dependencies = [
+      "amq-protocol"
+      "eventmachine"
+    ];
+  };
+  "async_sinatra" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "02yi9qfsi8kk4a4p1c4sx4pgism05m18kwlc9dd23zzdy9jdgq1a";
+    };
+    dependencies = [
+      "rack"
+      "sinatra"
+    ];
+  };
+  "childprocess" = {
+    version = "0.5.3";
+    source = {
+      type = "gem";
+      sha256 = "12djpdr487fddq55sav8gw1pjglcbb0ab0s6npga0ywgsqdyvsww";
+    };
+    dependencies = [
+      "ffi"
+    ];
+  };
+  "daemons" = {
+    version = "1.2.2";
+    source = {
+      type = "gem";
+      sha256 = "121c7vkimg3baxga69xvdkwxiq8wkmxqvdbyqi5i82vhih5d3cn3";
+    };
+  };
+  "em-redis-unified" = {
+    version = "0.6.0";
+    source = {
+      type = "gem";
+      sha256 = "1hf7dv6qmxfilpd7crcqlyqk6jp5z8md76bpg3n0163ps4ra73p0";
+    };
+    dependencies = [
+      "eventmachine"
+    ];
+  };
+  "em-worker" = {
+    version = "0.0.2";
+    source = {
+      type = "gem";
+      sha256 = "0z4jx9z2q5hxvdvik4yp0ahwfk69qsmdnyp72ln22p3qlkq2z5wk";
+    };
+    dependencies = [
+      "eventmachine"
+    ];
+  };
+  "eventmachine" = {
+    version = "1.0.3";
+    source = {
+      type = "gem";
+      sha256 = "09sqlsb6x9ddlgfw5gsw7z0yjg5m2qfjiqkz2fx70zsizj3lqhil";
+    };
+  };
+  "ffi" = {
+    version = "1.9.8";
+    source = {
+      type = "gem";
+      sha256 = "0ph098bv92rn5wl6rn2hwb4ng24v4187sz8pa0bpi9jfh50im879";
+    };
+  };
+  "multi_json" = {
+    version = "1.11.0";
+    source = {
+      type = "gem";
+      sha256 = "1mg3hp17ch8bkf3ndj40s50yjs0vrqbfh3aq5r02jkpjkh23wgxl";
+    };
+  };
+  "rack" = {
+    version = "1.6.0";
+    source = {
+      type = "gem";
+      sha256 = "1f57f8xmrgfgd76s6mq7vx6i266zm4330igw71an1g0kh3a42sbb";
+    };
+  };
+  "rack-protection" = {
+    version = "1.5.3";
+    source = {
+      type = "gem";
+      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "sensu" = {
+    version = "0.17.1";
+    source = {
+      type = "gem";
+      sha256 = "1fqpypins1zhind0in0ax0y97a6pf3z85gwjz4bjm6cjrkarb5zj";
+    };
+    dependencies = [
+      "async_sinatra"
+      "em-redis-unified"
+      "eventmachine"
+      "multi_json"
+      "sensu-em"
+      "sensu-extension"
+      "sensu-extensions"
+      "sensu-logger"
+      "sensu-settings"
+      "sensu-spawn"
+      "sensu-transport"
+      "sinatra"
+      "thin"
+      "uuidtools"
+    ];
+  };
+  "sensu-em" = {
+    version = "2.4.1";
+    source = {
+      type = "gem";
+      sha256 = "08jz47lfnv55c9yl2dhyv1si6zl8h4xj8y1sjy2h2fqy48prfgmy";
+    };
+  };
+  "sensu-extension" = {
+    version = "1.1.2";
+    source = {
+      type = "gem";
+      sha256 = "19qz22fcb3xjz9p5npghlcvxkf8h1rsfws3j988ybnimmmmiqm24";
+    };
+    dependencies = [
+      "sensu-em"
+    ];
+  };
+  "sensu-extensions" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1b8978g1ww7vdrsw7zvba6qvc56s4vfm1hw3szw3j1gsk6j0vb81";
+    };
+    dependencies = [
+      "multi_json"
+      "sensu-em"
+      "sensu-extension"
+      "sensu-logger"
+      "sensu-settings"
+    ];
+  };
+  "sensu-logger" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "0vwa2b5wa9xqzb9lmhma49171iabwbnnnyhhhaii8n6j4axvar93";
+    };
+    dependencies = [
+      "multi_json"
+      "sensu-em"
+    ];
+  };
+  "sensu-settings" = {
+    version = "1.3.0";
+    source = {
+      type = "gem";
+      sha256 = "0s9fyqhq5vf9m9937n3wczlr4z62rn1ydc6m53vn4156fpim6yga";
+    };
+    dependencies = [
+      "multi_json"
+    ];
+  };
+  "sensu-spawn" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0w9z6hpr27lq02y6c2mnrdl9xpsjfg77kzsfsp2f2w4swdwmiv0v";
+    };
+    dependencies = [
+      "childprocess"
+      "em-worker"
+      "sensu-em"
+    ];
+  };
+  "sensu-transport" = {
+    version = "2.4.0";
+    source = {
+      type = "gem";
+      sha256 = "0gh8rcl22daax7qng93kj2jydql1jhhskd37kj7sgz0rr8wy2x06";
+    };
+    dependencies = [
+      "amqp"
+      "sensu-em"
+    ];
+  };
+  "sinatra" = {
+    version = "1.3.5";
+    source = {
+      type = "gem";
+      sha256 = "1mn6nzfyirfqr7prhsn4nr3k481c6nzsad2p9s1xnsbvxa1vkqwr";
+    };
+    dependencies = [
+      "rack"
+      "rack-protection"
+      "tilt"
+    ];
+  };
+  "thin" = {
+    version = "1.5.0";
+    source = {
+      type = "gem";
+      sha256 = "14sd2qbbk6y108z6v723mh3f1mk8s4fwxmmn9f8dk4xkhk4rwvq1";
+    };
+    dependencies = [
+      "daemons"
+      "eventmachine"
+      "rack"
+    ];
+  };
+  "tilt" = {
+    version = "1.4.1";
+    source = {
+      type = "gem";
+      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
+    };
+  };
+  "uuidtools" = {
+    version = "2.1.4";
+    source = {
+      type = "gem";
+      sha256 = "1w0bhnkp5515f3yx5fakfrfkawxjpb4fjm1r2c6lk691xlr696s3";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/monitoring/seyren/default.nix b/pkgs/servers/monitoring/seyren/default.nix
index e6e15129568..ab8365c23f8 100644
--- a/pkgs/servers/monitoring/seyren/default.nix
+++ b/pkgs/servers/monitoring/seyren/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "seyren-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "https://github.com/scobal/seyren/releases/download/${version}/seyren-${version}.jar";
-    sha256 = "14p97yzfyacvavfms8qs3q5515vpfkjlfvislbwrf7qa89xzz8x0";
+    sha256 = "10m64zdci4swlvivii1jnmrwfi461af3xvn0xvwvy7i8kyb56vrr";
   };
 
   phases = ["installPhase"];
 
-  buildInputs = [ makeWrapper jre src ];
+  buildInputs = [ makeWrapper jre ];
 
   installPhase = ''
     mkdir -p "$out"/bin
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index 399fb54875a..9ce027409fd 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -17,8 +17,8 @@ let
     ''
       substituteInPlace ./configure \
         --replace " -static" "" \
-        ${stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
-          --replace /usr/include/iconv.h ${stdenv.gcc.libc}/include/iconv.h
+        ${stdenv.lib.optionalString (stdenv.cc.libc != null) ''
+          --replace /usr/include/iconv.h ${stdenv.cc.libc}/include/iconv.h
         ''}
     '';
 
diff --git a/pkgs/servers/monitoring/zabbix/2.2.nix b/pkgs/servers/monitoring/zabbix/2.2.nix
index 424001ea377..1e8d03ec2b6 100644
--- a/pkgs/servers/monitoring/zabbix/2.2.nix
+++ b/pkgs/servers/monitoring/zabbix/2.2.nix
@@ -1,5 +1,10 @@
 { stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext
-, enableJabber ? false, minmay ? null }:
+, net_snmp , libssh2, openldap
+, enableJabber ? false, minmay ? null
+, enableSnmp ? false
+, enableSsh ? false
+, enableLdap ? false
+}:
 
 assert enableJabber -> minmay != null;
 
@@ -17,8 +22,8 @@ let
     ''
       substituteInPlace ./configure \
         --replace " -static" "" \
-        ${stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
-          --replace /usr/include/iconv.h ${stdenv.gcc.libc}/include/iconv.h
+        ${stdenv.lib.optionalString (stdenv.cc.libc != null) ''
+          --replace /usr/include/iconv.h ${stdenv.cc.libc}/include/iconv.h
         ''}
     '';
 
@@ -38,7 +43,11 @@ in
       "--with-postgresql"
       "--with-libcurl"
       "--with-gettext"
-    ] ++ stdenv.lib.optional enableJabber "--with-jabber=${minmay}";
+    ]
+    ++ stdenv.lib.optional enableJabber "--with-jabber=${minmay}"
+    ++ stdenv.lib.optional enableSnmp "--with-net-snmp"
+    ++ stdenv.lib.optional enableSsh "--with-ssh2=${libssh2}"
+    ++ stdenv.lib.optional enableLdap "--with-ldap=${openldap}";
 
     postPatch = ''
       sed -i -e 's/iksemel/minmay/g' configure src/libs/zbxmedia/jabber.c
@@ -48,7 +57,10 @@ in
         -e 's/iks/mmay/g' -e 's/IKS/MMAY/g' src/libs/zbxmedia/jabber.c
     '';
 
-    buildInputs = [ pkgconfig postgresql curl openssl zlib ];
+    buildInputs = [ pkgconfig postgresql curl openssl zlib ]
+      ++ stdenv.lib.optional enableSnmp net_snmp
+      ++ stdenv.lib.optional enableSsh libssh2
+      ++ stdenv.lib.optional enableLdap openldap;
 
     postInstall =
       ''
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index 1e46ffdbc85..5d8541ab870 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -2,19 +2,19 @@
 
 let
 
-  version = "1.8.20";
+  version = "1.8.22";
 
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "0psdvzg5c3yhdqqmy5m1b0j3nrvcshjywhl56igy0j8vj16zxi86";
+    sha256 = "0cjj3c4j4b9sl3hgh1fck330z9q0gz2k68g227y0paal6k6f54g7";
   };
 
   preConfigure =
     ''
       substituteInPlace ./configure \
         --replace " -static" "" \
-        ${stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
-          --replace /usr/include/iconv.h ${stdenv.gcc.libc}/include/iconv.h
+        ${stdenv.lib.optionalString (stdenv.cc.libc != null) ''
+          --replace /usr/include/iconv.h ${stdenv.cc.libc}/include/iconv.h
         ''}
     '';
 
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index c8a6434cac3..0078b4af96f 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, systemd
+{ stdenv, fetchurl, pkgconfig, glib, systemd, boost
 , alsaSupport ? true, alsaLib
 , flacSupport ? true, flac
 , vorbisSupport ? true, libvorbis
@@ -18,22 +18,25 @@
 , mpg123Support ? true, mpg123
 , aacSupport ? true, faad2
 , pulseaudioSupport ? true, pulseaudio
+, jackSupport ? true, jack2
+, gmeSupport ? true, game-music-emu
+, icuSupport ? true, icu
 }:
 
 let
-
   opt = stdenv.lib.optional;
-
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
+  major = "0.19";
+  minor = "9";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-0.18.12";
+  name = "mpd-${major}.${minor}";
   src = fetchurl {
-    url    = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
-    sha256 = "09qphjcpqcs2jn5d8ga1skhif2mj5qk1ix9li76z2gyq3lf0rpz6";
+    url    = "http://www.musicpd.org/download/mpd/${major}/${name}.tar.gz";
+    sha256 = "1j3cv8b76bfj3ddpd29v3apb5025i87y5h5b4lrs2g5vqsgpvb6y";
   };
 
-  buildInputs = [ pkgconfig glib ]
+  buildInputs = [ pkgconfig glib boost ]
     ++ opt stdenv.isLinux systemd
     ++ opt (stdenv.isLinux && alsaSupport) alsaLib
     ++ opt flacSupport flac
@@ -55,7 +58,10 @@ in stdenv.mkDerivation rec {
     ++ opt mpg123Support mpg123
     ++ opt aacSupport faad2
     ++ opt zipSupport zziplib
-    ++ opt pulseaudioSupport pulseaudio;
+    ++ opt pulseaudioSupport pulseaudio
+    ++ opt jackSupport jack2
+    ++ opt gmeSupport game-music-emu
+    ++ opt icuSupport icu;
 
   configureFlags =
     [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
@@ -78,7 +84,10 @@ in stdenv.mkDerivation rec {
       (mkFlag mpg123Support "mpg123")
       (mkFlag aacSupport "aac")
       (mkFlag pulseaudioSupport "pulse")
+      (mkFlag jackSupport "jack")
       (mkFlag stdenv.isDarwin "osx")
+      (mkFlag icuSupport "icu")
+      (mkFlag gmeSupport "gme")
       "--enable-debug"
     ]
     ++ opt stdenv.isLinux
@@ -92,7 +101,7 @@ in stdenv.mkDerivation rec {
     description = "A flexible, powerful daemon for playing music";
     homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ astsmtl ];
+    maintainers = with maintainers; [ astsmtl fuuzetsu ];
     platforms   = platforms.unix;
 
     longDescription = ''
diff --git a/pkgs/servers/mqtt/mosquitto/default.nix b/pkgs/servers/mqtt/mosquitto/default.nix
new file mode 100644
index 00000000000..4fdb475d89b
--- /dev/null
+++ b/pkgs/servers/mqtt/mosquitto/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, openssl, libuuid }:
+
+stdenv.mkDerivation rec {
+  pname = "mosquitto";
+  version = "1.4";
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = http://mosquitto.org/files/source/mosquitto-1.4.tar.gz;
+    sha256 = "1imw5ps0cqda41b574k8hgz9gdr8yy58f76fg8gw14pdnvf3l7sr";
+  };
+
+  buildInputs = [ openssl libuuid ];
+
+  buildFlags = "mosquitto";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/mosquitto $out/bin/
+  '';
+
+  meta = {
+    homepage = http://mosquitto.org/;
+    description = "An open source MQTT v3.1/3.1.1 broker";
+    platforms = stdenv.lib.platforms.unix;
+    # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
+    license = stdenv.lib.licenses.epl10;
+  };
+}
diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix
index 23f236a9a34..a3579aa8309 100644
--- a/pkgs/servers/news/leafnode/default.nix
+++ b/pkgs/servers/news/leafnode/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--enable-runas-user=nobody";
 
+  preConfigure = ''
+    # configure uses id to check environment; we don't want this check
+    sed -re 's/^ID[=].*/ID="echo whatever"/' -i configure
+  '';
+
   postConfigure = ''
       # The is_validfqdn is far too restrictive, and only allows
       # Internet-facing servers to run.  In order to run leafnode via
@@ -24,6 +29,5 @@ stdenv.mkDerivation rec {
     description = "Leafnode implements a store & forward NNTP proxy";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    broken = true; # The user check in the configure does not work in a chroot
   };
 }
diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix
new file mode 100644
index 00000000000..8c4db178e78
--- /dev/null
+++ b/pkgs/servers/nosql/apache-jena/binary.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, java, makeWrapper}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="apache-jena";
+    version = "2.13.0";
+    name="${baseName}-${version}";
+    url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz";
+    sha256 = "0fb5f2rv7rgi60r4b80r1wzap1rngmajv378mdkcyhm7bj4ba31d";
+  };
+  buildInputs = [
+    makeWrapper
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  installPhase = ''
+    cp -r . "$out"
+    for i in "$out"/bin/*; do
+      wrapProgram "$i" --prefix "PATH" : "${java}/bin/"
+    done
+  '';
+  meta = {
+    inherit (s) version;
+    description = ''RDF database'';
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://jena.apache.org";
+    downloadPage = "http://archive.apache.org/dist/jena/binaries/";
+    updateWalker = true;
+    downloadURLRegex = "apache-jena-.*[.]tar[.]gz\$";
+  };
+}
diff --git a/pkgs/servers/nosql/cassandra/2.0.nix b/pkgs/servers/nosql/cassandra/2.0.nix
new file mode 100644
index 00000000000..defb4f657d6
--- /dev/null
+++ b/pkgs/servers/nosql/cassandra/2.0.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, fetchurl
+, jre
+, python
+, makeWrapper
+, gawk
+, bash
+, getopt
+}:
+
+let
+
+  version = "2.0.14";
+  sha256 = "06vsv141dk5i5z47nh1glkqpscjl5fgynbhaxb4yjab9lskwv5jk";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "cassandra-${version}";
+
+  src = fetchurl {
+    inherit sha256;
+    url = "http://apache.cs.utah.edu/cassandra/${version}/apache-${name}-bin.tar.gz";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir $out
+    mv * $out
+
+    for cmd in cassandra nodetool sstablekeys sstableloader sstableupgrade
+      do wrapProgram $out/bin/$cmd \
+        --set JAVA_HOME ${jre} \
+        --prefix PATH : ${bash}/bin \
+        --prefix PATH : ${getopt}/bin \
+        --prefix PATH : ${gawk}/bin
+    done
+
+    wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://cassandra.apache.org/;
+    description = "A massively scalable open source NoSQL database";
+    platforms = with platforms; all;
+    license = with licenses; asl20;
+    maintainers = with maintainers; [ nckx rushmorem ];
+  };
+}
diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix
new file mode 100644
index 00000000000..d62e8aa450c
--- /dev/null
+++ b/pkgs/servers/nosql/cassandra/2.1.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, fetchurl
+, jre
+, python
+, makeWrapper
+, gawk
+, bash
+, getopt
+}:
+
+let
+
+  version = "2.1.4";
+  sha256 = "1wdp1hcp541bwja0h5kb0ff2yy74mlhkr93chrlz2199lynynpgv";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "cassandra-${version}";
+
+  src = fetchurl {
+    inherit sha256;
+    url = "http://apache.cs.utah.edu/cassandra/${version}/apache-${name}-bin.tar.gz";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir $out
+    mv * $out
+
+    for cmd in cassandra nodetool sstablekeys sstableloader sstableupgrade
+      do wrapProgram $out/bin/$cmd \
+        --set JAVA_HOME ${jre} \
+        --prefix PATH : ${bash}/bin \
+        --prefix PATH : ${getopt}/bin \
+        --prefix PATH : ${gawk}/bin
+    done
+
+    wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://cassandra.apache.org/;
+    description = "A massively scalable open source NoSQL database";
+    platforms = with platforms; all;
+    license = with licenses; asl20;
+    maintainers = with maintainers; [ nckx rushmorem ];
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/busybee.nix b/pkgs/servers/nosql/hyperdex/busybee.nix
new file mode 100644
index 00000000000..19482db6f5a
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/busybee.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool,
+  libpo6, libe, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "busybee-${version}";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/busybee/archive/releases/${version}.zip";
+    sha256 = "0gr5h2j9rzwarblgcgddnxj39i282rvgn9vqlrcd60dx8c4dkm29";
+  };
+  buildInputs = [
+    autoconf
+    automake
+    libe
+    libpo6
+    libtool
+    pkgconfig
+    unzip
+  ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = "BusyBee is a high-performance messaging layer.";
+    homepage = https://github.com/rescrv/busybee;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/default.nix b/pkgs/servers/nosql/hyperdex/default.nix
new file mode 100644
index 00000000000..44cc0752088
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, makeWrapper, unzip, autoconf, automake, libtool,
+  python, sodium, pkgconfig, popt, glog, xz, json_c, gperf, yacc,
+  flex, pandoc, help2man, autoconf-archive, callPackage }:
+
+assert stdenv.isLinux;
+
+let
+hyperleveldb = callPackage ./hyperleveldb.nix {};
+libpo6 = callPackage ./libpo6.nix {};
+libe = callPackage ./libe.nix { inherit libpo6; };
+busybee = callPackage ./busybee.nix { inherit libpo6 libe; };
+replicant = callPackage ./replicant.nix {
+  inherit libpo6 libe busybee hyperleveldb;
+};
+libmacaroons = callPackage ./libmacaroons.nix { };
+
+in
+stdenv.mkDerivation rec {
+  name = "hyperdex-${version}";
+  version = "1.5.0";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/HyperDex/archive/releases/${version}.zip";
+    sha256 = "0s1capy2hj45f5rmdb4fk0wxy7vz69krplhba57f6wrkpcz1zb57";
+  };
+
+  buildInputs = [
+    autoconf
+    autoconf-archive
+    automake
+    busybee
+    glog
+    hyperleveldb
+    json_c
+    libe
+    libmacaroons
+    libpo6
+    libtool
+    pkgconfig
+    popt
+    python
+    replicant
+    unzip
+    gperf
+    yacc
+    flex
+    help2man
+    pandoc
+  ];
+  preConfigure = "autoreconf -fi";
+
+  meta = with stdenv.lib; {
+    description = "HyperDex is a scalable, searchable key-value store";
+    homepage = http://hyperdex.org;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/hyperleveldb.nix b/pkgs/servers/nosql/hyperdex/hyperleveldb.nix
new file mode 100644
index 00000000000..c39f618f6cb
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/hyperleveldb.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "hyperleveldb-${version}";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/HyperLevelDB/archive/releases/${version}.zip";
+    sha256 = "0xrzhwkrm7f2wz3jn4iqn1dim2pmgjhmpb1fy23fwa06v0q18hw8";
+  };
+  buildInputs = [ unzip autoconf automake libtool ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = ''A fork of LevelDB intended to meet the needs of
+        HyperDex while remaining compatible with LevelDB.'';
+    homepage = https://github.com/rescrv/HyperLevelDB;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/libe.nix b/pkgs/servers/nosql/hyperdex/libe.nix
new file mode 100644
index 00000000000..cc5232e13f2
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/libe.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, libpo6, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libe-${version}";
+  version = "0.8.1";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/e/archive/releases/0.8.1.zip";
+    sha256 = "1l13axsi52j2qaxbdnszdvfxksi7rwm2j1rrf0nlh990m6a3yg3s";
+  };
+  buildInputs = [ unzip autoconf automake libtool libpo6 pkgconfig ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = "Library containing high-performance datastructures and utilities for C++";
+    homepage = https://github.com/rescrv/e;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/libmacaroons.nix b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
new file mode 100644
index 00000000000..2d709c5bbd1
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, 
+  pkgconfig, sodium, python }:
+stdenv.mkDerivation rec {
+  name = "libmacaroons-${version}";
+  version = "HEAD";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/libmacaroons/archive/6febf3ce6c4c77a46d24b40ed29b03ffbfb175a7.zip";
+    sha256 = "0b4qgim87398chvc3qhxfqv2l1cyl65rhyknln8lk0gq9y00p1ik";
+  };
+  buildInputs = [ unzip autoconf automake libtool python sodium pkgconfig ];
+  preConfigure = "autoreconf -i";
+  
+  meta = with stdenv.lib; {
+    description = ''Macaroons are flexible authorization credentials that
+        support decentralized delegation, attenuation, and verification.'';
+    homepage = https://github.com/rescrv/libmacaroons;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/libpo6.nix b/pkgs/servers/nosql/hyperdex/libpo6.nix
new file mode 100644
index 00000000000..166a5e21c6b
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/libpo6.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libpo6-${version}";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/po6/archive/releases/${version}.zip";
+    sha256 = "14g3ichshnc4wd0iq3q3ymgaq84gjsbqcyn6lri7c7djgkhqijjx";
+  };
+  buildInputs = [ unzip autoconf automake libtool ];
+  preConfigure = "autoreconf -i";
+
+  meta = with stdenv.lib; {
+    description = "POSIX wrappers for C++";
+    homepage = https://github.com/rescrv/po6;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/replicant.nix b/pkgs/servers/nosql/hyperdex/replicant.nix
new file mode 100644
index 00000000000..c064aa419cd
--- /dev/null
+++ b/pkgs/servers/nosql/hyperdex/replicant.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, glog,
+  hyperleveldb, libe, pkgconfig, popt, libpo6, busybee }:
+
+stdenv.mkDerivation rec {
+  name = "replicant-${version}";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "https://github.com/rescrv/Replicant/archive/releases/0.6.3.zip";
+    sha256 = "1fbagz0nbvinkqr5iw5y187dm4klkswrxnl5ysq8waglg2nj8zzi";
+  };
+  buildInputs = [
+    autoconf
+    automake
+    busybee
+    glog
+    hyperleveldb
+    libe
+    libpo6
+    libtool
+    pkgconfig
+    popt
+    unzip
+  ];
+  preConfigure = "autoreconf -i";
+  
+  meta = with stdenv.lib; {
+    description = "A system for maintaining replicated state machines.";
+    homepage = https://github.com/rescrv/Replicant;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/servers/nosql/influxdb/backup.nix b/pkgs/servers/nosql/influxdb/backup.nix
new file mode 100644
index 00000000000..0713f064ca5
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/backup.nix
@@ -0,0 +1,25 @@
+{ lib, goPackages, fetchgit }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "4556edbffa914a8c17fa1fa1564962a33c6c7596";
+  name = "influxdb-backup-${lib.strings.substring 0 7 rev}";
+  goPackagePath = "github.com/eckardt/influxdb-backup";
+  src = fetchgit {
+    inherit rev;
+    url = https://github.com/eckardt/influxdb-backup.git;
+    sha256 = "2928063e6dfe4be7b69c8e72e4d6a5fc557f0c75e9625fadf607d59b8e80e34b";
+  };
+
+  subPackages = [ "influxdb-dump" "influxdb-restore" ];
+
+  buildInputs = [ eckardt.influxdb-go ];
+
+  meta = with lib; {
+    description = "Backup and Restore for InfluxDB";
+    homepage = https://github.com/eckardt/influxdb-backup;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index 6c6fb213cb8..92b1b73d0a0 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchurl, makeWrapper }:
+{ stdenv, fetchurl, makeWrapper, zlib, bzip2 }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "influxdb-${version}";
-  version = "0.7.0";
+  version = "0.8.3";
   arch = if stdenv.system == "x86_64-linux" then "amd64" else "386";
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/influxdb/${name}.${arch}.tar.gz";
     sha256 = if arch == "amd64" then
-        "1mvi21z83abnprzj0n8r64ly9s48i5l7ndcrci7nk96z8xab7w3q" else
-        "1zgxbfnam4r31g9yfwznhb7l4hf7s5sylhll92zr8q0qjhr4cj2b";
+        "e625902d403434c799f9d9ffc2592a3880f82d435423fde7174e5e4fe0f41148" else
+        "5abe9f432553e66c8aff86c4311eba16b874678d04b52bfe9e2019c01059ec78";
   };
 
   buildInputs = [ makeWrapper ];
 
   installPhase = ''
     install -D influxdb $out/bin/influxdb
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/influxdb
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/influxdb
     wrapProgram "$out/bin/influxdb" \
-        --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64"
+        --prefix LD_LIBRARY_PATH : "${stdenv.cc.cc}/lib:${stdenv.cc.cc}/lib64:${zlib}/lib:${bzip2}/lib"
 
     mkdir -p $out/share/influxdb
     cp -R admin scripts config.toml $out/share/influxdb
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index f51a2b8fe3f..303159cb7f4 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -1,48 +1,70 @@
-{ stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }:
+{ stdenv, fetchurl, scons, boost, gperftools, pcre, snappy
+, zlib, libyamlcpp, sasl, openssl, libpcap, wiredtiger
+}:
 
-let version = "2.6.4";
+with stdenv.lib;
+
+let version = "3.0.1";
     system-libraries = [
-      "tcmalloc"
       "pcre"
+      "wiredtiger"
       "boost"
       "snappy"
-      # "v8"      -- mongo still bundles 3.12 and does not work with 3.15+
+      "zlib"
+      # "v8"
       # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs)
-      # "yaml"    -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo
+      "yaml"
+    ] ++ optionals stdenv.isLinux [ "tcmalloc" ];
+    buildInputs = [
+      sasl boost gperftools pcre snappy
+      zlib libyamlcpp sasl openssl libpcap wiredtiger
     ];
-    system-lib-args = stdenv.lib.concatStringsSep " "
-                          (map (lib: "--use-system-${lib}") system-libraries);
+
+    other-args = concatStringsSep " " ([
+      "--c++11=on"
+      "--ssl"
+      #"--rocksdb" # Don't have this packaged yet
+      "--wiredtiger=on"
+      "--js-engine=v8-3.25"
+      "--use-sasl-client"
+      "--variant-dir=nixos" # Needed so we don't produce argument lists that are too long for gcc / ld
+      "--extrapath=${concatStringsSep "," buildInputs}"
+    ] ++ map (lib: "--use-system-${lib}") system-libraries);
 
 in stdenv.mkDerivation rec {
   name = "mongodb-${version}";
 
   src = fetchurl {
     url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
-    sha256 = "1h4rrgcb95234ryjma3fjg50qsm1bnxjx5ib0c3p9nzmc2ji2m07";
+    sha256 = "04qjw7b98h37g8rcih7va3rvg2z95ly38bg181a4nfkak50hd638";
   };
 
-  nativeBuildInputs = [ scons boost gperftools pcre snappy ];
+  nativeBuildInputs = [ scons ];
+  inherit buildInputs;
 
   postPatch = ''
+    # fix environment variable reading
     substituteInPlace SConstruct \
-        --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR"
+        --replace "env = Environment(" "env = Environment(ENV = os.environ,"
   '';
 
   buildPhase = ''
-    scons all --release ${system-lib-args}
+    scons -j $NIX_BUILD_CORES core --release ${other-args}
   '';
 
   installPhase = ''
     mkdir -p $out/lib
-    scons install --release --prefix=$out ${system-lib-args}
+    scons -j $NIX_BUILD_CORES install --release --prefix=$out ${other-args}
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "a scalable, high-performance, open source NoSQL database";
     homepage = http://www.mongodb.org;
-    license = stdenv.lib.licenses.agpl3;
+    license = licenses.agpl3;
 
-    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ bluescreen303 offline wkennington ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/nosql/redis/3.0.nix b/pkgs/servers/nosql/redis/3.0.nix
new file mode 100644
index 00000000000..049639ad684
--- /dev/null
+++ b/pkgs/servers/nosql/redis/3.0.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.0.0-rc3";
+  name = "redis-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/antirez/redis/archive/${version}.tar.gz";
+    sha256 = "1695fa532eafc14c95f45add5d8a71d07e0e87b5c8f06c29dfa06313322d27b7";
+  };
+
+  makeFlags = "PREFIX=$(out)";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://redis.io;
+    description = "An open source, advanced key-value store";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.berdario ];
+  };
+}
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 1a44aa6a804..833a17246fc 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "redis-2.8.9";
+  name = "redis-2.8.19";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${name}.tar.gz";
-    sha256 = "7834c37f2ff186c46aef8e4a066dfbf1d6772a285aa31c19c58162f264f1007f";
+    sha256 = "29bb08abfc3d392b2f0c3e7f48ec46dd09ab1023f9a5575fc2a93546f4ca5145";
   };
 
   makeFlags = "PREFIX=$(out)";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://redis.io;
     description = "An open source, advanced key-value store";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     platforms = platforms.unix;
     maintainers = [ maintainers.berdario ];
   };
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 3694547c2d9..1c8eac99737 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, python, m4 }:
+{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, curl, python, m4 }:
 
 stdenv.mkDerivation rec {
-  name = "rethinkdb-1.12.4";
+  name = "rethinkdb-1.15.2";
 
   src = fetchurl {
     url = "http://download.rethinkdb.com/dist/${name}.tgz";
-    sha256 = "1dq2vbgms016ic2hifclm1m58i4804khkn0lnvz47rkm7i0564if";
+    sha256 = "1fpx9apqm62i332q2isanpdql8gwwab4qxwzrspqwgcka9zd6gy3";
   };
 
   preConfigure = ''
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--lib-path ${gperftools}/lib";
 
-  buildInputs = [ protobuf zlib boost ];
+  buildInputs = [ protobuf boost zlib curl ];
 
   nativeBuildInputs = [ which m4 python ];
 
diff --git a/pkgs/servers/nosql/riak/1.3.1.nix b/pkgs/servers/nosql/riak/1.3.1.nix
index 96315c52f6b..e773f6ddcc3 100644
--- a/pkgs/servers/nosql/riak/1.3.1.nix
+++ b/pkgs/servers/nosql/riak/1.3.1.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    maintainers = stdenv.lib.maintainers.orbitz;
+    maintainers = [ stdenv.lib.maintainers.orbitz ];
     description = "Dynamo inspired NoSQL DB by Basho";
     longDescription = ''
       This patches the riak and riak-admin scripts to work better in Nix.
diff --git a/pkgs/servers/nsq/default.nix b/pkgs/servers/nsq/default.nix
index 4d32c3203c7..a7b77b8802a 100644
--- a/pkgs/servers/nsq/default.nix
+++ b/pkgs/servers/nsq/default.nix
@@ -1,33 +1,28 @@
-{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ lib, goPackages, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+with goPackages;
+
+buildGoPackage rec {
   version = "0.2.28";
   name = "nsq-${version}";
-
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  goPackagePath = "github.com/bitly/nsq";
+  src = fetchFromGitHub {
+    owner = "bitly";
+    repo = "nsq";
+    rev = "v${version}";
+    sha256 = "0drmf1j5w3q4l6f7xjy3y7d7cl50gcx0qwci6mahxsyaaclx60yx";
   };
 
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    export GOPATH=$src
-    apps=(nsq_pubsub nsq_stat nsq_tail nsq_to_file nsq_to_http nsq_to_nsq nsqd nsqlookupd)
-
-    mkdir build
+  subPackages = [ "nsqadmin" ] ++
+                map (x: "apps/"+x) [ "nsq_pubsub" "nsq_stat" "nsq_tail"
+                                     "nsq_to_file" "nsq_to_http" "nsq_to_nsq"
+                                     "nsqd" "nsqlookupd" ];
 
-    go build -v -o build/nsqadmin github.com/bitly/nsq/nsqadmin
-    for app in "''${apps[@]}"; do
-      go build -v -o build/$app github.com/bitly/nsq/apps/$app
-    done
-  '';
+  buildInputs = [ go-nsq go-options toml perks go-hostpool ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mv build/* $out/bin
-  '';
+  dontInstallSrc = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A realtime distributed messaging platform";
     homepage = http://nsq.io/;
     license = licenses.mit;
diff --git a/pkgs/servers/nsq/deps.nix b/pkgs/servers/nsq/deps.nix
deleted file mode 100644
index bd98357ece6..00000000000
--- a/pkgs/servers/nsq/deps.nix
+++ /dev/null
@@ -1,134 +0,0 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-let
-  goDeps = [
-    {
-      root = "code.google.com/p/snappy-go";
-      src = fetchhg {
-        url = "http://code.google.com/p/snappy-go";
-        rev = "14";
-        sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7";
-      };
-    }
-    {
-      root = "github.com/BurntSushi/toml";
-      src = fetchFromGitHub {
-        owner = "BurntSushi";
-        repo = "toml";
-        rev = "f87ce853111478914f0bcffa34d43a93643e6eda";
-        sha256 = "0g8203y9ycf34j2q3ymxb8nh4habgwdrjn9vdgrginllx73yq565";
-      };
-    }
-    {
-      root = "github.com/bitly/go-hostpool";
-      src = fetchFromGitHub {
-        owner = "bitly";
-        repo = "go-hostpool";
-        rev = "fed86fae5cacdc77e7399937e2f8836563620a2e";
-        sha256 = "0nbssfp5ksj4hhc0d8lfq54afd9nqv6qzk3vi6rinxr3fgplrj44";
-      };
-    }
-    {
-      root = "github.com/bitly/go-nsq";
-      src = fetchFromGitHub {
-        owner = "bitly";
-        repo = "go-nsq";
-        rev = "c79a282f05364e340eadc2ce2f862a3d44eea9c0";
-        sha256 = "19jlwj5419p5xwjzfnzlddjnbh5g7ifnqhd00i5p0b6ww1gk011p";
-      };
-    }
-    {
-      root = "github.com/bitly/go-simplejson";
-      src = fetchFromGitHub {
-        owner = "bitly";
-        repo = "go-simplejson";
-        rev = "1cfceb0e12f47ec02665ef480212d7b531d6f4c5";
-        sha256 = "1d8x0himl58qn87lv418djy6mbs66p9ai3zpqq13nhkfl67fj3bi";
-      };
-    }
-    {
-      root = "github.com/bitly/nsq";
-      src = fetchFromGitHub {
-        owner = "bitly";
-        repo = "nsq";
-        rev = "048691a8242c9ec224fc46bf7d05f321026b69f8";
-        sha256 = "0drmf1j5w3q4l6f7xjy3y7d7cl50gcx0qwci6mahxsyaaclx60yx";
-      };
-    }
-    {
-      root = "github.com/bmizerany/assert";
-      src = fetchFromGitHub {
-        owner = "bmizerany";
-        repo = "assert";
-        rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
-        sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
-      };
-    }
-    {
-      root = "github.com/bmizerany/perks";
-      src = fetchFromGitHub {
-        owner = "bmizerany";
-        repo = "perks";
-        rev = "aac9e2eab5a334037057336897fd10b0289a5ae8";
-        sha256 = "1d027jgc327qz5xmal0hrpqvsj45i9yqmm9pxk3xp3hancvz3l3k";
-      };
-    }
-    {
-      root = "github.com/kr/pretty";
-      src = fetchFromGitHub {
-        owner = "kr";
-        repo = "pretty";
-        rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f";
-        sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl";
-      };
-    }
-    {
-      root = "github.com/kr/pty";
-      src = fetchFromGitHub {
-        owner = "kr";
-        repo = "pty";
-        rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
-        sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
-      };
-    }
-    {
-      root = "github.com/kr/text";
-      src = fetchFromGitHub {
-        owner = "kr";
-        repo = "text";
-        rev = "6807e777504f54ad073ecef66747de158294b639";
-        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
-      };
-    }
-    {
-      root = "github.com/mreiferson/go-options";
-      src = fetchFromGitHub {
-        owner = "mreiferson";
-        repo = "go-options";
-        rev = "896a539cd709f4f39d787562d1583c016ce7517e";
-        sha256 = "0hg0n5grcjcj5719rqchz0plp39wfk3znqxw8y354k4jwsqwmn17";
-      };
-    }
-    {
-      root = "github.com/mreiferson/go-snappystream";
-      src = fetchFromGitHub {
-        owner = "mreiferson";
-        repo = "go-snappystream";
-        rev = "97c96e6648e99c2ce4fe7d169aa3f7368204e04d";
-        sha256 = "08ylvx9r6b1fi76v6cqjvny4yqsvcqjfsg93jdrgs7hi4mxvxynn";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
diff --git a/pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch b/pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch
new file mode 100644
index 00000000000..d8f922aba37
--- /dev/null
+++ b/pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch
@@ -0,0 +1,48 @@
+From: Marc Dionne <marc.dionne@your-file-system.com>
+Date: Thu, 25 Sep 2014 10:52:12 +0000 (-0300)
+Subject: Linux 3.17: Deal with d_splice_alias errors
+X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=af7f1d59135526ea584a4403b6400106dc92a992;hp=880401913d6190054bb0511093606a206b16326c
+
+Linux 3.17: Deal with d_splice_alias errors
+
+In 3.17 the logic in d_splice_alias has changed.  Of interest to
+us is the fact that it will now return an EIO error if it finds
+an existing connected directory for the dentry, where it would
+previously have added a new alias for it.  As a result the end
+user can get EIO errors when accessing any file in a volume
+if the volume was first accessed through a different path (ex:
+RO path vs RW path).
+
+This commit just restores the old behaviour, adding the directory
+alias manually in the error case, which is what older versions
+of d_splice_alias used to do.
+
+Change-Id: I5558c64760e4cad2bd3dc648067d81020afc69b6
+---
+
+diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
+index e03187f..0cdd9e0 100644
+--- a/src/afs/LINUX/osi_vnodeops.c
++++ b/src/afs/LINUX/osi_vnodeops.c
+@@ -1593,9 +1593,18 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp)
+     /* It's ok for the file to not be found. That's noted by the caller by
+      * seeing that the dp->d_inode field is NULL.
+      */
+-    if (!code || code == ENOENT)
+-	return newdp;
+-    else 
++    if (!code || code == ENOENT) {
++	/*
++	 * d_splice_alias can return an error (EIO) if there is an existing
++	 * connected directory alias for this dentry.
++	 */
++	if (!IS_ERR(newdp))
++	    return newdp;
++	else {
++	    d_add(dp, ip);
++	    return NULL;
++	}
++    } else
+ 	return ERR_PTR(afs_convert_code(code));
+ }
+ 
diff --git a/pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch b/pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch
new file mode 100644
index 00000000000..f8844915f85
--- /dev/null
+++ b/pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch
@@ -0,0 +1,55 @@
+From 880401913d6190054bb0511093606a206b16326c Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.dionne@your-file-system.com>
+Date: Tue, 9 Sep 2014 10:39:55 -0300
+Subject: [PATCH] Linux 3.17: No more typedef for ctl_table
+
+The typedef has been removed so we need to use the structure
+directly.
+
+Note that the API for register_sysctl_table has also changed
+with 3.17, but it reverted back to a form that existed
+before and the configure tests handle it correctly.
+
+Change-Id: If1fd9d27f795dee4b5aa2152dd09e0540d643a69
+---
+ src/afs/LINUX/osi_sysctl.c |    4 ++--
+ src/cf/linux-test4.m4      |    2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/afs/LINUX/osi_sysctl.c b/src/afs/LINUX/osi_sysctl.c
+index a8f7fac..834e8ad 100644
+--- a/src/afs/LINUX/osi_sysctl.c
++++ b/src/afs/LINUX/osi_sysctl.c
+@@ -34,7 +34,7 @@ extern afs_int32 afs_pct2;
+ #ifdef CONFIG_SYSCTL
+ static struct ctl_table_header *afs_sysctl = NULL;
+ 
+-static ctl_table afs_sysctl_table[] = {
++static struct ctl_table afs_sysctl_table[] = {
+     {
+ #if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
+ #if defined(CTL_UNNUMBERED)
+@@ -234,7 +234,7 @@ static ctl_table afs_sysctl_table[] = {
+     {0}
+ };
+ 
+-static ctl_table fs_sysctl_table[] = {
++static struct ctl_table fs_sysctl_table[] = {
+     {
+ #if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
+ #if defined(CTL_UNNUMBERED)
+diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4
+index dad91d9..228b491 100644
+--- a/src/cf/linux-test4.m4
++++ b/src/cf/linux-test4.m4
+@@ -395,7 +395,7 @@ AC_DEFUN([LINUX_REGISTER_SYSCTL_TABLE_NOFLAG], [
+   AC_CHECK_LINUX_BUILD([whether register_sysctl_table has an insert_at_head argument],
+ 		       [ac_cv_linux_register_sysctl_table_noflag],
+ 		       [#include <linux/sysctl.h>],
+-		       [ctl_table *t; register_sysctl_table (t);],
++		       [struct ctl_table *t; register_sysctl_table (t);],
+ 		       [REGISTER_SYSCTL_TABLE_NOFLAG],
+ 		       [define if register_sysctl_table has no insert_at head flag],
+ 		       [])
+-- 
+1.7.1
diff --git a/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch b/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
new file mode 100644
index 00000000000..b95cfb4c620
--- /dev/null
+++ b/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
@@ -0,0 +1,51 @@
+From e284db57f94c8f97ed1c95dcd0bd9518d86c050c Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.dionne@your-file-system.com>
+Date: Wed, 18 Jun 2014 08:53:48 -0400
+Subject: [PATCH] Linux 3.16: Switch to iter_file_splice_write
+
+Users of generic_file_splice_write need to switch to
+using iter_file_splice_write.
+
+Change-Id: If4801d27e030e1cb986f483cf437a2cfa7398eb3
+Reviewed-on: http://gerrit.openafs.org/11302
+Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
+Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
+---
+ acinclude.m4                 |    3 +++
+ src/afs/LINUX/osi_vnodeops.c |    4 ++++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index ae8f1ed..9e39d90 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -958,6 +958,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
+ 		 AC_CHECK_LINUX_FUNC([inode_setattr],
+ 				     [#include <linux/fs.h>],
+ 				     [inode_setattr(NULL, NULL);])
++		 AC_CHECK_LINUX_FUNC([iter_file_splice_write],
++				     [#include <linux/fs.h>],
++				     [iter_file_splice_write(NULL,NULL,NULL,0,0);])
+ 		 AC_CHECK_LINUX_FUNC([kernel_setsockopt],
+ 				     [#include <linux/net.h>],
+ 				     [kernel_setsockopt(NULL, 0, 0, NULL, 0);])
+diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
+index 6f4000b..2685915 100644
+--- a/src/afs/LINUX/osi_vnodeops.c
++++ b/src/afs/LINUX/osi_vnodeops.c
+@@ -827,7 +827,11 @@ struct file_operations afs_file_fops = {
+   .sendfile =   generic_file_sendfile,
+ #endif
+ #if defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE)
++# if defined(HAVE_LINUX_ITER_FILE_SPLICE_WRITE)
++  .splice_write = iter_file_splice_write,
++# else
+   .splice_write = generic_file_splice_write,
++# endif
+   .splice_read = generic_file_splice_read,
+ #endif
+   .release =	afs_linux_release,
+-- 
+1.7.1
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 47c8c12edef..09c6468956f 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -1,20 +1,28 @@
 { stdenv, fetchurl, which, autoconf, automake, flex, yacc,
-  kernel, glibc, ncurses, perl, krb5 }:
+  kernel, glibc, ncurses, perl, kerberos }:
 
 assert stdenv.isLinux;
+assert builtins.substring 0 4 kernel.version != "3.18";
 
 stdenv.mkDerivation {
-  name = "openafs-1.6.6-${kernel.version}";
+  name = "openafs-1.6.9-${kernel.version}";
 
   src = fetchurl {
-    url = http://www.openafs.org/dl/openafs/1.6.6/openafs-1.6.6-src.tar.bz2;
-    sha256 = "0xfa64hvz0avp89zgz8ksmp24s6ns0z3103m4mspshhhdlikypk3";
+    url = http://www.openafs.org/dl/openafs/1.6.9/openafs-1.6.9-src.tar.bz2;
+    sha256 = "1isgw7znp10w0mr3sicnjzbc12bd1gdwfqqr667w6p3syyhs6bkv";
   };
 
+  patches = [
+   ./f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
+   ./ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
+   ./I5558c64760e4cad2bd3dc648067d81020afc69b6.patch
+   ./If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch
+  ];
+
   buildInputs = [ autoconf automake flex yacc ncurses perl which ];
 
   preConfigure = ''
-    ln -s ${kernel.dev}/lib/modules/*/build $TMP/linux
+    ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux
 
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
@@ -26,11 +34,13 @@ stdenv.mkDerivation {
 
     ./regen.sh
 
-    export KRB5_CONFIG=${krb5}/bin/krb5-config
+    ${stdenv.lib.optionalString (kerberos != null) ''
+      export KRB5_CONFIG=${kerberos}/bin/krb5-config"
+    ''}
 
     configureFlagsArray=(
       "--with-linux-kernel-build=$TMP/linux"
-      "--with-krb5"
+      ${stdenv.lib.optionalString (kerberos != null) "--with-krb5"}
       "--sysconfdir=/etc/static"
     )
   '';
@@ -40,6 +50,6 @@ stdenv.mkDerivation {
     homepage = http://www.openafs.org;
     license = stdenv.lib.licenses.ipl10;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = stdenv.lib.maintainers.z77z;
+    maintainers = [ stdenv.lib.maintainers.z77z ];
   };
 }
diff --git a/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch b/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
new file mode 100644
index 00000000000..e197ee4a34c
--- /dev/null
+++ b/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
@@ -0,0 +1,130 @@
+From: Marc Dionne <marc.dionne@your-file-system.com>
+Date: Wed, 18 Jun 2014 13:06:39 +0000 (-0400)
+Subject: Linux 3.16: Convert to new write_iter/read_iter ops
+X-Git-Tag: openafs-stable-1_6_10pre1~76
+X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=f3c0f74186f4a323ffc5f125d961fe384d396cac
+
+Linux 3.16: Convert to new write_iter/read_iter ops
+
+Change read/write operations to the new write_iter/read_iter
+operations.
+
+Reviewed-on: http://gerrit.openafs.org/11303
+Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
+Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
+(cherry picked from commit a303bb257ed9e790d8c14644779e9508167887b6)
+
+Change-Id: I3f66104be067698a4724ed78537765cf26d4aa10
+Reviewed-on: http://gerrit.openafs.org/11309
+Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
+---
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 83a1a8c..13d70db 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -836,6 +836,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
+ 		 AC_CHECK_LINUX_STRUCT([inode], [i_security], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_operations], [flock], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_operations], [iterate], [fs.h])
++		 AC_CHECK_LINUX_STRUCT([file_operations], [read_iter], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([file_system_type], [mount], [fs.h])
+ 		 AC_CHECK_LINUX_STRUCT([inode_operations], [truncate], [fs.h])
+diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
+index 441cce7..818debe 100644
+--- a/src/afs/LINUX/osi_vnodeops.c
++++ b/src/afs/LINUX/osi_vnodeops.c
+@@ -99,8 +99,11 @@ afs_linux_VerifyVCache(struct vcache *avc, cred_t **retcred) {
+     return afs_convert_code(code);
+ }
+ 
+-#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
+-# ifdef LINUX_HAS_NONVECTOR_AIO
++#if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER) || defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++static ssize_t
++afs_linux_read_iter(struct kiocb *iocb, struct iov_iter *iter)
++# elif defined(LINUX_HAS_NONVECTOR_AIO)
+ static ssize_t
+ afs_linux_aio_read(struct kiocb *iocb, char __user *buf, size_t bufsize,
+                    loff_t pos)
+@@ -113,6 +116,11 @@ afs_linux_aio_read(struct kiocb *iocb, const struct iovec *buf,
+     struct file *fp = iocb->ki_filp;
+     ssize_t code = 0;
+     struct vcache *vcp = VTOAFS(fp->f_dentry->d_inode);
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++    loff_t pos = iocb->ki_pos;
++    unsigned long bufsize = iter->nr_segs;
++# endif
++
+ 
+     AFS_GLOCK();
+     afs_Trace4(afs_iclSetp, CM_TRACE_AIOREADOP, ICL_TYPE_POINTER, vcp,
+@@ -125,7 +133,11 @@ afs_linux_aio_read(struct kiocb *iocb, const struct iovec *buf,
+ 	 * so we optimise by not using it */
+ 	osi_FlushPages(vcp, NULL);	/* ensure stale pages are gone */
+ 	AFS_GUNLOCK();
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++	code = generic_file_read_iter(iocb, iter);
++# else
+ 	code = generic_file_aio_read(iocb, buf, bufsize, pos);
++# endif
+ 	AFS_GLOCK();
+     }
+ 
+@@ -170,8 +182,11 @@ afs_linux_read(struct file *fp, char *buf, size_t count, loff_t * offp)
+  * also take care of re-positioning the pointer if file is open in append
+  * mode. Call fake open/close to ensure we do writes of core dumps.
+  */
+-#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
+-# ifdef LINUX_HAS_NONVECTOR_AIO
++#if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER) || defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++static ssize_t
++afs_linux_write_iter(struct kiocb *iocb, struct iov_iter *iter)
++# elif defined(LINUX_HAS_NONVECTOR_AIO)
+ static ssize_t
+ afs_linux_aio_write(struct kiocb *iocb, const char __user *buf, size_t bufsize,
+                     loff_t pos)
+@@ -184,6 +199,10 @@ afs_linux_aio_write(struct kiocb *iocb, const struct iovec *buf,
+     ssize_t code = 0;
+     struct vcache *vcp = VTOAFS(iocb->ki_filp->f_dentry->d_inode);
+     cred_t *credp;
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++    loff_t pos = iocb->ki_pos;
++    unsigned long bufsize = iter->nr_segs;
++# endif
+ 
+     AFS_GLOCK();
+ 
+@@ -199,7 +218,11 @@ afs_linux_aio_write(struct kiocb *iocb, const struct iovec *buf,
+     ReleaseWriteLock(&vcp->lock);
+     if (code == 0) {
+ 	    AFS_GUNLOCK();
++# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
++	    code = generic_file_write_iter(iocb, iter);
++# else
+ 	    code = generic_file_aio_write(iocb, buf, bufsize, pos);
++# endif
+ 	    AFS_GLOCK();
+     }
+ 
+@@ -788,7 +811,12 @@ struct file_operations afs_dir_fops = {
+ };
+ 
+ struct file_operations afs_file_fops = {
+-#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
++#ifdef STRUCT_FILE_OPERATIONS_HAS_READ_ITER
++  .read_iter =	afs_linux_read_iter,
++  .write_iter =	afs_linux_write_iter,
++  .read =	new_sync_read,
++  .write =	new_sync_write,
++#elif defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
+   .aio_read =	afs_linux_aio_read,
+   .aio_write =	afs_linux_aio_write,
+   .read =	do_sync_read,
diff --git a/pkgs/servers/osrm-backend/4.5.0-default-profile-path.template.patch b/pkgs/servers/osrm-backend/4.5.0-default-profile-path.template.patch
new file mode 100644
index 00000000000..12fcdb4fd02
--- /dev/null
+++ b/pkgs/servers/osrm-backend/4.5.0-default-profile-path.template.patch
@@ -0,0 +1,13 @@
+diff --git a/extractor/extractor_options.cpp b/extractor/extractor_options.cpp
+index d14d8d9..c64d7fd 100644
+--- a/extractor/extractor_options.cpp
++++ b/extractor/extractor_options.cpp
+@@ -50,7 +50,7 @@ bool ExtractorOptions::ParseArguments(int argc, char *argv[], ExtractorConfig &e
+     boost::program_options::options_description config_options("Configuration");
+     config_options.add_options()("profile,p",
+                                  boost::program_options::value<boost::filesystem::path>(
+-                                     &extractor_config.profile_path)->default_value("profile.lua"),
++                                     &extractor_config.profile_path)->default_value("@out@/profiles/car.lua"),
+                                  "Path to LUA routing profile")(
+         "threads,t",
+         boost::program_options::value<unsigned int>(&extractor_config.requested_num_threads)
diff --git a/pkgs/servers/osrm-backend/4.5.0-openmp.patch b/pkgs/servers/osrm-backend/4.5.0-openmp.patch
new file mode 100644
index 00000000000..f4010131f60
--- /dev/null
+++ b/pkgs/servers/osrm-backend/4.5.0-openmp.patch
@@ -0,0 +1,18 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b6a40f9..87ca301 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -261,9 +261,10 @@ target_link_libraries(OSRM ${STXXL_LIBRARY})
+ target_link_libraries(osrm-extract ${STXXL_LIBRARY})
+ target_link_libraries(osrm-prepare ${STXXL_LIBRARY})
+ 
+-if(MINGW)
+-  # STXXL needs OpenMP library
+-  target_link_libraries(osrm-extract gomp)
++find_package(OpenMP)
++if (OPENMP_FOUND)
++    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
++    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ endif()
+ 
+ find_package( OSMPBF REQUIRED )
diff --git a/pkgs/servers/osrm-backend/default.nix b/pkgs/servers/osrm-backend/default.nix
new file mode 100644
index 00000000000..37d3650f683
--- /dev/null
+++ b/pkgs/servers/osrm-backend/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, cmake, luabind, libosmpbf, stxxl, tbb, boost, expat, protobuf, bzip2, zlib, substituteAll}:
+
+stdenv.mkDerivation rec {
+  name = "osrm-backend-4.5.0";
+
+  src = fetchurl {
+    url = "https://github.com/Project-OSRM/osrm-backend/archive/v4.5.0.tar.gz";
+    sha256 = "af61e883051f2ecb73520ace6f17cc6da30edc413208ff7cf3d87992eca0756c";
+  };
+
+  patches = [
+    ./4.5.0-openmp.patch
+    (substituteAll {
+      src = ./4.5.0-default-profile-path.template.patch;
+    })
+  ];
+
+  buildInputs = [ cmake luabind libosmpbf stxxl tbb boost expat protobuf bzip2 zlib ];
+
+  postInstall = "mkdir -p $out/share/osrm-backend && cp -r ../profiles $out/share/osrm-backend/profiles";
+
+  meta = {
+    homepage = https://github.com/Project-OSRM/osrm-backend/wiki;
+    description = "Open Source Routing Machine computes shortest paths in a graph. It was designed to run well with map data from the Openstreetmap Project.";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/servers/owncloud/default.nix b/pkgs/servers/owncloud/default.nix
new file mode 100644
index 00000000000..ef01a3976bc
--- /dev/null
+++ b/pkgs/servers/owncloud/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  name= "owncloud-${version}";
+  version = "7.0.4";
+
+  src = fetchurl {
+    url = "https://download.owncloud.org/community/${name}.tar.bz2";
+    sha256 = "0djgqdyxkrh1wc4sn21fmdjr09dkmnjm3gs6lbkp6yn5fpbzhybi";
+  };
+
+  installPhase =
+    ''
+      mkdir -p $out
+      find . -maxdepth 1 -execdir cp -r '{}' $out \;
+
+      substituteInPlace $out/lib/base.php \
+        --replace 'OC_Config::$object = new \OC\Config(self::$configDir);' \
+                  'self::$configDir = getenv("OC_CONFIG_PATH"); OC_Config::$object = new \OC\Config(self::$configDir);'
+    '';
+
+  meta = {
+    description = "An enterprise file sharing solution for online collaboration and storage";
+    homepage = https://owncloud.org;
+    maintainers = with stdenv.lib.maintainers; [ matejc ];
+    license = stdenv.lib.licenses.agpl3Plus;
+  };
+
+}
diff --git a/pkgs/servers/portmap/default.nix b/pkgs/servers/portmap/default.nix
index f2152b65df3..e53690ebc11 100644
--- a/pkgs/servers/portmap/default.nix
+++ b/pkgs/servers/portmap/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://neil.brown.name/portmap/;
     license = "BSD";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/prayer/default.nix b/pkgs/servers/prayer/default.nix
index 781fca1c33d..1e476cb2301 100644
--- a/pkgs/servers/prayer/default.nix
+++ b/pkgs/servers/prayer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, openssl, db, zlib, uwimap, htmlTidy, pam}:
+{ stdenv, fetchurl, perl, openssl, db, zlib, uwimap, html-tidy, pam}:
 
 let
   ssl = stdenv.lib.optionals uwimap.withSSL
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "135fjbxjn385b6cjys6qhbwfw61mdcl2akkll4jfpdzfvhbxlyda";
   };
 
-  buildInputs = [ openssl db zlib uwimap htmlTidy pam ];
+  buildInputs = [ openssl db zlib uwimap html-tidy pam ];
   nativeBuildInputs = [ perl ];
 
   NIX_LDFLAGS = "-lpam";
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index a918007b47c..4228f8b1eab 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -3,25 +3,19 @@
 , bluez, sbc, udev, libcap, json_c
 , jackaudioSupport ? false, jack2 ? null
 , x11Support ? false, xlibs
-, useSystemd ? false, systemd ? null }:
+, useSystemd ? false, systemd ? null
+, ossWrapper ? false }:
 
 assert jackaudioSupport -> jack2 != null;
 
 stdenv.mkDerivation rec {
-  name = "pulseaudio-5.0";
+  name = "pulseaudio-6.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/${name}.tar.xz";
-    sha256 = "0fgrr8v7yfh0byhzdv4c87v9lkj8g7gpjm8r9xrbvpa92a5kmhcr";
+    sha256 = "1xpnfxa0d8pgf6b4qdgnkcvrvdxbbbjd5ync19h0f5hbp3h401mm";
   };
 
-  patches = [(fetchpatch {
-    name = "CVE-2014-3970.patch";
-    url = "http://cgit.freedesktop.org/pulseaudio/pulseaudio/patch/"
-      + "?id=26b9d22dd24c17eb118d0205bf7b02b75d435e3c";
-    sha256 = "13vxp6520djgfrfxkzy5qvabl94sga3yl5pj93xawbkgwzqymdyq";
-  })];
-
   # Since `libpulse*.la' contain `-lgdbm' and `-lcap', it must be propagated.
   propagatedBuildInputs
     = [ gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
@@ -45,9 +39,17 @@ stdenv.mkDerivation rec {
        -e "s|chmod r+s |true |"
   '';
 
-  configureFlags =
-    [ "--disable-solaris" "--disable-jack" "--disable-oss-output"
-      "--disable-oss-wrapper" "--localstatedir=/var" "--sysconfdir=/etc" ]
+  configureFlags = [
+    "--disable-solaris"
+    "--disable-jack"
+    "--disable-oss-output"
+  ] ++ stdenv.lib.optional (!ossWrapper) "--disable-oss-wrapper" ++
+  [
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+    "--with-access-group=audio"
+    "--with-systemduserunitdir=\${out}/lib/systemd/user"
+  ]
     ++ stdenv.lib.optional jackaudioSupport "--enable-jack"
     ++ stdenv.lib.optional stdenv.isDarwin "--with-mac-sysroot=/";
 
diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix
index d6952e9700e..705a4ba43e7 100644
--- a/pkgs/servers/restund/default.nix
+++ b/pkgs/servers/restund/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, zlib, openssl, libre, librem, mysql}:
+{ stdenv, fetchurl, zlib, openssl, libre, librem, mysql }:
 stdenv.mkDerivation rec {
   version = "0.4.2";
   name = "restund-${version}";
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "http://www.creytiv.com/pub/restund-${version}.tar.gz";
     sha256 = "db5260939d40cb2ce531075bef02b9d6431067bdd52f3168a6f25246bdf7b9f2";
   };
-  buildInputs = [zlib openssl libre librem mysql];
+  buildInputs = [ zlib openssl libre librem mysql.lib ];
   makeFlags = [
     "LIBRE_MK=${libre}/share/re/re.mk"
     "LIBRE_INC=${libre}/include/re"
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
     ''PREFIX=$(out)''
     "USE_MYSQL=1"
   ]
-  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
-  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
+  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
   ;
-  NIX_LDFLAGS='' -L${mysql}/lib/mysql '';
+  NIX_LDFLAGS='' -L${mysql.lib}/lib/mysql '';
   meta = {
     homepage = "http://www.creytiv.com/restund.html";
     platforms = with stdenv.lib.platforms; linux;
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     downloadPage = "http://www.creytiv.com/pub/";
     updateWalker = true;
     downloadURLRegexp = "/restund-.*[.]tar[.]";
+    broken = true; # probably due to glibc-2.20
   };
 }
diff --git a/pkgs/servers/rippled/data-api.nix b/pkgs/servers/rippled/data-api.nix
new file mode 100644
index 00000000000..230e0aee218
--- /dev/null
+++ b/pkgs/servers/rippled/data-api.nix
@@ -0,0 +1,25 @@
+{ lib, fetchgit, fetchurl, nodePackages }:
+
+with lib;
+
+let
+  np = nodePackages.override { generated = ./package.nix; self = np; };
+in nodePackages.buildNodePackage rec {
+  name = "ripple-data-api-${version}";
+  version = lib.strings.substring 0 7 rev;
+  rev = "c56b860105f36c1c44ae011189d495272648c589";
+
+  src = fetchgit {
+    url = https://github.com/ripple/ripple-data-api.git;
+    inherit rev;
+    sha256 = "1iygp26ilradxj268g1l2y93cgrpchqwn71qdag67lv273dbq48m";
+  };
+
+  deps = (filter (v: nixType v == "derivation") (attrValues np));
+
+  meta = {
+    description = "Historical ripple data";
+    homepage = https://github.com/ripple/ripple-data-api;
+    maintainers = with maintainers; [ offline ];
+  };
+}
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
index 66a0743b367..39a7460674e 100644
--- a/pkgs/servers/rippled/default.nix
+++ b/pkgs/servers/rippled/default.nix
@@ -1,32 +1,34 @@
-{ stdenv, fetchurl, scons, pkgconfig, openssl, protobuf, boost155, zlib}:
+{ stdenv, fetchFromGitHub, scons, pkgconfig, openssl, protobuf, boost, zlib}:
 
 stdenv.mkDerivation rec {
   name = "rippled-${version}";
-  version = "0.23.0";
+  version = "0.27.3-sp2";
 
-  src = fetchurl {
-    url = "https://github.com/ripple/rippled/archive/${version}.tar.gz";
-    sha256 = "0js734sk11jn19fyp403mk6p62azlc6s9kyhr5jfg466fiak537p";
+  src = fetchFromGitHub {
+    owner = "ripple";
+    repo = "rippled";
+    rev = version;
+    sha256 = "1q4i87cc7yks9slpgrfnlimngm45n3h035ssjvywmfwhhh7r9m3y";
   };
 
-  patches = [ ./scons-env.patch ];
+  postPatch = ''
+    sed -i -e "s@ENV = dict.*@ENV = os.environ@g" SConstruct
+  '';
 
-  buildInputs = [ scons pkgconfig openssl protobuf boost155 zlib ];
+  buildInputs = [ scons pkgconfig openssl protobuf boost zlib ];
 
-  RIPPLED_BOOST_HOME = boost155.out;
-  RIPPLED_ZLIB_HOME = zlib.out;
   buildPhase = "scons build/rippled";
 
   installPhase = ''
-    mkdir -p $out/bin    
+    mkdir -p $out/bin
     cp build/rippled $out/bin/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Ripple P2P payment network reference server";
-    homepage = "https://ripple.com";
-    maintainers = stdenv.lib.maintainers.emery;
-    license = stdenv.lib.licenses.isc;
-    platforms = stdenv.lib.platforms.linux;
+    homepage = https://ripple.com;
+    maintainers = [ maintainers.emery maintainers.offline ];
+    license = licenses.isc;
+    platforms = platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/servers/rippled/package.nix b/pkgs/servers/rippled/package.nix
new file mode 100644
index 00000000000..fd318c979fe
--- /dev/null
+++ b/pkgs/servers/rippled/package.nix
@@ -0,0 +1,3909 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."accepts"."~1.2.5" =
+    self.by-version."accepts"."1.2.5";
+  by-version."accepts"."1.2.5" = self.buildNodePackage {
+    name = "accepts-1.2.5";
+    version = "1.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.5.tgz";
+      name = "accepts-1.2.5.tgz";
+      sha1 = "bb07dc52c141ae562611a836ff433bcec8871ce9";
+    };
+    deps = {
+      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+      "negotiator-0.5.1" = self.by-version."negotiator"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = self.buildNodePackage {
+    name = "asn1-0.1.11";
+    version = "0.1.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+      name = "asn1-0.1.11.tgz";
+      sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."assert-plus"."^0.1.5" =
+    self.by-version."assert-plus"."0.1.5";
+  by-version."assert-plus"."0.1.5" = self.buildNodePackage {
+    name = "assert-plus-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+      name = "assert-plus-0.1.5.tgz";
+      sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."0.2.x" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = self.buildNodePackage {
+    name = "async-0.2.10";
+    version = "0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+      name = "async-0.2.10.tgz";
+      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."^0.2.10" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.7" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.10";
+  "async" = self.by-version."async"."0.2.10";
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.0";
+  by-version."async"."0.9.0" = self.buildNodePackage {
+    name = "async-0.9.0";
+    version = "0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+      name = "async-0.9.0.tgz";
+      sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."aws-sign"."~0.2.0" =
+    self.by-version."aws-sign"."0.2.0";
+  by-version."aws-sign"."0.2.0" = self.buildNodePackage {
+    name = "aws-sign-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
+      name = "aws-sign-0.2.0.tgz";
+      sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = self.buildNodePackage {
+    name = "aws-sign2-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+      name = "aws-sign2-0.5.0.tgz";
+      sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-url"."1.2.1" =
+    self.by-version."base64-url"."1.2.1";
+  by-version."base64-url"."1.2.1" = self.buildNodePackage {
+    name = "base64-url-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz";
+      name = "base64-url-1.2.1.tgz";
+      sha1 = "199fd661702a0e7b7dcae6e0698bb089c52f6d78";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."basic-auth"."1.0.0" =
+    self.by-version."basic-auth"."1.0.0";
+  by-version."basic-auth"."1.0.0" = self.buildNodePackage {
+    name = "basic-auth-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
+      name = "basic-auth-1.0.0.tgz";
+      sha1 = "111b2d9ff8e4e6d136b8c84ea5e096cb87351637";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."basic-auth-connect"."1.0.0" =
+    self.by-version."basic-auth-connect"."1.0.0";
+  by-version."basic-auth-connect"."1.0.0" = self.buildNodePackage {
+    name = "basic-auth-connect-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
+      name = "basic-auth-connect-1.0.0.tgz";
+      sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."batch"."0.5.2" =
+    self.by-version."batch"."0.5.2";
+  by-version."batch"."0.5.2" = self.buildNodePackage {
+    name = "batch-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/batch/-/batch-0.5.2.tgz";
+      name = "batch-0.5.2.tgz";
+      sha1 = "546543dbe32118c83c7c7ca33a1f5c5d5ea963e9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bignumber.js"."^2.0.0" =
+    self.by-version."bignumber.js"."2.0.3";
+  by-version."bignumber.js"."2.0.3" = self.buildNodePackage {
+    name = "bignumber.js-2.0.3";
+    version = "2.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bignumber.js/-/bignumber.js-2.0.3.tgz";
+      name = "bignumber.js-2.0.3.tgz";
+      sha1 = "1328f1d618f4bfe23587af73577a5a1e4f3cf105";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bindings"."1.2.x" =
+    self.by-version."bindings"."1.2.1";
+  by-version."bindings"."1.2.1" = self.buildNodePackage {
+    name = "bindings-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
+      name = "bindings-1.2.1.tgz";
+      sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bl"."~0.9.0" =
+    self.by-version."bl"."0.9.4";
+  by-version."bl"."0.9.4" = self.buildNodePackage {
+    name = "bl-0.9.4";
+    version = "0.9.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bl/-/bl-0.9.4.tgz";
+      name = "bl-0.9.4.tgz";
+      sha1 = "4702ddf72fbe0ecd82787c00c113aea1935ad0e7";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."body-parser"."~1.12.2" =
+    self.by-version."body-parser"."1.12.2";
+  by-version."body-parser"."1.12.2" = self.buildNodePackage {
+    name = "body-parser-1.12.2";
+    version = "1.12.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/body-parser/-/body-parser-1.12.2.tgz";
+      name = "body-parser-1.12.2.tgz";
+      sha1 = "698368fb4dfc57a05bff1ddb1bebeba3bd2c0e87";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "qs-2.4.1" = self.by-version."qs"."2.4.1";
+      "raw-body-1.3.3" = self.by-version."raw-body"."1.3.3";
+      "type-is-1.6.1" = self.by-version."type-is"."1.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."boom"."0.3.x" =
+    self.by-version."boom"."0.3.8";
+  by-version."boom"."0.3.8" = self.buildNodePackage {
+    name = "boom-0.3.8";
+    version = "0.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
+      name = "boom-0.3.8.tgz";
+      sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
+    };
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = self.buildNodePackage {
+    name = "boom-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+      name = "boom-0.4.2.tgz";
+      sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."boom"."2.x.x" =
+    self.by-version."boom"."2.6.1";
+  by-version."boom"."2.6.1" = self.buildNodePackage {
+    name = "boom-2.6.1";
+    version = "2.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-2.6.1.tgz";
+      name = "boom-2.6.1.tgz";
+      sha1 = "4dc8ef9b6dfad9c43bbbfbe71fa4c21419f22753";
+    };
+    deps = {
+      "hoek-2.11.1" = self.by-version."hoek"."2.11.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-request"."~0.3.0" =
+    self.by-version."browser-request"."0.3.3";
+  by-version."browser-request"."0.3.3" = self.buildNodePackage {
+    name = "browser-request-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
+      name = "browser-request-0.3.3.tgz";
+      sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bufferutil"."1.0.x" =
+    self.by-version."bufferutil"."1.0.1";
+  by-version."bufferutil"."1.0.1" = self.buildNodePackage {
+    name = "bufferutil-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bufferutil/-/bufferutil-1.0.1.tgz";
+      name = "bufferutil-1.0.1.tgz";
+      sha1 = "0c53a9ffe8d616c4e2df27d00b808f7a25501e3b";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bytes"."1.0.0" =
+    self.by-version."bytes"."1.0.0";
+  by-version."bytes"."1.0.0" = self.buildNodePackage {
+    name = "bytes-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+      name = "bytes-1.0.0.tgz";
+      sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.6.0" =
+    self.by-version."caseless"."0.6.0";
+  by-version."caseless"."0.6.0" = self.buildNodePackage {
+    name = "caseless-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
+      name = "caseless-0.6.0.tgz";
+      sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.9.0" =
+    self.by-version."caseless"."0.9.0";
+  by-version."caseless"."0.9.0" = self.buildNodePackage {
+    name = "caseless-0.9.0";
+    version = "0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz";
+      name = "caseless-0.9.0.tgz";
+      sha1 = "b7b65ce6bf1413886539cfd533f0b30effa9cf88";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clone"."~0.1.11" =
+    self.by-version."clone"."0.1.19";
+  by-version."clone"."0.1.19" = self.buildNodePackage {
+    name = "clone-0.1.19";
+    version = "0.1.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone/-/clone-0.1.19.tgz";
+      name = "clone-0.1.19.tgz";
+      sha1 = "613fb68639b26a494ac53253e15b1a6bd88ada85";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "clone" = self.by-version."clone"."0.1.19";
+  by-spec."colors"."0.6.x" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = self.buildNodePackage {
+    name = "colors-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+      name = "colors-0.6.2.tgz";
+      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.7";
+  by-version."combined-stream"."0.0.7" = self.buildNodePackage {
+    name = "combined-stream-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+      name = "combined-stream-0.0.7.tgz";
+      sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+    };
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."~0.0.5" =
+    self.by-version."combined-stream"."0.0.7";
+  by-spec."commander"."2.6.0" =
+    self.by-version."commander"."2.6.0";
+  by-version."commander"."2.6.0" = self.buildNodePackage {
+    name = "commander-2.6.0";
+    version = "2.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
+      name = "commander-2.6.0.tgz";
+      sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-emitter"."1.1.2" =
+    self.by-version."component-emitter"."1.1.2";
+  by-version."component-emitter"."1.1.2" = self.buildNodePackage {
+    name = "component-emitter-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
+      name = "component-emitter-1.1.2.tgz";
+      sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compressible"."~2.0.2" =
+    self.by-version."compressible"."2.0.2";
+  by-version."compressible"."2.0.2" = self.buildNodePackage {
+    name = "compressible-2.0.2";
+    version = "2.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compressible/-/compressible-2.0.2.tgz";
+      name = "compressible-2.0.2.tgz";
+      sha1 = "d0474a6ba6590a43d39c2ce9a6cfbb6479be76a5";
+    };
+    deps = {
+      "mime-db-1.8.0" = self.by-version."mime-db"."1.8.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compression"."~1.4.3" =
+    self.by-version."compression"."1.4.3";
+  by-version."compression"."1.4.3" = self.buildNodePackage {
+    name = "compression-1.4.3";
+    version = "1.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compression/-/compression-1.4.3.tgz";
+      name = "compression-1.4.3.tgz";
+      sha1 = "7161bc0441df629273e5c31dd631b8e41e886b4d";
+    };
+    deps = {
+      "accepts-1.2.5" = self.by-version."accepts"."1.2.5";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "compressible-2.0.2" = self.by-version."compressible"."2.0.2";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect"."2.29.1" =
+    self.by-version."connect"."2.29.1";
+  by-version."connect"."2.29.1" = self.buildNodePackage {
+    name = "connect-2.29.1";
+    version = "2.29.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.29.1.tgz";
+      name = "connect-2.29.1.tgz";
+      sha1 = "e0456742d25ed232b573ce156883dd4e6f208538";
+    };
+    deps = {
+      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
+      "body-parser-1.12.2" = self.by-version."body-parser"."1.12.2";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-parser-1.3.4" = self.by-version."cookie-parser"."1.3.4";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "compression-1.4.3" = self.by-version."compression"."1.4.3";
+      "connect-timeout-1.6.1" = self.by-version."connect-timeout"."1.6.1";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "csurf-1.7.0" = self.by-version."csurf"."1.7.0";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "errorhandler-1.3.5" = self.by-version."errorhandler"."1.3.5";
+      "express-session-1.10.4" = self.by-version."express-session"."1.10.4";
+      "finalhandler-0.3.4" = self.by-version."finalhandler"."0.3.4";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "method-override-2.3.2" = self.by-version."method-override"."2.3.2";
+      "morgan-1.5.2" = self.by-version."morgan"."1.5.2";
+      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "qs-2.4.1" = self.by-version."qs"."2.4.1";
+      "response-time-2.3.0" = self.by-version."response-time"."2.3.0";
+      "serve-favicon-2.2.0" = self.by-version."serve-favicon"."2.2.0";
+      "serve-index-1.6.3" = self.by-version."serve-index"."1.6.3";
+      "serve-static-1.9.2" = self.by-version."serve-static"."1.9.2";
+      "type-is-1.6.1" = self.by-version."type-is"."1.6.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect-timeout"."~1.6.1" =
+    self.by-version."connect-timeout"."1.6.1";
+  by-version."connect-timeout"."1.6.1" = self.buildNodePackage {
+    name = "connect-timeout-1.6.1";
+    version = "1.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.1.tgz";
+      name = "connect-timeout-1.6.1.tgz";
+      sha1 = "1de3a2b853734820a232080b95742494ba4cd067";
+    };
+    deps = {
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."content-disposition"."0.5.0" =
+    self.by-version."content-disposition"."0.5.0";
+  by-version."content-disposition"."0.5.0" = self.buildNodePackage {
+    name = "content-disposition-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
+      name = "content-disposition-0.5.0.tgz";
+      sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."content-type"."~1.0.1" =
+    self.by-version."content-type"."1.0.1";
+  by-version."content-type"."1.0.1" = self.buildNodePackage {
+    name = "content-type-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz";
+      name = "content-type-1.0.1.tgz";
+      sha1 = "a19d2247327dc038050ce622b7a154ec59c5e600";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = self.buildNodePackage {
+    name = "cookie-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+      name = "cookie-0.1.2.tgz";
+      sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-jar"."~0.2.0" =
+    self.by-version."cookie-jar"."0.2.0";
+  by-version."cookie-jar"."0.2.0" = self.buildNodePackage {
+    name = "cookie-jar-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
+      name = "cookie-jar-0.2.0.tgz";
+      sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-parser"."~1.3.4" =
+    self.by-version."cookie-parser"."1.3.4";
+  by-version."cookie-parser"."1.3.4" = self.buildNodePackage {
+    name = "cookie-parser-1.3.4";
+    version = "1.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.4.tgz";
+      name = "cookie-parser-1.3.4.tgz";
+      sha1 = "193035a5be97117a21709b3aa737f6132717bda6";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-signature"."1.0.6" =
+    self.by-version."cookie-signature"."1.0.6";
+  by-version."cookie-signature"."1.0.6" = self.buildNodePackage {
+    name = "cookie-signature-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+      name = "cookie-signature-1.0.6.tgz";
+      sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookiejar"."2.0.1" =
+    self.by-version."cookiejar"."2.0.1";
+  by-version."cookiejar"."2.0.1" = self.buildNodePackage {
+    name = "cookiejar-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
+      name = "cookiejar-2.0.1.tgz";
+      sha1 = "3d12752f6adf68a892f332433492bd5812bb668f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.1";
+  by-version."core-util-is"."1.0.1" = self.buildNodePackage {
+    name = "core-util-is-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+      name = "core-util-is-1.0.1.tgz";
+      sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."couch-compile"."^1.0.1" =
+    self.by-version."couch-compile"."1.2.0";
+  by-version."couch-compile"."1.2.0" = self.buildNodePackage {
+    name = "couch-compile-1.2.0";
+    version = "1.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/couch-compile/-/couch-compile-1.2.0.tgz";
+      name = "couch-compile-1.2.0.tgz";
+      sha1 = "c4f7396f3dea38516b4e51d3edc3196de4f2d69c";
+    };
+    deps = {
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "couch-compile" = self.by-version."couch-compile"."1.2.0";
+  by-spec."crc"."3.2.1" =
+    self.by-version."crc"."3.2.1";
+  by-version."crc"."3.2.1" = self.buildNodePackage {
+    name = "crc-3.2.1";
+    version = "3.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
+      name = "crc-3.2.1.tgz";
+      sha1 = "5d9c8fb77a245cd5eca291e5d2d005334bab0082";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cron-parser"."~0.3.0" =
+    self.by-version."cron-parser"."0.3.6";
+  by-version."cron-parser"."0.3.6" = self.buildNodePackage {
+    name = "cron-parser-0.3.6";
+    version = "0.3.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cron-parser/-/cron-parser-0.3.6.tgz";
+      name = "cron-parser-0.3.6.tgz";
+      sha1 = "1e4734ebd5fa054f5766693c52468b17df9681c9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cryptiles"."0.1.x" =
+    self.by-version."cryptiles"."0.1.3";
+  by-version."cryptiles"."0.1.3" = self.buildNodePackage {
+    name = "cryptiles-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
+      name = "cryptiles-0.1.3.tgz";
+      sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
+    };
+    deps = {
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = self.buildNodePackage {
+    name = "cryptiles-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+      name = "cryptiles-0.2.2.tgz";
+      sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+    };
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cryptiles"."2.x.x" =
+    self.by-version."cryptiles"."2.0.4";
+  by-version."cryptiles"."2.0.4" = self.buildNodePackage {
+    name = "cryptiles-2.0.4";
+    version = "2.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz";
+      name = "cryptiles-2.0.4.tgz";
+      sha1 = "09ea1775b9e1c7de7e60a99d42ab6f08ce1a1285";
+    };
+    deps = {
+      "boom-2.6.1" = self.by-version."boom"."2.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."csrf"."~2.0.6" =
+    self.by-version."csrf"."2.0.6";
+  by-version."csrf"."2.0.6" = self.buildNodePackage {
+    name = "csrf-2.0.6";
+    version = "2.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/csrf/-/csrf-2.0.6.tgz";
+      name = "csrf-2.0.6.tgz";
+      sha1 = "a90a9d88fc7411423cb0c5c13e901a8cc588132e";
+    };
+    deps = {
+      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
+      "rndm-1.1.0" = self.by-version."rndm"."1.1.0";
+      "scmp-1.0.0" = self.by-version."scmp"."1.0.0";
+      "uid-safe-1.1.0" = self.by-version."uid-safe"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."csurf"."~1.7.0" =
+    self.by-version."csurf"."1.7.0";
+  by-version."csurf"."1.7.0" = self.buildNodePackage {
+    name = "csurf-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/csurf/-/csurf-1.7.0.tgz";
+      name = "csurf-1.7.0.tgz";
+      sha1 = "f24dc53753fccbdce0505f2abc5b57167b65ff18";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "csrf-2.0.6" = self.by-version."csrf"."2.0.6";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ctype"."0.5.3" =
+    self.by-version."ctype"."0.5.3";
+  by-version."ctype"."0.5.3" = self.buildNodePackage {
+    name = "ctype-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+      name = "ctype-0.5.3.tgz";
+      sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cycle"."1.0.x" =
+    self.by-version."cycle"."1.0.3";
+  by-version."cycle"."1.0.3" = self.buildNodePackage {
+    name = "cycle-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+      name = "cycle-1.0.3.tgz";
+      sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."~0.7.2" =
+    self.by-version."debug"."0.7.4";
+  by-version."debug"."0.7.4" = self.buildNodePackage {
+    name = "debug-0.7.4";
+    version = "0.7.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+      name = "debug-0.7.4.tgz";
+      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."~1.0.1" =
+    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.4" = self.buildNodePackage {
+    name = "debug-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+      name = "debug-1.0.4.tgz";
+      sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."~2.1.3" =
+    self.by-version."debug"."2.1.3";
+  by-version."debug"."2.1.3" = self.buildNodePackage {
+    name = "debug-2.1.3";
+    version = "2.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.1.3.tgz";
+      name = "debug-2.1.3.tgz";
+      sha1 = "ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e";
+    };
+    deps = {
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-diff"."^0.1.4" =
+    self.by-version."deep-diff"."0.1.7";
+  by-version."deep-diff"."0.1.7" = self.buildNodePackage {
+    name = "deep-diff-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-diff/-/deep-diff-0.1.7.tgz";
+      name = "deep-diff-0.1.7.tgz";
+      sha1 = "d36da978b64429c268116cea941f490e7949cd3d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "deep-diff" = self.by-version."deep-diff"."0.1.7";
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+      name = "delayed-stream-0.0.5.tgz";
+      sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."depd"."~1.0.0" =
+    self.by-version."depd"."1.0.0";
+  by-version."depd"."1.0.0" = self.buildNodePackage {
+    name = "depd-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/depd/-/depd-1.0.0.tgz";
+      name = "depd-1.0.0.tgz";
+      sha1 = "2fda0d00e98aae2845d4991ab1bf1f2a199073d5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."destroy"."1.0.3" =
+    self.by-version."destroy"."1.0.3";
+  by-version."destroy"."1.0.3" = self.buildNodePackage {
+    name = "destroy-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+      name = "destroy-1.0.3.tgz";
+      sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ee-first"."1.1.0" =
+    self.by-version."ee-first"."1.1.0";
+  by-version."ee-first"."1.1.0" = self.buildNodePackage {
+    name = "ee-first-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
+      name = "ee-first-1.1.0.tgz";
+      sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."errorhandler"."~1.3.5" =
+    self.by-version."errorhandler"."1.3.5";
+  by-version."errorhandler"."1.3.5" = self.buildNodePackage {
+    name = "errorhandler-1.3.5";
+    version = "1.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.3.5.tgz";
+      name = "errorhandler-1.3.5.tgz";
+      sha1 = "4ef655dd2c30e1fc1bf9c24805fa34ba20d4f69a";
+    };
+    deps = {
+      "accepts-1.2.5" = self.by-version."accepts"."1.2.5";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."errs"."~0.3.0" =
+    self.by-version."errs"."0.3.2";
+  by-version."errs"."0.3.2" = self.buildNodePackage {
+    name = "errs-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/errs/-/errs-0.3.2.tgz";
+      name = "errs-0.3.2.tgz";
+      sha1 = "798099b2dbd37ca2bc749e538a7c1307d0b50499";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-html"."1.0.1" =
+    self.by-version."escape-html"."1.0.1";
+  by-version."escape-html"."1.0.1" = self.buildNodePackage {
+    name = "escape-html-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+      name = "escape-html-1.0.1.tgz";
+      sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."etag"."~1.5.1" =
+    self.by-version."etag"."1.5.1";
+  by-version."etag"."1.5.1" = self.buildNodePackage {
+    name = "etag-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/etag/-/etag-1.5.1.tgz";
+      name = "etag-1.5.1.tgz";
+      sha1 = "54c50de04ee42695562925ac566588291be7e9ea";
+    };
+    deps = {
+      "crc-3.2.1" = self.by-version."crc"."3.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."^3.4.8" =
+    self.by-version."express"."3.20.2";
+  by-version."express"."3.20.2" = self.buildNodePackage {
+    name = "express-3.20.2";
+    version = "3.20.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-3.20.2.tgz";
+      name = "express-3.20.2.tgz";
+      sha1 = "c604027746e60f3da0a4b43063375d21c3235858";
+    };
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "connect-2.29.1" = self.by-version."connect"."2.29.1";
+      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "proxy-addr-1.0.7" = self.by-version."proxy-addr"."1.0.7";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.12.2" = self.by-version."send"."0.12.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "express" = self.by-version."express"."3.20.2";
+  by-spec."express-session"."~1.10.4" =
+    self.by-version."express-session"."1.10.4";
+  by-version."express-session"."1.10.4" = self.buildNodePackage {
+    name = "express-session-1.10.4";
+    version = "1.10.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express-session/-/express-session-1.10.4.tgz";
+      name = "express-session-1.10.4.tgz";
+      sha1 = "04e1d92e00593893e1f76569eb3ad63113daf94c";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "crc-3.2.1" = self.by-version."crc"."3.2.1";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.1.0" = self.by-version."uid-safe"."1.1.0";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."extend"."~1.2.1" =
+    self.by-version."extend"."1.2.1";
+  by-version."extend"."1.2.1" = self.buildNodePackage {
+    name = "extend-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
+      name = "extend-1.2.1.tgz";
+      sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."eyes"."0.1.x" =
+    self.by-version."eyes"."0.1.8";
+  by-version."eyes"."0.1.8" = self.buildNodePackage {
+    name = "eyes-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+      name = "eyes-0.1.8.tgz";
+      sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.3.4" =
+    self.by-version."finalhandler"."0.3.4";
+  by-version."finalhandler"."0.3.4" = self.buildNodePackage {
+    name = "finalhandler-0.3.4";
+    version = "0.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.4.tgz";
+      name = "finalhandler-0.3.4.tgz";
+      sha1 = "4787d3573d079ae8b07536f26b0b911ebaf2a2ac";
+    };
+    deps = {
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."follow"."~0.11.2" =
+    self.by-version."follow"."0.11.4";
+  by-version."follow"."0.11.4" = self.buildNodePackage {
+    name = "follow-0.11.4";
+    version = "0.11.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/follow/-/follow-0.11.4.tgz";
+      name = "follow-0.11.4.tgz";
+      sha1 = "87e9a50d443f921d05704ebac412a14ab9d9232f";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forever-agent"."~0.2.0" =
+    self.by-version."forever-agent"."0.2.0";
+  by-version."forever-agent"."0.2.0" = self.buildNodePackage {
+    name = "forever-agent-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
+      name = "forever-agent-0.2.0.tgz";
+      sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = self.buildNodePackage {
+    name = "forever-agent-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+      name = "forever-agent-0.5.2.tgz";
+      sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data"."0.1.3" =
+    self.by-version."form-data"."0.1.3";
+  by-version."form-data"."0.1.3" = self.buildNodePackage {
+    name = "form-data-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
+      name = "form-data-0.1.3.tgz";
+      sha1 = "4ee4346e6eb5362e8344a02075bd8dbd8c7373ea";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data"."~0.0.3" =
+    self.by-version."form-data"."0.0.10";
+  by-version."form-data"."0.0.10" = self.buildNodePackage {
+    name = "form-data-0.0.10";
+    version = "0.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
+      name = "form-data-0.0.10.tgz";
+      sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.4";
+  by-version."form-data"."0.1.4" = self.buildNodePackage {
+    name = "form-data-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+      name = "form-data-0.1.4.tgz";
+      sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data"."~0.2.0" =
+    self.by-version."form-data"."0.2.0";
+  by-version."form-data"."0.2.0" = self.buildNodePackage {
+    name = "form-data-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz";
+      name = "form-data-0.2.0.tgz";
+      sha1 = "26f8bc26da6440e299cbdcfb69035c4f77a6e466";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."formidable"."1.0.14" =
+    self.by-version."formidable"."1.0.14";
+  by-version."formidable"."1.0.14" = self.buildNodePackage {
+    name = "formidable-1.0.14";
+    version = "1.0.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
+      name = "formidable-1.0.14.tgz";
+      sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forwarded"."~0.1.0" =
+    self.by-version."forwarded"."0.1.0";
+  by-version."forwarded"."0.1.0" = self.buildNodePackage {
+    name = "forwarded-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+      name = "forwarded-0.1.0.tgz";
+      sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = self.buildNodePackage {
+    name = "fresh-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+      name = "fresh-0.2.4.tgz";
+      sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."^3.2.11" =
+    self.by-version."glob"."3.2.11";
+  by-version."glob"."3.2.11" = self.buildNodePackage {
+    name = "glob-3.2.11";
+    version = "3.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+      name = "glob-3.2.11.tgz";
+      sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hawk"."1.1.1" =
+    self.by-version."hawk"."1.1.1";
+  by-version."hawk"."1.1.1" = self.buildNodePackage {
+    name = "hawk-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
+      name = "hawk-1.1.1.tgz";
+      sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hawk"."~0.10.2" =
+    self.by-version."hawk"."0.10.2";
+  by-version."hawk"."0.10.2" = self.buildNodePackage {
+    name = "hawk-0.10.2";
+    version = "0.10.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
+      name = "hawk-0.10.2.tgz";
+      sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+    };
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+      "cryptiles-0.1.3" = self.by-version."cryptiles"."0.1.3";
+      "sntp-0.1.4" = self.by-version."sntp"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hawk"."~2.3.0" =
+    self.by-version."hawk"."2.3.1";
+  by-version."hawk"."2.3.1" = self.buildNodePackage {
+    name = "hawk-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz";
+      name = "hawk-2.3.1.tgz";
+      sha1 = "1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f";
+    };
+    deps = {
+      "hoek-2.11.1" = self.by-version."hoek"."2.11.1";
+      "boom-2.6.1" = self.by-version."boom"."2.6.1";
+      "cryptiles-2.0.4" = self.by-version."cryptiles"."2.0.4";
+      "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hoek"."0.7.x" =
+    self.by-version."hoek"."0.7.6";
+  by-version."hoek"."0.7.6" = self.buildNodePackage {
+    name = "hoek-0.7.6";
+    version = "0.7.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
+      name = "hoek-0.7.6.tgz";
+      sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = self.buildNodePackage {
+    name = "hoek-0.9.1";
+    version = "0.9.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+      name = "hoek-0.9.1.tgz";
+      sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hoek"."2.x.x" =
+    self.by-version."hoek"."2.11.1";
+  by-version."hoek"."2.11.1" = self.buildNodePackage {
+    name = "hoek-2.11.1";
+    version = "2.11.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-2.11.1.tgz";
+      name = "hoek-2.11.1.tgz";
+      sha1 = "3839a8b72f86aade3312100afaf80648af155b38";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-errors"."~1.3.1" =
+    self.by-version."http-errors"."1.3.1";
+  by-version."http-errors"."1.3.1" = self.buildNodePackage {
+    name = "http-errors-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz";
+      name = "http-errors-1.3.1.tgz";
+      sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.1";
+  by-version."http-signature"."0.10.1" = self.buildNodePackage {
+    name = "http-signature-0.10.1";
+    version = "0.10.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+      name = "http-signature-0.10.1.tgz";
+      sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+    };
+    deps = {
+      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv-lite"."0.4.7" =
+    self.by-version."iconv-lite"."0.4.7";
+  by-version."iconv-lite"."0.4.7" = self.buildNodePackage {
+    name = "iconv-lite-0.4.7";
+    version = "0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.7.tgz";
+      name = "iconv-lite-0.4.7.tgz";
+      sha1 = "89d32fec821bf8597f44609b4bc09bed5c209a23";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = self.buildNodePackage {
+    name = "inherits-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+      name = "inherits-2.0.1.tgz";
+      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."ipaddr.js"."0.1.9" =
+    self.by-version."ipaddr.js"."0.1.9";
+  by-version."ipaddr.js"."0.1.9" = self.buildNodePackage {
+    name = "ipaddr.js-0.1.9";
+    version = "0.1.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.9.tgz";
+      name = "ipaddr.js-0.1.9.tgz";
+      sha1 = "a9c78ccc12dc9010f296ab9aef2f61f432d69efa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = self.buildNodePackage {
+    name = "isarray-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+      name = "isarray-0.0.1.tgz";
+      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."isstream"."~0.1.1" =
+    self.by-version."isstream"."0.1.2";
+  by-version."isstream"."0.1.2" = self.buildNodePackage {
+    name = "isstream-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+      name = "isstream-0.1.2.tgz";
+      sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json-stringify-safe"."~3.0.0" =
+    self.by-version."json-stringify-safe"."3.0.0";
+  by-version."json-stringify-safe"."3.0.0" = self.buildNodePackage {
+    name = "json-stringify-safe-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
+      name = "json-stringify-safe-3.0.0.tgz";
+      sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = self.buildNodePackage {
+    name = "json-stringify-safe-5.0.0";
+    version = "5.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+      name = "json-stringify-safe-5.0.0.tgz";
+      sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."^3.1.0" =
+    self.by-version."lodash"."3.5.0";
+  by-version."lodash"."3.5.0" = self.buildNodePackage {
+    name = "lodash-3.5.0";
+    version = "3.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz";
+      name = "lodash-3.5.0.tgz";
+      sha1 = "19bb3f4d51278f0b8c818ed145c74ecf9fe40e6d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."~1.3.1" =
+    self.by-version."lodash"."1.3.1";
+  by-version."lodash"."1.3.1" = self.buildNodePackage {
+    name = "lodash-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
+      name = "lodash-1.3.1.tgz";
+      sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "lodash" = self.by-version."lodash"."1.3.1";
+  by-spec."long-timeout"."~0.0.1" =
+    self.by-version."long-timeout"."0.0.2";
+  by-version."long-timeout"."0.0.2" = self.buildNodePackage {
+    name = "long-timeout-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/long-timeout/-/long-timeout-0.0.2.tgz";
+      name = "long-timeout-0.0.2.tgz";
+      sha1 = "f36449ba89629d13a7a2b2523a4db9dd66e3ff68";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.5.0";
+  by-version."lru-cache"."2.5.0" = self.buildNodePackage {
+    name = "lru-cache-2.5.0";
+    version = "2.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+      name = "lru-cache-2.5.0.tgz";
+      sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lru-cache"."~2.5.0" =
+    self.by-version."lru-cache"."2.5.0";
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = self.buildNodePackage {
+    name = "media-typer-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+      name = "media-typer-0.3.0.tgz";
+      sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."merge-descriptors"."1.0.0" =
+    self.by-version."merge-descriptors"."1.0.0";
+  by-version."merge-descriptors"."1.0.0" = self.buildNodePackage {
+    name = "merge-descriptors-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
+      name = "merge-descriptors-1.0.0.tgz";
+      sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."method-override"."~2.3.2" =
+    self.by-version."method-override"."2.3.2";
+  by-version."method-override"."2.3.2" = self.buildNodePackage {
+    name = "method-override-2.3.2";
+    version = "2.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/method-override/-/method-override-2.3.2.tgz";
+      name = "method-override-2.3.2.tgz";
+      sha1 = "f2433fb27b6c087efb8812628727fb8cfd93a793";
+    };
+    deps = {
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."methods"."1.0.1" =
+    self.by-version."methods"."1.0.1";
+  by-version."methods"."1.0.1" = self.buildNodePackage {
+    name = "methods-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
+      name = "methods-1.0.1.tgz";
+      sha1 = "75bc91943dffd7da037cf3eeb0ed73a0037cd14b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."methods"."~1.1.1" =
+    self.by-version."methods"."1.1.1";
+  by-version."methods"."1.1.1" = self.buildNodePackage {
+    name = "methods-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
+      name = "methods-1.1.1.tgz";
+      sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime"."1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = self.buildNodePackage {
+    name = "mime-1.2.11";
+    version = "1.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+      name = "mime-1.2.11.tgz";
+      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime"."1.3.4" =
+    self.by-version."mime"."1.3.4";
+  by-version."mime"."1.3.4" = self.buildNodePackage {
+    name = "mime-1.3.4";
+    version = "1.3.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+      name = "mime-1.3.4.tgz";
+      sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime"."^1.2.11" =
+    self.by-version."mime"."1.3.4";
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.7" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime-db".">= 1.1.2 < 2" =
+    self.by-version."mime-db"."1.8.0";
+  by-version."mime-db"."1.8.0" = self.buildNodePackage {
+    name = "mime-db-1.8.0";
+    version = "1.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.8.0.tgz";
+      name = "mime-db-1.8.0.tgz";
+      sha1 = "82a9b385f22b0f5954dec4d445faba0722c4ad25";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-db"."~1.8.0" =
+    self.by-version."mime-db"."1.8.0";
+  by-spec."mime-types"."~1.0.1" =
+    self.by-version."mime-types"."1.0.2";
+  by-version."mime-types"."1.0.2" = self.buildNodePackage {
+    name = "mime-types-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+      name = "mime-types-1.0.2.tgz";
+      sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.0.1" =
+    self.by-version."mime-types"."2.0.10";
+  by-version."mime-types"."2.0.10" = self.buildNodePackage {
+    name = "mime-types-2.0.10";
+    version = "2.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.10.tgz";
+      name = "mime-types-2.0.10.tgz";
+      sha1 = "eacd81bb73cab2a77447549a078d4f2018c67b4d";
+    };
+    deps = {
+      "mime-db-1.8.0" = self.by-version."mime-db"."1.8.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.0.10" =
+    self.by-version."mime-types"."2.0.10";
+  by-spec."mime-types"."~2.0.3" =
+    self.by-version."mime-types"."2.0.10";
+  by-spec."minimatch"."0.3" =
+    self.by-version."minimatch"."0.3.0";
+  by-version."minimatch"."0.3.0" = self.buildNodePackage {
+    name = "minimatch-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
+      name = "minimatch-0.3.0.tgz";
+      sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
+    };
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimist"."0.0.8" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = self.buildNodePackage {
+    name = "minimist-0.0.8";
+    version = "0.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+      name = "minimist-0.0.8.tgz";
+      sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."0.5.0" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = self.buildNodePackage {
+    name = "mkdirp-0.5.0";
+    version = "0.5.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+      name = "mkdirp-0.5.0.tgz";
+      sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+    };
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
+    name = "mkdirp-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+      name = "mkdirp-0.3.5.tgz";
+      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."moment"."~2.1.0" =
+    self.by-version."moment"."2.1.0";
+  by-version."moment"."2.1.0" = self.buildNodePackage {
+    name = "moment-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
+      name = "moment-2.1.0.tgz";
+      sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "moment" = self.by-version."moment"."2.1.0";
+  by-spec."morgan"."~1.5.2" =
+    self.by-version."morgan"."1.5.2";
+  by-version."morgan"."1.5.2" = self.buildNodePackage {
+    name = "morgan-1.5.2";
+    version = "1.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/morgan/-/morgan-1.5.2.tgz";
+      name = "morgan-1.5.2.tgz";
+      sha1 = "34c1a0e7c2d5ad3ed78f0ef3257b8ac7c35d7cff";
+    };
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = self.buildNodePackage {
+    name = "ms-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+      name = "ms-0.6.2.tgz";
+      sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.7.0" =
+    self.by-version."ms"."0.7.0";
+  by-version."ms"."0.7.0" = self.buildNodePackage {
+    name = "ms-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz";
+      name = "ms-0.7.0.tgz";
+      sha1 = "865be94c2e7397ad8a57da6a633a6e2f30798b83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."multiparty"."3.3.2" =
+    self.by-version."multiparty"."3.3.2";
+  by-version."multiparty"."3.3.2" = self.buildNodePackage {
+    name = "multiparty-3.3.2";
+    version = "3.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
+      name = "multiparty-3.3.2.tgz";
+      sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."1.6.x" =
+    self.by-version."nan"."1.6.2";
+  by-version."nan"."1.6.2" = self.buildNodePackage {
+    name = "nan-1.6.2";
+    version = "1.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.6.2.tgz";
+      name = "nan-1.6.2.tgz";
+      sha1 = "2657d1c43b00f1e847e083832285b7d8f5ba8ec8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."~1.6.2" =
+    self.by-version."nan"."1.6.2";
+  by-spec."nano"."^5.8.0" =
+    self.by-version."nano"."5.12.2";
+  by-version."nano"."5.12.2" = self.buildNodePackage {
+    name = "nano-5.12.2";
+    version = "5.12.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nano/-/nano-5.12.2.tgz";
+      name = "nano-5.12.2.tgz";
+      sha1 = "b51c9c5e4045c4a71fe3bf6a1f46f0ac2426a17c";
+    };
+    deps = {
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "follow-0.11.4" = self.by-version."follow"."0.11.4";
+      "errs-0.3.2" = self.by-version."errs"."0.3.2";
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "nano" = self.by-version."nano"."5.12.2";
+  by-spec."native-or-bluebird"."~1.1.2" =
+    self.by-version."native-or-bluebird"."1.1.2";
+  by-version."native-or-bluebird"."1.1.2" = self.buildNodePackage {
+    name = "native-or-bluebird-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.2.tgz";
+      name = "native-or-bluebird-1.1.2.tgz";
+      sha1 = "3921e110232d1eb790f3dac61bb370531c7d356e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."negotiator"."0.5.1" =
+    self.by-version."negotiator"."0.5.1";
+  by-version."negotiator"."0.5.1" = self.buildNodePackage {
+    name = "negotiator-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.1.tgz";
+      name = "negotiator-0.5.1.tgz";
+      sha1 = "498f661c522470153c6086ac83019cb3eb66f61c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-dogstatsd"."0.0.5" =
+    self.by-version."node-dogstatsd"."0.0.5";
+  by-version."node-dogstatsd"."0.0.5" = self.buildNodePackage {
+    name = "node-dogstatsd-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-dogstatsd/-/node-dogstatsd-0.0.5.tgz";
+      name = "node-dogstatsd-0.0.5.tgz";
+      sha1 = "5b1bc12e7c2f1cab65c6081f43cee27eb359316e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ "linux" "darwin" "freebsd" ];
+    cpu = [ ];
+  };
+  "node-dogstatsd" = self.by-version."node-dogstatsd"."0.0.5";
+  by-spec."node-persist"."0.0.2" =
+    self.by-version."node-persist"."0.0.2";
+  by-version."node-persist"."0.0.2" = self.buildNodePackage {
+    name = "node-persist-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-persist/-/node-persist-0.0.2.tgz";
+      name = "node-persist-0.0.2.tgz";
+      sha1 = "a4999e81d5f3f605df267abf314b7f03b8e6823b";
+    };
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "sugar-1.3.9" = self.by-version."sugar"."1.3.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-persist" = self.by-version."node-persist"."0.0.2";
+  by-spec."node-schedule"."^0.1.13" =
+    self.by-version."node-schedule"."0.1.16";
+  by-version."node-schedule"."0.1.16" = self.buildNodePackage {
+    name = "node-schedule-0.1.16";
+    version = "0.1.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-schedule/-/node-schedule-0.1.16.tgz";
+      name = "node-schedule-0.1.16.tgz";
+      sha1 = "1bbc74bd03141b9bb8c1135978d3b63995ddbf94";
+    };
+    deps = {
+      "cron-parser-0.3.6" = self.by-version."cron-parser"."0.3.6";
+      "long-timeout-0.0.2" = self.by-version."long-timeout"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-schedule" = self.by-version."node-schedule"."0.1.16";
+  by-spec."node-statsd"."^0.1.0" =
+    self.by-version."node-statsd"."0.1.1";
+  by-version."node-statsd"."0.1.1" = self.buildNodePackage {
+    name = "node-statsd-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-statsd/-/node-statsd-0.1.1.tgz";
+      name = "node-statsd-0.1.1.tgz";
+      sha1 = "27a59348763d0af7a037ac2a031fef3f051013d3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-statsd" = self.by-version."node-statsd"."0.1.1";
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.3";
+  by-version."node-uuid"."1.4.3" = self.buildNodePackage {
+    name = "node-uuid-1.4.3";
+    version = "1.4.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
+      name = "node-uuid-1.4.3.tgz";
+      sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.2.0" =
+    self.by-version."oauth-sign"."0.2.0";
+  by-version."oauth-sign"."0.2.0" = self.buildNodePackage {
+    name = "oauth-sign-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
+      name = "oauth-sign-0.2.0.tgz";
+      sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.4.0" =
+    self.by-version."oauth-sign"."0.4.0";
+  by-version."oauth-sign"."0.4.0" = self.buildNodePackage {
+    name = "oauth-sign-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
+      name = "oauth-sign-0.4.0.tgz";
+      sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.6.0" =
+    self.by-version."oauth-sign"."0.6.0";
+  by-version."oauth-sign"."0.6.0" = self.buildNodePackage {
+    name = "oauth-sign-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz";
+      name = "oauth-sign-0.6.0.tgz";
+      sha1 = "7dbeae44f6ca454e1f168451d630746735813ce3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-finished"."~2.2.0" =
+    self.by-version."on-finished"."2.2.0";
+  by-version."on-finished"."2.2.0" = self.buildNodePackage {
+    name = "on-finished-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz";
+      name = "on-finished-2.2.0.tgz";
+      sha1 = "e6ba6a09a3482d6b7969bc3da92c86f0a967605e";
+    };
+    deps = {
+      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-headers"."~1.0.0" =
+    self.by-version."on-headers"."1.0.0";
+  by-version."on-headers"."1.0.0" = self.buildNodePackage {
+    name = "on-headers-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
+      name = "on-headers-1.0.0.tgz";
+      sha1 = "2c75b5da4375513d0161c6052e7fcbe4953fca5d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.6";
+  by-version."options"."0.0.6" = self.buildNodePackage {
+    name = "options-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
+      name = "options-0.0.6.tgz";
+      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = self.buildNodePackage {
+    name = "parseurl-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+      name = "parseurl-1.3.0.tgz";
+      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pause"."0.0.1" =
+    self.by-version."pause"."0.0.1";
+  by-version."pause"."0.0.1" = self.buildNodePackage {
+    name = "pause-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+      name = "pause-0.0.1.tgz";
+      sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = self.buildNodePackage {
+    name = "pkginfo-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+      name = "pkginfo-0.3.0.tgz";
+      sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."posix"."^2.0.0" =
+    self.by-version."posix"."2.0.0";
+  by-version."posix"."2.0.0" = self.buildNodePackage {
+    name = "posix-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/posix/-/posix-2.0.0.tgz";
+      name = "posix-2.0.0.tgz";
+      sha1 = "90fd0ec73968d805c890b61ae6cc95ae5803a87d";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "posix" = self.by-version."posix"."2.0.0";
+  by-spec."proxy-addr"."~1.0.7" =
+    self.by-version."proxy-addr"."1.0.7";
+  by-version."proxy-addr"."1.0.7" = self.buildNodePackage {
+    name = "proxy-addr-1.0.7";
+    version = "1.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.7.tgz";
+      name = "proxy-addr-1.0.7.tgz";
+      sha1 = "6e2655aa9c56b014f09734a7e6d558cc77751939";
+    };
+    deps = {
+      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
+      "ipaddr.js-0.1.9" = self.by-version."ipaddr.js"."0.1.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."punycode".">=0.2.0" =
+    self.by-version."punycode"."1.3.2";
+  by-version."punycode"."1.3.2" = self.buildNodePackage {
+    name = "punycode-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+      name = "punycode-1.3.2.tgz";
+      sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."q"."~1.0.0" =
+    self.by-version."q"."1.0.1";
+  by-version."q"."1.0.1" = self.buildNodePackage {
+    name = "q-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
+      name = "q-1.0.1.tgz";
+      sha1 = "11872aeedee89268110b10a718448ffb10112a14";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "q" = self.by-version."q"."1.0.1";
+  by-spec."qs"."0.6.6" =
+    self.by-version."qs"."0.6.6";
+  by-version."qs"."0.6.6" = self.buildNodePackage {
+    name = "qs-0.6.6";
+    version = "0.6.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+      name = "qs-0.6.6.tgz";
+      sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."2.4.1" =
+    self.by-version."qs"."2.4.1";
+  by-version."qs"."2.4.1" = self.buildNodePackage {
+    name = "qs-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.4.1.tgz";
+      name = "qs-2.4.1.tgz";
+      sha1 = "68cbaea971013426a80c1404fad6b1a6b1175245";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~0.5.4" =
+    self.by-version."qs"."0.5.6";
+  by-version."qs"."0.5.6" = self.buildNodePackage {
+    name = "qs-0.5.6";
+    version = "0.5.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
+      name = "qs-0.5.6.tgz";
+      sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~1.2.0" =
+    self.by-version."qs"."1.2.2";
+  by-version."qs"."1.2.2" = self.buildNodePackage {
+    name = "qs-1.2.2";
+    version = "1.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
+      name = "qs-1.2.2.tgz";
+      sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~2.3.1" =
+    self.by-version."qs"."2.3.3";
+  by-version."qs"."2.3.3" = self.buildNodePackage {
+    name = "qs-2.3.3";
+    version = "2.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
+      name = "qs-2.3.3.tgz";
+      sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = self.buildNodePackage {
+    name = "range-parser-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+      name = "range-parser-1.0.2.tgz";
+      sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."raw-body"."1.3.3" =
+    self.by-version."raw-body"."1.3.3";
+  by-version."raw-body"."1.3.3" = self.buildNodePackage {
+    name = "raw-body-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.3.tgz";
+      name = "raw-body-1.3.3.tgz";
+      sha1 = "8841af3f64ad50a351dc77f229118b40c28fa58c";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readable-stream"."1.0.27-1" =
+    self.by-version."readable-stream"."1.0.27-1";
+  by-version."readable-stream"."1.0.27-1" = self.buildNodePackage {
+    name = "readable-stream-1.0.27-1";
+    version = "1.0.27-1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+      name = "readable-stream-1.0.27-1.tgz";
+      sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readable-stream"."~1.0.26" =
+    self.by-version."readable-stream"."1.0.33";
+  by-version."readable-stream"."1.0.33" = self.buildNodePackage {
+    name = "readable-stream-1.0.33";
+    version = "1.0.33";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz";
+      name = "readable-stream-1.0.33.tgz";
+      sha1 = "3a360dd66c1b1d7fd4705389860eda1d0f61126c";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readable-stream"."~1.1.8" =
+    self.by-version."readable-stream"."1.1.13";
+  by-version."readable-stream"."1.1.13" = self.buildNodePackage {
+    name = "readable-stream-1.1.13";
+    version = "1.1.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
+      name = "readable-stream-1.1.13.tgz";
+      sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readable-stream"."~1.1.9" =
+    self.by-version."readable-stream"."1.1.13";
+  by-spec."redis"."^0.10.1" =
+    self.by-version."redis"."0.10.3";
+  by-version."redis"."0.10.3" = self.buildNodePackage {
+    name = "redis-0.10.3";
+    version = "0.10.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
+      name = "redis-0.10.3.tgz";
+      sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "redis" = self.by-version."redis"."0.10.3";
+  by-spec."reduce-component"."1.0.1" =
+    self.by-version."reduce-component"."1.0.1";
+  by-version."reduce-component"."1.0.1" = self.buildNodePackage {
+    name = "reduce-component-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+      name = "reduce-component-1.0.1.tgz";
+      sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.16.x" =
+    self.by-version."request"."2.16.6";
+  by-version."request"."2.16.6" = self.buildNodePackage {
+    name = "request-2.16.6";
+    version = "2.16.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
+      name = "request-2.16.6.tgz";
+      sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
+    };
+    deps = {
+      "form-data-0.0.10" = self.by-version."form-data"."0.0.10";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "hawk-0.10.2" = self.by-version."hawk"."0.10.2";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "cookie-jar-0.2.0" = self.by-version."cookie-jar"."0.2.0";
+      "aws-sign-0.2.0" = self.by-version."aws-sign"."0.2.0";
+      "oauth-sign-0.2.0" = self.by-version."oauth-sign"."0.2.0";
+      "forever-agent-0.2.0" = self.by-version."forever-agent"."0.2.0";
+      "tunnel-agent-0.2.0" = self.by-version."tunnel-agent"."0.2.0";
+      "json-stringify-safe-3.0.0" = self.by-version."json-stringify-safe"."3.0.0";
+      "qs-0.5.6" = self.by-version."qs"."0.5.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."^2.34.0" =
+    self.by-version."request"."2.53.0";
+  by-version."request"."2.53.0" = self.buildNodePackage {
+    name = "request-2.53.0";
+    version = "2.53.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.53.0.tgz";
+      name = "request-2.53.0.tgz";
+      sha1 = "180a3ae92b7b639802e4f9545dd8fcdeb71d760c";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.9.0" = self.by-version."caseless"."0.9.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.6.0" = self.by-version."oauth-sign"."0.6.0";
+      "hawk-2.3.1" = self.by-version."hawk"."2.3.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "request" = self.by-version."request"."2.53.0";
+  by-spec."request"."^2.44.0" =
+    self.by-version."request"."2.53.0";
+  by-spec."request"."~2.42.0" =
+    self.by-version."request"."2.42.0";
+  by-version."request"."2.42.0" = self.buildNodePackage {
+    name = "request-2.42.0";
+    version = "2.42.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.42.0.tgz";
+      name = "request-2.42.0.tgz";
+      sha1 = "572bd0148938564040ac7ab148b96423a063304a";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+    };
+    optionalDependencies = {
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."response-time"."~2.3.0" =
+    self.by-version."response-time"."2.3.0";
+  by-version."response-time"."2.3.0" = self.buildNodePackage {
+    name = "response-time-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/response-time/-/response-time-2.3.0.tgz";
+      name = "response-time-2.3.0.tgz";
+      sha1 = "27cf2194fa373ef02c04781287416a3138060b68";
+    };
+    deps = {
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ripple-lib"."0.12.0" =
+    self.by-version."ripple-lib"."0.12.0";
+  by-version."ripple-lib"."0.12.0" = self.buildNodePackage {
+    name = "ripple-lib-0.12.0";
+    version = "0.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ripple-lib/-/ripple-lib-0.12.0.tgz";
+      name = "ripple-lib-0.12.0.tgz";
+      sha1 = "8bbefa8250bf09e148c4997c27bbca70c7030b55";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "bignumber.js-2.0.3" = self.by-version."bignumber.js"."2.0.3";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "lodash-3.5.0" = self.by-version."lodash"."3.5.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "ripple-wallet-generator-1.0.1" = self.by-version."ripple-wallet-generator"."1.0.1";
+      "ws-0.7.1" = self.by-version."ws"."0.7.1";
+      "superagent-0.18.2" = self.by-version."superagent"."0.18.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "ripple-lib" = self.by-version."ripple-lib"."0.12.0";
+  by-spec."ripple-wallet-generator"."1.0.1" =
+    self.by-version."ripple-wallet-generator"."1.0.1";
+  by-version."ripple-wallet-generator"."1.0.1" = self.buildNodePackage {
+    name = "ripple-wallet-generator-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ripple-wallet-generator/-/ripple-wallet-generator-1.0.1.tgz";
+      name = "ripple-wallet-generator-1.0.1.tgz";
+      sha1 = "fd9311c0c620c1bd51808a76a3f2a946293d459a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rndm"."~1.1.0" =
+    self.by-version."rndm"."1.1.0";
+  by-version."rndm"."1.1.0" = self.buildNodePackage {
+    name = "rndm-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rndm/-/rndm-1.1.0.tgz";
+      name = "rndm-1.1.0.tgz";
+      sha1 = "01d1a8f1fb9b471181925b627b9049bf33074574";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."scmp"."1.0.0" =
+    self.by-version."scmp"."1.0.0";
+  by-version."scmp"."1.0.0" = self.buildNodePackage {
+    name = "scmp-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/scmp/-/scmp-1.0.0.tgz";
+      name = "scmp-1.0.0.tgz";
+      sha1 = "a0b272c3fc7292f77115646f00618b0262514e04";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.12.2" =
+    self.by-version."send"."0.12.2";
+  by-version."send"."0.12.2" = self.buildNodePackage {
+    name = "send-0.12.2";
+    version = "0.12.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.12.2.tgz";
+      name = "send-0.12.2.tgz";
+      sha1 = "ba6785e47ab41aa0358b9da401ab22ff0f58eab6";
+    };
+    deps = {
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-favicon"."~2.2.0" =
+    self.by-version."serve-favicon"."2.2.0";
+  by-version."serve-favicon"."2.2.0" = self.buildNodePackage {
+    name = "serve-favicon-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.2.0.tgz";
+      name = "serve-favicon-2.2.0.tgz";
+      sha1 = "a0c25ee8a652e1a638a67db46269cd52a8705858";
+    };
+    deps = {
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-index"."~1.6.3" =
+    self.by-version."serve-index"."1.6.3";
+  by-version."serve-index"."1.6.3" = self.buildNodePackage {
+    name = "serve-index-1.6.3";
+    version = "1.6.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-index/-/serve-index-1.6.3.tgz";
+      name = "serve-index-1.6.3.tgz";
+      sha1 = "639056494ea59470a2c9518c28e7f225a342fd79";
+    };
+    deps = {
+      "accepts-1.2.5" = self.by-version."accepts"."1.2.5";
+      "batch-0.5.2" = self.by-version."batch"."0.5.2";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.9.2" =
+    self.by-version."serve-static"."1.9.2";
+  by-version."serve-static"."1.9.2" = self.buildNodePackage {
+    name = "serve-static-1.9.2";
+    version = "1.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.9.2.tgz";
+      name = "serve-static-1.9.2.tgz";
+      sha1 = "069fa32453557b218ec2e39140c82d8905d5672c";
+    };
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.12.2" = self.by-version."send"."0.12.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.0";
+  by-version."sigmund"."1.0.0" = self.buildNodePackage {
+    name = "sigmund-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+      name = "sigmund-1.0.0.tgz";
+      sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sntp"."0.1.x" =
+    self.by-version."sntp"."0.1.4";
+  by-version."sntp"."0.1.4" = self.buildNodePackage {
+    name = "sntp-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
+      name = "sntp-0.1.4.tgz";
+      sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
+    };
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = self.buildNodePackage {
+    name = "sntp-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+      name = "sntp-0.2.4.tgz";
+      sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sntp"."1.x.x" =
+    self.by-version."sntp"."1.0.9";
+  by-version."sntp"."1.0.9" = self.buildNodePackage {
+    name = "sntp-1.0.9";
+    version = "1.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
+      name = "sntp-1.0.9.tgz";
+      sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+    };
+    deps = {
+      "hoek-2.11.1" = self.by-version."hoek"."2.11.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.9";
+  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
+    name = "stack-trace-0.0.9";
+    version = "0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+      name = "stack-trace-0.0.9.tgz";
+      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."statuses"."1" =
+    self.by-version."statuses"."1.2.1";
+  by-version."statuses"."1.2.1" = self.buildNodePackage {
+    name = "statuses-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
+      name = "statuses-1.2.1.tgz";
+      sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stream-counter"."~0.2.0" =
+    self.by-version."stream-counter"."0.2.0";
+  by-version."stream-counter"."0.2.0" = self.buildNodePackage {
+    name = "stream-counter-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
+      name = "stream-counter-0.2.0.tgz";
+      sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    version = "0.10.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+      name = "string_decoder-0.10.31.tgz";
+      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stringstream"."~0.0.4" =
+    self.by-version."stringstream"."0.0.4";
+  by-version."stringstream"."0.0.4" = self.buildNodePackage {
+    name = "stringstream-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
+      name = "stringstream-0.0.4.tgz";
+      sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sugar"."~1.3.8" =
+    self.by-version."sugar"."1.3.9";
+  by-version."sugar"."1.3.9" = self.buildNodePackage {
+    name = "sugar-1.3.9";
+    version = "1.3.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sugar/-/sugar-1.3.9.tgz";
+      name = "sugar-1.3.9.tgz";
+      sha1 = "f879c6c87721252b51fd0b6520412d98d83cb179";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."superagent"."^0.18.0" =
+    self.by-version."superagent"."0.18.2";
+  by-version."superagent"."0.18.2" = self.buildNodePackage {
+    name = "superagent-0.18.2";
+    version = "0.18.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/superagent/-/superagent-0.18.2.tgz";
+      name = "superagent-0.18.2.tgz";
+      sha1 = "9afc6276a9475f4bdcd535ac6a0685ebc4b560eb";
+    };
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "methods-1.0.1" = self.by-version."methods"."1.0.1";
+      "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
+      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."0.12.1";
+  by-version."tough-cookie"."0.12.1" = self.buildNodePackage {
+    name = "tough-cookie-0.12.1";
+    version = "0.12.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+      name = "tough-cookie-0.12.1.tgz";
+      sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+    };
+    deps = {
+      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tunnel-agent"."~0.2.0" =
+    self.by-version."tunnel-agent"."0.2.0";
+  by-version."tunnel-agent"."0.2.0" = self.buildNodePackage {
+    name = "tunnel-agent-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
+      name = "tunnel-agent-0.2.0.tgz";
+      sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tunnel-agent"."~0.4.0" =
+    self.by-version."tunnel-agent"."0.4.0";
+  by-version."tunnel-agent"."0.4.0" = self.buildNodePackage {
+    name = "tunnel-agent-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
+      name = "tunnel-agent-0.4.0.tgz";
+      sha1 = "b1184e312ffbcf70b3b4c78e8c219de7ebb1c550";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."type-is"."~1.6.1" =
+    self.by-version."type-is"."1.6.1";
+  by-version."type-is"."1.6.1" = self.buildNodePackage {
+    name = "type-is-1.6.1";
+    version = "1.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.6.1.tgz";
+      name = "type-is-1.6.1.tgz";
+      sha1 = "49addecb0f6831cbc1d34ba929f0f3a4f21b0f2e";
+    };
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid-safe"."1.1.0" =
+    self.by-version."uid-safe"."1.1.0";
+  by-version."uid-safe"."1.1.0" = self.buildNodePackage {
+    name = "uid-safe-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.1.0.tgz";
+      name = "uid-safe-1.1.0.tgz";
+      sha1 = "58d6c5dabf8dfbd8d52834839806c03fd6143232";
+    };
+    deps = {
+      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
+      "native-or-bluebird-1.1.2" = self.by-version."native-or-bluebird"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid-safe"."~1.1.0" =
+    self.by-version."uid-safe"."1.1.0";
+  by-spec."ultron"."1.0.x" =
+    self.by-version."ultron"."1.0.1";
+  by-version."ultron"."1.0.1" = self.buildNodePackage {
+    name = "ultron-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ultron/-/ultron-1.0.1.tgz";
+      name = "ultron-1.0.1.tgz";
+      sha1 = "c9d8d86c9cf2823028eb45629ab725897dd65dc5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."~1.4.4" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = self.buildNodePackage {
+    name = "underscore-1.4.4";
+    version = "1.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+      name = "underscore-1.4.4.tgz";
+      sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."~1.7.0" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = self.buildNodePackage {
+    name = "underscore-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+      name = "underscore-1.7.0.tgz";
+      sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utf-8-validate"."1.0.x" =
+    self.by-version."utf-8-validate"."1.0.1";
+  by-version."utf-8-validate"."1.0.1" = self.buildNodePackage {
+    name = "utf-8-validate-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.0.1.tgz";
+      name = "utf-8-validate-1.0.1.tgz";
+      sha1 = "d15eb67e28f6bb93c9401eeb7eac7030a183e8d1";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = self.buildNodePackage {
+    name = "utils-merge-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+      name = "utils-merge-1.0.0.tgz";
+      sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vary"."~1.0.0" =
+    self.by-version."vary"."1.0.0";
+  by-version."vary"."1.0.0" = self.buildNodePackage {
+    name = "vary-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
+      name = "vary-1.0.0.tgz";
+      sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vhost"."~3.0.0" =
+    self.by-version."vhost"."3.0.0";
+  by-version."vhost"."3.0.0" = self.buildNodePackage {
+    name = "vhost-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vhost/-/vhost-3.0.0.tgz";
+      name = "vhost-3.0.0.tgz";
+      sha1 = "2d0ec59a3e012278b65adbe17c1717a5a5023045";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."winston"."~0.7.2" =
+    self.by-version."winston"."0.7.3";
+  by-version."winston"."0.7.3" = self.buildNodePackage {
+    name = "winston-0.7.3";
+    version = "0.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
+      name = "winston-0.7.3.tgz";
+      sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "winston" = self.by-version."winston"."0.7.3";
+  by-spec."ws"."~0.7.1" =
+    self.by-version."ws"."0.7.1";
+  by-version."ws"."0.7.1" = self.buildNodePackage {
+    name = "ws-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ws/-/ws-0.7.1.tgz";
+      name = "ws-0.7.1.tgz";
+      sha1 = "8f1c7864ca08081be3cd0ac330df0d29c5fcd0da";
+    };
+    deps = {
+      "options-0.0.6" = self.by-version."options"."0.0.6";
+      "ultron-1.0.1" = self.by-version."ultron"."1.0.1";
+    };
+    optionalDependencies = {
+      "bufferutil-1.0.1" = self.by-version."bufferutil"."1.0.1";
+      "utf-8-validate-1.0.1" = self.by-version."utf-8-validate"."1.0.1";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+}
diff --git a/pkgs/servers/rippled/scons-env.patch b/pkgs/servers/rippled/scons-env.patch
deleted file mode 100644
index 5b80e77bb2e..00000000000
--- a/pkgs/servers/rippled/scons-env.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/SConstruct b/SConstruct
-index 8ba8bbd..95eab3b 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -24,6 +24,8 @@ USING_CLANG = OSX or os.environ.get('CC', None) == 'clang'
- #
- BOOST_HOME = os.environ.get("RIPPLED_BOOST_HOME", None)
- 
-+ZLIB_HOME = os.environ.get("RIPPLED_ZLIB_HOME", None)
-+
- 
- if OSX or Ubuntu or Debian or Archlinux:
-     CTAGS = 'ctags'
-@@ -36,7 +38,7 @@ else:
- # scons tools
- #
- 
--HONOR_ENVS = ['CC', 'CXX', 'PATH']
-+HONOR_ENVS = ['CC', 'CXX', 'PATH', 'PKG_CONFIG_PATH']
- 
- env = Environment(
-     tools = ['default', 'protoc'],
-@@ -156,8 +158,8 @@ INCLUDE_PATHS = [
-     'build/proto'
-     ]
- 
--# if BOOST_HOME:
--#     INCLUDE_PATHS.append(BOOST_HOME)
-+if BOOST_HOME:
-+    INCLUDE_PATHS.append("%s/include" % BOOST_HOME)
- 
- #-------------------------------------------------------------------------------
- #
-@@ -261,7 +263,11 @@ env.Append(
- # such, as installed into `/usr/lib/`
- if BOOST_HOME is not None:
-     env.Prepend(
--        LIBPATH = ["%s/stage/lib" % BOOST_HOME])
-+        LIBPATH = ["%s/lib" % BOOST_HOME])
-+
-+if ZLIB_HOME is not None:
-+    env.Prepend(
-+        LIBPATH = ["%s/lib" % ZLIB_HOME])
- 
- if not OSX:
-     env.Append(LINKFLAGS = [
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 8d8a677647c..854a2ab94b7 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -1,24 +1,29 @@
-{ fetchurl, stdenv, libtirpc }:
+{ fetchurl, stdenv, pkgconfig, libtirpc
+, useSystemd ? true, systemd }:
 
-stdenv.mkDerivation rec {
-  name = "rpcbind-0.2.0";
+let version = "0.2.2";
+in stdenv.mkDerivation rec {
+  name = "rpcbind-${version}";
   
   src = fetchurl {
-    url = "mirror://sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2";
-    sha256 = "c92f263e0353887f16379d7708ef1fb4c7eedcf20448bc1e4838f59497a00de3";
+    url = "mirror://sourceforge/rpcbind/${version}/${name}.tar.bz2";
+    sha256 = "0acgl1c07ymnks692b90aq5ldj4h0km7n03kz26wxq6vjv3winqk";
   };
 
   patches = [ ./sunrpc.patch ];
 
-  preConfigure = ''
-    export CPPFLAGS=-I${libtirpc}/include/tirpc
-  '';
+  buildInputs = [ libtirpc ]
+             ++ stdenv.lib.optional useSystemd systemd;
 
-  buildInputs = [ libtirpc ];
+  configureFlags = stdenv.lib.optional (!useSystemd) "--with-systemdsystemunitdir=no";
 
-  meta = {
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
     description = "ONC RPC portmapper";
-    license = "BSD";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ abbradar ];
     longDescription = ''
       Universal addresses to RPC program number mapper.
     '';
diff --git a/pkgs/servers/s6/default.nix b/pkgs/servers/s6/default.nix
index 045e31207ba..73843b8c114 100644
--- a/pkgs/servers/s6/default.nix
+++ b/pkgs/servers/s6/default.nix
@@ -1,55 +1,41 @@
-{stdenv, fetchurl, skalibs, execline}:
+{ stdenv, execline, fetchgit, skalibs }:
 
 let
 
-  version = "1.1.3.2";
+  version = "2.1.3.0";
 
 in stdenv.mkDerivation rec {
 
   name = "s6-${version}";
 
-  src = fetchurl {
-    url = "http://www.skarnet.org/software/s6/${name}.tar.gz";
-    sha256 = "0djxdd3d3mlp63sjqqs0ilf8p68m86c1s98d82fl0kgaaibpsikp";
+  src = fetchgit {
+    url = "git://git.skarnet.org/s6";
+    rev = "refs/tags/v${version}";
+    sha256 = "0dnwkdxqjv5awdgwxci1spcx1s13y5s9wd8ccskwv1rymvpgn8b3";
   };
 
-  buildInputs = [ skalibs execline ];
+  dontDisableStatic = true;
 
-  sourceRoot = "admin/${name}";
+  enableParallelBuilding = true;
 
-  configurePhase = ''
-    pushd conf-compile
-
-    printf "$out/bin"           > conf-install-command
-    printf "$out/include"       > conf-install-include
-    printf "$out/lib"           > conf-install-library
-    printf "$out/lib"           > conf-install-library.so
-    printf "$out/sysdeps"       > conf-install-sysdeps
-
-    # let nix builder strip things, cross-platform
-    truncate --size 0 conf-stripbins
-    truncate --size 0 conf-striplibs
-
-    printf "${skalibs}/sysdeps" > import
-    printf "%s\n%s" "${skalibs}/include" "${execline}/include" > path-include
-    printf "%s\n%s" "${skalibs}/lib"     "${execline}/lib"     > path-library
-
-    rm -f flag-slashpackage
-    touch flag-allstatic
-
-    popd
-  '';
+  configureFlags = [
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-include=${execline}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-lib=${execline}/lib"
+    "--with-dynlib=${skalibs}/lib"
+    "--with-dynlib=${execline}/lib"
+  ] ++ [ (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") ];
 
   preBuild = ''
     substituteInPlace "src/daemontools-extras/s6-log.c" \
       --replace '"execlineb"' '"${execline}/bin/execlineb"'
-
-    patchShebangs src/sys
   '';
 
   meta = {
     homepage = http://www.skarnet.org/software/s6/;
-    description = "skarnet.org's small & secure supervision software suite.";
+    description = "skarnet.org's small & secure supervision software suite";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.isc;
   };
diff --git a/pkgs/servers/samba/3.x.nix b/pkgs/servers/samba/3.x.nix
new file mode 100644
index 00000000000..e2818a1f648
--- /dev/null
+++ b/pkgs/servers/samba/3.x.nix
@@ -0,0 +1,89 @@
+{ stdenv, fetchurl, readline, pam ? null, openldap ? null
+, popt, iniparser, libunwind
+, fam ? null , acl ? null, cups ? null
+, useKerberos ? false, kerberos ? null, winbind ? true
+
+# Eg. smbclient and smbspool require a smb.conf file.
+# If you set configDir to "" an empty configuration file
+# $out/lib/smb.conf is is created for you.
+#
+# configDir defaults to "/etc/samba" so that smbpassword picks up
+# the location of its passwd db files from the system configuration file
+# /etc/samba/smb.conf. That's why nixos touches /etc/samba/smb.conf even if you
+# don't enable the samba upstart service.
+, configDir ? "/etc/samba"
+
+}:
+
+assert useKerberos -> kerberos != null;
+
+stdenv.mkDerivation rec {
+  name = "samba-3.6.25";
+
+  src = fetchurl {
+    url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
+    sha256 = "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g";
+  };
+
+  buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
+    ++ stdenv.lib.optional useKerberos kerberos;
+
+  enableParallelBuilding = true;
+
+  postPatch =
+    # XXX: Awful hack to allow cross-compilation.
+    '' sed -i source3/configure \
+           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
+    ''; # "
+
+  preConfigure =
+    '' cd source3
+       export samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
+       export libreplace_cv_HAVE_GETADDRINFO=yes
+       export ac_cv_file__proc_sys_kernel_core_pattern=no # XXX: true on Linux, false elsewhere
+    '';
+
+  configureFlags =
+    stdenv.lib.optionals (pam != null) [ "--with-pam" "--with-pam_smbpass" ]
+    ++ [ "--with-aio-support"
+         "--disable-swat"
+         "--with-configdir=${configDir}"
+         "--with-fhs"
+         "--localstatedir=/var"
+       ]
+    ++ (stdenv.lib.optional winbind "--with-winbind")
+    ++ (stdenv.lib.optional (stdenv.cc.libc != null) "--with-libiconv=${stdenv.cc.libc}");
+
+  # Need to use a DESTDIR because `make install' tries to write in /var and /etc.
+  installFlags = "DESTDIR=$(TMPDIR)/inst";
+
+  stripAllList = [ "bin" "sbin" ];
+
+  postInstall =
+    ''
+      mkdir -p $out
+      mv $TMPDIR/inst/$out/* $out/
+
+      mkdir -p "$out/lib/pkgconfig"
+      cp pkgconfig/*.pc "$out/lib/pkgconfig"
+
+      mkdir -pv $out/lib/cups/backend
+      ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb
+      mkdir -pv $out/etc/openldap/schema
+      cp ../examples/LDAP/samba.schema $out/etc/openldap/schema
+
+      # For nsswitch. Glibc >= 2.1 looks for libnss_<name>.so.2 (see man
+      # nsswitch.conf), so provide that too.
+      cp -v ../nsswitch/libnss_wins.so "$out/lib"
+      cp -v ../nsswitch/libnss_winbind.so "$out/lib"
+      (cd "$out/lib" && ln -s libnss_winbind.so libnss_winbind.so.2)
+      (cd "$out/lib" && ln -s libnss_wins.so libnss_wins.so.2)
+    '' # */
+    + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf";
+
+  meta = {
+    homepage = http://www.samba.org/;
+    description = "The standard Windows interoperability suite of programs for Linux and Unix";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/samba/4.x-fix-ctdb-deps.patch b/pkgs/servers/samba/4.x-fix-ctdb-deps.patch
new file mode 100644
index 00000000000..33886348412
--- /dev/null
+++ b/pkgs/servers/samba/4.x-fix-ctdb-deps.patch
@@ -0,0 +1,13 @@
+diff --git a/ctdb/wscript b/ctdb/wscript
+index 3e2a992..3fe15cc 100755
+--- a/ctdb/wscript
++++ b/ctdb/wscript
+@@ -568,7 +568,7 @@ def build(bld):
+                          source='ib/ibwrapper_test.c',
+                          includes='include include/internal',
+                          deps='''replace talloc ctdb-client ctdb-common
+-                                 ctdb-system''' +
++                                 ctdb-system ctdb-common-util''' +
+                               ib_deps,
+                          install_path='${CTDB_TEST_LIBDIR}')
+ 
diff --git a/pkgs/servers/samba/4.x-heimdal-compat.patch b/pkgs/servers/samba/4.x-heimdal-compat.patch
new file mode 100644
index 00000000000..35f01e4001e
--- /dev/null
+++ b/pkgs/servers/samba/4.x-heimdal-compat.patch
@@ -0,0 +1,16 @@
+diff --git a/source4/kdc/kdc.c b/source4/kdc/kdc.c
+index bb476e1..0a407a4 100644
+--- a/source4/kdc/kdc.c
++++ b/source4/kdc/kdc.c
+@@ -967,9 +967,9 @@ static void kdc_task_init(struct task_server *task)
+ 	 * The old behavior in the _kdc_get_preferred_key()
+ 	 * function is use_strongest_server_key=TRUE.
+ 	 */
+-	kdc->config->as_use_strongest_session_key = false;
++	kdc->config->tgt_use_strongest_session_key = false;
++	kdc->config->svc_use_strongest_session_key = false;
+ 	kdc->config->preauth_use_strongest_session_key = false;
+-	kdc->config->tgs_use_strongest_session_key = false;
+ 	kdc->config->use_strongest_server_key = true;
+ 
+ 	/* Register hdb-samba4 hooks for use as a keytab */
diff --git a/pkgs/servers/samba/4.x-no-persistent-install.patch b/pkgs/servers/samba/4.x-no-persistent-install.patch
new file mode 100644
index 00000000000..c3e013f7862
--- /dev/null
+++ b/pkgs/servers/samba/4.x-no-persistent-install.patch
@@ -0,0 +1,60 @@
+diff --git a/dynconfig/wscript b/dynconfig/wscript
+index aa4e66e..d53f433 100755
+--- a/dynconfig/wscript
++++ b/dynconfig/wscript
+@@ -379,9 +379,9 @@ def build(bld):
+                         cflags=cflags)
+ 
+     # install some extra empty directories
+-    bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
+-    bld.INSTALL_DIRS("", "${PRIVATE_DIR} ${PRIVILEGED_SOCKET_DIR}")
+-    bld.INSTALL_DIRS("", "${STATEDIR} ${CACHEDIR}");
++    #bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
++    #bld.INSTALL_DIRS("", "${PRIVATE_DIR} ${PRIVILEGED_SOCKET_DIR}")
++    #bld.INSTALL_DIRS("", "${STATEDIR} ${CACHEDIR}");
+ 
+     # these might be on non persistent storage
+-    bld.INSTALL_DIRS("", "${LOCKDIR} ${PIDDIR} ${SOCKET_DIR}")
++    #bld.INSTALL_DIRS("", "${LOCKDIR} ${PIDDIR} ${SOCKET_DIR}")
+diff --git a/ctdb/wscript b/ctdb/wscript
+index 3e2a992..1b93a4d 100755
+--- a/ctdb/wscript
++++ b/ctdb/wscript
+@@ -473,10 +473,10 @@ def build(bld):
+     for t in etc_subdirs:
+         files = SUBDIR_MODE('%s/%s' % (configdir, t), trim_path=configdir)
+         for fmode in files:
+-            bld.INSTALL_FILES(bld.env.CTDB_ETCDIR, 'config/%s' % fmode[0],
++            bld.INSTALL_FILES('${EXEC_PREFIX}${CTDB_ETCDIR}', 'config/%s' % fmode[0],
+                               destname=fmode[0], chmod=fmode[1])
+ 
+-    bld.INSTALL_FILES(bld.env.CTDB_ETCDIR, 'config/functions',
++    bld.INSTALL_FILES('${EXEC_PREFIX}${CTDB_ETCDIR}', 'config/functions',
+                       destname='functions')
+ 
+     etc_scripts = [
+@@ -489,18 +489,18 @@ def build(bld):
+     ]
+ 
+     for t in etc_scripts:
+-        bld.INSTALL_FILES(bld.env.CTDB_ETCDIR, 'config/%s' % t,
++        bld.INSTALL_FILES('${EXEC_PREFIX}${CTDB_ETCDIR}', 'config/%s' % t,
+                           destname=t, chmod=0755)
+ 
+-    bld.INSTALL_FILES('${SYSCONFDIR}/sudoers.d', 'config/ctdb.sudoers',
++    bld.INSTALL_FILES('${EXEC_PREFIX}${SYSCONFDIR}/sudoers.d', 'config/ctdb.sudoers',
+                       destname='ctdb')
+ 
+-    bld.INSTALL_FILES('${CTDB_ETCDIR}/notify.d', 'config/notify.d.README',
++    bld.INSTALL_FILES('${EXEC_PREFIX}${CTDB_ETCDIR}/notify.d', 'config/notify.d.README',
+                       destname='README')
+ 
+-    bld.install_dir(bld.env.CTDB_LOGDIR)
+-    bld.install_dir(bld.env.CTDB_RUNDIR)
+-    bld.install_dir(bld.env.CTDB_VARDIR)
++    #bld.install_dir(bld.env.CTDB_LOGDIR)
++    #bld.install_dir(bld.env.CTDB_RUNDIR)
++    #bld.install_dir(bld.env.CTDB_VARDIR)
+ 
+     sed_expr = 's/@PACKAGE_VERSION@/%s/g' % VERSION
+     t = bld.SAMBA_GENERATOR('ctdb-pc',
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
new file mode 100644
index 00000000000..79736e17a50
--- /dev/null
+++ b/pkgs/servers/samba/4.x.nix
@@ -0,0 +1,172 @@
+{ stdenv, fetchurl, python, pkgconfig, perl, libxslt, docbook_xsl
+, docbook_xml_dtd_42, docbook_xml_dtd_45, readline, talloc, ntdb, tdb, tevent
+, ldb, popt, iniparser, pythonPackages, libbsd, nss_wrapper, socket_wrapper
+, uid_wrapper, libarchive
+
+# source3/wscript optionals
+, kerberos ? null
+, zlib ? null
+, openldap ? null
+, cups ? null
+, pam ? null
+, avahi ? null
+, acl ? null
+, libaio ? null
+, fam ? null
+, ceph ? null
+, glusterfs ? null
+
+# buildtools/wafsamba/wscript optionals
+, libiconv ? null
+, gettext ? null
+
+# source4/lib/tls/wscript optionals
+, gnutls ? null
+, libgcrypt ? null
+, libgpgerror ? null
+
+# other optionals
+, ncurses ? null
+, libunwind ? null
+, dbus ? null
+, libibverbs ? null
+, librdmacm ? null
+, systemd ? null
+}:
+
+assert kerberos != null -> zlib != null;
+
+let
+  mkFlag = trueStr: falseStr: cond: name: val:
+    if cond == null then null else
+      "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}";
+  mkEnable = mkFlag "enable-" "disable-";
+  mkWith = mkFlag "with-" "without-";
+  mkOther = mkFlag "" "" true;
+
+  bundledLibs = if kerberos != null && kerberos.implementation == "heimdal" then "NONE" else "com_err";
+  hasGnutls = gnutls != null && libgcrypt != null && libgpgerror != null;
+  isKrb5OrNull = if kerberos != null && kerberos.implementation == "krb5" then true else null;
+  hasInfinibandOrNull = if libibverbs != null && librdmacm != null then true else null;
+in
+stdenv.mkDerivation rec {
+  name = "samba-4.2.0";
+
+  src = fetchurl {
+    url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
+    sha256 = "03s9pjdgq6nlv2lcnlmxlhhj8m5drgv6z4xy9zkgwwd92mw0b9k6";
+  };
+
+  patches = [
+    ./4.x-no-persistent-install.patch
+    ./4.x-fix-ctdb-deps.patch
+  ] ++ stdenv.lib.optional (kerberos != null) ./4.x-heimdal-compat.patch;
+
+  buildInputs = [
+    python pkgconfig perl libxslt docbook_xsl docbook_xml_dtd_42
+    docbook_xml_dtd_45 readline talloc ntdb tdb tevent ldb popt iniparser
+    pythonPackages.subunit libbsd nss_wrapper socket_wrapper uid_wrapper
+    libarchive
+
+    kerberos zlib openldap cups pam avahi acl libaio fam ceph glusterfs
+
+    libiconv gettext
+
+    gnutls libgcrypt libgpgerror
+
+    ncurses libunwind dbus libibverbs librdmacm systemd
+  ];
+
+  postPatch = ''
+    # Removes absolute paths in scripts
+    sed -i 's,/sbin/,,g' ctdb/config/functions
+
+    # Fix the XML Catalog Paths
+    sed -i "s,\(XML_CATALOG_FILES=\"\),\1$XML_CATALOG_FILES ,g" buildtools/wafsamba/wafsamba.py
+  '';
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    # source3/wscript options
+    (mkWith   true                 "static-modules"    "NONE")
+    (mkWith   true                 "shared-modules"    "ALL")
+    (mkWith   true                 "winbind"           null)
+    (mkWith   (openldap != null)   "ads"               null)
+    (mkWith   (openldap != null)   "ldap"              null)
+    (mkEnable (cups != null)       "cups"              null)
+    (mkEnable (cups != null)       "iprint"            null)
+    (mkWith   (pam != null)        "pam"               null)
+    (mkWith   (pam != null)        "pam_smbpass"       null)
+    (mkWith   true                 "quotas"            null)
+    (mkWith   true                 "sendfile-support"  null)
+    (mkWith   true                 "utmp"              null)
+    (mkWith   true                 "utmp"              null)
+    (mkEnable true                 "pthreadpool"       null)
+    (mkEnable (avahi != null)      "avahi"             null)
+    (mkWith   true                 "iconv"             null)
+    (mkWith   (acl != null)        "acl-support"       null)
+    (mkWith   true                 "dnsupdate"         null)
+    (mkWith   true                 "syslog"            null)
+    (mkWith   true                 "automount"         null)
+    (mkWith   (libaio != null)     "aio-support"       null)
+    (mkWith   (fam != null)        "fam"               null)
+    (mkWith   (libarchive != null) "libarchive"        null)
+    (mkWith   true                 "cluster-support"   null)
+    (mkWith   (ncurses != null)    "regedit"           null)
+    (mkWith   ceph                 "libcephfs"         ceph)
+    (mkEnable (glusterfs != null)  "glusterfs"         null)
+
+    # dynconfig/wscript options
+    (mkEnable true                 "fhs"               null)
+    (mkOther                       "sysconfdir"        "/etc")
+    (mkOther                       "localstatedir"     "/var")
+
+    # buildtools/wafsamba/wscript options
+    (mkOther                       "bundled-libraries" bundledLibs)
+    (mkOther                       "private-libraries" "NONE")
+    (mkOther                       "builtin-libraries" "replace")
+    (mkWith   libiconv             "libiconv"          libiconv)
+    (mkWith   (gettext != null)    "gettext"           gettext)
+
+    # source4/lib/tls/wscript options
+    (mkEnable hasGnutls            "gnutls" null)
+
+    # wscript options
+    (mkWith   isKrb5OrNull         "system-mitkrb5"    null)
+    (if hasGnutls then null else "--without-ad-dc")
+
+    # ctdb/wscript
+    (mkEnable hasInfinibandOrNull  "infiniband"        null)
+    (mkEnable null                 "pmda"              null)
+  ];
+
+  stripAllList = [ "bin" "sbin" ];
+
+  postInstall = ''
+    # Remove unecessary components
+    rm -r $out/{lib,share}/ctdb-tests
+    rm $out/bin/ctdb_run{_cluster,}_tests
+  '';
+
+  postFixup = ''
+    export SAMBA_LIBS="$(find $out -type f -name \*.so -exec dirname {} \; | sort | uniq)"
+    read -r -d "" SCRIPT << EOF
+    [ -z "\$SAMBA_LIBS" ] && exit 1;
+    BIN='{}';
+    OLD_LIBS="\$(patchelf --print-rpath "\$BIN" 2>/dev/null | tr ':' '\n')";
+    ALL_LIBS="\$(echo -e "\$SAMBA_LIBS\n\$OLD_LIBS" | sort | uniq | tr '\n' ':')";
+    patchelf --set-rpath "\$ALL_LIBS" "\$BIN" 2>/dev/null || exit $?;
+    patchelf --shrink-rpath "\$BIN";
+    EOF
+    find $out -type f -exec $SHELL -c "$SCRIPT" \;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.samba.org/;
+    description = "The standard Windows interoperability suite of programs for Linux and Unix";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
deleted file mode 100644
index 08f12d97506..00000000000
--- a/pkgs/servers/samba/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ stdenv, fetchurl, readline, pam ? null, openldap ? null
-, popt, iniparser, libunwind
-, fam ? null , acl ? null, cups ? null
-, useKerberos ? false, kerberos ? null, winbind ? true
-
-# Eg. smbclient and smbspool require a smb.conf file.
-# If you set configDir to "" an empty configuration file
-# $out/lib/smb.conf is is created for you.
-#
-# configDir defaults to "/etc/samba" so that smbpassword picks up
-# the location of its passwd db files from the system configuration file
-# /etc/samba/smb.conf. That's why nixos touches /etc/samba/smb.conf even if you
-# don't enable the samba upstart service.
-, configDir ? "/etc/samba"
-
-}:
-
-assert useKerberos -> kerberos != null;
-
-stdenv.mkDerivation rec {
-  name = "samba-3.6.24";
-
-  src = fetchurl {
-    url = "http://samba.org/samba/ftp/stable/${name}.tar.gz";
-    sha256 = "19rln8m1k359bz6dhmlv39kzyjg7p296dz4y4mq1jwrlnw2bvl0i";
-  };
-
-  buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
-    ++ stdenv.lib.optional useKerberos kerberos;
-
-  enableParallelBuilding = true;
-
-  postPatch =
-    # XXX: Awful hack to allow cross-compilation.
-    '' sed -i source3/configure \
-           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
-    ''; # "
-
-  preConfigure =
-    '' cd source3
-       export samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
-       export libreplace_cv_HAVE_GETADDRINFO=yes
-       export ac_cv_file__proc_sys_kernel_core_pattern=no # XXX: true on Linux, false elsewhere
-    '';
-
-  configureFlags =
-    stdenv.lib.optionals (pam != null) [ "--with-pam" "--with-pam_smbpass" ]
-    ++ [ "--with-aio-support"
-         "--disable-swat"
-         "--with-configdir=${configDir}"
-         "--with-fhs"
-         "--localstatedir=/var"
-       ]
-    ++ (stdenv.lib.optional winbind "--with-winbind")
-    ++ (stdenv.lib.optional (stdenv.gcc.libc != null) "--with-libiconv=${stdenv.gcc.libc}");
-
-  # Need to use a DESTDIR because `make install' tries to write in /var and /etc.
-  installFlags = "DESTDIR=$(TMPDIR)/inst";
-
-  stripAllList = [ "bin" "sbin" ];
-
-  postInstall =
-    ''
-      mkdir -p $out
-      mv $TMPDIR/inst/$out/* $out/
-
-      mkdir -p "$out/lib/pkgconfig"
-      cp pkgconfig/*.pc "$out/lib/pkgconfig"
-
-      mkdir -pv $out/lib/cups/backend
-      ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb
-      mkdir -pv $out/etc/openldap/schema
-      cp ../examples/LDAP/samba.schema $out/etc/openldap/schema
-
-      # For nsswitch. Glibc >= 2.1 looks for libnss_<name>.so.2 (see man
-      # nsswitch.conf), so provide that too.
-      cp -v ../nsswitch/libnss_wins.so "$out/lib"
-      cp -v ../nsswitch/libnss_winbind.so "$out/lib"
-      (cd "$out/lib" && ln -s libnss_winbind.so libnss_winbind.so.2)
-      (cd "$out/lib" && ln -s libnss_wins.so libnss_wins.so.2)
-    '' # */
-    + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf";
-
-  meta = {
-    homepage = http://www.samba.org/;
-    description = "The standard Windows interoperability suite of programs for Linux and Unix";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index 967eae40bb1..635934db23c 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "elasticsearch-1.2.2";
+  name = "elasticsearch-1.4.4";
 
   src = fetchurl {
     url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz";
-    sha256 = "1vpvxndcq48rcsgw2jnzdh4fwnf141hf5wjxrjs1g7p2qw0d0cy8";
+    sha256 = "11l57r0pnx20v6zy047lw5zgq9r3w95k1smsvrj0clk89r3qs5d3";
   };
 
   patches = [ ./es-home.patch ];
diff --git a/pkgs/servers/search/elasticsearch/es-home.patch b/pkgs/servers/search/elasticsearch/es-home.patch
index 9b96149e5ad..b4ecbb5a709 100644
--- a/pkgs/servers/search/elasticsearch/es-home.patch
+++ b/pkgs/servers/search/elasticsearch/es-home.patch
@@ -34,5 +34,5 @@ index a8c796a..daf7b99 100755
    shift
  done
  
--exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args
-+exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args
+-exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args
++exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index c03a2feae5f..6a0693ef1f5 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -4,11 +4,11 @@ with pkgs.lib;
 
 let
   esPlugin = a@{
-    pluginName, 
+    pluginName,
     installPhase ? ''
-      mkdir -p $out
+      mkdir -p $out/bin
       ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin --install ${pluginName} --url file://$src
-    '', 
+    '',
     ...
   }:
     stdenv.mkDerivation (a // {
@@ -23,11 +23,11 @@ let
 in {
   elasticsearch_river_jdbc = esPlugin rec {
     name = "elasticsearch-river-jdbc-${version}";
-    pluginName = "jdbc";
-    version = "1.2.1.1";
+    pluginName = "elasticsearch-river-jdbc";
+    version = "1.3.0.4";
     src = fetchurl {
       url = "http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/${version}/${name}-plugin.zip";
-      sha1 = "68e7e1fdf45d0e5852b21610a84740595223ea11";
+      sha256 = "0272l6cr032iccwwa803shzfjg3505jc48d9qdazrwxjmnlkkzqk";
     };
     meta = {
       homepage = "https://github.com/jprante/elasticsearch-river-jdbc";
@@ -50,4 +50,45 @@ in {
       license = licenses.asl20;
     };
   };
+
+  elasticsearch_http_basic = stdenv.mkDerivation rec {
+    name = "elasticsearch-http-basic-${version}";
+    version = "1.3.2";
+
+    src = fetchurl {
+      url = "https://github.com/Asquera/elasticsearch-http-basic/releases/download/${version}/${name}.jar";
+      sha256 = "1qq8z0233mzz699zbzjwmx7ghn8k0djgyc5ixr8i5xchfrsrymn2";
+    };
+
+    phases = ["installPhase"];
+    installPhase = "install -D $src $out/plugins/http-basic/${name}.jar";
+
+    meta = {
+      homepage = https://github.com/Asquera/elasticsearch-http-basic;
+      description = "HTTP Basic Authentication for Elasticsearch";
+      license = licenses.mit;
+      platforms = elasticsearch.meta.platforms;
+    };
+  };
+
+  elasticsearch_river_twitter = esPlugin rec {
+    name = pname + "-" + version;
+    pname = "elasticsearch-river-twitter";
+    pluginName = "elasticsearch/" + pname + "/" + version;
+    version = "2.3.0";
+
+    src = fetchurl {
+      url = "http://download.elasticsearch.org/elasticsearch/${pname}/${name}.zip";
+      sha256 = "1lxxh1r61r15mzqyl0li37kcnn3vvpklnbfyys0kd6a1l82f0qvj";
+    };
+
+    meta = {
+      homepage = "https://github.com/elasticsearch/elasticsearch-river-twitter";
+      description = "Twitter River Plugin for ElasticSearch";
+      license = licenses.asl20;
+      maintainers = [ maintainers.edwtjo ];
+      platforms = elasticsearch.meta.platforms;
+    };
+
+  };
 }
diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix
index 443e7af71ad..76a83d77c5e 100644
--- a/pkgs/servers/search/solr/default.nix
+++ b/pkgs/servers/search/solr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "solr-${version}";
-  version = "4.7.0";
+  version = "4.10.3";
 
   src = fetchurl {
     url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz";
-    sha256 = "0qm3pnhpfqjxdl0xiwffrcchp79q3ja5w5d278bkkxglc2y1y4xc";
+    sha256 = "1dp269jka4q62qhv47j91wsrsnbxfn23lsx6qcycbijrlyh28w5c";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -17,14 +17,12 @@ stdenv.mkDerivation rec {
     cp -r example/lib/ext $out/lib/ext
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "https://lucene.apache.org/solr/";
-    description = ''
-      Open source enterprise search platform from the Apache Lucene project
-    '';
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    description = "Open source enterprise search platform from the Apache Lucene project";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.rickynils maintainers.iElectric ];
   };
 
 }
diff --git a/pkgs/servers/search/sphinxsearch/default.nix b/pkgs/servers/search/sphinxsearch/default.nix
new file mode 100644
index 00000000000..17095750dbf
--- /dev/null
+++ b/pkgs/servers/search/sphinxsearch/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig,
+  version ? "2.2.8",
+  mainSrc ? fetchurl {
+    url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz";
+    sha256 = "1q6jdw5g81k7ciw9fhwklb5ifgb8zna39795m0x0lbvwjbk3ampv";
+  }
+}:
+
+stdenv.mkDerivation rec {
+  name = "sphinxsearch-${version}";
+  src = mainSrc;
+
+  configureFlags = [
+    "--program-prefix=sphinxsearch-"
+    "--without-mysql"
+    "--enable-id64"
+  ];
+
+  buildInputs = [
+    pkgconfig
+  ];
+
+  meta = {
+    description = "An open source full text search server";
+    homepage    = http://sphinxsearch.com;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ ederoyd46 ];
+  };
+}
diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix
index 48e5f2cea22..381fe6ddc1e 100644
--- a/pkgs/servers/serfdom/default.nix
+++ b/pkgs/servers/serfdom/default.nix
@@ -1,26 +1,24 @@
-{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+{ lib, goPackages, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+with goPackages;
+
+buildGoPackage rec {
   version = "0.6.3";
   name = "serfdom-${version}";
+  goPackagePath = "github.com/hashicorp/serf";
 
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  src = fetchFromGitHub {
+    owner = "hashicorp";
+    repo = "serf";
+    rev = "v${version}";
+    sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y";
   };
 
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    export GOPATH=$src
-    go build -v -o serf github.com/hashicorp/serf
-  '';
+  buildInputs = [ cli mapstructure memberlist logutils go-syslog mdns columnize circbuf ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mv serf $out/bin/serf
-  '';
+  dontInstallSrc = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A service discovery and orchestration tool that is decentralized, highly available, and fault tolerant";
     homepage = http://www.serfdom.io/;
     license = licenses.mpl20;
diff --git a/pkgs/servers/serfdom/deps.nix b/pkgs/servers/serfdom/deps.nix
deleted file mode 100644
index a4b4058a711..00000000000
--- a/pkgs/servers/serfdom/deps.nix
+++ /dev/null
@@ -1,185 +0,0 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-let
-  goDeps = [
-    {
-      root = "code.google.com/p/go.net";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.net";
-        rev = "134";
-        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
-      };
-    }
-    {
-      root = "code.google.com/p/go.text";
-      src = fetchhg {
-        url = "http://code.google.com/p/go.text";
-        rev = "85";
-        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
-      };
-    }
-    {
-      root = "github.com/armon/circbuf";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "circbuf";
-        rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf";
-        sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s";
-      };
-    }
-    {
-      root = "github.com/armon/go-metrics";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "go-metrics";
-        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
-        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
-      };
-    }
-    {
-      root = "github.com/armon/mdns";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "mdns";
-        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
-        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
-      };
-    }
-    {
-      root = "github.com/hashicorp/go-syslog";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "go-syslog";
-        rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c";
-        sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81";
-      };
-    }
-    {
-      root = "github.com/hashicorp/logutils";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "logutils";
-        rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8";
-        sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz";
-      };
-    }
-    {
-      root = "github.com/hashicorp/memberlist";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "memberlist";
-        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
-        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
-      };
-    }
-    {
-      root = "github.com/hashicorp/serf";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "serf";
-        rev = "5e0771b8d61bee28986087a246f7611d6bd4a87a";
-        sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y";
-      };
-    }
-    {
-      root = "github.com/miekg/dns";
-      src = fetchFromGitHub {
-        owner = "miekg";
-        repo = "dns";
-        rev = "fc67c4b981930a377f8a26a5a1f2c0ccd5dd1514";
-        sha256 = "1csjmkx0gl34r4hmkhdbdxb0693f1p10yrjaj8f2jwli9p9sl4mg";
-      };
-    }
-    {
-      root = "github.com/mitchellh/cli";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "cli";
-        rev = "8262fe3f76f0da53b5674eb35c8c6436430794c3";
-        sha256 = "0pqkxh1q49kkxihggrfjs8174d927g4c5qqx00ggw8sqqsgrw6vn";
-      };
-    }
-    {
-      root = "github.com/mitchellh/mapstructure";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "mapstructure";
-        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
-        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
-      };
-    }
-    {
-      root = "github.com/ryanuber/columnize";
-      src = fetchFromGitHub {
-        owner = "ryanuber";
-        repo = "columnize";
-        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
-        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
-      };
-    }
-    {
-      root = "github.com/ugorji/go";
-      src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go";
-        rev = "71c2886f5a673a35f909803f38ece5810165097b";
-        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
-      };
-    }
-    {
-      root = "github.com/ugorji/go-msgpack";
-      src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go-msgpack";
-        rev = "75092644046c5e38257395b86ed26c702dc95b92";
-        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
-      };
-    }
-    {
-      root = "github.com/vmihailenco/bufio";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "bufio";
-        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
-        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
-      };
-    }
-    {
-      root = "github.com/vmihailenco/msgpack";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "msgpack";
-        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
-        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
-      };
-    }
-    {
-      root = "launchpad.net/gocheck";
-      src = fetchbzr {
-        url = "https://launchpad.net/gocheck";
-        rev = "87";
-        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
-      };
-    }
-    {
-      root = "launchpad.net/mgo";
-      src = fetchbzr {
-        url = "https://launchpad.net/mgo";
-        rev = "2";
-        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index a1d9940c887..5b6ff15cb10 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -12,10 +12,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg
     libzrtpcpp ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   meta = {
     description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
     homepage = http://freeswitch.org/;
-    license = "MPL1.1";
+    license = stdenv.lib.licenses.mpl11;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index bb0c0bc8da8..4edf66d80d4 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,27 +1,111 @@
-{ stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff }:
+{ stdenv, fetchurl, cmake, ncurses, openssl, pcre, boost, judy, bison, libxml2
+, libaio, libevent, groff, jemalloc, perl, fixDarwinDylibNames
+}:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "mariadb-${version}";
-  version = "10.0.13";
+  version = "10.0.17";
 
   src = fetchurl {
     url    = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz";
-    sha256 = "039wz89vs03a27anpshj5xaqknm7cqi7mrypvwingqkq26ns0mhs";
+    sha256 = "04ckq67qgkghh7yzrbzwidk7wn7yjml15gzj2c5p1hs2k7lr9lww";
   };
 
-  buildInputs = [ cmake ncurses openssl bison boost libxml2 libaio judy libevent groff ];
+  buildInputs = [ cmake ncurses openssl pcre libxml2 boost judy bison libevent ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames ];
 
-  cmakeFlags = [ "-DWITH_READLINE=yes" "-DWITH_EMBEDDED_SERVER=yes" "-DINSTALL_SCRIPTDIR=bin" ];
+  patches = stdenv.lib.optional stdenv.isDarwin ./my_context_asm.patch;
+
+  cmakeFlags = [
+    "-DBUILD_CONFIG=mysql_release"
+    "-DDEFAULT_CHARSET=utf8"
+    "-DDEFAULT_COLLATION=utf8_general_ci"
+    "-DENABLED_LOCAL_INFILE=ON"
+    "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DMYSQL_DATADIR=/var/lib/mysql"
+    "-DINSTALL_SYSCONFDIR=etc/mysql"
+    "-DINSTALL_INFODIR=share/mysql/docs"
+    "-DINSTALL_MANDIR=share/man"
+    "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
+    "-DINSTALL_SCRIPTDIR=bin"
+    "-DINSTALL_INCLUDEDIR=include/mysql"
+    "-DINSTALL_DOCREADMEDIR=share/mysql"
+    "-DINSTALL_SUPPORTFILESDIR=share/mysql"
+    "-DINSTALL_MYSQLSHAREDIR=share/mysql"
+    "-DINSTALL_DOCDIR=share/mysql/docs"
+    "-DINSTALL_SHAREDIR=share/mysql"
+    "-DWITH_READLINE=ON"
+    "-DWITH_ZLIB=system"
+    "-DWITH_SSL=system"
+    "-DWITH_PCRE=system"
+    "-DWITH_EMBEDDED_SERVER=yes"
+    "-DWITH_EXTRA_CHARSETS=complex"
+    "-DWITH_EMBEDDED_SERVER=ON"
+    "-DWITH_ARCHIVE_STORAGE_ENGINE=1"
+    "-DWITH_BLACKHOLE_STORAGE_ENGINE=1"
+    "-DWITH_INNOBASE_STORAGE_ENGINE=1"
+    "-DWITH_PARTITION_STORAGE_ENGINE=1"
+    "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1"
+    "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1"
+  ] ++ stdenv.lib.optional stdenv.isDarwin "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1";
+
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
 
   enableParallelBuilding = true;
 
-  passthru.mysqlVersion = "5.5";
+  outputs = [ "out" "lib" ];
+
+  prePatch = ''
+    substituteInPlace cmake/libutils.cmake \
+      --replace /usr/bin/libtool libtool
+    sed -i "s,SET(DEFAULT_MYSQL_HOME.*$,SET(DEFAULT_MYSQL_HOME /not/a/real/dir),g" CMakeLists.txt
+    sed -i "s,SET(PLUGINDIR.*$,SET(PLUGINDIR $lib/lib/mysql/plugin),g" CMakeLists.txt
+
+    sed -i "s,SET(pkgincludedir.*$,SET(pkgincludedir $lib/include),g" scripts/CMakeLists.txt
+    sed -i "s,SET(pkglibdir.*$,SET(pkglibdir $lib/lib),g" scripts/CMakeLists.txt
+    sed -i "s,SET(pkgplugindir.*$,SET(pkgplugindir $lib/lib/mysql/plugin),g" scripts/CMakeLists.txt
+
+    sed -i "s,set(libdir.*$,SET(libdir $lib/lib),g" storage/mroonga/vendor/groonga/CMakeLists.txt
+    sed -i "s,set(includedir.*$,SET(includedir $lib/include),g" storage/mroonga/vendor/groonga/CMakeLists.txt
+    sed -i "/\"\$[{]CMAKE_INSTALL_PREFIX}\/\$[{]GRN_RELATIVE_PLUGINS_DIR}\"/d" storage/mroonga/vendor/groonga/CMakeLists.txt
+    sed -i "s,set(GRN_PLUGINS_DIR.*$,SET(GRN_PLUGINS_DIR $lib/\$\{GRN_RELATIVE_PLUGINS_DIR}),g" storage/mroonga/vendor/groonga/CMakeLists.txt
+    sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
+  '';
+
+  postInstall = ''
+    substituteInPlace $out/bin/mysql_install_db \
+      --replace basedir=\"\" basedir=\"$out\"
+
+    # Remove superfluous files
+    rm -r $out/mysql-test $out/sql-bench $out/data
+    rm $out/share/man/man1/mysql-test-run.pl.1
+    rm $out/bin/rcmysql
+    find $out/bin -name \*test\* -exec rm {} \;
+
+    # Separate libs and includes into their own derivation
+    mkdir -p $lib
+    mv $out/lib $lib
+    mv $out/include $lib
+
+    # Add mysql_config to libs since configure scripts use it
+    mkdir -p $lib/bin
+    cp $out/bin/mysql_config $lib/bin
+    sed -i "/\(execdir\|bindir\)/ s,'[^\"']*',$lib/bin,g" $lib/bin/mysql_config
+
+    # Make sure to propagate lib for compatability
+    mkdir -p $out/nix-support
+    echo "$lib" > $out/nix-support/propagated-native-build-inputs
+  '';
+
+  passthru.mysqlVersion = "5.6";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An enhanced, drop-in replacement for MySQL";
     homepage    = https://mariadb.org/;
     license     = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ shlevy thoughtpolice ];
+    maintainers = with stdenv.lib.maintainers; [ shlevy thoughtpolice wkennington ];
     platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/sql/mariadb/my_context_asm.patch b/pkgs/servers/sql/mariadb/my_context_asm.patch
new file mode 100644
index 00000000000..3a747ed1b03
--- /dev/null
+++ b/pkgs/servers/sql/mariadb/my_context_asm.patch
@@ -0,0 +1,18 @@
+--- a/mysys/my_context.c
++++ b/mysys/my_context.c
+@@ -206,15 +206,6 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d)
+     (
+      "movq %%rsp, (%[save])\n\t"
+      "movq %[stack], %%rsp\n\t"
+-#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 && !defined(__INTEL_COMPILER)
+-     /*
+-       This emits a DWARF DW_CFA_undefined directive to make the return address
+-       undefined. This indicates that this is the top of the stack frame, and
+-       helps tools that use DWARF stack unwinding to obtain stack traces.
+-       (I use numeric constant to avoid a dependency on libdwarf includes).
+-     */
+-     ".cfi_escape 0x07, 16\n\t"
+-#endif
+      "movq %%rbp, 8(%[save])\n\t"
+      "movq %%rbx, 16(%[save])\n\t"
+      "movq %%r12, 24(%[save])\n\t"
diff --git a/pkgs/servers/sql/mysql/5.1.x.nix b/pkgs/servers/sql/mysql/5.1.x.nix
index c309158a670..caf6149e62c 100644
--- a/pkgs/servers/sql/mysql/5.1.x.nix
+++ b/pkgs/servers/sql/mysql/5.1.x.nix
@@ -1,25 +1,30 @@
-{stdenv, fetchurl, ps, ncurses, zlib, perl, openssl}:
+{ stdenv, fetchurl, ps, ncurses, zlib, perl, openssl }:
 
 # Note: zlib is not required; MySQL can use an internal zlib.
 
 stdenv.mkDerivation rec {
-  name = "mysql-5.1.72";
+  name = "mysql-5.1.73";
 
   src = fetchurl {
-    url = "http://cdn.mysql.com/Downloads/MySQL-5.1/${name}.tar.gz";
-    md5 = "ed79cd48e3e7402143548917813cdb80";
+    url = "mirror://mysql/MySQL-5.1/${name}.tar.gz";
+    sha256 = "1dfwi4ck0vq6sdci6gz0031s7zz5lc3pddqlgm0292s00l9y5sq5";
   };
 
-  buildInputs = [ncurses zlib perl openssl] ++ stdenv.lib.optional stdenv.isLinux ps;
+  buildInputs = [ ncurses zlib perl openssl ] ++ stdenv.lib.optional stdenv.isLinux ps;
 
-  configureFlags = "--enable-thread-safe-client --with-ssl=${openssl} --with-embedded-server --with-plugins=max-no-ndb" +
-    (if stdenv.system == "x86_64-linux" then " --with-lib-ccflags=-fPIC" else "");
+  configureFlags = [
+    "--enable-thread-safe-client"
+    "--with-ssl=${openssl}"
+    "--with-embedded-server"
+    "--with-plugins=max-no-ndb"
+    "--with-unix-socket-path=/run/mysqld/mysqld.sock"
+  ] ++ stdenv.lib.optional (stdenv.system == "x86_64-linux") " --with-lib-ccflags=-fPIC";
 
   NIX_CFLAGS_COMPILE = if stdenv.system == "x86_64-linux" then "-fPIC" else "";
   NIX_CFLAGS_CXXFLAGS = if stdenv.system == "x86_64-linux" then "-fPIC" else "";
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
-  patches = [./abi_check.patch];
+  patches = [ ./abi_check.patch ];
 
   postInstall =
     ''
diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index 7c31bd7c582..d25882b826e 100644
--- a/pkgs/servers/sql/mysql/5.5.x.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.5.37";
+  version = "5.5.42";
 
   src = fetchurl {
-    url = "http://cdn.mysql.com/Downloads/MySQL-5.5/${name}.tar.gz";
-    md5 = "bf1d80c66d4822ec6036300399a33c03";
+    url = "http://mysql.mirrors.pair.com/Downloads/MySQL-5.5/${name}.tar.gz";
+    sha256 = "0jn7py2wsq78rwi7vfihxs6z3h5hr338b9g46fl3z2g4ddki4yw8";
   };
 
   preConfigure = stdenv.lib.optional stdenv.isDarwin ''
@@ -21,7 +21,26 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  cmakeFlags = "-DWITH_SSL=yes -DWITH_READLINE=yes -DWITH_EMBEDDED_SERVER=yes -DWITH_ZLIB=yes -DINSTALL_SCRIPTDIR=bin -DHAVE_IPV6=yes";
+  cmakeFlags = [
+    "-DWITH_SSL=yes"
+    "-DWITH_READLINE=yes"
+    "-DWITH_EMBEDDED_SERVER=yes"
+    "-DWITH_ZLIB=yes"
+    "-DHAVE_IPV6=yes"
+    "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DMYSQL_DATADIR=/var/lib/mysql"
+    "-DINSTALL_SYSCONFDIR=etc/mysql"
+    "-DINSTALL_INFODIR=share/mysql/docs"
+    "-DINSTALL_MANDIR=share/man"
+    "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
+    "-DINSTALL_SCRIPTDIR=bin"
+    "-DINSTALL_INCLUDEDIR=include/mysql"
+    "-DINSTALL_DOCREADMEDIR=share/mysql"
+    "-DINSTALL_SUPPORTFILESDIR=share/mysql"
+    "-DINSTALL_MYSQLSHAREDIR=share/mysql"
+    "-DINSTALL_DOCDIR=share/mysql/docs"
+    "-DINSTALL_SHAREDIR=share/mysql"
+  ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
@@ -30,7 +49,8 @@ stdenv.mkDerivation rec {
   '';
   postInstall = ''
     sed -i -e "s|basedir=\"\"|basedir=\"$out\"|" $out/bin/mysql_install_db
-    rm -rf $out/mysql-test $out/sql-bench
+    rm -r $out/mysql-test $out/sql-bench $out/data
+    rm $out/share/man/man1/mysql-test-run.pl.1
   '';
 
   passthru.mysqlVersion = "5.5";
diff --git a/pkgs/servers/sql/mysql/jdbc/default.nix b/pkgs/servers/sql/mysql/jdbc/default.nix
index 7fde706479d..59643fa3e00 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 {
-  name = "mysql-connector-java-5.1.31";
+  name = "mysql-connector-java-5.1.32";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.31.zip;
-    sha256 = "1j6jvpadlib2hb6n3kh7s9ygjyqvi5gawrmnk1dsvvdcbkk1v871";
+    url = http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.32.zip;
+    sha256 = "11vjwws1pa8fdwn86rrmqdwsq3ld3sh2r0pp4lpr2gxw0w18ykc7";
   };
 
   buildInputs = [ unzip ant ];
diff --git a/pkgs/servers/sql/oracle-xe/default.nix b/pkgs/servers/sql/oracle-xe/default.nix
index 57ff50175bb..cb150fc5fd4 100644
--- a/pkgs/servers/sql/oracle-xe/default.nix
+++ b/pkgs/servers/sql/oracle-xe/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, makeWrapper, requireFile, patchelf, rpm, cpio, libaio }:
+{ stdenv, makeWrapper, requireFile, patchelf, rpmextract, libaio }:
 
 assert stdenv.system == "x86_64-linux";
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   unpackCmd = ''
     (mkdir -p "${name}" && cd "${name}" &&
-      ${rpm}/bin/rpm2cpio "$curSrc" | ${cpio}/bin/cpio -id)
+      ${rpmextract}/bin/rpmextract "$curSrc")
   '';
 
   buildPhase = let
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
       \( -name '*.sh' \
       -o -path "$basedir/bin/*" \
       \) -print -exec "${patchelf}/bin/patchelf" \
-           --interpreter "$(cat "$NIX_GCC/nix-support/dynamic-linker")" \
+           --interpreter "$(cat "$NIX_CC/nix-support/dynamic-linker")" \
            --set-rpath "${libs}:$out/libexec/oracle/lib" \
            --force-rpath '{}' \;
   '';
diff --git a/pkgs/servers/sql/pgpool/default.nix b/pkgs/servers/sql/pgpool/default.nix
new file mode 100644
index 00000000000..137e536e5d8
--- /dev/null
+++ b/pkgs/servers/sql/pgpool/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, postgresql, openssl, pam ? null, libmemcached ? null }:
+
+stdenv.mkDerivation rec {
+  name = "pgpool-II-3.4.2";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "http://www.pgpool.net/download.php?f=${name}.tar.gz";
+    sha256 = "0lf3fvwc2ib4md25a3hnv822nhy9ac06vg0ndw8q9bry66hzwcfh";
+  };
+
+  buildInputs = [ postgresql openssl pam libmemcached ];
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-openssl"
+  ] ++ stdenv.lib.optional (pam != null) "--with-pam"
+    ++ stdenv.lib.optional (libmemcached != null) "--with-memcached=${libmemcached}";
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://pgpool.net/mediawiki/index.php;
+    description = "a middleware that works between postgresql servers and postgresql clients.";
+    license = licenses.free;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index 5151299e3b9..d77a539cb5d 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, zlib, ncurses, readline }:
+{ stdenv, fetchurl, zlib, ncurses, readline, openssl }:
 
-let version = "8.4.21"; in
+let version = "8.4.22"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "388f67e59f2a16c27e84f50656f5d755adf3d0a883138366d091aa0c727c1e2c";
+    sha256 = "09iqr9sldiq7jz1rdnywp2wv36lxy5m8kch3vpchd1s4fz75c7aw";
   };
 
-  buildInputs = [ zlib ncurses readline ];
+  buildInputs = [ zlib ncurses readline openssl ];
 
   LC_ALL = "C";
 
+  configureFlags = [ "--with-openssl" ];
+
   patches = [ ./less-is-more.patch ];
 
   passthru = { inherit readline; };
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index 97e98217f8a..340307c01f9 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, zlib, readline }:
+{ stdenv, fetchurl, zlib, readline, openssl }:
 
-let version = "9.0.18"; in
+let version = "9.0.19"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "7c8a07d0ab78fe39522c6bb268a7b357f456d9d4796f57d7b43a004e4a9d3003";
+    sha256 = "1h45jdbzdcvprdsi9gija81s3ny46h3faf9f007gza4vm6y15bak";
   };
 
-  buildInputs = [ zlib readline ];
+  buildInputs = [ zlib readline openssl ];
 
   LC_ALL = "C";
 
+  configureFlags = [ "--with-openssl" ];
+
   patches = [ ./less-is-more.patch ];
 
   passthru = {
@@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index 92417dc730c..5b0774d6229 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchurl, zlib, readline }:
+{ stdenv, fetchurl, zlib, readline, openssl }:
 
-let version = "9.1.14"; in
+let version = "9.1.15"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "d0647ce563d18ae02bf68c5dd646a4c75e8b45b3a4fada64d481371fdc16f522";
+    sha256 = "0pyyw0cy91z9wkqf8qzkwsy8cyjps0s94c9czz6mzhyd2npxxmk7";
   };
 
-  buildInputs = [ zlib readline ];
+  buildInputs = [ zlib readline openssl ];
 
   enableParallelBuilding = true;
 
   LC_ALL = "C";
 
+  configureFlags = [ "--with-openssl" ];
+
   patches = [ ./less-is-more.patch ];
 
   postInstall =
@@ -32,7 +34,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
index e5dbdd034d3..d09cde5b995 100644
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ b/pkgs/servers/sql/postgresql/9.2.x.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchurl, zlib, readline }:
+{ stdenv, fetchurl, zlib, readline, openssl }:
 
-let version = "9.2.9"; in
+let version = "9.2.10"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "94ec6d330f125b6fc725741293073b07d7d20cc3e7b8ed127bc3d14ad2370197";
+    sha256 = "1bbkinqzb3c8i0vfzcy2g7djrq0kxz63jgvzda9p0vylxazmnm1m";
   };
 
-  buildInputs = [ zlib readline ];
+  buildInputs = [ zlib readline openssl ];
 
   enableParallelBuilding = true;
 
   makeFlags = [ "world" ];
 
+  configureFlags = [ "--with-openssl" ];
+
   patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ];
 
   installTargets = [ "install-world" ];
@@ -30,7 +32,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix
index 6c6ef132e81..6467ce80af1 100644
--- a/pkgs/servers/sql/postgresql/9.3.x.nix
+++ b/pkgs/servers/sql/postgresql/9.3.x.nix
@@ -1,27 +1,26 @@
-{ stdenv, fetchurl, zlib, readline, libossp_uuid }:
+{ stdenv, fetchurl, zlib, readline, libossp_uuid, openssl}:
 
 with stdenv.lib;
 
-let version = "9.3.5"; in
+let version = "9.3.6"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "14176ffb1f90a189e7626214365be08ea2bfc26f26994bafb4235be314b9b4b0";
+    sha256 = "056ass7nnfyv7blv02anv795kgpz77gipdpxggd835cdwrhwns13";
   };
 
-  buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
+  buildInputs = [ zlib readline openssl ]
+                ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
 
   enableParallelBuilding = true;
 
   makeFlags = [ "world" ];
 
-  configureFlags = optional (!stdenv.isDarwin)
-    ''
-      --with-ossp-uuid
-    '';
+  configureFlags = [ "--with-openssl" ]
+                   ++ optional (!stdenv.isDarwin) "--with-ossp-uuid";
 
   patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ];
 
@@ -37,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.postgresql.org/;
     description = "A powerful, open source object-relational database system";
-    license = "bsd";
+    license = stdenv.lib.licenses.postgresql;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     hydraPlatforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/sql/postgresql/9.4.x.nix b/pkgs/servers/sql/postgresql/9.4.x.nix
new file mode 100644
index 00000000000..6649975d790
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/9.4.x.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, zlib, readline, libossp_uuid, openssl }:
+
+with stdenv.lib;
+
+let version = "9.4.1"; in
+
+stdenv.mkDerivation rec {
+  name = "postgresql-${version}";
+
+  src = fetchurl {
+    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
+    sha256 = "19n3i14bhmw8dacd2kl3n1wzj362qv3fjmal5vsvi580h9ybgp99";
+  };
+
+  buildInputs = [ zlib readline openssl ]
+                ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [ "world" ];
+
+  configureFlags = [ "--with-openssl" ]
+                   ++ optional (!stdenv.isDarwin) "--with-ossp-uuid";
+
+  patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ];
+
+  installTargets = [ "install-world" ];
+
+  LC_ALL = "C";
+
+  passthru = {
+    inherit readline;
+    psqlSchema = "9.4";
+  };
+
+  meta = {
+    homepage = http://www.postgresql.org/ ;
+    description = "A powerful, open source object-relational database system";
+    license = stdenv.lib.licenses.postgresql;
+    maintainers = with stdenv.lib.maintainers; [ aristid ocharles ];
+    hydraPlatforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch
new file mode 100644
index 00000000000..fadeea90ac4
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch
@@ -0,0 +1,12 @@
+--- a/src/common/exec.c	2014-09-04 20:19:12.236057588 +0200
++++ b/src/common/exec.c	2014-09-04 20:19:50.550251633 +0200
+@@ -218,6 +218,9 @@
+ static int
+ resolve_symlinks(char *path)
+ {
++	// On NixOS we *want* stuff relative to symlinks.
++	return 0;
++
+ #ifdef HAVE_READLINK
+ 	struct stat buf;
+ 	char		orig_wd[MAXPGPATH],
diff --git a/pkgs/servers/sql/virtuoso/6.x.nix b/pkgs/servers/sql/virtuoso/6.x.nix
index 9453b8d2cdb..4de0ace0c03 100644
--- a/pkgs/servers/sql/virtuoso/6.x.nix
+++ b/pkgs/servers/sql/virtuoso/6.x.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libxml2 openssl readline gawk ];
 
-  CPP = "${stdenv.gcc}/bin/gcc -E";
+  CPP = "${stdenv.cc}/bin/gcc -E";
 
   configureFlags = "
     --enable-shared --disable-all-vads --with-readline=${readline}
diff --git a/pkgs/servers/sql/virtuoso/7.x.nix b/pkgs/servers/sql/virtuoso/7.x.nix
index 0c310b18901..de610f9a729 100644
--- a/pkgs/servers/sql/virtuoso/7.x.nix
+++ b/pkgs/servers/sql/virtuoso/7.x.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libxml2 openssl readline gawk ];
 
-  CPP = "${stdenv.gcc}/bin/gcc -E";
+  CPP = "${stdenv.cc}/bin/gcc -E";
 
   configureFlags = "
     --enable-shared --disable-all-vads --with-readline=${readline}
diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix
index a6552738ea6..587c17a3cee 100644
--- a/pkgs/servers/squid/squids.nix
+++ b/pkgs/servers/squid/squids.nix
@@ -40,15 +40,26 @@ rec {
   };
 
   squid34 = squid30.merge rec {
-    name = "squid-3.4.5";
+    name = "squid-3.4.11";
     src = args.fetchurl {
       url = "http://www.squid-cache.org/Versions/v3/3.4/${name}.tar.bz2";
-      sha256 = "1d17l27bszdxnvdr78l7yry8ka38cq7g4774m5876q25ny1q1bmr";
+      sha256 = "0p9dbsz541cpcc88albwpgq15jgpczv12j9b9g5xw6d3i977qm1h";
     };
     buildInputs = [openldap pam db cyrus_sasl libcap expat libxml2
       libtool openssl];
     configureFlags = ["--enable-ssl" "--enable-ssl-crtd"];
   };
 
-  latest = squid34;
+  squid35 = squid30.merge rec {
+    name = "squid-3.5.1";
+    src = args.fetchurl {
+      url = "http://www.squid-cache.org/Versions/v3/3.5/${name}.tar.bz2";
+      sha256 = "0rfv1v5vkk7l08v4j16l0lz2grrzd8qf2n25i73qd7c8rgwd6a3x";
+    };
+    buildInputs = [openldap pam db cyrus_sasl libcap expat libxml2
+      libtool openssl];
+    configureFlags = ["--with-openssl" "--enable-ssl-crtd"];
+  };
+
+  latest = squid35;
 }
diff --git a/pkgs/servers/sslh/default.nix b/pkgs/servers/sslh/default.nix
new file mode 100644
index 00000000000..3f9aa4470f9
--- /dev/null
+++ b/pkgs/servers/sslh/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, libcap, libconfig, perl, tcp_wrappers }:
+
+stdenv.mkDerivation rec {
+  name = "sslh-${version}";
+  version = "1.16";
+
+  src = fetchurl {
+    url = "https://github.com/yrutschle/sslh/archive/v${version}.tar.gz";
+    sha256 = "0xwi2bflvq4phrqjic84xch20jkg3wdys219mw2cy23sjkzk63mb";
+  };
+
+  postPatch = "patchShebangs *.sh";
+
+  buildInputs = [ libcap libconfig perl tcp_wrappers ];
+
+  makeFlags = "USELIBCAP=1 USELIBWRAP=1";
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
+    license = licenses.gpl2Plus;
+    homepage = http://www.rutschle.net/tech/sslh.shtml;
+    maintainers = [ maintainers.koral ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/u9fs/default.nix b/pkgs/servers/u9fs/default.nix
new file mode 100644
index 00000000000..dc855294fbd
--- /dev/null
+++ b/pkgs/servers/u9fs/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchhg }:
+
+stdenv.mkDerivation {
+  name = "u9fs-20110513";
+  src = fetchhg {
+    url = https://code.google.com/p/u9fs;
+    rev = "9474edb23b11";
+    sha256 = "0irwyk8vnvx0fmz8lmbdb2jrlvas8imr61jr76a1pkwi9wpf2wv6";
+  };
+
+  installPhase =
+    ''
+      mkdir -p $out/bin $out/share/man4
+      cp u9fs $out/bin; cp u9fs.man $out/share/man4
+    '';
+
+  meta = with stdenv.lib;
+    { description = "Serve 9P from Unix";
+      homepage = https://code.google.com/p/u9fs;
+      license = licenses.free;
+      maintainers = [ maintainers.emery ];
+      platforms = platforms.unix;
+    };
+}
diff --git a/pkgs/servers/uhub/default.nix b/pkgs/servers/uhub/default.nix
new file mode 100644
index 00000000000..a6e0d474d89
--- /dev/null
+++ b/pkgs/servers/uhub/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, cmake, openssl, sqlite, pkgconfig, systemd
+, tlsSupport ? false }:
+
+assert tlsSupport -> openssl != null;
+
+let version = "0.4.1"; in
+stdenv.mkDerivation {
+  name = "uhub-${version}";
+
+  src = fetchurl {
+    url = "http://www.extatic.org/downloads/uhub/uhub-${version}-src.tar.bz2";
+    sha256 = "1q0n74fb0h5w0k9fhfkznxb4r46qyfb8g2ss3wflivx4l0m1f9x2";
+  };
+
+  buildInputs = [ cmake sqlite pkgconfig systemd ] ++ stdenv.lib.optional tlsSupport openssl;
+
+  outputs = [ "out"
+    "mod_example"
+    "mod_welcome"
+    "mod_logging"
+    "mod_auth_simple"
+    "mod_auth_sqlite"
+    "mod_chat_history"
+    "mod_chat_only"
+    "mod_topic"
+    "mod_no_guest_downloads"
+  ];
+
+  patches = [ ./plugin-dir.patch ./systemd.patch ];
+
+  cmakeFlags = ''
+    -DSYSTEMD_SUPPORT=ON
+    ${if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF"}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "High performance peer-to-peer hub for the ADC network";
+    homepage = https://www.uhub.org/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.emery ];
+    platforms = platforms.unix;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/uhub/plugin-dir.patch b/pkgs/servers/uhub/plugin-dir.patch
new file mode 100644
index 00000000000..95ebfd6706f
--- /dev/null
+++ b/pkgs/servers/uhub/plugin-dir.patch
@@ -0,0 +1,23 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 40e996e..d3b7e6d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -185,10 +185,16 @@ else()
+ 	# add_definitions(-DDEBUG)
+ endif()
+ 
++set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
++
+ if (UNIX)
+ 	install( TARGETS uhub RUNTIME DESTINATION bin )
+-	install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL )
+-	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL )
++
++        foreach( PLUGIN ${PLUGINS} )
++		install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL )
++        endforeach( PLUGIN )
++
++	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION doc/ OPTIONAL )
+ 
+ 	if (SQLITE_SUPPORT)
+ 		install( TARGETS uhub-passwd RUNTIME DESTINATION bin )
diff --git a/pkgs/servers/uhub/systemd.patch b/pkgs/servers/uhub/systemd.patch
new file mode 100644
index 00000000000..05e7571d18d
--- /dev/null
+++ b/pkgs/servers/uhub/systemd.patch
@@ -0,0 +1,164 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 40e996e..fc4fb01 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -19,6 +19,7 @@ option(LINK_SUPPORT "Allow hub linking" OFF)
+ option(SSL_SUPPORT "Enable SSL support" ON)
+ option(USE_OPENSSL "Use OpenSSL's SSL support" ON )
+ option(SQLITE_SUPPORT "Enable SQLite support" ON)
++option(SYSTEMD_SUPPORT "Enable systemd notify and journal logging" OFF)
+ option(ADC_STRESS "Enable the stress tester client" OFF)
+ 
+ find_package(Git)
+@@ -34,6 +35,12 @@ if (SSL_SUPPORT)
+ 	endif()
+ endif()
+ 
++if (SYSTEMD_SUPPORT)
++        INCLUDE(FindPkgConfig)
++        pkg_search_module(SD_DAEMON REQUIRED libsystemd-daemon)
++        pkg_search_module(SD_JOURNAL REQUIRED libsystemd-journal)
++endif()
++
+ if (MSVC)
+ 	add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+ endif()
+@@ -175,6 +182,18 @@ if(SSL_SUPPORT)
+ 	endif()
+ endif()
+ 
++if (SYSTEMD_SUPPORT)
++        target_link_libraries(uhub ${SD_DAEMON_LIBRARIES})
++        target_link_libraries(uhub ${SD_JOURNAL_LIBRARIES})
++        target_link_libraries(test ${SD_DAEMON_LIBRARIES})
++        target_link_libraries(test ${SD_JOURNAL_LIBRARIES})
++        target_link_libraries(uhub-passwd ${SD_JOURNAL_LIBRARIES})
++        target_link_libraries(uhub-admin ${SD_JOURNAL_LIBRARIES})
++        include_directories(${SD_DAEMON_INCLUDE_DIRS})
++        include_directories(${SD_JOURNAL_INCLUDE_DIRS})
++        add_definitions(-DSYSTEMD)
++endif()
++
+ configure_file ("${PROJECT_SOURCE_DIR}/version.h.in" "${PROJECT_SOURCE_DIR}/version.h")
+ 
+ mark_as_advanced(FORCE CMAKE_BUILD_TYPE)
+diff --git a/src/core/main.c b/src/core/main.c
+index bb78672..ac2d2a8 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -19,6 +19,10 @@
+ 
+ #include "uhub.h"
+ 
++#ifdef SYSTEMD
++#include <systemd/sd-daemon.h>
++#endif
++
+ static int arg_verbose = 5;
+ static int arg_fork    = 0;
+ static int arg_check_config = 0;
+@@ -145,7 +149,16 @@ int main_loop()
+ 			}
+ #if !defined(WIN32)
+ 			setup_signal_handlers(hub);
+-#endif
++#ifdef SYSTEMD
++                        /* Notify the service manager that this daemon has 
++                         * been successfully initalized and shall enter the
++                         * main loop.
++                         */
++                        sd_notifyf(0, "READY=1\n"
++                                      "MAINPID=%lu", (unsigned long) getpid());
++#endif /* SYSTEMD */
++
++#endif /* ! WIN32 */
+ 		}
+ 
+ 		hub_set_variables(hub, &acl);
+@@ -216,13 +229,17 @@ void print_usage(char* program)
+ 		"   -q          Quiet mode - no output\n"
+ 		"   -f          Fork to background\n"
+ 		"   -l <file>   Log messages to given file (default: stderr)\n"
+-		"   -L          Log messages to syslog\n"
+ 		"   -c <file>   Specify configuration file (default: " SERVER_CONFIG ")\n"
+ 		"   -C          Check configuration and return\n"
+ 		"   -s          Show configuration parameters\n"
+ 		"   -S          Show configuration parameters, but ignore defaults\n"
+ 		"   -h          This message\n"
+ #ifndef WIN32
++#ifdef SYSTEMD
++		"   -L          Log messages to journal\n"
++#else
++		"   -L          Log messages to syslog\n"
++#endif
+ 		"   -u <user>   Run as given user\n"
+ 		"   -g <group>  Run with given group permissions\n"
+ 		"   -p <file>   Store pid in file (process id)\n"
+diff --git a/src/util/log.c b/src/util/log.c
+index 42badb3..2d97528 100644
+--- a/src/util/log.c
++++ b/src/util/log.c
+@@ -21,7 +21,15 @@
+ #include <locale.h>
+ 
+ #ifndef WIN32
++
++#ifdef SYSTEMD
++#define SD_JOURNAL_SUPPRESS_LOCATION
++#include <systemd/sd-journal.h>
++
++#else
+ #include <syslog.h>
++#endif
++
+ static int use_syslog = 0;
+ #endif
+ 
+@@ -83,7 +91,9 @@ void hub_log_initialize(const char* file, int syslog)
+ 	if (syslog)
+ 	{
+ 		use_syslog = 1;
++                #ifndef SYSTEMD
+ 		openlog("uhub", LOG_PID, LOG_USER);
++                #endif
+ 	}
+ #endif
+ 
+@@ -132,7 +142,9 @@ void hub_log_shutdown()
+ 	if (use_syslog)
+ 	{
+ 		use_syslog = 0;
++                #ifndef SYSTEMD
+ 		closelog();
++                #endif
+ 	}
+ #endif
+ }
+@@ -212,7 +224,12 @@ void hub_log(int log_verbosity, const char *format, ...)
+ 			case log_fatal:    level = LOG_CRIT; break;
+ 			case log_error:    level = LOG_ERR; break;
+ 			case log_warning:  level = LOG_WARNING; break;
+-			case log_user:     level = LOG_INFO | LOG_AUTH; break;
++                        #ifdef SYSTEMD
++                        case log_user:     level = LOG_INFO; break;
++
++                        #else
++                        case log_user:     level = LOG_INFO | LOG_AUTH; break;
++                        #endif
+ 			case log_info:     level = LOG_INFO; break;
+ 			case log_debug:    level = LOG_DEBUG; break;
+ 			
+@@ -224,8 +241,13 @@ void hub_log(int log_verbosity, const char *format, ...)
+ 		if (level == 0)
+ 			return;
+ 		
++                #ifdef SYSTEMD
++		sd_journal_print(level, "%s", logmsg);
++
++                #else
+ 		level |= (LOG_USER | LOG_DAEMON);
+ 		syslog(level, "%s", logmsg);
++                #endif
+ 	}
+ #endif
+ 	
diff --git a/pkgs/servers/unfs3/default.nix b/pkgs/servers/unfs3/default.nix
index ee566c32def..4304dc229e3 100644
--- a/pkgs/servers/unfs3/default.nix
+++ b/pkgs/servers/unfs3/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 8aa15ee9f82..7b8aa58e305 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unifi-controller-${version}";
-  version = "3.2.1";
+  version = "3.2.10";
 
   src = fetchurl {
     url = "http://dl.ubnt.com/unifi/${version}/UniFi.unix.zip";
-    sha256 = "0x7s5k9wxkw0rcs4c2mdrmmjpcfmbh5pvvpj8brrwnkgx072n53c";
+    sha256 = "0hrb8bbpkz1ijgsqsxhwjx1iq11ircr0pb2n5nr6hna9zxkkkb04";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
new file mode 100644
index 00000000000..bf168611f38
--- /dev/null
+++ b/pkgs/servers/uwsgi/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, lib, fetchurl, pkgconfig, jansson
+, plugins
+, pam, withPAM ? stdenv.isLinux
+, systemd, withSystemd ? stdenv.isLinux
+, python2, python3, ncurses
+}:
+
+let pythonPlugin = pkg : { name = "python${if pkg ? isPy2 then "2" else "3"}";
+                           interpreter = pkg;
+                           path = "plugins/python";
+                           deps = [ pkg ncurses ];
+                           install = ''
+                             install -Dm644 uwsgidecorators.py $out/${pkg.sitePackages}/uwsgidecorators.py
+                             ${pkg.executable} -m compileall $out/${pkg.sitePackages}/
+                             ${pkg.executable} -O -m compileall $out/${pkg.sitePackages}/
+                           '';
+                         };
+    available = [ (pythonPlugin python2)
+                  (pythonPlugin python3)
+                ];
+     needed = builtins.filter (x: lib.any (y: x.name == y) plugins) available;
+in
+
+assert builtins.filter (x: lib.all (y: y.name != x) available) plugins == [];
+
+stdenv.mkDerivation rec {
+  name = "uwsgi-2.0.10";
+
+  src = fetchurl {
+    url = "http://projects.unbit.it/downloads/${name}.tar.gz";
+    sha256 = "12q2sn35vf1ils5043svq8da0czy54k63ziybvl33a9dqbb83cy0";
+  };
+
+  nativeBuildInputs = [ python3 pkgconfig ];
+
+  buildInputs =  with stdenv.lib;
+                 [ jansson ]
+              ++ optional withPAM pam
+              ++ optional withSystemd systemd
+              ++ lib.concatMap (x: x.deps) needed
+              ;
+
+  basePlugins =  with stdenv.lib;
+                 concatStringsSep ","
+                 (  optional withPAM "pam"
+                 ++ optional withSystemd "systemd_logger"
+                 );
+
+  passthru = {
+    inherit python2 python3;
+  };
+
+  configurePhase = ''
+    export pluginDir=$out/lib/uwsgi
+    substituteAll ${./nixos.ini} buildconf/nixos.ini
+  '';
+
+  buildPhase = ''
+    mkdir -p $pluginDir
+    python3 uwsgiconfig.py --build nixos
+    ${lib.concatMapStringsSep ";" (x: "${x.interpreter.interpreter} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}") needed}
+  '';
+
+  installPhase = ''
+    install -Dm755 uwsgi $out/bin/uwsgi
+    #cp *_plugin.so $pluginDir || true
+    ${lib.concatMapStringsSep "\n" (x: x.install) needed}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://uwsgi-docs.readthedocs.org/en/latest/;
+    description = "A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/servers/uwsgi/nixos.ini b/pkgs/servers/uwsgi/nixos.ini
new file mode 100644
index 00000000000..454eb51893f
--- /dev/null
+++ b/pkgs/servers/uwsgi/nixos.ini
@@ -0,0 +1,5 @@
+[uwsgi]
+plugin_dir = @pluginDir@
+main_plugin = @basePlugins@
+json = true
+inherit = base
diff --git a/pkgs/servers/varnish/2.1.nix b/pkgs/servers/varnish/2.1.nix
deleted file mode 100644
index ef1b177054f..00000000000
--- a/pkgs/servers/varnish/2.1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  version = "2.1.5";
-  name = "varnish-${version}";
-
-  src = fetchurl {
-    url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
-    sha256 = "10zgwn482gfmfb7n6xwi7p841bs3j58jnk55wg83b85d2jz4k01d";
-  };
-
-  buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
-
-  meta = {
-    description = "Web application accelerator also known as a caching HTTP reverse proxy";
-    homepage = "https://www.varnish-cache.org";
-    license = stdenv.lib.licenses.bsd2;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 8ff26a38808..5b191bef872 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline }:
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline, python }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.5";
+  version = "3.0.6";
   name = "varnish-${version}";
 
   src = fetchurl {
     url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
-    sha256 = "1dz2gazqczfzahh2n0aw71i5g9cpn5d98p9gj6ilqlkiqypxcbrh";
+    sha256 = "1dw0nrplx5pa09z8vbjpncniv3qib5bh3qp3yqbk2d774n7ys3c4";
   };
 
-  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline ];
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline python ];
 
   meta = {
     description = "Web application accelerator also known as a caching HTTP reverse proxy";
diff --git a/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh b/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
new file mode 100644
index 00000000000..6dbaf724092
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
@@ -0,0 +1 @@
+export IMAKECPP="@tradcpp@/bin/tradcpp"
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index c3aaf276dca..497175c14df 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -25,11 +25,11 @@ let
   }) // {inherit ;};
 
   bdftopcf = (mkDerivation "bdftopcf" {
-    name = "bdftopcf-1.0.4";
+    name = "bdftopcf-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2;
-      sha256 = "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga";
+      url = mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2;
+      sha256 = "09i03sk878cmx2i40lkpsysn7zqcvlczb30j7x3lryb11jz4gx1q";
     };
     buildInputs = [pkgconfig libXfont ];
   }) // {inherit libXfont ;};
@@ -435,11 +435,11 @@ let
   }) // {inherit bdftopcf mkfontdir ;};
 
   fontsproto = (mkDerivation "fontsproto" {
-    name = "fontsproto-2.1.2";
+    name = "fontsproto-2.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/fontsproto-2.1.2.tar.bz2;
-      sha256 = "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746";
+      url = mirror://xorg/individual/proto/fontsproto-2.1.3.tar.bz2;
+      sha256 = "1f2sdsd74y34nnaf4m1zlcbhyv8xb6irnisc99f84c4ivnq4d415";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
@@ -455,11 +455,11 @@ let
   }) // {inherit bdftopcf mkfontdir ;};
 
   fontutil = (mkDerivation "fontutil" {
-    name = "font-util-1.3.0";
+    name = "font-util-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2;
-      sha256 = "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz";
+      url = mirror://xorg/individual/font/font-util-1.3.1.tar.bz2;
+      sha256 = "08drjb6cf84pf5ysghjpb4i7xkd2p86k3wl2a0jxs1jif6qbszma";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
@@ -515,11 +515,11 @@ let
   }) // {inherit ;};
 
   iceauth = (mkDerivation "iceauth" {
-    name = "iceauth-1.0.6";
+    name = "iceauth-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2;
-      sha256 = "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx";
+      url = mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2;
+      sha256 = "02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj";
     };
     buildInputs = [pkgconfig libICE xproto ];
   }) // {inherit libICE xproto ;};
@@ -605,11 +605,11 @@ let
   }) // {inherit windowswmproto libX11 libXext xextproto ;};
 
   libX11 = (mkDerivation "libX11" {
-    name = "libX11-1.6.2";
+    name = "libX11-1.6.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2;
-      sha256 = "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a";
+      url = mirror://xorg/individual/lib/libX11-1.6.3.tar.bz2;
+      sha256 = "04c1vj53xq2xgyxx5vhln3wm2d76hh1n95fvs3myhligkz1sfcfg";
     };
     buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
   }) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
@@ -675,11 +675,11 @@ let
   }) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
 
   libXdmcp = (mkDerivation "libXdmcp" {
-    name = "libXdmcp-1.1.1";
+    name = "libXdmcp-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2;
-      sha256 = "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls";
+      url = mirror://xorg/individual/lib/libXdmcp-1.1.2.tar.bz2;
+      sha256 = "1qp4yhxbfnpj34swa0fj635kkihdkwaiw7kf55cg5zqqg630kzl1";
     };
     buildInputs = [pkgconfig xproto ];
   }) // {inherit xproto ;};
@@ -705,11 +705,11 @@ let
   }) // {inherit fixesproto libX11 xextproto xproto ;};
 
   libXfont = (mkDerivation "libXfont" {
-    name = "libXfont-1.4.8";
+    name = "libXfont-1.5.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont-1.4.8.tar.bz2;
-      sha256 = "01fh2hnnaby8x6mv57x78nsqwhls70gwykldzd8b43vrpzzd8s2m";
+      url = mirror://xorg/individual/lib/libXfont-1.5.1.tar.bz2;
+      sha256 = "1630v3sfvwwlimb2ja10c84ql6v1mw9bdfhvan7pbybkgi99h25p";
     };
     buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
   }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
@@ -755,11 +755,11 @@ let
   }) // {inherit libX11 libXext xextproto xproto libXt ;};
 
   libXp = (mkDerivation "libXp" {
-    name = "libXp-1.0.2";
+    name = "libXp-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXp-1.0.2.tar.bz2;
-      sha256 = "1dfh5w8sjz5b5fl6dl4y63ckq99snslz7bir8zq2rg8ax6syabwm";
+      url = mirror://xorg/individual/lib/libXp-1.0.3.tar.bz2;
+      sha256 = "0mwc2jwmq03b1m9ihax5c6gw2ln8rc70zz4fsj3kb7440nchqdkz";
     };
     buildInputs = [pkgconfig printproto libX11 libXau libXext xextproto ];
   }) // {inherit printproto libX11 libXau libXext xextproto ;};
@@ -835,11 +835,11 @@ let
   }) // {inherit videoproto libX11 libXext xextproto xproto ;};
 
   libXvMC = (mkDerivation "libXvMC" {
-    name = "libXvMC-1.0.8";
+    name = "libXvMC-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXvMC-1.0.8.tar.bz2;
-      sha256 = "015jk3bxfmj6zaw99x282f9npi8qqaw34yg186frags3z8g406jy";
+      url = mirror://xorg/individual/lib/libXvMC-1.0.9.tar.bz2;
+      sha256 = "0mjp1b21dvkaz7r0iq085r92nh5vkpmx99awfgqq9hgzyvgxf0q7";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ];
   }) // {inherit videoproto libX11 libXext xextproto xproto libXv ;};
@@ -865,11 +865,11 @@ let
   }) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
 
   libXxf86vm = (mkDerivation "libXxf86vm" {
-    name = "libXxf86vm-1.1.3";
+    name = "libXxf86vm-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2;
-      sha256 = "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns";
+      url = mirror://xorg/individual/lib/libXxf86vm-1.1.4.tar.bz2;
+      sha256 = "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ];
   }) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
@@ -895,11 +895,11 @@ let
   }) // {inherit xproto zlib ;};
 
   libpciaccess = (mkDerivation "libpciaccess" {
-    name = "libpciaccess-0.13.2";
+    name = "libpciaccess-0.13.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2;
-      sha256 = "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb";
+      url = mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2;
+      sha256 = "1qy2i776jb7912dxqylv59p41sa0hw8lmn7asd3ywvp0wk56rmvc";
     };
     buildInputs = [pkgconfig zlib ];
   }) // {inherit zlib ;};
@@ -935,11 +935,11 @@ let
   }) // {inherit kbproto libX11 ;};
 
   libxshmfence = (mkDerivation "libxshmfence" {
-    name = "libxshmfence-1.1";
+    name = "libxshmfence-1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2;
-      sha256 = "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv";
+      url = mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2;
+      sha256 = "032b0nlkdrpbimdld4gqvhqx53rzn8fawvf1ybhzn7lcswgjs6yj";
     };
     buildInputs = [pkgconfig xproto ];
   }) // {inherit xproto ;};
@@ -985,11 +985,11 @@ let
   }) // {inherit ;};
 
   mkfontscale = (mkDerivation "mkfontscale" {
-    name = "mkfontscale-1.1.1";
+    name = "mkfontscale-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2;
-      sha256 = "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14";
+      url = mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2;
+      sha256 = "081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc";
     };
     buildInputs = [pkgconfig libfontenc freetype xproto zlib ];
   }) // {inherit libfontenc freetype xproto zlib ;};
@@ -1015,11 +1015,11 @@ let
   }) // {inherit libXau ;};
 
   randrproto = (mkDerivation "randrproto" {
-    name = "randrproto-1.4.0";
+    name = "randrproto-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2;
-      sha256 = "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45";
+      url = mirror://xorg/individual/proto/randrproto-1.4.1.tar.bz2;
+      sha256 = "1p7155hsp48b0sjm4rc67wz6y1nxqrq69vyw0sjxh8h6pcpcngal";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
@@ -1065,11 +1065,11 @@ let
   }) // {inherit ;};
 
   sessreg = (mkDerivation "sessreg" {
-    name = "sessreg-1.0.8";
+    name = "sessreg-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2;
-      sha256 = "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf";
+      url = mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2;
+      sha256 = "0z013rskwmdadd8cdlxvh4asmgim61qijyzfbqmr1q1mg1jpf4am";
     };
     buildInputs = [pkgconfig xproto ];
   }) // {inherit xproto ;};
@@ -1185,31 +1185,41 @@ let
   }) // {inherit python ;};
 
   xcbutil = (mkDerivation "xcbutil" {
-    name = "xcb-util-0.3.9";
+    name = "xcb-util-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2;
-      sha256 = "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6";
+      url = http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2;
+      sha256 = "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
   }) // {inherit gperf m4 libxcb xproto ;};
 
+  xcbutilcursor = (mkDerivation "xcbutilcursor" {
+    name = "xcb-util-cursor-0.1.2";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.2.tar.bz2;
+      sha256 = "0fpv46zb7kz04qxwvpax4cpd2kd8yhsm2n0if1isniqdh5xkcrgd";
+    };
+    buildInputs = [pkgconfig gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ];
+  }) // {inherit gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ;};
+
   xcbutilimage = (mkDerivation "xcbutilimage" {
-    name = "xcb-util-image-0.3.9";
+    name = "xcb-util-image-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2;
-      sha256 = "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk";
+      url = http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2;
+      sha256 = "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xcbutil xproto ];
   }) // {inherit gperf m4 libxcb xcbutil xproto ;};
 
   xcbutilkeysyms = (mkDerivation "xcbutilkeysyms" {
-    name = "xcb-util-keysyms-0.3.9";
+    name = "xcb-util-keysyms-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2;
-      sha256 = "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv";
+      url = http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2;
+      sha256 = "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
   }) // {inherit gperf m4 libxcb xproto ;};
@@ -1375,11 +1385,11 @@ let
   }) // {inherit ;};
 
   xf86inputevdev = (mkDerivation "xf86inputevdev" {
-    name = "xf86-input-evdev-2.8.4";
+    name = "xf86-input-evdev-2.9.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2;
-      sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5";
+      url = mirror://xorg/individual/driver/xf86-input-evdev-2.9.2.tar.bz2;
+      sha256 = "1v7gmjc1ilyhln80i87rivgls3ajlm8lnkm9rn695img66sjj8vr";
     };
     buildInputs = [pkgconfig inputproto udev xorgserver xproto ];
   }) // {inherit inputproto udev xorgserver xproto ;};
@@ -1404,6 +1414,16 @@ let
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   }) // {inherit inputproto xorgserver xproto ;};
 
+  xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
+    name = "xf86-input-libinput-0.8.0";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-input-libinput-0.8.0.tar.bz2;
+      sha256 = "0fm4vrkw7azipbnwvc2l18g65z77pllsznaajd8q3zpg9ycb0li1";
+    };
+    buildInputs = [pkgconfig inputproto xorgserver xproto ];
+  }) // {inherit inputproto xorgserver xproto ;};
+
   xf86inputmouse = (mkDerivation "xf86inputmouse" {
     name = "xf86-input-mouse-1.9.1";
     builder = ./builder.sh;
@@ -1415,11 +1435,11 @@ let
   }) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputsynaptics = (mkDerivation "xf86inputsynaptics" {
-    name = "xf86-input-synaptics-1.7.6";
+    name = "xf86-input-synaptics-1.8.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2;
-      sha256 = "0ls8f7gy92f54hdqsa19vypg0xm496jrgdhdn4qphycxwn3gwkbm";
+      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.8.2.tar.bz2;
+      sha256 = "104cd67dqalp1a73jmi61kdpxwsr61w5x5cmqvh819h2pm71c3kv";
     };
     buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
   }) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
@@ -1475,11 +1495,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
   xf86videoati = (mkDerivation "xf86videoati" {
-    name = "xf86-video-ati-7.4.0";
+    name = "xf86-video-ati-7.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-ati-7.4.0.tar.bz2;
-      sha256 = "1nbnvxlyn75bcf23m39p7yw80kilgdxmjdvzgcs3walshnlhq8wn";
+      url = mirror://xorg/individual/driver/xf86-video-ati-7.5.0.tar.bz2;
+      sha256 = "0dkrw036ikym8aacl43lnf04q0wbms5498xg5b3l16ngnq36ygpc";
     };
     buildInputs = [pkgconfig fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   }) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
@@ -1554,15 +1574,25 @@ let
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
+  xf86videoi740 = (mkDerivation "xf86videoi740" {
+    name = "xf86-video-i740-1.3.5";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-video-i740-1.3.5.tar.bz2;
+      sha256 = "0973zzmdsvlmplcax1c91is7v78lcwy6d9mwp11npgqzl782vq0w";
+    };
+    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+
   xf86videointel = (mkDerivation "xf86videointel" {
-    name = "xf86-video-intel-2.21.15";
+    name = "xf86-video-intel-2.99.917";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2;
-      sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx";
+      url = mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2;
+      sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0";
     };
-    buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ];
-  }) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;};
+    buildInputs = [pkgconfig dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ];
+  }) // {inherit dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;};
 
   xf86videomach64 = (mkDerivation "xf86videomach64" {
     name = "xf86-video-mach64-6.9.4";
@@ -1575,11 +1605,11 @@ let
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
   xf86videomga = (mkDerivation "xf86videomga" {
-    name = "xf86-video-mga-1.6.3";
+    name = "xf86-video-mga-1.6.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2;
-      sha256 = "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p";
+      url = mirror://xorg/individual/driver/xf86-video-mga-1.6.4.tar.bz2;
+      sha256 = "0kyl8w99arviv27pc349zsy2vinnm7mdpy34vr9nzisicw5nkij8";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
@@ -1615,11 +1645,11 @@ let
   }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
 
   xf86videonouveau = (mkDerivation "xf86videonouveau" {
-    name = "xf86-video-nouveau-1.0.10";
+    name = "xf86-video-nouveau-1.0.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2;
-      sha256 = "17fvjplzfx86099sqys0bfl8lfbmjz8li84kzj2x95mf1cbb7fn1";
+      url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.11.tar.bz2;
+      sha256 = "0j3847rnffy81iaxxi6vnd8saadrc9jahfmckr0sjgkzg2rf4kzq";
     };
     buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   }) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1645,11 +1675,11 @@ let
   }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
 
   xf86videoqxl = (mkDerivation "xf86videoqxl" {
-    name = "xf86-video-qxl-0.1.2";
+    name = "xf86-video-qxl-0.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.2.tar.bz2;
-      sha256 = "09sjpkg7klzzg9sagmqpsw911501vqk9wdd4nr0jkqqanvkx39s3";
+      url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.3.tar.bz2;
+      sha256 = "1368dd5mihn3s098n7wa3fpjkp8pnamabfjjipkqs9zyrcvncy3m";
     };
     buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
@@ -1715,11 +1745,11 @@ let
   }) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
 
   xf86videotdfx = (mkDerivation "xf86videotdfx" {
-    name = "xf86-video-tdfx-1.4.5";
+    name = "xf86-video-tdfx-1.4.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-tdfx-1.4.5.tar.bz2;
-      sha256 = "0nfqf1c8939s21ci1g7gacwzlr4g4nnilahgz7j2bz30zfnzpmbh";
+      url = mirror://xorg/individual/driver/xf86-video-tdfx-1.4.6.tar.bz2;
+      sha256 = "0dvdrhyn1iv6rr85v1c52s1gl0j1qrxgv7x0r7qn3ba0gj38i2is";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
@@ -1735,11 +1765,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
 
   xf86videotrident = (mkDerivation "xf86videotrident" {
-    name = "xf86-video-trident-1.3.6";
+    name = "xf86-video-trident-1.3.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-trident-1.3.6.tar.bz2;
-      sha256 = "0141qbfsm32i0pxjyx5czpa8x8m4lvapsp4amw1qigaa0gry6n3a";
+      url = mirror://xorg/individual/driver/xf86-video-trident-1.3.7.tar.bz2;
+      sha256 = "1bhkwic2acq9za4yz4bwj338cwv5mdrgr2qmgkhlj3bscbg1imgc";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
@@ -1765,11 +1795,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
 
   xf86videovmware = (mkDerivation "xf86videovmware" {
-    name = "xf86-video-vmware-13.0.2";
+    name = "xf86-video-vmware-13.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2;
-      sha256 = "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8";
+      url = mirror://xorg/individual/driver/xf86-video-vmware-13.1.0.tar.bz2;
+      sha256 = "1k50whwnkzxam2ihc1sw456dx0pvr76naycm4qhyjxqv9d72879w";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
@@ -1805,11 +1835,11 @@ let
   }) // {inherit ;};
 
   xfs = (mkDerivation "xfs" {
-    name = "xfs-1.1.3";
+    name = "xfs-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xfs-1.1.3.tar.bz2;
-      sha256 = "1dwnf5gncpnjsbh9bdrc665kfnclhzzcpwpfnprvrnq4mlr4mx3v";
+      url = mirror://xorg/individual/app/xfs-1.1.4.tar.bz2;
+      sha256 = "1ylz4r7adf567rnlbb52yi9x3qi4pyv954kkhm7ld4f0fkk7a2x4";
     };
     buildInputs = [pkgconfig libXfont xproto xtrans ];
   }) // {inherit libXfont xproto xtrans ;};
@@ -1845,11 +1875,11 @@ let
   }) // {inherit ;};
 
   xinit = (mkDerivation "xinit" {
-    name = "xinit-1.3.3";
+    name = "xinit-1.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xinit-1.3.3.tar.bz2;
-      sha256 = "1bq0mqy7y305g2rds1g5443f3d2kgxzafqhmiyabbmg3ws6qgckl";
+      url = mirror://xorg/individual/app/xinit-1.3.4.tar.bz2;
+      sha256 = "1cq2g469mb2cfgr8k57960yrn90bl33vfqri4pdh2zm0jxrqvn3m";
     };
     buildInputs = [pkgconfig libX11 xproto ];
   }) // {inherit libX11 xproto ;};
@@ -1865,11 +1895,11 @@ let
   }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;};
 
   xkbcomp = (mkDerivation "xkbcomp" {
-    name = "xkbcomp-1.2.4";
+    name = "xkbcomp-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2;
-      sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i";
+      url = mirror://xorg/individual/app/xkbcomp-1.3.0.tar.bz2;
+      sha256 = "0aibcbhhjlwcrxh943xg2dswwx5bz1x0pmhs28b55gzsg0vrgb6g";
     };
     buildInputs = [pkgconfig libX11 libxkbfile xproto ];
   }) // {inherit libX11 libxkbfile xproto ;};
@@ -1985,14 +2015,14 @@ let
   }) // {inherit ;};
 
   xorgserver = (mkDerivation "xorgserver" {
-    name = "xorg-server-1.14.7";
+    name = "xorg-server-1.16.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.14.7.tar.bz2;
-      sha256 = "07s54g9q1bry1050dsa7x6hy55yjvq9sxs6ks89pc8l6mnk6zxpw";
+      url = mirror://xorg/individual/xserver/xorg-server-1.16.4.tar.bz2;
+      sha256 = "0wf8xykcjhvpk9ppjcixvf60p6kkyrpmfj0z29d93a8kjb6f3dmb";
     };
-    buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ];
-  }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;};
+    buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ];
+  }) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;};
 
   # TODO:
   # With the current state of ./generate-expr-from-tarballs.pl,
@@ -2040,11 +2070,11 @@ let
   }) // {inherit libX11 xproto ;};
 
   xproto = (mkDerivation "xproto" {
-    name = "xproto-7.0.26";
+    name = "xproto-7.0.27";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2;
-      sha256 = "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3";
+      url = mirror://xorg/individual/proto/xproto-7.0.27.tar.bz2;
+      sha256 = "030ix881p0crnd4bc01nz6cs0afmfv6ivsyyhf0h1j1mnak26vr4";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
@@ -2100,11 +2130,11 @@ let
   }) // {inherit libX11 xbitmaps libXcursor libXmu ;};
 
   xtrans = (mkDerivation "xtrans" {
-    name = "xtrans-1.3.4";
+    name = "xtrans-1.3.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/xtrans-1.3.4.tar.bz2;
-      sha256 = "0fjq9xa37k1czkidj3c5sads51gibrjvrxz9ag3hh9fmxzilwk85";
+      url = mirror://xorg/individual/lib/xtrans-1.3.5.tar.bz2;
+      sha256 = "00c3ph17acnsch3gbdmx33b9ifjnl5w7vx8hrmic1r1cjcv3pgdd";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 84795ed980b..f0bf8bf7378 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,8 +1,9 @@
 http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
 http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.2.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2
diff --git a/pkgs/servers/x11/xorg/fix-clang.patch b/pkgs/servers/x11/xorg/fix-clang.patch
new file mode 100644
index 00000000000..6b51ebfe3d3
--- /dev/null
+++ b/pkgs/servers/x11/xorg/fix-clang.patch
@@ -0,0 +1,11 @@
+--- xorgserver/hw/xfree86/common/compiler.h	2014-10-29 23:43:33.000000000 -0700
++++ xorgserver/hw/xfree86/common/compiler.h.new	2014-10-29 23:47:30.000000000 -0700
+@@ -1352,7 +1352,7 @@
+ 
+ #if !defined(__SUNPRO_C)
+ #if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__)
+-#ifdef GCCUSESGAS
++#if defined(GCCUSESGAS) || defined(__clang__)
+ 
+ /*
+  * If gcc uses gas rather than the native assembler, the syntax of these
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 9c6618d3b10..7b2c20e05eb 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -36,6 +36,8 @@ $pcMap{"libudev"} = "udev";
 $pcMap{"gl"} = "mesa";
 $pcMap{"\$PIXMAN"} = "pixman";
 $pcMap{"\$RENDERPROTO"} = "renderproto";
+$pcMap{"\$DRI3PROTO"} = "dri3proto";
+$pcMap{"\$DRI2PROTO"} = "dri2proto";
 
 
 my $downloadCache = "./download-cache";
@@ -207,6 +209,7 @@ while (<>) {
     process \@requires, $1 while $file =~ /XDMCP_MODULES=\"(.*)\"/g;
     process \@requires, $1 while $file =~ /XORG_MODULES=\"(.*)\"/g;
     process \@requires, $1 while $file =~ /NEEDED=\"(.*)\"/g;
+    process \@requires, $1 while $file =~ /ivo_requires=\"(.*)\"/g;
     process \@requires, $1 while $file =~ /XORG_DRIVER_CHECK_EXT\([^,]*,([^\)]*)\)/g;
 
     push @requires, "libxslt" if $pkg =~ /libxcb/;
diff --git a/pkgs/servers/x11/xorg/imake.patch b/pkgs/servers/x11/xorg/imake.patch
index 0426e448215..1d0ec88761d 100644
--- a/pkgs/servers/x11/xorg/imake.patch
+++ b/pkgs/servers/x11/xorg/imake.patch
@@ -1,15 +1,15 @@
-diff -ru -x '*~' imake-1.0.3-orig/imake.c imake-1.0.3/imake.c
---- imake-1.0.3-orig/imake.c	2009-10-16 23:45:43.000000000 +0200
-+++ imake-1.0.3/imake.c	2010-07-19 12:17:12.000000000 +0200
-@@ -1035,6 +1035,7 @@
+diff -Naur imake-1.0.7-orig/imake.c imake-1.0.7/imake.c
+--- imake-1.0.7-orig/imake.c	2013-08-17 10:11:50.000000000 +0000
++++ imake-1.0.7/imake.c	2015-02-04 09:41:59.000000000 +0000
+@@ -1045,6 +1045,7 @@
  static void
  get_distrib(FILE *inFile)
  {
 +#if 0
    struct stat sb;
  
-   static char* suse = "/etc/SuSE-release";
-@@ -1080,6 +1081,7 @@
+   static const char*   suse = "/etc/SuSE-release";
+@@ -1090,6 +1091,7 @@
       * at the content of /etc/debian_version */
      return;
    }
@@ -17,21 +17,21 @@ diff -ru -x '*~' imake-1.0.3-orig/imake.c imake-1.0.3/imake.c
    /* what's the definitive way to tell what any particular distribution is? */
  
    fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxUnknown");
-@@ -1328,6 +1330,7 @@
+@@ -1337,6 +1339,7 @@
  static boolean
  get_gcc(char *cmd)
  {
 +#if 0
    struct stat sb;
-     static char* gcc_path[] = {
+     static const char* gcc_path[] = {
  #if defined(linux) || \
-@@ -1376,6 +1379,9 @@
+@@ -1385,6 +1388,9 @@
  	}
        }
      return FALSE;
 +#endif
-+    strcpy (cmd, "gcc");
++    strcpy (cmd, IMAKE_COMPILETIME_CPP);
 +    return TRUE;
  }
  
- #if defined CROSSCOMPILE || !defined __UNIXOS2__
+ #ifdef CROSSCOMPILE
diff --git a/pkgs/servers/x11/xorg/libxkbfile-clang36.patch b/pkgs/servers/x11/xorg/libxkbfile-clang36.patch
new file mode 100644
index 00000000000..65bf2ea7437
--- /dev/null
+++ b/pkgs/servers/x11/xorg/libxkbfile-clang36.patch
@@ -0,0 +1,11 @@
+--- libxkbfile-1.0.8/src/cout.c	2012-03-07 20:37:23.000000000 -0800
++++ libxkbfile-1.0.8/src/cout.c	2015-03-24 20:51:11.000000000 -0700
+@@ -45,7 +45,7 @@
+ {
+ register int i,nOut;
+ 
+-    if ((!xkb)||(!xkb->names)||(!xkb->names->vmods))
++    if ((!xkb)||(!xkb->names))
+ 	return False;
+     for (i=nOut=0;i<XkbNumVirtualMods;i++) {
+ 	if (xkb->names->vmods[i]!=None) {
diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list
index 19cf79ca796..92fed797d70 100644
--- a/pkgs/servers/x11/xorg/old.list
+++ b/pkgs/servers/x11/xorg/old.list
@@ -2,10 +2,10 @@ mirror://xorg/individual/app/twm-1.0.8.tar.bz2
 mirror://xorg/individual/app/xclock-1.0.7.tar.bz2
 mirror://xorg/individual/app/xdm-1.1.11.tar.bz2
 mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2
-mirror://xorg/individual/app/xfs-1.1.3.tar.bz2
-mirror://xorg/individual/app/xinit-1.3.3.tar.bz2
+mirror://xorg/individual/app/xfs-1.1.4.tar.bz2
+mirror://xorg/individual/app/xinit-1.3.4.tar.bz2
 mirror://xorg/individual/app/xmessage-1.0.4.tar.bz2
-mirror://xorg/individual/lib/libXp-1.0.2.tar.bz2
+mirror://xorg/individual/lib/libXp-1.0.3.tar.bz2
 mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2
 mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2
 mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 3a3978a0a67..27fed661d75 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -49,12 +49,27 @@ in
     inherit (xorg) xorgcffiles;
     x11BuildHook = ./imake.sh;
     patches = [./imake.patch];
+    setupHook = if stdenv.isDarwin then ./darwin-imake-setup-hook.sh else null;
+    CFLAGS = [ "-DIMAKE_COMPILETIME_CPP=\\\"${if stdenv.isDarwin
+      then "${args.tradcpp}/bin/cpp"
+      else "gcc"}\\\""
+    ];
+    tradcpp = if stdenv.isDarwin then args.tradcpp else null;
   };
 
   mkfontdir = attrs: attrs // {
     preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${xorg.mkfontscale}/bin";
   };
 
+  mkfontscale = attrs: attrs // {
+    patches = lib.singleton (args.fetchpatch {
+      name = "mkfontscale-fix-sig11.patch";
+      url = "https://bugs.freedesktop.org/attachment.cgi?id=113951";
+      sha256 = "0i2xf768mz8kvm7i514v0myna9m6jqw82f9a03idabdpamxvwnim";
+    });
+    patchFlags = [ "-p0" ];
+  };
+
   libxcb = attrs : attrs // {
     nativeBuildInputs = [ args.python ];
     configureFlags = "--enable-xkb";
@@ -65,18 +80,25 @@ in
     nativeBuildInputs = [ args.python ];
   };
 
+  libxkbfile = attrs: attrs // {
+    patches = lib.optional (stdenv.cc.cc.isClang or false) ./libxkbfile-clang36.patch;
+  };
+
   libpciaccess = attrs : attrs // {
     patches = [ ./libpciaccess-apple.patch ];
   };
 
   libX11 = attrs: attrs // {
     outputs = [ "dev" "out" "man" ];
-    preConfigure = setMalloc0ReturnsNullCrossCompiling;
+    preConfigure = setMalloc0ReturnsNullCrossCompiling + ''
+      sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
+    '';
     postInstall =
       ''
         # Remove useless DocBook XML files.
         rm -rf $out/share/doc
       '';
+    CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
   };
 
   libXau = attrs: attrs // {
@@ -105,8 +127,11 @@ in
   # Note: most of these are in Requires.private, so maybe builder.sh
   # should propagate them automatically.
   libXt = attrs: attrs // {
-    preConfigure = setMalloc0ReturnsNullCrossCompiling;
+    preConfigure = setMalloc0ReturnsNullCrossCompiling + ''
+      sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
+    '';
     propagatedBuildInputs = [ xorg.libSM ];
+    CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
   };
 
   # See https://bugs.freedesktop.org/show_bug.cgi?id=47792
@@ -201,9 +226,14 @@ in
     buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ];
   };
 
+  xcbutilcursor = attrs: attrs // {
+    meta.maintainers = [ stdenv.lib.maintainers.lovek323 ];
+  };
+
   xf86inputevdev = attrs: attrs // {
     preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
     installFlags = "sdkdir=\${out}/include/xorg";
+    buildInputs = attrs.buildInputs ++ [ args.mtdev args.libevdev ];
   };
 
   xf86inputmouse = attrs: attrs // {
@@ -214,8 +244,13 @@ in
     installFlags = "sdkdir=\${out}/include/xorg";
   };
 
+  xf86inputlibinput = attrs: attrs // {
+    buildInputs = attrs.buildInputs ++ [ args.libinput ];
+    installFlags = "sdkdir=\${out}/include/xorg";
+  };
+
   xf86inputsynaptics = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [args.mtdev];
+    buildInputs = attrs.buildInputs ++ [args.mtdev args.libevdev];
     installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d";
   };
 
@@ -225,6 +260,11 @@ in
       "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d"
       "--with-udev-rules-dir=$(out)/lib/udev/rules.d"
     ];
+    patches = [( args.fetchpatch {
+      url = "http://cgit.freedesktop.org/xorg/driver/xf86-input-vmmouse/patch/"
+        + "?id=1cbbc03c4b37d57760c57bd2e0b0f89d744a5795";
+      sha256 = "1qkhwj2yal0cz15lv9557d10ylvxlq05ibq43pm2rrvqdg3mb6h4";
+    })];
   };
 
   xf86videoati = attrs: attrs // {
@@ -255,7 +295,7 @@ in
   };
 
   xkbcomp = attrs: attrs // {
-    NIX_CFLAGS_COMPILE = "-DDFLT_XKB_CONFIG_ROOT=\".\"";
+    configureFlags = "--with-xkb-config-root=${xorg.xkeyboardconfig}/share/X11/xkb"; 
   };
 
   xkeyboardconfig = attrs: attrs // {
@@ -285,10 +325,11 @@ in
         dmxproto /*libdmx not used*/ xf86vidmodeproto
         recordproto libXext pixman libXfont
         damageproto xcmiscproto  bigreqsproto
-        libpciaccess inputproto xextproto randrproto renderproto
-        dri2proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
+        libpciaccess inputproto xextproto randrproto renderproto presentproto
+        dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
       ];
-      commonPatches = [ ./xorgserver-xkbcomp-path.patch ];
+      commonPatches = [ ./xorgserver-xkbcomp-path.patch ]
+                   ++ lib.optional isDarwin ./fix-clang.patch;
       # XQuartz requires two compilations: the first to get X / XQuartz,
       # and the second to get Xvfb, Xnest, etc.
       darwinOtherX = overrideDerivation xorgserver (oldAttrs: {
@@ -311,6 +352,7 @@ in
         ];
         patches = commonPatches;
         configureFlags = [
+          "--enable-kdrive"             # not built by default
           "--enable-xcsecurity"         # enable SECURITY extension
           "--with-default-font-path="   # there were only paths containing "${prefix}",
                                         # and there are no fonts in this package anyway
@@ -327,7 +369,7 @@ in
           url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2;
           sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8";
         };
-        buildInputs = commonBuildInputs;
+        buildInputs = commonBuildInputs ++ [ args.bootstrap_cmds ];
         propagatedBuildInputs = commonPropagatedBuildInputs ++ [
           libAppleWM applewmproto
         ];
@@ -391,6 +433,7 @@ in
 
   xinit = attrs: attrs // {
     stdenv = if isDarwin then args.clangStdenv else stdenv;
+    buildInputs = attrs.buildInputs ++ lib.optional isDarwin args.bootstrap_cmds;
     configureFlags = [
       "--with-xserver=${xorg.xorgserver}/bin/X"
     ] ++ lib.optionals isDarwin [
@@ -398,7 +441,8 @@ in
       "--with-launchdaemons-dir=\${out}/LaunchDaemons"
       "--with-launchagents-dir=\${out}/LaunchAgents"
     ];
-    propagatedBuildInputs = [ xorg.xauth ];
+    propagatedBuildInputs = [ xorg.xauth ]
+                         ++ lib.optionals isDarwin [ xorg.libX11 xorg.xproto ];
     prePatch = ''
       sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
     '';
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 1cc028e60d7..f02dd1e89f0 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -1,5 +1,5 @@
 mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2
-mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2
+mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2
@@ -41,34 +41,34 @@ mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.7/src/everything/fontsproto-2.1.2.tar.bz2
+mirror://xorg/individual/proto/fontsproto-2.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2
+mirror://xorg/individual/font/font-util-1.3.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2
 mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2
-mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2
+mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2
 mirror://xorg/individual/proto/inputproto-2.3.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2
 mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2
-mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2
+mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2
 mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2
 mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2
 mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
-mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2
+mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2
 mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
-mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2
+mirror://xorg/individual/lib/libX11-1.6.3.tar.bz2
 mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2
 mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2
 mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2
 mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2
 mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2
+mirror://xorg/individual/lib/libXdmcp-1.1.2.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2
-mirror://xorg/individual/lib/libXfont-1.4.8.tar.bz2
+mirror://xorg/individual/lib/libXfont-1.5.1.tar.bz2
 mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2
 mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
@@ -82,19 +82,19 @@ mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2
 mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2
 mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2
 mirror://xorg/individual/lib/libXv-1.0.10.tar.bz2
-mirror://xorg/individual/lib/libXvMC-1.0.8.tar.bz2
+mirror://xorg/individual/lib/libXvMC-1.0.9.tar.bz2
 mirror://xorg/individual/lib/libXxf86dga-1.1.4.tar.bz2
-mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2
+mirror://xorg/individual/lib/libXxf86vm-1.1.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2
 mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2
-mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2
-mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2
+mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2
+mirror://xorg/individual/proto/randrproto-1.4.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2
-mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2
+mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2
 mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2
@@ -115,18 +115,19 @@ mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
-mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2
+mirror://xorg/individual/driver/xf86-input-evdev-2.9.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-libinput-0.8.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2
-mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2
+mirror://xorg/individual/driver/xf86-input-synaptics-1.8.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-ati-7.4.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-ati-7.5.0.tar.bz2
 mirror://xorg/individual/driver/glamor-egl-0.6.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2
+mirror://xorg/individual/driver/xf86-video-nouveau-1.0.11.tar.bz2
 mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
@@ -134,11 +135,12 @@ mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2
 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2
-mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2
+mirror://xorg/individual/driver/xf86-video-i740-1.3.5.tar.bz2
+mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2
 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2
-mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2
+mirror://xorg/individual/driver/xf86-video-mga-1.6.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-qxl-0.1.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-qxl-0.1.3.tar.bz2
 mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2
@@ -149,12 +151,12 @@ mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-sis-0.10.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-tdfx-1.4.5.tar.bz2
+mirror://xorg/individual/driver/xf86-video-tdfx-1.4.6.tar.bz2
 mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-trident-1.3.6.tar.bz2
+mirror://xorg/individual/driver/xf86-video-trident-1.3.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2
-mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-vmware-13.1.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2
@@ -162,7 +164,7 @@ mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2
 mirror://xorg/individual/app/xhost-1.0.6.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
 mirror://xorg/individual/app/xinput-1.6.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2
+mirror://xorg/individual/app/xkbcomp-1.3.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2
 mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2
 mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2
@@ -171,17 +173,17 @@ mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2
 mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2
 mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.14.7.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.16.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
 mirror://xorg/individual/app/xprop-1.2.2.tar.bz2
-mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2
+mirror://xorg/individual/proto/xproto-7.0.27.tar.bz2
 mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2
 mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2
 mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2
 mirror://xorg/individual/app/xset-1.2.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2
-mirror://xorg/individual/lib/xtrans-1.3.4.tar.bz2
+mirror://xorg/individual/lib/xtrans-1.3.5.tar.bz2
 mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2
 mirror://xorg/individual/app/xwd-1.0.6.tar.bz2
 mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2
diff --git a/pkgs/servers/x11/xorg/unichrome/default.nix b/pkgs/servers/x11/xorg/unichrome/default.nix
index bc1ebf4eb43..b9cedfc4679 100644
--- a/pkgs/servers/x11/xorg/unichrome/default.nix
+++ b/pkgs/servers/x11/xorg/unichrome/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://unichrome.sourceforge.net/";
     description = "Xorg video driver for the S3 Unichrome family of integrated graphics devices";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
     broken = true;
diff --git a/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix b/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix
deleted file mode 100644
index bee394e9963..00000000000
--- a/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libdrm, udev, xorg }:
-
-with xorg;
-
-(stdenv.mkDerivation ({
-  name = "xf86-video-intel-2.99.912";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = mirror://xorg/individual/driver/xf86-video-intel-2.99.912.tar.bz2;
-    sha256 = "00cmvs5jxaqnl1pwqvj1rwir4kbvf5qfng89cjn4rwsr5m4zr3vw";
-  };
-  buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ];
-})) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ;}
-
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
new file mode 100644
index 00000000000..f43a9c67160
--- /dev/null
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -0,0 +1,41 @@
+
+{ stdenv, wayland, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper }:
+
+with stdenv.lib;
+
+overrideDerivation xorgserver (oldAttrs: {
+
+  name = "xwayland-${xorgserver.version}";
+  propagatedNativeBuildInputs = oldAttrs.propagatedNativeBuildInputs
+    ++ [wayland epoxy libxslt makeWrapper libunwind];
+  configureFlags = [
+    "--disable-docs"
+    "--disable-devel-docs"
+    "--enable-xwayland"
+    "--disable-xorg"
+    "--disable-xvfb"
+    "--disable-xnest"
+    "--disable-xquartz"
+    "--disable-xwin"
+    "--with-default-font-path="
+    "--with-xkb-bin-directory=${xkbcomp}/bin"
+    "--with-xkb-path=${xkeyboard_config}/etc/X11/xkb"
+    "--with-xkb-output=$out/share/X11/xkb/compiled"
+  ];
+
+  postInstall = ''
+    rm -fr $out/share/X11/xkb/compiled
+    ln -s /var/tmp $out/share/X11/xkb/compiled
+  '';
+
+}) // {
+  meta = {
+    description = "An X server for interfacing X11 apps with the Wayland protocol";
+    homepage = http://wayland.freedesktop.org/xserver.html;
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
+
+
+
diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
index 98fe2a51cc2..3e9e7cb779e 100644
--- a/pkgs/servers/x11/xquartz/default.nix
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, buildEnv, makeFontsConf, gnused, writeScript, xorg, bashInteractive, substituteAll, xterm, makeWrapper, ruby
 , openssl, quartz-wm, fontconfig, xkeyboard_config, xlsfonts, xfontsel
-, ttf_bitstream_vera, freefont_ttf, liberation_ttf
+, ttf_bitstream_vera, freefont_ttf, liberation_ttf_binary
 , shell ? "${bashInteractive}/bin/bash"
 }:
 
@@ -66,7 +66,7 @@ let
     xorg.fontbhlucidatypewriter75dpi
     ttf_bitstream_vera
     freefont_ttf
-    liberation_ttf
+    liberation_ttf_binary
     xorg.fontbh100dpi
     xorg.fontmiscmisc
     xorg.fontcursormisc
diff --git a/pkgs/servers/xinetd/default.nix b/pkgs/servers/xinetd/default.nix
index c841f8431de..34e67e171f4 100644
--- a/pkgs/servers/xinetd/default.nix
+++ b/pkgs/servers/xinetd/default.nix
@@ -12,6 +12,6 @@ stdenv.mkDerivation rec {
     description = "Secure replacement for inetd";
     platforms = stdenv.lib.platforms.linux;
     homepage = http://xinetd.org;
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 5868125c97f..3a77c5cd15c 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
   };
   buildInputs = [ expat erlang zlib openssl pam ];
   patchPhase = ''
-    sed -i -e "s|erl \\\|${erlang}/bin/erl \\\|" src/ejabberdctl.template
+    sed -i \
+      -e "s|erl \\\|${erlang}/bin/erl \\\|" \
+      -e 's|EXEC_CMD=\"sh -c\"|EXEC_CMD=\"${stdenv.shell} -c\"|' \
+      src/ejabberdctl.template
   '';
   preConfigure = ''
     cd src
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
new file mode 100644
index 00000000000..631073da4d4
--- /dev/null
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, libidn, openssl, makeWrapper, fetchhg
+, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop, luaevent ? null, luazlib ? null
+, withLibevent ? true, withZlib ? true }:
+
+assert withLibevent -> luaevent != null;
+assert withZlib -> luazlib != null;
+
+with stdenv.lib;
+
+let
+  libs        = [ luasocket luasec luaexpat luafilesystem luabitop ]
+                ++ optional withLibevent luaevent
+                ++ optional withZlib luazlib;
+  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     = concatStringsSep ";" (map getLuaPath  libs);
+  luaCPath    = concatStringsSep ";" (map getLuaCPath libs);
+in
+
+stdenv.mkDerivation rec {
+  version = "0.9.8";
+  name = "prosody-${version}";
+
+  src = fetchurl {
+    url = "http://prosody.im/downloads/source/${name}.tar.gz";
+    sha256 = "0wbq4ps69l09fjb5dfjzab6i30hzpi4bvyj5kc44gf70arf42w4l";
+  };
+
+  communityModules = fetchhg {
+    url = "http://prosody-modules.googlecode.com/hg/";
+    rev = "4b55110b0aa8";
+    sha256 = "0010x2rl9f9ihy2nwqan2jdlz25433srj2zna1xh10490mc28hij";
+  };
+
+  buildInputs = [ lua5 luasocket luasec luaexpat luabitop libidn openssl makeWrapper ]
+                ++ optional withLibevent luaevent
+                ++ optional withZlib luazlib;
+
+  configureFlags = [
+    "--ostype=linux"
+    "--with-lua-include=${lua5}/include"
+    "--with-lua=${lua5}"
+  ];
+
+  postInstall = ''
+      cp $communityModules/mod_websocket/mod_websocket.lua $out/lib/prosody/modules/
+      wrapProgram $out/bin/prosody \
+        --set LUA_PATH '"${luaPath};"' \
+        --set LUA_CPATH '"${luaCPath};"'
+      wrapProgram $out/bin/prosodyctl \
+        --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \
+        --set LUA_PATH '"${luaPath};"' \
+        --set LUA_CPATH '"${luaCPath};"'
+    '';
+
+  meta = {
+    description = "Open-source XMPP application server written in Lua";
+    license = licenses.mit;
+    homepage = http://www.prosody.im;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flosse ];
+  };
+}
diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix
index 307993a958a..307993a958a 100755..100644
--- a/pkgs/servers/zookeeper/default.nix
+++ b/pkgs/servers/zookeeper/default.nix
diff --git a/pkgs/shells/bash-completion/bash-4.3.patch b/pkgs/shells/bash-completion/bash-4.3.patch
new file mode 100644
index 00000000000..e893b501d31
--- /dev/null
+++ b/pkgs/shells/bash-completion/bash-4.3.patch
@@ -0,0 +1,22 @@
+commit a9c556ccad819869a6a5d932aac0a75a99372f08
+Author: Barry Warsaw <barry@python.org>
+Date:   Wed Sep 17 19:32:43 2014 +0300
+
+    _init_completion: Handle cword < 0 (LP: #1289597)
+    
+    Previously only bash 4.3 seemed to provoke this, but now with the
+    empty command consistency tweak it occurs with earlier as well.
+
+diff --git a/bash_completion b/bash_completion
+index 7e01ae4..3bb4bc2 100644
+--- a/bash_completion
++++ b/bash_completion
+@@ -727,7 +727,7 @@ _init_completion()
+         fi
+     done
+ 
+-    [[ $cword -eq 0 ]] && return 1
++    [[ $cword -le 0 ]] && return 1
+     prev=${words[cword-1]}
+ 
+     [[ ${split-} ]] && _split_longopt && split=true
diff --git a/pkgs/shells/bash-completion/default.nix b/pkgs/shells/bash-completion/default.nix
index a189ed29d8c..39f7073fcbb 100644
--- a/pkgs/shells/bash-completion/default.nix
+++ b/pkgs/shells/bash-completion/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b";
   };
 
+  patches = [ ./bash-4.3.patch ];
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/shells/bash/bash-4.2-patches.nix b/pkgs/shells/bash/bash-4.2-patches.nix
deleted file mode 100644
index 567ec3c551c..00000000000
--- a/pkgs/shells/bash/bash-4.2-patches.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-# Automatically generated by `update-patch-set.sh'; do not edit.
-
-patch: [
-(patch "001" "0yml2b6yarrr0dzv7h45lz4126i228hvqbqacqzg4jkcawla0v4d")
-(patch "002" "1yffzfxryvqns513yv3r46slkysa3nbqv40442xfxb4rw4kwkfpy")
-(patch "003" "1kdl9hcpf1m7gz0ja3mvin3syprl2kmbxc3wm27391wc04apq2js")
-(patch "004" "1ha0453cjqdgkns2xkdgpd2izj5b6xlsc9a2w5b3sn6j63wb0d2f")
-(patch "005" "182r2iyk27l28b8kyppfavvzxhax6vn5n1zyy3yirf0463klj5x8")
-(patch "006" "1labcciavnfmn0alncz1x92ydrsriikcimw24rwzmnidbaa4h4f9")
-(patch "007" "15byzdqvavc3zg2lbzzdwpdy43kzdnvmr89nya211pa3yjn2cn20")
-(patch "008" "0dr4p83m2xpxhvd61yny0gdlasq6r9mpyiz220998y0alq8hs213")
-(patch "009" "086b9jkyjgf2zhwln72d7s5x759iskgg3r4hdrw6b5y1ni059vg7")
-(patch "010" "1p23m9kssdmpnjfp96bjmmshzf25cdzlyjygdw8j6sayqa159z5c")
-(patch "011" "0chm4r6zv2kafq1g8xs7r0gixmw9h9r63rgd38rdgfvyk8ssx4d4")
-(patch "012" "1f5pp64rv4mx3r34577pmb15pyxvhmdhmliccnwz20nssbqk6i1m")
-(patch "013" "1sl5rxl3kz39xbnbaf0085jcx0l19l2yqjk0ja2wirmwrg3ca4il")
-(patch "014" "0cwb5ilgx1gcbvnfk93pcpyhvq5wzasyvyllbxrk51c517k7i9mm")
-(patch "015" "164afkc75534x1ad1h6qkl511k2cpirqs2kyx1jddwxx0j1nm1rd")
-(patch "016" "19p20g7h7563m79vvy0adkpzlaxg192affzsm1rxm67wyyycr598")
-(patch "017" "0zzfva20hxfrj5njd321pcjfydiv0kzcqryxfdh1sxlc95228mbk")
-(patch "018" "0ka9pfnjmdak8lvmbryv2r1kkrlffnxbqjxq656la39pf9qlbag2")
-(patch "019" "0mpb0whacppwcdx7pcnf0ah5vjvkw14ang6r2rh9fmkn401cvdx8")
-(patch "020" "0vrwv9wpbr692kf427npmsxzvn007d9alk6jf99v7307s3q76is9")
-(patch "021" "1p5s6apnnbmx4yf1kzndw7fiwvdxamkcgqiv937mwmr6w9xsk1x8")
-(patch "022" "0sswp2c63pclvdwi2hbkwbqf9ysmiw6mmi0qinl2pkgqyyfzdkcx")
-(patch "023" "1gzhcmwj0741libjqwln4r4h9k7lskprc4q87hvqgj56y6a17hax")
-(patch "024" "1rlrdfk67g8as6pr076ldhjhnkd2c86mb4ci18fjivivsfyjdj4r")
-(patch "025" "05am4w789v630x0a6a9wrxhvrjvs73fjn68i55qdand5sxpn9c0d")
-(patch "026" "1li3sd3hpdxhh257hdwzzn2g18m4ksflx6crqswv9qxwmgx0rsg7")
-(patch "027" "0hpdywvny6vihls2qqlwwxkvps7q710vp6szq117zhgwarr6n7qc")
-(patch "028" "0ypdn590h5f8y7kvk2sk93vcjbh5vrcwsaasvprsm0ds77g2chi0")
-(patch "029" "10gm73rvfhr42v7i70qqc56wl8l459i2frs6ifrcsnmw2w48rc6h")
-(patch "030" "1bmg8iz95jijxp89czwaw9msppgj220233nbrn66s4qsb5k46n8j")
-(patch "031" "1yfrz093hghhlrj8na48dzc8v6ax34mj5i0h6l3bnpvp6i6qrwsm")
-(patch "032" "1vci8xh1r8f59j6d95iljw9i555jm1fm2lssm1ycprdivdivba73")
-(patch "033" "0js38r5gmlyz70zjfw0m2j08h26c3vma2vy8gbsb5pwzss82glgm")
-(patch "034" "1f213qpvqnv2bm79a01r44xjlwk65483cxvw6kgwx28k20rg7h81")
-(patch "035" "1pvqxpm7m1y7ab5srq3s7r095z34nbcr62gz6nb89d1qn1iy9kff")
-(patch "036" "1yma0m9wrk6a15x36libb8a0cz7gmzihv6lvmrrd5i1ar4dklagy")
-(patch "037" "0x0niqv7zwqvz4l8n9nivhk0g0036jh5h3vlkil3095vsgfqqmy7")
-(patch "038" "0mvdpsxxs4bn5zvsm04yfsplhcrv6y0avpwilj5yasr0vwdsijdq")
-(patch "039" "148pkj5s73ym0jhpr8d3z5vfily4chm0am4yms4506ijc0531ygl")
-(patch "040" "0v5a98ybibwsd4iyh18gy0kc51mx8qn9w2wfpjaiycn7yg5gjrdj")
-(patch "041" "1szmm8xv41hvbzgxfwrj6dg85wa7zy3781nnil428rlzpm8ikk05")
-(patch "042" "017kpdqy6v9sgi2a931wyzpix86n9mkalpm6n9cb45v58lgmraps")
-(patch "043" "0mswgjk3z80qm1mb93jmbql27nbczxk86cw5byf0m29y1y2869nw")
-(patch "044" "1rk6jywzfvg1crvhib1zk37rsps73minhr7l4vcb3vfdkin2vlqh")
-(patch "045" "0vcqn9rb26bahhrarbwhpa0ny0nrf4vyrzh97d44lfcxypqfzdyx")
-(patch "046" "0vc1ngkxkamwr022ww3vjp9ww9c647az4pjn175c1v60d0xk5hcm")
-(patch "047" "0ymgimqz65sx2izg1dvm1h5cc01arl3j9j5137212l1ls00r55y1")
-]
diff --git a/pkgs/shells/bash/bash-4.3-patches.nix b/pkgs/shells/bash/bash-4.3-patches.nix
new file mode 100644
index 00000000000..49360bd9a02
--- /dev/null
+++ b/pkgs/shells/bash/bash-4.3-patches.nix
@@ -0,0 +1,37 @@
+# Automatically generated by `update-patch-set.sh'; do not edit.
+
+patch: [
+(patch "001" "0hip2n2s5hws8p4nfcz37379zn6cak83ljsm64z52rw6ckrdzczc")
+(patch "002" "0ashj5d1g3zbyr7zf0r72s5wnk96cz1xj919y3jajadbc9qcvrzf")
+(patch "003" "0z88q4daq7dmw93iqd9c5i5d1sndklih3nrh0v75746da2n6w3h0")
+(patch "004" "0f0kh9j5k4ym6knshscx31przm50x5cc7ifkwqk0swh6clna982y")
+(patch "005" "1ym3b8b7lgmdp3dklp8qaqhyq965wd5392namq8mz7rb0d231j0s")
+(patch "006" "04q20igq49py49ynb0f83f6f52cdkyqwd9bpic6akr0m5pkqwr50")
+(patch "007" "18zkz23d9myshrwfcwcdjk7qmkqp8az5n91ni9jaixlwqlhy64qi")
+(patch "008" "0pprcwvh7ngdli0x95pc1cpssg4qg7layi9xrv2jq6c7965ajhcr")
+(patch "009" "19a0pf0alp30d1bjj0zf3zq2f5n0s6y91w7brm9jyswl51kns8n0")
+(patch "010" "1dzhr5ammyijisz48cqi5vaw26hfr5vh9smnqxq4qc9p06f7j1ff")
+(patch "011" "0fvzdzzi142a8rf3v965r6gbpn0k7fv2gif1yq8a4160vcn40qvw")
+(patch "012" "04lcgfcyz7p3zagb4hkia3hkpd7lii9m8ycy9qqwzyrm1c1pj4ry")
+(patch "013" "0y9cqi378z6flapkd5k5lfl4lq3ivzg4njj3i3wmw7xb6r9wma5z")
+(patch "014" "04xcb0k9fxxq4vashgzb98567xzdnm4655nlm4jvfvjv6si6ykas")
+(patch "015" "13ay6lldy1p00xj41nfjpq8lai3vw2qwca79gx6s80z04j53wa8k")
+(patch "016" "0wq7bvx3pfw90pnfb86yg5nr9jgjsvm2nq5rrkqxf6zn977hpmlj")
+(patch "017" "103p7sibihv6cshqj12k546zsbz0dnd5cv5vlx1719avddfc4rqj")
+(patch "018" "0n1x3812y1brb9xbabaj3fvr4cpvm2225iwckmqk2fcpkq5b9a3s")
+(patch "019" "08rd1p7zpzgbpmmmnj2im8wj2pcwmbbx51psr9vdc5c049si9ad7")
+(patch "020" "163c6g05qpag2plx5q795pmw3f3m904jy7z93xj2i08pgzc8cpna")
+(patch "021" "1a90cl3h10dh8k9f2ddrsjmw5ywaw2d5x78xb4fd2sryi039yhs1")
+(patch "022" "120s0s4qcqd0q12j1iv0hkpf9fp3w5jnqw646kv66n66jnxlfkgx")
+(patch "023" "1m00sfi88p2akgiyrg4hw0gvz3s1586pkzjdr3dm73vs773m1hls")
+(patch "024" "0v0gjqzjsqjfgj5x17fq7g649k94jn8zq92qsxkhc2d6l215hl1v")
+(patch "025" "0lcj96i659q35f1jcmwwbnw3p7w7vvlxjxqi989vn6d6qksqcl8y")
+(patch "026" "0k919ir0inwn4wai2vdzpbwqq5h54fnrlkmgccxjg91v3ch15k1f")
+(patch "027" "1gnsfvq6bhb3srlbh0cannj2hackdsipcg7z0ds7zlk1hp96mdqy")
+(patch "028" "17a65c4fn4c5rgsiw9gqqnzhznh3gwnd2xzzv2dppyi48znxpc78")
+(patch "029" "14k27p28r5l2fz3r03kd0x72vvsq8bja8c6hjz5kxikbzsbs7i2c")
+(patch "030" "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5")
+(patch "031" "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd")
+(patch "032" "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8")
+(patch "033" "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv")
+]
diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix
index 2c545ae1c33..080cbcec1e5 100644
--- a/pkgs/shells/bash/default.nix
+++ b/pkgs/shells/bash/default.nix
@@ -3,7 +3,7 @@
 assert interactive -> readline != null;
 
 let
-  realName = "bash-4.2";
+  realName = "bash-4.3";
   baseConfigureFlags = if interactive then "--with-installed-readline" else "--disable-readline";
 in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/bash/${realName}.tar.gz";
-    sha256 = "a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8";
+    sha256 = "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg";
   };
 
   NIX_CFLAGS_COMPILE = ''
@@ -27,14 +27,14 @@ stdenv.mkDerivation rec {
   patchFlags = "-p0";
 
   patches =
-    let
+    (let
       patch = nr: sha256:
         fetchurl {
-          url = "mirror://gnu/bash/bash-4.2-patches/bash42-${nr}";
+          url = "mirror://gnu/bash/bash-4.3-patches/bash43-${nr}";
           inherit sha256;
         };
     in
-      import ./bash-4.2-patches.nix patch;
+      import ./bash-4.3-patches.nix patch);
 
   crossAttrs = {
     configureFlags = baseConfigureFlags +
@@ -80,6 +80,8 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl3Plus;
 
+    platforms = stdenv.lib.platforms.all;
+
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 
diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix
index a66ab994c81..d3104439e57 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.7";
+  name = "dash-0.5.8";
 
   src = fetchurl {
     url = "http://gondor.apana.org.au/~herbert/dash/files/${name}.tar.gz";
-    sha256 = "0fafpbpq6jghs0fr392x525dybym9kq1s3kly2679ds526gzm2df";
+    sha256 = "03y6z8akj72swa6f42h2dhq3p09xasbi6xia70h2vc27fwikmny6";
   };
 
   meta = {
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index adfe44b3bac..d7d69c00c5f 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, ncurses, python, which, groff, gettext, man_db, bc }:
+{ stdenv, fetchurl, ncurses, python, which, groff, gettext, man_db, bc, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "fish-${version}";
-  version = "2.1.0";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "http://fishshell.com/files/${version}/${name}.tar.gz";
-    sha256 = "0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg";
+    sha256 = "1pgnz5lapm4qk48a13k9698jaswybzlbz2nyc621d852ldf0vhn6";
   };
 
-  buildInputs = [ ncurses ];
+  buildInputs = [ ncurses libiconv ];
 
   # Required binaries during execution
   # Python: Autocompletion generated from manpages and config editing
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Smart and user-friendly command line shell";
     homepage = "http://fishshell.com/";
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ ocharles ];
   };
 }
diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix
index 990eb174baf..09b2d30ea7c 100644
--- a/pkgs/shells/ipython/default.nix
+++ b/pkgs/shells/ipython/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, buildPythonPackage, pythonPackages, pyqt4 ? null, sip ? null
+{ stdenv, fetchurl, buildPythonPackage, pythonPackages, pyqt4 ? null
 , notebookSupport ? true   # ipython notebook
 , qtconsoleSupport ? true  # ipython qtconsole
 , pylabSupport ? true      # ipython --pylab    (backend: agg - no gui, just file)
@@ -10,15 +10,15 @@
 # pyqt4 for both.
 
 assert qtconsoleSupport == true -> pyqt4 != null;
-assert pylabQtSupport == true -> pyqt4 != null && sip != null;
+assert pylabQtSupport == true -> pyqt4 != null;
 
 buildPythonPackage rec {
-  name = "ipython-2.2.0";
+  name = "ipython-2.3.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz";
-    sha256 = "1qk44lmir24gnwb3gxh0mqcghc8ln1i5ygxpalh06bx0ajx7gjmp";
+    sha256 = "1764gi5m3ff481rjk336cw6i2h4zlc0nxam9rc5m8m7yl9m4d61y";
   };
 
   propagatedBuildInputs = [
@@ -37,7 +37,6 @@ buildPythonPackage rec {
   ] ++ stdenv.lib.optionals pylabQtSupport [
     pythonPackages.matplotlib
     pyqt4
-    sip
   ];
 
   doCheck = false;
@@ -45,7 +44,7 @@ buildPythonPackage rec {
   meta = {
     homepage = http://ipython.scipy.org/;
     description = "An interactive computing environment for Python";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     longDescription = ''
       The goal of IPython is to create a comprehensive environment
       for interactive and exploratory computing. It consists of an
diff --git a/pkgs/shells/mksh/default.nix b/pkgs/shells/mksh/default.nix
new file mode 100644
index 00000000000..da797005be4
--- /dev/null
+++ b/pkgs/shells/mksh/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, groff }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  name = "mksh-${version}";
+  version = "R50d";
+
+  src = fetchurl {
+    urls = [
+      "http://www.mirbsd.org/MirOS/dist/mir/mksh/${name}.tgz"
+      "http://pub.allbsd.org/MirOS/dist/mir/mksh/${name}.tgz"
+    ];
+    sha256 = "10prcdffwziksq9sw96c1r09h4kg2zwznybrggzmjfa6l4k8h9m2";
+  };
+
+  buildInputs = [ groff ];
+
+  buildPhase = ''
+    mkdir build-dir/
+    cp mksh.1 dot.mkshrc build-dir/
+    cd build-dir/
+    sh ../Build.sh -c lto
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1 $out/share/mksh $out/bin
+    install -D -m 755 mksh $out/bin/mksh
+    install -D -m 644 mksh.1 $out/share/man/man1/mksh.1
+    install -D -m 644 mksh.cat1 $out/share/mksh/mksh.cat1
+    install -D -m 644 dot.mkshrc $out/share/mksh/mkshrc
+  '';
+
+  meta = {
+    description = "MirBSD Korn Shell";
+    longDescription = ''
+      The MirBSD Korn Shell is a DFSG-free and OSD-compliant (and OSI
+      approved) successor to pdksh, developed as part of the MirOS
+      Project as native Bourne/POSIX/Korn shell for MirOS BSD, but
+      also to be readily available under other UNIX(R)-like operating
+      systems.
+    '';
+    homepage = "https://www.mirbsd.org/mksh.htm";
+    licenses = "custom";
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
new file mode 100644
index 00000000000..3849c96ec13
--- /dev/null
+++ b/pkgs/shells/xonsh/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, python3Packages}:
+
+python3Packages.buildPythonPackage rec {
+  name = "xonsh-${version}";
+  version = "0.1.3";
+
+  # The logo xonsh prints during build contains unicode characters, and this
+  # fails because locales have not been set up in the build environment.
+  # We can fix this on Linux by setting:
+  #    export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+  # but this would not be a cross platform solution, so it's simpler to just
+  # patch the setup.py script to not print the logo during build.
+  prePatch = ''
+    substituteInPlace setup.py --replace "print(logo)" ""
+  '';
+
+  propagatedBuildInputs = [ python3Packages.ply ];
+
+  src = fetchurl {
+    url = "https://github.com/scopatz/xonsh/archive/${version}.zip";
+    sha256 = "0p2d7p892w77ii8yy51vpw7jlz2y53k8g61m7l8bar3hr3qrl306";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A Python-ish, BASHwards-compatible shell";
+    homepage = "http://xonsh.org";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index d187c50f251..9887e8f1b6f 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, ncurses, coreutils }:
+{ stdenv, fetchurl, ncurses, coreutils, pcre }:
 
 let
 
-  version = "5.0.5";
+  version = "5.0.7";
 
   documentation = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.bz2";
-    sha256 = "1wljqii2lkz5kc4y3xs65isnahvnlj678b9zv31bn444mapjpwp4";
+    sha256 = "1wgw16r7z6k3mbr94mwfc8f13yc4ds2d9qk41hvsiv6rm5dnds23";
   };
 
 in
@@ -16,13 +16,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}.tar.bz2";
-    sha256 = "1bwfz9n850pclzmzrb437icfhzv1s5pgh2dhs92f194gdkxx4936";
+    sha256 = "1cq4cz7ngvmbg399dva3g6njcz5d92gprmyi2swqc0klh7g2fkjl";
   };
 
-  buildInputs = [ ncurses coreutils ];
+  buildInputs = [ ncurses coreutils pcre ];
 
   preConfigure = ''
-    configureFlags="--enable-maildir-support --enable-multibyte --enable-zprofile=$out/etc/zprofile --with-tcsetpgrp"
+    configureFlags="--enable-maildir-support --enable-multibyte --enable-zprofile=$out/etc/zprofile --with-tcsetpgrp --enable-pcre"
   '';
 
   # XXX: think/discuss about this, also with respect to nixos vs nix-on-X
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 09c92b552d4..81231fdf97a 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -8,14 +8,14 @@ rec {
 
 
   # Override the compiler in stdenv for specific packages.
-  overrideGCC = stdenv: gcc: stdenv.override { inherit gcc; };
+  overrideCC = stdenv: cc: stdenv.override { allowedRequisites = null; cc = cc; };
 
 
   # Add some arbitrary packages to buildInputs for specific packages.
   # Used to override packages in stdenv like Make.  Should not be used
   # for other dependencies.
   overrideInStdenv = stdenv: pkgs:
-    stdenv.override (prev: { extraBuildInputs = prev.extraBuildInputs or [] ++ pkgs; });
+    stdenv.override (prev: { allowedRequisites = null; extraBuildInputs = prev.extraBuildInputs or [] ++ pkgs; });
 
 
   # Override the setup script of stdenv.  Useful for testing new
@@ -29,63 +29,6 @@ rec {
   overrideSetup = stdenv: setupScript: stdenv.override { inherit setupScript; };
 
 
-  # Return a modified stdenv that uses dietlibc to create small
-  # statically linked binaries.
-  useDietLibC = stdenv: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // {
-        NIX_CFLAGS_LINK = "-static";
-
-        # libcompat.a contains some commonly used functions.
-        NIX_LDFLAGS = "-lcompat";
-
-        # These are added *after* the command-line flags, so we'll
-        # always optimise for size.
-        NIX_CFLAGS_COMPILE =
-          args.NIX_CFLAGS_COMPILE or ""
-          + " -Os -s -D_BSD_SOURCE=1";
-
-        configureFlags =
-          args.configureFlags or ""
-          + " --disable-shared"; # brrr...
-
-        NIX_GCC = import ../build-support/gcc-wrapper {
-          inherit stdenv;
-          libc = pkgs.dietlibc;
-          inherit (stdenv.gcc) gcc binutils nativeTools nativePrefix;
-          nativeLibc = false;
-        };
-      });
-      isDietLibC = true;
-    };
-
-
-  # Return a modified stdenv that uses klibc to create small
-  # statically linked binaries.
-  useKlibc = stdenv: klibc: stdenv //
-    { mkDerivation = args: stdenv.mkDerivation (args // {
-        NIX_CFLAGS_LINK = "-static";
-
-        # These are added *after* the command-line flags, so we'll
-        # always optimise for size.
-        NIX_CFLAGS_COMPILE =
-          args.NIX_CFLAGS_COMPILE or "" + " -Os -s";
-
-        configureFlags =
-          args.configureFlags or "" + " --disable-shared"; # brrr...
-
-        NIX_GCC = pkgs.runCommand "klibc-wrapper" {} ''
-          mkdir -p $out/bin
-          ln -s ${klibc}/bin/klcc $out/bin/gcc
-          ln -s ${klibc}/bin/klcc $out/bin/cc
-          mkdir -p $out/nix-support
-          echo 'PATH=$PATH:${stdenv.gcc.binutils}/bin' > $out/nix-support/setup-hook
-        '';
-      });
-      isKlibc = true;
-      isStatic = true;
-    };
-
-
   # Return a modified stdenv that tries to build statically linked
   # binaries.
   makeStaticBinaries = stdenv: stdenv //
@@ -171,6 +114,7 @@ rec {
         };
     } // {
       inherit cross gccCross binutilsCross;
+      ccCross = gccCross;
     };
 
 
@@ -285,18 +229,16 @@ rec {
     };
 
 
-  /* Modify a stdenv so that it uses the Gold linker. FIXME: should
-     use -fuse-ld=gold instead, but then the ld-wrapper won't be
-     invoked. */
-  useGoldLinker = stdenv:
-    let
-      binutils = stdenv.gcc.binutils;
-      binutils' = pkgs.runCommand "${binutils.name}-gold" { }
-        ''
-          mkdir -p $out/bin
-          ln -s ${binutils}/bin/* $out/bin/
-          ln -sfn ${binutils}/bin/ld.gold $out/bin/ld
-        ''; # */
-    in overrideGCC stdenv (stdenv.gcc.override { binutils = binutils'; });
+  /* Modify a stdenv so that it uses the Gold linker. */
+  useGoldLinker = stdenv: stdenv //
+    { mkDerivation = args: stdenv.mkDerivation (args // {
+        NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_COMPILE or "") + " -fuse-ld=gold";
+      });
+    };
 
+  dropCxx = drv: drv.override {
+    stdenv = if pkgs.stdenv.isDarwin
+      then pkgs.allStdenvs.stdenvDarwinNaked
+      else pkgs.stdenv;
+  };
 }
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
new file mode 100644
index 00000000000..f06170b5cb1
--- /dev/null
+++ b/pkgs/stdenv/darwin/default.nix
@@ -0,0 +1,145 @@
+{ system      ? builtins.currentSystem
+, allPackages ? import ../../top-level/all-packages.nix
+, platform    ? null
+, config      ? {}
+}:
+
+rec {
+  allPackages = import ../../top-level/all-packages.nix;
+
+  bootstrapTools = derivation {
+    inherit system;
+
+    name    = "trivial-bootstrap-tools";
+    builder = "/bin/sh";
+    args    = [ ./trivial-bootstrap.sh ];
+
+    mkdir   = "/bin/mkdir";
+    ln      = "/bin/ln";
+  };
+
+  # The simplest stdenv possible to run fetchadc and get the Apple command-line tools
+  stage0 = rec {
+    fetchurl = import ../../build-support/fetchurl {
+      inherit stdenv;
+      curl = bootstrapTools;
+    };
+
+    stdenv = import ../generic {
+      inherit system config;
+      name         = "stdenv-darwin-boot-0";
+      shell        = "/bin/bash";
+      initialPath  = [ bootstrapTools ];
+      fetchurlBoot = fetchurl;
+      cc           = "/no-such-path";
+    };
+  };
+
+  buildTools = import ../../os-specific/darwin/command-line-tools {
+    inherit (stage0) stdenv fetchurl;
+    xar  = bootstrapTools;
+    gzip = bootstrapTools;
+    cpio = bootstrapTools;
+  };
+
+  preHook = ''
+    export NIX_IGNORE_LD_THROUGH_GCC=1
+    export NIX_DONT_SET_RPATH=1
+    export NIX_NO_SELF_RPATH=1
+    dontFixLibtool=1
+    stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
+    xargsFlags=" "
+    export MACOSX_DEPLOYMENT_TARGET=10.7
+    # Use the 10.9 SDK if we're running on 10.9, and 10.10 if we're
+    # running on 10.10. We need to use the 10.10 headers for functions
+    # like readlinkat() that are dynamically detected by configure
+    # scripts. Very impure, obviously.
+    export SDKROOT=$(/usr/bin/xcrun --sdk macosx"$(/usr/bin/sw_vers -productVersion | /usr/bin/cut -d. -f1,2)" --show-sdk-path 2> /dev/null || echo /)
+    export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty -idirafter $SDKROOT/usr/include -F$SDKROOT/System/Library/Frameworks -Wno-multichar -Wno-deprecated-declarations"
+    export NIX_LDFLAGS_AFTER+=" -L$SDKROOT/usr/lib"
+    export CMAKE_OSX_ARCHITECTURES=x86_64
+  '';
+
+  # A stdenv that wraps the Apple command-line tools and our other trivial symlinked bootstrap tools
+  stage1 = rec {
+    nativePrefix = "${buildTools.tools}/Library/Developer/CommandLineTools/usr";
+
+    stdenv = import ../generic {
+      name = "stdenv-darwin-boot-1";
+
+      inherit system config;
+      inherit (stage0.stdenv) shell fetchurlBoot;
+
+      initialPath = stage0.stdenv.initialPath ++ [ nativePrefix ];
+
+      preHook = preHook + "\n" + ''
+        export NIX_LDFLAGS_AFTER+=" -L/usr/lib"
+        export NIX_ENFORCE_PURITY=
+        export NIX_CFLAGS_COMPILE+=" -isystem ${nativePrefix}/include/c++/v1 -stdlib=libc++"
+        export NIX_CFLAGS_LINK+=" -stdlib=libc++ -Wl,-rpath,${nativePrefix}/lib"
+      '';
+
+      cc = import ../../build-support/cc-wrapper {
+        nativeTools  = true;
+        nativePrefix = nativePrefix;
+        nativeLibc   = true;
+        stdenv       = stage0.stdenv;
+        shell        = "/bin/bash";
+        cc           = {
+          name    = "clang-9.9.9";
+          cc      = "/usr";
+          outPath = nativePrefix;
+        };
+      };
+    };
+    pkgs = allPackages {
+      inherit system platform;
+      bootStdenv = stdenv;
+    };
+  };
+
+  stage2 = rec {
+    stdenv = import ../generic {
+      name = "stdenv-darwin-boot-2";
+
+      inherit system config;
+      inherit (stage1.stdenv) shell fetchurlBoot preHook cc;
+
+      initialPath = [ stage1.pkgs.xz ] ++ stage1.stdenv.initialPath;
+    };
+    pkgs = allPackages {
+      inherit system platform;
+      bootStdenv = stdenv;
+    };
+  };
+
+  # Use stage1 to build a whole set of actual tools so we don't have to rely on the Apple prebuilt ones or
+  # the ugly symlinked bootstrap tools anymore.
+  stage3 = with stage2; import ../generic {
+    name = "stdenv-darwin-boot-3";
+
+    inherit system config;
+    inherit (stdenv) fetchurlBoot;
+
+    initialPath = (import ../common-path.nix) { inherit pkgs; };
+
+    preHook = preHook + "\n" + ''
+      export NIX_ENFORCE_PURITY=1
+    '';
+
+    cc = import ../../build-support/cc-wrapper {
+      inherit stdenv;
+      nativeTools  = false;
+      nativeLibc   = true;
+      binutils  = pkgs.darwin.cctools;
+      cc        = pkgs.llvmPackages.clang-unwrapped;
+      coreutils = pkgs.coreutils;
+      shell     = "${pkgs.bash}/bin/bash";
+      extraPackages = [ pkgs.libcxx ];
+    };
+
+    shell = "${pkgs.bash}/bin/bash";
+  };
+
+  stdenvDarwin = stage3;
+}
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
new file mode 100644
index 00000000000..636410fdd78
--- /dev/null
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -0,0 +1,284 @@
+{system ? builtins.currentSystem}:
+
+with import ../../top-level/all-packages.nix {inherit system;};
+
+rec {
+  # We want coreutils without ACL support.
+  coreutils_ = coreutils.override (orig: {
+    aclSupport = false;
+  });
+
+  build = stdenv.mkDerivation {
+    name = "build";
+
+    buildInputs = [nukeReferences cpio];
+
+    buildCommand = ''
+      mkdir -p $out/bin $out/lib
+
+      # Our (fake) loader
+      cp -d ${darwin.dyld}/lib/dyld $out/lib/
+
+      # C standard library stuff
+      cp -d ${darwin.Libsystem}/lib/*.o $out/lib/
+      cp -d ${darwin.Libsystem}/lib/*.dylib $out/lib/
+      cp -d ${darwin.Libsystem}/lib/system/*.dylib $out/lib/
+
+      # Resolv is actually a link to another package, so let's copy it properly
+      rm $out/lib/libresolv.9.dylib
+      cp -L ${darwin.Libsystem}/lib/libresolv.9.dylib $out/lib
+
+      cp -rL ${darwin.Libsystem}/include $out
+      chmod -R u+w $out/include
+      cp -rL ${icu}/include*             $out/include
+      cp -rL ${libiconv}/include/*       $out/include
+      cp -rL ${gnugrep.pcre}/include/*   $out/include
+      mv $out/include $out/include-Libsystem
+
+      # Copy coreutils, bash, etc.
+      cp ${coreutils_}/bin/* $out/bin
+      (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users)
+
+      cp ${bash}/bin/bash $out/bin
+      cp ${findutils}/bin/find $out/bin
+      cp ${findutils}/bin/xargs $out/bin
+      cp -d ${diffutils}/bin/* $out/bin
+      cp -d ${gnused}/bin/* $out/bin
+      cp -d ${gnugrep}/bin/grep $out/bin
+      cp ${gawk}/bin/gawk $out/bin
+      cp -d ${gawk}/bin/awk $out/bin
+      cp ${gnutar}/bin/tar $out/bin
+      cp ${gzip}/bin/gzip $out/bin
+      cp ${bzip2}/bin/bzip2 $out/bin
+      cp -d ${gnumake}/bin/* $out/bin
+      cp -d ${patch}/bin/* $out/bin
+      cp -d ${xz}/bin/xz $out/bin
+
+      # This used to be in-nixpkgs, but now is in the bundle
+      # because I can't be bothered to make it partially static
+      cp ${curl}/bin/curl $out/bin
+      cp -d ${curl}/lib/libcurl*.dylib $out/lib
+      cp -d ${libssh2}/lib/libssh*.dylib $out/lib
+      cp -d ${openssl}/lib/*.dylib $out/lib
+
+      cp -d ${gnugrep.pcre}/lib/libpcre*.dylib $out/lib
+      cp -d ${libiconv}/lib/libiconv*.dylib $out/lib
+
+      # Copy what we need of clang
+      cp -d ${llvmPackages.clang}/bin/clang $out/bin
+      cp -d ${llvmPackages.clang}/bin/clang++ $out/bin
+      cp -d ${llvmPackages.clang}/bin/clang-3.5 $out/bin
+
+      cp -rL ${llvmPackages.clang}/lib/clang $out/lib
+
+      cp -d ${libcxx}/lib/libc++*.dylib $out/lib
+      cp -d ${libcxxabi}/lib/libc++abi*.dylib $out/lib
+
+      mkdir $out/include
+      cp -rd ${libcxx}/include/c++     $out/include
+
+      cp -d ${icu}/lib/libicu*.dylib $out/lib
+      cp -d ${zlib}/lib/libz.*       $out/lib
+      cp -d ${gmpxx}/lib/libgmp*.*   $out/lib
+      cp -d ${xz}/lib/liblzma*.*     $out/lib
+
+      # Copy binutils.
+      for i in as ld ar ranlib nm strip otool install_name_tool dsymutil; do
+        cp ${darwin.cctools}/bin/$i $out/bin
+      done
+
+      cp -rd ${pkgs.darwin.CF}/Library $out
+
+      chmod -R u+w $out
+
+      nuke-refs $out/bin/*
+
+      rpathify() {
+        local libs=$(${darwin.cctools}/bin/otool -L "$1" | tail -n +2 | grep -o "$NIX_STORE.*-\S*") || true
+        for lib in $libs; do
+          ${darwin.cctools}/bin/install_name_tool -change $lib "@rpath/$(basename $lib)" "$1"
+        done
+      }
+
+      fix_dyld() {
+        # This is clearly a hack. Once we have an install_name_tool-alike that can patch dyld, this will be nicer.
+        ${perl}/bin/perl -i -0777 -pe 's/\/nix\/store\/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-dyld-239\.4\/lib\/dyld/\/usr\/lib\/dyld\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/sg' "$1"
+      }
+
+      # Strip executables even further
+      for i in $out/bin/*; do
+        if test -x $i -a ! -L $i; then
+          chmod +w $i
+
+          fix_dyld $i
+          strip $i || true
+        fi
+      done
+
+      for i in $out/bin/* $out/lib/*.dylib $out/lib/clang/3.5.0/lib/darwin/*.dylib $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation; do
+        if test -x $i -a ! -L $i; then
+          echo "Adding rpath to $i"
+          rpathify $i
+        fi
+      done
+
+      nuke-refs $out/lib/*
+      nuke-refs $out/lib/clang/3.5.0/lib/darwin/*
+      nuke-refs $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
+
+      mkdir $out/.pack
+      mv $out/* $out/.pack
+      mv $out/.pack $out/pack
+
+      mkdir $out/on-server
+      (cd $out/pack && (find | cpio -o -H newc)) | bzip2 > $out/on-server/bootstrap-tools.cpio.bz2
+
+      mkdir $out/in-nixpkgs
+      cp ${stdenv.shell} $out/in-nixpkgs/sh
+      cp ${cpio}/bin/cpio $out/in-nixpkgs
+      cp ${coreutils_}/bin/mkdir $out/in-nixpkgs
+      cp ${bzip2}/bin/bzip2 $out/in-nixpkgs
+
+      chmod u+w $out/in-nixpkgs/*
+      strip $out/in-nixpkgs/*
+      nuke-refs $out/in-nixpkgs/*
+
+      for i in $out/in-nixpkgs/*; do
+        fix_dyld $i
+      done
+    '';
+
+    allowedReferences = [];
+  };
+
+  host = stdenv.mkDerivation {
+    name = "host";
+
+    buildCommand = ''
+      mkdir -p $out/nix-support
+
+      for i in "${build}/on-server/"*; do
+        echo "file binary-dist $i" >> $out/nix-support/hydra-build-products
+      done
+
+      echo "darwin-bootstrap-tools-$(date +%Y.%m.%d)" >> $out/nix-support/hydra-release-name
+    '';
+
+    allowedReferences = [ build ];
+  };
+
+  unpack = stdenv.mkDerivation {
+    name = "unpack";
+
+    # This is by necessity a near-duplicate of unpack-bootstrap-tools.sh. If we refer to it directly,
+    # we can't make any changes to it due to our testing stdenv depending on it. Think of this as the
+    # unpack-bootstrap-tools.sh for the next round of bootstrap tools.
+    # TODO: think through alternate designs, such as hosting this script as an output of the process.
+    buildCommand = ''
+      # Unpack the bootstrap tools tarball.
+      echo Unpacking the bootstrap tools...
+      $mkdir $out
+      $bzip2 -d < $tarball | (cd $out && $cpio -i)
+
+      # Set the ELF interpreter / RPATH in the bootstrap binaries.
+      echo Patching the tools...
+
+      export PATH=$out/bin
+
+      for i in $out/bin/*; do
+        if ! test -L $i; then
+          echo patching $i
+          install_name_tool -add_rpath $out/lib $i || true
+        fi
+      done
+
+      for i in $out/lib/*.dylib $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation; do
+        if ! test -L $i; then
+          echo patching $i
+
+          id=$(otool -D "$i" | tail -n 1)
+          install_name_tool -id "$(dirname $i)/$(basename $id)" $i
+
+          libs=$(otool -L "$i" | tail -n +2 | grep -v Libsystem | cat)
+          if [ -n "$libs" ]; then
+            install_name_tool -add_rpath $out/lib $i
+          fi
+        fi
+      done
+
+      ln -s bash $out/bin/sh
+      ln -s bzip2 $out/bin/bunzip2
+
+      cat >$out/bin/dsymutil << EOF
+      #!$out/bin/sh
+      EOF
+    '';
+
+    tarball = "${build}/on-server/bootstrap-tools.cpio.bz2";
+
+    mkdir = "${build}/in-nixpkgs/mkdir";
+    bzip2 = "${build}/in-nixpkgs/bzip2";
+    cpio  = "${build}/in-nixpkgs/cpio";
+
+    allowedReferences = [ "out" ];
+  };
+
+  test = stdenv.mkDerivation {
+    name = "test";
+
+    realBuilder = "${unpack}/bin/bash";
+
+    buildCommand = ''
+      export PATH=${unpack}/bin
+      ls -l
+      mkdir $out
+      mkdir $out/bin
+      sed --version
+      find --version
+      diff --version
+      patch --version
+      make --version
+      awk --version
+      grep --version
+      clang --version
+      xz --version
+
+      # The grep will return a nonzero exit code if there is no match, and we want to assert that we have
+      # an SSL-capable curl
+      curl --version | grep SSL
+
+      ${build}/in-nixpkgs/sh -c 'echo Hello World'
+
+      export flags="-idirafter ${unpack}/include-Libsystem --sysroot=${unpack} -L${unpack}/lib"
+
+      export CPP="clang -E $flags"
+      export CC="clang $flags -Wl,-rpath,${unpack}/lib -Wl,-v"
+      export CXX="clang++ $flags --stdlib=libc++ -lc++abi -isystem${unpack}/include/c++/v1 -Wl,-rpath,${unpack}/lib -Wl,-v"
+
+      echo '#include <stdio.h>' >> foo.c
+      echo '#include <float.h>' >> foo.c
+      echo '#include <limits.h>' >> foo.c
+      echo 'int main() { printf("Hello World\n"); return 0; }' >> foo.c
+      $CC -o $out/bin/foo foo.c
+      $out/bin/foo
+
+      echo '#include <CoreFoundation/CoreFoundation.h>' >> bar.c
+      echo 'int main() { CFShow(CFSTR("Hullo")); return 0; }' >> bar.c
+      $CC -F${unpack}/Library/Frameworks -framework CoreFoundation -o $out/bin/bar bar.c
+      $out/bin/bar
+
+      echo '#include <iostream>' >> bar.cc
+      echo 'int main() { std::cout << "Hello World\n"; }' >> bar.cc
+      $CXX -v -o $out/bin/bar bar.cc
+      $out/bin/bar
+
+      tar xvf ${hello.src}
+      cd hello-*
+      ./configure --prefix=$out
+      make
+      make install
+
+      $out/bin/hello
+    '';
+  };
+}
diff --git a/pkgs/stdenv/darwin/trivial-bootstrap.sh b/pkgs/stdenv/darwin/trivial-bootstrap.sh
new file mode 100644
index 00000000000..0915b378d4f
--- /dev/null
+++ b/pkgs/stdenv/darwin/trivial-bootstrap.sh
@@ -0,0 +1,66 @@
+
+# Building bootstrap tools
+echo Building the trivial bootstrap environment...
+$mkdir -p $out/bin
+
+$ln -s $ln $out/bin/ln
+
+PATH=$out/bin/
+
+cd $out/bin
+
+ln -s $mkdir
+ln -s /bin/sh
+ln -s /bin/cp
+ln -s /bin/mv
+ln -s /bin/rm
+ln -s /bin/ls
+ln -s /bin/ps
+ln -s /bin/cat
+ln -s /bin/bash
+ln -s /bin/echo
+ln -s /bin/expr
+ln -s /bin/test
+ln -s /bin/date
+ln -s /bin/chmod
+ln -s /bin/rmdir
+ln -s /bin/sleep
+ln -s /bin/hostname
+
+ln -s /usr/bin/id
+ln -s /usr/bin/od
+ln -s /usr/bin/tr
+ln -s /usr/bin/wc
+ln -s /usr/bin/cut
+ln -s /usr/bin/cmp
+ln -s /usr/bin/sed
+ln -s /usr/bin/tar
+ln -s /usr/bin/xar
+ln -s /usr/bin/awk
+ln -s /usr/bin/env
+ln -s /usr/bin/tee
+ln -s /usr/bin/comm
+ln -s /usr/bin/cpio
+ln -s /usr/bin/curl
+ln -s /usr/bin/find
+ln -s /usr/bin/grep
+ln -s /usr/bin/gzip
+ln -s /usr/bin/head
+ln -s /usr/bin/tail
+ln -s /usr/bin/sort
+ln -s /usr/bin/uniq
+ln -s /usr/bin/less
+ln -s /usr/bin/true
+ln -s /usr/bin/diff
+ln -s /usr/bin/egrep
+ln -s /usr/bin/fgrep
+ln -s /usr/bin/patch
+ln -s /usr/bin/uname
+ln -s /usr/bin/touch
+ln -s /usr/bin/split
+ln -s /usr/bin/xargs
+ln -s /usr/bin/which
+ln -s /usr/bin/install
+ln -s /usr/bin/basename
+ln -s /usr/bin/dirname
+ln -s /usr/bin/readlink
\ No newline at end of file
diff --git a/pkgs/stdenv/darwin/unpack-bootstrap-tools.sh b/pkgs/stdenv/darwin/unpack-bootstrap-tools.sh
new file mode 100644
index 00000000000..8033c7004d9
--- /dev/null
+++ b/pkgs/stdenv/darwin/unpack-bootstrap-tools.sh
@@ -0,0 +1,54 @@
+set -e
+
+# Unpack the bootstrap tools tarball.
+echo Unpacking the bootstrap tools...
+$mkdir $out
+$bzip2 -d < $tarball | (cd $out && $cpio -i)
+
+# Set the ELF interpreter / RPATH in the bootstrap binaries.
+echo Patching the tools...
+
+export PATH=$out/bin
+
+for i in $out/bin/*; do
+  if ! test -L $i; then
+    echo patching $i
+    install_name_tool -add_rpath $out/lib $i || true
+  fi
+done
+
+for i in $out/lib/*.dylib $out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation; do
+  if ! test -L $i; then
+    echo patching $i
+
+    id=$(otool -D "$i" | tail -n 1)
+    install_name_tool -id "$(dirname $i)/$(basename $id)" $i
+
+    libs=$(otool -L "$i" | tail -n +2 | grep -v libSystem | cat)
+    if [ -n "$libs" ]; then
+      install_name_tool -add_rpath $out/lib $i
+    fi
+  fi
+done
+
+ln -s bash $out/bin/sh
+ln -s bzip2 $out/bin/bunzip2
+
+# Provide a gunzip script.
+cat > $out/bin/gunzip <<EOF
+#!$out/bin/sh
+exec $out/bin/gzip -d "\$@"
+EOF
+chmod +x $out/bin/gunzip
+
+# Provide fgrep/egrep.
+echo "#! $out/bin/sh" > $out/bin/egrep
+echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep
+echo "#! $out/bin/sh" > $out/bin/fgrep
+echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep
+
+cat >$out/bin/dsymutil << EOF
+#!$out/bin/sh
+EOF
+
+chmod +x $out/bin/egrep $out/bin/fgrep $out/bin/dsymutil
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index e056505f1b7..ba87a7aaafb 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -33,10 +33,11 @@ rec {
     pkgs = stdenvNativePkgs;
   };
 
-
   # Linux standard environment.
   stdenvLinux = (import ./linux { inherit system allPackages platform config lib; }).stdenvLinux;
 
+  # Darwin standard environment.
+  stdenvDarwin = (import ./darwin { inherit system allPackages platform config;}).stdenvDarwin;
 
   # Select the appropriate stdenv for the platform `system'.
   stdenv =
@@ -47,7 +48,7 @@ rec {
     if system == "armv7l-linux" then stdenvLinux else
     if system == "mips64el-linux" then stdenvLinux else
     if system == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
-    if system == "x86_64-darwin" then stdenvNix else
+    if system == "x86_64-darwin" then stdenvDarwin else
     if system == "x86_64-solaris" then stdenvNix else
     stdenvNative;
 }
diff --git a/pkgs/stdenv/generic/builder.sh b/pkgs/stdenv/generic/builder.sh
index 4fa722a73dd..a46c46c2db5 100644
--- a/pkgs/stdenv/generic/builder.sh
+++ b/pkgs/stdenv/generic/builder.sh
@@ -8,6 +8,7 @@ mkdir $out
 
 echo "export SHELL=$shell" > $out/setup
 echo "initialPath=\"$initialPath\"" >> $out/setup
+echo "defaultNativeBuildInputs=\"$defaultNativeBuildInputs\"" >> $out/setup
 echo "$preHook" >> $out/setup
 cat "$setup" >> $out/setup
 
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index a27485e144d..e7a828355e7 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -1,7 +1,7 @@
 let lib = import ../../../lib; in lib.makeOverridable (
 
-{ system, name ? "stdenv", preHook ? "", initialPath, gcc, shell
-, extraAttrs ? {}, overrides ? (pkgs: {}), config
+{ system, name ? "stdenv", preHook ? "", initialPath, cc, shell
+, allowedRequisites ? null, extraAttrs ? {}, overrides ? (pkgs: {}), config
 
 , # The `fetchurl' to use for downloading curl and its dependencies
   # (see all-packages.nix).
@@ -16,6 +16,41 @@ let
 
   allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
 
+  whitelist = config.whitelistedLicenses or [];
+  blacklist = config.blacklistedLicenses or [];
+
+  onlyLicenses = list:
+    lib.lists.all (license:
+      let l = lib.licenses.${license.shortName or "BROKEN"} or false; in
+      if license == l then true else
+        throw ''‘${builtins.toJSON license}’ is not an attribute of lib.licenses''
+    ) list;
+
+  mutuallyExclusive = a: b:
+    (builtins.length a) == 0 ||
+    (!(builtins.elem (builtins.head a) b) &&
+     mutuallyExclusive (builtins.tail a) b);
+
+  areLicenseListsValid =
+    if mutuallyExclusive whitelist blacklist then
+      assert onlyLicenses whitelist; assert onlyLicenses blacklist; true
+    else
+      throw "whitelistedLicenses and blacklistedLicenses are not mutually exclusive.";
+
+  hasLicense = attrs:
+    builtins.hasAttr "meta" attrs && builtins.hasAttr "license" attrs.meta;
+
+  hasWhitelistedLicense = assert areLicenseListsValid; attrs:
+    hasLicense attrs && builtins.elem attrs.meta.license whitelist;
+
+  hasBlacklistedLicense = assert areLicenseListsValid; attrs:
+    hasLicense attrs && builtins.elem attrs.meta.license blacklist;
+
+  allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
+
+  isUnfree = licenses: lib.lists.any (l:
+    !l.free or true || l == "unfree" || l == "unfree-redistributable") licenses;
+
   # Alow granular checks to allow only some unfree packages
   # Example:
   # {pkgs, ...}:
@@ -25,64 +60,79 @@ let
   # }
   allowUnfreePredicate = config.allowUnfreePredicate or (x: false);
 
-  allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
-
-  forceEvalHelp = unfreeOrBroken:
-    assert (unfreeOrBroken == "Unfree" || unfreeOrBroken == "Broken");
-    ''
-      You can set
-        { nixpkgs.config.allow${unfreeOrBroken} = true; }
-      in configuration.nix to override this. If you use Nix standalone, you can add
-        { allow${unfreeOrBroken} = true; }
-      to ~/.nixpkgs/config.nix.
-    '';
+  # Check whether unfree packages are allowed and if not, whether the
+  # package has an unfree license and is not explicitely allowed by the
+  # `allowUNfreePredicate` function.
+  hasDeniedUnfreeLicense = attrs:
+    !allowUnfree &&
+    hasLicense attrs &&
+    isUnfree (lib.lists.toList attrs.meta.license) &&
+    !allowUnfreePredicate attrs;
 
-  unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null);
-
-  extraBuildInputs' = extraBuildInputs ++
+  defaultNativeBuildInputs = extraBuildInputs ++
     [ ../../build-support/setup-hooks/move-docs.sh
       ../../build-support/setup-hooks/compress-man-pages.sh
       ../../build-support/setup-hooks/strip.sh
       ../../build-support/setup-hooks/patch-shebangs.sh
       ../../build-support/setup-hooks/multiple-outputs.sh
-      gcc
+      ../../build-support/setup-hooks/move-sbin.sh
+      ../../build-support/setup-hooks/move-lib64.sh
+      cc
     ];
 
   # Add a utility function to produce derivations that use this
   # stdenv and its shell.
-  mkDerivation = attrs:
+  mkDerivation =
+    { buildInputs ? []
+    , nativeBuildInputs ? []
+    , propagatedBuildInputs ? []
+    , propagatedNativeBuildInputs ? []
+    , crossConfig ? null
+    , meta ? {}
+    , passthru ? {}
+    , pos ? null # position used in error messages and for meta.position
+    , ... } @ attrs:
     let
-      pos =
-        if attrs.meta.description or null != null then
-          unsafeGetAttrPos "description" attrs.meta
+      pos' =
+        if pos != null then
+          pos
+        else if attrs.meta.description or null != null then
+          builtins.unsafeGetAttrPos "description" attrs.meta
         else
-          unsafeGetAttrPos "name" attrs;
-      pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»";
+          builtins.unsafeGetAttrPos "name" attrs;
+      pos'' = if pos' != null then "‘" + pos'.file + ":" + toString pos'.line + "’" else "«unknown-file»";
+
+      throwEvalHelp = unfreeOrBroken: whatIsWrong:
+        assert builtins.elem unfreeOrBroken ["Unfree" "Broken" "blacklisted"];
+
+        throw ("Package ‘${attrs.name or "«name-missing»"}’ in ${pos''} ${whatIsWrong}, refusing to evaluate."
+        + (lib.strings.optionalString (unfreeOrBroken != "blacklisted") ''
+
+          For `nixos-rebuild` you can set
+            { nixpkgs.config.allow${unfreeOrBroken} = true; }
+          in configuration.nix to override this.
+          For `nix-env` you can add
+            { allow${unfreeOrBroken} = true; }
+          to ~/.nixpkgs/config.nix.
+        ''));
+
+      licenseAllowed = attrs:
+        if hasDeniedUnfreeLicense attrs && !(hasWhitelistedLicense attrs) then
+          throwEvalHelp "Unfree" "has an unfree license ‘${builtins.toJSON attrs.meta.license}’ which is not whitelisted"
+        else if hasBlacklistedLicense attrs then
+          throwEvalHelp "blacklisted" "has the ‘${builtins.toJSON attrs.meta.license}’ license which is blacklisted"
+        else if !allowBroken && attrs.meta.broken or false then
+          throwEvalHelp "Broken" "is marked as broken"
+        else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
+          throwEvalHelp "Broken" "is not supported on ‘${result.system}’"
+        else true;
+
     in
-    if !allowUnfree
-       && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l)
-       && !allowUnfreePredicate attrs then
-      throw ''
-            Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate.
-            ${forceEvalHelp "Unfree"}''
-    else if !allowBroken && attrs.meta.broken or false then
-          throw ''
-            Package ‘${attrs.name}’ in ${pos'} is marked as broken, refusing to evaluate.
-            ${forceEvalHelp "Broken"}''
-    else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
-          throw ''
-            Package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’, refusing to evaluate.
-            ${forceEvalHelp "Broken"}''
-    else
+      assert licenseAllowed attrs;
+
       lib.addPassthru (derivation (
-        (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
-        // (let
-          buildInputs = attrs.buildInputs or [];
-          nativeBuildInputs = attrs.nativeBuildInputs or [];
-          propagatedBuildInputs = attrs.propagatedBuildInputs or [];
-          propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or [];
-          crossConfig = attrs.crossConfig or null;
-        in
+        (removeAttrs attrs ["meta" "passthru" "crossAttrs" "pos"])
+        //
         {
           builder = attrs.realBuilder or shell;
           args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
@@ -92,13 +142,13 @@ let
           __ignoreNulls = true;
 
           # Inputs built by the cross compiler.
-          buildInputs = lib.optionals (crossConfig != null) (buildInputs ++ extraBuildInputs');
-          propagatedBuildInputs = lib.optionals (crossConfig != null) propagatedBuildInputs;
+          buildInputs = if crossConfig != null then buildInputs else [];
+          propagatedBuildInputs = if crossConfig != null then propagatedBuildInputs else [];
           # Inputs built by the usual native compiler.
-          nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) (buildInputs ++ extraBuildInputs');
+          nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs else []);
           propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
-            lib.optionals (crossConfig == null) propagatedBuildInputs;
-      }))) (
+            (if crossConfig == null then propagatedBuildInputs else []);
+        })) (
       {
         # The meta attribute is passed in the resulting attribute set,
         # but it's not part of the actual derivation, i.e., it's not
@@ -106,20 +156,21 @@ let
         # include it in the result, it *is* available to nix-env for
         # queries.  We also a meta.position attribute here to
         # identify the source location of the package.
-        meta = attrs.meta or {} // (if pos != null then {
-          position = pos.file + ":" + (toString pos.line);
+        meta = meta // (if pos' != null then {
+          position = pos'.file + ":" + toString pos'.line;
         } else {});
-        passthru = attrs.passthru or {};
+        inherit passthru;
       } //
       # Pass through extra attributes that are not inputs, but
       # should be made available to Nix expressions using the
       # derivation (e.g., in assertions).
-      (attrs.passthru or {}));
+      passthru);
 
   # The stdenv that we are producing.
   result =
-
-    derivation {
+    derivation (
+    (if isNull allowedRequisites then {} else { allowedRequisites = allowedRequisites ++ defaultNativeBuildInputs; }) //
+    {
       inherit system name;
 
       builder = shell;
@@ -128,11 +179,8 @@ let
 
       setup = setupScript;
 
-      inherit preHook initialPath shell;
-
-      propagatedUserEnvPkgs = [gcc] ++
-        lib.filter lib.isDerivation initialPath;
-    }
+      inherit preHook initialPath shell defaultNativeBuildInputs;
+    })
 
     // rec {
 
@@ -156,13 +204,9 @@ let
       isCygwin = system == "i686-cygwin"
               || system == "x86_64-cygwin";
       isFreeBSD = system == "i686-freebsd"
-              || system == "x86_64-freebsd";
+               || system == "x86_64-freebsd";
       isOpenBSD = system == "i686-openbsd"
-              || system == "x86_64-openbsd";
-      isBSD = system == "i686-freebsd"
-           || system == "x86_64-freebsd"
-           || system == "i686-openbsd"
-           || system == "x86_64-openbsd";
+               || system == "x86_64-openbsd";
       isi686 = system == "i686-linux"
             || system == "i686-gnu"
             || system == "i686-freebsd"
@@ -183,6 +227,7 @@ let
       isArm = system == "armv5tel-linux"
            || system == "armv6l-linux"
            || system == "armv7l-linux";
+      isBigEndian = system == "powerpc-linux";
 
       # Whether we should run paxctl to pax-mark binaries.
       needsPax = isLinux;
@@ -197,7 +242,7 @@ let
 
       inherit overrides;
 
-      inherit gcc;
+      inherit cc;
     }
 
     # Propagate any extra attributes.  For instance, we use this to
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 74dad2c895b..b5d31e09153 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -1,4 +1,5 @@
 set -e
+set -o pipefail
 
 : ${outputs:=out}
 
@@ -101,7 +102,7 @@ exitHandler() {
         if [ -n "$succeedOnFailure" ]; then
             echo "build failed with exit code $exitCode (ignored)"
             mkdir -p "$out/nix-support"
-            echo -n $exitCode > "$out/nix-support/failed"
+            printf "%s" $exitCode > "$out/nix-support/failed"
             exit 0
         fi
 
@@ -184,11 +185,13 @@ fi
 
 # Check that the pre-hook initialised SHELL.
 if [ -z "$SHELL" ]; then echo "SHELL not set"; exit 1; fi
+BASH="$SHELL"
+export CONFIG_SHELL="$SHELL"
 
 
 # Execute the pre-hook.
-export CONFIG_SHELL="$SHELL"
 if [ -z "$shell" ]; then export shell=$SHELL; fi
+runHook preHook
 
 
 # Allow the caller to augment buildInputs (it's not always possible to
@@ -227,12 +230,12 @@ findInputs() {
 }
 
 crossPkgs=""
-for i in $buildInputs $propagatedBuildInputs; do
+for i in $buildInputs $defaultBuildInputs $propagatedBuildInputs; do
     findInputs $i crossPkgs propagated-build-inputs
 done
 
 nativePkgs=""
-for i in $nativeBuildInputs $propagatedNativeBuildInputs; do
+for i in $nativeBuildInputs $defaultNativeBuildInputs $propagatedNativeBuildInputs; do
     findInputs $i nativePkgs propagated-native-build-inputs
 done
 
@@ -339,7 +342,7 @@ substitute() {
     local n p pattern replacement varName content
 
     # a slightly hacky way to keep newline at the end
-    content="$(cat $input; echo -n X)"
+    content="$(cat "$input"; printf "%s" X)"
     content="${content%X}"
 
     for ((n = 2; n < ${#params[*]}; n += 1)); do
@@ -367,10 +370,8 @@ substitute() {
         content="${content//"$pattern"/$replacement}"
     done
 
-    # !!! This doesn't work properly if $content is "-n".
-    echo -n "$content" > "$output".tmp
-    if [ -x "$output" ]; then chmod +x "$output".tmp; fi
-    mv -f "$output".tmp "$output"
+    if [ -e "$output" ]; then chmod +w "$output"; fi
+    printf "%s" "$content" > "$output"
 }
 
 
@@ -386,7 +387,7 @@ substituteAll() {
     local output="$2"
 
     # Select all environment variables that start with a lowercase character.
-    for envVar in $(env | sed "s/^[^a-z].*//" | sed "s/^\([^=]*\)=.*/\1/"); do
+    for envVar in $(env | sed -e $'s/^\([a-z][^=]*\)=.*/\\1/; t \n d'); do
         if [ "$NIX_DEBUG" = "1" ]; then
             echo "$envVar -> ${!envVar}"
         fi
@@ -463,7 +464,9 @@ _defaultUnpack() {
     if [ -d "$fn" ]; then
 
         stripHash "$fn"
-        cp -prd --no-preserve=timestamps "$fn" $strippedName
+        # We can't preserve hardlinks because they may have been introduced by
+        # store optimization, which might break things in the build
+        cp -pr --reflink=auto --no-preserve=timestamps "$fn" $strippedName
 
     else
 
@@ -570,7 +573,7 @@ patchPhase() {
     for i in $patches; do
         header "applying patch $i" 3
         local uncompress=cat
-        case $i in
+        case "$i" in
             *.gz)
                 uncompress="gzip -d"
                 ;;
@@ -585,7 +588,7 @@ patchPhase() {
                 ;;
         esac
         # "2>&1" is a hack to make patch fail if the decompressor fails (nonexistent patch, etc.)
-        $uncompress < $i 2>&1 | patch ${patchFlags:--p1}
+        $uncompress < "$i" 2>&1 | patch ${patchFlags:--p1}
         stopNest
     done
 
diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel.nix b/pkgs/stdenv/linux/bootstrap/armv5tel.nix
index 6d18b3bd8cb..082e60dde48 100644
--- a/pkgs/stdenv/linux/bootstrap/armv5tel.nix
+++ b/pkgs/stdenv/linux/bootstrap/armv5tel.nix
@@ -1,44 +1,12 @@
-let
-
-  fetch = { file, sha256 }: import <nix/fetchurl.nix> {
-    url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/${file}";
-    inherit sha256;
+{
+  busybox = import <nix/fetchurl.nix> {
+    url = "http://vicerveza.homeunix.net/~viric/tmp/nix/busybox";
+    sha256 = "1vfadk3d2v0bsvmbaz1pvpn4g1vm7p751hkdxya1lkn5n1a9px5m";
     executable = true;
   };
 
-in {
-  sh = fetch {
-    file = "sh";
-    sha256 = "1kv3gc8h209rjc5i0rzzc4pjxq23kzq25iff89in05c9vl20mn4n";
-  };
-
-  bzip2 = fetch {
-    file = "bzip2";
-    sha256 = "090jrj099wl33q0iq092iljilam39pv8acli59m2af0fa9z0d9f0";
-  };
-
-  mkdir = fetch {
-    file = "mkdir";
-    sha256 = "01s8myfvi559dsxvbanxw71vxzjv49k4gi1qh0ak6l0qx0xq602b";
-  };
-
-  cpio = fetch {
-    file = "cpio";
-    sha256 = "07snc8l0mn84w2xrvdmc5yfpmlbrvl2bar8wipbpvm43nzz2qbzs";
-  };
-
-  ln = fetch {
-    file = "ln";
-    sha256 = "0m9fz02bashpfgwfkxmrp4wa8a5r3il52bclvf6z36vsam0vx56d";
-  };
-
-  curl = fetch {
-    file = "curl.bz2";
-    sha256 = "19yqdjqi31zlnqn8ss2ml60iq2a1vrwfw6dmvjqp6qbxmh7yb8n8";
-  };
-
-  bootstrapTools = {
-    url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/bootstrap-tools.cpio.bz2";
-    sha256 = "1rn4n5kilqmv62dfjfcscbsm0w329k3gyb2v9155fsi1sl2cfzcb";
+  bootstrapTools = import <nix/fetchurl.nix> {
+    url = "http://vicerveza.homeunix.net/~viric/tmp/nix/bootstrap-tools.tar.xz";
+    sha256 = "39df65053bab50bc2975060c4da177266e263f30c2afba231a97d23f4c471eb8";
   };
 }
diff --git a/pkgs/stdenv/linux/bootstrap/armv6l.nix b/pkgs/stdenv/linux/bootstrap/armv6l.nix
index 85b86835905..34429413e73 100644
--- a/pkgs/stdenv/linux/bootstrap/armv6l.nix
+++ b/pkgs/stdenv/linux/bootstrap/armv6l.nix
@@ -1,11 +1,12 @@
-# Use the static tools for armv5tel-linux.
-(import ./armv5tel.nix) //
-
 {
-  bootstrapTools = {
-    # Built from make-bootstrap-tools-crosspi.nix
-    # nixpkgs rev eb0422e4c1263a65a9b2b954fe10a1e03d67db3e
-    url = http://viric.name/tmp/nix/pi/bootstrap-tools.cpio.bz2;
-    sha256 = "1zb27x5h54k51yrvn3sy4wb1qprx8iv2kfbgklxwc0mcxp9b7ccd";
+  busybox = import <nix/fetchurl.nix> {
+    url = https://dl.dropboxusercontent.com/s/4705ffxjrxxqnh2/busybox?dl=0;
+    sha256 = "032maafy4akcdgccpxdxrza29pkcpm81g8kh1hv8bj2rvssly3z2";
+    executable = true;
+  };
+
+  bootstrapTools = import <nix/fetchurl.nix> {
+    url = https://dl.dropboxusercontent.com/s/pen8ieymeqqdvqn/bootstrap-tools.tar.xz?dl=0;
+    sha256 = "0kjpjwi6qw82ca02ppsih3bnhc3y150q23k9d56xzscs0xf5d0dv";
   };
 }
diff --git a/pkgs/stdenv/linux/bootstrap/armv7l.nix b/pkgs/stdenv/linux/bootstrap/armv7l.nix
new file mode 100644
index 00000000000..a6225f455de
--- /dev/null
+++ b/pkgs/stdenv/linux/bootstrap/armv7l.nix
@@ -0,0 +1,12 @@
+{
+  busybox = import <nix/fetchurl.nix> {
+    url = https://dl.dropboxusercontent.com/s/rowzme529tc5svq/busybox?dl=0;
+    sha256 = "18793riwv9r1bgz6zv03c84cd0v26gxsm8wd2c7gjrwwyfg46ls4";
+    executable = true;
+  };
+
+  bootstrapTools = import <nix/fetchurl.nix> {
+    url = https://dl.dropboxusercontent.com/s/3jr4s5449t7zjlj/bootstrap-tools.tar.xz?dl=0;
+    sha256 = "1qyp871dajz5mi3yaw9sndwh4yrh1jj184wjjwaf6dpr3jir4kyd";
+  };
+}
diff --git a/pkgs/stdenv/linux/bootstrap/i686.nix b/pkgs/stdenv/linux/bootstrap/i686.nix
index 7b6b3ee8034..e02bb1e83d3 100644
--- a/pkgs/stdenv/linux/bootstrap/i686.nix
+++ b/pkgs/stdenv/linux/bootstrap/i686.nix
@@ -1,39 +1,12 @@
-let
-
-  fetch = { file, sha256 }: import <nix/fetchurl.nix> {
-    url = "http://tarballs.nixos.org/stdenv-linux/i686/r24519/${file}";
-    inherit sha256;
+{
+  busybox = import <nix/fetchurl.nix> {
+    url = http://tarballs.nixos.org/stdenv-linux/i686/8d66a51a872af1ab58edc68a2ebddcc79958b563/busybox;
+    sha256 = "9278001d11bb0359d0cc1b30bd5c9823f0b9c65db127d6dfcc1f6bbc000d15a0";
     executable = true;
   };
 
-in {
-  sh = fetch {
-    file = "sh";
-    sha256 = "1l6sdhyqjlh4m5gj3pfpi8aisp1m012lpwxfcc4v1x8g429mflmy";
-  };
-
-  bzip2 = fetch {
-    file = "bzip2";
-    sha256 = "1p5nkrdn52jm6rsx8x3wwjpsh83f2qsjl1qckkgnkplwhj23zjp7";
-  };
-
-  mkdir = fetch {
-    file = "mkdir";
-    sha256 = "02ff7i9ph9ahiapsg2v9c3pwr7sl73sk4n7ic112ljkrgwkail33";
-  };
-
-  cpio = fetch {
-    file = "cpio";
-    sha256 = "046if3aqqramyhrn2yxrjf4bfkl8x1bcqxhvi7ml9nrv9smx8irg";
-  };
-
-  curl = fetch {
-    file = "curl.bz2";
-    sha256 = "1v0yfb4gcdyqpl2fxlxjh337r28c23iqm7vwck4p4643xd55di7q";
-  };
-
-  bootstrapTools = {
-    url = http://tarballs.nixos.org/stdenv-linux/i686/r24519/bootstrap-tools.cpio.bz2;
-    sha256 = "0imypaxy6piwbk8ff2y1nr7yk49pqmdgdbv6g8miq1zs5yfip6ij";
+  bootstrapTools = import <nix/fetchurl.nix> {
+    url = http://tarballs.nixos.org/stdenv-linux/i686/8d66a51a872af1ab58edc68a2ebddcc79958b563/bootstrap-tools.tar.xz;
+    sha256 = "6bc27ce9b08adcca0298f5fe80fe67f5bbb2dffdd1d8666fd44cb76ace198a25";
   };
 }
diff --git a/pkgs/stdenv/linux/bootstrap/x86_64.nix b/pkgs/stdenv/linux/bootstrap/x86_64.nix
index 71961e6961e..df803dae032 100644
--- a/pkgs/stdenv/linux/bootstrap/x86_64.nix
+++ b/pkgs/stdenv/linux/bootstrap/x86_64.nix
@@ -1,10 +1,9 @@
-# Use the static tools for i686-linux.  They work on x86_64-linux
-# machines as well.
+# Use busybox for i686-linux since it works on x86_64-linux as well.
 (import ./i686.nix) //
 
 {
-  bootstrapTools = {
-    url = http://tarballs.nixos.org/stdenv-linux/x86_64/r23302/bootstrap-tools.cpio.bz2;
-    sha256 = "0w89kqhx47yl0jifp2vffp073pyrqha5f312kp971smi4h41drna";
+  bootstrapTools = import <nix/fetchurl.nix> {
+    url = http://tarballs.nixos.org/stdenv-linux/x86_64/8d66a51a872af1ab58edc68a2ebddcc79958b563/bootstrap-tools.tar.xz;
+    sha256 = "325230b74d3d98f62ddcb595543887d09cd8421745a4eda229d2a87a1f1ed336";
   };
 }
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 6b15808285b..169807b457e 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -7,16 +7,18 @@
 # The function defaults are for easy testing.
 { system ? builtins.currentSystem
 , allPackages ? import ../../top-level/all-packages.nix
-, platform ? null, config ? {}, lib }:
+, platform ? null, config ? {}, lib ? (import ../../../lib)
+, customBootstrapFiles ? null }:
 
 rec {
 
   bootstrapFiles =
-    if system == "i686-linux" then import ./bootstrap/i686.nix
+    if customBootstrapFiles != null then customBootstrapFiles
+    else if system == "i686-linux" then import ./bootstrap/i686.nix
     else if system == "x86_64-linux" then import ./bootstrap/x86_64.nix
     else if system == "armv5tel-linux" then import ./bootstrap/armv5tel.nix
     else if system == "armv6l-linux" then import ./bootstrap/armv6l.nix
-    else if system == "armv7l-linux" then import ./bootstrap/armv6l.nix
+    else if system == "armv7l-linux" then import ./bootstrap/armv7l.nix
     else if system == "mips64el-linux" then import ./bootstrap/loongson2f.nix
     else abort "unsupported platform for the pure Linux stdenv";
 
@@ -40,51 +42,34 @@ rec {
   bootstrapTools = derivation {
     name = "bootstrap-tools";
 
-    builder = bootstrapFiles.sh;
+    builder = bootstrapFiles.busybox;
 
-    args =
-      if system == "armv5tel-linux" || system == "armv6l-linux"
-        || system == "armv7l-linux"
-      then [ ./scripts/unpack-bootstrap-tools-arm.sh ]
-      else [ ./scripts/unpack-bootstrap-tools.sh ];
+    args = if system == "armv5tel-linux" then
+        [ "ash" "-e" ./scripts/unpack-bootstrap-tools-arm.sh ]
+      else
+        [ "ash" "-e" ./scripts/unpack-bootstrap-tools.sh ];
 
-    # FIXME: get rid of curl.
-    inherit (bootstrapFiles) bzip2 mkdir curl cpio;
-
-    tarball = import <nix/fetchurl.nix> {
-      inherit (bootstrapFiles.bootstrapTools) url sha256;
-    };
+    tarball = bootstrapFiles.bootstrapTools;
 
     inherit system;
 
     # Needed by the GCC wrapper.
     langC = true;
     langCC = true;
+    isGNU = true;
   };
 
 
-  # A helper function to call gcc-wrapper.
-  wrapGCC =
-    { gcc, libc, binutils, coreutils, name }:
-
-    lib.makeOverridable (import ../../build-support/gcc-wrapper) {
-      nativeTools = false;
-      nativeLibc = false;
-      inherit gcc binutils coreutils libc name;
-      stdenv = stage0.stdenv;
-    };
-
-
   # This function builds the various standard environments used during
   # the bootstrap.  In all stages, we build an stdenv and the package
   # set that can be built with that stdenv.
   stageFun =
-    {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? []}:
+    {gccPlain, glibc, binutils, coreutils, name, overrides ? (pkgs: {}), extraBuildInputs ? []}:
 
     let
 
       thisStdenv = import ../generic {
-        inherit system config;
+        inherit system config extraBuildInputs;
         name = "stdenv-linux-boot";
         preHook =
           ''
@@ -94,15 +79,33 @@ rec {
             ${commonPreHook}
           '';
         shell = "${bootstrapTools}/bin/sh";
-        initialPath = [bootstrapTools] ++ extraPath;
+        initialPath = [bootstrapTools];
         fetchurlBoot = import ../../build-support/fetchurl {
           stdenv = stage0.stdenv;
           curl = bootstrapTools;
         };
-        inherit gcc;
-        # Having the proper 'platform' in all the stdenvs allows getting proper
-        # linuxHeaders for example.
-        extraAttrs = extraAttrs // { inherit platform; };
+
+        cc = if isNull gccPlain
+             then "/no-such-path"
+             else lib.makeOverridable (import ../../build-support/cc-wrapper) {
+          nativeTools = false;
+          nativeLibc = false;
+          cc = gccPlain;
+          libc = glibc;
+          inherit binutils coreutils;
+          name = name;
+          stdenv = stage0.stdenv;
+        };
+
+        extraAttrs = {
+          # 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.
+          inherit glibc;
+        };
         overrides = pkgs: (overrides pkgs) // { fetchurl = thisStdenv.fetchurlBoot; };
       };
 
@@ -117,7 +120,11 @@ rec {
   # Build a dummy stdenv with no GCC or working fetchurl.  This is
   # because we need a stdenv to build the GCC wrapper and fetchurl.
   stage0 = stageFun {
-    gcc = "/no-such-path";
+    gccPlain = null;
+    glibc = null;
+    binutils = null;
+    coreutils = null;
+    name = null;
 
     overrides = pkgs: {
       # The Glibc include directory cannot have the same prefix as the
@@ -148,17 +155,23 @@ rec {
   # simply re-export those packages in the middle stage(s) using the
   # overrides attribute and the inherit syntax.
   stage1 = stageFun {
-    gcc = wrapGCC {
-      gcc = bootstrapTools;
-      libc = stage0.pkgs.glibc;
-      binutils = bootstrapTools;
-      coreutils = bootstrapTools;
-      name = "bootstrap-gcc-wrapper";
-    };
+    gccPlain = bootstrapTools;
+    inherit (stage0.pkgs) glibc;
+    binutils = bootstrapTools;
+    coreutils = bootstrapTools;
+    name = "bootstrap-gcc-wrapper";
+
     # Rebuild binutils to use from stage2 onwards.
     overrides = pkgs: {
       binutils = pkgs.binutils.override { gold = false; };
       inherit (stage0.pkgs) glibc;
+
+      # A threaded perl build needs glibc/libpthread_nonshared.a,
+      # which is not included in bootstrapTools, so disable threading.
+      # This is not an issue for the final stdenv, because this perl
+      # won't be included in the final stdenv and won't be exported to
+      # top-level pkgs as an override either.
+      perl = pkgs.perl.override { enableThreading = false; };
     };
   };
 
@@ -166,13 +179,12 @@ rec {
   # 2nd stdenv that contains our own rebuilt binutils and is used for
   # compiling our own Glibc.
   stage2 = stageFun {
-    gcc = wrapGCC {
-      gcc = bootstrapTools;
-      libc = stage1.pkgs.glibc;
-      binutils = stage1.pkgs.binutils;
-      coreutils = bootstrapTools;
-      name = "bootstrap-gcc-wrapper";
-    };
+    gccPlain = bootstrapTools;
+    inherit (stage1.pkgs) glibc;
+    binutils = stage1.pkgs.binutils;
+    coreutils = bootstrapTools;
+    name = "bootstrap-gcc-wrapper";
+
     overrides = pkgs: {
       inherit (stage1.pkgs) perl binutils paxctl;
       # This also contains the full, dynamically linked, final Glibc.
@@ -184,46 +196,53 @@ rec {
   # one uses the rebuilt Glibc from stage2.  It still uses the recent
   # binutils and rest of the bootstrap tools, including GCC.
   stage3 = stageFun {
-    gcc = wrapGCC {
-      gcc = bootstrapTools;
-      libc = stage2.pkgs.glibc;
-      binutils = stage2.pkgs.binutils;
-      coreutils = bootstrapTools;
-      name = "bootstrap-gcc-wrapper";
-    };
+    gccPlain = bootstrapTools;
+    inherit (stage2.pkgs) glibc binutils;
+    coreutils = bootstrapTools;
+    name = "bootstrap-gcc-wrapper";
+
     overrides = pkgs: {
-      inherit (stage2.pkgs) binutils glibc perl;
+      inherit (stage2.pkgs) binutils glibc perl patchelf linuxHeaders;
       # Link GCC statically against GMP etc.  This makes sense because
       # these builds of the libraries are only used by GCC, so it
       # reduces the size of the stdenv closure.
       gmp = pkgs.gmp.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       mpfr = pkgs.mpfr.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-      mpc = pkgs.mpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
+      libmpc = pkgs.libmpc.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       isl = pkgs.isl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
       cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
-      ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; };
+      gccPlain = pkgs.gcc.cc;
     };
-    extraAttrs = {
-      glibc = stage2.pkgs.glibc;  # Required by gcc47 build
-    };
-    extraPath = [ stage2.pkgs.patchelf stage2.pkgs.paxctl ];
+    extraBuildInputs = [ stage2.pkgs.patchelf stage2.pkgs.paxctl ];
   };
 
 
   # Construct a fourth stdenv that uses the new GCC.  But coreutils is
   # still from the bootstrap tools.
   stage4 = stageFun {
-    gcc = wrapGCC {
-      gcc = stage3.pkgs.gcc.gcc;
-      libc = stage3.pkgs.glibc;
-      binutils = stage3.pkgs.binutils;
-      coreutils = bootstrapTools;
-      name = "";
-    };
-    extraPath = [ stage2.pkgs.patchelf stage3.pkgs.xz ];
+    inherit (stage3.pkgs) gccPlain glibc binutils;
+    coreutils = bootstrapTools;
+    name = "";
+
     overrides = pkgs: {
-      inherit (stage3.pkgs) gettext gnum4 gmp perl glibc;
+      # Zlib has to be inherited and not rebuilt in this stage,
+      # because gcc (since JAR support) already depends on zlib, and
+      # then if we already have a zlib we want to use that for the
+      # other purposes (binutils and top-level pkgs) too.
+      inherit (stage3.pkgs) gettext gnum4 gmp perl glibc zlib linuxHeaders;
+
+      gcc = lib.makeOverridable (import ../../build-support/cc-wrapper) {
+        nativeTools = false;
+        nativeLibc = false;
+        cc = stage4.stdenv.cc.cc;
+        libc = stage4.pkgs.glibc;
+        inherit (stage4.pkgs) binutils coreutils;
+        name = "";
+        stdenv = stage4.stdenv;
+        shell = stage4.pkgs.bash + "/bin/bash";
+      };
     };
+    extraBuildInputs = [ stage3.pkgs.patchelf stage3.pkgs.xz ];
   };
 
 
@@ -250,14 +269,9 @@ rec {
 
     extraBuildInputs = [ stage4.pkgs.patchelf stage4.pkgs.paxctl ];
 
-    shell = stage4.pkgs.bash + "/bin/bash";
+    cc = stage4.pkgs.gcc;
 
-    gcc = (wrapGCC rec {
-      gcc = stage4.stdenv.gcc.gcc;
-      libc = stage4.pkgs.glibc;
-      inherit (stage4.pkgs) binutils coreutils;
-      name = "";
-    }).override { inherit shell; };
+    shell = cc.shell;
 
     inherit (stage4.stdenv) fetchurlBoot;
 
@@ -267,13 +281,70 @@ rec {
       shellPackage = stage4.pkgs.bash;
     };
 
+    /* outputs TODO
+    allowedRequisites = with stage4.pkgs;
+      [ gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
+        glibc gnumake gnused gnutar gnugrep gnupatch patchelf attr acl
+        paxctl zlib pcre linuxHeaders ed gcc gcc.cc libsigsegv
+      ];
+      */
+
     overrides = pkgs: {
-      inherit gcc;
+      gcc = cc;
+
       inherit (stage4.pkgs)
         gzip bzip2 xz bash binutils coreutils diffutils findutils gawk
         glibc gnumake gnused gnutar gnugrep gnupatch patchelf
-        attr acl paxctl;
+        attr acl paxctl zlib pcre;
     };
   };
 
+
+  testBootstrapTools = let
+    defaultPkgs = allPackages { inherit system platform; };
+  in derivation {
+    name = "test-bootstrap-tools";
+    inherit system;
+    builder = bootstrapFiles.busybox;
+    args = [ "ash" "-e" "-c" "eval \"$buildCommand\"" ];
+
+    buildCommand = ''
+      export PATH=${bootstrapTools}/bin
+
+      ls -l
+      mkdir $out
+      mkdir $out/bin
+      sed --version
+      find --version
+      diff --version
+      patch --version
+      make --version
+      awk --version
+      grep --version
+      gcc --version
+      curl --version
+
+      ldlinux=$(echo ${bootstrapTools}/lib/ld-linux*.so.?)
+      export CPP="cpp -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools}"
+      export CC="gcc -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib"
+      export CXX="g++ -idirafter ${bootstrapTools}/include-glibc -B${bootstrapTools} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${bootstrapTools}/lib"
+
+      echo '#include <stdio.h>' >> foo.c
+      echo '#include <limits.h>' >> foo.c
+      echo 'int main() { printf("Hello World\\n"); return 0; }' >> foo.c
+      $CC -o $out/bin/foo foo.c
+      $out/bin/foo
+
+      echo '#include <iostream>' >> bar.cc
+      echo 'int main() { std::cout << "Hello World\\n"; }' >> bar.cc
+      $CXX -v -o $out/bin/bar bar.cc
+      $out/bin/bar
+
+      tar xvf ${defaultPkgs.hello.src}
+      cd hello-*
+      ./configure --prefix=$out
+      make
+      make install
+    '';
+  };
 }
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
new file mode 100644
index 00000000000..013aa12d956
--- /dev/null
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -0,0 +1,255 @@
+{system ? builtins.currentSystem}:
+
+let buildFor = toolsArch: (
+
+let
+  pkgsFun = import ../../top-level/all-packages.nix;
+  pkgsNoParams = pkgsFun {};
+  
+  sheevaplugCrossSystem = {
+    crossSystem = rec {
+      config = "armv5tel-unknown-linux-gnueabi";
+      bigEndian = false;
+      arch = "arm";
+      float = "soft";
+      withTLS = true;
+      libc = "glibc";
+      platform = pkgsNoParams.platforms.sheevaplug;
+      openssl.system = "linux-generic32";
+    };
+  };
+  
+  raspberrypiCrossSystem = {
+    crossSystem = rec {
+      config = "armv6l-unknown-linux-gnueabi";  
+      bigEndian = false;
+      arch = "arm";
+      float = "hard";
+      fpu = "vfp";
+      withTLS = true;
+      libc = "glibc";
+      platform = pkgsNoParams.platforms.raspberrypi;
+      openssl.system = "linux-generic32";
+      inherit (platform) gcc;
+    };
+  };
+  
+  beagleboneCrossSystem = {
+    crossSystem = rec {
+      config = "armv7l-unknown-linux-gnueabi";  
+      bigEndian = false;
+      arch = "arm";
+      float = "hard";
+      fpu = "vfpv3-d16";
+      withTLS = true;
+      libc = "glibc";
+      platform = pkgsNoParams.platforms.beaglebone;
+      openssl.system = "linux-generic32";
+      inherit (platform) gcc;
+    };
+  };
+  
+  selectedCrossSystem =
+    if toolsArch == "armv5tel" then sheevaplugCrossSystem else
+    if toolsArch == "armv6l" then raspberrypiCrossSystem else
+    if toolsArch == "armv7l" then beagleboneCrossSystem else null;
+
+  pkgs = pkgsFun ({inherit system;} // selectedCrossSystem);
+
+  inherit (pkgs) stdenv nukeReferences cpio binutilsCross;
+
+  glibc = pkgs.libcCross;
+  bash = pkgs.bash.crossDrv;
+  findutils = pkgs.findutils.crossDrv;
+  diffutils = pkgs.diffutils.crossDrv;
+  gnused = pkgs.gnused.crossDrv;
+  gnugrep = pkgs.gnugrep.crossDrv;
+  gawk = pkgs.gawk.crossDrv;
+  gnutar = pkgs.gnutar.crossDrv;
+  gzip = pkgs.gzip.crossDrv;
+  bzip2 = pkgs.bzip2.crossDrv;
+  gnumake = pkgs.gnumake.crossDrv;
+  patch = pkgs.patch.crossDrv;
+  patchelf = pkgs.patchelf.crossDrv;
+  gcc = pkgs.gcc.cc.crossDrv;
+  gmpxx = pkgs.gmpxx.crossDrv;
+  mpfr = pkgs.mpfr.crossDrv;
+  ppl = pkgs.ppl.crossDrv;
+  cloogppl = pkgs.cloogppl.crossDrv;
+  cloog = pkgs.cloog.crossDrv;
+  zlib = pkgs.zlib.crossDrv;
+  isl = pkgs.isl.crossDrv;
+  libmpc = pkgs.libmpc.crossDrv;
+  binutils = pkgs.binutils.crossDrv;
+  libelf = pkgs.libelf.crossDrv;
+
+in
+
+rec {
+
+  # We want coreutils without ACL support.
+  coreutilsMinimal = (pkgs.coreutils.override (args: {
+    aclSupport = false;
+  })).crossDrv;
+  
+  curlMinimal = (pkgs.curl.override {
+    zlibSupport = false;
+    sslSupport = false;
+    scpSupport = false;
+  }).crossDrv;
+  
+  busyboxMinimal = (pkgs.busybox.override {
+    # TBD: uClibc is broken.
+    # useUclibc = true;
+    enableStatic = true;
+    enableMinimal = true;
+    extraConfig = ''
+      CONFIG_ASH y
+      CONFIG_ASH_BUILTIN_ECHO y
+      CONFIG_ASH_BUILTIN_TEST y
+      CONFIG_ASH_OPTIMIZE_FOR_SIZE y
+      CONFIG_MKDIR y
+      CONFIG_TAR y
+      CONFIG_UNXZ y
+    '';
+  }).crossDrv;
+  
+  inherit pkgs;
+
+  build = 
+
+    stdenv.mkDerivation {
+      name = "build";
+
+      buildInputs = [nukeReferences cpio binutilsCross];
+
+      crossConfig = stdenv.cross.config;
+
+      buildCommand = ''
+	set -x
+        mkdir -p $out/bin $out/lib $out/libexec
+
+        # Copy what we need of Glibc.
+        cp -d ${glibc}/lib/ld-*.so* $out/lib
+        cp -d ${glibc}/lib/libc*.so* $out/lib
+        cp -d ${glibc}/lib/libc_nonshared.a $out/lib
+        cp -d ${glibc}/lib/libm*.so* $out/lib
+        cp -d ${glibc}/lib/libdl*.so* $out/lib
+        cp -d ${glibc}/lib/librt*.so*  $out/lib
+        cp -d ${glibc}/lib/libpthread*.so* $out/lib
+        cp -d ${glibc}/lib/libnsl*.so* $out/lib
+        cp -d ${glibc}/lib/libutil*.so* $out/lib
+        cp -d ${glibc}/lib/libnss*.so* $out/lib
+        cp -d ${glibc}/lib/libresolv*.so* $out/lib
+        cp -d ${glibc}/lib/crt?.o $out/lib
+        
+        cp -rL ${glibc}/include $out
+        chmod -R u+w $out/include
+        
+        # Hopefully we won't need these.
+        rm -rf $out/include/mtd $out/include/rdma $out/include/sound $out/include/video
+        find $out/include -name .install -exec rm {} \;
+        find $out/include -name ..install.cmd -exec rm {} \;
+        mv $out/include $out/include-glibc
+        
+        # Copy coreutils, bash, etc.
+        cp ${coreutilsMinimal}/bin/* $out/bin
+        (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users)
+        
+        cp ${bash}/bin/bash $out/bin
+        cp ${findutils}/bin/find $out/bin
+        cp ${findutils}/bin/xargs $out/bin
+        cp -d ${diffutils}/bin/* $out/bin
+        cp -d ${gnused}/bin/* $out/bin
+        cp -d ${gnugrep}/bin/grep $out/bin
+        cp ${gawk}/bin/gawk $out/bin
+        cp -d ${gawk}/bin/awk $out/bin
+        cp ${gnutar}/bin/tar $out/bin
+        cp ${gzip}/bin/gzip $out/bin
+        cp ${bzip2}/bin/bzip2 $out/bin
+        cp -d ${gnumake}/bin/* $out/bin
+        cp -d ${patch}/bin/* $out/bin
+        cp ${patchelf}/bin/* $out/bin
+        cp ${curlMinimal}/bin/curl $out/bin
+        cp -d ${curlMinimal}/lib/libcurl* $out/lib
+
+        cp -d ${gnugrep.pcre.crossDrv}/lib/libpcre*.so* $out/lib # needed by grep
+        
+        # Copy what we need of GCC.
+        cp -d ${gcc}/bin/gcc $out/bin
+        cp -d ${gcc}/bin/cpp $out/bin
+        cp -d ${gcc}/bin/g++ $out/bin
+        cp -d ${gcc}/lib*/libgcc_s.so* $out/lib
+        cp -d ${gcc}/lib*/libstdc++.so* $out/lib
+        cp -rd ${gcc}/lib/gcc $out/lib
+        chmod -R u+w $out/lib
+        rm -f $out/lib/gcc/*/*/include*/linux
+        rm -f $out/lib/gcc/*/*/include*/sound
+        rm -rf $out/lib/gcc/*/*/include*/root
+        rm -f $out/lib/gcc/*/*/include-fixed/asm
+        rm -rf $out/lib/gcc/*/*/plugin
+        #rm -f $out/lib/gcc/*/*/*.a
+        cp -rd ${gcc}/libexec/* $out/libexec
+        chmod -R u+w $out/libexec
+        rm -rf $out/libexec/gcc/*/*/plugin
+        mkdir $out/include
+        cp -rd ${gcc}/include/c++ $out/include
+        chmod -R u+w $out/include
+        rm -rf $out/include/c++/*/ext/pb_ds
+        rm -rf $out/include/c++/*/ext/parallel
+
+        cp -d ${gmpxx}/lib/libgmp*.so* $out/lib
+        cp -d ${mpfr}/lib/libmpfr*.so* $out/lib
+        cp -d ${libmpc}/lib/libmpc*.so* $out/lib
+        cp -d ${zlib}/lib/libz.so* $out/lib
+        cp -d ${libelf}/lib/libelf.so* $out/lib
+        
+        # TBD: Why are these needed for cross but not native tools?
+        cp -d ${cloogppl}/lib/libcloog*.so* $out/lib
+        cp -d ${cloog}/lib/libcloog*.so* $out/lib
+        cp -d ${isl}/lib/libisl*.so* $out/lib
+        
+        # Copy binutils.
+        for i in as ld ar ranlib nm strip readelf objdump; do
+          cp ${binutils}/bin/$i $out/bin
+        done
+        cp -d ${binutils}/lib/lib*.so* $out/lib
+
+        chmod -R u+w $out
+        
+        # Strip executables even further.
+        for i in $out/bin/* $out/libexec/gcc/*/*/*; do
+            if test -x $i -a ! -L $i; then
+                chmod +w $i
+                $crossConfig-strip -s $i || true
+            fi
+        done
+
+        nuke-refs $out/bin/*
+        nuke-refs $out/lib/*
+        nuke-refs $out/libexec/gcc/*/*/*
+
+        mkdir $out/.pack
+        mv $out/* $out/.pack
+        mv $out/.pack $out/pack
+
+        mkdir $out/on-server
+        tar cvfJ $out/on-server/bootstrap-tools.tar.xz -C $out/pack .
+        cp ${busyboxMinimal}/bin/busybox $out/on-server
+        chmod u+w $out/on-server/busybox
+        nuke-refs $out/on-server/busybox
+      ''; # */
+
+      # The result should not contain any references (store paths) so
+      # that we can safely copy them out of the store and to other
+      # locations in the store.
+      allowedReferences = [];
+    };
+
+}
+
+); in {
+    armv5tel = buildFor "armv5tel";
+    armv6l = buildFor "armv6l";
+    armv7l = buildFor "armv7l";
+}
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
deleted file mode 100644
index 3abffc46926..00000000000
--- a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix
+++ /dev/null
@@ -1,269 +0,0 @@
-{system ? builtins.currentSystem}:
-
-let
-  pkgsFun = import ../../top-level/all-packages.nix;
-  pkgsNoParams = pkgsFun {};
-  raspberrypiCrossSystem = {
-    crossSystem = {
-      config = "armv6l-unknown-linux-gnueabi";  
-      bigEndian = false;
-      arch = "arm";
-      float = "hard";
-      fpu = "vfp";
-      withTLS = true;
-      libc = "glibc";
-      platform = pkgsNoParams.platforms.raspberrypi;
-      openssl.system = "linux-generic32";
-      gcc = {
-        arch = "armv6";
-        fpu = "vfp";
-        float = "hard";
-      };
-    };
-  };
-
-  raspberrypiCrossSystemUclibc = {
-    crossSystem = {
-      config = "armv6l-unknown-linux-gnueabi";  
-      bigEndian = false;
-      arch = "arm";
-      float = "hard";
-      fpu = "vfp";
-      withTLS = true;
-      libc = "uclibc";
-      platform = pkgsNoParams.platforms.raspberrypi;
-      openssl.system = "linux-generic32";
-      gcc = {
-        arch = "armv6";
-        fpu = "vfp";
-        float = "hard";
-      };
-      uclibc.extraConfig = ''
-        ARCH_WANTS_BIG_ENDIAN n
-        ARCH_BIG_ENDIAN n
-        ARCH_WANTS_LITTLE_ENDIAN y
-        ARCH_LITTLE_ENDIAN y
-      '';
-    };
-  };
-
-  pkgsuclibc = pkgsFun ({inherit system;} // raspberrypiCrossSystemUclibc);
-  pkgs = pkgsFun ({inherit system;} // raspberrypiCrossSystem);
-
-  inherit (pkgs) stdenv nukeReferences cpio binutilsCross;
-
-  # We want coreutils without ACL support.
-  coreutils_base = pkgs.coreutils.override (args: {
-    aclSupport = false;
-  });
-
-  coreutils_ = coreutils_base.crossDrv;
-
-  glibc = pkgs.libcCross;
-  bash = pkgs.bash.crossDrv;
-  findutils = pkgs.findutils.crossDrv;
-  diffutils = pkgs.diffutils.crossDrv;
-  gnused = pkgs.gnused.crossDrv;
-  gnugrep = pkgs.gnugrep.crossDrv;
-  gawk = pkgs.gawk.crossDrv;
-  gnutar = pkgs.gnutar.crossDrv;
-  gzip = pkgs.gzip.crossDrv;
-  bzip2 = pkgs.bzip2.crossDrv;
-  gnumake = pkgs.gnumake.crossDrv;
-  patch = pkgs.patch.crossDrv;
-  patchelf = pkgs.patchelf.crossDrv;
-  replace = pkgs.replace.crossDrv;
-  gcc = pkgs.gcc;
-  gmp = pkgs.gmp.crossDrv;
-  mpfr = pkgs.mpfr.crossDrv;
-  ppl = pkgs.ppl.crossDrv;
-  cloogppl = pkgs.cloogppl.crossDrv;
-  cloog = pkgs.cloog.crossDrv;
-  zlib = pkgs.zlib.crossDrv;
-  isl = pkgs.isl.crossDrv;
-  mpc = pkgs.mpc.crossDrv;
-  binutils = pkgs.binutils.crossDrv;
-  klibc = pkgs.linuxPackages.klibc.crossDrv;
-
-in
-
-rec {
-
-  curlStatic = import <nixpkgs/pkgs/tools/networking/curl> {
-    stdenv = pkgsuclibc.stdenv;
-    inherit (pkgsuclibc) fetchurl;
-    zlibSupport = false;
-    sslSupport = false;
-    linkStatic = true;
-  };
-
-  bzip2Static = import <nixpkgs/pkgs/tools/compression/bzip2> {
-    stdenv = pkgsuclibc.stdenv;
-    inherit (pkgsuclibc) fetchurl;
-    linkStatic = true;
-  };
-
-  inherit pkgs;
-
-  build = 
-
-    stdenv.mkDerivation {
-      name = "build";
-
-      buildInputs = [nukeReferences cpio binutilsCross];
-
-      crossConfig = stdenv.cross.config;
-
-      buildCommand = ''
-	set -x
-        mkdir -p $out/bin $out/lib $out/libexec
-
-        # Copy what we need of Glibc.
-        cp -d ${glibc}/lib/ld-*.so* $out/lib
-        cp -d ${glibc}/lib/libc*.so* $out/lib
-        cp -d ${glibc}/lib/libc_nonshared.a $out/lib
-        cp -d ${glibc}/lib/libm*.so* $out/lib
-        cp -d ${glibc}/lib/libdl*.so* $out/lib
-        cp -d ${glibc}/lib/librt*.so*  $out/lib
-        cp -d ${glibc}/lib/libpthread*.so* $out/lib
-        cp -d ${glibc}/lib/libnsl*.so* $out/lib
-        cp -d ${glibc}/lib/libutil*.so* $out/lib
-        cp -d ${glibc}/lib/crt?.o $out/lib
-        
-        cp -rL ${glibc}/include $out
-        chmod -R u+w $out/include
-        
-        # Hopefully we won't need these.
-        rm -rf $out/include/mtd $out/include/rdma $out/include/sound $out/include/video
-        find $out/include -name .install -exec rm {} \;
-        find $out/include -name ..install.cmd -exec rm {} \;
-        mv $out/include $out/include-glibc
-        
-        # Copy coreutils, bash, etc.
-        cp ${coreutils_}/bin/* $out/bin
-        (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users)
-        
-        cp ${bash}/bin/bash $out/bin
-        cp ${findutils}/bin/find $out/bin
-        cp ${findutils}/bin/xargs $out/bin
-        cp -d ${diffutils}/bin/* $out/bin
-        cp -d ${gnused}/bin/* $out/bin
-        cp -d ${gnugrep}/bin/* $out/bin
-        cp ${gawk}/bin/gawk $out/bin
-        cp -d ${gawk}/bin/awk $out/bin
-        cp ${gnutar}/bin/tar $out/bin
-        cp ${gzip}/bin/gzip $out/bin
-        cp ${bzip2}/bin/bzip2 $out/bin
-        cp -d ${gnumake}/bin/* $out/bin
-        cp -d ${patch}/bin/* $out/bin
-        cp ${patchelf}/bin/* $out/bin
-        cp ${replace}/bin/* $out/bin
-
-        cp -d ${gnugrep.pcre.crossDrv}/lib/libpcre*.so* $out/lib # needed by grep
-        
-        # Copy what we need of GCC.
-        cp -d ${gcc.gcc.crossDrv}/bin/gcc $out/bin
-        cp -d ${gcc.gcc.crossDrv}/bin/cpp $out/bin
-        cp -d ${gcc.gcc.crossDrv}/bin/g++ $out/bin
-        cp -d ${gcc.gcc.crossDrv}/lib*/libgcc_s.so* $out/lib
-        cp -d ${gcc.gcc.crossDrv}/lib*/libstdc++.so* $out/lib
-        cp -rd ${gcc.gcc.crossDrv}/lib/gcc $out/lib
-        chmod -R u+w $out/lib
-        rm -f $out/lib/gcc/*/*/include*/linux
-        rm -f $out/lib/gcc/*/*/include*/sound
-        rm -rf $out/lib/gcc/*/*/include*/root
-        rm -f $out/lib/gcc/*/*/include-fixed/asm
-        rm -rf $out/lib/gcc/*/*/plugin
-        #rm -f $out/lib/gcc/*/*/*.a
-        cp -rd ${gcc.gcc.crossDrv}/libexec/* $out/libexec
-        mkdir $out/include
-        cp -rd ${gcc.gcc.crossDrv}/include/c++ $out/include
-        chmod -R u+w $out/include
-        rm -rf $out/include/c++/*/ext/pb_ds
-        rm -rf $out/include/c++/*/ext/parallel
-
-        cp -d ${gmp}/lib/libgmp*.so* $out/lib
-        cp -d ${mpfr}/lib/libmpfr*.so* $out/lib
-        cp -d ${cloogppl}/lib/libcloog*.so* $out/lib
-        cp -d ${cloog}/lib/libcloog*.so* $out/lib
-        cp -d ${ppl}/lib/libppl*.so* $out/lib
-        cp -d ${isl}/lib/libisl*.so* $out/lib
-        cp -d ${mpc}/lib/libmpc*.so* $out/lib
-        cp -d ${zlib}/lib/libz.so* $out/lib
-        
-        # Copy binutils.
-        for i in as ld ar ranlib nm strip readelf objdump; do
-          cp ${binutils}/bin/$i $out/bin
-        done
-
-        chmod -R u+w $out
-        
-        # Strip executables even further.
-        for i in $out/bin/* $out/libexec/gcc/*/*/*; do
-            if test -x $i -a ! -L $i; then
-                chmod +w $i
-                $crossConfig-strip -s $i || true
-            fi
-        done
-
-        nuke-refs $out/bin/*
-        nuke-refs $out/lib/*
-        nuke-refs $out/libexec/gcc/*/*/*
-        nuke-refs $out/libexec/gcc/*/*/*/*
-
-        mkdir $out/.pack
-        mv $out/* $out/.pack
-        mv $out/.pack $out/pack
-
-        mkdir $out/on-server
-        (cd $out/pack && (find | cpio -o -H newc)) | bzip2 > $out/on-server/bootstrap-tools.cpio.bz2
-
-        mkdir $out/in-nixpkgs
-        cp ${klibc}/lib/klibc/bin.static/sh $out/in-nixpkgs
-        cp ${klibc}/lib/klibc/bin.static/cpio $out/in-nixpkgs
-        cp ${klibc}/lib/klibc/bin.static/mkdir $out/in-nixpkgs
-        cp ${klibc}/lib/klibc/bin.static/ln $out/in-nixpkgs
-        cp ${curlStatic.crossDrv}/bin/curl $out/in-nixpkgs
-        cp ${bzip2Static.crossDrv}/bin/bzip2 $out/in-nixpkgs
-        chmod u+w $out/in-nixpkgs/*
-        $crossConfig-strip $out/in-nixpkgs/*
-        nuke-refs $out/in-nixpkgs/*
-        bzip2 $out/in-nixpkgs/curl
-      ''; # */
-
-      # The result should not contain any references (store paths) so
-      # that we can safely copy them out of the store and to other
-      # locations in the store.
-      allowedReferences = [];
-    };
-
-  
-  unpack =
-    
-    stdenv.mkDerivation {
-      name = "unpack";
-
-      buildCommand = ''
-        ${build}/in-nixpkgs/mkdir $out
-        ${build}/in-nixpkgs/bzip2 -d < ${build}/on-server/bootstrap-tools.cpio.bz2 | (cd $out && ${build}/in-nixpkgs/cpio -V -i)
-
-        for i in $out/bin/* $out/libexec/gcc/*/*/*; do
-            echo patching $i
-            if ! test -L $i; then
-                LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \
-                    $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath $i
-            fi
-        done
-
-        # Fix the libc linker script.
-        for i in $out/lib/libc.so; do
-            cat $i | sed "s|/nix/store/e*-[^/]*/|$out/|g" > $i.tmp
-            mv $i.tmp $i
-        done
-      ''; # " */
-
-      allowedReferences = ["out"];
-    };
-
-    
-}
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 9116b222569..3ad81476c2e 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -1,4 +1,4 @@
-{system ? builtins.currentSystem}:
+{ system ? builtins.currentSystem }:
 
 with import ../../top-level/all-packages.nix {inherit system;};
 
@@ -6,84 +6,32 @@ rec {
 
 
   # We want coreutils without ACL support.
-  coreutils_ = coreutils.override (args: {
+  coreutilsMinimal = coreutils.override (args: {
     aclSupport = false;
   });
 
-  # bzip2 wants utime.h, a header 'legacy' in uclibc
-  uclibcForBzip2 = uclibc.override {
-    extraConfig = ''
-        UCLIBC_SUSV3_LEGACY y
-        UCLIBC_SUSV4_LEGACY y
-    '';
-  };
-
-  gccLinkStatic = wrapGCCWith (import ../../build-support/gcc-wrapper) uclibcForBzip2
-    stdenv.gcc.gcc;
-  stdenvLinkStatic = overrideGCC stdenv gccLinkStatic;
-
-  curlStatic = import ../../tools/networking/curl {
-    stdenv = stdenvLinkStatic;
-    inherit fetchurl;
+  curlMinimal = curl.override {
     zlibSupport = false;
     sslSupport = false;
-    linkStatic = true;
-  };
-
-
-  bzip2Static = import ../../tools/compression/bzip2 {
-    stdenv = stdenvLinkStatic;
-    inherit fetchurl;
-    linkStatic = true;
+    scpSupport = false;
   };
 
-  #gccNoShared = wrapGCC ( gcc.gcc.override { enableShared = false; } );
-
-  busyboxStaticSh = busybox.override {
+  busyboxMinimal = busybox.override {
+    useUclibc = true;
+    enableStatic = true;
+    enableMinimal = true;
     extraConfig = ''
-      CLEAR
-      CONFIG_STATIC y
-
       CONFIG_ASH y
-      CONFIG_BASH_COMPAT y
-      CONFIG_ASH_ALIAS y
-      CONFIG_ASH_GETOPTS y
-      CONFIG_ASH_CMDCMD y
-      CONFIG_ASH_JOB_CONTROL y
       CONFIG_ASH_BUILTIN_ECHO y
-      CONFIG_ASH_BUILTIN_PRINTF y
       CONFIG_ASH_BUILTIN_TEST y
-    '';
-  };
-
-  busyboxStaticLn = busybox.override {
-    extraConfig = ''
-      CLEAR
-      CONFIG_STATIC y
-      CONFIG_LN y
-    '';
-  };
-
-  busyboxStaticMkdir = busybox.override {
-    extraConfig = ''
-      CLEAR
-      CONFIG_STATIC y
+      CONFIG_ASH_OPTIMIZE_FOR_SIZE y
       CONFIG_MKDIR y
+      CONFIG_TAR y
+      CONFIG_UNXZ y
     '';
   };
 
-  busyboxStaticCpio = busybox.override {
-    extraConfig = ''
-      CLEAR
-      CONFIG_STATIC y
-      CONFIG_CPIO y
-      # (shlevy) Are these necessary?
-      CONFIG_FEATURE_CPIO_O y
-      CONFIG_FEATURE_CPIO_P y
-    '';
-  };
-
-  build = 
+  build =
 
     stdenv.mkDerivation {
       name = "build";
@@ -91,7 +39,7 @@ rec {
       buildInputs = [nukeReferences cpio];
 
       buildCommand = ''
-	set -x
+        set -x
         mkdir -p $out/bin $out/lib $out/libexec
 
         # Copy what we need of Glibc.
@@ -104,27 +52,29 @@ rec {
         cp -d ${glibc}/lib/libpthread*.so* $out/lib
         cp -d ${glibc}/lib/libnsl*.so* $out/lib
         cp -d ${glibc}/lib/libutil*.so* $out/lib
+        cp -d ${glibc}/lib/libnss*.so* $out/lib
+        cp -d ${glibc}/lib/libresolv*.so* $out/lib
         cp -d ${glibc}/lib/crt?.o $out/lib
-        
+
         cp -rL ${glibc}/include $out
         chmod -R u+w $out/include
-        
+
         # Hopefully we won't need these.
         rm -rf $out/include/mtd $out/include/rdma $out/include/sound $out/include/video
         find $out/include -name .install -exec rm {} \;
         find $out/include -name ..install.cmd -exec rm {} \;
         mv $out/include $out/include-glibc
-        
+
         # Copy coreutils, bash, etc.
-        cp ${coreutils_}/bin/* $out/bin
+        cp ${coreutilsMinimal}/bin/* $out/bin
         (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users)
-        
+
         cp ${bash}/bin/bash $out/bin
         cp ${findutils}/bin/find $out/bin
         cp ${findutils}/bin/xargs $out/bin
         cp -d ${diffutils}/bin/* $out/bin
         cp -d ${gnused}/bin/* $out/bin
-        cp -d ${gnugrep}/bin/* $out/bin
+        cp -d ${gnugrep}/bin/grep $out/bin
         cp ${gawk}/bin/gawk $out/bin
         cp -d ${gawk}/bin/awk $out/bin
         cp ${gnutar}/bin/tar $out/bin
@@ -133,16 +83,18 @@ rec {
         cp -d ${gnumake}/bin/* $out/bin
         cp -d ${patch}/bin/* $out/bin
         cp ${patchelf}/bin/* $out/bin
+        cp ${curlMinimal}/bin/curl $out/bin
+        cp -d ${curlMinimal}/lib/libcurl* $out/lib
 
         cp -d ${gnugrep.pcre}/lib/libpcre*.so* $out/lib # needed by grep
-        
+
         # Copy what we need of GCC.
-        cp -d ${gcc.gcc}/bin/gcc $out/bin
-        cp -d ${gcc.gcc}/bin/cpp $out/bin
-        cp -d ${gcc.gcc}/bin/g++ $out/bin
-        cp -d ${gcc.gcc}/lib*/libgcc_s.so* $out/lib
-        cp -d ${gcc.gcc}/lib*/libstdc++.so* $out/lib
-        cp -rd ${gcc.gcc}/lib/gcc $out/lib
+        cp -d ${gcc.cc}/bin/gcc $out/bin
+        cp -d ${gcc.cc}/bin/cpp $out/bin
+        cp -d ${gcc.cc}/bin/g++ $out/bin
+        cp -d ${gcc.cc}/lib*/libgcc_s.so* $out/lib
+        cp -d ${gcc.cc}/lib*/libstdc++.so* $out/lib
+        cp -rd ${gcc.cc}/lib/gcc $out/lib
         chmod -R u+w $out/lib
         rm -f $out/lib/gcc/*/*/include*/linux
         rm -f $out/lib/gcc/*/*/include*/sound
@@ -150,28 +102,29 @@ rec {
         rm -f $out/lib/gcc/*/*/include-fixed/asm
         rm -rf $out/lib/gcc/*/*/plugin
         #rm -f $out/lib/gcc/*/*/*.a
-        cp -rd ${gcc.gcc}/libexec/* $out/libexec
+        cp -rd ${gcc.cc}/libexec/* $out/libexec
+        chmod -R u+w $out/libexec
+        rm -rf $out/libexec/gcc/*/*/plugin
         mkdir $out/include
-        cp -rd ${gcc.gcc}/include/c++ $out/include
+        cp -rd ${gcc.cc}/include/c++ $out/include
         chmod -R u+w $out/include
         rm -rf $out/include/c++/*/ext/pb_ds
         rm -rf $out/include/c++/*/ext/parallel
 
         cp -d ${gmpxx}/lib/libgmp*.so* $out/lib
         cp -d ${mpfr}/lib/libmpfr*.so* $out/lib
-        cp -d ${ppl}/lib/libppl*.so* $out/lib
-        cp -d ${cloogppl}/lib/libcloog*.so* $out/lib
-        cp -d ${mpc}/lib/libmpc*.so* $out/lib
+        cp -d ${libmpc}/lib/libmpc*.so* $out/lib
         cp -d ${zlib}/lib/libz.so* $out/lib
         cp -d ${libelf}/lib/libelf.so* $out/lib
-        
+
         # Copy binutils.
         for i in as ld ar ranlib nm strip readelf objdump; do
           cp ${binutils}/bin/$i $out/bin
         done
+        cp -d ${binutils}/lib/lib*.so* $out/lib
 
         chmod -R u+w $out
-        
+
         # Strip executables even further.
         for i in $out/bin/* $out/libexec/gcc/*/*/*; do
             if test -x $i -a ! -L $i; then
@@ -189,19 +142,10 @@ rec {
         mv $out/.pack $out/pack
 
         mkdir $out/on-server
-        (cd $out/pack && (find | cpio -o -H newc)) | bzip2 > $out/on-server/bootstrap-tools.cpio.bz2
-
-        mkdir $out/in-nixpkgs
-        cp ${busyboxStaticSh}/bin/busybox $out/in-nixpkgs/sh
-        cp ${busyboxStaticCpio}/bin/busybox $out/in-nixpkgs/cpio
-        cp ${busyboxStaticMkdir}/bin/busybox $out/in-nixpkgs/mkdir
-        cp ${busyboxStaticLn}/bin/busybox $out/in-nixpkgs/ln
-        cp ${curlStatic}/bin/curl $out/in-nixpkgs
-        cp ${bzip2Static}/bin/bzip2 $out/in-nixpkgs
-        chmod u+w $out/in-nixpkgs/*
-        strip $out/in-nixpkgs/*
-        nuke-refs $out/in-nixpkgs/*
-        bzip2 $out/in-nixpkgs/curl
+        tar cvfJ $out/on-server/bootstrap-tools.tar.xz -C $out/pack .
+        cp ${busyboxMinimal}/bin/busybox $out/on-server
+        chmod u+w $out/on-server/busybox
+        nuke-refs $out/on-server/busybox
       ''; # */
 
       # The result should not contain any references (store paths) so
@@ -210,81 +154,12 @@ rec {
       allowedReferences = [];
     };
 
-  
-  unpack =
+  test = ((import ./default.nix) {
+    inherit system;
     
-    stdenv.mkDerivation {
-      name = "unpack";
-
-      buildCommand = ''
-        ${build}/in-nixpkgs/mkdir $out
-        ${build}/in-nixpkgs/bzip2 -d < ${build}/on-server/bootstrap-tools.cpio.bz2 | (cd $out && ${build}/in-nixpkgs/cpio -v -i)
-
-        for i in $out/bin/* $out/libexec/gcc/*/*/*; do
-            echo patching $i
-            if ! test -L $i; then
-                LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \
-                    $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath $i
-            fi
-        done
-
-        # Fix the libc linker script.
-        for i in $out/lib/libc.so; do
-            cat $i | sed "s|/nix/store/e*-[^/]*/|$out/|g" > $i.tmp
-            mv $i.tmp $i
-        done
-      ''; # " */
-
-      allowedReferences = ["out"];
+    customBootstrapFiles = {
+      busybox = "${build}/on-server/busybox";
+      bootstrapTools = "${build}/on-server/bootstrap-tools.tar.xz";
     };
-
-
-  test =
-
-    stdenv.mkDerivation {
-      name = "test";
-
-      realBuilder = "${unpack}/bin/bash";
-      
-      buildCommand = ''
-        export PATH=${unpack}/bin
-        ls -l
-        mkdir $out
-        mkdir $out/bin
-        sed --version
-        find --version
-        diff --version
-        patch --version
-        make --version
-        awk --version
-        grep --version
-        gcc --version
-
-        ${build}/in-nixpkgs/sh -c 'echo Hello World'
-
-        ldlinux=$(echo ${unpack}/lib/ld-linux*.so.2)
-
-        export CPP="cpp -idirafter ${unpack}/include-glibc -B${unpack}"
-        export CC="gcc -idirafter ${unpack}/include-glibc -B${unpack} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${unpack}/lib"
-        export CXX="g++ -idirafter ${unpack}/include-glibc -B${unpack} -Wl,-dynamic-linker,$ldlinux -Wl,-rpath,${unpack}/lib"
-        
-        echo '#include <stdio.h>' >> foo.c
-        echo '#include <limits.h>' >> foo.c
-        echo 'int main() { printf("Hello World\n"); return 0; }' >> foo.c
-        $CC -o $out/bin/foo foo.c
-        $out/bin/foo
-
-        echo '#include <iostream>' >> bar.cc
-        echo 'int main() { std::cout << "Hello World\n"; }' >> bar.cc
-        $CXX -v -o $out/bin/bar bar.cc
-        $out/bin/bar
-
-        tar xvf ${hello.src}
-        cd hello-*
-        ./configure --prefix=$out
-        make
-        make install
-      ''; # */
-    };
-    
+  }).testBootstrapTools;
 }
diff --git a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh
index dcf819ad6f7..4fe86776e3b 100644
--- a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh
+++ b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh
@@ -2,8 +2,8 @@ set -e
 
 # Unpack the bootstrap tools tarball.
 echo Unpacking the bootstrap tools...
-$mkdir $out
-$bzip2 -d < $tarball | (cd $out && $cpio -V -i)
+$builder mkdir $out
+< $tarball $builder unxz | $builder tar x -C $out
 
 # Set the ELF interpreter / RPATH in the bootstrap binaries.
 echo Patching the bootstrap tools...
@@ -23,7 +23,7 @@ for i in $out/bin/* $out/libexec/gcc/*/*/* $out/lib/librt*; do
     LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \
         $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib --force-rpath $i
 done
-for i in $out/lib/librt* $out/lib/libcloog* $out/lib/libppl* $out/lib/libgmp*; do
+for i in $out/lib/librt* $out/lib/libcloog* $out/lib/libppl* $out/lib/libgmp* $out/lib/libpcre*; do
     if ! test -f $i; then continue; fi
     if test -L $i; then continue; fi
     echo patching $i
@@ -44,13 +44,21 @@ mv $out/lib/libpthread.so.tmp $out/lib/libpthread.so
 ln -s bash $out/bin/sh
 ln -s bzip2 $out/bin/bunzip2
 
-# Mimic the gunzip script as in gzip installations
+# Provide a gunzip script
 cat > $out/bin/gunzip <<EOF
 #!$out/bin/sh
 exec $out/bin/gzip -d "\$@"
 EOF
 chmod +x $out/bin/gunzip
 
-# fetchurl needs curl.
-bzip2 -d < $curl > $out/bin/curl
-chmod +x $out/bin/curl
+# Provide fgrep/egrep.
+echo "#! $out/bin/sh" > $out/bin/egrep
+echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep
+echo "#! $out/bin/sh" > $out/bin/fgrep
+echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep
+
+# Provide xz (actually only xz -d will work).
+echo "#! $out/bin/sh" > $out/bin/xz
+echo "exec $builder unxz \"\$@\"" >> $out/bin/xz
+
+chmod +x $out/bin/egrep $out/bin/fgrep $out/bin/xz
diff --git a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh
index 422dc6dd5fe..efec363c5c7 100644
--- a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh
+++ b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools.sh
@@ -1,9 +1,7 @@
-set -e
-
 # Unpack the bootstrap tools tarball.
 echo Unpacking the bootstrap tools...
-$mkdir $out
-$bzip2 -d < $tarball | (cd $out && $cpio -i)
+$builder mkdir $out
+< $tarball $builder unxz | $builder tar x -C $out
 
 # Set the ELF interpreter / RPATH in the bootstrap binaries.
 echo Patching the bootstrap tools...
@@ -21,32 +19,17 @@ fi
 LD_LIBRARY_PATH=$out/lib $LD_BINARY $out/bin/cp $out/bin/patchelf .
 
 for i in $out/bin/* $out/libexec/gcc/*/*/*; do
-    echo patching $i
-    if ! test -L $i; then
-         LD_LIBRARY_PATH=$out/lib $LD_BINARY \
-             $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i
-         LD_LIBRARY_PATH=$out/lib $LD_BINARY \
-             $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i
-    fi
-done
-for i in $out/lib/librt* ; do
-    echo patching $i
-    if ! test -L $i; then
-         LD_LIBRARY_PATH=$out/lib $LD_BINARY \
-             $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i
-         LD_LIBRARY_PATH=$out/lib $LD_BINARY \
-             $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath $i
-    fi
+    if [ -L "$i" ]; then continue; fi
+    if [ -z "${i##*/liblto*}" ]; then continue; fi
+    echo patching "$i"
+    LD_LIBRARY_PATH=$out/lib $LD_BINARY \
+        $out/bin/patchelf --set-interpreter $LD_BINARY --set-rpath $out/lib --force-rpath "$i"
 done
 
-for i in $out/lib/libgmp* $out/lib/libppl* $out/lib/libcloog* $out/lib/libmpc* $out/lib/libpcre* $out/lib/libstdc++*.so.*[0-9]; do
-    echo trying to patch $i
-    if test -f $i -a ! -L $i; then
-         LD_LIBRARY_PATH=$out/lib $LD_BINARY \
-             $out/bin/patchelf --set-rpath $out/lib --force-rpath $i
-         LD_LIBRARY_PATH=$out/lib $LD_BINARY \
-             $out/bin/patchelf --set-rpath $out/lib --force-rpath $i
-    fi
+for i in $out/lib/librt-*.so $out/lib/libpcre*; do
+    if [ -L "$i" ]; then continue; fi
+    echo patching "$i"
+    $out/bin/patchelf --set-rpath $out/lib --force-rpath "$i"
 done
 
 # Fix the libc linker script.
@@ -60,13 +43,21 @@ mv $out/lib/libpthread.so.tmp $out/lib/libpthread.so
 ln -s bash $out/bin/sh
 ln -s bzip2 $out/bin/bunzip2
 
-# Mimic the gunzip script as in gzip installations
+# Provide a gunzip script.
 cat > $out/bin/gunzip <<EOF
 #!$out/bin/sh
 exec $out/bin/gzip -d "\$@"
 EOF
 chmod +x $out/bin/gunzip
 
-# fetchurl needs curl.
-bzip2 -d < $curl > $out/bin/curl
-chmod +x $out/bin/curl
+# Provide fgrep/egrep.
+echo "#! $out/bin/sh" > $out/bin/egrep
+echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep
+echo "#! $out/bin/sh" > $out/bin/fgrep
+echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep
+
+# Provide xz (actually only xz -d will work).
+echo "#! $out/bin/sh" > $out/bin/xz
+echo "exec $builder unxz \"\$@\"" >> $out/bin/xz
+
+chmod +x $out/bin/egrep $out/bin/fgrep $out/bin/xz
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index 715bc02758b..935af7d4c36 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -18,15 +18,6 @@ rec {
     export NIX_ENFORCE_PURITY=
   '';
 
-  prehookDarwin = ''
-    ${prehookBase}
-    export NIX_DONT_SET_RPATH=1
-    export NIX_NO_SELF_RPATH=1
-    dontFixLibtool=1
-    stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
-    xargsFlags=" "
-  '';
-
   prehookFreeBSD = ''
     ${prehookBase}
 
@@ -35,9 +26,6 @@ rec {
     alias sed=gsed
     export MAKE=gmake
     shopt -s expand_aliases
-
-    # Filter out stupid GCC warnings (in gcc-wrapper).
-    export NIX_GCC_NEEDS_GREP=1
   '';
 
   prehookOpenBSD = ''
@@ -52,9 +40,6 @@ rec {
 
     export MAKE=gmake
     shopt -s expand_aliases
-
-    # Filter out stupid GCC warnings (in gcc-wrapper).
-    export NIX_GCC_NEEDS_GREP=1
   '';
 
   prehookNetBSD = ''
@@ -65,9 +50,6 @@ rec {
     alias tar=gtar
     export MAKE=gmake
     shopt -s expand_aliases
-
-    # Filter out stupid GCC warnings (in gcc-wrapper).
-    export NIX_GCC_NEEDS_GREP=1
   '';
 
   prehookCygwin = ''
@@ -84,11 +66,10 @@ rec {
   # A function that builds a "native" stdenv (one that uses tools in
   # /usr etc.).
   makeStdenv =
-    { gcc, fetchurl, extraPath ? [], overrides ? (pkgs: { }) }:
+    { cc, fetchurl, extraPath ? [], overrides ? (pkgs: { }) }:
 
     import ../generic {
       preHook =
-        if system == "x86_64-darwin" then prehookDarwin else
         if system == "i686-freebsd" then prehookFreeBSD else
         if system == "x86_64-freebsd" then prehookFreeBSD else
         if system == "i686-openbsd" then prehookOpenBSD else
@@ -99,18 +80,18 @@ rec {
 
       fetchurlBoot = fetchurl;
 
-      inherit system shell gcc overrides config;
+      inherit system shell cc overrides config;
     };
 
 
   stdenvBoot0 = makeStdenv {
-    gcc = "/no-such-path";
+    cc = "/no-such-path";
     fetchurl = null;
   };
 
 
-  gcc = import ../../build-support/gcc-wrapper {
-    name = "gcc-native";
+  cc = import ../../build-support/cc-wrapper {
+    name = "cc-native";
     nativeTools = true;
     nativeLibc = true;
     nativePrefix = if system == "i686-solaris" then "/usr/gnu" else if system == "x86_64-solaris" then "/opt/local/gcc47" else "/usr";
@@ -127,7 +108,7 @@ rec {
 
   # First build a stdenv based only on tools outside the store.
   stdenvBoot1 = makeStdenv {
-    inherit gcc fetchurl;
+    inherit cc fetchurl;
   } // {inherit fetchurl;};
 
   stdenvBoot1Pkgs = allPackages {
@@ -140,7 +121,7 @@ rec {
   # systems don't have, so we mustn't rely on the native environment
   # providing it).
   stdenvBoot2 = makeStdenv {
-    inherit gcc fetchurl;
+    inherit cc fetchurl;
     extraPath = [ stdenvBoot1Pkgs.xz ];
     overrides = pkgs: { inherit (stdenvBoot1Pkgs) xz; };
   };
diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix
index c7dd659195b..79c9fb3a137 100644
--- a/pkgs/stdenv/nix/default.nix
+++ b/pkgs/stdenv/nix/default.nix
@@ -7,34 +7,19 @@ import ../generic rec {
     ''
       export NIX_ENFORCE_PURITY=1
       export NIX_IGNORE_LD_THROUGH_GCC=1
-    '' + lib.optionalString stdenv.isDarwin ''
-      export NIX_ENFORCE_PURITY=
-      export NIX_DONT_SET_RPATH=1
-      export NIX_NO_SELF_RPATH=1
-      dontFixLibtool=1
-      stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
-      xargsFlags=" "
-      export MACOSX_DEPLOYMENT_TARGET=10.6
-      export SDKROOT=$(/usr/bin/xcrun --show-sdk-path 2> /dev/null || true)
-      export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty -idirafter $SDKROOT/usr/include -F$SDKROOT/System/Library/Frameworks -Wno-multichar -Wno-deprecated-declarations"
-      export NIX_LDFLAGS_AFTER+=" -L$SDKROOT/usr/lib"
     '';
 
   initialPath = (import ../common-path.nix) {pkgs = pkgs;};
 
   system = stdenv.system;
 
-  gcc = import ../../build-support/gcc-wrapper {
+  cc = import ../../build-support/cc-wrapper {
     nativeTools = false;
     nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr";
     nativeLibc = true;
     inherit stdenv;
-    binutils =
-      if stdenv.isDarwin then
-        import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;}
-      else
-        pkgs.binutils;
-    gcc = pkgs.gcc.gcc;
+    binutils = pkgs.binutils;
+    cc = pkgs.gcc.cc;
     coreutils = pkgs.coreutils;
     shell = pkgs.bash + "/bin/sh";
   };
@@ -44,8 +29,8 @@ import ../generic rec {
   fetchurlBoot = stdenv.fetchurlBoot;
 
   overrides = pkgs_: {
-    inherit gcc;
-    inherit (gcc) binutils;
+    inherit cc;
+    inherit (cc) binutils;
     inherit (pkgs)
       gzip bzip2 xz bash coreutils diffutils findutils gawk
       gnumake gnused gnutar gnugrep gnupatch perl;
diff --git a/pkgs/test/openftd/default.nix b/pkgs/test/openftd/default.nix
index 34cff9ac93f..91042fe0591 100644
--- a/pkgs/test/openftd/default.nix
+++ b/pkgs/test/openftd/default.nix
@@ -6,7 +6,7 @@ Systeemvereisten
 * glib >= 2.2.0
 * gtk >= 2.2.0
 
-Glib 2 is een 'dependancy' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
+Glib 2 is een 'dependency' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
 Alhoewel FTD4Linux gtk 2.2 als minimumvereiste heeft raden we toch aan om gtk 2.4 te gebruiken. Dit vanwege een bug in gtk versies 2.2.2 t/m 2.2.4.
 
 * libxml2 >= 2.2.5
diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix
index 58db0c13abb..d314c7857ea 100644
--- a/pkgs/tools/X11/bumblebee/default.nix
+++ b/pkgs/tools/X11/bumblebee/default.nix
@@ -1,101 +1,158 @@
 # The bumblebee package allows a program to be rendered on an
-# dedicated video card by spawning an additional X11 server
-# and streaming the results via VirtualGL to the primary server.
+# dedicated video card by spawning an additional X11 server and
+# streaming the results via VirtualGL or primus to the primary server.
 
 # The package is rather chaotic; it's also quite recent.
 # As it may change a lot, some of the hacks in this nix expression
 # will hopefully not be needed in the future anymore.
 
-# To test: make sure that the 'bbswitch' kernel module is installed,
-# then run 'bumblebeed' as root and 'optirun glxgears' as user.
+# To test:
+# 1. make sure that the 'bbswitch' kernel module is installed,
+# 2. then run 'bumblebeed' as root
+# 3. Then either 'optirun glxinfo' or 'primusrun glxinfo' as user.
+#
+# The glxinfo output should indicate the NVidia driver is being used
+# and all expected extensions are supported.
+#
 # To use at startup, see hardware.bumblebee options.
 
 # This nix expression supports for now only the native nvidia driver.
 # It should not be hard to generalize this approach to support the
-# nouveau driver as well (parameterize commonEnv over the module
-# package, and parameterize the two wrappers as well)
+# nouveau driver as well (parameterize hostEnv, i686Env over the
+# module package, and parameterize the two wrappers as well)
 
 { stdenv, fetchurl, pkgconfig, help2man
 , libX11, glibc, glib, libbsd
 , makeWrapper, buildEnv, module_init_tools
-, linuxPackages, virtualgl, xorg, xkeyboard_config
+, xorg, xkeyboard_config
+, nvidia_x11, virtualgl
+# The below should only be non-null in a x86_64 system. On a i686
+# system the above nvidia_x11 and virtualgl will be the i686 packages.
+# TODO: Confusing. Perhaps use "SubArch" instead of i686?
+, nvidia_x11_i686 ? null
+, virtualgl_i686 ? null
+, useDisplayDevice ? false
+, extraDeviceOptions ? ""
 }:
-
+with stdenv.lib;
 let
   version = "3.2.1";
   name = "bumblebee-${version}";
 
-  # isolated X11 environment with the nvidia module
-  # it should include all components needed for bumblebeed and
+  # Isolated X11 environment without the acceleration driver module.
+  # Includes the rest of the components needed for bumblebeed and
   # optirun to spawn the second X server and to connect to it.
-  commonEnv = buildEnv {
+  x11Env = buildEnv {
     name = "bumblebee-env";
     paths = [
       module_init_tools
-
-      linuxPackages.nvidia_x11
       xorg.xorgserver
       xorg.xrandr
       xorg.xrdb
       xorg.setxkbmap
       xorg.libX11
       xorg.libXext
+      xorg.xf86inputevdev
+    ];
+  };
 
+  # The environment for the host architecture.
+  hostEnv = buildEnv {
+    name = "bumblebee-x64-env";
+    paths = [
+      nvidia_x11
       virtualgl
     ];
-
-    # the nvidia GLX module overwrites the one of xorgserver,
-    # thus nvidia_x11 must be before xorgserver in the paths.
-    ignoreCollisions = true;
   };
 
+  # The environment for the sub architecture, i686, if there is one
+  i686Env = if virtualgl_i686 != null
+    then buildEnv {
+      name = "bumblebee-i686-env";
+      paths = [
+       nvidia_x11_i686
+       virtualgl_i686
+      ];
+    }
+    else null;
+
+  allEnvs = [hostEnv] ++ optional (i686Env != null) i686Env;
+  ldPathString = makeLibraryPath allEnvs;
+
+  # By default we don't want to use a display device
+  deviceOptions = if useDisplayDevice
+                  then ""
+                  else ''
+
+                         #   Disable display device
+                             Option "UseEDID" "false"
+                             Option "UseDisplayDevice" "none"
+                       ''
+                  + extraDeviceOptions;
+
 in stdenv.mkDerivation {
-  inherit name;
+  inherit name deviceOptions;
 
   src = fetchurl {
     url = "http://bumblebee-project.org/${name}.tar.gz";
     sha256 = "03p3gvx99lwlavznrpg9l7jnl1yfg2adcj8jcjj0gxp20wxp060h";
   };
 
-  patches = [ ./xopts.patch ];
+  patches = [ ./xopts.patch ./nvidia-conf.patch];
 
   preConfigure = ''
     # Substitute the path to the actual modinfo program in module.c.
     # Note: module.c also calls rmmod and modprobe, but those just have to
     # be in PATH, and thus no action for them is required.
+
     substituteInPlace src/module.c \
       --replace "/sbin/modinfo" "${module_init_tools}/sbin/modinfo"
 
     # Don't use a special group, just reuse wheel.
     substituteInPlace configure \
       --replace 'CONF_GID="bumblebee"' 'CONF_GID="wheel"'
+
+    # Apply configuration options
+    substituteInPlace conf/xorg.conf.nvidia \
+      --subst-var deviceOptions
   '';
 
   # Build-time dependencies of bumblebeed and optirun.
   # Note that it has several runtime dependencies.
   buildInputs = [ stdenv makeWrapper pkgconfig help2man libX11 glib libbsd ];
 
+  # The order of LDPATH is very specific: First X11 then the host
+  # environment then the optional sub architecture paths.
+  #
+  # The order for MODPATH is the opposite: First the environment that
+  # includes the acceleration driver. As this is used for the X11
+  # server, which runs under the host architecture, this does not
+  # include the sub architecture components.
   configureFlags = [
     "--with-udev-rules=$out/lib/udev/rules.d"
     "CONF_DRIVER=nvidia"
     "CONF_DRIVER_MODULE_NVIDIA=nvidia"
-    "CONF_LDPATH_NVIDIA=${commonEnv}/lib"
-    "CONF_MODPATH_NVIDIA=${commonEnv}/lib/xorg/modules"
+    "CONF_LDPATH_NVIDIA=${x11Env}/lib:${ldPathString}"
+    "CONF_MODPATH_NVIDIA=${hostEnv}/lib/xorg/modules,${x11Env}/lib/xorg/modules"
   ];
 
   # create a wrapper environment for bumblebeed and optirun
   postInstall = ''
     wrapProgram "$out/sbin/bumblebeed" \
-      --prefix PATH : "${commonEnv}/sbin:${commonEnv}/bin:\$PATH" \
-      --prefix LD_LIBRARY_PATH : "${commonEnv}/lib:\$LD_LIBRARY_PATH" \
+      --prefix PATH : "${x11Env}/sbin:${x11Env}/bin:${hostEnv}/bin:\$PATH" \
+      --prefix LD_LIBRARY_PATH : "${x11Env}/lib:${hostEnv}/lib:\$LD_LIBRARY_PATH" \
       --set FONTCONFIG_FILE "/etc/fonts/fonts.conf" \
       --set XKB_BINDIR "${xorg.xkbcomp}/bin" \
       --set XKB_DIR "${xkeyboard_config}/etc/X11/xkb"
 
     wrapProgram "$out/bin/optirun" \
-      --prefix PATH : "${commonEnv}/sbin:${commonEnv}/bin" \
-      --prefix LD_LIBRARY_PATH : "${commonEnv}/lib" \
-  '';
+      --prefix PATH : "${hostEnv}/bin"
+  '' + (if i686Env == null
+    then ""
+    else ''
+    makeWrapper "$out/bin/.optirun-wrapped" "$out/bin/optirun32" \
+      --prefix PATH : "${i686Env}/bin"
+  '');
 
   meta = {
     homepage = http://github.com/Bumblebee-Project/Bumblebee;
diff --git a/pkgs/tools/X11/bumblebee/nvidia-conf.patch b/pkgs/tools/X11/bumblebee/nvidia-conf.patch
new file mode 100644
index 00000000000..f5535c417cf
--- /dev/null
+++ b/pkgs/tools/X11/bumblebee/nvidia-conf.patch
@@ -0,0 +1,11 @@
+--- bumblebee-3.2.1/conf/xorg.conf.nvidia
++++ bumblebee-3.2.1/conf/xorg.conf.nvidia
+@@ -29,6 +29,5 @@ Section "Device"
+     Option "ProbeAllGpus" "false"
+ 
+     Option "NoLogo" "true"
+-    Option "UseEDID" "false"
+-    Option "UseDisplayDevice" "none"
++@deviceOptions@
+ EndSection
+
diff --git a/pkgs/tools/X11/bumblebee/xopts.patch b/pkgs/tools/X11/bumblebee/xopts.patch
index f24b2a20562..6fd3a6a0483 100644
--- a/pkgs/tools/X11/bumblebee/xopts.patch
+++ b/pkgs/tools/X11/bumblebee/xopts.patch
@@ -1,5 +1,5 @@
---- bumblebee-3.0/src/bbsecondary.c.orig	2012-02-05 00:03:06.003439638 +0100
-+++ bumblebee-3.0/src/bbsecondary.c	2012-02-05 00:46:38.017382619 +0100
+--- bumblebee-3.2.1/src/bbsecondary.c 2012-02-05 00:03:06.003439638 +0100
++++ bumblebee-3.2.1/src/bbsecondary.c	2012-02-05 00:46:38.017382619 +0100
 @@ -149,6 +149,8 @@
        "-sharevts",
        "-nolisten", "tcp",
diff --git a/pkgs/tools/X11/hsetroot/default.nix b/pkgs/tools/X11/hsetroot/default.nix
index e226f1f93c4..eeaf5dac7c6 100644
--- a/pkgs/tools/X11/hsetroot/default.nix
+++ b/pkgs/tools/X11/hsetroot/default.nix
@@ -1,19 +1,35 @@
-{stdenv, fetchurl, imlib2, libX11, libXext }:
+{ stdenv, fetchurl, autoconf, automake, imlib2, libtool, libX11, pkgconfig, xproto }:
 
-stdenv.mkDerivation {
-  name = "hsetroot-1.0.2";
+stdenv.mkDerivation rec {
+  name = "hsetroot-${version}";
+  version = "1.0.2";
 
   # The primary download site seems to no longer exist; use Gentoo's mirror for now.
   src = fetchurl {
-    url = "http://mirror.datapipe.net/gentoo/distfiles/hsetroot-1.0.2.tar.gz";
+    url = "http://mirror.datapipe.net/gentoo/distfiles/hsetroot-${version}.tar.gz";
     sha256 = "d6712d330b31122c077bfc712ec4e213abe1fe71ab24b9150ae2774ca3154fd7";
   };
 
-  buildInputs = [ imlib2 libX11 libXext ];
+  # See https://bugs.gentoo.org/show_bug.cgi?id=504056
+  underlinkingPatch = fetchurl {
+    url = http://www.gtlib.gatech.edu/pub/gentoo/gentoo-x86-portage/x11-misc/hsetroot/files/hsetroot-1.0.2-underlinking.patch;
+    name = "hsetroot-1.0.2-underlinking.patch";
+    sha256 = "1px1p3wz7ji725z9nlwb0x0h6lnnvnpz15sblzzq7zrijl3wz65x";
+  };
+
+  buildInputs = [ autoconf automake imlib2 libtool libX11 pkgconfig xproto ];
+
+  patches = [ underlinkingPatch ];
+
+  patchFlags = "-p0";
+
+  preConfigure = "./autogen.sh";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Allows you to compose wallpapers ('root pixmaps') for X";
     homepage = http://thegraveyard.org/hsetroot.html;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.henrytill ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/X11/keynav/default.nix b/pkgs/tools/X11/keynav/default.nix
index 02b6321d18c..0b41e05e3f2 100644
--- a/pkgs/tools/X11/keynav/default.nix
+++ b/pkgs/tools/X11/keynav/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, libX11, xextproto, libXtst, imake, libXi, libXext }:
+{ stdenv, fetchurl, pkgconfig, libX11, xextproto, libXtst, libXi, libXext
+, libXinerama, glib, cairo, xdotool }:
 
 stdenv.mkDerivation rec {
-  name = "keynav-20070903";
+  name = "keynav-0.20110708.0";
 
   src = fetchurl {
-    url = "http://www.semicomplete.com/files/keynav/${name}.tar.gz";
-    sha256 = "037mbgm78jwy0qd0z691pgx4zcpkk5544fx8ajm2mx4y80k2d9kk";
+    url = "https://semicomplete.googlecode.com/files/${name}.tar.gz";
+    sha256 = "1gizjhji3yspxxxvb90js3z1bv18rbf5phxg8rciixpj3cccff8z";
   };
 
-  buildInputs = [libX11 xextproto libXtst imake libXi libXext];
-
-  NIX_LDFLAGS = "-lXext";
+  buildInputs = [ pkgconfig libX11 xextproto libXtst libXi libXext libXinerama
+                  glib cairo xdotool ];
 
   installPhase =
     ''
@@ -19,7 +19,11 @@ stdenv.mkDerivation rec {
       cp keynavrc $out/share/keynav/doc
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Generate X11 mouse clicks from keyboard";
+    homepage = http://www.semicomplete.com/projects/keynav/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/X11/primus/builder.sh b/pkgs/tools/X11/primus/builder.sh
new file mode 100644
index 00000000000..3c6b6afdc09
--- /dev/null
+++ b/pkgs/tools/X11/primus/builder.sh
@@ -0,0 +1,12 @@
+source $stdenv/setup
+
+cp -r $src src
+cd src
+
+export LIBDIR=$out/lib
+export PRIMUS_libGLa=$nvidia/lib/libGL.so
+export PRIMUS_libGLd=$mesa/lib/libGL.so
+export PRIMUS_LOAD_GLOBAL=$mesa/lib/libglapi.so
+
+make
+ln -s $LIBDIR/libGL.so.1 $LIBDIR/libGL.so
diff --git a/pkgs/tools/X11/primus/default.nix b/pkgs/tools/X11/primus/default.nix
new file mode 100644
index 00000000000..c5c0e3ce780
--- /dev/null
+++ b/pkgs/tools/X11/primus/default.nix
@@ -0,0 +1,35 @@
+# For a 64bit + 32bit system the LD_LIBRARY_PATH must contain both the 32bit and 64bit primus
+# libraries. Providing a different primusrun for each architecture will not work as expected. EG:
+# Using steam under wine can involve both 32bit and 64bit process. All of which inherit the
+# same LD_LIBRARY_PATH.
+# Other distributions do the same.
+{ stdenv
+, primusLib
+, writeScript
+, primusLib_i686 ? null
+}:
+with stdenv.lib;
+let
+  version = "1.0.0748176";
+  ldPath = makeLibraryPath ([primusLib] ++ optional (primusLib_i686 != null) primusLib_i686);
+  primusrun = writeScript "primusrun"
+''
+  export LD_LIBRARY_PATH=${ldPath}:$LD_LIBRARY_PATH
+  exec "$@"
+'';
+in
+stdenv.mkDerivation {
+  name = "primus-${version}";
+  builder = writeScript "builder"
+  ''
+  source $stdenv/setup
+  mkdir -p $out/bin
+  cp ${primusrun} $out/bin/primusrun
+  '';
+
+  meta = {
+    homepage = https://github.com/amonakov/primus;
+    description = "Faster OpenGL offloading for Bumblebee";
+    maintainers = maintainers.coconnor;
+  };
+}
diff --git a/pkgs/tools/X11/primus/lib.nix b/pkgs/tools/X11/primus/lib.nix
new file mode 100644
index 00000000000..fb18907c50f
--- /dev/null
+++ b/pkgs/tools/X11/primus/lib.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchgit
+, x11, mesa
+, nvidia
+}:
+let
+  version = "1.0.0748176";
+in
+stdenv.mkDerivation {
+  name = "primus-lib-${version}";
+  src = fetchgit {
+    url = git://github.com/amonakov/primus.git;
+    rev = "074817614c014e3a99259388cb18fd54648b659a";
+    sha256 = "0mrh432md6zrm16avxyk57mgszrqpgwdjahspchvlaccqxp3x82v";
+  };
+
+  inherit nvidia mesa;
+
+  buildInputs = [ x11 mesa ];
+  builder = ./builder.sh;
+}
diff --git a/pkgs/tools/X11/screen-message/default.nix b/pkgs/tools/X11/screen-message/default.nix
new file mode 100644
index 00000000000..977a82230a5
--- /dev/null
+++ b/pkgs/tools/X11/screen-message/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchdarcs, autoreconfHook, pkgconfig, gtk3 }:
+
+stdenv.mkDerivation {
+  name = "screen-message-0.23";
+
+  src = fetchdarcs {
+    url = "http://darcs.nomeata.de/screen-message.debian";
+    rev = "0.23-1";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig gtk3 ];
+
+  # 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";
+    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
new file mode 100644
index 00000000000..b0bf8a10169
--- /dev/null
+++ b/pkgs/tools/X11/sselp/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, libX11 }:
+
+stdenv.mkDerivation rec {
+  version = "0.2";
+  name = "sselp-${version}";
+ 
+  src = fetchurl {
+    url = "http://dl.suckless.org/tools/${name}.tar.gz";
+    sha256 = "08mqp00lrh1chdrbs18qr0xv63h866lkmfj87kfscwdm1vn9a3yd";
+  };
+ 
+  buildInputs = [ libX11 ];
+
+  patchPhase = ''
+    sed -i "s@/usr/local@$out@g" config.mk
+    sed -i "s@/usr/X11R6/include@${libX11}/include@g" config.mk
+    sed -i "s@/usr/X11R6/lib@${libX11}/lib@g" config.mk
+  '';
+
+  meta = {
+    homepage = "http://tools.suckless.org/sselp";
+    description = "Prints the X selection to stdout, useful in scripts";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/X11/vdpauinfo/default.nix b/pkgs/tools/X11/vdpauinfo/default.nix
index 0b1d889d700..167c710dd26 100644
--- a/pkgs/tools/X11/vdpauinfo/default.nix
+++ b/pkgs/tools/X11/vdpauinfo/default.nix
@@ -1,18 +1,20 @@
 { stdenv, fetchurl, pkgconfig, xlibs, libvdpau }:
 
 stdenv.mkDerivation rec {
-  name = "vdpauinfo-0.1";
+  name = "vdpauinfo-1.0";
 
   src = fetchurl {
     url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz";
-    sha256 = "17q1spsrd5i4jzhpacbs0bb4blf74j8s45rpg0znyc1yjfk5dj5h";
+    sha256 = "1i2b0k9h8r0lnxlrkgqzmrjakgaw3f1ygqqwzx8w6676g85rcm20";
   };
 
-  buildInputs = [ pkgconfig xlibs.libX11 libvdpau ];
+  buildInputs = [ pkgconfig libvdpau ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://people.freedesktop.org/~aplattner/vdpau/;
     description = "Tool to query the Video Decode and Presentation API for Unix (VDPAU) abilities of the system";
-    license = "bsd";
+    license = licenses.mit; # expat version
+    platforms = platforms.unix;
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/tools/X11/virtualgl/default.nix b/pkgs/tools/X11/virtualgl/default.nix
index 3ae0920b9a7..ceeadbaafaa 100644
--- a/pkgs/tools/X11/virtualgl/default.nix
+++ b/pkgs/tools/X11/virtualgl/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.virtualgl.org/;
     description = "X11 GL rendering in a remote computer with full 3D hw acceleration";
-    license = "free"; # many parts under different free licenses
+    license = stdenv.lib.licenses.free; # many parts under different free licenses
   };
 }
diff --git a/pkgs/tools/X11/wmutils-core/default.nix b/pkgs/tools/X11/wmutils-core/default.nix
new file mode 100644
index 00000000000..62f6e65bc21
--- /dev/null
+++ b/pkgs/tools/X11/wmutils-core/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libxcb }:
+
+stdenv.mkDerivation rec {
+  name = "wmutils-core-${version}";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "https://github.com/wmutils/core/archive/v${version}.tar.gz";
+    sha256 = "10vn56rbrjykcrjr06ki4qc12sri1ywrcvm89nmxlqhkxx4i239p";
+  };
+
+  buildInputs = [ libxcb ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Set of window manipulation tools";
+    homepage = https://github.com/wmutils/core;
+    license = licenses.isc;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/X11/xbindkeys-config/default.nix b/pkgs/tools/X11/xbindkeys-config/default.nix
new file mode 100644
index 00000000000..57d8d82759c
--- /dev/null
+++ b/pkgs/tools/X11/xbindkeys-config/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, libX11, gtk, pkgconfig, procps, makeWrapper, ... }:
+
+stdenv.mkDerivation rec {
+  name = "xbindkeys-config-${version}";
+  version = "0.1.3";
+
+  buildInputs = [ gtk pkgconfig makeWrapper ];
+
+  src = fetchurl {
+    url = "mirror://debian/pool/main/x/xbindkeys-config/xbindkeys-config_${version}.orig.tar.gz";
+    sha256 = "1rs3li2hyig6cdzvgqlbz0vw6x7rmgr59qd6m0cvrai8xhqqykda";
+  };
+
+  meta = {
+    homepage = https://packages.debian.org/source/xbindkeys-config;
+    description = "Graphical interface for configuring xbindkeys";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [benley];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+
+  patches = [ ./xbindkeys-config-patch1.patch ];
+
+  # killall is dangerous on non-gnu platforms. Use pkill instead.
+  postPatch = ''
+    substituteInPlace middle.c --replace "killall" "pkill -x"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+    gzip -c ${./xbindkeys-config.1} > $out/share/man/man1/xbindkeys-config.1.gz
+    cp xbindkeys_config $out/bin/xbindkeys-config
+    wrapProgram $out/bin/xbindkeys-config --prefix PATH ":" "${procps}/bin"
+  '';
+}
diff --git a/pkgs/tools/X11/xbindkeys-config/xbindkeys-config-patch1.patch b/pkgs/tools/X11/xbindkeys-config/xbindkeys-config-patch1.patch
new file mode 100644
index 00000000000..d4620b5d907
--- /dev/null
+++ b/pkgs/tools/X11/xbindkeys-config/xbindkeys-config-patch1.patch
@@ -0,0 +1,108 @@
+---
+ Makefile           |  6 +++---
+ menu.c             | 11 ++++++++---
+ middle.c           |  9 +++++++--
+ xbindkeys_config.c |  3 ++-
+ 4 files changed, 20 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 602875c..28e46cd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,9 @@
+ # makefile cre par Laurent VUIBERT
+ 
+-CC=	gcc -O3 -Wall
++CC=	gcc $(CFLAGS)
+ STD=	_GNU_SOURCE
+-GTK=	`gtk-config  --cflags --libs`
+-GTK2=	`gtk-config  --cflags`
++GTK=	`pkg-config  --cflags --libs gtk+-2.0`
++GTK2=	`pkg-config  --cflags gtk+-2.0`
+ OBJS=	xbindkeys_config.o menu.o middle.o speedc.o
+ NOM=    xbindkeys_config
+ 
+diff --git a/menu.c b/menu.c
+index ed3e7ec..f11526d 100644
+--- a/menu.c
++++ b/menu.c
+@@ -283,6 +283,8 @@ void menu_manual (GtkMenuItem *menuitem, gpointer user_data)
+   GtkWidget *window;
+   GtkWidget *text;
+   GtkWidget *vbox;
++  GtkTextBuffer *textbuffer;
++  GtkTextIter iter;
+   
+   window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
+   gtk_window_set_title(GTK_WINDOW(window),
+@@ -293,10 +295,13 @@ void menu_manual (GtkMenuItem *menuitem, gpointer user_data)
+   text = gtk_label_new("\nManual\n");
+   gtk_box_pack_start(GTK_BOX(vbox), text, FALSE, FALSE, 0);
+   
+-  text = gtk_text_new(NULL,NULL);
++/* BDD - FIXME */
++/*  text = gtk_text_new(NULL,NULL); */
++  text = gtk_text_view_new();
++  textbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text));
++  gtk_text_buffer_get_iter_at_offset (textbuffer, &iter, 0);
+   
+-  
+-  gtk_text_insert (GTK_TEXT(text), NULL, NULL, NULL,
++  gtk_text_buffer_insert (textbuffer, &iter, 
+ 		   MANUAL_TEXT, sizeof(MANUAL_TEXT)-1);
+   gtk_box_pack_start(GTK_BOX(vbox), text, TRUE, TRUE, 0);
+   gtk_widget_set_usize(text,300,250);
+diff --git a/middle.c b/middle.c
+index daa61aa..605ab10 100644
+--- a/middle.c
++++ b/middle.c
+@@ -551,6 +551,8 @@ void view_generated_file()
+   GtkWidget *window;
+   GtkWidget *text;
+   GtkWidget *src;
++  GtkTextBuffer *textbuffer;
++  GtkTextIter iter;
+   char line  [1024];
+ 
+   unlink(TEMP_FILE); 
+@@ -561,11 +563,13 @@ void view_generated_file()
+     gtk_window_set_title(GTK_WINDOW(window), "Generated File");
+     src = gtk_scrolled_window_new ( NULL, NULL );
+     gtk_widget_set_usize(src,500,400);
+-    text = gtk_text_new (NULL, NULL);
++    text = gtk_text_view_new ();
++    textbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text));
++    gtk_text_buffer_get_iter_at_offset (textbuffer, &iter, 0);
+     gtk_container_add (GTK_CONTAINER(src),  text);
+ 
+     while (fgets (line, sizeof(line), f))
+-      gtk_text_insert (GTK_TEXT(text), NULL, NULL, NULL,
++      gtk_text_buffer_insert (textbuffer, &iter,
+ 		       line, strlen(line));
+ 
+     gtk_container_add(GTK_CONTAINER(window),src);
+@@ -610,6 +614,7 @@ void  save_file(char file_out[])
+   fprintf(f, "# m:xxx + c:xxx \n");
+   fprintf(f, "# Shift+... \n\n\n\n\n");
+ 
++
+   if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Flag_NumLock)))
+     fprintf(f,"keystate_numlock = enable\n");
+   else 
+diff --git a/xbindkeys_config.c b/xbindkeys_config.c
+index 75bad30..3c02a2b 100644
+--- a/xbindkeys_config.c
++++ b/xbindkeys_config.c
+@@ -95,7 +95,8 @@ int main (int argc, char *argv[])
+      accel_group = gtk_accel_group_new();
+      menu=xbindkeys_config_menu(accel_group);
+      gtk_box_pack_start(GTK_BOX(vbox),menu,FALSE,FALSE,0);
+-     gtk_accel_group_attach(accel_group, GTK_OBJECT(window));
++/* BDD - FIXME - Don't need this? */
++/*     gtk_accel_group_attach(accel_group, GTK_OBJECT(window)); */
+      
+      middle= xbindkeys_config_middle();
+      gtk_box_pack_start(GTK_BOX(vbox),middle,TRUE,TRUE,0);
+-- 
+2.1.3
+
diff --git a/pkgs/tools/X11/xbindkeys-config/xbindkeys-config.1 b/pkgs/tools/X11/xbindkeys-config/xbindkeys-config.1
new file mode 100644
index 00000000000..e3f8de1a804
--- /dev/null
+++ b/pkgs/tools/X11/xbindkeys-config/xbindkeys-config.1
@@ -0,0 +1,21 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.27.
+.TH XBINDKEYS_CONFIG "1" "April 2002" "xbindkeys-config" "User Commands"
+.SH NAME
+xbindkeys-config \- GTK+ configuration tool for xbindkeys
+.SH "SYNOPSIS"
+xbindkeys-config 
+[\-\-file|\-f file]
+[\-\-help|\-h]
+[\-\-show|\-s]
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+This Help
+.TP
+\fB\-f\fR, \fB\-\-file\fR
+Use an alternative rc file
+.TP
+\fB\-s\fR, \fB\-\-show\fR
+show only the rc file
+.SH AUTHOR
+This manual page was written by Joerg Jaspert <joerg@debian.org>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/pkgs/tools/X11/xbrightness/default.nix b/pkgs/tools/X11/xbrightness/default.nix
new file mode 100644
index 00000000000..cb10718a11b
--- /dev/null
+++ b/pkgs/tools/X11/xbrightness/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, xlibs }:
+
+stdenv.mkDerivation {
+
+  name = "xbrightness-0.3-mika-akk";
+  src = fetchurl {
+    url = http://shallowsky.com/software/xbrightness/xbrightness-0.3-mika-akk.tar.gz;
+    sha256 = "2564dbd393544657cdabe4cbf535d9cfb9abe8edddb1b8cdb1ed4d12f358626e";
+  };
+
+  buildInputs = [
+    xlibs.imake
+    xlibs.libX11
+    xlibs.libXaw
+    xlibs.libXext
+    xlibs.libXmu
+    xlibs.libXpm
+    xlibs.libXxf86vm
+  ];
+
+  configurePhase = "xmkmf";
+
+  installPhase = ''
+    make install BINDIR=$out/bin
+    make install.man MANPATH=$out/share/man
+  '';
+
+  meta = {
+    description = "X11 brigthness and gamma software control";
+    homepage = http://shallowsky.com/software;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index 52ddb5a0f6b..8434e651dbe 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, fetchurl, file }:
+{ stdenv, fetchgit, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto, w3m }:
 
 stdenv.mkDerivation rec {
-  name = "xdg-utils-1.1.0-rc1";
-  
-  src = fetchurl {
-    url = "http://portland.freedesktop.org/download/${name}.tar.gz";
-    sha256 = "00lisw4x43sp189lb7dz46j2l09y5v2fijk3d0sxx3mvwj55a1bv";
+  name = "xdg-utils-1.1.0-rc3p7";
+
+  src = fetchgit {
+    url = "git://anongit.freedesktop.org/xdg/xdg-utils";
+    rev = "e8ee3b18d16e41b95148111b920a0c8beed3ac6c";
+    sha256 = "0qy9h7vh6sw7wmadjvasw4sdhb9fvv7bn32ifgasdx7ag3r3939w";
   };
 
+  # just needed when built from git
+  buildInputs = [ libxslt docbook_xml_dtd_412 docbook_xsl xmlto w3m ];
+
   postInstall = ''
     substituteInPlace $out/bin/xdg-mime --replace /usr/bin/file ${file}/bin/file
   '';
-  
+
   meta = {
     homepage = http://portland.freedesktop.org/wiki/;
     description = "A set of command line tools that assist applications with a variety of desktop integration tasks";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
+
diff --git a/pkgs/tools/X11/xdotool/default.nix b/pkgs/tools/X11/xdotool/default.nix
index c0acb2f70c8..2eeb61dfaf4 100644
--- a/pkgs/tools/X11/xdotool/default.nix
+++ b/pkgs/tools/X11/xdotool/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libX11, perl, libXtst, xextproto, libXi }:
+{ stdenv, fetchurl, libX11, perl, libXtst, xextproto, libXi, libXinerama }:
 
-let version = "2.20101012.3049"; in
+let version = "2.20110530.1"; in
 stdenv.mkDerivation {
   name = "xdotool-${version}";
   src = fetchurl {
     url = "http://semicomplete.googlecode.com/files/xdotool-${version}.tar.gz";
-    sha256 = "0amkb1zvdk0gj7va3rjw9arbyj8pgprkdik05yl6rghq21q076ls";
+    sha256 = "0rxggg1cy7nnkwidx8x2w3c5f3pk6dh2b6q0q7hp069r3n5jrd77";
   };
 
-  buildInputs = [ libX11 perl libXtst xextproto libXi ];
+  buildInputs = [ libX11 perl libXtst xextproto libXi libXinerama ];
 
   configurePhase = ''
     export makeFlags="PREFIX=$out";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.semicomplete.com/projects/xdotool/;
     description = "Fake keyboard/mouse input, window management, and more";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/X11/xkb-switch/default.nix b/pkgs/tools/X11/xkb-switch/default.nix
index 0fc49038efe..4afa56f7fe2 100644
--- a/pkgs/tools/X11/xkb-switch/default.nix
+++ b/pkgs/tools/X11/xkb-switch/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchgit, cmake, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "xkb-switch-1.2";
+  name = "xkb-switch-${version}";
+  version = "1.3.1";
 
   src = fetchgit {
     url = https://github.com/ierton/xkb-switch.git;
-    rev = "4c90511ecf2cacc040c97f034a13254c3fa9dfef";
-    sha256 = "1jxya67v1qnvbzd0cd5gj7xrwvxyfy1rpa70l8p30p9cmw3ahk41";
+    rev = "351c84370ad0fa4aaaab9a32817859b1d5fb2a11";
+    sha256 = "0ilj3amwidi7imjvi8hr62y7j8zl809r5xhs7kv816773x32gpxq";
   };
 
   buildInputs = [ cmake libX11 ];
 
-  meta = {
-    description = "Switch X layouts from the command line";
-    homepage = https://github.com/ierton/xkb-switch.git;
-    maintainers = with stdenv.lib.maintainers; [smironov];
-    platforms = stdenv.lib.platforms.gnu;
-    license = "BSD";
+  meta = with stdenv.lib; {
+    description = "Switch your X keyboard layouts from the command line";
+
+    homepage = https://github.com/ierton/xkb-switch;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ smironov ];
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/tools/X11/xlaunch/default.nix b/pkgs/tools/X11/xlaunch/default.nix
index b97c9def822..06dfd28b739 100644
--- a/pkgs/tools/X11/xlaunch/default.nix
+++ b/pkgs/tools/X11/xlaunch/default.nix
@@ -3,57 +3,61 @@
 # !!! What does this package do, and does it belong in Nixpkgs?
 
 stdenv.mkDerivation {
-	name = "xlaunch";
-	inherit xorgserver;
-	buildCommand = "
-		cat << EOF > realizeuid.c
-		#include <sys/types.h>
-		#include <unistd.h>
-		#include <stdio.h>
-		int main(int argc, char ** argv, char ** envp)
-		{
-			uid_t a,b,c;
-			int i;
-			char *nargv[10000];
-			char arg1 [10];
-			nargv[0]=argv[0];
-			for (i=1; i<=argc; i++){
-				nargv[i+1]=argv[i];
-			}
-			nargv[1]=arg1;
-			getresuid (&a,&b,&c);
-			snprintf(arg1,8,\"%d\",a);
-			setresuid(c,c,c);
-			execve(\"\$out/libexec/xlaunch\", nargv, envp);
-		}
+  name = "xlaunch";
+  inherit xorgserver;
+  buildCommand = "
+    cat << EOF > realizeuid.c
+    #include <sys/types.h>
+    #include <unistd.h>
+    #include <stdio.h>
+    int main(int argc, char ** argv, char ** envp)
+    {
+      uid_t a,b,c;
+      int i;
+      char *nargv[10000];
+      char arg1 [10];
+      nargv[0]=argv[0];
+      for (i=1; i<=argc; i++){
+        nargv[i+1]=argv[i];
+      }
+      nargv[1]=arg1;
+      getresuid (&a,&b,&c);
+      snprintf(arg1,8,\"%d\",a);
+      setresuid(c,c,c);
+      execve(\"\$out/libexec/xlaunch\", nargv, envp);
+    }
 EOF
-		mkdir -p \$out/bin
-		mkdir -p \$out/libexec
-		gcc realizeuid.c -o \$out/bin/xlaunch
-		echo '#! ${stdenv.shell}
-			USER=\$(egrep '\\''^[-a-z0-9A-Z_]*:[^:]*:'\\''\$1'\\'':'\\'' /etc/passwd | sed -e '\\''s/:.*//'\\'' )
-			shift
-			case \"\$1\" in 
-				:*) export _display=\"\$1\"; 
-				shift
-			esac
-			_display=\${_display:-:0}
-			_display=\${_display#:}
-			echo Using :\$_display
-			if [ -n \"\$DO_X_RESET\" ]; then 
-			  RESET_OPTION=\"-once\"
-			else
-			  RESET_OPTION=\"-noreset\"
-			fi;
-			XCMD=\"\$(egrep \"^Environment=\" /etc/systemd/system/display-manager.service | sed -e \"s/Environment=/ export /\" | sed -e '\\''s/#.*//'\\'' ; echo export _XARGS_=\\\$\\( grep xserver_arguments \\\$SLIM_CFGFILE \\| sed -e s/xserver_arguments// \\| sed -e s/:0/:\${_display}/ \\| sed -e s/vt7/vt\$((7+_display))/ \\) ; echo ${xorgserver}/bin/X \\\$_XARGS_ \$RESET_OPTION )\" 
-			PRE_XCMD=\"\$(egrep \"^ExecStartPre=\" /etc/systemd/system/display-manager.service | sed -e \"\s/ExecStartPre=//\")\"
-			echo \"\$PRE_XCMD\" 
-			echo \"\$PRE_XCMD\" | bash
-			echo \"\$XCMD\" 
-			echo \"\$XCMD\" | bash &
-			while ! test -e /tmp/.X11-unix/X\$_display &>/dev/null ; do sleep 0.5; done
-			su -l \${USER:-identityless-shelter} -c \"DISPLAY=:\$_display \$*\";
-		' >\$out/libexec/xlaunch
-		chmod a+x \$out/libexec/xlaunch
-	";
+    mkdir -p \$out/bin
+    mkdir -p \$out/libexec
+    gcc realizeuid.c -o \$out/bin/xlaunch
+    echo '#! ${stdenv.shell}
+      USER=\$(egrep '\\''^[-a-z0-9A-Z_]*:[^:]*:'\\''\$1'\\'':'\\'' /etc/passwd | sed -e '\\''s/:.*//'\\'' )
+      shift
+      case \"\$1\" in 
+        :*) export _display=\"\$1\"; 
+        shift
+      esac
+      _display=\${_display:-:0}
+      _display=\${_display#:}
+      echo Using :\$_display
+      if [ -n \"\$DO_X_RESET\" ]; then 
+        RESET_OPTION=\"-once\"
+      else
+        RESET_OPTION=\"-noreset\"
+      fi;
+      XCMD=\"\$(egrep \"^Environment=\" /etc/systemd/system/display-manager.service | sed -e \"s/Environment=/ export /\" | sed -e '\\''s/#.*//'\\'' ; echo export _XARGS_=\\\$\\( grep xserver_arguments \\\$SLIM_CFGFILE \\| sed -e s/xserver_arguments// \\| sed -e s/:0/:\${_display}/ \\| sed -e s/vt7/vt\$((7+_display))/ \\) ; echo ${xorgserver}/bin/X \\\$_XARGS_ \$RESET_OPTION )\" 
+      PRE_XCMD=\"\$(egrep \"^ExecStartPre=\" /etc/systemd/system/display-manager.service | sed -e \"\s/ExecStartPre=//\")\"
+      echo \"\$PRE_XCMD\" 
+      echo \"\$PRE_XCMD\" | bash
+      echo \"\$XCMD\" 
+      echo \"\$XCMD\" | bash &
+      while ! test -e /tmp/.X11-unix/X\$_display &>/dev/null ; do sleep 0.5; done
+      su -l \${USER:-identityless-shelter} -c \"DISPLAY=:\$_display \$*\";
+    ' >\$out/libexec/xlaunch
+    chmod a+x \$out/libexec/xlaunch
+  ";
+  meta = {
+    description = ''Wrapper to parse NixOS-specific X environment and launch a custom X session'';
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+  };
 }
diff --git a/pkgs/tools/X11/xmacro/default.nix b/pkgs/tools/X11/xmacro/default.nix
index 12bb2903107..ca010063cb1 100644
--- a/pkgs/tools/X11/xmacro/default.nix
+++ b/pkgs/tools/X11/xmacro/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = mirror://sourceforge/xmacro/xmacro-pre0.3-20000911.tar.gz;
-    md5 = "d2956b82f3d5380e58a75ccc721fb746";
+    sha256 = "04gzgxhp8bx98zrcvmsm7mn72r9g9588skbf64cqvkp4yz6kfqhb";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index 35c4ca06c6c..43fa105e680 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -2,11 +2,12 @@
 , gtk, libXi, inputproto, pkgconfig, recordproto, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "xnee-3.12";
+  version = "3.19";
+  name = "xnee-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/xnee/${name}.tar.gz";
-    sha256 = "10vxn0in0l2jir6x90grx5jc64x63l3b0f8liladdbplc8za8zmw";
+    sha256 = "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j";
   };
 
   patchPhase =
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/xnee/;
 
-    maintainers = [ ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 688c0e12d93..a18ee18668b 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl, buildPythonPackage
 , python, cython, pkgconfig
 , xorg, gtk, glib, pango, cairo, gdk_pixbuf, pygtk, atk, pygobject, pycairo
-, ffmpeg, x264, libvpx, pil, libwebp }:
+, makeWrapper, xkbcomp, xorgserver, getopt, xauth, utillinux, which, fontsConf, xkeyboard_config
+, ffmpeg, x264, libvpx, pil, libwebp
+, libfakeXinerama }:
 
 buildPythonPackage rec {
-  name = "xpra-0.11.6";
+  name = "xpra-0.14.19";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://xpra.org/src/${name}.tar.bz2";
-    sha256 = "0n3lr8nrfmrll83lgi1nzalng902wv0dcmcyx4awnman848dxij0";
+    url = "https://www.xpra.org/src/${name}.tar.xz";
+    sha256 = "0jifaysz4br1v0zibnzgd0k02rgybbsysvwrgbar1452sjb3db5m";
   };
 
   buildInputs = [
@@ -18,25 +20,27 @@ buildPythonPackage rec {
     xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
     xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
     xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
-    xorg.libXrandr
+    xorg.libXrandr xorg.libxkbfile
 
     pango cairo gdk_pixbuf atk gtk glib
 
     ffmpeg libvpx x264 libwebp
+
+    makeWrapper
   ];
 
   propagatedBuildInputs = [
     pil pygtk pygobject
   ];
 
-  # Even after i tried monkey patching, their tests just fail, looks like
-  # they don't have automated testing out of the box? http://xpra.org/trac/ticket/177
-  doCheck = false;
+  postPatch = ''
+    sed -i 's|DEFAULT_XVFB_COMMAND = "Xvfb|DEFAULT_XVFB_COMMAND = "Xvfb -xkbdir ${xkeyboard_config}/etc/X11/xkb|' xpra/platform/features.py
+  '';
 
   preBuild = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
   '';
-  setupPyBuildFlags = ["--enable-Xdummy"];
+  setupPyBuildFlags = ["--with-Xdummy"];
 
   preInstall = ''
     # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
@@ -44,9 +48,26 @@ buildPythonPackage rec {
     sed -i '/ = data_files/d' setup.py
   '';
 
+  postInstall = ''
+    wrapProgram $out/bin/xpra \
+      --set XKB_BINDIR "${xkbcomp}/bin" \
+      --set FONTCONFIG_FILE "${fontsConf}" \
+      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
+      --prefix PATH : ${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin
+  '';
+
+  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
+  #postFixup = ''
+  #  sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra
+  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
+  #  sed -i '4iexport PATH=${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra
+  #'';
+
+
   meta = {
     homepage = http://xpra.org/;
     description = "Persistent remote applications for X";
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
   };
 }
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
new file mode 100644
index 00000000000..04bcd119514
--- /dev/null
+++ b/pkgs/tools/X11/xpra/gtk3.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchurl, buildPythonPackage
+, python, cython, pkgconfig
+, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk, pygobject3, pycairo, gobjectIntrospection
+, makeWrapper, xkbcomp, xorgserver, getopt, xauth, utillinux, which, fontsConf, xkeyboard_config
+, ffmpeg, x264, libvpx, libwebp
+, libfakeXinerama }:
+
+buildPythonPackage rec {
+  name = "xpra-0.14.19";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://www.xpra.org/src/${name}.tar.xz";
+    sha256 = "0jifaysz4br1v0zibnzgd0k02rgybbsysvwrgbar1452sjb3db5m";
+  };
+
+  buildInputs = [
+    pkgconfig
+
+    xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
+    xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
+    xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
+    xorg.libXrandr xorg.libxkbfile
+
+    pango cairo gdk_pixbuf atk gtk3 glib gobjectIntrospection
+
+    ffmpeg libvpx x264 libwebp
+
+    makeWrapper
+  ];
+
+  propagatedBuildInputs = [
+    pygobject3 pycairo cython
+  ];
+
+  postPatch = ''
+    sed -i 's|DEFAULT_XVFB_COMMAND = "Xvfb|DEFAULT_XVFB_COMMAND = "Xvfb -xkbdir ${xkeyboard_config}/etc/X11/xkb|' xpra/platform/features.py
+  '';
+
+  preBuild = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-3.0) $(pkg-config --cflags xtst)"
+  '';
+  setupPyBuildFlags = [ "--with-gtk3" "--without-gtk2" "--with-Xdummy" ];
+
+
+  preInstall = ''
+    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
+    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
+    sed -i '/ = data_files/d' setup.py
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/xpra \
+      --set XKB_BINDIR "${xkbcomp}/bin" \
+      --set FONTCONFIG_FILE "${fontsConf}" \
+      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
+      --prefix PATH : ${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin
+  '';
+
+  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
+  #postFixup = ''
+  #  sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra
+  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
+  #  sed -i '4iexport PATH=${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra
+  #'';
+
+
+  meta = {
+    homepage = http://xpra.org/;
+    description = "Persistent remote applications for X";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/X11/xpra/libfakeXinerama.nix b/pkgs/tools/X11/xpra/libfakeXinerama.nix
new file mode 100644
index 00000000000..4ca509f8b93
--- /dev/null
+++ b/pkgs/tools/X11/xpra/libfakeXinerama.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, libX11, libXinerama }:
+
+stdenv.mkDerivation  rec {
+  name = "libfakeXinerama-${version}";
+  version = "0.1.0";
+
+  src = fetchurl {
+    url = "https://www.xpra.org/src/${name}.tar.bz2";
+    sha256 = "0gxb8jska2anbb3c1m8asbglgnwylgdr44x9lr8yh91hjxsqadkx";
+  };
+
+  buildInputs = [ libX11 libXinerama ];
+
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+
+  buildPhase = ''
+    gcc -O2 -Wall fakeXinerama.c -fPIC -o libfakeXinerama.so.1.0 -shared
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp libfakeXinerama.so.1.0 $out/lib
+    ln -s libXinerama.so.1.0 $out/lib/libXinerama.so.1
+    ln -s libXinerama.so.1 $out/lib/libXinerama.so
+  '';
+
+  meta = {
+    homepage = http://xpra.org/;
+    description = "fakeXinerama for Xpra";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  };
+}
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
new file mode 100644
index 00000000000..37af62e8cdf
--- /dev/null
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, imake, libXt, libXaw, libXtst, libXi, libXpm, xextproto, gccmakedep, Xaw3d }:
+
+stdenv.mkDerivation rec {
+  name = "xvkbd-${version}";
+  version = "3.5";
+  src = fetchurl {
+    url = "http://homepage3.nifty.com/tsato/xvkbd/xvkbd-${version}.tar.gz";
+    sha256 = "1vlg5gl1bflx80prvwg6glw0g4fvbi6k3cy0pya0h7cz6nxbs6c8";
+  };
+
+  buildInputs = [ imake libXt libXaw libXtst xextproto libXi Xaw3d libXpm gccmakedep ];
+  installTargets = [ "install" "install.man" ];
+  preBuild = ''
+    makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults MANPATH=$out/man )
+  '';
+  configurePhase = '' xmkmf -a '';
+
+  meta = with stdenv.lib; {
+    description = "virtual keyboard for X window system";
+    longDescription = ''
+      xvkbd is a virtual (graphical) keyboard program for X Window System which provides
+      facility to enter characters onto other clients (softwares) by clicking on a
+      keyboard displayed on the screen.
+    '';
+    homepage = http://homepage3.nifty.com/tsato/xvkbd/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bennofs ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index a2530319014..d924ae0b7d5 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchzip, pythonPackages, groff }:
 
 pythonPackages.buildPythonPackage rec {
   name = "awscli-${version}";
-  version = "1.2.13";
+  version = "1.7.21";
   namePrefix = "";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/aws/aws-cli/archive/${version}.tar.gz";
-    sha256 = "1mpy1q9y5qiq1fr2xc98sn1njx0p0b1g21p0rdh4ccsf9w7i0rpb";
+    sha256 = "1hm2m5ycsyn4lap8549d6glryp9b9mvar9xwbpmpdcf698lcxzsj";
   };
 
-  propagatedBuildInputs = [ 
+  propagatedBuildInputs = [
     pythonPackages.botocore
     pythonPackages.bcdoc
     pythonPackages.six
@@ -18,5 +18,13 @@ pythonPackages.buildPythonPackage rec {
     pythonPackages.docutils
     pythonPackages.rsa
     pythonPackages.pyasn1
+    groff
   ];
+
+  meta = {
+    homepage = https://aws.amazon.com/cli/;
+    description = "Unified tool to manage your AWS services";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [ muflax ];
+  };
 }
diff --git a/pkgs/tools/admin/nxproxy/default.nix b/pkgs/tools/admin/nxproxy/default.nix
new file mode 100644
index 00000000000..2422d2bb4f7
--- /dev/null
+++ b/pkgs/tools/admin/nxproxy/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, autoreconfHook, libxcomp }:
+
+let version = "3.5.0.31"; in
+stdenv.mkDerivation {
+  name = "nxproxy-${version}";
+
+  src = fetchurl {
+    url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-full.tar.gz";
+    sha256 = "0a31508wyfyblf6plag2djr4spra5kylcmgg99h83c60ylxxnc11";
+  };
+
+  meta = with stdenv.lib; {
+    description = "NX compression proxy";
+    homepage = "http://wiki.x2go.org/doku.php/wiki:libs:nx-libs";
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ autoreconfHook libxcomp ];
+
+  preAutoreconf = ''
+    cd nxproxy/
+  '';
+
+  makeFlags = [ "exec_prefix=$(out)" ];
+}
diff --git a/pkgs/tools/admin/sec/default.nix b/pkgs/tools/admin/sec/default.nix
index d8c60c0ec3c..c74814ae197 100644
--- a/pkgs/tools/admin/sec/default.nix
+++ b/pkgs/tools/admin/sec/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, perl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "sec-2.7.6";
+  name = "sec-2.7.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/simple-evcorr/${name}.tar.gz";
-    sha256 = "1lrssln55p3bmn3d2hl8c5l5ix32bn8065w1cgycwsf7r6fww51p";
+    sha256 = "116nn8fg24nwcimm8gcfp52bsgh1ckrspjr8sk4i0arvpl3d12m9";
   };
 
   buildInputs = [ perl ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://simple-evcorr.sourceforge.net/";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     description = "Simple Event Correlator";
     maintainers = [ stdenv.lib.maintainers.tv ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index a7ec73f55d7..cc341922ddb 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -10,12 +10,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.3.1";
+  version = "1.4.3";
   name = "tigervnc-${version}";
 
   src = fetchurl {
     url = "https://github.com/TigerVNC/tigervnc/archive/v${version}.tar.gz";
-    sha256 = "161bhibic777g47lbjgdnvjhkkdzxrzmxz9rw9sim3q0gcbp0vz3";
+    sha256 = "0938fmlll1vxccc65hdhzdxii7c1v65n2nbgizjddprj5gdh69hb";
   };
 
   inherit fontDirectories;
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     tar xf ${xorgserver.src}
     cp -R xorg*/* unix/xserver
     pushd unix/xserver
-    for a in $xorgPatches ../xserver114.patch
+    for a in $xorgPatches ../xserver116.patch
     do
       patch -p1 < $a
     done
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index 407242cf2d9..6feff044f06 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   # for the builder script
   inherit xauth fontDirectories perl;
-  gcc = stdenv.gcc.gcc;
+  gcc = stdenv.cc.cc;
 
   buildInputs = [x11 zlib libjpeg imake gccmakedep libXmu libXaw libXpm libXp xauth];
   builder = ./builder.sh;
diff --git a/pkgs/tools/archivers/atool/default.nix b/pkgs/tools/archivers/atool/default.nix
index 1db7a7a42eb..7e2934a8f88 100644
--- a/pkgs/tools/archivers/atool/default.nix
+++ b/pkgs/tools/archivers/atool/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, perl}:
+{stdenv, fetchurl, perl, bash}:
 
 stdenv.mkDerivation rec {
   name = "atool-0.39.0";
@@ -8,6 +8,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ perl ];
+  configureScript = "${bash}/bin/bash configure";
 
   meta = {
     homepage = http://www.nongnu.org/atool;
diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix
index 2f3a1b97487..6a61ded4b19 100644
--- a/pkgs/tools/archivers/cpio/default.nix
+++ b/pkgs/tools/archivers/cpio/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation {
   name = "cpio-2.11";
@@ -8,7 +8,24 @@ stdenv.mkDerivation {
     sha256 = "bb820bfd96e74fc6ce43104f06fe733178517e7f5d1cdee553773e8eff7d5bbd";
   };
 
-  patches = [ ./no-gets.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-fix.patch;
+  patches = [
+    ./no-gets.patch
+    (fetchpatch {
+      name = "CVE-2014-9112.diff";
+      url = "http://pkgs.fedoraproject.org/cgit/cpio.git/plain/cpio-2.11"
+        + "-CVE-2014-9112.patch?h=f21&id=b475b4d6f31c95e073edc95c742a33a39ef4ec95";
+      sha256 = "0c9yrysvpwbmiq7ph84dk6mv46hddiyvkgya1zsmj76n9ypb1b4i";
+    })
+  ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-fix.patch;
+
+  postPatch = let pp =
+    fetchpatch {
+      name = "CVE-2015-1197.diff";
+      url = "https://marc.info/?l=oss-security&m=142289947619786&w=2";
+      sha256 = "0fr95bj416zfljv40fl1sh50059d18wdmfgaq8ad2fqi5cnbk859";
+    };
+    # one "<" and one "&" sign get mangled in the patch
+    in "cat ${pp} | sed 's/&lt;/</;s/&amp;/\\&/' | patch -p1";
 
   meta = {
     homepage = http://www.gnu.org/software/cpio/;
diff --git a/pkgs/tools/archivers/cromfs/default.nix b/pkgs/tools/archivers/cromfs/default.nix
index fdba02d12b7..342c975fa1f 100644
--- a/pkgs/tools/archivers/cromfs/default.nix
+++ b/pkgs/tools/archivers/cromfs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, fuse, perl }:
 
 stdenv.mkDerivation rec {
-  name = "cromfs-1.5.10.1";
+  name = "cromfs-1.5.10.2";
   
   src = fetchurl {
     url = "http://bisqwit.iki.fi/src/arch/${name}.tar.bz2";
-    sha256 = "0fg6vnbxr5jk4gqj31yqc9fj1gp3bj955qhxav28nvc6sbql7ac2";
+    sha256 = "0xy2x1ws1qqfp7hfj6yzm80zhrxzmhn0w2yns77im1lmd2h18817";
   };
 
   patchPhase = ''sed -i 's@/bin/bash@/bin/sh@g' configure'';
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix
index 17b0b77f872..6c9559f46e6 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/archivers/dar/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, bzip2, openssl, attr, lzo, libgcrypt, e2fsprogs }:
 
 stdenv.mkDerivation rec {
-  name = "dar-2.4.11";
+  name = "dar-2.4.17";
   
   src = fetchurl {
     url = "mirror://sourceforge/dar/${name}.tar.gz";
-    sha256 = "0psahvnrkljqg9507dk0vq05w8vilpm98igjrcjkqdirqcfd2py1";
+    sha256 = "0g43g6a633j6ipgwdvgwngnrnzhfwkhl2iwih1314xwbd4wir1jx";
   };
 
   buildInputs = [ zlib bzip2 openssl lzo libgcrypt ]
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index 23d3f1dd28b..3c5c6cc0a54 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -1,16 +1,27 @@
-{ stdenv, fetchurl, acl }:
+{ stdenv, fetchurl, autoreconfHook, acl }:
 
 stdenv.mkDerivation rec {
   name = "gnutar-${version}";
-  version = "1.27.1";
+  version = "1.28";
 
   src = fetchurl {
     url = "mirror://gnu/tar/tar-${version}.tar.bz2";
-    sha256 = "1iip0fk0wqhxb0jcwphz43r4fxkx1y7mznnhmlvr618jhp7b63wv";
+    sha256 = "0qkm2k9w8z91hwj8rffpjj9v1vhpiriwz4cdj36k9vrgc3hbzr30";
   };
 
+  patches = stdenv.lib.optional stdenv.isDarwin ./gnutar-1.28-darwin.patch;
+
+  # gnutar tries to call into gettext between `fork` and `exec`,
+  # which is not safe on darwin.
+  # see http://article.gmane.org/gmane.os.macosx.fink.devel/21882
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/system.c --replace '_(' 'N_('
+  '';
+
   outputs = [ "out" "info" ];
-  buildInputs = [ acl ];
+
+  buildInputs = [ acl ]
+    ++ stdenv.lib.optional stdenv.isDarwin autoreconfHook;
 
   # May have some issues with root compilation because the bootstrap tool
   # cannot be used as a login shell for now.
diff --git a/pkgs/tools/archivers/gnutar/gnutar-1.28-darwin.patch b/pkgs/tools/archivers/gnutar/gnutar-1.28-darwin.patch
new file mode 100644
index 00000000000..cab0e4406d8
--- /dev/null
+++ b/pkgs/tools/archivers/gnutar/gnutar-1.28-darwin.patch
@@ -0,0 +1,114 @@
+>From 7d1d3d38cb66b02c062de77847e3c0ecd842366c Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <address@hidden>
+Date: Mon, 4 Aug 2014 13:19:49 +0200
+Subject: [PATCH] xattrs: fix bug in configure
+
+Be careful to define HAVE_XATTRS when not all needed xattr-related
+functions are properly defined either in libc or libattr.
+
+Reported independently by Denis Excoffier and Dominyk Tille.
+
+* acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Check for each xattr
+function separately.  Don't AC_CHECK_LIB (LIBS is filled by
+AC_SEARCH_LIBS when necessary).
+* lib/xattr-at.c: Do not build when HAVE_XATTRS is not defined.
+* src/Makefile.am: The LDADD -lattr was redundant.
+---
+ acinclude.m4    | 42 ++++++++++++++----------------------------
+ lib/xattr-at.c  |  7 +++++++
+ src/Makefile.am |  4 ----
+ 3 files changed, 21 insertions(+), 32 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 3b28b3b..db0bbc7 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -40,37 +40,23 @@ AC_DEFUN([TAR_HEADERS_ATTR_XATTR_H],
+   # First check for <sys/xattr.h>
+   AC_CHECK_HEADERS([sys/xattr.h])
+   AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_sys_xattr_h" = yes])
+-  AM_CONDITIONAL([TAR_LIB_ATTR],[false])
+-  if test "$ac_cv_header_sys_xattr_h" = yes; then
+-    AC_CHECK_FUNCS(getxattr  fgetxattr  lgetxattr \
+-                   setxattr  fsetxattr  lsetxattr \
+-                   listxattr flistxattr llistxattr,
+-        # only when functions are present
+-        AC_DEFINE([HAVE_SYS_XATTR_H], [1],
+-                    [define to 1 if we have <sys/xattr.h> header])
+-        if test "$with_xattrs" != no; then
+-          AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
+-        fi
+-    )
+-  fi
+-
+-  # If <sys/xattr.h> is not found, then check for <attr/xattr.h>
+   if test "$ac_cv_header_sys_xattr_h" != yes; then
+     AC_CHECK_HEADERS([attr/xattr.h])
+     AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes])
+-    AC_CHECK_LIB([attr],[fgetxattr])
+-    AM_CONDITIONAL([TAR_LIB_ATTR],[test "$ac_cv_lib_attr_fgetxattr" = yes])
+-    if test "$ac_cv_header_attr_xattr_h" = yes; then
+-      AC_CHECK_FUNCS(getxattr  fgetxattr  lgetxattr \
+-                     setxattr  fsetxattr  lsetxattr \
+-                     listxattr flistxattr llistxattr,
+-          # only when functions are present
+-          AC_DEFINE([HAVE_ATTR_XATTR_H], [1],
+-                      [define to 1 if we have <attr/xattr.h> header])
+-          if test "$with_xattrs" != no; then
+-            AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
+-          fi
+-      )
++  fi
++
++  if test "$with_xattrs" != no; then
++    for i in getxattr  fgetxattr  lgetxattr \
++             setxattr  fsetxattr  lsetxattr \
++             listxattr flistxattr llistxattr
++    do
++      AC_SEARCH_LIBS($i, attr)
++      eval found=\$ac_cv_search_$i
++      test "$found" = "no" && break
++    done
++
++    if test "$found" != no; then
++      AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
+     fi
+   fi
+ ])
+diff --git a/lib/xattr-at.c b/lib/xattr-at.c
+index 443ccae..009bde5 100644
+--- a/lib/xattr-at.c
++++ b/lib/xattr-at.c
+@@ -18,6 +18,11 @@
+ 
+ #include <config.h>
+ 
++/* Temporarily don't build.  We are unable to build on (probably not only)
++   darwin due to lack of l*xattr callbacks (XATTR_NOFOLLOW is alternative) and
++   different function definitions. */
++#ifdef HAVE_XATTRS
++
+ #include "xattr-at.h"
+ #include "openat.h"
+ 
+@@ -108,3 +113,5 @@
+ #undef AT_FUNC_RESULT
+ #undef AT_FUNC_POST_FILE_PARAM_DECLS
+ #undef AT_FUNC_POST_FILE_ARGS
++
++#endif
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 82b2d46..42daaef 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -52,7 +52,3 @@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+ LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
+ 
+ tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX)
+-
+-if TAR_LIB_ATTR
+-tar_LDADD += -lattr
+-endif
+-- 
+1.9.3
+
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index cd0cea13a14..6769540d8df 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl }:
 
+let
+  version = "9.38";
+in
 stdenv.mkDerivation rec {
-  name = "p7zip-9.20.1";
-  
+  name = "p7zip-${version}";
+
   src = fetchurl {
-    url = mirror://sourceforge/p7zip/p7zip_9.20.1_src_all.tar.bz2;
-    sha256 = "10j7rc1nzdp7vvcpc3340yi3qw7abby4szv8zkwh10d0zizpwma9";
+    url = "mirror://sourceforge/p7zip/p7zip_${version}_src_all.tar.bz2";
+    sha256 = "0mxribb9a3lz3bifz6002hg7vyy8h9piinypian533hw8qvswfx7";
   };
 
   preConfigure = ''
@@ -22,5 +25,6 @@ stdenv.mkDerivation rec {
     description = "A port of the 7-zip archiver";
     # license = stdenv.lib.licenses.lgpl21Plus; + "unRAR restriction"
     platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
   };
 }
diff --git a/pkgs/tools/archivers/rpmextract/default.nix b/pkgs/tools/archivers/rpmextract/default.nix
new file mode 100644
index 00000000000..c5f982c955c
--- /dev/null
+++ b/pkgs/tools/archivers/rpmextract/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, rpm, cpio, substituteAll }:
+
+stdenv.mkDerivation rec {
+  name = "rpmextract";
+
+  buildCommand = ''
+    install -Dm755 $script $out/bin/rpmextract
+  '';
+    
+  script = substituteAll {
+    src = ./rpmextract.sh;
+    inherit rpm cpio;
+  };
+
+  meta = with stdenv.lib; {
+    description = "Script to extract RPM archives";
+    platforms = platforms.all;
+    license = licenses.gpl2;
+    maintainers = maintainers.abbradar;
+  };
+}
diff --git a/pkgs/tools/archivers/rpmextract/rpmextract.sh b/pkgs/tools/archivers/rpmextract/rpmextract.sh
new file mode 100644
index 00000000000..04f57f6e604
--- /dev/null
+++ b/pkgs/tools/archivers/rpmextract/rpmextract.sh
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+if [ "$1" = "" ]; then
+  echo "usage: rpmextract package_name..." 1>&2
+  exit 1
+fi
+
+for i in "$@"; do
+  @rpm@/bin/rpm2cpio "$i" | @cpio@/bin/cpio -idv
+done
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index f19564e4ad9..146f9bea87a 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gettext }:
+{ stdenv, fetchurl, gettext, coreutils }:
 
 stdenv.mkDerivation rec {
   name = "sharutils-4.11.1";
@@ -12,11 +12,11 @@ stdenv.mkDerivation rec {
     ''
        # Fix for building on Glibc 2.16.  Won't be needed once the
        # gnulib in sharutils is updated.
-       sed -i '/gets is a security hole/d' lib/stdio.in.h
+       sed -i ${stdenv.lib.optionalString ((stdenv.isFreeBSD || stdenv.isOpenBSD || stdenv.isDarwin) && stdenv.cc.nativeTools) "''"} '/gets is a security hole/d' lib/stdio.in.h
     '';
 
   # GNU Gettext is needed on non-GNU platforms.
-  buildInputs = [ gettext ];
+  buildInputs = [ gettext coreutils ];
 
   doCheck = true;
 
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Tools for remote synchronization and `shell archives'";
-
     longDescription =
       '' GNU shar makes so-called shell archives out of many files, preparing
          them for transmission by electronic mail services.  A shell archive
@@ -43,11 +42,8 @@ stdenv.mkDerivation rec {
          by a copy of the shell. unshar may also process files containing
          concatenated shell archives.
       '';
-
     homepage = http://www.gnu.org/software/sharutils/;
-
     license = stdenv.lib.licenses.gpl3Plus;
-
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/archivers/unarj/default.nix b/pkgs/tools/archivers/unarj/default.nix
index 0852674e8c8..546f398bec3 100644
--- a/pkgs/tools/archivers/unarj/default.nix
+++ b/pkgs/tools/archivers/unarj/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "unarj-2.63a";
-  
+
   src = fetchurl {
     url = http://www.ibiblio.org/pub/Linux/utils/compress/unarj-2.63a.tar.gz;
     sha256 = "0j4sn57fq2p23pcq4ck06pm618q4vq09wgm89ilfn4c9l9x2ky1k";
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Unarchiver of ARJ files";
-    license = "free";
+    license = stdenv.lib.licenses.free;
   };
 }
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index a88c0b345d7..eb0d3a3bd83 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -1,32 +1,35 @@
 {stdenv, fetchurl}:
 
 let
-  version = "5.1.5";
+  version = "5.2.7";
 in
 stdenv.mkDerivation {
   name = "unrar-${version}";
 
   src = fetchurl {
     url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "1jrla255911rbl953br2xbgvyw15kpi11r4lpqm3jlw553ccw912";
+    sha256 = "1b1ggrqn020pvvh2ia98alqxpl1q3x65cb6zzqwv91rpjiz7a57g";
   };
 
-  patchPhase = ''
-    sed -i \
-      -e "/CXX=/d" \
-      -e "/CXXFLAGS=/d" \
-      makefile
+  preBuild = ''
+    export buildFlags="CXX=$CXX"
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp unrar $out/bin
+    installBin unrar
+
+    mkdir -p $out/share/doc/unrar
+    cp acknow.txt license.txt \
+        $out/share/doc/unrar
   '';
 
-  meta = {
+  setupHook = ./setup-hook.sh;
+
+  meta = with stdenv.lib; {
     description = "Utility for RAR archives";
-    license = "freeware";
-    maintainers = [ stdenv.lib.maintainers.emery ];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # arbitrary
+    homepage = http://www.rarlab.com/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.emery ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/archivers/unrar/setup-hook.sh b/pkgs/tools/archivers/unrar/setup-hook.sh
new file mode 100644
index 00000000000..41d6a5cd217
--- /dev/null
+++ b/pkgs/tools/archivers/unrar/setup-hook.sh
@@ -0,0 +1,5 @@
+unpackCmdHooks+=(_tryUnrar)
+_tryUnrar() {
+    if ! [[ "$curSrc" =~ \.rar$ ]]; then return 1; fi
+    unrar x "$curSrc" >/dev/null
+}
diff --git a/pkgs/tools/archivers/unzip/CVE-2014-8139.diff b/pkgs/tools/archivers/unzip/CVE-2014-8139.diff
new file mode 100644
index 00000000000..3bcc21c7c0d
--- /dev/null
+++ b/pkgs/tools/archivers/unzip/CVE-2014-8139.diff
@@ -0,0 +1,47 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=971984&action=diff&context=patch&collapsed=&headers=1&format=raw
+
+--- unzip60/extract.c	2010-04-03 14:41:55 -0500
++++ unzip60/extract.c	2014-12-03 15:33:35 -0600
+@@ -1,5 +1,5 @@ 
+ /*
+-  Copyright (c) 1990-2009 Info-ZIP.  All rights reserved.
++  Copyright (c) 1990-2014 Info-ZIP.  All rights reserved.
+ 
+   See the accompanying file LICENSE, version 2009-Jan-02 or later
+   (the contents of which are also included in unzip.h) for terms of use.
+@@ -298,6 +298,8 @@ 
+ #ifndef SFX
+    static ZCONST char Far InconsistEFlength[] = "bad extra-field entry:\n \
+      EF block length (%u bytes) exceeds remaining EF data (%u bytes)\n";
++   static ZCONST char Far TooSmallEFlength[] = "bad extra-field entry:\n \
++     EF block length (%u bytes) invalid (< %d)\n";
+    static ZCONST char Far InvalidComprDataEAs[] =
+      " invalid compressed data for EAs\n";
+ #  if (defined(WIN32) && defined(NTSD_EAS))
+@@ -2023,7 +2025,8 @@ 
+         ebID = makeword(ef);
+         ebLen = (unsigned)makeword(ef+EB_LEN);
+ 
+-        if (ebLen > (ef_len - EB_HEADSIZE)) {
++        if (ebLen > (ef_len - EB_HEADSIZE))
++        {
+            /* Discovered some extra field inconsistency! */
+             if (uO.qflag)
+                 Info(slide, 1, ((char *)slide, "%-22s ",
+@@ -2032,6 +2035,16 @@ 
+               ebLen, (ef_len - EB_HEADSIZE)));
+             return PK_ERR;
+         }
++        else if (ebLen < EB_HEADSIZE)
++        {
++            /* Extra block length smaller than header length. */
++            if (uO.qflag)
++                Info(slide, 1, ((char *)slide, "%-22s ",
++                  FnFilter1(G.filename)));
++            Info(slide, 1, ((char *)slide, LoadFarString(TooSmallEFlength),
++              ebLen, EB_HEADSIZE));
++            return PK_ERR;
++        }
+ 
+         switch (ebID) {
+             case EF_OS2:
diff --git a/pkgs/tools/archivers/unzip/CVE-2014-8140.diff b/pkgs/tools/archivers/unzip/CVE-2014-8140.diff
new file mode 100644
index 00000000000..81b96b8df7d
--- /dev/null
+++ b/pkgs/tools/archivers/unzip/CVE-2014-8140.diff
@@ -0,0 +1,26 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=969621&action=diff
+(unzip60/ path prefix added)
+
+--- unzip60/extract.c	2009-03-14 02:32:52.000000000 +0100
++++ unzip60/extract.c	2014-12-05 22:43:13.000000000 +0100
+@@ -2221,10 +2234,17 @@ static int test_compr_eb(__G__ eb, eb_si
+     if (compr_offset < 4)                /* field is not compressed: */
+         return PK_OK;                    /* do nothing and signal OK */
+ 
++    /* Return no/bad-data error status if any problem is found:
++     *    1. eb_size is too small to hold the uncompressed size
++     *       (eb_ucsize).  (Else extract eb_ucsize.)
++     *    2. eb_ucsize is zero (invalid).  2014-12-04 SMS.
++     *    3. eb_ucsize is positive, but eb_size is too small to hold
++     *       the compressed data header.
++     */
+     if ((eb_size < (EB_UCSIZE_P + 4)) ||
+-        ((eb_ucsize = makelong(eb+(EB_HEADSIZE+EB_UCSIZE_P))) > 0L &&
+-         eb_size <= (compr_offset + EB_CMPRHEADLEN)))
+-        return IZ_EF_TRUNC;               /* no compressed data! */
++     ((eb_ucsize = makelong( eb+ (EB_HEADSIZE+ EB_UCSIZE_P))) == 0L) ||
++     ((eb_ucsize > 0L) && (eb_size <= (compr_offset + EB_CMPRHEADLEN))))
++        return IZ_EF_TRUNC;             /* no/bad compressed data! */
+ 
+     if (
+ #ifdef INT_16BIT
diff --git a/pkgs/tools/archivers/unzip/CVE-2014-8141.diff b/pkgs/tools/archivers/unzip/CVE-2014-8141.diff
new file mode 100644
index 00000000000..11007195b1f
--- /dev/null
+++ b/pkgs/tools/archivers/unzip/CVE-2014-8141.diff
@@ -0,0 +1,136 @@
+From RedHat: https://bugzilla.redhat.com/attachment.cgi?id=969625&action=diff
+(unzip60/ path prefix added)
+
+--- unzip60/process.c	2009-03-06 02:25:10.000000000 +0100
++++ unzip60/process.c	2014-12-05 22:42:39.000000000 +0100
+@@ -1,5 +1,5 @@ 
+ /*
+-  Copyright (c) 1990-2009 Info-ZIP.  All rights reserved.
++  Copyright (c) 1990-2014 Info-ZIP.  All rights reserved.
+ 
+   See the accompanying file LICENSE, version 2009-Jan-02 or later
+   (the contents of which are also included in unzip.h) for terms of use.
+@@ -1888,48 +1888,82 @@ int getZip64Data(__G__ ef_buf, ef_len)
+     and a 4-byte version of disk start number.
+     Sets both local header and central header fields.  Not terribly clever,
+     but it means that this procedure is only called in one place.
++
++    2014-12-05 SMS.
++    Added checks to ensure that enough data are available before calling
++    makeint64() or makelong().  Replaced various sizeof() values with
++    simple ("4" or "8") constants.  (The Zip64 structures do not depend
++    on our variable sizes.)  Error handling is crude, but we should now
++    stay within the buffer.
+   ---------------------------------------------------------------------------*/
+ 
++#define Z64FLGS 0xffff
++#define Z64FLGL 0xffffffff
++
+     if (ef_len == 0 || ef_buf == NULL)
+         return PK_COOL;
+ 
+     Trace((stderr,"\ngetZip64Data: scanning extra field of length %u\n",
+       ef_len));
+ 
+-    while (ef_len >= EB_HEADSIZE) {
++    while (ef_len >= EB_HEADSIZE)
++    {
+         eb_id = makeword(EB_ID + ef_buf);
+         eb_len = makeword(EB_LEN + ef_buf);
+ 
+-        if (eb_len > (ef_len - EB_HEADSIZE)) {
+-            /* discovered some extra field inconsistency! */
++        if (eb_len > (ef_len - EB_HEADSIZE))
++        {
++            /* Extra block length exceeds remaining extra field length. */
+             Trace((stderr,
+               "getZip64Data: block length %u > rest ef_size %u\n", eb_len,
+               ef_len - EB_HEADSIZE));
+             break;
+         }
+-        if (eb_id == EF_PKSZ64) {
+-
++        if (eb_id == EF_PKSZ64)
++        {
+           int offset = EB_HEADSIZE;
+ 
+-          if (G.crec.ucsize == 0xffffffff || G.lrec.ucsize == 0xffffffff){
+-            G.lrec.ucsize = G.crec.ucsize = makeint64(offset + ef_buf);
+-            offset += sizeof(G.crec.ucsize);
++          if ((G.crec.ucsize == Z64FLGL) || (G.lrec.ucsize == Z64FLGL))
++          {
++            if (offset+ 8 > ef_len)
++              return PK_ERR;
++
++            G.crec.ucsize = G.lrec.ucsize = makeint64(offset + ef_buf);
++            offset += 8;
+           }
+-          if (G.crec.csize == 0xffffffff || G.lrec.csize == 0xffffffff){
+-            G.csize = G.lrec.csize = G.crec.csize = makeint64(offset + ef_buf);
+-            offset += sizeof(G.crec.csize);
++
++          if ((G.crec.csize == Z64FLGL) || (G.lrec.csize == Z64FLGL))
++          {
++            if (offset+ 8 > ef_len)
++              return PK_ERR;
++
++            G.csize = G.crec.csize = G.lrec.csize = makeint64(offset + ef_buf);
++            offset += 8;
+           }
+-          if (G.crec.relative_offset_local_header == 0xffffffff){
++
++          if (G.crec.relative_offset_local_header == Z64FLGL)
++          {
++            if (offset+ 8 > ef_len)
++              return PK_ERR;
++
+             G.crec.relative_offset_local_header = makeint64(offset + ef_buf);
+-            offset += sizeof(G.crec.relative_offset_local_header);
++            offset += 8;
+           }
+-          if (G.crec.disk_number_start == 0xffff){
++
++          if (G.crec.disk_number_start == Z64FLGS)
++          {
++            if (offset+ 4 > ef_len)
++              return PK_ERR;
++
+             G.crec.disk_number_start = (zuvl_t)makelong(offset + ef_buf);
+-            offset += sizeof(G.crec.disk_number_start);
++            offset += 4;
+           }
++#if 0
++          break;                /* Expect only one EF_PKSZ64 block. */
++#endif /* 0 */
+         }
+ 
+-        /* Skip this extra field block */
++        /* Skip this extra field block. */
+         ef_buf += (eb_len + EB_HEADSIZE);
+         ef_len -= (eb_len + EB_HEADSIZE);
+     }
+--- unzip60/fileio.c	2009-04-20 02:03:44.000000000 +0200
++++ unzip60/fileio.c	2014-12-05 22:44:16.000000000 +0100
+@@ -176,6 +176,8 @@ static ZCONST char Far FilenameTooLongTr
+ #endif
+ static ZCONST char Far ExtraFieldTooLong[] =
+   "warning:  extra field too long (%d).  Ignoring...\n";
++static ZCONST char Far ExtraFieldCorrupt[] =
++  "warning:  extra field (type: 0x%04x) corrupt.  Continuing...\n";
+ 
+ #ifdef WINDLL
+    static ZCONST char Far DiskFullQuery[] =
+@@ -2295,7 +2297,12 @@ int do_string(__G__ length, option)   /*
+             if (readbuf(__G__ (char *)G.extra_field, length) == 0)
+                 return PK_EOF;
+             /* Looks like here is where extra fields are read */
+-            getZip64Data(__G__ G.extra_field, length);
++            if (getZip64Data(__G__ G.extra_field, length) != PK_COOL)
++            {
++                Info(slide, 0x401, ((char *)slide,
++                 LoadFarString( ExtraFieldCorrupt), EF_PKSZ64));
++                error = PK_WARN;
++            }
+ #ifdef UNICODE_SUPPORT
+             G.unipath_filename = NULL;
+             if (G.UzO.U_flag < 2) {
diff --git a/pkgs/tools/archivers/unzip/CVE-2014-9636.diff b/pkgs/tools/archivers/unzip/CVE-2014-9636.diff
new file mode 100644
index 00000000000..d4c7f752975
--- /dev/null
+++ b/pkgs/tools/archivers/unzip/CVE-2014-9636.diff
@@ -0,0 +1,42 @@
+From 190040ebfcf5395a6ccedede2cc9343d34f0a108 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1 AT zoho DOT com>
+Date: Wed, 11 Feb 2015
+Subject: Info-ZIP UnZip buffer overflow
+
+By carefully crafting a corrupt ZIP archive with "extra fields" that
+purport to have compressed blocks larger than the corresponding
+uncompressed blocks in STORED no-compression mode, an attacker can
+trigger a heap overflow that can result in application crash or
+possibly have other unspecified impact.
+
+This patch ensures that when extra fields use STORED mode, the
+"compressed" and uncompressed block sizes match.
+
+---
+ extract.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/extract.c
++++ b/extract.c
+@@ -2217,6 +2217,7 @@ static int test_compr_eb(__G__ eb, eb_si
+     ulg eb_ucsize;
+     uch *eb_ucptr;
+     int r;
++    ush method;
+ 
+     if (compr_offset < 4)                /* field is not compressed: */
+         return PK_OK;                    /* do nothing and signal OK */
+@@ -2226,6 +2227,13 @@ static int test_compr_eb(__G__ eb, eb_si
+          eb_size <= (compr_offset + EB_CMPRHEADLEN)))
+         return IZ_EF_TRUNC;               /* no compressed data! */
+ 
++    method = makeword(eb + (EB_HEADSIZE + compr_offset));
++    if ((method == STORED) &&
++        (eb_size - compr_offset - EB_CMPRHEADLEN != eb_ucsize))
++	return PK_ERR;			  /* compressed & uncompressed
++					   * should match in STORED
++					   * method */
++
+     if (
+ #ifdef INT_16BIT
+         (((ulg)(extent)eb_ucsize) != eb_ucsize) ||
diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix
index 7f2c81e2797..c5e06663dc0 100644
--- a/pkgs/tools/archivers/unzip/default.nix
+++ b/pkgs/tools/archivers/unzip/default.nix
@@ -9,7 +9,12 @@ stdenv.mkDerivation {
     sha256 = "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83";
   };
 
-  patches = stdenv.lib.optional enableNLS
+  patches = [
+    ./CVE-2014-8139.diff
+    ./CVE-2014-8140.diff
+    ./CVE-2014-8141.diff
+    ./CVE-2014-9636.diff
+  ] ++ stdenv.lib.optional enableNLS
     (fetchurl {
       url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1";
       name = "unzip-6.0-natspec.patch";
@@ -36,7 +41,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.info-zip.org;
     description = "An extraction utility for archives compressed in .zip format";
-    license = "free"; # http://www.info-zip.org/license.html
+    license = stdenv.lib.licenses.free; # http://www.info-zip.org/license.html
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/archivers/unzip/setup-hook.sh b/pkgs/tools/archivers/unzip/setup-hook.sh
index 4cad0fe7e91..4055d2fab51 100644
--- a/pkgs/tools/archivers/unzip/setup-hook.sh
+++ b/pkgs/tools/archivers/unzip/setup-hook.sh
@@ -1,5 +1,5 @@
 unpackCmdHooks+=(_tryUnzip)
 _tryUnzip() {
-    if ! [[ "foo.zip" =~ \.zip$ ]]; then return 1; fi
+    if ! [[ "$curSrc" =~ \.zip$ ]]; then return 1; fi
     unzip -qq "$curSrc"
 }
diff --git a/pkgs/tools/archivers/xarchive/default.nix b/pkgs/tools/archivers/xarchive/default.nix
index 2b60bef197a..ed60e3147a8 100644
--- a/pkgs/tools/archivers/xarchive/default.nix
+++ b/pkgs/tools/archivers/xarchive/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A GTK+ front-end for command line archiving tools";
-    mainatainers = [ stdenv.lib.maintainers.iElectric ];
+    maintainers = [ stdenv.lib.maintainers.iElectric ];
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/archivers/xarchiver/default.nix b/pkgs/tools/archivers/xarchiver/default.nix
index fc5b984bd90..eff82351ca3 100644
--- a/pkgs/tools/archivers/xarchiver/default.nix
+++ b/pkgs/tools/archivers/xarchiver/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, gtk2, pkgconfig, intltool }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.3";
+  version = "0.5.4";
   name = "xarchiver-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/xarchiver/${name}.tar.bz2";
-    sha256 = "10bdq406xkl2q6rl6qvvipdr3ini5lnh1sjykgw66fp8jns9r2f5";
+    sha256 = "1x1f8m71cvv2p1364rz99iqs2caxj7yrb46aikz6xigwg4wsfgz6";
   };
 
   buildInputs = [ gtk2 pkgconfig intltool ];
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "GTK+2 only frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)";
     homepage = http://sourceforge.net/projects/xarchiver/;
-    mainatainers = [ stdenv.lib.maintainers.iElectric ];
+    maintainers = [ stdenv.lib.maintainers.iElectric ];
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix
index 1ed5866a692..5f8a03e2d67 100644
--- a/pkgs/tools/archivers/zpaq/default.nix
+++ b/pkgs/tools/archivers/zpaq/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, unzip}:
+{ stdenv, fetchurl, unzip }:
 let
   s = # Generated upstream information
   rec {
     baseName="zpaq";
-    version="655";
+    version="704";
     name="${baseName}-${version}";
-    hash="09wjss6vbziwvfmcngb64xd2yih79z1ypgrn4ni7ag8cifx9257c";
-    url="http://mattmahoney.net/dc/zpaq655.zip";
-    sha256="09wjss6vbziwvfmcngb64xd2yih79z1ypgrn4ni7ag8cifx9257c";
+    hash="0ffs2br5sjsd5pvy2x476fakbpvcf7yf0agzys0cfcib8pw9bd91";
+    url="http://mattmahoney.net/dc/zpaq704.zip";
+    sha256="0ffs2br5sjsd5pvy2x476fakbpvcf7yf0agzys0cfcib8pw9bd91";
   };
   buildInputs = [
     unzip
   ];
-  isUnix = stdenv.isLinux || stdenv.isGNU || stdenv.isDarwin || stdenv.isBSD;
+  isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
   isx86 = stdenv.isi686 || stdenv.isx86_64;
   compileFlags = ""
     + (stdenv.lib.optionalString isUnix " -Dunix -pthread ")
@@ -29,14 +29,14 @@ stdenv.mkDerivation {
   };
   sourceRoot = ".";
   buildPhase = ''
-    g++ -shared -O3 libzpaq.cpp ${compileFlags} -o libzpaq.so
-    g++ -O3 -L. -L"$out/lib" -lzpaq divsufsort.c zpaq.cpp -o zpaq
+	  g++ -O3 -march=native -Dunix libzpaq.cpp -pthread --shared -o libzpaq.so -fPIC
+	  g++ -O3 -march=native -Dunix zpaq.cpp -lzpaq -L. -L"$out/lib" -pthread -o zpaq
   '';
   installPhase = ''
     mkdir -p "$out"/{bin,include,lib,share/doc/zpaq}
     cp libzpaq.so "$out/lib"
     cp zpaq "$out/bin"
-    cp libzpaq.h divsufsort.h "$out/include"
+    cp libzpaq.h "$out/include"
     cp readme.txt "$out/share/doc/zpaq"
   '';
   meta = {
diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix
index cfb76d2ff9b..65f40f68f55 100644
--- a/pkgs/tools/archivers/zpaq/zpaqd.nix
+++ b/pkgs/tools/archivers/zpaq/zpaqd.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, unzip}:
+{ stdenv, fetchurl, unzip }:
 let
   s = # Generated upstream information
   rec {
@@ -12,7 +12,7 @@ let
   buildInputs = [
     unzip
   ];
-  isUnix = stdenv.isLinux || stdenv.isGNU || stdenv.isDarwin || stdenv.isBSD;
+  isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
   isx86 = stdenv.isi686 || stdenv.isx86_64;
   compileFlags = ""
     + (stdenv.lib.optionalString isUnix " -Dunix -pthread ")
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
new file mode 100644
index 00000000000..cf58ab7890c
--- /dev/null
+++ b/pkgs/tools/audio/beets/default.nix
@@ -0,0 +1,169 @@
+{ stdenv, fetchFromGitHub, writeScript
+, buildPythonPackage, pythonPackages, python
+
+, enableAcoustid   ? true
+, enableBeatport   ? true
+, enableDiscogs    ? true
+, enableEchonest   ? true
+, enableFetchart   ? true
+, enableLastfm     ? true
+, enableMpd        ? true
+, enableReplaygain ? true
+, enableWeb        ? true
+
+, bashInteractive, bashCompletion
+}:
+
+assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
+assert enableBeatport    -> pythonPackages.responses      != null;
+assert enableDiscogs     -> pythonPackages.discogs_client != null;
+assert enableEchonest    -> pythonPackages.pyechonest     != null;
+assert enableFetchart    -> pythonPackages.responses      != null;
+assert enableLastfm      -> pythonPackages.pylast         != null;
+assert enableMpd         -> pythonPackages.mpd            != null;
+assert enableReplaygain  -> pythonPackages.audiotools     != null;
+assert enableWeb         -> pythonPackages.flask          != null;
+
+with stdenv.lib;
+
+let
+  optionalPlugins = {
+    beatport = enableBeatport;
+    chroma = enableAcoustid;
+    discogs = enableDiscogs;
+    echonest = enableEchonest;
+    fetchart = enableFetchart;
+    lastgenre = enableLastfm;
+    lastimport = enableLastfm;
+    mpdstats = enableMpd;
+    mpdupdate = enableMpd;
+    replaygain = enableReplaygain;
+    web = enableWeb;
+  };
+
+  pluginsWithoutDeps = [
+    "bench" "bpd" "bpm" "bucket" "convert" "duplicates" "embedart" "freedesktop"
+    "fromfilename" "ftintitle" "fuzzy" "ihate" "importadded" "importfeeds"
+    "info" "inline" "keyfinder" "lyrics" "mbcollection" "mbsync" "missing"
+    "permissions" "play" "plexupdate" "random" "rewrite" "scrub" "smartplaylist"
+    "spotify" "the" "types" "zero"
+  ];
+
+  enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
+
+  allPlugins = pluginsWithoutDeps ++ attrNames optionalPlugins;
+  allEnabledPlugins = pluginsWithoutDeps ++ enabledOptionalPlugins;
+
+  testShell = "${bashInteractive}/bin/bash --norc";
+  completion = "${bashCompletion}/share/bash-completion/bash_completion";
+
+in buildPythonPackage rec {
+  name = "beets-${version}";
+  version = "1.3.10";
+  namePrefix = "";
+
+  src = fetchFromGitHub {
+    owner = "sampsyo";
+    repo = "beets";
+    rev = "v${version}";
+    sha256 = "136rvzpygjym6hxq19qwiri5jxx718bbmi471mvc3vibrb7xj1sr";
+  };
+
+  propagatedBuildInputs = [
+    pythonPackages.enum34
+    pythonPackages.munkres
+    pythonPackages.musicbrainzngs
+    pythonPackages.mutagen
+    pythonPackages.pyyaml
+    pythonPackages.unidecode
+    python.modules.sqlite3
+    python.modules.readline
+  ] ++ optional enableAcoustid                     pythonPackages.pyacoustid
+    ++ optional (enableBeatport || enableFetchart) pythonPackages.requests2
+    ++ optional enableDiscogs                      pythonPackages.discogs_client
+    ++ optional enableEchonest                     pythonPackages.pyechonest
+    ++ optional enableLastfm                       pythonPackages.pylast
+    ++ optional enableMpd                          pythonPackages.mpd
+    ++ optional enableReplaygain                   pythonPackages.audiotools
+    ++ optional enableWeb                          pythonPackages.flask;
+
+  buildInputs = with pythonPackages; [
+    beautifulsoup4
+    flask
+    mock
+    nose
+    pyechonest
+    pylast
+    rarfile
+    requests2
+    responses
+  ];
+
+  patches = [
+    ./replaygain-default-audiotools.patch
+  ];
+
+  postPatch = ''
+    sed -i -e '/assertIn.*item.*path/d' test/test_info.py
+    echo echo completion tests passed > test/test_completion.sh
+
+    sed -i -e '/^BASH_COMPLETION_PATHS *=/,/^])$/ {
+      /^])$/i u"${completion}"
+    }' beets/ui/commands.py
+  '';
+
+  doCheck = true;
+
+  preCheck = ''
+    (${concatMapStrings (s: "echo \"${s}\";") allPlugins}) \
+      | sort -u > plugins_defined
+    find beetsplug -mindepth 1 \
+      \! -path 'beetsplug/__init__.py' -a \
+      \( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \
+      | sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \
+      | sort -u > plugins_available
+
+    if ! mismatches="$(diff -y plugins_defined plugins_available)"; then
+      echo "The the list of defined plugins (left side) doesn't match" \
+           "the list of available plugins (right side):" >&2
+      echo "$mismatches" >&2
+      exit 1
+    fi
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+
+    BEETS_TEST_SHELL="${testShell}" \
+    BASH_COMPLETION_SCRIPT="${completion}" \
+    HOME="$(mktemp -d)" \
+      nosetests -v
+
+    runHook postCheck
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    tmphome="$(mktemp -d)"
+
+    EDITOR="${writeScript "beetconfig.sh" ''
+      #!${stdenv.shell}
+      cat > "$1" <<CFG
+      plugins: ${concatStringsSep " " allEnabledPlugins}
+      CFG
+    ''}" HOME="$tmphome" "$out/bin/beet" config -e
+    EDITOR=true HOME="$tmphome" "$out/bin/beet" config -e
+
+    runHook postInstallCheck
+  '';
+
+  meta = {
+    homepage = http://beets.radbox.org;
+    description = "Music tagger and library organizer";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ iElectric aszlig ];
+  };
+}
diff --git a/pkgs/tools/audio/beets/replaygain-default-audiotools.patch b/pkgs/tools/audio/beets/replaygain-default-audiotools.patch
new file mode 100644
index 00000000000..d852ea6feca
--- /dev/null
+++ b/pkgs/tools/audio/beets/replaygain-default-audiotools.patch
@@ -0,0 +1,17 @@
+diff --git a/beetsplug/replaygain.py b/beetsplug/replaygain.py
+index 40b3a3a..9b54a5a 100644
+--- a/beetsplug/replaygain.py
++++ b/beetsplug/replaygain.py
+@@ -627,11 +627,10 @@ class ReplayGainPlugin(BeetsPlugin):
+         super(ReplayGainPlugin, self).__init__()
+         self.import_stages = [self.imported]
+ 
+-        # default backend is 'command' for backward-compatibility.
+         self.config.add({
+             'overwrite': False,
+             'auto': True,
+-            'backend': u'command',
++            'backend': u'audiotools',
+             'targetlevel': 89,
+         })
+ 
diff --git a/pkgs/tools/audio/dir2opus/default.nix b/pkgs/tools/audio/dir2opus/default.nix
new file mode 100644
index 00000000000..bc3eaf9bf53
--- /dev/null
+++ b/pkgs/tools/audio/dir2opus/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, python, mutagen, wrapPython, opusTools }:
+
+let version = "0.12.1"; in
+stdenv.mkDerivation rec {
+  name = "dir2opus-${version}";
+
+  pythonPath = [ mutagen ];
+  buildInputs = [ wrapPython ];
+  propagatedBuildInputs = [ opusTools ];
+
+  src = fetchurl {
+    url = "https://github.com/ehmry/dir2opus/archive/${version}.tar.gz";
+    name = "${name}.tar.gz";
+    sha256 = "1d6x3qfcj5lfmc8gzna1vrr7fl31i86ha8l4nz5987rx57fgwf0q";
+  };
+
+  postPatch = "sed -i -e 's|#!/usr/bin/python|#!${python}/bin/python|' dir2opus";
+
+  installPhase =
+    ''
+      mkdir -p $out/bin $out/share/man/man1
+      cp dir2opus $out/bin
+      cp dir2opus.1 $out/share/man/man1
+    '';
+
+  postFixup = "wrapPythonPrograms";
+
+  meta = with stdenv.lib;
+    { homepage = https://github.com/ehmry/dir2opus;
+      maintainers = [ maintainers.emery ];
+      license = licenses.gpl2;
+    };
+}
\ No newline at end of file
diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix
index 69c62985154..6bcddfa72f1 100644
--- a/pkgs/tools/audio/gvolicon/default.nix
+++ b/pkgs/tools/audio/gvolicon/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "gvolicon";
   src = fetchgit {
     url = "https://github.com/Unia/gvolicon";
-    rev = "26343415de836e0b05aa0b480c0c69cc2ed9e419";
-    sha256 = "68858840a45b5f74803e85116c6219f805d6d944c00354662889549910856cdd";
+    rev = "c04cafb88124e1e5edc61dd52f76bf13381d5167";
+    sha256 = "31cf770dca0d216e3108b258b4c150cbeb3b127002d53fd6ddddfcf9e3e293aa";
   };
 
   buildInputs = [ pkgconfig makeWrapper alsaLib gnome3.gtk ];
@@ -18,10 +18,10 @@ stdenv.mkDerivation {
     '';
 
   meta = {
-    description = "A simple and lightweight volume icon that sits in your system tray.";
-    homepage = "https://github.com/Unia/gvolicon";
+    description = "A simple and lightweight volume icon that sits in your system tray";
+    homepage = https://github.com/Unia/gvolicon;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = stdenv.lib.maintainers.bennofs;
+    maintainers = [ stdenv.lib.maintainers.bennofs ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/tools/audio/liquidsoap/full.nix b/pkgs/tools/audio/liquidsoap/full.nix
new file mode 100644
index 00000000000..d310d5017ed
--- /dev/null
+++ b/pkgs/tools/audio/liquidsoap/full.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, which, pkgconfig
+, ocaml, ocamlPackages
+, libao, portaudio, alsaLib, pulseaudio, jack2
+, libsamplerate, libmad, taglib, lame, libogg
+, libvorbis, speex, libtheora, libopus, fdk_aac
+, faad2, flac, ladspaH, ffmpeg, frei0r, dssi
+, }:
+
+let
+  version = "1.1.1";
+
+  packageFilters = map (p: "-e '/ocaml-${p}/d'" )
+    [ "gstreamer" "shine" "aacplus" "schroedinger"
+      "voaacenc" "soundtouch" "gavl" "lo"
+    ];
+in
+stdenv.mkDerivation {
+  name = "liquidsoap-full-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/savonet/liquidsoap/${version}/liquidsoap-${version}-full.tar.gz";
+    sha256 = "1w1grgja5yibph90vsxj7ffkpz1sgzmr54jj52s8889dpy609wqa";
+  };
+
+  preConfigure = "sed ${toString packageFilters} PACKAGES.default > PACKAGES";
+  configureFlags = [ "--localstatedir=/var" ];
+
+  buildInputs =
+    [ which ocaml ocamlPackages.findlib pkgconfig
+      libao portaudio alsaLib pulseaudio jack2
+      libsamplerate libmad taglib lame libogg
+      libvorbis speex libtheora libopus fdk_aac
+      faad2 flac ladspaH ffmpeg frei0r dssi
+      ocamlPackages.xmlm ocamlPackages.ocaml_pcre
+      ocamlPackages.camomile
+    ];
+
+  meta = with stdenv.lib; {
+    description = "Swiss-army knife for multimedia streaming";
+    homepage = http://liquidsoap.fm/;
+    maintainers = with maintainers; [ emery ];
+    license = licenses.gpl2;
+    platforms = ocaml.meta.platforms;
+  };
+}
diff --git a/pkgs/tools/audio/mpdcron/Gemfile b/pkgs/tools/audio/mpdcron/Gemfile
new file mode 100644
index 00000000000..e0814bc4dda
--- /dev/null
+++ b/pkgs/tools/audio/mpdcron/Gemfile
@@ -0,0 +1,2 @@
+source "https://rubygems.org"
+gem "nokogiri"
diff --git a/pkgs/tools/audio/mpdcron/Gemfile.lock b/pkgs/tools/audio/mpdcron/Gemfile.lock
new file mode 100644
index 00000000000..e97aaf669f7
--- /dev/null
+++ b/pkgs/tools/audio/mpdcron/Gemfile.lock
@@ -0,0 +1,12 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    mini_portile (0.6.2)
+    nokogiri (1.6.5)
+      mini_portile (~> 0.6.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  nokogiri
diff --git a/pkgs/tools/audio/mpdcron/default.nix b/pkgs/tools/audio/mpdcron/default.nix
index 61553566d6c..d368ee321af 100644
--- a/pkgs/tools/audio/mpdcron/default.nix
+++ b/pkgs/tools/audio/mpdcron/default.nix
@@ -1,7 +1,14 @@
-{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, glib, libdaemon
-, mpd_clientlib, curl, sqlite, ruby, rubyLibs, libnotify }:
+{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, glib, libdaemon, buildRubyGem
+, mpd_clientlib, curl, sqlite, ruby, bundlerEnv, libnotify, pandoc }:
 
-stdenv.mkDerivation rec {
+let
+  gemEnv = bundlerEnv {
+    name = "mpdcron-bundle";
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+  };
+in stdenv.mkDerivation rec {
   version = "20130809";
   name    = "mpdcron-${version}";
 
@@ -12,7 +19,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "A cron like daemon for mpd.";
+    description = "A cron like daemon for mpd";
     homepage    = http://alip.github.io/mpdcron/;
     license     = stdenv.lib.licenses.gpl2;
     platforms   = with stdenv.lib.platforms; unix;
@@ -20,8 +27,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ autoconf automake libtool pkgconfig glib libdaemon
-      mpd_clientlib curl sqlite ruby rubyLibs.nokogiri libnotify ];
+    [ autoconf automake libtool pkgconfig glib libdaemon pandoc
+      mpd_clientlib curl sqlite ruby gemEnv libnotify ];
 
   preConfigure = ''
     ./autogen.sh
diff --git a/pkgs/tools/audio/mpdcron/gemset.nix b/pkgs/tools/audio/mpdcron/gemset.nix
new file mode 100644
index 00000000000..6587603fb5b
--- /dev/null
+++ b/pkgs/tools/audio/mpdcron/gemset.nix
@@ -0,0 +1,19 @@
+{
+  "mini_portile" = {
+    version = "0.6.2";
+    source = {
+      type = "gem";
+      sha256 = "0h3xinmacscrnkczq44s6pnhrp4nqma7k056x5wv5xixvf2wsq2w";
+    };
+  };
+  "nokogiri" = {
+    version = "1.6.5";
+    source = {
+      type = "gem";
+      sha256 = "1xmxz6fa0m4p7c7ngpgz6gjgv65lzz63dsf0b6vh7gs2fkiw8j7l";
+    };
+    dependencies = [
+      "mini_portile"
+    ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/audio/pasystray/default.nix b/pkgs/tools/audio/pasystray/default.nix
new file mode 100644
index 00000000000..42a2c9c3a12
--- /dev/null
+++ b/pkgs/tools/audio/pasystray/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, unzip, autoconf, automake, makeWrapper, pkgconfig, gnome_icon_theme, avahi, gtk3, libnotify, pulseaudio, x11}:
+
+stdenv.mkDerivation rec {
+  name = "pasystray-0.4.0";
+
+  src = fetchurl {
+    url = "https://github.com/christophgysin/pasystray/archive/${name}.zip";
+    sha256 = "1gpb7yqcxqglv50iqbkg2lg3r0z07jm4ir2zqmvns6sgddks590w";
+  };
+
+  buildInputs = [ unzip autoconf automake makeWrapper pkgconfig gnome_icon_theme avahi gtk3 libnotify pulseaudio x11 ];
+
+  preConfigure = ''
+    aclocal
+    autoconf
+    autoheader
+    automake --add-missing
+  '';
+
+  preFixup = ''
+    wrapProgram "$out/bin/pasystray" \
+      --prefix XDG_DATA_DIRS : "${gnome_icon_theme}/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PulseAudio system tray";
+    homepage = "https://github.com/christophgysin/pasystray";
+    license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.exlevan ];
+    platfoms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/audio/qastools/default.nix b/pkgs/tools/audio/qastools/default.nix
new file mode 100644
index 00000000000..920f6913d09
--- /dev/null
+++ b/pkgs/tools/audio/qastools/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, alsaLib, udev, qt }:
+
+let
+  version = "0.18.1";
+in
+
+stdenv.mkDerivation {
+  name = "qastools-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qastools/qastools_${version}.tar.bz2";
+    sha256 = "1sac6a0j1881wgpv4491b2f4jnhqkab6xyldmcg1wfqb5qkdgzvg";
+  };
+
+  buildInputs = [
+    cmake alsaLib udev qt
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSALL_PREFIX=$out"
+    "-DALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Collection of desktop applications for ALSA configuration";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/audio/volumeicon/default.nix b/pkgs/tools/audio/volumeicon/default.nix
new file mode 100644
index 00000000000..ea74d83ed9e
--- /dev/null
+++ b/pkgs/tools/audio/volumeicon/default.nix
@@ -0,0 +1,23 @@
+{ pkgs, fetchurl, stdenv, gtk3, pkgconfig, intltool, alsaLib }:
+
+stdenv.mkDerivation rec {
+  name = "volumeicon-${version}";
+  version = "0.5.1";
+
+  src = fetchurl {
+    url = "http://softwarebakery.com/maato/files/volumeicon/volumeicon-0.5.1.tar.gz";
+    sha256 = "182xl2w8syv6ky2h2bc9imc6ap8pzh0p7rp63hh8nw0xm38c3f14";
+  };
+
+  buildInputs = [ gtk3 pkgconfig intltool alsaLib ];
+
+  meta = with stdenv.lib; {
+    description = "A lightweight volume control that sits in your systray";
+    homepage = http://softwarebakery.com/maato/volumeicon.html;
+    platforms = pkgs.lib.platforms.linux;
+    maintainers = with maintainers; [ bobvanderlinden ];
+    license = pkgs.lib.licenses.gpl3;
+  };
+
+}
+
diff --git a/pkgs/tools/backup/attic/default.nix b/pkgs/tools/backup/attic/default.nix
new file mode 100644
index 00000000000..9512a917d85
--- /dev/null
+++ b/pkgs/tools/backup/attic/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchzip, python3Packages, openssl, acl }:
+
+python3Packages.buildPythonPackage rec {
+  name = "attic-0.14";
+  namePrefix = "";
+
+  src = fetchzip {
+    name = "${name}-src";
+    url = "https://github.com/jborg/attic/archive/0.14.tar.gz";
+    sha256 = "1ij99dmd571rvk3kz97vs7wbjj2pbbd54l310lydnwywxhqs8hrv";
+  };
+
+  propagatedBuildInputs = with python3Packages;
+    [ cython msgpack openssl acl llfuse ];
+
+  preConfigure = ''
+    export ATTIC_OPENSSL_PREFIX="${openssl}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A deduplication backup program";
+    homepage = "https://attic-backup.org";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.wscott ];
+    platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
+  };
+}
diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix
new file mode 100644
index 00000000000..55c84a1015f
--- /dev/null
+++ b/pkgs/tools/backup/bareos/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, libtool
+, readline ? null, openssl ? null, python ? null, ncurses ? null
+, sqlite ? null, postgresql ? null, mysql ? null, zlib ? null, lzo ? null
+, acl ? null, glusterfs ? null, ceph ? null, libcap ? null
+}:
+
+assert sqlite != null || postgresql != null || mysql != null;
+
+with stdenv.lib;
+let
+  withGlusterfs = "\${with_glusterfs_directory}";
+in
+stdenv.mkDerivation rec {
+  name = "bareos-${version}";
+  version = "14.2.4";
+
+  src = fetchFromGitHub {
+    owner = "bareos";
+    repo = "bareos";
+    rev = "Release/${version}";
+    name = "${name}-src";
+    sha256 = "0shb91pawdgrn6rb4np3zyyxv36899nvwf8jaihkg0wvb01viqzr";
+  };
+
+  buildInputs = [
+    pkgconfig nettools gettext readline openssl python
+    ncurses sqlite postgresql mysql.lib zlib lzo acl glusterfs ceph libcap
+  ];
+
+  postPatch = ''
+    sed -i 's,\(-I${withGlusterfs}/include\),\1/glusterfs,' configure
+  '';
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--exec-prefix=\${out}"
+    "--enable-lockmgr"
+    "--enable-dynamic-storage-backends"
+    "--with-basename=nixos" # For reproducible builds since it uses the hostname otherwise
+    "--with-hostname=nixos" # For reproducible builds since it uses the hostname otherwise
+    "--with-working-dir=/var/lib/bareos"
+    "--with-bsrdir=/var/lib/bareos"
+    "--with-logdir=/var/log/bareos"
+    "--with-pid-dir=/var/run/bareos"
+    "--with-subsys-dir=/var/run/bareos"
+    "--enable-ndmp"
+    "--enable-lmdb"
+    "--enable-batch-insert"
+    "--enable-dynamic-cats-backends"
+    "--enable-sql-pooling"
+    "--enable-scsi-crypto"
+  ] ++ optionals (readline != null) [ "--disable-conio" "--enable-readline" "--with-readline=${readline}" ]
+    ++ optional (python != null) "--with-python=${python}"
+    ++ optional (openssl != null) "--with-openssl=${openssl}"
+    ++ optional (sqlite != null) "--with-sqlite3=${sqlite}"
+    ++ optional (postgresql != null) "--with-postgresql=${postgresql}"
+    ++ optional (mysql != null) "--with-mysql=${mysql.lib}"
+    ++ optional (zlib != null) "--with-zlib=${zlib}"
+    ++ optional (lzo != null) "--with-lzo=${lzo}"
+    ++ optional (acl != null) "--enable-acl"
+    ++ optional (glusterfs != null) "--with-glusterfs=${glusterfs}"
+    ++ optional (ceph != null) "--with-cephfs=${ceph}";
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "working_dir=\${TMPDIR}"
+    "log_dir=\${TMPDIR}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.bareos.org/;
+    description = "a fork of the bacula project.";
+    license = licenses.agpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index d1748cc252e..1964f01b077 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -1,30 +1,26 @@
-{ stdenv, fetchgit, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper
+{ stdenv, fetchzip, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper
 , par2cmdline, par2Support ? false }:
 
 assert par2Support -> par2cmdline != null;
 
-let rev = "96c6fa2a70425fff1e73d2e0945f8e242411ab58"; in
+let version = "0.26"; in
 
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "bup-0.25-rc1-107-${stdenv.lib.strings.substring 0 7 rev}";
+  name = "bup-${version}";
 
-  src = fetchgit {
-    url = "https://github.com/bup/bup.git";
-    inherit rev;
-    sha256 = "0d9hgyh1g5qcpdvnqv3a5zy67x79yx9qx557rxrnxyzqckp9v75n";
+  src = fetchzip {
+    url = "https://github.com/bup/bup/archive/${version}.tar.gz";
+    sha256 = "0g7b0xl3kg0z6rn81fvzl1xnvva305i7pjih2hm68mcj0adk3v0d";
   };
 
   buildInputs = [ python git ];
   nativeBuildInputs = [ pandoc perl makeWrapper ];
 
   patchPhase = ''
+    patchShebangs .
     substituteInPlace Makefile --replace "-Werror" ""
-    for f in "cmd/"* "lib/tornado/"* "lib/tornado/test/"* "t/"* wvtest.py main.py; do
-      test -f $f || continue
-      substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python"
-    done
     substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl"
   '' + optionalString par2Support ''
     substituteInPlace cmd/fsck-cmd.py --replace "['par2'" "['${par2cmdline}/bin/par2'"
@@ -56,5 +52,7 @@ stdenv.mkDerivation {
     '';
 
     hydraPlatforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ muflax ];
+
   };
 }
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 45d6cb83739..79f394c2aac 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper, lockfile }:
+{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper
+, lockfile, setuptools }:
 
 let
-  version = "0.6.23";
+  version = "0.7.02";
 in
 stdenv.mkDerivation {
   name = "duplicity-${version}";
 
   src = fetchurl {
-    url = "http://code.launchpad.net/duplicity/0.6-series/${version}/+download/duplicity-${version}.tar.gz";
-    sha256 = "0q0ckkmyq9z7xfbb1jajflmbzjwxpcjkkiab43rxrplm0ghz25vs";
+    url = "http://code.launchpad.net/duplicity/0.7-series/${version}/+download/duplicity-${version}.tar.gz";
+    sha256 = "0fh3xl4xc7cpi7iam34qd0ndqp1641kfw2609yp40lr78fx65530";
   };
 
   installPhase = ''
@@ -20,7 +21,7 @@ stdenv.mkDerivation {
       --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
   '';
 
-  buildInputs = [ python librsync makeWrapper ];
+  buildInputs = [ python librsync makeWrapper setuptools ];
 
   meta = {
     description = "Encrypted bandwidth-efficient backup using the rsync algorithm";
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 73ef23059f4..52074db4ba2 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, coreutils, python, duplicity, gawk, gnupg1, bash
-, gnugrep, txt2man, makeWrapper
+, gnugrep, txt2man, makeWrapper, which
 }:
 
 stdenv.mkDerivation {
-  name = "duply-1.7.3";
+  name = "duply-1.9.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.7.x/duply_1.7.3.tgz";
-    sha256 = "1lq5gwz69l8g4ki4anvmjdngbs9nin124j1zb9kbcnqj0s5jkbp0";
+    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.9.x/duply_1.9.1.tgz";
+    sha256 = "1igg8nc0i1xn8k1xxmphsg019b1yx8ln86hhqm6f4pd565d1rwg5";
   };
 
   buildInputs = [ txt2man makeWrapper ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     sed -i 's|/usr/bin/env bash|${bash}/bin/bash|' duply
     mv duply "$out/bin"
     wrapProgram "$out/bin/duply" --set PATH \
-        "${coreutils}/bin:${python}/bin:${duplicity}/bin:${gawk}/bin:${gnupg1}/bin:${bash}/bin:${gnugrep}/bin:${txt2man}/bin"
+        "${coreutils}/bin:${python}/bin:${duplicity}/bin:${gawk}/bin:${gnupg1}/bin:${bash}/bin:${gnugrep}/bin:${txt2man}/bin:${which}/bin"
     "$out/bin/duply" txt2man | gzip -c > "$out/share/man/man1/duply.1.gz"
   '';
 
diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix
index 4df142afe3a..573c4b58d60 100644
--- a/pkgs/tools/backup/httrack/default.nix
+++ b/pkgs/tools/backup/httrack/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, zlib, openssl }:
 
 stdenv.mkDerivation rec {
-  version = "3.48.17";
+  version = "3.48.21";
   name = "httrack-${version}";
 
   src = fetchurl {
     url = "http://mirror.httrack.com/httrack-${version}.tar.gz";
-    sha256 = "03q8sk7qihw9x4bfgfhv6523khgj13nilqps28qy7ndpzpggw9vn";
+    sha256 = "10p4gf8y9h7mxkqlbs3hqgvmvbgvcbax8jp1whbw4yidwahn06w7";
   };
 
   buildInputs = [ zlib openssl ];
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.httrack.com";
     description = "Easy-to-use offline browser utility";
     license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix
index 58affe10e4e..bcbc8a84647 100644
--- a/pkgs/tools/backup/rdiff-backup/default.nix
+++ b/pkgs/tools/backup/rdiff-backup/default.nix
@@ -8,11 +8,14 @@ stdenv.mkDerivation {
     sha256 = "01hcwf5rgqi303fa4kdjkbpa7n8mvvh7h9gpgh2b23nz73k0q0zf";
   };
 
-  phases = "unpackPhase installPhase";
+  patches = [ ./fix-librsync-rs_default_strong_len.patch ];
+
   installPhase = ''
     python ./setup.py install --prefix=$out
     sed -i $out/bin/rdiff-backup -e \
       "/import sys/ asys.path += [ \"$out/lib/python2.7/site-packages/\" ]"
+    sed -i $out/bin/rdiff-backup-statistics -e \
+      "/import .*sys/ asys.path += [ \"$out/lib/python2.7/site-packages/\" ]"
   '';
 
   buildInputs = [ python librsync gnused ];
@@ -21,6 +24,7 @@ stdenv.mkDerivation {
     description = "backup system trying to combine best a mirror and an incremental backup system";
     homepage = http://rdiff-backup.nongnu.org/;
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch
new file mode 100644
index 00000000000..ce23c8a8124
--- /dev/null
+++ b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch
@@ -0,0 +1,20 @@
+Patch by Roman Tereshonkov and Kari Hautio for rdiff-backup <= 1.2.8 to avoid a build failure with
+librsync >= 1.0.0 (which is a security bugfix release). The discussion and solution finding can be
+found at https://bugs.launchpad.net/duplicity/+bug/1416344 (for duplicity).
+
+--- rdiff-backup-1.2.8/_librsyncmodule.c			2009-03-16 15:36:21.000000000 +0100
++++ rdiff-backup-1.2.8/_librsyncmodule.c.librsync-1.0.0		2015-03-02 00:54:24.000000000 +0100
+@@ -59,8 +59,13 @@
+   if (sm == NULL) return NULL;
+   sm->x_attr = NULL;
+ 
++#ifdef RS_DEFAULT_STRONG_LEN
+   sm->sig_job = rs_sig_begin((size_t)blocklen,
+ 							 (size_t)RS_DEFAULT_STRONG_LEN);
++#else
++  sm->sig_job = rs_sig_begin((size_t)blocklen,
++							 (size_t)8, RS_MD4_SIG_MAGIC);
++#endif
+   return (PyObject*)sm;
+ }
+ 
diff --git a/pkgs/tools/backup/rsnapshot/default.nix b/pkgs/tools/backup/rsnapshot/default.nix
index 0bd19e2d6be..bacfbdfe1ca 100644
--- a/pkgs/tools/backup/rsnapshot/default.nix
+++ b/pkgs/tools/backup/rsnapshot/default.nix
@@ -30,9 +30,10 @@ stdenv.mkDerivation rec {
     patch -p0 <${patch}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A filesystem snapshot utility for making backups of local and remote systems";
     homepage = http://rsnapshot.org/;
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/backup/rsnapshot/git.nix b/pkgs/tools/backup/rsnapshot/git.nix
new file mode 100644
index 00000000000..d1025a11d29
--- /dev/null
+++ b/pkgs/tools/backup/rsnapshot/git.nix
@@ -0,0 +1,52 @@
+{ fetchFromGitHub, stdenv, writeText, perl, openssh, rsync, logger,
+  configFile ? "/etc/rsnapshot.conf" }:
+
+let patch = writeText "rsnapshot-config.patch" ''
+--- rsnapshot-program.pl	2013-10-05 20:31:08.715991442 +0200
++++ rsnapshot-program.pl	2013-10-05 20:31:42.496193633 +0200
+@@ -383,7 +383,7 @@
+ 	}
+ 	
+ 	# set global variable
+-	$config_file = $default_config_file;
++	$config_file = '${configFile}';
+ }
+ 
+ # accepts no args
+'';
+in
+stdenv.mkDerivation rec {
+  name = "rsnapshot-1.4git";
+  src = fetchFromGitHub {
+    owner = "DrHyde";
+    repo = "rsnapshot";
+    rev = "1047cbb57937c29233388e2fcd847fecd3babe74";
+    sha256 = "173y9q89dp4zf7nysqhjp3i2m086n7qdpawb9vx0ml5zha6mxf2p";
+  };
+
+  propagatedBuildInputs = [perl openssh rsync logger];
+
+  patchPhase = ''
+    substituteInPlace "Makefile.in" --replace \
+      "/usr/bin/pod2man" "${perl}/bin/pod2man"
+    patch -p0 <${patch}
+  '';
+
+  # I still think this is a good idea, but it currently fails in the chroot because it checks
+  # that things are writable and so on.
+  #checkPhase = ''
+  #  if [ -f "${configFile}" ]
+  #  then
+  #    ${perl}/bin/perl -w ./rsnapshot configtest
+  #  else
+  #    echo File "${configFile}" does not exist, not checking
+  #  fi
+  #'';
+
+  meta = with stdenv.lib; {
+    description = "A filesystem snapshot utility for making backups of local and remote systems";
+    homepage = http://rsnapshot.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix
index c272f0e8378..025a998aed4 100644
--- a/pkgs/tools/backup/wal-e/default.nix
+++ b/pkgs/tools/backup/wal-e/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "wal-e-${version}";
-  version = "0.6.9";
+  version = "0.6.10";
 
   namePrefix = "";
 
   src = fetchurl {
     url = "https://github.com/wal-e/wal-e/archive/v${version}.tar.gz";
-    sha256 = "1yzz9hic8amq7mp0kh04hsmwisk5r374ddja5g8345bl8y3bzbgk";
+    sha256 = "1hms24xz7wx3b91vv56fhcc3j0cszwqwnmwhka4yl90202hvdir2";
   };
 
   # needs tox
diff --git a/pkgs/tools/bluetooth/bluedevil/default.nix b/pkgs/tools/bluetooth/bluedevil/default.nix
index e5a4f83ab0f..229b0512679 100644
--- a/pkgs/tools/bluetooth/bluedevil/default.nix
+++ b/pkgs/tools/bluetooth/bluedevil/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "bluedevil";
-  version = "1.3.1";
+  version = "2.1.1";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
-    sha256 = "0di3hwgqzhx51x172wnbccf9f84cg69mab83qkcif0v3gv3pzy4f";
+    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
+    sha256 = "1rcx1dfm6sm90pvwyq224a1pph96chrmyiv1rry7zpb3hf2c73gi";
   };
 
   buildInputs = [ cmake kdelibs libbluedevil shared_mime_info automoc4 gettext ];
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 095337d1251..a9a167355ed 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -5,11 +5,11 @@
 }:
    
 stdenv.mkDerivation rec {
-  name = "blueman-1.21";
+  name = "blueman-1.23";
    
   src = fetchurl {
     url = "http://download.tuxfamily.org/blueman/${name}.tar.gz";
-    sha256 = "1bz31w0cqcl77r7vfjwm9c4gmk4hvq3nqn1pjnd5qndia2mhs846";
+    sha256 = "04ghlh4h5bwp9mqr5jxcmjm01595l5fq5561qxvf369fvjy63cjh";
   };
 
   configureFlags = "--disable-polkit";
diff --git a/pkgs/tools/bluetooth/obexd/default.nix b/pkgs/tools/bluetooth/obexd/default.nix
index 47db0877dd2..f900a81caa0 100644
--- a/pkgs/tools/bluetooth/obexd/default.nix
+++ b/pkgs/tools/bluetooth/obexd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, dbus, openobex, bluez, libical }:
    
 stdenv.mkDerivation rec {
-  name = "obexd-0.47";
+  name = "obexd-0.48";
    
   src = fetchurl {
-    url = "mirror://kernel/linux/bluetooth/${name}.tar.gz";
-    sha256 = "15zw008098qr5az9y1c010yv8gkw1f6hi3mnfcvpmwxwh23kfh4i";
+    url = "mirror://kernel/linux/bluetooth/${name}.tar.bz2";
+    sha256 = "1i20dnibvnq9lnkkhajr5xx3kxlwf9q5c4jm19kyb0q1klzgzlb8";
   };
 
   buildInputs = [ glib dbus.libs openobex bluez libical ];
diff --git a/pkgs/tools/bluetooth/openobex/default.nix b/pkgs/tools/bluetooth/openobex/default.nix
index fc4d8611f87..7baf1ac3ed9 100644
--- a/pkgs/tools/bluetooth/openobex/default.nix
+++ b/pkgs/tools/bluetooth/openobex/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     sed -i "s!/lib/udev!$out/lib/udev!" udev/CMakeLists.txt
+    sed -i "/if ( PKGCONFIG_UDEV_FOUND )/,/endif ( PKGCONFIG_UDEV_FOUND )/d" udev/CMakeLists.txt
     '';
 
   meta = {
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
new file mode 100644
index 00000000000..85a544ccd4c
--- /dev/null
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -0,0 +1,115 @@
+{ stdenv, fetchurl
+, unzip, gnu-efi, efibootmgr, dosfstools, imagemagick }:
+
+assert (stdenv.system == "x86_64-linux" ||stdenv.system == "i686-linux");
+
+stdenv.mkDerivation rec {
+
+  name = "refind-${version}";
+  srcName = "refind-src-${version}";
+  version = "0.8.4";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/refind/${version}/${srcName}.zip";
+    sha256 = "09g6x41fc7vvwv2y9kggjmazyhdvkn8qr02v769x33f20bfiz2zc";
+  };
+
+  buildInputs = [ unzip gnu-efi efibootmgr dosfstools imagemagick ];
+
+  HOSTARCH =
+    if stdenv.system == "x86_64-linux" then "x64"
+    else if stdenv.system == "i686-linux" then "ia32" else "null";
+
+  patchPhase = ''
+    sed -e 's|-DEFI_FUNCTION_WRAPPER|-DEFI_FUNCTION_WRAPPER -maccumulate-outgoing-args|g' -i Make.common
+    sed -e 's|-DEFIX64|-DEFIX64 -maccumulate-outgoing-args|g' -i Make.common
+    sed -e 's|-m64|-maccumulate-outgoing-args -m64|g' -i filesystems/Make.gnuefi
+  '';
+
+  buildPhase = ''
+    make prefix= EFIINC=${gnu-efi}/include/efi EFILIB=${gnu-efi}/lib GNUEFILIB=${gnu-efi}/lib  EFICRT0=${gnu-efi}/lib LDSCRIPT=${gnu-efi}/lib/elf_x86_64_efi.lds gnuefi fs_gnuefi
+  '';
+
+  installPhase = ''
+    install -d $out/bin/
+    install -d $out/share/refind/drivers_${HOSTARCH}/
+    install -d $out/share/refind/tools_${HOSTARCH}/
+    install -d $out/share/refind/docs/html/
+    install -d $out/share/refind/docs/Styles/
+    install -d $out/share/refind/fonts/
+    install -d $out/share/refind/icons/
+    install -d $out/share/refind/images/
+    install -d $out/share/refind/keys/
+
+    # refind uefi app
+    install -D -m0644 refind/refind_${HOSTARCH}.efi $out/share/refind/refind_${HOSTARCH}.efi
+
+    # uefi drivers
+    install -D -m0644 drivers_${HOSTARCH}/*.efi $out/share/refind/drivers_${HOSTARCH}/
+
+    # uefi apps
+    install -D -m0644 gptsync/gptsync_${HOSTARCH}.efi $out/share/refind/tools_${HOSTARCH}/gptsync_${HOSTARCH}.efi
+
+    # helper scripts
+    install -D -m0755 install.sh $out/bin/refind-install
+    install -D -m0755 mkrlconf.sh $out/bin/refind-mkrlconf
+    install -D -m0755 mvrefind.sh $out/bin/refind-mvrefind
+    install -D -m0755 fonts/mkfont.sh $out/bin/refind-mkfont
+
+    # sample config files
+    install -D -m0644 refind.conf-sample $out/share/refind/refind.conf-sample
+
+    # docs
+    install -D -m0644 docs/refind/* $out/share/refind/docs/html/
+    install -D -m0644 docs/Styles/* $out/share/refind/docs/Styles/
+    install -D -m0644 README.txt $out/share/refind/docs/README.txt
+    install -D -m0644 NEWS.txt $out/share/refind/docs/NEWS.txt
+    install -D -m0644 BUILDING.txt $out/share/refind/docs/BUILDING.txt
+    install -D -m0644 CREDITS.txt $out/share/refind/docs/CREDITS.txt
+
+    # fonts
+    install -D -m0644 fonts/* $out/share/refind/fonts/
+    rm -f $out/share/refind/fonts/mkfont.sh
+
+    # icons
+    install -D -m0644 icons/* $out/share/refind/icons/
+
+    # images
+    install -D -m0644 images/*.{png,bmp} $out/share/refind/images/
+
+    # keys
+    install -D -m0644 keys/* $out/share/refind/keys/
+
+    # fix sharp-bang paths
+    patchShebangs $out/bin/refind-*
+
+    # Post-install fixes
+    sed -e "s|^ThisDir=.*|ThisDir=$out/share/refind/|g" -i $out/bin/refind-install
+    sed -e "s|^RefindDir=.*|RefindDir=$out/share/refind/|g" -i $out/bin/refind-install
+    sed -e "s|^ThisScript=.*|ThisScript=$out/bin/refind-install|g" -i $out/bin/refind-install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A graphical {,U}EFI boot manager";
+    longDescription = ''
+      rEFInd is a graphical boot manager for EFI- and UEFI-based
+      computers, such as all Intel-based Macs and recent (most 2011
+      and later) PCs. rEFInd presents a boot menu showing all the EFI
+      boot loaders on the EFI-accessible partitions, and optionally
+      BIOS-bootable partitions on Macs. EFI-compatbile OSes, including
+      Linux, provide boot loaders that rEFInd can detect and
+      launch. rEFInd can launch Linux EFI boot loaders such as ELILO,
+      GRUB Legacy, GRUB 2, and 3.3.0 and later kernels with EFI stub
+      support. EFI filesystem drivers for ext2/3/4fs, ReiserFS, HFS+,
+      and ISO-9660 enable rEFInd to read boot loaders from these
+      filesystems, too. rEFInd's ability to detect boot loaders at
+      runtime makes it very easy to use, particularly when paired with
+      Linux kernels that provide EFI stub support.
+    '';
+    homepage = http://refind.sourceforge.net/;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+
+}
+# TODO: detect CPU host architecture (HOSTARCH can be ia32 or x64)
diff --git a/pkgs/tools/cd-dvd/brasero/default.nix b/pkgs/tools/cd-dvd/brasero/default.nix
new file mode 100644
index 00000000000..d7773b0ba0c
--- /dev/null
+++ b/pkgs/tools/cd-dvd/brasero/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, pkgconfig, gtk3, itstool, gst_all_1, libxml2, libnotify
+, libcanberra_gtk3, intltool, gnome3, makeWrapper, dvdauthor, cdrdao
+, dvdplusrwtools, cdrtools, libdvdcss }:
+
+let
+  major = "3.12";
+  minor = "0";
+  GST_PLUGIN_PATH = stdenv.lib.makeSearchPath "lib/gstreamer-1.0" [
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-libav ];
+
+in stdenv.mkDerivation rec {
+  version = "${major}.${minor}";
+  name = "brasero-${version}";
+
+  src = fetchurl {
+    url = "http://download.gnome.org/sources/brasero/${major}/${name}.tar.xz";
+    sha256 = "68fef2699b772fa262d855dac682100dbfea05563a7e4056eff8fe6447aec2fc";
+  };
+
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard dvdauthor
+    cdrdao dvdplusrwtools cdrtools ];
+
+  buildInputs = [ pkgconfig gtk3 itstool libxml2 libnotify libcanberra_gtk3
+                  intltool gnome3.gsettings_desktop_schemas makeWrapper libdvdcss
+                  gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.dconf
+                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
+
+  # brasero checks that the applications it uses aren't symlinks, but this
+  # will obviously not work on nix
+  patches = [ ./remove-symlink-check.patch ];
+
+  configureFlags = [
+    "--with-girdir=$out/share/gir-1.0"
+    "--with-typelibdir=$out/lib/girepository-1.0" ];
+
+  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 GST_PLUGIN_PATH : "${GST_PLUGIN_PATH}" \
+        --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \
+        --prefix LD_LIBRARY_PATH : ${libdvdcss}/lib
+    done
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Gnome CD/DVD Burner";
+    homepage = https://wiki.gnome.org/Apps/Brasero;
+    maintainers = [ maintainers.bdimcheff ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/cd-dvd/brasero/remove-symlink-check.patch b/pkgs/tools/cd-dvd/brasero/remove-symlink-check.patch
new file mode 100644
index 00000000000..028ac12c4a0
--- /dev/null
+++ b/pkgs/tools/cd-dvd/brasero/remove-symlink-check.patch
@@ -0,0 +1,29 @@
+diff --git a/libbrasero-burn/burn-plugin.c b/libbrasero-burn/burn-plugin.c
+index f97bc5f..88e9d35 100644
+--- a/libbrasero-burn/burn-plugin.c
++++ b/libbrasero-burn/burn-plugin.c
+@@ -221,21 +221,10 @@ brasero_plugin_test_app (BraseroPlugin *plugin,
+ 		return;
+ 	}
+ 
+-	/* make sure that's not a symlink pointing to something with another
+-	 * name like wodim.
+-	 * NOTE: we used to test the target and see if it had the same name as
+-	 * the symlink with GIO. The problem is, when the symlink pointed to
+-	 * another symlink, then GIO didn't follow that other symlink. And in
+-	 * the end it didn't work. So forbid all symlink. */
+-	if (g_file_test (prog_path, G_FILE_TEST_IS_SYMLINK)) {
+-		brasero_plugin_add_error (plugin,
+-		                          BRASERO_PLUGIN_ERROR_SYMBOLIC_LINK_APP,
+-		                          name);
+-		g_free (prog_path);
+-		return;
+-	}
++	/* disable symlink check on nixos */
++
+ 	/* Make sure it's a regular file */
+-	else if (!g_file_test (prog_path, G_FILE_TEST_IS_REGULAR)) {
++	if (!g_file_test (prog_path, G_FILE_TEST_IS_REGULAR)) {
+ 		brasero_plugin_add_error (plugin,
+ 		                          BRASERO_PLUGIN_ERROR_MISSING_APP,
+ 		                          name);
diff --git a/pkgs/tools/cd-dvd/dvdisaster/default.nix b/pkgs/tools/cd-dvd/dvdisaster/default.nix
new file mode 100644
index 00000000000..1bdf363300b
--- /dev/null
+++ b/pkgs/tools/cd-dvd/dvdisaster/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, which, gettext, intltool
+, glib, gtk2
+}:
+
+stdenv.mkDerivation rec {
+  name = "dvdisaster-0.72.6";
+
+  src = fetchurl {
+    url = "http://dvdisaster.net/downloads/${name}.tar.bz2";
+    sha256 = "e9787dea39aeafa38b26604752561bc895083c17b588489d857ac05c58be196b";
+  };
+
+  postPatch = ''
+    patchShebangs ./
+  '';
+
+  # Explicit --docdir= is required for on-line help to work:
+  configureFlags = [ "--docdir=$out/share/doc" ];
+
+  buildInputs = [
+    pkgconfig which gettext intltool
+    glib gtk2
+  ];
+
+  meta = {
+    homepage = http://dvdisaster.net/;
+    description =
+      "Stores data on CD/DVD/BD in a way that it is fully recoverable even " +
+      "after some read errors have developed";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/cd-dvd/lsdvd/default.nix b/pkgs/tools/cd-dvd/lsdvd/default.nix
new file mode 100644
index 00000000000..33677d5b10d
--- /dev/null
+++ b/pkgs/tools/cd-dvd/lsdvd/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libdvdread, pkgconfig }:
+
+let
+  version = "0.17";
+in
+stdenv.mkDerivation {
+  name = "lsdvd-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/lsdvd/lsdvd-${version}.tar.gz";
+    sha256 = "1274d54jgca1prx106iyir7200aflr70bnb1kawndlmcckcmnb3x";
+  };
+
+  buildInputs = [ libdvdread ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    homepage = "http://sourceforge.net/projects/lsdvd/";
+    shortDescription = "Display information about audio, video, and subtitle tracks on a DVD";
+  };
+}
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index 516f0750807..9c538842816 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, makeWrapper, qt4, utillinux, coreutils, which, p7zip, mtools, syslinux }:
 
-let version = "603"; in
+let version = "608"; in
 
 stdenv.mkDerivation {
   name = "unetbootin-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/unetbootin/UNetbootin/${version}/unetbootin-source-${version}.tar.gz";
-    sha256 = "03nhy1w9q0ycpcni6w61ps1mji859nvmvr1bhnlzi04z0s5ldbwx";
+    sha256 = "1010ccdrblsjr5zid6wl3c3b75ld37lrr1a1xc6dlrhz1gvcb6ff";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/tools/cd-dvd/vobsub2srt/default.nix b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
index 30ae07f9dbd..31f4348a992 100644
--- a/pkgs/tools/cd-dvd/vobsub2srt/default.nix
+++ b/pkgs/tools/cd-dvd/vobsub2srt/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchgit, cmake, libtiff, pkgconfig, tesseract }:
 
-let rev = "b70b6f584e8151f70f9d90df054af0911ea7475e";
+let rev = "a6abbd61127a6392d420bbbebdf7612608c943c2";
     shortRev = builtins.substring 0 7 rev;
 in
 stdenv.mkDerivation {
-  name = "vobsub2srt-git-20140226-${shortRev}";
+  name = "vobsub2srt-git-20140817-${shortRev}";
 
   src = fetchgit {
     inherit rev;
     url = https://github.com/ruediger/VobSub2SRT.git;
-    sha256 = "15437eba07e674cec66bc54cfa42ffe8b05816975401c9950bf9016e3881cd6a";
+    sha256 = "8e867a021ac529e7607627d5944b95bb9f1378ffabd8837e7a028663a8ce5adf";
   };
 
   buildInputs = [ cmake libtiff pkgconfig ];
diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
index 218ea9a1e7f..c5595fab2e0 100644
--- a/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl, attr }:
 
 stdenv.mkDerivation rec {
-  name = "xorriso-1.3.4";
+  name = "xorriso-1.3.8";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "0wvxbvkpdydcbmqi9xz7nv8cna6vp9726ahmmxxyx56cz4xifr4x";
+    sha256 = "0zhhj9lr9z7hnb2alac54mc28w1l0mbanphhpmy3ylsi8rih84lh";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/compression/advancecomp/default.nix b/pkgs/tools/compression/advancecomp/default.nix
new file mode 100644
index 00000000000..5737f1eca15
--- /dev/null
+++ b/pkgs/tools/compression/advancecomp/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, zlib}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="advancecomp";
+    version="1.19";
+    name="${baseName}-${version}";
+    url="http://prdownloads.sourceforge.net/advancemame/advancecomp-1.19.tar.gz?download";
+    sha256="0irhmwcn9r4jc29442skqr1f3lafiaahxc3m3ybalmm37l6cb56m";
+  };
+  buildInputs = [
+    zlib
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''A set of tools to optimize deflate-compressed files'';
+    license = stdenv.lib.licenses.gpl2 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    updateWalker = true;
+    homepage = "http://advancemame.sourceforge.net/comp-readme.html";
+    downloadPage = "http://advancemame.sourceforge.net/comp-download.html";
+  };
+}
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index 55fca6ca3cb..74da91431a4 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -24,7 +24,9 @@ stdenv.mkDerivation {
   };
 
   sharedLibrary =
-    !stdenv.isDarwin && !(stdenv ? isDietLibC) && !(stdenv ? isStatic) && stdenv.system != "i686-cygwin" && !linkStatic;
+    !stdenv.isDarwin && !(stdenv ? isStatic) && stdenv.system != "i686-cygwin" && !linkStatic;
+
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin "substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'";
 
   preConfigure = "substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'";
 
diff --git a/pkgs/tools/compression/dtrx/default.nix b/pkgs/tools/compression/dtrx/default.nix
new file mode 100644
index 00000000000..0d7a0e14e7d
--- /dev/null
+++ b/pkgs/tools/compression/dtrx/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl, pythonPackages}:
+
+pythonPackages.buildPythonPackage rec {
+  name = "dtrx-${version}";
+  version = "7.1";
+
+  src = fetchurl {
+    url = "http://brettcsmith.org/2007/dtrx/dtrx-${version}.tar.gz";
+    sha1 = "05cfe705a04a8b84571b0a5647cd2648720791a4";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Do The Right Extraction: A tool for taking the hassle out of extracting archives.";
+    homepage = "http://brettcsmith.org/2007/dtrx/";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix
index 320683a3b67..2f379962252 100644
--- a/pkgs/tools/compression/gzip/default.nix
+++ b/pkgs/tools/compression/gzip/default.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
         is just a bonus.
       '';
 
+    platforms = stdenv.lib.platforms.all;
+
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/compression/kzipmix/default.nix b/pkgs/tools/compression/kzipmix/default.nix
index bff8068db60..f768189040b 100644
--- a/pkgs/tools/compression/kzipmix/default.nix
+++ b/pkgs/tools/compression/kzipmix/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A tool that agressively optimizes the sizes of Zip archives";
+    description = "A tool that aggressively optimizes the sizes of Zip archives";
     license = stdenv.lib.licenses.unfree;
     homepage = http://advsys.net/ken/utils.htm;
     maintainers = [ stdenv.lib.maintainers.sander ];
diff --git a/pkgs/tools/compression/lbzip2/default.nix b/pkgs/tools/compression/lbzip2/default.nix
new file mode 100644
index 00000000000..e1adefd2167
--- /dev/null
+++ b/pkgs/tools/compression/lbzip2/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "lbzip2-2.5";
+
+  src = fetchurl {
+    url = "http://archive.lbzip2.org/${name}.tar.gz";
+    sha256 = "1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://lbzip2.org/;
+    description = "parallel bzip2 compression utility";
+    license = licenses.gpl3;
+    maintainers = maintainers.abbradar;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix
index 51f61fcf239..3846ec97d3b 100644
--- a/pkgs/tools/compression/lrzip/default.nix
+++ b/pkgs/tools/compression/lrzip/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}:
 
 stdenv.mkDerivation rec {
-  version = "0.616";
+  version = "0.621";
   name = "lrzip-${version}";
 
   src = fetchurl {
     url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2";
-    sha256 = "1bimlbsfzjvippbma08ifm1grcy9i7avryrkdvnvrfyqnj6mlbcq";
+    sha256 = "0szb1habydj9fwwrhgpjfws6v7hdphnqc5527i0vvc5rx2z6zhii";
   };
 
   buildInputs = [ zlib lzo bzip2 nasm perl ];
diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix
new file mode 100644
index 00000000000..26e82886b6f
--- /dev/null
+++ b/pkgs/tools/compression/lz4/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, valgrind }:
+
+let version = "128"; in
+stdenv.mkDerivation rec {
+  name = "lz4-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "00jrnic2jddj81av8jjipf4rdkx6x6cdf8zpsz3mp5kbmqzd0h9a";
+    rev = "r${version}";
+    repo = "lz4";
+    owner = "Cyan4973";
+  };
+
+  # valgrind is required only by `make test`
+  buildInputs = [ valgrind ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = "PREFIX=$(out)";
+
+  doCheck = true;
+  checkTarget = "test";
+  checkFlags = "-j1"; # required since version 128
+
+  meta = with stdenv.lib; {
+    description = "Extremely fast compression algorithm";
+    longDescription = ''
+      Very fast lossless compression algorithm, providing compression speed
+      at 400 MB/s per core, with near-linear scalability for multi-threaded
+      applications. It also features an extremely fast decoder, with speed in
+      multiple GB/s per core, typically reaching RAM speed limits on
+      multi-core systems.
+    '';
+    homepage = https://code.google.com/p/lz4/;
+    license = with licenses; [ bsd2 gpl2Plus ];
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix
index 2c6907fa373..b3d407c98ef 100644
--- a/pkgs/tools/compression/lzip/default.nix
+++ b/pkgs/tools/compression/lzip/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "lzip-1.15";
+  name = "lzip-1.16";
 
   buildInputs = [ texinfo ];
 
   src = fetchurl {
     url = "mirror://savannah/lzip/${name}.tar.gz";
-    sha256 = "1dh5vmj5apizfawnsm50y7z064yx7cz3313przph16gwd3dgrlvw";
+    sha256 = "0l9724rw1l3hg2ldr3n7ihqich4m9nc6y7l302bvdj4jmxdw530j";
   };
 
   configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3";
diff --git a/pkgs/tools/compression/ncompress/default.nix b/pkgs/tools/compression/ncompress/default.nix
index 937cf987513..3d3ad80e25d 100644
--- a/pkgs/tools/compression/ncompress/default.nix
+++ b/pkgs/tools/compression/ncompress/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://ncompress.sourceforge.net/;
-    license = "public domain";
+    license = stdenv.lib.licenses.publicDomain;
     description = "A fast, simple LZW file compressor";
   };
 }
diff --git a/pkgs/tools/compression/pbzip2/default.nix b/pkgs/tools/compression/pbzip2/default.nix
index b180ad61c75..3c442e22139 100644
--- a/pkgs/tools/compression/pbzip2/default.nix
+++ b/pkgs/tools/compression/pbzip2/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl, bzip2}:
 
-let name = "pbzip2";
-    version = "1.0.5";
+let major = "1.1";
+    version = "${major}.9";
 in
-stdenv.mkDerivation {
-  name = name + "-" + version;
+stdenv.mkDerivation rec {
+  name = "pbzip2-${version}";
 
   src = fetchurl {
-    url = "http://compression.ca/${name}/${name}-${version}.tar.gz";
-    sha256 = "0vc9r6b2djhpwslavi2ykv6lk8pwf4lqb107lmapw2q8d658qpa1";
+    url = "https://launchpad.net/pbzip2/${major}/${version}/+download/${name}.tar.gz";
+    sha256 = "1i7rql77ac33lz7lzrjyl9b16mqizmdkb8hv295a493f7vh1nhmx";
   };
 
   buildInputs = [ bzip2 ];
@@ -16,11 +16,11 @@ stdenv.mkDerivation {
       make install PREFIX=$out
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://compression.ca/pbzip2/;
     description = "A parallel implementation of bzip2 for multi-core machines";
-    license = "free";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [viric];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/compression/pigz/default.nix b/pkgs/tools/compression/pigz/default.nix
index ff6279973d1..df6b21956d9 100644
--- a/pkgs/tools/compression/pigz/default.nix
+++ b/pkgs/tools/compression/pigz/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, zlib, utillinux }:
 
 let name = "pigz";
-    version = "2.3.1";
+    version = "2.3.3";
 in
 stdenv.mkDerivation {
   name = name + "-" + version;
 
   src = fetchurl {
     url = "http://www.zlib.net/${name}/${name}-${version}.tar.gz";
-    sha256 = "0m5gw134wfqy1wwqzla0f6c88bxys1sq5gs22zrphf9a8bjhr6v2";
+    sha256 = "172hdf26k4zmm7z8md7nl0dph2a7mhf3x7slb9bhfyff6as6g2sf";
   };
 
   buildInputs = [zlib] ++ stdenv.lib.optional stdenv.isLinux utillinux;
diff --git a/pkgs/tools/compression/pxz/_SC_ARG_MAX.patch b/pkgs/tools/compression/pxz/_SC_ARG_MAX.patch
new file mode 100644
index 00000000000..fac8f1fc147
--- /dev/null
+++ b/pkgs/tools/compression/pxz/_SC_ARG_MAX.patch
@@ -0,0 +1,36 @@
+From b8f9827fc4de9296c7a6f5e6fdac46e070cd6cb4 Mon Sep 17 00:00:00 2001
+From: Igor Pashev <pashev.igor@gmail.com>
+Date: Sat, 1 Nov 2014 18:10:05 +0300
+Subject: [PATCH] Fixed crash on Linux when stack size is unlimited
+
+---
+ pxz.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/pxz.c b/pxz.c
+index 9cb843e..52713e2 100644
+--- a/pxz.c
++++ b/pxz.c
+@@ -65,7 +65,7 @@ FILE **ftemp;
+ char str[0x100];
+ char buf[BUFFSIZE];
+ char *xzcmd;
+-size_t xzcmd_max;
++const size_t xzcmd_max = 10240;
+ 
+ unsigned opt_complevel = 6, opt_stdout, opt_keep, opt_threads, opt_verbose;
+ unsigned opt_force, opt_stdout;
+@@ -243,9 +243,12 @@ int main( int argc, char **argv ) {
+ 	lzma_filter filters[LZMA_FILTERS_MAX + 1];
+ 	lzma_options_lzma lzma_options;
+ 	
+-	xzcmd_max = sysconf(_SC_ARG_MAX);
+ 	page_size = sysconf(_SC_PAGE_SIZE);
+ 	xzcmd = malloc(xzcmd_max);
++	if (!xzcmd) {
++		fprintf(stderr, "Failed to allocate %lu bytes for xz command.\n", xzcmd_max);
++		return -1;
++	}
+ 	snprintf(xzcmd, xzcmd_max, XZ_BINARY);
+ 	
+ 	parse_args(argc, argv);
diff --git a/pkgs/tools/compression/pxz/default.nix b/pkgs/tools/compression/pxz/default.nix
new file mode 100644
index 00000000000..07c3e205a98
--- /dev/null
+++ b/pkgs/tools/compression/pxz/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchgit, xz, lzma }:
+
+let name = "pxz";
+    version = "4.999.9beta+git";
+in
+stdenv.mkDerivation {
+  name = name + "-" + version;
+
+  src = fetchgit {
+    url = "https://github.com/jnovy/pxz.git";
+    rev = "ae808463c2950edfdedb8fb49f95006db0a18667";
+    sha256 = "0na2kw8cf0qd8l1aywlv9m3xrxnqlcwxfdwp3f7x9vxwqx3k32kc";
+  };
+
+  buildInputs = [ lzma ];
+
+  patches = [ ./_SC_ARG_MAX.patch ];
+
+  buildPhase = ''
+    gcc -o pxz pxz.c -llzma \
+        -fopenmp -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2 \
+        -DPXZ_BUILD_DATE=\"nixpkgs\" \
+        -DXZ_BINARY=\"${xz}/bin/xz\" \
+        -DPXZ_VERSION=\"${version}\"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+    cp pxz $out/bin
+    cp pxz.1 $out/share/man/man1
+  '';
+
+  meta = {
+    homepage = "https://jnovy.fedorapeople.org/pxz/";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [pashev];
+    description = ''Parallel XZ is a compression utility that takes advantage of
+      running LZMA compression of different parts of an input file on multiple
+      cores and processors simultaneously. Its primary goal is to utilize all
+      resources to speed up compression time with minimal possible influence
+      on compression ratio'';
+  };
+}
diff --git a/pkgs/tools/compression/rzip/default.nix b/pkgs/tools/compression/rzip/default.nix
index 4460ae6edf3..733634da652 100644
--- a/pkgs/tools/compression/rzip/default.nix
+++ b/pkgs/tools/compression/rzip/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "rzip-2.1";
   src = fetchurl {
-    url = http://rzip.samba.org/ftp/rzip/rzip-2.1.tar.gz;
+    url = mirror://samba/rzip/rzip-2.1.tar.gz;
     sha256 = "4bb96f4d58ccf16749ed3f836957ce97dbcff3e3ee5fd50266229a48f89815b7";
   };
   buildInputs = [ bzip2 ];
diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix
new file mode 100644
index 00000000000..0bb4a1fb2ae
--- /dev/null
+++ b/pkgs/tools/compression/xar/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, libxml2, openssl, zlib, bzip2 }:
+
+stdenv.mkDerivation rec {
+  version = "1.5.2";
+  name    = "xar-${version}";
+
+  src = fetchurl {
+    url    = "https://xar.googlecode.com/files/${name}.tar.gz";
+    sha256 = "1rp3va6akzlh35yqrapfqnbxaxa0zi8wyr93swbapprwh215cpac";
+  };
+
+  buildInputs = [ libxml2 openssl zlib bzip2 ];
+
+  meta = {
+    homepage    = https://code.google.com/p/xar/;
+    description = "Extensible Archiver";
+
+    longDescription =
+      '' The XAR project aims to provide an easily extensible archive format.
+         Important design decisions include an easily extensible XML table of
+         contents for random access to archived files, storing the toc at the
+         beginning of the archive to allow for efficient handling of streamed
+         archives, the ability to handle files of arbitrarily large sizes, the
+         ability to choose independent encodings for individual files in the
+         archive, the ability to store checksums for individual files in both
+         compressed and uncompressed form, and the ability to query the table
+         of content's rich meta-data.
+      '';
+
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ copumpkin ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index 5889bdd5093..2219417ea4a 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "xz-5.0.5";
+  name = "xz-5.2.1";
 
   src = fetchurl {
     url = "http://tukaani.org/xz/${name}.tar.bz2";
-    sha256 = "1404i59bp6rzxya0br1q9njdv32z4sggyfrkjr7vq695hk94hv0n";
+    sha256 = "101a1kih58s1ysqfncqw69qnwx1zlbjxwhnfmp0z5gz0jzs4i4b7";
   };
 
   outputs = [ "dev" "out" "bin" "man" "doc" ];
@@ -13,10 +13,9 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   # In stdenv-linux, prevent a dependency on bootstrap-tools.
-  # The preHook hack no longer worked, no idea why.
-  postFixup = ''
-    sed '1s:#!${stdenv.shell}:#!/usr/bin/env sh:' -i "$bin"/bin/*
-  '';
+  preConfigure = "unset CONFIG_SHELL";
+
+  postInstall = "rm -rf $out/share/doc";
 
   meta = {
     homepage = http://tukaani.org/xz/;
diff --git a/pkgs/tools/compression/zdelta/default.nix b/pkgs/tools/compression/zdelta/default.nix
index a07deac4148..db47cf71910 100644
--- a/pkgs/tools/compression/zdelta/default.nix
+++ b/pkgs/tools/compression/zdelta/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   builder = ./builder.sh;
   src = fetchurl {
     url = "${meta.homepage}/downloads/${name}.tar.gz";
-    md5 = "c69583a64f42f69a39e297d0d27d77e5";
+    sha256 = "0k6y0r9kv5qiglnr2j4a0yvfynjkvm0pyv8ly28j0pr3w6rbxrh3";
   };
 
   meta = {
diff --git a/pkgs/tools/compression/zsync/default.nix b/pkgs/tools/compression/zsync/default.nix
index 3732e5b1756..4606d5bf79b 100644
--- a/pkgs/tools/compression/zsync/default.nix
+++ b/pkgs/tools/compression/zsync/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://zsync.moria.org.uk/;
     description = "File distribution system using the rsync algorithm";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/tools/filesystems/avfs/default.nix b/pkgs/tools/filesystems/avfs/default.nix
new file mode 100644
index 00000000000..1a9a09aaa50
--- /dev/null
+++ b/pkgs/tools/filesystems/avfs/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, fuse, xz }:
+
+stdenv.mkDerivation rec {
+  name = "avfs-${version}";
+  version = "1.0.2";
+  src = fetchurl {
+    url = "mirror://sourceforge/avf/${version}/${name}.tar.bz2";
+    sha1 = "e4f8377ea2565c1ac59f7b66893905b778ddf849";
+  };
+
+  buildInputs = [ pkgconfig fuse xz ];
+
+  configureFlags = [
+    "--enable-library"
+    "--enable-fuse"
+    "--disable-static"
+  ];
+
+  meta = {
+    homepage = http://avf.sourceforge.net/;
+    description = "Virtual filesystem that allows browsing of compressed files";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/filesystems/bashmount/default.nix b/pkgs/tools/filesystems/bashmount/default.nix
new file mode 100644
index 00000000000..579258f63f9
--- /dev/null
+++ b/pkgs/tools/filesystems/bashmount/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchFromGitHub}:
+
+stdenv.mkDerivation rec {
+  name = "bashmount-${version}";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner = "jamielinux";
+    repo = "bashmount";
+    rev = version;
+    sha256 = "0rki4s0jgz6vkywc6hcx9qa551r5bnjs7sw0rdh93k64l32kh644";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bashmount $out/bin
+
+    mkdir -p $out/etc
+    cp bashmount.conf $out/etc
+
+    mkdir -p $out/share/man/man1
+    gzip -c -9 bashmount.1 > bashmount.1.gz
+    cp bashmount.1.gz $out/share/man/man1
+
+    mkdir -p $out/share/doc/bashmount
+    cp COPYING $out/share/doc/bashmount
+    cp NEWS    $out/share/doc/bashmount
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jamielinux/bashmount;
+    description = "A menu-driven bash script for the management of removable media with udisks";
+    maintainers = [ maintainers.koral ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/filesystems/bcache-tools/bcache-udev-modern.patch b/pkgs/tools/filesystems/bcache-tools/bcache-udev-modern.patch
new file mode 100644
index 00000000000..c6cf79785b7
--- /dev/null
+++ b/pkgs/tools/filesystems/bcache-tools/bcache-udev-modern.patch
@@ -0,0 +1,52 @@
+This patch does two things:
+1) Drops probe-bcache, so now new util-linux detecting functionality is used.
+2) Drops bcache-register, using kmod (built in udev) and moving registering device
+   into rule using 'sh'.
+This reduces things that need to be present in initrd, replacing them with already
+existing functionality and reducing overall initrd size.
+
+diff --git a/69-bcache.rules b/69-bcache.rules
+index 5d28e70..6a52893 100644
+--- a/69-bcache.rules
++++ b/69-bcache.rules
+@@ -10,15 +10,11 @@ KERNEL=="fd*|sr*", GOTO="bcache_end"
+ # It recognised bcache (util-linux 2.24+)
+ ENV{ID_FS_TYPE}=="bcache", GOTO="bcache_backing_found"
+ # It recognised something else; bail
+-ENV{ID_FS_TYPE}=="?*", GOTO="bcache_backing_end"
+-
+-# Backing devices: scan, symlink, register
+-IMPORT{program}="probe-bcache -o udev $tempnode"
+-ENV{ID_FS_TYPE}!="bcache", GOTO="bcache_backing_end"
+-ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
++GOTO="bcache_backing_end"
+ 
+ LABEL="bcache_backing_found"
+-RUN+="bcache-register $tempnode"
++RUN{builtin}+="kmod load bcache"
++RUN+="/bin/sh -c 'echo $tempnode > /sys/fs/bcache/register_quiet'"
+ LABEL="bcache_backing_end"
+ 
+ # Cached devices: symlink
+diff --git a/Makefile b/Makefile
+index 3f8d87b..15638a7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -9,7 +9,7 @@ all: make-bcache probe-bcache bcache-super-show
+ 
+ install: make-bcache probe-bcache bcache-super-show
+ 	$(INSTALL) -m0755 make-bcache bcache-super-show	$(DESTDIR)${PREFIX}/sbin/
+-	$(INSTALL) -m0755 probe-bcache bcache-register		$(DESTDIR)$(UDEVLIBDIR)/
++#	$(INSTALL) -m0755 probe-bcache bcache-register		$(DESTDIR)$(UDEVLIBDIR)/
+ 	$(INSTALL) -m0644 69-bcache.rules	$(DESTDIR)$(UDEVLIBDIR)/rules.d/
+ 	$(INSTALL) -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/
+ 	$(INSTALL) -D -m0755 initramfs/hook	$(DESTDIR)/usr/share/initramfs-tools/hooks/bcache
+diff --git a/bcache-register b/bcache-register
+index 9b592bc..75b4faf 100755
+--- a/bcache-register
++++ b/bcache-register
+@@ -1,4 +1,3 @@
+ #!/bin/sh
+-/sbin/modprobe -qba bcache
+ test -f /sys/fs/bcache/register_quiet && echo "$1" > /sys/fs/bcache/register_quiet
+ 
diff --git a/pkgs/tools/filesystems/bcache-tools/default.nix b/pkgs/tools/filesystems/bcache-tools/default.nix
index 161383cb9de..a4b1363d841 100644
--- a/pkgs/tools/filesystems/bcache-tools/default.nix
+++ b/pkgs/tools/filesystems/bcache-tools/default.nix
@@ -19,10 +19,10 @@ stdenv.mkDerivation rec {
         -e "/INSTALL.*initcpio\/install/d" \
         -e "/INSTALL.*dracut\/module-setup.sh/d" \
         -i Makefile
-
-    sed -e "s|/sbin/modprobe|${kmod}/sbin/modprobe|" -i bcache-register
   '';
 
+  patches = [ ./bcache-udev-modern.patch ];
+
   preBuild = ''
     export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\"";
   '';
diff --git a/pkgs/tools/filesystems/boxfs/default.nix b/pkgs/tools/filesystems/boxfs/default.nix
new file mode 100644
index 00000000000..c0a6c8400fd
--- /dev/null
+++ b/pkgs/tools/filesystems/boxfs/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, curl, fuse, libxml2, pkgconfig }:
+
+let
+  version = "2-20150109";
+  srcs = {
+    boxfs2 = fetchFromGitHub {
+      sha256 = "10af1l3sjnh25shmq5gdnpyqk4vrq7i1zklv4csf1n2nrahln8j8";
+      rev = "d7018b0546d2dae956ae3da3fb95d2f63fa6d3ff";
+      repo = "boxfs2";
+      owner = "drotiro";
+    };
+    libapp = fetchFromGitHub {
+      sha256 = "1p2sbxiranan2n2xsfjkp3c6r2vcs57ds6qvjv4crs1yhxr7cp00";
+      rev = "febebe2bc0fb88d57bdf4eb4a2a54c9eeda3f3d8";
+      repo = "libapp";
+      owner = "drotiro";
+    };
+    libjson = fetchFromGitHub {
+      sha256 = "1vhss3gq44nl61fbnh1l3qzwvz623gwhfgykf1lf1p31rjr7273w";
+      rev = "75a7f50fca2c667bc5f32cdd6dd98f2b673f6657";
+      repo = "libjson";
+      owner = "vincenthz";
+    };
+  };
+in stdenv.mkDerivation {
+  name = "boxfs-${version}";
+
+  src = srcs.boxfs2;
+  prePatch = with srcs; ''
+    substituteInPlace Makefile --replace "git pull" "true"
+    cp -a --no-preserve=mode ${libapp} libapp
+    cp -a --no-preserve=mode ${libjson} libjson
+  '';
+
+  buildInputs = [ curl fuse libxml2 pkgconfig ];
+
+  buildFlags = "static";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install boxfs boxfs-init $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "FUSE file system for box.com accounts";
+    longDescription = ''
+      Store files on box.com (an account is required). The first time you run
+      boxfs, you will need to complete the authentication (oauth2) process and
+      grant access to your box.com account. Just follow the instructions on
+      the terminal and in your browser. When you've done using your files,
+      unmount the file system with `fusermount -u mountpoint`.
+    '';
+    homepage = https://github.com/drotiro/boxfs2;
+    license = with licenses; gpl3;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 66152f9589b..d1e0e8e430b 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo
+{ stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }:
 
-let version = "3.14.2"; in
+let version = "3.19.1"; in
 
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/kernel/people/mason/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "14vpj6f2v076v9zabgrz8l4dp6n1ar2mvk3lvii51ykvi35d1qbh";
+    url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
+    sha256 = "1nw8rsc0dc5k6hrg03m1c65n4d0f7rfs1fjv96xqhqg0wykn5214";
   };
 
   buildInputs = [
-    attr acl zlib libuuid e2fsprogs lzo
+    pkgconfig attr acl zlib libuuid e2fsprogs lzo
     asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
   ];
 
@@ -21,10 +21,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = "prefix=$(out)";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = https://btrfs.wiki.kernel.org/;
-    maintainers = [ stdenv.lib.maintainers.raskin ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ raskin wkennington ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch b/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch
new file mode 100644
index 00000000000..a99e16ddc26
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch
@@ -0,0 +1,42 @@
+From 2507ab33236f0da12899fbcdd36535f7c7b68a06 Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <william@wkennington.com>
+Date: Sat, 20 Sep 2014 22:52:31 -0700
+Subject: [PATCH] Cleanup boost optionals
+
+---
+ src/osd/ECBackend.cc    | 2 +-
+ src/osd/ReplicatedPG.cc | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc
+index a87b5b4..c386900 100644
+--- a/src/osd/ECBackend.cc
++++ b/src/osd/ECBackend.cc
+@@ -81,7 +81,7 @@ ostream &operator<<(ostream &lhs, const ECBackend::read_result_t &rhs)
+   lhs << "read_result_t(r=" << rhs.r
+       << ", errors=" << rhs.errors;
+   if (rhs.attrs) {
+-    lhs << ", attrs=" << rhs.attrs;
++    lhs << ", attrs=" << rhs.attrs.get();
+   } else {
+     lhs << ", noattrs";
+   }
+diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
+index 5e5510d..79e8616 100644
+--- a/src/osd/ReplicatedPG.cc
++++ b/src/osd/ReplicatedPG.cc
+@@ -5259,7 +5259,10 @@ void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
+   for (list<OpContext::NotifyAck>::iterator p = ctx->notify_acks.begin();
+        p != ctx->notify_acks.end();
+        ++p) {
+-    dout(10) << "notify_ack " << make_pair(p->watch_cookie, p->notify_id) << dendl;
++    if (p->watch_cookie)
++      dout(10) << "notify_ack " << make_pair(p->watch_cookie.get(), p->notify_id) << dendl;
++    else
++      dout(10) << "notify_ack " << make_pair("NULL", p->notify_id) << dendl;
+     for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator i =
+ 	   ctx->obc->watchers.begin();
+ 	 i != ctx->obc->watchers.end();
+-- 
+2.1.0
+
diff --git a/pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch b/pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch
new file mode 100644
index 00000000000..cb2de6ad4f5
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/0001-Makefile-env-Don-t-force-sbin.patch
@@ -0,0 +1,25 @@
+From 34c27f66210570adf5aba624d7da3c0382d5493f Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <william@wkennington.com>
+Date: Sun, 21 Sep 2014 12:19:30 -0700
+Subject: [PATCH] Makefile-env: Don't force /sbin
+
+---
+ src/Makefile-env.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index f2ab655..bf8876e 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -27,7 +27,7 @@ bin_DEBUGPROGRAMS =
+ ceph_sbindir = $(sbindir)
+ 
+ # certain things go straight into /sbin, though!
+-su_sbindir = /sbin
++su_sbindir = $(sbindir)
+ 
+ # C/C++ tests to build will be appended to this
+ check_PROGRAMS =
+-- 
+2.1.0
+
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 7a8b85a8945..7fd547099a2 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -1,37 +1,61 @@
-{stdenv, fetchgit, libatomic_ops, autoconf, automake, boost, btrfsProgs, cryptopp, curl, expat,
- fcgi, fuse, gperftools, keyutils, leveldb, libaio, libedit, libtool,
- libuuid, linuxHeaders, openssl, pkgconfig, python, snappy, which, xfsprogs, xz}:
+{ stdenv, fetchgit, autoconf, automake, makeWrapper, pkgconfig, libtool, which
+, boost, btrfsProgs, cryptopp, curl, expat, fcgi, fuse, gperftools, keyutils
+, leveldb, libaio, libatomic_ops, libedit, libuuid, linuxHeaders, openssl
+, python, snappy, udev, xfsprogs, xz
+, zfs ? null
+}:
 
+with stdenv.lib;
+let
+  wrapArgs = "--prefix PYTHONPATH : \"$(toPythonPath $out)\""
+    + " --prefix PYTHONPATH : \"$(toPythonPath ${python.modules.readline})\""
+    + " --prefix PATH : \"$out/bin\""
+    + " --prefix LD_LIBRARY_PATH : \"$out/lib\"";
+in
 stdenv.mkDerivation rec {
-  baseName="ceph";
-  version="0.79";
-  name="${baseName}-${version}";
+  name="ceph-${version}";
+  version="0.94";
+
+  src = fetchgit {
+    url = "git://github.com/ceph/ceph.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0xqfmfg34w8yngv2qg4kwbpv9xhc8rn9hzsrgpw68f5hrs3dfimz";
+  };
+
+  patches = [
+    ./0001-Makefile-env-Don-t-force-sbin.patch
+  ];
+
+  nativeBuildInputs = [ autoconf automake makeWrapper pkgconfig libtool which ];
   buildInputs = [
-    fuse linuxHeaders pkgconfig libatomic_ops autoconf automake boost btrfsProgs cryptopp expat
-    fcgi fuse gperftools keyutils leveldb libaio libedit libtool libuuid openssl pkgconfig
-    python snappy which xfsprogs.lib xz
+    boost btrfsProgs cryptopp curl expat fcgi fuse gperftools keyutils
+    libatomic_ops leveldb libaio libedit libuuid linuxHeaders openssl python
+    snappy udev xfsprogs.lib xz zfs
   ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
-  installFlags = "DESTDIR=\${out}";
+  configureFlags = [
+    "--exec_prefix=$(out)"
+  ] ++ optional (zfs != null) "--with-zfs=${zfs}";
+
+  postInstall = ''
+    wrapProgram $out/bin/ceph ${wrapArgs}
+    wrapProgram $out/bin/ceph-brag ${wrapArgs}
+    wrapProgram $out/bin/ceph-rest-api ${wrapArgs}
+    wrapProgram $out/sbin/ceph-create-keys ${wrapArgs}
+    wrapProgram $out/sbin/ceph-disk ${wrapArgs}
+  '';
 
   enableParallelBuilding = true;
-  src = fetchgit {
-    url = "https://github.com/ceph/ceph";
-    rev = "4c2d73a5095f527c3a2168deb5fa54b3c8991a6e";
-    sha256 = "0850m817wqqmw2qdnwm5jvbdgifzlc7kcd05jv526pdvmq1x92rf";
-  };
 
   meta = {
-    inherit version;
+    homepage = http://ceph.com/;
     description = "Distributed storage system";
-    maintainers = [
-      stdenv.lib.maintainers.ak
-    ];
-    platforms = with stdenv.lib.platforms; 
-      linux;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ ak wkennington ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
new file mode 100644
index 00000000000..0f9bff82967
--- /dev/null
+++ b/pkgs/tools/filesystems/duff/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, gettext }:
+
+let version = "0.5.2"; in
+stdenv.mkDerivation rec {
+  name = "duff-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "0yfm910wjj6z0f0cg68x59ykf4ql5m49apzy8sra00f8kv4lpn53";
+    rev = version;
+    repo = "duff";
+    owner = "elmindreda";
+  };
+
+  buildInputs = [ autoreconfHook gettext ];
+
+  preAutoreconf = ''
+    # duff is currently badly packaged, requiring us to do extra work here that
+    # should be done upstream. If that is ever fixed, this entire phase can be
+    # removed along with all buildInputs.
+
+    # gettexttize rightly refuses to run non-interactively:
+    cp ${gettext}/bin/gettextize .
+    substituteInPlace gettextize \
+      --replace "read dummy" "echo '(Automatically acknowledged)' #"
+    ./gettextize
+    sed 's@po/Makefile.in\( .*\)po/Makefile.in@po/Makefile.in \1@' \
+      -i configure.ac
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Quickly find duplicate files.";
+    homepage = http://duff.dreda.org/;
+    license = with licenses; zlib;
+    longDescription = ''
+      Duff is a Unix command-line utility for quickly finding duplicates in
+      a given set of files.
+    '';
+    maintainers = with maintainers; [ nckx ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/tools/filesystems/duperemove/default.nix b/pkgs/tools/filesystems/duperemove/default.nix
new file mode 100644
index 00000000000..087012d62a1
--- /dev/null
+++ b/pkgs/tools/filesystems/duperemove/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchurl, libgcrypt, pkgconfig, glib, linuxHeaders }:
+
+stdenv.mkDerivation rec {
+  name = "duperemove-${version}";
+  version = "0.09.beta2";
+
+  src = fetchurl {
+    url = "https://github.com/markfasheh/duperemove/archive/v${version}.tar.gz";
+    sha256 = "0rn7lf9rjf4ypgfwms2y7b459rri4rfn809h6wx8xl9nbm5niil4";
+  };
+
+  buildInputs = [ libgcrypt pkgconfig glib linuxHeaders ];
+
+  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
+
+  meta = {
+    description = "A simple tool for finding duplicated extents and submitting them for deduplication";
+    homepage = https://github.com/markfasheh/duperemove;
+    license = lib.licenses.gpl2;
+
+    maintainers = [ lib.maintainers.bluescreen303 ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix
index ea96001a421..81a3b46cacb 100644
--- a/pkgs/tools/filesystems/encfs/default.nix
+++ b/pkgs/tools/filesystems/encfs/default.nix
@@ -1,19 +1,30 @@
-{ stdenv, fetchurl, openssl, fuse, boost, rlog }:
+{ stdenv, fetchFromGitHub, autoreconfHook, boost, fuse, openssl, perl
+, pkgconfig, rlog }:
 
-stdenv.mkDerivation {
-  name = "encfs-1.7.4";
+let version = "1.8.1"; in
+stdenv.mkDerivation rec {
+  name = "encfs-${version}";
 
-  src = fetchurl {
-    url = "http://encfs.googlecode.com/files/encfs-1.7.4.tgz";
-    sha256 = "1a3h47f4h0qdc0bf3vic1i8wrdw5nkx22mml4wsvmmrd9zqg0bi8";
+  src = fetchFromGitHub {
+    sha256 = "1cxihqwpnqbzy8qz0134199pwfnd7ikr2835p5p1yzqnl203wcdb";
+    rev = "v${version}";
+    repo = "encfs";
+    owner = "vgough";
   };
 
-  buildInputs = [ boost fuse openssl rlog ];
+  buildInputs = [ autoreconfHook boost fuse openssl perl pkgconfig rlog ];
 
-  configureFlags = "--with-boost-serialization=boost_wserialization --with-boost-filesystem=boost_filesystem";
+  configureFlags = [
+    "--with-boost-serialization=boost_wserialization"
+    "--with-boost-filesystem=boost_filesystem"
+  ];
 
-  meta = {
-    homepage = http://www.arg0.net/encfs;
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://vgough.github.io/encfs;
     description = "Provides an encrypted filesystem in user-space via FUSE";
+    license = with licenses; lgpl2;
+    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/filesystems/exfat-utils/default.nix b/pkgs/tools/filesystems/exfat-utils/default.nix
new file mode 100644
index 00000000000..a767ba36b3f
--- /dev/null
+++ b/pkgs/tools/filesystems/exfat-utils/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, scons }:
+
+let version = "1.1.1"; in
+stdenv.mkDerivation rec {
+  name = "exfat-utils-${version}";
+
+  src = fetchurl {
+    sha256 = "0ck2snhlhp965bb9a4y1g2lpl979sw1yznm79wbavyv174458i66";
+    url = "https://docs.google.com/uc?export=download&id=0B7CLI-REKbE3UzNtSkRvdHBpdjQ";
+    name = "${name}.tar.gz";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Free exFAT file system utilities";
+    longDescription = ''
+      Full-featured exFAT file system implementation for GNU/Linux and other
+      Unix-like systems.
+    '';
+    homepage = https://code.google.com/p/exfat;
+    license = with licenses; gpl2Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ scons ];
+
+  buildPhase = ''
+    export CCFLAGS="-std=c99"
+    mkdir -pv $out/sbin
+    scons DESTDIR=$out/sbin install
+  '';
+
+  installPhase = ":";
+}
diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix
new file mode 100644
index 00000000000..02087ff97b2
--- /dev/null
+++ b/pkgs/tools/filesystems/fatsort/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, help2man}:
+
+stdenv.mkDerivation rec {
+  version = "1.3.365";
+  name = "fatsort-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/fatsort/${name}.tar.gz";
+    sha256 = "0g9zn2ns86g7zmy0y8hw1w1zhnd51hy8yl6kflyhxs49n5sc7b3p";
+  };
+
+  patches = [ ./fatsort-Makefiles.patch ];
+
+  buildInputs = [ help2man ];
+
+  meta = with stdenv.lib; {
+    homepage = http://fatsort.sourceforge.net/;
+    description = "Sorts FAT partition table, for devices that don't do sorting of files";
+    maintainers = [ maintainers.kovirobi ];
+    license = licenses.gpl2;
+    inherit version;
+  };
+}
diff --git a/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch b/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch
new file mode 100644
index 00000000000..9c9f58e97ab
--- /dev/null
+++ b/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch
@@ -0,0 +1,31 @@
+diff -uNr fatsort-1.3.365-a/Makefile fatsort-1.3.365-b/Makefile
+--- fatsort-1.3.365-a/Makefile	2014-04-08 19:19:36.000000000 +0100
++++ fatsort-1.3.365-b/Makefile	2014-12-14 18:31:55.982857720 +0000
+@@ -1,4 +1,5 @@
+-MANDIR=/usr/local/share/man/man1
++PREFIX=$(out)
++MANDIR=$(PREFIX)/share/man/man1
+ 
+ INSTALL_FLAGS=-m 0755 -p -D
+ 
+diff -uNr fatsort-1.3.365-a/src/Makefile fatsort-1.3.365-b/src/Makefile
+--- fatsort-1.3.365-a/src/Makefile	2014-04-08 19:19:36.000000000 +0100
++++ fatsort-1.3.365-b/src/Makefile	2014-12-14 18:32:08.282870461 +0000
+@@ -1,3 +1,5 @@
++PREFIX=$(out)
++
+ CC=gcc
+ LD=gcc
+ 
+@@ -33,9 +35,9 @@
+ 
+ # Mac OS X does not have a "/usr/local/sbin"
+ ifeq ($(UNAME),Darwin)
+-SBINDIR=/usr/local/bin
++SBINDIR=$(PREFIX)/bin
+ else
+-SBINDIR=/usr/local/sbin
++SBINDIR=$(PREFIX)/sbin
+ endif
+ 
+ OBJ=fatsort.o FAT_fs.o fileio.o endianness.o signal.o entrylist.o errors.o options.o clusterchain.o sort.o misc.o natstrcmp.o stringlist.o
diff --git a/pkgs/tools/filesystems/fuse-exfat/default.nix b/pkgs/tools/filesystems/fuse-exfat/default.nix
index 093b01bb141..983228e9de5 100644
--- a/pkgs/tools/filesystems/fuse-exfat/default.nix
+++ b/pkgs/tools/filesystems/fuse-exfat/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pkgconfig, fuse, scons }:
 
 stdenv.mkDerivation rec {
-  name = "fuse-exfat-1.0.1";
+  name = "fuse-exfat-1.1.0";
 
   src = fetchurl {
-    url = "http://exfat.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0n27hpi45lj9hpi7k8d7npiwyhasf1v832g7ckpknd6lnyhipb0j";
+    sha256 = "0glmgwrf0nv09am54i6s35ksbvrywrwc51w6q32mv5by8475530r";
+    url = "https://docs.google.com/uc?export=download&id=0B7CLI-REKbE3VTdaa0EzTkhYdU0";
+    name = "${name}.tar.gz";
   };
 
   buildInputs = [ pkgconfig fuse scons ];
@@ -19,11 +20,12 @@ stdenv.mkDerivation rec {
 
   installPhase = ":";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://code.google.com/p/exfat/;
     description = "A FUSE-based filesystem that allows read and write access to exFAT devices";
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
+    platforms = with platforms; linux;
+    license = with licenses; gpl2Plus;
+    maintainers = with maintainers; [ nckx ];
   };
 }
 
diff --git a/pkgs/tools/filesystems/genext2fs/default.nix b/pkgs/tools/filesystems/genext2fs/default.nix
index 7f7d956afd2..acb992b24ad 100644
--- a/pkgs/tools/filesystems/genext2fs/default.nix
+++ b/pkgs/tools/filesystems/genext2fs/default.nix
@@ -8,8 +8,11 @@ stdenv.mkDerivation {
     sha256 = "1z7czvsf3ircvz2cw1cf53yifsq29ljxmj15hbgc79l6gbxbnka0";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://genext2fs.sourceforge.net/;
     description = "A tool to generate ext2 filesystem images without requiring root privileges";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 69f3f7ef1ef..76861467348 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -1,30 +1,35 @@
 {stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python, ncurses, readline,
- autoconf, automake, libtool, pkgconfig, zlib, libaio}:
+ autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2}:
 let 
   s = # Generated upstream information 
   rec {
     baseName="glusterfs";
-    version="3.5.2";
+    version="3.6.2";
     name="${baseName}-${version}";
-    hash="1hvns9islr5jcy0r1cw5890ra246y12pl5nlhl3bvmhglrkv8n7g";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.2/glusterfs-3.5.2.tar.gz";
-    sha256="1hvns9islr5jcy0r1cw5890ra246y12pl5nlhl3bvmhglrkv8n7g";
+    hash="1kz0kmj0apkhkmw1zy72bsx06b1ii6z8y3fq365cy5l3xnjibdaa";
+    url="http://download.gluster.org/pub/gluster/glusterfs/3.6/3.6.2/glusterfs-3.6.2.tar.gz";
+    sha256="1kz0kmj0apkhkmw1zy72bsx06b1ii6z8y3fq365cy5l3xnjibdaa";
   };
   buildInputs = [
     fuse bison flex_2_5_35 openssl python ncurses readline
-    autoconf automake libtool pkgconfig zlib libaio
+    autoconf automake libtool pkgconfig zlib libaio libxml2
   ];
 in
 stdenv.mkDerivation
 rec {
   inherit (s) name version;
   inherit buildInputs;
+
   preConfigure = ''
     ./autogen.sh
     '';
+
   configureFlags = [
-    ''--with-mountutildir="$out/sbin"''
+    ''--with-mountutildir="$out/sbin" --localstatedir=/var''
     ];
+
+  makeFlags = "DESTDIR=$(out)";
+
   preInstall = ''
     substituteInPlace api/examples/Makefile --replace '$(DESTDIR)' $out
     substituteInPlace geo-replication/syncdaemon/Makefile --replace '$(DESTDIR)' $out
@@ -32,6 +37,12 @@ rec {
     substituteInPlace xlators/features/glupy/examples/Makefile --replace '$(DESTDIR)' $out
     substituteInPlace xlators/features/glupy/src/Makefile --replace '$(DESTDIR)' $out
     '';
+
+  postInstall = ''
+    cp -r $out/$out/* $out
+    rm -r $out/nix
+    '';
+
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/tools/filesystems/go-mtpfs/default.nix b/pkgs/tools/filesystems/go-mtpfs/default.nix
new file mode 100644
index 00000000000..cf521425a76
--- /dev/null
+++ b/pkgs/tools/filesystems/go-mtpfs/default.nix
@@ -0,0 +1,29 @@
+{ lib, goPackages, pkgconfig, libmtp, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "9c2b46050e8ea8574eaec2124867ac7b11e6471d";
+  name = "go-mtpfs-${lib.strings.substring 0 7 rev}";
+  goPackagePath = "github.com/hanwen/go-mtpfs";
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "hanwen";
+    repo = "go-mtpfs";
+    sha256 = "0kxi18cb078q4wikfajp3yvp802wzfsfdp431j0dg2jdw8y7gfii";
+  };
+
+  buildInputs = [ go-fuse libmtp usb ];
+
+  subPackages = [ "./" ];
+
+  dontInstallSrc = true;
+
+  meta = with lib; {
+    description = "A simple FUSE filesystem for mounting Android devices as a MTP device";
+    homepage    = https://github.com/hanwen/go-mtpfs;
+    maintainers = with maintainers; [ bennofs ];
+    platforms   = platforms.linux;
+    license     = licenses.bsd3;
+  };
+}
diff --git a/pkgs/tools/filesystems/ifuse/default.nix b/pkgs/tools/filesystems/ifuse/default.nix
new file mode 100644
index 00000000000..942b6272071
--- /dev/null
+++ b/pkgs/tools/filesystems/ifuse/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, usbmuxd, fuse, gnutls, libgcrypt,
+  libplist, libimobiledevice }:
+
+stdenv.mkDerivation rec {
+  name = "ifuse-1.1.3";
+
+  nativeBuildInputs = [ pkgconfig fuse libplist usbmuxd gnutls libgcrypt libimobiledevice ];
+
+  src = fetchurl {
+    url = "${meta.homepage}/downloads/${name}.tar.bz2";
+    sha256 = "1p9a4n36jb194cnp6v57cz2bggwbywaz8pbpb95ch83pzdkdx257";
+  };
+
+  meta = {
+    homepage = http://www.libimobiledevice.org;
+    license = stdenv.lib.licenses.lgpl21Plus;
+    description = "A fuse filesystem implementation to access the contents of iOS devices";
+    longDescription = ''
+    Mount directories of an iOS device locally using fuse. By default the media
+    directory is mounted, options allow to also mount the sandbox container of an
+    app, an app's documents folder or even the root filesystem on jailbroken
+    devices.'';
+    inherit (usbmuxd.meta) platforms maintainers;
+  };
+}
diff --git a/pkgs/tools/filesystems/jfsrec/default.nix b/pkgs/tools/filesystems/jfsrec/default.nix
deleted file mode 100644
index 5b5e7c8808e..00000000000
--- a/pkgs/tools/filesystems/jfsrec/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, boost }:
-
-stdenv.mkDerivation {
-  name = "jfsrec-0-pre-svn-7";
-
-  src = fetchurl {
-    url = mirror://sourceforge/jfsrec/jfsrec-svn-7.tar.gz;
-    sha256 = "163z6ljr05vw2k5mj4fim2nlg4khjyibrii95370pvn474mg28vg";
-  };
-
-  patches = [ ./jfsrec-gcc-4.3.patch ];
-  buildInputs = [ boost ];
-
-  preConfigure =
-    ''
-      sed -e '/[#]include [<]config.h[>]/a\#include <string.h>' -i src/unicode_to_utf8.cpp
-    '';
-
-  meta = {
-    description = "JFS recovery tool";
-    homepage = http://jfsrec.sourceforge.net/;
-  };
-}
diff --git a/pkgs/tools/filesystems/jfsrec/jfsrec-gcc-4.3.patch b/pkgs/tools/filesystems/jfsrec/jfsrec-gcc-4.3.patch
deleted file mode 100644
index 063a7c24813..00000000000
--- a/pkgs/tools/filesystems/jfsrec/jfsrec-gcc-4.3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Taken from Archlinux, although this solves the build in gcc 4.4, not 4.3.
-http://aur.archlinux.org/packages/jfsrec-svn/jfsrec-svn/jfsrec-gcc-4.3.patch
-diff -uBdr jfsrec/src/device.cpp jfsrec-build/src/device.cpp
---- jfsrec/src/device.cpp	2009-12-01 18:34:03.860437077 +0100
-+++ jfsrec-build/src/device.cpp	2009-12-01 18:39:48.297067088 +0100
-@@ -20,6 +20,7 @@
- //Parts of the code in this file was originally taken from JFS's xpeek (debugfs_jfs)
- 
- #include "device.h"
-+#include <stdio.h>
- #ifdef __linux__
-  #include <linux/fs.h>
-  #include <sys/ioctl.h>
-diff -uBdr jfsrec/src/unicode_to_utf8.cpp jfsrec-build/src/unicode_to_utf8.cpp
---- jfsrec/src/unicode_to_utf8.cpp	2009-12-01 18:34:03.860437077 +0100
-+++ jfsrec-build/src/unicode_to_utf8.cpp	2009-12-01 18:39:43.501626737 +0100
-@@ -8,6 +8,7 @@
-  */
- #include <config.h>
- #include "unicode_to_utf8.h"
-+#include <string.h>
- #define JFS_PATH_MAX 4096
- 
- /*
diff --git a/pkgs/tools/filesystems/jfsutils/default.nix b/pkgs/tools/filesystems/jfsutils/default.nix
index 9712721021e..46ded088c69 100644
--- a/pkgs/tools/filesystems/jfsutils/default.nix
+++ b/pkgs/tools/filesystems/jfsutils/default.nix
@@ -14,5 +14,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "IBM JFS utilities";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/jmtpfs/default.nix b/pkgs/tools/filesystems/jmtpfs/default.nix
index 5ee79397707..86dad1cc0fa 100644
--- a/pkgs/tools/filesystems/jmtpfs/default.nix
+++ b/pkgs/tools/filesystems/jmtpfs/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ autoconf automake file fuse libmtp pkgconfig unzip ];
 
   meta = {
-    description = "A FUSE filesystem for MTP devices like Android phones.";
+    description = "A FUSE filesystem for MTP devices like Android phones";
     homepage = https://github.com/JasonFerrara/jmtpfs;
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.coconnor ];
diff --git a/pkgs/tools/filesystems/mp3fs/default.nix b/pkgs/tools/filesystems/mp3fs/default.nix
new file mode 100644
index 00000000000..253f335ae4a
--- /dev/null
+++ b/pkgs/tools/filesystems/mp3fs/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, flac, fuse, lame, libid3tag, pkgconfig }:
+
+let version = "0.91"; in
+stdenv.mkDerivation rec {
+  name = "mp3fs-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/khenriks/mp3fs/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "14ngiqg24p3a0s6hp33zjl4i46d8qn4v9id36psycq3n3csmwyx4";
+  };
+
+  buildInputs = [ flac fuse lame libid3tag pkgconfig ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "FUSE file system that transparently transcodes to MP3";
+    longDescription = ''
+      A read-only FUSE filesystem which transcodes between audio formats
+      (currently only FLAC to MP3) on the fly when files are opened and read.
+      It can let you use a FLAC collection with software and/or hardware
+      which only understands the MP3 format, or transcode files through
+      simple drag-and-drop in a file browser.
+    '';
+    homepage = http://khenriks.github.com/mp3fs/;
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 2a7d9672843..6e54de033d6 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -1,15 +1,13 @@
 {stdenv, fetchgit, libuuid, lzo, zlib, acl}:
 
-let
-  version = "1.5.0";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "mtd-utils-${version}";
+  version = "1.5.1";
 
   src = fetchgit {
     url = git://git.infradead.org/mtd-utils.git;
     rev = "refs/tags/v" + version;
-    sha256 = "cc645c0ec28083431b11f3b38f9f7759378d89e11047a883529f703e1b6c1cce";
+    sha256 = "1bjx42pwl789ara63c672chvgvmqhkj4y132gajqih6naq71f8g7";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix
index 850e1681248..d5a0cbbc419 100644
--- a/pkgs/tools/filesystems/netatalk/default.nix
+++ b/pkgs/tools/filesystems/netatalk/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1d8dc8ysslkis4yl1xab1w9p0pz7a1kg0i6fds4wxsp4fhb6wqhq";
   };
 
-  buildInputs = [ pkgconfig db libgcrypt avahi libiconv pam openssl ];
+  buildInputs = [ pkgconfig db libgcrypt avahi pam openssl libiconv ];
 
   configureFlags = [
     "--with-bdb=${db}"
diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix
index db1b3fcf44e..bf108ad42ab 100644
--- a/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -1,52 +1,38 @@
-x@{builderDefsPackage
-  , libuuid
-  , ...}:
-builderDefsPackage
-(a :  
+{ stdenv, fetchurl, libuuid, libselinux }:
 let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version = "2.0.19";
-    url = "http://www.nilfs.org/download/nilfs-utils-${version}.tar.bz2";
-    hash = "0q9cb6ny0ah1s9rz1rgqka1pxdm3xvg0ywcqyhzcz4yhamfhg100";
+    version = "2.2.3";
+    url = "http://nilfs.sourceforge.net/download/nilfs-utils-${version}.tar.bz2";
+    sha256 = "1sv0p5d9ivik7lhrdynf6brma66llcvn11zhzasws12n4sfk6k6q";
     baseName = "nilfs-utils";
     name = "${baseName}-${version}";
   };
 in
-rec {
-  src = a.fetchurl {
+stdenv.mkDerivation rec {
+  src = fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = sourceInfo.sha256;
   };
 
   inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doFixPaths" "doConfigure" "doMakeInstall"];
+  buildInputs = [libuuid libselinux];
 
-  doFixPaths = a.fullDepEntry (''
-    sed -e '/sysconfdir=\/etc/d; /sbindir=\/sbin/d' -i configure
-    sed -e 's@/sbin/@'"$out"'/sbin/@' -i ./sbin/mount/cleaner_ctl.c
-  '') ["doUnpack" "minInit"];
+  preConfigure = ''
+    sed -e '/sysconfdir=\/etc/d; ' -i configure
+    sed -e "s@sbindir=/sbin@sbindir=$out/sbin@" -i configure
+    sed -e 's@/sbin/@'"$out"'/sbin/@' -i ./lib/cleaner*.c
+  '';
 
   meta = {
     description = "NILFS utilities";
-    maintainers = with a.lib.maintainers;
+    maintainers = with stdenv.lib.maintainers;
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
+    platforms = with stdenv.lib.platforms;
       linux;
+    downloadPage = "http://nilfs.sourceforge.net/en/download.html";
+    updateWalker = true;
+    inherit version;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.nilfs.org/download/?C=M;O=D";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
new file mode 100644
index 00000000000..44333b519cb
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
+, libselinux, cryptsetup, multipath_tools, lsof, utillinux
+, useNixUdev ? true, udev ? null
+# This is only used when useNixUdev is false
+, udevSoMajor ? 1
+}:
+
+assert useNixUdev -> udev != null;
+
+buildPythonPackage rec {
+  name = "blivet-${version}";
+  version = "0.17-1";
+
+  src = fetchurl {
+    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
+        + "${name}.tar.bz2";
+    sha256 = "1k3mws2q0ryb7422mml6idmaasz2i2v6ngyvg6d976dx090qnmci";
+  };
+
+  postPatch = ''
+    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
+      blivet/devicelibs/mpath.py blivet/devices.py
+    sed -i -e '/"wipefs"/ {
+      s|wipefs|${utillinux}/sbin/wipefs|
+      s/-f/--force/
+    }' blivet/formats/__init__.py
+    sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
+    sed -i -r -e 's|"(u?mount)"|"${utillinux}/bin/\1"|' blivet/util.py
+    sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
+  '' + (if useNixUdev then ''
+    sed -i -e '/find_library/,/find_library/ {
+      c libudev = "${udev}/lib/libudev.so.1"
+    }' blivet/pyudev.py
+  '' else ''
+    sed -i \
+      -e '/^somajor *=/s/=.*/= ${toString udevSoMajor}/p' \
+      -e 's|common =.*|& + ["/lib/x86_64-linux-gnu", "/lib/i686-linux-gnu"]|' \
+      blivet/pyudev.py
+  '');
+
+  propagatedBuildInputs = [
+    pykickstart pyparted pyblock libselinux cryptsetup
+  ] ++ stdenv.lib.optional useNixUdev udev;
+
+  # tests are currently _heavily_ broken upstream
+  doCheck = false;
+
+  meta = {
+    homepage = "https://fedoraproject.org/wiki/Blivet";
+    description = "Module for management of a system's storage configuration";
+    license = [ "GPLv2+" "LGPLv2.1+" ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix b/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix
new file mode 100644
index 00000000000..c612512b8cc
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt
+, enablePython ? true, python ? null
+}:
+
+assert enablePython -> python != null;
+
+stdenv.mkDerivation rec {
+  name = "cryptsetup-1.6.3";
+
+  src = fetchurl {
+    url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2";
+    sha256 = "1n1qk5chyjspbiianrdb55fhb4wl0vfyqz2br05vfb24v4qlgbx2";
+  };
+
+  configureFlags = [ "--enable-cryptsetup-reencrypt" ]
+                ++ stdenv.lib.optional enablePython "--enable-python";
+
+  buildInputs = [ devicemapper libgcrypt libuuid pkgconfig popt ]
+             ++ stdenv.lib.optional enablePython python;
+
+  meta = {
+    homepage = http://code.google.com/p/cryptsetup/;
+    description = "LUKS for dm-crypt";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ viric chaoflow ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
new file mode 100644
index 00000000000..9ea2f9bfdc7
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, fetchurl, python, buildPythonPackage
+# Propagated to blivet
+, useNixUdev ? true, udevSoMajor ? null
+# Propagated dependencies
+, pkgs, urlgrabber
+}:
+
+let
+  blivet = import ./blivet.nix {
+    inherit stdenv fetchurl buildPythonPackage;
+    inherit pykickstart pyparted pyblock cryptsetup multipath_tools;
+    inherit useNixUdev udevSoMajor;
+    inherit (pkgs) lsof utillinux udev;
+    libselinux = pkgs.libselinux.override { enablePython = true; };
+  };
+
+  cryptsetup = import ./cryptsetup.nix {
+    inherit stdenv fetchurl python;
+    inherit (pkgs) pkgconfig libgcrypt libuuid popt;
+    devicemapper = lvm2;
+  };
+
+  dmraid = import ./dmraid.nix {
+    inherit stdenv fetchurl;
+    devicemapper = lvm2;
+  };
+
+  lvm2 = import ./lvm2.nix {
+    inherit stdenv fetchurl;
+    inherit (pkgs) pkgconfig utillinux udev coreutils;
+  };
+
+  multipath_tools = import ./multipath-tools.nix {
+    inherit stdenv fetchurl lvm2;
+    inherit (pkgs) readline udev libaio gzip;
+  };
+
+  parted = import ./parted.nix {
+    inherit stdenv fetchurl;
+    inherit (pkgs) utillinux readline libuuid gettext check;
+    devicemapper = lvm2;
+  };
+
+  pyblock = import ./pyblock.nix {
+    inherit stdenv fetchurl python lvm2 dmraid;
+  };
+
+  pykickstart = import ./pykickstart.nix {
+    inherit stdenv fetchurl python buildPythonPackage urlgrabber;
+  };
+
+  pyparted = import ./pyparted.nix {
+    inherit stdenv fetchurl python buildPythonPackage parted;
+    inherit (pkgs) pkgconfig e2fsprogs;
+  };
+
+in buildPythonPackage rec {
+  name = "nixpart-${version}";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz";
+    sha256 = "0avwd8p47xy9cydlbjxk8pj8q75zyl68gw2w6fnkk78dcb1a3swp";
+  };
+
+  propagatedBuildInputs = [ blivet ];
+
+  doCheck = false;
+
+  meta = {
+    description = "NixOS storage manager/partitioner";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.aszlig ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix b/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
new file mode 100644
index 00000000000..35efa8533ab
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, devicemapper }:
+
+stdenv.mkDerivation rec {
+  name = "dmraid-1.0.0.rc15";
+
+  src = fetchurl {
+    url = "http://people.redhat.com/~heinzm/sw/dmraid/src/old/${name}.tar.bz2";
+    sha256 = "01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h";
+  };
+
+  preConfigure = "cd */";
+
+  buildInputs = [ devicemapper ];
+
+  meta = {
+    description = "Old-style RAID configuration utility";
+    longDescritipn = ''
+      Old RAID configuration utility (still under development, though).
+      It is fully compatible with modern kernels and mdadm recognizes
+      its volumes. May be needed for rescuing an older system or nuking
+      the metadata when reformatting.
+    '';
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
new file mode 100644
index 00000000000..9e2b0c90079
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }:
+
+let
+  v = "2.02.106";
+in
+
+stdenv.mkDerivation {
+  name = "lvm2-${v}";
+
+  src = fetchurl {
+    url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${v}.tgz";
+    sha256 = "0nr833bl0q4zq52drjxmmpf7bs6kqxwa5kahwwxm9411khkxz0vc";
+  };
+
+  configureFlags =
+    "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib";
+
+  buildInputs = [ pkgconfig udev ];
+
+  preConfigure =
+    ''
+      substituteInPlace scripts/lvmdump.sh \
+        --replace /usr/bin/tr ${coreutils}/bin/tr
+      substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
+        --replace /usr/sbin/lvm $out/sbin/lvm \
+        --replace /usr/bin/udevadm ${udev}/bin/udevadm
+
+      sed -i /DEFAULT_SYS_DIR/d Makefile.in
+      sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
+    '';
+
+  enableParallelBuilding = true;
+
+  #patches = [ ./purity.patch ];
+
+  # To prevent make install from failing.
+  preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\"";
+
+  # Install systemd stuff.
+  #installTargets = "install install_systemd_generators install_systemd_units install_tmpfiles_configuration";
+
+  postInstall =
+    ''
+      substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \
+        --replace $out/sbin/blkid ${utillinux}/sbin/blkid
+
+      # Systemd stuff
+      mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators
+      cp scripts/blk_availability_systemd_red_hat.service $out/etc/systemd/system
+      cp scripts/lvm2_activation_generator_systemd_red_hat $out/lib/systemd/system-generators
+    '';
+
+  meta = {
+    homepage = http://sourceware.org/lvm2/;
+    descriptions = "Tools to support Logical Volume Management (LVM) on Linux";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix
new file mode 100644
index 00000000000..90722d74ace
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/multipath-tools.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, lvm2, libaio, gzip, readline, udev }:
+
+stdenv.mkDerivation rec {
+  name = "multipath-tools-0.4.9";
+
+  src = fetchurl {
+    url = "http://christophe.varoqui.free.fr/multipath-tools/${name}.tar.bz2";
+    sha256 = "04n7kazp1zrlqfza32phmqla0xkcq4zwn176qff5ida4a60whi4d";
+  };
+
+  sourceRoot = ".";
+
+  buildInputs = [ lvm2 libaio readline ];
+
+  preBuild =
+    ''
+      makeFlagsArray=(GZIP="${gzip}/bin/gzip -9 -c" prefix=$out mandir=$out/share/man/man8 man5dir=$out/share/man/man5 LIB=lib)
+      
+      substituteInPlace multipath/Makefile --replace /etc $out/etc
+      substituteInPlace kpartx/Makefile --replace /etc $out/etc
+      
+      substituteInPlace kpartx/kpartx.rules --replace /sbin/kpartx $out/sbin/kpartx
+      substituteInPlace kpartx/kpartx_id --replace /sbin/dmsetup ${lvm2}/sbin/dmsetup
+
+      substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${udev}/lib/udev/scsi_id
+      substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${udev}/lib/udev/scsi_id
+    '';
+
+  meta = {
+    description = "Tools for the Linux multipathing driver";
+    homepage = http://christophe.varoqui.free.fr/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/parted.nix b/pkgs/tools/filesystems/nixpart/0.4/parted.nix
new file mode 100644
index 00000000000..04859020e36
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/parted.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, devicemapper, libuuid, gettext, readline
+, utillinux, check, enableStatic ? false, hurd ? null }:
+
+stdenv.mkDerivation rec {
+  name = "parted-3.1";
+
+  src = fetchurl {
+    url = "mirror://gnu/parted/${name}.tar.xz";
+    sha256 = "05fa4m1bky9d13hqv91jlnngzlyn7y4rnnyq6d86w0dg3vww372y";
+  };
+
+  buildInputs = [ libuuid ]
+    ++ stdenv.lib.optional (readline != null) readline
+    ++ stdenv.lib.optional (gettext != null) gettext
+    ++ stdenv.lib.optional (devicemapper != null) devicemapper
+    ++ stdenv.lib.optional (hurd != null) hurd
+    ++ stdenv.lib.optional doCheck check;
+
+  configureFlags =
+       (if (readline != null)
+        then [ "--with-readline" ]
+        else [ "--without-readline" ])
+    ++ stdenv.lib.optional (devicemapper == null) "--disable-device-mapper"
+    ++ stdenv.lib.optional enableStatic "--enable-static";
+
+  doCheck = true;
+
+  preCheck =
+    stdenv.lib.optionalString doCheck
+      # The `t0400-loop-clobber-infloop.sh' test wants `mkswap'.
+      "export PATH=\"${utillinux}/sbin:$PATH\"";
+
+  meta = {
+    description = "Create, destroy, resize, check, and copy partitions";
+
+    longDescription = ''
+      GNU Parted is an industrial-strength package for creating, destroying,
+      resizing, checking and copying partitions, and the file systems on
+      them.  This is useful for creating space for new operating systems,
+      reorganising disk usage, copying data on hard disks and disk imaging.
+
+      It contains a library, libparted, and a command-line frontend, parted,
+      which also serves as a sample implementation and script backend.
+    '';
+
+    homepage = http://www.gnu.org/software/parted/;
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    maintainers = [
+      # Add your name here!
+    ];
+
+    # GNU Parted requires libuuid, which is part of util-linux-ng.
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix b/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
new file mode 100644
index 00000000000..2ce126d7169
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/pyblock.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, python, lvm2, dmraid }:
+
+stdenv.mkDerivation rec {
+  name = "pyblock-${version}";
+  version = "0.53";
+
+  src = fetchurl rec {
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/"
+        + "${name}.tar.bz2/${md5}/${name}.tar.bz2";
+    md5 = "f6d33a8362dee358517d0a9e2ebdd044";
+  };
+
+  postPatch = ''
+    sed -i -e 's|/usr/include/python|${python}/include/python|' \
+           -e 's/-Werror *//' -e 's|/usr/|'"$out"'/|' Makefile
+  '';
+
+  buildInputs = [ python lvm2 dmraid ];
+
+  makeFlags = [
+    "USESELINUX=0"
+    "SITELIB=$(out)/lib/${python.libPrefix}/site-packages"
+  ];
+
+  meta = {
+    description = "Interface for working with block devices";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
new file mode 100644
index 00000000000..7bc3f54c236
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
@@ -0,0 +1,30 @@
+{ stdenv, python, buildPythonPackage, fetchurl, urlgrabber }:
+
+buildPythonPackage rec {
+  name = "pykickstart-${version}";
+  version = "1.99.39";
+
+  src = fetchurl rec {
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/pykickstart/"
+        + "${name}.tar.gz/${md5}/${name}.tar.gz";
+    md5 = "d249f60aa89b1b4facd63f776925116d";
+  };
+
+  postPatch = ''
+    sed -i -e "s/for tst in tstList/for tst in sorted(tstList, \
+               key=lambda m: m.__name__)/" tests/baseclass.py
+  '';
+
+  propagatedBuildInputs = [ urlgrabber ];
+
+  checkPhase = ''
+    export PYTHONPATH="$PYTHONPATH:."
+    ${python}/bin/${python.executable} tests/baseclass.py -vv
+  '';
+
+  meta = {
+    homepage = "http://fedoraproject.org/wiki/Pykickstart";
+    description = "Read and write Fedora kickstart files";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix b/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix
new file mode 100644
index 00000000000..67f318c863e
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig, python, buildPythonPackage, parted, e2fsprogs }:
+
+buildPythonPackage rec {
+  name = "pyparted-${version}";
+  version = "3.10";
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz";
+    sha256 = "17wq4invmv1nfazaksf59ymqyvgv3i8h4q03ry2az0s9lldyg3dv";
+  };
+
+  postPatch = ''
+    sed -i -e 's|/sbin/mke2fs|${e2fsprogs}&|' tests/baseclass.py
+    sed -i -e '
+      s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path|
+    ' tests/test__ped_ped.py
+  '' + stdenv.lib.optionalString stdenv.isi686 ''
+    # remove some integers in this test case which overflow on 32bit systems
+    sed -i -r -e '/class *UnitGetSizeTestCase/,/^$/{/[0-9]{11}/d}' \
+      tests/test__ped_ped.py
+  '';
+
+  preConfigure = ''
+    PATH="${parted}/sbin:$PATH"
+  '';
+
+  buildInputs = [ pkgconfig ];
+
+  propagatedBuildInputs = [ parted ];
+
+  checkPhase = ''
+    patchShebangs Makefile
+    make test PYTHON=${python.executable}
+  '';
+
+  meta = {
+    homepage = "https://fedorahosted.org/pyparted/";
+    description = "Python interface for libparted";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
index 633f04320c3..895ae99c309 100644
--- a/pkgs/tools/filesystems/nixpart/default.nix
+++ b/pkgs/tools/filesystems/nixpart/default.nix
@@ -1,29 +1,21 @@
-{ stdenv, fetchurl, buildPythonPackage, blivet
-# Propagated to blivet
-, useNixUdev ? null, udevSoMajor ? null
-}:
+{ stdenv, fetchurl, buildPythonPackage, blivet }:
 
-let
-  blivetOverrides = stdenv.lib.filterAttrs (k: v: v != null) {
-    inherit useNixUdev udevSoMajor;
-  };
-in buildPythonPackage rec {
+buildPythonPackage rec {
   name = "nixpart-${version}";
-  version = "0.4.1";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz";
     sha256 = "0avwd8p47xy9cydlbjxk8pj8q75zyl68gw2w6fnkk78dcb1a3swp";
   };
 
-  propagatedBuildInputs = [ (blivet.override blivetOverrides) ];
-
-  doCheck = false;
+  propagatedBuildInputs = [ blivet ];
 
   meta = {
     description = "NixOS storage manager/partitioner";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.aszlig ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/filesystems/rdfind/default.nix b/pkgs/tools/filesystems/rdfind/default.nix
new file mode 100644
index 00000000000..5106af48917
--- /dev/null
+++ b/pkgs/tools/filesystems/rdfind/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, nettle }:
+
+stdenv.mkDerivation rec {
+  name = "rdfind-${version}";
+  version = "1.3.4";
+
+  src = fetchurl {
+    url = "http://rdfind.pauldreik.se/${name}.tar.gz";
+    sha256 = "0zfc5whh6j5xfbxr6wvznk62qs1mkd3r7jcq72wjgnck43vv7w55";
+  };
+
+  buildInputs = [ nettle ];
+
+  meta = {
+    homepage = http://rdfind.pauldreik.se/;
+    description = "Removes or hardlinks duplicate files very swiftly";
+    license = with stdenv.lib.licenses; gpl2;
+    maintainers = with stdenv.lib.maintainers; [ wmertens ];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/tools/filesystems/s3fs/default.nix b/pkgs/tools/filesystems/s3fs/default.nix
new file mode 100644
index 00000000000..4c509444b74
--- /dev/null
+++ b/pkgs/tools/filesystems/s3fs/default.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, autoconf, automake, pkgconfig, curl, openssl, libxml2, fuse}:
+
+stdenv.mkDerivation {
+  name = "sshfs-fuse-1.78";
+  src = fetchurl {
+    url = https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.78.tar.gz;
+    sha256 = "1xcp0bqa4a2ynjn5phb1pj70wm322czhqp4qcb27d5jd545b1h1n";
+  };
+  preConfigure = "./autogen.sh";
+  buildInputs = [ autoconf automake pkgconfig curl openssl libxml2 fuse ];
+  
+  meta = {
+    description = "Mount an S3 bucket as filesystem through FUSE";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix
index 616f61e6c84..5b5ca199613 100644
--- a/pkgs/tools/filesystems/smbnetfs/default.nix
+++ b/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , fuse, samba, pkgconfig
+  , fuse, samba, pkgconfig, glib
   , ...}:
 builderDefsPackage
 (a :  
@@ -12,17 +12,16 @@ let
   sourceInfo = rec {
     baseName="smbnetfs";
     dirBaseName="SMBNetFS";
-    version="0.5.3a";
+    version = "0.6.0";
     name="${baseName}-${version}";
     project="${baseName}";
     url="mirror://sourceforge/project/${project}/${baseName}/${dirBaseName}-${version}/${name}.tar.bz2";
-    hash="0fzlw11y2vkxmjzz3qcypqlvz074v6a3pl4pyffbniqal64qgrsw";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "16sikr81ipn8v1a1zrqgnsy2as3zcaxbzkr0bm5vxy012bq0plkd";
   };
 
   inherit (sourceInfo) name version;
@@ -40,11 +39,9 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs";
-    };
+    downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs";
+    updateWalker = true;
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/tools/filesystems/smbnetfs/default.upstream b/pkgs/tools/filesystems/smbnetfs/default.upstream
new file mode 100644
index 00000000000..9e2ba2bd59b
--- /dev/null
+++ b/pkgs/tools/filesystems/smbnetfs/default.upstream
@@ -0,0 +1,6 @@
+url http://sourceforge.net/projects/smbnetfs/files/smbnetfs/
+version_link '[-][0-9.]+[a-z]*/$'
+version_link '[.]tar[.][a-z0-9]+/download$'
+SF_redirect
+version '.*[-]([0-9.]+[a-z]*)[.]tar[.].*' '\1'
+do_overwrite () { do_overwrite_just_version; }
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix
index bec5592ccae..5e1700af017 100644
--- a/pkgs/tools/filesystems/squashfs/default.nix
+++ b/pkgs/tools/filesystems/squashfs/default.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchurl, zlib, xz }:
+{ stdenv, fetchgit, zlib, xz }:
 
 stdenv.mkDerivation rec {
-  name = "squashfs-4.2";
+  name = "squashfs-4.4dev";
 
-  src = fetchurl {
-    url = mirror://sourceforge/squashfs/squashfs4.2.tar.gz;
-    sha256 = "15if08j0pl5hmnz9pwshwrp4fjp0jsm9larjxmjvdnr2m5d1kq6r";
+  src = fetchgit {
+    url = https://github.com/plougher/squashfs-tools.git;
+    sha256 = "059pa2shdysr3zfmwrhq28s12zbi5nyzbpzyaf5lmspgfh1493ks";
+    rev = "9c1db6d13a51a2e009f0027ef336ce03624eac0d";
   };
 
   buildInputs = [ zlib xz ];
 
   preBuild = "cd squashfs-tools";
 
-  NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
-
   installFlags = "INSTALL_DIR=\${out}/bin";
 
   makeFlags = "XZ_SUPPORT=1";
@@ -21,5 +20,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://squashfs.sourceforge.net/;
     description = "Tool for creating and unpacking squashfs filesystems";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/tmsu/default.nix b/pkgs/tools/filesystems/tmsu/default.nix
new file mode 100644
index 00000000000..4f9de84a223
--- /dev/null
+++ b/pkgs/tools/filesystems/tmsu/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchgit, fetchFromGitHub, go, fuse }:
+
+stdenv.mkDerivation rec {
+  name = "tmsu-${version}";
+  version = "0.5.2";
+
+  go-sqlite3 = fetchgit {
+    url = "git://github.com/mattn/go-sqlite3";
+    rev = "c9a0db5d8951646743317f0756da0339fe144dd5";
+    sha256 = "0j01nr3q89qs9n9zzp8gsr94hl9v0gnis6hmndl9ms554bhlv99p";
+  };
+
+  go-fuse = fetchgit {
+    url = "git://github.com/hanwen/go-fuse";
+    rev = "8c85ded140ac1889372a0e22d8d21e3d10a303bd";
+    sha256 = "1kssndvrbcxvf85x6c6lgn5kpcl7d788z3sxrv1szik4acb6n2sa";
+  };
+
+  src = fetchFromGitHub {
+    owner = "oniony";
+    repo = "tmsu";
+    rev = "v${version}";
+    sha256 = "090wzhcd4sr3358p1f640psy42r4kd3kkhgnf8196qsh2vcx8arc";
+  };
+
+  buildInputs = [ go fuse ];
+
+  preBuild = ''
+    mkdir -p src/github.com/mattn/go-sqlite3/
+    ln -s ${go-sqlite3}/* src/github.com/mattn/go-sqlite3
+
+    mkdir -p src/github.com/hanwen/go-fuse
+    ln -s ${go-fuse}/* src/github.com/hanwen/go-fuse
+
+    mkdir -p src/github.com/oniony/tmsu
+    ln -s ${src}/* src/github.com/oniony/tmsu
+
+    export GOPATH=$PWD
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/sbin
+    mkdir -p $out/share/man
+    mkdir -p $out/share/zsh/site-functions
+    make install INSTALL_DIR=$out/bin \
+                 MOUNT_INSTALL_DIR=$out/sbin \
+                 MAN_INSTALL_DIR=$out/share/man \
+                 ZSH_COMP_INSTALL_DIR=$out/share/zsh/site-functions
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = http://www.tmsu.org;
+    description = "A tool for tagging your files using a virtual filesystem";
+    maintainers = with maintainers; [ pSub ];
+    license     = licenses.gpl3;
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 7c9cd05009d..c01fc6ff4b3 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,41 +1,58 @@
-{ stdenv, fetchurl, libtool, gettext, libuuid }:
+{ stdenv, fetchurl, gettext, libuuid, readline }:
 
 stdenv.mkDerivation rec {
-  name = "xfsprogs-3.1.11";
+  name = "xfsprogs-3.2.2";
 
   src = fetchurl {
-    urls = [ "ftp://oss.sgi.com/projects/xfs/cmd_tars/${name}.tar.gz" "ftp://oss.sgi.com/projects/xfs/previous/${name}.tar.gz" ];
-    sha256 = "1gnnyhy3khl08a24c5y0pyakz6nnwkiw1fc6rb0r1j5mfw0rix5d";
+    urls = map (dir: "ftp://oss.sgi.com/projects/xfs/${dir}/${name}.tar.gz")
+      [ "cmd_tars" "previous" ];
+    sha256 = "1aszsqz7gkqdagads18ybslbfkyxq893rykmsz9lm7f33pi5qlhs";
   };
 
-  patchPhase = ''
-    sed -i s,/bin/bash,`type -P bash`, install-sh
-  '';
+  prePatch = ''
+    sed -i s,/bin/bash,`type -P bash`,g install-sh
+    sed -i s,ldconfig,`type -P ldconfig`,g configure m4/libtool.m4
 
-  outputs = ["out" "lib"];
-
-  postInstall = ''
-    (cd include; make install-dev)
-    # The make install-dev target is broken when --disable-shared
-    mkdir -p $lib/lib $lib/include
-    cp ./libhandle/.libs/libhandle.a \
-       ./libxcmd/.libs/libxcmd.a \
-       ./libxlog/.libs/libxlog.a \
-       ./libxfs/.libs/libxfs.a $lib/lib
-    mv $out/include/* $lib/include
+    # Fixes from gentoo 3.2.1 ebuild
+    sed -i "/^PKG_DOC_DIR/s:@pkg_name@:${name}:" include/builddefs.in
+    sed -i '1iLLDFLAGS = -static' {estimate,fsr}/Makefile
+    sed -i "/LLDFLAGS/s:-static::" $(find -name Makefile)
+    sed -i '/LIB_SUBDIRS/s:libdisk::' Makefile
   '';
 
-  enableParallelBuilding = true;
+  patches = [
+    # This patch fixes shared libs installation, still not fixed in 3.2.2
+    ./xfsprogs-3.2.2-sharedlibs.patch
+  ];
 
-  buildInputs = [ libtool gettext libuuid ];
+  buildInputs = [ gettext libuuid readline ];
+
+  outputs = [ "out" "lib" ];
 
-  configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ZIP=gzip AWK=gawk --disable-shared";
   preConfigure = ''
-    configureFlags="$configureFlags root_sbindir=$out/sbin root_libdir=$lib/lib"
+    NIX_LDFLAGS="$(echo $NIX_LDFLAGS | sed "s,$out,$lib,g")"
   '';
-  disableStatic = false;
 
-  meta = {
+  configureFlags = [
+    "MAKE=make"
+    "MSGFMT=msgfmt"
+    "MSGMERGE=msgmerge"
+    "XGETTEXT=xgettext"
+    "--disable-lib64"
+    "--enable-readline"
+    "--includedir=$(lib)/include"
+    "--libdir=$(lib)/lib"
+  ];
+
+  installFlags = [ "install-dev" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://xfs.org/;
     description = "SGI XFS utilities";
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/filesystems/xfsprogs/xfsprogs-3.2.2-sharedlibs.patch b/pkgs/tools/filesystems/xfsprogs/xfsprogs-3.2.2-sharedlibs.patch
new file mode 100644
index 00000000000..118874a5e99
--- /dev/null
+++ b/pkgs/tools/filesystems/xfsprogs/xfsprogs-3.2.2-sharedlibs.patch
@@ -0,0 +1,108 @@
+use libtool to do all installing.  do not use the manual file install as
+that'll copy files directly from the .libs/ subdir which might have rpaths
+that we do not want.
+
+--- xfsprogs-3.2.2/include/buildmacros
++++ xfsprogs-3.2.2/include/buildmacros
+@@ -70,18 +70,9 @@
+ # /usr/lib.
+ ifeq ($(ENABLE_SHARED),yes)
+ INSTALL_LTLIB_DEV = \
+-	cd $(TOPDIR)/$(LIBNAME)/.libs; \
+-	../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
+-	../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_LIB_DIR); \
+-	../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_LIB_DIR)/$(LIBNAME).la ; \
+-	../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \
+-	../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_ROOT_LIB_DIR); \
+-	if [ "x$(shell readlink -f $(PKG_LIB_DIR))" != \
+-	     "x$(shell readlink -f $(PKG_ROOT_LIB_DIR))"; ]; then \
+-		../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).a $(PKG_ROOT_LIB_DIR)/$(LIBNAME).a; \
+-		../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la $(PKG_ROOT_LIB_DIR)/$(LIBNAME).la; \
+-		../$(INSTALL) -S $(PKG_ROOT_LIB_DIR)/$(LIBNAME).so $(PKG_LIB_DIR)/$(LIBNAME).so; \
+-	fi
++	set -e; cd $(TOPDIR)/$(LIBNAME); \
++	$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
++	env -uDIST_ROOT $(LTINSTALL) $(TOPDIR)/$(LIBNAME)/$(LIBNAME).la $(DIST_ROOT)$(PKG_LIB_DIR)/$(LIBNAME).la
+ else
+ INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
+ endif
+--- xfsprogs-3.2.2/libdisk/Makefile
++++ xfsprogs-3.2.2/libdisk/Makefile
+@@ -31,6 +31,7 @@
+ install: default
+ 
+ install-dev: default
++	$(INSTALL_LTLIB_DEV)
+ 
+ install-qa: install-dev
+ 
+--- xfsprogs-3.2.2/libhandle/Makefile
++++ xfsprogs-3.2.2/libhandle/Makefile
+@@ -20,7 +20,6 @@
+ include $(BUILDRULES)
+ 
+ install: default
+-	$(INSTALL_LTLIB)
+ 
+ install-dev: default
+ 	$(INSTALL_LTLIB_DEV)
+--- xfsprogs-3.2.2/libxcmd/Makefile
++++ xfsprogs-3.2.2/libxcmd/Makefile
+@@ -34,6 +34,11 @@
+ 
+ include $(BUILDRULES)
+ 
+-install install-dev install-qa: default
++install: default
++
++ install-dev: default
++	$(INSTALL_LTLIB_DEV)
++
++install-qa: default
+ 
+ -include .ltdep
+--- xfsprogs-3.2.2/libxfs/Makefile
++++ xfsprogs-3.2.2/libxfs/Makefile
+@@ -86,6 +86,7 @@
+ install: default
+ 
+ install-dev: default
++	$(INSTALL_LTLIB_DEV)
+ 
+ install-qa: default
+ 
+--- xfsprogs-3.2.2/libxlog/Makefile
++++ xfsprogs-3.2.2/libxlog/Makefile
+@@ -12,6 +12,8 @@
+ 
+ CFILES = xfs_log_recover.c util.c
+ 
++LTLIBS = $(LIBUUID) $(LIBXFS)
++
+ # don't want to link xfs_repair with a debug libxlog.
+ DEBUG = -DNDEBUG
+ 
+@@ -19,6 +21,11 @@
+ 
+ include $(BUILDRULES)
+ 
+-install install-dev install-qa: default
++install: default
++
++install-dev: default
++	$(INSTALL_LTLIB_DEV)
++
++install-qa: default
+ 
+ -include .ltdep
+--- xfsprogs-3.2.2/Makefile
++++ xfsprogs-3.2.2/Makefile
+@@ -63,6 +63,8 @@
+ mkfs: libxfs
+ quota: libxcmd
+ repair: libxfs libxlog
++libxlog: libxfs
++libxlog-install-dev: libxfs-install-dev
+ 
+ ifneq ($(ENABLE_BLKID), yes)
+ mkfs: libdisk
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
index c9078a0cb8b..eb308f9de4f 100644
--- a/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -1,22 +1,23 @@
-{ stdenv, fetchurl, writeText, zlib, rpm, cpio, patchelf, which }:
+{ stdenv, fetchurl, writeText, zlib, rpmextract, patchelf, which }:
 
 assert stdenv.isLinux;
 
 let
   p = if stdenv.is64bit then {
       arch = "x86_64";
-      gcclib = "${stdenv.gcc.gcc}/lib64";
-      sha256 = "1fmmlvvh97d60n9k08bn4k6ghwr3yhs8sib82025nwpw1sq08vim";
+      gcclib = "${stdenv.cc.cc}/lib64";
+      sha256 = "061kl186vllqhl1443d9cwvp4qdhqc42yf3x72a1w0bjvn0i3z1i";
     }
     else {
       arch = "i386";
-      gcclib = "${stdenv.gcc.gcc}/lib";
-      sha256 = "3940420bd9d1fe1ecec1a117bfd9d21d545bca59f5e0a4364304ab808c976f7f";
+      gcclib = "${stdenv.cc.cc}/lib";
+      sha256 = "1l9mxlin41w83dn70cvdk1n1vn1dll3d8r120jkqn5jfhicrgvv3";
     };
 in 
 stdenv.mkDerivation rec {
 
-  name = "yandex-disk-0.1.2.481";
+  name = "yandex-disk-${version}";
+  version = "0.1.5.870";
 
   src = fetchurl {
     url = "http://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm";
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
 
     mkdir -pv unpacked
     cd unpacked
-    ${rpm}/bin/rpm2cpio $src | ${cpio}/bin/cpio -imd
+    ${rpmextract}/bin/rpmextract $src
 
     cp -r -t $out/bin usr/bin/*
     cp -r -t $out/share usr/share/*
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
       $out/etc/bash_completion.d/yandex-disk-completion.bash
 
     ${patchelf}/bin/patchelf \
-      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath "${zlib}/lib:${p.gcclib}" \
       $out/bin/yandex-disk
   '';
diff --git a/pkgs/tools/filesystems/zerofree/default.nix b/pkgs/tools/filesystems/zerofree/default.nix
new file mode 100644
index 00000000000..fa034968911
--- /dev/null
+++ b/pkgs/tools/filesystems/zerofree/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, e2fsprogs }:
+
+stdenv.mkDerivation rec {
+  name = "zerofree-1.0.3";
+
+  src = fetchurl {
+    url = "http://intgat.tigress.co.uk/rmy/uml/zerofree-1.0.3.tgz";
+    sha256 = "3acfda860be0f0ddcb5c982ff3b4475b1ee8cc35a90ae2a910e93261dbe0ccf6";
+  };
+
+  buildInputs = [ e2fsprogs ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp zerofree $out/bin
+'';
+
+  meta = {
+    homepage = http://intgat.tigress.co.uk/rmy/uml/index.html;
+    description = "zero free blocks from ext2, ext3 and ext4 file-systems";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.theuni ];
+  };
+}
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 5109bb45e30..90a7ce9efad 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -1,12 +1,8 @@
-a @ {
-  freeglut,ghostscriptX,imagemagick,fftw,
-  boehmgc,mesa,ncurses,readline,gsl,libsigsegv,
-  python,zlib, perl, texLive, texinfo, xz,
-
-  noDepEntry, fullDepEntry, fetchUrlFromSrcInfo,
-  lib,
-
-  ...}:
+{stdenv, fetchurl
+  , freeglut, ghostscriptX, imagemagick, fftw 
+  , boehmgc, mesa, ncurses, readline, gsl, libsigsegv
+  , python, zlib, perl, texLive, texinfo, xz
+}:
 let
   s = # Generated upstream information
   rec {
@@ -17,55 +13,37 @@ let
     url="mirror://sourceforge/project/asymptote/2.32/asymptote-2.32.src.tgz";
     sha256="19cgn5158p42igjbp8lf6xdbh3yjhlkdm22m5lqrhibp09g06d90";
   };
-  buildInputs = with a; [
-    freeglut ghostscriptX imagemagick fftw boehmgc
-    mesa ncurses readline gsl libsigsegv python zlib
-    perl texLive texinfo xz
+  buildInputs = [
+   freeglut ghostscriptX imagemagick fftw 
+   boehmgc mesa ncurses readline gsl libsigsegv
+   python zlib perl texLive texinfo xz
   ];
 in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
-
-  inherit (s) name;
+stdenv.mkDerivation {
+  inherit (s) name version;
   inherit buildInputs;
-  configureFlags = "--enable-gc=${a.boehmgc} --enable-offscreen";
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doUnpack" "fixPaths" "extractTexinfoTex"
-    "doConfigure" "dumpRealVars" "doMakeInstall" "fixPathsResult"
-    "fixInfoDir"];
-
-  setVars = a.noDepEntry ''
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  preConfigure = ''
     export HOME="$PWD"
+    patchShebangs . 
+    sed -e 's@epswrite@eps2write@g' -i runlabel.in
+    xz -d < ${texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
+    cp texinfo-*/doc/texinfo.tex doc/
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${boehmgc}/include/gc"
   '';
-
-  dumpRealVars = a.noDepEntry ''
-    set > ../real-env-vars
-  '';
-
-  fixPaths = a.doPatchShebangs ''.'';
-  fixPathsResult = a.doPatchShebangs ''$out/bin'';
-
-  fixInfoDir = a.noDepEntry ''
+  postInstall = ''
     mv -v "$out/share/info/asymptote/"*.info $out/share/info/
     sed -i -e 's|(asymptote/asymptote)|(asymptote)|' $out/share/info/asymptote.info
     rmdir $out/share/info/asymptote
     rm $out/share/info/dir
   '';
-
-  extractTexinfoTex = a.fullDepEntry ''
-    xz -d < ${a.texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
-    cp texinfo-*/doc/texinfo.tex doc/
-  '' ["minInit" "addInputs" "doUnpack"];
-
   meta = {
     inherit (s) version;
-    description = "A tool for programming graphics intended to replace Metapost";
-    maintainers = [
-      a.lib.maintainers.raskin
-      a.lib.maintainers.simons
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    description =  "A tool for programming graphics intended to replace Metapost";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix
index 60dc5a285da..23a2e6dd78f 100644
--- a/pkgs/tools/graphics/barcode/default.nix
+++ b/pkgs/tools/graphics/barcode/default.nix
@@ -9,17 +9,16 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="0.99";
+    version = "0.99";
     baseName="barcode";
     name="${baseName}-${version}";
-    url="mirror://gnu/${baseName}/${name}.tar.gz";
-    hash="0r2b2lwg7a9i9ic5spkbnavy1ynrppmrldv46vsl44l1xgriq0vw";
+    url="mirror://gnu/${baseName}/${name}.tar.xz";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "1indapql5fjz0bysyc88cmc54y8phqrbi7c76p71fgjp45jcyzp8";
   };
 
   inherit (sourceInfo) name version;
@@ -35,11 +34,9 @@ rec {
       raskin
     ];
     platforms = with a.lib.platforms; allBut darwin;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "ftp://ftp.gnu.org/gnu/barcode/";
-    };
+    downloadPage = "http://ftp.gnu.org/gnu/barcode/";
+    updateWalker = true;
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index 0e94571503c..c5d9475850e 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -31,7 +31,7 @@ rec {
   needLib64 = a.stdenv.system == "x86_64-linux";
 
   postInstall = a.fullDepEntry(''
-    patchelf --set-rpath $out/lib${if needLib64 then "64" else ""}${if a.stdenv.gcc.gcc != null then ":${a.stdenv.gcc.gcc}/lib" else ""}${if a.stdenv.gcc.gcc != null && needLib64 then ":${a.stdenv.gcc.gcc}/lib64" else ""}:${a.imagemagick}/lib $out/bin/cuneiform
+    patchelf --set-rpath $out/lib${if needLib64 then "64" else ""}${if a.stdenv.cc.cc != null then ":${a.stdenv.cc.cc}/lib" else ""}${if a.stdenv.cc.cc != null && needLib64 then ":${a.stdenv.cc.cc}/lib64" else ""}:${a.imagemagick}/lib $out/bin/cuneiform
   '') ["minInit" "addInputs" "doMakeInstall"];
 
   name = "cuneiform-" + version;
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 72b50bd4e77..5dcac6a0215 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.cybercom.net/~dcoffin/dcraw/;
     description = "Decoder for many camera raw picture formats";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     platforms = with stdenv.lib.platforms; allBut cygwin;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
diff --git a/pkgs/tools/graphics/dmtx-utils/default.nix b/pkgs/tools/graphics/dmtx-utils/default.nix
new file mode 100644
index 00000000000..0fe473f5d63
--- /dev/null
+++ b/pkgs/tools/graphics/dmtx-utils/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, libdmtx, pkgconfig}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="dmtx-utils";
+    version="0.7.4";
+    name="${baseName}-${version}";
+    hash="1di8ymlziy9856abd6rb72z0zqzmrff4r3vql0q9r5sk5ax4s417";
+    url="mirror://sourceforge/project/libdmtx/libdmtx/0.7.4/dmtx-utils-0.7.4.tar.gz";
+    sha256="1di8ymlziy9856abd6rb72z0zqzmrff4r3vql0q9r5sk5ax4s417";
+  };
+  buildInputs = [
+    libdmtx pkgconfig
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = "Data matrix command-line utilities";
+    license = stdenv.lib.licenses.lgpl2 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/dmtx-utils/default.upstream b/pkgs/tools/graphics/dmtx-utils/default.upstream
new file mode 100644
index 00000000000..8768681642e
--- /dev/null
+++ b/pkgs/tools/graphics/dmtx-utils/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/libdmtx/files/libdmtx/
+SF_version_dir
+version_link 'dmtx-utils-.*[.]tar[.][a-z0-9]+/download$'
+SF_redirect
diff --git a/pkgs/tools/graphics/dmtx/default.nix b/pkgs/tools/graphics/dmtx/default.nix
deleted file mode 100644
index 74b1a2bf4ed..00000000000
--- a/pkgs/tools/graphics/dmtx/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-args :  
-let 
-  lib = args.lib;
-  fetchurl = args.fetchurl;
-
-  version = lib.attrByPath ["version"] "0.7.2" args; 
-  buildInputs = with args; [
-    libpng libtiff libjpeg librsvg imagemagick pkgconfig
-    zlib libX11 bzip2 libtool freetype fontconfig 
-    ghostscript jasper xz
-  ];
-in
-rec {
-  src = fetchurl {
-    url = "mirror://sourceforge/libdmtx/libdmtx-${version}.tar.bz2";
-    sha256 = "0iin2j3ad7ldj32dwc04g28k54iv3lrc5121rgyphm7l9hvigbvk";
-  };
-
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  name = "dmtx-" + version;
-  meta = {
-    description = "DataMatrix (2D bar code) processing tools";
-    maintainers = [args.lib.maintainers.raskin];
-    platforms = args.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/graphics/exiftags/default.nix b/pkgs/tools/graphics/exiftags/default.nix
index 531e17b92cb..ea729d71be2 100644
--- a/pkgs/tools/graphics/exiftags/default.nix
+++ b/pkgs/tools/graphics/exiftags/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://johnst.org/sw/exiftags/;
     description = "Displays EXIF data from JPEG files";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
 }
diff --git a/pkgs/tools/graphics/ggobi/default.nix b/pkgs/tools/graphics/ggobi/default.nix
new file mode 100644
index 00000000000..cf2c5598d2a
--- /dev/null
+++ b/pkgs/tools/graphics/ggobi/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, gtk2 }:
+
+stdenv.mkDerivation rec {
+  version = "2.1.11";
+  name = "ggobi-${version}";
+
+  src = fetchurl {
+    url = "http://www.ggobi.org/downloads/ggobi-${version}.tar.bz2";
+    sha256 = "2c4ddc3ab71877ba184523e47b0637526e6f3701bd9afb6472e6dfc25646aed7";
+  };
+
+  buildInputs = [ pkgconfig libxml2 gtk2 ];
+
+  configureFlags = "--with-all-plugins";
+
+  meta = with stdenv.lib; {
+    description = "Visualization program for exploring high-dimensional data";
+    homepage = http://www.ggobi.org/;
+    license = licenses.cpl10;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.michelk ];
+  };
+}
diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
index dc1a8b3abae..0984d917e52 100644
--- a/pkgs/tools/graphics/gifsicle/default.nix
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -3,20 +3,21 @@
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "gifsicle-1.78";
+  name = "gifsicle-1.87";
 
   src = fetchurl {
-    url = http://www.lcdf.org/gifsicle/gifsicle-1.78.tar.gz;
-    sha256 = "0dzp5sg82klji4lbj1m4cyg9fb3l837gkipdx657clib97klyv53";
+    url = http://www.lcdf.org/gifsicle/gifsicle-1.87.tar.gz;
+    sha256 = "078rih7gq86ixjqbnn5z1jsh11qlfisw6k8dxaccsh5amhybw2j7";
   };
 
   buildInputs = optional gifview [ xproto libXt libX11 ];
 
   LDFLAGS = optional static "-static";
 
-  meta = { 
+  meta = {
     description = "Command-line tool for creating, editing, and getting information about GIF images and animations";
     homepage = http://www.lcdf.org/gifsicle/;
     license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index f92c82e3d74..fcd8a37382e 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -14,18 +14,18 @@
 , fontconfig ? null
 , gnused ? null
 , coreutils ? null
-, withQt ? false, qt4 }:
+, withQt ? false, qt }:
 
 assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
 let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
 stdenv.mkDerivation rec {
-  name = "gnuplot-4.6.5";
+  name = "gnuplot-5.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
-    sha256 = "0bcsa5b33msddjs6mj0rhi81cs19h9p3ykixkkl70ifhqwqg0l75";
+    sha256 = "1bqg6zbsin9w9m53rbf6adzv0j2gs66z2p5pkd060jlipk2lnza1";
   };
 
   buildInputs =
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional withTeXLive texLive
     ++ lib.optional withLua lua
     ++ lib.optionals withX [ libX11 libXpm libXt libXaw ]
-    ++ lib.optional withQt [ qt4 ]
+    ++ lib.optional withQt [ qt.base ]
     # compiling with wxGTK causes a malloc (double free) error on darwin
     ++ lib.optional (withWxGTK && !stdenv.isDarwin) wxGTK;
 
diff --git a/pkgs/tools/graphics/graphviz/0001-vimdot-lookup-vim-in-PATH.patch b/pkgs/tools/graphics/graphviz/0001-vimdot-lookup-vim-in-PATH.patch
new file mode 100644
index 00000000000..d5f71a4de9e
--- /dev/null
+++ b/pkgs/tools/graphics/graphviz/0001-vimdot-lookup-vim-in-PATH.patch
@@ -0,0 +1,30 @@
+From 2008bf62e13ebe41cdad3e16f8b42f46ae393876 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
+Date: Tue, 6 Jan 2015 20:39:41 +0100
+Subject: [PATCH] vimdot: lookup 'vim' in $PATH
+
+Instead of hardcoding /usr/bin/vim. Needed for NixOS (http://nixos.org), and is
+probably useful for others too.
+---
+ plugin/xlib/vimdot.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugin/xlib/vimdot.sh b/plugin/xlib/vimdot.sh
+index 749fe6a..4e6dd4b 100755
+--- a/plugin/xlib/vimdot.sh
++++ b/plugin/xlib/vimdot.sh
+@@ -3,9 +3,9 @@
+ 
+ error() { echo "$0: $*" >&2; exit 1; }
+ 
+-editor="/usr/bin/vim"
++editor="vim"
+ 
+-if ! test -x "$editor"; then error "the \"$editor\" editor not found or not executable"; fi
++if ! test -x "$(command -v "$editor")"; then error "the \"$editor\" editor not found or not executable"; fi
+ 
+ default="noname.gv"
+ 
+-- 
+2.1.3
+
diff --git a/pkgs/tools/graphics/graphviz/2.0.nix b/pkgs/tools/graphics/graphviz/2.0.nix
index 07fbbc967d9..fcc06871ef1 100644
--- a/pkgs/tools/graphics/graphviz/2.0.nix
+++ b/pkgs/tools/graphics/graphviz/2.0.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A program for visualising graphs";
     homepage = http://www.graphviz.org/;
+    branch = "2.0";
   };
 }
diff --git a/pkgs/tools/graphics/graphviz/2.32.nix b/pkgs/tools/graphics/graphviz/2.32.nix
new file mode 100644
index 00000000000..80179539701
--- /dev/null
+++ b/pkgs/tools/graphics/graphviz/2.32.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw
+, yacc, libtool, fontconfig, pango, gd, xlibs, gts, gettext, cairo
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.32.0";
+  name = "graphviz-${version}";
+
+  src = fetchurl {
+    url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
+    sha256 = "0ym7lw3xnkcgbk32vfmm3329xymca60gzn90rq6dv8887qqv4lyq";
+  };
+
+  buildInputs =
+    [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig
+      pango gd gts
+    ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ]
+    ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
+
+  CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo}/include/cairo";
+
+  configureFlags =
+    [ "--with-pngincludedir=${libpng}/include"
+      "--with-pnglibdir=${libpng}/lib"
+      "--with-jpegincludedir=${libjpeg}/include"
+      "--with-jpeglibdir=${libjpeg}/lib"
+      "--with-expatincludedir=${expat}/include"
+      "--with-expatlibdir=${expat}/lib"
+      "--with-cgraph=no"
+      "--with-sparse=no"
+    ]
+    ++ stdenv.lib.optional (xlibs == null) "--without-x";
+
+  preBuild = ''
+    sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile
+  '';
+
+  # "command -v" is POSIX, "which" is not
+  postInstall = ''
+    sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty
+    sed -i 's|which|command -v|' $out/bin/vimdot
+  '';
+
+  meta = {
+    homepage = "http://www.graphviz.org/";
+    description = "Open source graph visualization software";
+
+    longDescription = ''
+      Graphviz is open source graph visualization software. Graph
+      visualization is a way of representing structural information as
+      diagrams of abstract graphs and networks. It has important
+      applications in networking, bioinformatics, software engineering,
+      database and web design, machine learning, and in visual
+      interfaces for other technical domains.
+    '';
+
+    hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ];
+    inherit version;
+    branch = "2.32";
+  };
+}
diff --git a/pkgs/tools/graphics/graphviz/cve-2014-9157.patch b/pkgs/tools/graphics/graphviz/cve-2014-9157.patch
new file mode 100644
index 00000000000..66ce496ca74
--- /dev/null
+++ b/pkgs/tools/graphics/graphviz/cve-2014-9157.patch
@@ -0,0 +1,24 @@
+From https://lists.debian.org/debian-qa-packages/2014/12/msg00048.html , which
+seems to come from Ubuntu.
+
+Subject: Fix format string vulnerability (CVE-2014-9157) in yyerror() routine
+Origin: https://github.com/ellson/graphviz/commit/99eda421f7ddc27b14e4ac1d2126e5fe41719081
+Author: Emden R. Gansner
+
+---
+ lib/cgraph/scan.l |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: b/lib/cgraph/scan.l
+===================================================================
+--- a/lib/cgraph/scan.l
++++ b/lib/cgraph/scan.l
+@@ -225,7 +225,7 @@
+ 	agxbput (&xb, buf);
+ 	agxbput (&xb, yytext);
+ 	agxbput (&xb,"'\n");
+-	agerr(AGERR,agxbuse(&xb));
++	agerr(AGERR, "%s", agxbuse(&xb));
+ 	agxbfree(&xb);
+ }
+ /* must be here to see flex's macro defns */
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 27883ca6037..2fcea02519a 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -1,22 +1,32 @@
 { stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw
-, yacc, libtool, fontconfig, pango, gd, xlibs, gts, gettext, cairo
+, yacc, libtool, fontconfig, pango, gd, xlibs, gts, libdevil, gettext, cairo
+, flex
 }:
 
 stdenv.mkDerivation rec {
-  name = "graphviz-2.36.0";
+  version = "2.38.0";
+  name = "graphviz-${version}";
 
   src = fetchurl {
     url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
-    sha256 = "0qb30z5sxlbjni732ndad3j4x7l36vsxpxn4fmf5fn7ivvc6dz9p";
+    sha256 = "17l5czpvv5ilmg17frg0w4qwf89jzh2aglm9fgx0l0aakn6j7al1";
   };
 
+  patches =
+    [ ./0001-vimdot-lookup-vim-in-PATH.patch
+    
+      # NOTE: Once this patch is removed, flex can probably be removed from
+      # buildInputs.
+      ./cve-2014-9157.patch
+    ];
+
   buildInputs =
-    [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig
-      pango gd gts
-    ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ]
+    [ pkgconfig libpng libjpeg expat yacc libtool fontconfig gd gts libdevil flex
+    ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender pango libXaw ]
     ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
 
-  CPPFLAGS = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "-I${cairo}/include/cairo";
+  CPPFLAGS = stdenv.lib.optionalString (xlibs != null && stdenv.system == "x86_64-darwin")
+    "-I${cairo}/include/cairo";
 
   configureFlags =
     [ "--with-pngincludedir=${libpng}/include"
@@ -33,7 +43,7 @@ stdenv.mkDerivation rec {
   '';
 
   # "command -v" is POSIX, "which" is not
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString (xlibs != null) ''
     sed -i 's|`which lefty`|"'$out'/bin/lefty"|' $out/bin/dotty
     sed -i 's|which|command -v|' $out/bin/vimdot
   '';
@@ -52,6 +62,9 @@ stdenv.mkDerivation rec {
     '';
 
     hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = with stdenv.lib.maintainers; [ simons bjornfor ];
+    maintainers = with stdenv.lib.maintainers; [ simons bjornfor raskin ];
+    downloadPage = "http://www.graphviz.org/pub/graphviz/ARCHIVE/";
+    inherit version;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/graphics/jhead/default.nix b/pkgs/tools/graphics/jhead/default.nix
index c497d60aef9..ee44ff975bb 100644
--- a/pkgs/tools/graphics/jhead/default.nix
+++ b/pkgs/tools/graphics/jhead/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.sentex.net/~mwandel/jhead/;
     description = "Exif Jpeg header manipulation tool";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
 }
diff --git a/pkgs/tools/graphics/kst/default.nix b/pkgs/tools/graphics/kst/default.nix
new file mode 100644
index 00000000000..01fb5d82994
--- /dev/null
+++ b/pkgs/tools/graphics/kst/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, cmake, pkgconfig
+, qt5, gsl, getdata, netcdf, muparser, matio
+}:
+stdenv.mkDerivation rec {
+  name = "Kst-2.0.8";
+  src = fetchurl {
+    url = "mirror://sourceforge/kst/${name}.tar.gz";
+    sha256 = "1ihqmwqw0h2p7hn5shd8iwb0gd4axybs60lgw22ijxqh6wzgvyyf";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ qt5.base gsl getdata netcdf muparser matio ];
+
+  cmakeFlags = "-Dkst_qt5=1 -Dkst_release=1";
+
+  postInstall = ''
+    mkdir -p $out
+    for d in bin lib share
+    do
+      cp -r INSTALLED/$d $out/
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Real-time large-dataset viewing and plotting tool";
+    homepage = https://kst-plot.kde.org/;
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index bdde9daea9f..ef825bcca45 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa }:
+{ stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew
+, mesa, boost, glm }:
 
-let
-  name = "logstalgia-1.0.3";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "logstalgia-${version}";
+  version = "1.0.6";
 
   src = fetchurl {
-    url = "http://logstalgia.googlecode.com/files/logstalgia-1.0.3.tar.gz";
-    sha256 = "1sv1cizyw3y7g558hnvvcal8z889gbr82v4qj35hxdmrzygqlcyk";
+    url = "https://github.com/acaudwell/Logstalgia/releases/download/${name}/${name}.tar.gz";
+    sha256 = "0d2zhn0q26rv2nb3hdbg0mb69l66g8pkys5is6rb0r6f5is986x8";
   };
 
-  buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
+  buildInputs = [ glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa boost
+                  glm ];
 
-  meta = {
-    homepage = "http://code.google.com/p/logstalgia/";
-    description = "website traffic visualization tool";
-    license = stdenv.lib.licenses.gpl3Plus;
+  NIX_CFLAGS_COMPILE = "-std=c++11"; # fix build with glm >= 0.9.6.0
+
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/logstalgia;
+    description = "Website traffic visualization tool";
+    license = licenses.gpl3Plus;
 
     longDescription = ''
       Logstalgia is a website traffic visualization that replays or
@@ -37,7 +39,7 @@ stdenv.mkDerivation {
       a Miscellaneous section.
     '';
 
-    platforms = stdenv.lib.platforms.gnu;
-    maintainers = [];
+    platforms = platforms.gnu;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index 2e3274ca0ff..e69a73ff321 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchsvn, pkgconfig, libjpeg, libpng, flex, zlib, perl, libxml2, makeWrapper, libX11, libtiff }:
+{ lib, stdenv, fetchurl, pkgconfig, libjpeg, libpng, flex, zlib, perl, libxml2
+, makeWrapper, libtiff
+, enableX11 ? false, libX11 }:
 
-let rev = 1742; in
-stdenv.mkDerivation {
-  name = "netpbm-advanced-${toString rev}";
+stdenv.mkDerivation rec {
+  name = "netpbm-10.66.00";
 
-  src = fetchsvn {
-    url = https://netpbm.svn.sourceforge.net/svnroot/netpbm/advanced;
-    inherit rev;
-    sha256 = "0csx6g0ci66nx1a6z0a9dkpfp66mdvcpp5r7g6zrx4jp18r9hzb2";
+  src = fetchurl {
+    url = "mirror://gentoo/distfiles/${name}.tar.xz";
+    sha256 = "1z33pxdir92m7jlvp5c2q44gxwj7jyf8skiqkr71kgirw4w4zsbz";
   };
 
   postPatch = /* CVE-2005-2471, from Arch */ ''
@@ -17,10 +17,13 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_COMPILE = "-fPIC"; # Gentoo adds this on every platform
 
-  buildInputs = [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libX11 libtiff ];
+  buildInputs =
+    [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libtiff ]
+    ++ lib.optional enableX11 libX11;
 
   configurePhase = ''
     cp config.mk.in config.mk
+    echo "STATICLIB_TOO = n" >> config.mk
     substituteInPlace "config.mk" \
         --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff}/lib/libtiff.so" \
         --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff}/include"
@@ -38,21 +41,12 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   installPhase = ''
-    make package pkgdir=$PWD/netpbmpkg
-    # Pass answers to the script questions
-    ./installnetpbm << EOF
-    $PWD/netpbmpkg
-    $out
-    Y
-    $out/bin
-    $out/lib
-    N
-    $out/lib
-    $out/lib
-    $out/include
-    $out/man
-    N
-    EOF
+    make package pkgdir=$out
+
+    rm -rf $out/link $out/*_template $out/{pkginfo,README,VERSION} $out/man/web
+
+    mkdir -p $out/share/netpbm
+    mv $out/misc $out/share/netpbm/
 
     # wrap any scripts that expect other programs in the package to be in their PATH
     for prog in ppmquant; do
diff --git a/pkgs/tools/graphics/nip2/default.nix b/pkgs/tools/graphics/nip2/default.nix
new file mode 100644
index 00000000000..81222cde2ed
--- /dev/null
+++ b/pkgs/tools/graphics/nip2/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, glib, libxml2, flex, bison, vips, gnome,
+fftw, gsl, goffice_0_8, libgsf }:
+
+stdenv.mkDerivation rec {
+  name = "nip2-7.42.1";
+
+  src = fetchurl {
+    url = "http://www.vips.ecs.soton.ac.uk/supported/current/${name}.tar.gz";
+    sha256 = "14lfyn0azswrz8r81ign9lbpxzk7ibmnnp03a3l8wgxvm2j9a7jl";
+  };
+
+  buildInputs =
+  [ pkgconfig glib libxml2 flex bison vips
+    gnome.gtk fftw gsl goffice_0_8 libgsf
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.vips.ecs.soton.ac.uk;
+    description = "Graphical user interface for VIPS image processing system";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ kovirobi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/optipng/default.nix b/pkgs/tools/graphics/optipng/default.nix
index 1984ab7b1de..bc1f86e3661 100644
--- a/pkgs/tools/graphics/optipng/default.nix
+++ b/pkgs/tools/graphics/optipng/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "optipng-0.7.4";
+  name = "optipng-0.7.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/optipng/${name}.tar.gz";
-    sha256 = "1zrphbz17rhhfl1l95q5s979rrhifbwczl2xj1fdrnq5jid5s2sj";
+    sha256 = "17b197437z5wn29llpwklk7ihgx8bhc913gvjf4zyb81idwlprbl";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/tools/graphics/pdf2svg/default.nix b/pkgs/tools/graphics/pdf2svg/default.nix
new file mode 100644
index 00000000000..826f1a56055
--- /dev/null
+++ b/pkgs/tools/graphics/pdf2svg/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, cairo, gtk, poppler }:
+
+stdenv.mkDerivation {
+  name = "pdf2svg-0.2.2";
+
+  src = fetchurl {
+    url = "http://www.cityinthesky.co.uk/wp-content/uploads/2013/10/pdf2svg-0.2.2.tar.gz" ; 
+    sha256 = "1jy6iqwwvd7drcybmdlmnc8m970f82fd7fisa8ha5zh13p49r8n2";
+  };
+
+  buildInputs = [ cairo pkgconfig poppler gtk ];
+
+  meta = { 
+    description = "PDF converter to SVG format";
+    homepage = http://www.cityinthesky.co.uk/opensource/pdf2svg;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.ianwookim ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/pgf/default.nix b/pkgs/tools/graphics/pgf/default.nix
new file mode 100644
index 00000000000..c4fc91edad4
--- /dev/null
+++ b/pkgs/tools/graphics/pgf/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, dos2unix, libpgf, freeimage, doxygen }:
+
+with stdenv.lib;
+
+let
+  version = "6.14.12";
+in
+stdenv.mkDerivation {
+  name = "pgf-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libpgf/pgf-console-src-${version}.tar.gz";
+    sha256 = "1vfm12cfq3an3xg0679bcwdmjq2x1bbij1iwsmm60hwmrm3zvab0";
+  };
+
+  buildInputs = [ autoconf automake libtool dos2unix libpgf freeimage doxygen ];
+
+  patchPhase = ''
+      sed 1i'#include <inttypes.h>' -i src/PGF.cpp
+      sed s/__int64/int64_t/g -i src/PGF.cpp
+  '';
+
+  preConfigure = "dos2unix configure.ac; sh autogen.sh";
+
+# configureFlags = optional static "--enable-static --disable-shared";
+
+  meta = {
+    homepage = http://www.libpgf.org/;
+    description = "Progressive Graphics Format command line program";
+    license = stdenv.lib.licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix
index 0f67de3c3ea..6a7a6745c87 100644
--- a/pkgs/tools/graphics/plotutils/default.nix
+++ b/pkgs/tools/graphics/plotutils/default.nix
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [
       stdenv.lib.maintainers.marcweber
-      stdenv.lib.maintainers.ludo
     ];
     platforms = stdenv.lib.platforms.gnu;
   };
diff --git a/pkgs/tools/graphics/pngcheck/default.nix b/pkgs/tools/graphics/pngcheck/default.nix
new file mode 100644
index 00000000000..160badaf668
--- /dev/null
+++ b/pkgs/tools/graphics/pngcheck/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "pngcheck-2.3.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/png-mng/${name}.tar.gz";
+    sha256 = "0pzkj1bb4kdybk6vbfq9s0wzdm5szmrgixkas3xmbpv4mhws1w3p";
+  };
+
+  # configurePhase = ''
+  #   sed -i s,/usr,$out, Makefile
+  # '';
+
+  makefile = "Makefile.unx";
+  makeFlags = "ZPATH=${zlib}/lib";
+
+  buildInputs = [ zlib ];
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    cp pngcheck $out/bin/pngcheck
+  '';
+
+  meta = {
+    homepage = http://pmt.sourceforge.net/pngcrush;
+    description = "Verifies the integrity of PNG, JNG and MNG files";
+    license = stdenv.lib.licenses.free;
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+  };
+}
diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix
index b27e5132804..f9b7ad8fe64 100644
--- a/pkgs/tools/graphics/pngcrush/default.nix
+++ b/pkgs/tools/graphics/pngcrush/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pngcrush-1.7.76";
+  name = "pngcrush-1.7.83";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz";
-    sha256 = "0jbv3ijc0nfhy6pkhv4dwbk2v488rwixd8rv1c7lfs59wblb44hv";
+    sha256 = "0324l1czflplz49i1i3xs72pzi9p4f8h6yk626q5y81fn29kg5mj";
   };
 
   configurePhase = ''
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://pmt.sourceforge.net/pngcrush;
     description = "A PNG optimizer";
-    license = "free";
+    license = stdenv.lib.licenses.free;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
diff --git a/pkgs/tools/graphics/pngnq/default.nix b/pkgs/tools/graphics/pngnq/default.nix
index d1b1cfad00d..5676b37042d 100644
--- a/pkgs/tools/graphics/pngnq/default.nix
+++ b/pkgs/tools/graphics/pngnq/default.nix
@@ -1,18 +1,24 @@
-{ stdenv, fetchurl, libpng }:
+{ stdenv, fetchurl, pkgconfig, libpng, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "pngnq-1.0";
+  name = "pngnq-1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/pngnq/${name}.tar.gz";
-    sha256 = "19q07hlhr9p5d0wqgzyrcxdnqlczdwpiibcji0k2a6jfmxrcn4rl";
+    sha256 = "1qmnnl846agg55i7h4vmrn11lgb8kg6gvs8byqz34bdkjh5gwiy1";
   };
 
-  buildInputs = [ libpng ];
+  buildInputs = [ pkgconfig libpng zlib ];
 
-  meta = {
+  patchPhase = ''
+    sed -i '/png.h/a \#include <zlib.h>' src/rwpng.c
+  '';
+
+  meta = with stdenv.lib; {
     homepage = http://pngnq.sourceforge.net/;
     description = "A PNG quantizer";
-    license = "bsd";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix
index ff2a18c9fed..471823ed923 100644
--- a/pkgs/tools/graphics/pngout/default.nix
+++ b/pkgs/tools/graphics/pngout/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "A tool that agressively optimizes the sizes of PNG images";
+    description = "A tool that aggressively optimizes the sizes of PNG images";
     license = stdenv.lib.licenses.unfree;
     homepage = http://advsys.net/ken/utils.htm;
     maintainers = [ stdenv.lib.maintainers.sander ];
diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix
index b4a1d1a7d67..73b92b3974d 100644
--- a/pkgs/tools/graphics/povray/default.nix
+++ b/pkgs/tools/graphics/povray/default.nix
@@ -1,6 +1,5 @@
-{stdenv, fetchgit, autoconf, automake, boost149, zlib, libpng, libjpeg, libtiff}:
+{stdenv, fetchgit, autoconf, automake, boost, zlib, libpng, libjpeg, libtiff}:
 
-let boost = boost149; in
 stdenv.mkDerivation {
   name = "povray-3.7";
 
@@ -24,8 +23,10 @@ stdenv.mkDerivation {
                  sed -i -e 's/^povgroup.*/povgroup=nogroup/' Makefile.{am,in}
                '';
 
-  configureFlags = "COMPILED_BY='nix' --with-boost-libdir=${boost}/lib --with-boost-includedir=${boost}/include";
+  configureFlags = [ "COMPILED_BY='nix'" "--with-boost-thread=boost_thread" ];
 
+  enableParallelBuilding = true;
+  
   preInstall = ''
     mkdir "$TMP/bin"
     for i in chown chgrp; do
@@ -34,10 +35,11 @@ stdenv.mkDerivation {
       PATH="$TMP/bin:$PATH"
     done
   '';
-  
-  meta = {
+
+  meta = with stdenv.lib; {
     homepage = http://www.povray.org/;
     description = "Persistence of Vision Raytracer";
-    license = "free";
+    license = licenses.free;
+	platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/qrcode/default.nix b/pkgs/tools/graphics/qrcode/default.nix
new file mode 100644
index 00000000000..e5bc5517b89
--- /dev/null
+++ b/pkgs/tools/graphics/qrcode/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchgit}:
+let
+  s =
+  rec {
+    baseName = "qrcode";
+    date = "2014-01-01";
+    version = "git-${date}";
+    name = "${baseName}-${version}";
+    url = "https://github.com/qsantos/qrcode";
+    rev = "2843cbada3b768f60ee1ae13c65160083558cc03";
+    sha256 = "0x321xhzxk6ldvpr2090w14khj9n2gfay9db5vvvli16affpcrvb";
+  };
+  buildInputs = [
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchgit {
+    inherit (s) rev url sha256;
+  };
+  installPhase = ''
+    mkdir -p "$out"/{bin,share/doc/qrcode}
+    cp qrcode "$out/bin"
+    cp DOCUMENTATION LICENCE "$out/share/doc/qrcode"
+  '';
+  meta = {
+    inherit (s) version;
+    description = ''A small QR-code tool'';
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix
index 892ef54cdee..936956cbd17 100644
--- a/pkgs/tools/graphics/qrencode/default.nix
+++ b/pkgs/tools/graphics/qrencode/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "qrencode-3.4.3";
+  name = "qrencode-3.4.4";
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.bz2";
-    sha256 = "163sb580p570p27imc6jhkfdw15kzp8vy1jq92nip1rwa63i9myz";
+    sha256 = "198zvsfa2y5bb3ccikrhmhd4i43apr3b26dqcf3zkjyv3n5iirgg";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix
new file mode 100644
index 00000000000..cab02f6573d
--- /dev/null
+++ b/pkgs/tools/graphics/quirc/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchgit, SDL_gfx, SDL, libjpeg, pkgconfig}:
+let
+  s =
+  rec {
+    date = "2014-11-01";
+    version = "git-${date}";
+    baseName = "quirc";
+    name = "${baseName}-${version}";
+    url = "https://github.com/dlbeer/quirc";
+    rev = "3a3df0d1d6adc59fdc2cadecfaed91650b84cacb";
+    sha256 = "0wk2lmnw1k6m12dxs5a684mrm05x362h5kr3dwkfj8pyvdw3am18";
+  };
+  buildInputs = [
+    SDL SDL_gfx libjpeg pkgconfig
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchgit {
+    inherit (s) url sha256 rev;
+  };
+  NIX_CFLAGS_COMPILE="-I${SDL}/include/SDL";
+  configurePhase = ''
+    sed -e 's/-[og] root//g' -i Makefile
+  '';
+  preInstall = ''
+    mkdir -p "$out"/{bin,lib,include}
+    find . -maxdepth 1 -type f -perm +111 -exec cp '{}' "$out"/bin ';'
+  '';
+  makeFlags = "PREFIX=$(out)";
+  meta = {
+    inherit (s) version;
+    description = ''A small QR code decoding library'';
+    license = stdenv.lib.licenses.isc;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix
index e5f2ca83a9b..411e2fb45c8 100644
--- a/pkgs/tools/graphics/scrot/default.nix
+++ b/pkgs/tools/graphics/scrot/default.nix
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://linuxbrit.co.uk/scrot/;
     description = "A command-line screen capture utility";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/transfig/default.nix b/pkgs/tools/graphics/transfig/default.nix
index cf3722bbf1f..f540029cbc7 100644
--- a/pkgs/tools/graphics/transfig/default.nix
+++ b/pkgs/tools/graphics/transfig/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   builder = ./builder.sh;
   src = fetchurl {
     url = ftp://ftp.tex.ac.uk/pub/archive/graphics/transfig/transfig.3.2.4.tar.gz;
-    md5 = "742de0f7a3cae74d247bbd0c70dd9dd7";
+    sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
   };
 
   buildInputs = [zlib libjpeg libpng imake];
diff --git a/pkgs/tools/graphics/unpaper/default.nix b/pkgs/tools/graphics/unpaper/default.nix
new file mode 100644
index 00000000000..e199eeea132
--- /dev/null
+++ b/pkgs/tools/graphics/unpaper/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, libav, libxslt }:
+
+stdenv.mkDerivation rec {
+  name = "unpaper-${version}";
+  version = "6.1";
+
+  src = fetchurl {
+    url = "https://www.flameeyes.eu/files/${name}.tar.xz";
+    sha256 = "0c5rbkxbmy9k8vxjh4cv0bgnqd3wqc99yzw215vkyjslvbsq8z13";
+  };
+
+  buildInputs = [ pkgconfig libav libxslt ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.flameeyes.eu/projects/unpaper;
+    description = "Post-processing tool for scanned sheets of paper";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.rycee ];
+  };
+}
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
new file mode 100644
index 00000000000..28b65da24a5
--- /dev/null
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, glib, libxml2, flex, bison, vips, gnome,
+  fftw, orc, lcms, imagemagick, openexr, libtiff, libjpeg, libgsf, libexif,
+  python27, libpng, matio ? null, cfitsio ? null, libwebp ? null
+}:
+
+stdenv.mkDerivation rec {
+  name = "vips-7.42.1";
+
+  src = fetchurl {
+    url = "http://www.vips.ecs.soton.ac.uk/supported/current/${name}.tar.gz";
+    sha256 = "1gvazsyfa8w9wdwz89rpa1xmfpyk3b0cp4kkila1r9jc3sqp5qjy";
+  };
+
+  buildInputs =
+    [ pkgconfig glib libxml2 fftw orc lcms
+      imagemagick openexr libtiff libjpeg
+      libgsf libexif python27 libpng
+    ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.vips.ecs.soton.ac.uk;
+    description = "Image processing system for large images";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ kovirobi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/welkin/default.nix b/pkgs/tools/graphics/welkin/default.nix
index 23c5ec11aaa..3d1a2aa5bdc 100644
--- a/pkgs/tools/graphics/welkin/default.nix
+++ b/pkgs/tools/graphics/welkin/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , jre
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     ["jre"];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -39,7 +39,7 @@ rec {
     sed -e 's@[.]/lib/welkin[.]jar@"'"$out"'/share/welkin/lib/welkin.jar"@' -i "$out/share/welkin/welkin.sh"
     chmod a+x "$out/bin/welkin"
   '' ["minInit" "defEnsureDir"];
-      
+
   meta = {
     description = "An RDF visualizer";
     maintainers = with a.lib.maintainers;
@@ -47,7 +47,7 @@ rec {
       raskin
     ];
     hydraPlatforms = [];
-    license = "free-noncopyleft";
+    license = a.lib.licenses.free;
   };
   passthru = {
     updateInfo = {
@@ -55,4 +55,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
index 84b271acf2b..2f3929b82b8 100644
--- a/pkgs/tools/graphics/wkhtmltopdf/default.nix
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -1,22 +1,88 @@
-{ stdenv, fetchurl, qt4 }:
+{ stdenv, fetchgit, qt4, fontconfig, freetype, libpng, zlib, libjpeg
+, openssl, libX11, libXext, libXrender, overrideDerivation }:
 
 stdenv.mkDerivation rec {
-  name = "wkhtmltopdf-0.11.0_rc1";
+  version = "0.12.1";
+  name = "wkhtmltopdf-${version}";
 
-  src = fetchurl {
-    url = "http://wkhtmltopdf.googlecode.com/files/${name}.tar.bz2";
-    sha1 = "db03922d281856e503b3d562614e3936285728c7";
+  src = fetchgit {
+    url = "https://github.com/wkhtmltopdf/wkhtmltopdf.git";
+    rev = "refs/tags/${version}";
+    sha256 = "0wjzaaviy1k3z8r2kzb2rmyx6xdj23a338b86sxcb15ws3kzwgwh";
   };
 
-  buildInputs = [ qt4 ];
+  wkQt = overrideDerivation qt4 (deriv: {
+    name = "qt-mod-4.8.6";
+    src = fetchgit {
+      url = "https://github.com/wkhtmltopdf/qt.git";
+      rev = "82b568b"; # From git submodule spec in wkhtml repo.
+      sha256 = "0whppwxnymh5bdayqsqx54n074m99yk6v78z7f0k5prja55yvwyx";
+    };
+    configureFlags =
+      ''
+        -v -no-separate-debug-info -release -confirm-license -opensource
+        -qdbus -glib -dbus-linked -openssl-linked
+      ''
+      + # This is taken from the wkhtml build script that we don't run
+      ''
+        -fast
+        -static
+        -exceptions
+        -xmlpatterns
+        -webkit
+        -system-zlib
+        -system-libpng
+        -system-libjpeg
+        -no-libmng
+        -no-libtiff
+        -no-accessibility
+        -no-stl
+        -no-qt3support
+        -no-phonon
+        -no-phonon-backend
+        -no-opengl
+        -no-declarative
+        -no-sql-ibase
+        -no-sql-mysql
+        -no-sql-odbc
+        -no-sql-psql
+        -no-sql-sqlite
+        -no-sql-sqlite2
+        -no-mmx
+        -no-3dnow
+        -no-sse
+        -no-sse2
+        -no-multimedia
+        -nomake demos
+        -nomake docs
+        -nomake examples
+        -nomake tools
+        -nomake tests
+        -nomake translations
+      '';
+  });
+
+  buildInputs = [ wkQt fontconfig freetype libpng zlib libjpeg openssl
+    libX11 libXext libXrender
+    ];
 
   configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out";
   
+  patches = [ ./makefix.patch ];
+
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://code.google.com/p/wkhtmltopdf/;
+    homepage = http://wkhtmltopdf.org/;
     description = "Tools for rendering web pages to PDF or images";
+    longDescription = ''
+      wkhtmltopdf and wkhtmltoimage are open source (LGPL) command line tools
+      to render HTML into PDF and various image formats using the QT Webkit
+      rendering engine. These run entirely "headless" and do not require a
+      display or display service.
+
+      There is also a C library, if you're into that kind of thing.
+    '';
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/graphics/wkhtmltopdf/makefix.patch b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch
new file mode 100644
index 00000000000..0642a23afa9
--- /dev/null
+++ b/pkgs/tools/graphics/wkhtmltopdf/makefix.patch
@@ -0,0 +1,24 @@
+diff -Naur a/src/image/image.pro b/src/image/image.pro
+--- a/src/image/image.pro	2014-08-28 14:07:51.024561967 +0200
++++ b/src/image/image.pro	2014-08-28 14:08:22.383623390 +0200
+@@ -25,7 +25,7 @@
+ 
+ unix {
+     man.path=$$INSTALLBASE/share/man/man1
+-    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltoimage.1.gz
++    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltoimage --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltoimage.1.gz
+ 
+     QMAKE_EXTRA_TARGETS += man
+     INSTALLS += man
+diff -Naur a/src/pdf/pdf.pro b/src/pdf/pdf.pro
+--- a/src/pdf/pdf.pro	2014-08-28 14:10:02.305818775 +0200
++++ b/src/pdf/pdf.pro	2014-08-28 14:09:47.360789555 +0200
+@@ -25,7 +25,7 @@
+ 
+ unix {
+     man.path=$$INSTALLBASE/share/man/man1
+-    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $(INSTALL_ROOT)/share/man/man1/wkhtmltopdf.1.gz
++    man.extra=LD_LIBRARY_PATH=../../bin/ ../../bin/wkhtmltopdf --manpage | gzip > $$INSTALLBASE/share/man/man1/wkhtmltopdf.1.gz
+ 
+     QMAKE_EXTRA_TARGETS += man
+     INSTALLS += man
diff --git a/pkgs/tools/graphics/zxing/default.nix b/pkgs/tools/graphics/zxing/default.nix
new file mode 100644
index 00000000000..df85b4473bb
--- /dev/null
+++ b/pkgs/tools/graphics/zxing/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, jre }:
+stdenv.mkDerivation rec {
+  name = "zxing-${version}";
+  version = "3.1.0";
+  # Maven builds are hard to get right
+  core_jar = fetchurl {
+    url = "http://repo1.maven.org/maven2/com/google/zxing/core/${version}/core-${version}.jar";
+    sha256 = "199l4xvlcpafqn69r3k9qjpqkw9lvkl02hzpm0ackvdhl7vk42zh";
+  };
+  javase_jar = fetchurl {
+    url = "http://repo1.maven.org/maven2/com/google/zxing/javase/${version}/javase-${version}.jar";
+    sha256 = "0fzxvvf5dqyrs5m9rqw4ffm9h1s27bi7q3jb1dam34s80q2rp2zq";
+  };
+  inherit jre;
+  unpackPhase = ''true'';
+  installPhase = ''
+    mkdir -p "$out/lib/java" "$out/bin"
+    cp "${core_jar}" "${javase_jar}" "$out/lib/java"
+    substituteAll "${./java-zxing.sh}" "$out/bin/java-zxing"
+    substituteAll "${./zxing-cmdline-runner.sh}" "$out/bin/zxing-cmdline-runner"
+    substituteAll "${./zxing-cmdline-encoder.sh}" "$out/bin/zxing-cmdline-encoder"
+    substituteAll "${./zxing.sh}" "$out/bin/zxing"
+    chmod a+x "$out/bin"/*
+    cd "$out/lib/java"; for i in *.jar; do mv "$i" "''${i#*-}"; done
+  '';
+  meta = {
+    inherit version;
+    description = ''1D and 2D code reading library'';
+    license = stdenv.lib.licenses.asl20;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/zxing/zxing";
+  };
+}
diff --git a/pkgs/tools/graphics/zxing/java-zxing.sh b/pkgs/tools/graphics/zxing/java-zxing.sh
new file mode 100644
index 00000000000..bee3ac9e27a
--- /dev/null
+++ b/pkgs/tools/graphics/zxing/java-zxing.sh
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+@jre@/bin/java -cp @out@/lib/java/core-@version@.jar:@out@/lib/java/javase-@version@.jar "$@"
diff --git a/pkgs/tools/graphics/zxing/zxing-cmdline-encoder.sh b/pkgs/tools/graphics/zxing/zxing-cmdline-encoder.sh
new file mode 100644
index 00000000000..a17ba49cecf
--- /dev/null
+++ b/pkgs/tools/graphics/zxing/zxing-cmdline-encoder.sh
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+java-zxing com.google.zxing.client.j2se.CommandLineEncoder "$@"
diff --git a/pkgs/tools/graphics/zxing/zxing-cmdline-runner.sh b/pkgs/tools/graphics/zxing/zxing-cmdline-runner.sh
new file mode 100644
index 00000000000..cb2a25dc03f
--- /dev/null
+++ b/pkgs/tools/graphics/zxing/zxing-cmdline-runner.sh
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+java-zxing com.google.zxing.client.j2se.CommandLineRunner "$@"
diff --git a/pkgs/tools/graphics/zxing/zxing.sh b/pkgs/tools/graphics/zxing/zxing.sh
new file mode 100644
index 00000000000..ca6ac60bab6
--- /dev/null
+++ b/pkgs/tools/graphics/zxing/zxing.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+choice="$1";
+shift
+case "$choice" in
+	encode | create | write | CommandLineEncoder)
+		zxing-cmdline-encoder "$@";
+		;;
+	decode | read | run | CommandLineRunner)
+		zxing-cmdline-runner "$@";
+		;;
+	help | usage | --help | --usage | -h)
+		zxing read;
+		zxing write;
+		;;
+	*)
+		zxing read "$choice" "$@"
+		;;
+esac
diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix
index 2795b0d4d87..a8b3089c58a 100644
--- a/pkgs/tools/inputmethods/fcitx/default.nix
+++ b/pkgs/tools/inputmethods/fcitx/default.nix
@@ -5,11 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "fcitx-4.2.8.3";
+  name = "fcitx-${version}";
+  version = "4.2.8.5";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz";
-    sha256 = "05dw6cbjh2jyjrkr4qx2bcq6nyhhrs0akf6fcjk5a72bgphhwqnb";
+    sha256 = "0whv7mnzig4l5v518r200psa1fp3dyl1jkr5z0q13ijzh1bnyggy";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
new file mode 100644
index 00000000000..2099220f2a1
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, fcitx, anthy }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-anthy-0.2.1";
+
+  meta = with stdenv.lib; {
+    description = "Fcitx Wrapper for anthy";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz";
+    sha256 = "13fpfhhxkzbq53h10i3hifa37nngm47jq361i70z22bgcrs8887x";
+  };
+
+  buildInputs = [ cmake fcitx anthy ];
+
+  preInstall = ''
+    substituteInPlace src/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+}
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
new file mode 100644
index 00000000000..8bbd28f82a3
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, cmake, fcitx, gtk3, isocodes }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-configtool-0.4.8";
+
+  meta = with stdenv.lib; {
+    description = "GTK-based config tool for Fcitx";
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ cdepillabout ];
+  };
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-configtool/${name}.tar.xz";
+    sha256 = "1vaim0namw58bfafbvws1vgd4010p19zwqfbx6bd1zi5sgchdg0f";
+  };
+
+  buildInputs = [ fcitx cmake isocodes pkgconfig gtk3 ];
+}
+
diff --git a/pkgs/tools/inputmethods/fcitx/wrapper.nix b/pkgs/tools/inputmethods/fcitx/wrapper.nix
new file mode 100644
index 00000000000..d4efb332696
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx/wrapper.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildEnv, fcitx, makeWrapper, plugins }:
+
+# This is based on the pidgin-with-plugins package.
+# Users should be able to configure what plugins are used
+# by putting the following in their /etc/nixos/configuration.nix:
+# environment.systemPackages = with pkgs; [
+#     (fcitx-with-plugins.override { plugins = [ fcitx-anthy ]; })
+# ]
+# Or, a normal user could use it by putting the following in his
+# ~/.nixpkgs/config.nix:
+# packageOverrides = pkgs: with pkgs; rec {
+#     (fcitx-with-plugins.override { plugins = [ fcitx-anthy ]; })
+# }
+
+let
+drv = buildEnv {
+  name = "fcitx-with-plugins-" + (builtins.parseDrvName fcitx.name).version;
+
+  paths = [ fcitx ] ++ plugins;
+
+  postBuild = ''
+    # TODO: This could be avoided if buildEnv could be forced to create all directories
+    if [ -L $out/bin ]; then
+      rm $out/bin
+      mkdir $out/bin
+      for i in ${fcitx}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    wrapProgram $out/bin/fcitx \
+      --set FCITXDIR "$out/"
+  '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
+
diff --git a/pkgs/tools/inputmethods/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-anthy/default.nix
new file mode 100644
index 00000000000..df0790877ac
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-anthy/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, makeWrapper, ibus, anthy, intltool, pkgconfig, glib, gobjectIntrospection, python, pythonPackages }:
+
+let version = "1.5.4";
+in stdenv.mkDerivation {
+  name = "ibus-anthy-${version}";
+
+  meta = with stdenv.lib; {
+    description = "IBus interface to the anthy input method";
+    homepace    = https://code.google.com/p/ibus/;
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ gebner ];
+  };
+
+  buildInputs = [ makeWrapper ibus anthy intltool pkgconfig glib gobjectIntrospection python pythonPackages.pygobject3 ];
+
+  postFixup = ''
+    for file in "$out"/libexec/*; do
+      wrapProgram "$file" \
+        --prefix PYTHONPATH : $PYTHONPATH \
+        --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH:$out/lib/girepository-1.0
+    done
+  '';
+
+  src = fetchurl {
+    url = "https://ibus.googlecode.com/files/ibus-anthy-${version}.tar.gz";
+    sha256 = "4c0a8b88a2c547e72173a7d682d82797f6c65fe712abe5f3b89495d4eec7b031";
+  };
+}
diff --git a/pkgs/tools/inputmethods/ibus-qt/default.nix b/pkgs/tools/inputmethods/ibus-qt/default.nix
new file mode 100644
index 00000000000..c538d36ec59
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-qt/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, ibus, cmake, pkgconfig, qt4, icu, doxygen }:
+
+stdenv.mkDerivation rec {
+  name = "ibus-qt-${version}";
+  version = "1.3.2";
+
+  src = fetchurl {
+    url = "http://ibus.googlecode.com/files/${name}-Source.tar.gz";
+    sha256 = "070c8ef4e6c74eddf7ddf4385936aed730c2dfe2160162e5c56b5158d1061a76";
+  };
+
+  buildInputs = [
+    ibus cmake pkgconfig qt4 icu doxygen
+  ];
+
+  cmakeFlags = [ "-DQT_PLUGINS_DIR=lib/qt4/plugins" ];
+
+  meta = with stdenv.lib; {
+    homepage    = https://code.google.com/p/ibus/;
+    description = "Qt4 interface to the ibus input method";
+    platforms   = platforms.linux;
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 6b426169a70..6b426169a70 100644
--- a/pkgs/development/libraries/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
new file mode 100644
index 00000000000..1cf3cfa00af
--- /dev/null
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, xlibs, xorgserver, qt4, mesa, geis  }:
+
+stdenv.mkDerivation rec {
+  name = "touchegg-${version}";
+  version = "1.1.1";
+  src = fetchurl {
+    url = "https://touchegg.googlecode.com/files/${name}.tar.gz";
+    sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038";
+  };
+
+  buildInputs = [ xorgserver mesa xlibs.libX11 xlibs.libXtst xlibs.libXext qt4 geis ];
+
+  configurePhase = ''
+    sed -e "s@/usr/@$out/@g" -i $(find . -name touchegg.pro)
+    sed -e "s@/usr/@$out/@g" -i $(find ./src/touchegg/config/ -name Config.cpp)
+    qmake touchegg.pro
+  '';
+
+  meta = {
+    homepage = "https://code.google.com/p/touchegg/";
+    description = "Macro binding for touch surfaces";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
index b8ee95fae92..160efe2ded8 100644
--- a/pkgs/tools/inputmethods/uim/default.nix
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, ... }:
+{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, anthy}:
 
 stdenv.mkDerivation rec {
   version = "1.8.6";
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
     gtk3
     kdelibs
     cmake
+    anthy
   ];
 
   patches = [ ./immodules_cache.patch ];
@@ -26,6 +27,7 @@ stdenv.mkDerivation rec {
     "--with-qt4-immodule"
     "--with-skk"
     "--with-x"
+    "--with-anthy-utf8"
   ];
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/tools/misc/abduco/default.nix b/pkgs/tools/misc/abduco/default.nix
index a3f5c4a1d61..c4515fde5fc 100644
--- a/pkgs/tools/misc/abduco/default.nix
+++ b/pkgs/tools/misc/abduco/default.nix
@@ -3,25 +3,24 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-    name = "abduco-0.1";
+    name = "abduco-0.4";
 
     meta = {
         homepage = http://brain-dump.org/projects/abduco;
         license = licenses.isc;
         description = "Allows programs to be run independently from its controlling terminal";
+        maintainers = with maintainers; [ pSub ];
         platforms = with platforms; linux;
     };
 
     src = fetchurl {
         url = "http://www.brain-dump.org/projects/abduco/${name}.tar.gz";
-        sha256 = "b4ef297cb7cc81170dc7edf75385cb1c55e024a52f90c1dd0bc0e9862e6f39b5";
+        sha256 = "1fxwg2s5w183p0rwzsxizy9jdnilv5qqs647l3wl3khny6fp58xx";
     };
 
     configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
     preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
 
-    buildInputs = [];
-
     installPhase = ''
       make PREFIX=$out install
     '';
diff --git a/pkgs/tools/misc/aescrypt/default.nix b/pkgs/tools/misc/aescrypt/default.nix
index f39e466c78f..ba58bd86a74 100644
--- a/pkgs/tools/misc/aescrypt/default.nix
+++ b/pkgs/tools/misc/aescrypt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libiconvOrEmpty }:
+{ stdenv, fetchurl, libiconv }:
 
 stdenv.mkDerivation rec {
   version = "3.0.9";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp aescrypt_keygen $out/bin
   '';
 
-  buildInputs = [ libiconvOrEmpty ];
+  buildInputs = [ libiconv ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-liconv";
 
diff --git a/pkgs/tools/misc/autojump/default.nix b/pkgs/tools/misc/autojump/default.nix
index a92b4ae3b1b..3bd44fb07b7 100644
--- a/pkgs/tools/misc/autojump/default.nix
+++ b/pkgs/tools/misc/autojump/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, python, bash }:
 
-let 
-  version = "21.6.9";
+let
+  version = "22.2.4";
 in
   stdenv.mkDerivation rec {
     name = "autojump-${version}";
@@ -9,23 +9,22 @@ in
     src = fetchurl {
       url = "http://github.com/joelthelion/autojump/archive/release-v${version}.tar.gz";
       name = "autojump-${version}.tar.gz";
-      sha256 = "0js6jp9l83zxhd9bn8hjn4yf8gydnldrlmafgvlg3rd4i1v82649";
+      sha256 = "816badb0721f735e2b86bdfa8b333112f3867343c7c2263c569f75b4ec91f475";
     };
 
     buildInputs = [ python bash ];
     dontBuild = true;
 
     installPhase = ''
-      # don't check shell support (we're running with bash anyway)
-      sed -i -e 150,153d install.sh
-
-      bash ./install.sh -d $out -p ""
+      python ./install.py -d $out -p ""
       chmod +x $out/etc/profile.d/*
 
       mkdir -p "$out/etc/bash_completion.d"
-      cp -v $out/etc/profile.d/autojump.bash "$out/etc/bash_completion.d"
+      cp -v $out/share/autojump/autojump.bash "$out/etc/bash_completion.d"
 
       # FIXME: What's the right place for `autojump.zsh'?
+      # This can be used as a workaround in .zshrc:
+      # . $HOME/.nix-profile/share/autojump/autojump.zsh
     '';
 
     meta = {
@@ -42,7 +41,7 @@ in
         works by maintaining a database of the directories you use the
         most from the command line.  The jstat command shows you the
         current contents of the database.  You need to work a little
-        bit before the database becomes useable.  Once your database
+        bit before the database becomes usable.  Once your database
         is reasonably complete, you can “jump” to a directory by
         typing "j dirspec", where dirspec is a few characters of the
         directory you want to jump to.  It will jump to the most used
diff --git a/pkgs/tools/misc/aws-mturk-clt/default.nix b/pkgs/tools/misc/aws-mturk-clt/default.nix
index d2d29aae785..4db4f3b1672 100644
--- a/pkgs/tools/misc/aws-mturk-clt/default.nix
+++ b/pkgs/tools/misc/aws-mturk-clt/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "aws-mturk-clt-1.3.0";
-  
+
   src = fetchurl {
     url = "http://mturk.s3.amazonaws.com/CLTSource/${name}.tar.gz";
     sha256 = "06p0cbb5afmqjjlibbw9gb08jp270c7j57lhnf9ld50sm1z021ln";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = https://requester.mturk.com/developer;
     description = "Command line tools for interacting with the Amazon Mechanical Turk";
-    license = "unfree-redistributable"; # Amazon http://aws.amazon.com/asl/
+    license = stdenv.lib.licenses.amazonsl;
 
     longDescription =
       ''
diff --git a/pkgs/tools/misc/bfr/default.nix b/pkgs/tools/misc/bfr/default.nix
index 78383f4185d..3be824d9a40 100644
--- a/pkgs/tools/misc/bfr/default.nix
+++ b/pkgs/tools/misc/bfr/default.nix
@@ -1,18 +1,21 @@
 { stdenv, fetchurl, perl }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "bfr-1.6";
+  version = "1.6";
 
   src = fetchurl {
-    url = http://www.glines.org/bin/pk/bfr-1.6.tar.bz2;
+    url = "http://www.sourcefiles.org/Utilities/Text_Utilities/bfr-${version}.tar.bz2";
     sha256 = "0fadfssvj9klj4dq9wdrzys1k2a1z2j0p6kgnfgbjv0n1bq6h4cy";
   };
 
   buildInputs = [ perl ];
 
-  meta = {
-    description = "general-purpose command-line pipe buffer";
+  meta = with stdenv.lib; {
+    description = "A general-purpose command-line pipe buffer";
     homepage = http://www.glines.org/wiki/bfr;
     license = stdenv.lib.licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/bibtool/default.nix b/pkgs/tools/misc/bibtool/default.nix
new file mode 100644
index 00000000000..db57eeb74e3
--- /dev/null
+++ b/pkgs/tools/misc/bibtool/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "bibtool-${version}";
+  version = "2.57";
+
+  src = fetchurl {
+    url = "http://www.gerd-neugebauer.de/software/TeX/BibTool/BibTool-${version}.tar.gz";
+    sha256 = "1g3yqywnbg04imkcqx7ypq0din81vcgq90k2xlqih69blbqpfb5y";
+  };
+
+  # Perl for running test suite.
+  buildInputs = [ perl ];
+
+  installTargets = "install install.man";
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Tool for manipulating BibTeX bibliographies";
+    homepage = http://www.gerd-neugebauer.de/software/TeX/BibTool/index.en.html;
+    license = licenses.gpl1;
+    maintainers = [ maintainers.rycee ];
+  };
+}
diff --git a/pkgs/tools/misc/binwalk/default.nix b/pkgs/tools/misc/binwalk/default.nix
new file mode 100644
index 00000000000..761ae6169eb
--- /dev/null
+++ b/pkgs/tools/misc/binwalk/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, python, wrapPython, curses, mtdutils, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
+, pyqtgraph ? null
+, visualizationSupport ? false }:
+
+assert visualizationSupport -> pyqtgraph != null;
+
+stdenv.mkDerivation rec {
+  version = "2.0.1";
+  name = "binwalk-${version}";
+
+  src = fetchFromGitHub {
+    owner = "devttys0";
+    repo = "binwalk";
+    rev = "v${version}";
+    sha256 = "1r5389lk3gk8y4ksrfljyb97l6pwnwvv8g1slbgr20avkzgw8zmn";
+  };
+
+  pythonPath = with stdenv.lib; [ curses ]
+               ++ optional visualizationSupport [ pyqtgraph ];
+
+  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses mtdutils zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
+                          ++ optional visualizationSupport [ pyqtgraph ];
+
+  postInstall = "wrapPythonPrograms";
+
+  meta = with stdenv.lib; {
+    homepage = "http://binwalk.org";
+    description = "A tool for searching a given binary image for embedded files";
+    platforms = platforms.all;
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/tools/misc/bmon/default.nix b/pkgs/tools/misc/bmon/default.nix
index 29a6db4e6d2..1a24ba70051 100644
--- a/pkgs/tools/misc/bmon/default.nix
+++ b/pkgs/tools/misc/bmon/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, ncurses, confuse, libnl }:
+{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, ncurses, confuse
+, libnl }:
 
-stdenv.mkDerivation {
-  name = "bmon-3.1";
+stdenv.mkDerivation rec {
+  name = "bmon-${version}";
+  version = "3.6";
 
-  src = fetchurl {
-    url = http://www.carisma.slowglass.com/~tgr/bmon/files/bmon-3.1.tar.gz;
-    sha256 = "005ib7c3g3cva0rdwsgl6hfakxd5yp88sf4bjxb6iarcm3ax18ky";
+  src = fetchFromGitHub {
+    owner = "tgraf";
+    repo = "bmon";
+    rev = "v${version}";
+    sha256 = "16qwazays2j448kmfckv6wvh4rhmhc9q4vp1s75hm9z02cmhvk8q";
   };
 
-  buildInputs = [ pkgconfig ncurses confuse libnl ];
+  buildInputs = [ autoconf automake pkgconfig ncurses confuse libnl ];
+
+  preConfigure = "sh ./autogen.sh";
 
   meta = with stdenv.lib; {
     description = "Network bandwidth monitor";
-    homepage = http://www.carisma.slowglass.com/~tgr/bmon/;
-    # Neither the homepage nor the source archive has license info, but in the
-    # latest git version there is a LICENSE file that is the 2-clause BSD
-    # license.
-    #  - https://github.com/tgraf/bmon/blob/master/LICENSE
-    #  - http://opensource.org/licenses/BSD-2-Clause
+    homepage = https://github.com/tgraf/bmon;
+    # Licensed unter BSD and MIT
+    #  - https://github.com/tgraf/bmon/blob/master/LICENSE.BSD
+    #  - https://github.com/tgraf/bmon/blob/master/LICENSE.MIT
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor pSub ];
   };
 }
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 909e44d9809..ca9a9453dbf 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "byobu-5.68";
+  name = "byobu-5.87";
 
   src = fetchurl {
-    url = "https://launchpad.net/byobu/trunk/5.68/+download/byobu_5.68.orig.tar.gz";
-    sha256 = "1xf2m18zx3075c0qvx4fzvn5afm274j5dl0jps7p2lbaq4k1lyhm";
+    url = "https://launchpad.net/byobu/trunk/5.87/+download/byobu_5.87.orig.tar.gz";
+    sha256 = "08v9y5hxb92caf5zp83fiq0jfwi167vw1ylf42s65x1ng8rvryqh";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/ccze/default.nix b/pkgs/tools/misc/ccze/default.nix
new file mode 100644
index 00000000000..409297de9f7
--- /dev/null
+++ b/pkgs/tools/misc/ccze/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, autoconf, ncurses, pcre }:
+
+stdenv.mkDerivation rec {
+  name = "ccze-0.2.1-2";
+
+  src = fetchurl {
+    url = "https://github.com/madhouse/ccze/archive/${name}.tar.gz";
+    sha256 = "1amavfvyls4v0gnikk43n2rpciaspxifgrmvi99qj6imv3mfg66n";
+  };
+
+  buildInputs = [ autoconf ncurses pcre ];
+
+  preConfigure = '' autoheader && autoconf '';
+
+  meta = with stdenv.lib; {
+    description = "Fast, modular log colorizer";
+    longDescription = ''
+      Fast log colorizer written in C, intended to be a drop-in replacement
+      for the Perl colorize tool.  Includes plugins for a variety of log
+      formats (Apache, Postfix, Procmail, etc.).
+    '';
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ malyn ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/clex/default.nix b/pkgs/tools/misc/clex/default.nix
new file mode 100644
index 00000000000..9c32d3c5466
--- /dev/null
+++ b/pkgs/tools/misc/clex/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, ncurses }:
+
+let version = "4.6.patch6"; in
+stdenv.mkDerivation rec {
+  name = "clex-${version}";
+
+  src = fetchurl {
+    sha256 = "0bqa2hc9721d62cfsy5c7a5pzgh9b4px7g4q60xlybkwll19qbbp";
+    url = "${meta.homepage}/download/${name}.tar.gz";
+  };
+
+  meta = with stdenv.lib; {
+    description = "File manager with full-screen terminal interface";
+    longDescription = ''
+      CLEX (pronounced KLEKS) displays directory contents including the file
+      status details and provides features like command history, filename
+      insertion, or name completion in order to help users to create commands
+      to be executed by the shell. There are no built-in commands, CLEX is an
+      add-on to your favorite shell.
+    '';
+    homepage = http://www.clex.sk;
+    license = with licenses; gpl2Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  buildInputs = [ ncurses ];
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index dfe5476f813..8d7ba0c70c8 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -1,30 +1,25 @@
 { stdenv, fetchurl, perl, AlgorithmDiff, RegexpCommon }:
 
 stdenv.mkDerivation rec {
-  
+
   name = "cloc-${version}";
 
-  version = "1.58";
+  version = "1.62";
 
   src = fetchurl {
     url = "mirror://sourceforge/cloc/cloc-${version}.tar.gz";
-    sha256 = "1k92jldy4m717lh1xd6yachx3l2hhpx76qhj1ipnx12hsxw1zc8w";
+    sha256 = "1cxc663dccd0sc2m0aj5lxdbnbzrys6rh9n8q122h74bfvsiw4f4";
   };
 
   buildInputs = [ perl AlgorithmDiff RegexpCommon ];
 
-  unpackPhase = ''
-    mkdir ${name}
-    tar xf $src -C ${name}
-    cd ${name}
-  '';
-
   makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ];
 
   meta = {
     description = "A program that counts lines of source code";
     homepage = http://cloc.sourceforge.net;
     license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 
 }
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 71ec1276c7c..9f91a1acc60 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -3,11 +3,11 @@
 , automake, autoconf, libtool, gtk_doc, which, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  name = "colord-1.1.7";
+  name = "colord-1.2.3";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
-    sha256 = "295395526ee0be30917ae9c352e68bfeb20c7fc266a605725bef969f20547f44";
+    sha256 = "1z3l6hb3b08fixfra6m887a2j3lvhib6vp798ik16jfh375gr490";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/misc/contacts/default.nix b/pkgs/tools/misc/contacts/default.nix
new file mode 100644
index 00000000000..2bfe0eb4266
--- /dev/null
+++ b/pkgs/tools/misc/contacts/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "1.1a-3";
+  name = "contacts-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/dhess/contacts/archive/4092a3c6615d7a22852a3bafc44e4aeeb698aa8f.tar.gz";
+    sha256 = "0wdqc1ndgrdhqapvvgx5xihc750szv08lp91x4l6n0gh59cpxpg3";
+  };
+
+  preBuild = ''
+    substituteInPlace Makefile --replace "xcodebuild" "/usr/bin/xcodebuild"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./build/Deployment/contacts $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Access contacts from the Mac address book from command-line";
+    homepage    = http://www.gnufoo.org/contacts/contacts.html;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ jwiegley ];
+    platforms   = stdenv.lib.platforms.darwin;
+    hydraPlatforms = stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 4dbaa02555c..64bfd08d93a 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -10,15 +10,18 @@ assert selinuxSupport -> libselinux != null && libsepol != null;
 with { inherit (stdenv.lib) optional optionals optionalString optionalAttrs; };
 
 let
-  self = stdenv.mkDerivation (rec {
-    name = "coreutils-8.21";
+  self = stdenv.mkDerivation rec {
+    name = "coreutils-8.23";
 
     src = fetchurl {
       url = "mirror://gnu/coreutils/${name}.tar.xz";
-      sha256 = "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd";
+      sha256 = "0bdq6yggyl7nkc2pbl6pxhhyx15nyqhz3ds6rfn448n6rxdwlhzc";
     };
 
-    patches = [ ./help2man.patch ];
+    # The test tends to fail on btrfs and maybe other unusual filesystems.
+    postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+      sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh
+    '';
 
     outputs = [ "out" "info" ];
 
@@ -31,8 +34,8 @@ let
       buildInputs = [ gmp ]
         ++ optional aclSupport acl.crossDrv
         ++ optionals selinuxSupport [ libselinux.crossDrv libsepol.crossDrv ]
-        ++ optional (stdenv.gccCross.libc ? libiconv)
-          stdenv.gccCross.libc.libiconv.crossDrv;
+        ++ optional (stdenv.ccCross.libc ? libiconv)
+          stdenv.ccCross.libc.libiconv.crossDrv;
 
       buildPhase = ''
         make || (
@@ -66,6 +69,8 @@ let
 
     NIX_LDFLAGS = optionalString selinuxSupport "-lsepol";
 
+    makeFlags = optionalString stdenv.isDarwin "CFLAGS=-D_FORTIFY_SOURCE=0";
+
     meta = {
       homepage = http://www.gnu.org/software/coreutils/;
       description = "The basic file, shell and text manipulation utilities of the GNU operating system";
@@ -79,11 +84,11 @@ let
 
       license = stdenv.lib.licenses.gpl3Plus;
 
-      maintainers = [ ];
+      platforms = stdenv.lib.platforms.all;
+
+      maintainers = [ stdenv.lib.maintainers.eelco ];
     };
-  } // optionalAttrs stdenv.isDarwin {
-    makeFlags = "CFLAGS=-D_FORTIFY_SOURCE=0";
-  });
+  };
 in
   self
   // stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux" || stdenv.isSunOS) {
diff --git a/pkgs/tools/misc/coreutils/gets-undeclared.patch b/pkgs/tools/misc/coreutils/gets-undeclared.patch
deleted file mode 100644
index b6cdc77caa8..00000000000
--- a/pkgs/tools/misc/coreutils/gets-undeclared.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-This patch is needed to allow builds with newer versions of
-the GNU libc (2.16+).
-
-
-commit 66712c23388e93e5c518ebc8515140fa0c807348
-Author: Eric Blake <eblake@redhat.com>
-Date:   Thu Mar 29 13:30:41 2012 -0600
-
-    stdio: don't assume gets any more
-    
-    Gnulib intentionally does not have a gets module, and now that C11
-    and glibc have dropped it, we should be more proactive about warning
-    any user on a platform that still has a declaration of this dangerous
-    interface.
-    
-    * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
-    support.
-    * modules/stdio (Makefile.am): Likewise.
-    * lib/stdio-read.c (gets): Likewise.
-    * tests/test-stdio-c++.cc: Likewise.
-    * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
-    * lib/stdio.in.h (gets): Make warning occur in more places.
-    * doc/posix-functions/gets.texi (gets): Update documentation.
-    Reported by Christer Solskogen.
-    
-    Signed-off-by: Eric Blake <eblake@redhat.com>
-
-diff --git a/lib/stdio.in.h b/lib/stdio.in.h
-index aa7b599..c377b6e 100644
---- a/lib/stdio.in.h
-+++ b/lib/stdio.in.h
-@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
- # endif
- #endif
- 
--#if @GNULIB_GETS@
--# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
--#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
--#   undef gets
--#   define gets rpl_gets
--#  endif
--_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
--_GL_CXXALIAS_RPL (gets, char *, (char *s));
--# else
--_GL_CXXALIAS_SYS (gets, char *, (char *s));
--#  undef gets
--# endif
--_GL_CXXALIASWARN (gets);
- /* 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.  */
-+   so any use of gets warrants an unconditional warning; besides, C11
-+   removed it.  */
-+#undef gets
-+#if HAVE_RAW_DECL_GETS
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
- 
-@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
- # endif
- #endif
- 
--/* Some people would argue that sprintf should be handled like gets
--   (for example, OpenBSD issues a link warning for both functions),
--   since both can cause security holes due to buffer overruns.
-+/* Some people would argue that all sprintf uses should be warned about
-+   (for example, OpenBSD issues a link warning for it),
-+   since it can cause security holes due to buffer overruns.
-    However, we believe that sprintf can be used safely, and is more
-    efficient than snprintf in those safe cases; and as proof of our
-    belief, we use sprintf in several gnulib modules.  So this header
diff --git a/pkgs/tools/misc/coreutils/help2man.patch b/pkgs/tools/misc/coreutils/help2man.patch
deleted file mode 100644
index 9f3cbaa40ff..00000000000
--- a/pkgs/tools/misc/coreutils/help2man.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Although the above man pages depend on src/md5sum.c as a shared
-source, the build of the man pages directly requires their own
-executables to exist.
-
-* man/local.mk (man/sha1sum.1): Change the dependency from
-'src/md5sum' to 'src/sha1sum'.
-(man/sha224sum.1): s/md5sum/sha224sum/
-(man/sha256sum.1): s/md5sum/sha256sum/
-(man/sha384sum.1): s/md5sum/sha384sum/
-(man/sha512sum.1): s/md5sum/sha512sum/
-
-Reported by Pádraig Brady in
-http://lists.gnu.org/archive/html/coreutils/2013-11/msg00006.html
----
- man/local.mk | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/man/local.mk b/man/local.mk
-index 266b780..45dbcb9 100644
---- a/man/local.mk
-+++ b/man/local.mk
-@@ -131,11 +131,11 @@ man/rm.1:        src/rm
- man/rmdir.1:     src/rmdir
- man/runcon.1:    src/runcon
- man/seq.1:       src/seq
--man/sha1sum.1:   src/md5sum
--man/sha224sum.1: src/md5sum
--man/sha256sum.1: src/md5sum
--man/sha384sum.1: src/md5sum
--man/sha512sum.1: src/md5sum
-+man/sha1sum.1:   src/sha1sum
-+man/sha224sum.1: src/sha224sum
-+man/sha256sum.1: src/sha256sum
-+man/sha384sum.1: src/sha384sum
-+man/sha512sum.1: src/sha512sum
- man/shred.1:     src/shred
- man/shuf.1:      src/shuf
- man/sleep.1:     src/sleep
--- 
-1.8.3.1
diff --git a/pkgs/tools/misc/cpulimit/default.nix b/pkgs/tools/misc/cpulimit/default.nix
new file mode 100644
index 00000000000..8ae137bbd89
--- /dev/null
+++ b/pkgs/tools/misc/cpulimit/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "cpulimit-${version}";
+  version = "2.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/limitcpu/${name}.tar.gz";
+    sha256 = "1r19rk2cbyfmgwh3l445fxkn1bmkzyi69dg5dbx4b4mbqjjxlr1z";
+  };
+
+  buildFlags = with stdenv;
+    if isDarwin then "osx"
+    else if isFreeBSD then "freebsd"
+    else "cpulimit";
+
+  installFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    homepage = "http://limitcpu.sourceforge.net/";
+    description = "A tool to throttle the CPU usage of programs";
+    platforms = with platforms; linux ++ freebsd ++ darwin;
+    license = licenses.gpl2;
+    maintainer = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/tools/misc/cpuminer-multi/default.nix b/pkgs/tools/misc/cpuminer-multi/default.nix
index c61e0ff00b3..22006310780 100644
--- a/pkgs/tools/misc/cpuminer-multi/default.nix
+++ b/pkgs/tools/misc/cpuminer-multi/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchgit, curl, jansson, autoconf, automake, openssl
+{ stdenv, fetchgit, curl, jansson, autoconf, automake
 , aesni ? true }:
 
 let
-  rev = "4230012da5d1cc491976c6f5e45da36db6d9f576";
-  date = "20140619";
+  rev = "977dad27e18627e5b723800f5f4201e385fe0d2e";
+  date = "20140723";
 in
 stdenv.mkDerivation rec {
   name = "cpuminer-multi-${date}-${stdenv.lib.strings.substring 0 7 rev}";
@@ -11,16 +11,16 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     inherit rev;
     url = https://github.com/wolf9466/cpuminer-multi.git;
-    sha256 = "c19a5dd1bfdbbaec3729f61248e858a5d8701424fffe67fdabf8179ced9c110b";
+    sha256 = "9c438c6cd9f40273822f3d3103a370e43e8a40368695ed5e01ae87297dce7843";
   };
 
-  buildInputs = [ autoconf automake curl jansson openssl ];
+  buildInputs = [ autoconf automake curl jansson ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
-  configureFlags = if aesni then [ "--disable-aes-ni" ] else [ ];
+  configureFlags = [ (if aesni then "--enable-aes-ni" else "--disable-aes-ni") ];
 
   meta = with stdenv.lib; {
     description = "Multi-algo CPUMiner";
diff --git a/pkgs/tools/misc/cpuminer/default.nix b/pkgs/tools/misc/cpuminer/default.nix
index 57bd21dff23..0ca95127f11 100644
--- a/pkgs/tools/misc/cpuminer/default.nix
+++ b/pkgs/tools/misc/cpuminer/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cpuminer-${version}";
-  version = "2.4";
+  version = "2.4.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/cpuminer/pooler-${name}.tar.gz";
-    sha256 = "0yl3ca31ck732f4551svxw6lx1lrjr7rhld5v09v0bgm3z07nnrx";
+    sha256 = "0grj0swh1q3c3bj3yxji80yhxb09yz62x1n5h8z7c3azq4rrv2w1";
   };
 
   buildInputs = [ curl jansson ];
diff --git a/pkgs/tools/misc/cutecom/default.nix b/pkgs/tools/misc/cutecom/default.nix
new file mode 100644
index 00000000000..37d5b6cbc7f
--- /dev/null
+++ b/pkgs/tools/misc/cutecom/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, qt4, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "cutecom-0.22.0";
+  src = fetchurl {
+    url = "http://cutecom.sourceforge.net/${name}.tar.gz";
+    sha256 = "199fvl463nyn77r3nm8xgzgifs28j5759kkcnc5xbwww2nk20rhv";
+  };
+  buildInputs = [qt4 cmake];
+
+  meta = {
+    description = "A graphical serial terminal";
+    version = "0.22.0";
+    homepage = http://cutecom.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.bennofs ];
+  };
+}
diff --git a/pkgs/tools/misc/cv/default.nix b/pkgs/tools/misc/cv/default.nix
index 28c6347a63d..b953ffc1897 100644
--- a/pkgs/tools/misc/cv/default.nix
+++ b/pkgs/tools/misc/cv/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "cv-2014-07-20";
+  name = "cv-${version}";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "Xfennec";
     repo = "cv";
-    rev = "7441de974cc13f3b07903bb86c41be4e45c8e81b";
-    sha256 = "19ky88b52a8zcv7lx802y4zi3sp0cdhya08cnax0yvlwwq43w6x9";
+    rev = "v${version}";
+    sha256 = "0nhhgkaghfp8rw23013j17yn9bqcwcrz0fylwkvx1krp5r8dalis";
   };
 
-  buildInputs = [ ];
+  buildInputs = [ ncurses ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/misc/datamash/default.nix b/pkgs/tools/misc/datamash/default.nix
new file mode 100644
index 00000000000..dabf843fc83
--- /dev/null
+++ b/pkgs/tools/misc/datamash/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "datamash-${version}";
+  version = "1.0.6";
+
+  src = fetchurl {
+    url = "http://ftp.gnu.org/gnu/datamash/${name}.tar.gz";
+    sha256 = "0154c25c45b5506b6d618ca8e18d0ef093dac47946ac0df464fb21e77b504118";
+  };
+
+  meta = {
+    description = "GNU datamash";
+    homepage = http://www.gnu.org/software/datamash/;
+    platforms = stdenv.lib.platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/misc/dbacl/default.nix b/pkgs/tools/misc/dbacl/default.nix
index f433db68a64..fd0f647bf5d 100644
--- a/pkgs/tools/misc/dbacl/default.nix
+++ b/pkgs/tools/misc/dbacl/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "dbacl-1.14";
   src = fetchurl {
     url = "http://www.lbreyer.com/gpl/${name}.tar.gz";
-    md5 = "85bfd88bc20f326dc0f31e794948e21c";
+    sha256 = "0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/ddate/default.nix b/pkgs/tools/misc/ddate/default.nix
new file mode 100644
index 00000000000..3626876ae97
--- /dev/null
+++ b/pkgs/tools/misc/ddate/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchgit, cmake} :
+
+stdenv.mkDerivation {
+  name = "ddate-0.2.2";
+  src = fetchgit {
+    url = "https://github.com/bo0ts/ddate";
+    rev = "refs/tags/v0.2.2";
+    sha256 = "1mv7x8g6ddzspcxghzz5dsxrj0x7bw5hc9yvqbl9va9z7nahwv80";
+  };
+
+  buildInputs = [ cmake ];
+
+  meta = {
+    homepage = https://github.com/bo0ts/ddate;
+    description = "Discordian version of the date program";
+    license = stdenv.lib.licenses.publicDomain;
+    maintainers = with stdenv.lib.maintainers; [kovirobi];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/ddccontrol/default.nix b/pkgs/tools/misc/ddccontrol/default.nix
new file mode 100644
index 00000000000..2d5d10054b5
--- /dev/null
+++ b/pkgs/tools/misc/ddccontrol/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, fetchurl
+, intltool
+, libtool
+, autoconf
+, automake110x
+, perl
+, perlPackages
+, libxml2
+, pciutils
+, pkgconfig
+, gtk
+, ddccontrol-db
+}:
+
+let version = "0.4.2"; in
+stdenv.mkDerivation {
+  name = "ddccontrol-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/ddccontrol/ddccontrol-${version}.tar.bz2";
+    sha1 = "fd5c53286315a61a18697a950e63ed0c8d5acff1";
+  };
+  buildInputs =
+    [
+      intltool
+      libtool
+      autoconf
+      automake110x
+      perl
+      perlPackages.libxml_perl
+      libxml2
+      pciutils
+      pkgconfig
+      gtk
+      ddccontrol-db
+    ];
+
+  prePatch = ''
+      newPath=$(echo "${ddccontrol-db}/share/ddccontrol-db" | sed "s/\\//\\\\\\//g")
+      mv configure.ac configure.ac.old
+      oldPath="\$"
+      oldPath+="{datadir}\/ddccontrol-db"
+      sed "s/$oldPath/$newPath/" <configure.ac.old >configure.ac
+      rm configure.ac.old
+  '';
+  preConfigure = ''
+      autoreconf --install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A program used to control monitor parameters by software";
+    homepage = "http://ddccontrol.sourceforge.net/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.pakhfn ];
+  };
+}
+
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 16b1858e91d..3b14e46d0d3 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -14,7 +14,7 @@ let
     };
     patches = [
       (fetchurl {
-       url = "http://ftp.de.debian.org/debian/pool/main/m/makedev/makedev_2.3.1-89.diff.gz";
+       url = "mirror://debian/pool/main/m/makedev/makedev_2.3.1-89.diff.gz";
        sha256 = "1zbifw2jkq6471fb67y893nq4lq009xbfbi57jbjwxnhqmrppcy9";
        })
     ];
@@ -32,13 +32,13 @@ in
 
 stdenv.mkDerivation {
 
-  name = "debootstrap-1.0.60";
+  name = "debootstrap-1.0.66";
 
   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 = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.60.tar.xz;
-    sha256 = "0jyxfmx466fsqak00m4n6b04zsdqym81ybah7yx2l081d0518sw8";
+    url = mirror://debian/pool/main/d/debootstrap/debootstrap_1.0.66.tar.gz;
+    sha256 = "15gh6pvk7f0fib8ggz2zx53pg2jzqk4x0s8ihkpqxqdf4rlns91k";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index 739908e3699..f21b879d5e5 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv, go }:
 
 let
-  version = "2.4.0";
+  version = "2.6.0";
 in
 stdenv.mkDerivation {
   name = "direnv-${version}";
   src = fetchurl {
     url = "http://github.com/zimbatm/direnv/archive/v${version}.tar.gz";
     name = "direnv-${version}.tar.gz";
-    sha256 = "aab8028cc1d68461dd1f6c3c9d000eef10273c52399fe5d1dd917f2f4a1a349a";
+    sha256 = "b85aac4d6a4ddf2daf193aabb3b2faf89e56507d33d763ab74cc7eb0b524ac03";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/tools/misc/dvtm/default.nix b/pkgs/tools/misc/dvtm/default.nix
index 22bea399f03..32d6b6fa6ef 100644
--- a/pkgs/tools/misc/dvtm/default.nix
+++ b/pkgs/tools/misc/dvtm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "dvtm-0.12";
+  name = "dvtm-0.14";
 
   meta = {
     description = "Dynamic virtual terminal manager";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.gz";
-    sha256 = "0qcwsxhg738rq3bh4yid15nz2rrjc9k7ay6c1qv15c3gkw86zc3f";
+    sha256 = "0ykl8dz7ivjgdzhmhlgidnp2ffh5gxq9lbg276w7iid4z10v76wa";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/ent/default.nix b/pkgs/tools/misc/ent/default.nix
new file mode 100644
index 00000000000..d6ad7f1d26b
--- /dev/null
+++ b/pkgs/tools/misc/ent/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "ent-1.1";
+
+  src = fetchurl {
+    url = "http://www.fourmilab.ch/random/random.zip";
+    sha256 = "1v39jlj3lzr5f99avzs2j2z6anqqd64bzm1pdf6q84a5n8nxckn1";
+  };
+
+  # Work around the "unpacker appears to have produced no directories"
+  # case that happens when the archive doesn't have a subdirectory.
+  setSourceRoot = "sourceRoot=`pwd`";
+
+  buildInputs = [ unzip ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ent $out/bin/
+  '';
+
+  meta = {
+    description = "Pseudorandom Number Sequence Test Program";
+    homepage = http://www.fourmilab.ch/random/;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/escoger/default.nix b/pkgs/tools/misc/escoger/default.nix
new file mode 100644
index 00000000000..2fe67f1b97f
--- /dev/null
+++ b/pkgs/tools/misc/escoger/default.nix
@@ -0,0 +1,33 @@
+{ cabal, dataDefault, fetchFromGitHub, HUnit, mtl, parallel
+, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, vector, vectorAlgorithms, vty
+}:
+
+let
+  rv = "b6b11c51846a9283ef4ee7c839b99ded9f6c3bc8";
+in
+cabal.mkDerivation (self: {
+  pname = "escoger";
+  version = "0.1.0.0-${rv}";
+  src = fetchFromGitHub {
+    owner = "tstat";
+    repo = "escoger";
+    rev = rv;
+    sha256 = "0n6mvg5cm50ym20bz74b7q1afkljp0fc9pxhqk0ai82a71xxbxy3";
+  };
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    dataDefault mtl parallel vector vectorAlgorithms vty
+  ];
+  testDepends = [
+    dataDefault HUnit mtl parallel QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 vector vectorAlgorithms
+    vty
+  ];
+  meta = {
+    description = "A multithreaded terminal fuzzy selector";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 1b6205db7ce..e29c5effbdb 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ethtool-3.14";
+  name = "ethtool-3.18";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "01v7a757757bk68vvap2x0v6jbqicchnjxvh52w8dccixxq2nkj3";
+    sha256 = "1xj20fr44dk01hghyy5sq962sbiywc88ni3qqliv8bfxzmczwgw1";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix
index ba0784138b3..a2edb1f842e 100644
--- a/pkgs/tools/misc/execline/default.nix
+++ b/pkgs/tools/misc/execline/default.nix
@@ -1,52 +1,35 @@
-{stdenv, fetchurl, skalibs}:
+{ stdenv, fetchgit, skalibs }:
 
 let
 
-  version = "1.3.1.1";
+  version = "2.1.1.0";
 
 in stdenv.mkDerivation rec {
 
   name = "execline-${version}";
 
-  src = fetchurl {
-    url = "http://skarnet.org/software/execline/${name}.tar.gz";
-    sha256 = "1br3qzif166kbp4k813ljbyq058p7mfsp2lj88n8vi4dmj935nzg";
+  src = fetchgit {
+    url = "git://git.skarnet.org/execline";
+    rev = "refs/tags/v${version}";
+    sha256 = "0yhxyih8p6p9135nifi655qk4gnhdarjzfp1lb4pxx9ar9ay5q7w";
   };
 
-  buildInputs = [ skalibs ];
+  dontDisableStatic = true;
 
-  sourceRoot = "admin/${name}";
+  enableParallelBuilding = true;
 
-  configurePhase = ''
-    pushd conf-compile
-
-    printf "$out/bin"     > conf-install-command
-    printf "$out/include" > conf-install-include
-    printf "$out/lib"     > conf-install-library
-    printf "$out/lib"     > conf-install-library.so
-    printf "$out/sysdeps" > conf-install-sysdeps
-
-    printf "${skalibs}/sysdeps" > import
-    printf "${skalibs}/include" > path-include
-    printf "${skalibs}/lib"     > path-library
-
-    # let nix builder strip things, cross-platform
-    truncate --size 0 conf-stripbins
-    truncate --size 0 conf-striplibs
-
-    rm -f flag-slashpackage
-    touch flag-allstatic
-
-    popd
-  '';
-
-  preBuild = ''
-    patchShebangs src/sys
-  '';
+  configureFlags = [
+    "--libdir=\${prefix}/lib"
+    "--includedir=\${prefix}/include"
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-dynlib=${skalibs}/lib"
+  ] ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]);
 
   meta = {
     homepage = http://skarnet.org/software/execline/;
-    description = "A small scripting language, to be used in place of a shell in non-interactive scripts.";
+    description = "A small scripting language, to be used in place of a shell in non-interactive scripts";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.isc;
   };
diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix
index 2b1108846d7..bfb36993388 100644
--- a/pkgs/tools/misc/expect/default.nix
+++ b/pkgs/tools/misc/expect/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, tcl }:
+{ stdenv, fetchurl, tcl, makeWrapper }:
 
 let version = "5.45";
 in
@@ -11,6 +11,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ tcl ];
+  nativeBuildInputs = [ makeWrapper ];
 
   #NIX_CFLAGS_COMPILE = "-DHAVE_UNISTD_H";
 
@@ -30,11 +31,16 @@ stdenv.mkDerivation {
   configureFlags = [
     "--with-tcl=${tcl}/lib"
     "--with-tclinclude=${tcl}/include"
-    "--exec-prefix=$out"
+    "--exec-prefix=$(out)"
   ];
 
-  postInstall = let libSuff = if stdenv.isDarwin then "dylib" else "so";
-    in "cp expect $out/bin; mkdir -p $out/lib; cp *.${libSuff} $out/lib";
+  postInstall = ''
+    for i in $out/bin/*; do
+      wrapProgram $i \
+        --prefix PATH : "${tcl}/bin" \
+        --prefix TCLLIBPATH ' ' $out/lib/*
+    done
+  '';
 
   meta = {
     description = "A tool for automating interactive applications";
diff --git a/pkgs/tools/misc/fasd/default.nix b/pkgs/tools/misc/fasd/default.nix
index 1cbbb9720c9..f34ce44633f 100644
--- a/pkgs/tools/misc/fasd/default.nix
+++ b/pkgs/tools/misc/fasd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pandoc, ... } :
+{ stdenv, fetchgit, pandoc } :
 
 let
   rev = "287af2b80e0829b08dc6329b4fe8d8e5594d64b0";
@@ -13,14 +13,17 @@ stdenv.mkDerivation {
     sha256 = "0kv9iyfdf916x0gab9fzs4vmsnkaqmb6kh4xna485nqij89xzkgs";
   };
 
+  # seems to be needed non-deterministically (timestamps?)
+  nativeBuildInputs = [ pandoc ];
+
   installPhase = ''
     PREFIX=$out make install
   '';
 
   meta = {
     homepage = "https://github.com/clvv/fasd";
-    description = "quick command-line access to files and directories for POSIX shells";
-    license = "free"; # https://github.com/clvv/fasd/blob/master/LICENSE
+    description = "Quick command-line access to files and directories for POSIX shells";
+    license = stdenv.lib.licenses.free; # https://github.com/clvv/fasd/blob/master/LICENSE
 
     longDescription = ''
       Fasd is a command-line productivity booster.
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index 41c479e414b..64a45b975b0 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "fdupes-1.50-PR2";
+  name = "fdupes-1.51";
   src = fetchurl {
-    url = http://fdupes.googlecode.com/files/fdupes-1.50-PR2.tar.gz;
-    sha256 = "068nxcn3xilaphq53sywli9ndydy4gijfi2mz7h45kpy0q9cgwjs";
+    url = https://github.com/adrianlopezroche/fdupes/archive/fdupes-1.51.tar.gz;
+    sha256 = "11j96vxl9vg3jsnxqxskrv3gad6dh7hz2zpyc8n31xzyxka1c7kn";
   };
 
   # workaround: otherwise make install fails (should be fixed in trunk)
diff --git a/pkgs/tools/misc/figlet/default.nix b/pkgs/tools/misc/figlet/default.nix
index 7f22a35e8de..ac812fb9881 100644
--- a/pkgs/tools/misc/figlet/default.nix
+++ b/pkgs/tools/misc/figlet/default.nix
@@ -13,12 +13,12 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     mkdir -p $out/{man/man6,bin}
-    makeFlags="DESTDIR=$out/bin MANDIR=$out/man/man6 DEFAULTFONTDIR=$out/share/figlet"
+    makeFlags="DESTDIR=$out/bin MANDIR=$out/man/man6 DEFAULTFONTDIR=$out/share/figlet CC=cc LD=cc"
   '';
 
-  meta = { 
+  meta = {
     description = "Program for making large letters out of ordinary text";
     homepage = http://www.figlet.org/;
-    license = "AFL-2.1";
+    license = stdenv.lib.licenses.afl21;
   };
 }
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 015820916c7..2cf8d50bbe5 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "file-5.17";
+  name = "file-5.22";
 
   buildInputs = [ zlib ];
 
   src = fetchurl {
     url = "ftp://ftp.astron.com/pub/file/${name}.tar.gz";
-    sha256 = "1jl31jli87s5xnjq14r1fh72qc95562qbr5f63d68yrq3ca9gsrz";
+    sha256 = "02zw14hw3gqlw91w2f2snbirvyrp7r83irvnnkjcb25q9kjaiqy4";
   };
 
   meta = {
     homepage = "http://darwinsys.com/file";
     description = "A program that shows the type of files";
-    platforms = with stdenv.lib.platforms; allBut darwin;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix
index b3d1d4c9e79..6b2069ae7bd 100644
--- a/pkgs/tools/misc/findutils/default.nix
+++ b/pkgs/tools/misc/findutils/default.nix
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
           * xargs - build and execute command lines from standard input.
     '';
 
+    platforms = stdenv.lib.platforms.all;
+
     license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
index c4e74359b15..b514f1c920f 100644
--- a/pkgs/tools/misc/flashrom/default.nix
+++ b/pkgs/tools/misc/flashrom/default.nix
@@ -11,12 +11,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig libftdi pciutils ];
 
-  makeFlags = ["PREFIX=$out"];
+  preConfigure = "export PREFIX=$out";
 
   meta = {
     homepage = "http://www.flashrom.org";
     description = "Utility for reading, writing, erasing and verifying flash ROM chips";
-    license = "GPLv2";
+    license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.funfunctor ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/misc/fluentd/Gemfile b/pkgs/tools/misc/fluentd/Gemfile
new file mode 100644
index 00000000000..41c5bde1acc
--- /dev/null
+++ b/pkgs/tools/misc/fluentd/Gemfile
@@ -0,0 +1,4 @@
+source "https://rubygems.org"
+
+gem 'fluentd'
+gem 'fluent-plugin-elasticsearch'
diff --git a/pkgs/tools/misc/fluentd/Gemfile.lock b/pkgs/tools/misc/fluentd/Gemfile.lock
new file mode 100644
index 00000000000..ba4cc4bb4a8
--- /dev/null
+++ b/pkgs/tools/misc/fluentd/Gemfile.lock
@@ -0,0 +1,49 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    cool.io (1.3.0)
+    elasticsearch (1.0.8)
+      elasticsearch-api (= 1.0.7)
+      elasticsearch-transport (= 1.0.7)
+    elasticsearch-api (1.0.7)
+      multi_json
+    elasticsearch-transport (1.0.7)
+      faraday
+      multi_json
+    faraday (0.9.1)
+      multipart-post (>= 1.2, < 3)
+    fluent-plugin-elasticsearch (0.7.0)
+      elasticsearch
+      fluentd (>= 0.10.43)
+      patron (~> 0)
+    fluentd (0.12.6)
+      cool.io (>= 1.2.2, < 2.0.0)
+      http_parser.rb (>= 0.5.1, < 0.7.0)
+      json (>= 1.4.3)
+      msgpack (>= 0.5.11, < 0.6.0)
+      sigdump (~> 0.2.2)
+      string-scrub (>= 0.0.3)
+      tzinfo (>= 1.0.0)
+      tzinfo-data (>= 1.0.0)
+      yajl-ruby (~> 1.0)
+    http_parser.rb (0.6.0)
+    json (1.8.2)
+    msgpack (0.5.11)
+    multi_json (1.11.0)
+    multipart-post (2.0.0)
+    patron (0.4.20)
+    sigdump (0.2.2)
+    string-scrub (0.0.5)
+    thread_safe (0.3.5)
+    tzinfo (1.2.2)
+      thread_safe (~> 0.1)
+    tzinfo-data (1.2015.1)
+      tzinfo (>= 1.0.0)
+    yajl-ruby (1.2.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  fluent-plugin-elasticsearch
+  fluentd
diff --git a/pkgs/tools/misc/fluentd/default.nix b/pkgs/tools/misc/fluentd/default.nix
new file mode 100644
index 00000000000..b659dafddeb
--- /dev/null
+++ b/pkgs/tools/misc/fluentd/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, lib, bundlerEnv, ruby, curl }:
+
+bundlerEnv {
+  name = "fluentd-0.12.6";
+
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  buildInputs = [ curl ];
+
+  meta = with lib; {
+    description = "Fluentd data collector.";
+    homepage    = http://www.fluentd.org/;
+    license     = with licenses; asl20;
+    maintainers = with maintainers; [ offline ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/fluentd/gemset.nix b/pkgs/tools/misc/fluentd/gemset.nix
new file mode 100644
index 00000000000..4d0072c6afe
--- /dev/null
+++ b/pkgs/tools/misc/fluentd/gemset.nix
@@ -0,0 +1,171 @@
+{
+  "cool.io" = {
+    version = "1.3.0";
+    source = {
+      type = "gem";
+      sha256 = "1s3x0a32gbr6sg4lb0yk5irh48z4260my6g5ssifyl54rh4b6lzh";
+    };
+  };
+  "elasticsearch" = {
+    version = "1.0.8";
+    source = {
+      type = "gem";
+      sha256 = "0kfiza9p98gchqgd0a64ryw77wgy42b7hhy89ba1s2jy2kcm3ahl";
+    };
+    dependencies = [
+      "elasticsearch-api"
+      "elasticsearch-transport"
+    ];
+  };
+  "elasticsearch-api" = {
+    version = "1.0.7";
+    source = {
+      type = "gem";
+      sha256 = "0fb7pmzhfl48zxkbx3ayc61x1gv3qvvs4xcp4yf1rxflz1iw6ck9";
+    };
+    dependencies = [
+      "multi_json"
+    ];
+  };
+  "elasticsearch-transport" = {
+    version = "1.0.7";
+    source = {
+      type = "gem";
+      sha256 = "0p5yzbvgpw84asfj8ifbqckw6qbssc6xrw086qfh58kxpfnin0zc";
+    };
+    dependencies = [
+      "faraday"
+      "multi_json"
+    ];
+  };
+  "faraday" = {
+    version = "0.9.1";
+    source = {
+      type = "gem";
+      sha256 = "1h33znnfzxpscgpq28i9fcqijd61h61zgs3gabpdgqfa1043axsn";
+    };
+    dependencies = [
+      "multipart-post"
+    ];
+  };
+  "fluent-plugin-elasticsearch" = {
+    version = "0.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1jav4lqf9j3w014ksgl3zr05kg62lkc58xnhjjriqp3c1412vwpy";
+    };
+    dependencies = [
+      "elasticsearch"
+      "fluentd"
+      "patron"
+    ];
+  };
+  "fluentd" = {
+    version = "0.12.6";
+    source = {
+      type = "gem";
+      sha256 = "04lrr133ci6m3j85cj2rhhjkw3b1r12fxcymk943lsdlrip0brr1";
+    };
+    dependencies = [
+      "cool.io"
+      "http_parser.rb"
+      "json"
+      "msgpack"
+      "sigdump"
+      "string-scrub"
+      "tzinfo"
+      "tzinfo-data"
+      "yajl-ruby"
+    ];
+  };
+  "http_parser.rb" = {
+    version = "0.6.0";
+    source = {
+      type = "gem";
+      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+    };
+  };
+  "json" = {
+    version = "1.8.2";
+    source = {
+      type = "gem";
+      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
+    };
+  };
+  "msgpack" = {
+    version = "0.5.11";
+    source = {
+      type = "gem";
+      sha256 = "1jmi0i3j8xfvidx6ivbcbdwpyf54r0d7dc4rrq1jbvhd1ffvr79w";
+    };
+  };
+  "multi_json" = {
+    version = "1.11.0";
+    source = {
+      type = "gem";
+      sha256 = "1mg3hp17ch8bkf3ndj40s50yjs0vrqbfh3aq5r02jkpjkh23wgxl";
+    };
+  };
+  "multipart-post" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
+    };
+  };
+  "patron" = {
+    version = "0.4.20";
+    source = {
+      type = "gem";
+      sha256 = "0wdgjazzyllnajkzgdh55q60mlczq8h5jhwpzisrj2i8izrq45zb";
+    };
+  };
+  "sigdump" = {
+    version = "0.2.2";
+    source = {
+      type = "gem";
+      sha256 = "1h4d4vfg1g3wbbmqahmk7khzhswk5mjv4hwbs7bhmp808h8mz973";
+    };
+  };
+  "string-scrub" = {
+    version = "0.0.5";
+    source = {
+      type = "gem";
+      sha256 = "0fy4qby2az268qzmf00mb3p0hiqgshz9g6kvgl5vg76y90hl178g";
+    };
+  };
+  "thread_safe" = {
+    version = "0.3.5";
+    source = {
+      type = "gem";
+      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
+    };
+  };
+  "tzinfo" = {
+    version = "1.2.2";
+    source = {
+      type = "gem";
+      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
+    };
+    dependencies = [
+      "thread_safe"
+    ];
+  };
+  "tzinfo-data" = {
+    version = "1.2015.1";
+    source = {
+      type = "gem";
+      sha256 = "1x6fa8ayd2kal397d5gdsdg0fjqynfqv1n9n0q702mq839dw593h";
+    };
+    dependencies = [
+      "tzinfo"
+    ];
+  };
+  "yajl-ruby" = {
+    version = "1.2.1";
+    source = {
+      type = "gem";
+      sha256 = "0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index ad2820012db..886495a27eb 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -1,39 +1,61 @@
-{ stdenv, fetchurl, gettext, freetype, zlib
-, libungif, libpng, libjpeg, libtiff, libxml2
-, withX11 ? false
-, libX11 ? null, lib, xproto ? null, libXt ? null
+{ stdenv, fetchurl, fetchpatch, lib
+, autoconf, automake, gnum4, libtool, git, perl, gnulib, uthash, pkgconfig, gettext
+, python, freetype, zlib, glib, libungif, libpng, libjpeg, libtiff, libxml2, pango
+, withGTK ? false, gtk2
+, withPython ? false # python-scripting was breaking inconsolata and libertine builds
 }:
 
-let 
-  version = "20110222";
-  name = "fontforge-${version}";
+let
+  version = "20141230"; # also tagged v2.1.0
 in
 
 stdenv.mkDerivation {
-  inherit name;
-  
+  name = "fontforge-${version}";
+
   src = fetchurl {
-    url = "mirror://sourceforge/fontforge/fontforge_full-${version}.tar.bz2";
-    sha256 = "0gj342iyd2qmza523r84m65fm7bymcfd4lbllywbfjzq4s0838lg";
+    url = "https://github.com/fontforge/fontforge/archive/${version}.tar.gz";
+    sha256 = "1xfi13knn1x7hd7pvr6090qz6qfa5znbs85rg1p5mfj377z2h8rb";
   };
-    
-  configureFlags = lib.optionalString withX11 "--with-gui=gdraw";
-  
-  preConfigure = ''
-    unpackFile ${freetype.src}
-    freetypeSrcPath=$(echo `pwd`/freetype-*)
-    configureFlags="$configureFlags --with-freetype-src=$freetypeSrcPath"
-    
-    substituteInPlace configure \
-      --replace /usr/include /no-such-path \
-      --replace /usr/lib /no-such-path \
-      --replace /usr/local /no-such-path \
 
+  patches = [(fetchpatch {
+    name = "use-system-uthash.patch";
+    url = "http://pkgs.fedoraproject.org/cgit/fontforge.git/plain/"
+      + "fontforge-20140813-use-system-uthash.patch?id=8bdf933";
+    sha256 = "0n8i62qv2ygfii535rzp09vvjx4qf9zp5qq7qirrbzm1l9gykcjy";
+  })];
+  patchFlags = "-p0";
+
+  # FIXME: git isn't really used, but configuration fails without it
+  buildInputs = [
+    git autoconf automake gnum4 libtool perl pkgconfig gettext uthash
+    python freetype zlib glib libungif libpng libjpeg libtiff libxml2
+  ]
+    ++ lib.optionals withGTK [ gtk2 ]
+    # I'm not sure why pango doesn't seem necessary on Linux
+    ++ lib.optionals stdenv.isDarwin [ pango ];
+
+  configureFlags =
+    lib.optionals (!withPython) [ "--disable-python-scripting" "--disable-python-extension" ]
+    ++ lib.optional withGTK "--enable-gtk2-use";
 
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lz"
+  preConfigure = ''
+    cp -r "${gnulib}" ./gnulib
+    chmod +w -R ./gnulib
+    ./bootstrap --skip-git --gnulib-srcdir=./gnulib
   '';
 
-  buildInputs =
-    [ gettext freetype zlib libungif libpng libjpeg libtiff libxml2 ]
-    ++ lib.optionals withX11 [ libX11 xproto libXt ];
+  postInstall =
+    # get rid of the runtime dependency on python
+    lib.optionalString (!withPython) ''
+      rm -r "$out/share/fontforge/python"
+    '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A font editor";
+    homepage = http://fontforge.github.io;
+    platforms = stdenv.lib.platforms.all;
+  };
 }
+
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 68f826a9d93..941aa756420 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation {
   preConfigure = ''
     sed -i "s|/usr/|$out/|" Makefile 
   '';
+
+  preBuild = ''
+    makeFlagsArray=("CC=$CC" "REGEXDEFS=-DHAVE_REGEX_H -DPOSIX_REGEX" "LDFLAGS=")
+  '';
   
   postInstall = ''
     ln -s $out/games/fortune $out/bin/fortune
diff --git a/pkgs/tools/misc/getopt/default.nix b/pkgs/tools/misc/getopt/default.nix
index 41bc2ffc99d..ed4cde69eda 100644
--- a/pkgs/tools/misc/getopt/default.nix
+++ b/pkgs/tools/misc/getopt/default.nix
@@ -5,6 +5,9 @@ stdenv.mkDerivation {
   builder = ./builder.sh;
   src = fetchurl {
     url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz;
-    md5 = "02188ca68da27c4175d6e9f3da732101";
+    sha256 = "1arvjfzw6p310zbgv629w5hkyslrj44imf3r3s2r4ry2jfcks221";
   };
+  preBuild = ''
+    export buildFlags=CC="$CC" # for darwin
+  '';
 }
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 0f8f82acaed..e73bc487f21 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, geoip, ncurses, glib }:
 
 let
-  version = "0.8";
+  version = "0.9";
   mainSrc = fetchurl {
-    url = "http://tar.goaccess.prosoftcorp.com/goaccess-${version}.tar.gz";
-    sha256 = "a61215b1f3e82bdb50c892e843f1a85d6d85f882915d694a5672911fab955eea";
+    url = "http://tar.goaccess.io/goaccess-${version}.tar.gz";
+    sha256 = "1yi7bxrmhvd11ha405bqpz7q442l9bnnx317iy22xzxjl96frn29";
   };
 in
 
@@ -17,9 +17,9 @@ stdenv.mkDerivation rec {
     "--enable-utf8"
   ];
 
-  buildInputs = [ 
+  buildInputs = [
     pkgconfig
-    geoip 
+    geoip
     ncurses
     glib
   ];
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 16c7f652dec..e5c814faa4a 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig, gtkmm, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.18.0";
+  name = "gparted-0.22.0";
 
   src = fetchurl {
+    sha256 = "09vg5lxvh81x54ps5ayfjd4jl84wprn42i1wifnfmj44dqd5wxda";
     url = "mirror://sourceforge/gparted/${name}.tar.bz2";
-    sha256 = "0slyf0sbv7a7xvdcpn9ibnixpy0w4s6zwpz6sklkxcyfybw1j7xz";
   };
 
   configureFlags = "--disable-doc";
@@ -15,12 +15,16 @@ stdenv.mkDerivation rec {
     parted gtk glib intltool gettext libuuid pkgconfig gtkmm libxml2
   ];
 
-  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Graphical disk partitioning tool";
+    longDescription = ''
+      GNOME Partition Editor for creating, reorganizing, and deleting disk
+      partitions. GParted enables you to change the partition organization
+      while preserving the partition contents.
+    '';
     homepage = http://gparted.sourceforge.net;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = with stdenv.lib.platforms; linux;
+    license = with licenses; gpl2Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index 03592440818..452b6c981ff 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  version = "1.4";
+  version = "1.9";
   name    = "grc-${version}";
 
   src = fetchurl {
-    url    = "http://korpus.juls.savba.sk/~garabik/software/grc/grc_${version}.tar.gz";
-    sha256 = "1l7lskxfjk32kkv4aaqw5qcxvh972nab3x2jzy67m1aa0zpcbzdv";
+    url    = "http://korpus.juls.savba.sk/~garabik/software/grc/grc_${version}.orig.tar.gz";
+    sha256 = "0nsgqpijhpinnzscmpnhcjahv8yivz0g65h8zsly2md23ibnwqj1";
   };
 
   installPhase = ''
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     description = "Yet another colouriser for beautifying your logfiles or output of commands";
     homepage    = http://korpus.juls.savba.sk/~garabik/software/grc.html;
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 ];
+    maintainers = with maintainers; [ lovek323 AndersonTorres ];
     platforms   = platforms.unix;
 
     longDescription = ''
@@ -29,4 +29,3 @@ stdenv.mkDerivation rec {
     '';
   };
 }
-
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index e3c07af759c..3e1fa21fd56 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,45 +1,56 @@
-{ stdenv, fetchurl, autogen, flex, bison, python, autoconf, automake
+{ stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake
 , gettext, ncurses, libusb, freetype, qemu, devicemapper
-, linuxPackages ? null
+, zfs ? null
 , efiSupport ? false
-, zfsSupport ? false
+, zfsSupport ? true
 }:
 
 with stdenv.lib;
 let
+  pcSystems = {
+    "i686-linux".target = "i386";
+    "x86_64-linux".target = "i386";
+  };
+
   efiSystems = {
     "i686-linux".target = "i386";
     "x86_64-linux".target = "x86_64";
   };
 
   canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems);
+  inPCSystems = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) pcSystems);
 
-  prefix = "grub${if efiSupport then "-efi" else ""}";
-
-  version = "2.02-beta2";
+  version = "2.02-git-2ae9457";
 
   unifont_bdf = fetchurl {
     url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
     sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
   };
+
+  po_src = fetchurl {
+    name = "grub-2.02-beta2.tar.gz";
+    url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.gz";
+    sha256 = "1lr9h3xcx0wwrnkxdnkfjwy08j7g7mdlmmbdip2db4zfgi69h0rm";
+  };
+
 in (
 
 assert efiSupport -> canEfi;
-assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null;
+assert zfsSupport -> zfs != null;
 
 stdenv.mkDerivation rec {
-  name = "${prefix}-${version}";
+  name = "grub-${version}";
 
-  src = fetchurl {
-    name = "grub-2.02-beta2.tar.xz";
-    url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.xz";
-    sha256 = "13a13fhc0wf473dn73zhga15mjvkg6vqp4h25dxg4n7am2r05izn";
+  src = fetchgit {
+    url = "git://git.savannah.gnu.org/grub.git";
+    rev = "2ae9457e6eb4c352051fb32bc6fc931a22528ab2";
+    sha256 = "1ik60qgkymg0xdns5az1hbxasspah2vzxg334rpbk2yy3h3nx5ln";
   };
 
   nativeBuildInputs = [ autogen flex bison python autoconf automake ];
   buildInputs = [ ncurses libusb freetype gettext devicemapper ]
     ++ optional doCheck qemu
-    ++ optional zfsSupport linuxPackages.zfs;
+    ++ optional zfsSupport zfs;
 
   preConfigure =
     '' for i in "tests/util/"*.in
@@ -61,7 +72,10 @@ stdenv.mkDerivation rec {
     '';
 
   prePatch =
-    '' sh autogen.sh
+    '' tar zxf ${po_src} grub-2.02~beta2/po
+       rm -rf po
+       mv grub-2.02~beta2/po po
+       sh autogen.sh
        gunzip < "${unifont_bdf}" > "unifont.bdf"
        sed -i "configure" \
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
@@ -72,6 +86,13 @@ stdenv.mkDerivation rec {
   configureFlags = optional zfsSupport "--enable-libzfs"
     ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ];
 
+  # save target that grub is compiled for
+  grubTarget = if efiSupport
+               then "${efiSystems.${stdenv.system}.target}-efi"
+               else if inPCSystems
+                    then "${pcSystems.${stdenv.system}.target}-pc"
+                    else "";
+
   doCheck = false;
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix
index 4f4931e004f..cb561e8172f 100644
--- a/pkgs/tools/misc/grub/default.nix
+++ b/pkgs/tools/misc/grub/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl, autoconf, automake, buggyBiosCDSupport ? true}:
+{stdenv, fetchurl, autoconf, automake, texinfo, buggyBiosCDSupport ? true}:
 
 stdenv.mkDerivation {
   name = "grub-0.97-patch-1.12";
 
   src = fetchurl {
     url = ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz;
-    md5 = "cd3f3eb54446be6003156158d51f4884";
+    sha256 = "02r6b52r0nsp6ryqfiqchnl7r1d9smm80sqx24494gmx5p8ia7af";
   };
 
   # Lots of patches from Gentoo, in particular splash screen support
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
   ] ++ (stdenv.lib.optional buggyBiosCDSupport ./buggybios.patch);
 
   # Autoconf/automake required for the splashimage patch.
-  buildInputs = [autoconf automake];
+  buildInputs = [autoconf automake texinfo];
 
   prePatch = ''
     unpackFile $gentooPatches
@@ -47,5 +47,12 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     autoreconf
+    automake --add-missing
   '';
+
+  passthru.grubTarget = "";
+
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/tools/misc/grub/trusted.nix b/pkgs/tools/misc/grub/trusted.nix
new file mode 100644
index 00000000000..9f897d7e93a
--- /dev/null
+++ b/pkgs/tools/misc/grub/trusted.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchgit, autoconf, automake, buggyBiosCDSupport ? true}:
+
+stdenv.mkDerivation {
+  name = "trustedGRUB-1.1.5";
+
+  src = fetchgit {
+     url = "https://github.com/ts468/TrustedGRUB";
+     rev = "954941c17e14c8f7b18e6cd3043ef5f946866f1c";
+     sha256 = "30c21765dc44f02275e66220d6724ec9cd45496226ca28c6db59a9147aa22685";
+  };
+
+  # Autoconf/automake required for the splashimage patch.
+  buildInputs = [autoconf automake];
+
+  preConfigure = ''
+    autoreconf
+  '';
+
+  meta = {
+    homepage = "http://sourceforge.net/projects/trustedgrub/";
+    repositories.git = https://github.com/ts468/TrustedGRUB;
+    description = "Legacy GRUB bootloader extended with TCG support";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  };
+}
diff --git a/pkgs/tools/misc/gummiboot/default.nix b/pkgs/tools/misc/gummiboot/default.nix
index 2d0b0015f9d..37655020062 100644
--- a/pkgs/tools/misc/gummiboot/default.nix
+++ b/pkgs/tools/misc/gummiboot/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = http://pkgs.fedoraproject.org/repo/pkgs/gummiboot/gummiboot-45.tar.xz/5d4957390e959cb9f325b87712ddd3f1/gummiboot-45.tar.xz;
-    md5 = "5d4957390e959cb9f325b87712ddd3f1";
+    sha256 = "15227d6abi90vg7rs234fm13af511nsd6dv87c3jvsjhgb9ib0hm";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/hddtemp/default.nix b/pkgs/tools/misc/hddtemp/default.nix
index 835ceb32881..925ea13780a 100644
--- a/pkgs/tools/misc/hddtemp/default.nix
+++ b/pkgs/tools/misc/hddtemp/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation {
     description = "Tool for displaying hard disk temperature";
     homepage = https://savannah.nongnu.org/projects/hddtemp/;
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 5cdc468c2a5..bcfca5fddb5 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -7,12 +7,12 @@
 , enableShared ? true
 }:
 stdenv.mkDerivation rec {
-  version = "1.8.13";
-  name = "hdf5-${version}-patch1";
+  version = "1.8.14";
+  name = "hdf5-${version}";
   src = fetchurl {
-    url = "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-${version}.tar.gz";
-    sha256 = "1h9qdl321gzm3ihdhlijbl9sh9qcdrw94j7izg64yfqhxj7b7xl2";  			
-  };
+    url = "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-${version}/src/hdf5-${version}.tar.gz";
+    sha256 = "0f86gv32pjrrphvamgims1dd7f3bp46hjarbcdy8k4gmyzpgxghx";
+ };
 
   passthru = {
     mpiSupport = (mpi != null);
diff --git a/pkgs/tools/misc/heimdall/default.nix b/pkgs/tools/misc/heimdall/default.nix
index 227fba3d377..17689a4848a 100644
--- a/pkgs/tools/misc/heimdall/default.nix
+++ b/pkgs/tools/misc/heimdall/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchgit, pkgconfig, libusb1, udev
+{ stdenv, fetchFromGitHub, pkgconfig, libusb1, udev
 , enableGUI ? true, qt4 ? null
 }:
 
-stdenv.mkDerivation {
-  name = "heimdall-1.4.0";
+stdenv.mkDerivation rec {
+  version = "1.4.1";
+  name = "heimdall-${version}";
 
-  src = fetchgit {
-    url = git://github.com/Benjamin-Dobell/Heimdall.git;
-    rev = "refs/tags/v1.4.0";
-    sha256 = "285785d83fd4edbe98c0fa38c27772f72950a5887b255c00937a1f11c79ebf57";
+  src = fetchFromGitHub {
+    owner  = "Benjamin-Dobell";
+    repo   = "Heimdall";
+    rev    = "v${version}";
+    sha256 = "1b7xpamwvw5r2d9yf73f0axv35vg8zaz1345xs3lmsr105phnnp4";
   };
 
   buildInputs =
diff --git a/pkgs/tools/misc/i3minator/default.nix b/pkgs/tools/misc/i3minator/default.nix
index 08e012128c2..02b80493654 100644
--- a/pkgs/tools/misc/i3minator/default.nix
+++ b/pkgs/tools/misc/i3minator/default.nix
@@ -32,7 +32,7 @@ in buildPythonPackage rec {
       project is inspired by tmuxinator and uses i3-py.
     '';
     homepage = https://github.com/carlesso/i3minator;
-    license = "WTFPL"; # http://sam.zoy.org/wtfpl/
+    license = stdenv.lib.licenses.wtfpl;
     maintainers = with maintainers; [ iElectric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
new file mode 100644
index 00000000000..345e36fed71
--- /dev/null
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, perl, cdrkit, syslinux }:
+
+let
+  date = "20141124";
+  rev = "5cbdc41778622c07429e00f5aee383b575532bf0";
+in
+
+stdenv.mkDerivation {
+  name = "ipxe-${date}-${builtins.substring 0 7 rev}";
+
+  buildInputs = [ perl cdrkit syslinux ];
+
+  src = fetchgit {
+    url = git://git.ipxe.org/ipxe.git;
+    sha256 = "22f427df9141a2bbb319b51bdca4f2b7d3a4cbb5d1b2dcb35a43460eac59d305";
+    inherit rev;
+  };
+
+  preConfigure = "cd src";
+
+  makeFlags =
+    [ "ECHO_E_BIN_ECHO=echo" "ECHO_E_BIN_ECHO_E=echo" # No /bin/echo here.
+      "ISOLINUX_BIN_LIST=${syslinux}/share/syslinux/isolinux.bin"
+    ];
+
+  installPhase =
+    ''
+      mkdir $out
+      cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn $out
+    '';
+
+  meta = with stdenv.lib;
+    { description = "Network boot firmware";
+      homepage = http://ipxe.org/;
+      license = licenses.gpl2;
+      maintainers = with maintainers; [ emery ];
+      platforms = platforms.all;
+    };
+}
diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix
index 02cb65b1060..7d0963c2bb0 100644
--- a/pkgs/tools/misc/ised/default.nix
+++ b/pkgs/tools/misc/ised/default.nix
@@ -1,47 +1,17 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="ised";
-    version="2.5.0";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/project/ised/${name}.tar.bz2";
-    hash="1avfb4ivq6iz50rraci0pcxl0w94899sz6icdqc0l4954y4zs8qd";
+stdenv.mkDerivation rec {
+  name = "ised-${version}";
+  version = "2.6.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/project/ised/${name}.tar.bz2";
+    sha256 = "0rf9brqkrad8f3czpfc1bxq9ybv3nxci9276wdxas033c82cqkjs";
   };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
   meta = {
     description = "A numeric sequence editor";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ raskin ];
+    platforms = with stdenv.lib.platforms; linux;
+    license = stdenv.lib.licenses.gpl3Plus;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "ised.sf.net";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/tools/misc/ised/default.upstream b/pkgs/tools/misc/ised/default.upstream
new file mode 100644
index 00000000000..6539bf477e5
--- /dev/null
+++ b/pkgs/tools/misc/ised/default.upstream
@@ -0,0 +1,4 @@
+url http://ised.sourceforge.net/web_nav.html
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix
index 2fa71223931..08fbba873e5 100644
--- a/pkgs/tools/misc/jdiskreport/default.nix
+++ b/pkgs/tools/misc/jdiskreport/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.jgoodies.com/freeware/jdiskreport/;
     description = "A graphical utility to visualize disk usage";
-    license = "unfree-redistributable"; #TODO freedist, libs under BSD-3
+    license = stdenv.lib.licenses.unfreeRedistributable; #TODO freedist, libs under BSD-3
   };
 }
diff --git a/pkgs/tools/misc/kde-gtk-config/default.nix b/pkgs/tools/misc/kde-gtk-config/default.nix
index 873d2adde7f..88df0b6b544 100644
--- a/pkgs/tools/misc/kde-gtk-config/default.nix
+++ b/pkgs/tools/misc/kde-gtk-config/default.nix
@@ -22,7 +22,10 @@ stdenv.mkDerivation {
     pkgconfig
   ];
 
-  patches = [ ./kde-gtk-config-2.2.1-install-paths.patch ];
+  patches = [
+    ./kde-gtk-config-2.2.1-install-paths.patch
+    ./kde-gtk-config-follow-symlinks.patch
+  ];
 
   cmakeFlags = ''
     -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include
diff --git a/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch b/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch
new file mode 100644
index 00000000000..e291589e82e
--- /dev/null
+++ b/pkgs/tools/misc/kde-gtk-config/kde-gtk-config-follow-symlinks.patch
@@ -0,0 +1,13 @@
+diff --git a/src/appearancegtk2.cpp b/src/appearancegtk2.cpp
+index 3d89c82..4dcce69 100644
+--- a/src/appearancegtk2.cpp
++++ b/src/appearancegtk2.cpp
+@@ -56,7 +56,7 @@ QString AppearanceGTK2::themesGtkrcFile(const QString& themeName) const
+     QStringList themes=installedThemes();
+     themes=themes.filter(QRegExp("/"+themeName+"/?$"));
+     if(themes.size()==1) {
+-        QDirIterator it(themes.first(), QDirIterator::Subdirectories);
++        QDirIterator it(themes.first(), QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while(it.hasNext()) {
+             it.next();
+             if(it.fileName()=="gtkrc") {
diff --git a/pkgs/tools/misc/kermit/default.nix b/pkgs/tools/misc/kermit/default.nix
index ee521f04700..3b2e71fd01c 100644
--- a/pkgs/tools/misc/kermit/default.nix
+++ b/pkgs/tools/misc/kermit/default.nix
@@ -1,13 +1,14 @@
-{stdenv, fetchurl, ncurses}:
-stdenv.mkDerivation {
-  name = "kermit-8.0.211";
+{ stdenv, fetchurl, ncurses, glibc }:
+
+stdenv.mkDerivation rec {
+  name = "kermit-9.0.302";
 
   src = fetchurl {
-    url = ftp://kermit.columbia.edu/kermit/archives/cku211.tar.gz;
-    sha256 = "14xsmdlsk2pgsp51l7lxwncgljwvgm446a4m6nk488shj94cvrrr";
+    url = ftp://ftp.kermitproject.org/kermit/archives/cku302.tar.gz;
+    sha256 = "0487mh6s99ijqf1pfmbm302pa5i4pzmm8s439hdl1ffs5g8jqpqd";
   };
 
-  buildInputs = [ ncurses ];
+  buildInputs = [ ncurses glibc ];
 
   unpackPhase = ''
     mkdir -p src
@@ -17,19 +18,21 @@ stdenv.mkDerivation {
 
   patchPhase = ''
     sed -i -e 's@-I/usr/include/ncurses@@' \
-      -e 's@-lncurses@-lncurses -lresolv -lcrypt@' \
       -e 's@/usr/local@'"$out"@ makefile
   '';
-  buildPhase = "make -f makefile linux";
+
+  buildPhase = "make -f makefile linux LNKFLAGS='-lcrypt -lresolv'";
+
   installPhase = ''
     mkdir -p $out/bin
     mkdir -p $out/man/man1
     make -f makefile install
   '';
 
-  meta = {
-    homepage = "http://www.columbia.edu/kermit/ck80.html";
+  meta = with stdenv.lib; {
+    homepage = http://www.kermitproject.org/ck90.html;
     description = "Portable Scriptable Network and Serial Communication Software";
-    license = "free non-commercial"; #Kermit http://www.columbia.edu/kermit/ckfaq.html#license
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 2eb63f09216..1ed6be071a5 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,21 +1,26 @@
-{ stdenv, fetchurl, makeWrapper, coreutils, openssh, gnupg
+{ stdenv, fetchFromGitHub, makeWrapper, coreutils, openssh, gnupg
 , procps, gnugrep, gawk, findutils, gnused }:
 
-stdenv.mkDerivation {
-  name = "keychain-2.7.1";
+stdenv.mkDerivation rec {
+  name = "keychain-${version}";
+  version = "2.8.0";
 
-  src = fetchurl {
-    url = mirror://gentoo/distfiles/keychain-2.7.1.tar.bz2;
-    sha256 = "14ai6wjwnj09xnl81ar2dlr5kwb8y1k5ck6nc549shpng0zzw1qi";
+  src = fetchFromGitHub {
+    owner = "funtoo";
+    repo = "keychain";
+    rev = "1c8eaba53a7788d12d086b66ac3929810510f73a";
+    sha256 = "0ajas58cv8mp5wb6hn1zhsqiwfxvx69p4f91a5j2as299rxgrxlp";
   };
 
-  phases = [ "unpackPhase" "buildPhase" ];
+  phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
 
   buildInputs = [ makeWrapper ];
 
+  patchPhase = "sed -i -e 's,version=.*,version=\"${version}\",g' keychain.sh";
+
   buildPhase = ''
     mkdir -p $out/bin
-    cp keychain $out/bin
+    cp keychain.sh $out/bin/keychain
     wrapProgram $out/bin/keychain \
       --prefix PATH ":" "${coreutils}/bin" \
       --prefix PATH ":" "${openssh}/bin" \
@@ -27,9 +32,9 @@ stdenv.mkDerivation {
       --prefix PATH ":" "${procps}/bin"
   '';
 
-  meta = { 
+  meta = {
     description = "Keychain management tool";
-    homepage = "http://www.gentoo.org/proj/en/keychain/";
+    homepage = "http://www.funtoo.org/Keychain";
     license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix
index 6d03b09c588..39987a3b605 100644
--- a/pkgs/tools/misc/lbdb/default.nix
+++ b/pkgs/tools/misc/lbdb/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   name = "lbdb-${version}";
   src = fetchurl {
     url = "http://www.spinnaker.de/debian/lbdb_${version}.tar.gz";
-    md5 = "a8e65f1400c90818ff324dc4fd67eba2";
+    sha256 = "1279ssfrh4cqrjzq5q47xbdlw5qx3aazxjshi86ljm4cw6xxvgar";
   };
 
   buildInputs = [ perl ] ++ stdenv.lib.optional (!stdenv.isDarwin) finger_bsd;
diff --git a/pkgs/tools/misc/ldapvi/default.nix b/pkgs/tools/misc/ldapvi/default.nix
index 6dba834e8be..df29341d58b 100644
--- a/pkgs/tools/misc/ldapvi/default.nix
+++ b/pkgs/tools/misc/ldapvi/default.nix
@@ -12,11 +12,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ openldap openssl popt glib ncurses readline pkgconfig cyrus_sasl autoconf automake ];
 
-  setSourceRoot = ''
-    sourceRoot=git-export/ldapvi
-  '';
- 
   preConfigure = ''
+    cd ldapvi
     ./autogen.sh
   '';
 
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index c51219839b2..f7790fd3468 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "less-462";
+  name = "less-471";
 
   src = fetchurl {
-    url = http://www.greenwoodsoftware.com/less/less-462.tar.gz;
-    sha256 = "1kv5izyrkds8lkkzd46c9gxsnjgxbr7w4ficzma95dprcn92m97a";
+    url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz";
+    sha256 = "1y17zfrn91fs71jry5gp9ibj7darglhr42krimw7hqsjkbx17xip";
   };
 
   # Look for ‘sysless’ in /etc.
diff --git a/pkgs/tools/misc/logstash-forwarder/default.nix b/pkgs/tools/misc/logstash-forwarder/default.nix
index 961dbc08335..a20b1d57775 100644
--- a/pkgs/tools/misc/logstash-forwarder/default.nix
+++ b/pkgs/tools/misc/logstash-forwarder/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchgit, go_1_1 }:
+{ stdenv, fetchgit, go_1_3 }:
 stdenv.mkDerivation {
-  name = "logstash-forwarder-20140410";
+  name = "logstash-forwarder-20141216";
   src = fetchgit {
     url = https://github.com/elasticsearch/logstash-forwarder.git;
-    rev = "ec504792108ab6536b45bcf6dff6d26a6b56fef3";
-    sha256 = "309545ceaec171bee997cad260bef1433e041b9f3bfe617d475bcf79924f943d";
+    rev = "6082bd8aaecb2180f5b56f4fb1b2940a6935ef7b";
+    sha256 = "1686rlx5p7d2806cg8y4376m4l7nvg1yjgg52ccrs0v4fnqs6292";
   };
-  buildInputs = [ go_1_1 ];
+  buildInputs = [ go_1_3 ];
   installPhase = ''
     mkdir -p $out/bin
     cp build/bin/logstash-forwarder $out/bin
@@ -15,6 +15,6 @@ stdenv.mkDerivation {
   meta = {
     license = stdenv.lib.licenses.asl20;
     homepage = https://github.com/elasticsearch/logstash-forwarder;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/logstash/contrib.nix b/pkgs/tools/misc/logstash/contrib.nix
new file mode 100644
index 00000000000..c019803f903
--- /dev/null
+++ b/pkgs/tools/misc/logstash/contrib.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchzip }:
+
+# Note that plugins are supposed to be installed as:
+#   $path/logstash/{inputs,codecs,filters,outputs}/*.rb 
+stdenv.mkDerivation rec {
+  version = "1.4.2";
+  name = "logstash-contrib-${version}";
+
+  src = fetchzip {
+   url = "http://download.elasticsearch.org/logstash/logstash/logstash-contrib-${version}.tar.gz";
+   sha256 = "1yj8sf3b526gixh3c6zhgkfpg4f0c72p1lzhfhdx8b3lw7zjkj0k";
+  };
+
+  dontBuild    = true;
+  dontPatchELF = true;
+  dontStrip    = true;
+  dontPatchShebangs = true;
+
+  installPhase = ''
+    mkdir -p $out/logstash
+    cp -r lib/* $out
+  '';
+
+  meta = with lib; {
+    description = "Community-maintained logstash plugins";
+    homepage    = https://github.com/elasticsearch/logstash-contrib;
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/misc/makebootfat/default.nix b/pkgs/tools/misc/makebootfat/default.nix
new file mode 100644
index 00000000000..03c913b7224
--- /dev/null
+++ b/pkgs/tools/misc/makebootfat/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "makebootfat-1.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/advancemame/${name}.tar.gz";
+    sha256 = "0v0g1xax0y6hmw2x10nfhchp9n7vqyvgc33gcxqax8jdq2pxm1q2";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Create bootable USB disks using the FAT filesystem and syslinux";
+    homepage = "http://advancemame.sourceforge.net/boot-readme.html";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.emery ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index f664bcc6917..403068b1bf7 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -1,17 +1,30 @@
 { stdenv, fetchurl, pkgconfig, libpipeline, db, groff }:
  
 stdenv.mkDerivation rec {
-  name = "man-db-2.6.6";
+  name = "man-db-2.7.1";
   
   src = fetchurl {
     url = "mirror://savannah/man-db/${name}.tar.xz";
-    sha256 = "1hv6byj6sg6cp3jyf08gbmdm4pwhvd5hzmb94xl0w7prin6hzabx";
+    sha256 = "03ly0hbpgjnag576rgccanaisn7f6422q5qxrj64vyzslc2651y4";
   };
   
   buildInputs = [ pkgconfig libpipeline db groff ];
   
-  configureFlags = ''
-    --disable-setuid
+  configureFlags = [
+    "--disable-setuid"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-systemdtmpfilesdir=\${out}/lib/tmpfiles.d"
+  ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  postInstall = ''
+    mv $out/$out/* $out
+    DIR=$out/$out
+    while rmdir $DIR 2>/dev/null; do
+      DIR="$(dirname "$DIR")"
+    done
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix
index 2805514965e..8cf5e5e9a38 100644
--- a/pkgs/tools/misc/mdbtools/git.nix
+++ b/pkgs/tools/misc/mdbtools/git.nix
@@ -3,16 +3,18 @@
   scrollkeeper}:
 
 stdenv.mkDerivation {
-  name = "mdbtools-git";
+  name = "mdbtools-git-2014-07-25";
 
   src = fetchgit {
     url = "http://github.com/brianb/mdbtools.git";
-    rev = "dfd752ec022097ee1e0999173aa604d8a0c0ca8b";
-    sha256 = "0ibj36yxlhwjgi7cj170lwpbzdbgidkq5p8raa59v76bdrxwmb0n";
+    rev = "9ab40e83e6789015c965c92bdb62f92f8cdd0dbd";
+    sha256 = "18j1a9y9xhl7hhx30zvmx2n4w7dc8c7sdr6722sf3mh5230mvv59";
   };
 
-  buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake
-    libtool which txt2man gnome_doc_utils scrollkeeper ];
+  buildInputs = [
+    glib readline bison flex pkgconfig autoconf automake
+    libtool which txt2man gnome_doc_utils scrollkeeper libiconv
+  ];
 
   preConfigure = ''
     sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c
diff --git a/pkgs/tools/misc/megacli/default.nix b/pkgs/tools/misc/megacli/default.nix
index 7fd6ce966d6..1f57b290cdd 100644
--- a/pkgs/tools/misc/megacli/default.nix
+++ b/pkgs/tools/misc/megacli/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, rpm, cpio, ncurses, patchelf, makeWrapper, requireFile, unzip }:
+{ stdenv, rpmextract, ncurses, patchelf, makeWrapper, requireFile, unzip }:
 
 assert stdenv.system == "x86_64-linux";
 
@@ -12,17 +12,17 @@ stdenv.mkDerivation rec {
       sha256 = "11jzvh25mlygflazd37gi05xv67im4rgq7sbs5nwgw3gxdh4xfjj";
     };
 
-  buildInputs = [rpm cpio ncurses unzip makeWrapper];
+  buildInputs = [rpmextract ncurses unzip makeWrapper];
   libPath =
     stdenv.lib.makeLibraryPath
-       [ stdenv.gcc.gcc stdenv.gcc.libc ncurses ];
+       [ stdenv.cc.cc stdenv.cc.libc ncurses ];
 
   buildCommand = ''
     mkdir -p $out/bin
     cd $out
     unzip ${src}
-    rpm2cpio linux/MegaCli-8.07.07-1.noarch.rpm | cpio -idmv
-    ${patchelf}/bin/patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath ${libPath}:$out/opt/lsi/3rdpartylibs/x86_64:$out/opt/lsi/3rdpartylibs:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib opt/MegaRAID/MegaCli/MegaCli64
+    rpmextract linux/MegaCli-8.07.07-1.noarch.rpm
+    ${patchelf}/bin/patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath ${libPath}:$out/opt/lsi/3rdpartylibs/x86_64:$out/opt/lsi/3rdpartylibs:${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib opt/MegaRAID/MegaCli/MegaCli64
     wrapProgram $out/opt/MegaRAID/MegaCli/MegaCli64 --set LD_LIBRARY_PATH $out/opt/lsi/3rdpartylibs/x86_64
     ln -s $out/opt/MegaRAID/MegaCli/MegaCli64 $out/bin/MegaCli64
     eval fixupPhase
diff --git a/pkgs/tools/misc/memtest86+/compile-fix.patch b/pkgs/tools/misc/memtest86+/compile-fix.patch
new file mode 100644
index 00000000000..f178259f9e0
--- /dev/null
+++ b/pkgs/tools/misc/memtest86+/compile-fix.patch
@@ -0,0 +1,20 @@
+--- memtest86+-5.01/io.h~	2013-08-10 02:01:58.000000000 +0000
++++ memtest86+-5.01/io.h	2014-01-08 01:29:12.404465515 +0000
+@@ -31,7 +31,7 @@
+  */
+ 
+ #define __OUT1(s,x) \
+-extern inline void __out##s(unsigned x value, unsigned short port) {
++static inline void __out##s(unsigned x value, unsigned short port) {
+ 
+ #define __OUT2(s,s1,s2) \
+ __asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1"
+@@ -43,7 +43,7 @@
+ __OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; }
+ 
+ #define __IN1(s) \
+-extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
++static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
+ 
+ #define __IN2(s,s1,s2) \
+ __asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0"
diff --git a/pkgs/tools/misc/memtest86+/crash-fix.patch b/pkgs/tools/misc/memtest86+/crash-fix.patch
new file mode 100644
index 00000000000..de7c86bac35
--- /dev/null
+++ b/pkgs/tools/misc/memtest86+/crash-fix.patch
@@ -0,0 +1,99 @@
+diff --git a/controller.c b/controller.c
+index f4f7371..183e9c3 100644
+--- a/controller.c
++++ b/controller.c
+@@ -2,6 +2,8 @@
+  * MemTest86+ V5 Specific code (GPL V2.0)
+  * By Samuel DEMEULEMEESTER, sdemeule@memtest.org
+  * http://www.canardpc.com - http://www.memtest.org
++ *
++ * Edited by David McInnis Oct 4, 2014
+  */
+ 
+ //#include "defs.h"
+@@ -292,7 +294,7 @@ static void setup_nhm(void)
+ 
+ 	/* First, locate the PCI bus where the MCH is located */
+ 
+-	for(i = 0; i < sizeof(possible_nhm_bus); i++) {
++	for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) {
+ 		pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid);
+ 		pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did);
+ 		vid &= 0xFFFF;
+@@ -327,7 +329,7 @@ static void setup_nhm32(void)
+ 	ctrl.mode = ECC_NONE;
+ 
+ 	/* First, locate the PCI bus where the MCH is located */
+-	for(i = 0; i < sizeof(possible_nhm_bus); i++) {
++	for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) {
+ 		pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid);
+ 		pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did);
+ 		vid &= 0xFFFF;
+@@ -1424,7 +1426,7 @@ static void poll_fsb_amd64(void) {
+ 	unsigned long dramchr;
+ 	float clockratio;
+ 	double dramclock;
+-	unsigned int dummy[3];
++	unsigned int dummy[4];
+ 	int ram_type;
+ 
+ 	float coef = 10;
+@@ -2851,13 +2853,13 @@ static void poll_timings_nf4ie(void) {
+ 
+ static void poll_timings_i875(void) {
+ 
+-	ulong dev6, dev62;
++	ulong dev6;
+ 	ulong temp;
+ 	float cas;
+ 	int rcd, rp, ras, chan;
+ 	long *ptr, *ptr2;
+ 
+-	pci_conf_read( 0, 6, 0, 0x40, 4, &dev62);
++	pci_conf_read( 0, 6, 0, 0x40, 4, &dev6);
+ 	ptr2=(long*)(dev6+0x68);
+ 
+ 	/* Read the MMR Base Address & Define the pointer */
+diff --git a/init.c b/init.c
+index 754b8d7..5bd8b4f 100644
+--- a/init.c
++++ b/init.c
+@@ -7,6 +7,8 @@
+  *
+  * Released under version 2 of the Gnu Public License.
+  * By Chris Brady
++ *
++ * Edited by David McInnis October 4, 2014
+  */
+  
+ 
+@@ -914,7 +916,6 @@ void cpu_type(void)
+ 			default:
+ 				cprint(0, COL_MID, "Unknown Intel");
+  				break;
+-			break;
+ 		    }
+ 
+ 		}
+diff --git a/main.c b/main.c
+index 0bc7ca0..613f811 100644
+--- a/main.c
++++ b/main.c
+@@ -422,7 +422,7 @@ void test_start(void)
+ 		//initialise_cpus();
+ 		btrace(my_cpu_num, __LINE__, "BeforeInit", 1, 0, 0);
+ 		/* Draw the screen and get system information */
+-	  init();
++		init();
+ 
+ 		/* Set defaults and initialize variables */
+ 		set_defaults();
+@@ -737,7 +737,7 @@ void test_start(void)
+ 			    /* Do the same test for each CPU */
+ 			    if (++cpu_sel >= act_cpus) 
+ 			    	{
+-	            cpu_sel = 0;
++				cpu_sel = 0;
+ 			        next_test();
+ 			    	} else {
+ 			        continue;
diff --git a/pkgs/tools/misc/memtest86+/default.nix b/pkgs/tools/misc/memtest86+/default.nix
index 500d7e815d2..dbd5a46e10a 100644
--- a/pkgs/tools/misc/memtest86+/default.nix
+++ b/pkgs/tools/misc/memtest86+/default.nix
@@ -8,6 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0fch1l55753y6jkk0hj8f6vw4h1kinkn9ysp22dq5g9zjnvjf88l";
   };
 
+  # Patch incompatiblity with GCC. Source: http://koji.fedoraproject.org/koji/buildinfo?buildID=586907
+  patches = [ ./compile-fix.patch ./crash-fix.patch ./no-optimization.patch ];
+
   preBuild = ''
     # Really dirty hack to get Memtest to build without needing a Glibc
     # with 32-bit libraries and headers.
diff --git a/pkgs/tools/misc/memtest86+/no-optimization.patch b/pkgs/tools/misc/memtest86+/no-optimization.patch
new file mode 100644
index 00000000000..76815a93170
--- /dev/null
+++ b/pkgs/tools/misc/memtest86+/no-optimization.patch
@@ -0,0 +1,11 @@
+--- memtest86+-5.01/Makefile~	2014-01-08 01:30:11.355900076 +0000
++++ memtest86+-5.01/Makefile	2014-01-08 01:31:19.387555469 +0000
+@@ -12,7 +12,7 @@
+ AS=as -32
+ CC=gcc
+ 
+-CFLAGS= -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin \
++CFLAGS= -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \
+ 	-ffreestanding -fPIC $(SMP_FL) -fno-stack-protector 
+ 	
+ OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \
diff --git a/pkgs/tools/misc/memtest86/default.nix b/pkgs/tools/misc/memtest86/default.nix
index ebf0a89a707..6fccff7781d 100644
--- a/pkgs/tools/misc/memtest86/default.nix
+++ b/pkgs/tools/misc/memtest86/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "memtest86-4.3.3";
+  name = "memtest86-4.3.6";
   
   src = fetchurl {
-    url = http://www.memtest86.com/downloads/memtest86-4.3.3-src.tar.gz;
-    sha256 = "1fzpk0s97lx8h1wbv2bgr6m8v4ag8i58kzr8fa25bvwyl8hks9sl";
+    url = http://www.memtest86.com/downloads/memtest86-4.3.6-src.tar.gz;
+    sha256 = "0qbksyl2hmkm12n7zbmf2m2n3q811skhykxx6a9a7y6r7k8y5qmv";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/mktorrent/default.nix b/pkgs/tools/misc/mktorrent/default.nix
index 3200c7016b6..c62bd45fef8 100644
--- a/pkgs/tools/misc/mktorrent/default.nix
+++ b/pkgs/tools/misc/mktorrent/default.nix
@@ -8,8 +8,9 @@ stdenv.mkDerivation {
     sha256 = "17qi3nfky240pq6qcmf5qg324mxm83vk9r3nvsdhsvinyqm5d3kg";
   };
 
-  makeFlags = "CFLAGS=-lgcc_s USE_PTHREADS=1 USE_OPENSSL=1 USE_LONG_OPTIONS=1" +
-    stdenv.lib.optionalString stdenv.isi686 " USE_LARGE_FILES=1";
+  makeFlags = "USE_PTHREADS=1 USE_OPENSSL=1 USE_LONG_OPTIONS=1"
+    + stdenv.lib.optionalString stdenv.isi686 " USE_LARGE_FILES=1"
+    + stdenv.lib.optionalString stdenv.isLinux "CFLAGS=-lgcc_s";
 
   preInstall = ''
     installFlags=PREFIX=$out
@@ -21,7 +22,7 @@ stdenv.mkDerivation {
     homepage = http://mktorrent.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2Plus;
     description = "Command line utility to create BitTorrent metainfo files";
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; unix;
     maintainers = with stdenv.lib.maintainers; [viric];
   };
 }
diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix
new file mode 100644
index 00000000000..5a42a5d8515
--- /dev/null
+++ b/pkgs/tools/misc/moreutils/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, libxml2, libxslt, docbook-xsl, perl, IPCRun, TimeDate, TimeDuration, makeWrapper }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "moreutils-${version}";
+  version = "0.55";
+
+  src = fetchurl {
+    url = "http://ftp.de.debian.org/debian/pool/main/m/moreutils/moreutils_${version}.orig.tar.gz";
+    sha256 = "1dcah2jx8dbznn8966xl7sf1jrld2qfh6l6xcmx9dsnf8p8mr7fs";
+  };
+
+  preBuild = ''
+    substituteInPlace Makefile --replace /usr/share/xml/docbook/stylesheet/docbook-xsl ${docbook-xsl}/xml/xsl/docbook
+  '';
+
+  buildInputs = [ libxml2 libxslt docbook-xsl makeWrapper ];
+
+  propagatedBuildInputs = [ perl IPCRun TimeDate TimeDuration ];
+
+  installFlags = "PREFIX=$(out)";
+
+  postInstall = "wrapProgram $out/bin/chronic --prefix PERL5LIB : $PERL5LIB";
+
+  meta = {
+    description = "Growing collection of the unix tools that nobody thought to write long ago when unix was young.";
+    homepage = https://joeyh.name/code/moreutils/;
+    maintainers = with maintainers; [ koral ];
+  };
+}
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
new file mode 100644
index 00000000000..3b276a7117f
--- /dev/null
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, mpd_clientlib, curl, glib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "mpdscribble-${version}";
+  version = "0.22";
+
+  src = fetchurl {
+    url =
+    "http://www.musicpd.org/download/mpdscribble/${version}/mpdscribble-${version}.tar.bz2";
+    sha256 = "0hgb7xh3w455m00lpldwkyrc5spjn3q1pl2ry3kf7w3hiigjpphw";
+  };
+
+  buildInputs = [ mpd_clientlib curl glib pkgconfig ];
+
+  preConfigure = ''
+    export LIBMPDCLIENT_LIBS=${mpd_clientlib}/lib/libmpdclient.so.${mpd_clientlib.majorVersion}.0.${mpd_clientlib.minorVersion}
+    export LIBMPDCLIENT_CFLAGS=${mpd_clientlib}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Music Player Daemon (MPD) client which submits information about tracks beeing played to a scrobbler (e.g. last.fm)";
+    homepage = http://mpd.wikia.com/wiki/Client:mpdscribble;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.matthiasbeyer ];
+  };
+}
diff --git a/pkgs/tools/misc/mrtg/default.nix b/pkgs/tools/misc/mrtg/default.nix
new file mode 100644
index 00000000000..043cbf1edf1
--- /dev/null
+++ b/pkgs/tools/misc/mrtg/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, perl, gd, rrdtool }:
+
+stdenv.mkDerivation rec {
+
+  version = "2.17.4";
+  name = "mrtg-${version}";
+
+  src = fetchurl {
+    url = "http://oss.oetiker.ch/mrtg/pub/${name}.tar.gz";
+    sha256 = "0r93ipscfp7py0b1dcx65s58q7dlwndqhprf8w4945a0h2p7zyjy";
+  };
+
+  buildInputs = [
+    perl gd rrdtool
+  ];
+
+  meta = {
+    description = "The Multi Router Traffic Grapher";
+    homepage = http://oss.oetiker.ch/mrtg/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.robberer ];
+  }; 
+}
diff --git a/pkgs/tools/misc/mssys/default.nix b/pkgs/tools/misc/mssys/default.nix
index 6d3634ea7af..d1f76a10130 100644
--- a/pkgs/tools/misc/mssys/default.nix
+++ b/pkgs/tools/misc/mssys/default.nix
@@ -1,11 +1,12 @@
 {stdenv, fetchurl, gettext}:
 
-stdenv.mkDerivation {
-  name = "ms-sys-2.1.3";
+stdenv.mkDerivation rec {
+  name = "ms-sys-${version}";
+  version = "2.4.1";
   
   src = fetchurl {
-    url = mirror://sourceforge/ms-sys/ms-sys-2.1.3.tgz;
-    md5 = "6fad0a69ac89440ad4f696dbbbf11497";
+    url = "mirror://sourceforge/ms-sys/${name}.tar.gz";
+    sha256 = "0qccv67fc2q97218b9wm6qpmx0nc0ssca391i0q15351y1na78nc";
   };
 
   buildInputs = [gettext];
diff --git a/pkgs/tools/misc/mstflint/default.nix b/pkgs/tools/misc/mstflint/default.nix
new file mode 100644
index 00000000000..32953483daa
--- /dev/null
+++ b/pkgs/tools/misc/mstflint/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, zlib, libibmad }:
+
+stdenv.mkDerivation {
+  name = "mstflint-3.7.0-1.18";
+
+  src = fetchurl {
+    url = "https://www.openfabrics.org/downloads/mstflint/mstflint-3.7.0-1.18.gcdb9f80.tar.gz";
+    sha256 = "10x4l3i58ynnni18i8qq1gfbqd2028r4jd3frshiwrl9yrj7sxn2";
+  };
+
+  buildInputs = [ zlib libibmad ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.openfabrics.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/misc/mysql2pgsql/default.nix b/pkgs/tools/misc/mysql2pgsql/default.nix
index 0dad6c2d33f..234e16df74f 100644
--- a/pkgs/tools/misc/mysql2pgsql/default.nix
+++ b/pkgs/tools/misc/mysql2pgsql/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, shebangfix }:
+{ stdenv, fetchurl, perl }:
 
 # The homepage says this script is mature..
 stdenv.mkDerivation {
@@ -9,20 +9,16 @@ stdenv.mkDerivation {
     sha256 = "0dpbxf3kdvpihz9cisx6wi3zzd0cnifaqvjxavrbwm4k4sz1qamp";
   };
 
-  phases = "unpackPhase installPhase";
-
-  buildInputs = [ perl shebangfix ];
+  buildInputs = [ perl ];
 
   installPhase = ''
-    mkdir -p $out/bin;
-    shebangfix mysql2psql
-    chmod +x mysql2psql
+    mkdir -p $out/bin
     mv {,$out/bin/}mysql2psql
   '';
 
-  meta = { 
-    description = "converts mysql dump files to psql loadable files ";
+  meta = {
+    description = "Convert MySQL dump files to PostgreSQL-loadable files";
     homepage = http://pgfoundry.org/projects/mysql2pgsql/;
-    license = "BSD-Original";
+    license = stdenv.lib.licenses.bsdOriginal;
   };
 }
diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix
index 6435923b48a..c3019d722af 100644
--- a/pkgs/tools/misc/ngrok/default.nix
+++ b/pkgs/tools/misc/ngrok/default.nix
@@ -1,101 +1,43 @@
-{ stdenv, fetchurl, go, fetchgit, fetchbzr, fetchhg }:
+{ stdenv, git, fetchFromGitHub, goPackages }:
 
-let
-  go-websocket = fetchgit {
-    url = "git://github.com/garyburd/go-websocket";
-    rev = "4bad98c955";
-    sha256 = "1zh1r1xqar47awgv8a883zmxyvj65m0mbdm17d1xf74nkkrcykqy";
-  };
-  go-metrics = fetchgit {
-    url = "https://github.com/inconshreveable/go-metrics";
-    rev = "60ba4ca70c";
-    sha256 = "3dc8c229ce5123d86269c0c48401a9cdd2cde7558d85374c9dbc4bbd531e86d5";
-  };
-  termbox-go = fetchgit {
-    url = "https://github.com/nsf/termbox-go";
-    rev = "cea198fce7";
-    sha256 = "bde4190ae83d5c5870b8e11e16387cf03f2d44a8369f94674d4b9d0960c40693";
-  };
-  go-bindata = fetchgit {
-    url = "https://github.com/inconshreveable/go-bindata";
-    rev = "99016b3cc0";
-    sha256 = "518a5b61cfbe58f8bc55bd6139adcd69997b6ba474536a70b538879aaf118578";
-  };
-  go-update = fetchgit {
-    url = "https://github.com/inconshreveable/go-update";
-    rev = "3f04666667";
-    sha256 = "34647689a50b9d12e85a280d9034cc1772079163481c4778ee4b3e6c4b41e2f4";
-  };
-  goyaml = fetchbzr {
-    url = "https://launchpad.net/goyaml";
-    sha256 = "03is37cgw62cha316xrs5h7q97im46ry5qldkfvbhimjq3ww0swj";
-    # Branch: "branch:lp:goyaml"
-    rev = 47;
-  };
-  log4go = fetchhg {
-    url = "https://code.google.com/p/log4go/";
-    rev = "c3294304d93f";
-    sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
-  };
-  osext = fetchhg {
-    url = "https://bitbucket.org/kardianos/osext";
-    rev = "364fb57";
-    sha256 = "1w9x2zj716agfd5x5497ajb9nz3ljar74768vjidsyly143vzjws";
-  };
-in stdenv.mkDerivation rec {
-  name = "ngrok-${version}";
-  version = "1.6";
-
-  src = fetchurl {
-    url = "https://github.com/inconshreveable/ngrok/archive/${version}.tar.gz";
-    sha256 = "0w54ck00ma8wd87gc3dligypdjs7vrzbi9py46sqphsid3rihkjr";
-  };
+with goPackages;
 
-  buildInputs = [ go ];
+buildGoPackage rec {
+  name = "ngrok-1.7";
+  goPackagePath = "ngrok";
 
-  preBuild = ''
-    export HOME="$PWD"
-
-    mkdir -p src/github.com/garyburd/go-websocket/
-    ln -s ${go-websocket}/* src/github.com/garyburd/go-websocket
-
-    mkdir -p src/github.com/inconshreveable/go-metrics/
-    ln -s ${go-metrics}/* src/github.com/inconshreveable/go-metrics
-
-    mkdir -p src/github.com/inconshreveable/go-bindata
-    ln -s ${go-bindata}/* src/github.com/inconshreveable/go-bindata
-
-    mkdir -p src/github.com/inconshreveable/go-update
-    ln -s ${go-update}/* src/github.com/inconshreveable/go-update
-
-    mkdir -p src/github.com/nsf/termbox-go/
-    ln -s ${termbox-go}/* src/github.com/nsf/termbox-go
+  src = fetchFromGitHub {
+    rev = "b7d5571aa7f12ac304b8f8286b855cc64dd9bab8";
+    owner = "inconshreveable";
+    repo = "ngrok";
+    sha256 = "0a5iq9l9f2xdg6gnc9pj0iczhycv1w5iwcqgzzap83xfpy01xkh4";
+  };
 
-    mkdir -p src/launchpad.net/goyaml
-    ln -s ${goyaml}/* src/launchpad.net/goyaml
+  subPackages = [ "main/ngrok" "main/ngrokd" ];
 
-    mkdir -p src/code.google.com/p/log4go
-    ln -s ${log4go}/* src/code.google.com/p/log4go
+  preConfigure = ''
+    sed -e '/jteeuwen\/go-bindata/d' \
+        -e '/export GOPATH/d' \
+        -e 's/go get/#go get/' \
+        -e 's|bin/go-bindata|go-bindata|' -i Makefile
+    make assets BUILDTAGS=release
+    export sourceRoot=$sourceRoot/src/ngrok
+  '';
 
-    mkdir -p src/bitbucket.org/kardianos/osext
-    ln -s ${osext}/* src/bitbucket.org/kardianos/osext
+  buildInputs = [ git log4go websocket go-vhost mousetrap termbox-go rcrowley.go-metrics
+                  yaml-v1 go-bindata go-update binarydist osext ];
 
-    # don't download dependencies as we already have them
-    sed -i '/go get/d' Makefile
-  '';
+  buildFlags = "-tags release";
 
-  installPhase = ''
-    make release-client
-    mkdir -p $out/bin
-    cp bin/ngrok $out/bin
-    cp -R assets $out
-  '';
+  dontInstallSrc = true;
 
   meta = with stdenv.lib; {
-    description = "Reverse proxy that creates a secure tunnel between from a public endpoint to a locally running web service";
+    description = "Reverse proxy that creates a secure tunnel between from a public endpoint t
+o a locally running web service";
     homepage = https://ngrok.com/;
     license = licenses.asl20;
-    maintainers = with maintainers; [ iElectric ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ iElectric cstrahan ];
+    platforms = with platforms; linux ++ darwin;
   };
+
 }
diff --git a/pkgs/tools/misc/ocz-ssd-guru/default.nix b/pkgs/tools/misc/ocz-ssd-guru/default.nix
new file mode 100644
index 00000000000..7ee6089c249
--- /dev/null
+++ b/pkgs/tools/misc/ocz-ssd-guru/default.nix
@@ -0,0 +1,53 @@
+{ fetchurl, stdenv, xlibs, freetype, fontconfig, mesa, glibc, makeWrapper }:
+
+let
+  system = if stdenv.system == "x86_64-linux" then "linux64" else "linux32";
+in
+stdenv.mkDerivation rec {
+  name = "ocz-ssd-guru-${version}";
+  version = "1.0.1170";
+
+  src = fetchurl {
+    url = "http://ocz.com/consumer/download/ssd-guru/SSDGuru_${version}.tar.gz";
+    sha256 = "0ri7qmpc1xpy12lpzl6k298c641wcibcwrzz8jn75wdg4rr176r5";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  libPath = stdenv.lib.makeLibraryPath [
+      xlibs.libX11
+      xlibs.libxcb
+      freetype
+      fontconfig
+      xlibs.libXext
+      xlibs.libXi
+      xlibs.libXrender
+      stdenv.cc.cc
+      glibc
+      mesa
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${system}/SSDGuru $out/bin/
+    rm -rf linux{32,64}
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath $libPath:$out \
+      $out/bin/SSDGuru
+
+    wrapProgram $out/bin/SSDGuru --prefix LD_LIBRARY_PATH : $libPath
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  meta = {
+    homepage = http://ocz.com/ssd-guru;
+    description = "SSD Management Tool for OCZ disks";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ jagajaga ];
+  };
+
+}
diff --git a/pkgs/tools/misc/opentsdb/default.nix b/pkgs/tools/misc/opentsdb/default.nix
new file mode 100644
index 00000000000..6f9695ba363
--- /dev/null
+++ b/pkgs/tools/misc/opentsdb/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, autoconf, automake, curl, fetchurl, jdk, jre, makeWrapper, nettools, python }:
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "opentsdb-2.1.0-rc1";
+
+  src = fetchurl {
+    url = https://github.com/OpenTSDB/opentsdb/releases/download/v2.1.0RC1/opentsdb-2.1.0RC1.tar.gz;
+    sha256 = "1vvhzdl2wgbzy2lvlyx40pks47ma6szs9ka4dwjf123xyixv0rmz";
+  };
+
+  buildInputs = [ autoconf automake curl jdk makeWrapper nettools python ];
+
+  configurePhase = ''
+    echo > build-aux/fetchdep.sh.in
+    ./bootstrap
+    mkdir build
+    cd build
+    ../configure --prefix=$out
+    patchShebangs ../build-aux/
+  '';
+
+  installPhase = ''
+    make install
+    wrapProgram $out/bin/tsdb \
+      --set JAVA_HOME "${jre}" \
+      --set JAVA "${jre}/bin/java"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Time series database with millisecond precision";
+    homepage = http://opentsdb.net;
+    license = licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.ocharles ];
+  };
+}
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
new file mode 100644
index 00000000000..f7d8d1d4e69
--- /dev/null
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk_doc, gobjectIntrospection
+, libgsystem, xz, e2fsprogs, libsoup, gpgme
+}:
+
+stdenv.mkDerivation {
+  name = "ostree-2015.3";
+
+  meta = with stdenv.lib; {
+    description = "Git for operating system binaries";
+    homepage    = "http://live.gnome.org/OSTree/";
+    license     = licenses.lgpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchFromGitHub {
+    owner = "GNOME";
+    repo = "ostree";
+    rev = "v2015.3";
+    sha256 = "1n5q0yxwqx4pqiww3yjmqxl5835kknpw1bnwzbpanmyndnnl88dd";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook pkgconfig gtk_doc gobjectIntrospection
+  ];
+
+  buildInputs = [ libgsystem xz e2fsprogs libsoup gpgme ];
+
+  preAutoreconf = ''
+    mkdir m4
+    gtkdocize
+  '';
+}
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 727657ca6e8..27d5e624589 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20140822";
+  name = "parallel-20150322";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "8a146a59bc71218921d561f2c801b85e06fe3a21571083b58e6e0966dd397fd4";
+    sha256 = "1zsj1bd4zbwb4n9i0jgzs7vd5wkyg3xvj6s1q6s5fyn0pff7j01c";
   };
 
   patchPhase =
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl ];
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Shell tool for executing jobs in parallel";
 
     longDescription =
@@ -43,9 +43,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/parallel/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/misc/parcellite/default.nix b/pkgs/tools/misc/parcellite/default.nix
index d516e50124c..0f85a47b9e1 100644
--- a/pkgs/tools/misc/parcellite/default.nix
+++ b/pkgs/tools/misc/parcellite/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "parcellite-1.1.7";
+  name = "parcellite-1.1.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/parcellite/${name}.tar.gz";
-    sha256 = "0pszw3yd4a08p6jsz7asayr7jir08bxbwvfb16k01cj7ya4kf3w7";
+    sha256 = "1m0igxny8f8hlbwcbsr4vg08808sqwy05h61ia2bxsrf122rba6b";
   };
 
   buildInputs = [ pkgconfig intltool gtk2 ];
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 01b9f391a44..ba179d7af91 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -1,20 +1,26 @@
-{ stdenv, fetchurl, devicemapper, libuuid, gettext, readline
+{ stdenv, fetchurl, devicemapper, libuuid, gettext, readline, perl, python
 , utillinux, check, enableStatic ? false, hurd ? null }:
 
 stdenv.mkDerivation rec {
-  name = "parted-3.1";
+  name = "parted-3.2";
 
   src = fetchurl {
     url = "mirror://gnu/parted/${name}.tar.xz";
-    sha256 = "05fa4m1bky9d13hqv91jlnngzlyn7y4rnnyq6d86w0dg3vww372y";
+    sha256 = "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5";
   };
 
+  patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch;
+
+  postPatch = stdenv.lib.optionalString doCheck ''
+    patchShebangs tests
+  '';
+
   buildInputs = [ libuuid ]
     ++ stdenv.lib.optional (readline != null) readline
     ++ stdenv.lib.optional (gettext != null) gettext
     ++ stdenv.lib.optional (devicemapper != null) devicemapper
     ++ stdenv.lib.optional (hurd != null) hurd
-    ++ stdenv.lib.optional doCheck check;
+    ++ stdenv.lib.optionals doCheck [ check perl python ];
 
   configureFlags =
        (if (readline != null)
@@ -48,7 +54,6 @@ stdenv.mkDerivation rec {
 
     maintainers = [
       # Add your name here!
-      stdenv.lib.maintainers.ludo
     ];
 
     # GNU Parted requires libuuid, which is part of util-linux-ng.
diff --git a/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch b/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
new file mode 100644
index 00000000000..3070a2e4666
--- /dev/null
+++ b/pkgs/tools/misc/parted/gpt-unicode-test-fix.patch
@@ -0,0 +1,34 @@
+From Ludo's suggestion at:
+
+  http://debbugs.gnu.org/cgi/bugreport.cgi?msg=8;bug=18258
+
+diff --git a/tests/t0251-gpt-unicode.sh b/tests/t0251-gpt-unicode.sh
+index c845950..fa63a72 100755
+--- a/tests/t0251-gpt-unicode.sh
++++ b/tests/t0251-gpt-unicode.sh
+@@ -22,7 +22,24 @@ dev=loop-file
+ # create zeroed device
+ truncate -s 10m $dev || fail=1
+ 
+-export LC_ALL=C.UTF-8
++found_locale=no
++for locale in en_US de_DE fr_FR es_ES
++do
++  LC_ALL="$locale.UTF-8"
++  export LC_ALL
++
++  # In a UTF-8 locale, the string below prints as 4 characters.
++  if [ `printf 'foo\341\264\244' | wc -m` -eq 4 ]; then
++    found_locale=yes
++    break
++  fi
++done
++
++if [ "$found_locale" != "yes" ]; then
++  echo "no valid UTF-8 locale found; skipping" >&2
++  exit 77
++fi
++
+ # create gpt label with named partition
+ part_name=$(printf 'foo\341\264\244')
+ parted -s $dev mklabel gpt mkpart primary ext2 1MiB 2MiB name 1 $part_name > empty 2>&1 || fail=1
diff --git a/pkgs/tools/misc/pastebinit/default.nix b/pkgs/tools/misc/pastebinit/default.nix
index cf41de29c50..fd5004302df 100644
--- a/pkgs/tools/misc/pastebinit/default.nix
+++ b/pkgs/tools/misc/pastebinit/default.nix
@@ -1,17 +1,15 @@
-{ stdenv, fetchurl, python3Packages }:
+{ stdenv, fetchurl, python3 }:
 
-python3Packages.buildPythonPackage rec {
+stdenv.mkDerivation rec {
   version = "1.4.1";
   name = "pastebinit-${version}";
 
   src = fetchurl {
     url = "https://launchpad.net/pastebinit/trunk/${version}/+download/${name}.tar.bz2";
-    md5 = "b771872a9483cf92be90a3e4420fd3c9";
+    sha256 = "1rl854izwn1fpaaib6zj7a1a9bis8n7w4zfxcapgfffj37zj0dy2";
   };
 
-  configurePhase = "export DETERMINISTIC_BUILD=1";
-
-  buildPhase = "";
+  buildInputs = [ python3 ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -21,8 +19,6 @@ python3Packages.buildPythonPackage rec {
     substituteInPlace $out/bin/pastebinit --replace "'/etc/pastebin.d" "'$out/etc/pastebin.d"
   '';
 
-  doCheck = false;
-
   meta = with stdenv.lib; {
     homepage = https://launchpad.net/pastebinit;
     description = "A software that lets you send anything you want directly to a pastebin from the command line";
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
new file mode 100644
index 00000000000..b8182cff862
--- /dev/null
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -0,0 +1,97 @@
+{ stdenv, fetchurl, fetchgit, autoconf, automake, wineUnstable, perl, xlibs
+  , gnupg, gcc48_multi, mesa, curl, bash, cacert, cabextract, utillinux, attr
+  }:
+
+let
+  wine_patches_version = "1.7.38";
+  wine_hash = "1h3bsga9qzqkavf9wlv62ldl3a8mz7grr68nxv8vicmnglzfj7lq";
+
+  wine_patches = fetchgit {
+    url = "git://github.com/compholio/wine-compholio.git";
+    rev = "refs/tags/v${wine_patches_version}";
+    sha256 = "0lcagswy1lgqz6qlpf0ng7ksl2sbaqldrgnhf0n1278jj82rq80n";
+  };
+
+  wine_custom =
+    stdenv.lib.overrideDerivation wineUnstable (args: rec {
+      name = "wine-${wine_patches_version}";
+      version = "${wine_patches_version}";
+      src = null;
+      srcs = [
+	      (fetchurl {
+                url = "mirror://sourceforge/wine/${name}.tar.bz2";
+                sha256 = wine_hash;
+	      })
+	      wine_patches ];
+      sourceRoot = "./${name}";
+      buildInputs = args.buildInputs ++ [ 
+        autoconf perl utillinux automake attr 
+      ];
+      nativeBuildInputs = args.nativeBuildInputs ++ [ 
+        autoconf perl utillinux automake attr 
+      ];
+      postPatch = ''
+        export wineDir=$(pwd)
+        patchShebangs $wineDir/tools/
+        chmod u+w $wineDir/../${wine_patches.name}/debian/tools/
+        patchShebangs $wineDir/../${wine_patches.name}/debian/tools/
+        chmod -R +rwx ../${wine_patches.name}/
+        make -C ../${wine_patches.name}/patches DESTDIR=$wineDir install
+      '';
+    });
+
+  mozillaPluginPath = "/lib/mozilla/plugins";
+
+
+in stdenv.mkDerivation rec {
+
+  version = "0.2.8";
+
+  name = "pipelight-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/mmueller2012/pipelight/get/v${version}.tar.gz";
+    sha256 = "1i440rf22fmd2w86dlm1mpi3nb7410rfczc0yldnhgsvp5p3sm5f";
+  };
+
+  buildInputs = [ wine_custom xlibs.libX11 gcc48_multi mesa curl ];
+  propagatedbuildInputs = [ curl cabextract ];
+
+  patches = [ ./pipelight.patch ];
+
+  configurePhase = ''
+    patchShebangs . 
+    ./configure \
+      --prefix=$out \
+      --moz-plugin-path=$out/${mozillaPluginPath} \
+      --wine-path=${wine_custom} \
+      --gpg-exec=${gnupg}/bin/gpg2 \
+      --bash-interp=${bash}/bin/bash \
+      --downloader=${curl}/bin/curl
+      $configureFlags
+  '';
+
+  passthru = {
+    mozillaPlugin = mozillaPluginPath;
+    wine = wine_custom;
+  };
+
+  postInstall = ''
+    $out/bin/pipelight-plugin --create-mozilla-plugins
+  '';
+
+  preFixup = ''
+    substituteInPlace $out/share/pipelight/install-dependency \
+      --replace cabextract ${cabextract}/bin/cabextract
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://pipelight.net/";
+    licenses = with stdenv.lib.licenses; [ mpl11 gpl2 lgpl21 ];
+    description = "A wrapper for using Windows plugins in Linux browsers";
+    maintainers = with stdenv.lib.maintainers; [skeidel];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/pipelight/pipelight.patch b/pkgs/tools/misc/pipelight/pipelight.patch
new file mode 100644
index 00000000000..bde6ecf943d
--- /dev/null
+++ b/pkgs/tools/misc/pipelight/pipelight.patch
@@ -0,0 +1,122 @@
+diff -urN pipelight.old/bin/pipelight-plugin.in pipelight.new/bin/pipelight-plugin.in
+--- pipelight.old/bin/pipelight-plugin.in	2014-07-19 22:53:02.000000000 +0200
++++ pipelight.new/bin/pipelight-plugin.in	2014-07-27 00:02:39.275834030 +0200
+@@ -92,7 +92,7 @@
+	PLUGIN_PATH=$(realpath "$PLUGIN_PATH")
+
+	# Global installation
+-	if [ $(/usr/bin/id -u) -eq 0 ]; then
++	if [ $(id -u) -eq 0 ]; then
+		INSTALLDIR="$PLUGIN_PATH"
+
+	# Use environment variable (only if it doesn't point to the global directory)
+@@ -594,7 +594,7 @@
+	fi
+
+	# Ensure the signature is valid, extract the content
+-	if ! @@GPG@@ --batch --no-default-keyring --keyring "$PIPELIGHT_SHARE_PATH/sig-install-dependency.gpg" --decrypt "$tmpfile" > "$decfile"; then
++	if ! @@GPG@@ --homedir /tmp --batch --no-default-keyring --keyring "$PIPELIGHT_SHARE_PATH/sig-install-dependency.gpg" --decrypt "$tmpfile" > "$decfile"; then
+		rm "$tmpfile"
+		rm "$decfile"
+		echo ""
+@@ -630,24 +630,10 @@
+	return 0
+ }
+
+-# Use fetch on FreeBSD if wget is not available
+-if command -v wget >/dev/null 2>&1; then
+-	download_file()
+-	{
+-		wget -O "$1" "$2"
+-	}
+-elif command -v fetch >/dev/null 2>&1; then
+-	download_file()
+-	{
+-		fetch -o "$1" "$2"
+-	}
+-else
+-	download_file()
+-	{
+-		echo "ERROR: Could neither find wget nor fetch. Unable to download file!" >&2
+-		return 1
+-	}
+-fi
++download_file()
++{
++	curl --cacert /etc/ssl/certs/ca-bundle.crt -o "$1" "$2"
++}
+
+ # Use shasum instead of sha256sum on MacOS / *BSD
+ if ! command -v sha256sum >/dev/null 2>&1 && command -v shasum >/dev/null 2>&1; then
+diff -urN pipelight.old/configure pipelight.new/configure
+--- pipelight.old/configure	2014-07-19 22:53:02.000000000 +0200
++++ pipelight.new/configure	2014-07-26 23:52:13.690881447 +0200
+@@ -66,12 +66,8 @@
+ datadir=""
+ libdir=""
+ mandir=""
+-bash_interp="$(which bash)"
+-if which gpg &> /dev/null; then
+-	gpg_exec="$(which gpg)"
+-else
+-	gpg_exec="/usr/bin/gpg"
+-fi
++bash_interp=bash
++gpg_exec=gpg2
+ moz_plugin_path=""
+ gcc_runtime_dlls=""
+ so_mode="0644"
+diff -urN pipelight.old/share/install-dependency pipelight.new/share/install-dependency
+--- pipelight.old/share/install-dependency	2014-07-19 22:53:02.000000000 +0200
++++ pipelight.new/share/install-dependency	2014-07-26 23:26:18.431938546 +0200
+@@ -734,42 +734,14 @@
+	return 0
+ }
+
+-# Use fetch on FreeBSD if wget is not available
+-if command -v wget >/dev/null 2>&1; then
+-	download_file()
+-	{
+-		wget -O "$1" "$2"
+-	}
+-	get_download_size()
+-	{
+-		local filesize="$(wget -O- "$1" --spider --server-response 2>&1 | sed -ne '/Content-Length/{s/.*: //;p}')"
+-		local re='^[0-9]+$'
+-		if [[ "$filesize" -ne "0" ]] && [[ "$filesize" =~ $re ]]; then
+-			echo "$(($filesize/(1024*1024)))"
+-		else
+-			echo "N/A"
+-		fi
+-	}
+-elif command -v fetch >/dev/null 2>&1; then
+-	download_file()
+-	{
+-		fetch -o "$1" "$2"
+-	}
+-	get_download_size()
+-	{
+-		echo "N/A"
+-	}
+-else
+-	download_file()
+-	{
+-		echo "ERROR: Could neither find wget nor fetch. Unable to download file!" >&2
+-		return 1
+-	}
+-	get_download_size()
+-	{
+-		echo "N/A"
+-	}
+-fi
++download_file()
++{
++	curl --cacert /etc/ssl/certs/ca-bundle.crt -o "$1" "$2"
++}
++get_download_size()
++{
++	echo "N/A"
++}
+
+ # Use shasum instead of sha256sum on MacOS / *BSD
+ if ! command -v sha256sum >/dev/null 2>&1 && command -v shasum >/dev/null 2>&1; then
diff --git a/pkgs/tools/misc/pk2cmd/default.nix b/pkgs/tools/misc/pk2cmd/default.nix
index 909ed0856bb..3501090c63c 100644
--- a/pkgs/tools/misc/pk2cmd/default.nix
+++ b/pkgs/tools/misc/pk2cmd/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://www.microchip.com/pickit2;
-    license = "nonfree"; #MicroChip-PK2
+    license = stdenv.lib.licenses.unfree; #MicroChip-PK2
     description = "Microchip PIC programming software for the PICKit2 programmer";
   };
 }
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 6ba3d9a4f59..6de3474d2d7 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "7991";
+  version = "8012";
   name = "plantuml-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/plantuml.${version}.jar";
-    sha256 = "0afhgiq2165ahj8ww0pmk69nqgpibllp9nhpk8wapg3zknh2hx5r";
+    sha256 = "12l2kmp6jaz6lmcj16ljhrpb1bm7zzz5qgvihhymvk66rfjd3ybz";
   };
 
   # It's only a .jar file and a shell wrapper
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index df5c8a77e82..79cb29b20ca 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -4,12 +4,12 @@ stdenv.mkDerivation rec {
 
   name = "plowshare4-${version}";
 
-  version = "20140714.0x5s0zn8";
+  version = "1.1.0";
 
   src = fetchgit {
     url = "https://code.google.com/p/plowshare/";
-    rev = "0b67463ca8684c3e9c93bd8164c461a41538e99f";
-    sha256 = "0x5s0zn88w2h0740n4yms6fhwbb19kjwbhaj3k9wrnz4m3112s1m";
+    rev = "87bd955e681ddda05009ca8594d727260989d5ed";
+    sha256 = "0cbsnalmr6fa1ijsn1j1p9fdqi3ii96bx3xabgvvbbqkl7q938f9";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix
new file mode 100644
index 00000000000..903c8617128
--- /dev/null
+++ b/pkgs/tools/misc/profile-cleaner/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, makeWrapper, parallel, sqlite }:
+
+stdenv.mkDerivation rec {
+  version = "2.34";
+  name = "profile-cleaner-${version}";
+
+  src = fetchFromGitHub {
+    owner = "graysky2";
+    repo = "profile-cleaner";
+    rev = "v${version}";
+    sha256 = "17z73xyn31668f7vmbj7xs659fcrm0m0mnzja7hz6lipfaviqxrs";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    PREFIX=\"\" DESTDIR=$out make install
+    wrapProgram $out/bin/profile-cleaner \
+      --prefix PATH : "${parallel}/bin:${sqlite}/bin"
+  '';
+
+  meta = {
+    description = "Reduces browser profile sizes by cleaning their sqlite databases";
+    longDescription = ''
+      Use profile-cleaner to reduce the size of browser profiles by organizing
+      their sqlite databases using sqlite3's vacuum and reindex functions. The
+      term "browser" is used loosely since profile-cleaner happily works on
+      some email clients and newsreaders too.
+    '';
+    homepage = https://github.com/graysky2/profile-cleaner;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/tools/misc/profile-sync-daemon/default.nix b/pkgs/tools/misc/profile-sync-daemon/default.nix
new file mode 100644
index 00000000000..d3f017171cb
--- /dev/null
+++ b/pkgs/tools/misc/profile-sync-daemon/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, rsync, glibc, gawk }:
+
+stdenv.mkDerivation rec {
+  version = "v5.53";
+  name = "profile-sync-daemon-${version}";
+
+  src = fetchurl {
+    url = "http://github.com/graysky2/profile-sync-daemon/archive/${version}.tar.gz";
+    sha256 = "0m7h9l7dndqgb5k3grpc00f6dpg73p6h4q5sgkf8bvyzvcbdafwx";
+  };
+
+  installPhase = "PREFIX=\"\" DESTDIR=$out make install-systemd-all";
+
+  preferLocalBuild = true;
+
+  meta = with stdenv.lib; {
+    description = "Syncs browser profile dirs to RAM";
+    longDescription = ''
+      Profile-sync-daemon (psd) is a tiny pseudo-daemon designed to manage your
+      browser's profile in tmpfs and to periodically sync it back to your
+      physical disc (HDD/SSD). This is accomplished via a symlinking step and
+      an innovative use of rsync to maintain back-up and synchronization
+      between the two. One of the major design goals of psd is a completely
+      transparent user experience.
+    '';
+    homepage = https://github.com/graysky2/profile-sync-daemon;
+    downloadPage = https://github.com/graysky2/profile-sync-daemon/releases;
+    license = licenses.mit;
+    maintainers = [ maintainers.prikhi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index a8b6e046a9b..a2d8c535d06 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl } :
 
 stdenv.mkDerivation rec {
-  name = "pv-1.5.3";
+  name = "pv-1.6.0";
 
   src = fetchurl {
     url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2";
-    sha256 = "03prg025kzivl1a5xqlf45szpnpqrmkzcvnf7lb2fc1v3jdrkwvn";
+    sha256 = "13gg6r84pkvznpd1l11qw1jw9yna40gkgpni256khyx21m785khf";
   };
 
   meta = {
     homepage = http://www.ivarch.com/programs/pv;
     description = "Tool for monitoring the progress of data through a pipeline";
-    license = "Artistic-2";
+    license = stdenv.lib.licenses.artistic2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/tools/misc/rcm/default.nix b/pkgs/tools/misc/rcm/default.nix
new file mode 100644
index 00000000000..59eccbb1ab6
--- /dev/null
+++ b/pkgs/tools/misc/rcm/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "rcm-1.2.3";
+
+  src = fetchurl {
+    url = https://thoughtbot.github.io/rcm/dist/rcm-1.2.3.tar.gz;
+    sha256 = "0gwpclbc152jkclj3w83s2snx3dcgljwr75q1z8czl3yar7d8bsh";
+  };
+ 
+  patches = [ ./fix-rcmlib-path.patch ];
+
+  postPatch = ''
+    for f in bin/*.in; do
+      substituteInPlace $f --subst-var-by rcm $out
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Management Suite for Dotfiles";
+    homepage = https://github.com/thoughtbot/rcm;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ malyn ];
+  };
+}
diff --git a/pkgs/tools/misc/rcm/fix-rcmlib-path.patch b/pkgs/tools/misc/rcm/fix-rcmlib-path.patch
new file mode 100644
index 00000000000..45bd32a2d2b
--- /dev/null
+++ b/pkgs/tools/misc/rcm/fix-rcmlib-path.patch
@@ -0,0 +1,68 @@
+*** rcm-1.2.3/bin/lsrc.in.orig	2014-05-09 04:57:39.000000000 -0700
+--- rcm-1.2.3/bin/lsrc.in	2015-01-24 14:27:48.786595479 -0800
+***************
+*** 1,6 ****
+  #!@SHELL@
+  
+! : ${RCM_LIB:=$(dirname "$0")/../share/rcm}
+  . "$RCM_LIB/rcm.sh"
+  
+  pushdir() {
+--- 1,6 ----
+  #!@SHELL@
+  
+! RCM_LIB=@rcm@/share/rcm
+  . "$RCM_LIB/rcm.sh"
+  
+  pushdir() {
+*** rcm-1.2.3/bin/mkrc.in.orig	2014-05-09 04:57:39.000000000 -0700
+--- rcm-1.2.3/bin/mkrc.in	2015-01-24 14:27:48.786595479 -0800
+***************
+*** 1,6 ****
+  #!@SHELL@
+  
+! : ${RCM_LIB:=$(dirname "$0")/../share/rcm}
+  . "$RCM_LIB/rcm.sh"
+  
+  destination() {
+--- 1,6 ----
+  #!@SHELL@
+  
+! RCM_LIB=@rcm@/share/rcm
+  . "$RCM_LIB/rcm.sh"
+  
+  destination() {
+*** rcm-1.2.3/bin/rcdn.in.orig	2014-05-09 04:57:39.000000000 -0700
+--- rcm-1.2.3/bin/rcdn.in	2015-01-24 14:27:48.786595479 -0800
+***************
+*** 1,6 ****
+  #!@SHELL@
+  
+! : ${RCM_LIB:=$(dirname "$0")/../share/rcm}
+  . "$RCM_LIB/rcm.sh"
+  
+  remove_link() {
+--- 1,6 ----
+  #!@SHELL@
+  
+! RCM_LIB=@rcm@/share/rcm
+  . "$RCM_LIB/rcm.sh"
+  
+  remove_link() {
+*** rcm-1.2.3/bin/rcup.in.orig	2014-05-09 04:57:39.000000000 -0700
+--- rcm-1.2.3/bin/rcup.in	2015-01-24 14:27:48.786595479 -0800
+***************
+*** 1,6 ****
+  #!@SHELL@
+  
+! : ${RCM_LIB:=$(dirname "$0")/../share/rcm}
+  . "$RCM_LIB/rcm.sh"
+  
+  link_or_copy() {
+--- 1,6 ----
+  #!@SHELL@
+  
+! RCM_LIB=@rcm@/share/rcm
+  . "$RCM_LIB/rcm.sh"
+  
+  link_or_copy() {
diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index fe0f3d646b8..18137312a3d 100644
--- a/pkgs/tools/misc/remind/default.nix
+++ b/pkgs/tools/misc/remind/default.nix
@@ -1,17 +1,17 @@
 {stdenv, fetchurl} :
 
 stdenv.mkDerivation {
-  name = "remind-3.1.8";
+  name = "remind-3.1.13";
   src = fetchurl {
-    url = http://www.roaringpenguin.com/files/download/remind-03.01.08.tar.gz;
-    sha256 = "0gvizrpkbanm515bhd6mq9xxs4g4ji9pplswaj4plaqsk3yw0qjw";
+    url = http://www.roaringpenguin.com/files/download/remind-03.01.13.tar.gz;
+    sha256 = "0kzw1d53nlj90qfsibbs2gkzp1hamqqxpj57ip4kz1j1xgan69ng";
   };
 
   meta = {
     homepage = http://www.roaringpenguin.com/products/remind;
     description = "Sophisticated calendar and alarm program for the console";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [viric raskin kovirobi];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/misc/rkflashtool/default.nix b/pkgs/tools/misc/rkflashtool/default.nix
index 6b74f9ac5d3..5c56f9accfc 100644
--- a/pkgs/tools/misc/rkflashtool/default.nix
+++ b/pkgs/tools/misc/rkflashtool/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp rkunpack rkcrc rkflashtool $out/bin
+    cp rkunpack rkcrc rkflashtool rkparameters rkparametersblock rkunsign rkmisc $out/bin
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index 5c53d885e6f..86d81fd2585 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, readline }:
 
 stdenv.mkDerivation rec {
-  name = "rlwrap-0.37";
+  name = "rlwrap-0.42";
 
   src = fetchurl {
     url = "http://utopia.knoware.nl/~hlub/uck/rlwrap/${name}.tar.gz";
-    sha256 = "1gcb95i839pwn9a3phs2wq7bwz9f6v8sydq6lf9y4gm3hk0s40w4";
+    sha256 = "0i3yz303wscrysyzpdq04h4nrl9ajz9dbwi80risdl5rkm3dhw2s";
   };
 
   buildInputs = [ readline ];
@@ -18,5 +18,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Readline wrapper for console programs";
     homepage = http://utopia.knoware.nl/~hlub/uck/rlwrap/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix
index 805bcf6b01c..21643a9d11a 100644
--- a/pkgs/tools/misc/rmlint/default.nix
+++ b/pkgs/tools/misc/rmlint/default.nix
@@ -1,24 +1,31 @@
-{ fetchurl, stdenv }:
+{ stdenv, fetchurl
+, gettext, glib, json_glib, libelf, pkgconfig, scons, sphinx, utillinux }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "rmlint-1.0.8";
+  name = "rmlint-${version}";
+  version = "2.0.0";
 
   src = fetchurl {
-    url = "https://github.com/downloads/sahib/rmlint/rmlint_1.0.8.tar.gz";
-    sha256 = "bea39a5872b39d3596e756f242967bc5bde6febeb996fdcd63fbcf5bfdc75f01";
+    url = "https://github.com/sahib/rmlint/archive/v${version}.tar.gz";
+    sha256 = "14jiswagipsmzxclcskn672ws4126p65l6hlzkkvanyv8gmpv90f";
   };
 
-  preConfigure = ''
-    substituteInPlace Makefile.in \
-      --replace "/usr/" "/"
-  '';
+  patches = [ ./fix-scons.patch ];
 
-  makeFlags="DESTDIR=$(out)";
+  configurePhase = "scons config";
+
+  buildInputs = [ gettext glib json_glib libelf pkgconfig scons sphinx utillinux ];
+
+  buildPhase = "scons";
+
+  installPhase = "scons --prefix=$out install";
 
   meta = {
-    description = "A tool to remove duplicates and other lint";
-    homepage = "https://github.com/sahib/rmlint";
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl3;
+    description = "Extremely fast tool to remove duplicates and other lint from your filesystem.";
+    homepage = http://rmlint.readthedocs.org;
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.koral ];
   };
 }
diff --git a/pkgs/tools/misc/rmlint/fix-scons.patch b/pkgs/tools/misc/rmlint/fix-scons.patch
new file mode 100644
index 00000000000..4d7d832f13d
--- /dev/null
+++ b/pkgs/tools/misc/rmlint/fix-scons.patch
@@ -0,0 +1,22 @@
+diff --git b/SConstruct a/SConstruct
+old mode 100644
+new mode 100755
+index a7fca2e..561007e
+--- b/SConstruct
++++ a/SConstruct
+@@ -404,11 +404,10 @@ options = dict(
+     SHLINKCOMSTR=link_shared_library_message,
+     LINKCOMSTR=link_program_message,
+     PREFIX=GetOption('prefix'),
+-    ENV={
+-        'PATH': os.environ['PATH'],
+-        'TERM': os.environ['TERM'],
+-        'HOME': os.environ['HOME']
+-    }
++    ENV = dict([ (key, os.environ[key])
++                 for key in os.environ
++                 if key in ['PATH', 'TERM', 'HOME', 'PKG_CONFIG_PATH']
++              ])
+ )
+ 
+ if ARGUMENTS.get('VERBOSE') == "1":
diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix
index aa14087dfc8..53c1b0de24e 100644
--- a/pkgs/tools/misc/rrdtool/default.nix
+++ b/pkgs/tools/misc/rrdtool/default.nix
@@ -1,17 +1,23 @@
-{ fetchurl, stdenv, gettext, perl, pkgconfig, libxml2, pango, cairo }:
+{ fetchurl, stdenv, gettext, perl, pkgconfig, libxml2, pango, cairo, groff }:
 
-stdenv.mkDerivation {
-  name = "rrdtool-1.4.5";
+stdenv.mkDerivation rec {
+  name = "rrdtool-1.4.9";
   src = fetchurl {
-    url = http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz;
-    sha256 = "07fgn0y4yj7p2vh6a37q273hf98gkfw2sdam5r1ldn1k0m1ayrqj";
+    url = "http://oss.oetiker.ch/rrdtool/pub/${name}.tar.gz";
+    sha256 = "1k1506v86nijd9vdljib93z4hrwj786kqnx37lqqbbqasvh2ca1y";
   };
-  buildInputs = [ gettext perl pkgconfig libxml2 pango cairo ];
+  buildInputs = [ gettext perl pkgconfig libxml2 pango cairo groff ];
+  
+  postInstall = ''
+    # for munin support
+    mv $out/lib/perl/5*/*/*.pm $out/lib/perl/5*/
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://oss.oetiker.ch/rrdtool/;
     description = "High performance logging in Round Robin Databases";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
new file mode 100644
index 00000000000..9aaf928b7b0
--- /dev/null
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, skalibs }:
+
+let
+
+  version = "2.0.4.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-portable-utils-${version}";
+
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz";
+    sha256 = "0gl4v6hslqkxdfxj3qzi1xpiiw52ic8y8l9nkl2z5gp893qb6yvx";
+  };
+
+  dontDisableStatic = true;
+
+  configureFlags = [
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-dynlib=${skalibs}/lib"
+  ];
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-portable-utils/;
+    description = "A set of tiny general Unix utilities optimized for simplicity and small size";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 6e3f8edbb9c..d4377c14fad 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc"
+    configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc --enable-colors256"
     sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
   '';
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/screen/;
-    description = "a window manager that multiplexes a physical terminal";
+    description = "A window manager that multiplexes a physical terminal";
     license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription =
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 0ebc712fcf0..442922b7805 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, xdpyinfo, xprop }:
 
 let
-  version = "2014-05-27";
+  version = "3.6.2";
 in
 stdenv.mkDerivation {
   name = "screenFetch-${version}";
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://github.com/KittyKatt/screenFetch.git;
-    rev = "69c46cb94b5765dbcb36905c5a35c42eb8e6e470";
-    sha256 = "0479na831120bpyrg5nb3nb1jr8p8ahkixk1znwg730q3vdcjd6j";
+    rev = "dec1cd6c2471defe4459967fbc8ae15b55714338";
+    sha256 = "138a7g0za5dq27jx7x8gqg7gjkgyq0017v0nbcg68ys7dqlxsdl3";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Fetches system/theme information in terminal for Linux desktop screenshots.";
+    description = "Fetches system/theme information in terminal for Linux desktop screenshots";
     longDescription = ''
     screenFetch is a "Bash Screenshot Information Tool". This handy Bash
     script can be used to generate one of those nifty terminal theme
diff --git a/pkgs/tools/misc/shebangfix/default.nix b/pkgs/tools/misc/shebangfix/default.nix
deleted file mode 100644
index 68f20df0577..00000000000
--- a/pkgs/tools/misc/shebangfix/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, perl }:
-
-stdenv.mkDerivation {
-  name = "shebangfix-0.0";
-
-  buildInputs = [perl];
-
-  file = ./shebangfix.pl;
-
-  phases = "buildPhase";
-
-  buildPhase = ''
-    mkdir -p $out/bin
-    s=$out/bin/shebangfix
-    cp $file $s
-    chmod +wx $s
-    ls -l $s
-    perl $s $s
-  '';
-
-  meta = { description = "replaces the #!executable with $#!correctpath/executable "; };
-}
diff --git a/pkgs/tools/misc/shebangfix/shebangfix.pl b/pkgs/tools/misc/shebangfix/shebangfix.pl
deleted file mode 100644
index 53573f8d36d..00000000000
--- a/pkgs/tools/misc/shebangfix/shebangfix.pl
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/perl
-use warnings;
-use strict;
-
-#usage PATH=< : separated path list> perl <this script>  file1 file2
-
-print "TODO fix space trouble. This script won't work if your paths contain spaces";
-
-sub findInPath{
-  my $file = shift(@_);
-  foreach (split(/:/, $ENV{'PATH'})){
-    my $f =  "$_/$file";
-    if (-x "$f"){
-      return $f;
-    }
-  }
-  print "unable to find $file in on of ".$ENV{'PATH'};
-  exit 1
-}
-
-foreach (@ARGV)
-{
-  my $file = $_;
-  open(FILE, $file);
-  my $content = do { local $/; <FILE> };
-
-  close(FILE); 
-
-  (my $name = $content) =~ /^#![^ ]*\/([^ \n\r]*)/;
-  my $fullpath =  ($1 eq 'sh') ? "/bin/sh" : findInPath($1);
-  $content =~ s/^#![^ \n\r]*/#!$fullpath/;
-  open(FILE, ">$file");
-  print FILE $content;
-  close($file);
-}
diff --git a/pkgs/tools/misc/sl/default.nix b/pkgs/tools/misc/sl/default.nix
index aa35461a7a9..f5bc2edf3ca 100644
--- a/pkgs/tools/misc/sl/default.nix
+++ b/pkgs/tools/misc/sl/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
       url = https://github.com/mtoyoda/sl/blob/master/LICENSE;
     };
     description = "Steam Locomotive runs across your terminal when you type 'sl'";
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
new file mode 100644
index 00000000000..0f28b15ea97
--- /dev/null
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchgit, autoconf, automake, boost, pkgconfig, libtool, acl, libxml2, btrfsProgs, dbus_libs, docbook_xsl, libxslt, docbook_xml_dtd_45,  diffutils, pam, utillinux, attr, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "snapper-0.2.4";
+
+  src = fetchgit {
+    url = "https://github.com/openSUSE/snapper";
+    rev = "24e18153f7a32d0185dcfb20f8b8a4709ba8fe4a";
+    sha256 = "ec4b829430bd7181995e66a26ac86e8ac71c27e77faf8eb06db71d645c6f859b";
+  };
+
+  buildInputs = [ autoconf automake boost pkgconfig libtool acl libxml2 btrfsProgs dbus_libs docbook_xsl libxslt docbook_xml_dtd_45 diffutils pam utillinux attr gettext ];
+
+  patchPhase = ''
+    # work around missing btrfs/version.h; otherwise, use "-DHAVE_BTRFS_VERSION_H"
+    substituteInPlace snapper/Btrfs.cc --replace "define BTRFS_LIB_VERSION (100)" "define BTRFS_LIB_VERSION (200)";
+    # fix strange SuSE boost naming
+    substituteInPlace snapper/Makefile.am --replace \
+      "libsnapper_la_LIBADD = -lboost_thread-mt -lboost_system-mt -lxml2 -lacl -lz -lm" \
+      "libsnapper_la_LIBADD = -lboost_thread -lboost_system -lxml2 -lacl -lz -lm";
+    # general cleanup
+    sed -i 's/^INCLUDES/AM_CPPFLAGS/' $(grep -rl ^INCLUDES .|grep "\.am$")
+    '';
+
+  configurePhase = ''
+    aclocal
+    libtoolize --force --automake --copy
+    autoheader
+    automake --add-missing --copy
+    autoconf
+
+    ./configure --disable-silent-rules --disable-ext4 --disable-btrfs-quota --prefix=$out
+    '';
+
+  makeFlags = "DESTDIR=$(out)";
+
+  NIX_CFLAGS_COMPILE = [ "-I${libxml2}/include/libxml2" ];
+
+  # Probably a hack, but using DESTDIR and PREFIX makes everything work!
+  postInstall = ''
+    cp -r $out/$out/* $out
+    rm -r $out/nix
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for Linux filesystem snapshot management";
+    homepage = http://snapper.io;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.tstrobel ];
+  };
+}
diff --git a/pkgs/tools/misc/sutils/default.nix b/pkgs/tools/misc/sutils/default.nix
index 6d2bee23813..d0576cc069a 100644
--- a/pkgs/tools/misc/sutils/default.nix
+++ b/pkgs/tools/misc/sutils/default.nix
@@ -11,9 +11,9 @@ stdenv.mkDerivation rec {
    prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
 
    meta = {
-     description = "Small command-line utilities.";
-     homepage = "https://github.com/baskerville/sutils";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     description = "Small command-line utilities";
+     homepage = https://github.com/baskerville/sutils;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
new file mode 100644
index 00000000000..d85da36f7ee
--- /dev/null
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, makeWrapper, python, perl, zip
+, rtmpdump, nose, mock, pycrypto, substituteAll }:
+
+stdenv.mkDerivation rec {
+  name = "svtplay-dl-${version}";
+  version = "0.10.2015.01.28";
+
+  src = fetchurl {
+    url = "https://github.com/spaam/svtplay-dl/archive/${version}.tar.gz";
+    sha256 = "0hjqhb4s0qpw2l7azcqmckbdc4mcvczp0w1dfk125n01z0w9c20c";
+  };
+
+  pythonPaths = [ pycrypto ];
+  buildInputs = [ python perl nose mock rtmpdump makeWrapper ] ++ pythonPaths;
+  nativeBuildInputs = [ zip ];
+
+  postPatch = ''
+    substituteInPlace lib/svtplay_dl/fetcher/rtmp.py \
+      --replace '"rtmpdump"' '"${rtmpdump}/bin/rtmpdump"'
+
+    substituteInPlace run-tests.sh \
+      --replace 'PYTHONPATH=lib' 'PYTHONPATH=lib:$PYTHONPATH'
+  '';
+
+  makeFlags = "PREFIX=$(out) SYSCONFDIR=$(out)/etc PYTHON=${python}/bin/python";
+
+  postInstall = ''
+    wrapProgram "$out/bin/svtplay-dl" \
+      --prefix PYTHONPATH : "$PYTHONPATH"
+  '';
+
+  doCheck = true;
+  checkPhase = "sh run-tests.sh -2";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/spaam/svtplay-dl;
+    description = "Command-line tool to download videos from svtplay.se and other sites";
+    license = licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.rycee ];
+  };
+}
diff --git a/pkgs/tools/misc/t/Gemfile b/pkgs/tools/misc/t/Gemfile
new file mode 100644
index 00000000000..3a31c54c5a7
--- /dev/null
+++ b/pkgs/tools/misc/t/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem 't'
diff --git a/pkgs/tools/misc/t/Gemfile.lock b/pkgs/tools/misc/t/Gemfile.lock
new file mode 100644
index 00000000000..d85f5a1a752
--- /dev/null
+++ b/pkgs/tools/misc/t/Gemfile.lock
@@ -0,0 +1,52 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.3.7)
+    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)
+      http_parser.rb (~> 0.6.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)
+    simple_oauth (0.3.1)
+    t (2.9.0)
+      geokit (>= 1.8.3, < 2)
+      htmlentities (~> 4.3)
+      launchy (~> 2.4)
+      oauth (~> 0.4.7)
+      retryable (~> 2.0)
+      thor (>= 0.19.1, < 2)
+      twitter (~> 5.13)
+    thor (0.19.1)
+    thread_safe (0.3.5)
+    twitter (5.14.0)
+      addressable (~> 2.3)
+      buftok (~> 0.2.0)
+      equalizer (~> 0.0.9)
+      faraday (~> 0.9.0)
+      http (~> 0.6.0)
+      http_parser.rb (~> 0.6.0)
+      json (~> 1.8)
+      memoizable (~> 0.4.0)
+      naught (~> 1.0)
+      simple_oauth (~> 0.3.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  t
diff --git a/pkgs/tools/misc/t/default.nix b/pkgs/tools/misc/t/default.nix
new file mode 100644
index 00000000000..10db8764f89
--- /dev/null
+++ b/pkgs/tools/misc/t/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, lib, bundlerEnv, ruby }:
+
+bundlerEnv {
+  name = "t-2.9.0";
+
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  meta = with lib; {
+    description = "A command-line power tool for Twitter.";
+    homepage    = http://sferik.github.io/t/;
+    license     = with licenses; asl20;
+    maintainers = with maintainers; [ offline ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/t/gemset.nix b/pkgs/tools/misc/t/gemset.nix
new file mode 100644
index 00000000000..6c721111c67
--- /dev/null
+++ b/pkgs/tools/misc/t/gemset.nix
@@ -0,0 +1,185 @@
+{
+  "addressable" = {
+    version = "2.3.7";
+    source = {
+      type = "gem";
+      sha256 = "1x1401m59snw59c2bxr10jj10z1n4r4jvz8c55d0c3sh2smbl8kh";
+    };
+  };
+  "buftok" = {
+    version = "0.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs";
+    };
+  };
+  "equalizer" = {
+    version = "0.0.9";
+    source = {
+      type = "gem";
+      sha256 = "1i6vfh2lzyrvvm35qa9cf3xh2gxj941x0v78pp0c7bwji3f5hawr";
+    };
+  };
+  "faraday" = {
+    version = "0.9.1";
+    source = {
+      type = "gem";
+      sha256 = "1h33znnfzxpscgpq28i9fcqijd61h61zgs3gabpdgqfa1043axsn";
+    };
+    dependencies = [
+      "multipart-post"
+    ];
+  };
+  "geokit" = {
+    version = "1.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1bpkjz2q8hm7i4mrrp1if51zq6fz3qkqj55qwlb7jh9jlgyvjmqy";
+    };
+    dependencies = [
+      "multi_json"
+    ];
+  };
+  "htmlentities" = {
+    version = "4.3.3";
+    source = {
+      type = "gem";
+      sha256 = "0v4m2pn6q2h7iqdkxk9z3j4828harcjgk1h77v9i4x87avv5130p";
+    };
+  };
+  "http" = {
+    version = "0.6.3";
+    source = {
+      type = "gem";
+      sha256 = "0wmj5i1l0f6ajhs8wi1h3sdwhrl00llrpsmh6xs9dwjm2amvdvxv";
+    };
+    dependencies = [
+      "http_parser.rb"
+    ];
+  };
+  "http_parser.rb" = {
+    version = "0.6.0";
+    source = {
+      type = "gem";
+      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+    };
+  };
+  "json" = {
+    version = "1.8.2";
+    source = {
+      type = "gem";
+      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
+    };
+  };
+  "launchy" = {
+    version = "2.4.3";
+    source = {
+      type = "gem";
+      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
+    };
+    dependencies = [
+      "addressable"
+    ];
+  };
+  "memoizable" = {
+    version = "0.4.2";
+    source = {
+      type = "gem";
+      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
+    };
+    dependencies = [
+      "thread_safe"
+    ];
+  };
+  "multi_json" = {
+    version = "1.11.0";
+    source = {
+      type = "gem";
+      sha256 = "1mg3hp17ch8bkf3ndj40s50yjs0vrqbfh3aq5r02jkpjkh23wgxl";
+    };
+  };
+  "multipart-post" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
+    };
+  };
+  "naught" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "04m6hh63c96kcnzwy5mpl826yn6sm465zz1z87mmsig86gqi1izd";
+    };
+  };
+  "oauth" = {
+    version = "0.4.7";
+    source = {
+      type = "gem";
+      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
+    };
+  };
+  "retryable" = {
+    version = "2.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0wg4vh76cmhwzwrgd0k6kbx4dlp4r98l8yizr72lmzph187dg48f";
+    };
+  };
+  "simple_oauth" = {
+    version = "0.3.1";
+    source = {
+      type = "gem";
+      sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l";
+    };
+  };
+  "t" = {
+    version = "2.9.0";
+    source = {
+      type = "gem";
+      sha256 = "0qdsyblnnan2wcvql2mzg10jaj3gfv5pbfac54b1y7qkr56dc4dv";
+    };
+    dependencies = [
+      "geokit"
+      "htmlentities"
+      "launchy"
+      "oauth"
+      "retryable"
+      "thor"
+      "twitter"
+    ];
+  };
+  "thor" = {
+    version = "0.19.1";
+    source = {
+      type = "gem";
+      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+    };
+  };
+  "thread_safe" = {
+    version = "0.3.5";
+    source = {
+      type = "gem";
+      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
+    };
+  };
+  "twitter" = {
+    version = "5.14.0";
+    source = {
+      type = "gem";
+      sha256 = "0vx7x3fmwgk3axqyw9hyf6yh99kx3ssdy14w2686hz7c4v3qwlc5";
+    };
+    dependencies = [
+      "addressable"
+      "buftok"
+      "equalizer"
+      "faraday"
+      "http"
+      "http_parser.rb"
+      "json"
+      "memoizable"
+      "naught"
+      "simple_oauth"
+    ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index afe75c572c0..664647514aa 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -4,11 +4,11 @@ let inherit (composableDerivation) edf; in
 
 composableDerivation.composableDerivation {} {
 
-  name = "timidity-2.13.0";
+  name = "timidity-2.14.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/timidity/TiMidity++-2.13.0.tar.bz2;
-    sha256 = "1jbmk0m375fh5nj2awqzns7pdjbi7dxpjdwcix04zipfcilppbmf";
+    url = mirror://sourceforge/timidity/TiMidity++-2.14.0.tar.bz2;
+    sha256 = "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr";
   };
 
   mergeAttrBy.audioModes = a : b : "${a},${b}";
@@ -55,8 +55,10 @@ composableDerivation.composableDerivation {} {
     tar --strip-components=1 -xf $instruments -C $out/share/timidity/
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
+    homepage = http://sourceforge.net/projects/timidity/;
+    license = licenses.gpl2;
     description = "A software MIDI renderer";
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
+    maintainers = [ maintainers.marcweber ];
   };
 }
diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix
new file mode 100644
index 00000000000..4d3de16434b
--- /dev/null
+++ b/pkgs/tools/misc/tlp/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchFromGitHub, makeWrapper, perl, systemd, iw, rfkill, hdparm, ethtool, inetutils, kmod
+, enableRDW ? true, networkmanager }:
+
+let version = "0.7";
+in stdenv.mkDerivation {
+  inherit enableRDW;
+
+  name = "tlp-${version}";
+
+  src = fetchFromGitHub {
+        owner = "linrunner";
+        repo = "TLP";
+        rev = "${version}";
+        sha256 = "0vgx2jnk9gp41fw992l9dmv462jpcrnwqkzsa8z0lh0l77ax2jcg";
+      };
+
+  makeFlags = [ "DESTDIR=$(out)"
+                "TLP_LIBDIR=/lib"
+                "TLP_SBIN=/bin"
+                "TLP_BIN=/bin"
+                "TLP_NO_INIT=1"
+                "TLP_NO_PMUTILS=1"
+              ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ perl ];
+
+  paths = with stdenv.lib;
+          concatMapStringsSep ":" (x: "${x}/bin")
+          ([ iw rfkill hdparm ethtool inetutils systemd kmod ]
+           ++ optional enableRDW networkmanager
+          );
+
+  installTargets = [ "install-tlp" ] ++ stdenv.lib.optional enableRDW "install-rdw";
+
+  postInstall = ''
+    for i in $out/bin/* $out/lib/udev/tlp-*; do
+      sed -i "s,/usr/lib/,$out/lib/,g" "$i"
+      wrapProgram "$i" \
+        --prefix PATH : "$paths"
+    done
+    if [ "$enableRDW" = "1" ]; then
+      for i in $out/etc/NetworkManager/dispatcher.d/*; do
+        sed -i "s,/usr/lib/,$out/lib/,g" "$i"
+        wrapProgram "$i" \
+          --prefix PATH : "$paths"
+      done
+    fi
+
+    for i in $out/lib/udev/rules.d/*; do
+      sed -i "s,RUN+=\",\\0$out,g; s,/usr/sbin,/bin,g" "$i"
+    done
+  '';
+
+  passthru = { inherit enableRDW; };
+
+  meta = with stdenv.lib; {
+    description = "Advanced Power Management for Linux";
+    homepage = "http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 32f681dabeb..7180665bd3d 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
           * Interactive menus to select windows, sessions or clients.
           * Change the current window by searching for text in the target.
           * Terminal locking, manually or after a timeout.
-          * A clean, easily extended, BSD-licensed codebase, under active development. 
+          * A clean, easily extended, BSD-licensed codebase, under active development.
       '';
 
     license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/tools/misc/tmuxinator/Gemfile b/pkgs/tools/misc/tmuxinator/Gemfile
new file mode 100644
index 00000000000..5fa4859adfc
--- /dev/null
+++ b/pkgs/tools/misc/tmuxinator/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem 'tmuxinator'
diff --git a/pkgs/tools/misc/tmuxinator/Gemfile.lock b/pkgs/tools/misc/tmuxinator/Gemfile.lock
new file mode 100644
index 00000000000..6f05b475ff2
--- /dev/null
+++ b/pkgs/tools/misc/tmuxinator/Gemfile.lock
@@ -0,0 +1,14 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    erubis (2.7.0)
+    thor (0.19.1)
+    tmuxinator (0.6.9)
+      erubis (~> 2.6)
+      thor (~> 0.19, >= 0.15.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  tmuxinator
diff --git a/pkgs/tools/misc/tmuxinator/default.nix b/pkgs/tools/misc/tmuxinator/default.nix
new file mode 100644
index 00000000000..96610c32167
--- /dev/null
+++ b/pkgs/tools/misc/tmuxinator/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, lib, bundlerEnv, ruby }:
+
+bundlerEnv {
+  name = "tmuxinator-0.6.9";
+
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  meta = with lib; {
+    description = "Manage complex tmux sessions easily";
+    homepage    = https://github.com/tmuxinator/tmuxinator;
+    license     = with licenses; mit;
+    maintainers = with maintainers; [ auntie ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/tmuxinator/gemset.nix b/pkgs/tools/misc/tmuxinator/gemset.nix
new file mode 100644
index 00000000000..1b5b1605c4c
--- /dev/null
+++ b/pkgs/tools/misc/tmuxinator/gemset.nix
@@ -0,0 +1,27 @@
+{
+  "erubis" = {
+    version = "2.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+    };
+  };
+  "thor" = {
+    version = "0.19.1";
+    source = {
+      type = "gem";
+      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+    };
+  };
+  "tmuxinator" = {
+    version = "0.6.9";
+    source = {
+      type = "gem";
+      sha256 = "0q0ld82dznjsan7ciblfsxz59brcc16fwmvr9n3c7vdcndj8rd27";
+    };
+    dependencies = [
+      "erubis"
+      "thor"
+    ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
new file mode 100644
index 00000000000..1c8a2e495b6
--- /dev/null
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, substituteAll, coreutils, python2, python2Packages }:
+
+assert stdenv.isLinux;
+
+python2Packages.buildPythonPackage rec {
+  name = "trash-cli-${version}";
+  version = "0.12.9.14";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://github.com/andreafrancia/trash-cli/archive/${version}.tar.gz";
+    sha256 = "10idvzrlppj632pw6mpk1zy9arn1x4lly4d8nfy9cz4zqv06lhvh";
+  };
+
+
+  patches = [
+    # Fix paths.
+    (substituteAll {
+      src = ./nix-paths.patch;
+      df = "${coreutils}/bin/df";
+      python = "${python2}/bin/${python2.executable}";
+      libc = "${stdenv.cc.libc}/lib/libc.so.6";
+    })
+
+    # Apply https://github.com/JaviMerino/trash-cli/commit/4f45a37a3
+    # to fix failing test case.
+    ./fix_should_output_info_for_multiple_files.patch
+  ];
+
+  buildInputs = with python2Packages; [ nose mock ];
+
+  checkPhase = "nosetests";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/andreafrancia/trash-cli;
+    description = "Command line tool for the desktop trash can";
+    maintainer = [ maintainers.rycee ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/misc/trash-cli/fix_should_output_info_for_multiple_files.patch b/pkgs/tools/misc/trash-cli/fix_should_output_info_for_multiple_files.patch
new file mode 100644
index 00000000000..17947be7482
--- /dev/null
+++ b/pkgs/tools/misc/trash-cli/fix_should_output_info_for_multiple_files.patch
@@ -0,0 +1,60 @@
+From 4f45a37a390d7c844dd9c9b58fff7259a77ffff9 Mon Sep 17 00:00:00 2001
+From: Javi Merino <merino.jav@gmail.com>
+Date: Sun, 31 Aug 2014 05:45:17 -0700
+Subject: [PATCH] Fix should_output_info_for_multiple_files
+
+Test should_output_info_for_multiple_files fails because the output is
+not in the same order as the input.  Add assert_equal_any_order() to
+the OutputCollector, which sorts the expected and actual lines so that
+the output matches even if the order in which they are shown in
+trash-list is different.
+---
+ integration_tests/describe_trash_list.py | 8 +++++---
+ integration_tests/output_collector.py    | 8 ++++++++
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/integration_tests/describe_trash_list.py b/integration_tests/describe_trash_list.py
+index 6dd8d30..3489a22 100644
+--- a/integration_tests/describe_trash_list.py
++++ b/integration_tests/describe_trash_list.py
+@@ -73,9 +73,9 @@ def should_output_info_for_multiple_files(self):
+ 
+         self.user.run_trash_list()
+ 
+-        self.user.should_read_output( "2000-01-01 00:00:01 /file1\n"
+-                                      "2000-01-01 00:00:02 /file2\n"
+-                                      "2000-01-01 00:00:03 /file3\n")
++        self.user.should_read_output_any_order( "2000-01-01 00:00:01 /file1\n"
++                                                "2000-01-01 00:00:02 /file2\n"
++                                                "2000-01-01 00:00:03 /file3\n")
+ 
+     @istest
+     def should_output_unknown_dates_with_question_marks(self):
+@@ -294,6 +294,8 @@ def error(self):
+         raise ValueError()
+     def should_read_output(self, expected_value):
+         self.stdout.assert_equal_to(expected_value)
++    def should_read_output_any_order(self, expected_value):
++        self.stdout.assert_equal_any_order(expected_value)
+     def should_read_error(self, expected_value):
+         self.stderr.assert_equal_to(expected_value)
+     def output(self):
+diff --git a/integration_tests/output_collector.py b/integration_tests/output_collector.py
+index 06dc002..7f3704f 100644
+--- a/integration_tests/output_collector.py
++++ b/integration_tests/output_collector.py
+@@ -9,6 +9,14 @@ def write(self,data):
+         self.stream.write(data)
+     def assert_equal_to(self, expected):
+         return self.should_be(expected)
++    def assert_equal_any_order(self, expected):
++        actual_sorted = sorted(self.stream.getvalue().splitlines(1))
++        actual = "".join(actual_sorted)
++
++        expected_sorted = sorted(expected.splitlines(1))
++        expected = "".join(expected_sorted)
++
++        assert_equals_with_unidiff(expected, actual)
+     def should_be(self, expected):
+         assert_equals_with_unidiff(expected, self.stream.getvalue())
+     def should_match(self, regex):
diff --git a/pkgs/tools/misc/trash-cli/nix-paths.patch b/pkgs/tools/misc/trash-cli/nix-paths.patch
new file mode 100644
index 00000000000..29412027b7a
--- /dev/null
+++ b/pkgs/tools/misc/trash-cli/nix-paths.patch
@@ -0,0 +1,39 @@
+diff -Nurp trash-cli-0.12.9.14-orig/integration_tests/test_trash_rm_script.py trash-cli-0.12.9.14/integration_tests/test_trash_rm_script.py
+--- trash-cli-0.12.9.14-orig/integration_tests/test_trash_rm_script.py	2014-12-23 10:10:43.808470486 +0100
++++ trash-cli-0.12.9.14/integration_tests/test_trash_rm_script.py	2014-12-23 10:11:02.688517975 +0100
+@@ -9,7 +9,7 @@ from pprint import pprint
+ @istest
+ class WhenNoArgs:
+     def setUp(self):
+-        process = Popen(['python', 'trashcli/rm.py'],
++        process = Popen(['@python@', 'trashcli/rm.py'],
+                     env={'PYTHONPATH':'.'},
+                     stdin=None,
+                     stdout=PIPE,
+diff -Nurp trash-cli-0.12.9.14-orig/trashcli/list_mount_points.py trash-cli-0.12.9.14/trashcli/list_mount_points.py
+--- trash-cli-0.12.9.14-orig/trashcli/list_mount_points.py	2014-12-23 10:10:43.808470486 +0100
++++ trash-cli-0.12.9.14/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/ttfautohint/default.nix b/pkgs/tools/misc/ttfautohint/default.nix
new file mode 100644
index 00000000000..cb073dee1fc
--- /dev/null
+++ b/pkgs/tools/misc/ttfautohint/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, harfbuzz, pkgconfig, qt4 }:
+
+stdenv.mkDerivation rec {
+  version = "1.3";
+  name = "ttfautohint-${version}";
+  
+  src = fetchurl {
+    url = "mirror://savannah/freetype/${name}.tar.gz";
+    sha256 = "01719jgdzgf0m4fzkkij563iksr40c7wydv1yq8ygpxjj0vs17y3";
+  };
+
+  buildInputs = [ harfbuzz pkgconfig qt4 ];
+
+  meta = with stdenv.lib; {
+    description = "An automatic hinter for TrueType fonts";
+    longDescription = ''
+      A library and two programs which take a TrueType font as the
+      input, remove its bytecode instructions (if any), and return a
+      new font where all glyphs are bytecode hinted using the
+      information given by FreeType’s auto-hinting module.
+    '';
+    homepage = http://www.freetype.org/ttfautohint/;
+    license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/misc/tty-clock/default.nix b/pkgs/tools/misc/tty-clock/default.nix
new file mode 100644
index 00000000000..eb1a861db92
--- /dev/null
+++ b/pkgs/tools/misc/tty-clock/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "tty-clock-${version}";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "xorg62";
+    repo = "tty-clock";
+    rev = "v0.1";
+    sha256 = "14h70ky5y9nb3mzhlshdgq5n47hg3g6msnwbqd7nnmjzrw1nmarl";
+  };
+
+  buildInputs = [ ncurses ];
+
+  preInstall = ''
+    sed -i 's@/usr/local/@$(out)/@' Makefile
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/xorg62/tty-clock;
+    license = licenses.free;
+    description = "Digital clock in ncurses";
+    platforms = platforms.all;
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/tools/misc/umlet/default.nix b/pkgs/tools/misc/umlet/default.nix
new file mode 100644
index 00000000000..04f3a31aa48
--- /dev/null
+++ b/pkgs/tools/misc/umlet/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, jre, unzip }:
+
+stdenv.mkDerivation rec {
+  major = "13";
+  minor = "2";
+  version = "${major}.${minor}";
+  name = "umlet-${version}";
+
+  src = fetchurl {
+    url = "http://www.umlet.com/umlet_${major}_${minor}/umlet_${version}.zip";
+    sha256 = "19jngb2sr212lh3yi43bqq2skhd9cxa8yfbfc3i6fbm2v0b7i2xf";
+  };
+
+  buildInputs = [ unzip ];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/lib"
+
+    cp -R * "$out/lib"
+
+    cat > "$out/bin/umlet" << EOF
+    #!${stdenv.shell}
+
+    programDir="$out/lib"
+    cd "\$programDir"
+    if [ \$# -eq 1 ]
+     then "${jre}/bin/java" -jar "\$programDir/umlet.jar" -filename="\$1"
+     else "${jre}/bin/java" -jar "\$programDir/umlet.jar" "\$@"
+    fi
+
+    EOF
+    chmod a+x "$out/bin/umlet"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Free, open-source UML tool with a simple user interface";
+    longDescription = ''
+      UMLet is a free, open-source UML tool with a simple user interface:
+      draw UML diagrams fast, produce sequence and activity diagrams from
+      plain text, export diagrams to eps, pdf, jpg, svg, and clipboard,
+      share diagrams using Eclipse, and create new, custom UML elements.
+      UMLet runs stand-alone or as Eclipse plug-in on Windows, OS X and
+      Linux.
+    '';
+    homepage = http://www.umlet.com;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.DamienCassou ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/unclutter/default.nix b/pkgs/tools/misc/unclutter/default.nix
index 542530532de..d97ba727bae 100644
--- a/pkgs/tools/misc/unclutter/default.nix
+++ b/pkgs/tools/misc/unclutter/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
     longDescription = ''
       Unclutter hides your X mouse cursor when you do not need it, to prevent
       it from getting in the way. You have only to move the mouse to restore
-      the mouse cursor. Unclutter is very usefull in tiling wm's where you do
+      the mouse cursor. Unclutter is very useful in tiling wm's where you do
       not need the mouse often.
 
       Just run it from your .bash_profile like that:
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index 84f0f63bd25..85d3049b270 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation {
-  name = "units-2.10";
+  name = "units-2.11";
 
   src = fetchurl {
-    url = mirror://gnu/units/units-2.10.tar.gz;
-    sha256 = "0fa4bk5aqyis5zisz6l8mqqk76njj6zgx3pbrjp5kvraz1dz78lc";
+    url = mirror://gnu/units/units-2.11.tar.gz;
+    sha256 = "1gjs3wc212aaiq4r76hx9nl1h3fa39n0ljwl9420d6ixl3rdmdjk";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
new file mode 100644
index 00000000000..5312445563a
--- /dev/null
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -0,0 +1,32 @@
+{ lib, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  version = "0.4.3";
+  name = "vdirsyncer-${version}";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://github.com/untitaker/vdirsyncer/archive/${version}.tar.gz";
+    sha256 = "0jrxmq8lq0dvqflmh42hhyvc3jjrg1cg3gzfhdcsskj9zz0m6wai";
+  };
+
+  pythonPath = with pythonPackages; [
+    icalendar
+    click
+    requests
+    lxml
+    setuptools
+    requests_toolbelt
+    requests2
+    atomicwrites
+  ];
+
+  meta = {
+    homepage = https://github.com/untitaker/vdirsyncer;
+    description = "Synchronize calendars and contacts";
+    maintainers = [ lib.maintainers.matthiasbeyer ];
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+  };
+}
+
diff --git a/pkgs/tools/misc/venus/default.nix b/pkgs/tools/misc/venus/default.nix
index b7f2be179c4..4206f468ec7 100644
--- a/pkgs/tools/misc/venus/default.nix
+++ b/pkgs/tools/misc/venus/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
   checkPhase = "python runtests.py";
 
-  buildInputs = [ python python.modules.bsddb python.modules.ssl libxslt
+  buildInputs = [ python python.modules.bsddb libxslt
     libxml2 pythonPackages.genshi pythonPackages.lxml makeWrapper ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/vmtouch/default.nix b/pkgs/tools/misc/vmtouch/default.nix
new file mode 100644
index 00000000000..767a61c2bb5
--- /dev/null
+++ b/pkgs/tools/misc/vmtouch/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchFromGitHub, perl}:
+
+stdenv.mkDerivation rec {
+  pname = "vmtouch";
+  version = "git-20150310";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "hoytech";
+    repo = "vmtouch";
+    rev = "4e1b106e59942678c1e6e490e2c7ca7df50eb7a3";
+    sha256 = "1m37gvlypyfizd33mfyfha4hhwiyfzsj8gb2h5im6wzis4j15d0y";
+  };
+
+  buildInputs = [perl];
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = {
+    description = "Portable file system cache diagnostics and control";
+    longDescription = "vmtouch is a tool for learning about and controlling the file system cache of unix and unix-like systems.";
+    homepage = "http://hoytech.com/vmtouch/vmtouch.html";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.garrison ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/vorbisgain/default.nix b/pkgs/tools/misc/vorbisgain/default.nix
index 0c3fb212293..ea61e063328 100644
--- a/pkgs/tools/misc/vorbisgain/default.nix
+++ b/pkgs/tools/misc/vorbisgain/default.nix
@@ -1,17 +1,24 @@
 { stdenv, fetchurl, unzip, libogg, libvorbis }:
 
 stdenv.mkDerivation rec {
-  name = "vorbisgain-0.34";
+  name = "vorbisgain-0.37";
 
   src = fetchurl {
-    url = "http://sjeng.org/ftp/vorbis/${name}.zip";
-    sha256 = "1sjxl20ahhjv63b8a99sq9p14vz3lf1gacivkk0x2c11cc9zw4nr";
+    url = "http://sjeng.org/ftp/vorbis/${name}.tar.gz";
+    sha256 = "1v1h6mhnckmvvn7345hzi9abn5z282g4lyyl4nnbqwnrr98v0vfx";
   };
 
   buildInputs = [ unzip libogg libvorbis ];
   patchPhase = ''
     chmod -v +x configure
-    sed -e 's/^        /\t/' -i Makefile.*
     configureFlags="--mandir=$out/share/man"
     '';
+
+  meta = with stdenv.lib; {
+    homepage = http://sjeng.org/vorbisgain.html;
+    description = "A utility that corrects the volume of an Ogg Vorbis file to a predefined standardized loudness";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
 }
diff --git a/pkgs/tools/misc/w3c-css-validator/default.nix b/pkgs/tools/misc/w3c-css-validator/default.nix
index f08fe87202f..3c7aa5261a2 100644
--- a/pkgs/tools/misc/w3c-css-validator/default.nix
+++ b/pkgs/tools/misc/w3c-css-validator/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, sourceFromHead, apacheAnt, tomcat, jre }:
 
-let 
+let
 
   sources =
     [ (fetchurl {
@@ -69,7 +69,7 @@ stdenv.mkDerivation {
     homepage = http://dev.w3.org/cvsweb/2002/css-validator/;
     # dependencies ship their own license files
     # I think all .java files are covered by this license (?)
-    license = "w3c"; # http://www.w3.org/Consortium/Legal/ 
+    license = stdenv.lib.licenses.w3c;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
     broken = true;
diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix
new file mode 100644
index 00000000000..d76e393aaaa
--- /dev/null
+++ b/pkgs/tools/misc/wyrd/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, ocaml, ncurses, remind }:
+
+stdenv.mkDerivation rec {
+  version = "1.4.6";
+  name = "wyrd-${version}";
+
+  src = fetchurl {
+    url = "http://pessimization.com/software/wyrd/wyrd-${version}.tar.gz";
+    sha256 = "0zlrg602q781q8dij62lwdprpfliyy9j1rqfqcz8p2wgndpivddj";
+  };
+
+  buildInputs = [ ocaml ncurses remind ];
+
+  preferLocalBuild = true;
+
+  meta = with stdenv.lib; {
+    description = "A text-based front-end to Remind";
+    longDescription = ''
+      Wyrd is a text-based front-end to Remind, a sophisticated
+      calendar and alarm program. Remind's power lies in its
+      programmability, and Wyrd does not hide this capability behind
+      flashy GUI dialogs. Rather, Wyrd is designed to make you more
+      efficient at editing your reminder files directly.
+    '';
+    homepage = http://pessimization.com/software/wyrd/;
+    downloadPage = http://pessimization.com/software/wyrd/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.prikhi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/xclip/default.nix b/pkgs/tools/misc/xclip/default.nix
index 4afcc0ac36d..20d5e66cfa2 100644
--- a/pkgs/tools/misc/xclip/default.nix
+++ b/pkgs/tools/misc/xclip/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchurl, x11, libXmu }:
+{ stdenv, fetchsvn, x11, libXmu, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "xclip-0.12";
+  # The last release from 2012, 0.12, lacks '-targets'
+  name = "xclip-0.12-svn-20140209";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/xclip/${name}.tar.gz";
-    sha256 = "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp";
+  src = fetchsvn {
+    url = "svn://svn.code.sf.net/p/xclip/code/trunk";
+    sha256 = "0d6r38xas5l79l700sdm14l41vvjqhah613367ha8kcvx54zkddz";
   };
 
-  buildInputs = [ x11 libXmu ];
+  preConfigure = "autoreconf -vfi";
+
+  buildInputs = [ x11 libXmu autoconf automake libtool ];
 
   meta = { 
     description = "Tool to access the X clipboard from a console application";
     homepage = http://sourceforge.net/projects/xclip/;
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix
index 79c6a743bce..7d731650288 100644
--- a/pkgs/tools/misc/xdaliclock/default.nix
+++ b/pkgs/tools/misc/xdaliclock/default.nix
@@ -3,26 +3,25 @@ x@{builderDefsPackage
   , libSM, libXext
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     [];
 
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="xdaliclock";
-    version="2.40";
+    version = "2.41";
     name="${baseName}-${version}";
     project="${baseName}";
     url="http://www.jwz.org/${project}/${name}.tar.gz";
-    hash="03i8vwi9vz3gr938wr4miiymwv283mg11wgfaf2jhl6aqbmz4id7";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "1crkjvza692irkqm9vwgn58m8ps93n0rxigm6pasgl5dnx3p6d1d";
   };
 
   inherit (sourceInfo) name version;
@@ -36,7 +35,7 @@ rec {
   '' ["minInit" "defEnsureDir"];
 
   goSrcDir = "cd X11";
-      
+
   meta = {
     description = "A clock application that morphs digits when they are changed";
     maintainers = with a.lib.maintainers;
@@ -45,11 +44,9 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux ++ freebsd;
-    license = "free"; #TODO BSD on Gentoo, looks like MIT
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.jwz.org/xdaliclock/";
-    };
+    license = a.lib.licenses.free; #TODO BSD on Gentoo, looks like MIT
+    downloadPage = "http://www.jwz.org/xdaliclock/";
+    inherit version;
+    updateWalker = true;
   };
 }) x
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
index 9a059c9dbb5..e7a3d91967e 100644
--- a/pkgs/tools/misc/xdo/default.nix
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Small X utility to perform elementary actions on windows";
-     homepage = "https://github.com/baskerville/xdo";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/xdo;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/xflux/default.nix b/pkgs/tools/misc/xflux/default.nix
new file mode 100644
index 00000000000..0032eb24c97
--- /dev/null
+++ b/pkgs/tools/misc/xflux/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, libXxf86vm, libXext, libX11, libXrandr, gcc}:
+stdenv.mkDerivation {
+  name = "xflux";
+  src = fetchurl {
+    url = https://justgetflux.com/linux/xflux64.tgz;
+    sha256 = "cc50158fabaeee58c331f006cc1c08fd2940a126e99d37b76c8e878ef20c2021";
+  };
+
+  libPath = stdenv.lib.makeLibraryPath [
+    gcc.cc
+    libXxf86vm
+    libXext
+    libX11
+    libXrandr
+  ];
+
+  unpackPhase = ''
+    unpackFile $src;
+  '';
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp  xflux "$out/bin"
+  '';
+  postFixup = ''
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath "$libPath" "$out/bin/xflux"
+  '';
+  meta = {
+    description = "Adjusts your screen to emit warmer light at night";
+    longDescription = ''
+      xflux changes the color temperature of your screen to be much warmer
+      when the sun sets, and then changes it back its colder temperature
+      when the sun rises.
+    '';
+    homepage = https://justgetflux.com/;
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.paholg ];
+  };
+}
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
index ca8be4c08ea..600f40a67b7 100644
--- a/pkgs/tools/misc/xtitle/default.nix
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Outputs X window titles";
-     homepage = "https://github.com/baskerville/xtitle";
-     maintainers = stdenv.lib.maintainers.meisternu;
+     homepage = https://github.com/baskerville/xtitle;
+     maintainers = [ stdenv.lib.maintainers.meisternu ];
      license = "Custom";
      platforms = stdenv.lib.platforms.linux;
    };
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index e237e0b25eb..60d31fec8c3 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,18 +1,16 @@
-{ stdenv, fetchurl, python, zip }:
+{ stdenv, fetchurl, makeWrapper, python, zip, pandoc, ffmpeg }:
 
-let
-  version = "2014.08.10";
-in
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "youtube-dl-${version}";
+  version = "2015.04.03";
 
   src = fetchurl {
     url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "1afa710vw0midpbv9pjw1b6h0x8kmdnj5dpipacnwsv3mbw1y4x1";
+    sha256 = "0ndzswv6vq5ld5p1ny23sh76cx6acf8yli9gi9r21dm94ida2885";
   };
 
-  buildInputs = [ python ];
-  nativeBuildInputs = [ zip ];
+  buildInputs = [ python makeWrapper zip pandoc ];
 
   patchPhase = ''
     rm youtube-dl
@@ -22,12 +20,23 @@ stdenv.mkDerivation rec {
     makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc PYTHON=${python}/bin/python )
   '';
 
+  postInstall = ''
+    # ffmpeg is used for post-processing and fixups
+    wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg}/bin"
+  '';
+
   meta = {
     homepage = "http://rg3.github.com/youtube-dl/";
     repositories.git = https://github.com/rg3/youtube-dl.git;
     description = "Command-line tool to download videos from YouTube.com and other sites";
-
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
-    maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons phreedom ];
+    longDescription = ''
+      youtube-dl is a small, Python-based command-line program
+      to download videos from YouTube.com and a few more sites.
+      youtube-dl is released to the public domain, which means
+      you can modify it, redistribute it or use it however you like.
+    '';
+    license = licenses.publicDomain;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ bluescreen303 simons phreedom AndersonTorres fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix
new file mode 100644
index 00000000000..9934620c11f
--- /dev/null
+++ b/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, openssl, pcsclite }:
+
+stdenv.mkDerivation rec {
+  name = "yubico-piv-tool-0.1.6";
+
+  src = fetchurl {
+    url = "https://developers.yubico.com/yubico-piv-tool/Releases/${name}.tar.gz";
+    sha256 = "1fsr7wkbg2ff9igc3d8bfqijdxj88wpfnj7zlidzgzakj4b6bxzg";
+  };
+
+  buildInputs = [ pkgconfig openssl pcsclite ];
+
+  configureFlags = [ "--with-backend=pcsc" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/yubico-piv-tool/;
+    description = "";
+    maintainers = with maintainers; [ wkennington ];
+    license = licenses.bsd2;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/yubikey-personalization-gui/default.nix b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
new file mode 100644
index 00000000000..8e606de68c1
--- /dev/null
+++ b/pkgs/tools/misc/yubikey-personalization-gui/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, yubikey-personalization, qt, libyubikey }:
+
+stdenv.mkDerivation rec {
+  name = "yubikey-personalization-gui-3.1.20";
+
+  src = fetchurl {
+    url = "https://developers.yubico.com/yubikey-personalization-gui/Releases/${name}.tar.gz";
+    sha256 = "157ra39m4rv7ni28q9n7v3n102h89fn43kccvs91fmqbj02i3qvh";
+  };
+
+  buildInputs = [ pkgconfig yubikey-personalization qt libyubikey ];
+  
+  configurePhase = ''
+    qmake
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp build/release/yubikey-personalization-gui $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/yubikey-personalization-gui;
+    description = "a QT based cross-platform utility designed to facilitate reconfiguration of the Yubikey";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/misc/yubikey-personalization/default.nix b/pkgs/tools/misc/yubikey-personalization/default.nix
new file mode 100644
index 00000000000..f6b14635d29
--- /dev/null
+++ b/pkgs/tools/misc/yubikey-personalization/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig, libusb, libyubikey, json_c }:
+
+stdenv.mkDerivation rec {
+  name = "yubikey-personalization-${version}";
+  version = "1.17.1";
+
+  src = fetchurl {
+    url = "https://developers.yubico.com/yubikey-personalization/Releases/ykpers-${version}.tar.gz";
+    sha256 = "1i399z23skvyfdr3fp7a340qi3ynfcwdqr1y540swjy9pg1awssm";
+  };
+
+  buildInputs = [ pkgconfig libusb libyubikey json_c ];
+
+  configureFlags = [
+    "--with-backend=libusb-1.0"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/lib/udev/rules.d/
+    cp -v *.rules $out/lib/udev/rules.d/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/yubikey-personalization;
+    description = "a library and command line tool to personalize YubiKeys";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/networking/aiccu/default.nix b/pkgs/tools/networking/aiccu/default.nix
new file mode 100644
index 00000000000..dd53234906d
--- /dev/null
+++ b/pkgs/tools/networking/aiccu/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, gnutls, iproute, makeWrapper }:
+
+stdenv.mkDerivation rec {
+
+  name = "aiccu-${version}";
+  version = "20070115";
+
+  src = fetchurl {
+    url = "https://www.sixxs.net/archive/sixxs/aiccu/unix/aiccu_20070115.tar.gz";
+    sha256 = "2260f426c13471169ccff8cb4a3908dc5f79fda18ddb6a55363e7824e6c4c760";
+  };
+
+  buildInputs = [ gnutls iproute makeWrapper ];
+
+  configureFlags = "--prefix=$out";
+  installPhase = ''
+    install -D -m 755 unix-console/aiccu $out/bin/aiccu
+    install -D -m 644 doc/aiccu.sgml $out/doc/aiccu.sgml
+    install -D -m 644 doc/aiccu.1 $out/share/man/man1/aiccu.1
+    wrapProgram "$out/bin/aiccu" \
+      --prefix PATH : "${iproute}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Automatic IPv6 Connectivity Configuration Utility";
+    homepage = "https://www.sixxs.net/tools/aiccu/";
+    longDescription = ''
+      A TIC+ heartbeart client for the public dynamic-IPv4 IPv6 tunnel beta test from the SixXS tunnel service provider.
+    '';
+    maintainers = with maintainers; [ edwtjo ];
+    license = "SixXS";
+  };
+
+}
diff --git a/pkgs/tools/networking/airfield/default.nix b/pkgs/tools/networking/airfield/default.nix
new file mode 100644
index 00000000000..38c802f3c08
--- /dev/null
+++ b/pkgs/tools/networking/airfield/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, callPackage, python, utillinux }:
+
+with stdenv.lib;
+
+let 
+  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
+    neededNatives = [python] ++ optional (stdenv.isLinux) utillinux;
+    self = nodePackages;
+    generated = ./package.nix;
+  };
+
+in nodePackages.buildNodePackage rec {
+  name = "airfield-${version}";
+  version = "5ae816562a";
+
+  src = [(fetchgit {
+    url = https://github.com/emblica/airfield.git;
+    rev = version;
+    sha256 = "0rv05pq0xdm0d977dc3hg6dam78acymzrdvkxs8ga8xj4vfs5npk";
+  })];
+
+  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+
+  preInstall = ''
+    substituteInPlace node_modules/Airfield/airfield.js \
+        --replace "'./settings'" "process.env.NODE_CONFIG"
+  '';
+
+  passthru.names = ["Airfield"];
+
+  meta = {
+    description = "Airfield is a web-interface for hipache-proxy";
+    license = licenses.mit;
+    homepage = https://github.com/emblica/airfield;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+    broken = true;
+  };
+}
diff --git a/pkgs/tools/networking/airfield/package.nix b/pkgs/tools/networking/airfield/package.nix
new file mode 100644
index 00000000000..705061919e9
--- /dev/null
+++ b/pkgs/tools/networking/airfield/package.nix
@@ -0,0 +1,1495 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "asn1-0.1.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        name = "asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."asn1" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "asn1" ];
+  };
+  by-spec."assert-plus"."0.1.2" =
+    self.by-version."assert-plus"."0.1.2";
+  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "assert-plus-0.1.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+        name = "assert-plus-0.1.2.tgz";
+        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."assert-plus" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "assert-plus" ];
+  };
+  by-spec."async"."*" =
+    self.by-version."async"."0.9.0";
+  by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "async-0.9.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+        name = "async-0.9.0.tgz";
+        sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."async" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "async" ];
+  };
+  "async" = self.by-version."async"."0.9.0";
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.0";
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sign2-0.5.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        name = "aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."aws-sign2" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "aws-sign2" ];
+  };
+  by-spec."base64-url"."1" =
+    self.by-version."base64-url"."1.0.0";
+  by-version."base64-url"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "base64-url-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/base64-url/-/base64-url-1.0.0.tgz";
+        name = "base64-url-1.0.0.tgz";
+        sha1 = "ab694376f2801af6c9260899ffef02f86b40ee2c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."base64-url" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "base64-url" ];
+  };
+  by-spec."bl"."~0.9.0" =
+    self.by-version."bl"."0.9.3";
+  by-version."bl"."0.9.3" = lib.makeOverridable self.buildNodePackage {
+    name = "bl-0.9.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bl/-/bl-0.9.3.tgz";
+        name = "bl-0.9.3.tgz";
+        sha1 = "c41eff3e7cb31bde107c8f10076d274eff7f7d44";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bl" or []);
+    deps = {
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bl" ];
+  };
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "boom-0.4.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        name = "boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."boom" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "boom" ];
+  };
+  by-spec."buffer-crc32"."0.1.1" =
+    self.by-version."buffer-crc32"."0.1.1";
+  by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "buffer-crc32-0.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
+        name = "buffer-crc32-0.1.1.tgz";
+        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."buffer-crc32" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "buffer-crc32" ];
+  };
+  by-spec."bytes"."0.1.0" =
+    self.by-version."bytes"."0.1.0";
+  by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bytes-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
+        name = "bytes-0.1.0.tgz";
+        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bytes" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "bytes" ];
+  };
+  by-spec."caseless"."~0.6.0" =
+    self.by-version."caseless"."0.6.0";
+  by-version."caseless"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "caseless-0.6.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
+        name = "caseless-0.6.0.tgz";
+        sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."caseless" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "caseless" ];
+  };
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.5";
+  by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "combined-stream-0.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
+        name = "combined-stream-0.0.5.tgz";
+        sha1 = "29ed76e5c9aad07c4acf9ca3d32601cce28697a2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."combined-stream" or []);
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "combined-stream" ];
+  };
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-0.6.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        name = "commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
+  by-spec."connect"."2.7.1" =
+    self.by-version."connect"."2.7.1";
+  by-version."connect"."2.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.7.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
+        name = "connect-2.7.1.tgz";
+        sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connect" or []);
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-0.0.1" = self.by-version."cookie-signature"."0.0.1";
+      "crc-0.2.0" = self.by-version."crc"."0.2.0";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "bytes-0.1.0" = self.by-version."bytes"."0.1.0";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "connect" ];
+  };
+  by-spec."connect-redis"."*" =
+    self.by-version."connect-redis"."2.1.0";
+  by-version."connect-redis"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-redis-2.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/connect-redis/-/connect-redis-2.1.0.tgz";
+        name = "connect-redis-2.1.0.tgz";
+        sha1 = "bc20aab9791288c605f39f572f8cbb1fa8ab7cc4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."connect-redis" or []);
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "express-session-1.8.2" = self.by-version."express-session"."1.8.2";
+      "redis-0.12.1" = self.by-version."redis"."0.12.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "connect-redis" ];
+  };
+  "connect-redis" = self.by-version."connect-redis"."2.1.0";
+  by-spec."consolidate"."*" =
+    self.by-version."consolidate"."0.10.0";
+  by-version."consolidate"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "consolidate-0.10.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/consolidate/-/consolidate-0.10.0.tgz";
+        name = "consolidate-0.10.0.tgz";
+        sha1 = "81f1a6ceba1247df9cef7a261ce527c2ce538f7a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."consolidate" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "consolidate" ];
+  };
+  "consolidate" = self.by-version."consolidate"."0.10.0";
+  by-spec."cookie"."0.0.5" =
+    self.by-version."cookie"."0.0.5";
+  by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-0.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
+        name = "cookie-0.0.5.tgz";
+        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-0.1.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        name = "cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie" ];
+  };
+  by-spec."cookie-signature"."0.0.1" =
+    self.by-version."cookie-signature"."0.0.1";
+  by-version."cookie-signature"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-signature-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
+        name = "cookie-signature-0.0.1.tgz";
+        sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "cookie-signature-1.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+        name = "cookie-signature-1.0.5.tgz";
+        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cookie-signature" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cookie-signature" ];
+  };
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.1";
+  by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "core-util-is-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+        name = "core-util-is-1.0.1.tgz";
+        sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."core-util-is" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "core-util-is" ];
+  };
+  by-spec."crc"."0.2.0" =
+    self.by-version."crc"."0.2.0";
+  by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "crc-0.2.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
+        name = "crc-0.2.0.tgz";
+        sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crc" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "crc" ];
+  };
+  by-spec."crc"."3.0.0" =
+    self.by-version."crc"."3.0.0";
+  by-version."crc"."3.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "crc-3.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/crc/-/crc-3.0.0.tgz";
+        name = "crc-3.0.0.tgz";
+        sha1 = "d11e97ec44a844e5eb15a74fa2c7875d0aac4b22";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."crc" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "crc" ];
+  };
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "cryptiles-0.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        name = "cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."cryptiles" or []);
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "cryptiles" ];
+  };
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "ctype-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+        name = "ctype-0.5.2.tgz";
+        sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ctype" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ctype" ];
+  };
+  by-spec."debug"."*" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-2.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
+  by-spec."debug"."^1.0.4" =
+    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-1.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        name = "debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        name = "delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."delayed-stream" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "delayed-stream" ];
+  };
+  by-spec."depd"."0.4.5" =
+    self.by-version."depd"."0.4.5";
+  by-version."depd"."0.4.5" = lib.makeOverridable self.buildNodePackage {
+    name = "depd-0.4.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/depd/-/depd-0.4.5.tgz";
+        name = "depd-0.4.5.tgz";
+        sha1 = "1a664b53388b4a6573e8ae67b5f767c693ca97f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."depd" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "depd" ];
+  };
+  by-spec."express"."3.0.5" =
+    self.by-version."express"."3.0.5";
+  by-version."express"."3.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.0.5";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/express/-/express-3.0.5.tgz";
+        name = "express-3.0.5.tgz";
+        sha1 = "4c6e5850e6b5e8ca2af57f21ed7097de50948b73";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."express" or []);
+    deps = {
+      "connect-2.7.1" = self.by-version."connect"."2.7.1";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.3" = self.by-version."mkdirp"."0.3.3";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-0.0.1" = self.by-version."cookie-signature"."0.0.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "express" ];
+  };
+  "express" = self.by-version."express"."3.0.5";
+  by-spec."express-session"."^1.7.6" =
+    self.by-version."express-session"."1.8.2";
+  by-version."express-session"."1.8.2" = lib.makeOverridable self.buildNodePackage {
+    name = "express-session-1.8.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.8.2.tgz";
+        name = "express-session-1.8.2.tgz";
+        sha1 = "c4011e728a2349b3c18f117a5409908985e83483";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."express-session" or []);
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "crc-3.0.0" = self.by-version."crc"."3.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "express-session" ];
+  };
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+    name = "forever-agent-0.5.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        name = "forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."forever-agent" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "forever-agent" ];
+  };
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.4";
+  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "form-data-0.1.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        name = "form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."form-data" or []);
+    deps = {
+      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "form-data" ];
+  };
+  by-spec."formidable"."1.0.11" =
+    self.by-version."formidable"."1.0.11";
+  by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
+    name = "formidable-1.0.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
+        name = "formidable-1.0.11.tgz";
+        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."formidable" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "formidable" ];
+  };
+  by-spec."fresh"."0.1.0" =
+    self.by-version."fresh"."0.1.0";
+  by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "fresh-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
+        name = "fresh-0.1.0.tgz";
+        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fresh" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "fresh" ];
+  };
+  by-spec."hawk"."1.1.1" =
+    self.by-version."hawk"."1.1.1";
+  by-version."hawk"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-1.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
+        name = "hawk-1.1.1.tgz";
+        sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hawk" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "hawk" ];
+  };
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
+    name = "hoek-0.9.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        name = "hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hoek" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "hoek" ];
+  };
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-signature-0.10.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+        name = "http-signature-0.10.0.tgz";
+        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."http-signature" or []);
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "http-signature" ];
+  };
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "inherits-2.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        name = "inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."inherits" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "inherits" ];
+  };
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "isarray-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        name = "isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."isarray" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "isarray" ];
+  };
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "json-stringify-safe-5.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+        name = "json-stringify-safe-5.0.0.tgz";
+        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."json-stringify-safe" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "json-stringify-safe" ];
+  };
+  by-spec."methods"."0.0.1" =
+    self.by-version."methods"."0.0.1";
+  by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "methods-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
+        name = "methods-0.0.1.tgz";
+        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  by-spec."mime"."1.2.6" =
+    self.by-version."mime"."1.2.6";
+  by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-1.2.6";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
+        name = "mime-1.2.6.tgz";
+        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime" ];
+  };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-1.2.11";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        name = "mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime" ];
+  };
+  by-spec."mime-types"."~1.0.1" =
+    self.by-version."mime-types"."1.0.2";
+  by-version."mime-types"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-types-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+        name = "mime-types-1.0.2.tgz";
+        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime-types" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime-types" ];
+  };
+  by-spec."mkdirp"."0.3.3" =
+    self.by-version."mkdirp"."0.3.3";
+  by-version."mkdirp"."0.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.3.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
+        name = "mkdirp-0.3.3.tgz";
+        sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "ms-0.6.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        name = "ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ms" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ms" ];
+  };
+  by-spec."mz"."1" =
+    self.by-version."mz"."1.0.1";
+  by-version."mz"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "mz-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mz/-/mz-1.0.1.tgz";
+        name = "mz-1.0.1.tgz";
+        sha1 = "5ce1d3fe5cb3267c9c3141fb6a070f8d17f215d8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mz" or []);
+    deps = {
+      "native-or-bluebird-1.1.1" = self.by-version."native-or-bluebird"."1.1.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mz" ];
+  };
+  by-spec."native-or-bluebird"."1" =
+    self.by-version."native-or-bluebird"."1.1.1";
+  by-version."native-or-bluebird"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+    name = "native-or-bluebird-1.1.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.1.tgz";
+        name = "native-or-bluebird-1.1.1.tgz";
+        sha1 = "9131a6d6532afdfb5635f9703734cc6652c905ee";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."native-or-bluebird" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "native-or-bluebird" ];
+  };
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-uuid-1.4.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+        name = "node-uuid-1.4.1.tgz";
+        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."node-uuid" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "node-uuid" ];
+  };
+  by-spec."oauth-sign"."~0.4.0" =
+    self.by-version."oauth-sign"."0.4.0";
+  by-version."oauth-sign"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "oauth-sign-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
+        name = "oauth-sign-0.4.0.tgz";
+        sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."oauth-sign" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "oauth-sign" ];
+  };
+  by-spec."on-headers"."~1.0.0" =
+    self.by-version."on-headers"."1.0.0";
+  by-version."on-headers"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "on-headers-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
+        name = "on-headers-1.0.0.tgz";
+        sha1 = "2c75b5da4375513d0161c6052e7fcbe4953fca5d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."on-headers" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "on-headers" ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "parseurl-1.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+        name = "parseurl-1.3.0.tgz";
+        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."parseurl" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "parseurl" ];
+  };
+  by-spec."pause"."0.0.1" =
+    self.by-version."pause"."0.0.1";
+  by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "pause-0.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        name = "pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."pause" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "pause" ];
+  };
+  by-spec."punycode".">=0.2.0" =
+    self.by-version."punycode"."1.3.1";
+  by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "punycode-1.3.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
+        name = "punycode-1.3.1.tgz";
+        sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."punycode" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "punycode" ];
+  };
+  by-spec."qs"."0.5.1" =
+    self.by-version."qs"."0.5.1";
+  by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-0.5.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
+        name = "qs-0.5.1.tgz";
+        sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."qs"."~1.2.0" =
+    self.by-version."qs"."1.2.2";
+  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-1.2.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
+        name = "qs-1.2.2.tgz";
+        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
+  by-spec."range-parser"."0.0.4" =
+    self.by-version."range-parser"."0.0.4";
+  by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "range-parser-0.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
+        name = "range-parser-0.0.4.tgz";
+        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."range-parser" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "range-parser" ];
+  };
+  by-spec."readable-stream"."~1.0.26" =
+    self.by-version."readable-stream"."1.0.31";
+  by-version."readable-stream"."1.0.31" = lib.makeOverridable self.buildNodePackage {
+    name = "readable-stream-1.0.31";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
+        name = "readable-stream-1.0.31.tgz";
+        sha1 = "8f2502e0bc9e3b0da1b94520aabb4e2603ecafae";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."readable-stream" or []);
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "readable-stream" ];
+  };
+  by-spec."redis"."*" =
+    self.by-version."redis"."0.12.1";
+  by-version."redis"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "redis-0.12.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
+        name = "redis-0.12.1.tgz";
+        sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."redis" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "redis" ];
+  };
+  "redis" = self.by-version."redis"."0.12.1";
+  by-spec."redis"."^0.12.1" =
+    self.by-version."redis"."0.12.1";
+  by-spec."request"."*" =
+    self.by-version."request"."2.44.0";
+  by-version."request"."2.44.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.44.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request/-/request-2.44.0.tgz";
+        name = "request-2.44.0.tgz";
+        sha1 = "78d62454d68853cadfb07ad31f58b9ec98072ea8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request" or []);
+    deps = {
+      "bl-0.9.3" = self.by-version."bl"."0.9.3";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "request" ];
+  };
+  "request" = self.by-version."request"."2.44.0";
+  by-spec."send"."0.1.0" =
+    self.by-version."send"."0.1.0";
+  by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "send-0.1.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
+        name = "send-0.1.0.tgz";
+        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."send" or []);
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "send" ];
+  };
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "sntp-0.2.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        name = "sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sntp" or []);
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sntp" ];
+  };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = lib.makeOverridable self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        name = "string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."string_decoder" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "string_decoder" ];
+  };
+  by-spec."stringstream"."~0.0.4" =
+    self.by-version."stringstream"."0.0.4";
+  by-version."stringstream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "stringstream-0.0.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
+        name = "stringstream-0.0.4.tgz";
+        sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."stringstream" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "stringstream" ];
+  };
+  by-spec."swig"."0.14.0" =
+    self.by-version."swig"."0.14.0";
+  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "swig-0.14.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
+        name = "swig-0.14.0.tgz";
+        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."swig" or []);
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "swig" ];
+  };
+  "swig" = self.by-version."swig"."0.14.0";
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."0.12.1";
+  by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "tough-cookie-0.12.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+        name = "tough-cookie-0.12.1.tgz";
+        sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tough-cookie" or []);
+    deps = {
+      "punycode-1.3.1" = self.by-version."punycode"."1.3.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tough-cookie" ];
+  };
+  by-spec."tunnel-agent"."~0.4.0" =
+    self.by-version."tunnel-agent"."0.4.0";
+  by-version."tunnel-agent"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "tunnel-agent-0.4.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
+        name = "tunnel-agent-0.4.0.tgz";
+        sha1 = "b1184e312ffbcf70b3b4c78e8c219de7ebb1c550";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."tunnel-agent" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "tunnel-agent" ];
+  };
+  by-spec."uid-safe"."1.0.1" =
+    self.by-version."uid-safe"."1.0.1";
+  by-version."uid-safe"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "uid-safe-1.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
+        name = "uid-safe-1.0.1.tgz";
+        sha1 = "5bd148460a2e84f54f193fd20352c8c3d7de6ac8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uid-safe" or []);
+    deps = {
+      "mz-1.0.1" = self.by-version."mz"."1.0.1";
+      "base64-url-1.0.0" = self.by-version."base64-url"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "uid-safe" ];
+  };
+  by-spec."underscore".">=1.1.7" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore-1.7.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+        name = "underscore-1.7.0.tgz";
+        sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore" ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "utils-merge-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        name = "utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."utils-merge" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "utils-merge" ];
+  };
+}
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 72f3b5ec843..efd04e33d7f 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -1,17 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libxml2, sqlite, zlib }:
+{ stdenv, fetchurl, pkgconfig, cacert, c-ares, openssl, libxml2, sqlite, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "aria2-1.18.5";
+  name = "aria2-${version}";
+  version = "1.18.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/aria2/stable/${name}/${name}.tar.bz2";
-    sha256 = "0gyfp4zw7rlaxcxhb402azazf1fi83kk3qg4w0j8d2i7pfa1zqi5";
+    sha256 = "1vvc3pv1100xb4293bmgqpxvy3pdvivnz415b9q78n7190kag3a5";
   };
 
-  buildInputs = [ pkgconfig openssl libxml2 sqlite zlib ];
+  buildInputs = [ pkgconfig c-ares openssl libxml2 sqlite zlib ];
 
-  meta = {
+  propagatedBuildInputs = [ cacert ];
+
+  configureFlags = [ "--with-ca-bundle=${cacert}/etc/ca-bundle.crt" ];
+
+  meta = with stdenv.lib; {
     homepage = http://aria2.sourceforge.net/;
     description = "A lightweight, multi-protocol, multi-source, command-line download utility";
+    maintainers = [ maintainers.koral ];
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/asynk/default.nix b/pkgs/tools/networking/asynk/default.nix
new file mode 100644
index 00000000000..38514a5604b
--- /dev/null
+++ b/pkgs/tools/networking/asynk/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, python2, python2Packages, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "2.0.0";
+  name = "ASynK-${version}";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/skarra/ASynK/archive/v${version}.tar.gz";
+    sha256 = "1bp30437mnls0kzm0525p3bg5nw9alpqrqhw186f6zp9i4y5znp1";
+  };
+
+  propagatedBuildInputs = with python2Packages;
+    [ python2 makeWrapper tornado requests dateutil
+      vobject gdata caldavclientlibrary-asynk ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    cp asynk.py $out/bin/
+    cp state.init.json $out/
+    cp -R config $out/
+    cp lib/*.py $out/lib # */
+    cp -R lib/s $out/lib/
+    cp -R asynk $out/
+
+    substituteInPlace $out/bin/asynk.py \
+      --replace "ASYNK_BASE_DIR    = os.path.dirname(os.path.abspath(__file__))" "ASYNK_BASE_DIR    = \"$out\""
+
+    for file in `find $out/asynk -type f`; do
+      # Oh yeah, tab characters!
+      substituteInPlace $file \
+        --replace 'from   vobject        import vobject' 'from vobject import *' \
+        --replace 'from   vobject    import vobject' 'from vobject import *'
+    done
+
+    wrapProgram "$out/bin/asynk.py" \
+      --prefix PYTHONPATH : "$PYTHONPATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://asynk.io/;
+    description = "Flexible contacts synchronization program";
+    license = licenses.agpl3;
+    maintainers = [ maintainers.DamienCassou ];
+  };
+}
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index acd71ea893d..930d9f4968b 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, fetchurl, pcre, readline }:
-
+{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper }:
+assert stdenv.isLinux;
+assert stdenv.cc.cc.isGNU or false;
+let
+version = "0.7";
+debianPatch = fetchurl {
+  url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg-11.diff.gz";
+  sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd";
+};
+in
 stdenv.mkDerivation {
-  name = "atftp-0.7.1";
-
+  name = "atftp";
+  inherit version;
   src = fetchurl {
-    url = "mirror://sourceforge/atftp/atftp-0.7.1.tar.gz";
-    sha256 = "0bgr31gbnr3qx4ixf8hz47l58sh3367xhcnfqd8233fvr84nyk5f";
+    url = "mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg.orig.tar.gz";
+    sha256 = "0nd5dl14d6z5abgcbxcn41rfn3syza6s57bbgh4aq3r9cxdmz08q";
   };
-
-  buildInputs = [ pcre readline ];
-
-  NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
-
-  configureFlags = [
-    "--enable-libreadline"
-    "--enable-libpcre"
-    "--enable-mtftp"
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Advanced TFTP server and client";
-    homepage = http://sourceforge.net/projects/atftp/;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+  buildInputs = [ readline tcp_wrappers pcre makeWrapper ];
+  patches = [ debianPatch ];
+  postInstall = ''
+    wrapProgram $out/sbin/atftpd --prefix LD_LIBRARY_PATH : ${stdenv.cc.cc}/lib${if stdenv.system == "x86_64-linux" then "64" else ""}
+  '';
+  meta = {
+    description = "Advanced tftp tools";
+    maintainers = [ lib.maintainers.raskin ];
+    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl2Plus;
+    passthru = {
+      updateInfo = {
+      downloadPage = "http://packages.debian.org/source/wheezy/atftp";
+    };
   };
+};
 }
diff --git a/pkgs/tools/networking/autossh/default.nix b/pkgs/tools/networking/autossh/default.nix
index 94c466612ef..5addf30c322 100644
--- a/pkgs/tools/networking/autossh/default.nix
+++ b/pkgs/tools/networking/autossh/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssh}:
 
-stdenv.mkDerivation {
-  name = "autossh-1.4c";
+stdenv.mkDerivation rec {
+  name = "autossh-1.4e";
   
   src = fetchurl {
-    url = "http://www.harding.motd.ca/autossh/autossh-1.4c.tgz";
-    sha256 = "07gxqxfsk24msd0py0hirvmlblh9iyxkcrq86bwbsils81mbmjkg";
+    url = "http://www.harding.motd.ca/autossh/${name}.tgz";
+    sha256 = "0mlicw28vq2jxa0jf0dys5ja75v0fxpjavlq9dpif6bnknji13ly";
   };
   
   buildInputs = [ openssh ];
@@ -20,9 +20,10 @@ stdenv.mkDerivation {
       install -D -m644 autossh.1    $out/man/man1/autossh.1                   || return 1
     '';
     
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.harding.motd.ca/autossh/;
     description = "Automatically restart SSH sessions and tunnels";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index 4103d17bfa2..8726f4aae21 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -1,16 +1,18 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "axel-2.4";
+stdenv.mkDerivation rec {
+  name = "axel-${version}";
+  version = "2.4";
+
   src = fetchurl {
-    urls = [
-      #https://alioth.debian.org/frs/download.php/3016/axel-2.4.tar.bz2
-      mirror://debian/pool/main/a/axel/axel_2.4.orig.tar.gz
-    ];
+    url = "mirror://debian/pool/main/a/axel/axel_${version}.orig.tar.gz";
     sha256 = "0dl0r9byd2ps90cq2nj1y7ib6gnkb5y9f3a3fmhcnjrm9smmg6im";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Console downloading program with some features for parallel connections for faster downloading";
+    homepage = http://axel.alioth.debian.org/;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index cfd72098261..c10da6f145d 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.5.0";
+  name = "babeld-1.5.1";
 
   src = fetchurl {
     url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
-    sha256 = "0lpm1zras74b71y01fxndrcvfjzb1ny2hh62pjw6idaqpyrp797s";
+    sha256 = "1ch9nn2jmmpyq6c7106lzd3cfnxq4ychjx0pvwn960kssn2cgakk";
   };
 
   preBuild = ''
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/babel/";
     description = "Loop-avoiding distance-vector routing protocol";
     license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/networking/badvpn/default.nix b/pkgs/tools/networking/badvpn/default.nix
index 64f669a480e..e11d454154b 100644
--- a/pkgs/tools/networking/badvpn/default.nix
+++ b/pkgs/tools/networking/badvpn/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, openssl, nss, pkgconfig, nspr, bash}:
+{stdenv, fetchurl, cmake, openssl, nss, pkgconfig, nspr, bash, debug ? false}:
 let
   s = # Generated upstream information
   rec {
@@ -12,6 +12,7 @@ let
   buildInputs = [
     cmake openssl nss pkgconfig nspr
   ];
+  compileFlags = "-O3 ${stdenv.lib.optionalString (!debug) "-DNDEBUG"}";
 in
 stdenv.mkDerivation {
   inherit (s) name version;
@@ -23,6 +24,7 @@ stdenv.mkDerivation {
   preConfigure = ''
     find . -name '*.sh' -exec sed -e 's@#!/bin/sh@${stdenv.shell}@' -i '{}' ';'
     find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';'
+    cmakeFlagsArray=("-DCMAKE_BUILD_TYPE=" "-DCMAKE_C_FLAGS=${compileFlags}");
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/biosdevname/default.nix b/pkgs/tools/networking/biosdevname/default.nix
index 89872548aa9..86fe18e0158 100644
--- a/pkgs/tools/networking/biosdevname/default.nix
+++ b/pkgs/tools/networking/biosdevname/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchgit, automake, autoconf, zlib, pciutils}:
 let
-  version = "0.5.1";
+  version = "0.6.1";
 in
 stdenv.mkDerivation {
   name = "biosdevname-${version}";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = git://linux.dell.com/biosdevname.git;
     rev = "refs/tags/v${version}";
-    sha256 = "0qmgfyqv13qwh86140q0qdjxys76arg2d1slyvijx6r314ca4r7z";
+    sha256 = "11g2pziss0i65mr4y3mwjlcdgpygaxa06lr4q8plmrwl9cick1qa";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/bud/default.nix b/pkgs/tools/networking/bud/default.nix
index 34e1a3964f6..96003d85218 100644
--- a/pkgs/tools/networking/bud/default.nix
+++ b/pkgs/tools/networking/bud/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "bud-${version}";
 
-  version = "0.25.0";
+  version = "0.34.1";
 
   src = fetchgit {
     url = "https://github.com/indutny/bud.git";
-    rev = "f65b9c3531dac1a5b3c962e01f3bed1d41ab5621";
-    sha256 = "000wwc88hsf6ccz8wxjn2af6l0nxm6a2fcad71xw35ymmdp9n5xg";
+    rev = "b112852c9667632f692d2ce3dcd9a8312b61155a";
+    sha256 = "1acvsx71fmmqhqf00ria3rbq453476x1jx0x8rp6nds5nx2mi0np";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/bully/default.nix b/pkgs/tools/networking/bully/default.nix
index f667d772ac4..be87f383c0a 100644
--- a/pkgs/tools/networking/bully/default.nix
+++ b/pkgs/tools/networking/bully/default.nix
@@ -1,11 +1,13 @@
-{stdenv, fetchurl, openssl, libpcap}:
+{stdenv, fetchFromGitHub, openssl, libpcap}:
 
 stdenv.mkDerivation rec {
   name = "bully-${version}";
   version = "1.0-22";
-  src = fetchurl {
-    url = "https://github.com/bdpurcell/bully/archive/v${version}.tar.gz";
-    sha256 = "72f568f659fdcf70455a17f91f25dde65a53431c67c796517d3d3c4a4703ab68";
+  src = fetchFromGitHub {
+    sha256 = "0wk9jmcibd03gspnnr2qvfkw57rg94cwmi0kjpy1mgi05s6vlw1y";
+    rev = "v${version}";
+    repo = "bully";
+    owner = "Lrs121";
   };
   buildInputs = [ openssl libpcap ];
 
@@ -20,9 +22,9 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Retrieve WPA/WPA2 passphrase from a WPS enabled access point.";
-    homepage = "https://github.com/bdpurcell/bully";
+    description = "Retrieve WPA/WPA2 passphrase from a WPS enabled access point";
+    homepage = https://github.com/Lrs121/bully;
     maintainers = [ stdenv.lib.maintainers.edwtjo ];
     license = stdenv.lib.licenses.gpl3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/tools/networking/bwm-ng/default.nix b/pkgs/tools/networking/bwm-ng/default.nix
index 4d18c4adb37..c7376ad47b4 100644
--- a/pkgs/tools/networking/bwm-ng/default.nix
+++ b/pkgs/tools/networking/bwm-ng/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
         Info
         This was influenced by the old bwm util written by Barney (barney@freewill.tzo.com) which had some issues with faster interfaces and was very simple. Since i had almost all code done anyway for other projects, i decided to create my own version.
 
-        I actually dont know if netstat input is usefull at all. I saw this elsewhere, so i added it. Its target is "netstat 1.42 (2001-04-15)" linux or Free/Open/netBSD. If there are other formats i would be happy to add them.
+        I actually don't know if netstat input is useful at all. I saw this elsewhere, so i added it. Its target is "netstat 1.42 (2001-04-15)" linux or Free/Open/netBSD. If there are other formats i would be happy to add them.
         
         (from homepage)
     '';
diff --git a/pkgs/tools/networking/cadaver/default.nix b/pkgs/tools/networking/cadaver/default.nix
index a37bf2d0a56..a6752606da6 100644
--- a/pkgs/tools/networking/cadaver/default.nix
+++ b/pkgs/tools/networking/cadaver/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
   name = "cadaver-0.23.3";
@@ -8,6 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "1jizq69ifrjbjvz5y79wh1ny94gsdby4gdxwjad4bfih6a5fck7x";
   };
 
+  buildInputs = [openssl];
+  configureFlags = ["--with-ssl"];
+
   meta = with stdenv.lib; {
     description = "A command-line WebDAV client for Unix";
     homepage    = http://www.webdav.org/cadaver;
diff --git a/pkgs/tools/networking/ccnet/default.nix b/pkgs/tools/networking/ccnet/default.nix
index 8896156bd1c..556ef8d0274 100644
--- a/pkgs/tools/networking/ccnet/default.nix
+++ b/pkgs/tools/networking/ccnet/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   version = "1.4.2";
-  seafileVersion = "3.0.4";
+  seafileVersion = "4.0.6";
   name = "ccnet-${version}";
 
   src = fetchurl
   {
     url = "https://github.com/haiwen/ccnet/archive/v${seafileVersion}.tar.gz";
-    sha256 = "1y9x6k9ql8bj83016a1mi1m5ixxh8fm7p4qbd5mslnamvjln171q";
+    sha256 = "06srvyphrfx7g18vk899850q0aw8cxx34cj96mjzc3sqm0bkzqsh";
   };
 
   buildInputs = [ which automake autoconf pkgconfig libtool vala  python ];
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec
 
   meta =
   {
-    homepage = "https://github.com/haiwen/ccnet";
-    description = "A framework for writing networked applications in C.";
+    homepage = https://github.com/haiwen/ccnet;
+    description = "A framework for writing networked applications in C";
     license = stdenv.lib.licenses.gpl3Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.calrama ];
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 1e2b39869c5..e11fb377c21 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -5,11 +5,11 @@ assert stdenv.isLinux -> libcap != null;
 stdenv.mkDerivation rec {
   name = "chrony-${version}";
 
-  version = "1.30";
+  version = "1.31";
   
   src = fetchurl {
     url = "http://download.tuxfamily.org/chrony/${name}.tar.gz";
-    sha256 = "1pa6629nigcv95x2q9dnmzlrwhicxizq9z7ggy2c9cmyl1bakb23";
+    sha256 = "0vcr4hr1a01l5c3z0rgzna8rbmq35aklgfr342pi9gpc8sp1qpm3";
   };
   
   buildInputs = [ readline texinfo ] ++ stdenv.lib.optional stdenv.isLinux libcap;
diff --git a/pkgs/tools/networking/cjdns/builder.sh b/pkgs/tools/networking/cjdns/builder.sh
deleted file mode 100644
index c2e3701c046..00000000000
--- a/pkgs/tools/networking/cjdns/builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-source $stdenv/setup
-
-unpackPhase
-cd git-export
-
-bash do
-
-mkdir -p $out/sbin
-cp cjdroute $out/sbin
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index 48e21f4507e..e602ee5f412 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -1,27 +1,41 @@
-{ stdenv, fetchgit, nodejs, which, python27 }:
+{ stdenv, fetchFromGitHub, nodejs, which, python27, utillinux }:
 
 let
-  date = "20140303";
-  rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb";
+  version = "16"; # see ${src}/util/version/Version.h
+  date = "20150308";
 in
 stdenv.mkDerivation {
-  name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}";
+  name = "cjdns-${version}-${date}";
 
-  src = fetchgit {
-    url = "git://github.com/cjdelisle/cjdns.git";
-    inherit rev;
-    sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8";
+  src = fetchFromGitHub {
+    owner = "cjdelisle";
+    repo = "cjdns";
+    rev = "dc7eaf676cb83f13ba3e76a1bd0f2e093e6d6e1b";
+    sha256 = "1llhv9kflh4rzv9b9qq9zhrckcc6a7xs0dp147adwmaxqjj8v601";
   };
 
-  buildInputs = [ which python27 nodejs];
+  buildInputs = [ which python27 nodejs ] ++
+    # for flock
+    stdenv.lib.optional stdenv.isLinux [ utillinux ];
 
-  builder = ./builder.sh;
+  buildPhase =
+    stdenv.lib.optionalString stdenv.isArm "Seccomp_NO=1 "
+    + "bash do";
+  installPhase = ''
+    installBin cjdroute makekeys privatetopublic publictoip6
+    sed -i 's,/usr/bin/env node,'$(type -P node), \
+      $(find contrib -name "*.js")
+    sed -i 's,/usr/bin/env python,'$(type -P python), \
+      $(find contrib -type f)
+    mkdir -p $out/share/cjdns
+    cp -R contrib tools node_build node_modules $out/share/cjdns/
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/cjdelisle/cjdns;
     description = "Encrypted networking for regular people";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ viric emery ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ viric emery ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/cksfv/default.nix b/pkgs/tools/networking/cksfv/default.nix
index 90f421f56ba..c14770fb32b 100644
--- a/pkgs/tools/networking/cksfv/default.nix
+++ b/pkgs/tools/networking/cksfv/default.nix
@@ -11,5 +11,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://zakalwe.fi/~shd/foss/cksfv/;
     description = "A tool for verifying files against a SFV checksum file";
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
new file mode 100644
index 00000000000..3bfa65cb472
--- /dev/null
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchgit, qt5, makeWrapper, libX11 }:
+
+stdenv.mkDerivation rec {
+  name = "cmst-2014.12.05";
+  rev = "refs/tags/${name}";
+  src = fetchgit {
+    url = "git://github.com/andrew-bibb/cmst.git";
+    inherit rev;
+    sha256 = "070rxv3kyn41ra7nnk1wbqvy6fjg38h7hrdv4dn71b201kmzd194";
+  };
+
+  buildInputs = [ qt5.base makeWrapper ];
+
+  configurePhase = ''
+    substituteInPlace ./cmst.pro \
+      --replace "/usr/bin" "$out/bin" \
+      --replace "/usr/share" "$out/usr/share"
+
+    substituteInPlace ./cmst.pri \
+      --replace "/usr/lib" "$out/lib" \
+      --replace "/usr/share" "$out/share"
+
+    substituteInPlace ./apps/cmstapp/cmstapp.pro \
+      --replace "/usr/bin" "$out/bin" \
+      --replace "/usr/share" "$out/share"
+
+    substituteInPlace ./apps/rootapp/rootapp.pro \
+      --replace "/etc" "$out/etc" \
+      --replace "/usr/share" "$out/share"
+
+  '';
+
+  buildPhase = ''
+    qmake PREFIX=$out
+    make
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/cmst \
+      --prefix "QTCOMPOSE" ":" "${libX11}/share/X11/locale"
+  '';
+
+  meta = {
+    description = "QT GUI for Connman with system tray icon";
+    homepage = "https://github.com/andrew-bibb/cmst";
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/tools/networking/connect/default.nix b/pkgs/tools/networking/connect/default.nix
index 8723c53c322..5ccbc8d0cae 100644
--- a/pkgs/tools/networking/connect/default.nix
+++ b/pkgs/tools/networking/connect/default.nix
@@ -1,22 +1,21 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation rec {
-  name = "connect-1.95";
+let
+
+  version = "1.104";
+
+in stdenv.mkDerivation {
+  name = "connect-${version}";
   
   src = fetchurl {
-    url = http://savannah.gnu.org/maintenance/connect.c;
-    sha256 = "11dx07pcanwaq71g4xh8d4blr5j7iy0ilmb0fkgpj8p22blb74mf";
+    url = "https://bitbucket.org/gotoh/connect/get/${version}.tar.bz2";
+    sha256 = "0h7bfh1b2kcw5ddpbif57phdxpf8if0cm01pgwc6avp6dqxcsqp2";
   };
 
-  phases = "unpackPhase buildPhase fixupPhase";
-
-  unpackPhase = ''
-    cp $src connect.c
-  '';
+  makeFlags = [ "CC=cc" ];      # gcc and/or clang compat
 
-  buildPhase = ''
-    mkdir -p $out/bin
-    gcc -o $out/bin/connect connect.c
+  installPhase = ''
+    install -D -m ugo=rx connect $out/bin/connect
   '';
 
   meta = {
@@ -25,7 +24,7 @@ stdenv.mkDerivation rec {
       This proxy traversal tool is intended to assist OpenSSH (via ProxyCommand
       in ~/.ssh/config) and GIT (via $GIT_PROXY_COMMAND) utilize SOCKS and https proxies. 
       '';
-    homepage = http://bent.latency.net/bent/git/goto-san-connect-1.85/src/connect.html; # source URL is busted there
+    homepage = https://bitbucket.org/gotoh/connect/wiki/Home;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.gnu;
     maintainers = with stdenv.lib.maintainers; [ jcumming ];
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
index 7d955b44950..25e4a2cb3ad 100644
--- a/pkgs/tools/networking/connman/default.nix
+++ b/pkgs/tools/networking/connman/default.nix
@@ -2,12 +2,13 @@
   openvpn, vpnc, glib, dbus, iptables, gnutls, policykit, polkit,
   wpa_supplicant, readline6, pptp, ppp, tree }:
 
-stdenv.mkDerivation {
-  name = "connman-1.24";
+stdenv.mkDerivation rec {
+  name = "connman-${version}";
+  version = "1.28";
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/connman/connman.git";
-    rev = "11b8a873988ab5fc3f360c5b6fb25a6761fe7683";
-    sha256 = "12z1krm5qnjyamc3qr2px7wvz7qkss7jk5brnmhyalqmcnkwcbrm";
+    rev = "refs/tags/${version}";
+    sha256 = "13c374bfj7dzlx7zvnnigmk0ck5cy601aqi18n77mcrq9yyxw5y9";
   };
 
   buildInputs = [ autoconf automake libtool pkgconfig openconnect polkit
diff --git a/pkgs/tools/networking/curl-unix-socket/default.nix b/pkgs/tools/networking/curl-unix-socket/default.nix
new file mode 100644
index 00000000000..88d75ba570e
--- /dev/null
+++ b/pkgs/tools/networking/curl-unix-socket/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, go }:
+
+stdenv.mkDerivation {
+  name = "curl-unix-socket";
+
+  src = fetchFromGitHub {
+    owner = "Soulou";
+    repo = "curl-unix-socket";
+    rev = "e926dca77ba7d4a1eeae073918fdd3db92f1a350";
+    sha256 = "1ynrrav90y3dhk8jq2fxm3jswj5nvrffwslgykj429hk6n0czb3d";
+  };
+
+  buildInputs = [ go ];
+  buildPhase = "go build";
+  installPhase = "install -D curl-unix-socket* $out/bin/curl-unix-socket";
+
+  meta = with stdenv.lib; {
+    description = "Run HTTP requests over UNIX socket";
+    license = licenses.mit;
+    homepage = https://github.com/Soulou/curl-unix-socket;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/networking/curl/7.15.nix b/pkgs/tools/networking/curl/7.15.nix
index 0a87eaa944c..2b13437d95c 100644
--- a/pkgs/tools/networking/curl/7.15.nix
+++ b/pkgs/tools/networking/curl/7.15.nix
@@ -32,6 +32,12 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
   '';
+
+  # make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE
+  postConfigure = ''
+    echo  '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE"))' >> lib/curl_config.h
+  '';
+
   configureFlags = [
       ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" )
       ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" )
@@ -43,7 +49,6 @@ stdenv.mkDerivation rec {
 
   dontDisableStatic = linkStatic;
 
-  CFLAGS = if stdenv ? isDietLibC then "-DHAVE_INET_NTOA_R_2_ARGS=1" else "";
   LDFLAGS = if linkStatic then "-static" else "";
   CXX = "g++";
   CXXCPP = "g++ -E";
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 3d23d7950fb..08c00fc4b34 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -4,7 +4,6 @@
 , scpSupport ? false, libssh2 ? null
 , gssSupport ? false, gss ? null
 , c-aresSupport ? false, c-ares ? null
-, linkStatic ? false
 }:
 
 assert zlibSupport -> zlib != null;
@@ -13,11 +12,11 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.36.0";
+  name = "curl-7.41.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "1kfgygvmxgaakxl2f3h3jlar23n6xmvg03ybm36pqsydkfw85ghz";
+    sha256 = "1slbbxp2k8m34mdzrl5qhafr5zhhcv7fgjhs2mcxjmswvimm92wz";
   };
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
@@ -36,35 +35,28 @@ stdenv.mkDerivation rec {
     rm src/tool_hugehelp.c
   '';
 
+  # make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE
+  postConfigure = ''
+    echo  '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") ? getenv("CURL_CA_BUNDLE") : getenv("SSL_CERT_FILE"))' >> lib/curl_config.h
+  '';
+
   configureFlags = [
       ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" )
       ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" )
     ]
     ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
-    ++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}"
-    ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ]
-  ;
+    ++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}";
 
-  dontDisableStatic = linkStatic;
-
-  CFLAGS = if stdenv ? isDietLibC then "-DHAVE_INET_NTOA_R_2_ARGS=1" else "";
-  LDFLAGS = if linkStatic then "-static" else "";
   CXX = "g++";
   CXXCPP = "g++ -E";
 
-  # libtool hack to get a static binary. Notice that to 'configure' I passed
-  # other LDFLAGS, because it doesn't use libtool for linking in the tests.
-  makeFlags = if linkStatic then "LDFLAGS=-all-static" else "";
-
   crossAttrs = {
     # We should refer to the cross built openssl
     # For the 'urandom', maybe it should be a cross-system option
     configureFlags = [
         ( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" )
         "--with-random /dev/urandom"
-      ]
-      ++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ]
-    ;
+      ];
   };
 
   passthru = {
diff --git a/pkgs/tools/networking/cutter/default.nix b/pkgs/tools/networking/cutter/default.nix
index 5d383f07210..ad7d2540406 100644
--- a/pkgs/tools/networking/cutter/default.nix
+++ b/pkgs/tools/networking/cutter/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.digitage.co.uk/digitage/files/cutter/${name}.tgz";
-    md5 = "50093db9b64277643969ee75b83ebbd1";
+    sha256 = "05cn22wi70l9ybhmzw0sy3fd6xxz0lq49fws4zxzm2i0qb3zmx2d";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/networking/darkstat/default.nix b/pkgs/tools/networking/darkstat/default.nix
new file mode 100644
index 00000000000..af15f6a62e5
--- /dev/null
+++ b/pkgs/tools/networking/darkstat/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, libpcap, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "3.0.718";
+  name = "darkstat-${version}";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${name}.tar.bz2";
+    sha256 = "1zxd4bxdfk1pjpcxhrcp54l991g0lljl4sr312nsd7p8yi9kwbv8";
+  };
+
+  buildInputs = [ libpcap zlib ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Network statistics web interface";
+    longDescription = ''
+      Captures network traffic, calculates statistics about usage, and serves
+      reports over HTTP. Features:
+      - Traffic graphs, reports per host, shows ports for each host.
+      - Embedded web-server with deflate compression.
+      - Asynchronous reverse DNS resolution using a child process.
+      - Small. Portable. Single-threaded. Efficient.
+      - Supports IPv6.
+    '';
+    homepage = http://unix4lyfe.org/darkstat;
+    license = with licenses; gpl2;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix
index 8ff45e733fb..911bb7197eb 100644
--- a/pkgs/tools/networking/dd-agent/default.nix
+++ b/pkgs/tools/networking/dd-agent/default.nix
@@ -2,34 +2,36 @@
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.3.1";
+  version = "5.2.3";
   name = "dd-agent-${version}";
 
   src = fetchFromGitHub {
     owner = "DataDog";
     repo = "dd-agent";
     rev = version;
-    sha256 = "0z6b1s30fyd9ldahizrjwcxx7c7dd74xsqy19j3qykrb25j9cvmn";
+    sha256 = "05flcbzpnmhf6qskkccbfk957sl9hhydlp4p5vqhs62hkpwmqwan";
   };
 
-  buildInputs = [ python unzip makeWrapper pythonPackages.psycopg2 ];
+  buildInputs = [ python unzip makeWrapper pythonPackages.psycopg2 pythonPackages.ntplib pythonPackages.simplejson pythonPackages.pyyaml pythonPackages.requests ];
   propagatedBuildInputs = [ python tornado ];
 
-  postUnpack = "export sourceRoot=$sourceRoot/packaging";
+  buildCommand = ''
+    mkdir -p $out/bin
+    cp -R $src $out/agent
+    chmod u+w -R $out
+    PYTHONPATH=$out/agent:$PYTHONPATH
+    ln -s $out/agent/agent.py $out/bin/dd-agent
+    ln -s $out/agent/dogstatsd.py $out/bin/dogstatsd
+    ln -s $out/agent/ddagent.py $out/bin/dd-forwarder
 
-  makeFlags = [ "BUILD=$(out)" ];
-
-  installTargets = [ "install_base" "install_full" ];
-
-  postInstall = ''
-    mv $out/usr/* $out
-    rmdir $out/usr
     wrapProgram $out/bin/dd-forwarder \
       --prefix PYTHONPATH : $PYTHONPATH
     wrapProgram $out/bin/dd-agent \
       --prefix PYTHONPATH : $PYTHONPATH
     wrapProgram $out/bin/dogstatsd \
       --prefix PYTHONPATH : $PYTHONPATH
+
+    patchShebangs $out
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 07925ca110d..4bf321d1ac0 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
+{ stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper
+, coreutils, gnused, bind, openldap ? null
+}:
 
 stdenv.mkDerivation rec {
   name = "dhcp-${version}";
-  version = "4.3.0";
+  version = "4.3.2";
   
   src = fetchurl {
     url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz";
-    sha256 = "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7";
+    sha256 = "0rc156qqv7293yi69gxvvc8s4cp7fspwl12iqkf6r7vmb2rwjik2";
   };
 
   patches =
@@ -32,10 +34,31 @@ stdenv.mkDerivation rec {
   # due to an uninitialized variable.
   CFLAGS = "-g -O2 -Wall";
 
-  buildInputs = [ perl makeWrapper ];
+  buildInputs = [ perl makeWrapper openldap ];
+
+  configureFlags = [
+    "--with-libbind=${bind}"
+    "--enable-failover"
+    "--enable-execute"
+    "--enable-tracing"
+    "--enable-delayed-ack"
+    "--enable-dhcpv6"
+    "--enable-paranoia"
+    "--enable-early-chroot"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ] ++ stdenv.lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
 
   postInstall =
     ''
+      mv $out/$out/* $out
+      DIR=$out/$out
+      while rmdir $DIR 2>/dev/null; do
+        DIR="$(dirname "$DIR")"
+      done
+
       cp client/scripts/linux $out/sbin/dhclient-script
       substituteInPlace $out/sbin/dhclient-script \
         --replace /sbin/ip ${iproute}/sbin/ip
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 8e93c424cb1..95700cb3806 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "dhcpcd-6.4.2";
+  name = "dhcpcd-6.8.1";
 
   src = fetchurl {
-    url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2";
-    sha256 = "1dr08aqvazg4ncq5p93v6givwh7naj75dn2npgplf3dl2fg9zfzf";
+    url = "mirror://roy/dhcpcd/${name}.tar.bz2";
+    sha256 = "10mg68yxvl4kn1ya8ziifg2dm71c10r12sg7y7k1k0vafazhrdi7";
   };
 
-  patches = [ /* ./lxc_ro_promote_secondaries.patch */ ];
-
   buildInputs = [ pkgconfig udev ];
 
-  configureFlags = "--sysconfdir=/etc";
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
 
   makeFlags = "PREFIX=\${out}";
 
diff --git a/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch b/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch
deleted file mode 100644
index 066ea67db9e..00000000000
--- a/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rupN dhcpcd-6.1.0-old/if-linux.c dhcpcd-6.1.0/if-linux.c
---- dhcpcd-6.1.0-old/if-linux.c	2013-09-20 12:27:24.000000000 +0200
-+++ dhcpcd-6.1.0/if-linux.c	2013-12-13 09:50:24.183694744 +0100
-@@ -86,7 +86,7 @@ if_init(struct interface *iface)
- 
- 	fp = fopen(path, "w");
- 	if (fp == NULL)
--		return errno == ENOENT ? 0 : -1;
-+		return (errno == ENOENT || errno == EROFS) ? 0 : -1;
- 	n = fprintf(fp, "1");
- 	fclose(fp);
- 	return n == -1 ? -1 : 0;
diff --git a/pkgs/tools/networking/dhcpdump/default.nix b/pkgs/tools/networking/dhcpdump/default.nix
new file mode 100644
index 00000000000..778cfc3b5ed
--- /dev/null
+++ b/pkgs/tools/networking/dhcpdump/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libpcap, perl }:
+
+stdenv.mkDerivation rec {
+  name = "dhcpdump-1.8";
+
+  src = fetchurl {
+    url = "http://archive.ubuntu.com/ubuntu/pool/universe/d/dhcpdump/dhcpdump_1.8.orig.tar.gz";
+    sha256 = "143iyzkqvhj4dscwqs75jvfr4wvzrs11ck3fqn5p7yv2h50vjpkd";
+  };
+
+  buildInputs = [libpcap perl];
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    cp dhcpdump $out/bin
+  '';
+
+  meta = {
+    description = "A tool for visualization of DHCP packets as recorded and output by tcpdump to analyze DHCP server responses";
+    homepage = http://packages.ubuntu.com/ru/lucid/dhcpdump;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/default.nix
new file mode 100644
index 00000000000..bdd2c4a0c24
--- /dev/null
+++ b/pkgs/tools/networking/dnscrypt-proxy/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libsodium }:
+
+stdenv.mkDerivation rec {
+  name = "dnscrypt-proxy-1.4.3";
+
+  src = fetchurl {
+    url = "http://download.dnscrypt.org/dnscrypt-proxy/${name}.tar.bz2";
+    sha256 = "0cij80ryxnikpmm6s79c2fqg6bdiz1wdy50xrnd7w954vw9mhr0b";
+  };
+
+  buildInputs = [ libsodium ];
+
+  meta = {
+    description = "A tool for securing communications between a client and a DNS resolver";
+    homepage = http://dnscrypt.org/;
+    license = with stdenv.lib.licenses; [ isc ];
+    maintainers = with stdenv.lib.maintainers; [ joachifm ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 02f24ce4c00..4ae571f99e0 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,11 +1,11 @@
 { pkgconfig, dbus_libs, nettle, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.71";
+  name = "dnsmasq-2.72";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz";
-    sha256 = "1fpzpzja7qr8b4kfdhh4i4sijp62c634yf0xvq2n4p7d5xbzn6a9";
+    sha256 = "1c80hq09hfm8cp5pirfb8wdlc7dqkp7zzmbmdaradcvlblzx42vx";
   };
 
   # Can't rely on make flags because of space in one of the parameters
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf
     install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf
 
-    ensureDir $out/share/dbus-1/system-services
+    mkdir -p $out/share/dbus-1/system-services
     cat <<END > $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service
     [D-BUS Service]
     Name=uk.org.thekelleys.dnsmasq
diff --git a/pkgs/tools/networking/dnstop/default.nix b/pkgs/tools/networking/dnstop/default.nix
index 00984a4ee70..c1a41d98f4b 100644
--- a/pkgs/tools/networking/dnstop/default.nix
+++ b/pkgs/tools/networking/dnstop/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = { 
     description = "libpcap application that displays DNS traffic on your network";
-    homepage = "http://dns.measurement-factory.com/tools/dnstop";
-    license = "BSD";
+    homepage = http://dns.measurement-factory.com/tools/dnstop;
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix
index 1f7c8a449f3..15422d81f41 100644
--- a/pkgs/tools/networking/dropbear/default.nix
+++ b/pkgs/tools/networking/dropbear/default.nix
@@ -2,11 +2,11 @@
 sftpPath ? "/var/run/current-system/sw/libexec/sftp-server" }:
 
 stdenv.mkDerivation rec {
-  name = "dropbear-2013.62";
+  name = "dropbear-2014.66";
 
   src = fetchurl {
     url = "http://matt.ucc.asn.au/dropbear/releases/${name}.tar.bz2";
-    sha256 = "1ylz0zd68cxdgs4x4cpc2y8h75395y10bxb1qflv0m6cpc166rf6";
+    sha256 = "0xmbcjm2pbhih459667wy8acs4nax4amvzwqwfxw0z2i19ky4gxb";
   };
 
   dontDisableStatic = enableStatic;
@@ -17,13 +17,13 @@ stdenv.mkDerivation rec {
 
   # http://www.gnu.org/software/make/manual/html_node/Libraries_002fSearch.html
   preConfigure = ''
-    makeFlags=VPATH=`cat $NIX_GCC/nix-support/orig-libc`/lib
+    makeFlags=VPATH=`cat $NIX_CC/nix-support/orig-libc`/lib
   '';
 
   crossAttrs = {
     # This works for uclibc, at least.
     preConfigure = ''
-      makeFlags=VPATH=`cat ${stdenv.gccCross}/nix-support/orig-libc`/lib
+      makeFlags=VPATH=`cat ${stdenv.ccCross}/nix-support/orig-libc`/lib
     '';
   };
 
diff --git a/pkgs/tools/networking/fdm/default.nix b/pkgs/tools/networking/fdm/default.nix
index a6700284af5..4384405dddc 100644
--- a/pkgs/tools/networking/fdm/default.nix
+++ b/pkgs/tools/networking/fdm/default.nix
@@ -1,54 +1,45 @@
-x@{builderDefsPackage
+{ stdenv, fetchurl
   , openssl, tdb, zlib, flex, bison
-  , ...}:
-builderDefsPackage
-(a :  
+  }:
 let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  buildInputs = [ openssl tdb zlib flex bison ];
   sourceInfo = rec {
     baseName="fdm";
-    version="1.7";
+    version = "1.8";
     name="${baseName}-${version}";
     url="mirror://sourceforge/${baseName}/${baseName}/${name}.tar.gz";
-    hash="0apg1jasn4m5j3vh0v9lr2l3lyzy35av1ylxr0wf8k0j9w4p8i28";
+    sha256 = "0hi39f31ipv8f9wxb41pajvl61w6vaapl39wq8v1kl9c7q6h0k2g";
   };
 in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation {
+  src = fetchurl {
+    inherit (sourceInfo) url sha256;
   };
 
   inherit (sourceInfo) name version;
   inherit buildInputs;
 
-  phaseNames = ["doConfigure" "fixInstall" "doMakeInstall"];
-  makeFlags = ["PREFIX=$out"];
-  fixInstall = a.fullDepEntry (''
+  preBuild = ''
+    export makeFlags="$makeFlags PREFIX=$out"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Dbool=int"
+
     sed -i */Makefile -i Makefile -e 's@ -g bin @ @'
     sed -i */Makefile -i Makefile -e 's@ -o root @ @'
     sed -i GNUmakefile -e 's@ -g $(BIN_OWNER) @ @'
     sed -i GNUmakefile -e 's@ -o $(BIN_GROUP) @ @'
     sed -i */Makefile -i Makefile -i GNUmakefile -e 's@-I-@@g'
-  '') ["minInit" "doUnpack"];
+  '';
       
   meta = {
     description = "Mail fetching and delivery tool - should do the job of getmail and procmail";
-    maintainers = with a.lib.maintainers;
+    maintainers = with stdenv.lib.maintainers;
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
+    platforms = with stdenv.lib.platforms;
       linux;
+    homepage = "http://fdm.sourceforge.net/";
+    inherit (sourceInfo) version;
+    updateWalker = true;
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://fdm.sourceforge.net/";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix
new file mode 100644
index 00000000000..3c439541e91
--- /dev/null
+++ b/pkgs/tools/networking/flannel/default.nix
@@ -0,0 +1,25 @@
+{ lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  version = "0.1.0";
+  name = "flannel-${version}";
+  goPackagePath = "github.com/coreos/flannel";
+  src = fetchFromGitHub {
+    owner = "coreos";
+    repo = "flannel";
+    rev = "v${version}";
+    sha256 = "1f7x6a2c8ix6j5y1r0dq56b58bl2rs2ycbdqb9fz5zv1zk2w20rd";
+  };
+
+  dontInstallSrc = true;
+
+  meta = with lib; {
+    description = "Flannel is an etcd backed network fabric for containers";
+    homepage = https://github.com/coreos/flannel;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index 10f31fb8297..ab935dc1111 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "fping-3.8";
+  name = "fping-3.10";
 
   src = fetchurl {
     url = "http://www.fping.org/dist/${name}.tar.gz";
-    sha256 = "04iwj4x3wns09wp777mb3kwfi7ypb4m9m73p0s2y699px77hcx67";
+    sha256 = "1n2psfxgww6wg5rz8rly06xkghgp8lshx2lx6rramrigyd1fhiyd";
   };
 
   meta = {
     homepage = "http://fping.org/";
     description = "Send ICMP echo probes to network hosts";
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    platforms = with stdenv.lib.platforms; all;
   };
 }
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 6d9666506b8..dbd3c631c29 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  name = "getmail-4.43.0";
+  version = "4.47.0";
+  name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0abcj4d2jp9y56c85kq7265d8wcij91w9lpzib9q6j9lcs4la8hy";
+    sha256 = "0h25irimigral9xspkvjmplzddqphyn51n5fq221m7nps39wqnjb";
   };
 
   doCheck = false;
@@ -15,5 +16,9 @@ buildPythonPackage rec {
     description = "A program for retrieving mail";
     maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ];
     platforms = stdenv.lib.platforms.linux;
+
+    homepage = "http://pyropus.ca/software/getmail/";
+    inherit version;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/networking/gvpe/default.nix b/pkgs/tools/networking/gvpe/default.nix
index 7fdb548e7b0..952771318be 100644
--- a/pkgs/tools/networking/gvpe/default.nix
+++ b/pkgs/tools/networking/gvpe/default.nix
@@ -2,7 +2,7 @@ a :
 let 
   s = import ./src-for-default.nix;
   buildInputs = with a; [
-    openssl gmp
+    openssl gmp zlib
   ];
 in
 rec {
diff --git a/pkgs/tools/networking/gvpe/src-for-default.nix b/pkgs/tools/networking/gvpe/src-for-default.nix
index 88264c5d771..3db30de0bdd 100644
--- a/pkgs/tools/networking/gvpe/src-for-default.nix
+++ b/pkgs/tools/networking/gvpe/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="2.24";
-   name="gvpe-2.24";
-   hash="1szwia7n24fx9n40yvmdidna55b97459ccq6d2c4863q4pfkqpjy";
-   url="mirror://gnu/gvpe/gvpe-${version}.tar.gz";
-   advertisedUrl="http://ftp.gnu.org/gnu/gvpe/gvpe-2.24.tar.gz";
+   version="2.25";
+   name="gvpe-2.25";
+   hash="1gsipcysvsk80gvyn9jnk9g0xg4ng9yd5zp066jnmpgs52d2vhvk";
+   url="http://ftp.gnu.org/gnu/gvpe/gvpe-${version}.tar.gz";
+   advertisedUrl="http://ftp.gnu.org/gnu/gvpe/gvpe-2.25.tar.gz";
   
   
 }
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 5a634ffec66..4119afa5228 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, pkgs, fetchurl }:
+{ stdenv, pkgs, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.25";
+  majorVersion = "1.5";
+  version = "${majorVersion}.11";
   name = "haproxy-${version}";
 
   src = fetchurl {
-    url = "http://haproxy.1wt.eu/download/1.4/src/${name}.tar.gz";
-    sha256 = "0qnvj6kbnrrc69nsp2dn5iv2z79adzkcgqssnk30iwvvwg0qwh44";
+    url = "http://haproxy.1wt.eu/download/${majorVersion}/src/${name}.tar.gz";
+    sha256 = "1gwkyy06c8bw5vcjv82hai554zrd415jjsb1iafg01c4k1ia8nlb";
   };
 
-  buildInputs = [ ];
+  buildInputs = [ openssl ];
 
   # TODO: make it work on darwin/bsd as well
   preConfigure = ''
-    export makeFlags="TARGET=linux2628 PREFIX=$out"
+    export makeFlags="TARGET=linux2628 PREFIX=$out USE_OPENSSL=yes"
   '';
 
   meta = {
@@ -29,9 +30,6 @@ stdenv.mkDerivation rec {
     homepage = http://haproxy.1wt.eu;
     maintainers = [ stdenv.lib.maintainers.garbas ];
     platforms = stdenv.lib.platforms.linux;
-    /* TODO license = [
-       stdenv.lib.licenses.gpl2
-       stdenv.lib.licenses.lgpl21
-    ];*/
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/networking/host/default.nix b/pkgs/tools/networking/host/default.nix
index 54cb8b21aaf..85f94ccba10 100644
--- a/pkgs/tools/networking/host/default.nix
+++ b/pkgs/tools/networking/host/default.nix
@@ -1,24 +1,26 @@
 { fetchurl, stdenv }:
 
 let version = "20000331"; in
-  stdenv.mkDerivation {
-    name = "host-${version}";
 
-    src = fetchurl {
-      url = "mirror://debian/pool/main/h/host/host_${version}.orig.tar.gz";
-      sha256 = "1g352k80arhwyidsa95nk28xjvzyypmwv3kga2451m3g7fmdqki1";
-    };
+stdenv.mkDerivation {
+  name = "host-${version}";
 
-    preConfigure = ''
-      makeFlagsArray=(DESTBIN=$out/bin DESTMAN=$out/share/man OWNER=$(id -u) GROUP=$(id -g))
-      mkdir -p "$out/bin"
-      mkdir -p "$out/share/man/man1"
-    '';
+  src = fetchurl {
+    url = "mirror://debian/pool/main/h/host/host_${version}.orig.tar.gz";
+    sha256 = "1g352k80arhwyidsa95nk28xjvzyypmwv3kga2451m3g7fmdqki1";
+  };
 
-    installTargets = "install man";
+  preConfigure = ''
+    makeFlagsArray=(DESTBIN=$out/bin DESTMAN=$out/share/man OWNER=$(id -u) GROUP=$(id -g))
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/man/man1"
+  '';
 
-    meta = {
-      description = "DNS resolution utility";
-      license = "BSD-style";
-    };
-  }
+  installTargets = "install man";
+
+  meta = {
+    description = "DNS resolution utility";
+    license = "BSD-style";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/httping/default.nix b/pkgs/tools/networking/httping/default.nix
new file mode 100644
index 00000000000..7e9906e7971
--- /dev/null
+++ b/pkgs/tools/networking/httping/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "httping-${version}";
+
+  version = "2.3.4";
+
+  src = fetchurl {
+    url = "http://www.vanheusden.com/httping/httping-2.3.4.tgz";
+    sha256 = "1hkbhdxb0phrvrddx9kcfpqlzm41xv9jvy82nfkqa7bb0v5p2qd7";
+  };
+
+  buildInputs = [ gettext ];
+
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX="
+  ];
+
+  meta = {
+    homepage = "http://www.vanheusden.com/httping";
+    description = "ping for HTTP requests";
+    maintainers = with stdenv.lib.maintainers; [ rickynils ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/networking/httptunnel/default.nix b/pkgs/tools/networking/httptunnel/default.nix
new file mode 100644
index 00000000000..c47dd03cb9d
--- /dev/null
+++ b/pkgs/tools/networking/httptunnel/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "3.3";
+  name    = "httptunnel-${version}";
+
+  src = fetchurl {
+    url    = "http://www.nocrew.org/software/httptunnel/${name}.tar.gz";
+    sha256 = "0mn5s6p68n32xzadz6ds5i6bp44dyxzkq68r1yljlv470jr84bql";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Creates a bidirectional virtual data connection tunnelled in HTTP requests";
+    homepage    = http://www.nocrew.org/software/httptunnel;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ koral ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
new file mode 100644
index 00000000000..088e8e8de7f
--- /dev/null
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, procps, coreutils, fetchurl, openjdk8, ant, gcj, gettext }:
+
+# TODO: support other systems, just copy appropriate lib/wrapper.. to $out
+assert stdenv.system != "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "i2p-0.9.18";
+  src = fetchurl {
+    url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
+    sha256 = "1hahdzvfh1zqb8qdc59xbjpqm8qq95k2xx22mpnhcdh90lb6xqnl";
+  };
+  buildInputs = [ openjdk8 ant gcj gettext ];
+  buildPhase = ''
+    export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
+    ant preppkg-linux-only
+    '';
+  installPhase = ''
+    set -B
+    mkdir -p $out/{bin,share}
+    cp -r pkg-temp/* $out
+    cp installer/lib/wrapper/linux64/* $out
+    sed -i $out/i2prouter -i $out/runplain.sh \
+      -e "s#%INSTALL_PATH#$out#" \
+      -e "s#/usr/ucb/ps#${procps}/bin/ps#" \
+      -e "s#/usr/bin/tr#${coreutils}/bin/tr#" \
+      -e 's#%USER_HOME#$HOME#' \
+      -e "s#%SYSTEM_java_io_tmpdir#/tmp#"
+    mv $out/runplain.sh $out/bin/i2prouter-plain
+    mv $out/man $out/share/
+    chmod +x $out/bin/* $out/i2psvc
+    rm $out/{osid,postinstall.sh,INSTALL-headless.txt}
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://geti2p.net";
+    description = "Applications and router for I2P, anonymity over the Internet";
+    maintainers = [ stdenv.lib.maintainers.joelmo ];
+    licenses = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
new file mode 100644
index 00000000000..984e91e255f
--- /dev/null
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, boost, cryptopp }:
+
+stdenv.mkDerivation rec {
+
+  name = "i2pd-${version}";
+  version = "0.9.0";
+
+  src = fetchurl {
+    name = "i2pd-src-${version}.tar.gz";
+    url = "https://github.com/PurpleI2P/i2pd/archive/${version}.tar.gz";
+    sha256 = "1rcf4wc34g2alva9jzj6bz0f88g2f5v1w4418b6lp6chvqi7fhc7";
+  };
+
+  buildInputs = [ boost cryptopp ];
+  installPhase = ''
+    install -D i2p $out/bin/i2p
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://track.privacysolutions.no/projects/i2pd";
+    description = "Minimal I2P router written in C++";
+    licenses = licenses.gpl2;
+    maintainers = with maintainers; [ edwtjo ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index c40764866eb..cb1bf546bf6 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://ex-parrot.com/pdw/iftop/;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix
index ce90bed3010..7e4d5fbe5f0 100644
--- a/pkgs/tools/networking/inadyn/default.nix
+++ b/pkgs/tools/networking/inadyn/default.nix
@@ -1,17 +1,24 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, gnutls }:
 
-stdenv.mkDerivation rec {
-  name = "inadyn-1.98.1";
+let
+  ver = "1.99.10";
+in
+stdenv.mkDerivation {
+  name = "inadyn-${ver}";
 
   src = fetchurl {
-    url = "https://github.com/downloads/troglobit/inadyn/${name}.tar.bz2";
-    sha256 = "1qkwmln9ccqbs5cldwximi1maapvzkm7mssxgff71n981d8ad83j";
+    url = "https://github.com/troglobit/inadyn/archive/${ver}.tar.gz";
+    sha256 = "0m3qnnq99siwf1ybcvbzdawk68lxf61vd13fw1f2ssl2m07hfxg3";
   };
 
   preConfigure = ''
     export makeFlags=prefix=$out
   '';
 
+  buildInputs = [ gnutls ];
+
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   meta = {
     homepage = http://inadyn.sourceforge.net/;
     description = "Free dynamic DNS client";
diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix
index a6a921f6f58..a4bde029ca0 100644
--- a/pkgs/tools/networking/inetutils/default.nix
+++ b/pkgs/tools/networking/inetutils/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/inetutils/;
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/tools/networking/iodine/default.nix b/pkgs/tools/networking/iodine/default.nix
index f6be163bb83..098d6ef962f 100644
--- a/pkgs/tools/networking/iodine/default.nix
+++ b/pkgs/tools/networking/iodine/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, nettools }:
 
 stdenv.mkDerivation rec {
-  name = "iodine-0.6.0-rc1";
+  name = "iodine-0.7.0";
 
   src = fetchurl {
     url = "http://code.kryo.se/iodine/${name}.tar.gz";
-    sha256 = "dacf950198b68fd1dae09fe980080155b0c75718f581c08e069eee0c1b6c5e60";
+    sha256 = "0gh17kcxxi37k65zm4gqsvbk3aw7yphcs3c02pn1c4s2y6n40axd";
   };
 
   buildInputs = [ zlib ];
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://code.kryo.se/iodine/;
     description = "Tool to tunnel IPv4 data through a DNS server";
-    license = "ISC";
+    license = stdenv.lib.licenses.isc;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/2.nix
index 33d8ee2fd63..33d8ee2fd63 100644
--- a/pkgs/tools/networking/iperf/default.nix
+++ b/pkgs/tools/networking/iperf/2.nix
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
new file mode 100644
index 00000000000..0efc789a0b2
--- /dev/null
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "iperf-3.0.11";
+
+  src = fetchurl {
+    url = "http://downloads.es.net/pub/iperf/${name}.tar.gz";
+    sha256 = "0vkzx7yxhah49l83jb5r3y4zzfdqypj5y2b3fjc7rxj7dyzba7g0";
+  };
+
+  postInstall = ''
+    ln -s iperf3 $out/bin/iperf
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://software.es.net/iperf/; 
+    description = "Tool to measure IP bandwidth using UDP or TCP";
+    platforms = platforms.unix;
+    license = "as-is";
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
new file mode 100644
index 00000000000..9b676c6b72e
--- /dev/null
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, geoip, geolite-legacy, getopt, openssl, perl }:
+
+stdenv.mkDerivation rec {
+  version = "0.98.0";
+  name = "ipv6calc-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/${name}.tar.gz";
+    sha256 = "02r0r4lgz10ivbmgdzivj7dvry1aad75ik9vyy6irjvngjkzg5r3";
+  };
+
+  buildInputs = [ geoip geolite-legacy getopt openssl perl ];
+
+  patchPhase = ''
+    for i in {,databases/}lib/Makefile.in; do
+      substituteInPlace $i --replace /sbin/ldconfig true
+    done
+    for i in {{,databases/}lib,man}/Makefile.in; do
+      substituteInPlace $i --replace DESTDIR out
+    done
+  '';
+
+  configureFlags = ''
+    --disable-bundled-getopt
+    --disable-bundled-md5
+    --disable-dynamic-load
+    --enable-shared
+    --enable-geoip
+    --with-geoip-db=${geolite-legacy}/share/GeoIP
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Calculate/manipulate (not only) IPv6 addresses";
+    longDescription = ''
+      ipv6calc is a small utility to manipulate (not only) IPv6 addresses and
+      is able to do other tricky things. Intentions were convering a given
+      IPv6 address into compressed format, convering a given IPv6 address into
+      the same format like shown in /proc/net/if_inet6 and (because it was not
+      difficult) migrating the Perl program ip6_int into.
+      Now only one utiltity is needed to do a lot.
+    '';
+    homepage = http://www.deepspace6.net/projects/ipv6calc.html;
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index 2d3ffb2cb0a..47efe53c0a9 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, openssl, pkgconfig, db }:
+{ fetchurl, stdenv, openssl, pkgconfig, db, cyrus_sasl }:
 
 stdenv.mkDerivation rec {
-  name = "isync-1.1.1";
+  name = "isync-1.2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${name}.tar.gz";
-    sha256 = "14blgxhpl78bpr1291zb7n3y9g8jpgmnpdnbl0vp2qplw76zv9f3";
+    sha256 = "0n8fwvv88h7ps7qs122kgh1yx5308765fiwqav5h7m272vg7hf43";
   };
 
-  buildInputs = [ openssl pkgconfig db ];
+  buildInputs = [ openssl pkgconfig db cyrus_sasl ];
 
   meta = {
     homepage = http://isync.sourceforge.net/;
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     license = [ "GPLv2+" ];
 
     maintainers = with stdenv.lib.maintainers; [ the-kenny viric ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/jwhois/default.nix b/pkgs/tools/networking/jwhois/default.nix
index 54d8acd3213..67b93a1fa90 100644
--- a/pkgs/tools/networking/jwhois/default.nix
+++ b/pkgs/tools/networking/jwhois/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
     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;
   };
 }
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 51ab3478ac9..9901a1e2a96 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, gnutls, pkgconfig, readline, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lftp-4.5.2";
+  name = "lftp-4.6.0";
 
   src = fetchurl {
-    url = "http://lftp.yar.ru/ftp/${name}.tar.gz";
-    sha256 = "106llhq9lgvdxlf4r1p94r66fcy5ywfdfvins4dfn9irg0k5gzyv";
+    urls = [
+      "http://lftp.yar.ru/ftp/${name}.tar.bz2"
+      "http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
+      ];
+    sha256 = "1liry2icaqyn9zlp7w6sykp3nyqsn172xnqglhvr6awz23r3b1fr";
   };
 
   patches = [ ./no-gets.patch ];
diff --git a/pkgs/tools/networking/lsh/default.nix b/pkgs/tools/networking/lsh/default.nix
index c86dba91f5e..77d268f3a47 100644
--- a/pkgs/tools/networking/lsh/default.nix
+++ b/pkgs/tools/networking/lsh/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.lysator.liu.se/~nisse/lsh/;
     license = stdenv.lib.licenses.gpl2Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/tools/networking/mailsend/default.nix b/pkgs/tools/networking/mailsend/default.nix
new file mode 100644
index 00000000000..a2579c55930
--- /dev/null
+++ b/pkgs/tools/networking/mailsend/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, openssl}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="mailsend";
+    version="1.17b15";
+    name="${baseName}-${version}";
+    hash="0sxjrv9yn2xyjak9si0gw2zalsrfqqcvz0indq9ap5fyalj1pjvk";
+    url="https://github.com/muquit/mailsend/archive/1.17b15.tar.gz";
+    sha256="0sxjrv9yn2xyjak9si0gw2zalsrfqqcvz0indq9ap5fyalj1pjvk";
+  };
+  buildInputs = [
+    openssl
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  configureFlags = [
+    "--with-openssl=${openssl}"
+  ];
+  meta = {
+    inherit (s) version;
+    description = ''CLI email sending tool'';
+    license = stdenv.lib.licenses.bsd3 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/muquit/mailsend";
+    downloadPage = "https://github.com/muquit/mailsend/releases";
+  };
+}
diff --git a/pkgs/tools/networking/mailsend/default.upstream b/pkgs/tools/networking/mailsend/default.upstream
new file mode 100644
index 00000000000..3d9862a3de2
--- /dev/null
+++ b/pkgs/tools/networking/mailsend/default.upstream
@@ -0,0 +1,3 @@
+url "https://github.com/muquit/mailsend/releases"
+ensure_choice
+version '.*/([0-9][0-9.a-z]*)[.]tar[.].*' '\1'
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 0ee49032704..0b57a752a37 100755..100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
    [ gettext gdbm libtool pam readline ncurses
-     gnutls mysql guile texinfo gnum4 ]
+     gnutls mysql.lib guile texinfo gnum4 ]
    ++ stdenv.lib.optional doCheck dejagnu;
 
   # Tests fail since gcc 4.8
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
     license = [ "LGPLv3+" /* libraries */  "GPLv3+" /* tools */ ];
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
 
     homepage = http://www.gnu.org/software/mailutils/;
 
diff --git a/pkgs/tools/networking/megatools/default.nix b/pkgs/tools/networking/megatools/default.nix
index 5c1910f1d6e..10a951f84fc 100644
--- a/pkgs/tools/networking/megatools/default.nix
+++ b/pkgs/tools/networking/megatools/default.nix
@@ -1,30 +1,31 @@
-{ stdenv, fetchurl, glib, curl, pkgconfig, fuse, glib_networking, makeWrapper
-, gsettings_desktop_schemas }:
+{ stdenv, fetchurl, pkgconfig, glib, fuse, curl, glib_networking, gsettings_desktop_schemas
+, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "megatools-1.9.91";
+  name = "megatools-${version}";
+  version = "1.9.94";
 
   src = fetchurl {
     url = "http://megatools.megous.com/builds/${name}.tar.gz";
-    sha256 = "0hb83wqsn6mggcmk871hl8cski5x0hxz9dhaka42115s4mdfbl1i";
+    sha256 = "1kms0k652sszcbzmx5nmz07gc8zbqqiskh8hvmvf6xaga7y3lgrx";
   };
 
-  buildInputs = [ glib curl pkgconfig fuse makeWrapper ];
+  buildInputs = [ pkgconfig glib fuse curl makeWrapper
+      gsettings_desktop_schemas ];
 
   postInstall = ''
-    for a in $out/bin/*; do
-      wrapProgram "$a" \
+    for i in $(find $out/bin/ -type f); do
+      wrapProgram "$i" \
             --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
-            --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share"
-
+            --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
     done
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Command line client for Mega.co.nz";
     homepage = http://megatools.megous.com/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.viric maintainers.AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index 0640f55bc9e..b044b526873 100644
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ModemManager-${version}";
-  version = "1.2.0";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/ModemManager/${name}.tar.xz";
-    sha256 = "1g08ciyhys9bi5m45z30kln17zni4r07i5byjaglmwq6np1xincb";
+    sha256 = "1kd5nn5rm88c8rgmzwy2fsf3cr7fai7r85mi61kcby0hcgsapv8c";
   };
 
   nativeBuildInputs = [ intltool pkgconfig ];
@@ -17,9 +17,25 @@ stdenv.mkDerivation rec {
     "--with-polkit"
     "--with-udev-base-dir=$(out)/lib/udev"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
   ];
 
+  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 \
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index c463c94d610..af5155695f4 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,49 +1,29 @@
-x@{builderDefsPackage, ncurses
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{stdenv, fetchurl, ncurses, autoconf
+, withGtk ? false, gtk ? null}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="mtr";
-    version="0.85";
-    name="${baseName}-${version}";
+assert withGtk -> gtk != null;
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  baseName="mtr";
+  version="0.86";
+  name="${baseName}-${version}";
+  
+  src = fetchurl {
     url="ftp://ftp.bitwizard.nl/${baseName}/${name}.tar.gz";
-    hash="1jqrz8mil3lraaqgc87dyvx8d4bf3vq232pfx9mksxnkbphp4qvd";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "01lcy89q3i9g4kz4liy6m7kcq1zyvmbc63rqidgw67341f94inf5";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  configureFlags = optionalString (!withGtk) "--without-gtk";
 
-  patches = [ ./edd425.patch ];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doPatch" "doMakeInstall"];
+  buildInputs = [ autoconf ncurses ] ++ optional withGtk gtk;
 
   meta = {
+    homepage = http://www.bitwizard.nl/mtr/;
     description = "A network diagnostics tool";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      unix;
-    license = a.lib.licenses.gpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "ftp://ftp.bitwizard.nl/mtr/";
-    };
+    maintainers = [ maintainers.koral maintainers.raskin ];
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
-}) x
+}
 
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 87f0db1946b..924eb2f9f42 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -3,12 +3,12 @@
 , gtk3, webkit, libsoup, icu, withMug ? false /* doesn't build with current gtk3 */ }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.9.6";
+  version = "0.9.11";
   name = "mu-${version}";
 
   src = fetchurl {
     url = "https://github.com/djcb/mu/archive/v${version}.tar.gz";
-    sha256 = "1jr9ss29yi6d62hd4ap07p2abgf12hwqfhasv3gwdkrx8dzwmr2a";
+    sha256 = "01n1lzq4pfsm5pn932p948d1z55yqc7kkm1ifjxjchb3k8lr66fh";
   };
 
   buildInputs =
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index dffafe5c816..b16aa46cc75 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib }:
 
 stdenv.mkDerivation rec {
-  name = "nbd-3.8";
+  name = "nbd-3.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/nbd/${name}.tar.xz";
-    sha256 = "1qnkzrnc9m4n814ciqh95q9j8l7d6yd7sn36q8yn0dmi1rvj78j8";
+    sha256 = "1kj772zv6s3rjmvr0gi3yhagzlq2nmv5n5gfhrjphv5bcxx3mibg";
   };
 
   buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders;
diff --git a/pkgs/tools/networking/nc6/default.nix b/pkgs/tools/networking/nc6/default.nix
index 348fc2e26a6..9c097929471 100644
--- a/pkgs/tools/networking/nc6/default.nix
+++ b/pkgs/tools/networking/nc6/default.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation {
   name = "nc6-1.0";
 
   src = fetchurl {
-    url = ftp://ftp.deepspace6.net/pub/ds6/sources/nc6/nc6-1.0.tar.bz2;
+    urls = [
+      ftp://ftp.deepspace6.net/pub/ds6/sources/nc6/nc6-1.0.tar.bz2
+      http://fossies.org/linux/privat/nc6-1.0.tar.bz2
+    ];
     sha256 = "01l28zv1yal58ilfnz6albdzqqxzsx3a58vmc14r9gv0bahffdgb";
   };
 
diff --git a/pkgs/tools/networking/ndisc6/default.nix b/pkgs/tools/networking/ndisc6/default.nix
index 5ea6c8f6895..86eec455564 100644
--- a/pkgs/tools/networking/ndisc6/default.nix
+++ b/pkgs/tools/networking/ndisc6/default.nix
@@ -1,23 +1,30 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "ndisc6-1.0.2";
+  name = "ndisc6-1.0.3";
 
   src = fetchurl {
     url = "http://www.remlab.net/files/ndisc6/archive/${name}.tar.bz2";
-    sha256 = "0ynacanjhlib4japqmf7n2c0bv5f2qq6rx2nhk4kmylyrfhcikka";
+    sha256 = "08f8xrsck2ykszp12yxx4ssf6wnkn7l6m59456hw3vgjyp5dch8g";
   };
 
   buildInputs = [ perl ];
 
-  configureFlags = "--localstatedir=/var";
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
 
-  installFlags = "localstatedir=$(TMPDIR)";
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=$(TMPDIR)"
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.remlab.net/ndisc6/;
     description = "A small collection of useful tools for IPv6 networking";
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ eelco wkennington ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/networking/ndjbdns/default.nix b/pkgs/tools/networking/ndjbdns/default.nix
index e2dc1fd1eaf..2a7e996f8db 100644
--- a/pkgs/tools/networking/ndjbdns/default.nix
+++ b/pkgs/tools/networking/ndjbdns/default.nix
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig systemd ];
 
   meta = with stdenv.lib; {
-    description = "N-DJBDNS is a brand new release of the Djbdns. Djbdns is a fully‐fledged Domain Name System(DNS), originally written by the eminent author of qmail, Dr. D J Bernstein.";
+    description = "A brand new release of the Djbdns";
+    longDescription = ''
+      Djbdns is a fully‐fledged Domain Name System(DNS), originally written by the eminent author of qmail, Dr. D J Bernstein.
+    '';
     homepage = http://pjp.dgplug.org/ndjbdns/;
     license = licenses.gpl2;
     maintainers = [ maintainers.msackman ];
diff --git a/pkgs/tools/networking/netboot/default.nix b/pkgs/tools/networking/netboot/default.nix
index dbf393094c8..0f75bd44d69 100644
--- a/pkgs/tools/networking/netboot/default.nix
+++ b/pkgs/tools/networking/netboot/default.nix
@@ -6,13 +6,13 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/netboot/${name}.tar.gz";
     sha256 = "09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0";
   };
-  
+
   buildInputs = [ yacc lzo db4 ];
 
   meta = with stdenv.lib; {
     description = "Mini PXE server";
     maintainers = [ maintainers.raskin ];
     platforms = ["x86_64-linux"];
-    license = "free-noncopyleft";
+    license = stdenv.lib.licenses.free;
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/networking/netcat-openbsd/default.nix b/pkgs/tools/networking/netcat-openbsd/default.nix
index c7bbf3892d2..e71abcd8a2c 100644
--- a/pkgs/tools/networking/netcat-openbsd/default.nix
+++ b/pkgs/tools/networking/netcat-openbsd/default.nix
@@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
   srcs = [
     (fetchurl {
       url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_1.105.orig.tar.gz";
-      md5 = "7e67b22f1ad41a1b7effbb59ff28fca1";
+      sha256 = "07i1vcz8ycnfwsvz356rqmim8akfh8yhjzmhc5mqf5hmdkk3yra0";
     })
     (fetchurl {
       url = "mirror://debian/pool/main/n/netcat-openbsd/netcat-openbsd_1.105-7.debian.tar.gz";
-      md5 = "e914f8eb7eda5c75c679dd77787ac76b";
+      sha256 = "0qxkhbwcifrps34s5mzzg79cmkvz3f96gphd3pl978pygwr5krzf";
     })
   ];
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://packages.debian.org/netcat-openbsd";
-    description = "TCP/IP swiss army knife. OpenBSD variant.";
+    description = "TCP/IP swiss army knife, OpenBSD variant";
     platforms = stdenv.lib.platforms.linux;
   };
 
diff --git a/pkgs/tools/networking/netcat/default.nix b/pkgs/tools/networking/netcat/default.nix
index 94ae6ea0630..5ad5540438c 100644
--- a/pkgs/tools/networking/netcat/default.nix
+++ b/pkgs/tools/networking/netcat/default.nix
@@ -4,6 +4,6 @@ stdenv.mkDerivation {
   name = "netcat-gnu-0.7.1";
   src = fetchurl {
     url = mirror://sourceforge/netcat/netcat-0.7.1.tar.bz2;
-    md5 = "0a29eff1736ddb5effd0b1ec1f6fe0ef";
+    sha256 = "1frjcdkhkpzk0f84hx6hmw5l0ynpmji8vcbaxg8h5k2svyxz0nmm";
   };
 }
diff --git a/pkgs/tools/networking/nethogs/default.nix b/pkgs/tools/networking/nethogs/default.nix
index 9747dc58771..3b22458ebe3 100644
--- a/pkgs/tools/networking/nethogs/default.nix
+++ b/pkgs/tools/networking/nethogs/default.nix
@@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://nethogs.sourceforge.net/;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ wizeman ];
   };
 }
diff --git a/pkgs/tools/networking/netkit/tftp/default.nix b/pkgs/tools/networking/netkit/tftp/default.nix
index 5752ff2a63c..858683e3374 100644
--- a/pkgs/tools/networking/netkit/tftp/default.nix
+++ b/pkgs/tools/networking/netkit/tftp/default.nix
@@ -5,6 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
+      "mirror://ubuntu/pool/universe/n/netkit-tftp/netkit-tftp_0.17.orig.tar.gz"
       "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${name}.tar.gz"
       "http://ftp.cc.uoc.gr/mirrors/linux/ubuntu/packages/pool/universe/n/netkit-tftp/netkit-tftp_0.17.orig.tar.gz"
     ];
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Netkit TFTP client and server";
     homepage = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/";
-    license = "BSD-Original";
+    license = stdenv.lib.licenses.bsdOriginal;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
new file mode 100644
index 00000000000..196c176018a
--- /dev/null
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchFromGitHub, bison, flex, geoip, geolite-legacy, libcli, libnet
+, libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl
+, pkgconfig, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "v0.5.9-rc4-53-gdd5d906";
+  name = "netsniff-ng-${version}";
+
+  src = fetchFromGitHub rec { # Upstream recommends and supports git
+    repo = "netsniff-ng";
+    owner = repo;
+    rev = "dd5d906c40db5264d8d33c37565b39540f0258c8";
+    sha256 = "0iwnfjbxiv10zk5mfpnvs2xb88f14hv1a156kn9mhasszknp0a57";
+  };
+
+  buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl
+    libnetfilter_conntrack libpcap libsodium liburcu ncurses perl
+    pkgconfig zlib ];
+
+  # ./configure is not autoGNU but some home-brewn magic
+  configurePhase = ''
+    patchShebangs configure
+    substituteInPlace configure --replace "which" "command -v"
+    NACL_INC_DIR=${libsodium}/include/sodium NACL_LIB=sodium ./configure
+  '';
+
+  enableParallelBuilding = true;
+
+  # All files installed to /etc are just static data that can go in the store
+  makeFlags = "PREFIX=$(out) ETCDIR=$(out)/etc";
+
+  postInstall = ''
+    ln -sv ${geolite-legacy}/share/GeoIP/GeoIP.dat		$out/etc/netsniff-ng/country4.dat
+    ln -sv ${geolite-legacy}/share/GeoIP/GeoIPv6.dat		$out/etc/netsniff-ng/country6.dat
+    ln -sv ${geolite-legacy}/share/GeoIP/GeoLiteCity.dat	$out/etc/netsniff-ng/city4.dat
+    ln -sv ${geolite-legacy}/share/GeoIP/GeoLiteCityv6.dat	$out/etc/netsniff-ng/city6.dat
+    ln -sv ${geolite-legacy}/share/GeoIP/GeoIPASNum.dat		$out/etc/netsniff-ng/asname4.dat
+    ln -sv ${geolite-legacy}/share/GeoIP/GeoIPASNumv6.dat	$out/etc/netsniff-ng/asname6.dat
+    rm -v $out/etc/netsniff-ng/geoip.conf # updating databases after installation is impossible
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Swiss army knife for daily Linux network plumbing";
+    longDescription = ''
+      netsniff-ng is a free Linux networking toolkit. Its gain of performance
+      is reached by zero-copy mechanisms, so that on packet reception and
+      transmission the kernel does not need to copy packets from kernel space
+      to user space and vice versa. The toolkit can be used for network
+      development and analysis, debugging, auditing or network reconnaissance.
+    '';
+    homepage = http://netsniff-ng.org/;
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 850981c5d33..56c0dd1363a 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -2,7 +2,8 @@
 , libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring 
 , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
 , makeWrapper, networkmanager_openvpn, networkmanager_vpnc
-, networkmanager_openconnect, networkmanager_pptp, udev, hicolor_icon_theme, dconf }:
+, networkmanager_openconnect, networkmanager_pptp, networkmanager_l2tp
+, udev, hicolor_icon_theme, dconf }:
 
 let
   pn = "network-manager-applet";
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz";
-    sha256 = "1sx97cp9nb5p82kg2dl6dmqri7wichpjqchhx7bk77limngby7jq";
+    sha256 = "1jz0vawfixzm892m6plrzhsybgdxwv96pfwld9p85lb7wshykzj6";
   };
 
   buildInputs = [
@@ -37,16 +38,19 @@ stdenv.mkDerivation rec {
     ln -s ${networkmanager_vpnc}/etc/NetworkManager/VPN/nm-vpnc-service.name $out/etc/NetworkManager/VPN/nm-vpnc-service.name
     ln -s ${networkmanager_openconnect}/etc/NetworkManager/VPN/nm-openconnect-service.name $out/etc/NetworkManager/VPN/nm-openconnect-service.name
     ln -s ${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name $out/etc/NetworkManager/VPN/nm-pptp-service.name
+    ln -s ${networkmanager_l2tp}/etc/NetworkManager/VPN/nm-l2tp-service.name $out/etc/NetworkManager/VPN/nm-l2tp-service.name
     mkdir -p $out/lib/NetworkManager
     ln -s ${networkmanager_openvpn}/lib/NetworkManager/* $out/lib/NetworkManager/
     ln -s ${networkmanager_vpnc}/lib/NetworkManager/* $out/lib/NetworkManager/
     ln -s ${networkmanager_openconnect}/lib/NetworkManager/* $out/lib/NetworkManager/
     ln -s ${networkmanager_pptp}/lib/NetworkManager/* $out/lib/NetworkManager/
+    ln -s ${networkmanager_l2tp}/lib/NetworkManager/* $out/lib/NetworkManager/
     mkdir -p $out/libexec
     ln -s ${networkmanager_openvpn}/libexec/* $out/libexec/
     ln -s ${networkmanager_vpnc}/libexec/* $out/libexec/
     ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/
     ln -s ${networkmanager_pptp}/libexec/* $out/libexec/
+    ln -s ${networkmanager_l2tp}/libexec/* $out/libexec/
   '';
 
   preFixup = ''
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 20102aedeb9..505f42d2f3d 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "network-manager-${version}";
-  version = "0.9.8.8";
+  version = "0.9.8.10";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz";
-    sha256 = "0mbsl6x3aavdnam8i87p0zz8fvvgi96g199s35wgg5r8rplks2la";
+    sha256 = "0wn9qh8r56r8l19dqr68pdl1rv3zg1dv47rfy6fqa91q7li2fk86";
   };
 
   preConfigure = ''
@@ -47,8 +47,9 @@ stdenv.mkDerivation rec {
     [ ( substituteAll {
         src = ./nixos-purity.patch;
         inherit avahi dnsmasq ppp bind;
-        glibc = stdenv.gcc.libc;
+        glibc = stdenv.cc.libc;
       })
+      ./libnl-3.2.25.patch
     ];
 
   preInstall =
@@ -63,10 +64,14 @@ stdenv.mkDerivation rec {
       # FIXME: Workaround until NixOS' dbus+systemd supports at_console policy
       substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"'
 
+      # rename to network-manager to be in style
+      mv $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/network-manager.service 
+      echo "Alias=NetworkManager.service" >> $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
+
       # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
       # aliases ourselves.
       ln -s $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
-      ln -s $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
+      ln -s $out/etc/systemd/system/network-manager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
     '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/network-manager/l2tp-purity.patch b/pkgs/tools/networking/network-manager/l2tp-purity.patch
new file mode 100644
index 00000000000..c9117c5325b
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/l2tp-purity.patch
@@ -0,0 +1,26 @@
+diff --git a/src/nm-l2tp-service.c b/src/nm-l2tp-service.c
+index d2c9dc4..e61d3d2 100644
+--- a/src/nm-l2tp-service.c
++++ b/src/nm-l2tp-service.c
+@@ -655,9 +655,7 @@ nm_find_ipsec (void)
+ {
+ 	static const char *ipsec_binary_paths[] =
+ 		{
+-			"/sbin/ipsec",
+-			"/usr/sbin/ipsec",
+-			"/usr/local/sbin/ipsec",
++                        "@strongswan@/bin/ipsec",
+ 			NULL
+ 		};
+ 
+@@ -677,9 +675,7 @@ nm_find_l2tpd (void)
+ {
+ 	static const char *l2tp_binary_paths[] =
+ 		{
+-			"/sbin/xl2tpd",
+-			"/usr/sbin/xl2tpd",
+-			"/usr/local/sbin/xl2tpd",
++                        "@xl2tpd@/bin/xl2tpd",
+ 			NULL
+ 		};
+ 
diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix
new file mode 100644
index 00000000000..a104f321c12
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/l2tp.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, substituteAll, automake, autoconf, libtool, intltool, pkgconfig
+, networkmanager, ppp, xl2tpd, strongswan
+, withGnome ? true, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname = "NetworkManager-l2tp";
+  version = "0.9.8.7";
+
+  src = fetchFromGitHub {
+    owner = "seriyps";
+    repo = "NetworkManager-l2tp";
+    rev = version;
+    sha256 = "07gl562p3f6l2wn64f3vvz1ygp3hsfhiwh4sn04c3fahfdys69zx";
+  };
+
+  buildInputs = [ networkmanager ppp ]
+    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
+
+  nativeBuildInputs = [ automake autoconf libtool intltool pkgconfig ];
+
+  configureScript = "./autogen.sh";
+
+  configureFlags =
+    if withGnome then "--with-gnome" else "--without-gnome";
+
+  postConfigure = "sed 's/-Werror//g' -i Makefile */Makefile";
+
+  patches =
+    [ ( substituteAll {
+        src = ./l2tp-purity.patch;
+        inherit xl2tpd strongswan;
+      })
+    ];
+
+  meta = with stdenv.lib; {
+    description = "L2TP plugin for NetworkManager";
+    inherit (networkmanager.meta) platforms;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/networking/network-manager/libnl-3.2.25.patch b/pkgs/tools/networking/network-manager/libnl-3.2.25.patch
new file mode 100644
index 00000000000..17c2966b706
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/libnl-3.2.25.patch
@@ -0,0 +1,61 @@
+diff --git a/src/nm-netlink-monitor.c b/src/nm-netlink-monitor.c
+index ba8053e..5ac39d3 100644
+--- a/src/nm-netlink-monitor.c
++++ b/src/nm-netlink-monitor.c
+@@ -177,40 +177,15 @@ link_msg_handler (struct nl_object *obj, void *arg)
+ static int
+ event_msg_recv (struct nl_msg *msg, void *arg)
+ {
+-	struct nl_sock *nlh = arg;
+-	struct nlmsghdr *hdr = nlmsg_hdr (msg);
+ 	struct ucred *creds = nlmsg_get_creds (msg);
+-	const struct sockaddr_nl *snl;
+-	guint32 local_port;
+-	gboolean accept_msg = FALSE;
+-
+-	/* Only messages sent from the kernel */
+-	if (!creds || creds->uid != 0) {
+-		nm_log_dbg (LOGD_HW, "ignoring netlink message from UID %d",
+-		            creds ? creds->uid : -1);
+-		return NL_SKIP;
+-	}
+-
+-	snl = nlmsg_get_src (msg);
+-	g_assert (snl);
+-
+-	/* Accept any messages from the kernel */
+-	if (hdr->nlmsg_pid == 0 || snl->nl_pid == 0)
+-		accept_msg = TRUE;
+ 
+-	/* And any multicast message directed to our netlink PID, since multicast
+-	 * currently requires CAP_ADMIN to use.
+-	 */
+-	local_port = nl_socket_get_local_port (nlh);
+-	if ((hdr->nlmsg_pid == local_port) && snl->nl_groups)
+-		accept_msg = TRUE;
+-
+-	if (accept_msg == FALSE) {
+-		nm_log_dbg (LOGD_HW, "ignoring netlink message from PID %d (local PID %d, multicast %d)",
+-		            hdr->nlmsg_pid,
+-		            local_port,
+-		            (hdr->nlmsg_flags & NLM_F_MULTI));
+-		return NL_SKIP;
++	if (!creds || creds->pid || creds->uid || creds->gid) {
++		if (creds)
++			nm_log_dbg (LOGD_HW, "netlink: received non-kernel message (pid %d uid %d gid %d)",
++			            creds->pid, creds->uid, creds->gid);
++		else
++			nm_log_dbg (LOGD_HW, "netlink: received message without credentials");
++		return NL_STOP;
+ 	}
+ 
+ 	return NL_OK;
+@@ -285,7 +260,7 @@ nlh_setup (struct nl_sock *nlh,
+ {
+ 	int err;
+ 
+-	nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, cb_data);
++	nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, NULL);
+ 
+ 	if (valid_func)
+ 		nl_socket_modify_cb (nlh, NL_CB_VALID, NL_CB_CUSTOM, valid_func, cb_data);
diff --git a/pkgs/tools/networking/network-manager/nixos-purity.patch b/pkgs/tools/networking/network-manager/nixos-purity.patch
index 5736009571e..831b2010fcf 100644
--- a/pkgs/tools/networking/network-manager/nixos-purity.patch
+++ b/pkgs/tools/networking/network-manager/nixos-purity.patch
@@ -28,36 +28,6 @@ index 237661f..48bc33f 100644
  		NULL
  	};
  	const char **path = dhcpcd_paths;
-diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c
-index 8e216f4..6e00210 100644
---- a/src/dns-manager/nm-dns-dnsmasq.c
-+++ b/src/dns-manager/nm-dns-dnsmasq.c
-@@ -52,9 +52,7 @@ static inline const char *
- find_dnsmasq (void)
- {
- 	static const char *paths[] = {
--		"/usr/local/sbin/dnsmasq",
--		"/usr/sbin/dnsmasq",
--		"/sbin/dnsmasq",
-+		"@dnsmasq@/bin/dnsmasq",
- 		NULL
- 	};
- 	const char **binary = paths;
-diff --git a/src/dnsmasq-manager/nm-dnsmasq-manager.c b/src/dnsmasq-manager/nm-dnsmasq-manager.c
-index ca2f9dc..ce718d0 100644
---- a/src/dnsmasq-manager/nm-dnsmasq-manager.c
-+++ b/src/dnsmasq-manager/nm-dnsmasq-manager.c
-@@ -170,9 +170,7 @@ static inline const char *
- nm_find_dnsmasq (void)
- {
- 	static const char *dnsmasq_binary_paths[] = {
--		"/usr/local/sbin/dnsmasq",
--		"/usr/sbin/dnsmasq",
--		"/sbin/dnsmasq",
-+		"@dnsmasq@/bin/dnsmasq",
- 		NULL
- 	};
- 
 diff --git a/src/nm-device.c b/src/nm-device.c
 index 1dc94ee..e60f3c8 100644
 --- a/src/nm-device.c
@@ -77,7 +47,7 @@ index 1dc94ee..e60f3c8 100644
  
  	for (iter = modules; *iter; iter++) {
 -		char *argv[3] = { "/sbin/modprobe", *iter, NULL };
-+		char *argv[3] = { "/var/run/current-system/sw/sbin/modprobe", *iter, NULL };
++		char *argv[3] = { "/var/run/current-system/sw/bin/modprobe", *iter, NULL };
  		char *envp[1] = { NULL };
  		GError *error = NULL;
  
@@ -101,7 +71,7 @@ index 59698c3..7dba0f7 100644
  	/* Make sure /dev/ppp exists (bgo #533064) */
  	if (stat ("/dev/ppp", &st) || !S_ISCHR (st.st_mode))
 -		ignored = system ("/sbin/modprobe ppp_generic");
-+		ignored = system ("/var/run/current-system/sw/sbin/modprobe ppp_generic");
++		ignored = system ("/var/run/current-system/sw/bin/modprobe ppp_generic");
  
  	connection = nm_act_request_get_connection (req);
  	g_assert (connection);
diff --git a/pkgs/tools/networking/ngrep/default.nix b/pkgs/tools/networking/ngrep/default.nix
index 5c7840034b7..3c0b0d9278a 100644
--- a/pkgs/tools/networking/ngrep/default.nix
+++ b/pkgs/tools/networking/ngrep/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libpcap }:
+{ stdenv, fetchurl, libpcap, gnumake3 }:
 
 stdenv.mkDerivation rec {
   name = "ngrep-1.45";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "19rg8339z5wscw877mz0422wbsadds3mnfsvqx3ihy58glrxv9mf";
   };
 
-  buildInputs = [ libpcap ];
+  buildInputs = [ gnumake3 libpcap ];
 
   preConfigure = ''
     # Fix broken test for BPF header file
diff --git a/pkgs/tools/networking/noip/default.nix b/pkgs/tools/networking/noip/default.nix
new file mode 100644
index 00000000000..bfd9b90b6b1
--- /dev/null
+++ b/pkgs/tools/networking/noip/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "noip-2.1.9-1";
+
+  src = fetchurl {
+    url = http://www.noip.com/client/linux/noip-duc-linux.tar.gz;
+    sha256 = "82b9bafab96a0c53b21aaef688bf70b3572e26217b5e2072bdb09da3c4a6f593";
+  };
+
+  makeFlags = [ "PREFIX=\${out}" ];
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp noip2 $out/bin
+    '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Dynamic DNS daemon for no-ip accounts";
+    homepage = http://noip.com/download?page=linux;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.iand675 ];
+  };
+}
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index 52554209d59..1a2bac79e1f 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -1,36 +1,17 @@
-{ stdenv, fetchurl, libpcap, gnutls, libgcrypt, libxml2, glib, geoip, sqlite
-, which, autoreconfHook, subversion, pkgconfig, groff
+{ stdenv, fetchurl, libpcap, gnutls, libgcrypt, libxml2, glib
+, geoip, geolite-legacy, sqlite, which, autoreconfHook, subversion
+, pkgconfig, groff
 }:
 
 # ntopng includes LuaJIT, mongoose, rrdtool and zeromq in its third-party/
 # directory.
 
 stdenv.mkDerivation rec {
-  name = "ntopng-1.2.0_r8116";
-
-  geoLiteCity = fetchurl {
-    url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz";
-    sha256 = "1rv5yx5xgz04ymicx9pilidm19wh01ql2klwjcdakv558ndxdzd5";
-  };
-
-  geoLiteCityV6 = fetchurl {
-    url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz";
-    sha256 = "0j974qpi92wwnibq46h16vxpcz7yy8bbqc4k8kmby1yx994k33v4";
-  };
-
-  geoIPASNum = fetchurl {
-    url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz";
-    sha256 = "1msnbls66npq001nmf1wmkrh6vyacgi8g5phfm1c34cz7vqnh683";
-  };
-
-  geoIPASNumV6 = fetchurl {
-    url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz";
-    sha256 = "126syia75mkxs6xfinfp70xcfq6a3rgfmh673pzzkwxya393lbdn";
-  };
+  name = "ntopng-1.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ntop/ntopng/${name}.tgz";
-    sha256 = "0y7xc0l77k2qi2qalwfqiw2z361hdypirfv4k5gi652pb20jc9j6";
+    sha256 = "1db83cd1v4ivl8hxzzdvvdcgk22ji7mwrfnd5nnwll6kb11i364v";
   };
 
   patches = [
@@ -38,7 +19,8 @@ stdenv.mkDerivation rec {
     ./0002-Remove-requirement-to-have-writeable-callback-dir.patch
   ];
 
-  buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip sqlite which autoreconfHook subversion pkgconfig groff ];
+  buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip geolite-legacy
+    sqlite which autoreconfHook subversion pkgconfig groff ];
 
   preConfigure = ''
     find . -name Makefile.in | xargs sed -i "s|/bin/rm|rm|"
@@ -55,10 +37,8 @@ stdenv.mkDerivation rec {
         -e "s|\(#define CONST_DEFAULT_INSTALL_DIR\).*|\1 \"$out/share/ntopng\"|g" \
         -i ntop_defines.h
 
-    gunzip -c $geoLiteCity > httpdocs/geoip/GeoLiteCity.dat
-    gunzip -c $geoLiteCityV6 > httpdocs/geoip/GeoLiteCityv6.dat
-    gunzip -c $geoIPASNum > httpdocs/geoip/GeoIPASNum.dat
-    gunzip -c $geoIPASNumV6 > httpdocs/geoip/GeoIPASNumv6.dat
+    rmdir httpdocs/geoip
+    ln -s ${geolite-legacy}/share/GeoIP httpdocs/geoip
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix
index 465f15184f1..93dad85ce1e 100644
--- a/pkgs/tools/networking/ntp/default.nix
+++ b/pkgs/tools/networking/ntp/default.nix
@@ -1,21 +1,20 @@
-{ stdenv, fetchurl, libcap }:
+{ stdenv, fetchurl, autoreconfHook, libcap ? null }:
 
 assert stdenv.isLinux -> libcap != null;
 
 stdenv.mkDerivation rec {
-  name = "ntp-4.2.6p5";
+  name = "ntp-4.2.8p2";
 
   src = fetchurl {
     url = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${name}.tar.gz";
-    sha256 = "077r69a41hasl8zf5c44km7cqgfhrkaj6a4jnr75j7nkz5qq7ayn";
+    sha256 = "0ccv9kh5asxpk7bjn73vwrqimbkbfl743bgx0km47bfajl7bqs8d";
   };
 
-  configureFlags = ''
-    --without-crypto
-    ${if stdenv.isLinux then "--enable-linuxcaps" else ""}
-  '';
+  configureFlags = stdenv.lib.optional (libcap != null) "--enable-linuxcaps";
 
-  buildInputs = stdenv.lib.optional stdenv.isLinux libcap;
+  buildInputs = [ autoreconfHook libcap ];
+
+  postInstall = "rm -rf $out/share/doc";
 
   meta = {
     homepage = http://www.ntp.org/;
diff --git a/pkgs/tools/networking/ntp/no-openssl.patch b/pkgs/tools/networking/ntp/no-openssl.patch
new file mode 100644
index 00000000000..3a7784016ff
--- /dev/null
+++ b/pkgs/tools/networking/ntp/no-openssl.patch
@@ -0,0 +1,161 @@
+Fix ntp-keygen build without OpenSSL
+
+http://bk1.ntp.org/ntp-stable/?PAGE=patch&REV=5497b345z5MNTuNvJWuqPSje25NQTg
+
+Index: ntp-4.2.8/Makefile.am
+===================================================================
+--- ntp-4.2.8.orig/Makefile.am
++++ ntp-4.2.8/Makefile.am
+@@ -2,7 +2,10 @@ ACLOCAL_AMFLAGS = -I sntp/m4 -I sntp/lib
+ 
+ NULL =
+ 
++# moved sntp first to get libtool and libevent built.
++
+ SUBDIRS =		\
++	sntp		\
+ 	scripts		\
+ 	include		\
+ 	libntp		\
+@@ -17,7 +20,6 @@ SUBDIRS =		\
+ 	clockstuff	\
+ 	kernel		\
+ 	util		\
+-	sntp		\
+ 	tests		\
+ 	$(NULL)
+ 
+@@ -64,7 +66,6 @@ BUILT_SOURCES =				\
+ 	.gcc-warning			\
+ 	libtool				\
+ 	html/.datecheck			\
+-	sntp/built-sources-only		\
+ 	$(srcdir)/COPYRIGHT		\
+ 	$(srcdir)/.checkChangeLog	\
+ 	$(NULL)
+Index: ntp-4.2.8/configure.ac
+===================================================================
+--- ntp-4.2.8.orig/configure.ac
++++ ntp-4.2.8/configure.ac
+@@ -102,7 +102,7 @@ esac
+ enable_nls=no
+ LIBOPTS_CHECK_NOBUILD([sntp/libopts])
+ 
+-NTP_ENABLE_LOCAL_LIBEVENT
++NTP_LIBEVENT_CHECK_NOBUILD([2], [sntp/libevent])
+ 
+ NTP_LIBNTP
+ 
+@@ -771,6 +771,10 @@ esac
+ 
+ #### 
+ 
++AC_CHECK_FUNCS([arc4random_buf])
++
++#### 
++
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS $LDADD_LIBNTP"
+ AC_CHECK_FUNCS([daemon])
+Index: ntp-4.2.8/libntp/ntp_crypto_rnd.c
+===================================================================
+--- ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c
++++ ntp-4.2.8/libntp/ntp_crypto_rnd.c
+@@ -24,6 +24,21 @@
+ int crypto_rand_init = 0;
+ #endif
+ 
++#ifndef HAVE_ARC4RANDOM_BUF
++static void
++arc4random_buf(void *buf, size_t nbytes);
++
++void
++evutil_secure_rng_get_bytes(void *buf, size_t nbytes);
++
++static void
++arc4random_buf(void *buf, size_t nbytes)
++{
++	evutil_secure_rng_get_bytes(buf, nbytes);
++	return;
++}
++#endif
++
+ /*
+  * As of late 2014, here's how we plan to provide cryptographic-quality
+  * random numbers:
+Index: ntp-4.2.8/sntp/configure.ac
+===================================================================
+--- ntp-4.2.8.orig/sntp/configure.ac
++++ ntp-4.2.8/sntp/configure.ac
+@@ -97,11 +97,14 @@ esac
+ enable_nls=no
+ LIBOPTS_CHECK
+ 
+-AM_COND_IF(
+-    [BUILD_SNTP],
+-    [NTP_LIBEVENT_CHECK],
+-    [NTP_LIBEVENT_CHECK_NOBUILD]
+-)
++# From when we only used libevent for sntp:
++#AM_COND_IF(
++#    [BUILD_SNTP],
++#    [NTP_LIBEVENT_CHECK],
++#    [NTP_LIBEVENT_CHECK_NOBUILD]
++#)
++
++NTP_LIBEVENT_CHECK([2])
+ 
+ # Checks for libraries.
+ 
+Index: ntp-4.2.8/sntp/m4/ntp_libevent.m4
+===================================================================
+--- ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4
++++ ntp-4.2.8/sntp/m4/ntp_libevent.m4
+@@ -1,4 +1,25 @@
+-dnl NTP_ENABLE_LOCAL_LIBEVENT				     -*- Autoconf -*-
++# SYNOPSIS						-*- Autoconf -*-
++#
++#  NTP_ENABLE_LOCAL_LIBEVENT
++#  NTP_LIBEVENT_CHECK([MINVERSION [, DIR]])
++#  NTP_LIBEVENT_CHECK_NOBUILD([MINVERSION [, DIR]])
++#
++# DESCRIPTION
++#
++# AUTHOR
++#
++#  Harlan Stenn
++#
++# LICENSE
++#
++#  This file is Copyright (c) 2014 Network Time Foundation
++# 
++#  Copying and distribution of this file, with or without modification, are
++#  permitted in any medium without royalty provided the copyright notice,
++#  author attribution and this notice are preserved.  This file is offered
++#  as-is, without any warranty.
++
++dnl NTP_ENABLE_LOCAL_LIBEVENT
+ dnl
+ dnl Provide only the --enable-local-libevent command-line option.
+ dnl
+@@ -29,7 +50,7 @@ dnl If NOBUILD is provided as the 3rd ar
+ dnl but DO NOT invoke DIR/configure if we are going to use our bundled
+ dnl version.  This may be the case for nested packages.
+ dnl
+-dnl provide --enable-local-libevent .
++dnl provides --enable-local-libevent .
+ dnl
+ dnl Examples:
+ dnl
+Index: ntp-4.2.8/util/Makefile.am
+===================================================================
+--- ntp-4.2.8.orig/util/Makefile.am
++++ ntp-4.2.8/util/Makefile.am
+@@ -19,6 +19,7 @@ AM_LDFLAGS = $(LDFLAGS_NTP)
+ LDADD=		../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
+ tg2_LDADD=	../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM)
+ ntp_keygen_LDADD  = version.o $(LIBOPTS_LDADD) ../libntp/libntp.a
++ntp_keygen_LDADD += $(LDADD_LIBEVENT)
+ ntp_keygen_LDADD += $(LDADD_LIBNTP) $(PTHREAD_LIBS) $(LDADD_NTP) $(LIBM)
+ ntp_keygen_SOURCES = ntp-keygen.c ntp-keygen-opts.c ntp-keygen-opts.h
+ 
diff --git a/pkgs/tools/networking/nylon/configure-use-solib.patch b/pkgs/tools/networking/nylon/configure-use-solib.patch
new file mode 100644
index 00000000000..02491d7660e
--- /dev/null
+++ b/pkgs/tools/networking/nylon/configure-use-solib.patch
@@ -0,0 +1,33 @@
+--- nylon-1.21/configure	2006-08-20 00:53:31.000000000 +0200
++++ nylon-1.21-patch/configure	2015-01-13 22:23:34.509154220 +0100
+@@ -5174,25 +5174,25 @@
+   *)
+      echo "$as_me:$LINENO: result: $withval" >&5
+ echo "${ECHO_T}$withval" >&6
+-     if test -f $withval/include/event.h -a -f $withval/lib/libevent.a; then
++     if test -f $withval/include/event.h -a -f $withval/lib/libevent.so; then
+         owd=`pwd`
+         if cd $withval; then withval=`pwd`; cd $owd; fi
+         EVENTINC="-I$withval/include"
+         EVENTLIB="-L$withval/lib -levent"
+-     elif test -f $withval/event.h -a -f $withval/libevent.a; then
++     elif test -f $withval/event.h -a -f $withval/libevent.so; then
+         owd=`pwd`
+         if cd $withval; then withval=`pwd`; cd $owd; fi
+         EVENTINC="-I$withval"
+         EVENTLIB="-L$withval -levent"
+      else
+-        { { echo "$as_me:$LINENO: error: event.h or libevent.a not found in $withval" >&5
+-echo "$as_me: error: event.h or libevent.a not found in $withval" >&2;}
++        { { echo "$as_me:$LINENO: error: event.h or libevent.so not found in $withval" >&5
++echo "$as_me: error: event.h or libevent.so not found in $withval" >&2;}
+    { (exit 1); exit 1; }; }
+      fi
+      ;;
+   esac
+ else
+-   if test -f ${prefix}/include/event.h -a -f ${prefix}/lib/libevent.a;
++   if test -f ${prefix}/include/event.h -a -f ${prefix}/lib/libevent.so;
+ then
+      EVENTINC="-I${prefix}/include"
+      EVENTLIB="-L${prefix}/lib -levent"
diff --git a/pkgs/tools/networking/nylon/default.nix b/pkgs/tools/networking/nylon/default.nix
index 9050423cfaf..daeb7ffb57b 100644
--- a/pkgs/tools/networking/nylon/default.nix
+++ b/pkgs/tools/networking/nylon/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libevent} :
+{ stdenv, fetchurl, libevent }:
 
 stdenv.mkDerivation {
   name = "nylon-1.21";
@@ -7,13 +7,17 @@ stdenv.mkDerivation {
     sha256 = "34c132b005c025c1a5079aae9210855c80f50dc51dde719298e1113ad73408a4";
   };
 
+  patches = [ ./configure-use-solib.patch ];
+
   configureFlags = [ "--with-libevent=${libevent}" ];
 
   buildInputs = [ libevent ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://monkey.org/~marius/nylon;
     description = "Proxy server, supporting SOCKS 4 and 5, as well as a mirror mode";
-    license = "free";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ edwtjo viric ];
+    platform = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index ec14b8ee99a..13bd3a87845 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -2,11 +2,11 @@
 , gnutls, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "nzbget-13.0";
+  name = "nzbget-14.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/nzbget/${name}.tar.gz";
-    sha256 = "13lgwwrdv6ds25kj6hj0b5laqaf739n7l3j530x3640zyd254vv6";
+    sha256 = "0xs620hjxi9fkab6bmgy7zhwd0h035jpabf0wp2nc5y0gnsay95v";
   };
 
   buildInputs = [ pkgconfig libxml2 ncurses libsigcxx libpar2 gnutls libgcrypt ];
@@ -15,9 +15,10 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-lz";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://nzbget.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     description = "A command line tool for downloading files from news servers";
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix
new file mode 100644
index 00000000000..50fde6a7794
--- /dev/null
+++ b/pkgs/tools/networking/openfortivpn/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, automake, autoconf, openssl, ppp }:
+
+with stdenv.lib;
+
+let repo = "openfortivpn";
+    version = "1.0.1";
+
+in stdenv.mkDerivation {
+  name = "${repo}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "adrienverge";
+    inherit repo;
+    rev = "v${version}";
+    sha256 = "0kwl8hv3nydd34xp1489jpjdj4bmknfl9xrgynij0vf5qx29xv7m";
+  };
+
+  buildInputs = [ openssl automake autoconf ppp ];
+
+  preConfigure = ''
+    aclocal
+    autoconf
+    automake --add-missing
+
+    substituteInPlace src/tunnel.c --replace "/usr/sbin/pppd" "${ppp}/bin/pppd"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Client for PPP+SSL VPN tunnel services";
+    homepage = https://github.com/adrienverge/openfortivpn;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/openntpd/default.nix b/pkgs/tools/networking/openntpd/default.nix
new file mode 100644
index 00000000000..202cb4c6ba6
--- /dev/null
+++ b/pkgs/tools/networking/openntpd/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, openssl
+, privsepPath ? "/var/empty"
+, privsepUser ? "ntp"
+}:
+
+stdenv.mkDerivation rec {
+  name = "openntpd-${version}";
+  version = "5.7p4";
+
+  src = fetchurl {
+    url = "mirror://openbsd/OpenNTPD/${name}.tar.gz";
+    sha256 = "08ybpi351284wj53qqrmg13j8l7md397yrqsmg0aqxg3frcxk4x9";
+  };
+
+  configureFlags = [
+    "--with-privsep-path=${privsepPath}"
+    "--with-privsep-user=${privsepUser}"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  buildInputs = [ openssl ];
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.openntpd.org/";
+    license = licenses.bsd3;
+    description = "OpenBSD NTP daemon (Debian port)";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix
index b81c46c0b61..ee5241bfcad 100644
--- a/pkgs/tools/networking/openresolv/default.nix
+++ b/pkgs/tools/networking/openresolv/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "openresolv-3.5.7";
 
   src = fetchurl {
-    url = "http://roy.marples.name/downloads/openresolv/${name}.tar.bz2";
+    url = "mirror://roy/openresolv/${name}.tar.bz2";
     sha256 = "14n51wqnh49zdvx11l79s3fh1jhg7kg9cfny5vk7zsix78spmyx7";
   };
 
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index fec6679a14b..15c84a79a87 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -10,19 +10,19 @@ assert withKerberos -> kerberos != null;
 let
 
   hpnSrc = fetchurl {
-    url = mirror://sourceforge/hpnssh/openssh-6.3p1-hpnssh14v2.diff.gz;
-    sha256 = "1jldqjwry9qpxxzb3mikfmmmv90mfb7xkmcfdbvwqac6nl3r7bi3";
+    url = mirror://sourceforge/hpnssh/openssh-6.6p1-hpnssh14v5.diff.gz;
+    sha256 = "682b4a6880d224ee0b7447241b684330b731018585f1ba519f46660c10d63950";
   };
   optionalString = stdenv.lib.optionalString;
 
 in
 
 stdenv.mkDerivation rec {
-  name = "openssh-6.6p1";
+  name = "openssh-6.8p1";
 
   src = fetchurl {
-    url = "http://ftp.nluug.nl/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz";
-    sha256 = "1fq3w86q05y5nn6z878wm312k0svaprw8k007188fd259dkg1ha8";
+    url = "mirror://openbsd/OpenSSH/portable/${name}.tar.gz";
+    sha256 = "03hnrqvjq6ghg1mp3gkarfxh6g3x1n1vjrzpbc5lh9717vklrxiz";
   };
 
   prePatch = stdenv.lib.optionalString hpnSupport
@@ -31,17 +31,7 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [
-    ./locale_archive.patch
-    (fetchurl {
-      name = "CVE-2014-2653.patch";
-      url = "http://anonscm.debian.org/gitweb/?p=pkg-ssh/openssh.git;a=blobdiff_plain;"
-        + "f=sshconnect.c;h=324f5e0a396a4da9885d121bbbef87f6ccf2b149;"
-        + "hp=87c3770c0fd5c7ff41227c45b4528985eaea54a6;hb=63d5fa28e16d96db6bac2dbe3fcecb65328f8966;"
-        + "hpb=9cbb60f5e4932634db04c330c88abc49cc5567bd";
-      sha256 = "160c434igl2r8q4cavhdlwvnbqizx444sjrhg98f997pyhz524h9";
-    })
-  ];
+  patches = [ ./locale_archive.patch ];
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ]
     ++ stdenv.lib.optional withKerberos [ kerberos ];
@@ -56,6 +46,7 @@ stdenv.mkDerivation rec {
       ${if pam != null then "--with-pam" else "--without-pam"}
       ${optionalString (etcDir != null) "--sysconfdir=${etcDir}"}
       ${optionalString withKerberos "--with-kerberos5=${kerberos}"}
+      ${optionalString stdenv.isDarwin "--disable-libutil"}
     '';
 
   preConfigure =
@@ -64,6 +55,8 @@ stdenv.mkDerivation rec {
       mkdir -p $out/empty
     '';
 
+  enableParallelBuilding = true;
+
   postInstall =
     ''
       # Install ssh-copy-id, it's very useful.
@@ -80,9 +73,9 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "http://www.openssh.org/";
     description = "An implementation of the SSH protocol";
-    license = "bsd"; # multi BSD GPL-2
+    license = stdenv.lib.licenses.bsd2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ eelco ];
-    broken = hpnSupport; # cf. https://github.com/NixOS/nixpkgs/pull/1640
+    broken = hpnSupport; # probably after 6.7 update
   };
 }
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index 591bf26ff0b..9dd16be4154 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, iproute, lzo, openssl, pam, systemd }:
+{ stdenv, fetchurl, iproute, lzo, openssl, pam, systemd, pkgconfig }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "openvpn-2.3.4";
+  name = "openvpn-2.3.6";
 
   src = fetchurl {
     url = "http://swupdate.openvpn.net/community/releases/${name}.tar.gz";
-    sha256 = "0nn8rrh6jadsydnym69r4s7rm6jzsgxb6p23yb9ai3sn91gnsl5g";
+    sha256 = "09jvxr4wcsmk55gqv3cblm60kzs9ripv9h4y50d1lbn177zx5bkv";
   };
 
   patches = optional stdenv.isLinux ./systemd-notify.patch;
 
-  buildInputs = [ iproute lzo openssl pam ] ++ optional stdenv.isLinux systemd;
+  buildInputs = [ iproute lzo openssl pam pkgconfig ] ++ optional stdenv.isLinux systemd;
 
   configureFlags = ''
     --enable-password-save
diff --git a/pkgs/tools/networking/openvpn/update-resolv-conf.nix b/pkgs/tools/networking/openvpn/update-resolv-conf.nix
new file mode 100644
index 00000000000..3afa17b0a82
--- /dev/null
+++ b/pkgs/tools/networking/openvpn/update-resolv-conf.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, makeWrapper, openresolv, coreutils }:
+
+stdenv.mkDerivation rec {
+  name = "update-resolv-conf";
+
+  src = fetchgit {
+    url = https://github.com/masterkorp/openvpn-update-resolv-conf/;
+    rev = "dd968419373bce71b22bbd26de962e89eb470670";
+    sha256 = "dd0e3ea3661253d565bda876eb52a3f8461a3fc8237a81c40809c2071f83add1";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -Dm555 update-resolv-conf.sh $out/libexec/openvpn/update-resolv-conf
+    sed -i 's,^\(RESOLVCONF=\).*,\1resolvconf,' $out/libexec/openvpn/update-resolv-conf
+
+    wrapProgram $out/libexec/openvpn/update-resolv-conf \
+        --prefix PATH : ${coreutils}/bin:${openresolv}/sbin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Script to update your /etc/resolv.conf with DNS settings that come from the received push dhcp-options";
+    homepage = https://github.com/masterkorp/openvpn-update-resolv-conf/;
+    maintainers = maintainers.abbradar;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/oslrd/default.nix b/pkgs/tools/networking/oslrd/default.nix
index 44f32e93474..90f686f77ea 100644
--- a/pkgs/tools/networking/oslrd/default.nix
+++ b/pkgs/tools/networking/oslrd/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An adhoc wireless mesh routing daemon";
-    license = "BSD";
-    homepage = "http://olsr.org/";
+    license = stdenv.lib.licenses.bsd3;
+    homepage = http://olsr.org/;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/networking/p2p/azureus/default.nix b/pkgs/tools/networking/p2p/azureus/default.nix
index ffa360f3de4..246a32f134c 100644
--- a/pkgs/tools/networking/p2p/azureus/default.nix
+++ b/pkgs/tools/networking/p2p/azureus/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   builder = ./builder.sh;
   src = fetchurl {
     url = http://tarballs.nixos.org/Azureus2.3.0.6.jar;
-    md5 = "84f85b144cdc574338c2c84d659ca620";
+    sha256 = "1hwrh3n0b0jbpsdk15zrs7pw175418phhmg6pn4xi1bvilxq1wrd";
   };
 #  buildInputs = [unzip];
   inherit jdk swt;
diff --git a/pkgs/tools/networking/p2p/bittorrent/builder.sh b/pkgs/tools/networking/p2p/bittorrent/builder.sh
deleted file mode 100644
index 3f30aa5c851..00000000000
--- a/pkgs/tools/networking/p2p/bittorrent/builder.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-source $stdenv/setup
-
-
-# Workaround for:
-#  File "...-python-2.4.4/lib/python2.4/posixpath.py", line 62, in join
-#    elif path == '' or path.endswith('/'):
-# AttributeError: 'NoneType' object has no attribute 'endswith'
-export HOME=$TMP
-
-
-buildPhase() {
-    python setup.py build
-}
-
-
-installPhase() {
-    python setup.py install --prefix=$out
-
-    # Create wrappers that set the environment correctly.
-    for i in $(cd $out/bin && ls); do
-        wrapProgram $out/bin/$i \
-            --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH"
-    done
-}
-
-
-genericBuild
diff --git a/pkgs/tools/networking/p2p/bittorrent/default.nix b/pkgs/tools/networking/p2p/bittorrent/default.nix
deleted file mode 100644
index 1d4f43445bf..00000000000
--- a/pkgs/tools/networking/p2p/bittorrent/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ gui ? false
-, stdenv, fetchurl, makeWrapper
-, python, wxPython ? null, pycrypto, twisted
-}:
-
-assert gui -> wxPython != null;
-
-stdenv.mkDerivation {
-  name = "bittorrent-5.2.2";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://download.bittorrent.com/dl/archive/BitTorrent-5.2.2.tar.gz;
-    sha256 = "05k803hbwsyn51j4aibzdsnqxz24kw4rvr60v2c0wji8gcvy3kx9";
-  };
-  
-  buildInputs = [ python pycrypto twisted makeWrapper ]
-    ++ stdenv.lib.optional gui wxPython;
-
-  meta = {
-    description = "The original client for the BitTorrent peer-to-peer file sharing protocol";
-  };
-}
diff --git a/pkgs/tools/networking/p2p/libtorrent/git.nix b/pkgs/tools/networking/p2p/libtorrent/git.nix
new file mode 100644
index 00000000000..9a46740de51
--- /dev/null
+++ b/pkgs/tools/networking/p2p/libtorrent/git.nix
@@ -0,0 +1,28 @@
+{ stdenv, autoconf, automake, cppunit, fetchFromGitHub, pkgconfig, openssl, libsigcxx, libtool, zlib }:
+
+stdenv.mkDerivation {
+  name = "libtorrent-git";
+
+  src = fetchFromGitHub rec {
+    owner = "rakshasa";
+    repo = "libtorrent";
+    rev = "c60d2b9475804e41649356fa0301e9f770798f8d";
+    sha256 = "1x78g5yd4q0ksdsw91awz2a1ax8zyfy5b53gbbil4fpjy96vb577";
+  };
+  
+  buildInputs = [ autoconf automake cppunit pkgconfig openssl libsigcxx libtool zlib ];
+
+  configureFlags = "--disable-dependency-tracking --enable-aligned";
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://libtorrent.rakshasa.no/";
+    description = "A BitTorrent library written in C++ for *nix, with a focus on high performance and good code";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ codyopel ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/p2p/rtorrent/git.nix b/pkgs/tools/networking/p2p/rtorrent/git.nix
new file mode 100644
index 00000000000..6320a75f726
--- /dev/null
+++ b/pkgs/tools/networking/p2p/rtorrent/git.nix
@@ -0,0 +1,63 @@
+{ stdenv, autoconf, automake, cppunit, curl, fetchFromGitHub
+, fetchurl, libsigcxx, libtool, libtorrent-git, ncurses, openssl
+, pkgconfig, zlib, xmlrpc_c
+, colorSupport ? false
+}:
+
+# NOTICE: changes since 0.9.4 break the current configuration syntax, an
+# example configuration file using the latest changes can be found at
+# https://github.com/codyopel/dotfiles/blob/master/dotfiles/rtorrent.rc
+
+stdenv.mkDerivation {
+  name = "rtorrent-git";
+
+  src = fetchFromGitHub {
+    owner = "rakshasa";
+    repo = "rtorrent";
+    rev = "7537a3c2a91d0915f1c4c89b01cd583629dc5fd4";
+    sha256 = "1xnyjjff575jfq9c542yq3rr9q03z5x6xbg84d000wkjphbq7h7q";
+  };
+
+  buildInputs = [
+    autoconf
+    automake
+    cppunit
+    libtorrent-git
+    ncurses
+    pkgconfig
+    libsigcxx
+    libtool
+    curl
+    zlib
+    openssl
+    xmlrpc_c
+  ];
+
+  configureFlags = "--with-xmlrpc-c";
+
+  # Optional patch adds support for custom configurable colors
+  # https://github.com/Chlorm/chlorm_overlay/blob/master/net-p2p/rtorrent/README.md
+
+  patches = stdenv.lib.optional colorSupport (fetchurl {
+    url = "https://gist.githubusercontent.com/codyopel/a816c2993f8013b5f4d6/raw/b952b32da1dcf14c61820dfcf7df00bc8918fec4/rtorrent-color.patch";
+    sha256 = "00gcl7yq6261rrfzpz2k8bd7mffwya0ifji1xqcvhfw50syk8965";
+  });
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  # postInstall = ''
+  #   mkdir -p $out/share/man/man1 $out/share/rtorrent
+  #   mv doc/rtorrent.1 $out/share/man/man1/rtorrent.1
+  #   mv doc/rtorrent.rc $out/share/rtorrent/rtorrent.rc
+  # '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://libtorrent.rakshasa.no/";
+    description = "An ncurses client for libtorrent, ideal for use with screen or dtach";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ codyopel ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
index 8c707e2fcc7..28dce0f567e 100644
--- a/pkgs/tools/networking/p2p/seeks/default.nix
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -1,28 +1,44 @@
-{ fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
-, pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv
+{ fetchgit, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
+, pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv, autoconf, automake
+, libtool, seeks_confDir ? ""
 }:
 
-let version = "0.4.1"; in
 stdenv.mkDerivation {
-  name = "seeks-${version}";
+  name = "seeks-0.4.1";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/seeks/hippy/seeks-${version}.tar.gz";
-    sha256 = "1ppbbjw1zffxxhyvy64xwsff9xlw9wigqb7qwq5iw5mhbblz545q";
+  src = fetchgit {
+    url = "git://github.com/beniz/seeks.git";
+    rev = "1168b3a2f3111c3fca31dd961135194c3e8df5fd";
+    sha256 = "159k9fk1ry8cybrq38jxm1qyxks9hlkfz624hzwxlzah6xb2j8a4";
   };
 
   buildInputs =
     [ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig
-      protobuf tokyocabinet tokyotyrant opencv
+      protobuf tokyocabinet tokyotyrant opencv autoconf automake libtool
     ];
 
   configureFlags =
     [ # Enable the built-in web server providing a web search interface.
-      # See <http://www.seeks-project.info/wiki/index.php/Seeks_On_Web>.
       "--enable-httpserv-plugin=yes"
       "--with-libevent=${libevent}"
     ];
 
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  postInstall = stdenv.lib.optionalString (seeks_confDir != "") ''
+    ln -svf ${seeks_confDir}/config $out/etc/seeks/config
+    ln -svf ${seeks_confDir}/cf-config $out/etc/seeks/cf-config
+    ln -svf ${seeks_confDir}/httpserv-config $out/etc/seeks/httpserv-config
+    ln -svf ${seeks_confDir}/img-websearch-config $out/etc/seeks/img-websearch-config
+    ln -svf ${seeks_confDir}/lsh-config $out/etc/seeks/lsh-config
+    ln -svf ${seeks_confDir}/query-capture-config $out/etc/seeks/query-capture-config
+    ln -svf ${seeks_confDir}/udb-service-config $out/etc/seeks/udb-service-config
+    ln -svf ${seeks_confDir}/uri-capture-config $out/etc/seeks/uri-capture-config
+    ln -svf ${seeks_confDir}/websearch-config $out/etc/seeks/websearch-config
+  '';
+
   # FIXME: Test suite needs <https://code.google.com/p/googletest/>.
   doCheck = false;
 
@@ -44,8 +60,9 @@ stdenv.mkDerivation {
 
     homepage = http://www.seeks-project.info/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [
+      stdenv.lib.maintainers.matejc
+    ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 76a4a0eae62..e82b7b8050e 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -66,9 +66,7 @@ buildPythonPackage {
     '';
 
     homepage = http://allmydata.org/;
-
-    # TODO license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ];
-
+    license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ];
     maintainers = [ lib.maintainers.simons  ];
     platforms = lib.platforms.gnu;  # arbitrary choice
   };
diff --git a/pkgs/tools/networking/par2cmdline/default.nix b/pkgs/tools/networking/par2cmdline/default.nix
index c94ab37f1ea..68f1f763297 100644
--- a/pkgs/tools/networking/par2cmdline/default.nix
+++ b/pkgs/tools/networking/par2cmdline/default.nix
@@ -1,22 +1,28 @@
-{stdenv, fetchurl}:
+{stdenv, fetchzip, autoconf, automake}:
 
-stdenv.mkDerivation {
-  name = "par2cmdline-0.4";
-  
-  src = fetchurl {
-    url = mirror://sourceforge/parchive/par2cmdline-0.4.tar.gz;
-    md5 = "1551b63e57e3c232254dc62073b723a9";
+stdenv.mkDerivation rec {
+  name    = "par2cmdline-${version}";
+  version = "0.6.11";
+
+  src = fetchzip {
+    url = "https://github.com/BlackIkeEagle/par2cmdline/archive/v${version}.tar.gz";
+    sha256 = "0maywssv468ia7rf8jyq4axwahgli3nfykl7x3zip503psywjj8a";
   };
 
-  patches = [
-    (fetchurl {
-      url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/app-arch/par2cmdline/files/par2cmdline-0.4-gcc4.patch?rev=1.1.1.1";
-      sha256 = "1xrkr13qw5vqi2qbr2p43nqbq83nywk4bgvq7nfvrca4z60s787d";
-    })
-  ];
+  buildInputs = [ autoconf automake ];
+
+  preConfigure = "autoreconf";
 
   meta = {
-    homepage = http://parchive.sourceforge.net/;
-    description = "A command-line tool for repairing downloaded files using PARs (parity archives)";
+    homepage = https://github.com/BlackIkeEagle/par2cmdline;
+    description = "PAR 2.0 compatible file verification and repair tool";
+    longDescription = ''
+      par2cmdline is a program for creating and using PAR2 files to detect
+      damage in data files and repair them if necessary. It can be used with
+      any kind of file.
+    '';
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.muflax ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/plasma-nm/default.nix b/pkgs/tools/networking/plasma-nm/default.nix
index 42c5ab3973a..5d07e6c26ec 100644
--- a/pkgs/tools/networking/plasma-nm/default.nix
+++ b/pkgs/tools/networking/plasma-nm/default.nix
@@ -2,15 +2,15 @@
 
 let
   pname = "plasma-nm";
-  version = "0.9.3.3";
+  version = "0.9.3.4";
   name = "${pname}-${version}";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = "mirror://kde/unstable/${pname}/${name}.tar.xz";
-    sha256 = "099cbe86eb989c4fda8cdcc0f8721dc3350cc6735c3f50bcdd94661e5930e326";
+    url = "mirror://kde/stable/${pname}/${name}.tar.xz";
+    sha256 = "0xj14isvjq8ll70b6q66n8adm8ff4j9ng195ndk2gmavjf6bb751";
   };
 
   buildInputs = [
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
     description = "Plasma applet written in QML for managing network connections";
     license = licenses.lgpl21;
     inherit (kdelibs.meta) platforms;
-    maintainers = [ maintainers.jgeerds ];
+    maintainers = with maintainers; [ jgeerds ];
   };
 }
diff --git a/pkgs/tools/networking/polygraph/default.nix b/pkgs/tools/networking/polygraph/default.nix
new file mode 100644
index 00000000000..09357e87da0
--- /dev/null
+++ b/pkgs/tools/networking/polygraph/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, openssl, zlib, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "polygraph-4.3.2";
+
+  src = fetchurl {
+    url = "http://www.web-polygraph.org/downloads/srcs/${name}-src.tgz";
+    sha256 = "1fv9jpcicfsgsmghkykqif6l6w7nwvk5xbdmpv72jbrwzx44845h";
+  };
+
+  buildInputs = [ openssl zlib ncurses ];
+  
+  patches = [ ./fix_build.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.web-polygraph.org;
+    description = "Performance testing tool for caching proxies, origin server accelerators, L4/7 switches, content filters, and other Web intermediaries";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/polygraph/fix_build.patch b/pkgs/tools/networking/polygraph/fix_build.patch
new file mode 100644
index 00000000000..96832d72037
--- /dev/null
+++ b/pkgs/tools/networking/polygraph/fix_build.patch
@@ -0,0 +1,77 @@
+Description: Fix ftbfs with GCC-4.7.
+Author: Mònica Ramírez Arceda <monica@debian.org>
+Bug-Debian: http://bugs.debian.org/667326
+Last-Update: 2012-05-11
+
+--- a/src/xstd/Heap.h
++++ b/src/xstd/Heap.h
+@@ -23,7 +23,7 @@
+ 		const Item &top() const { return this->theItems[1]; }
+ 		Item &at(int idx) { return this->theItems[idx+1]; }
+ 
+-		void add(Item v) { append(v); floatUp(++theCnt); }
++		void add(Item v) { this->append(v); floatUp(++theCnt); }
+ 		void skip() { this->theItems[1] = this->theItems[theCnt--]; this->theCount--; sinkDown(1); }
+ 		Item shift() { const Item v = this->theItems[1]; skip(); return v; }
+ 
+--- a/src/xstd/Ring.h
++++ b/src/xstd/Ring.h
+@@ -22,11 +22,11 @@
+ 		int size() const { return Array<Item>::size(); }
+ 		bool empty() const { return this->theInOff <= this->theOutOff; }
+ 		bool full() const { return count() >= this->theCapacity; }
+-		const Item &top(int off = 0) const { return item((this->theOutOff+off) % this->theCapacity); }
++		const Item &top(int off = 0) const { return this->item((this->theOutOff+off) % this->theCapacity); }
+ 
+-		Item &top(int off = 0) { return item((this->theOutOff+off) % this->theCapacity); }
+-		void enqueue(Item i) { Assert(!full()); item(this->theInOff++ % this->theCapacity) = i; check(); }
+-		Item dequeue() { return item(this->theOutOff++ % this->theCapacity); }
++		Item &top(int off = 0) { return this->item((this->theOutOff+off) % this->theCapacity); }
++		void enqueue(Item i) { Assert(!full()); this->item(this->theInOff++ % this->theCapacity) = i; check(); }
++		Item dequeue() { return this->item(this->theOutOff++ % this->theCapacity); }
+ 
+ 		void reset() { this->theInOff = this->theOutOff = 0; }
+ 		inline void resize(int aCap);
+--- a/src/runtime/StatPhase.cc
++++ b/src/runtime/StatPhase.cc
+@@ -413,12 +413,12 @@
+ 						break;
+ 				}
+ 		} else {
+-			static CompoundXactInfo &compound = *CompoundXactInfo::Create();
+-			compound.exchanges = 1;
+-			compound.reqSize = reqSize;
+-			compound.repSize = repSize;
+-			compound.lifeTime = repTime;
+-			compound.record(rec.theIsolated);
++			static CompoundXactInfo &compound2 = *CompoundXactInfo::Create();
++			compound2.exchanges = 1;
++			compound2.reqSize = reqSize;
++			compound2.repSize = repSize;
++			compound2.lifeTime = repTime;
++			compound2.record(rec.theIsolated);
+ 		}
+ 
+ 		if (x->cookiesSent() > 0)
+--- a/src/cache/CacheEntryHash.cc
++++ b/src/cache/CacheEntryHash.cc
+@@ -14,7 +14,7 @@
+ 
+ CacheEntryHash::CacheEntryHash(int aCapacity): theCount(0) {
+ 	theCapacity = (aCapacity + aCapacity/3 + 7) | 1;
+-	theIndex = new (CacheEntry*[theCapacity]);
++	theIndex = new (CacheEntry*[this->theCapacity]);
+ 	memset(theIndex, 0, sizeof(CacheEntry*)*theCapacity);
+ }
+ 
+--- a/src/tools/IntIntHash.cc
++++ b/src/tools/IntIntHash.cc
+@@ -13,7 +13,7 @@
+ 
+ IntIntHash::IntIntHash(int aCapacity): theHashCap(0) {
+ 	theHashCap = (aCapacity + aCapacity/3 + 7) | 1;
+-	theIndex = new (IntIntHashItem*[theHashCap]);
++	theIndex = new (IntIntHashItem*[this->theHashCap]);
+ 	memset(theIndex, 0, sizeof(IntIntHashItem*)*theHashCap);
+ }
+ 
\ No newline at end of file
diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix
index 8f1cf29e519..7d3ced17b40 100644
--- a/pkgs/tools/networking/ppp/default.nix
+++ b/pkgs/tools/networking/ppp/default.nix
@@ -1,38 +1,31 @@
 { stdenv, fetchurl, substituteAll, libpcap }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.5";
+  version = "2.4.7";
   name = "ppp-${version}";
 
   src = fetchurl {
-    url = "${meta.homepage}ftp/ppp/${name}.tar.gz";
-    sha256 = "019m00q85nrgdpjlhb9021a3iw3pr4a0913gp4h9k7r9r7z7lca3";
+    url = "mirror://samba/ppp/${name}.tar.gz";
+    sha256 = "0c7vrjxl52pdwi4ckrvfjr08b31lfpgwf3pp0cqy76a77vfs7q02";
   };
 
   patches =
     [ ( substituteAll {
         src = ./nix-purity.patch;
         inherit libpcap;
-        glibc = stdenv.gcc.libc.dev;
+        glibc = stdenv.cc.libc.dev;
       })
+      # Without nonpriv.patch, pppd --version doesn't work when not run as
+      # root.
       ./nonpriv.patch
     ];
 
-  postPatch = ''
-    # enable ipv6
-    substituteInPlace pppd/Makefile.linux \
-      --replace "#HAVE_INET6=y" "HAVE_INET6=y"
-    rm -v include/linux/if_pppol2tp.h
-  '';
-
   buildInputs = [ libpcap ];
 
-  postInstall = "chmod -v -R +rw $out";
-
   meta = {
-    homepage = http://ppp.samba.org/;
+    homepage = https://ppp.samba.org/;
     description = "Point-to-point implementation for Linux and Solaris";
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
+    maintainers = [ stdenv.lib.maintainers.falsifian ];
   };
 }
diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix
index c6a57c238a4..2d213690729 100644
--- a/pkgs/tools/networking/privoxy/default.nix
+++ b/pkgs/tools/networking/privoxy/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, zlib, pcre, w3m, man }:
 
 stdenv.mkDerivation {
-  name = "privoxy-3.0.21";
+  name = "privoxy-3.0.22";
 
   src = fetchurl {
-    url = mirror://sourceforge/ijbswa/Sources/3.0.21%20%28stable%29/privoxy-3.0.21-stable-src.tar.gz;
-    sha256 = "1f6xb7aa47p90c26vqaw74y6drs9gpnhxsgby3mx0awdjh0ydisy";
+    url = mirror://sourceforge/ijbswa/Sources/3.0.22%20%28stable%29/privoxy-3.0.22-stable-src.tar.gz;
+    sha256 = "0hfcxyb0i7dr6jfxw0y4kqcr09p8gjvcs7igyizyl5in3zn4y88s";
   };
 
   buildInputs = [ autoreconfHook zlib pcre w3m man ];
diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix
index e74106ec67f..110fec50a6b 100644
--- a/pkgs/tools/networking/radvd/default.nix
+++ b/pkgs/tools/networking/radvd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libdaemon, bison, flex, check }:
 
 stdenv.mkDerivation rec {
-  name = "radvd-2.5";
+  name = "radvd-2.10";
   
   src = fetchurl {
     url = "http://www.litech.org/radvd/dist/${name}.tar.xz";
-    sha256 = "0hsa647l236q9rhrwjb44xqmjfz4fxzcixlbf2chk4lzh8lzwjp0";
+    sha256 = "0wwpzdkk6lpsai11iwsrwiblmf9x19rds0wdqcnf82hj0j1yxkkn";
   };
 
   buildInputs = [ pkgconfig libdaemon bison flex check ];
diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix
index 83a8b4cafef..2287671aef2 100644
--- a/pkgs/tools/networking/s3cmd/default.nix
+++ b/pkgs/tools/networking/s3cmd/default.nix
@@ -1,23 +1,20 @@
 { stdenv, fetchurl, pythonPackages }:
 
-stdenv.mkDerivation rec {
-  name = "s3cmd-1.0.1";
+pythonPackages.buildPythonPackage rec {
+  name = "s3cmd-1.5.2";
   
   src = fetchurl {
     url = "mirror://sourceforge/s3tools/${name}.tar.gz";
-    sha256 = "1kmxhilwix5plv3qb49as6jknll3pq5abw948h28jisskkm2cs6p";
+    sha256 = "0bdl2wvh4nri4n6hpaa8s9lk98xy4a1b0l9ym54fvmxxx1j6g2pz";
   };
 
-  buildInputs = [ pythonPackages.python pythonPackages.wrapPython ];
+  propagatedBuildInputs = with pythonPackages; [ python_magic dateutil ];
 
-  installPhase =
-    ''
-      python setup.py install --prefix=$out
-      wrapPythonPrograms
-    '';
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://s3tools.org/;
     description = "A command-line tool to manipulate Amazon S3 buckets";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.spwhitt ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/s3cmd/git.nix b/pkgs/tools/networking/s3cmd/git.nix
deleted file mode 100644
index 6193137c8d4..00000000000
--- a/pkgs/tools/networking/s3cmd/git.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchgit, pythonPackages }:
-
-pythonPackages.buildPythonPackage rec {
-  name = "s3cmd-1.5-pre-81e3842f7a";
-
-  src  = fetchgit {
-    url    = "https://github.com/s3tools/s3cmd.git";
-    rev    = "81e3842f7afbc8c629f408f4d7dc22058f7bd536";
-    sha256 = "13jqw19ws5my8r856j1p7xydwpyp8agnzxkjv6pa7h72wl7rz90i";
-  };
-
-  propagatedBuildInputs = with pythonPackages; [ dateutil ];
-
-  meta = with stdenv.lib;  {
-    description = "Command line tool for managing Amazon S3 and CloudFront services";
-    homepage    = http://s3tools.org/s3cmd;
-    license     = licenses.gpl2;
-  };
-}
diff --git a/pkgs/tools/networking/s3sync/default.nix b/pkgs/tools/networking/s3sync/default.nix
index 8390c70a4d3..1ab3e062ca0 100644
--- a/pkgs/tools/networking/s3sync/default.nix
+++ b/pkgs/tools/networking/s3sync/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "s3sync-1.2.6";
-  
+
   src = fetchurl {
     url = http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz; # !!!
     sha256 = "19467mgym0da0hifhkcbivccdima7gkaw3k8q760ilfbwgwxcn7f";
@@ -24,6 +24,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://s3sync.net/;
     description = "Command-line tools to manipulate Amazon S3 buckets";
-    license = "free-non-copyleft"; # some custom as-is in file headers
+    license = stdenv.lib.licenses.free; # some custom as-is in file headers
   };
 }
diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix
new file mode 100644
index 00000000000..89c7642d0a5
--- /dev/null
+++ b/pkgs/tools/networking/s6-dns/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchgit, skalibs }:
+
+let
+
+  version = "2.0.0.2";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-dns-${version}";
+
+  src = fetchgit {
+    url = "git://git.skarnet.org/s6-dns";
+    rev = "refs/tags/v${version}";
+    sha256 = "0rsw19r9hwxb0xj9xs1rwb7fa21wwbsnfq3p2nfg4lf6cc64b39r";
+  };
+
+  dontDisableStatic = true;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--includedir=\${prefix}/include"
+    "--libdir=\${prefix}/lib"
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-dynlib=${skalibs}/lib"
+  ] ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ]);
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-dns/;
+    description = "A suite of DNS client programs and libraries for Unix systems";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix
new file mode 100644
index 00000000000..d2c7ebd0345
--- /dev/null
+++ b/pkgs/tools/networking/s6-networking/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, execline, fetchgit, s6, s6Dns, skalibs }:
+
+let
+
+  version = "2.1.0.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-networking-${version}";
+
+  src = fetchgit {
+    url = "git://git.skarnet.org/s6-networking";
+    rev = "refs/tags/v${version}";
+    sha256 = "057xwh1dpwg2dz47s0badqhi66nhxgs5ps0xwn7s6hvba0lwyy4c";
+  };
+
+  dontDisableStatic = true;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-include=${execline}/include"
+    "--with-include=${s6}/include"
+    "--with-include=${s6Dns}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-lib=${execline}/lib"
+    "--with-lib=${s6}/lib/s6"
+    "--with-lib=${s6Dns}/lib"
+    "--with-dynlib=${skalibs}/lib"
+    "--with-dynlib=${execline}/lib"
+    "--with-dynlib=${s6}/lib"
+    "--with-dynlib=${s6Dns}/lib"
+  ];
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6-networking/;
+    description = "A suite of small networking utilities for Unix systems";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/networking/siege/default.nix b/pkgs/tools/networking/siege/default.nix
index c88557262b2..48e2fc5ef78 100644
--- a/pkgs/tools/networking/siege/default.nix
+++ b/pkgs/tools/networking/siege/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "siege-3.0.6";
+  name = "siege-3.0.8";
 
   src = fetchurl {
-    url = "http://www.joedog.org/pub/siege/${name}.tar.gz";
-    sha256 = "0nwcj2s804z7yd20pa0cl010m0qgf22a02305i9jwxynwdj9kdvq";
+    url = "http://download.joedog.org/siege/${name}.tar.gz";
+    sha256 = "15xj0cl64mzf89i0jknqg37rkrcaqmgs4755l74b4nmp4bky7ddq";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/tools/networking/slimrat/default.nix b/pkgs/tools/networking/slimrat/default.nix
index 9006fadfcdb..f73a1bc5bcc 100644
--- a/pkgs/tools/networking/slimrat/default.nix
+++ b/pkgs/tools/networking/slimrat/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://code.google.com/p/slimrat/;
     description = "Linux Rapidshare downloader";
-    license = "BSD";
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/networking/snx/default.nix b/pkgs/tools/networking/snx/default.nix
deleted file mode 100644
index b4cdd0d0b99..00000000000
--- a/pkgs/tools/networking/snx/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, libX11, pam, gcc33 }:
-
-let
-  # The proper value for this offset can be found at the top of the snx_install script.
-  archiveOffset = "78";
-  libraryPath = stdenv.lib.makeSearchPath "lib" [libX11 pam gcc33.gcc];
-in
-stdenv.mkDerivation rec {
-  name = "snx-800007027";
-
-  src = fetchurl {
-    url = "https://remote.us.publicisgroupe.net/CSHELL/snx_install.sh";
-    sha256 = "1yq0r8gb6jw5pyfrw3wxvplrxxfhbhgm9ph4gyd754fyn52iwgxv";
-  };
-
-  buildInputs = [makeWrapper];
-
-  unpackPhase = ''
-    tail -n +${archiveOffset} ${src} | bunzip2 -c - | tar xfvp -
-  '';
-
-  buildPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" snx
-  '';
-
-  installPhase = ''
-    mkdir -p "$out/sbin" "$out/libexec"
-    mv snx "$out/libexec/"
-    makeWrapper "$out/libexec/snx" "$out/sbin/snx" --prefix LD_LIBRARY_PATH ":" "${libraryPath}"
-  '';
-
-  meta = {
-    homepage = "https://www.checkpoint.com/";
-    description = "Check Point SSL Network Extender";
-    license = "unknown";
-  };
-}
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
index fbd24946381..9f9e8dbe374 100644
--- a/pkgs/tools/networking/socat/2.x.nix
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     repositories.git = git://repo.or.cz/socat.git;
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 84ba2106a26..65d3b01e89c 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -1,21 +1,23 @@
 { stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "socat-1.7.2.4";
+  name = "socat-1.7.3.0";
 
   src = fetchurl {
     url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
-    sha256 = "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb";
+    sha256 = "011ydc0x8camplf8l6mshs3v5fswarld8v0wf7grz6rjq18fhrq7";
   };
 
   buildInputs = [ openssl ];
 
+  patches = [ ./enable-ecdhe.patch ];
+
   meta = {
     description = "A utility for bidirectional data transfer between two independent data channels";
     homepage = http://www.dest-unreach.org/socat/;
     repositories.git = git://repo.or.cz/socat.git;
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.eelco;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/socat/enable-ecdhe.patch b/pkgs/tools/networking/socat/enable-ecdhe.patch
new file mode 100644
index 00000000000..ad63ec287bc
--- /dev/null
+++ b/pkgs/tools/networking/socat/enable-ecdhe.patch
@@ -0,0 +1,19 @@
+--- socat-1.7.3.0/xio-openssl.c	2015-01-24 15:33:42.000000000 +0100
++++ socat-1.7.3.0-ecdhe/xio-openssl.c	2015-01-25 13:38:54.353641097 +0100
+@@ -960,7 +960,6 @@
+       }
+    }
+
+-#if defined(EC_KEY)	/* not on Openindiana 5.11 */
+    {
+       /* see http://openssl.6102.n7.nabble.com/Problem-with-cipher-suite-ECDHE-ECDSA-AES256-SHA384-td42229.html */
+       int	 nid;
+@@ -982,7 +981,6 @@
+
+       SSL_CTX_set_tmp_ecdh(*ctx, ecdh);
+    }
+-#endif /* !defined(EC_KEY) */
+
+ #if OPENSSL_VERSION_NUMBER >= 0x00908000L
+    if (opt_compress) {
+
diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix
index f655639ceaf..4e1391dfeb9 100644
--- a/pkgs/tools/networking/speedtest-cli/default.nix
+++ b/pkgs/tools/networking/speedtest-cli/default.nix
@@ -3,6 +3,7 @@
 pythonPackages.buildPythonPackage rec {
   name = "speedtest-cli-${version}";
   version = "0.3.1";
+  namePrefix = "";
   
   src = fetchurl {
     url = "https://pypi.python.org/packages/source/s/speedtest-cli/speedtest-cli-${version}.tar.gz";
diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix
index f854b92b87e..2fec2ac1bd5 100644
--- a/pkgs/tools/networking/spiped/default.nix
+++ b/pkgs/tools/networking/spiped/default.nix
@@ -2,18 +2,28 @@
 
 stdenv.mkDerivation rec {
   name    = "spiped-${version}";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url    = "http://www.tarsnap.com/spiped/${name}.tgz";
-    sha256 = "0pyg1llnqgfx7n7mi3dq4ra9xg3vkxlf01z5jzn7ncq5d6ii7ynq";
+    sha256 = "1mxcbxifr3bnj6ga8lz88y4bhff016i6kjdzwbb3gzb2zcs4pxxj";
   };
 
   buildInputs = [ openssl ];
-  patches = [ ./no-dev-stderr.patch ];
 
-  postPatch = ''
-    substituteInPlace POSIX/posix-l.sh --replace "rm" "${coreutils}/bin/rm"
+  patchPhase = ''
+    substituteInPlace libcperciva/cpusupport/Build/cpusupport.sh \
+      --replace "2>/dev/null" "2>stderr.log"
+
+    substituteInPlace POSIX/posix-l.sh       \
+      --replace "rm" "${coreutils}/bin/rm"   \
+      --replace ">/dev/stderr" ">stderr.log" \
+      --replace "2>/dev/null" "2>stderr.log"
+
+    substituteInPlace POSIX/posix-cflags.sh  \
+      --replace "rm" "${coreutils}/bin/rm"   \
+      --replace ">/dev/stderr" ">stderr.log" \
+      --replace "2>/dev/null" "2>stderr.log"
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/networking/spiped/no-dev-stderr.patch b/pkgs/tools/networking/spiped/no-dev-stderr.patch
deleted file mode 100644
index 742a2e483d4..00000000000
--- a/pkgs/tools/networking/spiped/no-dev-stderr.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7a2bbb0d0098d7a33ad3794d0199879ad50e755a Mon Sep 17 00:00:00 2001
-From: Austin Seipp <aseipp@pobox.com>
-Date: Tue, 8 Apr 2014 06:21:41 -0500
-Subject: [PATCH] Remove use of /dev/stderr
-
-Signed-off-by: Austin Seipp <aseipp@pobox.com>
----
- POSIX/posix-l.sh | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/POSIX/posix-l.sh b/POSIX/posix-l.sh
-index b3f0e31..71d6fe8 100755
---- a/POSIX/posix-l.sh
-+++ b/POSIX/posix-l.sh
-@@ -7,8 +7,6 @@ for LIB in rt xnet; do
- 		fi
- 		printf "%s" "-l${LIB}";
- 		FIRST=NO;
--	else
--		echo "WARNING: POSIX violation: make's CC doesn't understand -l${LIB}" >/dev/stderr
- 	fi
- 	rm -f a.out
- done
--- 
-1.8.3.2
-
diff --git a/pkgs/tools/networking/sproxy-web/default.nix b/pkgs/tools/networking/sproxy-web/default.nix
index fa3221a7759..67daab08359 100644
--- a/pkgs/tools/networking/sproxy-web/default.nix
+++ b/pkgs/tools/networking/sproxy-web/default.nix
@@ -22,5 +22,6 @@ cabal.mkDerivation (self: {
     description = "Web interface to sproxy";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/tools/networking/sproxy/default.nix b/pkgs/tools/networking/sproxy/default.nix
index 10ec9b40cd4..5ecd7d06e26 100644
--- a/pkgs/tools/networking/sproxy/default.nix
+++ b/pkgs/tools/networking/sproxy/default.nix
@@ -35,5 +35,6 @@ cabal.mkDerivation (self: {
   meta = {
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    broken = true;
   };
 })
diff --git a/pkgs/tools/networking/sshpass/default.nix b/pkgs/tools/networking/sshpass/default.nix
new file mode 100644
index 00000000000..3a8e106155f
--- /dev/null
+++ b/pkgs/tools/networking/sshpass/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "sshpass-${version}";
+  version = "1.05";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/sshpass/sshpass-${version}.tar.gz";
+    sha256 = "0gj8r05h1hy01vh4csygyw21z2hcxb72qcxkxxi3y34alr98gxy3";
+  };
+  
+  meta = {
+    homepage = http://sourceforge.net/projects/sshpass/;
+    description = "Non-interactive ssh password auth";
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/sstp/default.nix b/pkgs/tools/networking/sstp/default.nix
new file mode 100644
index 00000000000..52ca9ad494f
--- /dev/null
+++ b/pkgs/tools/networking/sstp/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, ppp, libevent, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "sstp-client-${version}";
+  version = "1.0.9";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sstp-client/sstp-client/${version}/sstp-client-${version}.tar.gz";
+    sha256 = "0kpwywbavmlgid07rk8ff0bxp75bnfa1nc28w4j0pkxjhmja5n6k";
+  };
+
+  patchPhase =
+    ''
+      sed 's,/usr/sbin/pppd,${ppp}/sbin/pppd,' -i src/sstp-pppd.c
+      sed "s,sstp-pppd-plugin.so,$out/lib/pppd/sstp-pppd-plugin.so," -i src/sstp-pppd.c
+    '';
+
+  configureFlags = [
+    "--with-openssl=${openssl}"
+    "--with-runtime-dir=/run/sstpc"
+    "--with-pppd-plugin-dir=$(out)/lib/pppd"
+  ];
+
+  buildInputs = [ libevent openssl ppp ];
+
+  meta = {
+    description = "SSTP client for Linux";
+    homepage = http://sstp-client.sourceforge.net/;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.ktosiek ];
+  };
+}
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
new file mode 100644
index 00000000000..871cd3e8f47
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, gmp, pkgconfig, python, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "strongswan-5.2.1";
+
+  src = fetchurl {
+    url = "http://download.strongswan.org/${name}.tar.bz2";
+    sha256 = "05cjjd7gg65bl6fswj2r2i13nn1nk4x86s06y75gwfdvnlrsnlga";
+  };
+
+  dontPatchELF = true;
+
+  buildInputs = [ gmp pkgconfig python autoreconfHook ];
+
+  patches = [
+    ./ext_auth-path.patch
+    ./firewall_defaults.patch
+    ./updown-path.patch
+  ];
+
+  configureFlags = [ "--enable-swanctl" "--enable-cmd" ];
+
+  NIX_LDFLAGS = "-lgcc_s" ;
+
+  meta = {
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    description = "OpenSource IPsec-based VPN Solution";
+    homepage = https://www.strongswan.org;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/strongswan/ext_auth-path.patch b/pkgs/tools/networking/strongswan/ext_auth-path.patch
new file mode 100644
index 00000000000..397537ad8d8
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/ext_auth-path.patch
@@ -0,0 +1,13 @@
+Index: strongswan-5.2.1/src/libcharon/plugins/ext_auth/ext_auth_listener.c
+===================================================================
+--- strongswan-5.2.1.orig/src/libcharon/plugins/ext_auth/ext_auth_listener.c
++++ strongswan-5.2.1/src/libcharon/plugins/ext_auth/ext_auth_listener.c
+@@ -101,6 +101,8 @@ METHOD(listener_t, authorize, bool,
+ 
+ 		*success = FALSE;
+ 
++		push_env(envp, countof(envp), "PATH=%s", getenv("PATH"));
++
+ 		push_env(envp, countof(envp), "IKE_UNIQUE_ID=%u",
+ 				 ike_sa->get_unique_id(ike_sa));
+ 		push_env(envp, countof(envp), "IKE_NAME=%s",
diff --git a/pkgs/tools/networking/strongswan/firewall_defaults.patch b/pkgs/tools/networking/strongswan/firewall_defaults.patch
new file mode 100644
index 00000000000..12c446c8c9a
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/firewall_defaults.patch
@@ -0,0 +1,32 @@
+Index: strongswan-5.2.1/src/starter/confread.c
+===================================================================
+--- strongswan-5.2.1.orig/src/starter/confread.c
++++ strongswan-5.2.1/src/starter/confread.c
+@@ -43,7 +43,7 @@
+ static const char ike_defaults[] = "aes128-sha1-modp2048,3des-sha1-modp1536";
+ static const char esp_defaults[] = "aes128-sha1,3des-sha1";
+ 
+-static const char firewall_defaults[] = IPSEC_SCRIPT " _updown iptables";
++static const char firewall_defaults[] = IPSEC_SBINDIR "/" IPSEC_SCRIPT " _updown iptables";
+ 
+ /**
+  * Provided by GPERF
+Index: strongswan-5.2.1/src/starter/Makefile.am
+===================================================================
+--- strongswan-5.2.1.orig/src/starter/Makefile.am
++++ strongswan-5.2.1/src/starter/Makefile.am
+@@ -18,10 +18,12 @@ AM_CPPFLAGS = \
+ 	-I$(top_srcdir)/src/libhydra \
+ 	-I$(top_srcdir)/src/starter \
+ 	-I$(top_srcdir)/src/stroke \
+-	-DIPSEC_DIR=\"${ipsecdir}\" \
++	-DIPSEC_BINDIR=\"${bindir}\" \
+ 	-DIPSEC_CONFDIR=\"${sysconfdir}\" \
+-	-DIPSEC_PIDDIR=\"${piddir}\" \
++	-DIPSEC_DIR=\"${ipsecdir}\" \
+ 	-DIPSEC_EAPDIR=\"${eapdir}\" \
++	-DIPSEC_PIDDIR=\"${piddir}\" \
++	-DIPSEC_SBINDIR=\"${sbindir}\" \
+ 	-DIPSEC_SCRIPT=\"${ipsec_script}\" \
+ 	-DDEV_RANDOM=\"${random_device}\" \
+ 	-DDEV_URANDOM=\"${urandom_device}\" \
diff --git a/pkgs/tools/networking/strongswan/updown-path.patch b/pkgs/tools/networking/strongswan/updown-path.patch
new file mode 100644
index 00000000000..f01da7d7bce
--- /dev/null
+++ b/pkgs/tools/networking/strongswan/updown-path.patch
@@ -0,0 +1,26 @@
+Index: strongswan-5.2.1/src/_updown/_updown.in
+===================================================================
+--- strongswan-5.2.1.orig/src/_updown/_updown.in
++++ strongswan-5.2.1/src/_updown/_updown.in
+@@ -125,7 +125,7 @@
+ #
+ 
+ # define a minimum PATH environment in case it is not set
+-PATH="/sbin:/bin:/usr/sbin:/usr/bin:@sbindir@"
++PATH="${PATH:-/sbin:/bin:/usr/sbin:/usr/bin}"
+ export PATH
+ 
+ # uncomment to log VPN connections
+Index: strongswan-5.2.1/src/libcharon/plugins/updown/updown_listener.c
+===================================================================
+--- strongswan-5.2.1.orig/src/libcharon/plugins/updown/updown_listener.c
++++ strongswan-5.2.1/src/libcharon/plugins/updown/updown_listener.c
+@@ -240,6 +240,8 @@ static void invoke_once(private_updown_l
+ 	process_t *process;
+ 	char *envp[128] = {};
+ 
++	push_env(envp, countof(envp), "PATH=%s", getenv("PATH"));
++
+ 	me = ike_sa->get_my_host(ike_sa);
+ 	other = ike_sa->get_other_host(ike_sa);
+ 
diff --git a/pkgs/tools/networking/stun/default.nix b/pkgs/tools/networking/stun/default.nix
index 795c0cfc8cc..ce7a4dd6434 100644
--- a/pkgs/tools/networking/stun/default.nix
+++ b/pkgs/tools/networking/stun/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Stun server and test client";
     homepage = http://sourceforge.net/projects/stun/;
-    license = "Vovida 1.0"; # See any header file.
+    license = stdenv.lib.licenses.vsl10;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix
index 15bd74ea387..74788e6ff2a 100644
--- a/pkgs/tools/networking/stunnel/default.nix
+++ b/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "stunnel-${version}";
-  version = "5.03";
+  version = "5.14";
 
   src = fetchurl {
     url    = "http://www.stunnel.org/downloads/${name}.tar.gz";
-    sha256 = "00yx7r46rad3yhdqfwk4grqs87wc6fiq055i91pnwxgscsa3c7ls";
+    sha256 = "0nk9cjrgpa54sphykizqx4kayrq71z1zmwdsr1lvlbmq3pyb95r1";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
new file mode 100644
index 00000000000..0743a5c62f7
--- /dev/null
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, perl, perlPackages, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "swaks-${version}";
+  version = "20130209.0";
+
+  src = fetchurl {
+    url = "http://www.jetmore.org/john/code/swaks/files/${name}.tar.gz";
+    sha256 = "0z0zsjminrdjpn6a8prjdwilnr27piibh78gc5ppg0nadljnf28b";
+  };
+
+  buildInputs = [ perl makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv swaks $out/bin/
+
+    wrapProgram $out/bin/swaks --set PERL5LIB \
+      "${with perlPackages; stdenv.lib.makePerlPath [
+        NetSSLeay AuthenSASL NetDNS IOSocketInet6
+      ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.jetmore.org/john/code/swaks/";
+    description = ''
+      A featureful, flexible, scriptable, transaction-oriented SMTP test tool
+    '';
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ rickynils ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index ed295e95a38..231d7e293b8 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpcap, enableStatic ? false }:
 
 stdenv.mkDerivation rec {
-  name = "tcpdump-4.5.1";
+  name = "tcpdump-4.7.3";
 
   src = fetchurl {
     url = "http://www.tcpdump.org/release/${name}.tar.gz";
-    sha256 = "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql";
+    sha256 = "1kla3l7lja8cfwimp512x7z176x2dsy03ih6g8gd95p95ijzp1qz";
   };
 
   buildInputs = [ libpcap ];
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
     description = "Network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix
index f1f8801358c..eddd3bc31c4 100644
--- a/pkgs/tools/networking/tinc/default.nix
+++ b/pkgs/tools/networking/tinc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, lzo, openssl, zlib}:
 
 stdenv.mkDerivation rec {
-  version = "1.0.24";
+  version = "1.0.25";
   name = "tinc-${version}";
 
   src = fetchurl {
     url = "http://www.tinc-vpn.org/packages/tinc-${version}.tar.gz";
-    sha256 = "11xnz6lz917hq0zb544dvbxl0smlyjx65kv3181j4fcyygwmi3j9";
+    sha256 = "0cziyiwsfcvk12dahqwi5wh0q326yhayy8ijnrjp7mwlwmacbhf5";
   };
 
   buildInputs = [ lzo openssl zlib ];
diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix
new file mode 100644
index 00000000000..7fc993338f7
--- /dev/null
+++ b/pkgs/tools/networking/tinc/pre.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "tinc-1.1pre-2015-03-14";
+
+  src = fetchgit {
+    url = "git://tinc-vpn.org/tinc";
+    rev = "6568cffd52d4803effaf52a9bb9c98d69cf7922a";
+    sha256 = "1nh0yjv6gf8p5in67kdq68xlai69f34ks0j610i8d8nw2mfm9x4a";
+  };
+
+  buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ];
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "VPN daemon with full mesh routing";
+    longDescription = ''
+      tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and
+      encryption to create a secure private network between hosts on the
+      Internet.  It features full mesh routing, as well as encryption,
+      authentication, compression and ethernet bridging.
+    '';
+    homepage="http://www.tinc-vpn.org/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/tools/networking/tlsdate/default.nix b/pkgs/tools/networking/tlsdate/default.nix
new file mode 100644
index 00000000000..eea7dfcccac
--- /dev/null
+++ b/pkgs/tools/networking/tlsdate/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchgit
+, autoconf
+, automake
+, libevent
+, libtool
+, pkgconfig
+, openssl
+}:
+
+stdenv.mkDerivation {
+  name = "tlsdate-0.0.12";
+
+  src = fetchgit {
+    url = https://github.com/ioerror/tlsdate;
+    rev = "fd04f48ed60eb773c8e34d27ef2ee12ee7559a41";
+    sha256 = "d97b7cc6fe64799c12c31a9ebd3a69c9bc954de2eaa7f70d113d39544472854d";
+  };
+
+  buildInputs = [
+    autoconf
+    automake
+    libevent
+    libtool
+    pkgconfig
+    openssl
+  ];
+
+  preConfigure = ''
+    export COMPILE_DATE=0
+    ./autogen.sh
+  '';
+
+  doCheck = true;
+
+  meta = {
+    description = "Secure parasitic rdate replacement";
+    homepage = https://github.com/ioerror/tlsdate;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.tv ];
+  };
+}
diff --git a/pkgs/tools/networking/traceroute/default.nix b/pkgs/tools/networking/traceroute/default.nix
new file mode 100644
index 00000000000..2ce8d1cde3e
--- /dev/null
+++ b/pkgs/tools/networking/traceroute/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "traceroute-${version}";
+  version = "2.0.21";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/traceroute/${name}.tar.gz";
+    sha256 = "1q4n9s42nfcc4fmnwmrsiabvqrcaagiagmmqj9r5hfmi63pr7b7p";
+  };
+
+  makeFlags = "prefix=$(out)";
+
+  preConfigure = ''
+    sed -i 's@LIBS := \(.*\) -lm \(.*\)@LIBS := \1 \2@' Make.rules
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://traceroute.sourceforge.net/;
+    description = "Tracks the route taken by packets over an IP network";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ maintainers.koral ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/trickle/default.nix b/pkgs/tools/networking/trickle/default.nix
index 254dc168ec8..d10e645dc87 100644
--- a/pkgs/tools/networking/trickle/default.nix
+++ b/pkgs/tools/networking/trickle/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Lightweight userspace bandwidth shaper";
-    license = "BSD";
+    license = stdenv.lib.licenses.bsd3;
     homepage = http://monkey.org/~marius/pages/?page=trickle;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 376717bbf7a..e1594733268 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -1,17 +1,31 @@
 { stdenv, fetchurl, openssl, expat, libevent }:
 
 stdenv.mkDerivation rec {
-  name = "unbound-1.4.22";
+  name = "unbound-${version}";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "17yjly9c00zfgbzvllqzjh668a4yk6vrinf47yrcs3hrna0m1bqw";
+    sha256 = "1v00k4b6m9wk0533s2jpg4rv9lhplh7zdp6vx2yyrmrbzc4jgy0g";
   };
- 
+
   buildInputs = [openssl expat libevent];
 
-  configureFlags = [ "--with-ssl=${openssl}" "--with-libexpat=${expat}"
-    "--localstatedir=/var" ];
+  patches = [
+    # This patch fixes unbound 1.5.1 on linux versions previous to 3.15 which
+    # do not implement IP_PMTUDISC_OMIT.
+    #
+    # It should be discarded when this support makes it into a released
+    # version.
+    ./linux-pre-3.15-unbound-1.5.1.patch
+  ];
+
+  configureFlags = [
+    "--with-ssl=${openssl}"
+    "--with-libexpat=${expat}"
+    "--with-libevent=${libevent}"
+    "--localstatedir=/var"
+  ];
 
   meta = {
     description = "Validating, recursive, and caching DNS resolver";
diff --git a/pkgs/tools/networking/unbound/linux-pre-3.15-unbound-1.5.1.patch b/pkgs/tools/networking/unbound/linux-pre-3.15-unbound-1.5.1.patch
new file mode 100644
index 00000000000..61956807899
--- /dev/null
+++ b/pkgs/tools/networking/unbound/linux-pre-3.15-unbound-1.5.1.patch
@@ -0,0 +1,66 @@
+--- ./services/listen_dnsport.c	2014-12-10 10:59:31.726514857 +0100
++++ ./services/listen_dnsport.c	2014-12-10 11:08:45.009071300 +0100
+@@ -368,29 +368,47 @@
+  * (and also uses the interface mtu to determine the size of the packets).
+  * So there won't be any EMSGSIZE error.  Against DNS fragmentation attacks.
+  * FreeBSD already has same semantics without setting the option. */
+-#    if defined(IP_PMTUDISC_OMIT)
+-		int action = IP_PMTUDISC_OMIT;
+-#    else
+-		int action = IP_PMTUDISC_DONT;
+-#    endif
++		int omit_set = 0;
++		int action;
++#   if defined(IP_PMTUDISC_OMIT)
++		action = IP_PMTUDISC_OMIT;
+ 		if (setsockopt(s, IPPROTO_IP, IP_MTU_DISCOVER, 
+ 			&action, (socklen_t)sizeof(action)) < 0) {
+-			log_err("setsockopt(..., IP_MTU_DISCOVER, "
+-#    if defined(IP_PMTUDISC_OMIT)
+-				"IP_PMTUDISC_OMIT"
++
++			if (errno != EINVAL) {
++				log_err("setsockopt(..., IP_MTU_DISCOVER, IP_PMTUDISC_OMIT...) failed: %s",
++					strerror(errno));
++
++#    ifndef USE_WINSOCK
++				close(s);
+ #    else
+-				"IP_PMTUDISC_DONT"
++				closesocket(s);
+ #    endif
+-				"...) failed: %s",
+-				strerror(errno));
++				*noproto = 0;
++				*inuse = 0;
++				return -1;
++			}
++		}
++		else
++		{
++		    omit_set = 1;
++		}
++#   endif
++		if (omit_set == 0) {
++   			action = IP_PMTUDISC_DONT;
++			if (setsockopt(s, IPPROTO_IP, IP_MTU_DISCOVER,
++				&action, (socklen_t)sizeof(action)) < 0) {
++				log_err("setsockopt(..., IP_MTU_DISCOVER, IP_PMTUDISC_DONT...) failed: %s",
++					strerror(errno));
+ #    ifndef USE_WINSOCK
+-			close(s);
++				close(s);
+ #    else
+-			closesocket(s);
++				closesocket(s);
+ #    endif
+-			*noproto = 0;
+-			*inuse = 0;
+-			return -1;
++				*noproto = 0;
++				*inuse = 0;
++				return -1;
++			}
+ 		}
+ #  elif defined(IP_DONTFRAG)
+ 		int off = 0;
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
new file mode 100644
index 00000000000..bd580d28320
--- /dev/null
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  name = "urlwatch-1.18";
+
+  src = fetchurl {
+    url = "http://thp.io/2008/urlwatch/${name}.tar.gz";
+    sha256 = "090qfgx249ks7103sap6w47f8302ix2k46wxhfssxwsqcqdl25vb";
+  };
+
+  patchPhase = ''
+    ./convert-to-python3.sh
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/urlwatch" --prefix "PYTHONPATH" : "$PYTHONPATH"
+  '';
+
+  meta = {
+    description = "A tool for monitoring webpages for updates";
+    homepage = https://thp.io/2008/urlwatch/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.tv ];
+  };
+}
diff --git a/pkgs/tools/networking/vtun/default.nix b/pkgs/tools/networking/vtun/default.nix
index e32ee43113e..e14326fe9e6 100644
--- a/pkgs/tools/networking/vtun/default.nix
+++ b/pkgs/tools/networking/vtun/default.nix
@@ -1,14 +1,16 @@
-{stdenv, fetchurl, openssl, lzo, zlib, yacc, flex }:
-stdenv.mkDerivation {
-  name = "vtun-3.0.1";
+{ stdenv, fetchurl, openssl, lzo, zlib, yacc, flex }:
+
+stdenv.mkDerivation rec {
+  name = "vtun-3.0.3";
 
   src = fetchurl {
-    url = mirror://sourceforge/vtun/vtun-3.0.1.tar.gz;
-    sha256 = "1sxf9qq2wlfh1wnrlqkh801v1m9jlqpycxvr2nbyyl7nm2cp8l12";
+    url = "mirror://sourceforge/vtun/${name}.tar.gz";
+    sha256 = "1jxrxp3klhc8az54d5qn84cbc0vdafg319jh84dxkrswii7vxp39";
   };
 
   patchPhase = ''
-    sed -i -e 's/-m 755//' -e 's/-o root -g 0//' Makefile.in 
+    sed -i -e 's/-m 755//' -e 's/-o root -g 0//' Makefile.in
+    sed -i '/strip/d' Makefile.in
   '';
   buildInputs = [ lzo openssl zlib yacc flex ];
 
@@ -17,9 +19,11 @@ stdenv.mkDerivation {
     --with-ssl-headers=${openssl}/include/openssl
     --with-blowfish-headers=${openssl}/include/openssl'';
 
-  meta = { 
-      description="Virtual Tunnels over TCP/IP with traffic shaping, compression and encryption";
-      homepage="http://vtun.sourceforge.net/";
-      license = stdenv.lib.licenses.gpl2;
+  meta = with stdenv.lib; {
+      description = "Virtual Tunnels over TCP/IP with traffic shaping, compression and encryption";
+      homepage = http://vtun.sourceforge.net/;
+      license = licenses.gpl2;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix
index e9c102817e1..b5927fd2478 100644
--- a/pkgs/tools/networking/wavemon/default.nix
+++ b/pkgs/tools/networking/wavemon/default.nix
@@ -11,16 +11,15 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="wavemon";
-    version="0.7.5";
+    version = "0.7.6";
     name="${baseName}-${version}";
     url="http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/${name}.tar.bz2";
-    hash="0b1fx00aar2fsw49a10w5bpiyjpz8h8f4nrlwb1acfw36yi1pfkd";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "18cwlzgmwzy7z9dfr6lwd8kmkv0pqiihizm4gi0kkm52bzz6836y";
   };
 
   inherit (sourceInfo) name version;
@@ -38,11 +37,9 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl2Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/";
-    };
+    downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/";
+    inherit version;
+    updateWalker = true;
   };
 }) x
 
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 27d7fe2572a..c0952c9cd8a 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, gettext, perl, LWP, gnutls ? null }:
+{ stdenv, fetchurl, gettext, libidn, pkgconfig
+, perl, perlPackages, LWP, python3
+, libiconv, gnutls ? null }:
 
 stdenv.mkDerivation rec {
-  name = "wget-1.15";
+  name = "wget-1.16.3";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.xz";
-    sha256 = "1yw0sk4mrs7bvga3c79rkbhxivmw8cs3b5wq3cglp1f9ai1mz2ni";
+    sha256 = "0dzv5xf9qxc2bp4cyifmaghh3h464wbm73xiwcrvckf1ynqbgxv7";
   };
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./iri-test.patch;
-
   preConfigure = stdenv.lib.optionalString doCheck
-    '' for i in "doc/texi2pod.pl" "tests/run-px" "util/rmold.pl"
+    '' for i in "doc/texi2pod.pl" "util/rmold.pl"
        do
          sed -i "$i" -e 's|/usr/bin.*perl|${perl}/bin/perl|g'
        done
@@ -21,21 +21,24 @@ 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 ];
-  buildInputs =
-    stdenv.lib.optionals doCheck [ perl LWP ]
-    ++ stdenv.lib.optional (gnutls != null) gnutls;
+  buildInputs = [ libidn libiconv pkgconfig ]
+    ++ stdenv.lib.optionals doCheck [ perl perlPackages.IOSocketSSL LWP python3 ]
+    ++ stdenv.lib.optional (gnutls != null) gnutls
+    ++ stdenv.lib.optional stdenv.isDarwin perl;
 
   configureFlags =
     if gnutls != null
     then "--with-ssl=gnutls"
     else "--without-ssl";
 
-  doCheck = (perl != null);
+  doCheck = (perl != null && python3 != null && !stdenv.isDarwin);
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Tool for retrieving files using HTTP, HTTPS, and FTP";
 
     longDescription =
@@ -45,11 +48,11 @@ stdenv.mkDerivation rec {
          scripts, cron jobs, terminals without X-Windows support, etc.
       '';
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/wget/;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/wget/iri-test.patch b/pkgs/tools/networking/wget/iri-test.patch
deleted file mode 100644
index c1f798ce372..00000000000
--- a/pkgs/tools/networking/wget/iri-test.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -r --unified a/wget-1.14/tests/run-px b/wget-1.14/tests/run-px
---- a/tests/run-px	2012-06-16 11:58:11.000000000 +0100
-+++ b/tests/run-px	2013-11-02 14:06:14.000000000 +0000
-@@ -48,7 +48,7 @@
-     'Test-idn-robots-utf8.px',
-     'Test-iri.px',
-     'Test-iri-percent.px',
--    'Test-iri-disabled.px',
-+    #'Test-iri-disabled.px',
-     'Test-iri-forced-remote.px',
-     'Test-iri-list.px',
-     'Test-k.px',
diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix
index e0537c8e1fa..55a99dd2729 100644
--- a/pkgs/tools/networking/wicd/default.nix
+++ b/pkgs/tools/networking/wicd/default.nix
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "15ywgh60xzmp5z8l1kzics7yi95isrjg1paz42dvp7dlpdfzpzfw";
   };
 
-  buildInputs = [ python pythonPackages.Babel pythonPackages.urwid ];
+  buildInputs = [
+    python pythonPackages.Babel
+    pythonPackages.urwid pythonPackages.notify
+  ];
 
   patches = [
     ./no-var-install.patch
@@ -20,6 +23,7 @@ stdenv.mkDerivation rec {
     ./dhclient.patch 
     ./fix-app-icon.patch
     ./fix-gtk-issues.patch
+    ./urwid-api-update.patch
     ];
 
   # Should I be using pygtk's propogated build inputs?
@@ -35,9 +39,11 @@ stdenv.mkDerivation rec {
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-client.in
     sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-client.in
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-gtk.in
-    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-gtk.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus}):$(toPythonPath ${pythonPackages.notify})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-gtk.in
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-cli.in
     sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-cli.in
+    sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-curses.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus}):$(toPythonPath ${pythonPackages.urwid}):$(toPythonPath ${pythonPackages.curses})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-curses.in
     rm po/ast.po
   '';
 
diff --git a/pkgs/tools/networking/wicd/urwid-api-update.patch b/pkgs/tools/networking/wicd/urwid-api-update.patch
new file mode 100644
index 00000000000..a794f6caaee
--- /dev/null
+++ b/pkgs/tools/networking/wicd/urwid-api-update.patch
@@ -0,0 +1,21 @@
+--- a/curses/curses_misc.py
++++ a/curses/curses_misc.py
+@@ -358,6 +358,19 @@ class ComboBox(urwid.WidgetWrap):
+         self.parent = None
+         self.ui = None
+         self.row = None
++
++    @property
++    def focus(self):
++        return self._focus
++
++    @focus.setter
++    def focus(self, index):
++        self._focus = index
++
++    @focus.deleter
++    def focus(self):
++        del self._focus
++
+     def set_list(self,list):
+         self.list = list
diff --git a/pkgs/tools/networking/wrk/default.nix b/pkgs/tools/networking/wrk/default.nix
new file mode 100644
index 00000000000..9af28dbebd6
--- /dev/null
+++ b/pkgs/tools/networking/wrk/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, openssl }:
+
+let
+  version = "3.1.2";
+
+in stdenv.mkDerivation rec {
+  name = "wrk-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/wg/wrk.git";
+    rev = "a52c770204a732aa63e1bb6eb241a70949e3a2a9";
+    sha256 = "0b81lg251ivi94f7kfgz8ws4xns5p7hw5qiwjwwlc3dimjgrg387";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${openssl}/include";
+  NIX_CFLAGS_LINK = "-L${openssl}/lib";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp wrk $out/bin
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "HTTP benchmarking tool.";
+    homepage = http://github.com/wg/wrk;
+    longDescription = ''
+      wrk is a modern HTTP benchmarking tool capable of generating
+      significant load when run on a single multi-core CPU. It
+      combines a multithreaded design with scalable event notification
+      systems such as epoll and kqueue.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ragge ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/xl2tpd/default.nix b/pkgs/tools/networking/xl2tpd/default.nix
new file mode 100644
index 00000000000..4b8f91461d8
--- /dev/null
+++ b/pkgs/tools/networking/xl2tpd/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, libpcap, ppp }:
+
+let version = "1.3.6";
+in stdenv.mkDerivation {
+  name = "xl2tpd-${version}";
+
+  src = fetchFromGitHub {
+    owner = "xelerance";
+    repo = "xl2tpd";
+    rev = "v${version}";
+    sha256 = "17lnsk9fsyfp2g5hha7psim6047wj9qs8x4y4w06gl6bbf36jm9z";
+  };
+
+  buildInputs = [ libpcap ];
+
+  postPatch = ''
+    substituteInPlace l2tp.h --replace /usr/sbin/pppd ${ppp}/sbin/pppd
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.xelerance.com/software/xl2tpd/;
+    description = "Layer 2 Tunnelling Protocol Daemon (RFC 2661)";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
new file mode 100644
index 00000000000..78c72967880
--- /dev/null
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, openssl, lzo, zlib, gcc }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "1.0.2";
+  name = "zerotierone";
+
+  src = fetchurl {
+    url = "https://github.com/zerotier/ZeroTierOne/archive/${version}.tar.gz";
+    sha256 = "002ay4f6l9h79j1708klwjvinsv6asv24a0hql85jq27587sv6mq";
+  };
+
+  preConfigure = ''
+      substituteInPlace ./make-linux.mk \
+          --replace 'CC=$(shell which clang gcc cc 2>/dev/null | head -n 1)' "CC=${gcc}/bin/gcc";
+      substituteInPlace ./make-linux.mk \
+          --replace 'CXX=$(shell which clang++ g++ c++ 2>/dev/null | head -n 1)' "CC=${gcc}/bin/g++";
+  '';
+
+  buildInputs = [ openssl lzo zlib gcc ];
+
+  installPhase = ''
+    installBin zerotier-one
+  '';
+
+  meta = {
+    description = "Create flat virtual Ethernet networks of almost unlimited size";
+    homepage = https://www.zerotier.com;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.sjmackenzie ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/package-management/cabal-install/0.10.2.nix b/pkgs/tools/package-management/cabal-install/0.10.2.nix
deleted file mode 100644
index 3d7b2d72d71..00000000000
--- a/pkgs/tools/package-management/cabal-install/0.10.2.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, filepath, HTTP, network, random, time, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-install";
-  version = "0.10.2";
-  sha256 = "05gmgxdlymp66c87szx1vq6hlraispdh6pm0n85s74yihjwwhmv3";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath HTTP network random time zlib ];
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "The command-line interface for Cabal and Hackage";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
-  };
-})
diff --git a/pkgs/tools/package-management/cabal-install/0.14.0.nix b/pkgs/tools/package-management/cabal-install/0.14.0.nix
deleted file mode 100644
index c5a67e61999..00000000000
--- a/pkgs/tools/package-management/cabal-install/0.14.0.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, filepath, HTTP, mtl, network, random, time, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-install";
-  version = "0.14.0";
-  sha256 = "1n2vvlmfgfrj3z4ag5bj278vmdh6fw7xb0ixbxxxcngzd41bbwpl";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [
-    Cabal filepath HTTP mtl network random time zlib
-  ];
-  postInstall = ''
-    mkdir $out/etc
-    mv bash-completion $out/etc/bash_completion.d
-  '';
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "The command-line interface for Cabal and Hackage";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/tools/package-management/cabal-install/0.6.2.nix b/pkgs/tools/package-management/cabal-install/0.6.2.nix
deleted file mode 100644
index 3c79857f6e7..00000000000
--- a/pkgs/tools/package-management/cabal-install/0.6.2.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, filepath, HTTP, network, random, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-install";
-  version = "0.6.2";
-  sha256 = "d8ea91bd0a2a624ab1cf52ddfe48cef02b532bb5e2fcda3fd72ca51efc04b41a";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath HTTP network random zlib ];
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "The command-line interface for Cabal and Hackage";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
-  };
-})
diff --git a/pkgs/tools/package-management/cabal-install/0.8.0.nix b/pkgs/tools/package-management/cabal-install/0.8.0.nix
deleted file mode 100644
index d27fbbca7d4..00000000000
--- a/pkgs/tools/package-management/cabal-install/0.8.0.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, filepath, HTTP, network, random, time, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-install";
-  version = "0.8.0";
-  sha256 = "6d16618ff454f8d732cad64a53b767b5b6bb95ba4970b260a40e8f467035493c";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath HTTP network random time zlib ];
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "The command-line interface for Cabal and Hackage";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
-  };
-})
diff --git a/pkgs/tools/package-management/cabal-install/0.8.2.nix b/pkgs/tools/package-management/cabal-install/0.8.2.nix
deleted file mode 100644
index 6f8881b504b..00000000000
--- a/pkgs/tools/package-management/cabal-install/0.8.2.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, filepath, HTTP, network, random, time, zlib }:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-install";
-  version = "0.8.2";
-  sha256 = "8f896ab46ec6c578f620ce4150f7cd04a2088be793113b33cc570b13b6b86e0b";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ Cabal filepath HTTP network random time zlib ];
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "The command-line interface for Cabal and Hackage";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
-  };
-})
diff --git a/pkgs/tools/package-management/cabal-install/1.16.0.2.nix b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
index 84dc12d3145..d4a709ab13b 100644
--- a/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
+++ b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
@@ -15,6 +15,9 @@ cabal.mkDerivation (self: {
     mkdir $out/etc
     mv bash-completion $out/etc/bash_completion.d
   '';
+  patchPhase = ''
+    sed -i -e 's|random .*1.1,|random,|' cabal-install.cabal
+  '';
   meta = {
     homepage = "http://www.haskell.org/cabal/";
     description = "The command-line interface for Cabal and Hackage";
diff --git a/pkgs/tools/package-management/cabal-install/1.18.0.3.nix b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix
index 52db3a6faf4..e391d80420d 100644
--- a/pkgs/tools/package-management/cabal-install/1.18.0.3.nix
+++ b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix
@@ -22,6 +22,9 @@ cabal.mkDerivation (self: {
     mkdir $out/etc
     mv bash-completion $out/etc/bash_completion.d
   '';
+  patchPhase = ''
+    sed -i -e 's|random .*1.1,|random,|' cabal-install.cabal
+  '';
   meta = {
     homepage = "http://www.haskell.org/cabal/";
     description = "The command-line interface for Cabal and Hackage";
diff --git a/pkgs/tools/package-management/cabal-install/1.20.0.3.nix b/pkgs/tools/package-management/cabal-install/1.20.0.3.nix
deleted file mode 100644
index 8c136dc9dbb..00000000000
--- a/pkgs/tools/package-management/cabal-install/1.20.0.3.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck
-, random, stm, testFramework, testFrameworkHunit
-, testFrameworkQuickcheck2, time, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-install";
-  version = "1.20.0.3";
-  sha256 = "050b9dc4khfc1fs283p1635zni25z4b55gi5ffwvg4mfpkrmdgfj";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [
-    Cabal filepath HTTP mtl network random stm time zlib
-  ];
-  testDepends = [
-    Cabal filepath HTTP HUnit mtl network QuickCheck stm testFramework
-    testFrameworkHunit testFrameworkQuickcheck2 time zlib
-  ];
-  postInstall = ''
-    mkdir $out/etc
-    mv bash-completion $out/etc/bash_completion.d
-  '';
-  meta = {
-    homepage = "http://www.haskell.org/cabal/";
-    description = "The command-line interface for Cabal and Hackage";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/tools/package-management/cabal-install/1.20.0.6.nix b/pkgs/tools/package-management/cabal-install/1.20.0.6.nix
new file mode 100644
index 00000000000..adb2f24f5b2
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/1.20.0.6.nix
@@ -0,0 +1,32 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, HTTP, HUnit, mtl, network, networkUri
+, QuickCheck, random, stm, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, time, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-install";
+  version = "1.20.0.6";
+  sha256 = "1hc187yzl59518cswk25xzsabn9dvm4wqpq817hmclrvkf4zr3pl";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal filepath HTTP mtl network networkUri random stm time zlib
+  ];
+  testDepends = [
+    Cabal filepath HTTP HUnit mtl network networkUri QuickCheck stm
+    testFramework testFrameworkHunit testFrameworkQuickcheck2 time zlib
+  ];
+  doCheck = false;
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "The command-line interface for Cabal and Hackage";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/tools/package-management/cabal-install/1.22.0.0.nix b/pkgs/tools/package-management/cabal-install/1.22.0.0.nix
new file mode 100644
index 00000000000..abf3809872b
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/1.22.0.0.nix
@@ -0,0 +1,34 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, extensibleExceptions, filepath, HTTP, HUnit, mtl
+, network, networkUri, QuickCheck, random, regexPosix, stm
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, time
+, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-install";
+  version = "1.22.0.0";
+  sha256 = "17cf2bkrxawjldhkq4hzlzlf7b2xqgkrzl7fa31whnnpni68v6jz";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal filepath HTTP mtl network networkUri random stm time zlib
+  ];
+  testDepends = [
+    Cabal extensibleExceptions filepath HTTP HUnit mtl network
+    networkUri QuickCheck regexPosix stm testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 time zlib
+  ];
+  doCheck = false;
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "The command-line interface for Cabal and Hackage";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix
index 1320720ed17..dc3373c3b6f 100644
--- a/pkgs/tools/package-management/checkinstall/default.nix
+++ b/pkgs/tools/package-management/checkinstall/default.nix
@@ -32,6 +32,9 @@ stdenv.mkDerivation {
 
     # Fix a `conflicting types for 'readlink'' error since Glibc 2.19
     ./readlink-types.patch
+
+    # Fix BuildRoot handling in RPM builds.
+    ./set-buildroot.patch
   ]
 
   ++ stdenv.lib.optional (stdenv.system == "x86_64-linux") 
diff --git a/pkgs/tools/package-management/checkinstall/set-buildroot.patch b/pkgs/tools/package-management/checkinstall/set-buildroot.patch
new file mode 100644
index 00000000000..58840f491ec
--- /dev/null
+++ b/pkgs/tools/package-management/checkinstall/set-buildroot.patch
@@ -0,0 +1,15 @@
+https://build.opensuse.org/package/view_file/openSUSE:13.1/checkinstall/checkinstall-set_buildroot.patch
+
+Index: checkinstall
+===================================================================
+--- a/checkinstall	2009-12-26 20:17:24.000000000 +0100
++++ b/checkinstall	2011-01-31 18:17:56.171593541 +0100
+@@ -2463,7 +2463,7 @@ cd "$DIRECTORIO_FUENTE"
+ 
+ echo
+ echogn "Building RPM package..."
+-$RPMBUILD -bb ${RPM_TARGET_FLAG}${ARCHITECTURE} "$SPEC_PATH" &> ${TMP_DIR}/rpmbuild.log
++$RPMBUILD --buildroot ${BUILDROOT} -bb ${RPM_TARGET_FLAG}${ARCHITECTURE} "$SPEC_PATH" &> ${TMP_DIR}/rpmbuild.log
+ okfail
+ 
+ if [ $? -gt 0 ]; then
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 291f7e36ce0..4e143bed519 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java}:
 
 stdenv.mkDerivation {
-  name = "DisnixWebService-0.2";
+  name = "DisnixWebService-0.3";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/910953/download/4/DisnixWebService-0.2.tar.bz2;
-    sha256 = "1469l2ykhdjmplkw01x64f7aq9rms05ig9sagyb8l2zksjm6lla8";
+    url = http://hydra.nixos.org/build/20419315/download/4/DisnixWebService-0.3.tar.bz2;
+    sha256 = "03vm84h7div200jr5z28hiwk0fq7i45j0ki18c2h4pmbsd89479i";
   };
   buildInputs = [ apacheAnt jdk ];
   PREFIX = ''''${env.out}'';
@@ -13,8 +13,8 @@ stdenv.mkDerivation {
   DBUS_JAVA_LIB = "${dbus_java}/share/java";
   patchPhase = ''
     sed -i -e "s|#JAVA_HOME=|JAVA_HOME=${jdk}|" \
-           -e "s|#AXIS2_LIB=|AXIS2_LIB=${axis2}/lib|" \
-	   scripts/disnix-soap-client
+       -e "s|#AXIS2_LIB=|AXIS2_LIB=${axis2}/lib|" \
+        scripts/disnix-soap-client
   '';
   buildPhase = "ant";
   installPhase = "ant install";
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 61e998fd545..98213d9cf34 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconv }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7";
+  name = "disnix-0.3";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/11773951/download/4/disnix-0.3pre174e883b7b09da822494876d2f297736f33707a7.tar.gz;
-    sha256 = "19hdh2mrlyiq1g3z6lnnqqvripmfcdnm18jpm4anp5iarhnwh3y4";
+    url = http://hydra.nixos.org/build/20419300/download/4/disnix-0.3.tar.gz;
+    sha256 = "11yh270r8mgnkz98ax3p4rlc5dh88sxykvsmcpvgaqnqjh1rwd3j";
   };
   
-  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ];
+  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconv dysnomia ];
 
   dontStrip = true;
   
   meta = {
-    description = "A distributed deployment extension for Nix";
+    description = "A Nix-based distributed service deployment tool";
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
   };
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 65ae91f6e18..52312ca7191 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, disnix, socat, pkgconfig, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99";
+  name = "disnixos-0.2";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/9877039/download/3/disnixos-0.2preb10c56eeb1be3046645eea90c779e2d64045581f.tar.gz;
-    sha256 = "1pkpf6vp9q3jjp212lghbs1km8iqh4rm9xa5jm0dqb5ya25f0jf2";
+    url = http://hydra.nixos.org/build/20419306/download/3/disnixos-0.2.tar.gz;
+    sha256 = "1xysklly0gvh0np0h3f30sfs5lx6qnwj59l8caynwn46qy596gnx";
   };
   
   buildInputs = [ socat pkgconfig disnix getopt ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index a1914224dbd..021225c1b4d 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -9,6 +9,7 @@
 , enableTomcatWebApplication ? false
 , enableMongoDatabase ? false
 , catalinaBaseDir ? "/var/tomcat"
+, jobTemplate ? "systemd"
 , getopt
 }:
 
@@ -19,28 +20,29 @@ assert enableEjabberdDump -> ejabberd != null;
 assert enableMongoDatabase -> mongodb != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82";
+  name = "dysnomia-0.3";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/11407191/download/1/dysnomia-0.3pre09cc08f5ffc737d988923bb7329a7ec711badd82.tar.gz;
-    sha256 = "1i7yb299bq1z7cy4sk83m5faahj8inh73xn5bi6jcv492zv3kgwz";
+    url = http://hydra.nixos.org/build/20419293/download/1/dysnomia-0.3.tar.gz;
+    sha256 = "09z9ad72wzxjvbc3hynbj9n1y4rrxw1by1wxacjmdqyp46h4b746";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
   
-  configureFlags = ''
-     ${if enableApacheWebApplication then "--with-apache" else "--without-apache"}
-     ${if enableAxis2WebService then "--with-axis2" else "--without-axis2"}
-     ${if enableEjabberdDump then "--with-ejabberd" else "--without-ejabberd"}
-     ${if enableMySQLDatabase then "--with-mysql" else "--without-mysql"}
-     ${if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql"}
-     ${if enableSubversionRepository then "--with-subversion" else "--without-subversion"}
-     ${if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat"}
-     ${if enableMongoDatabase then "--with-mongodb" else "--without-mongodb"}
-   '';
+  configureFlags = [
+     (if enableApacheWebApplication then "--with-apache" else "--without-apache")
+     (if enableAxis2WebService then "--with-axis2" else "--without-axis2")
+     (if enableEjabberdDump then "--with-ejabberd" else "--without-ejabberd")
+     (if enableMySQLDatabase then "--with-mysql" else "--without-mysql")
+     (if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql")
+     (if enableSubversionRepository then "--with-subversion" else "--without-subversion")
+     (if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat")
+     (if enableMongoDatabase then "--with-mongodb" else "--without-mongodb")
+     "--with-job-template=${jobTemplate}"
+   ];
   
   buildInputs = [ getopt ]
     ++ stdenv.lib.optional enableEjabberdDump ejabberd
-    ++ stdenv.lib.optional enableMySQLDatabase mysql
+    ++ stdenv.lib.optional enableMySQLDatabase mysql.lib
     ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
     ++ stdenv.lib.optional enableSubversionRepository subversion
     ++ stdenv.lib.optional enableMongoDatabase mongodb;
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 01dea9c35e3..8ef32dab95a 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation {
     description = "The Debian package manager";
     homepage = http://wiki.debian.org/Teams/Dpkg;
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/package-management/guix/default.nix b/pkgs/tools/package-management/guix/default.nix
index b4b3c98505e..1d5d995a189 100644
--- a/pkgs/tools/package-management/guix/default.nix
+++ b/pkgs/tools/package-management/guix/default.nix
@@ -61,7 +61,7 @@ in stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
 
     homepage = http://www.gnu.org/software/guix;
diff --git a/pkgs/tools/package-management/koji/default.nix b/pkgs/tools/package-management/koji/default.nix
new file mode 100644
index 00000000000..7f03ed1625e
--- /dev/null
+++ b/pkgs/tools/package-management/koji/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pythonPackages, python }:
+
+stdenv.mkDerivation rec {
+  name = "koji-1.8";
+
+  src = fetchurl {
+    url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2";
+    sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1";
+  };
+
+  propagatedBuildInputs = [ pythonPackages.pycurl python ];
+
+  makeFlags = "DESTDIR=$(out)";
+
+  postInstall = ''
+    cp -R $out/nix/store/*/* $out/
+    rm -rf $out/nix
+  '';
+
+  meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
+}
diff --git a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
index 84439136d49..07cbd99a10b 100644
--- a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
+++ b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation {
         wrapArgs="$wrapArgs --prefix PATH : $dep/bin"
       done
       wrapArgs="$wrapArgs --prefix PATH : ${gnused}/bin"
+      wrapArgs="$wrapArgs --set HOME : /homeless-shelter"
       wrapProgram $out/bin/$name $wrapArgs
     }
 
diff --git a/pkgs/tools/package-management/nix-repl/default.nix b/pkgs/tools/package-management/nix-repl/default.nix
index f812ea58a0b..35f4f36b473 100644
--- a/pkgs/tools/package-management/nix-repl/default.nix
+++ b/pkgs/tools/package-management/nix-repl/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchgit, nix, readline, boehmgc }:
+{ lib, stdenv, fetchFromGitHub, nix, readline, boehmgc }:
 
-with stdenv.lib;
+let rev = "f92408136ed08804bab14b3e2a2def9b8effd7eb"; in
 
-stdenv.mkDerivation rec {
-  name = "nix-repl-${getVersion nix}-${substring 0 7 src.rev}";
+stdenv.mkDerivation {
+  name = "nix-repl-${lib.getVersion nix}-${lib.substring 0 7 rev}";
 
-  src = fetchgit {
-    url = https://github.com/edolstra/nix-repl.git;
-    rev = "1734e8a1491ef831c83c2620b6b0f4a590b67c1f";
-    sha256 = "12fld2780jh3ww2n59s9z7afwjkmfhwh4dqn3wjva4ff8fx3n0mf";
+  src = fetchFromGitHub {
+    owner = "edolstra";
+    repo = "nix-repl";
+    inherit rev;
+    sha256 = "1vl36d3n7hrw4vy2n358zx210ygkj4lmd8zsiifna6x7w7q388bj";
   };
 
-  buildInputs = [ nix readline boehmgc ];
+  buildInputs = [ nix readline ];
 
   buildPhase = "true";
 
@@ -19,18 +20,18 @@ stdenv.mkDerivation rec {
   installPhase =
     ''
       mkdir -p $out/bin
-      g++ -O3 -Wall -std=c++0x \
+      $CXX -O3 -Wall -std=c++0x \
         -o $out/bin/nix-repl nix-repl.cc \
         -I${nix}/include/nix \
         -lnixformat -lnixutil -lnixstore -lnixexpr -lnixmain -lreadline -lgc \
-        -DNIX_VERSION=${(builtins.parseDrvName nix.name).version}
+        -DNIX_VERSION=\"${(builtins.parseDrvName nix.name).version}\"
     '';
 
   meta = {
     homepage = https://github.com/edolstra/nix-repl;
     description = "An interactive environment for evaluating and building Nix expressions";
-    maintainers = [ maintainers.eelco ];
-    license = licenses.gpl3;
+    maintainers = [ lib.maintainers.eelco ];
+    license = lib.licenses.gpl3;
     platforms = nix.meta.platforms;
   };
 }
diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix
new file mode 100644
index 00000000000..9b42a722e96
--- /dev/null
+++ b/pkgs/tools/package-management/nix-serve/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchFromGitHub, perl, nix, perlPackages }:
+
+let rev = "4c24e3ffa7d267d67d87135e7ac4c9198e449cd3"; in
+
+stdenv.mkDerivation rec {
+  name = "nix-serve-0.1-${lib.substring 0 7 rev}";
+
+  src = fetchFromGitHub {
+    owner = "edolstra";
+    repo = "nix-serve";
+    inherit rev;
+    sha256 = "1c0ip4w00j86412l2qf0dwzjr9jzimiygbx82x15r46kr3cpk7kp";
+  };
+
+  buildInputs = [ perl nix perlPackages.Plack perlPackages.Starman ];
+
+  buildPhase = "true";
+
+  # FIXME: unfortunate cut&paste.
+  installPhase =
+    ''
+      mkdir -p $out/libexec/nix-serve
+      cp nix-serve.psgi $out/libexec/nix-serve/nix-serve.psgi
+
+      mkdir -p $out/bin
+      cat > $out/bin/nix-serve <<EOF
+      #! ${stdenv.shell}
+      PERL5LIB=$PERL5LIB exec ${perlPackages.Starman}/bin/starman $out/libexec/nix-serve/nix-serve.psgi "\$@"
+      EOF
+      chmod +x $out/bin/nix-serve
+    '';
+
+  meta = {
+    homepage = https://github.com/edolstra/nix-serve;
+    description = "A utility for sharing a Nix store as a binary cache";
+    maintainers = [ lib.maintainers.eelco ];
+    license = lib.licenses.gpl3;
+    platforms = nix.meta.platforms;
+  };
+}
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 6631214f39a..2d105113133 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -5,16 +5,20 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.7";
+  name = "nix-1.8";
 
   src = fetchurl {
     url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-    sha256 = "349163654f2ae3e1a17fb3da7ed164a4cac153728bbe9a26764e17556d3dcc92";
+    sha256 = "a30a5e801bc1cb1019cbc3456d961a307c45c9c588b8692cf1293ea6588ef01c";
   };
 
+  patches = [ ./xfs.patch ];
+
   nativeBuildInputs = [ perl pkgconfig ];
 
-  buildInputs = [ curl openssl boehmgc sqlite ];
+  buildInputs = [ curl openssl sqlite ];
+
+  propagatedBuildInputs = [ boehmgc ];
 
   # Note: bzip2 is not passed as a build input, because the unpack phase
   # would end up using the wrong bzip2 when cross-compiling.
@@ -22,6 +26,7 @@ stdenv.mkDerivation rec {
   postUnpack =
     '' export CPATH="${bzip2}/include"
        export LIBRARY_PATH="${bzip2}/lib"
+       export CXXFLAGS="-Wno-error=reserved-user-defined-literal"
     '';
 
   configureFlags =
@@ -32,7 +37,6 @@ stdenv.mkDerivation rec {
       --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
       --disable-init-state
       --enable-gc
-      CFLAGS=-O3 CXXFLAGS=-O3
     '';
 
   makeFlags = "profiledir=$(out)/etc/profile.d";
@@ -55,7 +59,6 @@ stdenv.mkDerivation rec {
         --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
         --disable-init-state
         --enable-gc
-        CFLAGS=-O3 CXXFLAGS=-O3
       '' + stdenv.lib.optionalString (
           stdenv.cross ? nix && stdenv.cross.nix ? system
       ) ''--with-system=${stdenv.cross.nix.system}'';
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index bba53b0002f..36d3d77c9f9 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null
-, pkgconfig, boehmgc, perlPackages
+{ lib, stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null
+, pkgconfig, boehmgc, perlPackages, libsodium
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.8pre3766_809ca33";
+  name = "nix-1.9pre4088_1711679";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/13584170/download/5/${name}.tar.xz";
-    sha256 = "e6d91e73aabf8e8912f9701bf87b66089c197c5b8c8fbcc1707b888c88b96dfd";
+    url = "http://hydra.nixos.org/build/21171422/download/4/${name}.tar.xz";
+    sha256 = "37240acbb9ea9a3a0f141a85296787e1d4b7c2ab987c218be2f8007b28167b03";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
 
-  buildInputs = [ curl openssl sqlite ];
+  buildInputs = [ curl openssl sqlite ] ++ lib.optional stdenv.isLinux libsodium;
 
   propagatedBuildInputs = [ boehmgc ];
 
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
   postUnpack =
     '' export CPATH="${bzip2}/include"
        export LIBRARY_PATH="${bzip2}/lib"
+       export CXXFLAGS="-Wno-error=reserved-user-defined-literal"
     '';
 
   configureFlags =
@@ -34,7 +35,6 @@ stdenv.mkDerivation rec {
       --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
       --disable-init-state
       --enable-gc
-      CFLAGS=-O3 CXXFLAGS=-O3
     '';
 
   makeFlags = "profiledir=$(out)/etc/profile.d";
@@ -57,7 +57,6 @@ stdenv.mkDerivation rec {
         --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
         --disable-init-state
         --enable-gc
-        CFLAGS=-O3 CXXFLAGS=-O3
       '' + stdenv.lib.optionalString (
           stdenv.cross ? nix && stdenv.cross.nix ? system
       ) ''--with-system=${stdenv.cross.nix.system}'';
diff --git a/pkgs/tools/package-management/nix/xfs.patch b/pkgs/tools/package-management/nix/xfs.patch
new file mode 100644
index 00000000000..62ee9189ac1
--- /dev/null
+++ b/pkgs/tools/package-management/nix/xfs.patch
@@ -0,0 +1,13 @@
+diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
+index 119e71a..422ec97 100644
+--- a/src/libexpr/primops.cc
++++ b/src/libexpr/primops.cc
+@@ -796,7 +796,7 @@ static void prim_readDir(EvalState & state, const Pos & pos, Value * * args, Val
+     for (auto & ent : entries) {
+         Value * ent_val = state.allocAttr(v, state.symbols.create(ent.name));
+         if (ent.type == DT_UNKNOWN)
+-            ent.type = getFileType(path);
++            ent.type = getFileType(path + "/" + ent.name);
+         mkStringNoCopy(*ent_val,
+             ent.type == DT_REG ? "regular" :
+             ent.type == DT_DIR ? "directory" :
diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix
new file mode 100644
index 00000000000..17532039d91
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/unstable.nix
@@ -0,0 +1,63 @@
+{ lib, pythonPackages, fetchgit, libxslt, docbook5_xsl, openssh }:
+
+let
+
+  # Use this until the patches are upstreamed.
+  # Warning: will be rebased at will
+  libcloud = lib.overrideDerivation pythonPackages.libcloud ( args: {
+    src = fetchgit {
+      url = https://github.com/Phreedom/libcloud.git;
+      rev = "784427f549829a00d551e3468184a708420ad1ec";
+      sha256 = "fd0e092b39fa1fde6a8847e6dc69855d30c2dad9e95ee0373297658ff53edf8a";
+    };
+
+    preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py";
+  });
+
+in
+
+pythonPackages.buildPythonPackage rec {
+  name = "nixops-1.3pre1362_2a616f8";
+  namePrefix = "";
+
+  src = fetchgit {
+    url = https://github.com/NixOS/nixops;
+    rev = "2a616f8ddc18800c9e1c7013632078a55c06c3e3";
+    sha256 = "12arppri2j9sblja73jlfdcbpz1z94cd35n9ypazcsw4irmya3k6";
+  };
+
+  buildInputs = [ pythonPackages.nose pythonPackages.coverage ];
+
+  propagatedBuildInputs =
+    [ pythonPackages.prettytable
+      pythonPackages.boto
+      pythonPackages.hetzner
+      libcloud
+      pythonPackages.sqlite3
+    ];
+
+  doCheck = true;
+
+  postInstall =
+    ''
+      # Backward compatibility symlink.
+      ln -s nixops $out/bin/charon
+
+      make -C doc/manual install \
+        docdir=$out/share/doc/nixops mandir=$out/share/man
+
+      mkdir -p $out/share/nix/nixops
+      cp -av nix/* $out/share/nix/nixops
+
+      # Add openssh to nixops' PATH. On some platforms, e.g. CentOS and RHEL
+      # the version of openssh is causing errors when have big networks (40+)
+      wrapProgram $out/bin/nixops --prefix PATH : "${openssh}/bin"
+    ''; # */
+
+  meta = {
+    homepage = https://github.com/NixOS/nixops;
+    description = "NixOS cloud provisioning and deployment tool";
+    maintainers = [ lib.maintainers.tv ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/package-management/nixui/default.nix b/pkgs/tools/package-management/nixui/default.nix
new file mode 100644
index 00000000000..73004091a42
--- /dev/null
+++ b/pkgs/tools/package-management/nixui/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, pkgs, fetchgit, nix, node_webkit, config, makeDesktopItem, writeScript
+, profilePaths ? (config.nixui.profilePaths or ["/nix/var/nix/profiles"])
+, dataDir ? (config.nixui.dataDir or "/tmp")
+, configurations ? (config.nixui.configurations or ["/etc/nixos/configuration.nix"])
+, NIX_PATH ? (config.nixui.NIX_PATH or "/nix/var/nix/profiles/per-user/root/channels/nixos:nixpkgs=/etc/nixos/nixpkgs:nixos-config=/etc/nixos/configuration.nix") }:
+let
+  version = "0.1.2";
+  src = fetchgit {
+    url = "git://github.com/matejc/nixui.git";
+    rev = "refs/tags/${version}";
+    sha256 = "0rq8q867j4fx5j8mkidbwgbzqj4w4xi45xr8ya79m6v3iqqblhhj";
+  };
+  nixui = (import ./node-default.nix { nixui = src; inherit pkgs; }).build;
+  script = writeScript "nixui" ''
+    #! ${stdenv.shell}
+    export PATH="${nix}/bin:\$PATH"
+    export NIXUI_CONFIG="${config}"
+    ${node_webkit}/bin/nw ${nixui}/lib/node_modules/nixui/
+  '';
+  config = builtins.toFile "config.json" ''
+  {
+      "profilePaths": ${builtins.toJSON profilePaths},
+      "dataDir": "${dataDir}",
+      "configurations": ${builtins.toJSON configurations},
+      "NIX_PATH": "${NIX_PATH}"
+  }
+  '';
+  desktop = makeDesktopItem {
+    name = "nixui";
+    exec = script;
+    icon = "${nixui}/lib/node_modules/nixui/img/128.png";
+    desktopName = "NixUI";
+    genericName = "NixUI";
+  };
+in
+stdenv.mkDerivation rec {
+  name = "nixui-${version}";
+  inherit version src;
+  installPhase = ''
+    mkdir -p $out/bin
+    ln -s ${script} $out/bin/nixui
+
+    mkdir -p $out/share/applications
+    ln -s ${desktop}/share/applications/* $out/share/applications/
+  '';
+  meta = {
+    description = "NodeWebkit user interface for Nix";
+    homepage = https://github.com/matejc/nixui;
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/package-management/nixui/node-default.nix b/pkgs/tools/package-management/nixui/node-default.nix
new file mode 100644
index 00000000000..38a4cd4cfcc
--- /dev/null
+++ b/pkgs/tools/package-management/nixui/node-default.nix
@@ -0,0 +1,24 @@
+{ nixui ? { outPath = ./.; name = "nixui"; }
+, pkgs ? import <nixpkgs> {}
+}:
+let
+  nodePackages = import ../../../top-level/node-packages.nix {
+    inherit pkgs;
+    inherit (pkgs) stdenv nodejs fetchurl fetchgit;
+    neededNatives = [ pkgs.python ] ++ pkgs.lib.optional pkgs.stdenv.isLinux pkgs.utillinux;
+    self = nodePackages;
+    generated = ./node.nix;
+  };
+in rec {
+  tarball = pkgs.runCommand "nixui.tgz" { buildInputs = [ pkgs.nodejs ]; } ''
+    mv `HOME=$PWD npm pack ${nixui}` $out
+  '';
+  build = nodePackages.buildNodePackage {
+    name = "nixui";
+    src = [ tarball ];
+    buildInputs = nodePackages.nativeDeps."nixui" or [];
+    deps = [ nodePackages.underscore nodePackages.nedb ];
+    peerDependencies = [];
+    passthru.names = [ "nixui" ];
+  };
+}
diff --git a/pkgs/tools/package-management/nixui/node.nix b/pkgs/tools/package-management/nixui/node.nix
new file mode 100644
index 00000000000..fd2e34653c2
--- /dev/null
+++ b/pkgs/tools/package-management/nixui/node.nix
@@ -0,0 +1,617 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."async"."0.2.10" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "async-0.2.10";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+        name = "async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."async" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "async" ];
+  };
+  by-spec."binary-search-tree"."0.2.4" =
+    self.by-version."binary-search-tree"."0.2.4";
+  by-version."binary-search-tree"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "binary-search-tree-0.2.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/binary-search-tree/-/binary-search-tree-0.2.4.tgz";
+        name = "binary-search-tree-0.2.4.tgz";
+        sha1 = "14fe106366a59ca8efb68c0ae30c36aaff0cd510";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."binary-search-tree" or []);
+    deps = {
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "binary-search-tree" ];
+  };
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-0.6.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+        name = "commander-0.6.1.tgz";
+        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
+  by-spec."commander"."2.3.0" =
+    self.by-version."commander"."2.3.0";
+  by-version."commander"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-2.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
+        name = "commander-2.3.0.tgz";
+        sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
+  by-spec."debug"."2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-2.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+        name = "debug-2.0.0.tgz";
+        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."debug" or []);
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "debug" ];
+  };
+  by-spec."diff"."1.0.8" =
+    self.by-version."diff"."1.0.8";
+  by-version."diff"."1.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "diff-1.0.8";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
+        name = "diff-1.0.8.tgz";
+        sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."diff" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "diff" ];
+  };
+  by-spec."escape-string-regexp"."1.0.2" =
+    self.by-version."escape-string-regexp"."1.0.2";
+  by-version."escape-string-regexp"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "escape-string-regexp-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
+        name = "escape-string-regexp-1.0.2.tgz";
+        sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."escape-string-regexp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "escape-string-regexp" ];
+  };
+  by-spec."expect.js"."~0.3.1" =
+    self.by-version."expect.js"."0.3.1";
+  by-version."expect.js"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "expect.js-0.3.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/expect.js/-/expect.js-0.3.1.tgz";
+        name = "expect.js-0.3.1.tgz";
+        sha1 = "b0a59a0d2eff5437544ebf0ceaa6015841d09b5b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."expect.js" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "expect.js" ];
+  };
+  "expect.js" = self.by-version."expect.js"."0.3.1";
+  by-spec."formatio"."~1.0" =
+    self.by-version."formatio"."1.0.2";
+  by-version."formatio"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "formatio-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz";
+        name = "formatio-1.0.2.tgz";
+        sha1 = "e7991ca144ff7d8cff07bb9ac86a9b79c6ba47ef";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."formatio" or []);
+    deps = {
+      "samsam-1.1.2" = self.by-version."samsam"."1.1.2";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "formatio" ];
+  };
+  by-spec."glob"."3.2.3" =
+    self.by-version."glob"."3.2.3";
+  by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
+        name = "glob-3.2.3.tgz";
+        sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."glob" or []);
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "glob" ];
+  };
+  by-spec."graceful-fs"."~2.0.0" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "graceful-fs-2.0.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
+        name = "graceful-fs-2.0.3.tgz";
+        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."graceful-fs" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "graceful-fs" ];
+  };
+  by-spec."growl"."1.8.1" =
+    self.by-version."growl"."1.8.1";
+  by-version."growl"."1.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "growl-1.8.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
+        name = "growl-1.8.1.tgz";
+        sha1 = "4b2dec8d907e93db336624dcec0183502f8c9428";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."growl" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "growl" ];
+  };
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "inherits-2.0.1";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        name = "inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."inherits" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "inherits" ];
+  };
+  by-spec."inherits"."2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."jade"."0.26.3" =
+    self.by-version."jade"."0.26.3";
+  by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
+    name = "jade-0.26.3";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
+        name = "jade-0.26.3.tgz";
+        sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."jade" or []);
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "jade" ];
+  };
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.5.0";
+  by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lru-cache-2.5.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+        name = "lru-cache-2.5.0.tgz";
+        sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lru-cache" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "lru-cache" ];
+  };
+  by-spec."minimatch"."~0.2.11" =
+    self.by-version."minimatch"."0.2.14";
+  by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.2.14";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+        name = "minimatch-0.2.14.tgz";
+        sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch" or []);
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
+  by-spec."minimist"."0.0.8" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "minimist-0.0.8";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        name = "minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimist" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimist" ];
+  };
+  by-spec."mkdirp"."0.3.0" =
+    self.by-version."mkdirp"."0.3.0";
+  by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.3.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
+        name = "mkdirp-0.3.0.tgz";
+        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  by-spec."mkdirp"."0.5.0" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.5.0";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+        name = "mkdirp-0.5.0.tgz";
+        sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "mkdirp-0.3.5";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+        name = "mkdirp-0.3.5.tgz";
+        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mkdirp" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mkdirp" ];
+  };
+  by-spec."mocha"."~1.21.0" =
+    self.by-version."mocha"."1.21.5";
+  by-version."mocha"."1.21.5" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-1.21.5";
+    bin = true;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mocha/-/mocha-1.21.5.tgz";
+        name = "mocha-1.21.5.tgz";
+        sha1 = "7c58b09174df976e434a23b1e8d639873fc529e9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mocha" or []);
+    deps = {
+      "commander-2.3.0" = self.by-version."commander"."2.3.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+      "growl-1.8.1" = self.by-version."growl"."1.8.1";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "mocha" ];
+  };
+  "mocha" = self.by-version."mocha"."1.21.5";
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "ms-0.6.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        name = "ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ms" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "ms" ];
+  };
+  by-spec."nedb"."~1.0.0" =
+    self.by-version."nedb"."1.0.2";
+  by-version."nedb"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "nedb-1.0.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/nedb/-/nedb-1.0.2.tgz";
+        name = "nedb-1.0.2.tgz";
+        sha1 = "309f10ba29f2002f74a92fb870b8a53ba2131593";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."nedb" or []);
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "binary-search-tree-0.2.4" = self.by-version."binary-search-tree"."0.2.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "nedb" ];
+  };
+  "nedb" = self.by-version."nedb"."1.0.2";
+  by-spec."samsam"."~1.1" =
+    self.by-version."samsam"."1.1.2";
+  by-version."samsam"."1.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "samsam-1.1.2";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz";
+        name = "samsam-1.1.2.tgz";
+        sha1 = "bec11fdc83a9fda063401210e40176c3024d1567";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."samsam" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "samsam" ];
+  };
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.0";
+  by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "sigmund-1.0.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+        name = "sigmund-1.0.0.tgz";
+        sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sigmund" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sigmund" ];
+  };
+  by-spec."sinon"."~1.10.3" =
+    self.by-version."sinon"."1.10.3";
+  by-version."sinon"."1.10.3" = lib.makeOverridable self.buildNodePackage {
+    name = "sinon-1.10.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sinon/-/sinon-1.10.3.tgz";
+        name = "sinon-1.10.3.tgz";
+        sha1 = "c063e0e99d8327dc199113aab52eb83a2e9e3c2c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sinon" or []);
+    deps = {
+      "formatio-1.0.2" = self.by-version."formatio"."1.0.2";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "sinon" ];
+  };
+  "sinon" = self.by-version."sinon"."1.10.3";
+  by-spec."underscore"."^1.6.0" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore-1.7.0";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+        name = "underscore-1.7.0.tgz";
+        sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore" ];
+  };
+  "underscore" = self.by-version."underscore"."1.7.0";
+  by-spec."underscore"."~1.4.4" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore-1.4.4";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        name = "underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore" or []);
+    deps = {
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore" ];
+  };
+  by-spec."util".">=0.10.3 <1" =
+    self.by-version."util"."0.10.3";
+  by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage {
+    name = "util-0.10.3";
+    bin = false;
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        name = "util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."util" or []);
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    peerDependencies = [
+    ];
+    passthru.names = [ "util" ];
+  };
+}
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 93c671287d6..32af196c46e 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -1,25 +1,24 @@
-{ lib, pythonPackages, git, fetchgit, makeWrapper, nix }:
+{ lib, pythonPackages, fetchurl }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "nox-0.0.1";
+  name = "nox-${version}";
+  version = "0.0.1";
   namePrefix = "";
 
-  src = fetchgit {
-    url = "git://github.com/madjar/nox.git";
-    rev = "49e4bb7de473ac5e446a76c292bdaefa7e20a1c6";
-    sha256 = "1w1b2g44lj6nbs7f2j5dz5pijhfah3fyldspfb34zcv17j2nlv0b";
-    leaveDotGit = true; # required by pbr
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/n/nix-nox/nix-nox-${version}.tar.gz";
+    sha256 = "1s1jhickdhym70qrb5h4qxq1mvkpwgdppqpfb2jnpfaf1az6c207";
   };
 
-  buildInputs = [ git pythonPackages.pbr makeWrapper ];
+  buildInputs = [ pythonPackages.pbr ];
 
-  pythonPath =
-    [ pythonPackages.dogpile_cache
-      pythonPackages.click
+  pythonPath = with pythonPackages; [
+      dogpile_cache
+      click
+      requests2
+      characteristic
     ];
 
-  postInstall = "wrapProgram $out/bin/nox --prefix PATH : ${nix}/bin";
-
   meta = {
     homepage = https://github.com/madjar/nox;
     description = "Tools to make nix nicer to use";
diff --git a/pkgs/tools/package-management/opkg-utils/default.nix b/pkgs/tools/package-management/opkg-utils/default.nix
new file mode 100644
index 00000000000..9a197ca763a
--- /dev/null
+++ b/pkgs/tools/package-management/opkg-utils/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "opkg-utils-20141030";
+
+  # No releases, only a git tree
+  src = fetchgit {
+    url = "git://git.yoctoproject.org/opkg-utils";
+    rev = "762d9dadce548108d4204c2113461a7dd6f57e60";
+    sha256 = "a450643fa1353b872166a3d462297fb2eb240554eed7a9186645ffd72b353417";
+  };
+
+  preBuild = ''
+    makeFlagsArray+=(PREFIX="$out")
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Helper scripts for use with the opkg package manager";
+    homepage = http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/;
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index 6708cd1fbd1..67c4578ac9a 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, curl, gpgme }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.2";
+  version = "0.2.4";
   name = "opkg-${version}";
   src = fetchurl {
     url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "0ax10crp2grrpl20gl5iqfw37d5qz6h790lyyv2ali45agklqmda";
+    sha256 = "11ih8lay1v7sk5czk3m3cfqil4cp8s7pfz60xnddy7nqazjcfh0g";
   };
 
   buildInputs = [ pkgconfig curl gpgme ];
diff --git a/pkgs/tools/package-management/python2nix/default.nix b/pkgs/tools/package-management/python2nix/default.nix
new file mode 100644
index 00000000000..1e84a81e524
--- /dev/null
+++ b/pkgs/tools/package-management/python2nix/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchFromGitHub, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "python2nix-20140927";
+ 
+  src = fetchFromGitHub {
+    owner = "proger";
+    repo = "python2nix";
+    rev = "84e3a5bbe82e5d9d694d6db8dabf73def4ac917b";
+    sha256 = "022gr0gw6azfi3iq4ggb3fhkw2jljs6n5rncn45hb5liwakigj8i";
+  };
+
+  propagatedBuildInputs = with pythonPackages; [ requests pip setuptools ];
+
+  meta = with stdenv.lib; {
+    maintainers = [ maintainers.iElectric ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index 7997603a706..0d537a1c30c 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -15,13 +15,14 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${elfutils}/include";
 
   NIX_CFLAGS_LINK = "-L${elfutils}/lib";
-  
+
   configureFlags = "--with-external-db --without-lua --enable-python";
 
   meta = with stdenv.lib; {
     homepage = http://www.rpm.org/;
     license = licenses.gpl2;
     description = "The RPM Package Manager";
-    maintainers = with maintainers; [ mornfall ];
+    maintainers = [ maintainers.mornfall ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/aespipe/default.nix b/pkgs/tools/security/aespipe/default.nix
index dbbdb8e57a6..2fad2fe29e6 100644
--- a/pkgs/tools/security/aespipe/default.nix
+++ b/pkgs/tools/security/aespipe/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     description = "AES encrypting or decrypting pipe";
     homepage = http://loop-aes.sourceforge.net/aespipe.README;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = stdenv.lib.maintainers.goibhniu;
+    maintainers = [ stdenv.lib.maintainers.goibhniu ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/afl/README.md b/pkgs/tools/security/afl/README.md
new file mode 100644
index 00000000000..7d954461773
--- /dev/null
+++ b/pkgs/tools/security/afl/README.md
@@ -0,0 +1,19 @@
+Updating the QEMU patches
+=========================
+
+When updating to the latest American Fuzzy Lop, make sure to check for
+any new patches to qemu for binary fuzzing support:
+
+https://github.com/mirrorer/afl/tree/master/qemu_mode
+
+Be sure to check the build script and make sure it's also using the
+right QEMU version and options in `qemu.nix`:
+
+https://github.com/mirrorer/afl/blob/master/qemu_mode/build_qemu_support.sh
+
+`afl-config.h` and `afl-qemu-cpu-inl.h` are part of the afl source
+code, and copied from `config.h` and `afl-qemu-cpu-inl.h`
+appropriately. The QEMU patches need to be slightly adjusted to
+`#include` these files (the patches try to otherwise include files
+like `../../config.h` which causes the build to fail). See `qemu.nix`
+for details.
diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix
new file mode 100644
index 00000000000..93c5988b55d
--- /dev/null
+++ b/pkgs/tools/security/afl/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, bash, callPackage, makeWrapper }:
+
+let
+  afl-qemu = callPackage ./qemu.nix {};
+  qemu-exe-name = if stdenv.system == "x86_64-linux" then "qemu-x86_64"
+    else if stdenv.system == "i686-linux" then "qemu-i386"
+    else throw "afl: no support for ${stdenv.system}!";
+in
+stdenv.mkDerivation rec {
+  name    = "afl-${version}";
+  version = "1.58b";
+
+  src = fetchurl {
+    url    = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz";
+    sha256 = "1szggm4x9i9bsrcb99s5vbgncagp7jvhz8cg9amkx7p6mp2x4pld";
+  };
+
+  buildInputs  = [ makeWrapper ];
+
+  buildPhase   = "make PREFIX=$out";
+  installPhase = ''
+    # Do the normal installation
+    make install PREFIX=$out
+
+    # Install the custom QEMU emulator for binary blob fuzzing.
+    cp ${afl-qemu}/bin/${qemu-exe-name} $out/bin/afl-qemu-trace
+
+    # Wrap every program with a custom $AFL_PATH; I believe there is a
+    # bug in afl which causes it to fail to find `afl-qemu-trace`
+    # relative to `afl-fuzz` or `afl-showmap`, so we instead set
+    # $AFL_PATH as a workaround, which allows it to be found.
+    for x in `ls $out/bin/afl-*`; do
+      wrapProgram $x --prefix AFL_PATH : "$out/bin"
+    done
+  '';
+
+  meta = {
+    description = "Powerful fuzzer via genetic algorithms and instrumentation";
+    longDescription = ''
+      American fuzzy lop is a fuzzer that employs a novel type of
+      compile-time instrumentation and genetic algorithms to
+      automatically discover clean, interesting test cases that
+      trigger new internal states in the targeted binary. This
+      substantially improves the functional coverage for the fuzzed
+      code. The compact synthesized corpora produced by the tool are
+      also useful for seeding other, more labor or resource-intensive
+      testing regimes down the road.
+    '';
+    homepage    = "http://lcamtuf.coredump.cx/afl/";
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/afl/qemu-patches/afl-config.h b/pkgs/tools/security/afl/qemu-patches/afl-config.h
new file mode 100644
index 00000000000..051b38ffbca
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/afl-config.h
@@ -0,0 +1,329 @@
+/*
+   american fuzzy lop - vaguely configurable bits
+   ----------------------------------------------
+
+   Written and maintained by Michal Zalewski <lcamtuf@google.com>
+
+   Copyright 2013, 2014, 2015 Google Inc. All rights reserved.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at:
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ */
+
+#ifndef _HAVE_CONFIG_H
+#define _HAVE_CONFIG_H
+
+#include "afl-types.h"
+
+/******************************************************
+ *                                                    *
+ *  Settings that may be of interest to power users:  *
+ *                                                    *
+ ******************************************************/
+
+/* Comment out to disable terminal colors: */
+
+#define USE_COLOR
+
+/* Comment out to disable fancy ANSI boxes and use poor man's 7-bit UI: */
+
+#define FANCY_BOXES
+
+/* Default timeout for fuzzed code (milliseconds): */
+
+#define EXEC_TIMEOUT        1000
+
+/* Timeout rounding factor when auto-scaling (milliseconds): */
+
+#define EXEC_TM_ROUND       20
+
+/* Default memory limit for child process (MB): */
+
+#ifndef __x86_64__ 
+#  define MEM_LIMIT         25
+#else
+#  define MEM_LIMIT         50
+#endif /* ^!__x86_64__ */
+
+/* Default memory limit when running in QEMU mode (MB): */
+
+#define MEM_LIMIT_QEMU      200
+
+/* Number of calibration cycles per every new test case (and for test
+   cases that show variable behavior): */
+
+#define CAL_CYCLES          10
+#define CAL_CYCLES_LONG     40
+
+/* The same, but when AFL_NO_VAR_CHECK is set in the environment: */
+
+#define CAL_CYCLES_NO_VAR   4
+
+/* Number of subsequent hangs before abandoning an input file: */
+
+#define HANG_LIMIT          250
+
+/* Maximum number of unique hangs or crashes to record: */
+
+#define KEEP_UNIQUE_HANG    500
+#define KEEP_UNIQUE_CRASH   5000
+
+/* Baseline number of random tweaks during a single 'havoc' stage: */
+
+#define HAVOC_CYCLES        5000
+
+/* Maximum multiplier for the above (should be a power of two, beware
+   of 32-bit int overflows): */
+
+#define HAVOC_MAX_MULT      16
+
+/* Absolute minimum number of havoc cycles (after all adjustments): */
+
+#define HAVOC_MIN           10
+
+/* Maximum stacking for havoc-stage tweaks. The actual value is calculated
+   like this: 
+
+   n = random between 0 and HAVOC_STACK_POW2
+   stacking = 2^n
+
+   In other words, the default (n = 7) produces 1, 2, 4, 8, 16, 32, 64, or
+   128 stacked tweaks: */
+
+#define HAVOC_STACK_POW2    7
+
+/* Caps on block sizes for cloning and deletion operations. Each of these
+   ranges has a 33% probability of getting picked, except for the first
+   two cycles where smaller blocks are favored: */
+
+#define HAVOC_BLK_SMALL     32
+#define HAVOC_BLK_MEDIUM    128
+#define HAVOC_BLK_LARGE     1500
+
+/* Probabilities of skipping non-favored entries in the queue, expressed as
+   percentages: */
+
+#define SKIP_TO_NEW_PROB    99 /* ...when there are new, pending favorites */
+#define SKIP_NFAV_OLD_PROB  95 /* ...no new favs, cur entry already fuzzed */
+#define SKIP_NFAV_NEW_PROB  75 /* ...no new favs, cur entry not fuzzed yet */
+
+/* Splicing cycle count: */
+
+#define SPLICE_CYCLES       20
+
+/* Nominal per-splice havoc cycle length: */
+
+#define SPLICE_HAVOC        500
+
+/* Maximum offset for integer addition / subtraction stages: */
+
+#define ARITH_MAX           35
+
+/* Limits for the test case trimmer. The absolute minimum chunk size; and
+   the starting and ending divisors for chopping up the input file: */
+
+#define TRIM_MIN_BYTES      4
+#define TRIM_START_STEPS    16
+#define TRIM_END_STEPS      1024
+
+/* Maximum size of input file, in bytes (keep under 100MB): */
+
+#define MAX_FILE            (1 * 1024 * 1024)
+
+/* The same, for the test case minimizer: */
+
+#define TMIN_MAX_FILE       (10 * 1024 * 1024)
+
+/* Maximum dictionary token size (-x), in bytes: */
+
+#define MAX_DICT_FILE       128
+
+/* Length limits for auto-detected dictionary tokens: */
+
+#define MIN_AUTO_EXTRA      3
+#define MAX_AUTO_EXTRA      32
+
+/* Maximum number of user-specified dictionary tokens to use in deterministic
+   steps; past this point, the "extras/user" step will be still carried out,
+   but with proportionally lower odds: */
+
+#define MAX_DET_EXTRAS      200
+
+/* Maximum number of auto-extracted dictionary tokens to actually use in fuzzing
+   (first value), and to keep in memory as candidates. The latter should be much
+   higher than the former. */
+
+#define USE_AUTO_EXTRAS     50
+#define MAX_AUTO_EXTRAS     (USE_AUTO_EXTRAS * 10)
+
+/* Scaling factor for the effector map used to skip some of the more
+   expensive deterministic steps. The actual divisor is set to
+   2^EFF_MAP_SCALE2 bytes: */
+
+#define EFF_MAP_SCALE2      3
+
+/* Minimum input file length at which the effector logic kicks in: */
+
+#define EFF_MIN_LEN         128
+
+/* Maximum effector density past which everything is just fuzzed
+   unconditionally (%): */
+
+#define EFF_MAX_PERC        90
+
+/* UI refresh frequency (Hz): */
+
+#define UI_TARGET_HZ        5
+
+/* Fuzzer stats file and plot update intervals (sec): */
+
+#define STATS_UPDATE_SEC    60
+#define PLOT_UPDATE_SEC     5
+
+/* Smoothing divisor for CPU load and exec speed stats (1 - no smoothing). */
+
+#define AVG_SMOOTHING       16
+
+/* Sync interval (every n havoc cycles): */
+
+#define SYNC_INTERVAL       5
+
+/* Output directory reuse grace period (minutes): */
+
+#define OUTPUT_GRACE        25
+
+/* Uncomment to use simple file names (id_NNNNNN): */
+
+// #define SIMPLE_FILES
+
+/* List of interesting values to use in fuzzing. */
+
+#define INTERESTING_8 \
+  -128,          /* Overflow signed 8-bit when decremented  */ \
+  -1,            /*                                         */ \
+   0,            /*                                         */ \
+   1,            /*                                         */ \
+   16,           /* One-off with common buffer size         */ \
+   32,           /* One-off with common buffer size         */ \
+   64,           /* One-off with common buffer size         */ \
+   100,          /* One-off with common buffer size         */ \
+   127           /* Overflow signed 8-bit when incremented  */
+
+#define INTERESTING_16 \
+  -32768,        /* Overflow signed 16-bit when decremented */ \
+  -129,          /* Overflow signed 8-bit                   */ \
+   128,          /* Overflow signed 8-bit                   */ \
+   255,          /* Overflow unsig 8-bit when incremented   */ \
+   256,          /* Overflow unsig 8-bit                    */ \
+   512,          /* One-off with common buffer size         */ \
+   1000,         /* One-off with common buffer size         */ \
+   1024,         /* One-off with common buffer size         */ \
+   4096,         /* One-off with common buffer size         */ \
+   32767         /* Overflow signed 16-bit when incremented */
+
+#define INTERESTING_32 \
+  -2147483648LL, /* Overflow signed 32-bit when decremented */ \
+  -100663046,    /* Large negative number (endian-agnostic) */ \
+  -32769,        /* Overflow signed 16-bit                  */ \
+   32768,        /* Overflow signed 16-bit                  */ \
+   65535,        /* Overflow unsig 16-bit when incremented  */ \
+   65536,        /* Overflow unsig 16 bit                   */ \
+   100663045,    /* Large positive number (endian-agnostic) */ \
+   2147483647    /* Overflow signed 32-bit when incremented */
+
+/***********************************************************
+ *                                                         *
+ *  Really exotic stuff you probably don't want to touch:  *
+ *                                                         *
+ ***********************************************************/
+
+/* Call count interval between reseeding the libc PRNG from /dev/urandom: */
+
+#define RESEED_RNG          10000
+
+/* Maximum line length passed from GCC to 'as': */
+
+#define MAX_AS_LINE         8192
+
+/* Environment variable used to pass SHM ID to the called program. */
+
+#define SHM_ENV_VAR         "__AFL_SHM_ID"
+
+/* Other less interesting, internal-only variables. */
+
+#define CLANG_ENV_VAR       "__AFL_CLANG_MODE"
+#define AS_LOOP_ENV_VAR     "__AFL_AS_LOOPCHECK"
+
+/* Distinctive bitmap signature used to indicate failed execution: */
+
+#define EXEC_FAIL_SIG       0xfee1dead
+
+/* Distinctive exit code used to indicate MSAN trip condition: */
+
+#define MSAN_ERROR          86
+
+/* Designated file descriptors for forkserver commands (the application will
+   use FORKSRV_FD and FORKSRV_FD + 1): */
+
+#define FORKSRV_FD          198
+
+/* Fork server init timeout multiplier: we'll wait the user-selected
+   timeout plus this much for the fork server to spin up. */
+
+#define FORK_WAIT_MULT      10
+
+/* Calibration timeout adjustments, to be a bit more generous when resuming
+   fuzzing sessions or trying to calibrate already-added internal finds.
+   The first value is a percentage, the other is in milliseconds: */
+
+#define CAL_TMOUT_PERC      125
+#define CAL_TMOUT_ADD       50
+
+/* Number of chances to calibrate a case before giving up: */
+
+#define CAL_CHANCES         3
+
+/* Map size for the traced binary (2^MAP_SIZE_POW2). Must be greater than
+   2; you probably want to keep it under 18 or so for performance reasons
+   (adjusting AFL_INST_RATIO when compiling is probably a better way to solve
+   problems with complex programs). You need to recompile the target binary
+   after changing this - otherwise, SEGVs may ensue. */
+
+#define MAP_SIZE_POW2       16
+#define MAP_SIZE            (1 << MAP_SIZE_POW2)
+
+/* Maximum allocator request size (keep well under INT_MAX): */
+
+#define MAX_ALLOC           0x40000000
+
+/* A made-up hashing seed: */
+
+#define HASH_CONST          0xa5b35705
+
+/* Constants for afl-gotcpu to control busy loop timing: */
+
+#define  CTEST_TARGET_MS    5000
+#define  CTEST_BUSY_CYCLES  (10 * 1000 * 1000)
+
+/* Uncomment this to use inferior block-coverage-based instrumentation. Note
+   that you need to recompile the target binary for this to have any effect: */
+
+// #define COVERAGE_ONLY
+
+/* Uncomment this to ignore hit counts and output just one bit per tuple.
+   As with the previous setting, you will need to recompile the target
+   binary: */
+
+// #define SKIP_COUNTS
+
+/* Uncomment this to use instrumentation data to record newly discovered paths,
+   but do not use them as seeds for fuzzing. This is useful for conveniently
+   measuring coverage that could be attained by a "dumb" fuzzing algorithm: */
+
+// #define IGNORE_FINDS
+
+#endif /* ! _HAVE_CONFIG_H */
diff --git a/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h b/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h
new file mode 100644
index 00000000000..c6ebc873ae0
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h
@@ -0,0 +1,290 @@
+/*
+   american fuzzy lop - high-performance binary-only instrumentation
+   -----------------------------------------------------------------
+
+   Written by Andrew Griffiths <agriffiths@google.com> and
+              Michal Zalewski <lcamtuf@google.com>
+
+   Idea & design very much by Andrew Griffiths.
+
+   Copyright 2015 Google Inc. All rights reserved.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at:
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   This code is a shim patched into the separately-distributed source
+   code of QEMU 2.2.0. It leverages the built-in QEMU tracing functionality
+   to implement AFL-style instrumentation and to take care of the remaining
+   parts of the AFL fork server logic.
+
+   The resulting QEMU binary is essentially a standalone instrumentation
+   tool; for an example of how to leverage it for other purposes, you can
+   have a look at afl-showmap.c.
+
+ */
+
+#include <sys/shm.h>
+#include "afl-config.h"
+
+/***************************
+ * VARIOUS AUXILIARY STUFF *
+ ***************************/
+
+/* A snippet patched into tb_find_slow to inform the parent process that
+   we have hit a new block that hasn't been translated yet, and to tell
+   it to translate within its own context, too (this avoids translation
+   overhead in the next forked-off copy). */
+
+#define AFL_QEMU_CPU_SNIPPET1 do { \
+    afl_request_tsl(pc, cs_base, flags); \
+  } while (0)
+
+/* This snippet kicks in when the instruction pointer is positioned at
+   _start and does the usual forkserver stuff, not very different from
+   regular instrumentation injected via afl-as.h. */
+
+#define AFL_QEMU_CPU_SNIPPET2 do { \
+    if(tb->pc == afl_entry_point) { \
+      afl_setup(); \
+      afl_forkserver(env); \
+    } \
+    afl_maybe_log(tb->pc); \
+  } while (0)
+
+/* We use one additional file descriptor to relay "needs translation"
+   messages between the child and the fork server. */
+
+#define TSL_FD (FORKSRV_FD - 1)
+
+/* This is equivalent to afl-as.h: */
+
+static unsigned char *afl_area_ptr;
+
+/* Exported variables populated by the code patched into elfload.c: */
+
+abi_ulong afl_entry_point, /* ELF entry point (_start) */
+          afl_start_code,  /* .text start pointer      */
+          afl_end_code;    /* .text end pointer        */
+
+/* Set in the child process in forkserver mode: */
+
+static unsigned char afl_fork_child;
+unsigned int afl_forksrv_pid;
+
+/* Instrumentation ratio: */
+
+static unsigned int afl_inst_rms = MAP_SIZE;
+
+/* Function declarations. */
+
+static void afl_setup(void);
+static void afl_forkserver(CPUArchState*);
+static inline void afl_maybe_log(abi_ulong);
+
+static void afl_wait_tsl(CPUArchState*, int);
+static void afl_request_tsl(target_ulong, target_ulong, uint64_t);
+
+static TranslationBlock *tb_find_slow(CPUArchState*, target_ulong,
+                                      target_ulong, uint64_t);
+
+
+/* Data structure passed around by the translate handlers: */
+
+struct afl_tsl {
+  target_ulong pc;
+  target_ulong cs_base;
+  uint64_t flags;
+};
+
+
+/*************************
+ * ACTUAL IMPLEMENTATION *
+ *************************/
+
+
+/* Set up SHM region and initialize other stuff. */
+
+static void afl_setup(void) {
+
+  char *id_str = getenv(SHM_ENV_VAR),
+       *inst_r = getenv("AFL_INST_RATIO");
+
+  int shm_id;
+
+  if (inst_r) {
+
+    unsigned int r;
+
+    r = atoi(inst_r);
+
+    if (r > 100) r = 100;
+    if (!r) r = 1;
+
+    afl_inst_rms = MAP_SIZE * r / 100;
+
+  }
+
+  if (id_str) {
+
+    shm_id = atoi(id_str);
+    afl_area_ptr = shmat(shm_id, NULL, 0);
+
+    if (afl_area_ptr == (void*)-1) exit(1);
+
+  }
+
+  if (getenv("AFL_INST_LIBS")) {
+
+    afl_start_code = 0;
+    afl_end_code   = (abi_ulong)-1;
+
+  }
+
+}
+
+
+/* Fork server logic, invoked once we hit _start. */
+
+static void afl_forkserver(CPUArchState *env) {
+
+  static unsigned char tmp[4];
+
+  if (!afl_area_ptr) return;
+
+  /* Tell the parent that we're alive. If the parent doesn't want
+     to talk, assume that we're not running in forkserver mode. */
+
+  if (write(FORKSRV_FD + 1, tmp, 4) != 4) return;
+
+  afl_forksrv_pid = getpid();
+
+  /* All right, let's await orders... */
+
+  while (1) {
+
+    pid_t child_pid;
+    int status, t_fd[2];
+
+    /* Whoops, parent dead? */
+
+    if (read(FORKSRV_FD, tmp, 4) != 4) exit(2);
+
+    /* Establish a channel with child to grab translation commands. We'll 
+       read from t_fd[0], child will write to TSL_FD. */
+
+    if (pipe(t_fd) || dup2(t_fd[1], TSL_FD) < 0) exit(3);
+    close(t_fd[1]);
+
+    child_pid = fork();
+    if (child_pid < 0) exit(4);
+
+    if (!child_pid) {
+
+      /* Child process. Close descriptors and run free. */
+
+      afl_fork_child = 1;
+      close(FORKSRV_FD);
+      close(FORKSRV_FD + 1);
+      close(t_fd[0]);
+      return;
+
+    }
+
+    /* Parent. */
+
+    close(TSL_FD);
+
+    if (write(FORKSRV_FD + 1, &child_pid, 4) != 4) exit(5);
+
+    /* Collect translation requests until child dies and closes the pipe. */
+
+    afl_wait_tsl(env, t_fd[0]);
+
+    /* Get and relay exit status to parent. */
+
+    if (waitpid(child_pid, &status, WUNTRACED) < 0) exit(6);
+    if (write(FORKSRV_FD + 1, &status, 4) != 4) exit(7);
+
+  }
+
+}
+
+
+/* The equivalent of the tuple logging routine from afl-as.h. */
+
+static inline void afl_maybe_log(abi_ulong cur_loc) {
+
+  static abi_ulong prev_loc;
+
+  /* Optimize for cur_loc > afl_end_code, which is the most likely case on
+     Linux systems. */
+
+  if (cur_loc > afl_end_code || cur_loc < afl_start_code || !afl_area_ptr)
+    return;
+
+  /* Looks like QEMU always maps to fixed locations, so we can skip this:
+     cur_loc -= afl_start_code; */
+
+  /* Instruction addresses may be aligned. Let's mangle the value to get
+     something quasi-uniform. */
+
+  cur_loc  = (cur_loc >> 4) ^ (cur_loc << 8);
+  cur_loc &= MAP_SIZE - 1;
+
+  /* Implement probabilistic instrumentation by looking at scrambled block
+     address. This keeps the instrumented locations stable across runs. */
+
+  if (cur_loc >= afl_inst_rms) return;
+
+  afl_area_ptr[cur_loc ^ prev_loc]++;
+  prev_loc = cur_loc >> 1;
+
+}
+
+
+/* This code is invoked whenever QEMU decides that it doesn't have a
+   translation of a particular block and needs to compute it. When this happens,
+   we tell the parent to mirror the operation, so that the next fork() has a
+   cached copy. */
+
+static void afl_request_tsl(target_ulong pc, target_ulong cb, uint64_t flags) {
+
+  struct afl_tsl t;
+
+  if (!afl_fork_child) return;
+
+  t.pc      = pc;
+  t.cs_base = cb;
+  t.flags   = flags;
+
+  if (write(TSL_FD, &t, sizeof(struct afl_tsl)) != sizeof(struct afl_tsl))
+    return;
+
+}
+
+
+/* This is the other side of the same channel. Since timeouts are handled by
+   afl-fuzz simply killing the child, we can just wait until the pipe breaks. */
+
+static void afl_wait_tsl(CPUArchState *env, int fd) {
+
+  struct afl_tsl t;
+
+  while (1) {
+
+    /* Broken pipe means it's time to return to the fork server routine. */
+
+    if (read(fd, &t, sizeof(struct afl_tsl)) != sizeof(struct afl_tsl))
+      break;
+
+    tb_find_slow(env, t.pc, t.cs_base, t.flags);
+
+  }
+
+  close(fd);
+
+}
+
diff --git a/pkgs/tools/security/afl/qemu-patches/afl-types.h b/pkgs/tools/security/afl/qemu-patches/afl-types.h
new file mode 100644
index 00000000000..58d6be51e2d
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/afl-types.h
@@ -0,0 +1,79 @@
+/*
+   american fuzzy lop - type definitions and minor macros
+   ------------------------------------------------------
+
+   Written and maintained by Michal Zalewski <lcamtuf@google.com>
+
+   Copyright 2013, 2014, 2015 Google Inc. All rights reserved.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at:
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ */
+
+#ifndef _HAVE_TYPES_H
+#define _HAVE_TYPES_H
+
+#include <stdint.h>
+#include <stdlib.h>
+
+typedef uint8_t  u8;
+typedef uint16_t u16;
+typedef uint32_t u32;
+
+/*
+
+   Ugh. There is an unintended compiler / glibc #include glitch caused by
+   combining the u64 type an %llu in format strings, necessitating a workaround.
+
+   In essence, the compiler is always looking for 'unsigned long long' for %llu.
+   On 32-bit systems, the u64 type (aliased to uint64_t) is expanded to
+   'unsigned long long' in <bits/types.h>, so everything checks out.
+
+   But on 64-bit systems, it is #ifdef'ed in the same file as 'unsigned long'.
+   Now, it only happens in circumstances where the type happens to have the
+   expected bit width, *but* the compiler does not know that... and complains
+   about 'unsigned long' being unsafe to pass to %llu.
+
+ */
+
+#ifdef __x86_64__
+typedef unsigned long long u64;
+#else
+typedef uint64_t u64;
+#endif /* ^sizeof(...) */
+
+typedef int8_t   s8;
+typedef int16_t  s16;
+typedef int32_t  s32;
+typedef int64_t  s64;
+
+#ifndef MIN
+#  define MIN(_a,_b) ((_a) > (_b) ? (_b) : (_a))
+#  define MAX(_a,_b) ((_a) > (_b) ? (_a) : (_b))
+#endif /* !MIN */
+
+#define SWAP16(_x) ({ \
+    u16 _ret = (_x); \
+    (u16)((_ret << 8) | (_ret >> 8)); \
+  })
+
+#define SWAP32(_x) ({ \
+    u32 _ret = (_x); \
+    (u32)((_ret << 24) | (_ret >> 24) | \
+          ((_ret << 8) & 0x00FF0000) | \
+          ((_ret >> 8) & 0x0000FF00)); \
+  })
+
+#define R(x) (random() % (x))
+
+#define STRINGIFY_INTERNAL(x) #x
+#define STRINGIFY(x) STRINGIFY_INTERNAL(x)
+
+#define MEM_BARRIER() \
+  asm volatile("" ::: "memory")
+
+#endif /* ! _HAVE_TYPES_H */
diff --git a/pkgs/tools/security/afl/qemu-patches/cpu-exec.patch b/pkgs/tools/security/afl/qemu-patches/cpu-exec.patch
new file mode 100644
index 00000000000..29b65e71b9a
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/cpu-exec.patch
@@ -0,0 +1,33 @@
+--- qemu-2.2.0/cpu-exec.c.orig     2014-12-09 14:45:40.000000000 +0000
++++ qemu-2.2.0/cpu-exec.c  2015-02-20 22:07:02.966000000 +0000
+@@ -25,6 +25,8 @@
+ #include "sysemu/qtest.h"
+ #include "qemu/timer.h"
+
++#include "afl-qemu-cpu-inl.h"
++
+ /* -icount align implementation. */
+
+ typedef struct SyncClocks {
+@@ -262,8 +264,11 @@
+     }
+  not_found:
+    /* if no translated code available, then translate it now */
++
+     tb = tb_gen_code(cpu, pc, cs_base, flags, 0);
+
++    AFL_QEMU_CPU_SNIPPET1;
++
+  found:
+     /* Move the last found TB to the head of the list */
+     if (likely(*ptb1)) {
+@@ -455,6 +460,9 @@
+                     next_tb = 0;
+                     tcg_ctx.tb_ctx.tb_invalidated_flag = 0;
+                 }
++
++                AFL_QEMU_CPU_SNIPPET2;
++
+                 if (qemu_loglevel_mask(CPU_LOG_EXEC)) {
+                     qemu_log("Trace %p [" TARGET_FMT_lx "] %s\n",
+                              tb->tc_ptr, tb->pc, lookup_symbol(tb->pc));
diff --git a/pkgs/tools/security/afl/qemu-patches/elfload.patch b/pkgs/tools/security/afl/qemu-patches/elfload.patch
new file mode 100644
index 00000000000..65f1572e9a7
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/elfload.patch
@@ -0,0 +1,32 @@
+--- qemu-2.2.0/linux-user/elfload.c.orig	2014-12-09 14:45:42.000000000 +0000
++++ qemu-2.2.0/linux-user/elfload.c	2015-01-28 02:51:23.719000000 +0000
+@@ -28,6 +28,8 @@
+ 
+ #define ELF_OSABI   ELFOSABI_SYSV
+ 
++extern abi_ulong afl_entry_point, afl_start_code, afl_end_code;
++
+ /* from personality.h */
+ 
+ /*
+@@ -1886,6 +1888,8 @@
+     info->brk = 0;
+     info->elf_flags = ehdr->e_flags;
+ 
++    if (!afl_entry_point) afl_entry_point = info->entry;
++
+     for (i = 0; i < ehdr->e_phnum; i++) {
+         struct elf_phdr *eppnt = phdr + i;
+         if (eppnt->p_type == PT_LOAD) {
+@@ -1919,9 +1923,11 @@
+             if (elf_prot & PROT_EXEC) {
+                 if (vaddr < info->start_code) {
+                     info->start_code = vaddr;
++                    if (!afl_start_code) afl_start_code = vaddr;
+                 }
+                 if (vaddr_ef > info->end_code) {
+                     info->end_code = vaddr_ef;
++                    if (!afl_end_code) afl_end_code = vaddr_ef;
+                 }
+             }
+             if (elf_prot & PROT_WRITE) {
diff --git a/pkgs/tools/security/afl/qemu-patches/no-etc-install.patch b/pkgs/tools/security/afl/qemu-patches/no-etc-install.patch
new file mode 100644
index 00000000000..81d29feea3d
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/no-etc-install.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile b/Makefile
+index d6b9dc1..ce7c493 100644
+--- a/Makefile
++++ b/Makefile
+@@ -384,8 +384,7 @@ install-confdir:
+ install-sysconfig: install-datadir install-confdir
+ 	$(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(qemu_confdir)"
+ 
+-install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig \
+-install-datadir install-localstatedir
++install: all $(if $(BUILD_DOCS),install-doc) install-datadir
+ ifneq ($(TOOLS),)
+ 	$(call install-prog,$(TOOLS),$(DESTDIR)$(bindir))
+ endif
diff --git a/pkgs/tools/security/afl/qemu-patches/syscall.patch b/pkgs/tools/security/afl/qemu-patches/syscall.patch
new file mode 100644
index 00000000000..c8ffb61ba2c
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/syscall.patch
@@ -0,0 +1,25 @@
+--- qemu-2.2.0/linux-user/syscall.c.orig	2014-12-09 14:45:43.000000000 +0000
++++ qemu-2.2.0/linux-user/syscall.c	2015-03-27 06:33:00.736000000 +0000
+@@ -227,7 +227,21 @@
+ _syscall3(int,sys_rt_sigqueueinfo,int,pid,int,sig,siginfo_t *,uinfo)
+ _syscall3(int,sys_syslog,int,type,char*,bufp,int,len)
+ #if defined(TARGET_NR_tgkill) && defined(__NR_tgkill)
+-_syscall3(int,sys_tgkill,int,tgid,int,pid,int,sig)
++
++extern unsigned int afl_forksrv_pid;
++
++static int sys_tgkill(int tgid, int pid, int sig) {
++
++  /* Workaround for -lpthread to make abort() work properly, without
++     killing the forkserver due to a prematurely cached PID. */
++
++  if (afl_forksrv_pid && afl_forksrv_pid == pid && sig == SIGABRT)
++    pid = tgid = getpid();
++
++  return syscall(__NR_sys_tgkill, pid, tgid, sig);
++
++}
++
+ #endif
+ #if defined(TARGET_NR_tkill) && defined(__NR_tkill)
+ _syscall2(int,sys_tkill,int,tid,int,sig)
diff --git a/pkgs/tools/security/afl/qemu-patches/translate-all.patch b/pkgs/tools/security/afl/qemu-patches/translate-all.patch
new file mode 100644
index 00000000000..89163b607fd
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/translate-all.patch
@@ -0,0 +1,18 @@
+--- qemu-2.2.0/translate-all.c.orig     2014-12-09 14:45:46.000000000 +0000
++++ qemu-2.2.0/translate-all.c  2015-01-28 22:37:42.383000000 +0000
+@@ -387,8 +387,13 @@
+     /* We can't use g_malloc because it may recurse into a locked mutex. */
+ # define ALLOC(P, SIZE)                                 \
+     do {                                                \
+-        P = mmap(NULL, SIZE, PROT_READ | PROT_WRITE,    \
+-                 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);   \
++      void* _tmp = mmap(NULL, SIZE, PROT_READ | PROT_WRITE, \
++                        MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); \
++      if (_tmp == (void*)-1) { \
++        qemu_log(">>> Out of memory for stack, bailing out. <<<\n"); \
++        exit(1); \
++      } \
++      (P) = _tmp; \
+     } while (0)
+ #else
+ # define ALLOC(P, SIZE) \
diff --git a/pkgs/tools/security/afl/qemu.nix b/pkgs/tools/security/afl/qemu.nix
new file mode 100644
index 00000000000..441d64415cb
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl
+, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
+, libaio, libcap_ng, gnutls, pixman, autoconf
+, writeText
+}:
+
+with stdenv.lib;
+
+let
+  n = "qemu-2.2.0";
+
+  aflHeaderFile = writeText "afl-qemu-cpu-inl.h"
+    (builtins.readFile ./qemu-patches/afl-qemu-cpu-inl.h);
+  aflConfigFile = writeText "afl-config.h"
+    (builtins.readFile ./qemu-patches/afl-config.h);
+  aflTypesFile = writeText "afl-types.h"
+    (builtins.readFile ./qemu-patches/afl-types.h);
+
+  cpuTarget = if stdenv.system == "x86_64-linux" then "x86_64-linux-user"
+    else if stdenv.system == "i686-linux" then "i386-linux-user"
+    else throw "afl: no support for ${stdenv.system}!";
+in
+stdenv.mkDerivation rec {
+  name = "afl-${n}";
+
+  src = fetchurl {
+    url = "http://wiki.qemu.org/download/${n}.tar.bz2";
+    sha256 = "1703c3scl5n07gmpilg7g2xzyxnr7jczxgx6nn4m8kv9gin9p35n";
+  };
+
+  buildInputs =
+    [ python zlib pkgconfig glib pixman ncurses perl attr libcap
+      vde2 texinfo libuuid flex bison lzo snappy autoconf
+      libcap_ng gnutls
+    ]
+    ++ optionals (hasSuffix "linux" stdenv.system) [ libaio ];
+
+  enableParallelBuilding = true;
+
+  patches =
+    [ ./qemu-patches/elfload.patch
+      ./qemu-patches/cpu-exec.patch
+      ./qemu-patches/no-etc-install.patch
+      ./qemu-patches/translate-all.patch
+      ./qemu-patches/syscall.patch
+    ];
+
+  preConfigure = ''
+    cp ${aflTypesFile}  afl-types.h
+    cp ${aflConfigFile} afl-config.h
+    cp ${aflHeaderFile} afl-qemu-cpu-inl.h
+  '';
+
+  configureFlags =
+    [ "--disable-system"
+      "--enable-linux-user"
+      "--enable-guest-base"
+      "--disable-gtk"
+      "--disable-sdl"
+      "--disable-vnc"
+      "--target-list=${cpuTarget}"
+      "--sysconfdir=/etc"
+      "--localstatedir=/var"
+    ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.qemu.org/;
+    description = "Fork of QEMU with American Fuzzy Lop instrumentation support";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ thoughtpolice ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/aide/default.nix b/pkgs/tools/security/aide/default.nix
new file mode 100644
index 00000000000..c1b6fe197a1
--- /dev/null
+++ b/pkgs/tools/security/aide/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, flex, bison, libmhash, zlib, acl, attr, libselinux }:
+stdenv.mkDerivation rec {
+  name = "aide-${version}";
+  version = "0.16a2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/aide/devel/0.16a2/aide-${version}.tar.gz";
+    sha256 = "11qvp6l2x4ajq9485lmg722gfdikh8r2wqfw17m0jm68df0m295m";
+  };
+
+  buildInputs = [ flex bison libmhash zlib acl attr libselinux ];
+
+
+  configureFlags = [
+    "--with-posix-acl"
+    "--with-selinux"
+    "--with-xattr"
+    ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://aide.sourceforge.net/";
+    description = "Advanced Intrusion Detection Environment (AIDE) is a file and directory integrity checker";
+    license = licenses.free;
+    maintainers = [ maintainers.tstrobel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 2190a1ffbe6..24d88517b6a 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
-  name = "apg-2.2.3";
+  name = "apg-2.3.0b";
   src = fetchurl {
     url = "http://www.adel.nursat.kz/apg/download/${name}.tar.gz";
-    sha256 = "1fkxpaifv925i385krsyslrig42ksws5y19hfq5asn1rwv6zmjb9";
+    sha256 = "14lbq81xrcsmpk1b9qmqyz7n6ypf08zcxvcvp6f7ybcyf0lj1rfi";
   };
   configurePhase = ''
     substituteInPlace Makefile --replace /usr/local "$out"
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index 42af2e0b57e..c9a261ba97a 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pcsclite, pkgconfig, libusb1, perl }:
+
 stdenv.mkDerivation rec {
-  version = "1.4.16";
+  version = "1.4.18";
   name = "ccid-${version}";
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/c/ccid/ccid_${version}.orig.tar.bz2";
-    sha256 = "0a0e6aa38863c79e38673c085254fa94fd0aa040b9622304a8d6d4222b7e7ea0";
+    sha256 = "1aj14lkmfaxkhk5swqfgn2x18j7fijxs0jnxnx9cdc9f5mxaknsz";
   };
 
   patchPhase = ''
@@ -18,11 +19,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pcsclite pkgconfig libusb1 ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "ccid drivers for pcsclite";
     homepage = http://pcsclite.alioth.debian.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric wkennington ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index fc43f01b344..350a6f369f0 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,26 +1,31 @@
-{ stdenv, fetchurl, zlib, bzip2, libiconv }:
+{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl }:
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.98.1";
+  version = "0.98.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz";
-    sha256 = "1p13n8g3b88cxwxj07if9z1d2cav1ib94v6cq4r4bpacfd6yix9m";
+    sha256 = "0l99a0shgzpl8rvrrgbm1ki2zxlb7g1n82bhq7f2snj4amfj94b5";
   };
 
-  buildInputs = [ zlib bzip2 libiconv ];
+  buildInputs = [ zlib bzip2 libxml2 openssl ncurses curl libiconv ];
 
   configureFlags = [
     "--with-zlib=${zlib}"
     "--with-libbz2-prefix=${bzip2}"
     "--with-iconv-dir=${libiconv}"
-    "--disable-clamav" ];
+    "--with-xml=${libxml2}"
+    "--with-openssl=${openssl}"
+    "--with-libncurses-prefix=${ncurses}"
+    "--with-libcurl=${curl}"
+    "--disable-clamav"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://www.clamav.net;
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
-    maintainers = [ maintainers.phreedom ];
+    maintainers = [ maintainers.phreedom maintainers.robberer ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/ecryptfs/default.nix b/pkgs/tools/security/ecryptfs/default.nix
index 13046aa0b2d..590e6071b52 100644
--- a/pkgs/tools/security/ecryptfs/default.nix
+++ b/pkgs/tools/security/ecryptfs/default.nix
@@ -1,24 +1,42 @@
-{ stdenv, fetchurl, pkgconfig, perl, keyutils, nss, nspr, python, pam
-, intltool, makeWrapper, coreutils, gettext, cryptsetup, lvm2, rsync, which }:
+{ stdenv, fetchurl, pkgconfig, perl, utillinux, keyutils, nss, nspr, python, pam
+, intltool, makeWrapper, coreutils, bash, gettext, cryptsetup, lvm2, rsync, which }:
 
-stdenv.mkDerivation {
-  name = "ecryptfs-104";
+stdenv.mkDerivation rec {
+  name = "ecryptfs-${version}";
+  version = "106";
 
   src = fetchurl {
-    url = http://launchpad.net/ecryptfs/trunk/104/+download/ecryptfs-utils_104.orig.tar.gz;
-    sha256 = "0f3lzpjw97vcdqzzgii03j3knd6pgwn1y0lpaaf46iidaiv0282a";
+    url = "http://launchpad.net/ecryptfs/trunk/${version}/+download/ecryptfs-utils_${version}.orig.tar.gz";
+    sha256 = "1d5nlzcbl8ch639zi3lq6d14gkk4964j6dqhfs87i67867fhlghp";
   };
 
+  #TODO: replace wrapperDir below with from <nixos> config.security.wrapperDir;
+  postPatch = ''
+    FILES="$(grep -r '/bin/sh' src/utils -l; find src -name \*.c)"
+    for file in $FILES; do
+      substituteInPlace "$file" \
+        --replace /sbin/mount.ecryptfs_private /var/setuid-wrappers/mount.ecryptfs_private \
+        --replace /sbin/umount.ecryptfs_private /var/setuid-wrappers/umount.ecryptfs_private \
+        --replace /sbin/mount.ecryptfs $out/sbin/mount.ecryptfs \
+        --replace /sbin/umount.ecryptfs $out/sbin/umount.ecryptfs \
+        --replace /usr/bin/ecryptfs-rewrite-file $out/bin/ecryptfs-rewrite-file \
+        --replace /usr/bin/ecryptfs-mount-private $out/bin/ecryptfs-mount-private \
+        --replace /usr/bin/ecryptfs-setup-private $out/bin/ecryptfs-setup-private \
+        --replace /sbin/cryptsetup ${cryptsetup}/sbin/cryptsetup \
+        --replace /sbin/dmsetup ${lvm2}/sbin/dmsetup \
+        --replace /bin/mount ${utillinux}/bin/mount \
+        --replace /bin/umount ${utillinux}/bin/umount \
+        --replace /sbin/unix_chkpwd /var/setuid-wrappers/unix_chkpwd \
+        --replace /bin/bash ${bash}/bin/bash
+    done
+  '';
+
   buildInputs = [ pkgconfig perl nss nspr python pam intltool makeWrapper ];
   propagatedBuildInputs = [ coreutils gettext cryptsetup lvm2 rsync keyutils which ];
 
   postInstall = ''
-    FILES="$(grep -r '/bin/sh' $out/bin | sed 's,:.*,,' | uniq)"
+    FILES="$(grep -r '/bin/sh' $out/bin -l)"
     for file in $FILES; do
-      sed -i $file -e "s,\(/sbin/u\?mount.ecryptfs\(_private\)\?\),$out\1," \
-        -e "s,\(/sbin/cryptsetup\),${cryptsetup}\1," \
-        -e "s,\(/sbin/dmsetup\),${lvm2}\1," \
-        -e 's,/sbin/\(unix_chkpwd\),\1,'
       wrapProgram $file \
         --prefix PATH ":" "${coreutils}/bin" \
         --prefix PATH ":" "${gettext}/bin" \
@@ -32,6 +50,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Enterprise-class stacked cryptographic filesystem";
     license = licenses.gpl2Plus;
+    maintainers = [ maintainers.obadz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
new file mode 100644
index 00000000000..a8f6ae81e04
--- /dev/null
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, gtk2, nssTools, pcsclite
+, pkgconfig }:
+
+let version = "4.1.2"; in
+stdenv.mkDerivation rec {
+  name = "eid-mw-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "034ar1v2qamdyq71nklh1nvqbmw6ryz63jdwnnc873f639mf5w94";
+    rev = "v${version}";
+    repo = "eid-mw";
+    owner = "Fedict";
+  };
+
+  buildInputs = [ autoreconfHook gtk2 pcsclite pkgconfig ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  postInstall = ''
+    install -D ${./eid-nssdb.in} $out/bin/eid-nssdb
+    substituteInPlace $out/bin/eid-nssdb \
+      --replace "modutil" "${nssTools}/bin/modutil"
+  '';
+
+  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 = with licenses; lgpl3;
+    longDescription = ''
+      Allows user authentication and digital signatures with Belgian ID cards.
+      Also requires a running pcscd service and compatible card reader.
+
+      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.
+    '';
+    maintainers = with maintainers; [ nckx ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/eid-mw/eid-nssdb.in b/pkgs/tools/security/eid-mw/eid-nssdb.in
new file mode 100644
index 00000000000..a5f52167b36
--- /dev/null
+++ b/pkgs/tools/security/eid-mw/eid-nssdb.in
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+rootdb="/etc/pki/nssdb"
+userdb="$HOME/.pki/nssdb"
+dbentry="Belgium eID"
+libfile="/run/current-system/sw/libbeidpkcs11.so"
+
+dbdir="$userdb"
+
+case "$1" in
+--help)	cat << EOF
+(Un)register $dbentry with NSS-compatible browsers.
+
+Usage: `basename "$0"` [OPTION] ACTION [LIBRARY]
+
+Options:
+  --db PATH	use custom NSS database directory PATH
+  --user	use user NSS database $userdb (default)
+  --system	use global NSS database $rootdb
+  --help	show this message
+
+Actions:
+  add		add $dbentry to NSS database
+  remove	remove $dbentry from NSS database
+  show		show $dbentry NSS database entry
+
+Default arguments if unspecified:
+  LIBRARY	$libfile
+EOF
+	exit ;;
+--db)	dbdir="$2"
+	shift 2 ;;
+--user)	shift ;;
+--system)
+	dbdir="$rootdb"
+	shift ;;
+esac
+
+if [ "$2" ]; then
+	libfile="$2"
+	if ! [ -f "$libfile" ]; then
+		echo "$0: error: '$libfile' not found" >&2
+		exit 1
+	fi
+fi
+
+mkdir -p "$dbdir"
+if ! [ -d "$dbdir" ]; then
+	echo "$0: error: '$dbdir' must be a writable directory" >&2
+	exit 1
+fi
+
+echo "NSS database: $dbdir"
+echo "BEID library: $libfile"
+
+dbdir="sql:$dbdir"
+
+case "$1" in
+add)	echo "Adding $dbentry to database:"
+	modutil -dbdir "$dbdir" -add "$dbentry" -libfile "$libfile" ||
+		echo "Tip: try removing the module before adding it again." ;;
+remove) echo "Removing $dbentry from database:"
+	modutil -dbdir "$dbdir" -delete "$dbentry" ;;
+show)	echo "Displaying $dbentry database entry, if any:"
+	echo "Note: this may fail if you don't have the correct permissions." ;;
+*)	echo "$0: unknown action: '$1'" >&2
+	echo "Try --help for usage information."
+	exit 1 ;;
+esac
+
+ret=$?
+
+modutil -dbdir "$dbdir" -list "$dbentry" 2>/dev/null
+
+exit $ret
diff --git a/pkgs/tools/security/eid-viewer/default.nix b/pkgs/tools/security/eid-viewer/default.nix
new file mode 100644
index 00000000000..45a314e13a6
--- /dev/null
+++ b/pkgs/tools/security/eid-viewer/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, jre, makeWrapper, pcsclite }:
+
+stdenv.mkDerivation rec {
+  # TODO: find out what the version components actually mean, if anything:
+  package = "eid-viewer-4.0.7-195";
+  build = "tcm406-258907";
+  name = "${package}-${build}";
+
+  src = fetchurl {
+    url = "http://eid.belgium.be/en/binaries/${package}.src.tar_${build}.gz";
+    sha256 = "e263e6751ef7c185e278a607fdc46c207306d9a56c6ddb2ce6f58fb4464a2893";
+  };
+
+  buildInputs = [ jre makeWrapper pcsclite ];
+
+  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 = with 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.
+    '';
+    maintainers = with maintainers; [ nckx ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 6b5c69c3d2e..03e193dacc7 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, python, pythonPackages, unzip, systemd, gamin }:
 
-let version = "0.9"; in
+let version = "0.9.1"; in
 
 pythonPackages.buildPythonPackage {
   name = "fail2ban-${version}";
@@ -9,12 +9,13 @@ pythonPackages.buildPythonPackage {
   src = fetchurl {
     url    = "https://github.com/fail2ban/fail2ban/zipball/${version}";
     name   = "fail2ban-${version}.zip";
-    sha256 = "0dawl0vvdvpnkg1hc4l0c8sj8ikcr2l48d6khfx0174nq8yfcg93";
+    sha256 = "0lk720r212mbpk1654qihyxcj5wmglzkg7v4pyiy5qq9qy58jmyr";
   };
 
   buildInputs = [ unzip ];
 
-  pythonPath = [ systemd python.modules.sqlite3 gamin ];
+  pythonPath = (stdenv.lib.optional stdenv.isLinux systemd)
+    ++ [ python.modules.sqlite3 gamin ];
 
   preConfigure = ''
     substituteInPlace setup.cfg \
diff --git a/pkgs/tools/security/fprint_demo/default.nix b/pkgs/tools/security/fprint_demo/default.nix
new file mode 100644
index 00000000000..20413ca626c
--- /dev/null
+++ b/pkgs/tools/security/fprint_demo/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, libfprint, gtk2 }:
+
+stdenv.mkDerivation rec {
+  name = "fprint_demo";
+
+  src = fetchgit {
+    url = "git://github.com/dsd/fprint_demo";
+    rev = "5d86c3f778bf97a29b73bdafbebd1970e560bfb0";
+    sha256 = "fe5bbf8d062fedd6fa796e50c5bd95fef49580eb0a890f78d6f55bd51cc94234";
+  };
+
+  buildInputs = [ libfprint gtk2 ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.freedesktop.org/wiki/Software/fprint/fprint_demo/";
+    description = "A simple GTK+ application to demonstrate and test libfprint's capabilities";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
new file mode 100644
index 00000000000..fb72782abee
--- /dev/null
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool
+, libfprint, glib, dbus_glib, polkit, nss, pam, systemd }:
+
+stdenv.mkDerivation rec {
+  name = "fprintd-0.6.0";
+
+  src = fetchurl {
+    url = "http://people.freedesktop.org/~hadess/${name}.tar.xz";
+    sha256 = "1by6nvlrqkwzcz2v2kyq6avi3h384vmlr42vj9s2yzcinkp64m1z";
+  };
+
+  buildInputs = [ libfprint glib dbus_glib polkit nss pam systemd ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  configureFlags = [ "--with-systemdsystemunitdir=$(out)/lib/systemd/system" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.freedesktop.org/wiki/Software/fprint/fprintd/";
+    description = "D-Bus daemon that offers libfprint functionality over the D-Bus interprocess communication bus";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/security/fprot/default.nix b/pkgs/tools/security/fprot/default.nix
index b43ea402f6d..14a4c985d50 100644
--- a/pkgs/tools/security/fprot/default.nix
+++ b/pkgs/tools/security/fprot/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     cp f-prot.conf.default $out/opt/f-prot/f-prot.conf
     ln -s $out/opt/f-prot/fpupdate $out/bin/fpupdate
 
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/opt/f-prot/fpupdate
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/f-prot/fpupdate
 
     mkdir -p $out/share/man/
     mkdir -p $out/share/man/man1
diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix
new file mode 100644
index 00000000000..d5045806e0c
--- /dev/null
+++ b/pkgs/tools/security/gnupg/1.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, readline, bzip2 }:
+
+stdenv.mkDerivation rec {
+  name = "gnupg-1.4.19";
+
+  src = fetchurl {
+    url = "mirror://gnupg/gnupg/${name}.tar.bz2";
+    sha256 = "7f09319d044b0f6ee71fe3587bb873be701723ac0952cff5069046a78de8fd86";
+  };
+
+  patches = [ ./remove-debug-message.patch ];
+
+  buildInputs = [ readline bzip2 ];
+
+  doCheck = true;
+
+  meta = {
+    description = "free implementation of the OpenPGP standard for encrypting and signing data";
+    homepage = http://www.gnupg.org/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.gnu; # arbitrary choice
+  };
+}
diff --git a/pkgs/tools/security/gnupg1compat/default.nix b/pkgs/tools/security/gnupg/1compat.nix
index 9bd71467f0e..9bd71467f0e 100644
--- a/pkgs/tools/security/gnupg1compat/default.nix
+++ b/pkgs/tools/security/gnupg/1compat.nix
diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix
new file mode 100644
index 00000000000..a5fdc2e2692
--- /dev/null
+++ b/pkgs/tools/security/gnupg/20.nix
@@ -0,0 +1,62 @@
+{ fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan
+, libksba, coreutils, libiconv, pcsclite
+
+# Each of the dependencies below are optional.
+# Gnupg can be built without them at the cost of reduced functionality.
+, pinentry ? null, x11Support ? true
+, openldap ? null, bzip2 ? null, libusb ? null, curl ? null
+}:
+
+with stdenv.lib;
+
+assert x11Support -> pinentry != null;
+
+stdenv.mkDerivation rec {
+  name = "gnupg-2.0.27";
+
+  src = fetchurl {
+    url = "mirror://gnupg/gnupg/${name}.tar.bz2";
+    sha256 = "1wihx7dphacg9fy5wfj93h236lr1w5gwzh7ir3js37wi9cz6sr2p";
+  };
+
+  buildInputs
+    = [ readline zlib libgpgerror libgcrypt libassuan libksba pth
+        openldap bzip2 libusb curl libiconv ];
+
+  patchPhase = ''
+    find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    find . -name pcsc-wrapper.c | xargs sed -i 's/typedef unsinged int pcsc_dword_t/typedef unsigned int pcsc_dword_t/'
+  '' + ''
+    patch gl/stdint_.h < ${./clang.patch}
+  '';
+
+  configureFlags = optional x11Support "--with-pinentry-pgm=${pinentry}/bin/pinentry";
+
+  checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check";
+
+  doCheck = true;
+
+  meta = {
+    homepage = "http://gnupg.org/";
+    description = "free implementation of the OpenPGP standard for encrypting and signing data";
+    license = stdenv.lib.licenses.gpl3Plus;
+
+    longDescription = ''
+      GnuPG is the GNU project's complete and free implementation of
+      the OpenPGP standard as defined by RFC4880.  GnuPG allows to
+      encrypt and sign your data and communication, features a
+      versatile key management system as well as access modules for all
+      kind of public key directories.  GnuPG, also known as GPG, is a
+      command line tool with features for easy integration with other
+      applications.  A wealth of frontend applications and libraries
+      are available.  Version 2 of GnuPG also provides support for
+      S/MIME.
+    '';
+
+    maintainers = with stdenv.lib.maintainers; [ roconnor urkud ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
new file mode 100644
index 00000000000..fc5da48a1b9
--- /dev/null
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -0,0 +1,44 @@
+{ fetchurl, stdenv, pkgconfig, libgcrypt, libassuan, libksba, npth
+, autoreconfHook, gettext, texinfo, pcsclite
+
+# Each of the dependencies below are optional.
+# Gnupg can be built without them at the cost of reduced functionality.
+, pinentry ? null, x11Support ? true
+, adns ? null, gnutls ? null, libusb ? null, openldap ? null
+, readline ? null, zlib ? null, bzip2 ? null
+}:
+
+with stdenv.lib;
+
+assert x11Support -> pinentry != null;
+
+stdenv.mkDerivation rec {
+  name = "gnupg-2.1.2";
+
+  src = fetchurl {
+    url = "mirror://gnupg/gnupg/${name}.tar.bz2";
+    sha256 = "14k7c5spai3yppz6izf1ggbnffskl54ln87v1wgy9pwism1mlks0";
+  };
+
+  patches = [ ./socket-activate-2.1.1.patch ];
+
+  postPatch = stdenv.lib.optionalString stdenv.isLinux ''
+    sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
+  '';
+
+  buildInputs = [
+    pkgconfig libgcrypt libassuan libksba npth
+    autoreconfHook gettext texinfo
+    readline libusb gnutls adns openldap zlib bzip2
+  ];
+
+  configureFlags = optional x11Support "--with-pinentry-pgm=${pinentry}/bin/pinentry";
+
+  meta = with stdenv.lib; {
+    homepage = http://gnupg.org;
+    description = "a complete and free implementation of the OpenPGP standard";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ wkennington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/security/gnupg/clang.patch b/pkgs/tools/security/gnupg/clang.patch
new file mode 100644
index 00000000000..842785e5c93
--- /dev/null
+++ b/pkgs/tools/security/gnupg/clang.patch
@@ -0,0 +1,13 @@
+diff --git a/gl/stdint_.h b/gl/stdint_.h
+index bc27595..303e81a 100644
+--- a/gl/stdint_.h
++++ b/gl/stdint_.h
+@@ -62,7 +62,7 @@
+      int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
+      <inttypes.h> also defines intptr_t and uintptr_t.  */
+ # define _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H
+-# include <inttypes.h>
++// # include <inttypes.h>
+ # undef _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H
+ #elif @HAVE_SYS_INTTYPES_H@
+   /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
deleted file mode 100644
index 64e2be90d30..00000000000
--- a/pkgs/tools/security/gnupg/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-# Remember to install Pinentry and
-# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'.
-
-{ fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan
-, libksba, coreutils, libiconvOrEmpty
-, useLdap ? true, openldap ? null, useBzip2 ? true, bzip2 ? null
-, useUsb ? true, libusb ? null, useCurl ? true, curl ? null
-}:
-
-assert useLdap -> (openldap != null);
-assert useBzip2 -> (bzip2 != null);
-assert useUsb -> (libusb != null);
-assert useCurl -> (curl != null);
-
-stdenv.mkDerivation rec {
-  name = "gnupg-2.0.26";
-
-  src = fetchurl {
-    url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1q5qcl5panrvcvpwvz6nl9gayl5a6vwvfhgdcxqpmbl2qc6y6n3p";
-  };
-
-  buildInputs
-    = [ readline zlib libgpgerror libgcrypt libassuan libksba pth ]
-    ++ libiconvOrEmpty
-    ++ stdenv.lib.optional useLdap openldap
-    ++ stdenv.lib.optional useBzip2 bzip2
-    ++ stdenv.lib.optional useUsb libusb
-    ++ stdenv.lib.optional useCurl curl;
-
-  patchPhase = ''
-    find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
-    find . -name pcsc-wrapper.c | xargs sed -i 's/typedef unsinged int pcsc_dword_t/typedef unsigned int pcsc_dword_t/'
-  '';
-
-  checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check";
-
-  doCheck = true;
-
-  meta = {
-    homepage = "http://gnupg.org/";
-    description = "free implementation of the OpenPGP standard for encrypting and signing data";
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    longDescription = ''
-      GnuPG is the GNU project's complete and free implementation of
-      the OpenPGP standard as defined by RFC4880.  GnuPG allows to
-      encrypt and sign your data and communication, features a
-      versatile key managment system as well as access modules for all
-      kind of public key directories.  GnuPG, also known as GPG, is a
-      command line tool with features for easy integration with other
-      applications.  A wealth of frontend applications and libraries
-      are available.  Version 2 of GnuPG also provides support for
-      S/MIME.
-    '';
-
-    maintainers = with stdenv.lib.maintainers; [ urkud ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/security/gnupg/git.nix b/pkgs/tools/security/gnupg/git.nix
deleted file mode 100644
index 69a0a68319f..00000000000
--- a/pkgs/tools/security/gnupg/git.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-# Remember to install Pinentry and
-# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'.
-
-{ fetchgit, stdenv, readline, zlib, libgpgerror, npth, libgcrypt, libassuan
-, libksba, coreutils, autoconf, automake, transfig, ghostscript, texinfo
-, useLdap ? true, openldap ? null, useBzip2 ? true, bzip2 ? null, useUsb ? true
-, libusb ? null, useCurl ? true, curl ? null
-}:
-
-assert useLdap -> (openldap != null);
-assert useBzip2 -> (bzip2 != null);
-assert useUsb -> (libusb != null);
-assert useCurl -> (curl != null);
-
-stdenv.mkDerivation rec {
-  name = "gnupg-2.1pre-git20120407";
-
-  src = fetchgit {
-    url = "git://git.gnupg.org/gnupg.git";
-    rev = "f1e1387bee286c7434f0462185048872bcdb4484";
-    sha256 = "8f5a14587beccdd3752f9e430e56c6ea2d393dddb7843bfc17029e1a309045bb";
-  };
-
-  buildInputs = [ readline zlib libgpgerror npth libgcrypt libassuan libksba 
-                  autoconf automake transfig ghostscript texinfo ]
-    ++ stdenv.lib.optional useLdap openldap
-    ++ stdenv.lib.optional useBzip2 bzip2
-    ++ stdenv.lib.optional useUsb libusb
-    ++ stdenv.lib.optional useCurl curl;
-
-  patchPhase = ''
-    find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
-  '';
-
-  preConfigure = "autoreconf -v";
-  configureFlags = "--enable-maintainer-mode";
-
-  meta = {
-    description = "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard";
-
-    longDescription = ''
-      GnuPG is the GNU project's complete and free implementation of
-      the OpenPGP standard as defined by RFC4880.  GnuPG allows to
-      encrypt and sign your data and communication, features a
-      versatile key managment system as well as access modules for all
-      kind of public key directories.  GnuPG, also known as GPG, is a
-      command line tool with features for easy integration with other
-      applications.  A wealth of frontend applications and libraries
-      are available.  Version 2 of GnuPG also provides support for
-      S/MIME.
-    '';
-
-    homepage = http://gnupg.org/;
-
-    license = stdenv.lib.licenses.gpl3Plus;
-  };
-}
diff --git a/pkgs/tools/security/gnupg/remove-debug-message.patch b/pkgs/tools/security/gnupg/remove-debug-message.patch
new file mode 100644
index 00000000000..92fc6f2cfca
--- /dev/null
+++ b/pkgs/tools/security/gnupg/remove-debug-message.patch
@@ -0,0 +1,22 @@
+commit 936416690e6c889505d84fe96983a66983beae5e
+Author: Werner Koch <wk@gnupg.org>
+Date:   Thu Feb 26 09:38:58 2015 +0100
+
+    gpg: Remove left-over debug message.
+
+    * g10/armor.c (check_input): Remove log_debug.
+
+diff --git a/g10/armor.c b/g10/armor.c
+index 6c0013d..de1726d 100644
+--- a/g10/armor.c
++++ b/g10/armor.c
+@@ -534,9 +534,6 @@ check_input( armor_filter_context_t *afx, IOBUF a )
+             /* This is probably input from a keyserver helper and we
+                have not yet seen an error line.  */
+             afx->key_failed_code = parse_key_failed_line (line+4, len-4);
+-            log_debug ("armor-keys-failed (%.*s) ->%d\n",
+-                       (int)len, line,
+-                       afx->key_failed_code);
+           }
+       if( i >= 0 && !(afx->only_keyblocks && i != 1 && i != 5 && i != 6 )) {
+           hdr_line = i;
diff --git a/pkgs/tools/security/gnupg/socket-activate-2.1.1.patch b/pkgs/tools/security/gnupg/socket-activate-2.1.1.patch
new file mode 100644
index 00000000000..2c2d7b54250
--- /dev/null
+++ b/pkgs/tools/security/gnupg/socket-activate-2.1.1.patch
@@ -0,0 +1,170 @@
+Port Shea Levy's socket activation patch to version 2.1.1.
+
+diff -Naur gnupg-2.1.1-upstream/agent/gpg-agent.c gnupg-2.1.1/agent/gpg-agent.c
+--- gnupg-2.1.1-upstream/agent/gpg-agent.c	2014-12-01 05:04:57.000000000 -0430
++++ gnupg-2.1.1/agent/gpg-agent.c	2014-12-23 17:13:48.029286035 -0430
+@@ -125,7 +125,9 @@
+   oPuttySupport,
+   oDisableScdaemon,
+   oDisableCheckOwnSocket,
+-  oWriteEnvFile
++  oWriteEnvFile,
++  oAgentFD,
++  oSSHAgentFD
+ };
+ 
+ 
+@@ -143,6 +145,8 @@
+   ARGPARSE_group (301, N_("@Options:\n ")),
+ 
+   ARGPARSE_s_n (oDaemon,  "daemon", N_("run in daemon mode (background)")),
++  ARGPARSE_s_i (oAgentFD,  "agent-fd", "@"),
++  ARGPARSE_s_i (oSSHAgentFD,  "ssh-agent-fd", "@"),
+   ARGPARSE_s_n (oServer,  "server", N_("run in server mode (foreground)")),
+   ARGPARSE_s_n (oVerbose, "verbose", N_("verbose")),
+   ARGPARSE_s_n (oQuiet,	  "quiet",     N_("be somewhat more quiet")),
+@@ -627,6 +631,31 @@
+   return 1; /* handled */
+ }
+ 
++/* Handle agent socket(s) */
++static void
++handle_agent_socks(int fd, int fd_extra, int fd_ssh)
++{
++#ifndef HAVE_W32_SYSTEM
++  if (chdir("/"))
++    {
++      log_error ("chdir to / failed: %s\n", strerror (errno));
++      exit (1);
++    }
++
++  {
++    struct sigaction sa;
++
++    sa.sa_handler = SIG_IGN;
++    sigemptyset (&sa.sa_mask);
++    sa.sa_flags = 0;
++    sigaction (SIGPIPE, &sa, NULL);
++  }
++#endif /*!HAVE_W32_SYSTEM*/
++
++  log_info ("%s %s started\n", strusage(11), strusage(13) );
++  handle_connections (fd, fd_extra, fd_ssh);
++  assuan_sock_close (fd);
++}
+ 
+ /* The main entry point.  */
+ int
+@@ -643,6 +672,8 @@
+   int default_config =1;
+   int pipe_server = 0;
+   int is_daemon = 0;
++  int fd_agent = GNUPG_INVALID_FD;
++  int fd_ssh_agent = GNUPG_INVALID_FD;
+   int nodetach = 0;
+   int csh_style = 0;
+   char *logfile = NULL;
+@@ -850,6 +881,8 @@
+         case oSh: csh_style = 0; break;
+         case oServer: pipe_server = 1; break;
+         case oDaemon: is_daemon = 1; break;
++        case oAgentFD: fd_agent = pargs.r.ret_int; break;
++        case oSSHAgentFD: fd_ssh_agent = pargs.r.ret_int; break;
+ 
+         case oDisplay: default_display = xstrdup (pargs.r.ret_str); break;
+         case oTTYname: default_ttyname = xstrdup (pargs.r.ret_str); break;
+@@ -940,7 +973,8 @@
+     bind_textdomain_codeset (PACKAGE_GT, "UTF-8");
+ #endif
+ 
+-  if (!pipe_server && !is_daemon && !gpgconf_list)
++  if (!pipe_server && !is_daemon && !gpgconf_list &&
++                                                  fd_agent == GNUPG_INVALID_FD)
+     {
+      /* We have been called without any options and thus we merely
+         check whether an agent is already running.  We do this right
+@@ -1090,6 +1124,10 @@
+       agent_deinit_default_ctrl (ctrl);
+       xfree (ctrl);
+     }
++  else if (fd_agent != GNUPG_INVALID_FD)
++    {
++      handle_agent_socks(fd_agent, GNUPG_INVALID_FD, fd_ssh_agent);
++    }
+   else if (!is_daemon)
+     ; /* NOTREACHED */
+   else
+@@ -1287,26 +1325,8 @@
+           log_set_prefix (NULL, oldflags | JNLIB_LOG_RUN_DETACHED);
+           opt.running_detached = 1;
+         }
+-
+-      if (chdir("/"))
+-        {
+-          log_error ("chdir to / failed: %s\n", strerror (errno));
+-          exit (1);
+-        }
+-
+-      {
+-        struct sigaction sa;
+-
+-        sa.sa_handler = SIG_IGN;
+-        sigemptyset (&sa.sa_mask);
+-        sa.sa_flags = 0;
+-        sigaction (SIGPIPE, &sa, NULL);
+-      }
+-#endif /*!HAVE_W32_SYSTEM*/
+-
+-      log_info ("%s %s started\n", strusage(11), strusage(13) );
+-      handle_connections (fd, fd_extra, fd_ssh);
+-      assuan_sock_close (fd);
++#endif /*!HAVE_W32_SYSTEM*/      
++      handle_agent_socks(fd, fd_extra, fd_ssh);
+     }
+ 
+   return 0;
+diff -Naur gnupg-2.1.1-upstream/doc/gpg-agent.texi gnupg-2.1.1/doc/gpg-agent.texi
+--- gnupg-2.1.1-upstream/doc/gpg-agent.texi	2014-12-05 09:56:37.000000000 -0430
++++ gnupg-2.1.1/doc/gpg-agent.texi	2014-12-23 16:26:38.366391186 -0430
+@@ -43,7 +43,15 @@
+ .IR file ]
+ .RI [ options ]
+ .B  \-\-daemon
+-.RI [ command_line ]
++.br
++.B  gpg-agent
++.RB [ \-\-homedir
++.IR dir ]
++.RB [ \-\-options
++.IR file ]
++.RI [ options ]
++.B  \-\-agent-fd
++.IR fd
+ @end ifset
+ 
+ @mansect description
+@@ -186,6 +194,11 @@
+ a new process as a child of gpg-agent: @code{gpg-agent --daemon
+ /bin/sh}.  This way you get a new shell with the environment setup
+ properly; if you exit from this shell, gpg-agent terminates as well.
++
++@item --agent-fd @var{fd}
++@opindex  agent-fd
++Start the gpg-agent using @var{fd} as the listening socket. This is useful for
++socket activation a la systemd and launchd.
+ @end table
+ 
+ @mansect options
+@@ -545,6 +558,12 @@
+ remote machine.
+ 
+ 
++@item --ssh-agent-fd @var{fd}
++@opindex ssh-agent-fd
++
++When starting the agent with @option{--agent-fd}, use this to pass in a socket
++to be used for the OpenSSH agent protocol.
++
+ @anchor{option --enable-ssh-support}
+ @item --enable-ssh-support
+ @opindex enable-ssh-support
diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix
deleted file mode 100644
index 53f784396a7..00000000000
--- a/pkgs/tools/security/gnupg1/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, readline, bzip2 }:
-
-stdenv.mkDerivation rec {
-  name = "gnupg-1.4.17";
-
-  src = fetchurl {
-    url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "0nvv1bd8v13gh2m1429azws7ks0ix9y1yv87ak9k9i1dsqcrvpg6";
-  };
-
-  buildInputs = [ readline bzip2 ];
-
-  doCheck = true;
-
-  meta = {
-    description = "free implementation of the OpenPGP standard for encrypting and signing data";
-    homepage = http://www.gnupg.org/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.gnu; # arbitrary choice
-  };
-}
diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix
index 699901ad59e..806fcb613ca 100644
--- a/pkgs/tools/security/hashcat/default.nix
+++ b/pkgs/tools/security/hashcat/default.nix
@@ -4,10 +4,10 @@ assert stdenv.isLinux;
 
 let
   bits    = if stdenv.system == "x86_64-linux" then "64" else "32";
-  libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
+  libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
 
   fixBin = x: ''
-    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+    patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath ${libPath} ${x}
   '';
 in
diff --git a/pkgs/tools/security/haveged/default.nix b/pkgs/tools/security/haveged/default.nix
index 1701d4cb46f..8f332a53007 100644
--- a/pkgs/tools/security/haveged/default.nix
+++ b/pkgs/tools/security/haveged/default.nix
@@ -16,12 +16,12 @@ stdenv.mkDerivation rec {
       random number generator based upon an adaptation of the HAVEGE algorithm.
       Haveged was created to remedy low-entropy conditions in the Linux random device
       that can occur under some workloads, especially on headless servers. Current development
-      of haveged is directed towards improving overall reliablity and adaptability while minimizing
+      of haveged is directed towards improving overall reliability and adaptability while minimizing
       the barriers to using haveged for other tasks.
     '';
     homepage = http://www.issihosts.com/haveged/;
     license = stdenv.lib.licenses.gpl3;
-    maintainers = stdenv.lib.maintainers.iElectric;
+    maintainers = [ stdenv.lib.maintainers.iElectric ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
new file mode 100644
index 00000000000..4ef9b8f65b6
--- /dev/null
+++ b/pkgs/tools/security/john/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, openssl, nss, nspr, kerberos, gmp, zlib, libpcap, re2 }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "JohnTheRipper-${version}";
+  version = "8a3e3c1d";
+  buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 ];
+  NIX_CFLAGS_COMPILE = "-DJOHN_SYSTEMWIDE=1";
+  preConfigure = ''cd src'';
+  installPhase = ''
+    ensureDir $out/share/john/
+    ensureDir $out/bin
+    cp -R ../run/* $out/share/john
+    ln -s $out/share/john/john $out/bin/john
+  '';
+  src = fetchgit {
+    url = https://github.com/magnumripper/JohnTheRipper.git;
+    rev = "93f061bc41652c94ae049b52572aac709d18aa4c";
+    sha256 = "1rnfi09830n34jcqaxmsam54p4zsq9a49ic2ljh44lahcipympvy";
+  };
+  meta = {
+    description = "John the Ripper password cracker";
+    license = licenses.gpl2;
+    homepage = https://github.com/magnumripper/JohnTheRipper/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/security/kpcli/default.nix b/pkgs/tools/security/kpcli/default.nix
new file mode 100644
index 00000000000..ca3cad5129e
--- /dev/null
+++ b/pkgs/tools/security/kpcli/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, makeWrapper, perl, perlPackages }:
+
+stdenv.mkDerivation rec {
+  version = "2.8";
+  name = "kpcli-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/kpcli/${name}.pl";
+    sha256 = "1vmj131ii3skm1dx0pmcvq19h6a94a2vjldmqlf1b3dxjvz1ld91";
+  };
+
+  buildInputs = [ makeWrapper perl ];
+
+  phases = [ "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${src} $out/bin/kpcli
+    chmod +x $out/bin/kpcli
+
+    wrapProgram $out/bin/kpcli --set PERL5LIB \
+      "${with perlPackages; stdenv.lib.makePerlPath [
+         Clone CryptRijndael SortNaturally TermReadKey TermShellUI FileKeePass TermReadLineGnu XMLParser
+      ]}"
+  '';
+
+
+  meta = with stdenv.lib; {
+    description = "KeePass Command Line Interface";
+    longDescription = ''
+      KeePass Command Line Interface (CLI) / interactive shell. 
+      Use this program to access and manage your KeePass 1.x or 2.x databases from a Unix-like command line.
+    '';
+    license = licenses.artistic1;
+    homepage = "http://kpcli.sourceforge.net";
+    platforms = platforms.all;
+    maintainers = [ maintainers.j-keck ];
+  };
+}
diff --git a/pkgs/tools/security/lastpass-cli/default.nix b/pkgs/tools/security/lastpass-cli/default.nix
new file mode 100644
index 00000000000..a3652f62232
--- /dev/null
+++ b/pkgs/tools/security/lastpass-cli/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, openssl, curl, libxml2, libxslt, asciidoc, docbook_xsl }:
+
+stdenv.mkDerivation rec {
+  name = "lastpass-cli-${version}";
+
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "lastpass";
+    repo = "lastpass-cli";
+    rev = "v${version}";
+    sha256 = "1r06lifjc28sm88d6x3xwn76l9fjwjmd1wbmvr9j8rna889q0wl9";
+  };
+
+  buildInputs = [
+    openssl curl libxml2 pkgconfig asciidoc docbook_xsl libxslt
+  ];
+
+  prePatch = ''
+    substituteInPlace version.h --replace "0.3.0" "0.4.0"
+  '';
+
+  makeFlags = "PREFIX=$(out)";
+
+  installTargets = "install install-doc";
+
+  meta = with lib; {
+    description = "Stores, retrieves, generates, and synchronizes passwords securely";
+    homepage    = "https://github.com/lastpass/lastpass-cli";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/security/logkeys/default.nix b/pkgs/tools/security/logkeys/default.nix
new file mode 100644
index 00000000000..ae7fa2316bc
--- /dev/null
+++ b/pkgs/tools/security/logkeys/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, which, procps, kbd }:
+
+stdenv.mkDerivation rec {
+  name = "logkeys-${version}";
+  version = "5ef6b0dcb9e3";
+
+  src = fetchgit {
+    url = "https://code.google.com/p/logkeys/";
+    rev = "5ef6b0dcb9e38e6137ad1579d624ec12107c56c3";
+    sha256 = "02p0l92l0fq069g31ks6xbqavzxa9njj9460vw2jsa7livcn2z9d";
+  };
+
+  buildInputs = [ which procps kbd ];
+
+  postPatch = ''
+    substituteInPlace src/Makefile.in --replace 'root' '$(id -u)'
+    substituteInPlace configure --replace '/dev/input' '/tmp'
+ '';
+
+  meta = with stdenv.lib; {
+    description = "A GNU/Linux keylogger that works!";
+    license = licenses.gpl3;
+    homepage = http://code.google.com/p/logkeys/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/mbox/default.nix b/pkgs/tools/security/mbox/default.nix
new file mode 100644
index 00000000000..732cf704661
--- /dev/null
+++ b/pkgs/tools/security/mbox/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, openssl, which }:
+
+stdenv.mkDerivation {
+  name = "mbox-20140526";
+
+  src = fetchFromGitHub {
+    owner = "tsgates";
+    repo = "mbox";
+    rev = "a131424b6cb577e1c916bd0e8ffb2084a5f73048";
+    sha256 = "06qggqxnzcxnc34m6sbafxwr2p64x65m9zm5wp7pwyarcckhh2hd";
+  };
+
+  buildInputs = [ openssl which ];
+
+  preConfigure = ''
+    cd src
+    cp {.,}configsbox.h
+  '';
+  
+  doCheck = true;
+  checkPhase = ''
+    rm tests/test-*vim.sh tests/test-pip.sh
+
+    patchShebangs ./; dontPatchShebags=1
+    sed -i 's|^/bin/||' tests/test-fileops.sh
+
+    ./testall.sh
+  '';
+
+  meta = with stdenv.lib;
+    { description = "Lightweight sandboxing mechanism that any user can use without special privileges";
+      homepage = http://pdos.csail.mit.edu/mbox/;
+      maintainers = with maintainers; [ emery ];
+      license = licenses.bsd3;
+      platforms = [ "x86_64-linux" ];
+    };
+
+}
diff --git a/pkgs/tools/security/mfoc/default.nix b/pkgs/tools/security/mfoc/default.nix
new file mode 100644
index 00000000000..f99db572b6c
--- /dev/null
+++ b/pkgs/tools/security/mfoc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libnfc }:
+
+stdenv.mkDerivation rec {
+  name = "mfoc-${version}";
+  version = "0.10.6";
+
+  src = fetchurl {
+    url = "http://mfoc.googlecode.com/files/${name}.tar.gz";
+    sha1 = "3adce3029dce9124ff3bc7d0fad86fa0c374a9e3";
+  };
+
+  patches = [./mf_mini.patch];
+
+  buildInputs = [ pkgconfig libnfc ];
+
+  meta = with stdenv.lib; {
+    description = "Mifare Classic Offline Cracker";
+    license = licenses.gpl2;
+    homepage = http://code.google.com/p/mfoc/;
+    maintainers = with maintainers; [ offline ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/security/mfoc/mf_mini.patch b/pkgs/tools/security/mfoc/mf_mini.patch
new file mode 100644
index 00000000000..02bd656d602
--- /dev/null
+++ b/pkgs/tools/security/mfoc/mf_mini.patch
@@ -0,0 +1,96 @@
+diff --git a/src/mfoc.c b/src/mfoc.c
+index 0cb917d..195de68 100644
+--- a/src/mfoc.c
++++ b/src/mfoc.c
+@@ -93,8 +93,8 @@ int main(int argc, char *const argv[])
+     {0x58, 0x7e, 0xe5, 0xf9, 0x35, 0x0f},
+     {0xa0, 0x47, 0x8c, 0xc3, 0x90, 0x91},
+     {0x53, 0x3c, 0xb6, 0xc7, 0x23, 0xf6},
+-    {0x8f, 0xd0, 0xa4, 0xf2, 0x56, 0xe9}
+-
++    {0x8f, 0xd0, 0xa4, 0xf2, 0x56, 0xe9},
++    {0xb4, 0xc1, 0x32, 0x43, 0x9e, 0xef}
+   };
+ 
+   mftag		t;
+@@ -219,12 +219,31 @@ int main(int argc, char *const argv[])
+     goto error;
+   }
+ 
+-  // Save tag's block size (b4K)
+-  t.b4K = (t.nt.nti.nai.abtAtqa[1] == 0x02);
+   t.authuid = (uint32_t) bytes_to_num(t.nt.nti.nai.abtUid + t.nt.nti.nai.szUidLen - 4, 4);
+ 
+-  t.num_blocks = (t.b4K) ? 0xff : 0x3f;
+-  t.num_sectors = t.b4K ? NR_TRAILERS_4k : NR_TRAILERS_1k;
++  // Get Mifare Classic type from SAK
++  // see http://www.nxp.com/documents/application_note/AN10833.pdf Section 3.2
++  switch (t.nt.nti.nai.btSak)
++  {
++    case 0x08:
++      printf("Found Mifare Classic 1k tag\n");
++      t.num_sectors = NR_TRAILERS_1k;
++      t.num_blocks = NR_BLOCKS_1k;
++      break;
++    case 0x09:
++      printf("Found Mifare Classic Mini tag\n");
++      t.num_sectors = NR_TRAILERS_MINI;
++      t.num_blocks = NR_BLOCKS_MINI;
++      break;
++    case 0x18:
++      printf("Found Mifare Classic 4k tag\n");
++      t.num_sectors = NR_TRAILERS_4k;
++      t.num_blocks = NR_BLOCKS_4k;
++      break;
++    defaul:
++      ERR("Cannot determine card type from SAK");
++      goto error;
++  }
+ 
+   t.sectors = (void *) calloc(t.num_sectors, sizeof(sector));
+   if (t.sectors == NULL) {
+@@ -564,7 +583,7 @@ void usage(FILE *stream, int errno)
+   fprintf(stream, "  k     try the specified key in addition to the default keys\n");
+ //	fprintf(stream, "  D     number of distance probes, default is 20\n");
+ //	fprintf(stream, "  S     number of sets with keystreams, default is 5\n");
+-  fprintf(stream, "  P     number of probes per sector, instead of default of 20\n");
++  fprintf(stream, "  P     number of probes per sector, instead of default of 150\n");
+   fprintf(stream, "  T     nonce tolerance half-range, instead of default of 20\n        (i.e., 40 for the total range, in both directions)\n");
+ //	fprintf(stream, "  s     specify the list of sectors to crack, for example -s 0,1,3,5\n");
+   fprintf(stream, "  O     file in which the card contents will be written (REQUIRED)\n");
+diff --git a/src/mfoc.h b/src/mfoc.h
+index b411670..532e834 100644
+--- a/src/mfoc.h
++++ b/src/mfoc.h
+@@ -2,11 +2,21 @@
+ #define TRY_KEYS                50
+ 
+ // Number of trailers == number of sectors
+-// 16x64b = 16
++// Mifare Classic 1k 16x64b = 16
+ #define NR_TRAILERS_1k  (16)
+-// 32x64b + 8*256b = 40
++// Mifare Classic Mini
++#define NR_TRAILERS_MINI (5)
++// Mifare Classic 4k 32x64b + 8*256b = 40
+ #define NR_TRAILERS_4k  (40)
+ 
++// Number of blocks
++// Mifare Classic 1k
++#define NR_BLOCKS_1k 0x3f
++// Mifare Classic Mini
++#define NR_BLOCKS_MINI 0x13
++// Mifare Classic 4k
++#define NR_BLOCKS_4k 0xff
++
+ #define MAX_FRAME_LEN 264
+ 
+ // Used for counting nonce distances, explore [nd-value, nd+value]
+@@ -46,7 +56,6 @@ typedef struct {
+   uint8_t        num_sectors;
+   uint8_t        num_blocks;
+   uint32_t       authuid;
+-  bool           b4K;
+ } mftag;
+ 
+ typedef struct {
diff --git a/pkgs/tools/security/mkrand/default.nix b/pkgs/tools/security/mkrand/default.nix
new file mode 100644
index 00000000000..5d1cfdd4023
--- /dev/null
+++ b/pkgs/tools/security/mkrand/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mkrand-0.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/mknight-tag/MKRAND/releases/download/v0.1.0/mkrand-0.1.0.tar.gz";
+    sha256 = "1irwyv2j5c3606k3qbq77yrd65y27rcq3jdlp295rz875q8iq9fs";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "A Digital Random Bit Generator";
+    longDescription = "MKRAND is a utility for generating random information.";
+    homepage = https://github.com/mknight-tag/MKRAND/;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+  };
+  }
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 56964c1f692..57cc9c24248 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -13,29 +13,33 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
-  version = "6.40";
+  version = "6.47";
 
   src = fetchurl {
-    url = "http://nmap.org/dist/${name}.tar.bz2";
-    sha256 = "491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401";
+    url = "http://nmap.org/dist/nmap-${version}.tar.bz2";
+    sha256 = "14d53aji4was68c01pf105n5ylha257wmdbx40ddiqiw42g1x8cg";
   };
 
-  patches = optional graphicalSupport ./zenmap.patch;
+  patches = ./zenmap.patch;
 
-  postInstall = optionalString graphicalSupport ''
+  configureFlags = optionalString (!graphicalSupport) "--without-zenmap";
+
+  postInstall = ''
+      wrapProgram $out/bin/ndiff --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH"
+  '' + optionalString graphicalSupport ''
       wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0
   '';
 
-  buildInputs = [ libpcap pkgconfig openssl ]
+  buildInputs = [ libpcap pkgconfig openssl makeWrapper python ]
     ++ optionals graphicalSupport [
-      libX11 gtk python pygtk makeWrapper pysqlite pygobject pycairo
+      libX11 gtk pygtk pysqlite pygobject pycairo
     ];
 
   meta = {
-    description = "A free and open source utility for network discovery and security auditing.";
-    homepage    = "http://www.nmap.org";
+    description = "A free and open source utility for network discovery and security auditing";
+    homepage    = http://www.nmap.org;
     license     = licenses.gpl2;
-    platforms   = platforms.linux;
+    platforms   = platforms.all;
     maintainers = with maintainers; [ mornfall thoughtpolice ];
   };
 }
diff --git a/pkgs/tools/security/oath-toolkit/default.nix b/pkgs/tools/security/oath-toolkit/default.nix
index 80ab866e1f3..8f96a5067d1 100644
--- a/pkgs/tools/security/oath-toolkit/default.nix
+++ b/pkgs/tools/security/oath-toolkit/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pam }:
 
 stdenv.mkDerivation rec {
-  name = "oath-toolkit-2.0.2";
+  name = "oath-toolkit-2.4.1";
 
   src = fetchurl {
     url = "mirror://savannah/oath-toolkit/${name}.tar.gz";
-    sha256 = "0i2rf5j83kb8h3sd9lsm0a46zq805kzagvccc4rk7879lg1fnl99";
+    sha256 = "094vbq66sn5f2dsy14hajpsfdnaivjxf70xzs91nrsq0q75l5ylv";
   };
 
   buildInputs = [ pam ];
diff --git a/pkgs/tools/security/opencryptoki/default.nix b/pkgs/tools/security/opencryptoki/default.nix
new file mode 100644
index 00000000000..9ea9c2f4892
--- /dev/null
+++ b/pkgs/tools/security/opencryptoki/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, openssl, trousers, automake, autoconf, libtool, bison, flex }:
+
+stdenv.mkDerivation rec {
+  version = "3.2";
+  name = "opencryptoki-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/opencryptoki/opencryptoki/v${version}/opencryptoki-v${version}.tgz";
+    sha256 = "06r6zp299vxdspl6k65myzgjv0bihg7kc500v7s4jd3mcrkngd6h";
+  };
+
+  buildInputs = [ automake autoconf libtool openssl trousers bison flex ];
+
+  preConfigure = ''
+    substituteInPlace configure.in --replace "chown" "true"
+    substituteInPlace configure.in --replace "chgrp" "true"
+    sh bootstrap.sh --prefix=$out
+  '';
+
+  configureFlags = [ "--disable-ccatok" "--disable-icatok" ];
+
+  makeFlags = "DESTDIR=$(out)";
+
+  # work around the build script of opencryptoki
+  postInstall = ''
+    cp -r $out/$out/* $out
+    rm -r $out/nix
+    '';
+
+  meta = with stdenv.lib; {
+    description = "PKCS#11 implementation for Linux";
+    homepage    = http://opencryptoki.sourceforge.net/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.tstrobel ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/opensc-dnie-wrapper/default.nix b/pkgs/tools/security/opensc-dnie-wrapper/default.nix
index b36d99f8ebf..8003073159a 100644
--- a/pkgs/tools/security/opensc-dnie-wrapper/default.nix
+++ b/pkgs/tools/security/opensc-dnie-wrapper/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     description = "Access to the opensc tools and firefox using the Spanish national ID SmartCard";
     longDescription = ''
       Opensc needs a special configuration and special drivers to use the SmartCard
-      the Spanish governement provides to the citizens as ID card.
+      the Spanish government provides to the citizens as ID card.
       Some wrapper scripts take care for the proper opensc configuration to be used, in order
       to access the certificates in the SmartCard through the opensc tools or firefox.
       Opensc will require a pcscd daemon running, managing the access to the card reader.
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
index 42303fc356a..917c70f29a0 100644
--- a/pkgs/tools/security/opensc/default.nix
+++ b/pkgs/tools/security/opensc/default.nix
@@ -1,36 +1,47 @@
-{ stdenv, fetchurl, libtool, readline, zlib, openssl, libiconvOrNull, pcsclite
-, libassuan1, pkgconfig, libXt, docbook_xsl, libxslt, docbook_xml_dtd_412
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, zlib, readline, openssl
+, libiconv, pcsclite, libassuan1, libXt
+, docbook_xsl, libxslt, docbook_xml_dtd_412
 }:
 
 stdenv.mkDerivation rec {
-  name = "opensc-0.13.0";
+  name = "opensc-${version}";
+  version = "0.14.0";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/opensc/${name}.tar.gz";
-    sha256 = "054v11yc2lqlfqs556liw18klhkx9zyjylqcwirk4axiafp4dpmb";
+  src = fetchFromGitHub {
+    owner = "OpenSC";
+    repo = "OpenSC";
+    rev = version;
+    sha256 = "02q3rndcfd7lga1ph0xcl556rgigzpp9bpwqyn42rfbx8lll7gzv";
   };
 
-  buildInputs = [ libtool readline zlib openssl pcsclite libassuan1 pkgconfig
-    libXt libxslt libiconvOrNull docbook_xml_dtd_412
+  postPatch = ''
+    sed -i 's,$(DESTDIR),$(out),g' etc/Makefile.am
+  '';
+
+  buildInputs = [
+    autoreconfHook pkgconfig zlib readline openssl pcsclite libassuan1
+    libXt libxslt libiconv docbook_xml_dtd_412
   ];
 
   configureFlags = [
-    "--enable-doc"
-    "--enable-man"
+    "--enable-zlib"
+    "--enable-readline"
     "--enable-openssl"
     "--enable-pcsc"
-    "--enable-readline"
     "--enable-sm"
-    "--enable-zlib"
-    "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so.1"
+    "--enable-man"
+    "--enable-doc"
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
     "--with-xsl-stylesheetsdir=${docbook_xsl}/xml/xsl/docbook"
+    "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so"
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Set of libraries and utilities to access smart cards";
-    homepage = "https://github.com/OpenSC/OpenSC/wiki";
-    license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    homepage = https://github.com/OpenSC/OpenSC/wiki;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ viric wkennington ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/p0f/default.nix b/pkgs/tools/security/p0f/default.nix
index 377639ce2e6..3ffc19b5ca9 100644
--- a/pkgs/tools/security/p0f/default.nix
+++ b/pkgs/tools/security/p0f/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "p0f-${version}";
-  version = "3.06b";
+  version = "3.08b";
 
   src = fetchurl {
     url    = "http://lcamtuf.coredump.cx/p0f3/releases/${name}.tgz";
-    sha256 = "1rydqvr78a3rjp9iwfbw4bs7jfb4p22962makdgw8yjmw8dr6lfi";
+    sha256 = "1v4afs66qxk53h8vhfk5x17xvgj32qixwjvz4023gnx59gzag2fs";
   };
 
   buildInputs = [ libpcap ];
diff --git a/pkgs/tools/security/pass/darwin-getopt.patch b/pkgs/tools/security/pass/darwin-getopt.patch
deleted file mode 100644
index 8cdcd67bc65..00000000000
--- a/pkgs/tools/security/pass/darwin-getopt.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
-index 1b76c33..fa40104 100644
---- a/src/platform/darwin.sh
-+++ b/src/platform/darwin.sh
-@@ -31,5 +31,5 @@ tmpdir() {
- 	mount -t hfs -o noatime -o nobrowse "$ramdisk_dev" "$SECURE_TMPDIR" || exit 1
- }
- 
--GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || echo /usr/local)/bin/getopt"
-+GETOPT="getopt"
- SHRED="srm -f -z"
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 3b44edcf1d3..1aa5e0b51f1 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -1,21 +1,25 @@
 { stdenv, fetchurl
 , coreutils, gnused, getopt, pwgen, git, tree, gnupg
 , makeWrapper
-, withX ? false, xclip ? null
+
+, xclip ? null, xdotool ? null, dmenu ? null
+, x11Support ? true
 }:
 
-assert withX -> xclip != null;
+assert x11Support -> xclip != null
+                  && xdotool != null
+                  && dmenu != null;
 
 stdenv.mkDerivation rec {
-  version = "1.6.3";
+  version = "1.6.5";
   name    = "password-store-${version}";
 
   src = fetchurl {
     url    = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz";
-    sha256 = "1xs00c7ffqd0093i452kryw9sjip6dkp1pclx69zihb5l45d86fl";
+    sha256 = "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik";
   };
 
-  patches = [ ./darwin-getopt.patch ];
+  patches = if stdenv.isDarwin then [ ./no-darwin-getopt.patch ] else null;
 
   buildInputs = [ makeWrapper ];
 
@@ -35,18 +39,24 @@ stdenv.mkDerivation rec {
     '';
   };
 
-  installPhase = ''
+  preInstall = ''
     mkdir -p "$out/share/bash-completion/completions"
     mkdir -p "$out/share/zsh/site-functions"
     mkdir -p "$out/share/fish/completions"
+  '';
 
+  installFlags = [ "PREFIX=$(out)" ];
+
+  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/"
 
-    PREFIX="$out" make install
+    ${if x11Support then ''
+      cp "contrib/dmenu/passmenu" "$out/bin/"
+    '' else ""}
   '';
 
   postFixup = ''
@@ -56,6 +66,11 @@ stdenv.mkDerivation rec {
 
     # Ensure all dependencies are in PATH
     wrapProgram $out/bin/pass \
-      --prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin${if withX then ":${xclip}/bin" else ""}"
+      --prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin${if x11Support then ":${xclip}/bin" else ""}"
+
+    ${if x11Support then ''
+      wrapProgram $out/bin/passmenu \
+        --prefix PATH : "$out/bin:${xdotool}/bin:${dmenu}/bin"
+    '' else ""}
   '';
 }
diff --git a/pkgs/tools/security/pass/no-darwin-getopt.patch b/pkgs/tools/security/pass/no-darwin-getopt.patch
new file mode 100644
index 00000000000..e8f7e138ff0
--- /dev/null
+++ b/pkgs/tools/security/pass/no-darwin-getopt.patch
@@ -0,0 +1,9 @@
+diff -Naur password-store-1.6.5-orig/src/platform/darwin.sh password-store-1.6.5/src/platform/darwin.sh
+--- password-store-1.6.5-orig/src/platform/darwin.sh	2015-01-28 16:43:02.000000000 +0000
++++ password-store-1.6.5/src/platform/darwin.sh	2015-02-15 16:09:02.000000000 +0000
+@@ -31,5 +31,4 @@
+ 	mount -t hfs -o noatime -o nobrowse "$DARWIN_RAMDISK_DEV" "$SECURE_TMPDIR" || die "Error: could not mount filesystem on ramdisk."
+ }
+ 
+-GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || { which port &>/dev/null && echo /opt/local; } || echo /usr/local)/bin/getopt"
+ SHRED="srm -f -z"
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index 2737cc43575..0b6a8712661 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,12 +1,11 @@
 { stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl }:
 
 stdenv.mkDerivation rec {
-  version = "1.8.11";
-  name = "pcsclite-${version}";
+  name = "pcsclite-1.8.13";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/file/3991/pcsc-lite-${version}.tar.bz2";
-    sha256 = "945041c94c53959ae5a767616a4ec5099fe67f549bfd344e8bd0cfe7a3c71ac6";
+    url = "https://alioth.debian.org/frs/download.php/file/4126/pcsc-lite-1.8.13.tar.bz2";
+    sha256 = "0fxwzckbjsckfp1f01yp3x6y1wlaaivhy12a5hka6qwdh1z085gk";
   };
 
   # The OS should care on preparing the drivers into this location
@@ -24,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "Middleware to access a smart card using SCard API (PC/SC)";
     homepage = http://pcsclite.alioth.debian.org/;
     license = licenses.bsd3;
-    maintainers = with maintainers; [viric];
+    maintainers = with maintainers; [ viric wkennington ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix
new file mode 100644
index 00000000000..72e43f15fe6
--- /dev/null
+++ b/pkgs/tools/security/pcsctools/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl, pcsclite }:
+
+stdenv.mkDerivation rec {
+  name = "pcsc-tools-1.4.23";
+
+  src = fetchurl {
+    url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/pcsc-tools-1.4.23.tar.gz";
+    sha256 = "1qjgvvvwhykmzn4js9s3rjnp9pbjc3sz4lb4d7i9kvr3xsv7pjk9";
+  };
+
+  buildInputs = [ udev dbus_libs perl pcsclite ];
+
+  preBuild = ''
+    makeFlags=DESTDIR=$out
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "Tools used to test a PC/SC driver, card or reader";
+    homepage = http://ludovic.rousseau.free.fr/softwares/pcsc-tools/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 038044ad681..632edaedd2e 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -1,28 +1,32 @@
-{ fetchurl, stdenv, pkgconfig, glib
-, useGtk ? !stdenv.isDarwin, gtk
-, useNcurses ? true, ncurses
-, useQt4 ? false, qt4 }:
-
-assert useGtk || useNcurses || useQt4;
-
+{ fetchurl, stdenv, pkgconfig
+, libcap ? null, ncurses ? null, gtk2 ? null, qt4 ? null
+}:
+
+let
+  mkFlag = pfxTrue: pfxFalse: cond: name: "--${if cond then pfxTrue else pfxFalse}-${name}";
+  mkEnable = mkFlag "enable" "disable";
+  mkWith = mkFlag "with" "without";
+  hasX = gtk2 != null || qt4 != null;
+in
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "pinentry-0.8.3";
+  name = "pinentry-0.9.0";
 
   src = fetchurl {
     url = "mirror://gnupg/pinentry/${name}.tar.bz2";
-    sha256 = "1bd047crf7xb8g61mval8v6qww98rddlsw2dz6j8h8qbnl4hp2sn";
+    sha256 = "1awhajq21hcjgqfxg9czaxg555gij4bba6axrwg8w6lfmc3ml14h";
   };
 
-  buildInputs = let opt = stdenv.lib.optional; in []
-    ++ opt useGtk glib
-    ++ opt useGtk gtk
-    ++ opt useNcurses ncurses
-    ++ opt useQt4 qt4;
+  buildInputs = [ libcap gtk2 ncurses qt4 ];
 
-  configureFlags = [ "--disable-pinentry-gtk" "--disable-pinentry-qt" ]
-    ++ (if useGtk || useQt4 then ["--with-x"] else ["--without-x"])
-    ++ (if useGtk then ["--enable-pinentry-gtk2"] else ["--disable-pinentry-gtk"])
-    ++ (if useQt4 then ["--enable-pinentry-qt4"] else ["--disable-pinentry-qt4"]);
+  configureFlags = [
+    (mkWith   (libcap != null)  "libcap")
+    (mkWith   (hasX)            "x")
+    (mkEnable (ncurses != null) "pinentry-curses")
+    (mkEnable true              "pinentry-tty")
+    (mkEnable (gtk2 != null)    "pinentry-gtk2")
+    (mkEnable (qt4 != null)     "pinentry-qt4")
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -30,7 +34,7 @@ stdenv.mkDerivation rec {
     homepage = "http://gnupg.org/aegypten2/";
     description = "GnuPG's interface to passphrase input";
     license = stdenv.lib.licenses.gpl2Plus;
-
+    platforms = stdenv.lib.platforms.all;
     longDescription = ''
       Pinentry provides a console and a GTK+ GUI that allows users to
       enter a passphrase when `gpg' or `gpg2' is run and needs it.
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
index 2a4995f4579..ae9b3be9ee2 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -1,13 +1,13 @@
 { fetchurl, stdenv, python, gnupg }:
 
-let version = "2.0.9"; in
+let version = "2.0.11"; in
 stdenv.mkDerivation {
   name = "pius-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "mirror://sourceforge/pgpius/pius/${version}/pius-${version}.tar.bz2";
-    sha256 = "1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d";
+    sha256 = "0pdbyqz6k0bm182cz81ss7yckmpms5qhrrw0wcr4a1srzcjyzf5f";
   };
 
   buildInputs = [ python ];
@@ -41,6 +41,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.gnu;
-    maintainers = [ ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/tools/security/polkit-kde-agent/default.nix b/pkgs/tools/security/polkit-kde-agent/default.nix
index 7696ee93bce..b3990b53a87 100644
--- a/pkgs/tools/security/polkit-kde-agent/default.nix
+++ b/pkgs/tools/security/polkit-kde-agent/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kdelibs, polkit_qt_1, gettext }:
+{ stdenv, fetchurl, kdelibs, polkit_qt4, gettext }:
 
 stdenv.mkDerivation rec {
   name = "polkit-kde-agent-1-0.99.0";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0rxlq6x0vhvha8i6w109zpzzacp4imins55v4p4fq7a3k0kgywg3";
   };
 
-  buildInputs = [ kdelibs polkit_qt_1 ];
+  buildInputs = [ kdelibs polkit_qt4 ];
 
   nativeBuildInputs = [ gettext ];
 
diff --git a/pkgs/tools/security/pwgen/default.nix b/pkgs/tools/security/pwgen/default.nix
index be96510eca0..b793219f649 100644
--- a/pkgs/tools/security/pwgen/default.nix
+++ b/pkgs/tools/security/pwgen/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation {
-  name = "pwgen-2.06";
+  name = "pwgen-2.07";
 
   src = fetchurl {
-    url = mirror://sourceforge/pwgen/pwgen-2.06.tar.gz;
-    sha256 = "0m1lhkcyizisksr1vlqysjkickrca9qwqkkx6vkv4zhg7ag8qnb1";
+    url = mirror://sourceforge/pwgen/pwgen-2.07.tar.gz;
+    sha256 = "0mhmw700kkh238fzivcwnwi94bj9f3h36yfh3k3j2v19b0zmjx7b";
   };
   meta = {
     description = "Password generator which creates passwords which can be easily memorized by a human";
diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix
index 446e25772f1..989b84ef957 100644
--- a/pkgs/tools/security/rng-tools/default.nix
+++ b/pkgs/tools/security/rng-tools/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "rng-tools-4";
+  name = "rng-tools-5";
 
   src = fetchurl {
     url = "mirror://sourceforge/gkernel/${name}.tar.gz";
 
-    sha256 = "15f17j3lxn1v2mhdxvy3pahz41hn1vlnnm81c0qyh19c4bady6xp";
+    sha256 = "13h7lc8wl9khhvkr0i3bl5j9bapf8anhqis1lcnwxg1vc2v058b0";
   };
 
   meta = {
diff --git a/pkgs/tools/security/simple-tpm-pk11/default.nix b/pkgs/tools/security/simple-tpm-pk11/default.nix
new file mode 100644
index 00000000000..811618d6602
--- /dev/null
+++ b/pkgs/tools/security/simple-tpm-pk11/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, trousers, openssl, opencryptoki, automake, autoconf, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "simple-tpm-pk11-2014-09-25";
+
+  src = fetchgit {
+    url = "https://github.com/ThomasHabets/simple-tpm-pk11";
+    rev = "f26f10e11344560ff6e1479e6795dc0e5dc49a26";
+    sha256 = "8c9501ceed0557113ce3facf7b22b8baf6f32ebb092008c089b80334ed03cec9";
+  };
+
+  buildInputs = [ trousers openssl opencryptoki automake autoconf libtool ];
+
+  preConfigure = "sh bootstrap.sh";
+
+  meta = with stdenv.lib; {
+    description = "Simple PKCS11 provider for TPM chips";
+    longDescription = ''
+      A simple library for using the TPM chip to secure SSH keys.
+      '';
+    homepage    = https://github.com/ThomasHabets/simple-tpm-pk11;
+    license     = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib; [ maintainers.tstrobel ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/srm/default.nix b/pkgs/tools/security/srm/default.nix
new file mode 100644
index 00000000000..a109e9ca6a6
--- /dev/null
+++ b/pkgs/tools/security/srm/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+
+  name = "srm-" + version;
+  version = "1.2.15";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/srm/${version}/${name}.tar.gz";
+    sha256 = "10sjarhprs6s4zandndg720528rcnd4xk8dl48pjj7li1q9c30vm";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Delete files securely";
+    longDescription = ''
+      srm (secure rm) is a command-line compatible rm(1) which
+      overwrites file contents before unlinking. The goal is to
+      provide drop in security for users who wish to prevent recovery
+      of deleted information, even if the machine is compromised.
+    '';
+    homepage = "http://srm.sourceforge.net";
+    license = licenses.mit;
+    maintainers = with maintainers; [ edwtjo ];
+    platforms = platforms.linux;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/tools/security/ssdeep/default.nix b/pkgs/tools/security/ssdeep/default.nix
index c5c47441704..7ec4934805b 100644
--- a/pkgs/tools/security/ssdeep/default.nix
+++ b/pkgs/tools/security/ssdeep/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, patchelf }:
 
 stdenv.mkDerivation rec {
   name    = "ssdeep-${version}";
-  version = "2.10";
+  version = "2.12";
 
   src = fetchurl {
     url    = "mirror://sourceforge/ssdeep/${name}.tar.gz";
-    sha256 = "1p7dgchq8hgadnxz5qh95ay17k5j74l4qyd15wspc54lb603p2av";
+    sha256 = "1pjb3qpcn6slfqjv23jf7i8zf7950b7h27b0v0dva5pxmn3rw149";
   };
 
-  postFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    patchelf --set-rpath "$(patchelf --print-rpath $out/bin/ssdeep):$out/lib" $out/bin/ssdeep
+  # For some reason (probably a build system bug), the binary isn't
+  # properly linked to $out/lib to find libfuzzy.so
+  postFixup = ''
+    rp=$(patchelf --print-rpath $out/bin/ssdeep)
+    patchelf --set-rpath $rp:$out/lib $out/bin/ssdeep
   '';
 
   meta = {
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index ab46af5a1cd..b6ae48c5d83 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -1,22 +1,29 @@
-{ stdenv, fetchurl, coreutils, pam, groff }:
+{ stdenv, fetchurl, coreutils, pam, groff
+, sendmailPath ? "/var/setuid-wrappers/sendmail"
+}:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.10p3";
+  name = "sudo-1.8.13";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf";
+    sha256 = "09asw1hpxc39a6hhydr8n33m2pni1b5m37vaj7b00761ybnyax73";
   };
 
   configureFlags = [
     "--with-env-editor"
     "--with-editor=/run/current-system/sw/bin/nano"
-    "--with-rundir=/var/run"
+    "--with-rundir=/run/sudo"
     "--with-vardir=/var/db/sudo"
     "--with-logpath=/var/log/sudo.log"
+    "--with-sendmail=${sendmailPath}"
+  ];
+
+  configureFlagsArray = [
+    "--with-passprompt=[sudo] password for %p: "  # intentional trailing space
   ];
 
   postConfigure =
@@ -33,7 +40,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  postInstall = 
+  postInstall =
     ''
     rm -f $out/share/doc/sudo/ChangeLog
     '';
@@ -41,7 +48,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A command to run commands as root";
 
-    longDescription = 
+    longDescription =
       ''
       Sudo (su "do") allows a system administrator to delegate
       authority to give certain users (or groups of users) the ability
@@ -54,5 +61,7 @@ stdenv.mkDerivation rec {
     license = http://www.sudo.ws/sudo/license.html;
 
     maintainers = [ stdenv.lib.maintainers.eelco ];
+
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/super/default.nix b/pkgs/tools/security/super/default.nix
index 0d2e34a4125..c88efb23531 100644
--- a/pkgs/tools/security/super/default.nix
+++ b/pkgs/tools/security/super/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "super-3.30.0";
 
   src = fetchurl {
     name = "${name}.tar.gz";
-    url = "http://ftp.ucolick.org/pub/users/will/${name}-tar.gz";
-    sha256 = "1sxgixx1yg7h8g9799v79rk15gb39gn7p7fx032c078wxx38qwq4";
+    url = "http://www.ucolick.org/~will/RUE/super/${name}-tar.gz";
+    sha256 = "0k476f83w7f45y9jpyxwr00ikv1vhjiq0c26fgjch9hnv18icvwy";
   };
 
+  patches = [
+   (fetchpatch { url = http://anonscm.debian.org/cgit/users/robert/super.git/plain/debian/patches/14-Fix-unchecked-setuid-call.patch;
+                 sha256 = "08m9hw4kyfjv0kqns1cqha4v5hkgp4s4z0q1rgif1fnk14xh7wqh";
+               })
+  ];
+
   NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
 
   configureFlags = "--sysconfdir=/etc --localstatedir=/var";
@@ -16,7 +22,7 @@ stdenv.mkDerivation rec {
   installFlags = "sysconfdir=$(out)/etc localstatedir=$(TMPDIR)";
 
   meta = {
-    homepage = http://ftp.ucolick.org/pub/users/will/;
+    homepage = http://www.ucolick.org/~will/;
     description = "Allows users to execute scripts as if they were root";
     longDescription =
       ''
diff --git a/pkgs/tools/security/tcpcrypt/0001-Run-tcpcryptd-under-uid-93-instead-of-666.patch b/pkgs/tools/security/tcpcrypt/0001-Run-tcpcryptd-under-uid-93-instead-of-666.patch
deleted file mode 100644
index addf00796a8..00000000000
--- a/pkgs/tools/security/tcpcrypt/0001-Run-tcpcryptd-under-uid-93-instead-of-666.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4ef50d76a2da61be60fea448690e24f35bc37299 Mon Sep 17 00:00:00 2001
-From: Peter Simons <simons@cryp.to>
-Date: Wed, 11 Sep 2013 17:19:29 +0200
-Subject: [PATCH] Run tcpcryptd under uid 93 instead of 666.
-
----
- user/src/linux.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/user/src/linux.c b/user/src/linux.c
-index b51e6b2..8199193 100644
---- a/user/src/linux.c
-+++ b/user/src/linux.c
-@@ -198,7 +198,7 @@ void linux_drop_privs(void)
- 
- 	cap_free(caps);
- 
--	if (setuid(666) == -1)
-+	if (setuid(93) == -1)
- 		err(1, "setuid()");
- 
- 	caps = cap_init();
--- 
-1.8.3.4
-
diff --git a/pkgs/tools/security/tcpcrypt/default.nix b/pkgs/tools/security/tcpcrypt/default.nix
index 17c6993826d..be21f92cd76 100644
--- a/pkgs/tools/security/tcpcrypt/default.nix
+++ b/pkgs/tools/security/tcpcrypt/default.nix
@@ -1,26 +1,23 @@
-{ fetchurl, stdenv, autoconf, automake, libtool
+{ fetchurl, stdenv, autoconf, automake, libtool, autoreconfHook
 , openssl, libcap, libnfnetlink, libnetfilter_queue
 }:
 
-let
-  rev = "0e07772316061ad67b8770e7d98d5dd099c9c7c7";
-in
 stdenv.mkDerivation rec {
-  name = "tcpcrypt-2011.07.22";
+  name = "tcpcrypt-0.3-rc1";
 
   src = fetchurl {
-    url = "https://github.com/sorbo/tcpcrypt/archive/${rev}.tar.gz";
-    sha256 = "1f1f1iawlvipnccwh31fxnb8yam1fgh36m0qcbc29qk1ggwrfnkk";
+    url = "https://github.com/scslab/tcpcrypt/archive/v0.3-rc1.tar.gz";
+    sha256 = "1k79xfip95kyy91b6rnmsgl66g52zrnm92ln4jms133nm2k9s4sa";
     name = "${name}.tar.gz";
   };
 
   dontStrip = true;
 
-  buildInputs = [ autoconf automake libtool openssl libcap libnfnetlink libnetfilter_queue ];
+  buildInputs = [ autoreconfHook autoconf automake libtool openssl libcap libnfnetlink libnetfilter_queue ];
 
-  patches = [ ./0001-Run-tcpcryptd-under-uid-93-instead-of-666.patch ];
-
-  preConfigure = "cd user; autoreconf -i";
+  postUnpack = ''
+    mkdir $sourceRoot/m4
+  '';
 
   meta = {
     homepage = "http://tcpcrypt.org/";
diff --git a/pkgs/tools/security/thc-hydra/default.nix b/pkgs/tools/security/thc-hydra/default.nix
new file mode 100644
index 00000000000..29c29d6b93a
--- /dev/null
+++ b/pkgs/tools/security/thc-hydra/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, openssl, libidn, ncurses, pcre, libssh, postgresql92 }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "thc-hydra-${version}";
+  version = "7.5";
+
+  src = fetchurl {
+    url = "http://www.thc.org/releases/hydra-${version}.tar.gz";
+    sha256 = "1dhavbn2mcm6c2c1qw29ipbpmczax3vhhlxzwn49c8cq471yg4vj";
+  };
+
+  preConfigure = ''
+   substituteInPlace configure --replace "\$LIBDIRS" "${openssl}/lib ${pcre}/lib ${libssh}/lib ${postgresql92}/lib"
+   substituteInPlace configure --replace "\$INCDIRS" "${openssl}/include ${pcre}/include ${libssh}/include ${postgresql92}/include"
+  '';
+
+  buildInputs = [ openssl libidn ncurses pcre libssh ];
+
+  meta = {
+    description = "A very fast network logon cracker which support many different services";
+    license = licenses.agpl3;
+    homepage = https://www.thc.org/thc-hydra/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/security/tmin/default.nix b/pkgs/tools/security/tmin/default.nix
new file mode 100644
index 00000000000..2c16e936a69
--- /dev/null
+++ b/pkgs/tools/security/tmin/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, bash }:
+
+stdenv.mkDerivation rec {
+  name    = "tmin-${version}";
+  version = "0.05";
+
+  src = fetchurl {
+    url    = "https://tmin.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0166kcfs4b0da4hs2aqyn41f5l09i8rwxpi20k7x17qsxbmjbpd5";
+  };
+
+  buildPhase   = ''
+    gcc -O3 -funroll-loops -fno-strict-aliasing -Wno-pointer-sign tmin.c -o tmin
+  '';
+  installPhase = "mkdir -p $out/bin && mv tmin $out/bin";
+
+  meta = {
+    description = "Fuzzing tool test-case optimizer";
+    homepage    = "https://code.google.com/p/tmin";
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 3318d0c1102..1237890f621 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -1,16 +1,26 @@
-{ stdenv, fetchurl, libevent, openssl, zlib }:
+{ stdenv, fetchurl, libevent, openssl, zlib, torsocks }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.2.4.23";
+  name = "tor-0.2.5.12";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz";
-    sha256 = "0a8l6d82hk4wbn7nlphd3c1maxhgdli8338wbg5r9dk6zcy7k8q5";
+    sha256 = "0j9byw3i2b7ji88vsqwmsxxg2nlxwkk45k5qbc1y7hdlzvzxl3sm";
   };
 
-  buildInputs = [ libevent openssl zlib ];
+  # Note: torsocks is specified as a dependency, as the distributed
+  # 'torify' wrapper attempts to use it; although there is no
+  # ./configure time check for any of this.
+  buildInputs = [ libevent openssl zlib torsocks ];
 
-  CFLAGS = "-lgcc_s";
+  CFLAGS = stdenv.lib.optionalString (stdenv.cc.cc.isGNU or false) "-lgcc_s";
+
+  # Patch 'torify' to point directly to torsocks.
+  patchPhase = ''
+    substituteInPlace contrib/client-tools/torify \
+      --replace 'pathfind torsocks' true          \
+      --replace 'exec torsocks' 'exec ${torsocks}/bin/torsocks'
+  '';
 
   doCheck = true;
 
@@ -31,7 +41,8 @@ stdenv.mkDerivation rec {
 
     license="mBSD";
 
-    maintainers = with stdenv.lib.maintainers; [ phreedom ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = with stdenv.lib.maintainers;
+      [ phreedom doublec thoughtpolice ];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/tor/tor-arm.nix b/pkgs/tools/security/tor/tor-arm.nix
new file mode 100644
index 00000000000..6c4d61d825f
--- /dev/null
+++ b/pkgs/tools/security/tor/tor-arm.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, python, setuptools, lsof, nettools, makeWrapper
+, pythonPackages, ncurses }:
+
+stdenv.mkDerivation rec {
+  name    = "tor-arm-${version}";
+  version = "1.4.5.0";
+
+  src = fetchurl {
+    url    = "https://www.atagar.com/arm/resources/static/arm-${version}.tar.bz2";
+    sha256 = "1yi87gdglkvi1a23hv5c3k7mc18g0rw7b05lfcw81qyxhlapf3pw";
+  };
+
+  buildInputs =
+    [ python pythonPackages.curses setuptools lsof nettools makeWrapper ];
+
+  patchPhase = ''
+    substituteInPlace ./setup.py --replace "/usr/bin" "$out/bin"
+    substituteInPlace ./src/util/connections.py \
+      --replace "lsof -wnPi"   "${lsof}/bin/lsof"
+    substituteInPlace ./src/util/torTools.py \
+      --replace "netstat -npl" "${nettools}/bin/netstat -npl" \
+      --replace "lsof -wnPi"   "${lsof}/bin/lsof"
+
+    substituteInPlace ./arm --replace '"$0" = /usr/bin/arm' 'true'
+    substituteInPlace ./arm --replace "python" "${python}/bin/python"
+
+    for i in ./install ./arm ./src/gui/controller.py ./src/cli/wizard.py ./src/resources/torrcOverride/override.h ./src/resources/torrcOverride/override.py ./src/resources/arm.1 ./setup.py; do
+      substituteInPlace $i --replace "/usr/share" "$out/share"
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/arm $out/bin $out/libexec
+    python setup.py install --prefix=$out
+    cp -R src/TorCtl $out/libexec
+
+    for i in $(cd $out/bin && ls); do
+      wrapProgram $out/bin/$i \
+        --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pythonPackages.curses}):$out/libexec:$PYTHONPATH" \
+        --set TERMINFO "${ncurses}/share/terminfo" \
+        --set TERM     "xterm"
+    done
+  '';
+
+  meta = {
+    description = "Anonymizing relay monitor for Tor";
+    homepage    = "https://www.atagar.com/arm/";
+    license     = stdenv.lib.licenses.gpl3;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
index f220a46bddc..b91dc65219b 100644
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -9,7 +9,7 @@ let
   torEnv = buildEnv {
     name = "tor-env";
     paths = [
-      stdenv.gcc.gcc zlib glib alsaLib dbus dbus_glib gtk atk pango freetype
+      stdenv.cc.cc zlib glib alsaLib dbus dbus_glib gtk atk pango freetype
       fontconfig gdk_pixbuf cairo xlibs.libXrender xlibs.libX11 xlibs.libXext
       xlibs.libXt
     ];
@@ -20,18 +20,18 @@ let
 
 in stdenv.mkDerivation rec {
   name = "tor-browser-${version}";
-  version = "3.6.2";
+  version = "4.0.6";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${bits}-${version}_en-US.tar.xz";
     sha256 = if bits == "64" then
-      "1rfv59k9mia6hr1z1k4im20dy59ir7i054cgf78sfj1zsh08q7hf" else
-      "1klkk1k5r51pcx44r1z3sw08fqcl2f2v5iblf4yh83js482c37r8";
+      "d954510bf812f624945bdba8e1c37e23573de89e2f159d7c89a3e3589a765559" else
+      "89ce71312f5d73fc2af637a93d7697587b2132fce0e9f6e815b25ddba66518d0";
   };
 
   patchPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" Browser/firefox
-    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" Tor/tor
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" Browser/firefox
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" Browser/TorBrowser/Tor/tor
   '';
 
   doCheck = true;
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
     echo "Checking firefox..."
     LD_LIBRARY_PATH=${ldLibraryPath} Browser/firefox --help 1> /dev/null
     echo "Checking tor..."
-    LD_LIBRARY_PATH=${torEnv}/lib:Tor Tor/tor --help 1> /dev/null
+    LD_LIBRARY_PATH=${torEnv}/lib:Browser/TorBrowser/Tor Browser/TorBrowser/Tor/tor --help 1> /dev/null
   '';
 
   installPhase = ''
@@ -50,13 +50,13 @@ in stdenv.mkDerivation rec {
     cp -R * $out/share/tor-browser
 
     cat > "$out/bin/tor-browser" << EOF
-      export HOME="\$HOME/.torbrowser"
+      export HOME="\$HOME/.torbrowser4"
       if [ ! -d \$HOME ]; then
-        mkdir -p \$HOME && cp -R $out/share/tor-browser/Data \$HOME/ && chmod -R +w \$HOME
+        mkdir -p \$HOME && cp -R $out/share/tor-browser/Browser/TorBrowser/Data \$HOME/ && chmod -R +w \$HOME
         echo "pref(\"extensions.torlauncher.tordatadir_path\", \"\$HOME/Data/Tor/\");" >> \
           ~/Data/Browser/profile.default/preferences/extension-overrides.js
       fi
-      export LD_LIBRARY_PATH=${ldLibraryPath}:$out/share/tor-browser/Tor
+      export LD_LIBRARY_PATH=${ldLibraryPath}:$out/share/tor-browser/Browser/TorBrowser/Tor
       $out/share/tor-browser/Browser/firefox -no-remote -profile ~/Data/Browser/profile.default "$@"
     EOF
     chmod +x $out/bin/tor-browser
@@ -64,10 +64,11 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ stdenv ];
 
-  meta = with stdenv.lib; {
-    description = "Tor Browser Bundle for GNU/Linux, everything you need to safely browse the Internet";
-    homepage = https://www.torproject.org/;
-    platforms = ["i686-linux" "x86_64-linux"];
-    maintainers = [ maintainers.offline maintainers.matejc ];
+  meta = {
+    description = "Tor Browser Bundle";
+    homepage    = https://www.torproject.org/;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers;
+      [ offline matejc doublec thoughtpolice ];
   };
 }
diff --git a/pkgs/tools/security/tor/torsocks.nix b/pkgs/tools/security/tor/torsocks.nix
index f8e76c4e83b..d4a725fa04a 100644
--- a/pkgs/tools/security/tor/torsocks.nix
+++ b/pkgs/tools/security/tor/torsocks.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchgit, autoreconfHook }:
+{ stdenv, fetchgit, autoreconfHook, which }:
+
 stdenv.mkDerivation rec {
-  pname = "torsocks";
-  name = "${pname}-${version}";
-  version = "1.3";
-  
+  name = "torsocks-${version}";
+  version = "2.0.0";
+
   src = fetchgit {
-    url = meta.repositories.git;
-    rev = "refs/tags/${version}";
-    sha256 = "1cqplb36fkdb81kzf48xlxclf64wnp8r56x1gjayax1h6x4aal1w";
+    url    = meta.repositories.git;
+    rev    = "refs/tags/v${version}";
+    sha256 = "e3868ae8baadce1854cc9e604a5fcfa0433a15e4eb1223cc9da5b3c586db0048";
   };
 
   buildInputs = [ autoreconfHook ];
@@ -15,10 +15,17 @@ stdenv.mkDerivation rec {
       export configureFlags="$configureFlags --libdir=$out/lib"
   '';
 
+  patchPhase = ''
+    substituteInPlace src/bin/torsocks.in \
+      --replace which ${which}/bin/which
+  '';
+
   meta = {
-    description = "use socks-friendly applications with Tor";
-    homepage = http://code.google.com/p/torsocks/;
+    description      = "Wrapper to safely torify applications";
+    homepage         = http://code.google.com/p/torsocks/;
     repositories.git = https://git.torproject.org/torsocks.git;
-    license = stdenv.lib.licenses.gpl2;
+    license          = stdenv.lib.licenses.gpl2;
+    platforms        = stdenv.lib.platforms.unix;
+    maintainers      = with stdenv.lib.maintainers; [ phreedom thoughtpolice ];
   };
 }
diff --git a/pkgs/tools/security/tpm-quote-tools/default.nix b/pkgs/tools/security/tpm-quote-tools/default.nix
index c178d401154..b294c1c9feb 100644
--- a/pkgs/tools/security/tpm-quote-tools/default.nix
+++ b/pkgs/tools/security/tpm-quote-tools/default.nix
@@ -11,9 +11,12 @@ stdenv.mkDerivation {
   buildInputs = [ trousers openssl ];
 
   meta = with stdenv.lib; {
-    description = ''The TPM Quote Tools is a collection of programs that provide support
-                    for TPM based attestation using the TPM quote mechanism.  The manual
-                    page for tpm_quote_tools provides a usage overview.'';
+    description = "A collection of programs that provide support for TPM based attestation using the TPM quote mechanism";
+    longDescription = ''
+      The TPM Quote Tools is a collection of programs that provide support
+      for TPM based attestation using the TPM quote mechanism.  The manual
+      page for tpm_quote_tools provides a usage overview.
+    '';
     homepage    = http://tpmquotetools.sourceforge.net/;
     license     = licenses.bsd3;
     maintainers = [ maintainers.ak ];
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
index 6e7ff75a6a4..a17bff9e32c 100644
--- a/pkgs/tools/security/tpm-tools/default.nix
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, trousers, openssl }:
+{ stdenv, fetchurl, trousers, openssl, opencryptoki }:
 
 let
   version = "1.3.8";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "10za1gi89vi9m2lmm7jfzs281h55x1sbbm2bdgdh692ljpq4zsv6";
   };
 
-  buildInputs = [ trousers openssl ];
+  buildInputs = [ trousers openssl opencryptoki ];
 
   meta = with stdenv.lib; {
     description = "Management tools for TPM hardware";
diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix
index fe797291f9e..70f11c39d6f 100644
--- a/pkgs/tools/security/trousers/default.nix
+++ b/pkgs/tools/security/trousers/default.nix
@@ -1,23 +1,19 @@
 { stdenv, fetchurl, openssl }:
 
-let
-  ver_maj = "0.3.11";
-  ver_min = "2";
-in
 stdenv.mkDerivation rec {
-  name = "trousers-${ver_maj}.${ver_min}";
+  name = "trousers-${version}";
+  version = "0.3.13";
 
   src = fetchurl {
-    url = "mirror://sourceforge/trousers/trousers/${ver_maj}/${name}.tar.gz";
-    sha256 = "1m9qi4452jr5yy4y9zyfi5ndwam5krq7ny8z2q3f91v1hcjgk5la";
+    url = "mirror://sourceforge/trousers/trousers/${version}/${name}.tar.gz";
+    sha256 = "1lvnla1c1ig2w3xvvrqg2w9qm7a1ygzy1j2gg8j7p8c87i58x45v";
   };
 
   buildInputs = [ openssl ];
 
-  patches = [ # ./double-installed-man-page.patch
-              ./disable-install-rule.patch
-              ./allow-non-tss-config-file-owner.patch
-            ];
+  patches = [ ./allow-non-tss-config-file-owner.patch ];
+
+  configureFlags = [ "--disable-usercheck" ];
 
   NIX_CFLAGS_COMPILE = "-DALLOW_NON_TSS_CONFIG_FILE";
   NIX_LDFLAGS = "-lgcc_s";
diff --git a/pkgs/tools/security/trousers/disable-install-rule.patch b/pkgs/tools/security/trousers/disable-install-rule.patch
deleted file mode 100644
index 698beac9ffd..00000000000
--- a/pkgs/tools/security/trousers/disable-install-rule.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- trousers-0.3.11/dist/Makefile.in	2013-08-14 06:49:37.597558787 +0200
-+++ trousers-0.3.11/dist/Makefile.in	2013-08-14 06:50:07.134510774 +0200
-@@ -363,16 +363,16 @@
- 	uninstall uninstall-am uninstall-hook
- 
- install: install-exec-hook
--	if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
--	/bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
--	/bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
-+#	echo if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
-+	echo /bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
-+	echo /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
- 
- install-exec-hook:
--	/usr/sbin/groupadd tss || true
--	/usr/sbin/useradd -r tss -g tss || true
--	/bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
--	/bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
--	/bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
-+	echo /usr/sbin/groupadd tss || true
-+	echo /usr/sbin/useradd -r tss -g tss || true
-+	echo /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
-+	echo /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
-+	echo /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
- 
- uninstall-hook:
- 	/usr/sbin/userdel tss || true
diff --git a/pkgs/tools/security/trousers/double-installed-man-page.patch b/pkgs/tools/security/trousers/double-installed-man-page.patch
deleted file mode 100644
index 6b40716120e..00000000000
--- a/pkgs/tools/security/trousers/double-installed-man-page.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:57:47.018494495 +0200
-+++ trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:58:10.353453471 +0200
-@@ -75,7 +75,6 @@
- 	    Tspi_TPM_TakeOwnership.3 \
- 	    Tspi_TPM_GetAuditDigest.3 \
- 	    Tspi_TPM_OwnerGetSRKPubKey.3 \
--	    Tspi_TPM_Quote.3 \
- 	    Tspi_TPM_CMKSetRestrictions.3
- if TSS_BUILD_DAA
- man3_MANS += Tspi_DAA_IssueCredential.3 \
---- trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:25.029490899 +0200
-+++ trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:43.153457942 +0200
-@@ -243,7 +243,7 @@
- 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
- 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
- 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
--	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
-+	Tspi_TPM_OwnerGetSRKPubKey.3 \
- 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
- EXTRA_DIST = $(man3_MANS)
- all: all-am
---- trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:05.686414845 +0200
-+++ trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:23.233381327 +0200
-@@ -243,7 +243,7 @@
- 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
- 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
- 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
--	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
-+	Tspi_TPM_OwnerGetSRKPubKey.3 \
- 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
- EXTRA_DIST = $(man3_MANS)
- all: all-am
diff --git a/pkgs/tools/security/volatility/default.nix b/pkgs/tools/security/volatility/default.nix
index 41e227cee7e..6aa3a9d5ea1 100644
--- a/pkgs/tools/security/volatility/default.nix
+++ b/pkgs/tools/security/volatility/default.nix
@@ -2,11 +2,12 @@
 
 buildPythonPackage rec {
   namePrefix = "";
-  name = "volatility-2.3.1";
+  name = "volatility-2.4";
+
 
   src = fetchurl {
-    url = "http://volatility.googlecode.com/files/${name}.tar.gz";
-    sha256 = "bb1411fc671e0bf550a31e534fb1991b2f940f1dce1ebe4ce2fb627aec40726c";
+    url = "http://downloads.volatilityfoundation.org/releases/2.4/${name}.tar.gz";
+    sha256 = "1wffrkvj2lrkqhwamyix9fy05y6g6w8h1sz2iqlm6i6ag7yxykv8";
   };
 
   doCheck = false;
@@ -17,6 +18,6 @@ buildPythonPackage rec {
     homepage = https://code.google.com/p/volatility;
     description = "advanced memory forensics framework";
     maintainers = with maintainers; [ bosu ];
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/security/wipe/default.nix b/pkgs/tools/security/wipe/default.nix
new file mode 100644
index 00000000000..a7c337dc122
--- /dev/null
+++ b/pkgs/tools/security/wipe/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "wipe-${version}";
+  version = "2.3.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/wipe/${version}/${name}.tar.bz2";
+    sha256 = "180snqvh6k6il6prb19fncflf2jcvkihlb4w84sbndcv1wvicfa6";
+  };
+
+  patches = [ ./fix-install.patch ];
+
+  meta = with stdenv.lib; {
+    description = "Secure file wiping utility";
+    homepage    = http://wipe.sourceforge.net/;
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = [ maintainers.abbradar ];
+  };
+}
diff --git a/pkgs/tools/security/wipe/fix-install.patch b/pkgs/tools/security/wipe/fix-install.patch
new file mode 100644
index 00000000000..2df3a1eec6a
--- /dev/null
+++ b/pkgs/tools/security/wipe/fix-install.patch
@@ -0,0 +1,18 @@
+diff -ru3 wipe-2.3.1/Makefile.in wipe-2.3.1-new/Makefile.in
+--- wipe-2.3.1/Makefile.in	2009-11-02 00:11:30.000000000 +0300
++++ wipe-2.3.1-new/Makefile.in	2014-10-18 02:51:10.088966232 +0400
+@@ -60,12 +60,12 @@
+ 	$(INSTALL_BIN) -d $(bindir)
+ 	$(INSTALL_BIN) -s $(BIN_OUT) $(bindir)
+ 	$(INSTALL) -d $(mandir)/man1
+-	$(INSTALL) -o root -m 0644 wipe.1 $(mandir)/man1/
++	$(INSTALL) -m 0644 wipe.1 $(mandir)/man1/
+ 	rm -rf $(datadir)/doc/wipe*
+ 	$(INSTALL) -d $(datadir)/doc/wipe
+ 
+ 	for file in $(DOCS); do \
+-		$(INSTALL) -o root -m 0644 $$file $(datadir)/doc/wipe/; \
++		$(INSTALL) -m 0644 $$file $(datadir)/doc/wipe/; \
+ 	done
+ 
+ install_home: $(BIN_OUT)
diff --git a/pkgs/tools/system/acct/default.nix b/pkgs/tools/system/acct/default.nix
index 0bea6bec354..c99d20d7953 100644
--- a/pkgs/tools/system/acct/default.nix
+++ b/pkgs/tools/system/acct/default.nix
@@ -1,16 +1,16 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "acct-6.6.1";
+  name = "acct-6.6.2";
 
   src = fetchurl {
     url = "mirror://gnu/acct/${name}.tar.gz";
-    sha256 = "1jzz601cavml7894fjalw661gz28ia35002inw990agr3rhiaiam";
+    sha256 = "0081hzkcxw9aslpsakridj15m0wbnkdhm210fzbg021vi4pppm4f";
   };
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNU Accounting Utilities, login and process accounting utilities";
 
     longDescription = ''
@@ -20,11 +20,11 @@ stdenv.mkDerivation rec {
       execution statistics.
     '';
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/acct/;
 
-    maintainers = [ ];
-    platforms = with stdenv.lib.platforms; allBut cygwin;
+    maintainers = with maintainers; [ pSub ];
+    platforms = with platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/tools/system/ansible/default.nix b/pkgs/tools/system/ansible/default.nix
index b3d40712926..c033814c631 100644
--- a/pkgs/tools/system/ansible/default.nix
+++ b/pkgs/tools/system/ansible/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, pythonPackages, python }:
 
 pythonPackages.buildPythonPackage rec {
-  version = "1.6.10";
+  version = "1.8.4";
   name = "ansible-${version}";
   namePrefix = "";
-  
+
   src = fetchurl {
-    url = "https://github.com/ansible/ansible/archive/v${version}.tar.gz";
-    sha256 = "0j133353skzb6ydrqqgfkzbkkj1zaibl1x8sgl0arnfma8qky1g1";
+    url = "http://releases.ansible.com/ansible/ansible-${version}.tar.gz";
+    sha256 = "1hcy4f6l9c23aa05yi4mr0zbqp0c6v5zq4c3dim076yfmfrh8z6k";
   };
 
   prePatch = ''
-    sed -i "s,\/usr\/share\/ansible\/,$out/share/ansible," lib/ansible/constants.py 
+    sed -i "s,\/usr\/share\/ansible\/,$out/share/ansible," lib/ansible/constants.py
   '';
 
   doCheck = false;
@@ -32,6 +32,6 @@ pythonPackages.buildPythonPackage rec {
     description = "A simple automation tool";
     license = licenses.gpl3;
     maintainers = [ maintainers.joamaki ];
-    platforms = platforms.linux; # Only tested on Linux
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/tools/system/at/default.nix b/pkgs/tools/system/at/default.nix
index 2964db34e12..9991adf4013 100644
--- a/pkgs/tools/system/at/default.nix
+++ b/pkgs/tools/system/at/default.nix
@@ -1,26 +1,22 @@
-{ fetchurl, stdenv, bison, flex, pam, ssmtp }:
+{ fetchurl, stdenv, bison, flex, pam, sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
 stdenv.mkDerivation {
-  name = "at-3.1.14";
+  name = "at-3.1.16";
 
   src = fetchurl {
     # Debian is apparently the last location where it can be found.
-    url = mirror://debian/pool/main/a/at/at_3.1.14.orig.tar.gz;
-    sha256 = "cd092bf05d29c25b286f55a960ce8b8c3c5beb571d86ed8eb1dfb3b61291b3ae";
+    url = mirror://debian/pool/main/a/at/at_3.1.16.orig.tar.gz;
+    sha256 = "1hfmnhgi95vsfaa69qlakpwd22al0m0rhqms6sawxvaldafgb6nb";
   };
 
   patches = [ ./install.patch ];
 
   buildInputs =
-    [ bison flex pam
-      # `configure' and `atd' want the `sendmail' command.
-      ssmtp
-    ];
+    [ bison flex pam ];
 
   preConfigure =
     ''
-      export PATH="${ssmtp}/sbin:$PATH"
-
+      export SENDMAIL=${sendmailPath}
       # Purity: force atd.pid to be placed in /var/run regardless of
       # whether it exists now.
       substituteInPlace ./configure --replace "test -d /var/run" "true"
@@ -37,5 +33,6 @@ stdenv.mkDerivation {
     description = ''The classical Unix `at' job scheduling command'';
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://packages.qa.debian.org/at;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/augeas/default.nix b/pkgs/tools/system/augeas/default.nix
new file mode 100644
index 00000000000..e6b09932f86
--- /dev/null
+++ b/pkgs/tools/system/augeas/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, readline, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "augeas-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "http://download.augeas.net/${name}.tar.gz";
+    sha256 = "1q41yilxc0nvjz5h9phm38k2b73k2v0b9jg11y92228bps7b5bpl";
+  };
+
+  buildInputs = [ pkgconfig readline libxml2 ];
+
+  meta = with stdenv.lib; {
+    description = "Configuration editing tool.";
+    license = licenses.lgpl2;
+    homepage = http://augeas.net/;
+    maintainers = with maintainers; [offline];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 4210a0a04a5..e0149078271 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -33,18 +33,18 @@ stdenv.mkDerivation rec {
     sha256 = "1q365zx6d1wyhv7n97bagfxqnqbhj2j14zz552nhmjviy8lj2ibm";
   };
 
-  NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
-
   buildInputs = [
     pkgconfig curl iptables libcredis libdbi libgcrypt libmemcached cyrus_sasl
     libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
-    lm_sensors libxml2 lvm2 mysql postgresql protobufc rabbitmq-c rrdtool
+    lm_sensors libxml2 lvm2 mysql.lib postgresql protobufc rabbitmq-c rrdtool
     varnish yajl
   ];
 
   # for some reason libsigrok isn't auto-detected
   configureFlags = stdenv.lib.optional (libsigrok != null) "--with-libsigrok";
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+
   meta = with stdenv.lib; {
     description = "Daemon which collects system performance statistics periodically";
     homepage = http://collectd.org;
diff --git a/pkgs/tools/system/cron/default.nix b/pkgs/tools/system/cron/default.nix
index 0cf29a67b9d..998be45d9c6 100644
--- a/pkgs/tools/system/cron/default.nix
+++ b/pkgs/tools/system/cron/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "cron-4.1";
   src = fetchurl {
     url = ftp://ftp.isc.org/isc/cron/cron_4.1.shar;
-    md5 = "5e1be9dbde66295821ac7899f2e1f561";
+    sha256 = "16n3dras4b1jh7g958nz1k54pl9pg5fwb3fvjln8z67varvq6if4";
   };
 
   unpackCmd = "(mkdir cron && cd cron && sh $curSrc)";
@@ -20,8 +20,9 @@ stdenv.mkDerivation {
   '';
 
   preInstall = "mkdir -p $out/bin $out/sbin $out/share/man/man1 $out/share/man/man5 $out/share/man/man8";
-  
+
   meta = {
     description = "Daemon for running commands at specific times (Vixie Cron)";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/daemonize/default.nix b/pkgs/tools/system/daemonize/default.nix
new file mode 100644
index 00000000000..5b52e0feb59
--- /dev/null
+++ b/pkgs/tools/system/daemonize/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "daemonize-${version}";
+  version = "1.7.5";
+
+  src = fetchurl {
+    url    = "https://github.com/bmc/daemonize/archive/release-${version}.tar.gz";
+    sha256 = "0sx0k05n8kyn0ma51nkjll8cs1xygmhv4qsyshxxj8apvjw20qk1";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Runs a command as a Unix daemon";
+    homepage    = http://software.clapper.org/daemonize/;
+    license     = licenses.bsd3;
+    platforms = with platforms; linux ++ freebsd ++ darwin;
+  };
+}
diff --git a/pkgs/tools/system/dcfldd/default.nix b/pkgs/tools/system/dcfldd/default.nix
new file mode 100644
index 00000000000..27ebbf3518f
--- /dev/null
+++ b/pkgs/tools/system/dcfldd/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "dcfldd-1.3.4-1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dcfldd/${name}.tar.gz";
+    sha256 = "1y6mwsvm75f5jzxsjjk0yhf8xnpmz6y8qvcxfandavx59lc3l57m";
+  };
+
+  buildInputs = [ ];
+
+  meta = with stdenv.lib; {
+    description = "an enhanced version of GNU dd";
+
+    homepage = http://dcfldd.sourceforge.net/;
+
+    license = licenses.gpl2;
+
+    platforms = platforms.all;
+    maintainers = with maintainers; [ qknight ];
+  };
+}
diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix
index 9c7f0413421..7b3e62a1bc0 100644
--- a/pkgs/tools/system/dd_rescue/default.nix
+++ b/pkgs/tools/system/dd_rescue/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "dd_rescue-1.42.1";
+  version = "1.46";
+  name = "dd_rescue-${version}";
 
   src = fetchurl {
-    sha256 = "0g2d292m1cnp8syy19hh5jvly3zy7lcvcj563wgjnf20ppm2diaq";
+    sha256 = "1fhs4jl5pkyn4aq75fxczrgnsj2m0kz9hfa7dhxy93vp7xcba2cy";
     url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.gz";
   };
 
@@ -33,5 +34,8 @@ stdenv.mkDerivation rec {
     description = "A tool to copy data from a damaged block device";
     maintainers = with maintainers; [ raskin iElectric ];
     platforms = with platforms; linux;
+    downloadPage = "http://www.garloff.de/kurt/linux/ddrescue/";
+    inherit version;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index e247c84dcf9..a164a26fbcd 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, lzip }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.18.1";
+  name = "ddrescue-1.19";
 
   src = fetchurl {
     url = "mirror://gnu/ddrescue/${name}.tar.lz";
-    sha256 = "1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq";
+    sha256 = "1f278w7i9sx45jk6fsw1kyzx743k3alx1c4w1q8sk05ckafhr3gd";
   };
 
   buildInputs = [ lzip ];
diff --git a/pkgs/tools/system/dfc/default.nix b/pkgs/tools/system/dfc/default.nix
new file mode 100644
index 00000000000..84150b46837
--- /dev/null
+++ b/pkgs/tools/system/dfc/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, cmake, gettext}:
+
+stdenv.mkDerivation rec {
+  name = "dfc-3.0.4";
+
+  src = fetchurl {
+    url = "http://projects.gw-computing.net/attachments/download/79/dfc-3.0.4.tar.gz";
+    sha256 = "0bdc2edb92c7f740a0b7d3fa75eb134adf197ba711bfa589ab51c691fabd617e";
+  };
+
+  buildInputs = [ cmake gettext ];
+
+  meta = {
+    homepage = "http://projects.gw-computing.net/projects/dfc";
+    description = "displays file system space usage using graphs and colors";
+    license="free";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
+
diff --git a/pkgs/tools/system/dog/default.nix b/pkgs/tools/system/dog/default.nix
new file mode 100644
index 00000000000..9c98da6ac85
--- /dev/null
+++ b/pkgs/tools/system/dog/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "dog-1.7";
+
+  src = fetchurl {
+    url = "http://archive.debian.org/debian/pool/main/d/dog/dog_1.7.orig.tar.gz";
+    sha256 = "3ef25907ec5d1dfb0df94c9388c020b593fbe162d7aaa9bd08f35d2a125af056";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/man/man1
+    cp dog.1 $out/man/man1
+    cp dog $out/bin
+  '';
+
+  meta = {
+    homepage = "http://lwn.net/Articles/421072/";
+    description = "a cat replacement";
+    license="GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/tools/system/fakechroot/default.nix b/pkgs/tools/system/fakechroot/default.nix
index a652a1e84ef..5827a11714d 100644
--- a/pkgs/tools/system/fakechroot/default.nix
+++ b/pkgs/tools/system/fakechroot/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/dex4er/fakechroot/archive/${version}.tar.gz";
-    md5 = "e614f62972efa4654fc780ae7e4affad";
+    sha256 = "0z4cxj4lb8cfb63sw82dbc31hf082fv3hshbmhk49cqkc0f673q3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 48562adffeb..346bbef0bdf 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,11 +1,12 @@
 { fetchurl, stdenv, libgcrypt, readline }:
 
 stdenv.mkDerivation rec {
-  name = "freeipmi-1.3.4";
+  version = "1.4.8";
+  name = "freeipmi-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "0gadf3yj019y3rvgf34pxk502p0p6nrhy6nwldvvir5rknndxh63";
+    sha256 = "06smdsri1v5v2smrd3jxq3n135x7cx0npcimc37lb144gzgyk9wz";
   };
 
   buildInputs = [ libgcrypt readline ];
@@ -30,10 +31,14 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://www.gnu.org/software/freeipmi/;
+    downloadPage = "http://www.gnu.org/software/freeipmi/download.html";
 
     license = stdenv.lib.licenses.gpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+
+    updateWalker = true;
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/gdmap/default.nix b/pkgs/tools/system/gdmap/default.nix
index e9592b36666..3d3809610e4 100644
--- a/pkgs/tools/system/gdmap/default.nix
+++ b/pkgs/tools/system/gdmap/default.nix
@@ -12,8 +12,11 @@ stdenv.mkDerivation rec {
 
   patches = [ ./get_sensitive.patch ./set_flags.patch ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://gdmap.sourceforge.net;
     description = "Recursive rectangle map of disk usage";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index 0fe4cbc986c..b8c92eeab56 100644
--- a/pkgs/tools/system/gptfdisk/default.nix
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libuuid, popt, icu, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "gptfdisk-0.8.8";
+  name = "gptfdisk-1.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gptfdisk/${name}.tar.gz";
-    sha256 = "16myqa72mp0wyhca8il299h1gd6k6sr7m52qcr97j840wk0fjcac";
+    sha256 = "0v0xl0mzwabdf9yisgsvkhpyi48kbik35c6df42gr6d78dkrarjv";
   };
 
   buildInputs = [ libuuid popt icu ncurses ];
diff --git a/pkgs/tools/system/honcho/default.nix b/pkgs/tools/system/honcho/default.nix
new file mode 100644
index 00000000000..1c231e90db4
--- /dev/null
+++ b/pkgs/tools/system/honcho/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchzip, pythonPackages, buildPythonPackage }:
+
+let honcho = buildPythonPackage rec {
+  name = "honcho-${version}";
+  version = "0.6.6";
+  namePrefix = "";
+
+  src = fetchzip {
+    url = "https://github.com/nickstenning/honcho/archive/v${version}.tar.gz";
+    md5 = "f5e6a7f6c1d0c167d410d7f601b4407e";
+  };
+
+  buildInputs = with pythonPackages; [ nose mock jinja2 ];
+  checkPhase = ''
+    runHook preCheck
+    nosetests
+    runHook postCheck
+  '';
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A Python clone of Foreman, a tool for managing Procfile-based applications.";
+    license = licenses.mit;
+    homePage = https://github.com/nickstenning/honcho;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+};
+
+in
+
+# Some of honcho's tests require that honcho be installed in the environment in
+# order to work. This is a trick to build it without running tests, then pass
+# it to itself as a buildInput so the tests work.
+honcho.overrideDerivation (x: { buildInputs = [ honcho ]; doCheck = true; })
diff --git a/pkgs/tools/system/ioping/default.nix b/pkgs/tools/system/ioping/default.nix
index 52d32b4e838..932b68197ce 100644
--- a/pkgs/tools/system/ioping/default.nix
+++ b/pkgs/tools/system/ioping/default.nix
@@ -10,16 +10,16 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="ioping";
-    version="0.7";
+    version = "0.9";
     name="${baseName}-${version}";
-    url="http://ioping.googlecode.com/files/${name}.tar.gz";
-    hash="1c0k9gsq7rr9fqh6znn3i196l84zsm44nq3pl1b7grsnnbp2hki3";
+    url="https://docs.google.com/uc?id=0B_PlDc2qaehFWWtLZ3Z3N1ltdm8&export=download";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    name = "${sourceInfo.name}.tar.gz";
+    sha256 = "0pbp7b3304y9yyv2w41l3898h5q8w77hnnnq1vz8qz4qfl4467lm";
   };
 
   inherit (sourceInfo) name version;
@@ -40,11 +40,8 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.gpl3Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://code.google.com/p/ioping/downloads/list";
-    };
+    homepage = "http://code.google.com/p/ioping/";
+    inherit version;
   };
 }) x
 
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index 6fa374ebe55..987648e69af 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -2,14 +2,14 @@
 
 let
   pkgname = "ipmitool";
-  version = "1.8.13";
+  version = "1.8.15";
 in
 stdenv.mkDerivation {
   name = "${pkgname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pkgname}/${pkgname}-${version}.tar.gz";
-    sha256 = "0drkfa1spqh1vlzrx7jwm3cw1qar46a9xvqsgycn92ylgsr395n1";
+    sha256 = "0y6g8xg9p854n7xm3kds8m3d53jrsllnknp8lcr3jscf99j4x5ph";
   };
 
   buildInputs = [ openssl ];
@@ -26,8 +26,8 @@ stdenv.mkDerivation {
 
   meta = {
     description = ''Command-line interface to IPMI-enabled devices'';
-    license = "BSD";
-    homepage = "http://ipmitool.sourceforge.net";
+    license = stdenv.lib.licenses.bsd3;
+    homepage = http://ipmitool.sourceforge.net;
 
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index c5f33c32359..c19b6007f01 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 = "2.9.3";
+  version = "2.9.5";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27";
+    sha256 = "1rnv72qfrijcm0kiy2lsbdckjxnxdma8sf8y6y6iypp75rcg007b";
   };
 
   buildInputs = [ openssl ];
@@ -26,11 +26,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     license = licenses.bsd3;
-  };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
-    };
+    downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/ipmiutil/default.upstream b/pkgs/tools/system/ipmiutil/default.upstream
new file mode 100644
index 00000000000..9ea779c8cdd
--- /dev/null
+++ b/pkgs/tools/system/ipmiutil/default.upstream
@@ -0,0 +1,4 @@
+url http://sourceforge.net/projects/ipmiutil/files/
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/system/journal-mailer/default.nix b/pkgs/tools/system/journal-mailer/default.nix
new file mode 100644
index 00000000000..5de15f8457a
--- /dev/null
+++ b/pkgs/tools/system/journal-mailer/default.nix
@@ -0,0 +1,34 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, baseCompat, fetchgit, hspec, hspecExpectations
+, libsystemdJournal, mimeMail, mtl, pipes, pipesBytestring
+, pipesSafe, QuickCheck, silently, stringConversions, temporary
+, text, time, unorderedContainers, yaml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "journal-mailer";
+  version = "0.1.1.0";
+  src = fetchgit {
+    url = "https://github.com/zalora/journal-mailer.git";
+    sha256 = "cd28b39746fd8a9652eb5d4dc5dcfd66704826d1ee466572fb47925b054cd07b";
+    rev = "ab1b4df09e7ddbe139959374437331cdddf754b2";
+  };
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    baseCompat libsystemdJournal mimeMail pipes pipesBytestring
+    pipesSafe stringConversions text time unorderedContainers yaml
+  ];
+  testDepends = [
+    baseCompat hspec hspecExpectations libsystemdJournal mimeMail mtl
+    pipes pipesBytestring pipesSafe QuickCheck silently
+    stringConversions temporary text time unorderedContainers yaml
+  ];
+  meta = {
+    description = "Sends out emails for every severe message logged to systemd's journal";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.tv ];
+  };
+})
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index 88c9a4eecd1..9934175ae3b 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   _name   = "logcheck";
-  version = "1.3.16";
+  version = "1.3.17";
   name    = "${_name}-${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.xz";
-    sha256 = "1rmq4s2fj86226ncw2kdjvjbi29375gd7vdq62fsbjxm4m6nzsiy";
+    sha256 = "0fphzaljc9ddv1x6l3zdf9cbarqgzpdqaqwm3plmarcc7qrgrly2";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix
index 964ee217108..771de9205a9 100644
--- a/pkgs/tools/system/logrotate/default.nix
+++ b/pkgs/tools/system/logrotate/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gzip, popt }:
 
 stdenv.mkDerivation rec {
-  name = "logrotate-3.8.7";
+  name = "logrotate-3.8.9";
 
   src = fetchurl {
     url = "https://fedorahosted.org/releases/l/o/logrotate/${name}.tar.gz";
-    sha256 = "0r1bs40gwi8awx6rjq3n4lw9fgws97ww2li7z87683p380gnkfpn";
+    sha256 = "19yzs7gc8ixr6iqq22n5gbixmvzsgmwp96kp4jiwr8bjj37df3kh";
   };
 
   # Logrotate wants to access the 'mail' program; to be done.
diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix
index ccda9be9f03..e9d8e8aabd9 100644
--- a/pkgs/tools/system/lshw/default.nix
+++ b/pkgs/tools/system/lshw/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
     ${if withGUI then "make DESTDIR=$out install-gui" else ""}
     mv $out/usr/* $out
     rmdir $out/usr
+    mv $out/sbin $out/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index 41a94ff2f2e..1b15fbbb628 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssl, bison, flex, pam, usePAM ? stdenv.isLinux }:
 
 stdenv.mkDerivation rec {
-  name = "monit-5.8.1";
+  name = "monit-5.10";
   
   src = fetchurl {
     url = "${meta.homepage}dist/${name}.tar.gz";
-    sha256 = "1rbhr3aff8pbiz60r73607hci4yngv5xq1b6yjx9xhks4mwlnpm2";
+    sha256 = "0lwlils6b59kr6zg328q113c7mrpggqydpq4l6j52sqv3dd1b49p";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 25201ba97ab..972fb41804a 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -8,11 +8,11 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "pciutils-3.2.1"; # with database from 2013-11-10
+  name = "pciutils-3.3.1"; # with database from 2015-04
 
   src = fetchurl {
-    url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
-    sha256 = "1pnwwc4sq0q7zz3mw2rsrc9j5rxwpdvxirqjmxcd0brf0hcjpm8j";
+    url = "mirror://kernel/software/utils/pciutils/${name}.tar.xz";
+    sha256 = "1ag3skny1bamqil46dlppw8j1fp08spqa60fjygbxkg4fzdknjji";
   };
 
   buildInputs = [ pkgconfig zlib kmod which ];
@@ -26,8 +26,12 @@ stdenv.mkDerivation rec {
   # Get rid of update-pciids as it won't work.
   postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8";
 
-  meta = {
-    homepage = http://mj.ucw.cz/pciutils.shtml;
+  meta = with stdenv.lib; {
+    homepage = http://mj.ucw.cz/pciutils.html;
     description = "A collection of programs for inspecting and manipulating configuration of PCI devices";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.vcunat ]; # not really, but someone should watch it
   };
 }
+
diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh
index f97706fa719..2131a5bad86 100644
--- a/pkgs/tools/system/plan9port/builder.sh
+++ b/pkgs/tools/system/plan9port/builder.sh
@@ -4,17 +4,20 @@ tar xvfz $src
 
 cd plan9port
 
-cflags="echo \"CFLAGS='-I${libXt}/include'\" >> \$PLAN9/config"
-
-sed -i "43i\\${cflags}" INSTALL
+echo CFLAGS=\"-I${fontconfig}/include -I${libXt}/include\" > LOCAL.config
+echo X11=\"${libXt}/include\" >> LOCAL.config
 
 for p in $patches; do
   echo "applying patch $p"
   patch -p1 < $p
 done
 
-./INSTALL -r $out/plan9
-
 export PLAN9=$out/plan9
 mkdir -p $PLAN9
+
+for f in `grep -l -r /usr/local/plan9`; do
+  sed "s,/usr/local/plan9,${PLAN9},g" -i $f
+done
+
+./INSTALL -r $PLAN9
 cp -R * $PLAN9
diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix
index 39dba1c182d..ca248da56cf 100644
--- a/pkgs/tools/system/plan9port/default.nix
+++ b/pkgs/tools/system/plan9port/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libX11, libXt
+{stdenv, fetchurl, which, libX11, libXt, fontconfig
 , xproto ? null
 , xextproto ? null
 , libXext ? null }:
@@ -7,6 +7,11 @@ stdenv.mkDerivation rec {
   name = "plan9port-20140306";
 
   patches = [ ./fontsrv.patch ];
+  postPatch =
+    ''
+      substituteInPlace src/cmd/acme/acme.c \
+          --replace /lib/font/bit $out/plan9/font
+    '';
 
   builder = ./builder.sh;
 
@@ -17,7 +22,8 @@ stdenv.mkDerivation rec {
     sha256 = "1sza12j3db7i54r3pzli8wmby6aiyzmyfj8w0nidmawkwv6jdf6b";
   };
 
-  buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 xproto libXt xextproto libXext ];
+  NIX_LDFLAGS="-lgcc_s";
+  buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ which libX11 fontconfig xproto libXt xextproto libXext ];
 
   enableParallelBuilding = true;
 
@@ -25,8 +31,10 @@ stdenv.mkDerivation rec {
     homepage = "http://swtch.com/plan9port/";
     description = "Plan 9 from User Space";
     license = licenses.lpl-102;
+    maintainers = [ stdenv.lib.maintainers.ftrvxmtrx ];
     platforms = platforms.unix;
   };
 
   inherit libXt;
+  inherit fontconfig;
 }
diff --git a/pkgs/tools/system/proot/default.nix b/pkgs/tools/system/proot/default.nix
new file mode 100644
index 00000000000..be3cffb47eb
--- /dev/null
+++ b/pkgs/tools/system/proot/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, talloc, enableStatic ? false }:
+
+stdenv.mkDerivation rec {
+  name = "proot-${version}";
+  version = "4.0.3";
+
+  src = fetchgit {
+    url = "git://github.com/cedric-vincent/proot.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "95a52b2fa47b2891eb2c6b6b0e14d42f6d48f6fd5181e359b007831f1a046e84";
+  };
+
+  buildInputs = [ talloc ];
+
+  preBuild = stdenv.lib.optionalString enableStatic ''
+    export LDFLAGS="-static -L${talloc}/lib"
+  '' + ''
+    substituteInPlace GNUmakefile --replace "/usr/local" "$out"
+  '';
+
+  sourceRoot = "proot/src";
+
+  meta = with stdenv.lib; {
+    homepage = http://proot.me;
+    description = "User-space implementation of chroot, mount --bind and binfmt_misc";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.ianwookim ];
+  };
+}
+
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index d18c2737854..32f48eb7e14 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -1,23 +1,102 @@
-{stdenv, fetchurl, eventlog, pkgconfig, libestr, libee, json_c, libuuid, zlib, gnutls, libgcrypt, systemd, liblogging}:
+{ stdenv, fetchurl, pkgconfig, libestr, json_c, zlib, pythonPackages
+, krb5 ? null, systemd ? null, jemalloc ? null, mysql ? null, postgresql ? null
+, libdbi ? null, net_snmp ? null, libuuid ? null, curl ? null, gnutls ? null
+, libgcrypt ? null, liblognorm ? null, openssl ? null, librelp ? null
+, libgt ? null, liblogging ? null, libnet ? null, hadoop ? null, rdkafka ? null
+, libmongo-client ? null, czmq ? null, rabbitmq-c ? null, hiredis ? null
+}:
 
-stdenv.mkDerivation {
-  name = "rsyslog-7.6.3";
+with stdenv.lib;
+let
+  mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
+in
+stdenv.mkDerivation rec {
+  name = "rsyslog-8.8.0";
 
   src = fetchurl {
-    url = http://www.rsyslog.com/files/download/rsyslog/rsyslog-7.6.3.tar.gz;
-    sha256 = "1v7mi2jjyn3awrfxqvd3mg64m5r027dgpbzd511mlvlbbw1mjcq1";
+    url = "http://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz";
+    sha256 = "1sx0j5icp172rzcpybjpfw53aj34w8j7k3f1ga0pmbv58r3pwyhl";
   };
 
-  buildInputs = [pkgconfig libestr libee json_c libuuid zlib gnutls libgcrypt systemd liblogging];
+  buildInputs = [
+    pkgconfig libestr json_c zlib pythonPackages.docutils
+    krb5 jemalloc postgresql libdbi net_snmp libuuid curl gnutls
+    libgcrypt liblognorm openssl librelp libgt liblogging libnet hadoop rdkafka
+    libmongo-client czmq rabbitmq-c hiredis
+  ] ++ stdenv.lib.optional stdenv.isLinux systemd ++ stdenv.lib.optional (mysql != null) mysql.lib;
 
-  preConfigure = ''
-     export configureFlags="$configureFlags --enable-gnutls --enable-cached-man-pages --enable-imjournal --with-systemdsystemunitdir=$out/etc/systemd/system"
-  '';
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-systemdsystemunitdir=\${out}/etc/systemd/system"
+    (mkFlag true                      "largefile")
+    (mkFlag true                      "regexp")
+    (mkFlag (krb5 != null)            "gssapi-krb5")
+    (mkFlag true                      "klog")
+    (mkFlag true                      "kmsg")
+    (mkFlag (systemd != null)         "imjournal")
+    (mkFlag true                      "inet")
+    (mkFlag (jemalloc != null)        "jemalloc")
+    (mkFlag true                      "unlimited-select")
+    (mkFlag true                      "usertools")
+    (mkFlag (mysql != null)           "mysql")
+    (mkFlag (postgresql != null)      "pgsql")
+    (mkFlag (libdbi != null)          "libdbi")
+    (mkFlag (net_snmp != null)        "snmp")
+    (mkFlag (libuuid != null)         "uuid")
+    (mkFlag (curl != null)            "elasticsearch")
+    (mkFlag (gnutls != null)          "gnutls")
+    (mkFlag (libgcrypt != null)       "libgcrypt")
+    (mkFlag true                      "rsyslogrt")
+    (mkFlag true                      "rsyslogd")
+    (mkFlag true                      "mail")
+    (mkFlag (liblognorm != null)      "mmnormalize")
+    (mkFlag true                      "mmjsonparse")
+    (mkFlag true                      "mmaudit")
+    (mkFlag true                      "mmanon")
+    (mkFlag true                      "mmutf8fix")
+    (mkFlag true                      "mmcount")
+    (mkFlag true                      "mmsequence")
+    (mkFlag true                      "mmfields")
+    (mkFlag true                      "mmpstrucdata")
+    (mkFlag (openssl != null)         "mmrfc5424addhmac")
+    (mkFlag (librelp != null)         "relp")
+    (mkFlag (libgt != null)           "guardtime")
+    (mkFlag (liblogging != null)      "liblogging-stdlog")
+    (mkFlag (liblogging != null)      "rfc3195")
+    (mkFlag true                      "imfile")
+    (mkFlag false                     "imsolaris")
+    (mkFlag true                      "imptcp")
+    (mkFlag true                      "impstats")
+    (mkFlag true                      "omprog")
+    (mkFlag (libnet != null)          "omudpspoof")
+    (mkFlag true                      "omstdout")
+    (mkFlag (systemd != null)         "omjournal")
+    (mkFlag true                      "pmlastmsg")
+    (mkFlag true                      "pmcisconames")
+    (mkFlag true                      "pmciscoios")
+    (mkFlag true                      "pmaixforwardedfrom")
+    (mkFlag true                      "pmsnare")
+    (mkFlag true                      "omruleset")
+    (mkFlag true                      "omuxsock")
+    (mkFlag true                      "mmsnmptrapd")
+    (mkFlag (hadoop != null)          "omhdfs")
+    (mkFlag (rdkafka != null)         "omkafka")
+    (mkFlag (libmongo-client != null) "ommongodb")
+    (mkFlag (czmq != null)            "imzmq3")
+    (mkFlag (czmq != null)            "imczmq")
+    (mkFlag (czmq != null)            "omzmq3")
+    (mkFlag (czmq != null)            "omczmq")
+    (mkFlag (rabbitmq-c != null)      "omrabbitmq")
+    (mkFlag (hiredis != null)         "omhiredis")
+    (mkFlag true                      "generate-man-pages")
+  ];
 
   meta = {
     homepage = "http://www.rsyslog.com/";
     description = "Enhanced syslog implementation";
-    license = stdenv.lib.licenses.gpl3;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/system/runit/Makefile.patch b/pkgs/tools/system/runit/Makefile.patch
new file mode 100644
index 00000000000..43257728e92
--- /dev/null
+++ b/pkgs/tools/system/runit/Makefile.patch
@@ -0,0 +1,11 @@
+diff -ur admin.orig/runit-2.1.2/src/Makefile admin/runit-2.1.2/src/Makefile
+--- admin.orig/runit-2.1.2/src/Makefile	2014-08-10 20:22:35.000000000 +0200
++++ admin/runit-2.1.2/src/Makefile	2014-10-15 13:04:02.892937939 +0200
+@@ -234,7 +234,6 @@
+ 
+ hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \
+ tryshsgr.c warn-shsgr
+-	./chkshsgr || ( cat warn-shsgr; exit 1 )
+ 	./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
+ 
+ haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c
diff --git a/pkgs/tools/system/runit/default.nix b/pkgs/tools/system/runit/default.nix
new file mode 100644
index 00000000000..28a0fa52d27
--- /dev/null
+++ b/pkgs/tools/system/runit/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "runit-${version}";
+  version = "2.1.2";
+
+  src = fetchurl {
+    url = "http://smarden.org/runit/${name}.tar.gz";
+    sha256 = "065s8w62r6chjjs6m9hapcagy33m75nlnxb69vg0f4ngn061dl3g";
+  };
+
+  phases = [ "unpackPhase" "patchPhase" "buildPhase" "checkPhase" "installPhase" ];
+
+  patches = [ ./Makefile.patch ];
+
+  buildPhase = ''
+    cd ${name}
+    make -C 'src'
+  '';
+
+  checkPhase = ''
+    make -C 'src' check
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    for f in $(cat package/commands); do
+      mv src/$f $out/bin/
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "UNIX init scheme with service supervision";
+    license = licenses.bsd3;
+    homePage = "http://smarden.org/runit";
+    maintainers = with maintainers; [ rickynils ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/safe-rm/default.nix b/pkgs/tools/system/safe-rm/default.nix
new file mode 100644
index 00000000000..6afb6a09f2e
--- /dev/null
+++ b/pkgs/tools/system/safe-rm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchgit, perl, coreutils }:
+
+stdenv.mkDerivation rec {
+  name = "safe-rm-${version}";
+  version = "0.12";
+
+  src = fetchgit {
+    url = "https://gitorious.org/safe-rm/mainline.git";
+    rev = "refs/tags/${name}";
+    sha256 = "1n8ir96rwsg9r47lp3avl5sw548gvyh12zk5riflmmdvq907yi0s";
+  };
+
+  propagatedBuildInputs = [ perl coreutils ];
+
+  postFixup = ''
+    sed -e 's@/bin/rm@${coreutils}/bin/rm@' -i $out/bin/safe-rm
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp safe-rm $out/bin
+
+    mkdir -p $out/share/man/man1
+    pod2man safe-rm > $out/share/man/man1/safe-rm.1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool intended to prevent the accidental deletion of important files";
+    homepage = https://launchpad.net/safe-rm;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index 0148e3c699e..872dbf0c20e 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sleuthkit-3.2.2";
+  version = "4.1.3";
+  name = "sleuthkit-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sleuthkit/${name}.tar.gz";
-    sha256 = "02hik5xvbgh1dpisvc3wlhhq1aprnlsk0spbw6h5khpbq9wqnmgj";
+    sha256 = "09q3ky4rpv18jasf5gc2hlivzadzl70jy4nnk23db1483aix5yb7";
   };
 
   enableParallelBuilding = true;
@@ -19,6 +20,7 @@ stdenv.mkDerivation rec {
     description = "A forensic/data recovery tool";
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
-    license = "IBM Public License";
+    license = stdenv.lib.licenses.ipl10;
+    inherit version;
   };
 }
diff --git a/pkgs/tools/system/sleuthkit/default.upstream b/pkgs/tools/system/sleuthkit/default.upstream
new file mode 100644
index 00000000000..f8ffe9352ed
--- /dev/null
+++ b/pkgs/tools/system/sleuthkit/default.upstream
@@ -0,0 +1,5 @@
+url http://sourceforge.net/projects/sleuthkit/files/sleuthkit/
+SF_version_dir
+SF_version_tarball
+SF_redirect
+minimize_overwrite
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index 0290d1961ce..87f19640f7f 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -9,11 +9,11 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "smartmontools-6.2";
+  name = "smartmontools-6.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/smartmontools/${name}.tar.gz";
-    sha256 = "0nq6jvfh8nqwfrvp6fb6qs2rdydi3i9xgpi7p7vb83xvg42ncvs8";
+    sha256 = "06gy71jh2d3gcfmlbbrsqw7215knkfq59q3j6qdxfrar39fhcxx7";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
new file mode 100644
index 00000000000..46cbde74a03
--- /dev/null
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl }:
+
+let version = "0.03.20"; in
+stdenv.mkDerivation rec {
+  name = "stress-ng-${version}";
+
+  src = fetchurl {
+    sha256 = "0j1nppja56cgsd7vg3465y9kbxy3hl8mbyzc254qqm4z9ij1m3dg";
+    url = "http://kernel.ubuntu.com/~cking/tarballs/stress-ng/${name}.tar.gz";
+  };
+
+  patchPhase = ''
+    substituteInPlace Makefile --replace "/usr" ""
+  '';
+
+  enableParallelBuilding = true;
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Stress test a computer system";
+    longDescription = ''
+      Stress test a system in various selectable ways, exercising both various
+      physical subsystems and various operating system kernel interfaces:
+      - over 60 different stress tests
+      - over 50 CPU specific stress tests that exercise floating point,
+        integer, bit manipulation and control flow
+      - over 20 virtual memory stress tests
+      stress-ng was originally intended to make a machine work hard and trip
+      hardware issues such as thermal overruns as well as operating system
+      bugs that only occur when a system is being thrashed hard.
+    '';
+    homepage = http://kernel.ubuntu.com/~cking/stress-ng;
+    license = with licenses; gpl2Plus;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/system/stress/default.nix b/pkgs/tools/system/stress/default.nix
new file mode 100644
index 00000000000..52cfd4dde74
--- /dev/null
+++ b/pkgs/tools/system/stress/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "stress-1.0.4";
+ 
+  src = fetchurl {
+    url = "http://people.seas.harvard.edu/~apw/stress/${name}.tar.gz";
+    sha256 = "0nw210jajk38m3y7h8s130ps2qsbz7j75wab07hi2r3hlz14yzh5";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple workload generator for POSIX systems. It imposes a configurable amount of CPU, memory, I/O, and disk stress on the system";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/syslog-ng-incubator/default.nix b/pkgs/tools/system/syslog-ng-incubator/default.nix
index 34a0f15ec1d..004b2b58fa3 100644
--- a/pkgs/tools/system/syslog-ng-incubator/default.nix
+++ b/pkgs/tools/system/syslog-ng-incubator/default.nix
@@ -1,26 +1,25 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, glib, syslogng
-, eventlog, perl, python, yacc, riemann_c_client, libivykis, protobufc }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, syslogng
+, eventlog, perl, python, yacc, riemann_c_client, libivykis, protobufc
+}:
 
 stdenv.mkDerivation rec {
   name = "syslog-ng-incubator-${version}";
+  version = "141106-54179c5";
 
-  version = "0.3.3";
-
-  src = fetchurl {
-    url = "https://github.com/balabit/syslog-ng-incubator/archive/${name}.tar.gz";
-    sha256 = "1yx2gdq1vhrcp113hxgl66z5df4ya9nznvq00nvy4v9yn8wf9fb8";
+  src = fetchFromGitHub {
+    owner = "balabit";
+    repo = "syslog-ng-incubator";
+    rev = "54179c5f733487fe97ee856bc27130d0b09f3d5a";
+    sha256 = "1y099f7pdan1441ycycd67igcwbla2m2cgnxjfvdw76llvi35sam";
   };
 
   buildInputs = [
-    autoconf automake libtool pkgconfig glib syslogng eventlog perl python
+    autoreconfHook pkgconfig glib syslogng eventlog perl python
     yacc riemann_c_client libivykis protobufc
   ];
 
-  preConfigure = "autoreconf -i";
-
   configureFlags = [
     "--without-ivykis"
-    "--with-riemann"
     "--with-module-dir=$(out)/lib/syslog-ng"
   ];
 
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index a62f81052ba..4fcc0680ada 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl }:
+{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl
+, riemann_c_client, protobufc, yacc }:
 
 stdenv.mkDerivation rec {
   name = "syslog-ng-${version}";
 
-  version = "3.5.6";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "http://www.balabit.com/downloads/files?path=/syslog-ng/sources/${version}/source/syslog-ng_${version}.tar.gz";
-    sha256 = "19i1idklpgn6mz0mg7194by5fjgvvh5n4v2a0rr1z0778l2038kc";
+    sha256 = "0qc21mwajk6xrra3gqy2nvaza5gq62psamq4ayphj7lqabdglizg";
   };
 
-  buildInputs = [ eventlog pkgconfig glib python systemd perl ];
+  buildInputs = [ eventlog pkgconfig glib python systemd perl riemann_c_client protobufc yacc ];
 
   configureFlags = [
     "--enable-dynamic-linking"
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index e108589aaef..02834b70d62 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 let
   version = "1.7.0";
@@ -6,17 +6,17 @@ let
   # These settings are found in the Makefile, but there seems to be no
   # way to select one ore the other setting other than editing the file
   # manually, so we have to duplicate the know how here.
-  systemFlags =
-    if stdenv.isDarwin then ''
+  systemFlags = with stdenv;
+    if isDarwin then ''
       CFLAGS="-O2 -Wall -fomit-frame-pointer"
       LDFLAGS=
       EXTRA_OBJS=strverscmp.o
-    '' else if stdenv.isCygwin then ''
+    '' else if isCygwin then ''
       CFLAGS="-O2 -Wall -fomit-frame-pointer -DCYGWIN"
       LDFLAGS=-s
       TREE_DEST=tree.exe
       EXTRA_OBJS=strverscmp.o
-    '' else if stdenv.isBSD then ''
+    '' else if (isFreeBSD || isOpenBSD) then ''
       CFLAGS="-O2 -Wall -fomit-frame-pointer"
       LDFLAGS=-s
       EXTRA_OBJS=strverscmp.o
@@ -37,6 +37,7 @@ stdenv.mkDerivation {
       prefix=$out
       MANDIR=$out/share/man/man1
       ${systemFlags}
+      CC="cc"
     )
   '';
 
diff --git a/pkgs/tools/system/uptimed/default.nix b/pkgs/tools/system/uptimed/default.nix
index da2ac49b195..c9cf05373b5 100644
--- a/pkgs/tools/system/uptimed/default.nix
+++ b/pkgs/tools/system/uptimed/default.nix
@@ -1,18 +1,30 @@
-{stdenv, fetchurl, automake, autoconf, libtool}:
+{ stdenv, fetchFromGitHub, autoreconfHook }:
 
+let version = "0.3.18"; in
 stdenv.mkDerivation {
-  name = "uptimed-0.3.16";
+  name = "uptimed-${version}";
   
-  src = fetchurl {
-    url = http://podgorny.cz/uptimed/releases/uptimed-0.3.16.tar.bz2;
-    sha256 = "0axi2rz4gnmzzjl7xay7y8j1mh6iqqyg0arl1jyc3fgsk1ggy27m";
+  src = fetchFromGitHub {
+    sha256 = "108h8ck8cyzvf3xv23vzyj0j8dffdmwavj6nbn9ryqhqhqmk4fhb";
+    rev = "v${version}";
+    repo = "uptimed";
+    owner = "rpodgorny";
   };
 
-  patches = [ ./no-var-spool-install.patch ];
+  meta = with stdenv.lib; {
+    description = "Uptime record daemon";
+    longDescription = ''
+      An uptime record daemon keeping track of the highest uptimes a computer
+      system ever had. It uses the system boot time to keep sessions apart from
+      each other. Uptimed comes with a console front-end to parse the records,
+      which can also easily be used to show your records on a web page.
+    '';
+    homepage = https://github.com/rpodgorny/uptimed/;
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+  };
 
-  buildInputs = [automake autoconf libtool];
+  patches = [ ./no-var-spool-install.patch ];
 
-  meta = {
-    homepage = http://podgorny.cz/uptimed/;
-  };
+  buildInputs = [ autoreconfHook ];
 }
diff --git a/pkgs/tools/system/which/default.nix b/pkgs/tools/system/which/default.nix
index fc40cd4722b..e9199a8f063 100644
--- a/pkgs/tools/system/which/default.nix
+++ b/pkgs/tools/system/which/default.nix
@@ -1,14 +1,16 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "which-2.20";
+stdenv.mkDerivation rec {
+  name = "which-2.21";
   
   src = fetchurl {
-    url = mirror://gnu/which/which-2.20.tar.gz;
-    sha256 = "1y2p50zadb36izzh2zw4dm5hvdiydqf3qa88l8kav20dcmfbc5yl";
+    url = "mirror://gnu/which/${name}.tar.gz";
+    sha256 = "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://ftp.gnu.org/gnu/which/;
+    platforms = platforms.all;
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/text/dadadodo/default.nix b/pkgs/tools/text/dadadodo/default.nix
index 1485bbcd467..b2ccc090313 100644
--- a/pkgs/tools/text/dadadodo/default.nix
+++ b/pkgs/tools/text/dadadodo/default.nix
@@ -1,32 +1,22 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "dadadodo-${version}";
+  version = "1.04";
 
-  version = a.lib.attrByPath ["version"] "1.04" a; 
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
   src = fetchurl {
-    url = "http://www.jwz.org/dadadodo/dadadodo-${version}.tar.gz";
+    url = "http://www.jwz.org/dadadodo/${name}.tar.gz";
     sha256 = "1pzwp3mim58afjrc92yx65mmgr1c834s1v6z4f4gyihwjn8bn3if";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doMake" "doDeploy"];
-  installFlags = "PREFIX=$out";
-
-  doDeploy = a.fullDepEntry (''
+  installPhase = ''
     mkdir -p $out/bin
     cp dadadodo $out/bin
-  '') [ "minInit" "doMake" "defEnsureDir"];
-      
-  name = "dadadodo-" + version;
-  meta = {
+  '';
+
+  meta = with stdenv.lib; {
     description = "Markov chain-based text generator";
+    homepage = http://www.jwz.org/dadadodo;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index e70dfaedddf..62b696715d9 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "diffstat-1.58";
+  name = "diffstat-1.59";
 
   src = fetchurl {
     url = "ftp://invisible-island.net/diffstat/${name}.tgz";
-    sha256 = "14rpf5c05ff30f6vn6pn6pzy0k4g4is5im656ahsxff3k58i7mgs";
+    sha256 = "0w7jvfilbnfa9v3h8j8ipirvrj7n2x5gszfanzxvx748p10i8z96";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
new file mode 100644
index 00000000000..ff846ac0933
--- /dev/null
+++ b/pkgs/tools/text/discount/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl}:
+stdenv.mkDerivation rec {
+  version = "2.1.6";
+  name = "discount-${version}";
+
+  src = fetchurl {
+    url = "http://www.pell.portland.or.us/~orc/Code/discount/discount-${version}.tar.bz2";
+    sha256 = "15h726m5yalq15hkxxfw4bxwd6wkwkan5q7s80pgi1z32ygb4avh";
+  };
+  patches = ./fix-configure-path.patch;
+  configureScript = "./configure.sh";
+
+  meta = with stdenv.lib; {
+    description = "Implementation of Markdown markup language in C";
+    homepage = "http://www.pell.portland.or.us/~orc/Code/discount/";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.shell ];
+  };
+}
diff --git a/pkgs/tools/text/discount/fix-configure-path.patch b/pkgs/tools/text/discount/fix-configure-path.patch
new file mode 100644
index 00000000000..045b369b4b6
--- /dev/null
+++ b/pkgs/tools/text/discount/fix-configure-path.patch
@@ -0,0 +1,12 @@
+diff -rupN discount-2.1.6-original/configure.inc discount-2.1.6/configure.inc
+--- discount-2.1.6-original/configure.inc	2014-10-10 15:34:24.158325345 +0100
++++ discount-2.1.6/configure.inc	2014-10-10 15:34:33.553325321 +0100
+@@ -32,7 +32,7 @@
+ # this preamble code is executed when this file is sourced and it picks
+ # interesting things off the command line.
+ #
+-ac_default_path="/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin"
++ac_default_path=$PATH
+ 
+ ac_standard="--src=DIR		where the source lives (.)
+ --prefix=DIR		where to install the final product (/usr/local)
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index a87901eb5eb..83b3d49b253 100644
--- a/pkgs/tools/text/dos2unix/default.nix
+++ b/pkgs/tools/text/dos2unix/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl, gettext }:
 
-stdenv.mkDerivation {
-  name = "dos2unix-6.0.5";
+stdenv.mkDerivation rec {
+  name = "dos2unix-7.2.1";
   
   src = fetchurl {
-    url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.5.tar.gz;
-    sha256 = "13w5blhv0i473y9lyrxh4axz4niyrxcpj4v2qiq3w5kamyp20czx";
+    url = "http://waterlan.home.xs4all.nl/dos2unix/${name}.tar.gz";
+    sha256 = "1ws5d66gjs3iqc92d0qxwivixl9092540kxqq2gr6jdzmflqm4jk";
   };
 
   configurePhase = ''
diff --git a/pkgs/tools/text/enca/default.nix b/pkgs/tools/text/enca/default.nix
index 14014d06052..363446d409b 100644
--- a/pkgs/tools/text/enca/default.nix
+++ b/pkgs/tools/text/enca/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libiconvOrNull, recode }:
+{ stdenv, fetchurl, libiconv, recode }:
 
 stdenv.mkDerivation rec {
-  name = "enca-1.15";
+  name = "enca-1.16";
 
   src = fetchurl {
-    url = "http://dl.cihar.com/enca/${name}.tar.bz2";
-    sha256 = "1iibfl2s420x7bc1hvxr1ys4cpz579brg2m2ln4rp677azmrr8mv";
+    url = "http://dl.cihar.com/enca/${name}.tar.xz";
+    sha256 = "0hg7ggldam66l9j53nlrvi2lv1k99r2qfk6dh23vg6mi05cph7bw";
   };
 
-  buildInputs = [ recode libiconvOrNull ];
+  buildInputs = [ recode libiconv ];
 
   meta = {
     homepage = http://freecode.com/projects/enca;
diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix
index 797f5b8b692..37121e68f66 100644
--- a/pkgs/tools/text/enscript/default.nix
+++ b/pkgs/tools/text/enscript/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/enscript/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index 60cb8592589..234cd1655dc 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -4,16 +4,19 @@ let
   inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = "gawk-4.1.0";
+  name = "gawk-4.1.1";
 
   src = fetchurl {
     url = "mirror://gnu/gawk/${name}.tar.xz";
-    sha256 = "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q";
+    sha256 = "1nz83vpss8xv7m475sv4qhhj40g74nvcw0y9kwq9ds8wzfmcdm7g";
   };
 
   # When we do build separate interactive version, it makes sense to always include docs.
   outputs = stdenv.lib.optionals (!interactive) [ "out" "doc" ]; #ToDo
 
+  # Currently broken due to locale tests failing
+  #doCheck = !stdenv.isCygwin; # XXX: `test-dup2' segfaults on Cygwin 6.1
+
   buildInputs = [ xz.bin libsigsegv ]
     ++ optional interactive readline;
 
@@ -44,6 +47,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/text/gist/Gemfile b/pkgs/tools/text/gist/Gemfile
new file mode 100644
index 00000000000..18500f898f1
--- /dev/null
+++ b/pkgs/tools/text/gist/Gemfile
@@ -0,0 +1,2 @@
+source "https://rubygems.org"
+gem "gist"
diff --git a/pkgs/tools/text/gist/Gemfile.lock b/pkgs/tools/text/gist/Gemfile.lock
new file mode 100644
index 00000000000..a2d2659b69a
--- /dev/null
+++ b/pkgs/tools/text/gist/Gemfile.lock
@@ -0,0 +1,10 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    gist (4.3.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  gist
diff --git a/pkgs/tools/text/gist/default.nix b/pkgs/tools/text/gist/default.nix
new file mode 100644
index 00000000000..0833fd6ce18
--- /dev/null
+++ b/pkgs/tools/text/gist/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, lib, bundlerEnv }:
+
+let version = "4.3.0";
+in bundlerEnv {
+  name = "gist-${version}";
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+  meta = with lib; {
+    homepage = "http://defunkt.io/gist/";
+    description = "upload code to https://gist.github.com (or github enterprise)";
+    platforms = platforms.all;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/tools/text/gist/gemset.nix b/pkgs/tools/text/gist/gemset.nix
new file mode 100644
index 00000000000..7d207374fe3
--- /dev/null
+++ b/pkgs/tools/text/gist/gemset.nix
@@ -0,0 +1,9 @@
+{
+  "gist" = {
+    version = "4.3.0";
+    source = {
+      type = "gem";
+      sha256 = "0az6l8nq433sszailr7kglh21l3gkcb11k7ag6668nyxxplm9rp0";
+    };
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/text/gnugrep/cve-2015-1345.patch b/pkgs/tools/text/gnugrep/cve-2015-1345.patch
new file mode 100644
index 00000000000..7156f475e7e
--- /dev/null
+++ b/pkgs/tools/text/gnugrep/cve-2015-1345.patch
@@ -0,0 +1,60 @@
+From 83a95bd8c8561875b948cadd417c653dbe7ef2e2 Mon Sep 17 00:00:00 2001
+From: Yuliy Pisetsky <ypisetsky@fb.com>
+Date: Thu, 01 Jan 2015 23:36:55 +0000
+Subject: grep -F: fix a heap buffer (read) overrun
+
+grep's read buffer is often filled to its full size, except when
+reading the final buffer of a file.  In that case, the number of
+bytes read may be far less than the size of the buffer.  However, for
+certain unusual pattern/text combinations, grep -F would mistakenly
+examine bytes in that uninitialized region of memory when searching
+for a match.  With carefully chosen inputs, one can cause grep -F to
+read beyond the end of that buffer altogether.  This problem arose via
+commit v2.18-90-g73893ff with the introduction of a more efficient
+heuristic using what is now the memchr_kwset function. The use of
+that function in bmexec_trans could leave TP much larger than EP,
+and the subsequent call to bm_delta2_search would mistakenly access
+beyond end of the main input read buffer.
+
+* src/kwset.c (bmexec_trans): When TP reaches or exceeds EP,
+do not call bm_delta2_search.
+* tests/kwset-abuse: New file.
+* tests/Makefile.am (TESTS): Add it.
+* THANKS.in: Update.
+* NEWS (Bug fixes): Mention it.
+
+Prior to this patch, this command would trigger a UMR:
+
+  printf %0360db 0 | valgrind src/grep -F $(printf %019dXb 0)
+
+  Use of uninitialised value of size 8
+     at 0x4142BE: bmexec_trans (kwset.c:657)
+     by 0x4143CA: bmexec (kwset.c:678)
+     by 0x414973: kwsexec (kwset.c:848)
+     by 0x414DC4: Fexecute (kwsearch.c:128)
+     by 0x404E2E: grepbuf (grep.c:1238)
+     by 0x4054BF: grep (grep.c:1417)
+     by 0x405CEB: grepdesc (grep.c:1645)
+     by 0x405EC1: grep_command_line_arg (grep.c:1692)
+     by 0x4077D4: main (grep.c:2570)
+
+See the accompanying test for how to trigger the heap buffer overrun.
+
+Thanks to Nima Aghdaii for testing and finding numerous
+ways to break early iterations of this patch.
+
+Nix: @vcunat restricted this to the runtime code only to avoid needing autoreconfiguration.
+---
+diff --git a/src/kwset.c b/src/kwset.c
+index 4003c8d..376f7c3 100644
+--- a/src/kwset.c
++++ b/src/kwset.c
+@@ -643,6 +643,8 @@ bmexec_trans (kwset_t kwset, char const *text, size_t size)
+                     if (! tp)
+                       return -1;
+                     tp++;
++                    if (ep <= tp)
++                      break;
+                   }
+               }
+           }
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index 2c5c54ddec7..e032c58acfd 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -1,23 +1,20 @@
-{ stdenv, fetchurl, xz, pcre, libiconv ? null }:
+{ stdenv, fetchurl, xz, pcre, libiconv }:
 
-let version = "2.14"; in
+let version = "2.21"; in
 
 stdenv.mkDerivation {
   name = "gnugrep-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/grep/grep-${version}.tar.xz";
-    sha256 = "1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7";
+    sha256 = "1pp5n15qwxrw1pibwjhhgsibyv5cafhamf8lwzjygs6y00fa2i2j";
   };
 
-  #outputs = [ "out" "doc" ]; ToDo
-
-  buildInputs = [ pcre xz.bin ]
-    ++ stdenv.lib.optional (libiconv != null) libiconv;
+  patches = [ ./cve-2015-1345.patch ];
 
-  patches = [ ./test-localeconv.patch ];
+  #outputs = [ "out" "doc" ]; ToDo
 
-  NIX_LDFLAGS = stdenv.lib.optionalString (libiconv != null) "-L${libiconv}/lib -liconv";
+  buildInputs = [ pcre xz.bin libiconv ];
 
   doCheck = !stdenv.isDarwin;
 
@@ -27,6 +24,18 @@ stdenv.mkDerivation {
     export MKDIR_P="mkdir -p"
   '';
 
+  # Fix reference to sh in bootstrap-tools, and invoke grep via
+  # absolute path rather than looking at argv[0].
+  postInstall =
+    ''
+      rm $out/bin/egrep $out/bin/fgrep
+      echo "#! /bin/sh" > $out/bin/egrep
+      echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep
+      echo "#! /bin/sh" > $out/bin/fgrep
+      echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep
+      chmod +x $out/bin/egrep $out/bin/fgrep
+    '';
+
   meta = {
     homepage = http://www.gnu.org/software/grep/;
     description = "GNU implementation of the Unix grep command";
@@ -39,7 +48,7 @@ stdenv.mkDerivation {
 
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ ];
+    maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.all;
   };
 
diff --git a/pkgs/tools/text/gnugrep/test-localeconv.patch b/pkgs/tools/text/gnugrep/test-localeconv.patch
deleted file mode 100644
index f5efaf22221..00000000000
--- a/pkgs/tools/text/gnugrep/test-localeconv.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- grep-2.14/gnulib-tests/test-localeconv.c.orig	2013-02-15 18:41:50.213433059 +0000
-+++ grep-2.14/gnulib-tests/test-localeconv.c	2013-02-15 18:50:33.964751303 +0000
-@@ -37,13 +37,13 @@
- 
-     ASSERT (STREQ (l->decimal_point, "."));
-     ASSERT (STREQ (l->thousands_sep, ""));
--#if !defined __FreeBSD__
-+#if !(defined __FreeBSD__ || defined __sun)
-     ASSERT (STREQ (l->grouping, ""));
- #endif
- 
-     ASSERT (STREQ (l->mon_decimal_point, ""));
-     ASSERT (STREQ (l->mon_thousands_sep, ""));
--#if !defined __FreeBSD__
-+#if !(defined __FreeBSD__ || defined __sun)
-     ASSERT (STREQ (l->mon_grouping, ""));
- #endif
-     ASSERT (STREQ (l->positive_sign, ""));
diff --git a/pkgs/tools/text/gnupatch/bashishms.patch b/pkgs/tools/text/gnupatch/bashishms.patch
deleted file mode 100644
index 1a2cfbd8e4a..00000000000
--- a/pkgs/tools/text/gnupatch/bashishms.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-http://lists.gnu.org/archive/html/bug-patch/2012-11/msg00001.html
-Tested on Illumos, where ksh is /bin/sh.
-
---- patch-2.7.1/tests/test-lib.sh
-+++ patch-2.7.1/tests/test-lib.sh
-@@ -118,7 +118,7 @@
- }
- 
- if test -z "`echo -n`"; then
--    if eval 'test -n "${BASH_LINENO[0]}" 2>/dev/null'; then
-+    if (eval 'test -n "${BASH_LINENO[0]}"') 2>/dev/null; then
- 	eval '
- 	    _start_test() {
- 		echo -n "[${BASH_LINENO[2]}] $* -- "
-
---- patch-2.7.1/tests/crlf-handling
-+++ patch-2.7.1/tests/crlf-handling
-@@ -14,7 +14,7 @@
- use_tmpdir
- 
- lf2crlf() {
--    while read l; do echo -e "$l\r"; done
-+    while read l; do printf "%s\r\n" "$l"; done
- }
- 
- echo 1 > a
-
---- patch-2.7.1/tests/merge
-+++ patch-2.7.1/tests/merge
-@@ -32,18 +32,20 @@
-     shift
-     done > a.sed
-     echo "$body" | sed -f a.sed > b
--    shift
--    while test $# -gt 0 ; do
--	echo "$1"
-+    if test $# -gt 0 ; then
- 	shift
--    done > b.sed
-+    while test $# -gt 0 ; do
-+	echo "$1"
-+	shift
-+    done
-+    fi > b.sed
-     echo "$body" | sed -f b.sed > c
-     rm -f a.sed b.sed
-     output=`diff -u a b | patch $ARGS -f c`
-     status=$?
-     echo "$output" | sed -e '/^$/d' -e '/^patching file c$/d'
-     cat c
--    test $status == 0 || echo "Status: $status"
-+    test $status = 0 || echo "Status: $status"
- }
- 
- x() {
-
---- patch-2.7.1/tests/read-only-files
-+++ patch-2.7.1/tests/read-only-files
-@@ -16,7 +16,7 @@
-
- : > read-only
- chmod a-w read-only
--if : 2> /dev/null > read-only; then
-+if (: > read-only) 2> /dev/null; then
-     echo "Files with read-only permissions are writable" \
-         "(probably running as superuser)" >&2
-     exit 77
diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix
index 7b38227cfcc..adbd69154ec 100644
--- a/pkgs/tools/text/gnupatch/default.nix
+++ b/pkgs/tools/text/gnupatch/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ed }:
 
 stdenv.mkDerivation rec {
-  name = "patch-2.7.1";
+  name = "patch-2.7.5";
 
   src = fetchurl {
-    url = "mirror://gnu/patch/${name}.tar.gz";
-    sha256 = "1m9r83b5c154xnxbvgjg4lfff58xjapanj6dmmivqx1liik2hpy0";
+    url = "mirror://gnu/patch/${name}.tar.xz";
+    sha256 = "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx";
   };
 
   buildInputs = stdenv.lib.optional doCheck ed;
@@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
     configureFlags = [ "ac_cv_func_strnlen_working=yes" ];
   };
 
-  patches = [ ./bashishms.patch ];
-
   doCheck = true;
 
   meta = {
diff --git a/pkgs/tools/text/grin/default.nix b/pkgs/tools/text/grin/default.nix
new file mode 100644
index 00000000000..da7799900a3
--- /dev/null
+++ b/pkgs/tools/text/grin/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "grin-1.2.1";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/g/grin/${name}.tar.gz";
+    sha256 = "1swzwb17wibam8jszdv98h557hlx44pg6psv6rjz7i33qlxk0fdz";
+  };
+
+  buildInputs = with pythonPackages; [ nose ];
+  propagatedBuildInputs = with pythonPackages; [ argparse ];
+
+  meta = {
+    homepage = https://pypi.python.org/pypi/grin;
+    description = "A grep program configured the way I like it.";
+    platform = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.sjagoe ];
+  };
+}
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
index 97cc3c61173..90beca862c0 100644
--- a/pkgs/tools/text/groff/default.nix
+++ b/pkgs/tools/text/groff/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ghostscript, perl, groff }:
 
 stdenv.mkDerivation rec {
-  name = "groff-1.22.2";
+  name = "groff-1.22.3";
 
   src = fetchurl {
     url = "mirror://gnu/groff/${name}.tar.gz";
-    sha256 = "0xi07nhj5vdgax37rj25mwxzdmsz1ifx50hjgc6hqbkpqkd6821q";
+    sha256 = "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s";
   };
 
   buildInputs = [ ghostscript ];
@@ -28,11 +28,20 @@ stdenv.mkDerivation rec {
     '';
   };
 
-  meta = {
-    homepage = "http://www.gnu.org/software/groff/";
+  postInstall = ''
+      # Remove example output with (random?) colors to 
+      # avoid non-determinism in the output
+      rm $out/share/doc/${name}/examples/hdtbl/*color*ps
+      # Remove creation date
+      find $out/share/doc/${name} -type f -print0 | xargs -0 sed -i -e 's/%%CreationDate: .*//'
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gnu.org/software/groff/;
     description = "GNU Troff, a typesetting package that reads plain text and produces formatted output";
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pSub ];
 
     longDescription = ''
       groff is the GNU implementation of troff, a document formatting
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 9bca0a91d4f..585f501e1fc 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -1,19 +1,16 @@
-{ stdenv, fetchurl, getopt, lua, boost }:
-        
+{ stdenv, fetchurl, getopt, lua, boost, pkgconfig }:
+
 stdenv.mkDerivation rec {
-  name = "highlight-3.9";
+  name = "highlight-3.18";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/${name}.tar.bz2";
-    sha256 = "1vysj34zz8gk5yhlzm7g6lbphb8y6zfbd9smfgsgwkyawfargrja";
+    sha256 = "0jsq78qb75sawwggbpx5pdqxk00wgjr1a0la0w8wihmamsjzgijm";
   };
 
-  buildInputs = [ getopt lua boost ];
+  buildInputs = [ getopt lua boost pkgconfig ];
 
-  makeFlags = [
-    "PREFIX=$(out)"
-    "conf_dir=$(out)/etc/highlight/"
-  ];
+  preConfigure = ''makeFlags="PREFIX=$out conf_dir=$out/etc/highlight"'';
 
   meta = {
     description = "Source code highlighting tool";
diff --git a/pkgs/tools/text/html2text/default.nix b/pkgs/tools/text/html2text/default.nix
new file mode 100644
index 00000000000..27de591d889
--- /dev/null
+++ b/pkgs/tools/text/html2text/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "html2text-1.3.2a";
+
+  src = fetchurl {
+    url = http://www.mbayer.de/html2text/downloads/html2text-1.3.2a.tar.gz;
+    sha256 = "000b39d5d910b867ff7e087177b470a1e26e2819920dcffd5991c33f6d480392";
+  };
+
+  preConfigure = ''
+    sed -i s,/bin/echo,echo, configure
+  '';
+
+  # the --prefix has no effect
+  installPhase = ''
+    mkdir -p $out/bin $out/man/man{1,5}
+    cp html2text $out/bin
+    cp html2text.1.gz $out/man/man1
+    cp html2textrc.5.gz $out/man/man5
+  '';
+
+  meta = {
+    description = "html2text is a command line utility, written in C++, that converts HTML documents into plain text.";
+    homepage = http://www.mbayer.de/html2text/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eikek ];
+  };
+}
diff --git a/pkgs/tools/text/mawk/default.nix b/pkgs/tools/text/mawk/default.nix
new file mode 100644
index 00000000000..3337fa62a28
--- /dev/null
+++ b/pkgs/tools/text/mawk/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mawk-1.3.4-20141206";
+
+  src = fetchurl {
+    url = "ftp://invisible-island.net/mawk/${name}.tgz";
+    sha256 = "1j49ffl8gpfaq99hkylf3fjiygq74w1kpfp8f52xbpx57vn9587g";
+  };
+
+  meta = with stdenv.lib;
+    { description = "Interpreter for the AWK Programming Language";
+      homepage = http://invisible-island.net/mawk/mawk.html;
+      license = licenses.gpl2;
+      maintainers = with maintainers; [ emery ];
+    };
+}
\ No newline at end of file
diff --git a/pkgs/tools/text/multitran/mtutils/default.nix b/pkgs/tools/text/multitran/mtutils/default.nix
index b03b1b110c4..ca65c567c66 100644
--- a/pkgs/tools/text/multitran/mtutils/default.nix
+++ b/pkgs/tools/text/multitran/mtutils/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://multitran.sourceforge.net/;
-    description = "Multitran: simple command line utilities for dictionary maintainance";
+    description = "Multitran: simple command line utilities for dictionary maintenance";
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/text/nkf/default.nix b/pkgs/tools/text/nkf/default.nix
new file mode 100644
index 00000000000..31d58fbccc3
--- /dev/null
+++ b/pkgs/tools/text/nkf/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "nkf-${version}";
+  version = "2.1.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforgejp/nkf/59912/${name}.tar.gz";
+    sha256 = "8cb430ae69a1ad58b522eb4927b337b5b420bbaeb69df255919019dc64b72fc2";
+  };
+
+  makeFlags = "prefix=\${out}";
+
+  meta = {
+    description = "Tool for converting encoding of Japanese text";
+    homepage = "http://sourceforge.jp/projects/nkf/";
+    license = stdenv.lib.licenses.zlib;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/tools/text/numdiff/default.nix b/pkgs/tools/text/numdiff/default.nix
index d5f8bb9ff35..db7eeb789af 100644
--- a/pkgs/tools/text/numdiff/default.nix
+++ b/pkgs/tools/text/numdiff/default.nix
@@ -13,11 +13,11 @@ stdenv.mkDerivation {
     description = ''
       A little program that can be used to compare putatively similar files
       line by line and field by field, ignoring small numeric differences
-      or/and different numeric formats.
+      or/and different numeric formats
     '';
-    homepage = "http://www.nongnu.org/numdiff/";
+    homepage = http://www.nongnu.org/numdiff/;
     license = stdenv.lib.licenses.gpl3Plus;
-    maintainers = stdenv.lib.maintainers.bbenoist;
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/tools/text/peco/default.nix b/pkgs/tools/text/peco/default.nix
index be49ba50920..619e1f8d9b1 100644
--- a/pkgs/tools/text/peco/default.nix
+++ b/pkgs/tools/text/peco/default.nix
@@ -3,27 +3,27 @@
 let
   go-flags = fetchgit {
     url = "git://github.com/jessevdk/go-flags";
-    rev = "4f0ca1e2d1349e9662b633ea1b8b8d48e8a32533";
-    sha256 = "5f22f4c5a0529ff0da8e507462ad910bb73c513fde49d58dd4baf7332787ca3d";
+    rev = "ef51ed2000ee1721c7153e958511907b844b4a9c";
+    sha256 = "1abzc7ksglicaz6g6nry006vwvflsidvyzyig85pi3p852z6sc2j";
   };
   go-runewidth = fetchgit {
     url = "git://github.com/mattn/go-runewidth";
-    rev = "36f63b8223e701c16f36010094fb6e84ffbaf8e0";
-    sha256 = "718e9e04659441744b8d43bd3d7e806836194cf322962712a6e019311d407ecf";
+    rev = "63c378b851290989b19ca955468386485f118c65";
+    sha256 = "1z5mhfrpqdssn3603vwd95w69z28igwq96lh7b9rrdcx440i822d";
   };
   termbox-go = fetchgit {
     url = "git://github.com/nsf/termbox-go";
-    rev = "4e63c3a917c197694cb4fef6c55582500b3741e3";
-    sha256 = "00ecc0dcf0919a42ea06fe3bd93480a17241160c434ff3872b6f5e418eb18069";
+    rev = "bb19a81afd4bc2729799d1fedb19f7bd7ee284cf";
+    sha256 = "1zc8pb594l16yipis6xg2ra84bg315p63wqxa5abyam1y0333sn0";
   };
 in stdenv.mkDerivation rec {
   name = "peco-${version}";
-  version = "0.2.3";
+  version = "0.2.10";
 
   src = fetchgit {
     url = "git://github.com/peco/peco";
-    rev = "b8e0c8f37d3eed68e64c931b0edb77728f3723f9";
-    sha256 = "f178e01ab0536770b17eddcefd863e68c2d65b527b5da1fc3fb9efb19c12635f";
+    rev = "4952013023ae1d92c10d826e6970c5a68959678d";
+    sha256 = "02fwmxhaydx9m6q146amq1aw44abzisskkblmv1sjxrm37x81l31";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/tools/text/qprint/default.nix b/pkgs/tools/text/qprint/default.nix
new file mode 100644
index 00000000000..3bb147f7dd2
--- /dev/null
+++ b/pkgs/tools/text/qprint/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "qprint-1.1";
+
+  src = fetchurl {
+    url = "http://www.fourmilab.ch/webtools/qprint/${name}.tar.gz";
+    sha256 = "1701cnb1nl84rmcpxzq11w4cyj4385jh3gx4aqxznwf8a4fwmagz";
+  };
+
+  doCheck = true;
+
+  checkTarget = "wringer";
+
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+  '';
+
+  meta = {
+    homepage = "http://www.fourmilab.ch/webtools/qprint/";
+    license = stdenv.lib.licenses.publicDomain;
+    description = "encode and decode Quoted-Printable files";
+    maintainers = [ stdenv.lib.maintainers.tv ];
+    platforms = stdenv.lib.platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
index 21b35682e4e..bf95125b208 100644
--- a/pkgs/tools/text/recode/default.nix
+++ b/pkgs/tools/text/recode/default.nix
@@ -1,6 +1,6 @@
 # XXX: this may need -liconv on non-glibc systems.. 
 
-{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex }:
+{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex, texinfo }:
 
 stdenv.mkDerivation rec {
   name = "recode-3.7-2fd838565";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "06vyjqaraamcc5vka66mlvxj27ihccqc74aymv2wn8nphr2rhh03";
   };
 
-  buildInputs = [ python perl autoconf automake libtool intltool flex ];
+  nativeBuildInputs = [ python perl autoconf automake libtool intltool flex texinfo ];
 
   preConfigure = ''
     # fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455
diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix
index 72dbdbf647f..d6d1090652a 100644
--- a/pkgs/tools/text/replace/default.nix
+++ b/pkgs/tools/text/replace/default.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation {
     makeFlags = "TREE=\$(out) MANTREE=\$(TREE)/share/man CC=${stdenv.cross.config}-gcc";
   };
 
+  preBuild = ''
+    sed -e "s@/bin/mv@$(type -P mv)@" -i replace.h
+  '';
+
   preInstall = "mkdir -p \$out/share/man";
   postInstall = "mv \$out/bin/replace \$out/bin/replace-literal";
 
diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix
index 59b9b7bc13d..4b807718baa 100644
--- a/pkgs/tools/text/sgml/opensp/default.nix
+++ b/pkgs/tools/text/sgml/opensp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, libxslt, docbook_xsl}:
+{ lib, stdenv, fetchurl, xmlto, docbook_xml_dtd_412, libxslt, docbook_xsl }:
 
 stdenv.mkDerivation {
   name = "opensp-1.5.2";
@@ -13,8 +13,19 @@ stdenv.mkDerivation {
       docsrc/*.xml
   '';
 
+  configureFlags = lib.optional stdenv.isDarwin [
+    "--with-libintl-prefix=/usr"
+    "--with-libiconv-prefix=/usr"
+  ];
+
   setupHook = ./setup-hook.sh;
 
+  postFixup = ''
+    # Remove random ids in the release notes
+    sed -i -e 's/href="#idm.*"//g' $out/share/doc/OpenSP/releasenotes.html
+    sed -i -e 's/name="idm.*"//g' $out/share/doc/OpenSP/releasenotes.html
+    '';
+
   buildInputs = [ xmlto docbook_xml_dtd_412 libxslt docbook_xsl ];
 
   meta = {
diff --git a/pkgs/tools/text/silver-searcher/default.nix b/pkgs/tools/text/silver-searcher/default.nix
index ba17d1865db..ae3bb94fb90 100644
--- a/pkgs/tools/text/silver-searcher/default.nix
+++ b/pkgs/tools/text/silver-searcher/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchgit, autoreconfHook, pkgconfig, pcre, zlib, lzma}:
 
-let release = "0.24.1"; in
+let release = "0.29.1"; in
 stdenv.mkDerivation {
   name = "silver-searcher-${release}";
 
   src = fetchgit {
     url = "https://github.com/ggreer/the_silver_searcher.git";
     rev = "refs/tags/${release}";
-    sha256 = "1cwav217mkbwyg8isiak0wynydiil2j9gy4sx79harbcql0f3nl3";
+    sha256 = "05508c2714d356464a0de6f41a6a8408ccd861b967e968302c4b72feade89581";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
index a7d1ddb0f3b..d5530a3df91 100644
--- a/pkgs/tools/text/source-highlight/default.nix
+++ b/pkgs/tools/text/source-highlight/default.nix
@@ -12,13 +12,11 @@ stdenv.mkDerivation {
     sha256 = "1s49ld8cnpzhhwq0r7s0sfm3cg3nhhm0wla27lwraifrrl3y1cp1";
   };
 
-  configureFlags = [ "--with-boost=${boost}" ];
-
   buildInputs = [ boost ];
 
-  enableParallelBuilding = false;
+  configureFlags = [ "--with-boost=${boost.lib}" ];
 
-  doCheck = true;
+  enableParallelBuilding = false;
 
   meta = {
     description = "Source code renderer with syntax highlighting";
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index c07caad15a3..aeef86331f3 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "wdiff-1.2.1";
+  name = "wdiff-1.2.2";
 
   src = fetchurl {
     url = "mirror://gnu/wdiff/${name}.tar.gz";
-    sha256 = "1gb5hpiyikada9bwz63q3g96zs383iskiir0xsqynqnvq1vd4n41";
+    sha256 = "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl";
   };
 
   buildInputs = [ texinfo ];
diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix
index 3c0af0157a5..235dcfe7458 100644
--- a/pkgs/tools/text/wgetpaste/default.nix
+++ b/pkgs/tools/text/wgetpaste/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Command-line interface to various pastebins";
     homepage = http://wgetpaste.zlin.dk/;
-    license = "publicDomain";
+    license = stdenv.lib.licenses.publicDomain;
     maintainers = with stdenv.lib.maintainers; [ qknight iElectric ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/text/xidel/default.nix b/pkgs/tools/text/xidel/default.nix
new file mode 100644
index 00000000000..89adcc75b19
--- /dev/null
+++ b/pkgs/tools/text/xidel/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, dpkg, patchelf }:
+
+stdenv.mkDerivation rec {
+  name = "xidel-${version}";
+  version = "0.8.4";
+
+  ## Source archive lacks file (manageUtils.sh), using pre-built package for now.
+  #src = fetchurl {
+  #  url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/${name}.src.tar.gz";
+  #  sha256 = "1h5xn16lgzx0s94iyhxa50lk05yf0af44nzm5w5k57615nd82kz2";
+  #};
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_amd64.deb";
+        sha256 = "0gq95ag2661hsw8b7ii6z07ian832cz8g21lvq2cvps4a80ql1gi";
+      }
+    else if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "mirror://sourceforge/videlibri/Xidel/Xidel%20${version}/xidel_${version}-1_i386.deb";
+        sha256 = "07yk5sk1p4jm0jmgjwdm2wq8d2wybi1wkn1qq5j5y03z1pdc3fi6";
+      }
+    else throw "xidel is not supported on ${stdenv.system}";
+
+  buildInputs = [ dpkg patchelf ];
+
+  unpackPhase = ''
+    dpkg-deb -x ${src} ./
+  '';
+
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp -a usr/* "$out/"
+    interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*)"
+    patchelf --set-interpreter "$interpreter" "$out/bin/xidel"
+    patchelf --set-rpath "${stdenv.lib.makeLibraryPath [stdenv.glibc]}" "$out/bin/xidel"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line tool to download and extract data from html/xml pages";
+    homepage = http://videlibri.sourceforge.net/xidel.html;
+    # source contains no license info (AFAICS), but sourceforge says GPLv2
+    license = licenses.gpl2;
+    # more platforms will be supported when we switch to source build
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
index fd5a5dc5f8e..cabb931c447 100644
--- a/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Utilities for manipulating HTML and XML files";
     homepage = http://www.w3.org/Tools/HTML-XML-utils/;
-    license = "free-non-copyleft"; #TODO W3C
+    license = stdenv.lib.licenses.w3c;
   };
 }
diff --git a/pkgs/tools/text/xml/rxp/default.nix b/pkgs/tools/text/xml/rxp/default.nix
index 6ec9758ed3a..a50e91b7866 100644
--- a/pkgs/tools/text/xml/rxp/default.nix
+++ b/pkgs/tools/text/xml/rxp/default.nix
@@ -1,20 +1,17 @@
 {stdenv, fetchurl} :
 
-stdenv.mkDerivation {
-  name = "rxp-1.2.3";
+stdenv.mkDerivation rec {
+  name = "rxp-${version}";
+  version = "1.5.0";
+
   src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/r/rxp/rxp_1.2.3.orig.tar.gz;
-    sha256 = "1r4khvmnl5231y37ji8f3mikxy0dhdz155wi3qihfi27mc1yv534";
+    url = "mirror://debian/pool/main/r/rxp/rxp_${version}.orig.tar.gz";
+    sha256 = "0y365r36wzj4xn1dzhb03spxljnrx8vwqbiwnnwz4630129gzpm6";
   };
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp rxp $out/bin
-  '';
   meta = {
     license = stdenv.lib.licenses.gpl2Plus;
-    description = "a validating XML parser written in C";
-    homepage = "http://www.cogsci.ed.ac.uk/~richard/rxp.html";
+    description = "A validating XML parser written in C";
+    homepage = http://www.cogsci.ed.ac.uk/~richard/rxp.html;
   };
 }
diff --git a/pkgs/tools/text/xml/xml2/default.nix b/pkgs/tools/text/xml/xml2/default.nix
new file mode 100644
index 00000000000..89d56e030e0
--- /dev/null
+++ b/pkgs/tools/text/xml/xml2/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "xml2-0.5";
+
+  src = fetchurl {
+    url = "http://download.ofb.net/gale/${name}.tar.gz";
+    sha256 = "01cps980m99y99cnmvydihga9zh3pvdsqag2fi1n6k2x7rfkl873";
+  };
+
+  buildInputs = [ pkgconfig libxml2 ];
+
+  meta = with stdenv.lib; {
+    homepage = http://ofb.net/~egnor/xml2/;
+    description = "Tools for command line processing of XML, HTML, and CSV";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.rycee ];
+  };
+}
diff --git a/pkgs/tools/text/xml/xmlstarlet/default.nix b/pkgs/tools/text/xml/xmlstarlet/default.nix
index aea3ab2bd96..74f7e08900a 100644
--- a/pkgs/tools/text/xml/xmlstarlet/default.nix
+++ b/pkgs/tools/text/xml/xmlstarlet/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libxml2, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "xmlstarlet-1.5.0";
+  name = "xmlstarlet-1.6.1";
   
   src = fetchurl {
     url = "mirror://sourceforge/xmlstar/${name}.tar.gz";
-    sha256 = "1fmvqvzrzyfcg53j39sdz01v7klzyhd011m3y9br54525q2fvd27";
+    sha256 = "1jp737nvfcf6wyb54fla868yrr39kcbijijmjpyk4lrpyg23in0m";
   };
 
   buildInputs = [ pkgconfig libxml2 libxslt ];
diff --git a/pkgs/tools/text/xml/xpf/default.nix b/pkgs/tools/text/xml/xpf/default.nix
index 3ff89294ab1..e1957333b3f 100644
--- a/pkgs/tools/text/xml/xpf/default.nix
+++ b/pkgs/tools/text/xml/xpf/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   
   src = fetchurl {
     url = http://tarballs.nixos.org/xpf-0.2.tar.gz;
-    md5 = "d92658828139e1495e052d0cfe25d312";
+    sha256 = "0ljx91w68rnh4871c0xlq2whlmhqz8dr39wcdczfjjpniqz1fmpz";
   };
   
   buildInputs = [python libxml2];
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
index 1769a59520b..ffd275069da 100644
--- a/pkgs/tools/typesetting/biber/default.nix
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -6,14 +6,14 @@
 , UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter }:
 
 let
-  version = "1.8";
+  version = "1.9";
   pn = "biblatex-biber";
 in
 buildPerlPackage {
   name = "biber-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/project/${pn}/${pn}/${version}/${pn}.tar.gz";
-    sha256 = "0ffry64pdvg5g487r7qab5b3cs4kq8rq8n3bymxrr1qh3mp79k4n";
+    sha256 = "1a3iq7l9i54f8nfzjmp1qdb6aqm7977q1g4san470010fkfbvjdc";
   };
 
   buildInputs = [
@@ -33,7 +33,7 @@ buildPerlPackage {
 
   meta = {
     description = "Backend for BibLaTeX";
-    license = "perl";
+    license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.ttuegel ];
   };
diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix
index b31c64e6936..37cd6a2e50b 100644
--- a/pkgs/tools/typesetting/docbook2x/default.nix
+++ b/pkgs/tools/typesetting/docbook2x/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, texinfo, perl
 , XMLSAX, XMLParser, XMLNamespaceSupport
-, groff, libxml2, libxslt, gnused, libiconvOrEmpty, opensp
+, groff, libxml2, libxslt, gnused, libiconv, opensp
 , docbook_xml_dtd_43
 , makeWrapper }:
 
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
   patches = [ ./db2x_texixml-to-stdout.patch ];
 
   buildInputs = [ perl texinfo groff libxml2 libxslt makeWrapper
-                  XMLSAX XMLParser XMLNamespaceSupport opensp
-                ] ++ libiconvOrEmpty;
+                  XMLSAX XMLParser XMLNamespaceSupport opensp libiconv
+                ];
 
   postConfigure = ''
     # Broken substitution is used for `perl/config.pl', which leaves literal
diff --git a/pkgs/tools/typesetting/halibut/default.nix b/pkgs/tools/typesetting/halibut/default.nix
index 48d1ebfc276..28325825ca2 100644
--- a/pkgs/tools/typesetting/halibut/default.nix
+++ b/pkgs/tools/typesetting/halibut/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl}:
 
-stdenv.mkDerivation {
-  name = "halibut-1.0";
+stdenv.mkDerivation rec {
+  name = "halibut-1.1";
 
   src = fetchurl {
-    url = http://www.chiark.greenend.org.uk/~sgtatham/halibut/halibut-1.0.tar.gz;
-    sha256 = "0d039adb88cb8de6f350563514d013209c2d321d1e5c49ea56462c6803f29adb";
+    url = "http://www.chiark.greenend.org.uk/~sgtatham/halibut/${name}.tar.gz";
+    sha256 = "18409ir55rsa5gkizw2hsr86wgv176jms2dc52px62gd246rar5r";
   };
 
   buildInputs = [ perl ];
@@ -24,9 +24,10 @@ stdenv.mkDerivation {
     make install
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Documentation production system for software manuals";
     homepage = http://www.chiark.greenend.org.uk/~sgtatham/halibut/;
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix
index a2ebfa0a9fd..09aed52265b 100644
--- a/pkgs/tools/typesetting/lout/default.nix
+++ b/pkgs/tools/typesetting/lout/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.upstream b/pkgs/tools/typesetting/pdf2djvu/default.upstream
deleted file mode 100644
index 1bb4aebdc61..00000000000
--- a/pkgs/tools/typesetting/pdf2djvu/default.upstream
+++ /dev/null
@@ -1,10 +0,0 @@
-url http://code.google.com/p/pdf2djvu/downloads/list
-version_link '[.]tar[.][a-z0-9]+$'
-process 'code[.]google[.]com//' ''
-version '.*_([0-9.]+[0-9]).*' '\1'
-
-do_overwrite () {
-  ensure_hash
-  set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH"
-}
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
index e05e4d16a06..ff3bad12bc5 100644
--- a/pkgs/tools/typesetting/pdfgrep/default.nix
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "a tool to search text in PDF files";
     homepage = http://pdfgrep.sourceforge.net/;
-    license = "free";
+    license = stdenv.lib.licenses.free;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/typesetting/pdfjam/builder.sh b/pkgs/tools/typesetting/pdfjam/builder.sh
index 9fcb80f6866..720ddeae78d 100644
--- a/pkgs/tools/typesetting/pdfjam/builder.sh
+++ b/pkgs/tools/typesetting/pdfjam/builder.sh
@@ -3,7 +3,7 @@ source $stdenv/setup
 tar zxvf $src
 
 mkdir -p $out/bin
-cp pdfjam/scripts/* $out/bin
+cp pdfjam/bin/* $out/bin
 
 mkdir -p $out/man/man1
 cp pdfjam/man1/* $out/man/man1
diff --git a/pkgs/tools/typesetting/pdfjam/default.nix b/pkgs/tools/typesetting/pdfjam/default.nix
index 426cef3c85d..f8eafb221a3 100644
--- a/pkgs/tools/typesetting/pdfjam/default.nix
+++ b/pkgs/tools/typesetting/pdfjam/default.nix
@@ -1,12 +1,19 @@
-{stdenv, fetchurl}: stdenv.mkDerivation {
-  name = "pdfjam-1.20";
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "pdfjam-${version}";
+  version = "2.08";
+  url-version = stdenv.lib.replaceChars ["."] [""] version;
+
   builder = ./builder.sh;
+
   src = fetchurl {
-    url = http://www.warwick.ac.uk/go/pdfjam/pdfjam_1.20.tgz;
-    sha256 = "05g3mx7mb6h15ivbv0f53r369xphy8ad8a2xblpnk9mrnlrkaxy9";
+    url = "http://go.warwick.ac.uk/pdfjam/pdfjam_${url-version}.tgz";
+    sha256 = "1wy0xhcy27d7agby598s20ba48s4yg5qkzr6anc6q1xdryccacf7";
   };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    maintainers = maintainers.mornfall;
+    maintainers = [ maintainers.mornfall ];
   };
 }
diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix
index c71bc3ba77c..84a853bb0df 100644
--- a/pkgs/tools/typesetting/pdftk/default.nix
+++ b/pkgs/tools/typesetting/pdftk/default.nix
@@ -1,32 +1,40 @@
-{ fetchurl, stdenv, gcj }:
+{ fetchurl, stdenv, gcj, unzip }:
 
 stdenv.mkDerivation {
-  name = "pdftk-1.41";
+  name = "pdftk-2.02";
 
   src = fetchurl {
-    url = http://www.pdfhacks.com/pdftk/pdftk-1.41.tar.bz2;
-    sha256 = "1vdrc3179slix6lz3gdiy53z7sh2yf9026r3xi6wdarwrcpawfrf";
+    url = "https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip";
+    sha256 = "1hdq6zm2dx2f9h7bjrp6a1hfa1ywgkwydp14i2sszjiszljnm3qi";
   };
 
-  patches = [ ./gcc-4.3.patch ./gcc-4.4.patch ];
+  buildInputs = [ gcj unzip ];
 
-  buildInputs = [ gcj ];
-
-  makeFlags = [ "-f" "Makefile.Generic" ];
+  preBuild = ''
+    cd pdftk
+    sed -e 's@/usr/bin/@@g' -i Makefile.*
+    NIX_ENFORCE_PURITY= \
+      make \
+      LIBGCJ="${gcj.cc}/share/java/libgcj-${gcj.cc.version}.jar" \
+      GCJ=gcj GCJH=gcjh GJAR=gjar \
+      -iC ../java all
+  '';
 
-  preBuild = "cd pdftk";
+  # Makefile.Debian has almost fitting defaults
+  makeFlags = [ "-f" "Makefile.Debian" "VERSUFF=" ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/man/man1
     cp pdftk $out/bin
-    cp ../debian/pdftk.1 $out/share/man/man1
+    cp ../pdftk.1 $out/share/man/man1
   '';
 
+
   meta = {
     description = "Simple tool for doing everyday things with PDF documents";
-    homepage = http://www.accesspdf.com/pdftk/;
+    homepage = "https://www.pdflabs.com/tools/pdftk-server/";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [viric raskin];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/typesetting/pdftk/gcc-4.3.patch b/pkgs/tools/typesetting/pdftk/gcc-4.3.patch
deleted file mode 100644
index 05bca95f6c2..00000000000
--- a/pkgs/tools/typesetting/pdftk/gcc-4.3.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-Taken from gentoo portage.
-
-# posted to bug #251796 by <andrex@mail.ee> from Debian patches
-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile pdftk-1.41/java_libs/com/lowagie/bc/asn1/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/bc/asn1/Makefile	2008-12-23 00:04:52.000000000 +0200
-@@ -25,8 +25,7 @@
- # the "$*" automatic variable, here
- #
- %.h : %.class
--	$(GCJH) --classpath="." $*;
--	$(RM) $<
-+	$(GCJH) --classpath="$(java_libs_root):." $*;
- 
- ##
- # targets
-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile pdftk-1.41/java_libs/com/lowagie/text/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/Makefile	2008-12-22 23:58:52.000000000 +0200
-@@ -25,13 +25,12 @@
- # the "$*" automatic variable, here
- #
- %.h : %.class
--	$(GCJH) --classpath="." $*;
--	$(RM) $<
-+	$(GCJH) --classpath="$(java_libs_root):." $*;
- 
- ##
- # targets
- 
--all : $(library) $(headers)
-+all : $(library) $(headers) $(classes)
- 
- $(library) : $(objects)
- 	$(AR) $(ARFLAGS) $(library) $(objects);
-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile pdftk-1.41/java_libs/com/lowagie/text/markup/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/markup/Makefile	2008-12-23 00:04:28.000000000 +0200
-@@ -25,8 +25,7 @@
- # the "$*" automatic variable, here
- #
- %.h : %.class
--	$(GCJH) --classpath="." $*;
--	$(RM) $<
-+	$(GCJH) --classpath="$(java_libs_root):." $*;
- 
- ##
- # targets
-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/Makefile	2008-12-23 00:04:11.000000000 +0200
-@@ -25,8 +25,7 @@
- # the "$*" automatic variable, here

- #

- %.h : %.class

--	$(GCJH) --classpath="." $*;

--	$(RM) $<

-+	$(GCJH) --classpath="$(java_libs_root):." $*;

- 

- ##

- # targets

-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile	2008-12-23 00:03:05.000000000 +0200
-@@ -25,8 +25,7 @@
- # the "$*" automatic variable, here

- #

- %.h : %.class

--	$(GCJH) --classpath="." $*;

--	$(RM) $<

-+	$(GCJH) --classpath="$(java_libs_root):." $*;

- 

- ##

- # targets

-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile	2008-12-23 00:03:29.000000000 +0200
-@@ -25,8 +25,7 @@
- # the "$*" automatic variable, here

- #

- %.h : %.class

--	$(GCJH) --classpath="." $*;

--	$(RM) $<

-+	$(GCJH) --classpath="$(java_libs_root):." $*;

- 

- ##

- # targets

-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/fonts/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/fonts/Makefile	2008-12-23 00:01:33.000000000 +0200
-@@ -34,8 +34,7 @@
- # the "$*" automatic variable, here
- #
- %.h : %.class
--	$(GCJH) --classpath="." $*;
--	$(RM) $<
-+	$(GCJH) --classpath="$(java_libs_root):." $*;
- 
- ##
- # targets
-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/Makefile	2008-12-23 00:00:25.000000000 +0200
-@@ -25,8 +25,7 @@
- # the "$*" automatic variable, here
- #
- %.h : %.class
--	$(GCJH) --classpath="." $*;
--	$(RM) $<
-+	$(GCJH) --classpath="$(java_libs_root):." $*;
- 
- ##
- # targets
-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfEncryption.java
---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfEncryption.java	2008-12-22 23:46:21.000000000 +0200
-@@ -50,7 +50,7 @@
- 

- package com.lowagie.text.pdf;

- 

--import java_local.security.MessageDigest; // ssteward

-+import java.security.MessageDigest;

- import com.lowagie.text.ExceptionConverter;

- 

- /**

-diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile pdftk-1.41/java_libs/com/lowagie/text/xml/xmp/Makefile
---- pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/com/lowagie/text/xml/xmp/Makefile	2008-12-22 23:59:42.000000000 +0200
-@@ -25,8 +25,7 @@
- # the "$*" automatic variable, here
- #
- %.h : %.class
--	$(GCJH) --classpath="." $*;
--	$(RM) $<
-+	$(GCJH) --classpath="$(java_libs_root):." $*;
- 
- ##
- # targets
-diff -u -r pdftk-1.41.orig/java_libs/Makefile pdftk-1.41/java_libs/Makefile
---- pdftk-1.41.orig/java_libs/Makefile	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/java_libs/Makefile	2008-12-22 23:47:10.000000000 +0200
-@@ -13,13 +13,7 @@
- # append gcj flags
- export GCJFLAGS+= --encoding=UTF-8 --classpath="$(java_libs_root)"
- 
--all : libgcj_local itext
--
--libgcj_local :
--	$(MAKE) -C "$(java_libs_root)/gnu_local/java/security";
--	$(MAKE) -C "$(java_libs_root)/gnu_local/java/security/provider";
--	$(MAKE) -C "$(java_libs_root)/gnu/gcj/convert";
--	$(MAKE) -C "$(java_libs_root)/java_local/security";
-+all : itext
- 
- itext :
- 	$(MAKE) -C "$(java_libs_root)/com/lowagie/text";
-@@ -35,13 +29,7 @@
- 	$(MAKE) -C "$(java_libs_root)/com/lowagie/bc/asn1";
- 	$(MAKE) -C "$(java_libs_root)/com/lowagie/text/pdf/codec/postscript";
- 
--clean : libgcj_local_clean itext_clean
--
--libgcj_local_clean :
--	$(MAKE) -iC "$(java_libs_root)/gnu_local/java/security" clean;
--	$(MAKE) -iC "$(java_libs_root)/gnu_local/java/security/provider" clean;
--	$(MAKE) -iC "$(java_libs_root)/gnu/gcj/convert" clean;
--	$(MAKE) -iC "$(java_libs_root)/java_local/security" clean;
-+clean : itext_clean
- 
- itext_clean :
- 	$(MAKE) -iC "$(java_libs_root)/com/lowagie/text" clean;
-diff -u -r pdftk-1.41.orig/pdftk/Makefile.Base pdftk-1.41/pdftk/Makefile.Base
---- pdftk-1.41.orig/pdftk/Makefile.Base	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/pdftk/Makefile.Base	2008-12-22 23:44:33.000000000 +0200
-@@ -31,18 +31,6 @@
- afms= $(wildcard $(java_libs_root)/com/lowagie/text/pdf/fonts/*.afm)
- afm_objects= $(patsubst %.afm, %.o, $(afms))
- 
--# older versions of libgcj might not have the MD5 algorithm,
--# so I added it here; these *_local java files were grabbed from
--# libgcj CVS on March 7, 2004; diffed September 5, 2006 w/ gcc 4.1.1
--#
--# gnu/gcj/convert/Input_UnicodeBig.java was grabbed March 26, 2004; diffed September 5, 2006 w/ gcc 4.1.1
--#
--libgcj_local_libs = \
--$(java_libs_root)/java_local/security/security.a \
--$(java_libs_root)/gnu_local/java/security/provider/provider.a \
--$(java_libs_root)/gnu_local/java/security/security.a \
--$(java_libs_root)/gnu/gcj/convert/convert.a
--
- # this must already be set according to your platform Makefile;
- # we're just appending to it, here
- #
-diff -u -r pdftk-1.41.orig/pdftk/Makefile.Generic pdftk-1.41/pdftk/Makefile.Generic
---- pdftk-1.41.orig/pdftk/Makefile.Generic	2008-12-22 23:43:29.000000000 +0200
-+++ pdftk-1.41/pdftk/Makefile.Generic	2008-12-23 00:06:24.000000000 +0200
-@@ -28,7 +28,7 @@
- 
- # itext compiler flags
- # -O3 might cause pdftk to segfault on cat operation (gcc 3.4.4)
--export GCJFLAGS= -O2
-+export GCJFLAGS= -O2 -w
- 
- #
- export ARFLAGS= rs
diff --git a/pkgs/tools/typesetting/pdftk/gcc-4.4.patch b/pkgs/tools/typesetting/pdftk/gcc-4.4.patch
deleted file mode 100644
index f66c22e5106..00000000000
--- a/pkgs/tools/typesetting/pdftk/gcc-4.4.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Taken from gentoo portage.
-
-diff -NrU5 pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfDate.java
---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java	2009-05-18 20:49:13.000000000 -0600
-+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfDate.java	2009-05-18 20:51:36.000000000 -0600
-@@ -74,11 +74,11 @@
- public class PdfDate extends PdfString {

-     

-     // ssteward; static builds of pdftk (Windows, gcc 3.3.1) would

-     // omit this class because of its reference by reflection;

-     // this treatment ensures that ld will include it

--    private static Class c1= gnu.java.locale.Calendar.class;

-+    private static Class c1= java.util.Calendar.class;

- 

-     private static final int dateSpace[] = {Calendar.YEAR, 4, 0, Calendar.MONTH, 2, -1, Calendar.DAY_OF_MONTH, 2, 0,

-         Calendar.HOUR_OF_DAY, 2, 0, Calendar.MINUTE, 2, 0, Calendar.SECOND, 2, 0};

-     

-     // constructors

diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix
index 32545abaff2..7c58c480a79 100644
--- a/pkgs/tools/typesetting/rubber/default.nix
+++ b/pkgs/tools/typesetting/rubber/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   patchPhase = "substituteInPlace configure --replace which \"type -P\"";
 
+  postInstall = "rm $out/share/rubber/modules/etex.rub";
+
   meta = {
     description = "Wrapper for LaTeX and friends";
 
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index b3c09952e43..8624fdf96af 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -2,7 +2,7 @@
  
 stdenv.mkDerivation ( rec {
   pname = "auctex";
-  version = "11.87";
+  version = "11.88";
   name = "${pname}-${version}";
 
   meta = {
@@ -12,7 +12,7 @@ stdenv.mkDerivation ( rec {
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${name}.tar.gz";
-    sha256 = "1wjwpmvhpj8q0zd78lj7vyzqhx4rbdhkflslylkzgnw5wllp5mb3";
+    sha256 = "0gy89nzha20p6m7kpv2nl1fnsfka9scc3mw1lz66fp6czganfs3i";
   };
 
   buildInputs = [ emacs texLive ];
diff --git a/pkgs/tools/typesetting/tex/disser/default.nix b/pkgs/tools/typesetting/tex/disser/default.nix
index eee695ea3e9..cbbc3844fef 100644
--- a/pkgs/tools/typesetting/tex/disser/default.nix
+++ b/pkgs/tools/typesetting/tex/disser/default.nix
@@ -2,9 +2,9 @@ x@{builderDefsPackage
   , unzip, texLive, texLiveCMSuper, texLiveAggregationFun
   , ...}:
 builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
     ["texLive" "texLiveCMSuper" "texLiveAggregationFun"];
 
   buildInputs = map (n: builtins.getAttr n x)
@@ -12,11 +12,11 @@ let
     ++ [(a.texLiveAggregationFun {paths=[a.texLive a.texLiveCMSuper];})];
   sourceInfo = rec {
     baseName="disser";
-    version="1.1.8";
+    version="1.3.0";
     name="${baseName}-${version}";
     project="${baseName}";
     url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.zip";
-    hash="15509hfcvkk5kfcza149c74qpamwgw88dg0ra749axs8xj8qmlw8";
+    hash="1iab3va6xw53l8xzmd83kbnzqah9f6imzzfd3c2054q53p0ndlim";
   };
 in
 rec {
@@ -36,7 +36,7 @@ rec {
   '';
 
   makeFlags = ["DESTDIR=$out/share/texmf-dist"];
-      
+
   meta = {
     description = "Russian PhD thesis LaTeX package";
     maintainers = with a.lib.maintainers;
@@ -45,7 +45,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux; # platform-independent
-    license = "free"; # LaTeX Project Public License
+    license = a.lib.licenses.free; # LaTeX Project Public License
   };
   passthru = {
     updateInfo = {
@@ -53,4 +53,3 @@ rec {
     };
   };
 }) x
-
diff --git a/pkgs/tools/typesetting/tex/latex2html/default.nix b/pkgs/tools/typesetting/tex/latex2html/default.nix
index 1d1746e9a4b..f6fc640eb3f 100644
--- a/pkgs/tools/typesetting/tex/latex2html/default.nix
+++ b/pkgs/tools/typesetting/tex/latex2html/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://www.latex2html.org/";
-    description = "Convertor written in Perl that converts LaTeX documents to HTML";
+    description = "Converter written in Perl that converts LaTeX documents to HTML";
     license = stdenv.lib.licenses.gpl2Plus;
   };
 
diff --git a/pkgs/tools/typesetting/tex/pgf/1.x.nix b/pkgs/tools/typesetting/tex/pgf/1.x.nix
index 032d9b5520e..a26513d9f26 100644
--- a/pkgs/tools/typesetting/tex/pgf/1.x.nix
+++ b/pkgs/tools/typesetting/tex/pgf/1.x.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "pgf-1.18";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/pgf/pgf-1.18.tar.gz;
     sha256 = "0s6b8rx9yfxcjjg18vx1mphnwbd28fl5lnq0dasjz40pp3ypwdjv";
@@ -13,4 +13,7 @@ stdenv.mkDerivation {
     mkdir -p $out/share/texmf-nix
     cp -prd * $out/share/texmf-nix
   ";
+  meta = {
+    branch = "1";
+  };
 }
diff --git a/pkgs/tools/typesetting/tex/pgf/2.x.nix b/pkgs/tools/typesetting/tex/pgf/2.x.nix
index 09ec1729cfd..821357e7273 100644
--- a/pkgs/tools/typesetting/tex/pgf/2.x.nix
+++ b/pkgs/tools/typesetting/tex/pgf/2.x.nix
@@ -2,16 +2,19 @@
 
 stdenv.mkDerivation {
   name = "pgf-2.00";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/pgf/pgf-2.00.tar.gz;
     sha256 = "0j57niag4jb2k0iyrvjsannxljc3vkx0iag7zd35ilhiy4dh6264";
   };
 
   buildPhase = "true";
-  
+
   installPhase = "
     mkdir -p $out/share/texmf-nix
     cp -prd * $out/share/texmf-nix
   ";
+  meta = {
+    branch = "2";
+  };
 }
diff --git a/pkgs/tools/typesetting/tex/pgf/3.x.nix b/pkgs/tools/typesetting/tex/pgf/3.x.nix
new file mode 100644
index 00000000000..5c0c387a340
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/pgf/3.x.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+  name = "pgf-3.00";
+
+  src = fetchurl {
+    url = http://downloads.sourceforge.net/project/pgf/pgf/version%203.0.0/pgf_3.0.0.tds.zip;
+    sha256 = "0kj769hyp4z2zmdv3f8xv443wcfqn5nkkbzxzqgfxjizlz81aav7";
+  };
+
+  buildInputs = [ unzip ];
+
+  # Multiple files problem
+  unpackPhase = ''
+    mkdir pgf
+    cd pgf
+    unzip $src
+  '';
+
+  buildPhase = "true";
+
+  installPhase = "
+    mkdir -p $out/share/texmf-nix
+    cp -prd * $out/share/texmf-nix
+  ";
+  meta = {
+    branch = "3";
+  };
+}
diff --git a/pkgs/tools/typesetting/tex/tetex/clang.patch b/pkgs/tools/typesetting/tex/tetex/clang.patch
new file mode 100644
index 00000000000..50d83f62443
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/tetex/clang.patch
@@ -0,0 +1,13 @@
+diff --git a/texk/ps2pkm/type1.c b/texk/ps2pkm/type1.c
+index 027bf1f..4dcbad0 100644
+--- a/texk/ps2pkm/type1.c
++++ b/texk/ps2pkm/type1.c
+@@ -800,7 +800,7 @@ static void PSFakePush(Num)
+ static DOUBLE PSFakePop ()
+ {
+   if (PSFakeTop >= 0) return(PSFakeStack[PSFakeTop--]);
+-  else Error0("PSFakePop : Stack empty\n");
++  else { CC; IfTrace0(TRUE, "PSFakePop : Stack empty\n"); errflag = TRUE; return 0; }
+   /*NOTREACHED*/
+ }
+  
diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix
index 5cd3228aced..79f768a086d 100644
--- a/pkgs/tools/typesetting/tex/tetex/default.nix
+++ b/pkgs/tools/typesetting/tex/tetex/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     sed -i 57d texk/kpathsea/c-std.h
   '';
 
-  patches = [ ./environment.patch ./getline.patch ];
+  patches = [ ./environment.patch ./getline.patch ./clang.patch ];
 
   setupHook = ./setup-hook.sh;
 
@@ -42,6 +42,7 @@ stdenv.mkDerivation {
     homepage     = http://www.tug.org/tetex/;
     matintainers = with maintainers; [ lovek323 ];
     platforms    = platforms.unix;
+    hydraPlatforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/tools/typesetting/tex/tex4ht/default.nix b/pkgs/tools/typesetting/tex/tex4ht/default.nix
index 69d02a275b3..eacd0316b46 100644
--- a/pkgs/tools/typesetting/tex/tex4ht/default.nix
+++ b/pkgs/tools/typesetting/tex/tex4ht/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     cd src
     for f in tex4ht t4ht htcmd ; do
       # -DENVFILE="$out/share/texmf-nix/tex4ht/base/unix/tex4ht.env"
-      gcc -o $f $f.c -I${tetex}/include -L${tetex}/lib  -DHAVE_DIRENT_H -DHAVE_DIRENT_H -DKPATHSEA -lkpathsea
+      ''${CC:-gcc} -o $f $f.c -I${tetex}/include -L${tetex}/lib  -DHAVE_DIRENT_H -DHAVE_DIRENT_H -DKPATHSEA -lkpathsea
     done
     cd -
   '';
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://tug.org/tex4ht/";
     description = "a system to convert (La)TeX documents to HTML and various other formats";
-    license = "LPPL-1.2";		# LaTeX Project Public License
+    license = stdenv.lib.licenses.lppl12;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
index e001a36cab0..d19ff39e2a4 100644
--- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix
+++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
@@ -9,13 +9,15 @@ rec {
   phaseNames = [ "doAggregate" ];
 
   doAggregate = fullDepEntry (''
+    set +o pipefail
+
     mkdir -p $out/bin
     for currentPath in ${lib.concatStringsSep " " buildInputs}; do
         echo Symlinking "$currentPath"
         find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) -type d | while read; do
             REPLY="''${REPLY#$currentPath}"
             mkdir -p $out/"$REPLY"
-	done
+        done
         find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) ! -type d | while read; do
             REPLY="''${REPLY#$currentPath}"
             ln -fs $currentPath/"$REPLY" $out/"$REPLY"
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
index 8b06cbb5a2b..f19d185572d 100644
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix
@@ -20,6 +20,6 @@ rec {
 
   meta = {
     description = "Extra components for TeXLive: beamer class";
-    maintainers = stdenv.lib.maintainers.mornfall;
+    maintainers = [ stdenv.lib.maintainers.mornfall stdenv.lib.maintainers.jwiegley ];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/context.nix b/pkgs/tools/typesetting/tex/texlive/context.nix
index c0c702cd418..22e0991b5cc 100644
--- a/pkgs/tools/typesetting/tex/texlive/context.nix
+++ b/pkgs/tools/typesetting/tex/texlive/context.nix
@@ -1,9 +1,9 @@
 args: with args;
 rec {
-  name = "context-2009.11.26";
+  name = "context-2014.05.21";
   src = fetchurl {
-    url = mirror://debian/pool/main/c/context/context_2009.11.26.orig.tar.gz;
-    sha256 = "1qv3h97cyhjyvivs30fz9bqr77j348azagm7ijiyfrclvjjlwav9";
+    url = mirror://debian/pool/main/c/context/context_2014.05.21.20140528.orig.tar.gz;
+    sha256 = "1d744xrsjyl52x2xbh87k5ad826mzz8yqmhdznrmqrhk3qpjkzic";
   };
 
   buildInputs = [texLive];
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 016b63dd3cf..07ced01d8a8 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -1,20 +1,20 @@
 args : with args;
 rec {
   src = fetchurl {
-    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2014.20140528.34243.orig.tar.xz;
-    sha256 = "0nh8hfayyf60nm4z8zyclrbc3792c62azgsvrwxnl28iq223200s";
+    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2014.20140926.35254.orig.tar.xz;
+    sha256 = "1c39x059jhn5jsy6i9j3akjbkm1kmmzssy1jyi1aw20rl2vp86w3";
   };
 
-  texmfVersion = "2014.20140717";
+  texmfVersion = "2014.20141024";
   texmfSrc = fetchurl {
     url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz";
-    sha256 = "08vhl6x742r8fl0gags2r6yspz8ynvz26vdjrqb4vyz5h7h3rzc9";
+    sha256 = "1a6968myfi81s76n9p1qljgpwia9mi55pkkz1q6lbnwybf97akj1";
   };
 
-  langTexmfVersion = "2014.20140717";
+  langTexmfVersion = "2014.20141024";
   langTexmfSrc = fetchurl {
     url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz";
-    sha256 = "1x9aa3v2cg4lcb58lwksnfdsgrhi0sg968pjqsbndmbxhr1msbp7";
+    sha256 = "1ydz5m1v40n34g1l31r3vqg74rbr01x2f80drhz4igh21fm7zzpa";
   };
 
   passthru = { inherit texmfSrc langTexmfSrc; };
@@ -22,7 +22,6 @@ rec {
   setupHook = ./setup-hook.sh;
 
   doMainBuild = fullDepEntry ( stdenv.lib.optionalString stdenv.isDarwin ''
-    export MACOSX_DEPLOYMENT_TARGET=10.9
     export DYLD_LIBRARY_PATH="${poppler}/lib"
   '' + ''
     mkdir -p $out
@@ -115,7 +114,8 @@ rec {
   buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11.out libICE xproto
     freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext
     xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig
-    poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace ]
+    poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace gmp mpfr
+    xpdf ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper ]
     ;
 
@@ -145,7 +145,7 @@ rec {
     description = "A TeX distribution";
     homepage    = http://www.tug.org/texlive;
     license     = stdenv.lib.licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 raskin ];
+    maintainers = with maintainers; [ lovek323 raskin jwiegley ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
index 4644ee3e50e..59c3389d750 100644
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ b/pkgs/tools/typesetting/tex/texlive/extra.nix
@@ -1,11 +1,11 @@
 args: with args;
 rec {
   name    = "texlive-extra-2014";
-  version = "2014.20140717";
+  version = "2014.20141024";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz";
-    sha256 = "1khxqdq9gagm6z8kbpjbraysfzibfjs2cgbrhjpncbd24sxpw13q";
+    sha256 = "190p5v6madcgkxjmfal0pcylfz88zi6yaixky0vrcz1kbvxqlcb9";
   };
 
   buildInputs = [texLive xz];
@@ -18,7 +18,7 @@ rec {
 
   meta = {
     description = "Extra components for TeXLive";
-    maintainers = [ args.lib.maintainers.raskin ];
+    maintainers = [ args.lib.maintainers.raskin args.lib.maintainers.jwiegley ];
 
     # Actually, arch-independent..
     hydraPlatforms = [];
diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
index f7d8f1254c5..6cf9ac3e5ce 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
@@ -1,13 +1,13 @@
 args: with args;
 rec {
-  version = "0.7";
+  version = "0.8";
   name = "moderntimeline-${version}";
   src = fetchurl {
     urls = [
       "http://www.ctan.org/tex-archive/macros/latex/contrib/moderntimeline.zip"
       "http://mirror.ctan.org/macros/latex/contrib/moderntimeline.zip"
     ];
-    sha256 = "0dxwybanj7qvbr69wgsllha1brq6qjsnjfff6nw4r3nijzvvh876";
+    sha256 = "0y2m0qd0izrfjcwrmf3nvzkqmrhkdhzbv29s4c0knksdnfgcchc8";
   };
 
   buildInputs = [texLive unzip];
diff --git a/pkgs/tools/typesetting/xmlroff/default.nix b/pkgs/tools/typesetting/xmlroff/default.nix
index cbbeecc96d3..5f118e636b8 100644
--- a/pkgs/tools/typesetting/xmlroff/default.nix
+++ b/pkgs/tools/typesetting/xmlroff/default.nix
@@ -1,27 +1,39 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, libxslt, popt
-, glib, pango, libgnomeprint, pangoxsl, gtk}:
+{ stdenv, fetchurl, pkgconfig, libxml2, libxslt, popt, perl
+, glib, pango, pangoxsl, gtk, libtool, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "xmlroff-${version}";
+  version = "0.6.2";
 
-stdenv.mkDerivation {
-  #name = "xmlroff-0.3.5";
-  name = "xmlroff-0.3.98";
   src = fetchurl {
-    url = mirror://sourceforge/xmlroff/xmlroff-0.3.98.tar.gz;
-    md5 = "6c1d05b6480e98870751bf9102ea68e2";
+    url = "https://github.com/xmlroff/xmlroff/archive/v${version}.tar.gz";
+    sha256 = "1sczn6xjczsfdxlbjqv4xqlki2a95y2s8ih2nl9v1vhqfk17fiww";
   };
 
   buildInputs = [
     pkgconfig
+    autoconf
+    automake
     libxml2
     libxslt
+    libtool
     glib
     pango
-    libgnomeprint
     pangoxsl
     gtk
     popt
   ];
 
-  configureFlags = "--disable-pangoxsl";
+  configureScript = "./autogen.sh";
+
+  configureFlags = "--disable-pangoxsl --disable-gp";
+
+  preBuild = ''
+    substituteInPlace tools/insert-file-as-string.pl --replace "/usr/bin/perl" "${perl}/bin/perl"
+    substituteInPlace Makefile --replace "docs" ""
+  '';
+
+  sourceRoot = "${name}/xmlroff/";
 
   patches = [./xmlroff.patch];
 }
diff --git a/pkgs/tools/typesetting/xmlroff/xmlroff.patch b/pkgs/tools/typesetting/xmlroff/xmlroff.patch
index 16bd7b0a76d..6f0246e9679 100644
--- a/pkgs/tools/typesetting/xmlroff/xmlroff.patch
+++ b/pkgs/tools/typesetting/xmlroff/xmlroff.patch
@@ -1,12 +1,11 @@
-diff -ruN xmlroff-0.3.98/Makefile.in xmlroff-0.3.98.new/Makefile.in
---- xmlroff-0.3.98/Makefile.in	2006-05-30 17:46:37.000000000 +0200
-+++ xmlroff-0.3.98.new/Makefile.in	2006-06-18 13:47:37.000000000 +0200
-@@ -288,7 +288,7 @@
- subdirs = @subdirs@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
--SUBDIRS = pangoxsl libfo area fo datatype property expr util . examples docs
-+SUBDIRS = libfo area fo datatype property expr util . examples docs
- @PLATFORM_WIN32_TRUE@no_undefined = -no-undefined
- INCLUDES = \
- 	-DG_LOG_DOMAIN=\"libfo\"	\
+--- xmlroff-0.6.2.orig/libfo/fo-libfo-basic.h
++++ xmlroff-0.6.2/libfo/fo-libfo-basic.h
+@@ -11,8 +11,7 @@
+ #define __FO_LIBFO_BASIC_H__
+ 
+ #include <stdio.h>
+-#include <glib/gtypes.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix
index a1eee51b34d..49fe7dc681f 100644
--- a/pkgs/tools/typesetting/xmlto/default.nix
+++ b/pkgs/tools/typesetting/xmlto/default.nix
@@ -3,10 +3,10 @@
 , bash, getopt, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "xmlto-0.0.25";
+  name = "xmlto-0.0.26";
   src = fetchurl {
     url = "http://fedorahosted.org/releases/x/m/xmlto/${name}.tar.bz2";
-    sha256 = "0dp5nxq491gymq806za0dk4hngfmq65ysrqbn0ypajqbbl6vf71n";
+    sha256 = "1v5mahfg5k9lh3anykl482xnrgxn36zlmqsgwahw29xwncprpd7g";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/video/atomicparsley/casts.patch b/pkgs/tools/video/atomicparsley/casts.patch
new file mode 100644
index 00000000000..b70a3cbcf85
--- /dev/null
+++ b/pkgs/tools/video/atomicparsley/casts.patch
@@ -0,0 +1,38 @@
+--- AtomicParsley-source-0.9.0/AtomicParsley.cpp.orig	2015-03-13 15:38:16.817904490 -0600
++++ AtomicParsley-source-0.9.0/AtomicParsley.cpp	2015-03-13 15:48:07.595273416 -0600
+@@ -1447,7 +1447,7 @@
+ 	uint32_t atom_offsets = 0;
+ 	char* uuid_outfile = (char*)calloc(1, sizeof(char)*MAXPATHLEN+1); //malloc a new string because it may be a cli arg for a specific output path
+ 	if (output_path == NULL) {
+-		char* orig_suffix = strrchr(originating_file, '.');
++		char* orig_suffix = strrchr((char*)originating_file, (int)'.');
+ 		if (orig_suffix == NULL) {
+ 			fprintf(stdout, "AP warning: a file extension for the input file was not found.\n\tGlobbing onto original filename...\n");
+ 			path_len = strlen(originating_file);
+@@ -4464,7 +4464,7 @@
+ void APar_DeriveNewPath(const char *filePath, char* temp_path, int output_type, const char* file_kind, char* forced_suffix, bool random_filename = true) {
+ 	char* suffix = NULL;
+ 	if (forced_suffix == NULL) {
+-		suffix = strrchr(filePath, '.');
++		suffix = strrchr((char*)filePath, (int)'.');
+ 	} else {
+ 		suffix = forced_suffix;
+ 	}
+@@ -4480,7 +4480,7 @@
+ 		memcpy(temp_path, filePath, base_len);
+ 		memcpy(temp_path + base_len, file_kind, strlen(file_kind));
+ #else
+-		char* file_name = strrchr(filePath, '/');
++		char* file_name = strrchr((char*)filePath, (int)'/');
+ 		size_t file_name_len = strlen(file_name);
+ 		memcpy(temp_path, filePath, filepath_len-file_name_len+1);
+ 		memcpy(temp_path + strlen(temp_path), ".", 1);
+@@ -5006,7 +5006,7 @@
+ 			free_modified_name = true;
+ 			if (forced_suffix_type == FORCE_M4B_TYPE) { //using --stik Audiobook with --overWrite will change the original file's extension
+ 				uint16_t filename_len = strlen(m4aFile);
+-				char* suffix = strrchr(m4aFile, '.');
++				char* suffix = strrchr((char*)m4aFile, (int)'.');
+ 				memcpy(originating_file, m4aFile, filename_len+1 );
+ 				memcpy(originating_file + (filename_len - strlen(suffix) ), ".m4b", 5 );
+ 			}
diff --git a/pkgs/tools/video/atomicparsley/default.nix b/pkgs/tools/video/atomicparsley/default.nix
new file mode 100644
index 00000000000..d4b662c88f1
--- /dev/null
+++ b/pkgs/tools/video/atomicparsley/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, pkgs, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "AtomicParsley";
+  version = "0.9.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/atomicparsley/${name}-source-${version}.zip";
+    sha256 = "de83f219f95e6fe59099b277e3ced86f0430ad9468e845783092821dff15a72e";
+  };
+
+  buildInputs = with pkgs; [ unzip ];
+  patches = [ ./casts.patch ];
+  setSourceRoot = "sourceRoot=${name}-source-${version}";
+  buildPhase = "bash build";
+  installPhase = "install -D AtomicParsley $out/bin/AtomicParsley";
+
+  meta = with stdenv.lib; {
+    description = ''
+      A lightweight command line program for reading, parsing and
+      setting metadata into MPEG-4 files
+    '';
+
+    homepage = http://atomicparsley.sourceforge.net/;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ pjones ];
+  };
+}
diff --git a/pkgs/tools/video/rtmpdump/default.nix b/pkgs/tools/video/rtmpdump/default.nix
index 4dec3282fce..55240be19a4 100644
--- a/pkgs/tools/video/rtmpdump/default.nix
+++ b/pkgs/tools/video/rtmpdump/default.nix
@@ -1,26 +1,40 @@
-{stdenv, fetchgit, zlib, gnutls, libgcrypt}:
+{ stdenv, fetchgit, zlib
+, gnutlsSupport ? true, gnutls ? null
+, opensslSupport ? false, openssl ? null
+}:
+
+# Must have an ssl library enabled
+assert (gnutlsSupport || opensslSupport);
+assert gnutlsSupport -> ((gnutlsSupport != null) && (!opensslSupport));
+assert opensslSupport -> ((openssl != null) && (!gnutlsSupport));
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "rtmpdump-${version}";
+  version = "2.4";
 
-stdenv.mkDerivation {
-  name = "rtmpdump-2.4";
   src = fetchgit {
     url = git://git.ffmpeg.org/rtmpdump;
-    rev = "79459a2b43f41ac44a2ec001139bcb7b1b8f7497";
-    sha256 = "5af22362004566794035f989879b13d721f85d313d752abd10a7e45806e3944c";
+    # Currently the latest commit is used (a release has not been made since 2011, i.e. '2.4')
+    rev = "a107cef9b392616dff54fabfd37f985ee2190a6f";
+    sha256 = "178h5j7w20g2h9mn6cb7dfr3fa4g4850hpl1lzxmi0nk3blzcsvl";
   };
 
-  buildInputs = [ zlib gnutls libgcrypt ];
-
-  makeFlags = "CRYPTO=GNUTLS";
+  makeFlags = [ ''prefix=$(out)'' ]
+    ++ optional gnutlsSupport "CRYPTO=GNUTLS"
+    ++ optional opensslSupport "CRYPTO=OPENSSL"
+    ++ optional stdenv.isDarwin "SYS=darwin"
+    ++ optional (stdenv.cc.cc.isClang or false) "CC=clang";
 
-  configurePhase = ''
-    sed -i s,/usr/local,$out, Makefile librtmp/Makefile
-  '';
+  buildInputs = [ zlib ]
+    ++ optional gnutlsSupport gnutls
+    ++ optional opensslSupport openssl;
 
   meta = {
-    homepage = http://rtmpdump.mplayerhq.hu/;
     description = "Toolkit for RTMP streams";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers. viric ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage    = http://rtmpdump.mplayerhq.hu/;
+    license     = licenses.gpl2;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ codyopel viric ];
   };
 }
diff --git a/pkgs/tools/video/swftools/default.nix b/pkgs/tools/video/swftools/default.nix
index 0a658a23e1c..b185d859093 100644
--- a/pkgs/tools/video/swftools/default.nix
+++ b/pkgs/tools/video/swftools/default.nix
@@ -1,18 +1,23 @@
-{ stdenv, fetchurl, zlib }:
+{ stdenv, fetchurl, freetype, libjpeg, libungif, zlib }:
 
-stdenv.mkDerivation {
-  name = "swftools-0.8.1";
+with stdenv.lib;
+stdenv.mkDerivation rec {
+  name = "swftools-${version}";
+  version = "0.9.2";
 
   src = fetchurl {
-    url = http://www.swftools.org/swftools-0.8.1.tar.gz;
-    sha256 = "0l75c3ibwd24g9nqghp1rv1dfrlicw87s0rbdnyffjv4izz6gc2l";
+    url = "http://www.swftools.org/${name}.tar.gz";
+    sha256 = "1w81dyi81019a6jmnm5z7fzarswng27lg1d4k4d5llxzqszr2s5z";
   };
 
-  buildInputs = [ zlib ];
+  patches = [ ./swftools.patch ];
 
-  meta = { 
+  buildInputs = [ freetype libjpeg libungif zlib ];
+
+  meta = {
     description = "Collection of SWF manipulation and creation utilities";
     homepage = http://www.swftools.org/about.html;
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.koral ];
   };
 }
diff --git a/pkgs/tools/video/swftools/swftools.patch b/pkgs/tools/video/swftools/swftools.patch
new file mode 100644
index 00000000000..c7eb89f9b3e
--- /dev/null
+++ b/pkgs/tools/video/swftools/swftools.patch
@@ -0,0 +1,17 @@
+--- a/swfs/Makefile.in.orig
++++ b/swfs/Makefile.in
+@@ -41,10 +41,10 @@ install:
+ 	$(INSTALL_DATA) ./PreLoaderTemplate.swf $(pkgdatadir)/swfs/PreLoaderTemplate.swf
+ 	$(INSTALL_DATA) ./tessel_loader.swf $(pkgdatadir)/swfs/tessel_loader.swf
+ 	$(INSTALL_DATA) ./swft_loader.swf $(pkgdatadir)/swfs/swft_loader.swf
+-	rm -f $(pkgdatadir)/swfs/default_viewer.swf -o -L $(pkgdatadir)/swfs/default_viewer.swf
+-	$(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf
+-	rm -f $(pkgdatadir)/swfs/default_loader.swf -o -L $(pkgdatadir)/swfs/default_loader.swf
+-	$(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf
++	rm -f $(pkgdatadir)/swfs/default_viewer.swf # -o -L $(pkgdatadir)/swfs/default_viewer.swf
++	$(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf
++	rm -f $(pkgdatadir)/swfs/default_loader.swf # -o -L $(pkgdatadir)/swfs/default_loader.swf
++	$(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf
+ 		
+ uninstall:
+ 	$(UNINSTALL_DATA) $(pkgdatadir)/swfs/simple_viewer.swf
diff --git a/pkgs/tools/video/vnc2flv/default.nix b/pkgs/tools/video/vnc2flv/default.nix
index f2f77bd84cd..55f54e2cf3d 100644
--- a/pkgs/tools/video/vnc2flv/default.nix
+++ b/pkgs/tools/video/vnc2flv/default.nix
@@ -6,7 +6,7 @@ pythonPackages.buildPythonPackage rec {
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/v/vnc2flv/${name}.tar.gz";
-    md5 = "8492e46496e187b49fe5569b5639804e";
+    sha256 = "14d4nm8yim0bm0nd3wyj7z4zdsg5zk3d9bhhvwdc36x03r8d0sbq";
   };
 
   # error: invalid command 'test'
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix
new file mode 100644
index 00000000000..48eb68242e1
--- /dev/null
+++ b/pkgs/tools/virtualization/cloud-init/default.nix
@@ -0,0 +1,34 @@
+{ lib, pythonPackages, fetchurl }:
+
+let version = "0.7.6";
+
+in pythonPackages.buildPythonPackage rec {
+  name = "cloud-init-0.7.6";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://launchpad.net/cloud-init/trunk/${version}/+download/cloud-init-${version}.tar.gz";
+    sha256 = "1mry5zdkfaq952kn1i06wiggc66cqgfp6qgnlpk0mr7nnwpd53wy";
+  };
+
+  preBuild = ''
+    patchShebangs ./tools
+
+    substituteInPlace setup.py \
+      --replace /usr $out \
+      --replace /etc $out/etc \
+      --replace /lib/systemd $out/lib/systemd \
+    '';
+
+  pythonPath = with pythonPackages; [ cheetah jinja2 prettytable
+    oauth pyserial configobj pyyaml argparse requests jsonpatch ];
+
+  setupPyInstallFlags = ["--init-system systemd"];
+
+  meta = {
+    homepage = http://cloudinit.readthedocs.org;
+    description = "provides configuration and customization of cloud instance";
+    maintainers = [ lib.maintainers.madjar ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/virtualization/ec2-ami-tools/default.nix b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
index cbe53326339..dad581c93d0 100644
--- a/pkgs/tools/virtualization/ec2-ami-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "ec2-ami-tools-${version}";
 
-  version = "1.5.3";
+  version = "1.5.6";
 
   buildInputs = [ unzip makeWrapper ];
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/ec2-downloads/${name}.zip";
-    sha256 = "0n184nxc57alg25h5bslg0cs1z854sf7f52a820ihxxknrq2dy6i";
+    sha256 = "0227370qbm26qaqvscqxv6002bqwy2i5fdhbhpwfnbymh7jz59ks";
   };
 
   # Amazon EC2 requires that disk images are writable.  If they're
@@ -36,9 +36,9 @@ stdenv.mkDerivation rec {
     '';  # */
 
   meta = {
-    homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=368&categoryID=88;
+    homepage = https://aws.amazon.com/developertools/Amazon-EC2/368;
     description = "Command-line tools to create and manage Amazon EC2 virtual machine images";
-    license = "unfree-redistributable"; # Amazon || (Ruby GPL-2)
+    license = stdenv.lib.licenses.amazonsl;
   };
 
 }
diff --git a/pkgs/tools/virtualization/ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix
index 34cfa662c91..5ffba07087a 100644
--- a/pkgs/tools/virtualization/ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351;
     description = "Command-line tools to create and manage Amazon EC2 virtual machines";
-    license = "unfree-redistributable"; #Amazon
+    license = stdenv.lib.licenses.amazonsl;
   };
 }
diff --git a/pkgs/tools/virtualization/euca2ools/default.nix b/pkgs/tools/virtualization/euca2ools/default.nix
index ae488b0f359..a87dd568322 100644
--- a/pkgs/tools/virtualization/euca2ools/default.nix
+++ b/pkgs/tools/virtualization/euca2ools/default.nix
@@ -1,18 +1,16 @@
 { stdenv, fetchgit, which, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "euca2ools-2.1.3";
+  name = "euca2ools-2.1.4";
   namePrefix = "";
 
   src = fetchgit {
     url = https://github.com/eucalyptus/euca2ools.git;
-    rev = "8ae2ecc";
-    sha256 = "caef5a3e2c9b515fd815034b5b7304acc878a0b9777ae4208dc033b0bf39da2b";
+    rev = "19cb7eac34dd7efe3a56e4841b9692c03458bf3b";
+    sha256 = "0f52jqw3s79w391lbzlh83lp55j73clvwmn2np4fy6kxc4j49da1";
   };
 
-  pythonPath = [ pythonPackages.boto pythonPackages.m2crypto pythonPackages.ssl ];
-
-  doCheck = false;
+  pythonPath = [ pythonPackages.boto pythonPackages.m2crypto ];
 
   meta = {
     homepage = http://open.eucalyptus.com/downloads;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2e0c0834a22..094b3deb7d1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15,8 +15,7 @@
 , # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
   # outside of the store.  Thus, GCC, GFortran, & co. must always look for
   # files in standard system directories (/usr/include, etc.)
-  noSysDirs ? (system != "x86_64-darwin"
-               && system != "x86_64-freebsd" && system != "i686-freebsd"
+  noSysDirs ? (system != "x86_64-freebsd" && system != "i686-freebsd"
                && system != "x86_64-kfreebsd-gnu")
 
   # More flags for the bootstrapping of stdenv.
@@ -73,6 +72,7 @@ let
       platforms = (import ./platforms.nix);
     in
       if system == "armv6l-linux" then platforms.raspberrypi
+      else if system == "armv7l-linux" then platforms.beaglebone
       else if system == "armv5tel-linux" then platforms.sheevaplug
       else if system == "mips64el-linux" then platforms.fuloong2f_n32
       else if system == "x86_64-linux" then platforms.pc64
@@ -85,7 +85,7 @@ let
   # Helper functions that are exported through `pkgs'.
   helperFunctions =
     stdenvAdapters //
-    (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
+    (import ../build-support/trivial-builders.nix { inherit lib; inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
 
   stdenvAdapters =
     import ../stdenv/adapters.nix pkgs;
@@ -167,7 +167,7 @@ let
   x11 = xlibsWrapper;
 
   # `xlibs' is the set of X library components.  This used to be the
-  # old modular X llibraries project (called `xlibs') but now it's just
+  # old modular X libraries project (called `xlibs') but now it's just
   # the set of packages in the modular X.org tree (which also includes
   # non-library components like the server, drivers, fonts, etc.).
   xlibs = xorg // {xlibs = xlibsWrapper;};
@@ -231,8 +231,6 @@ let
       else
         defaultStdenv;
 
-  stdenvApple = stdenvAdapters.overrideGCC allStdenvs.stdenvNative gccApple;
-
   forceNativeDrv = drv : if crossSystem == null then drv else
     (drv // { crossDrv = drv.nativeDrv; });
 
@@ -241,7 +239,7 @@ let
   # just the plain stdenv.
   stdenv_32bit = lowPrio (
     if system == "x86_64-linux" then
-      overrideGCC stdenv gcc48_multi
+      overrideCC stdenv gcc48_multi
     else
       stdenv);
 
@@ -253,18 +251,33 @@ let
     theAttrSet = arg;
   };
 
+  autonix = callPackage ../build-support/autonix {};
+
   autoreconfHook = makeSetupHook
-    { substitutions = { inherit autoconf automake libtool; }; }
+    { substitutions = { inherit autoconf automake libtool gettext; }; }
     ../build-support/setup-hooks/autoreconf.sh;
 
   buildEnv = import ../build-support/buildenv {
     inherit (pkgs) runCommand perl;
   };
 
-  buildFHSChrootEnv = import ../build-support/build-fhs-chrootenv {
-    inherit stdenv glibc glibcLocales gcc coreutils diffutils findutils;
-    inherit gnused gnugrep gnutar gzip bzip2 bashInteractive xz shadow gawk;
-    inherit less buildEnv;
+  buildFHSEnv = callPackage ../build-support/build-fhs-chrootenv/env.nix {
+    nixpkgs      = pkgs;
+    nixpkgs_i686 = pkgsi686Linux;
+  };
+
+  chrootFHSEnv = callPackage ../build-support/build-fhs-chrootenv { };
+  userFHSEnv = callPackage ../build-support/build-fhs-userenv {
+   ruby = ruby_2_1_3;
+  };
+
+  buildFHSChrootEnv = args: chrootFHSEnv {
+    env = buildFHSEnv args;
+  };
+
+  buildFHSUserEnv = args: userFHSEnv {
+    env = buildFHSEnv (removeAttrs args [ "runScript" ]);
+    runScript = args.runScript;
   };
 
   dotnetenv = import ../build-support/dotnetenv {
@@ -278,6 +291,16 @@ let
     vs = vs90wrapper;
   };
 
+  fetchadc = import ../build-support/fetchadc {
+    inherit curl stdenv;
+    adc_user = if config ? adc_user
+      then config.adc_user
+      else throw "You need an adc_user attribute in your config to download files from Apple Developer Connection";
+    adc_pass = if config ? adc_pass
+      then config.adc_pass
+      else throw "You need an adc_pass attribute in your config to download files from Apple Developer Connection";
+  };
+
   fetchbower = import ../build-support/fetchbower {
     inherit stdenv git;
     inherit (nodePackages) fetch-bower;
@@ -296,7 +319,8 @@ let
   };
 
   fetchgit = import ../build-support/fetchgit {
-    inherit stdenv git cacert;
+    inherit stdenv cacert;
+    git = gitMinimal;
   };
 
   fetchgitPrivate = import ../build-support/fetchgit/private.nix {
@@ -305,6 +329,10 @@ let
 
   fetchgitrevision = import ../build-support/fetchgitrevision runCommand git;
 
+  fetchgitLocal = import ../build-support/fetchgitlocal {
+    inherit runCommand git nix;
+  };
+
   fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {});
 
   packer = callPackage ../development/tools/packer { };
@@ -332,9 +360,6 @@ let
     inherit curl stdenv;
   };
 
-  # A wrapper around fetchurl that generates miror://gnome URLs automatically
-  fetchurlGnome = callPackage ../build-support/fetchurl/gnome.nix { };
-
   # fetchurlBoot is used for curl and its dependencies in order to
   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
@@ -344,12 +369,18 @@ let
 
   fetchzip = import ../build-support/fetchzip { inherit lib fetchurl unzip; };
 
-  fetchFromGitHub = { owner, repo, rev, sha256 }: fetchzip {
-    name = "${repo}-${rev}-src";
+  fetchFromGitHub = { owner, repo, rev, sha256, name ? "${repo}-${rev}-src" }: fetchzip {
+    inherit name;
     url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz";
     inherit sha256;
   };
 
+  fetchFromGitorious = { owner, repo, rev, sha256, name ? "${repo}-${rev}-src" }: fetchzip {
+    inherit name;
+    url = "https://gitorious.org/${owner}/${repo}/archive/${rev}.tar.gz";
+    inherit sha256;
+  };
+
   resolveMirrorURLs = {url}: fetchurl {
     showURLs = true;
     inherit url;
@@ -366,9 +397,9 @@ let
     inherit lib;
   };
 
-  makeInitrd = {contents, compressor ? "gzip -9"}:
+  makeInitrd = { contents, compressor ? "gzip -9n", prepend ? [ ] }:
     import ../build-support/kernel/make-initrd.nix {
-      inherit stdenv perl perlArchiveCpio cpio contents ubootChooser compressor;
+      inherit stdenv perl perlArchiveCpio cpio contents ubootChooser compressor prepend;
     };
 
   makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh;
@@ -386,6 +417,10 @@ let
     inherit stdenv;
   };
 
+  substituteAllFiles = import ../build-support/substitute-files/substitute-all-files.nix {
+    inherit stdenv;
+  };
+
   replaceDependency = import ../build-support/replace-dependency.nix {
     inherit runCommand nix lib;
   };
@@ -418,9 +453,18 @@ let
     { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; }
     ../build-support/setup-hooks/make-coverage-analysis-report.sh;
 
+  # intended to be used like nix-build -E 'with <nixpkgs> {}; enableDebugging fooPackage'
+  enableDebugging = pkg: pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; };
+
+  findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh;
+
 
   ### TOOLS
 
+  "3dfsb" = callPackage ../applications/misc/3dfsb {
+    glibc = glibc.override { debugSymbols = true; };
+  };
+
   abduco = callPackage ../tools/misc/abduco { };
 
   acct = callPackage ../tools/system/acct { };
@@ -433,21 +477,30 @@ let
 
   adom = callPackage ../games/adom { };
 
+  advancecomp = callPackage ../tools/compression/advancecomp {};
+
   aefs = callPackage ../tools/filesystems/aefs { };
 
   aegisub = callPackage ../applications/video/aegisub {
     wxGTK = wxGTK30;
-    lua = lua5_1;
   };
 
   aespipe = callPackage ../tools/security/aespipe { };
 
   aescrypt = callPackage ../tools/misc/aescrypt { };
 
+  afl = callPackage ../tools/security/afl { };
+
   ahcpd = callPackage ../tools/networking/ahcpd { };
 
+  aiccu = callPackage ../tools/networking/aiccu { };
+
+  aide = callPackage ../tools/security/aide { };
+
   aircrackng = callPackage ../tools/networking/aircrack-ng { };
 
+  airfield = callPackage ../tools/networking/airfield { };
+
   analog = callPackage ../tools/admin/analog {};
 
   apktool = callPackage ../development/tools/apktool {
@@ -456,32 +509,42 @@ let
 
   apt-offline = callPackage ../tools/misc/apt-offline { };
 
+  apulse = callPackage ../misc/apulse { };
+
   archivemount = callPackage ../tools/filesystems/archivemount { };
 
   arandr = callPackage ../tools/X11/arandr { };
 
   arcanist = callPackage ../development/tools/misc/arcanist {};
 
-  arduino_core = callPackage ../development/arduino/arduino-core {
+  arduino = arduino-core.override { withGui = true; };
+
+  arduino-core = callPackage ../development/arduino/arduino-core {
     jdk = jdk;
     jre = jdk;
+    withGui = false;
   };
 
+  apitrace = callPackage ../applications/graphics/apitrace {};
+
   argyllcms = callPackage ../tools/graphics/argyllcms {};
 
   arp-scan = callPackage ../tools/misc/arp-scan { };
 
   ascii = callPackage ../tools/text/ascii { };
 
-  asymptote = builderDefsPackage ../tools/graphics/asymptote {
-    inherit freeglut ghostscriptX imagemagick fftw boehmgc
-      mesa ncurses readline gsl libsigsegv python zlib perl
-      texinfo xz;
+  asymptote = callPackage ../tools/graphics/asymptote {
     texLive = texLiveAggregationFun {
       paths = [ texLive texLiveExtra texLiveCMSuper ];
     };
   };
 
+  atomicparsley = callPackage ../tools/video/atomicparsley { };
+
+  attic = callPackage ../tools/backup/attic { };
+
+  avfs = callPackage ../tools/filesystems/avfs { };
+
   awscli = callPackage ../tools/admin/awscli { };
 
   ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { };
@@ -511,6 +574,8 @@ let
 
   grc = callPackage ../tools/misc/grc { };
 
+  lastpass-cli = callPackage ../tools/security/lastpass-cli { };
+
   otool = callPackage ../os-specific/darwin/otool { };
 
   pass = callPackage ../tools/security/pass {
@@ -528,7 +593,7 @@ let
     pkgs_i686 = pkgsi686Linux;
   };
 
-  inherit (androidenv) androidsdk_4_1;
+  inherit (androidenv) androidsdk_4_4 androidndk;
 
   aria2 = callPackage ../tools/networking/aria2 { };
   aria = aria2;
@@ -567,28 +632,60 @@ let
 
   barcode = callPackage ../tools/graphics/barcode {};
 
+  bashmount = callPackage ../tools/filesystems/bashmount {};
+
   bc = callPackage ../tools/misc/bc { };
 
   bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
 
   bchunk = callPackage ../tools/cd-dvd/bchunk { };
 
-  bfr = callPackage ../tools/misc/bfr { };
+  bfr = callPackage ../tools/misc/bfr {
+    perl = perl516; # Docs fail to build with newer versions
+  };
+
+  bibtool = callPackage ../tools/misc/bibtool { };
 
   bindfs = callPackage ../tools/filesystems/bindfs { };
 
+  binwalk = callPackage ../tools/misc/binwalk {
+    python = pythonFull;
+    wrapPython = pythonPackages.wrapPython;
+    curses = pythonPackages.curses;
+  };
+
+  binwalk-full = callPackage ../tools/misc/binwalk {
+    python = pythonFull;
+    wrapPython = pythonPackages.wrapPython;
+    curses = pythonPackages.curses;
+    visualizationSupport = true;
+    pyqtgraph = pythonPackages.pyqtgraph;
+  };
+
   bitbucket-cli = pythonPackages.bitbucket-cli;
 
+  blink = callPackage ../applications/networking/instant-messengers/blink { };
+
+  blitz = callPackage ../development/libraries/blitz { };
+
   blockdiag = pythonPackages.blockdiag;
 
   bmon = callPackage ../tools/misc/bmon { };
 
-  bochs = callPackage ../applications/virtualization/bochs { wxSupport = false; };
+  bochs = callPackage ../applications/virtualization/bochs { };
 
   boomerang = callPackage ../development/tools/boomerang { };
 
+  boost-build = callPackage ../development/tools/boost-build { };
+
+  boot = callPackage ../development/tools/build-managers/boot { };
+
   bootchart = callPackage ../tools/system/bootchart { };
 
+  boxfs = callPackage ../tools/filesystems/boxfs { };
+
+  brasero = callPackage ../tools/cd-dvd/brasero { };
+
   bro = callPackage ../applications/networking/ids/bro { };
 
   bsod = callPackage ../misc/emulators/bsod { };
@@ -603,10 +700,35 @@ let
 
   catdoc = callPackage ../tools/text/catdoc { };
 
+  cdemu-daemon = callPackage ../misc/emulators/cdemu/daemon.nix { };
+
+  cdemu-client = callPackage ../misc/emulators/cdemu/client.nix { };
+
+  ceres-solver = callPackage ../development/libraries/ceres-solver {
+    google-gflags = null; # only required for examples/tests
+  };
+
+  gcdemu = callPackage ../misc/emulators/cdemu/gui.nix { };
+
+  image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
+
   ccnet = callPackage ../tools/networking/ccnet { };
 
-  consul = callPackage ../servers/consul { };
-  consul_ui = callPackage ../servers/consul/ui.nix { };
+  cloud-init = callPackage ../tools/virtualization/cloud-init { };
+
+  consul = callPackage ../servers/consul {
+   # inherit ruby;
+  };
+
+  consul_ui = consul.ui;
+
+  consul-alerts = callPackage ../servers/consul/alerts.nix { };
+
+  consul-template = callPackage ../servers/consul/template.nix { };
+
+  corosync = callPackage ../servers/corosync { };
+
+  cherrytree = callPackage ../applications/misc/cherrytree { };
 
   chntpw = callPackage ../tools/security/chntpw { };
 
@@ -614,40 +736,98 @@ let
     flex = flex_2_5_35;
   };
 
-  crawl = callPackage ../games/crawl { lua = lua5; };
+  cpulimit = callPackage ../tools/misc/cpulimit { };
+
+  crawlTiles = callPackage ../games/crawl { };
+
+  crawl = callPackage ../games/crawl {
+    tileMode = false;
+  };
 
   cv = callPackage ../tools/misc/cv { };
 
+  contacts = callPackage ../tools/misc/contacts { };
+
+  datamash = callPackage ../tools/misc/datamash { };
+
+  ddate = callPackage ../tools/misc/ddate { };
+
   direnv = callPackage ../tools/misc/direnv { };
 
+  discount = callPackage ../tools/text/discount { };
+
   ditaa = callPackage ../tools/graphics/ditaa { };
 
   dlx = callPackage ../misc/emulators/dlx { };
 
+  dtrx = callPackage ../tools/compression/dtrx { };
+
+  duperemove = callPackage ../tools/filesystems/duperemove {
+    linuxHeaders = linuxHeaders_3_14;
+  };
+
   eggdrop = callPackage ../tools/networking/eggdrop { };
 
   enca = callPackage ../tools/text/enca { };
 
-  fasd = callPackage ../tools/misc/fasd {
-    inherit (haskellPackages) pandoc;
-  };
+  ent = callPackage ../tools/misc/ent { };
+
+  fasd = callPackage ../tools/misc/fasd { };
 
   fop = callPackage ../tools/typesetting/fop { };
 
+  filter_audio = callPackage ../development/libraries/filter_audio { };
+
+  gist = callPackage ../tools/text/gist { };
+
   mcrl = callPackage ../tools/misc/mcrl { };
 
   mcrl2 = callPackage ../tools/misc/mcrl2 { };
 
+  mp3fs = callPackage ../tools/filesystems/mp3fs { };
+
   mpdcron = callPackage ../tools/audio/mpdcron { };
 
   syslogng = callPackage ../tools/system/syslog-ng { };
 
   syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };
 
-  rsyslog = callPackage ../tools/system/rsyslog { };
+  rsyslog = callPackage ../tools/system/rsyslog {
+    libgcrypt = libgcrypt_1_6;
+    czmq = null; # Currently Broken
+    hadoop = null; # Currently Broken
+  };
+
+  rsyslog-light = callPackage ../tools/system/rsyslog {
+    krb5 = null;
+    systemd = null;
+    jemalloc = null;
+    mysql = null;
+    postgresql = null;
+    libdbi = null;
+    net_snmp = null;
+    libuuid = null;
+    curl = null;
+    gnutls = null;
+    libgcrypt = null;
+    liblognorm = null;
+    openssl = null;
+    librelp = null;
+    libgt = null;
+    liblogging = null;
+    libnet = null;
+    hadoop = null;
+    rdkafka = null;
+    libmongo-client = null;
+    czmq = null;
+    rabbitmq-c = null;
+    hiredis = null;
+  };
 
   mcrypt = callPackage ../tools/misc/mcrypt { };
 
+  mstflint = callPackage ../tools/misc/mstflint { };
+
   mcelog = callPackage ../os-specific/linux/mcelog { };
 
   apparix = callPackage ../tools/misc/apparix { };
@@ -666,10 +846,16 @@ let
 
   autossh = callPackage ../tools/networking/autossh { };
 
+  asynk = callPackage ../tools/networking/asynk { };
+
   bacula = callPackage ../tools/backup/bacula { };
 
+  bareos = callPackage ../tools/backup/bareos { };
+
   beanstalkd = callPackage ../servers/beanstalkd { };
 
+  beets = callPackage ../tools/audio/beets { };
+
   bgs = callPackage ../tools/X11/bgs { };
 
   biber = callPackage ../tools/typesetting/biber {
@@ -685,10 +871,6 @@ let
     inherit (strategoPackages016) strategoxt sdf;
   };
 
-  bittorrent = callPackage ../tools/networking/p2p/bittorrent {
-    gui = true;
-  };
-
   bittornado = callPackage ../tools/networking/p2p/bit-tornado { };
 
   blueman = callPackage ../tools/bluetooth/blueman {
@@ -711,10 +893,11 @@ let
 
   bup = callPackage ../tools/backup/bup {
     inherit (pythonPackages) pyxattr pylibacl setuptools fuse;
-    inherit (haskellPackages) pandoc;
     par2Support = (config.bup.par2Support or false);
   };
 
+  byzanz = callPackage ../applications/video/byzanz {};
+
   ori = callPackage ../tools/backup/ori { };
 
   atool = callPackage ../tools/archivers/atool { };
@@ -729,10 +912,14 @@ let
 
   can-utils = callPackage ../os-specific/linux/can-utils { };
 
+  caudec = callPackage ../applications/audio/caudec { };
+
   ccid = callPackage ../tools/security/ccid { };
 
   ccrypt = callPackage ../tools/security/ccrypt { };
 
+  ccze = callPackage ../tools/misc/ccze { };
+
   cdecl = callPackage ../development/tools/cdecl { };
 
   cdrdao = callPackage ../tools/cd-dvd/cdrdao { };
@@ -753,6 +940,8 @@ let
 
   chkrootkit = callPackage ../tools/security/chkrootkit { };
 
+  chocolateDoom = callPackage ../games/chocolate-doom { };
+
   chrony = callPackage ../tools/networking/chrony { };
 
   chunkfs = callPackage ../tools/filesystems/chunkfs { };
@@ -763,10 +952,14 @@ let
 
   cksfv = callPackage ../tools/networking/cksfv { };
 
-  clementine = callPackage ../applications/audio/clementine { };
+  clementine = callPackage ../applications/audio/clementine {
+    boost = boost156;
+  };
 
   ciopfs = callPackage ../tools/filesystems/ciopfs { };
 
+  cmst = callPackage ../tools/networking/cmst { };
+
   colord = callPackage ../tools/misc/colord { };
 
   colord-gtk = callPackage ../tools/misc/colord-gtk { };
@@ -805,10 +998,20 @@ let
 
   anthy = callPackage ../tools/inputmethods/anthy { };
 
+  ibus = callPackage ../tools/inputmethods/ibus { };
+
+  ibus-qt = callPackage ../tools/inputmethods/ibus-qt { };
+
+  ibus-anthy = callPackage ../tools/inputmethods/ibus-anthy { };
+
   biosdevname = callPackage ../tools/networking/biosdevname { };
 
+  checkbashism = callPackage ../development/tools/misc/checkbashisms { };
+
   clamav = callPackage ../tools/security/clamav { };
 
+  clex = callPackage ../tools/misc/clex { };
+
   cloc = callPackage ../tools/misc/cloc {
     inherit (perlPackages) perl AlgorithmDiff RegexpCommon;
   };
@@ -819,7 +1022,7 @@ let
 
   convmv = callPackage ../tools/misc/convmv { };
 
-  cool-old-term = callPackage ../applications/misc/cool-old-term { };
+  cool-retro-term = callPackage ../applications/misc/cool-retro-term { };
 
   coreutils = callPackage ../tools/misc/coreutils
     {
@@ -841,6 +1044,10 @@ let
     python = python26;
   };
 
+  cudatoolkit65 = callPackage ../development/compilers/cudatoolkit/6.5.nix {
+    python = python26;
+  };
+
   cudatoolkit = cudatoolkit5;
 
   curl = callPackage ../tools/networking/curl rec {
@@ -855,24 +1062,32 @@ let
     sslSupport = zlibSupport;
   };
 
+  curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { };
+
   cunit = callPackage ../tools/misc/cunit { };
 
   curlftpfs = callPackage ../tools/filesystems/curlftpfs { };
 
   cutter = callPackage ../tools/networking/cutter { };
 
-  dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { };
+  dadadodo = callPackage ../tools/text/dadadodo { };
+
+  daemonize = callPackage ../tools/system/daemonize { };
 
   daq = callPackage ../applications/networking/ids/daq { };
 
   dar = callPackage ../tools/archivers/dar { };
 
+  darkstat = callPackage ../tools/networking/darkstat { };
+
   davfs2 = callPackage ../tools/filesystems/davfs2 { };
 
   dbench = callPackage ../development/tools/misc/dbench { };
 
   dcraw = callPackage ../tools/graphics/dcraw { };
 
+  dcfldd = callPackage ../tools/system/dcfldd { };
+
   debian_devscripts = callPackage ../tools/misc/debian-devscripts {
     inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry;
   };
@@ -881,6 +1096,10 @@ let
 
   detox = callPackage ../tools/misc/detox { };
 
+  ddccontrol = callPackage ../tools/misc/ddccontrol { };
+
+  ddccontrol-db = callPackage ../data/misc/ddccontrol-db { };
+
   ddclient = callPackage ../tools/networking/ddclient { };
 
   dd_rescue = callPackage ../tools/system/dd_rescue { };
@@ -893,14 +1112,20 @@ let
 
   despotify = callPackage ../development/libraries/despotify { };
 
+  dfc  = callPackage ../tools/system/dfc { };
+
   dev86 = callPackage ../development/compilers/dev86 { };
 
+  dnscrypt-proxy = callPackage ../tools/networking/dnscrypt-proxy { };
+
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
 
   dnstop = callPackage ../tools/networking/dnstop { };
 
   dhcp = callPackage ../tools/networking/dhcp { };
 
+  dhcpdump = callPackage ../tools/networking/dhcpdump { };
+
   dhcpcd = callPackage ../tools/networking/dhcpcd { };
 
   di = callPackage ../tools/system/di { };
@@ -909,6 +1134,11 @@ let
 
   diffutils = callPackage ../tools/text/diffutils { };
 
+  dir2opus = callPackage ../tools/audio/dir2opus {
+    inherit (pythonPackages) mutagen python wrapPython;
+    inherit opusTools;
+  };
+
   wgetpaste = callPackage ../tools/text/wgetpaste { };
 
   dirmngr = callPackage ../tools/security/dirmngr { };
@@ -927,16 +1157,27 @@ let
     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
   };
 
+  dog = callPackage ../tools/system/dog { };
+
   dosfstools = callPackage ../tools/filesystems/dosfstools { };
 
   dotnetfx35 = callPackage ../development/libraries/dotnetfx35 { };
 
   dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
 
+  dolphinEmu = callPackage ../misc/emulators/dolphin-emu { };
+  dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { };
+
+  doomseeker = callPackage ../applications/misc/doomseeker { };
+
   dropbear = callPackage ../tools/networking/dropbear { };
 
   dtach = callPackage ../tools/misc/dtach { };
 
+  dub = callPackage ../development/tools/build-managers/dub { };
+
+  duff = callPackage ../tools/filesystems/duff { };
+
   duo-unix = callPackage ../tools/security/duo-unix { };
 
   duplicity = callPackage ../tools/backup/duplicity {
@@ -946,6 +1187,8 @@ let
 
   duply = callPackage ../tools/backup/duply { };
 
+  dvdisaster = callPackage ../tools/cd-dvd/dvdisaster { };
+
   dvdplusrwtools = callPackage ../tools/cd-dvd/dvd+rw-tools { };
 
   dvgrab = callPackage ../tools/video/dvgrab { };
@@ -967,6 +1210,10 @@ let
 
   edk2 = callPackage ../development/compilers/edk2 { };
 
+  eid-mw = callPackage ../tools/security/eid-mw { };
+
+  eid-viewer = callPackage ../tools/security/eid-viewer { };
+
   emscripten = callPackage ../development/compilers/emscripten { };
 
   emscriptenfastcomp = callPackage ../development/compilers/emscripten-fastcomp { };
@@ -993,18 +1240,22 @@ let
 
   ethtool = callPackage ../tools/misc/ethtool { };
 
+  eternity = callPackage ../games/eternity-engine { };
+
   ettercap = callPackage ../applications/networking/sniffers/ettercap { };
 
-  euca2ools = callPackage ../tools/virtualization/euca2ools { pythonPackages = python26Packages; };
+  euca2ools = callPackage ../tools/virtualization/euca2ools { };
 
   evtest = callPackage ../applications/misc/evtest { };
 
-  exempi = callPackage ../development/libraries/exempi { };
+  exempi = callPackage ../development/libraries/exempi { boost = boost155; };
 
   execline = callPackage ../tools/misc/execline { };
 
   exercism = callPackage ../development/tools/exercism { };
 
+  exfat-utils = callPackage ../tools/filesystems/exfat-utils { };
+
   exif = callPackage ../tools/graphics/exif { };
 
   exiftags = callPackage ../tools/graphics/exiftags { };
@@ -1027,12 +1278,26 @@ let
 
   fakechroot = callPackage ../tools/system/fakechroot { };
 
+  fatsort = callPackage ../tools/filesystems/fatsort { };
+
   fcitx = callPackage ../tools/inputmethods/fcitx { };
 
+  fcitx-anthy = callPackage ../tools/inputmethods/fcitx/fcitx-anthy.nix { };
+
+  fcitx-configtool = callPackage ../tools/inputmethods/fcitx/fcitx-configtool.nix { };
+
+  fcitx-with-plugins = callPackage ../tools/inputmethods/fcitx/wrapper.nix {
+    plugins = [ ];
+  };
+
   fcron = callPackage ../tools/system/fcron { };
 
   fdm = callPackage ../tools/networking/fdm {};
 
+  flannel = callPackage ../tools/networking/flannel { };
+
+  flashbench = callPackage ../os-specific/linux/flashbench { };
+
   figlet = callPackage ../tools/misc/figlet { };
 
   file = callPackage ../tools/misc/file { };
@@ -1055,10 +1320,14 @@ let
 
   flpsed = callPackage ../applications/editors/flpsed { };
 
+  fluentd = callPackage ../tools/misc/fluentd { };
+
   flvstreamer = callPackage ../tools/networking/flvstreamer { };
 
   libbsd = callPackage ../development/libraries/libbsd { };
 
+  libbladeRF = callPackage ../development/libraries/libbladeRF { };
+
   lprof = callPackage ../tools/graphics/lprof { };
 
   fdk_aac = callPackage ../development/libraries/fdk-aac { };
@@ -1066,9 +1335,8 @@ let
   flvtool2 = callPackage ../tools/video/flvtool2 { };
 
   fontforge = lowPrio (callPackage ../tools/misc/fontforge { });
-
-  fontforgeX = callPackage ../tools/misc/fontforge {
-    withX11 = true;
+  fontforge-gtk = callPackage ../tools/misc/fontforge {
+    withGTK = true;
   };
 
   forktty = callPackage ../os-specific/linux/forktty {};
@@ -1085,21 +1353,27 @@ let
 
   fprot = callPackage ../tools/security/fprot { };
 
+  fprintd = callPackage ../tools/security/fprintd { };
+
+  fprint_demo = callPackage ../tools/security/fprint_demo { };
+
   freeipmi = callPackage ../tools/system/freeipmi {};
 
-  freetalk = callPackage ../applications/networking/instant-messengers/freetalk {
-    guile = guile_1_8;
-  };
+  freetalk = callPackage ../applications/networking/instant-messengers/freetalk { };
 
   freetds = callPackage ../development/libraries/freetds { };
 
+  frescobaldi = callPackage ../misc/frescobaldi {};
+
+  frostwire = callPackage ../applications/networking/p2p/frostwire { };
+
   ftgl = callPackage ../development/libraries/ftgl { };
 
   ftgl212 = callPackage ../development/libraries/ftgl/2.1.2.nix { };
 
-  fuppes = callPackage ../tools/networking/fuppes {
-    ffmpeg = ffmpeg_0_6_90;
-  };
+  ftop = callPackage ../os-specific/linux/ftop { };
+
+  fuppes = callPackage ../tools/networking/fuppes { };
 
   fsfs = callPackage ../tools/filesystems/fsfs { };
 
@@ -1117,6 +1391,10 @@ let
     gtk = gtk3;
   };
 
+  garmin-plugin = callPackage ../applications/misc/garmin-plugin {};
+
+  garmintools = callPackage ../development/libraries/garmintools {};
+
   gawk = callPackage ../tools/text/gawk { };
 
   gawkInteractive = appendToName "interactive"
@@ -1138,8 +1416,18 @@ let
 
   gftp = callPackage ../tools/networking/gftp { };
 
+  ggobi = callPackage ../tools/graphics/ggobi { };
+
   gifsicle = callPackage ../tools/graphics/gifsicle { };
 
+  gitlab = callPackage ../applications/version-management/gitlab {
+    ruby = ruby_2_1_3;
+  };
+
+  gitlab-shell = callPackage ../applications/version-management/gitlab-shell {
+    ruby = ruby_2_1_3;
+  };
+
   glusterfs = callPackage ../tools/filesystems/glusterfs { };
 
   glmark2 = callPackage ../tools/graphics/glmark2 { };
@@ -1148,38 +1436,44 @@ let
 
   gmvault = callPackage ../tools/networking/gmvault { };
 
+  gnaural = callPackage ../applications/audio/gnaural { };
+
   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
     inherit intltool perl gettext libusb pkgconfig bluez readline pcsclite
       libical gtk glib;
     inherit (xorg) libXpm;
   };
 
+  gnuapl = callPackage ../development/interpreters/gnu-apl { };
+
   gnufdisk = callPackage ../tools/system/fdisk {
     guile = guile_1_8;
   };
 
-  gnugrep = callPackage ../tools/text/gnugrep {
-    libiconv = libiconvOrNull;
-  };
+  gnugrep = callPackage ../tools/text/gnugrep { };
 
   gnulib = callPackage ../development/tools/gnulib { };
 
   gnupatch = callPackage ../tools/text/gnupatch { };
 
-  gnupg1orig = callPackage ../tools/security/gnupg1 { };
+  gnupg1orig = callPackage ../tools/security/gnupg/1.nix { };
 
-  gnupg1compat = callPackage ../tools/security/gnupg1compat { };
+  gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { };
 
   # use config.packageOverrides if you prefer original gnupg1
   gnupg1 = gnupg1compat;
 
-  gnupg = callPackage ../tools/security/gnupg { libusb = libusb1; };
+  gnupg20 = callPackage ../tools/security/gnupg/20.nix {
+    libgcrypt = libgcrypt_1_6;
+  };
 
-  gnupg2_1 = lowPrio (callPackage ../tools/security/gnupg/git.nix {
-    libassuan = libassuan2_1;
-  });
+  gnupg21 = callPackage ../tools/security/gnupg/21.nix {
+    libgcrypt = libgcrypt_1_6;
+  };
 
-  gnuplot = callPackage ../tools/graphics/gnuplot { };
+  gnupg = gnupg20;
+
+  gnuplot = callPackage ../tools/graphics/gnuplot { qt = qt5; };
 
   gnuplot_qt = gnuplot.override { withQt = true; };
 
@@ -1194,9 +1488,13 @@ let
 
   goaccess = callPackage ../tools/misc/goaccess { };
 
+  go-mtpfs = callPackage ../tools/filesystems/go-mtpfs { };
+
   googleAuthenticator = callPackage ../os-specific/linux/google-authenticator { };
 
-  gource = callPackage ../applications/version-management/gource {};
+  gource = callPackage ../applications/version-management/gource { };
+
+  gparted = callPackage ../tools/misc/gparted { };
 
   gpodder = callPackage ../applications/audio/gpodder { };
 
@@ -1206,14 +1504,29 @@ let
 
   grafx2 = callPackage ../applications/graphics/grafx2 {};
 
+  grails = callPackage ../development/web/grails { jdk = null; };
+
   graphviz = callPackage ../tools/graphics/graphviz { };
 
+  graphviz-nox = callPackage ../tools/graphics/graphviz {
+    xlibs = null;
+    libdevil = libdevil-nox;
+  };
+
   /* Readded by Michael Raskin. There are programs in the wild
    * that do want 2.0 but not 2.22. Please give a day's notice for
-   * objections before removal.
+   * objections before removal. The feature is integer coordinates
    */
   graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { };
 
+  /* Readded by Michael Raskin. There are programs in the wild
+   * 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 { };
+
+  grin = callPackage ../tools/text/grin { };
+
   grive = callPackage ../tools/filesystems/grive {
     json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable
   };
@@ -1224,13 +1537,29 @@ let
 
   grub = callPackage_i686 ../tools/misc/grub {
     buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true;
+    automake = automake112x; # fails with 13 and 14
+  };
+
+  trustedGrub = callPackage_i686 ../tools/misc/grub/trusted.nix {
+    buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true;
+    automake = automake112x; # fails with 13 and 14
   };
 
-  grub2 = callPackage ../tools/misc/grub/2.0x.nix { };
+  grub2 = grub2_full;
 
-  grub2_efi = grub2.override { efiSupport = true; };
+  grub2_full = callPackage ../tools/misc/grub/2.0x.nix { };
+
+  grub2_efi = grub2_full.override {
+    efiSupport = true;
+  };
 
-  grub2_zfs = grub2.override { zfsSupport = true; };
+  grub2_light = grub2_full.override {
+    zfsSupport = false;
+  };
+
+  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
+    inherit (gnome) libglademm;
+  };
 
   gssdp = callPackage ../development/libraries/gssdp {
     inherit (gnome) libsoup;
@@ -1239,6 +1568,7 @@ let
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest {};
+  gmock = callPackage ../development/libraries/gmock {};
 
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
 
@@ -1261,7 +1591,7 @@ let
   gupnptools = callPackage ../tools/networking/gupnp-tools {};
 
   gvpe = builderDefsPackage ../tools/networking/gvpe {
-    inherit openssl gmp nettools iproute;
+    inherit openssl gmp nettools iproute zlib;
   };
 
   gvolicon = callPackage ../tools/audio/gvolicon {};
@@ -1274,12 +1604,18 @@ let
 
   partimage = callPackage ../tools/backup/partimage { };
 
+  pgf_graphics = callPackage ../tools/graphics/pgf { };
+
   pigz = callPackage ../tools/compression/pigz { };
 
+  pxz = callPackage ../tools/compression/pxz { };
+
   haproxy = callPackage ../tools/networking/haproxy { };
 
   haveged = callPackage ../tools/security/haveged { };
 
+  hawkthorne = callPackage ../games/hawkthorne { love = love_0_9; };
+
   hardlink = callPackage ../tools/system/hardlink { };
 
   hashcat = callPackage ../tools/security/hashcat { };
@@ -1306,20 +1642,23 @@ let
     lua = lua5;
   };
 
+  honcho = callPackage ../tools/system/honcho { };
+
   host = callPackage ../tools/networking/host { };
 
   hping = callPackage ../tools/networking/hping { };
 
   httpie = callPackage ../tools/networking/httpie { };
 
+  httping = callPackage ../tools/networking/httping {};
+
   httpfs2 = callPackage ../tools/filesystems/httpfs { };
 
-  # FIXME: This Hydra snapshot is outdated and depends on the `nixPerl',
-  # which no longer exists.
-  #
-  # hydra = callPackage ../development/tools/misc/hydra {
-  #   nix = nixUnstable;
-  # };
+  httptunnel = callPackage ../tools/networking/httptunnel { };
+
+  i2p = callPackage ../tools/networking/i2p {};
+
+  i2pd = callPackage ../tools/networking/i2pd {};
 
   iasl = callPackage ../development/compilers/iasl { };
 
@@ -1333,6 +1672,19 @@ let
 
   iftop = callPackage ../tools/networking/iftop { };
 
+  ifuse = callPackage ../tools/filesystems/ifuse/default.nix { };
+
+  ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
+    inherit (pythonPackages) ipython;
+    inherit (haskellPackages) ihaskell ghc;
+  };
+
+  ihaskell-with-packages = callPackage ../development/tools/haskell/ihaskell/ng-wrapper.nix {
+    inherit (pythonPackages) ipython;
+    inherit (haskellngPackages) ihaskell ghcWithPackages;
+    packages = self: config.ihaskell.packages or [];
+  };
+
   imapproxy = callPackage ../tools/networking/imapproxy { };
 
   imapsync = callPackage ../tools/networking/imapsync {
@@ -1347,7 +1699,9 @@ let
 
   iodine = callPackage ../tools/networking/iodine { };
 
-  iperf = callPackage ../tools/networking/iperf { };
+  iperf2 = callPackage ../tools/networking/iperf/2.nix { };
+  iperf3 = callPackage ../tools/networking/iperf/3.nix { };
+  iperf = iperf3;
 
   ipmitool = callPackage ../tools/system/ipmitool {
     static = false;
@@ -1355,6 +1709,10 @@ let
 
   ipmiutil = callPackage ../tools/system/ipmiutil {};
 
+  ipv6calc = callPackage ../tools/networking/ipv6calc {};
+
+  ipxe = callPackage ../tools/misc/ipxe { };
+
   ised = callPackage ../tools/misc/ised {};
 
   isl = callPackage ../development/libraries/isl { };
@@ -1366,10 +1724,6 @@ let
 
   jdiskreport = callPackage ../tools/misc/jdiskreport { };
 
-  jfsrec = callPackage ../tools/filesystems/jfsrec {
-    boost = boost144;
-  };
-
   jfsutils = callPackage ../tools/filesystems/jfsutils { };
 
   jhead = callPackage ../tools/graphics/jhead { };
@@ -1380,62 +1734,93 @@ let
 
   jnettop = callPackage ../tools/networking/jnettop { };
 
+  john = callPackage ../tools/security/john { };
+
   jq = callPackage ../development/tools/jq {};
 
   jscoverage = callPackage ../development/tools/misc/jscoverage { };
 
   jwhois = callPackage ../tools/networking/jwhois { };
 
+  k2pdfopt = callPackage ../applications/misc/k2pdfopt { };
+
   kazam = callPackage ../applications/video/kazam { };
 
   kalibrate-rtl = callPackage ../tools/misc/kalibrate-rtl { };
 
   kexectools = callPackage ../os-specific/linux/kexectools { };
 
+  #keybase-node-client = callPackage ../applications/misc/keybase-node-client { };
+
   keychain = callPackage ../tools/misc/keychain { };
 
+  kibana = callPackage ../development/tools/misc/kibana { };
+
   kismet = callPackage ../applications/networking/sniffers/kismet { };
 
+  kpcli = callPackage ../tools/security/kpcli { };
+
+  kst = callPackage ../tools/graphics/kst { };
+
+  leocad = callPackage ../applications/graphics/leocad { };
+
   less = callPackage ../tools/misc/less { };
 
+  liquidsoap = callPackage ../tools/audio/liquidsoap/full.nix { };
+
   lockfileProgs = callPackage ../tools/misc/lockfile-progs { };
 
   logstash = callPackage ../tools/misc/logstash { };
 
+  logstash-contrib = callPackage ../tools/misc/logstash/contrib.nix { };
+
   logstash-forwarder = callPackage ../tools/misc/logstash-forwarder { };
 
+  lsdvd = callPackage ../tools/cd-dvd/lsdvd {};
+
   kippo = callPackage ../servers/kippo { };
 
   klavaro = callPackage ../games/klavaro {};
 
   kzipmix = callPackage_i686 ../tools/compression/kzipmix { };
 
+  makebootfat = callPackage ../tools/misc/makebootfat { };
+
   minidlna = callPackage ../tools/networking/minidlna {
-    ffmpeg = ffmpeg_0_10;
+    ffmpeg = ffmpeg_0;
   };
 
   mmv = callPackage ../tools/misc/mmv { };
 
+  morituri = callPackage ../applications/audio/morituri { };
+
   most = callPackage ../tools/misc/most { };
 
   multitail = callPackage ../tools/misc/multitail { };
 
   netperf = callPackage ../applications/networking/netperf { };
 
+  netsniff-ng = callPackage ../tools/networking/netsniff-ng { };
+
   ninka = callPackage ../development/tools/misc/ninka { };
 
-  nodejs = callPackage ../development/web/nodejs {};
+  nodejs = callPackage ../development/web/nodejs { libuv = libuvVersions.v1_2_0; };
+  nodejs-unstable = callPackage ../development/web/nodejs { libuv = libuvVersions.v1_2_0; unstableVersion = true; };
+  nodejs-0_10 = callPackage ../development/web/nodejs/v0_10.nix { };
 
-  nodePackages = recurseIntoAttrs (import ./node-packages.nix {
-    inherit pkgs stdenv nodejs fetchurl fetchgit;
-    neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux;
-    self = pkgs.nodePackages;
-  });
+  nodePackages = callPackage ./node-packages.nix { self = nodePackages; };
+
+  iojs = callPackage ../development/web/iojs { libuv = libuvVersions.v1_4_0; };
+  iojs-nightly = callPackage ../development/web/iojs { libuv = libuvVersions.v1_4_0; nightly = true; };
+
+  iojsPackages = callPackage ./node-packages.nix { self = iojsPackages; nodejs = iojs; };
 
   ldapvi = callPackage ../tools/misc/ldapvi { };
 
   ldns = callPackage ../development/libraries/ldns { };
 
+  leafpad = callPackage ../applications/editors/leafpad { };
+
   lftp = callPackage ../tools/networking/lftp { };
 
   libconfig = callPackage ../development/libraries/libconfig { };
@@ -1446,22 +1831,46 @@ let
 
   libevdev = callPackage ../development/libraries/libevdev { };
 
+  libevhtp = callPackage ../development/libraries/libevhtp { };
+
   liboauth = callPackage ../development/libraries/liboauth { };
 
+  libtermkey = callPackage ../development/libraries/libtermkey { };
+
+  libtidy = callPackage ../development/libraries/libtidy { };
+
   libtirpc = callPackage ../development/libraries/ti-rpc { };
 
   libshout = callPackage ../development/libraries/libshout { };
 
+  libqb = callPackage ../development/libraries/libqb { };
+
   libqmi = callPackage ../development/libraries/libqmi { };
 
   libmbim = callPackage ../development/libraries/libmbim { };
 
+  libmongo-client = callPackage ../development/libraries/libmongo-client { };
+
   libtorrent = callPackage ../tools/networking/p2p/libtorrent { };
 
+  libtorrent-git = callPackage ../tools/networking/p2p/libtorrent/git.nix { };
+
+  libiberty = callPackage ../development/libraries/libiberty { };
+
+  libibverbs = callPackage ../development/libraries/libibverbs { };
+
+  libxcomp = callPackage ../development/libraries/libxcomp { };
+
+  librdmacm = callPackage ../development/libraries/librdmacm { };
+
+  limesurvey = callPackage ../servers/limesurvey { };
+
   logcheck = callPackage ../tools/system/logcheck {
     inherit (perlPackages) mimeConstruct;
   };
 
+  logkeys = callPackage ../tools/security/logkeys { };
+
   logrotate = callPackage ../tools/system/logrotate { };
 
   logstalgia = callPackage ../tools/graphics/logstalgia {};
@@ -1484,10 +1893,18 @@ let
 
   xz = callPackage ../tools/compression/xz { };
 
+  lz4 = callPackage ../tools/compression/lz4 { };
+
   lzop = callPackage ../tools/compression/lzop { };
 
+  macchanger = callPackage ../os-specific/linux/macchanger { };
+
+  mailcheck = callPackage ../applications/networking/mailreaders/mailcheck { };
+
   maildrop = callPackage ../tools/networking/maildrop { };
 
+  mailsend = callPackage ../tools/networking/mailsend { };
+
   mailpile = callPackage ../applications/networking/mailreaders/mailpile { };
 
   mailutils = callPackage ../tools/networking/mailutils {
@@ -1502,11 +1919,17 @@ let
 
   man_db = callPackage ../tools/misc/man-db { };
 
+  mawk = callPackage ../tools/text/mawk { };
+
+  mbox = callPackage ../tools/security/mbox { };
+
   memtest86 = callPackage ../tools/misc/memtest86 { };
 
   memtest86plus = callPackage ../tools/misc/memtest86+ { };
 
-  meo = callPackage ../tools/security/meo { };
+  meo = callPackage ../tools/security/meo {
+    boost = boost155;
+  };
 
   mc = callPackage ../tools/misc/mc { };
 
@@ -1522,6 +1945,8 @@ let
     inherit (gnome) scrollkeeper;
   };
 
+  mdp = callPackage ../applications/misc/mdp { };
+
   mednafen = callPackage ../misc/emulators/mednafen { };
 
   mednafen-server = callPackage ../misc/emulators/mednafen/server.nix { };
@@ -1532,7 +1957,12 @@ let
 
   mfcuk = callPackage ../tools/security/mfcuk { };
 
-  minecraft = callPackage ../games/minecraft { };
+  mfoc = callPackage ../tools/security/mfoc { };
+
+  minecraft = callPackage ../games/minecraft {
+    pulseaudioSupport = config.pulseaudio or true;
+    pulseaudio = pulseaudio.override { ossWrapper = true; };
+  };
 
   minecraft-server = callPackage ../games/minecraft-server { };
 
@@ -1552,6 +1982,8 @@ let
 
   mkpasswd = callPackage ../tools/security/mkpasswd { };
 
+  mkrand = callPackage ../tools/security/mkrand { };
+
   mktemp = callPackage ../tools/security/mktemp { };
 
   mktorrent = callPackage ../tools/misc/mktorrent { };
@@ -1560,8 +1992,12 @@ let
 
   monit = callPackage ../tools/system/monit { };
 
+  moreutils = callPackage ../tools/misc/moreutils {
+    inherit (perlPackages) IPCRun TimeDate TimeDuration;
+    docbook-xsl = docbook_xsl;
+  };
+
   mosh = callPackage ../tools/networking/mosh {
-    boost = boostHeaders;
     inherit (perlPackages) IOTty;
   };
 
@@ -1569,6 +2005,8 @@ let
 
   mr = callPackage ../applications/version-management/mr { };
 
+  mrtg = callPackage ../tools/misc/mrtg { };
+
   mscgen = callPackage ../tools/graphics/mscgen { };
 
   msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) {
@@ -1611,6 +2049,8 @@ let
 
   ndjbdns = callPackage ../tools/networking/ndjbdns { };
 
+  nestopia = callPackage ../misc/emulators/nestopia { };
+
   netatalk = callPackage ../tools/filesystems/netatalk { };
 
   netcdf = callPackage ../development/libraries/netcdf { };
@@ -1647,6 +2087,8 @@ let
 
   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 { };
 
   networkmanager_openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { };
@@ -1657,22 +2099,38 @@ let
 
   newsbeuter-dev = callPackage ../applications/networking/feedreaders/newsbeuter/dev.nix { };
 
-  ngrep = callPackage ../tools/networking/ngrep { };
+  ngrep = callPackage ../tools/networking/ngrep {
+    inherit gnumake3;
+  };
 
   ngrok = callPackage ../tools/misc/ngrok { };
 
+  noip = callPackage ../tools/networking/noip { };
+
   mpack = callPackage ../tools/networking/mpack { };
 
   pa_applet = callPackage ../tools/audio/pa-applet { };
 
+  pasystray = callPackage ../tools/audio/pasystray {
+    inherit (gnome3) gnome_icon_theme;
+  };
+
   pnmixer = callPackage ../tools/audio/pnmixer { };
 
+  pwsafe = callPackage ../applications/misc/pwsafe {
+    inherit (xlibs) libXt libXtst libXi xextproto;
+    wxGTK = wxGTK30;
+  };
+
   nifskope = callPackage ../tools/graphics/nifskope { };
 
-  nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {};
+  nilfs-utils = callPackage ../tools/filesystems/nilfs-utils {};
+  nilfs_utils = nilfs-utils;
 
   nitrogen = callPackage ../tools/X11/nitrogen {};
 
+  nkf = callPackage ../tools/text/nkf {};
+
   nlopt = callPackage ../development/libraries/nlopt {};
 
   npapi_sdk = callPackage ../development/libraries/npapi-sdk {};
@@ -1688,9 +2146,10 @@ let
 
   notbit = callPackage ../applications/networking/notbit { };
 
+  notify-osd = callPackage ../applications/misc/notify-osd { };
+
   nox = callPackage ../tools/package-management/nox {
     pythonPackages = python3Packages;
-    nix = nixUnstable;
   };
 
   nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {};
@@ -1704,7 +2163,9 @@ let
 
   ntopng = callPackage ../tools/networking/ntopng { };
 
-  ntp = callPackage ../tools/networking/ntp { };
+  ntp = callPackage ../tools/networking/ntp {
+    libcap = if stdenv.isLinux then libcap else null;
+  };
 
   numdiff = callPackage ../tools/text/numdiff { };
 
@@ -1714,6 +2175,8 @@ let
 
   nylon = callPackage ../tools/networking/nylon { };
 
+  nxproxy = callPackage ../tools/admin/nxproxy { };
+
   nzbget = callPackage ../tools/networking/nzbget { };
 
   oathToolkit = callPackage ../tools/security/oath-toolkit { };
@@ -1722,18 +2185,30 @@ let
 
   obexd = callPackage ../tools/bluetooth/obexd { };
 
+  openfortivpn = callPackage ../tools/networking/openfortivpn { };
+
   obexfs = callPackage ../tools/bluetooth/obexfs { };
 
   obexftp = callPackage ../tools/bluetooth/obexftp { };
 
+  objconv = callPackage ../development/tools/misc/objconv {};
+
   obnam = callPackage ../tools/backup/obnam { };
 
   odt2txt = callPackage ../tools/text/odt2txt { };
 
+  odamex = callPackage ../games/odamex { };
+
   offlineimap = callPackage ../tools/networking/offlineimap {
     inherit (pythonPackages) sqlite3;
   };
 
+  openarena = callPackage ../games/openarena { };
+
+  opencryptoki = callPackage ../tools/security/opencryptoki { };
+
+  onscripter-en = callPackage ../games/onscripter-en { };
+
   opendbx = callPackage ../development/libraries/opendbx { };
 
   opendkim = callPackage ../development/libraries/opendkim { };
@@ -1746,10 +2221,17 @@ let
 
   openjade = callPackage ../tools/text/sgml/openjade { };
 
+  openntpd = callPackage ../tools/networking/openntpd { };
+
+  openntpd_nixos = openntpd.override {
+    privsepUser = "ntp";
+    privsepPath = "/var/empty";
+  };
+
   openobex = callPackage ../tools/bluetooth/openobex { };
 
   openopc = callPackage ../tools/misc/openopc {
-    pythonFull = python27Full.override {
+    pythonFull = python27.buildEnv.override {
       extraLibs = [ python27Packages.pyro3 ];
     };
   };
@@ -1776,10 +2258,16 @@ let
 
   spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { };
 
+  opentracker = callPackage ../applications/networking/p2p/opentracker { };
+
   openvpn = callPackage ../tools/networking/openvpn { };
 
   openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { };
 
+  update-resolv-conf = callPackage ../tools/networking/openvpn/update-resolv-conf.nix { };
+
+  openvswitch = callPackage ../os-specific/linux/openvswitch { };
+
   optipng = callPackage ../tools/graphics/optipng {
     libpng = libpng12;
   };
@@ -1788,15 +2276,35 @@ let
 
   ossec = callPackage ../tools/security/ossec {};
 
+  ostree = callPackage ../tools/misc/ostree { };
+
   otpw = callPackage ../os-specific/linux/otpw { };
 
+  owncloud = callPackage ../servers/owncloud { };
+
+  owncloudclient = callPackage ../applications/networking/owncloud-client { };
+
+  p2pvc = callPackage ../applications/video/p2pvc {};
+
   p7zip = callPackage ../tools/archivers/p7zip { };
 
   pal = callPackage ../tools/misc/pal { };
 
+  pandoc = haskell-ng.lib.overrideCabal haskellngPackages.pandoc (drv: {
+    configureFlags = drv.configureFlags or [] ++ ["-fembed_data_files"];
+    buildTools = drv.buildTools or [] ++ [haskellngPackages.hsb2hs];
+    enableSharedExecutables = false;
+    enableSharedLibraries = false;
+    isLibrary = false;
+    doHaddock = false;
+    postFixup = "rm -rf $out/lib $out/nix-support $out/share";
+  });
+
   panomatic = callPackage ../tools/graphics/panomatic { };
 
-  par2cmdline = callPackage ../tools/networking/par2cmdline { };
+  par2cmdline = callPackage ../tools/networking/par2cmdline {
+    automake = automake112x; # fails with 14
+  };
 
   parallel = callPackage ../tools/misc/parallel { };
 
@@ -1809,7 +2317,6 @@ let
   pitivi = callPackage ../applications/video/pitivi {
     gst = gst_all_1;
     clutter-gtk = clutter_gtk;
-    inherit (gnome3) gnome_icon_theme gnome_icon_theme_symbolic;
   };
 
   p0f = callPackage ../tools/security/p0f { };
@@ -1844,8 +2351,12 @@ let
 
   pcsclite = callPackage ../tools/security/pcsclite { };
 
+  pcsctools = callPackage ../tools/security/pcsctools { };
+
   pdf2djvu = callPackage ../tools/typesetting/pdf2djvu { };
 
+  pdf2svg = callPackage ../tools/graphics/pdf2svg { };
+
   pdfjam = callPackage ../tools/typesetting/pdfjam { };
 
   jbig2enc = callPackage ../tools/graphics/jbig2enc { };
@@ -1854,6 +2365,10 @@ let
 
   briss = callPackage ../tools/graphics/briss { };
 
+  brickd = callPackage ../servers/brickd {
+    libusb = libusb1;
+  };
+
   bully = callPackage ../tools/networking/bully { };
 
   pdnsd = callPackage ../tools/networking/pdnsd { };
@@ -1871,7 +2386,10 @@ let
 
   philter = callPackage ../tools/networking/philter { };
 
-  pinentry = callPackage ../tools/security/pinentry { };
+  pinentry = callPackage ../tools/security/pinentry {
+    libcap = if stdenv.isDarwin then null else libcap;
+    qt4 = null;
+  };
 
   pius = callPackage ../tools/security/pius { };
 
@@ -1889,6 +2407,8 @@ let
 
   plowshare = callPackage ../tools/misc/plowshare { };
 
+  pngcheck = callPackage ../tools/graphics/pngcheck { };
+
   pngcrush = callPackage ../tools/graphics/pngcrush { };
 
   pngnq = callPackage ../tools/graphics/pngnq { };
@@ -1909,7 +2429,9 @@ let
 
   ponysay = callPackage ../tools/misc/ponysay { };
 
-  povray = callPackage ../tools/graphics/povray { };
+  povray = callPackage ../tools/graphics/povray {
+    automake = automake113x; # fails with 14
+  };
 
   ppl = callPackage ../development/libraries/ppl { };
 
@@ -1919,8 +2441,14 @@ let
 
   prey-bash-client = callPackage ../tools/security/prey { };
 
+  profile-cleaner = callPackage ../tools/misc/profile-cleaner { };
+
+  profile-sync-daemon = callPackage ../tools/misc/profile-sync-daemon { };
+
   projectm = callPackage ../applications/audio/projectm { };
 
+  proot = callPackage ../tools/system/proot { };
+
   proxychains = callPackage ../tools/networking/proxychains { };
 
   proxytunnel = callPackage ../tools/misc/proxytunnel { };
@@ -1929,6 +2457,8 @@ let
 
   pastebinit = callPackage ../tools/misc/pastebinit { };
 
+  polygraph = callPackage ../tools/networking/polygraph { };
+
   psmisc = callPackage ../os-specific/linux/psmisc { };
 
   pstoedit = callPackage ../tools/graphics/pstoedit { };
@@ -1955,12 +2485,32 @@ let
     inherit python libsexy pkgconfig libxml2 pygtk pango gtk glib;
   };
 
+  pytrainer = callPackage ../applications/misc/pytrainer { };
+
   openmpi = callPackage ../development/libraries/openmpi { };
 
+  qarte = callPackage ../applications/video/qarte {
+    sip = pythonPackages.sip_4_16;
+  };
+
+  ocz-ssd-guru = callPackage ../tools/misc/ocz-ssd-guru { };
+
+  qastools = callPackage ../tools/audio/qastools {
+    qt = qt4;
+  };
+
   qhull = callPackage ../development/libraries/qhull { };
 
   qjoypad = callPackage ../tools/misc/qjoypad { };
 
+  qpdf = callPackage ../development/libraries/qpdf { };
+
+  qprint = callPackage ../tools/text/qprint { };
+
+  qscintilla = callPackage ../development/libraries/qscintilla {
+    qt = qt4;
+  };
+
   qshowdiff = callPackage ../tools/text/qshowdiff { };
 
   quilt = callPackage ../development/tools/quilt { };
@@ -1969,8 +2519,12 @@ let
 
   ranger = callPackage ../applications/misc/ranger { };
 
+  rawdog = callPackage ../applications/networking/feedreaders/rawdog { };
+
   privateer = callPackage ../games/privateer { };
 
+  redmine = callPackage ../applications/version-management/redmine { };
+
   rtmpdump = callPackage ../tools/video/rtmpdump { };
 
   reaverwps = callPackage ../tools/networking/reaver-wps {};
@@ -1999,7 +2553,11 @@ let
 
   reptyr = callPackage ../os-specific/linux/reptyr {};
 
-  rdiff_backup = callPackage ../tools/backup/rdiff-backup { };
+  rescuetime = callPackage ../applications/misc/rescuetime { };
+
+  rdiff-backup = callPackage ../tools/backup/rdiff-backup { };
+
+  rdfind = callPackage ../tools/filesystems/rdfind { };
 
   rdmd = callPackage ../development/compilers/rdmd { };
 
@@ -2011,15 +2569,23 @@ let
 
   rkflashtool = callPackage ../tools/misc/rkflashtool { };
 
-  rmlint = callPackage ../tools/misc/rmlint {};
+  rmlint = callPackage ../tools/misc/rmlint {
+    inherit (pythonPackages) sphinx;
+  };
 
   rng_tools = callPackage ../tools/security/rng-tools { };
 
   rsnapshot = callPackage ../tools/backup/rsnapshot {
+    perl = perl516; # fails to create docs: POD document had syntax errors
     # For the `logger' command, we can use either `utillinux' or
     # GNU Inetutils.  The latter is more portable.
     logger = inetutils;
   };
+  rsnapshotGit = lowPrio (callPackage ../tools/backup/rsnapshot/git.nix {
+    # For the `logger' command, we can use either `utillinux' or
+    # GNU Inetutils.  The latter is more portable.
+    logger = inetutils;
+  });
 
   rlwrap = callPackage ../tools/misc/rlwrap { };
 
@@ -2031,10 +2597,14 @@ let
 
   rpm = callPackage ../tools/package-management/rpm { };
 
+  rpmextract = callPackage ../tools/archivers/rpmextract { };
+
   rrdtool = callPackage ../tools/misc/rrdtool { };
 
   rtorrent = callPackage ../tools/networking/p2p/rtorrent { };
 
+  rtorrent-git = callPackage ../tools/networking/p2p/rtorrent/git.nix { };
+
   rubber = callPackage ../tools/typesetting/rubber { };
 
   rxp = callPackage ../tools/text/xml/rxp { };
@@ -2043,26 +2613,40 @@ let
 
   s3backer = callPackage ../tools/filesystems/s3backer { };
 
-  s3cmd = callPackage ../tools/networking/s3cmd { };
+  s3fs = callPackage ../tools/filesystems/s3fs { };
 
-  s3cmd_15_pre_81e3842f7a = lowPrio (callPackage ../tools/networking/s3cmd/git.nix { });
+  s3cmd = callPackage ../tools/networking/s3cmd { };
 
   s3sync = callPackage ../tools/networking/s3sync {
-    ruby = ruby18;
+    ruby = ruby_1_8;
   };
 
+  s6Dns = callPackage ../tools/networking/s6-dns { };
+
+  s6LinuxUtils = callPackage ../os-specific/linux/s6-linux-utils { };
+
+  s6Networking = callPackage ../tools/networking/s6-networking { };
+
+  s6PortableUtils = callPackage ../tools/misc/s6-portable-utils { };
+
   sablotron = callPackage ../tools/text/xml/sablotron { };
 
   safecopy = callPackage ../tools/system/safecopy { };
 
+  safe-rm = callPackage ../tools/system/safe-rm { };
+
   salut_a_toi = callPackage ../applications/networking/instant-messengers/salut-a-toi {};
 
   samplicator = callPackage ../tools/networking/samplicator { };
 
   screen = callPackage ../tools/misc/screen { };
 
+  screen-message = callPackage ../tools/X11/screen-message { };
+
   scrot = callPackage ../tools/graphics/scrot { };
 
+  scrolls = callPackage ../games/scrolls { };
+
   scrypt = callPackage ../tools/security/scrypt { };
 
   sdcv = callPackage ../applications/misc/sdcv { };
@@ -2085,12 +2669,12 @@ let
 
   shotwell = callPackage ../applications/graphics/shotwell { };
 
-  shebangfix = callPackage ../tools/misc/shebangfix { };
-
   shellinabox = callPackage ../servers/shellinabox { };
 
   siege = callPackage ../tools/networking/siege {};
 
+  sigil = callPackage ../applications/editors/sigil { };
+
   silc_client = callPackage ../applications/networking/instant-messengers/silc-client { };
 
   silc_server = callPackage ../servers/silc-server { };
@@ -2117,13 +2701,10 @@ let
 
   snort = callPackage ../applications/networking/ids/snort { };
 
-  snx = callPackage_i686 ../tools/networking/snx {
-    inherit (pkgsi686Linux) pam gcc33;
-    inherit (pkgsi686Linux.xlibs) libX11;
-  };
-
   solr = callPackage ../servers/search/solr { };
 
+  solvespace = callPackage ../applications/graphics/solvespace { };
+
   sparsehash = callPackage ../development/libraries/sparsehash { };
 
   spiped = callPackage ../tools/networking/spiped { };
@@ -2132,13 +2713,17 @@ let
 
   sproxy-web = haskellPackages.callPackage ../tools/networking/sproxy-web { };
 
+  sqliteman = callPackage ../applications/misc/sqliteman { };
+
   stardict = callPackage ../applications/misc/stardict/stardict.nix {
     inherit (gnome) libgnomeui scrollkeeper;
   };
 
+  stdman = callPackage ../data/documentation/stdman { };
+
   storebrowse = callPackage ../tools/system/storebrowse { };
 
-  fusesmb = callPackage ../tools/filesystems/fusesmb { };
+  fusesmb = callPackage ../tools/filesystems/fusesmb { samba = samba3; };
 
   sl = callPackage ../tools/misc/sl { };
 
@@ -2146,10 +2731,7 @@ let
 
   socat2pre = lowPrio (callPackage ../tools/networking/socat/2.x.nix { });
 
-  sourceHighlight = callPackage ../tools/text/source-highlight {
-    # Boost 1.54 causes the "test_regexranges" test to fail
-    boost = boost149;
-  };
+  sourceHighlight = callPackage ../tools/text/source-highlight { };
 
   spaceFM = callPackage ../applications/misc/spacefm { };
 
@@ -2159,6 +2741,8 @@ let
 
   sshuttle = callPackage ../tools/security/sshuttle { };
 
+  sstp = callPackage ../tools/networking/sstp {};
+
   sudo = callPackage ../tools/security/sudo { };
 
   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) { };
@@ -2167,12 +2751,18 @@ let
 
   ssdeep = callPackage ../tools/security/ssdeep { };
 
+  sshpass = callPackage ../tools/networking/sshpass { };
+
   ssmtp = callPackage ../tools/networking/ssmtp {
     tlsSupport = true;
   };
 
   ssss = callPackage ../tools/security/ssss { };
 
+  stress = callPackage ../tools/system/stress { };
+
+  stress-ng = callPackage ../tools/system/stress-ng { };
+
   storeBackup = callPackage ../tools/backup/store-backup { };
 
   stow = callPackage ../tools/misc/stow { };
@@ -2181,6 +2771,8 @@ let
 
   stunnel = callPackage ../tools/networking/stunnel { };
 
+  strongswan = callPackage ../tools/networking/strongswan { };
+
   su = shadow.su;
 
   surfraw = callPackage ../tools/networking/surfraw { };
@@ -2191,6 +2783,10 @@ let
 
   svnfs = callPackage ../tools/filesystems/svnfs { };
 
+  svtplay-dl = callPackage ../tools/misc/svtplay-dl {
+    inherit (pythonPackages) nose mock;
+  };
+
   sysbench = callPackage ../development/tools/misc/sysbench {};
 
   system_config_printer = callPackage ../tools/misc/system-config-printer {
@@ -2203,6 +2799,10 @@ let
 
   privoxy = callPackage ../tools/networking/privoxy { };
 
+  swaks = callPackage ../tools/networking/swaks { };
+
+  t = callPackage ../tools/misc/t { };
+
   t1utils = callPackage ../tools/misc/t1utils { };
 
   tarsnap = callPackage ../tools/backup/tarsnap { };
@@ -2211,17 +2811,22 @@ let
 
   tboot = callPackage ../tools/security/tboot { };
 
+  tcl2048 = callPackage ../games/tcl2048 { };
+
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
   tcpflow = callPackage ../tools/networking/tcpflow { };
 
-  teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer { };
+  teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer/10.nix { };
 
-  # Work In Progress: it doesn't start unless running a daemon as root
   teamviewer8 = lowPrio (callPackage_i686 ../applications/networking/remote/teamviewer/8.nix { });
 
+  teamviewer9 = lowPrio (callPackage_i686 ../applications/networking/remote/teamviewer/9.nix { });
+
   telnet = callPackage ../tools/networking/telnet { };
 
+  tessel = callPackage ../applications/misc/tessel { };
+
   texmacs = callPackage ../applications/editors/texmacs {
     tex = texLive; /* tetex is also an option */
     extraFonts = true;
@@ -2232,21 +2837,39 @@ let
 
   texstudio = callPackage ../applications/editors/texstudio { };
 
-  tiled-qt = callPackage ../applications/editors/tiled-qt { qt = qt4; };
+  thc-hydra = callPackage ../tools/security/thc-hydra { };
+
+  tiled = callPackage ../applications/editors/tiled { qt = qt4; };
 
   tinc = callPackage ../tools/networking/tinc { };
 
+  tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
+
   tiny8086 = callPackage ../applications/virtualization/8086tiny { };
 
+  tlsdate = callPackage ../tools/networking/tlsdate { };
+
   tmpwatch = callPackage ../tools/misc/tmpwatch  { };
 
   tmux = callPackage ../tools/misc/tmux { };
 
+  tmuxinator = callPackage ../tools/misc/tmuxinator { };
+
+  tmin = callPackage ../tools/security/tmin { };
+
+  tmsu = callPackage ../tools/filesystems/tmsu { };
+
   tor = callPackage ../tools/security/tor { };
 
+  tor-arm = callPackage ../tools/security/tor/tor-arm.nix { };
+
   torbutton = callPackage ../tools/security/torbutton { };
 
-  torbrowser = callPackage ../tools/security/tor/torbrowser.nix { };
+  torbrowser = callPackage ../tools/security/tor/torbrowser.nix {
+    stdenv = overrideCC stdenv gcc49;
+  };
+
+  touchegg = callPackage ../tools/inputmethods/touchegg { };
 
   torsocks = callPackage ../tools/security/tor/torsocks.nix { };
 
@@ -2254,18 +2877,28 @@ let
 
   tpm-tools = callPackage ../tools/security/tpm-tools { };
 
+  traceroute = callPackage ../tools/networking/traceroute { };
+
+  trash-cli = callPackage ../tools/misc/trash-cli { };
+
   trickle = callPackage ../tools/networking/trickle {};
 
   trousers = callPackage ../tools/security/trousers { };
 
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
 
+  ttfautohint = callPackage ../tools/misc/ttfautohint { };
+
+  tty-clock = callPackage ../tools/misc/tty-clock { };
+
   ttysnoop = callPackage ../os-specific/linux/ttysnoop {};
 
   twitterBootstrap = callPackage ../development/web/twitter-bootstrap {};
 
   txt2man = callPackage ../tools/misc/txt2man { };
 
+  u9fs = callPackage ../servers/u9fs { };
+
   ucl = callPackage ../development/libraries/ucl { };
 
   ucspi-tcp = callPackage ../tools/networking/ucspi-tcp { };
@@ -2276,6 +2909,8 @@ let
 
   ufraw = callPackage ../applications/graphics/ufraw { };
 
+  umlet = callPackage ../tools/misc/umlet { };
+
   unetbootin = callPackage ../tools/cd-dvd/unetbootin { };
 
   unfs3 = callPackage ../servers/unfs3 { };
@@ -2288,6 +2923,10 @@ let
 
   usbmuxd = callPackage ../tools/misc/usbmuxd {};
 
+  uwsgi = callPackage ../servers/uwsgi {
+    plugins = [];
+  };
+
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
   volatility = callPackage ../tools/security/volatility { };
@@ -2342,12 +2981,18 @@ let
 
   welkin = callPackage ../tools/graphics/welkin {};
 
+  xl2tpd = callPackage ../tools/networking/xl2tpd { };
+
   testdisk = callPackage ../tools/misc/testdisk { };
 
-  htmlTidy = callPackage ../tools/text/html-tidy { };
+  html2text = callPackage ../tools/text/html2text { };
+
+  html-tidy = callPackage ../tools/text/html-tidy { };
 
   html-xml-utils = callPackage ../tools/text/xml/html-xml-utils { };
 
+  rcm = callPackage ../tools/misc/rcm {};
+
   tftp_hpa = callPackage ../tools/networking/tftp-hpa {};
 
   tigervnc = callPackage ../tools/admin/tigervnc {
@@ -2379,6 +3024,8 @@ let
 
   tm = callPackage ../tools/system/tm { };
 
+  tradcpp = callPackage ../development/tools/tradcpp { };
+
   trang = callPackage ../tools/text/xml/trang { };
 
   tre = callPackage ../development/libraries/tre { };
@@ -2395,10 +3042,14 @@ let
 
   ttmkfdir = callPackage ../tools/misc/ttmkfdir { };
 
+  udunits = callPackage ../development/libraries/udunits { };
+
   uim = callPackage ../tools/inputmethods/uim {
     inherit (pkgs.kde4) kdelibs;
   };
 
+  uhub = callPackage ../servers/uhub { };
+
   unclutter = callPackage ../tools/misc/unclutter { };
 
   unbound = callPackage ../tools/networking/unbound { };
@@ -2407,10 +3058,14 @@ let
 
   unrar = callPackage ../tools/archivers/unrar { };
 
+  xar = callPackage ../tools/compression/xar { };
+
   xarchive = callPackage ../tools/archivers/xarchive { };
 
   xarchiver = callPackage ../tools/archivers/xarchiver { };
 
+  xbrightness = callPackage ../tools/X11/xbrightness { };
+
   xcruiser = callPackage ../applications/misc/xcruiser { };
 
   unarj = callPackage ../tools/archivers/unarj { };
@@ -2423,9 +3078,9 @@ let
 
   uptimed = callPackage ../tools/system/uptimed { };
 
-  varnish = callPackage ../servers/varnish { };
+  urlwatch = callPackage ../tools/networking/urlwatch { };
 
-  varnish2 = callPackage ../servers/varnish/2.1.nix { };
+  varnish = callPackage ../servers/varnish { };
 
   venus = callPackage ../tools/misc/venus {
     python = python27;
@@ -2433,6 +3088,10 @@ let
 
   vlan = callPackage ../tools/networking/vlan { };
 
+  vmtouch = callPackage ../tools/misc/vmtouch { };
+
+  volumeicon = callPackage ../tools/audio/volumeicon { };
+
   wakelan = callPackage ../tools/networking/wakelan { };
 
   wavemon = callPackage ../tools/networking/wavemon { };
@@ -2462,12 +3121,23 @@ let
 
   wicd = callPackage ../tools/networking/wicd { };
 
-  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf { };
+  wipe = callPackage ../tools/security/wipe { };
+
+  wkhtmltopdf = callPackage ../tools/graphics/wkhtmltopdf {
+    overrideDerivation = lib.overrideDerivation;
+    inherit (xlibs) libX11 libXext libXrender;
+  };
+
+  wml = callPackage ../development/web/wml { };
+
+  wrk = callPackage ../tools/networking/wrk { };
 
   wv = callPackage ../tools/misc/wv { };
 
   wv2 = callPackage ../tools/misc/wv2 { };
 
+  wyrd = callPackage ../tools/misc/wyrd { };
+
   x86info = callPackage ../os-specific/linux/x86info { };
 
   x11_ssh_askpass = callPackage ../tools/networking/x11-ssh-askpass { };
@@ -2513,15 +3183,19 @@ let
 
   xdummy = callPackage ../tools/misc/xdummy { };
 
+  xflux = callPackage ../tools/misc/xflux { };
+
   xfsprogs = callPackage ../tools/filesystems/xfsprogs { };
 
-  xmlroff = callPackage ../tools/typesetting/xmlroff {
-    inherit (gnome) libgnomeprint;
-  };
+  xml2 = callPackage ../tools/text/xml/xml2 { };
+
+  xmlroff = callPackage ../tools/typesetting/xmlroff { };
 
   xmlstarlet = callPackage ../tools/text/xml/xmlstarlet { };
 
-  xmlto = callPackage ../tools/typesetting/xmlto { };
+  xmlto = callPackage ../tools/typesetting/xmlto {
+    w3m = w3m.override { graphicsSupport = false; };
+  };
 
   xmltv = callPackage ../tools/misc/xmltv { };
 
@@ -2541,7 +3215,11 @@ let
 
   xvfb_run = callPackage ../tools/misc/xvfb-run { inherit (texFunctions) fontsConf; };
 
-  youtubeDL = callPackage ../tools/misc/youtube-dl { };
+  xvkbd = callPackage ../tools/X11/xvkbd {
+    inherit (xlibs) libXt libXaw libXtst xextproto libXi libXpm gccmakedep;
+  };
+
+  youtube-dl = callPackage ../tools/misc/youtube-dl { };
 
   zbar = callPackage ../tools/graphics/zbar {
     pygtk = lib.overrideDerivation pygtk (x: {
@@ -2551,9 +3229,11 @@ let
 
   zdelta = callPackage ../tools/compression/zdelta { };
 
-  zfstools = callPackage ../tools/filesystems/zfstools {
-    zfs = linuxPackages.zfs;
-  };
+  zerotierone = callPackage ../tools/networking/zerotierone { };
+
+  zerofree = callPackage ../tools/filesystems/zerofree { };
+
+  zfstools = callPackage ../tools/filesystems/zfstools { };
 
   zile = callPackage ../applications/editors/zile { };
 
@@ -2564,6 +3244,8 @@ let
 
   zsync = callPackage ../tools/compression/zsync { };
 
+  zxing = callPackage ../tools/graphics/zxing {};
+
 
   ### SHELLS
 
@@ -2583,10 +3265,14 @@ let
     python = python27Full;
   };
 
+  mksh = callPackage ../shells/mksh { };
+
   tcsh = callPackage ../shells/tcsh { };
 
   rush = callPackage ../shells/rush { };
 
+  xonsh = callPackage ../shells/xonsh { };
+
   zsh = callPackage ../shells/zsh { };
 
 
@@ -2614,41 +3300,52 @@ let
 
   bigloo = callPackage ../development/compilers/bigloo { };
 
-  chicken = callPackage ../development/compilers/chicken { };
+  fetchegg = callPackage ../build-support/fetchegg { };
 
-  ccl = builderDefsPackage ../development/compilers/ccl {};
+  eggDerivation = callPackage ../development/compilers/chicken/eggDerivation.nix { };
 
-  clang = wrapClang llvmPackages.clang;
+  chicken = callPackage ../development/compilers/chicken {
+    bootstrap-chicken = chicken.override { bootstrap-chicken = null; };
+  };
 
-  clang_34 = wrapClang llvmPackages_34.clang;
-  clang_33 = wrapClang (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix);
+  egg2nix = callPackage ../development/tools/egg2nix {
+    chickenEggs = callPackage ../development/tools/egg2nix/chicken-eggs.nix { };
+  };
+
+  ccl = callPackage ../development/compilers/ccl { };
+
+  clang = llvmPackages.clang;
+
+  clang_36 = llvmPackages.clang;
+  clang_35 = wrapCC llvmPackages_35.clang;
+  clang_34 = wrapCC llvmPackages_34.clang;
+  clang_33 = wrapCC (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix);
 
-  clangAnalyzer = callPackage ../development/tools/analysis/clang-analyzer {
+  clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer {
     clang = clang_34;
     llvmPackages = llvmPackages_34;
   };
 
   clangUnwrapped = llvm: pkg: callPackage pkg {
-    stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
-    inherit llvm;
+    inherit stdenv llvm;
   };
 
   clangSelf = clangWrapSelf llvmPackagesSelf.clang;
 
-  clangWrapSelf = build: (import ../build-support/clang-wrapper) {
-    clang = build;
+  clangWrapSelf = build: (import ../build-support/cc-wrapper) {
+    cc = build;
     stdenv = clangStdenv;
     libc = glibc;
     binutils = binutils;
-    shell = bash;
-    inherit libcxx coreutils zlib;
+    inherit coreutils zlib;
+    extraPackages = [ libcxx ];
     nativeTools = false;
     nativeLibc = false;
   };
 
   #Use this instead of stdenv to build with clang
-  clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang);
-  libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmPackages.clang);
+  clangStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.stdenv;
+  libcxxStdenv = stdenvAdapters.overrideCC stdenv (clangWrapSelf llvmPackages.clang-unwrapped);
 
   clean = callPackage ../development/compilers/clean { };
 
@@ -2658,20 +3355,11 @@ let
 
   compcert = callPackage ../development/compilers/compcert {};
 
-  cryptol1 = lowPrio (callPackage ../development/compilers/cryptol/1.8.x.nix {});
-  cryptol2 = with haskellPackages_ghc763; callPackage ../development/compilers/cryptol/2.0.x.nix {
-    Cabal = Cabal_1_18_1_3;
-    cabalInstall = cabalInstall_1_18_0_3;
-    process = process_1_2_0_0;
-  };
+  cryptol = haskellngPackages.cryptol;
 
   cython = pythonPackages.cython;
   cython3 = python3Packages.cython;
 
-  dylan = callPackage ../development/compilers/gwydion-dylan {
-    dylan = callPackage ../development/compilers/gwydion-dylan/binary.nix {  };
-  };
-
   ecl = callPackage ../development/compilers/ecl { };
 
   eql = callPackage ../development/compilers/eql {};
@@ -2679,17 +3367,15 @@ let
   adobe_flex_sdk = callPackage ../development/compilers/adobe-flex-sdk { };
 
   fpc = callPackage ../development/compilers/fpc { };
-  fpc_2_4_0 = callPackage ../development/compilers/fpc/2.4.0.nix { };
 
   gambit = callPackage ../development/compilers/gambit { };
 
-  gcc = gcc48;
+  gcc       = gcc48;
+  gcc_multi = gcc48_multi;
 
-  gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 {
-    inherit fetchurl stdenv noSysDirs;
-  });
+  gccApple = throw "gccApple is no longer supported";
 
-  gcc34 = wrapGCC (import ../development/compilers/gcc/3.4 {
+  gcc34 = wrapCC (import ../development/compilers/gcc/3.4 {
     inherit fetchurl stdenv noSysDirs;
   });
 
@@ -2751,15 +3437,15 @@ let
     cross = assert crossSystem != null; crossSystem;
   };
 
-  gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.4) {
+  gcc44 = lowPrio (wrapCC (makeOverridable (import ../development/compilers/gcc/4.4) {
     inherit fetchurl stdenv gmp mpfr /* ppl cloogppl */
       gettext which noSysDirs;
     texinfo = texinfo4;
     profiledCompiler = true;
   }));
 
-  gcc45 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.5 {
-    inherit fetchurl stdenv gmp mpfr mpc libelf zlib perl
+  gcc45 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.5 {
+    inherit fetchurl stdenv gmp mpfr libmpc libelf zlib perl
       gettext which noSysDirs;
     texinfo = texinfo4;
 
@@ -2781,7 +3467,7 @@ let
       else null;
   }));
 
-  gcc46 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 {
+  gcc46 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.6 {
     inherit noSysDirs;
 
     ppl = null;
@@ -2803,7 +3489,7 @@ let
     texinfo = texinfo413;
   }));
 
-  gcc48 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 {
+  gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
     inherit noSysDirs;
 
     # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
@@ -2822,14 +3508,14 @@ let
 
   gcc48_multi =
     if system == "x86_64-linux" then lowPrio (
-      wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc48.gcc.override {
-        stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc);
+      wrapCCWith (import ../build-support/cc-wrapper) glibc_multi (gcc48.cc.override {
+        stdenv = overrideCC stdenv (wrapCCWith (import ../build-support/cc-wrapper) glibc_multi gcc.cc);
         profiledCompiler = false;
         enableMultilib = true;
       }))
     else throw "Multilib gcc not supported on ‘${system}’";
 
-  gcc48_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 {
+  gcc48_debug = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
     stripped = false;
 
     inherit noSysDirs;
@@ -2838,7 +3524,7 @@ let
     binutilsCross = null;
   }));
 
-  gcc49 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.9 {
+  gcc49 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.9 {
     inherit noSysDirs;
 
     # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
@@ -2855,19 +3541,9 @@ let
       else null;
   }));
 
-  gccApple =
-    assert stdenv.isDarwin;
-    wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2-apple64) {
-      inherit fetchurl noSysDirs;
-      profiledCompiler = true;
-      # Since it fails to build with GCC 4.6, build it with the "native"
-      # Apple-GCC.
-      stdenv = allStdenvs.stdenvNative;
-    });
-
   gfortran = gfortran48;
 
-  gfortran48 = wrapGCC (gcc48.gcc.override {
+  gfortran48 = wrapCC (gcc48.cc.override {
     name = "gfortran";
     langFortran = true;
     langCC = false;
@@ -2877,7 +3553,7 @@ let
 
   gcj = gcj48;
 
-  gcj48 = wrapGCC (gcc48.gcc.override {
+  gcj48 = wrapCC (gcc48.cc.override {
     name = "gcj";
     langJava = true;
     langFortran = false;
@@ -2891,9 +3567,9 @@ let
       libXrandr xproto renderproto xextproto inputproto randrproto;
   });
 
-  gnat = gnat45;
+  gnat = gnat45; # failed to make 4.6 or 4.8 build
 
-  gnat45 = wrapGCC (gcc45.gcc.override {
+  gnat45 = wrapCC (gcc45.cc.override {
     name = "gnat";
     langCC = false;
     langC = true;
@@ -2906,33 +3582,32 @@ let
     ppl = null;
   });
 
-  gnat46 = wrapGCC (gcc46.gcc.override {
-    name = "gnat";
-    langCC = false;
-    langC = true;
-    langAda = true;
-    profiledCompiler = false;
-    gnatboot = gnat45;
-    # We can't use the ppl stuff, because we would have
-    # libstdc++ problems.
-    ppl = null;
-    cloog = null;
-  });
-
-  gnatboot = wrapGCC (import ../development/compilers/gnatboot {
+  gnatboot = wrapGCC-old (import ../development/compilers/gnatboot {
     inherit fetchurl stdenv;
   });
 
+  gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk {
+    emacsSupport = config.emacsSupport or false;
+  };
+
   gccgo = gccgo48;
 
-  gccgo48 = wrapGCC (gcc48.gcc.override {
+  gccgo48 = wrapCC (gcc48.cc.override {
     name = "gccgo";
     langCC = true; #required for go.
     langC = true;
     langGo = true;
   });
 
-  ghdl = wrapGCC (import ../development/compilers/gcc/4.3 {
+  gccgo49 = wrapCC (gcc49.cc.override {
+    name = "gccgo49";
+    langCC = true; #required for go.
+    langC = true;
+    langGo = true;
+    profiledCompiler = false;
+  });
+
+  ghdl = wrapCC (import ../development/compilers/gcc/4.3 {
     inherit stdenv fetchurl gmp mpfr noSysDirs gnat;
     texinfo = texinfo4;
     name = "ghdl";
@@ -2964,6 +3639,12 @@ let
       regexCompat HsSyck random;
   };
 
+  uhc = callPackage ../development/compilers/uhc/default.nix ({
+    stdenv = clangStdenv;
+    ghcWithPackages = haskellngPackages.ghcWithPackages;
+    inherit (haskellngPackages) shuffle hashable mtl network uhc-util uulib;
+  });
+
   gcc-arm-embedded-4_7 = callPackage_i686 ../development/compilers/gcc-arm-embedded {
     version = "4.7-2013q3-20130916";
     releaseType = "update";
@@ -2974,13 +3655,20 @@ let
     releaseType = "update";
     sha256 = "ce92859550819d4a3d1a6e2672ea64882b30afa2c08cf67fa8e1d93788c2c577";
   };
-  gcc-arm-embedded = gcc-arm-embedded-4_8;
+  gcc-arm-embedded-4_9 = callPackage_i686 ../development/compilers/gcc-arm-embedded {
+    version = "4.9-2014q4-20141203";
+    releaseType = "major";
+    sha256 = "a440bcf68e36b291697567816e756877cd3b5782298e3e3c44eb0812a471980f";
+  };
+  gcc-arm-embedded = gcc-arm-embedded-4_9;
+
+  gforth = callPackage ../development/compilers/gforth {};
 
   # Haskell and GHC
 
   # Import Haskell infrastructure.
 
-  haskell = let pkgs_       = pkgs // { gmp = gmp.override { withStatic = true; }; };
+  haskell = let pkgs_       = pkgs // { /* add necessary overrides here */ };
                 callPackage = newScope pkgs_;
                 newScope    = extra: lib.callPackageWith (pkgs_ // pkgs_.xorg // extra);
             in callPackage ./haskell-defaults.nix { pkgs = pkgs_; inherit callPackage newScope; };
@@ -3001,30 +3689,32 @@ let
     builtins.substring 0 (builtins.stringLength "packages_") name == "packages_"
   ) haskell));
 
-  haskellPackages = haskellPackages_ghc783;
-  haskellPlatform = haskellPlatformPackages."2013_2_0_0";
-
   haskellPackages_ghc6104 = haskell.packages_ghc6104;
   haskellPackages_ghc6123 = haskell.packages_ghc6123;
   haskellPackages_ghc704  = haskell.packages_ghc704;
   haskellPackages_ghc722  = haskell.packages_ghc722;
   haskellPackages_ghc742  = haskell.packages_ghc742;
   haskellPackages_ghc763  = haskell.packages_ghc763;
-  haskellPackages_ghc783_no_profiling = recurseIntoAttrs haskell.packages_ghc783.noProfiling;
-  haskellPackages_ghc783_profiling    = recurseIntoAttrs haskell.packages_ghc783.profiling;
-  haskellPackages_ghc783              = recurseIntoAttrs haskell.packages_ghc783.highPrio;
-  haskellPackages_ghcHEAD = haskell.packages_ghcHEAD;
+  haskellPackages_ghc784_no_profiling = recurseIntoAttrs haskell.packages_ghc784.noProfiling;
+  haskellPackages_ghc784_profiling    = recurseIntoAttrs haskell.packages_ghc784.profiling;
+  haskellPackages_ghc784              = recurseIntoAttrs haskell.packages_ghc784.highPrio;
+  haskellPackages = haskellPackages_ghc784;
 
-  haskellPlatformPackages = recurseIntoAttrs (import ../development/libraries/haskell/haskell-platform { inherit pkgs; });
+  haskell-ng = callPackage ./haskell-ng.nix { };
+  haskellngPackages = haskell-ng.packages.ghc784.override {
+    overrides = config.haskellPackageOverrides or (self: super: {});
+    provideOldAttributeNames = config.provideOldHaskellAttributeNames or false;
+  };
 
   haxe = callPackage ../development/compilers/haxe { };
+  hxcpp = callPackage ../development/compilers/haxe/hxcpp.nix { };
 
   hhvm = callPackage ../development/compilers/hhvm { };
   hiphopvm = hhvm; /* Compatibility alias */
 
-  falcon = builderDefsPackage (import ../development/interpreters/falcon) {
-    inherit cmake;
-  };
+  hop = callPackage ../development/compilers/hop { };
+
+  falcon = callPackage ../development/interpreters/falcon { };
 
   fsharp = callPackage ../development/compilers/fsharp {};
 
@@ -3040,7 +3730,11 @@ let
 
   go_1_3 = callPackage ../development/compilers/go/1.3.nix { };
 
-  go = go_1_3;
+  go_1_4 = callPackage ../development/compilers/go/1.4.nix { inherit (darwin) Security; };
+
+  go = go_1_4;
+
+  go-repo-root = callPackage ../development/tools/misc/go-repo-root { };
 
   gox = callPackage ../development/compilers/go/gox.nix { };
 
@@ -3050,7 +3744,7 @@ let
 
   icedtea7_jdk = callPackage ../development/compilers/icedtea rec {
     jdk = openjdk;
-    jdkPath = "${openjdk}/lib/openjdk";
+    giflib = giflib_5_0;
   } // { outputs = [ "out" ]; };
 
   icedtea7_jre = (lib.setName "icedtea7-${lib.getVersion pkgs.icedtea7_jdk.jre}" (lib.addMetaAttrs
@@ -3058,9 +3752,14 @@ let
     pkgs.icedtea7_jdk.jre)) // { outputs = [ "jre" ]; };
 
   icedtea7_web = callPackage ../development/compilers/icedtea-web {
-    jdk = "${icedtea7_jdk}/lib/icedtea";
+    jdk = icedtea7_jdk;
+    xulrunner = firefox;
   };
 
+  icedtea_jdk = icedtea7_jdk;
+  icedtea_jre = icedtea7_jre;
+  icedtea_web = icedtea7_web;
+
   ikarus = callPackage ../development/compilers/ikarus { };
 
   hugs = callPackage ../development/compilers/hugs { };
@@ -3077,28 +3776,39 @@ let
         jdk = openjdkBootstrap;
       }) // { outputs = [ "out" ]; };
 
+  openjdk8 = callPackage ../development/compilers/openjdk/openjdk8.nix { } // { outputs = [ "out" ]; };
+
   # FIXME: Need a way to set per-output meta attributes.
   openjre = (lib.setName "openjre-${lib.getVersion pkgs.openjdk.jre}" (lib.addMetaAttrs
     { description = "The open-source Java Runtime Environment"; }
     pkgs.openjdk.jre)) // { outputs = [ "jre" ]; };
 
-  jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
-    then pkgs.openjdk
-    else pkgs.oraclejdk;
-  jre = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
-    then pkgs.openjre
-    else pkgs.oraclejre;
+  jdk = if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
+    then pkgs.icedtea_jdk
+    else if stdenv.isDarwin
+      then pkgs.openjdk # TODO: Use icedtea for darwin
+      else pkgs.oraclejdk;
+
+  jre = if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
+    then pkgs.icedtea_jre
+    else if stdenv.isDarwin
+      then pkgs.openjre # TODO: Use icedtea for darwin
+      else pkgs.oraclejre;
 
   oraclejdk = pkgs.jdkdistro true false;
 
   oraclejdk7 = pkgs.oraclejdk7distro true false;
 
+  oraclejdk7psu = pkgs.oraclejdk7psu_distro true false;
+
   oraclejdk8 = pkgs.oraclejdk8distro true false;
 
   oraclejre = lowPrio (pkgs.jdkdistro false false);
 
   oraclejre7 = lowPrio (pkgs.oraclejdk7distro false false);
 
+  oraclejre7psu = lowPrio (pkgs.oraclejdk7psu_distro false false);
+
   oraclejre8 = lowPrio (pkgs.oraclejdk8distro false false);
 
   jrePlugin = lowPrio (pkgs.jdkdistro false true);
@@ -3117,6 +3827,11 @@ let
     (if pluginSupport then appendToName "with-plugin" else x: x)
       (callPackage ../development/compilers/oraclejdk/jdk7-linux.nix { inherit installjdk; });
 
+  oraclejdk7psu_distro = installjdk: pluginSupport:
+    assert supportsJDK;
+    (if pluginSupport then appendToName "with-plugin" else x: x)
+      (callPackage ../development/compilers/oraclejdk/jdk7psu-linux.nix { inherit installjdk; });
+
   oraclejdk8distro = installjdk: pluginSupport:
     assert supportsJDK;
     (if pluginSupport then appendToName "with-plugin" else x: x)
@@ -3124,29 +3839,25 @@ let
 
   jikes = callPackage ../development/compilers/jikes { };
 
-  juliaGit = callPackage ../development/compilers/julia/git-20131013.nix {
-    liblapack = liblapack.override {shared = true;};
-    llvm = llvm_33;
-  };
-  julia021 = callPackage ../development/compilers/julia/0.2.1.nix {
+  julia02 = callPackage ../development/compilers/julia/0.2.nix {
     liblapack = liblapack.override {shared = true;};
     llvm = llvm_33;
+    openblas = openblas_0_2_2;
+    suitesparse = suitesparse_4_2;
   };
-  julia030 = let
+
+  julia03 = let
     liblapack = liblapack_3_5_0.override {shared = true;};
-  in callPackage ../development/compilers/julia/0.3.0.nix {
+  in callPackage ../development/compilers/julia/0.3.nix {
     inherit liblapack;
-    suitesparse = suitesparse.override {
+    suitesparse = suitesparse_4_2.override {
       inherit liblapack;
     };
-    openblas = openblas_0_2_10;
-    llvm = llvm_34;
+    llvm = llvm_33;
   };
-  julia = julia021;
+  julia = julia03;
 
-  lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) {
-    inherit makeWrapper gtk glib pango atk gdk_pixbuf;
-    inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto;
+  lazarus = callPackage ../development/compilers/fpc/lazarus.nix {
     fpc = fpc;
   };
 
@@ -3154,18 +3865,14 @@ let
 
   llvm = llvmPackages.llvm;
 
+  llvm_36 = llvmPackages_36.llvm;
+  llvm_35 = llvmPackages_35.llvm;
   llvm_34 = llvmPackages_34.llvm;
   llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix;
 
-  llvm_v = path: callPackage path {
-    stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
-  };
+  llvm_v = path: callPackage path { };
 
-  llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // {
-    # until someone solves build problems with _34
-    llvm = llvm_33;
-    clang = clang_33;
-  };
+  llvmPackages = llvmPackages_36;
 
   llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 {
     inherit stdenv newScope fetchurl;
@@ -3173,6 +3880,15 @@ let
   });
   llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; };
 
+  llvmPackages_35 = import ../development/compilers/llvm/3.5 {
+    inherit pkgs stdenv newScope fetchurl isl;
+  };
+
+  llvmPackages_36 = import ../development/compilers/llvm/3.6 {
+    inherit pkgs stdenv newScope fetchurl isl wrapCC;
+    inherit (stdenvAdapters) overrideCC;
+  };
+
   manticore = callPackage ../development/compilers/manticore { };
 
   mentorToolchains = recurseIntoAttrs (
@@ -3181,8 +3897,12 @@ let
 
   mercury = callPackage ../development/compilers/mercury { };
 
+  microscheme = callPackage ../development/compilers/microscheme { };
+
   mitscheme = callPackage ../development/compilers/mit-scheme { };
 
+  mkcl = callPackage ../development/compilers/mkcl {};
+
   mlton = callPackage ../development/compilers/mlton { };
 
   mono = callPackage ../development/compilers/mono {
@@ -3191,7 +3911,10 @@ let
 
   monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
 
-  mozart = callPackage ../development/compilers/mozart { };
+  mozart-binary = callPackage ../development/compilers/mozart/binary.nix { };
+  mozart = mozart-binary;
+
+  nim = callPackage ../development/compilers/nim { };
 
   neko = callPackage ../development/compilers/neko { };
 
@@ -3213,22 +3936,49 @@ let
 
   ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { };
 
+  ocaml_4_02_1 = callPackage ../development/compilers/ocaml/4.02.1.nix { };
+
   orc = callPackage ../development/compilers/orc { };
 
   metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { };
 
   ber_metaocaml_003 = callPackage ../development/compilers/ocaml/ber-metaocaml-003.nix { };
 
-  mkOcamlPackages = ocaml: self: let callPackage = newScope self; in rec {
+  mkOcamlPackages = ocaml: self:
+    let
+      callPackage = newScope self;
+      ocaml_version = (builtins.parseDrvName ocaml.name).version;
+    in rec {
     inherit ocaml;
 
+    acgtk = callPackage ../applications/science/logic/acgtk { };
+
+    ansiterminal = callPackage ../development/ocaml-modules/ansiterminal { };
+
+    asn1-combinators = callPackage ../development/ocaml-modules/asn1-combinators { };
+
+    base64 = callPackage ../development/ocaml-modules/base64 { };
+
+    bolt = callPackage ../development/ocaml-modules/bolt { };
+
     camlidl = callPackage ../development/tools/ocaml/camlidl { };
 
-    camlp5_5_strict = callPackage ../development/tools/ocaml/camlp5/5.15.nix { };
+    camlp4 =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/tools/ocaml/camlp4 { }
+      else null;
 
-    camlp5_5_transitional = callPackage ../development/tools/ocaml/camlp5/5.15.nix {
-      transitional = true;
-    };
+    camlp5_old_strict =
+      if lib.versionOlder "4.00" ocaml_version
+      then camlp5_6_strict
+      else callPackage ../development/tools/ocaml/camlp5/5.15.nix { };
+
+    camlp5_old_transitional =
+      if lib.versionOlder "4.00" ocaml_version
+      then camlp5_6_transitional
+      else callPackage ../development/tools/ocaml/camlp5/5.15.nix {
+        transitional = true;
+      };
 
     camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { };
 
@@ -3240,32 +3990,84 @@ let
 
     camlp5_transitional = camlp5_6_transitional;
 
+    camlpdf = callPackage ../development/ocaml-modules/camlpdf { };
+
+    calendar = callPackage ../development/ocaml-modules/calendar { };
+
     camlzip = callPackage ../development/ocaml-modules/camlzip { };
 
     camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
     camomile = callPackage ../development/ocaml-modules/camomile { };
 
-    camlimages = callPackage ../development/ocaml-modules/camlimages {
+    camlimages_4_0 = callPackage ../development/ocaml-modules/camlimages/4.0.nix {
       libpng = libpng12;
       giflib = giflib_4_1;
     };
+    camlimages_4_1 = callPackage ../development/ocaml-modules/camlimages/4.1.nix {
+      giflib = giflib_4_1;
+    };
+    camlimages = camlimages_4_1;
 
     biniou = callPackage ../development/ocaml-modules/biniou { };
 
     ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
 
+    ocaml_cairo2 = callPackage ../development/ocaml-modules/ocaml-cairo2 { };
+
+    cil = callPackage ../development/ocaml-modules/cil { };
+
+    cmdliner = callPackage ../development/ocaml-modules/cmdliner { };
+
+    config-file = callPackage ../development/ocaml-modules/config-file { };
+
+    cpdf = callPackage ../development/ocaml-modules/cpdf { };
+
     cppo = callPackage ../development/tools/ocaml/cppo { };
 
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
+    cstruct = callPackage ../development/ocaml-modules/cstruct {
+      lwt = ocaml_lwt;
+      sexplib = ocaml_sexplib;
+    };
+
     csv = callPackage ../development/ocaml-modules/csv { };
 
     deriving = callPackage ../development/tools/ocaml/deriving { };
 
+    dolog = callPackage ../development/ocaml-modules/dolog { };
+
     easy-format = callPackage ../development/ocaml-modules/easy-format { };
 
+    eff = callPackage ../development/interpreters/eff { };
+
+    eliom = callPackage ../development/ocaml-modules/eliom { };
+
+    enumerate = callPackage ../development/ocaml-modules/enumerate {
+      type_conv = ocaml_typeconv;
+    };
+
+    erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
+
+    erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { };
+
+    ezjsonm = callPackage ../development/ocaml-modules/ezjsonm {
+      lwt = ocaml_lwt;
+      sexplib = ocaml_sexplib;
+    };
+
+    fieldslib = callPackage ../development/ocaml-modules/fieldslib { };
+
+    fileutils = callPackage ../development/ocaml-modules/fileutils { };
+
     findlib = callPackage ../development/tools/ocaml/findlib { };
 
+    fix = callPackage ../development/ocaml-modules/fix { };
+
+    functory = callPackage ../development/ocaml-modules/functory { };
+
+    io-page = callPackage ../development/ocaml-modules/io-page { };
+
     javalib = callPackage ../development/ocaml-modules/javalib {
       extlib = ocaml_extlib_maximal;
     };
@@ -3274,22 +4076,54 @@ let
 
     patoline = callPackage ../tools/typesetting/patoline { };
 
+    gapi_ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
+
+    gg = callPackage ../development/ocaml-modules/gg { };
+
     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
 
+    gtktop = callPackage ../development/ocaml-modules/gtktop { };
+
+    hex = callPackage ../development/ocaml-modules/hex { };
+
+    js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
+
+    jsonm = callPackage ../development/ocaml-modules/jsonm { };
+
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
 
+    lablgtk_2_14 = callPackage ../development/ocaml-modules/lablgtk/2.14.0.nix {
+      inherit (gnome) libgnomecanvas libglade gtksourceview;
+    };
     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
       inherit (gnome) libgnomecanvas libglade gtksourceview;
     };
 
+    lablgtk-extras =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/lablgtk-extras { }
+      else callPackage ../development/ocaml-modules/lablgtk-extras/1.4.nix { };
+
     lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview {
       gtkmathview = callPackage ../development/libraries/gtkmathview { };
     };
 
+    lambdaTerm-1_6 = callPackage ../development/ocaml-modules/lambda-term/1.6.nix { };
+    lambdaTerm =
+      if lib.versionOlder "4.01" ocaml_version
+      then callPackage ../development/ocaml-modules/lambda-term { }
+      else lambdaTerm-1_6;
+
+    macaque = callPackage ../development/ocaml-modules/macaque { };
+
+    magick = callPackage ../development/ocaml-modules/magick { };
+
     menhir = callPackage ../development/ocaml-modules/menhir { };
 
     merlin = callPackage ../development/tools/ocaml/merlin { };
 
+    mezzo = callPackage ../development/compilers/mezzo { };
+
     mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
 
     mlgmp =  callPackage ../development/ocaml-modules/mlgmp { };
@@ -3302,12 +4136,16 @@ let
 
     ocaml_expat = callPackage ../development/ocaml-modules/expat { };
 
+    ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
+
     ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
 
     ocaml_http = callPackage ../development/ocaml-modules/http { };
 
     ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
 
+    ocaml_ipaddr = callPackage ../development/ocaml-modules/ocaml-ipaddr { };
+
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
 
     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
@@ -3318,11 +4156,18 @@ let
 
     ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
 
+    ocaml_optcomp = callPackage ../development/ocaml-modules/optcomp { };
+
     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {
       inherit pcre;
     };
 
+    pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
+
     ocaml_react = callPackage ../development/ocaml-modules/react { };
+    reactivedata = callPackage ../development/ocaml-modules/reactivedata {};
+
+    ocamlscript = callPackage ../development/tools/ocaml/ocamlscript { };
 
     ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };
 
@@ -3330,74 +4175,159 @@ let
 
     ocaml_ssl = callPackage ../development/ocaml-modules/ssl { };
 
+    ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
+
+    ocpBuild = callPackage ../development/tools/ocaml/ocp-build { };
+
+    ocpIndent = callPackage ../development/tools/ocaml/ocp-indent { };
+
+    ocp-index = callPackage ../development/tools/ocaml/ocp-index { };
+
+    ocplib-endian = callPackage ../development/ocaml-modules/ocplib-endian { };
+
+    ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
+
+    ojquery = callPackage ../development/ocaml-modules/ojquery { };
+
+    otfm = callPackage ../development/ocaml-modules/otfm { };
+
     ounit = callPackage ../development/ocaml-modules/ounit { };
 
+    tyxml = callPackage ../development/ocaml-modules/tyxml { };
+
     ulex = callPackage ../development/ocaml-modules/ulex { };
 
     ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
       camlp5 = camlp5_transitional;
     };
 
-    ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { };
-
-    ocaml_typeconv_3_0_5 = callPackage ../development/ocaml-modules/typeconv/3.0.5.nix { };
+    typeconv_108_08_00 = callPackage ../development/ocaml-modules/typeconv/108.08.00.nix { };
+    ocaml_typeconv =
+      if lib.versionOlder "4.00" ocaml_version
+      then callPackage ../development/ocaml-modules/typeconv { }
+      else if lib.versionOlder "3.12" ocaml_version
+      then typeconv_108_08_00
+      else null;
 
-    ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { };
+    sexplib_108_08_00 = callPackage ../development/ocaml-modules/sexplib/108.08.00.nix {
+      typeconv = typeconv_108_08_00;
+    };
+    ocaml_sexplib =
+      if lib.versionOlder "4.00" ocaml_version
+      then callPackage ../development/ocaml-modules/sexplib { }
+      else if lib.versionOlder "3.12" ocaml_version
+      then sexplib_108_08_00
+      else null;
 
     ocaml_extlib = callPackage ../development/ocaml-modules/extlib { };
     ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib {
       minimal = false;
     };
 
+    ocurl = callPackage ../development/ocaml-modules/ocurl { };
+
+    pprint = callPackage ../development/ocaml-modules/pprint { };
+
     pycaml = callPackage ../development/ocaml-modules/pycaml { };
 
-    opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
-    opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
-    opam = opam_1_1;
+    qtest = callPackage ../development/ocaml-modules/qtest {
+      oasis = ocaml_oasis;
+    };
+
+    re = callPackage ../development/ocaml-modules/re { };
+
+    safepass = callPackage ../development/ocaml-modules/safepass { };
+
+    sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
+
+    stringext = callPackage ../development/ocaml-modules/stringext { };
+
+    twt = callPackage ../development/ocaml-modules/twt { };
+
+    utop = callPackage ../development/tools/ocaml/utop { };
 
     sawja = callPackage ../development/ocaml-modules/sawja { };
 
     uucd = callPackage ../development/ocaml-modules/uucd { };
+    uucp = callPackage ../development/ocaml-modules/uucp { };
     uunf = callPackage ../development/ocaml-modules/uunf { };
+
+    uri = callPackage ../development/ocaml-modules/uri {
+      sexplib = ocaml_sexplib;
+    };
+
+    uuseg = callPackage ../development/ocaml-modules/uuseg { };
     uutf = callPackage ../development/ocaml-modules/uutf { };
+
+    vg = callPackage ../development/ocaml-modules/vg { };
+
     xmlm = callPackage ../development/ocaml-modules/xmlm { };
 
+    xml-light = callPackage ../development/ocaml-modules/xml-light { };
+
     yojson = callPackage ../development/ocaml-modules/yojson { };
 
     zarith = callPackage ../development/ocaml-modules/zarith { };
+
+    zed = callPackage ../development/ocaml-modules/zed { };
+
+    ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving {
+      oasis = ocaml_oasis;
+    };
+
   };
 
   ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0;
-  ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0;
-  ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2;
-  ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1;
+  ocamlPackages_3_10_0 = (mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0)
+  // { lablgtk = ocamlPackages_3_10_0.lablgtk_2_14; };
+  ocamlPackages_3_11_2 = (mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2)
+  // { lablgtk = ocamlPackages_3_11_2.lablgtk_2_14; };
+  ocamlPackages_3_12_1 = (mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1)
+  // { camlimages = ocamlPackages_3_12_1.camlimages_4_0; };
   ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1;
   ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0;
-  ocamlPackages_latest = ocamlPackages_4_01_0;
+  ocamlPackages_4_02_1 = mkOcamlPackages ocaml_4_02_1 pkgs.ocamlPackages_4_02_1;
+  ocamlPackages_latest = ocamlPackages_4_02_1;
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
-  opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { };
+  ocaml-top = callPackage ../development/tools/ocaml/ocaml-top { };
 
-  ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { };
+  opa = callPackage ../development/compilers/opa {
+    ocamlPackages = ocamlPackages_4_00_1;
+  };
+
+  opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
+  opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix {
+    inherit (ocamlPackages_4_01_0) ocaml;
+  };
+  opam = callPackage ../development/tools/ocaml/opam { };
+
+  ocamlnat = newScope pkgs.ocamlPackages_3_12_1 ../development/ocaml-modules/ocamlnat { };
 
   qcmm = callPackage ../development/compilers/qcmm {
     lua   = lua4;
     ocaml = ocaml_3_08_0;
   };
 
-  roadsend = callPackage ../development/compilers/roadsend { };
-
-  rustc       = callPackage ../development/compilers/rustc/0.11.nix {};
+  rustcAlpha  = callPackage ../development/compilers/rustc/1.0.0-alpha.nix {};
+  rustcAlpha2 = callPackage ../development/compilers/rustc/1.0.0-alpha2.nix {};
   rustcMaster = callPackage ../development/compilers/rustc/head.nix {};
-
-  rust = rustc;
+  rustc = rustcAlpha2;
 
 
   sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
   sbcl = callPackage ../development/compilers/sbcl {
     clisp = clisp;
   };
+  # For StumpWM
+  sbcl_1_2_5 = callPackage ../development/compilers/sbcl/1.2.5.nix {
+    clisp = clisp;
+  };
+  # For ACL2
+  sbcl_1_2_0 = callPackage ../development/compilers/sbcl/1.2.0.nix {
+    clisp = clisp;
+  };
 
   scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
   scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { };
@@ -3409,6 +4339,8 @@ let
   smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
   smlnj = callPackage_i686 ../development/compilers/smlnj { };
 
+  sqldeveloper = callPackage ../development/tools/database/sqldeveloper { };
+
   stalin = callPackage ../development/compilers/stalin { };
 
   strategoPackages = recurseIntoAttrs strategoPackages018;
@@ -3431,12 +4363,18 @@ let
 
   tbb = callPackage ../development/libraries/tbb { };
 
+  teyjus = callPackage ../development/compilers/teyjus {
+    omake = omake_rc1;
+  };
+
   tinycc = callPackage ../development/compilers/tinycc { };
 
   urweb = callPackage ../development/compilers/urweb { };
 
   vala = callPackage ../development/compilers/vala/default.nix { };
 
+  vala_0_26 = callPackage ../development/compilers/vala/0.26.nix { };
+
   visualcpp = callPackage ../development/compilers/visual-c++ { };
 
   vs90wrapper = callPackage ../development/compilers/vs90wrapper { };
@@ -3445,31 +4383,26 @@ let
 
   win32hello = callPackage ../development/compilers/visual-c++/test { };
 
-  wrapGCCWith = gccWrapper: glibc: baseGCC: gccWrapper {
-    nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools;
-    nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc;
-    nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else "";
-    gcc = baseGCC;
-    libc = glibc;
-    shell = bash;
+  wrapCCWith = ccWrapper: libc: baseCC: ccWrapper {
+    nativeTools = stdenv.cc.nativeTools or false;
+    nativeLibc = stdenv.cc.nativeLibc or false;
+    nativePrefix = stdenv.cc.nativePrefix or "";
+    cc = baseCC;
+    libc = libc;
     inherit stdenv binutils coreutils zlib;
   };
 
-  wrapClangWith = clangWrapper: glibc: baseClang: clangWrapper {
-    nativeTools = stdenv.gcc.nativeTools or false;
-    nativeLibc = stdenv.gcc.nativeLibc or false;
-    nativePrefix = stdenv.gcc.nativePrefix or "";
-    clang = baseClang;
+  wrapCC = wrapCCWith (makeOverridable (import ../build-support/cc-wrapper)) glibc;
+  # legacy version, used for gnat bootstrapping
+  wrapGCC-old = baseGCC: (makeOverridable (import ../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;
-    shell = bash;
-    binutils = stdenv.gcc.binutils;
-    inherit stdenv coreutils zlib;
+    inherit stdenv binutils coreutils zlib;
   };
 
-  wrapClang = wrapClangWith (makeOverridable (import ../build-support/clang-wrapper)) glibc;
-
-  wrapGCC = wrapGCCWith (makeOverridable (import ../build-support/gcc-wrapper)) glibc;
-
   wrapGCCCross =
     {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}:
 
@@ -3480,6 +4413,27 @@ let
       inherit stdenv gcc binutils libc shell name cross;
     });
 
+  /* Alternative GCC wrapper that uses the standard -I include flag instead of
+   * -isystem. The -isystem flag can change the search order specified by prior
+   * -I flags. For KDE 5 packages, we don't want to interfere with the include
+   * search path order specified by the build system. Some packages depend on
+   * Qt 4 and Qt 5 simultaneously; because the two Qt versions provide headers
+   * with the same filenames, we must respect the search order specified by the
+   * build system so that the Qt 4 components find the Qt 4 headers and the Qt 5
+   * components find the Qt 5 headers.
+   */
+  wrapGCCStdInc = glibc: baseGCC: (import ../build-support/cc-wrapper) {
+    nativeTools = stdenv.cc.nativeTools or false;
+    nativeLibc = stdenv.cc.nativeLibc or false;
+    nativePrefix = stdenv.cc.nativePrefix or "";
+    cc = baseGCC;
+    libc = glibc;
+    inherit stdenv binutils coreutils zlib;
+    setupHook = ../build-support/cc-wrapper/setup-hook-stdinc.sh;
+  };
+
+  gccStdInc = wrapGCCStdInc glibc gcc.cc;
+
   # prolog
   yap = callPackage ../development/compilers/yap { };
 
@@ -3489,15 +4443,18 @@ let
   ### DEVELOPMENT / INTERPRETERS
 
   acl2 = builderDefsPackage ../development/interpreters/acl2 {
-    inherit sbcl;
+    sbcl = sbcl_1_2_0;
   };
 
   angelscript = callPackage ../development/interpreters/angelscript {};
 
+  chibi = callPackage ../development/interpreters/chibi { };
+
   clisp = callPackage ../development/interpreters/clisp { };
 
   # compatibility issues in 2.47 - at list 2.44.1 is known good
-  # for sbcl bootstrap
+  # for sbcl bootstrap.
+  # SBCL page recommends 2.33.2, though. Not sure when was it last tested
   clisp_2_44_1 = callPackage ../development/interpreters/clisp/2.44.1.nix {
     libsigsegv = libsigsegv_25;
   };
@@ -3509,8 +4466,15 @@ let
   erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { };
   erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { };
   erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { };
+  erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; };
   erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { };
+  erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix { odbcSupport = true; };
+  erlangR17_javac = callPackage ../development/interpreters/erlang/R17.nix { javacSupport = true; };
+  erlangR17_odbc_javac = callPackage ../development/interpreters/erlang/R17.nix { javacSupport = true; odbcSupport = true; };
   erlang = erlangR17;
+  erlang_odbc = erlangR17_odbc;
+  erlang_javac = erlangR17_javac;
+  erlang_odbc_javac = erlangR17_odbc_javac;
 
   rebar = callPackage ../development/tools/build-managers/rebar { };
 
@@ -3530,6 +4494,8 @@ let
 
   j = callPackage ../development/interpreters/j {};
 
+  jimtcl = callPackage ../development/interpreters/jimtcl {};
+
   jmeter = callPackage ../applications/networking/jmeter {};
 
   davmail = callPackage ../applications/networking/davmail {};
@@ -3538,10 +4504,14 @@ let
 
   kona = callPackage ../development/interpreters/kona {};
 
-  love = callPackage ../development/interpreters/love {lua=lua5;};
+  lolcode = callPackage ../development/interpreters/lolcode { };
+
+  love = callPackage ../development/interpreters/love {lua=lua5_1;};
   love_luajit = callPackage ../development/interpreters/love {lua=luajit;};
   love_0_9 = callPackage ../development/interpreters/love/0.9.nix { };
 
+  ### LUA MODULES
+
   lua4 = callPackage ../development/interpreters/lua-4 { };
   lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { };
   lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { };
@@ -3549,19 +4519,28 @@ let
   lua5_2_compat = callPackage ../development/interpreters/lua-5/5.2.nix {
     compat = true;
   };
-  lua5 = lua5_1;
+  lua5 = lua5_2_compat;
   lua = lua5;
 
-  lua5_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {};
+  lua51Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_1; });
+  lua52Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_2; });
+
+  luaPackages = lua52Packages;
+
+  lua5_1_sockets = lua51Packages.luasocket;
+
   lua5_expat = callPackage ../development/interpreters/lua-5/expat.nix {};
-  lua5_filesystem = callPackage ../development/interpreters/lua-5/filesystem.nix {};
-  lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix {};
+  lua5_sec = callPackage ../development/interpreters/lua-5/sec.nix { };
+
+  luajit = callPackage ../development/interpreters/luajit {};
+
+  luarocks = luaPackages.luarocks;
 
-  luarocks = callPackage ../development/tools/misc/luarocks {
-     lua = lua5;
+  toluapp = callPackage ../development/tools/toluapp {
+    lua = lua5_1; # doesn't work with any other :(
   };
 
-  luajit = callPackage ../development/interpreters/luajit {};
+  ### END OF LUA
 
   lush2 = callPackage ../development/interpreters/lush {};
 
@@ -3572,9 +4551,16 @@ let
 
   mesos = callPackage ../applications/networking/cluster/mesos {
     sasl = cyrus_sasl;
-    automake = automake114x;
     inherit (pythonPackages) python boto setuptools distutils-cfg wrapPython;
-    pythonProtobuf = pythonPackages.protobuf;
+    pythonProtobuf = pythonPackages.protobuf2_5;
+  };
+
+  mesos-dns = callPackage ../servers/dns/mesos-dns { };
+
+  mujs = callPackage ../development/interpreters/mujs { };
+
+  nix-exec = callPackage ../development/interpreters/nix-exec {
+    git = gitMinimal;
   };
 
   octave = callPackage ../development/interpreters/octave {
@@ -3585,8 +4571,7 @@ let
     hdf5 = null;
     glpk = null;
     suitesparse = null;
-    openjdk = null;
-    gnuplot = null;
+    jdk = null;
   };
   octaveFull = (lowPrio (callPackage ../development/interpreters/octave {
     fltk = fltk13;
@@ -3598,15 +4583,13 @@ let
 
   ocropus = callPackage ../applications/misc/ocropus { };
 
-  perl514 = callPackage ../development/interpreters/perl/5.14 { };
+  perl516 = callPackage ../development/interpreters/perl/5.16 { };
 
-  perl516 = callPackage ../development/interpreters/perl/5.16 {
+  perl520 = callPackage ../development/interpreters/perl/5.20 {
     fetchurl = fetchurlBoot;
   };
 
-  perl520 = callPackage ../development/interpreters/perl/5.20 { };
-
-  perl = if system != "i686-cygwin" then perl516 else sysPerl;
+  perl = if system != "i686-cygwin" then perl520 else sysPerl;
 
   php = php54;
 
@@ -3614,19 +4597,17 @@ let
     inherit php pkgs;
   });
 
-  php53 = callPackage ../development/interpreters/php/5.3.nix { };
-
-  php_fpm53 = callPackage ../development/interpreters/php/5.3.nix {
-    config = config // {
-      php = (config.php or {}) // {
-        fpm = true;
-        apxs2 = false;
-      };
-    };
-  };
+  php55Packages = recurseIntoAttrs (import ./php-packages.nix {
+    inherit pkgs;
+    php = php55;
+  });
 
   php54 = callPackage ../development/interpreters/php/5.4.nix { };
 
+  php55 = callPackage ../development/interpreters/php/5.5.nix { };
+
+  php56 = callPackage ../development/interpreters/php/5.6.nix { };
+
   picolisp = callPackage ../development/interpreters/picolisp {};
 
   pltScheme = racket; # just to be sure
@@ -3634,8 +4615,9 @@ let
   polyml = callPackage ../development/compilers/polyml { };
 
   pure = callPackage ../development/interpreters/pure {
-    llvm = llvm_33 ;
+    llvm = llvm_35;
   };
+  pure-gsl = callPackage ../development/pure-modules/pure-gsl { };
 
   python = python2;
   python2 = python27;
@@ -3646,46 +4628,53 @@ let
   python2Packages = python27Packages;
   python3Packages = python34Packages;
 
+  python26 = callPackage ../development/interpreters/python/2.6 {
+    db = db47;
+    self = python26;
+  };
+  python27 = callPackage ../development/interpreters/python/2.7 {
+    self = python27;
+  };
+  python32 = callPackage ../development/interpreters/python/3.2 {
+    self = python32;
+  };
+  python33 = callPackage ../development/interpreters/python/3.3 {
+    self = python33;
+  };
+  python34 = hiPrio (callPackage ../development/interpreters/python/3.4 {
+    self = python34;
+  });
+  pypy = callPackage ../development/interpreters/pypy {
+    self = pypy;
+  };
+
   pythonFull = python2Full;
   python2Full = python27Full;
-
-  python26 = callPackage ../development/interpreters/python/2.6 { db = db47; };
-  python27 = callPackage ../development/interpreters/python/2.7 { };
-  python32 = callPackage ../development/interpreters/python/3.2 { };
-  python33 = callPackage ../development/interpreters/python/3.3 { };
-  python34 = hiPrio (callPackage ../development/interpreters/python/3.4 { });
-
-  pypy = callPackage ../development/interpreters/pypy/2.3 { };
-
-  python26Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = [];
-    postBuild = "";
-    python = python26;
-    inherit (python26Packages) recursivePthLoader;
+  python26Full = python26.override {
+    includeModules = true;
+    self = python26Full;
   };
-  python27Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = [];
-    postBuild = "";
-    python = python27;
-    inherit (python27Packages) recursivePthLoader;
+  python27Full = python27.override {
+    includeModules = true;
+    self = python27Full;
   };
 
+  python2nix = callPackage ../tools/package-management/python2nix { };
+
   pythonDocs = recurseIntoAttrs (import ../development/interpreters/python/docs {
     inherit stdenv fetchurl lib;
   });
 
-  pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { };
-
   pypi2nix = python27Packages.pypi2nix;
 
+  svg2tikz = python27Packages.svg2tikz;
+
   pyrex = pyrex095;
 
   pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
 
   pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { };
 
-  qi = callPackage ../development/compilers/qi { };
-
   racket = callPackage ../development/interpreters/racket { };
 
   rakudo = callPackage ../development/interpreters/rakudo { };
@@ -3698,17 +4687,33 @@ let
     wrapPython = pythonPackages.wrapPython;
   };
 
-  ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { };
-  ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { };
-  ruby2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.nix { });
-
-  ruby = ruby19;
-
-  rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });
+  bundix = callPackage ../development/interpreters/ruby/bundix {
+    ruby = ruby_2_1_3;
+  };
+  bundler = callPackage ../development/interpreters/ruby/bundler.nix { };
+  bundler_HEAD = import ../development/interpreters/ruby/bundler-head.nix {
+    inherit buildRubyGem coreutils fetchgit;
+  };
+  defaultGemConfig = callPackage ../development/interpreters/ruby/bundler-env/default-gem-config.nix { };
+  buildRubyGem = callPackage ../development/interpreters/ruby/gem.nix { };
+  bundlerEnv = callPackage ../development/interpreters/ruby/bundler-env { };
 
-  rake = rubyLibs.rake;
+  ruby_1_8_7 = callPackage ../development/interpreters/ruby/ruby-1.8.7.nix { };
+  ruby_1_9_3 = callPackage ../development/interpreters/ruby/ruby-1.9.3.nix { };
+  ruby_2_0_0 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.0.0.nix { });
+  ruby_2_1_0 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.0.nix { });
+  ruby_2_1_1 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.1.nix { });
+  ruby_2_1_2 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.2.nix { });
+  ruby_2_1_3 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.1.3.nix { });
+  ruby_2_2_0 = lowPrio (callPackage ../development/interpreters/ruby/ruby-2.2.0.nix { });
 
-  rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { };
+  # Ruby aliases
+  ruby = ruby_1_9;
+  ruby_1_8 = ruby_1_8_7;
+  ruby_1_9 = ruby_1_9_3;
+  ruby_2_0 = ruby_2_0_0;
+  ruby_2_1 = ruby_2_1_3;
+  ruby_2_2 = ruby_2_2_0;
 
   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) {
     inherit ruby makeWrapper;
@@ -3747,8 +4752,6 @@ let
     inherit (pythonPackages) pysqlite;
   };
 
-  xulrunner_30 = firefox30Pkgs.xulrunner;
-
 
   ### DEVELOPMENT / MISC
 
@@ -3773,10 +4776,7 @@ let
     samples = true;
   };
 
-  avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc {
-    gcc = gcc46;
-    stdenv = overrideGCC stdenv gcc46;
-  };
+  avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc {};
 
   avr8burnomat = callPackage ../development/misc/avr8-burn-omat { };
 
@@ -3801,9 +4801,14 @@ let
 
   guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { };
 
+  guile-opengl = callPackage ../development/guile-modules/guile-opengl { };
+
+  guile-sdl = callPackage ../development/guile-modules/guile-sdl { };
+
   guile-xcb = callPackage ../development/guile-modules/guile-xcb { };
 
   pharo-vm = callPackage_i686 ../development/pharo/vm { };
+  pharo-launcher = callPackage ../development/pharo/launcher { };
 
   srecord = callPackage ../development/tools/misc/srecord { };
 
@@ -3812,9 +4817,12 @@ let
       inherit fetchurl stdenv cabextract;
     });
 
+  xidel = callPackage ../tools/text/xidel { };
 
   ### DEVELOPMENT / TOOLS
 
+  augeas = callPackage ../tools/system/augeas { };
+
   ansible = callPackage ../tools/system/ansible { };
 
   antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
@@ -3825,17 +4833,28 @@ let
 
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
 
+  apacheKafka = callPackage ../servers/apache-kafka { };
+
   astyle = callPackage ../development/tools/misc/astyle { };
 
+  atom-shell = callPackage ../development/tools/atom-shell {
+    gconf = pkgs.gnome.GConf;
+  };
+
+
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
   autoconf = callPackage ../development/tools/misc/autoconf { };
 
+  autoconf-archive = callPackage ../development/tools/misc/autoconf-archive { };
+
   autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };
 
   autocutsel = callPackage ../tools/X11/autocutsel{ };
 
-  automake = automake112x;
+  automake = automake115x;
+
+  automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { };
 
   automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { };
 
@@ -3845,6 +4864,8 @@ let
 
   automake114x = callPackage ../development/tools/misc/automake/automake-1.14.x.nix { };
 
+  automake115x = callPackage ../development/tools/misc/automake/automake-1.15.x.nix { };
+
   automoc4 = callPackage ../development/tools/misc/automoc4 { };
 
   avrdude = callPackage ../development/tools/misc/avrdude { };
@@ -3855,9 +4876,13 @@ let
 
   bam = callPackage ../development/tools/build-managers/bam {};
 
-  binutils = callPackage ../development/tools/misc/binutils {
-    inherit noSysDirs;
-  };
+  bazel = callPackage ../development/tools/build-managers/bazel { jdk = oraclejdk8; };
+
+  binutils = if stdenv.isDarwin
+    then import ../build-support/native-darwin-cctools-wrapper {inherit stdenv;}
+    else callPackage ../development/tools/misc/binutils {
+      inherit noSysDirs;
+    };
 
   binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils {
     inherit noSysDirs;
@@ -3865,7 +4890,7 @@ let
   });
 
   binutilsCross =
-    if crossSystem != null && crossSystem.libc == "libSystem" then darwin.cctools
+    if crossSystem != null && crossSystem.libc == "libSystem" then darwin.cctools_cross
     else lowPrio (forceNativeDrv (import ../development/tools/misc/binutils {
       inherit stdenv fetchurl zlib bison;
       noSysDirs = true;
@@ -3885,12 +4910,14 @@ let
     dateutil = pythonPackages.dateutil_1_5;
   };
 
-  buildbotSlave = callPackage ../development/tools/build-managers/buildbot-slave {
+  buildbot-slave = callPackage ../development/tools/build-managers/buildbot-slave {
     inherit (pythonPackages) twisted;
   };
 
   byacc = callPackage ../development/tools/parsing/byacc { };
 
+  cargoSnapshot = callPackage ../development/tools/build-managers/cargo/snapshot.nix { };
+
   casperjs = callPackage ../development/tools/casperjs { };
 
   cbrowser = callPackage ../development/tools/misc/cbrowser { };
@@ -3912,19 +4939,27 @@ let
   #     };
   #
   ccacheWrapper = makeOverridable ({ extraConfig ? "" }:
-     wrapGCC (ccache.links extraConfig)) {};
-  ccacheStdenv = lowPrio (overrideGCC stdenv ccacheWrapper);
+     wrapCC (ccache.links extraConfig)) {};
+  ccacheStdenv = lowPrio (overrideCC stdenv ccacheWrapper);
 
   cccc = callPackage ../development/tools/analysis/cccc { };
 
   cgdb = callPackage ../development/tools/misc/cgdb { };
 
+  chefdk = callPackage ../development/tools/chefdk {
+    ruby = ruby_2_0_0;
+  };
+
   chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome.GConf; };
 
   chrpath = callPackage ../development/tools/misc/chrpath { };
 
+  chruby = callPackage ../development/tools/misc/chruby { rubies = null; };
+
   "cl-launch" = callPackage ../development/tools/misc/cl-launch {};
 
+  coan = callPackage ../development/tools/analysis/coan { };
+
   complexity = callPackage ../development/tools/misc/complexity { };
 
   ctags = callPackage ../development/tools/misc/ctags { };
@@ -3933,9 +4968,12 @@ let
     inherit pkgs ctags writeScriptBin;
   };
 
-  cmake = callPackage ../development/tools/build-managers/cmake { };
+  ctodo = callPackage ../applications/misc/ctodo { };
 
-  cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { };
+  cmake = callPackage ../development/tools/build-managers/cmake {
+    wantPS = stdenv.isDarwin;
+    ps     = if stdenv.isDarwin then darwin.ps else null;
+  };
 
   cmakeCurses = cmake.override { useNcurses = true; };
 
@@ -3959,8 +4997,8 @@ let
 
   csslint = callPackage ../development/web/csslint { };
 
-  libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; };
-  libcxxabi = callPackage ../development/libraries/libc++abi { stdenv = pkgs.clangStdenv; };
+  libcxx = llvmPackages.libcxx;
+  libcxxabi = llvmPackages.libcxxabi;
 
   libsigrok = callPackage ../development/tools/libsigrok { };
 
@@ -3992,13 +5030,15 @@ let
   #     };
   #
   distccWrapper = makeOverridable ({ extraConfig ? "" }:
-     wrapGCC (distcc.links extraConfig)) {};
-  distccStdenv = lowPrio (overrideGCC stdenv distccWrapper);
+     wrapCC (distcc.links extraConfig)) {};
+  distccStdenv = lowPrio (overrideCC stdenv distccWrapper);
 
-  distccMasquerade = callPackage ../development/tools/misc/distcc/masq.nix {
-    gccRaw = gcc.gcc;
-    binutils = binutils;
-  };
+  distccMasquerade = if stdenv.isDarwin
+    then null
+    else callPackage ../development/tools/misc/distcc/masq.nix {
+      gccRaw = gcc.cc;
+      binutils = binutils;
+    };
 
   docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
     inherit python pil makeWrapper;
@@ -4020,8 +5060,16 @@ let
 
   emma = callPackage ../development/tools/analysis/emma { };
 
+  eztrace = callPackage ../development/tools/profiling/EZTrace { };
+
   findbugs = callPackage ../development/tools/analysis/findbugs { };
 
+  flow = callPackage ../development/tools/analysis/flow { };
+
+  fswatch = callPackage ../development/tools/misc/fswatch { };
+
+  frame = callPackage ../development/libraries/frame { };
+
   pmd = callPackage ../development/tools/analysis/pmd { };
 
   jdepend = callPackage ../development/tools/analysis/jdepend { };
@@ -4034,6 +5082,8 @@ let
 
   m4 = gnum4;
 
+  geis = callPackage ../development/libraries/geis { };
+
   global = callPackage ../development/tools/misc/global { };
 
   gnome_doc_utils = callPackage ../development/tools/documentation/gnome-doc-utils {};
@@ -4043,8 +5093,10 @@ let
   gnumake380 = callPackage ../development/tools/build-managers/gnumake/3.80 { };
   gnumake381 = callPackage ../development/tools/build-managers/gnumake/3.81 { };
   gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { };
-  gnumake40  = callPackage ../development/tools/build-managers/gnumake/4.0  { };
-  gnumake = gnumake382;
+  gnumake3 = gnumake382;
+  gnumake40 = callPackage ../development/tools/build-managers/gnumake/4.0 { };
+  gnumake41 = callPackage ../development/tools/build-managers/gnumake/4.1 { };
+  gnumake = gnumake41;
 
   gob2 = callPackage ../development/tools/misc/gob2 { };
 
@@ -4052,6 +5104,8 @@ let
 
   gperf = callPackage ../development/tools/misc/gperf { };
 
+  grail = callPackage ../development/libraries/grail { };
+
   gtk_doc = callPackage ../development/tools/documentation/gtk-doc { };
 
   gtkdialog = callPackage ../development/tools/misc/gtkdialog { };
@@ -4066,12 +5120,14 @@ let
 
   hyenae = callPackage ../tools/networking/hyenae { };
 
-  ibus = callPackage ../development/libraries/ibus { };
+  icmake = callPackage ../development/tools/build-managers/icmake { };
 
   iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils {
     inherit (perlPackages) XMLSimple;
   };
 
+  include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use { };
+
   indent = callPackage ../development/tools/misc/indent { };
 
   ino = callPackage ../development/arduino/ino { };
@@ -4112,10 +5168,18 @@ let
 
   lttv = callPackage ../development/tools/misc/lttv { };
 
+  maven = maven3;
+  maven3 = callPackage ../development/tools/build-managers/apache-maven { };
+
   mk = callPackage ../development/tools/build-managers/mk { };
 
   neoload = callPackage ../development/tools/neoload {
     licenseAccepted = (config.neoload.accept_license or false);
+    fontsConf = makeFontsConf {
+      fontDirectories = [
+        xorg.fontbhttf
+      ];
+    };
   };
 
   ninja = callPackage ../development/tools/build-managers/ninja { };
@@ -4124,7 +5188,13 @@ let
       pythonPackages = python3Packages;
   };
 
-  node_webkit = callPackage ../development/tools/node-webkit {
+  node_webkit = node_webkit_0_9;
+
+  node_webkit_0_11 = callPackage ../development/tools/node-webkit/nw11.nix {
+    gconf = pkgs.gnome.GConf;
+  };
+
+  node_webkit_0_9 = callPackage ../development/tools/node-webkit/nw9.nix {
     gconf = pkgs.gnome.GConf;
   };
 
@@ -4143,11 +5213,7 @@ let
 
   peg = callPackage ../development/tools/parsing/peg { };
 
-  phantomjs = callPackage ../development/tools/phantomjs {
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  phantomjs = callPackage ../development/tools/phantomjs { };
 
   pmccabe = callPackage ../development/tools/misc/pmccabe { };
 
@@ -4168,7 +5234,10 @@ let
 
   premake = premake4;
 
-  pstack = callPackage ../development/tools/misc/gdb/pstack.nix { };
+  racerRust = callPackage ../development/tools/rust/racer {
+    rustc = rustcMaster;
+    cargo = cargoSnapshot;
+  };
 
   radare = callPackage ../development/tools/analysis/radare {
     inherit (gnome) vte;
@@ -4178,15 +5247,30 @@ let
     rubyBindings = config.radare.rubyBindings or false;
     luaBindings = config.radare.luaBindings or false;
   };
+  radare2 = callPackage ../development/tools/analysis/radare2 {
+    inherit (gnome) vte;
+    lua = lua5;
+    useX11 = config.radare.useX11 or false;
+    pythonBindings = config.radare.pythonBindings or false;
+    rubyBindings = config.radare.rubyBindings or false;
+    luaBindings = config.radare.luaBindings or false;
+  };
+
 
   ragel = callPackage ../development/tools/parsing/ragel { };
 
+  hammer = callPackage ../development/tools/parsing/hammer { };
+
   re2c = callPackage ../development/tools/parsing/re2c { };
 
   remake = callPackage ../development/tools/build-managers/remake { };
 
+  rr = callPackage ../development/tools/analysis/rr { };
+
   saleae-logic = callPackage ../development/tools/misc/saleae-logic { };
 
+  sauce-connect = callPackage ../development/tools/sauce-connect { };
+
   # couldn't find the source yet
   seleniumRCBin = callPackage ../development/tools/selenium/remote-control {
     jre = jdk;
@@ -4194,16 +5278,23 @@ let
 
   selenium-server-standalone = callPackage ../development/tools/selenium/server { };
 
+  selendroid = callPackage ../development/tools/selenium/selendroid { };
+
   scons = callPackage ../development/tools/build-managers/scons { };
 
-  simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { };
+  sbt = callPackage ../development/tools/build-managers/sbt { };
+  simpleBuildTool = sbt;
 
   sigrok-cli = callPackage ../development/tools/sigrok-cli { };
 
+  simpleTpmPk11 = callPackage ../tools/security/simple-tpm-pk11 { };
+
   slimerjs = callPackage ../development/tools/slimerjs {};
 
   sloccount = callPackage ../development/tools/misc/sloccount { };
 
+  sloc = nodePackages.sloc;
+
   smatch = callPackage ../development/tools/analysis/smatch {
     buildllvmsparse = false;
     buildc2xml = false;
@@ -4213,7 +5304,7 @@ let
 
   sparse = callPackage ../development/tools/analysis/sparse { };
 
-  speedtest_cli = callPackage ../tools/networking/speedtest-cli { };
+  speedtest-cli = callPackage ../tools/networking/speedtest-cli { };
 
   spin = callPackage ../development/tools/analysis/spin { };
 
@@ -4221,6 +5312,8 @@ let
     flex = flex_2_5_35;
   };
 
+  sselp = callPackage ../tools/X11/sselp{ };
+
   stm32flash = callPackage ../development/tools/misc/stm32flash { };
 
   strace = callPackage ../development/tools/misc/strace { };
@@ -4258,26 +5351,22 @@ let
   uncrustify = callPackage ../development/tools/misc/uncrustify { };
 
   vagrant = callPackage ../development/tools/vagrant {
-    ruby = ruby2;
+    ruby = ruby_2_0_0;
   };
 
   gdb = callPackage ../development/tools/misc/gdb {
+    guile = null;
     hurd = gnu.hurdCross;
     inherit (gnu) mig;
   };
 
+  gdbGuile = lowPrio (gdb.override { inherit guile; });
+
   gdbCross = lowPrio (callPackage ../development/tools/misc/gdb {
     target = crossSystem;
   });
 
-  valgrind = callPackage ../development/tools/analysis/valgrind {
-    stdenv =
-      # On Darwin, Valgrind 3.7.0 expects Apple's GCC (for
-      # `__private_extern'.)
-      if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  valgrind = callPackage ../development/tools/analysis/valgrind { };
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
@@ -4295,6 +5384,10 @@ let
 
   yodl = callPackage ../development/tools/misc/yodl { };
 
+  winpdb = callPackage ../development/tools/winpdb { };
+
+  grabserial = callPackage ../development/tools/grabserial { };
+
 
   ### DEVELOPMENT / LIBRARIES
 
@@ -4312,7 +5405,7 @@ let
 
   adns = callPackage ../development/libraries/adns { };
 
-  afflib = callPackage ../development/libraries/afflib {};
+  afflib = callPackage ../development/libraries/afflib { };
 
   agg = callPackage ../development/libraries/agg { };
 
@@ -4325,12 +5418,16 @@ let
 
   amrwb = callPackage ../development/libraries/amrwb { };
 
+  appstream = callPackage ../development/libraries/appstream { };
+
   apr = callPackage ../development/libraries/apr { };
 
   aprutil = callPackage ../development/libraries/apr-util {
     bdbSupport = true;
   };
 
+  assimp = callPackage ../development/libraries/assimp { };
+
   asio = callPackage ../development/libraries/asio { };
 
   aspell = callPackage ../development/libraries/aspell { };
@@ -4359,24 +5456,22 @@ let
 
   audiofile = callPackage ../development/libraries/audiofile { };
 
-  axis = callPackage ../development/libraries/axis { };
-
-  babl_0_0_22 = callPackage ../development/libraries/babl/0_0_22.nix { };
-
   babl = callPackage ../development/libraries/babl { };
 
   beecrypt = callPackage ../development/libraries/beecrypt { };
 
+  belle-sip = callPackage ../development/libraries/belle-sip { };
+
   boehmgc = callPackage ../development/libraries/boehm-gc { };
 
   boolstuff = callPackage ../development/libraries/boolstuff { };
 
-  boost144 = callPackage ../development/libraries/boost/1.44.nix { };
-  boost149 = callPackage ../development/libraries/boost/1.49.nix { };
   boost155 = callPackage ../development/libraries/boost/1.55.nix { };
-  boost = boost155;
+  boost156 = callPackage ../development/libraries/boost/1.56.nix { };
+  boost157 = callPackage ../development/libraries/boost/1.57.nix { };
+  boost = boost157;
 
-  boostHeaders = callPackage ../development/libraries/boost/header-only-wrapper.nix { };
+  boost_process = callPackage ../development/libraries/boost-process { };
 
   botan = callPackage ../development/libraries/botan { };
   botanUnstable = callPackage ../development/libraries/botan/unstable.nix { };
@@ -4396,9 +5491,16 @@ let
 
   capnproto = callPackage ../development/libraries/capnproto { };
 
+  ccnx = callPackage ../development/libraries/ccnx { };
+
+  ndn-cxx = callPackage ../development/libraries/ndn-cxx { };
+
+  cimg = callPackage  ../development/libraries/cimg { };
+
   scmccid = callPackage ../development/libraries/scmccid { };
 
   ccrtp = callPackage ../development/libraries/ccrtp { };
+
   ccrtp_1_8 = callPackage ../development/libraries/ccrtp/1.8.nix { };
 
   celt = callPackage ../development/libraries/celt {};
@@ -4420,8 +5522,6 @@ let
 
   chromaprint = callPackage ../development/libraries/chromaprint { };
 
-  cil = callPackage ../development/libraries/cil { };
-
   cilaterm = callPackage ../development/libraries/cil-aterm {
     stdenv = overrideInStdenv stdenv [gnumake380];
   };
@@ -4440,8 +5540,6 @@ let
 
   cln = callPackage ../development/libraries/cln { };
 
-  clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) { };
-
   clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { };
 
   clucene_core_1 = callPackage ../development/libraries/clucene-core { };
@@ -4479,10 +5577,6 @@ let
 
   cppunit = callPackage ../development/libraries/cppunit { };
 
-  cppnetlib = callPackage ../development/libraries/cppnetlib {
-    boost = boostHeaders;
-  };
-
   cracklib = callPackage ../development/libraries/cracklib { };
 
   cryptopp = callPackage ../development/libraries/crypto++ { };
@@ -4506,7 +5600,9 @@ let
   dbus_cplusplus  = callPackage ../development/libraries/dbus-cplusplus { };
   dbus_glib       = callPackage ../development/libraries/dbus-glib { };
   dbus_java       = callPackage ../development/libraries/java/dbus-java { };
-  dbus_python     = callPackage ../development/python-modules/dbus { };
+  dbus_python     = callPackage ../development/python-modules/dbus {
+    isPyPy = python.executable == "pypy";
+  };
 
   # Should we deprecate these? Currently there are many references.
   dbus_tools = pkgs.dbus.tools;
@@ -4515,6 +5611,8 @@ let
 
   dhex = callPackage ../applications/editors/dhex { };
 
+  double_conversion = callPackage ../development/libraries/double-conversion { };
+
   dclib = callPackage ../development/libraries/dclib { };
 
   dillo = callPackage ../applications/networking/browsers/dillo {
@@ -4523,11 +5621,13 @@ let
 
   directfb = callPackage ../development/libraries/directfb { };
 
+  dlib = callPackage ../development/libraries/dlib { };
+
   dotconf = callPackage ../development/libraries/dotconf { };
 
   dssi = callPackage ../development/libraries/dssi {};
 
-  dragonegg = llvmPackages.dragonegg;
+  dragonegg = llvmPackages_35.dragonegg;
 
   dxflib = callPackage ../development/libraries/dxflib {};
 
@@ -4551,11 +5651,7 @@ let
 
   expat = callPackage ../development/libraries/expat { };
 
-  extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
-    inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
-      gettext intltool;
-    inherit (xlibs) libX11 xproto libXi inputproto
-      libXmu libXext xextproto libXt libSM libICE;
+  extremetuxracer = callPackage ../games/extremetuxracer {
     libpng = libpng12;
   };
 
@@ -4577,36 +5673,43 @@ let
 
   fcgi = callPackage ../development/libraries/fcgi { };
 
-  ffmpeg_0_6 = callPackage ../development/libraries/ffmpeg/0.6.nix {
-    vpxSupport = !stdenv.isMips;
-  };
-
-  ffmpeg_0_6_90 = callPackage ../development/libraries/ffmpeg/0.6.90.nix {
-    vpxSupport = !stdenv.isMips;
-  };
-
-  ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix {
-    vpxSupport = !stdenv.isMips;
-
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix { };
+  ffmpeg_0_11 = callPackage ../development/libraries/ffmpeg/0.11.nix { };
+  ffmpeg_1_2 = callPackage ../development/libraries/ffmpeg/1.2.nix { };
+  ffmpeg_2_2 = callPackage ../development/libraries/ffmpeg/2.2.nix { };
+  ffmpeg_2_6 = callPackage ../development/libraries/ffmpeg/2.6.nix { };
+  # Aliases
+  ffmpeg_0 = ffmpeg_0_11;
+  ffmpeg_1 = ffmpeg_1_2;
+  ffmpeg_2 = ffmpeg_2_6;
+  ffmpeg = ffmpeg_2;
 
-  ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix {
-    vpxSupport = !stdenv.isMips;
+  ffmpeg-full = callPackage ../development/libraries/ffmpeg-full {
+    # The following need to be fixed on Darwin
+    frei0r = if stdenv.isDarwin then null else frei0r;
+    game-music-emu = if stdenv.isDarwin then null else game-music-emu;
+    gsm = if stdenv.isDarwin then null else gsm;
+    jack2 = if stdenv.isDarwin then null else jack2;
+    libmodplug = if stdenv.isDarwin then null else libmodplug;
+    libssh = if stdenv.isDarwin then null else libssh;
+    libvpx = if stdenv.isDarwin then null else libvpx;
+    openal = if stdenv.isDarwin then null else openal;
+    openjpeg_1 = if stdenv.isDarwin then null else openjpeg_1;
+    pulseaudio = if stdenv.isDarwin then null else pulseaudio;
+    samba = if stdenv.isDarwin then null else samba;
+    vid-stab = if stdenv.isDarwin then null else vid-stab;
+    x265 = if stdenv.isDarwin then null else x265;
+    xavs = if stdenv.isDarwin then null else xavs;
   };
 
-  ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix { };
-
-  ffmpeg = ffmpeg_2;
-
   ffms = callPackage ../development/libraries/ffms { };
 
   fftw = callPackage ../development/libraries/fftw { };
   fftwSinglePrec = fftw.override { precision = "single"; };
   fftwFloat = fftwSinglePrec; # the configure option is just an alias
 
+  fish-fillets-ng = callPackage ../games/fish-fillets-ng {};
+
   flann = callPackage ../development/libraries/flann { };
 
   flite = callPackage ../development/libraries/flite { };
@@ -4623,11 +5726,18 @@ let
 
   cfitsio = callPackage ../development/libraries/cfitsio { };
 
+  fontconfig_210 = callPackage ../development/libraries/fontconfig/2.10.nix { };
+
   fontconfig = callPackage ../development/libraries/fontconfig { };
 
+  fontconfig-ultimate = callPackage ../development/libraries/fontconfig-ultimate {};
+
+  folly = callPackage ../development/libraries/folly { };
+
   makeFontsConf = let fontconfig_ = fontconfig; in {fontconfig ? fontconfig_, fontDirectories}:
     import ../development/libraries/fontconfig/make-fonts-conf.nix {
       inherit runCommand libxslt fontconfig fontDirectories;
+      inherit (xorg) fontbhttf;
     };
 
   freealut = callPackage ../development/libraries/freealut { };
@@ -4658,14 +5768,9 @@ let
 
   gdbm = callPackage ../development/libraries/gdbm { };
 
-  gegl = callPackage ../development/libraries/gegl {
-    #  avocodec avformat librsvg
-  };
+  gecode = callPackage ../development/libraries/gecode { };
 
-  gegl_0_0_22 = callPackage ../development/libraries/gegl/0_0_22.nix {
-    #  avocodec avformat librsvg
-    libpng = libpng12;
-  };
+  gegl = callPackage ../development/libraries/gegl { };
 
   geoclue = callPackage ../development/libraries/geoclue {};
 
@@ -4677,15 +5782,20 @@ let
 
   geos = callPackage ../development/libraries/geos { };
 
-  gettext = gettext_0_18;
+  getdata = callPackage ../development/libraries/getdata { };
+
+  gettext = gettext_0_19;
 
   gettext_0_17 = callPackage ../development/libraries/gettext/0.17.nix { };
-  gettext_0_18 = callPackage ../development/libraries/gettext { };
+  gettext_0_18 = callPackage ../development/libraries/gettext/0.18.nix { };
+  gettext_0_19 = callPackage ../development/libraries/gettext { };
 
   gd = callPackage ../development/libraries/gd { };
 
   gdal = callPackage ../development/libraries/gdal { };
 
+  gdcm = callPackage ../development/libraries/gdcm { };
+
   ggz_base_libs = callPackage ../development/libraries/ggz_base_libs {};
 
   giblib = callPackage ../development/libraries/giblib { };
@@ -4698,7 +5808,7 @@ let
   glfw2 = callPackage ../development/libraries/glfw/2.x.nix { };
   glfw3 = callPackage ../development/libraries/glfw/3.x.nix { };
 
-  glibc = callPackage ../development/libraries/glibc/2.19 {
+  glibc = callPackage ../development/libraries/glibc {
     kernelHeaders = linuxHeaders;
     installLocales = config.glibc.locales or false;
     machHeaders = null;
@@ -4706,13 +5816,13 @@ let
     gccCross = null;
   };
 
-  glibc_memusage = callPackage ../development/libraries/glibc/2.19 {
+  glibc_memusage = callPackage ../development/libraries/glibc {
     kernelHeaders = linuxHeaders;
     installLocales = false;
     withGd = true;
   };
 
-  glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.19)
+  glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc)
     (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu";
      in {
        inherit stdenv fetchurl;
@@ -4735,21 +5845,18 @@ let
 
   libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc;
 
-  eglibc = callPackage ../development/libraries/eglibc {
-    kernelHeaders = linuxHeaders;
-    installLocales = config.glibc.locales or false;
-  };
+  # Only supported on Linux
+  glibcLocales = if stdenv.isLinux then callPackage ../development/libraries/glibc/locales.nix { } else null;
 
-  glibcLocales = callPackage ../development/libraries/glibc/2.19/locales.nix { };
+  glibcInfo = callPackage ../development/libraries/glibc/info.nix { };
 
-  glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { };
-
-  glibc_multi = callPackage ../development/libraries/glibc/2.19/multi.nix {
+  glibc_multi = callPackage ../development/libraries/glibc/multi.nix {
     inherit glibc;
     glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
   };
 
   glm = callPackage ../development/libraries/glm { };
+  glm_0954 = callPackage ../development/libraries/glm/0954.nix { };
 
   glog = callPackage ../development/libraries/glog { };
 
@@ -4758,25 +5865,21 @@ let
   glpk = callPackage ../development/libraries/glpk { };
 
   glsurf = callPackage ../applications/science/math/glsurf {
-    inherit (ocamlPackages) lablgl findlib camlimages ocaml_mysql mlgmp;
+    inherit (ocamlPackages) lablgl findlib ocaml_mysql mlgmp;
     libpng = libpng12;
     giflib = giflib_4_1;
+    camlimages = ocamlPackages.camlimages_4_0;
   };
 
   gmime = callPackage ../development/libraries/gmime { };
 
   gmm = callPackage ../development/libraries/gmm { };
 
+  gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; # required by older GHC versions
+  gmp5 = callPackage ../development/libraries/gmp/5.1.x.nix { };
   gmp = gmp5;
-  gmp5 = gmp51;
-
   gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; });
 
-  # The GHC bootstrap binaries link against libgmp.so.3, which is in GMP 4.x.
-  gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { };
-
-  gmp51 = callPackage ../development/libraries/gmp/5.1.x.nix { };
-
   #GMP ex-satellite, so better keep it near gmp
   mpfr = callPackage ../development/libraries/mpfr/default.nix { };
 
@@ -4789,7 +5892,7 @@ let
   gperftools = callPackage ../development/libraries/gperftools { };
 
   gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
-    callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_10; });
+    callPackage = pkgs.newScope (pkgs // { inherit (pkgs) libav; });
   });
 
   gst_all = {
@@ -4829,21 +5932,27 @@ let
 
   qt_gstreamer = callPackage ../development/libraries/gstreamer/legacy/qt-gstreamer {};
 
+  qt_gstreamer1 = callPackage ../development/libraries/gstreamer/qt-gstreamer { boost = boost156;};
+
   gnet = callPackage ../development/libraries/gnet { };
 
   gnu-efi = callPackage ../development/libraries/gnu-efi { };
 
-  gnutls = gnutls32;
+  gnutls = gnutls33;
 
-  gnutls31 = callPackage ../development/libraries/gnutls/3.1.nix {
+  gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix {
     guileBindings = config.gnutls.guile or false;
+    nettle = nettle27;
   };
 
-  gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix {
+  gnutls33 = callPackage ../development/libraries/gnutls/3.3.nix {
     guileBindings = config.gnutls.guile or false;
+    nettle = nettle27;
   };
 
-  gnutls_with_guile = lowPrio (gnutls.override { guileBindings = true; });
+  gnutls32_with_guile = lowPrio (gnutls32.override { guileBindings = true; });
+
+  gnutls33_with_guile = lowPrio (gnutls33.override { guileBindings = true; });
 
   gpac = callPackage ../applications/video/gpac { };
 
@@ -4899,12 +6008,11 @@ let
 
   pangox_compat = callPackage ../development/libraries/pangox-compat { };
 
-  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf {
-    # workaround signal 10 in gdk_pixbuf tests
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
+
+  gnome-sharp = callPackage ../development/libraries/gnome-sharp {};
+
+  granite = callPackage ../development/libraries/granite { };
 
   gtk2 = callPackage ../development/libraries/gtk+/2.x.nix {
     cupsSupport = config.gtk2.cups or stdenv.isLinux;
@@ -4918,30 +6026,21 @@ let
   gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { };
 
   gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp {
-    gtksharp = gtksharp2;
+    gtksharp = gtk-sharp;
   };
 
-  gtksharp1 = callPackage ../development/libraries/gtk-sharp-1 {
-    inherit (gnome) libglade libgtkhtml gtkhtml
-              libgnomecanvas libgnomeui libgnomeprint
-              libgnomeprintui GConf;
-  };
-
-  gtksharp2 = callPackage ../development/libraries/gtk-sharp-2 {
+  gtk-sharp = callPackage ../development/libraries/gtk-sharp-2 {
     inherit (gnome) libglade libgtkhtml gtkhtml
               libgnomecanvas libgnomeui libgnomeprint
               libgnomeprintui GConf gnomepanel;
   };
 
-  gtksourceviewsharp = callPackage ../development/libraries/gtksourceview-sharp {
-    inherit (gnome) gtksourceview;
-    gtksharp = gtksharp2;
-  };
-
   gtkspell = callPackage ../development/libraries/gtkspell { };
 
   gtkspell3 = callPackage ../development/libraries/gtkspell/3.nix { };
 
+  gtkspellmm = callPackage ../development/libraries/gtkspellmm { };
+
   gts = callPackage ../development/libraries/gts { };
 
   gvfs = callPackage ../development/libraries/gvfs { gconf = gnome.GConf; };
@@ -4951,26 +6050,52 @@ let
   hamlib = callPackage ../development/libraries/hamlib { };
 
   # TODO : Add MIT Kerberos and let admin choose.
-  kerberos = heimdal;
+  # TODO : Fix kerberos on Darwin
+  kerberos = if stdenv.isDarwin then null else heimdal;
 
-  heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { };
+  heimdal = callPackage ../development/libraries/kerberos/heimdal.nix {
+    openldap = openldap.override {
+      cyrus_sasl = cyrus_sasl.override { kerberos = null; };
+    };
+    cyrus_sasl = cyrus_sasl.override { kerberos = null; };
+  };
 
   harfbuzz = callPackage ../development/libraries/harfbuzz { };
+  harfbuzz-icu = callPackage ../development/libraries/harfbuzz {
+    withIcu = true;
+    withGraphite2 = true;
+  };
 
   hawknl = callPackage ../development/libraries/hawknl { };
 
   herqq = callPackage ../development/libraries/herqq { };
 
+  hidapi = callPackage ../development/libraries/hidapi {
+    libusb = libusb1;
+  };
+
+  hiredis = callPackage ../development/libraries/hiredis { };
+
+  hivex = callPackage ../development/libraries/hivex {
+    inherit (perlPackages) IOStringy;
+  };
+
   hspell = callPackage ../development/libraries/hspell { };
 
   hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { };
 
   hsqldb = callPackage ../development/libraries/java/hsqldb { };
 
+  hstr = callPackage ../applications/misc/hstr { };
+
   http-parser = callPackage ../development/libraries/http-parser { inherit (pythonPackages) gyp; };
 
   hunspell = callPackage ../development/libraries/hunspell { };
 
+  hunspellDicts = recurseIntoAttrs (import ../development/libraries/hunspell/dictionaries.nix {
+    inherit stdenv fetchurl unzip;
+  });
+
   hwloc = callPackage ../development/libraries/hwloc {
     inherit (xlibs) libX11;
   };
@@ -4995,6 +6120,8 @@ let
 
   imlib2 = callPackage ../development/libraries/imlib2 { };
 
+  ijs = callPackage ../development/libraries/ijs { };
+
   incrtcl = callPackage ../development/libraries/incrtcl { };
 
   indilib = callPackage ../development/libraries/indilib { };
@@ -5021,10 +6148,16 @@ let
 
   jbig2dec = callPackage ../development/libraries/jbig2dec { };
 
+  jbigkit = callPackage ../development/libraries/jbigkit { };
+
+  jemalloc = callPackage ../development/libraries/jemalloc { };
+
   jetty_gwt = callPackage ../development/libraries/java/jetty-gwt { };
 
   jetty_util = callPackage ../development/libraries/java/jetty-util { };
 
+  jshon = callPackage ../development/tools/parsing/jshon { };
+
   json_glib = callPackage ../development/libraries/json-glib { };
 
   json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { }; # vulnerable
@@ -5043,10 +6176,21 @@ let
 
   keybinder3 = callPackage ../development/libraries/keybinder3 {
     automake = automake111x;
-    lua = lua5_1;
   };
 
-  krb5 = callPackage ../development/libraries/kerberos/krb5.nix { };
+  kf57 = recurseIntoAttrs (callPackage ../development/libraries/kde-frameworks-5.7 { });
+  kf59 = recurseIntoAttrs (callPackage ../development/libraries/kde-frameworks-5.9 { });
+  kf5_latest = kf59;
+  kf5_stable = kf57;
+
+  krb5 = callPackage ../development/libraries/kerberos/krb5.nix {
+    openldap = openldap.override {
+      cyrus_sasl = cyrus_sasl.override { kerberos = null; };
+    };
+    inherit (darwin) bootstrap_cmds;
+  };
+
+  LASzip = callPackage ../development/libraries/LASzip { };
 
   lcms = lcms1;
 
@@ -5054,7 +6198,13 @@ let
 
   lcms2 = callPackage ../development/libraries/lcms2 { };
 
-  lensfun = callPackage ../development/libraries/lensfun { };
+  ldb = callPackage ../development/libraries/ldb {
+    python = python2;
+  };
+
+  lensfun = callPackage ../development/libraries/lensfun {
+    inherit gnumake3;
+  };
 
   lesstif = callPackage ../development/libraries/lesstif { };
 
@@ -5068,10 +6218,6 @@ let
     libpng = libpng12;
   };
 
-  lgi = callPackage ../development/libraries/lgi {
-    lua = lua5_1;
-  };
-
   lib3ds = callPackage ../development/libraries/lib3ds { };
 
   libaacs = callPackage ../development/libraries/libaacs { };
@@ -5082,21 +6228,27 @@ let
     usePulseAudio = config.pulseaudio or true;
   };
 
+  libantlr3c = callPackage ../development/libraries/libantlr3c {};
+
   libarchive = callPackage ../development/libraries/libarchive { };
 
+  libasr = callPackage ../development/libraries/libasr { };
+
   libass = callPackage ../development/libraries/libass { };
 
   libassuan1 = callPackage ../development/libraries/libassuan1 { };
 
   libassuan = callPackage ../development/libraries/libassuan { };
 
-  libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix { };
+  libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix {
+    automake = automake112x; # fails with 13 and 14
+  };
 
   libatomic_ops = callPackage ../development/libraries/libatomic_ops {};
 
-  libav = libav_10;
+  libav = libav_11; # branch 11 is API-compatible with branch 10
   libav_all = callPackage ../development/libraries/libav { };
-  inherit (libav_all) libav_0_8 libav_9 libav_10;
+  inherit (libav_all) libav_0_8 libav_9 libav_11;
 
   libavc1394 = callPackage ../development/libraries/libavc1394 { };
 
@@ -5114,6 +6266,8 @@ let
     then libcanberra.override { gtk = null; }
     else libcanberra;
 
+  libcec = callPackage ../development/libraries/libcec { };
+
   libcello = callPackage ../development/libraries/libcello {};
 
   libcdaudio = callPackage ../development/libraries/libcdaudio { };
@@ -5129,10 +6283,16 @@ let
     inherit (gnome) libsoup;
   };
 
-  libchamplain_0_6 = callPackage ../development/libraries/libchamplain/0.6.nix {};
+  libchardet = callPackage ../development/libraries/libchardet { };
+
+  libuchardet = callPackage ../development/libraries/libuchardet { };
 
   libchop = callPackage ../development/libraries/libchop { };
 
+  libclc = callPackage ../development/libraries/libclc { };
+
+  libcli = callPackage ../development/libraries/libcli { };
+
   libcm = callPackage ../development/libraries/libcm { };
 
   inherit (gnome3) libcroco;
@@ -5143,6 +6303,10 @@ let
 
   libctemplate = callPackage ../development/libraries/libctemplate { };
 
+  libctemplate_2_2 = callPackage ../development/libraries/libctemplate/2.2.nix { };
+
+  libcouchbase = callPackage ../development/libraries/libcouchbase { };
+
   libcue = callPackage ../development/libraries/libcue { };
 
   libdaemon = callPackage ../development/libraries/libdaemon { };
@@ -5159,6 +6323,7 @@ let
   };
 
   libdbusmenu_qt = callPackage ../development/libraries/libdbusmenu-qt { };
+  libdbusmenu_qt5 = callPackage ../development/libraries/libdbusmenu-qt/qt5.nix { };
 
   libdc1394 = callPackage ../development/libraries/libdc1394 { };
 
@@ -5166,6 +6331,11 @@ let
 
   libdevil = callPackage ../development/libraries/libdevil { };
 
+  libdevil-nox = libdevil.override {
+    libX11 = null;
+    mesa = null;
+  };
+
   libdiscid = callPackage ../development/libraries/libdiscid { };
 
   libdivsufsort = callPackage ../development/libraries/libdivsufsort { };
@@ -5200,7 +6370,22 @@ let
 
   libelf = callPackage ../development/libraries/libelf { };
 
+  libetpan = callPackage ../development/libraries/libetpan { };
+
+  libfaketime = callPackage ../development/libraries/libfaketime { };
+
+  libfakekey = callPackage ../development/libraries/libfakekey {
+    inherit (xlibs) libX11 libXi xextproto;
+  };
+
   libfm = callPackage ../development/libraries/libfm { };
+  libfm-extra = callPackage ../development/libraries/libfm {
+    extraOnly = true;
+  };
+
+  libfprint = callPackage ../development/libraries/libfprint { };
+
+  libfpx = callPackage ../development/libraries/libfpx { };
 
   libgadu = callPackage ../development/libraries/libgadu { };
 
@@ -5221,6 +6406,8 @@ let
 
   libgtop = callPackage ../development/libraries/libgtop {};
 
+  libLAS = callPackage ../development/libraries/libLAS { };
+
   liblo = callPackage ../development/libraries/liblo { };
 
   liblrdf = librdf;
@@ -5228,9 +6415,10 @@ let
   liblscp = callPackage ../development/libraries/liblscp { };
 
   libe-book = callPackage ../development/libraries/libe-book {};
-  libe-book_00 = callPackage ../development/libraries/libe-book/0.0.nix {};
 
-  libev = builderDefsPackage ../development/libraries/libev { };
+  libechonest = callPackage ../development/libraries/libechonest { };
+
+  libev = callPackage ../development/libraries/libev { };
 
   libevent14 = callPackage ../development/libraries/libevent/1.4.nix { };
   libevent = callPackage ../development/libraries/libevent { };
@@ -5261,6 +6449,8 @@ let
 
   libffi = callPackage ../development/libraries/libffi { };
 
+  libfreefare = callPackage ../development/libraries/libfreefare { };
+
   libftdi = callPackage ../development/libraries/libftdi { };
 
   libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { };
@@ -5277,14 +6467,24 @@ let
 
   libgphoto2 = callPackage ../development/libraries/libgphoto2 { };
 
-  libgphoto2_4 = callPackage ../development/libraries/libgphoto2/2.4.nix { };
-
   libgpod = callPackage ../development/libraries/libgpod {
     inherit (pkgs.pythonPackages) mutagen;
   };
 
+  libgsystem = callPackage ../development/libraries/libgsystem { };
+
+  libguestfs = callPackage ../development/libraries/libguestfs {
+    inherit (perlPackages) libintlperl GetoptLong SysVirt;
+  };
+
   libharu = callPackage ../development/libraries/libharu { };
 
+  libHX = callPackage ../development/libraries/libHX { };
+
+  libibmad = callPackage ../development/libraries/libibmad { };
+
+  libibumad = callPackage ../development/libraries/libibumad { };
+
   libical = callPackage ../development/libraries/libical { };
 
   libicns = callPackage ../development/libraries/libicns { };
@@ -5307,8 +6507,14 @@ let
 
   liblogging = callPackage ../development/libraries/liblogging { };
 
+  liblognorm = callPackage ../development/libraries/liblognorm { };
+
+  libltc = callPackage ../development/libraries/libltc { };
+
   libmcrypt = callPackage ../development/libraries/libmcrypt {};
 
+  libmediainfo = callPackage ../development/libraries/libmediainfo { };
+
   libmhash = callPackage ../development/libraries/libmhash {};
 
   libmodbus = callPackage ../development/libraries/libmodbus {};
@@ -5316,9 +6522,12 @@ let
   libmtp = callPackage ../development/libraries/libmtp { };
 
   libmsgpack = callPackage ../development/libraries/libmsgpack { };
+  libmsgpack_0_5 = callPackage ../development/libraries/libmsgpack/0.5.nix { };
 
   libnatspec = callPackage ../development/libraries/libnatspec { };
 
+  libndp = callPackage ../development/libraries/libndp { };
+
   libnfc = callPackage ../development/libraries/libnfc { };
 
   libnfsidmap = callPackage ../development/libraries/libnfsidmap { };
@@ -5334,6 +6543,8 @@ let
   libre = callPackage ../development/libraries/libre {};
   librem = callPackage ../development/libraries/librem {};
 
+  librelp = callPackage ../development/libraries/librelp { };
+
   libresample = callPackage ../development/libraries/libresample {};
 
   librevenge = callPackage ../development/libraries/librevenge {};
@@ -5342,23 +6553,18 @@ let
 
   libsamplerate = callPackage ../development/libraries/libsamplerate { };
 
+  libsieve = callPackage ../development/libraries/libsieve { };
+
   libspectre = callPackage ../development/libraries/libspectre { };
 
   libgsf = callPackage ../development/libraries/libgsf { };
 
-  libiconv = callPackage ../development/libraries/libiconv { };
-
-  libiconvOrEmpty = if libiconvOrNull == null then [] else [libiconv];
-
-  libiconvOrNull =
-    if gcc.libc or null != null || stdenv.isGlibc
-    then null
-    else libiconv;
+  # glibc provides libiconv so systems with glibc don't need to build libiconv
+  # separately, but we also provide libiconvReal, which will always be a
+  # standalone libiconv, just in case you want it
+  libiconv = if stdenv.isGlibc then stdenv.cc.libc else libiconvReal;
 
-  # The logic behind this attribute is broken: libiconvOrNull==null does
-  # NOT imply libiconv=glibc! On Darwin, for example, we have a native
-  # libiconv library which is not glibc.
-  libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv;
+  libiconvReal = callPackage ../development/libraries/libiconv { };
 
   # On non-GNU systems we need GNU Gettext for libintl.
   libintlOrEmpty = stdenv.lib.optional (!stdenv.isLinux) gettext;
@@ -5373,6 +6579,10 @@ let
     inherit (gnome) gtkdoc;
   };
 
+  libinput = callPackage ../development/libraries/libinput {
+    graphviz = graphviz-nox;
+  };
+
   libiptcdata = callPackage ../development/libraries/libiptcdata { };
 
   libjpeg_original = callPackage ../development/libraries/libjpeg { };
@@ -5385,10 +6595,14 @@ let
     libtool = libtool_1_5;
   };
 
+  libjreen = callPackage ../development/libraries/libjreen { };
+
   libjson_rpc_cpp = callPackage ../development/libraries/libjson-rpc-cpp { };
 
   libkate = callPackage ../development/libraries/libkate { };
 
+  libkeyfinder = callPackage ../development/libraries/libkeyfinder { };
+
   libksba = callPackage ../development/libraries/libksba { };
 
   libmad = callPackage ../development/libraries/libmad { };
@@ -5405,12 +6619,7 @@ let
 
   libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { };
 
-  libmikmod = callPackage ../development/libraries/libmikmod {
-    # resolve the "stray '@' in program" errors
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  libmikmod = callPackage ../development/libraries/libmikmod { };
 
   libmilter = callPackage ../development/libraries/libmilter { };
 
@@ -5447,7 +6656,6 @@ let
   libmusicbrainz = libmusicbrainz3;
 
   libmwaw = callPackage ../development/libraries/libmwaw { };
-  libmwaw_02 = callPackage ../development/libraries/libmwaw/0.2.nix { };
 
   libmx = callPackage ../development/libraries/libmx { };
 
@@ -5455,6 +6663,10 @@ let
 
   libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { };
 
+  libnetfilter_cthelper = callPackage ../development/libraries/libnetfilter_cthelper { };
+
+  libnetfilter_cttimeout = callPackage ../development/libraries/libnetfilter_cttimeout { };
+
   libnetfilter_queue = callPackage ../development/libraries/libnetfilter_queue { };
 
   libnfnetlink = callPackage ../development/libraries/libnfnetlink { };
@@ -5479,6 +6691,8 @@ let
 
   liboil = callPackage ../development/libraries/liboil { };
 
+  libomxil-bellagio = callPackage ../development/libraries/libomxil-bellagio { };
+
   liboop = callPackage ../development/libraries/liboop { };
 
   libopus = callPackage ../development/libraries/libopus { };
@@ -5489,6 +6703,8 @@ let
 
   libosip_3 = callPackage ../development/libraries/osip/3.nix {};
 
+  libosmpbf = callPackage ../development/libraries/libosmpbf {};
+
   libotr = callPackage ../development/libraries/libotr {
     libgcrypt = libgcrypt_1_6;
   };
@@ -5503,6 +6719,8 @@ let
 
   libpipeline = callPackage ../development/libraries/libpipeline { };
 
+  libpgf = callPackage ../development/libraries/libpgf { };
+
   libpng = callPackage ../development/libraries/libpng { };
   libpng_apng = libpng.override { apngSupport = true; };
   libpng12 = callPackage ../development/libraries/libpng/12.nix { };
@@ -5510,21 +6728,23 @@ let
 
   libpaper = callPackage ../development/libraries/libpaper { };
 
+  libpfm = callPackage ../development/libraries/libpfm { };
+
   libproxy = callPackage ../development/libraries/libproxy {
     stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gcc
+      then overrideCC stdenv gcc
       else stdenv;
   };
 
   libpseudo = callPackage ../development/libraries/libpseudo { };
 
+  libpst = callPackage ../development/libraries/libpst { };
+
   libpwquality = callPackage ../development/libraries/libpwquality { };
 
   libqalculate = callPackage ../development/libraries/libqalculate { };
 
-  librsvg = callPackage ../development/libraries/librsvg {
-    gtk2 = null; gtk3 = null; # neither gtk version by default
-  };
+  librsvg = callPackage ../development/libraries/librsvg { };
 
   librsync = callPackage ../development/libraries/librsync { };
 
@@ -5551,10 +6771,16 @@ let
 
   libstartup_notification = callPackage ../development/libraries/startup-notification { };
 
+  libstrophe = callPackage ../development/libraries/libstrophe { };
+
   libspatialindex = callPackage ../development/libraries/libspatialindex { };
 
   libspatialite = callPackage ../development/libraries/libspatialite { };
 
+  libstatgrab = callPackage ../development/libraries/libstatgrab { };
+
+  libsvm = callPackage ../development/libraries/libsvm { };
+
   libtar = callPackage ../development/libraries/libtar { };
 
   libtasn1 = callPackage ../development/libraries/libtasn1 { };
@@ -5567,7 +6793,11 @@ let
 
   libtommath = callPackage ../development/libraries/libtommath { };
 
-  libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar {
+  libtomcrypt = callPackage ../development/libraries/libtomcrypt { };
+
+  libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { };
+
+  libtorrentRasterbar_0_16 = callPackage ../development/libraries/libtorrent-rasterbar/0.16.nix {
     # fix "unrecognized option -arch" error
     stdenv = if stdenv.isDarwin
       then clangStdenv
@@ -5586,35 +6816,45 @@ let
 
   libgeotiff = callPackage ../development/libraries/libgeotiff { };
 
+  libu2f-host = callPackage ../development/libraries/libu2f-host { };
+
   libunistring = callPackage ../development/libraries/libunistring { };
 
   libupnp = callPackage ../development/libraries/pupnp { };
 
-  giflib = callPackage ../development/libraries/giflib { };
+  giflib = giflib_5_1;
   giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { };
+  giflib_5_0 = callPackage ../development/libraries/giflib/5.0.nix { };
+  giflib_5_1 = callPackage ../development/libraries/giflib/5.1.nix { };
 
   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
 
   libunibreak = callPackage ../development/libraries/libunibreak { };
 
   libunique = callPackage ../development/libraries/libunique/default.nix { };
+  libunique3 = callPackage ../development/libraries/libunique/3.x.nix { inherit (gnome) gtkdoc; };
 
   liburcu = callPackage ../development/libraries/liburcu { };
 
   libusb = callPackage ../development/libraries/libusb {};
 
-  libusb1 = callPackage ../development/libraries/libusb1 {
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  libusb1 = callPackage ../development/libraries/libusb1 { };
+
+  libunwind = if stdenv.isDarwin
+    then callPackage ../development/libraries/libunwind/native.nix {}
+    else callPackage ../development/libraries/libunwind { };
 
-  libunwind = callPackage ../development/libraries/libunwind { };
+  libunwindNative = callPackage ../development/libraries/libunwind/native.nix {};
 
-  libuvVersions = callPackage ../development/libraries/libuv { };
+  libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv {
+    automake = automake113x; # fails with 14
+  });
 
   libv4l = lowPrio (v4l_utils.override {
-    withQt4 = false;
+    alsaLib = null;
+    libX11 = null;
+    qt4 = null;
+    qt5 = null;
   });
 
   libva = callPackage ../development/libraries/libva { };
@@ -5633,7 +6873,8 @@ let
 
   libviper = callPackage ../development/libraries/libviper { };
 
-  libvpx = callPackage ../development/libraries/libvpx { };
+  libvpx = if stdenv.isDarwin then libvpx-git else callPackage ../development/libraries/libvpx { };
+  libvpx-git = callPackage ../development/libraries/libvpx/git.nix { };
 
   libvterm = callPackage ../development/libraries/libvterm { };
 
@@ -5661,6 +6902,8 @@ let
 
   libxklavier = callPackage ../development/libraries/libxklavier { };
 
+  libxls = callPackage ../development/libraries/libxls { };
+
   libxmi = callPackage ../development/libraries/libxmi { };
 
   libxml2 = callPackage ../development/libraries/libxml2 {
@@ -5684,18 +6927,18 @@ let
   libyaml = callPackage ../development/libraries/libyaml { };
 
   libyamlcpp = callPackage ../development/libraries/libyaml-cpp { };
-  libyamlcpp03 = callPackage ../development/libraries/libyaml-cpp/0.3.x.nix { };
 
-  libyubikey = callPackage ../development/libraries/libyubikey {};
+  libykneomgr = callPackage ../development/libraries/libykneomgr { };
+
+  libyubikey = callPackage ../development/libraries/libyubikey { };
+
+  libzen = callPackage ../development/libraries/libzen { };
 
   libzip = callPackage ../development/libraries/libzip { };
 
   libzdb = callPackage ../development/libraries/libzdb { };
 
   libzrtpcpp = callPackage ../development/libraries/libzrtpcpp { };
-  libzrtpcpp_1_6 = callPackage ../development/libraries/libzrtpcpp/1.6.nix {
-    ccrtp = ccrtp_1_8;
-  };
 
   libwacom = callPackage ../development/libraries/libwacom { };
 
@@ -5703,6 +6946,8 @@ let
 
   lirc = callPackage ../development/libraries/lirc { };
 
+  liquidfun = callPackage ../development/libraries/liquidfun { };
+
   liquidwar = builderDefsPackage ../games/liquidwar {
     inherit (xlibs) xproto libX11 libXrender;
     inherit gmp mesa libjpeg
@@ -5723,8 +6968,16 @@ let
 
   loudmouth = callPackage ../development/libraries/loudmouth { };
 
+  luabind = callPackage ../development/libraries/luabind { lua = lua5_1; };
+
+  luabind_luajit = callPackage ../development/libraries/luabind { lua = luajit; };
+
   lzo = callPackage ../development/libraries/lzo { };
 
+  matio = callPackage ../development/libraries/matio { };
+
+  mbedtls = callPackage ../development/libraries/mbedtls { };
+
   mdds_0_7_1 = callPackage ../development/libraries/mdds/0.7.1.nix { };
   mdds = callPackage ../development/libraries/mdds { };
 
@@ -5742,6 +6995,8 @@ let
     # 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;
+    libva = libva.override { mesa = null; };
+    llvmPackages = llvmPackages_36;
   });
   mesa_glu =  mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
   mesa_drivers = mesaDarwinOr (
@@ -5779,23 +7034,31 @@ let
   minmay = callPackage ../development/libraries/minmay { };
 
   miro = callPackage ../applications/video/miro {
-    inherit (pythonPackages) pywebkitgtk pysqlite pycurl mutagen;
+    inherit (pythonPackages) pywebkitgtk pycurl mutagen;
+    avahi = avahi.override {
+      withLibdnssdCompat = true;
+    };
   };
 
   mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
 
+  mkvtoolnix-cli = mkvtoolnix.override {
+    withGUI = false;
+    wxGTK = null;
+  };
+
   mlt-qt4 = callPackage ../development/libraries/mlt {
     qt = qt4;
-    SDL = SDL_pulseaudio;
   };
 
   mlt-qt5 = callPackage ../development/libraries/mlt {
     qt = qt5;
-    SDL = SDL_pulseaudio;
   };
 
   movit = callPackage ../development/libraries/movit { };
 
+  mosquitto = callPackage ../servers/mqtt/mosquitto { };
+
   mps = callPackage ../development/libraries/mps { };
 
   libmpeg2 = callPackage ../development/libraries/libmpeg2 { };
@@ -5806,10 +7069,12 @@ let
 
   mp4v2 = callPackage ../development/libraries/mp4v2 { };
 
-  mpc = callPackage ../development/libraries/mpc { };
+  libmpc = callPackage ../development/libraries/libmpc { };
 
   mpich2 = callPackage ../development/libraries/mpich2 { };
 
+  mstpd = callPackage ../os-specific/linux/mstpd { };
+
   mtdev = callPackage ../development/libraries/mtdev { };
 
   mtpfs = callPackage ../tools/filesystems/mtpfs { };
@@ -5845,6 +7110,7 @@ let
     inherit ncurses flex bison;
   };
 
+  nettle27 = callPackage ../development/libraries/nettle/27.nix { };
   nettle = callPackage ../development/libraries/nettle { };
 
   newt = callPackage ../development/libraries/newt { };
@@ -5857,6 +7123,8 @@ let
 
   nss = lowPrio (callPackage ../development/libraries/nss { });
 
+  nss_wrapper = callPackage ../development/libraries/nss_wrapper { };
+
   nssTools = callPackage ../development/libraries/nss {
     includeTools = true;
   };
@@ -5880,6 +7148,8 @@ let
 
   openbabel = callPackage ../development/libraries/openbabel { };
 
+  openbr = callPackage ../development/libraries/openbr { };
+
   opencascade = callPackage ../development/libraries/opencascade { };
 
   opencascade_6_5 = callPackage ../development/libraries/opencascade/6.5.nix {
@@ -5889,6 +7159,8 @@ let
 
   opencascade_oce = callPackage ../development/libraries/opencascade/oce.nix { };
 
+  opencollada = callPackage ../development/libraries/opencollada { };
+
   opencsg = callPackage ../development/libraries/opencsg { };
 
   openct = callPackage ../development/libraries/openct { };
@@ -5900,7 +7172,7 @@ let
   };
 
   # this ctl version is needed by openexr_viewers
-  openexr_ctl = callPackage ../development/libraries/openexr_ctl { };
+  openexr_ctl = ctl;
 
   openexr = callPackage ../development/libraries/openexr { };
 
@@ -5916,7 +7188,10 @@ let
 
   opal = callPackage ../development/libraries/opal {};
 
-  openjpeg = callPackage ../development/libraries/openjpeg { lcms = lcms2; };
+  openjpeg_1 = callPackage ../development/libraries/openjpeg/1.x.nix { };
+  openjpeg_2_0_1 = callPackage ../development/libraries/openjpeg/2.0.1.nix { };
+  openjpeg_2_1 = callPackage ../development/libraries/openjpeg/2.1.nix { };
+  openjpeg = openjpeg_2_1;
 
   openscenegraph = callPackage ../development/libraries/openscenegraph {
     giflib = giflib_4_1;
@@ -5937,9 +7212,7 @@ let
     };
   };
 
-  ortp = callPackage ../development/libraries/ortp {
-    srtp = srtp_linphone;
-  };
+  ortp = callPackage ../development/libraries/ortp { };
 
   p11_kit = callPackage ../development/libraries/p11-kit { };
 
@@ -5957,42 +7230,69 @@ let
 
   pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
 
-  phonon = callPackage ../development/libraries/phonon { };
+  phonon = callPackage ../development/libraries/phonon/qt4 {};
+
+  phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer/qt4 {};
+
+  phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc/qt4 {};
+
+  phonon_qt5 = callPackage ../development/libraries/phonon/qt5 { };
 
-  phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { };
+  phonon_qt5_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer/qt5 { };
 
-  phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { };
+  phonon_qt5_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc/qt5 { };
 
   physfs = callPackage ../development/libraries/physfs { };
 
+  pipelight = callPackage ../tools/misc/pipelight { };
+
   pkcs11helper = callPackage ../development/libraries/pkcs11helper { };
 
   plib = callPackage ../development/libraries/plib { };
 
   pocketsphinx = callPackage ../development/libraries/pocketsphinx { };
 
-  podofo = callPackage ../development/libraries/podofo { };
+  podofo = callPackage ../development/libraries/podofo { lua5 = lua5_1; };
+
+  poker-eval = callPackage ../development/libraries/poker-eval { };
+
+  polarssl = mbedtls;
 
   polkit = callPackage ../development/libraries/polkit {
-    spidermonkey = spidermonkey_185;
+    spidermonkey = spidermonkey_17;
   };
 
-  polkit_qt_1 = callPackage ../development/libraries/polkit-qt-1 { };
+  polkit_qt4 = callPackage ../development/libraries/polkit-qt-1 {
+    inherit qt4;
+  };
+
+  polkit_qt5 = callPackage ../development/libraries/polkit-qt-1 {
+    withQt5 = true;
+    inherit qt5;
+  };
 
   policykit = callPackage ../development/libraries/policykit { };
 
   poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
-  popplerQt4 = poppler.poppler_qt4;
 
-  popt = callPackage ../development/libraries/popt { };
+  poppler_qt4 = poppler.override {
+    inherit qt4;
+    qt4Support = true;
+    suffix = "qt4";
+  };
 
-  portaudio = callPackage ../development/libraries/portaudio {
-    # resolves a variety of compile-time errors
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
+  poppler_qt5 = poppler.override {
+    qt5Support = true;
+    inherit qt5;
+    suffix = "qt5";
   };
 
+  poppler_utils = poppler.override { suffix = "utils"; utils = true; };
+
+  popt = callPackage ../development/libraries/popt { };
+
+  portaudio = callPackage ../development/libraries/portaudio { };
+
   portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { };
 
   portmidi = callPackage ../development/libraries/portmidi {};
@@ -6003,9 +7303,13 @@ let
 
   postgis = callPackage ../development/libraries/postgis { };
 
-  protobuf = callPackage ../development/libraries/protobuf { };
+  protobuf = protobuf2_6;
+  protobuf2_6 = callPackage ../development/libraries/protobuf/2.6.nix { };
+  protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { };
 
-  protobufc = callPackage ../development/libraries/protobufc { };
+  protobufc = protobufc1_1;
+  protobufc1_1 = callPackage ../development/libraries/protobufc/1.1.nix { };
+  protobufc1_0 = callPackage ../development/libraries/protobufc/1.0.nix { };
 
   pth = callPackage ../development/libraries/pth { };
 
@@ -6013,16 +7317,20 @@ let
 
   re2 = callPackage ../development/libraries/re2 { };
 
-  qca2 = callPackage ../development/libraries/qca2 {};
-
-  qca2_ossl = callPackage ../development/libraries/qca2/ossl.nix {};
+  qca2 = callPackage ../development/libraries/qca2 { qt = qt4; };
 
   qimageblitz = callPackage ../development/libraries/qimageblitz {};
 
   qjson = callPackage ../development/libraries/qjson { };
 
+  qmltermwidget = callPackage ../development/libraries/qmltermwidget { };
+
   qoauth = callPackage ../development/libraries/qoauth { };
 
+  quazip = callPackage ../development/libraries/quazip {
+    qt = qt5;
+  };
+
   qt3 = callPackage ../development/libraries/qt-3 {
     openglSupport = mesaSupported;
     libpng = libpng12;
@@ -6035,33 +7343,21 @@ let
     mesa = mesa_noglu;
     inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
     cups = if stdenv.isLinux then cups else null;
-
-    # resolve unrecognised flag '-fconstant-cfstrings' errors
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
-  qt48Full = qt48.override {
+  qt48Full = appendToName "full" (qt48.override {
     docs = true;
     demos = true;
     examples = true;
     developerBuild = true;
-  };
+  });
 
   qt4SDK = qtcreator.override {
     sdkBuild = true;
     qtLib = qt48Full;
   };
 
-  qt53Full = qt53.override {
-    buildDocs = true;
-    buildExamples = true;
-    buildTests = true;
-    developerBuild = true;
-  };
-
-  qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix {
+  qt53 = callPackage ../development/libraries/qt-5/5.3 {
     mesa = mesa_noglu;
     cups = if stdenv.isLinux then cups else null;
     # GNOME dependencies are not used unless gtkStyle == true
@@ -6069,30 +7365,29 @@ let
     bison = bison2; # error: too few arguments to function 'int yylex(...
   };
 
-  qt5 = callPackage ../development/libraries/qt-5 {
-    mesa = mesa_noglu;
-    cups = if stdenv.isLinux then cups else null;
-    # GNOME dependencies are not used unless gtkStyle == true
-    inherit (gnome) libgnomeui GConf gnome_vfs;
-    bison = bison2; # error: too few arguments to function 'int yylex(...
-  };
+  qt54 = recurseIntoAttrs (callPackage ../development/libraries/qt-5/5.4 {});
+
+  qt5 = qt54;
 
-  qt5Full = qt5.override {
+  qt5Full = appendToName "full" (qt53.override {
     buildDocs = true;
     buildExamples = true;
     buildTests = true;
     developerBuild = true;
-  };
+  });
 
   qt5SDK = qtcreator.override {
     sdkBuild = true;
     qtLib = qt5Full;
+    withDocumentation = false; # fails to setup some paths
   };
 
   qtcreator = callPackage ../development/qtcreator {
     qtLib = qt48.override { developerBuild = true; };
   };
 
+  qtkeychain = callPackage ../development/libraries/qtkeychain { };
+
   qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
 
   quesoglc = callPackage ../development/libraries/quesoglc { };
@@ -6110,9 +7405,13 @@ let
   readline = readline6;
   readline6 = readline63;
 
-  readline62 = callPackage ../development/libraries/readline/readline6.nix { };
+  readline5 = callPackage ../development/libraries/readline/5.x.nix { };
+
+  readline62 = callPackage ../development/libraries/readline/6.2.nix { };
+
+  readline63 = callPackage ../development/libraries/readline/6.3.nix { };
 
-  readline63 = callPackage ../development/libraries/readline/readline6.3.nix { };
+  readosm = callPackage ../development/libraries/readosm { };
 
   librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { };
 
@@ -6124,6 +7423,8 @@ let
 
   librdf = callPackage ../development/libraries/librdf { };
 
+  libsmf = callPackage ../development/libraries/audio/libsmf { };
+
   lilv = callPackage ../development/libraries/audio/lilv { };
 
   lv2 = callPackage ../development/libraries/audio/lv2 { };
@@ -6154,7 +7455,7 @@ let
     openglSupport = mesaSupported;
     alsaSupport = (!stdenv.isDarwin);
     x11Support = true;
-    pulseaudioSupport = stdenv.isDarwin; # better go through ALSA
+    pulseaudioSupport = (!stdenv.isDarwin);
 
     # resolve the unrecognized -fpascal-strings option error
     stdenv = if stdenv.isDarwin
@@ -6162,17 +7463,9 @@ let
       else stdenv;
   };
 
-  # Fixes major problems with choppy sound in MLT / Kdenlive / Shotcut
-  SDL_pulseaudio = SDL.override { pulseaudioSupport = true; };
-
   SDL_gfx = callPackage ../development/libraries/SDL_gfx { };
 
-  SDL_image = callPackage ../development/libraries/SDL_image {
-    # provide an Objective-C compiler
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  SDL_image = callPackage ../development/libraries/SDL_image { };
 
   SDL_mixer = callPackage ../development/libraries/SDL_mixer { };
 
@@ -6180,12 +7473,14 @@ let
 
   SDL_sound = callPackage ../development/libraries/SDL_sound { };
 
+  SDL_stretch= callPackage ../development/libraries/SDL_stretch { };
+
   SDL_ttf = callPackage ../development/libraries/SDL_ttf { };
 
   SDL2 = callPackage ../development/libraries/SDL2 {
     openglSupport = mesaSupported;
-    alsaSupport = true;
-    x11Support = true;
+    alsaSupport = (!stdenv.isDarwin);
+    x11Support = (!stdenv.isDarwin);
     pulseaudioSupport = false; # better go through ALSA
   };
 
@@ -6197,10 +7492,14 @@ let
 
   SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { };
 
+  SDL2_ttf = callPackage ../development/libraries/SDL2_ttf { };
+
   serd = callPackage ../development/libraries/serd {};
 
   serf = callPackage ../development/libraries/serf {};
 
+  sfsexp = callPackage ../development/libraries/sfsexp {};
+
   silgraphite = callPackage ../development/libraries/silgraphite {};
   graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix {};
 
@@ -6225,6 +7524,8 @@ let
 
   snappy = callPackage ../development/libraries/snappy { };
 
+  socket_wrapper = callPackage ../development/libraries/socket_wrapper { };
+
   sodium = callPackage ../development/libraries/sodium {};
 
   sofia_sip = callPackage ../development/libraries/sofia-sip { };
@@ -6235,8 +7536,12 @@ let
 
   sord = callPackage ../development/libraries/sord {};
 
+  soundtouch = callPackage ../development/libraries/soundtouch {};
+
   spandsp = callPackage ../development/libraries/spandsp {};
 
+  spatialite_tools = callPackage ../development/libraries/spatialite-tools { };
+
   speechd = callPackage ../development/libraries/speechd { };
 
   speech_tools = callPackage ../development/libraries/speech-tools {};
@@ -6245,6 +7550,8 @@ let
 
   sphinxbase = callPackage ../development/libraries/sphinxbase { };
 
+  sphinxsearch = callPackage ../servers/search/sphinxsearch { };
+
   spice = callPackage ../development/libraries/spice {
     celt = celt_0_5_1;
     inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama;
@@ -6257,29 +7564,24 @@ let
 
   sratom = callPackage ../development/libraries/audio/sratom { };
 
-  srtp = callPackage ../development/libraries/srtp {};
+  srm = callPackage ../tools/security/srm { };
 
-  srtp_linphone = callPackage ../development/libraries/srtp/linphone.nix { };
+  srtp = callPackage ../development/libraries/srtp {
+    libpcap = if stdenv.isLinux then libpcap else null;
+  };
 
-  sqlite = lowPrio (callPackage ../development/libraries/sqlite {
-    readline = null;
-    ncurses = null;
-  });
+  stxxl = callPackage ../development/libraries/stxxl { parallel = true; };
 
-  sqliteInteractive = appendToName "interactive" (sqlite.override {
-    inherit readline ncurses;
-  });
+  sqlite = lowPrio (callPackage ../development/libraries/sqlite { });
+
+  sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; });
 
   sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher {
     readline = null;
     ncurses = null;
   });
 
-  stfl = callPackage ../development/libraries/stfl {
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  stfl = callPackage ../development/libraries/stfl { };
 
   stlink = callPackage ../development/tools/misc/stlink { };
 
@@ -6295,10 +7597,10 @@ let
 
   suil = callPackage ../development/libraries/audio/suil { };
 
-  suitesparse = callPackage ../development/libraries/suitesparse { };
-
   sutils = callPackage ../tools/misc/sutils { };
 
+  svrcore = callPackage ../development/libraries/svrcore { };
+
   sword = callPackage ../development/libraries/sword { };
 
   szip = callPackage ../development/libraries/szip { };
@@ -6309,7 +7611,9 @@ let
 
   taglib_extras = callPackage ../development/libraries/taglib-extras { };
 
-  talloc = callPackage ../development/libraries/talloc { };
+  talloc = callPackage ../development/libraries/talloc {
+    python = python2;
+  };
 
   tclap = callPackage ../development/libraries/tclap {};
 
@@ -6319,7 +7623,13 @@ let
 
   tcltls = callPackage ../development/libraries/tcltls { };
 
-  tdb = callPackage ../development/libraries/tdb { };
+  ntdb = callPackage ../development/libraries/ntdb {
+    python = python2;
+  };
+
+  tdb = callPackage ../development/libraries/tdb {
+    python = python2;
+  };
 
   tecla = callPackage ../development/libraries/tecla { };
 
@@ -6329,6 +7639,10 @@ let
 
   telepathy_qt = callPackage ../development/libraries/telepathy/qt { };
 
+  tevent = callPackage ../development/libraries/tevent {
+    python = python2;
+  };
+
   thrift = callPackage ../development/libraries/thrift { };
 
   tinyxml = tinyxml2;
@@ -6339,11 +7653,18 @@ let
 
   tnt = callPackage ../development/libraries/tnt { };
 
+  kyotocabinet = callPackage ../development/libraries/kyotocabinet { };
+
   tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
+
   tokyotyrant = callPackage ../development/libraries/tokyo-tyrant { };
 
   tremor = callPackage ../development/libraries/tremor { };
 
+  uid_wrapper = callPackage ../development/libraries/uid_wrapper { };
+
+  unibilium = callPackage ../development/libraries/unibilium { };
+
   unicap = callPackage ../development/libraries/unicap {};
 
   tsocks = callPackage ../development/libraries/tsocks { };
@@ -6363,7 +7684,23 @@ let
     libusb = libusb1;
   };
 
-  ucommon = callPackage ../development/libraries/ucommon { };
+  uthash = callPackage ../development/libraries/uthash { };
+
+  ucommon = ucommon_openssl;
+
+  ucommon_openssl = callPackage ../development/libraries/ucommon {
+    gnutls = null;
+  };
+
+  ucommon_gnutls = lowPrio (ucommon.override {
+    openssl = null;
+    zlib = null;
+    gnutls = gnutls;
+  });
+
+  v8_3_16_14 = callPackage ../development/libraries/v8/3.16.14.nix {
+    inherit (pythonPackages) gyp;
+  };
 
   v8 = callPackage ../development/libraries/v8 {
     inherit (pythonPackages) gyp;
@@ -6377,6 +7714,8 @@ let
 
   vcdimager = callPackage ../development/libraries/vcdimager { };
 
+  vid-stab = callPackage ../development/libraries/vid-stab { };
+
   vigra = callPackage ../development/libraries/vigra {
     inherit (pkgs.pythonPackages) numpy;
   };
@@ -6395,24 +7734,36 @@ let
     libpng = libpng12;
   };
 
-  wayland = callPackage ../development/libraries/wayland { };
+  wavpack = callPackage ../development/libraries/wavpack { };
+
+  wayland = callPackage ../development/libraries/wayland {
+    graphviz = graphviz-nox;
+  };
 
   webkit = webkitgtk;
 
   webkitgtk = callPackage ../development/libraries/webkitgtk {
-    harfbuzz = harfbuzz.override {
-      withIcu = true;
-    };
+    harfbuzz = harfbuzz-icu;
+    inherit (xorg) libpthreadstubs;
+    gst-plugins-base = gst_all_1.gst-plugins-base;
+  };
+
+  webkitgtk24x = callPackage ../development/libraries/webkitgtk/2.4.6.nix {
+    harfbuzz = harfbuzz-icu;
     gst-plugins-base = gst_all_1.gst-plugins-base;
   };
 
-  webkitgtk2 = webkitgtk.override {
+  webkitgtk2 = webkitgtk24x.override {
     withGtk2 = true;
     enableIntrospection = false;
   };
 
+  websocketpp = callPackage ../development/libraries/websocket++ { };
+
   wildmidi = callPackage ../development/libraries/wildmidi { };
 
+  wiredtiger = callPackage ../development/libraries/wiredtiger { };
+
   wvstreams = callPackage ../development/libraries/wvstreams { };
 
   wxGTK = wxGTK28;
@@ -6425,27 +7776,21 @@ let
   wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix {
     inherit (gnome) GConf;
     withMesa = lib.elem system lib.platforms.mesaPlatforms;
-
-    # use for Objective-C++ compiler
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
   wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix {
     inherit (gnome) GConf;
     withMesa = lib.elem system lib.platforms.mesaPlatforms;
-
-    # use for Objective-C++ compiler
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
   wtk = callPackage ../development/libraries/wtk { };
 
   x264 = callPackage ../development/libraries/x264 { };
 
+  x265 = callPackage ../development/libraries/x265 { };
+
+  x265-hg = callPackage ../development/libraries/x265/hg.nix { };
+
   xapian = callPackage ../development/libraries/xapian { };
 
   xapianBindings = callPackage ../development/libraries/xapian/bindings {  # TODO perl php Java, tcl, C#, python
@@ -6456,17 +7801,18 @@ let
   xapianBindings10 = callPackage ../development/libraries/xapian/bindings/1.0.x.nix {  # TODO perl php Java, tcl, C#, python
   };
 
+  xavs = callPackage ../development/libraries/xavs { };
+
   Xaw3d = callPackage ../development/libraries/Xaw3d { };
 
   xbase = callPackage ../development/libraries/xbase { };
 
-  xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
+  xcb-util-cursor = xorg.xcbutilcursor;
+  xcb-util-cursor-HEAD = callPackage ../development/libraries/xcb-util-cursor/HEAD.nix { };
 
   xdo = callPackage ../tools/misc/xdo { };
 
-  xineLib = callPackage ../development/libraries/xine-lib {
-    ffmpeg = ffmpeg_1;
-  };
+  xineLib = callPackage ../development/libraries/xine-lib { };
 
   xautolock = callPackage ../misc/screensavers/xautolock { };
 
@@ -6484,12 +7830,24 @@ let
 
   xmlsec = callPackage ../development/libraries/xmlsec { };
 
+  xlslib = callPackage ../development/libraries/xlslib { };
+
   xvidcore = callPackage ../development/libraries/xvidcore { };
 
   xylib = callPackage ../development/libraries/xylib { };
 
   yajl = callPackage ../development/libraries/yajl { };
 
+  yubico-piv-tool = callPackage ../tools/misc/yubico-piv-tool { };
+
+  yubikey-personalization = callPackage ../tools/misc/yubikey-personalization {
+    libusb = libusb1;
+  };
+
+  yubikey-personalization-gui = callPackage ../tools/misc/yubikey-personalization-gui {
+    qt = qt4;
+  };
+
   zangband = builderDefsPackage (import ../games/zangband) {
     inherit ncurses flex bison autoconf automake m4 coreutils;
   };
@@ -6507,9 +7865,42 @@ let
   zeromq2 = callPackage ../development/libraries/zeromq/2.x.nix {};
   zeromq3 = callPackage ../development/libraries/zeromq/3.x.nix {};
   zeromq4 = callPackage ../development/libraries/zeromq/4.x.nix {};
+  zeromq = zeromq4;
+
+  cppzmq = callPackage ../development/libraries/cppzmq {};
+
+  czmq = callPackage ../development/libraries/czmq { };
 
   zziplib = callPackage ../development/libraries/zziplib { };
 
+  ### DEVELOPMENT / LIBRARIES / AGDA
+
+  agda = callPackage ../build-support/agda {
+    glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null;
+    extension = self : super : { };
+    inherit (haskellngPackages) Agda;
+    inherit writeScriptBin;
+  };
+
+  agdaBase = callPackage ../development/libraries/agda/agda-base { };
+
+  agdaIowaStdlib = callPackage ../development/libraries/agda/agda-iowa-stdlib { };
+
+  agdaPrelude = callPackage ../development/libraries/agda/agda-prelude { };
+
+  AgdaStdlib = callPackage ../development/libraries/agda/agda-stdlib {
+    inherit (haskellngPackages) ghcWithPackages;
+  };
+
+  AgdaSheaves = callPackage ../development/libraries/agda/Agda-Sheaves { };
+
+  bitvector = callPackage ../development/libraries/agda/bitvector { };
+
+  categories = callPackage ../development/libraries/agda/categories { };
+
+  pretty = callPackage ../development/libraries/agda/pretty { };
+
+  TotalParserCombinators = callPackage ../development/libraries/agda/TotalParserCombinators { };
 
   ### DEVELOPMENT / LIBRARIES / JAVA
 
@@ -6517,7 +7908,21 @@ let
     stdenv = overrideInStdenv stdenv [gnumake380];
   };
 
-  commonsFileUpload = callPackage ../development/libraries/java/jakarta-commons/file-upload { };
+  commonsBcel = callPackage ../development/libraries/java/commons/bcel { };
+
+  commonsBsf = callPackage ../development/libraries/java/commons/bsf { };
+
+  commonsCompress = callPackage ../development/libraries/java/commons/compress { };
+
+  commonsFileUpload = callPackage ../development/libraries/java/commons/fileupload { };
+
+  commonsLang = callPackage ../development/libraries/java/commons/lang { };
+
+  commonsLogging = callPackage ../development/libraries/java/commons/logging { };
+
+  commonsIo = callPackage ../development/libraries/java/commons/io { };
+
+  commonsMath = callPackage ../development/libraries/java/commons/math { };
 
   fastjar = callPackage ../development/tools/java/fastjar { };
 
@@ -6527,12 +7932,6 @@ let
 
   gwtwidgets = callPackage ../development/libraries/java/gwt-widgets { };
 
-  jakartabcel = callPackage ../development/libraries/java/jakarta-bcel {
-    regexp = jakartaregexp;
-  };
-
-  jakartaregexp = callPackage ../development/libraries/java/jakarta-regexp { };
-
   javaCup = callPackage ../development/libraries/java/cup { };
 
   javasvn = callPackage ../development/libraries/java/javasvn { };
@@ -6555,6 +7954,8 @@ let
 
   lucene = callPackage ../development/libraries/java/lucene { };
 
+  lucenepp = callPackage ../development/libraries/lucene++ { };
+
   mockobjects = callPackage ../development/libraries/java/mockobjects { };
 
   saxon = callPackage ../development/libraries/java/saxon { };
@@ -6574,10 +7975,32 @@ let
 
   ### DEVELOPMENT / LIBRARIES / JAVASCRIPT
 
-  jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
+  jquery = callPackage ../development/libraries/javascript/jquery { };
+
+  jquery-ui = callPackage ../development/libraries/javascript/jquery-ui { };
 
   yuicompressor = callPackage ../development/tools/yuicompressor { };
 
+  ### DEVELOPMENT / GO MODULES
+
+  go13Packages = recurseIntoAttrs (callPackage ./go-packages.nix {
+    go = go_1_3;
+    buildGoPackage = import ../development/go-modules/generic {
+      go = go_1_3;
+    };
+    overrides = (config.goPackageOverrides or (p: {})) pkgs;
+  });
+
+  go14Packages = recurseIntoAttrs (callPackage ./go-packages.nix {
+    go = go_1_4;
+    buildGoPackage = import ../development/go-modules/generic {
+      go = go_1_4;
+    };
+    overrides = (config.goPackageOverrides or (p: {})) pkgs;
+  });
+
+  goPackages = go14Packages;
+
   ### DEVELOPMENT / LISP MODULES
 
   asdf = callPackage ../development/lisp-modules/asdf {
@@ -6606,14 +8029,6 @@ let
     overrides = (config.perlPackageOverrides or (p: {})) pkgs;
   });
 
-  perl514Packages = import ./perl-packages.nix {
-    pkgs = pkgs // {
-      perl = perl514;
-      buildPerlPackage = import ../development/perl-modules/generic perl514;
-    };
-    overrides = (config.perl514PackageOverrides or (p: {})) pkgs;
-  };
-
   perlXMLParser = perlPackages.XMLParser;
 
   ack = perlPackages.ack;
@@ -6624,6 +8039,12 @@ let
 
   planetary_annihilation = callPackage ../games/planetaryannihilation { };
 
+  sqitchPg = callPackage ../development/tools/misc/sqitch {
+    inherit stdenv perl makeWrapper;
+    name = "sqitch-pg";
+    databaseModule = perlPackages.DBDPg;
+    sqitchModule = perlPackages.AppSqitch;
+  };
 
   ### DEVELOPMENT / PYTHON MODULES
 
@@ -6634,34 +8055,34 @@ let
   # Therefore we do not recurse into attributes here, in contrast to
   # python27Packages. `nix-env -iA python26Packages.nose` works
   # regardless.
-  python26Packages = import ./python-packages.nix {
-    inherit pkgs;
+  python26Packages = callPackage ./python-packages.nix {
     python = python26;
+    self = python26Packages;
   };
 
-  python27Packages = lib.hiPrioSet (recurseIntoAttrs (import ./python-packages.nix {
-    inherit pkgs;
+  python27Packages = lib.hiPrioSet (recurseIntoAttrs (callPackage ./python-packages.nix {
     python = python27;
+    self = python27Packages;
   }));
 
-  python32Packages = import ./python-packages.nix {
-    inherit pkgs;
+  python32Packages = callPackage ./python-packages.nix {
     python = python32;
+    self = python32Packages;
   };
 
-  python33Packages = recurseIntoAttrs (import ./python-packages.nix {
-    inherit pkgs;
+  python33Packages = recurseIntoAttrs (callPackage ./python-packages.nix {
     python = python33;
+    self = python33Packages;
   });
 
-  python34Packages = recurseIntoAttrs (import ./python-packages.nix {
-    inherit pkgs;
+  python34Packages = recurseIntoAttrs (callPackage ./python-packages.nix {
     python = python34;
+    self = python34Packages;
   });
 
-  pypyPackages = recurseIntoAttrs (import ./python-packages.nix {
-    inherit pkgs;
+  pypyPackages = recurseIntoAttrs (callPackage ./python-packages.nix {
     python = pypy;
+    self = pypyPackages;
   });
 
   foursuite = callPackage ../development/python-modules/4suite { };
@@ -6694,23 +8115,17 @@ let
 
   pygtk = pythonPackages.pygtk;
 
+  pygtksourceview = callPackage ../development/python-modules/pygtksourceview { };
+
   pyGtkGlade = pythonPackages.pyGtkGlade;
 
   pylint = callPackage ../development/python-modules/pylint { };
 
-  pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) {
-    inherit python openssl;
-  };
+  pyopenssl = pythonPackages.pyopenssl;
 
   rhpl = callPackage ../development/python-modules/rhpl { };
 
-  sip = callPackage ../development/python-modules/sip { };
-
-  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { };
 
   pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
 
@@ -6748,24 +8163,27 @@ let
   };
 
   rWrapper = callPackage ../development/r-modules/wrapper.nix {
-    # Those packages are usually installed as part of the R build.
-    recommendedPackages = with rPackages; [ MASS lattice Matrix nlme
-      survival boot cluster codetools foreign KernSmooth rpart class
-      nnet spatial mgcv ];
+    recommendedPackages = with rPackages; [
+      boot class cluster codetools foreign KernSmooth lattice MASS
+      Matrix mgcv nlme nnet rpart spatial survival
+    ];
     # Override this attribute to register additional libraries.
     packages = [];
   };
 
-  rPackages = import ../development/r-modules/cran-packages.nix {
-    inherit pkgs;
+  rPackages = callPackage ../development/r-modules {
     overrides = (config.rPackageOverrides or (p: {})) pkgs;
   };
 
   ### SERVERS
 
+  "389-ds-base" = callPackage ../servers/ldap/389 {
+    kerberos = krb5;
+  };
+
   rdf4store = callPackage ../servers/http/4store { };
 
-  apacheHttpd = pkgs.apacheHttpd_2_2;
+  apacheHttpd = pkgs.apacheHttpd_2_4;
 
   apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix {
     sslSupport = true;
@@ -6775,6 +8193,38 @@ let
     sslSupport = true;
   });
 
+  apacheHttpdPackagesFor = apacheHttpd: self: let callPackage = newScope self; in {
+    inherit apacheHttpd;
+
+    mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd { };
+
+    mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
+
+    mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
+
+    mod_python = callPackage ../servers/http/apache-modules/mod_python { };
+
+    mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
+
+    php = pkgs.php.override { inherit apacheHttpd; };
+
+    subversion = pkgs.subversion.override { httpServer = true; inherit apacheHttpd; };
+  };
+
+  apacheHttpdPackages = apacheHttpdPackagesFor pkgs.apacheHttpd pkgs.apacheHttpdPackages;
+  apacheHttpdPackages_2_2 = apacheHttpdPackagesFor pkgs.apacheHttpd_2_2 pkgs.apacheHttpdPackages_2_2;
+  apacheHttpdPackages_2_4 = apacheHttpdPackagesFor pkgs.apacheHttpd_2_4 pkgs.apacheHttpdPackages_2_4;
+
+  cadvisor = callPackage ../servers/monitoring/cadvisor { };
+
+  cassandra_2_0 = callPackage ../servers/nosql/cassandra/2.0.nix { };
+  cassandra_2_1 = callPackage ../servers/nosql/cassandra/2.1.nix { };
+  cassandra = cassandra_2_1;
+
+  apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix {
+    java = jdk;
+  };
+
   apcupsd = callPackage ../servers/apcupsd { };
 
   sabnzbd = callPackage ../servers/sabnzbd { };
@@ -6783,6 +8233,9 @@ let
 
   bird = callPackage ../servers/bird { };
 
+  bosun = callPackage ../servers/monitoring/bosun {};
+  scollector = callPackage ../servers/monitoring/bosun/scollector.nix {};
+
   couchdb = callPackage ../servers/http/couchdb {
     spidermonkey = spidermonkey_185;
     python = python27;
@@ -6808,7 +8261,7 @@ let
 
   dictdWordnet = callPackage ../servers/dict/dictd-wordnet.nix {};
 
-  diod = callPackage ../servers/diod { };
+  diod = callPackage ../servers/diod { lua = lua5_1; };
 
   dovecot = dovecot21;
 
@@ -6824,10 +8277,17 @@ let
     erlang = erlangR16;
   };
 
+  prosody = callPackage ../servers/xmpp/prosody {
+    lua5 = lua5_1;
+    inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib;
+  };
+
   elasticmq = callPackage ../servers/elasticmq { };
 
   etcdctl = callPackage ../development/tools/etcdctl { };
 
+  exim = callPackage ../servers/mail/exim { };
+
   fcgiwrap = callPackage ../servers/fcgiwrap { };
 
   felix = callPackage ../servers/felix { };
@@ -6845,9 +8305,7 @@ let
 
   freeswitch = callPackage ../servers/sip/freeswitch { };
 
-  ghostOne = callPackage ../servers/games/ghost-one {
-    boost = boost144.override { taggedLayout = true; };
-  };
+  ghostOne = callPackage ../servers/games/ghost-one { };
 
   ircdHybrid = callPackage ../servers/irc/ircd-hybrid { };
 
@@ -6859,27 +8317,32 @@ let
 
   jetty61 = callPackage ../servers/http/jetty/6.1 { };
 
+  jetty92 = callPackage ../servers/http/jetty/9.2.nix { };
+
   joseki = callPackage ../servers/http/joseki {};
 
+  rdkafka = callPackage ../development/libraries/rdkafka { };
+
   leafnode = callPackage ../servers/news/leafnode { };
 
   lighttpd = callPackage ../servers/http/lighttpd { };
 
-  mailman = callPackage ../servers/mail/mailman { };
+  mailman = callPackage ../servers/mail/mailman {
+    dnspython = pythonPackages.dns;
+  };
 
-  mediatomb = callPackage ../servers/mediatomb { };
+  mediatomb = callPackage ../servers/mediatomb {
+    spidermonkey = spidermonkey_185;
+  };
 
   memcached = callPackage ../servers/memcached {};
 
-  mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { };
-
-  mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { };
-
-  mod_python = callPackage ../servers/http/apache-modules/mod_python { };
-
-  mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
-
-  mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
+  # Backwards compatibility.
+  mod_dnssd = pkgs.apacheHttpdPackages.mod_dnssd;
+  mod_evasive = pkgs.apacheHttpdPackages.mod_evasive;
+  mod_fastcgi = pkgs.apacheHttpdPackages.mod_fastcgi;
+  mod_python = pkgs.apacheHttpdPackages.mod_python;
+  mod_wsgi = pkgs.apacheHttpdPackages.mod_wsgi;
 
   mpd = callPackage ../servers/mpd {
     aacSupport    = config.mpd.aacSupport or true;
@@ -6888,6 +8351,8 @@ let
 
   mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
 
+  mpdscribble = callPackage ../tools/misc/mpdscribble { };
+
   miniHttpd = callPackage ../servers/http/mini-httpd {};
 
   mlmmj = callPackage ../servers/mail/mlmmj { };
@@ -6897,7 +8362,12 @@ let
   nginx = callPackage ../servers/http/nginx {
     rtmp        = true;
     fullWebDAV  = true;
-    syslog      = true;
+    syslog      = false; # the patch is not found
+    moreheaders = true;
+  };
+  nginxUnstable = callPackage ../servers/http/nginx/unstable.nix {
+    fullWebDAV  = true;
+    syslog      = false; # the patch is not found
     moreheaders = true;
   };
 
@@ -6905,7 +8375,7 @@ let
 
   nix-binary-cache = callPackage ../servers/http/nix-binary-cache {};
 
-  nsd = callPackage ../servers/dns/nsd { };
+  nsd = callPackage ../servers/dns/nsd (config.nsd or {});
 
   nsq = callPackage ../servers/nsq { };
 
@@ -6913,14 +8383,22 @@ let
 
   opensmtpd = callPackage ../servers/mail/opensmtpd { };
 
+  osrm-backend = callPackage ../servers/osrm-backend { };
+
+  osrm-backend_luajit = callPackage ../servers/osrm-backend { luabind = luabind_luajit; };
+
   petidomo = callPackage ../servers/mail/petidomo { };
 
   popa3d = callPackage ../servers/mail/popa3d { };
 
-  postfix = callPackage ../servers/mail/postfix { };
+  postfix28 = callPackage ../servers/mail/postfix { };
 
   postfix211 = callPackage ../servers/mail/postfix/2.11.nix { };
 
+  postfix = postfix211;
+
+  pshs = callPackage ../servers/http/pshs { };
+
   pulseaudio = callPackage ../servers/pulseaudio {
     gconf = gnome.GConf;
     # The following are disabled in the default build, because if this
@@ -6929,11 +8407,13 @@ let
     bluez = null;
     avahi = null;
   };
+
   pulseaudioFull = pulseaudio.override {
     bluez = bluez5;
     avahi = avahi;
     jackaudioSupport = true;
     x11Support = true;
+    useSystemd = stdenv.isLinux;
   };
 
   tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };
@@ -6948,12 +8428,18 @@ let
 
   mariadb = callPackage ../servers/sql/mariadb {};
 
-  mongodb = callPackage ../servers/nosql/mongodb { };
+  mongodb = callPackage ../servers/nosql/mongodb {
+    sasl = cyrus_sasl;
+  };
 
   riak = callPackage ../servers/nosql/riak/1.3.1.nix { };
 
   influxdb = callPackage ../servers/nosql/influxdb { };
 
+  influxdb-backup = callPackage ../servers/nosql/influxdb/backup.nix { };
+
+  hyperdex = callPackage ../servers/nosql/hyperdex { };
+
   mysql51 = import ../servers/sql/mysql/5.1.x.nix {
     inherit fetchurl ncurses zlib perl openssl stdenv;
     ps = procps; /* !!! Linux only */
@@ -6961,7 +8447,7 @@ let
 
   mysql55 = callPackage ../servers/sql/mysql/5.5.x.nix { };
 
-  mysql = mysql51;
+  mysql = mariadb;
 
   mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
 
@@ -6975,7 +8461,10 @@ let
 
   net_snmp = callPackage ../servers/monitoring/net-snmp { };
 
+  newrelic-sysmond = callPackage ../servers/monitoring/newrelic-sysmond { };
+
   riemann = callPackage ../servers/monitoring/riemann { };
+  riemann-dash = callPackage ../servers/monitoring/riemann-dash { };
 
   oidentd = callPackage ../servers/identd/oidentd { };
 
@@ -6983,7 +8472,20 @@ let
 
   oracleXE = callPackage ../servers/sql/oracle-xe { };
 
-  OVMF = callPackage ../applications/virtualization/OVMF { };
+  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; };
+
+  seabios = callPackage ../applications/virtualization/seabios { };
+
+  pgpool92 = pgpool.override { postgresql = postgresql92; };
+  pgpool93 = pgpool.override { postgresql = postgresql93; };
+  pgpool94 = pgpool.override { postgresql = postgresql94; };
+
+  pgpool = callPackage ../servers/sql/pgpool/default.nix {
+    pam = if stdenv.isLinux then pam else null;
+    libmemcached = null; # Detection is broken upstream
+  };
 
   postgresql = postgresql92;
 
@@ -6997,8 +8499,26 @@ let
 
   postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { };
 
+  postgresql94 = callPackage ../servers/sql/postgresql/9.4.x.nix { };
+
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
 
+  prometheus = callPackage ../servers/monitoring/prometheus { };
+  prometheus-alertmanager =
+    callPackage ../servers/monitoring/prometheus/alertmanager { };
+  prometheus-cli =
+    callPackage ../servers/monitoring/prometheus/cli { };
+  prometheus-haproxy-exporter =
+    callPackage ../servers/monitoring/prometheus/haproxy_exporter { };
+  prometheus-mesos-exporter =
+    callPackage ../servers/monitoring/prometheus/mesos_exporter { };
+  prometheus-node-exporter =
+    callPackage ../servers/monitoring/prometheus/node_exporter { };
+  prometheus-pushgateway =
+    callPackage ../servers/monitoring/prometheus/pushgateway { };
+  prometheus-statsd-bridge =
+    callPackage ../servers/monitoring/prometheus/statsd_bridge { };
+
   psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };
 
   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
@@ -7016,14 +8536,21 @@ let
   radius = callPackage ../servers/radius { };
 
   redis = callPackage ../servers/nosql/redis { };
+  redis3 = callPackage ../servers/nosql/redis/3.0.nix { };
 
   redstore = callPackage ../servers/http/redstore { };
 
   restund = callPackage ../servers/restund {};
 
-  rethinkdb = callPackage ../servers/nosql/rethinkdb { };
+  rethinkdb = callPackage ../servers/nosql/rethinkdb {
+    boost = boost155;
+  };
+
+  rippled = callPackage ../servers/rippled {
+    boost = boost155;
+  };
 
-  rippled = callPackage ../servers/rippled { };
+  ripple-data-api = callPackage ../servers/rippled/data-api.nix { };
 
   s6 = callPackage ../servers/s6 { };
 
@@ -7032,10 +8559,30 @@ let
       HTTPDate MailDKIM LWP IOSocketSSL;
   };
 
-  samba = callPackage ../servers/samba { };
+  samba3 = callPackage ../servers/samba/3.x.nix { };
+
+  samba4 = callPackage ../servers/samba/4.x.nix {
+    python = python2;
+    pythonPackages = python2Packages;
+    kerberos = heimdal;
+    libgcrypt = libgcrypt_1_6;
+    cups = if stdenv.isDarwin then null else cups;
+    pam = if stdenv.isDarwin then null else pam;
+    libaio = if stdenv.isDarwin then null else libaio;
+    ceph = if stdenv.isDarwin then null else ceph;
+    glusterfs = if stdenv.isDarwin then null else glusterfs;
+    dbus = if stdenv.isLinux then dbus else null;
+    libibverbs = if stdenv.isLinux then libibverbs else null;
+    librdmacm = if stdenv.isLinux then librdmacm else null;
+    systemd = if stdenv.isLinux then systemd else null;
+  };
 
-  # A lightweight Samba, useful for non-Linux-based OSes.
-  samba_light = lowPrio (callPackage ../servers/samba {
+  samba = samba4;
+
+  smbclient = samba;
+
+  # A lightweight Samba 3, useful for non-Linux-based OSes.
+  samba3_light = lowPrio (samba3.override {
     pam = null;
     fam = null;
     cups = null;
@@ -7045,12 +8592,50 @@ let
     libunwind = null;
   });
 
+  samba4_light = lowPrio (samba4.override {
+    # source3/wscript optionals
+    kerberos = null;
+    zlib = null;
+    openldap = null;
+    cups = null;
+    pam = null;
+    avahi = null;
+    acl = null;
+    libaio = null;
+    fam = null;
+    ceph = null;
+    glusterfs = null;
+
+    # buildtools/wafsamba/wscript optionals
+    libiconv = null;
+    gettext = null;
+
+    # source4/lib/tls/wscript optionals
+    gnutls = null;
+    libgcrypt = null;
+    libgpgerror = null;
+
+    # other optionals
+    ncurses = null;
+    libunwind = null;
+    dbus = null;
+    libibverbs = null;
+    librdmacm = null;
+    systemd = null;
+  });
+
+  samba_light = samba4_light;
+
   serfdom = callPackage ../servers/serfdom { };
 
   seyren = callPackage ../servers/monitoring/seyren { };
 
+  sensu = callPackage ../servers/monitoring/sensu { };
+
   shishi = callPackage ../servers/shishi { };
 
+  sipcmd = callPackage ../applications/networking/sipcmd { };
+
   sipwitch = callPackage ../servers/sip/sipwitch { };
 
   spawn_fcgi = callPackage ../servers/http/spawn-fcgi { };
@@ -7062,16 +8647,26 @@ let
   });
   squid = squids.squid31; # has ipv6 support
 
+  sslh = callPackage ../servers/sslh { };
+
   thttpd = callPackage ../servers/http/thttpd { };
 
   storm = callPackage ../servers/computing/storm { };
 
+  slurm-llnl = callPackage ../servers/computing/slurm { };
+
   tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { };
 
   tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { };
 
+  tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { };
+
+  tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { };
+
   tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { };
 
+  torque = callPackage ../servers/computing/torque { };
+
   axis2 = callPackage ../servers/http/tomcat/axis2 { };
 
   unifi = callPackage ../servers/unifi { };
@@ -7090,25 +8685,28 @@ let
 
   zookeeper = callPackage ../servers/zookeeper { };
 
+  zookeeper_mt = callPackage ../development/libraries/zookeeper_mt { };
+
   xquartz = callPackage ../servers/x11/xquartz { };
   quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; };
 
   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
     inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig
       libxslt expat libpng zlib perl mesa_drivers spice_protocol
-      dbus libuuid openssl gperf m4
+      dbus libuuid openssl gperf m4 libevdev tradcpp libinput
       autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman;
+    bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
     mesa = mesa_noglu;
     udev = if stdenv.isLinux then udev else null;
     libdrm = if stdenv.isLinux then libdrm else null;
-  } // {
-    xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { };
   });
 
   xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { };
 
   xorgVideoUnichrome = callPackage ../servers/x11/xorg/unichrome/default.nix { };
 
+  xwayland = with xorg; callPackage ../servers/x11/xorg/xwayland.nix { };
+
   yaws = callPackage ../servers/http/yaws { };
 
   zabbix = recurseIntoAttrs (import ../servers/monitoring/zabbix {
@@ -7123,13 +8721,11 @@ let
 
   afuse = callPackage ../os-specific/linux/afuse { };
 
-  amdUcode = callPackage ../os-specific/linux/microcode/amd.nix { };
-
   autofs5 = callPackage ../os-specific/linux/autofs/autofs-v5.nix { };
 
   _915resolution = callPackage ../os-specific/linux/915resolution { };
 
-  nfsUtils = callPackage ../os-specific/linux/nfs-utils { };
+  nfs-utils = callPackage ../os-specific/linux/nfs-utils { };
 
   acpi = callPackage ../os-specific/linux/acpi { };
 
@@ -7137,8 +8733,12 @@ let
 
   acpitool = callPackage ../os-specific/linux/acpitool { };
 
+  alfred = callPackage ../os-specific/linux/batman-adv/alfred.nix { };
+
   alienfx = callPackage ../os-specific/linux/alienfx { };
 
+  alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { };
+
   alsaLib = callPackage ../os-specific/linux/alsa-lib { };
 
   alsaPlugins = callPackage ../os-specific/linux/alsa-plugins {
@@ -7150,15 +8750,23 @@ let
   alsaUtils = callPackage ../os-specific/linux/alsa-utils { };
   alsaOss = callPackage ../os-specific/linux/alsa-oss { };
 
-  microcode2ucode = callPackage ../os-specific/linux/microcode/converter.nix { };
+  microcodeAmd = callPackage ../os-specific/linux/microcode/amd.nix { };
 
   microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { };
 
   apparmor = callPackage ../os-specific/linux/apparmor {
     inherit (perlPackages) LocaleGettext TermReadKey RpcXML;
     bison = bison2;
+    perl = perl516; # ${perl}/.../CORE/handy.h:124:34: error: 'bool' undeclared
   };
 
+  apparmor_2_9 = callPackage ../os-specific/linux/apparmor/2.9 { swig = swig2; };
+  libapparmor = apparmor_2_9.libapparmor;
+  apparmor-pam = apparmor_2_9.apparmor-pam;
+  apparmor-parser = apparmor_2_9.apparmor-parser;
+  apparmor-profiles = apparmor_2_9.apparmor-profiles;
+  apparmor-utils = apparmor_2_9.apparmor-utils;
+
   atop = callPackage ../os-specific/linux/atop { };
 
   audit = callPackage ../os-specific/linux/audit { };
@@ -7175,32 +8783,32 @@ let
 
   bluez5 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5.nix { });
 
+  # Needed for LibreOffice
+  bluez5_28 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5_28.nix { });
+
   bluez = bluez4;
 
   inherit (pythonPackages) bedup;
 
   beret = callPackage ../games/beret { };
 
-  bridge_utils = callPackage ../os-specific/linux/bridge-utils { };
+  bridge-utils = callPackage ../os-specific/linux/bridge-utils { };
 
   busybox = callPackage ../os-specific/linux/busybox { };
 
+  cgmanager = callPackage ../os-specific/linux/cgmanager { };
+
   checkpolicy = callPackage ../os-specific/linux/checkpolicy { };
 
   checksec = callPackage ../os-specific/linux/checksec { };
 
   cifs_utils = callPackage ../os-specific/linux/cifs-utils { };
 
-  conky = callPackage ../os-specific/linux/conky {
-    mpdSupport   = config.conky.mpdSupport   or true;
-    x11Support   = config.conky.x11Support   or false;
-    xdamage      = config.conky.xdamage      or false;
-    wireless     = config.conky.wireless     or false;
-    luaSupport   = config.conky.luaSupport   or false;
-    rss          = config.conky.rss          or false;
-    weatherMetar = config.conky.weatherMetar or false;
-    weatherXoap  = config.conky.weatherXoap  or false;
-  };
+  conky = callPackage ../os-specific/linux/conky ({
+    lua = lua5_1; # conky can use 5.2, but toluapp can not
+  } // config.conky or {});
+
+  conntrack_tools = callPackage ../os-specific/linux/conntrack-tools { };
 
   cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { };
 
@@ -7208,16 +8816,23 @@ let
 
   criu = callPackage ../os-specific/linux/criu { };
 
-  cryptsetup = callPackage ../os-specific/linux/cryptsetup { };
+  cryptsetup = callPackage ../os-specific/linux/cryptsetup {
+    libgcrypt = libgcrypt_1_6;
+  };
 
   cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
 
-  darwin = rec {
-    cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port {
+  darwin = let
+    cmdline = callPackage ../os-specific/darwin/command-line-tools {};
+    apple-source-releases = import ../os-specific/darwin/apple-source-releases { inherit stdenv fetchurl pkgs; };
+  in apple-source-releases // rec {
+    cctools_cross = callPackage (forceNativeDrv (callPackage ../os-specific/darwin/cctools/port.nix {}).cross) {
       cross = assert crossSystem != null; crossSystem;
       inherit maloader;
       xctoolchain = xcode.toolchain;
-    });
+    };
+
+    cctools = (callPackage ../os-specific/darwin/cctools/port.nix {}).native;
 
     maloader = callPackage ../os-specific/darwin/maloader {
       inherit opencflite;
@@ -7226,6 +8841,18 @@ let
     opencflite = callPackage ../os-specific/darwin/opencflite {};
 
     xcode = callPackage ../os-specific/darwin/xcode {};
+
+    osx_sdk = callPackage ../os-specific/darwin/osx-sdk {};
+    osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { inherit osx_sdk; };
+
+    ps = callPackage ../os-specific/darwin/adv_cmds/ps.nix {};
+
+    security_tool = callPackage ../os-specific/darwin/security-tool { inherit osx_private_sdk; };
+
+    cmdline_sdk   = cmdline.sdk;
+    cmdline_tools = cmdline.tools;
+
+    libobjc = apple-source-releases.objc4;
   };
 
   devicemapper = lvm2;
@@ -7243,7 +8870,9 @@ let
     inherit (xlibs) xproto;
   };
 
-  dmraid = callPackage ../os-specific/linux/dmraid { };
+  dmraid = callPackage ../os-specific/linux/dmraid {
+    devicemapper = devicemapper.override {enable_dmeventd = true;};
+  };
 
   drbd = callPackage ../os-specific/linux/drbd { };
 
@@ -7274,18 +8903,26 @@ let
     then e2fsprogs
     else null;
 
+  light = callPackage ../os-specific/linux/light { };
+
+  lightum = callPackage ../os-specific/linux/lightum { };
+
   e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { };
 
   ebtables = callPackage ../os-specific/linux/ebtables { };
 
   eject = utillinux;
 
+  fatrace = callPackage ../os-specific/linux/fatrace { };
+
   ffado = callPackage ../os-specific/linux/ffado { };
 
   fbterm = callPackage ../os-specific/linux/fbterm { };
 
   firejail = callPackage ../os-specific/linux/firejail {};
 
+  freefall = callPackage ../os-specific/linux/freefall { };
+
   fuse = callPackage ../os-specific/linux/fuse { };
 
   fxload = callPackage ../os-specific/linux/fxload { };
@@ -7335,8 +8972,12 @@ let
 
   iptables = callPackage ../os-specific/linux/iptables { };
 
+  ipset = callPackage ../os-specific/linux/ipset { };
+
   iw = callPackage ../os-specific/linux/iw { };
 
+  jfbview = callPackage ../os-specific/linux/jfbview { };
+
   jujuutils = callPackage ../os-specific/linux/jujuutils { };
 
   kbd = callPackage ../os-specific/linux/kbd { };
@@ -7354,25 +8995,24 @@ let
   libcgroup = callPackage ../os-specific/linux/libcgroup { };
 
   libnl = callPackage ../os-specific/linux/libnl { };
-  libnl_3_2_19 = callPackage ../os-specific/linux/libnl/3.2.19.nix { };
 
   linuxConsoleTools = callPackage ../os-specific/linux/consoletools { };
 
   # -- Linux kernel expressions ------------------------------------------------
 
-  linuxHeaders = linuxHeaders_3_7;
+  linuxHeaders = linuxHeaders_3_12;
 
   linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix {
     inherit stdenv fetchurl perl;
     cross = assert crossSystem != null; crossSystem;
   });
 
-  linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
+  linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/3.12.nix {
     inherit stdenv fetchurl perl;
     cross = assert crossSystem != null; crossSystem;
   });
 
-  linuxHeaders_3_7 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { };
+  linuxHeaders_3_12 = callPackage ../os-specific/linux/kernel-headers/3.12.nix { };
 
   linuxHeaders_3_14 = callPackage ../os-specific/linux/kernel-headers/3.14.nix { };
 
@@ -7388,30 +9028,27 @@ let
 
   linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = [];
+    kernelPatches = [ kernelPatches.bridge_stp_helper ];
   };
 
-  linux_3_2_xen = lowPrio (linux_3_2.override {
-    extraConfig = ''
-      XEN_DOM0 y
-    '';
-  });
-
   linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+     ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
       ];
   };
 
-  linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) {
+  linux_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi.nix) {
     inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = [ kernelPatches.bridge_stp_helper ];
   };
 
   linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
@@ -7420,7 +9057,8 @@ let
 
   linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+    kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.crc_regression ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
@@ -7429,25 +9067,28 @@ let
 
   linux_3_14 = makeOverridable (import ../os-specific/linux/kernel/linux-3.14.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
       ];
   };
 
-  linux_3_15 = makeOverridable (import ../os-specific/linux/kernel/linux-3.15.nix) {
+  linux_3_18 = makeOverridable (import ../os-specific/linux/kernel/linux-3.18.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
       ];
   };
 
-  linux_3_16 = makeOverridable (import ../os-specific/linux/kernel/linux-3.16.nix) {
+  linux_3_19 = makeOverridable (import ../os-specific/linux/kernel/linux-3.19.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
@@ -7456,7 +9097,8 @@ let
 
   linux_testing = makeOverridable (import ../os-specific/linux/kernel/linux-testing.nix) {
     inherit fetchurl stdenv perl buildLinux;
-    kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips")
+    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
         kernelPatches.mips_ext3_n32
@@ -7503,7 +9145,7 @@ let
      for a specific kernel.  This function can then be called for
      whatever kernel you're using. */
 
-  linuxPackagesFor = kernel: self: let callPackage = newScope self; in {
+  linuxPackagesFor = kernel: self: let callPackage = newScope self; in rec {
     inherit kernel;
 
     acpi_call = callPackage ../os-specific/linux/acpi-call {};
@@ -7534,10 +9176,11 @@ let
 
     nvidiabl = callPackage ../os-specific/linux/nvidiabl { };
 
-    nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
-
     nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
     nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
+    nvidia_x11_legacy340 = callPackage ../os-specific/linux/nvidia-x11/legacy340.nix { };
+    nvidia_x11_beta      = callPackage ../os-specific/linux/nvidia-x11/beta.nix { };
+    nvidia_x11           = callPackage ../os-specific/linux/nvidia-x11 { };
 
     openafsClient = callPackage ../servers/openafs-client { };
 
@@ -7561,10 +9204,20 @@ let
 
     perf = callPackage ../os-specific/linux/kernel/perf.nix { };
 
+    prl-tools = callPackage ../os-specific/linux/prl-tools { };
+
     psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { };
 
-    spl = callPackage ../os-specific/linux/spl { };
-    spl_git = callPackage ../os-specific/linux/spl/git.nix { };
+    seturgent = callPackage ../os-specific/linux/seturgent { };
+
+    spl = callPackage ../os-specific/linux/spl {
+      configFile = "kernel";
+      inherit kernel;
+    };
+    spl_git = callPackage ../os-specific/linux/spl/git.nix {
+      configFile = "kernel";
+      inherit kernel;
+    };
 
     sysdig = callPackage ../os-specific/linux/sysdig {};
 
@@ -7572,38 +9225,58 @@ let
 
     v86d = callPackage ../os-specific/linux/v86d { };
 
+    vhba = callPackage ../misc/emulators/cdemu/vhba.nix { };
+
     virtualbox = callPackage ../applications/virtualization/virtualbox {
       stdenv = stdenv_32bit;
       inherit (gnome) libIDL;
       enableExtensionPack = config.virtualbox.enableExtensionPack or false;
+      pulseSupport = config.pulseaudio or false;
     };
 
+    virtualboxHardened = lowPrio (virtualbox.override {
+      enableHardening = true;
+    });
+
     virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
 
-    zfs = callPackage ../os-specific/linux/zfs { };
-    zfs_git = callPackage ../os-specific/linux/zfs/git.nix { };
+    zfs = callPackage ../os-specific/linux/zfs {
+      configFile = "kernel";
+      inherit kernel spl;
+    };
+    zfs_git = callPackage ../os-specific/linux/zfs/git.nix {
+      configFile = "kernel";
+      inherit kernel spl_git;
+    };
   };
 
   # The current default kernel / kernel modules.
+  linuxPackages = linuxPackages_3_18;
   linux = linuxPackages.kernel;
-  linuxPackages = linuxPackages_3_12;
 
   # Update this when adding the newest kernel major version!
-  linux_latest = pkgs.linux_3_16;
-  linuxPackages_latest = pkgs.linuxPackages_3_16;
+  linuxPackages_latest = pkgs.linuxPackages_3_19;
+  linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
-  linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen;
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
-  linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi;
+  linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi linuxPackages_rpi;
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
   linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice;
   linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12);
   linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14);
-  linuxPackages_3_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_15 linuxPackages_3_15);
-  linuxPackages_3_16 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_16 linuxPackages_3_16);
+  linuxPackages_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18 linuxPackages_3_18);
+  linuxPackages_3_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_19 linuxPackages_3_19);
   linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing);
+  linuxPackages_custom = {version, src, configfile}:
+                           let linuxPackages_self = (linuxPackagesFor (pkgs.linuxManualConfig {inherit version src configfile;
+                                                                                               allowImportFromDerivation=true;})
+                                                     linuxPackages_self);
+                           in recurseIntoAttrs linuxPackages_self;
+
+  # Build a kernel for Xen dom0
+  linuxPackages_latest_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }) linuxPackages_latest);
 
   # grsecurity flavors
   # Stable kernels
@@ -7632,6 +9305,8 @@ let
 
   libraw1394 = callPackage ../development/libraries/libraw1394 { };
 
+  libsass = callPackage ../development/libraries/libsass { };
+
   libsexy = callPackage ../development/libraries/libsexy { };
 
   libsepol = callPackage ../os-specific/linux/libsepol { };
@@ -7697,6 +9372,12 @@ let
 
   gocode = callPackage ../development/tools/gocode { };
 
+  gotags = callPackage ../development/tools/gotags { };
+
+  golint = callPackage ../development/tools/golint { goPackages = go13Packages; };
+
+  godep = callPackage ../development/tools/godep { };
+
   gogoclient = callPackage ../os-specific/linux/gogoclient { };
 
   nss_ldap = callPackage ../os-specific/linux/nss_ldap { };
@@ -7707,17 +9388,13 @@ let
 
   pam_ccreds = callPackage ../os-specific/linux/pam_ccreds { };
 
-  pam_console = callPackage ../os-specific/linux/pam_console {
-    libtool = libtool_1_5;
-  };
-
   pam_devperm = callPackage ../os-specific/linux/pam_devperm { };
 
   pam_krb5 = callPackage ../os-specific/linux/pam_krb5 { };
 
   pam_ldap = callPackage ../os-specific/linux/pam_ldap { };
 
-  pam_login = callPackage ../os-specific/linux/pam_login { };
+  pam_mount = callPackage ../os-specific/linux/pam_mount { };
 
   pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth { };
 
@@ -7732,9 +9409,9 @@ let
     config = config.pcmciaUtils.config or null;
   };
 
-  plymouth = callPackage ../os-specific/linux/plymouth {
-    automake = automake113x;
-  };
+  perf-tools = callPackage ../os-specific/linux/perf-tools { };
+
+  plymouth = callPackage ../os-specific/linux/plymouth { };
 
   pmount = callPackage ../os-specific/linux/pmount { };
 
@@ -7762,6 +9439,8 @@ let
 
   radeontools = callPackage ../os-specific/linux/radeontools { };
 
+  radeontop = callPackage ../os-specific/linux/radeontop { };
+
   raspberrypifw = callPackage ../os-specific/linux/firmware/raspberrypi {};
 
   regionset = callPackage ../os-specific/linux/regionset { };
@@ -7780,8 +9459,22 @@ let
 
   shadow = callPackage ../os-specific/linux/shadow { };
 
+  sinit = callPackage ../os-specific/linux/sinit {
+    rcinit = "/etc/rc.d/rc.init";
+    rcshutdown = "/etc/rc.d/rc.shutdown";
+  };
+
+  smem = callPackage ../os-specific/linux/smem { };
+
   statifier = builderDefsPackage (import ../os-specific/linux/statifier) { };
 
+  spl = callPackage ../os-specific/linux/spl {
+    configFile = "user";
+  };
+  spl_git = callPackage ../os-specific/linux/spl/git.nix {
+    configFile = "user";
+  };
+
   sysdig = callPackage ../os-specific/linux/sysdig {
     kernel = null;
   }; # pkgs.sysdig is a client, for a driver look at linuxPackagesFor
@@ -7852,7 +9545,7 @@ let
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
   uclibcCross = lowPrio (callPackage ../os-specific/linux/uclibc {
-    inherit fetchurl stdenv libiconv;
+    inherit fetchurl stdenv libiconvReal;
     linuxHeaders = linuxHeadersCross;
     gccCross = gccCrossStageStatic;
     cross = assert crossSystem != null; crossSystem;
@@ -7861,6 +9554,7 @@ let
   udev145 = callPackage ../os-specific/linux/udev/145.nix { };
 
   udev = pkgs.systemd; # headers are not in the libudev output
+  eudev = callPackage ../os-specific/linux/eudev {};
 
   udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { };
   udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { };
@@ -7870,9 +9564,9 @@ let
 
   untie = callPackage ../os-specific/linux/untie { };
 
-  upower = callPackage ../os-specific/linux/upower { };
+  upower-old = callPackage ../os-specific/linux/upower { };
 
-  upower_99 = callPackage ../os-specific/linux/upower/0.99.nix { };
+  upower = callPackage ../os-specific/linux/upower/0.99.nix { };
 
   upstart = callPackage ../os-specific/linux/upstart { };
 
@@ -7880,17 +9574,17 @@ let
 
   usermount = callPackage ../os-specific/linux/usermount { };
 
-  utillinux = lowPrio (callPackage ../os-specific/linux/util-linux {
+  utillinux = callPackage ../os-specific/linux/util-linux {
     ncurses = null;
     perl = null;
-  });
+  };
 
-  utillinuxCurses = utillinux.override {
+  utillinuxCurses = appendToName "curses" (utillinux.override {
     inherit ncurses perl;
-  };
+  });
 
   v4l_utils = callPackage ../os-specific/linux/v4l-utils {
-    withQt4 = true;
+    qt5 = null;
   };
 
   windows = rec {
@@ -7986,25 +9680,43 @@ let
 
   zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { };
 
+  zfs = callPackage ../os-specific/linux/zfs {
+    configFile = "user";
+  };
+  zfs_git = callPackage ../os-specific/linux/zfs/git.nix {
+    configFile = "user";
+  };
 
   ### DATA
 
-  andagii = callPackage ../data/fonts/andagii {};
+  andagii = callPackage ../data/fonts/andagii { };
 
-  anonymousPro = callPackage ../data/fonts/anonymous-pro {};
+  android-udev-rules = callPackage ../os-specific/linux/android-udev-rules { };
+
+  anonymousPro = callPackage ../data/fonts/anonymous-pro { };
 
   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) { };
 
   aurulent-sans = callPackage ../data/fonts/aurulent-sans { };
 
+  baekmuk-ttf = callPackage ../data/fonts/baekmuk-ttf { };
+
   bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { };
 
   cacert = callPackage ../data/misc/cacert { };
 
+  caladea = callPackage ../data/fonts/caladea {};
+
   cantarell_fonts = callPackage ../data/fonts/cantarell-fonts { };
 
+  carlito = callPackage ../data/fonts/carlito {};
+
+  comfortaa = callPackage ../data/fonts/comfortaa {};
+
   comic-neue = callPackage ../data/fonts/comic-neue { };
 
+  comic-relief = callPackage ../data/fonts/comic-relief {};
+
   corefonts = callPackage ../data/fonts/corefonts { };
 
   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
@@ -8016,10 +9728,14 @@ let
 
   cm_unicode = callPackage ../data/fonts/cm-unicode {};
 
+  crimson = callPackage ../data/fonts/crimson {};
+
   dejavu_fonts = callPackage ../data/fonts/dejavu-fonts {
     inherit (perlPackages) FontTTF;
   };
 
+  dina-font = callPackage ../data/fonts/dina { };
+
   docbook5 = callPackage ../data/sgml+xml/schemas/docbook-5.0 { };
 
   docbook_sgml_dtd_31 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix { };
@@ -8048,6 +9764,8 @@ let
 
   eb-garamond = callPackage ../data/fonts/eb-garamond { };
 
+  fantasque-sans-mono = callPackage ../data/fonts/fantasque-sans-mono {};
+
   fira = callPackage ../data/fonts/fira { };
 
   freefont_ttf = callPackage ../data/fonts/freefont-ttf { };
@@ -8056,10 +9774,14 @@ let
 
   gentium = callPackage ../data/fonts/gentium {};
 
+  geolite-legacy = callPackage ../data/misc/geolite-legacy { };
+
   gnome_user_docs = callPackage ../data/documentation/gnome-user-docs { };
 
   inherit (gnome3) gsettings_desktop_schemas;
 
+  gyre-fonts = callPackage ../data/fonts/gyre {};
+
   hicolor_icon_theme = callPackage ../data/icons/hicolor-icon-theme { };
 
   inconsolata = callPackage ../data/fonts/inconsolata {};
@@ -8072,7 +9794,11 @@ let
 
   kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
 
-  liberation_ttf = callPackage ../data/fonts/redhat-liberation-fonts { };
+  league-of-moveable-type = callPackage ../data/fonts/league-of-moveable-type {};
+
+  liberation_ttf_from_source = callPackage ../data/fonts/redhat-liberation-fonts { };
+  liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { };
+  liberation_ttf = liberation_ttf_binary;
 
   libertine = builderDefsPackage (import ../data/fonts/libertine) {
     inherit fetchurl fontforge lib;
@@ -8082,27 +9808,47 @@ let
 
   lmodern = callPackage ../data/fonts/lmodern { };
 
+  lobster-two = callPackage ../data/fonts/lobster-two {};
+
   lohit-fonts = callPackage ../data/fonts/lohit-fonts { };
 
   manpages = callPackage ../data/documentation/man-pages { };
 
+  meslo-lg = callPackage ../data/fonts/meslo-lg {};
+
   miscfiles = callPackage ../data/misc/miscfiles { };
 
+  media-player-info = callPackage ../data/misc/media-player-info {};
+
   mobile_broadband_provider_info = callPackage ../data/misc/mobile-broadband-provider-info { };
 
   mph_2b_damase = callPackage ../data/fonts/mph-2b-damase { };
 
+  mplus-outline-fonts = callPackage ../data/fonts/mplus-outline-fonts { };
+
   nafees = callPackage ../data/fonts/nafees { };
 
+  numix-icon-theme = callPackage ../data/icons/numix-icon-theme { };
+
+  numix-icon-theme-circle = callPackage ../data/icons/numix-icon-theme-circle { };
+
   oldstandard = callPackage ../data/fonts/oldstandard { };
 
+  open-dyslexic = callPackage ../data/fonts/open-dyslexic { };
+
   opensans-ttf = callPackage ../data/fonts/opensans-ttf { };
 
+  pecita = callPackage ../data/fonts/pecita {};
+
   poly = callPackage ../data/fonts/poly { };
 
   posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
 
-  pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { };
+  proggyfonts = callPackage ../data/fonts/proggyfonts { };
+
+  pthreadmanpages = callPackage ../data/documentation/pthread-man-pages {
+    perl = perl516; # syntax error at troffprepro line 49, near "do subst("
+  };
 
   shared_mime_info = callPackage ../data/misc/shared-mime-info { };
 
@@ -8110,28 +9856,37 @@ let
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
 
+  stix-otf = callPackage ../data/fonts/stix-otf { };
+
   symbola = callPackage ../data/fonts/symbola { };
 
   iana_etc = callPackage ../data/misc/iana-etc { };
 
   poppler_data = callPackage ../data/misc/poppler-data { };
 
+  quattrocento = callPackage ../data/fonts/quattrocento {};
+
+  quattrocento-sans = callPackage ../data/fonts/quattrocento-sans {};
+
   r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { };
 
   r4rs = callPackage ../data/documentation/rnrs/r4rs.nix { };
 
   r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { };
 
+  hasklig = callPackage ../data/fonts/hasklig {};
+
   source-code-pro = callPackage ../data/fonts/source-code-pro {};
 
   source-sans-pro = callPackage ../data/fonts/source-sans-pro { };
 
   source-serif-pro = callPackage ../data/fonts/source-serif-pro { };
 
-  source-han-sans-japanese = callPackage ../data/fonts/source-han-sans/japanese.nix {};
-  source-han-sans-korean = callPackage ../data/fonts/source-han-sans/korean.nix {};
-  source-han-sans-simplified-chinese = callPackage ../data/fonts/source-han-sans/simplified-chinese.nix {};
-  source-han-sans-traditional-chinese = callPackage ../data/fonts/source-han-sans/traditional-chinese.nix {};
+  sourceHanSansPackages = callPackage ../data/fonts/source-han-sans { };
+  source-han-sans-japanese = sourceHanSansPackages.japanese;
+  source-han-sans-korean = sourceHanSansPackages.korean;
+  source-han-sans-simplified-chinese = sourceHanSansPackages.simplified-chinese;
+  source-han-sans-traditional-chinese = sourceHanSansPackages.traditional-chinese;
 
   tango-icon-theme = callPackage ../data/icons/tango-icon-theme { };
 
@@ -8167,6 +9922,8 @@ let
 
   xkeyboard_config = xorg.xkeyboardconfig;
 
+  zeal = callPackage ../data/documentation/zeal { };
+
 
   ### APPLICATIONS
 
@@ -8203,8 +9960,19 @@ let
 
   aewan = callPackage ../applications/editors/aewan { };
 
+  afterstep = callPackage ../applications/window-managers/afterstep {
+    inherit (xlibs) libX11 libXext libICE;
+    fltk = fltk13;
+    gtk = gtk2;
+  };
+
   alchemy = callPackage ../applications/graphics/alchemy { };
 
+  alock = callPackage ../misc/screensavers/alock { };
+
+  alpine = callPackage ../applications/networking/mailreaders/alpine {};
+  realpine = callPackage ../applications/networking/mailreaders/realpine {};
+
   ams-lv2 = callPackage ../applications/audio/ams-lv2 { };
 
   amsn = callPackage ../applications/networking/instant-messengers/amsn { };
@@ -8217,6 +9985,8 @@ let
     inherit (gnome) libgnomecanvas libgnomecanvasmm;
   });
 
+  ario = callPackage ../applications/audio/ario { };
+
   arora = callPackage ../applications/networking/browsers/arora { };
 
   atom = callPackage ../applications/editors/atom {
@@ -8235,6 +10005,11 @@ let
 
   milkytracker = callPackage ../applications/audio/milkytracker { };
 
+  schismtracker = callPackage ../applications/audio/schismtracker { };
+
+  altcoins = recurseIntoAttrs ( callPackage ../applications/altcoins { } );
+  bitcoin = altcoins.bitcoin;
+
   aumix = callPackage ../applications/audio/aumix {
     gtkGUI = false;
   };
@@ -8249,20 +10024,28 @@ let
 
   avrdudess = callPackage ../applications/misc/avrdudess { };
 
-  avxsynth = callPackage ../applications/video/avxsynth { };
+  avxsynth = callPackage ../applications/video/avxsynth {
+    libjpeg = libjpeg_original; # error: 'JCOPYRIGHT_SHORT' was not declared in this scope
+  };
 
   awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix {
-    lua = lua5;
     cairo = cairo.override { xcbSupport = true; };
+    lua = lua5_1;
   };
   awesome-3-5 = callPackage ../applications/window-managers/awesome {
-    lua   = lua5_1;
     cairo = cairo.override { xcbSupport = true; };
+    luaPackages = luaPackages.override { inherit lua; };
   };
   awesome = awesome-3-5;
 
   inherit (gnome3) baobab;
 
+  backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { };
+
+  backintime-qt4 = callPackage ../applications/networking/sync/backintime/qt4.nix { };
+
+  backintime = backintime-qt4;
+
   bar = callPackage ../applications/window-managers/bar { };
 
   baresip = callPackage ../applications/networking/instant-messengers/baresip {
@@ -8271,6 +10054,10 @@ let
 
   batik = callPackage ../applications/graphics/batik { };
 
+  batti = callPackage ../applications/misc/batti { };
+
+  cbatticon = callPackage ../applications/misc/cbatticon { };
+
   bazaar = callPackage ../applications/version-management/bazaar { };
 
   bazaarTools = builderDefsPackage (import ../applications/version-management/bazaar/tools.nix) {
@@ -8284,22 +10071,16 @@ let
 
   bibletime = callPackage ../applications/misc/bibletime { };
 
-  bitcoin = callPackage ../applications/misc/bitcoin {};
-  bitcoind = callPackage ../applications/misc/bitcoin { gui = false; };
-
-  altcoins = recurseIntoAttrs (
-    callPackage ../applications/misc/bitcoin/altcoins.nix {}
-  );
-
-  bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee {
-    gnutls = gnutls;
-    libotr = libotr_3_2;
-  };
+  bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
 
   blender = callPackage  ../applications/misc/blender {
     python = python34;
   };
 
+  bluefish = callPackage ../applications/editors/bluefish {
+    gtk = gtk3;
+  };
+
   bristol = callPackage ../applications/audio/bristol { };
 
   bspwm = callPackage ../applications/window-managers/bspwm { };
@@ -8316,6 +10097,10 @@ let
 
   camlistore = callPackage ../applications/misc/camlistore { };
 
+  canto-curses = callPackage ../applications/networking/feedreaders/canto-curses { };
+
+  canto-daemon = callPackage ../applications/networking/feedreaders/canto-daemon { };
+
   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
     inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss
       gtkspell aspell gettext ncurses avahi dbus dbus_glib python
@@ -8326,6 +10111,8 @@ let
   };
   funpidgin = carrier;
 
+  cava = callPackage ../applications/audio/cava { };
+
   cc1394 = callPackage ../applications/video/cc1394 { };
 
   cddiscid = callPackage ../applications/audio/cd-discid { };
@@ -8346,36 +10133,49 @@ let
 
   chatzilla = callPackage ../applications/networking/irc/chatzilla { };
 
-  chromium = lowPrio (callPackage ../applications/networking/browsers/chromium {
+  chromium = callPackage ../applications/networking/browsers/chromium {
     channel = "stable";
     pulseSupport = config.pulseaudio or true;
     enablePepperFlash = config.chromium.enablePepperFlash or false;
-    enablePepperPDF = config.chromium.enablePepperPDF or false;
-  });
+    enableWideVine = config.chromium.enableWideVine or false;
+    hiDPISupport = config.chromium.hiDPISupport or false;
+  };
+
+  chronos = callPackage ../applications/networking/cluster/chronos { };
 
   chromiumBeta = lowPrio (chromium.override { channel = "beta"; });
-  chromiumBetaWrapper = lowPrio (wrapChromium chromiumBeta);
 
   chromiumDev = lowPrio (chromium.override { channel = "dev"; });
-  chromiumDevWrapper = lowPrio (wrapChromium chromiumDev);
 
-  chromiumWrapper = wrapChromium chromium;
+  chuck = callPackage ../applications/audio/chuck { };
 
   cinelerra = callPackage ../applications/video/cinelerra { };
 
+  clawsMail = callPackage ../applications/networking/mailreaders/claws-mail {
+    enableNetworkManager = config.networking.networkmanager.enable or false;
+  };
+
+  clipgrab = callPackage ../applications/video/clipgrab { };
+
   clipit = callPackage ../applications/misc/clipit { };
 
+  bomi = callPackage ../applications/video/bomi {
+    stdenv = overrideCC stdenv gcc49;
+    pulseSupport = config.pulseaudio or false;
+  };
+
   cmus = callPackage ../applications/audio/cmus { };
 
   compiz = callPackage ../applications/window-managers/compiz {
     inherit (gnome) GConf ORBit2 metacity;
-    boost = boost149; # https://bugs.launchpad.net/compiz/+bug/1131864
   };
 
   coriander = callPackage ../applications/video/coriander {
     inherit (gnome) libgnomeui GConf;
   };
 
+  cortex = callPackage ../applications/misc/cortex { };
+
   csound = callPackage ../applications/audio/csound { };
 
   cinepaint = callPackage ../applications/graphics/cinepaint {
@@ -8406,22 +10206,23 @@ let
     imagemagick = imagemagick;
   };
 
+  cutecom = callPackage ../tools/misc/cutecom { };
+
   cvs = callPackage ../applications/version-management/cvs { };
 
   cvsps = callPackage ../applications/version-management/cvsps { };
 
   cvs2svn = callPackage ../applications/version-management/cvs2svn { };
 
+  cyclone = callPackage ../applications/audio/pd-plugins/cyclone  { };
+
   d4x = callPackage ../applications/misc/d4x { };
 
-  darcs = with haskellPackages_ghc783; callPackage ../applications/version-management/darcs {
-    cabal = cabal.override {
-      extension = self : super : {
-        isLibrary = false;
-        configureFlags = "-f-library " + super.configureFlags or "";
-      };
-    };
-  };
+  darcs = haskell-ng.lib.overrideCabal haskellngPackages.darcs (drv: {
+    configureFlags = (stdenv.lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"];
+    enableSharedExecutables = false;
+    isLibrary = false;
+  });
 
   darktable = callPackage ../applications/graphics/darktable {
     inherit (gnome) GConf libglade;
@@ -8429,6 +10230,10 @@ let
 
   dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; };
 
+  deadbeef = callPackage ../applications/audio/deadbeef {
+    pulseSupport = config.pulseaudio or true;
+  };
+
   dia = callPackage ../applications/graphics/dia {
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
@@ -8448,19 +10253,25 @@ let
     enableXft = config.dmenu.enableXft or false;
   };
 
-  dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
-    inherit libpng libtiff libjpeg imagemagick librsvg
-      pkgconfig bzip2 zlib libtool freetype fontconfig
-      ghostscript jasper xz;
-    inherit (xlibs) libX11;
+  dmenu2 = callPackage ../applications/misc/dmenu2 { };
+
+  dmtx = dmtx-utils;
+
+  dmtx-utils = callPackage (import ../tools/graphics/dmtx-utils) {
   };
 
-  docker = callPackage ../applications/virtualization/docker { };
+  docker = callPackage ../applications/virtualization/docker {
+    go = go_1_3;
+  };
 
   doodle = callPackage ../applications/search/doodle { };
 
+  drumgizmo = callPackage ../applications/audio/drumgizmo { inherit (xlibs) libX11; };
+
   dunst = callPackage ../applications/misc/dunst { };
 
+  devede = callPackage ../applications/video/devede { };
+
   dvb_apps  = callPackage ../applications/video/dvb-apps { };
 
   dvdauthor = callPackage ../applications/video/dvdauthor { };
@@ -8483,6 +10294,8 @@ let
 
   ed = callPackage ../applications/editors/ed { };
 
+  edbrowse = callPackage ../applications/editors/edbrowse { };
+
   ekho = callPackage ../applications/audio/ekho { };
 
   electrum = callPackage ../applications/misc/electrum { };
@@ -8492,13 +10305,15 @@ let
   elvis = callPackage ../applications/editors/elvis { };
 
   emacs = emacs24;
+  emacsPackages = emacs24Packages;
+  emacsPackagesNg = emacs24PackagesNg;
+  emacsMelpa = emacs24PackagesNg; # for backward compatibility
 
   emacs24 = callPackage ../applications/editors/emacs-24 {
     # use override to enable additional features
     libXaw = xlibs.libXaw;
     Xaw3d = null;
     gconf = null;
-    librsvg = null;
     alsaLib = null;
     imagemagick = null;
   };
@@ -8507,11 +10322,15 @@ let
     withX = false;
   }));
 
-  emacs24Macport = lowPrio (callPackage ../applications/editors/emacs-24/macport.nix {
+  emacs24Macport_24_3 = lowPrio (callPackage ../applications/editors/emacs-24/macport-24.3.nix {
+    stdenv = pkgs.clangStdenv;
+  });
+  emacs24Macport_24_4 = lowPrio (callPackage ../applications/editors/emacs-24/macport-24.4.nix {
     stdenv = pkgs.clangStdenv;
   });
+  emacs24Macport = self.emacs24Macport_24_4;
 
-  emacsPackages = emacs: self: let callPackage = newScope self; in rec {
+  emacsPackagesGen = emacs: self: let callPackage = newScope self; in rec {
     inherit emacs;
 
     autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { };
@@ -8534,11 +10353,13 @@ let
 
     cua = callPackage ../applications/editors/emacs-modes/cua { };
 
+    d = callPackage ../applications/editors/emacs-modes/d { };
+
     darcsum = callPackage ../applications/editors/emacs-modes/darcsum { };
 
-    # ecb = callPackage ../applications/editors/emacs-modes/ecb { };
+    dash = callPackage ../applications/editors/emacs-modes/dash { };
 
-    jabber = callPackage ../applications/editors/emacs-modes/jabber { };
+    # ecb = callPackage ../applications/editors/emacs-modes/ecb { };
 
     emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { };
 
@@ -8548,8 +10369,12 @@ let
 
     emms = callPackage ../applications/editors/emacs-modes/emms { };
 
+    ensime = callPackage ../applications/editors/emacs-modes/ensime { };
+
     ess = callPackage ../applications/editors/emacs-modes/ess { };
 
+    flycheck = callPackage ../applications/editors/emacs-modes/flycheck { };
+
     flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { };
 
     gh = callPackage ../applications/editors/emacs-modes/gh { };
@@ -8558,31 +10383,30 @@ let
 
     gist = callPackage ../applications/editors/emacs-modes/gist { };
 
-    idris = callPackage ../applications/editors/emacs-modes/idris { };
+    gitModes = callPackage ../applications/editors/emacs-modes/git-modes { };
 
-    jade = callPackage ../applications/editors/emacs-modes/jade { };
+    haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
+    haskellModeGit = lowPrio (callPackage ../applications/editors/emacs-modes/haskell/git.nix { });
 
-    jdee = callPackage ../applications/editors/emacs-modes/jdee {
-      # Requires Emacs 23, for `avl-tree'.
-    };
+    hsc3Mode = callPackage ../applications/editors/emacs-modes/hsc3 { };
 
-    js2 = callPackage ../applications/editors/emacs-modes/js2 { };
+    hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
 
-    stratego = callPackage ../applications/editors/emacs-modes/stratego { };
+    htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
 
-    haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
+    icicles = callPackage ../applications/editors/emacs-modes/icicles { };
 
-    ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
+    idris = callPackage ../applications/editors/emacs-modes/idris { };
 
-    structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode {
-      inherit (haskellPackages) cabal haskellSrcExts;
-    };
+    jabber = callPackage ../applications/editors/emacs-modes/jabber { };
 
-    tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
+    jade = callPackage ../applications/editors/emacs-modes/jade { };
 
-    hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
+    jdee = callPackage ../applications/editors/emacs-modes/jdee { };
 
-    htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
+    js2 = callPackage ../applications/editors/emacs-modes/js2 { };
+
+    let-alist = callPackage ../applications/editors/emacs-modes/let-alist { };
 
     logito = callPackage ../applications/editors/emacs-modes/logito { };
 
@@ -8594,7 +10418,9 @@ let
 
     metaweblog = callPackage ../applications/editors/emacs-modes/metaweblog { };
 
-    notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { });
+    notmuch = lowPrio (pkgs.notmuch.override { inherit emacs; });
+
+    ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
 
     offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {};
 
@@ -8626,28 +10452,65 @@ let
 
     quack = callPackage ../applications/editors/emacs-modes/quack { };
 
+    rainbowDelimiters = callPackage ../applications/editors/emacs-modes/rainbow-delimiters { };
+
     rectMark = callPackage ../applications/editors/emacs-modes/rect-mark { };
 
     remember = callPackage ../applications/editors/emacs-modes/remember { };
 
     rudel = callPackage ../applications/editors/emacs-modes/rudel { };
 
+    s = callPackage ../applications/editors/emacs-modes/s { };
+
     sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { };
 
     scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { };
     scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { };
 
+    stratego = callPackage ../applications/editors/emacs-modes/stratego { };
+
+    structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode {
+      inherit (haskellPackages) cabal ;
+      haskellSrcExts = haskellPackages.haskellSrcExts_1_15_0_1;
+    };
+
     sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { };
 
+    tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
+
     writeGood = callPackage ../applications/editors/emacs-modes/writegood { };
 
     xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { };
+
+    cask = callPackage ../applications/editors/emacs-modes/cask { };
   };
 
-  emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages);
+  emacs24Packages = recurseIntoAttrs (emacsPackagesGen emacs24 pkgs.emacs24Packages);
+
+  emacsPackagesNgGen = emacs: import ./emacs-packages.nix {
+    overrides = (config.emacsPackageOverrides or (p: {})) pkgs;
+
+    inherit lib stdenv fetchurl fetchgit fetchFromGitHub emacs;
+
+    trivialBuild = import ../build-support/emacs/trivial.nix {
+      inherit lib stdenv emacs texinfo;
+    };
+
+    melpaBuild = import ../build-support/emacs/melpa.nix {
+      inherit lib stdenv fetchurl emacs texinfo;
+    };
+
+    external = {
+      inherit (haskellngPackages) ghc-mod structured-haskell-mode Agda;
+    };
+  };
+
+  emacs24PackagesNg = recurseIntoAttrs (emacsPackagesNgGen emacs24);
 
   inherit (gnome3) empathy;
 
+  enhanced-ctorrent = callPackage ../applications/networking/enhanced-ctorrent { };
+
   epdfview = callPackage ../applications/misc/epdfview { };
 
   inherit (gnome3) epiphany;
@@ -8684,18 +10547,24 @@ let
 
   fbreader = callPackage ../applications/misc/fbreader { };
 
-  fetchmail = import ../applications/misc/fetchmail {
-    inherit stdenv fetchurl openssl;
-  };
+  fetchmail = callPackage ../applications/misc/fetchmail { };
 
   fldigi = callPackage ../applications/audio/fldigi { };
 
   fluidsynth = callPackage ../applications/audio/fluidsynth { };
 
+  fmit = callPackage ../applications/audio/fmit { };
+
+  focuswriter = callPackage ../applications/editors/focuswriter { };
+
   fossil = callPackage ../applications/version-management/fossil { };
 
+  freewheeling = callPackage ../applications/audio/freewheeling { };
+
   fribid = callPackage ../applications/networking/browsers/mozilla-plugins/fribid { };
 
+  fritzing = callPackage ../applications/science/electronics/fritzing { };
+
   fvwm = callPackage ../applications/window-managers/fvwm { };
 
   geany = callPackage ../applications/editors/geany { };
@@ -8711,8 +10580,12 @@ let
 
   goldendict = callPackage ../applications/misc/goldendict { };
 
+  google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
+
   google-musicmanager = callPackage ../applications/audio/google-musicmanager { };
 
+  gpa = callPackage ../applications/misc/gpa { };
+
   gpicview = callPackage ../applications/graphics/gpicview { };
 
   gqrx = callPackage ../applications/misc/gqrx { };
@@ -8748,7 +10621,13 @@ let
 
   wavesurfer = callPackage ../applications/misc/audio/wavesurfer { };
 
-  wireshark = callPackage ../applications/networking/sniffers/wireshark { };
+  wireshark-cli = callPackage ../applications/networking/sniffers/wireshark {
+    withQt = false;
+    withGtk = false;
+  };
+  wireshark-gtk = wireshark-cli.override { withGtk = true; };
+  wireshark-qt = wireshark-cli.override { withQt = true; };
+  wireshark = wireshark-gtk;
 
   wvdial = callPackage ../os-specific/linux/wvdial { };
 
@@ -8760,18 +10639,6 @@ let
 
   filezilla = callPackage ../applications/networking/ftp/filezilla { };
 
-  firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix {
-    inherit (gnome) libIDL;
-  };
-
-  firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; };
-
-  firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix {
-    inherit (gnome) libIDL;
-    inherit (pythonPackages) pysqlite;
-    libpng = libpng_apng;
-  };
-
   firefox = callPackage ../applications/networking/browsers/firefox {
     inherit (gnome) libIDL;
     inherit (pythonPackages) pysqlite;
@@ -8782,8 +10649,8 @@ let
   firefox-bin = callPackage ../applications/networking/browsers/firefox-bin {
     gconf = pkgs.gnome.GConf;
     inherit (pkgs.gnome) libgnome libgnomeui;
-    inherit (pkgs.xlibs) libX11 libXScrnSaver libXext
-      libXinerama libXrender libXt;
+    inherit (pkgs.xlibs) libX11 libXScrnSaver libXcomposite libXdamage libXext
+      libXfixes libXinerama libXrender libXt;
   };
 
   flac = callPackage ../applications/audio/flac { };
@@ -8794,7 +10661,13 @@ let
 
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
+  fme = callPackage ../applications/misc/fme {
+    inherit (gnome) libglademm;
+    inherit pkgconfig autoconf automake gettext;
+  };
+
   freecad = callPackage ../applications/graphics/freecad {
+    boost = boost156;
     opencascade = opencascade_6_5;
     inherit (pythonPackages) matplotlib pycollada;
   };
@@ -8819,13 +10692,10 @@ let
 
   freicoin = callPackage ../applications/misc/freicoin { };
 
-  fspot = callPackage ../applications/graphics/f-spot {
-    inherit (gnome) libgnome libgnomeui;
-    gtksharp = gtksharp1;
-  };
-
   fuze = callPackage ../applications/networking/instant-messengers/fuze {};
 
+  game-music-emu = callPackage ../applications/audio/game-music-emu { };
+
   gcolor2 = callPackage ../applications/graphics/gcolor2 { };
 
   get_iplayer = callPackage ../applications/misc/get_iplayer {};
@@ -8848,7 +10718,12 @@ let
   });
   git = gitAndTools.git;
   gitFull = gitAndTools.gitFull;
+  gitMinimal = git.override {
+    withManual = false;
+    pythonSupport = false;
+  };
   gitSVN = gitAndTools.gitSVN;
+  git-cola = gitAndTools.git-cola;
 
   gitRepo = callPackage ../applications/version-management/git-repo {
     python = python27;
@@ -8872,22 +10747,26 @@ let
     goffice = goffice_0_8;
   };
 
-  goffice_0_8 = callPackage ../desktops/gnome-3/3.10/misc/goffice/0.8.nix {
+  goffice_0_8 = callPackage ../desktops/gnome-3/3.12/misc/goffice/0.8.nix {
     inherit (gnome2) libglade libgnomeui;
     gconf = gnome2.GConf;
     libart = gnome2.libart_lgpl;
   }; # latest version: gnome3.goffice
 
-  ideas = recurseIntoAttrs (  (callPackage ../applications/editors/idea { })
-                           // (callPackage ../applications/editors/idea/pycharm.nix { }));
+  idea = recurseIntoAttrs (callPackage ../applications/editors/idea { androidsdk = androidsdk_4_4; });
 
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
+  linssid = callPackage ../applications/networking/linssid { };
+
   mi2ly = callPackage ../applications/audio/mi2ly {};
 
   praat = callPackage ../applications/audio/praat { };
 
-  quvi = callPackage ../applications/video/quvi/tool.nix { };
+  quvi = callPackage ../applications/video/quvi/tool.nix {
+    lua5_sockets = lua5_1_sockets;
+    lua5 = lua5_1;
+  };
 
   quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { };
 
@@ -8929,6 +10808,8 @@ let
     inherit libgphoto2 fuse pkgconfig glib libtool;
   };
 
+  gramps = callPackage ../applications/misc/gramps { };
+
   graphicsmagick = callPackage ../applications/graphics/graphicsmagick { };
   graphicsmagick_q16 = callPackage ../applications/graphics/graphicsmagick { quantumdepth = 16; };
 
@@ -8937,6 +10818,7 @@ let
   };
 
   gtkpod = callPackage ../applications/audio/gtkpod {
+    gnome = gnome3;
     inherit (gnome) libglade;
   };
 
@@ -8962,7 +10844,9 @@ let
 
   gqview = callPackage ../applications/graphics/gqview { };
 
-  gmpc = callPackage ../applications/audio/gmpc { };
+  gmpc = callPackage ../applications/audio/gmpc {
+    inherit (xlibs) libSM libICE;
+  };
 
   gmtk = callPackage ../applications/networking/browsers/mozilla-plugins/gmtk {
     inherit (gnome) GConf;
@@ -8974,9 +10858,7 @@ let
     libpng = libpng12;
   };
 
-  gosmore = builderDefsPackage ../applications/misc/gosmore {
-    inherit fetchsvn curl pkgconfig libxml2 gtk;
-  };
+  gosmore = callPackage ../applications/misc/gosmore { };
 
   gpsbabel = callPackage ../applications/misc/gpsbabel { };
 
@@ -8984,7 +10866,13 @@ let
 
   gpsd = callPackage ../servers/gpsd { };
 
-  guitone = callPackage ../applications/version-management/guitone { };
+  gtk2fontsel = callPackage ../applications/misc/gtk2fontsel {
+    inherit (gnome2) gtk;
+  };
+
+  guitone = callPackage ../applications/version-management/guitone {
+    graphviz = graphviz_2_32;
+  };
 
   gv = callPackage ../applications/misc/gv { };
 
@@ -8992,6 +10880,8 @@ let
 
   hello = callPackage ../applications/misc/hello/ex-2 { };
 
+  helmholtz = callPackage ../applications/audio/pd-plugins/helmholtz { };
+
   herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { };
 
   hexchat = callPackage ../applications/networking/irc/hexchat { };
@@ -9000,17 +10890,25 @@ let
 
   hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
 
-  homebank = callPackage ../applications/office/homebank { };
+  homebank = callPackage ../applications/office/homebank {
+    gtk = gtk3;
+  };
 
   htmldoc = callPackage ../applications/misc/htmldoc {
     fltk = fltk13;
   };
 
-  hugin = callPackage ../applications/graphics/hugin { };
+  hugin = callPackage ../applications/graphics/hugin {
+    boost = boost155;
+  };
 
   hydrogen = callPackage ../applications/audio/hydrogen { };
 
-  i3 = callPackage ../applications/window-managers/i3 { };
+  spectrwm = callPackage ../applications/window-managers/spectrwm { };
+
+  i3 = callPackage ../applications/window-managers/i3 {
+    xcb-util-cursor = if stdenv.isDarwin then xcb-util-cursor-HEAD else xcb-util-cursor;
+  };
 
   i3lock = callPackage ../applications/window-managers/i3/lock.nix {
     inherit (xorg) libxkbfile;
@@ -9031,7 +10929,7 @@ let
 
   ii = callPackage ../applications/networking/irc/ii { };
 
-  ike = callPackage ../applications/ike { };
+  ike = callPackage ../applications/networking/ike { };
 
   ikiwiki = callPackage ../applications/misc/ikiwiki {
     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
@@ -9040,12 +10938,44 @@ let
       AuthenPassphrase NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay;
   };
 
-  imagemagick = callPackage ../applications/graphics/ImageMagick {
-    tetex = null;
+  imagemagick_light = imagemagick.override {
+    libcl = null;
+    perl = null;
+    jemalloc = null;
+    bzip2 = null;
+    zlib = null;
+    libX11 = null;
+    libXext = null;
+    libXt = null;
+    dejavu_fonts = null;
+    fftw = null;
+    libfpx = null;
+    djvulibre = null;
+    fontconfig = null;
+    freetype = null;
+    ghostscript = null;
+    graphviz = null;
+    jbigkit = null;
+    libjpeg = null;
+    lcms2 = null;
+    openjpeg = null;
+    liblqr1 = null;
+    xz = null;
+    openexr = null;
+    pango = null;
+    libpng = null;
     librsvg = null;
+    libtiff = null;
+    libwebp = null;
+    libxml2 = null;
+  };
+
+  imagemagick = callPackage ../applications/graphics/ImageMagick {
+    ghostscript = if stdenv.isDarwin then null else ghostscript;
+    perl = null; # Currently Broken
   };
 
-  imagemagickBig = lowPrio (callPackage ../applications/graphics/ImageMagick { });
+  imagemagickBig = imagemagick;
 
   # Impressive, formerly known as "KeyJNote".
   impressive = callPackage ../applications/office/impressive {
@@ -9068,12 +10998,7 @@ let
 
   iptraf = callPackage ../applications/networking/iptraf { };
 
-  irssi = callPackage ../applications/networking/irc/irssi {
-    # compile with gccApple on darwin to support the -no-cpp-precompile flag
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  irssi = callPackage ../applications/networking/irc/irssi { };
 
   irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
 
@@ -9081,6 +11006,8 @@ let
 
   bip = callPackage ../applications/networking/irc/bip { };
 
+  jabref = callPackage ../applications/office/jabref/default.nix { };
+
   jack_capture = callPackage ../applications/audio/jack-capture { };
 
   jack_oscrolloscope = callPackage ../applications/audio/jack-oscrolloscope { };
@@ -9103,25 +11030,58 @@ let
     inherit (pythonPackages) lxml;
   };
 
+  jumanji = callPackage ../applications/networking/browsers/jumanji {
+    webkitgtk = webkitgtk24x;
+    gtk = gtk3;
+  };
+
   jwm = callPackage ../applications/window-managers/jwm { };
 
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
+    boost = boost155;
   };
 
+  kdeApps_14_12 = recurseIntoAttrs (callPackage ../applications/kde-apps-14.12 {
+    kf5 = kf57;
+    kde4 = kde4.override { inherit (kdeApps_14_12) kdelibs; };
+  });
+  kdeApps_15_04 = recurseIntoAttrs (callPackage ../applications/kde-apps-15.04 {
+    kf5 = kf59;
+    kde4 = kde4.override { inherit (kdeApps_14_12) kdelibs; };
+  });
+  kdeApps_stable = kdeApps_14_12;
+  kdeApps_latest = kdeApps_15_04;
+
   keepnote = callPackage ../applications/office/keepnote {
     pygtk = pyGtkGlade;
   };
 
   kermit = callPackage ../tools/misc/kermit { };
 
+  keyfinder = callPackage ../applications/audio/keyfinder { };
+
+  keyfinder-cli = callPackage ../applications/audio/keyfinder-cli { };
+
   keymon = callPackage ../applications/video/key-mon { };
 
+  khal = callPackage ../applications/misc/khal {
+    pythonPackages = python3Packages;
+  };
+
+  kid3 = callPackage ../applications/audio/kid3 {
+    qt = qt4;
+  };
+
   kino = callPackage ../applications/video/kino {
     inherit (gnome) libglade;
   };
 
-  lame = callPackage ../applications/audio/lame { };
+  koji = callPackage ../tools/package-management/koji { };
+
+  kubernetes = callPackage ../applications/networking/cluster/kubernetes { };
+
+  lame = callPackage ../development/libraries/lame { };
 
   larswm = callPackage ../applications/window-managers/larswm { };
 
@@ -9141,12 +11101,16 @@ let
 
   lbdb = callPackage ../tools/misc/lbdb { };
 
+  lbzip2 = callPackage ../tools/compression/lbzip2 { };
+
   lci = callPackage ../applications/science/logic/lci {};
 
   ldcpp = callPackage ../applications/networking/p2p/ldcpp {
     inherit (gnome) libglade;
   };
 
+  libowfat = callPackage ../development/libraries/libowfat { };
+
   librecad = callPackage ../applications/misc/librecad { };
 
   librecad2 = callPackage ../applications/misc/librecad/2.0.nix { };
@@ -9155,8 +11119,9 @@ let
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome) GConf ORBit2 gnome_vfs;
     zip = zip.override { enableNLS = false; };
-    boost = boost155;
-    jdk = openjdk;
+    #boost = boost155;
+    #glm = glm_0954;
+    bluez5 = bluez5_28;
     fontsConf = makeFontsConf {
       fontDirectories = [
         freefont_ttf xorg.fontmiscmisc xorg.fontbhttf
@@ -9169,7 +11134,9 @@ let
     };
   };
 
-  liferea = callPackage ../applications/networking/newsreaders/liferea { };
+  liferea = callPackage ../applications/networking/newsreaders/liferea {
+    webkitgtk = webkitgtk24x;
+  };
 
   lingot = callPackage ../applications/audio/lingot {
     inherit (gnome) libglade;
@@ -9177,59 +11144,73 @@ let
 
   links = callPackage ../applications/networking/browsers/links { };
 
-  ledger = callPackage ../applications/office/ledger/2.6.3.nix { };
-  ledger3 = callPackage ../applications/office/ledger/3.0.nix { };
+  ledger2 = callPackage ../applications/office/ledger/2.6.3.nix { };
+  ledger3 = callPackage ../applications/office/ledger { };
+  ledger = ledger3;
 
   lighttable = callPackage ../applications/editors/lighttable {};
 
   links2 = callPackage ../applications/networking/browsers/links2 { };
 
-  linphone = callPackage ../applications/networking/instant-messengers/linphone rec {
-    inherit (gnome) libglade;
-    libexosip = libexosip_3;
-    libosip = libosip_3;
-  };
+  linphone = callPackage ../applications/networking/instant-messengers/linphone rec { };
 
   linuxsampler = callPackage ../applications/audio/linuxsampler {
     bison = bison2;
   };
 
-  llpp = callPackage ../applications/misc/llpp { inherit (ocamlPackages) lablgl; };
+  llpp = callPackage ../applications/misc/llpp {
+    inherit (ocamlPackages_4_02_1) lablgl findlib;
+    ocaml = ocaml_4_02_1;
+  };
 
   lmms = callPackage ../applications/audio/lmms { };
 
   lrzsz = callPackage ../tools/misc/lrzsz { };
 
+  luakit = callPackage ../applications/networking/browsers/luakit {
+      inherit (lua51Packages) luafilesystem luasqlite3;
+      lua5 = lua5_1;
+      gtk = gtk3;
+      webkit = webkitgtk2;
+  };
+
   luminanceHDR = callPackage ../applications/graphics/luminance-hdr { };
 
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
-  handbrake = callPackage ../applications/video/handbrake { };
+  handbrake = callPackage ../applications/video/handbrake {
+    webkitgtk = webkitgtk24x;
+  };
 
   lilyterm = callPackage ../applications/misc/lilyterm {
     inherit (gnome) vte;
     gtk = gtk2;
   };
-  
+
   lynx = callPackage ../applications/networking/browsers/lynx { };
 
   lyx = callPackage ../applications/misc/lyx { };
 
   makeself = callPackage ../applications/misc/makeself { };
 
+  marathon = callPackage ../applications/networking/cluster/marathon { };
+
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
   mcpp = callPackage ../development/compilers/mcpp { };
 
   mda_lv2 = callPackage ../applications/audio/mda-lv2 { };
 
-  meld = callPackage ../applications/version-management/meld {
-    inherit (gnome) scrollkeeper;
-    pygtk = pyGtkGlade;
-  };
+  mediainfo = callPackage ../applications/misc/mediainfo { };
+
+  mediainfo-gui = callPackage ../applications/misc/mediainfo-gui { };
+
+  meld = callPackage ../applications/version-management/meld { };
 
   mcomix = callPackage ../applications/graphics/mcomix { };
 
+  mendeley = callPackage ../applications/office/mendeley { };
+
   mercurial = callPackage ../applications/version-management/mercurial {
     inherit (pythonPackages) curses docutils;
     guiSupport = false; # use mercurialFull to get hgk GUI
@@ -9241,11 +11222,15 @@ let
 
   meshlab = callPackage ../applications/graphics/meshlab { };
 
+  metersLv2 = callPackage ../applications/audio/meters_lv2 { };
+
   mhwaveedit = callPackage ../applications/audio/mhwaveedit {};
 
   mid2key = callPackage ../applications/audio/mid2key { };
 
-  midori = callPackage ../applications/networking/browsers/midori { };
+  midori = callPackage ../applications/networking/browsers/midori {
+    webkitgtk = webkitgtk24x;
+  };
 
   midoriWrapper = wrapFirefox
     { browser = midori; browserName = "midori"; desktopName = "Midori";
@@ -9260,36 +11245,33 @@ let
 
   minidjvu = callPackage ../applications/graphics/minidjvu { };
 
+  mimms = callPackage ../applications/audio/mimms {};
+
   mirage = callPackage ../applications/graphics/mirage {};
 
   mixxx = callPackage ../applications/audio/mixxx {
     inherit (vamp) vampSDK;
   };
 
+  mjpg-streamer = callPackage ../applications/video/mjpg-streamer { };
+
   mmex = callPackage ../applications/office/mmex { };
 
   moc = callPackage ../applications/audio/moc { };
 
-  monkeysAudio = callPackage ../applications/audio/monkeys-audio { };
+  monero = callPackage ../applications/misc/monero { };
 
-  monodevelop = callPackage ../applications/editors/monodevelop {
-    inherit (gnome) gnome_vfs libbonobo libglade libgnome GConf;
-    mozilla = firefox;
-    gtksharp = gtksharp2;
-  };
+  monkeysAudio = callPackage ../applications/audio/monkeys-audio { };
 
-  monodoc = callPackage ../applications/editors/monodoc {
-    gtksharp = gtksharp1;
-  };
+  monodevelop = callPackage ../applications/editors/monodevelop {};
 
   monotone = callPackage ../applications/version-management/monotone {
     lua = lua5;
-    boost = boost149;
   };
 
   monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) {
-    inherit ocaml graphviz pkgconfig autoconf automake libtool glib gtk;
-    inherit (ocamlPackages) lablgtk;
+    inherit graphviz pkgconfig autoconf automake libtool glib gtk;
+    inherit (ocamlPackages_4_01_0) lablgtk ocaml;
     inherit (gnome) libgnomecanvas;
   };
 
@@ -9299,16 +11281,18 @@ let
 
   mopidy-moped = callPackage ../applications/audio/mopidy-moped { };
 
-  mozilla = callPackage ../applications/networking/browsers/mozilla {
-    inherit (gnome) libIDL;
-  };
+  mopidy-mopify = callPackage ../applications/audio/mopidy-mopify { };
 
   mozplugger = builderDefsPackage (import ../applications/networking/browsers/mozilla-plugins/mozplugger) {
     inherit firefox;
     inherit (xlibs) libX11 xproto;
   };
 
-  easytag = callPackage ../applications/audio/easytag { };
+  easytag = callPackage ../applications/audio/easytag {
+    inherit (gnome3) gnome_icon_theme dconf;
+  };
+
+  mp3gain = callPackage ../applications/audio/mp3gain { };
 
   mp3info = callPackage ../applications/audio/mp3info { };
 
@@ -9328,33 +11312,34 @@ let
 
   normalize = callPackage ../applications/audio/normalize { };
 
-  mplayer = callPackage ../applications/video/mplayer {
+  mplayer = callPackage ../applications/video/mplayer ({
     pulseSupport = config.pulseaudio or false;
-    vdpauSupport = config.mplayer.vdpauSupport or false;
-  };
-
-  mplayer2 = callPackage ../applications/video/mplayer2 {
-    ffmpeg = libav_9; # see https://trac.macports.org/ticket/44386
-  };
+  } // (config.mplayer or {}));
 
   MPlayerPlugin = browser:
-    import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
+    callPackage ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
       inherit browser;
-      inherit fetchurl stdenv pkgconfig gettext;
       inherit (xlibs) libXpm;
       # !!! should depend on MPlayer
     };
 
   mpv = callPackage ../applications/video/mpv {
     lua = lua5_1;
+    lua5_sockets = lua5_1_sockets;
     bs2bSupport = config.mpv.bs2bSupport or true;
-    quviSupport = config.mpv.quviSupport or false;
+    youtubeSupport = config.mpv.youtubeSupport or true;
     cacaSupport = config.mpv.cacaSupport or true;
     vaapiSupport = config.mpv.vaapiSupport or false;
   };
 
+  mrpeach = callPackage ../applications/audio/pd-plugins/mrpeach { };
+
   mrxvt = callPackage ../applications/misc/mrxvt { };
 
+  mudlet = callPackage ../games/mudlet {
+    inherit (lua51Packages) luafilesystem lrexlib luazip luasqlite3;
+  };
+
   multisync = callPackage ../applications/misc/multisync {
     inherit (gnome) ORBit2 libbonobo libgnomeui GConf;
   };
@@ -9365,6 +11350,7 @@ let
     };
     jackSupport = config.mumble.jackSupport or false;
     speechdSupport = config.mumble.speechdSupport or false;
+    pulseSupport = config.pulseaudio or false;
   };
 
   murmur = callPackage ../applications/networking/mumble/murmur.nix {
@@ -9374,50 +11360,44 @@ let
     iceSupport = config.murmur.iceSupport or true;
   };
 
+  musescore = callPackage ../applications/audio/musescore { };
+
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
+  mutt-with-sidebar = callPackage ../applications/networking/mailreaders/mutt {
+    withSidebar = true;
+  };
 
-  pcmanfm = callPackage ../applications/misc/pcmanfm { };
+  mutt-kz = callPackage ../applications/networking/mailreaders/mutt-kz { };
 
-  ruby_gpgme = callPackage ../development/libraries/ruby_gpgme {
-    ruby = ruby19;
-    hoe = rubyLibs.hoe;
+  panamax_api = callPackage ../applications/networking/cluster/panamax/api {
+    ruby = ruby_2_1;
+  };
+  panamax_ui = callPackage ../applications/networking/cluster/panamax/ui {
+    ruby = ruby_2_1;
   };
 
-  ruby_ncursesw_sup = callPackage ../development/libraries/ruby_ncursesw_sup { };
+  pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   shotcut = callPackage ../applications/video/shotcut { mlt = mlt-qt5; };
 
   smplayer = callPackage ../applications/video/smplayer { };
 
-  sup = with rubyLibs; callPackage ../applications/networking/mailreaders/sup {
-    ruby = ruby19.override {
-      cursesSupport = true;
-    };
-
-    inherit gettext highline iconv locale lockfile
-      text trollop xapian_ruby which;
+  smtube = callPackage ../applications/video/smtube {};
 
-    rmail_sup = ""; # missing
-    unicode = "";
-
-    # See https://github.com/NixOS/nixpkgs/issues/1804 and
-    # https://github.com/NixOS/nixpkgs/issues/2146
-    bundler = pkgs.lib.overrideDerivation pkgs.rubyLibs.bundler (
-      oldAttrs: {
-        dontPatchShebangs = 1;
-      }
-    );
-    chronic      = chronic;
-    gpgme        = ruby_gpgme;
-    mime_types   = mime_types;
-    ncursesw_sup = ruby_ncursesw_sup;
-    rake         = rake;
+  sup = callPackage ../applications/networking/mailreaders/sup {
+    ruby = ruby_1_9_3.override { cursesSupport = true; };
   };
 
   synfigstudio = callPackage ../applications/graphics/synfigstudio {
     fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; };
   };
 
+  librep = callPackage ../development/libraries/librep { };
+
+  rep-gtk = callPackage ../development/libraries/rep-gtk { };
+
+  sawfish = callPackage ../applications/window-managers/sawfish { };
+
   sxhkd = callPackage ../applications/window-managers/sxhkd { };
 
   msmtp = callPackage ../applications/networking/msmtp { };
@@ -9426,7 +11406,11 @@ let
     lua = lua5;
  };
 
-  mupdf = callPackage ../applications/misc/mupdf { };
+  maxlib = callPackage ../applications/audio/pd-plugins/maxlib { };
+
+  mupdf = callPackage ../applications/misc/mupdf {
+    openjpeg = openjpeg_2_0_1;
+  };
 
   mypaint = callPackage ../applications/graphics/mypaint { };
 
@@ -9438,6 +11422,8 @@ let
 
   nano = callPackage ../applications/editors/nano { };
 
+  nanoblogger = callPackage ../applications/misc/nanoblogger { };
+
   navipowm = callPackage ../applications/misc/navipowm { };
 
   navit = callPackage ../applications/misc/navit { };
@@ -9456,14 +11442,19 @@ let
   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
 
   notmuch = callPackage ../applications/networking/mailreaders/notmuch {
-    # use emacsPackages.notmuch if you want emacs support
+    # No need to build Emacs - notmuch.el works just fine without
+    # byte-compilation. Use emacs24Packages.notmuch if you want to
+    # byte-compiled files
     emacs = null;
+    sphinx = pythonPackages.sphinx;
   };
 
   nova = callPackage ../applications/virtualization/nova { };
 
   novaclient = callPackage ../applications/virtualization/nova/client.nix { };
 
+  nova-filters =  callPackage ../applications/audio/nova-filters { };
+
   nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {};
 
   nvi = callPackage ../applications/editors/nvi { };
@@ -9474,6 +11465,8 @@ let
     inherit (gnome) libglade;
   };
 
+  obs-studio = callPackage ../applications/video/obs-studio { };
+
   ocrad = callPackage ../applications/graphics/ocrad { };
 
   offrss = callPackage ../applications/networking/offrss { };
@@ -9486,6 +11479,8 @@ let
 
   openbox = callPackage ../applications/window-managers/openbox { };
 
+  openbox-menu = callPackage ../applications/misc/openbox-menu { };
+
   openimageio = callPackage ../applications/graphics/openimageio { };
 
   openjump = callPackage ../applications/misc/openjump { };
@@ -9508,6 +11503,10 @@ let
 
   panotools = callPackage ../applications/graphics/panotools { };
 
+  paprefs = callPackage ../applications/audio/paprefs {
+    inherit (gnome) libglademm gconfmm;
+  };
+
   pavucontrol = callPackage ../applications/audio/pavucontrol { };
 
   paraview = callPackage ../applications/graphics/paraview { };
@@ -9521,11 +11520,16 @@ let
   pdftk = callPackage ../tools/typesetting/pdftk { };
   pdfgrep  = callPackage ../tools/typesetting/pdfgrep { };
 
+  photoqt = callPackage ../applications/graphics/photoqt { };
+
   pianobar = callPackage ../applications/audio/pianobar { };
 
   pianobooster = callPackage ../applications/audio/pianobooster { };
 
-  picard = callPackage ../applications/audio/picard { };
+  picard = callPackage ../applications/audio/picard {
+    python-libdiscid = pythonPackages.discid;
+    mutagen = pythonPackages.mutagen;
+  };
 
   picocom = callPackage ../tools/misc/picocom { };
 
@@ -9534,17 +11538,16 @@ let
     gnutls = if config.pidgin.gnutls or false then gnutls else null;
     libgcrypt = if config.pidgin.gnutls or false then libgcrypt else null;
     startupnotification = libstartup_notification;
+    inherit (xlibs) libXext libICE libSM;
   };
 
-  pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex {
-    imagemagick = imagemagickBig;
+  pidgin-with-plugins = callPackage ../applications/networking/instant-messengers/pidgin/wrapper.nix {
+    plugins = [];
   };
 
-  pidginlatexSF = builderDefsPackage
-    (import ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix)
-    {
-      inherit pkgconfig pidgin texLive imagemagick which glib gtk;
-    };
+  pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex { };
+
+  pidginlatexSF = pidginlatex;
 
   pidginmsnpecan = callPackage ../applications/networking/instant-messengers/pidgin-plugins/msn-pecan { };
 
@@ -9552,18 +11555,24 @@ let
 
   pidginsipe = callPackage ../applications/networking/instant-messengers/pidgin-plugins/sipe { };
 
+  pidginwindowmerge = callPackage ../applications/networking/instant-messengers/pidgin-plugins/window-merge { };
+
   toxprpl = callPackage ../applications/networking/instant-messengers/pidgin-plugins/tox-prpl { };
 
   pinfo = callPackage ../applications/misc/pinfo { };
 
+  pinpoint = callPackage ../applications/office/pinpoint {};
+
   pinta = callPackage ../applications/graphics/pinta {
-    gtksharp = gtksharp2;
+    gtksharp = gtk-sharp;
   };
 
   pommed = callPackage ../os-specific/linux/pommed {
     inherit (xorg) libXpm;
   };
 
+  pond = callPackage ../applications/networking/pond { goPackages = go13Packages; };
+
   potrace = callPackage ../applications/graphics/potrace {};
 
   posterazor = callPackage ../applications/misc/posterazor { };
@@ -9572,34 +11581,76 @@ let
 
   qiv = callPackage ../applications/graphics/qiv { };
 
+  processing = callPackage ../applications/graphics/processing { inherit (xorg) libXxf86vm; };
+
   # perhaps there are better apps for this task? It's how I had configured my preivous system.
   # And I don't want to rewrite all rules
   procmail = callPackage ../applications/misc/procmail { };
 
+  profanity = callPackage ../applications/networking/instant-messengers/profanity {
+    notifySupport   = config.profanity.notifySupport   or true;
+    autoAwaySupport = config.profanity.autoAwaySupport or true;
+  };
+
   pstree = callPackage ../applications/misc/pstree { };
 
   pulseview = callPackage ../applications/science/electronics/pulseview { };
 
   puredata = callPackage ../applications/audio/puredata { };
+  puredata-with-plugins = plugins: callPackage ../applications/audio/puredata/wrapper.nix { inherit plugins; };
+
+  puremapping = callPackage ../applications/audio/pd-plugins/puremapping { };
 
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
-  qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { };
+  qbittorrent = callPackage ../applications/networking/p2p/qbittorrent {
+    boost = boost156;
+    libtorrentRasterbar = libtorrentRasterbar_0_16;
+  };
 
-  eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { };
+  eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { lua5 = lua5_1; };
 
   qemu = callPackage ../applications/virtualization/qemu { };
 
   qmmp = callPackage ../applications/audio/qmmp { };
 
+  qrcode = callPackage ../tools/graphics/qrcode {};
+
   qsampler = callPackage ../applications/audio/qsampler { };
 
   qsynth = callPackage ../applications/audio/qsynth { };
 
+  qtox = callPackage ../applications/networking/instant-messengers/qtox { };
+
   qtpfsgui = callPackage ../applications/graphics/qtpfsgui { };
 
   qtractor = callPackage ../applications/audio/qtractor { };
 
+  quassel_qt5 = callPackage ../applications/networking/irc/quassel {
+    monolithic = true;
+    daemon = false;
+    client = false;
+    withKDE = false;
+    useQt5 = true;
+    qt = qt5;
+    dconf = gnome3.dconf;
+    tag = "-qt5";
+  };
+
+  quasselClient_qt5 = quassel_qt5.override {
+    monolithic = false;
+    client = true;
+    tag = "-client-qt5";
+  };
+
+  quasselDaemon_qt5 = quassel_qt5.override {
+    monolithic = false;
+    daemon = true;
+    tag = "-daemon-qt5";
+  };
+
+  quirc = callPackage ../tools/graphics/quirc {};
+
   quodlibet = callPackage ../applications/audio/quodlibet {
     inherit (pythonPackages) mutagen;
   };
@@ -9619,6 +11670,8 @@ let
 
   rapidsvn = callPackage ../applications/version-management/rapidsvn { };
 
+  ratox = callPackage ../applications/networking/instant-messengers/ratox { };
+
   ratpoison = callPackage ../applications/window-managers/ratpoison { };
 
   rawtherapee = callPackage ../applications/graphics/rawtherapee {
@@ -9631,6 +11684,8 @@ let
 
   recode = callPackage ../tools/text/recode { };
 
+  remotebox = callPackage ../applications/virtualization/remotebox { };
+
   retroshare = callPackage ../applications/networking/p2p/retroshare {
     qt = qt4;
   };
@@ -9639,6 +11694,12 @@ let
     qt = qt4;
   });
 
+  rofi = callPackage ../applications/misc/rofi {
+    automake = automake114x;
+  };
+
+  rstudio = callPackage ../applications/editors/rstudio { };
+
   rsync = callPackage ../applications/networking/sync/rsync {
     enableACLs = !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD);
     enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false);
@@ -9657,12 +11718,29 @@ let
     unicode3Support = true;
   };
 
+  # urxvt plugins
+  urxvt_perls = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-perls { };
+  urxvt_tabbedex = callPackage ../applications/misc/rxvt_unicode-plugins/urxvt-tabbedex { };
+
+  rxvt_unicode-with-plugins = callPackage ../applications/misc/rxvt_unicode/wrapper.nix {
+    plugins = [ urxvt_perls urxvt_tabbedex ];
+  };
+
+  # FIXME: remove somewhere in future
+  rxvt_unicode_with-plugins = rxvt_unicode-with-plugins;
+
   sakura = callPackage ../applications/misc/sakura {
-    inherit (gnome) vte;
+    inherit (gnome3) vte;
   };
 
   sbagen = callPackage ../applications/misc/sbagen { };
 
+  scantailor = callPackage ../applications/graphics/scantailor {
+    boost = boost155;
+  };
+
+  scim = callPackage ../applications/misc/scim { };
+
   scite = callPackage ../applications/editors/scite { };
 
   scribus = callPackage ../applications/office/scribus {
@@ -9672,7 +11750,7 @@ let
   seafile-client = callPackage ../applications/networking/seafile-client { };
 
   seeks = callPackage ../tools/networking/p2p/seeks {
-    opencv = opencv_2_1;
+    protobuf = protobuf2_5;
   };
 
   seg3d = callPackage ../applications/graphics/seg3d {
@@ -9687,6 +11765,8 @@ let
     gtk = gtk3;
   };
 
+  simple-scan = callPackage ../applications/graphics/simple-scan { };
+
   siproxd = callPackage ../applications/networking/siproxd { };
 
   skype = callPackage_i686 ../applications/networking/instant-messengers/skype { };
@@ -9695,8 +11775,14 @@ let
 
   skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { };
 
+  slmenu = callPackage ../applications/misc/slmenu {};
+
   slrn = callPackage ../applications/networking/newsreaders/slrn { };
 
+  sooperlooper = callPackage ../applications/audio/sooperlooper { };
+
+  sound-juicer = callPackage ../applications/audio/sound-juicer { };
+
   spideroak = callPackage ../applications/networking/spideroak { };
 
   ssvnc = callPackage ../applications/networking/remote/ssvnc { };
@@ -9705,6 +11791,12 @@ let
     conf = config.st.conf or null;
   };
 
+  stag = callPackage ../applications/misc/stag {
+    curses = ncurses;
+  };
+
+  stella = callPackage ../misc/emulators/stella { };
+
   linuxstopmotion = callPackage ../applications/video/linuxstopmotion { };
 
   sweethome3d = recurseIntoAttrs (  (callPackage ../applications/misc/sweethome3d { })
@@ -9715,21 +11807,26 @@ let
 
   sxiv = callPackage ../applications/graphics/sxiv { };
 
-  bittorrentSync = callPackage ../applications/networking/bittorrentsync { };
+  bittorrentSync = bittorrentSync14;
+  bittorrentSync14 = callPackage ../applications/networking/bittorrentsync/1.4.x.nix { };
+  bittorrentSync20 = callPackage ../applications/networking/bittorrentsync/2.0.x.nix { };
+
+  copy-com = callPackage ../applications/networking/copy-com { };
 
   dropbox = callPackage ../applications/networking/dropbox { };
 
   dropbox-cli = callPackage ../applications/networking/dropbox-cli { };
 
-  lightdm = callPackage ../applications/display-managers/lightdm { };
+  lightdm = callPackage ../applications/display-managers/lightdm {
+    qt4 = null;
+    qt5 = null;
+  };
+
+  lightdm_qt = lightdm.override { qt5 = qt5; };
 
   lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { };
 
-  # slic3r 0.9.10b says: "Running Slic3r under Perl >= 5.16 is not supported nor recommended"
-  slic3r = callPackage ../applications/misc/slic3r {
-    perlPackages = perl514Packages;
-    perl = perl514;
-  };
+  slic3r = callPackage ../applications/misc/slic3r { };
 
   curaengine = callPackage ../applications/misc/curaengine { };
 
@@ -9737,17 +11834,29 @@ let
 
   printrun = callPackage ../applications/misc/printrun { };
 
+  sddm = callPackage ../applications/display-managers/sddm { };
+
   slim = callPackage ../applications/display-managers/slim {
     libpng = libpng12;
   };
 
+  smartgithg = callPackage ../applications/version-management/smartgithg { };
+
+  slimThemes = recurseIntoAttrs (import ../applications/display-managers/slim/themes.nix {
+    inherit stdenv fetchurl slim;
+  });
+
   smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
+  snapper = callPackage ../tools/misc/snapper { };
+
   snd = callPackage ../applications/audio/snd { };
 
   shntool = callPackage ../applications/audio/shntool { };
 
-  sonic_visualiser = callPackage ../applications/audio/sonic-visualiser {
+  sipp = callPackage ../development/tools/misc/sipp { };
+
+  sonic-visualiser = callPackage ../applications/audio/sonic-visualiser {
     inherit (pkgs.vamp) vampSDK;
     inherit (pkgs.xlibs) libX11;
     fftw = pkgs.fftwSinglePrec;
@@ -9757,6 +11866,8 @@ let
 
   soxr = callPackage ../applications/misc/audio/soxr { };
 
+  spek = callPackage ../applications/audio/spek { };
+
   spotify = callPackage ../applications/audio/spotify {
     inherit (gnome) GConf;
     libpng = libpng12;
@@ -9766,11 +11877,18 @@ let
     apiKey = config.libspotify.apiKey or null;
   };
 
+  src = callPackage ../applications/version-management/src/default.nix {
+    git = gitMinimal;
+  };
+
   stalonetray = callPackage ../applications/window-managers/stalonetray {};
 
   stp = callPackage ../applications/science/logic/stp {};
 
-  stumpwm = lispPackages.stumpwm;
+  stumpwm = callPackage ../applications/window-managers/stumpwm {
+    sbcl = sbcl_1_2_5;
+    lispPackages = lispPackagesFor (wrapLisp sbcl_1_2_5);
+  };
 
   sublime = callPackage ../applications/editors/sublime { };
 
@@ -9784,7 +11902,6 @@ let
     perlBindings = false;
     javahlBindings = false;
     saslSupport = false;
-    httpd = apacheHttpd;
     sasl = cyrus_sasl;
   };
 
@@ -9802,10 +11919,7 @@ let
 
   swh_lv2 = callPackage ../applications/audio/swh-lv2 { };
 
-  sylpheed = callPackage ../applications/networking/mailreaders/sylpheed {
-    sslSupport = true;
-    gpgSupport = true;
-  };
+  sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { };
 
   symlinks = callPackage ../tools/system/symlinks { };
 
@@ -9816,6 +11930,8 @@ let
 
   tabbed = callPackage ../applications/window-managers/tabbed { };
 
+  tagainijisho = callPackage ../applications/office/tagainijisho {};
+
   tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs {
     inherit (pythonPackages) twisted foolscap simplejson nevow zfec
       pycryptopp sqlite3 darcsver setuptoolsTrial setuptoolsDarcs
@@ -9853,11 +11969,20 @@ let
 
   telepathy_salut = callPackage ../applications/networking/instant-messengers/telepathy/salut {};
 
+  telepathy_idle = callPackage ../applications/networking/instant-messengers/telepathy/idle {};
+
+  terminal-notifier = callPackage ../applications/misc/terminal-notifier {};
+
   terminator = callPackage ../applications/misc/terminator {
     vte = gnome.vte.override { pythonSupport = true; };
     inherit (pythonPackages) notify;
   };
 
+  termite = callPackage ../applications/misc/termite {
+    gtk = gtk3;
+    vte = gnome3_12.vte-select-text;
+   };
+
   tesseract = callPackage ../applications/graphics/tesseract { };
 
   thinkingRock = callPackage ../applications/misc/thinking-rock { };
@@ -9877,6 +12002,13 @@ let
 
   tig = gitAndTools.tig;
 
+  tilda = callPackage ../applications/misc/tilda {
+    vte = gnome3.vte;
+    gtk = gtk3;
+  };
+
+  timbreid = callPackage ../applications/audio/pd-plugins/timbreid { };
+
   timidity = callPackage ../tools/misc/timidity { };
 
   tint2 = callPackage ../applications/misc/tint2 { };
@@ -9885,8 +12017,19 @@ let
 
   tla = callPackage ../applications/version-management/arch { };
 
+  tlp = callPackage ../tools/misc/tlp {
+    enableRDW = config.networking.networkmanager.enable or false;
+  };
+
   todo-txt-cli = callPackage ../applications/office/todo.txt-cli { };
 
+  tomahawk = callPackage ../applications/audio/tomahawk {
+    inherit (pkgs.kde4) kdelibs;
+    enableXMPP      = config.tomahawk.enableXMPP      or true;
+    enableKDE       = config.tomahawk.enableKDE       or false;
+    enableTelepathy = config.tomahawk.enableTelepathy or false;
+  };
+
   torchat = callPackage ../applications/networking/instant-messengers/torchat {
     wrapPython = pythonPackages.wrapPython;
   };
@@ -9904,8 +12047,12 @@ let
 
   tree = callPackage ../tools/system/tree {};
 
+  trezor-bridge = callPackage ../applications/networking/browsers/mozilla-plugins/trezor { };
+
   tribler = callPackage ../applications/networking/p2p/tribler { };
 
+  tuxguitar = callPackage ../applications/editors/music/tuxguitar { };
+
   twister = callPackage ../applications/networking/p2p/twister { };
 
   twmn = callPackage ../applications/misc/twmn { };
@@ -9919,6 +12066,8 @@ let
     enableX11 = config.unison.enableX11 or true;
   };
 
+  unpaper = callPackage ../tools/graphics/unpaper { };
+
   uucp = callPackage ../tools/misc/uucp { };
 
   uvccapture = callPackage ../applications/video/uvccapture { };
@@ -9929,14 +12078,20 @@ let
     webkit = webkitgtk2;
   };
 
-  uTox = callPackage ../applications/networking/instant-messengers/utox { };
+  utox = callPackage ../applications/networking/instant-messengers/utox { };
 
   vanitygen = callPackage ../applications/misc/vanitygen { };
 
+  vanubi = callPackage ../applications/editors/vanubi { vala = vala_0_26; };
+
   vbindiff = callPackage ../applications/editors/vbindiff { };
 
   vcprompt = callPackage ../applications/version-management/vcprompt { };
 
+ vdirsyncer = callPackage ../tools/misc/vdirsyncer {
+   pythonPackages = python3Packages;
+ };
+
   vdpauinfo = callPackage ../tools/X11/vdpauinfo { };
 
   veracity = callPackage ../applications/version-management/veracity {};
@@ -9950,36 +12105,35 @@ let
 
   vim = callPackage ../applications/editors/vim { };
 
-  macvim = callPackage ../applications/editors/vim/macvim.nix { };
+  macvim = callPackage ../applications/editors/vim/macvim.nix { stdenv = clangStdenv; };
 
   vimHugeX = vim_configurable;
 
-  vim_configurable = callPackage ../applications/editors/vim/configurable.nix {
+  vim_configurable = vimUtils.makeCustomizable (callPackage ../applications/editors/vim/configurable.nix {
     inherit (pkgs) fetchurl fetchhg stdenv ncurses pkgconfig gettext
       composableDerivation lib config glib gtk python perl tcl ruby;
     inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu
       libICE;
 
     features = "huge"; # one of  tiny, small, normal, big or huge
-    lua = pkgs.lua5;
+    lua = pkgs.lua5_1;
     gui = config.vim.gui or "auto";
 
     # optional features by flags
     flags = [ "python" "X11" ]; # only flag "X11" by now
-
-    # so that we can use gccApple if we're building on darwin
-    inherit stdenvAdapters gccApple;
-  };
+  });
 
   vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; });
 
+  qpdfview = callPackage ../applications/misc/qpdfview {};
+
   qvim = lowPrio (callPackage ../applications/editors/vim/qvim.nix {
     inherit (pkgs) fetchgit stdenv ncurses pkgconfig gettext
       composableDerivation lib config python perl tcl ruby qt4;
     inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu
       libICE;
 
-    inherit (pkgs) stdenvAdapters gccApple;
+    inherit (pkgs) stdenvAdapters;
 
     features = "huge"; # one of  tiny, small, normal, big or huge
     lua = pkgs.lua5;
@@ -9988,6 +12142,10 @@ let
 
   vimpc = callPackage ../applications/audio/vimpc { };
 
+  neovim = callPackage ../applications/editors/neovim {
+    inherit (lua52Packages) lpeg luaMessagePack luabitop;
+  };
+
   virtviewer = callPackage ../applications/virtualization/virt-viewer {
     gtkvnc = gtkvnc.override { enableGTK3 = true; };
     spice_gtk = spice_gtk.override { enableGTK3 = true; };
@@ -10004,13 +12162,47 @@ let
 
   virtualgl = callPackage ../tools/X11/virtualgl { };
 
-  bumblebee = callPackage ../tools/X11/bumblebee { };
+  primus = callPackage ../tools/X11/primus {
+    primusLib = callPackage ../tools/X11/primus/lib.nix {
+      nvidia = linuxPackages.nvidia_x11;
+    };
+
+    primusLib_i686 = if system == "x86_64-linux"
+      then callPackage_i686 ../tools/X11/primus/lib.nix {
+             nvidia = pkgsi686Linux.linuxPackages.nvidia_x11.override { libsOnly = true; };
+           }
+      else null;
+  };
+
+  bumblebee = callPackage ../tools/X11/bumblebee {
+    nvidia_x11 = linuxPackages.nvidia_x11;
+    nvidia_x11_i686 = if system == "x86_64-linux"
+      then pkgsi686Linux.linuxPackages.nvidia_x11.override { libsOnly = true; }
+      else null;
+    virtualgl = virtualgl;
+    virtualgl_i686 = if system == "x86_64-linux"
+      then pkgsi686Linux.virtualgl
+      else null;
+  };
+
+  # use if you intend to connect the nvidia card to a monitor
+  bumblebee_display = bumblebee.override {
+    useDisplayDevice = true;
+  };
 
   vkeybd = callPackage ../applications/audio/vkeybd {
     inherit (xlibs) libX11;
   };
 
-  vlc = callPackage ../applications/video/vlc { };
+  vlc = callPackage ../applications/video/vlc {
+    ffmpeg = ffmpeg_2;
+  };
+
+  vlc_qt5 = vlc.override {
+    qt4 = null;
+    withQt5 = true;
+    inherit qt5;
+  };
 
   vmpk = callPackage ../applications/audio/vmpk { };
 
@@ -10018,9 +12210,7 @@ let
 
   vorbisTools = callPackage ../applications/audio/vorbis-tools { };
 
-  vue = callPackage ../applications/misc/vue {
-    jre = icedtea7_jre;
-  };
+  vue = callPackage ../applications/misc/vue { };
 
   vwm = callPackage ../applications/window-managers/vwm { };
 
@@ -10032,12 +12222,30 @@ let
 
   weechat = callPackage ../applications/networking/irc/weechat { };
 
-  weechatDevel = lowPrio (callPackage ../applications/networking/irc/weechat/devel.nix { });
+  westonLite = callPackage ../applications/window-managers/weston {
+    pango = null;
+    freerdp = null;
+    libunwind = null;
+    vaapi = null;
+    libva = null;
+    libwebp = null;
+    xwayland = null;
+  };
 
-  weston = callPackage ../applications/window-managers/weston { };
+  weston = callPackage ../applications/window-managers/weston {
+    freerdp = freerdpUnstable;
+  };
 
   windowmaker = callPackage ../applications/window-managers/windowmaker { };
 
+  alsamixer.app = callPackage ../applications/window-managers/windowmaker/dockapps/alsamixer.app.nix { };
+
+  wmcalclock = callPackage ../applications/window-managers/windowmaker/dockapps/wmcalclock.nix { };
+
+  wmsm.app = callPackage ../applications/window-managers/windowmaker/dockapps/wmsm.app.nix { };
+
+  wmsystemtray = callPackage ../applications/window-managers/windowmaker/dockapps/wmsystemtray.nix { };
+
   winswitch = callPackage ../tools/X11/winswitch { };
 
   wings = callPackage ../applications/graphics/wings {
@@ -10065,11 +12273,9 @@ let
 
   wordnet = callPackage ../applications/misc/wordnet { };
 
-  wrapChromium = browser: wrapFirefox {
-    inherit browser;
-    browserName = browser.packageName;
-    desktopName = "Chromium";
-    icon = "${browser}/share/icons/hicolor/48x48/apps/${browser.packageName}.png";
+  workrave = callPackage ../applications/misc/workrave {
+    inherit (gnome) GConf gconfmm;
+    inherit (python27Packages) cheetah;
   };
 
   wrapFirefox =
@@ -10079,29 +12285,90 @@ let
       cfg = stdenv.lib.attrByPath [ browserName ] {} config;
       enableAdobeFlash = cfg.enableAdobeFlash or false;
       enableGnash = cfg.enableGnash or false;
+      jre = cfg.jre or false;
+      icedtea = cfg.icedtea or false;
     in
     import ../applications/networking/browsers/firefox/wrapper.nix {
       inherit stdenv lib makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon;
+      libtrick = true;
       plugins =
          assert !(enableGnash && enableAdobeFlash);
+         assert !(jre && icedtea);
          ([ ]
           ++ lib.optional enableGnash gnash
           ++ lib.optional enableAdobeFlash flashplayer
           ++ lib.optional (cfg.enableDjvu or false) (djview4)
           ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
           ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer
-          ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin
+          ++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
+          ++ lib.optional icedtea icedtea_web
           ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
           ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
           ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell
+          ++ lib.optional (cfg.enableTrezor or false) trezor-bridge
          );
       libs = [ gstreamer gst_plugins_base ] ++ lib.optionals (cfg.enableQuakeLive or false)
-             (with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]);
+             (with xlibs; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]);
+      gst_plugins = [ gst_plugins_base gst_plugins_good gst_plugins_bad gst_plugins_ugly gst_ffmpeg ];
       gtk_modules = [ libcanberra ];
     };
 
+  retroArchCores =
+    let
+      cfg = config.retroarch or {};
+      inherit (lib) optional;
+    in with libretro;
+      ([ ]
+      ++ optional (cfg.enable4do or false) _4do
+      ++ optional (cfg.enableBsnesMercury or false) bsnes-mercury
+      ++ optional (cfg.enableDesmume or false) desmume
+      ++ optional (cfg.enableFBA or false) fba
+      ++ optional (cfg.enableFceumm or false) fceumm
+      ++ optional (cfg.enableGambatte or false) gambatte
+      ++ optional (cfg.enableGenesisPlusGX or false) genesis-plus-gx
+      ++ optional (cfg.enableMednafenPCEFast or false) mednafen-pce-fast
+      ++ optional (cfg.enableMupen64Plus or false) mupen64plus
+      ++ optional (cfg.enableNestopia or false) nestopia
+      ++ optional (cfg.enablePicodrive or false) picodrive
+      ++ optional (cfg.enablePrboom or false) prboom
+      ++ optional (cfg.enablePPSSPP or false) ppsspp
+      ++ optional (cfg.enableQuickNES or false) quicknes
+      ++ optional (cfg.enableScummVM or false) scummvm
+      ++ optional (cfg.enableSnes9x or false) snes9x
+      ++ optional (cfg.enableSnes9xNext or false) snes9x-next
+      ++ optional (cfg.enableStella or false) stella
+      ++ optional (cfg.enableVbaNext or false) vba-next
+      ++ optional (cfg.enableVbaM or false) vba-m
+      );
+
+  wrapRetroArch = { retroarch }: import ../misc/emulators/retroarch/wrapper.nix {
+    inherit stdenv lib makeWrapper retroarch;
+    cores = retroArchCores;
+  };
+
+  wrapKodi = { kodi }: import ../applications/video/kodi/wrapper.nix {
+    inherit stdenv lib makeWrapper kodi;
+    plugins = let inherit (lib) optional; in with kodiPlugins;
+      ([]
+      ++ optional (config.kodi.enableAdvancedLauncher or false) advanced-launcher
+      ++ optional (config.kodi.enableGenesis or false) genesis
+      ++ optional (config.kodi.enableSVTPlay or false) svtplay
+      );
+  };
+
+  wxhexeditor = callPackage ../applications/editors/wxhexeditor { };
+
+  wxcam = callPackage ../applications/video/wxcam {
+    inherit (gnome) libglade;
+    inherit intltool;
+    wxGTK = wxGTK28;
+    gtk = gtk2;
+  };
+
   x11vnc = callPackage ../tools/X11/x11vnc { };
 
+  x2goclient = callPackage ../applications/networking/remote/x2goclient { };
+
   x2vnc = callPackage ../tools/X11/x2vnc { };
 
   xaos = builderDefsPackage (import ../applications/graphics/xaos) {
@@ -10116,9 +12383,28 @@ let
 
   xbindkeys = callPackage ../tools/X11/xbindkeys { };
 
-  xbmc = callPackage ../applications/video/xbmc {
-    ffmpeg = ffmpeg_1;
+  xbindkeys-config = callPackage ../tools/X11/xbindkeys-config/default.nix {
+    gtk = gtk2;
+  };
+
+  kodiPlain = callPackage ../applications/video/kodi { };
+  xbmcPlain = kodiPlain;
+
+  kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix {
+    kodi = kodiPlain;
+  });
+  xbmcPlugins = kodiPlugins;
+
+  kodi = wrapKodi {
+    kodi = kodiPlain;
   };
+  xbmc = kodi;
+
+  kodi-retroarch-advanced-launchers =
+    callPackage ../misc/emulators/retroarch/kodi-advanced-launchers.nix {
+      cores = retroArchCores;
+  };
+  xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers;
 
   xca = callPackage ../applications/misc/xca { };
 
@@ -10144,9 +12430,10 @@ let
 
   xdotool = callPackage ../tools/X11/xdotool { };
 
-  xen = callPackage ../applications/virtualization/xen {
-    stdenv = overrideGCC stdenv gcc45;
-  };
+  xen_4_4_1 = callPackage ../applications/virtualization/xen/4.4.1.nix { };
+  xen_4_5_0 = callPackage ../applications/virtualization/xen/4.5.0.nix { };
+  xen_xenServer = callPackage ../applications/virtualization/xen/4.5.0.nix { xenserverPatched = true; };
+  xen = xen_4_5_0;
 
   xfe = callPackage ../applications/misc/xfe {
     fox = fox_1_6;
@@ -10166,6 +12453,13 @@ let
     inherit (gnome) libglade GConf;
   };
 
+  xiphos = callPackage ../applications/misc/xiphos {
+    gconf = gnome2.GConf;
+    inherit (gnome2) gtkhtml libgtkhtml libglade scrollkeeper;
+    python = python27;
+    webkitgtk = webkitgtk2;
+  };
+
   xournal = callPackage ../applications/graphics/xournal {
     inherit (gnome) libgnomeprint libgnomeprintui libgnomecanvas;
   };
@@ -10177,9 +12471,40 @@ let
 
   xkb_switch = callPackage ../tools/X11/xkb-switch { };
 
+  xkblayout-state = callPackage ../applications/misc/xkblayout-state { };
+
+  xmonad-with-packages = callPackage ../applications/window-managers/xmonad/wrapper.nix {
+    inherit (haskellngPackages) ghcWithPackages;
+    packages = self: [];
+  };
+
+  xmonad_log_applet_gnome2 = callPackage ../applications/window-managers/xmonad-log-applet {
+    desktopSupport = "gnome2";
+    inherit (xfce) libxfce4util xfce4panel;
+    gnome2_panel = gnome2.gnome_panel;
+    GConf2 = gnome2.GConf;
+  };
+
+  xmonad_log_applet_gnome3 = callPackage ../applications/window-managers/xmonad-log-applet {
+    desktopSupport = "gnome3";
+    inherit (xfce) libxfce4util xfce4panel;
+    gnome2_panel = gnome2.gnome_panel;
+    GConf2 = gnome2.GConf;
+  };
+
+  xmonad_log_applet_xfce = callPackage ../applications/window-managers/xmonad-log-applet {
+    desktopSupport = "xfce4";
+    inherit (xfce) libxfce4util xfce4panel;
+    gnome2_panel = gnome2.gnome_panel;
+    GConf2 = gnome2.GConf;
+  };
+
   libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix { };
 
-  xpra = callPackage ../tools/X11/xpra { };
+  xpra = callPackage ../tools/X11/xpra { inherit (texFunctions) fontsConf; };
+  libfakeXinerama = callPackage ../tools/X11/xpra/libfakeXinerama.nix { inherit (xlibs) libXinerama; };
+  #TODO: 'pil' is not available for python3, yet
+  xpraGtk3 = callPackage ../tools/X11/xpra/gtk3.nix { inherit (texFunctions) fontsConf; inherit (python3Packages) buildPythonPackage python cython pygobject3 pycairo; };
 
   xrestop = callPackage ../tools/X11/xrestop { };
 
@@ -10187,12 +12512,19 @@ let
     inherit (gnome) libglade;
   };
 
+  xss-lock = callPackage ../misc/screensavers/xss-lock { };
+
   xsynth_dssi = callPackage ../applications/audio/xsynth-dssi { };
 
   xterm = callPackage ../applications/misc/xterm { };
 
   finalterm = callPackage ../applications/misc/finalterm { };
 
+  roxterm = callPackage ../applications/misc/roxterm {
+    inherit (pythonPackages) lockfile;
+    inherit (gnome3) vte gsettings_desktop_schemas;
+  };
+
   xtrace = callPackage ../tools/X11/xtrace { };
 
   xlaunch = callPackage ../tools/X11/xlaunch { };
@@ -10203,10 +12535,7 @@ let
 
   xmp = callPackage ../applications/audio/xmp { };
 
-  xnee = callPackage ../tools/X11/xnee {
-    # Work around "missing separator" error.
-    stdenv = overrideInStdenv stdenv [ gnumake381 ];
-  };
+  xnee = callPackage ../tools/X11/xnee { };
 
   xvidcap = callPackage ../applications/video/xvidcap {
     inherit (gnome) scrollkeeper libglade;
@@ -10216,9 +12545,13 @@ let
 
   inherit (gnome3) yelp;
 
-  qgis = callPackage ../applications/misc/qgis {};
+  qgis = callPackage ../applications/gis/qgis {};
+
+  qtbitcointrader = callPackage ../applications/misc/qtbitcointrader {
+    qt = qt4;
+  };
 
-  qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
+  yed = callPackage ../applications/graphics/yed {};
 
   ykpers = callPackage ../applications/misc/ykpers {};
 
@@ -10230,6 +12563,7 @@ let
     (let callPackage = newScope pkgs.zathuraCollection; in
       import ../applications/misc/zathura {
         inherit callPackage pkgs fetchurl;
+        stdenv = overrideCC stdenv gcc49;
         useMupdf = config.zathura.useMupdf or false;
       });
 
@@ -10239,18 +12573,28 @@ let
 
   zeroc_ice = callPackage ../development/libraries/zeroc-ice { };
 
+  zexy = callPackage ../applications/audio/pd-plugins/zexy  { };
+
   girara = callPackage ../applications/misc/girara {
     gtk = gtk3;
+    stdenv = overrideCC stdenv gcc49;
+  };
+
+  girara-light = callPackage ../applications/misc/girara {
+    gtk = gtk3;
+    withBuildColors = false;
+    ncurses = null;
   };
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
-  zotero = callPackage ../applications/office/zotero {
-    xulrunner = xulrunner_30;
+  zim = callPackage ../applications/office/zim {
+    pygtk = pyGtkGlade;
   };
 
-  zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
+  zotero = callPackage ../applications/office/zotero {};
 
+  zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
 
   ### GAMES
 
@@ -10261,7 +12605,7 @@ let
   anki = callPackage ../games/anki { };
 
   asc = callPackage ../games/asc {
-    lua = lua5;
+    lua = lua5_1;
     libsigcxx = libsigcxx12;
   };
 
@@ -10319,20 +12663,6 @@ let
     };
   };
 
-  dwarf_fortress_2014 = callPackage_i686 ../games/dwarf-fortress/df2014.nix {
-    SDL_image = pkgsi686Linux.SDL_image.override {
-      libpng = pkgsi686Linux.libpng12;
-    };
-  };
-
-  dwarf_fortress_modable = appendToName "moddable" (dwarf_fortress.override {
-    copyDataDirectory = true;
-  });
-
-  dwarf_fortress_2014_modable = appendToName "moddable" (dwarf_fortress_2014.override {
-    copyDataDirectory = true;
-  });
-
   dwarf-therapist = callPackage ../games/dwarf-therapist { };
 
   d1x_rebirth = callPackage ../games/d1x-rebirth { };
@@ -10347,6 +12677,8 @@ let
 
   exult = callPackage ../games/exult { };
 
+  fairymax = callPackage ../games/fairymax {};
+
   flightgear = callPackage ../games/flightgear { };
 
   freeciv = callPackage ../games/freeciv { };
@@ -10368,27 +12700,32 @@ let
 
   glestae = callPackage ../games/glestae {};
 
-  globulation2 = callPackage ../games/globulation {};
+  globulation2 = callPackage ../games/globulation {
+    boost = boost155;
+  };
 
   gltron = callPackage ../games/gltron { };
 
+  gnubg = callPackage ../games/gnubg { };
+
   gnuchess = callPackage ../games/gnuchess { };
 
   gnugo = callPackage ../games/gnugo { };
 
-  gparted = callPackage ../tools/misc/gparted { };
+  gtypist = callPackage ../games/gtypist { };
 
-  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
-    inherit (gnome) libglademm;
+  hedgewars = callPackage ../games/hedgewars {
+    inherit (haskellPackages) ghc network vector utf8String bytestringShow
+      random hslogger dataenc;
   };
 
-  gtypist = callPackage ../games/gtypist { };
-
   hexen = callPackage ../games/hexen { };
 
   icbm3d = callPackage ../games/icbm3d { };
 
-  ingen = callPackage ../applications/audio/ingen { };
+  ingen = callPackage ../applications/audio/ingen {
+    inherit (pythonPackages) rdflib;
+  };
 
   instead = callPackage ../games/instead {
     lua = lua5;
@@ -10406,12 +12743,16 @@ let
 
   mars = callPackage ../games/mars { };
 
+  megaglest = callPackage ../games/megaglest {};
+
   micropolis = callPackage ../games/micropolis { };
 
   mnemosyne = callPackage ../games/mnemosyne {
     inherit (pythonPackages) matplotlib cherrypy sqlite3;
   };
 
+  n2048 = callPackage ../games/n2048 {};
+
   naev = callPackage ../games/naev { };
 
   nexuiz = callPackage ../games/nexuiz { };
@@ -10420,7 +12761,7 @@ let
 
   oilrush = callPackage ../games/oilrush { };
 
-  openra = callPackage ../games/openra { };
+  openra = callPackage ../games/openra { lua = lua5_1; };
 
   openttd = callPackage ../games/openttd {
     zlib = zlibStatic;
@@ -10430,6 +12771,8 @@ let
 
   openxcom = callPackage ../games/openxcom { };
 
+  performous = callPackage ../games/performous { };
+
   pingus = callPackage ../games/pingus {};
 
   pioneers = callPackage ../games/pioneers { };
@@ -10465,6 +12808,8 @@ let
 
   rogue = callPackage ../games/rogue { };
 
+  saga = callPackage ../applications/gis/saga { };
+
   samplv1 = callPackage ../applications/audio/samplv1 { };
 
   sauerbraten = callPackage ../games/sauerbraten {};
@@ -10483,23 +12828,25 @@ let
   };
 
   simutrans = callPackage ../games/simutrans { };
+  # get binaries without data built by Hydra
+  simutrans_binaries = lowPrio simutrans.binaries;
 
   soi = callPackage ../games/soi {};
 
   # You still can override by passing more arguments.
   spaceOrbit = callPackage ../games/orbit { };
 
-  spring = callPackage ../games/spring { };
+  spring = callPackage ../games/spring {
+    boost = boost155;
+  };
 
   springLobby = callPackage ../games/spring/springlobby.nix { };
 
   stardust = callPackage ../games/stardust {};
 
-  steam = callPackage_i686 ../games/steam {};
+  steam-original = callPackage ../games/steam { };
 
-  steamChrootEnv = callPackage_i686 ../games/steam/chrootenv.nix {
-    zenity = gnome2.zenity;
-  };
+  steam = callPackage ../games/steam/chrootenv.nix { };
 
   stuntrally = callPackage ../games/stuntrally { };
 
@@ -10509,7 +12856,11 @@ let
 
   synthv1 = callPackage ../applications/audio/synthv1 { };
 
-  tbe = callPackage ../games/the-butterfly-effect {};
+  the-powder-toy = callPackage ../games/the-powder-toy {
+    lua = lua5_1;
+  };
+
+  tbe = callPackage ../games/the-butterfly-effect { };
 
   teetertorture = callPackage ../games/teetertorture { };
 
@@ -10517,7 +12868,7 @@ let
 
   tennix = callPackage ../games/tennix { };
 
-  tibia = callPackage ../games/tibia { };
+  tibia = callPackage_i686 ../games/tibia { };
 
   tintin = callPackage ../games/tintin { };
 
@@ -10547,7 +12898,7 @@ let
   ultimatestunts = callPackage ../games/ultimatestunts { };
 
   ultrastardx = callPackage ../games/ultrastardx {
-    ffmpeg = ffmpeg_0_6;
+    ffmpeg = ffmpeg_0_10;
     lua = lua5;
   };
 
@@ -10557,6 +12908,8 @@ let
 
   urbanterror = callPackage ../games/urbanterror { };
 
+  ue4demos = recurseIntoAttrs (callPackage ../games/ue4demos { });
+
   ut2004demo = callPackage ../games/ut2004demo { };
 
   vdrift = callPackage ../games/vdrift { };
@@ -10594,6 +12947,8 @@ let
 
   xskat = callPackage ../games/xskat { };
 
+  xsnow = callPackage ../games/xsnow { };
+
   xsokoban = builderDefsPackage (import ../games/xsokoban) {
     inherit (xlibs) libX11 xproto libXpm libXt;
   };
@@ -10629,16 +12984,13 @@ let
     cjs = callPackage ../desktops/cinnamon/cjs.nix { };
   };
 
-  enlightenment = callPackage ../desktops/enlightenment { };
+  clearlooks-phenix = callPackage ../misc/themes/gtk3/clearlooks-phenix { };
 
-  e17 = recurseIntoAttrs (
-    let callPackage = newScope pkgs.e17; in
-    import ../desktops/e17 { inherit callPackage pkgs; }
-  );
+  enlightenment = callPackage ../desktops/enlightenment { };
 
-  e18 = recurseIntoAttrs (
-    let callPackage = newScope pkgs.e18; in
-    import ../desktops/e18 { inherit callPackage pkgs; }
+  e19 = recurseIntoAttrs (
+    let callPackage = newScope pkgs.e19; in
+    import ../desktops/e19 { inherit callPackage pkgs; }
   );
 
   gnome2 = callPackage ../desktops/gnome-2 {
@@ -10649,176 +13001,220 @@ let
     inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils;
   };
 
-  gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.10 {
-    callPackage = pkgs.newScope pkgs.gnome3;
-    self = pkgs.gnome3;
-  });
-
   gnome3_12 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.12 {
     callPackage = pkgs.newScope pkgs.gnome3_12;
   });
 
+  gnome3 = gnome3_12;
+
   gnome = recurseIntoAttrs gnome2;
 
   hsetroot = callPackage ../tools/X11/hsetroot { };
 
   kakasi = callPackage ../tools/text/kakasi { };
 
-  kde4 = recurseIntoAttrs pkgs.kde412;
+  kde4 = recurseIntoAttrs pkgs.kde414;
 
-  kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 );
+  kde414 =
+    kdePackagesFor
+      {
+        libusb = libusb1;
+        libcanberra = libcanberra_kde;
+        boost = boost156;
+        kdelibs = kdeApps_stable.kdelibs;
+      }
+      ../desktops/kde-4.14;
 
-  kde412 = kdePackagesFor (pkgs.kde412 // {
-      eigen = eigen2;
-      libusb = libusb1;
-      libcanberra = libcanberra_kde;
-    }) ../desktops/kde-4.12;
 
-  kdePackagesFor = self: dir:
-    let callPackageOrig = callPackage; in
+  kdePackagesFor = extra: dir:
     let
-      callPackage = newScope self;
-      kde4 = callPackageOrig dir {
-        inherit callPackage callPackageOrig;
-      };
-    in kde4 // {
-      inherit kde4;
+      # list of extra packages not included in KDE
+      # the real work in this function is done below this list
+      extraPackages = callPackage:
+        rec {
+          amarok = callPackage ../applications/audio/amarok { };
 
-      wrapper = callPackage ../build-support/kdewrapper {};
+          bangarang = callPackage ../applications/video/bangarang { };
 
-      recurseForRelease = true;
+          basket = callPackage ../applications/office/basket { };
 
-      akunambol = callPackage ../applications/networking/sync/akunambol { };
+          bluedevil = callPackage ../tools/bluetooth/bluedevil { };
 
-      amarok = callPackage ../applications/audio/amarok { };
+          calligra = callPackage ../applications/office/calligra { eigen = eigen2; };
 
-      bangarang = callPackage ../applications/video/bangarang { };
+          choqok = callPackage ../applications/networking/instant-messengers/choqok { };
 
-      basket = callPackage ../applications/office/basket { };
+          colord-kde = callPackage ../tools/misc/colord-kde { };
 
-      bluedevil = callPackage ../tools/bluetooth/bluedevil { };
+          digikam = if builtins.compareVersions "4.9" kde4.release == 1 then
+              callPackage ../applications/graphics/digikam/2.nix { }
+            else
+              callPackage ../applications/graphics/digikam { };
 
-      calligra = callPackage ../applications/office/calligra { };
+          eventlist = callPackage ../applications/office/eventlist {};
 
-      colord-kde = callPackage ../tools/misc/colord-kde { };
+          k3b = callPackage ../applications/misc/k3b {
+            cdrtools = cdrkit;
+          };
 
-      digikam = if builtins.compareVersions "4.9" kde4.release == 1 then
-          callPackage ../applications/graphics/digikam/2.nix { }
-        else
-          callPackage ../applications/graphics/digikam { };
+          kadu = callPackage ../applications/networking/instant-messengers/kadu { };
 
-      eventlist = callPackage ../applications/office/eventlist {};
+          kbibtex = callPackage ../applications/office/kbibtex { };
 
-      k3b = callPackage ../applications/misc/k3b { };
+          kde_gtk_config = callPackage ../tools/misc/kde-gtk-config { };
 
-      kadu = callPackage ../applications/networking/instant-messengers/kadu { };
+          kde_wacomtablet = callPackage ../applications/misc/kde-wacomtablet { };
 
-      kbibtex = callPackage ../applications/office/kbibtex { };
+          kdeconnect = callPackage ../applications/misc/kdeconnect { };
 
-      kde_gtk_config = callPackage ../tools/misc/kde-gtk-config { };
+          kdenlive = callPackage ../applications/video/kdenlive { mlt = mlt-qt4; };
 
-      kde_wacomtablet = callPackage ../applications/misc/kde-wacomtablet { };
+          kdesvn = callPackage ../applications/version-management/kdesvn { };
 
-      kdeconnect = callPackage ../applications/misc/kdeconnect { };
+          kdevelop = callPackage ../applications/editors/kdevelop { };
 
-      kdenlive = callPackage ../applications/video/kdenlive { mlt = mlt-qt4; };
+          kdevplatform = callPackage ../development/libraries/kdevplatform {
+            boost = boost156;
+          };
 
-      kdesvn = callPackage ../applications/version-management/kdesvn { };
+          kdiff3 = callPackage ../tools/text/kdiff3 { };
 
-      kdevelop = callPackage ../applications/editors/kdevelop { };
+          kgraphviewer = callPackage ../applications/graphics/kgraphviewer { };
 
-      kdevplatform = callPackage ../development/libraries/kdevplatform { };
+          kile = callPackage ../applications/editors/kile { };
 
-      kdiff3 = callPackage ../tools/text/kdiff3 { };
+          kmplayer = callPackage ../applications/video/kmplayer { };
 
-      kile = callPackage ../applications/editors/kile { };
+          kmymoney = callPackage ../applications/office/kmymoney { };
 
-      kmplayer = callPackage ../applications/video/kmplayer { };
+          kipi_plugins = callPackage ../applications/graphics/kipi-plugins { };
 
-      kmymoney = callPackage ../applications/office/kmymoney { };
+          konversation = callPackage ../applications/networking/irc/konversation { };
 
-      kipi_plugins = callPackage ../applications/graphics/kipi-plugins { };
+          kvirc = callPackage ../applications/networking/irc/kvirc { };
 
-      konversation = callPackage ../applications/networking/irc/konversation { };
+          krename = callPackage ../applications/misc/krename { };
 
-      kvirc = callPackage ../applications/networking/irc/kvirc { };
+          krusader = callPackage ../applications/misc/krusader { };
 
-      krename = callPackage ../applications/misc/krename { };
+          ksshaskpass = callPackage ../tools/security/ksshaskpass {};
 
-      krusader = callPackage ../applications/misc/krusader { };
+          ktorrent = callPackage ../applications/networking/p2p/ktorrent { };
 
-      ksshaskpass = callPackage ../tools/security/ksshaskpass {};
+          kuickshow = callPackage ../applications/graphics/kuickshow { };
 
-      ktorrent = callPackage ../applications/networking/p2p/ktorrent { };
+          libalkimia = callPackage ../development/libraries/libalkimia { };
 
-      kuickshow = callPackage ../applications/graphics/kuickshow { };
+          libktorrent = callPackage ../development/libraries/libktorrent {
+            boost = boost156;
+          };
 
-      libalkimia = callPackage ../development/libraries/libalkimia { };
+          libkvkontakte = callPackage ../development/libraries/libkvkontakte { };
 
-      libktorrent = callPackage ../development/libraries/libktorrent { };
+          liblikeback = callPackage ../development/libraries/liblikeback { };
 
-      libkvkontakte = callPackage ../development/libraries/libkvkontakte { };
+          libmm-qt = callPackage ../development/libraries/libmm-qt { };
 
-      liblikeback = callPackage ../development/libraries/liblikeback { };
+          libnm-qt = callPackage ../development/libraries/libnm-qt { };
 
-      libmm-qt = callPackage ../development/libraries/libmm-qt { };
+          massif-visualizer = callPackage ../development/tools/analysis/massif-visualizer { };
 
-      libnm-qt = callPackage ../development/libraries/libnm-qt { };
+          networkmanagement = callPackage ../tools/networking/networkmanagement { };
 
-      networkmanagement = callPackage ../tools/networking/networkmanagement { };
+          partitionManager = callPackage ../tools/misc/partition-manager { };
 
-      partitionManager = callPackage ../tools/misc/partition-manager { };
+          plasma-nm = callPackage ../tools/networking/plasma-nm { };
 
-      plasma-nm = callPackage ../tools/networking/plasma-nm { };
+          polkit_kde_agent = callPackage ../tools/security/polkit-kde-agent { };
 
-      polkit_kde_agent = callPackage ../tools/security/polkit-kde-agent { };
+          psi = callPackage ../applications/networking/instant-messengers/psi { };
 
-      psi = callPackage ../applications/networking/instant-messengers/psi { };
+          qtcurve = callPackage ../misc/themes/qtcurve { };
 
-      qtcurve = callPackage ../misc/themes/qtcurve { };
+          quassel = callPackage ../applications/networking/irc/quassel rec {
+            monolithic = true;
+            daemon = false;
+            client = false;
+            withKDE = stdenv.isLinux;
+            qt = if withKDE then qt4 else qt5; # KDE supported quassel cannot build with qt5 yet (maybe in 0.12.0)
+            dconf = gnome3.dconf;
+          };
 
-      quassel = callPackage ../applications/networking/irc/quassel { dconf = gnome3.dconf; };
+          quasselWithoutKDE = (quassel.override {
+            monolithic = true;
+            daemon = false;
+            client = false;
+            withKDE = false;
+            #qt = qt5;
+            tag = "-without-kde";
+          });
 
-      quasselWithoutKDE = (self.quassel.override {
-        withKDE = false;
-        tag = "-without-kde";
-      });
+          quasselDaemon = (quassel.override {
+            monolithic = false;
+            daemon = true;
+            client = false;
+            withKDE = false;
+            #qt = qt5;
+            tag = "-daemon";
+          });
 
-      quasselDaemon = (self.quassel.override {
-        monolithic = false;
-        daemon = true;
-        tag = "-daemon";
-      });
+          quasselClient = (quassel.override {
+            monolithic = false;
+            daemon = false;
+            client = true;
+            tag = "-client";
+          });
 
-      quasselClient = (self.quassel.override {
-        monolithic = false;
-        client = true;
-        tag = "-client";
-      });
+          quasselClientWithoutKDE = (quasselClient.override {
+            monolithic = false;
+            daemon = false;
+            client = true;
+            withKDE = false;
+            #qt = qt5;
+            tag = "-client-without-kde";
+          });
 
-      quasselClientWithoutKDE = (self.quasselClient.override {
-        withKDE = false;
-        tag = "-client-without-kde";
-      });
+          rekonq = callPackage ../applications/networking/browsers/rekonq { };
 
-      rekonq = callPackage ../applications/networking/browsers/rekonq { };
+          kwebkitpart = callPackage ../applications/networking/browsers/kwebkitpart { };
 
-      kwebkitpart = callPackage ../applications/networking/browsers/kwebkitpart { };
+          rsibreak = callPackage ../applications/misc/rsibreak { };
 
-      rsibreak = callPackage ../applications/misc/rsibreak { };
+          semnotes = callPackage ../applications/misc/semnotes { };
 
-      semnotes = callPackage ../applications/misc/semnotes { };
+          skrooge = callPackage ../applications/office/skrooge { };
 
-      skrooge = callPackage ../applications/office/skrooge { };
+          telepathy = callPackage ../applications/networking/instant-messengers/telepathy/kde {};
 
-      telepathy = callPackage ../applications/networking/instant-messengers/telepathy/kde {};
+          yakuake = callPackage ../applications/misc/yakuake { };
 
-      yakuake = callPackage ../applications/misc/yakuake { };
+          zanshin = callPackage ../applications/office/zanshin { };
 
-      zanshin = callPackage ../applications/office/zanshin { };
+          kwooty = callPackage ../applications/networking/newsreaders/kwooty { };
+        };
 
-      kwooty = callPackage ../applications/networking/newsreaders/kwooty { };
-    };
+      callPackageOrig = newScope extra;
+
+      makePackages = extra:
+        let
+          callPackage = newScope (extra // self);
+          kde4 = callPackageOrig dir { inherit callPackage callPackageOrig; };
+          self =
+            kde4
+            // extraPackages callPackage
+            // {
+              inherit kde4;
+              wrapper = callPackage ../build-support/kdewrapper {};
+              recurseForRelease = true;
+            };
+        in self;
+
+    in makeOverridable makePackages extra;
+
+  pantheon = recurseIntoAttrs rec {
+    callPackage = newScope pkgs.pantheon;
+    pantheon-terminal = callPackage ../desktops/pantheon/apps/pantheon-terminal { };
+  };
 
   redshift = callPackage ../applications/misc/redshift {
     inherit (xorg) libX11 libXrandr libxcb randrproto libXxf86vm
@@ -10828,7 +13224,13 @@ let
     geoclue = geoclue2;
   };
 
-  oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { };
+  orion = callPackage ../misc/themes/orion {};
+
+  oxygen-gtk2 = callPackage ../misc/themes/gtk2/oxygen-gtk { };
+
+  oxygen-gtk3 = callPackage ../misc/themes/gtk3/oxygen-gtk3 { };
+
+  oxygen_gtk = oxygen-gtk2; # backwards compatibility
 
   gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { };
 
@@ -10840,9 +13242,20 @@ let
 
   mate-themes = callPackage ../misc/themes/mate-themes { };
 
-  xfce = xfce4_10;
-  xfce4_10 = recurseIntoAttrs (import ../desktops/xfce { inherit pkgs newScope; });
+  numix-gtk-theme = callPackage ../misc/themes/gtk3/numix-gtk-theme { };
+
+  plasma52 = recurseIntoAttrs (callPackage ../desktops/plasma-5.2 {
+    kf5 = kf59;
+  });
+  plasma5_latest = plasma52;
+  plasma5_stable = plasma52;
+
+  kde5 = kf5_stable // plasma5_stable // kdeApps_stable;
 
+  xfce = xfce4-12;
+  xfce4-12 = recurseIntoAttrs (import ../desktops/xfce { inherit config pkgs newScope; });
+
+  xrandr-invert-colors = callPackage ../applications/misc/xrandr-invert-colors { };
 
   ### SCIENCE
 
@@ -10869,8 +13282,6 @@ let
 
   archimedes = callPackage ../applications/science/electronics/archimedes { };
 
-  biolib = callPackage ../development/libraries/science/biology/biolib { };
-
   emboss = callPackage ../applications/science/biology/emboss { };
 
   mrbayes = callPackage ../applications/science/biology/mrbayes { };
@@ -10900,8 +13311,12 @@ let
     # great feature, but it's of limited use with pre-built binaries
     # coming from a central build farm.
     tolerateCpuTimingInaccuracy = true;
+    liblapack = liblapack_3_5_0;
+    withLapack = false;
   };
 
+  atlasWithLapack = atlas.override { withLapack = true; };
+
   blas = callPackage ../development/libraries/science/math/blas { };
 
   content = builderDefsPackage ../applications/science/math/content {
@@ -10917,15 +13332,27 @@ let
 
   liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { };
 
-  openblas = callPackage ../development/libraries/science/math/openblas { };
-  openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix { 
+  # julia is pinned to specific versions of openblas, so keep old versions
+  # until they aren't needed. The un-versioned attribute may continue to track
+  # upstream development.
+  openblas = callPackage ../development/libraries/science/math/openblas {
     liblapack = liblapack_3_5_0;
   };
+  openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix {
+    liblapack = liblapack_3_5_0;
+  };
+  openblas_0_2_2 = callPackage ../development/libraries/science/math/openblas/0.2.2.nix { };
 
   mathematica = callPackage ../applications/science/math/mathematica { };
+  mathematica9 = callPackage ../applications/science/math/mathematica/9.nix { };
 
   sage = callPackage ../applications/science/math/sage { };
 
+  suitesparse_4_2 = callPackage ../development/libraries/science/math/suitesparse/4.2.nix { };
+  suitesparse_4_4_1 = callPackage ../development/libraries/science/math/suitesparse {};
+
+  ipopt = callPackage ../development/libraries/science/math/ipopt { };
+
   ### SCIENCE/MOLECULAR-DYNAMICS
 
   gromacs = callPackage ../applications/science/molecular-dynamics/gromacs {
@@ -10940,16 +13367,21 @@ let
     cmake = cmakeCurses;
   });
 
+  ### SCIENCE/PROGRAMMING
+
+  plm = callPackage ../applications/science/programming/plm { };
 
   ### SCIENCE/LOGIC
 
   abc-verifier = callPackage ../applications/science/logic/abc {};
 
+  abella = callPackage ../applications/science/logic/abella {};
+
   alt-ergo = callPackage ../applications/science/logic/alt-ergo {};
 
   coq = callPackage ../applications/science/logic/coq {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
+    inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
+    camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
   };
 
   coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
@@ -10958,11 +13390,55 @@ let
   };
 
   coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
+    inherit (ocamlPackages_3_12_1) ocaml findlib;
+    camlp5 = ocamlPackages_3_12_1.camlp5_transitional;
+    lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
   };
 
+  mkCoqPackages_8_4 = self: let callPackage = newScope self; in {
+
+    bedrock = callPackage ../development/coq-modules/bedrock {};
+
+    contribs =
+      let contribs =
+        import ../development/coq-modules/contribs
+        contribs
+        callPackage { };
+      in
+        recurseIntoAttrs contribs;
+
+    coqExtLib = callPackage ../development/coq-modules/coq-ext-lib {};
+
+    coqeal = callPackage ../development/coq-modules/coqeal {};
+
+    domains = callPackage ../development/coq-modules/domains {};
+
+    fiat = callPackage ../development/coq-modules/fiat {};
+
+    flocq = callPackage ../development/coq-modules/flocq {};
+
+    heq = callPackage ../development/coq-modules/heq {};
+
+    interval = callPackage ../development/coq-modules/interval {};
+
+    mathcomp = callPackage ../development/coq-modules/mathcomp {};
+
+    paco = callPackage ../development/coq-modules/paco {};
+
+    ssreflect = callPackage ../development/coq-modules/ssreflect {};
+
+    tlc = callPackage ../development/coq-modules/tlc {};
+
+    unimath = callPackage ../development/coq-modules/unimath {};
+
+    ynot = callPackage ../development/coq-modules/ynot {};
+
+  };
+
+  coqPackages = recurseIntoAttrs (mkCoqPackages_8_4 coqPackages);
+
   cvc3 = callPackage ../applications/science/logic/cvc3 {};
+  cvc4 = callPackage ../applications/science/logic/cvc4 {};
 
   ekrhyper = callPackage ../applications/science/logic/ekrhyper {};
 
@@ -10986,10 +13462,13 @@ let
   isabelle = import ../applications/science/logic/isabelle {
     inherit (pkgs) stdenv fetchurl nettools perl polyml;
     inherit (pkgs.emacs24Packages) proofgeneral;
+    java = if stdenv.isLinux then jre else jdk;
   };
 
   iprover = callPackage ../applications/science/logic/iprover {};
 
+  lean = callPackage ../applications/science/logic/lean {};
+
   leo2 = callPackage ../applications/science/logic/leo2 {};
 
   logisim = callPackage ../applications/science/logic/logisim {};
@@ -11000,7 +13479,7 @@ let
     ocaml = ocaml_3_11_2;
     inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http
             lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet camlzip ocaml_pcre;
-    ulex08 = ocamlPackages_3_11_2.ulex08.override { camlp5 = ocamlPackages_3_11_2.camlp5_5_transitional; };
+    ulex08 = ocamlPackages_3_11_2.ulex08.override { camlp5 = ocamlPackages_3_11_2.camlp5_old_transitional; };
   };
 
   matita_130312 = lowPrio (callPackage ../applications/science/logic/matita/130312.nix {
@@ -11012,13 +13491,17 @@ let
 
   opensmt = callPackage ../applications/science/logic/opensmt { };
 
+  ott = callPackage ../applications/science/logic/ott {
+    camlp5 = ocamlPackages.camlp5_transitional;
+  };
+
   otter = callPackage ../applications/science/logic/otter {};
 
   picosat = callPackage ../applications/science/logic/picosat {};
 
   prooftree = callPackage ../applications/science/logic/prooftree {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
+    inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
+    camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
   };
 
   prover9 = callPackage ../applications/science/logic/prover9 { };
@@ -11027,10 +13510,6 @@ let
 
   spass = callPackage ../applications/science/logic/spass {};
 
-  ssreflect = callPackage ../applications/science/logic/ssreflect {
-    camlp5 = ocamlPackages.camlp5_transitional;
-  };
-
   tptp = callPackage ../applications/science/logic/tptp {};
 
   twelf = callPackage ../applications/science/logic/twelf {
@@ -11041,6 +13520,8 @@ let
 
   verifast = callPackage ../applications/science/logic/verifast {};
 
+  veriT = callPackage ../applications/science/logic/verit {};
+
   why3 = callPackage ../applications/science/logic/why3 {};
 
   yices = callPackage ../applications/science/logic/yices {};
@@ -11090,6 +13571,8 @@ let
 
   pari = callPackage ../applications/science/math/pari {};
 
+  pcalc = callPackage ../applications/science/math/pcalc { };
+
   pspp = callPackage ../applications/science/math/pssp {
     inherit (gnome) libglade gtksourceview;
   };
@@ -11150,10 +13633,44 @@ let
 
   tulip = callPackage ../applications/science/misc/tulip { };
 
-  vite = callPackage ../applications/science/misc/vite { };
+  vite = enableDebugging (callPackage ../applications/science/misc/vite { });
 
   xplanet = callPackage ../applications/science/astronomy/xplanet { };
 
+  ### SCIENCE / PHYSICS
+
+  geant4 = callPackage ../development/libraries/physics/geant4 {
+    enableMultiThreading = true;
+    enableG3toG4         = false;
+    enableInventor       = false;
+    enableGDML           = false;
+    enableQT             = false;
+    enableXM             = false;
+    enableOpenGLX11      = true;
+    enableRaytracerX11   = false;
+
+    # Optional system packages, otherwise internal GEANT4 packages are used.
+    clhep = null;
+    expat = expat;
+    zlib  = null;
+
+    # For enableGDML.
+    xercesc = null;
+
+    # For enableQT.
+    qt = null; # qt4SDK or qt5SDK
+
+    # For enableXM.
+    motif = null; # motif or lesstif
+
+    # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
+    mesa = mesa;
+    x11  = x11;
+    inherit (xlibs) libXmu;
+  };
+
+  g4py = callPackage ../development/libraries/physics/geant4/g4py { };
+
   ### MISC
 
   atari800 = callPackage ../misc/emulators/atari800 { };
@@ -11166,7 +13683,9 @@ let
 
   cups = callPackage ../misc/cups { libusb = libusb1; };
 
-  cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { };
+  cups_filters = callPackage ../misc/cups/filters.nix { };
+
+  crashplan = callPackage ../applications/backup/crashplan { };
 
   gutenprint = callPackage ../misc/drivers/gutenprint { };
 
@@ -11198,6 +13717,22 @@ let
 
   fakenes = callPackage ../misc/emulators/fakenes { };
 
+  faust = callPackage ../applications/audio/faust { };
+
+  faust2alqt = callPackage ../applications/audio/faust/faust2alqt.nix { };
+
+  faust2alsa = callPackage ../applications/audio/faust/faust2alsa.nix { };
+
+  faust2csound = callPackage ../applications/audio/faust/faust2csound.nix { };
+
+  faust2firefox = callPackage ../applications/audio/faust/faust2firefox.nix { };
+
+  faust2jack = callPackage ../applications/audio/faust/faust2jack.nix { };
+
+  faust2jaqt = callPackage ../applications/audio/faust/faust2jaqt.nix { };
+
+  faust2lv2 = callPackage ../applications/audio/faust/faust2lv2.nix { };
+
   fceux = callPackage ../misc/emulators/fceux { };
 
   foldingathome = callPackage ../misc/foldingathome { };
@@ -11217,7 +13752,6 @@ let
   ghostscript = callPackage ../misc/ghostscript {
     x11Support = false;
     cupsSupport = config.ghostscript.cups or (!stdenv.isDarwin);
-    gnuFork = config.ghostscript.gnu or false;
   };
 
   ghostscriptX = appendToName "with-X" (ghostscript.override {
@@ -11245,10 +13779,9 @@ let
 
   lilypond = callPackage ../misc/lilypond { guile = guile_1_8; };
 
-  martyr = callPackage ../development/libraries/martyr { };
+  mailcore2 = callPackage ../development/libraries/mailcore2 { };
 
-  maven = maven3;
-  maven3 = callPackage ../misc/maven { jdk = openjdk; };
+  martyr = callPackage ../development/libraries/martyr { };
 
   mess = callPackage ../misc/emulators/mess {
     inherit (pkgs.gnome) GConf;
@@ -11272,10 +13805,25 @@ let
 
   nixops = callPackage ../tools/package-management/nixops { };
 
+  nixopsUnstable = callPackage ../tools/package-management/nixops/unstable.nix { };
+
+  nixui = callPackage ../tools/package-management/nixui { node_webkit = node_webkit_0_11; };
+
   nix-prefetch-scripts = callPackage ../tools/package-management/nix-prefetch-scripts { };
 
+  nix-template-rpm = callPackage ../build-support/templaterpm { inherit (pythonPackages) python toposort; };
+
   nix-repl = callPackage ../tools/package-management/nix-repl { };
 
+  nix-serve = callPackage ../tools/package-management/nix-serve { };
+
+  # Remember to check the default lightdm wallpaper
+  nixos-artwork = fetchgit {
+    url = "git://github.com/NixOS/nixos-artwork";
+    rev = "e71b6846023919136795ede22b16d73b2cf1693d";
+    sha256 = "167yvhm2qy7qgyrqqs4hv98mmlarhgxpcsyv0r8a9g3vkblfdczb";
+  };
+
   nut = callPackage ../applications/misc/nut { };
 
   solfege = callPackage ../misc/solfege {
@@ -11305,7 +13853,8 @@ let
   lkproof = callPackage ../tools/typesetting/tex/lkproof { };
 
   mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench {
-    lua = lua5;
+    lua = lua5_1;
+    libctemplate = libctemplate_2_2;
     inherit (pythonPackages) pexpect paramiko;
   };
 
@@ -11313,6 +13862,8 @@ let
 
   opkg = callPackage ../tools/package-management/opkg { };
 
+  opkg-utils = callPackage ../tools/package-management/opkg-utils { };
+
   pgadmin = callPackage ../applications/misc/pgadmin { };
 
   pgf = pgf2;
@@ -11323,8 +13874,14 @@ let
 
   pgf2 = callPackage ../tools/typesetting/tex/pgf/2.x.nix { };
 
+  pgf3 = callPackage ../tools/typesetting/tex/pgf/3.x.nix { };
+
   pgfplots = callPackage ../tools/typesetting/tex/pgfplots { };
 
+  phabricator = callPackage ../misc/phabricator { };
+
+  physlock = callPackage ../misc/screensavers/physlock { };
+
   pjsip = callPackage ../applications/networking/pjsip { };
 
   polytable = callPackage ../tools/typesetting/tex/polytable { };
@@ -11333,14 +13890,28 @@ let
 
   uae = callPackage ../misc/emulators/uae { };
 
+  fsuae = callPackage ../misc/emulators/fs-uae { };
+
   putty = callPackage ../applications/networking/remote/putty { };
 
-  retroarch = callPackage ../misc/emulators/retroarch { };
+  retroarchBare = callPackage ../misc/emulators/retroarch { };
+
+  retroarch = wrapRetroArch { retroarch = retroarchBare; };
+
+  libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix {
+    retroarch = retroarchBare;
+  });
+
+  rss-glx = callPackage ../misc/screensavers/rss-glx { };
 
-  rssglx = callPackage ../misc/screensavers/rss-glx { };
+  runit = callPackage ../tools/system/runit { };
+
+  refind = callPackage ../tools/bootloaders/refind { };
 
   xlockmore = callPackage ../misc/screensavers/xlockmore { };
 
+  sails = callPackage ../misc/sails { };
+
   samsungUnifiedLinuxDriver = import ../misc/cups/drivers/samsung {
     inherit fetchurl stdenv;
     inherit cups ghostscript glibc patchelf;
@@ -11372,6 +13943,8 @@ let
 
   slock = callPackage ../misc/screensavers/slock { };
 
+  soundOfSorting = callPackage ../misc/sound-of-sorting { };
+
   sourceAndTags = import ../misc/source-and-tags {
     inherit pkgs stdenv unzip lib ctags;
     hasktags = haskellPackages.hasktags;
@@ -11393,7 +13966,7 @@ let
     inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby potrace
       gd t1lib freetype icu perl expat curl xz pkgconfig zziplib texinfo
       libjpeg bison python fontconfig flex poppler libpaper graphite2
-      makeWrapper;
+      makeWrapper gmp mpfr xpdf;
     inherit (xlibs) libXaw libX11 xproto libXt libXpm
       libXmu libXext xextproto libSM libICE;
     ghostscript = ghostscriptX;
@@ -11405,7 +13978,7 @@ let
   texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun {
     paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor
               texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo
-              texLiveModerntimeline ];
+              texLiveModerntimeline texLiveContext ];
   });
 
   /* Look in configurations/misc/raskin.nix for usage example (around revisions
@@ -11462,6 +14035,10 @@ let
 
   thinkfan = callPackage ../tools/system/thinkfan { };
 
+  tup = callPackage ../development/tools/build-managers/tup { };
+
+  utf8proc = callPackage ../development/libraries/utf8proc { };
+
   vice = callPackage ../misc/emulators/vice {
     libX11 = xlibs.libX11;
     giflib = giflib_4_1;
@@ -11469,6 +14046,8 @@ let
 
   viewnior = callPackage ../applications/graphics/viewnior { };
 
+  vimUtils = callPackage ../misc/vim-plugins/vim-utils.nix { inherit writeText; };
+
   vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins { });
 
   vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 {
@@ -11479,6 +14058,10 @@ let
     { browser = vimprobable2; browserName = "vimprobable2"; desktopName = "Vimprobable2";
     };
 
+  rekonqWrapper = wrapFirefox {
+    browser = kde4.rekonq; browserName = "rekonq"; desktopName = "Rekonq";
+  };
+
   vimb = callPackage ../applications/networking/browsers/vimb {
     webkit = webkitgtk2;
   };
@@ -11489,6 +14072,9 @@ let
     desktopName = "Vimb";
   };
 
+  vips = callPackage ../tools/graphics/vips { };
+  nip2 = callPackage ../tools/graphics/nip2 { };
+
   VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { };
 
   # Wine cannot be built in 64-bit; use a 32-bit build instead.
@@ -11506,6 +14092,8 @@ let
     inherit (gnome2) zenity;
   };
 
+  wmutils-core = callPackage ../tools/X11/wmutils-core { };
+
   wxmupen64plus = callPackage ../misc/emulators/wxmupen64plus { };
 
   x2x = callPackage ../tools/X11/x2x { };
@@ -11523,10 +14111,18 @@ let
     saneBackends = saneBackends;
   };
 
+  xwiimote = callPackage ../misc/drivers/xwiimote {
+    bluez = pkgs.bluez5.override {
+      enableWiimote = true;
+    };
+  };
+
   yafc = callPackage ../applications/networking/yafc { };
 
   yandex-disk = callPackage ../tools/filesystems/yandex-disk { };
 
+  zdfmediathk = callPackage ../applications/video/zdfmediathk { };
+
   myEnvFun = import ../misc/my-env {
     inherit substituteAll pkgs;
     inherit (stdenv) mkDerivation;
@@ -11547,7 +14143,7 @@ let
     # this is to circumvent the bug with libgcc_s.so.1 which is
     # not found when using thread
     extraCmds = ''
-       LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib
+       LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.cc}/lib
        export LD_LIBRARY_PATH
     '';
   };
@@ -11564,6 +14160,11 @@ let
 
   snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { };
 
+  higan = callPackage ../misc/emulators/higan {
+    profile = config.higan.profile or "performance";
+    guiToolkit = config.higan.guiToolkit or "gtk";
+  };
+
   misc = import ../misc/misc.nix { inherit pkgs stdenv; };
 
   bullet = callPackage ../development/libraries/bullet {};
@@ -11577,9 +14178,26 @@ let
 
   # Attributes for backward compatibility.
   adobeReader = adobe-reader;
+  arduino_core = arduino-core;  # added 2015-02-04
   asciidocFull = asciidoc-full;  # added 2014-06-22
+  bridge_utils = bridge-utils;  # added 2015-02-20
+  clangAnalyzer = clang-analyzer;  # added 2015-02-20
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
+  jquery_ui = jquery-ui;  # added 2014-09-07
+  youtubeDL = youtube-dl;  # added 2014-10-26
+  rdiff_backup = rdiff-backup;  # added 2014-11-23
+  htmlTidy = html-tidy;  # added 2014-12-06
+  speedtest_cli = speedtest-cli;  # added 2015-02-17
+  sqliteInteractive = sqlite-interactive;  # added 2014-12-06
+  nfsUtils = nfs-utils;  # added 2014-12-06
+  buildbotSlave = buildbot-slave;  # added 2014-12-09
+  cool-old-term = cool-retro-term; # added 2015-01-31
+  rssglx = rss-glx; #added 2015-03-25
+
+
+  opentsdb = callPackage ../tools/misc/opentsdb {};
 
+  hbase = callPackage ../servers/hbase {};
 
 }; in self; in pkgs
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
new file mode 100644
index 00000000000..a4f5310ab95
--- /dev/null
+++ b/pkgs/top-level/emacs-packages.nix
@@ -0,0 +1,1216 @@
+# package.el-based emacs packages
+#
+## add this at the start your init.el:
+# (require 'package)
+#
+# ;; optional. makes unpure packages archives unavailable
+# (setq package-archives nil)
+#
+# (add-to-list 'package-directory-list "/run/current-system/sw/share/emacs/site-lisp/elpa")
+#
+# ;; optional. use this if you install emacs packages to user profiles (with nix-env)
+# (add-to-list 'package-directory-list "~/.nix-profile/share/emacs/site-lisp/elpa")
+#
+# (package-initialize)
+
+{ overrides
+
+, lib, stdenv, fetchurl, fetchgit, fetchFromGitHub
+
+, emacs
+, trivialBuild
+, melpaBuild
+
+, external
+}@args:
+
+with lib.licenses;
+
+let self = _self // overrides;
+    callPackage = lib.callPackageWith (self // removeAttrs args ["overrides" "external"]);
+    _self = with self; {
+
+  inherit emacs;
+
+  ## START HERE
+
+  ac-haskell-process = melpaBuild rec {
+    pname   = "ac-haskell-process";
+    version = "0.5";
+    src = fetchFromGitHub {
+      owner  = "purcell";
+      repo   = pname;
+      rev    = version;
+      sha256 = "0dlrhc1dmzgrjvcnlqvm6clyv0r6zray6qqliqngy14880grghbm";
+    };
+    packageRequires = [ auto-complete haskell-mode ];
+    meta = { license = gpl3Plus; };
+  };
+
+  ace-jump-mode = melpaBuild rec {
+    pname   = "ace-jump-mode";
+    version = "20140616";
+    src = fetchFromGitHub {
+      owner  = "winterTTr";
+      repo   = pname;
+      rev    = "8351e2df4fbbeb2a4003f2fb39f46d33803f3dac";
+      sha256 = "17axrgd99glnl6ma4ls3k01ysdqmiqr581wnrbsn3s4gp53mm2x6";
+    };
+    meta = {
+      description = "Advanced cursor movements mode for Emacs";
+      license = gpl3Plus;
+    };
+  };
+
+  ag = melpaBuild rec {
+    pname   = "ag";
+    version = "0.44";
+    src = fetchFromGitHub {
+      owner  = "Wilfred";
+      repo   = "${pname}.el";
+      rev    = version;
+      sha256 = "19y5w9m2flp4as54q8yfngrkri3kd7fdha9pf2xjgx6ryflqx61k";
+    };
+    packageRequires = [ dash s ];
+    meta = { license = gpl3Plus; };
+  };
+
+  agda2-mode = with external; trivialBuild {
+    pname = "agda-mode";
+    version = Agda.version;
+
+    phases = [ "buildPhase" "installPhase" ];
+
+    # already byte-compiled by Agda builder
+    buildPhase = ''
+      agda=`${Agda}/bin/agda-mode locate`
+      cp `dirname $agda`/*.el* .
+    '';
+
+    meta = {
+      description = "Agda2-mode for Emacs extracted from Agda package";
+      longDescription = ''
+        Wrapper packages that liberates init.el from `agda-mode locate` magic.
+        Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
+      '';
+      homepage = Agda.meta.homepage;
+      license = Agda.meta.license;
+    };
+  };
+
+  alert = melpaBuild rec {
+    pname = "alert";
+    version = "1.2";
+    src = fetchFromGitHub {
+      owner = "jwiegley";
+      repo  = pname;
+      rev   = "v${version}";
+      sha256 = "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26";
+    };
+    packageRequires = [ gntp log4e ];
+    meta = { license = gpl2Plus; };
+  };
+
+  anzu = melpaBuild rec {
+    pname = "anzu";
+    version = "0.52";
+    src = fetchFromGitHub {
+      owner = "syohex";
+      repo  = "emacs-anzu";
+      rev = "f41db6225d8fb983324765aa42c94d3ee379a49f";
+      sha256 = "1mn20swasrl8kr557r1850vr1q0gcnwlxxafnc6lq5g01kjfcdxd";
+    };
+    meta = {
+      description = "Show number of matches in Emacs mode-line while searching";
+      longDescription = ''
+        anzu.el is an Emacs port of anzu.vim. anzu.el provides a minor
+        mode which displays current match and total matches information
+        in the mode-line in various search mode.
+      '';
+      homepage = https://github.com/syohex/emacs-anzu/;
+      license = gpl3Plus;
+    };
+  };
+
+  apel = melpaBuild rec {
+    pname = "apel";
+    version = "10.8";
+    src = fetchFromGitHub {
+      owner  = "wanderlust";
+      repo   = pname;
+      rev    = "8402e59eadb580f59969114557b331b4d9364f95";
+      sha256 = "0sdxnf4b8rqs1cbjxh23wvxmj7ll3zddv8yfdgif6zmgyy8xhc9m";
+    };
+    files = [
+      "alist.el" "apel-ver.el" "broken.el" "calist.el"
+      "emu.el" "filename.el" "install.el" "inv-23.el" "invisible.el"
+      "mcharset.el" "mcs-20.el" "mcs-e20.el" "mule-caesar.el"
+      "path-util.el" "pccl-20.el" "pccl.el" "pces-20.el" "pces-e20.el"
+      "pces.el" "pcustom.el" "poe.el" "poem-e20.el" "poem-e20_3.el"
+      "poem.el" "product.el" "pym.el" "richtext.el" "static.el"
+    ];
+    meta = {
+      description = "A Portable Emacs Library";
+      license = gpl3Plus; # probably
+    };
+  };
+
+  async = melpaBuild rec {
+    pname   = "async";
+    version = "1.2";
+    src = fetchFromGitHub {
+      owner  = "jwiegley";
+      repo   = "emacs-async";
+      rev    = "v${version}";
+      sha256 = "1j6mbvvbnm2m1gpsy9ipxiv76b684nn57yssbqdyiwyy499cma6q";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  auctex = melpaBuild rec {
+    pname   = "auctex";
+    version = "11.87.7";
+    src = fetchurl {
+      url    = "http://elpa.gnu.org/packages/${pname}-${version}.tar";
+      sha256 = "07bhw8zc3d1f2basjy80njmxpsp4f70kg3ynkch9ghlai3mm2b7n";
+    };
+    buildPhase = ''
+      cp $src ${pname}-${version}.tar
+    '';
+    meta = { license = gpl3Plus; };
+  };
+
+  auto-complete = melpaBuild rec {
+    pname = "auto-complete";
+    version = "1.4.0";
+    src = fetchFromGitHub {
+      owner = pname;
+      repo  = pname;
+      rev   = "v${version}";
+      sha256 = "050lb8qjq7ra35mqp6j6qkwbvq5zj3yhz73aym5kf1vjd42rmjcw";
+    };
+    packageRequires = [ popup ];
+    meta = {
+      description = "Auto-complete extension for Emacs";
+      homepage = http://cx4a.org/software/auto-complete/;
+      license = gpl3Plus;
+      platforms = lib.platforms.all;
+    };
+  };
+
+  bind-key = melpaBuild {
+    pname   = "bind-key";
+    version = "20150317";
+    src = fetchFromGitHub {
+      owner  = "jwiegley";
+      repo   = "use-package";
+      rev    = "b836266ddfbc835efdb327ecb389ff9e081d7c55";
+      sha256 = "187wnqqm5g43cg8b6a9rbd9ncqad5fhjb96wjszbinjh1mjxyh7i";
+    };
+    files = [ "bind-key.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  browse-kill-ring = melpaBuild rec {
+    pname   = "browse-kill-ring";
+    version = "20140104";
+    src = fetchFromGitHub {
+      owner  = pname;
+      repo   = pname;
+      rev    = "f81ca5f14479fa9e938f89bf8f6baa3c4bdfb755";
+      sha256 = "149g4qs5dqy6yzdj5smb39id5f72bz64qfv5bjf3ssvhwl2rfba8";
+    };
+    meta = {
+      description = "Interactively insert items from Emacs kill-ring";
+      homepage = https://github.com/browse-kill-ring/browse-kill-ring/;
+      license = gpl2Plus;
+    };
+  };
+
+  caml = melpaBuild rec {
+    pname   = "caml";
+    version = "4.2.1"; # TODO: emacs doesn't seem to like 02 as a version component..
+    src = fetchFromGitHub {
+      owner  = "ocaml";
+      repo   = "ocaml";
+      rev    = "4.02.1";
+      sha256 = "05lms9qhcnwgi7k034kiiic58c9da22r32mpak0ahmvp5fylvjpb";
+    };
+    fileSpecs = [ "emacs/*.el" ];
+    configurePhase = "true";
+    meta = { license = gpl2Plus; };
+  };
+
+  change-inner = melpaBuild rec {
+    pname   = "change-inner";
+    version = "20130208";
+    src = fetchFromGitHub {
+      owner  = "magnars";
+      repo   = "${pname}.el";
+      rev    = "6374b745ee1fd0302ad8596cdb7aca1bef33a730";
+      sha256 = "1fv8630bqbmfr56zai08f1q4dywksmghhm70084bz4vbs6rzdsbq";
+    };
+    packageRequires = [ expand-region ];
+    meta = { license = gpl3Plus; };
+  };
+
+  circe = melpaBuild rec {
+    pname   = "circe";
+    version = "1.5";
+    src = fetchFromGitHub {
+      owner  = "jorgenschaefer";
+      repo   = "circe";
+      rev    = "v${version}";
+      sha256 = "08dsv1dzgb9jx076ia7xbpyjpaxn1w87h6rzlb349spaydq7ih24";
+    };
+    packageRequires = [ lcs lui ];
+    fileSpecs = [ "lisp/circe*.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  company = melpaBuild rec {
+    pname   = "company";
+    version = "0.8.12";
+    src = fetchFromGitHub {
+      owner  = "company-mode";
+      repo   = "company-mode";
+      rev    = version;
+      sha256 = "08rrjfp2amgya1hswjz3vd5ja6lg2nfmm7454p0h1naz00hlmmw0";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  company-ghc = melpaBuild rec {
+    pname   = "company-ghc";
+    version = "0.1.10";
+    src = fetchFromGitHub {
+      owner  = "iquiw";
+      repo   = "company-ghc";
+      rev    = "v${version}";
+      sha256 = "0lzwmjf91fxhkknk4z9m2v6whk1fzpa7n1rspp61lwmyh5gakj3x";
+    };
+    packageRequires = [ company ghc-mod ];
+    meta = {
+      description = "company-mode completion backend for haskell-mode via ghc-mod";
+      license = gpl3Plus;
+    };
+  };
+
+  dash = melpaBuild rec {
+    pname   = "dash";
+    version = "2.9.0";
+    src = fetchFromGitHub {
+      owner  = "magnars";
+      repo   = "${pname}.el";
+      rev    = version;
+      sha256 = "1lg31s8y6ljsz6ps765ia5px39wim626xy8fbc4jpk8fym1jh7ay";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  deferred = melpaBuild rec {
+    version = "0.3.2";
+    pname = "deferred";
+
+    src = fetchFromGitHub {
+      owner = "kiwanami";
+      repo = "emacs-${pname}";
+      rev = "896d4b53210289afe489e1ee7db4e12cb9248109";
+      sha256 = "0ysahdyvlg240dynwn23kk2d9kb432zh2skr1gydm3rxwn6f18r0";
+    };
+
+    meta = {
+      description = "Simple asynchronous functions for emacs-lisp";
+      longDescription = ''
+        deferred.el provides facilities to manage asynchronous tasks.
+        The API and implementations were translated from JSDeferred (by cho45)
+         and Mochikit.Async (by Bob Ippolito) in JavaScript.
+      '';
+      homepage =  https://github.com/kiwanami/emacs-deferred;
+      license = gpl3Plus;
+    };
+  };
+
+  diminish = melpaBuild rec {
+    pname   = "diminish";
+    version = "0.44";
+    src = fetchFromGitHub {
+      owner  = "emacsmirror";
+      repo   = pname;
+      rev    = version;
+      sha256 = "0hshw7z5f8pqxvgxw74kbj6nvprsgfvy45fl854xarnkvqcara09";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  epl = melpaBuild rec {
+    pname   = "epl";
+    version = "20140823";
+    src = fetchFromGitHub {
+      owner  = "cask";
+      repo   = pname;
+      rev    = "63c78c08e345455f3d4daa844fdc551a2c18024e";
+      sha256 = "04a2aq8dj2cmy77vw142wcmnjvqdbdsp6z0psrzz2qw0b0am03li";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  evil-god-state = melpaBuild rec {
+    pname   = "evil-god-state";
+    version = "20140830";
+    src = fetchFromGitHub {
+      owner  = "gridaphobe";
+      repo   = pname;
+      rev    = "234a9b6f500ece89c3dfb5c1df5baef6963e4566";
+      sha256 = "16v6dpw1hibrkf9hga88gv5axvp1pajd67brnh5h4wpdy9qvwgyy";
+    };
+    packageRequires = [ evil god-mode ];
+    meta = { license = gpl3Plus; };
+  };
+
+  evil-indent-textobject = melpaBuild rec {
+    pname   = "evil-indent-textobject";
+    version = "0.2";
+    src = fetchFromGitHub {
+      owner  = "cofi";
+      repo   = pname;
+      rev    = "70a1154a531b7cfdbb9a31d6922482791e20a3a7";
+      sha256 = "0nghisnc49ivh56mddfdlcbqv3y2vqzjvkpgwv3zp80ga6ghvdmz";
+    };
+    packageRequires = [ evil ];
+    meta = {
+      description = "Textobject for evil based on indentation";
+      license = gpl2Plus;
+    };
+  };
+
+  evil-leader = melpaBuild rec {
+    pname   = "evil-leader";
+    version = "0.4.3";
+    src = fetchFromGitHub {
+      owner  = "cofi";
+      repo   = pname;
+      rev    = version;
+      sha256 = "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5";
+    };
+    packageRequires = [ evil ];
+    meta = {
+      description = "<leader> key for evil";
+      license = gpl3Plus;
+    };
+  };
+
+  evil-surround = melpaBuild rec {
+    pname   = "evil-surround";
+    version = "20140616";
+    src = fetchFromGitHub {
+      owner  = "timcharper";
+      repo   = pname;
+      rev    = "71f380b6b6ed38f739c0a4740b3d6de0c52f915a";
+      sha256 = "0wrmlmgr4mwxlmmh8blplddri2lpk4g8k3l1vpb5c6a975420qvn";
+    };
+    packageRequires = [ evil ];
+    meta = {
+      description = "surround.vim emulation for Emacs evil mode";
+      license = gpl3Plus;
+    };
+  };
+
+  evil = melpaBuild {
+    pname   = "evil";
+    version = "20141020";
+    src = fetchgit {
+      url = "https://github.com/emacsmirror/evil.git";
+      rev = "999ec15587f85100311c031aa8efb5d50c35afe4";
+      sha256 = "5f67643d19a31172e68f2f195959d33bcd26c2786eb71e67eb27eb52f5bf387a";
+    };
+    packageRequires = [ goto-chg undo-tree ];
+    meta = {
+      description = "Extensible vi layer for Emacs";
+      license = gpl3Plus;
+    };
+  };
+
+  exec-path-from-shell = melpaBuild rec {
+    pname   = "exec-path-from-shell";
+    version = "20141022";
+    src = fetchFromGitHub {
+      owner  = "purcell";
+      repo   = pname;
+      rev    = "e4af0e9b44738e7474c89ed895200b42e6541515";
+      sha256 = "0lxikiqf1jik88lf889q4f4f8kdgg3npciz298x605nhbfd5snbd";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  expand-region = melpaBuild rec {
+    pname   = "expand-region";
+    version = "20141012";
+    src = fetchFromGitHub {
+      owner  = "magnars";
+      repo   = "${pname}.el";
+      rev    = "fa413e07c97997d950c92d6012f5442b5c3cee78";
+      sha256 = "04k0518wfy72wpzsswmncnhd372fxa0r8nbfhmbyfmns8n7sr045";
+    };
+    meta = {
+      description = "Increases the selected region by semantic units in Emacs";
+      license = gpl3Plus;
+    };
+  };
+
+  flim = melpaBuild rec {
+    pname = "flim";
+    version = "1.14.9"; # 20141216
+    src = fetchFromGitHub {
+      owner  = "wanderlust";
+      repo   = pname;
+      rev    = "488a4d70fb4ae57bdd30dc75c2d75579894e28a2";
+      sha256 = "178fhpbyffksr4v3m8jmx4rx2vqyz23qhbyvic5afabxi6lahjfs";
+    };
+    packageRequires = [ apel ];
+    meta = {
+      description = "Email message encoding library for Emacs";
+      license = gpl3Plus; # probably
+    };
+  };
+
+  flycheck-pos-tip = melpaBuild rec {
+    pname   = "flycheck-pos-tip";
+    version = "20140813";
+    src = fetchFromGitHub {
+      owner  = "flycheck";
+      repo   = pname;
+      rev    = "5b3a203bbdb03e4f48d1654efecd71f44376e199";
+      sha256 = "0b4x24aq0jh4j4bjv0fqyaz6hzh3gqf57k9763jj9rl32cc3dpnp";
+    };
+    packageRequires = [ flycheck popup ];
+    meta = { license = gpl3Plus; };
+  };
+
+  flycheck = melpaBuild rec {
+    pname   = "flycheck";
+    version = "0.20";
+    src = fetchFromGitHub {
+      owner  = pname;
+      repo   = pname;
+      rev    = version;
+      sha256 = "0cq7y7ssm6phvx5pfv2yqq4j0yqmm0lhjav7v4a8ql7094cd790a";
+    };
+    packageRequires = [ dash pkg-info ];
+    meta = { license = gpl3Plus; };
+  };
+
+  ghc-mod = melpaBuild rec {
+    pname = "ghc";
+    version = external.ghc-mod.version;
+    src = external.ghc-mod.src;
+    propagatedUserEnvPkgs = [ external.ghc-mod ];
+    fileSpecs = [ "elisp/*.el" ];
+    meta = { license = bsd3; };
+  };
+
+  git-auto-commit-mode = melpaBuild rec {
+    pname = "git-auto-commit-mode";
+    version = "4.4.0";
+    src = fetchFromGitHub {
+      owner  = "ryuslash";
+      repo   = pname;
+      rev    = version;
+      sha256 = "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh";
+    };
+    meta = {
+      description = "Automatically commit to git after each save";
+      license = gpl3Plus;
+    };
+  };
+
+  git-commit-mode = melpaBuild rec {
+    pname = "git-commit-mode";
+    version = "1.0.0";
+    src = fetchFromGitHub {
+      owner  = "magit";
+      repo   = "git-modes";
+      rev    = version;
+      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
+    };
+    files = [ "git-commit-mode.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  git-rebase-mode = melpaBuild rec {
+    pname = "git-rebase-mode";
+    version = "1.0.0";
+    src = fetchFromGitHub {
+      owner  = "magit";
+      repo   = "git-modes";
+      rev    = version;
+      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
+    };
+    files = [ "git-rebase-mode.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  git-timemachine = melpaBuild rec {
+    pname = "git-timemachine";
+    version = "2.3";
+    src = fetchFromGitHub {
+      owner  = "pidu";
+      repo   = pname;
+      rev    = version;
+      sha256 = "1lm6rgbzbxnwfn48xr6bg05lb716grfr4nqm8lvjm64nabh5y9bh";
+    };
+    meta = {
+      description = "Step through historic revisions of git controlled files";
+      license = gpl3Plus;
+    };
+  };
+
+  gitattributes-mode = melpaBuild rec {
+    pname = "gitattributes-mode";
+    version = "1.0.0";
+    src = fetchFromGitHub {
+      owner  = "magit";
+      repo   = "git-modes";
+      rev    = version;
+      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
+    };
+    files = [ "gitattributes-mode.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  gitconfig-mode = melpaBuild rec {
+    pname = "gitconfig-mode";
+    version = "1.0.0";
+    src = fetchFromGitHub {
+      owner  = "magit";
+      repo   = "git-modes";
+      rev    = version;
+      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
+    };
+    files = [ "gitconfig-mode.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  gitignore-mode = melpaBuild rec {
+    pname = "gitignore-mode";
+    version = "1.0.0";
+    src = fetchFromGitHub {
+      owner  = "magit";
+      repo   = "git-modes";
+      rev    = version;
+      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
+    };
+    files = [ "gitignore-mode.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  gntp = melpaBuild rec {
+    pname = "gntp";
+    version = "0.1";
+    src = fetchFromGitHub {
+      owner = "tekai";
+      repo  = "${pname}.el";
+      rev   = "v${version}";
+      sha256 = "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a";
+    };
+    meta = { license = gpl2Plus; };
+  };
+
+  gnus = melpaBuild rec {
+    pname   = "gnus";
+    version = "20140501";
+    src = fetchgit {
+      url = "http://git.gnus.org/gnus.git";
+      rev = "4228cffcb7afb77cf39678e4a8988a57753502a5";
+      sha256 = "0qd0wpxkz47irxghmdpa524c9626164p8vgqs26wlpbdwyvm64a0";
+    };
+    fileSpecs = [ "lisp/*.el" "texi/*.texi" ];
+    preBuild = ''
+      (cd lisp && make gnus-load.el)
+    '';
+    meta = { license = gpl3Plus; };
+  };
+
+  god-mode = melpaBuild rec {
+    pname   = "god-mode";
+    version = "20140811";
+    src = fetchFromGitHub {
+      owner  = "chrisdone";
+      repo   = pname;
+      rev    = "6b7ae259a58ca1d7776aa4eca9f1092e4c0033e6";
+      sha256 = "1amr98nq82g2d3f3f5wlqm9g38j64avygnsi9rrlbfqz4f71vq7x";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  goto-chg = melpaBuild rec {
+    pname   = "goto-chg";
+    version = "1.6";
+    src = fetchgit {
+      url = "https://gitorious.org/evil/evil.git";
+      rev = "999ec15587f85100311c031aa8efb5d50c35afe4";
+      sha256 = "5f67643d19a31172e68f2f195959d33bcd26c2786eb71e67eb27eb52f5bf387a";
+    };
+    files = [ "lib/goto-chg.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  haskell-mode = melpaBuild rec {
+    pname   = "haskell-mode";
+    version = "13.12";
+    src = fetchFromGitHub {
+      owner  = "haskell";
+      repo   = pname;
+      rev    = "v${version}";
+      sha256 = "1l8sby2626hpp0li23mic3qq8w7jirsp1hd08hkx2z84gvz4j6fz";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  helm-swoop = melpaBuild rec {
+    pname   = "helm-swoop";
+    version = "20141224";
+    src = fetchFromGitHub {
+      owner  = "ShingoFukuyama";
+      repo   = pname;
+      rev    = "06a251f7d7fce2a5719e0862e5855972cd8ab1ae";
+      sha256 = "0nq33ldhbvfbm6jnsxqdf3vwaqrsr2gprkzll081gcyl2s1x0l2m";
+    };
+    packageRequires = [ helm ];
+    meta = { license = gpl3Plus; };
+  };
+
+  helm = melpaBuild rec {
+    pname   = "helm";
+    version = "20150105";
+    src = fetchFromGitHub {
+      owner  = "emacs-helm";
+      repo   = pname;
+      rev    = "e5608ad86e7ca72446a4b1aa0faf604200ffe895";
+      sha256 = "0n2kr6pyzcsi8pq6faxz2y8kicz1gmvj98fzzlq3a107dqqp25ay";
+    };
+    packageRequires = [ async ];
+    meta = { license = gpl3Plus; };
+  };
+
+  hi2 = melpaBuild rec {
+    pname   = "hi2";
+    version = "1.0";
+    src = fetchFromGitHub {
+      owner  = "nilcons";
+      repo   = pname;
+      rev    = version;
+      sha256 = "1s08sgbh5v59lqskd0s1dscs6dy7z5mkqqkabs3gd35agbfvbmlf";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  ibuffer-vc = melpaBuild rec {
+    pname   = "ibuffer-vc";
+    version = "0.10";
+    src = fetchFromGitHub {
+      owner  = "purcell";
+      repo   = pname;
+      rev    = version;
+      sha256 = "0bqdi5w120256g74k0j4jj81x804x1gcg4dxa74w3mb6fl5xlvs8";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  ido-ubiquitous = melpaBuild rec {
+    pname   = "ido-ubiquitous";
+    version = "2.17";
+    src = fetchFromGitHub {
+      owner  = "DarwinAwardWinner";
+      repo   = pname;
+      rev    = "323e4cddc05d5a4546c1b64132b2b1e9f8896452";
+      sha256 = "0wdjz3cqzrxhrk68g5gyvc9j2rb6f4yw00xbjgw9ldwlhmkwy5ja";
+    };
+    meta = {
+      description = "Does what you expected ido-everywhere to do in Emacs";
+      homepage = https://github.com/DarwinAwardWinner/ido-ubiquitous/;
+      license = gpl3Plus;
+    };
+  };
+
+  idris-mode = melpaBuild rec {
+    pname   = "idris-mode";
+    version = "0.9.15";
+    src = fetchFromGitHub {
+      owner  = "idris-hackers";
+      repo   = "idris-mode";
+      rev    = version;
+      sha256 = "00pkgk1zxan89i8alsa2dpa9ls7imqk5zb1kbjwzrlbr0gk4smdb";
+    };
+    packageRequires = [ flycheck ];
+    meta = { license = gpl3Plus; };
+  };
+
+  lcs = melpaBuild rec {
+    pname   = "lcs";
+    version = "1.5";
+    src = fetchFromGitHub {
+      owner  = "jorgenschaefer";
+      repo   = "circe";
+      rev    = "v${version}";
+      sha256 = "08dsv1dzgb9jx076ia7xbpyjpaxn1w87h6rzlb349spaydq7ih24";
+    };
+    fileSpecs = [ "lisp/lcs*.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  log4e = melpaBuild rec {
+    pname = "log4e";
+    version = "0.3.0";
+    src = fetchFromGitHub {
+      owner = "aki2o";
+      repo  = pname;
+      rev   = "v${version}";
+      sha256 = "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022";
+    };
+    meta = { license = gpl2Plus; };
+  };
+
+  lui = melpaBuild rec {
+    pname   = "lui";
+    version = "1.5";
+    src = fetchFromGitHub {
+      owner  = "jorgenschaefer";
+      repo   = "circe";
+      rev    = "v${version}";
+      sha256 = "08dsv1dzgb9jx076ia7xbpyjpaxn1w87h6rzlb349spaydq7ih24";
+    };
+    packageRequires = [ tracking ];
+    fileSpecs = [ "lisp/lui*.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  magit = melpaBuild rec {
+    pname   = "magit";
+    version = "1.4.0";
+    src = fetchFromGitHub {
+      owner  = "magit";
+      repo   = "magit";
+      rev    = version;
+      sha256 = "0x8bvfw47bfpzsv9yr98aays4idbbwvnkp0pag1q78gcn9h2k9vi";
+    };
+    packageRequires = [ git-commit-mode git-rebase-mode ];
+    meta = { license = gpl3Plus; };
+  };
+
+  markdown-mode = melpaBuild rec {
+    pname   = "markdown-mode";
+    version = "2.0";
+    src = fetchFromGitHub {
+      owner  = "defunkt";
+      repo   = pname;
+      rev    = "v${version}";
+      sha256 = "1l2w0j9xl8pipz61426s79jq2yns42vjvysc6yjc29kbsnhalj29";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  monokai-theme = melpaBuild rec {
+    pname   = "monokai-theme";
+    version = "1.0.0";
+    src = fetchFromGitHub {
+      owner  = "oneKelvinSmith";
+      repo   = "monokai-emacs";
+      rev    = "v${version}";
+      sha256 = "02w7k4s4698p4adjy4a36na28sb1s2zw4xsjs7p2hv9iiw9kmyvz";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  nyan-mode = callPackage ../applications/editors/emacs-modes/nyan-mode {};
+
+  org-plus-contrib = melpaBuild rec {
+    pname   = "org-plus-contrib";
+    version = "20150406";
+    src = fetchurl {
+      url    = "http://orgmode.org/elpa/${pname}-${version}.tar";
+      sha256 = "1ny2myg4rm75ab2gl5rqrwy7h53q0vv18df8gk3zv13kljj76c6i";
+    };
+    buildPhase = ''
+      cp $src ${pname}-${version}.tar
+    '';
+    meta = { license = gpl3Plus; };
+  };
+
+  org-trello = melpaBuild rec {
+    pname = "org-trello";
+    version = "0.6.9.3";
+    src = fetchFromGitHub {
+      owner = "org-trello";
+      repo = pname;
+      rev = "f1e1401a373dd492eee49fb131b1cd66b3a9ac37";
+      sha256 = "003gdh8rgdl3k8h20wgbciqyacyqr64w1wfdqvwm9qdz414q5yj3";
+    };
+    packageRequires = [ request-deferred deferred dash s ];
+    files = [ "org-trello-*.el" ];
+    meta = {
+      description = "Org minor mode - 2-way sync org & trello";
+      longDescription = ''
+        Org-trello is an emacs minor mode that extends org-mode with
+        Trello abilities.
+      '';
+      homepage = https://org-trello.github.io;
+      license = gpl3Plus;
+    };
+  };
+
+  pkg-info = melpaBuild rec {
+    pname   = "pkg-info";
+    version = "20140610";
+    src = fetchFromGitHub {
+      owner  = "lunaryorn";
+      repo   = "${pname}.el";
+      rev    = "475cdeb0b8d44f9854e506c429eeb445787014ec";
+      sha256 = "0x4nz54f2shgcw3gx66d265vxwdpdirn64gzii8dpxhsi7v86n0p";
+    };
+    packageRequires = [ epl ];
+    meta = { license = gpl3Plus; };
+  };
+
+  popup = melpaBuild rec {
+    pname   = "popup";
+    version = "0.5.0";
+    src = fetchFromGitHub {
+      owner  = "auto-complete";
+      repo   = "${pname}-el";
+      rev    = "v${version}";
+      sha256 = "0836ayyz1syvd9ry97ya06l8mpr88c6xbgb4d98szj6iwbypcj7b";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  projectile = melpaBuild rec {
+    pname   = "projectile";
+    version = "20141020";
+    src = fetchFromGitHub {
+      owner  = "bbatsov";
+      repo   = pname;
+      rev    = "13580d83374e0c17c55b3a680b816dfae407657e";
+      sha256 = "10c28h2g53sg68lwamhak0shdhh26h5xaipipz3n4281sr1fwg58";
+    };
+    packageRequires = [ dash helm s pkg-info epl ];
+    meta = { license = gpl3Plus; };
+  };
+
+  rainbow-delimiters = melpaBuild rec {
+    pname = "rainbow-delimiters";
+    version = "2.1.1";
+    src = fetchFromGitHub {
+      owner = "Fanael";
+      repo = pname;
+      rev = version;
+      sha256 = "0gxc8j5a14bc9mp43cbcz41ipc0z1yvmypg52dnl8hadirry20gd";
+    };
+    meta = {
+      description = "Highlight delimiters with colors according to their depth";
+      license = gpl3Plus;
+    };
+  };
+
+  request = melpaBuild rec {
+    pname = "request";
+    version = "0.2.0";
+
+    src = fetchFromGitHub {
+      owner = "tkf";
+      repo = "emacs-${pname}";
+      rev = "adf7de452f9914406bfb693541f1d280093c4efd";
+      sha256 = "0dja4g43zfjbxqvz2cgivgq5sfm6fz1563qgrp4yxknl7bdggb92";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Easy HTTP request for Emacs Lisp";
+      longDescription = ''
+        Request.el is a HTTP request library with multiple backends. It supports
+        url.el which is shipped with Emacs and curl command line program. User
+        can use curl when s/he has it, as curl is more reliable than url.el.
+        Library author can use request.el to avoid imposing external dependencies
+        such as curl to users while giving richer experience for users who have curl.
+      '';
+      homepage = https://github.com/tkf/emacs-request;
+      license = gpl3Plus;
+    };
+  };
+
+  request-deferred = melpaBuild rec {
+    pname = "request-deferred";
+    version = "0.2.0";
+
+    src = fetchFromGitHub {
+      owner = "tkf";
+      repo = "emacs-request";
+      rev = "adf7de452f9914406bfb693541f1d280093c4efd";
+      sha256 = "0dja4g43zfjbxqvz2cgivgq5sfm6fz1563qgrp4yxknl7bdggb92";
+    };
+
+    packageRequires = [ request deferred ];
+
+    meta = with stdenv.lib; {
+      description = "Easy HTTP request for Emacs Lisp";
+      longDescription = ''
+        Request.el is a HTTP request library with multiple backends. It supports
+        url.el which is shipped with Emacs and curl command line program. User
+        can use curl when s/he has it, as curl is more reliable than url.el.
+        Library author can use request.el to avoid imposing external dependencies
+        such as curl to users while giving richer experience for users who have curl.
+      '';
+      homepage = https://github.com/tkf/emacs-request;
+      license = gpl3Plus;
+    };
+  };
+
+  rich-minority = melpaBuild rec {
+    pname   = "rich-minority";
+    version = "0.1.1";
+    src = fetchFromGitHub {
+      owner  = "Bruce-Connor";
+      repo   = pname;
+      rev    = version;
+      sha256 = "0kvhy4mgs9llihwsb1a9n5a85xzjiyiyawxnz0axy2bvwcxnp20k";
+    };
+    packageRequires = [ dash ];
+    meta = { license = gpl3Plus; };
+  };
+
+  s = melpaBuild rec {
+    pname   = "s";
+    version = "20140910";
+    src = fetchFromGitHub {
+      owner  = "magnars";
+      repo   = "${pname}.el";
+      rev    = "1f85b5112f3f68169ddaa2911fcfa030f979eb4d";
+      sha256 = "9d871ea84f98c51099528a03eddf47218cf70f1431d4c35c19c977d9e73d421f";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  semi = melpaBuild rec {
+    pname = "semi";
+    version = "1.14.7"; # 20150203
+    src = fetchFromGitHub {
+      owner  = "wanderlust";
+      repo   = pname;
+      rev    = "9976269556c5bcc021e4edf1b0e1accd39929528";
+      sha256 = "1g1xg57pz4msd3f998af5gq28qhmvi410faygzspra6y6ygaka68";
+    };
+    packageRequires = [ apel flim ];
+    meta = {
+      description = "MIME library for Emacs";
+      license = gpl3Plus; # probably
+    };
+  };
+
+  shorten = melpaBuild rec {
+    pname   = "shorten";
+    version = "1.5";
+    src = fetchFromGitHub {
+      owner  = "jorgenschaefer";
+      repo   = "circe";
+      rev    = "v${version}";
+      sha256 = "08dsv1dzgb9jx076ia7xbpyjpaxn1w87h6rzlb349spaydq7ih24";
+    };
+    fileSpecs = [ "lisp/shorten*.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  smart-mode-line = melpaBuild rec {
+    pname   = "smart-mode-line";
+    version = "2.6";
+    src = fetchFromGitHub {
+      owner  = "Bruce-Connor";
+      repo   = pname;
+      rev    = version;
+      sha256 = "17nav2jbvbd13xzgp29x396mc617n2dh6whjk4wnyvsyv7r0s9f6";
+    };
+    packageRequires = [ dash rich-minority ];
+    meta = { license = gpl3Plus; };
+  };
+
+  smartparens = melpaBuild rec {
+    pname   = "smartparens";
+    version = "1.6.2";
+    src = fetchFromGitHub {
+      owner  = "Fuco1";
+      repo   = pname;
+      rev    = version;
+      sha256 = "16pzd740vd1r3qfmxia2ibiarinm6xpja0mjv3nni5dis5s4r9gc";
+    };
+    packageRequires = [ dash ];
+    meta = { license = gpl3Plus; };
+  };
+
+  smex = melpaBuild rec {
+    pname = "smex";
+    version = "20141210";
+    src = fetchFromGitHub {
+      owner  = "nonsequitur";
+      repo   = pname;
+      rev    = "aff8d4485139ac28f1c7e62912c0d0d480995831";
+      sha256 = "0017f1ji7rxad2n49dhn5g0pmw6lmw80cqk6dynszizj46xpbqfp";
+    };
+    meta = {
+      description = "M-x enhancement for Emacs build on top of Ido";
+      homepage = https://github.com/nonsequitur/smex/;
+      license = emacs.meta.license; # should be "same as Emacs"
+    };
+  };
+
+  structured-haskell-mode = melpaBuild rec {
+    pname = "shm";
+    version = external.structured-haskell-mode.version;
+    src = external.structured-haskell-mode.src;
+    packageRequires = [ haskell-mode ];
+    fileSpecs = [ "elisp/*.el" ];
+
+    meta = {
+      homepage = "https://github.com/chrisdone/structured-haskell-mode";
+      description = "Structured editing Emacs mode for Haskell";
+      license = bsd3;
+      platforms = external.structured-haskell-mode.meta.platforms;
+    };
+  };
+
+  switch-window = melpaBuild rec {
+    pname   = "switch-window";
+    version = "20140919";
+    src = fetchFromGitHub {
+      owner  = "dimitri";
+      repo   = pname;
+      rev    = "3ffbe68e584f811e891f96afa1de15e0d9c1ebb5";
+      sha256 = "09221128a0f55a575ed9addb3a435cfe01ab6bdd0cca5d589ccd37de61ceccbd";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  tracking = melpaBuild rec {
+    pname   = "tracking";
+    version = "1.5";
+    src = fetchFromGitHub {
+      owner  = "jorgenschaefer";
+      repo   = "circe";
+      rev    = "v${version}";
+      sha256 = "08dsv1dzgb9jx076ia7xbpyjpaxn1w87h6rzlb349spaydq7ih24";
+    };
+    packageRequires = [ shorten ];
+    fileSpecs = [ "lisp/tracking*.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  tuareg = melpaBuild rec {
+    pname = "tuareg";
+    version = "2.0.9";
+    src = fetchFromGitHub {
+      owner  = "ocaml";
+      repo   = pname;
+      rev    = version;
+      sha256 = "1j2smhqrwy0zydhbyjkpnwzq05fgfa85kc0d9kzwq0mppdndspp4";
+    };
+    packageRequires = [ caml ];
+    meta = { license = gpl3Plus; };
+  };
+
+  undo-tree = melpaBuild rec {
+    pname   = "undo-tree";
+    version = "0.6.4";
+    src = fetchgit {
+      url    = "http://www.dr-qubit.org/git/${pname}.git";
+      rev    = "a3e81b682053a81e082139300ef0a913a7a610a2";
+      sha256 = "1qla7njkb7gx5aj87i8x6ni8jfk1k78ivwfiiws3gpbnyiydpx8y";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  use-package = melpaBuild rec {
+    pname   = "use-package";
+    version = "20150317";
+    src = fetchFromGitHub {
+      owner  = "jwiegley";
+      repo   = pname;
+      rev    = "b836266ddfbc835efdb327ecb389ff9e081d7c55";
+      sha256 = "187wnqqm5g43cg8b6a9rbd9ncqad5fhjb96wjszbinjh1mjxyh7i";
+    };
+    packageRequires = [ bind-key diminish ];
+    files = [ "use-package.el" ];
+    meta = { license = gpl3Plus; };
+  };
+
+  volatile-highlights = melpaBuild rec {
+    pname   = "volatile-highlights";
+    version = "1.11";
+    src = fetchFromGitHub {
+      owner  = "k-talo";
+      repo   = "${pname}.el";
+      rev    = "fb2abc2d4d4051a9a6b7c8de2fe7564161f01f24";
+      sha256 = "1v0chqj5jir4685jd8ahw86g9zdmi6xd05wmzhyw20rbk924fcqf";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  wanderlust = melpaBuild rec {
+    pname = "wanderlust";
+    version = "2.15.9"; # 20150301
+    src = fetchFromGitHub {
+      owner  = pname;
+      repo   = pname;
+      rev    = "13fb4f6519490d4ac7138f3bcf76707654348071";
+      sha256 = "1l48xfcwkm205prspa1rns6lqfizik5gpdwmlfgyb5mabm9x53zn";
+    };
+    packageRequires = [ apel flim semi ];
+    fileSpecs = [
+      "doc/wl.texi" "doc/wl-ja.texi"
+      "elmo/*.el" "wl/*.el"
+      "etc/icons"
+    ];
+    meta = {
+      description = "E-Mail client for Emacs";
+      license = gpl3Plus; # probably
+    };
+  };
+
+  weechat = melpaBuild rec {
+    pname   = "weechat.el";
+    version = "0.2.2";
+    src = fetchFromGitHub {
+      owner  = "the-kenny";
+      repo   = pname;
+      rev    = version;
+      sha256 = "0f90m2s40jish4wjwfpmbgw024r7n2l5b9q9wr6rd3vdcwks3mcl";
+    };
+    postPatch = lib.optionalString (!stdenv.isLinux) ''
+      rm weechat-sauron.el weechat-secrets.el
+    '';
+    packageRequires = [ s ];
+    meta = { license = gpl3Plus; };
+  };
+
+  wgrep = melpaBuild rec {
+    pname   = "wgrep";
+    version = "20141017";
+    src = fetchFromGitHub {
+      owner  = "mhayashi1120";
+      repo   = "Emacs-wgrep";
+      rev    = "7ef26c51feaef8a5ec0929737130ab8ba326983c";
+      sha256 = "075z0glain0dp56d0cp468y5y88wn82ab26aapsrdzq8hmlshwn4";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+  zenburn-theme = melpaBuild rec {
+    pname   = "zenburn-theme";
+    version = "2.2";
+    src = fetchFromGitHub {
+      owner  = "bbatsov";
+      repo   = "zenburn-emacs";
+      rev    = "v${version}";
+      sha256 = "1zspqpwgyv3969irg8p7zj3g4hww4bmnlvx33bvjyvvv5c4mg5wv";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
+
+}; in self
diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix
new file mode 100644
index 00000000000..5a63be2e9c6
--- /dev/null
+++ b/pkgs/top-level/go-packages.nix
@@ -0,0 +1,1148 @@
+/* This file defines the composition for Go packages. */
+
+{ overrides, stdenv, go, buildGoPackage, git, pkgconfig, libusb
+, fetchgit, fetchhg, fetchurl, fetchFromGitHub, fetchbzr, pkgs }:
+
+let self = _self // overrides; _self = with self; {
+
+  inherit go buildGoPackage;
+
+  ## OFFICIAL GO PACKAGES
+
+  crypto = buildGoPackage rec {
+    rev = "1351f936d976c60a0a48d728281922cf63eafb8d";
+    name = "go-crypto-${rev}";
+    goPackagePath = "golang.org/x/crypto";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "golang";
+      repo   = "crypto";
+      sha256 = "1vf4z97y7xnhzjizik0lghr7ip77hhdj9kbb35rr4c9sn108f20j";
+    };
+  };
+
+  glog = buildGoPackage rec {
+    rev = "44145f04b68cf362d9c4df2182967c2275eaefed";
+    name = "glog-${rev}";
+    goPackagePath = "github.com/golang/glog";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "golang";
+      repo = "glog";
+      sha256 = "1k7sf6qmpgm0iw81gx2dwggf9di6lgw0n54mni7862hihwfrb5rq";
+    };
+  };
+
+  image = buildGoPackage rec {
+    rev = "490b1ad139b3";
+    name = "go.image-${rev}";
+    goPackagePath = "code.google.com/p/go.image";
+    src = fetchhg {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "02m6ifwby2fi88njarbbb6dimwg0pd2b6llkgyadh4b9wzp2vy4r";
+    };
+  };
+
+  net = buildGoPackage rec {
+    rev = "3338d5f109e9";
+    name = "go.net-${rev}";
+    goPackagePath = "code.google.com/p/go.net";
+    src = fetchhg {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "0yz807y3ac07x3nf0qlaw1w1i6asynrpyssjl8jyv3pplww0qj7i";
+    };
+    propagatedBuildInputs = [ text ];
+  };
+
+  protobuf = buildGoPackage rec {
+    rev = "5677a0e3d5e89854c9974e1256839ee23f8233ca";
+    name = "goprotobuf-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/golang/protobuf";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "golang";
+      repo = "protobuf";
+      sha256 = "18dzxmy0gfjnwa9x8k3hv9calvmydv0dnz1iibykkzd20gw4l85v";
+    };
+    subPackages = [ "proto" "protoc-gen-go" ];
+  };
+
+  text = buildGoPackage rec {
+    rev = "024681b033be";
+    name = "go.text-${rev}";
+    goPackagePath = "code.google.com/p/go.text";
+    src = fetchhg {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "19px5pw5mvwjb7ymivfkkkr6cyl2npv834jxlr6y0x5ca1djhsci";
+    };
+    doCheck = false;
+  };
+
+  tools = buildGoPackage rec {
+    rev = "140fcaadc5860b1a014ec69fdeec807fe3b787e8";
+    name = "go.tools-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "code.google.com/p/go.tools";
+    src = fetchhg {
+      inherit rev;
+      url = "http://code.google.com/p/go.tools";
+      sha256 = "1vgz4kxy0p56qh6pfbs2c68156hakgx4cmrci9jbg7lnrdaz4y56";
+    };
+    subPackages = [ "go/vcs" ];
+  };
+
+  ## THIRD PARTY
+
+  asn1-ber = buildGoPackage rec {
+    rev = "ec51d5ed21377b4023ca7b1e70ae4cb296ee6047";
+    name = "asn1-ber-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/nmcclain/asn1-ber";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "nmcclain";
+      repo   = "asn1-ber";
+      sha256 = "0a2d38k7zpcnf148zlxq2rm7s1s1hzybb3w5ygxilipz0m7qkdsb";
+    };
+  };
+
+  binarydist = buildGoPackage rec {
+    rev = "9955b0ab8708602d411341e55fffd7e0700f86bd";
+    name = "binarydist-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/kr/binarydist";
+
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "kr";
+      repo = "binarydist";
+      sha256 = "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3";
+    };
+  };
+
+  bufio = buildGoPackage rec {
+    rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
+    name = "bufio-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/vmihailenco/bufio";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "vmihailenco";
+      repo = "bufio";
+      sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
+    };
+  };
+
+  check-v1 = buildGoPackage rec {
+    rev = "871360013c92e1c715c2de6d06b54899468a8a2d";
+    name = "check-v1-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "gopkg.in/check.v1";
+    src = fetchgit {
+      inherit rev;
+      url = "https://github.com/go-check/check.git";
+      sha256 = "0i83qjmd4ri9mrfddhsbpj9nb43rf2j9803k030fj155j31klwcx";
+    };
+  };
+
+  circbuf = buildGoPackage rec {
+    rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf";
+    name = "circbuf-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/armon/circbuf";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "armon";
+      repo = "circbuf";
+      sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s";
+    };
+  };
+
+  cli = buildGoPackage rec {
+    rev = "8262fe3f76f0da53b5674eb35c8c6436430794c3";
+    name = "cli-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/mitchellh/cli";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "mitchellh";
+      repo = "cli";
+      sha256 = "0pqkxh1q49kkxihggrfjs8174d927g4c5qqx00ggw8sqqsgrw6vn";
+    };
+  };
+
+  cobra = buildGoPackage rec {
+    date = "20140617";
+    rev = "10a8494a87448bf5003222d9974f166437e7f042";
+    name = "cobra-${date}-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/spf13/cobra";
+    src = fetchgit {
+      inherit rev;
+      url = "https://${goPackagePath}.git";
+      sha256 = "1ydcccx0zdswca4v9hfmrn8ck42h485hy3wrd9k7y6mra3r6c08j";
+    };
+    propagatedBuildInputs = [ pflag ];
+  };
+
+  columnize = buildGoPackage rec {
+    rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
+    name = "columnize-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/ryanuber/columnize";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "ryanuber";
+      repo = "columnize";
+      sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
+    };
+  };
+
+  dns = buildGoPackage rec {
+    rev = "0bd3fb7026404936cf18204ea527d27f067923cf";
+    name = "dns-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/miekg/dns";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "miekg";
+      repo = "dns";
+      sha256 = "1hv2ikpd9gr9idf7zh8nyqgdbnnffs057wsdpd7m44mllbmzhdxn";
+    };
+  };
+
+  ed25519 = buildGoPackage rec {
+    rev = "d2b94fd789ea21d12fac1a4443dd3a3f79cda72c";
+    name = "ed25519-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/agl/ed25519";
+    src = fetchgit {
+      inherit rev;
+      url = "git://${goPackagePath}.git";
+      sha256 = "83e3010509805d1d315c7aa85a356fda69d91b51ff99ed98a503d63adb3613e9";
+    };
+  };
+
+  fsnotify = buildGoPackage rec {
+    rev = "4894fe7efedeeef21891033e1cce3b23b9af7ad2";
+    name = "fsnotify-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/howeyc/fsnotify";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "howeyc";
+      repo = "fsnotify";
+      sha256 = "09r3h200nbw8a4d3rn9wxxmgma2a8i6ssaplf3zbdc2ykizsq7mn";
+    };
+  };
+
+  g2s = buildGoPackage rec {
+    rev = "ec76db4c1ac16400ac0e17ca9c4840e1d23da5dc";
+    name = "g2s-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/peterbourgon/g2s";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "peterbourgon";
+      repo   = "g2s";
+      sha256 = "1p4p8755v2nrn54rik7yifpg9szyg44y5rpp0kryx4ycl72307rj";
+    };
+  };
+
+  ginkgo = buildGoPackage rec {
+    rev = "5ed93e443a4b7dfe9f5e95ca87e6082e503021d2";
+    name = "ginkgo-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/onsi/ginkgo";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "onsi";
+      repo = "ginkgo";
+      sha256 = "0ghrx5qmgvgb8cbvsj53v1ir4j9agilg4wyhpk5ikqdv6mmqly4h";
+    };
+    subPackages = [ "./" ];  # don't try to build test fixtures
+  };
+
+  goamz = buildGoPackage rec {
+    rev = "2a8fed5e89ab9e16210fc337d1aac780e8c7bbb7";
+    name = "goamz-${rev}";
+    goPackagePath = "github.com/goamz/goamz";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "goamz";
+      repo   = "goamz";
+      sha256 = "0rlinp0cvgw66qjndg4padr5s0wd3n7kjfggkx6czqj9bqaxcz4b";
+    };
+    propagatedBuildInputs = [ go-ini ];
+
+    # These might need propagating too, but I haven't tested the entire library
+    buildInputs = [ sets go-simplejson check-v1 ];
+  };
+
+  goautoneg = buildGoPackage rec {
+    rev = "75cd24fc2f2c2a2088577d12123ddee5f54e0675";
+    name = "goautoneg-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "bitbucket.org/ww/goautoneg";
+
+    src = fetchhg {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi";
+    };
+  };
+
+  gocheck = buildGoPackage rec {
+    rev = "87";
+    name = "gocheck-${rev}";
+    goPackagePath = "launchpad.net/gocheck";
+    src = fetchbzr {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+    };
+  };
+
+  goconvey = buildGoPackage rec {
+    version = "1.5.0";
+    name = "goconvey-${version}";
+    goPackagePath = "github.com/smartystreets/goconvey";
+    src = fetchurl {
+      name = "${name}.tar.gz";
+      url = "https://github.com/smartystreets/goconvey/archive/${version}.tar.gz";
+      sha256 = "0g3965cb8kg4kf9b0klx4pj9ycd7qwbw1jqjspy6i5d4ccd6mby4";
+    };
+    buildInputs = [ oglematchers ];
+    doCheck = false; # please check again
+  };
+
+  govers = buildGoPackage rec {
+    rev = "3b5f175f65d601d06f48d78fcbdb0add633565b9";
+    name = "govers-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/rogpeppe/govers";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "rogpeppe";
+      repo = "govers";
+      sha256 = "0din5a7nff6hpc4wg0yad2nwbgy4q1qaazxl8ni49lkkr4hyp8pc";
+    };
+  };
+
+  golang_protobuf_extensions = buildGoPackage rec {
+    rev = "ba7d65ac66e9da93a714ca18f6d1bc7a0c09100c";
+    name = "golang-protobuf-extensions-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "matttproud";
+      repo = "golang_protobuf_extensions";
+      sha256 = "1vz6zj94v90x8mv9h6qfp1211kmzn60ri5qh7p9fzpjkhga5k936";
+    };
+    buildInputs = [ protobuf ];
+  };
+
+  goleveldb = buildGoPackage rec {
+    rev = "e9e2c8f6d3b9c313fb4acaac5ab06285bcf30b04";
+    name = "goleveldb-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/syndtr/goleveldb";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "syndtr";
+      repo = "goleveldb";
+      sha256 = "0vg3pcrbdhbmanwkc5njxagi64f4k2ikfm173allcghxcjamrkwv";
+    };
+    propagatedBuildInputs = [ ginkgo gomega gosnappy ];
+  };
+
+  gomega = buildGoPackage rec {
+    rev = "8adf9e1730c55cdc590de7d49766cb2acc88d8f2";
+    name = "gomega-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/onsi/gomega";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "onsi";
+      repo = "gomega";
+      sha256 = "1rf6cxn50d1pji3pv4q372s395r5nxwcgp405z2r2mfdkri4v3w4";
+    };
+  };
+
+  gosnappy = buildGoPackage rec {
+    rev = "ce8acff4829e0c2458a67ead32390ac0a381c862";
+    name = "gosnappy-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/syndtr/gosnappy";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "syndtr";
+      repo = "gosnappy";
+      sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7";
+    };
+  };
+
+  gox = buildGoPackage rec {
+    rev = "e8e6fd4fe12510cc46893dff18c5188a6a6dc549";
+    name = "gox-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/mitchellh/gox";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "mitchellh";
+      repo   = "gox";
+      sha256 = "14jb2vgfr6dv7zlw8i3ilmp125m5l28ljv41a66c9b8gijhm48k1";
+    };
+    buildInputs = [ iochan ];
+  };
+
+  go-assert = buildGoPackage rec {
+    rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
+    name = "assert-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/bmizerany/assert";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "bmizerany";
+      repo = "assert";
+      sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
+    };
+    propagatedBuildInputs = [ pretty ];
+  };
+
+  go-bencode = buildGoPackage rec {
+    version = "1.1.1";
+    name = "go-bencode-${version}";
+    goPackagePath = "github.com/ehmry/go-bencode";
+
+    src = fetchurl {
+      url = "https://${goPackagePath}/archive/v${version}.tar.gz";
+      sha256 = "0y2kz2sg1f7mh6vn70kga5d0qhp04n01pf1w7k6s8j2nm62h24j6";
+    };
+  };
+
+  go-bindata = buildGoPackage rec {
+    version = "3.0.7";
+    name = "go-bindata-${version}";
+    goPackagePath = "github.com/jteeuwen/go-bindata";
+    src = fetchFromGitHub {
+      repo = "go-bindata";
+      owner = "jteeuwen";
+      rev = "v${version}";
+      sha256 = "1v8xwwlv6my5ixvis31m3vgz4sdc0cq82855j8gxmjp1scinv432";
+    };
+
+    subPackages = [ "./" "go-bindata" ]; # don't build testdata
+
+    meta = with stdenv.lib; {
+      homepage    = "https://github.com/jteeuwen/go-bindata";
+      description = "A small utility which generates Go code from any file. Useful for embedding binary data in a Go program.";
+      maintainers = with maintainers; [ cstrahan ];
+      license     = licenses.cc0 ;
+      platforms   = platforms.all;
+    };
+  };
+
+  go-codec = buildGoPackage rec {
+    rev = "71c2886f5a673a35f909803f38ece5810165097b";
+    name = "go-codec-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/ugorji/go";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "ugorji";
+      repo = "go";
+      sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+    };
+  };
+
+  go-fuse = buildGoPackage rec {
+    rev = "5d16aa11eef4643de2d91e88a64dcb6138705d58";
+    name = "go-fuse-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/hanwen/go-fuse";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "hanwen";
+      repo = "go-fuse";
+      sha256 = "0lycfhchn88kbs81ypz8m5jh032fpbv14gldrjirf32wm1d4f8pj";
+    };
+    subPackages = [ "fuse" "fuse/nodefs" "fuse/pathfs" ];
+  };
+
+  go-homedir = buildGoPackage rec {
+    rev = "7d2d8c8a4e078ce3c58736ab521a40b37a504c52";
+    name = "go-homedir-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "mitchellh";
+      repo   = "go-homedir";
+      sha256 = "1ixhwxnvq1qx53asq47yhg3l88ndwrnyw4fkkidcjg759dc86d0i";
+    };
+  };
+
+  go-hostpool = buildGoPackage rec {
+    rev = "fed86fae5cacdc77e7399937e2f8836563620a2e";
+    name = "go-hostpool-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/bitly/go-hostpool";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "bitly";
+      repo = "go-hostpool";
+      sha256 = "0nbssfp5ksj4hhc0d8lfq54afd9nqv6qzk3vi6rinxr3fgplrj44";
+    };
+  };
+
+  go-ini = buildGoPackage rec {
+    rev = "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1";
+    name = "go-ini-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/vaughan0/go-ini";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "vaughan0";
+      repo   = "go-ini";
+      sha256 = "1l1isi3czis009d9k5awsj4xdxgbxn4n9yqjc1ac7f724x6jacfa";
+    };
+  };
+
+  rcrowley.go-metrics = buildGoPackage rec {
+    rev = "f770e6f5e91a8770cecee02d5d3f7c00b023b4df";
+    name = "rcrowley.go-metrics-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/rcrowley/go-metrics";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "rcrowley";
+      repo = "go-metrics";
+      sha256 = "07dc74kiam8v5my7rhi3yxqrpnaapladhk8b3qbnrpjk3shvnx5f";
+    };
+
+    buildInputs = [ influxdb-go stathat ];
+  };
+
+  armon.go-metrics = buildGoPackage rec {
+    rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
+    name = "armon.go-metrics-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/armon/go-metrics";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "armon";
+      repo = "go-metrics";
+      sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+    };
+  };
+
+  go-msgpack = buildGoPackage rec {
+    rev = "75092644046c5e38257395b86ed26c702dc95b92";
+    name = "go-msgpack-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/ugorji/go-msgpack";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "ugorji";
+      repo = "go-msgpack";
+      sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+    };
+  };
+
+  go-nsq = buildGoPackage rec {
+    rev = "c79a282f05364e340eadc2ce2f862a3d44eea9c0";
+    name = "go-nsq-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/bitly/go-nsq";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "bitly";
+      repo = "go-nsq";
+      sha256 = "19jlwj5419p5xwjzfnzlddjnbh5g7ifnqhd00i5p0b6ww1gk011p";
+    };
+    propagatedBuildInputs = [ go-simplejson go-snappystream ];
+  };
+
+  go-options = buildGoPackage rec {
+    rev = "896a539cd709f4f39d787562d1583c016ce7517e";
+    name = "go-options-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/mreiferson/go-options";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "mreiferson";
+      repo = "go-options";
+      sha256 = "0hg0n5grcjcj5719rqchz0plp39wfk3znqxw8y354k4jwsqwmn17";
+    };
+  };
+
+  go-runit = buildGoPackage rec {
+    rev = "a9148323a615e2e1c93b7a9893914a360b4945c8";
+    name = "go-runit-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/soundcloud/go-runit";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "soundcloud";
+      repo = "go-runit";
+      sha256 = "00f2rfhsaqj2wjanh5qp73phx7x12a5pwd7lc0rjfv68l6sgpg2v";
+    };
+  };
+
+  go-simplejson = buildGoPackage rec {
+    rev = "1cfceb0e12f47ec02665ef480212d7b531d6f4c5";
+    name = "go-simplejson-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/bitly/go-simplejson";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "bitly";
+      repo = "go-simplejson";
+      sha256 = "1d8x0himl58qn87lv418djy6mbs66p9ai3zpqq13nhkfl67fj3bi";
+    };
+  };
+
+  go-snappystream = buildGoPackage rec {
+    rev = "97c96e6648e99c2ce4fe7d169aa3f7368204e04d";
+    name = "go-snappystream-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/mreiferson/go-snappystream";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "mreiferson";
+      repo = "go-snappystream";
+      sha256 = "08ylvx9r6b1fi76v6cqjvny4yqsvcqjfsg93jdrgs7hi4mxvxynn";
+    };
+    propagatedBuildInputs = [ snappy-go ];
+  };
+
+  go-syslog = buildGoPackage rec {
+    rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c";
+    name = "go-syslog-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/hashicorp/go-syslog";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "hashicorp";
+      repo = "go-syslog";
+      sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81";
+    };
+  };
+ 
+  go-update = buildGoPackage rec {
+    rev = "c1385108bc3a016f1c88b75ea7d2e2a356a1571d";
+    name = "go-update-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/inconshreveable/go-update";
+
+    buildInputs = [ osext binarydist ];
+
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "inconshreveable";
+      repo = "go-update";
+      sha256 = "16zaxa0i07ismxdmkvjj4dpyc9lgp6wa94q090m9a48si40w9sjn";
+    };
+  };
+
+  go-vhost = buildGoPackage rec {
+    rev = "c4c28117502e4bf00960c8282b2d1c51c865fe2c";
+    name = "go-vhost-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/inconshreveable/go-vhost";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "inconshreveable";
+      repo = "go-vhost";
+      sha256 = "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32";
+    };
+  };
+
+  hologram = buildGoPackage rec {
+    rev  = "2bf08f0edee49297358bd06a0c9bf44ba9051e9c";
+    name = "hologram-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/AdRoll/hologram";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "copumpkin";
+      repo   = "hologram";
+      sha256 = "1ra6rdniqh3pi84fm29zam4irzv52a1dd2sppaqngk07f7rkkhi4";
+    };
+    buildInputs = [ crypto protobuf goamz rgbterm go-bindata go-homedir ldap g2s gox ];
+  };
+
+  httprouter = buildGoPackage rec {
+    rev = "bde5c16eb82ff15a1734a3818d9b9547065f65b1";
+    name = "httprouter-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "julienschmidt";
+      repo = "httprouter";
+      sha256 = "1l74pvqqhhval4vfnhca9d6i1ij69qs3ljf41w3m1l2id42rq7r9";
+    };
+  };
+
+  influxdb-go = buildGoPackage rec {
+    rev = "63c9a5f67dcb633d05164bf8442160c9e2e402f7";
+    name = "influxdb-go-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/influxdb/influxdb-go";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "influxdb";
+      repo = "influxdb-go";
+      sha256 = "16in1xhx94pir06aw166inn0hzpb7836xbws16laabs1p2np7bld";
+    };
+  };
+
+  eckardt.influxdb-go = buildGoPackage rec {
+    rev = "8b71952efc257237e077c5d0672e936713bad38f";
+    name = "influxdb-go-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/eckardt/influxdb-go";
+    src = fetchgit {
+      inherit rev;
+      url = "https://${goPackagePath}.git";
+      sha256 = "5318c7e1131ba2330c90a1b67855209e41d3c77811b1d212a96525b42d391f6e";
+    };
+  };
+
+  iochan = buildGoPackage rec {
+    rev = "b584a329b193e206025682ae6c10cdbe03b0cd77";
+    name = "iochan-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/mitchellh/iochan";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "mitchellh";
+      repo = "iochan";
+      sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b";
+    };
+  };
+
+  ldap = buildGoPackage rec {
+    rev = "469fe5a802d61523b40dbb29bb8012a6b99b06b5";
+    name = "ldap-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/nmcclain/ldap";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "nmcclain";
+      repo   = "ldap";
+      sha256 = "0xq5dc03ym0wlg9mvf4gbrmj74l4c8bgkls8fd7c98a128qw2srk";
+    };
+    propagatedBuildInputs = [ asn1-ber ];
+    subPackages = [ "./" ];
+  };
+
+  log4go = buildGoPackage rec {
+    rev = "48";
+    name = "log4go-${rev}";
+    goPackagePath = "code.google.com/p/log4go";
+
+    src = fetchhg {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
+    };
+
+    subPackages = [ "./" ]; # don't build examples
+  };
+
+  logutils = buildGoPackage rec {
+    rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8";
+    name = "logutils-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/hashicorp/logutils";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "hashicorp";
+      repo = "logutils";
+      sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz";
+    };
+  };
+
+  mapstructure = buildGoPackage rec {
+    rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
+    name = "mapstructure-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "mitchellh";
+      repo = "mapstructure";
+      sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+    };
+  };
+
+  mdns = buildGoPackage rec {
+    rev = "70462deb060d44247356ee238ebafd7699ddcffe";
+    name = "mdns-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/armon/mdns";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "armon";
+      repo = "mdns";
+      sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+    };
+
+    propagatedBuildInputs = [ dns net ];
+  };
+
+  memberlist = buildGoPackage rec {
+    rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
+    name = "memberlist-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/hashicorp/memberlist";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "hashicorp";
+      repo = "memberlist";
+      sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+    };
+
+    propagatedBuildInputs = [ go-codec armon.go-metrics ];
+  };
+
+  mesos-stats = buildGoPackage rec {
+    rev = "0c6ea494c19bedc67ebb85ce3d187ec21050e920";
+    name = "mesos-stats-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/antonlindstrom/mesos_stats";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "antonlindstrom";
+      repo = "mesos_stats";
+      sha256 = "18ggyjf4nyn77gkn16wg9krp4dsphgzdgcr3mdflv6mvbr482ar4";
+    };
+
+    propagatedBuildInputs = [ prometheus.client_golang glog ];
+  };
+
+  mgo = buildGoPackage rec {
+    rev = "2";
+    name = "mgo-${rev}"; 
+    goPackagePath = "launchpad.net/mgo";
+    src = fetchbzr {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+    };
+  };
+
+  mousetrap = buildGoPackage rec {
+    rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa";
+    name = "mousetrap-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "inconshreveable";
+      repo = "mousetrap";
+      sha256 = "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b";
+    };
+  };
+
+  msgpack = buildGoPackage rec {
+    rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
+    name = "msgpack-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/vmihailenco/msgpack";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "vmihailenco";
+      repo = "msgpack";
+      sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+    };
+  };
+
+  ntp = buildGoPackage rec {
+    rev = "0a5264e2563429030eb922f258229ae3fee5b5dc";
+    name = "ntp-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/beevik/ntp";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "beevik";
+      repo = "ntp";
+      sha256 = "03fvgbjf2aprjj1s6wdc35wwa7k1w5phkixzvp5n1j21sf6w4h24";
+    };
+  };
+
+  oglematchers = buildGoPackage rec {
+    rev = "4fc24f97b5b74022c2a3f4ca7eed57ca29083d3e";
+    name = "oglematchers-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/jacobsa/oglematchers";
+    src = fetchgit {
+      inherit rev;
+      url = "https://${goPackagePath}.git";
+      sha256 = "4075ede31601adf8c4e92739693aebffa3718c641dfca75b09cf6b4bd6c26cc0";
+    };
+    #goTestInputs = [ ogletest ];
+    doCheck = false; # infinite recursion
+  };
+
+  oglemock = buildGoPackage rec {
+    rev = "d054ecee522bdce4481690cdeb09d1b4c44da4e1";
+    name = "oglemock-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/jacobsa/oglemock";
+    src = fetchgit {
+      inherit rev;
+      url = "https://${goPackagePath}.git";
+      sha256 = "685e7fc4308d118ae25467ba84c64754692a7772c77c197f38d8c1b63ea81da2";
+    };
+    buildInputs = [ oglematchers ];
+    #goTestInputs = [ ogletest ];
+    doCheck = false; # infinite recursion
+  };
+
+  ogletest = buildGoPackage rec {
+    rev = "7de485607c3f215cf92c1f793b5d5a7de46ec3c7";
+    name = "ogletest-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/jacobsa/ogletest";
+    src = fetchgit {
+      inherit rev;
+      url = "https://${goPackagePath}.git";
+      sha256 = "0cfc43646d59dcea5772320f968aef2f565fb5c46068d8def412b8f635365361";
+    };
+    buildInputs = [ oglemock oglematchers ];
+    doCheck = false; # check this again
+  };
+
+  osext = buildGoPackage rec {
+    rev = "10";
+    name = "osext-${rev}";
+    goPackagePath = "bitbucket.org/kardianos/osext";
+    src = fetchhg {
+      inherit rev;
+      url = "https://${goPackagePath}";
+      sha256 = "1sj9r5pm28l9sqx6354fwp032n53znx9k8495k3dfnyqjrkvlw6n";
+    };
+  };
+
+  perks = buildGoPackage rec {
+    rev = "aac9e2eab5a334037057336897fd10b0289a5ae8";
+    name = "perks-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/bmizerany/perks";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "bmizerany";
+      repo = "perks";
+      sha256 = "1d027jgc327qz5xmal0hrpqvsj45i9yqmm9pxk3xp3hancvz3l3k";
+    };
+  };
+
+  beorn7.perks = buildGoPackage rec {
+    rev = "b965b613227fddccbfffe13eae360ed3fa822f8d";
+    name = "beorn7.perks-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/beorn7/perks";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "beorn7";
+      repo = "perks";
+      sha256 = "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk";
+    };
+  };
+
+  pflag = buildGoPackage rec {
+    date = "20131112";
+    rev = "94e98a55fb412fcbcfc302555cb990f5e1590627";
+    name = "pflag-${date}-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/spf13/pflag";
+    src = fetchgit {
+      inherit rev;
+      url = "https://${goPackagePath}.git";
+      sha256 = "0z8nzdhj8nrim8fz11magdl0wxnisix9p2kcvn5kkb3bg8wmxhbg";
+    };
+    doCheck = false; # bad import path in tests
+  };
+
+  pretty = buildGoPackage rec {
+    rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f";
+    name = "pretty-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/kr/pretty";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "kr";
+      repo = "pretty";
+      sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl";
+    };
+    propagatedBuildInputs = [ kr.text ];
+  };
+
+  prometheus.client_golang = buildGoPackage rec {
+    name = "prometheus-client-${version}";
+    version = "0.3.2";
+    goPackagePath = "github.com/prometheus/client_golang";
+    src = fetchFromGitHub {
+      owner = "prometheus";
+      repo = "client_golang";
+      rev = "${version}";
+      sha256 = "1fn56zp420hxpm0prr76yyhh62zq3sqj3ppl2r4qxjc78f8ckbj4";
+    };
+    propagatedBuildInputs = [
+      protobuf
+      golang_protobuf_extensions
+      prometheus.client_model
+      prometheus.procfs
+      beorn7.perks
+      goautoneg
+    ];
+  };
+
+  prometheus.client_model = buildGoPackage rec {
+    rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
+    name = "prometheus-client-model-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/prometheus/client_model";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "prometheus";
+      repo = "client_model";
+      sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
+    };
+    buildInputs = [ protobuf ];
+  };
+
+  prometheus.procfs = buildGoPackage rec {
+    rev = "92faa308558161acab0ada1db048e9996ecec160";
+    name = "prometheus-procfs-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/prometheus/procfs";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "prometheus";
+      repo = "procfs";
+      sha256 = "0kaw81z2yi45f6ll6n2clr2zz60bdgdxzqnxvd74flynz4sr0p1v";
+    };
+  };
+
+  pty = buildGoPackage rec {
+    rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
+    name = "pty-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/kr/pty";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "kr";
+      repo = "pty";
+      sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
+    };
+  };
+
+  pushover = buildGoPackage rec {
+    rev = "a8420a1935479cc266bda685cee558e86dad4b9f";
+    name = "pushover-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/thorduri/pushover";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "thorduri";
+      repo = "pushover";
+      sha256 = "0j4k43ppka20hmixlwhhz5mhv92p6wxbkvdabs4cf7k8jpk5argq";
+    };
+  };
+
+  raw = buildGoPackage rec {
+    rev = "724aedf6e1a5d8971aafec384b6bde3d5608fba4";
+    name = "raw-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/feyeleanor/raw";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "feyeleanor";
+      repo   = "raw";
+      sha256 = "0z4dcnadgk0fbxxd14dqa1wzzr0v3ksqlzd0swzs2mipim5wjgsz";
+    };
+  };
+
+  rgbterm = buildGoPackage rec {
+    rev = "c07e2f009ed2311e9c35bca12ec00b38ccd48283";
+    name = "rgbterm-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/aybabtme/rgbterm";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "aybabtme";
+      repo   = "rgbterm";
+      sha256 = "1qph7drds44jzx1whqlrh1hs58k0wv0v58zyq2a81hmm72gsgzam";
+    };
+  };
+
+  sets = buildGoPackage rec {
+    rev = "6c54cb57ea406ff6354256a4847e37298194478f";
+    name = "sets-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/feyeleanor/sets";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "feyeleanor";
+      repo   = "sets";
+      sha256 = "1l3hyl8kmwb9k6qi8x4w54g2cmydap0g3cqvs47bhvm47rg1j1zc";
+    };
+    propagatedBuildInputs = [ slices ];
+  };
+
+  slices = buildGoPackage rec {
+    rev = "bb44bb2e4817fe71ba7082d351fd582e7d40e3ea";
+    name = "slices-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/feyeleanor/slices";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner  = "feyeleanor";
+      repo   = "slices";
+      sha256 = "1miqhzqgww41d8xbvmxfzx9rsfxgw742nqz96mhjkxpadrxg870v";
+    };
+    propagatedBuildInputs = [ raw ];
+  };
+
+  snappy-go = buildGoPackage rec {
+    rev = "14";
+    name = "snappy-go-${rev}";
+    goPackagePath = "code.google.com/p/snappy-go";
+    src = fetchhg {
+      inherit rev;
+      url = "http://code.google.com/p/snappy-go";
+      sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7";
+    };
+  };
+
+  stathat = buildGoPackage rec {
+    rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77";
+    name = "stathat-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/stathat/go";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "stathat";
+      repo = "go";
+      sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi";
+    };
+  };
+
+  termbox-go = buildGoPackage rec {
+    rev = "9aecf65084a5754f12d27508fa2e6ed56851953b";
+    name = "termbox-go-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/nsf/termbox-go";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "nsf";
+      repo = "termbox-go";
+      sha256 = "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh";
+    };
+
+    subPackages = [ "./" ]; # prevent building _demos
+  };
+
+  kr.text = buildGoPackage rec {
+    rev = "6807e777504f54ad073ecef66747de158294b639";
+    name = "kr.text-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/kr/text";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "kr";
+      repo = "text";
+      sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
+    };
+    propagatedBuildInputs = [ pty ];
+  };
+
+  toml = buildGoPackage rec {
+    rev = "f87ce853111478914f0bcffa34d43a93643e6eda";
+    name = "toml-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/BurntSushi/toml";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "BurntSushi";
+      repo = "toml";
+      sha256 = "0g8203y9ycf34j2q3ymxb8nh4habgwdrjn9vdgrginllx73yq565";
+    };
+  };
+
+  usb = buildGoPackage rec {
+    rev = "69aee4530ac705cec7c5344418d982aaf15cf0b1";
+    name = "usb-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/hanwen/usb";
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "hanwen";
+      repo = "usb";
+      sha256 = "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky";
+    };
+    buildInputs = [ pkgconfig libusb ];
+  };
+
+  websocket = buildGoPackage rec {
+    rev = "f4076986b69612ecb8bc7ce06d742eda6286200d";
+    name = "websocket-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "github.com/gorilla/websocket";
+
+    src = fetchFromGitHub {
+      inherit rev;
+      owner = "gorilla";
+      repo = "websocket";
+      sha256 = "09arvwlxw15maf4z8pcgjc25hd00mckqpdi0byafqfgm3nvvacvq";
+    };
+  };
+
+  yaml-v1 = buildGoPackage rec {
+    rev = "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a";
+    name = "yaml-v1-${stdenv.lib.strings.substring 0 7 rev}";
+    goPackagePath = "gopkg.in/yaml.v1";
+    src = fetchgit {
+      inherit rev;
+      url = "https://github.com/go-yaml/yaml.git";
+      sha256 = "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy";
+    };
+  };
+
+}; in self
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 9a064212a40..f4d513c0c68 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -15,19 +15,26 @@
   # Older compilers inherit the overrides from newer ones.
 
   ghcHEADPrefs = self : super : super // {
-    cabalInstall_1_20_0_3 = super.cabalInstall_1_20_0_3.override { Cabal = null; };
+    cabalInstall_1_20_0_6 = super.cabalInstall_1_20_0_6.override { Cabal = null; };
     mtl = self.mtl_2_2_1;
-    transformersCompat = super.transformersCompat_0_3_3;
   };
 
-  ghc783Prefs = self : super : ghcHEADPrefs self super // {
-    cabalInstall_1_20_0_3 = super.cabalInstall_1_20_0_3.override { Cabal = self.Cabal_1_20_0_2; };
-    codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_2; }; };
-    MonadRandom = self.MonadRandom_0_1_13; # requires transformers >= 0.4.x
-    mtl = self.mtl_2_1_2;
+  ghc784Prefs = self : super : ghcHEADPrefs self super // {
+    cabalInstall_1_20_0_6 = super.cabalInstall_1_20_0_6.override { Cabal = self.Cabal_1_20_0_3; };
+    codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_3; }; };
+    jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_20_0_3; };
+    MonadRandom = self.MonadRandom_0_2_0_1; # newer versions require transformers >= 0.4.x
+    mtl = self.mtl_2_1_3_1;
+    xhtml = null;
+    transformersCompat = super.transformersCompat.override { cabal = self.cabal.override {
+      extension = self: super: { configureFlags = "-fthree " + super.configureFlags or ""; };
+    }; };
   };
 
-  ghc763Prefs = self : super : ghc783Prefs self super // {
+  ghc763Prefs = self : super : ghc784Prefs self super // {
+    Cabal_1_22_0_0 = super.Cabal_1_22_0_0.override {
+      binary = self.binary_0_7_2_2.override { cabal = self.cabal.override { extension = self: super: { doCheck = false; }; }; };
+    };
     aeson = self.aeson_0_7_0_4;
     ariadne = super.ariadne.override {
       haskellNames = self.haskellNames.override {
@@ -35,22 +42,26 @@
       };
     };
     attoparsec = self.attoparsec_0_11_3_1;
-    binaryConduit = super.binaryConduit.override { binary = self.binary_0_7_2_1; };
-    bson = super.bson.override { dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_1; }; };
+    binaryConduit = super.binaryConduit.override { binary = self.binary_0_7_2_2; };
+    bson = super.bson.override { dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_2; }; };
+    cabal2nix = super.cabal2nix.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_18_1_3; }; };
+    cabalInstall_1_16_0_2 = super.cabalInstall_1_16_0_2.override {
+      HTTP = self.HTTP.override { network = self.network_2_5_0_0; };
+      network = self.network_2_5_0_0;
+    };
     criterion = super.criterion.override {
       statistics = self.statistics.override {
-        vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_2_1; };
+        vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_2_2; };
       };
     };
-    Elm = super.Elm.override { pandoc = self.pandoc.override { zipArchive = self.zipArchive.override { binary = self.binary_0_7_2_1; }; }; };
+    entropy = super.entropy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_18_1_3; }; };
     gloss = null;                       # requires base >= 4.7
-    haddock = self.haddock_2_13_2;
     modularArithmetic = null;           # requires base >= 4.7
-    pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_1; };
-    rank1dynamic = super.rank1dynamic.override { binary = self.binary_0_7_2_1; };
-    distributedStatic = super.distributedStatic.override { binary = self.binary_0_7_2_1; };
-    networkTransport = super.networkTransport.override { binary = self.binary_0_7_2_1; };
-    distributedProcess = super.distributedProcess.override { binary = self.binary_0_7_2_1; };
+    pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_2; };
+    rank1dynamic = super.rank1dynamic.override { binary = self.binary_0_7_2_2; };
+    distributedStatic = super.distributedStatic.override { binary = self.binary_0_7_2_2; };
+    networkTransport = super.networkTransport.override { binary = self.binary_0_7_2_2; };
+    distributedProcess = super.distributedProcess.override { binary = self.binary_0_7_2_2; };
     scientific = self.scientific_0_2_0_2;
     singletons = null;                  # requires base >= 4.7
     transformers = self.transformers_0_3_0_0; # core packagen in ghc > 7.6.x
@@ -59,32 +70,25 @@
 
   ghc742Prefs = self : super : ghc763Prefs self super // {
     aeson = self.aeson_0_7_0_4.override { blazeBuilder = self.blazeBuilder; };
-    cabalInstall_0_14_0 = super.cabalInstall_0_14_0.override {
-      HTTP = self.HTTP.override { network = self.network_2_3_0_13; };
-      network = self.network_2_3_0_13;
-    };
     extensibleExceptions = null;        # core package in ghc <= 7.4.x
     hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_16_0_3; };
-    haddock = self.haddock_2_11_0;
     haskeline = super.haskeline.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    primitive = self.primitive_0_5_3_0; # later versions don't compile
     random = self.random_1_0_1_1;       # requires base >= 4.6.x
-    shelly = self.shelly_0_15_4_1;
   };
 
   ghc722Prefs = self : super : ghc742Prefs self super // {
+    cabalInstall = self.cabalInstall_1_20_0_6;
     caseInsensitive = self.caseInsensitive_1_0_0_1;
     deepseq = self.deepseq_1_3_0_2;
     DrIFT = null;                       # doesn't compile with old GHC versions
-    haddock = self.haddock_2_9_4;
     syb = self.syb_0_4_0;
   };
 
   ghc704Prefs = self : super : ghc722Prefs self super // {
-    binary = self.binary_0_7_2_1;       # core package in ghc >= 7.2.2
+    binary = self.binary_0_7_2_2;       # core package in ghc >= 7.2.2
     caseInsensitive = super.caseInsensitive; # undo the override from ghc 7.2.2
-    haddock = self.haddock_2_9_2.override { alex = self.alex_2_3_5; };
     HsSyck = self.HsSyck_0_51;
-    jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_16_0_3; };
     random = null;                      # core package in ghc <= 7.0.x
   };
 
@@ -97,7 +101,7 @@
     deepseq = self.deepseq_1_2_0_1;
     dlist = super.dlist.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     exceptions = null;                  # none of our versions compile
-    haddock = self.haddock_2_7_2;
+    jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_16_0_3; };
     logict = super.logict.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     monadPar = self.monadPar_0_1_0_3;
     nats = null;                        # none of our versions compile
@@ -111,6 +115,7 @@
     syb = null;                         # core package in ghc < 7
     tagged = super.tagged.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     temporary = null;                   # none of our versions compile
+    vector = super.vector_0_10_9_3;
     vectorAlgorithms = super.vectorAlgorithms.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
   };
 
@@ -118,10 +123,9 @@
     alex = self.alex_2_3_5.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     async = null;                       # none of our versions compile
     attoparsec = null;                  # none of our versions compile
-    binary = super.binary_0_7_2_1.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    binary = super.binary_0_7_2_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    cabalInstall_1_16_0_2 = super.cabalInstall_1_16_0_2;
     caseInsensitive = super.caseInsensitive.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    GLUT = self.GLUT_2_2_2_1;
-    haddock = self.haddock_2_4_2;
     happy = super.happy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     hashable = super.hashable.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     hashtables = super.hashtables.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
@@ -129,34 +133,31 @@
     HTTP = super.HTTP.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     HUnit = super.HUnit.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     network = super.network_2_2_1_7.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
-    OpenGL = self.OpenGL_2_6_0_1;
+    parsec = super.parsec.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     QuickCheck = super.QuickCheck.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     stm = self.stm_2_4_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     systemFilepath = super.systemFilepath.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     systemFileio = super.systemFileio.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     tar = super.tar.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     text = self.text_0_11_2_3.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    tfRandom = null;                    # does not compile
     time = self.time_1_1_2_4.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     zlib = super.zlib.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
  };
 
   # Abstraction for Haskell packages collections
   packagesFun = makeOverridable
-   ({ ghcPath
-    , ghcBinary ? ghc6101Binary
+   ({ ghc
     , prefFun
     , extension ? (self : super : {})
     , profExplicit ? false, profDefault ? false
     , modifyPrio ? lowPrio
-    , extraArgs ? {}
     } :
     let haskellPackagesClass = import ./haskell-packages.nix {
-          inherit pkgs newScope modifyPrio;
+          inherit pkgs newScope ghc modifyPrio;
           enableLibraryProfiling =
             if profExplicit then profDefault
                             else config.cabal.libraryProfiling or profDefault;
-          ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs);
         };
         haskellPackagesPrefsClass = self : let super = haskellPackagesClass self; in super // prefFun self super;
         haskellPackagesExtensionClass = self : let super = haskellPackagesPrefsClass self; in super // extension self super;
@@ -180,85 +181,43 @@
                                                           modifyPrio   = defaultVersionPrioFun true; };
                              };
 
-  # Binary versions of GHC
-  #
-  # GHC binaries are around for bootstrapping purposes
-
-  ghc6101Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.1-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6102Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.2-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6121Binary = lowPrio (callPackage ../development/compilers/ghc/6.12.1-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc704Binary = lowPrio (callPackage ../development/compilers/ghc/7.0.4-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc742Binary = lowPrio (callPackage ../development/compilers/ghc/7.4.2-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
-  ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
-
   # Compiler configurations
   #
   # Here, we associate compiler versions with bootstrap compiler versions and
   # preference functions.
 
-  packages_ghcHEAD =
-    packages { ghcPath = ../development/compilers/ghc/head.nix;
-               ghcBinary = pkgs.haskellPackages.ghcPlain;
-               prefFun = ghcHEADPrefs;
-               extraArgs = {
-                 happy = pkgs.haskellPackages.happy;
-                 alex = pkgs.haskellPackages.alex;
-               };
-             };
-
-  packages_ghc783 =
-    packages { ghcPath = ../development/compilers/ghc/7.8.3.nix;
-               ghcBinary = ghc742Binary;
-               prefFun = ghc783Prefs;
+  packages_ghc784 =
+    packages { ghc = pkgs.haskell-ng.compiler.ghc784;
+               prefFun = ghc784Prefs;
              };
 
   packages_ghc763 =
-    packages { ghcPath = ../development/compilers/ghc/7.6.3.nix;
-               ghcBinary = ghc704Binary;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc763;
                prefFun = ghc763Prefs;
              };
 
   packages_ghc742 =
-    packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
-               ghcBinary = ghc6121BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc742;
                prefFun = ghc742Prefs;
              };
 
   packages_ghc722 =
-    packages { ghcPath = ../development/compilers/ghc/7.2.2.nix;
-               ghcBinary = ghc6121BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc722;
                prefFun = ghc722Prefs;
              };
 
   packages_ghc704 =
-    packages { ghcPath = ../development/compilers/ghc/7.0.4.nix;
-               ghcBinary = ghc6101BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc704;
                prefFun = ghc704Prefs;
              };
 
   packages_ghc6123 =
-    packages { ghcPath = ../development/compilers/ghc/6.12.3.nix;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc6123;
                prefFun = ghc6123Prefs;
              };
 
   packages_ghc6104 =
-    packages { ghcPath = ../development/compilers/ghc/6.10.4.nix;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc6104;
                prefFun = ghc6104Prefs;
              };
 
diff --git a/pkgs/top-level/haskell-ng.nix b/pkgs/top-level/haskell-ng.nix
new file mode 100644
index 00000000000..0051c2b3e21
--- /dev/null
+++ b/pkgs/top-level/haskell-ng.nix
@@ -0,0 +1,88 @@
+{ pkgs, callPackage, stdenv }:
+
+rec {
+
+  lib = import ../development/haskell-modules/lib.nix { inherit pkgs; };
+
+  compiler = {
+
+    ghc6102Binary = callPackage ../development/compilers/ghc/6.10.2-binary.nix { gmp = pkgs.gmp4; };
+    ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix ({ gmp = pkgs.gmp4; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix ({ gmp = pkgs.gmp4; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+
+    ghc6104 = callPackage ../development/compilers/ghc/6.10.4.nix { ghc = compiler.ghc6102Binary; };
+    ghc6123 = callPackage ../development/compilers/ghc/6.12.3.nix { ghc = compiler.ghc6102Binary; };
+    ghc704 = callPackage ../development/compilers/ghc/7.0.4.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghc722 = callPackage ../development/compilers/ghc/7.2.2.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghc742 = callPackage ../development/compilers/ghc/7.4.2.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghc763 = callPackage ../development/compilers/ghc/7.6.3.nix ({ ghc = compiler.ghc704Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghc784 = callPackage ../development/compilers/ghc/7.8.4.nix ({ ghc = compiler.ghc742Binary; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghc7101 = callPackage ../development/compilers/ghc/7.10.1.nix ({ ghc = compiler.ghc784; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghcHEAD = callPackage ../development/compilers/ghc/head.nix ({ inherit (packages.ghc784) ghc alex happy; } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      libiconv = pkgs.darwin.libiconv;
+    });
+    ghc = compiler.ghc784;
+
+    ghcjs = packages.ghc7101.callPackage ../development/compilers/ghcjs {
+      ghc = compiler.ghc7101;
+    };
+  };
+
+  packages = {
+
+    ghc6104 = callPackage ../development/haskell-modules { ghc = compiler.ghc6104; };
+    ghc6123 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc6123;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-6.12.x.nix { };
+    };
+    ghc704 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc704;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.0.x.nix { };
+    };
+    ghc722 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc722;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.2.x.nix { };
+    };
+    ghc742 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc742;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.4.x.nix { };
+    };
+    ghc763 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc763;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.6.x.nix { };
+    };
+    ghc784 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc784;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.8.x.nix { };
+    };
+    ghc7101 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc7101;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
+    };
+    ghcHEAD = callPackage ../development/haskell-modules {
+      ghc = compiler.ghcHEAD;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
+    };
+    ghcjs = callPackage ../development/haskell-modules {
+      ghc = compiler.ghcjs;
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
+    };
+
+  };
+}
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 7a4d4c4f10b..b2cebf63fff 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -125,6 +125,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   accelerateIo = callPackage ../development/libraries/haskell/accelerate-io {};
 
+  acmeLookofdisapproval = callPackage ../development/libraries/haskell/acme-lookofdisapproval {};
+
   active = callPackage ../development/libraries/haskell/active {};
 
   ACVector = callPackage ../development/libraries/haskell/AC-Vector {};
@@ -142,9 +144,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   AES = callPackage ../development/libraries/haskell/AES {};
 
   aeson_0_7_0_4 = callPackage ../development/libraries/haskell/aeson/0.7.0.4.nix { blazeBuilder = null; };
-  aeson_0_7_0_6 = callPackage ../development/libraries/haskell/aeson/0.7.0.6.nix { blazeBuilder = null; };
-  aeson_0_8_0_0 = callPackage ../development/libraries/haskell/aeson/0.8.0.0.nix { blazeBuilder = null; };
-  aeson = self.aeson_0_8_0_0;
+  aeson_0_8_0_2 = callPackage ../development/libraries/haskell/aeson/0.8.0.2.nix { blazeBuilder = null; };
+  aeson = self.aeson_0_8_0_2;
 
   aesonPretty = callPackage ../development/libraries/haskell/aeson-pretty {};
 
@@ -188,10 +189,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   asn1Types = callPackage ../development/libraries/haskell/asn1-types {};
 
-  async_2_0_1_3 = callPackage ../development/libraries/haskell/async/2.0.1.3.nix {};
   async_2_0_1_4 = callPackage ../development/libraries/haskell/async/2.0.1.4.nix {};
-  async_2_0_1_5 = callPackage ../development/libraries/haskell/async/2.0.1.5.nix {};
-  async = self.async_2_0_1_5;
+  async_2_0_1_6 = callPackage ../development/libraries/haskell/async/2.0.1.6.nix {};
+  async = self.async_2_0_1_6;
 
   atomicPrimops = callPackage ../development/libraries/haskell/atomic-primops {};
 
@@ -201,9 +201,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   attoparsec_0_10_4_0 = callPackage ../development/libraries/haskell/attoparsec/0.10.4.0.nix {};
   attoparsec_0_11_3_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.1.nix {};
-  attoparsec_0_11_3_4 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.4.nix {};
-  attoparsec_0_12_1_1 = callPackage ../development/libraries/haskell/attoparsec/0.12.1.1.nix {};
-  attoparsec = self.attoparsec_0_12_1_1;
+  attoparsec_0_12_1_2 = callPackage ../development/libraries/haskell/attoparsec/0.12.1.2.nix {};
+  attoparsec = self.attoparsec_0_12_1_2;
 
   attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {};
 
@@ -215,6 +214,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   aws = callPackage ../development/libraries/haskell/aws {};
 
+  awsEc2 = callPackage ../development/libraries/haskell/aws-ec2 {};
+
   authenticate = callPackage ../development/libraries/haskell/authenticate {};
 
   authenticateOauth = callPackage ../development/libraries/haskell/authenticate-oauth {};
@@ -239,16 +240,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   bencoding = callPackage ../development/libraries/haskell/bencoding {};
 
+  bencode = callPackage ../development/libraries/haskell/bencode {};
+
   bert = callPackage ../development/libraries/haskell/bert {};
 
   bifunctors = callPackage ../development/libraries/haskell/bifunctors {};
 
   bimap = callPackage ../development/libraries/haskell/bimap {};
 
-  binary_0_6_1_0 = callPackage ../development/libraries/haskell/binary/0.6.1.0.nix {};
-  binary_0_7_2_1 = callPackage ../development/libraries/haskell/binary/0.7.2.1.nix {};
+  binary_0_7_2_2 = callPackage ../development/libraries/haskell/binary/0.7.2.2.nix {};
   binary = null;                # core package since ghc >= 7.2.x
 
+  binaryStrict = callPackage ../development/libraries/haskell/binary-strict {};
+
   binaryConduit = callPackage ../development/libraries/haskell/binary-conduit {};
 
   binaryShared = callPackage ../development/libraries/haskell/binary-shared {};
@@ -261,6 +265,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     libusb = pkgs.libusb1;
   };
 
+  bindingsPortaudio = callPackage ../development/libraries/haskell/bindings-portaudio {};
+
   bindingsPosix = callPackage ../development/libraries/haskell/bindings-posix {};
 
   bitarray = callPackage ../development/libraries/haskell/bitarray {};
@@ -271,8 +277,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   bitsExtras = callPackage ../development/libraries/haskell/bits-extras {};
 
+  bitset = callPackage ../development/libraries/haskell/bitset {};
+
   bktrees = callPackage ../development/libraries/haskell/bktrees {};
 
+  blankCanvas = callPackage ../development/libraries/haskell/blank-canvas {};
+
   blazeBuilder = callPackage ../development/libraries/haskell/blaze-builder {};
 
   blazeBuilderConduit = callPackage ../development/libraries/haskell/blaze-builder-conduit {};
@@ -293,17 +303,13 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   bloomfilter = callPackage ../development/libraries/haskell/bloomfilter {};
 
-  bmp = callPackage ../development/libraries/haskell/bmp {
-    binary = self.binary_0_7_2_1;
-  };
+  bmp = callPackage ../development/libraries/haskell/bmp {};
 
   Boolean = callPackage ../development/libraries/haskell/Boolean {};
 
   boolExtras = callPackage ../development/libraries/haskell/bool-extras {};
 
-  boundingboxes_0_1_1 = callPackage ../development/libraries/haskell/boundingboxes/0.1.1.nix {};
-  boundingboxes_0_2 = callPackage ../development/libraries/haskell/boundingboxes/0.2.nix {};
-  boundingboxes = self.boundingboxes_0_2;
+  boundingboxes = callPackage ../development/libraries/haskell/boundingboxes {};
 
   BoundedChan = callPackage ../development/libraries/haskell/BoundedChan {};
 
@@ -341,14 +347,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   bzlib = callPackage ../development/libraries/haskell/bzlib {};
 
-  c2hs = callPackage ../development/libraries/haskell/c2hs {};
+  call = callPackage ../development/libraries/haskell/call {};
+
+  c2hs = callPackage ../development/tools/haskell/c2hs {};
 
-  c2hsc = callPackage ../development/libraries/haskell/c2hsc {};
+  c2hsc = callPackage ../development/tools/haskell/c2hsc {};
 
-  Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix {};
   Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix {};
   Cabal_1_18_1_3 = callPackage ../development/libraries/haskell/Cabal/1.18.1.3.nix {};
-  Cabal_1_20_0_2 = callPackage ../development/libraries/haskell/Cabal/1.20.0.2.nix {};
+  Cabal_1_20_0_3 = callPackage ../development/libraries/haskell/Cabal/1.20.0.3.nix {};
+  Cabal_1_22_0_0 = callPackage ../development/libraries/haskell/Cabal/1.22.0.0.nix {};
   Cabal = null;                 # core package since forever
 
   cabalCargs = callPackage ../development/libraries/haskell/cabal-cargs {};
@@ -361,7 +369,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   cairo = callPackage ../development/libraries/haskell/cairo {
     inherit (pkgs) cairo zlib;
-    libc = pkgs.stdenv.gcc.libc;
+    libc = pkgs.stdenv.cc.libc;
   };
 
   carray = callPackage ../development/libraries/haskell/carray {};
@@ -371,9 +379,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   cassava = callPackage ../development/libraries/haskell/cassava {};
 
   caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {};
-  caseInsensitive_1_1_0_3 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.3.nix {};
-  caseInsensitive_1_2_0_0 = callPackage ../development/libraries/haskell/case-insensitive/1.2.0.0.nix {};
-  caseInsensitive = self.caseInsensitive_1_2_0_0;
+  caseInsensitive_1_2_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.2.0.1.nix {};
+  caseInsensitive = self.caseInsensitive_1_2_0_1;
 
   cautiousFile = callPackage ../development/libraries/haskell/cautious-file {};
 
@@ -385,28 +392,28 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   certificate = callPackage ../development/libraries/haskell/certificate {};
 
-  cgi_3001_1_7_1 = callPackage ../development/libraries/haskell/cgi/3001.1.7.1.nix {};
-  cgi_3001_1_7_2 = callPackage ../development/libraries/haskell/cgi/3001.1.7.2.nix {};
-  cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {};
-  cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {};
   cgi_3001_1_7_5 = callPackage ../development/libraries/haskell/cgi/3001.1.7.5.nix {};
-  cgi_3001_1_8_5 = callPackage ../development/libraries/haskell/cgi/3001.1.8.5.nix {};
-  cgi = self.cgi_3001_1_8_5;
+  cgi_3001_2_0_0 = callPackage ../development/libraries/haskell/cgi/3001.2.0.0.nix {};
+  cgi = self.cgi_3001_2_0_0;
 
   cgrep = callPackage ../development/libraries/haskell/cgrep {};
 
   charset = callPackage ../development/libraries/haskell/charset {};
 
+  charsetdetectAe = callPackage ../development/libraries/haskell/charsetdetect-ae {};
+
   Chart = callPackage ../development/libraries/haskell/Chart {};
   ChartCairo = callPackage ../development/libraries/haskell/Chart-cairo {};
   ChartDiagrams = callPackage ../development/libraries/haskell/Chart-diagrams {};
   ChartGtk = callPackage ../development/libraries/haskell/Chart-gtk {};
 
-  ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms { QuickCheck = self.QuickCheck_2_6; };
+  chaselevDeque = callPackage ../development/libraries/haskell/chaselev-deque {};
+
+  ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms {};
 
   cheapskate = callPackage ../development/libraries/haskell/cheapskate {};
 
-  checkers = callPackage ../development/libraries/haskell/checkers { QuickCheck = self.QuickCheck_2_6; };
+  checkers = callPackage ../development/libraries/haskell/checkers {};
 
   chell = callPackage ../development/libraries/haskell/chell {};
 
@@ -430,12 +437,20 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   circlePacking = callPackage ../development/libraries/haskell/circle-packing {};
 
+  clashLib = callPackage ../development/libraries/haskell/clash-lib {};
+
+  clashPrelude = callPackage ../development/libraries/haskell/clash-prelude {};
+
   classyPrelude = callPackage ../development/libraries/haskell/classy-prelude {};
 
   classyPreludeConduit = callPackage ../development/libraries/haskell/classy-prelude-conduit {};
 
+  classyPreludeYesod = callPackage ../development/libraries/haskell/classy-prelude-yesod {};
+
   clay = callPackage ../development/libraries/haskell/clay {};
 
+  cleanUnions = callPackage ../development/libraries/haskell/clean-unions {};
+
   clientsession = callPackage ../development/libraries/haskell/clientsession {};
 
   clock = callPackage ../development/libraries/haskell/clock {};
@@ -464,9 +479,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {};
 
-  compdata = if (pkgs.stdenv.lib.versionOlder "7.8" ghc.version)
-               then callPackage ../development/libraries/haskell/compdata {}
-               else null;
+  compdata = callPackage ../development/libraries/haskell/compdata {};
+
+  compdataParam = callPackage ../development/libraries/haskell/compdata-param {};
 
   composition = callPackage ../development/libraries/haskell/composition {};
 
@@ -498,9 +513,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   controlMonadLoop = callPackage ../development/libraries/haskell/control-monad-loop {};
 
-  convertible_1_0_11_1 = callPackage ../development/libraries/haskell/convertible/1.0.11.1.nix {};
-  convertible_1_1_0_0 = callPackage ../development/libraries/haskell/convertible/1.1.0.0.nix {};
-  convertible = self.convertible_1_1_0_0;
+  convertible = callPackage ../development/libraries/haskell/convertible {};
 
   continuedFractions = callPackage ../development/libraries/haskell/continued-fractions {};
 
@@ -508,6 +521,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   concurrentExtra = callPackage ../development/libraries/haskell/concurrent-extra {};
 
+  concurrentSupply = callPackage ../development/libraries/haskell/concurrent-supply {};
+
   converge = callPackage ../development/libraries/haskell/converge {};
 
   cookie = callPackage ../development/libraries/haskell/cookie {};
@@ -552,6 +567,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   csv = callPackage ../development/libraries/haskell/csv {};
 
+  csvConduit = callPackage ../development/libraries/haskell/csv-conduit {};
+
   cssText = callPackage ../development/libraries/haskell/css-text {};
 
   cufft = callPackage ../development/libraries/haskell/cufft {};
@@ -560,6 +577,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   cpu = callPackage ../development/libraries/haskell/cpu {};
 
+  daemons = callPackage ../development/libraries/haskell/daemons { };
+
   dataAccessor = callPackage ../development/libraries/haskell/data-accessor/data-accessor.nix {};
 
   dataAccessorTemplate = callPackage ../development/libraries/haskell/data-accessor/data-accessor-template.nix {};
@@ -584,12 +603,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   dataFix = callPackage ../development/libraries/haskell/data-fix {};
 
+  dataFlags = callPackage ../development/libraries/haskell/data-flags {};
+
   dataHash = callPackage ../development/libraries/haskell/data-hash {};
 
   dataInttrie = callPackage ../development/libraries/haskell/data-inttrie {};
 
   dataLens = callPackage ../development/libraries/haskell/data-lens {};
 
+  dataLensFd = callPackage ../development/libraries/haskell/data-lens-fd {};
+
   dataLensLight = callPackage ../development/libraries/haskell/data-lens-light {};
 
   dataLensTemplate = callPackage ../development/libraries/haskell/data-lens-template {};
@@ -614,8 +637,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   dbus = callPackage ../development/libraries/haskell/dbus {};
 
-  deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {};
-  deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {};
+  Decimal = callPackage ../development/libraries/haskell/Decimal {};
+
   deepseq_1_2_0_1 = callPackage ../development/libraries/haskell/deepseq/1.2.0.1.nix {};
   deepseq_1_3_0_2 = callPackage ../development/libraries/haskell/deepseq/1.3.0.2.nix {};
   deepseq = null;               # core package since ghc >= 7.4.x
@@ -637,11 +660,15 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   dice = callPackage ../development/libraries/haskell/dice {};
 
   diagrams = callPackage ../development/libraries/haskell/diagrams/diagrams.nix {};
+  diagramsBuilder = callPackage ../development/libraries/haskell/diagrams/builder { };
+  diagramsBuilderWrapper = callPackage ../development/libraries/haskell/diagrams/builder/wrapper.nix { };
   diagramsCairo = callPackage ../development/libraries/haskell/diagrams/cairo.nix {};
   diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix {};
   diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {};
+  diagramsGtk = callPackage ../development/libraries/haskell/diagrams/gtk.nix {};
   diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {};
   diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix {};
+  diagramsRasterific = callPackage ../development/libraries/haskell/diagrams/rasterific.nix {};
   diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix {};
 
   Diff = callPackage ../development/libraries/haskell/Diff {};
@@ -652,6 +679,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     inherit (pkgs) zlib;
   };
 
+  digestPure = callPackage ../development/libraries/haskell/digest-pure {};
+
   digestiveFunctors = callPackage ../development/libraries/haskell/digestive-functors {};
 
   digestiveFunctorsAeson = callPackage ../development/libraries/haskell/digestive-functors-aeson {};
@@ -668,12 +697,20 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   directSqlite = callPackage ../development/libraries/haskell/direct-sqlite {};
 
+  directoryLayout = callPackage ../development/libraries/haskell/directory-layout {};
+
   directoryTree = callPackage ../development/libraries/haskell/directory-tree {};
 
   distributedStatic = callPackage ../development/libraries/haskell/distributed-static {};
 
   distributedProcess = callPackage ../development/libraries/haskell/distributed-process {};
 
+  distributedProcessMonadControl = callPackage ../development/libraries/haskell/distributed-process-monad-control {};
+
+  distributedProcessP2p = callPackage ../development/libraries/haskell/distributed-process-p2p {};
+
+  distributedProcessPlatform = callPackage ../development/libraries/haskell/distributed-process-platform {};
+
   distributive = callPackage ../development/libraries/haskell/distributive {};
 
   djinn = callPackage ../development/libraries/haskell/djinn {};
@@ -718,11 +755,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   editDistance = callPackage ../development/libraries/haskell/edit-distance {};
 
-  editline_0_2_1_0 = callPackage ../development/libraries/haskell/editline/0.2.1.0.nix {};
-  editline_0_2_1_1 = callPackage ../development/libraries/haskell/editline/0.2.1.1.nix {};
-  editline = self.editline_0_2_1_1;
+  editline = callPackage ../development/libraries/haskell/editline {};
 
   ekg = callPackage ../development/libraries/haskell/ekg {};
+  ekgBosun = callPackage ../development/libraries/haskell/ekg-bosun {};
   ekgCarbon = callPackage ../development/libraries/haskell/ekg-carbon {};
   ekgCore = callPackage ../development/libraries/haskell/ekg-core {};
 
@@ -730,8 +766,26 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   Elm = callPackage ../development/compilers/elm/elm.nix {};
 
+  elmCompiler = callPackage ../development/compilers/elm/elm-compiler.nix {};
+
+  elmMake = callPackage ../development/compilers/elm/elm-make.nix {
+    optparseApplicative = self.optparseApplicative_0_10_0;
+  };
+
+  elmPackage = callPackage ../development/compilers/elm/elm-package.nix {
+    optparseApplicative = self.optparseApplicative_0_10_0;
+  };
+
   elmServer = callPackage ../development/compilers/elm/elm-server.nix {};
 
+  elmRepl = callPackage ../development/compilers/elm/elm-repl.nix {};
+
+  elmReactor = callPackage ../development/compilers/elm/elm-reactor.nix {};
+
+  elmGet = callPackage ../development/compilers/elm/elm-get.nix {
+    optparseApplicative = self.optparseApplicative_0_10_0;
+  };
+
   emailValidate = callPackage ../development/libraries/haskell/email-validate {};
 
   enclosedExceptions = callPackage ../development/libraries/haskell/enclosed-exceptions {};
@@ -751,11 +805,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   entropy = callPackage ../development/libraries/haskell/entropy {};
 
+  elevator = callPackage ../development/libraries/haskell/elevator {};
+
   equationalReasoning = callPackage ../development/libraries/haskell/equational-reasoning {};
 
-  equivalence_0_2_3 = callPackage ../development/libraries/haskell/equivalence/0.2.3.nix {};
-  equivalence_0_2_5 = callPackage ../development/libraries/haskell/equivalence/0.2.5.nix {};
-  equivalence = self.equivalence_0_2_5;
+  equivalence = callPackage ../development/libraries/haskell/equivalence {};
 
   erf = callPackage ../development/libraries/haskell/erf {};
 
@@ -771,7 +825,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   eventList = callPackage ../development/libraries/haskell/event-list {};
 
-  exPool = callPackage ../development/libraries/haskell/ex-pool { };
+  exhaustive = callPackage ../development/libraries/haskell/exhaustive {};
+
+  exPool = callPackage ../development/libraries/haskell/ex-pool {};
 
   exceptionMtl = callPackage ../development/libraries/haskell/exception-mtl {};
 
@@ -783,7 +839,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   executablePath = callPackage ../development/libraries/haskell/executable-path {};
 
-  Extra = callPackage ../development/libraries/haskell/Extra {};
+  Extra = callPackage ../development/libraries/haskell/Extra-lib {};
 
   fay = callPackage ../development/libraries/haskell/fay {};
 
@@ -797,17 +853,17 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   fileLocation = callPackage ../development/libraries/haskell/file-location {};
 
+  fixedVector = callPackage ../development/libraries/haskell/fixed-vector {};
+
   fmlist = callPackage ../development/libraries/haskell/fmlist {};
 
   ftphs = callPackage ../development/libraries/haskell/ftphs {};
 
   extensibleEffects = callPackage ../development/libraries/haskell/extensible-effects {};
 
-  extensibleExceptions_0_1_1_0 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.0.nix {};
-  extensibleExceptions_0_1_1_2 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.2.nix {};
-  extensibleExceptions_0_1_1_3 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.3.nix {};
-  extensibleExceptions_0_1_1_4 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.4.nix {};
-  extensibleExceptions = self.extensibleExceptions_0_1_1_4;
+  extensibleExceptions = callPackage ../development/libraries/haskell/extensible-exceptions {};
+
+  extra = callPackage ../development/libraries/haskell/extra {};
 
   failure = callPackage ../development/libraries/haskell/failure {};
 
@@ -837,11 +893,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   final = callPackage ../development/libraries/haskell/final {};
 
-  fgl_5_4_2_2 = callPackage ../development/libraries/haskell/fgl/5.4.2.2.nix {};
-  fgl_5_4_2_3 = callPackage ../development/libraries/haskell/fgl/5.4.2.3.nix {};
-  fgl_5_4_2_4 = callPackage ../development/libraries/haskell/fgl/5.4.2.4.nix {};
-  fgl_5_5_0_1 = callPackage ../development/libraries/haskell/fgl/5.5.0.1.nix {};
-  fgl = self.fgl_5_5_0_1;
+  fixed = callPackage ../development/libraries/haskell/fixed {};
+
+  fgl = callPackage ../development/libraries/haskell/fgl {};
 
   fglVisualize = callPackage ../development/libraries/haskell/fgl-visualize {};
 
@@ -853,6 +907,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   folds = callPackage ../development/libraries/haskell/folds {};
 
+  FontyFruity = callPackage ../development/libraries/haskell/FontyFruity {};
+
   forceLayout = callPackage ../development/libraries/haskell/force-layout {};
 
   formatting = callPackage ../development/libraries/haskell/formatting {};
@@ -861,12 +917,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   freeGame = callPackage ../development/libraries/haskell/free-game {};
 
-  fsnotify = callPackage ../development/libraries/haskell/fsnotify {};
+  fsnotify = callPackage ../development/libraries/haskell/fsnotify {
+    hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.hfsevents;
+  };
 
   freetype2 = callPackage ../development/libraries/haskell/freetype2 {};
 
   fuzzcheck = callPackage ../development/libraries/haskell/fuzzcheck {};
 
+  functorInfix = callPackage ../development/libraries/haskell/functor-infix {};
+
   gamma = callPackage ../development/libraries/haskell/gamma {};
 
   geniplate = callPackage ../development/libraries/haskell/geniplate {};
@@ -881,6 +941,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   genericDeriving = callPackage ../development/libraries/haskell/generic-deriving {};
 
+  GenericPretty = callPackage ../development/libraries/haskell/GenericPretty {};
+
   genericsSop = callPackage ../development/libraries/haskell/generics-sop {};
 
   ghcCore = callPackage ../development/libraries/haskell/ghc-core {};
@@ -895,18 +957,20 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled
   };
 
-  ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
+  ghcid = callPackage ../development/tools/haskell/ghcid {};
 
   ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {};
 
-  ghcMod_4_1_6 = callPackage ../development/libraries/haskell/ghc-mod/4.1.6.nix { inherit (pkgs) emacs; };
-  ghcMod_5_0_1_1 = callPackage ../development/libraries/haskell/ghc-mod/5.0.1.1.nix { inherit (pkgs) emacs; };
-  ghcMod = self.ghcMod_4_1_6;
+  ghcjsPrim = callPackage ../development/libraries/haskell/ghcjs-prim {};
+
+  ghcMod = callPackage ../development/libraries/haskell/ghc-mod { inherit (pkgs) emacs; };
 
   ghcMtl = callPackage ../development/libraries/haskell/ghc-mtl {};
 
   ghcPaths = callPackage ../development/libraries/haskell/ghc-paths {};
 
+  ghcParser = callPackage ../development/libraries/haskell/ghc-parser {};
+
   ghcSyb = callPackage ../development/libraries/haskell/ghc-syb {};
 
   ghcSybUtils = callPackage ../development/libraries/haskell/ghc-syb-utils {};
@@ -929,10 +993,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   gitlibTest = callPackage ../development/libraries/haskell/gitlib-test {};
 
+  gl = callPackage ../development/libraries/haskell/gl {};
+
   glade = callPackage ../development/libraries/haskell/glade {
     inherit (pkgs.gnome) libglade;
     gtkC = pkgs.gtk;
-    libc = pkgs.stdenv.gcc.libc;
+    libc = pkgs.stdenv.cc.libc;
   };
 
   GLFW = callPackage ../development/libraries/haskell/GLFW {};
@@ -941,7 +1007,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   glib = callPackage ../development/libraries/haskell/glib {
     glib = pkgs.glib;
-    libc = pkgs.stdenv.gcc.libc;
+    libc = pkgs.stdenv.cc.libc;
   };
 
   Glob = callPackage ../development/libraries/haskell/Glob {};
@@ -950,36 +1016,21 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   gloss = callPackage ../development/libraries/haskell/gloss {};
 
+  glossBanana = callPackage ../development/libraries/haskell/gloss-banana {};
+
   glossAccelerate = callPackage ../development/libraries/haskell/gloss-accelerate {};
 
   glossRaster = callPackage ../development/libraries/haskell/gloss-raster {};
 
   glossRasterAccelerate = callPackage ../development/libraries/haskell/gloss-raster-accelerate {};
 
+  glossRendering = callPackage ../development/libraries/haskell/gloss-rendering {};
+
   glpkHs = callPackage ../development/libraries/haskell/glpk-hs {};
 
-  GLURaw_1_3_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.3.0.0.nix { OpenGLRaw = self.OpenGLRaw_1_3_0_0; };
-  GLURaw_1_4_0_1 = callPackage ../development/libraries/haskell/GLURaw/1.4.0.1.nix {};
-  GLURaw = self.GLURaw_1_4_0_1;
+  GLURaw = callPackage ../development/libraries/haskell/GLURaw {};
 
-  GLUT_2_1_1_2 = callPackage ../development/libraries/haskell/GLUT/2.1.1.2.nix {};
-  GLUT_2_1_2_1 = callPackage ../development/libraries/haskell/GLUT/2.1.2.1.nix {};
-  GLUT_2_1_2_2 = callPackage ../development/libraries/haskell/GLUT/2.1.2.2.nix {};
-  GLUT_2_2_2_1 = callPackage ../development/libraries/haskell/GLUT/2.2.2.1.nix {
-    OpenGL = self.OpenGL_2_6_0_1;
-  };
-  GLUT_2_3_1_0 = callPackage ../development/libraries/haskell/GLUT/2.3.1.0.nix {
-    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
-    OpenGL = self.OpenGL_2_6_0_1.override { OpenGLRaw = self.OpenGLRaw_1_3_0_0; GLURaw = self.GLURaw_1_3_0_0; };
-  };
-  GLUT_2_4_0_0 = callPackage ../development/libraries/haskell/GLUT/2.4.0.0.nix {
-    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
-    OpenGL = self.OpenGL_2_8_0_0.override { OpenGLRaw = self.OpenGLRaw_1_3_0_0; GLURaw = self.GLURaw_1_3_0_0; };
-  };
-  GLUT_2_5_1_1 = callPackage ../development/libraries/haskell/GLUT/2.5.1.1.nix {
-    OpenGL = self.OpenGL_2_9_2_0;
-  };
-  GLUT = self.GLUT_2_5_1_1;
+  GLUT = callPackage ../development/libraries/haskell/GLUT {};
 
   GLUtil = callPackage ../development/libraries/haskell/GLUtil {};
 
@@ -989,11 +1040,13 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   gnutls = callPackage ../development/libraries/haskell/gnutls { inherit (pkgs) gnutls; };
 
+  greencard = callPackage ../development/libraries/haskell/greencard { };
+
   gsasl = callPackage ../development/libraries/haskell/gsasl { inherit (pkgs) gsasl; };
 
   gtk = callPackage ../development/libraries/haskell/gtk {
     inherit (pkgs) gtk;
-    libc = pkgs.stdenv.gcc.libc;
+    libc = pkgs.stdenv.cc.libc;
   };
 
   gtk3 = callPackage ../development/libraries/haskell/gtk3 {
@@ -1006,19 +1059,23 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   gtksourceview2 = callPackage ../development/libraries/haskell/gtksourceview2 {
     inherit (pkgs.gnome) gtksourceview;
-    libc = pkgs.stdenv.gcc.libc;
+    libc = pkgs.stdenv.cc.libc;
   };
 
   gtkTraymanager = callPackage ../development/libraries/haskell/gtk-traymanager {};
 
   Graphalyze = callPackage ../development/libraries/haskell/Graphalyze {};
 
-  graphviz = callPackage ../development/libraries/haskell/graphviz {};
+  graphmod = callPackage ../development/tools/haskell/graphmod {};
+
+  graphviz = callPackage ../development/libraries/haskell/graphviz { systemGraphviz = pkgs.graphviz; };
 
   graphSCC = callPackage ../development/libraries/haskell/graphscc {};
 
   graphWrapper = callPackage ../development/libraries/haskell/graph-wrapper {};
 
+  grid = callPackage ../development/libraries/haskell/grid {};
+
   groom = callPackage ../development/libraries/haskell/groom {};
 
   groups = callPackage ../development/libraries/haskell/groups {};
@@ -1027,6 +1084,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hakyll = callPackage ../development/libraries/haskell/hakyll {};
 
+  half = callPackage ../development/libraries/haskell/half {};
+
   hamlet = callPackage ../development/libraries/haskell/hamlet {};
 
   happstackServer = callPackage ../development/libraries/haskell/happstack/happstack-server.nix {};
@@ -1037,9 +1096,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   happstackFastCGI = callPackage ../development/libraries/haskell/happstack/happstack-fastcgi.nix {};
 
-  hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {};
-  hashable_1_2_2_0 = callPackage ../development/libraries/haskell/hashable/1.2.2.0.nix {};
-  hashable = self.hashable_1_2_2_0;
+  hashable = callPackage ../development/libraries/haskell/hashable {};
 
   hashableExtras = callPackage ../development/libraries/haskell/hashable-extras {};
 
@@ -1047,6 +1104,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hashtables = callPackage ../development/libraries/haskell/hashtables {};
 
+  hask = callPackage ../development/libraries/haskell/hask {};
+
   haskelldb = callPackage ../development/libraries/haskell/haskelldb {};
 
   haskeline = callPackage ../development/libraries/haskell/haskeline {};
@@ -1068,13 +1127,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   haskellPackages = callPackage ../development/libraries/haskell/haskell-packages {};
 
-  haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
-  haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {};
-  haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {};
-  haskellSrc_1_0_1_6 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.6.nix {};
-  haskellSrc = self.haskellSrc_1_0_1_6;
+  haskellSrc = callPackage ../development/libraries/haskell/haskell-src {};
 
-  haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts {};
+  haskellSrcExts_1_15_0_1 = callPackage ../development/libraries/haskell/haskell-src-exts/1.15.0.1.nix {};
+  haskellSrcExts_1_16_0_1 = callPackage ../development/libraries/haskell/haskell-src-exts/1.16.0.1.nix {};
+  haskellSrcExts = self.haskellSrcExts_1_16_0_1;
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
@@ -1098,12 +1155,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   heredoc = callPackage ../development/libraries/haskell/heredoc {};
 
+  here = callPackage ../development/libraries/haskell/here {};
+
   hexpat = callPackage ../development/libraries/haskell/hexpat {};
 
   hex = callPackage ../development/libraries/haskell/hex {};
 
   hgal = callPackage ../development/libraries/haskell/hgal {};
 
+  higherLeveldb = callPackage ../development/libraries/haskell/higher-leveldb {};
+
   hourglass = callPackage ../development/libraries/haskell/hourglass {};
 
   hplayground = callPackage ../development/libraries/haskell/hplayground {};
@@ -1114,17 +1175,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   HTF = callPackage ../development/libraries/haskell/HTF {};
 
-  HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {};
-  HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {};
-  HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {};
-  HTTP_4000_1_2 = callPackage ../development/libraries/haskell/HTTP/4000.1.2.nix {};
-  HTTP_4000_2_1 = callPackage ../development/libraries/haskell/HTTP/4000.2.1.nix {};
-  HTTP_4000_2_2 = callPackage ../development/libraries/haskell/HTTP/4000.2.2.nix {};
-  HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {};
-  HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {};
-  HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {};
-  HTTP_4000_2_18 = callPackage ../development/libraries/haskell/HTTP/4000.2.18.nix {};
-  HTTP = self.HTTP_4000_2_18;
+  HTTP = callPackage ../development/libraries/haskell/HTTP {};
 
   httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {};
 
@@ -1144,6 +1195,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hackageDb = callPackage ../development/libraries/haskell/hackage-db {};
 
+  handaGdata = callPackage ../development/libraries/haskell/handa-gdata {};
+
   haskellForMaths = callPackage ../development/libraries/haskell/HaskellForMaths {};
 
   haxl = callPackage ../development/libraries/haskell/haxl {};
@@ -1182,6 +1235,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hi = callPackage ../development/libraries/haskell/hi {};
 
+  hindent = callPackage ../development/libraries/haskell/hindent {};
+
   hint = callPackage ../development/libraries/haskell/hint {};
 
   hit = callPackage ../development/libraries/haskell/hit {};
@@ -1202,6 +1257,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     liblapack = pkgs.liblapack.override { shared = true; };
   };
 
+  hmatrixGsl = callPackage ../development/libraries/haskell/hmatrix-gsl {};
+
   hmatrixSpecial = callPackage ../development/libraries/haskell/hmatrix-special {};
 
   hoauth = callPackage ../development/libraries/haskell/hoauth {};
@@ -1220,13 +1277,21 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hoodleTypes = callPackage ../development/libraries/haskell/hoodle-types {};
 
-  hoogle = callPackage ../development/libraries/haskell/hoogle {};
-  hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix {
-    parallel = pkgs.parallel;
-  };
+  hoogle_4_2_34 = callPackage ../development/libraries/haskell/hoogle/4.2.34.nix { haskellSrcExts = self.haskellSrcExts_1_15_0_1; };
+  hoogle_4_2_36 = callPackage ../development/libraries/haskell/hoogle/4.2.36.nix {};
+  hoogle = self.hoogle_4_2_36;
+
+  hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix {};
+
+  hoopl = callPackage ../development/libraries/haskell/hoopl {};
 
   hopenssl = callPackage ../development/libraries/haskell/hopenssl {};
 
+  hosc = callPackage ../development/libraries/haskell/hosc {
+    binary = self.binary_0_7_2_2;
+    dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_2; };
+  };
+
   hostname = callPackage ../development/libraries/haskell/hostname {};
 
   hp2anyCore = callPackage ../development/libraries/haskell/hp2any-core {};
@@ -1235,12 +1300,34 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hS3 = callPackage ../development/libraries/haskell/hS3 {};
 
+  hsbencher = callPackage ../development/libraries/haskell/hsbencher {};
+
+  hsbencherFusion = callPackage ../development/libraries/haskell/hsbencher-fusion {};
+
   hsBibutils = callPackage ../development/libraries/haskell/hs-bibutils {};
 
+  hsc3 = callPackage ../development/libraries/haskell/hsc3 {};
+
+  hsc3Dot = callPackage ../development/libraries/haskell/hsc3-dot {};
+
+  hsc3Process = callPackage ../development/libraries/haskell/hsc3-process {};
+
+  hsc3Db = callPackage ../development/libraries/haskell/hsc3-db {};
+
+  hsc3Lang = callPackage ../development/libraries/haskell/hsc3-lang {
+    hmatrixSpecial = self.hmatrixSpecial.override {
+      hmatrix = self.hmatrix.override { binary = self.binary_0_7_2_2; };
+      hmatrixGsl = self.hmatrixGsl.override {
+        hmatrix = self.hmatrix.override { binary = self.binary_0_7_2_2; };
+      };
+    };
+  };
+
+  hsc3Server = callPackage ../development/libraries/haskell/hsc3-server {};
+
   hsdns = callPackage ../development/libraries/haskell/hsdns {};
 
-  hsemail = if (pkgs.stdenv.lib.versionOlder ghc.version "7") then null else
-    callPackage ../development/libraries/haskell/hsemail {};
+  hsemail = callPackage ../development/libraries/haskell/hsemail {};
 
   hslua = callPackage ../development/libraries/haskell/hslua {
     lua = pkgs.lua5_1;
@@ -1278,12 +1365,21 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hspecMeta = callPackage ../development/libraries/haskell/hspec-meta {};
 
+  hspecCheckers = callPackage ../development/libraries/haskell/hspec-checkers {};
+
+  hspecCore = callPackage ../development/libraries/haskell/hspec-core {};
+
+  hspecContrib = callPackage ../development/libraries/haskell/hspec-contrib {};
+
+  hspecDiscover = callPackage ../development/libraries/haskell/hspec-discover {};
+
+  hspecLaws = callPackage ../development/libraries/haskell/hspec-laws {};
+
   hstatsd = callPackage ../development/libraries/haskell/hstatsd {};
 
   hsyslog = callPackage ../development/libraries/haskell/hsyslog {};
 
-  html_1_0_1_2 = callPackage ../development/libraries/haskell/html/1.0.1.2.nix {};
-  html = self.html_1_0_1_2;
+  html = callPackage ../development/libraries/haskell/html {};
 
   htmlConduit = callPackage ../development/libraries/haskell/html-conduit {};
 
@@ -1299,14 +1395,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   holyProject = callPackage ../development/libraries/haskell/holy-project {};
 
-  HUnit_1_2_0_3 = callPackage ../development/libraries/haskell/HUnit/1.2.0.3.nix {};
-  HUnit_1_2_2_1 = callPackage ../development/libraries/haskell/HUnit/1.2.2.1.nix {};
-  HUnit_1_2_2_3 = callPackage ../development/libraries/haskell/HUnit/1.2.2.3.nix {};
-  HUnit_1_2_4_2 = callPackage ../development/libraries/haskell/HUnit/1.2.4.2.nix {};
-  HUnit_1_2_4_3 = callPackage ../development/libraries/haskell/HUnit/1.2.4.3.nix {};
-  HUnit_1_2_5_1 = callPackage ../development/libraries/haskell/HUnit/1.2.5.1.nix {};
-  HUnit_1_2_5_2 = callPackage ../development/libraries/haskell/HUnit/1.2.5.2.nix {};
-  HUnit = self.HUnit_1_2_5_2;
+  HUnit = callPackage ../development/libraries/haskell/HUnit {};
 
   HUnitApprox = callPackage ../development/libraries/haskell/HUnit-approx {};
 
@@ -1338,6 +1427,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   ieee754 = callPackage ../development/libraries/haskell/ieee754 {};
 
+  ihaskell = callPackage ../development/tools/haskell/ihaskell {};
+
   imm = callPackage ../development/libraries/haskell/imm {};
 
   implicit = callPackage ../development/libraries/haskell/implicit {};
@@ -1352,6 +1443,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   interlude = callPackage ../development/libraries/haskell/interlude {};
 
+  intern = callPackage ../development/libraries/haskell/intern {};
+
   interpolate = callPackage ../development/libraries/haskell/interpolate {};
 
   interpolatedstringPerl6 = callPackage ../development/libraries/haskell/interpolatedstring-perl6 {};
@@ -1384,10 +1477,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   ivory = callPackage ../development/libraries/haskell/ivory {};
 
-  ixdopp = callPackage ../development/libraries/haskell/ixdopp {
-    preprocessorTools = self.preprocessorTools_0_1_3;
-  };
-
   ixset = callPackage ../development/libraries/haskell/ixset {};
 
   ixShapable = callPackage ../development/libraries/haskell/ix-shapable {};
@@ -1403,6 +1492,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   jpeg = callPackage ../development/libraries/haskell/jpeg {};
 
+  jsFlot = callPackage ../development/libraries/haskell/js-flot {};
+
+  jsJquery = callPackage ../development/libraries/haskell/js-jquery {};
+
   json = callPackage ../development/libraries/haskell/json {};
 
   jsonAssertions = callPackage ../development/libraries/haskell/json-assertions {};
@@ -1415,14 +1508,20 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   JuicyPixelsUtil = callPackage ../development/libraries/haskell/JuicyPixels-util {};
 
+  jwt = callPackage ../development/libraries/haskell/jwt {};
+
   kanExtensions = callPackage ../development/libraries/haskell/kan-extensions {};
 
+  kansasComet = callPackage ../development/libraries/haskell/kansas-comet {};
+
   kansasLava = callPackage ../development/libraries/haskell/kansas-lava {};
 
   keys = callPackage ../development/libraries/haskell/keys {};
 
   knob = callPackage ../development/libraries/haskell/knob {};
 
+  labeledTree = callPackage ../development/libraries/haskell/labeled-tree {};
+
   languageC = callPackage ../development/libraries/haskell/language-c {};
 
   languageCInline = callPackage ../development/libraries/haskell/language-c-inline {};
@@ -1439,7 +1538,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   languageHaskellExtract = callPackage ../development/libraries/haskell/language-haskell-extract {};
 
-  lambdabot = callPackage ../development/libraries/haskell/lambdabot {};
+  lambdabot = callPackage ../development/libraries/haskell/lambdabot {
+    haskellSrcExts = self.haskellSrcExts_1_15_0_1;
+    hoogle = self.hoogle_4_2_34.override {
+      haskellSrcExts = self.haskellSrcExts_1_15_0_1;
+    };
+  };
 
   lambdabotWrapper = callPackage ../development/libraries/haskell/lambdabot/wrapper.nix {
     mueval = self.muevalWrapper.override {
@@ -1453,6 +1557,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   largeword = callPackage ../development/libraries/haskell/largeword {};
 
+  lattices = callPackage ../development/libraries/haskell/lattices {};
+
   lazysmallcheck = callPackage ../development/libraries/haskell/lazysmallcheck {};
 
   lens = callPackage ../development/libraries/haskell/lens {};
@@ -1463,6 +1569,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   lensFamilyCore = callPackage ../development/libraries/haskell/lens-family-core {};
 
+  lensFamily = callPackage ../development/libraries/haskell/lens-family {};
+
+  lensFamilyTh = callPackage ../development/libraries/haskell/lens-family-th {};
+
   lenses = callPackage ../development/libraries/haskell/lenses {};
 
   leveldbHaskell = callPackage ../development/libraries/haskell/leveldb-haskell {};
@@ -1475,11 +1585,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   libmpd = callPackage ../development/libraries/haskell/libmpd {};
 
+  libnotify = callPackage ../development/libraries/haskell/libnotify { inherit (pkgs) libnotify; };
+
   liblastfm = callPackage ../development/libraries/haskell/liblastfm {};
 
-  libsystemdJournal = callPackage ../development/libraries/haskell/libsystemd-journal {
-    systemd-journal = pkgs.systemd;
-  };
+  libsystemdJournal = callPackage ../development/libraries/haskell/libsystemd-journal {};
 
   libxmlSax = callPackage ../development/libraries/haskell/libxml-sax {};
 
@@ -1487,12 +1597,20 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   liftedBase = callPackage ../development/libraries/haskell/lifted-base {};
 
+  linAlg = callPackage ../development/libraries/haskell/lin-alg {};
+
   linear = callPackage ../development/libraries/haskell/linear {};
 
+  linearOpenGL = callPackage ../development/libraries/haskell/linear-opengl {};
+
+  linuxInotify = callPackage ../development/libraries/haskell/linux-inotify {};
+
   List = callPackage ../development/libraries/haskell/List {};
 
   lists = callPackage ../development/libraries/haskell/lists {};
 
+  listT = callPackage ../development/libraries/haskell/list-t {};
+
   listExtras = callPackage ../development/libraries/haskell/listExtras {};
 
   listTries = callPackage ../development/libraries/haskell/list-tries {};
@@ -1501,19 +1619,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   ListZipper = callPackage ../development/libraries/haskell/ListZipper {};
 
-  # Needed for idris for now
-  llvmGeneral_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general/3.3.8.2.nix {
-    llvmConfig = pkgs.llvm_33;
-    llvmGeneralPure = self.llvmGeneralPure_3_3_8_2;
-  };
-  llvmGeneral_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general/3.4.2.2.nix {
-    llvmConfig = pkgs.llvm;
-  };
-  llvmGeneral = self.llvmGeneral_3_4_2_2;
+  llvmGeneral = callPackage ../development/libraries/haskell/llvm-general { llvmConfig = pkgs.llvmPackages_34.llvm; };
 
-  llvmGeneralPure_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.8.2.nix { };
-  llvmGeneralPure_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.2.2.nix {};
-  llvmGeneralPure = self.llvmGeneralPure_3_4_2_2;
+  llvmGeneralPure = callPackage ../development/libraries/haskell/llvm-general-pure {};
 
   lrucache = callPackage ../development/libraries/haskell/lrucache {};
 
@@ -1525,18 +1633,34 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   logging = callPackage ../development/libraries/haskell/logging {};
 
+  loggingFacade = callPackage ../development/libraries/haskell/logging-facade {};
+
+  loggingFacadeJournald = callPackage ../development/libraries/haskell/logging-facade-journald {};
+
   logict = callPackage ../development/libraries/haskell/logict {};
 
+  logsink = callPackage ../development/libraries/haskell/logsink {};
+
   loop = callPackage ../development/libraries/haskell/loop {};
 
   lushtags = callPackage ../development/libraries/haskell/lushtags {};
 
+  lzmaConduit = callPackage ../development/libraries/haskell/lzma-conduit {};
+
   lzmaEnumerator = callPackage ../development/libraries/haskell/lzma-enumerator {};
 
   maccatcher = callPackage ../development/libraries/haskell/maccatcher {};
 
   machines = callPackage ../development/libraries/haskell/machines {};
 
+  machinesDirectory = callPackage ../development/libraries/haskell/machines-directory {};
+
+  machinesIo = callPackage ../development/libraries/haskell/machines-io {};
+
+  managed = callPackage ../development/libraries/haskell/managed {};
+
+  mapSyntax = callPackage ../development/libraries/haskell/map-syntax {};
+
   markdown = callPackage ../development/libraries/haskell/markdown {};
 
   markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {};
@@ -1553,8 +1677,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   MaybeT = callPackage ../development/libraries/haskell/MaybeT {};
 
+  meep = callPackage ../development/libraries/haskell/meep {};
+
   MemoTrie = callPackage ../development/libraries/haskell/MemoTrie {};
 
+  mersenneRandom = callPackage ../development/libraries/haskell/mersenne-random {};
+
   mersenneRandomPure64 = callPackage ../development/libraries/haskell/mersenne-random-pure64 {};
 
   MFlow = callPackage ../development/libraries/haskell/MFlow {};
@@ -1568,7 +1696,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   minioperational = callPackage ../development/libraries/haskell/minioperational {};
 
   miniutter = callPackage ../development/libraries/haskell/miniutter {
-    binary = self.binary_0_7_2_1;
+    binary = self.binary_0_7_2_2;
   };
 
   mimeMail = callPackage ../development/libraries/haskell/mime-mail {};
@@ -1609,9 +1737,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   monadLogger = callPackage ../development/libraries/haskell/monad-logger {};
 
+  monadIO = callPackage ../development/libraries/haskell/monadIO {};
+
   monadPar_0_1_0_3 = callPackage ../development/libraries/haskell/monad-par/0.1.0.3.nix {};
-  monadPar_0_3_4_6 = callPackage ../development/libraries/haskell/monad-par/0.3.4.6.nix {};
-  monadPar = self.monadPar_0_3_4_6;
+  monadPar_0_3_4_7 = callPackage ../development/libraries/haskell/monad-par/0.3.4.7.nix {};
+  monadPar = self.monadPar_0_3_4_7;
 
   monadParallel = callPackage ../development/libraries/haskell/monad-parallel {};
 
@@ -1621,9 +1751,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   MonadPrompt = callPackage ../development/libraries/haskell/MonadPrompt {};
 
-  MonadRandom_0_1_13 = callPackage ../development/libraries/haskell/MonadRandom/0.1.13.nix {};
   MonadRandom_0_2_0_1 = callPackage ../development/libraries/haskell/MonadRandom/0.2.0.1.nix {};
-  MonadRandom = self.MonadRandom_0_2_0_1;
+  MonadRandom_0_3_0_1 = callPackage ../development/libraries/haskell/MonadRandom/0.3.0.1.nix {};
+  MonadRandom = self.MonadRandom_0_3_0_1;
 
   monadStm = callPackage ../development/libraries/haskell/monad-stm {};
 
@@ -1649,15 +1779,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   msgpack = callPackage ../development/libraries/haskell/msgpack {};
 
-  mtl_1_1_0_2 = callPackage ../development/libraries/haskell/mtl/1.1.0.2.nix {};
-  mtl_2_0_1_0 = callPackage ../development/libraries/haskell/mtl/2.0.1.0.nix {};
-  mtl_2_1_1 = callPackage ../development/libraries/haskell/mtl/2.1.1.nix {};
-  mtl_2_1_2 = callPackage ../development/libraries/haskell/mtl/2.1.2.nix {};
+  mtl_2_1_3_1 = callPackage ../development/libraries/haskell/mtl/2.1.3.1.nix {};
   mtl_2_2_1 = callPackage ../development/libraries/haskell/mtl/2.2.1.nix {};
   mtl = null; # tightly coupled with 'transformers' which is a core package
 
   mtlparse = callPackage ../development/libraries/haskell/mtlparse {};
 
+  mtlPrelude = callPackage ../development/libraries/haskell/mtl-prelude {};
+
   mueval = callPackage ../development/libraries/haskell/mueval {};
 
   muevalWrapper = callPackage ../development/libraries/haskell/mueval/wrapper.nix {};
@@ -1676,6 +1805,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   murmurHash = callPackage ../development/libraries/haskell/murmur-hash {};
 
+  mvc = callPackage ../development/libraries/haskell/mvc {};
+
+  mvcUpdates = callPackage ../development/libraries/haskell/mvc-updates {};
+
   mwcRandom = callPackage ../development/libraries/haskell/mwc-random {};
 
   mysql = callPackage ../development/libraries/haskell/mysql {
@@ -1703,22 +1836,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   netwire = callPackage ../development/libraries/haskell/netwire {};
 
-  network_2_2_1_4 = callPackage ../development/libraries/haskell/network/2.2.1.4.nix {};
   network_2_2_1_7 = callPackage ../development/libraries/haskell/network/2.2.1.7.nix {};
-  network_2_3_0_2 = callPackage ../development/libraries/haskell/network/2.3.0.2.nix {};
-  network_2_3_0_5 = callPackage ../development/libraries/haskell/network/2.3.0.5.nix {};
   network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {};
-  network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {};
-  network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {};
   network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {};
-  network_2_6_0_1 = callPackage ../development/libraries/haskell/network/2.6.0.1.nix {};
-  network = self.network_2_5_0_0; # the latest version break HTTP on all platforms
+  network_2_6_0_2 = callPackage ../development/libraries/haskell/network/2.6.0.2.nix {};
+  network = self.network_2_6_0_2;
 
   networkCarbon = callPackage ../development/libraries/haskell/network-carbon {};
 
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
   networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {};
 
+  networkData = callPackage ../development/libraries/haskell/network-data {};
+
   networkFancy = callPackage ../development/libraries/haskell/network-fancy {};
 
   networkInfo = callPackage ../development/libraries/haskell/network-info {};
@@ -1729,7 +1859,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   networkProtocolXmpp = callPackage ../development/libraries/haskell/network-protocol-xmpp {};
 
-  networkSimple = callPackage ../development/libraries/haskell/network-simple { };
+  networkSimple = callPackage ../development/libraries/haskell/network-simple {};
 
   networkTransport = callPackage ../development/libraries/haskell/network-transport {};
 
@@ -1741,6 +1871,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   newtype = callPackage ../development/libraries/haskell/newtype {};
 
+  nonEmpty = callPackage ../development/libraries/haskell/non-empty {};
+
   nonNegative = callPackage ../development/libraries/haskell/non-negative {};
 
   numericExtras = callPackage ../development/libraries/haskell/numeric-extras {};
@@ -1757,25 +1889,21 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   OneTuple = callPackage ../development/libraries/haskell/OneTuple {};
 
+  objective = callPackage ../development/libraries/haskell/objective {};
+
   ObjectName = callPackage ../development/libraries/haskell/ObjectName {};
 
   oeis = callPackage ../development/libraries/haskell/oeis {};
 
+  ofx = callPackage ../development/libraries/haskell/ofx {};
+
+  opaleye = callPackage ../development/libraries/haskell/opaleye {};
+
   OpenAL = callPackage ../development/libraries/haskell/OpenAL {};
 
-  OpenGL_2_2_1_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.1.1.nix {};
-  OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {};
-  OpenGL_2_2_3_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.1.nix {};
-  OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {};
-  OpenGL_2_6_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.6.0.1.nix {};
-  OpenGL_2_8_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.8.0.0.nix {};
-  OpenGL_2_9_2_0 = callPackage ../development/libraries/haskell/OpenGL/2.9.2.0.nix {};
-  OpenGL = self.OpenGL_2_9_2_0;
+  OpenGL = callPackage ../development/libraries/haskell/OpenGL {};
 
-  OpenGLRaw_1_3_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.3.0.0.nix {};
-  OpenGLRaw_1_4_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.4.0.0.nix {};
-  OpenGLRaw_1_5_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.5.0.0.nix {};
-  OpenGLRaw = self.OpenGLRaw_1_5_0_0;
+  OpenGLRaw = callPackage ../development/libraries/haskell/OpenGLRaw {};
 
   opensslStreams = callPackage ../development/libraries/haskell/openssl-streams {};
 
@@ -1785,7 +1913,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   options = callPackage ../development/libraries/haskell/options {};
 
-  optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {};
+  optparseApplicative_0_10_0 = callPackage ../development/libraries/haskell/optparse-applicative/0.10.0.nix {};
+  optparseApplicative_0_11_0_1 = callPackage ../development/libraries/haskell/optparse-applicative/0.11.0.1.nix {};
+  optparseApplicative = self.optparseApplicative_0_11_0_1;
+
+  packdeps = callPackage ../development/tools/haskell/packdeps {};
 
   pathPieces = callPackage ../development/libraries/haskell/path-pieces {};
 
@@ -1799,27 +1931,22 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   pango = callPackage ../development/libraries/haskell/pango {
     inherit (pkgs) pango;
-    libc = pkgs.stdenv.gcc.libc;
+    libc = pkgs.stdenv.cc.libc;
   };
 
-  parallel_1_1_0_1 = callPackage ../development/libraries/haskell/parallel/1.1.0.1.nix {};
-  parallel_2_2_0_1 = callPackage ../development/libraries/haskell/parallel/2.2.0.1.nix {};
-  parallel_3_1_0_1 = callPackage ../development/libraries/haskell/parallel/3.1.0.1.nix {};
-  parallel_3_2_0_2 = callPackage ../development/libraries/haskell/parallel/3.2.0.2.nix {};
   parallel_3_2_0_3 = callPackage ../development/libraries/haskell/parallel/3.2.0.3.nix {};
-  parallel_3_2_0_4 = callPackage ../development/libraries/haskell/parallel/3.2.0.4.nix {};
-  parallel = self.parallel_3_2_0_4;
+  parallel_3_2_0_5 = callPackage ../development/libraries/haskell/parallel/3.2.0.5.nix {};
+  parallel = self.parallel_3_2_0_5;
 
   parallelIo = callPackage ../development/libraries/haskell/parallel-io {};
 
   parseargs = callPackage ../development/libraries/haskell/parseargs {};
 
-  parsec_2_1_0_1 = callPackage ../development/libraries/haskell/parsec/2.1.0.1.nix {};
-  parsec_3_1_1   = callPackage ../development/libraries/haskell/parsec/3.1.1.nix {};
-  parsec_3_1_2   = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {};
-  parsec_3_1_3   = callPackage ../development/libraries/haskell/parsec/3.1.3.nix {};
-  parsec_3_1_5   = callPackage ../development/libraries/haskell/parsec/3.1.5.nix {};
-  parsec = self.parsec_3_1_5;
+  parsec = callPackage ../development/libraries/haskell/parsec {};
+
+  parsecExtra = callPackage ../development/libraries/haskell/parsec-extra {};
+
+  parsek = callPackage ../development/libraries/haskell/parsek {};
 
   parsers = callPackage ../development/libraries/haskell/parsers {};
 
@@ -1839,6 +1966,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   pcreLight = callPackage ../development/libraries/haskell/pcre-light {};
 
+  pdfToolboxContent = callPackage ../development/libraries/haskell/pdf-toolbox-content {};
+
+  pdfToolboxCore = callPackage ../development/libraries/haskell/pdf-toolbox-core {};
+
+  pdfToolboxDocument = callPackage ../development/libraries/haskell/pdf-toolbox-document {};
+
   pem = callPackage ../development/libraries/haskell/pem {};
 
   permutation = callPackage ../development/libraries/haskell/permutation {};
@@ -1881,6 +2014,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   pipesSafe = callPackage ../development/libraries/haskell/pipes-safe {};
 
+  pipesShell = callPackage ../development/libraries/haskell/pipes-shell {};
+
   pipesText = callPackage ../development/libraries/haskell/pipes-text {};
 
   pipesZlib = callPackage ../development/libraries/haskell/pipes-zlib {};
@@ -1889,6 +2024,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   plugins= callPackage ../development/libraries/haskell/plugins {};
 
+  polynomialsBernstein = callPackage ../development/libraries/haskell/polynomials-bernstein {};
+
   polyparse = callPackage ../development/libraries/haskell/polyparse {};
 
   pointed = callPackage ../development/libraries/haskell/pointed {};
@@ -1900,8 +2037,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   pop3client = callPackage ../development/libraries/haskell/pop3-client {};
 
   poppler = callPackage ../development/libraries/haskell/poppler {
-    popplerGlib = pkgs.poppler.poppler_glib;
-    libc = pkgs.stdenv.gcc.libc;
+    popplerGlib = pkgs.poppler;
+    libc = pkgs.stdenv.cc.libc;
   };
 
   posixPaths = callPackage ../development/libraries/haskell/posix-paths {};
@@ -1919,30 +2056,32 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   process_1_2_0_0 = callPackage ../development/libraries/haskell/process/1.2.0.0.nix {};
   process = null;      # core package since forever
 
+  productProfunctors = callPackage ../development/libraries/haskell/product-profunctors {};
+
   profiteur = callPackage ../development/tools/haskell/profiteur {};
 
   preludeExtras = callPackage ../development/libraries/haskell/prelude-extras {};
 
   preludeSafeenum = callPackage ../development/libraries/haskell/prelude-safeenum {};
 
-  preprocessorTools_0_1_3 = callPackage ../development/libraries/haskell/preprocessor-tools/0.1.3.nix {};
-  preprocessorTools_1_0_1 = callPackage ../development/libraries/haskell/preprocessor-tools/1.0.1.nix {};
-  preprocessorTools = self.preprocessorTools_1_0_1;
+  preprocessorTools = callPackage ../development/libraries/haskell/preprocessor-tools {};
 
   presburger = callPackage ../development/libraries/haskell/presburger {};
 
+  present = callPackage ../development/libraries/haskell/present {};
+
   prettyclass = callPackage ../development/libraries/haskell/prettyclass {};
 
   prettyShow = callPackage ../development/libraries/haskell/pretty-show {};
 
   punycode = callPackage ../development/libraries/haskell/punycode {};
 
-  pureCdb = callPackage ../development/libraries/haskell/pure-cdb { testSimple = null; };
+  pureCdb = callPackage ../development/libraries/haskell/pure-cdb {};
 
   primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {};
-  primitive_0_5_2_1 = callPackage ../development/libraries/haskell/primitive/0.5.2.1.nix {};
   primitive_0_5_3_0 = callPackage ../development/libraries/haskell/primitive/0.5.3.0.nix {};
-  primitive = self.primitive_0_5_3_0;
+  primitive_0_5_4_0 = callPackage ../development/libraries/haskell/primitive/0.5.4.0.nix {};
+  primitive = self.primitive_0_5_4_0;
 
   probability = callPackage ../development/libraries/haskell/probability {};
 
@@ -1966,6 +2105,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   PSQueue = callPackage ../development/libraries/haskell/PSQueue {};
 
+  psqueues = callPackage ../development/libraries/haskell/psqueues {};
+
   publicsuffixlist = callPackage ../development/libraries/haskell/publicsuffixlist {};
 
   pureMD5 = callPackage ../development/libraries/haskell/pureMD5 {};
@@ -1974,17 +2115,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   pwstoreFast = callPackage ../development/libraries/haskell/pwstore-fast {};
 
-  QuickCheck_1_2_0_0 = callPackage ../development/libraries/haskell/QuickCheck/1.2.0.0.nix {};
-  QuickCheck_1_2_0_1 = callPackage ../development/libraries/haskell/QuickCheck/1.2.0.1.nix {};
-  QuickCheck_2_1_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.1.1.1.nix {};
-  QuickCheck_2_4_0_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.0.1.nix {};
-  QuickCheck_2_4_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.1.1.nix {};
-  QuickCheck_2_4_2 = callPackage ../development/libraries/haskell/QuickCheck/2.4.2.nix {};
-  QuickCheck_2_5_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.5.1.1.nix {};
-  QuickCheck_2_6 = callPackage ../development/libraries/haskell/QuickCheck/2.6.nix {};
-  QuickCheck_2_7_5 = callPackage ../development/libraries/haskell/QuickCheck/2.7.5.nix {};
-  QuickCheck_2_7_6 = callPackage ../development/libraries/haskell/QuickCheck/2.7.6.nix {};
-  QuickCheck = self.QuickCheck_2_7_6;
+  QuickCheck = callPackage ../development/libraries/haskell/QuickCheck {};
 
   quickcheckAssertions = callPackage ../development/libraries/haskell/quickcheck-assertions {};
 
@@ -1994,6 +2125,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   quickcheckPropertyMonad = callPackage ../development/libraries/haskell/quickcheck-property-monad {};
 
+  quickcheckUnicode = callPackage ../development/libraries/haskell/quickcheck-unicode {};
+
   qrencode = callPackage ../development/libraries/haskell/qrencode {
     inherit (pkgs) qrencode;
   };
@@ -2002,7 +2135,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {};
   random_1_0_1_3 = callPackage ../development/libraries/haskell/random/1.0.1.3.nix {};
-  random = self.random_1_0_1_3;
+  random_1_1 = callPackage ../development/libraries/haskell/random/1.1.nix {};
+  random = self.random_1_1;
 
   randomFu = callPackage ../development/libraries/haskell/random-fu {};
 
@@ -2014,8 +2148,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   ranges = callPackage ../development/libraries/haskell/ranges {};
 
+  Rasterific = callPackage ../development/libraries/haskell/Rasterific {};
+
+  rawStringsQq = callPackage ../development/libraries/haskell/rawStringsQq {};
+
   reserve = callPackage ../development/libraries/haskell/reserve {};
 
+  reverseApply = callPackage ../development/libraries/haskell/reverse-apply {};
+
   rvar = callPackage ../development/libraries/haskell/rvar {};
 
   reactiveBanana = callPackage ../development/libraries/haskell/reactive-banana {};
@@ -2040,26 +2180,15 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   regexApplicative = callPackage ../development/libraries/haskell/regex-applicative {};
 
-  regexBase_0_72_0_2 = callPackage ../development/libraries/haskell/regex-base/0.72.0.2.nix {};
-  regexBase_0_93_1   = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix {};
-  regexBase_0_93_2   = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix {};
-  regexBase = self.regexBase_0_93_2;
+  regexBase = callPackage ../development/libraries/haskell/regex-base {};
 
-  regexCompat_0_71_0_1 = callPackage ../development/libraries/haskell/regex-compat/0.71.0.1.nix {};
-  regexCompat_0_92     = callPackage ../development/libraries/haskell/regex-compat/0.92.nix {};
-  regexCompat_0_93_1   = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix {};
-  regexCompat_0_95_1   = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix {};
-  regexCompat = self.regexCompat_0_95_1;
+  regexCompat = callPackage ../development/libraries/haskell/regex-compat {};
 
   regexCompatTdfa = callPackage ../development/libraries/haskell/regex-compat-tdfa {};
 
-  regexPosix_0_72_0_3 = callPackage ../development/libraries/haskell/regex-posix/0.72.0.3.nix {};
-  regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {};
-  regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {};
-  regexPosix_0_94_4 = callPackage ../development/libraries/haskell/regex-posix/0.94.4.nix {};
-  regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix {};
-  regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {};
-  regexPosix = self.regexPosix_0_95_2;
+  regexPcreBuiltin = callPackage ../development/libraries/haskell/regex-pcre-builtin {};
+
+  regexPosix = callPackage ../development/libraries/haskell/regex-posix {};
 
   regexTdfa = callPackage ../development/libraries/haskell/regex-tdfa {};
 
@@ -2075,6 +2204,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   regularXmlpickler = callPackage ../development/libraries/haskell/regular-xmlpickler {};
 
+  rematch = callPackage ../development/libraries/haskell/rematch {};
+
   remote = callPackage ../development/libraries/haskell/remote {};
 
   repa = callPackage ../development/libraries/haskell/repa {};
@@ -2118,10 +2249,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   robotsTxt = callPackage ../development/libraries/haskell/robots-txt {};
 
+  rope = callPackage ../development/libraries/haskell/rope {};
+
   rosezipper = callPackage ../development/libraries/haskell/rosezipper {};
 
   RSA = callPackage ../development/libraries/haskell/RSA {};
 
+  saltine = callPackage ../development/libraries/haskell/saltine {};
+
   sampleFrame = callPackage ../development/libraries/haskell/sample-frame {};
 
   safe = callPackage ../development/libraries/haskell/safe {};
@@ -2133,8 +2268,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   sbv = callPackage ../development/libraries/haskell/sbv {};
 
   scientific_0_2_0_2 = callPackage ../development/libraries/haskell/scientific/0.2.0.2.nix {};
-  scientific_0_3_3_0 = callPackage ../development/libraries/haskell/scientific/0.3.3.0.nix {};
-  scientific = self.scientific_0_3_3_0;
+  scientific_0_3_3_3 = callPackage ../development/libraries/haskell/scientific/0.3.3.3.nix {};
+  scientific = self.scientific_0_3_3_3;
 
   scotty = callPackage ../development/libraries/haskell/scotty {};
 
@@ -2142,6 +2277,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   scrypt = callPackage ../development/libraries/haskell/scrypt {};
 
+  serialport = callPackage ../development/libraries/haskell/serialport {};
+
   securemem = callPackage ../development/libraries/haskell/securemem {};
 
   sendfile = callPackage ../development/libraries/haskell/sendfile {};
@@ -2154,26 +2291,25 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   servant = callPackage ../development/libraries/haskell/servant {};
 
-  servantPool = callPackage ../development/libraries/haskell/servant-pool {};
+  servantServer = callPackage ../development/libraries/haskell/servant-server {};
 
-  servantPostgresql = callPackage ../development/libraries/haskell/servant-postgresql {};
+  servantClient = callPackage ../development/libraries/haskell/servant-client {};
 
-  servantResponse = callPackage ../development/libraries/haskell/servant-response {};
+  servantDocs = callPackage ../development/libraries/haskell/servant-docs {};
 
-  servantScotty = callPackage ../development/libraries/haskell/servant-scotty {};
+  servantJquery = callPackage ../development/libraries/haskell/servant-jquery {};
 
   setenv = callPackage ../development/libraries/haskell/setenv {};
 
   setlocale = callPackage ../development/libraries/haskell/setlocale {};
 
-
   shellish = callPackage ../development/libraries/haskell/shellish {};
 
   shellmate = callPackage ../development/libraries/haskell/shellmate {};
 
-  shelly_0_15_4_1 = callPackage ../development/libraries/haskell/shelly/0.15.4.1.nix {};
-  shelly_1_5_3_1 = callPackage ../development/libraries/haskell/shelly {};
-  shelly = self.shelly_1_5_3_1;
+  shelly = callPackage ../development/libraries/haskell/shelly {};
+
+  shellConduit = callPackage ../development/libraries/haskell/shell-conduit {};
 
   simpleConduit = callPackage ../development/libraries/haskell/simple-conduit {};
 
@@ -2185,12 +2321,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   silently = callPackage ../development/libraries/haskell/silently {};
 
+  sitemap = callPackage ../development/libraries/haskell/sitemap {};
+
   sized = callPackage ../development/libraries/haskell/sized {};
 
   sizedTypes = callPackage ../development/libraries/haskell/sized-types {};
 
   skein = callPackage ../development/libraries/haskell/skein {};
 
+  slackApi = callPackage ../development/libraries/haskell/slack-api {};
+
   smallcheck = callPackage ../development/libraries/haskell/smallcheck {};
 
   smtLib = callPackage ../development/libraries/haskell/smtLib {};
@@ -2203,6 +2343,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   snapletAcidState = callPackage ../development/libraries/haskell/snaplet-acid-state {};
 
+  snapErrorCollector = callPackage ../development/libraries/haskell/snap-error-collector {};
+
   snapletPostgresqlSimple = callPackage ../development/libraries/haskell/snaplet-postgresql-simple {};
 
   snapletRedis = callPackage ../development/libraries/haskell/snaplet-redis {};
@@ -2213,7 +2355,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   snapCore = callPackage ../development/libraries/haskell/snap/core.nix {};
 
-  snapCORS = callPackage ../development/libraries/haskell/snap-cors {};
+  snapCors = callPackage ../development/libraries/haskell/snap-cors {};
 
   snapLoaderDynamic = callPackage ../development/libraries/haskell/snap/loader-dynamic.nix {};
 
@@ -2241,6 +2383,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   srcloc = callPackage ../development/libraries/haskell/srcloc {};
 
+  statePlus = callPackage ../development/libraries/haskell/state-plus {};
+
   stateref = callPackage ../development/libraries/haskell/stateref {};
 
   statestack = callPackage ../development/libraries/haskell/statestack {};
@@ -2275,10 +2419,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {};
 
-  syb_0_3 = callPackage ../development/libraries/haskell/syb/0.3.nix {};
-  syb_0_3_3 = callPackage ../development/libraries/haskell/syb/0.3.3.nix {};
-  syb_0_3_6_1 = callPackage ../development/libraries/haskell/syb/0.3.6.1.nix {};
-  syb_0_3_7 = callPackage ../development/libraries/haskell/syb/0.3.7.nix {};
   syb_0_4_0 = callPackage ../development/libraries/haskell/syb/0.4.0.nix {};
   syb_0_4_2 = callPackage ../development/libraries/haskell/syb/0.4.2.nix {};
   syb = self.syb_0_4_2;
@@ -2301,6 +2441,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     inherit (pkgs) SDL;
   };
 
+  sdl2 = callPackage ../development/libraries/haskell/sdl2 {
+    inherit (pkgs) SDL2;
+  };
+
   SHA = callPackage ../development/libraries/haskell/SHA {};
 
   SHA2 = callPackage ../development/libraries/haskell/SHA2 {};
@@ -2330,7 +2474,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   sourcemap = callPackage ../development/libraries/haskell/sourcemap {};
 
   split_0_1_4_3 = callPackage ../development/libraries/haskell/split/0.1.4.3.nix {};
-  split_0_2_1_1 = callPackage ../development/libraries/haskell/split/0.2.1.1.nix {};
   split_0_2_2 = callPackage ../development/libraries/haskell/split/0.2.2.nix {};
   split = self.split_0_2_2;
 
@@ -2338,11 +2481,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   stbImage = callPackage ../development/libraries/haskell/stb-image {};
 
-  stm_2_1_1_2 = callPackage ../development/libraries/haskell/stm/2.1.1.2.nix {};
-  stm_2_1_2_1 = callPackage ../development/libraries/haskell/stm/2.1.2.1.nix {};
-  stm_2_2_0_1 = callPackage ../development/libraries/haskell/stm/2.2.0.1.nix {};
-  stm_2_3 = callPackage ../development/libraries/haskell/stm/2.3.nix {};
-  stm_2_4 = callPackage ../development/libraries/haskell/stm/2.4.nix {};
   stm_2_4_2 = callPackage ../development/libraries/haskell/stm/2.4.2.nix {};
   stm_2_4_3 = callPackage ../development/libraries/haskell/stm/2.4.3.nix {};
   stm = self.stm_2_4_3;
@@ -2353,6 +2491,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   stmContainers = callPackage ../development/libraries/haskell/stm-containers {};
 
+  stmDelay = callPackage ../development/libraries/haskell/stm-delay {};
+
   STMonadTrans = callPackage ../development/libraries/haskell/STMonadTrans {};
 
   stmStats = callPackage ../development/libraries/haskell/stm-stats {};
@@ -2372,13 +2512,15 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   stripe = callPackage ../development/libraries/haskell/stripe {};
 
   svgcairo = callPackage ../development/libraries/haskell/svgcairo {
-    libc = pkgs.stdenv.gcc.libc;
+    libc = pkgs.stdenv.cc.libc;
   };
 
   SVGFonts = callPackage ../development/libraries/haskell/SVGFonts {};
 
   symbol = callPackage ../development/libraries/haskell/symbol {};
 
+  systemArgv0 = callPackage ../development/libraries/haskell/system-argv0 {};
+
   systemFilepath = callPackage ../development/libraries/haskell/system-filepath {};
 
   systemFileio = callPackage ../development/libraries/haskell/system-fileio {};
@@ -2395,6 +2537,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   tagged = callPackage ../development/libraries/haskell/tagged {};
 
+  taggedTransformer = callPackage ../development/libraries/haskell/tagged-transformer {};
+
   taggy = callPackage ../development/libraries/haskell/taggy {};
 
   taggyLens = callPackage ../development/libraries/haskell/taggy-lens {};
@@ -2415,6 +2559,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   tastyHunit = callPackage ../development/libraries/haskell/tasty-hunit {};
 
+  tastyProgram = callPackage ../development/libraries/haskell/tasty-program {};
+
   tastyQuickcheck = callPackage ../development/libraries/haskell/tasty-quickcheck {};
 
   tastyRerun = callPackage ../development/libraries/haskell/tasty-rerun {};
@@ -2441,18 +2587,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   terminalSize = callPackage ../development/libraries/haskell/terminal-size {};
 
-  terminfo_0_3_2_6 = callPackage ../development/libraries/haskell/terminfo/0.3.2.6.nix { inherit (pkgs) ncurses; };
-  terminfo_0_4_0_0 = callPackage ../development/libraries/haskell/terminfo/0.4.0.0.nix { inherit (pkgs) ncurses; };
-  terminfo = self.terminfo_0_4_0_0;
+  terminfo = callPackage ../development/libraries/haskell/terminfo { inherit (pkgs) ncurses; };
 
   testFramework = callPackage ../development/libraries/haskell/test-framework {};
 
   testFrameworkHunit = callPackage ../development/libraries/haskell/test-framework-hunit {};
 
-  testFrameworkQuickcheck = callPackage ../development/libraries/haskell/test-framework-quickcheck {
-    QuickCheck = self.QuickCheck_1_2_0_1; # doesn't support version 2.x
-  };
-
   testFrameworkQuickcheck2 = callPackage ../development/libraries/haskell/test-framework-quickcheck2 {};
 
   testFrameworkSmallcheck = callPackage ../development/libraries/haskell/test-framework-smallcheck {};
@@ -2463,16 +2603,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   testingFeat = callPackage ../development/libraries/haskell/testing-feat {};
 
+  testSimple = callPackage ../development/libraries/haskell/test-simple {};
+
   texmath = callPackage ../development/libraries/haskell/texmath {};
 
-  text_0_11_0_5 = callPackage ../development/libraries/haskell/text/0.11.0.5.nix {};
-  text_0_11_0_6 = callPackage ../development/libraries/haskell/text/0.11.0.6.nix {};
-  text_0_11_1_5 = callPackage ../development/libraries/haskell/text/0.11.1.5.nix {};
-  text_0_11_2_0 = callPackage ../development/libraries/haskell/text/0.11.2.0.nix {};
   text_0_11_2_3 = callPackage ../development/libraries/haskell/text/0.11.2.3.nix {};
-  text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {};
   text_1_1_1_3 = callPackage ../development/libraries/haskell/text/1.1.1.3.nix {};
-  text = self.text_1_1_1_3;
+  text_1_2_0_3 = callPackage ../development/libraries/haskell/text/1.2.0.3.nix {};
+  text = self.text_1_2_0_3;
+
+  textBinary = callPackage ../development/libraries/haskell/text-binary {};
 
   textFormat = callPackage ../development/libraries/haskell/text-format {};
 
@@ -2480,8 +2620,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   textStreamDecode = callPackage ../development/libraries/haskell/text-stream-decode {};
 
-  tfRandom = if (pkgs.stdenv.lib.versionOlder ghc.version "7") then null else
-    callPackage ../development/libraries/haskell/tf-random {};
+  tfRandom = callPackage ../development/libraries/haskell/tf-random {};
 
   these = callPackage ../development/libraries/haskell/these {};
 
@@ -2503,6 +2642,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   threads = callPackage ../development/libraries/haskell/threads {};
 
+  threadLocalStorage = callPackage ../development/libraries/haskell/thread-local-storage {};
+
+  thReifyMany = callPackage ../development/libraries/haskell/th-reify-many {};
+
   Thrift = callPackage ../development/libraries/haskell/Thrift {};
 
   thyme = callPackage ../development/libraries/haskell/thyme {};
@@ -2510,7 +2653,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   threepennyGui = callPackage ../development/libraries/haskell/threepenny-gui {};
 
   time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {};
-  time_1_4_2 = callPackage ../development/libraries/haskell/time/1.4.2.nix {};
+  time_1_5 = callPackage ../development/libraries/haskell/time/1.5.nix {};
   time = null;                  # core package since ghc >= 6.12.x
 
   timerep = callPackage ../development/libraries/haskell/timerep {};
@@ -2525,26 +2668,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   timeCompat = callPackage ../development/libraries/haskell/time-compat {};
 
-  tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {};
-  tls_1_2_8 = callPackage ../development/libraries/haskell/tls/1.2.8.nix {};
-  tls = self.tls_1_2_8;
+  tls = callPackage ../development/libraries/haskell/tls {};
 
-  tlsExtra = callPackage ../development/libraries/haskell/tls-extra {
-    tls = self.tls_1_1_5;
-  };
+  torrent = callPackage ../development/libraries/haskell/torrent {};
 
   tostring = callPackage ../development/libraries/haskell/tostring {};
 
-  transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
   transformers_0_3_0_0 = callPackage ../development/libraries/haskell/transformers/0.3.0.0.nix {};
-  transformers_0_4_1_0 = callPackage ../development/libraries/haskell/transformers/0.4.1.0.nix {};
+  transformers_0_4_2_0 = callPackage ../development/libraries/haskell/transformers/0.4.2.0.nix {};
   transformers = null;          # core package since ghc >= 7.8.x
 
   transformersBase = callPackage ../development/libraries/haskell/transformers-base {};
 
-  transformersCompat_0_3_3 = callPackage ../development/libraries/haskell/transformers-compat/0.3.3.nix {};
-  transformersCompat_0_3_3_4 = callPackage ../development/libraries/haskell/transformers-compat/0.3.3.4.nix {};
-  transformersCompat = self.transformersCompat_0_3_3_4;
+  transformersCompat = callPackage ../development/libraries/haskell/transformers-compat {};
 
   transformersFree = callPackage ../development/libraries/haskell/transformers-free {};
 
@@ -2554,12 +2690,18 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   trifecta = callPackage ../development/libraries/haskell/trifecta {};
 
+  trivia = callPackage ../development/libraries/haskell/trivia {};
+
   tuple = callPackage ../development/libraries/haskell/tuple {};
 
   twitterConduit = callPackage ../development/libraries/haskell/twitter-conduit {};
 
   twitterTypes = callPackage ../development/libraries/haskell/twitter-types {};
 
+  twitterTypesLens = callPackage ../development/libraries/haskell/twitter-types-lens {};
+
+  typeAligned = callPackage ../development/libraries/haskell/type-aligned {};
+
   TypeCompose = callPackage ../development/libraries/haskell/TypeCompose {};
 
   typeEq = callPackage ../development/libraries/haskell/type-eq {};
@@ -2570,6 +2712,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   typeLevelNaturalNumber = callPackage ../development/libraries/haskell/type-level-natural-number {};
 
+  typographyGeometry = callPackage ../development/libraries/haskell/typography-geometry {};
+
   tz = callPackage ../development/libraries/haskell/tz {
     pkgs_tzdata = pkgs.tzdata;
   };
@@ -2580,12 +2724,18 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   unboundedDelays = callPackage ../development/libraries/haskell/unbounded-delays {};
 
+  unboundGenerics = callPackage ../development/libraries/haskell/unbound-generics {};
+
+  unificationFd = callPackage ../development/libraries/haskell/unification-fd {};
+
   unionFind = callPackage ../development/libraries/haskell/union-find {};
 
   uniplate = callPackage ../development/libraries/haskell/uniplate {};
 
   units = callPackage ../development/libraries/haskell/units {};
 
+  unique = callPackage ../development/libraries/haskell/unique {};
+
   uniqueid = callPackage ../development/libraries/haskell/uniqueid {};
 
   unixBytestring = callPackage ../development/libraries/haskell/unix-bytestring {};
@@ -2602,10 +2752,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   unlambda = callPackage ../development/libraries/haskell/unlambda {};
 
-  unorderedContainers_0_2_3_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.3.0.nix {};
-  unorderedContainers_0_2_4_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.4.0.nix {};
-  unorderedContainers_0_2_5_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.5.0.nix {};
-  unorderedContainers = self.unorderedContainers_0_2_5_0;
+  unorderedContainers = callPackage ../development/libraries/haskell/unordered-containers {};
 
   uri = callPackage ../development/libraries/haskell/uri {};
 
@@ -2653,15 +2800,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   vect = callPackage ../development/libraries/haskell/vect {};
 
-  vector_0_10_0_1  = callPackage ../development/libraries/haskell/vector/0.10.0.1.nix {};
   vector_0_10_9_3  = callPackage ../development/libraries/haskell/vector/0.10.9.3.nix {};
-  vector_0_10_11_0  = callPackage ../development/libraries/haskell/vector/0.10.11.0.nix {};
-  vector = self.vector_0_10_11_0;
+  vector_0_10_12_2  = callPackage ../development/libraries/haskell/vector/0.10.12.2.nix {};
+  vector = self.vector_0_10_12_2;
 
   vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {};
 
   vectorBinaryInstances = callPackage ../development/libraries/haskell/vector-binary-instances {};
 
+  vectorFftw = callPackage ../development/libraries/haskell/vector-fftw {};
+
   vectorInstances = callPackage ../development/libraries/haskell/vector-instances {};
 
   vectorSpace = callPackage ../development/libraries/haskell/vector-space {};
@@ -2672,15 +2820,15 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   vinyl = callPackage ../development/libraries/haskell/vinyl {};
 
+  vkAwsRoute53 = callPackage ../development/libraries/haskell/vk-aws-route53 {};
+
+  vkPosixPty = callPackage ../development/libraries/haskell/vk-posix-pty {};
+
   void = callPackage ../development/libraries/haskell/void {};
 
-  vty_4_7_5 = callPackage ../development/libraries/haskell/vty/4.7.5.nix {};
-  vty_5_2_1 = callPackage ../development/libraries/haskell/vty/5.2.1.nix {};
-  vty = self.vty_5_2_1;
+  vty = callPackage ../development/libraries/haskell/vty {};
 
-  vtyUi = callPackage ../development/libraries/haskell/vty-ui {
-    vty = self.vty_4_7_5;
-  };
+  vtyUi = callPackage ../development/libraries/haskell/vty-ui {};
 
   wai = callPackage ../development/libraries/haskell/wai {};
 
@@ -2706,6 +2854,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   warpTls = callPackage ../development/libraries/haskell/warp-tls {};
 
+  WAVE = callPackage ../development/libraries/haskell/WAVE {};
+
   wcwidth = callPackage ../development/libraries/haskell/wcwidth {};
 
   webdriver = callPackage ../development/libraries/haskell/webdriver {};
@@ -2714,14 +2864,17 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     webkit = pkgs.webkitgtk2;
   };
 
+  webkitgtk3 = callPackage ../development/libraries/haskell/webkitgtk3 {
+    webkitgtk = pkgs.webkitgtk24x;
+  };
+
   webRoutes = callPackage ../development/libraries/haskell/web-routes {};
 
   webRoutesBoomerang = callPackage ../development/libraries/haskell/web-routes-boomerang {};
 
-  websockets = callPackage ../development/libraries/haskell/websockets {
-    testFrameworkQuickcheck2 = self.testFrameworkQuickcheck2.override { QuickCheck = self.QuickCheck_2_6; };
-    QuickCheck = self.QuickCheck_2_6;
-  };
+  webRoutesHappstack = callPackage ../development/libraries/haskell/web-routes-happstack {};
+
+  websockets = callPackage ../development/libraries/haskell/websockets {};
 
   websocketsSnap = callPackage ../development/libraries/haskell/websockets-snap {};
 
@@ -2739,6 +2892,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   word8 = callPackage ../development/libraries/haskell/word8 {};
 
+  wordexp = callPackage ../development/libraries/haskell/wordexp {};
+
   Workflow = callPackage ../development/libraries/haskell/Workflow {};
 
   wreq = callPackage ../development/libraries/haskell/wreq {};
@@ -2771,11 +2926,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   xdot = callPackage ../development/libraries/haskell/xdot {};
 
-  xhtml_3000_2_0_1 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.1.nix {};
-  xhtml_3000_2_0_4 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.4.nix {};
-  xhtml_3000_2_0_5 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.5.nix {};
-  xhtml_3000_2_1 = callPackage ../development/libraries/haskell/xhtml/3000.2.1.nix {};
-  xhtml = self.xhtml_3000_2_1;
+  xhtml = callPackage ../development/libraries/haskell/xhtml {};
 
   xml = callPackage ../development/libraries/haskell/xml {};
 
@@ -2831,6 +2982,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   yesodJson = callPackage ../development/libraries/haskell/yesod-json {};
 
+  yesodMarkdown = callPackage ../development/libraries/haskell/yesod-markdown {};
+
+  yesodNewsfeed = callPackage ../development/libraries/haskell/yesod-newsfeed {};
+
+  yesodPagination = callPackage ../development/libraries/haskell/yesod-pagination {};
+
   yesodPersistent = callPackage ../development/libraries/haskell/yesod-persistent {};
 
   yesodRoutes = callPackage ../development/libraries/haskell/yesod-routes {};
@@ -2848,20 +3005,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   zeromq4Haskell = callPackage ../development/libraries/haskell/zeromq4-haskell { zeromq = pkgs.zeromq4; };
 
   zipArchive_0_2_2_1 = callPackage ../development/libraries/haskell/zip-archive/0.2.2.1.nix {};
-  zipArchive_0_2_3_4 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.4.nix {};
-  zipArchive = self.zipArchive_0_2_3_4;
+  zipArchive_0_2_3_5 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.5.nix {};
+  zipArchive = self.zipArchive_0_2_3_5;
 
   zipper = callPackage ../development/libraries/haskell/zipper {};
 
   zippers = callPackage ../development/libraries/haskell/zippers {};
 
-  zlib_0_5_0_0 = callPackage ../development/libraries/haskell/zlib/0.5.0.0.nix { inherit (pkgs) zlib; };
-  zlib_0_5_2_0 = callPackage ../development/libraries/haskell/zlib/0.5.2.0.nix { inherit (pkgs) zlib; };
-  zlib_0_5_3_1 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix { inherit (pkgs) zlib; };
-  zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix { inherit (pkgs) zlib; };
-  zlib_0_5_4_0 = callPackage ../development/libraries/haskell/zlib/0.5.4.0.nix { inherit (pkgs) zlib; };
-  zlib_0_5_4_1 = callPackage ../development/libraries/haskell/zlib/0.5.4.1.nix { inherit (pkgs) zlib;};
-  zlib = self.zlib_0_5_4_1;
+  zlib = callPackage ../development/libraries/haskell/zlib { inherit (pkgs) zlib;};
 
   zlibBindings = callPackage ../development/libraries/haskell/zlib-bindings {};
 
@@ -2872,9 +3023,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   # Compilers.
 
   Agda = callPackage ../development/compilers/agda {};
-  AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {};
-
-  uhc = callPackage ../development/compilers/uhc {};
 
   epic = callPackage ../development/compilers/epic {};
 
@@ -2882,13 +3030,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   # Development tools.
 
-  alex_2_3_1 = callPackage ../development/tools/parsing/alex/2.3.1.nix {};
-  alex_2_3_2 = callPackage ../development/tools/parsing/alex/2.3.2.nix {};
-  alex_2_3_3 = callPackage ../development/tools/parsing/alex/2.3.3.nix {};
   alex_2_3_5 = callPackage ../development/tools/parsing/alex/2.3.5.nix {};
-  alex_3_0_1 = callPackage ../development/tools/parsing/alex/3.0.1.nix {};
-  alex_3_0_2 = callPackage ../development/tools/parsing/alex/3.0.2.nix {};
-  alex_3_0_5 = callPackage ../development/tools/parsing/alex/3.0.5.nix {};
   alex_3_1_3 = callPackage ../development/tools/parsing/alex/3.1.3.nix {};
   alex = self.alex_3_1_3;
 
@@ -2900,29 +3042,15 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   DrIFT = callPackage ../development/tools/haskell/DrIFT {};
 
-  haddock_2_4_2 = callPackage ../development/tools/documentation/haddock/2.4.2.nix { Cabal = null; };
-  haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix { alex = self.alex_2_3_5; };
-  haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {};
-  haddock_2_9_4 = callPackage ../development/tools/documentation/haddock/2.9.4.nix {};
-  haddock_2_10_0 = callPackage ../development/tools/documentation/haddock/2.10.0.nix {};
-  haddock_2_11_0 = callPackage ../development/tools/documentation/haddock/2.11.0.nix {};
-  haddock_2_12_0 = callPackage ../development/tools/documentation/haddock/2.12.0.nix {};
-  haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {};
-  haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {};
-  haddock_2_14_3 = callPackage ../development/tools/documentation/haddock/2.14.3.nix {};
-  haddock = self.haddock_2_14_3;
+  haddock = callPackage ../development/tools/documentation/haddock {};
+
+  haddockApi = callPackage ../development/libraries/haskell/haddock-api {};
 
   haddockLibrary = callPackage ../development/libraries/haskell/haddock-library {};
 
   HandsomeSoup = callPackage ../development/libraries/haskell/HandsomeSoup {};
 
-  happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {};
-  happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {};
-  happy_1_18_6 = callPackage ../development/tools/parsing/happy/1.18.6.nix {};
-  happy_1_18_9 = callPackage ../development/tools/parsing/happy/1.18.9.nix {};
-  happy_1_18_10 = callPackage ../development/tools/parsing/happy/1.18.10.nix {};
-  happy_1_19_4 = callPackage ../development/tools/parsing/happy/1.19.4.nix {};
-  happy = self.happy_1_19_4;
+  happy = callPackage ../development/tools/parsing/happy {};
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
@@ -2938,6 +3066,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hp2anyManager = callPackage ../development/tools/haskell/hp2any-manager {};
 
+  hsb2hs = callPackage ../development/tools/haskell/hsb2hs {};
+
   hscolour = callPackage ../development/tools/haskell/hscolour {};
   hscolourBootstrap = self.hscolour.override {
     cabal = self.cabal.override {
@@ -2945,11 +3075,11 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
         hyperlinkSource = false;
         configureFlags = super.configureFlags or "" +
           pkgs.lib.optionalString (pkgs.stdenv.lib.versionOlder "6.12" ghc.version) " --ghc-option=-rtsopts";
-      };
+      } // pkgs.stdenv.lib.optionalAttrs (pkgs.stdenv.lib.versionOlder "7.9" ghc.version) { noHaddock = true; };
     };
   };
 
-  hscope = callPackage ../development/tools/haskell/hscope { testSimple = null; };
+  hscope = callPackage ../development/tools/haskell/hscope { };
 
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
@@ -2957,7 +3087,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   pointful = callPackage ../development/tools/haskell/pointful {};
 
-  ShellCheck = callPackage ../development/tools/misc/ShellCheck { };
+  ShellCheck = callPackage ../development/tools/misc/ShellCheck {};
 
   SourceGraph = callPackage ../development/tools/haskell/SourceGraph {};
 
@@ -2973,24 +3103,21 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   arbtt = callPackage ../applications/misc/arbtt {};
 
-  idris_plain = callPackage ../development/compilers/idris {
-    llvmGeneral = self.llvmGeneral_3_3_8_2;
-    llvmGeneralPure = self.llvmGeneralPure_3_3_8_2;
-  };
+  clashGhc = callPackage ../development/compilers/clash-ghc {};
+
+  idris_plain = callPackage ../development/compilers/idris {};
 
   idris = callPackage ../development/compilers/idris/wrapper.nix {};
 
-  nc-indicators = callPackage ../applications/misc/nc-indicators {};
+  ncIndicators = callPackage ../applications/misc/nc-indicators {};
 
   sloane = callPackage ../applications/science/math/sloane {};
 
   taffybar = callPackage ../applications/misc/taffybar {};
 
-  yi = callPackage ../applications/editors/yi/yi.nix {
-    vty = self.vty_4_7_5;
-  };
+  validation = callPackage ../development/libraries/haskell/validation {};
 
-  yiContrib = callPackage ../applications/editors/yi/yi-contrib.nix {};
+  vimus = callPackage ../applications/audio/vimus {};
 
   xlsx = callPackage ../development/libraries/haskell/xlsx {};
 
@@ -3002,6 +3129,34 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   xmonadExtras = callPackage ../applications/window-managers/xmonad/xmonad-extras.nix {};
 
+  xmonadScreenshot = callPackage ../development/libraries/haskell/xmonad-screenshot {};
+
+  # Yi packages
+
+  dynamicState = callPackage ../development/libraries/haskell/dynamic-state {};
+
+  ooPrototypes = callPackage ../development/libraries/haskell/oo-prototypes {};
+
+  wordTrie = callPackage ../development/libraries/haskell/word-trie {};
+
+  # This is an unwrapped version of Yi, it will not behave well (no
+  # M-x or reload). Use ‘yiCustom’ instead.
+  yi = callPackage ../applications/editors/yi/yi.nix { };
+
+  yiCustom = callPackage ../applications/editors/yi/yi-custom.nix {
+    extraPackages = pkgs: [];
+  };
+
+  yiFuzzyOpen = callPackage ../development/libraries/haskell/yi-fuzzy-open {};
+
+  yiMonokai = callPackage ../development/libraries/haskell/yi-monokai {};
+
+  yiLanguage = callPackage ../development/libraries/haskell/yi-language {};
+
+  yiRope = callPackage ../development/libraries/haskell/yi-rope {};
+
+  yiSnippet = callPackage ../development/libraries/haskell/yi-snippet {};
+
   # Tools.
 
   cabalDb = callPackage ../development/tools/haskell/cabal-db {};
@@ -3009,34 +3164,42 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
 
   # Build a cabal package given a local .cabal file
-  buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let
-    cabalExpr = pkgs.stdenv.mkDerivation ({
+  buildLocalCabalWithArgs = { src
+                            , name
+                            , args ? {}
+                            , cabalDrvArgs ? { jailbreak = true; }
+                            # for import-from-derivation, want to use current system
+                            , nativePkgs ? import pkgs.path {}
+                            }: let
+    cabalExpr = nativePkgs.stdenv.mkDerivation ({
       name = "${name}.nix";
 
       buildCommand = ''
-      ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \
-          | grep -v FILTERME | sed \
-            -e 's/licenses.proprietary/licenses.unfree/' \
-            -e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \
-            -e 's/cabal.mkDerivation (self: {/cabal.mkDerivation (self: cabalDrvArgs \/\/ {/' \
-            -e 's/buildDepends = \[/buildDepends = \[ cabalInstall/' \
-            -e 's/pname = \([^\n]*\)/pname = \1\n  inherit src;\n/'  > $out
+      export HOME="$TMPDIR"
+      ${nativePkgs.haskellPackages.cabal2nix}/bin/cabal2nix ${src} \
+          | sed -e 's/licenses.proprietary/licenses.unfree/' > $out
       '';
 
-    } // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
+    } // pkgs.lib.optionalAttrs nativePkgs.stdenv.isLinux {
       LANG = "en_US.UTF-8";
-      LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
+      LOCALE_ARCHIVE = "${nativePkgs.glibcLocales}/lib/locale/locale-archive";
     });
-  in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args);
+  in callPackage cabalExpr ({
+    cabal = self.cabal.override {
+      extension = eself: esuper: {
+        buildDepends = [ self.cabalInstall ] ++ esuper.buildDepends;
+      } // cabalDrvArgs;
+    };
+  } // args);
 
   buildLocalCabal = src: name: self.buildLocalCabalWithArgs { inherit src name; };
 
   cabalDelete = callPackage ../development/tools/haskell/cabal-delete {};
 
   cabalBounds = callPackage ../development/tools/haskell/cabal-bounds {
-    Cabal = self.Cabal_1_20_0_2;
+    Cabal = self.Cabal_1_20_0_3;
     cabalLenses = self.cabalLenses.override {
-      Cabal = self.Cabal_1_20_0_2;
+      Cabal = self.Cabal_1_20_0_3;
     };
   };
 
@@ -3046,21 +3209,26 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {};
 
-  cabalInstall_0_6_2  = callPackage ../tools/package-management/cabal-install/0.6.2.nix {};
-  cabalInstall_0_8_0  = callPackage ../tools/package-management/cabal-install/0.8.0.nix {};
-  cabalInstall_0_8_2  = callPackage ../tools/package-management/cabal-install/0.8.2.nix {};
-  cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {};
-  cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {};
+  cabalg = callPackage ../development/libraries/haskell/cabalg {};
+
   cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix { Cabal = self.Cabal_1_16_0_3; };
   cabalInstall_1_18_0_3 = callPackage ../tools/package-management/cabal-install/1.18.0.3.nix { Cabal = self.Cabal_1_18_1_3; };
-  cabalInstall_1_20_0_3 = callPackage ../tools/package-management/cabal-install/1.20.0.3.nix { Cabal = self.Cabal_1_20_0_2; };
-  cabalInstall = self.cabalInstall_1_20_0_3;
+  cabalInstall_1_20_0_6 = callPackage ../tools/package-management/cabal-install/1.20.0.6.nix { Cabal = self.Cabal_1_20_0_3; };
+  cabalInstall_1_22_0_0 = callPackage ../tools/package-management/cabal-install/1.22.0.0.nix { Cabal = self.Cabal_1_22_0_0; };
+  cabalInstall = self.cabalInstall_1_22_0_0;
 
   codex = callPackage ../development/tools/haskell/codex {};
 
   commandQq = callPackage ../development/libraries/haskell/command-qq {};
 
-  gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {};
+  escoger = callPackage ../tools/misc/escoger { };
+
+  gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {
+    cabal = self.cabal.override { extension = self : super : { enableSharedExecutables = false; }; };
+    dbus = if pkgs.stdenv.isLinux then self.dbus else null;
+    fdoNotify = if pkgs.stdenv.isLinux then self.fdoNotify else null;
+    hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
+  };
 
   githubBackup = callPackage ../applications/version-management/git-and-tools/github-backup {};
 
@@ -3068,10 +3236,16 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   jailbreakCabal = callPackage ../development/tools/haskell/jailbreak-cabal {};
 
+  journalMailer = callPackage ../tools/system/journal-mailer {};
+
   keter = callPackage ../development/tools/haskell/keter {};
 
   lhs2tex = callPackage ../tools/typesetting/lhs2tex {};
 
+  liquidFixpoint = callPackage ../development/tools/haskell/liquid-fixpoint {};
+
+  liquidhaskell = callPackage ../development/tools/haskell/liquidhaskell {};
+
   packunused = callPackage ../development/tools/haskell/packunused {};
 
   rehoo = callPackage ../development/tools/haskell/rehoo {};
@@ -3088,7 +3262,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   LambdaHack = callPackage ../games/LambdaHack {
     vectorBinaryInstances = self.vectorBinaryInstances.override {
-      binary = self.binary_0_7_2_1; # the miniutter build input requires this version
+      binary = self.binary_0_7_2_2; # the miniutter build input requires this version
     };
   };
 
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
new file mode 100644
index 00000000000..766ff90d5b7
--- /dev/null
+++ b/pkgs/top-level/lua-packages.nix
@@ -0,0 +1,398 @@
+/* This file defines the composition for Lua packages.  It has
+   been factored out of all-packages.nix because there are many of
+   them.  Also, because most Nix expressions for Lua packages are
+   trivial, most are actually defined here.  I.e. there's no function
+   for each package in a separate file: the call to the function would
+   be almost as must code as the function itself. */
+
+{ fetchurl, stdenv, lua, callPackage, unzip, zziplib, pkgconfig, libtool
+, pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat, cairo
+, perl, gtk, python, glib, gobjectIntrospection, libevent, zlib
+}:
+
+let
+  isLua51 = lua.luaversion == "5.1";
+  isLua52 = lua.luaversion == "5.2";
+  self = _self;
+  _self = with self; {
+  inherit lua;
+  inherit (stdenv.lib) maintainers;
+
+  #define build lua package function
+  buildLuaPackage = callPackage ../development/lua-modules/generic lua;
+
+  luarocks = callPackage ../development/tools/misc/luarocks {
+    inherit lua;
+  };
+
+  luabitop = buildLuaPackage rec {
+    version = "1.0.2";
+    name = "bitop-${version}";
+    src = fetchurl {
+      url = "http://bitop.luajit.org/download/LuaBitOp-${version}.tar.gz";
+      sha256 = "16fffbrgfcw40kskh2bn9q7m3gajffwd2f35rafynlnd7llwj1qj";
+    };
+
+    preBuild = ''
+      makeFlagsArray=(
+        INCLUDES="-I${lua}/include"
+        LUA="${lua}/bin/lua");
+    '';
+
+    installPhase = ''
+      mkdir -p $out/lib/lua/${lua.luaversion}
+      install -p bit.so $out/lib/lua/${lua.luaversion}
+    '';
+
+    meta = {
+      homepage = "http://bitop.luajit.org";
+      maintainers = with maintainers; [ flosse ];
+    };
+  };
+
+  luaevent = buildLuaPackage rec {
+    version = "0.4.3";
+    name = "luaevent-${version}";
+    disabled = isLua52;
+
+    src = fetchurl {
+      url = "https://github.com/harningt/luaevent/archive/v${version}.tar.gz";
+      sha256 = "1ifr949j9xaas0jk0nxpilb44dqvk4c5h4m7ccksz5da3iksfgls";
+    };
+
+    preBuild = ''
+      makeFlagsArray=(
+        INSTALL_DIR_LUA="$out/share/lua/${lua.luaversion}"
+        INSTALL_DIR_BIN="$out/lib/lua/${lua.luaversion}"
+        LUA_INC_DIR="${lua}/include"
+      );
+    '';
+
+    buildInputs = [ libevent ];
+
+    propagatedBuildInputs = [ luasocket ];
+
+    meta = with stdenv.lib; {
+      homepage = http://luaforge.net/projects/luaevent/;
+      description = "Binding of libevent to Lua.";
+      license = licenses.mit;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
+  luaexpat = buildLuaPackage rec {
+    version = "1.3.0";
+    name = "expat-${version}";
+    isLibrary = true;
+    src = fetchurl {
+      url = "https://matthewwild.co.uk/projects/luaexpat/luaexpat-${version}.tar.gz";
+      sha256 = "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h";
+    };
+
+    buildInputs = [ expat ];
+
+    preBuild = ''
+      makeFlagsArray=(
+        LUA_LDIR="$out/share/lua/${lua.luaversion}"
+        LUA_INC="-I${lua}/include" LUA_CDIR="$out/lib/lua/${lua.luaversion}"
+        EXPAT_INC="-I${expat}/include");
+    '';
+
+    meta = {
+      homepage = "http://matthewwild.co.uk/projects/luaexpat";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      maintainers = [ stdenv.lib.maintainers.flosse ];
+    };
+  };
+
+  luafilesystem = buildLuaPackage rec {
+    name = "filesystem-1.6.2";
+    src = fetchurl {
+      url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_2.tar.gz";
+      sha256 = "1n8qdwa20ypbrny99vhkmx8q04zd2jjycdb5196xdhgvqzk10abz";
+    };
+    meta = {
+      homepage = "https://github.com/keplerproject/luafilesystem";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      maintainers = with maintainers; [ flosse ];
+    };
+  };
+
+  lpty = buildLuaPackage rec {
+    name = "lpty-${version}";
+    version = "1.1.1";
+    src = fetchurl {
+      url = "http://www.tset.de/downloads/lpty-1.1-1.tar.gz";
+      sha256 = "0d4ffda654dcf37dd8c99bcd100d0ee0dde7782cbd0ba9200ef8711c5cab02f1";
+    };
+    meta = {
+      homepage = "http://www.tset.de/lpty";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+    preBuild = ''
+      makeFlagsArray=(
+        INST_LIBDIR="$out/lib/lua/${lua.luaversion}"
+        INST_LUADIR="$out/share/lua/${lua.luaversion}"
+        LUA_BINDIR="${lua}/bin"
+        LUA_INCDIR="-I${lua}/include"
+        LUA_LIBDIR="-L${lua}/lib"
+        );
+    '';
+  };
+
+  luasec = buildLuaPackage rec {
+    version = "0.5";
+    name = "sec-${version}";
+    src = fetchurl {
+      url = "https://github.com/brunoos/luasec/archive/luasec-${version}.tar.gz";
+      sha256 = "08rm12cr1gjdnbv2jpk7xykby9l292qmz2v0dfdlgb4jfj7mk034";
+    };
+
+    buildInputs = [ openssl ];
+
+    preBuild = ''
+      makeFlagsArray=(
+        linux
+        LUAPATH="$out/lib/lua/${lua.luaversion}"
+        LUACPATH="$out/lib/lua/${lua.luaversion}"
+        INC_PATH="-I${lua}/include"
+        LIB_PATH="-L$out/lib");
+    '';
+
+    meta = {
+      homepage = "https://github.com/brunoos/luasec";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      maintainers = [ stdenv.lib.maintainers.flosse ];
+    };
+  };
+
+  luasocket = buildLuaPackage rec {
+    name = "socket-${version}";
+    version = "2.0.2";
+    src = fetchurl {
+      url = "http://files.luaforge.net/releases/luasocket/luasocket/luasocket-${version}/luasocket-${version}.tar.gz";
+      sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
+    };
+    disabled = isLua52;
+    patchPhase = ''
+      sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua.luaversion}," \
+          -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua.luaversion}," \
+          -i config
+    '';
+    meta = {
+      homepage = "http://w3.impa.br/~diego/software/luasocket/";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      maintainers = with maintainers; [ mornfall ];
+    };
+  };
+
+  luazip = buildLuaPackage rec {
+    name = "zip-${version}";
+    version = "1.2.3";
+    src = fetchurl {
+      url = "https://github.com/luaforge/luazip/archive/0b8f5c958e170b1b49f05bc267bc0351ad4dfc44.zip";
+      sha256 = "beb9260d606fdd5304aa958d95f0d3c20be7ca0a2cff44e7b75281c138a76a50";
+    };
+    buildInputs = [ unzip zziplib ];
+    patches = [ ../development/lua-modules/zip.patch ];
+    # does not currently work under lua 5.2
+    disabled = isLua52;
+    meta = {
+      homepage = "https://github.com/luaforge/luazip";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  luazlib = buildLuaPackage rec {
+    name = "zlib-${version}";
+    version = "0.4";
+
+    src = fetchurl {
+      url = "https://github.com/brimworks/lua-zlib/archive/v${version}.tar.gz";
+      sha256 = "1l32nwyh8b4vicxvlhbv9qhkhklbhvjfn8wd72bjk7ac9kz172rd";
+    };
+
+    buildInputs = [ zlib ];
+
+    preBuild = ''
+      makeFlagsArray=(
+        linux
+        LUAPATH="$out/share/lua/${lua.luaversion}"
+        LUACPATH="$out/lib/lua/${lua.luaversion}"
+        INCDIR="-I${lua}/include"
+        LIBDIR="-L$out/lib");
+    '';
+
+    preInstall = "mkdir -p $out/lib/lua/${lua.luaversion}";
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/brimworks/lua-zlib;
+      hydraPlatforms = platforms.linux;
+      license = licenses.mit;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+      
+
+  luastdlib = buildLuaPackage {
+    name = "stdlib";
+    src = fetchurl {
+      url = "https://github.com/lua-stdlib/lua-stdlib/archive/release.zip";
+      sha256 = "1v3158g5050sdqfrqi6d2bjh0lmi1v01a6m2nwqpr527a2dqcf0c";
+    };
+    buildInputs = [ unzip ];
+    meta = {
+      homepage = "https://github.com/lua-stdlib/lua-stdlib/";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  lrexlib = buildLuaPackage rec {
+    name = "lrexlib-${version}";
+    version = "2.7.2";
+    src = fetchurl {
+      url = "https://github.com/rrthomas/lrexlib/archive/150c251be57c4e569da0f48bf6b01fbca97179fe.zip";
+      sha256 = "0i5brqbykc2nalp8snlq1r0wmf8y2wqp6drzr2xmq5phvj8913xh";
+    };
+    buildInputs = [ unzip luastdlib pcre luarocks oniguruma gnulib tre glibc ];
+
+    buildPhase = let
+      luaVariable = "LUA_PATH=${luastdlib}/share/lua/${lua.luaversion}/?.lua";
+
+      pcreVariable = "PCRE_DIR=${pcre}";
+      onigVariable = "ONIG_DIR=${oniguruma}";
+      gnuVariable = "GNU_INCDIR=${gnulib}/lib";
+      treVariable = "TRE_DIR=${tre}";
+      posixVariable = "POSIX_DIR=${glibc}";
+    in ''
+      sed -e 's@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i;@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i ${pcreVariable} ${onigVariable} ${gnuVariable} ${treVariable} ${posixVariable};@' \
+          -i Makefile
+      ${luaVariable} make
+    '';
+
+    installPhase = ''
+      mkdir -pv $out;
+      cp -r luarocks/lib $out;
+    '';
+
+    meta = {
+      homepage = "https://github.com/lua-stdlib/lua-stdlib/";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  luasqlite3 = buildLuaPackage rec {
+    name = "sqlite3-${version}";
+    version = "2.1.1";
+    src = fetchurl {
+      url = "https://github.com/LuaDist/luasql-sqlite3/archive/2acdb6cb256e63e5b5a0ddd72c4639d8c0feb52d.zip";
+      sha256 = "1yy1n1l1801j48rlf3bhxpxqfgx46ixrs8jxhhbf7x1hn1j4axlv";
+    };
+
+    buildInputs = [ unzip sqlite ];
+
+    patches = [ ../development/lua-modules/luasql.patch ];
+
+    meta = {
+      homepage = "https://github.com/LuaDist/luasql-sqlite3";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  lpeg = buildLuaPackage rec {
+    name = "lpeg-${version}";
+    version = "0.12";
+    src = fetchurl {
+      url = "http://www.inf.puc-rio.br/~roberto/lpeg/${name}.tar.gz";
+      sha256 = "0xlbfw1w7l65a5qhnx5sfw327hkq1zcj8xmg4glfw6fj9ha4b9gg";
+    };
+    buildInputs = [ unzip ];
+
+    preBuild = ''
+      makeFlagsArray=(CC=$CC);
+    '';
+
+    buildFlags = if stdenv.isDarwin then "macosx" else "";
+
+    installPhase = ''
+      mkdir -p $out/lib/lua/${lua.luaversion}
+      install -p lpeg.so $out/lib/lua/${lua.luaversion}
+      install -p re.lua $out/lib/lua/${lua.luaversion}
+    '';
+
+    meta = {
+      homepage = "http://www.inf.puc-rio.br/~roberto/lpeg/";
+      hydraPlatforms = stdenv.lib.platforms.all;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  cjson = buildLuaPackage rec {
+    name = "cjson-${version}";
+    version = "2.1.0";
+    src = fetchurl {
+      url = "http://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz";
+      sha256 = "0y67yqlsivbhshg8ma535llz90r4zag9xqza5jx0q7lkap6nkg2i";
+    };
+    preBuild = ''
+      sed -i "s|/usr/local|$out|" Makefile
+    '';
+    makeFlags = [ "LUA_VERSION=${lua.luaversion}" ];
+    postInstall = ''
+      rm -rf $out/share/lua/${lua.luaversion}/cjson/tests
+    '';
+    installTargets = "install install-extra";
+    meta = {
+      description = "Lua C extension module for JSON support";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  luaMessagePack = buildLuaPackage rec {
+    name = "lua-MessagePack-${version}";
+    version = "0.3.1";
+    src = fetchurl {
+      url = "https://github.com/fperrad/lua-MessagePack/archive/${version}.tar.gz";
+      sha256 = "185mrd6bagwwm94jxzanq01l72ama3x4hf160a7yw7hgim2y5h9c";
+    };
+    buildInputs = [ unzip ];
+
+    meta = {
+      homepage = "http://fperrad.github.io/lua-MessagePack/index.html";
+      hydraPlatforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  lgi = stdenv.mkDerivation rec {
+    name = "lgi-${version}";
+    version = "0.7.2";
+
+    src = fetchurl {
+      url    = "https://github.com/pavouk/lgi/archive/${version}.tar.gz";
+      sha256 = "0ihl7gg77b042vsfh0k7l53b7sl3d7mmrq8ns5lrsf71dzrr19bn";
+    };
+
+    meta = with stdenv.lib; {
+      description = "GObject-introspection based dynamic Lua binding to GObject based libraries";
+      homepage    = https://github.com/pavouk/lgi;
+      license     = "custom";
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    buildInputs = [ glib gobjectIntrospection lua pkgconfig ];
+
+    makeFlags = [ "LUA_VERSION=${lua.luaversion}" ];
+
+    preBuild = ''
+      sed -i "s|/usr/local|$out|" lgi/Makefile
+    '';
+  };
+
+}; in self
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index 356368d137d..c507acf8b1d 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -50,7 +50,7 @@ releaseTools.sourceTarball rec {
     fi
 
     # Check that all-packages.nix evaluates on a number of platforms.
-    for platform in i686-linux x86_64-linux x86_64-darwin i686-freebsd x86_64-freebsd; do
+    for platform in i686-linux x86_64-linux x86_64-darwin; do
         header "checking pkgs/top-level/all-packages.nix on $platform"
         NIXPKGS_ALLOW_BROKEN=1 nix-env -f pkgs/top-level/all-packages.nix \
             --show-trace --argstr system "$platform" \
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index fb12a10e5df..dd0614b3145 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1,5346 +1,12372 @@
 { self, fetchurl, fetchgit ? null, lib }:
 
 {
+  by-spec."7f"."*" =
+    self.by-version."7f"."1.1.3";
+  by-version."7f"."1.1.3" = self.buildNodePackage {
+    name = "7f-1.1.3";
+    version = "1.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/7f/-/7f-1.1.3.tgz";
+      name = "7f-1.1.3.tgz";
+      sha1 = "88d2cb194fceeb96db7b24bc710b283451e7a851";
+    };
+    deps = {
+      "bits-0.1.1" = self.by-version."bits"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "7f" = self.by-version."7f"."1.1.3";
   by-spec."Base64"."~0.2.0" =
     self.by-version."Base64"."0.2.1";
-  by-version."Base64"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-Base64-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz";
-        name = "Base64-0.2.1.tgz";
-        sha1 = "ba3a4230708e186705065e66babdd4c35cf60028";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."Base64" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "Base64" ];
+  by-version."Base64"."0.2.1" = self.buildNodePackage {
+    name = "Base64-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz";
+      name = "Base64-0.2.1.tgz";
+      sha1 = "ba3a4230708e186705065e66babdd4c35cf60028";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."CSSselect"."~0.4.0" =
+    self.by-version."CSSselect"."0.4.1";
+  by-version."CSSselect"."0.4.1" = self.buildNodePackage {
+    name = "CSSselect-0.4.1";
+    version = "0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
+      name = "CSSselect-0.4.1.tgz";
+      sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
+    };
+    deps = {
+      "CSSwhat-0.4.7" = self.by-version."CSSwhat"."0.4.7";
+      "domutils-1.4.3" = self.by-version."domutils"."1.4.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."CSSwhat"."0.4" =
+    self.by-version."CSSwhat"."0.4.7";
+  by-version."CSSwhat"."0.4.7" = self.buildNodePackage {
+    name = "CSSwhat-0.4.7";
+    version = "0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
+      name = "CSSwhat-0.4.7.tgz";
+      sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."JSONPath"."^0.10.0" =
+    self.by-version."JSONPath"."0.10.0";
+  by-version."JSONPath"."0.10.0" = self.buildNodePackage {
+    name = "JSONPath-0.10.0";
+    version = "0.10.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/JSONPath/-/JSONPath-0.10.0.tgz";
+      name = "JSONPath-0.10.0.tgz";
+      sha1 = "44959bdd94e3641858e7f2147d93c732f3505b1c";
+    };
+    deps = {
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."JSONStream"."~0.10.0" =
+    self.by-version."JSONStream"."0.10.0";
+  by-version."JSONStream"."0.10.0" = self.buildNodePackage {
+    name = "JSONStream-0.10.0";
+    version = "0.10.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.10.0.tgz";
+      name = "JSONStream-0.10.0.tgz";
+      sha1 = "74349d0d89522b71f30f0a03ff9bd20ca6f12ac0";
+    };
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."JSONStream"."~0.6.4" =
+    self.by-version."JSONStream"."0.6.4";
+  by-version."JSONStream"."0.6.4" = self.buildNodePackage {
+    name = "JSONStream-0.6.4";
+    version = "0.6.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.6.4.tgz";
+      name = "JSONStream-0.6.4.tgz";
+      sha1 = "4b2c8063f8f512787b2375f7ee9db69208fa2dcb";
+    };
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.2.7" = self.by-version."through"."2.2.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."JSONStream"."~0.7.1" =
     self.by-version."JSONStream"."0.7.4";
-  by-version."JSONStream"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-JSONStream-0.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz";
-        name = "JSONStream-0.7.4.tgz";
-        sha1 = "734290e41511eea7c2cfe151fbf9a563a97b9786";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."JSONStream" or []);
-    deps = [
-      self.by-version."jsonparse"."0.0.5"
-      self.by-version."through"."2.3.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "JSONStream" ];
+  by-version."JSONStream"."0.7.4" = self.buildNodePackage {
+    name = "JSONStream-0.7.4";
+    version = "0.7.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz";
+      name = "JSONStream-0.7.4.tgz";
+      sha1 = "734290e41511eea7c2cfe151fbf9a563a97b9786";
+    };
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."JSONStream"."~0.8.3" =
     self.by-version."JSONStream"."0.8.4";
-  by-version."JSONStream"."0.8.4" = lib.makeOverridable self.buildNodePackage {
+  by-version."JSONStream"."0.8.4" = self.buildNodePackage {
     name = "JSONStream-0.8.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz";
-        name = "JSONStream-0.8.4.tgz";
-        sha1 = "91657dfe6ff857483066132b4618b62e8f4887bd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."JSONStream" or []);
-    deps = [
-      self.by-version."jsonparse"."0.0.5"
-      self.by-version."through"."2.3.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "JSONStream" ];
+    version = "0.8.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz";
+      name = "JSONStream-0.8.4.tgz";
+      sha1 = "91657dfe6ff857483066132b4618b62e8f4887bd";
+    };
+    deps = {
+      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."JSONStream"."~0.8.4" =
     self.by-version."JSONStream"."0.8.4";
-  by-spec."StringScanner"."~0.0.3" =
-    self.by-version."StringScanner"."0.0.3";
-  by-version."StringScanner"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-StringScanner-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/StringScanner/-/StringScanner-0.0.3.tgz";
-        name = "StringScanner-0.0.3.tgz";
-        sha1 = "bf06ecfdc90046711f4e6175549243b78ceb38aa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."StringScanner" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "StringScanner" ];
-  };
   by-spec."abbrev"."1" =
     self.by-version."abbrev"."1.0.5";
-  by-version."abbrev"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-abbrev-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
-        name = "abbrev-1.0.5.tgz";
-        sha1 = "5d8257bd9ebe435e698b2fa431afde4fe7b10b03";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."abbrev" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "abbrev" ];
+  by-version."abbrev"."1.0.5" = self.buildNodePackage {
+    name = "abbrev-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
+      name = "abbrev-1.0.5.tgz";
+      sha1 = "5d8257bd9ebe435e698b2fa431afde4fe7b10b03";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."abbrev"."1.0.x" =
     self.by-version."abbrev"."1.0.5";
+  by-spec."abbrev"."~1.0.4" =
+    self.by-version."abbrev"."1.0.5";
   by-spec."abbrev"."~1.0.5" =
     self.by-version."abbrev"."1.0.5";
-  by-spec."accepts"."1.0.0" =
-    self.by-version."accepts"."1.0.0";
-  by-version."accepts"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-accepts-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz";
-        name = "accepts-1.0.0.tgz";
-        sha1 = "3604c765586c3b9cf7877b6937cdbd4587f947dc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."accepts" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-      self.by-version."negotiator"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "accepts" ];
-  };
-  by-spec."accepts"."~1.0.0" =
-    self.by-version."accepts"."1.0.7";
-  by-version."accepts"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-accepts-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
-        name = "accepts-1.0.7.tgz";
-        sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."accepts" or []);
-    deps = [
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."negotiator"."0.4.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "accepts" ];
-  };
   by-spec."accepts"."~1.0.4" =
     self.by-version."accepts"."1.0.7";
-  by-spec."accepts"."~1.0.5" =
-    self.by-version."accepts"."1.0.7";
+  by-version."accepts"."1.0.7" = self.buildNodePackage {
+    name = "accepts-1.0.7";
+    version = "1.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
+      name = "accepts-1.0.7.tgz";
+      sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
+    };
+    deps = {
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "negotiator-0.4.7" = self.by-version."negotiator"."0.4.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."accepts"."~1.0.7" =
     self.by-version."accepts"."1.0.7";
+  by-spec."accepts"."~1.1.0" =
+    self.by-version."accepts"."1.1.4";
+  by-version."accepts"."1.1.4" = self.buildNodePackage {
+    name = "accepts-1.1.4";
+    version = "1.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz";
+      name = "accepts-1.1.4.tgz";
+      sha1 = "d71c96f7d41d0feda2c38cd14e8a27c04158df4a";
+    };
+    deps = {
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+      "negotiator-0.4.9" = self.by-version."negotiator"."0.4.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."accepts"."~1.1.2" =
+    self.by-version."accepts"."1.1.4";
+  by-spec."accepts"."~1.1.3" =
+    self.by-version."accepts"."1.1.4";
+  by-spec."accepts"."~1.1.4" =
+    self.by-version."accepts"."1.1.4";
+  by-spec."accepts"."~1.2.4" =
+    self.by-version."accepts"."1.2.4";
+  by-version."accepts"."1.2.4" = self.buildNodePackage {
+    name = "accepts-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.4.tgz";
+      name = "accepts-1.2.4.tgz";
+      sha1 = "f4e6c66f4faf69c76bd7a63a1ffc5bd2dacfb2ac";
+    };
+    deps = {
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+      "negotiator-0.5.1" = self.by-version."negotiator"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."acorn"."^0.11.0" =
+    self.by-version."acorn"."0.11.0";
+  by-version."acorn"."0.11.0" = self.buildNodePackage {
+    name = "acorn-0.11.0";
+    version = "0.11.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz";
+      name = "acorn-0.11.0.tgz";
+      sha1 = "6e95f0253ad161ff0127db32983e5e2e5352d59a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."acorn"."~0.9.0" =
+    self.by-version."acorn"."0.9.0";
+  by-version."acorn"."0.9.0" = self.buildNodePackage {
+    name = "acorn-0.9.0";
+    version = "0.9.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/acorn/-/acorn-0.9.0.tgz";
+      name = "acorn-0.9.0.tgz";
+      sha1 = "67728e0acad6cc61dfb901c121837694db5b926b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."acorn-globals"."^1.0.0" =
+    self.by-version."acorn-globals"."1.0.2";
+  by-version."acorn-globals"."1.0.2" = self.buildNodePackage {
+    name = "acorn-globals-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.2.tgz";
+      name = "acorn-globals-1.0.2.tgz";
+      sha1 = "f90bf21844405e649d00add61a688fc6a3462158";
+    };
+    deps = {
+      "acorn-0.11.0" = self.by-version."acorn"."0.11.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."acorn-globals"."^1.0.1" =
+    self.by-version."acorn-globals"."1.0.2";
   by-spec."active-x-obfuscator"."0.0.1" =
     self.by-version."active-x-obfuscator"."0.0.1";
-  by-version."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-active-x-obfuscator-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
-        name = "active-x-obfuscator-0.0.1.tgz";
-        sha1 = "089b89b37145ff1d9ec74af6530be5526cae1f1a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."active-x-obfuscator" or []);
-    deps = [
-      self.by-version."zeparser"."0.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "active-x-obfuscator" ];
-  };
-  by-spec."addressparser"."~0.2.1" =
-    self.by-version."addressparser"."0.2.1";
-  by-version."addressparser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-addressparser-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz";
-        name = "addressparser-0.2.1.tgz";
-        sha1 = "d11a5b2eeda04cfefebdf3196c10ae13db6cd607";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."addressparser" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "addressparser" ];
-  };
-  by-spec."adm-zip"."0.2.1" =
-    self.by-version."adm-zip"."0.2.1";
-  by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-adm-zip-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
-        name = "adm-zip-0.2.1.tgz";
-        sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."adm-zip" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "adm-zip" ];
+  by-version."active-x-obfuscator"."0.0.1" = self.buildNodePackage {
+    name = "active-x-obfuscator-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
+      name = "active-x-obfuscator-0.0.1.tgz";
+      sha1 = "089b89b37145ff1d9ec74af6530be5526cae1f1a";
+    };
+    deps = {
+      "zeparser-0.0.5" = self.by-version."zeparser"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."addr-to-ip-port"."^1.0.0" =
+    self.by-version."addr-to-ip-port"."1.4.0";
+  by-version."addr-to-ip-port"."1.4.0" = self.buildNodePackage {
+    name = "addr-to-ip-port-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/addr-to-ip-port/-/addr-to-ip-port-1.4.0.tgz";
+      name = "addr-to-ip-port-1.4.0.tgz";
+      sha1 = "9b784874d8a6a284c64d453f2c0f6430f201a8db";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."addr-to-ip-port"."^1.0.1" =
+    self.by-version."addr-to-ip-port"."1.4.0";
+  by-spec."addressparser"."^0.3.1" =
+    self.by-version."addressparser"."0.3.2";
+  by-version."addressparser"."0.3.2" = self.buildNodePackage {
+    name = "addressparser-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz";
+      name = "addressparser-0.3.2.tgz";
+      sha1 = "59873f35e8fcf6c7361c10239261d76e15348bb2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."addressparser"."~0.1.3" =
+    self.by-version."addressparser"."0.1.3";
+  by-version."addressparser"."0.1.3" = self.buildNodePackage {
+    name = "addressparser-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
+      name = "addressparser-0.1.3.tgz";
+      sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."addressparser"."~0.3.2" =
+    self.by-version."addressparser"."0.3.2";
+  by-spec."adm-zip"."0.4.4" =
+    self.by-version."adm-zip"."0.4.4";
+  by-version."adm-zip"."0.4.4" = self.buildNodePackage {
+    name = "adm-zip-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz";
+      name = "adm-zip-0.4.4.tgz";
+      sha1 = "a61ed5ae6905c3aea58b3a657d25033091052736";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."adm-zip"."~0.4.3" =
-    self.by-version."adm-zip"."0.4.4";
-  by-version."adm-zip"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-adm-zip-0.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz";
-        name = "adm-zip-0.4.4.tgz";
-        sha1 = "a61ed5ae6905c3aea58b3a657d25033091052736";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."adm-zip" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "adm-zip" ];
+    self.by-version."adm-zip"."0.4.7";
+  by-version."adm-zip"."0.4.7" = self.buildNodePackage {
+    name = "adm-zip-0.4.7";
+    version = "0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz";
+      name = "adm-zip-0.4.7.tgz";
+      sha1 = "8606c2cbf1c426ce8c8ec00174447fd49b6eafc1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."adm-zip"."~0.4.4" =
+    self.by-version."adm-zip"."0.4.7";
+  by-spec."after"."0.8.1" =
+    self.by-version."after"."0.8.1";
+  by-version."after"."0.8.1" = self.buildNodePackage {
+    name = "after-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/after/-/after-0.8.1.tgz";
+      name = "after-0.8.1.tgz";
+      sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."agent-base"."~1.0.1" =
+    self.by-version."agent-base"."1.0.1";
+  by-version."agent-base"."1.0.1" = self.buildNodePackage {
+    name = "agent-base-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/agent-base/-/agent-base-1.0.1.tgz";
+      name = "agent-base-1.0.1.tgz";
+      sha1 = "806dbee16f2f27506730e2eb78f537192706ccc3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."airplay-js"."^0.2.5" =
+    self.by-version."airplay-js"."0.2.12";
+  by-version."airplay-js"."0.2.12" = self.buildNodePackage {
+    name = "airplay-js-0.2.12";
+    version = "0.2.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/airplay-js/-/airplay-js-0.2.12.tgz";
+      name = "airplay-js-0.2.12.tgz";
+      sha1 = "fcc1ea106b5541982c34367ac674ce3bfa8a99ec";
+    };
+    deps = {
+      "mdns-js-0.2.5" = self.by-version."mdns-js"."0.2.5";
+      "plist-with-patches-0.5.1" = self.by-version."plist-with-patches"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."alea"."~0.0.9" =
+    self.by-version."alea"."0.0.9";
+  by-version."alea"."0.0.9" = self.buildNodePackage {
+    name = "alea-0.0.9";
+    version = "0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/alea/-/alea-0.0.9.tgz";
+      name = "alea-0.0.9.tgz";
+      sha1 = "f738cb45f83430069f45cf69ccbf312dd57a9e1a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."almond"."*" =
-    self.by-version."almond"."0.2.9";
-  by-version."almond"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-almond-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/almond/-/almond-0.2.9.tgz";
-        name = "almond-0.2.9.tgz";
-        sha1 = "ee4543d653a2306d682091c11050d441034f5ed8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."almond" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "almond" ];
+    self.by-version."almond"."0.3.0";
+  by-version."almond"."0.3.0" = self.buildNodePackage {
+    name = "almond-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/almond/-/almond-0.3.0.tgz";
+      name = "almond-0.3.0.tgz";
+      sha1 = "701510c31038354f85ea31410b89ff3392058014";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "almond" = self.by-version."almond"."0.3.0";
+  by-spec."alter"."~0.2.0" =
+    self.by-version."alter"."0.2.0";
+  by-version."alter"."0.2.0" = self.buildNodePackage {
+    name = "alter-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/alter/-/alter-0.2.0.tgz";
+      name = "alter-0.2.0.tgz";
+      sha1 = "c7588808617572034aae62480af26b1d4d1cb3cd";
+    };
+    deps = {
+      "stable-0.1.5" = self.by-version."stable"."0.1.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "almond" = self.by-version."almond"."0.2.9";
   by-spec."amdefine"."*" =
     self.by-version."amdefine"."0.1.0";
-  by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-amdefine-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
-        name = "amdefine-0.1.0.tgz";
-        sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."amdefine" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "amdefine" ];
+  by-version."amdefine"."0.1.0" = self.buildNodePackage {
+    name = "amdefine-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
+      name = "amdefine-0.1.0.tgz";
+      sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "amdefine" = self.by-version."amdefine"."0.1.0";
   by-spec."amdefine".">=0.0.4" =
     self.by-version."amdefine"."0.1.0";
+  by-spec."amqp".">=0.1.3" =
+    self.by-version."amqp"."0.2.3";
+  by-version."amqp"."0.2.3" = self.buildNodePackage {
+    name = "amqp-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/amqp/-/amqp-0.2.3.tgz";
+      name = "amqp-0.2.3.tgz";
+      sha1 = "25afbd851ad784f8e606f22bfe34c5f83e4fe75c";
+    };
+    deps = {
+      "lodash-1.3.1" = self.by-version."lodash"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi"."^0.3.0" =
+    self.by-version."ansi"."0.3.0";
+  by-version."ansi"."0.3.0" = self.buildNodePackage {
+    name = "ansi-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz";
+      name = "ansi-0.3.0.tgz";
+      sha1 = "74b2f1f187c8553c7f95015bcb76009fb43d38e0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."ansi"."~0.3.0" =
     self.by-version."ansi"."0.3.0";
-  by-version."ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz";
-        name = "ansi-0.3.0.tgz";
-        sha1 = "74b2f1f187c8553c7f95015bcb76009fb43d38e0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi" ];
+  by-spec."ansi-color"."0.2.1" =
+    self.by-version."ansi-color"."0.2.1";
+  by-version."ansi-color"."0.2.1" = self.buildNodePackage {
+    name = "ansi-color-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz";
+      name = "ansi-color-0.2.1.tgz";
+      sha1 = "3e75c037475217544ed763a8db5709fa9ae5bf9a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ansi-regex"."^0.1.0" =
     self.by-version."ansi-regex"."0.1.0";
-  by-version."ansi-regex"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-regex-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz";
-        name = "ansi-regex-0.1.0.tgz";
-        sha1 = "55ca60db6900857c423ae9297980026f941ed903";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-regex" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-regex" ];
+  by-version."ansi-regex"."0.1.0" = self.buildNodePackage {
+    name = "ansi-regex-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz";
+      name = "ansi-regex-0.1.0.tgz";
+      sha1 = "55ca60db6900857c423ae9297980026f941ed903";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ansi-regex"."^0.2.0" =
     self.by-version."ansi-regex"."0.2.1";
-  by-version."ansi-regex"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-regex-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
-        name = "ansi-regex-0.2.1.tgz";
-        sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-regex" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-regex" ];
+  by-version."ansi-regex"."0.2.1" = self.buildNodePackage {
+    name = "ansi-regex-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
+      name = "ansi-regex-0.2.1.tgz";
+      sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ansi-regex"."^0.2.1" =
     self.by-version."ansi-regex"."0.2.1";
+  by-spec."ansi-regex"."^1.0.0" =
+    self.by-version."ansi-regex"."1.1.1";
+  by-version."ansi-regex"."1.1.1" = self.buildNodePackage {
+    name = "ansi-regex-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz";
+      name = "ansi-regex-1.1.1.tgz";
+      sha1 = "41c847194646375e6a1a5d10c3ca054ef9fc980d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-regex"."^1.1.0" =
+    self.by-version."ansi-regex"."1.1.1";
   by-spec."ansi-remover"."*" =
     self.by-version."ansi-remover"."0.0.2";
-  by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-remover-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
-        name = "ansi-remover-0.0.2.tgz";
-        sha1 = "7020086289f10e195d85d828de065ccdd50e6e66";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-remover" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-remover" ];
+  by-version."ansi-remover"."0.0.2" = self.buildNodePackage {
+    name = "ansi-remover-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
+      name = "ansi-remover-0.0.2.tgz";
+      sha1 = "7020086289f10e195d85d828de065ccdd50e6e66";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "ansi-remover" = self.by-version."ansi-remover"."0.0.2";
   by-spec."ansi-styles"."^1.1.0" =
     self.by-version."ansi-styles"."1.1.0";
-  by-version."ansi-styles"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
-        name = "ansi-styles-1.1.0.tgz";
-        sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-styles" ];
-  };
-  by-spec."ansi-styles"."~1.0.0" =
-    self.by-version."ansi-styles"."1.0.0";
-  by-version."ansi-styles"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansi-styles-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
-        name = "ansi-styles-1.0.0.tgz";
-        sha1 = "cb102df1c56f5123eab8b67cd7b98027a0279178";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi-styles" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansi-styles" ];
+  by-version."ansi-styles"."1.1.0" = self.buildNodePackage {
+    name = "ansi-styles-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
+      name = "ansi-styles-1.1.0.tgz";
+      sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ansicolors"."~0.3.2" =
     self.by-version."ansicolors"."0.3.2";
-  by-version."ansicolors"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansicolors-0.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
-        name = "ansicolors-0.3.2.tgz";
-        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansicolors" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansicolors" ];
+  by-version."ansicolors"."0.3.2" = self.buildNodePackage {
+    name = "ansicolors-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
+      name = "ansicolors-0.3.2.tgz";
+      sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ansistyles"."~0.1.3" =
     self.by-version."ansistyles"."0.1.3";
-  by-version."ansistyles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ansistyles-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
-        name = "ansistyles-0.1.3.tgz";
-        sha1 = "5de60415bda071bb37127854c864f41b23254539";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansistyles" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ansistyles" ];
+  by-version."ansistyles"."0.1.3" = self.buildNodePackage {
+    name = "ansistyles-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
+      name = "ansistyles-0.1.3.tgz";
+      sha1 = "5de60415bda071bb37127854c864f41b23254539";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."anymatch"."^1.1.0" =
+    self.by-version."anymatch"."1.1.0";
+  by-version."anymatch"."1.1.0" = self.buildNodePackage {
+    name = "anymatch-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/anymatch/-/anymatch-1.1.0.tgz";
+      name = "anymatch-1.1.0.tgz";
+      sha1 = "ebc63275cee368a96b300f31623bf9f228d428e3";
+    };
+    deps = {
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."apparatus".">= 0.0.6" =
     self.by-version."apparatus"."0.0.8";
-  by-version."apparatus"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-apparatus-0.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.8.tgz";
-        name = "apparatus-0.0.8.tgz";
-        sha1 = "14e8aeb84189208b7f8d77f09d9f0307778b079a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."apparatus" or []);
-    deps = [
-      self.by-version."sylvester"."0.0.21"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "apparatus" ];
-  };
-  by-spec."archiver"."~0.10.0" =
-    self.by-version."archiver"."0.10.1";
-  by-version."archiver"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-archiver-0.10.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/archiver/-/archiver-0.10.1.tgz";
-        name = "archiver-0.10.1.tgz";
-        sha1 = "c88a50fe114f744d059a07dfc4690f3a204146e4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."archiver" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."tar-stream"."0.4.5"
-      self.by-version."zip-stream"."0.3.7"
-      self.by-version."lazystream"."0.1.0"
-      self.by-version."file-utils"."0.2.0"
-      self.by-version."lodash"."2.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "archiver" ];
+  by-version."apparatus"."0.0.8" = self.buildNodePackage {
+    name = "apparatus-0.0.8";
+    version = "0.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.8.tgz";
+      name = "apparatus-0.0.8.tgz";
+      sha1 = "14e8aeb84189208b7f8d77f09d9f0307778b079a";
+    };
+    deps = {
+      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."archiver"."~0.12.0" =
+    self.by-version."archiver"."0.12.0";
+  by-version."archiver"."0.12.0" = self.buildNodePackage {
+    name = "archiver-0.12.0";
+    version = "0.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/archiver/-/archiver-0.12.0.tgz";
+      name = "archiver-0.12.0.tgz";
+      sha1 = "b8ccde2508cab9092bb7106630139c0f39a280cc";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "lazystream-0.1.0" = self.by-version."lazystream"."0.1.0";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "tar-stream-1.0.2" = self.by-version."tar-stream"."1.0.2";
+      "zip-stream-0.4.1" = self.by-version."zip-stream"."0.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."archy"."0" =
     self.by-version."archy"."0.0.2";
-  by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-archy-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
-        name = "archy-0.0.2.tgz";
-        sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."archy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "archy" ];
+  by-version."archy"."0.0.2" = self.buildNodePackage {
+    name = "archy-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
+      name = "archy-0.0.2.tgz";
+      sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."archy"."0.0.2" =
+    self.by-version."archy"."0.0.2";
+  by-spec."archy"."^1.0.0" =
+    self.by-version."archy"."1.0.0";
+  by-version."archy"."1.0.0" = self.buildNodePackage {
+    name = "archy-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
+      name = "archy-1.0.0.tgz";
+      sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."archy"."~1.0.0" =
+    self.by-version."archy"."1.0.0";
+  by-spec."are-we-there-yet"."~1.0.0" =
+    self.by-version."are-we-there-yet"."1.0.2";
+  by-version."are-we-there-yet"."1.0.2" = self.buildNodePackage {
+    name = "are-we-there-yet-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.2.tgz";
+      name = "are-we-there-yet-1.0.2.tgz";
+      sha1 = "b518f4a6ec85862b57ce82df495bbabc76cb5246";
+    };
+    deps = {
+      "delegates-0.1.0" = self.by-version."delegates"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."argparse"."0.1.15" =
     self.by-version."argparse"."0.1.15";
-  by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-argparse-0.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-        name = "argparse-0.1.15.tgz";
-        sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."argparse" or []);
-    deps = [
-      self.by-version."underscore"."1.4.4"
-      self.by-version."underscore.string"."2.3.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "argparse" ];
+  by-version."argparse"."0.1.15" = self.buildNodePackage {
+    name = "argparse-0.1.15";
+    version = "0.1.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
+      name = "argparse-0.1.15.tgz";
+      sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+    };
+    deps = {
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."argparse"."~ 0.1.11" =
-    self.by-version."argparse"."0.1.15";
+    self.by-version."argparse"."0.1.16";
+  by-version."argparse"."0.1.16" = self.buildNodePackage {
+    name = "argparse-0.1.16";
+    version = "0.1.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
+      name = "argparse-0.1.16.tgz";
+      sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
+    };
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+      "underscore.string-2.4.0" = self.by-version."underscore.string"."2.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."argparse"."~ 1.0.0" =
+    self.by-version."argparse"."1.0.1";
+  by-version."argparse"."1.0.1" = self.buildNodePackage {
+    name = "argparse-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/argparse/-/argparse-1.0.1.tgz";
+      name = "argparse-1.0.1.tgz";
+      sha1 = "cb1010b8559920fc8aee521eb9e80e4851790923";
+    };
+    deps = {
+      "lodash-3.2.0" = self.by-version."lodash"."3.2.0";
+      "sprintf-js-1.0.2" = self.by-version."sprintf-js"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-differ"."^1.0.0" =
+    self.by-version."array-differ"."1.0.0";
+  by-version."array-differ"."1.0.0" = self.buildNodePackage {
+    name = "array-differ-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz";
+      name = "array-differ-1.0.0.tgz";
+      sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-filter"."~0.0.0" =
+    self.by-version."array-filter"."0.0.1";
+  by-version."array-filter"."0.0.1" = self.buildNodePackage {
+    name = "array-filter-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
+      name = "array-filter-0.0.1.tgz";
+      sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-indexofobject"."~0.0.1" =
+    self.by-version."array-indexofobject"."0.0.1";
+  by-version."array-indexofobject"."0.0.1" = self.buildNodePackage {
+    name = "array-indexofobject-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz";
+      name = "array-indexofobject-0.0.1.tgz";
+      sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-loop"."^1.0.0" =
+    self.by-version."array-loop"."1.0.0";
+  by-version."array-loop"."1.0.0" = self.buildNodePackage {
+    name = "array-loop-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-loop/-/array-loop-1.0.0.tgz";
+      name = "array-loop-1.0.0.tgz";
+      sha1 = "c033d086cf0d12af73aed5a99c0cedb37367b395";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-map"."~0.0.0" =
+    self.by-version."array-map"."0.0.0";
+  by-version."array-map"."0.0.0" = self.buildNodePackage {
+    name = "array-map-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
+      name = "array-map-0.0.0.tgz";
+      sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-reduce"."~0.0.0" =
+    self.by-version."array-reduce"."0.0.0";
+  by-version."array-reduce"."0.0.0" = self.buildNodePackage {
+    name = "array-reduce-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
+      name = "array-reduce-0.0.0.tgz";
+      sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-uniq"."^1.0.2" =
+    self.by-version."array-uniq"."1.0.2";
+  by-version."array-uniq"."1.0.2" = self.buildNodePackage {
+    name = "array-uniq-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz";
+      name = "array-uniq-1.0.2.tgz";
+      sha1 = "5fcc373920775723cfd64d65c64bef53bf9eba6d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."arraybuffer.slice"."0.0.6" =
+    self.by-version."arraybuffer.slice"."0.0.6";
+  by-version."arraybuffer.slice"."0.0.6" = self.buildNodePackage {
+    name = "arraybuffer.slice-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz";
+      name = "arraybuffer.slice-0.0.6.tgz";
+      sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."asap"."^1.0.0" =
     self.by-version."asap"."1.0.0";
-  by-version."asap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-asap-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
-        name = "asap-1.0.0.tgz";
-        sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."asap" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "asap" ];
-  };
+  by-version."asap"."1.0.0" = self.buildNodePackage {
+    name = "asap-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
+      name = "asap-1.0.0.tgz";
+      sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."asap"."^2.0.0" =
+    self.by-version."asap"."2.0.1";
+  by-version."asap"."2.0.1" = self.buildNodePackage {
+    name = "asap-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asap/-/asap-2.0.1.tgz";
+      name = "asap-2.0.1.tgz";
+      sha1 = "1345eaff39393ba58863177440a424ce59029244";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."asap"."~1.0.0" =
+    self.by-version."asap"."1.0.0";
   by-spec."ascii-json"."~0.2" =
     self.by-version."ascii-json"."0.2.0";
-  by-version."ascii-json"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ascii-json-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ascii-json/-/ascii-json-0.2.0.tgz";
-        name = "ascii-json-0.2.0.tgz";
-        sha1 = "10ddb361fd48f72595309fd10a6ea2e7bf2c9218";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ascii-json" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ascii-json" ];
+  by-version."ascii-json"."0.2.0" = self.buildNodePackage {
+    name = "ascii-json-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ascii-json/-/ascii-json-0.2.0.tgz";
+      name = "ascii-json-0.2.0.tgz";
+      sha1 = "10ddb361fd48f72595309fd10a6ea2e7bf2c9218";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ascli"."~0.3" =
+    self.by-version."ascli"."0.3.0";
+  by-version."ascli"."0.3.0" = self.buildNodePackage {
+    name = "ascli-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ascli/-/ascli-0.3.0.tgz";
+      name = "ascli-0.3.0.tgz";
+      sha1 = "5e66230e5219fe3e8952a4efb4f20fae596a813a";
+    };
+    deps = {
+      "colour-0.7.1" = self.by-version."colour"."0.7.1";
+      "optjs-3.2.1-boom" = self.by-version."optjs"."3.2.1-boom";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."asn1"."0.1.11" =
     self.by-version."asn1"."0.1.11";
-  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-asn1-0.1.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-        name = "asn1-0.1.11.tgz";
-        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."asn1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "asn1" ];
+  by-version."asn1"."0.1.11" = self.buildNodePackage {
+    name = "asn1-0.1.11";
+    version = "0.1.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+      name = "asn1-0.1.11.tgz";
+      sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."asn1"."0.2.1" =
+    self.by-version."asn1"."0.2.1";
+  by-version."asn1"."0.2.1" = self.buildNodePackage {
+    name = "asn1-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asn1/-/asn1-0.2.1.tgz";
+      name = "asn1-0.2.1.tgz";
+      sha1 = "ecc73f75d31ea3c6ed9d47428db35fecc7b2c6dc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."asn1.js".">=1.0.0 >=1.0.0 <2.0.0" =
+    self.by-version."asn1.js"."1.0.3";
+  by-version."asn1.js"."1.0.3" = self.buildNodePackage {
+    name = "asn1.js-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asn1.js/-/asn1.js-1.0.3.tgz";
+      name = "asn1.js-1.0.3.tgz";
+      sha1 = "281ba3ec1f2448fe765f92a4eecf883fe1364b54";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimalistic-assert-1.0.0" = self.by-version."minimalistic-assert"."1.0.0";
+    };
+    optionalDependencies = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."asn1.js"."^1.0.0" =
+    self.by-version."asn1.js"."1.0.3";
+  by-spec."asn1.js-rfc3280"."^1.0.0" =
+    self.by-version."asn1.js-rfc3280"."1.0.0";
+  by-version."asn1.js-rfc3280"."1.0.0" = self.buildNodePackage {
+    name = "asn1.js-rfc3280-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asn1.js-rfc3280/-/asn1.js-rfc3280-1.0.0.tgz";
+      name = "asn1.js-rfc3280-1.0.0.tgz";
+      sha1 = "4bb2013a7c9bdb4930c077b1b60d936186f4f4a7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."asn1.js"."1.0.3"];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."assert"."*" =
-    self.by-version."assert"."1.1.1";
-  by-version."assert"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/assert/-/assert-1.1.1.tgz";
-        name = "assert-1.1.1.tgz";
-        sha1 = "766549ef4a6014b1e19c7c53f9816eabda440760";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assert" or []);
-    deps = [
-      self.by-version."util"."0.10.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "assert" ];
-  };
-  "assert" = self.by-version."assert"."1.1.1";
+    self.by-version."assert"."1.3.0";
+  by-version."assert"."1.3.0" = self.buildNodePackage {
+    name = "assert-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert/-/assert-1.3.0.tgz";
+      name = "assert-1.3.0.tgz";
+      sha1 = "03939a622582a812cc202320a0b9a56c9b815849";
+    };
+    deps = {
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "assert" = self.by-version."assert"."1.3.0";
+  by-spec."assert"."^1.1.1" =
+    self.by-version."assert"."1.3.0";
   by-spec."assert"."~1.1.0" =
-    self.by-version."assert"."1.1.1";
+    self.by-version."assert"."1.1.2";
+  by-version."assert"."1.1.2" = self.buildNodePackage {
+    name = "assert-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert/-/assert-1.1.2.tgz";
+      name = "assert-1.1.2.tgz";
+      sha1 = "adaa04c46bb58c6dd1f294da3eb26e6228eb6e44";
+    };
+    deps = {
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."assert"."~1.3.0" =
+    self.by-version."assert"."1.3.0";
   by-spec."assert-plus"."0.1.2" =
     self.by-version."assert-plus"."0.1.2";
-  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-plus-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
-        name = "assert-plus-0.1.2.tgz";
-        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assert-plus" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "assert-plus" ];
+  by-version."assert-plus"."0.1.2" = self.buildNodePackage {
+    name = "assert-plus-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
+      name = "assert-plus-0.1.2.tgz";
+      sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."assert-plus"."0.1.3" =
     self.by-version."assert-plus"."0.1.3";
-  by-version."assert-plus"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assert-plus-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.3.tgz";
-        name = "assert-plus-0.1.3.tgz";
-        sha1 = "32eba8ac83e50ae4f4b5babab1ae9aa0edec9fef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assert-plus" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "assert-plus" ];
-  };
+  by-version."assert-plus"."0.1.3" = self.buildNodePackage {
+    name = "assert-plus-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.3.tgz";
+      name = "assert-plus-0.1.3.tgz";
+      sha1 = "32eba8ac83e50ae4f4b5babab1ae9aa0edec9fef";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."assert-plus"."0.1.5" =
+    self.by-version."assert-plus"."0.1.5";
+  by-version."assert-plus"."0.1.5" = self.buildNodePackage {
+    name = "assert-plus-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+      name = "assert-plus-0.1.5.tgz";
+      sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."assert-plus"."^0.1.5" =
+    self.by-version."assert-plus"."0.1.5";
   by-spec."assertion-error"."1.0.0" =
     self.by-version."assertion-error"."1.0.0";
-  by-version."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-assertion-error-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
-        name = "assertion-error-1.0.0.tgz";
-        sha1 = "c7f85438fdd466bc7ca16ab90c81513797a5d23b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assertion-error" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "assertion-error" ];
+  by-version."assertion-error"."1.0.0" = self.buildNodePackage {
+    name = "assertion-error-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
+      name = "assertion-error-1.0.0.tgz";
+      sha1 = "c7f85438fdd466bc7ca16ab90c81513797a5d23b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ast-traverse"."~0.1.1" =
+    self.by-version."ast-traverse"."0.1.1";
+  by-version."ast-traverse"."0.1.1" = self.buildNodePackage {
+    name = "ast-traverse-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz";
+      name = "ast-traverse-0.1.1.tgz";
+      sha1 = "69cf2b8386f19dcda1bb1e05d68fe359d8897de6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ast-types"."~0.3.22" =
+    self.by-version."ast-types"."0.3.38";
+  by-version."ast-types"."0.3.38" = self.buildNodePackage {
+    name = "ast-types-0.3.38";
+    version = "0.3.38";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ast-types/-/ast-types-0.3.38.tgz";
+      name = "ast-types-0.3.38.tgz";
+      sha1 = "afe430e60b4db3ce2ed22ceea0f16f1c31763ef7";
+    };
+    deps = {
+      "private-0.1.6" = self.by-version."private"."0.1.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ast-types"."~0.6.1" =
+    self.by-version."ast-types"."0.6.14";
+  by-version."ast-types"."0.6.14" = self.buildNodePackage {
+    name = "ast-types-0.6.14";
+    version = "0.6.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ast-types/-/ast-types-0.6.14.tgz";
+      name = "ast-types-0.6.14.tgz";
+      sha1 = "ee2da2c2bdd4cb5c95d29c24d394f7a769a03efd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ast-types"."~0.6.12" =
+    self.by-version."ast-types"."0.6.14";
+  by-spec."astw"."~0.0.0" =
+    self.by-version."astw"."0.0.0";
+  by-version."astw"."0.0.0" = self.buildNodePackage {
+    name = "astw-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/astw/-/astw-0.0.0.tgz";
+      name = "astw-0.0.0.tgz";
+      sha1 = "4490866a3ef116aaf91adba63ca7ddf70b6d59bd";
+    };
+    deps = {
+      "esprima-1.0.2" = self.by-version."esprima"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."astw"."~0.1.0" =
+    self.by-version."astw"."0.1.0";
+  by-version."astw"."0.1.0" = self.buildNodePackage {
+    name = "astw-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/astw/-/astw-0.1.0.tgz";
+      name = "astw-0.1.0.tgz";
+      sha1 = "098be2758a6e9e9e15465d4fc4ba36265de11085";
+    };
+    deps = {
+      "esprima-six-0.0.3" = self.by-version."esprima-six"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."astw"."~1.1.0" =
     self.by-version."astw"."1.1.0";
-  by-version."astw"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-astw-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/astw/-/astw-1.1.0.tgz";
-        name = "astw-1.1.0.tgz";
-        sha1 = "f394778ab01c4ea467e64a614ed896ace0321a34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."astw" or []);
-    deps = [
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "astw" ];
+  by-version."astw"."1.1.0" = self.buildNodePackage {
+    name = "astw-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/astw/-/astw-1.1.0.tgz";
+      name = "astw-1.1.0.tgz";
+      sha1 = "f394778ab01c4ea467e64a614ed896ace0321a34";
+    };
+    deps = {
+      "esprima-fb-3001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."async"."*" =
     self.by-version."async"."0.9.0";
-  by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.9.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
-        name = "async-0.9.0.tgz";
-        sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
+  by-version."async"."0.9.0" = self.buildNodePackage {
+    name = "async-0.9.0";
+    version = "0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
+      name = "async-0.9.0.tgz";
+      sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "async" = self.by-version."async"."0.9.0";
-  by-spec."async"."0.1.15" =
-    self.by-version."async"."0.1.15";
-  by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.15.tgz";
-        name = "async-0.1.15.tgz";
-        sha1 = "2180eaca2cf2a6ca5280d41c0585bec9b3e49bd3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
+  by-spec."async"."0.1.18" =
+    self.by-version."async"."0.1.18";
+  by-version."async"."0.1.18" = self.buildNodePackage {
+    name = "async-0.1.18";
+    version = "0.1.18";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.1.18.tgz";
+      name = "async-0.1.18.tgz";
+      sha1 = "c59c923920b76d5bf23248c04433920c4d45086a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."async"."0.1.22" =
     self.by-version."async"."0.1.22";
-  by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.1.22";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-        name = "async-0.1.22.tgz";
-        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
+  by-version."async"."0.1.22" = self.buildNodePackage {
+    name = "async-0.1.22";
+    version = "0.1.22";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
+      name = "async-0.1.22.tgz";
+      sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."async"."0.1.x" =
     self.by-version."async"."0.1.22";
   by-spec."async"."0.2.9" =
     self.by-version."async"."0.2.9";
-  by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        name = "async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
+  by-version."async"."0.2.9" = self.buildNodePackage {
+    name = "async-0.2.9";
+    version = "0.2.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
+      name = "async-0.2.9.tgz";
+      sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."async"."0.2.x" =
     self.by-version."async"."0.2.10";
-  by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.2.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
-        name = "async-0.2.10.tgz";
-        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
+  by-version."async"."0.2.10" = self.buildNodePackage {
+    name = "async-0.2.10";
+    version = "0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+      name = "async-0.2.10.tgz";
+      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."0.9.0" =
+    self.by-version."async"."0.9.0";
   by-spec."async"."0.9.x" =
     self.by-version."async"."0.9.0";
-  by-spec."async"."^0.2.10" =
-    self.by-version."async"."0.2.10";
+  by-spec."async".">=0.2.9" =
+    self.by-version."async"."0.9.0";
+  by-spec."async"."^0.9.0" =
+    self.by-version."async"."0.9.0";
   by-spec."async"."~0.1.22" =
     self.by-version."async"."0.1.22";
+  by-spec."async"."~0.2.0" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.10" =
+    self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.6" =
     self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.7" =
     self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.8" =
+    self.by-version."async"."0.2.10";
   by-spec."async"."~0.2.9" =
     self.by-version."async"."0.2.10";
-  by-spec."async"."~0.7.0" =
-    self.by-version."async"."0.7.0";
-  by-version."async"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.7.0.tgz";
-        name = "async-0.7.0.tgz";
-        sha1 = "4429e0e62f5de0a54f37458c49f0b897eb52ada5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  by-spec."async"."~0.8" =
-    self.by-version."async"."0.8.0";
-  by-version."async"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-0.8.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.8.0.tgz";
-        name = "async-0.8.0.tgz";
-        sha1 = "ee65ec77298c2ff1456bc4418a052d0f06435112";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
+  by-spec."async"."~0.9" =
+    self.by-version."async"."0.9.0";
   by-spec."async"."~0.9.0" =
     self.by-version."async"."0.9.0";
-  by-spec."async-some"."~1.0.0" =
+  by-spec."async-each"."^0.1.5" =
+    self.by-version."async-each"."0.1.6";
+  by-version."async-each"."0.1.6" = self.buildNodePackage {
+    name = "async-each-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async-each/-/async-each-0.1.6.tgz";
+      name = "async-each-0.1.6.tgz";
+      sha1 = "b67e99edcddf96541e44af56290cd7d5c6e70439";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async-each"."~0.1.5" =
+    self.by-version."async-each"."0.1.6";
+  by-spec."async-some"."~1.0.1" =
     self.by-version."async-some"."1.0.1";
-  by-version."async-some"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-async-some-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz";
-        name = "async-some-1.0.1.tgz";
-        sha1 = "8b54f08d46f0f9babc72ea9d646c245d23a4d9e5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async-some" or []);
-    deps = [
-      self.by-version."dezalgo"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async-some" ];
+  by-version."async-some"."1.0.1" = self.buildNodePackage {
+    name = "async-some-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz";
+      name = "async-some-1.0.1.tgz";
+      sha1 = "8b54f08d46f0f9babc72ea9d646c245d23a4d9e5";
+    };
+    deps = {
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."aws-sdk"."*" =
-    self.by-version."aws-sdk"."2.0.14";
-  by-version."aws-sdk"."2.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-2.0.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.14.tgz";
-        name = "aws-sdk-2.0.14.tgz";
-        sha1 = "ee6668b97d62924b3d27d577658411c06ad7f2ad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sdk" or []);
-    deps = [
-      self.by-version."aws-sdk-apis"."3.1.6"
-      self.by-version."xml2js"."0.2.6"
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sdk" ];
+    self.by-version."aws-sdk"."2.1.13";
+  by-version."aws-sdk"."2.1.13" = self.buildNodePackage {
+    name = "aws-sdk-2.1.13";
+    version = "2.1.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1.13.tgz";
+      name = "aws-sdk-2.1.13.tgz";
+      sha1 = "7ffbe7fa2a3fa97bd4a9924ca58e4220e92250f9";
+    };
+    deps = {
+      "xml2js-0.2.6" = self.by-version."xml2js"."0.2.6";
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "aws-sdk" = self.by-version."aws-sdk"."2.1.13";
+  by-spec."aws-sdk"."2.0.5" =
+    self.by-version."aws-sdk"."2.0.5";
+  by-version."aws-sdk"."2.0.5" = self.buildNodePackage {
+    name = "aws-sdk-2.0.5";
+    version = "2.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.5.tgz";
+      name = "aws-sdk-2.0.5.tgz";
+      sha1 = "f3ebb1898d0632b7b6672e8d77728cbbb69f98c6";
+    };
+    deps = {
+      "aws-sdk-apis-3.1.10" = self.by-version."aws-sdk-apis"."3.1.10";
+      "xml2js-0.2.6" = self.by-version."xml2js"."0.2.6";
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "aws-sdk" = self.by-version."aws-sdk"."2.0.14";
   by-spec."aws-sdk".">=1.2.0 <2" =
     self.by-version."aws-sdk"."1.18.0";
-  by-version."aws-sdk"."1.18.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-1.18.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.18.0.tgz";
-        name = "aws-sdk-1.18.0.tgz";
-        sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sdk" or []);
-    deps = [
-      self.by-version."xml2js"."0.2.4"
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sdk" ];
-  };
-  by-spec."aws-sdk-apis".">=3.1.0 <4.0.0" =
-    self.by-version."aws-sdk-apis"."3.1.6";
-  by-version."aws-sdk-apis"."3.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sdk-apis-3.1.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.6.tgz";
-        name = "aws-sdk-apis-3.1.6.tgz";
-        sha1 = "1831a16ef8d5dd7d7278c749aff3d33ee7b1dacb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sdk-apis" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sdk-apis" ];
+  by-version."aws-sdk"."1.18.0" = self.buildNodePackage {
+    name = "aws-sdk-1.18.0";
+    version = "1.18.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.18.0.tgz";
+      name = "aws-sdk-1.18.0.tgz";
+      sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
+    };
+    deps = {
+      "xml2js-0.2.4" = self.by-version."xml2js"."0.2.4";
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."aws-sdk-apis"."3.x" =
+    self.by-version."aws-sdk-apis"."3.1.10";
+  by-version."aws-sdk-apis"."3.1.10" = self.buildNodePackage {
+    name = "aws-sdk-apis-3.1.10";
+    version = "3.1.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.10.tgz";
+      name = "aws-sdk-apis-3.1.10.tgz";
+      sha1 = "4eed97f590a16cf080fd1b8d8cfdf2472de8ab0e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."aws-sign"."~0.2.0" =
     self.by-version."aws-sign"."0.2.0";
-  by-version."aws-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sign-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
-        name = "aws-sign-0.2.0.tgz";
-        sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sign" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sign" ];
+  by-version."aws-sign"."0.2.0" = self.buildNodePackage {
+    name = "aws-sign-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
+      name = "aws-sign-0.2.0.tgz";
+      sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."aws-sign"."~0.3.0" =
     self.by-version."aws-sign"."0.3.0";
-  by-version."aws-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sign-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
-        name = "aws-sign-0.3.0.tgz";
-        sha1 = "3d81ca69b474b1e16518728b51c24ff0bbedc6e9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sign" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sign" ];
+  by-version."aws-sign"."0.3.0" = self.buildNodePackage {
+    name = "aws-sign-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
+      name = "aws-sign-0.3.0.tgz";
+      sha1 = "3d81ca69b474b1e16518728b51c24ff0bbedc6e9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."aws-sign2"."~0.5.0" =
     self.by-version."aws-sign2"."0.5.0";
-  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-aws-sign2-0.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-        name = "aws-sign2-0.5.0.tgz";
-        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sign2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sign2" ];
+  by-version."aws-sign2"."0.5.0" = self.buildNodePackage {
+    name = "aws-sign2-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+      name = "aws-sign2-0.5.0.tgz";
+      sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."backbone"."*" =
     self.by-version."backbone"."1.1.2";
-  by-version."backbone"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-backbone-1.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/backbone/-/backbone-1.1.2.tgz";
-        name = "backbone-1.1.2.tgz";
-        sha1 = "c2c04c66bf87268fb82c177acebeff7d37ba6f2d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."backbone" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "backbone" ];
+  by-version."backbone"."1.1.2" = self.buildNodePackage {
+    name = "backbone-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/backbone/-/backbone-1.1.2.tgz";
+      name = "backbone-1.1.2.tgz";
+      sha1 = "c2c04c66bf87268fb82c177acebeff7d37ba6f2d";
+    };
+    deps = {
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "backbone" = self.by-version."backbone"."1.1.2";
   by-spec."backoff"."2.1.0" =
     self.by-version."backoff"."2.1.0";
-  by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-backoff-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz";
-        name = "backoff-2.1.0.tgz";
-        sha1 = "19b4e9f9fb75c122ad7bb1c6c376d6085d43ea09";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."backoff" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "backoff" ];
+  by-version."backoff"."2.1.0" = self.buildNodePackage {
+    name = "backoff-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz";
+      name = "backoff-2.1.0.tgz";
+      sha1 = "19b4e9f9fb75c122ad7bb1c6c376d6085d43ea09";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."backoff"."~2.3.0" =
+    self.by-version."backoff"."2.3.0";
+  by-version."backoff"."2.3.0" = self.buildNodePackage {
+    name = "backoff-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/backoff/-/backoff-2.3.0.tgz";
+      name = "backoff-2.3.0.tgz";
+      sha1 = "ee7c7e38093f92e472859db635e7652454fc21ea";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."balanced-match"."^0.2.0" =
+    self.by-version."balanced-match"."0.2.0";
+  by-version."balanced-match"."0.2.0" = self.buildNodePackage {
+    name = "balanced-match-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz";
+      name = "balanced-match-0.2.0.tgz";
+      sha1 = "38f6730c03aab6d5edbb52bd934885e756d71674";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base-converter"."1.1.2" =
+    self.by-version."base-converter"."1.1.2";
+  by-version."base-converter"."1.1.2" = self.buildNodePackage {
+    name = "base-converter-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base-converter/-/base-converter-1.1.2.tgz";
+      name = "base-converter-1.1.2.tgz";
+      sha1 = "3abd417c6277c28bc3dedb6ac1af16d4b720615a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."base62"."0.1.1" =
     self.by-version."base62"."0.1.1";
-  by-version."base62"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base62-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/base62/-/base62-0.1.1.tgz";
-        name = "base62-0.1.1.tgz";
-        sha1 = "7b4174c2f94449753b11c2651c083da841a7b084";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."base62" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "base62" ];
-  };
-  by-spec."base64-js"."~0.0.4" =
+  by-version."base62"."0.1.1" = self.buildNodePackage {
+    name = "base62-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base62/-/base62-0.1.1.tgz";
+      name = "base62-0.1.1.tgz";
+      sha1 = "7b4174c2f94449753b11c2651c083da841a7b084";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-arraybuffer"."0.1.2" =
+    self.by-version."base64-arraybuffer"."0.1.2";
+  by-version."base64-arraybuffer"."0.1.2" = self.buildNodePackage {
+    name = "base64-arraybuffer-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz";
+      name = "base64-arraybuffer-0.1.2.tgz";
+      sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-js"."0.0.6" =
+    self.by-version."base64-js"."0.0.6";
+  by-version."base64-js"."0.0.6" = self.buildNodePackage {
+    name = "base64-js-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.6.tgz";
+      name = "base64-js-0.0.6.tgz";
+      sha1 = "7b859f79f0bbbd55867ba67a7fab397e24a20947";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-js"."0.0.7" =
     self.by-version."base64-js"."0.0.7";
-  by-version."base64-js"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64-js-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.7.tgz";
-        name = "base64-js-0.0.7.tgz";
-        sha1 = "54400dc91d696cec32a8a47902f971522fee8f48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."base64-js" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "base64-js" ];
+  by-version."base64-js"."0.0.7" = self.buildNodePackage {
+    name = "base64-js-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.7.tgz";
+      name = "base64-js-0.0.7.tgz";
+      sha1 = "54400dc91d696cec32a8a47902f971522fee8f48";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-js"."0.0.8" =
+    self.by-version."base64-js"."0.0.8";
+  by-version."base64-js"."0.0.8" = self.buildNodePackage {
+    name = "base64-js-0.0.8";
+    version = "0.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz";
+      name = "base64-js-0.0.8.tgz";
+      sha1 = "1101e9544f4a76b1bc3b26d452ca96d7a35e7978";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
+  by-spec."base64-js"."~0.0.4" =
+    self.by-version."base64-js"."0.0.8";
   by-spec."base64-url"."1" =
-    self.by-version."base64-url"."1.0.0";
-  by-version."base64-url"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64-url-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/base64-url/-/base64-url-1.0.0.tgz";
-        name = "base64-url-1.0.0.tgz";
-        sha1 = "ab694376f2801af6c9260899ffef02f86b40ee2c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."base64-url" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "base64-url" ];
-  };
+    self.by-version."base64-url"."1.2.1";
+  by-version."base64-url"."1.2.1" = self.buildNodePackage {
+    name = "base64-url-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz";
+      name = "base64-url-1.2.1.tgz";
+      sha1 = "199fd661702a0e7b7dcae6e0698bb089c52f6d78";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-url"."1.2.1" =
+    self.by-version."base64-url"."1.2.1";
   by-spec."base64id"."0.1.0" =
     self.by-version."base64id"."0.1.0";
-  by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-base64id-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
-        name = "base64id-0.1.0.tgz";
-        sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."base64id" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "base64id" ];
-  };
+  by-version."base64id"."0.1.0" = self.buildNodePackage {
+    name = "base64id-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
+      name = "base64id-0.1.0.tgz";
+      sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64url"."0.0.3" =
+    self.by-version."base64url"."0.0.3";
+  by-version."base64url"."0.0.3" = self.buildNodePackage {
+    name = "base64url-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64url/-/base64url-0.0.3.tgz";
+      name = "base64url-0.0.3.tgz";
+      sha1 = "50c20edac277dde1a0b15059954ced7a2d102d57";
+    };
+    deps = {
+      "tap-0.3.3" = self.by-version."tap"."0.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64url"."0.0.6" =
+    self.by-version."base64url"."0.0.6";
+  by-version."base64url"."0.0.6" = self.buildNodePackage {
+    name = "base64url-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64url/-/base64url-0.0.6.tgz";
+      name = "base64url-0.0.6.tgz";
+      sha1 = "9597b36b330db1c42477322ea87ea8027499b82b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64url"."~0.0.3" =
+    self.by-version."base64url"."0.0.6";
   by-spec."basic-auth"."1.0.0" =
     self.by-version."basic-auth"."1.0.0";
-  by-version."basic-auth"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-basic-auth-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
-        name = "basic-auth-1.0.0.tgz";
-        sha1 = "111b2d9ff8e4e6d136b8c84ea5e096cb87351637";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."basic-auth" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "basic-auth" ];
+  by-version."basic-auth"."1.0.0" = self.buildNodePackage {
+    name = "basic-auth-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
+      name = "basic-auth-1.0.0.tgz";
+      sha1 = "111b2d9ff8e4e6d136b8c84ea5e096cb87351637";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."basic-auth-connect"."1.0.0" =
     self.by-version."basic-auth-connect"."1.0.0";
-  by-version."basic-auth-connect"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-basic-auth-connect-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
-        name = "basic-auth-connect-1.0.0.tgz";
-        sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."basic-auth-connect" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "basic-auth-connect" ];
+  by-version."basic-auth-connect"."1.0.0" = self.buildNodePackage {
+    name = "basic-auth-connect-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
+      name = "basic-auth-connect-1.0.0.tgz";
+      sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."batbelt"."0.0.2" =
+    self.by-version."batbelt"."0.0.2";
+  by-version."batbelt"."0.0.2" = self.buildNodePackage {
+    name = "batbelt-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/batbelt/-/batbelt-0.0.2.tgz";
+      name = "batbelt-0.0.2.tgz";
+      sha1 = "2285bf5438b03502e5c5a3cdaf3ad68bf0ad4a65";
+    };
+    deps = {
+      "hashish-0.0.4" = self.by-version."hashish"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."batch"."0.5.0" =
     self.by-version."batch"."0.5.0";
-  by-version."batch"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-batch-0.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/batch/-/batch-0.5.0.tgz";
-        name = "batch-0.5.0.tgz";
-        sha1 = "fd2e05a7a5d696b4db9314013e285d8ff3557ec3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."batch" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "batch" ];
+  by-version."batch"."0.5.0" = self.buildNodePackage {
+    name = "batch-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/batch/-/batch-0.5.0.tgz";
+      name = "batch-0.5.0.tgz";
+      sha1 = "fd2e05a7a5d696b4db9314013e285d8ff3557ec3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."batch"."0.5.1" =
     self.by-version."batch"."0.5.1";
-  by-version."batch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-batch-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/batch/-/batch-0.5.1.tgz";
-        name = "batch-0.5.1.tgz";
-        sha1 = "36a4bab594c050fd7b507bca0db30c2d92af4ff2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."batch" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "batch" ];
+  by-version."batch"."0.5.1" = self.buildNodePackage {
+    name = "batch-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/batch/-/batch-0.5.1.tgz";
+      name = "batch-0.5.1.tgz";
+      sha1 = "36a4bab594c050fd7b507bca0db30c2d92af4ff2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."batch"."0.5.2" =
+    self.by-version."batch"."0.5.2";
+  by-version."batch"."0.5.2" = self.buildNodePackage {
+    name = "batch-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/batch/-/batch-0.5.2.tgz";
+      name = "batch-0.5.2.tgz";
+      sha1 = "546543dbe32118c83c7c7ca33a1f5c5d5ea963e9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bcrypt"."*" =
-    self.by-version."bcrypt"."0.8.0";
-  by-version."bcrypt"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bcrypt-0.8.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.8.0.tgz";
-        name = "bcrypt-0.8.0.tgz";
-        sha1 = "b8f226406e5b78c838833a8468a4a0402cbc93c9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bcrypt" or []);
-    deps = [
-      self.by-version."bindings"."1.0.0"
-      self.by-version."nan"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bcrypt" ];
+    self.by-version."bcrypt"."0.8.1";
+  by-version."bcrypt"."0.8.1" = self.buildNodePackage {
+    name = "bcrypt-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.8.1.tgz";
+      name = "bcrypt-0.8.1.tgz";
+      sha1 = "384fa4fbc106ec87ccf8ee3d1e7e12d0ef8eeaaf";
+    };
+    deps = {
+      "bindings-1.0.0" = self.by-version."bindings"."1.0.0";
+      "nan-1.5.0" = self.by-version."nan"."1.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bcrypt" = self.by-version."bcrypt"."0.8.1";
+  by-spec."bcrypt".">=0.5.0" =
+    self.by-version."bcrypt"."0.8.1";
+  by-spec."bcryptjs"."2.1.0" =
+    self.by-version."bcryptjs"."2.1.0";
+  by-version."bcryptjs"."2.1.0" = self.buildNodePackage {
+    name = "bcryptjs-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bcryptjs/-/bcryptjs-2.1.0.tgz";
+      name = "bcryptjs-2.1.0.tgz";
+      sha1 = "5e6076196f6e3e957820aceb004410a7cf367042";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."beeper"."^1.0.0" =
+    self.by-version."beeper"."1.0.0";
+  by-version."beeper"."1.0.0" = self.buildNodePackage {
+    name = "beeper-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/beeper/-/beeper-1.0.0.tgz";
+      name = "beeper-1.0.0.tgz";
+      sha1 = "1ad2a27a9c7e545234119180afed61f80daaf02c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bencode"."^0.6.0" =
+    self.by-version."bencode"."0.6.0";
+  by-version."bencode"."0.6.0" = self.buildNodePackage {
+    name = "bencode-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bencode/-/bencode-0.6.0.tgz";
+      name = "bencode-0.6.0.tgz";
+      sha1 = "04d6190e1d7467c56a969e1a94d1668076eac050";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."better-assert"."~1.0.0" =
+    self.by-version."better-assert"."1.0.2";
+  by-version."better-assert"."1.0.2" = self.buildNodePackage {
+    name = "better-assert-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz";
+      name = "better-assert-1.0.2.tgz";
+      sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
+    };
+    deps = {
+      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."biased-opener"."~0.2.2" =
+    self.by-version."biased-opener"."0.2.2";
+  by-version."biased-opener"."0.2.2" = self.buildNodePackage {
+    name = "biased-opener-0.2.2";
+    version = "0.2.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/biased-opener/-/biased-opener-0.2.2.tgz";
+      name = "biased-opener-0.2.2.tgz";
+      sha1 = "e02a8eb20a07b1e1b555a3bf1e56f51b43465d98";
+    };
+    deps = {
+      "browser-launcher2-0.4.4" = self.by-version."browser-launcher2"."0.4.4";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "opener-1.4.0" = self.by-version."opener"."1.4.0";
+      "x-default-browser-0.3.0" = self.by-version."x-default-browser"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bigi"."^1.1.0" =
+    self.by-version."bigi"."1.4.0";
+  by-version."bigi"."1.4.0" = self.buildNodePackage {
+    name = "bigi-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz";
+      name = "bigi-1.4.0.tgz";
+      sha1 = "90ac1aeac0a531216463bdb58f42c1e05c8407ac";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bignumber.js"."^1.3.0" =
+    self.by-version."bignumber.js"."1.5.0";
+  by-version."bignumber.js"."1.5.0" = self.buildNodePackage {
+    name = "bignumber.js-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bignumber.js/-/bignumber.js-1.5.0.tgz";
+      name = "bignumber.js-1.5.0.tgz";
+      sha1 = "ff41453ac7b19ee15cda7977e179ff1b0d11956d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."binary"."~0.3.0" =
+    self.by-version."binary"."0.3.0";
+  by-version."binary"."0.3.0" = self.buildNodePackage {
+    name = "binary-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/binary/-/binary-0.3.0.tgz";
+      name = "binary-0.3.0.tgz";
+      sha1 = "9f60553bc5ce8c3386f3b553cff47462adecaa79";
+    };
+    deps = {
+      "chainsaw-0.1.0" = self.by-version."chainsaw"."0.1.0";
+      "buffers-0.1.1" = self.by-version."buffers"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."binary-extensions"."^1.0.0" =
+    self.by-version."binary-extensions"."1.3.0";
+  by-version."binary-extensions"."1.3.0" = self.buildNodePackage {
+    name = "binary-extensions-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/binary-extensions/-/binary-extensions-1.3.0.tgz";
+      name = "binary-extensions-1.3.0.tgz";
+      sha1 = "8c0fd7fa1bd27cfe1e6f2a1d38721647c80b2029";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."binaryheap".">= 0.0.3" =
+    self.by-version."binaryheap"."0.0.3";
+  by-version."binaryheap"."0.0.3" = self.buildNodePackage {
+    name = "binaryheap-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/binaryheap/-/binaryheap-0.0.3.tgz";
+      name = "binaryheap-0.0.3.tgz";
+      sha1 = "0d6136c84e9f1a5a90c0b97178c3e00df59820d6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "bcrypt" = self.by-version."bcrypt"."0.8.0";
   by-spec."bindings"."*" =
     self.by-version."bindings"."1.2.1";
-  by-version."bindings"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
-        name = "bindings-1.2.1.tgz";
-        sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bindings" ];
+  by-version."bindings"."1.2.1" = self.buildNodePackage {
+    name = "bindings-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
+      name = "bindings-1.2.1.tgz";
+      sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bindings"."1.0.0" =
     self.by-version."bindings"."1.0.0";
-  by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz";
-        name = "bindings-1.0.0.tgz";
-        sha1 = "c3ccde60e9de6807c6f1aa4ef4843af29191c828";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bindings" ];
+  by-version."bindings"."1.0.0" = self.buildNodePackage {
+    name = "bindings-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz";
+      name = "bindings-1.0.0.tgz";
+      sha1 = "c3ccde60e9de6807c6f1aa4ef4843af29191c828";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bindings"."1.1.0" =
+    self.by-version."bindings"."1.1.0";
+  by-version."bindings"."1.1.0" = self.buildNodePackage {
+    name = "bindings-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.1.0.tgz";
+      name = "bindings-1.1.0.tgz";
+      sha1 = "f3cc4deec19fe31f255864eb1e6ffad857266ef0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bindings"."1.1.1" =
     self.by-version."bindings"."1.1.1";
-  by-version."bindings"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bindings-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz";
-        name = "bindings-1.1.1.tgz";
-        sha1 = "951f7ae010302ffc50b265b124032017ed2bf6f3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bindings" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bindings" ];
-  };
+  by-version."bindings"."1.1.1" = self.buildNodePackage {
+    name = "bindings-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz";
+      name = "bindings-1.1.1.tgz";
+      sha1 = "951f7ae010302ffc50b265b124032017ed2bf6f3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bindings"."1.2.0" =
+    self.by-version."bindings"."1.2.0";
+  by-version."bindings"."1.2.0" = self.buildNodePackage {
+    name = "bindings-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.2.0.tgz";
+      name = "bindings-1.2.0.tgz";
+      sha1 = "c224fc5b349a84043779f97a6271d9d70da7636f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bindings"."1.2.1" =
+    self.by-version."bindings"."1.2.1";
+  by-spec."bindings"."1.2.x" =
+    self.by-version."bindings"."1.2.1";
   by-spec."bindings".">=1.2.1" =
     self.by-version."bindings"."1.2.1";
+  by-spec."bindings"."^1.2.1" =
+    self.by-version."bindings"."1.2.1";
+  by-spec."bindings"."~1.1.1" =
+    self.by-version."bindings"."1.1.1";
   by-spec."bindings"."~1.2.1" =
     self.by-version."bindings"."1.2.1";
+  by-spec."bip-pod".">=0.0.1" =
+    self.by-version."bip-pod"."0.3.8";
+  by-version."bip-pod"."0.3.8" = self.buildNodePackage {
+    name = "bip-pod-0.3.8";
+    version = "0.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod/-/bip-pod-0.3.8.tgz";
+      name = "bip-pod-0.3.8.tgz";
+      sha1 = "0c1d60c473fa6a9ae7c8ba5b56150aecb3af6b7b";
+    };
+    deps = {
+      "JSONPath-0.10.0" = self.by-version."JSONPath"."0.10.0";
+      "cron-1.0.6" = self.by-version."cron"."1.0.6";
+      "dns-0.2.2" = self.by-version."dns"."0.2.2";
+      "extend-2.0.0" = self.by-version."extend"."2.0.0";
+      "ipaddr.js-0.1.8" = self.by-version."ipaddr.js"."0.1.8";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "moment-2.9.0" = self.by-version."moment"."2.9.0";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "tldtools-0.0.23" = self.by-version."tldtools"."0.0.23";
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+      "validator-1.5.1" = self.by-version."validator"."1.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-alchemy"."*" =
+    self.by-version."bip-pod-alchemy"."0.3.0";
+  by-version."bip-pod-alchemy"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-alchemy-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-alchemy/-/bip-pod-alchemy-0.3.0.tgz";
+      name = "bip-pod-alchemy-0.3.0.tgz";
+      sha1 = "b0f75ec915bd890d56b47864de3e883787f55a9d";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-alchemy" = self.by-version."bip-pod-alchemy"."0.3.0";
+  by-spec."bip-pod-bitly"."*" =
+    self.by-version."bip-pod-bitly"."0.3.0";
+  by-version."bip-pod-bitly"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-bitly-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-bitly/-/bip-pod-bitly-0.3.0.tgz";
+      name = "bip-pod-bitly-0.3.0.tgz";
+      sha1 = "3d08cc7aec108e3df6d32c5d9aa5760b8ecd9165";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-bitly-0.1.0" = self.by-version."passport-bitly"."0.1.0";
+      "request-2.29.0" = self.by-version."request"."2.29.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-bitly" = self.by-version."bip-pod-bitly"."0.3.0";
+  by-spec."bip-pod-chain"."*" =
+    self.by-version."bip-pod-chain"."0.3.0";
+  by-version."bip-pod-chain"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-chain-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-chain/-/bip-pod-chain-0.3.0.tgz";
+      name = "bip-pod-chain-0.3.0.tgz";
+      sha1 = "4acd59449ae8c4e5449f6eef66cc442fc5f4821e";
+    };
+    deps = {
+      "chain-node-3.1.0" = self.by-version."chain-node"."3.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-chain" = self.by-version."bip-pod-chain"."0.3.0";
+  by-spec."bip-pod-circonus"."*" =
+    self.by-version."bip-pod-circonus"."0.3.0";
+  by-version."bip-pod-circonus"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-circonus-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-circonus/-/bip-pod-circonus-0.3.0.tgz";
+      name = "bip-pod-circonus-0.3.0.tgz";
+      sha1 = "7a8a26f9e04f1e84c76083da65b657e2aee6319d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-circonus" = self.by-version."bip-pod-circonus"."0.3.0";
+  by-spec."bip-pod-coindesk"."*" =
+    self.by-version."bip-pod-coindesk"."0.3.0";
+  by-version."bip-pod-coindesk"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-coindesk-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-coindesk/-/bip-pod-coindesk-0.3.0.tgz";
+      name = "bip-pod-coindesk-0.3.0.tgz";
+      sha1 = "51e0a6973da016968f5da988f5505d57009caa1f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-coindesk" = self.by-version."bip-pod-coindesk"."0.3.0";
+  by-spec."bip-pod-craigslist"."*" =
+    self.by-version."bip-pod-craigslist"."0.3.0";
+  by-version."bip-pod-craigslist"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-craigslist-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-craigslist/-/bip-pod-craigslist-0.3.0.tgz";
+      name = "bip-pod-craigslist-0.3.0.tgz";
+      sha1 = "755021eeb9bf04ddeed804eaa6dd8e9c7d6c8927";
+    };
+    deps = {
+      "node-craigslist-0.1.7" = self.by-version."node-craigslist"."0.1.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-craigslist" = self.by-version."bip-pod-craigslist"."0.3.0";
+  by-spec."bip-pod-crypto"."*" =
+    self.by-version."bip-pod-crypto"."0.3.0";
+  by-version."bip-pod-crypto"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-crypto-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-crypto/-/bip-pod-crypto-0.3.0.tgz";
+      name = "bip-pod-crypto-0.3.0.tgz";
+      sha1 = "94b9e7e0f48b104921d61594897e219184c9297e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-crypto" = self.by-version."bip-pod-crypto"."0.3.0";
+  by-spec."bip-pod-crypto".">=0.0.1" =
+    self.by-version."bip-pod-crypto"."0.3.0";
+  by-spec."bip-pod-dropbox"."*" =
+    self.by-version."bip-pod-dropbox"."0.3.0";
+  by-version."bip-pod-dropbox"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-dropbox-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-dropbox/-/bip-pod-dropbox-0.3.0.tgz";
+      name = "bip-pod-dropbox-0.3.0.tgz";
+      sha1 = "2913f96f1aaa797fa3ba6edf7adc8314e5807c3b";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "passport-dropbox-0.1.2" = self.by-version."passport-dropbox"."0.1.2";
+      "dropbox-0.9.2" = self.by-version."dropbox"."0.9.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-dropbox" = self.by-version."bip-pod-dropbox"."0.3.0";
+  by-spec."bip-pod-email".">=0.0.1" =
+    self.by-version."bip-pod-email"."0.3.3";
+  by-version."bip-pod-email"."0.3.3" = self.buildNodePackage {
+    name = "bip-pod-email-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-email/-/bip-pod-email-0.3.3.tgz";
+      name = "bip-pod-email-0.3.3.tgz";
+      sha1 = "192ee1789e540761bb8d9b27b35ce3a80bd2fa69";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "nodemailer-0.7.1" = self.by-version."nodemailer"."0.7.1";
+      "ejs-0.7.1" = self.by-version."ejs"."0.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-embedly"."*" =
+    self.by-version."bip-pod-embedly"."0.3.0";
+  by-version."bip-pod-embedly"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-embedly-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-embedly/-/bip-pod-embedly-0.3.0.tgz";
+      name = "bip-pod-embedly-0.3.0.tgz";
+      sha1 = "02c7f1c60157f5f5aa880d77acbcdaabf1661ea8";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "embedly-1.0.4" = self.by-version."embedly"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-embedly" = self.by-version."bip-pod-embedly"."0.3.0";
+  by-spec."bip-pod-evernote"."*" =
+    self.by-version."bip-pod-evernote"."0.3.1";
+  by-version."bip-pod-evernote"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-evernote-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-evernote/-/bip-pod-evernote-0.3.1.tgz";
+      name = "bip-pod-evernote-0.3.1.tgz";
+      sha1 = "8b68235df6cad374b45bd456b2358a21a6bafd73";
+    };
+    deps = {
+      "evernote-1.25.4" = self.by-version."evernote"."1.25.4";
+      "passport-evernote-0.1.1" = self.by-version."passport-evernote"."0.1.1";
+      "q-1.2.0" = self.by-version."q"."1.2.0";
+      "xml2json-0.5.1" = self.by-version."xml2json"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-evernote" = self.by-version."bip-pod-evernote"."0.3.1";
+  by-spec."bip-pod-facebook"."*" =
+    self.by-version."bip-pod-facebook"."0.3.0";
+  by-version."bip-pod-facebook"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-facebook-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-facebook/-/bip-pod-facebook-0.3.0.tgz";
+      name = "bip-pod-facebook-0.3.0.tgz";
+      sha1 = "ee81bf9e12ed54831d0c4aa69bab4d19308c6f45";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "async-0.1.18" = self.by-version."async"."0.1.18";
+      "fb-0.7.0" = self.by-version."fb"."0.7.0";
+      "passport-facebook-1.0.3" = self.by-version."passport-facebook"."1.0.3";
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-facebook" = self.by-version."bip-pod-facebook"."0.3.0";
+  by-spec."bip-pod-flickr"."*" =
+    self.by-version."bip-pod-flickr"."0.3.1";
+  by-version."bip-pod-flickr"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-flickr-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-flickr/-/bip-pod-flickr-0.3.1.tgz";
+      name = "bip-pod-flickr-0.3.1.tgz";
+      sha1 = "10f17538e2d7431957b8b0dc69b2945c4e2fce8c";
+    };
+    deps = {
+      "passport-flickr-0.2.0" = self.by-version."passport-flickr"."0.2.0";
+      "flickrapi-0.3.28" = self.by-version."flickrapi"."0.3.28";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-flickr" = self.by-version."bip-pod-flickr"."0.3.1";
+  by-spec."bip-pod-flow".">=0.0.1" =
+    self.by-version."bip-pod-flow"."0.3.1";
+  by-version."bip-pod-flow"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-flow-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-flow/-/bip-pod-flow-0.3.1.tgz";
+      name = "bip-pod-flow-0.3.1.tgz";
+      sha1 = "69cae3cf582dc02434c416f10a88febc9955cfb5";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "xml2json-0.6.1" = self.by-version."xml2json"."0.6.1";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "safe-regex-0.0.1" = self.by-version."safe-regex"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-github"."*" =
+    self.by-version."bip-pod-github"."0.3.1";
+  by-version."bip-pod-github"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-github-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-github/-/bip-pod-github-0.3.1.tgz";
+      name = "bip-pod-github-0.3.1.tgz";
+      sha1 = "8605c36790e3a26f4b881a9dcd8a1b179b875369";
+    };
+    deps = {
+      "passport-github-0.1.5" = self.by-version."passport-github"."0.1.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-github" = self.by-version."bip-pod-github"."0.3.1";
+  by-spec."bip-pod-gmail"."*" =
+    self.by-version."bip-pod-gmail"."0.3.1";
+  by-version."bip-pod-gmail"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-gmail-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-gmail/-/bip-pod-gmail-0.3.1.tgz";
+      name = "bip-pod-gmail-0.3.1.tgz";
+      sha1 = "01e615d9dfa96bb1bc6ebf99f00fdf43bf34bc5f";
+    };
+    deps = {
+      "googleapis-1.1.3" = self.by-version."googleapis"."1.1.3";
+      "passport-google-oauth-0.1.5" = self.by-version."passport-google-oauth"."0.1.5";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-gmail" = self.by-version."bip-pod-gmail"."0.3.1";
+  by-spec."bip-pod-google"."*" =
+    self.by-version."bip-pod-google"."0.3.0";
+  by-version."bip-pod-google"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-google-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-google/-/bip-pod-google-0.3.0.tgz";
+      name = "bip-pod-google-0.3.0.tgz";
+      sha1 = "75712cc9a5ed0e78d01fafef879ff9ccd717b07b";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-google-oauth-0.1.5" = self.by-version."passport-google-oauth"."0.1.5";
+      "googleapis-0.8.0" = self.by-version."googleapis"."0.8.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-google" = self.by-version."bip-pod-google"."0.3.0";
+  by-spec."bip-pod-google-drive"."*" =
+    self.by-version."bip-pod-google-drive"."0.3.0";
+  by-version."bip-pod-google-drive"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-google-drive-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-google-drive/-/bip-pod-google-drive-0.3.0.tgz";
+      name = "bip-pod-google-drive-0.3.0.tgz";
+      sha1 = "d34617def8d9216f0a08e2c0a36bfc0e9d491021";
+    };
+    deps = {
+      "googleapis-1.1.3" = self.by-version."googleapis"."1.1.3";
+      "passport-google-oauth-0.1.5" = self.by-version."passport-google-oauth"."0.1.5";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-google-drive" = self.by-version."bip-pod-google-drive"."0.3.0";
+  by-spec."bip-pod-html".">=0.0.1" =
+    self.by-version."bip-pod-html"."0.3.1";
+  by-version."bip-pod-html"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-html-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-html/-/bip-pod-html-0.3.1.tgz";
+      name = "bip-pod-html-0.3.1.tgz";
+      sha1 = "a784af5cb9d9be8b18c714351e2f21782ec9c588";
+    };
+    deps = {
+      "favitest-1.0.7" = self.by-version."favitest"."1.0.7";
+      "jsdom-0.10.6" = self.by-version."jsdom"."0.10.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-http".">=0.0.1" =
+    self.by-version."bip-pod-http"."0.3.0";
+  by-version."bip-pod-http"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-http-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-http/-/bip-pod-http-0.3.0.tgz";
+      name = "bip-pod-http-0.3.0.tgz";
+      sha1 = "311f42fdfca0e013390650ac2149740cb7a34afe";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-imgur"."*" =
+    self.by-version."bip-pod-imgur"."0.3.0";
+  by-version."bip-pod-imgur"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-imgur-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-imgur/-/bip-pod-imgur-0.3.0.tgz";
+      name = "bip-pod-imgur-0.3.0.tgz";
+      sha1 = "a3f7e3ded575bc9d77358e32f888634abe2fd50e";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "passport-imgur-0.0.2" = self.by-version."passport-imgur"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-imgur" = self.by-version."bip-pod-imgur"."0.3.0";
+  by-spec."bip-pod-instagram"."*" =
+    self.by-version."bip-pod-instagram"."0.3.0";
+  by-version."bip-pod-instagram"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-instagram-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-instagram/-/bip-pod-instagram-0.3.0.tgz";
+      name = "bip-pod-instagram-0.3.0.tgz";
+      sha1 = "fd4c8dfe2968d89020957ac29334abb256b8b4ba";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-instagram-0.1.2" = self.by-version."passport-instagram"."0.1.2";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-instagram" = self.by-version."bip-pod-instagram"."0.3.0";
+  by-spec."bip-pod-kato"."*" =
+    self.by-version."bip-pod-kato"."0.3.0";
+  by-version."bip-pod-kato"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-kato-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-kato/-/bip-pod-kato-0.3.0.tgz";
+      name = "bip-pod-kato-0.3.0.tgz";
+      sha1 = "4b6b384c84535923a351a2f18c691a105d403dd1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-kato" = self.by-version."bip-pod-kato"."0.3.0";
+  by-spec."bip-pod-keenio"."*" =
+    self.by-version."bip-pod-keenio"."0.3.0";
+  by-version."bip-pod-keenio"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-keenio-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-keenio/-/bip-pod-keenio-0.3.0.tgz";
+      name = "bip-pod-keenio-0.3.0.tgz";
+      sha1 = "4888228bd2535e0423680ea9d3028152c531ee38";
+    };
+    deps = {
+      "keen.io-0.1.3" = self.by-version."keen.io"."0.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-keenio" = self.by-version."bip-pod-keenio"."0.3.0";
+  by-spec."bip-pod-mailchimp"."*" =
+    self.by-version."bip-pod-mailchimp"."0.3.1";
+  by-version."bip-pod-mailchimp"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-mailchimp-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-mailchimp/-/bip-pod-mailchimp-0.3.1.tgz";
+      name = "bip-pod-mailchimp-0.3.1.tgz";
+      sha1 = "a0fa3f9920dab70a76c98df0edc10a1c3d5f8485";
+    };
+    deps = {
+      "passport-mailchimp-0.0.1" = self.by-version."passport-mailchimp"."0.0.1";
+      "mailchimp-1.1.0" = self.by-version."mailchimp"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-mailchimp" = self.by-version."bip-pod-mailchimp"."0.3.1";
+  by-spec."bip-pod-mailgun"."*" =
+    self.by-version."bip-pod-mailgun"."0.3.0";
+  by-version."bip-pod-mailgun"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-mailgun-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-mailgun/-/bip-pod-mailgun-0.3.0.tgz";
+      name = "bip-pod-mailgun-0.3.0.tgz";
+      sha1 = "34a4a921ad790a00c8b6a5b9fba30bbc935e9a35";
+    };
+    deps = {
+      "mailgun-js-0.6.8" = self.by-version."mailgun-js"."0.6.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-mailgun" = self.by-version."bip-pod-mailgun"."0.3.0";
+  by-spec."bip-pod-math".">=0.0.1" =
+    self.by-version."bip-pod-math"."0.3.2";
+  by-version."bip-pod-math"."0.3.2" = self.buildNodePackage {
+    name = "bip-pod-math-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-math/-/bip-pod-math-0.3.2.tgz";
+      name = "bip-pod-math-0.3.2.tgz";
+      sha1 = "b8de2c25dbf25449c86c2eca2a5738c80c6b96d8";
+    };
+    deps = {
+      "mathjs-0.19.0" = self.by-version."mathjs"."0.19.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-mixcloud"."*" =
+    self.by-version."bip-pod-mixcloud"."0.3.0";
+  by-version."bip-pod-mixcloud"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-mixcloud-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-mixcloud/-/bip-pod-mixcloud-0.3.0.tgz";
+      name = "bip-pod-mixcloud-0.3.0.tgz";
+      sha1 = "a218a84e84329b4972509de2449ef99744b809ea";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-mixcloud-0.0.2" = self.by-version."passport-mixcloud"."0.0.2";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-mixcloud" = self.by-version."bip-pod-mixcloud"."0.3.0";
+  by-spec."bip-pod-mongodb"."*" =
+    self.by-version."bip-pod-mongodb"."0.3.1";
+  by-version."bip-pod-mongodb"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-mongodb-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-mongodb/-/bip-pod-mongodb-0.3.1.tgz";
+      name = "bip-pod-mongodb-0.3.1.tgz";
+      sha1 = "3eb25f1255f5cef8fa5e7f14378f1e6c7a93908a";
+    };
+    deps = {
+      "mongodb-2.0.16" = self.by-version."mongodb"."2.0.16";
+      "assert-1.3.0" = self.by-version."assert"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-mongodb" = self.by-version."bip-pod-mongodb"."0.3.1";
+  by-spec."bip-pod-numerous"."*" =
+    self.by-version."bip-pod-numerous"."0.3.0";
+  by-version."bip-pod-numerous"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-numerous-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-numerous/-/bip-pod-numerous-0.3.0.tgz";
+      name = "bip-pod-numerous-0.3.0.tgz";
+      sha1 = "f2abbe029b380c637e55c62382caff9e3c7bc154";
+    };
+    deps = {
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-numerous" = self.by-version."bip-pod-numerous"."0.3.0";
+  by-spec."bip-pod-pushbullet"."*" =
+    self.by-version."bip-pod-pushbullet"."0.3.0";
+  by-version."bip-pod-pushbullet"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-pushbullet-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-pushbullet/-/bip-pod-pushbullet-0.3.0.tgz";
+      name = "bip-pod-pushbullet-0.3.0.tgz";
+      sha1 = "da4f43cdc68ecaf267df8fe74c65f5206f65d657";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-pushbullet" = self.by-version."bip-pod-pushbullet"."0.3.0";
+  by-spec."bip-pod-pusher"."*" =
+    self.by-version."bip-pod-pusher"."0.3.0";
+  by-version."bip-pod-pusher"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-pusher-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-pusher/-/bip-pod-pusher-0.3.0.tgz";
+      name = "bip-pod-pusher-0.3.0.tgz";
+      sha1 = "c23247a9532d9913938d547e6278c7466634a0d8";
+    };
+    deps = {
+      "pusher-1.0.4" = self.by-version."pusher"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-pusher" = self.by-version."bip-pod-pusher"."0.3.0";
+  by-spec."bip-pod-soundcloud"."*" =
+    self.by-version."bip-pod-soundcloud"."0.3.0";
+  by-version."bip-pod-soundcloud"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-soundcloud-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-soundcloud/-/bip-pod-soundcloud-0.3.0.tgz";
+      name = "bip-pod-soundcloud-0.3.0.tgz";
+      sha1 = "3f35efdf27e684ae3f05019bfe83798c36fe0f19";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-soundcloud-0.1.2" = self.by-version."passport-soundcloud"."0.1.2";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-soundcloud" = self.by-version."bip-pod-soundcloud"."0.3.0";
+  by-spec."bip-pod-statuscake"."*" =
+    self.by-version."bip-pod-statuscake"."0.3.0";
+  by-version."bip-pod-statuscake"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-statuscake-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-statuscake/-/bip-pod-statuscake-0.3.0.tgz";
+      name = "bip-pod-statuscake-0.3.0.tgz";
+      sha1 = "3cc042c336739248d98609aaf6ea0dd881796dc8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-statuscake" = self.by-version."bip-pod-statuscake"."0.3.0";
+  by-spec."bip-pod-syndication".">=0.0.1" =
+    self.by-version."bip-pod-syndication"."0.3.5";
+  by-version."bip-pod-syndication"."0.3.5" = self.buildNodePackage {
+    name = "bip-pod-syndication-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-syndication/-/bip-pod-syndication-0.3.5.tgz";
+      name = "bip-pod-syndication-0.3.5.tgz";
+      sha1 = "21874326672a82a56bc40702efabfb3cbfa66d49";
+    };
+    deps = {
+      "ejs-2.3.1" = self.by-version."ejs"."2.3.1";
+      "favitest-1.0.7" = self.by-version."favitest"."1.0.7";
+      "feedparser-0.19.2" = self.by-version."feedparser"."0.19.2";
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "imagemagick-0.1.3" = self.by-version."imagemagick"."0.1.3";
+      "moment-2.9.0" = self.by-version."moment"."2.9.0";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "rss-1.1.1" = self.by-version."rss"."1.1.1";
+      "send-0.9.3" = self.by-version."send"."0.9.3";
+      "validator-1.5.1" = self.by-version."validator"."1.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-templater".">=0.0.1" =
+    self.by-version."bip-pod-templater"."0.3.0";
+  by-version."bip-pod-templater"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-templater-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-templater/-/bip-pod-templater-0.3.0.tgz";
+      name = "bip-pod-templater-0.3.0.tgz";
+      sha1 = "37e06e747d3fe6efc324ff5a32bd7c797353f719";
+    };
+    deps = {
+      "html-md-3.0.2" = self.by-version."html-md"."3.0.2";
+      "marked-0.3.3" = self.by-version."marked"."0.3.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-time".">=0.0.1" =
+    self.by-version."bip-pod-time"."0.3.1";
+  by-version."bip-pod-time"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-time-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-time/-/bip-pod-time-0.3.1.tgz";
+      name = "bip-pod-time-0.3.1.tgz";
+      sha1 = "97dae8e0b997ba22f43a8d8c7ff13f965883a735";
+    };
+    deps = {
+      "moment-2.5.1" = self.by-version."moment"."2.5.1";
+      "moment-timezone-0.0.3" = self.by-version."moment-timezone"."0.0.3";
+      "sugar-1.4.1" = self.by-version."sugar"."1.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bip-pod-todoist"."*" =
+    self.by-version."bip-pod-todoist"."0.3.0";
+  by-version."bip-pod-todoist"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-todoist-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-todoist/-/bip-pod-todoist-0.3.0.tgz";
+      name = "bip-pod-todoist-0.3.0.tgz";
+      sha1 = "d5d7e92ffa609c44c3bcb12db24f57686c3b5a2c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-todoist" = self.by-version."bip-pod-todoist"."0.3.0";
+  by-spec."bip-pod-trello"."*" =
+    self.by-version."bip-pod-trello"."0.3.0";
+  by-version."bip-pod-trello"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-trello-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-trello/-/bip-pod-trello-0.3.0.tgz";
+      name = "bip-pod-trello-0.3.0.tgz";
+      sha1 = "52fc0731a0c3a357a21b79b3a7d5902cb2f80408";
+    };
+    deps = {
+      "passport-trello-0.1.4" = self.by-version."passport-trello"."0.1.4";
+      "q-1.2.0" = self.by-version."q"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-trello" = self.by-version."bip-pod-trello"."0.3.0";
+  by-spec."bip-pod-twilio"."*" =
+    self.by-version."bip-pod-twilio"."0.3.1";
+  by-version."bip-pod-twilio"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-twilio-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-twilio/-/bip-pod-twilio-0.3.1.tgz";
+      name = "bip-pod-twilio-0.3.1.tgz";
+      sha1 = "44160bf0df0fd0f4b6ce879383434044081c01b7";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "twilio-1.11.0" = self.by-version."twilio"."1.11.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-twilio" = self.by-version."bip-pod-twilio"."0.3.1";
+  by-spec."bip-pod-twitter"."*" =
+    self.by-version."bip-pod-twitter"."0.3.4";
+  by-version."bip-pod-twitter"."0.3.4" = self.buildNodePackage {
+    name = "bip-pod-twitter-0.3.4";
+    version = "0.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-twitter/-/bip-pod-twitter-0.3.4.tgz";
+      name = "bip-pod-twitter-0.3.4.tgz";
+      sha1 = "77ce4dbf50a787c22bd2dfe73028d967c0948973";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "ntwitter-0.5.0" = self.by-version."ntwitter"."0.5.0";
+      "passport-twitter-1.0.2" = self.by-version."passport-twitter"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-twitter" = self.by-version."bip-pod-twitter"."0.3.4";
+  by-spec."bip-pod-witai"."*" =
+    self.by-version."bip-pod-witai"."0.3.0";
+  by-version."bip-pod-witai"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-witai-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-witai/-/bip-pod-witai-0.3.0.tgz";
+      name = "bip-pod-witai-0.3.0.tgz";
+      sha1 = "5fa089155895fe375fc32262fe734ff980ef455d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-witai" = self.by-version."bip-pod-witai"."0.3.0";
+  by-spec."bip-pod-wordpress"."*" =
+    self.by-version."bip-pod-wordpress"."0.3.0";
+  by-version."bip-pod-wordpress"."0.3.0" = self.buildNodePackage {
+    name = "bip-pod-wordpress-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-wordpress/-/bip-pod-wordpress-0.3.0.tgz";
+      name = "bip-pod-wordpress-0.3.0.tgz";
+      sha1 = "5a4f863de9a5fae3aea7f9fd76ef5c0f9b46172a";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "passport-wordpress-0.0.3" = self.by-version."passport-wordpress"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-wordpress" = self.by-version."bip-pod-wordpress"."0.3.0";
+  by-spec."bip-pod-zoho"."*" =
+    self.by-version."bip-pod-zoho"."0.3.1";
+  by-version."bip-pod-zoho"."0.3.1" = self.buildNodePackage {
+    name = "bip-pod-zoho-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bip-pod-zoho/-/bip-pod-zoho-0.3.1.tgz";
+      name = "bip-pod-zoho-0.3.1.tgz";
+      sha1 = "a7c4edd30388ef66798fb871bb67f793ea18a774";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "xml2json-0.6.1" = self.by-version."xml2json"."0.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bip-pod-zoho" = self.by-version."bip-pod-zoho"."0.3.1";
+  by-spec."bipio"."*" =
+    self.by-version."bipio"."0.3.24";
+  by-version."bipio"."0.3.24" = self.buildNodePackage {
+    name = "bipio-0.3.24";
+    version = "0.3.24";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bipio/-/bipio-0.3.24.tgz";
+      name = "bipio-0.3.24.tgz";
+      sha1 = "cd828183d7e54ba488a9ffdf164ddc1327e21c3d";
+    };
+    deps = {
+      "JSONPath-0.10.0" = self.by-version."JSONPath"."0.10.0";
+      "amqp-0.2.3" = self.by-version."amqp"."0.2.3";
+      "async-0.1.18" = self.by-version."async"."0.1.18";
+      "base-converter-1.1.2" = self.by-version."base-converter"."1.1.2";
+      "bcrypt-0.8.1" = self.by-version."bcrypt"."0.8.1";
+      "bip-pod-0.3.8" = self.by-version."bip-pod"."0.3.8";
+      "bip-pod-crypto-0.3.0" = self.by-version."bip-pod-crypto"."0.3.0";
+      "bip-pod-email-0.3.3" = self.by-version."bip-pod-email"."0.3.3";
+      "bip-pod-flow-0.3.1" = self.by-version."bip-pod-flow"."0.3.1";
+      "bip-pod-html-0.3.1" = self.by-version."bip-pod-html"."0.3.1";
+      "bip-pod-http-0.3.0" = self.by-version."bip-pod-http"."0.3.0";
+      "bip-pod-math-0.3.2" = self.by-version."bip-pod-math"."0.3.2";
+      "bip-pod-syndication-0.3.5" = self.by-version."bip-pod-syndication"."0.3.5";
+      "bip-pod-templater-0.3.0" = self.by-version."bip-pod-templater"."0.3.0";
+      "bip-pod-time-0.3.1" = self.by-version."bip-pod-time"."0.3.1";
+      "body-parser-1.12.0" = self.by-version."body-parser"."1.12.0";
+      "clone-1.0.0" = self.by-version."clone"."1.0.0";
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+      "config-0.4.36" = self.by-version."config"."0.4.36";
+      "connect-2.29.0" = self.by-version."connect"."2.29.0";
+      "connect-mongo-0.7.0" = self.by-version."connect-mongo"."0.7.0";
+      "cookie-parser-1.3.4" = self.by-version."cookie-parser"."1.3.4";
+      "cron-1.0.6" = self.by-version."cron"."1.0.6";
+      "dateformat-1.0.7-1.2.3" = self.by-version."dateformat"."1.0.7-1.2.3";
+      "datejs-0.0.2" = self.by-version."datejs"."0.0.2";
+      "errorhandler-1.3.4" = self.by-version."errorhandler"."1.3.4";
+      "execSync-1.0.2" = self.by-version."execSync"."1.0.2";
+      "express-4.12.0" = self.by-version."express"."4.12.0";
+      "express-session-1.10.3" = self.by-version."express-session"."1.10.3";
+      "extend-2.0.0" = self.by-version."extend"."2.0.0";
+      "favitest-1.0.7" = self.by-version."favitest"."1.0.7";
+      "heapdump-0.2.10" = self.by-version."heapdump"."0.2.10";
+      "html-md-3.0.2" = self.by-version."html-md"."3.0.2";
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "imagemagick-0.1.3" = self.by-version."imagemagick"."0.1.3";
+      "inquirer-0.8.0" = self.by-version."inquirer"."0.8.0";
+      "ipaddr.js-0.1.8" = self.by-version."ipaddr.js"."0.1.8";
+      "json-middleware-1.0.2" = self.by-version."json-middleware"."1.0.2";
+      "jsonwebtoken-1.3.0" = self.by-version."jsonwebtoken"."1.3.0";
+      "ldapjs-0.7.1" = self.by-version."ldapjs"."0.7.1";
+      "lodash-3.3.0" = self.by-version."lodash"."3.3.0";
+      "marked-0.3.3" = self.by-version."marked"."0.3.3";
+      "memwatch-0.2.2" = self.by-version."memwatch"."0.2.2";
+      "method-override-1.0.2" = self.by-version."method-override"."1.0.2";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "moment-2.9.0" = self.by-version."moment"."2.9.0";
+      "mongoose-3.9.7" = self.by-version."mongoose"."3.9.7";
+      "multer-0.1.8" = self.by-version."multer"."0.1.8";
+      "node-fs-0.1.7" = self.by-version."node-fs"."0.1.7";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "posix-getopt-1.1.0" = self.by-version."posix-getopt"."1.1.0";
+      "q-1.2.0" = self.by-version."q"."1.2.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "sleep-1.2.0" = self.by-version."sleep"."1.2.0";
+      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
+      "ssl-root-cas-1.1.7" = self.by-version."ssl-root-cas"."1.1.7";
+      "sugar-1.4.1" = self.by-version."sugar"."1.4.1";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "time-0.11.1" = self.by-version."time"."0.11.1";
+      "tldtools-0.0.23" = self.by-version."tldtools"."0.0.23";
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+      "validator-1.5.1" = self.by-version."validator"."1.5.1";
+      "webkit-devtools-agent-0.2.5" = self.by-version."webkit-devtools-agent"."0.2.5";
+      "winston-0.5.1" = self.by-version."winston"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bipio" = self.by-version."bipio"."0.3.24";
+  by-spec."bitcoinjs-lib"."1.2.0" =
+    self.by-version."bitcoinjs-lib"."1.2.0";
+  by-version."bitcoinjs-lib"."1.2.0" = self.buildNodePackage {
+    name = "bitcoinjs-lib-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-1.2.0.tgz";
+      name = "bitcoinjs-lib-1.2.0.tgz";
+      sha1 = "731ce2f24b6065f8d9af18757516eed882ad1619";
+    };
+    deps = {
+      "bigi-1.4.0" = self.by-version."bigi"."1.4.0";
+      "bs58check-1.0.3" = self.by-version."bs58check"."1.0.3";
+      "crypto-browserify-3.9.12" = self.by-version."crypto-browserify"."3.9.12";
+      "ecurve-1.0.0" = self.by-version."ecurve"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bitfield"."^0.1.0" =
+    self.by-version."bitfield"."0.1.0";
+  by-version."bitfield"."0.1.0" = self.buildNodePackage {
+    name = "bitfield-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bitfield/-/bitfield-0.1.0.tgz";
+      name = "bitfield-0.1.0.tgz";
+      sha1 = "b05d8b5f0d09f2df35a9db3b3a62d3808c46c457";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bits"."~0.1.1" =
+    self.by-version."bits"."0.1.1";
+  by-version."bits"."0.1.1" = self.buildNodePackage {
+    name = "bits-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bits/-/bits-0.1.1.tgz";
+      name = "bits-0.1.1.tgz";
+      sha1 = "7082eb8b7bdf12e47b0a8cf8f7ad3af4e7053a96";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bittorrent-dht"."^1.0.0" =
+    self.by-version."bittorrent-dht"."1.5.0";
+  by-version."bittorrent-dht"."1.5.0" = self.buildNodePackage {
+    name = "bittorrent-dht-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-1.5.0.tgz";
+      name = "bittorrent-dht-1.5.0.tgz";
+      sha1 = "b14b34eace8f44e795a8bad69a44b08ca485c355";
+    };
+    deps = {
+      "bencode-0.6.0" = self.by-version."bencode"."0.6.0";
+      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "k-bucket-0.4.2" = self.by-version."k-bucket"."0.4.2";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "portfinder-0.2.1" = self.by-version."portfinder"."0.2.1";
+      "run-parallel-1.0.0" = self.by-version."run-parallel"."1.0.0";
+      "string2compact-1.2.1" = self.by-version."string2compact"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bittorrent-dht"."^2.6.4" =
+    self.by-version."bittorrent-dht"."2.6.4";
+  by-version."bittorrent-dht"."2.6.4" = self.buildNodePackage {
+    name = "bittorrent-dht-2.6.4";
+    version = "2.6.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-2.6.4.tgz";
+      name = "bittorrent-dht-2.6.4.tgz";
+      sha1 = "af090c6576f6228596fdd5c538d3439aaf50577b";
+    };
+    deps = {
+      "addr-to-ip-port-1.4.0" = self.by-version."addr-to-ip-port"."1.4.0";
+      "bencode-0.6.0" = self.by-version."bencode"."0.6.0";
+      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "is-ip-1.0.0" = self.by-version."is-ip"."1.0.0";
+      "k-bucket-0.4.2" = self.by-version."k-bucket"."0.4.2";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "run-parallel-1.0.0" = self.by-version."run-parallel"."1.0.0";
+      "string2compact-1.2.1" = self.by-version."string2compact"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bittorrent-tracker"."^2.0.0" =
+    self.by-version."bittorrent-tracker"."2.12.1";
+  by-version."bittorrent-tracker"."2.12.1" = self.buildNodePackage {
+    name = "bittorrent-tracker-2.12.1";
+    version = "2.12.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-2.12.1.tgz";
+      name = "bittorrent-tracker-2.12.1.tgz";
+      sha1 = "562f0e43c6340d003b08c5dad3d4bff0eb3fd64d";
+    };
+    deps = {
+      "bencode-0.6.0" = self.by-version."bencode"."0.6.0";
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "extend.js-0.0.2" = self.by-version."extend.js"."0.0.2";
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ip-0.3.2" = self.by-version."ip"."0.3.2";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "portfinder-0.3.0" = self.by-version."portfinder"."0.3.0";
+      "run-series-1.0.2" = self.by-version."run-series"."1.0.2";
+      "simple-get-1.3.0" = self.by-version."simple-get"."1.3.0";
+      "string2compact-1.2.1" = self.by-version."string2compact"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bittorrent-tracker"."^2.6.0" =
+    self.by-version."bittorrent-tracker"."2.12.1";
   by-spec."bl"."^0.9.0" =
-    self.by-version."bl"."0.9.1";
-  by-version."bl"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bl-0.9.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bl/-/bl-0.9.1.tgz";
-        name = "bl-0.9.1.tgz";
-        sha1 = "d262c5b83aa5cf4386cea1d998c82b36d7ae2942";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bl" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bl" ];
+    self.by-version."bl"."0.9.4";
+  by-version."bl"."0.9.4" = self.buildNodePackage {
+    name = "bl-0.9.4";
+    version = "0.9.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bl/-/bl-0.9.4.tgz";
+      name = "bl-0.9.4.tgz";
+      sha1 = "4702ddf72fbe0ecd82787c00c113aea1935ad0e7";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bl"."~0.9.0" =
+    self.by-version."bl"."0.9.4";
+  by-spec."blob"."0.0.2" =
+    self.by-version."blob"."0.0.2";
+  by-version."blob"."0.0.2" = self.buildNodePackage {
+    name = "blob-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/blob/-/blob-0.0.2.tgz";
+      name = "blob-0.0.2.tgz";
+      sha1 = "b89562bd6994af95ba1e812155536333aa23cf24";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."block-stream"."*" =
     self.by-version."block-stream"."0.0.7";
-  by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-block-stream-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
-        name = "block-stream-0.0.7.tgz";
-        sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."block-stream" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "block-stream" ];
+  by-version."block-stream"."0.0.7" = self.buildNodePackage {
+    name = "block-stream-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+      name = "block-stream-0.0.7.tgz";
+      sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."block-stream"."0.0.7" =
     self.by-version."block-stream"."0.0.7";
-  by-spec."bluebird".">= 1.2.1" =
-    self.by-version."bluebird"."2.3.0";
-  by-version."bluebird"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bluebird-2.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bluebird/-/bluebird-2.3.0.tgz";
-        name = "bluebird-2.3.0.tgz";
-        sha1 = "0d9260735ca30c8a28b3427a291fe2b9287da0f8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bluebird" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bluebird" ];
+  by-spec."bluebird".">= 2.3.2" =
+    self.by-version."bluebird"."2.9.12";
+  by-version."bluebird"."2.9.12" = self.buildNodePackage {
+    name = "bluebird-2.9.12";
+    version = "2.9.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bluebird/-/bluebird-2.9.12.tgz";
+      name = "bluebird-2.9.12.tgz";
+      sha1 = "b108b6d659a7bb0b88d08a8079c91bcfc43e15a6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."blueimp-md5"."~1.1.0" =
     self.by-version."blueimp-md5"."1.1.0";
-  by-version."blueimp-md5"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-blueimp-md5-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.1.0.tgz";
-        name = "blueimp-md5-1.1.0.tgz";
-        sha1 = "041ed794862f3c5f2847282a7481329f1d2352cd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."blueimp-md5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "blueimp-md5" ];
-  };
-  by-spec."body-parser"."~1.4.3" =
-    self.by-version."body-parser"."1.4.3";
-  by-version."body-parser"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-body-parser-1.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.4.3.tgz";
-        name = "body-parser-1.4.3.tgz";
-        sha1 = "4727952cff4af0773eefa4b226c2f4122f5e234d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."body-parser" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.3.0"
-      self.by-version."iconv-lite"."0.4.3"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."raw-body"."1.2.2"
-      self.by-version."type-is"."1.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "body-parser" ];
-  };
-  by-spec."body-parser"."~1.6.5" =
-    self.by-version."body-parser"."1.6.5";
-  by-version."body-parser"."1.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-body-parser-1.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.6.5.tgz";
-        name = "body-parser-1.6.5.tgz";
-        sha1 = "536f01e08ee2b6df6a941d6c8c9647ee99ee4de7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."body-parser" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.4.4"
-      self.by-version."iconv-lite"."0.4.4"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."on-finished"."2.1.0"
-      self.by-version."qs"."1.2.2"
-      self.by-version."raw-body"."1.3.0"
-      self.by-version."type-is"."1.3.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "body-parser" ];
+  by-version."blueimp-md5"."1.1.0" = self.buildNodePackage {
+    name = "blueimp-md5-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.1.0.tgz";
+      name = "blueimp-md5-1.1.0.tgz";
+      sha1 = "041ed794862f3c5f2847282a7481329f1d2352cd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bn.js"."^1.0.0" =
+    self.by-version."bn.js"."1.3.0";
+  by-version."bn.js"."1.3.0" = self.buildNodePackage {
+    name = "bn.js-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz";
+      name = "bn.js-1.3.0.tgz";
+      sha1 = "0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bncode"."^0.2.3" =
+    self.by-version."bncode"."0.2.3";
+  by-version."bncode"."0.2.3" = self.buildNodePackage {
+    name = "bncode-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bncode/-/bncode-0.2.3.tgz";
+      name = "bncode-0.2.3.tgz";
+      sha1 = "37f851dc8e47188a83fbc0f6fa4775cacc9a3296";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bncode"."^0.5.2" =
+    self.by-version."bncode"."0.5.3";
+  by-version."bncode"."0.5.3" = self.buildNodePackage {
+    name = "bncode-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bncode/-/bncode-0.5.3.tgz";
+      name = "bncode-0.5.3.tgz";
+      sha1 = "e16661697452d436bf9886238cc791b08d66a61a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."body-parser"."1.5.0" =
+    self.by-version."body-parser"."1.5.0";
+  by-version."body-parser"."1.5.0" = self.buildNodePackage {
+    name = "body-parser-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/body-parser/-/body-parser-1.5.0.tgz";
+      name = "body-parser-1.5.0.tgz";
+      sha1 = "c6fce2483c9eeb49ab349ff25a92d336d91055b9";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.2" = self.by-version."depd"."0.4.2";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "raw-body-1.3.0" = self.by-version."raw-body"."1.3.0";
+      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."body-parser"."^1.0.2" =
+    self.by-version."body-parser"."1.12.0";
+  by-version."body-parser"."1.12.0" = self.buildNodePackage {
+    name = "body-parser-1.12.0";
+    version = "1.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/body-parser/-/body-parser-1.12.0.tgz";
+      name = "body-parser-1.12.0.tgz";
+      sha1 = "9750fc3cc1080b34a13d18c79840cd559979fce5";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "raw-body-1.3.3" = self.by-version."raw-body"."1.3.3";
+      "type-is-1.6.0" = self.by-version."type-is"."1.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."body-parser"."~1.12.0" =
+    self.by-version."body-parser"."1.12.0";
+  by-spec."body-parser"."~1.8.2" =
+    self.by-version."body-parser"."1.8.4";
+  by-version."body-parser"."1.8.4" = self.buildNodePackage {
+    name = "body-parser-1.8.4";
+    version = "1.8.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/body-parser/-/body-parser-1.8.4.tgz";
+      name = "body-parser-1.8.4.tgz";
+      sha1 = "d497e04bc13b3f9a8bd8c70bb0cdc16f2e028898";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "qs-2.2.4" = self.by-version."qs"."2.2.4";
+      "raw-body-1.3.0" = self.by-version."raw-body"."1.3.0";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."body-parser"."~1.8.4" =
+    self.by-version."body-parser"."1.8.4";
+  by-spec."body-parser"."~1.9.3" =
+    self.by-version."body-parser"."1.9.3";
+  by-version."body-parser"."1.9.3" = self.buildNodePackage {
+    name = "body-parser-1.9.3";
+    version = "1.9.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/body-parser/-/body-parser-1.9.3.tgz";
+      name = "body-parser-1.9.3.tgz";
+      sha1 = "edfacd4fcfad87dfe74f861a5cc712900aef2623";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "iconv-lite-0.4.5" = self.by-version."iconv-lite"."0.4.5";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "on-finished-2.1.1" = self.by-version."on-finished"."2.1.1";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "raw-body-1.3.1" = self.by-version."raw-body"."1.3.1";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."boom"."0.3.x" =
     self.by-version."boom"."0.3.8";
-  by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-boom-0.3.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
-        name = "boom-0.3.8.tgz";
-        sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."boom" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "boom" ];
+  by-version."boom"."0.3.8" = self.buildNodePackage {
+    name = "boom-0.3.8";
+    version = "0.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
+      name = "boom-0.3.8.tgz";
+      sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
+    };
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
-  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-boom-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
-        name = "boom-0.4.2.tgz";
-        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."boom" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "boom" ];
-  };
-  by-spec."broadway"."0.2.9" =
-    self.by-version."broadway"."0.2.9";
-  by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-broadway-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.9.tgz";
-        name = "broadway-0.2.9.tgz";
-        sha1 = "887008b2257f4171089de5cb9b656969b6c8c9e8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."broadway" or []);
-    deps = [
-      self.by-version."cliff"."0.1.8"
-      self.by-version."eventemitter2"."0.4.12"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."winston"."0.7.2"
-      self.by-version."utile"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "broadway" ];
+  by-version."boom"."0.4.2" = self.buildNodePackage {
+    name = "boom-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+      name = "boom-0.4.2.tgz";
+      sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."boom"."2.x.x" =
+    self.by-version."boom"."2.6.1";
+  by-version."boom"."2.6.1" = self.buildNodePackage {
+    name = "boom-2.6.1";
+    version = "2.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-2.6.1.tgz";
+      name = "boom-2.6.1.tgz";
+      sha1 = "4dc8ef9b6dfad9c43bbbfbe71fa4c21419f22753";
+    };
+    deps = {
+      "hoek-2.11.0" = self.by-version."hoek"."2.11.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower"."*" =
+    self.by-version."bower"."1.3.12";
+  by-version."bower"."1.3.12" = self.buildNodePackage {
+    name = "bower-1.3.12";
+    version = "1.3.12";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower/-/bower-1.3.12.tgz";
+      name = "bower-1.3.12.tgz";
+      sha1 = "37de0edb3904baf90aee13384a1a379a05ee214c";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "archy-0.0.2" = self.by-version."archy"."0.0.2";
+      "bower-config-0.5.2" = self.by-version."bower-config"."0.5.2";
+      "bower-endpoint-parser-0.2.2" = self.by-version."bower-endpoint-parser"."0.2.2";
+      "bower-json-0.4.0" = self.by-version."bower-json"."0.4.0";
+      "bower-logger-0.2.2" = self.by-version."bower-logger"."0.2.2";
+      "bower-registry-client-0.2.3" = self.by-version."bower-registry-client"."0.2.3";
+      "cardinal-0.4.0" = self.by-version."cardinal"."0.4.0";
+      "chalk-0.5.0" = self.by-version."chalk"."0.5.0";
+      "chmodr-0.1.0" = self.by-version."chmodr"."0.1.0";
+      "decompress-zip-0.0.8" = self.by-version."decompress-zip"."0.0.8";
+      "fstream-1.0.4" = self.by-version."fstream"."1.0.4";
+      "fstream-ignore-1.0.2" = self.by-version."fstream-ignore"."1.0.2";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "handlebars-2.0.0" = self.by-version."handlebars"."2.0.0";
+      "inquirer-0.7.1" = self.by-version."inquirer"."0.7.1";
+      "insight-0.4.3" = self.by-version."insight"."0.4.3";
+      "is-root-1.0.0" = self.by-version."is-root"."1.0.0";
+      "junk-1.0.1" = self.by-version."junk"."1.0.1";
+      "lockfile-1.0.0" = self.by-version."lockfile"."1.0.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "mout-0.9.1" = self.by-version."mout"."0.9.1";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "opn-1.0.1" = self.by-version."opn"."1.0.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "p-throttler-0.1.0" = self.by-version."p-throttler"."0.1.0";
+      "promptly-0.2.0" = self.by-version."promptly"."0.2.0";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "request-progress-0.3.0" = self.by-version."request-progress"."0.3.0";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "shell-quote-1.4.2" = self.by-version."shell-quote"."1.4.2";
+      "stringify-object-1.0.0" = self.by-version."stringify-object"."1.0.0";
+      "tar-fs-0.5.2" = self.by-version."tar-fs"."0.5.2";
+      "tmp-0.0.23" = self.by-version."tmp"."0.0.23";
+      "update-notifier-0.2.0" = self.by-version."update-notifier"."0.2.0";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bower" = self.by-version."bower"."1.3.12";
+  by-spec."bower".">=1.2.8 <2" =
+    self.by-version."bower"."1.3.12";
+  by-spec."bower-config"."~0.5.0" =
+    self.by-version."bower-config"."0.5.2";
+  by-version."bower-config"."0.5.2" = self.buildNodePackage {
+    name = "bower-config-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower-config/-/bower-config-0.5.2.tgz";
+      name = "bower-config-0.5.2.tgz";
+      sha1 = "1f7d2e899e99b70c29a613e70d4c64590414b22e";
+    };
+    deps = {
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "mout-0.9.1" = self.by-version."mout"."0.9.1";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower-config"."~0.5.2" =
+    self.by-version."bower-config"."0.5.2";
+  by-spec."bower-endpoint-parser"."0.2.1" =
+    self.by-version."bower-endpoint-parser"."0.2.1";
+  by-version."bower-endpoint-parser"."0.2.1" = self.buildNodePackage {
+    name = "bower-endpoint-parser-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz";
+      name = "bower-endpoint-parser-0.2.1.tgz";
+      sha1 = "8c4010a2900cdab07ea5d38f0bd03e9bbccef90f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower-endpoint-parser"."~0.2.2" =
+    self.by-version."bower-endpoint-parser"."0.2.2";
+  by-version."bower-endpoint-parser"."0.2.2" = self.buildNodePackage {
+    name = "bower-endpoint-parser-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz";
+      name = "bower-endpoint-parser-0.2.2.tgz";
+      sha1 = "00b565adbfab6f2d35addde977e97962acbcb3f6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower-json"."0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-version."bower-json"."0.4.0" = self.buildNodePackage {
+    name = "bower-json-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz";
+      name = "bower-json-0.4.0.tgz";
+      sha1 = "a99c3ccf416ef0590ed0ded252c760f1c6d93766";
+    };
+    deps = {
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "intersect-0.0.3" = self.by-version."intersect"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower-json"."~0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-spec."bower-logger"."0.2.1" =
+    self.by-version."bower-logger"."0.2.1";
+  by-version."bower-logger"."0.2.1" = self.buildNodePackage {
+    name = "bower-logger-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.1.tgz";
+      name = "bower-logger-0.2.1.tgz";
+      sha1 = "0c1817c48063a88d96cc3d516c55e57fff5d9ecb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower-logger"."~0.2.2" =
+    self.by-version."bower-logger"."0.2.2";
+  by-version."bower-logger"."0.2.2" = self.buildNodePackage {
+    name = "bower-logger-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz";
+      name = "bower-logger-0.2.2.tgz";
+      sha1 = "39be07e979b2fc8e03a94634205ed9422373d381";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower-registry-client"."~0.2.0" =
+    self.by-version."bower-registry-client"."0.2.3";
+  by-version."bower-registry-client"."0.2.3" = self.buildNodePackage {
+    name = "bower-registry-client-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.2.3.tgz";
+      name = "bower-registry-client-0.2.3.tgz";
+      sha1 = "876e669d4b3eae5fc7e00f7b3da58a4b630b6603";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "bower-config-0.5.2" = self.by-version."bower-config"."0.5.2";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "lru-cache-2.3.1" = self.by-version."lru-cache"."2.3.1";
+      "request-2.51.0" = self.by-version."request"."2.51.0";
+      "request-replay-0.2.0" = self.by-version."request-replay"."0.2.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bower2nix"."*" =
+    self.by-version."bower2nix"."2.1.0";
+  by-version."bower2nix"."2.1.0" = self.buildNodePackage {
+    name = "bower2nix-2.1.0";
+    version = "2.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.1.0.tgz";
+      name = "bower2nix-2.1.0.tgz";
+      sha1 = "213f507a729b20a1c3cb48f995a034f9c05f53e6";
+    };
+    deps = {
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "fs.extra-1.3.2" = self.by-version."fs.extra"."1.3.2";
+      "bower-json-0.4.0" = self.by-version."bower-json"."0.4.0";
+      "bower-endpoint-parser-0.2.1" = self.by-version."bower-endpoint-parser"."0.2.1";
+      "bower-logger-0.2.1" = self.by-version."bower-logger"."0.2.1";
+      "bower-1.3.12" = self.by-version."bower"."1.3.12";
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "clone-0.1.11" = self.by-version."clone"."0.1.11";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "fetch-bower-2.0.0" = self.by-version."fetch-bower"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bower2nix" = self.by-version."bower2nix"."2.1.0";
+  by-spec."bplist-parser"."0.0.6" =
+    self.by-version."bplist-parser"."0.0.6";
+  by-version."bplist-parser"."0.0.6" = self.buildNodePackage {
+    name = "bplist-parser-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz";
+      name = "bplist-parser-0.0.6.tgz";
+      sha1 = "38da3471817df9d44ab3892e27707bbbd75a11b9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."brace-expansion"."^1.0.0" =
+    self.by-version."brace-expansion"."1.1.0";
+  by-version."brace-expansion"."1.1.0" = self.buildNodePackage {
+    name = "brace-expansion-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz";
+      name = "brace-expansion-1.1.0.tgz";
+      sha1 = "c9b7d03c03f37bc704be100e522b40db8f6cfcd9";
+    };
+    deps = {
+      "balanced-match-0.2.0" = self.by-version."balanced-match"."0.2.0";
+      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."breakable"."~1.0.0" =
+    self.by-version."breakable"."1.0.0";
+  by-version."breakable"."1.0.0" = self.buildNodePackage {
+    name = "breakable-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz";
+      name = "breakable-1.0.0.tgz";
+      sha1 = "784a797915a38ead27bad456b5572cb4bbaa78c1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."brfs"."0.0.8" =
+    self.by-version."brfs"."0.0.8";
+  by-version."brfs"."0.0.8" = self.buildNodePackage {
+    name = "brfs-0.0.8";
+    version = "0.0.8";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/brfs/-/brfs-0.0.8.tgz";
+      name = "brfs-0.0.8.tgz";
+      sha1 = "e4377a177638a4b0520901bb134491dd7e38a386";
+    };
+    deps = {
+      "through-2.2.7" = self.by-version."through"."2.2.7";
+      "falafel-0.1.6" = self.by-version."falafel"."0.1.6";
+      "escodegen-0.0.17" = self.by-version."escodegen"."0.0.17";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."broadway"."0.2.x" =
-    self.by-version."broadway"."0.2.9";
-  by-spec."browser-pack"."^3.0.0" =
-    self.by-version."browser-pack"."3.1.1";
-  by-version."browser-pack"."3.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "browser-pack-3.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/browser-pack/-/browser-pack-3.1.1.tgz";
-        name = "browser-pack-3.1.1.tgz";
-        sha1 = "b7600f080d2a7ef1a276ef4c0485a358ba9d1215";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."browser-pack" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."combine-source-map"."0.3.0"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."through2"."0.5.1"
-      self.by-version."umd"."2.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "browser-pack" ];
-  };
+    self.by-version."broadway"."0.2.10";
+  by-version."broadway"."0.2.10" = self.buildNodePackage {
+    name = "broadway-0.2.10";
+    version = "0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/broadway/-/broadway-0.2.10.tgz";
+      name = "broadway-0.2.10.tgz";
+      sha1 = "0f58532be140426e9000e49a93e242a0d1263238";
+    };
+    deps = {
+      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "winston-0.7.2" = self.by-version."winston"."0.7.2";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."broadway"."~0.3.2" =
+    self.by-version."broadway"."0.3.6";
+  by-version."broadway"."0.3.6" = self.buildNodePackage {
+    name = "broadway-0.3.6";
+    version = "0.3.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/broadway/-/broadway-0.3.6.tgz";
+      name = "broadway-0.3.6.tgz";
+      sha1 = "7dbef068b954b7907925fd544963b578a902ba7a";
+    };
+    deps = {
+      "cliff-0.1.9" = self.by-version."cliff"."0.1.9";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "winston-0.8.0" = self.by-version."winston"."0.8.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."broadway"."~0.3.6" =
+    self.by-version."broadway"."0.3.6";
+  by-spec."brorand"."^1.0.1" =
+    self.by-version."brorand"."1.0.5";
+  by-version."brorand"."1.0.5" = self.buildNodePackage {
+    name = "brorand-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/brorand/-/brorand-1.0.5.tgz";
+      name = "brorand-1.0.5.tgz";
+      sha1 = "07b54ca30286abd1718a0e2a830803efdc9bfa04";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-launcher2"."0.4.4" =
+    self.by-version."browser-launcher2"."0.4.4";
+  by-version."browser-launcher2"."0.4.4" = self.buildNodePackage {
+    name = "browser-launcher2-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-launcher2/-/browser-launcher2-0.4.4.tgz";
+      name = "browser-launcher2-0.4.4.tgz";
+      sha1 = "1e2b98ec9bc1c711084174d5b2c82598b5c0d1e4";
+    };
+    deps = {
+      "headless-0.1.7" = self.by-version."headless"."0.1.7";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "plist-1.1.0" = self.by-version."plist"."1.1.0";
+      "win-detect-browsers-0.0.2" = self.by-version."win-detect-browsers"."0.0.2";
+      "uid-0.0.2" = self.by-version."uid"."0.0.2";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-pack"."^3.2.0" =
+    self.by-version."browser-pack"."3.2.0";
+  by-version."browser-pack"."3.2.0" = self.buildNodePackage {
+    name = "browser-pack-3.2.0";
+    version = "3.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-pack/-/browser-pack-3.2.0.tgz";
+      name = "browser-pack-3.2.0.tgz";
+      sha1 = "faa1cbc41487b1acc4747e373e1148adffd0e2d9";
+    };
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "combine-source-map-0.3.0" = self.by-version."combine-source-map"."0.3.0";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+      "umd-2.1.0" = self.by-version."umd"."2.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-pack"."^4.0.0" =
+    self.by-version."browser-pack"."4.0.0";
+  by-version."browser-pack"."4.0.0" = self.buildNodePackage {
+    name = "browser-pack-4.0.0";
+    version = "4.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-pack/-/browser-pack-4.0.0.tgz";
+      name = "browser-pack-4.0.0.tgz";
+      sha1 = "172a63e45a7f5a1df83386cd861ca2d96ace2e77";
+    };
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "combine-source-map-0.3.0" = self.by-version."combine-source-map"."0.3.0";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+      "umd-3.0.0" = self.by-version."umd"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-pack"."~2.0.0" =
+    self.by-version."browser-pack"."2.0.1";
+  by-version."browser-pack"."2.0.1" = self.buildNodePackage {
+    name = "browser-pack-2.0.1";
+    version = "2.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-pack/-/browser-pack-2.0.1.tgz";
+      name = "browser-pack-2.0.1.tgz";
+      sha1 = "5d1c527f56c582677411c4db2a128648ff6bf150";
+    };
+    deps = {
+      "JSONStream-0.6.4" = self.by-version."JSONStream"."0.6.4";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "combine-source-map-0.3.0" = self.by-version."combine-source-map"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-request".">= 0.2.0" =
+    self.by-version."browser-request"."0.3.3";
+  by-version."browser-request"."0.3.3" = self.buildNodePackage {
+    name = "browser-request-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
+      name = "browser-request-0.3.3.tgz";
+      sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-request"."~0.3.1" =
+    self.by-version."browser-request"."0.3.3";
   by-spec."browser-resolve"."^1.3.0" =
-    self.by-version."browser-resolve"."1.3.2";
-  by-version."browser-resolve"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browser-resolve-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.3.2.tgz";
-        name = "browser-resolve-1.3.2.tgz";
-        sha1 = "028417dd85828eea872c1bbb3e6609534545d20c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."browser-resolve" or []);
-    deps = [
-      self.by-version."resolve"."0.7.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "browser-resolve" ];
-  };
-  by-spec."browser-resolve"."^1.3.1" =
-    self.by-version."browser-resolve"."1.3.2";
+    self.by-version."browser-resolve"."1.7.2";
+  by-version."browser-resolve"."1.7.2" = self.buildNodePackage {
+    name = "browser-resolve-1.7.2";
+    version = "1.7.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.7.2.tgz";
+      name = "browser-resolve-1.7.2.tgz";
+      sha1 = "b401695b615697856529389ae2bc1d0fab197bf4";
+    };
+    deps = {
+      "resolve-1.1.5" = self.by-version."resolve"."1.1.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-resolve"."^1.7.0" =
+    self.by-version."browser-resolve"."1.7.2";
+  by-spec."browser-resolve"."^1.7.1" =
+    self.by-version."browser-resolve"."1.7.2";
+  by-spec."browser-resolve"."~1.2.1" =
+    self.by-version."browser-resolve"."1.2.4";
+  by-version."browser-resolve"."1.2.4" = self.buildNodePackage {
+    name = "browser-resolve-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.2.4.tgz";
+      name = "browser-resolve-1.2.4.tgz";
+      sha1 = "59ae7820a82955ecd32f5fb7c468ac21c4723806";
+    };
+    deps = {
+      "resolve-0.6.3" = self.by-version."resolve"."0.6.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browser-resolve"."~1.2.2" =
+    self.by-version."browser-resolve"."1.2.4";
   by-spec."browserchannel"."*" =
     self.by-version."browserchannel"."2.0.0";
-  by-version."browserchannel"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browserchannel-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/browserchannel/-/browserchannel-2.0.0.tgz";
-        name = "browserchannel-2.0.0.tgz";
-        sha1 = "0f211b3cad9995e8729b2bacd46b53c027c0ea63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."browserchannel" or []);
-    deps = [
-      self.by-version."hat"."0.0.3"
-      self.by-version."connect"."2.25.7"
-      self.by-version."request"."2.40.0"
-      self.by-version."ascii-json"."0.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "browserchannel" ];
+  by-version."browserchannel"."2.0.0" = self.buildNodePackage {
+    name = "browserchannel-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserchannel/-/browserchannel-2.0.0.tgz";
+      name = "browserchannel-2.0.0.tgz";
+      sha1 = "0f211b3cad9995e8729b2bacd46b53c027c0ea63";
+    };
+    deps = {
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "connect-2.29.0" = self.by-version."connect"."2.29.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "ascii-json-0.2.0" = self.by-version."ascii-json"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "browserchannel" = self.by-version."browserchannel"."2.0.0";
   by-spec."browserify"."*" =
-    self.by-version."browserify"."5.10.1";
-  by-version."browserify"."5.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "browserify-5.10.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/browserify/-/browserify-5.10.1.tgz";
-        name = "browserify-5.10.1.tgz";
-        sha1 = "a79cc8b647d6bfe25f96434ff8ecaeb5c01f6bae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."browserify" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."assert"."1.1.1"
-      self.by-version."browser-pack"."3.1.1"
-      self.by-version."browser-resolve"."1.3.2"
-      self.by-version."browserify-zlib"."0.1.4"
-      self.by-version."buffer"."2.5.0"
-      self.by-version."builtins"."0.0.5"
-      self.by-version."commondir"."0.0.1"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."console-browserify"."1.1.0"
-      self.by-version."constants-browserify"."0.0.1"
-      self.by-version."crypto-browserify"."3.0.1"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."defined"."0.0.0"
-      self.by-version."deps-sort"."1.3.5"
-      self.by-version."domain-browser"."1.1.2"
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."events"."1.0.1"
-      self.by-version."glob"."4.0.5"
-      self.by-version."http-browserify"."1.5.0"
-      self.by-version."https-browserify"."0.0.0"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."insert-module-globals"."6.1.0"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."labeled-stream-splicer"."1.0.0"
-      self.by-version."module-deps"."3.5.5"
-      self.by-version."os-browserify"."0.1.2"
-      self.by-version."parents"."0.0.3"
-      self.by-version."path-browserify"."0.0.0"
-      self.by-version."process"."0.7.0"
-      self.by-version."punycode"."1.2.4"
-      self.by-version."querystring-es3"."0.2.1-0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."shallow-copy"."0.0.1"
-      self.by-version."shasum"."1.0.0"
-      self.by-version."shell-quote"."0.0.1"
-      self.by-version."stream-browserify"."1.0.0"
-      self.by-version."stream-combiner"."0.0.4"
-      self.by-version."string_decoder"."0.0.1"
-      self.by-version."subarg"."0.0.1"
-      self.by-version."syntax-error"."1.1.1"
-      self.by-version."through2"."1.1.1"
-      self.by-version."timers-browserify"."1.0.3"
-      self.by-version."tty-browserify"."0.0.0"
-      self.by-version."umd"."2.1.0"
-      self.by-version."url"."0.10.1"
-      self.by-version."util"."0.10.3"
-      self.by-version."vm-browserify"."0.0.4"
-      self.by-version."xtend"."3.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "browserify" ];
+    self.by-version."browserify"."9.0.3";
+  by-version."browserify"."9.0.3" = self.buildNodePackage {
+    name = "browserify-9.0.3";
+    version = "9.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify/-/browserify-9.0.3.tgz";
+      name = "browserify-9.0.3.tgz";
+      sha1 = "f2f742b82ec5631c64b8c98a9788db0017c6517c";
+    };
+    deps = {
+      "JSONStream-0.10.0" = self.by-version."JSONStream"."0.10.0";
+      "assert-1.3.0" = self.by-version."assert"."1.3.0";
+      "browser-pack-4.0.0" = self.by-version."browser-pack"."4.0.0";
+      "browser-resolve-1.7.2" = self.by-version."browser-resolve"."1.7.2";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+      "buffer-3.0.3" = self.by-version."buffer"."3.0.3";
+      "builtins-0.0.7" = self.by-version."builtins"."0.0.7";
+      "commondir-0.0.1" = self.by-version."commondir"."0.0.1";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
+      "crypto-browserify-3.9.12" = self.by-version."crypto-browserify"."3.9.12";
+      "deep-equal-1.0.0" = self.by-version."deep-equal"."1.0.0";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "deps-sort-1.3.5" = self.by-version."deps-sort"."1.3.5";
+      "domain-browser-1.1.4" = self.by-version."domain-browser"."1.1.4";
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "events-1.0.2" = self.by-version."events"."1.0.2";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "has-1.0.0" = self.by-version."has"."1.0.0";
+      "http-browserify-1.7.0" = self.by-version."http-browserify"."1.7.0";
+      "https-browserify-0.0.0" = self.by-version."https-browserify"."0.0.0";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "insert-module-globals-6.2.0" = self.by-version."insert-module-globals"."6.2.0";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "labeled-stream-splicer-1.0.2" = self.by-version."labeled-stream-splicer"."1.0.2";
+      "module-deps-3.7.2" = self.by-version."module-deps"."3.7.2";
+      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
+      "parents-1.0.1" = self.by-version."parents"."1.0.1";
+      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
+      "process-0.10.0" = self.by-version."process"."0.10.0";
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "querystring-es3-0.2.1" = self.by-version."querystring-es3"."0.2.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "resolve-1.1.5" = self.by-version."resolve"."1.1.5";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+      "shasum-1.0.1" = self.by-version."shasum"."1.0.1";
+      "shell-quote-0.0.1" = self.by-version."shell-quote"."0.0.1";
+      "stream-browserify-1.0.0" = self.by-version."stream-browserify"."1.0.0";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
+      "syntax-error-1.1.2" = self.by-version."syntax-error"."1.1.2";
+      "through2-1.1.1" = self.by-version."through2"."1.1.1";
+      "timers-browserify-1.3.0" = self.by-version."timers-browserify"."1.3.0";
+      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
+      "url-0.10.2" = self.by-version."url"."0.10.2";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "browserify" = self.by-version."browserify"."9.0.3";
+  by-spec."browserify"."7.1.0" =
+    self.by-version."browserify"."7.1.0";
+  by-version."browserify"."7.1.0" = self.buildNodePackage {
+    name = "browserify-7.1.0";
+    version = "7.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify/-/browserify-7.1.0.tgz";
+      name = "browserify-7.1.0.tgz";
+      sha1 = "1660775c93c3efeaeb42f3c6638a6c4c2b414f14";
+    };
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "assert-1.1.2" = self.by-version."assert"."1.1.2";
+      "browser-pack-3.2.0" = self.by-version."browser-pack"."3.2.0";
+      "browser-resolve-1.7.2" = self.by-version."browser-resolve"."1.7.2";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+      "buffer-3.0.3" = self.by-version."buffer"."3.0.3";
+      "builtins-0.0.7" = self.by-version."builtins"."0.0.7";
+      "commondir-0.0.1" = self.by-version."commondir"."0.0.1";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
+      "crypto-browserify-3.9.12" = self.by-version."crypto-browserify"."3.9.12";
+      "deep-equal-0.2.2" = self.by-version."deep-equal"."0.2.2";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "deps-sort-1.3.5" = self.by-version."deps-sort"."1.3.5";
+      "domain-browser-1.1.4" = self.by-version."domain-browser"."1.1.4";
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "events-1.0.2" = self.by-version."events"."1.0.2";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "http-browserify-1.7.0" = self.by-version."http-browserify"."1.7.0";
+      "https-browserify-0.0.0" = self.by-version."https-browserify"."0.0.0";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "insert-module-globals-6.2.0" = self.by-version."insert-module-globals"."6.2.0";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "labeled-stream-splicer-1.0.2" = self.by-version."labeled-stream-splicer"."1.0.2";
+      "module-deps-3.7.2" = self.by-version."module-deps"."3.7.2";
+      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
+      "parents-0.0.3" = self.by-version."parents"."0.0.3";
+      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
+      "process-0.8.0" = self.by-version."process"."0.8.0";
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "querystring-es3-0.2.1" = self.by-version."querystring-es3"."0.2.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+      "shasum-1.0.1" = self.by-version."shasum"."1.0.1";
+      "shell-quote-0.0.1" = self.by-version."shell-quote"."0.0.1";
+      "stream-browserify-1.0.0" = self.by-version."stream-browserify"."1.0.0";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
+      "syntax-error-1.1.2" = self.by-version."syntax-error"."1.1.2";
+      "through2-1.1.1" = self.by-version."through2"."1.1.1";
+      "timers-browserify-1.3.0" = self.by-version."timers-browserify"."1.3.0";
+      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
+      "umd-2.1.0" = self.by-version."umd"."2.1.0";
+      "url-0.10.2" = self.by-version."url"."0.10.2";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browserify"."~3.19.1" =
+    self.by-version."browserify"."3.19.1";
+  by-version."browserify"."3.19.1" = self.buildNodePackage {
+    name = "browserify-3.19.1";
+    version = "3.19.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify/-/browserify-3.19.1.tgz";
+      name = "browserify-3.19.1.tgz";
+      sha1 = "e4e994f7c8313432df46b1a2b029d8bab13a456b";
+    };
+    deps = {
+      "module-deps-1.2.2" = self.by-version."module-deps"."1.2.2";
+      "browser-pack-2.0.1" = self.by-version."browser-pack"."2.0.1";
+      "deps-sort-0.1.2" = self.by-version."deps-sort"."0.1.2";
+      "shell-quote-0.0.1" = self.by-version."shell-quote"."0.0.1";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "insert-module-globals-2.3.4" = self.by-version."insert-module-globals"."2.3.4";
+      "syntax-error-0.0.1" = self.by-version."syntax-error"."0.0.1";
+      "browser-resolve-1.2.4" = self.by-version."browser-resolve"."1.2.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "umd-2.0.0" = self.by-version."umd"."2.0.0";
+      "parents-0.0.3" = self.by-version."parents"."0.0.3";
+      "deep-equal-0.1.2" = self.by-version."deep-equal"."0.1.2";
+      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
+      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
+      "console-browserify-1.0.3" = self.by-version."console-browserify"."1.0.3";
+      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
+      "zlib-browserify-0.0.3" = self.by-version."zlib-browserify"."0.0.3";
+      "assert-1.1.2" = self.by-version."assert"."1.1.2";
+      "http-browserify-1.1.0" = self.by-version."http-browserify"."1.1.0";
+      "crypto-browserify-1.0.9" = self.by-version."crypto-browserify"."1.0.9";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "events-1.0.2" = self.by-version."events"."1.0.2";
+      "native-buffer-browserify-2.0.17" = self.by-version."native-buffer-browserify"."2.0.17";
+      "url-0.7.9" = self.by-version."url"."0.7.9";
+      "https-browserify-0.0.0" = self.by-version."https-browserify"."0.0.0";
+      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
+      "querystring-0.2.0" = self.by-version."querystring"."0.2.0";
+      "stream-browserify-0.1.3" = self.by-version."stream-browserify"."0.1.3";
+      "string_decoder-0.0.1" = self.by-version."string_decoder"."0.0.1";
+      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
+      "timers-browserify-1.0.3" = self.by-version."timers-browserify"."1.0.3";
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "domain-browser-1.1.4" = self.by-version."domain-browser"."1.1.4";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browserify"."~3.24.1" =
+    self.by-version."browserify"."3.24.13";
+  by-version."browserify"."3.24.13" = self.buildNodePackage {
+    name = "browserify-3.24.13";
+    version = "3.24.13";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify/-/browserify-3.24.13.tgz";
+      name = "browserify-3.24.13.tgz";
+      sha1 = "d82012886791c4b1edd36612ad508a614e9ad86e";
+    };
+    deps = {
+      "module-deps-1.4.2" = self.by-version."module-deps"."1.4.2";
+      "browser-pack-2.0.1" = self.by-version."browser-pack"."2.0.1";
+      "deps-sort-0.1.2" = self.by-version."deps-sort"."0.1.2";
+      "shell-quote-0.0.1" = self.by-version."shell-quote"."0.0.1";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "insert-module-globals-3.1.3" = self.by-version."insert-module-globals"."3.1.3";
+      "syntax-error-0.1.0" = self.by-version."syntax-error"."0.1.0";
+      "browser-resolve-1.2.4" = self.by-version."browser-resolve"."1.2.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "umd-2.0.0" = self.by-version."umd"."2.0.0";
+      "parents-0.0.3" = self.by-version."parents"."0.0.3";
+      "deep-equal-0.1.2" = self.by-version."deep-equal"."0.1.2";
+      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
+      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
+      "console-browserify-1.0.3" = self.by-version."console-browserify"."1.0.3";
+      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
+      "zlib-browserify-0.0.3" = self.by-version."zlib-browserify"."0.0.3";
+      "assert-1.1.2" = self.by-version."assert"."1.1.2";
+      "http-browserify-1.1.0" = self.by-version."http-browserify"."1.1.0";
+      "crypto-browserify-1.0.9" = self.by-version."crypto-browserify"."1.0.9";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "events-1.0.2" = self.by-version."events"."1.0.2";
+      "native-buffer-browserify-2.0.17" = self.by-version."native-buffer-browserify"."2.0.17";
+      "url-0.7.9" = self.by-version."url"."0.7.9";
+      "https-browserify-0.0.0" = self.by-version."https-browserify"."0.0.0";
+      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
+      "querystring-0.2.0" = self.by-version."querystring"."0.2.0";
+      "stream-browserify-0.1.3" = self.by-version."stream-browserify"."0.1.3";
+      "string_decoder-0.0.1" = self.by-version."string_decoder"."0.0.1";
+      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
+      "timers-browserify-1.0.3" = self.by-version."timers-browserify"."1.0.3";
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "domain-browser-1.1.4" = self.by-version."domain-browser"."1.1.4";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "derequire-0.6.1" = self.by-version."derequire"."0.6.1";
+      "commondir-0.0.1" = self.by-version."commondir"."0.0.1";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browserify-aes"."0.4.0" =
+    self.by-version."browserify-aes"."0.4.0";
+  by-version."browserify-aes"."0.4.0" = self.buildNodePackage {
+    name = "browserify-aes-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz";
+      name = "browserify-aes-0.4.0.tgz";
+      sha1 = "067149b668df31c4b58533e02d01e806d8608e2c";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browserify-aes"."^1.0.0" =
+    self.by-version."browserify-aes"."1.0.0";
+  by-version."browserify-aes"."1.0.0" = self.buildNodePackage {
+    name = "browserify-aes-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.0.tgz";
+      name = "browserify-aes-1.0.0.tgz";
+      sha1 = "582efc30561166f89855fcdc945b686919848b62";
+    };
+    deps = {
+      "create-hash-1.1.0" = self.by-version."create-hash"."1.1.0";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browserify-rsa"."^1.1.0" =
+    self.by-version."browserify-rsa"."1.1.1";
+  by-version."browserify-rsa"."1.1.1" = self.buildNodePackage {
+    name = "browserify-rsa-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-1.1.1.tgz";
+      name = "browserify-rsa-1.1.1.tgz";
+      sha1 = "d7c952e12e44192680613ea7f3baa83af585c8ad";
+    };
+    deps = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."browserify-sign"."2.8.0" =
+    self.by-version."browserify-sign"."2.8.0";
+  by-version."browserify-sign"."2.8.0" = self.buildNodePackage {
+    name = "browserify-sign-2.8.0";
+    version = "2.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-sign/-/browserify-sign-2.8.0.tgz";
+      name = "browserify-sign-2.8.0.tgz";
+      sha1 = "655975c12006d02b59181da9ab73f856c63c9aa4";
+    };
+    deps = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+      "browserify-rsa-1.1.1" = self.by-version."browserify-rsa"."1.1.1";
+      "elliptic-1.0.1" = self.by-version."elliptic"."1.0.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "parse-asn1-2.0.0" = self.by-version."parse-asn1"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "browserify" = self.by-version."browserify"."5.10.1";
   by-spec."browserify-zlib"."^0.1.4" =
     self.by-version."browserify-zlib"."0.1.4";
-  by-version."browserify-zlib"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-browserify-zlib-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
-        name = "browserify-zlib-0.1.4.tgz";
-        sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."browserify-zlib" or []);
-    deps = [
-      self.by-version."pako"."0.2.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "browserify-zlib" ];
+  by-version."browserify-zlib"."0.1.4" = self.buildNodePackage {
+    name = "browserify-zlib-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
+      name = "browserify-zlib-0.1.4.tgz";
+      sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
+    };
+    deps = {
+      "pako-0.2.5" = self.by-version."pako"."0.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."browserify-zlib"."~0.1.2" =
     self.by-version."browserify-zlib"."0.1.4";
+  by-spec."browserify-zlib"."~0.1.4" =
+    self.by-version."browserify-zlib"."0.1.4";
+  by-spec."bs58"."^2.0.0" =
+    self.by-version."bs58"."2.0.1";
+  by-version."bs58"."2.0.1" = self.buildNodePackage {
+    name = "bs58-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bs58/-/bs58-2.0.1.tgz";
+      name = "bs58-2.0.1.tgz";
+      sha1 = "55908d58f1982aba2008fa1bed8f91998a29bf8d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bs58check"."1.0.3" =
+    self.by-version."bs58check"."1.0.3";
+  by-version."bs58check"."1.0.3" = self.buildNodePackage {
+    name = "bs58check-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bs58check/-/bs58check-1.0.3.tgz";
+      name = "bs58check-1.0.3.tgz";
+      sha1 = "3e4dc6dde96e60b9db321ea7372fd4fd0523559e";
+    };
+    deps = {
+      "bs58-2.0.1" = self.by-version."bs58"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."bson"."0.1.8" =
     self.by-version."bson"."0.1.8";
-  by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
-        name = "bson-0.1.8.tgz";
-        sha1 = "cf34fdcff081a189b589b4b3e5e9309cd6506c81";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bson" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bson" ];
-  };
-  by-spec."bson"."0.2.11" =
-    self.by-version."bson"."0.2.11";
-  by-version."bson"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.11.tgz";
-        name = "bson-0.2.11.tgz";
-        sha1 = "7a1b9df70b36a247ada83d795e566a049f78bbb8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bson" or []);
-    deps = [
-      self.by-version."nan"."1.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bson" ];
+  by-version."bson"."0.1.8" = self.buildNodePackage {
+    name = "bson-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
+      name = "bson-0.1.8.tgz";
+      sha1 = "cf34fdcff081a189b589b4b3e5e9309cd6506c81";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bson"."0.2.19" =
+    self.by-version."bson"."0.2.19";
+  by-version."bson"."0.2.19" = self.buildNodePackage {
+    name = "bson-0.2.19";
+    version = "0.2.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bson/-/bson-0.2.19.tgz";
+      name = "bson-0.2.19.tgz";
+      sha1 = "b5ad9a5ed3c01354e410ff181cdf70bce838f493";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bson"."0.2.2" =
     self.by-version."bson"."0.2.2";
-  by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.2.tgz";
-        name = "bson-0.2.2.tgz";
-        sha1 = "3dbf984acb9d33a6878b46e6fb7afbd611856a60";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bson" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bson" ];
-  };
-  by-spec."bson"."0.2.5" =
-    self.by-version."bson"."0.2.5";
-  by-version."bson"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.5.tgz";
-        name = "bson-0.2.5.tgz";
-        sha1 = "500d26d883ddc8e02f2c88011627636111c105c5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bson" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bson" ];
-  };
-  by-spec."bson"."0.2.9" =
-    self.by-version."bson"."0.2.9";
-  by-version."bson"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bson-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bson/-/bson-0.2.9.tgz";
-        name = "bson-0.2.9.tgz";
-        sha1 = "ee3716a52c985ff3074b6ece3257c75ee12f3a05";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bson" or []);
-    deps = [
-      self.by-version."nan"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bson" ];
-  };
+  by-version."bson"."0.2.2" = self.buildNodePackage {
+    name = "bson-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bson/-/bson-0.2.2.tgz";
+      name = "bson-0.2.2.tgz";
+      sha1 = "3dbf984acb9d33a6878b46e6fb7afbd611856a60";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bson"."~0.2" =
+    self.by-version."bson"."0.2.19";
   by-spec."buffer"."^2.3.0" =
-    self.by-version."buffer"."2.5.0";
-  by-version."buffer"."2.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-2.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer/-/buffer-2.5.0.tgz";
-        name = "buffer-2.5.0.tgz";
-        sha1 = "ee451ce8cd122dc922027674338dcef9e0eadd9a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer" or []);
-    deps = [
-      self.by-version."base64-js"."0.0.7"
-      self.by-version."ieee754"."1.1.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer" ];
-  };
-  by-spec."buffer"."~2.3.2" =
-    self.by-version."buffer"."2.3.4";
-  by-version."buffer"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-2.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer/-/buffer-2.3.4.tgz";
-        name = "buffer-2.3.4.tgz";
-        sha1 = "7e4af5a23c15e13fcbfd5c5a1ec974cb61668a4c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer" or []);
-    deps = [
-      self.by-version."base64-js"."0.0.7"
-      self.by-version."ieee754"."1.1.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer" ];
+    self.by-version."buffer"."2.8.2";
+  by-version."buffer"."2.8.2" = self.buildNodePackage {
+    name = "buffer-2.8.2";
+    version = "2.8.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer/-/buffer-2.8.2.tgz";
+      name = "buffer-2.8.2.tgz";
+      sha1 = "d73c214c0334384dc29b04ee0ff5f5527c7974e7";
+    };
+    deps = {
+      "base64-js-0.0.7" = self.by-version."base64-js"."0.0.7";
+      "ieee754-1.1.4" = self.by-version."ieee754"."1.1.4";
+      "is-array-1.0.1" = self.by-version."is-array"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffer"."^3.0.0" =
+    self.by-version."buffer"."3.0.3";
+  by-version."buffer"."3.0.3" = self.buildNodePackage {
+    name = "buffer-3.0.3";
+    version = "3.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer/-/buffer-3.0.3.tgz";
+      name = "buffer-3.0.3.tgz";
+      sha1 = "93d8a236e8ee37941cdaf801eb8cd4117192ece6";
+    };
+    deps = {
+      "base64-js-0.0.8" = self.by-version."base64-js"."0.0.8";
+      "ieee754-1.1.4" = self.by-version."ieee754"."1.1.4";
+      "is-array-1.0.1" = self.by-version."is-array"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."buffer-crc32"."0.1.1" =
     self.by-version."buffer-crc32"."0.1.1";
-  by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-crc32-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
-        name = "buffer-crc32-0.1.1.tgz";
-        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer-crc32" ];
+  by-version."buffer-crc32"."0.1.1" = self.buildNodePackage {
+    name = "buffer-crc32-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
+      name = "buffer-crc32-0.1.1.tgz";
+      sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."buffer-crc32"."0.2.1" =
     self.by-version."buffer-crc32"."0.2.1";
-  by-version."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-crc32-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        name = "buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer-crc32" ];
+  by-version."buffer-crc32"."0.2.1" = self.buildNodePackage {
+    name = "buffer-crc32-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
+      name = "buffer-crc32-0.2.1.tgz";
+      sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."buffer-crc32"."0.2.3" =
     self.by-version."buffer-crc32"."0.2.3";
-  by-version."buffer-crc32"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffer-crc32-0.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
-        name = "buffer-crc32-0.2.3.tgz";
-        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer-crc32" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer-crc32" ];
+  by-version."buffer-crc32"."0.2.3" = self.buildNodePackage {
+    name = "buffer-crc32-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
+      name = "buffer-crc32-0.2.3.tgz";
+      sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."buffer-crc32"."~0.2.1" =
-    self.by-version."buffer-crc32"."0.2.3";
+    self.by-version."buffer-crc32"."0.2.5";
+  by-version."buffer-crc32"."0.2.5" = self.buildNodePackage {
+    name = "buffer-crc32-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz";
+      name = "buffer-crc32-0.2.5.tgz";
+      sha1 = "db003ac2671e62ebd6ece78ea2c2e1b405736e91";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffer-equal"."0.0.1" =
+    self.by-version."buffer-equal"."0.0.1";
+  by-version."buffer-equal"."0.0.1" = self.buildNodePackage {
+    name = "buffer-equal-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz";
+      name = "buffer-equal-0.0.1.tgz";
+      sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffer-equal"."^0.0.1" =
+    self.by-version."buffer-equal"."0.0.1";
+  by-spec."buffer-equal"."~0.0.0" =
+    self.by-version."buffer-equal"."0.0.1";
+  by-spec."buffercursor".">= 0.0.12" =
+    self.by-version."buffercursor"."0.0.12";
+  by-version."buffercursor"."0.0.12" = self.buildNodePackage {
+    name = "buffercursor-0.0.12";
+    version = "0.0.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffercursor/-/buffercursor-0.0.12.tgz";
+      name = "buffercursor-0.0.12.tgz";
+      sha1 = "78a9a7f4343ae7d820a8999acc80de591e25a779";
+    };
+    deps = {
+      "verror-1.6.0" = self.by-version."verror"."1.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffers"."~0.1.1" =
+    self.by-version."buffers"."0.1.1";
+  by-version."buffers"."0.1.1" = self.buildNodePackage {
+    name = "buffers-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz";
+      name = "buffers-0.1.1.tgz";
+      sha1 = "b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."buffertools"."*" =
     self.by-version."buffertools"."2.1.2";
-  by-version."buffertools"."2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffertools-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffertools/-/buffertools-2.1.2.tgz";
-        name = "buffertools-2.1.2.tgz";
-        sha1 = "d667afc1ef8b9932e90a25f2e3a66a929d42daab";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffertools" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffertools" ];
+  by-version."buffertools"."2.1.2" = self.buildNodePackage {
+    name = "buffertools-2.1.2";
+    version = "2.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffertools/-/buffertools-2.1.2.tgz";
+      name = "buffertools-2.1.2.tgz";
+      sha1 = "d667afc1ef8b9932e90a25f2e3a66a929d42daab";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "buffertools" = self.by-version."buffertools"."2.1.2";
-  by-spec."buffertools".">=1.1.1 <2.0.0" =
-    self.by-version."buffertools"."1.1.1";
-  by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-buffertools-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
-        name = "buffertools-1.1.1.tgz";
-        sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffertools" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffertools" ];
+  by-spec."bufferutil"."1.0.x" =
+    self.by-version."bufferutil"."1.0.1";
+  by-version."bufferutil"."1.0.1" = self.buildNodePackage {
+    name = "bufferutil-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bufferutil/-/bufferutil-1.0.1.tgz";
+      name = "bufferutil-1.0.1.tgz";
+      sha1 = "0c53a9ffe8d616c4e2df27d00b808f7a25501e3b";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bufferview"."~1" =
+    self.by-version."bufferview"."1.0.1";
+  by-version."bufferview"."1.0.1" = self.buildNodePackage {
+    name = "bufferview-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bufferview/-/bufferview-1.0.1.tgz";
+      name = "bufferview-1.0.1.tgz";
+      sha1 = "7afd74a45f937fa422a1d338c08bbfdc76cd725d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buildmail"."^1.2.0" =
+    self.by-version."buildmail"."1.2.0";
+  by-version."buildmail"."1.2.0" = self.buildNodePackage {
+    name = "buildmail-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buildmail/-/buildmail-1.2.0.tgz";
+      name = "buildmail-1.2.0.tgz";
+      sha1 = "9434eefe177fc496a23e605f51ceb38da3a6cee6";
+    };
+    deps = {
+      "addressparser-0.3.2" = self.by-version."addressparser"."0.3.2";
+      "hyperquest-0.3.0" = self.by-version."hyperquest"."0.3.0";
+      "libbase64-0.1.0" = self.by-version."libbase64"."0.1.0";
+      "libmime-0.1.7" = self.by-version."libmime"."0.1.7";
+      "libqp-0.1.1" = self.by-version."libqp"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."builtins"."~0.0.3" =
-    self.by-version."builtins"."0.0.5";
-  by-version."builtins"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-builtins-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/builtins/-/builtins-0.0.5.tgz";
-        name = "builtins-0.0.5.tgz";
-        sha1 = "86dd881f9862856e62fd7ed7767b438c4d79b7ab";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."builtins" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "builtins" ];
+    self.by-version."builtins"."0.0.7";
+  by-version."builtins"."0.0.7" = self.buildNodePackage {
+    name = "builtins-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz";
+      name = "builtins-0.0.7.tgz";
+      sha1 = "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bunker"."0.1.X" =
+    self.by-version."bunker"."0.1.2";
+  by-version."bunker"."0.1.2" = self.buildNodePackage {
+    name = "bunker-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz";
+      name = "bunker-0.1.2.tgz";
+      sha1 = "c88992464a8e2a6ede86930375f92b58077ef97c";
+    };
+    deps = {
+      "burrito-0.2.12" = self.by-version."burrito"."0.2.12";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bunyan"."0.21.1" =
     self.by-version."bunyan"."0.21.1";
-  by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."bunyan"."0.21.1" = self.buildNodePackage {
     name = "bunyan-0.21.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
-        name = "bunyan-0.21.1.tgz";
-        sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bunyan" or []);
-    deps = [
-      self.by-version."mv"."0.0.5"
-      self.by-version."dtrace-provider"."0.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bunyan" ];
+    version = "0.21.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
+      name = "bunyan-0.21.1.tgz";
+      sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "mv-0.0.5" = self.by-version."mv"."0.0.5";
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bunyan"."0.22.1" =
+    self.by-version."bunyan"."0.22.1";
+  by-version."bunyan"."0.22.1" = self.buildNodePackage {
+    name = "bunyan-0.22.1";
+    version = "0.22.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bunyan/-/bunyan-0.22.1.tgz";
+      name = "bunyan-0.22.1.tgz";
+      sha1 = "020c383bed625af5c6c8834dd8c4aca0dd0f765c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "mv-0.0.5" = self.by-version."mv"."0.0.5";
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bunyan"."~1.0.0" =
+    self.by-version."bunyan"."1.0.1";
+  by-version."bunyan"."1.0.1" = self.buildNodePackage {
+    name = "bunyan-1.0.1";
+    version = "1.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bunyan/-/bunyan-1.0.1.tgz";
+      name = "bunyan-1.0.1.tgz";
+      sha1 = "9916a8c1832020c2d095656d923da5963db05466";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "mv-2.0.3" = self.by-version."mv"."2.0.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."burrito".">=0.2.5 <0.3" =
+    self.by-version."burrito"."0.2.12";
+  by-version."burrito"."0.2.12" = self.buildNodePackage {
+    name = "burrito-0.2.12";
+    version = "0.2.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz";
+      name = "burrito-0.2.12.tgz";
+      sha1 = "d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b";
+    };
+    deps = {
+      "traverse-0.5.2" = self.by-version."traverse"."0.5.2";
+      "uglify-js-1.1.1" = self.by-version."uglify-js"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."busboy"."~0.2.9" =
+    self.by-version."busboy"."0.2.9";
+  by-version."busboy"."0.2.9" = self.buildNodePackage {
+    name = "busboy-0.2.9";
+    version = "0.2.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/busboy/-/busboy-0.2.9.tgz";
+      name = "busboy-0.2.9.tgz";
+      sha1 = "a0a181e78b19dee76974560f55843b09eaea7376";
+    };
+    deps = {
+      "dicer-0.2.3" = self.by-version."dicer"."0.2.3";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bytebuffer"."~3 >=3.5" =
+    self.by-version."bytebuffer"."3.5.4";
+  by-version."bytebuffer"."3.5.4" = self.buildNodePackage {
+    name = "bytebuffer-3.5.4";
+    version = "3.5.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytebuffer/-/bytebuffer-3.5.4.tgz";
+      name = "bytebuffer-3.5.4.tgz";
+      sha1 = "436e2733174f96aaa978b0926749e83fa162e786";
+    };
+    deps = {
+      "long-2.2.3" = self.by-version."long"."2.2.3";
+      "bufferview-1.0.1" = self.by-version."bufferview"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bytes"."0.1.0" =
     self.by-version."bytes"."0.1.0";
-  by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
-        name = "bytes-0.1.0.tgz";
-        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
+  by-version."bytes"."0.1.0" = self.buildNodePackage {
+    name = "bytes-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
+      name = "bytes-0.1.0.tgz";
+      sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bytes"."0.2.0" =
     self.by-version."bytes"."0.2.0";
-  by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
-        name = "bytes-0.2.0.tgz";
-        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
+  by-version."bytes"."0.2.0" = self.buildNodePackage {
+    name = "bytes-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
+      name = "bytes-0.2.0.tgz";
+      sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bytes"."0.2.1" =
     self.by-version."bytes"."0.2.1";
-  by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
-        name = "bytes-0.2.1.tgz";
-        sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
+  by-version."bytes"."0.2.1" = self.buildNodePackage {
+    name = "bytes-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
+      name = "bytes-0.2.1.tgz";
+      sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bytes"."0.3.0" =
+    self.by-version."bytes"."0.3.0";
+  by-version."bytes"."0.3.0" = self.buildNodePackage {
+    name = "bytes-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz";
+      name = "bytes-0.3.0.tgz";
+      sha1 = "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bytes"."1" =
     self.by-version."bytes"."1.0.0";
-  by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-bytes-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
-        name = "bytes-1.0.0.tgz";
-        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
+  by-version."bytes"."1.0.0" = self.buildNodePackage {
+    name = "bytes-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+      name = "bytes-1.0.0.tgz";
+      sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."bytes"."1.0.0" =
     self.by-version."bytes"."1.0.0";
-  by-spec."bytes"."~0.2.1" =
+  by-spec."bytes"."~0.2.0" =
     self.by-version."bytes"."0.2.1";
+  by-spec."bytes"."~0.3.0" =
+    self.by-version."bytes"."0.3.0";
+  by-spec."callsite"."1.0.0" =
+    self.by-version."callsite"."1.0.0";
+  by-version."callsite"."1.0.0" = self.buildNodePackage {
+    name = "callsite-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
+      name = "callsite-1.0.0.tgz";
+      sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."callsite"."~1.0.0" =
     self.by-version."callsite"."1.0.0";
-  by-version."callsite"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-callsite-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
-        name = "callsite-1.0.0.tgz";
-        sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."callsite" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "callsite" ];
+  by-spec."camelcase"."^1.0.1" =
+    self.by-version."camelcase"."1.0.2";
+  by-version."camelcase"."1.0.2" = self.buildNodePackage {
+    name = "camelcase-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/camelcase/-/camelcase-1.0.2.tgz";
+      name = "camelcase-1.0.2.tgz";
+      sha1 = "7912eac1d496836782c976c2d73e874dc54f2eaf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."camelcase-keys"."^1.0.0" =
+    self.by-version."camelcase-keys"."1.0.0";
+  by-version."camelcase-keys"."1.0.0" = self.buildNodePackage {
+    name = "camelcase-keys-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz";
+      name = "camelcase-keys-1.0.0.tgz";
+      sha1 = "bd1a11bf9b31a1ce493493a930de1a0baf4ad7ec";
+    };
+    deps = {
+      "camelcase-1.0.2" = self.by-version."camelcase"."1.0.2";
+      "map-obj-1.0.0" = self.by-version."map-obj"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cardinal"."0.4.0" =
+    self.by-version."cardinal"."0.4.0";
+  by-version."cardinal"."0.4.0" = self.buildNodePackage {
+    name = "cardinal-0.4.0";
+    version = "0.4.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cardinal/-/cardinal-0.4.0.tgz";
+      name = "cardinal-0.4.0.tgz";
+      sha1 = "7d10aafb20837bde043c45e43a0c8c28cdaae45e";
+    };
+    deps = {
+      "redeyed-0.4.4" = self.by-version."redeyed"."0.4.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.6.0" =
+    self.by-version."caseless"."0.6.0";
+  by-version."caseless"."0.6.0" = self.buildNodePackage {
+    name = "caseless-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
+      name = "caseless-0.6.0.tgz";
+      sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.7.0" =
+    self.by-version."caseless"."0.7.0";
+  by-version."caseless"."0.7.0" = self.buildNodePackage {
+    name = "caseless-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.7.0.tgz";
+      name = "caseless-0.7.0.tgz";
+      sha1 = "cbd705ae6229158bb0bc971bf7d7a04bdbd51ff8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.8.0" =
+    self.by-version."caseless"."0.8.0";
+  by-version."caseless"."0.8.0" = self.buildNodePackage {
+    name = "caseless-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz";
+      name = "caseless-0.8.0.tgz";
+      sha1 = "5bca2881d41437f54b2407ebe34888c7b9ad4f7d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.9.0" =
+    self.by-version."caseless"."0.9.0";
+  by-version."caseless"."0.9.0" = self.buildNodePackage {
+    name = "caseless-0.9.0";
+    version = "0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz";
+      name = "caseless-0.9.0.tgz";
+      sha1 = "b7b65ce6bf1413886539cfd533f0b30effa9cf88";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."castnow"."*" =
+    self.by-version."castnow"."0.4.12";
+  by-version."castnow"."0.4.12" = self.buildNodePackage {
+    name = "castnow-0.4.12";
+    version = "0.4.12";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/castnow/-/castnow-0.4.12.tgz";
+      name = "castnow-0.4.12.tgz";
+      sha1 = "048a351420a5e6a68d098d6e8dc6b4abc86d6780";
+    };
+    deps = {
+      "array-loop-1.0.0" = self.by-version."array-loop"."1.0.0";
+      "castv2-client-0.0.8" = self.by-version."castv2-client"."0.0.8";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "chromecast-player-0.1.10" = self.by-version."chromecast-player"."0.1.10";
+      "debounced-seeker-1.0.0" = self.by-version."debounced-seeker"."1.0.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "fs-extended-0.2.0" = self.by-version."fs-extended"."0.2.0";
+      "get-youtube-id-0.1.3" = self.by-version."get-youtube-id"."0.1.3";
+      "got-1.2.2" = self.by-version."got"."1.2.2";
+      "internal-ip-1.0.0" = self.by-version."internal-ip"."1.0.0";
+      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "peerflix-0.25.2" = self.by-version."peerflix"."0.25.2";
+      "playerui-1.2.0" = self.by-version."playerui"."1.2.0";
+      "query-string-1.0.0" = self.by-version."query-string"."1.0.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "read-torrent-1.2.0" = self.by-version."read-torrent"."1.2.0";
+      "router-0.6.2" = self.by-version."router"."0.6.2";
+      "srt2vtt-1.2.0" = self.by-version."srt2vtt"."1.2.0";
+      "stream-transcoder-0.0.5" = self.by-version."stream-transcoder"."0.0.5";
+      "xml2js-0.4.5" = self.by-version."xml2js"."0.4.5";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "castnow" = self.by-version."castnow"."0.4.12";
+  by-spec."castv2"."~0.1.4" =
+    self.by-version."castv2"."0.1.4";
+  by-version."castv2"."0.1.4" = self.buildNodePackage {
+    name = "castv2-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/castv2/-/castv2-0.1.4.tgz";
+      name = "castv2-0.1.4.tgz";
+      sha1 = "f67a8bc4883dc0e1ba0e66ae937c3c9f9914974b";
+    };
+    deps = {
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "protobufjs-3.8.2" = self.by-version."protobufjs"."3.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."castv2-client"."0.0.8" =
+    self.by-version."castv2-client"."0.0.8";
+  by-version."castv2-client"."0.0.8" = self.buildNodePackage {
+    name = "castv2-client-0.0.8";
+    version = "0.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/castv2-client/-/castv2-client-0.0.8.tgz";
+      name = "castv2-client-0.0.8.tgz";
+      sha1 = "a47adf5cc10575e2a71f3b05eb2b72c8d26bbbdc";
+    };
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "castv2-0.1.4" = self.by-version."castv2"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."chai"."*" =
-    self.by-version."chai"."1.9.1";
-  by-version."chai"."1.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chai-1.9.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chai/-/chai-1.9.1.tgz";
-        name = "chai-1.9.1.tgz";
-        sha1 = "3711bb6706e1568f34c0b36098bf8f19455c81ae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chai" or []);
-    deps = [
-      self.by-version."assertion-error"."1.0.0"
-      self.by-version."deep-eql"."0.1.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chai" ];
-  };
-  "chai" = self.by-version."chai"."1.9.1";
-  by-spec."chalk"."^0.4.0" =
-    self.by-version."chalk"."0.4.0";
-  by-version."chalk"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
-        name = "chalk-0.4.0.tgz";
-        sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."has-color"."0.1.7"
-      self.by-version."ansi-styles"."1.0.0"
-      self.by-version."strip-ansi"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chalk" ];
+    self.by-version."chai"."2.0.0";
+  by-version."chai"."2.0.0" = self.buildNodePackage {
+    name = "chai-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chai/-/chai-2.0.0.tgz";
+      name = "chai-2.0.0.tgz";
+      sha1 = "9cec0eab7d782628f2df51226a41651869a9f894";
+    };
+    deps = {
+      "assertion-error-1.0.0" = self.by-version."assertion-error"."1.0.0";
+      "deep-eql-0.1.3" = self.by-version."deep-eql"."0.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "chai" = self.by-version."chai"."2.0.0";
+  by-spec."chain-node".">=0.0.17" =
+    self.by-version."chain-node"."3.1.0";
+  by-version."chain-node"."3.1.0" = self.buildNodePackage {
+    name = "chain-node-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chain-node/-/chain-node-3.1.0.tgz";
+      name = "chain-node-3.1.0.tgz";
+      sha1 = "13eca851bbf3ed20877ce15b725ebb7a5c60e54b";
+    };
+    deps = {
+      "request-2.36.0" = self.by-version."request"."2.36.0";
+      "bitcoinjs-lib-1.2.0" = self.by-version."bitcoinjs-lib"."1.2.0";
+      "bigi-1.4.0" = self.by-version."bigi"."1.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chainsaw"."~0.1.0" =
+    self.by-version."chainsaw"."0.1.0";
+  by-version."chainsaw"."0.1.0" = self.buildNodePackage {
+    name = "chainsaw-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz";
+      name = "chainsaw-0.1.0.tgz";
+      sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
+    };
+    deps = {
+      "traverse-0.3.9" = self.by-version."traverse"."0.3.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chalk"."0.5.0" =
+    self.by-version."chalk"."0.5.0";
+  by-version."chalk"."0.5.0" = self.buildNodePackage {
+    name = "chalk-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chalk/-/chalk-0.5.0.tgz";
+      name = "chalk-0.5.0.tgz";
+      sha1 = "375dfccbc21c0a60a8b61bc5b78f3dc2a55c212f";
+    };
+    deps = {
+      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
+      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
+      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
+      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
+      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."chalk"."^0.5.0" =
     self.by-version."chalk"."0.5.1";
-  by-version."chalk"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chalk-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
-        name = "chalk-0.5.1.tgz";
-        sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chalk" or []);
-    deps = [
-      self.by-version."ansi-styles"."1.1.0"
-      self.by-version."escape-string-regexp"."1.0.1"
-      self.by-version."has-ansi"."0.1.0"
-      self.by-version."strip-ansi"."0.3.0"
-      self.by-version."supports-color"."0.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chalk" ];
+  by-version."chalk"."0.5.1" = self.buildNodePackage {
+    name = "chalk-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
+      name = "chalk-0.5.1.tgz";
+      sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
+    };
+    deps = {
+      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
+      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
+      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
+      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
+      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."chalk"."^0.5.1" =
     self.by-version."chalk"."0.5.1";
-  by-spec."chalk"."~0.4.0" =
-    self.by-version."chalk"."0.4.0";
   by-spec."char-spinner"."~1.0.1" =
     self.by-version."char-spinner"."1.0.1";
-  by-version."char-spinner"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-char-spinner-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz";
-        name = "char-spinner-1.0.1.tgz";
-        sha1 = "e6ea67bd247e107112983b7ab0479ed362800081";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."char-spinner" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "char-spinner" ];
+  by-version."char-spinner"."1.0.1" = self.buildNodePackage {
+    name = "char-spinner-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz";
+      name = "char-spinner-1.0.1.tgz";
+      sha1 = "e6ea67bd247e107112983b7ab0479ed362800081";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."character-parser"."1.2.0" =
     self.by-version."character-parser"."1.2.0";
-  by-version."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-character-parser-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz";
-        name = "character-parser-1.2.0.tgz";
-        sha1 = "94134d6e5d870a39be359f7d22460935184ddef6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."character-parser" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "character-parser" ];
+  by-version."character-parser"."1.2.0" = self.buildNodePackage {
+    name = "character-parser-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz";
+      name = "character-parser-1.2.0.tgz";
+      sha1 = "94134d6e5d870a39be359f7d22460935184ddef6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."character-parser"."1.2.1" =
+    self.by-version."character-parser"."1.2.1";
+  by-version."character-parser"."1.2.1" = self.buildNodePackage {
+    name = "character-parser-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz";
+      name = "character-parser-1.2.1.tgz";
+      sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."charm"."0.1.x" =
+    self.by-version."charm"."0.1.2";
+  by-version."charm"."0.1.2" = self.buildNodePackage {
+    name = "charm-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
+      name = "charm-0.1.2.tgz";
+      sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cheerio"."0.18.0" =
+    self.by-version."cheerio"."0.18.0";
+  by-version."cheerio"."0.18.0" = self.buildNodePackage {
+    name = "cheerio-0.18.0";
+    version = "0.18.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cheerio/-/cheerio-0.18.0.tgz";
+      name = "cheerio-0.18.0.tgz";
+      sha1 = "4e1c06377e725b740e996e0dfec353863de677fa";
+    };
+    deps = {
+      "CSSselect-0.4.1" = self.by-version."CSSselect"."0.4.1";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "dom-serializer-0.0.1" = self.by-version."dom-serializer"."0.0.1";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cheerio"."^0.17.0" =
+    self.by-version."cheerio"."0.17.0";
+  by-version."cheerio"."0.17.0" = self.buildNodePackage {
+    name = "cheerio-0.17.0";
+    version = "0.17.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz";
+      name = "cheerio-0.17.0.tgz";
+      sha1 = "fa5ae42cc60121133d296d0b46d983215f7268ea";
+    };
+    deps = {
+      "CSSselect-0.4.1" = self.by-version."CSSselect"."0.4.1";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+      "htmlparser2-3.7.3" = self.by-version."htmlparser2"."3.7.3";
+      "dom-serializer-0.0.1" = self.by-version."dom-serializer"."0.0.1";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."child-process-close"."~0.1.1" =
     self.by-version."child-process-close"."0.1.1";
-  by-version."child-process-close"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-child-process-close-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz";
-        name = "child-process-close-0.1.1.tgz";
-        sha1 = "c153ede7a5eb65ac69e78a38973b1a286377f75f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."child-process-close" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "child-process-close" ];
+  by-version."child-process-close"."0.1.1" = self.buildNodePackage {
+    name = "child-process-close-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz";
+      name = "child-process-close-0.1.1.tgz";
+      sha1 = "c153ede7a5eb65ac69e78a38973b1a286377f75f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chmodr"."0.1.0" =
+    self.by-version."chmodr"."0.1.0";
+  by-version."chmodr"."0.1.0" = self.buildNodePackage {
+    name = "chmodr-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz";
+      name = "chmodr-0.1.0.tgz";
+      sha1 = "e09215a1d51542db2a2576969765bcf6125583eb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."chmodr"."~0.1.0" =
     self.by-version."chmodr"."0.1.0";
-  by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chmodr-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz";
-        name = "chmodr-0.1.0.tgz";
-        sha1 = "e09215a1d51542db2a2576969765bcf6125583eb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chmodr" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chmodr" ];
-  };
   by-spec."chokidar".">=0.8.2" =
-    self.by-version."chokidar"."0.8.4";
-  by-version."chokidar"."0.8.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chokidar-0.8.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.8.4.tgz";
-        name = "chokidar-0.8.4.tgz";
-        sha1 = "3b2b5066817086534ba81a092bdcf4be25b8bee0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chokidar" or []);
-    deps = [
-      self.by-version."fsevents"."0.2.1"
-      self.by-version."recursive-readdir"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chokidar" ];
+    self.by-version."chokidar"."0.12.6";
+  by-version."chokidar"."0.12.6" = self.buildNodePackage {
+    name = "chokidar-0.12.6";
+    version = "0.12.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chokidar/-/chokidar-0.12.6.tgz";
+      name = "chokidar-0.12.6.tgz";
+      sha1 = "be204f5b9634e009311256e5d6e8e0e508284d2f";
+    };
+    deps = {
+      "readdirp-1.3.0" = self.by-version."readdirp"."1.3.0";
+      "async-each-0.1.6" = self.by-version."async-each"."0.1.6";
+    };
+    optionalDependencies = {
+      "fsevents-0.3.5" = self.by-version."fsevents"."0.3.5";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chokidar"."^1.0.0-rc2" =
+    self.by-version."chokidar"."1.0.0-rc3";
+  by-version."chokidar"."1.0.0-rc3" = self.buildNodePackage {
+    name = "chokidar-1.0.0-rc3";
+    version = "1.0.0-rc3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chokidar/-/chokidar-1.0.0-rc3.tgz";
+      name = "chokidar-1.0.0-rc3.tgz";
+      sha1 = "f95d5e60c7d66eb53136c8999c47e9d4f37118f5";
+    };
+    deps = {
+      "anymatch-1.1.0" = self.by-version."anymatch"."1.1.0";
+      "async-each-0.1.6" = self.by-version."async-each"."0.1.6";
+      "glob-parent-1.0.0" = self.by-version."glob-parent"."1.0.0";
+      "is-binary-path-1.0.0" = self.by-version."is-binary-path"."1.0.0";
+      "readdirp-1.3.0" = self.by-version."readdirp"."1.3.0";
+    };
+    optionalDependencies = {
+      "fsevents-0.3.5" = self.by-version."fsevents"."0.3.5";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."chownr"."0" =
     self.by-version."chownr"."0.0.1";
-  by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-chownr-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz";
-        name = "chownr-0.0.1.tgz";
-        sha1 = "51d18189d9092d5f8afd623f3288bfd1c6bf1a62";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chownr" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chownr" ];
-  };
-  by-spec."clean-css"."2.1.x" =
-    self.by-version."clean-css"."2.1.8";
-  by-version."clean-css"."2.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.8.tgz";
-        name = "clean-css-2.1.8.tgz";
-        sha1 = "2b4b2fd60f32441096216ae25a21faa74580dc83";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."clean-css" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "clean-css" ];
-  };
-  by-spec."clean-css"."~2.2.0" =
-    self.by-version."clean-css"."2.2.13";
-  by-version."clean-css"."2.2.13" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-2.2.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.2.13.tgz";
-        name = "clean-css-2.2.13.tgz";
-        sha1 = "c63aba2723a410f79ed7b34ff163aaa627bc2362";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."clean-css" or []);
-    deps = [
-      self.by-version."commander"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "clean-css" ];
+  by-version."chownr"."0.0.1" = self.buildNodePackage {
+    name = "chownr-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz";
+      name = "chownr-0.0.1.tgz";
+      sha1 = "51d18189d9092d5f8afd623f3288bfd1c6bf1a62";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chromecast-player"."^0.1.10" =
+    self.by-version."chromecast-player"."0.1.10";
+  by-version."chromecast-player"."0.1.10" = self.buildNodePackage {
+    name = "chromecast-player-0.1.10";
+    version = "0.1.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chromecast-player/-/chromecast-player-0.1.10.tgz";
+      name = "chromecast-player-0.1.10.tgz";
+      sha1 = "c5180f693d50119d824f81f388fe55bc2026844f";
+    };
+    deps = {
+      "castv2-client-0.0.8" = self.by-version."castv2-client"."0.0.8";
+      "chromecast-scanner-0.3.0" = self.by-version."chromecast-scanner"."0.3.0";
+      "mutate.js-0.2.0" = self.by-version."mutate.js"."0.2.0";
+      "promiscuous-0.6.0" = self.by-version."promiscuous"."0.6.0";
+      "time-line-1.0.1" = self.by-version."time-line"."1.0.1";
+      "ware-1.2.0" = self.by-version."ware"."1.2.0";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chromecast-scanner"."0.3.0" =
+    self.by-version."chromecast-scanner"."0.3.0";
+  by-version."chromecast-scanner"."0.3.0" = self.buildNodePackage {
+    name = "chromecast-scanner-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chromecast-scanner/-/chromecast-scanner-0.3.0.tgz";
+      name = "chromecast-scanner-0.3.0.tgz";
+      sha1 = "5e5bab3d8020ab5a8e868f967ebbdca2361c08f9";
+    };
+    deps = {
+      "mdns-js-0.2.9" = self.by-version."mdns-js"."0.2.9";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cint"."^8.2.1" =
+    self.by-version."cint"."8.2.1";
+  by-version."cint"."8.2.1" = self.buildNodePackage {
+    name = "cint-8.2.1";
+    version = "8.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cint/-/cint-8.2.1.tgz";
+      name = "cint-8.2.1.tgz";
+      sha1 = "70386b1b48e2773d0d63166a55aff94ef4456a12";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clean-css"."^3.0.1" =
+    self.by-version."clean-css"."3.0.10";
+  by-version."clean-css"."3.0.10" = self.buildNodePackage {
+    name = "clean-css-3.0.10";
+    version = "3.0.10";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clean-css/-/clean-css-3.0.10.tgz";
+      name = "clean-css-3.0.10.tgz";
+      sha1 = "d477b381baa41f759a829d51f9cb380db90d626e";
+    };
+    deps = {
+      "commander-2.5.1" = self.by-version."commander"."2.5.1";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cli"."0.6.x" =
-    self.by-version."cli"."0.6.3";
-  by-version."cli"."0.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cli-0.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cli/-/cli-0.6.3.tgz";
-        name = "cli-0.6.3.tgz";
-        sha1 = "31418ed08d60a1b02cf180c6d6fee3204bfe65cd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cli" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."exit"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cli" ];
+    self.by-version."cli"."0.6.5";
+  by-version."cli"."0.6.5" = self.buildNodePackage {
+    name = "cli-0.6.5";
+    version = "0.6.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cli/-/cli-0.6.5.tgz";
+      name = "cli-0.6.5.tgz";
+      sha1 = "f4edda12dfa8d56d726b43b0b558e089b0d2a85c";
+    };
+    deps = {
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cli-color"."~0.3.2" =
+    self.by-version."cli-color"."0.3.2";
+  by-version."cli-color"."0.3.2" = self.buildNodePackage {
+    name = "cli-color-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz";
+      name = "cli-color-0.3.2.tgz";
+      sha1 = "75fa5f728c308cc4ac594b05e06cc5d80daccd86";
+    };
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+      "memoizee-0.3.8" = self.by-version."memoizee"."0.3.8";
+      "timers-ext-0.1.0" = self.by-version."timers-ext"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cli-table"."^0.3.1" =
+    self.by-version."cli-table"."0.3.1";
+  by-version."cli-table"."0.3.1" = self.buildNodePackage {
+    name = "cli-table-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz";
+      name = "cli-table-0.3.1.tgz";
+      sha1 = "f53b05266a8b1a0b934b3d0821e6e2dc5914ae23";
+    };
+    deps = {
+      "colors-1.0.3" = self.by-version."colors"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cliff"."0.1.8" =
     self.by-version."cliff"."0.1.8";
-  by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cliff-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
-        name = "cliff-0.1.8.tgz";
-        sha1 = "43ca8ad9fe3943489693ab62dce0cae22509d272";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cliff" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."winston"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cliff" ];
+  by-version."cliff"."0.1.8" = self.buildNodePackage {
+    name = "cliff-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
+      name = "cliff-0.1.8.tgz";
+      sha1 = "43ca8ad9fe3943489693ab62dce0cae22509d272";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cliff"."0.1.9" =
+    self.by-version."cliff"."0.1.9";
+  by-version."cliff"."0.1.9" = self.buildNodePackage {
+    name = "cliff-0.1.9";
+    version = "0.1.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cliff/-/cliff-0.1.9.tgz";
+      name = "cliff-0.1.9.tgz";
+      sha1 = "a211e09c6a3de3ba1af27d049d301250d18812bc";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "winston-0.8.3" = self.by-version."winston"."0.8.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cliff"."~0.1.9" =
+    self.by-version."cliff"."0.1.10";
+  by-version."cliff"."0.1.10" = self.buildNodePackage {
+    name = "cliff-0.1.10";
+    version = "0.1.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz";
+      name = "cliff-0.1.10.tgz";
+      sha1 = "53be33ea9f59bec85609ee300ac4207603e52013";
+    };
+    deps = {
+      "colors-1.0.3" = self.by-version."colors"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "winston-0.8.3" = self.by-version."winston"."0.8.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clivas"."^0.1.4" =
+    self.by-version."clivas"."0.1.4";
+  by-version."clivas"."0.1.4" = self.buildNodePackage {
+    name = "clivas-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clivas/-/clivas-0.1.4.tgz";
+      name = "clivas-0.1.4.tgz";
+      sha1 = "e1c1e481d1273d57f1752132b0e4410a0d88235a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clone"."0.1.11" =
+    self.by-version."clone"."0.1.11";
+  by-version."clone"."0.1.11" = self.buildNodePackage {
+    name = "clone-0.1.11";
+    version = "0.1.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone/-/clone-0.1.11.tgz";
+      name = "clone-0.1.11.tgz";
+      sha1 = "408b7d1773eb0dfbf2ddb156c1c47170c17e3a96";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."clone"."0.1.5" =
     self.by-version."clone"."0.1.5";
-  by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-0.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
-        name = "clone-0.1.5.tgz";
-        sha1 = "46f29143d0766d663dbd7f80b7520a15783d2042";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."clone" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "clone" ];
+  by-version."clone"."0.1.5" = self.buildNodePackage {
+    name = "clone-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
+      name = "clone-0.1.5.tgz";
+      sha1 = "46f29143d0766d663dbd7f80b7520a15783d2042";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."clone"."0.1.6" =
     self.by-version."clone"."0.1.6";
-  by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-0.1.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
-        name = "clone-0.1.6.tgz";
-        sha1 = "4af2296d4a23a64168c2f5fb0a2aa65e80517000";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."clone" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "clone" ];
-  };
-  by-spec."clone-stats"."~0.0.1" =
+  by-version."clone"."0.1.6" = self.buildNodePackage {
+    name = "clone-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
+      name = "clone-0.1.6.tgz";
+      sha1 = "4af2296d4a23a64168c2f5fb0a2aa65e80517000";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clone"."0.2.0" =
+    self.by-version."clone"."0.2.0";
+  by-version."clone"."0.2.0" = self.buildNodePackage {
+    name = "clone-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone/-/clone-0.2.0.tgz";
+      name = "clone-0.2.0.tgz";
+      sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clone".">=0.1.0" =
+    self.by-version."clone"."1.0.0";
+  by-version."clone"."1.0.0" = self.buildNodePackage {
+    name = "clone-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone/-/clone-1.0.0.tgz";
+      name = "clone-1.0.0.tgz";
+      sha1 = "bde24f2ee7c478a409fc8a118ae2fcd44deb7f9e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clone"."^0.2.0" =
+    self.by-version."clone"."0.2.0";
+  by-spec."clone"."~0.1.15" =
+    self.by-version."clone"."0.1.19";
+  by-version."clone"."0.1.19" = self.buildNodePackage {
+    name = "clone-0.1.19";
+    version = "0.1.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone/-/clone-0.1.19.tgz";
+      name = "clone-0.1.19.tgz";
+      sha1 = "613fb68639b26a494ac53253e15b1a6bd88ada85";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."clone"."~0.1.5" =
+    self.by-version."clone"."0.1.19";
+  by-spec."clone"."~0.2.0" =
+    self.by-version."clone"."0.2.0";
+  by-spec."clone-stats"."^0.0.1" =
     self.by-version."clone-stats"."0.0.1";
-  by-version."clone-stats"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-clone-stats-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz";
-        name = "clone-stats-0.0.1.tgz";
-        sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."clone-stats" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "clone-stats" ];
-  };
-  by-spec."cmd-shim"."~1.1.1" =
-    self.by-version."cmd-shim"."1.1.2";
-  by-version."cmd-shim"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cmd-shim-1.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.2.tgz";
-        name = "cmd-shim-1.1.2.tgz";
-        sha1 = "e4f9198802e361e8eb43b591959ef4dc6cdb6754";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cmd-shim" or []);
-    deps = [
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."graceful-fs"."2.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cmd-shim" ];
+  by-version."clone-stats"."0.0.1" = self.buildNodePackage {
+    name = "clone-stats-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz";
+      name = "clone-stats-0.0.1.tgz";
+      sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."closest-package"."^1.0.0" =
+    self.by-version."closest-package"."1.0.0";
+  by-version."closest-package"."1.0.0" = self.buildNodePackage {
+    name = "closest-package-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/closest-package/-/closest-package-1.0.0.tgz";
+      name = "closest-package-1.0.0.tgz";
+      sha1 = "ef7a73ad90baae43a89db53777b20fcc0350d4cf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cmd-shim"."2.0.0" =
+    self.by-version."cmd-shim"."2.0.0";
+  by-version."cmd-shim"."2.0.0" = self.buildNodePackage {
+    name = "cmd-shim-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.0.tgz";
+      name = "cmd-shim-2.0.0.tgz";
+      sha1 = "34e0cd2ede0505cd8b154667eee9054ee24006b4";
+    };
+    deps = {
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+    };
+    optionalDependencies = {
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cmd-shim"."~2.0.1" =
+    self.by-version."cmd-shim"."2.0.1";
+  by-version."cmd-shim"."2.0.1" = self.buildNodePackage {
+    name = "cmd-shim-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz";
+      name = "cmd-shim-2.0.1.tgz";
+      sha1 = "4512a373d2391679aec51ad1d4733559e9b85d4a";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cmdln"."1.3.2" =
     self.by-version."cmdln"."1.3.2";
-  by-version."cmdln"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cmdln-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cmdln/-/cmdln-1.3.2.tgz";
-        name = "cmdln-1.3.2.tgz";
-        sha1 = "46a7b362166875cdafe7bc3fe6c73e4644dc6884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cmdln" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.3"
-      self.by-version."extsprintf"."1.0.2"
-      self.by-version."verror"."1.3.6"
-      self.by-version."dashdash"."1.3.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cmdln" ];
-  };
-  by-spec."co"."~3.1.0" =
+  by-version."cmdln"."1.3.2" = self.buildNodePackage {
+    name = "cmdln-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cmdln/-/cmdln-1.3.2.tgz";
+      name = "cmdln-1.3.2.tgz";
+      sha1 = "46a7b362166875cdafe7bc3fe6c73e4644dc6884";
+    };
+    deps = {
+      "assert-plus-0.1.3" = self.by-version."assert-plus"."0.1.3";
+      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
+      "verror-1.3.6" = self.by-version."verror"."1.3.6";
+      "dashdash-1.3.2" = self.by-version."dashdash"."1.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."co"."3.1.0" =
     self.by-version."co"."3.1.0";
-  by-version."co"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-co-3.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/co/-/co-3.1.0.tgz";
-        name = "co-3.1.0.tgz";
-        sha1 = "4ea54ea5a08938153185e15210c68d9092bc1b78";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."co" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "co" ];
+  by-version."co"."3.1.0" = self.buildNodePackage {
+    name = "co-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/co/-/co-3.1.0.tgz";
+      name = "co-3.1.0.tgz";
+      sha1 = "4ea54ea5a08938153185e15210c68d9092bc1b78";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."co"."~3.0.6" =
+    self.by-version."co"."3.0.6";
+  by-version."co"."3.0.6" = self.buildNodePackage {
+    name = "co-3.0.6";
+    version = "3.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/co/-/co-3.0.6.tgz";
+      name = "co-3.0.6.tgz";
+      sha1 = "1445f226c5eb956138e68c9ac30167ea7d2e6bda";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."codepage"."~1.3.4" =
+    self.by-version."codepage"."1.3.8";
+  by-version."codepage"."1.3.8" = self.buildNodePackage {
+    name = "codepage-1.3.8";
+    version = "1.3.8";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/codepage/-/codepage-1.3.8.tgz";
+      name = "codepage-1.3.8.tgz";
+      sha1 = "4f2e5d7c0975de28f88498058dcb5afcab6a5f71";
+    };
+    deps = {
+      "voc-0.5.0" = self.by-version."voc"."0.5.0";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."coffee-script"."*" =
-    self.by-version."coffee-script"."1.7.1";
-  by-version."coffee-script"."1.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.7.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz";
-        name = "coffee-script-1.7.1.tgz";
-        sha1 = "62996a861780c75e6d5069d13822723b73404bfc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  "coffee-script" = self.by-version."coffee-script"."1.7.1";
+    self.by-version."coffee-script"."1.9.1";
+  by-version."coffee-script"."1.9.1" = self.buildNodePackage {
+    name = "coffee-script-1.9.1";
+    version = "1.9.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.9.1.tgz";
+      name = "coffee-script-1.9.1.tgz";
+      sha1 = "c458d02200f460d064a79cb6ab1ee6e2c9ca1c31";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "coffee-script" = self.by-version."coffee-script"."1.9.1";
   by-spec."coffee-script"."1.6.3" =
     self.by-version."coffee-script"."1.6.3";
-  by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
+  by-version."coffee-script"."1.6.3" = self.buildNodePackage {
     name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        name = "coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
+    version = "1.6.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
+      name = "coffee-script-1.6.3.tgz";
+      sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."coffee-script".">= 0.0.1" =
-    self.by-version."coffee-script"."1.7.1";
+    self.by-version."coffee-script"."1.9.1";
   by-spec."coffee-script".">=1.2.0" =
-    self.by-version."coffee-script"."1.7.1";
+    self.by-version."coffee-script"."1.9.1";
+  by-spec."coffee-script".">=1.6.2 <2.0.0" =
+    self.by-version."coffee-script"."1.9.1";
   by-spec."coffee-script"."~1.3.3" =
     self.by-version."coffee-script"."1.3.3";
-  by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-version."coffee-script"."1.3.3" = self.buildNodePackage {
     name = "coffee-script-1.3.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
-        name = "coffee-script-1.3.3.tgz";
-        sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  by-spec."coffee-script-redux"."=2.0.0-beta8" =
-    self.by-version."coffee-script-redux"."2.0.0-beta8";
-  by-version."coffee-script-redux"."2.0.0-beta8" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-redux-2.0.0-beta8";
-    src = [
-      (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/coffee-script-redux/-/coffee-script-redux-2.0.0-beta8.tgz";
-        name = "coffee-script-redux-2.0.0-beta8.tgz";
-        sha1 = "0fd7b8417340dd0d339e8f6fd8b4b8716956e8d5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script-redux" or []);
-    deps = [
-      self.by-version."StringScanner"."0.0.3"
-      self.by-version."nopt"."2.1.2"
-      self.by-version."esmangle"."0.0.17"
-      self.by-version."source-map"."0.1.11"
-      self.by-version."escodegen"."0.0.28"
-      self.by-version."cscodegen"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script-redux" ];
-  };
-  by-spec."collections".">=2.0.1 <3.0.0" =
-    self.by-version."collections"."2.0.1";
-  by-version."collections"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-collections-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/collections/-/collections-2.0.1.tgz";
-        name = "collections-2.0.1.tgz";
-        sha1 = "ee201b142bd1ee5b37a95d62fe13062d87d83db0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."collections" or []);
-    deps = [
-      self.by-version."weak-map"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "collections" ];
-  };
-  by-spec."color"."~0.6.0" =
-    self.by-version."color"."0.6.0";
-  by-version."color"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/color/-/color-0.6.0.tgz";
-        name = "color-0.6.0.tgz";
-        sha1 = "53f4b27698e1fe42a19423dc092dd8ee529b4267";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."color" or []);
-    deps = [
-      self.by-version."color-convert"."0.2.1"
-      self.by-version."color-string"."0.1.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "color" ];
-  };
-  by-spec."color-convert"."0.2.x" =
-    self.by-version."color-convert"."0.2.1";
-  by-version."color-convert"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-convert-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz";
-        name = "color-convert-0.2.1.tgz";
-        sha1 = "363cab23c94b31a0d64db71048b8c6a940f8c68c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."color-convert" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "color-convert" ];
-  };
-  by-spec."color-string"."0.1.x" =
-    self.by-version."color-string"."0.1.3";
-  by-version."color-string"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-color-string-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/color-string/-/color-string-0.1.3.tgz";
-        name = "color-string-0.1.3.tgz";
-        sha1 = "e865d2e3e59f665c3af0de14383f6bf0705685f3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."color-string" or []);
-    deps = [
-      self.by-version."color-convert"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "color-string" ];
+    version = "1.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
+      name = "coffee-script-1.3.3.tgz";
+      sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."coffee-script"."~1.8.0" =
+    self.by-version."coffee-script"."1.8.0";
+  by-version."coffee-script"."1.8.0" = self.buildNodePackage {
+    name = "coffee-script-1.8.0";
+    version = "1.8.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.8.0.tgz";
+      name = "coffee-script-1.8.0.tgz";
+      sha1 = "9c9f1d2b4a52a000ded15b659791703648263c1d";
+    };
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."color"."~0.7.3" =
+    self.by-version."color"."0.7.3";
+  by-version."color"."0.7.3" = self.buildNodePackage {
+    name = "color-0.7.3";
+    version = "0.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/color/-/color-0.7.3.tgz";
+      name = "color-0.7.3.tgz";
+      sha1 = "ab3ae4bc6cb8cfadb5d749c40f34aea088104f89";
+    };
+    deps = {
+      "color-convert-0.5.2" = self.by-version."color-convert"."0.5.2";
+      "color-string-0.2.4" = self.by-version."color-string"."0.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."color-convert"."0.5.x" =
+    self.by-version."color-convert"."0.5.2";
+  by-version."color-convert"."0.5.2" = self.buildNodePackage {
+    name = "color-convert-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/color-convert/-/color-convert-0.5.2.tgz";
+      name = "color-convert-0.5.2.tgz";
+      sha1 = "febd9efc33674df3374ff8eeaec3bc56c79a9b35";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."color-name"."1.0.x" =
+    self.by-version."color-name"."1.0.0";
+  by-version."color-name"."1.0.0" = self.buildNodePackage {
+    name = "color-name-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/color-name/-/color-name-1.0.0.tgz";
+      name = "color-name-1.0.0.tgz";
+      sha1 = "ce3579a4ef43b672bee4f37e8876332b5a36e6b5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."color-string"."0.2.x" =
+    self.by-version."color-string"."0.2.4";
+  by-version."color-string"."0.2.4" = self.buildNodePackage {
+    name = "color-string-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/color-string/-/color-string-0.2.4.tgz";
+      name = "color-string-0.2.4.tgz";
+      sha1 = "221ff64234f71aaa3e13bc8c7e8c95f3cdd8f81a";
+    };
+    deps = {
+      "color-name-1.0.0" = self.by-version."color-name"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."colors"."0.5.x" =
     self.by-version."colors"."0.5.1";
-  by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-colors-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
-        name = "colors-0.5.1.tgz";
-        sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."colors" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "colors" ];
+  by-version."colors"."0.5.1" = self.buildNodePackage {
+    name = "colors-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
+      name = "colors-0.5.1.tgz";
+      sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."colors"."0.6.x" =
     self.by-version."colors"."0.6.2";
-  by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-colors-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-        name = "colors-0.6.2.tgz";
-        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."colors" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "colors" ];
+  by-version."colors"."0.6.2" = self.buildNodePackage {
+    name = "colors-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+      name = "colors-0.6.2.tgz";
+      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."colors"."0.x.x" =
     self.by-version."colors"."0.6.2";
+  by-spec."colors"."1.0.3" =
+    self.by-version."colors"."1.0.3";
+  by-version."colors"."1.0.3" = self.buildNodePackage {
+    name = "colors-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz";
+      name = "colors-1.0.3.tgz";
+      sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."colors"."1.0.x" =
+    self.by-version."colors"."1.0.3";
   by-spec."colors"."~0.6.2" =
     self.by-version."colors"."0.6.2";
-  by-spec."columnify"."~1.1.0" =
-    self.by-version."columnify"."1.1.0";
-  by-version."columnify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-columnify-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/columnify/-/columnify-1.1.0.tgz";
-        name = "columnify-1.1.0.tgz";
-        sha1 = "0b908e6d4f1c80194358a1933aaf9dc49271c679";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."columnify" or []);
-    deps = [
-      self.by-version."strip-ansi"."0.2.2"
-      self.by-version."wcwidth.js"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "columnify" ];
+  by-spec."colors"."~1.0.3" =
+    self.by-version."colors"."1.0.3";
+  by-spec."colour"."*" =
+    self.by-version."colour"."0.7.1";
+  by-version."colour"."0.7.1" = self.buildNodePackage {
+    name = "colour-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colour/-/colour-0.7.1.tgz";
+      name = "colour-0.7.1.tgz";
+      sha1 = "9cb169917ec5d12c0736d3e8685746df1cadf778";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."columnify"."~1.2.1" =
+    self.by-version."columnify"."1.2.1";
+  by-version."columnify"."1.2.1" = self.buildNodePackage {
+    name = "columnify-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/columnify/-/columnify-1.2.1.tgz";
+      name = "columnify-1.2.1.tgz";
+      sha1 = "921ec51c178f4126d3c07e9acecd67a55c7953e4";
+    };
+    deps = {
+      "strip-ansi-1.0.0" = self.by-version."strip-ansi"."1.0.0";
+      "wcwidth-1.0.0" = self.by-version."wcwidth"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."columnify"."~1.4.1" =
+    self.by-version."columnify"."1.4.1";
+  by-version."columnify"."1.4.1" = self.buildNodePackage {
+    name = "columnify-1.4.1";
+    version = "1.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/columnify/-/columnify-1.4.1.tgz";
+      name = "columnify-1.4.1.tgz";
+      sha1 = "30555796379865b016189c228cb0061764270ed0";
+    };
+    deps = {
+      "strip-ansi-2.0.1" = self.by-version."strip-ansi"."2.0.1";
+      "wcwidth-1.0.0" = self.by-version."wcwidth"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."combine-source-map"."~0.3.0" =
     self.by-version."combine-source-map"."0.3.0";
-  by-version."combine-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-combine-source-map-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz";
-        name = "combine-source-map-0.3.0.tgz";
-        sha1 = "d9e74f593d9cd43807312cb5d846d451efaa9eb7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."combine-source-map" or []);
-    deps = [
-      self.by-version."inline-source-map"."0.3.0"
-      self.by-version."convert-source-map"."0.3.5"
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "combine-source-map" ];
+  by-version."combine-source-map"."0.3.0" = self.buildNodePackage {
+    name = "combine-source-map-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz";
+      name = "combine-source-map-0.3.0.tgz";
+      sha1 = "d9e74f593d9cd43807312cb5d846d451efaa9eb7";
+    };
+    deps = {
+      "inline-source-map-0.3.1" = self.by-version."inline-source-map"."0.3.1";
+      "convert-source-map-0.3.5" = self.by-version."convert-source-map"."0.3.5";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."combined-stream"."~0.0.4" =
-    self.by-version."combined-stream"."0.0.5";
-  by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-combined-stream-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
-        name = "combined-stream-0.0.5.tgz";
-        sha1 = "29ed76e5c9aad07c4acf9ca3d32601cce28697a2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."combined-stream" or []);
-    deps = [
-      self.by-version."delayed-stream"."0.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "combined-stream" ];
+    self.by-version."combined-stream"."0.0.7";
+  by-version."combined-stream"."0.0.7" = self.buildNodePackage {
+    name = "combined-stream-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+      name = "combined-stream-0.0.7.tgz";
+      sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+    };
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."~0.0.5" =
+    self.by-version."combined-stream"."0.0.7";
+  by-spec."commander"."*" =
+    self.by-version."commander"."2.6.0";
+  by-version."commander"."2.6.0" = self.buildNodePackage {
+    name = "commander-2.6.0";
+    version = "2.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
+      name = "commander-2.6.0.tgz";
+      sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."commander"."0.6.1" =
     self.by-version."commander"."0.6.1";
-  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        name = "commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
+  by-version."commander"."0.6.1" = self.buildNodePackage {
+    name = "commander-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+      name = "commander-0.6.1.tgz";
+      sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."commander"."1.3.1" =
     self.by-version."commander"."1.3.1";
-  by-version."commander"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-1.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-1.3.1.tgz";
-        name = "commander-1.3.1.tgz";
-        sha1 = "02443e02db96f4b32b674225451abb6e9510000e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = [
-      self.by-version."keypress"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
+  by-version."commander"."1.3.1" = self.buildNodePackage {
+    name = "commander-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-1.3.1.tgz";
+      name = "commander-1.3.1.tgz";
+      sha1 = "02443e02db96f4b32b674225451abb6e9510000e";
+    };
+    deps = {
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."commander"."1.3.2" =
     self.by-version."commander"."1.3.2";
-  by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
-        name = "commander-1.3.2.tgz";
-        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = [
-      self.by-version."keypress"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
+  by-version."commander"."1.3.2" = self.buildNodePackage {
+    name = "commander-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+      name = "commander-1.3.2.tgz";
+      sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
+    };
+    deps = {
+      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."commander"."2.0.0" =
     self.by-version."commander"."2.0.0";
-  by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        name = "commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
+  by-version."commander"."2.0.0" = self.buildNodePackage {
+    name = "commander-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
+      name = "commander-2.0.0.tgz";
+      sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."commander"."2.1.0" =
     self.by-version."commander"."2.1.0";
-  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
-        name = "commander-2.1.0.tgz";
-        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  by-spec."commander"."2.1.x" =
-    self.by-version."commander"."2.1.0";
-  by-spec."commander"."2.2.x" =
-    self.by-version."commander"."2.2.0";
-  by-version."commander"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.2.0.tgz";
-        name = "commander-2.2.0.tgz";
-        sha1 = "175ad4b9317f3ff615f201c1e57224f55a3e91df";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  by-spec."commander"."2.x" =
+  by-version."commander"."2.1.0" = self.buildNodePackage {
+    name = "commander-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+      name = "commander-2.1.0.tgz";
+      sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."2.3.0" =
     self.by-version."commander"."2.3.0";
-  by-version."commander"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commander-2.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
-        name = "commander-2.3.0.tgz";
-        sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
+  by-version."commander"."2.3.0" = self.buildNodePackage {
+    name = "commander-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
+      name = "commander-2.3.0.tgz";
+      sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."2.5.x" =
+    self.by-version."commander"."2.5.1";
+  by-version."commander"."2.5.1" = self.buildNodePackage {
+    name = "commander-2.5.1";
+    version = "2.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.5.1.tgz";
+      name = "commander-2.5.1.tgz";
+      sha1 = "23c61f6e47be143cc02e7ad4bb1c47f5cd5a2883";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."2.6.0" =
+    self.by-version."commander"."2.6.0";
+  by-spec."commander"."2.x" =
+    self.by-version."commander"."2.6.0";
+  by-spec."commander".">=2.0.0" =
+    self.by-version."commander"."2.6.0";
+  by-spec."commander"."^2.6.0" =
+    self.by-version."commander"."2.6.0";
+  by-spec."commander"."~0.6.1" =
+    self.by-version."commander"."0.6.1";
   by-spec."commander"."~2.0.0" =
     self.by-version."commander"."2.0.0";
   by-spec."commander"."~2.1.0" =
     self.by-version."commander"."2.1.0";
+  by-spec."commander"."~2.5.0" =
+    self.by-version."commander"."2.5.1";
+  by-spec."commander"."~2.6.0" =
+    self.by-version."commander"."2.6.0";
   by-spec."commondir"."0.0.1" =
     self.by-version."commondir"."0.0.1";
-  by-version."commondir"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-commondir-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz";
-        name = "commondir-0.0.1.tgz";
-        sha1 = "89f00fdcd51b519c578733fec563e6a6da7f5be2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commondir" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commondir" ];
+  by-version."commondir"."0.0.1" = self.buildNodePackage {
+    name = "commondir-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz";
+      name = "commondir-0.0.1.tgz";
+      sha1 = "89f00fdcd51b519c578733fec563e6a6da7f5be2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commondir"."~0.0.1" =
+    self.by-version."commondir"."0.0.1";
+  by-spec."commoner"."^0.10.0" =
+    self.by-version."commoner"."0.10.1";
+  by-version."commoner"."0.10.1" = self.buildNodePackage {
+    name = "commoner-0.10.1";
+    version = "0.10.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commoner/-/commoner-0.10.1.tgz";
+      name = "commoner-0.10.1.tgz";
+      sha1 = "53ab254aeb93ec0b19e9a1ca14e1d0e5fe998588";
+    };
+    deps = {
+      "q-1.1.2" = self.by-version."q"."1.1.2";
+      "recast-0.9.18" = self.by-version."recast"."0.9.18";
+      "commander-2.5.1" = self.by-version."commander"."2.5.1";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "glob-4.2.2" = self.by-version."glob"."4.2.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "private-0.1.6" = self.by-version."private"."0.1.6";
+      "install-0.1.8" = self.by-version."install"."0.1.8";
+      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commoner"."~0.10.0" =
+    self.by-version."commoner"."0.10.1";
+  by-spec."compact2string"."^1.2.0" =
+    self.by-version."compact2string"."1.4.0";
+  by-version."compact2string"."1.4.0" = self.buildNodePackage {
+    name = "compact2string-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compact2string/-/compact2string-1.4.0.tgz";
+      name = "compact2string-1.4.0.tgz";
+      sha1 = "a99cd96ea000525684b269683ae2222d6eea7b49";
+    };
+    deps = {
+      "ipaddr.js-0.1.8" = self.by-version."ipaddr.js"."0.1.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-bind"."1.0.0" =
+    self.by-version."component-bind"."1.0.0";
+  by-version."component-bind"."1.0.0" = self.buildNodePackage {
+    name = "component-bind-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz";
+      name = "component-bind-1.0.0.tgz";
+      sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."component-emitter"."1.1.2" =
     self.by-version."component-emitter"."1.1.2";
-  by-version."component-emitter"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-component-emitter-1.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
-        name = "component-emitter-1.1.2.tgz";
-        sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."component-emitter" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "component-emitter" ];
-  };
-  by-spec."compressible"."~1.1.1" =
-    self.by-version."compressible"."1.1.1";
-  by-version."compressible"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-compressible-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/compressible/-/compressible-1.1.1.tgz";
-        name = "compressible-1.1.1.tgz";
-        sha1 = "23b71ea90ea6c6a66289701a918182c24d0729ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."compressible" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "compressible" ];
-  };
-  by-spec."compression"."~1.0.11" =
-    self.by-version."compression"."1.0.11";
-  by-version."compression"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-compression-1.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/compression/-/compression-1.0.11.tgz";
-        name = "compression-1.0.11.tgz";
-        sha1 = "69700cf1ee8963454356ac192a6e5e91e232bffb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."compression" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."compressible"."1.1.1"
-      self.by-version."debug"."1.0.4"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."vary"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "compression" ];
+  by-version."component-emitter"."1.1.2" = self.buildNodePackage {
+    name = "component-emitter-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
+      name = "component-emitter-1.1.2.tgz";
+      sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-inherit"."0.0.3" =
+    self.by-version."component-inherit"."0.0.3";
+  by-version."component-inherit"."0.0.3" = self.buildNodePackage {
+    name = "component-inherit-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz";
+      name = "component-inherit-0.0.3.tgz";
+      sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compress-commons"."~0.1.0" =
+    self.by-version."compress-commons"."0.1.6";
+  by-version."compress-commons"."0.1.6" = self.buildNodePackage {
+    name = "compress-commons-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compress-commons/-/compress-commons-0.1.6.tgz";
+      name = "compress-commons-0.1.6.tgz";
+      sha1 = "0c740870fde58cba516f0ac0c822e33a0b85dfa3";
+    };
+    deps = {
+      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
+      "crc32-stream-0.3.2" = self.by-version."crc32-stream"."0.3.2";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compressible"."1.0.0" =
+    self.by-version."compressible"."1.0.0";
+  by-version."compressible"."1.0.0" = self.buildNodePackage {
+    name = "compressible-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compressible/-/compressible-1.0.0.tgz";
+      name = "compressible-1.0.0.tgz";
+      sha1 = "f83e49c1cb61421753545125a8011d68b492427d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compressible"."~2.0.1" =
+    self.by-version."compressible"."2.0.2";
+  by-version."compressible"."2.0.2" = self.buildNodePackage {
+    name = "compressible-2.0.2";
+    version = "2.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compressible/-/compressible-2.0.2.tgz";
+      name = "compressible-2.0.2.tgz";
+      sha1 = "d0474a6ba6590a43d39c2ce9a6cfbb6479be76a5";
+    };
+    deps = {
+      "mime-db-1.7.0" = self.by-version."mime-db"."1.7.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compressible"."~2.0.2" =
+    self.by-version."compressible"."2.0.2";
+  by-spec."compression"."1.0.0" =
+    self.by-version."compression"."1.0.0";
+  by-version."compression"."1.0.0" = self.buildNodePackage {
+    name = "compression-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compression/-/compression-1.0.0.tgz";
+      name = "compression-1.0.0.tgz";
+      sha1 = "8aeb85d48db5145d38bc8b181b6352d8eab26020";
+    };
+    deps = {
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+      "compressible-1.0.0" = self.by-version."compressible"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compression"."~1.1.0" =
+    self.by-version."compression"."1.1.2";
+  by-version."compression"."1.1.2" = self.buildNodePackage {
+    name = "compression-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compression/-/compression-1.1.2.tgz";
+      name = "compression-1.1.2.tgz";
+      sha1 = "f93fb7fcdb3573ec4c7d5398984caae230e2a8d7";
+    };
+    deps = {
+      "accepts-1.1.4" = self.by-version."accepts"."1.1.4";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "compressible-2.0.2" = self.by-version."compressible"."2.0.2";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."compression"."~1.1.2" =
+    self.by-version."compression"."1.1.2";
+  by-spec."compression"."~1.4.1" =
+    self.by-version."compression"."1.4.1";
+  by-version."compression"."1.4.1" = self.buildNodePackage {
+    name = "compression-1.4.1";
+    version = "1.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/compression/-/compression-1.4.1.tgz";
+      name = "compression-1.4.1.tgz";
+      sha1 = "c6f707ac2659e13c7f3e8834321b02cd09338d78";
+    };
+    deps = {
+      "accepts-1.2.4" = self.by-version."accepts"."1.2.4";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "compressible-2.0.2" = self.by-version."compressible"."2.0.2";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."concat-map"."0.0.1" =
+    self.by-version."concat-map"."0.0.1";
+  by-version."concat-map"."0.0.1" = self.buildNodePackage {
+    name = "concat-map-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+      name = "concat-map-0.0.1.tgz";
+      sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."concat-stream"."*" =
+    self.by-version."concat-stream"."1.4.7";
+  by-version."concat-stream"."1.4.7" = self.buildNodePackage {
+    name = "concat-stream-1.4.7";
+    version = "1.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.7.tgz";
+      name = "concat-stream-1.4.7.tgz";
+      sha1 = "0ceaa47b87a581d2a7a782b92b81d5020c3f9925";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."concat-stream"."^1.4.1" =
-    self.by-version."concat-stream"."1.4.6";
-  by-version."concat-stream"."1.4.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-concat-stream-1.4.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz";
-        name = "concat-stream-1.4.6.tgz";
-        sha1 = "8cb736a556a32f020f1ddc82fa3448381c5e5cce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."concat-stream" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."typedarray"."0.0.6"
-      self.by-version."readable-stream"."1.1.13"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "concat-stream" ];
-  };
+    self.by-version."concat-stream"."1.4.7";
+  by-spec."concat-stream"."^1.4.6" =
+    self.by-version."concat-stream"."1.4.7";
   by-spec."concat-stream"."~1.4.1" =
-    self.by-version."concat-stream"."1.4.6";
+    self.by-version."concat-stream"."1.4.7";
   by-spec."concat-stream"."~1.4.5" =
-    self.by-version."concat-stream"."1.4.6";
+    self.by-version."concat-stream"."1.4.7";
   by-spec."config"."0.4.15" =
     self.by-version."config"."0.4.15";
-  by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-config-0.4.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/config/-/config-0.4.15.tgz";
-        name = "config-0.4.15.tgz";
-        sha1 = "d43ddf58b8df5637fdd1314fc816ccae7bfbcd18";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."config" or []);
-    deps = [
-      self.by-version."js-yaml"."0.3.7"
-      self.by-version."coffee-script"."1.7.1"
-      self.by-version."vows"."0.7.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "config" ];
+  by-version."config"."0.4.15" = self.buildNodePackage {
+    name = "config-0.4.15";
+    version = "0.4.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/config/-/config-0.4.15.tgz";
+      name = "config-0.4.15.tgz";
+      sha1 = "d43ddf58b8df5637fdd1314fc816ccae7bfbcd18";
+    };
+    deps = {
+      "js-yaml-0.3.7" = self.by-version."js-yaml"."0.3.7";
+      "coffee-script-1.9.1" = self.by-version."coffee-script"."1.9.1";
+      "vows-0.8.1" = self.by-version."vows"."0.8.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."config"."0.4.36" =
+    self.by-version."config"."0.4.36";
+  by-version."config"."0.4.36" = self.buildNodePackage {
+    name = "config-0.4.36";
+    version = "0.4.36";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/config/-/config-0.4.36.tgz";
+      name = "config-0.4.36.tgz";
+      sha1 = "02af1237f519c00f1e3aac22f9a034148fc3e786";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."config-chain"."~1.1.1" =
     self.by-version."config-chain"."1.1.8";
-  by-version."config-chain"."1.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-config-chain-1.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz";
-        name = "config-chain-1.1.8.tgz";
-        sha1 = "0943d0b7227213a20d4eaff4434f4a1c0a052cad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."config-chain" or []);
-    deps = [
-      self.by-version."proto-list"."1.2.3"
-      self.by-version."ini"."1.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "config-chain" ];
+  by-version."config-chain"."1.1.8" = self.buildNodePackage {
+    name = "config-chain-1.1.8";
+    version = "1.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz";
+      name = "config-chain-1.1.8.tgz";
+      sha1 = "0943d0b7227213a20d4eaff4434f4a1c0a052cad";
+    };
+    deps = {
+      "proto-list-1.2.3" = self.by-version."proto-list"."1.2.3";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."config-chain"."~1.1.8" =
     self.by-version."config-chain"."1.1.8";
   by-spec."configstore"."^0.3.0" =
-    self.by-version."configstore"."0.3.1";
-  by-version."configstore"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-configstore-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/configstore/-/configstore-0.3.1.tgz";
-        name = "configstore-0.3.1.tgz";
-        sha1 = "e1b4715994fe5f8e22e69b21d54c7a448339314d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."configstore" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."js-yaml"."3.0.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."object-assign"."0.3.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."uuid"."1.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "configstore" ];
-  };
-  by-spec."connect"."*" =
-    self.by-version."connect"."3.1.1";
-  by-version."connect"."3.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-3.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-3.1.1.tgz";
-        name = "connect-3.1.1.tgz";
-        sha1 = "a73e2449c3efc2dfd1661865977a09184d120196";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."utils-merge"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
+    self.by-version."configstore"."0.3.2";
+  by-version."configstore"."0.3.2" = self.buildNodePackage {
+    name = "configstore-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/configstore/-/configstore-0.3.2.tgz";
+      name = "configstore-0.3.2.tgz";
+      sha1 = "25e4c16c3768abf75c5a65bc61761f495055b459";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "js-yaml-3.2.7" = self.by-version."js-yaml"."3.2.7";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "object-assign-2.0.0" = self.by-version."object-assign"."2.0.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "user-home-1.1.1" = self.by-version."user-home"."1.1.1";
+      "uuid-2.0.1" = self.by-version."uuid"."2.0.1";
+      "xdg-basedir-1.0.1" = self.by-version."xdg-basedir"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."configstore"."^0.3.1" =
+    self.by-version."configstore"."0.3.2";
   by-spec."connect"."1.x" =
     self.by-version."connect"."1.9.2";
-  by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-1.9.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
-        name = "connect-1.9.2.tgz";
-        sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."1.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."formidable"."1.0.15"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
+  by-version."connect"."1.9.2" = self.buildNodePackage {
+    name = "connect-1.9.2";
+    version = "1.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
+      name = "connect-1.9.2.tgz";
+      sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
+    };
+    deps = {
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "formidable-1.0.17" = self.by-version."formidable"."1.0.17";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."connect"."2.11.0" =
     self.by-version."connect"."2.11.0";
-  by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.11.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
-        name = "connect-2.11.0.tgz";
-        sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.6.5"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."send"."0.1.4"
-      self.by-version."bytes"."0.2.1"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."uid2"."0.0.3"
-      self.by-version."debug"."1.0.4"
-      self.by-version."methods"."0.0.1"
-      self.by-version."raw-body"."0.0.3"
-      self.by-version."negotiator"."0.3.0"
-      self.by-version."multiparty"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
-  by-spec."connect"."2.25.7" =
-    self.by-version."connect"."2.25.7";
-  by-version."connect"."2.25.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.25.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.25.7.tgz";
-        name = "connect-2.25.7.tgz";
-        sha1 = "22a29ebf710c6379ca0e20f0974c268a15ec4d29";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."basic-auth-connect"."1.0.0"
-      self.by-version."body-parser"."1.6.5"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-parser"."1.3.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."compression"."1.0.11"
-      self.by-version."connect-timeout"."1.2.2"
-      self.by-version."csurf"."1.4.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."errorhandler"."1.1.1"
-      self.by-version."express-session"."1.7.6"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."method-override"."2.1.3"
-      self.by-version."morgan"."1.2.3"
-      self.by-version."multiparty"."3.3.2"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."qs"."1.2.2"
-      self.by-version."response-time"."2.0.1"
-      self.by-version."serve-favicon"."2.0.1"
-      self.by-version."serve-index"."1.1.6"
-      self.by-version."serve-static"."1.5.3"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."vhost"."2.0.0"
-      self.by-version."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
+  by-version."connect"."2.11.0" = self.buildNodePackage {
+    name = "connect-2.11.0";
+    version = "2.11.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
+      name = "connect-2.11.0.tgz";
+      sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
+    };
+    deps = {
+      "qs-0.6.5" = self.by-version."qs"."0.6.5";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "raw-body-0.0.3" = self.by-version."raw-body"."0.0.3";
+      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
+      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect"."2.14.5" =
+    self.by-version."connect"."2.14.5";
+  by-version."connect"."2.14.5" = self.buildNodePackage {
+    name = "connect-2.14.5";
+    version = "2.14.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.14.5.tgz";
+      name = "connect-2.14.5.tgz";
+      sha1 = "73217513152c152ebe049c499fa09211b8c476f4";
+    };
+    deps = {
+      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
+      "cookie-parser-1.0.1" = self.by-version."cookie-parser"."1.0.1";
+      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
+      "compression-1.0.0" = self.by-version."compression"."1.0.0";
+      "connect-timeout-1.0.0" = self.by-version."connect-timeout"."1.0.0";
+      "csurf-1.1.0" = self.by-version."csurf"."1.1.0";
+      "errorhandler-1.0.0" = self.by-version."errorhandler"."1.0.0";
+      "express-session-1.0.2" = self.by-version."express-session"."1.0.2";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "method-override-1.0.0" = self.by-version."method-override"."1.0.0";
+      "morgan-1.0.0" = self.by-version."morgan"."1.0.0";
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "raw-body-1.1.4" = self.by-version."raw-body"."1.1.4";
+      "response-time-1.0.0" = self.by-version."response-time"."1.0.0";
+      "setimmediate-1.0.1" = self.by-version."setimmediate"."1.0.1";
+      "serve-index-1.0.1" = self.by-version."serve-index"."1.0.1";
+      "serve-static-1.1.0" = self.by-version."serve-static"."1.1.0";
+      "static-favicon-1.0.2" = self.by-version."static-favicon"."1.0.2";
+      "vhost-1.0.0" = self.by-version."vhost"."1.0.0";
+      "bytes-0.3.0" = self.by-version."bytes"."0.3.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect"."2.26.1" =
+    self.by-version."connect"."2.26.1";
+  by-version."connect"."2.26.1" = self.buildNodePackage {
+    name = "connect-2.26.1";
+    version = "2.26.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.26.1.tgz";
+      name = "connect-2.26.1.tgz";
+      sha1 = "e8eb8c182c5120d25f5a5b76a09e7b99694d1403";
+    };
+    deps = {
+      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
+      "body-parser-1.8.4" = self.by-version."body-parser"."1.8.4";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-parser-1.3.4" = self.by-version."cookie-parser"."1.3.4";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "compression-1.1.2" = self.by-version."compression"."1.1.2";
+      "connect-timeout-1.3.0" = self.by-version."connect-timeout"."1.3.0";
+      "csurf-1.6.6" = self.by-version."csurf"."1.6.6";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "errorhandler-1.2.4" = self.by-version."errorhandler"."1.2.4";
+      "express-session-1.8.2" = self.by-version."express-session"."1.8.2";
+      "finalhandler-0.2.0" = self.by-version."finalhandler"."0.2.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "method-override-2.2.0" = self.by-version."method-override"."2.2.0";
+      "morgan-1.3.2" = self.by-version."morgan"."1.3.2";
+      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "qs-2.2.3" = self.by-version."qs"."2.2.3";
+      "response-time-2.0.1" = self.by-version."response-time"."2.0.1";
+      "serve-favicon-2.1.7" = self.by-version."serve-favicon"."2.1.7";
+      "serve-index-1.2.1" = self.by-version."serve-index"."1.2.1";
+      "serve-static-1.6.5" = self.by-version."serve-static"."1.6.5";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+      "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect"."2.29.0" =
+    self.by-version."connect"."2.29.0";
+  by-version."connect"."2.29.0" = self.buildNodePackage {
+    name = "connect-2.29.0";
+    version = "2.29.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.29.0.tgz";
+      name = "connect-2.29.0.tgz";
+      sha1 = "c67514d45cd41c7e3a3eecd8613e2a096151caf8";
+    };
+    deps = {
+      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
+      "body-parser-1.12.0" = self.by-version."body-parser"."1.12.0";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-parser-1.3.4" = self.by-version."cookie-parser"."1.3.4";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "compression-1.4.1" = self.by-version."compression"."1.4.1";
+      "connect-timeout-1.6.0" = self.by-version."connect-timeout"."1.6.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "csurf-1.7.0" = self.by-version."csurf"."1.7.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "errorhandler-1.3.4" = self.by-version."errorhandler"."1.3.4";
+      "express-session-1.10.3" = self.by-version."express-session"."1.10.3";
+      "finalhandler-0.3.3" = self.by-version."finalhandler"."0.3.3";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "method-override-2.3.1" = self.by-version."method-override"."2.3.1";
+      "morgan-1.5.1" = self.by-version."morgan"."1.5.1";
+      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "response-time-2.3.0" = self.by-version."response-time"."2.3.0";
+      "serve-favicon-2.2.0" = self.by-version."serve-favicon"."2.2.0";
+      "serve-index-1.6.2" = self.by-version."serve-index"."1.6.2";
+      "serve-static-1.9.1" = self.by-version."serve-static"."1.9.1";
+      "type-is-1.6.0" = self.by-version."type-is"."1.6.0";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."connect"."2.3.x" =
     self.by-version."connect"."2.3.9";
-  by-version."connect"."2.3.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.3.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz";
-        name = "connect-2.3.9.tgz";
-        sha1 = "4d26ddc485c32e5a1cf1b35854823b4720d25a52";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.4.2"
-      self.by-version."formidable"."1.0.11"
-      self.by-version."crc"."0.2.0"
-      self.by-version."cookie"."0.0.4"
-      self.by-version."bytes"."0.1.0"
-      self.by-version."send"."0.0.3"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."debug"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
+  by-version."connect"."2.3.9" = self.buildNodePackage {
+    name = "connect-2.3.9";
+    version = "2.3.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz";
+      name = "connect-2.3.9.tgz";
+      sha1 = "4d26ddc485c32e5a1cf1b35854823b4720d25a52";
+    };
+    deps = {
+      "qs-0.4.2" = self.by-version."qs"."0.4.2";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "crc-0.2.0" = self.by-version."crc"."0.2.0";
+      "cookie-0.0.4" = self.by-version."cookie"."0.0.4";
+      "bytes-0.1.0" = self.by-version."bytes"."0.1.0";
+      "send-0.0.3" = self.by-version."send"."0.0.3";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."connect"."2.7.5" =
     self.by-version."connect"."2.7.5";
-  by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.7.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
-        name = "connect-2.7.5.tgz";
-        sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.5.1"
-      self.by-version."formidable"."1.0.11"
-      self.by-version."cookie-signature"."1.0.0"
-      self.by-version."buffer-crc32"."0.1.1"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."send"."0.1.0"
-      self.by-version."bytes"."0.2.0"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
+  by-version."connect"."2.7.5" = self.buildNodePackage {
+    name = "connect-2.7.5";
+    version = "2.7.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
+      name = "connect-2.7.5.tgz";
+      sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
+    };
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-1.0.0" = self.by-version."cookie-signature"."1.0.0";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "bytes-0.2.0" = self.by-version."bytes"."0.2.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."connect"."2.7.6" =
     self.by-version."connect"."2.7.6";
-  by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.7.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
-        name = "connect-2.7.6.tgz";
-        sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."qs"."0.5.1"
-      self.by-version."formidable"."1.0.11"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."buffer-crc32"."0.1.1"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."send"."0.1.0"
-      self.by-version."bytes"."0.2.0"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
+  by-version."connect"."2.7.6" = self.buildNodePackage {
+    name = "connect-2.7.6";
+    version = "2.7.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
+      name = "connect-2.7.6.tgz";
+      sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
+    };
+    deps = {
+      "qs-0.5.1" = self.by-version."qs"."0.5.1";
+      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "bytes-0.2.0" = self.by-version."bytes"."0.2.0";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect"."3.0.2" =
+    self.by-version."connect"."3.0.2";
+  by-version."connect"."3.0.2" = self.buildNodePackage {
+    name = "connect-3.0.2";
+    version = "3.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-3.0.2.tgz";
+      name = "connect-3.0.2.tgz";
+      sha1 = "1f90b4672fe009fa2876df860442d30db18609a2";
+    };
+    deps = {
+      "debug-1.0.3" = self.by-version."debug"."1.0.3";
+      "finalhandler-0.0.2" = self.by-version."finalhandler"."0.0.2";
+      "parseurl-1.1.3" = self.by-version."parseurl"."1.1.3";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect"."^2.14.5" =
+    self.by-version."connect"."2.29.0";
   by-spec."connect"."~2" =
-    self.by-version."connect"."2.25.7";
-  by-spec."connect"."~2.12.0" =
-    self.by-version."connect"."2.12.0";
-  by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-2.12.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.12.0.tgz";
-        name = "connect-2.12.0.tgz";
-        sha1 = "31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = [
-      self.by-version."batch"."0.5.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."send"."0.1.4"
-      self.by-version."bytes"."0.2.1"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."pause"."0.0.1"
-      self.by-version."uid2"."0.0.3"
-      self.by-version."debug"."0.8.1"
-      self.by-version."methods"."0.1.0"
-      self.by-version."raw-body"."1.1.2"
-      self.by-version."negotiator"."0.3.0"
-      self.by-version."multiparty"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
+    self.by-version."connect"."2.29.0";
+  by-spec."connect"."~2.26.0" =
+    self.by-version."connect"."2.26.6";
+  by-version."connect"."2.26.6" = self.buildNodePackage {
+    name = "connect-2.26.6";
+    version = "2.26.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/connect-2.26.6.tgz";
+      name = "connect-2.26.6.tgz";
+      sha1 = "94f3eef3fdeeb405806ea46dc036ee0b2acae700";
+    };
+    deps = {
+      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
+      "body-parser-1.8.4" = self.by-version."body-parser"."1.8.4";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-parser-1.3.4" = self.by-version."cookie-parser"."1.3.4";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "compression-1.1.2" = self.by-version."compression"."1.1.2";
+      "connect-timeout-1.3.0" = self.by-version."connect-timeout"."1.3.0";
+      "csurf-1.6.6" = self.by-version."csurf"."1.6.6";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "errorhandler-1.2.4" = self.by-version."errorhandler"."1.2.4";
+      "express-session-1.8.2" = self.by-version."express-session"."1.8.2";
+      "finalhandler-0.2.0" = self.by-version."finalhandler"."0.2.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "method-override-2.2.0" = self.by-version."method-override"."2.2.0";
+      "morgan-1.3.2" = self.by-version."morgan"."1.3.2";
+      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "qs-2.2.4" = self.by-version."qs"."2.2.4";
+      "response-time-2.0.1" = self.by-version."response-time"."2.0.1";
+      "serve-favicon-2.1.7" = self.by-version."serve-favicon"."2.1.7";
+      "serve-index-1.2.1" = self.by-version."serve-index"."1.2.1";
+      "serve-static-1.6.5" = self.by-version."serve-static"."1.6.5";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+      "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."connect-flash"."*" =
     self.by-version."connect-flash"."0.1.1";
-  by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-flash-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
-        name = "connect-flash-0.1.1.tgz";
-        sha1 = "d8630f26d95a7f851f9956b1e8cc6732f3b6aa30";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect-flash" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect-flash" ];
+  by-version."connect-flash"."0.1.1" = self.buildNodePackage {
+    name = "connect-flash-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
+      name = "connect-flash-0.1.1.tgz";
+      sha1 = "d8630f26d95a7f851f9956b1e8cc6732f3b6aa30";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "connect-flash" = self.by-version."connect-flash"."0.1.1";
   by-spec."connect-flash"."0.1.0" =
     self.by-version."connect-flash"."0.1.0";
-  by-version."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-flash-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
-        name = "connect-flash-0.1.0.tgz";
-        sha1 = "82b381d61a12b651437df1c259c1f1c841239b88";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect-flash" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect-flash" ];
+  by-version."connect-flash"."0.1.0" = self.buildNodePackage {
+    name = "connect-flash-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
+      name = "connect-flash-0.1.0.tgz";
+      sha1 = "82b381d61a12b651437df1c259c1f1c841239b88";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."connect-jade-static"."*" =
-    self.by-version."connect-jade-static"."0.1.3";
-  by-version."connect-jade-static"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-jade-static-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.1.3.tgz";
-        name = "connect-jade-static-0.1.3.tgz";
-        sha1 = "ad0e0538c9124355d6da03de13fae63f7b5e0b1b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect-jade-static" or []);
-    deps = [
-      self.by-version."jade"."1.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect-jade-static" ];
-  };
-  "connect-jade-static" = self.by-version."connect-jade-static"."0.1.3";
+    self.by-version."connect-jade-static"."0.2.1";
+  by-version."connect-jade-static"."0.2.1" = self.buildNodePackage {
+    name = "connect-jade-static-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.2.1.tgz";
+      name = "connect-jade-static-0.2.1.tgz";
+      sha1 = "a4aebd0c4525c3fbd58424e1a09f9a86f4e11a31";
+    };
+    deps = {
+      "jade-1.9.2" = self.by-version."jade"."1.9.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "connect-jade-static" = self.by-version."connect-jade-static"."0.2.1";
   by-spec."connect-mongo"."*" =
-    self.by-version."connect-mongo"."0.4.1";
-  by-version."connect-mongo"."0.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-mongo-0.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.1.tgz";
-        name = "connect-mongo-0.4.1.tgz";
-        sha1 = "01ed3e71558fb3f0fdc97b784ef974f9909ddd11";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect-mongo" or []);
-    deps = [
-      self.by-version."mongodb"."1.3.23"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect-mongo" ];
-  };
-  "connect-mongo" = self.by-version."connect-mongo"."0.4.1";
-  by-spec."connect-timeout"."~1.2.2" =
-    self.by-version."connect-timeout"."1.2.2";
-  by-version."connect-timeout"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connect-timeout-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.2.2.tgz";
-        name = "connect-timeout-1.2.2.tgz";
-        sha1 = "5953602bb66abfd5fa21ae911a7221c5e825a1c0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect-timeout" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."ms"."0.6.2"
-      self.by-version."on-headers"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect-timeout" ];
+    self.by-version."connect-mongo"."0.7.0";
+  by-version."connect-mongo"."0.7.0" = self.buildNodePackage {
+    name = "connect-mongo-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.7.0.tgz";
+      name = "connect-mongo-0.7.0.tgz";
+      sha1 = "8870bbebabff6c99aab77c8ad9787abe730b62db";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "lodash-3.3.0" = self.by-version."lodash"."3.3.0";
+      "mongodb-2.0.16" = self.by-version."mongodb"."2.0.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "connect-mongo" = self.by-version."connect-mongo"."0.7.0";
+  by-spec."connect-mongo".">=0.4.0" =
+    self.by-version."connect-mongo"."0.7.0";
+  by-spec."connect-multiparty"."^1.2.5" =
+    self.by-version."connect-multiparty"."1.2.5";
+  by-version."connect-multiparty"."1.2.5" = self.buildNodePackage {
+    name = "connect-multiparty-1.2.5";
+    version = "1.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-multiparty/-/connect-multiparty-1.2.5.tgz";
+      name = "connect-multiparty-1.2.5.tgz";
+      sha1 = "2fabecfdc1a8a774ba19484dce660c818a8555e7";
+    };
+    deps = {
+      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
+      "on-finished-2.1.1" = self.by-version."on-finished"."2.1.1";
+      "qs-2.2.5" = self.by-version."qs"."2.2.5";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect-restreamer"."*" =
+    self.by-version."connect-restreamer"."1.0.1";
+  by-version."connect-restreamer"."1.0.1" = self.buildNodePackage {
+    name = "connect-restreamer-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-restreamer/-/connect-restreamer-1.0.1.tgz";
+      name = "connect-restreamer-1.0.1.tgz";
+      sha1 = "3eb3093da34094fbfd24720779acdaabb80a4155";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect-timeout"."1.0.0" =
+    self.by-version."connect-timeout"."1.0.0";
+  by-version."connect-timeout"."1.0.0" = self.buildNodePackage {
+    name = "connect-timeout-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.0.0.tgz";
+      name = "connect-timeout-1.0.0.tgz";
+      sha1 = "12054799f90bb9566f8b274efe7842d6465d10bb";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect-timeout"."~1.3.0" =
+    self.by-version."connect-timeout"."1.3.0";
+  by-version."connect-timeout"."1.3.0" = self.buildNodePackage {
+    name = "connect-timeout-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.3.0.tgz";
+      name = "connect-timeout-1.3.0.tgz";
+      sha1 = "d9d1d2df2900d490ed54190809f37e6b4508a1ec";
+    };
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect-timeout"."~1.6.0" =
+    self.by-version."connect-timeout"."1.6.0";
+  by-version."connect-timeout"."1.6.0" = self.buildNodePackage {
+    name = "connect-timeout-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.0.tgz";
+      name = "connect-timeout-1.6.0.tgz";
+      sha1 = "cd38b4c106d25f4472556f3be98ac4d1c4a8ef3e";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."connection-parse"."0.0.x" =
     self.by-version."connection-parse"."0.0.7";
-  by-version."connection-parse"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-connection-parse-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz";
-        name = "connection-parse-0.0.7.tgz";
-        sha1 = "18e7318aab06a699267372b10c5226d25a1c9a69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connection-parse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connection-parse" ];
+  by-version."connection-parse"."0.0.7" = self.buildNodePackage {
+    name = "connection-parse-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz";
+      name = "connection-parse-0.0.7.tgz";
+      sha1 = "18e7318aab06a699267372b10c5226d25a1c9a69";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."console-browserify"."1.1.x" =
     self.by-version."console-browserify"."1.1.0";
-  by-version."console-browserify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-console-browserify-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
-        name = "console-browserify-1.1.0.tgz";
-        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."console-browserify" or []);
-    deps = [
-      self.by-version."date-now"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "console-browserify" ];
+  by-version."console-browserify"."1.1.0" = self.buildNodePackage {
+    name = "console-browserify-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
+      name = "console-browserify-1.1.0.tgz";
+      sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+    };
+    deps = {
+      "date-now-0.1.4" = self.by-version."date-now"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."console-browserify"."^1.1.0" =
     self.by-version."console-browserify"."1.1.0";
+  by-spec."console-browserify"."~1.0.1" =
+    self.by-version."console-browserify"."1.0.3";
+  by-version."console-browserify"."1.0.3" = self.buildNodePackage {
+    name = "console-browserify-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.0.3.tgz";
+      name = "console-browserify-1.0.3.tgz";
+      sha1 = "d3898d2c3a93102f364197f8874b4f92b5286a8e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."constantinople"."~1.0.1" =
     self.by-version."constantinople"."1.0.2";
-  by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constantinople-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.2.tgz";
-        name = "constantinople-1.0.2.tgz";
-        sha1 = "0e64747dc836644d3f659247efd95231b48c3e71";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."constantinople" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "constantinople" ];
+  by-version."constantinople"."1.0.2" = self.buildNodePackage {
+    name = "constantinople-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.2.tgz";
+      name = "constantinople-1.0.2.tgz";
+      sha1 = "0e64747dc836644d3f659247efd95231b48c3e71";
+    };
+    deps = {
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."constantinople"."~1.0.2" =
     self.by-version."constantinople"."1.0.2";
-  by-spec."constantinople"."~2.0.0" =
-    self.by-version."constantinople"."2.0.1";
-  by-version."constantinople"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constantinople-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/constantinople/-/constantinople-2.0.1.tgz";
-        name = "constantinople-2.0.1.tgz";
-        sha1 = "5829f856f301a9bdb107d935f77d8eb8ccec4c79";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."constantinople" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "constantinople" ];
+  by-spec."constantinople"."~3.0.1" =
+    self.by-version."constantinople"."3.0.1";
+  by-version."constantinople"."3.0.1" = self.buildNodePackage {
+    name = "constantinople-3.0.1";
+    version = "3.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/constantinople/-/constantinople-3.0.1.tgz";
+      name = "constantinople-3.0.1.tgz";
+      sha1 = "1ddf9deac0d14c4367c1d5b3f16fb2763f123108";
+    };
+    deps = {
+      "acorn-globals-1.0.2" = self.by-version."acorn-globals"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."constants-browserify"."0.0.1" =
+    self.by-version."constants-browserify"."0.0.1";
+  by-version."constants-browserify"."0.0.1" = self.buildNodePackage {
+    name = "constants-browserify-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz";
+      name = "constants-browserify-0.0.1.tgz";
+      sha1 = "92577db527ba6c4cf0a4568d84bc031f441e21f2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."constants-browserify"."~0.0.1" =
     self.by-version."constants-browserify"."0.0.1";
-  by-version."constants-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-constants-browserify-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz";
-        name = "constants-browserify-0.0.1.tgz";
-        sha1 = "92577db527ba6c4cf0a4568d84bc031f441e21f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."constants-browserify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "constants-browserify" ];
+  by-spec."content-disposition"."0.5.0" =
+    self.by-version."content-disposition"."0.5.0";
+  by-version."content-disposition"."0.5.0" = self.buildNodePackage {
+    name = "content-disposition-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
+      name = "content-disposition-0.5.0.tgz";
+      sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."content-type"."~1.0.1" =
+    self.by-version."content-type"."1.0.1";
+  by-version."content-type"."1.0.1" = self.buildNodePackage {
+    name = "content-type-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz";
+      name = "content-type-1.0.1.tgz";
+      sha1 = "a19d2247327dc038050ce622b7a154ec59c5e600";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."contextify"."~0.1.5" =
+    self.by-version."contextify"."0.1.13";
+  by-version."contextify"."0.1.13" = self.buildNodePackage {
+    name = "contextify-0.1.13";
+    version = "0.1.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/contextify/-/contextify-0.1.13.tgz";
+      name = "contextify-0.1.13.tgz";
+      sha1 = "4ecac6abf6fd266aff1a7b5c4fcc902932cb4efe";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.5.3" = self.by-version."nan"."1.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."convert-source-map"."~0.3.0" =
     self.by-version."convert-source-map"."0.3.5";
-  by-version."convert-source-map"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-convert-source-map-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz";
-        name = "convert-source-map-0.3.5.tgz";
-        sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."convert-source-map" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "convert-source-map" ];
+  by-version."convert-source-map"."0.3.5" = self.buildNodePackage {
+    name = "convert-source-map-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz";
+      name = "convert-source-map-0.3.5.tgz";
+      sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie"."0.0.4" =
     self.by-version."cookie"."0.0.4";
-  by-version."cookie"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz";
-        name = "cookie-0.0.4.tgz";
-        sha1 = "5456bd47aee2666eac976ea80a6105940483fe98";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
+  by-version."cookie"."0.0.4" = self.buildNodePackage {
+    name = "cookie-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz";
+      name = "cookie-0.0.4.tgz";
+      sha1 = "5456bd47aee2666eac976ea80a6105940483fe98";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie"."0.0.5" =
     self.by-version."cookie"."0.0.5";
-  by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
-        name = "cookie-0.0.5.tgz";
-        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
+  by-version."cookie"."0.0.5" = self.buildNodePackage {
+    name = "cookie-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
+      name = "cookie-0.0.5.tgz";
+      sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie"."0.1.0" =
     self.by-version."cookie"."0.1.0";
-  by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
-        name = "cookie-0.1.0.tgz";
-        sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
+  by-version."cookie"."0.1.0" = self.buildNodePackage {
+    name = "cookie-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
+      name = "cookie-0.1.0.tgz";
+      sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie"."0.1.2" =
     self.by-version."cookie"."0.1.2";
-  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
-        name = "cookie-0.1.2.tgz";
-        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
+  by-version."cookie"."0.1.2" = self.buildNodePackage {
+    name = "cookie-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+      name = "cookie-0.1.2.tgz";
+      sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie-jar"."~0.2.0" =
     self.by-version."cookie-jar"."0.2.0";
-  by-version."cookie-jar"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-jar-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
-        name = "cookie-jar-0.2.0.tgz";
-        sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-jar" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-jar" ];
+  by-version."cookie-jar"."0.2.0" = self.buildNodePackage {
+    name = "cookie-jar-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
+      name = "cookie-jar-0.2.0.tgz";
+      sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie-jar"."~0.3.0" =
     self.by-version."cookie-jar"."0.3.0";
-  by-version."cookie-jar"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-jar-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
-        name = "cookie-jar-0.3.0.tgz";
-        sha1 = "bc9a27d4e2b97e186cd57c9e2063cb99fa68cccc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-jar" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-jar" ];
-  };
-  by-spec."cookie-parser"."1.3.2" =
-    self.by-version."cookie-parser"."1.3.2";
-  by-version."cookie-parser"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-parser-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.2.tgz";
-        name = "cookie-parser-1.3.2.tgz";
-        sha1 = "52211cc82c955d79ff0c088954407724e19cf562";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-parser" or []);
-    deps = [
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-parser" ];
-  };
-  by-spec."cookie-parser"."~1.3.2" =
-    self.by-version."cookie-parser"."1.3.2";
+  by-version."cookie-jar"."0.3.0" = self.buildNodePackage {
+    name = "cookie-jar-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
+      name = "cookie-jar-0.3.0.tgz";
+      sha1 = "bc9a27d4e2b97e186cd57c9e2063cb99fa68cccc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-parser"."1.0.1" =
+    self.by-version."cookie-parser"."1.0.1";
+  by-version."cookie-parser"."1.0.1" = self.buildNodePackage {
+    name = "cookie-parser-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.0.1.tgz";
+      name = "cookie-parser-1.0.1.tgz";
+      sha1 = "17bd622c9717cd0858a912a9fef4c0362360a7b0";
+    };
+    deps = {
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-parser"."^1.0.1" =
+    self.by-version."cookie-parser"."1.3.4";
+  by-version."cookie-parser"."1.3.4" = self.buildNodePackage {
+    name = "cookie-parser-1.3.4";
+    version = "1.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.4.tgz";
+      name = "cookie-parser-1.3.4.tgz";
+      sha1 = "193035a5be97117a21709b3aa737f6132717bda6";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-parser"."~1.3.3" =
+    self.by-version."cookie-parser"."1.3.4";
+  by-spec."cookie-parser"."~1.3.4" =
+    self.by-version."cookie-parser"."1.3.4";
   by-spec."cookie-signature"."1.0.0" =
     self.by-version."cookie-signature"."1.0.0";
-  by-version."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz";
-        name = "cookie-signature-1.0.0.tgz";
-        sha1 = "0044f332ac623df851c914e88eacc57f0c9704fe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
+  by-version."cookie-signature"."1.0.0" = self.buildNodePackage {
+    name = "cookie-signature-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz";
+      name = "cookie-signature-1.0.0.tgz";
+      sha1 = "0044f332ac623df851c914e88eacc57f0c9704fe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie-signature"."1.0.1" =
     self.by-version."cookie-signature"."1.0.1";
-  by-version."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
-        name = "cookie-signature-1.0.1.tgz";
-        sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
+  by-version."cookie-signature"."1.0.1" = self.buildNodePackage {
+    name = "cookie-signature-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
+      name = "cookie-signature-1.0.1.tgz";
+      sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie-signature"."1.0.3" =
     self.by-version."cookie-signature"."1.0.3";
-  by-version."cookie-signature"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz";
-        name = "cookie-signature-1.0.3.tgz";
-        sha1 = "91cd997cc51fb641595738c69cda020328f50ff9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
+  by-version."cookie-signature"."1.0.3" = self.buildNodePackage {
+    name = "cookie-signature-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz";
+      name = "cookie-signature-1.0.3.tgz";
+      sha1 = "91cd997cc51fb641595738c69cda020328f50ff9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookie-signature"."1.0.4" =
     self.by-version."cookie-signature"."1.0.4";
-  by-version."cookie-signature"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookie-signature-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
-        name = "cookie-signature-1.0.4.tgz";
-        sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
-  };
-  by-spec."cookiejar"."1.3.0" =
-    self.by-version."cookiejar"."1.3.0";
-  by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz";
-        name = "cookiejar-1.3.0.tgz";
-        sha1 = "dd00b35679021e99cbd4e855b9ad041913474765";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookiejar" ];
-  };
-  by-spec."cookiejar"."1.3.2" =
-    self.by-version."cookiejar"."1.3.2";
-  by-version."cookiejar"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.2.tgz";
-        name = "cookiejar-1.3.2.tgz";
-        sha1 = "61d3229e2da20c859032233502958a9b7df58249";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookiejar" ];
+  by-version."cookie-signature"."1.0.4" = self.buildNodePackage {
+    name = "cookie-signature-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
+      name = "cookie-signature-1.0.4.tgz";
+      sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = self.buildNodePackage {
+    name = "cookie-signature-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+      name = "cookie-signature-1.0.5.tgz";
+      sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-signature"."1.0.6" =
+    self.by-version."cookie-signature"."1.0.6";
+  by-version."cookie-signature"."1.0.6" = self.buildNodePackage {
+    name = "cookie-signature-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+      name = "cookie-signature-1.0.6.tgz";
+      sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookiejar"."2.0.1" =
     self.by-version."cookiejar"."2.0.1";
-  by-version."cookiejar"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookiejar-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
-        name = "cookiejar-2.0.1.tgz";
-        sha1 = "3d12752f6adf68a892f332433492bd5812bb668f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookiejar" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookiejar" ];
+  by-version."cookiejar"."2.0.1" = self.buildNodePackage {
+    name = "cookiejar-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
+      name = "cookiejar-2.0.1.tgz";
+      sha1 = "3d12752f6adf68a892f332433492bd5812bb668f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookies"."0.1.x" =
+    self.by-version."cookies"."0.1.6";
+  by-version."cookies"."0.1.6" = self.buildNodePackage {
+    name = "cookies-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookies/-/cookies-0.1.6.tgz";
+      name = "cookies-0.1.6.tgz";
+      sha1 = "2129588b8b1e382ffba990d9f9cf9ddf2c142846";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cookies".">= 0.2.2" =
     self.by-version."cookies"."0.5.0";
-  by-version."cookies"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cookies-0.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookies/-/cookies-0.5.0.tgz";
-        name = "cookies-0.5.0.tgz";
-        sha1 = "164cac46a1d3ca3b3b87427414c24931d8381025";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookies" or []);
-    deps = [
-      self.by-version."keygrip"."1.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookies" ];
+  by-version."cookies"."0.5.0" = self.buildNodePackage {
+    name = "cookies-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookies/-/cookies-0.5.0.tgz";
+      name = "cookies-0.5.0.tgz";
+      sha1 = "164cac46a1d3ca3b3b87427414c24931d8381025";
+    };
+    deps = {
+      "keygrip-1.0.1" = self.by-version."keygrip"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cordova"."*" =
+    self.by-version."cordova"."4.2.0";
+  by-version."cordova"."4.2.0" = self.buildNodePackage {
+    name = "cordova-4.2.0";
+    version = "4.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cordova/-/cordova-4.2.0.tgz";
+      name = "cordova-4.2.0.tgz";
+      sha1 = "e4519197040b09b1bd131ecebc847716a2a7d7d0";
+    };
+    deps = {
+      "cordova-lib-4.2.0" = self.by-version."cordova-lib"."4.2.0";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "cordova" = self.by-version."cordova"."4.2.0";
+  by-spec."cordova-js"."3.7.3" =
+    self.by-version."cordova-js"."3.7.3";
+  by-version."cordova-js"."3.7.3" = self.buildNodePackage {
+    name = "cordova-js-3.7.3";
+    version = "3.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cordova-js/-/cordova-js-3.7.3.tgz";
+      name = "cordova-js-3.7.3.tgz";
+      sha1 = "c7d9bbb7cc2d72183ef64339dc259be6326d0093";
+    };
+    deps = {
+      "browserify-7.1.0" = self.by-version."browserify"."7.1.0";
+      "through-2.3.4" = self.by-version."through"."2.3.4";
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cordova-lib"."4.2.0" =
+    self.by-version."cordova-lib"."4.2.0";
+  by-version."cordova-lib"."4.2.0" = self.buildNodePackage {
+    name = "cordova-lib-4.2.0";
+    version = "4.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cordova-lib/-/cordova-lib-4.2.0.tgz";
+      name = "cordova-lib-4.2.0.tgz";
+      sha1 = "ce4f565ce970bfada900a3161625344e87139e64";
+    };
+    deps = {
+      "bplist-parser-0.0.6" = self.by-version."bplist-parser"."0.0.6";
+      "dep-graph-1.1.0" = self.by-version."dep-graph"."1.1.0";
+      "elementtree-0.1.5" = self.by-version."elementtree"."0.1.5";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "npm-1.4.28" = self.by-version."npm"."1.4.28";
+      "npmconf-0.1.16" = self.by-version."npmconf"."0.1.16";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "plist-1.1.0" = self.by-version."plist"."1.1.0";
+      "properties-parser-0.2.3" = self.by-version."properties-parser"."0.2.3";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "rc-0.5.2" = self.by-version."rc"."0.5.2";
+      "request-2.47.0" = self.by-version."request"."2.47.0";
+      "semver-2.0.11" = self.by-version."semver"."2.0.11";
+      "shelljs-0.3.0" = self.by-version."shelljs"."0.3.0";
+      "tar-1.0.2" = self.by-version."tar"."1.0.2";
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+      "xcode-0.6.7" = self.by-version."xcode"."0.6.7";
+      "cordova-js-3.7.3" = self.by-version."cordova-js"."3.7.3";
+      "d8-0.4.4" = self.by-version."d8"."0.4.4";
+      "unorm-1.3.3" = self.by-version."unorm"."1.3.3";
+      "valid-identifier-0.0.1" = self.by-version."valid-identifier"."0.0.1";
+      "through2-0.6.3" = self.by-version."through2"."0.6.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."cookies"."~0.5.0" =
-    self.by-version."cookies"."0.5.0";
   by-spec."core-util-is"."~1.0.0" =
     self.by-version."core-util-is"."1.0.1";
-  by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-core-util-is-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
-        name = "core-util-is-1.0.1.tgz";
-        sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."core-util-is" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "core-util-is" ];
+  by-version."core-util-is"."1.0.1" = self.buildNodePackage {
+    name = "core-util-is-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+      name = "core-util-is-1.0.1.tgz";
+      sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cors"."2.5.3" =
+    self.by-version."cors"."2.5.3";
+  by-version."cors"."2.5.3" = self.buildNodePackage {
+    name = "cors-2.5.3";
+    version = "2.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cors/-/cors-2.5.3.tgz";
+      name = "cors-2.5.3.tgz";
+      sha1 = "0d70a211ec3b6cc9824e6cdc299c0630ef69c392";
+    };
+    deps = {
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."couch-login"."~0.1.15" =
     self.by-version."couch-login"."0.1.20";
-  by-version."couch-login"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-couch-login-0.1.20";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz";
-        name = "couch-login-0.1.20.tgz";
-        sha1 = "007c70ef80089dbae6f59eeeec37480799b39595";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."couch-login" or []);
-    deps = [
-      self.by-version."request"."2.40.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "couch-login" ];
+  by-version."couch-login"."0.1.20" = self.buildNodePackage {
+    name = "couch-login-0.1.20";
+    version = "0.1.20";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz";
+      name = "couch-login-0.1.20.tgz";
+      sha1 = "007c70ef80089dbae6f59eeeec37480799b39595";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."coveralls"."*" =
-    self.by-version."coveralls"."2.11.1";
-  by-version."coveralls"."2.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coveralls-2.11.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.11.1.tgz";
-        name = "coveralls-2.11.1.tgz";
-        sha1 = "fedc951296207cc5eb545476923e64f20cf7854d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coveralls" or []);
-    deps = [
-      self.by-version."js-yaml"."3.0.1"
-      self.by-version."lcov-parse"."0.0.6"
-      self.by-version."log-driver"."1.2.4"
-      self.by-version."request"."2.36.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coveralls" ];
-  };
-  "coveralls" = self.by-version."coveralls"."2.11.1";
+    self.by-version."coveralls"."2.11.2";
+  by-version."coveralls"."2.11.2" = self.buildNodePackage {
+    name = "coveralls-2.11.2";
+    version = "2.11.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coveralls/-/coveralls-2.11.2.tgz";
+      name = "coveralls-2.11.2.tgz";
+      sha1 = "d4d982016cb2f9da89d77ab204d86a8537e6a12d";
+    };
+    deps = {
+      "js-yaml-3.0.1" = self.by-version."js-yaml"."3.0.1";
+      "lcov-parse-0.0.6" = self.by-version."lcov-parse"."0.0.6";
+      "log-driver-1.2.4" = self.by-version."log-driver"."1.2.4";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "coveralls" = self.by-version."coveralls"."2.11.2";
   by-spec."crc"."0.2.0" =
     self.by-version."crc"."0.2.0";
-  by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crc-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
-        name = "crc-0.2.0.tgz";
-        sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crc" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "crc" ];
-  };
-  by-spec."crc32-stream"."~0.2.0" =
-    self.by-version."crc32-stream"."0.2.0";
-  by-version."crc32-stream"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crc32-stream-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crc32-stream/-/crc32-stream-0.2.0.tgz";
-        name = "crc32-stream-0.2.0.tgz";
-        sha1 = "5c80d480c8682f904b6f15530dbbe0b8c063dbbe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crc32-stream" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."buffer-crc32"."0.2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "crc32-stream" ];
-  };
+  by-version."crc"."0.2.0" = self.buildNodePackage {
+    name = "crc-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
+      name = "crc-0.2.0.tgz";
+      sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."crc"."3.0.0" =
+    self.by-version."crc"."3.0.0";
+  by-version."crc"."3.0.0" = self.buildNodePackage {
+    name = "crc-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crc/-/crc-3.0.0.tgz";
+      name = "crc-3.0.0.tgz";
+      sha1 = "d11e97ec44a844e5eb15a74fa2c7875d0aac4b22";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."crc"."3.2.1" =
+    self.by-version."crc"."3.2.1";
+  by-version."crc"."3.2.1" = self.buildNodePackage {
+    name = "crc-3.2.1";
+    version = "3.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
+      name = "crc-3.2.1.tgz";
+      sha1 = "5d9c8fb77a245cd5eca291e5d2d005334bab0082";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."crc32-stream"."~0.3.1" =
+    self.by-version."crc32-stream"."0.3.2";
+  by-version."crc32-stream"."0.3.2" = self.buildNodePackage {
+    name = "crc32-stream-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.2.tgz";
+      name = "crc32-stream-0.3.2.tgz";
+      sha1 = "8c86a5c4ed38c53e36750d662784ad8ec642e38e";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."create-ecdh"."1.0.3" =
+    self.by-version."create-ecdh"."1.0.3";
+  by-version."create-ecdh"."1.0.3" = self.buildNodePackage {
+    name = "create-ecdh-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/create-ecdh/-/create-ecdh-1.0.3.tgz";
+      name = "create-ecdh-1.0.3.tgz";
+      sha1 = "ff6fce0d36747adf3a87918b97b93e302541a157";
+    };
+    deps = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+      "elliptic-1.0.1" = self.by-version."elliptic"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."create-hash"."^1.1.0" =
+    self.by-version."create-hash"."1.1.0";
+  by-version."create-hash"."1.1.0" = self.buildNodePackage {
+    name = "create-hash-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/create-hash/-/create-hash-1.1.0.tgz";
+      name = "create-hash-1.1.0.tgz";
+      sha1 = "c2ab96b5d4ece5f22df2ef4306803d14da6931e7";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ripemd160-1.0.0" = self.by-version."ripemd160"."1.0.0";
+      "sha.js-2.3.6" = self.by-version."sha.js"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."create-hmac"."^1.1.0" =
+    self.by-version."create-hmac"."1.1.3";
+  by-version."create-hmac"."1.1.3" = self.buildNodePackage {
+    name = "create-hmac-1.1.3";
+    version = "1.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.3.tgz";
+      name = "create-hmac-1.1.3.tgz";
+      sha1 = "29843e9c191ba412ab001bc55ac8b8b9ae54b670";
+    };
+    deps = {
+      "create-hash-1.1.0" = self.by-version."create-hash"."1.1.0";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."create-hmac"."^1.1.2" =
+    self.by-version."create-hmac"."1.1.3";
+  by-spec."cron"."1.0.6" =
+    self.by-version."cron"."1.0.6";
+  by-version."cron"."1.0.6" = self.buildNodePackage {
+    name = "cron-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cron/-/cron-1.0.6.tgz";
+      name = "cron-1.0.6.tgz";
+      sha1 = "92a32920a8d0fa433248e9de46768d53c55269d7";
+    };
+    deps = {
+      "moment-timezone-0.2.4" = self.by-version."moment-timezone"."0.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cron".">=1.0.1" =
+    self.by-version."cron"."1.0.6";
+  by-spec."cron"."^1.0.4" =
+    self.by-version."cron"."1.0.6";
   by-spec."crossroads"."~0.12.0" =
     self.by-version."crossroads"."0.12.0";
-  by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crossroads-0.12.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crossroads/-/crossroads-0.12.0.tgz";
-        name = "crossroads-0.12.0.tgz";
-        sha1 = "24114f9de3abfa0271df66b4ec56c3b984b7f56e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crossroads" or []);
-    deps = [
-      self.by-version."signals"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "crossroads" ];
+  by-version."crossroads"."0.12.0" = self.buildNodePackage {
+    name = "crossroads-0.12.0";
+    version = "0.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crossroads/-/crossroads-0.12.0.tgz";
+      name = "crossroads-0.12.0.tgz";
+      sha1 = "24114f9de3abfa0271df66b4ec56c3b984b7f56e";
+    };
+    deps = {
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cryptiles"."0.1.x" =
     self.by-version."cryptiles"."0.1.3";
-  by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cryptiles-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
-        name = "cryptiles-0.1.3.tgz";
-        sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cryptiles" or []);
-    deps = [
-      self.by-version."boom"."0.3.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cryptiles" ];
+  by-version."cryptiles"."0.1.3" = self.buildNodePackage {
+    name = "cryptiles-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
+      name = "cryptiles-0.1.3.tgz";
+      sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
+    };
+    deps = {
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cryptiles"."0.2.x" =
     self.by-version."cryptiles"."0.2.2";
-  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cryptiles-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
-        name = "cryptiles-0.2.2.tgz";
-        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cryptiles" or []);
-    deps = [
-      self.by-version."boom"."0.4.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cryptiles" ];
+  by-version."cryptiles"."0.2.2" = self.buildNodePackage {
+    name = "cryptiles-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+      name = "cryptiles-0.2.2.tgz";
+      sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+    };
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cryptiles"."2.x.x" =
+    self.by-version."cryptiles"."2.0.4";
+  by-version."cryptiles"."2.0.4" = self.buildNodePackage {
+    name = "cryptiles-2.0.4";
+    version = "2.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz";
+      name = "cryptiles-2.0.4.tgz";
+      sha1 = "09ea1775b9e1c7de7e60a99d42ab6f08ce1a1285";
+    };
+    deps = {
+      "boom-2.6.1" = self.by-version."boom"."2.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."crypto"."0.0.3" =
     self.by-version."crypto"."0.0.3";
-  by-version."crypto"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crypto-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz";
-        name = "crypto-0.0.3.tgz";
-        sha1 = "470a81b86be4c5ee17acc8207a1f5315ae20dbb0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crypto" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "crypto" ];
+  by-version."crypto"."0.0.3" = self.buildNodePackage {
+    name = "crypto-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz";
+      name = "crypto-0.0.3.tgz";
+      sha1 = "470a81b86be4c5ee17acc8207a1f5315ae20dbb0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."crypto-browserify"."3.3.0" =
+    self.by-version."crypto-browserify"."3.3.0";
+  by-version."crypto-browserify"."3.3.0" = self.buildNodePackage {
+    name = "crypto-browserify-3.3.0";
+    version = "3.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz";
+      name = "crypto-browserify-3.3.0.tgz";
+      sha1 = "b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c";
+    };
+    deps = {
+      "pbkdf2-compat-2.0.1" = self.by-version."pbkdf2-compat"."2.0.1";
+      "ripemd160-0.2.0" = self.by-version."ripemd160"."0.2.0";
+      "sha.js-2.2.6" = self.by-version."sha.js"."2.2.6";
+      "browserify-aes-0.4.0" = self.by-version."browserify-aes"."0.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."crypto-browserify"."^3.0.0" =
-    self.by-version."crypto-browserify"."3.0.1";
-  by-version."crypto-browserify"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-crypto-browserify-3.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.0.1.tgz";
-        name = "crypto-browserify-3.0.1.tgz";
-        sha1 = "770fd68e8422f9b1e53d6812f1c2ce2ea7ab917c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crypto-browserify" or []);
-    deps = [
-      self.by-version."ripemd160"."0.2.0"
-      self.by-version."sha.js"."2.1.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "crypto-browserify" ];
-  };
-  by-spec."cscodegen"."git://github.com/michaelficarra/cscodegen.git#73fd7202ac086c26f18c9d56f025b18b3c6f5383" =
-    self.by-version."cscodegen"."0.1.0";
-  by-version."cscodegen"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cscodegen-0.1.0";
-    src = [
-      (fetchgit {
-        url = "git://github.com/michaelficarra/cscodegen.git";
-        rev = "73fd7202ac086c26f18c9d56f025b18b3c6f5383";
-        sha256 = "cb527b00ac305ebc6ab3f59ff4e99def7646b417fdd9e35f0186c8ee41cd0829";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cscodegen" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cscodegen" ];
-  };
-  by-spec."csrf-tokens"."~2.0.0" =
-    self.by-version."csrf-tokens"."2.0.0";
-  by-version."csrf-tokens"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-csrf-tokens-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/csrf-tokens/-/csrf-tokens-2.0.0.tgz";
-        name = "csrf-tokens-2.0.0.tgz";
-        sha1 = "c821003fb8b6ad17bc977d6fd1a84bedc3ed619b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."csrf-tokens" or []);
-    deps = [
-      self.by-version."rndm"."1.0.0"
-      self.by-version."scmp"."0.0.3"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."base64-url"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "csrf-tokens" ];
-  };
+    self.by-version."crypto-browserify"."3.9.12";
+  by-version."crypto-browserify"."3.9.12" = self.buildNodePackage {
+    name = "crypto-browserify-3.9.12";
+    version = "3.9.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.9.12.tgz";
+      name = "crypto-browserify-3.9.12.tgz";
+      sha1 = "3ddbfa01bb3e4c6501b3871787916744b3c97175";
+    };
+    deps = {
+      "browserify-aes-1.0.0" = self.by-version."browserify-aes"."1.0.0";
+      "browserify-sign-2.8.0" = self.by-version."browserify-sign"."2.8.0";
+      "create-ecdh-1.0.3" = self.by-version."create-ecdh"."1.0.3";
+      "create-hash-1.1.0" = self.by-version."create-hash"."1.1.0";
+      "create-hmac-1.1.3" = self.by-version."create-hmac"."1.1.3";
+      "diffie-hellman-3.0.1" = self.by-version."diffie-hellman"."3.0.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "pbkdf2-compat-3.0.2" = self.by-version."pbkdf2-compat"."3.0.2";
+      "public-encrypt-1.1.2" = self.by-version."public-encrypt"."1.1.2";
+      "randombytes-2.0.1" = self.by-version."randombytes"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."crypto-browserify"."^3.2.6" =
+    self.by-version."crypto-browserify"."3.9.12";
+  by-spec."crypto-browserify"."~1.0.9" =
+    self.by-version."crypto-browserify"."1.0.9";
+  by-version."crypto-browserify"."1.0.9" = self.buildNodePackage {
+    name = "crypto-browserify-1.0.9";
+    version = "1.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz";
+      name = "crypto-browserify-1.0.9.tgz";
+      sha1 = "cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."csrf"."~2.0.5" =
+    self.by-version."csrf"."2.0.6";
+  by-version."csrf"."2.0.6" = self.buildNodePackage {
+    name = "csrf-2.0.6";
+    version = "2.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/csrf/-/csrf-2.0.6.tgz";
+      name = "csrf-2.0.6.tgz";
+      sha1 = "a90a9d88fc7411423cb0c5c13e901a8cc588132e";
+    };
+    deps = {
+      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
+      "rndm-1.1.0" = self.by-version."rndm"."1.1.0";
+      "scmp-1.0.0" = self.by-version."scmp"."1.0.0";
+      "uid-safe-1.1.0" = self.by-version."uid-safe"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."csrf"."~2.0.6" =
+    self.by-version."csrf"."2.0.6";
   by-spec."css"."~1.0.8" =
     self.by-version."css"."1.0.8";
-  by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-1.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/css/-/css-1.0.8.tgz";
-        name = "css-1.0.8.tgz";
-        sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."css" or []);
-    deps = [
-      self.by-version."css-parse"."1.0.4"
-      self.by-version."css-stringify"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "css" ];
+  by-version."css"."1.0.8" = self.buildNodePackage {
+    name = "css-1.0.8";
+    version = "1.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/css/-/css-1.0.8.tgz";
+      name = "css-1.0.8.tgz";
+      sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
+    };
+    deps = {
+      "css-parse-1.0.4" = self.by-version."css-parse"."1.0.4";
+      "css-stringify-1.0.5" = self.by-version."css-stringify"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."css-parse"."1.0.4" =
     self.by-version."css-parse"."1.0.4";
-  by-version."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-parse-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
-        name = "css-parse-1.0.4.tgz";
-        sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."css-parse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "css-parse" ];
+  by-version."css-parse"."1.0.4" = self.buildNodePackage {
+    name = "css-parse-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
+      name = "css-parse-1.0.4.tgz";
+      sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."css-parse"."1.7.x" =
     self.by-version."css-parse"."1.7.0";
-  by-version."css-parse"."1.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-parse-1.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
-        name = "css-parse-1.7.0.tgz";
-        sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."css-parse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "css-parse" ];
+  by-version."css-parse"."1.7.0" = self.buildNodePackage {
+    name = "css-parse-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
+      name = "css-parse-1.7.0.tgz";
+      sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."css-stringify"."1.0.5" =
     self.by-version."css-stringify"."1.0.5";
-  by-version."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-css-stringify-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
-        name = "css-stringify-1.0.5.tgz";
-        sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."css-stringify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "css-stringify" ];
-  };
-  by-spec."csurf"."~1.4.0" =
-    self.by-version."csurf"."1.4.0";
-  by-version."csurf"."1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-csurf-1.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/csurf/-/csurf-1.4.0.tgz";
-        name = "csurf-1.4.0.tgz";
-        sha1 = "035628ab6644d7709ac9d1adc78ef05a2d576efe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."csurf" or []);
-    deps = [
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."csrf-tokens"."2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "csurf" ];
+  by-version."css-stringify"."1.0.5" = self.buildNodePackage {
+    name = "css-stringify-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
+      name = "css-stringify-1.0.5.tgz";
+      sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cssom"."0.3.x" =
+    self.by-version."cssom"."0.3.0";
+  by-version."cssom"."0.3.0" = self.buildNodePackage {
+    name = "cssom-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cssom/-/cssom-0.3.0.tgz";
+      name = "cssom-0.3.0.tgz";
+      sha1 = "386d5135528fe65c1ee1bc7c4e55a38854dbcf7a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cssom"."~0.3.0" =
+    self.by-version."cssom"."0.3.0";
+  by-spec."cssstyle"."~0.2.9" =
+    self.by-version."cssstyle"."0.2.22";
+  by-version."cssstyle"."0.2.22" = self.buildNodePackage {
+    name = "cssstyle-0.2.22";
+    version = "0.2.22";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cssstyle/-/cssstyle-0.2.22.tgz";
+      name = "cssstyle-0.2.22.tgz";
+      sha1 = "a1ce15f5fe15a45d6705be0fbc4f833fe75c4f8d";
+    };
+    deps = {
+      "cssom-0.3.0" = self.by-version."cssom"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."csurf"."1.1.0" =
+    self.by-version."csurf"."1.1.0";
+  by-version."csurf"."1.1.0" = self.buildNodePackage {
+    name = "csurf-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/csurf/-/csurf-1.1.0.tgz";
+      name = "csurf-1.1.0.tgz";
+      sha1 = "5dd459df40df43b9eb828284d6d03132f42cb8b2";
+    };
+    deps = {
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "scmp-0.0.3" = self.by-version."scmp"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."csurf"."~1.6.1" =
+    self.by-version."csurf"."1.6.6";
+  by-version."csurf"."1.6.6" = self.buildNodePackage {
+    name = "csurf-1.6.6";
+    version = "1.6.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/csurf/-/csurf-1.6.6.tgz";
+      name = "csurf-1.6.6.tgz";
+      sha1 = "fc4b1aa293f65da87731c049350d01b25bda3ece";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "csrf-2.0.6" = self.by-version."csrf"."2.0.6";
+      "http-errors-1.2.8" = self.by-version."http-errors"."1.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."csurf"."~1.6.2" =
+    self.by-version."csurf"."1.6.6";
+  by-spec."csurf"."~1.7.0" =
+    self.by-version."csurf"."1.7.0";
+  by-version."csurf"."1.7.0" = self.buildNodePackage {
+    name = "csurf-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/csurf/-/csurf-1.7.0.tgz";
+      name = "csurf-1.7.0.tgz";
+      sha1 = "f24dc53753fccbdce0505f2abc5b57167b65ff18";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "csrf-2.0.6" = self.by-version."csrf"."2.0.6";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ctype"."0.5.0" =
     self.by-version."ctype"."0.5.0";
-  by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ctype-0.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz";
-        name = "ctype-0.5.0.tgz";
-        sha1 = "672673ec67587eb495c1ed694da1abb964ff65e3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ctype" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ctype" ];
+  by-version."ctype"."0.5.0" = self.buildNodePackage {
+    name = "ctype-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz";
+      name = "ctype-0.5.0.tgz";
+      sha1 = "672673ec67587eb495c1ed694da1abb964ff65e3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ctype"."0.5.2" =
     self.by-version."ctype"."0.5.2";
-  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ctype-0.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
-        name = "ctype-0.5.2.tgz";
-        sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ctype" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ctype" ];
+  by-version."ctype"."0.5.2" = self.buildNodePackage {
+    name = "ctype-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
+      name = "ctype-0.5.2.tgz";
+      sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ctype"."0.5.3" =
+    self.by-version."ctype"."0.5.3";
+  by-version."ctype"."0.5.3" = self.buildNodePackage {
+    name = "ctype-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+      name = "ctype-0.5.3.tgz";
+      sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."cycle"."1.0.x" =
     self.by-version."cycle"."1.0.3";
-  by-version."cycle"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-cycle-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
-        name = "cycle-1.0.3.tgz";
-        sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cycle" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cycle" ];
+  by-version."cycle"."1.0.3" = self.buildNodePackage {
+    name = "cycle-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+      name = "cycle-1.0.3.tgz";
+      sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."d"."~0.1.1" =
+    self.by-version."d"."0.1.1";
+  by-version."d"."0.1.1" = self.buildNodePackage {
+    name = "d-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/d/-/d-0.1.1.tgz";
+      name = "d-0.1.1.tgz";
+      sha1 = "da184c535d18d8ee7ba2aa229b914009fae11309";
+    };
+    deps = {
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."d8"."0.4.4" =
+    self.by-version."d8"."0.4.4";
+  by-version."d8"."0.4.4" = self.buildNodePackage {
+    name = "d8-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/d8/-/d8-0.4.4.tgz";
+      name = "d8-0.4.4.tgz";
+      sha1 = "5989dd62b90bdd853d3978f1261a4bc76bcf6485";
+    };
+    deps = {
+      "m8-0.4.4" = self.by-version."m8"."0.4.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."dashdash"."1.3.2" =
     self.by-version."dashdash"."1.3.2";
-  by-version."dashdash"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dashdash-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dashdash/-/dashdash-1.3.2.tgz";
-        name = "dashdash-1.3.2.tgz";
-        sha1 = "1e76d13fadf25f8f50e70212c98a25beb1b3b8eb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dashdash" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dashdash" ];
+  by-version."dashdash"."1.3.2" = self.buildNodePackage {
+    name = "dashdash-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dashdash/-/dashdash-1.3.2.tgz";
+      name = "dashdash-1.3.2.tgz";
+      sha1 = "1e76d13fadf25f8f50e70212c98a25beb1b3b8eb";
+    };
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."dashdash"."1.5.0" =
     self.by-version."dashdash"."1.5.0";
-  by-version."dashdash"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dashdash-1.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dashdash/-/dashdash-1.5.0.tgz";
-        name = "dashdash-1.5.0.tgz";
-        sha1 = "fa5aa8a9415a7c5c3928be18bd4975458e666452";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dashdash" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dashdash" ];
+  by-version."dashdash"."1.5.0" = self.buildNodePackage {
+    name = "dashdash-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dashdash/-/dashdash-1.5.0.tgz";
+      name = "dashdash-1.5.0.tgz";
+      sha1 = "fa5aa8a9415a7c5c3928be18bd4975458e666452";
+    };
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."data-uri-to-buffer"."0" =
+    self.by-version."data-uri-to-buffer"."0.0.3";
+  by-version."data-uri-to-buffer"."0.0.3" = self.buildNodePackage {
+    name = "data-uri-to-buffer-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz";
+      name = "data-uri-to-buffer-0.0.3.tgz";
+      sha1 = "18ae979a6a0ca994b0625853916d2662bbae0b1a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."date-now"."^0.1.4" =
     self.by-version."date-now"."0.1.4";
-  by-version."date-now"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-date-now-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
-        name = "date-now-0.1.4.tgz";
-        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."date-now" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "date-now" ];
+  by-version."date-now"."0.1.4" = self.buildNodePackage {
+    name = "date-now-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
+      name = "date-now-0.1.4.tgz";
+      sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."dateformat"."1.0.2-1.2.3" =
     self.by-version."dateformat"."1.0.2-1.2.3";
-  by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dateformat-1.0.2-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
-        name = "dateformat-1.0.2-1.2.3.tgz";
-        sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dateformat" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dateformat" ];
+  by-version."dateformat"."1.0.2-1.2.3" = self.buildNodePackage {
+    name = "dateformat-1.0.2-1.2.3";
+    version = "1.0.2-1.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
+      name = "dateformat-1.0.2-1.2.3.tgz";
+      sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dateformat"."1.0.7-1.2.3" =
+    self.by-version."dateformat"."1.0.7-1.2.3";
+  by-version."dateformat"."1.0.7-1.2.3" = self.buildNodePackage {
+    name = "dateformat-1.0.7-1.2.3";
+    version = "1.0.7-1.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz";
+      name = "dateformat-1.0.7-1.2.3.tgz";
+      sha1 = "ebb561bb7214ee57a8dc2687adab1d555de9419c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dateformat"."^1.0.11" =
+    self.by-version."dateformat"."1.0.11";
+  by-version."dateformat"."1.0.11" = self.buildNodePackage {
+    name = "dateformat-1.0.11";
+    version = "1.0.11";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz";
+      name = "dateformat-1.0.11.tgz";
+      sha1 = "f27cbee7a012bbfb82ea051562d3977f6093dbb1";
+    };
+    deps = {
+      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
+      "meow-3.0.0" = self.by-version."meow"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."dateformat"."~1.0.6" =
-    self.by-version."dateformat"."1.0.8-1.2.3";
-  by-version."dateformat"."1.0.8-1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dateformat-1.0.8-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.8-1.2.3.tgz";
-        name = "dateformat-1.0.8-1.2.3.tgz";
-        sha1 = "5d60c5d574dc778a7f98139156c6cfc9d851d1e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dateformat" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dateformat" ];
+    self.by-version."dateformat"."1.0.11";
+  by-spec."datejs".">=0.0.2" =
+    self.by-version."datejs"."0.0.2";
+  by-version."datejs"."0.0.2" = self.buildNodePackage {
+    name = "datejs-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/datejs/-/datejs-0.0.2.tgz";
+      name = "datejs-0.0.2.tgz";
+      sha1 = "242cf2e1c7338d9502a5ae4196fd69e234211f4a";
+    };
+    deps = {
+      "vows-0.8.1" = self.by-version."vows"."0.8.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debounced-seeker"."^1.0.0" =
+    self.by-version."debounced-seeker"."1.0.0";
+  by-version."debounced-seeker"."1.0.0" = self.buildNodePackage {
+    name = "debounced-seeker-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debounced-seeker/-/debounced-seeker-1.0.0.tgz";
+      name = "debounced-seeker-1.0.0.tgz";
+      sha1 = "e74befcd1a62ae7a5e5fbfbfa6f5d2bacd962bdd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."debug"."*" =
-    self.by-version."debug"."1.0.4";
-  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-        name = "debug-1.0.4.tgz";
-        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
+    self.by-version."debug"."2.1.1";
+  by-version."debug"."2.1.1" = self.buildNodePackage {
+    name = "debug-2.1.1";
+    version = "2.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.1.1.tgz";
+      name = "debug-2.1.1.tgz";
+      sha1 = "e0c548cc607adc22b537540dc3639c4236fdf90c";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."0" =
+    self.by-version."debug"."0.8.1";
+  by-version."debug"."0.8.1" = self.buildNodePackage {
+    name = "debug-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
+      name = "debug-0.8.1.tgz";
+      sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."debug"."0.5.0" =
     self.by-version."debug"."0.5.0";
-  by-version."debug"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.5.0.tgz";
-        name = "debug-0.5.0.tgz";
-        sha1 = "9d48c946fb7d7d59807ffe07822f515fd76d7a9e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
+  by-version."debug"."0.5.0" = self.buildNodePackage {
+    name = "debug-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.5.0.tgz";
+      name = "debug-0.5.0.tgz";
+      sha1 = "9d48c946fb7d7d59807ffe07822f515fd76d7a9e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."0.6.0" =
+    self.by-version."debug"."0.6.0";
+  by-version."debug"."0.6.0" = self.buildNodePackage {
+    name = "debug-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.6.0.tgz";
+      name = "debug-0.6.0.tgz";
+      sha1 = "ce9d5d025d5294b3f0748a494bebaf3c9fd8734f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."debug"."0.7.4" =
     self.by-version."debug"."0.7.4";
-  by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
-        name = "debug-0.7.4.tgz";
-        sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
+  by-version."debug"."0.7.4" = self.buildNodePackage {
+    name = "debug-0.7.4";
+    version = "0.7.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+      name = "debug-0.7.4.tgz";
+      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."0.7.x" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."0.8.0" =
+    self.by-version."debug"."0.8.0";
+  by-version."debug"."0.8.0" = self.buildNodePackage {
+    name = "debug-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.8.0.tgz";
+      name = "debug-0.8.0.tgz";
+      sha1 = "0541ea91f0e503fdf0c5eed418a32550234967f0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."0.8.1" =
+    self.by-version."debug"."0.8.1";
   by-spec."debug"."1.0.2" =
     self.by-version."debug"."1.0.2";
-  by-version."debug"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.2.tgz";
-        name = "debug-1.0.2.tgz";
-        sha1 = "3849591c10cce648476c3c7c2e2e3416db5963c4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
+  by-version."debug"."1.0.2" = self.buildNodePackage {
+    name = "debug-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-1.0.2.tgz";
+      name = "debug-1.0.2.tgz";
+      sha1 = "3849591c10cce648476c3c7c2e2e3416db5963c4";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."debug"."1.0.3" =
     self.by-version."debug"."1.0.3";
-  by-version."debug"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.3.tgz";
-        name = "debug-1.0.3.tgz";
-        sha1 = "fc8c6b2d6002804b4081c0208e0f6460ba1fa3e4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-      self.by-version."ms"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."debug"."1.0.4" =
-    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.3" = self.buildNodePackage {
+    name = "debug-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-1.0.3.tgz";
+      name = "debug-1.0.3.tgz";
+      sha1 = "fc8c6b2d6002804b4081c0208e0f6460ba1fa3e4";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."2" =
+    self.by-version."debug"."2.1.1";
+  by-spec."debug"."2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = self.buildNodePackage {
+    name = "debug-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+      name = "debug-2.0.0.tgz";
+      sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug".">= 0.7.0" =
+    self.by-version."debug"."2.1.1";
   by-spec."debug".">= 0.7.3 < 1" =
     self.by-version."debug"."0.8.1";
-  by-version."debug"."0.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-debug-0.8.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
-        name = "debug-0.8.1.tgz";
-        sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
+  by-spec."debug"."^0.8.1" =
+    self.by-version."debug"."0.8.1";
+  by-spec."debug"."^1.0" =
+    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.4" = self.buildNodePackage {
+    name = "debug-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+      name = "debug-1.0.4.tgz";
+      sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."^1.0.0" =
+    self.by-version."debug"."1.0.4";
   by-spec."debug"."^1.0.2" =
     self.by-version."debug"."1.0.4";
+  by-spec."debug"."^2.0.0" =
+    self.by-version."debug"."2.1.1";
+  by-spec."debug"."^2.1.0" =
+    self.by-version."debug"."2.1.1";
+  by-spec."debug"."^2.1.1" =
+    self.by-version."debug"."2.1.1";
   by-spec."debug"."~0.7.2" =
     self.by-version."debug"."0.7.4";
-  by-spec."debug"."~0.8" =
+  by-spec."debug"."~0.7.4" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.8.1" =
     self.by-version."debug"."0.8.1";
-  by-spec."debug"."~1.0.1" =
+  by-spec."debug"."~0.x" =
+    self.by-version."debug"."0.8.1";
+  by-spec."debug"."~1.0.0" =
     self.by-version."debug"."1.0.4";
-  by-spec."debug"."~1.0.2" =
+  by-spec."debug"."~1.0.1" =
     self.by-version."debug"."1.0.4";
+  by-spec."debug"."~2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-spec."debug"."~2.1.0" =
+    self.by-version."debug"."2.1.1";
+  by-spec."debug"."~2.1.1" =
+    self.by-version."debug"."2.1.1";
+  by-spec."debuglog"."^1.0.1" =
+    self.by-version."debuglog"."1.0.1";
+  by-version."debuglog"."1.0.1" = self.buildNodePackage {
+    name = "debuglog-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
+      name = "debuglog-1.0.1.tgz";
+      sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."decompress-zip"."0.0.8" =
+    self.by-version."decompress-zip"."0.0.8";
+  by-version."decompress-zip"."0.0.8" = self.buildNodePackage {
+    name = "decompress-zip-0.0.8";
+    version = "0.0.8";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.8.tgz";
+      name = "decompress-zip-0.0.8.tgz";
+      sha1 = "4a265b22c7b209d7b24fa66f2b2dfbced59044f3";
+    };
+    deps = {
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "mkpath-0.1.0" = self.by-version."mkpath"."0.1.0";
+      "binary-0.3.0" = self.by-version."binary"."0.3.0";
+      "touch-0.0.2" = self.by-version."touch"."0.0.2";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."deep-eql"."0.1.3" =
     self.by-version."deep-eql"."0.1.3";
-  by-version."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-eql-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz";
-        name = "deep-eql-0.1.3.tgz";
-        sha1 = "ef558acab8de25206cd713906d74e56930eb69f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-eql" or []);
-    deps = [
-      self.by-version."type-detect"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-eql" ];
+  by-version."deep-eql"."0.1.3" = self.buildNodePackage {
+    name = "deep-eql-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz";
+      name = "deep-eql-0.1.3.tgz";
+      sha1 = "ef558acab8de25206cd713906d74e56930eb69f2";
+    };
+    deps = {
+      "type-detect-0.1.1" = self.by-version."type-detect"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."deep-equal"."*" =
-    self.by-version."deep-equal"."0.2.1";
-  by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-equal-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
-        name = "deep-equal-0.2.1.tgz";
-        sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-equal" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-equal" ];
+    self.by-version."deep-equal"."1.0.0";
+  by-version."deep-equal"."1.0.0" = self.buildNodePackage {
+    name = "deep-equal-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-1.0.0.tgz";
+      name = "deep-equal-1.0.0.tgz";
+      sha1 = "d4564f07d2f0ab3e46110bec16592abd7dc2e326";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."deep-equal"."0.0.0" =
     self.by-version."deep-equal"."0.0.0";
-  by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-equal-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
-        name = "deep-equal-0.0.0.tgz";
-        sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-equal" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-equal" ];
-  };
+  by-version."deep-equal"."0.0.0" = self.buildNodePackage {
+    name = "deep-equal-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+      name = "deep-equal-0.0.0.tgz";
+      sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-equal"."^1.0.0" =
+    self.by-version."deep-equal"."1.0.0";
   by-spec."deep-equal"."~0.0.0" =
     self.by-version."deep-equal"."0.0.0";
+  by-spec."deep-equal"."~0.1.0" =
+    self.by-version."deep-equal"."0.1.2";
+  by-version."deep-equal"."0.1.2" = self.buildNodePackage {
+    name = "deep-equal-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz";
+      name = "deep-equal-0.1.2.tgz";
+      sha1 = "b246c2b80a570a47c11be1d9bd1070ec878b87ce";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."deep-equal"."~0.2.1" =
-    self.by-version."deep-equal"."0.2.1";
-  by-spec."deep-extend"."~0.2.10" =
-    self.by-version."deep-extend"."0.2.11";
-  by-version."deep-extend"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deep-extend-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz";
-        name = "deep-extend-0.2.11.tgz";
-        sha1 = "7a16ba69729132340506170494bc83f7076fe08f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-extend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-extend" ];
+    self.by-version."deep-equal"."0.2.2";
+  by-version."deep-equal"."0.2.2" = self.buildNodePackage {
+    name = "deep-equal-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz";
+      name = "deep-equal-0.2.2.tgz";
+      sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."deep-extend"."~0.2.5" =
     self.by-version."deep-extend"."0.2.11";
+  by-version."deep-extend"."0.2.11" = self.buildNodePackage {
+    name = "deep-extend-0.2.11";
+    version = "0.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz";
+      name = "deep-extend-0.2.11.tgz";
+      sha1 = "7a16ba69729132340506170494bc83f7076fe08f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-extend"."~0.3.2" =
+    self.by-version."deep-extend"."0.3.2";
+  by-version."deep-extend"."0.3.2" = self.buildNodePackage {
+    name = "deep-extend-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.3.2.tgz";
+      name = "deep-extend-0.3.2.tgz";
+      sha1 = "c75dff89f1c639e98438894d156c30b4f87b3a56";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-is"."0.1.x" =
+    self.by-version."deep-is"."0.1.3";
+  by-version."deep-is"."0.1.3" = self.buildNodePackage {
+    name = "deep-is-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+      name = "deep-is-0.1.3.tgz";
+      sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-is"."~0.1.2" =
+    self.by-version."deep-is"."0.1.3";
   by-spec."deepmerge"."*" =
     self.by-version."deepmerge"."0.2.7";
-  by-version."deepmerge"."0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deepmerge-0.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deepmerge/-/deepmerge-0.2.7.tgz";
-        name = "deepmerge-0.2.7.tgz";
-        sha1 = "3a5ab8d37311c4d1aefb22209693afe0a91a0563";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deepmerge" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deepmerge" ];
+  by-version."deepmerge"."0.2.7" = self.buildNodePackage {
+    name = "deepmerge-0.2.7";
+    version = "0.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deepmerge/-/deepmerge-0.2.7.tgz";
+      name = "deepmerge-0.2.7.tgz";
+      sha1 = "3a5ab8d37311c4d1aefb22209693afe0a91a0563";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "deepmerge" = self.by-version."deepmerge"."0.2.7";
+  by-spec."default-browser-id"."1.0.2" =
+    self.by-version."default-browser-id"."1.0.2";
+  by-version."default-browser-id"."1.0.2" = self.buildNodePackage {
+    name = "default-browser-id-1.0.2";
+    version = "1.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/default-browser-id/-/default-browser-id-1.0.2.tgz";
+      name = "default-browser-id-1.0.2.tgz";
+      sha1 = "17f500f18e466d1a82c06cd7ccba71c6ee6600a9";
+    };
+    deps = {
+      "bplist-parser-0.0.6" = self.by-version."bplist-parser"."0.0.6";
+      "untildify-1.0.0" = self.by-version."untildify"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ "darwin" ];
+    cpu = [ ];
+  };
+  by-spec."defaultable"."~0.7.2" =
+    self.by-version."defaultable"."0.7.2";
+  by-version."defaultable"."0.7.2" = self.buildNodePackage {
+    name = "defaultable-0.7.2";
+    version = "0.7.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/defaultable/-/defaultable-0.7.2.tgz";
+      name = "defaultable-0.7.2.tgz";
+      sha1 = "7c1564ca14f9eca4c4127a539790777d44085bd7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."defaults"."^1.0.0" =
+    self.by-version."defaults"."1.0.0";
+  by-version."defaults"."1.0.0" = self.buildNodePackage {
+    name = "defaults-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/defaults/-/defaults-1.0.0.tgz";
+      name = "defaults-1.0.0.tgz";
+      sha1 = "3ae25f44416c6c01f9809a25fcdd285912d2a6b1";
+    };
+    deps = {
+      "clone-0.1.19" = self.by-version."clone"."0.1.19";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."defined"."0.0.0" =
+    self.by-version."defined"."0.0.0";
+  by-version."defined"."0.0.0" = self.buildNodePackage {
+    name = "defined-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
+      name = "defined-0.0.0.tgz";
+      sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."defined"."~0.0.0" =
     self.by-version."defined"."0.0.0";
-  by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-defined-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
-        name = "defined-0.0.0.tgz";
-        sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."defined" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "defined" ];
-  };
-  by-spec."deflate-crc32-stream"."~0.1.0" =
-    self.by-version."deflate-crc32-stream"."0.1.1";
-  by-version."deflate-crc32-stream"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-deflate-crc32-stream-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deflate-crc32-stream/-/deflate-crc32-stream-0.1.1.tgz";
-        name = "deflate-crc32-stream-0.1.1.tgz";
-        sha1 = "5df9e343174f56e7d6056e8ba1f91e5576c02160";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deflate-crc32-stream" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deflate-crc32-stream" ];
+  by-spec."defs"."~1.1.0" =
+    self.by-version."defs"."1.1.0";
+  by-version."defs"."1.1.0" = self.buildNodePackage {
+    name = "defs-1.1.0";
+    version = "1.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/defs/-/defs-1.1.0.tgz";
+      name = "defs-1.1.0.tgz";
+      sha1 = "a271201acd271eb0be887eefc61edd9f89f32b49";
+    };
+    deps = {
+      "alter-0.2.0" = self.by-version."alter"."0.2.0";
+      "ast-traverse-0.1.1" = self.by-version."ast-traverse"."0.1.1";
+      "breakable-1.0.0" = self.by-version."breakable"."1.0.0";
+      "esprima-fb-8001.1001.0-dev-harmony-fb" = self.by-version."esprima-fb"."8001.1001.0-dev-harmony-fb";
+      "simple-fmt-0.1.0" = self.by-version."simple-fmt"."0.1.0";
+      "simple-is-0.2.0" = self.by-version."simple-is"."0.2.0";
+      "stringmap-0.2.2" = self.by-version."stringmap"."0.2.2";
+      "stringset-0.2.1" = self.by-version."stringset"."0.2.1";
+      "tryor-0.1.2" = self.by-version."tryor"."0.1.2";
+      "yargs-1.3.3" = self.by-version."yargs"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."degenerator"."~1.0.0" =
+    self.by-version."degenerator"."1.0.0";
+  by-version."degenerator"."1.0.0" = self.buildNodePackage {
+    name = "degenerator-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/degenerator/-/degenerator-1.0.0.tgz";
+      name = "degenerator-1.0.0.tgz";
+      sha1 = "9cb6976fa1b860a9f2e913cbf18689113318dd8f";
+    };
+    deps = {
+      "esprima-1.1.0-dev-harmony" = self.by-version."esprima"."1.1.0-dev-harmony";
+      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
+      "ast-types-0.3.38" = self.by-version."ast-types"."0.3.38";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."delayed-stream"."0.0.5" =
     self.by-version."delayed-stream"."0.0.5";
-  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-delayed-stream-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        name = "delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delayed-stream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "delayed-stream" ];
-  };
-  by-spec."delegates"."0.0.3" =
-    self.by-version."delegates"."0.0.3";
-  by-version."delegates"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-delegates-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/delegates/-/delegates-0.0.3.tgz";
-        name = "delegates-0.0.3.tgz";
-        sha1 = "4f25cbf8e1c061967f834e003f3bd18ded4baeea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delegates" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "delegates" ];
+  by-version."delayed-stream"."0.0.5" = self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+      name = "delayed-stream-0.0.5.tgz";
+      sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."delegates"."^0.1.0" =
+    self.by-version."delegates"."0.1.0";
+  by-version."delegates"."0.1.0" = self.buildNodePackage {
+    name = "delegates-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz";
+      name = "delegates-0.1.0.tgz";
+      sha1 = "b4b57be11a1653517a04b27f0949bdc327dfe390";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dep-graph"."1.1.0" =
+    self.by-version."dep-graph"."1.1.0";
+  by-version."dep-graph"."1.1.0" = self.buildNodePackage {
+    name = "dep-graph-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dep-graph/-/dep-graph-1.1.0.tgz";
+      name = "dep-graph-1.1.0.tgz";
+      sha1 = "fade86a92799a813e9b42511cdf3dfa6cc8dbefe";
+    };
+    deps = {
+      "underscore-1.2.1" = self.by-version."underscore"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."depd"."0.3.0" =
     self.by-version."depd"."0.3.0";
-  by-version."depd"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-depd-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-0.3.0.tgz";
-        name = "depd-0.3.0.tgz";
-        sha1 = "11c9bc28e425325fbd8b38940beff69fa5326883";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "depd" ];
-  };
-  by-spec."depd"."0.4.4" =
-    self.by-version."depd"."0.4.4";
-  by-version."depd"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-depd-0.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
-        name = "depd-0.4.4.tgz";
-        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "depd" ];
+  by-version."depd"."0.3.0" = self.buildNodePackage {
+    name = "depd-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/depd/-/depd-0.3.0.tgz";
+      name = "depd-0.3.0.tgz";
+      sha1 = "11c9bc28e425325fbd8b38940beff69fa5326883";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."depd"."0.4.2" =
+    self.by-version."depd"."0.4.2";
+  by-version."depd"."0.4.2" = self.buildNodePackage {
+    name = "depd-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/depd/-/depd-0.4.2.tgz";
+      name = "depd-0.4.2.tgz";
+      sha1 = "a4bc8a0e4801770a66363daa6d35138f3e3b54dd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."depd"."0.4.5" =
+    self.by-version."depd"."0.4.5";
+  by-version."depd"."0.4.5" = self.buildNodePackage {
+    name = "depd-0.4.5";
+    version = "0.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/depd/-/depd-0.4.5.tgz";
+      name = "depd-0.4.5.tgz";
+      sha1 = "1a664b53388b4a6573e8ae67b5f767c693ca97f1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."depd".">= 0.4.0" =
+    self.by-version."depd"."1.0.0";
+  by-version."depd"."1.0.0" = self.buildNodePackage {
+    name = "depd-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/depd/-/depd-1.0.0.tgz";
+      name = "depd-1.0.0.tgz";
+      sha1 = "2fda0d00e98aae2845d4991ab1bf1f2a199073d5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."depd"."~1.0.0" =
+    self.by-version."depd"."1.0.0";
+  by-spec."deprecated"."^0.0.1" =
+    self.by-version."deprecated"."0.0.1";
+  by-version."deprecated"."0.0.1" = self.buildNodePackage {
+    name = "deprecated-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz";
+      name = "deprecated-0.0.1.tgz";
+      sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."deps-sort"."^1.3.5" =
     self.by-version."deps-sort"."1.3.5";
-  by-version."deps-sort"."1.3.5" = lib.makeOverridable self.buildNodePackage {
+  by-version."deps-sort"."1.3.5" = self.buildNodePackage {
     name = "deps-sort-1.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deps-sort/-/deps-sort-1.3.5.tgz";
-        name = "deps-sort-1.3.5.tgz";
-        sha1 = "89dc3c323504080558f9909bf57df1f7837c5c6f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deps-sort" or []);
-    deps = [
-      self.by-version."JSONStream"."0.8.4"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."minimist"."0.2.0"
-      self.by-version."shasum"."1.0.0"
-      self.by-version."through2"."0.5.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deps-sort" ];
+    version = "1.3.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deps-sort/-/deps-sort-1.3.5.tgz";
+      name = "deps-sort-1.3.5.tgz";
+      sha1 = "89dc3c323504080558f9909bf57df1f7837c5c6f";
+    };
+    deps = {
+      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "shasum-1.0.1" = self.by-version."shasum"."1.0.1";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deps-sort"."~0.1.1" =
+    self.by-version."deps-sort"."0.1.2";
+  by-version."deps-sort"."0.1.2" = self.buildNodePackage {
+    name = "deps-sort-0.1.2";
+    version = "0.1.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deps-sort/-/deps-sort-0.1.2.tgz";
+      name = "deps-sort-0.1.2.tgz";
+      sha1 = "daa2fb614a17c9637d801e2f55339ae370f3611a";
+    };
+    deps = {
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "JSONStream-0.6.4" = self.by-version."JSONStream"."0.6.4";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."derequire"."~0.6.0" =
+    self.by-version."derequire"."0.6.1";
+  by-version."derequire"."0.6.1" = self.buildNodePackage {
+    name = "derequire-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/derequire/-/derequire-0.6.1.tgz";
+      name = "derequire-0.6.1.tgz";
+      sha1 = "cce8ee25380de715deb61900f0bdd38222928788";
+    };
+    deps = {
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "esprima-six-0.0.3" = self.by-version."esprima-six"."0.0.3";
+      "esrefactor-0.1.0" = self.by-version."esrefactor"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."destroy"."1.0.3" =
     self.by-version."destroy"."1.0.3";
-  by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-destroy-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
-        name = "destroy-1.0.3.tgz";
-        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."destroy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "destroy" ];
-  };
-  by-spec."detective"."^3.1.0" =
-    self.by-version."detective"."3.1.0";
-  by-version."detective"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-detective-3.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/detective/-/detective-3.1.0.tgz";
-        name = "detective-3.1.0.tgz";
-        sha1 = "77782444ab752b88ca1be2e9d0a0395f1da25eed";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."detective" or []);
-    deps = [
-      self.by-version."escodegen"."1.1.0"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "detective" ];
-  };
-  by-spec."dethroy"."~1.0.0" =
-    self.by-version."dethroy"."1.0.2";
-  by-version."dethroy"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dethroy-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dethroy/-/dethroy-1.0.2.tgz";
-        name = "dethroy-1.0.2.tgz";
-        sha1 = "c82003317693dcbcda3f752b0182e3bf16dd4421";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dethroy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dethroy" ];
+  by-version."destroy"."1.0.3" = self.buildNodePackage {
+    name = "destroy-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+      name = "destroy-1.0.3.tgz";
+      sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."detective"."^4.0.0" =
+    self.by-version."detective"."4.0.0";
+  by-version."detective"."4.0.0" = self.buildNodePackage {
+    name = "detective-4.0.0";
+    version = "4.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/detective/-/detective-4.0.0.tgz";
+      name = "detective-4.0.0.tgz";
+      sha1 = "9ffdb5555ddb1571fdbdc6f4ceac08e5e4cf8467";
+    };
+    deps = {
+      "acorn-0.9.0" = self.by-version."acorn"."0.9.0";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "escodegen-1.6.1" = self.by-version."escodegen"."1.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."detective"."~2.1.2" =
+    self.by-version."detective"."2.1.2";
+  by-version."detective"."2.1.2" = self.buildNodePackage {
+    name = "detective-2.1.2";
+    version = "2.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/detective/-/detective-2.1.2.tgz";
+      name = "detective-2.1.2.tgz";
+      sha1 = "d22ad9f18c82efb3f55fee2e244883da6bbb8e37";
+    };
+    deps = {
+      "esprima-1.0.2" = self.by-version."esprima"."1.0.2";
+      "escodegen-0.0.15" = self.by-version."escodegen"."0.0.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."dezalgo"."^1.0.0" =
-    self.by-version."dezalgo"."1.0.0";
-  by-version."dezalgo"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dezalgo-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.0.tgz";
-        name = "dezalgo-1.0.0.tgz";
-        sha1 = "050bb723f18b5617b309f26c2dc8fe6f2573b6fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dezalgo" or []);
-    deps = [
-      self.by-version."asap"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dezalgo" ];
-  };
+    self.by-version."dezalgo"."1.0.1";
+  by-version."dezalgo"."1.0.1" = self.buildNodePackage {
+    name = "dezalgo-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz";
+      name = "dezalgo-1.0.1.tgz";
+      sha1 = "12bde135060807900d5a7aebb607c2abb7c76937";
+    };
+    deps = {
+      "asap-1.0.0" = self.by-version."asap"."1.0.0";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dezalgo"."^1.0.1" =
+    self.by-version."dezalgo"."1.0.1";
+  by-spec."dezalgo"."~1.0.1" =
+    self.by-version."dezalgo"."1.0.1";
   by-spec."di"."~0.0.1" =
     self.by-version."di"."0.0.1";
-  by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-di-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/di/-/di-0.0.1.tgz";
-        name = "di-0.0.1.tgz";
-        sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."di" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "di" ];
+  by-version."di"."0.0.1" = self.buildNodePackage {
+    name = "di-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/di/-/di-0.0.1.tgz";
+      name = "di-0.0.1.tgz";
+      sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dicer"."0.2.3" =
+    self.by-version."dicer"."0.2.3";
+  by-version."dicer"."0.2.3" = self.buildNodePackage {
+    name = "dicer-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dicer/-/dicer-0.2.3.tgz";
+      name = "dicer-0.2.3.tgz";
+      sha1 = "f00281189a55c2351ef80490a4fe9fb2c59c4939";
+    };
+    deps = {
+      "streamsearch-0.1.2" = self.by-version."streamsearch"."0.1.2";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."diff"."1.0.7" =
     self.by-version."diff"."1.0.7";
-  by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-diff-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        name = "diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."diff" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "diff" ];
-  };
-  by-spec."diff"."~1.0.3" =
+  by-version."diff"."1.0.7" = self.buildNodePackage {
+    name = "diff-1.0.7";
+    version = "1.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
+      name = "diff-1.0.7.tgz";
+      sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."diff"."1.0.8" =
     self.by-version."diff"."1.0.8";
-  by-version."diff"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-diff-1.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
-        name = "diff-1.0.8.tgz";
-        sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."diff" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "diff" ];
+  by-version."diff"."1.0.8" = self.buildNodePackage {
+    name = "diff-1.0.8";
+    version = "1.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
+      name = "diff-1.0.8.tgz";
+      sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."diff"."~1.0.7" =
     self.by-version."diff"."1.0.8";
-  by-spec."director"."1.1.10" =
-    self.by-version."director"."1.1.10";
-  by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-director-1.1.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
-        name = "director-1.1.10.tgz";
-        sha1 = "e6c1d64f2f079216f19ea83b566035dde9901179";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."director" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "director" ];
+  by-spec."diff"."~1.0.8" =
+    self.by-version."diff"."1.0.8";
+  by-spec."diffie-hellman"."^3.0.1" =
+    self.by-version."diffie-hellman"."3.0.1";
+  by-version."diffie-hellman"."3.0.1" = self.buildNodePackage {
+    name = "diffie-hellman-3.0.1";
+    version = "3.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-3.0.1.tgz";
+      name = "diffie-hellman-3.0.1.tgz";
+      sha1 = "13be8fc4ad657278408cd796b554a93e586ed66a";
+    };
+    deps = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+      "miller-rabin-1.1.5" = self.by-version."miller-rabin"."1.1.5";
+      "randombytes-2.0.1" = self.by-version."randombytes"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."difflet"."~0.2.0" =
+    self.by-version."difflet"."0.2.6";
+  by-version."difflet"."0.2.6" = self.buildNodePackage {
+    name = "difflet-0.2.6";
+    version = "0.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz";
+      name = "difflet-0.2.6.tgz";
+      sha1 = "ab23b31f5649b6faa8e3d2acbd334467365ca6fa";
+    };
+    deps = {
+      "traverse-0.6.6" = self.by-version."traverse"."0.6.6";
+      "charm-0.1.2" = self.by-version."charm"."0.1.2";
+      "deep-is-0.1.3" = self.by-version."deep-is"."0.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."directmail"."~0.1.7" =
+    self.by-version."directmail"."0.1.8";
+  by-version."directmail"."0.1.8" = self.buildNodePackage {
+    name = "directmail-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/directmail/-/directmail-0.1.8.tgz";
+      name = "directmail-0.1.8.tgz";
+      sha1 = "e4852c8a0c5519bef4904fcd96d760822f42a446";
+    };
+    deps = {
+      "simplesmtp-0.3.35" = self.by-version."simplesmtp"."0.3.35";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."director"."1.2.7" =
+    self.by-version."director"."1.2.7";
+  by-version."director"."1.2.7" = self.buildNodePackage {
+    name = "director-1.2.7";
+    version = "1.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/director/-/director-1.2.7.tgz";
+      name = "director-1.2.7.tgz";
+      sha1 = "bfd3741075fd7fb1a5b2e13658c5f4bec77736f3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."dkim-signer"."~0.1.1" =
     self.by-version."dkim-signer"."0.1.2";
-  by-version."dkim-signer"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dkim-signer-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.2.tgz";
-        name = "dkim-signer-0.1.2.tgz";
-        sha1 = "2ff5d61c87d8fbff5a8b131cffc5ec3ba1c25553";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dkim-signer" or []);
-    deps = [
-      self.by-version."punycode"."1.2.4"
-      self.by-version."mimelib"."0.2.17"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dkim-signer" ];
+  by-version."dkim-signer"."0.1.2" = self.buildNodePackage {
+    name = "dkim-signer-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.2.tgz";
+      name = "dkim-signer-0.1.2.tgz";
+      sha1 = "2ff5d61c87d8fbff5a8b131cffc5ec3ba1c25553";
+    };
+    deps = {
+      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
+      "mimelib-0.2.19" = self.by-version."mimelib"."0.2.19";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dns"."^0.2.2" =
+    self.by-version."dns"."0.2.2";
+  by-version."dns"."0.2.2" = self.buildNodePackage {
+    name = "dns-0.2.2";
+    version = "0.2.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dns/-/dns-0.2.2.tgz";
+      name = "dns-0.2.2.tgz";
+      sha1 = "a8477ca26b835842c3125204d8cbcdd6af98c9ec";
+    };
+    deps = {
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+      "hbo-dnsd-0.9.8" = self.by-version."hbo-dnsd"."0.9.8";
+      "native-dns-0.6.1" = self.by-version."native-dns"."0.6.1";
+      "node-options-0.0.6" = self.by-version."node-options"."0.0.6";
+      "tomahawk-0.1.6" = self.by-version."tomahawk"."0.1.6";
+      "tomahawk-plugin-kv-memory-store-0.0.3" = self.by-version."tomahawk-plugin-kv-memory-store"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dom-serializer"."0" =
+    self.by-version."dom-serializer"."0.1.0";
+  by-version."dom-serializer"."0.1.0" = self.buildNodePackage {
+    name = "dom-serializer-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
+      name = "dom-serializer-0.1.0.tgz";
+      sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+    };
+    deps = {
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dom-serializer"."~0.0.0" =
+    self.by-version."dom-serializer"."0.0.1";
+  by-version."dom-serializer"."0.0.1" = self.buildNodePackage {
+    name = "dom-serializer-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz";
+      name = "dom-serializer-0.0.1.tgz";
+      sha1 = "9589827f1e32d22c37c829adabd59b3247af8eaf";
+    };
+    deps = {
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domain-browser"."^1.1.1" =
+    self.by-version."domain-browser"."1.1.4";
+  by-version."domain-browser"."1.1.4" = self.buildNodePackage {
+    name = "domain-browser-1.1.4";
+    version = "1.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domain-browser/-/domain-browser-1.1.4.tgz";
+      name = "domain-browser-1.1.4.tgz";
+      sha1 = "90b42769333e909ce3f13bf3e1023ba4a6d6b723";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."domain-browser"."~1.1.0" =
-    self.by-version."domain-browser"."1.1.2";
-  by-version."domain-browser"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domain-browser-1.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/domain-browser/-/domain-browser-1.1.2.tgz";
-        name = "domain-browser-1.1.2.tgz";
-        sha1 = "5a21f30a29a9891533915061426974dc2f14e56b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."domain-browser" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "domain-browser" ];
-  };
+    self.by-version."domain-browser"."1.1.4";
   by-spec."domelementtype"."1" =
-    self.by-version."domelementtype"."1.1.1";
-  by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domelementtype-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz";
-        name = "domelementtype-1.1.1.tgz";
-        sha1 = "7887acbda7614bb0a3dbe1b5e394f77a8ed297cf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."domelementtype" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "domelementtype" ];
-  };
+    self.by-version."domelementtype"."1.1.3";
+  by-version."domelementtype"."1.1.3" = self.buildNodePackage {
+    name = "domelementtype-1.1.3";
+    version = "1.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
+      name = "domelementtype-1.1.3.tgz";
+      sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domelementtype"."~1.1.1" =
+    self.by-version."domelementtype"."1.1.3";
   by-spec."domhandler"."2.2" =
-    self.by-version."domhandler"."2.2.0";
-  by-version."domhandler"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domhandler-2.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz";
-        name = "domhandler-2.2.0.tgz";
-        sha1 = "ac9febfa988034b43f78ba056ebf7bd373416476";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."domhandler" or []);
-    deps = [
-      self.by-version."domelementtype"."1.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "domhandler" ];
+    self.by-version."domhandler"."2.2.1";
+  by-version."domhandler"."2.2.1" = self.buildNodePackage {
+    name = "domhandler-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz";
+      name = "domhandler-2.2.1.tgz";
+      sha1 = "59df9dcd227e808b365ae73e1f6684ac3d946fc2";
+    };
+    deps = {
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domhandler"."2.3" =
+    self.by-version."domhandler"."2.3.0";
+  by-version."domhandler"."2.3.0" = self.buildNodePackage {
+    name = "domhandler-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
+      name = "domhandler-2.3.0.tgz";
+      sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+    };
+    deps = {
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domino"."~1.0.18" =
+    self.by-version."domino"."1.0.18";
+  by-version."domino"."1.0.18" = self.buildNodePackage {
+    name = "domino-1.0.18";
+    version = "1.0.18";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domino/-/domino-1.0.18.tgz";
+      name = "domino-1.0.18.tgz";
+      sha1 = "3a9bcf9db6d693e1ffb7d06d96c9138e1d331a7b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domutils"."1.4" =
+    self.by-version."domutils"."1.4.3";
+  by-version."domutils"."1.4.3" = self.buildNodePackage {
+    name = "domutils-1.4.3";
+    version = "1.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
+      name = "domutils-1.4.3.tgz";
+      sha1 = "0865513796c6b306031850e175516baf80b72a6f";
+    };
+    deps = {
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."domutils"."1.5" =
-    self.by-version."domutils"."1.5.0";
-  by-version."domutils"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-domutils-1.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/domutils/-/domutils-1.5.0.tgz";
-        name = "domutils-1.5.0.tgz";
-        sha1 = "bfa4ceb8b7ab6f9423fe59154e04da6cc3ff3949";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."domutils" or []);
-    deps = [
-      self.by-version."domelementtype"."1.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "domutils" ];
-  };
-  by-spec."dox"."~0.4.4" =
-    self.by-version."dox"."0.4.6";
-  by-version."dox"."0.4.6" = lib.makeOverridable self.buildNodePackage {
-    name = "dox-0.4.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dox/-/dox-0.4.6.tgz";
-        name = "dox-0.4.6.tgz";
-        sha1 = "b1f53ccd1aa0d7f712fdca22124a666e3ed37215";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dox" or []);
-    deps = [
-      self.by-version."marked"."0.3.2"
-      self.by-version."commander"."0.6.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dox" ];
+    self.by-version."domutils"."1.5.1";
+  by-version."domutils"."1.5.1" = self.buildNodePackage {
+    name = "domutils-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
+      name = "domutils-1.5.1.tgz";
+      sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+    };
+    deps = {
+      "dom-serializer-0.1.0" = self.by-version."dom-serializer"."0.1.0";
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dropbox"."=0.9.2" =
+    self.by-version."dropbox"."0.9.2";
+  by-version."dropbox"."0.9.2" = self.buildNodePackage {
+    name = "dropbox-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dropbox/-/dropbox-0.9.2.tgz";
+      name = "dropbox-0.9.2.tgz";
+      sha1 = "b516a0483d136c16dd52acf729687e87578425cb";
+    };
+    deps = {
+      "open-0.0.5" = self.by-version."open"."0.0.5";
+      "xhr2-0.1.2" = self.by-version."xhr2"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."dtrace-provider"."0.2.8" =
     self.by-version."dtrace-provider"."0.2.8";
-  by-version."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-dtrace-provider-0.2.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
-        name = "dtrace-provider-0.2.8.tgz";
-        sha1 = "e243f19219aa95fbf0d8f2ffb07f5bd64e94fe20";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."dtrace-provider" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "dtrace-provider" ];
+  by-version."dtrace-provider"."0.2.8" = self.buildNodePackage {
+    name = "dtrace-provider-0.2.8";
+    version = "0.2.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
+      name = "dtrace-provider-0.2.8.tgz";
+      sha1 = "e243f19219aa95fbf0d8f2ffb07f5bd64e94fe20";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."duplexer"."~0.1.0" =
+    self.by-version."duplexer"."0.1.1";
+  by-version."duplexer"."0.1.1" = self.buildNodePackage {
+    name = "duplexer-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+      name = "duplexer-0.1.1.tgz";
+      sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."duplexer"."~0.1.1" =
     self.by-version."duplexer"."0.1.1";
-  by-version."duplexer"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-duplexer-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
-        name = "duplexer-0.1.1.tgz";
-        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."duplexer" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "duplexer" ];
-  };
   by-spec."duplexer2"."0.0.2" =
     self.by-version."duplexer2"."0.0.2";
-  by-version."duplexer2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-duplexer2-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz";
-        name = "duplexer2-0.0.2.tgz";
-        sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."duplexer2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "duplexer2" ];
+  by-version."duplexer2"."0.0.2" = self.buildNodePackage {
+    name = "duplexer2-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz";
+      name = "duplexer2-0.0.2.tgz";
+      sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."duplexer2"."~0.0.2" =
     self.by-version."duplexer2"."0.0.2";
+  by-spec."duplexify"."^3.2.0" =
+    self.by-version."duplexify"."3.2.0";
+  by-version."duplexify"."3.2.0" = self.buildNodePackage {
+    name = "duplexify-3.2.0";
+    version = "3.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/duplexify/-/duplexify-3.2.0.tgz";
+      name = "duplexify-3.2.0.tgz";
+      sha1 = "293974e3cef2e78fbb234e4fd84e20e0ad9d2d60";
+    };
+    deps = {
+      "end-of-stream-1.0.0" = self.by-version."end-of-stream"."1.0.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."each-async"."^1.1.0" =
+    self.by-version."each-async"."1.1.1";
+  by-version."each-async"."1.1.1" = self.buildNodePackage {
+    name = "each-async-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz";
+      name = "each-async-1.1.1.tgz";
+      sha1 = "dee5229bdf0ab6ba2012a395e1b869abf8813473";
+    };
+    deps = {
+      "onetime-1.0.0" = self.by-version."onetime"."1.0.0";
+      "set-immediate-shim-1.0.0" = self.by-version."set-immediate-shim"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ecurve"."1.0.0" =
+    self.by-version."ecurve"."1.0.0";
+  by-version."ecurve"."1.0.0" = self.buildNodePackage {
+    name = "ecurve-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ecurve/-/ecurve-1.0.0.tgz";
+      name = "ecurve-1.0.0.tgz";
+      sha1 = "32cfd5ce5f421e9351206a33d4e3cfd36f3465a4";
+    };
+    deps = {
+      "bigi-1.4.0" = self.by-version."bigi"."1.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."editor"."~0.1.0" =
     self.by-version."editor"."0.1.0";
-  by-version."editor"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-editor-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/editor/-/editor-0.1.0.tgz";
-        name = "editor-0.1.0.tgz";
-        sha1 = "542f4662c6a8c88e862fc11945e204e51981b9a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."editor" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "editor" ];
+  by-version."editor"."0.1.0" = self.buildNodePackage {
+    name = "editor-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/editor/-/editor-0.1.0.tgz";
+      name = "editor-0.1.0.tgz";
+      sha1 = "542f4662c6a8c88e862fc11945e204e51981b9a1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ee-first"."1.0.3" =
     self.by-version."ee-first"."1.0.3";
-  by-version."ee-first"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ee-first-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz";
-        name = "ee-first-1.0.3.tgz";
-        sha1 = "6c98c4089abecb5a7b85c1ac449aa603d3b3dabe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ee-first" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ee-first" ];
+  by-version."ee-first"."1.0.3" = self.buildNodePackage {
+    name = "ee-first-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz";
+      name = "ee-first-1.0.3.tgz";
+      sha1 = "6c98c4089abecb5a7b85c1ac449aa603d3b3dabe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ee-first"."1.0.5" =
     self.by-version."ee-first"."1.0.5";
-  by-version."ee-first"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ee-first-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
-        name = "ee-first-1.0.5.tgz";
-        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ee-first" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ee-first" ];
+  by-version."ee-first"."1.0.5" = self.buildNodePackage {
+    name = "ee-first-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+      name = "ee-first-1.0.5.tgz";
+      sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ee-first"."1.1.0" =
+    self.by-version."ee-first"."1.1.0";
+  by-version."ee-first"."1.1.0" = self.buildNodePackage {
+    name = "ee-first-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
+      name = "ee-first-1.1.0.tgz";
+      sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ejs"."0.7.1" =
+    self.by-version."ejs"."0.7.1";
+  by-version."ejs"."0.7.1" = self.buildNodePackage {
+    name = "ejs-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ejs/-/ejs-0.7.1.tgz";
+      name = "ejs-0.7.1.tgz";
+      sha1 = "6dab41cbdee572986db328a2a8d22040f20fba7c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ejs"."0.8.3" =
     self.by-version."ejs"."0.8.3";
-  by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ejs-0.8.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
-        name = "ejs-0.8.3.tgz";
-        sha1 = "db8aac47ff80a7df82b4c82c126fe8970870626f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ejs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ejs" ];
-  };
-  by-spec."emitter-component"."0.0.6" =
-    self.by-version."emitter-component"."0.0.6";
-  by-version."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-emitter-component-0.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/emitter-component/-/emitter-component-0.0.6.tgz";
-        name = "emitter-component-0.0.6.tgz";
-        sha1 = "c155d82f6d0c01b5bee856d58074a4cc59795bca";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."emitter-component" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "emitter-component" ];
-  };
+  by-version."ejs"."0.8.3" = self.buildNodePackage {
+    name = "ejs-0.8.3";
+    version = "0.8.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
+      name = "ejs-0.8.3.tgz";
+      sha1 = "db8aac47ff80a7df82b4c82c126fe8970870626f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ejs".">=0.7.1" =
+    self.by-version."ejs"."2.3.1";
+  by-version."ejs"."2.3.1" = self.buildNodePackage {
+    name = "ejs-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ejs/-/ejs-2.3.1.tgz";
+      name = "ejs-2.3.1.tgz";
+      sha1 = "a697d98ac401e32a99c3deed92c60c19b6199a7f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."elementtree"."0.1.5" =
+    self.by-version."elementtree"."0.1.5";
+  by-version."elementtree"."0.1.5" = self.buildNodePackage {
+    name = "elementtree-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/elementtree/-/elementtree-0.1.5.tgz";
+      name = "elementtree-0.1.5.tgz";
+      sha1 = "8d5fd80440b4be806c4a01b63914b40e0daab9ff";
+    };
+    deps = {
+      "sax-0.3.5" = self.by-version."sax"."0.3.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."elliptic"."^1.0.0" =
+    self.by-version."elliptic"."1.0.1";
+  by-version."elliptic"."1.0.1" = self.buildNodePackage {
+    name = "elliptic-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/elliptic/-/elliptic-1.0.1.tgz";
+      name = "elliptic-1.0.1.tgz";
+      sha1 = "d180376b66a17d74995c837796362ac4d22aefe3";
+    };
+    deps = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+      "brorand-1.0.5" = self.by-version."brorand"."1.0.5";
+      "hash.js-1.0.2" = self.by-version."hash.js"."1.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."embedly".">=1.0.2" =
+    self.by-version."embedly"."1.0.4";
+  by-version."embedly"."1.0.4" = self.buildNodePackage {
+    name = "embedly-1.0.4";
+    version = "1.0.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/embedly/-/embedly-1.0.4.tgz";
+      name = "embedly-1.0.4.tgz";
+      sha1 = "2f778885b44a3cf6c377c1dc31ce1321956733a6";
+    };
+    deps = {
+      "batbelt-0.0.2" = self.by-version."batbelt"."0.0.2";
+      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
+      "sprintf-0.1.1" = self.by-version."sprintf"."0.1.1";
+      "hashish-0.0.4" = self.by-version."hashish"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."emitter"."http://github.com/component/emitter/archive/1.0.1.tar.gz" =
+    self.by-version."emitter"."1.0.1";
+  by-version."emitter"."1.0.1" = self.buildNodePackage {
+    name = "emitter-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://github.com/component/emitter/archive/1.0.1.tar.gz";
+      name = "emitter-1.0.1.tgz";
+      sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
+    };
+    deps = {
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."empty-trash"."*" =
+    self.by-version."empty-trash"."1.1.3";
+  by-version."empty-trash"."1.1.3" = self.buildNodePackage {
+    name = "empty-trash-1.1.3";
+    version = "1.1.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/empty-trash/-/empty-trash-1.1.3.tgz";
+      name = "empty-trash-1.1.3.tgz";
+      sha1 = "41676c594d2786760bbfff0013ca5b865da56627";
+    };
+    deps = {
+      "meow-3.0.0" = self.by-version."meow"."3.0.0";
+      "run-applescript-1.0.1" = self.by-version."run-applescript"."1.0.1";
+      "update-notifier-0.3.0" = self.by-version."update-notifier"."0.3.0";
+      "xdg-empty-trash-1.0.0" = self.by-version."xdg-empty-trash"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "empty-trash" = self.by-version."empty-trash"."1.1.3";
   by-spec."encoding"."~0.1.7" =
-    self.by-version."encoding"."0.1.8";
-  by-version."encoding"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-encoding-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/encoding/-/encoding-0.1.8.tgz";
-        name = "encoding-0.1.8.tgz";
-        sha1 = "3c48d355f6f4da0545de88c6f2673ccf70df11e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."encoding" or []);
-    deps = [
-      self.by-version."iconv-lite"."0.4.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "encoding" ];
+    self.by-version."encoding"."0.1.11";
+  by-version."encoding"."0.1.11" = self.buildNodePackage {
+    name = "encoding-0.1.11";
+    version = "0.1.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/encoding/-/encoding-0.1.11.tgz";
+      name = "encoding-0.1.11.tgz";
+      sha1 = "52c65ac15aab467f1338451e2615f988eccc0258";
+    };
+    deps = {
+      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."end-of-stream"."1.0.0" =
+    self.by-version."end-of-stream"."1.0.0";
+  by-version."end-of-stream"."1.0.0" = self.buildNodePackage {
+    name = "end-of-stream-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz";
+      name = "end-of-stream-1.0.0.tgz";
+      sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
+    };
+    deps = {
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."end-of-stream"."^0.1.4" =
+    self.by-version."end-of-stream"."0.1.5";
+  by-version."end-of-stream"."0.1.5" = self.buildNodePackage {
+    name = "end-of-stream-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz";
+      name = "end-of-stream-0.1.5.tgz";
+      sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf";
+    };
+    deps = {
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."end-of-stream"."^1.0.0" =
+    self.by-version."end-of-stream"."1.1.0";
+  by-version."end-of-stream"."1.1.0" = self.buildNodePackage {
+    name = "end-of-stream-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz";
+      name = "end-of-stream-1.1.0.tgz";
+      sha1 = "e9353258baa9108965efc41cb0ef8ade2f3cfb07";
+    };
+    deps = {
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."end-of-stream"."~0.1.5" =
+    self.by-version."end-of-stream"."0.1.5";
+  by-spec."end-of-stream"."~1.0.0" =
     self.by-version."end-of-stream"."1.0.0";
-  by-version."end-of-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-end-of-stream-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz";
-        name = "end-of-stream-1.0.0.tgz";
-        sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."end-of-stream" or []);
-    deps = [
-      self.by-version."once"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "end-of-stream" ];
+  by-spec."engine.io"."1.3.1" =
+    self.by-version."engine.io"."1.3.1";
+  by-version."engine.io"."1.3.1" = self.buildNodePackage {
+    name = "engine.io-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io/-/engine.io-1.3.1.tgz";
+      name = "engine.io-1.3.1.tgz";
+      sha1 = "2d968308fffae5d17f5209b6775246e90d8a705e";
+    };
+    deps = {
+      "debug-0.6.0" = self.by-version."debug"."0.6.0";
+      "ws-0.4.31" = self.by-version."ws"."0.4.31";
+      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io-client"."1.3.1" =
+    self.by-version."engine.io-client"."1.3.1";
+  by-version."engine.io-client"."1.3.1" = self.buildNodePackage {
+    name = "engine.io-client-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io-client/-/engine.io-client-1.3.1.tgz";
+      name = "engine.io-client-1.3.1.tgz";
+      sha1 = "1c5a65d5c5af6d04b44c22c3dbcd95c39ed1c989";
+    };
+    deps = {
+      "has-cors-1.0.3" = self.by-version."has-cors"."1.0.3";
+      "ws-0.4.31" = self.by-version."ws"."0.4.31";
+      "xmlhttprequest-1.5.0" = self.by-version."xmlhttprequest"."1.5.0";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
+      "parsejson-0.0.1" = self.by-version."parsejson"."0.0.1";
+      "parseqs-0.0.2" = self.by-version."parseqs"."0.0.2";
+      "component-inherit-0.0.3" = self.by-version."component-inherit"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io-parser"."1.0.6" =
+    self.by-version."engine.io-parser"."1.0.6";
+  by-version."engine.io-parser"."1.0.6" = self.buildNodePackage {
+    name = "engine.io-parser-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.0.6.tgz";
+      name = "engine.io-parser-1.0.6.tgz";
+      sha1 = "d38813143a411cb3b914132ab05bf99e6f7a248e";
+    };
+    deps = {
+      "base64-arraybuffer-0.1.2" = self.by-version."base64-arraybuffer"."0.1.2";
+      "after-0.8.1" = self.by-version."after"."0.8.1";
+      "arraybuffer.slice-0.0.6" = self.by-version."arraybuffer.slice"."0.0.6";
+      "blob-0.0.2" = self.by-version."blob"."0.0.2";
+      "utf8-2.0.0" = self.by-version."utf8"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."enhanced-resolve"."~0.8.2" =
+    self.by-version."enhanced-resolve"."0.8.4";
+  by-version."enhanced-resolve"."0.8.4" = self.buildNodePackage {
+    name = "enhanced-resolve-0.8.4";
+    version = "0.8.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.8.4.tgz";
+      name = "enhanced-resolve-0.8.4.tgz";
+      sha1 = "4dae8ed556e5312256a9dd317919478e904b5387";
+    };
+    deps = {
+      "tapable-0.1.8" = self.by-version."tapable"."0.1.8";
+      "memory-fs-0.2.0" = self.by-version."memory-fs"."0.2.0";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."entities"."1.0" =
     self.by-version."entities"."1.0.0";
-  by-version."entities"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-entities-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
-        name = "entities-1.0.0.tgz";
-        sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."entities" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "entities" ];
-  };
-  by-spec."envify"."^2.0.0" =
-    self.by-version."envify"."2.0.1";
-  by-version."envify"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "envify-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/envify/-/envify-2.0.1.tgz";
-        name = "envify-2.0.1.tgz";
-        sha1 = "abab827e063efd8e6f4d485aa82b66688dd056b2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."envify" or []);
-    deps = [
-      self.by-version."xtend"."2.1.2"
-      self.by-version."through"."2.3.4"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-      self.by-version."jstransform"."3.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "envify" ];
-  };
-  by-spec."error-inject"."~1.0.0" =
-    self.by-version."error-inject"."1.0.0";
-  by-version."error-inject"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-error-inject-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/error-inject/-/error-inject-1.0.0.tgz";
-        name = "error-inject-1.0.0.tgz";
-        sha1 = "e2b3d91b54aed672f309d950d154850fa11d4f37";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."error-inject" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "error-inject" ];
+  by-version."entities"."1.0.0" = self.buildNodePackage {
+    name = "entities-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
+      name = "entities-1.0.0.tgz";
+      sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."entities"."~1.1.1" =
+    self.by-version."entities"."1.1.1";
+  by-version."entities"."1.1.1" = self.buildNodePackage {
+    name = "entities-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
+      name = "entities-1.1.1.tgz";
+      sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."envify"."^3.0.0" =
+    self.by-version."envify"."3.2.0";
+  by-version."envify"."3.2.0" = self.buildNodePackage {
+    name = "envify-3.2.0";
+    version = "3.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/envify/-/envify-3.2.0.tgz";
+      name = "envify-3.2.0.tgz";
+      sha1 = "dda33c49ce4cc20efd1fda60dab9dd317c38ef7c";
+    };
+    deps = {
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "jstransform-7.0.0" = self.by-version."jstransform"."7.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."errno"."^0.1.1" =
+    self.by-version."errno"."0.1.1";
+  by-version."errno"."0.1.1" = self.buildNodePackage {
+    name = "errno-0.1.1";
+    version = "0.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/errno/-/errno-0.1.1.tgz";
+      name = "errno-0.1.1.tgz";
+      sha1 = "fda4aae52d07f67c741e50a5a50612786f9d0ed3";
+    };
+    deps = {
+      "prr-0.0.0" = self.by-version."prr"."0.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."errorhandler"."1.0.0" =
+    self.by-version."errorhandler"."1.0.0";
+  by-version."errorhandler"."1.0.0" = self.buildNodePackage {
+    name = "errorhandler-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.0.0.tgz";
+      name = "errorhandler-1.0.0.tgz";
+      sha1 = "d74b37e8dc38c99afb3f5a79edcebaea022d042a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."errorhandler"."1.1.1" =
     self.by-version."errorhandler"."1.1.1";
-  by-version."errorhandler"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-errorhandler-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.1.1.tgz";
-        name = "errorhandler-1.1.1.tgz";
-        sha1 = "18defd436d8ca2efe0a2d886c5c4d6ee6d76d691";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."errorhandler" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."escape-html"."1.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "errorhandler" ];
+  by-version."errorhandler"."1.1.1" = self.buildNodePackage {
+    name = "errorhandler-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.1.1.tgz";
+      name = "errorhandler-1.1.1.tgz";
+      sha1 = "18defd436d8ca2efe0a2d886c5c4d6ee6d76d691";
+    };
+    deps = {
+      "accepts-1.0.7" = self.by-version."accepts"."1.0.7";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."errorhandler"."^1.1.1" =
+    self.by-version."errorhandler"."1.3.4";
+  by-version."errorhandler"."1.3.4" = self.buildNodePackage {
+    name = "errorhandler-1.3.4";
+    version = "1.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.3.4.tgz";
+      name = "errorhandler-1.3.4.tgz";
+      sha1 = "65a7e0843dcfd0f4a9647c50c0a6217556e0be0e";
+    };
+    deps = {
+      "accepts-1.2.4" = self.by-version."accepts"."1.2.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."errorhandler"."~1.2.0" =
+    self.by-version."errorhandler"."1.2.4";
+  by-version."errorhandler"."1.2.4" = self.buildNodePackage {
+    name = "errorhandler-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.2.4.tgz";
+      name = "errorhandler-1.2.4.tgz";
+      sha1 = "4726630d6c6c2c11a7cd589b7376f7336473d6aa";
+    };
+    deps = {
+      "accepts-1.1.4" = self.by-version."accepts"."1.1.4";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."errorhandler"."~1.2.2" =
+    self.by-version."errorhandler"."1.2.4";
+  by-spec."errorhandler"."~1.3.4" =
+    self.by-version."errorhandler"."1.3.4";
+  by-spec."es5-ext"."~0.10.2" =
+    self.by-version."es5-ext"."0.10.6";
+  by-version."es5-ext"."0.10.6" = self.buildNodePackage {
+    name = "es5-ext-0.10.6";
+    version = "0.10.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es5-ext/-/es5-ext-0.10.6.tgz";
+      name = "es5-ext-0.10.6.tgz";
+      sha1 = "e27d5750401a11c08259e3b9b5d3bdd3281df00a";
+    };
+    deps = {
+      "es6-iterator-0.1.3" = self.by-version."es6-iterator"."0.1.3";
+      "es6-symbol-2.0.1" = self.by-version."es6-symbol"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es5-ext"."~0.10.4" =
+    self.by-version."es5-ext"."0.10.6";
+  by-spec."es5-ext"."~0.10.5" =
+    self.by-version."es5-ext"."0.10.6";
+  by-spec."es6-iterator"."~0.1.1" =
+    self.by-version."es6-iterator"."0.1.3";
+  by-version."es6-iterator"."0.1.3" = self.buildNodePackage {
+    name = "es6-iterator-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz";
+      name = "es6-iterator-0.1.3.tgz";
+      sha1 = "d6f58b8c4fc413c249b4baa19768f8e4d7c8944e";
+    };
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+      "es6-symbol-2.0.1" = self.by-version."es6-symbol"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es6-iterator"."~0.1.3" =
+    self.by-version."es6-iterator"."0.1.3";
+  by-spec."es6-promise"."^1.0.0" =
+    self.by-version."es6-promise"."1.0.0";
+  by-version."es6-promise"."1.0.0" = self.buildNodePackage {
+    name = "es6-promise-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es6-promise/-/es6-promise-1.0.0.tgz";
+      name = "es6-promise-1.0.0.tgz";
+      sha1 = "f90d3629faa7c26166ae4df77c89bacdeb8dca7f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es6-shim".">=0.10.0 <1.0.0-0" =
+    self.by-version."es6-shim"."0.25.3";
+  by-version."es6-shim"."0.25.3" = self.buildNodePackage {
+    name = "es6-shim-0.25.3";
+    version = "0.25.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es6-shim/-/es6-shim-0.25.3.tgz";
+      name = "es6-shim-0.25.3.tgz";
+      sha1 = "774d24aa33be5ba9404ba4de1086bf87a6302f66";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es6-shim"."~0.16.0" =
+    self.by-version."es6-shim"."0.16.0";
+  by-version."es6-shim"."0.16.0" = self.buildNodePackage {
+    name = "es6-shim-0.16.0";
+    version = "0.16.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es6-shim/-/es6-shim-0.16.0.tgz";
+      name = "es6-shim-0.16.0.tgz";
+      sha1 = "07e122909722d0fce581b17f64d1505c98094454";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es6-symbol"."0.1.x" =
+    self.by-version."es6-symbol"."0.1.1";
+  by-version."es6-symbol"."0.1.1" = self.buildNodePackage {
+    name = "es6-symbol-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es6-symbol/-/es6-symbol-0.1.1.tgz";
+      name = "es6-symbol-0.1.1.tgz";
+      sha1 = "9cf7fab2edaff1b1da8fe8e68bfe3f5aca6ca218";
+    };
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es6-symbol"."~2.0.1" =
+    self.by-version."es6-symbol"."2.0.1";
+  by-version."es6-symbol"."2.0.1" = self.buildNodePackage {
+    name = "es6-symbol-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz";
+      name = "es6-symbol-2.0.1.tgz";
+      sha1 = "761b5c67cfd4f1d18afb234f691d678682cb3bf3";
+    };
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es6-weak-map"."~0.1.2" =
+    self.by-version."es6-weak-map"."0.1.2";
+  by-version."es6-weak-map"."0.1.2" = self.buildNodePackage {
+    name = "es6-weak-map-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.2.tgz";
+      name = "es6-weak-map-0.1.2.tgz";
+      sha1 = "bc5b5fab73f68f6f77a6b39c481fce3d7856d385";
+    };
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+      "es6-iterator-0.1.3" = self.by-version."es6-iterator"."0.1.3";
+      "es6-symbol-0.1.1" = self.by-version."es6-symbol"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."escape-html"."*" =
     self.by-version."escape-html"."1.0.1";
-  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escape-html-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
-        name = "escape-html-1.0.1.tgz";
-        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escape-html" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "escape-html" ];
+  by-version."escape-html"."1.0.1" = self.buildNodePackage {
+    name = "escape-html-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+      name = "escape-html-1.0.1.tgz";
+      sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "escape-html" = self.by-version."escape-html"."1.0.1";
   by-spec."escape-html"."1.0.1" =
     self.by-version."escape-html"."1.0.1";
-  by-spec."escape-html"."~1.0.1" =
-    self.by-version."escape-html"."1.0.1";
+  by-spec."escape-string-applescript"."^1.0.0" =
+    self.by-version."escape-string-applescript"."1.0.0";
+  by-version."escape-string-applescript"."1.0.0" = self.buildNodePackage {
+    name = "escape-string-applescript-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-string-applescript/-/escape-string-applescript-1.0.0.tgz";
+      name = "escape-string-applescript-1.0.0.tgz";
+      sha1 = "6f1c2294245d82c63bc03338dc19a94aa8428892";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-string-regexp"."1.0.2" =
+    self.by-version."escape-string-regexp"."1.0.2";
+  by-version."escape-string-regexp"."1.0.2" = self.buildNodePackage {
+    name = "escape-string-regexp-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
+      name = "escape-string-regexp-1.0.2.tgz";
+      sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."escape-string-regexp"."^1.0.0" =
-    self.by-version."escape-string-regexp"."1.0.1";
-  by-version."escape-string-regexp"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escape-string-regexp-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.1.tgz";
-        name = "escape-string-regexp-1.0.1.tgz";
-        sha1 = "78c76393afb84f102230d949a6125c7f3cf65904";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escape-string-regexp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "escape-string-regexp" ];
+    self.by-version."escape-string-regexp"."1.0.3";
+  by-version."escape-string-regexp"."1.0.3" = self.buildNodePackage {
+    name = "escape-string-regexp-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz";
+      name = "escape-string-regexp-1.0.3.tgz";
+      sha1 = "9e2d8b25bc2555c3336723750e03f099c2735bb5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escodegen"."0.0.15" =
+    self.by-version."escodegen"."0.0.15";
+  by-version."escodegen"."0.0.15" = self.buildNodePackage {
+    name = "escodegen-0.0.15";
+    version = "0.0.15";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz";
+      name = "escodegen-0.0.15.tgz";
+      sha1 = "ffda9cb26b70b34f7cc19f1d88756539afb543bd";
+    };
+    deps = {
+      "esprima-2.0.0" = self.by-version."esprima"."2.0.0";
+    };
+    optionalDependencies = {
+      "source-map-0.3.0" = self.by-version."source-map"."0.3.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escodegen"."0.0.17" =
+    self.by-version."escodegen"."0.0.17";
+  by-version."escodegen"."0.0.17" = self.buildNodePackage {
+    name = "escodegen-0.0.17";
+    version = "0.0.17";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.17.tgz";
+      name = "escodegen-0.0.17.tgz";
+      sha1 = "1e78d17df1004fd7a88f2fed3b8b8592f3217f9c";
+    };
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "estraverse-0.0.4" = self.by-version."estraverse"."0.0.4";
+    };
+    optionalDependencies = {
+      "source-map-0.3.0" = self.by-version."source-map"."0.3.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."escodegen"."1.3.x" =
     self.by-version."escodegen"."1.3.3";
-  by-version."escodegen"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-version."escodegen"."1.3.3" = self.buildNodePackage {
     name = "escodegen-1.3.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
-        name = "escodegen-1.3.3.tgz";
-        sha1 = "f024016f5a88e046fd12005055e939802e6c5f23";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esutils"."1.0.0"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."esprima"."1.1.1"
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "escodegen" ];
-  };
-  by-spec."escodegen"."~ 0.0.28" =
-    self.by-version."escodegen"."0.0.28";
-  by-version."escodegen"."0.0.28" = lib.makeOverridable self.buildNodePackage {
-    name = "escodegen-0.0.28";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz";
-        name = "escodegen-0.0.28.tgz";
-        sha1 = "0e4ff1715f328775d6cab51ac44a406cd7abffd3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."estraverse"."1.3.2"
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "escodegen" ];
-  };
-  by-spec."escodegen"."~0.0.24" =
-    self.by-version."escodegen"."0.0.28";
-  by-spec."escodegen"."~1.1.0" =
-    self.by-version."escodegen"."1.1.0";
-  by-version."escodegen"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "escodegen-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz";
-        name = "escodegen-1.1.0.tgz";
-        sha1 = "c663923f6e20aad48d0c0fa49f31c6d4f49360cf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escodegen" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."esutils"."1.0.0"
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "escodegen" ];
-  };
-  by-spec."escope"."~ 1.0.0" =
-    self.by-version."escope"."1.0.1";
-  by-version."escope"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-escope-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escope/-/escope-1.0.1.tgz";
-        name = "escope-1.0.1.tgz";
-        sha1 = "59b04cdccb76555608499ed13502b9028fe73dd8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escope" or []);
-    deps = [
-      self.by-version."estraverse"."1.5.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "escope" ];
-  };
-  by-spec."esmangle"."~0.0.8" =
-    self.by-version."esmangle"."0.0.17";
-  by-version."esmangle"."0.0.17" = lib.makeOverridable self.buildNodePackage {
-    name = "esmangle-0.0.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esmangle/-/esmangle-0.0.17.tgz";
-        name = "esmangle-0.0.17.tgz";
-        sha1 = "4c5c93607cde5d1276bad396e836229dba68d90c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esmangle" or []);
-    deps = [
-      self.by-version."esprima"."1.0.4"
-      self.by-version."escope"."1.0.1"
-      self.by-version."escodegen"."0.0.28"
-      self.by-version."estraverse"."1.3.2"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."esshorten"."0.0.2"
-      self.by-version."optimist"."0.6.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esmangle" ];
+    version = "1.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
+      name = "escodegen-1.3.3.tgz";
+      sha1 = "f024016f5a88e046fd12005055e939802e6c5f23";
+    };
+    deps = {
+      "esutils-1.0.0" = self.by-version."esutils"."1.0.0";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "esprima-1.1.1" = self.by-version."esprima"."1.1.1";
+    };
+    optionalDependencies = {
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escodegen"."^1.4.1" =
+    self.by-version."escodegen"."1.6.1";
+  by-version."escodegen"."1.6.1" = self.buildNodePackage {
+    name = "escodegen-1.6.1";
+    version = "1.6.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escodegen/-/escodegen-1.6.1.tgz";
+      name = "escodegen-1.6.1.tgz";
+      sha1 = "367de17d8510540d12bc6dcb8b3f918391265815";
+    };
+    deps = {
+      "estraverse-1.9.1" = self.by-version."estraverse"."1.9.1";
+      "esutils-1.1.6" = self.by-version."esutils"."1.1.6";
+      "esprima-1.2.4" = self.by-version."esprima"."1.2.4";
+      "optionator-0.5.0" = self.by-version."optionator"."0.5.0";
+    };
+    optionalDependencies = {
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escodegen"."~1.3.1" =
+    self.by-version."escodegen"."1.3.3";
+  by-spec."escope"."~0.0.13" =
+    self.by-version."escope"."0.0.16";
+  by-version."escope"."0.0.16" = self.buildNodePackage {
+    name = "escope-0.0.16";
+    version = "0.0.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escope/-/escope-0.0.16.tgz";
+      name = "escope-0.0.16.tgz";
+      sha1 = "418c7a0afca721dafe659193fd986283e746538f";
+    };
+    deps = {
+      "estraverse-1.9.1" = self.by-version."estraverse"."1.9.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."1.0.2" =
+    self.by-version."esprima"."1.0.2";
+  by-version."esprima"."1.0.2" = self.buildNodePackage {
+    name = "esprima-1.0.2";
+    version = "1.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz";
+      name = "esprima-1.0.2.tgz";
+      sha1 = "8039bf9ceac4d9d2c15f623264fb292b5502ceaf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."esprima"."1.2.x" =
-    self.by-version."esprima"."1.2.2";
-  by-version."esprima"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz";
-        name = "esprima-1.2.2.tgz";
-        sha1 = "76a0fd66fcfe154fd292667dc264019750b1657b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esprima" ];
+    self.by-version."esprima"."1.2.4";
+  by-version."esprima"."1.2.4" = self.buildNodePackage {
+    name = "esprima-1.2.4";
+    version = "1.2.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.2.4.tgz";
+      name = "esprima-1.2.4.tgz";
+      sha1 = "835a0cfc8a628a7117da654bfaced8408a91dba7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."2.0.x" =
+    self.by-version."esprima"."2.0.0";
+  by-version."esprima"."2.0.0" = self.buildNodePackage {
+    name = "esprima-2.0.0";
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-2.0.0.tgz";
+      name = "esprima-2.0.0.tgz";
+      sha1 = "609ac5c2667eae5433b41eb9ecece2331b41498f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima".">= 1.0.0" =
+    self.by-version."esprima"."2.0.0";
+  by-spec."esprima"."^1.2.2" =
+    self.by-version."esprima"."1.2.4";
+  by-spec."esprima"."git://github.com/ariya/esprima.git#harmony" =
+    self.by-version."esprima"."1.1.0-dev-harmony";
+  by-version."esprima"."1.1.0-dev-harmony" = self.buildNodePackage {
+    name = "esprima-1.1.0-dev-harmony";
+    version = "1.1.0-dev-harmony";
+    bin = true;
+    src = fetchgit {
+      url = "git://github.com/ariya/esprima.git";
+      rev = "a41a40b49046747b3af57341cda048bbd3d9df79";
+      sha256 = "a304effb5bc8e53d0752aeb7e10ab15afd8381ef09056d0fc98d94a43e5c748a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."esprima"."~ 1.0.2" =
     self.by-version."esprima"."1.0.4";
-  by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-version."esprima"."1.0.4" = self.buildNodePackage {
     name = "esprima-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-        name = "esprima-1.0.4.tgz";
-        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esprima" ];
+    version = "1.0.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+      name = "esprima-1.0.4.tgz";
+      sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."~ 2.0.0" =
+    self.by-version."esprima"."2.0.0";
+  by-spec."esprima"."~0.9.9" =
+    self.by-version."esprima"."0.9.9";
+  by-version."esprima"."0.9.9" = self.buildNodePackage {
+    name = "esprima-0.9.9";
+    version = "0.9.9";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz";
+      name = "esprima-0.9.9.tgz";
+      sha1 = "1b90925c975d632d7282939c3bb9c3a423c30490";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."esprima"."~1.0.2" =
     self.by-version."esprima"."1.0.4";
@@ -5348,3295 +12374,5431 @@
     self.by-version."esprima"."1.0.4";
   by-spec."esprima"."~1.1.1" =
     self.by-version."esprima"."1.1.1";
-  by-version."esprima"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."esprima"."1.1.1" = self.buildNodePackage {
     name = "esprima-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
-        name = "esprima-1.1.1.tgz";
-        sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esprima" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esprima" ];
+    version = "1.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
+      name = "esprima-1.1.1.tgz";
+      sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."~1.2.0" =
+    self.by-version."esprima"."1.2.4";
+  by-spec."esprima-fb"."12001.1.0-dev-harmony-fb" =
+    self.by-version."esprima-fb"."12001.1.0-dev-harmony-fb";
+  by-version."esprima-fb"."12001.1.0-dev-harmony-fb" = self.buildNodePackage {
+    name = "esprima-fb-12001.1.0-dev-harmony-fb";
+    version = "12001.1.0-dev-harmony-fb";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-12001.1.0-dev-harmony-fb.tgz";
+      name = "esprima-fb-12001.1.0-dev-harmony-fb.tgz";
+      sha1 = "d84400384ba95ce2678c617ad24a7f40808da915";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."esprima-fb"."3001.1.0-dev-harmony-fb" =
     self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
-  by-version."esprima-fb"."3001.1.0-dev-harmony-fb" = lib.makeOverridable self.buildNodePackage {
+  by-version."esprima-fb"."3001.1.0-dev-harmony-fb" = self.buildNodePackage {
     name = "esprima-fb-3001.1.0-dev-harmony-fb";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz";
-        name = "esprima-fb-3001.1.0-dev-harmony-fb.tgz";
-        sha1 = "b77d37abcd38ea0b77426bb8bc2922ce6b426411";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esprima-fb" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esprima-fb" ];
-  };
-  by-spec."esprima-fb"."~3001.1.0-dev-harmony-fb" =
-    self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb";
-  by-spec."esshorten"."~ 0.0.2" =
-    self.by-version."esshorten"."0.0.2";
-  by-version."esshorten"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-esshorten-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esshorten/-/esshorten-0.0.2.tgz";
-        name = "esshorten-0.0.2.tgz";
-        sha1 = "28a652f1efd40c8e227f8c6de7dbe6b560ee8129";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esshorten" or []);
-    deps = [
-      self.by-version."escope"."1.0.1"
-      self.by-version."estraverse"."1.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esshorten" ];
+    version = "3001.1.0-dev-harmony-fb";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz";
+      name = "esprima-fb-3001.1.0-dev-harmony-fb.tgz";
+      sha1 = "b77d37abcd38ea0b77426bb8bc2922ce6b426411";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima-fb"."~10001.1.0-dev-harmony-fb" =
+    self.by-version."esprima-fb"."10001.1.0-dev-harmony-fb";
+  by-version."esprima-fb"."10001.1.0-dev-harmony-fb" = self.buildNodePackage {
+    name = "esprima-fb-10001.1.0-dev-harmony-fb";
+    version = "10001.1.0-dev-harmony-fb";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-10001.1.0-dev-harmony-fb.tgz";
+      name = "esprima-fb-10001.1.0-dev-harmony-fb.tgz";
+      sha1 = "f7efb452d3c8006dde6b3c59678604f7114a882c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima-fb"."~12001.1.0-dev-harmony-fb" =
+    self.by-version."esprima-fb"."12001.1.0-dev-harmony-fb";
+  by-spec."esprima-fb"."~7001.0001.0000-dev-harmony-fb" =
+    self.by-version."esprima-fb"."7001.1.0-dev-harmony-fb";
+  by-version."esprima-fb"."7001.1.0-dev-harmony-fb" = self.buildNodePackage {
+    name = "esprima-fb-7001.1.0-dev-harmony-fb";
+    version = "7001.1.0-dev-harmony-fb";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-7001.1.0-dev-harmony-fb.tgz";
+      name = "esprima-fb-7001.1.0-dev-harmony-fb.tgz";
+      sha1 = "907e20919575a667dd1b42335de00cf6646d77b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima-fb"."~8001.1001.0-dev-harmony-fb" =
+    self.by-version."esprima-fb"."8001.1001.0-dev-harmony-fb";
+  by-version."esprima-fb"."8001.1001.0-dev-harmony-fb" = self.buildNodePackage {
+    name = "esprima-fb-8001.1001.0-dev-harmony-fb";
+    version = "8001.1001.0-dev-harmony-fb";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-8001.1001.0-dev-harmony-fb.tgz";
+      name = "esprima-fb-8001.1001.0-dev-harmony-fb.tgz";
+      sha1 = "c3190b05341d45643e093af70485ab4988e34d5e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima-six"."0.0.3" =
+    self.by-version."esprima-six"."0.0.3";
+  by-version."esprima-six"."0.0.3" = self.buildNodePackage {
+    name = "esprima-six-0.0.3";
+    version = "0.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima-six/-/esprima-six-0.0.3.tgz";
+      name = "esprima-six-0.0.3.tgz";
+      sha1 = "8eb750435b02d3e50cf09b5736cbce4606a4399f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima-six"."~0.0.3" =
+    self.by-version."esprima-six"."0.0.3";
+  by-spec."esrefactor"."~0.1.0" =
+    self.by-version."esrefactor"."0.1.0";
+  by-version."esrefactor"."0.1.0" = self.buildNodePackage {
+    name = "esrefactor-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esrefactor/-/esrefactor-0.1.0.tgz";
+      name = "esrefactor-0.1.0.tgz";
+      sha1 = "d142795a282339ab81e936b5b7a21b11bf197b13";
+    };
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+      "estraverse-0.0.4" = self.by-version."estraverse"."0.0.4";
+      "escope-0.0.16" = self.by-version."escope"."0.0.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."estraverse".">= 0.0.2" =
-    self.by-version."estraverse"."1.5.1";
-  by-version."estraverse"."1.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
-        name = "estraverse-1.5.1.tgz";
-        sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "estraverse" ];
-  };
-  by-spec."estraverse"."~ 1.2.0" =
-    self.by-version."estraverse"."1.2.0";
-  by-version."estraverse"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.2.0.tgz";
-        name = "estraverse-1.2.0.tgz";
-        sha1 = "6a3dc8a46a5d6766e5668639fc782976ce5660fd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "estraverse" ];
-  };
-  by-spec."estraverse"."~ 1.3.2" =
-    self.by-version."estraverse"."1.3.2";
-  by-version."estraverse"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-estraverse-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz";
-        name = "estraverse-1.3.2.tgz";
-        sha1 = "37c2b893ef13d723f276d878d60d8535152a6c42";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."estraverse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "estraverse" ];
+    self.by-version."estraverse"."1.9.1";
+  by-version."estraverse"."1.9.1" = self.buildNodePackage {
+    name = "estraverse-1.9.1";
+    version = "1.9.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/estraverse/-/estraverse-1.9.1.tgz";
+      name = "estraverse-1.9.1.tgz";
+      sha1 = "553a74829ef763ea6153807f86b90ccde5e32231";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."estraverse"."^1.9.1" =
+    self.by-version."estraverse"."1.9.1";
+  by-spec."estraverse"."~0.0.4" =
+    self.by-version."estraverse"."0.0.4";
+  by-version."estraverse"."0.0.4" = self.buildNodePackage {
+    name = "estraverse-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz";
+      name = "estraverse-0.0.4.tgz";
+      sha1 = "01a0932dfee574684a598af5a67c3bf9b6428db2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."estraverse"."~1.3.0" =
-    self.by-version."estraverse"."1.3.2";
   by-spec."estraverse"."~1.5.0" =
     self.by-version."estraverse"."1.5.1";
+  by-version."estraverse"."1.5.1" = self.buildNodePackage {
+    name = "estraverse-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
+      name = "estraverse-1.5.1.tgz";
+      sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."estraverse"."~1.8.0" =
+    self.by-version."estraverse"."1.8.0";
+  by-version."estraverse"."1.8.0" = self.buildNodePackage {
+    name = "estraverse-1.8.0";
+    version = "1.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/estraverse/-/estraverse-1.8.0.tgz";
+      name = "estraverse-1.8.0.tgz";
+      sha1 = "3f1264fb62c8500dbae5e4f73705cd576d6af428";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esutils"."^1.1.6" =
+    self.by-version."esutils"."1.1.6";
+  by-version."esutils"."1.1.6" = self.buildNodePackage {
+    name = "esutils-1.1.6";
+    version = "1.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz";
+      name = "esutils-1.1.6.tgz";
+      sha1 = "c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."esutils"."~1.0.0" =
     self.by-version."esutils"."1.0.0";
-  by-version."esutils"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-esutils-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
-        name = "esutils-1.0.0.tgz";
-        sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."esutils" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "esutils" ];
+  by-version."esutils"."1.0.0" = self.buildNodePackage {
+    name = "esutils-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
+      name = "esutils-1.0.0.tgz";
+      sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."etag"."~1.3.1" =
+    self.by-version."etag"."1.3.1";
+  by-version."etag"."1.3.1" = self.buildNodePackage {
+    name = "etag-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/etag/-/etag-1.3.1.tgz";
+      name = "etag-1.3.1.tgz";
+      sha1 = "e51925728688a32dc4eea1cfa9ab4f734d055567";
+    };
+    deps = {
+      "crc-3.0.0" = self.by-version."crc"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."etag"."~1.4.0" =
+    self.by-version."etag"."1.4.0";
+  by-version."etag"."1.4.0" = self.buildNodePackage {
+    name = "etag-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/etag/-/etag-1.4.0.tgz";
+      name = "etag-1.4.0.tgz";
+      sha1 = "3050991615857707c04119d075ba2088e0701225";
+    };
+    deps = {
+      "crc-3.0.0" = self.by-version."crc"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."etag"."~1.5.0" =
+    self.by-version."etag"."1.5.1";
+  by-version."etag"."1.5.1" = self.buildNodePackage {
+    name = "etag-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/etag/-/etag-1.5.1.tgz";
+      name = "etag-1.5.1.tgz";
+      sha1 = "54c50de04ee42695562925ac566588291be7e9ea";
+    };
+    deps = {
+      "crc-3.2.1" = self.by-version."crc"."3.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."etag"."~1.5.1" =
+    self.by-version."etag"."1.5.1";
+  by-spec."event-emitter"."~0.3.1" =
+    self.by-version."event-emitter"."0.3.3";
+  by-version."event-emitter"."0.3.3" = self.buildNodePackage {
+    name = "event-emitter-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/event-emitter/-/event-emitter-0.3.3.tgz";
+      name = "event-emitter-0.3.3.tgz";
+      sha1 = "df8e806541c68ab8ff20a79a1841b91abaa1bee4";
+    };
+    deps = {
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."event-stream"."~0.5" =
     self.by-version."event-stream"."0.5.3";
-  by-version."event-stream"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-event-stream-0.5.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
-        name = "event-stream-0.5.3.tgz";
-        sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."event-stream" or []);
-    deps = [
-      self.by-version."optimist"."0.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "event-stream" ];
-  };
-  by-spec."eventemitter2"."0.4.12" =
-    self.by-version."eventemitter2"."0.4.12";
-  by-version."eventemitter2"."0.4.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter2-0.4.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz";
-        name = "eventemitter2-0.4.12.tgz";
-        sha1 = "6cf14249fdc8799be7416e871e73fd2bb89e35e0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."eventemitter2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eventemitter2" ];
-  };
-  by-spec."eventemitter2"."~0.4.11" =
+  by-version."event-stream"."0.5.3" = self.buildNodePackage {
+    name = "event-stream-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
+      name = "event-stream-0.5.3.tgz";
+      sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
+    };
+    deps = {
+      "optimist-0.2.8" = self.by-version."optimist"."0.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."eventemitter2"."0.4.14" =
     self.by-version."eventemitter2"."0.4.14";
-  by-version."eventemitter2"."0.4.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter2-0.4.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
-        name = "eventemitter2-0.4.14.tgz";
-        sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."eventemitter2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eventemitter2" ];
+  by-version."eventemitter2"."0.4.14" = self.buildNodePackage {
+    name = "eventemitter2-0.4.14";
+    version = "0.4.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
+      name = "eventemitter2-0.4.14.tgz";
+      sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."eventemitter2"."~0.4.13" =
     self.by-version."eventemitter2"."0.4.14";
+  by-spec."eventemitter2"."~0.4.14" =
+    self.by-version."eventemitter2"."0.4.14";
   by-spec."eventemitter3"."*" =
-    self.by-version."eventemitter3"."0.1.4";
-  by-version."eventemitter3"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eventemitter3-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.4.tgz";
-        name = "eventemitter3-0.1.4.tgz";
-        sha1 = "da2be74b7a1a4760272e1390f975503be5cb7e24";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."eventemitter3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eventemitter3" ];
+    self.by-version."eventemitter3"."0.1.6";
+  by-version."eventemitter3"."0.1.6" = self.buildNodePackage {
+    name = "eventemitter3-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.6.tgz";
+      name = "eventemitter3-0.1.6.tgz";
+      sha1 = "8c7ac44b87baab55cd50c828dc38778eac052ea5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."events"."^1.0.0" =
+    self.by-version."events"."1.0.2";
+  by-version."events"."1.0.2" = self.buildNodePackage {
+    name = "events-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/events/-/events-1.0.2.tgz";
+      name = "events-1.0.2.tgz";
+      sha1 = "75849dcfe93d10fb057c30055afdbd51d06a8e24";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."events"."~1.0.0" =
-    self.by-version."events"."1.0.1";
-  by-version."events"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-events-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/events/-/events-1.0.1.tgz";
-        name = "events-1.0.1.tgz";
-        sha1 = "386f6471cbb609e7925e7bfe7468634b9e069ac2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."events" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "events" ];
-  };
+    self.by-version."events"."1.0.2";
   by-spec."events.node".">= 0.4.0" =
     self.by-version."events.node"."0.4.9";
-  by-version."events.node"."0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-events.node-0.4.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
-        name = "events.node-0.4.9.tgz";
-        sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."events.node" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "events.node" ];
+  by-version."events.node"."0.4.9" = self.buildNodePackage {
+    name = "events.node-0.4.9";
+    version = "0.4.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
+      name = "events.node-0.4.9.tgz";
+      sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."evernote"."^1.25.3" =
+    self.by-version."evernote"."1.25.4";
+  by-version."evernote"."1.25.4" = self.buildNodePackage {
+    name = "evernote-1.25.4";
+    version = "1.25.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/evernote/-/evernote-1.25.4.tgz";
+      name = "evernote-1.25.4.tgz";
+      sha1 = "b2dea7683c4b26ab2af0fc965fdade2d6d022849";
+    };
+    deps = {
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."everyauth"."0.4.5" =
     self.by-version."everyauth"."0.4.5";
-  by-version."everyauth"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-everyauth-0.4.5";
-    src = [
-      (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz";
-        name = "everyauth-0.4.5.tgz";
-        sha1 = "282d358439d91c30fb4aa2320dc362edac7dd189";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."everyauth" or []);
-    deps = [
-      self.by-version."oauth"."0.9.11"
-      self.by-version."request"."2.9.203"
-      self.by-version."connect"."2.3.9"
-      self.by-version."openid"."0.5.9"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."node-swt"."0.1.1"
-      self.by-version."node-wsfederation"."0.1.1"
-      self.by-version."debug"."0.5.0"
-      self.by-version."express"."3.16.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "everyauth" ];
+  by-version."everyauth"."0.4.5" = self.buildNodePackage {
+    name = "everyauth-0.4.5";
+    version = "0.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz";
+      name = "everyauth-0.4.5.tgz";
+      sha1 = "282d358439d91c30fb4aa2320dc362edac7dd189";
+    };
+    deps = {
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "connect-2.3.9" = self.by-version."connect"."2.3.9";
+      "openid-0.5.9" = self.by-version."openid"."0.5.9";
+      "xml2js-0.4.5" = self.by-version."xml2js"."0.4.5";
+      "node-swt-0.1.1" = self.by-version."node-swt"."0.1.1";
+      "node-wsfederation-0.1.1" = self.by-version."node-wsfederation"."0.1.1";
+      "debug-0.5.0" = self.by-version."debug"."0.5.0";
+      "express-3.20.0" = self.by-version."express"."3.20.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."execSync"."^1.0.2" =
+    self.by-version."execSync"."1.0.2";
+  by-version."execSync"."1.0.2" = self.buildNodePackage {
+    name = "execSync-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/execSync/-/execSync-1.0.2.tgz";
+      name = "execSync-1.0.2.tgz";
+      sha1 = "1f42eda582225180053224ecdd3fd1960fdb3139";
+    };
+    deps = {
+      "temp-0.5.1" = self.by-version."temp"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."exit"."0.1.2" =
     self.by-version."exit"."0.1.2";
-  by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-exit-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
-        name = "exit-0.1.2.tgz";
-        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."exit" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "exit" ];
+  by-version."exit"."0.1.2" = self.buildNodePackage {
+    name = "exit-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+      name = "exit-0.1.2.tgz";
+      sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."exit"."0.1.x" =
     self.by-version."exit"."0.1.2";
   by-spec."exit"."~0.1.1" =
     self.by-version."exit"."0.1.2";
   by-spec."express"."*" =
-    self.by-version."express"."4.8.5";
-  by-version."express"."4.8.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.8.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.8.5.tgz";
-        name = "express-4.8.5.tgz";
-        sha1 = "59cf7666c29bf7cb8545a1acd43dd81a52cb26d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finalhandler"."0.1.0"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."methods"."1.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."path-to-regexp"."0.1.3"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."qs"."1.2.2"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."serve-static"."1.5.3"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  "express" = self.by-version."express"."4.8.5";
+    self.by-version."express"."5.0.0-alpha.1";
+  by-version."express"."5.0.0-alpha.1" = self.buildNodePackage {
+    name = "express-5.0.0-alpha.1";
+    version = "5.0.0-alpha.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-5.0.0-alpha.1.tgz";
+      name = "express-5.0.0-alpha.1.tgz";
+      sha1 = "415df02c51ae01c221362fca59b03591d956b2d7";
+    };
+    deps = {
+      "accepts-1.1.4" = self.by-version."accepts"."1.1.4";
+      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "finalhandler-0.3.2" = self.by-version."finalhandler"."0.3.2";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "on-finished-2.1.1" = self.by-version."on-finished"."2.1.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.6" = self.by-version."proxy-addr"."1.0.6";
+      "qs-2.3.2" = self.by-version."qs"."2.3.2";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.10.1" = self.by-version."send"."0.10.1";
+      "serve-static-1.7.2" = self.by-version."serve-static"."1.7.2";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "express" = self.by-version."express"."5.0.0-alpha.1";
   by-spec."express"."2.5.11" =
     self.by-version."express"."2.5.11";
-  by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
+  by-version."express"."2.5.11" = self.buildNodePackage {
     name = "express-2.5.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
-        name = "express-2.5.11.tgz";
-        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."1.9.2"
-      self.by-version."mime"."1.2.4"
-      self.by-version."qs"."0.4.2"
-      self.by-version."mkdirp"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
+    version = "2.5.11";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
+      name = "express-2.5.11.tgz";
+      sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
+    };
+    deps = {
+      "connect-1.9.2" = self.by-version."connect"."1.9.2";
+      "mime-1.2.4" = self.by-version."mime"."1.2.4";
+      "qs-0.4.2" = self.by-version."qs"."0.4.2";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."3.*" =
+    self.by-version."express"."3.20.0";
+  by-version."express"."3.20.0" = self.buildNodePackage {
+    name = "express-3.20.0";
+    version = "3.20.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-3.20.0.tgz";
+      name = "express-3.20.0.tgz";
+      sha1 = "9dac561e31a08e7d2852790d86d17c7b70bdd9ac";
+    };
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "connect-2.29.0" = self.by-version."connect"."2.29.0";
+      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "proxy-addr-1.0.6" = self.by-version."proxy-addr"."1.0.6";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.12.1" = self.by-version."send"."0.12.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."3.17.2" =
+    self.by-version."express"."3.17.2";
+  by-version."express"."3.17.2" = self.buildNodePackage {
+    name = "express-3.17.2";
+    version = "3.17.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-3.17.2.tgz";
+      name = "express-3.17.2.tgz";
+      sha1 = "9593dd94af5d4776ea2b6dbff8c4d850a3381353";
+    };
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "connect-2.26.1" = self.by-version."connect"."2.26.1";
+      "commander-1.3.2" = self.by-version."commander"."1.3.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "crc-3.0.0" = self.by-version."crc"."3.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.9.2" = self.by-version."send"."0.9.2";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."express"."3.2.0" =
     self.by-version."express"."3.2.0";
-  by-version."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."express"."3.2.0" = self.buildNodePackage {
     name = "express-3.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
-        name = "express-3.2.0.tgz";
-        sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."2.7.6"
-      self.by-version."commander"."0.6.1"
-      self.by-version."range-parser"."0.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."methods"."0.0.1"
-      self.by-version."send"."0.1.0"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
+    version = "3.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
+      name = "express-3.2.0.tgz";
+      sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
+    };
+    deps = {
+      "connect-2.7.6" = self.by-version."connect"."2.7.6";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."express"."3.4.4" =
     self.by-version."express"."3.4.4";
-  by-version."express"."3.4.4" = lib.makeOverridable self.buildNodePackage {
+  by-version."express"."3.4.4" = self.buildNodePackage {
     name = "express-3.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
-        name = "express-3.4.4.tgz";
-        sha1 = "0b63ae626c96b71b78d13dfce079c10351635a86";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."2.11.0"
-      self.by-version."commander"."1.3.2"
-      self.by-version."range-parser"."0.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."methods"."0.1.0"
-      self.by-version."send"."0.1.4"
-      self.by-version."cookie-signature"."1.0.1"
-      self.by-version."debug"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
+    version = "3.4.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
+      name = "express-3.4.4.tgz";
+      sha1 = "0b63ae626c96b71b78d13dfce079c10351635a86";
+    };
+    deps = {
+      "connect-2.11.0" = self.by-version."connect"."2.11.0";
+      "commander-1.3.2" = self.by-version."commander"."1.3.2";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "send-0.1.4" = self.by-version."send"."0.1.4";
+      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."express"."3.x" =
-    self.by-version."express"."3.16.7";
-  by-version."express"."3.16.7" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.16.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.16.7.tgz";
-        name = "express-3.16.7.tgz";
-        sha1 = "788aab5d66e85060211d6fea08eb2986f2f2631c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."basic-auth"."1.0.0"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."connect"."2.25.7"
-      self.by-version."commander"."1.3.2"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."methods"."1.1.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
+    self.by-version."express"."3.20.0";
+  by-spec."express"."4.6.1" =
+    self.by-version."express"."4.6.1";
+  by-version."express"."4.6.1" = self.buildNodePackage {
+    name = "express-4.6.1";
+    version = "4.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-4.6.1.tgz";
+      name = "express-4.6.1.tgz";
+      sha1 = "c806e51755cb453ba17fac2f343caff6af885df4";
+    };
+    deps = {
+      "accepts-1.0.7" = self.by-version."accepts"."1.0.7";
+      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
+      "debug-1.0.3" = self.by-version."debug"."1.0.3";
+      "depd-0.3.0" = self.by-version."depd"."0.3.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "finalhandler-0.0.3" = self.by-version."finalhandler"."0.0.3";
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "parseurl-1.1.3" = self.by-version."parseurl"."1.1.3";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
+      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
+      "send-0.6.0" = self.by-version."send"."0.6.0";
+      "serve-static-1.3.2" = self.by-version."serve-static"."1.3.2";
+      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
+      "vary-0.1.0" = self.by-version."vary"."0.1.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "cookie-signature-1.0.4" = self.by-version."cookie-signature"."1.0.4";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."express".">=3.0.0" =
-    self.by-version."express"."4.8.5";
+    self.by-version."express"."4.12.0";
+  by-version."express"."4.12.0" = self.buildNodePackage {
+    name = "express-4.12.0";
+    version = "4.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-4.12.0.tgz";
+      name = "express-4.12.0.tgz";
+      sha1 = "739660fce86acbc11ba9c37dc96ff009dc9975e8";
+    };
+    deps = {
+      "accepts-1.2.4" = self.by-version."accepts"."1.2.4";
+      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "finalhandler-0.3.3" = self.by-version."finalhandler"."0.3.3";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.6" = self.by-version."proxy-addr"."1.0.6";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.12.1" = self.by-version."send"."0.12.1";
+      "serve-static-1.9.1" = self.by-version."serve-static"."1.9.1";
+      "type-is-1.6.0" = self.by-version."type-is"."1.6.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express".">=4.0.0" =
+    self.by-version."express"."4.12.0";
+  by-spec."express"."^4.0" =
+    self.by-version."express"."4.12.0";
+  by-spec."express"."~2.5.11" =
+    self.by-version."express"."2.5.11";
   by-spec."express"."~3.1.1" =
     self.by-version."express"."3.1.2";
-  by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage {
+  by-version."express"."3.1.2" = self.buildNodePackage {
     name = "express-3.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
-        name = "express-3.1.2.tgz";
-        sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."connect"."2.7.5"
-      self.by-version."commander"."0.6.1"
-      self.by-version."range-parser"."0.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."cookie"."0.0.5"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."methods"."0.0.1"
-      self.by-version."send"."0.1.0"
-      self.by-version."cookie-signature"."1.0.0"
-      self.by-version."debug"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  by-spec."express"."~4.0" =
-    self.by-version."express"."4.0.0";
-  by-version."express"."4.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.0.0.tgz";
-        name = "express-4.0.0.tgz";
-        sha1 = "274dc82933c9f574cc38a0ce5ea8172be9c6b094";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."accepts"."1.0.0"
-      self.by-version."type-is"."1.0.0"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."cookie"."0.1.0"
-      self.by-version."buffer-crc32"."0.2.1"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."methods"."0.1.0"
-      self.by-version."send"."0.2.0"
-      self.by-version."cookie-signature"."1.0.3"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."qs"."0.6.6"
-      self.by-version."serve-static"."1.0.1"
-      self.by-version."path-to-regexp"."0.1.2"
-      self.by-version."debug"."0.8.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  by-spec."express"."~4.4.5" =
-    self.by-version."express"."4.4.5";
-  by-version."express"."4.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-4.4.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.4.5.tgz";
-        name = "express-4.4.5.tgz";
-        sha1 = "5f2f302f277187abd721c3a36e44d86c5e3f03eb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."debug"."1.0.2"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."methods"."1.0.1"
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."proxy-addr"."1.0.1"
-      self.by-version."range-parser"."1.0.0"
-      self.by-version."send"."0.4.3"
-      self.by-version."serve-static"."1.2.3"
-      self.by-version."type-is"."1.2.1"
-      self.by-version."vary"."0.1.0"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."merge-descriptors"."0.0.2"
-      self.by-version."utils-merge"."1.0.0"
-      self.by-version."qs"."0.6.6"
-      self.by-version."path-to-regexp"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
+    version = "3.1.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
+      name = "express-3.1.2.tgz";
+      sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
+    };
+    deps = {
+      "connect-2.7.5" = self.by-version."connect"."2.7.5";
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
+      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "send-0.1.0" = self.by-version."send"."0.1.0";
+      "cookie-signature-1.0.0" = self.by-version."cookie-signature"."1.0.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."~3.5.1" =
+    self.by-version."express"."3.5.3";
+  by-version."express"."3.5.3" = self.buildNodePackage {
+    name = "express-3.5.3";
+    version = "3.5.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-3.5.3.tgz";
+      name = "express-3.5.3.tgz";
+      sha1 = "af440e1ddad078934ec78241420b40bbc56dc2ad";
+    };
+    deps = {
+      "connect-2.14.5" = self.by-version."connect"."2.14.5";
+      "commander-1.3.2" = self.by-version."commander"."1.3.2";
+      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
+      "mkdirp-0.4.0" = self.by-version."mkdirp"."0.4.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "methods-0.1.0" = self.by-version."methods"."0.1.0";
+      "send-0.3.0" = self.by-version."send"."0.3.0";
+      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."~4.10.3" =
+    self.by-version."express"."4.10.8";
+  by-version."express"."4.10.8" = self.buildNodePackage {
+    name = "express-4.10.8";
+    version = "4.10.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-4.10.8.tgz";
+      name = "express-4.10.8.tgz";
+      sha1 = "2d83571e065c0efb2679c0a5f9ae66aeaa47024a";
+    };
+    deps = {
+      "accepts-1.1.4" = self.by-version."accepts"."1.1.4";
+      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "finalhandler-0.3.3" = self.by-version."finalhandler"."0.3.3";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.6" = self.by-version."proxy-addr"."1.0.6";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.10.1" = self.by-version."send"."0.10.1";
+      "serve-static-1.7.2" = self.by-version."serve-static"."1.7.2";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."express-form"."*" =
-    self.by-version."express-form"."0.12.3";
-  by-version."express-form"."0.12.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-form-0.12.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express-form/-/express-form-0.12.3.tgz";
-        name = "express-form-0.12.3.tgz";
-        sha1 = "e3d944b892b621524925837bee0d658f84833139";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express-form" or []);
-    deps = [
-      self.by-version."validator"."0.4.28"
-      self.by-version."object-additions"."0.5.1"
-      self.by-version."async"."0.7.0"
-    ];
-    peerDependencies = [
-      self.by-version."express"."4.8.5"
-    ];
-    passthru.names = [ "express-form" ];
-  };
-  "express-form" = self.by-version."express-form"."0.12.3";
+    self.by-version."express-form"."0.12.4";
+  by-version."express-form"."0.12.4" = self.buildNodePackage {
+    name = "express-form-0.12.4";
+    version = "0.12.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express-form/-/express-form-0.12.4.tgz";
+      name = "express-form-0.12.4.tgz";
+      sha1 = "d671fa5887acf32a005618ce8b652f67b30e2cb1";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "object-additions-0.5.1" = self.by-version."object-additions"."0.5.1";
+      "validator-2.1.0" = self.by-version."validator"."2.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."express"."4.12.0"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "express-form" = self.by-version."express-form"."0.12.4";
   by-spec."express-partials"."0.0.6" =
     self.by-version."express-partials"."0.0.6";
-  by-version."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-partials-0.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
-        name = "express-partials-0.0.6.tgz";
-        sha1 = "b2664f15c636d5248e60fdbe29131c4440552eda";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express-partials" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express-partials" ];
-  };
-  by-spec."express-session"."~1.6.1" =
-    self.by-version."express-session"."1.6.5";
-  by-version."express-session"."1.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-session-1.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express-session/-/express-session-1.6.5.tgz";
-        name = "express-session-1.6.5.tgz";
-        sha1 = "c4ca7740025fe4561f88041157931071f91e957b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express-session" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."debug"."1.0.3"
-      self.by-version."depd"."0.3.0"
-      self.by-version."on-headers"."0.0.0"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."utils-merge"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express-session" ];
-  };
-  by-spec."express-session"."~1.7.6" =
-    self.by-version."express-session"."1.7.6";
-  by-version."express-session"."1.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-express-session-1.7.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express-session/-/express-session-1.7.6.tgz";
-        name = "express-session-1.7.6.tgz";
-        sha1 = "e1c369ba2176f7afdb79e77d65dcd8c7c46e48a5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express-session" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."cookie"."0.1.2"
-      self.by-version."cookie-signature"."1.0.4"
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."on-headers"."1.0.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."uid-safe"."1.0.1"
-      self.by-version."utils-merge"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express-session" ];
+  by-version."express-partials"."0.0.6" = self.buildNodePackage {
+    name = "express-partials-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
+      name = "express-partials-0.0.6.tgz";
+      sha1 = "b2664f15c636d5248e60fdbe29131c4440552eda";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express-session"."1.0.2" =
+    self.by-version."express-session"."1.0.2";
+  by-version."express-session"."1.0.2" = self.buildNodePackage {
+    name = "express-session-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express-session/-/express-session-1.0.2.tgz";
+      name = "express-session-1.0.2.tgz";
+      sha1 = "004478c742561774411ceb79733155a56b6d49eb";
+    };
+    deps = {
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express-session"."^1.0.4" =
+    self.by-version."express-session"."1.10.3";
+  by-version."express-session"."1.10.3" = self.buildNodePackage {
+    name = "express-session-1.10.3";
+    version = "1.10.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express-session/-/express-session-1.10.3.tgz";
+      name = "express-session-1.10.3.tgz";
+      sha1 = "10e09dab2548a0c95d4f1710b89e63016610a268";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "crc-3.2.1" = self.by-version."crc"."3.2.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.1.0" = self.by-version."uid-safe"."1.1.0";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express-session"."~1.10.3" =
+    self.by-version."express-session"."1.10.3";
+  by-spec."express-session"."~1.8.2" =
+    self.by-version."express-session"."1.8.2";
+  by-version."express-session"."1.8.2" = self.buildNodePackage {
+    name = "express-session-1.8.2";
+    version = "1.8.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express-session/-/express-session-1.8.2.tgz";
+      name = "express-session-1.8.2.tgz";
+      sha1 = "c4011e728a2349b3c18f117a5409908985e83483";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "crc-3.0.0" = self.by-version."crc"."3.0.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express-session"."~1.9.2" =
+    self.by-version."express-session"."1.9.3";
+  by-version."express-session"."1.9.3" = self.buildNodePackage {
+    name = "express-session-1.9.3";
+    version = "1.9.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express-session/-/express-session-1.9.3.tgz";
+      name = "express-session-1.9.3.tgz";
+      sha1 = "7d2fc387af6fd928775213bfe9d635a5705a84ce";
+    };
+    deps = {
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "crc-3.2.1" = self.by-version."crc"."3.2.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."extend"."*" =
-    self.by-version."extend"."1.3.0";
-  by-version."extend"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extend-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
-        name = "extend-1.3.0.tgz";
-        sha1 = "d1516fb0ff5624d2ebf9123ea1dac5a1994004f8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."extend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "extend" ];
-  };
-  "extend" = self.by-version."extend"."1.3.0";
+    self.by-version."extend"."2.0.0";
+  by-version."extend"."2.0.0" = self.buildNodePackage {
+    name = "extend-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extend/-/extend-2.0.0.tgz";
+      name = "extend-2.0.0.tgz";
+      sha1 = "cc3c1e238521df4c28e3f30868b7324bb5898a5c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "extend" = self.by-version."extend"."2.0.0";
+  by-spec."extend".">=1.1.3" =
+    self.by-version."extend"."2.0.0";
+  by-spec."extend"."^2.0.0" =
+    self.by-version."extend"."2.0.0";
   by-spec."extend"."~1.2.1" =
     self.by-version."extend"."1.2.1";
-  by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extend-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
-        name = "extend-1.2.1.tgz";
-        sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."extend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "extend" ];
+  by-version."extend"."1.2.1" = self.buildNodePackage {
+    name = "extend-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
+      name = "extend-1.2.1.tgz";
+      sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."extend"."~1.3.0" =
+    self.by-version."extend"."1.3.0";
+  by-version."extend"."1.3.0" = self.buildNodePackage {
+    name = "extend-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
+      name = "extend-1.3.0.tgz";
+      sha1 = "d1516fb0ff5624d2ebf9123ea1dac5a1994004f8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."extend.js"."0.0.2" =
+    self.by-version."extend.js"."0.0.2";
+  by-version."extend.js"."0.0.2" = self.buildNodePackage {
+    name = "extend.js-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extend.js/-/extend.js-0.0.2.tgz";
+      name = "extend.js-0.0.2.tgz";
+      sha1 = "0f9c7a81a1f208b703eb0c3131fe5716ac6ecd15";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."extract-opts"."~2.2.0" =
     self.by-version."extract-opts"."2.2.0";
-  by-version."extract-opts"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extract-opts-2.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
-        name = "extract-opts-2.2.0.tgz";
-        sha1 = "1fa28eba7352c6db480f885ceb71a46810be6d7d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."extract-opts" or []);
-    deps = [
-      self.by-version."typechecker"."2.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "extract-opts" ];
+  by-version."extract-opts"."2.2.0" = self.buildNodePackage {
+    name = "extract-opts-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
+      name = "extract-opts-2.2.0.tgz";
+      sha1 = "1fa28eba7352c6db480f885ceb71a46810be6d7d";
+    };
+    deps = {
+      "typechecker-2.0.8" = self.by-version."typechecker"."2.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."extsprintf"."1.0.0" =
     self.by-version."extsprintf"."1.0.0";
-  by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extsprintf-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
-        name = "extsprintf-1.0.0.tgz";
-        sha1 = "4d58b815ace5bebfc4ebf03cf98b0a7604a99b86";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."extsprintf" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "extsprintf" ];
+  by-version."extsprintf"."1.0.0" = self.buildNodePackage {
+    name = "extsprintf-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
+      name = "extsprintf-1.0.0.tgz";
+      sha1 = "4d58b815ace5bebfc4ebf03cf98b0a7604a99b86";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."extsprintf"."1.0.2" =
     self.by-version."extsprintf"."1.0.2";
-  by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-extsprintf-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
-        name = "extsprintf-1.0.2.tgz";
-        sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."extsprintf" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "extsprintf" ];
+  by-version."extsprintf"."1.0.2" = self.buildNodePackage {
+    name = "extsprintf-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
+      name = "extsprintf-1.0.2.tgz";
+      sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."extsprintf"."1.2.0" =
+    self.by-version."extsprintf"."1.2.0";
+  by-version."extsprintf"."1.2.0" = self.buildNodePackage {
+    name = "extsprintf-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz";
+      name = "extsprintf-1.2.0.tgz";
+      sha1 = "5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."eyes"."0.1.x" =
     self.by-version."eyes"."0.1.8";
-  by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-eyes-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        name = "eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."eyes" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eyes" ];
-  };
-  by-spec."eyes".">=0.1.6" =
+  by-version."eyes"."0.1.8" = self.buildNodePackage {
+    name = "eyes-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+      name = "eyes-0.1.8.tgz";
+      sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."eyes"."~0.1.6" =
+    self.by-version."eyes"."0.1.8";
+  by-spec."eyes"."~0.1.8" =
     self.by-version."eyes"."0.1.8";
+  by-spec."falafel"."~0.1.6" =
+    self.by-version."falafel"."0.1.6";
+  by-version."falafel"."0.1.6" = self.buildNodePackage {
+    name = "falafel-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/falafel/-/falafel-0.1.6.tgz";
+      name = "falafel-0.1.6.tgz";
+      sha1 = "3084cf3d41b59d15c813be6f259557fdc82b0660";
+    };
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fast-levenshtein"."~1.0.0" =
+    self.by-version."fast-levenshtein"."1.0.6";
+  by-version."fast-levenshtein"."1.0.6" = self.buildNodePackage {
+    name = "fast-levenshtein-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.6.tgz";
+      name = "fast-levenshtein-1.0.6.tgz";
+      sha1 = "3bedb184e39f95cb0d88928688e6b1ee3273446a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."favitest"."^1.0.3" =
+    self.by-version."favitest"."1.0.7";
+  by-version."favitest"."1.0.7" = self.buildNodePackage {
+    name = "favitest-1.0.7";
+    version = "1.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/favitest/-/favitest-1.0.7.tgz";
+      name = "favitest-1.0.7.tgz";
+      sha1 = "efa1ee02866f6e2f0f619a889a6c993269a0b603";
+    };
+    deps = {
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "q-1.2.0" = self.by-version."q"."1.2.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "tldtools-0.0.19" = self.by-version."tldtools"."0.0.19";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."favitest"."^1.0.7" =
+    self.by-version."favitest"."1.0.7";
   by-spec."faye-websocket"."*" =
-    self.by-version."faye-websocket"."0.7.2";
-  by-version."faye-websocket"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-faye-websocket-0.7.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.2.tgz";
-        name = "faye-websocket-0.7.2.tgz";
-        sha1 = "799970386f87105592397434b02abfa4f07bdf70";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."faye-websocket" or []);
-    deps = [
-      self.by-version."websocket-driver"."0.3.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "faye-websocket" ];
-  };
-  "faye-websocket" = self.by-version."faye-websocket"."0.7.2";
-  by-spec."faye-websocket"."0.7.2" =
-    self.by-version."faye-websocket"."0.7.2";
+    self.by-version."faye-websocket"."0.9.3";
+  by-version."faye-websocket"."0.9.3" = self.buildNodePackage {
+    name = "faye-websocket-0.9.3";
+    version = "0.9.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.9.3.tgz";
+      name = "faye-websocket-0.9.3.tgz";
+      sha1 = "482a505b0df0ae626b969866d3bd740cdb962e83";
+    };
+    deps = {
+      "websocket-driver-0.5.3" = self.by-version."websocket-driver"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "faye-websocket" = self.by-version."faye-websocket"."0.9.3";
+  by-spec."faye-websocket".">= 0.4.1" =
+    self.by-version."faye-websocket"."0.9.3";
+  by-spec."faye-websocket"."^0.7.3 || ^0.8.0 || ^0.9.0" =
+    self.by-version."faye-websocket"."0.9.3";
+  by-spec."faye-websocket"."~0.7.0" =
+    self.by-version."faye-websocket"."0.7.3";
+  by-version."faye-websocket"."0.7.3" = self.buildNodePackage {
+    name = "faye-websocket-0.7.3";
+    version = "0.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.3.tgz";
+      name = "faye-websocket-0.7.3.tgz";
+      sha1 = "cc4074c7f4a4dfd03af54dd65c354b135132ce11";
+    };
+    deps = {
+      "websocket-driver-0.5.3" = self.by-version."websocket-driver"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fb".">=0.0.9" =
+    self.by-version."fb"."0.7.0";
+  by-version."fb"."0.7.0" = self.buildNodePackage {
+    name = "fb-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fb/-/fb-0.7.0.tgz";
+      name = "fb-0.7.0.tgz";
+      sha1 = "599994a3604d7898eff3108c48c6d3112de10563";
+    };
+    deps = {
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "crypto-0.0.3" = self.by-version."crypto"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."feedparser"."0.19.2" =
+    self.by-version."feedparser"."0.19.2";
+  by-version."feedparser"."0.19.2" = self.buildNodePackage {
+    name = "feedparser-0.19.2";
+    version = "0.19.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/feedparser/-/feedparser-0.19.2.tgz";
+      name = "feedparser-0.19.2.tgz";
+      sha1 = "9de04f1621e755f2c151daf39f0ea662a0e392b7";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+      "addressparser-0.1.3" = self.by-version."addressparser"."0.1.3";
+      "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "resanitize-0.3.0" = self.by-version."resanitize"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."feedparser".">=0.16.2" =
+    self.by-version."feedparser"."0.19.2";
+  by-spec."fetch-bower"."*" =
+    self.by-version."fetch-bower"."2.0.0";
+  by-version."fetch-bower"."2.0.0" = self.buildNodePackage {
+    name = "fetch-bower-2.0.0";
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fetch-bower/-/fetch-bower-2.0.0.tgz";
+      name = "fetch-bower-2.0.0.tgz";
+      sha1 = "c027feb75a512001d1287bbfb3ffaafba67eb92f";
+    };
+    deps = {
+      "bower-endpoint-parser-0.2.1" = self.by-version."bower-endpoint-parser"."0.2.1";
+      "bower-logger-0.2.1" = self.by-version."bower-logger"."0.2.1";
+      "bower-1.3.12" = self.by-version."bower"."1.3.12";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "fetch-bower" = self.by-version."fetch-bower"."2.0.0";
+  by-spec."fetch-bower".">=2 <3" =
+    self.by-version."fetch-bower"."2.0.0";
   by-spec."fields"."~0.1.11" =
-    self.by-version."fields"."0.1.12";
-  by-version."fields"."0.1.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fields-0.1.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fields/-/fields-0.1.12.tgz";
-        name = "fields-0.1.12.tgz";
-        sha1 = "ded2dfe1e0aad3576aed554bfb8f65a7e7404bc1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fields" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."keypress"."0.1.0"
-      self.by-version."sprintf"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fields" ];
+    self.by-version."fields"."0.1.23";
+  by-version."fields"."0.1.23" = self.buildNodePackage {
+    name = "fields-0.1.23";
+    version = "0.1.23";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fields/-/fields-0.1.23.tgz";
+      name = "fields-0.1.23.tgz";
+      sha1 = "6ad465e4294a78870aaeb4a63517576f704732f3";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
+      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fifo"."^0.1.4" =
+    self.by-version."fifo"."0.1.4";
+  by-version."fifo"."0.1.4" = self.buildNodePackage {
+    name = "fifo-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fifo/-/fifo-0.1.4.tgz";
+      name = "fifo-0.1.4.tgz";
+      sha1 = "bf42d87c0ad07b00d0949d12388f6289606ece34";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."figures"."^1.0.1" =
-    self.by-version."figures"."1.3.2";
-  by-version."figures"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-figures-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/figures/-/figures-1.3.2.tgz";
-        name = "figures-1.3.2.tgz";
-        sha1 = "3ea3915639485d960acff99810086c161db82051";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."figures" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "figures" ];
-  };
-  by-spec."file-utils"."~0.2.0" =
-    self.by-version."file-utils"."0.2.0";
-  by-version."file-utils"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-file-utils-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/file-utils/-/file-utils-0.2.0.tgz";
-        name = "file-utils-0.2.0.tgz";
-        sha1 = "0372c89b19bd96fc9a02a180c91fad29e4dbacaa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."file-utils" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."iconv-lite"."0.2.11"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."glob"."3.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."isbinaryfile"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "file-utils" ];
+    self.by-version."figures"."1.3.5";
+  by-version."figures"."1.3.5" = self.buildNodePackage {
+    name = "figures-1.3.5";
+    version = "1.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/figures/-/figures-1.3.5.tgz";
+      name = "figures-1.3.5.tgz";
+      sha1 = "d1a31f4e1d2c2938ecde5c06aa16134cf29f4771";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."figures"."^1.3.2" =
+    self.by-version."figures"."1.3.5";
+  by-spec."file-uri-to-path"."0" =
+    self.by-version."file-uri-to-path"."0.0.2";
+  by-version."file-uri-to-path"."0.0.2" = self.buildNodePackage {
+    name = "file-uri-to-path-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-0.0.2.tgz";
+      name = "file-uri-to-path-0.0.2.tgz";
+      sha1 = "37cdd1b5b905404b3f05e1b23645be694ff70f82";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."fileset"."0.1.x" =
     self.by-version."fileset"."0.1.5";
-  by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fileset-0.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
-        name = "fileset-0.1.5.tgz";
-        sha1 = "acc423bfaf92843385c66bf75822264d11b7bd94";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fileset" or []);
-    deps = [
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."glob"."3.2.11"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fileset" ];
-  };
-  by-spec."finalhandler"."0.1.0" =
-    self.by-version."finalhandler"."0.1.0";
-  by-version."finalhandler"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-finalhandler-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
-        name = "finalhandler-0.1.0.tgz";
-        sha1 = "da05bbc4f5f4a30c84ce1d91f3c154007c4e9daa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."finalhandler" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."escape-html"."1.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "finalhandler" ];
+  by-version."fileset"."0.1.5" = self.buildNodePackage {
+    name = "fileset-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
+      name = "fileset-0.1.5.tgz";
+      sha1 = "acc423bfaf92843385c66bf75822264d11b7bd94";
+    };
+    deps = {
+      "minimatch-0.4.0" = self.by-version."minimatch"."0.4.0";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.0.2" =
+    self.by-version."finalhandler"."0.0.2";
+  by-version."finalhandler"."0.0.2" = self.buildNodePackage {
+    name = "finalhandler-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.0.2.tgz";
+      name = "finalhandler-0.0.2.tgz";
+      sha1 = "0603d875ee87d567a266692815cc8ad44fcceeda";
+    };
+    deps = {
+      "debug-1.0.2" = self.by-version."debug"."1.0.2";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.0.3" =
+    self.by-version."finalhandler"."0.0.3";
+  by-version."finalhandler"."0.0.3" = self.buildNodePackage {
+    name = "finalhandler-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.0.3.tgz";
+      name = "finalhandler-0.0.3.tgz";
+      sha1 = "5a86b7bc4dca3d1275eb0532c81ee81d747504df";
+    };
+    deps = {
+      "debug-1.0.3" = self.by-version."debug"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.2.0" =
+    self.by-version."finalhandler"."0.2.0";
+  by-version."finalhandler"."0.2.0" = self.buildNodePackage {
+    name = "finalhandler-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.2.0.tgz";
+      name = "finalhandler-0.2.0.tgz";
+      sha1 = "794082424b17f6a4b2a0eda39f9db6948ee4be8d";
+    };
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.3.2" =
+    self.by-version."finalhandler"."0.3.2";
+  by-version."finalhandler"."0.3.2" = self.buildNodePackage {
+    name = "finalhandler-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.2.tgz";
+      name = "finalhandler-0.3.2.tgz";
+      sha1 = "7b389b0fd3647a6f90bd564e22624bf8a4a77fb5";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "on-finished-2.1.1" = self.by-version."on-finished"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.3.3" =
+    self.by-version."finalhandler"."0.3.3";
+  by-version."finalhandler"."0.3.3" = self.buildNodePackage {
+    name = "finalhandler-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz";
+      name = "finalhandler-0.3.3.tgz";
+      sha1 = "b1a09aa1e6a607b3541669b09bcb727f460cd426";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."find-index"."^0.1.1" =
+    self.by-version."find-index"."0.1.1";
+  by-version."find-index"."0.1.1" = self.buildNodePackage {
+    name = "find-index-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz";
+      name = "find-index-0.1.1.tgz";
+      sha1 = "675d358b2ca3892d795a1ab47232f8b6e2e0dde4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."findit".">=1.1.0 <2.0.0" =
     self.by-version."findit"."1.2.0";
-  by-version."findit"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-findit-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/findit/-/findit-1.2.0.tgz";
-        name = "findit-1.2.0.tgz";
-        sha1 = "f571a3a840749ae8b0cbf4bf43ced7659eec3ce8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."findit" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "findit" ];
+  by-version."findit"."1.2.0" = self.buildNodePackage {
+    name = "findit-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/findit/-/findit-1.2.0.tgz";
+      name = "findit-1.2.0.tgz";
+      sha1 = "f571a3a840749ae8b0cbf4bf43ced7659eec3ce8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."findup-sync"."~0.1.0" =
     self.by-version."findup-sync"."0.1.3";
-  by-version."findup-sync"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-findup-sync-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
-        name = "findup-sync-0.1.3.tgz";
-        sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."findup-sync" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."lodash"."2.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "findup-sync" ];
+  by-version."findup-sync"."0.1.3" = self.buildNodePackage {
+    name = "findup-sync-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
+      name = "findup-sync-0.1.3.tgz";
+      sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
+    };
+    deps = {
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."findup-sync"."~0.1.2" =
     self.by-version."findup-sync"."0.1.3";
+  by-spec."findup-sync"."~0.2.0" =
+    self.by-version."findup-sync"."0.2.1";
+  by-version."findup-sync"."0.2.1" = self.buildNodePackage {
+    name = "findup-sync-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.2.1.tgz";
+      name = "findup-sync-0.2.1.tgz";
+      sha1 = "e0a90a450075c49466ee513732057514b81e878c";
+    };
+    deps = {
+      "glob-4.3.5" = self.by-version."glob"."4.3.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."finished"."1.2.2" =
     self.by-version."finished"."1.2.2";
-  by-version."finished"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-finished-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/finished/-/finished-1.2.2.tgz";
-        name = "finished-1.2.2.tgz";
-        sha1 = "41608eafadfd65683b46a1220bc4b1ec3daedcd8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."finished" or []);
-    deps = [
-      self.by-version."ee-first"."1.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "finished" ];
-  };
-  by-spec."finished"."~1.2.0" =
+  by-version."finished"."1.2.2" = self.buildNodePackage {
+    name = "finished-1.2.2";
+    version = "1.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finished/-/finished-1.2.2.tgz";
+      name = "finished-1.2.2.tgz";
+      sha1 = "41608eafadfd65683b46a1220bc4b1ec3daedcd8";
+    };
+    deps = {
+      "ee-first-1.0.3" = self.by-version."ee-first"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finished"."~1.2.2" =
     self.by-version."finished"."1.2.2";
-  by-spec."first-chunk-stream"."^0.1.0" =
-    self.by-version."first-chunk-stream"."0.1.0";
-  by-version."first-chunk-stream"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-first-chunk-stream-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-0.1.0.tgz";
-        name = "first-chunk-stream-0.1.0.tgz";
-        sha1 = "755d3ec14d49a86e3d2fcc08beead5c0ca2b9c0a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."first-chunk-stream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "first-chunk-stream" ];
+  by-spec."first-chunk-stream"."^1.0.0" =
+    self.by-version."first-chunk-stream"."1.0.0";
+  by-version."first-chunk-stream"."1.0.0" = self.buildNodePackage {
+    name = "first-chunk-stream-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz";
+      name = "first-chunk-stream-1.0.0.tgz";
+      sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."flagged-respawn"."~0.3.0" =
+    self.by-version."flagged-respawn"."0.3.1";
+  by-version."flagged-respawn"."0.3.1" = self.buildNodePackage {
+    name = "flagged-respawn-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.1.tgz";
+      name = "flagged-respawn-0.3.1.tgz";
+      sha1 = "397700925df6e12452202a71e89d89545fbbbe9d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."flatiron"."*" =
-    self.by-version."flatiron"."0.3.11";
-  by-version."flatiron"."0.3.11" = lib.makeOverridable self.buildNodePackage {
-    name = "flatiron-0.3.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.11.tgz";
-        name = "flatiron-0.3.11.tgz";
-        sha1 = "1cb0190fc2bd9d860f018e04d95fd35f9bd12555";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."flatiron" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."optimist"."0.6.0"
-      self.by-version."prompt"."0.2.11"
-      self.by-version."director"."1.1.10"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "flatiron" ];
+    self.by-version."flatiron"."0.4.3";
+  by-version."flatiron"."0.4.3" = self.buildNodePackage {
+    name = "flatiron-0.4.3";
+    version = "0.4.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/flatiron/-/flatiron-0.4.3.tgz";
+      name = "flatiron-0.4.3.tgz";
+      sha1 = "248cf79a3da7d7dc379e2a11c92a2719cbb540f6";
+    };
+    deps = {
+      "broadway-0.3.6" = self.by-version."broadway"."0.3.6";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
+      "prompt-0.2.14" = self.by-version."prompt"."0.2.14";
+      "director-1.2.7" = self.by-version."director"."1.2.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "flatiron" = self.by-version."flatiron"."0.4.3";
+  by-spec."flatiron"."~0.4.2" =
+    self.by-version."flatiron"."0.4.3";
+  by-spec."flickrapi".">=0.3.12" =
+    self.by-version."flickrapi"."0.3.28";
+  by-version."flickrapi"."0.3.28" = self.buildNodePackage {
+    name = "flickrapi-0.3.28";
+    version = "0.3.28";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/flickrapi/-/flickrapi-0.3.28.tgz";
+      name = "flickrapi-0.3.28.tgz";
+      sha1 = "7aae812b877e7ba10e100ea0cf4b2abeb0038fda";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "open-0.0.5" = self.by-version."open"."0.0.5";
+      "progress-1.1.4" = self.by-version."progress"."1.1.4";
+      "prompt-0.2.14" = self.by-version."prompt"."0.2.14";
+      "request-2.26.0" = self.by-version."request"."2.26.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fluent-ffmpeg"."^2.0.0-rc3" =
+    self.by-version."fluent-ffmpeg"."2.0.0-rc3";
+  by-version."fluent-ffmpeg"."2.0.0-rc3" = self.buildNodePackage {
+    name = "fluent-ffmpeg-2.0.0-rc3";
+    version = "2.0.0-rc3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.0.0-rc3.tgz";
+      name = "fluent-ffmpeg-2.0.0-rc3.tgz";
+      sha1 = "c5a933fe1902fd829c9c060332f6b503d879b083";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "flatiron" = self.by-version."flatiron"."0.3.11";
-  by-spec."flatiron"."~0.3.11" =
-    self.by-version."flatiron"."0.3.11";
   by-spec."follow-redirects"."0.0.3" =
     self.by-version."follow-redirects"."0.0.3";
-  by-version."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-follow-redirects-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
-        name = "follow-redirects-0.0.3.tgz";
-        sha1 = "6ce67a24db1fe13f226c1171a72a7ef2b17b8f65";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."follow-redirects" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "follow-redirects" ];
-  };
-  by-spec."forEachAsync"."~2.2" =
-    self.by-version."forEachAsync"."2.2.1";
-  by-version."forEachAsync"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forEachAsync-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.1.tgz";
-        name = "forEachAsync-2.2.1.tgz";
-        sha1 = "e3723f00903910e1eb4b1db3ad51b5c64a319fec";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forEachAsync" or []);
-    deps = [
-      self.by-version."sequence"."2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forEachAsync" ];
-  };
-  by-spec."foreachasync"."3.x" =
+  by-version."follow-redirects"."0.0.3" = self.buildNodePackage {
+    name = "follow-redirects-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
+      name = "follow-redirects-0.0.3.tgz";
+      sha1 = "6ce67a24db1fe13f226c1171a72a7ef2b17b8f65";
+    };
+    deps = {
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."foreachasync"."^3.0.0" =
     self.by-version."foreachasync"."3.0.0";
-  by-version."foreachasync"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-foreachasync-3.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz";
-        name = "foreachasync-3.0.0.tgz";
-        sha1 = "5502987dc8714be3392097f32e0071c9dee07cf6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."foreachasync" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "foreachasync" ];
+  by-version."foreachasync"."3.0.0" = self.buildNodePackage {
+    name = "foreachasync-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz";
+      name = "foreachasync-3.0.0.tgz";
+      sha1 = "5502987dc8714be3392097f32e0071c9dee07cf6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."forever"."*" =
-    self.by-version."forever"."0.11.1";
-  by-version."forever"."0.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-0.11.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever/-/forever-0.11.1.tgz";
-        name = "forever-0.11.1.tgz";
-        sha1 = "50ac8744c0a6e0c266524c4746397f74d6b09c5b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."cliff"."0.1.8"
-      self.by-version."flatiron"."0.3.11"
-      self.by-version."forever-monitor"."1.2.3"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."nssocket"."0.5.1"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."timespan"."2.3.0"
-      self.by-version."watch"."0.8.0"
-      self.by-version."utile"."0.2.1"
-      self.by-version."winston"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever" ];
-  };
-  "forever" = self.by-version."forever"."0.11.1";
+    self.by-version."forever"."0.14.1";
+  by-version."forever"."0.14.1" = self.buildNodePackage {
+    name = "forever-0.14.1";
+    version = "0.14.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever/-/forever-0.14.1.tgz";
+      name = "forever-0.14.1.tgz";
+      sha1 = "48bed8c2b215be5c1a3bf429275514a4dca1158a";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cliff-0.1.10" = self.by-version."cliff"."0.1.10";
+      "flatiron-0.4.3" = self.by-version."flatiron"."0.4.3";
+      "forever-monitor-1.5.2" = self.by-version."forever-monitor"."1.5.2";
+      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
+      "nssocket-0.5.3" = self.by-version."nssocket"."0.5.3";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "timespan-2.3.0" = self.by-version."timespan"."2.3.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+      "winston-0.8.3" = self.by-version."winston"."0.8.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "forever" = self.by-version."forever"."0.14.1";
   by-spec."forever-agent"."~0.2.0" =
     self.by-version."forever-agent"."0.2.0";
-  by-version."forever-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-agent-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
-        name = "forever-agent-0.2.0.tgz";
-        sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-agent" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-agent" ];
+  by-version."forever-agent"."0.2.0" = self.buildNodePackage {
+    name = "forever-agent-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
+      name = "forever-agent-0.2.0.tgz";
+      sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."forever-agent"."~0.5.0" =
     self.by-version."forever-agent"."0.5.2";
-  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-agent-0.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
-        name = "forever-agent-0.5.2.tgz";
-        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-agent" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-agent" ];
+  by-version."forever-agent"."0.5.2" = self.buildNodePackage {
+    name = "forever-agent-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+      name = "forever-agent-0.5.2.tgz";
+      sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."forever-monitor"."*" =
-    self.by-version."forever-monitor"."1.3.0";
-  by-version."forever-monitor"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.3.0.tgz";
-        name = "forever-monitor-1.3.0.tgz";
-        sha1 = "57e883da03ec0eb690ad4259afbccf22f609d52e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-      self.by-version."watch"."0.5.1"
-      self.by-version."utile"."0.1.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-monitor" ];
-  };
-  "forever-monitor" = self.by-version."forever-monitor"."1.3.0";
+    self.by-version."forever-monitor"."1.5.2";
+  by-version."forever-monitor"."1.5.2" = self.buildNodePackage {
+    name = "forever-monitor-1.5.2";
+    version = "1.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.5.2.tgz";
+      name = "forever-monitor-1.5.2.tgz";
+      sha1 = "279388dfa93b085363d6b28a823ef0a6aeeb35d7";
+    };
+    deps = {
+      "broadway-0.3.6" = self.by-version."broadway"."0.3.6";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.13.0" = self.by-version."watch"."0.13.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "forever-monitor" = self.by-version."forever-monitor"."1.5.2";
   by-spec."forever-monitor"."1.1.0" =
     self.by-version."forever-monitor"."1.1.0";
-  by-version."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz";
-        name = "forever-monitor-1.1.0.tgz";
-        sha1 = "439ce036f999601cff551aea7f5151001a869ef9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.0.5"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-      self.by-version."watch"."0.5.1"
-      self.by-version."utile"."0.1.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-monitor" ];
-  };
-  by-spec."forever-monitor"."1.2.3" =
-    self.by-version."forever-monitor"."1.2.3";
-  by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-forever-monitor-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
-        name = "forever-monitor-1.2.3.tgz";
-        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-monitor" or []);
-    deps = [
-      self.by-version."broadway"."0.2.9"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-      self.by-version."watch"."0.5.1"
-      self.by-version."utile"."0.1.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-monitor" ];
-  };
-  by-spec."form-data"."0.1.2" =
-    self.by-version."form-data"."0.1.2";
-  by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
-        name = "form-data-0.1.2.tgz";
-        sha1 = "1143c21357911a78dd7913b189b4bab5d5d57445";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.2.10"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
-  };
+  by-version."forever-monitor"."1.1.0" = self.buildNodePackage {
+    name = "forever-monitor-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz";
+      name = "forever-monitor-1.1.0.tgz";
+      sha1 = "439ce036f999601cff551aea7f5151001a869ef9";
+    };
+    deps = {
+      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
+      "minimatch-0.0.5" = self.by-version."minimatch"."0.0.5";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "watch-0.5.1" = self.by-version."watch"."0.5.1";
+      "utile-0.1.7" = self.by-version."utile"."0.1.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forever-monitor"."~1.5.1" =
+    self.by-version."forever-monitor"."1.5.2";
   by-spec."form-data"."0.1.3" =
     self.by-version."form-data"."0.1.3";
-  by-version."form-data"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
-        name = "form-data-0.1.3.tgz";
-        sha1 = "4ee4346e6eb5362e8344a02075bd8dbd8c7373ea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.9.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
+  by-version."form-data"."0.1.3" = self.buildNodePackage {
+    name = "form-data-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
+      name = "form-data-0.1.3.tgz";
+      sha1 = "4ee4346e6eb5362e8344a02075bd8dbd8c7373ea";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data".">=0.1.2" =
+    self.by-version."form-data"."0.2.0";
+  by-version."form-data"."0.2.0" = self.buildNodePackage {
+    name = "form-data-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz";
+      name = "form-data-0.2.0.tgz";
+      sha1 = "26f8bc26da6440e299cbdcfb69035c4f77a6e466";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data"."^0.1.2" =
+    self.by-version."form-data"."0.1.4";
+  by-version."form-data"."0.1.4" = self.buildNodePackage {
+    name = "form-data-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+      name = "form-data-0.1.4.tgz";
+      sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."form-data"."~0.0.3" =
     self.by-version."form-data"."0.0.10";
-  by-version."form-data"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.0.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
-        name = "form-data-0.0.10.tgz";
-        sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.2.10"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
+  by-version."form-data"."0.0.10" = self.buildNodePackage {
+    name = "form-data-0.0.10";
+    version = "0.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
+      name = "form-data-0.0.10.tgz";
+      sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."form-data"."~0.1.0" =
     self.by-version."form-data"."0.1.4";
-  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-form-data-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-        name = "form-data-0.1.4.tgz";
-        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = [
-      self.by-version."combined-stream"."0.0.5"
-      self.by-version."mime"."1.2.11"
-      self.by-version."async"."0.9.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
-  };
-  by-spec."formatio"."~1.0" =
-    self.by-version."formatio"."1.0.2";
-  by-version."formatio"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formatio-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz";
-        name = "formatio-1.0.2.tgz";
-        sha1 = "e7991ca144ff7d8cff07bb9ac86a9b79c6ba47ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formatio" or []);
-    deps = [
-      self.by-version."samsam"."1.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formatio" ];
+  by-spec."form-data"."~0.2.0" =
+    self.by-version."form-data"."0.2.0";
+  by-spec."formatio"."1.1.1" =
+    self.by-version."formatio"."1.1.1";
+  by-version."formatio"."1.1.1" = self.buildNodePackage {
+    name = "formatio-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz";
+      name = "formatio-1.1.1.tgz";
+      sha1 = "5ed3ccd636551097383465d996199100e86161e9";
+    };
+    deps = {
+      "samsam-1.1.2" = self.by-version."samsam"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."formidable"."1.0.11" =
     self.by-version."formidable"."1.0.11";
-  by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
-        name = "formidable-1.0.11.tgz";
-        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
+  by-version."formidable"."1.0.11" = self.buildNodePackage {
+    name = "formidable-1.0.11";
+    version = "1.0.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
+      name = "formidable-1.0.11.tgz";
+      sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."formidable"."1.0.13" =
     self.by-version."formidable"."1.0.13";
-  by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
-        name = "formidable-1.0.13.tgz";
-        sha1 = "70caf0f9d69692a77e04021ddab4f46b01c82aea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
+  by-version."formidable"."1.0.13" = self.buildNodePackage {
+    name = "formidable-1.0.13";
+    version = "1.0.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
+      name = "formidable-1.0.13.tgz";
+      sha1 = "70caf0f9d69692a77e04021ddab4f46b01c82aea";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."formidable"."1.0.14" =
     self.by-version."formidable"."1.0.14";
-  by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        name = "formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
-  };
-  by-spec."formidable"."1.0.9" =
-    self.by-version."formidable"."1.0.9";
-  by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz";
-        name = "formidable-1.0.9.tgz";
-        sha1 = "419e3bccead3e8874d539f5b3e72a4c503b31a98";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
+  by-version."formidable"."1.0.14" = self.buildNodePackage {
+    name = "formidable-1.0.14";
+    version = "1.0.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
+      name = "formidable-1.0.14.tgz";
+      sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."formidable"."1.0.x" =
-    self.by-version."formidable"."1.0.15";
-  by-version."formidable"."1.0.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-formidable-1.0.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.15.tgz";
-        name = "formidable-1.0.15.tgz";
-        sha1 = "91363d59cc51ddca2be84ca0336ec0135606c155";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
+    self.by-version."formidable"."1.0.17";
+  by-version."formidable"."1.0.17" = self.buildNodePackage {
+    name = "formidable-1.0.17";
+    version = "1.0.17";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
+      name = "formidable-1.0.17.tgz";
+      sha1 = "ef5491490f9433b705faa77249c99029ae348559";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forwarded"."~0.1.0" =
+    self.by-version."forwarded"."0.1.0";
+  by-version."forwarded"."0.1.0" = self.buildNodePackage {
+    name = "forwarded-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+      name = "forwarded-0.1.0.tgz";
+      sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."fresh"."0.1.0" =
     self.by-version."fresh"."0.1.0";
-  by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
-        name = "fresh-0.1.0.tgz";
-        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fresh" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fresh" ];
+  by-version."fresh"."0.1.0" = self.buildNodePackage {
+    name = "fresh-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
+      name = "fresh-0.1.0.tgz";
+      sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."fresh"."0.2.0" =
     self.by-version."fresh"."0.2.0";
-  by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz";
-        name = "fresh-0.2.0.tgz";
-        sha1 = "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fresh" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fresh" ];
+  by-version."fresh"."0.2.0" = self.buildNodePackage {
+    name = "fresh-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz";
+      name = "fresh-0.2.0.tgz";
+      sha1 = "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."fresh"."0.2.2" =
     self.by-version."fresh"."0.2.2";
-  by-version."fresh"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fresh-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
-        name = "fresh-0.2.2.tgz";
-        sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fresh" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fresh" ];
+  by-version."fresh"."0.2.2" = self.buildNodePackage {
+    name = "fresh-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
+      name = "fresh-0.2.2.tgz";
+      sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = self.buildNodePackage {
+    name = "fresh-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+      name = "fresh-0.2.4.tgz";
+      sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."fresh"."~0.2.1" =
-    self.by-version."fresh"."0.2.2";
+    self.by-version."fresh"."0.2.4";
+  by-spec."fs-extended"."^0.2.0" =
+    self.by-version."fs-extended"."0.2.0";
+  by-version."fs-extended"."0.2.0" = self.buildNodePackage {
+    name = "fs-extended-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-extended/-/fs-extended-0.2.0.tgz";
+      name = "fs-extended-0.2.0.tgz";
+      sha1 = "9523d413a014d1a6e35b2a64baa5e66d17f0c6fe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fs-extra"."0.16.3" =
+    self.by-version."fs-extra"."0.16.3";
+  by-version."fs-extra"."0.16.3" = self.buildNodePackage {
+    name = "fs-extra-0.16.3";
+    version = "0.16.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.16.3.tgz";
+      name = "fs-extra-0.16.3.tgz";
+      sha1 = "4a5663cc51582546625a1bce04f09a1f5ceec35b";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "jsonfile-2.0.0" = self.by-version."jsonfile"."2.0.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fs-extra"."^0.16.0" =
+    self.by-version."fs-extra"."0.16.3";
+  by-spec."fs-extra"."~0.16.0" =
+    self.by-version."fs-extra"."0.16.3";
   by-spec."fs-extra"."~0.6.1" =
     self.by-version."fs-extra"."0.6.4";
-  by-version."fs-extra"."0.6.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-extra-0.6.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
-        name = "fs-extra-0.6.4.tgz";
-        sha1 = "f46f0c75b7841f8d200b3348cd4d691d5a099d15";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fs-extra" or []);
-    deps = [
-      self.by-version."ncp"."0.4.2"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."jsonfile"."1.0.1"
-      self.by-version."rimraf"."2.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fs-extra" ];
-  };
-  by-spec."fs-vacuum"."~1.2.1" =
-    self.by-version."fs-vacuum"."1.2.1";
-  by-version."fs-vacuum"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-vacuum-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.1.tgz";
-        name = "fs-vacuum-1.2.1.tgz";
-        sha1 = "1bc3c62da30d6272569b8b9089c9811abb0a600b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fs-vacuum" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."rimraf"."2.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fs-vacuum" ];
+  by-version."fs-extra"."0.6.4" = self.buildNodePackage {
+    name = "fs-extra-0.6.4";
+    version = "0.6.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
+      name = "fs-extra-0.6.4.tgz";
+      sha1 = "f46f0c75b7841f8d200b3348cd4d691d5a099d15";
+    };
+    deps = {
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "jsonfile-1.0.1" = self.by-version."jsonfile"."1.0.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fs-extra"."~0.7.0" =
+    self.by-version."fs-extra"."0.7.1";
+  by-version."fs-extra"."0.7.1" = self.buildNodePackage {
+    name = "fs-extra-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.7.1.tgz";
+      name = "fs-extra-0.7.1.tgz";
+      sha1 = "516505a3be70c1bead91df000ceb9955ab1b5f8b";
+    };
+    deps = {
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "jsonfile-1.1.1" = self.by-version."jsonfile"."1.1.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fs-vacuum"."~1.2.5" =
+    self.by-version."fs-vacuum"."1.2.5";
+  by-version."fs-vacuum"."1.2.5" = self.buildNodePackage {
+    name = "fs-vacuum-1.2.5";
+    version = "1.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.5.tgz";
+      name = "fs-vacuum-1.2.5.tgz";
+      sha1 = "a5cbaa844b4b3a7cff139f3cc90e7f7007e5fbb8";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."fs-walk"."*" =
     self.by-version."fs-walk"."0.0.1";
-  by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs-walk-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
-        name = "fs-walk-0.0.1.tgz";
-        sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fs-walk" or []);
-    deps = [
-      self.by-version."async"."0.9.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fs-walk" ];
+  by-version."fs-walk"."0.0.1" = self.buildNodePackage {
+    name = "fs-walk-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
+      name = "fs-walk-0.0.1.tgz";
+      sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "fs-walk" = self.by-version."fs-walk"."0.0.1";
-  by-spec."fs.extra".">=1.2.0 <2.0.0" =
-    self.by-version."fs.extra"."1.2.1";
-  by-version."fs.extra"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fs.extra-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.2.1.tgz";
-        name = "fs.extra-1.2.1.tgz";
-        sha1 = "060bf20264f35e39ad247e5e9d2121a2a75a1733";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fs.extra" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."fs-extra"."0.6.4"
-      self.by-version."walk"."2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fs.extra" ];
-  };
-  by-spec."fsevents"."pipobscure/fsevents#7dcdf9fa3f8956610fd6f69f72c67bace2de7138" =
-    self.by-version."fsevents"."0.2.1";
-  by-version."fsevents"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fsevents-0.2.1";
-    src = [
-      (fetchgit {
-        url = "git://github.com/pipobscure/fsevents.git";
-        rev = "7dcdf9fa3f8956610fd6f69f72c67bace2de7138";
-        sha256 = "cc89ed7e31ee7e387326c4f9a3668306bdb98ff9cbaff9d7f29e258e56584bfb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fsevents" or []);
-    deps = [
-      self.by-version."nan"."0.8.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fsevents" ];
-  };
-  by-spec."fstream"."0" =
-    self.by-version."fstream"."0.1.31";
-  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-0.1.31";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        name = "fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."rimraf"."2.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
+  by-spec."fs-write-stream-atomic"."~1.0.2" =
+    self.by-version."fs-write-stream-atomic"."1.0.2";
+  by-version."fs-write-stream-atomic"."1.0.2" = self.buildNodePackage {
+    name = "fs-write-stream-atomic-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.2.tgz";
+      name = "fs-write-stream-atomic-1.0.2.tgz";
+      sha1 = "fe0c6cec75256072b2fef8180d97e309fe3f5efb";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
+  by-spec."fs.extra".">=1.2.0 <2.0.0" =
+    self.by-version."fs.extra"."1.3.2";
+  by-version."fs.extra"."1.3.2" = self.buildNodePackage {
+    name = "fs.extra-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz";
+      name = "fs.extra-1.3.2.tgz";
+      sha1 = "dd023f93013bee24531f1b33514c37b20fd93349";
+    };
+    deps = {
+      "fs-extra-0.6.4" = self.by-version."fs-extra"."0.6.4";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "walk-2.3.9" = self.by-version."walk"."2.3.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fs.extra".">=1.2.1 <2" =
+    self.by-version."fs.extra"."1.3.2";
+  by-spec."fs.notify"."0.0.4" =
+    self.by-version."fs.notify"."0.0.4";
+  by-version."fs.notify"."0.0.4" = self.buildNodePackage {
+    name = "fs.notify-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fs.notify/-/fs.notify-0.0.4.tgz";
+      name = "fs.notify-0.0.4.tgz";
+      sha1 = "63284d45a34b52ce60088a6ddbec5b776d3c013d";
+    };
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fsevents"."^0.3.1" =
+    self.by-version."fsevents"."0.3.5";
+  by-version."fsevents"."0.3.5" = self.buildNodePackage {
+    name = "fsevents-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fsevents/-/fsevents-0.3.5.tgz";
+      name = "fsevents-0.3.5.tgz";
+      sha1 = "d0938147614066c0e1297647b3b8ab5a4baf4688";
+    };
+    deps = {
+      "nan-1.5.3" = self.by-version."nan"."1.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ "darwin" ];
+    cpu = [ ];
+  };
+  by-spec."fsevents"."~0.3.1" =
+    self.by-version."fsevents"."0.3.5";
   by-spec."fstream"."^1.0.0" =
-    self.by-version."fstream"."1.0.2";
-  by-version."fstream"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-1.0.2.tgz";
-        name = "fstream-1.0.2.tgz";
-        sha1 = "56930ff1b4d4d7b1a689c8656b3a11e744ab92c6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."rimraf"."2.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
+    self.by-version."fstream"."1.0.4";
+  by-version."fstream"."1.0.4" = self.buildNodePackage {
+    name = "fstream-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream/-/fstream-1.0.4.tgz";
+      name = "fstream-1.0.4.tgz";
+      sha1 = "6c52298473fd6351fd22fc4bf9254fcfebe80f2b";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."fstream"."^1.0.2" =
-    self.by-version."fstream"."1.0.2";
-  by-spec."fstream"."~0.1.28" =
+    self.by-version."fstream"."1.0.4";
+  by-spec."fstream"."~0.1.17" =
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = self.buildNodePackage {
+    name = "fstream-0.1.31";
+    version = "0.1.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+      name = "fstream-0.1.31.tgz";
+      sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fstream"."~0.1.22" =
     self.by-version."fstream"."0.1.31";
-  by-spec."fstream"."~0.1.29" =
+  by-spec."fstream"."~0.1.28" =
     self.by-version."fstream"."0.1.31";
   by-spec."fstream"."~0.1.8" =
     self.by-version."fstream"."0.1.31";
+  by-spec."fstream"."~1.0.2" =
+    self.by-version."fstream"."1.0.4";
+  by-spec."fstream"."~1.0.4" =
+    self.by-version."fstream"."1.0.4";
+  by-spec."fstream-ignore"."0.0.7" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-version."fstream-ignore"."0.0.7" = self.buildNodePackage {
+    name = "fstream-ignore-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
+      name = "fstream-ignore-0.0.7.tgz";
+      sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
+    };
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."fstream-ignore"."^1.0.0" =
-    self.by-version."fstream-ignore"."1.0.1";
-  by-version."fstream-ignore"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-ignore-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.1.tgz";
-        name = "fstream-ignore-1.0.1.tgz";
-        sha1 = "153df36c4fa2cb006fb915dc71ac9d75f6a17c82";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream-ignore" or []);
-    deps = [
-      self.by-version."fstream"."1.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream-ignore" ];
-  };
-  by-spec."fstream-npm"."~0.1.7" =
-    self.by-version."fstream-npm"."0.1.8";
-  by-version."fstream-npm"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-fstream-npm-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.8.tgz";
-        name = "fstream-npm-0.1.8.tgz";
-        sha1 = "38a70fdeb510a443e1a5378d90413403fc724fa8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream-npm" or []);
-    deps = [
-      self.by-version."fstream-ignore"."1.0.1"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream-npm" ];
+    self.by-version."fstream-ignore"."1.0.2";
+  by-version."fstream-ignore"."1.0.2" = self.buildNodePackage {
+    name = "fstream-ignore-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz";
+      name = "fstream-ignore-1.0.2.tgz";
+      sha1 = "18c891db01b782a74a7bff936a0f24997741c7ab";
+    };
+    deps = {
+      "fstream-1.0.4" = self.by-version."fstream"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fstream-ignore"."~1.0.1" =
+    self.by-version."fstream-ignore"."1.0.2";
+  by-spec."fstream-npm"."~1.0.0" =
+    self.by-version."fstream-npm"."1.0.1";
+  by-version."fstream-npm"."1.0.1" = self.buildNodePackage {
+    name = "fstream-npm-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.1.tgz";
+      name = "fstream-npm-1.0.1.tgz";
+      sha1 = "1e35c77f0fa24f5d6367e6d447ae7d6ddb482db2";
+    };
+    deps = {
+      "fstream-ignore-1.0.2" = self.by-version."fstream-ignore"."1.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fstream-npm"."~1.0.1" =
+    self.by-version."fstream-npm"."1.0.1";
+  by-spec."ftp"."~0.3.5" =
+    self.by-version."ftp"."0.3.8";
+  by-version."ftp"."0.3.8" = self.buildNodePackage {
+    name = "ftp-0.3.8";
+    version = "0.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ftp/-/ftp-0.3.8.tgz";
+      name = "ftp-0.3.8.tgz";
+      sha1 = "d9764f8bb3eeffa3319429b88ecc4b8e75396632";
+    };
+    deps = {
+      "xregexp-2.0.0" = self.by-version."xregexp"."2.0.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gapitoken"."~0.1.2" =
+    self.by-version."gapitoken"."0.1.3";
+  by-version."gapitoken"."0.1.3" = self.buildNodePackage {
+    name = "gapitoken-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gapitoken/-/gapitoken-0.1.3.tgz";
+      name = "gapitoken-0.1.3.tgz";
+      sha1 = "b873f1172603d043f930a71a0a4846330f385b41";
+    };
+    deps = {
+      "jws-0.0.2" = self.by-version."jws"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gauge"."~1.1.0" =
+    self.by-version."gauge"."1.1.0";
+  by-version."gauge"."1.1.0" = self.buildNodePackage {
+    name = "gauge-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gauge/-/gauge-1.1.0.tgz";
+      name = "gauge-1.1.0.tgz";
+      sha1 = "4f1c13cb6232469f65de92357b34f8ff53c5ca41";
+    };
+    deps = {
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "has-unicode-1.0.0" = self.by-version."has-unicode"."1.0.0";
+      "lodash.pad-3.0.0" = self.by-version."lodash.pad"."3.0.0";
+      "lodash.padleft-3.0.0" = self.by-version."lodash.padleft"."3.0.0";
+      "lodash.padright-3.0.0" = self.by-version."lodash.padright"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."gaze"."^0.5.1" =
     self.by-version."gaze"."0.5.1";
-  by-version."gaze"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gaze-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz";
-        name = "gaze-0.5.1.tgz";
-        sha1 = "22e731078ef3e49d1c4ab1115ac091192051824c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."gaze" or []);
-    deps = [
-      self.by-version."globule"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "gaze" ];
+  by-version."gaze"."0.5.1" = self.buildNodePackage {
+    name = "gaze-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz";
+      name = "gaze-0.5.1.tgz";
+      sha1 = "22e731078ef3e49d1c4ab1115ac091192051824c";
+    };
+    deps = {
+      "globule-0.1.0" = self.by-version."globule"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gelf-stream"."~0.2.4" =
+    self.by-version."gelf-stream"."0.2.4";
+  by-version."gelf-stream"."0.2.4" = self.buildNodePackage {
+    name = "gelf-stream-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gelf-stream/-/gelf-stream-0.2.4.tgz";
+      name = "gelf-stream-0.2.4.tgz";
+      sha1 = "a418c8c2e39b85b7932a3e8523f6022d6852e013";
+    };
+    deps = {
+      "gelfling-0.2.0" = self.by-version."gelfling"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gelfling"."~0.2.0" =
+    self.by-version."gelfling"."0.2.0";
+  by-version."gelfling"."0.2.0" = self.buildNodePackage {
+    name = "gelfling-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gelfling/-/gelfling-0.2.0.tgz";
+      name = "gelfling-0.2.0.tgz";
+      sha1 = "23a13c366883adae32ecfd252a566be302b88dc3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."get-stdin"."*" =
+    self.by-version."get-stdin"."4.0.1";
+  by-version."get-stdin"."4.0.1" = self.buildNodePackage {
+    name = "get-stdin-4.0.1";
+    version = "4.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
+      name = "get-stdin-4.0.1.tgz";
+      sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."get-stdin"."^4.0.1" =
+    self.by-version."get-stdin"."4.0.1";
+  by-spec."get-uri"."~0.1.0" =
+    self.by-version."get-uri"."0.1.3";
+  by-version."get-uri"."0.1.3" = self.buildNodePackage {
+    name = "get-uri-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/get-uri/-/get-uri-0.1.3.tgz";
+      name = "get-uri-0.1.3.tgz";
+      sha1 = "b1b3f9dfe0da1c0909097b1ca1ce4d4b72a8d1ab";
+    };
+    deps = {
+      "data-uri-to-buffer-0.0.3" = self.by-version."data-uri-to-buffer"."0.0.3";
+      "ftp-0.3.8" = self.by-version."ftp"."0.3.8";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "file-uri-to-path-0.0.2" = self.by-version."file-uri-to-path"."0.0.2";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."get-youtube-id"."^0.1.3" =
+    self.by-version."get-youtube-id"."0.1.3";
+  by-version."get-youtube-id"."0.1.3" = self.buildNodePackage {
+    name = "get-youtube-id-0.1.3";
+    version = "0.1.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/get-youtube-id/-/get-youtube-id-0.1.3.tgz";
+      name = "get-youtube-id-0.1.3.tgz";
+      sha1 = "eb76a0534cb7e9d1fcce5d4b61a0820d32d6855d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."getmac"."~1.0.6" =
     self.by-version."getmac"."1.0.6";
-  by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-version."getmac"."1.0.6" = self.buildNodePackage {
     name = "getmac-1.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
-        name = "getmac-1.0.6.tgz";
-        sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."getmac" or []);
-    deps = [
-      self.by-version."extract-opts"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "getmac" ];
+    version = "1.0.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
+      name = "getmac-1.0.6.tgz";
+      sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522";
+    };
+    deps = {
+      "extract-opts-2.2.0" = self.by-version."extract-opts"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."getobject"."~0.1.0" =
     self.by-version."getobject"."0.1.0";
-  by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-getobject-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
-        name = "getobject-0.1.0.tgz";
-        sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."getobject" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "getobject" ];
-  };
+  by-version."getobject"."0.1.0" = self.buildNodePackage {
+    name = "getobject-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
+      name = "getobject-0.1.0.tgz";
+      sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."git-run"."*" =
+    self.by-version."git-run"."0.3.1";
+  by-version."git-run"."0.3.1" = self.buildNodePackage {
+    name = "git-run-0.3.1";
+    version = "0.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/git-run/-/git-run-0.3.1.tgz";
+      name = "git-run-0.3.1.tgz";
+      sha1 = "34a59d4a90c1501d491ea87d478d26c877808415";
+    };
+    deps = {
+      "minilog-2.0.6" = self.by-version."minilog"."2.0.6";
+      "tabtab-0.0.2" = self.by-version."tabtab"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "git-run" = self.by-version."git-run"."0.3.1";
   by-spec."github-url-from-git"."^1.3.0" =
-    self.by-version."github-url-from-git"."1.3.0";
-  by-version."github-url-from-git"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.3.0.tgz";
-        name = "github-url-from-git-1.3.0.tgz";
-        sha1 = "6e79d9779632ca78aa645c67bb419f70e51d69f7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "github-url-from-git" ];
-  };
-  by-spec."github-url-from-git"."~1.1.1" =
-    self.by-version."github-url-from-git"."1.1.1";
-  by-version."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        name = "github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "github-url-from-git" ];
-  };
-  by-spec."github-url-from-git"."~1.2.0" =
-    self.by-version."github-url-from-git"."1.2.0";
-  by-version."github-url-from-git"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-git-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.2.0.tgz";
-        name = "github-url-from-git-1.2.0.tgz";
-        sha1 = "7ace1fc6920f790d2967faed61688902320c37d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."github-url-from-git" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "github-url-from-git" ];
-  };
-  by-spec."github-url-from-username-repo"."^0.2.0" =
-    self.by-version."github-url-from-username-repo"."0.2.0";
-  by-version."github-url-from-username-repo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-github-url-from-username-repo-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.2.0.tgz";
-        name = "github-url-from-username-repo-0.2.0.tgz";
-        sha1 = "7590b4fa605b7a6cbb7e06ffcd9d253210f9dbe1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."github-url-from-username-repo" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "github-url-from-username-repo" ];
-  };
-  by-spec."github-url-from-username-repo"."~0.2.0" =
-    self.by-version."github-url-from-username-repo"."0.2.0";
-  by-spec."glob"."3" =
-    self.by-version."glob"."3.2.11";
-  by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
-        name = "glob-3.2.11.tgz";
-        sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
+    self.by-version."github-url-from-git"."1.4.0";
+  by-version."github-url-from-git"."1.4.0" = self.buildNodePackage {
+    name = "github-url-from-git-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz";
+      name = "github-url-from-git-1.4.0.tgz";
+      sha1 = "285e6b520819001bde128674704379e4ff03e0de";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."github-url-from-git"."~1.4.0" =
+    self.by-version."github-url-from-git"."1.4.0";
+  by-spec."github-url-from-username-repo"."^1.0.0" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
+  by-version."github-url-from-username-repo"."1.0.2" = self.buildNodePackage {
+    name = "github-url-from-username-repo-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz";
+      name = "github-url-from-username-repo-1.0.2.tgz";
+      sha1 = "7dd79330d2abe69c10c2cef79714c97215791dfa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."github-url-from-username-repo"."~1.0.0" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
+  by-spec."github-url-from-username-repo"."~1.0.2" =
+    self.by-version."github-url-from-username-repo"."1.0.2";
   by-spec."glob"."3 || 4" =
-    self.by-version."glob"."4.0.5";
-  by-version."glob"."4.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-4.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-4.0.5.tgz";
-        name = "glob-4.0.5.tgz";
-        sha1 = "95e42c9efdb3ab1f4788fd7793dfded4a3378063";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."once"."1.3.0"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
+    self.by-version."glob"."4.4.0";
+  by-version."glob"."4.4.0" = self.buildNodePackage {
+    name = "glob-4.4.0";
+    version = "4.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-4.4.0.tgz";
+      name = "glob-4.4.0.tgz";
+      sha1 = "91d63dc1ed1d82b52ba2cb76044852ccafc2130f";
+    };
+    deps = {
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."glob"."3.2.3" =
     self.by-version."glob"."3.2.3";
-  by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
-        name = "glob-3.2.3.tgz";
-        sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
+  by-version."glob"."3.2.3" = self.buildNodePackage {
+    name = "glob-3.2.3";
+    version = "3.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
+      name = "glob-3.2.3.tgz";
+      sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
+    };
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."glob"."3.2.x" =
     self.by-version."glob"."3.2.11";
+  by-version."glob"."3.2.11" = self.buildNodePackage {
+    name = "glob-3.2.11";
+    version = "3.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+      name = "glob-3.2.11.tgz";
+      sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."glob"."3.x" =
     self.by-version."glob"."3.2.11";
+  by-spec."glob"."4.0.6" =
+    self.by-version."glob"."4.0.6";
+  by-version."glob"."4.0.6" = self.buildNodePackage {
+    name = "glob-4.0.6";
+    version = "4.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-4.0.6.tgz";
+      name = "glob-4.0.6.tgz";
+      sha1 = "695c50bdd4e2fb5c5d370b091f388d3707e291a7";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."glob"."4.x" =
-    self.by-version."glob"."4.0.5";
-  by-spec."glob"."^4.0.0" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.4.0";
+  by-spec."glob".">=3.2.7 <4" =
+    self.by-version."glob"."3.2.11";
   by-spec."glob"."^4.0.2" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.4.0";
   by-spec."glob"."^4.0.5" =
-    self.by-version."glob"."4.0.5";
+    self.by-version."glob"."4.4.0";
+  by-spec."glob"."^4.3.1" =
+    self.by-version."glob"."4.4.0";
+  by-spec."glob"."^4.3.5" =
+    self.by-version."glob"."4.4.0";
   by-spec."glob"."~ 3.2.1" =
     self.by-version."glob"."3.2.11";
   by-spec."glob"."~3.1.21" =
     self.by-version."glob"."3.1.21";
-  by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-3.1.21";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
-        name = "glob-3.1.21.tgz";
-        sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = [
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."graceful-fs"."1.2.3"
-      self.by-version."inherits"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
+  by-version."glob"."3.1.21" = self.buildNodePackage {
+    name = "glob-3.1.21";
+    version = "3.1.21";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
+      name = "glob-3.1.21.tgz";
+      sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
+    };
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."glob"."~3.2.1" =
-    self.by-version."glob"."3.2.11";
   by-spec."glob"."~3.2.6" =
     self.by-version."glob"."3.2.11";
   by-spec."glob"."~3.2.7" =
     self.by-version."glob"."3.2.11";
   by-spec."glob"."~3.2.9" =
     self.by-version."glob"."3.2.11";
-  by-spec."glob"."~4.0.3" =
-    self.by-version."glob"."4.0.5";
+  by-spec."glob"."~4.0.2" =
+    self.by-version."glob"."4.0.6";
+  by-spec."glob"."~4.0.5" =
+    self.by-version."glob"."4.0.6";
+  by-spec."glob"."~4.0.6" =
+    self.by-version."glob"."4.0.6";
+  by-spec."glob"."~4.2.1" =
+    self.by-version."glob"."4.2.2";
+  by-version."glob"."4.2.2" = self.buildNodePackage {
+    name = "glob-4.2.2";
+    version = "4.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-4.2.2.tgz";
+      name = "glob-4.2.2.tgz";
+      sha1 = "ad2b047653a58c387e15deb43a19497f83fd2a80";
+    };
+    deps = {
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."~4.3.0" =
+    self.by-version."glob"."4.3.5";
+  by-version."glob"."4.3.5" = self.buildNodePackage {
+    name = "glob-4.3.5";
+    version = "4.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-4.3.5.tgz";
+      name = "glob-4.3.5.tgz";
+      sha1 = "80fbb08ca540f238acce5d11d1e9bc41e75173d3";
+    };
+    deps = {
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."~4.4.0" =
+    self.by-version."glob"."4.4.0";
+  by-spec."glob-parent"."^1.0.0" =
+    self.by-version."glob-parent"."1.0.0";
+  by-version."glob-parent"."1.0.0" = self.buildNodePackage {
+    name = "glob-parent-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob-parent/-/glob-parent-1.0.0.tgz";
+      name = "glob-parent-1.0.0.tgz";
+      sha1 = "3344e0e0534fbdd478a7c1f1480f2d8851650a21";
+    };
+    deps = {
+      "is-glob-0.3.0" = self.by-version."is-glob"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."glob-stream"."^3.1.5" =
-    self.by-version."glob-stream"."3.1.15";
-  by-version."glob-stream"."3.1.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-stream-3.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob-stream/-/glob-stream-3.1.15.tgz";
-        name = "glob-stream-3.1.15.tgz";
-        sha1 = "084bdbe9d8203fbb48bcf05c382dbb7e6666f8f5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob-stream" or []);
-    deps = [
-      self.by-version."glob"."4.0.5"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."ordered-read-streams"."0.0.8"
-      self.by-version."glob2base"."0.0.11"
-      self.by-version."unique-stream"."1.0.0"
-      self.by-version."through2"."0.6.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob-stream" ];
+    self.by-version."glob-stream"."3.1.18";
+  by-version."glob-stream"."3.1.18" = self.buildNodePackage {
+    name = "glob-stream-3.1.18";
+    version = "3.1.18";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz";
+      name = "glob-stream-3.1.18.tgz";
+      sha1 = "9170a5f12b790306fdfe598f313f8f7954fd143b";
+    };
+    deps = {
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+      "ordered-read-streams-0.1.0" = self.by-version."ordered-read-streams"."0.1.0";
+      "glob2base-0.0.12" = self.by-version."glob2base"."0.0.12";
+      "unique-stream-1.0.0" = self.by-version."unique-stream"."1.0.0";
+      "through2-0.6.3" = self.by-version."through2"."0.6.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."glob-watcher"."^0.0.6" =
     self.by-version."glob-watcher"."0.0.6";
-  by-version."glob-watcher"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob-watcher-0.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz";
-        name = "glob-watcher-0.0.6.tgz";
-        sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob-watcher" or []);
-    deps = [
-      self.by-version."gaze"."0.5.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob-watcher" ];
-  };
-  by-spec."glob2base"."^0.0.11" =
-    self.by-version."glob2base"."0.0.11";
-  by-version."glob2base"."0.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-glob2base-0.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob2base/-/glob2base-0.0.11.tgz";
-        name = "glob2base-0.0.11.tgz";
-        sha1 = "e56904ae5292c2d9cefbc5b97f419614fb56b660";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob2base" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob2base" ];
+  by-version."glob-watcher"."0.0.6" = self.buildNodePackage {
+    name = "glob-watcher-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz";
+      name = "glob-watcher-0.0.6.tgz";
+      sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b";
+    };
+    deps = {
+      "gaze-0.5.1" = self.by-version."gaze"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob2base"."^0.0.12" =
+    self.by-version."glob2base"."0.0.12";
+  by-version."glob2base"."0.0.12" = self.buildNodePackage {
+    name = "glob2base-0.0.12";
+    version = "0.0.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz";
+      name = "glob2base-0.0.12.tgz";
+      sha1 = "9d419b3e28f12e83a362164a277055922c9c0d56";
+    };
+    deps = {
+      "find-index-0.1.1" = self.by-version."find-index"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."global"."https://github.com/component/global/archive/v2.0.1.tar.gz" =
+    self.by-version."global"."2.0.1";
+  by-version."global"."2.0.1" = self.buildNodePackage {
+    name = "global-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/component/global/archive/v2.0.1.tar.gz";
+      name = "global-2.0.1.tgz";
+      sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."globule"."~0.1.0" =
     self.by-version."globule"."0.1.0";
-  by-version."globule"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-globule-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
-        name = "globule-0.1.0.tgz";
-        sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."globule" or []);
-    deps = [
-      self.by-version."lodash"."1.0.1"
-      self.by-version."glob"."3.1.21"
-      self.by-version."minimatch"."0.2.14"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "globule" ];
+  by-version."globule"."0.1.0" = self.buildNodePackage {
+    name = "globule-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
+      name = "globule-0.1.0.tgz";
+      sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
+    };
+    deps = {
+      "lodash-1.0.1" = self.by-version."lodash"."1.0.1";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."googleapis"."0.8.0" =
+    self.by-version."googleapis"."0.8.0";
+  by-version."googleapis"."0.8.0" = self.buildNodePackage {
+    name = "googleapis-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/googleapis/-/googleapis-0.8.0.tgz";
+      name = "googleapis-0.8.0.tgz";
+      sha1 = "b7bdf177ee839f1bab5cf5e65cb4d0d74f27a86b";
+    };
+    deps = {
+      "request-2.34.0" = self.by-version."request"."2.34.0";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "gapitoken-0.1.3" = self.by-version."gapitoken"."0.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."googleapis"."^1.0.20" =
+    self.by-version."googleapis"."1.1.3";
+  by-version."googleapis"."1.1.3" = self.buildNodePackage {
+    name = "googleapis-1.1.3";
+    version = "1.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/googleapis/-/googleapis-1.1.3.tgz";
+      name = "googleapis-1.1.3.tgz";
+      sha1 = "ebfd0c2b3ff89a9445b29ccaeb792b867fab4b50";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "gapitoken-0.1.3" = self.by-version."gapitoken"."0.1.3";
+      "request-2.51.0" = self.by-version."request"."2.51.0";
+      "string-template-0.2.0" = self.by-version."string-template"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."got"."^0.3.0" =
+    self.by-version."got"."0.3.0";
+  by-version."got"."0.3.0" = self.buildNodePackage {
+    name = "got-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/got/-/got-0.3.0.tgz";
+      name = "got-0.3.0.tgz";
+      sha1 = "888ec66ca4bc735ab089dbe959496d0f79485493";
+    };
+    deps = {
+      "object-assign-0.3.1" = self.by-version."object-assign"."0.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."got"."^1.2.2" =
+    self.by-version."got"."1.2.2";
+  by-version."got"."1.2.2" = self.buildNodePackage {
+    name = "got-1.2.2";
+    version = "1.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/got/-/got-1.2.2.tgz";
+      name = "got-1.2.2.tgz";
+      sha1 = "d9430ba32f6a30218243884418767340aafc0400";
+    };
+    deps = {
+      "object-assign-1.0.0" = self.by-version."object-assign"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."got"."^2.4.0" =
+    self.by-version."got"."2.4.0";
+  by-version."got"."2.4.0" = self.buildNodePackage {
+    name = "got-2.4.0";
+    version = "2.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/got/-/got-2.4.0.tgz";
+      name = "got-2.4.0.tgz";
+      sha1 = "e4087a2cd59b5d20f2d169dc85d2169ed9e89f56";
+    };
+    deps = {
+      "duplexify-3.2.0" = self.by-version."duplexify"."3.2.0";
+      "infinity-agent-1.0.2" = self.by-version."infinity-agent"."1.0.2";
+      "is-stream-1.0.1" = self.by-version."is-stream"."1.0.1";
+      "lowercase-keys-1.0.0" = self.by-version."lowercase-keys"."1.0.0";
+      "object-assign-2.0.0" = self.by-version."object-assign"."2.0.0";
+      "prepend-http-1.0.1" = self.by-version."prepend-http"."1.0.1";
+      "read-all-stream-1.0.2" = self.by-version."read-all-stream"."1.0.2";
+      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
+      "timed-out-2.0.0" = self.by-version."timed-out"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."graceful-fs"."1.2" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = self.buildNodePackage {
+    name = "graceful-fs-1.2.3";
+    version = "1.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+      name = "graceful-fs-1.2.3.tgz";
+      sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."graceful-fs"."2" =
     self.by-version."graceful-fs"."2.0.3";
-  by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-2.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
-        name = "graceful-fs-2.0.3.tgz";
-        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
+  by-version."graceful-fs"."2.0.3" = self.buildNodePackage {
+    name = "graceful-fs-2.0.3";
+    version = "2.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
+      name = "graceful-fs-2.0.3.tgz";
+      sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."graceful-fs"."2 || 3" =
-    self.by-version."graceful-fs"."3.0.2";
-  by-version."graceful-fs"."3.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-3.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz";
-        name = "graceful-fs-3.0.2.tgz";
-        sha1 = "2cb5bf7f742bea8ad47c754caeee032b7e71a577";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
+    self.by-version."graceful-fs"."3.0.5";
+  by-version."graceful-fs"."3.0.5" = self.buildNodePackage {
+    name = "graceful-fs-3.0.5";
+    version = "3.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz";
+      name = "graceful-fs-3.0.5.tgz";
+      sha1 = "4a880474bdeb716fe3278cf29792dec38dfac418";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."graceful-fs"."3" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.5";
+  by-spec."graceful-fs".">3.0.1 <4.0.0-0" =
+    self.by-version."graceful-fs"."3.0.5";
   by-spec."graceful-fs"."^3.0.0" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.5";
+  by-spec."graceful-fs"."^3.0.1" =
+    self.by-version."graceful-fs"."3.0.5";
   by-spec."graceful-fs"."^3.0.2" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.5";
+  by-spec."graceful-fs"."^3.0.4" =
+    self.by-version."graceful-fs"."3.0.5";
+  by-spec."graceful-fs"."^3.0.5" =
+    self.by-version."graceful-fs"."3.0.5";
   by-spec."graceful-fs"."~1" =
     self.by-version."graceful-fs"."1.2.3";
-  by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        name = "graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
   by-spec."graceful-fs"."~1.2.0" =
     self.by-version."graceful-fs"."1.2.3";
   by-spec."graceful-fs"."~2.0.0" =
     self.by-version."graceful-fs"."2.0.3";
   by-spec."graceful-fs"."~2.0.1" =
     self.by-version."graceful-fs"."2.0.3";
-  by-spec."graceful-fs"."~2.0.3" =
-    self.by-version."graceful-fs"."2.0.3";
   by-spec."graceful-fs"."~3.0.0" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.5";
   by-spec."graceful-fs"."~3.0.1" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.5";
   by-spec."graceful-fs"."~3.0.2" =
-    self.by-version."graceful-fs"."3.0.2";
+    self.by-version."graceful-fs"."3.0.5";
+  by-spec."graceful-fs"."~3.0.4" =
+    self.by-version."graceful-fs"."3.0.5";
+  by-spec."graceful-fs"."~3.0.5" =
+    self.by-version."graceful-fs"."3.0.5";
   by-spec."gridfs-stream"."*" =
-    self.by-version."gridfs-stream"."0.5.1";
-  by-version."gridfs-stream"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gridfs-stream-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.5.1.tgz";
-        name = "gridfs-stream-0.5.1.tgz";
-        sha1 = "5fd94b0da4df1a602f7b0a02fb2365460d91b90c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."gridfs-stream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "gridfs-stream" ];
-  };
-  "gridfs-stream" = self.by-version."gridfs-stream"."0.5.1";
+    self.by-version."gridfs-stream"."1.0.1";
+  by-version."gridfs-stream"."1.0.1" = self.buildNodePackage {
+    name = "gridfs-stream-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-1.0.1.tgz";
+      name = "gridfs-stream-1.0.1.tgz";
+      sha1 = "72cd5a8c167adfdefd053807d024758e5a86c0fd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "gridfs-stream" = self.by-version."gridfs-stream"."1.0.1";
   by-spec."growl"."1.7.x" =
     self.by-version."growl"."1.7.0";
-  by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-growl-1.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
-        name = "growl-1.7.0.tgz";
-        sha1 = "de2d66136d002e112ba70f3f10c31cf7c350b2da";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."growl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "growl" ];
-  };
-  by-spec."growl"."1.8.x" =
+  by-version."growl"."1.7.0" = self.buildNodePackage {
+    name = "growl-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
+      name = "growl-1.7.0.tgz";
+      sha1 = "de2d66136d002e112ba70f3f10c31cf7c350b2da";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."growl"."1.8.1" =
     self.by-version."growl"."1.8.1";
-  by-version."growl"."1.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-growl-1.8.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
-        name = "growl-1.8.1.tgz";
-        sha1 = "4b2dec8d907e93db336624dcec0183502f8c9428";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."growl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "growl" ];
+  by-version."growl"."1.8.1" = self.buildNodePackage {
+    name = "growl-1.8.1";
+    version = "1.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
+      name = "growl-1.8.1.tgz";
+      sha1 = "4b2dec8d907e93db336624dcec0183502f8c9428";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."grunt"."0.4.x" =
     self.by-version."grunt"."0.4.5";
-  by-version."grunt"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-0.4.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
-        name = "grunt-0.4.5.tgz";
-        sha1 = "56937cd5194324adff6d207631832a9d6ba4e7f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."coffee-script"."1.3.3"
-      self.by-version."colors"."0.6.2"
-      self.by-version."dateformat"."1.0.2-1.2.3"
-      self.by-version."eventemitter2"."0.4.14"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."glob"."3.1.21"
-      self.by-version."hooker"."0.2.3"
-      self.by-version."iconv-lite"."0.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."nopt"."1.0.10"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."lodash"."0.9.2"
-      self.by-version."underscore.string"."2.2.1"
-      self.by-version."which"."1.0.5"
-      self.by-version."js-yaml"."2.0.5"
-      self.by-version."exit"."0.1.2"
-      self.by-version."getobject"."0.1.0"
-      self.by-version."grunt-legacy-util"."0.2.0"
-      self.by-version."grunt-legacy-log"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt" ];
-  };
+  by-version."grunt"."0.4.5" = self.buildNodePackage {
+    name = "grunt-0.4.5";
+    version = "0.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
+      name = "grunt-0.4.5.tgz";
+      sha1 = "56937cd5194324adff6d207631832a9d6ba4e7f0";
+    };
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "coffee-script-1.3.3" = self.by-version."coffee-script"."1.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "iconv-lite-0.2.11" = self.by-version."iconv-lite"."0.2.11";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+      "js-yaml-2.0.5" = self.by-version."js-yaml"."2.0.5";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "grunt-legacy-util-0.2.0" = self.by-version."grunt-legacy-util"."0.2.0";
+      "grunt-legacy-log-0.1.1" = self.by-version."grunt-legacy-log"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."grunt".">=0.4.0" =
+    self.by-version."grunt"."0.4.5";
   by-spec."grunt"."~0.4" =
     self.by-version."grunt"."0.4.5";
   by-spec."grunt"."~0.4.0" =
     self.by-version."grunt"."0.4.5";
-  by-spec."grunt"."~0.4.1" =
+  by-spec."grunt"."~0.4.5" =
     self.by-version."grunt"."0.4.5";
   by-spec."grunt-cli"."*" =
     self.by-version."grunt-cli"."0.1.13";
-  by-version."grunt-cli"."0.1.13" = lib.makeOverridable self.buildNodePackage {
+  by-version."grunt-cli"."0.1.13" = self.buildNodePackage {
     name = "grunt-cli-0.1.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz";
-        name = "grunt-cli-0.1.13.tgz";
-        sha1 = "e9ebc4047631f5012d922770c39378133cad10f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-cli" or []);
-    deps = [
-      self.by-version."nopt"."1.0.10"
-      self.by-version."findup-sync"."0.1.3"
-      self.by-version."resolve"."0.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt-cli" ];
+    version = "0.1.13";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz";
+      name = "grunt-cli-0.1.13.tgz";
+      sha1 = "e9ebc4047631f5012d922770c39378133cad10f4";
+    };
+    deps = {
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "resolve-0.3.1" = self.by-version."resolve"."0.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "grunt-cli" = self.by-version."grunt-cli"."0.1.13";
   by-spec."grunt-contrib-cssmin"."*" =
-    self.by-version."grunt-contrib-cssmin"."0.10.0";
-  by-version."grunt-contrib-cssmin"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-cssmin-0.10.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.10.0.tgz";
-        name = "grunt-contrib-cssmin-0.10.0.tgz";
-        sha1 = "e05f341e753a9674b2b1070220fdcbac22079418";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-cssmin" or []);
-    deps = [
-      self.by-version."chalk"."0.4.0"
-      self.by-version."clean-css"."2.2.13"
-      self.by-version."maxmin"."0.2.2"
-    ];
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"
-    ];
-    passthru.names = [ "grunt-contrib-cssmin" ];
-  };
-  "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.10.0";
+    self.by-version."grunt-contrib-cssmin"."0.12.2";
+  by-version."grunt-contrib-cssmin"."0.12.2" = self.buildNodePackage {
+    name = "grunt-contrib-cssmin-0.12.2";
+    version = "0.12.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.12.2.tgz";
+      name = "grunt-contrib-cssmin-0.12.2.tgz";
+      sha1 = "254957427abdf63cd18f0690d34c0083fb544cff";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "clean-css-3.0.10" = self.by-version."clean-css"."3.0.10";
+      "maxmin-1.0.0" = self.by-version."maxmin"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.12.2";
   by-spec."grunt-contrib-jshint"."*" =
-    self.by-version."grunt-contrib-jshint"."0.10.0";
-  by-version."grunt-contrib-jshint"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-jshint-0.10.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz";
-        name = "grunt-contrib-jshint-0.10.0.tgz";
-        sha1 = "57ebccca87e8f327af6645d8a3c586d4845e4d81";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-jshint" or []);
-    deps = [
-      self.by-version."jshint"."2.5.4"
-      self.by-version."hooker"."0.2.3"
-    ];
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"
-    ];
-    passthru.names = [ "grunt-contrib-jshint" ];
-  };
-  "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.10.0";
+    self.by-version."grunt-contrib-jshint"."0.11.0";
+  by-version."grunt-contrib-jshint"."0.11.0" = self.buildNodePackage {
+    name = "grunt-contrib-jshint-0.11.0";
+    version = "0.11.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.11.0.tgz";
+      name = "grunt-contrib-jshint-0.11.0.tgz";
+      sha1 = "2ba17953d30471c3ba58792a5aa92e447059de45";
+    };
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "jshint-2.6.0" = self.by-version."jshint"."2.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.11.0";
   by-spec."grunt-contrib-less"."*" =
-    self.by-version."grunt-contrib-less"."0.11.4";
-  by-version."grunt-contrib-less"."0.11.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-less-0.11.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.11.4.tgz";
-        name = "grunt-contrib-less-0.11.4.tgz";
-        sha1 = "5667475ac4517f32ca623b9a4d81d6cf4aed2b51";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-less" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."chalk"."0.5.1"
-      self.by-version."less"."1.7.4"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."maxmin"."0.1.0"
-    ];
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"
-    ];
-    passthru.names = [ "grunt-contrib-less" ];
-  };
-  "grunt-contrib-less" = self.by-version."grunt-contrib-less"."0.11.4";
+    self.by-version."grunt-contrib-less"."1.0.0";
+  by-version."grunt-contrib-less"."1.0.0" = self.buildNodePackage {
+    name = "grunt-contrib-less-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.0.0.tgz";
+      name = "grunt-contrib-less-1.0.0.tgz";
+      sha1 = "370e5f18682bf4ea72a622fece416a08bb194523";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "less-2.4.0" = self.by-version."less"."2.4.0";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "grunt-contrib-less" = self.by-version."grunt-contrib-less"."1.0.0";
   by-spec."grunt-contrib-requirejs"."*" =
     self.by-version."grunt-contrib-requirejs"."0.4.4";
-  by-version."grunt-contrib-requirejs"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-requirejs-0.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.4.tgz";
-        name = "grunt-contrib-requirejs-0.4.4.tgz";
-        sha1 = "87f2165a981e48a45d22f8cc5299d0934031b972";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-requirejs" or []);
-    deps = [
-      self.by-version."requirejs"."2.1.14"
-    ];
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"
-    ];
-    passthru.names = [ "grunt-contrib-requirejs" ];
+  by-version."grunt-contrib-requirejs"."0.4.4" = self.buildNodePackage {
+    name = "grunt-contrib-requirejs-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.4.tgz";
+      name = "grunt-contrib-requirejs-0.4.4.tgz";
+      sha1 = "87f2165a981e48a45d22f8cc5299d0934031b972";
+    };
+    deps = {
+      "requirejs-2.1.16" = self.by-version."requirejs"."2.1.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
   };
   "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.4";
   by-spec."grunt-contrib-uglify"."*" =
-    self.by-version."grunt-contrib-uglify"."0.5.1";
-  by-version."grunt-contrib-uglify"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-contrib-uglify-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.1.tgz";
-        name = "grunt-contrib-uglify-0.5.1.tgz";
-        sha1 = "15f0aa5e8e8ba421aea980879ee505bc712b6cde";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-uglify" or []);
-    deps = [
-      self.by-version."chalk"."0.5.1"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."maxmin"."0.2.2"
-      self.by-version."uglify-js"."2.4.15"
-    ];
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"
-    ];
-    passthru.names = [ "grunt-contrib-uglify" ];
-  };
-  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.5.1";
+    self.by-version."grunt-contrib-uglify"."0.8.0";
+  by-version."grunt-contrib-uglify"."0.8.0" = self.buildNodePackage {
+    name = "grunt-contrib-uglify-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.8.0.tgz";
+      name = "grunt-contrib-uglify-0.8.0.tgz";
+      sha1 = "6897a450fab8563c9885e388bd705a5ff2c3937e";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "lodash-3.3.0" = self.by-version."lodash"."3.3.0";
+      "maxmin-1.0.0" = self.by-version."maxmin"."1.0.0";
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+      "uri-path-0.0.2" = self.by-version."uri-path"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.8.0";
   by-spec."grunt-karma"."*" =
-    self.by-version."grunt-karma"."0.8.3";
-  by-version."grunt-karma"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-karma-0.8.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.3.tgz";
-        name = "grunt-karma-0.8.3.tgz";
-        sha1 = "e9ecf718153af1914aa53602a37f85de04310e7f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-karma" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
+    self.by-version."grunt-karma"."0.10.1";
+  by-version."grunt-karma"."0.10.1" = self.buildNodePackage {
+    name = "grunt-karma-0.10.1";
+    version = "0.10.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.10.1.tgz";
+      name = "grunt-karma-0.10.1.tgz";
+      sha1 = "255fae402bb04409cf95c6ac77e8c1968934924b";
+    };
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+    };
+    optionalDependencies = {
+    };
     peerDependencies = [
       self.by-version."grunt"."0.4.5"
-      self.by-version."karma"."0.12.22"
-    ];
-    passthru.names = [ "grunt-karma" ];
+      self.by-version."karma"."0.12.31"];
+    os = [ ];
+    cpu = [ ];
   };
-  "grunt-karma" = self.by-version."grunt-karma"."0.8.3";
+  "grunt-karma" = self.by-version."grunt-karma"."0.10.1";
   by-spec."grunt-legacy-log"."~0.1.0" =
     self.by-version."grunt-legacy-log"."0.1.1";
-  by-version."grunt-legacy-log"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-legacy-log-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz";
-        name = "grunt-legacy-log-0.1.1.tgz";
-        sha1 = "d41f1a6abc9b0b1256a2b5ff02f4c3298dfcd57a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-legacy-log" or []);
-    deps = [
-      self.by-version."hooker"."0.2.3"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."underscore.string"."2.3.3"
-      self.by-version."colors"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt-legacy-log" ];
+  by-version."grunt-legacy-log"."0.1.1" = self.buildNodePackage {
+    name = "grunt-legacy-log-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz";
+      name = "grunt-legacy-log-0.1.1.tgz";
+      sha1 = "d41f1a6abc9b0b1256a2b5ff02f4c3298dfcd57a";
+    };
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."grunt-legacy-util"."~0.2.0" =
     self.by-version."grunt-legacy-util"."0.2.0";
-  by-version."grunt-legacy-util"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-legacy-util-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
-        name = "grunt-legacy-util-0.2.0.tgz";
-        sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-legacy-util" or []);
-    deps = [
-      self.by-version."hooker"."0.2.3"
-      self.by-version."async"."0.1.22"
-      self.by-version."lodash"."0.9.2"
-      self.by-version."exit"."0.1.2"
-      self.by-version."underscore.string"."2.2.1"
-      self.by-version."getobject"."0.1.0"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "grunt-legacy-util" ];
+  by-version."grunt-legacy-util"."0.2.0" = self.buildNodePackage {
+    name = "grunt-legacy-util-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
+      name = "grunt-legacy-util-0.2.0.tgz";
+      sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
+    };
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."grunt-sed"."*" =
     self.by-version."grunt-sed"."0.1.1";
-  by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-grunt-sed-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz";
-        name = "grunt-sed-0.1.1.tgz";
-        sha1 = "2613d486909319b3f8f4bd75dafb46a642ec3f82";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-sed" or []);
-    deps = [
-      self.by-version."replace"."0.2.9"
-    ];
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"
-    ];
-    passthru.names = [ "grunt-sed" ];
+  by-version."grunt-sed"."0.1.1" = self.buildNodePackage {
+    name = "grunt-sed-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz";
+      name = "grunt-sed-0.1.1.tgz";
+      sha1 = "2613d486909319b3f8f4bd75dafb46a642ec3f82";
+    };
+    deps = {
+      "replace-0.2.10" = self.by-version."replace"."0.2.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
   };
   "grunt-sed" = self.by-version."grunt-sed"."0.1.1";
   by-spec."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " =
     self.by-version."guifi-earth"."0.2.1";
-  by-version."guifi-earth"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."guifi-earth"."0.2.1" = self.buildNodePackage {
     name = "guifi-earth-0.2.1";
-    src = [
-      (fetchurl {
-        url = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
-        name = "guifi-earth-0.2.1.tgz";
-        sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."guifi-earth" or []);
-    deps = [
-      self.by-version."coffee-script"."1.7.1"
-      self.by-version."jade"."1.5.0"
-      self.by-version."q"."2.0.2"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."msgpack"."0.2.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "guifi-earth" ];
+    version = "0.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
+      name = "guifi-earth-0.2.1.tgz";
+      sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
+    };
+    deps = {
+      "coffee-script-1.9.1" = self.by-version."coffee-script"."1.9.1";
+      "jade-1.9.2" = self.by-version."jade"."1.9.2";
+      "q-2.0.3" = self.by-version."q"."2.0.3";
+      "xml2js-0.4.5" = self.by-version."xml2js"."0.4.5";
+      "msgpack-0.2.6" = self.by-version."msgpack"."0.2.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
-  by-spec."gzip-size"."^0.1.0" =
-    self.by-version."gzip-size"."0.1.1";
-  by-version."gzip-size"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "gzip-size-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz";
-        name = "gzip-size-0.1.1.tgz";
-        sha1 = "ae33483b6fc8224e8342296de108ef93757f76e0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."gzip-size" or []);
-    deps = [
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."zlib-browserify"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "gzip-size" ];
-  };
-  by-spec."gzip-size"."^0.2.0" =
-    self.by-version."gzip-size"."0.2.0";
-  by-version."gzip-size"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "gzip-size-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.2.0.tgz";
-        name = "gzip-size-0.2.0.tgz";
-        sha1 = "e3a2a191205fe56ee326f5c271435dfaecfb3e1c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."gzip-size" or []);
-    deps = [
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."browserify-zlib"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "gzip-size" ];
+  by-spec."gulp"."*" =
+    self.by-version."gulp"."3.8.11";
+  by-version."gulp"."3.8.11" = self.buildNodePackage {
+    name = "gulp-3.8.11";
+    version = "3.8.11";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gulp/-/gulp-3.8.11.tgz";
+      name = "gulp-3.8.11.tgz";
+      sha1 = "d557e0a7283eb4136491969b0497767972f1d28a";
+    };
+    deps = {
+      "archy-1.0.0" = self.by-version."archy"."1.0.0";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "deprecated-0.0.1" = self.by-version."deprecated"."0.0.1";
+      "gulp-util-3.0.3" = self.by-version."gulp-util"."3.0.3";
+      "interpret-0.3.10" = self.by-version."interpret"."0.3.10";
+      "liftoff-2.0.1" = self.by-version."liftoff"."2.0.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "orchestrator-0.3.7" = self.by-version."orchestrator"."0.3.7";
+      "pretty-hrtime-0.2.2" = self.by-version."pretty-hrtime"."0.2.2";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "tildify-1.0.0" = self.by-version."tildify"."1.0.0";
+      "v8flags-2.0.2" = self.by-version."v8flags"."2.0.2";
+      "vinyl-fs-0.3.13" = self.by-version."vinyl-fs"."0.3.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "gulp" = self.by-version."gulp"."3.8.11";
+  by-spec."gulp-util"."^3.0.0" =
+    self.by-version."gulp-util"."3.0.3";
+  by-version."gulp-util"."3.0.3" = self.buildNodePackage {
+    name = "gulp-util-3.0.3";
+    version = "3.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gulp-util/-/gulp-util-3.0.3.tgz";
+      name = "gulp-util-3.0.3.tgz";
+      sha1 = "3b078d09001a7b5f77bbe2e7402e05d97d78b3e4";
+    };
+    deps = {
+      "array-differ-1.0.0" = self.by-version."array-differ"."1.0.0";
+      "array-uniq-1.0.2" = self.by-version."array-uniq"."1.0.2";
+      "beeper-1.0.0" = self.by-version."beeper"."1.0.0";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "dateformat-1.0.11" = self.by-version."dateformat"."1.0.11";
+      "lodash.reescape-3.0.1" = self.by-version."lodash.reescape"."3.0.1";
+      "lodash.reevaluate-3.0.1" = self.by-version."lodash.reevaluate"."3.0.1";
+      "lodash.reinterpolate-3.0.1" = self.by-version."lodash.reinterpolate"."3.0.1";
+      "lodash.template-3.3.0" = self.by-version."lodash.template"."3.3.0";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "multipipe-0.1.2" = self.by-version."multipipe"."0.1.2";
+      "object-assign-2.0.0" = self.by-version."object-assign"."2.0.0";
+      "replace-ext-0.0.1" = self.by-version."replace-ext"."0.0.1";
+      "through2-0.6.3" = self.by-version."through2"."0.6.3";
+      "vinyl-0.4.6" = self.by-version."vinyl"."0.4.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gzip-size"."^1.0.0" =
+    self.by-version."gzip-size"."1.0.0";
+  by-version."gzip-size"."1.0.0" = self.buildNodePackage {
+    name = "gzip-size-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz";
+      name = "gzip-size-1.0.0.tgz";
+      sha1 = "66cf8b101047227b95bace6ea1da0c177ed5c22f";
+    };
+    deps = {
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."gzippo"."*" =
     self.by-version."gzippo"."0.2.0";
-  by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gzippo-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
-        name = "gzippo-0.2.0.tgz";
-        sha1 = "ffc594c482190c56531ed2d4a5864d0b0b7d2733";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."gzippo" or []);
-    deps = [
-      self.by-version."send"."0.8.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "gzippo" ];
+  by-version."gzippo"."0.2.0" = self.buildNodePackage {
+    name = "gzippo-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
+      name = "gzippo-0.2.0.tgz";
+      sha1 = "ffc594c482190c56531ed2d4a5864d0b0b7d2733";
+    };
+    deps = {
+      "send-0.12.1" = self.by-version."send"."0.12.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "gzippo" = self.by-version."gzippo"."0.2.0";
   by-spec."handlebars"."1.3.x" =
     self.by-version."handlebars"."1.3.0";
-  by-version."handlebars"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."handlebars"."1.3.0" = self.buildNodePackage {
     name = "handlebars-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz";
-        name = "handlebars-1.3.0.tgz";
-        sha1 = "9e9b130a93e389491322d975cf3ec1818c37ce34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."handlebars" or []);
-    deps = [
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-js"."2.3.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "handlebars" ];
+    version = "1.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz";
+      name = "handlebars-1.3.0.tgz";
+      sha1 = "9e9b130a93e389491322d975cf3ec1818c37ce34";
+    };
+    deps = {
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."handlebars"."~1.3.0" =
+    self.by-version."handlebars"."1.3.0";
+  by-spec."handlebars"."~2.0.0" =
+    self.by-version."handlebars"."2.0.0";
+  by-version."handlebars"."2.0.0" = self.buildNodePackage {
+    name = "handlebars-2.0.0";
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz";
+      name = "handlebars-2.0.0.tgz";
+      sha1 = "6e9d7f8514a3467fa5e9f82cc158ecfc1d5ac76f";
+    };
+    deps = {
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has"."^1.0.0" =
+    self.by-version."has"."1.0.0";
+  by-version."has"."1.0.0" = self.buildNodePackage {
+    name = "has-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has/-/has-1.0.0.tgz";
+      name = "has-1.0.0.tgz";
+      sha1 = "56c6582d23b40f3a5458f68ba79bc6c4bef203b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."has-ansi"."^0.1.0" =
     self.by-version."has-ansi"."0.1.0";
-  by-version."has-ansi"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."has-ansi"."0.1.0" = self.buildNodePackage {
     name = "has-ansi-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
-        name = "has-ansi-0.1.0.tgz";
-        sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."has-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "has-ansi" ];
-  };
-  by-spec."has-color"."~0.1.0" =
-    self.by-version."has-color"."0.1.7";
-  by-version."has-color"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-has-color-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
-        name = "has-color-0.1.7.tgz";
-        sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."has-color" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "has-color" ];
+    version = "0.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
+      name = "has-ansi-0.1.0.tgz";
+      sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
+    };
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-binary-data"."0.1.1" =
+    self.by-version."has-binary-data"."0.1.1";
+  by-version."has-binary-data"."0.1.1" = self.buildNodePackage {
+    name = "has-binary-data-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.1.tgz";
+      name = "has-binary-data-0.1.1.tgz";
+      sha1 = "e10749fb87828a52df96f4086587eb4a03966439";
+    };
+    deps = {
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-cors"."1.0.3" =
+    self.by-version."has-cors"."1.0.3";
+  by-version."has-cors"."1.0.3" = self.buildNodePackage {
+    name = "has-cors-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-cors/-/has-cors-1.0.3.tgz";
+      name = "has-cors-1.0.3.tgz";
+      sha1 = "502acb9b3104dac33dd2630eaf2f888b0baf4cb3";
+    };
+    deps = {
+      "global-2.0.1" = self.by-version."global"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-unicode"."^1.0.0" =
+    self.by-version."has-unicode"."1.0.0";
+  by-version."has-unicode"."1.0.0" = self.buildNodePackage {
+    name = "has-unicode-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz";
+      name = "has-unicode-1.0.0.tgz";
+      sha1 = "bac5c44e064c2ffc3b8fcbd8c71afe08f9afc8cc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hash.js"."^1.0.0" =
+    self.by-version."hash.js"."1.0.2";
+  by-version."hash.js"."1.0.2" = self.buildNodePackage {
+    name = "hash.js-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hash.js/-/hash.js-1.0.2.tgz";
+      name = "hash.js-1.0.2.tgz";
+      sha1 = "bc7d601f4e0d05a32f3526d11fe39f7a5eb8c187";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hasher"."~1.2.0" =
     self.by-version."hasher"."1.2.0";
-  by-version."hasher"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hasher-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz";
-        name = "hasher-1.2.0.tgz";
-        sha1 = "8b5341c3496124b0724ac8555fbb8ca363ebbb73";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hasher" or []);
-    deps = [
-      self.by-version."signals"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hasher" ];
-  };
+  by-version."hasher"."1.2.0" = self.buildNodePackage {
+    name = "hasher-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz";
+      name = "hasher-1.2.0.tgz";
+      sha1 = "8b5341c3496124b0724ac8555fbb8ca363ebbb73";
+    };
+    deps = {
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hashish"."*" =
+    self.by-version."hashish"."0.0.4";
+  by-version."hashish"."0.0.4" = self.buildNodePackage {
+    name = "hashish-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz";
+      name = "hashish-0.0.4.tgz";
+      sha1 = "6d60bc6ffaf711b6afd60e426d077988014e6554";
+    };
+    deps = {
+      "traverse-0.6.6" = self.by-version."traverse"."0.6.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hashish"."0.0.4" =
+    self.by-version."hashish"."0.0.4";
+  by-spec."hashish"."0.0.x" =
+    self.by-version."hashish"."0.0.4";
   by-spec."hashring"."1.0.1" =
     self.by-version."hashring"."1.0.1";
-  by-version."hashring"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hashring-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hashring/-/hashring-1.0.1.tgz";
-        name = "hashring-1.0.1.tgz";
-        sha1 = "b6a7b8c675a0c715ac0d0071786eb241a28d0a7c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hashring" or []);
-    deps = [
-      self.by-version."connection-parse"."0.0.7"
-      self.by-version."simple-lru-cache"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hashring" ];
+  by-version."hashring"."1.0.1" = self.buildNodePackage {
+    name = "hashring-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hashring/-/hashring-1.0.1.tgz";
+      name = "hashring-1.0.1.tgz";
+      sha1 = "b6a7b8c675a0c715ac0d0071786eb241a28d0a7c";
+    };
+    deps = {
+      "connection-parse-0.0.7" = self.by-version."connection-parse"."0.0.7";
+      "simple-lru-cache-0.0.1" = self.by-version."simple-lru-cache"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hat"."*" =
     self.by-version."hat"."0.0.3";
-  by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hat-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
-        name = "hat-0.0.3.tgz";
-        sha1 = "bb014a9e64b3788aed8005917413d4ff3d502d8a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hat" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hat" ];
-  };
+  by-version."hat"."0.0.3" = self.buildNodePackage {
+    name = "hat-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
+      name = "hat-0.0.3.tgz";
+      sha1 = "bb014a9e64b3788aed8005917413d4ff3d502d8a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hat"."0.0.3" =
+    self.by-version."hat"."0.0.3";
+  by-spec."hat"."^0.0.3" =
+    self.by-version."hat"."0.0.3";
+  by-spec."hat"."~0.0.3" =
+    self.by-version."hat"."0.0.3";
   by-spec."hawk"."1.1.1" =
     self.by-version."hawk"."1.1.1";
-  by-version."hawk"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
-        name = "hawk-1.1.1.tgz";
-        sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-      self.by-version."boom"."0.4.2"
-      self.by-version."cryptiles"."0.2.2"
-      self.by-version."sntp"."0.2.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
+  by-version."hawk"."1.1.1" = self.buildNodePackage {
+    name = "hawk-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
+      name = "hawk-1.1.1.tgz";
+      sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hawk"."~0.10.2" =
     self.by-version."hawk"."0.10.2";
-  by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-0.10.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-        name = "hawk-0.10.2.tgz";
-        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-      self.by-version."boom"."0.3.8"
-      self.by-version."cryptiles"."0.1.3"
-      self.by-version."sntp"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
+  by-version."hawk"."0.10.2" = self.buildNodePackage {
+    name = "hawk-0.10.2";
+    version = "0.10.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
+      name = "hawk-0.10.2.tgz";
+      sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+    };
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+      "boom-0.3.8" = self.by-version."boom"."0.3.8";
+      "cryptiles-0.1.3" = self.by-version."cryptiles"."0.1.3";
+      "sntp-0.1.4" = self.by-version."sntp"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hawk"."~1.0.0" =
     self.by-version."hawk"."1.0.0";
-  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hawk-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        name = "hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-      self.by-version."boom"."0.4.2"
-      self.by-version."cryptiles"."0.2.2"
-      self.by-version."sntp"."0.2.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
+  by-version."hawk"."1.0.0" = self.buildNodePackage {
+    name = "hawk-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+      name = "hawk-1.0.0.tgz";
+      sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hawk"."~2.3.0" =
+    self.by-version."hawk"."2.3.1";
+  by-version."hawk"."2.3.1" = self.buildNodePackage {
+    name = "hawk-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz";
+      name = "hawk-2.3.1.tgz";
+      sha1 = "1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f";
+    };
+    deps = {
+      "hoek-2.11.0" = self.by-version."hoek"."2.11.0";
+      "boom-2.6.1" = self.by-version."boom"."2.6.1";
+      "cryptiles-2.0.4" = self.by-version."cryptiles"."2.0.4";
+      "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hbo-dnsd"."0.9.8" =
+    self.by-version."hbo-dnsd"."0.9.8";
+  by-version."hbo-dnsd"."0.9.8" = self.buildNodePackage {
+    name = "hbo-dnsd-0.9.8";
+    version = "0.9.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hbo-dnsd/-/hbo-dnsd-0.9.8.tgz";
+      name = "hbo-dnsd-0.9.8.tgz";
+      sha1 = "ab964f34cf13b40ea7d412f125d576716c551ef2";
+    };
+    deps = {
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "defaultable-0.7.2" = self.by-version."defaultable"."0.7.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."he"."~0.3.6" =
     self.by-version."he"."0.3.6";
-  by-version."he"."0.3.6" = lib.makeOverridable self.buildNodePackage {
+  by-version."he"."0.3.6" = self.buildNodePackage {
     name = "he-0.3.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/he/-/he-0.3.6.tgz";
-        name = "he-0.3.6.tgz";
-        sha1 = "9d7bc446e77963933301dd602d5731cb861135e0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."he" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "he" ];
+    version = "0.3.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/he/-/he-0.3.6.tgz";
+      name = "he-0.3.6.tgz";
+      sha1 = "9d7bc446e77963933301dd602d5731cb861135e0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."headless"."^0.1.7" =
+    self.by-version."headless"."0.1.7";
+  by-version."headless"."0.1.7" = self.buildNodePackage {
+    name = "headless-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/headless/-/headless-0.1.7.tgz";
+      name = "headless-0.1.7.tgz";
+      sha1 = "6e62fae668947f88184d5c156ede7c5695a7e9c8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."heapdump"."^0.2.9" =
+    self.by-version."heapdump"."0.2.10";
+  by-version."heapdump"."0.2.10" = self.buildNodePackage {
+    name = "heapdump-0.2.10";
+    version = "0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/heapdump/-/heapdump-0.2.10.tgz";
+      name = "heapdump-0.2.10.tgz";
+      sha1 = "e4fc818f5a33f361238e6dfd59c650ba2da74624";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hipache"."*" =
     self.by-version."hipache"."0.3.1";
-  by-version."hipache"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."hipache"."0.3.1" = self.buildNodePackage {
     name = "hipache-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hipache/-/hipache-0.3.1.tgz";
-        name = "hipache-0.3.1.tgz";
-        sha1 = "e21764eafe6429ec8dc9377b55e1ca86799704d5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hipache" or []);
-    deps = [
-      self.by-version."http-proxy"."1.0.2"
-      self.by-version."redis"."0.10.3"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."minimist"."0.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hipache" ];
+    version = "0.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hipache/-/hipache-0.3.1.tgz";
+      name = "hipache-0.3.1.tgz";
+      sha1 = "e21764eafe6429ec8dc9377b55e1ca86799704d5";
+    };
+    deps = {
+      "http-proxy-1.0.2" = self.by-version."http-proxy"."1.0.2";
+      "redis-0.10.3" = self.by-version."redis"."0.10.3";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "hipache" = self.by-version."hipache"."0.3.1";
   by-spec."hiredis"."*" =
-    self.by-version."hiredis"."0.1.17";
-  by-version."hiredis"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hiredis-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.17.tgz";
-        name = "hiredis-0.1.17.tgz";
-        sha1 = "60a33a968efc9a974e7ebb832f33aa965d3d354e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hiredis" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hiredis" ];
+    self.by-version."hiredis"."0.2.0";
+  by-version."hiredis"."0.2.0" = self.buildNodePackage {
+    name = "hiredis-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hiredis/-/hiredis-0.2.0.tgz";
+      name = "hiredis-0.2.0.tgz";
+      sha1 = "34415bd11f8ddb61581ab2da39468515198d14a8";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.5.3" = self.by-version."nan"."1.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hoek"."0.7.x" =
     self.by-version."hoek"."0.7.6";
-  by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hoek-0.7.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
-        name = "hoek-0.7.6.tgz";
-        sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hoek" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hoek" ];
+  by-version."hoek"."0.7.6" = self.buildNodePackage {
+    name = "hoek-0.7.6";
+    version = "0.7.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
+      name = "hoek-0.7.6.tgz";
+      sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hoek"."0.9.x" =
     self.by-version."hoek"."0.9.1";
-  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hoek-0.9.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-        name = "hoek-0.9.1.tgz";
-        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hoek" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hoek" ];
+  by-version."hoek"."0.9.1" = self.buildNodePackage {
+    name = "hoek-0.9.1";
+    version = "0.9.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+      name = "hoek-0.9.1.tgz";
+      sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hoek"."2.x.x" =
+    self.by-version."hoek"."2.11.0";
+  by-version."hoek"."2.11.0" = self.buildNodePackage {
+    name = "hoek-2.11.0";
+    version = "2.11.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-2.11.0.tgz";
+      name = "hoek-2.11.0.tgz";
+      sha1 = "e588ec66a6b405b0e7140308720e1e1cd4f035b7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hooker"."~0.2.3" =
     self.by-version."hooker"."0.2.3";
-  by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hooker-0.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
-        name = "hooker-0.2.3.tgz";
-        sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hooker" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hooker" ];
+  by-version."hooker"."0.2.3" = self.buildNodePackage {
+    name = "hooker-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
+      name = "hooker-0.2.3.tgz";
+      sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."hooks"."0.2.1" =
     self.by-version."hooks"."0.2.1";
-  by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-hooks-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
-        name = "hooks-0.2.1.tgz";
-        sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hooks" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "hooks" ];
-  };
-  by-spec."htmlparser2"."3.7.x" =
+  by-version."hooks"."0.2.1" = self.buildNodePackage {
+    name = "hooks-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
+      name = "hooks-0.2.1.tgz";
+      sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hooks"."0.3.2" =
+    self.by-version."hooks"."0.3.2";
+  by-version."hooks"."0.3.2" = self.buildNodePackage {
+    name = "hooks-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hooks/-/hooks-0.3.2.tgz";
+      name = "hooks-0.3.2.tgz";
+      sha1 = "a31f060c2026cea6cf1ca3eb178430e718e1c4a3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hosted-git-info"."^1.5.3" =
+    self.by-version."hosted-git-info"."1.5.3";
+  by-version."hosted-git-info"."1.5.3" = self.buildNodePackage {
+    name = "hosted-git-info-1.5.3";
+    version = "1.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hosted-git-info/-/hosted-git-info-1.5.3.tgz";
+      name = "hosted-git-info-1.5.3.tgz";
+      sha1 = "1f46e25e9c0e207852fb7a4b94422ed5f09a03f5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."html-md"."^3.0.2" =
+    self.by-version."html-md"."3.0.2";
+  by-version."html-md"."3.0.2" = self.buildNodePackage {
+    name = "html-md-3.0.2";
+    version = "3.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/html-md/-/html-md-3.0.2.tgz";
+      name = "html-md-3.0.2.tgz";
+      sha1 = "becac66f3c7d27aa99409d0a17f1131f16fe510f";
+    };
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "fs-extra-0.7.1" = self.by-version."fs-extra"."0.7.1";
+      "jsdom-0.8.11" = self.by-version."jsdom"."0.8.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."html5"."~1.0.5" =
+    self.by-version."html5"."1.0.5";
+  by-version."html5"."1.0.5" = self.buildNodePackage {
+    name = "html5-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/html5/-/html5-1.0.5.tgz";
+      name = "html5-1.0.5.tgz";
+      sha1 = "c9e6ce4e07a70521904bee1b318a4c48feab5848";
+    };
+    deps = {
+      "opts-1.2.2" = self.by-version."opts"."1.2.2";
+      "html5-entities-1.0.0" = self.by-version."html5-entities"."1.0.0";
+    };
+    optionalDependencies = {
+      "jsdom-0.11.1" = self.by-version."jsdom"."0.11.1";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."html5-entities"."^1.0.0" =
+    self.by-version."html5-entities"."1.0.0";
+  by-version."html5-entities"."1.0.0" = self.buildNodePackage {
+    name = "html5-entities-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/html5-entities/-/html5-entities-1.0.0.tgz";
+      name = "html5-entities-1.0.0.tgz";
+      sha1 = "e568fd84d8efb52c806b16c98b92dad548ebe370";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."html5-entities"."~1.0.0" =
+    self.by-version."html5-entities"."1.0.0";
+  by-spec."htmlparser2"."3.8.x" =
+    self.by-version."htmlparser2"."3.8.2";
+  by-version."htmlparser2"."3.8.2" = self.buildNodePackage {
+    name = "htmlparser2-3.8.2";
+    version = "3.8.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.2.tgz";
+      name = "htmlparser2-3.8.2.tgz";
+      sha1 = "0d6bc3471d01e9766fc2c274cbac1d55b36c009c";
+    };
+    deps = {
+      "domhandler-2.3.0" = self.by-version."domhandler"."2.3.0";
+      "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "entities-1.0.0" = self.by-version."entities"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."htmlparser2".">= 3.1.5 <4" =
+    self.by-version."htmlparser2"."3.8.2";
+  by-spec."htmlparser2".">=3.4.0" =
+    self.by-version."htmlparser2"."3.8.2";
+  by-spec."htmlparser2"."^3.8.2" =
+    self.by-version."htmlparser2"."3.8.2";
+  by-spec."htmlparser2"."~3.7.2" =
     self.by-version."htmlparser2"."3.7.3";
-  by-version."htmlparser2"."3.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-htmlparser2-3.7.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
-        name = "htmlparser2-3.7.3.tgz";
-        sha1 = "6a64c77637c08c6f30ec2a8157a53333be7cb05e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."htmlparser2" or []);
-    deps = [
-      self.by-version."domhandler"."2.2.0"
-      self.by-version."domutils"."1.5.0"
-      self.by-version."domelementtype"."1.1.1"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."entities"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "htmlparser2" ];
-  };
+  by-version."htmlparser2"."3.7.3" = self.buildNodePackage {
+    name = "htmlparser2-3.7.3";
+    version = "3.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
+      name = "htmlparser2-3.7.3.tgz";
+      sha1 = "6a64c77637c08c6f30ec2a8157a53333be7cb05e";
+    };
+    deps = {
+      "domhandler-2.2.1" = self.by-version."domhandler"."2.2.1";
+      "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "entities-1.0.0" = self.by-version."entities"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."htmlparser2"."~3.8.1" =
+    self.by-version."htmlparser2"."3.8.2";
   by-spec."http-auth"."2.0.7" =
     self.by-version."http-auth"."2.0.7";
-  by-version."http-auth"."2.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-auth-2.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz";
-        name = "http-auth-2.0.7.tgz";
-        sha1 = "aa1a61a4d6baae9d64436c6f0ef0f4de85c430e3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-auth" or []);
-    deps = [
-      self.by-version."coffee-script"."1.6.3"
-      self.by-version."node-uuid"."1.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-auth" ];
+  by-version."http-auth"."2.0.7" = self.buildNodePackage {
+    name = "http-auth-2.0.7";
+    version = "2.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz";
+      name = "http-auth-2.0.7.tgz";
+      sha1 = "aa1a61a4d6baae9d64436c6f0ef0f4de85c430e3";
+    };
+    deps = {
+      "coffee-script-1.6.3" = self.by-version."coffee-script"."1.6.3";
+      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-browserify"."^1.3.2" =
+    self.by-version."http-browserify"."1.7.0";
+  by-version."http-browserify"."1.7.0" = self.buildNodePackage {
+    name = "http-browserify-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz";
+      name = "http-browserify-1.7.0.tgz";
+      sha1 = "33795ade72df88acfbfd36773cefeda764735b20";
+    };
+    deps = {
+      "Base64-0.2.1" = self.by-version."Base64"."0.2.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."http-browserify"."^1.4.0" =
-    self.by-version."http-browserify"."1.5.0";
-  by-version."http-browserify"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-browserify-1.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.5.0.tgz";
-        name = "http-browserify-1.5.0.tgz";
-        sha1 = "9ecc18daa92289793fed28f9f14b0a0ce6f98040";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-browserify" or []);
-    deps = [
-      self.by-version."Base64"."0.2.1"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-browserify" ];
+    self.by-version."http-browserify"."1.7.0";
+  by-spec."http-browserify"."~1.1.0" =
+    self.by-version."http-browserify"."1.1.0";
+  by-version."http-browserify"."1.1.0" = self.buildNodePackage {
+    name = "http-browserify-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.1.0.tgz";
+      name = "http-browserify-1.1.0.tgz";
+      sha1 = "20d0f6fdab370d1fe778d44a7bc48ddb7260206d";
+    };
+    deps = {
+      "Base64-0.2.1" = self.by-version."Base64"."0.2.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-errors"."~1.2.8" =
+    self.by-version."http-errors"."1.2.8";
+  by-version."http-errors"."1.2.8" = self.buildNodePackage {
+    name = "http-errors-1.2.8";
+    version = "1.2.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-errors/-/http-errors-1.2.8.tgz";
+      name = "http-errors-1.2.8.tgz";
+      sha1 = "8ee5fe0b51982221d796c0c4712d76f72097a4d0";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-errors"."~1.3.1" =
+    self.by-version."http-errors"."1.3.1";
+  by-version."http-errors"."1.3.1" = self.buildNodePackage {
+    name = "http-errors-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz";
+      name = "http-errors-1.3.1.tgz";
+      sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."http-proxy"."1.0.2" =
     self.by-version."http-proxy"."1.0.2";
-  by-version."http-proxy"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-proxy-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-proxy/-/http-proxy-1.0.2.tgz";
-        name = "http-proxy-1.0.2.tgz";
-        sha1 = "08060ff2edb2189e57aa3a152d3ac63ed1af7254";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-proxy" or []);
-    deps = [
-      self.by-version."eventemitter3"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-proxy" ];
+  by-version."http-proxy"."1.0.2" = self.buildNodePackage {
+    name = "http-proxy-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-proxy/-/http-proxy-1.0.2.tgz";
+      name = "http-proxy-1.0.2.tgz";
+      sha1 = "08060ff2edb2189e57aa3a152d3ac63ed1af7254";
+    };
+    deps = {
+      "eventemitter3-0.1.6" = self.by-version."eventemitter3"."0.1.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."http-proxy"."~0.10" =
     self.by-version."http-proxy"."0.10.4";
-  by-version."http-proxy"."0.10.4" = lib.makeOverridable self.buildNodePackage {
+  by-version."http-proxy"."0.10.4" = self.buildNodePackage {
     name = "http-proxy-0.10.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz";
-        name = "http-proxy-0.10.4.tgz";
-        sha1 = "14ba0ceaa2197f89fa30dea9e7b09e19cd93c22f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-proxy" or []);
-    deps = [
-      self.by-version."colors"."0.6.2"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."utile"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-proxy" ];
+    version = "0.10.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz";
+      name = "http-proxy-0.10.4.tgz";
+      sha1 = "14ba0ceaa2197f89fa30dea9e7b09e19cd93c22f";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-proxy-agent"."0" =
+    self.by-version."http-proxy-agent"."0.2.6";
+  by-version."http-proxy-agent"."0.2.6" = self.buildNodePackage {
+    name = "http-proxy-agent-0.2.6";
+    version = "0.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-0.2.6.tgz";
+      name = "http-proxy-agent-0.2.6.tgz";
+      sha1 = "d4a0a2350a75d4fb5102299e8f8c41f625873caa";
+    };
+    deps = {
+      "agent-base-1.0.1" = self.by-version."agent-base"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."http-signature"."0.9.11" =
     self.by-version."http-signature"."0.9.11";
-  by-version."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-signature-0.9.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
-        name = "http-signature-0.9.11.tgz";
-        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."asn1"."0.1.11"
-      self.by-version."ctype"."0.5.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
+  by-version."http-signature"."0.9.11" = self.buildNodePackage {
+    name = "http-signature-0.9.11";
+    version = "0.9.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
+      name = "http-signature-0.9.11.tgz";
+      sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+    };
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."http-signature"."~0.10.0" =
-    self.by-version."http-signature"."0.10.0";
-  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-http-signature-0.10.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
-        name = "http-signature-0.10.0.tgz";
-        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."asn1"."0.1.11"
-      self.by-version."ctype"."0.5.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
+    self.by-version."http-signature"."0.10.1";
+  by-version."http-signature"."0.10.1" = self.buildNodePackage {
+    name = "http-signature-0.10.1";
+    version = "0.10.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+      name = "http-signature-0.10.1.tgz";
+      sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+    };
+    deps = {
+      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."https-browserify"."0.0.0" =
+    self.by-version."https-browserify"."0.0.0";
+  by-version."https-browserify"."0.0.0" = self.buildNodePackage {
+    name = "https-browserify-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz";
+      name = "https-browserify-0.0.0.tgz";
+      sha1 = "b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."https-browserify"."~0.0.0" =
     self.by-version."https-browserify"."0.0.0";
-  by-version."https-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-https-browserify-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz";
-        name = "https-browserify-0.0.0.tgz";
-        sha1 = "b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."https-browserify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "https-browserify" ];
+  by-spec."https-proxy-agent"."0" =
+    self.by-version."https-proxy-agent"."0.3.5";
+  by-version."https-proxy-agent"."0.3.5" = self.buildNodePackage {
+    name = "https-proxy-agent-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.5.tgz";
+      name = "https-proxy-agent-0.3.5.tgz";
+      sha1 = "d41d43a912c0592f17552fc1a29cd484a2145648";
+    };
+    deps = {
+      "agent-base-1.0.1" = self.by-version."agent-base"."1.0.1";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."humanize"."~0.0.9" =
     self.by-version."humanize"."0.0.9";
-  by-version."humanize"."0.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-humanize-0.0.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
-        name = "humanize-0.0.9.tgz";
-        sha1 = "1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."humanize" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "humanize" ];
+  by-version."humanize"."0.0.9" = self.buildNodePackage {
+    name = "humanize-0.0.9";
+    version = "0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
+      name = "humanize-0.0.9.tgz";
+      sha1 = "1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hyperquest"."^0.3.0" =
+    self.by-version."hyperquest"."0.3.0";
+  by-version."hyperquest"."0.3.0" = self.buildNodePackage {
+    name = "hyperquest-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hyperquest/-/hyperquest-0.3.0.tgz";
+      name = "hyperquest-0.3.0.tgz";
+      sha1 = "4c3c06c074755e921f09a2db51aea5e6e7ee155f";
+    };
+    deps = {
+      "through-2.2.7" = self.by-version."through"."2.2.7";
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."i"."0.3.x" =
     self.by-version."i"."0.3.2";
-  by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-i-0.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/i/-/i-0.3.2.tgz";
-        name = "i-0.3.2.tgz";
-        sha1 = "b2e2d6ef47900bd924e281231ff4c5cc798d9ea8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."i" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "i" ];
+  by-version."i"."0.3.2" = self.buildNodePackage {
+    name = "i-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/i/-/i-0.3.2.tgz";
+      name = "i-0.3.2.tgz";
+      sha1 = "b2e2d6ef47900bd924e281231ff4c5cc798d9ea8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."i18next"."*" =
-    self.by-version."i18next"."1.7.4";
-  by-version."i18next"."1.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-i18next-1.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/i18next/-/i18next-1.7.4.tgz";
-        name = "i18next-1.7.4.tgz";
-        sha1 = "b61629c9de95a5c076acb2f954f8a882ac0772af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."i18next" or []);
-    deps = [
-      self.by-version."cookies"."0.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "i18next" ];
-  };
-  "i18next" = self.by-version."i18next"."1.7.4";
-  by-spec."ibrik"."~1.1.1" =
-    self.by-version."ibrik"."1.1.1";
-  by-version."ibrik"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ibrik-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ibrik/-/ibrik-1.1.1.tgz";
-        name = "ibrik-1.1.1.tgz";
-        sha1 = "c9bd04c5137e967a2f0dbc9e4eb31dbfa04801b5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ibrik" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."coffee-script-redux"."2.0.0-beta8"
-      self.by-version."istanbul"."0.2.16"
-      self.by-version."estraverse"."1.5.1"
-      self.by-version."escodegen"."1.1.0"
-      self.by-version."which"."1.0.5"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."optimist"."0.6.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ibrik" ];
-  };
-  by-spec."iconv-lite"."0.4.3" =
-    self.by-version."iconv-lite"."0.4.3";
-  by-version."iconv-lite"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.3.tgz";
-        name = "iconv-lite-0.4.3.tgz";
-        sha1 = "9e7887793b769cc695eb22d2546a4fd2d79b7a1e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
+    self.by-version."i18next"."1.7.10";
+  by-version."i18next"."1.7.10" = self.buildNodePackage {
+    name = "i18next-1.7.10";
+    version = "1.7.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/i18next/-/i18next-1.7.10.tgz";
+      name = "i18next-1.7.10.tgz";
+      sha1 = "2bc1ce2cc1bc2e93fa73b588359da02197336875";
+    };
+    deps = {
+      "cookies-0.5.0" = self.by-version."cookies"."0.5.0";
+      "json5-0.2.0" = self.by-version."json5"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "i18next" = self.by-version."i18next"."1.7.10";
+  by-spec."ibrik"."~2.0.0" =
+    self.by-version."ibrik"."2.0.0";
+  by-version."ibrik"."2.0.0" = self.buildNodePackage {
+    name = "ibrik-2.0.0";
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ibrik/-/ibrik-2.0.0.tgz";
+      name = "ibrik-2.0.0.tgz";
+      sha1 = "89a2434f2a5c82b92166c3d97de3b5636eea2e9c";
+    };
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "coffee-script-1.8.0" = self.by-version."coffee-script"."1.8.0";
+      "istanbul-0.3.6" = self.by-version."istanbul"."0.3.6";
+      "estraverse-1.8.0" = self.by-version."estraverse"."1.8.0";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "esprima-1.2.4" = self.by-version."esprima"."1.2.4";
+      "fileset-0.1.5" = self.by-version."fileset"."0.1.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv"."~2.1.4" =
+    self.by-version."iconv"."2.1.6";
+  by-version."iconv"."2.1.6" = self.buildNodePackage {
+    name = "iconv-2.1.6";
+    version = "2.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv/-/iconv-2.1.6.tgz";
+      name = "iconv-2.1.6.tgz";
+      sha1 = "cae89175793276e9fe5ffae58abf8c38f2941c42";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv"."~2.1.5" =
+    self.by-version."iconv"."2.1.6";
   by-spec."iconv-lite"."0.4.4" =
     self.by-version."iconv-lite"."0.4.4";
-  by-version."iconv-lite"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
-        name = "iconv-lite-0.4.4.tgz";
-        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
+  by-version."iconv-lite"."0.4.4" = self.buildNodePackage {
+    name = "iconv-lite-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+      name = "iconv-lite-0.4.4.tgz";
+      sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv-lite"."0.4.5" =
+    self.by-version."iconv-lite"."0.4.5";
+  by-version."iconv-lite"."0.4.5" = self.buildNodePackage {
+    name = "iconv-lite-0.4.5";
+    version = "0.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.5.tgz";
+      name = "iconv-lite-0.4.5.tgz";
+      sha1 = "9c574b70c30d615859f2064d2be4335ad6b1a8d6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv-lite"."0.4.6" =
+    self.by-version."iconv-lite"."0.4.6";
+  by-version."iconv-lite"."0.4.6" = self.buildNodePackage {
+    name = "iconv-lite-0.4.6";
+    version = "0.4.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.6.tgz";
+      name = "iconv-lite-0.4.6.tgz";
+      sha1 = "e39c682610a791f3eedc27382ff49e263f91fa09";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv-lite"."0.4.7" =
+    self.by-version."iconv-lite"."0.4.7";
+  by-version."iconv-lite"."0.4.7" = self.buildNodePackage {
+    name = "iconv-lite-0.4.7";
+    version = "0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.7.tgz";
+      name = "iconv-lite-0.4.7.tgz";
+      sha1 = "89d32fec821bf8597f44609b4bc09bed5c209a23";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv-lite"."^0.4.4" =
+    self.by-version."iconv-lite"."0.4.7";
   by-spec."iconv-lite"."~0.2.11" =
     self.by-version."iconv-lite"."0.2.11";
-  by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-iconv-lite-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        name = "iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
+  by-version."iconv-lite"."0.2.11" = self.buildNodePackage {
+    name = "iconv-lite-0.2.11";
+    version = "0.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
+      name = "iconv-lite-0.2.11.tgz";
+      sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv-lite"."~0.4.4" =
+    self.by-version."iconv-lite"."0.4.7";
+  by-spec."iconv-lite"."~0.4.5" =
+    self.by-version."iconv-lite"."0.4.7";
+  by-spec."ieee754"."^1.1.4" =
+    self.by-version."ieee754"."1.1.4";
+  by-version."ieee754"."1.1.4" = self.buildNodePackage {
+    name = "ieee754-1.1.4";
+    version = "1.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.4.tgz";
+      name = "ieee754-1.1.4.tgz";
+      sha1 = "e3ec65200d4ad531d359aabdb6d3ec812699a30b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."iconv-lite"."~0.4.3" =
-    self.by-version."iconv-lite"."0.4.4";
   by-spec."ieee754"."~1.1.1" =
-    self.by-version."ieee754"."1.1.3";
-  by-version."ieee754"."1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ieee754-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.3.tgz";
-        name = "ieee754-1.1.3.tgz";
-        sha1 = "1d4baae872e15ba69f6ab7588a965e09d485ec50";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ieee754" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ieee754" ];
+    self.by-version."ieee754"."1.1.4";
+  by-spec."image-size"."~0.3.5" =
+    self.by-version."image-size"."0.3.5";
+  by-version."image-size"."0.3.5" = self.buildNodePackage {
+    name = "image-size-0.3.5";
+    version = "0.3.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/image-size/-/image-size-0.3.5.tgz";
+      name = "image-size-0.3.5.tgz";
+      sha1 = "83240eab2fb5b00b04aab8c74b0471e9cba7ad8c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."imagemagick".">=0.1.3" =
+    self.by-version."imagemagick"."0.1.3";
+  by-version."imagemagick"."0.1.3" = self.buildNodePackage {
+    name = "imagemagick-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/imagemagick/-/imagemagick-0.1.3.tgz";
+      name = "imagemagick-0.1.3.tgz";
+      sha1 = "7483cea093b4d9f2e2f396857adc8821b537c56a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."imap"."0.8.14" =
+    self.by-version."imap"."0.8.14";
+  by-version."imap"."0.8.14" = self.buildNodePackage {
+    name = "imap-0.8.14";
+    version = "0.8.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/imap/-/imap-0.8.14.tgz";
+      name = "imap-0.8.14.tgz";
+      sha1 = "d4e6b333163ba0bb5be33cab98e5b19db3e9aa54";
+    };
+    deps = {
+      "utf7-1.0.0" = self.by-version."utf7"."1.0.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."indent-string"."^1.1.0" =
+    self.by-version."indent-string"."1.2.1";
+  by-version."indent-string"."1.2.1" = self.buildNodePackage {
+    name = "indent-string-1.2.1";
+    version = "1.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/indent-string/-/indent-string-1.2.1.tgz";
+      name = "indent-string-1.2.1.tgz";
+      sha1 = "294c5930792f8bb5b14462a4aa425b94f07d3a56";
+    };
+    deps = {
+      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "repeating-1.1.2" = self.by-version."repeating"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."indexof"."0.0.1" =
     self.by-version."indexof"."0.0.1";
-  by-version."indexof"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-indexof-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
-        name = "indexof-0.0.1.tgz";
-        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."indexof" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "indexof" ];
+  by-version."indexof"."0.0.1" = self.buildNodePackage {
+    name = "indexof-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
+      name = "indexof-0.0.1.tgz";
+      sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."infinity-agent"."^1.0.0" =
+    self.by-version."infinity-agent"."1.0.2";
+  by-version."infinity-agent"."1.0.2" = self.buildNodePackage {
+    name = "infinity-agent-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/infinity-agent/-/infinity-agent-1.0.2.tgz";
+      name = "infinity-agent-1.0.2.tgz";
+      sha1 = "2e9da2c070b9864a8bc66c0194e1791ed8058025";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inflection"."~1.3.0" =
+    self.by-version."inflection"."1.3.8";
+  by-version."inflection"."1.3.8" = self.buildNodePackage {
+    name = "inflection-1.3.8";
+    version = "1.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz";
+      name = "inflection-1.3.8.tgz";
+      sha1 = "cbd160da9f75b14c3cc63578d4f396784bf3014e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inflection"."~1.5.3" =
+    self.by-version."inflection"."1.5.3";
+  by-version."inflection"."1.5.3" = self.buildNodePackage {
+    name = "inflection-1.5.3";
+    version = "1.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inflection/-/inflection-1.5.3.tgz";
+      name = "inflection-1.5.3.tgz";
+      sha1 = "192a6d80f666d11b10012311d7f330ee40dbc01e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inflight"."^1.0.4" =
+    self.by-version."inflight"."1.0.4";
+  by-version."inflight"."1.0.4" = self.buildNodePackage {
+    name = "inflight-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
+      name = "inflight-1.0.4.tgz";
+      sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
+    };
+    deps = {
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."inflight"."~1.0.1" =
-    self.by-version."inflight"."1.0.1";
-  by-version."inflight"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inflight-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inflight/-/inflight-1.0.1.tgz";
-        name = "inflight-1.0.1.tgz";
-        sha1 = "01f6911821535243c790ac0f998f54e9023ffb6f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inflight" or []);
-    deps = [
-      self.by-version."once"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inflight" ];
+    self.by-version."inflight"."1.0.4";
+  by-spec."inflight"."~1.0.4" =
+    self.by-version."inflight"."1.0.4";
+  by-spec."inherits"."*" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = self.buildNodePackage {
+    name = "inherits-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+      name = "inherits-2.0.1.tgz";
+      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."inherits"."1" =
     self.by-version."inherits"."1.0.0";
-  by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inherits-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        name = "inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
+  by-version."inherits"."1.0.0" = self.buildNodePackage {
+    name = "inherits-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
+      name = "inherits-1.0.0.tgz";
+      sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."inherits"."1.x" =
     self.by-version."inherits"."1.0.0";
   by-spec."inherits"."2" =
     self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inherits-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        name = "inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
   by-spec."inherits"."2.0.1" =
     self.by-version."inherits"."2.0.1";
   by-spec."inherits"."^2.0.1" =
@@ -8648,2154 +17810,4623 @@
   by-spec."inherits"."~2.0.1" =
     self.by-version."inherits"."2.0.1";
   by-spec."ini"."1" =
-    self.by-version."ini"."1.2.1";
-  by-version."ini"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ini-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.2.1.tgz";
-        name = "ini-1.2.1.tgz";
-        sha1 = "7f774e2f22752cd1dacbf9c63323df2a164ebca3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
+    self.by-version."ini"."1.3.3";
+  by-version."ini"."1.3.3" = self.buildNodePackage {
+    name = "ini-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ini/-/ini-1.3.3.tgz";
+      name = "ini-1.3.3.tgz";
+      sha1 = "c07e34aef1de06aff21d413b458e52b21533a11e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ini"."1.x.x" =
-    self.by-version."ini"."1.2.1";
+    self.by-version."ini"."1.3.3";
   by-spec."ini"."^1.2.0" =
-    self.by-version."ini"."1.2.1";
+    self.by-version."ini"."1.3.3";
   by-spec."ini"."~1.1.0" =
     self.by-version."ini"."1.1.0";
-  by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ini-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        name = "ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
+  by-version."ini"."1.1.0" = self.buildNodePackage {
+    name = "ini-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
+      name = "ini-1.1.0.tgz";
+      sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ini"."~1.2.0" =
     self.by-version."ini"."1.2.1";
-  by-spec."init-package-json"."~0.1.1" =
-    self.by-version."init-package-json"."0.1.2";
-  by-version."init-package-json"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-init-package-json-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.1.2.tgz";
-        name = "init-package-json-0.1.2.tgz";
-        sha1 = "9e232ccae0d5cf712cd7773b0f1fcd59b7edc2da";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."init-package-json" or []);
-    deps = [
-      self.by-version."glob"."4.0.5"
-      self.by-version."promzard"."0.2.2"
-      self.by-version."read"."1.0.5"
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."semver"."3.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "init-package-json" ];
+  by-version."ini"."1.2.1" = self.buildNodePackage {
+    name = "ini-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ini/-/ini-1.2.1.tgz";
+      name = "ini-1.2.1.tgz";
+      sha1 = "7f774e2f22752cd1dacbf9c63323df2a164ebca3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ini"."~1.3.0" =
+    self.by-version."ini"."1.3.3";
+  by-spec."ini"."~1.3.3" =
+    self.by-version."ini"."1.3.3";
+  by-spec."init-package-json"."~1.0.0" =
+    self.by-version."init-package-json"."1.0.1";
+  by-version."init-package-json"."1.0.1" = self.buildNodePackage {
+    name = "init-package-json-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/init-package-json/-/init-package-json-1.0.1.tgz";
+      name = "init-package-json-1.0.1.tgz";
+      sha1 = "c01b08cc90504ebc448d57b468e66fc08293e8a8";
+    };
+    deps = {
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "promzard-0.2.2" = self.by-version."promzard"."0.2.2";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-package-json-1.3.1" = self.by-version."read-package-json"."1.3.1";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."init-package-json"."~1.2.0" =
+    self.by-version."init-package-json"."1.2.0";
+  by-version."init-package-json"."1.2.0" = self.buildNodePackage {
+    name = "init-package-json-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/init-package-json/-/init-package-json-1.2.0.tgz";
+      name = "init-package-json-1.2.0.tgz";
+      sha1 = "b9f027514403b3b3f582c148592ab75214003348";
+    };
+    deps = {
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "promzard-0.2.2" = self.by-version."promzard"."0.2.2";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-package-json-1.3.1" = self.by-version."read-package-json"."1.3.1";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."inline-source-map"."~0.3.0" =
-    self.by-version."inline-source-map"."0.3.0";
-  by-version."inline-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inline-source-map-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.0.tgz";
-        name = "inline-source-map-0.3.0.tgz";
-        sha1 = "ad2acca97d82fcb9d0a56221ee72e8043116424a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inline-source-map" or []);
-    deps = [
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inline-source-map" ];
+    self.by-version."inline-source-map"."0.3.1";
+  by-version."inline-source-map"."0.3.1" = self.buildNodePackage {
+    name = "inline-source-map-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.1.tgz";
+      name = "inline-source-map-0.3.1.tgz";
+      sha1 = "a528b514e689fce90db3089e870d92f527acb5eb";
+    };
+    deps = {
+      "source-map-0.3.0" = self.by-version."source-map"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inquirer"."0.7.1" =
+    self.by-version."inquirer"."0.7.1";
+  by-version."inquirer"."0.7.1" = self.buildNodePackage {
+    name = "inquirer-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inquirer/-/inquirer-0.7.1.tgz";
+      name = "inquirer-0.7.1.tgz";
+      sha1 = "b8acf140165bd581862ed1198fb6d26430091fac";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "cli-color-0.3.2" = self.by-version."cli-color"."0.3.2";
+      "figures-1.3.5" = self.by-version."figures"."1.3.5";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+      "readline2-0.1.1" = self.by-version."readline2"."0.1.1";
+      "rx-2.4.0" = self.by-version."rx"."2.4.0";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inquirer".">=0.2.4" =
+    self.by-version."inquirer"."0.8.0";
+  by-version."inquirer"."0.8.0" = self.buildNodePackage {
+    name = "inquirer-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inquirer/-/inquirer-0.8.0.tgz";
+      name = "inquirer-0.8.0.tgz";
+      sha1 = "525d4dd827d4f3d506b453726068f90deb99b443";
+    };
+    deps = {
+      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "cli-color-0.3.2" = self.by-version."cli-color"."0.3.2";
+      "figures-1.3.5" = self.by-version."figures"."1.3.5";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+      "readline2-0.1.1" = self.by-version."readline2"."0.1.1";
+      "rx-2.4.0" = self.by-version."rx"."2.4.0";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inquirer"."^0.6.0" =
+    self.by-version."inquirer"."0.6.0";
+  by-version."inquirer"."0.6.0" = self.buildNodePackage {
+    name = "inquirer-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inquirer/-/inquirer-0.6.0.tgz";
+      name = "inquirer-0.6.0.tgz";
+      sha1 = "614d7bb3e48f9e6a8028e94a0c38f23ef29823d3";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "cli-color-0.3.2" = self.by-version."cli-color"."0.3.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+      "readline2-0.1.1" = self.by-version."readline2"."0.1.1";
+      "rx-2.4.0" = self.by-version."rx"."2.4.0";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."insert-module-globals"."^6.1.0" =
-    self.by-version."insert-module-globals"."6.1.0";
-  by-version."insert-module-globals"."6.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "insert-module-globals-6.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.1.0.tgz";
-        name = "insert-module-globals-6.1.0.tgz";
-        sha1 = "b0ee36d97057e9eda133ad6d4b00a8821cd63663";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."insert-module-globals" or []);
-    deps = [
-      self.by-version."JSONStream"."0.7.4"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."lexical-scope"."1.1.0"
-      self.by-version."process"."0.6.0"
-      self.by-version."through"."2.3.4"
-      self.by-version."xtend"."3.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "insert-module-globals" ];
+    self.by-version."insert-module-globals"."6.2.0";
+  by-version."insert-module-globals"."6.2.0" = self.buildNodePackage {
+    name = "insert-module-globals-6.2.0";
+    version = "6.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.2.0.tgz";
+      name = "insert-module-globals-6.2.0.tgz";
+      sha1 = "4f75ce864f0a23c2edc73f9a582d23b6581484ff";
+    };
+    deps = {
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "combine-source-map-0.3.0" = self.by-version."combine-source-map"."0.3.0";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "lexical-scope-1.1.0" = self.by-version."lexical-scope"."1.1.0";
+      "process-0.6.0" = self.by-version."process"."0.6.0";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."insert-module-globals"."^6.2.0" =
+    self.by-version."insert-module-globals"."6.2.0";
+  by-spec."insert-module-globals"."~2.3.0" =
+    self.by-version."insert-module-globals"."2.3.4";
+  by-version."insert-module-globals"."2.3.4" = self.buildNodePackage {
+    name = "insert-module-globals-2.3.4";
+    version = "2.3.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-2.3.4.tgz";
+      name = "insert-module-globals-2.3.4.tgz";
+      sha1 = "e920cd470bcf1f47713eac6cc5cc13437e1a9e7e";
+    };
+    deps = {
+      "commondir-0.0.1" = self.by-version."commondir"."0.0.1";
+      "lexical-scope-0.0.15" = self.by-version."lexical-scope"."0.0.15";
+      "process-0.5.2" = self.by-version."process"."0.5.2";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+      "native-buffer-browserify-2.0.17" = self.by-version."native-buffer-browserify"."2.0.17";
+      "browserify-3.24.13" = self.by-version."browserify"."3.24.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."insert-module-globals"."~3.1.2" =
+    self.by-version."insert-module-globals"."3.1.3";
+  by-version."insert-module-globals"."3.1.3" = self.buildNodePackage {
+    name = "insert-module-globals-3.1.3";
+    version = "3.1.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-3.1.3.tgz";
+      name = "insert-module-globals-3.1.3.tgz";
+      sha1 = "d5b80e3a9c86d2bf9a522baee3c14f00d931038a";
+    };
+    deps = {
+      "lexical-scope-0.1.0" = self.by-version."lexical-scope"."0.1.0";
+      "process-0.5.2" = self.by-version."process"."0.5.2";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."insight"."0.4.3" =
+    self.by-version."insight"."0.4.3";
+  by-version."insight"."0.4.3" = self.buildNodePackage {
+    name = "insight-0.4.3";
+    version = "0.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/insight/-/insight-0.4.3.tgz";
+      name = "insight-0.4.3.tgz";
+      sha1 = "76d653c5c0d8048b03cdba6385a6948f74614af0";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "configstore-0.3.2" = self.by-version."configstore"."0.3.2";
+      "inquirer-0.6.0" = self.by-version."inquirer"."0.6.0";
+      "lodash.debounce-2.4.1" = self.by-version."lodash.debounce"."2.4.1";
+      "object-assign-1.0.0" = self.by-version."object-assign"."1.0.0";
+      "os-name-1.0.3" = self.by-version."os-name"."1.0.3";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."install"."~0.1.7" =
+    self.by-version."install"."0.1.8";
+  by-version."install"."0.1.8" = self.buildNodePackage {
+    name = "install-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/install/-/install-0.1.8.tgz";
+      name = "install-0.1.8.tgz";
+      sha1 = "9980ef93e30dfb534778d163bc86ddd472ad5fe8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."internal-ip"."^1.0.0" =
+    self.by-version."internal-ip"."1.0.0";
+  by-version."internal-ip"."1.0.0" = self.buildNodePackage {
+    name = "internal-ip-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/internal-ip/-/internal-ip-1.0.0.tgz";
+      name = "internal-ip-1.0.0.tgz";
+      sha1 = "b484048e9051d07251bcc7e4396df547f4e3497e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."interpret"."^0.3.2" =
+    self.by-version."interpret"."0.3.10";
+  by-version."interpret"."0.3.10" = self.buildNodePackage {
+    name = "interpret-0.3.10";
+    version = "0.3.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/interpret/-/interpret-0.3.10.tgz";
+      name = "interpret-0.3.10.tgz";
+      sha1 = "088c25de731c6c5b112a90f0071cfaf459e5a7bb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."intersect"."~0.0.3" =
+    self.by-version."intersect"."0.0.3";
+  by-version."intersect"."0.0.3" = self.buildNodePackage {
+    name = "intersect-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz";
+      name = "intersect-0.0.3.tgz";
+      sha1 = "c1a4a5e5eac6ede4af7504cc07e0ada7bc9f4920";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ip"."^0.3.0" =
+    self.by-version."ip"."0.3.2";
+  by-version."ip"."0.3.2" = self.buildNodePackage {
+    name = "ip-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ip/-/ip-0.3.2.tgz";
+      name = "ip-0.3.2.tgz";
+      sha1 = "7d5ed34326688b36b6ab81f1865ea8266c28f0db";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ip-regex"."^1.0.0" =
+    self.by-version."ip-regex"."1.0.3";
+  by-version."ip-regex"."1.0.3" = self.buildNodePackage {
+    name = "ip-regex-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz";
+      name = "ip-regex-1.0.3.tgz";
+      sha1 = "dc589076f659f419c222039a33316f1c7387effd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ip-set"."^1.0.0" =
+    self.by-version."ip-set"."1.0.0";
+  by-version."ip-set"."1.0.0" = self.buildNodePackage {
+    name = "ip-set-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ip-set/-/ip-set-1.0.0.tgz";
+      name = "ip-set-1.0.0.tgz";
+      sha1 = "54782fb5ae37ab6e697a2b49e07748d9e069dda6";
+    };
+    deps = {
+      "ip-0.3.2" = self.by-version."ip"."0.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ipaddr.js"."0.1.2" =
     self.by-version."ipaddr.js"."0.1.2";
-  by-version."ipaddr.js"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ipaddr.js-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
-        name = "ipaddr.js-0.1.2.tgz";
-        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ipaddr.js" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ipaddr.js" ];
+  by-version."ipaddr.js"."0.1.2" = self.buildNodePackage {
+    name = "ipaddr.js-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
+      name = "ipaddr.js-0.1.2.tgz";
+      sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ipaddr.js"."0.1.8" =
+    self.by-version."ipaddr.js"."0.1.8";
+  by-version."ipaddr.js"."0.1.8" = self.buildNodePackage {
+    name = "ipaddr.js-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.8.tgz";
+      name = "ipaddr.js-0.1.8.tgz";
+      sha1 = "27442eda77b626c44724b4aa8a1867e8410579ee";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ipaddr.js".">= 0.1.1" =
+    self.by-version."ipaddr.js"."0.1.8";
+  by-spec."ipaddr.js".">= 0.1.5" =
+    self.by-version."ipaddr.js"."0.1.8";
+  by-spec."ipaddr.js".">=0.1.2" =
+    self.by-version."ipaddr.js"."0.1.8";
+  by-spec."ipaddr.js"."^0.1.5" =
+    self.by-version."ipaddr.js"."0.1.8";
+  by-spec."irc"."0.3.9" =
+    self.by-version."irc"."0.3.9";
+  by-version."irc"."0.3.9" = self.buildNodePackage {
+    name = "irc-0.3.9";
+    version = "0.3.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/irc/-/irc-0.3.9.tgz";
+      name = "irc-0.3.9.tgz";
+      sha1 = "9c0d846379dbc306b38de5d08cf354f4fc6c83d9";
+    };
+    deps = {
+      "ansi-color-0.2.1" = self.by-version."ansi-color"."0.2.1";
+      "irc-colors-1.1.0" = self.by-version."irc-colors"."1.1.0";
+    };
+    optionalDependencies = {
+      "iconv-2.1.6" = self.by-version."iconv"."2.1.6";
+      "node-icu-charset-detector-0.0.7" = self.by-version."node-icu-charset-detector"."0.0.7";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."irc-colors"."^1.1.0" =
+    self.by-version."irc-colors"."1.1.0";
+  by-version."irc-colors"."1.1.0" = self.buildNodePackage {
+    name = "irc-colors-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/irc-colors/-/irc-colors-1.1.0.tgz";
+      name = "irc-colors-1.1.0.tgz";
+      sha1 = "f92f184c136e8893ad3fe55d130ed409b0dc0745";
+    };
+    deps = {
+      "hashish-0.0.4" = self.by-version."hashish"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ironhorse"."*" =
     self.by-version."ironhorse"."0.0.10";
-  by-version."ironhorse"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ironhorse-0.0.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.10.tgz";
-        name = "ironhorse-0.0.10.tgz";
-        sha1 = "98c1c9e29889fabbaaea0ce558501c47f9319856";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ironhorse" or []);
-    deps = [
-      self.by-version."underscore"."1.5.2"
-      self.by-version."winston"."0.7.3"
-      self.by-version."nconf"."0.6.9"
-      self.by-version."fs-walk"."0.0.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."express"."4.8.5"
-      self.by-version."jade"."1.5.0"
-      self.by-version."passport"."0.2.0"
-      self.by-version."passport-http"."0.2.2"
-      self.by-version."js-yaml"."3.1.0"
-      self.by-version."mongoose"."3.8.15"
-      self.by-version."gridfs-stream"."0.5.1"
-      self.by-version."temp"."0.8.1"
-      self.by-version."kue"."0.8.5"
-      self.by-version."redis"."0.12.1"
-      self.by-version."hiredis"."0.1.17"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ironhorse" ];
+  by-version."ironhorse"."0.0.10" = self.buildNodePackage {
+    name = "ironhorse-0.0.10";
+    version = "0.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.10.tgz";
+      name = "ironhorse-0.0.10.tgz";
+      sha1 = "98c1c9e29889fabbaaea0ce558501c47f9319856";
+    };
+    deps = {
+      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
+      "winston-0.9.0" = self.by-version."winston"."0.9.0";
+      "nconf-0.7.1" = self.by-version."nconf"."0.7.1";
+      "fs-walk-0.0.1" = self.by-version."fs-walk"."0.0.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "express-5.0.0-alpha.1" = self.by-version."express"."5.0.0-alpha.1";
+      "jade-1.9.2" = self.by-version."jade"."1.9.2";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-http-0.2.2" = self.by-version."passport-http"."0.2.2";
+      "js-yaml-3.2.7" = self.by-version."js-yaml"."3.2.7";
+      "mongoose-3.8.23" = self.by-version."mongoose"."3.8.23";
+      "gridfs-stream-1.0.1" = self.by-version."gridfs-stream"."1.0.1";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "kue-0.8.11" = self.by-version."kue"."0.8.11";
+      "redis-0.12.1" = self.by-version."redis"."0.12.1";
+      "hiredis-0.2.0" = self.by-version."hiredis"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "ironhorse" = self.by-version."ironhorse"."0.0.10";
+  by-spec."is-array"."^1.0.1" =
+    self.by-version."is-array"."1.0.1";
+  by-version."is-array"."1.0.1" = self.buildNodePackage {
+    name = "is-array-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz";
+      name = "is-array-1.0.1.tgz";
+      sha1 = "e9850cc2cc860c3bc0977e84ccf0dd464584279a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-binary-path"."^1.0.0" =
+    self.by-version."is-binary-path"."1.0.0";
+  by-version."is-binary-path"."1.0.0" = self.buildNodePackage {
+    name = "is-binary-path-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.0.tgz";
+      name = "is-binary-path-1.0.0.tgz";
+      sha1 = "51a9ab34cc239e8e97d1cb1c874faf25d79d54e5";
+    };
+    deps = {
+      "binary-extensions-1.3.0" = self.by-version."binary-extensions"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-finite"."^1.0.0" =
+    self.by-version."is-finite"."1.0.0";
+  by-version."is-finite"."1.0.0" = self.buildNodePackage {
+    name = "is-finite-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-finite/-/is-finite-1.0.0.tgz";
+      name = "is-finite-1.0.0.tgz";
+      sha1 = "2b1dbad1162cdca6a4dc89f12b2f3dae12393282";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-glob"."^0.3.0" =
+    self.by-version."is-glob"."0.3.0";
+  by-version."is-glob"."0.3.0" = self.buildNodePackage {
+    name = "is-glob-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-glob/-/is-glob-0.3.0.tgz";
+      name = "is-glob-0.3.0.tgz";
+      sha1 = "36f358abccfb33836406c44075b121a58736a382";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-ip"."^1.0.0" =
+    self.by-version."is-ip"."1.0.0";
+  by-version."is-ip"."1.0.0" = self.buildNodePackage {
+    name = "is-ip-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-ip/-/is-ip-1.0.0.tgz";
+      name = "is-ip-1.0.0.tgz";
+      sha1 = "2bb6959f797ccd6f9fdc812758bcbc87c4c59074";
+    };
+    deps = {
+      "ip-regex-1.0.3" = self.by-version."ip-regex"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-npm"."^1.0.0" =
+    self.by-version."is-npm"."1.0.0";
+  by-version."is-npm"."1.0.0" = self.buildNodePackage {
+    name = "is-npm-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz";
+      name = "is-npm-1.0.0.tgz";
+      sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."is-promise"."~1" =
     self.by-version."is-promise"."1.0.1";
-  by-version."is-promise"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-is-promise-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
-        name = "is-promise-1.0.1.tgz";
-        sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."is-promise" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "is-promise" ];
+  by-version."is-promise"."1.0.1" = self.buildNodePackage {
+    name = "is-promise-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
+      name = "is-promise-1.0.1.tgz";
+      sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-root"."~1.0.0" =
+    self.by-version."is-root"."1.0.0";
+  by-version."is-root"."1.0.0" = self.buildNodePackage {
+    name = "is-root-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz";
+      name = "is-root-1.0.0.tgz";
+      sha1 = "07b6c233bc394cd9d02ba15c966bd6660d6342d5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-stream"."^1.0.0" =
+    self.by-version."is-stream"."1.0.1";
+  by-version."is-stream"."1.0.1" = self.buildNodePackage {
+    name = "is-stream-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-stream/-/is-stream-1.0.1.tgz";
+      name = "is-stream-1.0.1.tgz";
+      sha1 = "b44ce45b1f0c3df583f6b5debf84dcf9743ac8b5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-utf8"."0.2.0" =
+    self.by-version."is-utf8"."0.2.0";
+  by-version."is-utf8"."0.2.0" = self.buildNodePackage {
+    name = "is-utf8-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-utf8/-/is-utf8-0.2.0.tgz";
+      name = "is-utf8-0.2.0.tgz";
+      sha1 = "b8aa54125ae626bfe4e3beb965f16a89c58a1137";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."is-utf8"."^0.2.0" =
     self.by-version."is-utf8"."0.2.0";
-  by-version."is-utf8"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-is-utf8-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/is-utf8/-/is-utf8-0.2.0.tgz";
-        name = "is-utf8-0.2.0.tgz";
-        sha1 = "b8aa54125ae626bfe4e3beb965f16a89c58a1137";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."is-utf8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "is-utf8" ];
-  };
   by-spec."isarray"."0.0.1" =
     self.by-version."isarray"."0.0.1";
-  by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-isarray-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-        name = "isarray-0.0.1.tgz";
-        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."isarray" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "isarray" ];
+  by-version."isarray"."0.0.1" = self.buildNodePackage {
+    name = "isarray-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+      name = "isarray-0.0.1.tgz";
+      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."isarray"."~0.0.1" =
     self.by-version."isarray"."0.0.1";
-  by-spec."isbinaryfile"."~2.0.0" =
-    self.by-version."isbinaryfile"."2.0.1";
-  by-version."isbinaryfile"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-isbinaryfile-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.1.tgz";
-        name = "isbinaryfile-2.0.1.tgz";
-        sha1 = "b92369bfdaf616027133e077c5ba145f36699d55";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."isbinaryfile" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "isbinaryfile" ];
-  };
+  by-spec."isstream"."0.1.x" =
+    self.by-version."isstream"."0.1.1";
+  by-version."isstream"."0.1.1" = self.buildNodePackage {
+    name = "isstream-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isstream/-/isstream-0.1.1.tgz";
+      name = "isstream-0.1.1.tgz";
+      sha1 = "48332c5999893996ba253c81c7bd6e7ae0905c4f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."isstream"."~0.1.1" =
+    self.by-version."isstream"."0.1.1";
   by-spec."istanbul"."*" =
-    self.by-version."istanbul"."0.3.0";
-  by-version."istanbul"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.3.0.tgz";
-        name = "istanbul-0.3.0.tgz";
-        sha1 = "5b7179104942adbb0ec3e140d5e3d071db55abbd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."istanbul" or []);
-    deps = [
-      self.by-version."esprima"."1.2.2"
-      self.by-version."escodegen"."1.3.3"
-      self.by-version."handlebars"."1.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."fileset"."0.1.5"
-      self.by-version."which"."1.0.5"
-      self.by-version."async"."0.9.0"
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."js-yaml"."3.1.0"
-      self.by-version."once"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "istanbul" ];
-  };
-  "istanbul" = self.by-version."istanbul"."0.3.0";
-  by-spec."istanbul"."~0.2.4" =
-    self.by-version."istanbul"."0.2.16";
-  by-version."istanbul"."0.2.16" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.2.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.16.tgz";
-        name = "istanbul-0.2.16.tgz";
-        sha1 = "870545a0d4f4b4ce161039e9e805a98c2c700bd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."istanbul" or []);
-    deps = [
-      self.by-version."esprima"."1.2.2"
-      self.by-version."escodegen"."1.3.3"
-      self.by-version."handlebars"."1.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."fileset"."0.1.5"
-      self.by-version."which"."1.0.5"
-      self.by-version."async"."0.9.0"
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."js-yaml"."3.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "istanbul" ];
-  };
+    self.by-version."istanbul"."0.3.6";
+  by-version."istanbul"."0.3.6" = self.buildNodePackage {
+    name = "istanbul-0.3.6";
+    version = "0.3.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/istanbul/-/istanbul-0.3.6.tgz";
+      name = "istanbul-0.3.6.tgz";
+      sha1 = "e63ffc1d61de2f6344a899f80abdc0ef6491b17b";
+    };
+    deps = {
+      "esprima-2.0.0" = self.by-version."esprima"."2.0.0";
+      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
+      "handlebars-1.3.0" = self.by-version."handlebars"."1.3.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "fileset-0.1.5" = self.by-version."fileset"."0.1.5";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "supports-color-1.2.1" = self.by-version."supports-color"."1.2.1";
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "js-yaml-3.2.7" = self.by-version."js-yaml"."3.2.7";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "istanbul" = self.by-version."istanbul"."0.3.6";
   by-spec."istanbul"."~0.3.0" =
-    self.by-version."istanbul"."0.3.0";
+    self.by-version."istanbul"."0.3.6";
+  by-spec."istanbul"."~0.3.2" =
+    self.by-version."istanbul"."0.3.6";
   by-spec."jade"."*" =
-    self.by-version."jade"."1.5.0";
-  by-version."jade"."1.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-1.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-1.5.0.tgz";
-        name = "jade-1.5.0.tgz";
-        sha1 = "74a93a5a290e11296c8b919b7a4d72301739b27e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."transformers"."2.1.0"
-      self.by-version."character-parser"."1.2.0"
-      self.by-version."monocle"."1.1.51"
-      self.by-version."with"."3.0.1"
-      self.by-version."constantinople"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
-  };
-  "jade" = self.by-version."jade"."1.5.0";
+    self.by-version."jade"."1.9.2";
+  by-version."jade"."1.9.2" = self.buildNodePackage {
+    name = "jade-1.9.2";
+    version = "1.9.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jade/-/jade-1.9.2.tgz";
+      name = "jade-1.9.2.tgz";
+      sha1 = "0b89f9c60d4ead2738e826ba7b2ccac9a5702abe";
+    };
+    deps = {
+      "character-parser-1.2.1" = self.by-version."character-parser"."1.2.1";
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+      "constantinople-3.0.1" = self.by-version."constantinople"."3.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "void-elements-2.0.1" = self.by-version."void-elements"."2.0.1";
+      "with-4.0.1" = self.by-version."with"."4.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "jade" = self.by-version."jade"."1.9.2";
   by-spec."jade"."0.26.3" =
     self.by-version."jade"."0.26.3";
-  by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
+  by-version."jade"."0.26.3" = self.buildNodePackage {
     name = "jade-0.26.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
-        name = "jade-0.26.3.tgz";
-        sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."0.6.1"
-      self.by-version."mkdirp"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
+    version = "0.26.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
+      name = "jade-0.26.3.tgz";
+      sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+    };
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jade"."0.27.0" =
     self.by-version."jade"."0.27.0";
-  by-version."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."jade"."0.27.0" = self.buildNodePackage {
     name = "jade-0.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.27.0.tgz";
-        name = "jade-0.27.0.tgz";
-        sha1 = "dc5ebed10d04a5e0eaf49ef0009bec473d1a6b31";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."0.6.1"
-      self.by-version."mkdirp"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
+    version = "0.27.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jade/-/jade-0.27.0.tgz";
+      name = "jade-0.27.0.tgz";
+      sha1 = "dc5ebed10d04a5e0eaf49ef0009bec473d1a6b31";
+    };
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jade"."1.1.5" =
     self.by-version."jade"."1.1.5";
-  by-version."jade"."1.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-version."jade"."1.1.5" = self.buildNodePackage {
     name = "jade-1.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-1.1.5.tgz";
-        name = "jade-1.1.5.tgz";
-        sha1 = "e884d3d3565807e280f5ba760f68addb176627a3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."transformers"."2.1.0"
-      self.by-version."character-parser"."1.2.0"
-      self.by-version."monocle"."1.1.51"
-      self.by-version."with"."2.0.0"
-      self.by-version."constantinople"."1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
+    version = "1.1.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jade/-/jade-1.1.5.tgz";
+      name = "jade-1.1.5.tgz";
+      sha1 = "e884d3d3565807e280f5ba760f68addb176627a3";
+    };
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "monocle-1.1.51" = self.by-version."monocle"."1.1.51";
+      "with-2.0.0" = self.by-version."with"."2.0.0";
+      "constantinople-1.0.2" = self.by-version."constantinople"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jade".">= 0.0.1" =
-    self.by-version."jade"."1.5.0";
+    self.by-version."jade"."1.9.2";
   by-spec."jade"."~0.35.0" =
     self.by-version."jade"."0.35.0";
-  by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."jade"."0.35.0" = self.buildNodePackage {
     name = "jade-0.35.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
-        name = "jade-0.35.0.tgz";
-        sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade" or []);
-    deps = [
-      self.by-version."commander"."2.0.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."transformers"."2.1.0"
-      self.by-version."character-parser"."1.2.0"
-      self.by-version."monocle"."1.1.50"
-      self.by-version."with"."1.1.1"
-      self.by-version."constantinople"."1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
+    version = "0.35.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
+      name = "jade-0.35.0.tgz";
+      sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
+    };
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
+      "character-parser-1.2.0" = self.by-version."character-parser"."1.2.0";
+      "monocle-1.1.50" = self.by-version."monocle"."1.1.50";
+      "with-1.1.1" = self.by-version."with"."1.1.1";
+      "constantinople-1.0.2" = self.by-version."constantinople"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jayschema"."*" =
-    self.by-version."jayschema"."0.2.8";
-  by-version."jayschema"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "jayschema-0.2.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.8.tgz";
-        name = "jayschema-0.2.8.tgz";
-        sha1 = "ea7883f501a4cdc7b91f48889f5774ea43159f17";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jayschema" or []);
-    deps = [
-      self.by-version."when"."3.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jayschema" ];
+    self.by-version."jayschema"."0.3.1";
+  by-version."jayschema"."0.3.1" = self.buildNodePackage {
+    name = "jayschema-0.3.1";
+    version = "0.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jayschema/-/jayschema-0.3.1.tgz";
+      name = "jayschema-0.3.1.tgz";
+      sha1 = "76f4769f9b172ef7d5dcde4875b49cb736179b58";
+    };
+    deps = {
+      "when-3.4.6" = self.by-version."when"."3.4.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "jayschema" = self.by-version."jayschema"."0.3.1";
+  by-spec."jfs"."*" =
+    self.by-version."jfs"."0.2.5";
+  by-version."jfs"."0.2.5" = self.buildNodePackage {
+    name = "jfs-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jfs/-/jfs-0.2.5.tgz";
+      name = "jfs-0.2.5.tgz";
+      sha1 = "c1ae4c89905724ae8caf79859783c0613254249f";
+    };
+    deps = {
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "clone-0.2.0" = self.by-version."clone"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "jfs" = self.by-version."jfs"."0.2.5";
+  by-spec."js-string-escape"."^1.0.0" =
+    self.by-version."js-string-escape"."1.0.0";
+  by-version."js-string-escape"."1.0.0" = self.buildNodePackage {
+    name = "js-string-escape-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.0.tgz";
+      name = "js-string-escape-1.0.0.tgz";
+      sha1 = "d2d2365fd2e6b3948b8374ac7628ac0e84d00002";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "jayschema" = self.by-version."jayschema"."0.2.8";
   by-spec."js-yaml"."*" =
-    self.by-version."js-yaml"."3.1.0";
-  by-version."js-yaml"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-3.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.1.0.tgz";
-        name = "js-yaml-3.1.0.tgz";
-        sha1 = "36ba02e618c50748e772dd352428904cbbadcf44";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "js-yaml" ];
-  };
-  "js-yaml" = self.by-version."js-yaml"."3.1.0";
+    self.by-version."js-yaml"."3.2.7";
+  by-version."js-yaml"."3.2.7" = self.buildNodePackage {
+    name = "js-yaml-3.2.7";
+    version = "3.2.7";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.2.7.tgz";
+      name = "js-yaml-3.2.7.tgz";
+      sha1 = "102790f265d986fe95a4d0f2a792e7a7bd886eec";
+    };
+    deps = {
+      "argparse-1.0.1" = self.by-version."argparse"."1.0.1";
+      "esprima-2.0.0" = self.by-version."esprima"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "js-yaml" = self.by-version."js-yaml"."3.2.7";
   by-spec."js-yaml"."0.3.x" =
     self.by-version."js-yaml"."0.3.7";
-  by-version."js-yaml"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-js-yaml-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
-        name = "js-yaml-0.3.7.tgz";
-        sha1 = "d739d8ee86461e54b354d6a7d7d1f2ad9a167f62";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."js-yaml" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "js-yaml" ];
+  by-version."js-yaml"."0.3.7" = self.buildNodePackage {
+    name = "js-yaml-0.3.7";
+    version = "0.3.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
+      name = "js-yaml-0.3.7.tgz";
+      sha1 = "d739d8ee86461e54b354d6a7d7d1f2ad9a167f62";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."js-yaml"."2.1.0" =
     self.by-version."js-yaml"."2.1.0";
-  by-version."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."js-yaml"."2.1.0" = self.buildNodePackage {
     name = "js-yaml-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
-        name = "js-yaml-2.1.0.tgz";
-        sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "js-yaml" ];
+    version = "2.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
+      name = "js-yaml-2.1.0.tgz";
+      sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
+    };
+    deps = {
+      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."js-yaml"."3.0.1" =
     self.by-version."js-yaml"."3.0.1";
-  by-version."js-yaml"."3.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."js-yaml"."3.0.1" = self.buildNodePackage {
     name = "js-yaml-3.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz";
-        name = "js-yaml-3.0.1.tgz";
-        sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "js-yaml" ];
+    version = "3.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz";
+      name = "js-yaml-3.0.1.tgz";
+      sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe";
+    };
+    deps = {
+      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."js-yaml"."3.x" =
-    self.by-version."js-yaml"."3.1.0";
+    self.by-version."js-yaml"."3.2.7";
+  by-spec."js-yaml"."^3.1.0" =
+    self.by-version."js-yaml"."3.2.7";
   by-spec."js-yaml"."~2.0.5" =
     self.by-version."js-yaml"."2.0.5";
-  by-version."js-yaml"."2.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-version."js-yaml"."2.0.5" = self.buildNodePackage {
     name = "js-yaml-2.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
-        name = "js-yaml-2.0.5.tgz";
-        sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "js-yaml" ];
-  };
-  by-spec."js-yaml"."~3.0.1" =
-    self.by-version."js-yaml"."3.0.2";
-  by-version."js-yaml"."3.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-3.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.2.tgz";
-        name = "js-yaml-3.0.2.tgz";
-        sha1 = "9937865f8e897a5e894e73c2c5cf2e89b32eb771";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."js-yaml" or []);
-    deps = [
-      self.by-version."argparse"."0.1.15"
-      self.by-version."esprima"."1.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "js-yaml" ];
+    version = "2.0.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
+      name = "js-yaml-2.0.5.tgz";
+      sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
+    };
+    deps = {
+      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jsdom"."^0.10.5" =
+    self.by-version."jsdom"."0.10.6";
+  by-version."jsdom"."0.10.6" = self.buildNodePackage {
+    name = "jsdom-0.10.6";
+    version = "0.10.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsdom/-/jsdom-0.10.6.tgz";
+      name = "jsdom-0.10.6.tgz";
+      sha1 = "a3b1d875454ba0165575829679939ec006bf5ab8";
+    };
+    deps = {
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "nwmatcher-1.3.4" = self.by-version."nwmatcher"."1.3.4";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "xmlhttprequest-1.7.0" = self.by-version."xmlhttprequest"."1.7.0";
+      "cssom-0.3.0" = self.by-version."cssom"."0.3.0";
+      "cssstyle-0.2.22" = self.by-version."cssstyle"."0.2.22";
+      "contextify-0.1.13" = self.by-version."contextify"."0.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jsdom"."^0.11.0" =
+    self.by-version."jsdom"."0.11.1";
+  by-version."jsdom"."0.11.1" = self.buildNodePackage {
+    name = "jsdom-0.11.1";
+    version = "0.11.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsdom/-/jsdom-0.11.1.tgz";
+      name = "jsdom-0.11.1.tgz";
+      sha1 = "f1a79756ebc2116932caef8c6bfde7022dacdbfb";
+    };
+    deps = {
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "nwmatcher-1.3.4" = self.by-version."nwmatcher"."1.3.4";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "xmlhttprequest-1.7.0" = self.by-version."xmlhttprequest"."1.7.0";
+      "cssom-0.3.0" = self.by-version."cssom"."0.3.0";
+      "cssstyle-0.2.22" = self.by-version."cssstyle"."0.2.22";
+      "contextify-0.1.13" = self.by-version."contextify"."0.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jsdom"."~0.8.6" =
+    self.by-version."jsdom"."0.8.11";
+  by-version."jsdom"."0.8.11" = self.buildNodePackage {
+    name = "jsdom-0.8.11";
+    version = "0.8.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsdom/-/jsdom-0.8.11.tgz";
+      name = "jsdom-0.8.11.tgz";
+      sha1 = "2a065f72863ac491137d19bd762ce9be1955527b";
+    };
+    deps = {
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "nwmatcher-1.3.4" = self.by-version."nwmatcher"."1.3.4";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "xmlhttprequest-1.7.0" = self.by-version."xmlhttprequest"."1.7.0";
+      "cssom-0.3.0" = self.by-version."cssom"."0.3.0";
+      "cssstyle-0.2.22" = self.by-version."cssstyle"."0.2.22";
+      "contextify-0.1.13" = self.by-version."contextify"."0.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jsesc"."0.4.3" =
     self.by-version."jsesc"."0.4.3";
-  by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+  by-version."jsesc"."0.4.3" = self.buildNodePackage {
     name = "jsesc-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
-        name = "jsesc-0.4.3.tgz";
-        sha1 = "a9c7f90afd5a1bf2ee64df6c416dab61672d2ae9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jsesc" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jsesc" ];
+    version = "0.4.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
+      name = "jsesc-0.4.3.tgz";
+      sha1 = "a9c7f90afd5a1bf2ee64df6c416dab61672d2ae9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jsesc"."~0.4.3" =
     self.by-version."jsesc"."0.4.3";
   by-spec."jshint"."*" =
-    self.by-version."jshint"."2.5.4";
-  by-version."jshint"."2.5.4" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.5.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.5.4.tgz";
-        name = "jshint-2.5.4.tgz";
-        sha1 = "3dc82cb37b381b65f0e95ec7a616d39b4e95faef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jshint" or []);
-    deps = [
-      self.by-version."shelljs"."0.3.0"
-      self.by-version."underscore"."1.6.0"
-      self.by-version."cli"."0.6.3"
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."htmlparser2"."3.7.3"
-      self.by-version."console-browserify"."1.1.0"
-      self.by-version."exit"."0.1.2"
-      self.by-version."strip-json-comments"."0.1.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jshint" ];
+    self.by-version."jshint"."2.6.0";
+  by-version."jshint"."2.6.0" = self.buildNodePackage {
+    name = "jshint-2.6.0";
+    version = "2.6.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jshint/-/jshint-2.6.0.tgz";
+      name = "jshint-2.6.0.tgz";
+      sha1 = "04e59d04da83aa32301d89115628274871597f33";
+    };
+    deps = {
+      "cli-0.6.5" = self.by-version."cli"."0.6.5";
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "htmlparser2-3.8.2" = self.by-version."htmlparser2"."3.8.2";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "shelljs-0.3.0" = self.by-version."shelljs"."0.3.0";
+      "strip-json-comments-1.0.2" = self.by-version."strip-json-comments"."1.0.2";
+      "underscore-1.6.0" = self.by-version."underscore"."1.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "jshint" = self.by-version."jshint"."2.6.0";
+  by-spec."jshint"."~2.6.0" =
+    self.by-version."jshint"."2.6.0";
+  by-spec."json"."*" =
+    self.by-version."json"."9.0.3";
+  by-version."json"."9.0.3" = self.buildNodePackage {
+    name = "json-9.0.3";
+    version = "9.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json/-/json-9.0.3.tgz";
+      name = "json-9.0.3.tgz";
+      sha1 = "08dd0eda9dda30a40d978cc8823c2ce72df5d4f1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "json" = self.by-version."json"."9.0.3";
+  by-spec."json-middleware"."^1.0.2" =
+    self.by-version."json-middleware"."1.0.2";
+  by-version."json-middleware"."1.0.2" = self.buildNodePackage {
+    name = "json-middleware-1.0.2";
+    version = "1.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-middleware/-/json-middleware-1.0.2.tgz";
+      name = "json-middleware-1.0.2.tgz";
+      sha1 = "bc55c6d43231df6846df6ba880f72454e2a32596";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "jshint" = self.by-version."jshint"."2.5.4";
-  by-spec."jshint"."~2.5.0" =
-    self.by-version."jshint"."2.5.4";
   by-spec."json-schema"."0.2.2" =
     self.by-version."json-schema"."0.2.2";
-  by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-schema-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
-        name = "json-schema-0.2.2.tgz";
-        sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-schema" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-schema" ];
+  by-version."json-schema"."0.2.2" = self.buildNodePackage {
+    name = "json-schema-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
+      name = "json-schema-0.2.2.tgz";
+      sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."json-stable-stringify"."~0.0.0" =
     self.by-version."json-stable-stringify"."0.0.1";
-  by-version."json-stable-stringify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-stable-stringify-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
-        name = "json-stable-stringify-0.0.1.tgz";
-        sha1 = "611c23e814db375527df851193db59dd2af27f45";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-stable-stringify" or []);
-    deps = [
-      self.by-version."jsonify"."0.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-stable-stringify" ];
+  by-version."json-stable-stringify"."0.0.1" = self.buildNodePackage {
+    name = "json-stable-stringify-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
+      name = "json-stable-stringify-0.0.1.tgz";
+      sha1 = "611c23e814db375527df851193db59dd2af27f45";
+    };
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."json-stringify-safe"."~3.0.0" =
     self.by-version."json-stringify-safe"."3.0.0";
-  by-version."json-stringify-safe"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-stringify-safe-3.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
-        name = "json-stringify-safe-3.0.0.tgz";
-        sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-stringify-safe" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-stringify-safe" ];
+  by-version."json-stringify-safe"."3.0.0" = self.buildNodePackage {
+    name = "json-stringify-safe-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
+      name = "json-stringify-safe-3.0.0.tgz";
+      sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."json-stringify-safe"."~5.0.0" =
     self.by-version."json-stringify-safe"."5.0.0";
-  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-json-stringify-safe-5.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
-        name = "json-stringify-safe-5.0.0.tgz";
-        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-stringify-safe" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-stringify-safe" ];
+  by-version."json-stringify-safe"."5.0.0" = self.buildNodePackage {
+    name = "json-stringify-safe-5.0.0";
+    version = "5.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+      name = "json-stringify-safe-5.0.0.tgz";
+      sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json3"."3.2.6" =
+    self.by-version."json3"."3.2.6";
+  by-version."json3"."3.2.6" = self.buildNodePackage {
+    name = "json3-3.2.6";
+    version = "3.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json3/-/json3-3.2.6.tgz";
+      name = "json3-3.2.6.tgz";
+      sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json5"."^0.2.0" =
+    self.by-version."json5"."0.2.0";
+  by-version."json5"."0.2.0" = self.buildNodePackage {
+    name = "json5-0.2.0";
+    version = "0.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json5/-/json5-0.2.0.tgz";
+      name = "json5-0.2.0.tgz";
+      sha1 = "b6d7035c70c4570f883c7edc759de3ae03db3343";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jsonfile"."^2.0.0" =
+    self.by-version."jsonfile"."2.0.0";
+  by-version."jsonfile"."2.0.0" = self.buildNodePackage {
+    name = "jsonfile-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonfile/-/jsonfile-2.0.0.tgz";
+      name = "jsonfile-2.0.0.tgz";
+      sha1 = "c3944f350bd3c078b392e0aa1633b44662fcf06b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jsonfile"."~1.0.1" =
     self.by-version."jsonfile"."1.0.1";
-  by-version."jsonfile"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonfile-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
-        name = "jsonfile-1.0.1.tgz";
-        sha1 = "ea5efe40b83690b98667614a7392fc60e842c0dd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jsonfile" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jsonfile" ];
+  by-version."jsonfile"."1.0.1" = self.buildNodePackage {
+    name = "jsonfile-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
+      name = "jsonfile-1.0.1.tgz";
+      sha1 = "ea5efe40b83690b98667614a7392fc60e842c0dd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jsonfile"."~1.1.0" =
+    self.by-version."jsonfile"."1.1.1";
+  by-version."jsonfile"."1.1.1" = self.buildNodePackage {
+    name = "jsonfile-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz";
+      name = "jsonfile-1.1.1.tgz";
+      sha1 = "da4fd6ad77f1a255203ea63c7bc32dc31ef64433";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jsonify"."~0.0.0" =
     self.by-version."jsonify"."0.0.0";
-  by-version."jsonify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonify-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
-        name = "jsonify-0.0.0.tgz";
-        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jsonify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jsonify" ];
+  by-version."jsonify"."0.0.0" = self.buildNodePackage {
+    name = "jsonify-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+      name = "jsonify-0.0.0.tgz";
+      sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jsonparse"."0.0.5" =
     self.by-version."jsonparse"."0.0.5";
-  by-version."jsonparse"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsonparse-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz";
-        name = "jsonparse-0.0.5.tgz";
-        sha1 = "330542ad3f0a654665b778f3eb2d9a9fa507ac64";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jsonparse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jsonparse" ];
+  by-version."jsonparse"."0.0.5" = self.buildNodePackage {
+    name = "jsonparse-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz";
+      name = "jsonparse-0.0.5.tgz";
+      sha1 = "330542ad3f0a654665b778f3eb2d9a9fa507ac64";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."jsontool"."*" =
     self.by-version."jsontool"."7.0.2";
-  by-version."jsontool"."7.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-version."jsontool"."7.0.2" = self.buildNodePackage {
     name = "jsontool-7.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.2.tgz";
-        name = "jsontool-7.0.2.tgz";
-        sha1 = "e29d3d1b0766ba4e179a18a96578b904dca43207";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jsontool" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jsontool" ];
+    version = "7.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.2.tgz";
+      name = "jsontool-7.0.2.tgz";
+      sha1 = "e29d3d1b0766ba4e179a18a96578b904dca43207";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "jsontool" = self.by-version."jsontool"."7.0.2";
+  by-spec."jsonwebtoken"."^1.1.1" =
+    self.by-version."jsonwebtoken"."1.3.0";
+  by-version."jsonwebtoken"."1.3.0" = self.buildNodePackage {
+    name = "jsonwebtoken-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-1.3.0.tgz";
+      name = "jsonwebtoken-1.3.0.tgz";
+      sha1 = "683ceee1bbe09a92d9e026ab25e67f97bcf3c3e2";
+    };
+    deps = {
+      "jws-0.2.6" = self.by-version."jws"."0.2.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."jsprim"."0.3.0" =
     self.by-version."jsprim"."0.3.0";
-  by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jsprim-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
-        name = "jsprim-0.3.0.tgz";
-        sha1 = "cd13466ea2480dbd8396a570d47d31dda476f8b1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jsprim" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-      self.by-version."json-schema"."0.2.2"
-      self.by-version."verror"."1.3.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jsprim" ];
-  };
-  by-spec."jstransform"."~3.0.0" =
-    self.by-version."jstransform"."3.0.0";
-  by-version."jstransform"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-jstransform-3.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz";
-        name = "jstransform-3.0.0.tgz";
-        sha1 = "a2591ab6cee8d97bf3be830dbfa2313b87cd640b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jstransform" or []);
-    deps = [
-      self.by-version."base62"."0.1.1"
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-      self.by-version."source-map"."0.1.31"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jstransform" ];
+  by-version."jsprim"."0.3.0" = self.buildNodePackage {
+    name = "jsprim-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
+      name = "jsprim-0.3.0.tgz";
+      sha1 = "cd13466ea2480dbd8396a570d47d31dda476f8b1";
+    };
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+      "json-schema-0.2.2" = self.by-version."json-schema"."0.2.2";
+      "verror-1.3.3" = self.by-version."verror"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jstransform"."^7.0.0" =
+    self.by-version."jstransform"."7.0.0";
+  by-version."jstransform"."7.0.0" = self.buildNodePackage {
+    name = "jstransform-7.0.0";
+    version = "7.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jstransform/-/jstransform-7.0.0.tgz";
+      name = "jstransform-7.0.0.tgz";
+      sha1 = "4f5b7fd0dce2d2ba8b7d0a3190b278ee8bf68a6c";
+    };
+    deps = {
+      "base62-0.1.1" = self.by-version."base62"."0.1.1";
+      "esprima-fb-7001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."7001.1.0-dev-harmony-fb";
+      "source-map-0.1.31" = self.by-version."source-map"."0.1.31";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jstransform"."^9.1.1" =
+    self.by-version."jstransform"."9.1.1";
+  by-version."jstransform"."9.1.1" = self.buildNodePackage {
+    name = "jstransform-9.1.1";
+    version = "9.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jstransform/-/jstransform-9.1.1.tgz";
+      name = "jstransform-9.1.1.tgz";
+      sha1 = "2085ae83ac4e28d5f247c56bf6e43404a85c4b14";
+    };
+    deps = {
+      "base62-0.1.1" = self.by-version."base62"."0.1.1";
+      "esprima-fb-12001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."12001.1.0-dev-harmony-fb";
+      "source-map-0.1.31" = self.by-version."source-map"."0.1.31";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."junk"."~1.0.0" =
+    self.by-version."junk"."1.0.1";
+  by-version."junk"."1.0.1" = self.buildNodePackage {
+    name = "junk-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/junk/-/junk-1.0.1.tgz";
+      name = "junk-1.0.1.tgz";
+      sha1 = "824ef8925f02026f61bc6e6fa346b25fa8f3938b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jwa"."0.0.1" =
+    self.by-version."jwa"."0.0.1";
+  by-version."jwa"."0.0.1" = self.buildNodePackage {
+    name = "jwa-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jwa/-/jwa-0.0.1.tgz";
+      name = "jwa-0.0.1.tgz";
+      sha1 = "2d05f54d68f170648c30fe45944731a388cd07cc";
+    };
+    deps = {
+      "base64url-0.0.6" = self.by-version."base64url"."0.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jws"."0.0.2" =
+    self.by-version."jws"."0.0.2";
+  by-version."jws"."0.0.2" = self.buildNodePackage {
+    name = "jws-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jws/-/jws-0.0.2.tgz";
+      name = "jws-0.0.2.tgz";
+      sha1 = "8c6916977183cce3361da48c8c2e0c606e7a95c6";
+    };
+    deps = {
+      "tap-0.3.3" = self.by-version."tap"."0.3.3";
+      "base64url-0.0.3" = self.by-version."base64url"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jws"."~0.2.6" =
+    self.by-version."jws"."0.2.6";
+  by-version."jws"."0.2.6" = self.buildNodePackage {
+    name = "jws-0.2.6";
+    version = "0.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jws/-/jws-0.2.6.tgz";
+      name = "jws-0.2.6.tgz";
+      sha1 = "e9b7e9ac8d2ac1067413233bc6c20fbd8868e9ba";
+    };
+    deps = {
+      "base64url-0.0.6" = self.by-version."base64url"."0.0.6";
+      "jwa-0.0.1" = self.by-version."jwa"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jwt-simple"."0.1.x" =
+    self.by-version."jwt-simple"."0.1.0";
+  by-version."jwt-simple"."0.1.0" = self.buildNodePackage {
+    name = "jwt-simple-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jwt-simple/-/jwt-simple-0.1.0.tgz";
+      name = "jwt-simple-0.1.0.tgz";
+      sha1 = "546b34aab02e3cd49c43a4279498b34d940041e3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."k-bucket"."^0.4.2" =
+    self.by-version."k-bucket"."0.4.2";
+  by-version."k-bucket"."0.4.2" = self.buildNodePackage {
+    name = "k-bucket-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/k-bucket/-/k-bucket-0.4.2.tgz";
+      name = "k-bucket-0.4.2.tgz";
+      sha1 = "150ab92307e9ec818a9c4e39a5f930eb3aaaa23a";
+    };
+    deps = {
+      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."kareem"."0.0.4" =
+    self.by-version."kareem"."0.0.4";
+  by-version."kareem"."0.0.4" = self.buildNodePackage {
+    name = "kareem-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kareem/-/kareem-0.0.4.tgz";
+      name = "kareem-0.0.4.tgz";
+      sha1 = "a8475defd74cf829b0071d20e6971bf15d911d2b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."karma"."*" =
-    self.by-version."karma"."0.12.22";
-  by-version."karma"."0.12.22" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.12.22";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.12.22.tgz";
-        name = "karma-0.12.22.tgz";
-        sha1 = "05073db2a1ba0638f15cb76a515563be34460dc7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma" or []);
-    deps = [
-      self.by-version."di"."0.0.1"
-      self.by-version."socket.io"."0.9.17"
-      self.by-version."chokidar"."0.8.4"
-      self.by-version."glob"."3.2.11"
-      self.by-version."minimatch"."0.2.14"
-      self.by-version."http-proxy"."0.10.4"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."q"."0.9.7"
-      self.by-version."colors"."0.6.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."log4js"."0.6.18"
-      self.by-version."useragent"."2.0.9"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."connect"."2.12.0"
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "karma" ];
-  };
-  "karma" = self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.31";
+  by-version."karma"."0.12.31" = self.buildNodePackage {
+    name = "karma-0.12.31";
+    version = "0.12.31";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/karma/-/karma-0.12.31.tgz";
+      name = "karma-0.12.31.tgz";
+      sha1 = "806aa7c2acb13a39edb9374a7a477e643a5e94c9";
+    };
+    deps = {
+      "di-0.0.1" = self.by-version."di"."0.0.1";
+      "socket.io-0.9.16" = self.by-version."socket.io"."0.9.16";
+      "chokidar-0.12.6" = self.by-version."chokidar"."0.12.6";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "http-proxy-0.10.4" = self.by-version."http-proxy"."0.10.4";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "log4js-0.6.22" = self.by-version."log4js"."0.6.22";
+      "useragent-2.0.10" = self.by-version."useragent"."2.0.10";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "connect-2.26.6" = self.by-version."connect"."2.26.6";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "karma" = self.by-version."karma"."0.12.31";
   by-spec."karma".">=0.11.11" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.31";
   by-spec."karma".">=0.12.8" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.31";
   by-spec."karma".">=0.9" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.31";
   by-spec."karma".">=0.9.3" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.31";
   by-spec."karma"."~0.12.0" =
-    self.by-version."karma"."0.12.22";
+    self.by-version."karma"."0.12.31";
   by-spec."karma-chrome-launcher"."*" =
-    self.by-version."karma-chrome-launcher"."0.1.4";
-  by-version."karma-chrome-launcher"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-chrome-launcher-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.4.tgz";
-        name = "karma-chrome-launcher-0.1.4.tgz";
-        sha1 = "492f6b8ceed3dacb829b147514c9106660f1b185";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-chrome-launcher" or []);
-    deps = [
-    ];
-    peerDependencies = [
-      self.by-version."karma"."0.12.22"
-    ];
-    passthru.names = [ "karma-chrome-launcher" ];
-  };
-  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.4";
+    self.by-version."karma-chrome-launcher"."0.1.7";
+  by-version."karma-chrome-launcher"."0.1.7" = self.buildNodePackage {
+    name = "karma-chrome-launcher-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.7.tgz";
+      name = "karma-chrome-launcher-0.1.7.tgz";
+      sha1 = "c248cc01d5ae17dafdb16319d0badf637dfb6e59";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."karma"."0.12.31"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.7";
   by-spec."karma-coverage"."*" =
-    self.by-version."karma-coverage"."0.2.6";
-  by-version."karma-coverage"."0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-coverage-0.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.2.6.tgz";
-        name = "karma-coverage-0.2.6.tgz";
-        sha1 = "6ab53e69a03a6e0fe2a0563216895a720040fca9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-coverage" or []);
-    deps = [
-      self.by-version."istanbul"."0.3.0"
-      self.by-version."ibrik"."1.1.1"
-      self.by-version."dateformat"."1.0.8-1.2.3"
-      self.by-version."minimatch"."0.3.0"
-    ];
-    peerDependencies = [
-      self.by-version."karma"."0.12.22"
-    ];
-    passthru.names = [ "karma-coverage" ];
-  };
-  "karma-coverage" = self.by-version."karma-coverage"."0.2.6";
+    self.by-version."karma-coverage"."0.2.7";
+  by-version."karma-coverage"."0.2.7" = self.buildNodePackage {
+    name = "karma-coverage-0.2.7";
+    version = "0.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.2.7.tgz";
+      name = "karma-coverage-0.2.7.tgz";
+      sha1 = "f76740b275bbf30a0ab9f41d8cf56843a0994576";
+    };
+    deps = {
+      "istanbul-0.3.6" = self.by-version."istanbul"."0.3.6";
+      "ibrik-2.0.0" = self.by-version."ibrik"."2.0.0";
+      "dateformat-1.0.11" = self.by-version."dateformat"."1.0.11";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."karma"."0.12.31"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "karma-coverage" = self.by-version."karma-coverage"."0.2.7";
   by-spec."karma-junit-reporter"."*" =
     self.by-version."karma-junit-reporter"."0.2.2";
-  by-version."karma-junit-reporter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-junit-reporter-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.2.tgz";
-        name = "karma-junit-reporter-0.2.2.tgz";
-        sha1 = "4cdd4e21affd3e090e7ba73e3c766ea9e13c45ba";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-junit-reporter" or []);
-    deps = [
-      self.by-version."xmlbuilder"."0.4.2"
-    ];
-    peerDependencies = [
-      self.by-version."karma"."0.12.22"
-    ];
-    passthru.names = [ "karma-junit-reporter" ];
+  by-version."karma-junit-reporter"."0.2.2" = self.buildNodePackage {
+    name = "karma-junit-reporter-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.2.tgz";
+      name = "karma-junit-reporter-0.2.2.tgz";
+      sha1 = "4cdd4e21affd3e090e7ba73e3c766ea9e13c45ba";
+    };
+    deps = {
+      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."karma"."0.12.31"];
+    os = [ ];
+    cpu = [ ];
   };
   "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.2.2";
   by-spec."karma-mocha"."*" =
-    self.by-version."karma-mocha"."0.1.8";
-  by-version."karma-mocha"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-mocha-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.8.tgz";
-        name = "karma-mocha-0.1.8.tgz";
-        sha1 = "7f086bd06ab6151cbd5b0cf1614c15344963fdf6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-mocha" or []);
-    deps = [
-    ];
-    peerDependencies = [
-      self.by-version."karma"."0.12.22"
-      self.by-version."mocha"."1.21.4"
-    ];
-    passthru.names = [ "karma-mocha" ];
-  };
-  "karma-mocha" = self.by-version."karma-mocha"."0.1.8";
+    self.by-version."karma-mocha"."0.1.10";
+  by-version."karma-mocha"."0.1.10" = self.buildNodePackage {
+    name = "karma-mocha-0.1.10";
+    version = "0.1.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.10.tgz";
+      name = "karma-mocha-0.1.10.tgz";
+      sha1 = "29ed51d4b121af1373444ec555b20a905bf42b92";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."karma"."0.12.31"
+      self.by-version."mocha"."2.1.0"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "karma-mocha" = self.by-version."karma-mocha"."0.1.10";
   by-spec."karma-requirejs"."*" =
     self.by-version."karma-requirejs"."0.2.2";
-  by-version."karma-requirejs"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-requirejs-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.2.2.tgz";
-        name = "karma-requirejs-0.2.2.tgz";
-        sha1 = "e497ca0868e2e09a9b8e3f646745c31a935fe8b6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-requirejs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-      self.by-version."karma"."0.12.22"
-      self.by-version."requirejs"."2.1.14"
-    ];
-    passthru.names = [ "karma-requirejs" ];
+  by-version."karma-requirejs"."0.2.2" = self.buildNodePackage {
+    name = "karma-requirejs-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.2.2.tgz";
+      name = "karma-requirejs-0.2.2.tgz";
+      sha1 = "e497ca0868e2e09a9b8e3f646745c31a935fe8b6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."karma"."0.12.31"
+      self.by-version."requirejs"."2.1.16"];
+    os = [ ];
+    cpu = [ ];
   };
   "karma-requirejs" = self.by-version."karma-requirejs"."0.2.2";
   by-spec."karma-sauce-launcher"."*" =
     self.by-version."karma-sauce-launcher"."0.2.10";
-  by-version."karma-sauce-launcher"."0.2.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-karma-sauce-launcher-0.2.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.10.tgz";
-        name = "karma-sauce-launcher-0.2.10.tgz";
-        sha1 = "9aed0df47934c630d2ceb7faa954f5c454deddb0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."karma-sauce-launcher" or []);
-    deps = [
-      self.by-version."wd"."0.3.4"
-      self.by-version."sauce-connect-launcher"."0.6.1"
-      self.by-version."q"."0.9.7"
-      self.by-version."saucelabs"."0.1.1"
-    ];
-    peerDependencies = [
-      self.by-version."karma"."0.12.22"
-    ];
-    passthru.names = [ "karma-sauce-launcher" ];
+  by-version."karma-sauce-launcher"."0.2.10" = self.buildNodePackage {
+    name = "karma-sauce-launcher-0.2.10";
+    version = "0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.10.tgz";
+      name = "karma-sauce-launcher-0.2.10.tgz";
+      sha1 = "9aed0df47934c630d2ceb7faa954f5c454deddb0";
+    };
+    deps = {
+      "wd-0.3.11" = self.by-version."wd"."0.3.11";
+      "sauce-connect-launcher-0.6.1" = self.by-version."sauce-connect-launcher"."0.6.1";
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+      "saucelabs-0.1.1" = self.by-version."saucelabs"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."karma"."0.12.31"];
+    os = [ ];
+    cpu = [ ];
   };
   "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.10";
-  by-spec."keen.io"."~0.1.2" =
-    self.by-version."keen.io"."0.1.2";
-  by-version."keen.io"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keen.io-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/keen.io/-/keen.io-0.1.2.tgz";
-        name = "keen.io-0.1.2.tgz";
-        sha1 = "a55b9d1d8b4354a8845f2a224eb3a6f7271378b2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."keen.io" or []);
-    deps = [
-      self.by-version."superagent"."0.13.0"
-      self.by-version."underscore"."1.5.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "keen.io" ];
-  };
+  by-spec."keen.io"."^0.1.2" =
+    self.by-version."keen.io"."0.1.3";
+  by-version."keen.io"."0.1.3" = self.buildNodePackage {
+    name = "keen.io-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keen.io/-/keen.io-0.1.3.tgz";
+      name = "keen.io-0.1.3.tgz";
+      sha1 = "5056f5c989ab14ccf62fc20ed7598115ae7d09e3";
+    };
+    deps = {
+      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
+      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."keen.io"."~0.1.3" =
+    self.by-version."keen.io"."0.1.3";
   by-spec."keep-alive-agent"."0.0.1" =
     self.by-version."keep-alive-agent"."0.0.1";
-  by-version."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keep-alive-agent-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
-        name = "keep-alive-agent-0.0.1.tgz";
-        sha1 = "44847ca394ce8d6b521ae85816bd64509942b385";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."keep-alive-agent" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "keep-alive-agent" ];
+  by-version."keep-alive-agent"."0.0.1" = self.buildNodePackage {
+    name = "keep-alive-agent-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
+      name = "keep-alive-agent-0.0.1.tgz";
+      sha1 = "44847ca394ce8d6b521ae85816bd64509942b385";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."kerberos"."0.0.3" =
     self.by-version."kerberos"."0.0.3";
-  by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kerberos-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
-        name = "kerberos-0.0.3.tgz";
-        sha1 = "4285d92a0748db2784062f5adcec9f5956cb818a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."kerberos" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "kerberos" ];
+  by-version."kerberos"."0.0.3" = self.buildNodePackage {
+    name = "kerberos-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
+      name = "kerberos-0.0.3.tgz";
+      sha1 = "4285d92a0748db2784062f5adcec9f5956cb818a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."kerberos"."0.0.4" =
+    self.by-version."kerberos"."0.0.4";
+  by-version."kerberos"."0.0.4" = self.buildNodePackage {
+    name = "kerberos-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.4.tgz";
+      name = "kerberos-0.0.4.tgz";
+      sha1 = "11836638f729a2f6c5bae056a7d7a15898c9ba7c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."kerberos"."0.0.7" =
+    self.by-version."kerberos"."0.0.7";
+  by-version."kerberos"."0.0.7" = self.buildNodePackage {
+    name = "kerberos-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.7.tgz";
+      name = "kerberos-0.0.7.tgz";
+      sha1 = "48db5e268e59ebb1626fd3c76ff8ff7f267a9852";
+    };
+    deps = {
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."kerberos"."0.0.9" =
+    self.by-version."kerberos"."0.0.9";
+  by-version."kerberos"."0.0.9" = self.buildNodePackage {
+    name = "kerberos-0.0.9";
+    version = "0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.9.tgz";
+      name = "kerberos-0.0.9.tgz";
+      sha1 = "595bf97e7e8aae5401ae313aea57bbf402e799c5";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."kew"."0.4.0" =
+    self.by-version."kew"."0.4.0";
+  by-version."kew"."0.4.0" = self.buildNodePackage {
+    name = "kew-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kew/-/kew-0.4.0.tgz";
+      name = "kew-0.4.0.tgz";
+      sha1 = "da97484f1b06502146f3c60cec05ac6012cd993f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."kew"."~0.1.7" =
     self.by-version."kew"."0.1.7";
-  by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kew-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
-        name = "kew-0.1.7.tgz";
-        sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."kew" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "kew" ];
+  by-version."kew"."0.1.7" = self.buildNodePackage {
+    name = "kew-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
+      name = "kew-0.1.7.tgz";
+      sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."keygrip"."0.2.x" =
+    self.by-version."keygrip"."0.2.4";
+  by-version."keygrip"."0.2.4" = self.buildNodePackage {
+    name = "keygrip-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keygrip/-/keygrip-0.2.4.tgz";
+      name = "keygrip-0.2.4.tgz";
+      sha1 = "9dd1b2e485a1162c9d4e6f787de87fc50f87bc58";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."keygrip"."~1.0.0" =
     self.by-version."keygrip"."1.0.1";
-  by-version."keygrip"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keygrip-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz";
-        name = "keygrip-1.0.1.tgz";
-        sha1 = "b02fa4816eef21a8c4b35ca9e52921ffc89a30e9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."keygrip" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "keygrip" ];
+  by-version."keygrip"."1.0.1" = self.buildNodePackage {
+    name = "keygrip-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz";
+      name = "keygrip-1.0.1.tgz";
+      sha1 = "b02fa4816eef21a8c4b35ca9e52921ffc89a30e9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."keypress"."0.1.x" =
     self.by-version."keypress"."0.1.0";
-  by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-keypress-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
-        name = "keypress-0.1.0.tgz";
-        sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."keypress" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "keypress" ];
-  };
-  by-spec."keypress"."~0.1.0" =
-    self.by-version."keypress"."0.1.0";
-  by-spec."knockout"."~3.1.0" =
-    self.by-version."knockout"."3.1.0";
-  by-version."knockout"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-knockout-3.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/knockout/-/knockout-3.1.0.tgz";
-        name = "knockout-3.1.0.tgz";
-        sha1 = "8960ecfafa20e1d5795badfbf6256693f17b7bf5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."knockout" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "knockout" ];
+  by-version."keypress"."0.1.0" = self.buildNodePackage {
+    name = "keypress-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
+      name = "keypress-0.1.0.tgz";
+      sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."keypress"."^0.2.1" =
+    self.by-version."keypress"."0.2.1";
+  by-version."keypress"."0.2.1" = self.buildNodePackage {
+    name = "keypress-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz";
+      name = "keypress-0.2.1.tgz";
+      sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."keypress"."~0.2.1" =
+    self.by-version."keypress"."0.2.1";
+  by-spec."kibana-authentication-proxy"."git://github.com/fangli/kibana-authentication-proxy" =
+    self.by-version."kibana-authentication-proxy"."1.1.0";
+  by-version."kibana-authentication-proxy"."1.1.0" = self.buildNodePackage {
+    name = "kibana-authentication-proxy-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchgit {
+      url = "git://github.com/fangli/kibana-authentication-proxy";
+      rev = "0c0173b0cb51b392b7fc04d0cc728ffb64671ef3";
+      sha256 = "dd2e42da959c359bf48d16993c6caf1d810241f7f37dfa4da911dd284571236f";
+    };
+    deps = {
+      "express-3.20.0" = self.by-version."express"."3.20.0";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-google-oauth-0.1.5" = self.by-version."passport-google-oauth"."0.1.5";
+      "connect-restreamer-1.0.1" = self.by-version."connect-restreamer"."1.0.1";
+      "xml2js-0.4.5" = self.by-version."xml2js"."0.4.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "kibana-authentication-proxy" = self.by-version."kibana-authentication-proxy"."1.1.0";
+  by-spec."knockout"."~3.2.0" =
+    self.by-version."knockout"."3.2.0";
+  by-version."knockout"."3.2.0" = self.buildNodePackage {
+    name = "knockout-3.2.0";
+    version = "3.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/knockout/-/knockout-3.2.0.tgz";
+      name = "knockout-3.2.0.tgz";
+      sha1 = "3f394eb67d721bea115e2d0d7be082256ca46a11";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."knox"."*" =
-    self.by-version."knox"."0.9.0";
-  by-version."knox"."0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-knox-0.9.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/knox/-/knox-0.9.0.tgz";
-        name = "knox-0.9.0.tgz";
-        sha1 = "8810e1dfe4332db505a796f5c9a11aee8b393e2c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."knox" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-      self.by-version."xml2js"."0.4.4"
-      self.by-version."debug"."1.0.4"
-      self.by-version."stream-counter"."1.0.0"
-      self.by-version."once"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "knox" ];
-  };
-  "knox" = self.by-version."knox"."0.9.0";
-  by-spec."koa"."*" =
-    self.by-version."koa"."0.10.0";
-  by-version."koa"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-0.10.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa/-/koa-0.10.0.tgz";
-        name = "koa-0.10.0.tgz";
-        sha1 = "876f6ab92ee19b89c7157a108d3c046d48377146";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."statuses"."1.0.4"
-      self.by-version."accepts"."1.0.7"
-      self.by-version."type-is"."1.3.2"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."finished"."1.2.2"
-      self.by-version."co"."3.1.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."koa-compose"."2.3.0"
-      self.by-version."koa-is-json"."1.0.0"
-      self.by-version."cookies"."0.5.0"
-      self.by-version."delegates"."0.0.3"
-      self.by-version."dethroy"."1.0.2"
-      self.by-version."error-inject"."1.0.0"
-      self.by-version."vary"."0.1.0"
-      self.by-version."parseurl"."1.2.0"
-      self.by-version."only"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa" ];
-  };
-  by-spec."koa-compose"."~2.3.0" =
-    self.by-version."koa-compose"."2.3.0";
-  by-version."koa-compose"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-compose-2.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa-compose/-/koa-compose-2.3.0.tgz";
-        name = "koa-compose-2.3.0.tgz";
-        sha1 = "4617fa832a16412a56967334304efd797d6ed35c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa-compose" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa-compose" ];
-  };
-  by-spec."koa-is-json"."~1.0.0" =
-    self.by-version."koa-is-json"."1.0.0";
-  by-version."koa-is-json"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-koa-is-json-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz";
-        name = "koa-is-json-1.0.0.tgz";
-        sha1 = "273c07edcdcb8df6a2c1ab7d59ee76491451ec14";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."koa-is-json" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "koa-is-json" ];
-  };
+    self.by-version."knox"."0.9.2";
+  by-version."knox"."0.9.2" = self.buildNodePackage {
+    name = "knox-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/knox/-/knox-0.9.2.tgz";
+      name = "knox-0.9.2.tgz";
+      sha1 = "3736593669e24f024fdaf723b6a1dc4afd839a71";
+    };
+    deps = {
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "xml2js-0.4.5" = self.by-version."xml2js"."0.4.5";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "stream-counter-1.0.0" = self.by-version."stream-counter"."1.0.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "knox" = self.by-version."knox"."0.9.2";
   by-spec."kue"."*" =
-    self.by-version."kue"."0.8.5";
-  by-version."kue"."0.8.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-kue-0.8.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/kue/-/kue-0.8.5.tgz";
-        name = "kue-0.8.5.tgz";
-        sha1 = "253d7a9a0bdd086100e48bbcce6c7dfad3381ed4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."kue" or []);
-    deps = [
-      self.by-version."redis"."0.10.3"
-      self.by-version."express"."3.1.2"
-      self.by-version."jade"."1.1.5"
-      self.by-version."stylus"."0.42.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."lodash-deep"."1.2.1"
-      self.by-version."nib"."0.5.0"
-      self.by-version."reds"."0.2.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "kue" ];
-  };
-  "kue" = self.by-version."kue"."0.8.5";
+    self.by-version."kue"."0.8.11";
+  by-version."kue"."0.8.11" = self.buildNodePackage {
+    name = "kue-0.8.11";
+    version = "0.8.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/kue/-/kue-0.8.11.tgz";
+      name = "kue-0.8.11.tgz";
+      sha1 = "0e18c6f827b73deb68a6ee06b55c14d4797450b0";
+    };
+    deps = {
+      "redis-0.10.3" = self.by-version."redis"."0.10.3";
+      "express-3.1.2" = self.by-version."express"."3.1.2";
+      "jade-1.1.5" = self.by-version."jade"."1.1.5";
+      "stylus-0.42.2" = self.by-version."stylus"."0.42.2";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "lodash-deep-1.5.3" = self.by-version."lodash-deep"."1.5.3";
+      "nib-0.5.0" = self.by-version."nib"."0.5.0";
+      "reds-0.2.5" = self.by-version."reds"."0.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "kue" = self.by-version."kue"."0.8.11";
   by-spec."labeled-stream-splicer"."^1.0.0" =
-    self.by-version."labeled-stream-splicer"."1.0.0";
-  by-version."labeled-stream-splicer"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-labeled-stream-splicer-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-1.0.0.tgz";
-        name = "labeled-stream-splicer-1.0.0.tgz";
-        sha1 = "cb1282bc2d8e9a4bfb3bcda184e8f017deea7c1d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."labeled-stream-splicer" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."stream-splicer"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "labeled-stream-splicer" ];
+    self.by-version."labeled-stream-splicer"."1.0.2";
+  by-version."labeled-stream-splicer"."1.0.2" = self.buildNodePackage {
+    name = "labeled-stream-splicer-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-1.0.2.tgz";
+      name = "labeled-stream-splicer-1.0.2.tgz";
+      sha1 = "4615331537784981e8fd264e1f3a434c4e0ddd65";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "stream-splicer-1.3.1" = self.by-version."stream-splicer"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."latest-version"."^0.2.0" =
+    self.by-version."latest-version"."0.2.0";
+  by-version."latest-version"."0.2.0" = self.buildNodePackage {
+    name = "latest-version-0.2.0";
+    version = "0.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/latest-version/-/latest-version-0.2.0.tgz";
+      name = "latest-version-0.2.0.tgz";
+      sha1 = "adaf898d5f22380d3f9c45386efdff0a1b5b7501";
+    };
+    deps = {
+      "package-json-0.2.0" = self.by-version."package-json"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."latest-version"."^1.0.0" =
+    self.by-version."latest-version"."1.0.0";
+  by-version."latest-version"."1.0.0" = self.buildNodePackage {
+    name = "latest-version-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/latest-version/-/latest-version-1.0.0.tgz";
+      name = "latest-version-1.0.0.tgz";
+      sha1 = "84f40e5c90745c7e4f7811624d6152c381d931d9";
+    };
+    deps = {
+      "package-json-1.1.0" = self.by-version."package-json"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lazy"."~1.0.11" =
     self.by-version."lazy"."1.0.11";
-  by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lazy-1.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
-        name = "lazy-1.0.11.tgz";
-        sha1 = "daa068206282542c088288e975c297c1ae77b690";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lazy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lazy" ];
+  by-version."lazy"."1.0.11" = self.buildNodePackage {
+    name = "lazy-1.0.11";
+    version = "1.0.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
+      name = "lazy-1.0.11.tgz";
+      sha1 = "daa068206282542c088288e975c297c1ae77b690";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lazystream"."~0.1.0" =
     self.by-version."lazystream"."0.1.0";
-  by-version."lazystream"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lazystream-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz";
-        name = "lazystream-0.1.0.tgz";
-        sha1 = "1b25d63c772a4c20f0a5ed0a9d77f484b6e16920";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lazystream" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lazystream" ];
+  by-version."lazystream"."0.1.0" = self.buildNodePackage {
+    name = "lazystream-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz";
+      name = "lazystream-0.1.0.tgz";
+      sha1 = "1b25d63c772a4c20f0a5ed0a9d77f484b6e16920";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lcov-parse"."0.0.6" =
     self.by-version."lcov-parse"."0.0.6";
-  by-version."lcov-parse"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lcov-parse-0.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz";
-        name = "lcov-parse-0.0.6.tgz";
-        sha1 = "819e5da8bf0791f9d3f39eea5ed1868187f11175";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lcov-parse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lcov-parse" ];
+  by-version."lcov-parse"."0.0.6" = self.buildNodePackage {
+    name = "lcov-parse-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz";
+      name = "lcov-parse-0.0.6.tgz";
+      sha1 = "819e5da8bf0791f9d3f39eea5ed1868187f11175";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lcov-result-merger"."*" =
-    self.by-version."lcov-result-merger"."1.0.0";
-  by-version."lcov-result-merger"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lcov-result-merger-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.0.0.tgz";
-        name = "lcov-result-merger-1.0.0.tgz";
-        sha1 = "c0afba9711b1cd8ef6a43e71254a39a9882f6ff5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lcov-result-merger" or []);
-    deps = [
-      self.by-version."through2"."0.5.1"
-      self.by-version."vinyl"."0.2.3"
-      self.by-version."vinyl-fs"."0.3.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lcov-result-merger" ];
+    self.by-version."lcov-result-merger"."1.0.2";
+  by-version."lcov-result-merger"."1.0.2" = self.buildNodePackage {
+    name = "lcov-result-merger-1.0.2";
+    version = "1.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.0.2.tgz";
+      name = "lcov-result-merger-1.0.2.tgz";
+      sha1 = "a7a1cf861daf32deb39949c2eee8c9a9ed475c18";
+    };
+    deps = {
+      "through2-0.6.3" = self.by-version."through2"."0.6.3";
+      "vinyl-0.4.6" = self.by-version."vinyl"."0.4.6";
+      "vinyl-fs-0.3.13" = self.by-version."vinyl-fs"."0.3.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "lcov-result-merger" = self.by-version."lcov-result-merger"."1.0.2";
+  by-spec."ldapjs"."^0.7.1" =
+    self.by-version."ldapjs"."0.7.1";
+  by-version."ldapjs"."0.7.1" = self.buildNodePackage {
+    name = "ldapjs-0.7.1";
+    version = "0.7.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ldapjs/-/ldapjs-0.7.1.tgz";
+      name = "ldapjs-0.7.1.tgz";
+      sha1 = "684798a687640bab1afbd802cf532f30492dfb56";
+    };
+    deps = {
+      "asn1-0.2.1" = self.by-version."asn1"."0.2.1";
+      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "bunyan-0.22.1" = self.by-version."bunyan"."0.22.1";
+      "nopt-2.1.1" = self.by-version."nopt"."2.1.1";
+      "pooling-0.4.6" = self.by-version."pooling"."0.4.6";
+    };
+    optionalDependencies = {
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "lcov-result-merger" = self.by-version."lcov-result-merger"."1.0.0";
   by-spec."less"."*" =
-    self.by-version."less"."1.7.4";
-  by-version."less"."1.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "less-1.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/less/-/less-1.7.4.tgz";
-        name = "less-1.7.4.tgz";
-        sha1 = "1db03afd0d1b848d898d10d2690d79ee3834026d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."less" or []);
-    deps = [
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."mime"."1.2.11"
-      self.by-version."request"."2.34.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."clean-css"."2.1.8"
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "less" ];
+    self.by-version."less"."2.4.0";
+  by-version."less"."2.4.0" = self.buildNodePackage {
+    name = "less-2.4.0";
+    version = "2.4.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/less/-/less-2.4.0.tgz";
+      name = "less-2.4.0.tgz";
+      sha1 = "ce51b38f1c05a0cdd47982fac40dd0a39cec2031";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "errno-0.1.1" = self.by-version."errno"."0.1.1";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "image-size-0.3.5" = self.by-version."image-size"."0.3.5";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "promise-6.1.0" = self.by-version."promise"."6.1.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "source-map-0.2.0" = self.by-version."source-map"."0.2.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "less" = self.by-version."less"."2.4.0";
+  by-spec."less"."^2.1.0" =
+    self.by-version."less"."2.4.0";
+  by-spec."levn"."~0.2.5" =
+    self.by-version."levn"."0.2.5";
+  by-version."levn"."0.2.5" = self.buildNodePackage {
+    name = "levn-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/levn/-/levn-0.2.5.tgz";
+      name = "levn-0.2.5.tgz";
+      sha1 = "ba8d339d0ca4a610e3a3f145b9caf48807155054";
+    };
+    deps = {
+      "prelude-ls-1.1.1" = self.by-version."prelude-ls"."1.1.1";
+      "type-check-0.3.1" = self.by-version."type-check"."0.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lexical-scope"."~0.0.14" =
+    self.by-version."lexical-scope"."0.0.15";
+  by-version."lexical-scope"."0.0.15" = self.buildNodePackage {
+    name = "lexical-scope-0.0.15";
+    version = "0.0.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.15.tgz";
+      name = "lexical-scope-0.0.15.tgz";
+      sha1 = "ca595997aaed87b155cb041f48dc0438f48a04dc";
+    };
+    deps = {
+      "astw-0.0.0" = self.by-version."astw"."0.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lexical-scope"."~0.1.0" =
+    self.by-version."lexical-scope"."0.1.0";
+  by-version."lexical-scope"."0.1.0" = self.buildNodePackage {
+    name = "lexical-scope-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-0.1.0.tgz";
+      name = "lexical-scope-0.1.0.tgz";
+      sha1 = "8f30004c80234ffac083b990079d7b267e18441b";
+    };
+    deps = {
+      "astw-0.1.0" = self.by-version."astw"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "less" = self.by-version."less"."1.7.4";
-  by-spec."less"."^1.7.2" =
-    self.by-version."less"."1.7.4";
   by-spec."lexical-scope"."~1.1.0" =
     self.by-version."lexical-scope"."1.1.0";
-  by-version."lexical-scope"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lexical-scope-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz";
-        name = "lexical-scope-1.1.0.tgz";
-        sha1 = "899f36c4ec9c5af19736361aae290a6ef2af0800";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lexical-scope" or []);
-    deps = [
-      self.by-version."astw"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lexical-scope" ];
+  by-version."lexical-scope"."1.1.0" = self.buildNodePackage {
+    name = "lexical-scope-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz";
+      name = "lexical-scope-1.1.0.tgz";
+      sha1 = "899f36c4ec9c5af19736361aae290a6ef2af0800";
+    };
+    deps = {
+      "astw-1.1.0" = self.by-version."astw"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."libbase64"."^0.1.0" =
+    self.by-version."libbase64"."0.1.0";
+  by-version."libbase64"."0.1.0" = self.buildNodePackage {
+    name = "libbase64-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz";
+      name = "libbase64-0.1.0.tgz";
+      sha1 = "62351a839563ac5ff5bd26f12f60e9830bb751e6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."libmime"."^0.1.3" =
+    self.by-version."libmime"."0.1.7";
+  by-version."libmime"."0.1.7" = self.buildNodePackage {
+    name = "libmime-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/libmime/-/libmime-0.1.7.tgz";
+      name = "libmime-0.1.7.tgz";
+      sha1 = "827b8d4df349e08c6cff1bc6d6b51ec57d349cb2";
+    };
+    deps = {
+      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+      "libbase64-0.1.0" = self.by-version."libbase64"."0.1.0";
+      "libqp-0.1.1" = self.by-version."libqp"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."libmime"."^0.1.5" =
+    self.by-version."libmime"."0.1.7";
+  by-spec."libqp"."^0.1.1" =
+    self.by-version."libqp"."0.1.1";
+  by-version."libqp"."0.1.1" = self.buildNodePackage {
+    name = "libqp-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/libqp/-/libqp-0.1.1.tgz";
+      name = "libqp-0.1.1.tgz";
+      sha1 = "2d10cabb96b14fe9649f4ae353a39baa90063b01";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."libxmljs"."~0.10.0" =
     self.by-version."libxmljs"."0.10.0";
-  by-version."libxmljs"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-libxmljs-0.10.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.10.0.tgz";
-        name = "libxmljs-0.10.0.tgz";
-        sha1 = "847eb4b0545b02d1c235e1f8371818cf709d3256";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."libxmljs" or []);
-    deps = [
-      self.by-version."bindings"."1.1.1"
-      self.by-version."nan"."1.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "libxmljs" ];
-  };
-  by-spec."libyaml"."*" =
-    self.by-version."libyaml"."0.2.4";
-  by-version."libyaml"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-libyaml-0.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.4.tgz";
-        name = "libyaml-0.2.4.tgz";
-        sha1 = "46b6abe00ef0bc0ac60ca599c0e7c80ff920e959";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."libyaml" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "libyaml" ];
-  };
-  "libyaml" = self.by-version."libyaml"."0.2.4";
-  by-spec."lockfile"."~0.4.0" =
-    self.by-version."lockfile"."0.4.3";
-  by-version."lockfile"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lockfile-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.3.tgz";
-        name = "lockfile-0.4.3.tgz";
-        sha1 = "79b965ee9b32d9dd24b59cf81205e6dcb6d3b224";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lockfile" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lockfile" ];
+  by-version."libxmljs"."0.10.0" = self.buildNodePackage {
+    name = "libxmljs-0.10.0";
+    version = "0.10.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.10.0.tgz";
+      name = "libxmljs-0.10.0.tgz";
+      sha1 = "847eb4b0545b02d1c235e1f8371818cf709d3256";
+    };
+    deps = {
+      "bindings-1.1.1" = self.by-version."bindings"."1.1.1";
+      "nan-1.1.2" = self.by-version."nan"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."liftoff"."^2.0.1" =
+    self.by-version."liftoff"."2.0.1";
+  by-version."liftoff"."2.0.1" = self.buildNodePackage {
+    name = "liftoff-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/liftoff/-/liftoff-2.0.1.tgz";
+      name = "liftoff-2.0.1.tgz";
+      sha1 = "caa1ebe02fe5dc81660e50f7896173ea88908abe";
+    };
+    deps = {
+      "extend-1.3.0" = self.by-version."extend"."1.3.0";
+      "findup-sync-0.2.1" = self.by-version."findup-sync"."0.2.1";
+      "flagged-respawn-0.3.1" = self.by-version."flagged-respawn"."0.3.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "resolve-1.0.0" = self.by-version."resolve"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lockfile"."~1.0.0" =
+    self.by-version."lockfile"."1.0.0";
+  by-version."lockfile"."1.0.0" = self.buildNodePackage {
+    name = "lockfile-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz";
+      name = "lockfile-1.0.0.tgz";
+      sha1 = "b3a7609dda6012060083bacb0ab0ecbca58e9203";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."*" =
+    self.by-version."lodash"."3.3.0";
+  by-version."lodash"."3.3.0" = self.buildNodePackage {
+    name = "lodash-3.3.0";
+    version = "3.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-3.3.0.tgz";
+      name = "lodash-3.3.0.tgz";
+      sha1 = "011ce52d01b14e60eaeea76acb9b8ba42c70581b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lodash"."2.4.1" =
     self.by-version."lodash"."2.4.1";
-  by-version."lodash"."2.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-2.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz";
-        name = "lodash-2.4.1.tgz";
-        sha1 = "5b7723034dda4d262e5a46fb2c58d7cc22f71420";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
+  by-version."lodash"."2.4.1" = self.buildNodePackage {
+    name = "lodash-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz";
+      name = "lodash-2.4.1.tgz";
+      sha1 = "5b7723034dda4d262e5a46fb2c58d7cc22f71420";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lodash".">=2.4.1" =
-    self.by-version."lodash"."2.4.1";
+    self.by-version."lodash"."3.3.0";
   by-spec."lodash"."^2.4.1" =
     self.by-version."lodash"."2.4.1";
+  by-spec."lodash"."^3.2.0" =
+    self.by-version."lodash"."3.3.0";
   by-spec."lodash"."~0.9.2" =
     self.by-version."lodash"."0.9.2";
-  by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-0.9.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
-        name = "lodash-0.9.2.tgz";
-        sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
+  by-version."lodash"."0.9.2" = self.buildNodePackage {
+    name = "lodash-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
+      name = "lodash-0.9.2.tgz";
+      sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lodash"."~1.0.1" =
     self.by-version."lodash"."1.0.1";
-  by-version."lodash"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz";
-        name = "lodash-1.0.1.tgz";
-        sha1 = "57945732498d92310e5bd4b1ff4f273a79e6c9fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
+  by-version."lodash"."1.0.1" = self.buildNodePackage {
+    name = "lodash-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz";
+      name = "lodash-1.0.1.tgz";
+      sha1 = "57945732498d92310e5bd4b1ff4f273a79e6c9fc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."~1.3.1" =
+    self.by-version."lodash"."1.3.1";
+  by-version."lodash"."1.3.1" = self.buildNodePackage {
+    name = "lodash-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
+      name = "lodash-1.3.1.tgz";
+      sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lodash"."~2.4.1" =
     self.by-version."lodash"."2.4.1";
+  by-spec."lodash"."~3.2" =
+    self.by-version."lodash"."3.2.0";
+  by-version."lodash"."3.2.0" = self.buildNodePackage {
+    name = "lodash-3.2.0";
+    version = "3.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz";
+      name = "lodash-3.2.0.tgz";
+      sha1 = "4bf50a3243f9aeb0bac41a55d3d5990675a462fb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."~3.3.0" =
+    self.by-version."lodash"."3.3.0";
   by-spec."lodash-deep"."^1.1.0" =
-    self.by-version."lodash-deep"."1.2.1";
-  by-version."lodash-deep"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-deep-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash-deep/-/lodash-deep-1.2.1.tgz";
-        name = "lodash-deep-1.2.1.tgz";
-        sha1 = "04ea62f43112151388de983f7e07c3e6ded07225";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash-deep" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash-deep" ];
+    self.by-version."lodash-deep"."1.5.3";
+  by-version."lodash-deep"."1.5.3" = self.buildNodePackage {
+    name = "lodash-deep-1.5.3";
+    version = "1.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash-deep/-/lodash-deep-1.5.3.tgz";
+      name = "lodash-deep-1.5.3.tgz";
+      sha1 = "eeddfdd937ed24c2c903fc242cb15a26362321d2";
+    };
+    deps = {
+      "lodash-3.3.0" = self.by-version."lodash"."3.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lodash-node"."~2.4.1" =
     self.by-version."lodash-node"."2.4.1";
-  by-version."lodash-node"."2.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lodash-node-2.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz";
-        name = "lodash-node-2.4.1.tgz";
-        sha1 = "ea82f7b100c733d1a42af76801e506105e2a80ec";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash-node" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash-node" ];
+  by-version."lodash-node"."2.4.1" = self.buildNodePackage {
+    name = "lodash-node-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz";
+      name = "lodash-node-2.4.1.tgz";
+      sha1 = "ea82f7b100c733d1a42af76801e506105e2a80ec";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._basecopy"."^3.0.0" =
+    self.by-version."lodash._basecopy"."3.0.0";
+  by-version."lodash._basecopy"."3.0.0" = self.buildNodePackage {
+    name = "lodash._basecopy-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.0.tgz";
+      name = "lodash._basecopy-3.0.0.tgz";
+      sha1 = "4e9d01a982cf7f2bac7ba5adb85bb3ae069cb8e6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._basetostring"."^3.0.0" =
+    self.by-version."lodash._basetostring"."3.0.0";
+  by-version."lodash._basetostring"."3.0.0" = self.buildNodePackage {
+    name = "lodash._basetostring-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.0.tgz";
+      name = "lodash._basetostring-3.0.0.tgz";
+      sha1 = "75a9a4aaaa2b2a8761111ff5431e7d83c1daf0e2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._basevalues"."^3.0.0" =
+    self.by-version."lodash._basevalues"."3.0.0";
+  by-version."lodash._basevalues"."3.0.0" = self.buildNodePackage {
+    name = "lodash._basevalues-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz";
+      name = "lodash._basevalues-3.0.0.tgz";
+      sha1 = "5b775762802bde3d3297503e26300820fdf661b7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._createpad"."^3.0.0" =
+    self.by-version."lodash._createpad"."3.0.1";
+  by-version."lodash._createpad"."3.0.1" = self.buildNodePackage {
+    name = "lodash._createpad-3.0.1";
+    version = "3.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._createpad/-/lodash._createpad-3.0.1.tgz";
+      name = "lodash._createpad-3.0.1.tgz";
+      sha1 = "90c6bdbc84c48edfa026896e31856b1a0ec50842";
+    };
+    deps = {
+      "lodash.repeat-3.0.0" = self.by-version."lodash.repeat"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._isiterateecall"."^3.0.0" =
+    self.by-version."lodash._isiterateecall"."3.0.2";
+  by-version."lodash._isiterateecall"."3.0.2" = self.buildNodePackage {
+    name = "lodash._isiterateecall-3.0.2";
+    version = "3.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.2.tgz";
+      name = "lodash._isiterateecall-3.0.2.tgz";
+      sha1 = "08287668d0cb67dcd4e25194be3f4f563b16c013";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._isnative"."~2.4.1" =
+    self.by-version."lodash._isnative"."2.4.1";
+  by-version."lodash._isnative"."2.4.1" = self.buildNodePackage {
+    name = "lodash._isnative-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz";
+      name = "lodash._isnative-2.4.1.tgz";
+      sha1 = "3ea6404b784a7be836c7b57580e1cdf79b14832c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._objecttypes"."~2.4.1" =
+    self.by-version."lodash._objecttypes"."2.4.1";
+  by-version."lodash._objecttypes"."2.4.1" = self.buildNodePackage {
+    name = "lodash._objecttypes-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz";
+      name = "lodash._objecttypes-2.4.1.tgz";
+      sha1 = "7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._reescape"."^3.0.0" =
+    self.by-version."lodash._reescape"."3.0.0";
+  by-version."lodash._reescape"."3.0.0" = self.buildNodePackage {
+    name = "lodash._reescape-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz";
+      name = "lodash._reescape-3.0.0.tgz";
+      sha1 = "2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._reevaluate"."^3.0.0" =
+    self.by-version."lodash._reevaluate"."3.0.0";
+  by-version."lodash._reevaluate"."3.0.0" = self.buildNodePackage {
+    name = "lodash._reevaluate-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz";
+      name = "lodash._reevaluate-3.0.0.tgz";
+      sha1 = "58bc74c40664953ae0b124d806996daca431e2ed";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash._reinterpolate"."^3.0.0" =
+    self.by-version."lodash._reinterpolate"."3.0.0";
+  by-version."lodash._reinterpolate"."3.0.0" = self.buildNodePackage {
+    name = "lodash._reinterpolate-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
+      name = "lodash._reinterpolate-3.0.0.tgz";
+      sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.debounce"."^2.4.1" =
+    self.by-version."lodash.debounce"."2.4.1";
+  by-version."lodash.debounce"."2.4.1" = self.buildNodePackage {
+    name = "lodash.debounce-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz";
+      name = "lodash.debounce-2.4.1.tgz";
+      sha1 = "d8cead246ec4b926e8b85678fc396bfeba8cc6fc";
+    };
+    deps = {
+      "lodash.isfunction-2.4.1" = self.by-version."lodash.isfunction"."2.4.1";
+      "lodash.isobject-2.4.1" = self.by-version."lodash.isobject"."2.4.1";
+      "lodash.now-2.4.1" = self.by-version."lodash.now"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.escape"."^3.0.0" =
+    self.by-version."lodash.escape"."3.0.0";
+  by-version."lodash.escape"."3.0.0" = self.buildNodePackage {
+    name = "lodash.escape-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.escape/-/lodash.escape-3.0.0.tgz";
+      name = "lodash.escape-3.0.0.tgz";
+      sha1 = "fb294c99a7bfb586039f66d6b9c27ed874cb7b51";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.isarguments"."^3.0.0" =
+    self.by-version."lodash.isarguments"."3.0.0";
+  by-version."lodash.isarguments"."3.0.0" = self.buildNodePackage {
+    name = "lodash.isarguments-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.0.tgz";
+      name = "lodash.isarguments-3.0.0.tgz";
+      sha1 = "e94b8658069e52f924a8ea8be6718d2d0baf480f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.isarray"."^3.0.0" =
+    self.by-version."lodash.isarray"."3.0.0";
+  by-version."lodash.isarray"."3.0.0" = self.buildNodePackage {
+    name = "lodash.isarray-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.0.tgz";
+      name = "lodash.isarray-3.0.0.tgz";
+      sha1 = "356d4a93ffd7869a03292d8452c29ea398e68aa4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.isfunction"."~2.4.1" =
+    self.by-version."lodash.isfunction"."2.4.1";
+  by-version."lodash.isfunction"."2.4.1" = self.buildNodePackage {
+    name = "lodash.isfunction-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz";
+      name = "lodash.isfunction-2.4.1.tgz";
+      sha1 = "2cfd575c73e498ab57e319b77fa02adef13a94d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.isnative"."^3.0.0" =
+    self.by-version."lodash.isnative"."3.0.0";
+  by-version."lodash.isnative"."3.0.0" = self.buildNodePackage {
+    name = "lodash.isnative-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.isnative/-/lodash.isnative-3.0.0.tgz";
+      name = "lodash.isnative-3.0.0.tgz";
+      sha1 = "39e0a695377296528c14c36793f3801f6d6d0214";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.isobject"."~2.4.1" =
+    self.by-version."lodash.isobject"."2.4.1";
+  by-version."lodash.isobject"."2.4.1" = self.buildNodePackage {
+    name = "lodash.isobject-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz";
+      name = "lodash.isobject-2.4.1.tgz";
+      sha1 = "5a2e47fe69953f1ee631a7eba1fe64d2d06558f5";
+    };
+    deps = {
+      "lodash._objecttypes-2.4.1" = self.by-version."lodash._objecttypes"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.keys"."^3.0.0" =
+    self.by-version."lodash.keys"."3.0.3";
+  by-version."lodash.keys"."3.0.3" = self.buildNodePackage {
+    name = "lodash.keys-3.0.3";
+    version = "3.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-3.0.3.tgz";
+      name = "lodash.keys-3.0.3.tgz";
+      sha1 = "5089c0bd05d3ade6aba807c9b2b7521c4c344d1c";
+    };
+    deps = {
+      "lodash.isarguments-3.0.0" = self.by-version."lodash.isarguments"."3.0.0";
+      "lodash.isarray-3.0.0" = self.by-version."lodash.isarray"."3.0.0";
+      "lodash.isnative-3.0.0" = self.by-version."lodash.isnative"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.now"."~2.4.1" =
+    self.by-version."lodash.now"."2.4.1";
+  by-version."lodash.now"."2.4.1" = self.buildNodePackage {
+    name = "lodash.now-2.4.1";
+    version = "2.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz";
+      name = "lodash.now-2.4.1.tgz";
+      sha1 = "6872156500525185faf96785bb7fe7fe15b562c6";
+    };
+    deps = {
+      "lodash._isnative-2.4.1" = self.by-version."lodash._isnative"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.pad"."^3.0.0" =
+    self.by-version."lodash.pad"."3.0.0";
+  by-version."lodash.pad"."3.0.0" = self.buildNodePackage {
+    name = "lodash.pad-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.pad/-/lodash.pad-3.0.0.tgz";
+      name = "lodash.pad-3.0.0.tgz";
+      sha1 = "1824e4756a3504b3af7b7a5b9d1f7501b43b2c25";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+      "lodash._createpad-3.0.1" = self.by-version."lodash._createpad"."3.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.padleft"."^3.0.0" =
+    self.by-version."lodash.padleft"."3.0.0";
+  by-version."lodash.padleft"."3.0.0" = self.buildNodePackage {
+    name = "lodash.padleft-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.0.0.tgz";
+      name = "lodash.padleft-3.0.0.tgz";
+      sha1 = "448ac9e28ceb15d0ce9ae8e59dc9311ad17b4390";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+      "lodash._createpad-3.0.1" = self.by-version."lodash._createpad"."3.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.padright"."^3.0.0" =
+    self.by-version."lodash.padright"."3.0.0";
+  by-version."lodash.padright"."3.0.0" = self.buildNodePackage {
+    name = "lodash.padright-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.0.0.tgz";
+      name = "lodash.padright-3.0.0.tgz";
+      sha1 = "caf2c8222c36d448fe0407b028630e6c5d1b06c6";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+      "lodash._createpad-3.0.1" = self.by-version."lodash._createpad"."3.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.reescape"."^3.0.0" =
+    self.by-version."lodash.reescape"."3.0.1";
+  by-version."lodash.reescape"."3.0.1" = self.buildNodePackage {
+    name = "lodash.reescape-3.0.1";
+    version = "3.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.reescape/-/lodash.reescape-3.0.1.tgz";
+      name = "lodash.reescape-3.0.1.tgz";
+      sha1 = "16d27d4591a839a10b13cdff61dc9624ed237a23";
+    };
+    deps = {
+      "lodash._reescape-3.0.0" = self.by-version."lodash._reescape"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.reevaluate"."^3.0.0" =
+    self.by-version."lodash.reevaluate"."3.0.1";
+  by-version."lodash.reevaluate"."3.0.1" = self.buildNodePackage {
+    name = "lodash.reevaluate-3.0.1";
+    version = "3.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.reevaluate/-/lodash.reevaluate-3.0.1.tgz";
+      name = "lodash.reevaluate-3.0.1.tgz";
+      sha1 = "6f67caca85c95bfd48f1df259e253d40988ca764";
+    };
+    deps = {
+      "lodash._reevaluate-3.0.0" = self.by-version."lodash._reevaluate"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.reinterpolate"."^3.0.0" =
+    self.by-version."lodash.reinterpolate"."3.0.1";
+  by-version."lodash.reinterpolate"."3.0.1" = self.buildNodePackage {
+    name = "lodash.reinterpolate-3.0.1";
+    version = "3.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.reinterpolate/-/lodash.reinterpolate-3.0.1.tgz";
+      name = "lodash.reinterpolate-3.0.1.tgz";
+      sha1 = "61aaa0667f0a5c521a9f8c31a06c72b8b684d6b0";
+    };
+    deps = {
+      "lodash._reinterpolate-3.0.0" = self.by-version."lodash._reinterpolate"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.repeat"."^3.0.0" =
+    self.by-version."lodash.repeat"."3.0.0";
+  by-version."lodash.repeat"."3.0.0" = self.buildNodePackage {
+    name = "lodash.repeat-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.0.tgz";
+      name = "lodash.repeat-3.0.0.tgz";
+      sha1 = "c340f4136c99dc5b2e397b3fd50cffbd172a94b0";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.template"."^3.0.0" =
+    self.by-version."lodash.template"."3.3.0";
+  by-version."lodash.template"."3.3.0" = self.buildNodePackage {
+    name = "lodash.template-3.3.0";
+    version = "3.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.template/-/lodash.template-3.3.0.tgz";
+      name = "lodash.template-3.3.0.tgz";
+      sha1 = "7392a42a6f18cf3cbaac587c01b7f922a0529b09";
+    };
+    deps = {
+      "lodash._basecopy-3.0.0" = self.by-version."lodash._basecopy"."3.0.0";
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+      "lodash._basevalues-3.0.0" = self.by-version."lodash._basevalues"."3.0.0";
+      "lodash._isiterateecall-3.0.2" = self.by-version."lodash._isiterateecall"."3.0.2";
+      "lodash._reinterpolate-3.0.0" = self.by-version."lodash._reinterpolate"."3.0.0";
+      "lodash.escape-3.0.0" = self.by-version."lodash.escape"."3.0.0";
+      "lodash.keys-3.0.3" = self.by-version."lodash.keys"."3.0.3";
+      "lodash.templatesettings-3.1.0" = self.by-version."lodash.templatesettings"."3.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.templatesettings"."^3.0.0" =
+    self.by-version."lodash.templatesettings"."3.1.0";
+  by-version."lodash.templatesettings"."3.1.0" = self.buildNodePackage {
+    name = "lodash.templatesettings-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.0.tgz";
+      name = "lodash.templatesettings-3.1.0.tgz";
+      sha1 = "53852fd832b920605a2eb61919bcbbfb8f385bb6";
+    };
+    deps = {
+      "lodash._reinterpolate-3.0.0" = self.by-version."lodash._reinterpolate"."3.0.0";
+      "lodash.escape-3.0.0" = self.by-version."lodash.escape"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."log-driver"."1.2.4" =
     self.by-version."log-driver"."1.2.4";
-  by-version."log-driver"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-log-driver-1.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.4.tgz";
-        name = "log-driver-1.2.4.tgz";
-        sha1 = "2d62d7faef45d8a71341961a04b0761eca99cfa3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."log-driver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "log-driver" ];
+  by-version."log-driver"."1.2.4" = self.buildNodePackage {
+    name = "log-driver-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.4.tgz";
+      name = "log-driver-1.2.4.tgz";
+      sha1 = "2d62d7faef45d8a71341961a04b0761eca99cfa3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."log4js"."~0.6.3" =
-    self.by-version."log4js"."0.6.18";
-  by-version."log4js"."0.6.18" = lib.makeOverridable self.buildNodePackage {
-    name = "node-log4js-0.6.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/log4js/-/log4js-0.6.18.tgz";
-        name = "log4js-0.6.18.tgz";
-        sha1 = "b362d629b02e111434839502b5a24b3201f5d805";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."log4js" or []);
-    deps = [
-      self.by-version."async"."0.1.15"
-      self.by-version."semver"."1.1.4"
-      self.by-version."readable-stream"."1.0.31"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "log4js" ];
+    self.by-version."log4js"."0.6.22";
+  by-version."log4js"."0.6.22" = self.buildNodePackage {
+    name = "log4js-0.6.22";
+    version = "0.6.22";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/log4js/-/log4js-0.6.22.tgz";
+      name = "log4js-0.6.22.tgz";
+      sha1 = "dd0ed7c961eec19eaf47dad9f39fee2b7dc71a4c";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."loggly"."0.3.x >=0.3.7" =
+    self.by-version."loggly"."0.3.11";
+  by-version."loggly"."0.3.11" = self.buildNodePackage {
+    name = "loggly-0.3.11";
+    version = "0.3.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/loggly/-/loggly-0.3.11.tgz";
+      name = "loggly-0.3.11.tgz";
+      sha1 = "62c1ec3436772f0954598f26b957d2ad2986b611";
+    };
+    deps = {
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "timespan-2.3.0" = self.by-version."timespan"."2.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lolex"."1.1.0" =
+    self.by-version."lolex"."1.1.0";
+  by-version."lolex"."1.1.0" = self.buildNodePackage {
+    name = "lolex-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lolex/-/lolex-1.1.0.tgz";
+      name = "lolex-1.1.0.tgz";
+      sha1 = "5dbbbc850395e7523c74b3586f7fbd2626d25b1b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."long"."~2 >=2.2.3" =
+    self.by-version."long"."2.2.3";
+  by-version."long"."2.2.3" = self.buildNodePackage {
+    name = "long-2.2.3";
+    version = "2.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/long/-/long-2.2.3.tgz";
+      name = "long-2.2.3.tgz";
+      sha1 = "635f5b530b3bd3ecb000a2ffb11281583c7f1e07";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."longjohn"."~0.2.2" =
     self.by-version."longjohn"."0.2.4";
-  by-version."longjohn"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-longjohn-0.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/longjohn/-/longjohn-0.2.4.tgz";
-        name = "longjohn-0.2.4.tgz";
-        sha1 = "48436a1f359e7666f678e2170ee1f43bba8f8b4c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."longjohn" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "longjohn" ];
+  by-version."longjohn"."0.2.4" = self.buildNodePackage {
+    name = "longjohn-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/longjohn/-/longjohn-0.2.4.tgz";
+      name = "longjohn-0.2.4.tgz";
+      sha1 = "48436a1f359e7666f678e2170ee1f43bba8f8b4c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lowercase-keys"."^1.0.0" =
+    self.by-version."lowercase-keys"."1.0.0";
+  by-version."lowercase-keys"."1.0.0" = self.buildNodePackage {
+    name = "lowercase-keys-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+      name = "lowercase-keys-1.0.0.tgz";
+      sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lru-cache"."2" =
     self.by-version."lru-cache"."2.5.0";
-  by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
-        name = "lru-cache-2.5.0.tgz";
-        sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
+  by-version."lru-cache"."2.5.0" = self.buildNodePackage {
+    name = "lru-cache-2.5.0";
+    version = "2.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
+      name = "lru-cache-2.5.0.tgz";
+      sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lru-cache"."2.2.0" =
     self.by-version."lru-cache"."2.2.0";
-  by-version."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
-        name = "lru-cache-2.2.0.tgz";
-        sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
+  by-version."lru-cache"."2.2.0" = self.buildNodePackage {
+    name = "lru-cache-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
+      name = "lru-cache-2.2.0.tgz";
+      sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lru-cache"."2.2.x" =
     self.by-version."lru-cache"."2.2.4";
-  by-version."lru-cache"."2.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
-        name = "lru-cache-2.2.4.tgz";
-        sha1 = "6c658619becf14031d0d0b594b16042ce4dc063d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
+  by-version."lru-cache"."2.2.4" = self.buildNodePackage {
+    name = "lru-cache-2.2.4";
+    version = "2.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
+      name = "lru-cache-2.2.4.tgz";
+      sha1 = "6c658619becf14031d0d0b594b16042ce4dc063d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lru-cache"."2.3.0" =
     self.by-version."lru-cache"."2.3.0";
-  by-version."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-2.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
-        name = "lru-cache-2.3.0.tgz";
-        sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
+  by-version."lru-cache"."2.3.0" = self.buildNodePackage {
+    name = "lru-cache-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
+      name = "lru-cache-2.3.0.tgz";
+      sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lru-cache"."2.5.x" =
     self.by-version."lru-cache"."2.5.0";
   by-spec."lru-cache"."~1.0.2" =
     self.by-version."lru-cache"."1.0.6";
-  by-version."lru-cache"."1.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lru-cache-1.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
-        name = "lru-cache-1.0.6.tgz";
-        sha1 = "aa50f97047422ac72543bda177a9c9d018d98452";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
+  by-version."lru-cache"."1.0.6" = self.buildNodePackage {
+    name = "lru-cache-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
+      name = "lru-cache-1.0.6.tgz";
+      sha1 = "aa50f97047422ac72543bda177a9c9d018d98452";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lru-cache"."~2.3.0" =
+    self.by-version."lru-cache"."2.3.1";
+  by-version."lru-cache"."2.3.1" = self.buildNodePackage {
+    name = "lru-cache-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
+      name = "lru-cache-2.3.1.tgz";
+      sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."lru-cache"."~2.5.0" =
     self.by-version."lru-cache"."2.5.0";
+  by-spec."lru-queue"."0.1" =
+    self.by-version."lru-queue"."0.1.0";
+  by-version."lru-queue"."0.1.0" = self.buildNodePackage {
+    name = "lru-queue-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz";
+      name = "lru-queue-0.1.0.tgz";
+      sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3";
+    };
+    deps = {
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."lsmod"."~0.0.3" =
     self.by-version."lsmod"."0.0.3";
-  by-version."lsmod"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-lsmod-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lsmod/-/lsmod-0.0.3.tgz";
-        name = "lsmod-0.0.3.tgz";
-        sha1 = "17e13d4e1ae91750ea5653548cd89e7147ad0244";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lsmod" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lsmod" ];
+  by-version."lsmod"."0.0.3" = self.buildNodePackage {
+    name = "lsmod-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lsmod/-/lsmod-0.0.3.tgz";
+      name = "lsmod-0.0.3.tgz";
+      sha1 = "17e13d4e1ae91750ea5653548cd89e7147ad0244";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ltx"."*" =
+    self.by-version."ltx"."0.9.0";
+  by-version."ltx"."0.9.0" = self.buildNodePackage {
+    name = "ltx-0.9.0";
+    version = "0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ltx/-/ltx-0.9.0.tgz";
+      name = "ltx-0.9.0.tgz";
+      sha1 = "09055d4791b074d58c7d81d7ef0d91a71ef3c8a3";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "ltx" = self.by-version."ltx"."0.9.0";
+  by-spec."ltx"."0.x" =
+    self.by-version."ltx"."0.9.0";
+  by-spec."ltx".">= 0.2.0" =
+    self.by-version."ltx"."0.9.0";
+  by-spec."ltx"."^0.5.2" =
+    self.by-version."ltx"."0.5.2";
+  by-version."ltx"."0.5.2" = self.buildNodePackage {
+    name = "ltx-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ltx/-/ltx-0.5.2.tgz";
+      name = "ltx-0.5.2.tgz";
+      sha1 = "3a049fc30ab8982c227803a74b26c02fe225cef8";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ltx"."^0.9.0" =
+    self.by-version."ltx"."0.9.0";
+  by-spec."ltx"."~0.3.2" =
+    self.by-version."ltx"."0.3.4";
+  by-version."ltx"."0.3.4" = self.buildNodePackage {
+    name = "ltx-0.3.4";
+    version = "0.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ltx/-/ltx-0.3.4.tgz";
+      name = "ltx-0.3.4.tgz";
+      sha1 = "3cc8d3af3cf08914383b19e8ab60b1f396e1e984";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+      "node-expat-2.1.4" = self.by-version."node-expat"."2.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ltx"."~0.3.3" =
+    self.by-version."ltx"."0.3.4";
+  by-spec."ltx"."~0.6.0" =
+    self.by-version."ltx"."0.6.0";
+  by-version."ltx"."0.6.0" = self.buildNodePackage {
+    name = "ltx-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ltx/-/ltx-0.6.0.tgz";
+      name = "ltx-0.6.0.tgz";
+      sha1 = "16470236570a2c436744a3c4adb8a4b15ea1acc7";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ltx"."~0.x" =
+    self.by-version."ltx"."0.9.0";
+  by-spec."m8".">= 0.4.3" =
+    self.by-version."m8"."0.4.4";
+  by-version."m8"."0.4.4" = self.buildNodePackage {
+    name = "m8-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/m8/-/m8-0.4.4.tgz";
+      name = "m8-0.4.4.tgz";
+      sha1 = "59df914d9bee2829ceac4346026abe945abed5b8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."magnet-uri"."^2.0.1" =
+    self.by-version."magnet-uri"."2.0.1";
+  by-version."magnet-uri"."2.0.1" = self.buildNodePackage {
+    name = "magnet-uri-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/magnet-uri/-/magnet-uri-2.0.1.tgz";
+      name = "magnet-uri-2.0.1.tgz";
+      sha1 = "d331d3dfcd3836565ade0fc3ca315e39217bb209";
+    };
+    deps = {
+      "thirty-two-0.0.2" = self.by-version."thirty-two"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."magnet-uri"."~2.0.0" =
+    self.by-version."magnet-uri"."2.0.1";
+  by-spec."mailchimp".">=1.1.0" =
+    self.by-version."mailchimp"."1.1.0";
+  by-version."mailchimp"."1.1.0" = self.buildNodePackage {
+    name = "mailchimp-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mailchimp/-/mailchimp-1.1.0.tgz";
+      name = "mailchimp-1.1.0.tgz";
+      sha1 = "253220f0091724b1033fadcf9f8aaad68dcad309";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "qs-0.5.6" = self.by-version."qs"."0.5.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mailcomposer".">= 0.1.27" =
     self.by-version."mailcomposer"."0.2.12";
-  by-version."mailcomposer"."0.2.12" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mailcomposer-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.12.tgz";
-        name = "mailcomposer-0.2.12.tgz";
-        sha1 = "4d02a604616adcb45fb36d37513f4c1bd0b75681";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mailcomposer" or []);
-    deps = [
-      self.by-version."mimelib"."0.2.17"
-      self.by-version."mime"."1.2.11"
-      self.by-version."he"."0.3.6"
-      self.by-version."follow-redirects"."0.0.3"
-      self.by-version."dkim-signer"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mailcomposer" ];
+  by-version."mailcomposer"."0.2.12" = self.buildNodePackage {
+    name = "mailcomposer-0.2.12";
+    version = "0.2.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.12.tgz";
+      name = "mailcomposer-0.2.12.tgz";
+      sha1 = "4d02a604616adcb45fb36d37513f4c1bd0b75681";
+    };
+    deps = {
+      "mimelib-0.2.19" = self.by-version."mimelib"."0.2.19";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "he-0.3.6" = self.by-version."he"."0.3.6";
+      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
+      "dkim-signer-0.1.2" = self.by-version."dkim-signer"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mailcomposer"."~0.2.10" =
+    self.by-version."mailcomposer"."0.2.12";
+  by-spec."mailgun-js"."^0.6.7" =
+    self.by-version."mailgun-js"."0.6.8";
+  by-version."mailgun-js"."0.6.8" = self.buildNodePackage {
+    name = "mailgun-js-0.6.8";
+    version = "0.6.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mailgun-js/-/mailgun-js-0.6.8.tgz";
+      name = "mailgun-js-0.6.8.tgz";
+      sha1 = "64a1aab7036b8161a7c619037d820d6c50fe83ab";
+    };
+    deps = {
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+      "inflection-1.5.3" = self.by-version."inflection"."1.5.3";
+      "path-proxy-1.0.0" = self.by-version."path-proxy"."1.0.0";
+      "proxy-agent-1.1.0" = self.by-version."proxy-agent"."1.1.0";
+      "q-1.1.2" = self.by-version."q"."1.1.2";
+      "scmp-1.0.0" = self.by-version."scmp"."1.0.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."map-obj"."^1.0.0" =
+    self.by-version."map-obj"."1.0.0";
+  by-version."map-obj"."1.0.0" = self.buildNodePackage {
+    name = "map-obj-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/map-obj/-/map-obj-1.0.0.tgz";
+      name = "map-obj-1.0.0.tgz";
+      sha1 = "bcbdf6756758763c182daf79e18094a2f1c85766";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."marked"."*" =
-    self.by-version."marked"."0.3.2";
-  by-version."marked"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "marked-0.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/marked/-/marked-0.3.2.tgz";
-        name = "marked-0.3.2.tgz";
-        sha1 = "015db158864438f24a64bdd61a0428b418706d09";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."marked" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "marked" ];
-  };
-  "marked" = self.by-version."marked"."0.3.2";
-  by-spec."marked".">=0.3.1" =
-    self.by-version."marked"."0.3.2";
-  by-spec."maxmin"."^0.1.0" =
-    self.by-version."maxmin"."0.1.0";
-  by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-maxmin-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz";
-        name = "maxmin-0.1.0.tgz";
-        sha1 = "95d81c5289e3a9d30f7fc7dc559c024e5030c9d0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."maxmin" or []);
-    deps = [
-      self.by-version."gzip-size"."0.1.1"
-      self.by-version."pretty-bytes"."0.1.2"
-      self.by-version."chalk"."0.4.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "maxmin" ];
-  };
-  by-spec."maxmin"."^0.2.0" =
-    self.by-version."maxmin"."0.2.2";
-  by-version."maxmin"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-maxmin-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/maxmin/-/maxmin-0.2.2.tgz";
-        name = "maxmin-0.2.2.tgz";
-        sha1 = "a36ced8cc22e3abcd108cfb797a3a4b40275593f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."maxmin" or []);
-    deps = [
-      self.by-version."chalk"."0.5.1"
-      self.by-version."figures"."1.3.2"
-      self.by-version."gzip-size"."0.2.0"
-      self.by-version."pretty-bytes"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "maxmin" ];
+    self.by-version."marked"."0.3.3";
+  by-version."marked"."0.3.3" = self.buildNodePackage {
+    name = "marked-0.3.3";
+    version = "0.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/marked/-/marked-0.3.3.tgz";
+      name = "marked-0.3.3.tgz";
+      sha1 = "08bad9cac13736f6cceddc202344f1b0bf255390";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "marked" = self.by-version."marked"."0.3.3";
+  by-spec."marked".">=0.2.9" =
+    self.by-version."marked"."0.3.3";
+  by-spec."marked"."^0.3.2" =
+    self.by-version."marked"."0.3.3";
+  by-spec."mathjs"."~0.19.0" =
+    self.by-version."mathjs"."0.19.0";
+  by-version."mathjs"."0.19.0" = self.buildNodePackage {
+    name = "mathjs-0.19.0";
+    version = "0.19.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mathjs/-/mathjs-0.19.0.tgz";
+      name = "mathjs-0.19.0.tgz";
+      sha1 = "35f7bdfcca1431dac5438cbf095eefce4e1aae78";
+    };
+    deps = {
+      "bignumber.js-1.5.0" = self.by-version."bignumber.js"."1.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."maxmin"."^1.0.0" =
+    self.by-version."maxmin"."1.0.0";
+  by-version."maxmin"."1.0.0" = self.buildNodePackage {
+    name = "maxmin-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/maxmin/-/maxmin-1.0.0.tgz";
+      name = "maxmin-1.0.0.tgz";
+      sha1 = "040b7a15ba5c6f3b08581cbf201df0bdd64e19f0";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "figures-1.3.5" = self.by-version."figures"."1.3.5";
+      "gzip-size-1.0.0" = self.by-version."gzip-size"."1.0.0";
+      "pretty-bytes-1.0.3" = self.by-version."pretty-bytes"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mdns-js"."git+https://github.com/guerrerocarlos/node-mdns-js" =
+    self.by-version."mdns-js"."0.2.5";
+  by-version."mdns-js"."0.2.5" = self.buildNodePackage {
+    name = "mdns-js-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/guerrerocarlos/node-mdns-js";
+      rev = "1d50693cc1f193eadea8c723ceafd6ed565ad8bb";
+      sha256 = "b5e989409eb45288271f11970ce6f9e7668c5ab20991f9326a679aaaff8685ae";
+    };
+    deps = {
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "mdns-js-packet-0.1.9" = self.by-version."mdns-js-packet"."0.1.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mdns-js"."git+https://github.com/xat/node-mdns-js#reuseAddr" =
+    self.by-version."mdns-js"."0.2.9";
+  by-version."mdns-js"."0.2.9" = self.buildNodePackage {
+    name = "mdns-js-0.2.9";
+    version = "0.2.9";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/xat/node-mdns-js";
+      rev = "bc5598ff86c441cb256503e3d951e8b6b8079e8a";
+      sha256 = "93595e09e7802a67c1923630be4ac20410f0ac8b89c34e200b943f7157f395f6";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "mdns-js-packet-0.1.8" = self.by-version."mdns-js-packet"."0.1.8";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mdns-js-packet"."0.1.x" =
+    self.by-version."mdns-js-packet"."0.1.8";
+  by-version."mdns-js-packet"."0.1.8" = self.buildNodePackage {
+    name = "mdns-js-packet-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mdns-js-packet/-/mdns-js-packet-0.1.8.tgz";
+      name = "mdns-js-packet-0.1.8.tgz";
+      sha1 = "e5a205c6e26e22a1df58e5f38057e80a6f84ee26";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "qap-3.1.3" = self.by-version."qap"."3.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mdns-js-packet"."guerrerocarlos/node-mdns-js-packet" =
+    self.by-version."mdns-js-packet"."0.1.9";
+  by-version."mdns-js-packet"."0.1.9" = self.buildNodePackage {
+    name = "mdns-js-packet-0.1.9";
+    version = "0.1.9";
+    bin = false;
+    src = fetchgit {
+      url = "git://github.com/guerrerocarlos/node-mdns-js-packet";
+      rev = "7f26b7010e589462713d0c8a46b040e0adf424f9";
+      sha256 = "f5a40610eb321ea411a8fa9fe9af21edb1282c062fb63692ffee4d30590ae995";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "qap-3.1.3" = self.by-version."qap"."3.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."maxmin"."~0.2.0" =
-    self.by-version."maxmin"."0.2.2";
   by-spec."meat"."*" =
-    self.by-version."meat"."0.2.5";
-  by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "meat-0.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/meat/-/meat-0.2.5.tgz";
-        name = "meat-0.2.5.tgz";
-        sha1 = "8f277ec68f51794365e271166c7b7bba8d046869";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."meat" or []);
-    deps = [
-      self.by-version."express"."2.5.11"
-      self.by-version."jade"."0.27.0"
-      self.by-version."open"."0.0.2"
-      self.by-version."winston"."0.6.2"
-      self.by-version."mkdirp"."0.3.0"
-      self.by-version."node.extend"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "meat" ];
-  };
-  "meat" = self.by-version."meat"."0.2.5";
+    self.by-version."meat"."0.3.3";
+  by-version."meat"."0.3.3" = self.buildNodePackage {
+    name = "meat-0.3.3";
+    version = "0.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/meat/-/meat-0.3.3.tgz";
+      name = "meat-0.3.3.tgz";
+      sha1 = "45e670184553efe7dda25ce6446f1e6a0fca7571";
+    };
+    deps = {
+      "express-2.5.11" = self.by-version."express"."2.5.11";
+      "jade-0.27.0" = self.by-version."jade"."0.27.0";
+      "open-0.0.2" = self.by-version."open"."0.0.2";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+      "node.extend-1.0.0" = self.by-version."node.extend"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "meat" = self.by-version."meat"."0.3.3";
   by-spec."media-typer"."0.2.0" =
     self.by-version."media-typer"."0.2.0";
-  by-version."media-typer"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-media-typer-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
-        name = "media-typer-0.2.0.tgz";
-        sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."media-typer" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "media-typer" ];
-  };
-  by-spec."media-typer"."~0.2.0" =
-    self.by-version."media-typer"."0.2.0";
+  by-version."media-typer"."0.2.0" = self.buildNodePackage {
+    name = "media-typer-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
+      name = "media-typer-0.2.0.tgz";
+      sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = self.buildNodePackage {
+    name = "media-typer-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+      name = "media-typer-0.3.0.tgz";
+      sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."memoizee"."0.3.x" =
+    self.by-version."memoizee"."0.3.8";
+  by-version."memoizee"."0.3.8" = self.buildNodePackage {
+    name = "memoizee-0.3.8";
+    version = "0.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/memoizee/-/memoizee-0.3.8.tgz";
+      name = "memoizee-0.3.8.tgz";
+      sha1 = "b5faf419f02fafe3c2cc1cf5d3907c210fc7efdc";
+    };
+    deps = {
+      "d-0.1.1" = self.by-version."d"."0.1.1";
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+      "es6-weak-map-0.1.2" = self.by-version."es6-weak-map"."0.1.2";
+      "event-emitter-0.3.3" = self.by-version."event-emitter"."0.3.3";
+      "lru-queue-0.1.0" = self.by-version."lru-queue"."0.1.0";
+      "next-tick-0.2.2" = self.by-version."next-tick"."0.2.2";
+      "timers-ext-0.1.0" = self.by-version."timers-ext"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."memory-fs"."^0.2.0" =
+    self.by-version."memory-fs"."0.2.0";
+  by-version."memory-fs"."0.2.0" = self.buildNodePackage {
+    name = "memory-fs-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz";
+      name = "memory-fs-0.2.0.tgz";
+      sha1 = "f2bb25368bc121e391c2520de92969caee0a0290";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."memory-fs"."~0.2.0" =
+    self.by-version."memory-fs"."0.2.0";
+  by-spec."memwatch"."^0.2.2" =
+    self.by-version."memwatch"."0.2.2";
+  by-version."memwatch"."0.2.2" = self.buildNodePackage {
+    name = "memwatch-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/memwatch/-/memwatch-0.2.2.tgz";
+      name = "memwatch-0.2.2.tgz";
+      sha1 = "779e8cd982532b6221b6ed1c1269098bee16f92c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."meow"."*" =
+    self.by-version."meow"."3.0.0";
+  by-version."meow"."3.0.0" = self.buildNodePackage {
+    name = "meow-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/meow/-/meow-3.0.0.tgz";
+      name = "meow-3.0.0.tgz";
+      sha1 = "07c0edaade76c77498618d119aebb18a28d91b6d";
+    };
+    deps = {
+      "camelcase-keys-1.0.0" = self.by-version."camelcase-keys"."1.0.0";
+      "indent-string-1.2.1" = self.by-version."indent-string"."1.2.1";
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+      "object-assign-2.0.0" = self.by-version."object-assign"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."meow"."^3.0.0" =
+    self.by-version."meow"."3.0.0";
   by-spec."merge-descriptors"."0.0.2" =
     self.by-version."merge-descriptors"."0.0.2";
-  by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-merge-descriptors-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
-        name = "merge-descriptors-0.0.2.tgz";
-        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."merge-descriptors" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "merge-descriptors" ];
-  };
-  by-spec."method-override"."~2.1.3" =
-    self.by-version."method-override"."2.1.3";
-  by-version."method-override"."2.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-method-override-2.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/method-override/-/method-override-2.1.3.tgz";
-        name = "method-override-2.1.3.tgz";
-        sha1 = "511f41c4fb1dccdb6ab1844da5dc6ea81b7c1135";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."method-override" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."methods"."1.1.0"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."vary"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "method-override" ];
+  by-version."merge-descriptors"."0.0.2" = self.buildNodePackage {
+    name = "merge-descriptors-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+      name = "merge-descriptors-0.0.2.tgz";
+      sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."method-override"."1.0.0" =
+    self.by-version."method-override"."1.0.0";
+  by-version."method-override"."1.0.0" = self.buildNodePackage {
+    name = "method-override-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/method-override/-/method-override-1.0.0.tgz";
+      name = "method-override-1.0.0.tgz";
+      sha1 = "9e5bfbd80f3b9e043801dd3fe60bbab0f15b5f61";
+    };
+    deps = {
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."method-override"."^1.0.0" =
+    self.by-version."method-override"."1.0.2";
+  by-version."method-override"."1.0.2" = self.buildNodePackage {
+    name = "method-override-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/method-override/-/method-override-1.0.2.tgz";
+      name = "method-override-1.0.2.tgz";
+      sha1 = "d6f80275db23a23380028c9215b97470be01d689";
+    };
+    deps = {
+      "methods-1.0.0" = self.by-version."methods"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."method-override"."~2.2.0" =
+    self.by-version."method-override"."2.2.0";
+  by-version."method-override"."2.2.0" = self.buildNodePackage {
+    name = "method-override-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/method-override/-/method-override-2.2.0.tgz";
+      name = "method-override-2.2.0.tgz";
+      sha1 = "177e852b6add3b4f9177033a9446b01e7801a0c0";
+    };
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "methods-1.1.0" = self.by-version."methods"."1.1.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."method-override"."~2.3.1" =
+    self.by-version."method-override"."2.3.1";
+  by-version."method-override"."2.3.1" = self.buildNodePackage {
+    name = "method-override-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/method-override/-/method-override-2.3.1.tgz";
+      name = "method-override-2.3.1.tgz";
+      sha1 = "59796b7ce565ae9f77f3b312447d2c0f938f93c6";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."methods"."*" =
+    self.by-version."methods"."1.1.1";
+  by-version."methods"."1.1.1" = self.buildNodePackage {
+    name = "methods-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
+      name = "methods-1.1.1.tgz";
+      sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."methods"."0.0.1" =
     self.by-version."methods"."0.0.1";
-  by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
-        name = "methods-0.0.1.tgz";
-        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
+  by-version."methods"."0.0.1" = self.buildNodePackage {
+    name = "methods-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
+      name = "methods-0.0.1.tgz";
+      sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."methods"."0.1.0" =
     self.by-version."methods"."0.1.0";
-  by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
-        name = "methods-0.1.0.tgz";
-        sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
+  by-version."methods"."0.1.0" = self.buildNodePackage {
+    name = "methods-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
+      name = "methods-0.1.0.tgz";
+      sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."methods"."1.0.0" =
     self.by-version."methods"."1.0.0";
-  by-version."methods"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-1.0.0.tgz";
-        name = "methods-1.0.0.tgz";
-        sha1 = "9a73d86375dfcef26ef61ca3e4b8a2e2538a80e3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
+  by-version."methods"."1.0.0" = self.buildNodePackage {
+    name = "methods-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.0.0.tgz";
+      name = "methods-1.0.0.tgz";
+      sha1 = "9a73d86375dfcef26ef61ca3e4b8a2e2538a80e3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."methods"."1.0.1" =
     self.by-version."methods"."1.0.1";
-  by-version."methods"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
-        name = "methods-1.0.1.tgz";
-        sha1 = "75bc91943dffd7da037cf3eeb0ed73a0037cd14b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
+  by-version."methods"."1.0.1" = self.buildNodePackage {
+    name = "methods-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
+      name = "methods-1.0.1.tgz";
+      sha1 = "75bc91943dffd7da037cf3eeb0ed73a0037cd14b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."methods"."1.1.0" =
     self.by-version."methods"."1.1.0";
-  by-version."methods"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-methods-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
-        name = "methods-1.1.0.tgz";
-        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
+  by-version."methods"."1.1.0" = self.buildNodePackage {
+    name = "methods-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+      name = "methods-1.1.0.tgz";
+      sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."methods"."1.1.1" =
+    self.by-version."methods"."1.1.1";
+  by-spec."methods"."1.x" =
+    self.by-version."methods"."1.1.1";
+  by-spec."methods"."~1.1.1" =
+    self.by-version."methods"."1.1.1";
+  by-spec."microee"."0.0.2" =
+    self.by-version."microee"."0.0.2";
+  by-version."microee"."0.0.2" = self.buildNodePackage {
+    name = "microee-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/microee/-/microee-0.0.2.tgz";
+      name = "microee-0.0.2.tgz";
+      sha1 = "72e80d477075e5e799470f5defea96d1dd121587";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."miller-rabin"."^1.1.2" =
+    self.by-version."miller-rabin"."1.1.5";
+  by-version."miller-rabin"."1.1.5" = self.buildNodePackage {
+    name = "miller-rabin-1.1.5";
+    version = "1.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/miller-rabin/-/miller-rabin-1.1.5.tgz";
+      name = "miller-rabin-1.1.5.tgz";
+      sha1 = "41f506bed994b97e7c184a658ae107dad980526e";
+    };
+    deps = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+      "brorand-1.0.5" = self.by-version."brorand"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mime"."*" =
-    self.by-version."mime"."1.2.11";
-  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        name = "mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
+    self.by-version."mime"."1.3.4";
+  by-version."mime"."1.3.4" = self.buildNodePackage {
+    name = "mime-1.3.4";
+    version = "1.3.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+      name = "mime-1.3.4.tgz";
+      sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mime"."1.2.11" =
     self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = self.buildNodePackage {
+    name = "mime-1.2.11";
+    version = "1.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+      name = "mime-1.2.11.tgz";
+      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."mime"."1.2.4" =
     self.by-version."mime"."1.2.4";
-  by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
-        name = "mime-1.2.4.tgz";
-        sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."1.2.5" =
-    self.by-version."mime"."1.2.5";
-  by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
-        name = "mime-1.2.5.tgz";
-        sha1 = "9eed073022a8bf5e16c8566c6867b8832bfbfa13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
+  by-version."mime"."1.2.4" = self.buildNodePackage {
+    name = "mime-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
+      name = "mime-1.2.4.tgz";
+      sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mime"."1.2.6" =
     self.by-version."mime"."1.2.6";
-  by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
-        name = "mime-1.2.6.tgz";
-        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
+  by-version."mime"."1.2.6" = self.buildNodePackage {
+    name = "mime-1.2.6";
+    version = "1.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
+      name = "mime-1.2.6.tgz";
+      sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mime"."1.2.9" =
     self.by-version."mime"."1.2.9";
-  by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-1.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
-        name = "mime-1.2.9.tgz";
-        sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
+  by-version."mime"."1.2.9" = self.buildNodePackage {
+    name = "mime-1.2.9";
+    version = "1.2.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
+      name = "mime-1.2.9.tgz";
+      sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime"."1.3.4" =
+    self.by-version."mime"."1.3.4";
   by-spec."mime".">= 0.0.1" =
-    self.by-version."mime"."1.2.11";
+    self.by-version."mime"."1.3.4";
+  by-spec."mime".">=1.2.11" =
+    self.by-version."mime"."1.3.4";
+  by-spec."mime"."^1.2.11" =
+    self.by-version."mime"."1.3.4";
   by-spec."mime"."~1.2.11" =
     self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.2" =
@@ -10804,181 +22435,287 @@
     self.by-version."mime"."1.2.11";
   by-spec."mime"."~1.2.9" =
     self.by-version."mime"."1.2.11";
-  by-spec."mime-types"."1.0.0" =
-    self.by-version."mime-types"."1.0.0";
-  by-version."mime-types"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-types-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.0.tgz";
-        name = "mime-types-1.0.0.tgz";
-        sha1 = "6a7b4a6af2e7d92f97afe03f047c7801e8f001d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-types" ];
+  by-spec."mime-db".">= 1.1.2 < 2" =
+    self.by-version."mime-db"."1.7.0";
+  by-version."mime-db"."1.7.0" = self.buildNodePackage {
+    name = "mime-db-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.7.0.tgz";
+      name = "mime-db-1.7.0.tgz";
+      sha1 = "36cf66a6c52ea71827bde287f77c254f5ef1b8d3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-db"."~1.7.0" =
+    self.by-version."mime-db"."1.7.0";
+  by-spec."mime-types"."^2.0.3" =
+    self.by-version."mime-types"."2.0.9";
+  by-version."mime-types"."2.0.9" = self.buildNodePackage {
+    name = "mime-types-2.0.9";
+    version = "2.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.9.tgz";
+      name = "mime-types-2.0.9.tgz";
+      sha1 = "e8449aff27b1245ddc6641b524439ae80c4b78a6";
+    };
+    deps = {
+      "mime-db-1.7.0" = self.by-version."mime-db"."1.7.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mime-types"."~1.0.0" =
     self.by-version."mime-types"."1.0.2";
-  by-version."mime-types"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mime-types-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
-        name = "mime-types-1.0.2.tgz";
-        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-types" ];
+  by-version."mime-types"."1.0.2" = self.buildNodePackage {
+    name = "mime-types-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+      name = "mime-types-1.0.2.tgz";
+      sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mime-types"."~1.0.1" =
     self.by-version."mime-types"."1.0.2";
+  by-spec."mime-types"."~2.0.1" =
+    self.by-version."mime-types"."2.0.9";
+  by-spec."mime-types"."~2.0.3" =
+    self.by-version."mime-types"."2.0.9";
+  by-spec."mime-types"."~2.0.4" =
+    self.by-version."mime-types"."2.0.9";
+  by-spec."mime-types"."~2.0.9" =
+    self.by-version."mime-types"."2.0.9";
   by-spec."mimelib"."~0.2.15" =
-    self.by-version."mimelib"."0.2.17";
-  by-version."mimelib"."0.2.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mimelib-0.2.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.17.tgz";
-        name = "mimelib-0.2.17.tgz";
-        sha1 = "6b0cb91a6451b92649e4cc98c5b64eed2d19a4aa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mimelib" or []);
-    deps = [
-      self.by-version."encoding"."0.1.8"
-      self.by-version."addressparser"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mimelib" ];
-  };
-  by-spec."minimatch"."0" =
-    self.by-version."minimatch"."0.4.0";
-  by-version."minimatch"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.4.0.tgz";
-        name = "minimatch-0.4.0.tgz";
-        sha1 = "bd2c7d060d2c8c8fd7cde7f1f2ed2d5b270fdb1b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
+    self.by-version."mimelib"."0.2.19";
+  by-version."mimelib"."0.2.19" = self.buildNodePackage {
+    name = "mimelib-0.2.19";
+    version = "0.2.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.19.tgz";
+      name = "mimelib-0.2.19.tgz";
+      sha1 = "37ec90a6ac7d00954851d0b2c31618f0a49da0ee";
+    };
+    deps = {
+      "encoding-0.1.11" = self.by-version."encoding"."0.1.11";
+      "addressparser-0.3.2" = self.by-version."addressparser"."0.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mine"."~0.0.1" =
+    self.by-version."mine"."0.0.2";
+  by-version."mine"."0.0.2" = self.buildNodePackage {
+    name = "mine-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mine/-/mine-0.0.2.tgz";
+      name = "mine-0.0.2.tgz";
+      sha1 = "77c2d327f8357352e69fc3e618f7476539fa0c40";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minilog"."~2.0.2" =
+    self.by-version."minilog"."2.0.6";
+  by-version."minilog"."2.0.6" = self.buildNodePackage {
+    name = "minilog-2.0.6";
+    version = "2.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minilog/-/minilog-2.0.6.tgz";
+      name = "minilog-2.0.6.tgz";
+      sha1 = "665601f32a08bda58406c0e933b08713b3a50ad4";
+    };
+    deps = {
+      "microee-0.0.2" = self.by-version."microee"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimalistic-assert"."^1.0.0" =
+    self.by-version."minimalistic-assert"."1.0.0";
+  by-version."minimalistic-assert"."1.0.0" = self.buildNodePackage {
+    name = "minimalistic-assert-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
+      name = "minimalistic-assert-1.0.0.tgz";
+      sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."minimatch"."0.0.x" =
     self.by-version."minimatch"."0.0.5";
-  by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
-        name = "minimatch-0.0.5.tgz";
-        sha1 = "96bb490bbd3ba6836bbfac111adf75301b1584de";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."1.0.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  by-spec."minimatch"."0.2.x" =
-    self.by-version."minimatch"."0.2.14";
-  by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.2.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
-        name = "minimatch-0.2.14.tgz";
-        sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
+  by-version."minimatch"."0.0.5" = self.buildNodePackage {
+    name = "minimatch-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
+      name = "minimatch-0.0.5.tgz";
+      sha1 = "96bb490bbd3ba6836bbfac111adf75301b1584de";
+    };
+    deps = {
+      "lru-cache-1.0.6" = self.by-version."lru-cache"."1.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."minimatch"."0.3" =
     self.by-version."minimatch"."0.3.0";
-  by-version."minimatch"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
-        name = "minimatch-0.3.0.tgz";
-        sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
+  by-version."minimatch"."0.3.0" = self.buildNodePackage {
+    name = "minimatch-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
+      name = "minimatch-0.3.0.tgz";
+      sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
+    };
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."minimatch"."0.x" =
     self.by-version."minimatch"."0.4.0";
-  by-spec."minimatch"."0.x.x" =
-    self.by-version."minimatch"."0.4.0";
+  by-version."minimatch"."0.4.0" = self.buildNodePackage {
+    name = "minimatch-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.4.0.tgz";
+      name = "minimatch-0.4.0.tgz";
+      sha1 = "bd2c7d060d2c8c8fd7cde7f1f2ed2d5b270fdb1b";
+    };
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."minimatch"."1" =
     self.by-version."minimatch"."1.0.0";
-  by-version."minimatch"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimatch-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz";
-        name = "minimatch-1.0.0.tgz";
-        sha1 = "e0dd2120b49e1b724ce8d714c520822a9438576d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = [
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."sigmund"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  by-spec."minimatch".">=0.2.4" =
+  by-version."minimatch"."1.0.0" = self.buildNodePackage {
+    name = "minimatch-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz";
+      name = "minimatch-1.0.0.tgz";
+      sha1 = "e0dd2120b49e1b724ce8d714c520822a9438576d";
+    };
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimatch"."1.0.x" =
     self.by-version."minimatch"."1.0.0";
+  by-spec."minimatch".">=0.2.4" =
+    self.by-version."minimatch"."2.0.1";
+  by-version."minimatch"."2.0.1" = self.buildNodePackage {
+    name = "minimatch-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-2.0.1.tgz";
+      name = "minimatch-2.0.1.tgz";
+      sha1 = "6c3760b45f66ed1cd5803143ee8d372488f02c37";
+    };
+    deps = {
+      "brace-expansion-1.1.0" = self.by-version."brace-expansion"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."minimatch"."^1.0.0" =
     self.by-version."minimatch"."1.0.0";
+  by-spec."minimatch"."^2.0.1" =
+    self.by-version."minimatch"."2.0.1";
   by-spec."minimatch"."~0.2" =
     self.by-version."minimatch"."0.2.14";
+  by-version."minimatch"."0.2.14" = self.buildNodePackage {
+    name = "minimatch-0.2.14";
+    version = "0.2.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+      name = "minimatch-0.2.14.tgz";
+      sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+    };
+    deps = {
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimatch"."~0.2.0" =
+    self.by-version."minimatch"."0.2.14";
   by-spec."minimatch"."~0.2.11" =
     self.by-version."minimatch"."0.2.14";
   by-spec."minimatch"."~0.2.12" =
@@ -10987,186 +22724,232 @@
     self.by-version."minimatch"."0.2.14";
   by-spec."minimatch"."~0.3.0" =
     self.by-version."minimatch"."0.3.0";
+  by-spec."minimatch"."~1.0.0" =
+    self.by-version."minimatch"."1.0.0";
+  by-spec."minimatch"."~2.0.1" =
+    self.by-version."minimatch"."2.0.1";
   by-spec."minimist"."0.0.8" =
     self.by-version."minimist"."0.0.8";
-  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        name = "minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimist" ];
-  };
-  by-spec."minimist"."^0.1.0" =
-    self.by-version."minimist"."0.1.0";
-  by-version."minimist"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz";
-        name = "minimist-0.1.0.tgz";
-        sha1 = "99df657a52574c21c9057497df742790b2b4c0de";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimist" ];
-  };
+  by-version."minimist"."0.0.8" = self.buildNodePackage {
+    name = "minimist-0.0.8";
+    version = "0.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+      name = "minimist-0.0.8.tgz";
+      sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimist"."1.1.0" =
+    self.by-version."minimist"."1.1.0";
+  by-version."minimist"."1.1.0" = self.buildNodePackage {
+    name = "minimist-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz";
+      name = "minimist-1.1.0.tgz";
+      sha1 = "cdf225e8898f840a258ded44fc91776770afdc93";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimist"."^1.1.0" =
+    self.by-version."minimist"."1.1.0";
   by-spec."minimist"."~0.0.1" =
     self.by-version."minimist"."0.0.10";
-  by-version."minimist"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.0.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
-        name = "minimist-0.0.10.tgz";
-        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimist" ];
-  };
+  by-version."minimist"."0.0.10" = self.buildNodePackage {
+    name = "minimist-0.0.10";
+    version = "0.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+      name = "minimist-0.0.10.tgz";
+      sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimist"."~0.0.5" =
+    self.by-version."minimist"."0.0.10";
   by-spec."minimist"."~0.0.7" =
     self.by-version."minimist"."0.0.10";
   by-spec."minimist"."~0.2.0" =
     self.by-version."minimist"."0.2.0";
-  by-version."minimist"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-minimist-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz";
-        name = "minimist-0.2.0.tgz";
-        sha1 = "4dffe525dae2b864c66c2e23c6271d7afdecefce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimist" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimist" ];
-  };
+  by-version."minimist"."0.2.0" = self.buildNodePackage {
+    name = "minimist-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz";
+      name = "minimist-0.2.0.tgz";
+      sha1 = "4dffe525dae2b864c66c2e23c6271d7afdecefce";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimist"."~1.1.0" =
+    self.by-version."minimist"."1.1.0";
   by-spec."ministyle"."~0.1.3" =
     self.by-version."ministyle"."0.1.4";
-  by-version."ministyle"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ministyle-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ministyle/-/ministyle-0.1.4.tgz";
-        name = "ministyle-0.1.4.tgz";
-        sha1 = "b10481eb16aa8f7b6cd983817393a44da0e5a0cd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ministyle" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ministyle" ];
+  by-version."ministyle"."0.1.4" = self.buildNodePackage {
+    name = "ministyle-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ministyle/-/ministyle-0.1.4.tgz";
+      name = "ministyle-0.1.4.tgz";
+      sha1 = "b10481eb16aa8f7b6cd983817393a44da0e5a0cd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."miniwrite"."~0.1.3" =
-    self.by-version."miniwrite"."0.1.3";
-  by-version."miniwrite"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-miniwrite-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/miniwrite/-/miniwrite-0.1.3.tgz";
-        name = "miniwrite-0.1.3.tgz";
-        sha1 = "9e893efb435f853454ca0321b86a44378e8c50c6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."miniwrite" or []);
-    deps = [
-      self.by-version."mkdirp"."0.3.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "miniwrite" ];
+    self.by-version."miniwrite"."0.1.4";
+  by-version."miniwrite"."0.1.4" = self.buildNodePackage {
+    name = "miniwrite-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/miniwrite/-/miniwrite-0.1.4.tgz";
+      name = "miniwrite-0.1.4.tgz";
+      sha1 = "72f02385c0ac37d542efe27dc6764b31908725ce";
+    };
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mkdirp"."*" =
     self.by-version."mkdirp"."0.5.0";
-  by-version."mkdirp"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."mkdirp"."0.5.0" = self.buildNodePackage {
     name = "mkdirp-0.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
-        name = "mkdirp-0.5.0.tgz";
-        sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp" or []);
-    deps = [
-      self.by-version."minimist"."0.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
+    version = "0.5.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+      name = "mkdirp-0.5.0.tgz";
+      sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+    };
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "mkdirp" = self.by-version."mkdirp"."0.5.0";
-  by-spec."mkdirp"."0" =
-    self.by-version."mkdirp"."0.5.0";
+  by-spec."mkdirp"."0.0.x" =
+    self.by-version."mkdirp"."0.0.7";
+  by-version."mkdirp"."0.0.7" = self.buildNodePackage {
+    name = "mkdirp-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz";
+      name = "mkdirp-0.0.7.tgz";
+      sha1 = "d89b4f0e4c3e5e5ca54235931675e094fe1a5072";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."mkdirp"."0.3.0" =
     self.by-version."mkdirp"."0.3.0";
-  by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
-        name = "mkdirp-0.3.0.tgz";
-        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
+  by-version."mkdirp"."0.3.0" = self.buildNodePackage {
+    name = "mkdirp-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
+      name = "mkdirp-0.3.0.tgz";
+      sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mkdirp"."0.3.5" =
     self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        name = "mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
+  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
+    name = "mkdirp-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+      name = "mkdirp-0.3.5.tgz";
+      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mkdirp"."0.3.x" =
     self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.4.0" =
+    self.by-version."mkdirp"."0.4.0";
+  by-version."mkdirp"."0.4.0" = self.buildNodePackage {
+    name = "mkdirp-0.4.0";
+    version = "0.4.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.4.0.tgz";
+      name = "mkdirp-0.4.0.tgz";
+      sha1 = "291ac2a2d43a19c478662577b5be846fe83b5923";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."mkdirp"."0.5" =
     self.by-version."mkdirp"."0.5.0";
   by-spec."mkdirp"."0.5.0" =
@@ -11175,10 +22958,16 @@
     self.by-version."mkdirp"."0.5.0";
   by-spec."mkdirp"."0.x.x" =
     self.by-version."mkdirp"."0.5.0";
+  by-spec."mkdirp".">=0.3.5" =
+    self.by-version."mkdirp"."0.5.0";
   by-spec."mkdirp".">=0.5 0" =
     self.by-version."mkdirp"."0.5.0";
+  by-spec."mkdirp"."^0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
   by-spec."mkdirp"."^0.5.0" =
     self.by-version."mkdirp"."0.5.0";
+  by-spec."mkdirp"."~0.3" =
+    self.by-version."mkdirp"."0.3.5";
   by-spec."mkdirp"."~0.3.3" =
     self.by-version."mkdirp"."0.3.5";
   by-spec."mkdirp"."~0.3.4" =
@@ -11187,3928 +22976,8425 @@
     self.by-version."mkdirp"."0.3.5";
   by-spec."mkdirp"."~0.5.0" =
     self.by-version."mkdirp"."0.5.0";
-  by-spec."mocha"."*" =
-    self.by-version."mocha"."1.21.4";
-  by-version."mocha"."1.21.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-1.21.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mocha/-/mocha-1.21.4.tgz";
-        name = "mocha-1.21.4.tgz";
-        sha1 = "e77d69c3773ba3e2b4fe6b628c28b5dd43880adc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mocha" or []);
-    deps = [
-      self.by-version."commander"."2.0.0"
-      self.by-version."growl"."1.8.1"
-      self.by-version."jade"."0.26.3"
-      self.by-version."diff"."1.0.7"
-      self.by-version."debug"."1.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."glob"."3.2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mocha" ];
+  by-spec."mkpath"."~0.1.0" =
+    self.by-version."mkpath"."0.1.0";
+  by-version."mkpath"."0.1.0" = self.buildNodePackage {
+    name = "mkpath-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz";
+      name = "mkpath-0.1.0.tgz";
+      sha1 = "7554a6f8d871834cc97b5462b122c4c124d6de91";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "mocha" = self.by-version."mocha"."1.21.4";
+  by-spec."mocha"."*" =
+    self.by-version."mocha"."2.1.0";
+  by-version."mocha"."2.1.0" = self.buildNodePackage {
+    name = "mocha-2.1.0";
+    version = "2.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mocha/-/mocha-2.1.0.tgz";
+      name = "mocha-2.1.0.tgz";
+      sha1 = "77752fe592fb9092756827af46cd3eae1b83671c";
+    };
+    deps = {
+      "commander-2.3.0" = self.by-version."commander"."2.3.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+      "growl-1.8.1" = self.by-version."growl"."1.8.1";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "mocha" = self.by-version."mocha"."2.1.0";
   by-spec."mocha"."~1.20.1" =
     self.by-version."mocha"."1.20.1";
-  by-version."mocha"."1.20.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."mocha"."1.20.1" = self.buildNodePackage {
     name = "mocha-1.20.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mocha/-/mocha-1.20.1.tgz";
-        name = "mocha-1.20.1.tgz";
-        sha1 = "f343832d9fe0c7d97c64fc70448f5136df9fed5b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mocha" or []);
-    deps = [
-      self.by-version."commander"."2.0.0"
-      self.by-version."growl"."1.7.0"
-      self.by-version."jade"."0.26.3"
-      self.by-version."diff"."1.0.7"
-      self.by-version."debug"."1.0.4"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."glob"."3.2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mocha" ];
+    version = "1.20.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mocha/-/mocha-1.20.1.tgz";
+      name = "mocha-1.20.1.tgz";
+      sha1 = "f343832d9fe0c7d97c64fc70448f5136df9fed5b";
+    };
+    deps = {
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "growl-1.7.0" = self.by-version."growl"."1.7.0";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "diff-1.0.7" = self.by-version."diff"."1.0.7";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mocha-phantomjs"."*" =
-    self.by-version."mocha-phantomjs"."3.5.0";
-  by-version."mocha-phantomjs"."3.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-phantomjs-3.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-3.5.0.tgz";
-        name = "mocha-phantomjs-3.5.0.tgz";
-        sha1 = "56fb4072122b4061b21e9c3901e35f4a7c58a93e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mocha-phantomjs" or []);
-    deps = [
-      self.by-version."mocha"."1.20.1"
-      self.by-version."commander"."2.0.0"
-    ];
-    peerDependencies = [
-      self.by-version."phantomjs"."1.9.7-15"
-    ];
-    passthru.names = [ "mocha-phantomjs" ];
-  };
-  "mocha-phantomjs" = self.by-version."mocha-phantomjs"."3.5.0";
+    self.by-version."mocha-phantomjs"."3.5.3";
+  by-version."mocha-phantomjs"."3.5.3" = self.buildNodePackage {
+    name = "mocha-phantomjs-3.5.3";
+    version = "3.5.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-3.5.3.tgz";
+      name = "mocha-phantomjs-3.5.3.tgz";
+      sha1 = "bc0e654972d883ce11367f3f011f9e88f0a8de14";
+    };
+    deps = {
+      "mocha-1.20.1" = self.by-version."mocha"."1.20.1";
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."phantomjs"."1.9.15"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "mocha-phantomjs" = self.by-version."mocha-phantomjs"."3.5.3";
   by-spec."mocha-unfunk-reporter"."*" =
     self.by-version."mocha-unfunk-reporter"."0.4.0";
-  by-version."mocha-unfunk-reporter"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mocha-unfunk-reporter-0.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.4.0.tgz";
-        name = "mocha-unfunk-reporter-0.4.0.tgz";
-        sha1 = "59eda97aec6ae6e26d7af4173490a65b7b082d20";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mocha-unfunk-reporter" or []);
-    deps = [
-      self.by-version."jsesc"."0.4.3"
-      self.by-version."unfunk-diff"."0.0.2"
-      self.by-version."miniwrite"."0.1.3"
-      self.by-version."ministyle"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mocha-unfunk-reporter" ];
+  by-version."mocha-unfunk-reporter"."0.4.0" = self.buildNodePackage {
+    name = "mocha-unfunk-reporter-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.4.0.tgz";
+      name = "mocha-unfunk-reporter-0.4.0.tgz";
+      sha1 = "59eda97aec6ae6e26d7af4173490a65b7b082d20";
+    };
+    deps = {
+      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
+      "unfunk-diff-0.0.2" = self.by-version."unfunk-diff"."0.0.2";
+      "miniwrite-0.1.4" = self.by-version."miniwrite"."0.1.4";
+      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.4.0";
-  by-spec."module-deps"."^3.5.0" =
-    self.by-version."module-deps"."3.5.5";
-  by-version."module-deps"."3.5.5" = lib.makeOverridable self.buildNodePackage {
-    name = "module-deps-3.5.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/module-deps/-/module-deps-3.5.5.tgz";
-        name = "module-deps-3.5.5.tgz";
-        sha1 = "08e52113552fe72a6f912b1bbe58e9e84ff1ac4a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."module-deps" or []);
-    deps = [
-      self.by-version."JSONStream"."0.7.4"
-      self.by-version."browser-resolve"."1.3.2"
-      self.by-version."concat-stream"."1.4.6"
-      self.by-version."detective"."3.1.0"
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."minimist"."0.2.0"
-      self.by-version."parents"."1.0.0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."resolve"."0.7.4"
-      self.by-version."shallow-copy"."0.0.1"
-      self.by-version."stream-combiner2"."1.0.1"
-      self.by-version."subarg"."0.0.1"
-      self.by-version."through2"."0.4.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "module-deps" ];
+  by-spec."module-deps"."^3.6.3" =
+    self.by-version."module-deps"."3.7.2";
+  by-version."module-deps"."3.7.2" = self.buildNodePackage {
+    name = "module-deps-3.7.2";
+    version = "3.7.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/module-deps/-/module-deps-3.7.2.tgz";
+      name = "module-deps-3.7.2.tgz";
+      sha1 = "bd4ceaca556b16032ac5abbf47ac61bc0ff5c349";
+    };
+    deps = {
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "browser-resolve-1.7.2" = self.by-version."browser-resolve"."1.7.2";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "detective-4.0.0" = self.by-version."detective"."4.0.0";
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
+      "parents-1.0.1" = self.by-version."parents"."1.0.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "resolve-1.1.5" = self.by-version."resolve"."1.1.5";
+      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
+      "stream-combiner2-1.0.2" = self.by-version."stream-combiner2"."1.0.2";
+      "subarg-0.0.1" = self.by-version."subarg"."0.0.1";
+      "through2-0.4.2" = self.by-version."through2"."0.4.2";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."module-deps"."^3.7.0" =
+    self.by-version."module-deps"."3.7.2";
+  by-spec."module-deps"."~1.2.2" =
+    self.by-version."module-deps"."1.2.2";
+  by-version."module-deps"."1.2.2" = self.buildNodePackage {
+    name = "module-deps-1.2.2";
+    version = "1.2.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/module-deps/-/module-deps-1.2.2.tgz";
+      name = "module-deps-1.2.2.tgz";
+      sha1 = "6e73959b7973af964de33a02437b76a8edfb2fc5";
+    };
+    deps = {
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "browser-resolve-1.2.4" = self.by-version."browser-resolve"."1.2.4";
+      "resolve-0.6.3" = self.by-version."resolve"."0.6.3";
+      "detective-2.1.2" = self.by-version."detective"."2.1.2";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "parents-0.0.2" = self.by-version."parents"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."module-deps"."~1.4.0" =
+    self.by-version."module-deps"."1.4.2";
+  by-version."module-deps"."1.4.2" = self.buildNodePackage {
+    name = "module-deps-1.4.2";
+    version = "1.4.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/module-deps/-/module-deps-1.4.2.tgz";
+      name = "module-deps-1.4.2.tgz";
+      sha1 = "cc48c5f88a087c6d9ec1973167c2c9fee2f80314";
+    };
+    deps = {
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "JSONStream-0.7.4" = self.by-version."JSONStream"."0.7.4";
+      "browser-resolve-1.2.4" = self.by-version."browser-resolve"."1.2.4";
+      "resolve-0.6.3" = self.by-version."resolve"."0.6.3";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "parents-0.0.2" = self.by-version."parents"."0.0.2";
+      "mine-0.0.2" = self.by-version."mine"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."moment"."2.1.0" =
     self.by-version."moment"."2.1.0";
-  by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
-        name = "moment-2.1.0.tgz";
-        sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."moment" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "moment" ];
-  };
+  by-version."moment"."2.1.0" = self.buildNodePackage {
+    name = "moment-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
+      name = "moment-2.1.0.tgz";
+      sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."moment".">= 2.1.0" =
+    self.by-version."moment"."2.9.0";
+  by-version."moment"."2.9.0" = self.buildNodePackage {
+    name = "moment-2.9.0";
+    version = "2.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment/-/moment-2.9.0.tgz";
+      name = "moment-2.9.0.tgz";
+      sha1 = "77ec1175fa294f42627f10c8e6de6302c036f6d5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."moment".">= 2.6.0" =
+    self.by-version."moment"."2.9.0";
+  by-spec."moment".">=2.4.0" =
+    self.by-version."moment"."2.9.0";
+  by-spec."moment".">=2.5.0" =
+    self.by-version."moment"."2.9.0";
+  by-spec."moment"."^2.8.4" =
+    self.by-version."moment"."2.9.0";
   by-spec."moment"."~2.4.0" =
     self.by-version."moment"."2.4.0";
-  by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
-        name = "moment-2.4.0.tgz";
-        sha1 = "06dd8dfbbfdb53a03510080ac788163c9490e75d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."moment" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "moment" ];
-  };
-  by-spec."moment"."~2.7.0" =
-    self.by-version."moment"."2.7.0";
-  by-version."moment"."2.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-moment-2.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.7.0.tgz";
-        name = "moment-2.7.0.tgz";
-        sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."moment" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "moment" ];
-  };
-  by-spec."mongodb"."*" =
-    self.by-version."mongodb"."1.4.8";
-  by-version."mongodb"."1.4.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.4.8";
-    src = [
-      (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.8.tgz";
-        name = "mongodb-1.4.8.tgz";
-        sha1 = "808802e296f78e5062ef46a87a90abd68031552f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.11"
-      self.by-version."kerberos"."0.0.3"
-      self.by-version."readable-stream"."1.1.13"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
+  by-version."moment"."2.4.0" = self.buildNodePackage {
+    name = "moment-2.4.0";
+    version = "2.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
+      name = "moment-2.4.0.tgz";
+      sha1 = "06dd8dfbbfdb53a03510080ac788163c9490e75d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."moment"."~2.5.1" =
+    self.by-version."moment"."2.5.1";
+  by-version."moment"."2.5.1" = self.buildNodePackage {
+    name = "moment-2.5.1";
+    version = "2.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment/-/moment-2.5.1.tgz";
+      name = "moment-2.5.1.tgz";
+      sha1 = "7146a3900533064ca799d5e792f4e480ee0e82bc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."moment"."~2.8.4" =
+    self.by-version."moment"."2.8.4";
+  by-version."moment"."2.8.4" = self.buildNodePackage {
+    name = "moment-2.8.4";
+    version = "2.8.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment/-/moment-2.8.4.tgz";
+      name = "moment-2.8.4.tgz";
+      sha1 = "cc174aabb19223efff5699a9467805a2789838bf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."moment-timezone"."0.0.3" =
+    self.by-version."moment-timezone"."0.0.3";
+  by-version."moment-timezone"."0.0.3" = self.buildNodePackage {
+    name = "moment-timezone-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment-timezone/-/moment-timezone-0.0.3.tgz";
+      name = "moment-timezone-0.0.3.tgz";
+      sha1 = "ebbd95f9220eba1c1b5e562d078db6c7d971e7ac";
+    };
+    deps = {
+      "moment-2.9.0" = self.by-version."moment"."2.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."moment-timezone"."0.2.4" =
+    self.by-version."moment-timezone"."0.2.4";
+  by-version."moment-timezone"."0.2.4" = self.buildNodePackage {
+    name = "moment-timezone-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment-timezone/-/moment-timezone-0.2.4.tgz";
+      name = "moment-timezone-0.2.4.tgz";
+      sha1 = "331a9dbecf965a8fb185ee30a6ed3fe32ee93012";
+    };
+    deps = {
+      "moment-2.9.0" = self.by-version."moment"."2.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "mongodb" = self.by-version."mongodb"."1.4.8";
   by-spec."mongodb"."1.2.14" =
     self.by-version."mongodb"."1.2.14";
-  by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.2.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
-        name = "mongodb-1.2.14.tgz";
-        sha1 = "269665552066437308d0942036646e6795c3a9a3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
+  by-version."mongodb"."1.2.14" = self.buildNodePackage {
+    name = "mongodb-1.2.14";
+    version = "1.2.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
+      name = "mongodb-1.2.14.tgz";
+      sha1 = "269665552066437308d0942036646e6795c3a9a3";
+    };
+    deps = {
+      "bson-0.1.8" = self.by-version."bson"."0.1.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mongodb"."1.3.19" =
     self.by-version."mongodb"."1.3.19";
-  by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.3.19";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
-        name = "mongodb-1.3.19.tgz";
-        sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.2"
-      self.by-version."kerberos"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
-  };
-  by-spec."mongodb"."1.3.x" =
-    self.by-version."mongodb"."1.3.23";
-  by-version."mongodb"."1.3.23" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.3.23";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.23.tgz";
-        name = "mongodb-1.3.23.tgz";
-        sha1 = "874a5212162b16188aeeaee5e06067766c8e9e86";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.5"
-      self.by-version."kerberos"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
-  };
-  by-spec."mongodb"."1.4.7" =
-    self.by-version."mongodb"."1.4.7";
-  by-version."mongodb"."1.4.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongodb-1.4.7";
-    src = [
-      (self.patchSource fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.7.tgz";
-        name = "mongodb-1.4.7.tgz";
-        sha1 = "f605b5d43c6c018c7d56d2fb53984dd60a7be128";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongodb" or []);
-    deps = [
-      self.by-version."bson"."0.2.9"
-      self.by-version."kerberos"."0.0.3"
-      self.by-version."readable-stream"."1.1.13"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
+  by-version."mongodb"."1.3.19" = self.buildNodePackage {
+    name = "mongodb-1.3.19";
+    version = "1.3.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
+      name = "mongodb-1.3.19.tgz";
+      sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
+    };
+    deps = {
+      "bson-0.2.2" = self.by-version."bson"."0.2.2";
+    };
+    optionalDependencies = {
+      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mongodb"."1.4.12" =
+    self.by-version."mongodb"."1.4.12";
+  by-version."mongodb"."1.4.12" = self.buildNodePackage {
+    name = "mongodb-1.4.12";
+    version = "1.4.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.12.tgz";
+      name = "mongodb-1.4.12.tgz";
+      sha1 = "65cdd46ec127861e941168fdccf82bf17ad71c4d";
+    };
+    deps = {
+      "bson-0.2.19" = self.by-version."bson"."0.2.19";
+    };
+    optionalDependencies = {
+      "kerberos-0.0.4" = self.by-version."kerberos"."0.0.4";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mongodb"."1.4.28" =
+    self.by-version."mongodb"."1.4.28";
+  by-version."mongodb"."1.4.28" = self.buildNodePackage {
+    name = "mongodb-1.4.28";
+    version = "1.4.28";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.28.tgz";
+      name = "mongodb-1.4.28.tgz";
+      sha1 = "4308333aa9b369cc8214a67602527d138bf74e1f";
+    };
+    deps = {
+      "bson-0.2.19" = self.by-version."bson"."0.2.19";
+    };
+    optionalDependencies = {
+      "kerberos-0.0.7" = self.by-version."kerberos"."0.0.7";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mongodb".">= 1.2.0 <2.1.0" =
+    self.by-version."mongodb"."2.0.16";
+  by-version."mongodb"."2.0.16" = self.buildNodePackage {
+    name = "mongodb-2.0.16";
+    version = "2.0.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongodb/-/mongodb-2.0.16.tgz";
+      name = "mongodb-2.0.16.tgz";
+      sha1 = "54acb07b0d27d542901ea05359a19b142272b36d";
+    };
+    deps = {
+      "mongodb-core-1.1.12" = self.by-version."mongodb-core"."1.1.12";
+      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mongodb"."~2.0" =
+    self.by-version."mongodb"."2.0.16";
+  by-spec."mongodb-core"."1.1.12" =
+    self.by-version."mongodb-core"."1.1.12";
+  by-version."mongodb-core"."1.1.12" = self.buildNodePackage {
+    name = "mongodb-core-1.1.12";
+    version = "1.1.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongodb-core/-/mongodb-core-1.1.12.tgz";
+      name = "mongodb-core-1.1.12.tgz";
+      sha1 = "6f83a64210ab43995d295116736b0a051ce2bdcd";
+    };
+    deps = {
+      "bson-0.2.19" = self.by-version."bson"."0.2.19";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rimraf-2.2.6" = self.by-version."rimraf"."2.2.6";
+    };
+    optionalDependencies = {
+      "kerberos-0.0.9" = self.by-version."kerberos"."0.0.9";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mongoose"."3.6.7" =
     self.by-version."mongoose"."3.6.7";
-  by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.6.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
-        name = "mongoose-3.6.7.tgz";
-        sha1 = "aa6c9f4dfb740c7721dbe734fbb97714e5ab0ebc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongoose" or []);
-    deps = [
-      self.by-version."hooks"."0.2.1"
-      self.by-version."mongodb"."1.2.14"
-      self.by-version."ms"."0.1.0"
-      self.by-version."sliced"."0.0.3"
-      self.by-version."muri"."0.3.1"
-      self.by-version."mpromise"."0.2.1"
-      self.by-version."mpath"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongoose" ];
+  by-version."mongoose"."3.6.7" = self.buildNodePackage {
+    name = "mongoose-3.6.7";
+    version = "3.6.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
+      name = "mongoose-3.6.7.tgz";
+      sha1 = "aa6c9f4dfb740c7721dbe734fbb97714e5ab0ebc";
+    };
+    deps = {
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "mongodb-1.2.14" = self.by-version."mongodb"."1.2.14";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.3" = self.by-version."sliced"."0.0.3";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mongoose"."3.6.x" =
     self.by-version."mongoose"."3.6.20";
-  by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.6.20";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz";
-        name = "mongoose-3.6.20.tgz";
-        sha1 = "47263843e6b812ea207eec104c40a36c8d215f53";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongoose" or []);
-    deps = [
-      self.by-version."hooks"."0.2.1"
-      self.by-version."mongodb"."1.3.19"
-      self.by-version."ms"."0.1.0"
-      self.by-version."sliced"."0.0.5"
-      self.by-version."muri"."0.3.1"
-      self.by-version."mpromise"."0.2.1"
-      self.by-version."mpath"."0.1.1"
-      self.by-version."regexp-clone"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongoose" ];
+  by-version."mongoose"."3.6.20" = self.buildNodePackage {
+    name = "mongoose-3.6.20";
+    version = "3.6.20";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz";
+      name = "mongoose-3.6.20.tgz";
+      sha1 = "47263843e6b812ea207eec104c40a36c8d215f53";
+    };
+    deps = {
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "mongodb-1.3.19" = self.by-version."mongodb"."1.3.19";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "mongoose" = self.by-version."mongoose"."3.6.20";
   by-spec."mongoose"."3.8.x" =
-    self.by-version."mongoose"."3.8.15";
-  by-version."mongoose"."3.8.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-3.8.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.15.tgz";
-        name = "mongoose-3.8.15.tgz";
-        sha1 = "2bc089d011f9e4e662e3aa2aab00771ef43847c1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongoose" or []);
-    deps = [
-      self.by-version."mongodb"."1.4.7"
-      self.by-version."hooks"."0.2.1"
-      self.by-version."ms"."0.1.0"
-      self.by-version."sliced"."0.0.5"
-      self.by-version."muri"."0.3.1"
-      self.by-version."mpromise"."0.4.3"
-      self.by-version."mpath"."0.1.1"
-      self.by-version."regexp-clone"."0.0.1"
-      self.by-version."mquery"."0.8.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongoose" ];
+    self.by-version."mongoose"."3.8.23";
+  by-version."mongoose"."3.8.23" = self.buildNodePackage {
+    name = "mongoose-3.8.23";
+    version = "3.8.23";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.23.tgz";
+      name = "mongoose-3.8.23.tgz";
+      sha1 = "c2dbee69d9d3776006330165f6e2681174c2ce6b";
+    };
+    deps = {
+      "mongodb-1.4.28" = self.by-version."mongodb"."1.4.28";
+      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.4.3" = self.by-version."mpromise"."0.4.3";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+      "mquery-0.8.0" = self.by-version."mquery"."0.8.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mongoose"."3.9.7" =
+    self.by-version."mongoose"."3.9.7";
+  by-version."mongoose"."3.9.7" = self.buildNodePackage {
+    name = "mongoose-3.9.7";
+    version = "3.9.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongoose/-/mongoose-3.9.7.tgz";
+      name = "mongoose-3.9.7.tgz";
+      sha1 = "b315e6ebe5cefcce3843504b791f038828048da6";
+    };
+    deps = {
+      "hooks-0.3.2" = self.by-version."hooks"."0.3.2";
+      "mongodb-1.4.12" = self.by-version."mongodb"."1.4.12";
+      "ms-0.1.0" = self.by-version."ms"."0.1.0";
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "muri-0.3.1" = self.by-version."muri"."0.3.1";
+      "mpromise-0.5.4" = self.by-version."mpromise"."0.5.4";
+      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
+      "kareem-0.0.4" = self.by-version."kareem"."0.0.4";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+      "mquery-1.0.0" = self.by-version."mquery"."1.0.0";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mongoose-lifecycle"."1.0.0" =
     self.by-version."mongoose-lifecycle"."1.0.0";
-  by-version."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-lifecycle-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
-        name = "mongoose-lifecycle-1.0.0.tgz";
-        sha1 = "3bac3f3924a845d147784fc6558dee900b0151e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongoose-lifecycle" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongoose-lifecycle" ];
+  by-version."mongoose-lifecycle"."1.0.0" = self.buildNodePackage {
+    name = "mongoose-lifecycle-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
+      name = "mongoose-lifecycle-1.0.0.tgz";
+      sha1 = "3bac3f3924a845d147784fc6558dee900b0151e2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mongoose-schema-extend"."*" =
     self.by-version."mongoose-schema-extend"."0.1.7";
-  by-version."mongoose-schema-extend"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mongoose-schema-extend-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.7.tgz";
-        name = "mongoose-schema-extend-0.1.7.tgz";
-        sha1 = "50dc366ba63227d00c4cd3db9bb8bf95e9629910";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongoose-schema-extend" or []);
-    deps = [
-      self.by-version."owl-deepcopy"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongoose-schema-extend" ];
+  by-version."mongoose-schema-extend"."0.1.7" = self.buildNodePackage {
+    name = "mongoose-schema-extend-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.7.tgz";
+      name = "mongoose-schema-extend-0.1.7.tgz";
+      sha1 = "50dc366ba63227d00c4cd3db9bb8bf95e9629910";
+    };
+    deps = {
+      "owl-deepcopy-0.0.4" = self.by-version."owl-deepcopy"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "mongoose-schema-extend" = self.by-version."mongoose-schema-extend"."0.1.7";
   by-spec."monocle"."1.1.50" =
     self.by-version."monocle"."1.1.50";
-  by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
-    name = "node-monocle-1.1.50";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/monocle/-/monocle-1.1.50.tgz";
-        name = "monocle-1.1.50.tgz";
-        sha1 = "e21b059d99726d958371f36240c106b8a067fa7d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."monocle" or []);
-    deps = [
-      self.by-version."readdirp"."0.2.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "monocle" ];
+  by-version."monocle"."1.1.50" = self.buildNodePackage {
+    name = "monocle-1.1.50";
+    version = "1.1.50";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/monocle/-/monocle-1.1.50.tgz";
+      name = "monocle-1.1.50.tgz";
+      sha1 = "e21b059d99726d958371f36240c106b8a067fa7d";
+    };
+    deps = {
+      "readdirp-0.2.5" = self.by-version."readdirp"."0.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."monocle"."1.1.51" =
     self.by-version."monocle"."1.1.51";
-  by-version."monocle"."1.1.51" = lib.makeOverridable self.buildNodePackage {
-    name = "node-monocle-1.1.51";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz";
-        name = "monocle-1.1.51.tgz";
-        sha1 = "22ed16e112e9b056769c5ccac920e375249d89c0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."monocle" or []);
-    deps = [
-      self.by-version."readdirp"."0.2.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "monocle" ];
-  };
-  by-spec."morgan"."~1.2.3" =
-    self.by-version."morgan"."1.2.3";
-  by-version."morgan"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-morgan-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/morgan/-/morgan-1.2.3.tgz";
-        name = "morgan-1.2.3.tgz";
-        sha1 = "3b0f1704df90255a542591abacd797891a8c40a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."morgan" or []);
-    deps = [
-      self.by-version."basic-auth"."1.0.0"
-      self.by-version."bytes"."1.0.0"
-      self.by-version."depd"."0.4.4"
-      self.by-version."on-finished"."2.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "morgan" ];
+  by-version."monocle"."1.1.51" = self.buildNodePackage {
+    name = "monocle-1.1.51";
+    version = "1.1.51";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz";
+      name = "monocle-1.1.51.tgz";
+      sha1 = "22ed16e112e9b056769c5ccac920e375249d89c0";
+    };
+    deps = {
+      "readdirp-0.2.5" = self.by-version."readdirp"."0.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."morgan"."1.0.0" =
+    self.by-version."morgan"."1.0.0";
+  by-version."morgan"."1.0.0" = self.buildNodePackage {
+    name = "morgan-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/morgan/-/morgan-1.0.0.tgz";
+      name = "morgan-1.0.0.tgz";
+      sha1 = "83cf74b9f2d841901f1a9a6b8fa7a468d2e47a8d";
+    };
+    deps = {
+      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."morgan"."1.2.0" =
+    self.by-version."morgan"."1.2.0";
+  by-version."morgan"."1.2.0" = self.buildNodePackage {
+    name = "morgan-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/morgan/-/morgan-1.2.0.tgz";
+      name = "morgan-1.2.0.tgz";
+      sha1 = "8dc17a57599598f80cd7a7e1e3b54e72c689910d";
+    };
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "depd-0.4.2" = self.by-version."depd"."0.4.2";
+      "finished-1.2.2" = self.by-version."finished"."1.2.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."morgan"."~1.3.1" =
+    self.by-version."morgan"."1.3.2";
+  by-version."morgan"."1.3.2" = self.buildNodePackage {
+    name = "morgan-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/morgan/-/morgan-1.3.2.tgz";
+      name = "morgan-1.3.2.tgz";
+      sha1 = "ac41aa15221ee4e5f2ac843896b6918139a18efd";
+    };
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."morgan"."~1.3.2" =
+    self.by-version."morgan"."1.3.2";
+  by-spec."morgan"."~1.5.1" =
+    self.by-version."morgan"."1.5.1";
+  by-version."morgan"."1.5.1" = self.buildNodePackage {
+    name = "morgan-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/morgan/-/morgan-1.5.1.tgz";
+      name = "morgan-1.5.1.tgz";
+      sha1 = "a9688eed9187ab648d816fc09c696fae882e16f6";
+    };
+    deps = {
+      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mount-point"."^1.0.0" =
+    self.by-version."mount-point"."1.0.3";
+  by-version."mount-point"."1.0.3" = self.buildNodePackage {
+    name = "mount-point-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mount-point/-/mount-point-1.0.3.tgz";
+      name = "mount-point-1.0.3.tgz";
+      sha1 = "43adac2467a9dc8abf4b784a0d7b7453ab58df4d";
+    };
+    deps = {
+      "node-df-0.1.1" = self.by-version."node-df"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mout"."~0.9.0" =
+    self.by-version."mout"."0.9.1";
+  by-version."mout"."0.9.1" = self.buildNodePackage {
+    name = "mout-0.9.1";
+    version = "0.9.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mout/-/mout-0.9.1.tgz";
+      name = "mout-0.9.1.tgz";
+      sha1 = "84f0f3fd6acc7317f63de2affdcc0cee009b0477";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mpath"."0.1.1" =
     self.by-version."mpath"."0.1.1";
-  by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpath-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
-        name = "mpath-0.1.1.tgz";
-        sha1 = "23da852b7c232ee097f4759d29c0ee9cd22d5e46";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mpath" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mpath" ];
+  by-version."mpath"."0.1.1" = self.buildNodePackage {
+    name = "mpath-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
+      name = "mpath-0.1.1.tgz";
+      sha1 = "23da852b7c232ee097f4759d29c0ee9cd22d5e46";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mpromise"."0.2.1" =
     self.by-version."mpromise"."0.2.1";
-  by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpromise-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
-        name = "mpromise-0.2.1.tgz";
-        sha1 = "fbbdc28cb0207e49b8a4eb1a4c0cea6c2de794c8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mpromise" or []);
-    deps = [
-      self.by-version."sliced"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mpromise" ];
+  by-version."mpromise"."0.2.1" = self.buildNodePackage {
+    name = "mpromise-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
+      name = "mpromise-0.2.1.tgz";
+      sha1 = "fbbdc28cb0207e49b8a4eb1a4c0cea6c2de794c8";
+    };
+    deps = {
+      "sliced-0.0.4" = self.by-version."sliced"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mpromise"."0.4.3" =
     self.by-version."mpromise"."0.4.3";
-  by-version."mpromise"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mpromise-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz";
-        name = "mpromise-0.4.3.tgz";
-        sha1 = "edc47a75a2a177b0e9382735db52dbec3808cc33";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mpromise" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mpromise" ];
+  by-version."mpromise"."0.4.3" = self.buildNodePackage {
+    name = "mpromise-0.4.3";
+    version = "0.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz";
+      name = "mpromise-0.4.3.tgz";
+      sha1 = "edc47a75a2a177b0e9382735db52dbec3808cc33";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mpromise"."0.5.4" =
+    self.by-version."mpromise"."0.5.4";
+  by-version."mpromise"."0.5.4" = self.buildNodePackage {
+    name = "mpromise-0.5.4";
+    version = "0.5.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mpromise/-/mpromise-0.5.4.tgz";
+      name = "mpromise-0.5.4.tgz";
+      sha1 = "b610613ec6de37419f944b35f0783b4de9f5dc75";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mqtt"."0.3.x" =
+    self.by-version."mqtt"."0.3.13";
+  by-version."mqtt"."0.3.13" = self.buildNodePackage {
+    name = "mqtt-0.3.13";
+    version = "0.3.13";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mqtt/-/mqtt-0.3.13.tgz";
+      name = "mqtt-0.3.13.tgz";
+      sha1 = "f65fbe323901b664427b471658428dcfa1d5bee4";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mquery"."0.8.0" =
     self.by-version."mquery"."0.8.0";
-  by-version."mquery"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mquery-0.8.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mquery/-/mquery-0.8.0.tgz";
-        name = "mquery-0.8.0.tgz";
-        sha1 = "1e5b8c2a5a52f5583bd08932700b85440ee25f60";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mquery" or []);
-    deps = [
-      self.by-version."sliced"."0.0.5"
-      self.by-version."debug"."0.7.4"
-      self.by-version."regexp-clone"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mquery" ];
+  by-version."mquery"."0.8.0" = self.buildNodePackage {
+    name = "mquery-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mquery/-/mquery-0.8.0.tgz";
+      name = "mquery-0.8.0.tgz";
+      sha1 = "1e5b8c2a5a52f5583bd08932700b85440ee25f60";
+    };
+    deps = {
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mquery"."1.0.0" =
+    self.by-version."mquery"."1.0.0";
+  by-version."mquery"."1.0.0" = self.buildNodePackage {
+    name = "mquery-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mquery/-/mquery-1.0.0.tgz";
+      name = "mquery-1.0.0.tgz";
+      sha1 = "6940a46d643368fe8e5abddeb94bd8dd32013f5b";
+    };
+    deps = {
+      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ms"."0.1.0" =
     self.by-version."ms"."0.1.0";
-  by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ms-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
-        name = "ms-0.1.0.tgz";
-        sha1 = "f21fac490daf1d7667fd180fe9077389cc9442b2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ms" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ms" ];
+  by-version."ms"."0.1.0" = self.buildNodePackage {
+    name = "ms-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
+      name = "ms-0.1.0.tgz";
+      sha1 = "f21fac490daf1d7667fd180fe9077389cc9442b2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ms"."0.6.2" =
     self.by-version."ms"."0.6.2";
-  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ms-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
-        name = "ms-0.6.2.tgz";
-        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ms" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ms" ];
+  by-version."ms"."0.6.2" = self.buildNodePackage {
+    name = "ms-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+      name = "ms-0.6.2.tgz";
+      sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.7.0" =
+    self.by-version."ms"."0.7.0";
+  by-version."ms"."0.7.0" = self.buildNodePackage {
+    name = "ms-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz";
+      name = "ms-0.7.0.tgz";
+      sha1 = "865be94c2e7397ad8a57da6a633a6e2f30798b83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."msgpack".">= 0.0.1" =
-    self.by-version."msgpack"."0.2.4";
-  by-version."msgpack"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "msgpack-0.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.4.tgz";
-        name = "msgpack-0.2.4.tgz";
-        sha1 = "17ac333ea5320b45059f80c992d7465fed4fe706";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."msgpack" or []);
-    deps = [
-      self.by-version."nan"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "msgpack" ];
+    self.by-version."msgpack"."0.2.6";
+  by-version."msgpack"."0.2.6" = self.buildNodePackage {
+    name = "msgpack-0.2.6";
+    version = "0.2.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.6.tgz";
+      name = "msgpack-0.2.6.tgz";
+      sha1 = "e0eda501c43972efabb48eb34ee9daaeffd8eb4c";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."multer".">=0.0.6" =
+    self.by-version."multer"."0.1.8";
+  by-version."multer"."0.1.8" = self.buildNodePackage {
+    name = "multer-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/multer/-/multer-0.1.8.tgz";
+      name = "multer-0.1.8.tgz";
+      sha1 = "551b8a6015093701bcacc964916b1ae06578f37b";
+    };
+    deps = {
+      "busboy-0.2.9" = self.by-version."busboy"."0.2.9";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."multiparty"."2.2.0" =
     self.by-version."multiparty"."2.2.0";
-  by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-multiparty-2.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
-        name = "multiparty-2.2.0.tgz";
-        sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."multiparty" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."stream-counter"."0.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "multiparty" ];
+  by-version."multiparty"."2.2.0" = self.buildNodePackage {
+    name = "multiparty-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
+      name = "multiparty-2.2.0.tgz";
+      sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."multiparty"."3.3.2" =
     self.by-version."multiparty"."3.3.2";
-  by-version."multiparty"."3.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-multiparty-3.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
-        name = "multiparty-3.3.2.tgz";
-        sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."multiparty" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."stream-counter"."0.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "multiparty" ];
+  by-version."multiparty"."3.3.2" = self.buildNodePackage {
+    name = "multiparty-3.3.2";
+    version = "3.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
+      name = "multiparty-3.3.2.tgz";
+      sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."multiparty"."~3.3.2" =
+    self.by-version."multiparty"."3.3.2";
+  by-spec."multipipe"."^0.1.2" =
+    self.by-version."multipipe"."0.1.2";
+  by-version."multipipe"."0.1.2" = self.buildNodePackage {
+    name = "multipipe-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz";
+      name = "multipipe-0.1.2.tgz";
+      sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
+    };
+    deps = {
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."muri"."0.3.1" =
     self.by-version."muri"."0.3.1";
-  by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-muri-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
-        name = "muri-0.3.1.tgz";
-        sha1 = "861889c5c857f1a43700bee85d50731f61727c9a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."muri" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "muri" ];
+  by-version."muri"."0.3.1" = self.buildNodePackage {
+    name = "muri-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
+      name = "muri-0.3.1.tgz";
+      sha1 = "861889c5c857f1a43700bee85d50731f61727c9a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mustache"."1.0.0" =
+    self.by-version."mustache"."1.0.0";
+  by-version."mustache"."1.0.0" = self.buildNodePackage {
+    name = "mustache-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mustache/-/mustache-1.0.0.tgz";
+      name = "mustache-1.0.0.tgz";
+      sha1 = "8f5b8f68041dbead10997e0ba1d024771a03e15a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mutate.js"."^0.2.0" =
+    self.by-version."mutate.js"."0.2.0";
+  by-version."mutate.js"."0.2.0" = self.buildNodePackage {
+    name = "mutate.js-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mutate.js/-/mutate.js-0.2.0.tgz";
+      name = "mutate.js-0.2.0.tgz";
+      sha1 = "2e5cb1ac64c937dae28296e8f42af5eafd9bc7ef";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mute-stream"."0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
+  by-version."mute-stream"."0.0.4" = self.buildNodePackage {
+    name = "mute-stream-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
+      name = "mute-stream-0.0.4.tgz";
+      sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mute-stream"."~0.0.4" =
     self.by-version."mute-stream"."0.0.4";
-  by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mute-stream-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
-        name = "mute-stream-0.0.4.tgz";
-        sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mute-stream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mute-stream" ];
-  };
   by-spec."mv"."0.0.5" =
     self.by-version."mv"."0.0.5";
-  by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mv-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
-        name = "mv-0.0.5.tgz";
-        sha1 = "15eac759479884df1131d6de56bce20b654f5391";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mv" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mv" ];
+  by-version."mv"."0.0.5" = self.buildNodePackage {
+    name = "mv-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
+      name = "mv-0.0.5.tgz";
+      sha1 = "15eac759479884df1131d6de56bce20b654f5391";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mv"."~2" =
+    self.by-version."mv"."2.0.3";
+  by-version."mv"."2.0.3" = self.buildNodePackage {
+    name = "mv-2.0.3";
+    version = "2.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mv/-/mv-2.0.3.tgz";
+      name = "mv-2.0.3.tgz";
+      sha1 = "e9ab707d71dc38de24edcc637a8e2f5f480c7f32";
+    };
+    deps = {
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "ncp-0.6.0" = self.by-version."ncp"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."mz"."1" =
-    self.by-version."mz"."1.0.1";
-  by-version."mz"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-mz-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mz/-/mz-1.0.1.tgz";
-        name = "mz-1.0.1.tgz";
-        sha1 = "5ce1d3fe5cb3267c9c3141fb6a070f8d17f215d8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mz" or []);
-    deps = [
-      self.by-version."native-or-bluebird"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mz" ];
+    self.by-version."mz"."1.3.0";
+  by-version."mz"."1.3.0" = self.buildNodePackage {
+    name = "mz-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mz/-/mz-1.3.0.tgz";
+      name = "mz-1.3.0.tgz";
+      sha1 = "06f093fdd9956a06d37e1b1e81344e27478c42f0";
+    };
+    deps = {
+      "native-or-bluebird-1.2.0" = self.by-version."native-or-bluebird"."1.2.0";
+      "thenify-3.1.0" = self.by-version."thenify"."3.1.0";
+      "thenify-all-1.6.0" = self.by-version."thenify-all"."1.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."*" =
+    self.by-version."nan"."1.6.2";
+  by-version."nan"."1.6.2" = self.buildNodePackage {
+    name = "nan-1.6.2";
+    version = "1.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.6.2.tgz";
+      name = "nan-1.6.2.tgz";
+      sha1 = "2657d1c43b00f1e847e083832285b7d8f5ba8ec8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nan"."1.1.2" =
     self.by-version."nan"."1.1.2";
-  by-version."nan"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-1.1.2.tgz";
-        name = "nan-1.1.2.tgz";
-        sha1 = "bbd48552fc0758673ebe8fada360b60278a6636b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
-  };
-  by-spec."nan"."1.2.0" =
-    self.by-version."nan"."1.2.0";
-  by-version."nan"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-1.2.0.tgz";
-        name = "nan-1.2.0.tgz";
-        sha1 = "9c4d63ce9e4f8e95de2d574e18f7925554a8a8ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
+  by-version."nan"."1.1.2" = self.buildNodePackage {
+    name = "nan-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.1.2.tgz";
+      name = "nan-1.1.2.tgz";
+      sha1 = "bbd48552fc0758673ebe8fada360b60278a6636b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nan"."1.3.0" =
     self.by-version."nan"."1.3.0";
-  by-version."nan"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-1.3.0.tgz";
-        name = "nan-1.3.0.tgz";
-        sha1 = "9a5b8d5ef97a10df3050e59b2c362d3baf779742";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
-  };
-  by-spec."nan".">=1.1.0" =
-    self.by-version."nan"."1.3.0";
-  by-spec."nan"."~0.8.0" =
-    self.by-version."nan"."0.8.0";
-  by-version."nan"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-0.8.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-0.8.0.tgz";
-        name = "nan-0.8.0.tgz";
-        sha1 = "022a8fa5e9fe8420964ac1fb3dc94e17f449f5fd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
+  by-version."nan"."1.3.0" = self.buildNodePackage {
+    name = "nan-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.3.0.tgz";
+      name = "nan-1.3.0.tgz";
+      sha1 = "9a5b8d5ef97a10df3050e59b2c362d3baf779742";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."1.5.0" =
+    self.by-version."nan"."1.5.0";
+  by-version."nan"."1.5.0" = self.buildNodePackage {
+    name = "nan-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.5.0.tgz";
+      name = "nan-1.5.0.tgz";
+      sha1 = "2b3c05bc361f52e50aea2c49077783aa67c5b7fb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."1.6.2" =
+    self.by-version."nan"."1.6.2";
+  by-spec."nan"."1.6.x" =
+    self.by-version."nan"."1.6.2";
+  by-spec."nan".">=1.3.0" =
+    self.by-version."nan"."1.6.2";
+  by-spec."nan"."^1.3.0" =
+    self.by-version."nan"."1.6.2";
+  by-spec."nan"."^1.5.1" =
+    self.by-version."nan"."1.6.2";
+  by-spec."nan"."^1.6.2" =
+    self.by-version."nan"."1.6.2";
+  by-spec."nan"."~0.3.0" =
+    self.by-version."nan"."0.3.2";
+  by-version."nan"."0.3.2" = self.buildNodePackage {
+    name = "nan-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
+      name = "nan-0.3.2.tgz";
+      sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."~0.6.0" =
+    self.by-version."nan"."0.6.0";
+  by-version."nan"."0.6.0" = self.buildNodePackage {
+    name = "nan-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-0.6.0.tgz";
+      name = "nan-0.6.0.tgz";
+      sha1 = "a54ebe59717b467c77425302bd7c17574c887aaa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."~0.7.0" =
+    self.by-version."nan"."0.7.1";
+  by-version."nan"."0.7.1" = self.buildNodePackage {
+    name = "nan-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-0.7.1.tgz";
+      name = "nan-0.7.1.tgz";
+      sha1 = "fc576184a1037b3e5675f2ba3740dee2044ff8f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nan"."~1.0.0" =
     self.by-version."nan"."1.0.0";
-  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nan-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
-        name = "nan-1.0.0.tgz";
-        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
+  by-version."nan"."1.0.0" = self.buildNodePackage {
+    name = "nan-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+      name = "nan-1.0.0.tgz";
+      sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."nan"."~1.1.0" =
-    self.by-version."nan"."1.1.2";
   by-spec."nan"."~1.2.0" =
     self.by-version."nan"."1.2.0";
+  by-version."nan"."1.2.0" = self.buildNodePackage {
+    name = "nan-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.2.0.tgz";
+      name = "nan-1.2.0.tgz";
+      sha1 = "9c4d63ce9e4f8e95de2d574e18f7925554a8a8ef";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."~1.3.0" =
+    self.by-version."nan"."1.3.0";
+  by-spec."nan"."~1.5.0" =
+    self.by-version."nan"."1.5.3";
+  by-version."nan"."1.5.3" = self.buildNodePackage {
+    name = "nan-1.5.3";
+    version = "1.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.5.3.tgz";
+      name = "nan-1.5.3.tgz";
+      sha1 = "4cd0ecc133b7b0700a492a646add427ae8a318eb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."~1.5.3" =
+    self.by-version."nan"."1.5.3";
+  by-spec."nan"."~1.6.2" =
+    self.by-version."nan"."1.6.2";
+  by-spec."native-buffer-browserify"."~2.0.0" =
+    self.by-version."native-buffer-browserify"."2.0.17";
+  by-version."native-buffer-browserify"."2.0.17" = self.buildNodePackage {
+    name = "native-buffer-browserify-2.0.17";
+    version = "2.0.17";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-buffer-browserify/-/native-buffer-browserify-2.0.17.tgz";
+      name = "native-buffer-browserify-2.0.17.tgz";
+      sha1 = "980577018c4884d169da40b47958ffac6c327d15";
+    };
+    deps = {
+      "base64-js-0.0.8" = self.by-version."base64-js"."0.0.8";
+      "ieee754-1.1.4" = self.by-version."ieee754"."1.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-buffer-browserify"."~2.0.15" =
+    self.by-version."native-buffer-browserify"."2.0.17";
+  by-spec."native-dns"."0.6.1" =
+    self.by-version."native-dns"."0.6.1";
+  by-version."native-dns"."0.6.1" = self.buildNodePackage {
+    name = "native-dns-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-dns/-/native-dns-0.6.1.tgz";
+      name = "native-dns-0.6.1.tgz";
+      sha1 = "f7d2a3c5464bb6f09d9167e35a7350bd7ffe9b82";
+    };
+    deps = {
+      "ipaddr.js-0.1.8" = self.by-version."ipaddr.js"."0.1.8";
+      "native-dns-cache-0.0.2" = self.by-version."native-dns-cache"."0.0.2";
+      "native-dns-packet-0.1.1" = self.by-version."native-dns-packet"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns-cache".">= 0.0.1" =
+    self.by-version."native-dns-cache"."0.0.2";
+  by-version."native-dns-cache"."0.0.2" = self.buildNodePackage {
+    name = "native-dns-cache-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-dns-cache/-/native-dns-cache-0.0.2.tgz";
+      name = "native-dns-cache-0.0.2.tgz";
+      sha1 = "ce0998f7fdf6c7990970a33190624b0e98ee959b";
+    };
+    deps = {
+      "binaryheap-0.0.3" = self.by-version."binaryheap"."0.0.3";
+      "native-dns-packet-0.1.1" = self.by-version."native-dns-packet"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns-packet".">= 0.0.1" =
+    self.by-version."native-dns-packet"."0.1.1";
+  by-version."native-dns-packet"."0.1.1" = self.buildNodePackage {
+    name = "native-dns-packet-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-dns-packet/-/native-dns-packet-0.1.1.tgz";
+      name = "native-dns-packet-0.1.1.tgz";
+      sha1 = "97da90570b8438a00194701ce24d011fd3cc109a";
+    };
+    deps = {
+      "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
+      "ipaddr.js-0.1.8" = self.by-version."ipaddr.js"."0.1.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns-packet".">= 0.0.4" =
+    self.by-version."native-dns-packet"."0.1.1";
   by-spec."native-or-bluebird"."1" =
-    self.by-version."native-or-bluebird"."1.0.0";
-  by-version."native-or-bluebird"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-native-or-bluebird-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.0.0.tgz";
-        name = "native-or-bluebird-1.0.0.tgz";
-        sha1 = "2259f00d3b8621a9e6389f0d99badfcc2d8fccfe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."native-or-bluebird" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "native-or-bluebird" ];
-  };
-  by-spec."natural"."0.1.17" =
-    self.by-version."natural"."0.1.17";
-  by-version."natural"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-natural-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/natural/-/natural-0.1.17.tgz";
-        name = "natural-0.1.17.tgz";
-        sha1 = "0ff654cd30aeb2aa298ab0580e6f7ea9f40954e0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."natural" or []);
-    deps = [
-      self.by-version."sylvester"."0.0.21"
-      self.by-version."apparatus"."0.0.8"
-      self.by-version."underscore"."1.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "natural" ];
+    self.by-version."native-or-bluebird"."1.2.0";
+  by-version."native-or-bluebird"."1.2.0" = self.buildNodePackage {
+    name = "native-or-bluebird-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.2.0.tgz";
+      name = "native-or-bluebird-1.2.0.tgz";
+      sha1 = "39c47bfd7825d1fb9ffad32210ae25daadf101c9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-or-bluebird"."~1.1.2" =
+    self.by-version."native-or-bluebird"."1.1.2";
+  by-version."native-or-bluebird"."1.1.2" = self.buildNodePackage {
+    name = "native-or-bluebird-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.2.tgz";
+      name = "native-or-bluebird-1.1.2.tgz";
+      sha1 = "3921e110232d1eb790f3dac61bb370531c7d356e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."natural"."^0.2.0" =
+    self.by-version."natural"."0.2.0";
+  by-version."natural"."0.2.0" = self.buildNodePackage {
+    name = "natural-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/natural/-/natural-0.2.0.tgz";
+      name = "natural-0.2.0.tgz";
+      sha1 = "42f4ff5f17ae54c439e7c61b45ff3a6bce9a0a8a";
+    };
+    deps = {
+      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
+      "apparatus-0.0.8" = self.by-version."apparatus"."0.0.8";
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nconf"."*" =
-    self.by-version."nconf"."0.6.9";
-  by-version."nconf"."0.6.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nconf-0.6.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
-        name = "nconf-0.6.9.tgz";
-        sha1 = "9570ef15ed6f9ae6b2b3c8d5e71b66d3193cd661";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nconf" or []);
-    deps = [
-      self.by-version."async"."0.2.9"
-      self.by-version."ini"."1.2.1"
-      self.by-version."optimist"."0.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nconf" ];
-  };
-  "nconf" = self.by-version."nconf"."0.6.9";
+    self.by-version."nconf"."0.7.1";
+  by-version."nconf"."0.7.1" = self.buildNodePackage {
+    name = "nconf-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nconf/-/nconf-0.7.1.tgz";
+      name = "nconf-0.7.1.tgz";
+      sha1 = "ee4b561dd979a3c58db122e38f196d49d61aeb5b";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "nconf" = self.by-version."nconf"."0.7.1";
   by-spec."nconf"."0.6.9" =
     self.by-version."nconf"."0.6.9";
+  by-version."nconf"."0.6.9" = self.buildNodePackage {
+    name = "nconf-0.6.9";
+    version = "0.6.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
+      name = "nconf-0.6.9.tgz";
+      sha1 = "9570ef15ed6f9ae6b2b3c8d5e71b66d3193cd661";
+    };
+    deps = {
+      "async-0.2.9" = self.by-version."async"."0.2.9";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."nconf"."~0.6.9" =
     self.by-version."nconf"."0.6.9";
   by-spec."ncp"."0.2.x" =
     self.by-version."ncp"."0.2.7";
-  by-version."ncp"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+  by-version."ncp"."0.2.7" = self.buildNodePackage {
     name = "ncp-0.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
-        name = "ncp-0.2.7.tgz";
-        sha1 = "46fac2b7dda2560a4cb7e628677bd5f64eac5be1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ncp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ncp" ];
+    version = "0.2.7";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
+      name = "ncp-0.2.7.tgz";
+      sha1 = "46fac2b7dda2560a4cb7e628677bd5f64eac5be1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."ncp"."0.4.2" =
+  by-spec."ncp"."0.4.x" =
     self.by-version."ncp"."0.4.2";
-  by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-version."ncp"."0.4.2" = self.buildNodePackage {
     name = "ncp-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
-        name = "ncp-0.4.2.tgz";
-        sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ncp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ncp" ];
+    version = "0.4.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
+      name = "ncp-0.4.2.tgz";
+      sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."ncp"."0.4.x" =
-    self.by-version."ncp"."0.4.2";
   by-spec."ncp"."~0.4.2" =
     self.by-version."ncp"."0.4.2";
+  by-spec."ncp"."~0.6.0" =
+    self.by-version."ncp"."0.6.0";
+  by-version."ncp"."0.6.0" = self.buildNodePackage {
+    name = "ncp-0.6.0";
+    version = "0.6.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ncp/-/ncp-0.6.0.tgz";
+      name = "ncp-0.6.0.tgz";
+      sha1 = "df8ce021e262be21b52feb3d3e5cfaab12491f0d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."negotiator"."0.2.5" =
     self.by-version."negotiator"."0.2.5";
-  by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz";
-        name = "negotiator-0.2.5.tgz";
-        sha1 = "12ec7b4a9f3b4c894c31d8c4ec015925ba547eec";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "negotiator" ];
+  by-version."negotiator"."0.2.5" = self.buildNodePackage {
+    name = "negotiator-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz";
+      name = "negotiator-0.2.5.tgz";
+      sha1 = "12ec7b4a9f3b4c894c31d8c4ec015925ba547eec";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."negotiator"."0.3.0" =
     self.by-version."negotiator"."0.3.0";
-  by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
-        name = "negotiator-0.3.0.tgz";
-        sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "negotiator" ];
+  by-version."negotiator"."0.3.0" = self.buildNodePackage {
+    name = "negotiator-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
+      name = "negotiator-0.3.0.tgz";
+      sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."negotiator"."0.4.2" =
+    self.by-version."negotiator"."0.4.2";
+  by-version."negotiator"."0.4.2" = self.buildNodePackage {
+    name = "negotiator-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz";
+      name = "negotiator-0.4.2.tgz";
+      sha1 = "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."negotiator"."0.4.7" =
     self.by-version."negotiator"."0.4.7";
-  by-version."negotiator"."0.4.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-negotiator-0.4.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
-        name = "negotiator-0.4.7.tgz";
-        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."negotiator" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "negotiator" ];
+  by-version."negotiator"."0.4.7" = self.buildNodePackage {
+    name = "negotiator-0.4.7";
+    version = "0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
+      name = "negotiator-0.4.7.tgz";
+      sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."negotiator"."0.4.9" =
+    self.by-version."negotiator"."0.4.9";
+  by-version."negotiator"."0.4.9" = self.buildNodePackage {
+    name = "negotiator-0.4.9";
+    version = "0.4.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz";
+      name = "negotiator-0.4.9.tgz";
+      sha1 = "92e46b6db53c7e421ed64a2bc94f08be7630df3f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."negotiator"."0.5.1" =
+    self.by-version."negotiator"."0.5.1";
+  by-version."negotiator"."0.5.1" = self.buildNodePackage {
+    name = "negotiator-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.1.tgz";
+      name = "negotiator-0.5.1.tgz";
+      sha1 = "498f661c522470153c6086ac83019cb3eb66f61c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."negotiator"."~0.3.0" =
-    self.by-version."negotiator"."0.3.0";
   by-spec."net-ping"."1.1.7" =
     self.by-version."net-ping"."1.1.7";
-  by-version."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-net-ping-1.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
-        name = "net-ping-1.1.7.tgz";
-        sha1 = "49f5bca55a30a3726d69253557f231135a637075";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."net-ping" or []);
-    deps = [
-      self.by-version."raw-socket"."1.2.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "net-ping" ];
-  };
+  by-version."net-ping"."1.1.7" = self.buildNodePackage {
+    name = "net-ping-1.1.7";
+    version = "1.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
+      name = "net-ping-1.1.7.tgz";
+      sha1 = "49f5bca55a30a3726d69253557f231135a637075";
+    };
+    deps = {
+      "raw-socket-1.2.2" = self.by-version."raw-socket"."1.2.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."netmask"."~1.0.4" =
+    self.by-version."netmask"."1.0.5";
+  by-version."netmask"."1.0.5" = self.buildNodePackage {
+    name = "netmask-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/netmask/-/netmask-1.0.5.tgz";
+      name = "netmask-1.0.5.tgz";
+      sha1 = "84851218294b88e0ac5a008ec46401e2a5c767d2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."network-address"."0.0.5" =
+    self.by-version."network-address"."0.0.5";
+  by-version."network-address"."0.0.5" = self.buildNodePackage {
+    name = "network-address-0.0.5";
+    version = "0.0.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/network-address/-/network-address-0.0.5.tgz";
+      name = "network-address-0.0.5.tgz";
+      sha1 = "a400225438cacb67cd6108e8e826d5920a705dcc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."next-tick"."~0.2.2" =
+    self.by-version."next-tick"."0.2.2";
+  by-version."next-tick"."0.2.2" = self.buildNodePackage {
+    name = "next-tick-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz";
+      name = "next-tick-0.2.2.tgz";
+      sha1 = "75da4a927ee5887e39065880065b7336413b310d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nib"."*" =
+    self.by-version."nib"."1.1.0";
+  by-version."nib"."1.1.0" = self.buildNodePackage {
+    name = "nib-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nib/-/nib-1.1.0.tgz";
+      name = "nib-1.1.0.tgz";
+      sha1 = "527c19662a10a2b565fe85e9b309d622aa7557d3";
+    };
+    deps = {
+      "stylus-0.49.3" = self.by-version."stylus"."0.49.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "nib" = self.by-version."nib"."1.1.0";
   by-spec."nib"."0.5.0" =
     self.by-version."nib"."0.5.0";
-  by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nib-0.5.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz";
-        name = "nib-0.5.0.tgz";
-        sha1 = "ad0a7dfa2bca8680c8cb8adaa6ab68c80e5221e5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nib" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nib" ];
+  by-version."nib"."0.5.0" = self.buildNodePackage {
+    name = "nib-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz";
+      name = "nib-0.5.0.tgz";
+      sha1 = "ad0a7dfa2bca8680c8cb8adaa6ab68c80e5221e5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nijs"."*" =
-    self.by-version."nijs"."0.0.14";
-  by-version."nijs"."0.0.14" = lib.makeOverridable self.buildNodePackage {
-    name = "nijs-0.0.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nijs/-/nijs-0.0.14.tgz";
-        name = "nijs-0.0.14.tgz";
-        sha1 = "e4851865ee94567e33c7c7e6d7d92c031e8f1eab";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nijs" or []);
-    deps = [
-      self.by-version."optparse"."1.0.5"
-      self.by-version."slasp"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nijs" ];
-  };
-  "nijs" = self.by-version."nijs"."0.0.14";
-  by-spec."node-appc"."0.2.0" =
-    self.by-version."node-appc"."0.2.0";
-  by-version."node-appc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-appc-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.0.tgz";
-        name = "node-appc-0.2.0.tgz";
-        sha1 = "7bc7ec2a9c65e2e0b55a42669fae383329d51609";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-appc" or []);
-    deps = [
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."diff"."1.0.8"
-      self.by-version."dox"."0.4.6"
-      self.by-version."jade"."0.35.0"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."request"."2.27.0"
-      self.by-version."semver"."2.1.0"
-      self.by-version."sprintf"."0.1.4"
-      self.by-version."temp"."0.6.0"
-      self.by-version."wrench"."1.5.8"
-      self.by-version."uglify-js"."2.3.6"
-      self.by-version."xmldom"."0.1.19"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-appc" ];
+    self.by-version."nijs"."0.0.22";
+  by-version."nijs"."0.0.22" = self.buildNodePackage {
+    name = "nijs-0.0.22";
+    version = "0.0.22";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nijs/-/nijs-0.0.22.tgz";
+      name = "nijs-0.0.22.tgz";
+      sha1 = "41f162cfd4b8e99b56da26b3170307381916718a";
+    };
+    deps = {
+      "optparse-1.0.5" = self.by-version."optparse"."1.0.5";
+      "slasp-0.0.4" = self.by-version."slasp"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "nijs" = self.by-version."nijs"."0.0.22";
+  by-spec."node-appc"."0.2.24" =
+    self.by-version."node-appc"."0.2.24";
+  by-version."node-appc"."0.2.24" = self.buildNodePackage {
+    name = "node-appc-0.2.24";
+    version = "0.2.24";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.24.tgz";
+      name = "node-appc-0.2.24.tgz";
+      sha1 = "09bcc9a887bda6a9f26bc6b597094dff1ccaf0aa";
+    };
+    deps = {
+      "adm-zip-0.4.7" = self.by-version."adm-zip"."0.4.7";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+      "xmldom-0.1.19" = self.by-version."xmldom"."0.1.19";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-craigslist"."^0.1.7" =
+    self.by-version."node-craigslist"."0.1.7";
+  by-version."node-craigslist"."0.1.7" = self.buildNodePackage {
+    name = "node-craigslist-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-craigslist/-/node-craigslist-0.1.7.tgz";
+      name = "node-craigslist-0.1.7.tgz";
+      sha1 = "f0cf7dbed75dcd67aa068fa5750bdb082a212777";
+    };
+    deps = {
+      "cheerio-0.17.0" = self.by-version."cheerio"."0.17.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-df"."^0.1.1" =
+    self.by-version."node-df"."0.1.1";
+  by-version."node-df"."0.1.1" = self.buildNodePackage {
+    name = "node-df-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-df/-/node-df-0.1.1.tgz";
+      name = "node-df-0.1.1.tgz";
+      sha1 = "42ec5a15b7b491164b3de7edeef2e346a0e500ea";
+    };
+    deps = {
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."node-expat"."*" =
-    self.by-version."node-expat"."2.3.1";
-  by-version."node-expat"."2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-expat-2.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-expat/-/node-expat-2.3.1.tgz";
-        name = "node-expat-2.3.1.tgz";
-        sha1 = "32c515a4d1cf747fb655d3ad4374696537592413";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-expat" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-expat" ];
+    self.by-version."node-expat"."2.3.6";
+  by-version."node-expat"."2.3.6" = self.buildNodePackage {
+    name = "node-expat-2.3.6";
+    version = "2.3.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-expat/-/node-expat-2.3.6.tgz";
+      name = "node-expat-2.3.6.tgz";
+      sha1 = "b934025a9fc48b91557bb618cf3f4603a1eeb48c";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "iconv-2.1.6" = self.by-version."iconv"."2.1.6";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-expat" = self.by-version."node-expat"."2.3.6";
+  by-spec."node-expat".">=1.4.1" =
+    self.by-version."node-expat"."2.3.6";
+  by-spec."node-expat"."^2.3.0" =
+    self.by-version."node-expat"."2.3.6";
+  by-spec."node-expat"."^2.3.6" =
+    self.by-version."node-expat"."2.3.6";
+  by-spec."node-expat"."~2.1.4" =
+    self.by-version."node-expat"."2.1.4";
+  by-version."node-expat"."2.1.4" = self.buildNodePackage {
+    name = "node-expat-2.1.4";
+    version = "2.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-expat/-/node-expat-2.1.4.tgz";
+      name = "node-expat-2.1.4.tgz";
+      sha1 = "e55a82249b71afbce09ffa880705ec37553c5121";
+    };
+    deps = {
+      "nan-0.6.0" = self.by-version."nan"."0.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-expat"."~2.3.0" =
+    self.by-version."node-expat"."2.3.6";
+  by-spec."node-expat"."~2.3.1" =
+    self.by-version."node-expat"."2.3.6";
+  by-spec."node-fs"."^0.1.7" =
+    self.by-version."node-fs"."0.1.7";
+  by-version."node-fs"."0.1.7" = self.buildNodePackage {
+    name = "node-fs-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-fs/-/node-fs-0.1.7.tgz";
+      name = "node-fs-0.1.7.tgz";
+      sha1 = "32323cccb46c9fbf0fc11812d45021cc31d325bb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ "linux" "darwin" "freebsd" "win32" "smartos" "sunos" ];
+    cpu = [ ];
   };
-  "node-expat" = self.by-version."node-expat"."2.3.1";
   by-spec."node-gyp"."*" =
-    self.by-version."node-gyp"."1.0.1";
-  by-version."node-gyp"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-1.0.1.tgz";
-        name = "node-gyp-1.0.1.tgz";
-        sha1 = "d5e364145ff10b259be9986855c83b5a76a2d975";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp" or []);
-    deps = [
-      self.by-version."fstream"."1.0.2"
-      self.by-version."glob"."4.0.5"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."minimatch"."1.0.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."request"."2.40.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."3.0.1"
-      self.by-version."tar"."1.0.1"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
-  };
-  "node-gyp" = self.by-version."node-gyp"."1.0.1";
-  by-spec."node-gyp"."~0.13.0" =
-    self.by-version."node-gyp"."0.13.1";
-  by-version."node-gyp"."0.13.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.13.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.13.1.tgz";
-        name = "node-gyp-0.13.1.tgz";
-        sha1 = "5a484dd2dc13d5b894a8fe781a250c07eae7bffa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp" or []);
-    deps = [
-      self.by-version."glob"."3.2.11"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."minimatch"."0.4.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."request"."2.40.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."2.2.1"
-      self.by-version."tar"."0.1.20"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
+    self.by-version."node-gyp"."1.0.2";
+  by-version."node-gyp"."1.0.2" = self.buildNodePackage {
+    name = "node-gyp-1.0.2";
+    version = "1.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-gyp/-/node-gyp-1.0.2.tgz";
+      name = "node-gyp-1.0.2.tgz";
+      sha1 = "b0bb6d2d762271408dd904853e7aa3000ed2eb57";
+    };
+    deps = {
+      "fstream-1.0.4" = self.by-version."fstream"."1.0.4";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "tar-1.0.3" = self.by-version."tar"."1.0.3";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-gyp" = self.by-version."node-gyp"."1.0.2";
+  by-spec."node-gyp"."~1.0.1" =
+    self.by-version."node-gyp"."1.0.2";
+  by-spec."node-gyp"."~1.0.2" =
+    self.by-version."node-gyp"."1.0.2";
+  by-spec."node-icu-charset-detector"."0.0.7" =
+    self.by-version."node-icu-charset-detector"."0.0.7";
+  by-version."node-icu-charset-detector"."0.0.7" = self.buildNodePackage {
+    name = "node-icu-charset-detector-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-icu-charset-detector/-/node-icu-charset-detector-0.0.7.tgz";
+      name = "node-icu-charset-detector-0.0.7.tgz";
+      sha1 = "832867d4e70cc666a616339ff6637bad039c7d1f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."node-inspector"."*" =
-    self.by-version."node-inspector"."0.7.4";
-  by-version."node-inspector"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inspector-0.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.7.4.tgz";
-        name = "node-inspector-0.7.4.tgz";
-        sha1 = "3d07234f0834e7f1e21a1669eceaa224a7be43f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-inspector" or []);
-    deps = [
-      self.by-version."express"."4.0.0"
-      self.by-version."async"."0.8.0"
-      self.by-version."glob"."3.2.11"
-      self.by-version."rc"."0.3.5"
-      self.by-version."strong-data-uri"."0.1.1"
-      self.by-version."debug"."0.8.1"
-      self.by-version."ws"."0.4.32"
-      self.by-version."opener"."1.3.0"
-      self.by-version."yargs"."1.2.6"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-inspector" ];
-  };
-  "node-inspector" = self.by-version."node-inspector"."0.7.4";
+    self.by-version."node-inspector"."0.9.0";
+  by-version."node-inspector"."0.9.0" = self.buildNodePackage {
+    name = "node-inspector-0.9.0";
+    version = "0.9.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.9.0.tgz";
+      name = "node-inspector-0.9.0.tgz";
+      sha1 = "af3bc431f1e2a2814fe5d790d44b09f145e2f950";
+    };
+    deps = {
+      "express-4.12.0" = self.by-version."express"."4.12.0";
+      "serve-favicon-2.2.0" = self.by-version."serve-favicon"."2.2.0";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "rc-0.5.5" = self.by-version."rc"."0.5.5";
+      "strong-data-uri-0.1.1" = self.by-version."strong-data-uri"."0.1.1";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "biased-opener-0.2.2" = self.by-version."biased-opener"."0.2.2";
+      "yargs-1.3.3" = self.by-version."yargs"."1.3.3";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+      "v8-debug-0.3.5" = self.by-version."v8-debug"."0.3.5";
+      "v8-profiler-5.2.4" = self.by-version."v8-profiler"."5.2.4";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-inspector" = self.by-version."node-inspector"."0.9.0";
+  by-spec."node-libs-browser"."~0.4.0" =
+    self.by-version."node-libs-browser"."0.4.1";
+  by-version."node-libs-browser"."0.4.1" = self.buildNodePackage {
+    name = "node-libs-browser-0.4.1";
+    version = "0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.4.1.tgz";
+      name = "node-libs-browser-0.4.1.tgz";
+      sha1 = "9d063c7f3bdc2eab8d184578b5bcb5785e63ad3a";
+    };
+    deps = {
+      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
+      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
+      "crypto-browserify-3.3.0" = self.by-version."crypto-browserify"."3.3.0";
+      "http-browserify-1.7.0" = self.by-version."http-browserify"."1.7.0";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+      "https-browserify-0.0.0" = self.by-version."https-browserify"."0.0.0";
+      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
+      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
+      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
+      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
+      "domain-browser-1.1.4" = self.by-version."domain-browser"."1.1.4";
+      "querystring-es3-0.2.1" = self.by-version."querystring-es3"."0.2.1";
+      "timers-browserify-1.3.0" = self.by-version."timers-browserify"."1.3.0";
+      "stream-browserify-1.0.0" = self.by-version."stream-browserify"."1.0.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+      "events-1.0.2" = self.by-version."events"."1.0.2";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "assert-1.3.0" = self.by-version."assert"."1.3.0";
+      "buffer-2.8.2" = self.by-version."buffer"."2.8.2";
+      "url-0.10.2" = self.by-version."url"."0.10.2";
+      "process-0.8.0" = self.by-version."process"."0.8.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-options"."0.0.6" =
+    self.by-version."node-options"."0.0.6";
+  by-version."node-options"."0.0.6" = self.buildNodePackage {
+    name = "node-options-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-options/-/node-options-0.0.6.tgz";
+      name = "node-options-0.0.6.tgz";
+      sha1 = "98721bd14fc4969a619e4d87666449f1f92477ed";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-pre-gyp"."0.5.x" =
+    self.by-version."node-pre-gyp"."0.5.31";
+  by-version."node-pre-gyp"."0.5.31" = self.buildNodePackage {
+    name = "node-pre-gyp-0.5.31";
+    version = "0.5.31";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.5.31.tgz";
+      name = "node-pre-gyp-0.5.31.tgz";
+      sha1 = "8c91516f0009e4691413c8c3f2d8a060deb607ba";
+    };
+    deps = {
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "semver-4.1.1" = self.by-version."semver"."4.1.1";
+      "tar-1.0.3" = self.by-version."tar"."1.0.3";
+      "tar-pack-2.0.0" = self.by-version."tar-pack"."2.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rc-0.5.5" = self.by-version."rc"."0.5.5";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-pre-gyp"."^0.6.2" =
+    self.by-version."node-pre-gyp"."0.6.4";
+  by-version."node-pre-gyp"."0.6.4" = self.buildNodePackage {
+    name = "node-pre-gyp-0.6.4";
+    version = "0.6.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.4.tgz";
+      name = "node-pre-gyp-0.6.4.tgz";
+      sha1 = "86a32ba4073b2735087f7eacb47979af6c70ce08";
+    };
+    deps = {
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "npmlog-1.1.0" = self.by-version."npmlog"."1.1.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "tar-1.0.3" = self.by-version."tar"."1.0.3";
+      "tar-pack-2.0.0" = self.by-version."tar-pack"."2.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "rc-0.6.0" = self.by-version."rc"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-pre-gyp"."^0.6.4" =
+    self.by-version."node-pre-gyp"."0.6.4";
   by-spec."node-protobuf"."*" =
-    self.by-version."node-protobuf"."1.2.0";
-  by-version."node-protobuf"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-protobuf-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.2.0.tgz";
-        name = "node-protobuf-1.2.0.tgz";
-        sha1 = "c69ca29f149431b6b6ec8079ec2ee01aa0590bcc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-protobuf" or []);
-    deps = [
-      self.by-version."bindings"."1.2.1"
-      self.by-version."nan"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-protobuf" ];
-  };
-  "node-protobuf" = self.by-version."node-protobuf"."1.2.0";
+    self.by-version."node-protobuf"."1.2.2";
+  by-version."node-protobuf"."1.2.2" = self.buildNodePackage {
+    name = "node-protobuf-1.2.2";
+    version = "1.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.2.2.tgz";
+      name = "node-protobuf-1.2.2.tgz";
+      sha1 = "8d512499fe012358c1fd89d6b4d84ad80317acb3";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-protobuf" = self.by-version."node-protobuf"."1.2.2";
+  by-spec."node-red"."*" =
+    self.by-version."node-red"."0.10.2";
+  by-version."node-red"."0.10.2" = self.buildNodePackage {
+    name = "node-red-0.10.2";
+    version = "0.10.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-red/-/node-red-0.10.2.tgz";
+      name = "node-red-0.10.2.tgz";
+      sha1 = "b0ce6fc3786754e04378e6b0bb6aa4b9b9022c33";
+    };
+    deps = {
+      "express-3.17.2" = self.by-version."express"."3.17.2";
+      "when-3.7.2" = self.by-version."when"."3.7.2";
+      "bcryptjs-2.1.0" = self.by-version."bcryptjs"."2.1.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "mqtt-0.3.13" = self.by-version."mqtt"."0.3.13";
+      "ws-0.7.1" = self.by-version."ws"."0.7.1";
+      "fs-extra-0.16.3" = self.by-version."fs-extra"."0.16.3";
+      "clone-0.2.0" = self.by-version."clone"."0.2.0";
+      "mustache-1.0.0" = self.by-version."mustache"."1.0.0";
+      "cron-1.0.6" = self.by-version."cron"."1.0.6";
+      "raw-body-1.3.2" = self.by-version."raw-body"."1.3.2";
+      "twitter-ng-0.6.2" = self.by-version."twitter-ng"."0.6.2";
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+      "sentiment-0.2.3" = self.by-version."sentiment"."0.2.3";
+      "irc-0.3.9" = self.by-version."irc"."0.3.9";
+      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
+      "cors-2.5.3" = self.by-version."cors"."2.5.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "cheerio-0.18.0" = self.by-version."cheerio"."0.18.0";
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+      "nodemailer-1.3.0" = self.by-version."nodemailer"."1.3.0";
+      "imap-0.8.14" = self.by-version."imap"."0.8.14";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+      "is-utf8-0.2.0" = self.by-version."is-utf8"."0.2.0";
+      "serialport-1.4.10" = self.by-version."serialport"."1.4.10";
+      "feedparser-0.19.2" = self.by-version."feedparser"."0.19.2";
+      "fs.notify-0.0.4" = self.by-version."fs.notify"."0.0.4";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-http-bearer-1.0.1" = self.by-version."passport-http-bearer"."1.0.1";
+      "passport-oauth2-client-password-0.1.2" = self.by-version."passport-oauth2-client-password"."0.1.2";
+      "oauth2orize-1.0.1" = self.by-version."oauth2orize"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-red" = self.by-version."node-red"."0.10.2";
+  by-spec."node-stringprep"."*" =
+    self.by-version."node-stringprep"."0.7.0";
+  by-version."node-stringprep"."0.7.0" = self.buildNodePackage {
+    name = "node-stringprep-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-stringprep/-/node-stringprep-0.7.0.tgz";
+      name = "node-stringprep-0.7.0.tgz";
+      sha1 = "c8a8deac9217db97ef3eb20dfa817d7e716f56b5";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-stringprep" = self.by-version."node-stringprep"."0.7.0";
+  by-spec."node-stringprep"."^0.5.2" =
+    self.by-version."node-stringprep"."0.5.4";
+  by-version."node-stringprep"."0.5.4" = self.buildNodePackage {
+    name = "node-stringprep-0.5.4";
+    version = "0.5.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-stringprep/-/node-stringprep-0.5.4.tgz";
+      name = "node-stringprep-0.5.4.tgz";
+      sha1 = "dd03b3d8f6f83137754cc1ea1a55675447b0ab92";
+    };
+    deps = {
+      "nan-1.2.0" = self.by-version."nan"."1.2.0";
+      "bindings-1.1.1" = self.by-version."bindings"."1.1.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-stringprep"."^0.7.0" =
+    self.by-version."node-stringprep"."0.7.0";
+  by-spec."node-stringprep"."~0.2.0" =
+    self.by-version."node-stringprep"."0.2.3";
+  by-version."node-stringprep"."0.2.3" = self.buildNodePackage {
+    name = "node-stringprep-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-stringprep/-/node-stringprep-0.2.3.tgz";
+      name = "node-stringprep-0.2.3.tgz";
+      sha1 = "deab53eacbb2744eb65a3ab76f49a53a6d7f6b1c";
+    };
+    deps = {
+      "nan-0.7.1" = self.by-version."nan"."0.7.1";
+      "bindings-1.1.1" = self.by-version."bindings"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-stringprep"."~0.6.0" =
+    self.by-version."node-stringprep"."0.6.2";
+  by-version."node-stringprep"."0.6.2" = self.buildNodePackage {
+    name = "node-stringprep-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-stringprep/-/node-stringprep-0.6.2.tgz";
+      name = "node-stringprep-0.6.2.tgz";
+      sha1 = "c266853e5c22dfb53d99bcc68b02218c889ccdc7";
+    };
+    deps = {
+      "nan-1.2.0" = self.by-version."nan"."1.2.0";
+      "bindings-1.1.1" = self.by-version."bindings"."1.1.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-stringprep"."~0.x" =
+    self.by-version."node-stringprep"."0.7.0";
   by-spec."node-swt".">=0.1.1" =
     self.by-version."node-swt"."0.1.1";
-  by-version."node-swt"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-swt-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz";
-        name = "node-swt-0.1.1.tgz";
-        sha1 = "af0903825784be553b93dbae57d99d59060585dd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-swt" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-swt" ];
+  by-version."node-swt"."0.1.1" = self.buildNodePackage {
+    name = "node-swt-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz";
+      name = "node-swt-0.1.1.tgz";
+      sha1 = "af0903825784be553b93dbae57d99d59060585dd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."node-syslog"."1.1.7" =
     self.by-version."node-syslog"."1.1.7";
-  by-version."node-syslog"."1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-syslog-1.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-syslog/-/node-syslog-1.1.7.tgz";
-        name = "node-syslog-1.1.7.tgz";
-        sha1 = "f2b1dfce095c39f5a6d056659862ca134a08a4cb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-syslog" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-syslog" ];
+  by-version."node-syslog"."1.1.7" = self.buildNodePackage {
+    name = "node-syslog-1.1.7";
+    version = "1.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-syslog/-/node-syslog-1.1.7.tgz";
+      name = "node-syslog-1.1.7.tgz";
+      sha1 = "f2b1dfce095c39f5a6d056659862ca134a08a4cb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" =
     self.by-version."node-uptime"."3.2.0";
-  by-version."node-uptime"."3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uptime-3.2.0";
-    src = [
-      (fetchurl {
-        url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
-        name = "node-uptime-3.2.0.tgz";
-        sha256 = "46424d7f9553ce7313cc09995ab11d237dd02257c29f260cfb38d2799e7c7746";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uptime" or []);
-    deps = [
-      self.by-version."mongoose"."3.6.7"
-      self.by-version."mongoose-lifecycle"."1.0.0"
-      self.by-version."express"."3.2.0"
-      self.by-version."express-partials"."0.0.6"
-      self.by-version."connect-flash"."0.1.0"
-      self.by-version."ejs"."0.8.3"
-      self.by-version."config"."0.4.15"
-      self.by-version."async"."0.1.22"
-      self.by-version."socket.io"."0.9.14"
-      self.by-version."semver"."1.1.0"
-      self.by-version."moment"."2.1.0"
-      self.by-version."nodemailer"."0.3.35"
-      self.by-version."net-ping"."1.1.7"
-      self.by-version."js-yaml"."2.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uptime" ];
+  by-version."node-uptime"."3.2.0" = self.buildNodePackage {
+    name = "node-uptime-3.2.0";
+    version = "3.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
+      name = "node-uptime-3.2.0.tgz";
+      sha256 = "46424d7f9553ce7313cc09995ab11d237dd02257c29f260cfb38d2799e7c7746";
+    };
+    deps = {
+      "mongoose-3.6.7" = self.by-version."mongoose"."3.6.7";
+      "mongoose-lifecycle-1.0.0" = self.by-version."mongoose-lifecycle"."1.0.0";
+      "express-3.2.0" = self.by-version."express"."3.2.0";
+      "express-partials-0.0.6" = self.by-version."express-partials"."0.0.6";
+      "connect-flash-0.1.0" = self.by-version."connect-flash"."0.1.0";
+      "ejs-0.8.3" = self.by-version."ejs"."0.8.3";
+      "config-0.4.15" = self.by-version."config"."0.4.15";
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "socket.io-0.9.14" = self.by-version."socket.io"."0.9.14";
+      "semver-1.1.0" = self.by-version."semver"."1.1.0";
+      "moment-2.1.0" = self.by-version."moment"."2.1.0";
+      "nodemailer-0.3.35" = self.by-version."nodemailer"."0.3.35";
+      "net-ping-1.1.7" = self.by-version."net-ping"."1.1.7";
+      "js-yaml-2.1.0" = self.by-version."js-yaml"."2.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "node-uptime" = self.by-version."node-uptime"."3.2.0";
   by-spec."node-uuid"."*" =
-    self.by-version."node-uuid"."1.4.1";
-  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uuid-1.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-        name = "node-uuid-1.4.1.tgz";
-        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  "node-uuid" = self.by-version."node-uuid"."1.4.1";
+    self.by-version."node-uuid"."1.4.2";
+  by-version."node-uuid"."1.4.2" = self.buildNodePackage {
+    name = "node-uuid-1.4.2";
+    version = "1.4.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.2.tgz";
+      name = "node-uuid-1.4.2.tgz";
+      sha1 = "907db3d11b7b6a2cf4f905fb7199f14ae7379ba0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-uuid" = self.by-version."node-uuid"."1.4.2";
   by-spec."node-uuid"."1.3.3" =
     self.by-version."node-uuid"."1.3.3";
-  by-version."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uuid-1.3.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
-        name = "node-uuid-1.3.3.tgz";
-        sha1 = "d3db4d7b56810d9e4032342766282af07391729b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
+  by-version."node-uuid"."1.3.3" = self.buildNodePackage {
+    name = "node-uuid-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
+      name = "node-uuid-1.3.3.tgz";
+      sha1 = "d3db4d7b56810d9e4032342766282af07391729b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."node-uuid"."1.4.0" =
     self.by-version."node-uuid"."1.4.0";
-  by-version."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-uuid-1.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
-        name = "node-uuid-1.4.0.tgz";
-        sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
+  by-version."node-uuid"."1.4.0" = self.buildNodePackage {
+    name = "node-uuid-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
+      name = "node-uuid-1.4.0.tgz";
+      sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."node-uuid"."1.4.1" =
     self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = self.buildNodePackage {
+    name = "node-uuid-1.4.1";
+    version = "1.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
+      name = "node-uuid-1.4.1.tgz";
+      sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-uuid"."^1.3.3" =
+    self.by-version."node-uuid"."1.4.2";
+  by-spec."node-uuid"."^1.4.1" =
+    self.by-version."node-uuid"."1.4.2";
   by-spec."node-uuid"."~1.4.0" =
-    self.by-version."node-uuid"."1.4.1";
+    self.by-version."node-uuid"."1.4.2";
   by-spec."node-uuid"."~1.4.1" =
-    self.by-version."node-uuid"."1.4.1";
+    self.by-version."node-uuid"."1.4.2";
+  by-spec."node-uuid"."~1.4.2" =
+    self.by-version."node-uuid"."1.4.2";
   by-spec."node-wsfederation".">=0.1.1" =
     self.by-version."node-wsfederation"."0.1.1";
-  by-version."node-wsfederation"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node-wsfederation-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz";
-        name = "node-wsfederation-0.1.1.tgz";
-        sha1 = "9abf1dd3b20a3ab0a38f899c882c218d734e8a7b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-wsfederation" or []);
-    deps = [
-      self.by-version."xml2js"."0.4.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-wsfederation" ];
-  };
+  by-version."node-wsfederation"."0.1.1" = self.buildNodePackage {
+    name = "node-wsfederation-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz";
+      name = "node-wsfederation-0.1.1.tgz";
+      sha1 = "9abf1dd3b20a3ab0a38f899c882c218d734e8a7b";
+    };
+    deps = {
+      "xml2js-0.4.5" = self.by-version."xml2js"."0.4.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp"."*" =
+    self.by-version."node-xmpp"."1.0.0-alpha2";
+  by-version."node-xmpp"."1.0.0-alpha2" = self.buildNodePackage {
+    name = "node-xmpp-1.0.0-alpha2";
+    version = "1.0.0-alpha2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp/-/node-xmpp-1.0.0-alpha2.tgz";
+      name = "node-xmpp-1.0.0-alpha2.tgz";
+      sha1 = "349041a9041d3bcc608cdbf57e60f5b301e7a8c0";
+    };
+    deps = {
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+      "ltx-0.9.0" = self.by-version."ltx"."0.9.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
+      "faye-websocket-0.9.3" = self.by-version."faye-websocket"."0.9.3";
+      "browserify-3.19.1" = self.by-version."browserify"."3.19.1";
+      "brfs-0.0.8" = self.by-version."brfs"."0.0.8";
+      "node-xmpp-component-1.0.0-alpha1" = self.by-version."node-xmpp-component"."1.0.0-alpha1";
+      "node-xmpp-client-1.0.0-alpha20" = self.by-version."node-xmpp-client"."1.0.0-alpha20";
+      "node-xmpp-server-1.0.0-alpha11" = self.by-version."node-xmpp-server"."1.0.0-alpha11";
+      "node-xmpp-core-1.0.0-alpha13" = self.by-version."node-xmpp-core"."1.0.0-alpha13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-xmpp" = self.by-version."node-xmpp"."1.0.0-alpha2";
+  by-spec."node-xmpp"."~0.15.0" =
+    self.by-version."node-xmpp"."0.15.0";
+  by-version."node-xmpp"."0.15.0" = self.buildNodePackage {
+    name = "node-xmpp-0.15.0";
+    version = "0.15.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp/-/node-xmpp-0.15.0.tgz";
+      name = "node-xmpp-0.15.0.tgz";
+      sha1 = "b4e1adf6b4ea859f0d06e12daca9f850286cbb14";
+    };
+    deps = {
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+      "ltx-0.9.0" = self.by-version."ltx"."0.9.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
+      "faye-websocket-0.9.3" = self.by-version."faye-websocket"."0.9.3";
+      "browserify-3.19.1" = self.by-version."browserify"."3.19.1";
+      "brfs-0.0.8" = self.by-version."brfs"."0.0.8";
+      "node-xmpp-component-0.3.0" = self.by-version."node-xmpp-component"."0.3.0";
+      "node-xmpp-client-0.4.0" = self.by-version."node-xmpp-client"."0.4.0";
+      "node-xmpp-server-0.6.0" = self.by-version."node-xmpp-server"."0.6.0";
+      "node-xmpp-core-0.5.0" = self.by-version."node-xmpp-core"."0.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-client"."*" =
+    self.by-version."node-xmpp-client"."1.0.0-alpha9";
+  by-version."node-xmpp-client"."1.0.0-alpha9" = self.buildNodePackage {
+    name = "node-xmpp-client-1.0.0-alpha9";
+    version = "1.0.0-alpha9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-client/-/node-xmpp-client-1.0.0-alpha9.tgz";
+      name = "node-xmpp-client-1.0.0-alpha9.tgz";
+      sha1 = "5e48ce59f9ea96ff7f80dc4fff2be252ace26f24";
+    };
+    deps = {
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "faye-websocket-0.7.3" = self.by-version."faye-websocket"."0.7.3";
+      "node-xmpp-core-1.0.0-alpha9" = self.by-version."node-xmpp-core"."1.0.0-alpha9";
+      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-xmpp-client" = self.by-version."node-xmpp-client"."1.0.0-alpha9";
+  by-spec."node-xmpp-client"."git+https://github.com/node-xmpp/node-xmpp-client.git" =
+    self.by-version."node-xmpp-client"."1.0.0-alpha20";
+  by-version."node-xmpp-client"."1.0.0-alpha20" = self.buildNodePackage {
+    name = "node-xmpp-client-1.0.0-alpha20";
+    version = "1.0.0-alpha20";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/node-xmpp/node-xmpp-client.git";
+      rev = "3be5ccc42a13377edad060b39980de70b0dd981a";
+      sha256 = "1e0cba0ec6b58a73533d723e9f5100676229d27c3fcb0799cc64bf79f97c687f";
+    };
+    deps = {
+      "request-2.48.0" = self.by-version."request"."2.48.0";
+      "faye-websocket-0.7.3" = self.by-version."faye-websocket"."0.7.3";
+      "node-xmpp-core-1.0.0-alpha9" = self.by-version."node-xmpp-core"."1.0.0-alpha9";
+      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-client"."~0.4.0" =
+    self.by-version."node-xmpp-client"."0.4.0";
+  by-version."node-xmpp-client"."0.4.0" = self.buildNodePackage {
+    name = "node-xmpp-client-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-client/-/node-xmpp-client-0.4.0.tgz";
+      name = "node-xmpp-client-0.4.0.tgz";
+      sha1 = "350def1797eaca28c592321cd16173f93167f90b";
+    };
+    deps = {
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "ltx-0.3.4" = self.by-version."ltx"."0.3.4";
+      "faye-websocket-0.7.3" = self.by-version."faye-websocket"."0.7.3";
+      "node-xmpp-core-0.5.0" = self.by-version."node-xmpp-core"."0.5.0";
+      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-component"."*" =
+    self.by-version."node-xmpp-component"."1.0.0-alpha1";
+  by-version."node-xmpp-component"."1.0.0-alpha1" = self.buildNodePackage {
+    name = "node-xmpp-component-1.0.0-alpha1";
+    version = "1.0.0-alpha1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-component/-/node-xmpp-component-1.0.0-alpha1.tgz";
+      name = "node-xmpp-component-1.0.0-alpha1.tgz";
+      sha1 = "3f85da00c05240bd48cc6c729d74875e6eb97877";
+    };
+    deps = {
+      "ltx-0.9.0" = self.by-version."ltx"."0.9.0";
+      "node-xmpp-core-1.0.0-alpha1" = self.by-version."node-xmpp-core"."1.0.0-alpha1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-xmpp-component" = self.by-version."node-xmpp-component"."1.0.0-alpha1";
+  by-spec."node-xmpp-component"."git+https://github.com/node-xmpp/node-xmpp-component.git" =
+    self.by-version."node-xmpp-component"."1.0.0-alpha1";
+  by-spec."node-xmpp-component"."~0.3.0" =
+    self.by-version."node-xmpp-component"."0.3.0";
+  by-version."node-xmpp-component"."0.3.0" = self.buildNodePackage {
+    name = "node-xmpp-component-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-component/-/node-xmpp-component-0.3.0.tgz";
+      name = "node-xmpp-component-0.3.0.tgz";
+      sha1 = "353fb4d8250beb7f55df17805d20c81d4ea0d3c7";
+    };
+    deps = {
+      "ltx-0.3.4" = self.by-version."ltx"."0.3.4";
+      "node-xmpp-core-0.5.0" = self.by-version."node-xmpp-core"."0.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-core"."*" =
+    self.by-version."node-xmpp-core"."1.0.0-alpha9";
+  by-version."node-xmpp-core"."1.0.0-alpha9" = self.buildNodePackage {
+    name = "node-xmpp-core-1.0.0-alpha9";
+    version = "1.0.0-alpha9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-core/-/node-xmpp-core-1.0.0-alpha9.tgz";
+      name = "node-xmpp-core-1.0.0-alpha9.tgz";
+      sha1 = "64b2b41e9f59fc910c71fe648c6be2bc4ecef7f1";
+    };
+    deps = {
+      "node-stringprep-0.5.4" = self.by-version."node-stringprep"."0.5.4";
+      "reconnect-core-0.0.1" = self.by-version."reconnect-core"."0.0.1";
+      "tls-connect-0.2.2" = self.by-version."tls-connect"."0.2.2";
+      "ltx-0.5.2" = self.by-version."ltx"."0.5.2";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-xmpp-core" = self.by-version."node-xmpp-core"."1.0.0-alpha9";
+  by-spec."node-xmpp-core"."1.0.0-alpha1" =
+    self.by-version."node-xmpp-core"."1.0.0-alpha1";
+  by-version."node-xmpp-core"."1.0.0-alpha1" = self.buildNodePackage {
+    name = "node-xmpp-core-1.0.0-alpha1";
+    version = "1.0.0-alpha1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-core/-/node-xmpp-core-1.0.0-alpha1.tgz";
+      name = "node-xmpp-core-1.0.0-alpha1.tgz";
+      sha1 = "94b1b33a0ccb84427d8b290af80e29b8dec5545f";
+    };
+    deps = {
+      "node-stringprep-0.7.0" = self.by-version."node-stringprep"."0.7.0";
+      "reconnect-core-0.0.1" = self.by-version."reconnect-core"."0.0.1";
+      "tls-connect-0.2.2" = self.by-version."tls-connect"."0.2.2";
+      "ltx-0.9.0" = self.by-version."ltx"."0.9.0";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-core"."^1.0.0-alpha13" =
+    self.by-version."node-xmpp-core"."1.0.0-alpha9";
+  by-spec."node-xmpp-core"."^1.0.0-alpha6" =
+    self.by-version."node-xmpp-core"."1.0.0-alpha9";
+  by-spec."node-xmpp-core"."^1.0.0-alpha9" =
+    self.by-version."node-xmpp-core"."1.0.0-alpha9";
+  by-spec."node-xmpp-core"."git+https://github.com/node-xmpp/node-xmpp-core.git" =
+    self.by-version."node-xmpp-core"."1.0.0-alpha13";
+  by-version."node-xmpp-core"."1.0.0-alpha13" = self.buildNodePackage {
+    name = "node-xmpp-core-1.0.0-alpha13";
+    version = "1.0.0-alpha13";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/node-xmpp/node-xmpp-core.git";
+      rev = "f90ae47cc977aeb52d343a7c7286aac94439dfeb";
+      sha256 = "0434a31d0e68ad4b02c66940571e7a0fed21bb488c3f246f1c4168092c60680c";
+    };
+    deps = {
+      "node-stringprep-0.7.0" = self.by-version."node-stringprep"."0.7.0";
+      "reconnect-core-0.0.1" = self.by-version."reconnect-core"."0.0.1";
+      "tls-connect-0.2.2" = self.by-version."tls-connect"."0.2.2";
+      "ltx-0.9.0" = self.by-version."ltx"."0.9.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-core"."~0.5.0" =
+    self.by-version."node-xmpp-core"."0.5.0";
+  by-version."node-xmpp-core"."0.5.0" = self.buildNodePackage {
+    name = "node-xmpp-core-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-core/-/node-xmpp-core-0.5.0.tgz";
+      name = "node-xmpp-core-0.5.0.tgz";
+      sha1 = "d3a453bf7bc029b7b5f10b1941e8a9e2952cf3db";
+    };
+    deps = {
+      "node-stringprep-0.2.3" = self.by-version."node-stringprep"."0.2.3";
+      "tls-connect-0.2.2" = self.by-version."tls-connect"."0.2.2";
+      "ltx-0.3.4" = self.by-version."ltx"."0.3.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-core"."~1.0.0-alpha10" =
+    self.by-version."node-xmpp-core"."1.0.0-alpha9";
+  by-spec."node-xmpp-joap"."*" =
+    self.by-version."node-xmpp-joap"."0.0.17";
+  by-version."node-xmpp-joap"."0.0.17" = self.buildNodePackage {
+    name = "node-xmpp-joap-0.0.17";
+    version = "0.0.17";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-joap/-/node-xmpp-joap-0.0.17.tgz";
+      name = "node-xmpp-joap-0.0.17.tgz";
+      sha1 = "d6d4fce1148f3fa158ed2a381787c51be3168fff";
+    };
+    deps = {
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+      "node-xmpp-0.15.0" = self.by-version."node-xmpp"."0.15.0";
+      "node-stringprep-0.6.2" = self.by-version."node-stringprep"."0.6.2";
+      "ltx-0.6.0" = self.by-version."ltx"."0.6.0";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "toobusy-0.2.4" = self.by-version."toobusy"."0.2.4";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-xmpp-joap" = self.by-version."node-xmpp-joap"."0.0.17";
+  by-spec."node-xmpp-server"."*" =
+    self.by-version."node-xmpp-server"."1.0.0-alpha9";
+  by-version."node-xmpp-server"."1.0.0-alpha9" = self.buildNodePackage {
+    name = "node-xmpp-server-1.0.0-alpha9";
+    version = "1.0.0-alpha9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-server/-/node-xmpp-server-1.0.0-alpha9.tgz";
+      name = "node-xmpp-server-1.0.0-alpha9.tgz";
+      sha1 = "1622aafddf9efde4dd9483c849d56b80e582a745";
+    };
+    deps = {
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "node-xmpp-core-1.0.0-alpha9" = self.by-version."node-xmpp-core"."1.0.0-alpha9";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-xmpp-server" = self.by-version."node-xmpp-server"."1.0.0-alpha9";
+  by-spec."node-xmpp-server"."git+https://github.com/node-xmpp/node-xmpp-server.git" =
+    self.by-version."node-xmpp-server"."1.0.0-alpha11";
+  by-version."node-xmpp-server"."1.0.0-alpha11" = self.buildNodePackage {
+    name = "node-xmpp-server-1.0.0-alpha11";
+    version = "1.0.0-alpha11";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/node-xmpp/node-xmpp-server.git";
+      rev = "1d4103d7b784a79c1c6b242e479533f4d3b4745e";
+      sha256 = "7816f60125b151430c0c38573f9adb493c75fe2f44cd41d89f0c6749a8aa6907";
+    };
+    deps = {
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "node-xmpp-core-1.0.0-alpha9" = self.by-version."node-xmpp-core"."1.0.0-alpha9";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "ws-0.7.1" = self.by-version."ws"."0.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-server"."~0.6.0" =
+    self.by-version."node-xmpp-server"."0.6.0";
+  by-version."node-xmpp-server"."0.6.0" = self.buildNodePackage {
+    name = "node-xmpp-server-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-server/-/node-xmpp-server-0.6.0.tgz";
+      name = "node-xmpp-server-0.6.0.tgz";
+      sha1 = "66f7102d9b0c9aa34e2d37aa2f78811964f1298e";
+    };
+    deps = {
+      "ltx-0.3.4" = self.by-version."ltx"."0.3.4";
+      "node-xmpp-core-0.5.0" = self.by-version."node-xmpp-core"."0.5.0";
+      "node-xmpp-client-0.4.0" = self.by-version."node-xmpp-client"."0.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-xmpp-serviceadmin"."*" =
+    self.by-version."node-xmpp-serviceadmin"."0.1.6";
+  by-version."node-xmpp-serviceadmin"."0.1.6" = self.buildNodePackage {
+    name = "node-xmpp-serviceadmin-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-xmpp-serviceadmin/-/node-xmpp-serviceadmin-0.1.6.tgz";
+      name = "node-xmpp-serviceadmin-0.1.6.tgz";
+      sha1 = "c67be0926b56b12c050d7caf8e2522b36ea84c00";
+    };
+    deps = {
+      "node-xmpp-core-0.5.0" = self.by-version."node-xmpp-core"."0.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "node-xmpp-serviceadmin" = self.by-version."node-xmpp-serviceadmin"."0.1.6";
   by-spec."node.extend"."1.0.0" =
     self.by-version."node.extend"."1.0.0";
-  by-version."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-node.extend-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node.extend/-/node.extend-1.0.0.tgz";
-        name = "node.extend-1.0.0.tgz";
-        sha1 = "ab83960c477280d01ba5554a0d8fd3acfe39336e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node.extend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node.extend" ];
+  by-version."node.extend"."1.0.0" = self.buildNodePackage {
+    name = "node.extend-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node.extend/-/node.extend-1.0.0.tgz";
+      name = "node.extend-1.0.0.tgz";
+      sha1 = "ab83960c477280d01ba5554a0d8fd3acfe39336e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nodemailer"."0.3.35" =
     self.by-version."nodemailer"."0.3.35";
-  by-version."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
+  by-version."nodemailer"."0.3.35" = self.buildNodePackage {
     name = "nodemailer-0.3.35";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
-        name = "nodemailer-0.3.35.tgz";
-        sha1 = "4d38cdc0ad230bdf88cc27d1256ef49fcb422e19";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nodemailer" or []);
-    deps = [
-      self.by-version."mailcomposer"."0.2.12"
-      self.by-version."simplesmtp"."0.3.32"
-      self.by-version."optimist"."0.6.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nodemailer" ];
+    version = "0.3.35";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
+      name = "nodemailer-0.3.35.tgz";
+      sha1 = "4d38cdc0ad230bdf88cc27d1256ef49fcb422e19";
+    };
+    deps = {
+      "mailcomposer-0.2.12" = self.by-version."mailcomposer"."0.2.12";
+      "simplesmtp-0.3.35" = self.by-version."simplesmtp"."0.3.35";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nodemailer"."0.7.1" =
+    self.by-version."nodemailer"."0.7.1";
+  by-version."nodemailer"."0.7.1" = self.buildNodePackage {
+    name = "nodemailer-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.7.1.tgz";
+      name = "nodemailer-0.7.1.tgz";
+      sha1 = "1ec819e243622300a00abe746cb5d3389c0f316c";
+    };
+    deps = {
+      "mailcomposer-0.2.12" = self.by-version."mailcomposer"."0.2.12";
+      "simplesmtp-0.3.35" = self.by-version."simplesmtp"."0.3.35";
+      "directmail-0.1.8" = self.by-version."directmail"."0.1.8";
+      "he-0.3.6" = self.by-version."he"."0.3.6";
+      "public-address-0.1.1" = self.by-version."public-address"."0.1.1";
+      "aws-sdk-2.0.5" = self.by-version."aws-sdk"."2.0.5";
+    };
+    optionalDependencies = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nodemailer"."1.3.0" =
+    self.by-version."nodemailer"."1.3.0";
+  by-version."nodemailer"."1.3.0" = self.buildNodePackage {
+    name = "nodemailer-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nodemailer/-/nodemailer-1.3.0.tgz";
+      name = "nodemailer-1.3.0.tgz";
+      sha1 = "a6e4c507b2f776a03d46e9be8d40b5be916f290a";
+    };
+    deps = {
+      "buildmail-1.2.0" = self.by-version."buildmail"."1.2.0";
+      "hyperquest-0.3.0" = self.by-version."hyperquest"."0.3.0";
+      "libmime-0.1.7" = self.by-version."libmime"."0.1.7";
+      "nodemailer-direct-transport-1.0.1" = self.by-version."nodemailer-direct-transport"."1.0.1";
+      "nodemailer-smtp-transport-0.1.13" = self.by-version."nodemailer-smtp-transport"."0.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nodemailer-direct-transport"."^1.0.0" =
+    self.by-version."nodemailer-direct-transport"."1.0.1";
+  by-version."nodemailer-direct-transport"."1.0.1" = self.buildNodePackage {
+    name = "nodemailer-direct-transport-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-1.0.1.tgz";
+      name = "nodemailer-direct-transport-1.0.1.tgz";
+      sha1 = "72e41f5a419f774ba07f7f3506d1dacd1b564c2b";
+    };
+    deps = {
+      "smtp-connection-1.1.0" = self.by-version."smtp-connection"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nodemailer-smtp-transport"."^0.1.12" =
+    self.by-version."nodemailer-smtp-transport"."0.1.13";
+  by-version."nodemailer-smtp-transport"."0.1.13" = self.buildNodePackage {
+    name = "nodemailer-smtp-transport-0.1.13";
+    version = "0.1.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-0.1.13.tgz";
+      name = "nodemailer-smtp-transport-0.1.13.tgz";
+      sha1 = "f8d1babfd5221aaa1308fd36ab7945a2f7081476";
+    };
+    deps = {
+      "nodemailer-wellknown-0.1.5" = self.by-version."nodemailer-wellknown"."0.1.5";
+      "smtp-connection-1.1.0" = self.by-version."smtp-connection"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nodemailer-wellknown"."^0.1.1" =
+    self.by-version."nodemailer-wellknown"."0.1.5";
+  by-version."nodemailer-wellknown"."0.1.5" = self.buildNodePackage {
+    name = "nodemailer-wellknown-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.5.tgz";
+      name = "nodemailer-wellknown-0.1.5.tgz";
+      sha1 = "1e467a2f7132ec30273b45f1ae300dd1193dd035";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nodemon"."*" =
-    self.by-version."nodemon"."1.2.1";
-  by-version."nodemon"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "nodemon-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nodemon/-/nodemon-1.2.1.tgz";
-        name = "nodemon-1.2.1.tgz";
-        sha1 = "02a288045652e92350e7d752a8054472ed2c4824";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nodemon" or []);
-    deps = [
-      self.by-version."update-notifier"."0.1.10"
-      self.by-version."minimatch"."0.3.0"
-      self.by-version."ps-tree"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nodemon" ];
-  };
-  "nodemon" = self.by-version."nodemon"."1.2.1";
+    self.by-version."nodemon"."1.3.7";
+  by-version."nodemon"."1.3.7" = self.buildNodePackage {
+    name = "nodemon-1.3.7";
+    version = "1.3.7";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nodemon/-/nodemon-1.3.7.tgz";
+      name = "nodemon-1.3.7.tgz";
+      sha1 = "447bc2e01bf499cbf5853f9937496e0a04835449";
+    };
+    deps = {
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
+      "touch-0.0.3" = self.by-version."touch"."0.0.3";
+      "update-notifier-0.3.0" = self.by-version."update-notifier"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "nodemon" = self.by-version."nodemon"."1.3.7";
   by-spec."nomnom"."1.6.x" =
     self.by-version."nomnom"."1.6.2";
-  by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nomnom-1.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
-        name = "nomnom-1.6.2.tgz";
-        sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nomnom" or []);
-    deps = [
-      self.by-version."colors"."0.5.1"
-      self.by-version."underscore"."1.4.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nomnom" ];
+  by-version."nomnom"."1.6.2" = self.buildNodePackage {
+    name = "nomnom-1.6.2";
+    version = "1.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
+      name = "nomnom-1.6.2.tgz";
+      sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
+    };
+    deps = {
+      "colors-0.5.1" = self.by-version."colors"."0.5.1";
+      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nopt"."2" =
     self.by-version."nopt"."2.2.1";
-  by-version."nopt"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."nopt"."2.2.1" = self.buildNodePackage {
     name = "nopt-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
-        name = "nopt-2.2.1.tgz";
-        sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
+    version = "2.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
+      name = "nopt-2.2.1.tgz";
+      sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nopt"."2 || 3" =
     self.by-version."nopt"."3.0.1";
-  by-version."nopt"."3.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."nopt"."3.0.1" = self.buildNodePackage {
     name = "nopt-3.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz";
-        name = "nopt-3.0.1.tgz";
-        sha1 = "bce5c42446a3291f47622a370abbf158fbbacbfd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
+    version = "3.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz";
+      name = "nopt-3.0.1.tgz";
+      sha1 = "bce5c42446a3291f47622a370abbf158fbbacbfd";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."nopt"."2.0.0" =
     self.by-version."nopt"."2.0.0";
-  by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."nopt"."2.0.0" = self.buildNodePackage {
     name = "nopt-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
-        name = "nopt-2.0.0.tgz";
-        sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
+      name = "nopt-2.0.0.tgz";
+      sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nopt"."2.1.1" =
+    self.by-version."nopt"."2.1.1";
+  by-version."nopt"."2.1.1" = self.buildNodePackage {
+    name = "nopt-2.1.1";
+    version = "2.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-2.1.1.tgz";
+      name = "nopt-2.1.1.tgz";
+      sha1 = "91eb7c4b017e7c00adcad1fd6d63944d0fdb75c1";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nopt"."3.0.1" =
+    self.by-version."nopt"."3.0.1";
   by-spec."nopt"."3.x" =
     self.by-version."nopt"."3.0.1";
   by-spec."nopt"."~1.0.10" =
     self.by-version."nopt"."1.0.10";
-  by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
+  by-version."nopt"."1.0.10" = self.buildNodePackage {
     name = "nopt-1.0.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
-        name = "nopt-1.0.10.tgz";
-        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  by-spec."nopt"."~2.1.2" =
-    self.by-version."nopt"."2.1.2";
-  by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        name = "nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
+    version = "1.0.10";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+      name = "nopt-1.0.10.tgz";
+      sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nopt"."~2" =
+    self.by-version."nopt"."2.2.1";
+  by-spec."nopt"."~2.2.0" =
+    self.by-version."nopt"."2.2.1";
+  by-spec."nopt"."~3.0.0" =
+    self.by-version."nopt"."3.0.1";
   by-spec."nopt"."~3.0.1" =
     self.by-version."nopt"."3.0.1";
-  by-spec."normalize-package-data"."0.4" =
-    self.by-version."normalize-package-data"."0.4.2";
-  by-version."normalize-package-data"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-normalize-package-data-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.4.2.tgz";
-        name = "normalize-package-data-0.4.2.tgz";
-        sha1 = "166dc052a74e2f5ac1d3d23903ab3f2e2b7dd8e6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."normalize-package-data" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.1.1"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."semver"."3.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "normalize-package-data" ];
+  by-spec."normalize-git-url"."~1.0.0" =
+    self.by-version."normalize-git-url"."1.0.0";
+  by-version."normalize-git-url"."1.0.0" = self.buildNodePackage {
+    name = "normalize-git-url-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/normalize-git-url/-/normalize-git-url-1.0.0.tgz";
+      name = "normalize-git-url-1.0.0.tgz";
+      sha1 = "80e59471f0616b579893973e3f1b3684bedbad48";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."normalize-package-data"."^1.0.0" =
-    self.by-version."normalize-package-data"."1.0.0";
-  by-version."normalize-package-data"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-normalize-package-data-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.0.tgz";
-        name = "normalize-package-data-1.0.0.tgz";
-        sha1 = "5239d9921791a8ad027607f580a74c76166623c8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."normalize-package-data" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.3.0"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."semver"."3.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "normalize-package-data" ];
-  };
+    self.by-version."normalize-package-data"."1.0.3";
+  by-version."normalize-package-data"."1.0.3" = self.buildNodePackage {
+    name = "normalize-package-data-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.3.tgz";
+      name = "normalize-package-data-1.0.3.tgz";
+      sha1 = "8be955b8907af975f1a4584ea8bb9b41492312f5";
+    };
+    deps = {
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."normalize-package-data"."~1.0.1" =
+    self.by-version."normalize-package-data"."1.0.3";
+  by-spec."normalize-package-data"."~1.0.3" =
+    self.by-version."normalize-package-data"."1.0.3";
   by-spec."npm"."*" =
-    self.by-version."npm"."2.0.0-alpha-5";
-  by-version."npm"."2.0.0-alpha-5" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-2.0.0-alpha-5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-2.0.0-alpha-5.tgz";
-        name = "npm-2.0.0-alpha-5.tgz";
-        sha1 = "5135b111cb6b8e56ab1bdc4e486b87c295862ca8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm" or []);
-    deps = [
-      self.by-version."abbrev"."1.0.5"
-      self.by-version."ansi"."0.3.0"
-      self.by-version."ansicolors"."0.3.2"
-      self.by-version."ansistyles"."0.1.3"
-      self.by-version."archy"."0.0.2"
-      self.by-version."async-some"."1.0.1"
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."char-spinner"."1.0.1"
-      self.by-version."child-process-close"."0.1.1"
-      self.by-version."chmodr"."0.1.0"
-      self.by-version."chownr"."0.0.1"
-      self.by-version."cmd-shim"."1.1.2"
-      self.by-version."columnify"."1.1.0"
-      self.by-version."editor"."0.1.0"
-      self.by-version."fs-vacuum"."1.2.1"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."fstream-npm"."0.1.8"
-      self.by-version."github-url-from-git"."1.2.0"
-      self.by-version."github-url-from-username-repo"."0.2.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."inflight"."1.0.1"
-      self.by-version."ini"."1.2.1"
-      self.by-version."init-package-json"."0.1.2"
-      self.by-version."lockfile"."0.4.3"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."minimatch"."0.3.0"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."node-gyp"."0.13.1"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."npm-cache-filename"."1.0.1"
-      self.by-version."npm-install-checks"."1.0.3"
-      self.by-version."npm-package-arg"."2.0.2"
-      self.by-version."npm-registry-client"."3.0.6"
-      self.by-version."npm-user-validate"."0.1.0"
-      self.by-version."npmconf"."2.0.5"
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."opener"."1.3.0"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."path-is-inside"."1.0.1"
-      self.by-version."read"."1.0.5"
-      self.by-version."read-installed"."2.0.7"
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."request"."2.30.0"
-      self.by-version."retry"."0.6.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."2.3.2"
-      self.by-version."sha"."1.2.4"
-      self.by-version."slide"."1.1.5"
-      self.by-version."sorted-object"."1.0.0"
-      self.by-version."tar"."0.1.20"
-      self.by-version."text-table"."0.2.0"
-      self.by-version."uid-number"."0.0.5"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm" ];
-  };
-  "npm" = self.by-version."npm"."2.0.0-alpha-5";
+    self.by-version."npm"."2.6.1";
+  by-version."npm"."2.6.1" = self.buildNodePackage {
+    name = "npm-2.6.1";
+    version = "2.6.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm/-/npm-2.6.1.tgz";
+      name = "npm-2.6.1.tgz";
+      sha1 = "22aefa7867d021f63d60fadc1eb48f0adb744242";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "ansicolors-0.3.2" = self.by-version."ansicolors"."0.3.2";
+      "ansistyles-0.1.3" = self.by-version."ansistyles"."0.1.3";
+      "archy-1.0.0" = self.by-version."archy"."1.0.0";
+      "async-some-1.0.1" = self.by-version."async-some"."1.0.1";
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "char-spinner-1.0.1" = self.by-version."char-spinner"."1.0.1";
+      "child-process-close-0.1.1" = self.by-version."child-process-close"."0.1.1";
+      "chmodr-0.1.0" = self.by-version."chmodr"."0.1.0";
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "cmd-shim-2.0.1" = self.by-version."cmd-shim"."2.0.1";
+      "columnify-1.4.1" = self.by-version."columnify"."1.4.1";
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.1";
+      "editor-0.1.0" = self.by-version."editor"."0.1.0";
+      "fs-vacuum-1.2.5" = self.by-version."fs-vacuum"."1.2.5";
+      "fs-write-stream-atomic-1.0.2" = self.by-version."fs-write-stream-atomic"."1.0.2";
+      "fstream-1.0.4" = self.by-version."fstream"."1.0.4";
+      "fstream-npm-1.0.1" = self.by-version."fstream-npm"."1.0.1";
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+      "init-package-json-1.2.0" = self.by-version."init-package-json"."1.2.0";
+      "lockfile-1.0.0" = self.by-version."lockfile"."1.0.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "node-gyp-1.0.2" = self.by-version."node-gyp"."1.0.2";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "normalize-git-url-1.0.0" = self.by-version."normalize-git-url"."1.0.0";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "npm-install-checks-1.0.5" = self.by-version."npm-install-checks"."1.0.5";
+      "npm-package-arg-2.1.3" = self.by-version."npm-package-arg"."2.1.3";
+      "npm-registry-client-6.1.1" = self.by-version."npm-registry-client"."6.1.1";
+      "npm-user-validate-0.1.1" = self.by-version."npm-user-validate"."0.1.1";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "opener-1.4.0" = self.by-version."opener"."1.4.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-installed-3.1.5" = self.by-version."read-installed"."3.1.5";
+      "read-package-json-1.3.1" = self.by-version."read-package-json"."1.3.1";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "realize-package-specifier-1.3.0" = self.by-version."realize-package-specifier"."1.3.0";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "sha-1.3.0" = self.by-version."sha"."1.3.0";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "sorted-object-1.0.0" = self.by-version."sorted-object"."1.0.0";
+      "tar-1.0.3" = self.by-version."tar"."1.0.3";
+      "text-table-0.2.0" = self.by-version."text-table"."0.2.0";
+      "uid-number-0.0.6" = self.by-version."uid-number"."0.0.6";
+      "umask-1.1.0" = self.by-version."umask"."1.1.0";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
+      "write-file-atomic-1.1.0" = self.by-version."write-file-atomic"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "npm" = self.by-version."npm"."2.6.1";
+  by-spec."npm"."1.4.28" =
+    self.by-version."npm"."1.4.28";
+  by-version."npm"."1.4.28" = self.buildNodePackage {
+    name = "npm-1.4.28";
+    version = "1.4.28";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm/-/npm-1.4.28.tgz";
+      name = "npm-1.4.28.tgz";
+      sha1 = "da2a18f871c0cf7edae706b72b2f2b44cf74d7d3";
+    };
+    deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "ansicolors-0.3.2" = self.by-version."ansicolors"."0.3.2";
+      "ansistyles-0.1.3" = self.by-version."ansistyles"."0.1.3";
+      "archy-0.0.2" = self.by-version."archy"."0.0.2";
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "char-spinner-1.0.1" = self.by-version."char-spinner"."1.0.1";
+      "child-process-close-0.1.1" = self.by-version."child-process-close"."0.1.1";
+      "chmodr-0.1.0" = self.by-version."chmodr"."0.1.0";
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "cmd-shim-2.0.0" = self.by-version."cmd-shim"."2.0.0";
+      "columnify-1.2.1" = self.by-version."columnify"."1.2.1";
+      "editor-0.1.0" = self.by-version."editor"."0.1.0";
+      "fstream-1.0.4" = self.by-version."fstream"."1.0.4";
+      "fstream-npm-1.0.1" = self.by-version."fstream-npm"."1.0.1";
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "ini-1.2.1" = self.by-version."ini"."1.2.1";
+      "init-package-json-1.0.1" = self.by-version."init-package-json"."1.0.1";
+      "lockfile-1.0.0" = self.by-version."lockfile"."1.0.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "node-gyp-1.0.2" = self.by-version."node-gyp"."1.0.2";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "npm-install-checks-1.0.5" = self.by-version."npm-install-checks"."1.0.5";
+      "npm-registry-client-2.0.7" = self.by-version."npm-registry-client"."2.0.7";
+      "npm-user-validate-0.1.1" = self.by-version."npm-user-validate"."0.1.1";
+      "npmconf-1.1.9" = self.by-version."npmconf"."1.1.9";
+      "npmlog-0.1.1" = self.by-version."npmlog"."0.1.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "opener-1.3.0" = self.by-version."opener"."1.3.0";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "read-installed-2.0.7" = self.by-version."read-installed"."2.0.7";
+      "read-package-json-1.2.7" = self.by-version."read-package-json"."1.2.7";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "sha-1.2.4" = self.by-version."sha"."1.2.4";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "sorted-object-1.0.0" = self.by-version."sorted-object"."1.0.0";
+      "tar-1.0.3" = self.by-version."tar"."1.0.3";
+      "text-table-0.2.0" = self.by-version."text-table"."0.2.0";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm"."^2.5.1" =
+    self.by-version."npm"."2.6.1";
   by-spec."npm-cache-filename"."^1.0.0" =
     self.by-version."npm-cache-filename"."1.0.1";
-  by-version."npm-cache-filename"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-cache-filename-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.1.tgz";
-        name = "npm-cache-filename-1.0.1.tgz";
-        sha1 = "9b640f0c1a5ba1145659685372a9ff71f70c4323";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-cache-filename" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-cache-filename" ];
+  by-version."npm-cache-filename"."1.0.1" = self.buildNodePackage {
+    name = "npm-cache-filename-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.1.tgz";
+      name = "npm-cache-filename-1.0.1.tgz";
+      sha1 = "9b640f0c1a5ba1145659685372a9ff71f70c4323";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."npm-cache-filename"."~1.0.1" =
     self.by-version."npm-cache-filename"."1.0.1";
+  by-spec."npm-check-updates"."*" =
+    self.by-version."npm-check-updates"."2.0.0-alpha6";
+  by-version."npm-check-updates"."2.0.0-alpha6" = self.buildNodePackage {
+    name = "npm-check-updates-2.0.0-alpha6";
+    version = "2.0.0-alpha6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.0.0-alpha6.tgz";
+      name = "npm-check-updates-2.0.0-alpha6.tgz";
+      sha1 = "cc9a00208db31af606ed6bd018ed9354fac23f02";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "cint-8.2.1" = self.by-version."cint"."8.2.1";
+      "closest-package-1.0.0" = self.by-version."closest-package"."1.0.0";
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+      "lodash-3.3.0" = self.by-version."lodash"."3.3.0";
+      "npm-2.6.1" = self.by-version."npm"."2.6.1";
+      "read-package-json-1.3.1" = self.by-version."read-package-json"."1.3.1";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "npm-check-updates" = self.by-version."npm-check-updates"."2.0.0-alpha6";
   by-spec."npm-install-checks"."~1.0.2" =
-    self.by-version."npm-install-checks"."1.0.3";
-  by-version."npm-install-checks"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-install-checks-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.3.tgz";
-        name = "npm-install-checks-1.0.3.tgz";
-        sha1 = "9301006141a8f1454ae6bfe9a2f89da91316de02";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-install-checks" or []);
-    deps = [
-      self.by-version."npmlog"."0.1.1"
-      self.by-version."semver"."3.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-install-checks" ];
-  };
-  by-spec."npm-package-arg"."~2.0.0" =
-    self.by-version."npm-package-arg"."2.0.2";
-  by-version."npm-package-arg"."2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-package-arg-2.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.0.2.tgz";
-        name = "npm-package-arg-2.0.2.tgz";
-        sha1 = "e4f660c683068eccba9b27b4075cc00c0ccc6037";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-package-arg" or []);
-    deps = [
-      self.by-version."semver"."3.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-package-arg" ];
-  };
+    self.by-version."npm-install-checks"."1.0.5";
+  by-version."npm-install-checks"."1.0.5" = self.buildNodePackage {
+    name = "npm-install-checks-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.5.tgz";
+      name = "npm-install-checks-1.0.5.tgz";
+      sha1 = "a1b5beabfd60e0535b14f763157c410cb6bdae56";
+    };
+    deps = {
+      "npmlog-1.1.0" = self.by-version."npmlog"."1.1.0";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm-install-checks"."~1.0.5" =
+    self.by-version."npm-install-checks"."1.0.5";
+  by-spec."npm-package-arg"."^2.1.3" =
+    self.by-version."npm-package-arg"."2.1.3";
+  by-version."npm-package-arg"."2.1.3" = self.buildNodePackage {
+    name = "npm-package-arg-2.1.3";
+    version = "2.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.1.3.tgz";
+      name = "npm-package-arg-2.1.3.tgz";
+      sha1 = "dfba34bd82dd327c10cb43a65c8db6ef0b812bf7";
+    };
+    deps = {
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm-package-arg"."^3.0.0" =
+    self.by-version."npm-package-arg"."3.1.0";
+  by-version."npm-package-arg"."3.1.0" = self.buildNodePackage {
+    name = "npm-package-arg-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-3.1.0.tgz";
+      name = "npm-package-arg-3.1.0.tgz";
+      sha1 = "8ce9d8ad83ae9fcc433783ca813e4e91f885703e";
+    };
+    deps = {
+      "hosted-git-info-1.5.3" = self.by-version."hosted-git-info"."1.5.3";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm-package-arg"."~2.1.3" =
+    self.by-version."npm-package-arg"."2.1.3";
   by-spec."npm-registry-client"."0.2.27" =
     self.by-version."npm-registry-client"."0.2.27";
-  by-version."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-registry-client-0.2.27";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
-        name = "npm-registry-client-0.2.27.tgz";
-        sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-registry-client" or []);
-    deps = [
-      self.by-version."request"."2.40.0"
-      self.by-version."graceful-fs"."2.0.3"
-      self.by-version."semver"."2.0.11"
-      self.by-version."slide"."1.1.5"
-      self.by-version."chownr"."0.0.1"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."retry"."0.6.0"
-      self.by-version."couch-login"."0.1.20"
-      self.by-version."npmlog"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-registry-client" ];
-  };
-  by-spec."npm-registry-client"."~3.0.0" =
-    self.by-version."npm-registry-client"."3.0.6";
-  by-version."npm-registry-client"."3.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-registry-client-3.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-3.0.6.tgz";
-        name = "npm-registry-client-3.0.6.tgz";
-        sha1 = "14a17d9a60ed2a80b04edcbc596dbce0d96540ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-registry-client" or []);
-    deps = [
-      self.by-version."chownr"."0.0.1"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."normalize-package-data"."0.4.2"
-      self.by-version."npm-cache-filename"."1.0.1"
-      self.by-version."request"."2.40.0"
-      self.by-version."retry"."0.6.0"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."semver"."3.0.1"
-      self.by-version."slide"."1.1.5"
-      self.by-version."npmlog"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-registry-client" ];
+  by-version."npm-registry-client"."0.2.27" = self.buildNodePackage {
+    name = "npm-registry-client-0.2.27";
+    version = "0.2.27";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
+      name = "npm-registry-client-0.2.27.tgz";
+      sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "semver-2.0.11" = self.by-version."semver"."2.0.11";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "couch-login-0.1.20" = self.by-version."couch-login"."0.1.20";
+    };
+    optionalDependencies = {
+      "npmlog-1.1.0" = self.by-version."npmlog"."1.1.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm-registry-client"."~2.0.7" =
+    self.by-version."npm-registry-client"."2.0.7";
+  by-version."npm-registry-client"."2.0.7" = self.buildNodePackage {
+    name = "npm-registry-client-2.0.7";
+    version = "2.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-2.0.7.tgz";
+      name = "npm-registry-client-2.0.7.tgz";
+      sha1 = "97a2cdca5aba753b4b5b334b4ae65669c6641085";
+    };
+    deps = {
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "npm-cache-filename-1.0.1" = self.by-version."npm-cache-filename"."1.0.1";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "retry-0.6.0" = self.by-version."retry"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+    };
+    optionalDependencies = {
+      "npmlog-1.1.0" = self.by-version."npmlog"."1.1.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm-registry-client"."~4.0.4" =
+    self.by-version."npm-registry-client"."4.0.5";
+  by-version."npm-registry-client"."4.0.5" = self.buildNodePackage {
+    name = "npm-registry-client-4.0.5";
+    version = "4.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-4.0.5.tgz";
+      name = "npm-registry-client-4.0.5.tgz";
+      sha1 = "27d37ca0c7bbd5df14f4ae35223a4d588dd4fea6";
+    };
+    deps = {
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+    };
+    optionalDependencies = {
+      "npmlog-1.1.0" = self.by-version."npmlog"."1.1.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm-registry-client"."~6.1.1" =
+    self.by-version."npm-registry-client"."6.1.1";
+  by-version."npm-registry-client"."6.1.1" = self.buildNodePackage {
+    name = "npm-registry-client-6.1.1";
+    version = "6.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-6.1.1.tgz";
+      name = "npm-registry-client-6.1.1.tgz";
+      sha1 = "ffc74d9d85f3228fcd21a7eaad8a8ed134a5dddb";
+    };
+    deps = {
+      "chownr-0.0.1" = self.by-version."chownr"."0.0.1";
+      "concat-stream-1.4.7" = self.by-version."concat-stream"."1.4.7";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
+      "npm-package-arg-3.1.0" = self.by-version."npm-package-arg"."3.1.0";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+    };
+    optionalDependencies = {
+      "npmlog-1.1.0" = self.by-version."npmlog"."1.1.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."npm-registry-client"."~3.0.2" =
-    self.by-version."npm-registry-client"."3.0.6";
   by-spec."npm-user-validate"."~0.1.0" =
-    self.by-version."npm-user-validate"."0.1.0";
-  by-version."npm-user-validate"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npm-user-validate-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.0.tgz";
-        name = "npm-user-validate-0.1.0.tgz";
-        sha1 = "358a5b5148ed3f79771d980388c6e34c4a61f638";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-user-validate" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-user-validate" ];
-  };
-  by-spec."npm2nix"."*" =
-    self.by-version."npm2nix"."5.7.0";
-  by-version."npm2nix"."5.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "npm2nix-5.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.7.0.tgz";
-        name = "npm2nix-5.7.0.tgz";
-        sha1 = "ac4547c4ee35fd19fd8dfcf1b1f47eccfb6b6dfa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm2nix" or []);
-    deps = [
-      self.by-version."semver"."2.3.2"
-      self.by-version."argparse"."0.1.15"
-      self.by-version."npm-registry-client"."0.2.27"
-      self.by-version."npmconf"."0.1.1"
-      self.by-version."tar"."0.1.17"
-      self.by-version."temp"."0.6.0"
-      self.by-version."fs.extra"."1.2.1"
-      self.by-version."findit"."1.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm2nix" ];
-  };
-  "npm2nix" = self.by-version."npm2nix"."5.7.0";
-  by-spec."npmconf"."0.0.24" =
-    self.by-version."npmconf"."0.0.24";
-  by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.0.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
-        name = "npmconf-0.0.24.tgz";
-        sha1 = "b78875b088ccc3c0afa3eceb3ce3244b1b52390c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."1.0.0"
-      self.by-version."once"."1.1.1"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."osenv"."0.0.3"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."semver"."1.1.4"
-      self.by-version."ini"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmconf" ];
-  };
+    self.by-version."npm-user-validate"."0.1.1";
+  by-version."npm-user-validate"."0.1.1" = self.buildNodePackage {
+    name = "npm-user-validate-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.1.tgz";
+      name = "npm-user-validate-0.1.1.tgz";
+      sha1 = "ea7774636c3c8fe6d01e174bd9f2ee0e22eeed57";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npm-user-validate"."~0.1.1" =
+    self.by-version."npm-user-validate"."0.1.1";
+  by-spec."npm2nix"."git://github.com/NixOS/npm2nix.git#5.11.0" =
+    self.by-version."npm2nix"."5.11.0";
+  by-version."npm2nix"."5.11.0" = self.buildNodePackage {
+    name = "npm2nix-5.11.0";
+    version = "5.11.0";
+    bin = true;
+    src = fetchgit {
+      url = "git://github.com/NixOS/npm2nix.git";
+      rev = "95ebee69a177910f47c661870f1b4b549f5ce796";
+      sha256 = "2a1e675b906a7b176af2953427ac38269c2ebe9ff37e96d9c18da98fa6aae3a7";
+    };
+    deps = {
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
+      "npm-registry-client-0.2.27" = self.by-version."npm-registry-client"."0.2.27";
+      "npmconf-0.1.1" = self.by-version."npmconf"."0.1.1";
+      "tar-0.1.17" = self.by-version."tar"."0.1.17";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "fs.extra-1.3.2" = self.by-version."fs.extra"."1.3.2";
+      "findit-1.2.0" = self.by-version."findit"."1.2.0";
+      "coffee-script-1.9.1" = self.by-version."coffee-script"."1.9.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "npm2nix" = self.by-version."npm2nix"."5.11.0";
   by-spec."npmconf"."0.1.1" =
     self.by-version."npmconf"."0.1.1";
-  by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
-        name = "npmconf-0.1.1.tgz";
-        sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."1.0.0"
-      self.by-version."once"."1.1.1"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."osenv"."0.0.3"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."semver"."2.3.2"
-      self.by-version."ini"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmconf" ];
+  by-version."npmconf"."0.1.1" = self.buildNodePackage {
+    name = "npmconf-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
+      name = "npmconf-0.1.1.tgz";
+      sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
+    };
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npmconf"."0.1.16" =
+    self.by-version."npmconf"."0.1.16";
+  by-version."npmconf"."0.1.16" = self.buildNodePackage {
+    name = "npmconf-0.1.16";
+    version = "0.1.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.16.tgz";
+      name = "npmconf-0.1.16.tgz";
+      sha1 = "0bdca78b8551419686b3a98004f06f0819edcd2a";
+    };
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npmconf"."2.0.9" =
+    self.by-version."npmconf"."2.0.9";
+  by-version."npmconf"."2.0.9" = self.buildNodePackage {
+    name = "npmconf-2.0.9";
+    version = "2.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmconf/-/npmconf-2.0.9.tgz";
+      name = "npmconf-2.0.9.tgz";
+      sha1 = "5c87e5fb308104eceeca781e3d9115d216351ef2";
+    };
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npmconf"."^2.0.1" =
+    self.by-version."npmconf"."2.1.1";
+  by-version."npmconf"."2.1.1" = self.buildNodePackage {
+    name = "npmconf-2.1.1";
+    version = "2.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmconf/-/npmconf-2.1.1.tgz";
+      name = "npmconf-2.1.1.tgz";
+      sha1 = "a266c7e5c56695eb7f55caf3a5a7328f24510dae";
+    };
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."npmconf"."~0.1.2" =
     self.by-version."npmconf"."0.1.16";
-  by-version."npmconf"."0.1.16" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-0.1.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.16.tgz";
-        name = "npmconf-0.1.16.tgz";
-        sha1 = "0bdca78b8551419686b3a98004f06f0819edcd2a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."osenv"."0.0.3"
-      self.by-version."nopt"."2.2.1"
-      self.by-version."semver"."2.3.2"
-      self.by-version."ini"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmconf" ];
-  };
-  by-spec."npmconf"."~2.0.1" =
-    self.by-version."npmconf"."2.0.5";
-  by-version."npmconf"."2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmconf-2.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-2.0.5.tgz";
-        name = "npmconf-2.0.5.tgz";
-        sha1 = "70ad9975cd8d855e198a2deec8df6d04d932035c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmconf" or []);
-    deps = [
-      self.by-version."config-chain"."1.1.8"
-      self.by-version."inherits"."2.0.1"
-      self.by-version."ini"."1.2.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."nopt"."3.0.1"
-      self.by-version."once"."1.3.0"
-      self.by-version."osenv"."0.1.0"
-      self.by-version."semver"."3.0.1"
-      self.by-version."uid-number"."0.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmconf" ];
-  };
-  by-spec."npmconf"."~2.0.3" =
-    self.by-version."npmconf"."2.0.5";
+  by-spec."npmconf"."~1.1.8" =
+    self.by-version."npmconf"."1.1.9";
+  by-version."npmconf"."1.1.9" = self.buildNodePackage {
+    name = "npmconf-1.1.9";
+    version = "1.1.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmconf/-/npmconf-1.1.9.tgz";
+      name = "npmconf-1.1.9.tgz";
+      sha1 = "0ec71e3c5e604c84facc313cd175636ec11c8a6a";
+    };
+    deps = {
+      "config-chain-1.1.8" = self.by-version."config-chain"."1.1.8";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "osenv-0.1.0" = self.by-version."osenv"."0.1.0";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npmconf"."~2.1.1" =
+    self.by-version."npmconf"."2.1.1";
   by-spec."npmlog"."*" =
-    self.by-version."npmlog"."0.1.1";
-  by-version."npmlog"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-npmlog-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz";
-        name = "npmlog-0.1.1.tgz";
-        sha1 = "8b9b9e4405d7ec48c31c2346965aadc7abaecaa5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog" or []);
-    deps = [
-      self.by-version."ansi"."0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
+    self.by-version."npmlog"."1.1.0";
+  by-version."npmlog"."1.1.0" = self.buildNodePackage {
+    name = "npmlog-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmlog/-/npmlog-1.1.0.tgz";
+      name = "npmlog-1.1.0.tgz";
+      sha1 = "8744168148df1ce3f3387c0bc38154883b4af5f4";
+    };
+    deps = {
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "are-we-there-yet-1.0.2" = self.by-version."are-we-there-yet"."1.0.2";
+      "gauge-1.1.0" = self.by-version."gauge"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."npmlog"."0" =
     self.by-version."npmlog"."0.1.1";
-  by-spec."npmlog"."0.1" =
-    self.by-version."npmlog"."0.1.1";
+  by-version."npmlog"."0.1.1" = self.buildNodePackage {
+    name = "npmlog-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz";
+      name = "npmlog-0.1.1.tgz";
+      sha1 = "8b9b9e4405d7ec48c31c2346965aadc7abaecaa5";
+    };
+    deps = {
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."npmlog"."0.1 || 1" =
+    self.by-version."npmlog"."1.1.0";
   by-spec."npmlog"."~0.1.1" =
     self.by-version."npmlog"."0.1.1";
+  by-spec."npmlog"."~1.1.0" =
+    self.by-version."npmlog"."1.1.0";
   by-spec."nssocket"."~0.5.1" =
-    self.by-version."nssocket"."0.5.1";
-  by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-nssocket-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
-        name = "nssocket-0.5.1.tgz";
-        sha1 = "11f0428335ad8d89ff9cf96ab2852a23b1b33b71";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nssocket" or []);
-    deps = [
-      self.by-version."eventemitter2"."0.4.14"
-      self.by-version."lazy"."1.0.11"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nssocket" ];
-  };
+    self.by-version."nssocket"."0.5.3";
+  by-version."nssocket"."0.5.3" = self.buildNodePackage {
+    name = "nssocket-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.3.tgz";
+      name = "nssocket-0.5.3.tgz";
+      sha1 = "883ca2ec605f5ed64a4d5190b2625401928f8f8d";
+    };
+    deps = {
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "lazy-1.0.11" = self.by-version."lazy"."1.0.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ntwitter".">=0.5.0" =
+    self.by-version."ntwitter"."0.5.0";
+  by-version."ntwitter"."0.5.0" = self.buildNodePackage {
+    name = "ntwitter-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ntwitter/-/ntwitter-0.5.0.tgz";
+      name = "ntwitter-0.5.0.tgz";
+      sha1 = "30c40105f82432fa8956a4f7655de932af631534";
+    };
+    deps = {
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+      "cookies-0.1.6" = self.by-version."cookies"."0.1.6";
+      "keygrip-0.2.4" = self.by-version."keygrip"."0.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."numeral"."^1.5.3" =
+    self.by-version."numeral"."1.5.3";
+  by-version."numeral"."1.5.3" = self.buildNodePackage {
+    name = "numeral-1.5.3";
+    version = "1.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/numeral/-/numeral-1.5.3.tgz";
+      name = "numeral-1.5.3.tgz";
+      sha1 = "a4c3eba68239580509f818267c77243bce43ff62";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nwmatcher"."~1.3.1" =
+    self.by-version."nwmatcher"."1.3.4";
+  by-version."nwmatcher"."1.3.4" = self.buildNodePackage {
+    name = "nwmatcher-1.3.4";
+    version = "1.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.4.tgz";
+      name = "nwmatcher-1.3.4.tgz";
+      sha1 = "965aa05fc3bc9de0a6438c8c07169866092fdaed";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nwmatcher"."~1.3.2" =
+    self.by-version."nwmatcher"."1.3.4";
+  by-spec."oauth"."*" =
+    self.by-version."oauth"."0.9.12";
+  by-version."oauth"."0.9.12" = self.buildNodePackage {
+    name = "oauth-0.9.12";
+    version = "0.9.12";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/ciaranj/node-oauth/tarball/master";
+      name = "oauth-0.9.12.tgz";
+      sha256 = "e06c3c3537e9c802c8ad00640b9f91bf2857cf8cc91209e355b5646f4da8b3e7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth"."0.9.12" =
+    self.by-version."oauth"."0.9.12";
+  by-spec."oauth"."0.9.x" =
+    self.by-version."oauth"."0.9.12";
+  by-spec."oauth".">=0.8.4" =
+    self.by-version."oauth"."0.9.12";
+  by-spec."oauth".">=0.9.9" =
+    self.by-version."oauth"."0.9.12";
   by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" =
-    self.by-version."oauth"."0.9.11";
-  by-version."oauth"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-oauth-0.9.11";
-    src = [
-      (fetchurl {
-        url = "https://github.com/ciaranj/node-oauth/tarball/master";
-        name = "oauth-0.9.11.tgz";
-        sha256 = "81deda1451b8103f278cbede8aab0a929a63882dbc604214fd7690d72390d083";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."oauth" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "oauth" ];
-  };
+    self.by-version."oauth"."0.9.12";
   by-spec."oauth-sign"."~0.2.0" =
     self.by-version."oauth-sign"."0.2.0";
-  by-version."oauth-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-oauth-sign-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
-        name = "oauth-sign-0.2.0.tgz";
-        sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."oauth-sign" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "oauth-sign" ];
+  by-version."oauth-sign"."0.2.0" = self.buildNodePackage {
+    name = "oauth-sign-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
+      name = "oauth-sign-0.2.0.tgz";
+      sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."oauth-sign"."~0.3.0" =
     self.by-version."oauth-sign"."0.3.0";
-  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-oauth-sign-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-        name = "oauth-sign-0.3.0.tgz";
-        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."oauth-sign" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "oauth-sign" ];
-  };
-  by-spec."object-additions".">= 0.5.0" =
+  by-version."oauth-sign"."0.3.0" = self.buildNodePackage {
+    name = "oauth-sign-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+      name = "oauth-sign-0.3.0.tgz";
+      sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.4.0" =
+    self.by-version."oauth-sign"."0.4.0";
+  by-version."oauth-sign"."0.4.0" = self.buildNodePackage {
+    name = "oauth-sign-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
+      name = "oauth-sign-0.4.0.tgz";
+      sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.5.0" =
+    self.by-version."oauth-sign"."0.5.0";
+  by-version."oauth-sign"."0.5.0" = self.buildNodePackage {
+    name = "oauth-sign-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz";
+      name = "oauth-sign-0.5.0.tgz";
+      sha1 = "d767f5169325620eab2e087ef0c472e773db6461";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.6.0" =
+    self.by-version."oauth-sign"."0.6.0";
+  by-version."oauth-sign"."0.6.0" = self.buildNodePackage {
+    name = "oauth-sign-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz";
+      name = "oauth-sign-0.6.0.tgz";
+      sha1 = "7dbeae44f6ca454e1f168451d630746735813ce3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth2orize"."1.0.1" =
+    self.by-version."oauth2orize"."1.0.1";
+  by-version."oauth2orize"."1.0.1" = self.buildNodePackage {
+    name = "oauth2orize-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth2orize/-/oauth2orize-1.0.1.tgz";
+      name = "oauth2orize-1.0.1.tgz";
+      sha1 = "eceb666b641caf717df43e63511518796c93642d";
+    };
+    deps = {
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."object-additions"."^0.5.1" =
     self.by-version."object-additions"."0.5.1";
-  by-version."object-additions"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-additions-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz";
-        name = "object-additions-0.5.1.tgz";
-        sha1 = "ac624e0995e696c94cc69b41f316462b16a3bda4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."object-additions" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "object-additions" ];
-  };
-  by-spec."object-assign"."~0.3.1" =
+  by-version."object-additions"."0.5.1" = self.buildNodePackage {
+    name = "object-additions-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz";
+      name = "object-additions-0.5.1.tgz";
+      sha1 = "ac624e0995e696c94cc69b41f316462b16a3bda4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."object-assign"."^0.3.0" =
     self.by-version."object-assign"."0.3.1";
-  by-version."object-assign"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-assign-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz";
-        name = "object-assign-0.3.1.tgz";
-        sha1 = "060e2a2a27d7c0d77ec77b78f11aa47fd88008d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."object-assign" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "object-assign" ];
+  by-version."object-assign"."0.3.1" = self.buildNodePackage {
+    name = "object-assign-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz";
+      name = "object-assign-0.3.1.tgz";
+      sha1 = "060e2a2a27d7c0d77ec77b78f11aa47fd88008d2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."object-assign"."^1.0.0" =
+    self.by-version."object-assign"."1.0.0";
+  by-version."object-assign"."1.0.0" = self.buildNodePackage {
+    name = "object-assign-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-assign/-/object-assign-1.0.0.tgz";
+      name = "object-assign-1.0.0.tgz";
+      sha1 = "e65dc8766d3b47b4b8307465c8311da030b070a6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."object-assign"."^2.0.0" =
+    self.by-version."object-assign"."2.0.0";
+  by-version."object-assign"."2.0.0" = self.buildNodePackage {
+    name = "object-assign-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-assign/-/object-assign-2.0.0.tgz";
+      name = "object-assign-2.0.0.tgz";
+      sha1 = "f8309b09083b01261ece3ef7373f2b57b8dd7042";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."object-component"."0.0.3" =
+    self.by-version."object-component"."0.0.3";
+  by-version."object-component"."0.0.3" = self.buildNodePackage {
+    name = "object-component-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz";
+      name = "object-component-0.0.3.tgz";
+      sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."object-keys"."~0.4.0" =
     self.by-version."object-keys"."0.4.0";
-  by-version."object-keys"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-object-keys-0.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
-        name = "object-keys-0.4.0.tgz";
-        sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."object-keys" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "object-keys" ];
+  by-version."object-keys"."0.4.0" = self.buildNodePackage {
+    name = "object-keys-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
+      name = "object-keys-0.4.0.tgz";
+      sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."on-finished"."2.1.0" =
     self.by-version."on-finished"."2.1.0";
-  by-version."on-finished"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-finished-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
-        name = "on-finished-2.1.0.tgz";
-        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-finished" or []);
-    deps = [
-      self.by-version."ee-first"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-finished" ];
-  };
-  by-spec."on-headers"."0.0.0" =
-    self.by-version."on-headers"."0.0.0";
-  by-version."on-headers"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-headers-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-headers/-/on-headers-0.0.0.tgz";
-        name = "on-headers-0.0.0.tgz";
-        sha1 = "ee2817f8344325785cd9c2df2b242bbc17caf4c4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-headers" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-headers" ];
+  by-version."on-finished"."2.1.0" = self.buildNodePackage {
+    name = "on-finished-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+      name = "on-finished-2.1.0.tgz";
+      sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+    };
+    deps = {
+      "ee-first-1.0.5" = self.by-version."ee-first"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-finished"."~2.1.0" =
+    self.by-version."on-finished"."2.1.1";
+  by-version."on-finished"."2.1.1" = self.buildNodePackage {
+    name = "on-finished-2.1.1";
+    version = "2.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.1.1.tgz";
+      name = "on-finished-2.1.1.tgz";
+      sha1 = "f82ca1c9e3a4f3286b1b9938610e5b8636bd3cb2";
+    };
+    deps = {
+      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-finished"."~2.1.1" =
+    self.by-version."on-finished"."2.1.1";
+  by-spec."on-finished"."~2.2.0" =
+    self.by-version."on-finished"."2.2.0";
+  by-version."on-finished"."2.2.0" = self.buildNodePackage {
+    name = "on-finished-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz";
+      name = "on-finished-2.2.0.tgz";
+      sha1 = "e6ba6a09a3482d6b7969bc3da92c86f0a967605e";
+    };
+    deps = {
+      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-headers"."1.0.0" =
+    self.by-version."on-headers"."1.0.0";
+  by-version."on-headers"."1.0.0" = self.buildNodePackage {
+    name = "on-headers-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
+      name = "on-headers-1.0.0.tgz";
+      sha1 = "2c75b5da4375513d0161c6052e7fcbe4953fca5d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."on-headers"."~1.0.0" =
     self.by-version."on-headers"."1.0.0";
-  by-version."on-headers"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-on-headers-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
-        name = "on-headers-1.0.0.tgz";
-        sha1 = "2c75b5da4375513d0161c6052e7fcbe4953fca5d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-headers" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-headers" ];
-  };
   by-spec."once"."1.1.1" =
     self.by-version."once"."1.1.1";
-  by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-once-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
-        name = "once-1.1.1.tgz";
-        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."once" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "once" ];
-  };
-  by-spec."once"."1.x" =
+  by-version."once"."1.1.1" = self.buildNodePackage {
+    name = "once-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
+      name = "once-1.1.1.tgz";
+      sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."once"."1.3.0" =
     self.by-version."once"."1.3.0";
-  by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-once-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
-        name = "once-1.3.0.tgz";
-        sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."once" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "once" ];
+  by-version."once"."1.3.0" = self.buildNodePackage {
+    name = "once-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
+      name = "once-1.3.0.tgz";
+      sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
+  by-spec."once"."1.x" =
+    self.by-version."once"."1.3.1";
+  by-version."once"."1.3.1" = self.buildNodePackage {
+    name = "once-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/once/-/once-1.3.1.tgz";
+      name = "once-1.3.1.tgz";
+      sha1 = "f3f3e4da5b7d27b5c732969ee3e67e729457b31f";
+    };
+    deps = {
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."once"."^1.1.1" =
+    self.by-version."once"."1.3.1";
   by-spec."once"."^1.3.0" =
-    self.by-version."once"."1.3.0";
+    self.by-version."once"."1.3.1";
+  by-spec."once"."^1.3.1" =
+    self.by-version."once"."1.3.1";
   by-spec."once"."~1.1.1" =
     self.by-version."once"."1.1.1";
+  by-spec."once"."~1.2.0" =
+    self.by-version."once"."1.2.0";
+  by-version."once"."1.2.0" = self.buildNodePackage {
+    name = "once-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/once/-/once-1.2.0.tgz";
+      name = "once-1.2.0.tgz";
+      sha1 = "de1905c636af874a8fba862d9aabddd1f920461c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."once"."~1.3.0" =
-    self.by-version."once"."1.3.0";
-  by-spec."only"."0.0.2" =
-    self.by-version."only"."0.0.2";
-  by-version."only"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-only-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/only/-/only-0.0.2.tgz";
-        name = "only-0.0.2.tgz";
-        sha1 = "2afde84d03e50b9a8edc444e30610a70295edfb4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."only" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "only" ];
+    self.by-version."once"."1.3.1";
+  by-spec."once"."~1.3.1" =
+    self.by-version."once"."1.3.1";
+  by-spec."onetime"."^1.0.0" =
+    self.by-version."onetime"."1.0.0";
+  by-version."onetime"."1.0.0" = self.buildNodePackage {
+    name = "onetime-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/onetime/-/onetime-1.0.0.tgz";
+      name = "onetime-1.0.0.tgz";
+      sha1 = "3a08a8e39d7816df52d34886374fb8ed8b651f62";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."open"."0.0.2" =
     self.by-version."open"."0.0.2";
-  by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-open-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/open/-/open-0.0.2.tgz";
-        name = "open-0.0.2.tgz";
-        sha1 = "0a620ba2574464742f51e69f8ba8eccfd97b5dfc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."open" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "open" ];
-  };
+  by-version."open"."0.0.2" = self.buildNodePackage {
+    name = "open-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/open/-/open-0.0.2.tgz";
+      name = "open-0.0.2.tgz";
+      sha1 = "0a620ba2574464742f51e69f8ba8eccfd97b5dfc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."open"."0.0.5" =
+    self.by-version."open"."0.0.5";
+  by-version."open"."0.0.5" = self.buildNodePackage {
+    name = "open-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/open/-/open-0.0.5.tgz";
+      name = "open-0.0.5.tgz";
+      sha1 = "42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."open"."0.0.x" =
+    self.by-version."open"."0.0.5";
+  by-spec."open".">= 0.0.3" =
+    self.by-version."open"."0.0.5";
   by-spec."open"."~0.0.5" =
     self.by-version."open"."0.0.5";
-  by-version."open"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-open-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/open/-/open-0.0.5.tgz";
-        name = "open-0.0.5.tgz";
-        sha1 = "42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."open" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "open" ];
+  by-spec."opener"."1.4.0" =
+    self.by-version."opener"."1.4.0";
+  by-version."opener"."1.4.0" = self.buildNodePackage {
+    name = "opener-1.4.0";
+    version = "1.4.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/opener/-/opener-1.4.0.tgz";
+      name = "opener-1.4.0.tgz";
+      sha1 = "d11f86eeeb076883735c9d509f538fe82d10b941";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."opener"."~1.3.0" =
     self.by-version."opener"."1.3.0";
-  by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."opener"."1.3.0" = self.buildNodePackage {
     name = "opener-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
-        name = "opener-1.3.0.tgz";
-        sha1 = "130ba662213fa842edb4cd0361d31a15301a43e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."opener" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "opener" ];
-  };
+    version = "1.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
+      name = "opener-1.3.0.tgz";
+      sha1 = "130ba662213fa842edb4cd0361d31a15301a43e2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."opener"."~1.4.0" =
+    self.by-version."opener"."1.4.0";
   by-spec."openid".">=0.2.0" =
     self.by-version."openid"."0.5.9";
-  by-version."openid"."0.5.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-openid-0.5.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/openid/-/openid-0.5.9.tgz";
-        name = "openid-0.5.9.tgz";
-        sha1 = "f44dd2609764c458c65fb22c03db068579e4bfa8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."openid" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "openid" ];
+  by-version."openid"."0.5.9" = self.buildNodePackage {
+    name = "openid-0.5.9";
+    version = "0.5.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/openid/-/openid-0.5.9.tgz";
+      name = "openid-0.5.9.tgz";
+      sha1 = "f44dd2609764c458c65fb22c03db068579e4bfa8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."opn"."~1.0.0" =
+    self.by-version."opn"."1.0.1";
+  by-version."opn"."1.0.1" = self.buildNodePackage {
+    name = "opn-1.0.1";
+    version = "1.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/opn/-/opn-1.0.1.tgz";
+      name = "opn-1.0.1.tgz";
+      sha1 = "c2dce2a5c41ab9589a7486aaff4d8de002d041ca";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."optimist"."*" =
     self.by-version."optimist"."0.6.1";
-  by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
-        name = "optimist-0.6.1.tgz";
-        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."minimist"."0.0.10"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
+  by-version."optimist"."0.6.1" = self.buildNodePackage {
+    name = "optimist-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+      name = "optimist-0.6.1.tgz";
+      sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+    };
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "optimist" = self.by-version."optimist"."0.6.1";
   by-spec."optimist"."0.2" =
     self.by-version."optimist"."0.2.8";
-  by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.2.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
-        name = "optimist-0.2.8.tgz";
-        sha1 = "e981ab7e268b457948593b55674c099a815cac31";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
+  by-version."optimist"."0.2.8" = self.buildNodePackage {
+    name = "optimist-0.2.8";
+    version = "0.2.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
+      name = "optimist-0.2.8.tgz";
+      sha1 = "e981ab7e268b457948593b55674c099a815cac31";
+    };
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."optimist"."0.6.0" =
     self.by-version."optimist"."0.6.0";
-  by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-        name = "optimist-0.6.0.tgz";
-        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-      self.by-version."minimist"."0.0.10"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
+  by-version."optimist"."0.6.0" = self.buildNodePackage {
+    name = "optimist-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
+      name = "optimist-0.6.0.tgz";
+      sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
+    };
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."optimist"."0.6.x" =
     self.by-version."optimist"."0.6.1";
+  by-spec."optimist"."^0.6.1" =
+    self.by-version."optimist"."0.6.1";
   by-spec."optimist"."~0.3" =
     self.by-version."optimist"."0.3.7";
-  by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        name = "optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist" or []);
-    deps = [
-      self.by-version."wordwrap"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
+  by-version."optimist"."0.3.7" = self.buildNodePackage {
+    name = "optimist-0.3.7";
+    version = "0.3.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+      name = "optimist-0.3.7.tgz";
+      sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+    };
+    deps = {
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."optimist"."~0.3.4" =
+    self.by-version."optimist"."0.3.7";
   by-spec."optimist"."~0.3.5" =
     self.by-version."optimist"."0.3.7";
   by-spec."optimist"."~0.6.0" =
     self.by-version."optimist"."0.6.1";
   by-spec."optimist"."~0.6.1" =
     self.by-version."optimist"."0.6.1";
+  by-spec."optionator"."^0.5.0" =
+    self.by-version."optionator"."0.5.0";
+  by-version."optionator"."0.5.0" = self.buildNodePackage {
+    name = "optionator-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz";
+      name = "optionator-0.5.0.tgz";
+      sha1 = "b75a8995a2d417df25b6e4e3862f50aa88651368";
+    };
+    deps = {
+      "prelude-ls-1.1.1" = self.by-version."prelude-ls"."1.1.1";
+      "deep-is-0.1.3" = self.by-version."deep-is"."0.1.3";
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+      "type-check-0.3.1" = self.by-version."type-check"."0.3.1";
+      "levn-0.2.5" = self.by-version."levn"."0.2.5";
+      "fast-levenshtein-1.0.6" = self.by-version."fast-levenshtein"."1.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.5";
-  by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-options-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
-        name = "options-0.0.5.tgz";
-        sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."options" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "options" ];
+    self.by-version."options"."0.0.6";
+  by-version."options"."0.0.6" = self.buildNodePackage {
+    name = "options-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
+      name = "options-0.0.6.tgz";
+      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."optjs"."*" =
+    self.by-version."optjs"."3.2.1-boom";
+  by-version."optjs"."3.2.1-boom" = self.buildNodePackage {
+    name = "optjs-3.2.1-boom";
+    version = "3.2.1-boom";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optjs/-/optjs-3.2.1-boom.tgz";
+      name = "optjs-3.2.1-boom.tgz";
+      sha1 = "bc0af6c8647db5eec511c4ca2d264f9646add758";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."optparse"."*" =
     self.by-version."optparse"."1.0.5";
-  by-version."optparse"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-optparse-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz";
-        name = "optparse-1.0.5.tgz";
-        sha1 = "75e75a96506611eb1c65ba89018ff08a981e2c16";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optparse" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optparse" ];
+  by-version."optparse"."1.0.5" = self.buildNodePackage {
+    name = "optparse-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz";
+      name = "optparse-1.0.5.tgz";
+      sha1 = "75e75a96506611eb1c65ba89018ff08a981e2c16";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "optparse" = self.by-version."optparse"."1.0.5";
   by-spec."optparse".">= 1.0.3" =
     self.by-version."optparse"."1.0.5";
-  by-spec."ordered-read-streams"."0.0.8" =
-    self.by-version."ordered-read-streams"."0.0.8";
-  by-version."ordered-read-streams"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ordered-read-streams-0.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.0.8.tgz";
-        name = "ordered-read-streams-0.0.8.tgz";
-        sha1 = "fd921331b1a130b66aeef711b219aee01d89e0c5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ordered-read-streams" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ordered-read-streams" ];
+  by-spec."opts"."^1.2.1" =
+    self.by-version."opts"."1.2.2";
+  by-version."opts"."1.2.2" = self.buildNodePackage {
+    name = "opts-1.2.2";
+    version = "1.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/opts/-/opts-1.2.2.tgz";
+      name = "opts-1.2.2.tgz";
+      sha1 = "81782b93014a1cd88d56c226643fd4282473853d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."orchestrator"."^0.3.0" =
+    self.by-version."orchestrator"."0.3.7";
+  by-version."orchestrator"."0.3.7" = self.buildNodePackage {
+    name = "orchestrator-0.3.7";
+    version = "0.3.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz";
+      name = "orchestrator-0.3.7.tgz";
+      sha1 = "c45064e22c5a2a7b99734f409a95ffedc7d3c3df";
+    };
+    deps = {
+      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
+      "sequencify-0.0.7" = self.by-version."sequencify"."0.0.7";
+      "stream-consume-0.1.0" = self.by-version."stream-consume"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ordered-read-streams"."^0.1.0" =
+    self.by-version."ordered-read-streams"."0.1.0";
+  by-version."ordered-read-streams"."0.1.0" = self.buildNodePackage {
+    name = "ordered-read-streams-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz";
+      name = "ordered-read-streams-0.1.0.tgz";
+      sha1 = "fd565a9af8eb4473ba69b6ed8a34352cb552f126";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."os-browserify"."~0.1.1" =
     self.by-version."os-browserify"."0.1.2";
-  by-version."os-browserify"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-os-browserify-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz";
-        name = "os-browserify-0.1.2.tgz";
-        sha1 = "49ca0293e0b19590a5f5de10c7f265a617d8fe54";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."os-browserify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "os-browserify" ];
+  by-version."os-browserify"."0.1.2" = self.buildNodePackage {
+    name = "os-browserify-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz";
+      name = "os-browserify-0.1.2.tgz";
+      sha1 = "49ca0293e0b19590a5f5de10c7f265a617d8fe54";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."os-browserify"."~0.1.2" =
+    self.by-version."os-browserify"."0.1.2";
+  by-spec."os-name"."^1.0.0" =
+    self.by-version."os-name"."1.0.3";
+  by-version."os-name"."1.0.3" = self.buildNodePackage {
+    name = "os-name-1.0.3";
+    version = "1.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz";
+      name = "os-name-1.0.3.tgz";
+      sha1 = "1b379f64835af7c5a7f498b357cb95215c159edf";
+    };
+    deps = {
+      "osx-release-1.0.0" = self.by-version."osx-release"."1.0.0";
+      "win-release-1.0.0" = self.by-version."win-release"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."osenv"."0" =
     self.by-version."osenv"."0.1.0";
-  by-version."osenv"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-osenv-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz";
-        name = "osenv-0.1.0.tgz";
-        sha1 = "61668121eec584955030b9f470b1d2309504bfcb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."osenv" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "osenv" ];
+  by-version."osenv"."0.1.0" = self.buildNodePackage {
+    name = "osenv-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz";
+      name = "osenv-0.1.0.tgz";
+      sha1 = "61668121eec584955030b9f470b1d2309504bfcb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."osenv"."0.0.3" =
     self.by-version."osenv"."0.0.3";
-  by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-osenv-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        name = "osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."osenv" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "osenv" ];
-  };
+  by-version."osenv"."0.0.3" = self.buildNodePackage {
+    name = "osenv-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
+      name = "osenv-0.0.3.tgz";
+      sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."osenv"."0.1.0" =
+    self.by-version."osenv"."0.1.0";
   by-spec."osenv"."^0.1.0" =
     self.by-version."osenv"."0.1.0";
   by-spec."osenv"."~0.1.0" =
     self.by-version."osenv"."0.1.0";
+  by-spec."osx-release"."^1.0.0" =
+    self.by-version."osx-release"."1.0.0";
+  by-version."osx-release"."1.0.0" = self.buildNodePackage {
+    name = "osx-release-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/osx-release/-/osx-release-1.0.0.tgz";
+      name = "osx-release-1.0.0.tgz";
+      sha1 = "02bee80f3b898aaa88922d2f86e178605974beac";
+    };
+    deps = {
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."osx-trash"."^1.0.0" =
+    self.by-version."osx-trash"."1.0.0";
+  by-version."osx-trash"."1.0.0" = self.buildNodePackage {
+    name = "osx-trash-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/osx-trash/-/osx-trash-1.0.0.tgz";
+      name = "osx-trash-1.0.0.tgz";
+      sha1 = "be846a528b8d98e02a920f788857838d57d601d5";
+    };
+    deps = {
+      "escape-string-applescript-1.0.0" = self.by-version."escape-string-applescript"."1.0.0";
+      "run-applescript-1.0.1" = self.by-version."run-applescript"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."owl-deepcopy"."*" =
     self.by-version."owl-deepcopy"."0.0.4";
-  by-version."owl-deepcopy"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-owl-deepcopy-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.4.tgz";
-        name = "owl-deepcopy-0.0.4.tgz";
-        sha1 = "665f3aeafab74302d98ecaeeb7b3e764ae21f369";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."owl-deepcopy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "owl-deepcopy" ];
+  by-version."owl-deepcopy"."0.0.4" = self.buildNodePackage {
+    name = "owl-deepcopy-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.4.tgz";
+      name = "owl-deepcopy-0.0.4.tgz";
+      sha1 = "665f3aeafab74302d98ecaeeb7b3e764ae21f369";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.4";
   by-spec."owl-deepcopy"."~0.0.1" =
     self.by-version."owl-deepcopy"."0.0.4";
+  by-spec."p-throttler"."0.1.0" =
+    self.by-version."p-throttler"."0.1.0";
+  by-version."p-throttler"."0.1.0" = self.buildNodePackage {
+    name = "p-throttler-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/p-throttler/-/p-throttler-0.1.0.tgz";
+      name = "p-throttler-0.1.0.tgz";
+      sha1 = "1b16907942c333e6f1ddeabcb3479204b8c417c4";
+    };
+    deps = {
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pac-proxy-agent"."0" =
+    self.by-version."pac-proxy-agent"."0.2.0";
+  by-version."pac-proxy-agent"."0.2.0" = self.buildNodePackage {
+    name = "pac-proxy-agent-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-0.2.0.tgz";
+      name = "pac-proxy-agent-0.2.0.tgz";
+      sha1 = "ad902909d92f4fe7cc2e5f59f5bf5061bcfa71b2";
+    };
+    deps = {
+      "agent-base-1.0.1" = self.by-version."agent-base"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "pac-resolver-1.2.6" = self.by-version."pac-resolver"."1.2.6";
+      "proxy-agent-1.1.0" = self.by-version."proxy-agent"."1.1.0";
+      "get-uri-0.1.3" = self.by-version."get-uri"."0.1.3";
+      "stream-to-array-1.0.0" = self.by-version."stream-to-array"."1.0.0";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pac-resolver"."~1.2.1" =
+    self.by-version."pac-resolver"."1.2.6";
+  by-version."pac-resolver"."1.2.6" = self.buildNodePackage {
+    name = "pac-resolver-1.2.6";
+    version = "1.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pac-resolver/-/pac-resolver-1.2.6.tgz";
+      name = "pac-resolver-1.2.6.tgz";
+      sha1 = "ed03af0c5b5933505bdd3f07f75175466d5e7cfb";
+    };
+    deps = {
+      "co-3.0.6" = self.by-version."co"."3.0.6";
+      "netmask-1.0.5" = self.by-version."netmask"."1.0.5";
+      "degenerator-1.0.0" = self.by-version."degenerator"."1.0.0";
+      "regenerator-0.8.14" = self.by-version."regenerator"."0.8.14";
+      "thunkify-2.1.2" = self.by-version."thunkify"."2.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."package-json"."^0.2.0" =
+    self.by-version."package-json"."0.2.0";
+  by-version."package-json"."0.2.0" = self.buildNodePackage {
+    name = "package-json-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/package-json/-/package-json-0.2.0.tgz";
+      name = "package-json-0.2.0.tgz";
+      sha1 = "0316e177b8eb149985d34f706b4a5543b274bec5";
+    };
+    deps = {
+      "got-0.3.0" = self.by-version."got"."0.3.0";
+      "registry-url-0.1.1" = self.by-version."registry-url"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."package-json"."^1.0.0" =
+    self.by-version."package-json"."1.1.0";
+  by-version."package-json"."1.1.0" = self.buildNodePackage {
+    name = "package-json-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/package-json/-/package-json-1.1.0.tgz";
+      name = "package-json-1.1.0.tgz";
+      sha1 = "32b427c626385ccce180dc73a66d94f35f545e4b";
+    };
+    deps = {
+      "got-2.4.0" = self.by-version."got"."2.4.0";
+      "registry-url-3.0.0" = self.by-version."registry-url"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pad"."0.0.5" =
+    self.by-version."pad"."0.0.5";
+  by-version."pad"."0.0.5" = self.buildNodePackage {
+    name = "pad-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pad/-/pad-0.0.5.tgz";
+      name = "pad-0.0.5.tgz";
+      sha1 = "2219ab4db2ac74549a676164bc475d68cb87de05";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."pako"."~0.2.0" =
     self.by-version."pako"."0.2.5";
-  by-version."pako"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pako-0.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pako/-/pako-0.2.5.tgz";
-        name = "pako-0.2.5.tgz";
-        sha1 = "36df19467a3879152e9adcc44784f07d0a80c525";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pako" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pako" ];
+  by-version."pako"."0.2.5" = self.buildNodePackage {
+    name = "pako-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pako/-/pako-0.2.5.tgz";
+      name = "pako-0.2.5.tgz";
+      sha1 = "36df19467a3879152e9adcc44784f07d0a80c525";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parents"."0.0.2" =
+    self.by-version."parents"."0.0.2";
+  by-version."parents"."0.0.2" = self.buildNodePackage {
+    name = "parents-0.0.2";
+    version = "0.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parents/-/parents-0.0.2.tgz";
+      name = "parents-0.0.2.tgz";
+      sha1 = "67147826e497d40759aaf5ba4c99659b6034d302";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."parents"."^1.0.0" =
-    self.by-version."parents"."1.0.0";
-  by-version."parents"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "parents-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parents/-/parents-1.0.0.tgz";
-        name = "parents-1.0.0.tgz";
-        sha1 = "05726fdb61b60d8c9e3d5d9c595aa78c881c8479";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parents" or []);
-    deps = [
-      self.by-version."path-platform"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parents" ];
-  };
+    self.by-version."parents"."1.0.1";
+  by-version."parents"."1.0.1" = self.buildNodePackage {
+    name = "parents-1.0.1";
+    version = "1.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parents/-/parents-1.0.1.tgz";
+      name = "parents-1.0.1.tgz";
+      sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751";
+    };
+    deps = {
+      "path-platform-0.11.15" = self.by-version."path-platform"."0.11.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parents"."^1.0.1" =
+    self.by-version."parents"."1.0.1";
   by-spec."parents"."~0.0.1" =
     self.by-version."parents"."0.0.3";
-  by-version."parents"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-version."parents"."0.0.3" = self.buildNodePackage {
     name = "parents-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parents/-/parents-0.0.3.tgz";
-        name = "parents-0.0.3.tgz";
-        sha1 = "fa212f024d9fa6318dbb6b4ce676c8be493b9c43";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parents" or []);
-    deps = [
-      self.by-version."path-platform"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parents" ];
+    version = "0.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parents/-/parents-0.0.3.tgz";
+      name = "parents-0.0.3.tgz";
+      sha1 = "fa212f024d9fa6318dbb6b4ce676c8be493b9c43";
+    };
+    deps = {
+      "path-platform-0.0.1" = self.by-version."path-platform"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parse-asn1"."^2.0.0" =
+    self.by-version."parse-asn1"."2.0.0";
+  by-version."parse-asn1"."2.0.0" = self.buildNodePackage {
+    name = "parse-asn1-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parse-asn1/-/parse-asn1-2.0.0.tgz";
+      name = "parse-asn1-2.0.0.tgz";
+      sha1 = "c8cbc588abc91ade087c02ecbdfd7b66d9a8405f";
+    };
+    deps = {
+      "asn1.js-1.0.3" = self.by-version."asn1.js"."1.0.3";
+      "asn1.js-rfc3280-1.0.0" = self.by-version."asn1.js-rfc3280"."1.0.0";
+      "pemstrip-0.0.1" = self.by-version."pemstrip"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parse-torrent"."^1.4.0" =
+    self.by-version."parse-torrent"."1.7.0";
+  by-version."parse-torrent"."1.7.0" = self.buildNodePackage {
+    name = "parse-torrent-1.7.0";
+    version = "1.7.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parse-torrent/-/parse-torrent-1.7.0.tgz";
+      name = "parse-torrent-1.7.0.tgz";
+      sha1 = "f64d09d2efa05f7a9e89378d041a63d9ca1e47d2";
+    };
+    deps = {
+      "bencode-0.6.0" = self.by-version."bencode"."0.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parse-torrent"."~1.0.0" =
+    self.by-version."parse-torrent"."1.0.0";
+  by-version."parse-torrent"."1.0.0" = self.buildNodePackage {
+    name = "parse-torrent-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parse-torrent/-/parse-torrent-1.0.0.tgz";
+      name = "parse-torrent-1.0.0.tgz";
+      sha1 = "5a47a038c5db161b7b67b0534636194e1c8907a2";
+    };
+    deps = {
+      "bncode-0.5.3" = self.by-version."bncode"."0.5.3";
+      "rusha-browserify-0.7.3" = self.by-version."rusha-browserify"."0.7.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parsejson"."0.0.1" =
+    self.by-version."parsejson"."0.0.1";
+  by-version."parsejson"."0.0.1" = self.buildNodePackage {
+    name = "parsejson-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz";
+      name = "parsejson-0.0.1.tgz";
+      sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseqs"."0.0.2" =
+    self.by-version."parseqs"."0.0.2";
+  by-version."parseqs"."0.0.2" = self.buildNodePackage {
+    name = "parseqs-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz";
+      name = "parseqs-0.0.2.tgz";
+      sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseuri"."0.0.2" =
+    self.by-version."parseuri"."0.0.2";
+  by-version."parseuri"."0.0.2" = self.buildNodePackage {
+    name = "parseuri-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz";
+      name = "parseuri-0.0.2.tgz";
+      sha1 = "db41878f2d6964718be870b3140973d8093be156";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."parseurl"."1.0.1" =
     self.by-version."parseurl"."1.0.1";
-  by-version."parseurl"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz";
-        name = "parseurl-1.0.1.tgz";
-        sha1 = "2e57dce6efdd37c3518701030944c22bf388b7b4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
+  by-version."parseurl"."1.0.1" = self.buildNodePackage {
+    name = "parseurl-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz";
+      name = "parseurl-1.0.1.tgz";
+      sha1 = "2e57dce6efdd37c3518701030944c22bf388b7b4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."parseurl"."~1.1.3" =
     self.by-version."parseurl"."1.1.3";
-  by-version."parseurl"."1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.1.3.tgz";
-        name = "parseurl-1.1.3.tgz";
-        sha1 = "1f005738ac71b417bc2d0845cbdfa2a8b63ea639";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."parseurl"."~1.2.0" =
-    self.by-version."parseurl"."1.2.0";
-  by-version."parseurl"."1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.2.0.tgz";
-        name = "parseurl-1.2.0.tgz";
-        sha1 = "be7df2d698eb49ffb10ea62939693e152991c008";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
+  by-version."parseurl"."1.1.3" = self.buildNodePackage {
+    name = "parseurl-1.1.3";
+    version = "1.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.1.3.tgz";
+      name = "parseurl-1.1.3.tgz";
+      sha1 = "1f005738ac71b417bc2d0845cbdfa2a8b63ea639";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."parseurl"."~1.3.0" =
     self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-parseurl-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
-        name = "parseurl-1.3.0.tgz";
-        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
+  by-version."parseurl"."1.3.0" = self.buildNodePackage {
+    name = "parseurl-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+      name = "parseurl-1.3.0.tgz";
+      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parsoid"."*" =
+    self.by-version."parsoid"."0.2.0";
+  by-version."parsoid"."0.2.0" = self.buildNodePackage {
+    name = "parsoid-0.2.0";
+    version = "0.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parsoid/-/parsoid-0.2.0.tgz";
+      name = "parsoid-0.2.0.tgz";
+      sha1 = "6b32e8246d1e477d00fcf3b25b79fbd9b1223069";
+    };
+    deps = {
+      "alea-0.0.9" = self.by-version."alea"."0.0.9";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "bunyan-1.0.1" = self.by-version."bunyan"."1.0.1";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "domino-1.0.18" = self.by-version."domino"."1.0.18";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+      "es6-shim-0.16.0" = self.by-version."es6-shim"."0.16.0";
+      "express-2.5.11" = self.by-version."express"."2.5.11";
+      "gelf-stream-0.2.4" = self.by-version."gelf-stream"."0.2.4";
+      "handlebars-1.3.0" = self.by-version."handlebars"."1.3.0";
+      "html5-1.0.5" = self.by-version."html5"."1.0.5";
+      "html5-entities-1.0.0" = self.by-version."html5-entities"."1.0.0";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "pegjs-0.8.0" = self.by-version."pegjs"."0.8.0";
+      "prfun-1.0.2" = self.by-version."prfun"."1.0.2";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
+      "simplediff-0.1.1" = self.by-version."simplediff"."0.1.1";
+      "yargs-1.3.3" = self.by-version."yargs"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "parsoid" = self.by-version."parsoid"."0.2.0";
   by-spec."passport"."*" =
-    self.by-version."passport"."0.2.0";
-  by-version."passport"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.2.0.tgz";
-        name = "passport-0.2.0.tgz";
-        sha1 = "ae5ebc5611300d51fdc44032c7ca442a548dbca5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport" or []);
-    deps = [
-      self.by-version."passport-strategy"."1.0.0"
-      self.by-version."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
+    self.by-version."passport"."0.2.1";
+  by-version."passport"."0.2.1" = self.buildNodePackage {
+    name = "passport-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport/-/passport-0.2.1.tgz";
+      name = "passport-0.2.1.tgz";
+      sha1 = "a7d34c07b30fb605be885edbc8c93e5142e38574";
+    };
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "passport" = self.by-version."passport"."0.2.1";
+  by-spec."passport"."0.2.1" =
+    self.by-version."passport"."0.2.1";
+  by-spec."passport".">=0.1.15" =
+    self.by-version."passport"."0.2.1";
+  by-spec."passport"."~0.1.1" =
+    self.by-version."passport"."0.1.18";
+  by-version."passport"."0.1.18" = self.buildNodePackage {
+    name = "passport-0.1.18";
+    version = "0.1.18";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport/-/passport-0.1.18.tgz";
+      name = "passport-0.1.18.tgz";
+      sha1 = "c8264479dcb6414cadbb66752d12b37e0b6525a1";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "pause-0.0.1" = self.by-version."pause"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "passport" = self.by-version."passport"."0.2.0";
   by-spec."passport"."~0.1.3" =
     self.by-version."passport"."0.1.18";
-  by-version."passport"."0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.18.tgz";
-        name = "passport-0.1.18.tgz";
-        sha1 = "c8264479dcb6414cadbb66752d12b37e0b6525a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport" or []);
-    deps = [
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  by-spec."passport"."~0.2.0" =
-    self.by-version."passport"."0.2.0";
+  by-spec."passport"."~0.2.1" =
+    self.by-version."passport"."0.2.1";
+  by-spec."passport-bitly"."git://github.com/simov/passport-bitly.git" =
+    self.by-version."passport-bitly"."0.1.0";
+  by-version."passport-bitly"."0.1.0" = self.buildNodePackage {
+    name = "passport-bitly-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchgit {
+      url = "git://github.com/simov/passport-bitly.git";
+      rev = "838ce018873eb4b8bb23331216c78e2822c6493f";
+      sha256 = "7cb69e2ca9ef5cf47fecf0d669f15c0366174183ec0c7623ad5a619365c36e8a";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-dropbox".">=0.1.2" =
+    self.by-version."passport-dropbox"."0.1.2";
+  by-version."passport-dropbox"."0.1.2" = self.buildNodePackage {
+    name = "passport-dropbox-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-dropbox/-/passport-dropbox-0.1.2.tgz";
+      name = "passport-dropbox-0.1.2.tgz";
+      sha1 = "19149539d88895ce4627e166ddc8009239f58010";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-evernote"."^0.1.1" =
+    self.by-version."passport-evernote"."0.1.1";
+  by-version."passport-evernote"."0.1.1" = self.buildNodePackage {
+    name = "passport-evernote-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-evernote/-/passport-evernote-0.1.1.tgz";
+      name = "passport-evernote-0.1.1.tgz";
+      sha1 = "10e097affa7e7520358d9ea26f34f1cce176adc2";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-facebook".">=0.1.5" =
+    self.by-version."passport-facebook"."1.0.3";
+  by-version."passport-facebook"."1.0.3" = self.buildNodePackage {
+    name = "passport-facebook-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-facebook/-/passport-facebook-1.0.3.tgz";
+      name = "passport-facebook-1.0.3.tgz";
+      sha1 = "82a95aab0017ab190b815ab1e64ab75482eacdc7";
+    };
+    deps = {
+      "passport-oauth2-1.1.2" = self.by-version."passport-oauth2"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-flickr".">=0.1.1" =
+    self.by-version."passport-flickr"."0.2.0";
+  by-version."passport-flickr"."0.2.0" = self.buildNodePackage {
+    name = "passport-flickr-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-flickr/-/passport-flickr-0.2.0.tgz";
+      name = "passport-flickr-0.2.0.tgz";
+      sha1 = "9f3a77eac4b48a9e2109df12e544114b42960c5c";
+    };
+    deps = {
+      "passport-oauth-1.0.0" = self.by-version."passport-oauth"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-github".">=0.1.5" =
+    self.by-version."passport-github"."0.1.5";
+  by-version."passport-github"."0.1.5" = self.buildNodePackage {
+    name = "passport-github-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-github/-/passport-github-0.1.5.tgz";
+      name = "passport-github-0.1.5.tgz";
+      sha1 = "258ebb75af40cdc4e3af11be3a138b75c1f865c1";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-google-oauth"."*" =
+    self.by-version."passport-google-oauth"."0.1.5";
+  by-version."passport-google-oauth"."0.1.5" = self.buildNodePackage {
+    name = "passport-google-oauth-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-google-oauth/-/passport-google-oauth-0.1.5.tgz";
+      name = "passport-google-oauth-0.1.5.tgz";
+      sha1 = "fd6b48cf9b20283721c7636e91d094c16a8671d7";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-google-oauth".">=0.1.5" =
+    self.by-version."passport-google-oauth"."0.1.5";
   by-spec."passport-http"."*" =
     self.by-version."passport-http"."0.2.2";
-  by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-http-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
-        name = "passport-http-0.2.2.tgz";
-        sha1 = "2501314c0ff4a831e8a51ccfdb1b68f5c7cbc9f6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport-http" or []);
-    deps = [
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."passport"."0.1.18"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport-http" ];
+  by-version."passport-http"."0.2.2" = self.buildNodePackage {
+    name = "passport-http-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
+      name = "passport-http-0.2.2.tgz";
+      sha1 = "2501314c0ff4a831e8a51ccfdb1b68f5c7cbc9f6";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-0.1.18" = self.by-version."passport"."0.1.18";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "passport-http" = self.by-version."passport-http"."0.2.2";
+  by-spec."passport-http-bearer"."1.0.1" =
+    self.by-version."passport-http-bearer"."1.0.1";
+  by-version."passport-http-bearer"."1.0.1" = self.buildNodePackage {
+    name = "passport-http-bearer-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-http-bearer/-/passport-http-bearer-1.0.1.tgz";
+      name = "passport-http-bearer-1.0.1.tgz";
+      sha1 = "147469ea3669e2a84c6167ef99dbb77e1f0098a8";
+    };
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-imgur".">=0.0.1" =
+    self.by-version."passport-imgur"."0.0.2";
+  by-version."passport-imgur"."0.0.2" = self.buildNodePackage {
+    name = "passport-imgur-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-imgur/-/passport-imgur-0.0.2.tgz";
+      name = "passport-imgur-0.0.2.tgz";
+      sha1 = "81d1d7049f3f83b71d04f4eb08627659b07e58b0";
+    };
+    deps = {
+      "passport-oauth-1.0.0" = self.by-version."passport-oauth"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-instagram".">=0.1.2" =
+    self.by-version."passport-instagram"."0.1.2";
+  by-version."passport-instagram"."0.1.2" = self.buildNodePackage {
+    name = "passport-instagram-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-instagram/-/passport-instagram-0.1.2.tgz";
+      name = "passport-instagram-0.1.2.tgz";
+      sha1 = "a1c84525330eed8a05d3ecfec3bf56caa895cfd6";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."passport-local"."*" =
     self.by-version."passport-local"."1.0.0";
-  by-version."passport-local"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-local-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz";
-        name = "passport-local-1.0.0.tgz";
-        sha1 = "1fe63268c92e75606626437e3b906662c15ba6ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport-local" or []);
-    deps = [
-      self.by-version."passport-strategy"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport-local" ];
+  by-version."passport-local"."1.0.0" = self.buildNodePackage {
+    name = "passport-local-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz";
+      name = "passport-local-1.0.0.tgz";
+      sha1 = "1fe63268c92e75606626437e3b906662c15ba6ee";
+    };
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "passport-local" = self.by-version."passport-local"."1.0.0";
   by-spec."passport-local"."~1.0.0" =
     self.by-version."passport-local"."1.0.0";
+  by-spec."passport-mailchimp".">=0.0.1" =
+    self.by-version."passport-mailchimp"."0.0.1";
+  by-version."passport-mailchimp"."0.0.1" = self.buildNodePackage {
+    name = "passport-mailchimp-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-mailchimp/-/passport-mailchimp-0.0.1.tgz";
+      name = "passport-mailchimp-0.0.1.tgz";
+      sha1 = "24f78c6926d2fa684ee7aa51cfb1b2b11f3fe4ac";
+    };
+    deps = {
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-mixcloud".">=0.0.1" =
+    self.by-version."passport-mixcloud"."0.0.2";
+  by-version."passport-mixcloud"."0.0.2" = self.buildNodePackage {
+    name = "passport-mixcloud-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-mixcloud/-/passport-mixcloud-0.0.2.tgz";
+      name = "passport-mixcloud-0.0.2.tgz";
+      sha1 = "b216bcb0cbc605ec5dac87e65387d456768346c1";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+      "passport-mixcloud-0.0.2" = self.by-version."passport-mixcloud"."0.0.2";
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-oauth"."0.1.x" =
+    self.by-version."passport-oauth"."0.1.15";
+  by-version."passport-oauth"."0.1.15" = self.buildNodePackage {
+    name = "passport-oauth-0.1.15";
+    version = "0.1.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-oauth/-/passport-oauth-0.1.15.tgz";
+      name = "passport-oauth-0.1.15.tgz";
+      sha1 = "fb74e0afe84614bfa256c5fc716cc56bbfc8cec0";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-0.1.18" = self.by-version."passport"."0.1.18";
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-oauth".">= 0.1.0" =
+    self.by-version."passport-oauth"."1.0.0";
+  by-version."passport-oauth"."1.0.0" = self.buildNodePackage {
+    name = "passport-oauth-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-oauth/-/passport-oauth-1.0.0.tgz";
+      name = "passport-oauth-1.0.0.tgz";
+      sha1 = "90aff63387540f02089af28cdad39ea7f80d77df";
+    };
+    deps = {
+      "passport-oauth1-1.0.1" = self.by-version."passport-oauth1"."1.0.1";
+      "passport-oauth2-1.1.2" = self.by-version."passport-oauth2"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-oauth"."~0.1.1" =
+    self.by-version."passport-oauth"."0.1.15";
+  by-spec."passport-oauth"."~0.1.15" =
+    self.by-version."passport-oauth"."0.1.15";
+  by-spec."passport-oauth"."~0.1.4" =
+    self.by-version."passport-oauth"."0.1.15";
+  by-spec."passport-oauth1"."1.x.x" =
+    self.by-version."passport-oauth1"."1.0.1";
+  by-version."passport-oauth1"."1.0.1" = self.buildNodePackage {
+    name = "passport-oauth1-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-oauth1/-/passport-oauth1-1.0.1.tgz";
+      name = "passport-oauth1-1.0.1.tgz";
+      sha1 = "41ade140b881392b144cbdd426095c035a91ad9c";
+    };
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-oauth2"."1.x.x" =
+    self.by-version."passport-oauth2"."1.1.2";
+  by-version."passport-oauth2"."1.1.2" = self.buildNodePackage {
+    name = "passport-oauth2-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.1.2.tgz";
+      name = "passport-oauth2-1.1.2.tgz";
+      sha1 = "bd7163b1b6090371868dc4ef6f9f2e1e4cc4b948";
+    };
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-oauth2-client-password"."0.1.2" =
+    self.by-version."passport-oauth2-client-password"."0.1.2";
+  by-version."passport-oauth2-client-password"."0.1.2" = self.buildNodePackage {
+    name = "passport-oauth2-client-password-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-oauth2-client-password/-/passport-oauth2-client-password-0.1.2.tgz";
+      name = "passport-oauth2-client-password-0.1.2.tgz";
+      sha1 = "4f378b678b92d16dbbd233a6c706520093e561ba";
+    };
+    deps = {
+      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-soundcloud".">=0.1.2" =
+    self.by-version."passport-soundcloud"."0.1.2";
+  by-version."passport-soundcloud"."0.1.2" = self.buildNodePackage {
+    name = "passport-soundcloud-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-soundcloud/-/passport-soundcloud-0.1.2.tgz";
+      name = "passport-soundcloud-0.1.2.tgz";
+      sha1 = "4ecf4b42b3e7d9641b78b9181aae6b75127beb21";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."passport-strategy"."1.x.x" =
     self.by-version."passport-strategy"."1.0.0";
-  by-version."passport-strategy"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-passport-strategy-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
-        name = "passport-strategy-1.0.0.tgz";
-        sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport-strategy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport-strategy" ];
+  by-version."passport-strategy"."1.0.0" = self.buildNodePackage {
+    name = "passport-strategy-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
+      name = "passport-strategy-1.0.0.tgz";
+      sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-trello"."~0.1.4" =
+    self.by-version."passport-trello"."0.1.4";
+  by-version."passport-trello"."0.1.4" = self.buildNodePackage {
+    name = "passport-trello-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-trello/-/passport-trello-0.1.4.tgz";
+      name = "passport-trello-0.1.4.tgz";
+      sha1 = "c0aeeaa4dd598f99e129cb83b97950f672519442";
+    };
+    deps = {
+      "passport-oauth-1.0.0" = self.by-version."passport-oauth"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-twitter".">=0.1.4" =
+    self.by-version."passport-twitter"."1.0.2";
+  by-version."passport-twitter"."1.0.2" = self.buildNodePackage {
+    name = "passport-twitter-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-twitter/-/passport-twitter-1.0.2.tgz";
+      name = "passport-twitter-1.0.2.tgz";
+      sha1 = "6bfe5f9ec259dc363991b0be3cee94bfe4853d2b";
+    };
+    deps = {
+      "passport-oauth1-1.0.1" = self.by-version."passport-oauth1"."1.0.1";
+      "xtraverse-0.1.0" = self.by-version."xtraverse"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."passport-wordpress".">=0.0.1" =
+    self.by-version."passport-wordpress"."0.0.3";
+  by-version."passport-wordpress"."0.0.3" = self.buildNodePackage {
+    name = "passport-wordpress-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/passport-wordpress/-/passport-wordpress-0.0.3.tgz";
+      name = "passport-wordpress-0.0.3.tgz";
+      sha1 = "fa3b144c7c5a4c967a5f5f383139d515a95a7988";
+    };
+    deps = {
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."path-browserify"."0.0.0" =
+    self.by-version."path-browserify"."0.0.0";
+  by-version."path-browserify"."0.0.0" = self.buildNodePackage {
+    name = "path-browserify-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
+      name = "path-browserify-0.0.0.tgz";
+      sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."path-browserify"."~0.0.0" =
     self.by-version."path-browserify"."0.0.0";
-  by-version."path-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-browserify-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
-        name = "path-browserify-0.0.0.tgz";
-        sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-browserify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-browserify" ];
+  by-spec."path-is-inside"."^1.0.1" =
+    self.by-version."path-is-inside"."1.0.1";
+  by-version."path-is-inside"."1.0.1" = self.buildNodePackage {
+    name = "path-is-inside-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz";
+      name = "path-is-inside-1.0.1.tgz";
+      sha1 = "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."path-is-inside"."~1.0.0" =
     self.by-version."path-is-inside"."1.0.1";
-  by-version."path-is-inside"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-is-inside-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz";
-        name = "path-is-inside-1.0.1.tgz";
-        sha1 = "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-is-inside" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-is-inside" ];
-  };
   by-spec."path-platform"."^0.0.1" =
     self.by-version."path-platform"."0.0.1";
-  by-version."path-platform"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-platform-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz";
-        name = "path-platform-0.0.1.tgz";
-        sha1 = "b5585d7c3c463d89aa0060d86611cf1afd617e2a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-platform" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-platform" ];
-  };
-  by-spec."path-to-regexp"."0.1.2" =
-    self.by-version."path-to-regexp"."0.1.2";
-  by-version."path-to-regexp"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-to-regexp-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.tgz";
-        name = "path-to-regexp-0.1.2.tgz";
-        sha1 = "9b2b151f9cc3018c9eea50ca95729e05781712b4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-to-regexp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-to-regexp" ];
+  by-version."path-platform"."0.0.1" = self.buildNodePackage {
+    name = "path-platform-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz";
+      name = "path-platform-0.0.1.tgz";
+      sha1 = "b5585d7c3c463d89aa0060d86611cf1afd617e2a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."path-platform"."~0.11.15" =
+    self.by-version."path-platform"."0.11.15";
+  by-version."path-platform"."0.11.15" = self.buildNodePackage {
+    name = "path-platform-0.11.15";
+    version = "0.11.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz";
+      name = "path-platform-0.11.15.tgz";
+      sha1 = "e864217f74c36850f0852b78dc7bf7d4a5721bf2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."path-proxy"."~1.0" =
+    self.by-version."path-proxy"."1.0.0";
+  by-version."path-proxy"."1.0.0" = self.buildNodePackage {
+    name = "path-proxy-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz";
+      name = "path-proxy-1.0.0.tgz";
+      sha1 = "18e8a36859fc9d2f1a53b48dee138543c020de5e";
+    };
+    deps = {
+      "inflection-1.3.8" = self.by-version."inflection"."1.3.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."path-to-regexp"."0.1.3" =
     self.by-version."path-to-regexp"."0.1.3";
-  by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-path-to-regexp-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
-        name = "path-to-regexp-0.1.3.tgz";
-        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-to-regexp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-to-regexp" ];
+  by-version."path-to-regexp"."0.1.3" = self.buildNodePackage {
+    name = "path-to-regexp-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+      name = "path-to-regexp-0.1.3.tgz";
+      sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."pause"."0.0.1" =
     self.by-version."pause"."0.0.1";
-  by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pause-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-        name = "pause-0.0.1.tgz";
-        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pause" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pause" ];
+  by-version."pause"."0.0.1" = self.buildNodePackage {
+    name = "pause-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+      name = "pause-0.0.1.tgz";
+      sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pbkdf2-compat"."2.0.1" =
+    self.by-version."pbkdf2-compat"."2.0.1";
+  by-version."pbkdf2-compat"."2.0.1" = self.buildNodePackage {
+    name = "pbkdf2-compat-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz";
+      name = "pbkdf2-compat-2.0.1.tgz";
+      sha1 = "b6e0c8fa99494d94e0511575802a59a5c142f288";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pbkdf2-compat"."^3.0.1" =
+    self.by-version."pbkdf2-compat"."3.0.2";
+  by-version."pbkdf2-compat"."3.0.2" = self.buildNodePackage {
+    name = "pbkdf2-compat-3.0.2";
+    version = "3.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-3.0.2.tgz";
+      name = "pbkdf2-compat-3.0.2.tgz";
+      sha1 = "0b207887e7d45467e9dd1027bbf1414e1f165291";
+    };
+    deps = {
+      "create-hmac-1.1.3" = self.by-version."create-hmac"."1.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."peer-wire-protocol"."^0.7.0" =
+    self.by-version."peer-wire-protocol"."0.7.0";
+  by-version."peer-wire-protocol"."0.7.0" = self.buildNodePackage {
+    name = "peer-wire-protocol-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/peer-wire-protocol/-/peer-wire-protocol-0.7.0.tgz";
+      name = "peer-wire-protocol-0.7.0.tgz";
+      sha1 = "6c015abf24b4877ed9eca3822b22d996078011da";
+    };
+    deps = {
+      "bitfield-0.1.0" = self.by-version."bitfield"."0.1.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "bncode-0.2.3" = self.by-version."bncode"."0.2.3";
+      "speedometer-0.1.4" = self.by-version."speedometer"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."peer-wire-swarm"."^0.9.0" =
+    self.by-version."peer-wire-swarm"."0.9.2";
+  by-version."peer-wire-swarm"."0.9.2" = self.buildNodePackage {
+    name = "peer-wire-swarm-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/peer-wire-swarm/-/peer-wire-swarm-0.9.2.tgz";
+      name = "peer-wire-swarm-0.9.2.tgz";
+      sha1 = "092848005607d8ca94e69f9bc9ebe52956ec3048";
+    };
+    deps = {
+      "peer-wire-protocol-0.7.0" = self.by-version."peer-wire-protocol"."0.7.0";
+      "fifo-0.1.4" = self.by-version."fifo"."0.1.4";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+      "speedometer-0.1.4" = self.by-version."speedometer"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."peer-wire-swarm"."^0.9.2" =
+    self.by-version."peer-wire-swarm"."0.9.2";
+  by-spec."peerflix"."*" =
+    self.by-version."peerflix"."0.25.2";
+  by-version."peerflix"."0.25.2" = self.buildNodePackage {
+    name = "peerflix-0.25.2";
+    version = "0.25.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/peerflix/-/peerflix-0.25.2.tgz";
+      name = "peerflix-0.25.2.tgz";
+      sha1 = "244997a977c881995a3acce7bd7511c3f4006467";
+    };
+    deps = {
+      "clivas-0.1.4" = self.by-version."clivas"."0.1.4";
+      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "network-address-0.0.5" = self.by-version."network-address"."0.0.5";
+      "numeral-1.5.3" = self.by-version."numeral"."1.5.3";
+      "open-0.0.5" = self.by-version."open"."0.0.5";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "pump-0.3.5" = self.by-version."pump"."0.3.5";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "rc-0.4.0" = self.by-version."rc"."0.4.0";
+      "read-torrent-1.2.0" = self.by-version."read-torrent"."1.2.0";
+      "torrent-stream-0.16.2" = self.by-version."torrent-stream"."0.16.2";
+      "windows-no-runnable-0.0.6" = self.by-version."windows-no-runnable"."0.0.6";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+      "airplay-js-0.2.12" = self.by-version."airplay-js"."0.2.12";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "peerflix" = self.by-version."peerflix"."0.25.2";
+  by-spec."peerflix"."^0.25.2" =
+    self.by-version."peerflix"."0.25.2";
+  by-spec."peerflix-server"."*" =
+    self.by-version."peerflix-server"."0.0.20";
+  by-version."peerflix-server"."0.0.20" = self.buildNodePackage {
+    name = "peerflix-server-0.0.20";
+    version = "0.0.20";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/peerflix-server/-/peerflix-server-0.0.20.tgz";
+      name = "peerflix-server-0.0.20.tgz";
+      sha1 = "b5545f7f0abf3f13b65bae00eecd344d9973d342";
+    };
+    deps = {
+      "connect-multiparty-1.2.5" = self.by-version."connect-multiparty"."1.2.5";
+      "express-3.5.3" = self.by-version."express"."3.5.3";
+      "fluent-ffmpeg-2.0.0-rc3" = self.by-version."fluent-ffmpeg"."2.0.0-rc3";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "pump-0.3.5" = self.by-version."pump"."0.3.5";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "read-torrent-1.0.0" = self.by-version."read-torrent"."1.0.0";
+      "socket.io-0.9.17" = self.by-version."socket.io"."0.9.17";
+      "torrent-stream-0.13.5" = self.by-version."torrent-stream"."0.13.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "peerflix-server" = self.by-version."peerflix-server"."0.0.20";
+  by-spec."pegjs"."0.6.2" =
+    self.by-version."pegjs"."0.6.2";
+  by-version."pegjs"."0.6.2" = self.buildNodePackage {
+    name = "pegjs-0.6.2";
+    version = "0.6.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pegjs/-/pegjs-0.6.2.tgz";
+      name = "pegjs-0.6.2.tgz";
+      sha1 = "74651f8a800e444db688e4eeae8edb65637a17a5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pegjs"."git+https://github.com/arlolra/pegjs#startOffset" =
+    self.by-version."pegjs"."0.8.0";
+  by-version."pegjs"."0.8.0" = self.buildNodePackage {
+    name = "pegjs-0.8.0";
+    version = "0.8.0";
+    bin = true;
+    src = fetchgit {
+      url = "https://github.com/arlolra/pegjs";
+      rev = "7ff7464d082dd96def08e8c14aadc6bc5e5a84ba";
+      sha256 = "36706b776a50ca1320cd5f7d4db2668d1567cccd43ee6a746e4d2c70552570e9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pemstrip"."0.0.1" =
+    self.by-version."pemstrip"."0.0.1";
+  by-version."pemstrip"."0.0.1" = self.buildNodePackage {
+    name = "pemstrip-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pemstrip/-/pemstrip-0.0.1.tgz";
+      name = "pemstrip-0.0.1.tgz";
+      sha1 = "39f7071720cfa13d542c9bde75f1fa5bf9d08806";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."phantomjs"."*" =
-    self.by-version."phantomjs"."1.9.7-15";
-  by-version."phantomjs"."1.9.7-15" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.7-15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz";
-        name = "phantomjs-1.9.7-15.tgz";
-        sha1 = "0b3a7ce630486a83be91ff4e832eee20e971115b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."phantomjs" or []);
-    deps = [
-      self.by-version."adm-zip"."0.2.1"
-      self.by-version."kew"."0.1.7"
-      self.by-version."ncp"."0.4.2"
-      self.by-version."npmconf"."0.0.24"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."progress"."1.1.8"
-      self.by-version."request"."2.36.0"
-      self.by-version."request-progress"."0.3.1"
-      self.by-version."rimraf"."2.2.8"
-      self.by-version."which"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "phantomjs" ];
-  };
-  "phantomjs" = self.by-version."phantomjs"."1.9.7-15";
+    self.by-version."phantomjs"."1.9.15";
+  by-version."phantomjs"."1.9.15" = self.buildNodePackage {
+    name = "phantomjs-1.9.15";
+    version = "1.9.15";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.15.tgz";
+      name = "phantomjs-1.9.15.tgz";
+      sha1 = "10032c8b36bd3541ecef953e764d5d177c33f72f";
+    };
+    deps = {
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "fs-extra-0.16.3" = self.by-version."fs-extra"."0.16.3";
+      "kew-0.4.0" = self.by-version."kew"."0.4.0";
+      "npmconf-2.0.9" = self.by-version."npmconf"."2.0.9";
+      "progress-1.1.8" = self.by-version."progress"."1.1.8";
+      "request-2.42.0" = self.by-version."request"."2.42.0";
+      "request-progress-0.3.1" = self.by-version."request-progress"."0.3.1";
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "phantomjs" = self.by-version."phantomjs"."1.9.15";
   by-spec."phantomjs"."~1.9.1" =
-    self.by-version."phantomjs"."1.9.7-15";
-  by-spec."phantomjs"."~1.9.7" =
-    self.by-version."phantomjs"."1.9.7-15";
+    self.by-version."phantomjs"."1.9.15";
+  by-spec."phantomjs"."~1.9.10" =
+    self.by-version."phantomjs"."1.9.15";
   by-spec."pkginfo"."0.2.x" =
     self.by-version."pkginfo"."0.2.3";
-  by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pkginfo-0.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
-        name = "pkginfo-0.2.3.tgz";
-        sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pkginfo" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pkginfo" ];
-  };
-  by-spec."pkginfo"."0.3.0" =
-    self.by-version."pkginfo"."0.3.0";
-  by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pkginfo-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        name = "pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pkginfo" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pkginfo" ];
+  by-version."pkginfo"."0.2.3" = self.buildNodePackage {
+    name = "pkginfo-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
+      name = "pkginfo-0.2.3.tgz";
+      sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."pkginfo"."0.3.x" =
     self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = self.buildNodePackage {
+    name = "pkginfo-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+      name = "pkginfo-0.3.0.tgz";
+      sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."pkginfo"."0.x.x" =
     self.by-version."pkginfo"."0.3.0";
+  by-spec."pkginfo"."~0.3.0" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."playerui"."^1.2.0" =
+    self.by-version."playerui"."1.2.0";
+  by-version."playerui"."1.2.0" = self.buildNodePackage {
+    name = "playerui-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/playerui/-/playerui-1.2.0.tgz";
+      name = "playerui-1.2.0.tgz";
+      sha1 = "2d59c8cb736e189cb2398cd809469ca47077f812";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "pad-0.0.5" = self.by-version."pad"."0.0.5";
+      "single-line-log-0.4.1" = self.by-version."single-line-log"."0.4.1";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."plist"."1.1.0" =
+    self.by-version."plist"."1.1.0";
+  by-version."plist"."1.1.0" = self.buildNodePackage {
+    name = "plist-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/plist/-/plist-1.1.0.tgz";
+      name = "plist-1.1.0.tgz";
+      sha1 = "ff6708590c97cc438e7bc45de5251bd725f3f89d";
+    };
+    deps = {
+      "base64-js-0.0.6" = self.by-version."base64-js"."0.0.6";
+      "xmlbuilder-2.2.1" = self.by-version."xmlbuilder"."2.2.1";
+      "xmldom-0.1.19" = self.by-version."xmldom"."0.1.19";
+      "util-deprecate-1.0.0" = self.by-version."util-deprecate"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."plist"."^1.0.1" =
+    self.by-version."plist"."1.1.0";
   by-spec."plist-native"."*" =
     self.by-version."plist-native"."0.3.1";
-  by-version."plist-native"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-plist-native-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/plist-native/-/plist-native-0.3.1.tgz";
-        name = "plist-native-0.3.1.tgz";
-        sha1 = "c9cd71ae2ac6aa16c315dde213c65d6cc53dee1a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."plist-native" or []);
-    deps = [
-      self.by-version."libxmljs"."0.10.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "plist-native" ];
+  by-version."plist-native"."0.3.1" = self.buildNodePackage {
+    name = "plist-native-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/plist-native/-/plist-native-0.3.1.tgz";
+      name = "plist-native-0.3.1.tgz";
+      sha1 = "c9cd71ae2ac6aa16c315dde213c65d6cc53dee1a";
+    };
+    deps = {
+      "libxmljs-0.10.0" = self.by-version."libxmljs"."0.10.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "plist-native" = self.by-version."plist-native"."0.3.1";
+  by-spec."plist-with-patches"."0.5.1" =
+    self.by-version."plist-with-patches"."0.5.1";
+  by-version."plist-with-patches"."0.5.1" = self.buildNodePackage {
+    name = "plist-with-patches-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/plist-with-patches/-/plist-with-patches-0.5.1.tgz";
+      name = "plist-with-patches-0.5.1.tgz";
+      sha1 = "868aae2e0df8989b026562b35cbc19cfd8bb780d";
+    };
+    deps = {
+      "xmlbuilder-0.4.3" = self.by-version."xmlbuilder"."0.4.3";
+      "xmldom-0.1.19" = self.by-version."xmldom"."0.1.19";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."policyfile"."0.0.4" =
     self.by-version."policyfile"."0.0.4";
-  by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-policyfile-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
-        name = "policyfile-0.0.4.tgz";
-        sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."policyfile" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "policyfile" ];
+  by-version."policyfile"."0.0.4" = self.buildNodePackage {
+    name = "policyfile-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
+      name = "policyfile-0.0.4.tgz";
+      sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pooling"."0.4.6" =
+    self.by-version."pooling"."0.4.6";
+  by-version."pooling"."0.4.6" = self.buildNodePackage {
+    name = "pooling-0.4.6";
+    version = "0.4.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pooling/-/pooling-0.4.6.tgz";
+      name = "pooling-0.4.6.tgz";
+      sha1 = "76a317371ea8a363b4858fa4799e60245f30e664";
+    };
+    deps = {
+      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "bunyan-0.22.1" = self.by-version."bunyan"."0.22.1";
+      "once-1.3.0" = self.by-version."once"."1.3.0";
+      "vasync-1.4.0" = self.by-version."vasync"."1.4.0";
+    };
+    optionalDependencies = {
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pop-iterate"."^1.0.1" =
+    self.by-version."pop-iterate"."1.0.1";
+  by-version."pop-iterate"."1.0.1" = self.buildNodePackage {
+    name = "pop-iterate-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz";
+      name = "pop-iterate-1.0.1.tgz";
+      sha1 = "ceacfdab4abf353d7a0f2aaa2c1fc7b3f9413ba3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."portfinder"."^0.2.1" =
+    self.by-version."portfinder"."0.2.1";
+  by-version."portfinder"."0.2.1" = self.buildNodePackage {
+    name = "portfinder-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/portfinder/-/portfinder-0.2.1.tgz";
+      name = "portfinder-0.2.1.tgz";
+      sha1 = "b2b9b0164f9e17fa3a9c7db2304d0a75140c71ad";
+    };
+    deps = {
+      "mkdirp-0.0.7" = self.by-version."mkdirp"."0.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."portfinder"."^0.3.0" =
+    self.by-version."portfinder"."0.3.0";
+  by-version."portfinder"."0.3.0" = self.buildNodePackage {
+    name = "portfinder-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/portfinder/-/portfinder-0.3.0.tgz";
+      name = "portfinder-0.3.0.tgz";
+      sha1 = "f9f2c96894440c5b5113b84e0ad1013042b7c2a0";
+    };
+    deps = {
+      "mkdirp-0.0.7" = self.by-version."mkdirp"."0.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."posix"."*" =
-    self.by-version."posix"."1.0.3";
-  by-version."posix"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-posix-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/posix/-/posix-1.0.3.tgz";
-        name = "posix-1.0.3.tgz";
-        sha1 = "f0efae90d59c56c4509c8f0ed222b421caa8188a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."posix" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "posix" ];
-  };
-  "posix" = self.by-version."posix"."1.0.3";
+    self.by-version."posix"."2.0.0";
+  by-version."posix"."2.0.0" = self.buildNodePackage {
+    name = "posix-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/posix/-/posix-2.0.0.tgz";
+      name = "posix-2.0.0.tgz";
+      sha1 = "90fd0ec73968d805c890b61ae6cc95ae5803a87d";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "posix" = self.by-version."posix"."2.0.0";
   by-spec."posix-getopt"."1.0.0" =
     self.by-version."posix-getopt"."1.0.0";
-  by-version."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-posix-getopt-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
-        name = "posix-getopt-1.0.0.tgz";
-        sha1 = "42a90eca6119014c78bc4b9b70463d294db1aa87";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."posix-getopt" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "posix-getopt" ];
-  };
-  by-spec."pretty-bytes"."^0.1.0" =
-    self.by-version."pretty-bytes"."0.1.2";
-  by-version."pretty-bytes"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "pretty-bytes-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz";
-        name = "pretty-bytes-0.1.2.tgz";
-        sha1 = "cd90294d58a1ca4e8a5d0fb9c8225998881acf00";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pretty-bytes" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pretty-bytes" ];
-  };
-  by-spec."process"."^0.7.0" =
-    self.by-version."process"."0.7.0";
-  by-version."process"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/process/-/process-0.7.0.tgz";
-        name = "process-0.7.0.tgz";
-        sha1 = "c52208161a34adf3812344ae85d3e6150469389d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."process" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "process" ];
-  };
+  by-version."posix-getopt"."1.0.0" = self.buildNodePackage {
+    name = "posix-getopt-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
+      name = "posix-getopt-1.0.0.tgz";
+      sha1 = "42a90eca6119014c78bc4b9b70463d294db1aa87";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."posix-getopt"."1.1.0" =
+    self.by-version."posix-getopt"."1.1.0";
+  by-version."posix-getopt"."1.1.0" = self.buildNodePackage {
+    name = "posix-getopt-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.1.0.tgz";
+      name = "posix-getopt-1.1.0.tgz";
+      sha1 = "8e258aca8f34d6906c159a32b0388360197e5698";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."prelude-ls"."~1.1.0" =
+    self.by-version."prelude-ls"."1.1.1";
+  by-version."prelude-ls"."1.1.1" = self.buildNodePackage {
+    name = "prelude-ls-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.1.tgz";
+      name = "prelude-ls-1.1.1.tgz";
+      sha1 = "c0b86c1ffd151ad3cc75e7e3fe38d7a1bf33728a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."prelude-ls"."~1.1.1" =
+    self.by-version."prelude-ls"."1.1.1";
+  by-spec."prepend-http"."^1.0.0" =
+    self.by-version."prepend-http"."1.0.1";
+  by-version."prepend-http"."1.0.1" = self.buildNodePackage {
+    name = "prepend-http-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/prepend-http/-/prepend-http-1.0.1.tgz";
+      name = "prepend-http-1.0.1.tgz";
+      sha1 = "5f13dad9a434fa4f346aa51cf03f3cea15fe4eb3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pretty-bytes"."^1.0.0" =
+    self.by-version."pretty-bytes"."1.0.3";
+  by-version."pretty-bytes"."1.0.3" = self.buildNodePackage {
+    name = "pretty-bytes-1.0.3";
+    version = "1.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.3.tgz";
+      name = "pretty-bytes-1.0.3.tgz";
+      sha1 = "03a712d028cfc8536f271da55e1844877399242c";
+    };
+    deps = {
+      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pretty-hrtime"."^0.2.0" =
+    self.by-version."pretty-hrtime"."0.2.2";
+  by-version."pretty-hrtime"."0.2.2" = self.buildNodePackage {
+    name = "pretty-hrtime-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.2.tgz";
+      name = "pretty-hrtime-0.2.2.tgz";
+      sha1 = "d4fd88351e3a4741f8173af7d6a4b846f9895c00";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."prfun"."~1.0.2" =
+    self.by-version."prfun"."1.0.2";
+  by-version."prfun"."1.0.2" = self.buildNodePackage {
+    name = "prfun-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/prfun/-/prfun-1.0.2.tgz";
+      name = "prfun-1.0.2.tgz";
+      sha1 = "ac8799843d8194ea478ee4442e455fd5e054db3e";
+    };
+    deps = {
+      "es6-shim-0.25.3" = self.by-version."es6-shim"."0.25.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."private"."~0.1.2" =
+    self.by-version."private"."0.1.6";
+  by-version."private"."0.1.6" = self.buildNodePackage {
+    name = "private-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/private/-/private-0.1.6.tgz";
+      name = "private-0.1.6.tgz";
+      sha1 = "55c6a976d0f9bafb9924851350fe47b9b5fbb7c1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."private"."~0.1.5" =
+    self.by-version."private"."0.1.6";
+  by-spec."private"."~0.1.6" =
+    self.by-version."private"."0.1.6";
+  by-spec."process"."^0.10.0" =
+    self.by-version."process"."0.10.0";
+  by-version."process"."0.10.0" = self.buildNodePackage {
+    name = "process-0.10.0";
+    version = "0.10.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/process/-/process-0.10.0.tgz";
+      name = "process-0.10.0.tgz";
+      sha1 = "99b375aaab5c0d3bbb59f774edc69df574da8dd4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."process"."^0.8.0" =
+    self.by-version."process"."0.8.0";
+  by-version."process"."0.8.0" = self.buildNodePackage {
+    name = "process-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/process/-/process-0.8.0.tgz";
+      name = "process-0.8.0.tgz";
+      sha1 = "7bbaf7187fe6ded3fd5be0cb6103fba9cacb9798";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."process"."~0.10.0" =
+    self.by-version."process"."0.10.0";
   by-spec."process"."~0.5.1" =
     self.by-version."process"."0.5.2";
-  by-version."process"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/process/-/process-0.5.2.tgz";
-        name = "process-0.5.2.tgz";
-        sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."process" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "process" ];
+  by-version."process"."0.5.2" = self.buildNodePackage {
+    name = "process-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/process/-/process-0.5.2.tgz";
+      name = "process-0.5.2.tgz";
+      sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."process"."~0.6.0" =
     self.by-version."process"."0.6.0";
-  by-version."process"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-process-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/process/-/process-0.6.0.tgz";
-        name = "process-0.6.0.tgz";
-        sha1 = "7dd9be80ffaaedd4cb628f1827f1cbab6dc0918f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."process" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "process" ];
-  };
-  by-spec."progress"."^1.1.5" =
+  by-version."process"."0.6.0" = self.buildNodePackage {
+    name = "process-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/process/-/process-0.6.0.tgz";
+      name = "process-0.6.0.tgz";
+      sha1 = "7dd9be80ffaaedd4cb628f1827f1cbab6dc0918f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."process"."~0.8.0" =
+    self.by-version."process"."0.8.0";
+  by-spec."progress"."1.1.4" =
+    self.by-version."progress"."1.1.4";
+  by-version."progress"."1.1.4" = self.buildNodePackage {
+    name = "progress-1.1.4";
+    version = "1.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/progress/-/progress-1.1.4.tgz";
+      name = "progress-1.1.4.tgz";
+      sha1 = "789f57691b88b826a439bc52dc9620245d60255b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."progress"."1.1.8" =
     self.by-version."progress"."1.1.8";
-  by-version."progress"."1.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-progress-1.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
-        name = "progress-1.1.8.tgz";
-        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."progress" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "progress" ];
+  by-version."progress"."1.1.8" = self.buildNodePackage {
+    name = "progress-1.1.8";
+    version = "1.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
+      name = "progress-1.1.8.tgz";
+      sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."promiscuous"."^0.6.0" =
+    self.by-version."promiscuous"."0.6.0";
+  by-version."promiscuous"."0.6.0" = self.buildNodePackage {
+    name = "promiscuous-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/promiscuous/-/promiscuous-0.6.0.tgz";
+      name = "promiscuous-0.6.0.tgz";
+      sha1 = "54014cd3d62cafe831e3354990c05ff5b78c8892";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."promise"."^6.0.1" =
+    self.by-version."promise"."6.1.0";
+  by-version."promise"."6.1.0" = self.buildNodePackage {
+    name = "promise-6.1.0";
+    version = "6.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/promise/-/promise-6.1.0.tgz";
+      name = "promise-6.1.0.tgz";
+      sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6";
+    };
+    deps = {
+      "asap-1.0.0" = self.by-version."asap"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."promise"."~2.0" =
     self.by-version."promise"."2.0.0";
-  by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-promise-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
-        name = "promise-2.0.0.tgz";
-        sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."promise" or []);
-    deps = [
-      self.by-version."is-promise"."1.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "promise" ];
-  };
-  by-spec."prompt"."0.2.11" =
-    self.by-version."prompt"."0.2.11";
-  by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-prompt-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz";
-        name = "prompt-0.2.11.tgz";
-        sha1 = "26d455af4b7fac15291dfcdddf2400328c1fa446";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."prompt" or []);
-    deps = [
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."read"."1.0.5"
-      self.by-version."revalidator"."0.1.8"
-      self.by-version."utile"."0.2.1"
-      self.by-version."winston"."0.6.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "prompt" ];
+  by-version."promise"."2.0.0" = self.buildNodePackage {
+    name = "promise-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
+      name = "promise-2.0.0.tgz";
+      sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
+    };
+    deps = {
+      "is-promise-1.0.1" = self.by-version."is-promise"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."prompt"."0.2.14" =
+    self.by-version."prompt"."0.2.14";
+  by-version."prompt"."0.2.14" = self.buildNodePackage {
+    name = "prompt-0.2.14";
+    version = "0.2.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz";
+      name = "prompt-0.2.14.tgz";
+      sha1 = "57754f64f543fd7b0845707c818ece618f05ffdc";
+    };
+    deps = {
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+      "revalidator-0.1.8" = self.by-version."revalidator"."0.1.8";
+      "utile-0.2.1" = self.by-version."utile"."0.2.1";
+      "winston-0.8.3" = self.by-version."winston"."0.8.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."prompt"."0.2.x" =
+    self.by-version."prompt"."0.2.14";
+  by-spec."promptly"."0.2.0" =
+    self.by-version."promptly"."0.2.0";
+  by-version."promptly"."0.2.0" = self.buildNodePackage {
+    name = "promptly-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz";
+      name = "promptly-0.2.0.tgz";
+      sha1 = "73ef200fa8329d5d3a8df41798950b8646ca46d9";
+    };
+    deps = {
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."promzard"."~0.2.0" =
     self.by-version."promzard"."0.2.2";
-  by-version."promzard"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-promzard-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/promzard/-/promzard-0.2.2.tgz";
-        name = "promzard-0.2.2.tgz";
-        sha1 = "918b9f2b29458cb001781a8856502e4a79b016e0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."promzard" or []);
-    deps = [
-      self.by-version."read"."1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "promzard" ];
+  by-version."promzard"."0.2.2" = self.buildNodePackage {
+    name = "promzard-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/promzard/-/promzard-0.2.2.tgz";
+      name = "promzard-0.2.2.tgz";
+      sha1 = "918b9f2b29458cb001781a8856502e4a79b016e0";
+    };
+    deps = {
+      "read-1.0.5" = self.by-version."read"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."properties-parser"."0.2.3" =
+    self.by-version."properties-parser"."0.2.3";
+  by-version."properties-parser"."0.2.3" = self.buildNodePackage {
+    name = "properties-parser-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz";
+      name = "properties-parser-0.2.3.tgz";
+      sha1 = "f7591255f707abbff227c7b56b637dbb0373a10f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."proto-list"."~1.2.1" =
     self.by-version."proto-list"."1.2.3";
-  by-version."proto-list"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-proto-list-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.3.tgz";
-        name = "proto-list-1.2.3.tgz";
-        sha1 = "6235554a1bca1f0d15e3ca12ca7329d5def42bd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."proto-list" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "proto-list" ];
+  by-version."proto-list"."1.2.3" = self.buildNodePackage {
+    name = "proto-list-1.2.3";
+    version = "1.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.3.tgz";
+      name = "proto-list-1.2.3.tgz";
+      sha1 = "6235554a1bca1f0d15e3ca12ca7329d5def42bd9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."protobufjs"."^3.2.2" =
+    self.by-version."protobufjs"."3.8.2";
+  by-version."protobufjs"."3.8.2" = self.buildNodePackage {
+    name = "protobufjs-3.8.2";
+    version = "3.8.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/protobufjs/-/protobufjs-3.8.2.tgz";
+      name = "protobufjs-3.8.2.tgz";
+      sha1 = "bc826e34c3af4697e8d0af7a669e4d612aedcd17";
+    };
+    deps = {
+      "bytebuffer-3.5.4" = self.by-version."bytebuffer"."3.5.4";
+      "ascli-0.3.0" = self.by-version."ascli"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."proxy-addr"."1.0.1" =
     self.by-version."proxy-addr"."1.0.1";
-  by-version."proxy-addr"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-proxy-addr-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
-        name = "proxy-addr-1.0.1.tgz";
-        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."proxy-addr" or []);
-    deps = [
-      self.by-version."ipaddr.js"."0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "proxy-addr" ];
+  by-version."proxy-addr"."1.0.1" = self.buildNodePackage {
+    name = "proxy-addr-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
+      name = "proxy-addr-1.0.1.tgz";
+      sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
+    };
+    deps = {
+      "ipaddr.js-0.1.2" = self.by-version."ipaddr.js"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."proxy-addr"."~1.0.3" =
+    self.by-version."proxy-addr"."1.0.6";
+  by-version."proxy-addr"."1.0.6" = self.buildNodePackage {
+    name = "proxy-addr-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.6.tgz";
+      name = "proxy-addr-1.0.6.tgz";
+      sha1 = "fce3a4c486bf2e188ad1e76e18399a79d02c0e72";
+    };
+    deps = {
+      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
+      "ipaddr.js-0.1.8" = self.by-version."ipaddr.js"."0.1.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."proxy-addr"."~1.0.5" =
+    self.by-version."proxy-addr"."1.0.6";
+  by-spec."proxy-addr"."~1.0.6" =
+    self.by-version."proxy-addr"."1.0.6";
+  by-spec."proxy-agent"."1" =
+    self.by-version."proxy-agent"."1.1.0";
+  by-version."proxy-agent"."1.1.0" = self.buildNodePackage {
+    name = "proxy-agent-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proxy-agent/-/proxy-agent-1.1.0.tgz";
+      name = "proxy-agent-1.1.0.tgz";
+      sha1 = "e23fd209bcbaa3e6743206f4e5fef0b765c380a6";
+    };
+    deps = {
+      "http-proxy-agent-0.2.6" = self.by-version."http-proxy-agent"."0.2.6";
+      "https-proxy-agent-0.3.5" = self.by-version."https-proxy-agent"."0.3.5";
+      "pac-proxy-agent-0.2.0" = self.by-version."pac-proxy-agent"."0.2.0";
+      "socks-proxy-agent-0.1.2" = self.by-version."socks-proxy-agent"."0.1.2";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."proxy-agent"."~1.1.0" =
+    self.by-version."proxy-agent"."1.1.0";
+  by-spec."prr"."~0.0.0" =
+    self.by-version."prr"."0.0.0";
+  by-version."prr"."0.0.0" = self.buildNodePackage {
+    name = "prr-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/prr/-/prr-0.0.0.tgz";
+      name = "prr-0.0.0.tgz";
+      sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ps-tree"."0.0.x" =
     self.by-version."ps-tree"."0.0.3";
-  by-version."ps-tree"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ps-tree-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
-        name = "ps-tree-0.0.3.tgz";
-        sha1 = "dbf8d752a7fe22fa7d58635689499610e9276ddc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ps-tree" or []);
-    deps = [
-      self.by-version."event-stream"."0.5.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ps-tree" ];
+  by-version."ps-tree"."0.0.3" = self.buildNodePackage {
+    name = "ps-tree-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
+      name = "ps-tree-0.0.3.tgz";
+      sha1 = "dbf8d752a7fe22fa7d58635689499610e9276ddc";
+    };
+    deps = {
+      "event-stream-0.5.3" = self.by-version."event-stream"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ps-tree"."~0.0.3" =
     self.by-version."ps-tree"."0.0.3";
-  by-spec."punycode"."1.2.4" =
-    self.by-version."punycode"."1.2.4";
-  by-version."punycode"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz";
-        name = "punycode-1.2.4.tgz";
-        sha1 = "54008ac972aec74175def9cba6df7fa9d3918740";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."punycode" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "punycode" ];
+  by-spec."public-address"."~0.1.1" =
+    self.by-version."public-address"."0.1.1";
+  by-version."public-address"."0.1.1" = self.buildNodePackage {
+    name = "public-address-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/public-address/-/public-address-0.1.1.tgz";
+      name = "public-address-0.1.1.tgz";
+      sha1 = "58bdea323c88287b6914159312454b804ca9eeaf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."public-encrypt"."1.1.2" =
+    self.by-version."public-encrypt"."1.1.2";
+  by-version."public-encrypt"."1.1.2" = self.buildNodePackage {
+    name = "public-encrypt-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/public-encrypt/-/public-encrypt-1.1.2.tgz";
+      name = "public-encrypt-1.1.2.tgz";
+      sha1 = "90711147083bc5bfbe2b51964f9a6b038adb0d4b";
+    };
+    deps = {
+      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
+      "browserify-rsa-1.1.1" = self.by-version."browserify-rsa"."1.1.1";
+      "parse-asn1-2.0.0" = self.by-version."parse-asn1"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pump"."^0.3.1" =
+    self.by-version."pump"."0.3.5";
+  by-version."pump"."0.3.5" = self.buildNodePackage {
+    name = "pump-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pump/-/pump-0.3.5.tgz";
+      name = "pump-0.3.5.tgz";
+      sha1 = "ae5ff8c1f93ed87adc6530a97565b126f585454b";
+    };
+    deps = {
+      "once-1.2.0" = self.by-version."once"."1.2.0";
+      "end-of-stream-1.0.0" = self.by-version."end-of-stream"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pump"."^0.3.5" =
+    self.by-version."pump"."0.3.5";
+  by-spec."pump"."~0.3.2" =
+    self.by-version."pump"."0.3.5";
+  by-spec."punycode"."1.3.2" =
+    self.by-version."punycode"."1.3.2";
+  by-version."punycode"."1.3.2" = self.buildNodePackage {
+    name = "punycode-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+      name = "punycode-1.3.2.tgz";
+      sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."punycode".">=0.2.0" =
-    self.by-version."punycode"."1.3.1";
-  by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-punycode-1.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
-        name = "punycode-1.3.1.tgz";
-        sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."punycode" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "punycode" ];
-  };
+    self.by-version."punycode"."1.3.2";
+  by-spec."punycode".">=1.0.0 <1.1.0" =
+    self.by-version."punycode"."1.0.0";
+  by-version."punycode"."1.0.0" = self.buildNodePackage {
+    name = "punycode-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/punycode/-/punycode-1.0.0.tgz";
+      name = "punycode-1.0.0.tgz";
+      sha1 = "ce9e6c6e9c1db5827174fceb12ff4938700a1bd3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."punycode"."^1.2.4" =
+    self.by-version."punycode"."1.3.2";
   by-spec."punycode"."~1.2.3" =
     self.by-version."punycode"."1.2.4";
+  by-version."punycode"."1.2.4" = self.buildNodePackage {
+    name = "punycode-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz";
+      name = "punycode-1.2.4.tgz";
+      sha1 = "54008ac972aec74175def9cba6df7fa9d3918740";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."punycode"."~1.2.4" =
     self.by-version."punycode"."1.2.4";
   by-spec."pure-css"."git://github.com/yui/pure.git#v0.5.0-rc-1" =
     self.by-version."pure-css"."0.5.0-rc-1";
-  by-version."pure-css"."0.5.0-rc-1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-pure-0.5.0-rc-1";
-    src = [
-      (fetchgit {
-        url = "git://github.com/yui/pure.git";
-        rev = "f5ce3ae4b48ce252adac7b6ddac50c9518729a2d";
-        sha256 = "049ac2ef812771852978d11cd5aecac2dd561e97bb16ad89c79eb1e10aa57672";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pure" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pure" ];
+  by-version."pure"."0.5.0-rc-1" = self.buildNodePackage {
+    name = "pure-0.5.0-rc-1";
+    version = "0.5.0-rc-1";
+    bin = false;
+    src = fetchgit {
+      url = "git://github.com/yui/pure.git";
+      rev = "f5ce3ae4b48ce252adac7b6ddac50c9518729a2d";
+      sha256 = "049ac2ef812771852978d11cd5aecac2dd561e97bb16ad89c79eb1e10aa57672";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "pure-css" = self.by-version."pure"."0.5.0-rc-1";
+  by-spec."pusher"."^1.0.0" =
+    self.by-version."pusher"."1.0.4";
+  by-version."pusher"."1.0.4" = self.buildNodePackage {
+    name = "pusher-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pusher/-/pusher-1.0.4.tgz";
+      name = "pusher-1.0.4.tgz";
+      sha1 = "bdf7a51a82c86fbdebe96602f1559b6ffea7450b";
+    };
+    deps = {
+      "request-2.45.0" = self.by-version."request"."2.45.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."q"."0.9.7" =
+    self.by-version."q"."0.9.7";
+  by-version."q"."0.9.7" = self.buildNodePackage {
+    name = "q-0.9.7";
+    version = "0.9.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
+      name = "q-0.9.7.tgz";
+      sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."q"."1.0.1" =
+    self.by-version."q"."1.0.1";
+  by-version."q"."1.0.1" = self.buildNodePackage {
+    name = "q-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
+      name = "q-1.0.1.tgz";
+      sha1 = "11872aeedee89268110b10a718448ffb10112a14";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "pure-css" = self.by-version."pure-css"."0.5.0-rc-1";
   by-spec."q".">= 0.0.1" =
-    self.by-version."q"."2.0.2";
-  by-version."q"."2.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-2.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-2.0.2.tgz";
-        name = "q-2.0.2.tgz";
-        sha1 = "4629e6cc668ff8554cfa775dab5aba50bad8f56d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q" or []);
-    deps = [
-      self.by-version."asap"."1.0.0"
-      self.by-version."collections"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
+    self.by-version."q"."2.0.3";
+  by-version."q"."2.0.3" = self.buildNodePackage {
+    name = "q-2.0.3";
+    version = "2.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/q/-/q-2.0.3.tgz";
+      name = "q-2.0.3.tgz";
+      sha1 = "75b8db0255a1a5af82f58c3f3aaa1efec7d0d134";
+    };
+    deps = {
+      "asap-2.0.1" = self.by-version."asap"."2.0.1";
+      "pop-iterate-1.0.1" = self.by-version."pop-iterate"."1.0.1";
+      "weak-map-1.0.5" = self.by-version."weak-map"."1.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."q"."^1.0.1" =
+    self.by-version."q"."1.2.0";
+  by-version."q"."1.2.0" = self.buildNodePackage {
+    name = "q-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/q/-/q-1.2.0.tgz";
+      name = "q-1.2.0.tgz";
+      sha1 = "811705ce4a9802adff811ab0fcdbd01946e1fe22";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."q"."^1.1.2" =
+    self.by-version."q"."1.2.0";
+  by-spec."q"."~0.9.2" =
+    self.by-version."q"."0.9.7";
   by-spec."q"."~0.9.6" =
     self.by-version."q"."0.9.7";
-  by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        name = "q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
   by-spec."q"."~0.9.7" =
     self.by-version."q"."0.9.7";
+  by-spec."q"."~1.0.0" =
+    self.by-version."q"."1.0.1";
   by-spec."q"."~1.0.1" =
     self.by-version."q"."1.0.1";
-  by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-q-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
-        name = "q-1.0.1.tgz";
-        sha1 = "11872aeedee89268110b10a718448ffb10112a14";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
+  by-spec."q"."~1.1.2" =
+    self.by-version."q"."1.1.2";
+  by-version."q"."1.1.2" = self.buildNodePackage {
+    name = "q-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/q/-/q-1.1.2.tgz";
+      name = "q-1.1.2.tgz";
+      sha1 = "6357e291206701d99f197ab84e57e8ad196f2a89";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qap"."^3.1.2" =
+    self.by-version."qap"."3.1.3";
+  by-version."qap"."3.1.3" = self.buildNodePackage {
+    name = "qap-3.1.3";
+    version = "3.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qap/-/qap-3.1.3.tgz";
+      name = "qap-3.1.3.tgz";
+      sha1 = "394288bf07c8fe16cf36bb2e40a3bb947ed24963";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."qs"."0.4.2" =
     self.by-version."qs"."0.4.2";
-  by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
-        name = "qs-0.4.2.tgz";
-        sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
+  by-version."qs"."0.4.2" = self.buildNodePackage {
+    name = "qs-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
+      name = "qs-0.4.2.tgz";
+      sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."qs"."0.4.x" =
     self.by-version."qs"."0.4.2";
   by-spec."qs"."0.5.1" =
     self.by-version."qs"."0.5.1";
-  by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
-        name = "qs-0.5.1.tgz";
-        sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."qs"."0.5.2" =
-    self.by-version."qs"."0.5.2";
-  by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.2.tgz";
-        name = "qs-0.5.2.tgz";
-        sha1 = "e5734acb7009fb918e800fd5c60c2f5b94a7ff43";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
+  by-version."qs"."0.5.1" = self.buildNodePackage {
+    name = "qs-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
+      name = "qs-0.5.1.tgz";
+      sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."qs"."0.5.5" =
     self.by-version."qs"."0.5.5";
-  by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz";
-        name = "qs-0.5.5.tgz";
-        sha1 = "b07f0d7ffe3efc6fc2fcde6c66a20775641423f3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
+  by-version."qs"."0.5.5" = self.buildNodePackage {
+    name = "qs-0.5.5";
+    version = "0.5.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz";
+      name = "qs-0.5.5.tgz";
+      sha1 = "b07f0d7ffe3efc6fc2fcde6c66a20775641423f3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."0.5.x" =
+    self.by-version."qs"."0.5.6";
+  by-version."qs"."0.5.6" = self.buildNodePackage {
+    name = "qs-0.5.6";
+    version = "0.5.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
+      name = "qs-0.5.6.tgz";
+      sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."qs"."0.6.5" =
     self.by-version."qs"."0.6.5";
-  by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        name = "qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
+  by-version."qs"."0.6.5" = self.buildNodePackage {
+    name = "qs-0.6.5";
+    version = "0.6.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
+      name = "qs-0.6.5.tgz";
+      sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."qs"."0.6.6" =
     self.by-version."qs"."0.6.6";
-  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.6.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-        name = "qs-0.6.6.tgz";
-        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."qs"."1.2.2" =
-    self.by-version."qs"."1.2.2";
-  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
-        name = "qs-1.2.2.tgz";
-        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
+  by-version."qs"."0.6.6" = self.buildNodePackage {
+    name = "qs-0.6.6";
+    version = "0.6.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+      name = "qs-0.6.6.tgz";
+      sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."1.2.0" =
+    self.by-version."qs"."1.2.0";
+  by-version."qs"."1.2.0" = self.buildNodePackage {
+    name = "qs-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-1.2.0.tgz";
+      name = "qs-1.2.0.tgz";
+      sha1 = "ed079be28682147e6fd9a34cc2b0c1e0ec6453ee";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."2.2.3" =
+    self.by-version."qs"."2.2.3";
+  by-version."qs"."2.2.3" = self.buildNodePackage {
+    name = "qs-2.2.3";
+    version = "2.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.2.3.tgz";
+      name = "qs-2.2.3.tgz";
+      sha1 = "6139c1f47960eff5655e56aab0ef9f6dd16d4eeb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."2.2.4" =
+    self.by-version."qs"."2.2.4";
+  by-version."qs"."2.2.4" = self.buildNodePackage {
+    name = "qs-2.2.4";
+    version = "2.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.2.4.tgz";
+      name = "qs-2.2.4.tgz";
+      sha1 = "2e9fbcd34b540e3421c924ecd01e90aa975319c8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."2.3.2" =
+    self.by-version."qs"."2.3.2";
+  by-version."qs"."2.3.2" = self.buildNodePackage {
+    name = "qs-2.3.2";
+    version = "2.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.3.2.tgz";
+      name = "qs-2.3.2.tgz";
+      sha1 = "d45ec249e4b9b029af008829a101d5ff7e972790";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."2.3.3" =
+    self.by-version."qs"."2.3.3";
+  by-version."qs"."2.3.3" = self.buildNodePackage {
+    name = "qs-2.3.3";
+    version = "2.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
+      name = "qs-2.3.3.tgz";
+      sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."qs".">= 0.4.0" =
-    self.by-version."qs"."1.2.2";
+    self.by-version."qs"."2.3.3";
   by-spec."qs"."~0.5.4" =
     self.by-version."qs"."0.5.6";
-  by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-0.5.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-        name = "qs-0.5.6.tgz";
-        sha1 = "31b1ad058567651c526921506b9a8793911a0384";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
   by-spec."qs"."~0.6.0" =
     self.by-version."qs"."0.6.6";
   by-spec."qs"."~1.0.0" =
     self.by-version."qs"."1.0.2";
-  by-version."qs"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-qs-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-1.0.2.tgz";
-        name = "qs-1.0.2.tgz";
-        sha1 = "50a93e2b5af6691c31bcea5dae78ee6ea1903768";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
+  by-version."qs"."1.0.2" = self.buildNodePackage {
+    name = "qs-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-1.0.2.tgz";
+      name = "qs-1.0.2.tgz";
+      sha1 = "50a93e2b5af6691c31bcea5dae78ee6ea1903768";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~1.2.0" =
+    self.by-version."qs"."1.2.2";
+  by-version."qs"."1.2.2" = self.buildNodePackage {
+    name = "qs-1.2.2";
+    version = "1.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
+      name = "qs-1.2.2.tgz";
+      sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~1.2.2" =
+    self.by-version."qs"."1.2.2";
+  by-spec."qs"."~2.2.4" =
+    self.by-version."qs"."2.2.5";
+  by-version."qs"."2.2.5" = self.buildNodePackage {
+    name = "qs-2.2.5";
+    version = "2.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.2.5.tgz";
+      name = "qs-2.2.5.tgz";
+      sha1 = "1088abaf9dcc0ae5ae45b709e6c6b5888b23923c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~2.3.1" =
+    self.by-version."qs"."2.3.3";
+  by-spec."query-string"."^1.0.0" =
+    self.by-version."query-string"."1.0.0";
+  by-version."query-string"."1.0.0" = self.buildNodePackage {
+    name = "query-string-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/query-string/-/query-string-1.0.0.tgz";
+      name = "query-string-1.0.0.tgz";
+      sha1 = "c1bc6af99fa698a5395922ae5b3de3efe978c59b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."querystring".">=0.1.0 <0.2.0" =
+    self.by-version."querystring"."0.1.0";
+  by-version."querystring"."0.1.0" = self.buildNodePackage {
+    name = "querystring-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/querystring/-/querystring-0.1.0.tgz";
+      name = "querystring-0.1.0.tgz";
+      sha1 = "cb76a26cda0a10a94163fcdb3e132827f04b7b10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."querystring"."https://github.com/substack/querystring/archive/0.2.0-ie8.tar.gz" =
+    self.by-version."querystring"."0.2.0";
+  by-version."querystring"."0.2.0" = self.buildNodePackage {
+    name = "querystring-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/substack/querystring/archive/0.2.0-ie8.tar.gz";
+      name = "querystring-0.2.0.tgz";
+      sha256 = "9476079402605957bae231ea3ec5ae83b454b2de68ddaa3450096821996be8f5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."querystring-es3"."~0.2.0" =
-    self.by-version."querystring-es3"."0.2.1-0";
-  by-version."querystring-es3"."0.2.1-0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-querystring-es3-0.2.1-0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1-0.tgz";
-        name = "querystring-es3-0.2.1-0.tgz";
-        sha1 = "bd38cbd701040e7ef66c94a93db4a5b45be39565";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."querystring-es3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "querystring-es3" ];
+    self.by-version."querystring-es3"."0.2.1";
+  by-version."querystring-es3"."0.2.1" = self.buildNodePackage {
+    name = "querystring-es3-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
+      name = "querystring-es3-0.2.1.tgz";
+      sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."rai"."~0.1.11" =
-    self.by-version."rai"."0.1.11";
-  by-version."rai"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rai-0.1.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rai/-/rai-0.1.11.tgz";
-        name = "rai-0.1.11.tgz";
-        sha1 = "ea0ba30ceecfb77a46d3b2d849e3d4249d056228";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rai" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rai" ];
+    self.by-version."rai"."0.1.12";
+  by-version."rai"."0.1.12" = self.buildNodePackage {
+    name = "rai-0.1.12";
+    version = "0.1.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rai/-/rai-0.1.12.tgz";
+      name = "rai-0.1.12.tgz";
+      sha1 = "8ccfd014d0f9608630dd73c19b8e4b057754a6a6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rainbowsocks"."~0.1.2" =
+    self.by-version."rainbowsocks"."0.1.2";
+  by-version."rainbowsocks"."0.1.2" = self.buildNodePackage {
+    name = "rainbowsocks-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rainbowsocks/-/rainbowsocks-0.1.2.tgz";
+      name = "rainbowsocks-0.1.2.tgz";
+      sha1 = "eebddb330eac4f178d79eadb12ff851c84ab97e1";
+    };
+    deps = {
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."random-access-file"."^0.3.1" =
+    self.by-version."random-access-file"."0.3.1";
+  by-version."random-access-file"."0.3.1" = self.buildNodePackage {
+    name = "random-access-file-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/random-access-file/-/random-access-file-0.3.1.tgz";
+      name = "random-access-file-0.3.1.tgz";
+      sha1 = "8afffaac665de38feba00f371429648f057d5c16";
+    };
+    deps = {
+      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."randombytes"."^2.0.0" =
+    self.by-version."randombytes"."2.0.1";
+  by-version."randombytes"."2.0.1" = self.buildNodePackage {
+    name = "randombytes-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/randombytes/-/randombytes-2.0.1.tgz";
+      name = "randombytes-2.0.1.tgz";
+      sha1 = "18f4a9ba0dd07bdb1580bc9156091fcf90eabc6f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."range-parser"."0.0.4" =
     self.by-version."range-parser"."0.0.4";
-  by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-range-parser-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
-        name = "range-parser-0.0.4.tgz";
-        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."range-parser" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "range-parser" ];
+  by-version."range-parser"."0.0.4" = self.buildNodePackage {
+    name = "range-parser-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
+      name = "range-parser-0.0.4.tgz";
+      sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."range-parser"."1.0.0" =
     self.by-version."range-parser"."1.0.0";
-  by-version."range-parser"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-range-parser-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
-        name = "range-parser-1.0.0.tgz";
-        sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."range-parser" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "range-parser" ];
-  };
+  by-version."range-parser"."1.0.0" = self.buildNodePackage {
+    name = "range-parser-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
+      name = "range-parser-1.0.0.tgz";
+      sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."range-parser"."^1.0.0" =
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = self.buildNodePackage {
+    name = "range-parser-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+      name = "range-parser-1.0.2.tgz";
+      sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."range-parser"."^1.0.2" =
+    self.by-version."range-parser"."1.0.2";
   by-spec."range-parser"."~1.0.0" =
-    self.by-version."range-parser"."1.0.0";
-  by-spec."raven"."~0.7.0" =
-    self.by-version."raven"."0.7.0";
-  by-version."raven"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "raven-0.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raven/-/raven-0.7.0.tgz";
-        name = "raven-0.7.0.tgz";
-        sha1 = "ec7fea6c0b87c59b252a9491c93d5bcf8d0c7ba0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raven" or []);
-    deps = [
-      self.by-version."cookie"."0.1.0"
-      self.by-version."lsmod"."0.0.3"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."stack-trace"."0.0.7"
-      self.by-version."connect"."3.1.1"
-      self.by-version."express"."4.8.5"
-      self.by-version."koa"."0.10.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raven" ];
+    self.by-version."range-parser"."1.0.2";
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
+  by-spec."raven"."~0.7.2" =
+    self.by-version."raven"."0.7.2";
+  by-version."raven"."0.7.2" = self.buildNodePackage {
+    name = "raven-0.7.2";
+    version = "0.7.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raven/-/raven-0.7.2.tgz";
+      name = "raven-0.7.2.tgz";
+      sha1 = "51c1268e5d947e45c53fdb2e0a88b829c24a02a7";
+    };
+    deps = {
+      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
+      "lsmod-0.0.3" = self.by-version."lsmod"."0.0.3";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "stack-trace-0.0.7" = self.by-version."stack-trace"."0.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."raw-body"."0.0.3" =
     self.by-version."raw-body"."0.0.3";
-  by-version."raw-body"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
-        name = "raw-body-0.0.3.tgz";
-        sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
-  };
-  by-spec."raw-body"."1.1.2" =
-    self.by-version."raw-body"."1.1.2";
-  by-version."raw-body"."1.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz";
-        name = "raw-body-1.1.2.tgz";
-        sha1 = "c74b3004dea5defd1696171106ac740ec31d62be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
-  };
-  by-spec."raw-body"."1.2.2" =
-    self.by-version."raw-body"."1.2.2";
-  by-version."raw-body"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.2.2.tgz";
-        name = "raw-body-1.2.2.tgz";
-        sha1 = "0c68e1ee28cfed7dba4822234aec6078461cbc1f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."iconv-lite"."0.4.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
+  by-version."raw-body"."0.0.3" = self.buildNodePackage {
+    name = "raw-body-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
+      name = "raw-body-0.0.3.tgz";
+      sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."raw-body"."1.1.4" =
+    self.by-version."raw-body"."1.1.4";
+  by-version."raw-body"."1.1.4" = self.buildNodePackage {
+    name = "raw-body-1.1.4";
+    version = "1.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz";
+      name = "raw-body-1.1.4.tgz";
+      sha1 = "f0b5624388d031f63da07f870c86cb9ccadcb67d";
+    };
+    deps = {
+      "bytes-0.3.0" = self.by-version."bytes"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."raw-body"."1.3.0" =
     self.by-version."raw-body"."1.3.0";
-  by-version."raw-body"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-body-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
-        name = "raw-body-1.3.0.tgz";
-        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = [
-      self.by-version."bytes"."1.0.0"
-      self.by-version."iconv-lite"."0.4.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
+  by-version."raw-body"."1.3.0" = self.buildNodePackage {
+    name = "raw-body-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+      name = "raw-body-1.3.0.tgz";
+      sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."raw-body"."1.3.1" =
+    self.by-version."raw-body"."1.3.1";
+  by-version."raw-body"."1.3.1" = self.buildNodePackage {
+    name = "raw-body-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.1.tgz";
+      name = "raw-body-1.3.1.tgz";
+      sha1 = "26a1491059086fd121942232d16758cd2817f815";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "iconv-lite-0.4.5" = self.by-version."iconv-lite"."0.4.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."raw-body"."1.3.2" =
+    self.by-version."raw-body"."1.3.2";
+  by-version."raw-body"."1.3.2" = self.buildNodePackage {
+    name = "raw-body-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.2.tgz";
+      name = "raw-body-1.3.2.tgz";
+      sha1 = "0e186f27c5fbfe326d8b3062774804564a0ecf93";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "iconv-lite-0.4.6" = self.by-version."iconv-lite"."0.4.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."raw-body"."1.3.3" =
+    self.by-version."raw-body"."1.3.3";
+  by-version."raw-body"."1.3.3" = self.buildNodePackage {
+    name = "raw-body-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.3.tgz";
+      name = "raw-body-1.3.3.tgz";
+      sha1 = "8841af3f64ad50a351dc77f229118b40c28fa58c";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."raw-socket"."*" =
     self.by-version."raw-socket"."1.2.2";
-  by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-raw-socket-1.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
-        name = "raw-socket-1.2.2.tgz";
-        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-socket" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-socket" ];
-  };
-  by-spec."rbytes"."*" =
-    self.by-version."rbytes"."1.1.0";
-  by-version."rbytes"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rbytes-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.1.0.tgz";
-        name = "rbytes-1.1.0.tgz";
-        sha1 = "50234097e70c079bcdf5227494311b1038f3d619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rbytes" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rbytes" ];
-  };
-  "rbytes" = self.by-version."rbytes"."1.1.0";
-  by-spec."rc"."~0.3.0" =
-    self.by-version."rc"."0.3.5";
-  by-version."rc"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.5.tgz";
-        name = "rc-0.3.5.tgz";
-        sha1 = "fce2220593be57aa1296685a7e37ed003dfcc728";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rc" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."ini"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rc" ];
-  };
-  by-spec."rc"."~0.4.0" =
+  by-version."raw-socket"."1.2.2" = self.buildNodePackage {
+    name = "raw-socket-1.2.2";
+    version = "1.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
+      name = "raw-socket-1.2.2.tgz";
+      sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rc"."0.5.2" =
+    self.by-version."rc"."0.5.2";
+  by-version."rc"."0.5.2" = self.buildNodePackage {
+    name = "rc-0.5.2";
+    version = "0.5.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rc/-/rc-0.5.2.tgz";
+      name = "rc-0.5.2.tgz";
+      sha1 = "6b8e05894a158e3d4a15e7daddb970f4d15a024f";
+    };
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rc"."^0.4.0" =
     self.by-version."rc"."0.4.0";
-  by-version."rc"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."rc"."0.4.0" = self.buildNodePackage {
     name = "rc-0.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.4.0.tgz";
-        name = "rc-0.4.0.tgz";
-        sha1 = "ce24a2029ad94c3a40d09604a87227027d7210d3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rc" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."strip-json-comments"."0.1.3"
-      self.by-version."ini"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rc" ];
-  };
+    version = "0.4.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rc/-/rc-0.4.0.tgz";
+      name = "rc-0.4.0.tgz";
+      sha1 = "ce24a2029ad94c3a40d09604a87227027d7210d3";
+    };
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+      "ini-1.1.0" = self.by-version."ini"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rc"."^0.6.0" =
+    self.by-version."rc"."0.6.0";
+  by-version."rc"."0.6.0" = self.buildNodePackage {
+    name = "rc-0.6.0";
+    version = "0.6.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rc/-/rc-0.6.0.tgz";
+      name = "rc-0.6.0.tgz";
+      sha1 = "e1c930059af831c85413fe275ae2f40f4e3c5371";
+    };
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rc"."~0.5.0" =
+    self.by-version."rc"."0.5.5";
+  by-version."rc"."0.5.5" = self.buildNodePackage {
+    name = "rc-0.5.5";
+    version = "0.5.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rc/-/rc-0.5.5.tgz";
+      name = "rc-0.5.5.tgz";
+      sha1 = "541cc3300f464b6dfe6432d756f0f2dd3e9eb199";
+    };
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rc"."~0.5.1" =
+    self.by-version."rc"."0.5.5";
+  by-spec."rc"."~0.5.4" =
+    self.by-version."rc"."0.5.5";
+  by-spec."rc"."~0.6.0" =
+    self.by-version."rc"."0.6.0";
   by-spec."react"."*" =
-    self.by-version."react"."0.11.1";
-  by-version."react"."0.11.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-react-0.11.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/react/-/react-0.11.1.tgz";
-        name = "react-0.11.1.tgz";
-        sha1 = "201190712f69bc451e2c83946653384d7448aaff";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."react" or []);
-    deps = [
-      self.by-version."envify"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "react" ];
-  };
-  "react" = self.by-version."react"."0.11.1";
+    self.by-version."react"."0.13.0-rc1";
+  by-version."react"."0.13.0-rc1" = self.buildNodePackage {
+    name = "react-0.13.0-rc1";
+    version = "0.13.0-rc1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/react/-/react-0.13.0-rc1.tgz";
+      name = "react-0.13.0-rc1.tgz";
+      sha1 = "1773c4cf6b4f422b665eceb276345cfc030678ac";
+    };
+    deps = {
+      "envify-3.2.0" = self.by-version."envify"."3.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "react" = self.by-version."react"."0.13.0-rc1";
+  by-spec."react-tools"."*" =
+    self.by-version."react-tools"."0.13.0-rc1";
+  by-version."react-tools"."0.13.0-rc1" = self.buildNodePackage {
+    name = "react-tools-0.13.0-rc1";
+    version = "0.13.0-rc1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/react-tools/-/react-tools-0.13.0-rc1.tgz";
+      name = "react-tools-0.13.0-rc1.tgz";
+      sha1 = "f88bfc80115a5f831520409ccc269a9197001119";
+    };
+    deps = {
+      "commoner-0.10.1" = self.by-version."commoner"."0.10.1";
+      "jstransform-9.1.1" = self.by-version."jstransform"."9.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "react-tools" = self.by-version."react-tools"."0.13.0-rc1";
   by-spec."read"."1" =
     self.by-version."read"."1.0.5";
-  by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        name = "read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read" or []);
-    deps = [
-      self.by-version."mute-stream"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read" ];
+  by-version."read"."1.0.5" = self.buildNodePackage {
+    name = "read-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+      name = "read-1.0.5.tgz";
+      sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    };
+    deps = {
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."read"."1.0.x" =
     self.by-version."read"."1.0.5";
@@ -15116,923 +31402,1805 @@
     self.by-version."read"."1.0.5";
   by-spec."read"."~1.0.4" =
     self.by-version."read"."1.0.5";
+  by-spec."read-all-stream"."^1.0.0" =
+    self.by-version."read-all-stream"."1.0.2";
+  by-version."read-all-stream"."1.0.2" = self.buildNodePackage {
+    name = "read-all-stream-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read-all-stream/-/read-all-stream-1.0.2.tgz";
+      name = "read-all-stream-1.0.2.tgz";
+      sha1 = "d378cf4ef6e236b188ea42d135e5b180a89e3e92";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."read-installed"."~2.0.5" =
     self.by-version."read-installed"."2.0.7";
-  by-version."read-installed"."2.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-installed-2.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read-installed/-/read-installed-2.0.7.tgz";
-        name = "read-installed-2.0.7.tgz";
-        sha1 = "a82157a5e273576c57f230ecec3702ab215a6d6c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read-installed" or []);
-    deps = [
-      self.by-version."read-package-json"."1.2.6"
-      self.by-version."semver"."3.0.1"
-      self.by-version."slide"."1.1.5"
-      self.by-version."util-extend"."1.0.1"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read-installed" ];
+  by-version."read-installed"."2.0.7" = self.buildNodePackage {
+    name = "read-installed-2.0.7";
+    version = "2.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read-installed/-/read-installed-2.0.7.tgz";
+      name = "read-installed-2.0.7.tgz";
+      sha1 = "a82157a5e273576c57f230ecec3702ab215a6d6c";
+    };
+    deps = {
+      "read-package-json-1.3.1" = self.by-version."read-package-json"."1.3.1";
+      "semver-3.0.1" = self.by-version."semver"."3.0.1";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "util-extend-1.0.1" = self.by-version."util-extend"."1.0.1";
+    };
+    optionalDependencies = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."read-installed"."~3.1.5" =
+    self.by-version."read-installed"."3.1.5";
+  by-version."read-installed"."3.1.5" = self.buildNodePackage {
+    name = "read-installed-3.1.5";
+    version = "3.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read-installed/-/read-installed-3.1.5.tgz";
+      name = "read-installed-3.1.5.tgz";
+      sha1 = "4ae36081afd3e2204dc2e279807aaa52c30c8c0c";
+    };
+    deps = {
+      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
+      "read-package-json-1.3.1" = self.by-version."read-package-json"."1.3.1";
+      "readdir-scoped-modules-1.0.1" = self.by-version."readdir-scoped-modules"."1.0.1";
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "util-extend-1.0.1" = self.by-version."util-extend"."1.0.1";
+    };
+    optionalDependencies = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."read-package-json"."1" =
-    self.by-version."read-package-json"."1.2.6";
-  by-version."read-package-json"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-read-package-json-1.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.2.6.tgz";
-        name = "read-package-json-1.2.6.tgz";
-        sha1 = "eedcc11ba25a94f80e5941fdbccff4a21d8ab13a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read-package-json" or []);
-    deps = [
-      self.by-version."github-url-from-git"."1.3.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."lru-cache"."2.5.0"
-      self.by-version."normalize-package-data"."1.0.0"
-      self.by-version."graceful-fs"."3.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read-package-json" ];
+    self.by-version."read-package-json"."1.3.1";
+  by-version."read-package-json"."1.3.1" = self.buildNodePackage {
+    name = "read-package-json-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.3.1.tgz";
+      name = "read-package-json-1.3.1.tgz";
+      sha1 = "5a965f9fc34b25ffa5e0d93b1d0fc063af6d10b0";
+    };
+    deps = {
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
+    };
+    optionalDependencies = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."read-package-json"."^1.3.1" =
+    self.by-version."read-package-json"."1.3.1";
+  by-spec."read-package-json"."~1.2.7" =
+    self.by-version."read-package-json"."1.2.7";
+  by-version."read-package-json"."1.2.7" = self.buildNodePackage {
+    name = "read-package-json-1.2.7";
+    version = "1.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.2.7.tgz";
+      name = "read-package-json-1.2.7.tgz";
+      sha1 = "f0b440c461a218f4dbf48b094e80fc65c5248502";
+    };
+    deps = {
+      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
+      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "normalize-package-data-1.0.3" = self.by-version."normalize-package-data"."1.0.3";
+    };
+    optionalDependencies = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."read-package-json"."~1.3.1" =
+    self.by-version."read-package-json"."1.3.1";
+  by-spec."read-torrent"."^1.0.0" =
+    self.by-version."read-torrent"."1.2.0";
+  by-version."read-torrent"."1.2.0" = self.buildNodePackage {
+    name = "read-torrent-1.2.0";
+    version = "1.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read-torrent/-/read-torrent-1.2.0.tgz";
+      name = "read-torrent-1.2.0.tgz";
+      sha1 = "2b5fa465ab1e3a9a2e478403b425910ae66c58a9";
+    };
+    deps = {
+      "magnet-uri-2.0.1" = self.by-version."magnet-uri"."2.0.1";
+      "parse-torrent-1.0.0" = self.by-version."parse-torrent"."1.0.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."read-torrent"."^1.1.0" =
+    self.by-version."read-torrent"."1.2.0";
+  by-spec."read-torrent"."~1.0.0" =
+    self.by-version."read-torrent"."1.0.0";
+  by-version."read-torrent"."1.0.0" = self.buildNodePackage {
+    name = "read-torrent-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read-torrent/-/read-torrent-1.0.0.tgz";
+      name = "read-torrent-1.0.0.tgz";
+      sha1 = "d45427a10dbbf21479fdf7e1ce8ce4ad39770966";
+    };
+    deps = {
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "parse-torrent-1.0.0" = self.by-version."parse-torrent"."1.0.0";
+      "magnet-uri-2.0.1" = self.by-version."magnet-uri"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."read-package-json"."~1.2.3" =
-    self.by-version."read-package-json"."1.2.6";
   by-spec."readable-stream"."*" =
     self.by-version."readable-stream"."1.1.13";
-  by-version."readable-stream"."1.1.13" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.1.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
-        name = "readable-stream-1.1.13.tgz";
-        sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
+  by-version."readable-stream"."1.1.13" = self.buildNodePackage {
+    name = "readable-stream-1.1.13";
+    version = "1.1.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
+      name = "readable-stream-1.1.13.tgz";
+      sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."readable-stream"."1.0" =
-    self.by-version."readable-stream"."1.0.31";
-  by-version."readable-stream"."1.0.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.0.31";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
-        name = "readable-stream-1.0.31.tgz";
-        sha1 = "8f2502e0bc9e3b0da1b94520aabb4e2603ecafae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
+    self.by-version."readable-stream"."1.0.33";
+  by-version."readable-stream"."1.0.33" = self.buildNodePackage {
+    name = "readable-stream-1.0.33";
+    version = "1.0.33";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz";
+      name = "readable-stream-1.0.33.tgz";
+      sha1 = "3a360dd66c1b1d7fd4705389860eda1d0f61126c";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."readable-stream"."1.0.27-1" =
     self.by-version."readable-stream"."1.0.27-1";
-  by-version."readable-stream"."1.0.27-1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-stream-1.0.27-1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
-        name = "readable-stream-1.0.27-1.tgz";
-        sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream" or []);
-    deps = [
-      self.by-version."core-util-is"."1.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."string_decoder"."0.10.25"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
+  by-version."readable-stream"."1.0.27-1" = self.buildNodePackage {
+    name = "readable-stream-1.0.27-1";
+    version = "1.0.27-1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+      name = "readable-stream-1.0.27-1.tgz";
+      sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readable-stream"."1.0.31" =
+    self.by-version."readable-stream"."1.0.31";
+  by-version."readable-stream"."1.0.31" = self.buildNodePackage {
+    name = "readable-stream-1.0.31";
+    version = "1.0.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
+      name = "readable-stream-1.0.31.tgz";
+      sha1 = "8f2502e0bc9e3b0da1b94520aabb4e2603ecafae";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."readable-stream"."1.1" =
     self.by-version."readable-stream"."1.1.13";
-  by-spec."readable-stream".">=1.0.27-1 <1.1.0-0" =
-    self.by-version."readable-stream"."1.0.31";
+  by-spec."readable-stream"."1.1.x" =
+    self.by-version."readable-stream"."1.1.13";
+  by-spec."readable-stream".">=1.0.33-1 <1.1.0-0" =
+    self.by-version."readable-stream"."1.0.33";
   by-spec."readable-stream".">=1.1.13-1 <1.2.0-0" =
     self.by-version."readable-stream"."1.1.13";
+  by-spec."readable-stream"."^1.0.2" =
+    self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."^1.0.27-1" =
     self.by-version."readable-stream"."1.1.13";
+  by-spec."readable-stream"."^1.0.33-1" =
+    self.by-version."readable-stream"."1.1.13";
+  by-spec."readable-stream"."^1.1.13" =
+    self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."^1.1.13-1" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."~1.0.17" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.33";
   by-spec."readable-stream"."~1.0.2" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.33";
   by-spec."readable-stream"."~1.0.24" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.33";
   by-spec."readable-stream"."~1.0.26" =
-    self.by-version."readable-stream"."1.0.31";
+    self.by-version."readable-stream"."1.0.33";
+  by-spec."readable-stream"."~1.0.26-2" =
+    self.by-version."readable-stream"."1.0.33";
+  by-spec."readable-stream"."~1.0.26-4" =
+    self.by-version."readable-stream"."1.0.33";
+  by-spec."readable-stream"."~1.0.33" =
+    self.by-version."readable-stream"."1.0.33";
+  by-spec."readable-stream"."~1.1" =
+    self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."~1.1.8" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-stream"."~1.1.9" =
     self.by-version."readable-stream"."1.1.13";
   by-spec."readable-wrap"."^1.0.0" =
     self.by-version."readable-wrap"."1.0.0";
-  by-version."readable-wrap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readable-wrap-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz";
-        name = "readable-wrap-1.0.0.tgz";
-        sha1 = "3b5a211c631e12303a54991c806c17e7ae206bff";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-wrap" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-wrap" ];
-  };
+  by-version."readable-wrap"."1.0.0" = self.buildNodePackage {
+    name = "readable-wrap-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz";
+      name = "readable-wrap-1.0.0.tgz";
+      sha1 = "3b5a211c631e12303a54991c806c17e7ae206bff";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readdir-scoped-modules"."^1.0.0" =
+    self.by-version."readdir-scoped-modules"."1.0.1";
+  by-version."readdir-scoped-modules"."1.0.1" = self.buildNodePackage {
+    name = "readdir-scoped-modules-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.1.tgz";
+      name = "readdir-scoped-modules-1.0.1.tgz";
+      sha1 = "5c2a77f3e08250a8fddf53fa58cdc17900b808b9";
+    };
+    deps = {
+      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.1";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readdirp"."^1.2.0" =
+    self.by-version."readdirp"."1.3.0";
+  by-version."readdirp"."1.3.0" = self.buildNodePackage {
+    name = "readdirp-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readdirp/-/readdirp-1.3.0.tgz";
+      name = "readdirp-1.3.0.tgz";
+      sha1 = "eaf1a9b463be9a8190fc9ae163aa1ac934aa340b";
+    };
+    deps = {
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readdirp"."^1.3.0" =
+    self.by-version."readdirp"."1.3.0";
   by-spec."readdirp"."~0.2.3" =
     self.by-version."readdirp"."0.2.5";
-  by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-readdirp-0.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
-        name = "readdirp-0.2.5.tgz";
-        sha1 = "c4c276e52977ae25db5191fe51d008550f15d9bb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readdirp" or []);
-    deps = [
-      self.by-version."minimatch"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readdirp" ];
-  };
-  by-spec."recursive-readdir"."0.0.2" =
-    self.by-version."recursive-readdir"."0.0.2";
-  by-version."recursive-readdir"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-recursive-readdir-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz";
-        name = "recursive-readdir-0.0.2.tgz";
-        sha1 = "0bc47dc4838e646dccfba0507b5e57ffbff35f7c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."recursive-readdir" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "recursive-readdir" ];
+  by-version."readdirp"."0.2.5" = self.buildNodePackage {
+    name = "readdirp-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
+      name = "readdirp-0.2.5.tgz";
+      sha1 = "c4c276e52977ae25db5191fe51d008550f15d9bb";
+    };
+    deps = {
+      "minimatch-2.0.1" = self.by-version."minimatch"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readdirp"."~1.3.0" =
+    self.by-version."readdirp"."1.3.0";
+  by-spec."readline2"."~0.1.0" =
+    self.by-version."readline2"."0.1.1";
+  by-version."readline2"."0.1.1" = self.buildNodePackage {
+    name = "readline2-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz";
+      name = "readline2-0.1.1.tgz";
+      sha1 = "99443ba6e83b830ef3051bfd7dc241a82728d568";
+    };
+    deps = {
+      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
+      "strip-ansi-2.0.1" = self.by-version."strip-ansi"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."realize-package-specifier"."~1.3.0" =
+    self.by-version."realize-package-specifier"."1.3.0";
+  by-version."realize-package-specifier"."1.3.0" = self.buildNodePackage {
+    name = "realize-package-specifier-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-1.3.0.tgz";
+      name = "realize-package-specifier-1.3.0.tgz";
+      sha1 = "23374a84e6a9188483f346cc939eb58eec85efa5";
+    };
+    deps = {
+      "dezalgo-1.0.1" = self.by-version."dezalgo"."1.0.1";
+      "npm-package-arg-2.1.3" = self.by-version."npm-package-arg"."2.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."recast"."~0.10.0" =
+    self.by-version."recast"."0.10.0";
+  by-version."recast"."0.10.0" = self.buildNodePackage {
+    name = "recast-0.10.0";
+    version = "0.10.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/recast/-/recast-0.10.0.tgz";
+      name = "recast-0.10.0.tgz";
+      sha1 = "5c5a57f15faffb2efefed70039fbeddec25629f9";
+    };
+    deps = {
+      "esprima-fb-12001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."12001.1.0-dev-harmony-fb";
+      "source-map-0.3.0" = self.by-version."source-map"."0.3.0";
+      "private-0.1.6" = self.by-version."private"."0.1.6";
+      "ast-types-0.6.14" = self.by-version."ast-types"."0.6.14";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."recast"."~0.9.5" =
+    self.by-version."recast"."0.9.18";
+  by-version."recast"."0.9.18" = self.buildNodePackage {
+    name = "recast-0.9.18";
+    version = "0.9.18";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/recast/-/recast-0.9.18.tgz";
+      name = "recast-0.9.18.tgz";
+      sha1 = "f70921bb9f737d8e1fb06a440315bd7ec14587c9";
+    };
+    deps = {
+      "esprima-fb-10001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."10001.1.0-dev-harmony-fb";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+      "private-0.1.6" = self.by-version."private"."0.1.6";
+      "ast-types-0.6.14" = self.by-version."ast-types"."0.6.14";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."reconnect-core"."https://github.com/dodo/reconnect-core/tarball/merged" =
+    self.by-version."reconnect-core"."0.0.1";
+  by-version."reconnect-core"."0.0.1" = self.buildNodePackage {
+    name = "reconnect-core-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/dodo/reconnect-core/tarball/merged";
+      name = "reconnect-core-0.0.1.tgz";
+      sha256 = "431dd7a1578061815270e4ad59c6e8b40dff6b308244973e1c11049ccbf1629b";
+    };
+    deps = {
+      "backoff-2.3.0" = self.by-version."backoff"."2.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."redeyed"."~0.4.0" =
+    self.by-version."redeyed"."0.4.4";
+  by-version."redeyed"."0.4.4" = self.buildNodePackage {
+    name = "redeyed-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz";
+      name = "redeyed-0.4.4.tgz";
+      sha1 = "37e990a6f2b21b2a11c2e6a48fd4135698cba97f";
+    };
+    deps = {
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."redis"."*" =
     self.by-version."redis"."0.12.1";
-  by-version."redis"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.12.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
-        name = "redis-0.12.1.tgz";
-        sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."redis" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "redis" ];
+  by-version."redis"."0.12.1" = self.buildNodePackage {
+    name = "redis-0.12.1";
+    version = "0.12.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
+      name = "redis-0.12.1.tgz";
+      sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "redis" = self.by-version."redis"."0.12.1";
   by-spec."redis"."0.10.x" =
     self.by-version."redis"."0.10.3";
-  by-version."redis"."0.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.10.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
-        name = "redis-0.10.3.tgz";
-        sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."redis" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "redis" ];
-  };
-  by-spec."redis"."0.7.2" =
-    self.by-version."redis"."0.7.2";
-  by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.7.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.7.2.tgz";
-        name = "redis-0.7.2.tgz";
-        sha1 = "fa557fef4985ab3e3384fdc5be6e2541a0bb49af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."redis" or []);
-    deps = [
-      self.by-version."hiredis"."0.1.17"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "redis" ];
+  by-version."redis"."0.10.3" = self.buildNodePackage {
+    name = "redis-0.10.3";
+    version = "0.10.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
+      name = "redis-0.10.3.tgz";
+      sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."redis"."0.7.3" =
     self.by-version."redis"."0.7.3";
-  by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-redis-0.7.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
-        name = "redis-0.7.3.tgz";
-        sha1 = "ee57b7a44d25ec1594e44365d8165fa7d1d4811a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."redis" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "redis" ];
-  };
+  by-version."redis"."0.7.3" = self.buildNodePackage {
+    name = "redis-0.7.3";
+    version = "0.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
+      name = "redis-0.7.3.tgz";
+      sha1 = "ee57b7a44d25ec1594e44365d8165fa7d1d4811a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."redis"."^0.12.1" =
+    self.by-version."redis"."0.12.1";
   by-spec."redis"."~0.10.0" =
     self.by-version."redis"."0.10.3";
   by-spec."reds"."~0.2.4" =
-    self.by-version."reds"."0.2.4";
-  by-version."reds"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-reds-0.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/reds/-/reds-0.2.4.tgz";
-        name = "reds-0.2.4.tgz";
-        sha1 = "a82dcaaa52319635bc6eee3ef9c1ac074411de3c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."reds" or []);
-    deps = [
-      self.by-version."natural"."0.1.17"
-      self.by-version."redis"."0.7.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "reds" ];
+    self.by-version."reds"."0.2.5";
+  by-version."reds"."0.2.5" = self.buildNodePackage {
+    name = "reds-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/reds/-/reds-0.2.5.tgz";
+      name = "reds-0.2.5.tgz";
+      sha1 = "38a767f7663cd749036848697d82c74fd29bc01f";
+    };
+    deps = {
+      "natural-0.2.0" = self.by-version."natural"."0.2.0";
+      "redis-0.12.1" = self.by-version."redis"."0.12.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."reduce-component"."1.0.1" =
     self.by-version."reduce-component"."1.0.1";
-  by-version."reduce-component"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-reduce-component-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
-        name = "reduce-component-1.0.1.tgz";
-        sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."reduce-component" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "reduce-component" ];
+  by-version."reduce-component"."1.0.1" = self.buildNodePackage {
+    name = "reduce-component-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+      name = "reduce-component-1.0.1.tgz";
+      sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."regenerator"."~0.8.13" =
+    self.by-version."regenerator"."0.8.14";
+  by-version."regenerator"."0.8.14" = self.buildNodePackage {
+    name = "regenerator-0.8.14";
+    version = "0.8.14";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/regenerator/-/regenerator-0.8.14.tgz";
+      name = "regenerator-0.8.14.tgz";
+      sha1 = "29736fb2a8ceaaaeee0049c1babf514cace670f0";
+    };
+    deps = {
+      "commoner-0.10.1" = self.by-version."commoner"."0.10.1";
+      "esprima-fb-10001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."10001.1.0-dev-harmony-fb";
+      "recast-0.10.0" = self.by-version."recast"."0.10.0";
+      "private-0.1.6" = self.by-version."private"."0.1.6";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "defs-1.1.0" = self.by-version."defs"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."regexp-clone"."0.0.1" =
     self.by-version."regexp-clone"."0.0.1";
-  by-version."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-regexp-clone-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
-        name = "regexp-clone-0.0.1.tgz";
-        sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."regexp-clone" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "regexp-clone" ];
+  by-version."regexp-clone"."0.0.1" = self.buildNodePackage {
+    name = "regexp-clone-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
+      name = "regexp-clone-0.0.1.tgz";
+      sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."registry-url"."^0.1.0" =
+    self.by-version."registry-url"."0.1.1";
+  by-version."registry-url"."0.1.1" = self.buildNodePackage {
+    name = "registry-url-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/registry-url/-/registry-url-0.1.1.tgz";
+      name = "registry-url-0.1.1.tgz";
+      sha1 = "1739427b81b110b302482a1c7cd727ffcc82d5be";
+    };
+    deps = {
+      "npmconf-2.1.1" = self.by-version."npmconf"."2.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."registry-url"."^3.0.0" =
+    self.by-version."registry-url"."3.0.0";
+  by-version."registry-url"."3.0.0" = self.buildNodePackage {
+    name = "registry-url-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/registry-url/-/registry-url-3.0.0.tgz";
+      name = "registry-url-3.0.0.tgz";
+      sha1 = "8914166605792d03bdd11b05cd00b2b7688c3849";
+    };
+    deps = {
+      "rc-0.6.0" = self.by-version."rc"."0.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."repeating"."^1.1.0" =
+    self.by-version."repeating"."1.1.2";
+  by-version."repeating"."1.1.2" = self.buildNodePackage {
+    name = "repeating-1.1.2";
+    version = "1.1.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/repeating/-/repeating-1.1.2.tgz";
+      name = "repeating-1.1.2.tgz";
+      sha1 = "dcced290c4d22df9818746eb5257679d27fe0283";
+    };
+    deps = {
+      "is-finite-1.0.0" = self.by-version."is-finite"."1.0.0";
+      "meow-3.0.0" = self.by-version."meow"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."replace"."~0.2.4" =
-    self.by-version."replace"."0.2.9";
-  by-version."replace"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "replace-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/replace/-/replace-0.2.9.tgz";
-        name = "replace-0.2.9.tgz";
-        sha1 = "64428de4451717e8cc34965d2d133dd86dace404";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."replace" or []);
-    deps = [
-      self.by-version."nomnom"."1.6.2"
-      self.by-version."colors"."0.5.1"
-      self.by-version."minimatch"."0.2.14"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "replace" ];
+    self.by-version."replace"."0.2.10";
+  by-version."replace"."0.2.10" = self.buildNodePackage {
+    name = "replace-0.2.10";
+    version = "0.2.10";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/replace/-/replace-0.2.10.tgz";
+      name = "replace-0.2.10.tgz";
+      sha1 = "1123397e995b3bfef9985fc63cddcf79a014fd64";
+    };
+    deps = {
+      "nomnom-1.6.2" = self.by-version."nomnom"."1.6.2";
+      "colors-0.5.1" = self.by-version."colors"."0.5.1";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."replace-ext"."0.0.1" =
+    self.by-version."replace-ext"."0.0.1";
+  by-version."replace-ext"."0.0.1" = self.buildNodePackage {
+    name = "replace-ext-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz";
+      name = "replace-ext-0.0.1.tgz";
+      sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."request"."2" =
-    self.by-version."request"."2.40.0";
-  by-version."request"."2.40.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.40.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.40.0.tgz";
-        name = "request-2.40.0.tgz";
-        sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."1.0.2"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.1.1"
-      self.by-version."aws-sign2"."0.5.0"
-      self.by-version."stringstream"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
+    self.by-version."request"."2.53.0";
+  by-version."request"."2.53.0" = self.buildNodePackage {
+    name = "request-2.53.0";
+    version = "2.53.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.53.0.tgz";
+      name = "request-2.53.0.tgz";
+      sha1 = "180a3ae92b7b639802e4f9545dd8fcdeb71d760c";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.9.0" = self.by-version."caseless"."0.9.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.6.0" = self.by-version."oauth-sign"."0.6.0";
+      "hawk-2.3.1" = self.by-version."hawk"."2.3.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "isstream-0.1.1" = self.by-version."isstream"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."request"."2 >=2.20.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.53.0";
   by-spec."request"."2 >=2.25.0" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.53.0";
   by-spec."request"."2.16.x" =
     self.by-version."request"."2.16.6";
-  by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.16.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
-        name = "request-2.16.6.tgz";
-        sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."form-data"."0.0.10"
-      self.by-version."mime"."1.2.11"
-      self.by-version."hawk"."0.10.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."cookie-jar"."0.2.0"
-      self.by-version."aws-sign"."0.2.0"
-      self.by-version."oauth-sign"."0.2.0"
-      self.by-version."forever-agent"."0.2.0"
-      self.by-version."tunnel-agent"."0.2.0"
-      self.by-version."json-stringify-safe"."3.0.0"
-      self.by-version."qs"."0.5.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
+  by-version."request"."2.16.6" = self.buildNodePackage {
+    name = "request-2.16.6";
+    version = "2.16.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
+      name = "request-2.16.6.tgz";
+      sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
+    };
+    deps = {
+      "form-data-0.0.10" = self.by-version."form-data"."0.0.10";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "hawk-0.10.2" = self.by-version."hawk"."0.10.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "cookie-jar-0.2.0" = self.by-version."cookie-jar"."0.2.0";
+      "aws-sign-0.2.0" = self.by-version."aws-sign"."0.2.0";
+      "oauth-sign-0.2.0" = self.by-version."oauth-sign"."0.2.0";
+      "forever-agent-0.2.0" = self.by-version."forever-agent"."0.2.0";
+      "tunnel-agent-0.2.0" = self.by-version."tunnel-agent"."0.2.0";
+      "json-stringify-safe-3.0.0" = self.by-version."json-stringify-safe"."3.0.0";
+      "qs-0.5.6" = self.by-version."qs"."0.5.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.26.x" =
+    self.by-version."request"."2.26.0";
+  by-version."request"."2.26.0" = self.buildNodePackage {
+    name = "request-2.26.0";
+    version = "2.26.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.26.0.tgz";
+      name = "request-2.26.0.tgz";
+      sha1 = "79b03075cbac2e22ebe41aa7fca884e869c1c212";
+    };
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign-0.3.0" = self.by-version."aws-sign"."0.3.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "cookie-jar-0.3.0" = self.by-version."cookie-jar"."0.3.0";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.27.x" =
+    self.by-version."request"."2.27.0";
+  by-version."request"."2.27.0" = self.buildNodePackage {
+    name = "request-2.27.0";
+    version = "2.27.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
+      name = "request-2.27.0.tgz";
+      sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+    };
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign-0.3.0" = self.by-version."aws-sign"."0.3.0";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "cookie-jar-0.3.0" = self.by-version."cookie-jar"."0.3.0";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.29.0" =
+    self.by-version."request"."2.29.0";
+  by-version."request"."2.29.0" = self.buildNodePackage {
+    name = "request-2.29.0";
+    version = "2.29.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.29.0.tgz";
+      name = "request-2.29.0.tgz";
+      sha1 = "0d4b8de70d26a9911a8344af9a0e8edab81ff1c3";
+    };
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+    };
+    optionalDependencies = {
+      "tough-cookie-0.9.15" = self.by-version."tough-cookie"."0.9.15";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."request"."2.36.0" =
     self.by-version."request"."2.36.0";
-  by-version."request"."2.36.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.36.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.36.0.tgz";
-        name = "request-2.36.0.tgz";
-        sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime"."1.2.11"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
+  by-version."request"."2.36.0" = self.buildNodePackage {
+    name = "request-2.36.0";
+    version = "2.36.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.36.0.tgz";
+      name = "request-2.36.0.tgz";
+      sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5";
+    };
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+    };
+    optionalDependencies = {
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.40.0" =
+    self.by-version."request"."2.40.0";
+  by-version."request"."2.40.0" = self.buildNodePackage {
+    name = "request-2.40.0";
+    version = "2.40.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.40.0.tgz";
+      name = "request-2.40.0.tgz";
+      sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
+    };
+    deps = {
+      "qs-1.0.2" = self.by-version."qs"."1.0.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+    };
+    optionalDependencies = {
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.42.0" =
+    self.by-version."request"."2.42.0";
+  by-version."request"."2.42.0" = self.buildNodePackage {
+    name = "request-2.42.0";
+    version = "2.42.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.42.0.tgz";
+      name = "request-2.42.0.tgz";
+      sha1 = "572bd0148938564040ac7ab148b96423a063304a";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+    };
+    optionalDependencies = {
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.47.0" =
+    self.by-version."request"."2.47.0";
+  by-version."request"."2.47.0" = self.buildNodePackage {
+    name = "request-2.47.0";
+    version = "2.47.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.47.0.tgz";
+      name = "request-2.47.0.tgz";
+      sha1 = "09e9fd1a4fed6593a805ef8202b20f0c5ecb485f";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."request"."2.9.x" =
     self.by-version."request"."2.9.203";
-  by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.9.203";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.9.203.tgz";
-        name = "request-2.9.203.tgz";
-        sha1 = "6c1711a5407fb94a114219563e44145bcbf4723a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request"."^2.36.0" =
-    self.by-version."request"."2.40.0";
+  by-version."request"."2.9.203" = self.buildNodePackage {
+    name = "request-2.9.203";
+    version = "2.9.203";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.9.203.tgz";
+      name = "request-2.9.203.tgz";
+      sha1 = "6c1711a5407fb94a114219563e44145bcbf4723a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."2.x" =
+    self.by-version."request"."2.53.0";
+  by-spec."request"."2.x.x" =
+    self.by-version."request"."2.53.0";
+  by-spec."request"."=2.45.0" =
+    self.by-version."request"."2.45.0";
+  by-version."request"."2.45.0" = self.buildNodePackage {
+    name = "request-2.45.0";
+    version = "2.45.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.45.0.tgz";
+      name = "request-2.45.0.tgz";
+      sha1 = "29d713a0a07f17fb2e7b61815d2010681718e93c";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+    };
+    optionalDependencies = {
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request".">= 2.2.9" =
+    self.by-version."request"."2.53.0";
+  by-spec."request".">= 2.9.153" =
+    self.by-version."request"."2.53.0";
+  by-spec."request".">=2.2.9" =
+    self.by-version."request"."2.53.0";
+  by-spec."request".">=2.27.0" =
+    self.by-version."request"."2.53.0";
+  by-spec."request".">=2.29.1" =
+    self.by-version."request"."2.53.0";
+  by-spec."request".">=2.30.1" =
+    self.by-version."request"."2.53.0";
+  by-spec."request"."^2.34.0" =
+    self.by-version."request"."2.53.0";
+  by-spec."request"."^2.40.0" =
+    self.by-version."request"."2.53.0";
+  by-spec."request"."^2.47.0" =
+    self.by-version."request"."2.53.0";
+  by-spec."request"."^2.51.0" =
+    self.by-version."request"."2.53.0";
   by-spec."request"."~2" =
-    self.by-version."request"."2.40.0";
+    self.by-version."request"."2.53.0";
+  by-spec."request"."~2.16.2" =
+    self.by-version."request"."2.16.6";
   by-spec."request"."~2.27.0" =
     self.by-version."request"."2.27.0";
-  by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.27.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        name = "request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign"."0.3.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."cookie-jar"."0.3.0"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."form-data"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request"."~2.30.0" =
-    self.by-version."request"."2.30.0";
-  by-version."request"."2.30.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.30.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz";
-        name = "request-2.30.0.tgz";
-        sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."tough-cookie"."0.9.15"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
   by-spec."request"."~2.34.0" =
     self.by-version."request"."2.34.0";
-  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.34.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
-        name = "request-2.34.0.tgz";
-        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."mime"."1.2.11"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.3.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.0.0"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request"."~2.37.0" =
-    self.by-version."request"."2.37.0";
-  by-version."request"."2.37.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-2.37.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.37.0.tgz";
-        name = "request-2.37.0.tgz";
-        sha1 = "6c04c1f0f34af0c8b7408f1c1e30d4d6bd852d46";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."json-stringify-safe"."5.0.0"
-      self.by-version."mime-types"."1.0.2"
-      self.by-version."forever-agent"."0.5.2"
-      self.by-version."node-uuid"."1.4.1"
-      self.by-version."tough-cookie"."0.12.1"
-      self.by-version."form-data"."0.1.4"
-      self.by-version."tunnel-agent"."0.4.0"
-      self.by-version."http-signature"."0.10.0"
-      self.by-version."oauth-sign"."0.3.0"
-      self.by-version."hawk"."1.1.1"
-      self.by-version."aws-sign2"."0.5.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  by-spec."request-progress"."^0.3.1" =
+  by-version."request"."2.34.0" = self.buildNodePackage {
+    name = "request-2.34.0";
+    version = "2.34.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
+      name = "request-2.34.0.tgz";
+      sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
+    };
+    deps = {
+      "qs-0.6.6" = self.by-version."qs"."0.6.6";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+    };
+    optionalDependencies = {
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."~2.40.0" =
+    self.by-version."request"."2.40.0";
+  by-spec."request"."~2.42.0" =
+    self.by-version."request"."2.42.0";
+  by-spec."request"."~2.46.0" =
+    self.by-version."request"."2.46.0";
+  by-version."request"."2.46.0" = self.buildNodePackage {
+    name = "request-2.46.0";
+    version = "2.46.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.46.0.tgz";
+      name = "request-2.46.0.tgz";
+      sha1 = "359195d52eaf720bc69742579d04ad6d265a8274";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "qs-1.2.2" = self.by-version."qs"."1.2.2";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."~2.48.0" =
+    self.by-version."request"."2.48.0";
+  by-version."request"."2.48.0" = self.buildNodePackage {
+    name = "request-2.48.0";
+    version = "2.48.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.48.0.tgz";
+      name = "request-2.48.0.tgz";
+      sha1 = "3ae2e091c9698282d58a0e6989ece2638f0f1f28";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.7.0" = self.by-version."caseless"."0.7.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.5.0" = self.by-version."oauth-sign"."0.5.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."~2.51.0" =
+    self.by-version."request"."2.51.0";
+  by-version."request"."2.51.0" = self.buildNodePackage {
+    name = "request-2.51.0";
+    version = "2.51.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.51.0.tgz";
+      name = "request-2.51.0.tgz";
+      sha1 = "35d00bbecc012e55f907b1bd9e0dbd577bfef26e";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.8.0" = self.by-version."caseless"."0.8.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.5.0" = self.by-version."oauth-sign"."0.5.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."~2.53.0" =
+    self.by-version."request"."2.53.0";
+  by-spec."request-progress"."0.3.0" =
+    self.by-version."request-progress"."0.3.0";
+  by-version."request-progress"."0.3.0" = self.buildNodePackage {
+    name = "request-progress-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.0.tgz";
+      name = "request-progress-0.3.0.tgz";
+      sha1 = "bdf2062bfc197c5d492500d44cb3aff7865b492e";
+    };
+    deps = {
+      "throttleit-0.0.2" = self.by-version."throttleit"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request-progress"."0.3.1" =
     self.by-version."request-progress"."0.3.1";
-  by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-request-progress-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
-        name = "request-progress-0.3.1.tgz";
-        sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request-progress" or []);
-    deps = [
-      self.by-version."throttleit"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request-progress" ];
+  by-version."request-progress"."0.3.1" = self.buildNodePackage {
+    name = "request-progress-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
+      name = "request-progress-0.3.1.tgz";
+      sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
+    };
+    deps = {
+      "throttleit-0.0.2" = self.by-version."throttleit"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request-replay"."~0.2.0" =
+    self.by-version."request-replay"."0.2.0";
+  by-version."request-replay"."0.2.0" = self.buildNodePackage {
+    name = "request-replay-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz";
+      name = "request-replay-0.2.0.tgz";
+      sha1 = "9b693a5d118b39f5c596ead5ed91a26444057f60";
+    };
+    deps = {
+      "retry-0.6.1" = self.by-version."retry"."0.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."requirejs"."~2.1" =
-    self.by-version."requirejs"."2.1.14";
-  by-version."requirejs"."2.1.14" = lib.makeOverridable self.buildNodePackage {
-    name = "requirejs-2.1.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.14.tgz";
-        name = "requirejs-2.1.14.tgz";
-        sha1 = "de00290aa526192ff8df4dc0ba9370ce399a76b0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."requirejs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "requirejs" ];
+    self.by-version."requirejs"."2.1.16";
+  by-version."requirejs"."2.1.16" = self.buildNodePackage {
+    name = "requirejs-2.1.16";
+    version = "2.1.16";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.16.tgz";
+      name = "requirejs-2.1.16.tgz";
+      sha1 = "e0203095c6e09721477c40ebdb64e20f2cdc71be";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."requirejs"."~2.1.0" =
-    self.by-version."requirejs"."2.1.14";
-  by-spec."resolve"."0.7.4" =
-    self.by-version."resolve"."0.7.4";
-  by-version."resolve"."0.7.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-resolve-0.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz";
-        name = "resolve-0.7.4.tgz";
-        sha1 = "395a9ef9e873fbfe12bd14408bd91bb936003d69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."resolve" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "resolve" ];
+    self.by-version."requirejs"."2.1.16";
+  by-spec."resanitize"."~0.3.0" =
+    self.by-version."resanitize"."0.3.0";
+  by-version."resanitize"."0.3.0" = self.buildNodePackage {
+    name = "resanitize-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/resanitize/-/resanitize-0.3.0.tgz";
+      name = "resanitize-0.3.0.tgz";
+      sha1 = "dfcb2bf2ae1df2838439ed6cd04c78845c532353";
+    };
+    deps = {
+      "validator-1.5.1" = self.by-version."validator"."1.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."resolve"."0.6.3" =
+    self.by-version."resolve"."0.6.3";
+  by-version."resolve"."0.6.3" = self.buildNodePackage {
+    name = "resolve-0.6.3";
+    version = "0.6.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz";
+      name = "resolve-0.6.3.tgz";
+      sha1 = "dd957982e7e736debdf53b58a4dd91754575dd46";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."resolve"."0.7.x" =
     self.by-version."resolve"."0.7.4";
+  by-version."resolve"."0.7.4" = self.buildNodePackage {
+    name = "resolve-0.7.4";
+    version = "0.7.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz";
+      name = "resolve-0.7.4.tgz";
+      sha1 = "395a9ef9e873fbfe12bd14408bd91bb936003d69";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."resolve"."1.1.5" =
+    self.by-version."resolve"."1.1.5";
+  by-version."resolve"."1.1.5" = self.buildNodePackage {
+    name = "resolve-1.1.5";
+    version = "1.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/resolve/-/resolve-1.1.5.tgz";
+      name = "resolve-1.1.5.tgz";
+      sha1 = "3b74c0c44cdf5eee32322b2cda0a4acbf6970fa7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."resolve"."^1.1.3" =
+    self.by-version."resolve"."1.1.5";
+  by-spec."resolve"."^1.1.4" =
+    self.by-version."resolve"."1.1.5";
   by-spec."resolve"."~0.3.0" =
     self.by-version."resolve"."0.3.1";
-  by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-resolve-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";
-        name = "resolve-0.3.1.tgz";
-        sha1 = "34c63447c664c70598d1c9b126fc43b2a24310a4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."resolve" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "resolve" ];
+  by-version."resolve"."0.3.1" = self.buildNodePackage {
+    name = "resolve-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";
+      name = "resolve-0.3.1.tgz";
+      sha1 = "34c63447c664c70598d1c9b126fc43b2a24310a4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."resolve"."~0.3.1" =
     self.by-version."resolve"."0.3.1";
+  by-spec."resolve"."~0.6.0" =
+    self.by-version."resolve"."0.6.3";
   by-spec."resolve"."~0.7.1" =
     self.by-version."resolve"."0.7.4";
-  by-spec."resolve"."~0.7.2" =
-    self.by-version."resolve"."0.7.4";
+  by-spec."resolve"."~1.0.0" =
+    self.by-version."resolve"."1.0.0";
+  by-version."resolve"."1.0.0" = self.buildNodePackage {
+    name = "resolve-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/resolve/-/resolve-1.0.0.tgz";
+      name = "resolve-1.0.0.tgz";
+      sha1 = "2a6e3b314dcd57c6519e8e2282af8687e8de61c6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."response-time"."1.0.0" =
+    self.by-version."response-time"."1.0.0";
+  by-version."response-time"."1.0.0" = self.buildNodePackage {
+    name = "response-time-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/response-time/-/response-time-1.0.0.tgz";
+      name = "response-time-1.0.0.tgz";
+      sha1 = "c2bc8d08f3c359f97eae1d6da86eead175fabdc9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."response-time"."~2.0.1" =
     self.by-version."response-time"."2.0.1";
-  by-version."response-time"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-response-time-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/response-time/-/response-time-2.0.1.tgz";
-        name = "response-time-2.0.1.tgz";
-        sha1 = "c6d2cbadeac4cb251b21016fe182640c02aff343";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."response-time" or []);
-    deps = [
-      self.by-version."on-headers"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "response-time" ];
+  by-version."response-time"."2.0.1" = self.buildNodePackage {
+    name = "response-time-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/response-time/-/response-time-2.0.1.tgz";
+      name = "response-time-2.0.1.tgz";
+      sha1 = "c6d2cbadeac4cb251b21016fe182640c02aff343";
+    };
+    deps = {
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."response-time"."~2.3.0" =
+    self.by-version."response-time"."2.3.0";
+  by-version."response-time"."2.3.0" = self.buildNodePackage {
+    name = "response-time-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/response-time/-/response-time-2.3.0.tgz";
+      name = "response-time-2.3.0.tgz";
+      sha1 = "27cf2194fa373ef02c04781287416a3138060b68";
+    };
+    deps = {
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."restify"."2.4.1" =
     self.by-version."restify"."2.4.1";
-  by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."restify"."2.4.1" = self.buildNodePackage {
     name = "restify-2.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
-        name = "restify-2.4.1.tgz";
-        sha1 = "35790a052bd0927e7f6a06cc3d079e56fabc9371";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."restify" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."backoff"."2.1.0"
-      self.by-version."bunyan"."0.21.1"
-      self.by-version."deep-equal"."0.0.0"
-      self.by-version."formidable"."1.0.13"
-      self.by-version."http-signature"."0.9.11"
-      self.by-version."keep-alive-agent"."0.0.1"
-      self.by-version."lru-cache"."2.3.0"
-      self.by-version."mime"."1.2.9"
-      self.by-version."negotiator"."0.2.5"
-      self.by-version."node-uuid"."1.4.0"
-      self.by-version."once"."1.1.1"
-      self.by-version."qs"."0.5.5"
-      self.by-version."semver"."1.1.4"
-      self.by-version."spdy"."1.7.1"
-      self.by-version."verror"."1.3.6"
-      self.by-version."dtrace-provider"."0.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "restify" ];
+    version = "2.4.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
+      name = "restify-2.4.1.tgz";
+      sha1 = "35790a052bd0927e7f6a06cc3d079e56fabc9371";
+    };
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "backoff-2.1.0" = self.by-version."backoff"."2.1.0";
+      "bunyan-0.21.1" = self.by-version."bunyan"."0.21.1";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "formidable-1.0.13" = self.by-version."formidable"."1.0.13";
+      "http-signature-0.9.11" = self.by-version."http-signature"."0.9.11";
+      "keep-alive-agent-0.0.1" = self.by-version."keep-alive-agent"."0.0.1";
+      "lru-cache-2.3.0" = self.by-version."lru-cache"."2.3.0";
+      "mime-1.2.9" = self.by-version."mime"."1.2.9";
+      "negotiator-0.2.5" = self.by-version."negotiator"."0.2.5";
+      "node-uuid-1.4.0" = self.by-version."node-uuid"."1.4.0";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "qs-0.5.5" = self.by-version."qs"."0.5.5";
+      "semver-1.1.4" = self.by-version."semver"."1.1.4";
+      "spdy-1.7.1" = self.by-version."spdy"."1.7.1";
+      "verror-1.3.6" = self.by-version."verror"."1.3.6";
+    };
+    optionalDependencies = {
+      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ret"."~0.1.6" =
+    self.by-version."ret"."0.1.10";
+  by-version."ret"."0.1.10" = self.buildNodePackage {
+    name = "ret-0.1.10";
+    version = "0.1.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ret/-/ret-0.1.10.tgz";
+      name = "ret-0.1.10.tgz";
+      sha1 = "7bda7048cb6b0566617d3b15a3345f712060a1a4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."rethinkdb"."*" =
-    self.by-version."rethinkdb"."1.13.0-3";
-  by-version."rethinkdb"."1.13.0-3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rethinkdb-1.13.0-3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.13.0-3.tgz";
-        name = "rethinkdb-1.13.0-3.tgz";
-        sha1 = "67db23e23ac3ff40fd4738414fc14d1935e6009e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rethinkdb" or []);
-    deps = [
-      self.by-version."bluebird"."2.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rethinkdb" ];
-  };
-  "rethinkdb" = self.by-version."rethinkdb"."1.13.0-3";
+    self.by-version."rethinkdb"."1.16.1";
+  by-version."rethinkdb"."1.16.1" = self.buildNodePackage {
+    name = "rethinkdb-1.16.1";
+    version = "1.16.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.16.1.tgz";
+      name = "rethinkdb-1.16.1.tgz";
+      sha1 = "b18d6cbea75564bffdc14f972369d20f5c35b9e6";
+    };
+    deps = {
+      "bluebird-2.9.12" = self.by-version."bluebird"."2.9.12";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "rethinkdb" = self.by-version."rethinkdb"."1.16.1";
   by-spec."retry"."0.6.0" =
     self.by-version."retry"."0.6.0";
-  by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-retry-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        name = "retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."retry" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "retry" ];
+  by-version."retry"."0.6.0" = self.buildNodePackage {
+    name = "retry-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
+      name = "retry-0.6.0.tgz";
+      sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."retry"."^0.6.1" =
+    self.by-version."retry"."0.6.1";
+  by-version."retry"."0.6.1" = self.buildNodePackage {
+    name = "retry-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/retry/-/retry-0.6.1.tgz";
+      name = "retry-0.6.1.tgz";
+      sha1 = "fdc90eed943fde11b893554b8cc63d0e899ba918";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."retry"."~0.6.0" =
     self.by-version."retry"."0.6.1";
-  by-version."retry"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-retry-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/retry/-/retry-0.6.1.tgz";
-        name = "retry-0.6.1.tgz";
-        sha1 = "fdc90eed943fde11b893554b8cc63d0e899ba918";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."retry" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "retry" ];
-  };
+  by-spec."retry"."~0.6.1" =
+    self.by-version."retry"."0.6.1";
   by-spec."revalidator"."0.1.x" =
     self.by-version."revalidator"."0.1.8";
-  by-version."revalidator"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-revalidator-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz";
-        name = "revalidator-0.1.8.tgz";
-        sha1 = "fece61bfa0c1b52a206bd6b18198184bdd523a3b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."revalidator" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "revalidator" ];
+  by-version."revalidator"."0.1.8" = self.buildNodePackage {
+    name = "revalidator-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz";
+      name = "revalidator-0.1.8.tgz";
+      sha1 = "fece61bfa0c1b52a206bd6b18198184bdd523a3b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."rfile"."~1.0" =
     self.by-version."rfile"."1.0.0";
-  by-version."rfile"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rfile-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz";
-        name = "rfile-1.0.0.tgz";
-        sha1 = "59708cf90ca1e74c54c3cfc5c36fdb9810435261";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rfile" or []);
-    deps = [
-      self.by-version."callsite"."1.0.0"
-      self.by-version."resolve"."0.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rfile" ];
+  by-version."rfile"."1.0.0" = self.buildNodePackage {
+    name = "rfile-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz";
+      name = "rfile-1.0.0.tgz";
+      sha1 = "59708cf90ca1e74c54c3cfc5c36fdb9810435261";
+    };
+    deps = {
+      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
+      "resolve-0.3.1" = self.by-version."resolve"."0.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."rfile"."~1.0.0" =
     self.by-version."rfile"."1.0.0";
   by-spec."rimraf"."1.x.x" =
     self.by-version."rimraf"."1.0.9";
-  by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-1.0.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
-        name = "rimraf-1.0.9.tgz";
-        sha1 = "be4801ff76c2ba6f1c50c78e9700eb1d21f239f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
+  by-version."rimraf"."1.0.9" = self.buildNodePackage {
+    name = "rimraf-1.0.9";
+    version = "1.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
+      name = "rimraf-1.0.9.tgz";
+      sha1 = "be4801ff76c2ba6f1c50c78e9700eb1d21f239f1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."rimraf"."2" =
     self.by-version."rimraf"."2.2.8";
-  by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
+  by-version."rimraf"."2.2.8" = self.buildNodePackage {
     name = "rimraf-2.2.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
-        name = "rimraf-2.2.8.tgz";
-        sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
+    version = "2.2.8";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+      name = "rimraf-2.2.8.tgz";
+      sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rimraf"."2.2.6" =
+    self.by-version."rimraf"."2.2.6";
+  by-version."rimraf"."2.2.6" = self.buildNodePackage {
+    name = "rimraf-2.2.6";
+    version = "2.2.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz";
+      name = "rimraf-2.2.6.tgz";
+      sha1 = "c59597569b14d956ad29cacc42bdddf5f0ea4f4c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."rimraf"."2.x.x" =
     self.by-version."rimraf"."2.2.8";
+  by-spec."rimraf".">=2.2.6" =
+    self.by-version."rimraf"."2.2.8";
+  by-spec."rimraf"."^2.2.5" =
+    self.by-version."rimraf"."2.2.8";
   by-spec."rimraf"."^2.2.8" =
     self.by-version."rimraf"."2.2.8";
   by-spec."rimraf"."~2" =
     self.by-version."rimraf"."2.2.8";
   by-spec."rimraf"."~2.1.4" =
     self.by-version."rimraf"."2.1.4";
-  by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rimraf-2.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-        name = "rimraf-2.1.4.tgz";
-        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = [
-      self.by-version."graceful-fs"."1.2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
+  by-version."rimraf"."2.1.4" = self.buildNodePackage {
+    name = "rimraf-2.1.4";
+    version = "2.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
+      name = "rimraf-2.1.4.tgz";
+      sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."rimraf"."~2.2.0" =
     self.by-version."rimraf"."2.2.8";
-  by-spec."rimraf"."~2.2.2" =
-    self.by-version."rimraf"."2.2.8";
   by-spec."rimraf"."~2.2.5" =
     self.by-version."rimraf"."2.2.8";
   by-spec."rimraf"."~2.2.6" =
@@ -16041,3582 +33209,6597 @@
     self.by-version."rimraf"."2.2.8";
   by-spec."ripemd160"."0.2.0" =
     self.by-version."ripemd160"."0.2.0";
-  by-version."ripemd160"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ripemd160-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz";
-        name = "ripemd160-0.2.0.tgz";
-        sha1 = "2bf198bde167cacfa51c0a928e84b68bbe171fce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ripemd160" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ripemd160" ];
-  };
-  by-spec."rndm"."1" =
-    self.by-version."rndm"."1.0.0";
-  by-version."rndm"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-rndm-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rndm/-/rndm-1.0.0.tgz";
-        name = "rndm-1.0.0.tgz";
-        sha1 = "dcb6eb485b9b416d15e097f39c31458e4cfda2da";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rndm" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rndm" ];
+  by-version."ripemd160"."0.2.0" = self.buildNodePackage {
+    name = "ripemd160-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz";
+      name = "ripemd160-0.2.0.tgz";
+      sha1 = "2bf198bde167cacfa51c0a928e84b68bbe171fce";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ripemd160"."^1.0.0" =
+    self.by-version."ripemd160"."1.0.0";
+  by-version."ripemd160"."1.0.0" = self.buildNodePackage {
+    name = "ripemd160-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ripemd160/-/ripemd160-1.0.0.tgz";
+      name = "ripemd160-1.0.0.tgz";
+      sha1 = "15fd251d56e58848840f3d5864a5cfbb259114c7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rndm"."~1.1.0" =
+    self.by-version."rndm"."1.1.0";
+  by-version."rndm"."1.1.0" = self.buildNodePackage {
+    name = "rndm-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rndm/-/rndm-1.1.0.tgz";
+      name = "rndm-1.1.0.tgz";
+      sha1 = "01d1a8f1fb9b471181925b627b9049bf33074574";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."router"."^0.6.2" =
+    self.by-version."router"."0.6.2";
+  by-version."router"."0.6.2" = self.buildNodePackage {
+    name = "router-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/router/-/router-0.6.2.tgz";
+      name = "router-0.6.2.tgz";
+      sha1 = "6f04063a2d04eba3303a1bbc6765eef63037cf3d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rss".">=0.2.1" =
+    self.by-version."rss"."1.1.1";
+  by-version."rss"."1.1.1" = self.buildNodePackage {
+    name = "rss-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rss/-/rss-1.1.1.tgz";
+      name = "rss-1.1.1.tgz";
+      sha1 = "eb240f55e48bda42b9f546be5fc659221a95c72c";
+    };
+    deps = {
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+      "xml-1.0.0" = self.by-version."xml"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ruglify"."~1.0.0" =
     self.by-version."ruglify"."1.0.0";
-  by-version."ruglify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-ruglify-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz";
-        name = "ruglify-1.0.0.tgz";
-        sha1 = "dc8930e2a9544a274301cc9972574c0d0986b675";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ruglify" or []);
-    deps = [
-      self.by-version."rfile"."1.0.0"
-      self.by-version."uglify-js"."2.2.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ruglify" ];
+  by-version."ruglify"."1.0.0" = self.buildNodePackage {
+    name = "ruglify-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz";
+      name = "ruglify-1.0.0.tgz";
+      sha1 = "dc8930e2a9544a274301cc9972574c0d0986b675";
+    };
+    deps = {
+      "rfile-1.0.0" = self.by-version."rfile"."1.0.0";
+      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."run-applescript"."^1.0.0" =
+    self.by-version."run-applescript"."1.0.1";
+  by-version."run-applescript"."1.0.1" = self.buildNodePackage {
+    name = "run-applescript-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/run-applescript/-/run-applescript-1.0.1.tgz";
+      name = "run-applescript-1.0.1.tgz";
+      sha1 = "9f0be74a910dcea702caba65f747563706e86fe2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."run-applescript"."^1.0.1" =
+    self.by-version."run-applescript"."1.0.1";
+  by-spec."run-parallel"."^1.0.0" =
+    self.by-version."run-parallel"."1.0.0";
+  by-version."run-parallel"."1.0.0" = self.buildNodePackage {
+    name = "run-parallel-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/run-parallel/-/run-parallel-1.0.0.tgz";
+      name = "run-parallel-1.0.0.tgz";
+      sha1 = "1dd0787f994d17f8d1bbe7e910e0cc3036800cbc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."run-series"."^1.0.2" =
+    self.by-version."run-series"."1.0.2";
+  by-version."run-series"."1.0.2" = self.buildNodePackage {
+    name = "run-series-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/run-series/-/run-series-1.0.2.tgz";
+      name = "run-series-1.0.2.tgz";
+      sha1 = "63d0d361b9aa2509c85bd790810a8bd9d302bc8e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."runforcover"."~0.0.2" =
+    self.by-version."runforcover"."0.0.2";
+  by-version."runforcover"."0.0.2" = self.buildNodePackage {
+    name = "runforcover-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz";
+      name = "runforcover-0.0.2.tgz";
+      sha1 = "344f057d8d45d33aebc6cc82204678f69c4857cc";
+    };
+    deps = {
+      "bunker-0.1.2" = self.by-version."bunker"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rusha-browserify"."^0.7.3" =
+    self.by-version."rusha-browserify"."0.7.3";
+  by-version."rusha-browserify"."0.7.3" = self.buildNodePackage {
+    name = "rusha-browserify-0.7.3";
+    version = "0.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rusha-browserify/-/rusha-browserify-0.7.3.tgz";
+      name = "rusha-browserify-0.7.3.tgz";
+      sha1 = "03b313892e287021cc2fc391e2c154fd7d79aef2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rx"."^2.2.27" =
+    self.by-version."rx"."2.4.0";
+  by-version."rx"."2.4.0" = self.buildNodePackage {
+    name = "rx-2.4.0";
+    version = "2.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rx/-/rx-2.4.0.tgz";
+      name = "rx-2.4.0.tgz";
+      sha1 = "8cd40d4fb393d43851286f4b22aa7db60ac92fe1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."s3http"."*" =
     self.by-version."s3http"."0.0.5";
-  by-version."s3http"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-version."s3http"."0.0.5" = self.buildNodePackage {
     name = "s3http-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/s3http/-/s3http-0.0.5.tgz";
-        name = "s3http-0.0.5.tgz";
-        sha1 = "c8fa1fffb8258ce68adf75df73f90fbb6f23d198";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."s3http" or []);
-    deps = [
-      self.by-version."aws-sdk"."1.18.0"
-      self.by-version."commander"."2.0.0"
-      self.by-version."http-auth"."2.0.7"
-      self.by-version."express"."3.4.4"
-      self.by-version."everyauth"."0.4.5"
-      self.by-version."string"."1.6.1"
-      self.by-version."util"."0.4.9"
-      self.by-version."crypto"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "s3http" ];
+    version = "0.0.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/s3http/-/s3http-0.0.5.tgz";
+      name = "s3http-0.0.5.tgz";
+      sha1 = "c8fa1fffb8258ce68adf75df73f90fbb6f23d198";
+    };
+    deps = {
+      "aws-sdk-1.18.0" = self.by-version."aws-sdk"."1.18.0";
+      "commander-2.0.0" = self.by-version."commander"."2.0.0";
+      "http-auth-2.0.7" = self.by-version."http-auth"."2.0.7";
+      "express-3.4.4" = self.by-version."express"."3.4.4";
+      "everyauth-0.4.5" = self.by-version."everyauth"."0.4.5";
+      "string-1.6.1" = self.by-version."string"."1.6.1";
+      "util-0.4.9" = self.by-version."util"."0.4.9";
+      "crypto-0.0.3" = self.by-version."crypto"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "s3http" = self.by-version."s3http"."0.0.5";
+  by-spec."safe-regex"."0.0.1" =
+    self.by-version."safe-regex"."0.0.1";
+  by-version."safe-regex"."0.0.1" = self.buildNodePackage {
+    name = "safe-regex-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/safe-regex/-/safe-regex-0.0.1.tgz";
+      name = "safe-regex-0.0.1.tgz";
+      sha1 = "350ae32b49b7dc75d1cac3a18cb8b375a94ef15c";
+    };
+    deps = {
+      "ret-0.1.10" = self.by-version."ret"."0.1.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."samsam"."~1.1" =
-    self.by-version."samsam"."1.1.1";
-  by-version."samsam"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-samsam-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/samsam/-/samsam-1.1.1.tgz";
-        name = "samsam-1.1.1.tgz";
-        sha1 = "48d64ee2a7aecaaeccebe2f0a68a49687d3a49b1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."samsam" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "samsam" ];
+    self.by-version."samsam"."1.1.2";
+  by-version."samsam"."1.1.2" = self.buildNodePackage {
+    name = "samsam-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz";
+      name = "samsam-1.1.2.tgz";
+      sha1 = "bec11fdc83a9fda063401210e40176c3024d1567";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sauce-connect-launcher"."~0.6.0" =
     self.by-version."sauce-connect-launcher"."0.6.1";
-  by-version."sauce-connect-launcher"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sauce-connect-launcher-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.6.1.tgz";
-        name = "sauce-connect-launcher-0.6.1.tgz";
-        sha1 = "a770184d8d9860cbb1e76c344af28cdf5d0e247a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sauce-connect-launcher" or []);
-    deps = [
-      self.by-version."lodash"."2.4.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."rimraf"."2.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sauce-connect-launcher" ];
+  by-version."sauce-connect-launcher"."0.6.1" = self.buildNodePackage {
+    name = "sauce-connect-launcher-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.6.1.tgz";
+      name = "sauce-connect-launcher-0.6.1.tgz";
+      sha1 = "a770184d8d9860cbb1e76c344af28cdf5d0e247a";
+    };
+    deps = {
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "adm-zip-0.4.7" = self.by-version."adm-zip"."0.4.7";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."saucelabs"."~0.1.0" =
     self.by-version."saucelabs"."0.1.1";
-  by-version."saucelabs"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-saucelabs-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz";
-        name = "saucelabs-0.1.1.tgz";
-        sha1 = "5e0ea1cf3d735d6ea15fde94b5bda6bc15d2c06d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."saucelabs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "saucelabs" ];
+  by-version."saucelabs"."0.1.1" = self.buildNodePackage {
+    name = "saucelabs-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz";
+      name = "saucelabs-0.1.1.tgz";
+      sha1 = "5e0ea1cf3d735d6ea15fde94b5bda6bc15d2c06d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sax"."0.3.5" =
+    self.by-version."sax"."0.3.5";
+  by-version."sax"."0.3.5" = self.buildNodePackage {
+    name = "sax-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sax/-/sax-0.3.5.tgz";
+      name = "sax-0.3.5.tgz";
+      sha1 = "88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sax"."0.4.2" =
     self.by-version."sax"."0.4.2";
-  by-version."sax"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.4.2.tgz";
-        name = "sax-0.4.2.tgz";
-        sha1 = "39f3b601733d6bec97105b242a2a40fd6978ac3c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sax" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sax" ];
+  by-version."sax"."0.4.2" = self.buildNodePackage {
+    name = "sax-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sax/-/sax-0.4.2.tgz";
+      name = "sax-0.4.2.tgz";
+      sha1 = "39f3b601733d6bec97105b242a2a40fd6978ac3c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sax"."0.5.x" =
     self.by-version."sax"."0.5.8";
-  by-version."sax"."0.5.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.5.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
-        name = "sax-0.5.8.tgz";
-        sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sax" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sax" ];
+  by-version."sax"."0.5.8" = self.buildNodePackage {
+    name = "sax-0.5.8";
+    version = "0.5.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
+      name = "sax-0.5.8.tgz";
+      sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sax"."0.6.x" =
-    self.by-version."sax"."0.6.0";
-  by-version."sax"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sax-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.6.0.tgz";
-        name = "sax-0.6.0.tgz";
-        sha1 = "7a155519b712e3ec56f102ab984f15e15d3859f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sax" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sax" ];
+    self.by-version."sax"."0.6.1";
+  by-version."sax"."0.6.1" = self.buildNodePackage {
+    name = "sax-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sax/-/sax-0.6.1.tgz";
+      name = "sax-0.6.1.tgz";
+      sha1 = "563b19c7c1de892e09bfc4f2fc30e3c27f0952b9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sax".">=0.4.2" =
-    self.by-version."sax"."0.6.0";
-  by-spec."scmp"."~0.0.3" =
+    self.by-version."sax"."0.6.1";
+  by-spec."sax"."~0.6.0" =
+    self.by-version."sax"."0.6.1";
+  by-spec."scmp"."0.0.3" =
     self.by-version."scmp"."0.0.3";
-  by-version."scmp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-scmp-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz";
-        name = "scmp-0.0.3.tgz";
-        sha1 = "3648df2d7294641e7f78673ffc29681d9bad9073";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."scmp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "scmp" ];
+  by-version."scmp"."0.0.3" = self.buildNodePackage {
+    name = "scmp-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz";
+      name = "scmp-0.0.3.tgz";
+      sha1 = "3648df2d7294641e7f78673ffc29681d9bad9073";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."scmp"."1.0.0" =
+    self.by-version."scmp"."1.0.0";
+  by-version."scmp"."1.0.0" = self.buildNodePackage {
+    name = "scmp-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/scmp/-/scmp-1.0.0.tgz";
+      name = "scmp-1.0.0.tgz";
+      sha1 = "a0b272c3fc7292f77115646f00618b0262514e04";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
+  by-spec."scmp"."~0.0.3" =
+    self.by-version."scmp"."0.0.3";
+  by-spec."scmp"."~1.0.0" =
+    self.by-version."scmp"."1.0.0";
   by-spec."selenium-webdriver"."*" =
-    self.by-version."selenium-webdriver"."2.42.1";
-  by-version."selenium-webdriver"."2.42.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-selenium-webdriver-2.42.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.42.1.tgz";
-        name = "selenium-webdriver-2.42.1.tgz";
-        sha1 = "61984d1583b89c80a9f3bf31623d00bcc82a8d0e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."selenium-webdriver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "selenium-webdriver" ];
-  };
-  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.42.1";
+    self.by-version."selenium-webdriver"."2.44.0";
+  by-version."selenium-webdriver"."2.44.0" = self.buildNodePackage {
+    name = "selenium-webdriver-2.44.0";
+    version = "2.44.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.44.0.tgz";
+      name = "selenium-webdriver-2.44.0.tgz";
+      sha1 = "6cc6257731cd27c6db6471092857755f99d77b57";
+    };
+    deps = {
+      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
+      "tmp-0.0.24" = self.by-version."tmp"."0.0.24";
+      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.44.0";
   by-spec."semver"."*" =
-    self.by-version."semver"."3.0.1";
-  by-version."semver"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-3.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-3.0.1.tgz";
-        name = "semver-3.0.1.tgz";
-        sha1 = "720ac012515a252f91fb0dd2e99a56a70d6cf078";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  "semver" = self.by-version."semver"."3.0.1";
+    self.by-version."semver"."4.3.0";
+  by-version."semver"."4.3.0" = self.buildNodePackage {
+    name = "semver-4.3.0";
+    version = "4.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-4.3.0.tgz";
+      name = "semver-4.3.0.tgz";
+      sha1 = "3757ceed2b91afefe0ba2c3b6bda49c688b0257a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "semver" = self.by-version."semver"."4.3.0";
   by-spec."semver"."1.1.0" =
     self.by-version."semver"."1.1.0";
-  by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."semver"."1.1.0" = self.buildNodePackage {
     name = "semver-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
-        name = "semver-1.1.0.tgz";
-        sha1 = "da9b9c837e31550a7c928622bc2381de7dd7a53e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
+    version = "1.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
+      name = "semver-1.1.0.tgz";
+      sha1 = "da9b9c837e31550a7c928622bc2381de7dd7a53e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."semver"."1.1.4" =
     self.by-version."semver"."1.1.4";
-  by-version."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-version."semver"."1.1.4" = self.buildNodePackage {
     name = "semver-1.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        name = "semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
+    version = "1.1.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
+      name = "semver-1.1.4.tgz";
+      sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."semver"."2" =
     self.by-version."semver"."2.3.2";
-  by-version."semver"."2.3.2" = lib.makeOverridable self.buildNodePackage {
+  by-version."semver"."2.3.2" = self.buildNodePackage {
     name = "semver-2.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
-        name = "semver-2.3.2.tgz";
-        sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  by-spec."semver"."2 >=2.2.1 || 3.x" =
-    self.by-version."semver"."3.0.1";
+    version = "2.3.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
+      name = "semver-2.3.2.tgz";
+      sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."semver"."2 >=2.2.1" =
+    self.by-version."semver"."2.3.2";
+  by-spec."semver"."2 >=2.2.1 || 3.x || 4" =
+    self.by-version."semver"."4.3.0";
   by-spec."semver"."2 || 3" =
     self.by-version."semver"."3.0.1";
+  by-version."semver"."3.0.1" = self.buildNodePackage {
+    name = "semver-3.0.1";
+    version = "3.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-3.0.1.tgz";
+      name = "semver-3.0.1.tgz";
+      sha1 = "720ac012515a252f91fb0dd2e99a56a70d6cf078";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."semver"."2 || 3 || 4" =
+    self.by-version."semver"."4.3.0";
+  by-spec."semver"."2.0.11" =
+    self.by-version."semver"."2.0.11";
+  by-version."semver"."2.0.11" = self.buildNodePackage {
+    name = "semver-2.0.11";
+    version = "2.0.11";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+      name = "semver-2.0.11.tgz";
+      sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."semver"."2.x" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."2.x || 3.x" =
-    self.by-version."semver"."3.0.1";
-  by-spec."semver".">=2.0.10 <3.0.0" =
+  by-spec."semver"."2.x || 3.x || 4" =
+    self.by-version."semver"."4.3.0";
+  by-spec."semver"."4" =
+    self.by-version."semver"."4.3.0";
+  by-spec."semver".">=2.2.1 <3" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."^2.3.0" =
+  by-spec."semver"."^2.2.1" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."^2.3.0 || 3.x" =
+  by-spec."semver"."^2.3.0 || 3.x || 4" =
+    self.by-version."semver"."4.3.0";
+  by-spec."semver"."^3.0.1" =
     self.by-version."semver"."3.0.1";
-  by-spec."semver"."~1.1.0" =
-    self.by-version."semver"."1.1.4";
+  by-spec."semver"."^4.0.0" =
+    self.by-version."semver"."4.3.0";
+  by-spec."semver"."^4.1.0" =
+    self.by-version."semver"."4.3.0";
+  by-spec."semver"."^4.3.0" =
+    self.by-version."semver"."4.3.0";
   by-spec."semver"."~1.1.4" =
     self.by-version."semver"."1.1.4";
   by-spec."semver"."~2.0.5" =
     self.by-version."semver"."2.0.11";
-  by-version."semver"."2.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        name = "semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  by-spec."semver"."~2.1.0" =
-    self.by-version."semver"."2.1.0";
-  by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        name = "semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
   by-spec."semver"."~2.2.1" =
     self.by-version."semver"."2.2.1";
-  by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."semver"."2.2.1" = self.buildNodePackage {
     name = "semver-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
-        name = "semver-2.2.1.tgz";
-        sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
+    version = "2.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+      name = "semver-2.2.1.tgz";
+      sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."semver"."~2.3.0" =
     self.by-version."semver"."2.3.2";
-  by-spec."semver"."~2.3.1" =
-    self.by-version."semver"."2.3.2";
+  by-spec."semver"."~3.0.1" =
+    self.by-version."semver"."3.0.1";
+  by-spec."semver"."~4.1.0" =
+    self.by-version."semver"."4.1.1";
+  by-version."semver"."4.1.1" = self.buildNodePackage {
+    name = "semver-4.1.1";
+    version = "4.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-4.1.1.tgz";
+      name = "semver-4.1.1.tgz";
+      sha1 = "8d63e2e90df847e626d48ae068cd65786b0ed3d3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."semver"."~4.3.0" =
+    self.by-version."semver"."4.3.0";
+  by-spec."semver-diff"."^0.1.0" =
+    self.by-version."semver-diff"."0.1.0";
+  by-version."semver-diff"."0.1.0" = self.buildNodePackage {
+    name = "semver-diff-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver-diff/-/semver-diff-0.1.0.tgz";
+      name = "semver-diff-0.1.0.tgz";
+      sha1 = "4f6057ca3eba23cc484b51f64aaf88b131a3855d";
+    };
+    deps = {
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."semver-diff"."^2.0.0" =
+    self.by-version."semver-diff"."2.0.0";
+  by-version."semver-diff"."2.0.0" = self.buildNodePackage {
+    name = "semver-diff-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver-diff/-/semver-diff-2.0.0.tgz";
+      name = "semver-diff-2.0.0.tgz";
+      sha1 = "d43024f91aa7843937dc1379002766809f7480d2";
+    };
+    deps = {
+      "semver-4.3.0" = self.by-version."semver"."4.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."send"."*" =
-    self.by-version."send"."0.8.3";
-  by-version."send"."0.8.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.8.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.8.3.tgz";
-        name = "send-0.8.3.tgz";
-        sha1 = "593886004fcb968a1b5727814a32b388b3b99083";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."depd"."0.4.4"
-      self.by-version."destroy"."1.0.3"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."ms"."0.6.2"
-      self.by-version."on-finished"."2.1.0"
-      self.by-version."range-parser"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
+    self.by-version."send"."0.12.1";
+  by-version."send"."0.12.1" = self.buildNodePackage {
+    name = "send-0.12.1";
+    version = "0.12.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.12.1.tgz";
+      name = "send-0.12.1.tgz";
+      sha1 = "65e2e4330eae6b4d1082a921bfc8e9c9f1776b31";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."send"."0.0.3" =
     self.by-version."send"."0.0.3";
-  by-version."send"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz";
-        name = "send-0.0.3.tgz";
-        sha1 = "4d5f843edf9d65dac31c8a5d2672c179ecb67184";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.6"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
+  by-version."send"."0.0.3" = self.buildNodePackage {
+    name = "send-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz";
+      name = "send-0.0.3.tgz";
+      sha1 = "4d5f843edf9d65dac31c8a5d2672c179ecb67184";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."send"."0.1.0" =
     self.by-version."send"."0.1.0";
-  by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
-        name = "send-0.1.0.tgz";
-        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.6"
-      self.by-version."fresh"."0.1.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
+  by-version."send"."0.1.0" = self.buildNodePackage {
+    name = "send-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
+      name = "send-0.1.0.tgz";
+      sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "mime-1.2.6" = self.by-version."mime"."1.2.6";
+      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."send"."0.1.4" =
     self.by-version."send"."0.1.4";
-  by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
-        name = "send-0.1.4.tgz";
-        sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.11"
-      self.by-version."fresh"."0.2.0"
-      self.by-version."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."send"."0.2.0" =
-    self.by-version."send"."0.2.0";
-  by-version."send"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.2.0.tgz";
-        name = "send-0.2.0.tgz";
-        sha1 = "067abf45cff8bffb29cbdb7439725b32388a2c58";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.4"
-      self.by-version."mime"."1.2.11"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."range-parser"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."send"."0.4.3" =
-    self.by-version."send"."0.4.3";
-  by-version."send"."0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.4.3.tgz";
-        name = "send-0.4.3.tgz";
-        sha1 = "9627b23b7707fbf6373831cac5793330b594b640";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.2"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finished"."1.2.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."range-parser"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
+  by-version."send"."0.1.4" = self.buildNodePackage {
+    name = "send-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
+      name = "send-0.1.4.tgz";
+      sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
+      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.10.1" =
+    self.by-version."send"."0.10.1";
+  by-version."send"."0.10.1" = self.buildNodePackage {
+    name = "send-0.10.1";
+    version = "0.10.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.10.1.tgz";
+      name = "send-0.10.1.tgz";
+      sha1 = "7745c50ec72f115115980e8fb179aec01900e08a";
+    };
+    deps = {
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-finished-2.1.1" = self.by-version."on-finished"."2.1.1";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.12.1" =
+    self.by-version."send"."0.12.1";
+  by-spec."send"."0.3.0" =
+    self.by-version."send"."0.3.0";
+  by-version."send"."0.3.0" = self.buildNodePackage {
+    name = "send-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.3.0.tgz";
+      name = "send-0.3.0.tgz";
+      sha1 = "9718324634806fc75bc4f8f5e51f57d9d66606e7";
+    };
+    deps = {
+      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
+      "debug-0.8.0" = self.by-version."debug"."0.8.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."send"."0.6.0" =
     self.by-version."send"."0.6.0";
-  by-version."send"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-send-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.6.0.tgz";
-        name = "send-0.6.0.tgz";
-        sha1 = "a59da9265db7c35141e1079cf1f368ee0d59b3ab";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = [
-      self.by-version."debug"."1.0.3"
-      self.by-version."depd"."0.3.0"
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."finished"."1.2.2"
-      self.by-version."fresh"."0.2.2"
-      self.by-version."mime"."1.2.11"
-      self.by-version."ms"."0.6.2"
-      self.by-version."range-parser"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
+  by-version."send"."0.6.0" = self.buildNodePackage {
+    name = "send-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.6.0.tgz";
+      name = "send-0.6.0.tgz";
+      sha1 = "a59da9265db7c35141e1079cf1f368ee0d59b3ab";
+    };
+    deps = {
+      "debug-1.0.3" = self.by-version."debug"."1.0.3";
+      "depd-0.3.0" = self.by-version."depd"."0.3.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "finished-1.2.2" = self.by-version."finished"."1.2.2";
+      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.9.2" =
+    self.by-version."send"."0.9.2";
+  by-version."send"."0.9.2" = self.buildNodePackage {
+    name = "send-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.9.2.tgz";
+      name = "send-0.9.2.tgz";
+      sha1 = "77d22a0f462604451917075c6f52e69c2b3b6e25";
+    };
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.3.1" = self.by-version."etag"."1.3.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.9.3" =
+    self.by-version."send"."0.9.3";
+  by-version."send"."0.9.3" = self.buildNodePackage {
+    name = "send-0.9.3";
+    version = "0.9.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.9.3.tgz";
+      name = "send-0.9.3.tgz";
+      sha1 = "b43a7414cd089b7fbec9b755246f7c37b7b85cc0";
+    };
+    deps = {
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "depd-0.4.5" = self.by-version."depd"."0.4.5";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.4.0" = self.by-version."etag"."1.4.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."^0.9.2" =
+    self.by-version."send"."0.9.3";
+  by-spec."sentiment"."0.2.3" =
+    self.by-version."sentiment"."0.2.3";
+  by-version."sentiment"."0.2.3" = self.buildNodePackage {
+    name = "sentiment-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sentiment/-/sentiment-0.2.3.tgz";
+      name = "sentiment-0.2.3.tgz";
+      sha1 = "aa3e8581268b5c384746aa3ac7218f302cff3b2a";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "lodash-1.3.1" = self.by-version."lodash"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."send"."0.8.3" =
-    self.by-version."send"."0.8.3";
   by-spec."sequence"."2.2.1" =
     self.by-version."sequence"."2.2.1";
-  by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sequence-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
-        name = "sequence-2.2.1.tgz";
-        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sequence" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sequence" ];
-  };
-  by-spec."sequence"."2.x" =
-    self.by-version."sequence"."2.2.1";
-  by-spec."serve-favicon"."2.0.1" =
-    self.by-version."serve-favicon"."2.0.1";
-  by-version."serve-favicon"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-favicon-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.0.1.tgz";
-        name = "serve-favicon-2.0.1.tgz";
-        sha1 = "4826975d9f173ca3a4158e9698161f75dec7afec";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-favicon" or []);
-    deps = [
-      self.by-version."fresh"."0.2.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-favicon" ];
-  };
-  by-spec."serve-index"."~1.1.6" =
-    self.by-version."serve-index"."1.1.6";
-  by-version."serve-index"."1.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-index-1.1.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-index/-/serve-index-1.1.6.tgz";
-        name = "serve-index-1.1.6.tgz";
-        sha1 = "b758318fe781628383f66ac80dd447712ea7781f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-index" or []);
-    deps = [
-      self.by-version."accepts"."1.0.7"
-      self.by-version."batch"."0.5.1"
-      self.by-version."parseurl"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-index" ];
-  };
-  by-spec."serve-static"."1.0.1" =
-    self.by-version."serve-static"."1.0.1";
-  by-version."serve-static"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz";
-        name = "serve-static-1.0.1.tgz";
-        sha1 = "10dcbfd44b3e0291a131fc9ab4ab25a9f5a78a42";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."send"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."serve-static"."1.2.3" =
-    self.by-version."serve-static"."1.2.3";
-  by-version."serve-static"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.2.3.tgz";
-        name = "serve-static-1.2.3.tgz";
-        sha1 = "93cecbc340f079ecb8589281d1dc31c26c0cd158";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.0.1"
-      self.by-version."send"."0.4.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."serve-static"."~1.3.0" =
+  by-version."sequence"."2.2.1" = self.buildNodePackage {
+    name = "sequence-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
+      name = "sequence-2.2.1.tgz";
+      sha1 = "7f5617895d44351c0a047e764467690490a16b03";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sequencify"."~0.0.7" =
+    self.by-version."sequencify"."0.0.7";
+  by-version."sequencify"."0.0.7" = self.buildNodePackage {
+    name = "sequencify-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz";
+      name = "sequencify-0.0.7.tgz";
+      sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serialport"."1.4.10" =
+    self.by-version."serialport"."1.4.10";
+  by-version."serialport"."1.4.10" = self.buildNodePackage {
+    name = "serialport-1.4.10";
+    version = "1.4.10";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serialport/-/serialport-1.4.10.tgz";
+      name = "serialport-1.4.10.tgz";
+      sha1 = "dcefd2cea7a351685716b8ccb43b93822480fb93";
+    };
+    deps = {
+      "node-pre-gyp-0.5.31" = self.by-version."node-pre-gyp"."0.5.31";
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "sf-0.1.7" = self.by-version."sf"."0.1.7";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "nan-1.3.0" = self.by-version."nan"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-favicon"."^2.1.1" =
+    self.by-version."serve-favicon"."2.2.0";
+  by-version."serve-favicon"."2.2.0" = self.buildNodePackage {
+    name = "serve-favicon-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.2.0.tgz";
+      name = "serve-favicon-2.2.0.tgz";
+      sha1 = "a0c25ee8a652e1a638a67db46269cd52a8705858";
+    };
+    deps = {
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-favicon"."~2.1.4" =
+    self.by-version."serve-favicon"."2.1.7";
+  by-version."serve-favicon"."2.1.7" = self.buildNodePackage {
+    name = "serve-favicon-2.1.7";
+    version = "2.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.1.7.tgz";
+      name = "serve-favicon-2.1.7.tgz";
+      sha1 = "7b911c0ea4c0f9a2ad686daa5222766f7bc7db79";
+    };
+    deps = {
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-favicon"."~2.1.5" =
+    self.by-version."serve-favicon"."2.1.7";
+  by-spec."serve-favicon"."~2.2.0" =
+    self.by-version."serve-favicon"."2.2.0";
+  by-spec."serve-index"."1.0.1" =
+    self.by-version."serve-index"."1.0.1";
+  by-version."serve-index"."1.0.1" = self.buildNodePackage {
+    name = "serve-index-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-index/-/serve-index-1.0.1.tgz";
+      name = "serve-index-1.0.1.tgz";
+      sha1 = "2782ee8ede6cccaae54957962c4715e8ce1921a6";
+    };
+    deps = {
+      "batch-0.5.0" = self.by-version."batch"."0.5.0";
+      "negotiator-0.4.2" = self.by-version."negotiator"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-index"."~1.2.1" =
+    self.by-version."serve-index"."1.2.1";
+  by-version."serve-index"."1.2.1" = self.buildNodePackage {
+    name = "serve-index-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-index/-/serve-index-1.2.1.tgz";
+      name = "serve-index-1.2.1.tgz";
+      sha1 = "854daef00ac9ff2f5bfda1c019b78fb0ed6d2e6f";
+    };
+    deps = {
+      "accepts-1.1.4" = self.by-version."accepts"."1.1.4";
+      "batch-0.5.1" = self.by-version."batch"."0.5.1";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-index"."~1.6.2" =
+    self.by-version."serve-index"."1.6.2";
+  by-version."serve-index"."1.6.2" = self.buildNodePackage {
+    name = "serve-index-1.6.2";
+    version = "1.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-index/-/serve-index-1.6.2.tgz";
+      name = "serve-index-1.6.2.tgz";
+      sha1 = "f144a140b4500faf2e861c02bb7f160bd7dc3af1";
+    };
+    deps = {
+      "accepts-1.2.4" = self.by-version."accepts"."1.2.4";
+      "batch-0.5.2" = self.by-version."batch"."0.5.2";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."1.1.0" =
+    self.by-version."serve-static"."1.1.0";
+  by-version."serve-static"."1.1.0" = self.buildNodePackage {
+    name = "serve-static-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz";
+      name = "serve-static-1.1.0.tgz";
+      sha1 = "454dfa05bb3ddd4e701a8915b83a278aa91c5643";
+    };
+    deps = {
+      "parseurl-1.0.1" = self.by-version."parseurl"."1.0.1";
+      "send-0.3.0" = self.by-version."send"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.3.2" =
     self.by-version."serve-static"."1.3.2";
-  by-version."serve-static"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.3.2.tgz";
-        name = "serve-static-1.3.2.tgz";
-        sha1 = "d904a6cbf55f511c78138f6f45ee6e69d9d105ca";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.1.3"
-      self.by-version."send"."0.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."serve-static"."~1.5.3" =
-    self.by-version."serve-static"."1.5.3";
-  by-version."serve-static"."1.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-serve-static-1.5.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.5.3.tgz";
-        name = "serve-static-1.5.3.tgz";
-        sha1 = "2e28efa5899686fd3ccdb97a80aa464002244581";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = [
-      self.by-version."escape-html"."1.0.1"
-      self.by-version."parseurl"."1.3.0"
-      self.by-version."send"."0.8.3"
-      self.by-version."utils-merge"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
+  by-version."serve-static"."1.3.2" = self.buildNodePackage {
+    name = "serve-static-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.3.2.tgz";
+      name = "serve-static-1.3.2.tgz";
+      sha1 = "d904a6cbf55f511c78138f6f45ee6e69d9d105ca";
+    };
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.1.3" = self.by-version."parseurl"."1.1.3";
+      "send-0.6.0" = self.by-version."send"."0.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.6.2" =
+    self.by-version."serve-static"."1.6.5";
+  by-version."serve-static"."1.6.5" = self.buildNodePackage {
+    name = "serve-static-1.6.5";
+    version = "1.6.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.6.5.tgz";
+      name = "serve-static-1.6.5.tgz";
+      sha1 = "aca17e0deac4a87729f6078781b7d27f63aa3d9c";
+    };
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.9.3" = self.by-version."send"."0.9.3";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.6.4" =
+    self.by-version."serve-static"."1.6.5";
+  by-spec."serve-static"."~1.7.1" =
+    self.by-version."serve-static"."1.7.2";
+  by-version."serve-static"."1.7.2" = self.buildNodePackage {
+    name = "serve-static-1.7.2";
+    version = "1.7.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.7.2.tgz";
+      name = "serve-static-1.7.2.tgz";
+      sha1 = "3164ce06d4e6c3459bdcc9d6018fb4fb35e84b39";
+    };
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.10.1" = self.by-version."send"."0.10.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.7.2" =
+    self.by-version."serve-static"."1.7.2";
+  by-spec."serve-static"."~1.9.1" =
+    self.by-version."serve-static"."1.9.1";
+  by-version."serve-static"."1.9.1" = self.buildNodePackage {
+    name = "serve-static-1.9.1";
+    version = "1.9.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.9.1.tgz";
+      name = "serve-static-1.9.1.tgz";
+      sha1 = "a611b2b8a2cfb5f89685f293cb365f3f5eb61451";
+    };
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.12.1" = self.by-version."send"."0.12.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."set-immediate-shim"."^1.0.0" =
+    self.by-version."set-immediate-shim"."1.0.0";
+  by-version."set-immediate-shim"."1.0.0" = self.buildNodePackage {
+    name = "set-immediate-shim-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.0.tgz";
+      name = "set-immediate-shim-1.0.0.tgz";
+      sha1 = "e23b45a33244f6f2dcd90359bc38bdbf048de152";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."setimmediate"."1.0.1" =
+    self.by-version."setimmediate"."1.0.1";
+  by-version."setimmediate"."1.0.1" = self.buildNodePackage {
+    name = "setimmediate-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz";
+      name = "setimmediate-1.0.1.tgz";
+      sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sf"."0.1.7" =
+    self.by-version."sf"."0.1.7";
+  by-version."sf"."0.1.7" = self.buildNodePackage {
+    name = "sf-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sf/-/sf-0.1.7.tgz";
+      name = "sf-0.1.7.tgz";
+      sha1 = "806ed032d7225c7fb6394b0bdbfe1ea936fe6d74";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sha"."~1.2.1" =
     self.by-version."sha"."1.2.4";
-  by-version."sha"."1.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sha-1.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sha/-/sha-1.2.4.tgz";
-        name = "sha-1.2.4.tgz";
-        sha1 = "1f9a377f27b6fdee409b9b858e43da702be48a4d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sha" or []);
-    deps = [
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."readable-stream"."1.0.31"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sha" ];
-  };
-  by-spec."sha.js"."2.1.7" =
-    self.by-version."sha.js"."2.1.7";
-  by-version."sha.js"."2.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "sha.js-2.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sha.js/-/sha.js-2.1.7.tgz";
-        name = "sha.js-2.1.7.tgz";
-        sha1 = "4ab5d386d5c1a26183e61bcc446a9370a3eb8859";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sha.js" or []);
-    deps = [
-      self.by-version."buffer"."2.3.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sha.js" ];
-  };
+  by-version."sha"."1.2.4" = self.buildNodePackage {
+    name = "sha-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sha/-/sha-1.2.4.tgz";
+      name = "sha-1.2.4.tgz";
+      sha1 = "1f9a377f27b6fdee409b9b858e43da702be48a4d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sha"."~1.3.0" =
+    self.by-version."sha"."1.3.0";
+  by-version."sha"."1.3.0" = self.buildNodePackage {
+    name = "sha-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sha/-/sha-1.3.0.tgz";
+      name = "sha-1.3.0.tgz";
+      sha1 = "79f4787045d0ede7327d702c25c443460dbc6764";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sha.js"."2.2.6" =
+    self.by-version."sha.js"."2.2.6";
+  by-version."sha.js"."2.2.6" = self.buildNodePackage {
+    name = "sha.js-2.2.6";
+    version = "2.2.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz";
+      name = "sha.js-2.2.6.tgz";
+      sha1 = "17ddeddc5f722fb66501658895461977867315ba";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sha.js"."^2.3.6" =
+    self.by-version."sha.js"."2.3.6";
+  by-version."sha.js"."2.3.6" = self.buildNodePackage {
+    name = "sha.js-2.3.6";
+    version = "2.3.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sha.js/-/sha.js-2.3.6.tgz";
+      name = "sha.js-2.3.6.tgz";
+      sha1 = "10585a3f7fd8f1da715adac6f9d54516da0670cc";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sha.js"."~2.3.0" =
+    self.by-version."sha.js"."2.3.6";
   by-spec."shallow-copy"."0.0.1" =
     self.by-version."shallow-copy"."0.0.1";
-  by-version."shallow-copy"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shallow-copy-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
-        name = "shallow-copy-0.0.1.tgz";
-        sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."shallow-copy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "shallow-copy" ];
+  by-version."shallow-copy"."0.0.1" = self.buildNodePackage {
+    name = "shallow-copy-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
+      name = "shallow-copy-0.0.1.tgz";
+      sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."shasum"."^1.0.0" =
-    self.by-version."shasum"."1.0.0";
-  by-version."shasum"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shasum-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/shasum/-/shasum-1.0.0.tgz";
-        name = "shasum-1.0.0.tgz";
-        sha1 = "26e3f2cef88577da2d976c7c160a5f297eb2ea36";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."shasum" or []);
-    deps = [
-      self.by-version."json-stable-stringify"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "shasum" ];
+    self.by-version."shasum"."1.0.1";
+  by-version."shasum"."1.0.1" = self.buildNodePackage {
+    name = "shasum-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/shasum/-/shasum-1.0.1.tgz";
+      name = "shasum-1.0.1.tgz";
+      sha1 = "0e0e8506a3b9e6c371ad9173845d04ff9126587f";
+    };
+    deps = {
+      "json-stable-stringify-0.0.1" = self.by-version."json-stable-stringify"."0.0.1";
+      "sha.js-2.3.6" = self.by-version."sha.js"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."shell-quote"."~0.0.1" =
     self.by-version."shell-quote"."0.0.1";
-  by-version."shell-quote"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-shell-quote-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz";
-        name = "shell-quote-0.0.1.tgz";
-        sha1 = "1a41196f3c0333c482323593d6886ecf153dd986";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."shell-quote" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "shell-quote" ];
+  by-version."shell-quote"."0.0.1" = self.buildNodePackage {
+    name = "shell-quote-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz";
+      name = "shell-quote-0.0.1.tgz";
+      sha1 = "1a41196f3c0333c482323593d6886ecf153dd986";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."shell-quote"."~1.4.1" =
+    self.by-version."shell-quote"."1.4.2";
+  by-version."shell-quote"."1.4.2" = self.buildNodePackage {
+    name = "shell-quote-1.4.2";
+    version = "1.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/shell-quote/-/shell-quote-1.4.2.tgz";
+      name = "shell-quote-1.4.2.tgz";
+      sha1 = "f132a54f2030d69280d370d4974155f85f62f67b";
+    };
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+      "array-filter-0.0.1" = self.by-version."array-filter"."0.0.1";
+      "array-reduce-0.0.0" = self.by-version."array-reduce"."0.0.0";
+      "array-map-0.0.0" = self.by-version."array-map"."0.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."shelljs"."*" =
     self.by-version."shelljs"."0.3.0";
-  by-version."shelljs"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."shelljs"."0.3.0" = self.buildNodePackage {
     name = "shelljs-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
-        name = "shelljs-0.3.0.tgz";
-        sha1 = "3596e6307a781544f591f37da618360f31db57b1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."shelljs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "shelljs" ];
+    version = "0.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
+      name = "shelljs-0.3.0.tgz";
+      sha1 = "3596e6307a781544f591f37da618360f31db57b1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "shelljs" = self.by-version."shelljs"."0.3.0";
+  by-spec."shelljs"."0.3.0" =
+    self.by-version."shelljs"."0.3.0";
   by-spec."shelljs"."0.3.x" =
     self.by-version."shelljs"."0.3.0";
   by-spec."should"."*" =
-    self.by-version."should"."4.0.4";
-  by-version."should"."4.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-should-4.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/should/-/should-4.0.4.tgz";
-        name = "should-4.0.4.tgz";
-        sha1 = "8efaa304f1f148cf3d2e955862990f9ab9ea628f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."should" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "should" ];
+    self.by-version."should"."5.0.1";
+  by-version."should"."5.0.1" = self.buildNodePackage {
+    name = "should-5.0.1";
+    version = "5.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/should/-/should-5.0.1.tgz";
+      name = "should-5.0.1.tgz";
+      sha1 = "f0c593ce78158ace3a41a92cb0cc5cf7772d7fa0";
+    };
+    deps = {
+      "should-equal-0.3.1" = self.by-version."should-equal"."0.3.1";
+      "should-format-0.0.7" = self.by-version."should-format"."0.0.7";
+      "should-type-0.0.4" = self.by-version."should-type"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "should" = self.by-version."should"."5.0.1";
+  by-spec."should-equal"."0.3.1" =
+    self.by-version."should-equal"."0.3.1";
+  by-version."should-equal"."0.3.1" = self.buildNodePackage {
+    name = "should-equal-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/should-equal/-/should-equal-0.3.1.tgz";
+      name = "should-equal-0.3.1.tgz";
+      sha1 = "bd8ea97a6748e39fad476a3be6fd72ebc2e72bf0";
+    };
+    deps = {
+      "should-type-0.0.4" = self.by-version."should-type"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."should-format"."0.0.7" =
+    self.by-version."should-format"."0.0.7";
+  by-version."should-format"."0.0.7" = self.buildNodePackage {
+    name = "should-format-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/should-format/-/should-format-0.0.7.tgz";
+      name = "should-format-0.0.7.tgz";
+      sha1 = "1e2ef86bd91da9c2e0412335b56ababd9a2fde12";
+    };
+    deps = {
+      "should-type-0.0.4" = self.by-version."should-type"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."should-type"."0.0.4" =
+    self.by-version."should-type"."0.0.4";
+  by-version."should-type"."0.0.4" = self.buildNodePackage {
+    name = "should-type-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/should-type/-/should-type-0.0.4.tgz";
+      name = "should-type-0.0.4.tgz";
+      sha1 = "0132a05417a6126866426acf116f1ed5623a5cd0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "should" = self.by-version."should"."4.0.4";
   by-spec."sigmund"."~1.0.0" =
     self.by-version."sigmund"."1.0.0";
-  by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sigmund-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
-        name = "sigmund-1.0.0.tgz";
-        sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sigmund" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sigmund" ];
+  by-version."sigmund"."1.0.0" = self.buildNodePackage {
+    name = "sigmund-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+      name = "sigmund-1.0.0.tgz";
+      sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."signals"."<2.0" =
     self.by-version."signals"."1.0.0";
-  by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-signals-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        name = "signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."signals" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "signals" ];
+  by-version."signals"."1.0.0" = self.buildNodePackage {
+    name = "signals-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
+      name = "signals-1.0.0.tgz";
+      sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."signals".">0.7 <2.0" =
     self.by-version."signals"."1.0.0";
   by-spec."signals"."~1.0.0" =
     self.by-version."signals"."1.0.0";
+  by-spec."simple-fmt"."~0.1.0" =
+    self.by-version."simple-fmt"."0.1.0";
+  by-version."simple-fmt"."0.1.0" = self.buildNodePackage {
+    name = "simple-fmt-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz";
+      name = "simple-fmt-0.1.0.tgz";
+      sha1 = "191bf566a59e6530482cb25ab53b4a8dc85c3a6b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."simple-get"."^1.3.0" =
+    self.by-version."simple-get"."1.3.0";
+  by-version."simple-get"."1.3.0" = self.buildNodePackage {
+    name = "simple-get-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/simple-get/-/simple-get-1.3.0.tgz";
+      name = "simple-get-1.3.0.tgz";
+      sha1 = "b74582c8ac71cf6e0ece58b152a4eb74a55630ad";
+    };
+    deps = {
+      "once-1.3.1" = self.by-version."once"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."simple-is"."~0.2.0" =
+    self.by-version."simple-is"."0.2.0";
+  by-version."simple-is"."0.2.0" = self.buildNodePackage {
+    name = "simple-is-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz";
+      name = "simple-is-0.2.0.tgz";
+      sha1 = "2abb75aade39deb5cc815ce10e6191164850baf0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."simple-lru-cache"."0.0.x" =
     self.by-version."simple-lru-cache"."0.0.1";
-  by-version."simple-lru-cache"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-simple-lru-cache-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.1.tgz";
-        name = "simple-lru-cache-0.0.1.tgz";
-        sha1 = "0334171e40ed4a4861ac29250eb1db23300be4f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."simple-lru-cache" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "simple-lru-cache" ];
+  by-version."simple-lru-cache"."0.0.1" = self.buildNodePackage {
+    name = "simple-lru-cache-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.1.tgz";
+      name = "simple-lru-cache-0.0.1.tgz";
+      sha1 = "0334171e40ed4a4861ac29250eb1db23300be4f0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."simplediff"."~0.1.1" =
+    self.by-version."simplediff"."0.1.1";
+  by-version."simplediff"."0.1.1" = self.buildNodePackage {
+    name = "simplediff-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/simplediff/-/simplediff-0.1.1.tgz";
+      name = "simplediff-0.1.1.tgz";
+      sha1 = "b0caeeb093223370033c6c3aa1130dc86c6a087c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."simplesmtp".">= 0.1.22" =
-    self.by-version."simplesmtp"."0.3.32";
-  by-version."simplesmtp"."0.3.32" = lib.makeOverridable self.buildNodePackage {
-    name = "node-simplesmtp-0.3.32";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.32.tgz";
-        name = "simplesmtp-0.3.32.tgz";
-        sha1 = "b3589b4cbf90624e712ab0ec1a7480ec14fd1c12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."simplesmtp" or []);
-    deps = [
-      self.by-version."rai"."0.1.11"
-      self.by-version."xoauth2"."0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "simplesmtp" ];
+    self.by-version."simplesmtp"."0.3.35";
+  by-version."simplesmtp"."0.3.35" = self.buildNodePackage {
+    name = "simplesmtp-0.3.35";
+    version = "0.3.35";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.35.tgz";
+      name = "simplesmtp-0.3.35.tgz";
+      sha1 = "017b1eb8b26317ac36d2a2a8a932631880736a03";
+    };
+    deps = {
+      "rai-0.1.12" = self.by-version."rai"."0.1.12";
+      "xoauth2-0.1.8" = self.by-version."xoauth2"."0.1.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."simplesmtp"."~0.2 || ~0.3.30" =
+    self.by-version."simplesmtp"."0.3.35";
+  by-spec."simplesmtp"."~0.3.30" =
+    self.by-version."simplesmtp"."0.3.35";
+  by-spec."single-line-log"."^0.4.1" =
+    self.by-version."single-line-log"."0.4.1";
+  by-version."single-line-log"."0.4.1" = self.buildNodePackage {
+    name = "single-line-log-0.4.1";
+    version = "0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/single-line-log/-/single-line-log-0.4.1.tgz";
+      name = "single-line-log-0.4.1.tgz";
+      sha1 = "87a55649f749d783ec0dcd804e8140d9873c7cee";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sinon"."*" =
-    self.by-version."sinon"."1.10.3";
-  by-version."sinon"."1.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sinon-1.10.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sinon/-/sinon-1.10.3.tgz";
-        name = "sinon-1.10.3.tgz";
-        sha1 = "c063e0e99d8327dc199113aab52eb83a2e9e3c2c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sinon" or []);
-    deps = [
-      self.by-version."formatio"."1.0.2"
-      self.by-version."util"."0.10.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sinon" ];
-  };
-  "sinon" = self.by-version."sinon"."1.10.3";
+    self.by-version."sinon"."1.12.2";
+  by-version."sinon"."1.12.2" = self.buildNodePackage {
+    name = "sinon-1.12.2";
+    version = "1.12.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sinon/-/sinon-1.12.2.tgz";
+      name = "sinon-1.12.2.tgz";
+      sha1 = "dd893d1f93bfa652ae7c2a08c6eaa42898452c94";
+    };
+    deps = {
+      "formatio-1.1.1" = self.by-version."formatio"."1.1.1";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "lolex-1.1.0" = self.by-version."lolex"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "sinon" = self.by-version."sinon"."1.12.2";
   by-spec."slasp"."*" =
-    self.by-version."slasp"."0.0.3";
-  by-version."slasp"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-slasp-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slasp/-/slasp-0.0.3.tgz";
-        name = "slasp-0.0.3.tgz";
-        sha1 = "fb9aba74f30fc2f012d0ff2d34d4b5c678c11f9f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slasp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slasp" ];
+    self.by-version."slasp"."0.0.4";
+  by-version."slasp"."0.0.4" = self.buildNodePackage {
+    name = "slasp-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/slasp/-/slasp-0.0.4.tgz";
+      name = "slasp-0.0.4.tgz";
+      sha1 = "9adc26ee729a0f95095851a5489f87a5258d57a9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "slasp" = self.by-version."slasp"."0.0.4";
+  by-spec."slasp"."0.0.4" =
+    self.by-version."slasp"."0.0.4";
+  by-spec."sleep"."*" =
+    self.by-version."sleep"."2.0.0";
+  by-version."sleep"."2.0.0" = self.buildNodePackage {
+    name = "sleep-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sleep/-/sleep-2.0.0.tgz";
+      name = "sleep-2.0.0.tgz";
+      sha1 = "96d8ef97970ecad464b146ea5e86dd5d6ceb65bc";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "sleep" = self.by-version."sleep"."2.0.0";
+  by-spec."sleep"."^1.2.0" =
+    self.by-version."sleep"."1.2.0";
+  by-version."sleep"."1.2.0" = self.buildNodePackage {
+    name = "sleep-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sleep/-/sleep-1.2.0.tgz";
+      name = "sleep-1.2.0.tgz";
+      sha1 = "5d99de85b8c9819ed2f66251a04ec462da8c66dc";
+    };
+    deps = {
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "slasp" = self.by-version."slasp"."0.0.3";
-  by-spec."slasp"."0.0.3" =
-    self.by-version."slasp"."0.0.3";
   by-spec."sliced"."0.0.3" =
     self.by-version."sliced"."0.0.3";
-  by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
-        name = "sliced-0.0.3.tgz";
-        sha1 = "4f0bac2171eb17162c3ba6df81f5cf040f7c7e50";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sliced" ];
+  by-version."sliced"."0.0.3" = self.buildNodePackage {
+    name = "sliced-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
+      name = "sliced-0.0.3.tgz";
+      sha1 = "4f0bac2171eb17162c3ba6df81f5cf040f7c7e50";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sliced"."0.0.4" =
     self.by-version."sliced"."0.0.4";
-  by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
-        name = "sliced-0.0.4.tgz";
-        sha1 = "34f89a6db1f31fa525f5a570f5bcf877cf0955ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sliced" ];
+  by-version."sliced"."0.0.4" = self.buildNodePackage {
+    name = "sliced-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
+      name = "sliced-0.0.4.tgz";
+      sha1 = "34f89a6db1f31fa525f5a570f5bcf877cf0955ee";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sliced"."0.0.5" =
     self.by-version."sliced"."0.0.5";
-  by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sliced-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz";
-        name = "sliced-0.0.5.tgz";
-        sha1 = "5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sliced" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sliced" ];
+  by-version."sliced"."0.0.5" = self.buildNodePackage {
+    name = "sliced-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz";
+      name = "sliced-0.0.5.tgz";
+      sha1 = "5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."slide"."*" =
+    self.by-version."slide"."1.1.6";
+  by-version."slide"."1.1.6" = self.buildNodePackage {
+    name = "slide-1.1.6";
+    version = "1.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+      name = "slide-1.1.6.tgz";
+      sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."slide"."^1.1.3" =
-    self.by-version."slide"."1.1.5";
-  by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-slide-1.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        name = "slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slide" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
+    self.by-version."slide"."1.1.6";
+  by-spec."slide"."^1.1.5" =
+    self.by-version."slide"."1.1.6";
   by-spec."slide"."~1.1.3" =
-    self.by-version."slide"."1.1.5";
-  by-spec."slide"."~1.1.5" =
-    self.by-version."slide"."1.1.5";
+    self.by-version."slide"."1.1.6";
+  by-spec."slide"."~1.1.6" =
+    self.by-version."slide"."1.1.6";
+  by-spec."sloc"."*" =
+    self.by-version."sloc"."0.1.9";
+  by-version."sloc"."0.1.9" = self.buildNodePackage {
+    name = "sloc-0.1.9";
+    version = "0.1.9";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sloc/-/sloc-0.1.9.tgz";
+      name = "sloc-0.1.9.tgz";
+      sha1 = "af12b4f713d079c65056435fe67ff11580770873";
+    };
+    deps = {
+      "commander-2.5.1" = self.by-version."commander"."2.5.1";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "cli-table-0.3.1" = self.by-version."cli-table"."0.3.1";
+      "readdirp-1.3.0" = self.by-version."readdirp"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "sloc" = self.by-version."sloc"."0.1.9";
   by-spec."smartdc"."*" =
     self.by-version."smartdc"."7.3.0";
-  by-version."smartdc"."7.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."smartdc"."7.3.0" = self.buildNodePackage {
     name = "smartdc-7.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/smartdc/-/smartdc-7.3.0.tgz";
-        name = "smartdc-7.3.0.tgz";
-        sha1 = "d932196df2d75599fcb98a628803e83c8f9fbe45";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."smartdc" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."lru-cache"."2.2.0"
-      self.by-version."nopt"."2.0.0"
-      self.by-version."restify"."2.4.1"
-      self.by-version."bunyan"."0.21.1"
-      self.by-version."clone"."0.1.6"
-      self.by-version."smartdc-auth"."1.0.1"
-      self.by-version."cmdln"."1.3.2"
-      self.by-version."dashdash"."1.5.0"
-      self.by-version."vasync"."1.4.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "smartdc" ];
+    version = "7.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/smartdc/-/smartdc-7.3.0.tgz";
+      name = "smartdc-7.3.0.tgz";
+      sha1 = "d932196df2d75599fcb98a628803e83c8f9fbe45";
+    };
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "lru-cache-2.2.0" = self.by-version."lru-cache"."2.2.0";
+      "nopt-2.0.0" = self.by-version."nopt"."2.0.0";
+      "restify-2.4.1" = self.by-version."restify"."2.4.1";
+      "bunyan-0.21.1" = self.by-version."bunyan"."0.21.1";
+      "clone-0.1.6" = self.by-version."clone"."0.1.6";
+      "smartdc-auth-1.0.1" = self.by-version."smartdc-auth"."1.0.1";
+      "cmdln-1.3.2" = self.by-version."cmdln"."1.3.2";
+      "dashdash-1.5.0" = self.by-version."dashdash"."1.5.0";
+      "vasync-1.4.3" = self.by-version."vasync"."1.4.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "smartdc" = self.by-version."smartdc"."7.3.0";
   by-spec."smartdc-auth"."1.0.1" =
     self.by-version."smartdc-auth"."1.0.1";
-  by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-smartdc-auth-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz";
-        name = "smartdc-auth-1.0.1.tgz";
-        sha1 = "520bbf918313bdf2da372927d33756d46356b87b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."smartdc-auth" or []);
-    deps = [
-      self.by-version."assert-plus"."0.1.2"
-      self.by-version."clone"."0.1.5"
-      self.by-version."ssh-agent"."0.2.1"
-      self.by-version."once"."1.1.1"
-      self.by-version."vasync"."1.3.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "smartdc-auth" ];
-  };
+  by-version."smartdc-auth"."1.0.1" = self.buildNodePackage {
+    name = "smartdc-auth-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz";
+      name = "smartdc-auth-1.0.1.tgz";
+      sha1 = "520bbf918313bdf2da372927d33756d46356b87b";
+    };
+    deps = {
+      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
+      "clone-0.1.5" = self.by-version."clone"."0.1.5";
+      "ssh-agent-0.2.1" = self.by-version."ssh-agent"."0.2.1";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "vasync-1.3.3" = self.by-version."vasync"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."smtp-connection"."^1.0.0" =
+    self.by-version."smtp-connection"."1.1.0";
+  by-version."smtp-connection"."1.1.0" = self.buildNodePackage {
+    name = "smtp-connection-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/smtp-connection/-/smtp-connection-1.1.0.tgz";
+      name = "smtp-connection-1.1.0.tgz";
+      sha1 = "38688174a97bade7040500bf9cd5cf831f4b40f8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."smtp-connection"."^1.1.0" =
+    self.by-version."smtp-connection"."1.1.0";
   by-spec."sntp"."0.1.x" =
     self.by-version."sntp"."0.1.4";
-  by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sntp-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
-        name = "sntp-0.1.4.tgz";
-        sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sntp" or []);
-    deps = [
-      self.by-version."hoek"."0.7.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sntp" ];
+  by-version."sntp"."0.1.4" = self.buildNodePackage {
+    name = "sntp-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
+      name = "sntp-0.1.4.tgz";
+      sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
+    };
+    deps = {
+      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sntp"."0.2.x" =
     self.by-version."sntp"."0.2.4";
-  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sntp-0.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-        name = "sntp-0.2.4.tgz";
-        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sntp" or []);
-    deps = [
-      self.by-version."hoek"."0.9.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sntp" ];
+  by-version."sntp"."0.2.4" = self.buildNodePackage {
+    name = "sntp-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+      name = "sntp-0.2.4.tgz";
+      sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sntp"."1.x.x" =
+    self.by-version."sntp"."1.0.9";
+  by-version."sntp"."1.0.9" = self.buildNodePackage {
+    name = "sntp-1.0.9";
+    version = "1.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
+      name = "sntp-1.0.9.tgz";
+      sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+    };
+    deps = {
+      "hoek-2.11.0" = self.by-version."hoek"."2.11.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."socket.io"."0.9.14" =
     self.by-version."socket.io"."0.9.14";
-  by-version."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-0.9.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
-        name = "socket.io-0.9.14.tgz";
-        sha1 = "81af80ebf3ee8f7f6e71b1495db91f8fa53ff667";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io" or []);
-    deps = [
-      self.by-version."socket.io-client"."0.9.11"
-      self.by-version."policyfile"."0.0.4"
-      self.by-version."base64id"."0.1.0"
-      self.by-version."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
-  };
-  by-spec."socket.io"."~0.9.13" =
-    self.by-version."socket.io"."0.9.17";
-  by-version."socket.io"."0.9.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-0.9.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz";
-        name = "socket.io-0.9.17.tgz";
-        sha1 = "ca389268fb2cd5df4b59218490a08c907581c9ec";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io" or []);
-    deps = [
-      self.by-version."socket.io-client"."0.9.16"
-      self.by-version."policyfile"."0.0.4"
-      self.by-version."base64id"."0.1.0"
-      self.by-version."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
+  by-version."socket.io"."0.9.14" = self.buildNodePackage {
+    name = "socket.io-0.9.14";
+    version = "0.9.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
+      name = "socket.io-0.9.14.tgz";
+      sha1 = "81af80ebf3ee8f7f6e71b1495db91f8fa53ff667";
+    };
+    deps = {
+      "socket.io-client-0.9.11" = self.by-version."socket.io-client"."0.9.11";
+      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+    };
+    optionalDependencies = {
+      "redis-0.7.3" = self.by-version."redis"."0.7.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io"."0.9.16" =
+    self.by-version."socket.io"."0.9.16";
+  by-version."socket.io"."0.9.16" = self.buildNodePackage {
+    name = "socket.io-0.9.16";
+    version = "0.9.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
+      name = "socket.io-0.9.16.tgz";
+      sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
+    };
+    deps = {
+      "socket.io-client-0.9.16" = self.by-version."socket.io-client"."0.9.16";
+      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+    };
+    optionalDependencies = {
+      "redis-0.7.3" = self.by-version."redis"."0.7.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io"."1.0.6" =
+    self.by-version."socket.io"."1.0.6";
+  by-version."socket.io"."1.0.6" = self.buildNodePackage {
+    name = "socket.io-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io/-/socket.io-1.0.6.tgz";
+      name = "socket.io-1.0.6.tgz";
+      sha1 = "b566532888dae3ac9058a12f294015ebdfa8084a";
+    };
+    deps = {
+      "engine.io-1.3.1" = self.by-version."engine.io"."1.3.1";
+      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
+      "socket.io-client-1.0.6" = self.by-version."socket.io-client"."1.0.6";
+      "socket.io-adapter-0.2.0" = self.by-version."socket.io-adapter"."0.2.0";
+      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."socket.io"."~0.9.16" =
     self.by-version."socket.io"."0.9.17";
+  by-version."socket.io"."0.9.17" = self.buildNodePackage {
+    name = "socket.io-0.9.17";
+    version = "0.9.17";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz";
+      name = "socket.io-0.9.17.tgz";
+      sha1 = "ca389268fb2cd5df4b59218490a08c907581c9ec";
+    };
+    deps = {
+      "socket.io-client-0.9.16" = self.by-version."socket.io-client"."0.9.16";
+      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+    };
+    optionalDependencies = {
+      "redis-0.7.3" = self.by-version."redis"."0.7.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io"."~0.9.17" =
+    self.by-version."socket.io"."0.9.17";
+  by-spec."socket.io-adapter"."0.2.0" =
+    self.by-version."socket.io-adapter"."0.2.0";
+  by-version."socket.io-adapter"."0.2.0" = self.buildNodePackage {
+    name = "socket.io-adapter-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.2.0.tgz";
+      name = "socket.io-adapter-0.2.0.tgz";
+      sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "socket.io-parser-2.1.2" = self.by-version."socket.io-parser"."2.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."socket.io-client"."0.9.11" =
     self.by-version."socket.io-client"."0.9.11";
-  by-version."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-client-0.9.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
-        name = "socket.io-client-0.9.11.tgz";
-        sha1 = "94defc1b29e0d8a8fe958c1cf33300f68d8a19c7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io-client" or []);
-    deps = [
-      self.by-version."uglify-js"."1.2.5"
-      self.by-version."ws"."0.4.32"
-      self.by-version."xmlhttprequest"."1.4.2"
-      self.by-version."active-x-obfuscator"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io-client" ];
+  by-version."socket.io-client"."0.9.11" = self.buildNodePackage {
+    name = "socket.io-client-0.9.11";
+    version = "0.9.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
+      name = "socket.io-client-0.9.11.tgz";
+      sha1 = "94defc1b29e0d8a8fe958c1cf33300f68d8a19c7";
+    };
+    deps = {
+      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
+      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."socket.io-client"."0.9.16" =
     self.by-version."socket.io-client"."0.9.16";
-  by-version."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
-    name = "node-socket.io-client-0.9.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz";
-        name = "socket.io-client-0.9.16.tgz";
-        sha1 = "4da7515c5e773041d1b423970415bcc430f35fc6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io-client" or []);
-    deps = [
-      self.by-version."uglify-js"."1.2.5"
-      self.by-version."ws"."0.4.32"
-      self.by-version."xmlhttprequest"."1.4.2"
-      self.by-version."active-x-obfuscator"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io-client" ];
+  by-version."socket.io-client"."0.9.16" = self.buildNodePackage {
+    name = "socket.io-client-0.9.16";
+    version = "0.9.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz";
+      name = "socket.io-client-0.9.16.tgz";
+      sha1 = "4da7515c5e773041d1b423970415bcc430f35fc6";
+    };
+    deps = {
+      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
+      "ws-0.4.32" = self.by-version."ws"."0.4.32";
+      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
+      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-client"."1.0.6" =
+    self.by-version."socket.io-client"."1.0.6";
+  by-version."socket.io-client"."1.0.6" = self.buildNodePackage {
+    name = "socket.io-client-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-1.0.6.tgz";
+      name = "socket.io-client-1.0.6.tgz";
+      sha1 = "c86cb3e507ab2f96da4500bd34fcf46a1e9dfe5e";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "engine.io-client-1.3.1" = self.by-version."engine.io-client"."1.3.1";
+      "component-bind-1.0.0" = self.by-version."component-bind"."1.0.0";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "object-component-0.0.3" = self.by-version."object-component"."0.0.3";
+      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
+      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
+      "to-array-0.1.3" = self.by-version."to-array"."0.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-parser"."2.1.2" =
+    self.by-version."socket.io-parser"."2.1.2";
+  by-version."socket.io-parser"."2.1.2" = self.buildNodePackage {
+    name = "socket.io-parser-2.1.2";
+    version = "2.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.1.2.tgz";
+      name = "socket.io-parser-2.1.2.tgz";
+      sha1 = "876655b9edd555c5bdf7301cedf30a436c67b8b0";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "json3-3.2.6" = self.by-version."json3"."3.2.6";
+      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-parser"."2.2.0" =
+    self.by-version."socket.io-parser"."2.2.0";
+  by-version."socket.io-parser"."2.2.0" = self.buildNodePackage {
+    name = "socket.io-parser-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.0.tgz";
+      name = "socket.io-parser-2.2.0.tgz";
+      sha1 = "2609601f59e6a7fab436a53be3d333fbbfcbd30a";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "json3-3.2.6" = self.by-version."json3"."3.2.6";
+      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sockjs"."*" =
-    self.by-version."sockjs"."0.3.9";
-  by-version."sockjs"."0.3.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sockjs-0.3.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.9.tgz";
-        name = "sockjs-0.3.9.tgz";
-        sha1 = "5ae2c732dac07f6d7e9e8a9a60ec86ec4fc3ffc7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sockjs" or []);
-    deps = [
-      self.by-version."node-uuid"."1.3.3"
-      self.by-version."faye-websocket"."0.7.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sockjs" ];
+    self.by-version."sockjs"."0.3.12";
+  by-version."sockjs"."0.3.12" = self.buildNodePackage {
+    name = "sockjs-0.3.12";
+    version = "0.3.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.12.tgz";
+      name = "sockjs-0.3.12.tgz";
+      sha1 = "99f5686851cf8655706da977f56ccd266dded859";
+    };
+    deps = {
+      "faye-websocket-0.9.3" = self.by-version."faye-websocket"."0.9.3";
+      "node-uuid-1.4.2" = self.by-version."node-uuid"."1.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "sockjs" = self.by-version."sockjs"."0.3.12";
+  by-spec."socks-proxy-agent"."0" =
+    self.by-version."socks-proxy-agent"."0.1.2";
+  by-version."socks-proxy-agent"."0.1.2" = self.buildNodePackage {
+    name = "socks-proxy-agent-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-0.1.2.tgz";
+      name = "socks-proxy-agent-0.1.2.tgz";
+      sha1 = "e8981486360896f692f600ba52a974c8b23dc121";
+    };
+    deps = {
+      "agent-base-1.0.1" = self.by-version."agent-base"."1.0.1";
+      "rainbowsocks-0.1.2" = self.by-version."rainbowsocks"."0.1.2";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "sockjs" = self.by-version."sockjs"."0.3.9";
   by-spec."sorted-object"."~1.0.0" =
     self.by-version."sorted-object"."1.0.0";
-  by-version."sorted-object"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sorted-object-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz";
-        name = "sorted-object-1.0.0.tgz";
-        sha1 = "5d1f4f9c1fb2cd48965967304e212eb44cfb6d05";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sorted-object" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sorted-object" ];
+  by-version."sorted-object"."1.0.0" = self.buildNodePackage {
+    name = "sorted-object-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz";
+      name = "sorted-object-1.0.0.tgz";
+      sha1 = "5d1f4f9c1fb2cd48965967304e212eb44cfb6d05";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."source-map"."*" =
-    self.by-version."source-map"."0.1.38";
-  by-version."source-map"."0.1.38" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.38";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.38.tgz";
-        name = "source-map-0.1.38.tgz";
-        sha1 = "f93a6f9d96a5b9cf5494c043497d9542f9fa6b33";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
-  };
-  "source-map" = self.by-version."source-map"."0.1.38";
-  by-spec."source-map"."0.1.11" =
-    self.by-version."source-map"."0.1.11";
-  by-version."source-map"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.11.tgz";
-        name = "source-map-0.1.11.tgz";
-        sha1 = "2eef2fd65a74c179880ae5ee6975d99ce21eb7b4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
-  };
+    self.by-version."source-map"."0.3.0";
+  by-version."source-map"."0.3.0" = self.buildNodePackage {
+    name = "source-map-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz";
+      name = "source-map-0.3.0.tgz";
+      sha1 = "8586fb9a5a005e5b501e21cd18b6f21b457ad1f9";
+    };
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "source-map" = self.by-version."source-map"."0.3.0";
   by-spec."source-map"."0.1.31" =
     self.by-version."source-map"."0.1.31";
-  by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.31";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
-        name = "source-map-0.1.31.tgz";
-        sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
+  by-version."source-map"."0.1.31" = self.buildNodePackage {
+    name = "source-map-0.1.31";
+    version = "0.1.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
+      name = "source-map-0.1.31.tgz";
+      sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61";
+    };
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."source-map"."0.1.34" =
     self.by-version."source-map"."0.1.34";
-  by-version."source-map"."0.1.34" = lib.makeOverridable self.buildNodePackage {
-    name = "node-source-map-0.1.34";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
-        name = "source-map-0.1.34.tgz";
-        sha1 = "a7cfe89aec7b1682c3b198d0acfb47d7d090566b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map" or []);
-    deps = [
-      self.by-version."amdefine"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
+  by-version."source-map"."0.1.34" = self.buildNodePackage {
+    name = "source-map-0.1.34";
+    version = "0.1.34";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
+      name = "source-map-0.1.34.tgz";
+      sha1 = "a7cfe89aec7b1682c3b198d0acfb47d7d090566b";
+    };
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."source-map"."0.1.x" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.43";
+  by-version."source-map"."0.1.43" = self.buildNodePackage {
+    name = "source-map-0.1.43";
+    version = "0.1.43";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+      name = "source-map-0.1.43.tgz";
+      sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+    };
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."source-map".">= 0.1.2" =
-    self.by-version."source-map"."0.1.38";
-  by-spec."source-map"."~ 0.1.8" =
-    self.by-version."source-map"."0.1.38";
-  by-spec."source-map"."~0.1.30" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.3.0";
+  by-spec."source-map".">=0.1.43 <0.2" =
+    self.by-version."source-map"."0.1.43";
+  by-spec."source-map"."^0.2.0" =
+    self.by-version."source-map"."0.2.0";
+  by-version."source-map"."0.2.0" = self.buildNodePackage {
+    name = "source-map-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz";
+      name = "source-map-0.2.0.tgz";
+      sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d";
+    };
+    deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."source-map"."~0.1.31" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.43";
   by-spec."source-map"."~0.1.33" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.43";
+  by-spec."source-map"."~0.1.38" =
+    self.by-version."source-map"."0.1.43";
+  by-spec."source-map"."~0.1.40" =
+    self.by-version."source-map"."0.1.43";
   by-spec."source-map"."~0.1.7" =
-    self.by-version."source-map"."0.1.38";
+    self.by-version."source-map"."0.1.43";
+  by-spec."source-map"."~0.3.0" =
+    self.by-version."source-map"."0.3.0";
   by-spec."spdy"."1.7.1" =
     self.by-version."spdy"."1.7.1";
-  by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-spdy-1.7.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
-        name = "spdy-1.7.1.tgz";
-        sha1 = "4fde77e602b20c4ecc39ee8619373dd9bf669152";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."spdy" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "spdy" ];
-  };
-  by-spec."sprintf"."~0.1.2" =
-    self.by-version."sprintf"."0.1.4";
-  by-version."sprintf"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sprintf-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.4.tgz";
-        name = "sprintf-0.1.4.tgz";
-        sha1 = "6f870a8f4aae1c7fe53eee02b6ca31aa2d78863b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sprintf" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sprintf" ];
+  by-version."spdy"."1.7.1" = self.buildNodePackage {
+    name = "spdy-1.7.1";
+    version = "1.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
+      name = "spdy-1.7.1.tgz";
+      sha1 = "4fde77e602b20c4ecc39ee8619373dd9bf669152";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."speedometer"."^0.1.2" =
+    self.by-version."speedometer"."0.1.4";
+  by-version."speedometer"."0.1.4" = self.buildNodePackage {
+    name = "speedometer-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz";
+      name = "speedometer-0.1.4.tgz";
+      sha1 = "9876dbd2a169d3115402d48e6ea6329c8816a50d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sprintf"."0.1.1" =
+    self.by-version."sprintf"."0.1.1";
+  by-version."sprintf"."0.1.1" = self.buildNodePackage {
+    name = "sprintf-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.1.tgz";
+      name = "sprintf-0.1.1.tgz";
+      sha1 = "e8925fc9894e1aa6899e9091c7f2a12130b70de5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sprintf".">=0.1.1" =
+    self.by-version."sprintf"."0.1.5";
+  by-version."sprintf"."0.1.5" = self.buildNodePackage {
+    name = "sprintf-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.5.tgz";
+      name = "sprintf-0.1.5.tgz";
+      sha1 = "8f83e39a9317c1a502cb7db8050e51c679f6edcf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sprintf"."~0.1.3" =
-    self.by-version."sprintf"."0.1.4";
+    self.by-version."sprintf"."0.1.5";
+  by-spec."sprintf"."~0.1.4" =
+    self.by-version."sprintf"."0.1.5";
+  by-spec."sprintf-js"."~1.0.2" =
+    self.by-version."sprintf-js"."1.0.2";
+  by-version."sprintf-js"."1.0.2" = self.buildNodePackage {
+    name = "sprintf-js-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.2.tgz";
+      name = "sprintf-js-1.0.2.tgz";
+      sha1 = "11e4d84ff32144e35b0bf3a66f8587f38d8f9978";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."srt2vtt"."^1.2.0" =
+    self.by-version."srt2vtt"."1.2.0";
+  by-version."srt2vtt"."1.2.0" = self.buildNodePackage {
+    name = "srt2vtt-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/srt2vtt/-/srt2vtt-1.2.0.tgz";
+      name = "srt2vtt-1.2.0.tgz";
+      sha1 = "f17bbae66d3a0368b1e3d8e1e547e7aad794e70a";
+    };
+    deps = {
+      "codepage-1.3.8" = self.by-version."codepage"."1.3.8";
+      "utfx-1.0.0" = self.by-version."utfx"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."ssh-agent"."0.2.1" =
     self.by-version."ssh-agent"."0.2.1";
-  by-version."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-version."ssh-agent"."0.2.1" = self.buildNodePackage {
     name = "ssh-agent-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
-        name = "ssh-agent-0.2.1.tgz";
-        sha1 = "3044e9eaeca88a9e6971dd7deb19bdcc20012929";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ssh-agent" or []);
-    deps = [
-      self.by-version."ctype"."0.5.0"
-      self.by-version."posix-getopt"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ssh-agent" ];
+    version = "0.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
+      name = "ssh-agent-0.2.1.tgz";
+      sha1 = "3044e9eaeca88a9e6971dd7deb19bdcc20012929";
+    };
+    deps = {
+      "ctype-0.5.0" = self.by-version."ctype"."0.5.0";
+      "posix-getopt-1.0.0" = self.by-version."posix-getopt"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ssl-root-cas"."^1.1.7" =
+    self.by-version."ssl-root-cas"."1.1.7";
+  by-version."ssl-root-cas"."1.1.7" = self.buildNodePackage {
+    name = "ssl-root-cas-1.1.7";
+    version = "1.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ssl-root-cas/-/ssl-root-cas-1.1.7.tgz";
+      name = "ssl-root-cas-1.1.7.tgz";
+      sha1 = "bb40ea00cf92dd5d80b3f92979348f7b56b2b5a4";
+    };
+    deps = {
+      "es6-promise-1.0.0" = self.by-version."es6-promise"."1.0.0";
+      "request-2.34.0" = self.by-version."request"."2.34.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stable"."~0.1.3" =
+    self.by-version."stable"."0.1.5";
+  by-version."stable"."0.1.5" = self.buildNodePackage {
+    name = "stable-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stable/-/stable-0.1.5.tgz";
+      name = "stable-0.1.5.tgz";
+      sha1 = "08232f60c732e9890784b5bed0734f8b32a887b9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stack-trace"."0.0.7" =
     self.by-version."stack-trace"."0.0.7";
-  by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stack-trace-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
-        name = "stack-trace-0.0.7.tgz";
-        sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stack-trace" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stack-trace" ];
+  by-version."stack-trace"."0.0.7" = self.buildNodePackage {
+    name = "stack-trace-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
+      name = "stack-trace-0.0.7.tgz";
+      sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stack-trace"."0.0.x" =
     self.by-version."stack-trace"."0.0.9";
-  by-version."stack-trace"."0.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stack-trace-0.0.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
-        name = "stack-trace-0.0.9.tgz";
-        sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stack-trace" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stack-trace" ];
+  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
+    name = "stack-trace-0.0.9";
+    version = "0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+      name = "stack-trace-0.0.9.tgz";
+      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stackdriver-statsd-backend"."*" =
-    self.by-version."stackdriver-statsd-backend"."0.2.2";
-  by-version."stackdriver-statsd-backend"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stackdriver-statsd-backend-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.2.2.tgz";
-        name = "stackdriver-statsd-backend-0.2.2.tgz";
-        sha1 = "15bdc95adf083cfbfa20d7ff8f67277d7eba38f8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stackdriver-statsd-backend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stackdriver-statsd-backend" ];
+    self.by-version."stackdriver-statsd-backend"."0.2.3";
+  by-version."stackdriver-statsd-backend"."0.2.3" = self.buildNodePackage {
+    name = "stackdriver-statsd-backend-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.2.3.tgz";
+      name = "stackdriver-statsd-backend-0.2.3.tgz";
+      sha1 = "6ffead71e5655d4d787c39da8d1c9eaaa59c91d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.2.3";
+  by-spec."static-favicon"."1.0.2" =
+    self.by-version."static-favicon"."1.0.2";
+  by-version."static-favicon"."1.0.2" = self.buildNodePackage {
+    name = "static-favicon-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/static-favicon/-/static-favicon-1.0.2.tgz";
+      name = "static-favicon-1.0.2.tgz";
+      sha1 = "7c15920dda2bf33f414b0e60aebbd65cdd2a1d2f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.2.2";
   by-spec."statsd"."*" =
-    self.by-version."statsd"."0.7.1";
-  by-version."statsd"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "statsd-0.7.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/statsd/-/statsd-0.7.1.tgz";
-        name = "statsd-0.7.1.tgz";
-        sha1 = "b3a5124948ea5558e59eb26536ccfdedb9ba2a70";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."statsd" or []);
-    deps = [
-      self.by-version."node-syslog"."1.1.7"
-      self.by-version."hashring"."1.0.1"
-      self.by-version."winser"."0.1.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "statsd" ];
-  };
-  "statsd" = self.by-version."statsd"."0.7.1";
+    self.by-version."statsd"."0.7.2";
+  by-version."statsd"."0.7.2" = self.buildNodePackage {
+    name = "statsd-0.7.2";
+    version = "0.7.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/statsd/-/statsd-0.7.2.tgz";
+      name = "statsd-0.7.2.tgz";
+      sha1 = "88901c5f30fa51da5fa3520468c94d7992ef576e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "node-syslog-1.1.7" = self.by-version."node-syslog"."1.1.7";
+      "hashring-1.0.1" = self.by-version."hashring"."1.0.1";
+      "winser-0.1.6" = self.by-version."winser"."0.1.6";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "statsd" = self.by-version."statsd"."0.7.2";
+  by-spec."statsd-influxdb-backend"."*" =
+    self.by-version."statsd-influxdb-backend"."0.4.0";
+  by-version."statsd-influxdb-backend"."0.4.0" = self.buildNodePackage {
+    name = "statsd-influxdb-backend-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/statsd-influxdb-backend/-/statsd-influxdb-backend-0.4.0.tgz";
+      name = "statsd-influxdb-backend-0.4.0.tgz";
+      sha1 = "8595b6ef21a5932508bb265f366efca6ebde54d5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "statsd-influxdb-backend" = self.by-version."statsd-influxdb-backend"."0.4.0";
   by-spec."statsd-librato-backend"."*" =
-    self.by-version."statsd-librato-backend"."0.1.3";
-  by-version."statsd-librato-backend"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-statsd-librato-backend-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/statsd-librato-backend/-/statsd-librato-backend-0.1.3.tgz";
-        name = "statsd-librato-backend-0.1.3.tgz";
-        sha1 = "a72b885f6114a1d8ad460aff6a8319631b8c4e08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."statsd-librato-backend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "statsd-librato-backend" ];
-  };
-  "statsd-librato-backend" = self.by-version."statsd-librato-backend"."0.1.3";
-  by-spec."statuses"."~1.0.1" =
-    self.by-version."statuses"."1.0.4";
-  by-version."statuses"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-statuses-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/statuses/-/statuses-1.0.4.tgz";
-        name = "statuses-1.0.4.tgz";
-        sha1 = "a8b203f645cf475a66426f6be690205c85f3ebdd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."statuses" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "statuses" ];
-  };
+    self.by-version."statsd-librato-backend"."0.1.6";
+  by-version."statsd-librato-backend"."0.1.6" = self.buildNodePackage {
+    name = "statsd-librato-backend-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/statsd-librato-backend/-/statsd-librato-backend-0.1.6.tgz";
+      name = "statsd-librato-backend-0.1.6.tgz";
+      sha1 = "04467674959cf61986fe16896f9a62f38d0e12f3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "statsd-librato-backend" = self.by-version."statsd-librato-backend"."0.1.6";
+  by-spec."statuses"."1" =
+    self.by-version."statuses"."1.2.1";
+  by-version."statuses"."1.2.1" = self.buildNodePackage {
+    name = "statuses-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
+      name = "statuses-1.2.1.tgz";
+      sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."statuses"."^1.2.1" =
+    self.by-version."statuses"."1.2.1";
   by-spec."stream-browserify"."^1.0.0" =
     self.by-version."stream-browserify"."1.0.0";
-  by-version."stream-browserify"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-browserify-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz";
-        name = "stream-browserify-1.0.0.tgz";
-        sha1 = "bf9b4abfb42b274d751479e44e0ff2656b6f1193";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-browserify" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."readable-stream"."1.1.13"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-browserify" ];
+  by-version."stream-browserify"."1.0.0" = self.buildNodePackage {
+    name = "stream-browserify-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz";
+      name = "stream-browserify-1.0.0.tgz";
+      sha1 = "bf9b4abfb42b274d751479e44e0ff2656b6f1193";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stream-browserify"."~0.1.0" =
+    self.by-version."stream-browserify"."0.1.3";
+  by-version."stream-browserify"."0.1.3" = self.buildNodePackage {
+    name = "stream-browserify-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-browserify/-/stream-browserify-0.1.3.tgz";
+      name = "stream-browserify-0.1.3.tgz";
+      sha1 = "95cf1b369772e27adaf46352265152689c6c4be9";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "process-0.5.2" = self.by-version."process"."0.5.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stream-combiner"."~0.0.2" =
     self.by-version."stream-combiner"."0.0.4";
-  by-version."stream-combiner"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-combiner-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
-        name = "stream-combiner-0.0.4.tgz";
-        sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-combiner" or []);
-    deps = [
-      self.by-version."duplexer"."0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-combiner" ];
+  by-version."stream-combiner"."0.0.4" = self.buildNodePackage {
+    name = "stream-combiner-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
+      name = "stream-combiner-0.0.4.tgz";
+      sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
+    };
+    deps = {
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stream-combiner2"."~1.0.0" =
-    self.by-version."stream-combiner2"."1.0.1";
-  by-version."stream-combiner2"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-combiner2-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.1.tgz";
-        name = "stream-combiner2-1.0.1.tgz";
-        sha1 = "e992881737c754a999431134f4f3f5b45ca0a97a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-combiner2" or []);
-    deps = [
-      self.by-version."duplexer2"."0.0.2"
-      self.by-version."through2"."0.5.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-combiner2" ];
+    self.by-version."stream-combiner2"."1.0.2";
+  by-version."stream-combiner2"."1.0.2" = self.buildNodePackage {
+    name = "stream-combiner2-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.2.tgz";
+      name = "stream-combiner2-1.0.2.tgz";
+      sha1 = "ba72a6b50cbfabfa950fc8bc87604bd01eb60671";
+    };
+    deps = {
+      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
+      "through2-0.5.1" = self.by-version."through2"."0.5.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stream-consume"."~0.1.0" =
+    self.by-version."stream-consume"."0.1.0";
+  by-version."stream-consume"."0.1.0" = self.buildNodePackage {
+    name = "stream-consume-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz";
+      name = "stream-consume-0.1.0.tgz";
+      sha1 = "a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stream-counter"."^1.0.0" =
     self.by-version."stream-counter"."1.0.0";
-  by-version."stream-counter"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-counter-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz";
-        name = "stream-counter-1.0.0.tgz";
-        sha1 = "91cf2569ce4dc5061febcd7acb26394a5a114751";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-counter" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-counter" ];
+  by-version."stream-counter"."1.0.0" = self.buildNodePackage {
+    name = "stream-counter-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz";
+      name = "stream-counter-1.0.0.tgz";
+      sha1 = "91cf2569ce4dc5061febcd7acb26394a5a114751";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stream-counter"."~0.2.0" =
     self.by-version."stream-counter"."0.2.0";
-  by-version."stream-counter"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-counter-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
-        name = "stream-counter-0.2.0.tgz";
-        sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-counter" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-counter" ];
+  by-version."stream-counter"."0.2.0" = self.buildNodePackage {
+    name = "stream-counter-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
+      name = "stream-counter-0.2.0.tgz";
+      sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stream-splicer"."^1.1.0" =
-    self.by-version."stream-splicer"."1.3.0";
-  by-version."stream-splicer"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-splicer-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.0.tgz";
-        name = "stream-splicer-1.3.0.tgz";
-        sha1 = "4839f2f03c4137b3896d064a4d927807a3b95b21";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-splicer" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-      self.by-version."isarray"."0.0.1"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."readable-wrap"."1.0.0"
-      self.by-version."through2"."1.1.1"
-      self.by-version."indexof"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-splicer" ];
-  };
-  by-spec."stream-splitter-transform"."*" =
-    self.by-version."stream-splitter-transform"."0.0.4";
-  by-version."stream-splitter-transform"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stream-splitter-transform-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz";
-        name = "stream-splitter-transform-0.0.4.tgz";
-        sha1 = "0de54e94680633a8d703b252b20fa809ed99331c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stream-splitter-transform" or []);
-    deps = [
-      self.by-version."buffertools"."1.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stream-splitter-transform" ];
+    self.by-version."stream-splicer"."1.3.1";
+  by-version."stream-splicer"."1.3.1" = self.buildNodePackage {
+    name = "stream-splicer-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.1.tgz";
+      name = "stream-splicer-1.3.1.tgz";
+      sha1 = "87737a08777aa00d6a27d92562e7bc88070c081d";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "readable-wrap-1.0.0" = self.by-version."readable-wrap"."1.0.0";
+      "through2-1.1.1" = self.by-version."through2"."1.1.1";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stream-to-array"."~1.0.0" =
+    self.by-version."stream-to-array"."1.0.0";
+  by-version."stream-to-array"."1.0.0" = self.buildNodePackage {
+    name = "stream-to-array-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-to-array/-/stream-to-array-1.0.0.tgz";
+      name = "stream-to-array-1.0.0.tgz";
+      sha1 = "94166bb29f3ea24f082d2f8cd3ebb2cc0d6eca2c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stream-transcoder"."0.0.5" =
+    self.by-version."stream-transcoder"."0.0.5";
+  by-version."stream-transcoder"."0.0.5" = self.buildNodePackage {
+    name = "stream-transcoder-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-transcoder/-/stream-transcoder-0.0.5.tgz";
+      name = "stream-transcoder-0.0.5.tgz";
+      sha1 = "68261be4efb48840239b5791af23ee3b8bd79808";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."streamsearch"."0.1.2" =
+    self.by-version."streamsearch"."0.1.2";
+  by-version."streamsearch"."0.1.2" = self.buildNodePackage {
+    name = "streamsearch-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz";
+      name = "streamsearch-0.1.2.tgz";
+      sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "stream-splitter-transform" = self.by-version."stream-splitter-transform"."0.0.4";
   by-spec."string"."1.6.1" =
     self.by-version."string"."1.6.1";
-  by-version."string"."1.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string-1.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz";
-        name = "string-1.6.1.tgz";
-        sha1 = "eabe0956da7a8291c6de7486f7b35e58d031cd55";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."string" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "string" ];
+  by-version."string"."1.6.1" = self.buildNodePackage {
+    name = "string-1.6.1";
+    version = "1.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz";
+      name = "string-1.6.1.tgz";
+      sha1 = "eabe0956da7a8291c6de7486f7b35e58d031cd55";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string-length"."^0.1.2" =
+    self.by-version."string-length"."0.1.2";
+  by-version."string-length"."0.1.2" = self.buildNodePackage {
+    name = "string-length-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string-length/-/string-length-0.1.2.tgz";
+      name = "string-length-0.1.2.tgz";
+      sha1 = "ab04bb33867ee74beed7fb89bb7f089d392780f2";
+    };
+    deps = {
+      "strip-ansi-0.2.2" = self.by-version."strip-ansi"."0.2.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string-length"."^1.0.0" =
+    self.by-version."string-length"."1.0.0";
+  by-version."string-length"."1.0.0" = self.buildNodePackage {
+    name = "string-length-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string-length/-/string-length-1.0.0.tgz";
+      name = "string-length-1.0.0.tgz";
+      sha1 = "5f0564b174feb299595a763da71513266370d3a9";
+    };
+    deps = {
+      "strip-ansi-2.0.1" = self.by-version."strip-ansi"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string-template"."~0.2.0" =
+    self.by-version."string-template"."0.2.0";
+  by-version."string-template"."0.2.0" = self.buildNodePackage {
+    name = "string-template-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string-template/-/string-template-0.2.0.tgz";
+      name = "string-template-0.2.0.tgz";
+      sha1 = "7fd73e64316666552808af4508956987addc5f5b";
+    };
+    deps = {
+      "js-string-escape-1.0.0" = self.by-version."js-string-escape"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string2compact"."^1.1.1" =
+    self.by-version."string2compact"."1.2.1";
+  by-version."string2compact"."1.2.1" = self.buildNodePackage {
+    name = "string2compact-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string2compact/-/string2compact-1.2.1.tgz";
+      name = "string2compact-1.2.1.tgz";
+      sha1 = "a560cd737415e380f2518b83c38bb97093e981af";
+    };
+    deps = {
+      "addr-to-ip-port-1.4.0" = self.by-version."addr-to-ip-port"."1.4.0";
+      "ipaddr.js-0.1.8" = self.by-version."ipaddr.js"."0.1.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."string_decoder"."~0.0.0" =
     self.by-version."string_decoder"."0.0.1";
-  by-version."string_decoder"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string_decoder-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz";
-        name = "string_decoder-0.0.1.tgz";
-        sha1 = "f5472d0a8d1650ec823752d24e6fd627b39bf141";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."string_decoder" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "string_decoder" ];
-  };
+  by-version."string_decoder"."0.0.1" = self.buildNodePackage {
+    name = "string_decoder-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz";
+      name = "string_decoder-0.0.1.tgz";
+      sha1 = "f5472d0a8d1650ec823752d24e6fd627b39bf141";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string_decoder"."~0.10.0" =
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    version = "0.10.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+      name = "string_decoder-0.10.31.tgz";
+      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string_decoder"."~0.10.25" =
+    self.by-version."string_decoder"."0.10.31";
   by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.25";
-  by-version."string_decoder"."0.10.25" = lib.makeOverridable self.buildNodePackage {
-    name = "node-string_decoder-0.10.25";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25.tgz";
-        name = "string_decoder-0.10.25.tgz";
-        sha1 = "668c9da4f8efbdc937a4a6b6bf1cfbec4e9a82e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."string_decoder" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "string_decoder" ];
+    self.by-version."string_decoder"."0.10.31";
+  by-spec."stringify-object"."~1.0.0" =
+    self.by-version."stringify-object"."1.0.0";
+  by-version."stringify-object"."1.0.0" = self.buildNodePackage {
+    name = "stringify-object-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stringify-object/-/stringify-object-1.0.0.tgz";
+      name = "stringify-object-1.0.0.tgz";
+      sha1 = "333875ef8fd210f696d70b374146be84646bc346";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stringmap"."~0.2.2" =
+    self.by-version."stringmap"."0.2.2";
+  by-version."stringmap"."0.2.2" = self.buildNodePackage {
+    name = "stringmap-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz";
+      name = "stringmap-0.2.2.tgz";
+      sha1 = "556c137b258f942b8776f5b2ef582aa069d7d1b1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stringset"."~0.2.1" =
+    self.by-version."stringset"."0.2.1";
+  by-version."stringset"."0.2.1" = self.buildNodePackage {
+    name = "stringset-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz";
+      name = "stringset-0.2.1.tgz";
+      sha1 = "ef259c4e349344377fcd1c913dd2e848c9c042b5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stringstream"."~0.0.4" =
     self.by-version."stringstream"."0.0.4";
-  by-version."stringstream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-stringstream-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
-        name = "stringstream-0.0.4.tgz";
-        sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stringstream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stringstream" ];
+  by-version."stringstream"."0.0.4" = self.buildNodePackage {
+    name = "stringstream-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
+      name = "stringstream-0.0.4.tgz";
+      sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."strip-ansi"."^0.2.1" =
     self.by-version."strip-ansi"."0.2.2";
-  by-version."strip-ansi"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-version."strip-ansi"."0.2.2" = self.buildNodePackage {
     name = "strip-ansi-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz";
-        name = "strip-ansi-0.2.2.tgz";
-        sha1 = "854d290c981525fc8c397a910b025ae2d54ffc08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."strip-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "strip-ansi" ];
+    version = "0.2.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz";
+      name = "strip-ansi-0.2.2.tgz";
+      sha1 = "854d290c981525fc8c397a910b025ae2d54ffc08";
+    };
+    deps = {
+      "ansi-regex-0.1.0" = self.by-version."ansi-regex"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."strip-ansi"."^0.3.0" =
     self.by-version."strip-ansi"."0.3.0";
-  by-version."strip-ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."strip-ansi"."0.3.0" = self.buildNodePackage {
     name = "strip-ansi-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
-        name = "strip-ansi-0.3.0.tgz";
-        sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."strip-ansi" or []);
-    deps = [
-      self.by-version."ansi-regex"."0.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "strip-ansi" ];
-  };
-  by-spec."strip-ansi"."~0.1.0" =
-    self.by-version."strip-ansi"."0.1.1";
-  by-version."strip-ansi"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-ansi-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
-        name = "strip-ansi-0.1.1.tgz";
-        sha1 = "39e8a98d044d150660abe4a6808acf70bb7bc991";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."strip-ansi" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "strip-ansi" ];
-  };
-  by-spec."strip-bom"."^0.3.0" =
-    self.by-version."strip-bom"."0.3.1";
-  by-version."strip-bom"."0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "strip-bom-0.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/strip-bom/-/strip-bom-0.3.1.tgz";
-        name = "strip-bom-0.3.1.tgz";
-        sha1 = "9e8a39eff456ff9abc2f059f5f2225bb0f3f7ca5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."strip-bom" or []);
-    deps = [
-      self.by-version."first-chunk-stream"."0.1.0"
-      self.by-version."is-utf8"."0.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "strip-bom" ];
+    version = "0.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
+      name = "strip-ansi-0.3.0.tgz";
+      sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
+    };
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-ansi"."^1.0.0" =
+    self.by-version."strip-ansi"."1.0.0";
+  by-version."strip-ansi"."1.0.0" = self.buildNodePackage {
+    name = "strip-ansi-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-1.0.0.tgz";
+      name = "strip-ansi-1.0.0.tgz";
+      sha1 = "6c021321d6ece161a3c608fbab268c7328901c73";
+    };
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-ansi"."^2.0.0" =
+    self.by-version."strip-ansi"."2.0.1";
+  by-version."strip-ansi"."2.0.1" = self.buildNodePackage {
+    name = "strip-ansi-2.0.1";
+    version = "2.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz";
+      name = "strip-ansi-2.0.1.tgz";
+      sha1 = "df62c1aa94ed2f114e1d0f21fd1d50482b79a60e";
+    };
+    deps = {
+      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-ansi"."^2.0.1" =
+    self.by-version."strip-ansi"."2.0.1";
+  by-spec."strip-bom"."^1.0.0" =
+    self.by-version."strip-bom"."1.0.0";
+  by-version."strip-bom"."1.0.0" = self.buildNodePackage {
+    name = "strip-bom-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz";
+      name = "strip-bom-1.0.0.tgz";
+      sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794";
+    };
+    deps = {
+      "first-chunk-stream-1.0.0" = self.by-version."first-chunk-stream"."1.0.0";
+      "is-utf8-0.2.0" = self.by-version."is-utf8"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."strip-json-comments"."0.1.x" =
     self.by-version."strip-json-comments"."0.1.3";
-  by-version."strip-json-comments"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-version."strip-json-comments"."0.1.3" = self.buildNodePackage {
     name = "strip-json-comments-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz";
-        name = "strip-json-comments-0.1.3.tgz";
-        sha1 = "164c64e370a8a3cc00c9e01b539e569823f0ee54";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."strip-json-comments" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "strip-json-comments" ];
+    version = "0.1.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz";
+      name = "strip-json-comments-0.1.3.tgz";
+      sha1 = "164c64e370a8a3cc00c9e01b539e569823f0ee54";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-json-comments"."1.0.x" =
+    self.by-version."strip-json-comments"."1.0.2";
+  by-version."strip-json-comments"."1.0.2" = self.buildNodePackage {
+    name = "strip-json-comments-1.0.2";
+    version = "1.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.2.tgz";
+      name = "strip-json-comments-1.0.2.tgz";
+      sha1 = "5a48ab96023dbac1b7b8d0ffabf6f63f1677be9f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."strong-data-uri"."~0.1.0" =
     self.by-version."strong-data-uri"."0.1.1";
-  by-version."strong-data-uri"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-strong-data-uri-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.1.tgz";
-        name = "strong-data-uri-0.1.1.tgz";
-        sha1 = "8660241807461d1d2dd247c70563f2f33e66c8ab";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."strong-data-uri" or []);
-    deps = [
-      self.by-version."truncate"."1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "strong-data-uri" ];
+  by-version."strong-data-uri"."0.1.1" = self.buildNodePackage {
+    name = "strong-data-uri-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.1.tgz";
+      name = "strong-data-uri-0.1.1.tgz";
+      sha1 = "8660241807461d1d2dd247c70563f2f33e66c8ab";
+    };
+    deps = {
+      "truncate-1.0.4" = self.by-version."truncate"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."stylus"."*" =
-    self.by-version."stylus"."0.48.0";
-  by-version."stylus"."0.48.0" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.48.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.48.0.tgz";
-        name = "stylus-0.48.0.tgz";
-        sha1 = "a8de8341b1cd89efb9161050bf87a72d65485795";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stylus" or []);
-    deps = [
-      self.by-version."css-parse"."1.7.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."debug"."1.0.4"
-      self.by-version."sax"."0.5.8"
-      self.by-version."glob"."3.2.11"
-      self.by-version."source-map"."0.1.38"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stylus" ];
-  };
-  "stylus" = self.by-version."stylus"."0.48.0";
+    self.by-version."stylus"."0.50.0";
+  by-version."stylus"."0.50.0" = self.buildNodePackage {
+    name = "stylus-0.50.0";
+    version = "0.50.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stylus/-/stylus-0.50.0.tgz";
+      name = "stylus-0.50.0.tgz";
+      sha1 = "2391f0df1ce1dde55a5a8df26b6906a9425ced05";
+    };
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "stylus" = self.by-version."stylus"."0.50.0";
   by-spec."stylus"."0.42.2" =
     self.by-version."stylus"."0.42.2";
-  by-version."stylus"."0.42.2" = lib.makeOverridable self.buildNodePackage {
+  by-version."stylus"."0.42.2" = self.buildNodePackage {
     name = "stylus-0.42.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.42.2.tgz";
-        name = "stylus-0.42.2.tgz";
-        sha1 = "bed29107803129bed1983efc4c7e33f4fd34fee7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stylus" or []);
-    deps = [
-      self.by-version."css-parse"."1.7.0"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."debug"."1.0.4"
-      self.by-version."sax"."0.5.8"
-      self.by-version."glob"."3.2.11"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "stylus" ];
+    version = "0.42.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stylus/-/stylus-0.42.2.tgz";
+      name = "stylus-0.42.2.tgz";
+      sha1 = "bed29107803129bed1983efc4c7e33f4fd34fee7";
+    };
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stylus"."0.49.x" =
+    self.by-version."stylus"."0.49.3";
+  by-version."stylus"."0.49.3" = self.buildNodePackage {
+    name = "stylus-0.49.3";
+    version = "0.49.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stylus/-/stylus-0.49.3.tgz";
+      name = "stylus-0.49.3.tgz";
+      sha1 = "1fbdabe479ed460872c71a6252a67f95040ba511";
+    };
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."subarg"."0.0.1" =
     self.by-version."subarg"."0.0.1";
-  by-version."subarg"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-subarg-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz";
-        name = "subarg-0.0.1.tgz";
-        sha1 = "3d56b07dacfbc45bbb63f7672b43b63e46368e3a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."subarg" or []);
-    deps = [
-      self.by-version."minimist"."0.0.10"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "subarg" ];
-  };
-  by-spec."superagent"."0.18.0" =
-    self.by-version."superagent"."0.18.0";
-  by-version."superagent"."0.18.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.18.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.18.0.tgz";
-        name = "superagent-0.18.0.tgz";
-        sha1 = "9d4375a3ae2c4fbd55fd20d5b12a2470d2fc8f62";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."formidable"."1.0.14"
-      self.by-version."mime"."1.2.5"
-      self.by-version."component-emitter"."1.1.2"
-      self.by-version."methods"."0.0.1"
-      self.by-version."cookiejar"."1.3.2"
-      self.by-version."debug"."0.7.4"
-      self.by-version."reduce-component"."1.0.1"
-      self.by-version."extend"."1.2.1"
-      self.by-version."form-data"."0.1.2"
-      self.by-version."readable-stream"."1.0.27-1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "superagent" ];
-  };
-  by-spec."superagent"."~0.13.0" =
-    self.by-version."superagent"."0.13.0";
-  by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.13.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.13.0.tgz";
-        name = "superagent-0.13.0.tgz";
-        sha1 = "ddfbfa5c26f16790f9c5bce42815ccbde2ca36f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.5.2"
-      self.by-version."formidable"."1.0.9"
-      self.by-version."mime"."1.2.5"
-      self.by-version."emitter-component"."0.0.6"
-      self.by-version."methods"."0.0.1"
-      self.by-version."cookiejar"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "superagent" ];
-  };
-  by-spec."superagent"."~0.18.0" =
-    self.by-version."superagent"."0.18.2";
-  by-version."superagent"."0.18.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-superagent-0.18.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.18.2.tgz";
-        name = "superagent-0.18.2.tgz";
-        sha1 = "9afc6276a9475f4bdcd535ac6a0685ebc4b560eb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."superagent" or []);
-    deps = [
-      self.by-version."qs"."0.6.6"
-      self.by-version."formidable"."1.0.14"
-      self.by-version."mime"."1.2.11"
-      self.by-version."component-emitter"."1.1.2"
-      self.by-version."methods"."1.0.1"
-      self.by-version."cookiejar"."2.0.1"
-      self.by-version."debug"."1.0.4"
-      self.by-version."reduce-component"."1.0.1"
-      self.by-version."extend"."1.2.1"
-      self.by-version."form-data"."0.1.3"
-      self.by-version."readable-stream"."1.0.27-1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "superagent" ];
-  };
+  by-version."subarg"."0.0.1" = self.buildNodePackage {
+    name = "subarg-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz";
+      name = "subarg-0.0.1.tgz";
+      sha1 = "3d56b07dacfbc45bbb63f7672b43b63e46368e3a";
+    };
+    deps = {
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."subarg"."^1.0.0" =
+    self.by-version."subarg"."1.0.0";
+  by-version."subarg"."1.0.0" = self.buildNodePackage {
+    name = "subarg-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";
+      name = "subarg-1.0.0.tgz";
+      sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
+    };
+    deps = {
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sugar"."^1.4.1" =
+    self.by-version."sugar"."1.4.1";
+  by-version."sugar"."1.4.1" = self.buildNodePackage {
+    name = "sugar-1.4.1";
+    version = "1.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sugar/-/sugar-1.4.1.tgz";
+      name = "sugar-1.4.1.tgz";
+      sha1 = "1310d4dedc699e5a173183718541b0d7844a7598";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."superagent"."0.21.0" =
+    self.by-version."superagent"."0.21.0";
+  by-version."superagent"."0.21.0" = self.buildNodePackage {
+    name = "superagent-0.21.0";
+    version = "0.21.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/superagent/-/superagent-0.21.0.tgz";
+      name = "superagent-0.21.0.tgz";
+      sha1 = "fb15027984751ee7152200e6cd21cd6e19a5de87";
+    };
+    deps = {
+      "qs-1.2.0" = self.by-version."qs"."1.2.0";
+      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "methods-1.0.1" = self.by-version."methods"."1.0.1";
+      "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
+      "debug-2.1.1" = self.by-version."debug"."2.1.1";
+      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
+      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."superagent"."~0.21.0" =
+    self.by-version."superagent"."0.21.0";
   by-spec."supertest"."*" =
-    self.by-version."supertest"."0.13.0";
-  by-version."supertest"."0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-supertest-0.13.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/supertest/-/supertest-0.13.0.tgz";
-        name = "supertest-0.13.0.tgz";
-        sha1 = "4892bafd9beaa9bbcc95fd5a9f04949aef1ce06f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."supertest" or []);
-    deps = [
-      self.by-version."superagent"."0.18.0"
-      self.by-version."methods"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "supertest" ];
+    self.by-version."supertest"."0.15.0";
+  by-version."supertest"."0.15.0" = self.buildNodePackage {
+    name = "supertest-0.15.0";
+    version = "0.15.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supertest/-/supertest-0.15.0.tgz";
+      name = "supertest-0.15.0.tgz";
+      sha1 = "86118695de4be58869b3ee94c45e1d084ca7fac5";
+    };
+    deps = {
+      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "supertest" = self.by-version."supertest"."0.15.0";
+  by-spec."supports-color"."1.2.x" =
+    self.by-version."supports-color"."1.2.1";
+  by-version."supports-color"."1.2.1" = self.buildNodePackage {
+    name = "supports-color-1.2.1";
+    version = "1.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz";
+      name = "supports-color-1.2.1.tgz";
+      sha1 = "12ee21507086cd98c1058d9ec0f4ac476b7af3b2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "supertest" = self.by-version."supertest"."0.13.0";
   by-spec."supports-color"."^0.2.0" =
     self.by-version."supports-color"."0.2.0";
-  by-version."supports-color"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."supports-color"."0.2.0" = self.buildNodePackage {
     name = "supports-color-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
-        name = "supports-color-0.2.0.tgz";
-        sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."supports-color" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "supports-color" ];
+    version = "0.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
+      name = "supports-color-0.2.0.tgz";
+      sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."swig"."0.14.x" =
     self.by-version."swig"."0.14.0";
-  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-swig-0.14.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
-        name = "swig-0.14.0.tgz";
-        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."swig" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "swig" ];
+  by-version."swig"."0.14.0" = self.buildNodePackage {
+    name = "swig-0.14.0";
+    version = "0.14.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
+      name = "swig-0.14.0.tgz";
+      sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+    };
+    deps = {
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "swig" = self.by-version."swig"."0.14.0";
   by-spec."sylvester".">= 0.0.12" =
     self.by-version."sylvester"."0.0.21";
-  by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage {
-    name = "node-sylvester-0.0.21";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
-        name = "sylvester-0.0.21.tgz";
-        sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sylvester" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sylvester" ];
+  by-version."sylvester"."0.0.21" = self.buildNodePackage {
+    name = "sylvester-0.0.21";
+    version = "0.0.21";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
+      name = "sylvester-0.0.21.tgz";
+      sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."sylvester".">= 0.0.8" =
     self.by-version."sylvester"."0.0.21";
   by-spec."syntax-error"."^1.1.1" =
-    self.by-version."syntax-error"."1.1.1";
-  by-version."syntax-error"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-syntax-error-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/syntax-error/-/syntax-error-1.1.1.tgz";
-        name = "syntax-error-1.1.1.tgz";
-        sha1 = "50a4f836356f3803a8e954ce5dfd4a0f95ba6a87";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."syntax-error" or []);
-    deps = [
-      self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "syntax-error" ];
-  };
+    self.by-version."syntax-error"."1.1.2";
+  by-version."syntax-error"."1.1.2" = self.buildNodePackage {
+    name = "syntax-error-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/syntax-error/-/syntax-error-1.1.2.tgz";
+      name = "syntax-error-1.1.2.tgz";
+      sha1 = "660f025b170b7eb944efc2a889d451312bcef451";
+    };
+    deps = {
+      "acorn-0.9.0" = self.by-version."acorn"."0.9.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."syntax-error"."~0.0.0" =
+    self.by-version."syntax-error"."0.0.1";
+  by-version."syntax-error"."0.0.1" = self.buildNodePackage {
+    name = "syntax-error-0.0.1";
+    version = "0.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz";
+      name = "syntax-error-0.0.1.tgz";
+      sha1 = "019d075348cd8c5b79f0603c73e53891a7c5235d";
+    };
+    deps = {
+      "esprima-0.9.9" = self.by-version."esprima"."0.9.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."syntax-error"."~0.1.0" =
+    self.by-version."syntax-error"."0.1.0";
+  by-version."syntax-error"."0.1.0" = self.buildNodePackage {
+    name = "syntax-error-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/syntax-error/-/syntax-error-0.1.0.tgz";
+      name = "syntax-error-0.1.0.tgz";
+      sha1 = "8cb515e730fe4f19d3a887035f8630e6494aac65";
+    };
+    deps = {
+      "esprima-six-0.0.3" = self.by-version."esprima-six"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tabtab"."git+https://github.com/mixu/node-tabtab.git" =
+    self.by-version."tabtab"."0.0.2";
+  by-version."tabtab"."0.0.2" = self.buildNodePackage {
+    name = "tabtab-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/mixu/node-tabtab.git";
+      rev = "94af2b878b174527b6636aec88acd46979247755";
+      sha256 = "7be2daa2fe7893478d38d90b213de359c9a662a7ef06ad9cbfaac11ad399a149";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tap"."~0.3.3" =
+    self.by-version."tap"."0.3.3";
+  by-version."tap"."0.3.3" = self.buildNodePackage {
+    name = "tap-0.3.3";
+    version = "0.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tap/-/tap-0.3.3.tgz";
+      name = "tap-0.3.3.tgz";
+      sha1 = "c862237af0a213f97fff46594bd1d44eca705d63";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "yamlish-0.0.6" = self.by-version."yamlish"."0.0.6";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "runforcover-0.0.2" = self.by-version."runforcover"."0.0.2";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "difflet-0.2.6" = self.by-version."difflet"."0.2.6";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tapable"."^0.1.8" =
+    self.by-version."tapable"."0.1.8";
+  by-version."tapable"."0.1.8" = self.buildNodePackage {
+    name = "tapable-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tapable/-/tapable-0.1.8.tgz";
+      name = "tapable-0.1.8.tgz";
+      sha1 = "a943314bc86ac87602c93fbc8ac609dcb19c199e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tapable"."~0.1.8" =
+    self.by-version."tapable"."0.1.8";
   by-spec."tape"."~0.2.2" =
     self.by-version."tape"."0.2.2";
-  by-version."tape"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-version."tape"."0.2.2" = self.buildNodePackage {
     name = "tape-0.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tape/-/tape-0.2.2.tgz";
-        name = "tape-0.2.2.tgz";
-        sha1 = "64ccfa4b7ecf4a0060007e61716d424781671637";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tape" or []);
-    deps = [
-      self.by-version."jsonify"."0.0.0"
-      self.by-version."deep-equal"."0.0.0"
-      self.by-version."defined"."0.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tape" ];
+    version = "0.2.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tape/-/tape-0.2.2.tgz";
+      name = "tape-0.2.2.tgz";
+      sha1 = "64ccfa4b7ecf4a0060007e61716d424781671637";
+    };
+    deps = {
+      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "defined-0.0.0" = self.by-version."defined"."0.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."tar"."*" =
-    self.by-version."tar"."1.0.1";
-  by-version."tar"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-1.0.1.tgz";
-        name = "tar-1.0.1.tgz";
-        sha1 = "6075b5a1f236defe0c7e3756d3d9b3ebdad0f19a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."1.0.2"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  "tar" = self.by-version."tar"."1.0.1";
-  by-spec."tar"."0" =
-    self.by-version."tar"."0.1.20";
-  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-0.1.20";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
-        name = "tar-0.1.20.tgz";
-        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.31"
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
+    self.by-version."tar"."1.0.3";
+  by-version."tar"."1.0.3" = self.buildNodePackage {
+    name = "tar-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar/-/tar-1.0.3.tgz";
+      name = "tar-1.0.3.tgz";
+      sha1 = "15bcdab244fa4add44e4244a0176edb8aa9a2b44";
+    };
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-1.0.4" = self.by-version."fstream"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "tar" = self.by-version."tar"."1.0.3";
   by-spec."tar"."0.1.17" =
     self.by-version."tar"."0.1.17";
-  by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
-        name = "tar-0.1.17.tgz";
-        sha1 = "408c8a95deb8e78a65b59b1a51a333183a32badc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = [
-      self.by-version."inherits"."1.0.0"
-      self.by-version."block-stream"."0.0.7"
-      self.by-version."fstream"."0.1.31"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
+  by-version."tar"."0.1.17" = self.buildNodePackage {
+    name = "tar-0.1.17";
+    version = "0.1.17";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
+      name = "tar-0.1.17.tgz";
+      sha1 = "408c8a95deb8e78a65b59b1a51a333183a32badc";
+    };
+    deps = {
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar"."1.0.2" =
+    self.by-version."tar"."1.0.2";
+  by-version."tar"."1.0.2" = self.buildNodePackage {
+    name = "tar-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar/-/tar-1.0.2.tgz";
+      name = "tar-1.0.2.tgz";
+      sha1 = "8b0f6740f9946259de26a3ed9c9a22890dff023f";
+    };
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-1.0.4" = self.by-version."fstream"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."tar"."^1.0.0" =
-    self.by-version."tar"."1.0.1";
-  by-spec."tar"."~0.1.20" =
+    self.by-version."tar"."1.0.3";
+  by-spec."tar"."~0.1.17" =
     self.by-version."tar"."0.1.20";
-  by-spec."tar-stream"."~0.4.0" =
-    self.by-version."tar-stream"."0.4.5";
-  by-version."tar-stream"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tar-stream-0.4.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar-stream/-/tar-stream-0.4.5.tgz";
-        name = "tar-stream-0.4.5.tgz";
-        sha1 = "a5e0a7521f57974c919b2b99fdae55589aeefa46";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar-stream" or []);
-    deps = [
-      self.by-version."bl"."0.9.1"
-      self.by-version."end-of-stream"."1.0.0"
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."xtend"."4.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar-stream" ];
+  by-version."tar"."0.1.20" = self.buildNodePackage {
+    name = "tar-0.1.20";
+    version = "0.1.20";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+      name = "tar-0.1.20.tgz";
+      sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+    };
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar"."~1.0.1" =
+    self.by-version."tar"."1.0.3";
+  by-spec."tar"."~1.0.2" =
+    self.by-version."tar"."1.0.3";
+  by-spec."tar"."~1.0.3" =
+    self.by-version."tar"."1.0.3";
+  by-spec."tar-fs"."0.5.2" =
+    self.by-version."tar-fs"."0.5.2";
+  by-version."tar-fs"."0.5.2" = self.buildNodePackage {
+    name = "tar-fs-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar-fs/-/tar-fs-0.5.2.tgz";
+      name = "tar-fs-0.5.2.tgz";
+      sha1 = "0f59424be7eeee45232316e302f66d3f6ea6db3e";
+    };
+    deps = {
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "pump-0.3.5" = self.by-version."pump"."0.3.5";
+      "tar-stream-0.4.7" = self.by-version."tar-stream"."0.4.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar-pack"."~2.0.0" =
+    self.by-version."tar-pack"."2.0.0";
+  by-version."tar-pack"."2.0.0" = self.buildNodePackage {
+    name = "tar-pack-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar-pack/-/tar-pack-2.0.0.tgz";
+      name = "tar-pack-2.0.0.tgz";
+      sha1 = "c2c401c02dd366138645e917b3a6baa256a9dcab";
+    };
+    deps = {
+      "uid-number-0.0.3" = self.by-version."uid-number"."0.0.3";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+      "tar-0.1.20" = self.by-version."tar"."0.1.20";
+      "fstream-ignore-0.0.7" = self.by-version."fstream-ignore"."0.0.7";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar-stream"."^0.4.6" =
+    self.by-version."tar-stream"."0.4.7";
+  by-version."tar-stream"."0.4.7" = self.buildNodePackage {
+    name = "tar-stream-0.4.7";
+    version = "0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar-stream/-/tar-stream-0.4.7.tgz";
+      name = "tar-stream-0.4.7.tgz";
+      sha1 = "1f1d2ce9ebc7b42765243ca0e8f1b7bfda0aadcd";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar-stream"."~1.0.0" =
+    self.by-version."tar-stream"."1.0.2";
+  by-version."tar-stream"."1.0.2" = self.buildNodePackage {
+    name = "tar-stream-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar-stream/-/tar-stream-1.0.2.tgz";
+      name = "tar-stream-1.0.2.tgz";
+      sha1 = "fd19b4a17900fa704f6a133e3045aead0562ab95";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."temp"."*" =
     self.by-version."temp"."0.8.1";
-  by-version."temp"."0.8.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-temp-0.8.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/temp/-/temp-0.8.1.tgz";
-        name = "temp-0.8.1.tgz";
-        sha1 = "4b7b4ffde85bb09f2dd6ba6cc43b44213c94fd3a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."temp" or []);
-    deps = [
-      self.by-version."rimraf"."2.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "temp" ];
+  by-version."temp"."0.8.1" = self.buildNodePackage {
+    name = "temp-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/temp/-/temp-0.8.1.tgz";
+      name = "temp-0.8.1.tgz";
+      sha1 = "4b7b4ffde85bb09f2dd6ba6cc43b44213c94fd3a";
+    };
+    deps = {
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "temp" = self.by-version."temp"."0.8.1";
   by-spec."temp"."0.6.0" =
     self.by-version."temp"."0.6.0";
-  by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-temp-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-        name = "temp-0.6.0.tgz";
-        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."temp" or []);
-    deps = [
-      self.by-version."rimraf"."2.1.4"
-      self.by-version."osenv"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "temp" ];
+  by-version."temp"."0.6.0" = self.buildNodePackage {
+    name = "temp-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
+      name = "temp-0.6.0.tgz";
+      sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
+    };
+    deps = {
+      "rimraf-2.1.4" = self.by-version."rimraf"."2.1.4";
+      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."temp".">=0.5.0" =
+    self.by-version."temp"."0.8.1";
+  by-spec."temp"."~0.5.1" =
+    self.by-version."temp"."0.5.1";
+  by-version."temp"."0.5.1" = self.buildNodePackage {
+    name = "temp-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/temp/-/temp-0.5.1.tgz";
+      name = "temp-0.5.1.tgz";
+      sha1 = "77ab19c79aa7b593cbe4fac2441768cad987b8df";
+    };
+    deps = {
+      "rimraf-2.1.4" = self.by-version."rimraf"."2.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."temp"."~0.6.0" =
     self.by-version."temp"."0.6.0";
-  by-spec."temp"."~0.8.0" =
+  by-spec."temp"."~0.8.1" =
     self.by-version."temp"."0.8.1";
   by-spec."text-table"."~0.2.0" =
     self.by-version."text-table"."0.2.0";
-  by-version."text-table"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-text-table-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
-        name = "text-table-0.2.0.tgz";
-        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."text-table" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "text-table" ];
+  by-version."text-table"."0.2.0" = self.buildNodePackage {
+    name = "text-table-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+      name = "text-table-0.2.0.tgz";
+      sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."thenify"."3" =
+    self.by-version."thenify"."3.1.0";
+  by-version."thenify"."3.1.0" = self.buildNodePackage {
+    name = "thenify-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/thenify/-/thenify-3.1.0.tgz";
+      name = "thenify-3.1.0.tgz";
+      sha1 = "c27cbbc62b7c287edf1a1a3d5cc8426d8aed49f0";
+    };
+    deps = {
+      "native-or-bluebird-1.2.0" = self.by-version."native-or-bluebird"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."thenify".">= 3.1.0 < 4" =
+    self.by-version."thenify"."3.1.0";
+  by-spec."thenify-all"."1" =
+    self.by-version."thenify-all"."1.6.0";
+  by-version."thenify-all"."1.6.0" = self.buildNodePackage {
+    name = "thenify-all-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz";
+      name = "thenify-all-1.6.0.tgz";
+      sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
+    };
+    deps = {
+      "thenify-3.1.0" = self.by-version."thenify"."3.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."thirty-two"."~0.0.1" =
+    self.by-version."thirty-two"."0.0.2";
+  by-version."thirty-two"."0.0.2" = self.buildNodePackage {
+    name = "thirty-two-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/thirty-two/-/thirty-two-0.0.2.tgz";
+      name = "thirty-two-0.0.2.tgz";
+      sha1 = "4253e29d8cb058f0480267c5698c0e4927e54b6a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."throttleit"."~0.0.2" =
     self.by-version."throttleit"."0.0.2";
-  by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-throttleit-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
-        name = "throttleit-0.0.2.tgz";
-        sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."throttleit" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "throttleit" ];
-  };
-  by-spec."through".">=2.2.7 <3" =
+  by-version."throttleit"."0.0.2" = self.buildNodePackage {
+    name = "throttleit-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
+      name = "throttleit-0.0.2.tgz";
+      sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."through"."2.3.4" =
     self.by-version."through"."2.3.4";
-  by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through-2.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
-        name = "through-2.3.4.tgz";
-        sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."through" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "through" ];
+  by-version."through"."2.3.4" = self.buildNodePackage {
+    name = "through-2.3.4";
+    version = "2.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz";
+      name = "through-2.3.4.tgz";
+      sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
+  by-spec."through".">=2.2.7 <3" =
+    self.by-version."through"."2.3.6";
+  by-version."through"."2.3.6" = self.buildNodePackage {
+    name = "through-2.3.6";
+    version = "2.3.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through/-/through-2.3.6.tgz";
+      name = "through-2.3.6.tgz";
+      sha1 = "26681c0f524671021d4e29df7c36bce2d0ecf2e8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."through"."~2.2.0" =
+    self.by-version."through"."2.2.7";
+  by-version."through"."2.2.7" = self.buildNodePackage {
+    name = "through-2.2.7";
+    version = "2.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through/-/through-2.2.7.tgz";
+      name = "through-2.2.7.tgz";
+      sha1 = "6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."through"."~2.2.7" =
+    self.by-version."through"."2.2.7";
   by-spec."through"."~2.3.4" =
-    self.by-version."through"."2.3.4";
-  by-spec."through2"."^0.5.1" =
-    self.by-version."through2"."0.5.1";
-  by-version."through2"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/through2/-/through2-0.5.1.tgz";
-        name = "through2-0.5.1.tgz";
-        sha1 = "dfdd012eb9c700e2323fd334f38ac622ab372da7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."3.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "through2" ];
+    self.by-version."through"."2.3.6";
+  by-spec."through"."~2.3.6" =
+    self.by-version."through"."2.3.6";
+  by-spec."through2"."0.6.3" =
+    self.by-version."through2"."0.6.3";
+  by-version."through2"."0.6.3" = self.buildNodePackage {
+    name = "through2-0.6.3";
+    version = "0.6.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through2/-/through2-0.6.3.tgz";
+      name = "through2-0.6.3.tgz";
+      sha1 = "795292fde9f254c2a368b38f9cc5d1bd4663afb6";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."through2"."^0.6.1" =
-    self.by-version."through2"."0.6.1";
-  by-version."through2"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/through2/-/through2-0.6.1.tgz";
-        name = "through2-0.6.1.tgz";
-        sha1 = "f742b32893e8bd26146e789e4fd2ccb2c07a717e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."4.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "through2" ];
-  };
+    self.by-version."through2"."0.6.3";
+  by-spec."through2"."^0.6.3" =
+    self.by-version."through2"."0.6.3";
   by-spec."through2"."^1.0.0" =
     self.by-version."through2"."1.1.1";
-  by-version."through2"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz";
-        name = "through2-1.1.1.tgz";
-        sha1 = "0847cbc4449f3405574dbdccd9bb841b83ac3545";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.1.13"
-      self.by-version."xtend"."4.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "through2" ];
+  by-version."through2"."1.1.1" = self.buildNodePackage {
+    name = "through2-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz";
+      name = "through2-1.1.1.tgz";
+      sha1 = "0847cbc4449f3405574dbdccd9bb841b83ac3545";
+    };
+    deps = {
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."through2"."~0.4.1" =
     self.by-version."through2"."0.4.2";
-  by-version."through2"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-through2-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/through2/-/through2-0.4.2.tgz";
-        name = "through2-0.4.2.tgz";
-        sha1 = "dbf5866031151ec8352bb6c4db64a2292a840b9b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."through2" or []);
-    deps = [
-      self.by-version."readable-stream"."1.0.31"
-      self.by-version."xtend"."2.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "through2" ];
+  by-version."through2"."0.4.2" = self.buildNodePackage {
+    name = "through2-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through2/-/through2-0.4.2.tgz";
+      name = "through2-0.4.2.tgz";
+      sha1 = "dbf5866031151ec8352bb6c4db64a2292a840b9b";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "xtend-2.1.2" = self.by-version."xtend"."2.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."through2"."~0.5.1" =
     self.by-version."through2"."0.5.1";
+  by-version."through2"."0.5.1" = self.buildNodePackage {
+    name = "through2-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through2/-/through2-0.5.1.tgz";
+      name = "through2-0.5.1.tgz";
+      sha1 = "dfdd012eb9c700e2323fd334f38ac622ab372da7";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."thunkify"."~2.1.1" =
+    self.by-version."thunkify"."2.1.2";
+  by-version."thunkify"."2.1.2" = self.buildNodePackage {
+    name = "thunkify-2.1.2";
+    version = "2.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz";
+      name = "thunkify-2.1.2.tgz";
+      sha1 = "faa0e9d230c51acc95ca13a361ac05ca7e04553d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."thunky"."^0.1.0" =
+    self.by-version."thunky"."0.1.0";
+  by-version."thunky"."0.1.0" = self.buildNodePackage {
+    name = "thunky-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz";
+      name = "thunky-0.1.0.tgz";
+      sha1 = "bf30146824e2b6e67b0f2d7a4ac8beb26908684e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."thunky"."~0.1.0" =
+    self.by-version."thunky"."0.1.0";
+  by-spec."tildify"."^1.0.0" =
+    self.by-version."tildify"."1.0.0";
+  by-version."tildify"."1.0.0" = self.buildNodePackage {
+    name = "tildify-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tildify/-/tildify-1.0.0.tgz";
+      name = "tildify-1.0.0.tgz";
+      sha1 = "2a021db5e8fbde0a8f8b4df37adaa8fb1d39d7dd";
+    };
+    deps = {
+      "user-home-1.1.1" = self.by-version."user-home"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."time".">=0.9.2" =
+    self.by-version."time"."0.11.1";
+  by-version."time"."0.11.1" = self.buildNodePackage {
+    name = "time-0.11.1";
+    version = "0.11.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/time/-/time-0.11.1.tgz";
+      name = "time-0.11.1.tgz";
+      sha1 = "acfc8e922a73e3b21a645928cc4061738929edf2";
+    };
+    deps = {
+      "bindings-1.2.0" = self.by-version."bindings"."1.2.0";
+      "debug-0.8.1" = self.by-version."debug"."0.8.1";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."time-line"."^1.0.1" =
+    self.by-version."time-line"."1.0.1";
+  by-version."time-line"."1.0.1" = self.buildNodePackage {
+    name = "time-line-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/time-line/-/time-line-1.0.1.tgz";
+      name = "time-line-1.0.1.tgz";
+      sha1 = "afb89542301c3b5010d118c66b5d63920f5e9a7a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."timed-out"."^2.0.0" =
+    self.by-version."timed-out"."2.0.0";
+  by-version."timed-out"."2.0.0" = self.buildNodePackage {
+    name = "timed-out-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz";
+      name = "timed-out-2.0.0.tgz";
+      sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."timers-browserify"."^1.0.1" =
+    self.by-version."timers-browserify"."1.3.0";
+  by-version."timers-browserify"."1.3.0" = self.buildNodePackage {
+    name = "timers-browserify-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.3.0.tgz";
+      name = "timers-browserify-1.3.0.tgz";
+      sha1 = "c518e6ba39f19619e6ae464e447b1511e172e96f";
+    };
+    deps = {
+      "process-0.10.0" = self.by-version."process"."0.10.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."timers-browserify"."~1.0.1" =
     self.by-version."timers-browserify"."1.0.3";
-  by-version."timers-browserify"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timers-browserify-1.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.0.3.tgz";
-        name = "timers-browserify-1.0.3.tgz";
-        sha1 = "ffba70c9c12eed916fd67318e629ac6f32295551";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."timers-browserify" or []);
-    deps = [
-      self.by-version."process"."0.5.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "timers-browserify" ];
+  by-version."timers-browserify"."1.0.3" = self.buildNodePackage {
+    name = "timers-browserify-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.0.3.tgz";
+      name = "timers-browserify-1.0.3.tgz";
+      sha1 = "ffba70c9c12eed916fd67318e629ac6f32295551";
+    };
+    deps = {
+      "process-0.5.2" = self.by-version."process"."0.5.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."timers-ext"."0.1" =
+    self.by-version."timers-ext"."0.1.0";
+  by-version."timers-ext"."0.1.0" = self.buildNodePackage {
+    name = "timers-ext-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timers-ext/-/timers-ext-0.1.0.tgz";
+      name = "timers-ext-0.1.0.tgz";
+      sha1 = "00345a2ca93089d1251322054389d263e27b77e2";
+    };
+    deps = {
+      "es5-ext-0.10.6" = self.by-version."es5-ext"."0.10.6";
+      "next-tick-0.2.2" = self.by-version."next-tick"."0.2.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."timers-ext"."0.1.x" =
+    self.by-version."timers-ext"."0.1.0";
+  by-spec."timespan"."2.x.x" =
+    self.by-version."timespan"."2.3.0";
+  by-version."timespan"."2.3.0" = self.buildNodePackage {
+    name = "timespan-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz";
+      name = "timespan-2.3.0.tgz";
+      sha1 = "4902ce040bd13d845c8f59b27e9d59bad6f39929";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."timespan"."~2.3.0" =
     self.by-version."timespan"."2.3.0";
-  by-version."timespan"."2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timespan-2.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz";
-        name = "timespan-2.3.0.tgz";
-        sha1 = "4902ce040bd13d845c8f59b27e9d59bad6f39929";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."timespan" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "timespan" ];
-  };
   by-spec."timezone"."*" =
-    self.by-version."timezone"."0.0.34";
-  by-version."timezone"."0.0.34" = lib.makeOverridable self.buildNodePackage {
-    name = "node-timezone-0.0.34";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/timezone/-/timezone-0.0.34.tgz";
-        name = "timezone-0.0.34.tgz";
-        sha1 = "be56c3259448897b7e2eab6e2aeac46d5ab718d4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."timezone" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "timezone" ];
-  };
-  "timezone" = self.by-version."timezone"."0.0.34";
+    self.by-version."timezone"."0.0.39";
+  by-version."timezone"."0.0.39" = self.buildNodePackage {
+    name = "timezone-0.0.39";
+    version = "0.0.39";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timezone/-/timezone-0.0.39.tgz";
+      name = "timezone-0.0.39.tgz";
+      sha1 = "6322fafeac82fd96b907cc93cc0148a1082ff733";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "timezone" = self.by-version."timezone"."0.0.39";
   by-spec."tinycolor"."0.x" =
     self.by-version."tinycolor"."0.0.1";
-  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tinycolor-0.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
-        name = "tinycolor-0.0.1.tgz";
-        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tinycolor" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tinycolor" ];
-  };
-  by-spec."titanium"."3.2.1" =
-    self.by-version."titanium"."3.2.1";
-  by-version."titanium"."3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "titanium-3.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/titanium/-/titanium-3.2.1.tgz";
-        name = "titanium-3.2.1.tgz";
-        sha1 = "b1d432c6c853c22096fb3ed03626e8263b27e39e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."titanium" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."fields"."0.1.12"
-      self.by-version."humanize"."0.0.9"
-      self.by-version."jade"."0.35.0"
-      self.by-version."longjohn"."0.2.4"
-      self.by-version."moment"."2.4.0"
-      self.by-version."node-appc"."0.2.0"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."request"."2.27.0"
-      self.by-version."semver"."2.2.1"
-      self.by-version."sprintf"."0.1.4"
-      self.by-version."temp"."0.6.0"
-      self.by-version."winston"."0.6.2"
-      self.by-version."wrench"."1.5.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "titanium" ];
+  by-version."tinycolor"."0.0.1" = self.buildNodePackage {
+    name = "tinycolor-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+      name = "tinycolor-0.0.1.tgz";
+      sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."titanium"."*" =
+    self.by-version."titanium"."3.4.2-alpha";
+  by-version."titanium"."3.4.2-alpha" = self.buildNodePackage {
+    name = "titanium-3.4.2-alpha";
+    version = "3.4.2-alpha";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/titanium/-/titanium-3.4.2-alpha.tgz";
+      name = "titanium-3.4.2-alpha.tgz";
+      sha1 = "bea444d0e5d3476e09493ea617755c12a0bb474b";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "fields-0.1.23" = self.by-version."fields"."0.1.23";
+      "humanize-0.0.9" = self.by-version."humanize"."0.0.9";
+      "jade-0.35.0" = self.by-version."jade"."0.35.0";
+      "longjohn-0.2.4" = self.by-version."longjohn"."0.2.4";
+      "moment-2.4.0" = self.by-version."moment"."2.4.0";
+      "node-appc-0.2.24" = self.by-version."node-appc"."0.2.24";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "semver-2.2.1" = self.by-version."semver"."2.2.1";
+      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
+      "temp-0.6.0" = self.by-version."temp"."0.6.0";
+      "winston-0.6.2" = self.by-version."winston"."0.6.2";
+      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "titanium" = self.by-version."titanium"."3.4.2-alpha";
+  by-spec."tldtools"."0.0.19" =
+    self.by-version."tldtools"."0.0.19";
+  by-version."tldtools"."0.0.19" = self.buildNodePackage {
+    name = "tldtools-0.0.19";
+    version = "0.0.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tldtools/-/tldtools-0.0.19.tgz";
+      name = "tldtools-0.0.19.tgz";
+      sha1 = "1df2277a43e291fd0a929c0e096a0a0917d75b1b";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tldtools".">=0.0.19" =
+    self.by-version."tldtools"."0.0.23";
+  by-version."tldtools"."0.0.23" = self.buildNodePackage {
+    name = "tldtools-0.0.23";
+    version = "0.0.23";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tldtools/-/tldtools-0.0.23.tgz";
+      name = "tldtools-0.0.23.tgz";
+      sha1 = "2d3c29efc7d14a4fc8f84eb3d3f7fcb70000022a";
+    };
+    deps = {
+      "request-2.53.0" = self.by-version."request"."2.53.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tldtools".">=0.0.6" =
+    self.by-version."tldtools"."0.0.23";
+  by-spec."tls-connect"."^0.2.2" =
+    self.by-version."tls-connect"."0.2.2";
+  by-version."tls-connect"."0.2.2" = self.buildNodePackage {
+    name = "tls-connect-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tls-connect/-/tls-connect-0.2.2.tgz";
+      name = "tls-connect-0.2.2.tgz";
+      sha1 = "1d88d4f4cb829a0741b6acd05d1df73e0d566fd0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tls-connect"."~0.2.0" =
+    self.by-version."tls-connect"."0.2.2";
+  by-spec."tls-connect"."~0.x" =
+    self.by-version."tls-connect"."0.2.2";
+  by-spec."tmp"."0.0.23" =
+    self.by-version."tmp"."0.0.23";
+  by-version."tmp"."0.0.23" = self.buildNodePackage {
+    name = "tmp-0.0.23";
+    version = "0.0.23";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz";
+      name = "tmp-0.0.23.tgz";
+      sha1 = "de874aa5e974a85f0a32cdfdbd74663cb3bd9c74";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tmp"."0.0.24" =
+    self.by-version."tmp"."0.0.24";
+  by-version."tmp"."0.0.24" = self.buildNodePackage {
+    name = "tmp-0.0.24";
+    version = "0.0.24";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz";
+      name = "tmp-0.0.24.tgz";
+      sha1 = "d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "titanium" = self.by-version."titanium"."3.2.1";
   by-spec."tmp"."~0.0.20" =
     self.by-version."tmp"."0.0.24";
-  by-version."tmp"."0.0.24" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tmp-0.0.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz";
-        name = "tmp-0.0.24.tgz";
-        sha1 = "d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tmp" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tmp" ];
+  by-spec."to-array"."0.1.3" =
+    self.by-version."to-array"."0.1.3";
+  by-version."to-array"."0.1.3" = self.buildNodePackage {
+    name = "to-array-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/to-array/-/to-array-0.1.3.tgz";
+      name = "to-array-0.1.3.tgz";
+      sha1 = "d45dadc6363417f60f28474fea50ecddbb4f4991";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tomahawk"."0.1.6" =
+    self.by-version."tomahawk"."0.1.6";
+  by-version."tomahawk"."0.1.6" = self.buildNodePackage {
+    name = "tomahawk-0.1.6";
+    version = "0.1.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tomahawk/-/tomahawk-0.1.6.tgz";
+      name = "tomahawk-0.1.6.tgz";
+      sha1 = "9726580ec9f51c148cf2030c6255c110243d49a5";
+    };
+    deps = {
+      "body-parser-1.5.0" = self.by-version."body-parser"."1.5.0";
+      "connect-3.0.2" = self.by-version."connect"."3.0.2";
+      "errorhandler-1.1.1" = self.by-version."errorhandler"."1.1.1";
+      "express-4.6.1" = self.by-version."express"."4.6.1";
+      "morgan-1.2.0" = self.by-version."morgan"."1.2.0";
+      "node-options-0.0.6" = self.by-version."node-options"."0.0.6";
+      "socket.io-1.0.6" = self.by-version."socket.io"."1.0.6";
+      "winston-0.7.3" = self.by-version."winston"."0.7.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tomahawk-plugin-kv-memory-store"."0.0.3" =
+    self.by-version."tomahawk-plugin-kv-memory-store"."0.0.3";
+  by-version."tomahawk-plugin-kv-memory-store"."0.0.3" = self.buildNodePackage {
+    name = "tomahawk-plugin-kv-memory-store-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tomahawk-plugin-kv-memory-store/-/tomahawk-plugin-kv-memory-store-0.0.3.tgz";
+      name = "tomahawk-plugin-kv-memory-store-0.0.3.tgz";
+      sha1 = "120547598bd72ca72bd2eedb0ee03ae85c667b02";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."toobusy"."~0.2.4" =
+    self.by-version."toobusy"."0.2.4";
+  by-version."toobusy"."0.2.4" = self.buildNodePackage {
+    name = "toobusy-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/toobusy/-/toobusy-0.2.4.tgz";
+      name = "toobusy-0.2.4.tgz";
+      sha1 = "d97a3ee760b2462388e15f8526579b4b64bb193d";
+    };
+    deps = {
+      "bindings-1.1.0" = self.by-version."bindings"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."torrent-stream"."^0.16.2" =
+    self.by-version."torrent-stream"."0.16.2";
+  by-version."torrent-stream"."0.16.2" = self.buildNodePackage {
+    name = "torrent-stream-0.16.2";
+    version = "0.16.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/torrent-stream/-/torrent-stream-0.16.2.tgz";
+      name = "torrent-stream-0.16.2.tgz";
+      sha1 = "f6460d2e1b25371ff82f4d5391450846d78b9164";
+    };
+    deps = {
+      "bitfield-0.1.0" = self.by-version."bitfield"."0.1.0";
+      "bittorrent-dht-2.6.4" = self.by-version."bittorrent-dht"."2.6.4";
+      "bittorrent-tracker-2.12.1" = self.by-version."bittorrent-tracker"."2.12.1";
+      "bncode-0.5.3" = self.by-version."bncode"."0.5.3";
+      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
+      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "ip-0.3.2" = self.by-version."ip"."0.3.2";
+      "ip-set-1.0.0" = self.by-version."ip-set"."1.0.0";
+      "magnet-uri-2.0.1" = self.by-version."magnet-uri"."2.0.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "parse-torrent-1.7.0" = self.by-version."parse-torrent"."1.7.0";
+      "peer-wire-swarm-0.9.2" = self.by-version."peer-wire-swarm"."0.9.2";
+      "random-access-file-0.3.1" = self.by-version."random-access-file"."0.3.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."torrent-stream"."~0.13.3" =
+    self.by-version."torrent-stream"."0.13.5";
+  by-version."torrent-stream"."0.13.5" = self.buildNodePackage {
+    name = "torrent-stream-0.13.5";
+    version = "0.13.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/torrent-stream/-/torrent-stream-0.13.5.tgz";
+      name = "torrent-stream-0.13.5.tgz";
+      sha1 = "13127bc81f668ad4dbd26cf3e984c3dd1cd70d40";
+    };
+    deps = {
+      "bitfield-0.1.0" = self.by-version."bitfield"."0.1.0";
+      "bittorrent-dht-1.5.0" = self.by-version."bittorrent-dht"."1.5.0";
+      "bittorrent-tracker-2.12.1" = self.by-version."bittorrent-tracker"."2.12.1";
+      "bncode-0.5.3" = self.by-version."bncode"."0.5.3";
+      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
+      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
+      "hat-0.0.3" = self.by-version."hat"."0.0.3";
+      "ip-0.3.2" = self.by-version."ip"."0.3.2";
+      "magnet-uri-2.0.1" = self.by-version."magnet-uri"."2.0.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "parse-torrent-1.7.0" = self.by-version."parse-torrent"."1.7.0";
+      "peer-wire-swarm-0.9.2" = self.by-version."peer-wire-swarm"."0.9.2";
+      "random-access-file-0.3.1" = self.by-version."random-access-file"."0.3.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."touch"."0.0.2" =
+    self.by-version."touch"."0.0.2";
+  by-version."touch"."0.0.2" = self.buildNodePackage {
+    name = "touch-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/touch/-/touch-0.0.2.tgz";
+      name = "touch-0.0.2.tgz";
+      sha1 = "a65a777795e5cbbe1299499bdc42281ffb21b5f4";
+    };
+    deps = {
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."touch"."~0.0.3" =
+    self.by-version."touch"."0.0.3";
+  by-version."touch"."0.0.3" = self.buildNodePackage {
+    name = "touch-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/touch/-/touch-0.0.3.tgz";
+      name = "touch-0.0.3.tgz";
+      sha1 = "51aef3d449571d4f287a5d87c9c8b49181a0db1d";
+    };
+    deps = {
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."tough-cookie".">=0.12.0" =
     self.by-version."tough-cookie"."0.12.1";
-  by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tough-cookie-0.12.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
-        name = "tough-cookie-0.12.1.tgz";
-        sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = [
-      self.by-version."punycode"."1.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
-  };
+  by-version."tough-cookie"."0.12.1" = self.buildNodePackage {
+    name = "tough-cookie-0.12.1";
+    version = "0.12.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
+      name = "tough-cookie-0.12.1.tgz";
+      sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+    };
+    deps = {
+      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tough-cookie"."^0.12.1" =
+    self.by-version."tough-cookie"."0.12.1";
   by-spec."tough-cookie"."~0.9.15" =
     self.by-version."tough-cookie"."0.9.15";
-  by-version."tough-cookie"."0.9.15" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tough-cookie-0.9.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz";
-        name = "tough-cookie-0.9.15.tgz";
-        sha1 = "75617ac347e3659052b0350131885829677399f6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = [
-      self.by-version."punycode"."1.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
+  by-version."tough-cookie"."0.9.15" = self.buildNodePackage {
+    name = "tough-cookie-0.9.15";
+    version = "0.9.15";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz";
+      name = "tough-cookie-0.9.15.tgz";
+      sha1 = "75617ac347e3659052b0350131885829677399f6";
+    };
+    deps = {
+      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."traceur"."0.0.55" =
     self.by-version."traceur"."0.0.55";
-  by-version."traceur"."0.0.55" = lib.makeOverridable self.buildNodePackage {
+  by-version."traceur"."0.0.55" = self.buildNodePackage {
     name = "traceur-0.0.55";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/traceur/-/traceur-0.0.55.tgz";
-        name = "traceur-0.0.55.tgz";
-        sha1 = "b1a44b69bfbabb9db2c7c284713f4ebacf46f733";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."traceur" or []);
-    deps = [
-      self.by-version."commander"."2.3.0"
-      self.by-version."glob"."4.0.5"
-      self.by-version."semver"."2.3.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "traceur" ];
+    version = "0.0.55";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/traceur/-/traceur-0.0.55.tgz";
+      name = "traceur-0.0.55.tgz";
+      sha1 = "b1a44b69bfbabb9db2c7c284713f4ebacf46f733";
+    };
+    deps = {
+      "commander-2.6.0" = self.by-version."commander"."2.6.0";
+      "glob-4.4.0" = self.by-version."glob"."4.4.0";
+      "semver-2.3.2" = self.by-version."semver"."2.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."transformers"."2.1.0" =
     self.by-version."transformers"."2.1.0";
-  by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-transformers-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
-        name = "transformers-2.1.0.tgz";
-        sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."transformers" or []);
-    deps = [
-      self.by-version."promise"."2.0.0"
-      self.by-version."css"."1.0.8"
-      self.by-version."uglify-js"."2.2.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "transformers" ];
+  by-version."transformers"."2.1.0" = self.buildNodePackage {
+    name = "transformers-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
+      name = "transformers-2.1.0.tgz";
+      sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
+    };
+    deps = {
+      "promise-2.0.0" = self.by-version."promise"."2.0.0";
+      "css-1.0.8" = self.by-version."css"."1.0.8";
+      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."trash"."*" =
+    self.by-version."trash"."1.4.1";
+  by-version."trash"."1.4.1" = self.buildNodePackage {
+    name = "trash-1.4.1";
+    version = "1.4.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/trash/-/trash-1.4.1.tgz";
+      name = "trash-1.4.1.tgz";
+      sha1 = "aa8e0ae39c9764ea1b2dcb9ebc324cbcd8d1a928";
+    };
+    deps = {
+      "meow-3.0.0" = self.by-version."meow"."3.0.0";
+      "osx-trash-1.0.0" = self.by-version."osx-trash"."1.0.0";
+      "update-notifier-0.3.0" = self.by-version."update-notifier"."0.3.0";
+      "win-trash-1.0.0" = self.by-version."win-trash"."1.0.0";
+      "xdg-trash-1.0.6" = self.by-version."xdg-trash"."1.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "trash" = self.by-version."trash"."1.4.1";
+  by-spec."traverse"."0.6.x" =
+    self.by-version."traverse"."0.6.6";
+  by-version."traverse"."0.6.6" = self.buildNodePackage {
+    name = "traverse-0.6.6";
+    version = "0.6.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
+      name = "traverse-0.6.6.tgz";
+      sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."traverse".">=0.2.4" =
+    self.by-version."traverse"."0.6.6";
+  by-spec."traverse".">=0.3.0 <0.4" =
+    self.by-version."traverse"."0.3.9";
+  by-version."traverse"."0.3.9" = self.buildNodePackage {
+    name = "traverse-0.3.9";
+    version = "0.3.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz";
+      name = "traverse-0.3.9.tgz";
+      sha1 = "717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."traverse"."~0.5.1" =
+    self.by-version."traverse"."0.5.2";
+  by-version."traverse"."0.5.2" = self.buildNodePackage {
+    name = "traverse-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz";
+      name = "traverse-0.5.2.tgz";
+      sha1 = "e203c58d5f7f0e37db6e74c0acb929bb09b61d85";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."truncate"."~1.0.2" =
-    self.by-version."truncate"."1.0.2";
-  by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-truncate-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/truncate/-/truncate-1.0.2.tgz";
-        name = "truncate-1.0.2.tgz";
-        sha1 = "3221c41f6e747f83e8613f5466c8bfb596226a66";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."truncate" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "truncate" ];
+    self.by-version."truncate"."1.0.4";
+  by-version."truncate"."1.0.4" = self.buildNodePackage {
+    name = "truncate-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/truncate/-/truncate-1.0.4.tgz";
+      name = "truncate-1.0.4.tgz";
+      sha1 = "2bcfbbff4a97b9089b693c1ae37c5105ec8775aa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tryor"."~0.1.2" =
+    self.by-version."tryor"."0.1.2";
+  by-version."tryor"."0.1.2" = self.buildNodePackage {
+    name = "tryor-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz";
+      name = "tryor-0.1.2.tgz";
+      sha1 = "8145e4ca7caff40acde3ccf946e8b8bb75b4172b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tty-browserify"."0.0.0" =
+    self.by-version."tty-browserify"."0.0.0";
+  by-version."tty-browserify"."0.0.0" = self.buildNodePackage {
+    name = "tty-browserify-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
+      name = "tty-browserify-0.0.0.tgz";
+      sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."tty-browserify"."~0.0.0" =
     self.by-version."tty-browserify"."0.0.0";
-  by-version."tty-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tty-browserify-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
-        name = "tty-browserify-0.0.0.tgz";
-        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tty-browserify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tty-browserify" ];
-  };
   by-spec."tunnel-agent"."~0.2.0" =
     self.by-version."tunnel-agent"."0.2.0";
-  by-version."tunnel-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tunnel-agent-0.2.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
-        name = "tunnel-agent-0.2.0.tgz";
-        sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tunnel-agent" ];
+  by-version."tunnel-agent"."0.2.0" = self.buildNodePackage {
+    name = "tunnel-agent-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
+      name = "tunnel-agent-0.2.0.tgz";
+      sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."tunnel-agent"."~0.3.0" =
     self.by-version."tunnel-agent"."0.3.0";
-  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tunnel-agent-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
-        name = "tunnel-agent-0.3.0.tgz";
-        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tunnel-agent" ];
+  by-version."tunnel-agent"."0.3.0" = self.buildNodePackage {
+    name = "tunnel-agent-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+      name = "tunnel-agent-0.3.0.tgz";
+      sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."tunnel-agent"."~0.4.0" =
     self.by-version."tunnel-agent"."0.4.0";
-  by-version."tunnel-agent"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-tunnel-agent-0.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
-        name = "tunnel-agent-0.4.0.tgz";
-        sha1 = "b1184e312ffbcf70b3b4c78e8c219de7ebb1c550";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tunnel-agent" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tunnel-agent" ];
+  by-version."tunnel-agent"."0.4.0" = self.buildNodePackage {
+    name = "tunnel-agent-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
+      name = "tunnel-agent-0.4.0.tgz";
+      sha1 = "b1184e312ffbcf70b3b4c78e8c219de7ebb1c550";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."twilio".">=1.1.4" =
+    self.by-version."twilio"."1.11.0";
+  by-version."twilio"."1.11.0" = self.buildNodePackage {
+    name = "twilio-1.11.0";
+    version = "1.11.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/twilio/-/twilio-1.11.0.tgz";
+      name = "twilio-1.11.0.tgz";
+      sha1 = "ac49109fbbf761d1b3efad5e49ae1bbb95135700";
+    };
+    deps = {
+      "request-2.27.0" = self.by-version."request"."2.27.0";
+      "underscore-1.8.2" = self.by-version."underscore"."1.8.2";
+      "jwt-simple-0.1.0" = self.by-version."jwt-simple"."0.1.0";
+      "q-0.9.7" = self.by-version."q"."0.9.7";
+      "scmp-0.0.3" = self.by-version."scmp"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."twitter-ng"."0.6.2" =
+    self.by-version."twitter-ng"."0.6.2";
+  by-version."twitter-ng"."0.6.2" = self.buildNodePackage {
+    name = "twitter-ng-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/twitter-ng/-/twitter-ng-0.6.2.tgz";
+      name = "twitter-ng-0.6.2.tgz";
+      sha1 = "13707115dd04c9bd1f2c646da976589be4d64bc4";
+    };
+    deps = {
+      "oauth-0.9.12" = self.by-version."oauth"."0.9.12";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."type-check"."~0.3.1" =
+    self.by-version."type-check"."0.3.1";
+  by-version."type-check"."0.3.1" = self.buildNodePackage {
+    name = "type-check-0.3.1";
+    version = "0.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-check/-/type-check-0.3.1.tgz";
+      name = "type-check-0.3.1.tgz";
+      sha1 = "9233923c4da174d0ac5480ecfd6ef84c349eb58d";
+    };
+    deps = {
+      "prelude-ls-1.1.1" = self.by-version."prelude-ls"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."type-detect"."0.1.1" =
     self.by-version."type-detect"."0.1.1";
-  by-version."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-detect-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz";
-        name = "type-detect-0.1.1.tgz";
-        sha1 = "0ba5ec2a885640e470ea4e8505971900dac58822";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-detect" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-detect" ];
-  };
-  by-spec."type-is"."1.0.0" =
-    self.by-version."type-is"."1.0.0";
-  by-version."type-is"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz";
-        name = "type-is-1.0.0.tgz";
-        sha1 = "4ff424e97349a1ee1910b4bfc488595ecdc443fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."mime"."1.2.11"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."type-is"."1.2.1" =
-    self.by-version."type-is"."1.2.1";
-  by-version."type-is"."1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.2.1.tgz";
-        name = "type-is-1.2.1.tgz";
-        sha1 = "73d448080a4f1dd18acb1eefff62968c5b5d54a2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."mime-types"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."type-is"."1.3.1" =
-    self.by-version."type-is"."1.3.1";
-  by-version."type-is"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.1.tgz";
-        name = "type-is-1.3.1.tgz";
-        sha1 = "a6789b5a52138289ade1ef8f6d9f2874ffd70b6b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."mime-types"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."type-is"."~1.3.1" =
-    self.by-version."type-is"."1.3.2";
-  by-version."type-is"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-type-is-1.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
-        name = "type-is-1.3.2.tgz";
-        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = [
-      self.by-version."media-typer"."0.2.0"
-      self.by-version."mime-types"."1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
+  by-version."type-detect"."0.1.1" = self.buildNodePackage {
+    name = "type-detect-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz";
+      name = "type-detect-0.1.1.tgz";
+      sha1 = "0ba5ec2a885640e470ea4e8505971900dac58822";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."type-is"."~1.3.2" =
     self.by-version."type-is"."1.3.2";
+  by-version."type-is"."1.3.2" = self.buildNodePackage {
+    name = "type-is-1.3.2";
+    version = "1.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
+      name = "type-is-1.3.2.tgz";
+      sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
+    };
+    deps = {
+      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."type-is"."~1.5.1" =
+    self.by-version."type-is"."1.5.7";
+  by-version."type-is"."1.5.7" = self.buildNodePackage {
+    name = "type-is-1.5.7";
+    version = "1.5.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz";
+      name = "type-is-1.5.7.tgz";
+      sha1 = "b9368a593cc6ef7d0645e78b2f4c64cbecd05e90";
+    };
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."type-is"."~1.5.2" =
+    self.by-version."type-is"."1.5.7";
+  by-spec."type-is"."~1.5.3" =
+    self.by-version."type-is"."1.5.7";
+  by-spec."type-is"."~1.5.5" =
+    self.by-version."type-is"."1.5.7";
+  by-spec."type-is"."~1.6.0" =
+    self.by-version."type-is"."1.6.0";
+  by-version."type-is"."1.6.0" = self.buildNodePackage {
+    name = "type-is-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.6.0.tgz";
+      name = "type-is-1.6.0.tgz";
+      sha1 = "efcb9223fafad5a03be14d8f6c9e1785f2c0e7c3";
+    };
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.0.9" = self.by-version."mime-types"."2.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."typechecker"."~2.0.1" =
     self.by-version."typechecker"."2.0.8";
-  by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-typechecker-2.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
-        name = "typechecker-2.0.8.tgz";
-        sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."typechecker" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "typechecker" ];
+  by-version."typechecker"."2.0.8" = self.buildNodePackage {
+    name = "typechecker-2.0.8";
+    version = "2.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
+      name = "typechecker-2.0.8.tgz";
+      sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."typedarray"."~0.0.5" =
     self.by-version."typedarray"."0.0.6";
-  by-version."typedarray"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-typedarray-0.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-        name = "typedarray-0.0.6.tgz";
-        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."typedarray" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "typedarray" ];
+  by-version."typedarray"."0.0.6" = self.buildNodePackage {
+    name = "typedarray-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+      name = "typedarray-0.0.6.tgz";
+      sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."typescript"."*" =
-    self.by-version."typescript"."1.0.1";
-  by-version."typescript"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "typescript-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/typescript/-/typescript-1.0.1.tgz";
-        name = "typescript-1.0.1.tgz";
-        sha1 = "e8eacde3084a091d3fe29b60ac5862252662a25a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."typescript" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "typescript" ];
-  };
-  "typescript" = self.by-version."typescript"."1.0.1";
+    self.by-version."typescript"."1.4.1";
+  by-version."typescript"."1.4.1" = self.buildNodePackage {
+    name = "typescript-1.4.1";
+    version = "1.4.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/typescript/-/typescript-1.4.1.tgz";
+      name = "typescript-1.4.1.tgz";
+      sha1 = "eb4da986d1b7f01452eafb57559e0cc8f516cd48";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "typescript" = self.by-version."typescript"."1.4.1";
   by-spec."uglify-js"."*" =
-    self.by-version."uglify-js"."2.4.15";
-  by-version."uglify-js"."2.4.15" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.4.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz";
-        name = "uglify-js-2.4.15.tgz";
-        sha1 = "12bc6d84345fbc306e13f7075d6437a8bf64d7e3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.34"
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-to-browserify"."1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uglify-js" ];
-  };
-  "uglify-js" = self.by-version."uglify-js"."2.4.15";
+    self.by-version."uglify-js"."2.4.16";
+  by-version."uglify-js"."2.4.16" = self.buildNodePackage {
+    name = "uglify-js-2.4.16";
+    version = "2.4.16";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.16.tgz";
+      name = "uglify-js-2.4.16.tgz";
+      sha1 = "84143487eb480efd7d0789c7ecfbd48a695839f9";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.34" = self.by-version."source-map"."0.1.34";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "uglify-js" = self.by-version."uglify-js"."2.4.16";
   by-spec."uglify-js"."1.2.5" =
     self.by-version."uglify-js"."1.2.5";
-  by-version."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-version."uglify-js"."1.2.5" = self.buildNodePackage {
     name = "uglify-js-1.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
-        name = "uglify-js-1.2.5.tgz";
-        sha1 = "b542c2c76f78efb34b200b20177634330ff702b6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uglify-js" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uglify-js" ];
+    version = "1.2.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
+      name = "uglify-js-1.2.5.tgz";
+      sha1 = "b542c2c76f78efb34b200b20177634330ff702b6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."uglify-js"."2.4.0" =
     self.by-version."uglify-js"."2.4.0";
-  by-version."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."uglify-js"."2.4.0" = self.buildNodePackage {
     name = "uglify-js-2.4.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
-        name = "uglify-js-2.4.0.tgz";
-        sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-      self.by-version."uglify-to-browserify"."1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uglify-js" ];
-  };
+    version = "2.4.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
+      name = "uglify-js-2.4.0.tgz";
+      sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uglify-js"."2.4.16" =
+    self.by-version."uglify-js"."2.4.16";
   by-spec."uglify-js"."^2.4.0" =
-    self.by-version."uglify-js"."2.4.15";
+    self.by-version."uglify-js"."2.4.16";
+  by-spec."uglify-js"."^2.4.15" =
+    self.by-version."uglify-js"."2.4.16";
+  by-spec."uglify-js"."~1.1.1" =
+    self.by-version."uglify-js"."1.1.1";
+  by-version."uglify-js"."1.1.1" = self.buildNodePackage {
+    name = "uglify-js-1.1.1";
+    version = "1.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz";
+      name = "uglify-js-1.1.1.tgz";
+      sha1 = "ee71a97c4cefd06a1a9b20437f34118982aa035b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."uglify-js"."~2.2" =
     self.by-version."uglify-js"."2.2.5";
-  by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-version."uglify-js"."2.2.5" = self.buildNodePackage {
     name = "uglify-js-2.2.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
-        name = "uglify-js-2.2.5.tgz";
-        sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uglify-js" ];
+    version = "2.2.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
+      name = "uglify-js-2.2.5.tgz";
+      sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
+    };
+    deps = {
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."uglify-js"."~2.2.5" =
     self.by-version."uglify-js"."2.2.5";
   by-spec."uglify-js"."~2.3" =
     self.by-version."uglify-js"."2.3.6";
-  by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage {
+  by-version."uglify-js"."2.3.6" = self.buildNodePackage {
     name = "uglify-js-2.3.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
-        name = "uglify-js-2.3.6.tgz";
-        sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uglify-js" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."source-map"."0.1.38"
-      self.by-version."optimist"."0.3.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uglify-js" ];
+    version = "2.3.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+      name = "uglify-js-2.3.6.tgz";
+      sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."uglify-js"."~2.3.6" =
-    self.by-version."uglify-js"."2.3.6";
   by-spec."uglify-js"."~2.4.0" =
-    self.by-version."uglify-js"."2.4.15";
-  by-spec."uglify-js"."~2.4.12" =
-    self.by-version."uglify-js"."2.4.15";
+    self.by-version."uglify-js"."2.4.16";
+  by-spec."uglify-js"."~2.4.13" =
+    self.by-version."uglify-js"."2.4.16";
+  by-spec."uglify-js"."~2.4.15" =
+    self.by-version."uglify-js"."2.4.16";
   by-spec."uglify-to-browserify"."~1.0.0" =
     self.by-version."uglify-to-browserify"."1.0.2";
-  by-version."uglify-to-browserify"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uglify-to-browserify-1.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
-        name = "uglify-to-browserify-1.0.2.tgz";
-        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uglify-to-browserify" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uglify-to-browserify" ];
+  by-version."uglify-to-browserify"."1.0.2" = self.buildNodePackage {
+    name = "uglify-to-browserify-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+      name = "uglify-to-browserify-1.0.2.tgz";
+      sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid"."0.0.2" =
+    self.by-version."uid"."0.0.2";
+  by-version."uid"."0.0.2" = self.buildNodePackage {
+    name = "uid-0.0.2";
+    version = "0.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid/-/uid-0.0.2.tgz";
+      name = "uid-0.0.2.tgz";
+      sha1 = "5e4a5d4b78138b4f70f89fd3c76fc59aa9d2f103";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid-number"."0.0.3" =
+    self.by-version."uid-number"."0.0.3";
+  by-version."uid-number"."0.0.3" = self.buildNodePackage {
+    name = "uid-number-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz";
+      name = "uid-number-0.0.3.tgz";
+      sha1 = "cefb0fa138d8d8098da71a40a0d04a8327d6e1cc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."uid-number"."0.0.5" =
     self.by-version."uid-number"."0.0.5";
-  by-version."uid-number"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid-number-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz";
-        name = "uid-number-0.0.5.tgz";
-        sha1 = "5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uid-number" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uid-number" ];
-  };
-  by-spec."uid-safe"."1" =
-    self.by-version."uid-safe"."1.0.1";
-  by-version."uid-safe"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid-safe-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
-        name = "uid-safe-1.0.1.tgz";
-        sha1 = "5bd148460a2e84f54f193fd20352c8c3d7de6ac8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uid-safe" or []);
-    deps = [
-      self.by-version."mz"."1.0.1"
-      self.by-version."base64-url"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uid-safe" ];
+  by-version."uid-number"."0.0.5" = self.buildNodePackage {
+    name = "uid-number-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz";
+      name = "uid-number-0.0.5.tgz";
+      sha1 = "5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid-number"."0.0.6" =
+    self.by-version."uid-number"."0.0.6";
+  by-version."uid-number"."0.0.6" = self.buildNodePackage {
+    name = "uid-number-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz";
+      name = "uid-number-0.0.6.tgz";
+      sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."uid-safe"."1.0.1" =
     self.by-version."uid-safe"."1.0.1";
+  by-version."uid-safe"."1.0.1" = self.buildNodePackage {
+    name = "uid-safe-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
+      name = "uid-safe-1.0.1.tgz";
+      sha1 = "5bd148460a2e84f54f193fd20352c8c3d7de6ac8";
+    };
+    deps = {
+      "mz-1.3.0" = self.by-version."mz"."1.3.0";
+      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid-safe"."1.1.0" =
+    self.by-version."uid-safe"."1.1.0";
+  by-version."uid-safe"."1.1.0" = self.buildNodePackage {
+    name = "uid-safe-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.1.0.tgz";
+      name = "uid-safe-1.1.0.tgz";
+      sha1 = "58d6c5dabf8dfbd8d52834839806c03fd6143232";
+    };
+    deps = {
+      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
+      "native-or-bluebird-1.1.2" = self.by-version."native-or-bluebird"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid-safe"."~1.1.0" =
+    self.by-version."uid-safe"."1.1.0";
   by-spec."uid2"."0.0.3" =
     self.by-version."uid2"."0.0.3";
-  by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uid2-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
-        name = "uid2-0.0.3.tgz";
-        sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uid2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uid2" ];
+  by-version."uid2"."0.0.3" = self.buildNodePackage {
+    name = "uid2-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
+      name = "uid2-0.0.3.tgz";
+      sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid2"."0.0.x" =
+    self.by-version."uid2"."0.0.3";
+  by-spec."uid2"."~0.0.2" =
+    self.by-version."uid2"."0.0.3";
+  by-spec."ultron"."1.0.x" =
+    self.by-version."ultron"."1.0.1";
+  by-version."ultron"."1.0.1" = self.buildNodePackage {
+    name = "ultron-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ultron/-/ultron-1.0.1.tgz";
+      name = "ultron-1.0.1.tgz";
+      sha1 = "c9d8d86c9cf2823028eb45629ab725897dd65dc5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."umask"."~1.1.0" =
+    self.by-version."umask"."1.1.0";
+  by-version."umask"."1.1.0" = self.buildNodePackage {
+    name = "umask-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/umask/-/umask-1.1.0.tgz";
+      name = "umask-1.1.0.tgz";
+      sha1 = "f29cebf01df517912bb58ff9c4e50fde8e33320d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."umd"."^2.1.0" =
     self.by-version."umd"."2.1.0";
-  by-version."umd"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-version."umd"."2.1.0" = self.buildNodePackage {
     name = "umd-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/umd/-/umd-2.1.0.tgz";
-        name = "umd-2.1.0.tgz";
-        sha1 = "4a6307b762f17f02d201b5fa154e673396c263cf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."umd" or []);
-    deps = [
-      self.by-version."rfile"."1.0.0"
-      self.by-version."ruglify"."1.0.0"
-      self.by-version."through"."2.3.4"
-      self.by-version."uglify-js"."2.4.15"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "umd" ];
+    version = "2.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/umd/-/umd-2.1.0.tgz";
+      name = "umd-2.1.0.tgz";
+      sha1 = "4a6307b762f17f02d201b5fa154e673396c263cf";
+    };
+    deps = {
+      "rfile-1.0.0" = self.by-version."rfile"."1.0.0";
+      "ruglify-1.0.0" = self.by-version."ruglify"."1.0.0";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."umd"."^3.0.0" =
+    self.by-version."umd"."3.0.0";
+  by-version."umd"."3.0.0" = self.buildNodePackage {
+    name = "umd-3.0.0";
+    version = "3.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/umd/-/umd-3.0.0.tgz";
+      name = "umd-3.0.0.tgz";
+      sha1 = "328de29bf1004abb4d6309d7fff1b84b9f823b83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."umd"."~2.0.0" =
+    self.by-version."umd"."2.0.0";
+  by-version."umd"."2.0.0" = self.buildNodePackage {
+    name = "umd-2.0.0";
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/umd/-/umd-2.0.0.tgz";
+      name = "umd-2.0.0.tgz";
+      sha1 = "749683b0d514728ae0e1b6195f5774afc0ad4f8f";
+    };
+    deps = {
+      "rfile-1.0.0" = self.by-version."rfile"."1.0.0";
+      "ruglify-1.0.0" = self.by-version."ruglify"."1.0.0";
+      "through-2.3.6" = self.by-version."through"."2.3.6";
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."umd"."~2.1.0" =
     self.by-version."umd"."2.1.0";
   by-spec."underscore"."*" =
-    self.by-version."underscore"."1.6.0";
-  by-version."underscore"."1.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
-        name = "underscore-1.6.0.tgz";
-        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
+    self.by-version."underscore"."1.8.2";
+  by-version."underscore"."1.8.2" = self.buildNodePackage {
+    name = "underscore-1.8.2";
+    version = "1.8.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.8.2.tgz";
+      name = "underscore-1.8.2.tgz";
+      sha1 = "64df2eb590899de950782f3735190ba42ebf311d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "underscore" = self.by-version."underscore"."1.8.2";
+  by-spec."underscore"."1.2.1" =
+    self.by-version."underscore"."1.2.1";
+  by-version."underscore"."1.2.1" = self.buildNodePackage {
+    name = "underscore-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.2.1.tgz";
+      name = "underscore-1.2.1.tgz";
+      sha1 = "fc5c6b0765673d92a2d4ac8b4dc0aa88702e2bd4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."1.3.3" =
+    self.by-version."underscore"."1.3.3";
+  by-version."underscore"."1.3.3" = self.buildNodePackage {
+    name = "underscore-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.3.3.tgz";
+      name = "underscore-1.3.3.tgz";
+      sha1 = "47ac53683daf832bfa952e1774417da47817ae42";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "underscore" = self.by-version."underscore"."1.6.0";
   by-spec."underscore"."1.6.x" =
     self.by-version."underscore"."1.6.0";
-  by-spec."underscore".">= 1.3.0" =
-    self.by-version."underscore"."1.6.0";
+  by-version."underscore"."1.6.0" = self.buildNodePackage {
+    name = "underscore-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
+      name = "underscore-1.6.0.tgz";
+      sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."1.7.0" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = self.buildNodePackage {
+    name = "underscore-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+      name = "underscore-1.7.0.tgz";
+      sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."1.x" =
+    self.by-version."underscore"."1.8.2";
   by-spec."underscore".">=1.1.7" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.8.2";
   by-spec."underscore".">=1.3.1" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.8.2";
   by-spec."underscore".">=1.5.0" =
-    self.by-version."underscore"."1.6.0";
+    self.by-version."underscore"."1.8.2";
+  by-spec."underscore".">=1.5.2" =
+    self.by-version."underscore"."1.8.2";
+  by-spec."underscore"."^1.6.0" =
+    self.by-version."underscore"."1.8.2";
+  by-spec."underscore"."^1.7.0" =
+    self.by-version."underscore"."1.8.2";
   by-spec."underscore"."~1.4.3" =
     self.by-version."underscore"."1.4.4";
-  by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        name = "underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
+  by-version."underscore"."1.4.4" = self.buildNodePackage {
+    name = "underscore-1.4.4";
+    version = "1.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+      name = "underscore-1.4.4.tgz";
+      sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."underscore"."~1.4.4" =
     self.by-version."underscore"."1.4.4";
   by-spec."underscore"."~1.5.2" =
     self.by-version."underscore"."1.5.2";
-  by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore-1.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        name = "underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
+  by-version."underscore"."1.5.2" = self.buildNodePackage {
+    name = "underscore-1.5.2";
+    version = "1.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
+      name = "underscore-1.5.2.tgz";
+      sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."~1.7.0" =
+    self.by-version."underscore"."1.7.0";
   by-spec."underscore.string"."~2.2.1" =
     self.by-version."underscore.string"."2.2.1";
-  by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore.string-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
-        name = "underscore.string-2.2.1.tgz";
-        sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore.string" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore.string" ];
+  by-version."underscore.string"."2.2.1" = self.buildNodePackage {
+    name = "underscore.string-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
+      name = "underscore.string-2.2.1.tgz";
+      sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."underscore.string"."~2.3.1" =
     self.by-version."underscore.string"."2.3.3";
-  by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-underscore.string-2.3.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
-        name = "underscore.string-2.3.3.tgz";
-        sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore.string" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore.string" ];
+  by-version."underscore.string"."2.3.3" = self.buildNodePackage {
+    name = "underscore.string-2.3.3";
+    version = "2.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
+      name = "underscore.string-2.3.3.tgz";
+      sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."underscore.string"."~2.3.3" =
     self.by-version."underscore.string"."2.3.3";
+  by-spec."underscore.string"."~2.4.0" =
+    self.by-version."underscore.string"."2.4.0";
+  by-version."underscore.string"."2.4.0" = self.buildNodePackage {
+    name = "underscore.string-2.4.0";
+    version = "2.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
+      name = "underscore.string-2.4.0.tgz";
+      sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."unfunk-diff"."~0.0.1" =
     self.by-version."unfunk-diff"."0.0.2";
-  by-version."unfunk-diff"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-unfunk-diff-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.2.tgz";
-        name = "unfunk-diff-0.0.2.tgz";
-        sha1 = "8560d6b5cb3dcb1ed4d541e7fe59cea514697578";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."unfunk-diff" or []);
-    deps = [
-      self.by-version."diff"."1.0.8"
-      self.by-version."jsesc"."0.4.3"
-      self.by-version."ministyle"."0.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "unfunk-diff" ];
+  by-version."unfunk-diff"."0.0.2" = self.buildNodePackage {
+    name = "unfunk-diff-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.2.tgz";
+      name = "unfunk-diff-0.0.2.tgz";
+      sha1 = "8560d6b5cb3dcb1ed4d541e7fe59cea514697578";
+    };
+    deps = {
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
+      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ungit"."*" =
-    self.by-version."ungit"."0.8.2";
-  by-version."ungit"."0.8.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.8.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.8.2.tgz";
-        name = "ungit-0.8.2.tgz";
-        sha1 = "11fe51329ab2aaafaccd155eb0c911a90036b27f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ungit" or []);
-    deps = [
-      self.by-version."express"."4.4.5"
-      self.by-version."superagent"."0.18.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."temp"."0.8.1"
-      self.by-version."socket.io"."0.9.17"
-      self.by-version."moment"."2.7.0"
-      self.by-version."async"."0.9.0"
-      self.by-version."rc"."0.4.0"
-      self.by-version."uuid"."1.4.1"
-      self.by-version."winston"."0.7.3"
-      self.by-version."passport"."0.2.0"
-      self.by-version."passport-local"."1.0.0"
-      self.by-version."semver"."2.3.2"
-      self.by-version."forever-monitor"."1.1.0"
-      self.by-version."open"."0.0.5"
-      self.by-version."optimist"."0.6.1"
-      self.by-version."crossroads"."0.12.0"
-      self.by-version."signals"."1.0.0"
-      self.by-version."hasher"."1.2.0"
-      self.by-version."blueimp-md5"."1.1.0"
-      self.by-version."color"."0.6.0"
-      self.by-version."keen.io"."0.1.2"
-      self.by-version."getmac"."1.0.6"
-      self.by-version."deep-extend"."0.2.11"
-      self.by-version."raven"."0.7.0"
-      self.by-version."knockout"."3.1.0"
-      self.by-version."npm-registry-client"."3.0.6"
-      self.by-version."npmconf"."2.0.5"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."body-parser"."1.4.3"
-      self.by-version."cookie-parser"."1.3.2"
-      self.by-version."express-session"."1.6.5"
-      self.by-version."serve-static"."1.3.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ungit" ];
-  };
-  "ungit" = self.by-version."ungit"."0.8.2";
+    self.by-version."ungit"."0.8.4";
+  by-version."ungit"."0.8.4" = self.buildNodePackage {
+    name = "ungit-0.8.4";
+    version = "0.8.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ungit/-/ungit-0.8.4.tgz";
+      name = "ungit-0.8.4.tgz";
+      sha1 = "3956812e8f2005415d351a710350f88b38c2d99a";
+    };
+    deps = {
+      "express-4.10.8" = self.by-version."express"."4.10.8";
+      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "temp-0.8.1" = self.by-version."temp"."0.8.1";
+      "socket.io-0.9.17" = self.by-version."socket.io"."0.9.17";
+      "moment-2.8.4" = self.by-version."moment"."2.8.4";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "rc-0.5.5" = self.by-version."rc"."0.5.5";
+      "uuid-2.0.1" = self.by-version."uuid"."2.0.1";
+      "winston-0.8.3" = self.by-version."winston"."0.8.3";
+      "passport-0.2.1" = self.by-version."passport"."0.2.1";
+      "passport-local-1.0.0" = self.by-version."passport-local"."1.0.0";
+      "semver-4.1.1" = self.by-version."semver"."4.1.1";
+      "forever-monitor-1.1.0" = self.by-version."forever-monitor"."1.1.0";
+      "open-0.0.5" = self.by-version."open"."0.0.5";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "crossroads-0.12.0" = self.by-version."crossroads"."0.12.0";
+      "signals-1.0.0" = self.by-version."signals"."1.0.0";
+      "hasher-1.2.0" = self.by-version."hasher"."1.2.0";
+      "blueimp-md5-1.1.0" = self.by-version."blueimp-md5"."1.1.0";
+      "color-0.7.3" = self.by-version."color"."0.7.3";
+      "keen.io-0.1.3" = self.by-version."keen.io"."0.1.3";
+      "getmac-1.0.6" = self.by-version."getmac"."1.0.6";
+      "deep-extend-0.3.2" = self.by-version."deep-extend"."0.3.2";
+      "raven-0.7.2" = self.by-version."raven"."0.7.2";
+      "knockout-3.2.0" = self.by-version."knockout"."3.2.0";
+      "npm-registry-client-4.0.5" = self.by-version."npm-registry-client"."4.0.5";
+      "npmconf-2.1.1" = self.by-version."npmconf"."2.1.1";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "body-parser-1.9.3" = self.by-version."body-parser"."1.9.3";
+      "cookie-parser-1.3.4" = self.by-version."cookie-parser"."1.3.4";
+      "express-session-1.9.3" = self.by-version."express-session"."1.9.3";
+      "serve-static-1.7.2" = self.by-version."serve-static"."1.7.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "ungit" = self.by-version."ungit"."0.8.4";
   by-spec."unique-stream"."^1.0.0" =
     self.by-version."unique-stream"."1.0.0";
-  by-version."unique-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-unique-stream-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz";
-        name = "unique-stream-1.0.0.tgz";
-        sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."unique-stream" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "unique-stream" ];
-  };
-  by-spec."update-notifier"."~0.1.8" =
-    self.by-version."update-notifier"."0.1.10";
-  by-version."update-notifier"."0.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-update-notifier-0.1.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.10.tgz";
-        name = "update-notifier-0.1.10.tgz";
-        sha1 = "215cbe1053369f0d4a44f84b51eba7cb80484695";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."update-notifier" or []);
-    deps = [
-      self.by-version."chalk"."0.4.0"
-      self.by-version."configstore"."0.3.1"
-      self.by-version."request"."2.40.0"
-      self.by-version."semver"."2.3.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "update-notifier" ];
+  by-version."unique-stream"."1.0.0" = self.buildNodePackage {
+    name = "unique-stream-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz";
+      name = "unique-stream-1.0.0.tgz";
+      sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."unorm"."1.3.3" =
+    self.by-version."unorm"."1.3.3";
+  by-version."unorm"."1.3.3" = self.buildNodePackage {
+    name = "unorm-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/unorm/-/unorm-1.3.3.tgz";
+      name = "unorm-1.3.3.tgz";
+      sha1 = "16a8772671ebd6f7cde6f8c5e49bb60ac47dba93";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."untildify"."^1.0.0" =
+    self.by-version."untildify"."1.0.0";
+  by-version."untildify"."1.0.0" = self.buildNodePackage {
+    name = "untildify-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/untildify/-/untildify-1.0.0.tgz";
+      name = "untildify-1.0.0.tgz";
+      sha1 = "4d8031d1806f4fbd7c42b0237aaf213686262635";
+    };
+    deps = {
+      "user-home-1.1.1" = self.by-version."user-home"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."update-notifier"."0.2.0" =
+    self.by-version."update-notifier"."0.2.0";
+  by-version."update-notifier"."0.2.0" = self.buildNodePackage {
+    name = "update-notifier-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.2.0.tgz";
+      name = "update-notifier-0.2.0.tgz";
+      sha1 = "a010c928adcf02090b8e0ce7fef6fb0a7cacc34a";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "configstore-0.3.2" = self.by-version."configstore"."0.3.2";
+      "latest-version-0.2.0" = self.by-version."latest-version"."0.2.0";
+      "semver-diff-0.1.0" = self.by-version."semver-diff"."0.1.0";
+      "string-length-0.1.2" = self.by-version."string-length"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."update-notifier"."^0.3.0" =
+    self.by-version."update-notifier"."0.3.0";
+  by-version."update-notifier"."0.3.0" = self.buildNodePackage {
+    name = "update-notifier-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.3.0.tgz";
+      name = "update-notifier-0.3.0.tgz";
+      sha1 = "972b1b6def843d546f93736dbed346a7c10230e7";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "configstore-0.3.2" = self.by-version."configstore"."0.3.2";
+      "is-npm-1.0.0" = self.by-version."is-npm"."1.0.0";
+      "latest-version-1.0.0" = self.by-version."latest-version"."1.0.0";
+      "semver-diff-2.0.0" = self.by-version."semver-diff"."2.0.0";
+      "string-length-1.0.0" = self.by-version."string-length"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uri-path"."0.0.2" =
+    self.by-version."uri-path"."0.0.2";
+  by-version."uri-path"."0.0.2" = self.buildNodePackage {
+    name = "uri-path-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uri-path/-/uri-path-0.0.2.tgz";
+      name = "uri-path-0.0.2.tgz";
+      sha1 = "803eb01f2feb17927dcce0f6187e72b75f53f554";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."url"."~0.10.1" =
-    self.by-version."url"."0.10.1";
-  by-version."url"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-url-0.10.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/url/-/url-0.10.1.tgz";
-        name = "url-0.10.1.tgz";
-        sha1 = "d8eba8f267cec7645ddd93d2cdcf2320c876d25b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."url" or []);
-    deps = [
-      self.by-version."punycode"."1.2.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "url" ];
-  };
+    self.by-version."url"."0.10.2";
+  by-version."url"."0.10.2" = self.buildNodePackage {
+    name = "url-0.10.2";
+    version = "0.10.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/url/-/url-0.10.2.tgz";
+      name = "url-0.10.2.tgz";
+      sha1 = "68621d6929ea1cad344ebf135d82fcf7eb1a7469";
+    };
+    deps = {
+      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."url"."~0.7.9" =
+    self.by-version."url"."0.7.9";
+  by-version."url"."0.7.9" = self.buildNodePackage {
+    name = "url-0.7.9";
+    version = "0.7.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/url/-/url-0.7.9.tgz";
+      name = "url-0.7.9.tgz";
+      sha1 = "1959b1a8b361fc017b59513a7c7fa9827f5e4ed0";
+    };
+    deps = {
+      "querystring-0.1.0" = self.by-version."querystring"."0.1.0";
+      "punycode-1.0.0" = self.by-version."punycode"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."user-home"."^1.0.0" =
+    self.by-version."user-home"."1.1.1";
+  by-version."user-home"."1.1.1" = self.buildNodePackage {
+    name = "user-home-1.1.1";
+    version = "1.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz";
+      name = "user-home-1.1.1.tgz";
+      sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."user-home"."^1.1.0" =
+    self.by-version."user-home"."1.1.1";
   by-spec."useragent"."~2.0.4" =
-    self.by-version."useragent"."2.0.9";
-  by-version."useragent"."2.0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-useragent-2.0.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/useragent/-/useragent-2.0.9.tgz";
-        name = "useragent-2.0.9.tgz";
-        sha1 = "98c53e8b1c0191a3e4d0ad9d8153f19a5d453ac5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."useragent" or []);
-    deps = [
-      self.by-version."lru-cache"."2.2.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "useragent" ];
-  };
-  by-spec."util"."0.10.2" =
-    self.by-version."util"."0.10.2";
-  by-version."util"."0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.10.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.10.2.tgz";
-        name = "util-0.10.2.tgz";
-        sha1 = "8180519cf690fb88bc56480fe55087531f446304";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "util" ];
+    self.by-version."useragent"."2.0.10";
+  by-version."useragent"."2.0.10" = self.buildNodePackage {
+    name = "useragent-2.0.10";
+    version = "2.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/useragent/-/useragent-2.0.10.tgz";
+      name = "useragent-2.0.10.tgz";
+      sha1 = "af2c1cc641159361e4d830866eb716ba4679de33";
+    };
+    deps = {
+      "lru-cache-2.2.4" = self.by-version."lru-cache"."2.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utf-8-validate"."1.0.x" =
+    self.by-version."utf-8-validate"."1.0.1";
+  by-version."utf-8-validate"."1.0.1" = self.buildNodePackage {
+    name = "utf-8-validate-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.0.1.tgz";
+      name = "utf-8-validate-1.0.1.tgz";
+      sha1 = "d15eb67e28f6bb93c9401eeb7eac7030a183e8d1";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utf7"."1.0.0" =
+    self.by-version."utf7"."1.0.0";
+  by-version."utf7"."1.0.0" = self.buildNodePackage {
+    name = "utf7-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utf7/-/utf7-1.0.0.tgz";
+      name = "utf7-1.0.0.tgz";
+      sha1 = "70c895de9d85b8ee7ef5a1fa8e169241c46e72cc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utf8"."2.0.0" =
+    self.by-version."utf8"."2.0.0";
+  by-version."utf8"."2.0.0" = self.buildNodePackage {
+    name = "utf8-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz";
+      name = "utf8-2.0.0.tgz";
+      sha1 = "79ce59eced874809cab9a71fc7102c7d45d4118d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utfx"."~1.0.0" =
+    self.by-version."utfx"."1.0.0";
+  by-version."utfx"."1.0.0" = self.buildNodePackage {
+    name = "utfx-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utfx/-/utfx-1.0.0.tgz";
+      name = "utfx-1.0.0.tgz";
+      sha1 = "a6ecdd5c70b2bf1f7fe2381afd1a806d0343b6e1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."util"."0.10.3" =
+    self.by-version."util"."0.10.3";
+  by-version."util"."0.10.3" = self.buildNodePackage {
+    name = "util-0.10.3";
+    version = "0.10.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
+      name = "util-0.10.3.tgz";
+      sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."util"."0.4.9" =
     self.by-version."util"."0.4.9";
-  by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.4.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
-        name = "util-0.4.9.tgz";
-        sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."events.node"."0.4.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "util" ];
+  by-version."util"."0.4.9" = self.buildNodePackage {
+    name = "util-0.4.9";
+    version = "0.4.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
+      name = "util-0.4.9.tgz";
+      sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
+    };
+    deps = {
+      "events.node-0.4.9" = self.by-version."events.node"."0.4.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."util".">=0.10.3 <1" =
     self.by-version."util"."0.10.3";
-  by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-0.10.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
-        name = "util-0.10.3.tgz";
-        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."util" or []);
-    deps = [
-      self.by-version."inherits"."2.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "util" ];
-  };
   by-spec."util"."~0.10.1" =
     self.by-version."util"."0.10.3";
+  by-spec."util"."~0.10.3" =
+    self.by-version."util"."0.10.3";
+  by-spec."util-deprecate"."1.0.0" =
+    self.by-version."util-deprecate"."1.0.0";
+  by-version."util-deprecate"."1.0.0" = self.buildNodePackage {
+    name = "util-deprecate-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.0.tgz";
+      name = "util-deprecate-1.0.0.tgz";
+      sha1 = "3007af012c140eae26de05576ec22785cac3abf2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."util-extend"."^1.0.1" =
     self.by-version."util-extend"."1.0.1";
-  by-version."util-extend"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-util-extend-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz";
-        name = "util-extend-1.0.1.tgz";
-        sha1 = "bb703b79480293ddcdcfb3c6a9fea20f483415bc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."util-extend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "util-extend" ];
+  by-version."util-extend"."1.0.1" = self.buildNodePackage {
+    name = "util-extend-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz";
+      name = "util-extend-1.0.1.tgz";
+      sha1 = "bb703b79480293ddcdcfb3c6a9fea20f483415bc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."utile"."0.1.x" =
     self.by-version."utile"."0.1.7";
-  by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utile-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        name = "utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utile" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."i"."0.3.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."ncp"."0.2.7"
-      self.by-version."rimraf"."1.0.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utile" ];
+  by-version."utile"."0.1.7" = self.buildNodePackage {
+    name = "utile-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
+      name = "utile-0.1.7.tgz";
+      sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+    };
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "deep-equal-1.0.0" = self.by-version."deep-equal"."1.0.0";
+      "i-0.3.2" = self.by-version."i"."0.3.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "ncp-0.2.7" = self.by-version."ncp"."0.2.7";
+      "rimraf-1.0.9" = self.by-version."rimraf"."1.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."utile"."0.2.1" =
     self.by-version."utile"."0.2.1";
-  by-version."utile"."0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utile-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.2.1.tgz";
-        name = "utile-0.2.1.tgz";
-        sha1 = "930c88e99098d6220834c356cbd9a770522d90d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utile" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."deep-equal"."0.2.1"
-      self.by-version."i"."0.3.2"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."ncp"."0.4.2"
-      self.by-version."rimraf"."2.2.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utile" ];
+  by-version."utile"."0.2.1" = self.buildNodePackage {
+    name = "utile-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utile/-/utile-0.2.1.tgz";
+      name = "utile-0.2.1.tgz";
+      sha1 = "930c88e99098d6220834c356cbd9a770522d90d7";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "deep-equal-1.0.0" = self.by-version."deep-equal"."1.0.0";
+      "i-0.3.2" = self.by-version."i"."0.3.2";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."utile"."0.2.x" =
     self.by-version."utile"."0.2.1";
@@ -19624,1188 +39807,2176 @@
     self.by-version."utile"."0.2.1";
   by-spec."utils-merge"."1.0.0" =
     self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-utils-merge-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-        name = "utils-merge-1.0.0.tgz";
-        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utils-merge" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utils-merge" ];
-  };
-  by-spec."uuid"."1.4.1" =
-    self.by-version."uuid"."1.4.1";
-  by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz";
-        name = "uuid-1.4.1.tgz";
-        sha1 = "a337828580d426e375b8ee11bd2bf901a596e0b8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uuid" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uuid" ];
-  };
-  by-spec."uuid"."~1.4.1" =
-    self.by-version."uuid"."1.4.1";
-  by-spec."validator"."0.4.x" =
-    self.by-version."validator"."0.4.28";
-  by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
-    name = "node-validator-0.4.28";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/validator/-/validator-0.4.28.tgz";
-        name = "validator-0.4.28.tgz";
-        sha1 = "311d439ae6cf3fbe6f85da6ebaccd0c7007986f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."validator" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "validator" ];
-  };
+  by-version."utils-merge"."1.0.0" = self.buildNodePackage {
+    name = "utils-merge-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+      name = "utils-merge-1.0.0.tgz";
+      sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utils-merge"."1.x.x" =
+    self.by-version."utils-merge"."1.0.0";
+  by-spec."uuid"."^2.0.1" =
+    self.by-version."uuid"."2.0.1";
+  by-version."uuid"."2.0.1" = self.buildNodePackage {
+    name = "uuid-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz";
+      name = "uuid-2.0.1.tgz";
+      sha1 = "c2a30dedb3e535d72ccf82e343941a50ba8533ac";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uuid"."~2.0.1" =
+    self.by-version."uuid"."2.0.1";
+  by-spec."v8-debug"."~0.3.0" =
+    self.by-version."v8-debug"."0.3.5";
+  by-version."v8-debug"."0.3.5" = self.buildNodePackage {
+    name = "v8-debug-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/v8-debug/-/v8-debug-0.3.5.tgz";
+      name = "v8-debug-0.3.5.tgz";
+      sha1 = "2131d87b58932864d5697831a3414f529c75ad81";
+    };
+    deps = {
+      "node-pre-gyp-0.6.4" = self.by-version."node-pre-gyp"."0.6.4";
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."v8-profiler"."~5.2.0" =
+    self.by-version."v8-profiler"."5.2.4";
+  by-version."v8-profiler"."5.2.4" = self.buildNodePackage {
+    name = "v8-profiler-5.2.4";
+    version = "5.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/v8-profiler/-/v8-profiler-5.2.4.tgz";
+      name = "v8-profiler-5.2.4.tgz";
+      sha1 = "858df0a98dffb79f5df5de74c21a05f57051d977";
+    };
+    deps = {
+      "node-pre-gyp-0.6.4" = self.by-version."node-pre-gyp"."0.6.4";
+      "nan-1.5.3" = self.by-version."nan"."1.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."v8flags"."^2.0.2" =
+    self.by-version."v8flags"."2.0.2";
+  by-version."v8flags"."2.0.2" = self.buildNodePackage {
+    name = "v8flags-2.0.2";
+    version = "2.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/v8flags/-/v8flags-2.0.2.tgz";
+      name = "v8flags-2.0.2.tgz";
+      sha1 = "915730856e88547f8d023cfc07a671aff43adac4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."valid-identifier"."0.0.1" =
+    self.by-version."valid-identifier"."0.0.1";
+  by-version."valid-identifier"."0.0.1" = self.buildNodePackage {
+    name = "valid-identifier-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/valid-identifier/-/valid-identifier-0.0.1.tgz";
+      name = "valid-identifier-0.0.1.tgz";
+      sha1 = "ef1d7093a9d3287e3fce92df916f8616b23f90b4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."validator"."1.5.1" =
+    self.by-version."validator"."1.5.1";
+  by-version."validator"."1.5.1" = self.buildNodePackage {
+    name = "validator-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/validator/-/validator-1.5.1.tgz";
+      name = "validator-1.5.1.tgz";
+      sha1 = "7ab356cbbcbbb000ab85c43b8cda12621b1344c0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."validator"."^2.1.0" =
+    self.by-version."validator"."2.1.0";
+  by-version."validator"."2.1.0" = self.buildNodePackage {
+    name = "validator-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/validator/-/validator-2.1.0.tgz";
+      name = "validator-2.1.0.tgz";
+      sha1 = "63276570def208adcf1c032c1f4e6a17d2bd8d8b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."validator"."~1.5.1" =
+    self.by-version."validator"."1.5.1";
   by-spec."vargs"."~0.1.0" =
     self.by-version."vargs"."0.1.0";
-  by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vargs-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz";
-        name = "vargs-0.1.0.tgz";
-        sha1 = "6b6184da6520cc3204ce1b407cac26d92609ebff";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vargs" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vargs" ];
+  by-version."vargs"."0.1.0" = self.buildNodePackage {
+    name = "vargs-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz";
+      name = "vargs-0.1.0.tgz";
+      sha1 = "6b6184da6520cc3204ce1b407cac26d92609ebff";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."vary"."0.1.0" =
     self.by-version."vary"."0.1.0";
-  by-version."vary"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vary-0.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
-        name = "vary-0.1.0.tgz";
-        sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vary" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vary" ];
+  by-version."vary"."0.1.0" = self.buildNodePackage {
+    name = "vary-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
+      name = "vary-0.1.0.tgz";
+      sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vary"."^1" =
+    self.by-version."vary"."1.0.0";
+  by-version."vary"."1.0.0" = self.buildNodePackage {
+    name = "vary-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
+      name = "vary-1.0.0.tgz";
+      sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."vary"."~0.1.0" =
-    self.by-version."vary"."0.1.0";
   by-spec."vary"."~1.0.0" =
     self.by-version."vary"."1.0.0";
-  by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vary-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
-        name = "vary-1.0.0.tgz";
-        sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vary" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vary" ];
-  };
   by-spec."vasync"."1.3.3" =
     self.by-version."vasync"."1.3.3";
-  by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vasync-1.3.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz";
-        name = "vasync-1.3.3.tgz";
-        sha1 = "84917680717020b67e043902e63bc143174c8728";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vasync" or []);
-    deps = [
-      self.by-version."jsprim"."0.3.0"
-      self.by-version."verror"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vasync" ];
+  by-version."vasync"."1.3.3" = self.buildNodePackage {
+    name = "vasync-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz";
+      name = "vasync-1.3.3.tgz";
+      sha1 = "84917680717020b67e043902e63bc143174c8728";
+    };
+    deps = {
+      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
+      "verror-1.1.0" = self.by-version."verror"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vasync"."1.4.0" =
+    self.by-version."vasync"."1.4.0";
+  by-version."vasync"."1.4.0" = self.buildNodePackage {
+    name = "vasync-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vasync/-/vasync-1.4.0.tgz";
+      name = "vasync-1.4.0.tgz";
+      sha1 = "6ea5a63582358868d8743cbdd6ffadc9083b910f";
+    };
+    deps = {
+      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
+      "verror-1.1.0" = self.by-version."verror"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."vasync"."1.4.3" =
     self.by-version."vasync"."1.4.3";
-  by-version."vasync"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vasync-1.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vasync/-/vasync-1.4.3.tgz";
-        name = "vasync-1.4.3.tgz";
-        sha1 = "c86d52e2b71613d29eedf159f3135dbe749cee37";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vasync" or []);
-    deps = [
-      self.by-version."jsprim"."0.3.0"
-      self.by-version."verror"."1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vasync" ];
+  by-version."vasync"."1.4.3" = self.buildNodePackage {
+    name = "vasync-1.4.3";
+    version = "1.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vasync/-/vasync-1.4.3.tgz";
+      name = "vasync-1.4.3.tgz";
+      sha1 = "c86d52e2b71613d29eedf159f3135dbe749cee37";
+    };
+    deps = {
+      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
+      "verror-1.1.0" = self.by-version."verror"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."verror"."1.1.0" =
     self.by-version."verror"."1.1.0";
-  by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
-        name = "verror-1.1.0.tgz";
-        sha1 = "2a4b4eb14a207051e75a6f94ee51315bf173a1b0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "verror" ];
+  by-version."verror"."1.1.0" = self.buildNodePackage {
+    name = "verror-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
+      name = "verror-1.1.0.tgz";
+      sha1 = "2a4b4eb14a207051e75a6f94ee51315bf173a1b0";
+    };
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."verror"."1.3.3" =
     self.by-version."verror"."1.3.3";
-  by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.3.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
-        name = "verror-1.3.3.tgz";
-        sha1 = "8a6a4ac3a8c774b6f687fece49bdffd78552e2cd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "verror" ];
+  by-version."verror"."1.3.3" = self.buildNodePackage {
+    name = "verror-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
+      name = "verror-1.3.3.tgz";
+      sha1 = "8a6a4ac3a8c774b6f687fece49bdffd78552e2cd";
+    };
+    deps = {
+      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."verror"."1.3.6" =
     self.by-version."verror"."1.3.6";
-  by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-verror-1.3.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
-        name = "verror-1.3.6.tgz";
-        sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."verror" or []);
-    deps = [
-      self.by-version."extsprintf"."1.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "verror" ];
-  };
-  by-spec."vhost"."2.0.0" =
-    self.by-version."vhost"."2.0.0";
-  by-version."vhost"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vhost-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vhost/-/vhost-2.0.0.tgz";
-        name = "vhost-2.0.0.tgz";
-        sha1 = "1e26770bd0fce86c40945591e6f284c6891791e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vhost" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vhost" ];
+  by-version."verror"."1.3.6" = self.buildNodePackage {
+    name = "verror-1.3.6";
+    version = "1.3.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
+      name = "verror-1.3.6.tgz";
+      sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+    };
+    deps = {
+      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."verror"."^1.4.0" =
+    self.by-version."verror"."1.6.0";
+  by-version."verror"."1.6.0" = self.buildNodePackage {
+    name = "verror-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/verror/-/verror-1.6.0.tgz";
+      name = "verror-1.6.0.tgz";
+      sha1 = "7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5";
+    };
+    deps = {
+      "extsprintf-1.2.0" = self.by-version."extsprintf"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vhost"."1.0.0" =
+    self.by-version."vhost"."1.0.0";
+  by-version."vhost"."1.0.0" = self.buildNodePackage {
+    name = "vhost-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vhost/-/vhost-1.0.0.tgz";
+      name = "vhost-1.0.0.tgz";
+      sha1 = "654513f289a4f898aab745bbd633e40180c9c4c0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vhost"."~3.0.0" =
+    self.by-version."vhost"."3.0.0";
+  by-version."vhost"."3.0.0" = self.buildNodePackage {
+    name = "vhost-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vhost/-/vhost-3.0.0.tgz";
+      name = "vhost-3.0.0.tgz";
+      sha1 = "2d0ec59a3e012278b65adbe17c1717a5a5023045";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."view-helpers"."*" =
     self.by-version."view-helpers"."0.1.5";
-  by-version."view-helpers"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-view-helpers-0.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.5.tgz";
-        name = "view-helpers-0.1.5.tgz";
-        sha1 = "175d220a6afeca8e3b497b003e2337bcc596f761";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."view-helpers" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "view-helpers" ];
+  by-version."view-helpers"."0.1.5" = self.buildNodePackage {
+    name = "view-helpers-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.5.tgz";
+      name = "view-helpers-0.1.5.tgz";
+      sha1 = "175d220a6afeca8e3b497b003e2337bcc596f761";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "view-helpers" = self.by-version."view-helpers"."0.1.5";
-  by-spec."vinyl"."^0.2.3" =
-    self.by-version."vinyl"."0.2.3";
-  by-version."vinyl"."0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-0.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz";
-        name = "vinyl-0.2.3.tgz";
-        sha1 = "bca938209582ec5a49ad538a00fa1f125e513252";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vinyl" or []);
-    deps = [
-      self.by-version."clone-stats"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vinyl" ];
-  };
-  by-spec."vinyl"."^0.3.2" =
-    self.by-version."vinyl"."0.3.2";
-  by-version."vinyl"."0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-0.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vinyl/-/vinyl-0.3.2.tgz";
-        name = "vinyl-0.3.2.tgz";
-        sha1 = "2b422d7c5ff0abc0d22d90ed2275e409dab5e174";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vinyl" or []);
-    deps = [
-      self.by-version."clone-stats"."0.0.1"
-      self.by-version."lodash"."2.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vinyl" ];
-  };
-  by-spec."vinyl-fs"."^0.3.3" =
-    self.by-version."vinyl-fs"."0.3.6";
-  by-version."vinyl-fs"."0.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vinyl-fs-0.3.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.6.tgz";
-        name = "vinyl-fs-0.3.6.tgz";
-        sha1 = "c96985527cd53eb4a3eeb8ffb3180bda3084ecfc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vinyl-fs" or []);
-    deps = [
-      self.by-version."glob-stream"."3.1.15"
-      self.by-version."glob-watcher"."0.0.6"
-      self.by-version."graceful-fs"."3.0.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."mkdirp"."0.5.0"
-      self.by-version."strip-bom"."0.3.1"
-      self.by-version."through2"."0.5.1"
-      self.by-version."vinyl"."0.3.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vinyl-fs" ];
+  by-spec."vinyl"."^0.4.0" =
+    self.by-version."vinyl"."0.4.6";
+  by-version."vinyl"."0.4.6" = self.buildNodePackage {
+    name = "vinyl-0.4.6";
+    version = "0.4.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz";
+      name = "vinyl-0.4.6.tgz";
+      sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847";
+    };
+    deps = {
+      "clone-0.2.0" = self.by-version."clone"."0.2.0";
+      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vinyl"."^0.4.3" =
+    self.by-version."vinyl"."0.4.6";
+  by-spec."vinyl"."^0.4.6" =
+    self.by-version."vinyl"."0.4.6";
+  by-spec."vinyl-fs"."^0.3.0" =
+    self.by-version."vinyl-fs"."0.3.13";
+  by-version."vinyl-fs"."0.3.13" = self.buildNodePackage {
+    name = "vinyl-fs-0.3.13";
+    version = "0.3.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.13.tgz";
+      name = "vinyl-fs-0.3.13.tgz";
+      sha1 = "3d384c5b3032e356cd388023e3a085303382ac23";
+    };
+    deps = {
+      "defaults-1.0.0" = self.by-version."defaults"."1.0.0";
+      "glob-stream-3.1.18" = self.by-version."glob-stream"."3.1.18";
+      "glob-watcher-0.0.6" = self.by-version."glob-watcher"."0.0.6";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "strip-bom-1.0.0" = self.by-version."strip-bom"."1.0.0";
+      "through2-0.6.3" = self.by-version."through2"."0.6.3";
+      "vinyl-0.4.6" = self.by-version."vinyl"."0.4.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vinyl-fs"."^0.3.13" =
+    self.by-version."vinyl-fs"."0.3.13";
+  by-spec."vm-browserify"."0.0.4" =
+    self.by-version."vm-browserify"."0.0.4";
+  by-version."vm-browserify"."0.0.4" = self.buildNodePackage {
+    name = "vm-browserify-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
+      name = "vm-browserify-0.0.4.tgz";
+      sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
+    };
+    deps = {
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."vm-browserify"."~0.0.1" =
     self.by-version."vm-browserify"."0.0.4";
-  by-version."vm-browserify"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-vm-browserify-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
-        name = "vm-browserify-0.0.4.tgz";
-        sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vm-browserify" or []);
-    deps = [
-      self.by-version."indexof"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vm-browserify" ];
+  by-spec."voc"."*" =
+    self.by-version."voc"."0.5.0";
+  by-version."voc"."0.5.0" = self.buildNodePackage {
+    name = "voc-0.5.0";
+    version = "0.5.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/voc/-/voc-0.5.0.tgz";
+      name = "voc-0.5.0.tgz";
+      sha1 = "be6ca7c76e4a57d930cc80f6b31fbd80ca86045c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."void-elements"."~2.0.1" =
+    self.by-version."void-elements"."2.0.1";
+  by-version."void-elements"."2.0.1" = self.buildNodePackage {
+    name = "void-elements-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
+      name = "void-elements-2.0.1.tgz";
+      sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."vows".">=0.5.13" =
-    self.by-version."vows"."0.7.0";
-  by-version."vows"."0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "vows-0.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
-        name = "vows-0.7.0.tgz";
-        sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vows" or []);
-    deps = [
-      self.by-version."eyes"."0.1.8"
-      self.by-version."diff"."1.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "vows" ];
-  };
+    self.by-version."vows"."0.8.1";
+  by-version."vows"."0.8.1" = self.buildNodePackage {
+    name = "vows-0.8.1";
+    version = "0.8.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vows/-/vows-0.8.1.tgz";
+      name = "vows-0.8.1.tgz";
+      sha1 = "e09e988ce594ca05a08d72abcca34e88db559131";
+    };
+    deps = {
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "glob-4.0.6" = self.by-version."glob"."4.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vows".">=0.5.2" =
+    self.by-version."vows"."0.8.1";
   by-spec."walk"."*" =
-    self.by-version."walk"."2.3.3";
-  by-version."walk"."2.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-walk-2.3.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/walk/-/walk-2.3.3.tgz";
-        name = "walk-2.3.3.tgz";
-        sha1 = "b4c0e8c42464c16dbbe1d71666765eac07819e5f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."walk" or []);
-    deps = [
-      self.by-version."foreachasync"."3.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "walk" ];
-  };
-  "walk" = self.by-version."walk"."2.3.3";
-  by-spec."walk"."~2.2.1" =
-    self.by-version."walk"."2.2.1";
-  by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-walk-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/walk/-/walk-2.2.1.tgz";
-        name = "walk-2.2.1.tgz";
-        sha1 = "5ada1f8e49e47d4b7445d8be7a2e1e631ab43016";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."walk" or []);
-    deps = [
-      self.by-version."forEachAsync"."2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "walk" ];
+    self.by-version."walk"."2.3.9";
+  by-version."walk"."2.3.9" = self.buildNodePackage {
+    name = "walk-2.3.9";
+    version = "2.3.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/walk/-/walk-2.3.9.tgz";
+      name = "walk-2.3.9.tgz";
+      sha1 = "31b4db6678f2ae01c39ea9fb8725a9031e558a7b";
+    };
+    deps = {
+      "foreachasync-3.0.0" = self.by-version."foreachasync"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "walk" = self.by-version."walk"."2.3.9";
+  by-spec."walk"."^2.3.9" =
+    self.by-version."walk"."2.3.9";
+  by-spec."ware"."^1.2.0" =
+    self.by-version."ware"."1.2.0";
+  by-version."ware"."1.2.0" = self.buildNodePackage {
+    name = "ware-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ware/-/ware-1.2.0.tgz";
+      name = "ware-1.2.0.tgz";
+      sha1 = "6c18d599312ca1d0fa8065f0d5a6b651313d9974";
+    };
+    deps = {
+      "wrap-fn-0.1.4" = self.by-version."wrap-fn"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."watch"."0.5.x" =
     self.by-version."watch"."0.5.1";
-  by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-watch-0.5.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
-        name = "watch-0.5.1.tgz";
-        sha1 = "50ea3a056358c98073e0bca59956de4afd20b213";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."watch" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "watch" ];
-  };
-  by-spec."watch"."~0.8.0" =
-    self.by-version."watch"."0.8.0";
-  by-version."watch"."0.8.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-watch-0.8.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/watch/-/watch-0.8.0.tgz";
-        name = "watch-0.8.0.tgz";
-        sha1 = "1bb0eea53defe6e621e9c8c63c0358007ecbdbcc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."watch" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "watch" ];
-  };
-  by-spec."wcwidth.js"."~0.0.4" =
-    self.by-version."wcwidth.js"."0.0.4";
-  by-version."wcwidth.js"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wcwidth.js-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.4.tgz";
-        name = "wcwidth.js-0.0.4.tgz";
-        sha1 = "44298a7c899c17501990fdaddd76ef6bd081be75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wcwidth.js" or []);
-    deps = [
-      self.by-version."underscore"."1.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wcwidth.js" ];
+  by-version."watch"."0.5.1" = self.buildNodePackage {
+    name = "watch-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
+      name = "watch-0.5.1.tgz";
+      sha1 = "50ea3a056358c98073e0bca59956de4afd20b213";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."watch"."~0.13.0" =
+    self.by-version."watch"."0.13.0";
+  by-version."watch"."0.13.0" = self.buildNodePackage {
+    name = "watch-0.13.0";
+    version = "0.13.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/watch/-/watch-0.13.0.tgz";
+      name = "watch-0.13.0.tgz";
+      sha1 = "fcc6d2b3f0e8c73482eb54239a19fd5bcf9a753c";
+    };
+    deps = {
+      "minimist-1.1.0" = self.by-version."minimist"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."watchpack"."^0.2.1" =
+    self.by-version."watchpack"."0.2.3";
+  by-version."watchpack"."0.2.3" = self.buildNodePackage {
+    name = "watchpack-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/watchpack/-/watchpack-0.2.3.tgz";
+      name = "watchpack-0.2.3.tgz";
+      sha1 = "b9a5342327ee34a9ff1dfb42762be3a9c08ac214";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "chokidar-1.0.0-rc3" = self.by-version."chokidar"."1.0.0-rc3";
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wcwidth"."^1.0.0" =
+    self.by-version."wcwidth"."1.0.0";
+  by-version."wcwidth"."1.0.0" = self.buildNodePackage {
+    name = "wcwidth-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz";
+      name = "wcwidth-1.0.0.tgz";
+      sha1 = "02d059ff7a8fc741e0f6b5da1e69b2b40daeca6f";
+    };
+    deps = {
+      "defaults-1.0.0" = self.by-version."defaults"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."wd"."~0.3.4" =
-    self.by-version."wd"."0.3.4";
-  by-version."wd"."0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "wd-0.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wd/-/wd-0.3.4.tgz";
-        name = "wd-0.3.4.tgz";
-        sha1 = "da95a0998eb8acfd297e3a9baf28f610b6345543";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wd" or []);
-    deps = [
-      self.by-version."archiver"."0.10.1"
-      self.by-version."async"."0.9.0"
-      self.by-version."colors"."0.6.2"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."q"."1.0.1"
-      self.by-version."request"."2.37.0"
-      self.by-version."underscore.string"."2.3.3"
-      self.by-version."vargs"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wd" ];
-  };
-  by-spec."weak-map"."^1.0.4" =
+    self.by-version."wd"."0.3.11";
+  by-version."wd"."0.3.11" = self.buildNodePackage {
+    name = "wd-0.3.11";
+    version = "0.3.11";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wd/-/wd-0.3.11.tgz";
+      name = "wd-0.3.11.tgz";
+      sha1 = "522716c79a7a10e781acbb2c6cafe588f701fcc0";
+    };
+    deps = {
+      "archiver-0.12.0" = self.by-version."archiver"."0.12.0";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "q-1.0.1" = self.by-version."q"."1.0.1";
+      "request-2.46.0" = self.by-version."request"."2.46.0";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+      "vargs-0.1.0" = self.by-version."vargs"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."weak-map"."^1.0.5" =
     self.by-version."weak-map"."1.0.5";
-  by-version."weak-map"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-weak-map-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz";
-        name = "weak-map-1.0.5.tgz";
-        sha1 = "79691584d98607f5070bd3b70a40e6bb22e401eb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."weak-map" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "weak-map" ];
+  by-version."weak-map"."1.0.5" = self.buildNodePackage {
+    name = "weak-map-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz";
+      name = "weak-map-1.0.5.tgz";
+      sha1 = "79691584d98607f5070bd3b70a40e6bb22e401eb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."webdrvr"."*" =
-    self.by-version."webdrvr"."2.41.0-0";
-  by-version."webdrvr"."2.41.0-0" = lib.makeOverridable self.buildNodePackage {
-    name = "webdrvr-2.41.0-0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.41.0-0.tgz";
-        name = "webdrvr-2.41.0-0.tgz";
-        sha1 = "c74f22b27f0778d0c2b7e5cbda1edd113d782884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."webdrvr" or []);
-    deps = [
-      self.by-version."adm-zip"."0.4.4"
-      self.by-version."kew"."0.1.7"
-      self.by-version."mkdirp"."0.3.5"
-      self.by-version."npmconf"."0.1.16"
-      self.by-version."phantomjs"."1.9.7-15"
-      self.by-version."tmp"."0.0.24"
-      self.by-version."follow-redirects"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "webdrvr" ];
-  };
-  "webdrvr" = self.by-version."webdrvr"."2.41.0-0";
-  by-spec."websocket-driver".">=0.3.1" =
-    self.by-version."websocket-driver"."0.3.5";
-  by-version."websocket-driver"."0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-websocket-driver-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.5.tgz";
-        name = "websocket-driver-0.3.5.tgz";
-        sha1 = "e3a51ff538f1653a49e62d78ecfc1eb1bde9e5a0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."websocket-driver" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "websocket-driver" ];
-  };
-  by-spec."when"."~3.1.0" =
-    self.by-version."when"."3.1.0";
-  by-version."when"."3.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-when-3.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/when/-/when-3.1.0.tgz";
-        name = "when-3.1.0.tgz";
-        sha1 = "a2479659ca15f725541ecf52ebae091b781ee134";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."when" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "when" ];
+    self.by-version."webdrvr"."2.43.0-0";
+  by-version."webdrvr"."2.43.0-0" = self.buildNodePackage {
+    name = "webdrvr-2.43.0-0";
+    version = "2.43.0-0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.43.0-0.tgz";
+      name = "webdrvr-2.43.0-0.tgz";
+      sha1 = "b022266b1d5fba25e22d923337c55587048c2953";
+    };
+    deps = {
+      "adm-zip-0.4.7" = self.by-version."adm-zip"."0.4.7";
+      "kew-0.1.7" = self.by-version."kew"."0.1.7";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "npmconf-0.1.16" = self.by-version."npmconf"."0.1.16";
+      "phantomjs-1.9.15" = self.by-version."phantomjs"."1.9.15";
+      "tmp-0.0.24" = self.by-version."tmp"."0.0.24";
+      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "webdrvr" = self.by-version."webdrvr"."2.43.0-0";
+  by-spec."webkit-devtools-agent"."^0.2.4" =
+    self.by-version."webkit-devtools-agent"."0.2.5";
+  by-version."webkit-devtools-agent"."0.2.5" = self.buildNodePackage {
+    name = "webkit-devtools-agent-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/webkit-devtools-agent/-/webkit-devtools-agent-0.2.5.tgz";
+      name = "webkit-devtools-agent-0.2.5.tgz";
+      sha1 = "f93e2948bd1a5171d368be65b3676604104c4f90";
+    };
+    deps = {
+      "ws-0.4.31" = self.by-version."ws"."0.4.31";
+      "underscore-1.3.3" = self.by-version."underscore"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."webpack"."*" =
+    self.by-version."webpack"."1.5.3";
+  by-version."webpack"."1.5.3" = self.buildNodePackage {
+    name = "webpack-1.5.3";
+    version = "1.5.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/webpack/-/webpack-1.5.3.tgz";
+      name = "webpack-1.5.3.tgz";
+      sha1 = "817a91e1fe70bbaba9400ea49afdfc9a05f4b0c5";
+    };
+    deps = {
+      "esprima-1.2.4" = self.by-version."esprima"."1.2.4";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+      "uglify-js-2.4.16" = self.by-version."uglify-js"."2.4.16";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "enhanced-resolve-0.8.4" = self.by-version."enhanced-resolve"."0.8.4";
+      "memory-fs-0.2.0" = self.by-version."memory-fs"."0.2.0";
+      "clone-0.1.19" = self.by-version."clone"."0.1.19";
+      "webpack-core-0.4.8" = self.by-version."webpack-core"."0.4.8";
+      "node-libs-browser-0.4.1" = self.by-version."node-libs-browser"."0.4.1";
+      "watchpack-0.2.3" = self.by-version."watchpack"."0.2.3";
+      "tapable-0.1.8" = self.by-version."tapable"."0.1.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "webpack" = self.by-version."webpack"."1.5.3";
+  by-spec."webpack-core"."~0.4.8" =
+    self.by-version."webpack-core"."0.4.8";
+  by-version."webpack-core"."0.4.8" = self.buildNodePackage {
+    name = "webpack-core-0.4.8";
+    version = "0.4.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/webpack-core/-/webpack-core-0.4.8.tgz";
+      name = "webpack-core-0.4.8.tgz";
+      sha1 = "07fc55aba81d17dba8cae5a43d6bd69236f8b5f8";
+    };
+    deps = {
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."websocket-driver".">=0.3.6" =
+    self.by-version."websocket-driver"."0.5.3";
+  by-version."websocket-driver"."0.5.3" = self.buildNodePackage {
+    name = "websocket-driver-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.5.3.tgz";
+      name = "websocket-driver-0.5.3.tgz";
+      sha1 = "775d079018f8985e1c255eb8efa9224895acacc3";
+    };
+    deps = {
+      "websocket-extensions-0.1.1" = self.by-version."websocket-extensions"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."websocket-driver".">=0.5.1" =
+    self.by-version."websocket-driver"."0.5.3";
+  by-spec."websocket-extensions".">=0.1.1" =
+    self.by-version."websocket-extensions"."0.1.1";
+  by-version."websocket-extensions"."0.1.1" = self.buildNodePackage {
+    name = "websocket-extensions-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
+      name = "websocket-extensions-0.1.1.tgz";
+      sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."when"."3.7.2" =
+    self.by-version."when"."3.7.2";
+  by-version."when"."3.7.2" = self.buildNodePackage {
+    name = "when-3.7.2";
+    version = "3.7.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/when/-/when-3.7.2.tgz";
+      name = "when-3.7.2.tgz";
+      sha1 = "06bed1296df3a0bfd83f7f31c5e1d779bd97eae8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."when"."~3.4.6" =
+    self.by-version."when"."3.4.6";
+  by-version."when"."3.4.6" = self.buildNodePackage {
+    name = "when-3.4.6";
+    version = "3.4.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/when/-/when-3.4.6.tgz";
+      name = "when-3.4.6.tgz";
+      sha1 = "8fbcb7cc1439d2c3a68c431f1516e6dcce9ad28c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."which"."1" =
-    self.by-version."which"."1.0.5";
-  by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "which-1.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        name = "which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."which" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "which" ];
+    self.by-version."which"."1.0.8";
+  by-version."which"."1.0.8" = self.buildNodePackage {
+    name = "which-1.0.8";
+    version = "1.0.8";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/which/-/which-1.0.8.tgz";
+      name = "which-1.0.8.tgz";
+      sha1 = "c2ff319534ac4a1fa45df2221b56c36279903ded";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."which"."1.0.x" =
-    self.by-version."which"."1.0.5";
+    self.by-version."which"."1.0.8";
+  by-spec."which"."^1.0.5" =
+    self.by-version."which"."1.0.8";
   by-spec."which"."~1.0.5" =
-    self.by-version."which"."1.0.5";
+    self.by-version."which"."1.0.8";
+  by-spec."which"."~1.0.8" =
+    self.by-version."which"."1.0.8";
+  by-spec."win-detect-browsers"."^0.0.2" =
+    self.by-version."win-detect-browsers"."0.0.2";
+  by-version."win-detect-browsers"."0.0.2" = self.buildNodePackage {
+    name = "win-detect-browsers-0.0.2";
+    version = "0.0.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/win-detect-browsers/-/win-detect-browsers-0.0.2.tgz";
+      name = "win-detect-browsers-0.0.2.tgz";
+      sha1 = "d636ade6434c9967c7e7af592a0b4aa2ba9d22f2";
+    };
+    deps = {
+      "which-1.0.8" = self.by-version."which"."1.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."win-release"."^1.0.0" =
+    self.by-version."win-release"."1.0.0";
+  by-version."win-release"."1.0.0" = self.buildNodePackage {
+    name = "win-release-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/win-release/-/win-release-1.0.0.tgz";
+      name = "win-release-1.0.0.tgz";
+      sha1 = "8993308dedbd8d30ad5594b6b7382a8c1d96ae5a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."win-trash"."^1.0.0" =
+    self.by-version."win-trash"."1.0.0";
+  by-version."win-trash"."1.0.0" = self.buildNodePackage {
+    name = "win-trash-1.0.0";
+    version = "1.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/win-trash/-/win-trash-1.0.0.tgz";
+      name = "win-trash-1.0.0.tgz";
+      sha1 = "1153a7a5e1aa703f4b449458674312de2fa3589c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."windows-no-runnable"."~0.0.6" =
+    self.by-version."windows-no-runnable"."0.0.6";
+  by-version."windows-no-runnable"."0.0.6" = self.buildNodePackage {
+    name = "windows-no-runnable-0.0.6";
+    version = "0.0.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/windows-no-runnable/-/windows-no-runnable-0.0.6.tgz";
+      name = "windows-no-runnable-0.0.6.tgz";
+      sha1 = "91e5129088330a0fe248520cee12d1ad6bb4ddfb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."winser"."=0.1.6" =
     self.by-version."winser"."0.1.6";
-  by-version."winser"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+  by-version."winser"."0.1.6" = self.buildNodePackage {
     name = "winser-0.1.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/winser/-/winser-0.1.6.tgz";
-        name = "winser-0.1.6.tgz";
-        sha1 = "08663dc32878a12bbce162d840da5097b48466c9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."winser" or []);
-    deps = [
-      self.by-version."sequence"."2.2.1"
-      self.by-version."commander"."1.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "winser" ];
+    version = "0.1.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winser/-/winser-0.1.6.tgz";
+      name = "winser-0.1.6.tgz";
+      sha1 = "08663dc32878a12bbce162d840da5097b48466c9";
+    };
+    deps = {
+      "sequence-2.2.1" = self.by-version."sequence"."2.2.1";
+      "commander-1.3.1" = self.by-version."commander"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."winston"."*" =
-    self.by-version."winston"."0.7.3";
-  by-version."winston"."0.7.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.7.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
-        name = "winston-0.7.3.tgz";
-        sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."request"."2.16.6"
-      self.by-version."stack-trace"."0.0.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "winston" ];
+    self.by-version."winston"."0.9.0";
+  by-version."winston"."0.9.0" = self.buildNodePackage {
+    name = "winston-0.9.0";
+    version = "0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.9.0.tgz";
+      name = "winston-0.9.0.tgz";
+      sha1 = "b5726e6c42291e305e36286ce7ae9f3b74a527a8";
+    };
+    deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "colors-1.0.3" = self.by-version."colors"."1.0.3";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "isstream-0.1.1" = self.by-version."isstream"."0.1.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "winston" = self.by-version."winston"."0.9.0";
+  by-spec."winston"."0.5.1" =
+    self.by-version."winston"."0.5.1";
+  by-version."winston"."0.5.1" = self.buildNodePackage {
+    name = "winston-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.5.1.tgz";
+      name = "winston-0.5.1.tgz";
+      sha1 = "2b2f40cdbf469b60f1885cc549757c4b9973e5ea";
+    };
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "loggly-0.3.11" = self.by-version."loggly"."0.3.11";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "winston" = self.by-version."winston"."0.7.3";
   by-spec."winston"."0.6.2" =
     self.by-version."winston"."0.6.2";
-  by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
-        name = "winston-0.6.2.tgz";
-        sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.1.22"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."pkginfo"."0.2.3"
-      self.by-version."request"."2.9.203"
-      self.by-version."stack-trace"."0.0.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "winston" ];
+  by-version."winston"."0.6.2" = self.buildNodePackage {
+    name = "winston-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
+      name = "winston-0.6.2.tgz";
+      sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
+    };
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
+      "request-2.9.203" = self.by-version."request"."2.9.203";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."winston"."0.6.x" =
     self.by-version."winston"."0.6.2";
   by-spec."winston"."0.7.2" =
     self.by-version."winston"."0.7.2";
-  by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-winston-0.7.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
-        name = "winston-0.7.2.tgz";
-        sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."winston" or []);
-    deps = [
-      self.by-version."async"."0.2.10"
-      self.by-version."colors"."0.6.2"
-      self.by-version."cycle"."1.0.3"
-      self.by-version."eyes"."0.1.8"
-      self.by-version."pkginfo"."0.3.0"
-      self.by-version."request"."2.16.6"
-      self.by-version."stack-trace"."0.0.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "winston" ];
-  };
-  by-spec."winston"."~0.7.2" =
-    self.by-version."winston"."0.7.3";
-  by-spec."winston"."~0.7.3" =
+  by-version."winston"."0.7.2" = self.buildNodePackage {
+    name = "winston-0.7.2";
+    version = "0.7.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
+      name = "winston-0.7.2.tgz";
+      sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."winston"."0.7.3" =
     self.by-version."winston"."0.7.3";
+  by-version."winston"."0.7.3" = self.buildNodePackage {
+    name = "winston-0.7.3";
+    version = "0.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
+      name = "winston-0.7.3.tgz";
+      sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "request-2.16.6" = self.by-version."request"."2.16.6";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."winston"."0.8.0" =
+    self.by-version."winston"."0.8.0";
+  by-version."winston"."0.8.0" = self.buildNodePackage {
+    name = "winston-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.8.0.tgz";
+      name = "winston-0.8.0.tgz";
+      sha1 = "61d0830fa699706212206b0a2b5ca69a93043668";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."winston"."0.8.x" =
+    self.by-version."winston"."0.8.3";
+  by-version."winston"."0.8.3" = self.buildNodePackage {
+    name = "winston-0.8.3";
+    version = "0.8.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.8.3.tgz";
+      name = "winston-0.8.3.tgz";
+      sha1 = "64b6abf4cd01adcaefd5009393b1d8e8bec19db0";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "isstream-0.1.1" = self.by-version."isstream"."0.1.1";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."winston"."~0.8.1" =
+    self.by-version."winston"."0.8.3";
+  by-spec."winston"."~0.8.3" =
+    self.by-version."winston"."0.8.3";
   by-spec."with"."~1.1.0" =
     self.by-version."with"."1.1.1";
-  by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz";
-        name = "with-1.1.1.tgz";
-        sha1 = "66bd6664deb318b2482dd0424ccdebe822434ac0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "with" ];
+  by-version."with"."1.1.1" = self.buildNodePackage {
+    name = "with-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz";
+      name = "with-1.1.1.tgz";
+      sha1 = "66bd6664deb318b2482dd0424ccdebe822434ac0";
+    };
+    deps = {
+      "uglify-js-2.4.0" = self.by-version."uglify-js"."2.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."with"."~2.0.0" =
     self.by-version."with"."2.0.0";
-  by-version."with"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/with/-/with-2.0.0.tgz";
-        name = "with-2.0.0.tgz";
-        sha1 = "ec01ff021db9df05639047147ede012f5e6d0afd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "with" ];
-  };
-  by-spec."with"."~3.0.0" =
-    self.by-version."with"."3.0.1";
-  by-version."with"."3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-with-3.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/with/-/with-3.0.1.tgz";
-        name = "with-3.0.1.tgz";
-        sha1 = "08354da410243cf6173fb142bb04e6c66f96f854";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."with" or []);
-    deps = [
-      self.by-version."uglify-js"."2.4.15"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "with" ];
+  by-version."with"."2.0.0" = self.buildNodePackage {
+    name = "with-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/with/-/with-2.0.0.tgz";
+      name = "with-2.0.0.tgz";
+      sha1 = "ec01ff021db9df05639047147ede012f5e6d0afd";
+    };
+    deps = {
+      "uglify-js-2.4.0" = self.by-version."uglify-js"."2.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."with"."~4.0.0" =
+    self.by-version."with"."4.0.1";
+  by-version."with"."4.0.1" = self.buildNodePackage {
+    name = "with-4.0.1";
+    version = "4.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/with/-/with-4.0.1.tgz";
+      name = "with-4.0.1.tgz";
+      sha1 = "accd7a7c321f2d83e303e51c02bb7eb1fff19c32";
+    };
+    deps = {
+      "acorn-0.11.0" = self.by-version."acorn"."0.11.0";
+      "acorn-globals-1.0.2" = self.by-version."acorn-globals"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."wordwrap"."0.0.x" =
     self.by-version."wordwrap"."0.0.2";
-  by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wordwrap-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        name = "wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wordwrap" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wordwrap" ];
+  by-version."wordwrap"."0.0.2" = self.buildNodePackage {
+    name = "wordwrap-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+      name = "wordwrap-0.0.2.tgz";
+      sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."wordwrap".">=0.0.1 <0.1.0" =
     self.by-version."wordwrap"."0.0.2";
   by-spec."wordwrap"."~0.0.2" =
     self.by-version."wordwrap"."0.0.2";
-  by-spec."wrench"."~1.5.0" =
-    self.by-version."wrench"."1.5.8";
-  by-version."wrench"."1.5.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wrench-1.5.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz";
-        name = "wrench-1.5.8.tgz";
-        sha1 = "7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wrench" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wrench" ];
-  };
+  by-spec."wrap-fn"."^0.1.0" =
+    self.by-version."wrap-fn"."0.1.4";
+  by-version."wrap-fn"."0.1.4" = self.buildNodePackage {
+    name = "wrap-fn-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.4.tgz";
+      name = "wrap-fn-0.1.4.tgz";
+      sha1 = "03eba5d07ac55c2a93fa2d37a2b01f81c07bddb2";
+    };
+    deps = {
+      "co-3.1.0" = self.by-version."co"."3.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wrappy"."1" =
+    self.by-version."wrappy"."1.0.1";
+  by-version."wrappy"."1.0.1" = self.buildNodePackage {
+    name = "wrappy-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
+      name = "wrappy-1.0.1.tgz";
+      sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wrappy"."~1.0.1" =
+    self.by-version."wrappy"."1.0.1";
   by-spec."wrench"."~1.5.4" =
     self.by-version."wrench"."1.5.8";
+  by-version."wrench"."1.5.8" = self.buildNodePackage {
+    name = "wrench-1.5.8";
+    version = "1.5.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz";
+      name = "wrench-1.5.8.tgz";
+      sha1 = "7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wrench"."~1.5.8" =
+    self.by-version."wrench"."1.5.8";
+  by-spec."write-file-atomic"."~1.1.0" =
+    self.by-version."write-file-atomic"."1.1.0";
+  by-version."write-file-atomic"."1.1.0" = self.buildNodePackage {
+    name = "write-file-atomic-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.0.tgz";
+      name = "write-file-atomic-1.1.0.tgz";
+      sha1 = "e114cfb8f82188353f98217c5945451c9b4dc060";
+    };
+    deps = {
+      "graceful-fs-3.0.5" = self.by-version."graceful-fs"."3.0.5";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ws"."0.4.31" =
+    self.by-version."ws"."0.4.31";
+  by-version."ws"."0.4.31" = self.buildNodePackage {
+    name = "ws-0.4.31";
+    version = "0.4.31";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ws/-/ws-0.4.31.tgz";
+      name = "ws-0.4.31.tgz";
+      sha1 = "5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927";
+    };
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "nan-0.3.2" = self.by-version."nan"."0.3.2";
+      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
+      "options-0.0.6" = self.by-version."options"."0.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."ws"."0.4.x" =
     self.by-version."ws"."0.4.32";
-  by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
+  by-version."ws"."0.4.32" = self.buildNodePackage {
     name = "ws-0.4.32";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
-        name = "ws-0.4.32.tgz";
-        sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ws" or []);
-    deps = [
-      self.by-version."commander"."2.1.0"
-      self.by-version."nan"."1.0.0"
-      self.by-version."tinycolor"."0.0.1"
-      self.by-version."options"."0.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ws" ];
+    version = "0.4.32";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+      name = "ws-0.4.32.tgz";
+      sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+    };
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "nan-1.0.0" = self.by-version."nan"."1.0.0";
+      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
+      "options-0.0.6" = self.by-version."options"."0.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ws"."0.7.1" =
+    self.by-version."ws"."0.7.1";
+  by-version."ws"."0.7.1" = self.buildNodePackage {
+    name = "ws-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ws/-/ws-0.7.1.tgz";
+      name = "ws-0.7.1.tgz";
+      sha1 = "8f1c7864ca08081be3cd0ac330df0d29c5fcd0da";
+    };
+    deps = {
+      "options-0.0.6" = self.by-version."options"."0.0.6";
+      "ultron-1.0.1" = self.by-version."ultron"."1.0.1";
+    };
+    optionalDependencies = {
+      "bufferutil-1.0.1" = self.by-version."bufferutil"."1.0.1";
+      "utf-8-validate-1.0.1" = self.by-version."utf-8-validate"."1.0.1";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."ws"."~0.4.31" =
     self.by-version."ws"."0.4.32";
+  by-spec."ws"."~0.7.1" =
+    self.by-version."ws"."0.7.1";
   by-spec."wu"."*" =
     self.by-version."wu"."2.0.0";
-  by-version."wu"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-wu-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wu/-/wu-2.0.0.tgz";
-        name = "wu-2.0.0.tgz";
-        sha1 = "abda06a014dd1c54c2163862f5c2c5230721bc27";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wu" or []);
-    deps = [
-      self.by-version."traceur"."0.0.55"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "wu" ];
+  by-version."wu"."2.0.0" = self.buildNodePackage {
+    name = "wu-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wu/-/wu-2.0.0.tgz";
+      name = "wu-2.0.0.tgz";
+      sha1 = "abda06a014dd1c54c2163862f5c2c5230721bc27";
+    };
+    deps = {
+      "traceur-0.0.55" = self.by-version."traceur"."0.0.55";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   "wu" = self.by-version."wu"."2.0.0";
+  by-spec."x-default-browser"."0.3.0" =
+    self.by-version."x-default-browser"."0.3.0";
+  by-version."x-default-browser"."0.3.0" = self.buildNodePackage {
+    name = "x-default-browser-0.3.0";
+    version = "0.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/x-default-browser/-/x-default-browser-0.3.0.tgz";
+      name = "x-default-browser-0.3.0.tgz";
+      sha1 = "850d5137bc97b78176e69ae916417fe3d4e97d5d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+      "default-browser-id-1.0.2" = self.by-version."default-browser-id"."1.0.2";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."x509"."*" =
-    self.by-version."x509"."0.0.7";
-  by-version."x509"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-x509-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/x509/-/x509-0.0.7.tgz";
-        name = "x509-0.0.7.tgz";
-        sha1 = "198a57a9691649b030a383e0e5f89e635d6e99e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."x509" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "x509" ];
+    self.by-version."x509"."0.1.4";
+  by-version."x509"."0.1.4" = self.buildNodePackage {
+    name = "x509-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/x509/-/x509-0.1.4.tgz";
+      name = "x509-0.1.4.tgz";
+      sha1 = "08d016ed165db0c68a192edeb1cdca0f5d43cb22";
+    };
+    deps = {
+      "nan-1.6.2" = self.by-version."nan"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "x509" = self.by-version."x509"."0.1.4";
+  by-spec."xcode"."0.6.7" =
+    self.by-version."xcode"."0.6.7";
+  by-version."xcode"."0.6.7" = self.buildNodePackage {
+    name = "xcode-0.6.7";
+    version = "0.6.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xcode/-/xcode-0.6.7.tgz";
+      name = "xcode-0.6.7.tgz";
+      sha1 = "df11a8615e43dfa397cbf593b0fd14ebeadf4e7a";
+    };
+    deps = {
+      "pegjs-0.6.2" = self.by-version."pegjs"."0.6.2";
+      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xdg-basedir"."^1.0.0" =
+    self.by-version."xdg-basedir"."1.0.1";
+  by-version."xdg-basedir"."1.0.1" = self.buildNodePackage {
+    name = "xdg-basedir-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xdg-basedir/-/xdg-basedir-1.0.1.tgz";
+      name = "xdg-basedir-1.0.1.tgz";
+      sha1 = "14ff8f63a4fdbcb05d5b6eea22b36f3033b9f04e";
+    };
+    deps = {
+      "user-home-1.1.1" = self.by-version."user-home"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xdg-empty-trash"."^1.0.0" =
+    self.by-version."xdg-empty-trash"."1.0.0";
+  by-version."xdg-empty-trash"."1.0.0" = self.buildNodePackage {
+    name = "xdg-empty-trash-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xdg-empty-trash/-/xdg-empty-trash-1.0.0.tgz";
+      name = "xdg-empty-trash-1.0.0.tgz";
+      sha1 = "007ec95403863f705ec09335b8c9166858021959";
+    };
+    deps = {
+      "each-async-1.1.1" = self.by-version."each-async"."1.1.1";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xdg-trash"."^1.0.0" =
+    self.by-version."xdg-trash"."1.0.6";
+  by-version."xdg-trash"."1.0.6" = self.buildNodePackage {
+    name = "xdg-trash-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xdg-trash/-/xdg-trash-1.0.6.tgz";
+      name = "xdg-trash-1.0.6.tgz";
+      sha1 = "5d13427235e5155ea518d8e7df614300c460521c";
+    };
+    deps = {
+      "each-async-1.1.1" = self.by-version."each-async"."1.1.1";
+      "fs-extra-0.16.3" = self.by-version."fs-extra"."0.16.3";
+      "uuid-2.0.1" = self.by-version."uuid"."2.0.1";
+      "xdg-trashdir-1.1.1" = self.by-version."xdg-trashdir"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xdg-trashdir"."^1.0.0" =
+    self.by-version."xdg-trashdir"."1.1.1";
+  by-version."xdg-trashdir"."1.1.1" = self.buildNodePackage {
+    name = "xdg-trashdir-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xdg-trashdir/-/xdg-trashdir-1.1.1.tgz";
+      name = "xdg-trashdir-1.1.1.tgz";
+      sha1 = "3cbdc8de596642396725de40a20bcf402b6d5db5";
+    };
+    deps = {
+      "mount-point-1.0.3" = self.by-version."mount-point"."1.0.3";
+      "user-home-1.1.1" = self.by-version."user-home"."1.1.1";
+      "xdg-basedir-1.0.1" = self.by-version."xdg-basedir"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xhr2".">= 0.0.5" =
+    self.by-version."xhr2"."0.1.2";
+  by-version."xhr2"."0.1.2" = self.buildNodePackage {
+    name = "xhr2-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xhr2/-/xhr2-0.1.2.tgz";
+      name = "xhr2-0.1.2.tgz";
+      sha1 = "5f9f78c042e5ad1c0dbfcf0deb3aae7c95defc6f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xml"."^1.0.0" =
+    self.by-version."xml"."1.0.0";
+  by-version."xml"."1.0.0" = self.buildNodePackage {
+    name = "xml-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xml/-/xml-1.0.0.tgz";
+      name = "xml-1.0.0.tgz";
+      sha1 = "de3ee912477be2f250b60f612f34a8c4da616efe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xml2js"."*" =
+    self.by-version."xml2js"."0.4.5";
+  by-version."xml2js"."0.4.5" = self.buildNodePackage {
+    name = "xml2js-0.4.5";
+    version = "0.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.5.tgz";
+      name = "xml2js-0.4.5.tgz";
+      sha1 = "fc426751b7cf890aaa909a756eede31c7f38a8fc";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+      "xmlbuilder-2.6.1" = self.by-version."xmlbuilder"."2.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  "x509" = self.by-version."x509"."0.0.7";
   by-spec."xml2js"."0.2.4" =
     self.by-version."xml2js"."0.2.4";
-  by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.2.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
-        name = "xml2js-0.2.4.tgz";
-        sha1 = "9a5b577fa1e6cdf8923d5e1372f7a3188436e44d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.6.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xml2js" ];
+  by-version."xml2js"."0.2.4" = self.buildNodePackage {
+    name = "xml2js-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
+      name = "xml2js-0.2.4.tgz";
+      sha1 = "9a5b577fa1e6cdf8923d5e1372f7a3188436e44d";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."xml2js"."0.2.6" =
     self.by-version."xml2js"."0.2.6";
-  by-version."xml2js"."0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz";
-        name = "xml2js-0.2.6.tgz";
-        sha1 = "d209c4e4dda1fc9c452141ef41c077f5adfdf6c4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.4.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xml2js" ];
-  };
-  by-spec."xml2js".">= 0.0.1" =
+  by-version."xml2js"."0.2.6" = self.buildNodePackage {
+    name = "xml2js-0.2.6";
+    version = "0.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz";
+      name = "xml2js-0.2.6.tgz";
+      sha1 = "d209c4e4dda1fc9c452141ef41c077f5adfdf6c4";
+    };
+    deps = {
+      "sax-0.4.2" = self.by-version."sax"."0.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xml2js"."0.4.4" =
     self.by-version."xml2js"."0.4.4";
-  by-version."xml2js"."0.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xml2js-0.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz";
-        name = "xml2js-0.4.4.tgz";
-        sha1 = "3111010003008ae19240eba17497b57c729c555d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xml2js" or []);
-    deps = [
-      self.by-version."sax"."0.6.0"
-      self.by-version."xmlbuilder"."2.4.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xml2js" ];
+  by-version."xml2js"."0.4.4" = self.buildNodePackage {
+    name = "xml2js-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz";
+      name = "xml2js-0.4.4.tgz";
+      sha1 = "3111010003008ae19240eba17497b57c729c555d";
+    };
+    deps = {
+      "sax-0.6.1" = self.by-version."sax"."0.6.1";
+      "xmlbuilder-2.6.1" = self.by-version."xmlbuilder"."2.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
+  by-spec."xml2js".">= 0.0.1" =
+    self.by-version."xml2js"."0.4.5";
   by-spec."xml2js".">=0.1.7" =
-    self.by-version."xml2js"."0.4.4";
+    self.by-version."xml2js"."0.4.5";
   by-spec."xml2js"."^0.4.4" =
-    self.by-version."xml2js"."0.4.4";
+    self.by-version."xml2js"."0.4.5";
+  by-spec."xml2json".">=0.3.2" =
+    self.by-version."xml2json"."0.6.1";
+  by-version."xml2json"."0.6.1" = self.buildNodePackage {
+    name = "xml2json-0.6.1";
+    version = "0.6.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xml2json/-/xml2json-0.6.1.tgz";
+      name = "xml2json-0.6.1.tgz";
+      sha1 = "43883d09e4369f96b83316df833cf1fc20d6c3f1";
+    };
+    deps = {
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xml2json"."^0.5.1" =
+    self.by-version."xml2json"."0.5.1";
+  by-version."xml2json"."0.5.1" = self.buildNodePackage {
+    name = "xml2json-0.5.1";
+    version = "0.5.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xml2json/-/xml2json-0.5.1.tgz";
+      name = "xml2json-0.5.1.tgz";
+      sha1 = "4667011bf0b34e8ec9830cf83e9476659a94d9ba";
+    };
+    deps = {
+      "node-expat-2.3.6" = self.by-version."node-expat"."2.3.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."xmlbuilder"."0.4.2" =
     self.by-version."xmlbuilder"."0.4.2";
-  by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlbuilder-0.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
-        name = "xmlbuilder-0.4.2.tgz";
-        sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xmlbuilder" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xmlbuilder" ];
+  by-version."xmlbuilder"."0.4.2" = self.buildNodePackage {
+    name = "xmlbuilder-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
+      name = "xmlbuilder-0.4.2.tgz";
+      sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmlbuilder"."0.4.x" =
+    self.by-version."xmlbuilder"."0.4.3";
+  by-version."xmlbuilder"."0.4.3" = self.buildNodePackage {
+    name = "xmlbuilder-0.4.3";
+    version = "0.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.3.tgz";
+      name = "xmlbuilder-0.4.3.tgz";
+      sha1 = "c4614ba74e0ad196e609c9272cd9e1ddb28a8a58";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmlbuilder"."2.2.1" =
+    self.by-version."xmlbuilder"."2.2.1";
+  by-version."xmlbuilder"."2.2.1" = self.buildNodePackage {
+    name = "xmlbuilder-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz";
+      name = "xmlbuilder-2.2.1.tgz";
+      sha1 = "9326430f130d87435d4c4086643aa2926e105a32";
+    };
+    deps = {
+      "lodash-node-2.4.1" = self.by-version."lodash-node"."2.4.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."xmlbuilder".">=1.0.0" =
-    self.by-version."xmlbuilder"."2.4.3";
-  by-version."xmlbuilder"."2.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlbuilder-2.4.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.4.3.tgz";
-        name = "xmlbuilder-2.4.3.tgz";
-        sha1 = "0589eeee0986adf0af605e878f24ff6557d7697f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xmlbuilder" or []);
-    deps = [
-      self.by-version."lodash-node"."2.4.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xmlbuilder" ];
-  };
-  by-spec."xmldom"."~0.1.16" =
+    self.by-version."xmlbuilder"."2.6.1";
+  by-version."xmlbuilder"."2.6.1" = self.buildNodePackage {
+    name = "xmlbuilder-2.6.1";
+    version = "2.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.1.tgz";
+      name = "xmlbuilder-2.6.1.tgz";
+      sha1 = "ba6921650133e5808288f35dcab0db696a9ba9a0";
+    };
+    deps = {
+      "lodash-3.3.0" = self.by-version."lodash"."3.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmldom"."0.1.x" =
+    self.by-version."xmldom"."0.1.19";
+  by-version."xmldom"."0.1.19" = self.buildNodePackage {
+    name = "xmldom-0.1.19";
+    version = "0.1.19";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz";
+      name = "xmldom-0.1.19.tgz";
+      sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmldom"."~0.1.19" =
     self.by-version."xmldom"."0.1.19";
-  by-version."xmldom"."0.1.19" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmldom-0.1.19";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz";
-        name = "xmldom-0.1.19.tgz";
-        sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xmldom" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xmldom" ];
-  };
   by-spec."xmlhttprequest"."1.4.2" =
     self.by-version."xmlhttprequest"."1.4.2";
-  by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xmlhttprequest-1.4.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
-        name = "xmlhttprequest-1.4.2.tgz";
-        sha1 = "01453a1d9bed1e8f172f6495bbf4c8c426321500";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xmlhttprequest" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xmlhttprequest" ];
+  by-version."xmlhttprequest"."1.4.2" = self.buildNodePackage {
+    name = "xmlhttprequest-1.4.2";
+    version = "1.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
+      name = "xmlhttprequest-1.4.2.tgz";
+      sha1 = "01453a1d9bed1e8f172f6495bbf4c8c426321500";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmlhttprequest".">=1.5.0" =
+    self.by-version."xmlhttprequest"."1.7.0";
+  by-version."xmlhttprequest"."1.7.0" = self.buildNodePackage {
+    name = "xmlhttprequest-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.7.0.tgz";
+      name = "xmlhttprequest-1.7.0.tgz";
+      sha1 = "dc697a8df0258afacad526c1c296b1bdd12c4ab3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmlhttprequest"."https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" =
+    self.by-version."xmlhttprequest"."1.5.0";
+  by-version."xmlhttprequest"."1.5.0" = self.buildNodePackage {
+    name = "xmlhttprequest-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz";
+      name = "xmlhttprequest-1.5.0.tgz";
+      sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."xoauth2"."~0.1.8" =
     self.by-version."xoauth2"."0.1.8";
-  by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xoauth2-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
-        name = "xoauth2-0.1.8.tgz";
-        sha1 = "b916ff10ecfb54320f16f24a3e975120653ab0d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xoauth2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xoauth2" ];
+  by-version."xoauth2"."0.1.8" = self.buildNodePackage {
+    name = "xoauth2-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
+      name = "xoauth2-0.1.8.tgz";
+      sha1 = "b916ff10ecfb54320f16f24a3e975120653ab0d2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xregexp"."2.0.0" =
+    self.by-version."xregexp"."2.0.0";
+  by-version."xregexp"."2.0.0" = self.buildNodePackage {
+    name = "xregexp-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz";
+      name = "xregexp-2.0.0.tgz";
+      sha1 = "52a63e56ca0b84a7f3a5f3d61872f126ad7a5943";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."xtend".">=4.0.0 <4.1.0-0" =
     self.by-version."xtend"."4.0.0";
-  by-version."xtend"."4.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-4.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz";
-        name = "xtend-4.0.0.tgz";
-        sha1 = "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xtend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xtend" ];
+  by-version."xtend"."4.0.0" = self.buildNodePackage {
+    name = "xtend-4.0.0";
+    version = "4.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz";
+      name = "xtend-4.0.0.tgz";
+      sha1 = "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."xtend"."^3.0.0" =
     self.by-version."xtend"."3.0.0";
-  by-version."xtend"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-3.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz";
-        name = "xtend-3.0.0.tgz";
-        sha1 = "5cce7407baf642cba7becda568111c493f59665a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xtend" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xtend" ];
+  by-version."xtend"."3.0.0" = self.buildNodePackage {
+    name = "xtend-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz";
+      name = "xtend-3.0.0.tgz";
+      sha1 = "5cce7407baf642cba7becda568111c493f59665a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
   by-spec."xtend"."^4.0.0" =
     self.by-version."xtend"."4.0.0";
   by-spec."xtend"."~2.1.1" =
     self.by-version."xtend"."2.1.2";
-  by-version."xtend"."2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-xtend-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
-        name = "xtend-2.1.2.tgz";
-        sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xtend" or []);
-    deps = [
-      self.by-version."object-keys"."0.4.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xtend" ];
+  by-version."xtend"."2.1.2" = self.buildNodePackage {
+    name = "xtend-2.1.2";
+    version = "2.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
+      name = "xtend-2.1.2.tgz";
+      sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
+    };
+    deps = {
+      "object-keys-0.4.0" = self.by-version."object-keys"."0.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
-  by-spec."xtend"."~2.1.2" =
-    self.by-version."xtend"."2.1.2";
   by-spec."xtend"."~3.0.0" =
     self.by-version."xtend"."3.0.0";
-  by-spec."yargs"."~1.2.1" =
-    self.by-version."yargs"."1.2.6";
-  by-version."yargs"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "node-yargs-1.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz";
-        name = "yargs-1.2.6.tgz";
-        sha1 = "9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yargs" or []);
-    deps = [
-      self.by-version."minimist"."0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "yargs" ];
-  };
+  by-spec."xtraverse"."0.1.x" =
+    self.by-version."xtraverse"."0.1.0";
+  by-version."xtraverse"."0.1.0" = self.buildNodePackage {
+    name = "xtraverse-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xtraverse/-/xtraverse-0.1.0.tgz";
+      name = "xtraverse-0.1.0.tgz";
+      sha1 = "b741bad018ef78d8a9d2e83ade007b3f7959c732";
+    };
+    deps = {
+      "xmldom-0.1.19" = self.by-version."xmldom"."0.1.19";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."yamlish"."*" =
+    self.by-version."yamlish"."0.0.6";
+  by-version."yamlish"."0.0.6" = self.buildNodePackage {
+    name = "yamlish-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yamlish/-/yamlish-0.0.6.tgz";
+      name = "yamlish-0.0.6.tgz";
+      sha1 = "c5df8f7661731351e39eb52223f83a46659452e3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."yargs"."^1.2.1" =
+    self.by-version."yargs"."1.3.3";
+  by-version."yargs"."1.3.3" = self.buildNodePackage {
+    name = "yargs-1.3.3";
+    version = "1.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz";
+      name = "yargs-1.3.3.tgz";
+      sha1 = "054de8b61f22eefdb7207059eaef9d6b83fb931a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."yargs"."~1.3.1" =
+    self.by-version."yargs"."1.3.3";
+  by-spec."yargs"."~1.3.2" =
+    self.by-version."yargs"."1.3.3";
   by-spec."zeparser"."0.0.5" =
     self.by-version."zeparser"."0.0.5";
-  by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zeparser-0.0.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
-        name = "zeparser-0.0.5.tgz";
-        sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."zeparser" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "zeparser" ];
-  };
-  by-spec."zip-stream"."~0.3.0" =
-    self.by-version."zip-stream"."0.3.7";
-  by-version."zip-stream"."0.3.7" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zip-stream-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.3.7.tgz";
-        name = "zip-stream-0.3.7.tgz";
-        sha1 = "c84d057eb0bcc0139747bd3c6c97280bcf5f2bb2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."zip-stream" or []);
-    deps = [
-      self.by-version."buffer-crc32"."0.2.3"
-      self.by-version."crc32-stream"."0.2.0"
-      self.by-version."debug"."1.0.4"
-      self.by-version."deflate-crc32-stream"."0.1.1"
-      self.by-version."lodash"."2.4.1"
-      self.by-version."readable-stream"."1.0.31"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "zip-stream" ];
-  };
-  by-spec."zlib-browserify"."^0.0.3" =
+  by-version."zeparser"."0.0.5" = self.buildNodePackage {
+    name = "zeparser-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
+      name = "zeparser-0.0.5.tgz";
+      sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."zip-stream"."~0.4.0" =
+    self.by-version."zip-stream"."0.4.1";
+  by-version."zip-stream"."0.4.1" = self.buildNodePackage {
+    name = "zip-stream-0.4.1";
+    version = "0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.4.1.tgz";
+      name = "zip-stream-0.4.1.tgz";
+      sha1 = "4ea795a8ce19e9fab49a31d1d0877214159f03a3";
+    };
+    deps = {
+      "compress-commons-0.1.6" = self.by-version."compress-commons"."0.1.6";
+      "lodash-2.4.1" = self.by-version."lodash"."2.4.1";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."zlib-browserify"."~0.0.3" =
     self.by-version."zlib-browserify"."0.0.3";
-  by-version."zlib-browserify"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-zlib-browserify-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz";
-        name = "zlib-browserify-0.0.3.tgz";
-        sha1 = "240ccdbfd0203fa842b130deefb1414122c8cc50";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."zlib-browserify" or []);
-    deps = [
-      self.by-version."tape"."0.2.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "zlib-browserify" ];
+  by-version."zlib-browserify"."0.0.3" = self.buildNodePackage {
+    name = "zlib-browserify-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz";
+      name = "zlib-browserify-0.0.3.tgz";
+      sha1 = "240ccdbfd0203fa842b130deefb1414122c8cc50";
+    };
+    deps = {
+      "tape-0.2.2" = self.by-version."tape"."0.2.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
   };
 }
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index fec7884eb25..4c8e5bbcd88 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -26,24 +26,21 @@
 , "temp"
 , "faye-websocket"
 , "node-uuid"
-, "rbytes"
 , "sockjs"
 , "backbone"
 , "browserchannel"
 , "node-gyp"
 , "semver"
-, "npm2nix"
+, { "npm2nix": "git://github.com/NixOS/npm2nix.git#5.11.0" }
 , "ansi-remover"
 , "mkdirp"
 , "jshint"
-, "stream-splitter-transform"
 , "bcrypt"
 , "nconf"
 , "winston"
 , "jade"
 , "view-helpers"
 , "redis"
-, "mongodb"
 , { "mongoose": "3.6.x" }
 , "mongoose-schema-extend"
 , "connect-mongo"
@@ -60,9 +57,9 @@
 , "should"
 , "nodemon"
 , "timezone"
-, "libyaml"
 , "i18next"
 , "stylus"
+, "nib"
 , "npm"
 , "gridfs-stream"
 , "tar"
@@ -72,6 +69,7 @@
 , "statsd"
 , "statsd-librato-backend"
 , "stackdriver-statsd-backend"
+, "statsd-influxdb-backend"
 , "ungit"
 , { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
 , { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
@@ -83,6 +81,8 @@
 , "grunt-contrib-uglify"
 , "grunt-karma"
 , "grunt-sed"
+, "gulp"
+, "webpack"
 , "karma"
 , "karma-mocha"
 , "karma-coverage"
@@ -109,7 +109,7 @@
 , "posix"
 , "node-protobuf"
 , "rethinkdb"
-, { "titanium": "3.2.1" }
+, "titanium"
 , "deepmerge"
 , "slasp"
 , "react"
@@ -123,4 +123,73 @@
 , "sinon"
 , "shelljs"
 , "typescript"
+, "git-run"
+, "bower"
+, "bower2nix"
+, "fetch-bower"
+, "npm-check-updates"
+, "node-stringprep"
+, "ltx"
+, "node-xmpp"
+, "node-xmpp-core"
+, "node-xmpp-client"
+, "node-xmpp-component"
+, "node-xmpp-server"
+, "node-xmpp-serviceadmin"
+, "node-xmpp-joap"
+, "7f"
+, "jfs"
+, "cordova"
+, "sloc"
+, "peerflix"
+, "peerflix-server"
+, "trash"
+, "empty-trash"
+, "castnow"
+, "parsoid"
+, { "kibana-authentication-proxy": "git://github.com/fangli/kibana-authentication-proxy" }
+, "react-tools"
+, "json"
+, "bipio"
+, "bip-pod-flickr"
+, "bip-pod-imgur"
+, "bip-pod-github"
+, "bip-pod-twilio"
+, "bip-pod-coindesk"
+, "bip-pod-twitter"
+, "bip-pod-crypto"
+, "bip-pod-embedly"
+, "bip-pod-mailgun"
+, "bip-pod-chain"
+, "bip-pod-trello"
+, "bip-pod-pusher"
+, "bip-pod-keenio"
+, "bip-pod-numerous"
+, "bip-pod-statuscake"
+, "bip-pod-mongodb"
+, "bip-pod-facebook"
+, "bip-pod-trello"
+, "bip-pod-wordpress"
+, "bip-pod-alchemy"
+, "bip-pod-dropbox"
+, "bip-pod-craigslist"
+, "bip-pod-soundcloud"
+, "bip-pod-mixcloud"
+, "bip-pod-instagram"
+, "bip-pod-witai"
+, "bip-pod-zoho"
+, "bip-pod-bitly"
+, "bip-pod-circonus"
+, "bip-pod-google"
+, "bip-pod-mailchimp"
+, "bip-pod-pushbullet"
+, "bip-pod-todoist"
+, "bip-pod-kato"
+, "bip-pod-evernote"
+, "bip-pod-gmail"
+, "bip-pod-github"
+, "bip-pod-google-drive"
+, "bip-pod-github"
+, "sleep"
+, "node-red"
 ]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 448904ce385..b418f59e33c 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -1,31 +1,97 @@
-{ pkgs, stdenv, nodejs, fetchurl, fetchgit, neededNatives, self, generated ? ./node-packages-generated.nix }:
-
-rec {
-  nativeDeps = {
-    "node-expat" = [ pkgs.expat ];
-    "rbytes" = [ pkgs.openssl ];
-    "phantomjs" = [ pkgs.phantomjs ];
-    "node-protobuf" = [ pkgs.protobuf ];
-  };
-
-  buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
-    inherit stdenv nodejs neededNatives;
-    inherit (pkgs) runCommand;
-  };
-
-  patchSource = fn: srcAttrs:
-    let src = fn srcAttrs; in pkgs.runCommand src.name {} ''
-      mkdir unpack
-      cd unpack
-      unpackFile ${src}
-      chmod -R +w */
-      mv */ package 2>/dev/null || true
-      sed -i -e "s/:\s*\"latest\"/:  \"*\"/" -e "s/:\s*\"\(https\?\|git\(\+\(ssh\|http\|https\)\)\?\):\/\/[^\"]*\"/: \"*\"/" package/package.json
-      mv */ $out
+{
+  stdenv, pkgs, nodejs
+
+  # Self-reference
+, self
+
+  # Needed natives for installation
+, neededNatives ? [pkgs.python] ++ stdenv.lib.optionals stdenv.isLinux [ pkgs.utillinux ]
+
+  # Attribute set of generated packages
+, generated ? pkgs.callPackage ./node-packages-generated.nix { inherit self; }
+
+  # Attribute set of overrides
+, overrides ? {}
+, ...
+} @ args:
+
+with stdenv.lib;
+
+let
+  removeDeps = remove: deps: filterAttrs (n: d: all (r: r != d.pkgName) remove) deps;
+  replaceDep = replace: deps: mapAttrs (n: d: if d.pkgName == replace.pkgName then replace else d) deps;
+in rec {
+  overrides = {
+    phantomjs.buildInputs = [ pkgs.phantomjs ];
+    "node-expat".buildInputs = [ pkgs.expat ];
+    "node-stringprep".buildInputs = [ pkgs.icu pkgs.which ];
+    "node-protobuf".buildInputs = [ pkgs.protobuf ];
+
+    "tap-0.3.3".patchPhase = ''
+      substituteInPlace package.json --replace '"tap-consumer",' ""
     '';
+    "node-uptime" = (p: {
+      # Net-ping is not really used
+      patchPhase = ''
+        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies["net-ping"]'
+      '';
+      deps = removeDeps ["net-ping"] p.deps;
+    });
+    bipio = (p: {
+      patchPhase = ''
+        substituteInPlace src/bootstrap.js --replace "memwatch = require('memwatch')," ""
+        ${self.json}/bin/json -I -f package.json -e 'this.scripts.install=""'
+        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies.sleep'
+        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies.memwatch'
+        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies["webkit-devtools-agent"]'
+      '';
+      deps = replaceDep self.sleep (removeDeps ["memwatch" "webkit-devtools-agent"] p.deps);
+    });
+    bip-pod.patchPhase = ''
+      substituteInPlace index.js --replace \
+        "__dirname + (literal ? '/' : '/../bip-pod-') + podName" \
+        "(literal ? __dirname + '/' : \"bip-pod-\") + podName"
+    '';
+    webdrvr.preBuild = ''
+      mkdir ../webdrvr
+      ln -s ${pkgs.fetchurl {
+        url = "https://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.1.jar";
+        sha1 = "ef1b5f8ae9c99332f99ba8794988a1d5b974d27b";
+      }} ../webdrvr/selenium-server-standalone-2.43.1.jar
+      ln -s ${pkgs.fetchurl {
+        url = "http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip";
+        sha1 = "26220f7e43ee3c0d714860db61c4d0ecc9bb3d89";
+      }} ../webdrvr/chromedriver_linux64.zip
+    '';
+    statsd.skipOptionalDependencies = ["hashring" "node-syslog"];
+  } // args.overrides or {};
+
+  # Apply overrides and back compatiblity transformations
+  buildNodePackage = {...} @ args:
+  let
+    pkg = makeOverridable (
+      pkgs.callPackage ../development/web/nodejs/build-node-package.nix {
+        inherit nodejs neededNatives;
+      }
+    ) (args // (optionalAttrs (isList args.src) {
+      # Backwards compatibility
+      src = head args.src;
+    }) // (optionalAttrs (attrByPath ["passthru" "names"] null args != null) {
+       pkgName = head args.passthru.names;
+    }));
 
-  # Backwards compat
-  patchLatest = patchSource fetchurl;
+    override = overrides.${args.name} or overrides.${pkg.pkgName} or {};
+
+  in pkg.override override;
+
+  # Backwards compatibility
+  patchSource = fn: srcAttrs: fn srcAttrs;
+  patchLatest = patchSource pkgs.fetchurl;
 
   /* Put manual packages below here (ideally eventually managed by npm2nix */
-} // import generated { inherit self fetchurl fetchgit; inherit (pkgs) lib; }
+} // (
+  if isAttrs generated then generated
+
+  # Backwards compatiblity
+  else pkgs.callPackage generated { inherit self; }
+)
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index c305cb77ca5..81a1701ac77 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -25,10 +25,10 @@ let self = _self // overrides; _self = with self; {
 
 
   ack = buildPerlPackage rec {
-    name = "ack-2.12";
+    name = "ack-2.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
-      sha256 = "0avxpgg1fvib4354d9a9710j63sgxpb5j07if5qr83apq9xx7wjj";
+      sha256 = "0gqv30666vlclnwylhk9i64s7raa70x4ncy6bg48s5gcxwrshjc5";
     };
     # use gnused so that the preCheck command passes
     buildInputs = stdenv.lib.optional stdenv.isDarwin [ gnused ];
@@ -61,7 +61,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "A module for merging hierarchies using the C3 algorithm";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -101,7 +101,7 @@ let self = _self // overrides; _self = with self; {
       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz";
       sha256 = "0h4g7jl0p8a35kyvsji3qlb75mbcfqpvvmwh7s9krkbqklqjlxxl";
     };
-    propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ];
+    propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ModulePluggable ];
   };
 
   AnyEvent = buildPerlPackage {
@@ -125,7 +125,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AnyEvent JSONXS ];
     meta = {
       description = "Communicate with the i3 window manager";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -139,7 +139,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AnyEvent DevelGlobalDestruction FileShareDir ListMoreUtils NetAMQP Readonly namespaceclean ];
     meta = {
       description = "An asynchronous and multi channel Perl AMQP client";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -164,7 +164,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/kazeburo/Apache-LogFormat-Compiler;
       description = "Compile a log format string to perl-code";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -178,17 +178,17 @@ let self = _self // overrides; _self = with self; {
   };
 
   AppCmd = buildPerlPackage {
-    name = "App-Cmd-0.320";
+    name = "App-Cmd-0.326";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.320.tar.gz;
-      sha256 = "ca6174f634bbe5b73c5f5ad6e0f3b3385568934282f4e848da8e78025b2b185e";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.326.tar.gz;
+      sha256 = "1z6vp1am170fczc0srj63rdvrdbrjk3acmj6ka5v5n6qim4xsv9b";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ CaptureTiny ClassLoad DataOptList GetoptLongDescriptive IOTieCombine StringRewritePrefix SubExporter SubInstall ];
+    propagatedBuildInputs = [ CaptureTiny ClassLoad DataOptList GetoptLongDescriptive IOTieCombine StringRewritePrefix SubExporter ModulePluggable SubInstall ];
     meta = {
       homepage = https://github.com/rjbs/app-cmd;
       description = "Write command line apps with less suffering";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -205,6 +205,60 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Appcpanminus = buildPerlPackage {
+    name = "App-cpanminus-1.7027";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7027.tar.gz;
+      sha256 = "6853359493f8465abbe556d7409e7c0abecd1b48b6a63d2f851af83839c34b31";
+    };
+    meta = {
+      homepage = https://github.com/miyagawa/cpanminus;
+      description = "Get, unpack, build and install modules from CPAN";
+      license = "perl";
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+  Appperlbrew = buildPerlPackage {
+    name = "App-perlbrew-0.71";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.71.tar.gz;
+      sha256 = "5e5de7c4d5235556f6cd5c5e56751fb2d73821ef58390e457db4253542224a09";
+    };
+    buildInputs = [ pkgs.curl IOAll PathClass TestException TestNoWarnings TestOutput TestSpec ];
+    propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl locallib ];
+    meta = {
+      description = "Manage perl installations in your $HOME";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  AppSqitch = buildPerlModule rec {
+    version = "0.999";
+    name = "App-Sqitch-${version}";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-0.999.tar.gz;
+      sha256 = "e7e02194a7b0c42fb4df046cd834d5eb99ff9a2c169f5c60a52c362e89351da6";
+    };
+    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
+    ];
+    doCheck = false;  # Can't find home directory.
+    meta = {
+      homepage = http://sqitch.org/;
+      description = "Sane database change management";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   ArrayCompare = buildPerlPackage {
     name = "Array-Compare-1.18";
     src = fetchurl {
@@ -213,6 +267,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ListCompare = buildPerlPackage {
+    name = "List-Compare-1.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-0.39.tar.gz;
+      sha256 = "1v4gn176faanzf1kr9axdp1220da7nkvz0d66mnk34nd0skjjxcl";
+    };
+  };
+
   ArchiveCpio = buildPerlPackage {
     name = "Archive-Cpio-0.09";
     src = fetchurl {
@@ -225,11 +287,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ArchiveExtract = buildPerlPackage {
+    name = "Archive-Extract-0.74";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.74.tar.gz;
+      sha256 = "b297d230fe91720a423a01482db7e037b2acf589f9c8f58cef39f3148374e216";
+    };
+    propagatedBuildInputs = [ if_ ];
+    meta = {
+      description = "Generic archive extracting mechanism";
+      license = "perl";
+    };
+  };
+
   ArchiveZip = buildPerlPackage {
     name = "Archive-Zip-1.16";
     src = fetchurl {
       url = http://tarballs.nixos.org/Archive-Zip-1.16.tar.gz;
-      md5 = "e28dff400d07b1659d659d8dde7071f1";
+      sha256 = "1ghgs64by3ybjlb0bj65kxysb03k72i7iwmw63g41bj175l44ima";
     };
   };
 
@@ -281,7 +356,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ScopeGuard ];
     meta = {
       description = "Call methods on native types";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -301,7 +376,7 @@ let self = _self // overrides; _self = with self; {
         and produces an XML document in Dia format (or images via graphviz
         and vcg).  Its goal is to be a UML / DB Schema diagram autocreation
         package.  The diagrams its creates are standard UML diagrams showing
-        dependancies, superclasses, packages, classes and inheritances, as
+        dependencies, superclasses, packages, classes and inheritances, as
         well as the methods, etc of each class.
 
         AutoDia supports any language that a Handler has been written for,
@@ -309,25 +384,13 @@ let self = _self // overrides; _self = with self; {
       '';
 
       homepage = http://www.aarontrevena.co.uk/opensource/autodia/;
-      license = "GPLv2+";
+      license = stdenv.lib.licenses.gpl2Plus;
 
       maintainers = [ ];
     };
   };
 
-  autodie = buildPerlPackage {
-    name = "autodie-2.20";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJF/autodie-2.20.tar.gz;
-      sha256 = "346763c582cd8066b4e5d07e4013202f9f9296d32b42343e117dbfb13ea6e4f0";
-    };
-    meta = {
-      description = "Replace functions with ones that succeed or die with lexical scope";
-      license = "perl";
-      maintainers = with maintainers; [ ocharles ];
-      platforms   = stdenv.lib.platforms.unix;
-    };
-  };
+  autodie = null; # part of Perl
 
   autovivification = buildPerlPackage {
     name = "autovivification-0.12";
@@ -338,7 +401,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/autovivification/;
       description = "Lexically disable autovivification";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -357,7 +420,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/B-Hooks-EndOfScope;
       description = "Execute code after a scope finished compilation";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -370,7 +433,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ ExtUtilsDepends ];
     meta = {
       description = "Wrap OP check callbacks";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -410,7 +473,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/ingydotnet/boolean-pm/tree;
       description = "Boolean support for Perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -432,7 +495,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ BusinessISBNData URI ];
     meta = {
       description = "Parse and validate ISBNs";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -444,7 +507,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Data pack for Business::ISBN";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -457,7 +520,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ TieCycle ];
     meta = {
       description = "Work with International Standard Music Numbers";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -469,7 +532,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Work with International Standard Serial Numbers";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -480,6 +543,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "14s75bsm5irisp8wkbwl3ycw160srr1rks7x9jcbvcxh79wr6gbh";
     };
     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
+    doCheck = false; # randomly fails
   };
 
   CacheFastMmap = buildPerlPackage rec {
@@ -532,6 +596,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Cairo = buildPerlPackage rec {
+    name = "Cairo-1.105";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
+      sha256 = "0im025wy1346w7b7hi6im08bfn6x4ma0cxmjz6xnk8riizm1s84q";
+    };
+    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.cairo ];
+    meta = {
+      homepage = http://gtk2-perl.sourceforge.net/;
+      description = "Perl interface to the cairo 2d vector graphics library";
+      maintainers = with maintainers; [ nckx ];
+      license = with stdenv.lib.licenses; [ lgpl21Plus ];
+    };
+  };
+
   cam_pdf = buildPerlPackage rec {
     name = "CAM-PDF-1.60";
     src = fetchurl {
@@ -565,7 +644,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://metacpan.org/release/Capture-Tiny;
       description = "Capture STDOUT and STDERR from Perl, XS or external programs";
-      license = "apache_2_0";
+      license = stdenv.lib.licenses.asl20;
     };
   };
 
@@ -577,7 +656,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Warns and dies noisily with stack backtraces";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -600,7 +679,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CarpAssert TestException ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -613,7 +692,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ TestException ];
     meta = {
       description = "Report errors from perspective of caller of a \"clan\" of modules";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -628,16 +707,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystActionREST = buildPerlPackage {
-    name = "Catalyst-Action-REST-1.07";
+    name = "Catalyst-Action-REST-1.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-REST-1.07.tar.gz;
-      sha256 = "0c893iia1bmqlrknylaqhc9ln1xqz7yw9z639rxmyjyidx5b4q0d";
+      url = mirror://cpan/authors/id/F/FR/FREW/Catalyst-Action-REST-1.17.tar.gz;
+      sha256 = "c833c6ba2150b035b0486ff568c1e5928c14bb53d6a70758271feb969aaedde6";
     };
-    propagatedBuildInputs = [ CatalystRuntime ClassInspector ConfigGeneral DataSerializer DataTaxi FreezeThaw HTMLParser JSONXS LWPUserAgent Moose MROCompat namespaceautoclean ParamsValidate PHPSerialization URIFind XMLSimple YAMLSyck ];
+    buildInputs = [ TestRequires ];
+    propagatedBuildInputs = [ CatalystRuntime ClassInspector LWP MROCompat ModulePluggable Moose ParamsValidate URIFind namespaceautoclean ];
     meta = {
       description = "Automated REST Method Dispatching";
       license = "perl";
-      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -651,7 +730,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystPluginAuthentication CatalystRuntime ClassAccessorFast DataUUID StringEscape URI ];
     meta = {
       description = "HTTP Basic and Digest authentication";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -677,7 +756,8 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication CatalystRuntime DBIxClass ListMoreUtils Moose namespaceautoclean TryTiny ];
     meta = {
       description = "A storage class for Catalyst Authentication using DBIx::Class";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -716,7 +796,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://dev.catalyst.perl.org/;
       description = "Catalyst Development Tools";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -730,7 +810,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose TextSimpleTable ];
     meta = {
       description = "Regex DispatchType";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -760,37 +840,37 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "The Catalyst developer's manual";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   CatalystModelDBICSchema = buildPerlPackage {
-    name = "Catalyst-Model-DBIC-Schema-0.60";
+    name = "Catalyst-Model-DBIC-Schema-0.65";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Model-DBIC-Schema-0.60.tar.gz;
-      sha256 = "176jqvrmhp0wng446m0qlmh1kgqj4z1czg6s418ffr4a7c3jqyld";
+      url = mirror://cpan/authors/id/G/GB/GBJK/Catalyst-Model-DBIC-Schema-0.65.tar.gz;
+      sha256 = "26a911ef5ef7ffc81b6ce65c3156f71fb35083c456ad27e6d82d2dc02493eeea";
     };
     buildInputs = [ DBDSQLite TestException TestRequires ];
-    propagatedBuildInputs = [ CarpClan CatalystComponentInstancePerContext CatalystDevel CatalystRuntime CatalystXComponentTraits DBIxClass DBIxClassCursorCached DBIxClassSchemaLoader HashMerge ListMoreUtils Moose MooseXMarkAsMethods MooseXNonMoose MooseXTypes namespaceautoclean namespaceclean TieIxHash TryTiny ];
+    propagatedBuildInputs = [ CarpClan CatalystComponentInstancePerContext CatalystRuntime CatalystXComponentTraits DBIxClass DBIxClassSchemaLoader HashMerge ListMoreUtils ModuleRuntime Moose MooseXMarkAsMethods MooseXNonMoose MooseXTypes MooseXTypesLoadableClass TieIxHash TryTiny namespaceautoclean namespaceclean ];
     meta = {
       description = "DBIx::Class::Schema Model Class";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
 
   CatalystRuntime = buildPerlPackage {
-    name = "Catalyst-Runtime-5.90030";
+    name = "Catalyst-Runtime-5.90075";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90030.tar.gz;
-      sha256 = "c27357f744fa0d2f9b2682c5f86723d90de43f30cd50089306dd13eb8849eb0c";
+      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90075.tar.gz;
+      sha256 = "a80ed1b1600a8ababda34bc024756a6fb0275b0fff3fa1bb17104813e3ce8752";
     };
-    buildInputs = [ ClassDataInheritable DataDump HTTPMessage TestException ];
-    propagatedBuildInputs = [ CGISimple CatalystDispatchTypeRegex ClassC3AdoptNEXT ClassLoad DataDump DataOptList HTMLParser HTTPBody HTTPMessage HTTPRequestAsCGI LWP ListMoreUtils MROCompat Moose MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass Plack PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix SubExporter TaskWeaken TextSimpleTable TreeSimple TreeSimpleVisitorFactory TryTiny URI namespaceautoclean namespaceclean ];
+    buildInputs = [ DataDump HTTPMessage IOstringy JSONMaybeXS TestFatal ];
+    propagatedBuildInputs = [ CGISimple CGIStruct ClassC3AdoptNEXT ClassDataInheritable ClassLoad DataDump DataOptList Encode 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 TermSizeAny TextSimpleTable TreeSimple TreeSimpleVisitorFactory TryTiny URI namespaceautoclean namespaceclean ];
     meta = {
       homepage = http://dev.catalyst.perl.org/;
       description = "The Catalyst Framework Runtime";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -802,9 +882,10 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0hqvckaw91q5yc25a33bp0d4qqxlgkp7rxlvi8n8svxd1406r55s";
     };
     propagatedBuildInputs = [ CatalystRuntime DateTime Moose namespaceautoclean ];
+    doCheck = false;
     meta = {
       description = "Request logging from within Catalyst";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -819,7 +900,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystPluginSession CatalystRuntime ClassInspector Moose MooseXEmulateClassAccessorFast MROCompat namespaceautoclean StringRewritePrefix TryTiny ];
     meta = {
       description = "Infrastructure plugin for the Catalyst authentication framework";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -842,7 +923,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystPluginAuthentication CatalystRuntime SetObject UNIVERSALisa ];
     meta = {
       description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -856,8 +937,8 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestDeep TestException ];
     propagatedBuildInputs = [ CatalystRuntime MROCompat TaskWeaken ];
     meta = {
-      description = "Flexible caching support for Catalyst.";
-      license = "perl";
+      description = "Flexible caching support for Catalyst";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -873,7 +954,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassAccessorFast HTTPMessage MROCompat ];
     meta = {
       description = "HTTP/1.1 cache validators for Catalyst";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -911,7 +992,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime ClassDataInheritable LWP TryTiny URI ];
     meta = {
       description = "Unicode aware Catalyst";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -936,7 +1017,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime Moose MooseXEmulateClassAccessorFast MROCompat namespaceclean ObjectSignature ];
     meta = {
       description = "Generic Session plugin - ties together server side storage and client side state required to maintain session data";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -975,7 +1056,8 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime DevelStackTrace MROCompat ];
     meta = {
       description = "Display a stack trace on the debug screen";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -989,7 +1071,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime MIMETypes Moose MooseXTypes namespaceautoclean ];
     meta = {
       description = "Make serving static pages painless";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1001,6 +1083,10 @@ let self = _self // overrides; _self = with self; {
     };
     buildInputs = [  TestWWWMechanizeCatalyst Testuseok ];
     propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ];
+    meta = {
+      license = "perl";
+      platforms = stdenv.lib.platforms.linux;
+    };
   };
 
   CatalystViewJSON = buildPerlPackage {
@@ -1013,7 +1099,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime JSONAny MROCompat YAML ];
     meta = {
       description = "JSON view for your data";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -1027,7 +1113,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime ClassAccessor MROCompat PathClass TemplateToolkit TemplateTimer ];
     meta = {
       description = "Template View Class";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -1052,14 +1138,19 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ MooseXRelatedClassRoles CatalystRuntime ];
   };
 
-  CatalystTraitForRequestProxyBase = buildPerlPackage rec {
+  CatalystTraitForRequestProxyBase = buildPerlPackage {
     name = "Catalyst-TraitFor-Request-ProxyBase-0.000005";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "02kir63d5cs2ipj3fn1qlmmx3gqi1xqzrxfr4pv5vjhjgsm0zgx7";
+      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 ];
+    meta = {
+      description = "Replace request base with value passed by HTTP proxy";
+      license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
-    buildInputs = [ CatalystRuntime ];
-    propagatedBuildInputs = [ Moose URI CatalystXRoleApplicator ];
   };
 
   CatalystXScriptServerStarman = buildPerlPackage {
@@ -1072,7 +1163,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime Moose namespaceautoclean Starman ];
     meta = {
       description = "Replace the development server with Starman";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -1100,10 +1191,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CGIFormBuilder = buildPerlPackage rec {
-    name = "CGI-FormBuilder-3.0501";
+    name = "CGI-FormBuilder-3.09";
     src = fetchurl {
       url = "mirror://cpan/authors/id/N/NW/NWIGER/${name}.tgz";
-      sha256 = "031sgxifl2dq8d4s4d9vnixvqdd3p952k0jrkyqp823k74glps25";
+      sha256 = "0qx8kxj0iy55ss9kraqr8q2m4igi2ylajff7d6qvphqpfx90fjb5";
     };
   };
 
@@ -1125,7 +1216,20 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ IOStringy ];
     meta = {
       description = "A Simple totally OO CGI interface that is CGI.pm compliant";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  CGIStruct = buildPerlPackage {
+    name = "CGI-Struct-1.21";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FU/FULLERMD/CGI-Struct-1.21.tar.gz;
+      sha256 = "d13d8da7fdcd6d906054e4760fc28a718aec91bd3cf067a58927fb7cb1c09d6c";
+    };
+    buildInputs = [ TestDeep ];
+    meta = {
+      description = "Build structures from CGI data";
+      license = "bsd";
     };
   };
 
@@ -1136,7 +1240,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd";
     };
     meta = {
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1156,23 +1260,23 @@ let self = _self // overrides; _self = with self; {
       sha256 = "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd";
     };
     meta = {
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
 
   ClassAccessorGrouped = buildPerlPackage {
-    name = "Class-Accessor-Grouped-0.10010";
+    name = "Class-Accessor-Grouped-0.10012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Class-Accessor-Grouped-0.10010.tar.gz;
-      sha256 = "1hlfjfhagsksskv01viq1z14wlr0i4xl3nvznvq1qrnqwqxs4qi1";
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Class-Accessor-Grouped-0.10012.tar.gz;
+      sha256 = "c4613ee3307939f47a9afd40e8b173f3a22f501c3b139799aa030f01b627e7fe";
     };
-    buildInputs = [ TestException ];
-    propagatedBuildInputs = [ ClassXSAccessor ModuleRuntime SubName ];
+    buildInputs = [ ClassXSAccessor DevelHide PackageStash SubName TestException ];
+    propagatedBuildInputs = [ ModuleRuntime ];
     meta = {
       description = "Lets you build groups of accessors";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1201,7 +1305,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AlgorithmC3 ];
     meta = {
       description = "A pragma to use the C3 method resolution order algortihm";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1216,7 +1320,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Class-C3-Adopt-NEXT;
       description = "Make NEXT suck less";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1229,7 +1333,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ ClassC3 ClassInspector MROCompat ];
     meta = {
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1265,7 +1369,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Get information about a class and its structure";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1304,7 +1408,7 @@ let self = _self // overrides; _self = with self; {
     preConfigure = "patchShebangs .";
     meta = {
       description = "A module for creating generic methods";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1318,7 +1422,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/sartak/Class-Method-Modifiers/tree;
       description = "Provides Moose-like method modifiers";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1360,7 +1464,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "A working (require \"Class::Name\") and more";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1375,7 +1479,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "XS implementation of parts of Class::Load";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -1396,7 +1500,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Generate fast XS accessors without runtime compilation";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1408,7 +1512,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Recursively copy Perl datatypes";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1438,7 +1542,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Low-Level Interface to bzip2 compression library";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1458,11 +1562,16 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ IOCompress ];
   };
 
-  ConfigAny = buildPerlPackage rec {
+  ConfigAny = buildPerlPackage {
     name = "Config-Any-0.24";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Config/${name}.tar.gz";
-      sha256 = "06n6jn3q3xhk57icwip0ihzqixxav6sgp6rrb35hahj1z748y3vi";
+      url = mirror://cpan/authors/id/B/BR/BRICAS/Config-Any-0.24.tar.gz;
+      sha256 = "710f8fc8f9414205cb58399bfbb4d9aaf7883f8ce046cee22913f6818795c61a";
+    };
+    propagatedBuildInputs = [ ModulePluggable ];
+    meta = {
+      description = "Load configuration from different file formats, transparently";
+      license = "perl";
     };
   };
 
@@ -1474,8 +1583,8 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ CaptureTiny ];
     meta = {
-      description = "A module to implement some of AutoConf macros in pure perl.";
-      license = "perl5";
+      description = "A module to implement some of AutoConf macros in pure perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1486,6 +1595,20 @@ let self = _self // overrides; _self = with self; {
       sha256 = "07rmabdh21ljyc9yy6gpjg4w1y0lzwz8daljf0jv2g521hpdfdwr";
     };
     meta = {
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  ConfigGitLike = buildPerlPackage {
+    name = "Config-GitLike-1.16";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.16.tar.gz;
+      sha256 = "48c7f7e71405219582a96e5266cbec51c0ff3ec4bf0bb6db1fd12725ee23fe8f";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
+    meta = {
+      description = "Git-compatible config file parsing";
       license = "perl";
     };
   };
@@ -1500,7 +1623,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/Config-INI;
       description = "Simple .ini-file format";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1515,7 +1638,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/config-mvp;
       description = "Multivalue-property package-oriented configuration";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1529,7 +1652,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/Config-MVP-Reader-INI;
       description = "An MVP config reader for .ini files";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1599,11 +1722,11 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CGICookieXS ];
   };
 
-  Coro = buildPerlPackage {
-    name = "Coro-6.37";
+  Coro = buildPerlPackage rec {
+    name = "Coro-6.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.37.tar.gz;
-      sha256 = "08qkwv7rpyb7zcp128crjakflc027sjkx9d2s1gzc21grsq9a456";
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz";
+      sha256 = "1r1gam4yyl6w88ga8rkbvj33v1r5ald3ryqlpg13c7y1i79yizxa";
     };
     propagatedBuildInputs = [ AnyEvent Guard CommonSense ];
     meta = {
@@ -1620,50 +1743,48 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Read and write Changes files";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   CPANMeta = buildPerlPackage {
-    name = "CPAN-Meta-2.120921";
+    name = "CPAN-Meta-2.142690";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-2.120921.tar.gz;
-      sha256 = "12cprk636jaklc97vdh55yjvzcr13h3csdnv3dgna84r2jijka79";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-2.142690.tar.gz;
+      sha256 = "495770e22e91e3d2bd04dc364f05061cabacfdce35baa3868bc0c05733d145db";
     };
-    propagatedBuildInputs = [ ParseCPANMeta CPANMetaYAML CPANMetaRequirements ];
+    propagatedBuildInputs = [ ParseCPANMeta CPANMetaYAML CPANMetaRequirements JSONPP ];
     meta = {
-      homepage = https://github.com/dagolden/cpan-meta;
+      homepage = https://github.com/Perl-Toolchain-Gang/CPAN-Meta;
       description = "The distribution metadata for a CPAN dist";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   CPANMetaCheck = buildPerlPackage {
-    name = "CPAN-Meta-Check-0.004";
+    name = "CPAN-Meta-Check-0.009";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.004.tar.gz;
-      sha256 = "0ccybgfc0p41shmc6nmbg20xljq2ygfjcxmyaf6y07yk6wdcyf7s";
+      url = mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.009.tar.gz;
+      sha256 = "eb2d43afd1da276e4acdebd24937f5171d0aaca8d19a5ef0c3e834b8792b7361";
     };
-    buildInputs = [ TestDifferences ];
+    buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ CPANMeta CPANMetaRequirements ];
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Verify requirements in a CPAN::Meta object";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   CPANMetaRequirements = buildPerlPackage {
-    name = "CPAN-Meta-Requirements-2.125";
+    name = "CPAN-Meta-Requirements-2.128";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.125.tar.gz;
-      sha256 = "1d6sryjkk52n4m8h7l0jc4hr9xrq2d02l8clzm48rq1h6j6q49hq";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.128.tar.gz;
+      sha256 = "ff0ae309ed76d8c7381fdb8436659a594e6884eeac1c9a742ba9aa7ee2a1d52d";
     };
-    buildInputs = [ TestMore ];
     meta = {
-      homepage = https://github.com/dagolden/cpan-meta-requirements;
+      homepage = https://github.com/dagolden/CPAN-Meta-Requirements;
       description = "A set of version requirements for a CPAN dist";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1678,6 +1799,34 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/dagolden/CPAN-Meta-YAML;
       description = "Read and write a subset of YAML for CPAN Meta files";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  CPANPerlReleases = buildPerlPackage {
+    name = "CPAN-Perl-Releases-1.94";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-1.94.tar.gz;
+      sha256 = "ebc70640541f5b6d1191ba7bf958d369d9e21be0908ac812663047290b95fdf2";
+    };
+    meta = {
+      homepage = https://github.com/bingos/cpan-perl-releases;
+      description = "Mapping Perl releases on CPAN to the location of the tarballs";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  CPANPLUS = buildPerlPackage {
+    name = "CPANPLUS-0.9152";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9152.tar.gz;
+      sha256 = "732d9978ca6e8cde9b16431e1d1bafa543a66d8bce3fbfca4e5ac297a348ad17";
+    };
+    propagatedBuildInputs = [ ArchiveExtract LogMessage ModulePluggable ObjectAccessor PackageConstants ];
+    doCheck = false;
+    meta = {
+      homepage = http://github.com/jib/cpanplus-devel;
+      description = "Ameliorated interface to the CPAN";
       license = "perl";
     };
   };
@@ -1692,7 +1841,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/cpan-uploader;
       description = "Upload things to the CPAN";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1769,7 +1918,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Crypt-Random-Source;
       description = "Get weak or strong random data from pluggable sources";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -1784,10 +1933,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptRandPasswd = buildPerlPackage {
-    name = "Crypt-RandPasswd-0.05";
+    name = "Crypt-RandPasswd-0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.05.tar.gz;
-      sha256 = "0djcjzk0wmlf02gx9935m7c1dhpmdwx3hjal8x80aa92baavwf2s";
+      url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.06.tar.gz;
+      sha256 = "0ca8544371wp4vvqsa19lnhl02hczpkbwkgsgm65ziwwim3r1gdi";
     };
   };
 
@@ -1872,7 +2021,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Temporary changing working directory (chdir)";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1885,7 +2034,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestRequires ];
     meta = {
       description = "Polymorphic data cloning";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -1908,7 +2057,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Pretty printing of data structures";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1964,7 +2113,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://github.com/rjbs/data-optlist;
       description = "Parse and validate simple name/value option pairs";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1987,7 +2136,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/data-section;
       description = "Read multiple hunks of data out of your DATA section";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -1999,7 +2148,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Modules that serialize data structures";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2014,7 +2163,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Data-Stream-Bulk;
       description = "N at a time iteration API";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2046,7 +2195,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://metacpan.org/release/Data-UUID-MT;
       description = "Fast random UUID generator using the Mersenne Twister algorithm";
-      license = "apache_2_0";
+      license = stdenv.lib.licenses.asl20;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -2070,6 +2219,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "14yvbgy9n8icwlm5zi86lskvxd6nsl42i1g9f5dwdaw9my463diy";
     };
     propagatedBuildInputs = [CarpClan BitVector];
+    doCheck = false; # some of the checks rely on the year being <2015
     meta = {
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
@@ -2109,7 +2259,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ParamsValidate TryTiny ];
     meta = {
       description = "A date and time object";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -2144,17 +2294,17 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassFactoryUtil DateTime DateTimeFormatStrptime ParamsValidate ];
     meta = {
       description = "Create DateTime parser classes and objects";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
   DateTimeFormatFlexible = buildPerlPackage {
-    name = "DateTime-Format-Flexible-0.25";
+    name = "DateTime-Format-Flexible-0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.25.tar.gz;
-      sha256 = "cd3267e68736ece386d677289b334d4ef1f33ff2524b17b9c9deb53d20420090";
+      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.26.tar.gz;
+      sha256 = "436efbc5e87cc385112e1c44336427fea32df670caf2b7d6dbb7a113ac6e693d";
     };
-    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ListMoreUtils TestMockTime ];
+    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ListMoreUtils ModulePluggable TestMockTime ];
     meta = {
       description = "DateTime::Format::Flexible - Flexibly parse strings and turn them into DateTime objects";
       license = "perl";
@@ -2170,7 +2320,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTime HTTPDate ];
     meta = {
       description = "Date conversion routines";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2183,7 +2333,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTime DateTimeEventICal DateTimeSet DateTimeTimeZone ParamsValidate ];
     meta = {
       description = "Parse and format iCal datetime and duration strings";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2196,7 +2346,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ];
     meta = {
       description = "Parses ISO8601 formats";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -2212,7 +2362,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Clone DateTime DateTimeTimeZone ListMoreUtils ParamsValidate boolean ];
     meta = {
       description = "Create machine readable date/time with natural parsing logic";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2225,7 +2375,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ];
     meta = {
       description = "Parse and format PostgreSQL dates and times";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -2240,7 +2390,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone ParamsValidate ];
     meta = {
       description = "Parse and format strp and strf time patterns";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -2254,7 +2404,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://datetime.perl.org/;
       description = "Localization support for DateTime.pm";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2281,7 +2431,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassLoad ClassSingleton ParamsValidate ];
     meta = {
       description = "Time zone object base class and factory";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2295,7 +2445,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTime DateTimeFormatFlexible DateTimeFormatICal DateTimeFormatNatural TimeDate ];
     meta = {
       description = "Parse a date/time string using the best method available";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2307,8 +2457,8 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ];
     meta = {
-      description = "Debug::ShowStuff - A collection of handy debugging routines for displaying the values of variables with a minimum of coding.";
-      license = "perl";
+      description = "A collection of handy debugging routines for displaying the values of variables with a minimum of coding";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2321,7 +2471,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ PadWalker ];
     meta = {
       description = "Meatier versions of C<caller>";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2334,6 +2484,20 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ IOCaptureOutput ];
   };
 
+  DevelPatchPerl = buildPerlPackage {
+    name = "Devel-PatchPerl-1.28";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.28.tar.gz;
+      sha256 = "03085cd6a8b565a4f789c838e8208a8377e0d1aeb7f5becc3b0d3219409d6b82";
+    };
+    propagatedBuildInputs = [ Filepushd ];
+    meta = {
+      homepage = https://github.com/bingos/devel-patchperl;
+      description = "Patch perl source a la Devel::PPPort's buildperl.pl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   DevelSizeMe = buildPerlPackage {
     name = "Devel-SizeMe-0.19";
     src = fetchurl {
@@ -2344,7 +2508,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/timbunce/devel-sizeme;
       description = "Unknown";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2356,7 +2520,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Print out each line before it is executed (like sh -x)";
-      license = "Public Domain";
+      license = stdenv.lib.licenses.publicDomain;
     };
   };
 
@@ -2389,23 +2553,22 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://dbi.perl.org/;
       description = "Database independent interface for Perl";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   DBIxClass = buildPerlPackage {
-    name = "DBIx-Class-0.08250";
+    name = "DBIx-Class-0.082801";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.08250.tar.gz;
-      sha256 = "0nsqvj34klc9pf4l5kj3nqkq7agbsn11ys4115100awf7gxjbad6";
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082801.tar.gz;
+      sha256 = "889d6f9139d8e73f5524dfa211019126042e84cb7a0ec30cd2ed7d315d73484b";
     };
-    patches = [ ../development/perl-modules/dbix-class-fix-tests.patch ];
-    buildInputs = [ DBDSQLite PackageStash TestException TestWarn TestDeep ];
-    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ClassMethodModifiers ConfigAny ContextPreserve DataCompare DataDumperConcise DataPage DBI DevelGlobalDestruction HashMerge ModuleFind Moo MROCompat namespaceclean PathClass ScopeGuard SQLAbstract strictures SubName TryTiny ];
+    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 ];
     meta = {
       homepage = http://www.dbix-class.org/;
       description = "Extensible and flexible object <-> relational mapper";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2418,7 +2581,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ TestDeep TestFatal DBIxClass LinguaENInflect StringCamelCase ];
     meta = {
       description = "Sugar for your favorite ORM, DBIx::Class";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2432,7 +2595,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CarpClan DBIxClass ];
     meta = {
       description = "Cursor class with built-in caching support";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2453,8 +2616,8 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ DBIxClassCandy TestDeep CarpClan DBDSQLite ];
     meta = {
-      description = "Simplify the common case stuff for DBIx::Class.";
-      license = "perl5";
+      description = "Simplify the common case stuff for DBIx::Class";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2467,7 +2630,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DBIxClass ];
     meta = {
       description = "Introspect many-to-many relationships";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2481,7 +2644,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CarpClan ClassAccessorGrouped ClassC3Componentised ClassInspector ClassUnload DataDump DBIxClass HashMerge LinguaENInflectNumber LinguaENInflectPhrase LinguaENTagger ListMoreUtils MROCompat namespaceclean ScopeGuard StringCamelCase StringToIdentifierEN SubName TaskWeaken TryTiny ];
     meta = {
       description = "Create a DBIx::Class::Schema based on a database";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2496,7 +2659,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/DBIx-Connector/;
       description = "Fast, safe DBI connection and transaction management";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -2539,7 +2702,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ BHooksEndOfScope BHooksOPCheck SubName ];
     meta = {
       description = "Adding keywords to perl, in perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -2555,7 +2718,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ExtUtilsConfig ];
     meta = {
       description = "Find the path to your perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2568,7 +2731,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ SubExporterProgressive ];
     meta = {
       homepage = http://search.cpan.org/dist/Devel-GlobalDestruction;
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2594,15 +2757,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   DevelStackTrace = buildPerlPackage {
-    name = "Devel-StackTrace-1.31";
+    name = "Devel-StackTrace-1.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.31.tar.gz;
-      sha256 = "0djvqfbq9ag1bpw0bcksidfy13n91xbl53py3d7w0y2323hjc957";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.34.tar.gz;
+      sha256 = "e882ccd7f4cbab0d0cdad53897f3f3bf29bdcf47d2bdfde1ac07f1bc7d7ebd16";
     };
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      homepage = http://metacpan.org/release/Devel-StackTrace;
       description = "An object representing a stack trace";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -2615,7 +2778,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DevelStackTrace ];
     meta = {
       description = "Displays stack trace in HTML";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2646,7 +2809,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Keyed-Hashing for Message Authentication";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2658,7 +2821,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Keyed-Hashing for Message Authentication";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -2680,7 +2843,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ LWP ];
     meta = {
-      description = "Perl extension for getting MD5 sums for files and urls.";
+      description = "Perl extension for getting MD5 sums for files and urls";
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -2696,7 +2859,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Perl interface to the SHA-1 algorithm";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2711,7 +2874,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Declare version conflicts for your dist";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2726,7 +2889,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://dzil.org/;
       description = "Distribution builder; installer not included!";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
     doCheck = false;
   };
@@ -2742,7 +2905,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania/;
       description = "Test your dist with every testing plugin conceivable";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2755,7 +2918,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DistZilla ];
     meta = {
       description = "Dist::Zilla with Changes check";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2769,7 +2932,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests;
       description = "Release tests for source encoding";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2783,7 +2946,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-NoTabsTests;
       description = "Release tests making sure hard tabs aren't used";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2798,7 +2961,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver;
       description = "Weave your Pod together from configuration and Dist::Zilla";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2813,7 +2976,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod;
       description = "Automatically convert POD to a README in any format for Dist::Zilla";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2828,7 +2991,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod;
       description = "Automatically convert POD to a README.mkdn for Dist::Zilla";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2843,7 +3006,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes/;
       description = "Release tests for your changelog";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2858,7 +3021,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON;
       description = "Release tests for your META.json";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2873,7 +3036,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Compile/;
       description = "Common tests to check syntax of your modules";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2888,7 +3051,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-DistManifest/;
       description = "Release tests for the manifest";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2903,7 +3066,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-EOL/;
       description = "Author tests making sure correct line endings are used";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -2918,7 +3081,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-Kwalitee;
       description = "Release tests for kwalitee";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2933,7 +3096,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-MinimumVersion/;
       description = "Release tests for minimum required versions";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2948,7 +3111,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Perl-Critic/;
       description = "Tests to check your code against best practices";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2962,7 +3125,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck;
       description = "Add release tests for POD links";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2977,7 +3140,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-Portability/;
       description = "Release tests for portability";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2992,7 +3155,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-Synopsis/;
       description = "Release tests for synopses";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3007,7 +3170,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars/;
       description = "Release tests for unused variables";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3022,7 +3185,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Version/;
       description = "Release Test::Version tests";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -3030,10 +3193,12 @@ let self = _self // overrides; _self = with self; {
     name = "Email-Abstract-3.007";
     src = fetchurl {
       url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.007.tar.gz;
-      sha256 = "1a7aynf5jd5lr77x4k51hphnbmxf6p0s2gm1a6fbmxjqlnimm48h";
+      sha256 = "10915aa3a558f6ba9c51a13ea1c135aed765e185a14cd2cfc9b434599cf5eaa8";
     };
-    propagatedBuildInputs = [ EmailSimple MROCompat ];
+    propagatedBuildInputs = [ EmailSimple MROCompat ModulePluggable ];
     meta = {
+      homepage = https://github.com/rjbs/Email-Abstract;
+      description = "Unified interface to mail representations";
       license = "perl";
     };
   };
@@ -3047,7 +3212,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "RFC 2822 Address Parsing";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3059,7 +3224,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Produce RFC 8822 date strings";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3072,7 +3237,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ EmailAddress ];
     meta = {
       description = "Generate world unique message-ids";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3086,7 +3251,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ EmailMessageID EmailMIMEContentType EmailMIMEEncodings EmailSimple MIMETypes ];
     meta = {
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3100,7 +3265,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Parse a MIME Content-Type Header";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3113,7 +3278,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0fac34g44sn0l59wim68zrhih1mvlh1rxvyn3gc5pviaiz028lyy";
     };
     meta = {
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3132,16 +3297,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   EmailSender = buildPerlPackage {
-    name = "Email-Sender-0.120002";
+    name = "Email-Sender-1.300016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-0.120002.tar.gz;
-      sha256 = "1cp735ndmh76xzijsm1hd0yh0m9yj34jc8akjhidkn677h2021dc";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-1.300016.tar.gz;
+      sha256 = "00042de1b78fb26b2ff37bd92c0d61631810725a5235f4841e38a501a533a2a3";
     };
-    propagatedBuildInputs = [ CaptureTiny EmailAbstract EmailAddress EmailSimple ListMoreUtils Moose Throwable TryTiny ];
+    buildInputs = [ CaptureTiny ];
+    propagatedBuildInputs = [ EmailAbstract EmailAddress EmailSimple ListMoreUtils ModuleRuntime Moo MooXTypesMooseLike SubExporter Throwable TryTiny ];
     meta = {
-      homepage = https://github.com/rjbs/email-sender;
+      homepage = https://github.com/rjbs/Email-Sender;
       description = "A library for sending email";
-      license = "perl5";
+      license = "perl";
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -3154,7 +3321,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3169,10 +3336,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Encode = buildPerlPackage {
-    name = "Encode-2.55";
+    name = "Encode-2.63";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-2.55.tar.gz;
-      sha256 = "0bpnfan0034k644gz6yg9xfddmsqxr2p7vbavijwbxc5k2c2sarz";
+      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-2.63.tar.gz;
+      sha256 = "1wrqm6c194l5yjaifc6nxx2b768sph2pv4n86fgh4blls0pvs6z4";
     };
   };
 
@@ -3184,7 +3351,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "EucJP-ascii - An eucJP-open mapping";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3196,7 +3363,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Extra sets of Chinese encodings";
-      license = "mit";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
@@ -3249,15 +3416,15 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Safely and cleanly create closures via string eval";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   ExceptionBase = buildPerlPackage {
-    name = "Exception-Base-0.2401";
+    name = "Exception-Base-0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2401.tar.gz;
-      sha256 = "0z4pckv3iwzz5s4xrv96kg9620s96kim57nfrxbqhh6pyd5jfazv";
+      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz;
+      sha256 = "1s2is862xba2yy633wn2nklrya36yrlwxlbpqjrv8m31xj2c8khw";
     };
     buildInputs = [ TestUnitLite ];
     meta = {
@@ -3314,7 +3481,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://open-exodus.net/projects/Exporter-Declare;
       description = "Exporting done right";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3327,6 +3494,19 @@ let self = _self // overrides; _self = with self; {
       sha256 = "01g6a2ixgdi825v0l4ny3vx4chzsfxirka741x0i057cf6y5ciir";
     };
     meta = {
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  ExporterTiny = buildPerlPackage {
+    name = "Exporter-Tiny-0.042";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-0.042.tar.gz;
+      sha256 = "8f1622c5ebbfbcd519ead81df7917e48cb16cc527b1c46737b0459c3908a023f";
+    };
+    meta = {
+      homepage = https://metacpan.org/release/Exporter-Tiny;
+      description = "An exporter with the features of Sub::Exporter but only core dependencies";
       license = "perl";
     };
   };
@@ -3348,7 +3528,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "A wrapper for perl's configuration";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3368,7 +3548,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0s935hmxjl6md47i80abcfaghqwhnv0ikzzqln80w4ydhg5qn9a5";
     };
     meta = {
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3382,7 +3562,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Various portability utilities for module builders";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3395,7 +3575,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ExtUtilsConfig ];
     meta = {
       description = "Build.PL install path logic made easy";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3406,8 +3586,8 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0j4rhx3w6nbvmxqjg6q09gm10nnpkcmqmh29cgxsfc9k14d8bb6w";
     };
     meta = {
-      description = "A tool to build C libraries.";
-      license = "perl";
+      description = "A tool to build C libraries";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3422,7 +3602,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://metacpan.org/release/ExtUtils-MakeMaker;
       description = "Create a module Makefile";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3525,23 +3705,26 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://open-exodus.net/projects/Fennec-Lite;
       description = "Minimalist Fennec, the commonly used bits";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
 
-  FileChangeNotify = buildPerlModule rec {
+  FileChangeNotify = buildPerlModule {
     name = "File-ChangeNotify-0.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "090i265f73jlcl5rv250791vw32j9vvl4nd5abc7myg0klb8109w";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.24.tar.gz;
+      sha256 = "3c8180169de0f97ad852a55942f74e520cbe433aa0889d0b65548ee38a111124";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs =
-      [ ClassMOP Moose MooseXParamsValidate MooseXSemiAffordanceAccessor
-        namespaceautoclean
-      ] ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2;
+      [ ClassLoad ListMoreUtils ModulePluggable Moose MooseXParamsValidate MooseXSemiAffordanceAccessor namespaceautoclean ]
+      ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2;
+    meta = {
+      description = "Watch for changes to files, cross-platform style";
+      license = "artistic_2";
+    };
   };
 
   Filechdir = buildPerlPackage rec {
@@ -3616,7 +3799,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ FileFindRule ParamsUtil ];
     meta = {
       description = "Common rules for searching for Perl things";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3629,9 +3812,19 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ FileWhich ];
     meta = {
       description = "Find your home and other directories on any platform";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
     preCheck = "export HOME=$TMPDIR";
+    doCheck = !stdenv.isDarwin;
+  };
+
+  FileKeePass = buildPerlPackage rec {
+    name = "File-KeePass-2.03";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RH/RHANDOM/${name}.tar.gz";
+      sha256 = "c30c688027a52ff4f58cd69d6d8ef35472a7cf106d4ce94eb73a796ba7c7ffa7";
+    };
+    propagatedBuildInputs = [ CryptRijndael ];
   };
 
   FileListing = buildPerlPackage rec {
@@ -3690,7 +3883,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://metacpan.org/release/File-pushd;
       description = "Change directory temporarily for a limited scope";
-      license = "apache";
+      license = stdenv.lib.licenses.asl20;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3714,7 +3907,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://github.com/ingydotnet/file-share-pm/tree;
       description = "Extend File::ShareDir to Local Libraries";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3729,7 +3922,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassInspector ];
     meta = {
       description = "Locate per-dist and per-module shared files";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3741,7 +3934,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Install shared files";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -3755,7 +3948,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Simple and dumb file system watcher";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3769,7 +3962,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Simple and Efficient Reading/Writing/Modifying of Complete Files";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -3784,10 +3977,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FinanceQuote = buildPerlPackage rec {
-    name = "Finance-Quote-1.29";
+    name = "Finance-Quote-1.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz";
-      sha256 = "0rx8whixbhwq2imd3ffx3vcqdgfbjj6y1s01m38b52x3bjn9hw0f";
+      sha256 = "0mxfhi1ndckj4w7fw20rwy6ymalg2yncnp9xn0v2bnk5ibqj439w";
     };
     propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc JSON ];
     meta = {
@@ -3822,7 +4015,7 @@ let self = _self // overrides; _self = with self; {
     doCheck = false;
     meta = {
       description = "Extensions and convenience methods to manage background processes";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3850,12 +4043,8 @@ let self = _self // overrides; _self = with self; {
     # Patch has been sent upstream.
     patches = [ ../development/perl-modules/gd-options-passthrough-and-fontconfig.patch ];
 
-    # Remove a failing test.  The test does a binary comparison of a generated
-    # file with a file packaged with the source, and these are different
-    # ( although the images look the same to my eye ); this is
-    # possibly because the source packaged image was generated with a
-    # different version of some library ( libpng maybe? ).
-    postPatch = "sed -ie 's/if (GD::Image->can(.newFromJpeg.)) {/if ( 0 ) {/' t/GD.t";
+    # tests fail
+    doCheck = false;
 
     makeMakerFlags = "--lib_png_path=${pkgs.libpng} --lib_jpeg_path=${pkgs.libjpeg} --lib_zlib_path=${pkgs.zlib} --lib_ft_path=${pkgs.freetype} --lib_fontconfig_path=${pkgs.fontconfig} --lib_xpm_path=${pkgs.xlibs.libXpm}";
   };
@@ -3869,7 +4058,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ GD ];
     meta = {
       description = "Security image (captcha) generator";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3901,7 +4090,22 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/Getopt-Long-Descriptive;
       description = "Getopt::Long, but simpler and more powerful";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  Glib = buildPerlPackage rec {
+    name = "Glib-1.310";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
+      sha256 = "1iv8q7d0817m3byh2yn7bxxk5qp8bgapaflbglhkw467i31slign";
+    };
+    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.glib ];
+    meta = {
+      homepage = http://gtk2-perl.sourceforge.net/;
+      description = "Perl wrappers for the GLib utility and Object libraries";
+      maintainers = with maintainers; [ nckx ];
+      license = with stdenv.lib.licenses; [ lgpl3Plus ];
     };
   };
 
@@ -3929,7 +4133,7 @@ let self = _self // overrides; _self = with self; {
       [ ../development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch ];
     meta = {
       description = "Simple interface to Google Protocol Buffers";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -3970,6 +4174,21 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ DataUUID CryptCBC ];
   };
 
+  Gtk2 = buildPerlPackage rec {
+    name = "Gtk2-1.2495";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
+      sha256 = "1mpxkcy8j7r95z4g4xx6ggbgzaxj4zl0szz54y1k120z95rcgg3a";
+    };
+    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Pango pkgs.gtk2 ];
+    meta = {
+      homepage = http://gtk2-perl.sourceforge.net/;
+      description = "Perl interface to the 2.x series of the Gimp Toolkit library";
+      maintainers = with maintainers; [ nckx ];
+      license = with stdenv.lib.licenses; [ lgpl21Plus ];
+    };
+  };
+
   Guard = buildPerlPackage {
     name = "Guard-1.022";
     src = fetchurl {
@@ -4013,7 +4232,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Clone ];
     meta = {
       description = "Recursively merge two or more hashes, simply";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4025,7 +4244,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Store multiple values per key";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4092,7 +4311,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTMLParser HTTPMessage URI ];
     meta = {
       description = "Class that represents an HTML form element";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4117,18 +4336,20 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTMLFormHandler = buildPerlPackage {
-    name = "HTML-FormHandler-0.40056";
+    name = "HTML-FormHandler-0.40057";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40056.tar.gz;
-      sha256 = "012wijl69qjazghq2ywikk0jdxjbd9rfsxmwwq7lbpfjy2fiymqx";
+      url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40057.tar.gz;
+      sha256 = "1hn9shhbsi4pdp396ia2hky3i0imnxgwvhy57gp0jjhy5qyvafvm";
     };
+    # 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 ];
     meta = {
       description = "HTML forms using Moose";
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4141,7 +4362,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTMLTagset ];
     meta = {
       description = "HTML parser class";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4221,7 +4442,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Work with HTML in a DOM-like tree structure";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4234,7 +4455,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTMLTree XMLXPathEngine ];
     meta = {
       description = "Add XPath support to HTML::TreeBuilder";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -4264,7 +4485,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTTPMessage ];
     meta = {
       description = "HTTP Body Parser";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4277,7 +4498,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTTPDate HTTPMessage ];
     meta = {
       description = "HTTP cookie jars";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4290,7 +4511,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTTPDate HTTPMessage LWPMediaTypes ];
     meta = {
       description = "A simple http server class";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4302,7 +4523,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Date conversion routines";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4331,7 +4552,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
     meta = {
       description = "HTTP style messages";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4344,7 +4565,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTTPMessage ];
     meta = {
       description = "Choose a variant to serve";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4386,7 +4607,7 @@ let self = _self // overrides; _self = with self; {
     };
     doCheck = false;
     meta = {
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4398,13 +4619,25 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "if" = buildPerlPackage {
-    name = "if-0.01000001";
+  if_ = buildPerlPackage {
+    name = "if-0.0601";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.0601.tar.gz;
+      sha256 = "fb2b7329aa111a673cd22dc2889167e52058aead0de2fe0855b32dd658d5c1b7";
+    };
+  };
+
+  ImageSize = buildPerlPackage rec {
+    name = "Image-Size-3.232";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.01000001.tar.gz;
-      sha256 = "0vb40cb20b22layp5v9xa30hmcnhxidwjkfwcrxwhrvwypy2cmgw";
+      url = "mirror://cpan/authors/id/R/RJ/RJRAY/${name}.tar.gz";
+      sha256 = "1mx065134gy75pgdldh65118bpcs6yfbqmr7bf9clwq44zslxhxc";
     };
+    buildInputs = [ TestMore ];
+    propagatedBuildInputs = [ ModuleRuntime ];
     meta = {
+      description = "Read the dimensions of an image in several popular formats";
+      license = with stdenv.lib.licenses; [ artistic1 lgpl21Plus ];
     };
   };
 
@@ -4417,7 +4650,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ModuleRuntime ];
     meta = {
       description = "Import packages into other packages";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4431,7 +4664,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/ingydotnet/io-all-pm/tree;
       description = "IO::All of it to Graham and Damian!";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -4455,7 +4688,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "IO Interface to compressed data files/buffers";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
     doCheck = !stdenv.isDarwin;
@@ -4479,7 +4712,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Open an HTML file with automatic charset detection";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4491,7 +4724,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Utilities for interactive I/O";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4531,7 +4764,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/noxxi/p5-io-socket-ssl;
       description = "Nearly transparent SSL encapsulation for IO::Socket::INET";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
     doCheck = false; # tries to connect to facebook.com etc.
   };
@@ -4563,7 +4796,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/io-tiecombine;
       description = "Produce tied (and other) separate but combined variables";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -4587,8 +4820,8 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "System() and background procs w/ piping, redirs, ptys (Unix, Win32)";
-      license = "perl5";
-      platforms = stdenv.lib.platforms.linux;
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
@@ -4608,6 +4841,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  IPCSystemSimple = buildPerlPackage {
+    name = "IPC-System-Simple-1.25";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PJ/PJF/IPC-System-Simple-1.25.tar.gz;
+      sha256 = "f1b6aa1dfab886e8e4ea825f46a1cbb26038ef3e727fef5d84444aa8035a4d3b";
+    };
+    meta = {
+      description = "Run commands simply, with detailed diagnostics";
+      license = "perl";
+    };
+  };
+
   ImageExifTool = buildPerlPackage rec {
     name = "Image-ExifTool-9.27";
 
@@ -4660,7 +4905,7 @@ let self = _self // overrides; _self = with self; {
         for immediate access from Perl.
       '';
 
-      license = "Artistic";
+      license = stdenv.lib.licenses.artistic2;
 
       maintainers = [ ];
     };
@@ -4684,7 +4929,7 @@ let self = _self // overrides; _self = with self; {
 
     meta = {
       description = "Write Perl Subroutines in C";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4714,7 +4959,7 @@ let self = _self // overrides; _self = with self; {
         available to the Perl program as if they had been written in Perl.
       '';
 
-      license = "Artistic";
+      license = stdenv.lib.licenses.artistic2;
 
       maintainers = [ ];
     };
@@ -4737,7 +4982,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestPod ];
     meta = {
       description = "JSON (JavaScript Object Notation) encoder/decoder";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4750,7 +4995,21 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ JSON ];
     meta = {
       description = "Wrapper Class for the various JSON classes";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  JSONMaybeXS = buildPerlPackage {
+    name = "JSON-MaybeXS-1.002005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/JSON-MaybeXS-1.002005.tar.gz;
+      sha256 = "f576caf2b10bf3a8eedaf05c0d65e7d3deb52f9c5e1894579ff9ffe71207157f";
+    };
+    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 ];
     };
   };
 
@@ -4762,7 +5021,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "JSON::XS compatible pure-Perl module";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4774,7 +5033,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Helper module in using JSON::PP in Perl 5.6";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4787,7 +5046,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CommonSense ];
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
-      platforms = stdenv.lib.platforms.linux;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
@@ -4854,7 +5113,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTMLParser HTMLTagset LinguaStem /* MemoizeExpireLRU */ ];
     meta = {
       description = "Part-of-speech tagger for English natural language processing";
-      license = "gpl_3";
+      license = stdenv.lib.licenses.gpl3;
     };
   };
 
@@ -4885,12 +5144,12 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ListMoreUtils ];
     meta = {
       description = "Combines List::Util and List::MoreUtils in one bite-sized package";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
-  
+
   ListBinarySearch = pkgs.buildPerlPackage {
     name = "List-BinarySearch-0.20";
     src = pkgs.fetchurl {
@@ -4907,7 +5166,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Provide the stuff missing in List::Util";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -4925,6 +5184,8 @@ let self = _self // overrides; _self = with self; {
 
   LocaleGettext = buildPerlPackage {
     name = "LocaleGettext-1.05";
+    buildInputs = stdenv.lib.optional stdenv.isDarwin pkgs.gettext;
+    NIX_CFLAGS_LINK = if stdenv.isDarwin then "-lintl" else null;
     src = fetchurl {
       url = mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.05.tar.gz;
       sha256 = "15262a00vx714szpx8p2z52wxkz46xp7acl72znwjydyq4ypydi7";
@@ -4972,6 +5233,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  locallib = buildPerlPackage {
+    name = "local-lib-2.000014";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/H/HA/HAARG/local-lib-2.000014.tar.gz;
+      sha256 = "ae63356ab780c5a3aa46287b48daea748a3dd021d9b52dff8bf480b43787fa2b";
+    };
+    meta = {
+      description = "Create and use a local lib/ for perl modules with PERL5LIB";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   LockFileSimple = buildPerlPackage rec {
     name = "LockFile-Simple-0.208";
     src = fetchurl {
@@ -4990,7 +5263,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
     meta = {
       description = "Simple logging interface with a contextual log";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5005,12 +5278,25 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassLoad ParamsValidate ];
     meta = {
       description = "Dispatches messages to one or more outputs";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
 
+  LogMessage = buildPerlPackage {
+    name = "Log-Message-0.08";
+    src = fetchurl {
+      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 = "perl";
+    };
+  };
+
   LogTrace = buildPerlPackage rec {
     name = "Log-Trace-1.070";
     src = fetchurl {
@@ -5038,7 +5324,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/log-dispatch-array;
       description = "Log events to an array (reference)";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5053,7 +5339,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/log-dispatchouli;
       description = "A simple wrapper around Log::Dispatch";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5067,7 +5353,7 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # tries to start a daemon
     meta = {
       description = "The World-Wide Web library for Perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
@@ -5080,7 +5366,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Guess media type for a file or a URL";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5097,7 +5383,7 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # tries to connect to https://www.apache.org/.
     meta = {
       description = "Provide https support for LWP::UserAgent";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
     };
   };
@@ -5111,7 +5397,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ];
     meta = {
       description = "The World-Wide Web library for Perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5217,10 +5503,10 @@ let self = _self // overrides; _self = with self; {
 
 
   MathClipper = buildPerlModule rec {
-    name = "Math-Clipper-1.22";
+    name = "Math-Clipper-1.23";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
-      sha256 = "0p5iblg979v3pb6a8kyhjdv33yadr5997nhz9asjksgvww328nfa";
+      sha256 = "0i9wzvig7ayijc9nvh5x5rryk1jrcj1hcvfmlcj449rnnxx24dav";
     };
     propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsXSpp ExtUtilsTypemapsDefault TestDeep ];
   };
@@ -5292,7 +5578,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AnyMoose CryptRandomSource MathRandomISAAC ];
     meta = {
       description = "Cryptographically-secure, cross-platform replacement for rand()";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5315,7 +5601,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ FennecLite TestException ];
     meta = {
       description = "Tools for creating Meta objects to track custom metrics";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5330,7 +5616,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DevelDeclare ];
     meta = {
       description = "Basic method declarations with signatures, without source filters";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5369,7 +5655,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Charset Information for MIME";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5390,7 +5676,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Definition of MIME types";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5404,7 +5690,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/mixin-linewise;
       description = "Write your linewise code for handles; this does the rest";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5418,7 +5704,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/chromatic/Modern-Perl;
       description = "Enable all of the features of Modern Perl with one import";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5431,21 +5717,21 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ CPANMeta ExtUtilsCBuilder ];
     meta = {
       description = "Build and install Perl modules";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   ModuleBuildTiny = buildPerlModule {
-    name = "Module-Build-Tiny-0.026";
+    name = "Module-Build-Tiny-0.039";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.026.tar.gz;
-      sha256 = "9a1860325404c4ea20e2a79e7236c5ad9203ab71bacab9667044e3fad1eb31ad";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz;
+      sha256 = "7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c";
     };
-    buildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP perl ];
-    propagatedBuildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP ];
+    buildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP TestHarness perl ];
+    propagatedBuildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP TestHarness ];
     meta = {
       description = "A tiny replacement for Module::Build";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5467,7 +5753,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ FileCopyRecursive CwdGuard CaptureTiny ];
     meta = {
       description = "A Module::Build class for building XS modules";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5480,7 +5766,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://dev.perl.org/;
       description = "What modules shipped with versions of perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5492,7 +5778,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Find and use installed modules in a (sub)category";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5507,7 +5793,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Loads one of several alternate underlying implementations for a module";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -5520,18 +5806,18 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestPod TestPodCoverage ];
     meta = {
       description = "Information about Perl modules";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   ModuleInstall = buildPerlPackage {
-    name = "Module-Install-1.06";
+    name = "Module-Install-1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Module-Install-1.06.tar.gz;
-      sha256 = "06a5375q1cr21rzcr07z3n8w6hv611a9p199jrnpsj9vbcwwi7ny";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-1.14.tar.gz;
+      sha256 = "3f02f0a33603aff2f5cf06d15f74d1a9be65e844ada99e1a9c2102330ffa0d49";
     };
     buildInputs = [ YAMLTiny ];
-    propagatedBuildInputs = [ FileRemove LWPUserAgent ModuleScanDeps PARDist YAMLTiny ];
+    propagatedBuildInputs = [ FileRemove ModuleScanDeps YAMLTiny ];
     meta = {
       description = "Standalone, extensible Perl module installer";
       license = "perl";
@@ -5547,7 +5833,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ModuleInstall ];
     meta = {
       description = "Declare author-only dependencies";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5562,7 +5848,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ModuleInstall ];
     meta = {
       description = "Designate tests only run by module authors";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5578,7 +5864,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ParamsUtil ];
     meta = {
       description = "Parse and examine a Perl distribution MANIFEST file";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5600,7 +5886,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ DevelFindPerl ];
     meta = {
       description = "Get the full path to a locally installed module";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5616,7 +5902,7 @@ let self = _self // overrides; _self = with self; {
     ];
     meta = {
       description = "Automatically give your module the ability to have plugins";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5638,16 +5924,32 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Runtime module handling";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  ModuleRuntimeConflicts = buildPerlPackage {
+    name = "Module-Runtime-Conflicts-0.001";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.001.tar.gz;
+      sha256 = "0f73d03846575dd1492d3760deeb9627afaa1f8b04d4d526b1775174201be25f";
+    };
+    buildInputs = [ ModuleBuildTiny ];
+    propagatedBuildInputs = [ DistCheckConflicts ModuleRuntime ];
+    meta = {
+      homepage = https://github.com/karenetheridge/Module-Runtime-Conflicts;
+      description = "Provide information on conflicts for Module::Runtime";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   ModuleScanDeps = buildPerlPackage {
-    name = "Module-ScanDeps-1.10";
+    name = "Module-ScanDeps-1.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.10.tar.gz;
-      sha256 = "0z85zqvqpj2ck80sw91hmzn94q8m3s40anybw324xh3pcrm9cg5s";
+      url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.17.tar.gz;
+      sha256 = "1b2999344919826476c59e08e65e4877121b4da1e847c9f354841df688927dd2";
     };
+    buildInputs = [ TestRequires ];
     meta = {
       description = "Recursively scan Perl code for dependencies";
       license = "perl";
@@ -5663,7 +5965,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ ModuleBuild ];
     meta = {
       description = "Module name tools and transformations";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5689,7 +5991,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://mojolicio.us;
       description = "Real-time web framework";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -5702,26 +6004,37 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ImportInto ModuleRuntime RoleTiny strictures ];
     meta = {
-      description = "Minimalist Object Orientation (with Moose compatiblity)";
-      license = "perl5";
+      description = "Minimalist Object Orientation (with Moose compatibility)";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   Moose = buildPerlPackage {
-    name = "Moose-2.0604";
+    name = "Moose-2.1213";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Moose-2.0604.tar.gz;
-      sha256 = "0nwvklb8dwf8lskwxik3gi9gsqzrix2jhc56zvfzlf1q5q1s07qj";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Moose-2.1213.tar.gz;
+      sha256 = "0f3b196ae67dc1daaa43c44ae7703f27c4f92c391ad3e252a90e90c50c851e03";
     };
-    buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
-    propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure ListMoreUtils MROCompat PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ];
+    buildInputs = [ CPANMetaCheck CPANMetaRequirements DistCheckConflicts TestCleanNamespaces TestFatal TestRequires ];
+    propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DevelStackTrace DistCheckConflicts EvalClosure ListMoreUtils MROCompat ModuleRuntime ModuleRuntimeConflicts PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ];
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      homepage = http://moose.perl.org/;
       description = "A postmodern object system for Perl 5";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.eelco ];
+      platforms   = stdenv.lib.platforms.linux;
     };
   };
 
+  MooXTypesMooseLike = buildPerlPackage rec {
+    name = "MooX-Types-MooseLike-0.27";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MA/MATEU/${name}.tar.gz";
+      sha256 = "1489almsam2zcrs5039sh0y88gjicwna8kws8j2jgfs8bpcf4dgf";
+    };
+    propagatedBuildInputs = [ Moo TestFatal ];
+  };
+
   MooseAutobox = buildPerlPackage {
     name = "Moose-Autobox-0.15";
     src = fetchurl {
@@ -5732,7 +6045,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose SyntaxKeywordJunction autobox ];
     meta = {
       description = "Autoboxed wrappers for Native Perl datatypes";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5747,7 +6060,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/MooseX-ABC;
       description = "Abstract base classes for Moose";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5764,22 +6077,107 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXAppCmd = buildPerlPackage {
-    name = "MooseX-App-Cmd-0.10";
+    name = "MooseX-App-Cmd-0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MJ/MJGARDNER/MooseX-App-Cmd-0.10.tar.gz;
-      sha256 = "6d2d8fdc4f3f7fa76dc82c10d71b099f1572c054a72f373e5a9fa6237e48634a";
+      url = mirror://cpan/authors/id/M/MJ/MJGARDNER/MooseX-App-Cmd-0.27.tar.gz;
+      sha256 = "18wf8xmp0b8g76rlkmzw9m026w0l5k972w3z9xcskwqmg9p0wg3k";
     };
-    buildInputs = [ MooseXConfigFromFile TestOutput YAML ];
-    propagatedBuildInputs = [ AppCmd GetoptLongDescriptive Moose MooseXConfigFromFile MooseXGetopt MooseXHasOptions MooseXMarkAsMethods Testuseok ];
+    buildInputs = [ MooseXConfigFromFile TestOutput YAML MouseXGetOpt ];
+    propagatedBuildInputs = [ AppCmd GetoptLongDescriptive Moose AnyMoose MooseXConfigFromFile MooseXGetopt MooseXHasOptions MooseXMarkAsMethods Testuseok ];
     meta = {
       homepage = http://metacpan.org/release/MooseX-App-Cmd;
       description = "Mashes up MooseX::Getopt and App::Cmd";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
 
+  MouseXSimpleConfig = buildPerlPackage {
+    name = "MouseX-SimpleConfig-0.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MJ/MJGARDNER/MouseX-SimpleConfig-0.11.tar.gz;
+      sha256 = "257f384091d33d340373a6153947039c698dc449d1ef989335644fc3d2da0069";
+    };
+    buildInputs = [ Mouse PathClass ];
+    propagatedBuildInputs = [ ConfigAny Mouse MouseXConfigFromFile ];
+    meta = {
+      description = "A Mouse role for setting attributes from a simple configfile";
+      license = "perl";
+    };
+  };
+  
+    
+  TestUseAllModules = buildPerlPackage {
+    name = "Test-UseAllModules-0.17";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Test-UseAllModules-0.17.tar.gz;
+      sha256 = "a71f2fe8b96ab8bfc2760aa1d3135ea049a5b20dcb105457b769a1195c7a2509";
+    };
+    meta = {
+      description = "Do use_ok() for all the MANIFESTed modules";
+      license = "perl";
+    };
+  };
+  
+  MouseXTypesPathClass = buildPerlPackage {
+    name = "MouseX-Types-Path-Class-0.07";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/MouseX-Types-Path-Class-0.07.tar.gz;
+      sha256 = "228d4b4f3f0ed9547278691d0b7c5fe53d90874a69df709a49703c6af87c09de";
+    };
+    buildInputs = [ TestUseAllModules ];
+    propagatedBuildInputs = [ Mouse MouseXTypes PathClass ];
+    meta = {
+      description = "A Path::Class type library for Mouse";
+      license = "perl";
+    };
+  };
+
+  MouseXTypes = buildPerlPackage {
+    name = "MouseX-Types-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Types-0.06.tar.gz;
+      sha256 = "77288441fdadd15beeec9a0813ece8aec1542f1d8ceaaec14755b3f316fbcf8b";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ AnyMoose Mouse ];
+    meta = {
+      description = "Organize your Mouse types in libraries";
+      license = "perl";
+    };
+  };
+
+  MouseXConfigFromFile = buildPerlPackage {
+    name = "MouseX-ConfigFromFile-0.05";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/MouseX-ConfigFromFile-0.05.tar.gz;
+      sha256 = "921b31cb13fc1f982a602f8e23815b7add23a224257e43790e287504ce879534";
+    };
+    buildInputs = [ TestUseAllModules ];
+    propagatedBuildInputs = [ Mouse MouseXTypesPathClass ];
+    meta = {
+      description = "An abstract Mouse role for setting attributes from a configfile";
+      license = "perl";
+    };
+  };
+  
+  MouseXGetOpt = buildPerlModule {
+    name = "mousex-getopt-0.35";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/mousex-getopt-0.35.tar.gz;
+      sha256 = "5abe243a1ab05d64562358604de1d31d36994414c5c5eaeac688897129d2f9ae";
+    };
+    buildInputs = [ Mouse MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
+    propagatedBuildInputs = [ GetoptLongDescriptive Mouse ];
+    meta = {
+      homepage = https://github.com/gfx/mousex-getopt;
+      description = "A Mouse role for processing command line options";
+      license = "perl";
+    };
+  };
+
+
   MooseXAttributeChained = buildPerlModule rec {
     name = "MooseX-Attribute-Chained-1.0.1";
     src = fetchurl {
@@ -5795,11 +6193,12 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-AttributeHelpers-0.23.tar.gz;
       sha256 = "3f63f60d94d840a309d9137f78605e15f07c977fd15a4f4b55bd47b65ed52be1";
     };
+    patches = [ ../development/perl-modules/MooseXAttributeHelpers-perl-5.20.patch ];
     buildInputs = [ Moose TestException ];
     propagatedBuildInputs = [ Moose ];
     meta = {
       description = "Extend your attribute interfaces (deprecated)";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5828,7 +6227,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathTiny TryTiny namespaceautoclean ];
     meta = {
       description = "An abstract Moose role for setting attributes from a configfile";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5844,7 +6243,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose MooseXGetopt MooseXTypesPathClass ];
     meta = {
       description = "Role for daemonizing your Moose based application";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5858,22 +6257,22 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose namespaceclean ];
     meta = {
       description = "Emulate Class::Accessor::Fast behavior using Moose attributes";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   MooseXGetopt = buildPerlPackage {
-    name = "MooseX-Getopt-0.50";
+    name = "MooseX-Getopt-0.65";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.50.tar.gz;
-      sha256 = "0fwm5vb8z8q4b6fmf7gz4xzw5z713mmfnxzjph6vfyyymlr5bll9";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.65.tar.gz;
+      sha256 = "c07c2b7312c471bf2d331025c0ad6cc02068633eda1e208cbdb5511ef5da7fda";
     };
-    buildInputs = [ PathClass TestCheckDeps TestFatal TestMoose TestNoWarnings TestRequires TestTrap TestWarn ];
-    propagatedBuildInputs = [ GetoptLongDescriptive Moose MooseXRoleParameterized ];
+    buildInputs = [ CPANMeta ModuleBuildTiny ModuleRuntime Moose PathTiny TestDeep TestFatal TestRequires TestTrap TestWarnings if_ ];
+    propagatedBuildInputs = [ GetoptLongDescriptive Moose MooseXRoleParameterized TryTiny namespaceautoclean ];
     meta = {
-      homepage = http://metacpan.org/release/MooseX-Getopt;
+      homepage = https://github.com/moose/MooseX-Getopt;
       description = "A Moose role for processing command line options";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5888,7 +6287,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/pshangov/moosex-has-options;
       description = "Succinct options for Moose";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -5905,7 +6304,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/kentfredric/MooseX-Has-Sugar;
       description = "Sugar Syntax for moose 'has' fields";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5920,7 +6319,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/karenetheridge/moosex-lazyrequire;
       description = "Required attributes which fail only when trying to use them";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5935,7 +6334,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/MooseX-MarkAsMethods/;
       description = "Mark overload code symbols as methods";
-      license = "lgpl_2_1";
+      license = stdenv.lib.licenses.lgpl21;
     };
   };
 
@@ -5950,7 +6349,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/karenetheridge/moosex-methodattributes;
       description = "Code attribute introspection";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5964,7 +6363,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ListMoreUtils Moose ];
     meta = {
       description = "Easy subclassing of non-Moose classes";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5979,7 +6378,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/moosex-oneargnew;
       description = "Teach ->new to accept single, non-hashref arguments";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6003,7 +6402,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DevelCaller Moose ParamsValidate SubExporter ];
     meta = {
       description = "An extension of Params::Validate using Moose's types";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6018,7 +6417,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://github.com/sartak/MooseX-Role-Parameterized/tree;
       description = "Roles with composition parameters";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6033,7 +6432,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/MooseX-Role-WithOverloading;
       description = "Roles which support overloading";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6093,7 +6492,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
       description = "Make your object constructors blow up on unknown attributes";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -6119,17 +6518,17 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXTypes = buildPerlPackage {
-    name = "MooseX-Types-0.35";
+    name = "MooseX-Types-0.45";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Types-0.35.tar.gz;
-      sha256 = "11namg9pjw328ybvj70cgn15aac093jwdm4jv0b173gb7vkflx8a";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.45.tar.gz;
+      sha256 = "d01ff4a3db78e1150101b4b63569e4bce3ced3b5b0024c52c87575e0820609c7";
     };
-    buildInputs = [ TestFatal TestMoose TestRequires ];
-    propagatedBuildInputs = [ CarpClan Moose namespaceclean SubInstall SubName ];
+    buildInputs = [ ModuleBuildTiny Moose TestFatal TestRequires if_ ];
+    propagatedBuildInputs = [ CarpClan ModuleRuntime Moose SubExporter SubName namespaceautoclean ];
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      homepage = https://github.com/moose/MooseX-Types;
       description = "Organise your Moose types in libraries";
-      license = "perl5";
+      license = "perl";
     };
   };
 
@@ -6170,20 +6569,24 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ DateTime DateTimeXEasy Moose MooseXTypes MooseXTypesDateTime TimeDurationParse namespaceclean ];
     meta = {
       description = "Extensions to MooseX::Types::DateTime";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  MooseXTypesLoadableClass = buildPerlPackage rec {
-    name = "MooseX-Types-LoadableClass-0.008";
+  MooseXTypesLoadableClass = buildPerlPackage {
+    name = "MooseX-Types-LoadableClass-0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/MooseX-Types-LoadableClass-0.008.tar.gz;
-      sha256 = "0wh4zxknqv98nrmsp6yg6mazjyl3vacrgywarzjg5gks78c84i8g";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.012.tar.gz;
+      sha256 = "a1d2b186c2b69f416bb0c9271dc8692c2287c2f6ce144cc3b9b2c922427060df";
     };
-    propagatedBuildInputs = [ ClassLoad Moose MooseXTypes namespaceclean ];
+    buildInputs = [ ModuleBuildTiny Moose TestFatal ];
+    propagatedBuildInputs = [ ClassLoad ModuleRuntime Moose MooseXTypes namespaceautoclean ];
     meta = {
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
+      homepage = https://github.com/moose/MooseX-Types-LoadableClass;
+      description = "ClassName type constraint with coercion to load the class";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6196,7 +6599,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassMOP Moose MooseXTypes PathClass ];
     meta = {
       description = "A Path::Class type library for Moose";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6211,7 +6614,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/karenetheridge/moosex-types-path-tiny;
       description = "Path::Tiny types and coercions for Moose";
-      license = "apache";
+      license = stdenv.lib.licenses.asl20;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6226,7 +6629,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ MooseXTypes ParamsUtil ];
     meta = {
       description = "Moose types that check against Perl syntax";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6241,7 +6644,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/dagolden/moosex-types-stringlike;
       description = "Moose type constraints for strings or string-like objects";
-      license = "apache";
+      license = stdenv.lib.licenses.asl20;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6258,7 +6661,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/MooseX-Types-Structured;
       description = "MooseX::Types::Structured - Structured Type Constraints for Moose";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6299,7 +6702,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AnyMoose ];
     meta = {
       description = "Extend attribute interfaces for Mouse";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6315,6 +6718,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  MozillaLdap = buildPerlPackage {
+    name = "Mozilla-Ldap-1.5.3";
+    USE_OPENLDAP=1;
+    LDAPSDKDIR=pkgs.openldap;
+    src = fetchurl {
+      url = "ftp://ftp.mozilla.org/pub/mozilla.org/directory/perldap/releases/1.5.3/src/perl-mozldap-1.5.3.tar.gz";
+      sha256 = "0s0albdw0zvg3w37s7is7gddr4mqwicjxxsy400n1p96l7ipnw4x";
+    };
+    meta = {
+      description = "Mozilla's ldap client library.";
+      license = "unknown";
+    };
+  };
+
   MROCompat = buildPerlPackage {
     name = "MRO-Compat-0.12";
     src = fetchurl {
@@ -6323,7 +6740,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Mro::* interface compatibility for Perls < 5.9.5";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6351,18 +6768,18 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # Test performs network access.
   };
 
-  namespaceautoclean = buildPerlPackage rec {
-    name = "namespace-autoclean-0.13";
+  namespaceautoclean = buildPerlPackage {
+    name = "namespace-autoclean-0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/namespace-autoclean-0.13.tar.gz;
-      sha256 = "1w53k9f9zla90qdn7cyc9dx8zcv26gwy2y87gcazqsq1aj371m04";
+      url = mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.20.tar.gz;
+      sha256 = "42a199314d07b7a29044d6072529ca53037c75a43550193b1586bd19c690a05f";
     };
-    buildInputs = [ Moose SubName ];
-    propagatedBuildInputs = [ BHooksEndOfScope ClassMOP namespaceclean ];
+    buildInputs = [ ModuleBuildTiny TestRequires ];
+    propagatedBuildInputs = [ BHooksEndOfScope SubIdentify namespaceclean ];
     meta = {
-      homepage = http://metacpan.org/release/namespace-autoclean;
+      homepage = https://github.com/moose/namespace-autoclean;
       description = "Keep imports out of your namespace";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6376,15 +6793,15 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/namespace-clean;
       description = "Keep imports and functions out of your namespace";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
   NetAddrIP = buildPerlPackage rec {
-    name = "NetAddr-IP-4.072";
+    name = "NetAddr-IP-4.075";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIKER/${name}.tar.gz";
-      sha256 = "17gwhhbz25021w5k4ggp8j3plix5yixgb2vr1mj39fa0p3gafm09";
+      sha256 = "0fc8jvrcp42szscnn41sxz8z8qa4fr4dr9i9s067hvrhiyxpb0mb";
     };
   };
 
@@ -6437,19 +6854,22 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetAmazonS3 = buildPerlPackage {
-    name = "Net-Amazon-S3-0.59";
+    name = "Net-Amazon-S3-0.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PF/PFIG/Net-Amazon-S3-0.59.tar.gz;
-      sha256 = "94f2bd6b317a9142e400d7d17bd573dc9d22284c3ceaa4864474ba674e0e2e9f";
+      url = mirror://cpan/authors/id/P/PF/PFIG/Net-Amazon-S3-0.60.tar.gz;
+      sha256 = "628937132268e501fb82410f96636e01b183423ea133b6c362894da109d6ac81";
     };
     buildInputs = [ LWP TestException ];
     propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule HTTPDate HTTPMessage LWPUserAgentDetermined MIMETypes Moose MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions PathClass RegexpCommon TermEncoding TermProgressBarSimple URI XMLLibXML JSON ];
     # See https://github.com/pfig/net-amazon-s3/pull/25
     patches =
-      [ ../development/perl-modules/net-amazon-s3-credentials-provider.patch ];
+      [ ../development/perl-modules/net-amazon-s3-credentials-provider.patch
+        ../development/perl-modules/net-amazon-s3-moose-warning.patch
+      ];
     meta = {
       description = "Use the Amazon S3 - Simple Storage Service";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -6462,7 +6882,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ JSON ];
     meta = {
       description = "Manage Amazon S3 policies for HTTP POST forms";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6474,16 +6894,31 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz;
       sha256 = "0b2ba7de2cd7ddd5fe102a2e2ae7aeba21eaab1078bf3bfd3c5a722937256380";
     };
+    doCheck = false; # failures on 32bit
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable XMLLibXML ];
     meta = {
       description = "Advanced Message Queue Protocol (de)serialization and representation";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
 
+  NetCIDR = buildPerlPackage {
+    name = "Net-CIDR-0.17";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.17.tar.gz;
+      sha256 = "4a968e700d382cf0946e47df420d0151fbd8e0135f037d404c7c63713b66daf0";
+    };
+    meta = {
+      description = "Manipulate IPv4/IPv6 netblocks in CIDR notation";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      platforms = stdenv.lib.platforms.unix;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
   NetCoverArtArchive = buildPerlPackage {
     name = "Net-CoverArtArchive-1.02";
     src = fetchurl {
@@ -6495,7 +6930,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/metabrainz/CoverArtArchive;
       description = "Query the coverartarchive.org";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6528,7 +6963,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Low-level HTTP connection (client)";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6562,7 +6997,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWPUserAgent URI ];
     meta = {
       description = "An implementation of the OAuth protocol";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6576,7 +7011,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AnyEventRabbitMQ ConfigAny Coro JSONXS ListMoreUtils Moose MooseXAppCmd MooseXAttributeHelpers MooseXConfigFromFile ];
     meta = {
       description = "An Asynchronous and multi channel Perl AMQP client";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6622,6 +7057,15 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [IOSocketSSL DigestHMAC];
   };
 
+  NetSMTPTLSButMaintained = buildPerlPackage {
+    name = "Net-SMTP-TLS-ButMaintained-0.24";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FA/FAYLAND/Net-SMTP-TLS-ButMaintained-0.24.tar.gz;
+      sha256 = "0vi5cv7f9i96hgp3q3jpxzn1ysn802kh5xc304f8b7apf67w15bb";
+    };
+    propagatedBuildInputs = [NetSSLeay DigestHMAC IOSocketSSL];
+  };
+
   NetSNMP = buildPerlPackage rec {
     name = "Net-SNMP-6.0.1";
     src = fetchurl {
@@ -6663,7 +7107,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://github.com/semifor/Net-Twitter-Lite;
       description = "A perl interface to the Twitter API";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6683,6 +7127,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ObjectAccessor = buildPerlPackage {
+    name = "Object-Accessor-0.48";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz;
+      sha256 = "76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade";
+    };
+    meta = {
+      description = "Per object accessors";
+      license = "perl";
+    };
+  };
+
   ObjectInsideOut = buildPerlPackage {
     name = "Object-InsideOut-3.98";
     src = fetchurl {
@@ -6692,7 +7148,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ExceptionClass ];
     meta = {
       description = "Comprehensive inside-out object support module";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6714,6 +7170,29 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  OpenGL = buildPerlPackage rec {
+    name = "OpenGL-0.6703";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CH/CHM/${name}.tar.gz";
+      sha256 = "0k2k8zg84qj1ry77i9dvmfdfpg13s6117wy5bc4nvnzv37qcvy32";
+    };
+
+    buildInputs = with pkgs; [ mesa mesa_glu freeglut xlibs.libX11 xlibs.libXi xlibs.libXmu xlibs.libXext xdummy ];
+
+    patches = [ ../development/perl-modules/perl-opengl.patch ];
+
+    configurePhase = ''
+      substituteInPlace Makefile.PL \
+        --replace "@@libpaths@@" '${stdenv.lib.concatStringsSep "\n" (map (f: "-L${f}/lib") buildInputs)}'
+
+      cp -v ${../development/perl-modules/perl-opengl-gl-extensions.txt} utils/glversion.txt
+
+      perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags
+    '';
+
+    doCheck = false;
+  };
+
   NetOpenIDCommon = buildPerlPackage rec {
     name = "Net-OpenID-Common-1.18";
     src = fetchurl {
@@ -6732,6 +7211,18 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ];
   };
 
+  PackageConstants = buildPerlPackage {
+    name = "Package-Constants-0.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.04.tar.gz;
+      sha256 = "7e09a88da2c0df24f498eb3a133f7d979404a7bc853f21afa2ba68dfd859a880";
+    };
+    meta = {
+      description = "List constants defined in a package";
+      license = "perl";
+    };
+  };
+
   PackageDeprecationManager = buildPerlPackage {
     name = "Package-DeprecationManager-0.13";
     src = fetchurl {
@@ -6743,22 +7234,22 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Manage deprecation warnings for your distribution";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
   PackageStash = buildPerlPackage {
-    name = "Package-Stash-0.34";
+    name = "Package-Stash-0.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.34.tar.gz;
-      sha256 = "1674zs96ndq3czs6v8xkdqqz4fnka0i2835nnns9zbw2q01yirj6";
+      url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.37.tar.gz;
+      sha256 = "06ab05388f9130cd377c0e1d3e3bafeed6ef6a1e22104571a9e1d7bfac787b2c";
     };
     buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
-    propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation PackageDeprecationManager ];
+    propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation ];
     meta = {
       homepage = http://metacpan.org/release/Package-Stash;
       description = "Routines for manipulating stashes";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6772,7 +7263,23 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Package-Stash-XS;
       description = "Faster and more correct implementation of the Package::Stash API";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  Pango = buildPerlPackage rec {
+    name = "Pango-1.226";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/X/XA/XAOC/${name}.tar.gz";
+      sha256 = "0r4jx7d6gj6ixk2r5yr70biy1lpjxir08aywkw02g85wg6zkjw4z";
+    };
+    buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig pkgs.pango ];
+    propagatedBuildInputs = [ Cairo Glib ];
+    meta = {
+      homepage = http://gtk2-perl.sourceforge.net/;
+      description = "Layout and render international text";
+      maintainers = with maintainers; [ nckx ];
+      license = with stdenv.lib.licenses; [ lgpl21Plus ];
     };
   };
 
@@ -6794,7 +7301,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Simple, compact and correct param-checking functions";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6809,7 +7316,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Validate method/function parameters";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -6842,7 +7349,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta;
       description = "Parse META.yml and META.json CPAN metadata files";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6862,7 +7369,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Cross-platform path specification manipulation";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6877,7 +7384,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://metacpan.org/release/Path-Tiny;
       description = "File path utility";
-      license = "apache";
+      license = stdenv.lib.licenses.asl20;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -6910,7 +7417,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://perlcritic.com;
       description = "Critique Perl source code for best-practices";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -6922,6 +7429,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  PerlIOutf8_strict = buildPerlModule {
+    name = "PerlIO-utf8_strict-0.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.005.tar.gz;
+      sha256 = "8956064ac2bf1f79bac868a9db93a44aade77df4d3e8b07ce31a40f987ef2e0e";
+    };
+    buildInputs = [ TestException ];
+    meta = {
+      description = "Fast and correct UTF-8 IO";
+      license = "perl";
+    };
+  };
+
   PerlIOviadynamic = buildPerlPackage {
     name = "PerlIO-via-dynamic-0.14";
     src = fetchurl {
@@ -6939,12 +7459,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   PerlMagick = buildPerlPackage rec {
-    name = "PerlMagick-6.87";
+    name = "PerlMagick-6.89-1";
     src = fetchurl {
       url = "mirror://cpan/authors/id/J/JC/JCRISTY/${name}.tar.gz";
-      sha256 = "1bf2g80wdny2dfrrmfgk7cqrxzflx3qp1dnd3919grvrqdviyh16";
+      sha256 = "0n9afy1z5bhf9phrbahnkwhgcmijn8jggpbzwrivw1zhliliiy68";
     };
-    buildInputs = [pkgs.imagemagick];
+    buildInputs = [ pkgs.imagemagick ];
     preConfigure =
       ''
         sed -i -e 's|my \$INC_magick = .*|my $INC_magick = "-I${pkgs.imagemagick}/include/ImageMagick";|' Makefile.PL
@@ -6975,23 +7495,23 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0yphqsgg7zrar2ywk2j2fnjxmi9rq32yf0p5ln8m9fmfx4kd84mr";
     };
     meta = {
-      description = "Simple flexible means of converting the output of PHP's serialize() into the equivalent Perl memory structure, and vice versa.";
+      description = "Simple flexible means of converting the output of PHP's serialize() into the equivalent Perl memory structure, and vice versa";
       license = "unknown";
     };
   };
 
   Plack = buildPerlPackage {
-    name = "Plack-1.0030";
+    name = "Plack-1.0031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0030.tar.gz;
-      sha256 = "0bb9aqb0h9q4qjgkw756gf695h4qg6vim54s6f2icgsazdi63zq7";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0031.tar.gz;
+      sha256 = "0vvppxs36729lggrx4s1gn37lzsm794wfkm3k386bwhkmk7sr31i";
     };
     buildInputs = [ FileShareDirInstall TestRequires ];
     propagatedBuildInputs = [ ApacheLogFormatCompiler DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPMessage HashMultiValue LWP StreamBuffered TestTCP TryTiny URI ];
     meta = {
       homepage = https://github.com/plack/Plack;
       description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7005,12 +7525,56 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassMethodModifiers DataDump FileShareDir ModuleVersions Plack TextMicroTemplate ];
     meta = {
       description = "Display information about the current request/response";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
 
+  PlackMiddlewareFixMissingBodyInRedirect = buildPerlPackage {
+    name = "Plack-Middleware-FixMissingBodyInRedirect-0.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-FixMissingBodyInRedirect-0.11.tar.gz;
+      sha256 = "eb4d4232344e7da3217347b847736ea55df962d11b870a225315d9241e8fbefb";
+    };
+    buildInputs = [ HTTPMessage Plack ];
+    propagatedBuildInputs = [ HTMLParser Plack ];
+    meta = {
+      homepage = https://github.com/Sweet-kid/Plack-Middleware-FixMissingBodyInRedirect;
+      description = "Plack::Middleware which sets body for redirect response, if it's not already set";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  PlackMiddlewareMethodOverride = buildPerlModule {
+    name = "Plack-Middleware-MethodOverride-0.10";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/Plack-Middleware-MethodOverride-0.10.tar.gz;
+      sha256 = "f8d6a33b56d69dddd5db289f855e100d86ff39099abe31ef40e2672d0dc5568d";
+    };
+    propagatedBuildInputs = [ Plack URI ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Plack-Middleware-MethodOverride/;
+      description = "Override REST methods to Plack apps via POST";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  PlackMiddlewareRemoveRedundantBody = buildPerlPackage {
+    name = "Plack-Middleware-RemoveRedundantBody-0.05";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.05.tar.gz;
+      sha256 = "a0676e1c792bea7f25f1d901bee59054d35012d5ea8cd42529d336143fa87cd8";
+    };
+    buildInputs = [ HTTPMessage Plack ];
+    propagatedBuildInputs = [ Plack ];
+    meta = {
+      homepage = https://github.com/Sweet-kid/Plack-Middleware-RemoveRedundantBody;
+      description = "Plack::Middleware which sets removes body for HTTP response if it's not required";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   PlackMiddlewareReverseProxy = buildPerlPackage {
     name = "Plack-Middleware-ReverseProxy-0.15";
     src = fetchurl {
@@ -7020,7 +7584,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Plack ];
     meta = {
       description = "Supports app to run as a reverse proxy backend";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7033,7 +7597,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ HTTPMessage LWPUserAgent Plack TestTCP URI ];
     meta = {
       description = "Run HTTP tests on external live servers";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7047,7 +7611,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Clone IOString ListMoreUtils ParamsUtil TaskWeaken ];
     meta = {
       description = "Parse, Analyze and Manipulate Perl (without perl)";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
     doCheck = false;
   };
@@ -7061,7 +7625,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ListMoreUtils PPI TaskWeaken ];
     meta = {
       description = "Parse regular expressions";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7075,7 +7639,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ExceptionClass PPI Readonly TaskWeaken ];
     meta = {
       description = "Extensions to L<PPI|PPI>";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7124,7 +7688,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ FileFindRule FileFindRulePerl PPI PPIxRegexp ParamsUtil PerlCritic ];
     meta = {
       description = "Find a minimum required version of perl for Perl code";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7139,7 +7703,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/perl-prereqscanner;
       description = "A tool to scan your Perl code for its prerequisites";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7152,7 +7716,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ FileSlurp ];
     meta = {
       description = "Parse and manipulate Perl version strings";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7175,7 +7739,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/pod-coverage-trustpod;
       description = "Allow a module's pod to contain Pod::Coverage hints";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7190,7 +7754,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/pod-elemental;
       description = "Work with nestable Pod elements";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7205,7 +7769,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/pod-elemental-perlmunger;
       description = "A thing that takes a string of Perl and rewrites its documentation";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7226,7 +7790,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ MixinLinewise TestDeep ];
     meta = {
       description = "Read a POD document as a series of trivial events";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7254,7 +7818,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rwstauner/Pod-Markdown;
       description = "Convert POD to Markdown";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7286,7 +7850,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/pod-weaver;
       description = "Weave together a Pod document from an outline";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7328,7 +7892,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Redis/;
       description = "Perl binding for Redis database";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -7342,11 +7906,15 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  RegexpCommon = buildPerlPackage rec {
-    name = "Regexp-Common-2.122";
+  RegexpCommon = buildPerlPackage {
+    name = "Regexp-Common-2013031301";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AB/ABIGAIL/${name}.tar.gz";
-      sha256 = "1mi411nfsx58nfsgjsbyck50x9d0yfvwqpw63iavajlpx1z38n8r";
+      url = mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2013031301.tar.gz;
+      sha256 = "729a8198d264aa64ecbb233ff990507f97fbb66bda746b95f3286f50f5f25c84";
+    };
+    meta = {
+      description = "Provide commonly requested regular expressions";
+      license = "mit";
     };
   };
 
@@ -7381,7 +7949,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://jaldhar.github.com/REST-Utils;
       description = "Utility functions for REST applications";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -7415,7 +7983,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose MooseXRoleParameterized StringErrf TryTiny namespaceclean ];
     meta = {
       description = "A thing with a message method";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7429,7 +7997,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ Moose ];
     meta = {
       description = "A thing with a list of tags";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7442,7 +8010,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal ];
     meta = {
       description = "Roles, like a nouvelle cuisine portion size slice of Moose";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7468,7 +8036,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Call isa, can, does and DOES safely on things that may not be objects";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7488,7 +8056,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Lexically-scoped resource management";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7501,7 +8069,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Scope-Upper/;
       description = "Act on upper scopes";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7531,7 +8099,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53";
     };
     meta = {
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -7554,7 +8122,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassInspector HTTPDaemon LWP TaskWeaken URI XMLParser ];
     meta = {
       description = "Perl's Web Services Toolkit";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -7579,7 +8147,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/software-license;
       description = "Packages that provide templated software licenses";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7611,16 +8179,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   SQLAbstract = buildPerlPackage {
-    name = "SQL-Abstract-1.73";
+    name = "SQL-Abstract-1.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/SQL-Abstract-1.73.tar.gz;
-      sha256 = "081ppyvsc66yshmfr9q9v7hp9g58725nnibd771i9g153vzs49kb";
+      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/SQL-Abstract-1.80.tar.gz;
+      sha256 = "de4d0507fca0c6340c17867abca0632017bd56594443e67ea6ace826ba9a07a2";
     };
-    buildInputs = [ TestException TestWarn ];
-    propagatedBuildInputs = [ ClassAccessorGrouped GetoptLongDescriptive HashMerge ];
+    buildInputs = [ TestDeep TestException TestWarn ];
+    propagatedBuildInputs = [ HashMerge MROCompat Moo ];
     meta = {
       description = "Generate SQL from Perl data structures";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7657,26 +8225,51 @@ let self = _self // overrides; _self = with self; {
   };
 
   SQLTranslator = buildPerlPackage rec {
-    name = "SQL-Translator-0.11006";
+    name = "SQL-Translator-0.11020";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
-      sha256 = "0ifnzap3pgkxvkv2gxpmv02637pfraza5m4zk99braw319ra4mla";
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz";
+      sha256 = "18mqnppwk1076sxcink5ajk75ysway0bd049hwxvk8md39x0y7ar";
     };
     propagatedBuildInputs = [
       ClassBase ClassDataInheritable ClassMakeMethods DigestSHA1 CarpClan IOStringy
       ParseRecDescent ClassAccessor DBI FileShareDir XMLWriter YAML TestDifferences
       TemplateToolkit GraphViz XMLLibXML TestPod TextRecordParser HTMLParser
-      SpreadsheetParseExcel Graph GD
+      SpreadsheetParseExcel Graph GD Moo TryTiny PackageVariant
     ];
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+  
+  PackageVariant = buildPerlPackage {
+    name = "Package-Variant-1.002002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/H/HA/HAARG/Package-Variant-1.002002.tar.gz;
+      sha256 = "826780f19522f42c6b3d9f717ab6b5400f198cec08f4aa15b71aef9aa17e9b13";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ ImportInto ModuleRuntime strictures ];
+    meta = {
+      description = "Parameterizable packages";
+      license = "perl";
+    };
+  };
+
+  SortNaturally = buildPerlPackage rec {
+    name = "Sort-Naturally-1.03";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz";
+      sha256 = "eaab1c5c87575a7826089304ab1f8ffa7f18e6cd8b3937623e998e865ec1e746";
+    };
   };
 
   Starman = buildPerlModule {
-    name = "Starman-0.4008";
+    name = "Starman-0.4010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4008.tar.gz;
-      sha256 = "06fc3yp3nmi26d7lcfqanwwk5jxsmqmidyr8n2qfrsa0r7d07c88";
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4010.tar.gz;
+      sha256 = "abe8e2e0519b7326d64db1e93d9c32d853a7be083792d0d7e5f5a1ddf1472d42";
     };
-    buildInputs = [ ModuleBuildTiny TestRequires ];
+    buildInputs = [ LWP ModuleBuildTiny TestRequires ];
     propagatedBuildInputs = [ DataDump HTTPDate HTTPMessage HTTPParserXS NetServer Plack TestTCP ];
     doCheck = false; # binds to various TCP ports
     meta = {
@@ -7709,7 +8302,7 @@ let self = _self // overrides; _self = with self; {
     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 = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7739,7 +8332,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://plackperl.org;
       description = "Temporary buffer to save bytes";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7752,7 +8345,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git;
       description = "Turn on strict and make all warnings fatal";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7786,7 +8379,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ParamsUtil StringFormatter SubExporter ];
     meta = {
       description = "A simple sprintf-like dialect";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7812,7 +8405,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/string-flogger;
       description = "String munging for loggers";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7855,7 +8448,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Rewrite strings based on a set of known prefixes";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7889,8 +8482,8 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ SubExporter SubInstall ];
     meta = {
-      description = "A module for when strings are too long to be displayed in..";
-      license = "perl";
+      description = "A module for when strings are too long to be displayed in";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7904,7 +8497,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ PadWalker SubExporter TemplateToolkit ];
     meta = {
       description = "Use TT to interpolate lexical variables";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -7918,7 +8511,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "String::Util -- String processing utilities";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7932,7 +8525,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/sub-exporter;
       description = "A sophisticated exporter for custom-built routines";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7945,7 +8538,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ SubExporter SubName ];
     meta = {
       description = "Helper routines for using Sub::Exporter to build methods";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7959,7 +8552,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/sub-exporter-globexporter;
       description = "Export shared globs with Sub::Exporter collectors";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7972,7 +8565,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Only use Sub::Exporter if you need it";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -7986,7 +8579,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/sub-exporter;
       description = "A sophisticated exporter for custom-built routines";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8007,7 +8600,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Install subroutines into packages easily";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8040,7 +8633,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/dagolden/sub-uplevel;
       description = "Apparently run a function in a higher stack frame";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8113,7 +8706,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/phaylon/syntax/wiki;
       description = "Activate syntax extensions";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8126,7 +8719,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ SubExporterProgressive TestRequires syntax ];
     meta = {
       description = "Perl6 style Junction operators in Perl5";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8142,6 +8735,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  SysVirt = buildPerlPackage rec {
+    name = "Sys-Virt-1.2.9";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DA/DANBERR/${name}.tar.gz";
+      sha256 = "1ag55mlkbf63iq3q5mxdawf29c2nyphd52kbshnlim3lax247ml7";
+    };
+    propagatedBuildInputs = [XMLXPath];
+    buildInputs = [TestPodCoverage TimeHiRes TestPod pkgs.pkgconfig pkgs.libvirt];
+    meta = {
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
   TAPParserSourceHandlerpgTAP = buildPerlModule {
     name = "TAP-Parser-SourceHandler-pgTAP-3.30";
     src = fetchurl {
@@ -8151,7 +8757,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP/;
       description = "Stream TAP from pgTAP test scripts";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       platforms = stdenv.lib.platforms.linux;
       maintainers = with maintainers; [ ocharles ];
     };
@@ -8198,7 +8804,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Ensure that a platform has weaken support";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8225,7 +8831,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       maintainers = with maintainers; [ eelco ];
       description = "Perl Template Toolkit Plugin for IO::All";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8268,6 +8874,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TemplateTiny = buildPerlPackage {
+    name = "Template-Tiny-1.12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Template-Tiny-1.12.tar.gz;
+      sha256 = "073e062c630b51dfb725cd6485a329155cb72d5c596e8cb698eb67c4566f0a4a";
+    };
+    meta = {
+      description = "Template Toolkit reimplemented in as little code as possible";
+      license = "perl";
+    };
+  };
+
   TemplateToolkit = buildPerlPackage rec {
     name = "Template-Toolkit-2.25";
     src = fetchurl {
@@ -8277,7 +8895,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AppConfig ];
     meta = {
       description = "Comprehensive template processing system";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8289,7 +8907,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Detect encoding of the current terminal";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8303,7 +8921,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ClassMethodMaker TermReadKey ];
     meta = {
       description = "Provide a progress meter on a standard terminal";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8316,7 +8934,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ IOInteractive TermProgressBar TestMockObject ];
     meta = {
       description = "";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8361,6 +8979,39 @@ let self = _self // overrides; _self = with self; {
     doCheck = false;
   };
 
+  TermShellUI = buildPerlPackage rec {
+    name = "Term-ShellUI-0.92";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BR/BRONSON/${name}.tar.gz";
+      sha256 = "3279c01c76227335eeff09032a40f4b02b285151b3576c04cacd15be05942bdb";
+    };
+  };
+
+  TermSizeAny = buildPerlPackage {
+    name = "Term-Size-Any-0.002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Any-0.002.tar.gz;
+      sha256 = "64fa5fdb1ae3a823134aaa95aec75354bc17bdd9ca12ba0a7ae34a7e51b3ded2";
+    };
+    propagatedBuildInputs = [ DevelHide TermSizePerl ];
+    meta = {
+      description = "Retrieve terminal size";
+      license = "perl";
+    };
+  };
+
+  TermSizePerl = buildPerlPackage {
+    name = "Term-Size-Perl-0.029";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.029.tar.gz;
+      sha256 = "8c1aaab73646ee1d233e827213ea3b5ab8afcf1d02a8f94be7aed306574875e7";
+    };
+    meta = {
+      description = "Perl extension for retrieving terminal size (Perl version)";
+      license = "perl";
+    };
+  };
+
   TermVT102 = buildPerlPackage {
     name = "Term-VT102-0.91";
     src = fetchurl {
@@ -8425,7 +9076,22 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CPANMetaCheck ];
     meta = {
       description = "Check for presence of dependencies";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  TestCleanNamespaces = buildPerlPackage {
+    name = "Test-CleanNamespaces-0.16";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.16.tar.gz;
+      sha256 = "9779378394b9be32cf04129fafe2d40d74f6f200f593f1494998bd128a6ed9fa";
+    };
+    buildInputs = [ ModuleRuntime TestDeep TestRequires TestTester TestWarnings if_ ];
+    propagatedBuildInputs = [ FileFindRule FileFindRulePerl ModuleRuntime PackageStash SubExporter SubIdentify namespaceclean ];
+    meta = {
+      homepage = https://github.com/karenetheridge/Test-CleanNamespaces;
+      description = "Check for uncleaned imports";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8437,7 +9103,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Validate your CPAN META.yml files";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -8453,6 +9119,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TestDir = buildPerlPackage {
+    name = "Test-Dir-1.014";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.014.tar.gz;
+      sha256 = "b36efc286f8127b04fd7bb0dfdf4bd0a090b175872e35b5ce6d4d80c772c28bf";
+    };
+    meta = {
+      description = "Test directory attributes";
+      license = "perl";
+    };
+  };
+
   TestDifferences = buildPerlPackage {
     name = "Test-Differences-0.4801";
     src = fetchurl {
@@ -8462,7 +9140,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ TextDiff ];
     meta = {
       description = "Test strings and data structures and show differences if not ok";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8477,7 +9155,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Test-DistManifest;
       description = "Author test that validates a package MANIFEST";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8490,7 +9168,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://metacpan.org/release/Test-EOL;
       description = "Check the correct line endings in your project";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -8515,7 +9193,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://metacpan.org/release/Test-FailWarnings;
       description = "Add test failures if warnings are caught";
-      license = "apache";
+      license = stdenv.lib.licenses.asl20;
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -8531,7 +9209,34 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/test-fatal;
       description = "Incredibly simple helpers for testing code with exceptions";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  TestFile = buildPerlPackage {
+    name = "Test-File-1.41";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.41.tar.gz;
+      sha256 = "45ec1b714f64d05e34205c40b08c49549f257910e4966fa28e2ac170d5516316";
+    };
+    buildInputs = [ Testutf8 ];
+    meta = {
+      description = "Check file attributes";
+      license = "perl";
+    };
+  };
+
+  TestFileContents = buildPerlModule {
+    name = "Test-File-Contents-0.21";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-0.21.tar.gz;
+      sha256 = "1b5a13f86f5df625ffd30361f628d34b0ceda80b9f39ca74bf0a4c1105828317";
+    };
+    propagatedBuildInputs = [ TextDiff ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Test-File-Contents/;
+      description = "Test routines for examining the contents of files";
+      license = "perl";
     };
   };
 
@@ -8546,15 +9251,21 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/kentfredric/Test-File-ShareDir;
       description = "Create a Fake ShareDir for your modules for testing";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  TestHarness = buildPerlPackage rec {
-    name = "Test-Harness-3.17";
+  TestHarness = buildPerlPackage {
+    name = "Test-Harness-3.33";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AN/ANDYA/${name}.tar.gz";
-      sha256 = "0j390xx6an88gh49n7zz8mj1s3z0xsxc8dynfq71xf7ba7i1afhr";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Test-Harness-3.33.tar.gz;
+      sha256 = "c22e36287d5cee3c28fd2006e3c8b6e7cc76c6fc39d79c7ab74f1936d35e8fe2";
+    };
+    doCheck = false; # makes assumptions about path to Perl
+    meta = {
+      homepage = http://testanything.org/;
+      description = "Run Perl standard test scripts with statistics";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8579,7 +9290,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Traces memory leaks";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8642,20 +9353,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [TestException UNIVERSALisa UNIVERSALcan];
   };
 
-  TestMoose = buildPerlPackage {
-    name = "Test-Moose-2.0604";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Moose-2.0604.tar.gz;
-      sha256 = "0nwvklb8dwf8lskwxik3gi9gsqzrix2jhc56zvfzlf1q5q1s07qj";
-    };
-    buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
-    propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure ListMoreUtils MROCompat PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ];
-    meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
-      description = "A postmodern object system for Perl 5";
-      license = "perl5";
-    };
-  };
+  TestMoose = Moose;
 
   TestMockTime = buildPerlPackage rec {
     name = "Test-MockTime-0.12";
@@ -8674,7 +9372,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/creaktive/Test-Mojibake;
       description = "Check your source for encoding misbehavior";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8689,7 +9387,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ExceptionClass TestDeep TestDifferences TestException TestWarn ];
     meta = {
       description = "Most commonly needed test functions and features";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8701,7 +9399,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Check the presence of tabs in your project";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -8757,7 +9455,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Test-Pod/;
       description = "Check for POD errors in files";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8781,7 +9479,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Test-Pod-LinkCheck/;
       description = "Tests POD for invalid links";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8793,7 +9491,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Check file names portability";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8805,7 +9503,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Checks to see if the module can be loaded";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8820,7 +9518,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/rjbs/Test-Routine;
       description = "Composable units of assertion";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -8835,16 +9533,35 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ProbePerl IPCRun3];
   };
 
-  TestSharedFork = buildPerlPackage rec {
-    name = "Test-SharedFork-0.18";
+  TestSharedFork = buildPerlPackage {
+    name = "Test-SharedFork-0.29";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
-      sha256 = "1wc41jzi780w75m2ry1038mzxyz7386r8rmhbnmj3krcdxy676cc";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.29.tar.gz;
+      sha256 = "63af7788cc35b9b7e6fa37c61220ca66abd6364d8bb90c20038e3d8241988a6e";
+    };
+    buildInputs = [ TestRequires ];
+    meta = {
+      homepage = https://github.com/tokuhirom/Test-SharedFork;
+      description = "Fork test";
+      license = "perl";
     };
   };
 
   TestSimple = null;
 
+  TestSpec = buildPerlPackage {
+    name = "Test-Spec-0.47";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PH/PHILIP/Test-Spec-0.47.tar.gz;
+      sha256 = "e425c0b9efa3c7e21496d31a607d072a63e31988c3d298a8c1fd7d145cc0681e";
+    };
+    propagatedBuildInputs = [ PackageStash TestDeep TestTrap TieIxHash ];
+    meta = {
+      description = "Write tests in a declarative specification style";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   TestSubCalls = buildPerlPackage rec {
     name = "Test-SubCalls-1.09";
     src = fetchurl {
@@ -8862,7 +9579,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Test your SYNOPSIS code";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8874,7 +9591,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Write tests, not scripts that run them";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -8889,7 +9606,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ TestSharedFork ];
     meta = {
       description = "Testing TCP program";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8909,7 +9626,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Unit testing without external dependencies";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -8938,21 +9655,21 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Perl extension to test methods for warnings";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
-  TestWarnings = buildPerlModule {
-    name = "Test-Warnings-0.008";
+  TestWarnings = buildPerlPackage {
+    name = "Test-Warnings-0.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.008.tar.gz;
-      sha256 = "119f2a279fe7d0681dcf4517f1bcb056e4596cfbae7b9ee447118f036cf089e4";
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.016.tar.gz;
+      sha256 = "09ebc9afa29eb4d1d44fbd974dfcd52e0a2d9ce7ec3e3ee7602394157831aba9";
     };
-    buildInputs = [ CaptureTiny ModuleBuildTiny TestCheckDeps TestDeep TestTester pkgs.perlPackages."if" ];
+    buildInputs = [ TestTester if_ ];
     meta = {
       homepage = https://github.com/karenetheridge/Test-Warnings;
       description = "Test for warnings and the lack of them";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -8964,7 +9681,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Test fallback behaviour in absence of modules";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -8980,7 +9697,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/petdance/test-www-mechanize;
       description = "Testing-specific WWW::Mechanize subclass";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -8994,7 +9711,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CatalystRuntime LWP Moose namespaceclean TestWWWMechanize WWWMechanize ];
     meta = {
       description = "Test::WWW::Mechanize for Catalyst";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9017,10 +9734,11 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/L/LB/LBROCARD/Test-WWW-Mechanize-PSGI-0.35.tar.gz;
       sha256 = "1hih8s49zf38bisvhnhzrrj0zwyiivkrbs7nmmdqm1qqy27wv7pc";
     };
+    buildInputs = [ TestPod ];
     propagatedBuildInputs = [ Plack TestWWWMechanize TryTiny ];
     meta = {
       description = "Test PSGI programs using WWW::Mechanize";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9057,7 +9775,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Interface to read and parse BibTeX files";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9078,7 +9796,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AlgorithmDiff ];
     meta = {
       description = "Perform diffs on files and record sets";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9098,7 +9816,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Framework for more readable interactive test scripts";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9121,7 +9839,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ aliased DevelPartialDump ListAllUtils Moose MooseXParamsValidate MooseXTypes MooseXTypesStructured namespaceautoclean SetObject SubExporter TestFatal ];
     meta = {
       description = "Spy on objects to achieve test doubles (mock testing)";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -9137,7 +9855,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ FileFindRule FileFindRulePerl PerlMinimumVersion YAMLTiny ];
     meta = {
       description = "Does your code require newer perl than you think?";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9149,7 +9867,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Micro template engine with Perl5 language";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -9187,7 +9905,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Simple eyecandy ASCII tables";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -9237,8 +9955,8 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestTester ];
     propagatedBuildInputs = [ DataDump ];
     meta = {
-      description = "Trap exit codes, exceptions, output, etc.";
-      license = "perl";
+      description = "Trap exit codes, exceptions, output, etc";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9251,7 +9969,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/gfx/p5-Test-Vars;
       description = "Detects unused variables";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9266,7 +9984,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/Test-Version/;
       description = "Check to see that version's in modules are sane";
-      license = "artistic_2";
+      license = stdenv.lib.licenses.artistic2;
     };
   };
 
@@ -9278,7 +9996,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Remove leading and/or trailing whitespace from strings";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -9304,6 +10022,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Testutf8 = buildPerlPackage {
+    name = "Test-utf8-1.01";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.01.tar.gz;
+      sha256 = "ef371b1769cd8d36d2d657e8321723d94c8f8d89e7fd7437c6648c5dc6711b7a";
+    };
+    meta = {
+      homepage = https://github.com/2shortplanks/Test-utf8/tree;
+      description = "Handy utf8 tests";
+      license = "perl";
+    };
+  };
+
   TextWikiFormat = buildPerlPackage {
     name = "Text-WikiFormat-0.81";
     src = fetchurl {
@@ -9317,13 +10048,25 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  threads = buildPerlPackage {
+    name = "threads-2.01";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-2.01.tar.gz;
+      sha256 = "429fea88757e0a347dac2cf9e414dfe8f06c8ca3c5445f6da4a95c2f883b6399";
+    };
+    meta = {
+      description = "Perl interpreter-based threads";
+      license = "perl";
+    };
+  };
+
   Throwable = buildPerlPackage rec {
-    name = "Throwable-0.102080";
+    name = "Throwable-0.200010";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0vjzlh23rpmgr5h8qfh9pb3kqw0j8sxn2bpbc1p2306dwqwbymm5";
+      sha256 = "0qhq1f5bvgf5kjhmdg45vadq8dbc9gfms81hply5c6a71nmkv8yp";
     };
-    propagatedBuildInputs = [ DevelStackTrace Moose ];
+    propagatedBuildInputs = [ DevelStackTrace Moose Moo MooXTypesMooseLike ];
   };
 
   TieCycle = buildPerlPackage {
@@ -9334,7 +10077,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Cycle through a list of values via a scalar";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9346,7 +10089,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Ordered associative arrays for Perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9358,7 +10101,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Ordered hashes for Perl";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9388,7 +10131,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestPod TestPodCoverage ];
     meta = {
       description = "Rounded or exact English expression of durations";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9402,7 +10145,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ExporterLite ];
     meta = {
       description = "Parse string that represents time duration";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9414,6 +10157,24 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Tk = buildPerlPackage rec {
+    name = "Tk-804.032_501";
+    src = fetchurl {
+      url = "http://search.cpan.org/CPAN/authors/id/S/SR/SREZIC/${name}.tar.gz";
+      sha256 = "10fsvyr56gm59chc8b70n6bvhd3lh9c05sp8m4arcahid0rpgbwa";
+    };
+    makeMakerFlags = "X11LIB=${pkgs.xlibs.libX11}/lib";
+    buildInputs = with pkgs; [ xlibs.libX11 libpng ];
+    configurePhase = ''
+      perl Makefile.PL PREFIX=$out $makeMakerFlags
+    '';
+    doCheck = false;
+    meta ={
+      homepage = "http://search.cpan.org/~srezic/Tk-804.032/Tk.pod";
+      license = stdenv.lib.licenses.tcltk;
+    };
+  };
+
   TreeDAGNode = buildPerlPackage {
     name = "Tree-DAG_Node-1.09";
     src = fetchurl {
@@ -9424,7 +10185,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "An N-ary tree";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9437,7 +10198,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestException ];
     meta = {
       description = "A simple tree object";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9452,21 +10213,43 @@ let self = _self // overrides; _self = with self; {
   };
 
   TryTiny = buildPerlPackage {
-    name = "Try-Tiny-0.12";
+    name = "Try-Tiny-0.22";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOY/Try-Tiny-0.22.tar.gz;
+      sha256 = "60fba46f4693d33d54539104f9001df008dabb400b6837e9605c39a6ee6a1b19";
+    };
+    buildInputs = [ if_ ];
+    meta = {
+      homepage = http://metacpan.org/release/Try-Tiny;
+      description = "Minimal try/catch with proper preservation of $@";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  TypeTiny = buildPerlPackage {
+    name = "Type-Tiny-1.000005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Try-Tiny-0.12.tar.gz;
-      sha256 = "0awv2w33jb1xw3bsrfwsz53dgwm8s8vnpk4ssxxp3n89i7116p2g";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.000005.tar.gz;
+      sha256 = "42ed36c011825aa1e6995a4e8638621a1b2103a0970b15764ca3919368042365";
     };
+    propagatedBuildInputs = [ ExporterTiny ];
     meta = {
-      homepage = https://github.com/doy/try-tiny.git;
+      homepage = https://metacpan.org/release/Type-Tiny;
+      description = "Tiny, yet Moo(se)-compatible type constraint";
+      license = "perl";
     };
   };
 
   UNIVERSALcan = buildPerlPackage {
-    name = "UNIVERSAL-can-1.12";
+    name = "UNIVERSAL-can-1.20140328";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.12.tar.gz;
-      sha256 = "1abadbgcy11cmlmj9qf1v73ycic1qhysxv5xx81h8s4p81alialr";
+      url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz;
+      sha256 = "522da9f274786fe2cba99bc77cc1c81d2161947903d7fad10bd62dfb7f11990f";
+    };
+    meta = {
+      homepage = https://github.com/chromatic/UNIVERSAL-can;
+      description = "Work around buggy code calling UNIVERSAL::can() as a function";
+      license = "perl";
     };
   };
 
@@ -9479,7 +10262,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/chromatic/UNIVERSAL-isa;
       description = "Attempt to recover from people calling UNIVERSAL::isa as a function";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9491,7 +10274,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Require() modules from a variable";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9514,7 +10297,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Unicode Collation Algorithm";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9526,7 +10309,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Wrapper around ICU collation services";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -9542,7 +10325,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ MIMECharset ];
     meta = {
       description = "UAX #14 Unicode Line Breaking Algorithm";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9562,6 +10345,20 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Uniform Resource Identifiers (absolute and relative)";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  URIdb = buildPerlModule {
+    name = "URI-db-0.15";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.15.tar.gz;
+      sha256 = "ac3dc3eeb8ca58dc4f7e1dfed6bca5bb8ebbc5dfacee63161490b09a4bfac982";
+    };
+    propagatedBuildInputs = [ URI URINested ];
+    meta = {
+      homepage = https://search.cpan.org/dist/URI-db/;
+      description = "Database URIs";
       license = "perl";
     };
   };
@@ -9572,11 +10369,11 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/M/MS/MSCHWERN/URI-Find-20111103.tar.gz;
       sha256 = "1igbbj14j5fssdqrbr60mg3w95wldfxdikplqdmqgf2zn5j65ibr";
     };
-    propagatedBuildInputs = [ URI URIURL ];
+    propagatedBuildInputs = [ URI ];
     meta = {
       homepage = http://search.cpan.org/dist/URI-Find;
       description = "Find URIs in arbitrary text";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9589,7 +10386,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ParamsValidate URI ];
     meta = {
       description = "Build a URI from a set of named parameters";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ocharles ];
       platforms   = stdenv.lib.platforms.unix;
     };
@@ -9604,14 +10401,16 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [URI TestMore];
   };
 
-  URIURL = buildPerlPackage {
-    name = "URI-URL-1.60";
+  URINested = buildPerlModule {
+    name = "URI-Nested-0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/URI-1.60.tar.gz;
-      sha256 = "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz";
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-0.10.tar.gz;
+      sha256 = "e1971339a65fbac63ab87142d4b59d3d259d51417753c77cb58ea31a8233efaf";
     };
+    propagatedBuildInputs = [ URI ];
     meta = {
-      description = "Uniform Resource Identifiers (absolute and relative)";
+      homepage = https://metacpan.org/release/URI-Nested/;
+      description = "Nested URIs";
       license = "perl";
     };
   };
@@ -9681,7 +10480,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/bestpractical/www-mechanize;
       description = "Handy web browsing in a Perl object";
-      license = "perl5";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9711,7 +10510,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ URI ];
     meta = {
       description = "Database of robots.txt-derived permissions";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9727,6 +10526,30 @@ let self = _self // overrides; _self = with self; {
     doCheck = false;
   };
 
+  WxGLCanvas = buildPerlPackage rec {
+    name = "Wx-GLCanvas-0.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MB/MBARBON/${name}.tar.gz";
+      sha256 = "1q4gvj4gdx4l8k4mkgiix24p9mdfy1miv7abidf0my3gy2gw5lka";
+    };
+    propagatedBuildInputs = [ Wx OpenGL pkgs.mesa_glu ];
+    doCheck = false;
+  };
+
+  X11IdleTime = buildPerlPackage rec {
+    name = "X11-IdleTime-0.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AW/AWENDT/${name}.tar.gz";
+      sha256 = "0j27cb9yy9ymni8cbiyxplbg086b8lv6b330nwqyx0briq3xrzfq";
+    };
+    buildInputs = [ pkgs.xlibs.libXext pkgs.xlibs.libXScrnSaver pkgs.xlibs.libX11 ];
+    propagatedBuildInputs = [ InlineC ];
+    patchPhase = ''sed -ie 's,-L/usr/X11R6/lib/,-L${pkgs.xlibs.libX11}/lib/ -L${pkgs.xlibs.libXext}/lib/ -L${pkgs.xlibs.libXScrnSaver}/lib/,' IdleTime.pm'';
+    meta = {
+      description = "Get the idle time of X11";
+    };
+  };
+
   X11Protocol = buildPerlPackage rec {
     name = "X11-Protocol-0.56";
     src = fetchurl {
@@ -9766,7 +10589,7 @@ let self = _self // overrides; _self = with self; {
     doCheck = false; # requires an X server
     meta = {
       description = "XCB bindings for X";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9780,7 +10603,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ XMLTokeParser ];
     meta = {
       description = "Recursive descent XML parsing";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9813,7 +10636,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ FileSlurp XMLLibXML ];
     meta = {
       description = "XML::LibXML based XML::Simple clone";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9914,7 +10737,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ XMLParser ];
     meta = {
       description = "Simplified interface to XML::Parser";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9945,7 +10768,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ ExtUtilsDepends TestFatal Testuseok ];
     meta = {
       description = "XS pointer backed objects using sv_magic";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9958,7 +10781,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = https://github.com/ingydotnet/yaml-pm/tree;
       description = "YAML Ain't Markup Language (tm)";
-      license = "perl";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -9971,7 +10794,7 @@ let self = _self // overrides; _self = with self; {
     meta = {
       homepage = http://search.cpan.org/dist/YAML-Syck;
       description = "Fast, lightweight YAML loader and dumper";
-      license = "mit";
+      license = stdenv.lib.licenses.mit;
     };
   };
 
@@ -9984,10 +10807,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   YAMLLibYAML = buildPerlPackage rec {
-    name = "YAML-LibYAML-0.41";
+    name = "YAML-LibYAML-0.52";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
-      sha256 = "1kj506lpg3fhqq0726p6y2h7pk24l6xihfyhqqsf8gd6lckl8rcs";
+      sha256 = "14qajsfbi2syjz38iynj8c6qf0rv1zmy71kydzvvg9kcq1ib3h86";
     };
   };
 
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 700547450ec..6f99cd76cfa 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -64,7 +64,7 @@ let self = with self; {
 
     src = pkgs.fetchurl {
       url = "http://xcache.lighttpd.net/pub/Releases/${version}/${name}.tar.bz2";
-      md5 = "e5816d47d52be200b959bf69a673ff74";
+      sha256 = "1saysvzwkfmcyg53za4j7qnranxd6871spjzfpclhdlqm043xbw6";
     };
 
     configureFlags = [
@@ -78,4 +78,53 @@ let self = with self; {
 
     buildInputs = [ pkgs.m4 ];
   };
+
+  pthreads = assert pkgs.config.php.zts or false; buildPecl {
+    #pthreads requires a build of PHP with ZTS (Zend Thread Safety) enabled
+    #--enable-maintainer-zts or --enable-zts on Windows
+    name = "pthreads-2.0.10";
+    sha256 = "1xlcb1b1g10jd0xhm3c01a06yqpb5qln47pd1k522138324qvpwb";
+  };
+
+  geoip = buildPecl {
+    name = "geoip-1.1.0";
+    sha256 = "1fcqpsvwba84gqqmwyb5x5xhkazprwkpsnn4sv2gfbsd4svxxil2";
+
+    configureFlags = [ "--with-geoip=${pkgs.geoip}" ];
+
+    buildInputs = [ pkgs.geoip ];
+  };
+
+  redis = buildPecl {
+    name = "redis-2.2.5";
+
+    sha256 = "0hrk0lf8h6l30zrjld29csl186zb1cl2rz1gfn9dma33np4iisyw";
+  };
+
+  composer = pkgs.stdenv.mkDerivation rec {
+    name = "composer-${version}";
+    version = "1.0.0-alpha9";
+
+    src = pkgs.fetchurl {
+      url = "https://getcomposer.org/download/1.0.0-alpha9/composer.phar";
+      sha256 = "1x7i9xs9xggq0qq4kzrwh2pky8skax0l829zwwsy3hcvch3irvrk";
+    };
+
+    phases = [ "installPhase" ];
+    buildInputs = [ pkgs.makeWrapper ];
+
+    installPhase = ''
+      mkdir -p $out/bin
+      install -D $src $out/libexec/composer/composer.phar
+      makeWrapper ${php}/bin/php $out/bin/composer \
+        --add-flags "$out/libexec/composer/composer.phar"
+    '';
+
+    meta = with pkgs.lib; {
+      description = "Dependency Manager for PHP";
+      license = licenses.mit;
+      homepage = https://getcomposer.org/;
+      maintainers = with maintainers; [offline];
+    };
+  };
 }; in self
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index 299941790e9..8bdc4f77302 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -212,6 +212,98 @@ rec {
     };
   };
 
+  raspberrypi2 = {
+    name = "raspberrypi2";
+    kernelMajor = "3.14";
+    kernelHeadersBaseConfig = "kirkwood_defconfig";
+    kernelBaseConfig = "bcm2709_defconfig";
+    kernelArch = "arm";
+    kernelDTB = true;
+    kernelAutoModules = false;
+    kernelExtraConfig =
+      ''
+        BLK_DEV_RAM y
+        BLK_DEV_INITRD y
+        BLK_DEV_CRYPTOLOOP m
+        BLK_DEV_DM m
+        DM_CRYPT m
+        MD y
+        REISERFS_FS m
+        BTRFS_FS y
+        XFS_FS m
+        JFS_FS y
+        EXT4_FS y
+
+        IP_PNP y
+        IP_PNP_DHCP y
+        NFS_FS y
+        ROOT_NFS y
+        TUN m
+        NFS_V4 y
+        NFS_V4_1 y
+        NFS_FSCACHE y
+        NFSD m
+        NFSD_V2_ACL y
+        NFSD_V3 y
+        NFSD_V3_ACL y
+        NFSD_V4 y
+        NETFILTER y
+        IP_NF_IPTABLES y
+        IP_NF_FILTER y
+        IP_NF_MATCH_ADDRTYPE y
+        IP_NF_TARGET_LOG y
+        IP_NF_MANGLE y
+        IPV6 m
+        VLAN_8021Q m
+
+        CIFS y
+        CIFS_XATTR y
+        CIFS_POSIX y
+        CIFS_FSCACHE y
+        CIFS_ACL y
+
+        ZRAM m
+
+        # Fail to build
+        DRM n
+        SCSI_ADVANSYS n
+        USB_ISP1362_HCD n
+        SND_SOC n
+        SND_ALI5451 n
+        FB_SAVAGE n
+        SCSI_NSP32 n
+        ATA_SFF n
+        SUNGEM n
+        IRDA n
+        ATM_HE n
+        SCSI_ACARD n
+        BLK_DEV_CMD640_ENHANCED n
+
+        FUSE_FS m
+
+        # nixos mounts some cgroup
+        CGROUPS y
+
+        # Latencytop 
+        LATENCYTOP y
+
+        # Disable the common config Xen, it doesn't build on ARM
+	XEN? n
+      '';
+    kernelTarget = "zImage";
+    uboot = null;
+    gcc = {
+      # For gcc 4.8, the best for rpi2 would be:
+      #   cpu = "cortex-a7";
+      #   fpu = "neon-vfpv4";
+      # But we prefer compatibility with the beaglebone, so both
+      # can run the same built store paths.
+      arch = "armv7-a";
+      fpu = "vfpv3-d16";
+      float = "hard";
+    };
+  };
+
   guruplug = sheevaplug // {
     # Define `CONFIG_MACH_GURUPLUG' (see
     # <http://kerneltrap.org/mailarchive/git-commits-head/2010/5/19/33618>)
@@ -372,4 +464,21 @@ rec {
     uboot = null;
     gcc.arch = "loongson2f";
   };
+  
+  beaglebone = {
+    name = "beaglebone";
+    kernelMajor = "2.6";
+    kernelHeadersBaseConfig = "omap2plus_defconfig";
+    kernelBaseConfig = "omap2plus_defconfig";
+    kernelArch = "arm";
+    kernelAutoModules = false;
+    kernelExtraConfig = ""; # TBD kernel config
+    kernelTarget = "zImage";
+    uboot = null;
+    gcc = {
+      arch = "armv7-a";
+      fpu = "vfpv3-d16";
+      float = "hard";
+    };
+  };
 }
diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix
index 247d18680d9..3876476623b 100644
--- a/pkgs/top-level/python-packages-generated.nix
+++ b/pkgs/top-level/python-packages-generated.nix
@@ -62,7 +62,7 @@ in
         Zope Version Control
         '';
       homepage = "http://pypi.python.org/pypi/Products.ZopeVersionControl";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -764,7 +764,7 @@ in
         PlonePAS adapts the PluggableAuthService for use by Plone.
         '';
       homepage = "http://pypi.python.org/pypi/Products.PlonePAS";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -1487,7 +1487,7 @@ in
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
       description = ''
-        
+
         '';
       homepage = "https://code.google.com/p/feedparser/";
       license = "";
@@ -1550,7 +1550,7 @@ in
         Automatically include ZCML
         '';
       homepage = "http://pypi.python.org/pypi/z3c.autoinclude";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -2552,7 +2552,7 @@ in
         CMFDynamicViewFTI is a product for dynamic views in CMF.
         '';
       homepage = "http://pypi.python.org/pypi/Products.CMFDynamicViewFTI";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -2674,7 +2674,7 @@ in
         Python-PostgreSQL Database Adapter
         '';
       homepage = "http://initd.org/psycopg/";
-      license = "GPL with exceptions or ZPL";
+      license = with stdenv.lib.licenses; [ lgpl3Plus zpt20 ];
     };
   };
 
@@ -3078,7 +3078,7 @@ in
         Global way of retrieving the currently active request.
         '';
       homepage = "http://pypi.python.org/pypi/zope.globalrequest";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -3198,7 +3198,7 @@ in
         Caching infrastructure for web apps
         '';
       homepage = "UNKNOWN";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -3670,7 +3670,7 @@ in
         md5 = "d5d886088e78b1bdbfd66d328fc2d0bc";
     };
     doCheck = false;
-    buildInputs = [  ];
+    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
     propagatedBuildInputs = [  ];
     installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .'';
     meta = {
@@ -3758,7 +3758,7 @@ in
         Zope 2 integration for zope.globalrequest
         '';
       homepage = "http://pypi.python.org/pypi/five.globalrequest";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -4486,7 +4486,7 @@ in
         Easily hook into the ZCML processing machinery
         '';
       homepage = "UNKNOWN";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -4526,7 +4526,7 @@ in
         Add test information to .egg-info
         '';
       homepage = "http://pypi.python.org/pypi/eggtestinfo";
-      license = "PSF or ZPL";
+      license = with stdenv.lib.licenses; [ psfl zpt20 ];
     };
   };
 
@@ -4928,7 +4928,7 @@ in
         SecureMailHost is a reimplementation of the standard Zope2 MailHost with some security and usability enhancements.
         '';
       homepage = "http://svn.plone.org/svn/collective/SecureMailHost/trunk";
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
diff --git a/pkgs/top-level/python-packages.json b/pkgs/top-level/python-packages.json
index 74e092d309a..8dbd010b9b6 100644
--- a/pkgs/top-level/python-packages.json
+++ b/pkgs/top-level/python-packages.json
@@ -89,6 +89,10 @@
       "Products.DCWorkflow": {
         "propagatedBuildInputs": [ "eggtestinfo" ]
       },
+      "lxml": {
+        "buildInputs": [ "pkgs.libxml2", "pkgs.libxslt" ],
+        "doCheck": false
+      },
       "Products.CMFDefault": {
         "propagatedBuildInputs": [ "eggtestinfo" ]
       },
@@ -140,5 +144,7 @@
   },
   { "name": "suds",
     "doCheck": false
+  },
+  { "name": "html2text"
   }
 ]
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 533f59b78d8..1d3d0d179af 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1,7 +1,10 @@
-{ pkgs, python }:
-  with pkgs.lib;
+{ pkgs, stdenv, python, self }:
+
+with pkgs.lib;
 
 let
+  pythonAtLeast = versionAtLeast python.pythonVersion;
+  pythonOlder = versionOlder python.pythonVersion;
   isPy26 = python.majorVersion == "2.6";
   isPy27 = python.majorVersion == "2.7";
   isPy33 = python.majorVersion == "3.3";
@@ -9,6 +12,10 @@ let
   isPyPy = python.executable == "pypy";
   isPy3k = strings.substring 0 1 python.majorVersion == "3";
 
+  callPackage = pkgs.newScope self;
+
+  buildPythonPackage = makeOverridable (callPackage ../development/python-modules/generic { });
+
   # Unique python version identifier
   pythonName =
     if isPy26 then "python26" else
@@ -17,29 +24,28 @@ let
     if isPy34 then "python34" else
     if isPyPy then "pypy" else "";
 
-  modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; };
-
-pythonPackages = modules // import ./python-packages-generated.nix {
-  inherit pkgs python;
-  inherit (pkgs) stdenv fetchurl;
-  self = pythonPackages;
-} //
+  modules = python.modules or {
+    readline = null;
+    sqlite3 = null;
+    curses = null;
+    curses_panel = null;
+    crypt = null;
+  };
 
-# Python packages for all python versions
-rec {
+  pythonPackages = modules // import ./python-packages-generated.nix {
+    inherit pkgs python;
+    inherit (pkgs) stdenv fetchurl;
+    self = pythonPackages;
+  }
+// {
 
-  inherit python isPy26 isPy27 isPy33 isPy34 isPyPy isPy3k pythonName;
-  inherit (pkgs) fetchurl fetchsvn fetchgit stdenv unzip;
+  inherit python isPy26 isPy27 isPy33 isPy34 isPyPy isPy3k pythonName buildPythonPackage;
 
   # helpers
 
-  callPackage = callPackageWith (pkgs // pythonPackages);
-
   # global distutils config used by buildPythonPackage
   distutils-cfg = callPackage ../development/python-modules/distutils-cfg { };
 
-  buildPythonPackage = callPackage ../development/python-modules/generic { };
-
   wrapPython = pkgs.makeSetupHook
     { deps = pkgs.makeWrapper;
       substitutions.libPrefix = python.libPrefix;
@@ -49,23 +55,16 @@ rec {
 
   # specials
 
-  recursivePthLoader = import ../development/python-modules/recursive-pth-loader {
-    inherit (pkgs) stdenv;
-    inherit python;
-  };
+  recursivePthLoader = callPackage ../development/python-modules/recursive-pth-loader { };
 
-  setuptools = import ../development/python-modules/setuptools {
-    inherit (pkgs) stdenv fetchurl;
-    inherit python wrapPython distutils-cfg;
-  };
+  setuptools = callPackage ../development/python-modules/setuptools { };
 
   # packages defined elsewhere
 
   blivet = callPackage ../development/python-modules/blivet { };
 
-  dbus = import ../development/python-modules/dbus {
-    inherit (pkgs) stdenv fetchurl pkgconfig dbus dbus_glib dbus_tools;
-    inherit python;
+  dbus = callPackage ../development/python-modules/dbus {
+    dbus = pkgs.dbus;
   };
 
   discid = buildPythonPackage rec {
@@ -79,7 +78,7 @@ rec {
       maintainer  = with maintainers; [ iyzsong ];
     };
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/d/discid/${name}.tar.gz";
       md5 = "2ad2141452dd10b03ad96ccdad075235";
     };
@@ -91,37 +90,30 @@ rec {
   };
 
   h5py = callPackage ../development/python-modules/h5py {
-    inherit (pkgs) stdenv fetchurl;
-    inherit python buildPythonPackage cython numpy;
     hdf5 = pkgs.hdf5.override { mpi = null; };
   };
 
-  h5py-mpi = h5py.override {
+  h5py-mpi = self.h5py.override {
     mpiSupport = true;
     mpi = pkgs.openmpi;
     hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; };
-    inherit mpi4py;
   };
 
-  ipython = import ../shells/ipython {
-    inherit (pkgs) stdenv fetchurl sip pyqt4;
-    inherit buildPythonPackage pythonPackages;
+  ipython = callPackage ../shells/ipython {
+    inherit pythonPackages;
+
     qtconsoleSupport = !pkgs.stdenv.isDarwin; # qt is not supported on darwin
     pylabQtSupport = !pkgs.stdenv.isDarwin;
     pylabSupport = !pkgs.stdenv.isDarwin; # cups is not supported on darwin
   };
 
-  ipythonLight = lowPrio (import ../shells/ipython {
-    inherit (pkgs) stdenv fetchurl;
-    inherit buildPythonPackage pythonPackages;
+  ipythonLight = lowPrio (self.ipython.override {
     qtconsoleSupport = false;
     pylabSupport = false;
     pylabQtSupport = false;
   });
 
   mpi4py = callPackage ../development/python-modules/mpi4py {
-    inherit (pkgs) stdenv fetchurl openssh;
-    inherit python buildPythonPackage;
     mpi = pkgs.openmpi;
   };
 
@@ -129,76 +121,43 @@ rec {
 
   # This is used for NixOps to make sure we won't break it with the next major
   # version of nixpart.
-  nixpart0 = nixpart;
+  nixpart0 = callPackage ../tools/filesystems/nixpart/0.4 { };
 
-  pitz = import ../applications/misc/pitz {
-    inherit (pkgs) stdenv fetchurl;
-    inherit buildPythonPackage tempita jinja2 pyyaml clepy mock nose decorator docutils;
-  };
+  pitz = callPackage ../applications/misc/pitz { };
 
-  pycairo = import ../development/python-modules/pycairo {
-    inherit (pkgs) stdenv fetchurl fetchpatch pkgconfig cairo x11;
-    inherit python;
-  };
+  plantuml = callPackage ../tools/misc/plantuml { };
 
-  pycrypto = import ../development/python-modules/pycrypto {
-    inherit (pkgs) fetchurl stdenv gmp;
-    inherit python buildPythonPackage;
+  pycairo = callPackage ../development/python-modules/pycairo {
   };
 
-  pygobject = import ../development/python-modules/pygobject {
-    inherit (pkgs) stdenv fetchurl pkgconfig glib;
-    inherit python;
-  };
+  pycrypto = callPackage ../development/python-modules/pycrypto { };
 
-  pygobject3 = import ../development/python-modules/pygobject/3.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig glib gobjectIntrospection cairo;
-    inherit python pycairo;
-  };
+  pygobject = callPackage ../development/python-modules/pygobject { };
 
-  pygtk = import ../development/python-modules/pygtk {
-    inherit (pkgs) fetchurl stdenv pkgconfig gtk;
-    inherit python buildPythonPackage pygobject pycairo isPy3k;
-  }; 
+  pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { };
 
-  # XXX: how can we get an override here?
-  #pyGtkGlade = pygtk.override {
-  #  inherit (pkgs.gnome) libglade;
-  #};
-  pyGtkGlade = import ../development/python-modules/pygtk {
-    inherit (pkgs) fetchurl stdenv pkgconfig gtk;
-    inherit (pkgs.gnome) libglade;
-    inherit python buildPythonPackage pygobject pycairo isPy3k;
-  };
+  pygtk = callPackage ../development/python-modules/pygtk { libglade = null; };
 
-  pyqt4 = import ../development/python-modules/pyqt/4.x.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig qt4 makeWrapper;
-    inherit (pkgs.xorg) lndir;
-    inherit python sip;
-    pythonDBus = dbus;
+  pyGtkGlade = self.pygtk.override {
+    libglade = pkgs.gnome.libglade;
   };
 
-  pyqt5 = import ../development/python-modules/pyqt/5.x.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig qt5 makeWrapper;
-    inherit (pkgs.xorg) lndir;
-    inherit python;
-    sip = sip_4_16;
-    pythonDBus = dbus;
+  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
+    pythonDBus = self.dbus;
+    pythonPackages = self;
   };
 
-  sip = import ../development/python-modules/sip {
-    inherit (pkgs) stdenv fetchurl;
-    inherit python;
+  pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix {
+    sip = self.sip_4_16;
+    pythonDBus = self.dbus;
+    qt5 = pkgs.qt53;
   };
 
-  sip_4_16 = import ../development/python-modules/sip/4.16.nix {
-    inherit (pkgs) stdenv fetchurl;
-    inherit python;
-  };
+  sip = callPackage ../development/python-modules/sip { };
 
-  tables = import ../development/python-modules/tables {
-    inherit (pkgs) stdenv fetchurl bzip2 lzo;
-    inherit python buildPythonPackage cython numpy numexpr;
+  sip_4_16 = callPackage ../development/python-modules/sip/4.16.nix { };
+
+  tables = callPackage ../development/python-modules/tables {
     hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
   };
 
@@ -207,12 +166,12 @@ rec {
   aafigure = buildPythonPackage rec {
     name = "aafigure-0.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/aafigure/${name}.tar.gz";
       md5 = "5322888a21eb0bb2e749fbf98eddf574";
     };
 
-    propagatedBuildInputs = [ pillow ];
+    propagatedBuildInputs = with self; [ pillow ];
 
     # error: invalid command 'test'
     doCheck = false;
@@ -235,16 +194,16 @@ rec {
 
 
   actdiag = buildPythonPackage rec {
-    name = "actdiag-0.5.1";
+    name = "actdiag-0.5.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/actdiag/${name}.tar.gz";
-      md5 = "171c47bc1f70e5fadfffd9df0c3157be";
+      sha256 = "1vr4hnkr0gcvvpaycd8q3vcx029b2f5yv8swhdr8kwspaqb0dvfa";
     };
 
-    buildInputs = [ pep8 nose unittest2 docutils ];
+    buildInputs = with self; [ pep8 nose unittest2 docutils ];
 
-    propagatedBuildInputs = [ blockdiag ];
+    propagatedBuildInputs = with self; [ blockdiag ];
 
     # One test fails:
     #   UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 0: ordinal not in range(128)
@@ -264,18 +223,18 @@ rec {
     rev = "9744c18c4d6b0a3e7f57b01e5fe145a60fc82a47";
     name = "afew-1.0_${rev}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/teythoon/afew/tarball/${rev}";
       name = "${name}.tar.bz";
       sha256 = "1qyban022aji2hl91dh0j3xa6ikkxl5argc6w71yp2x8b02kp3mf";
     };
 
-    buildInputs = [ pkgs.dbacl ];
+    buildInputs = with self; [ pkgs.dbacl ];
 
-    propagatedBuildInputs = [
-      pythonPackages.notmuch
-      pythonPackages.chardet
-    ] ++ optional (!isPy3k) pythonPackages.subprocess32;
+    propagatedBuildInputs = with self; [
+      self.notmuch
+      self.chardet
+    ] ++ optional (!isPy3k) self.subprocess32;
 
     doCheck = false;
 
@@ -290,7 +249,7 @@ rec {
 
     meta = {
       homepage = https://github.com/teythoon/afew;
-      description = "afew is an initial tagging script for notmuch mail.";
+      description = "An initial tagging script for notmuch mail";
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
@@ -299,17 +258,17 @@ rec {
   alembic = buildPythonPackage rec {
     name = "alembic-0.6.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/alembic/${name}.tar.gz";
       md5 = "71e4a8f6849e1527abfc4ea33d51f37c";
     };
 
-    buildInputs = [ nose mock ];
-    propagatedBuildInputs = [ Mako sqlalchemy9 ];
+    buildInputs = with self; [ nose mock ];
+    propagatedBuildInputs = with self; [ Mako sqlalchemy9 ];
 
     meta = {
       homepage = http://bitbucket.org/zzzeek/alembic;
-      description = "A database migration tool for SQLAlchemy.";
+      description = "A database migration tool for SQLAlchemy";
       license = stdenv.lib.licenses.mit;
     };
   };
@@ -318,42 +277,42 @@ rec {
   almir = buildPythonPackage rec {
     name = "almir-0.1.8";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/a/almir/${name}.zip";
       md5 = "9a1f3c72a039622ca72b74be7a1cd37e";
     };
 
-    buildInputs = [
+    buildInputs = with self; [
       pkgs.which
-      pythonPackages.coverage
-      pythonPackages.mock
-      pythonPackages.tissue
-      pythonPackages.unittest2
-      pythonPackages.webtest
+      self.coverage
+      self.mock
+      self.tissue
+      self.unittest2
+      self.webtest
     ];
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       pkgs.makeWrapper
       pkgs.bacula
-      pythonPackages.colander
-      pythonPackages.deform
-      pythonPackages.deform_bootstrap
-      pythonPackages.docutils
-      pythonPackages.nose
-      pythonPackages.mysql_connector_repackaged
-      pythonPackages.pg8000
-      pythonPackages.pyramid
-      pythonPackages.pyramid_beaker
-      pythonPackages.pyramid_exclog
-      pythonPackages.pyramid_jinja2
-      pythonPackages.pyramid_tm
-      pythonPackages.pytz
-      pythonPackages.sqlalchemy
-      pythonPackages.transaction
-      pythonPackages.waitress
-      pythonPackages.webhelpers
-      pythonPackages.zope_sqlalchemy
-      pythonPackages.psycopg2
+      self.colander
+      self.deform
+      self.deform_bootstrap
+      self.docutils
+      self.nose
+      self.mysql_connector_repackaged
+      self.pg8000
+      self.pyramid
+      self.pyramid_beaker
+      self.pyramid_exclog
+      self.pyramid_jinja2
+      self.pyramid_tm
+      self.pytz
+      self.sqlalchemy
+      self.transaction
+      self.waitress
+      self.webhelpers
+      self.psycopg2
+      (self.zope_sqlalchemy.override rec {propagatedBuildInputs = with self; [ sqlalchemy8 transaction ];})
     ];
 
     postInstall = ''
@@ -368,25 +327,25 @@ rec {
 
 
   alot = buildPythonPackage rec {
-    rev = "fa4ddf000dc2ac4933852b210901b649634a5f86";
-    name = "alot-0.3.5_${rev}";
+    rev = "0.3.6";
+    name = "alot-0.3.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/pazz/alot/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "0h11lqyxg0xbkc9y1xqjvd0kmfm5pdwnmv9chmlsi1614dxn08n0";
+      sha256 = "1rzy70w4isvypa94310xw403vq5him21q8rlx4laa0z530phkrmq";
     };
 
     # error: invalid command 'test'
     doCheck = false;
 
     propagatedBuildInputs =
-      [ pythonPackages.notmuch
-        pythonPackages.urwid
-        pythonPackages.twisted
-        pythonPackages.magic
-        pythonPackages.configobj
-        pythonPackages.pygpgme
+      [ self.notmuch
+        self.urwid
+        self.twisted
+        self.magic
+        self.configobj
+        self.pygpgme
       ];
 
     postInstall = ''
@@ -406,12 +365,12 @@ rec {
     name = "anyjson-0.3.3";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/a/anyjson/${name}.tar.gz";
       md5 = "2ea28d6ec311aeeebaf993cb3008b27c";
     };
 
-    buildInputs = [ pythonPackages.nose ];
+    buildInputs = with self; [ self.nose ];
 
     meta = {
       homepage = http://pypi.python.org/pypi/anyjson/;
@@ -420,10 +379,31 @@ rec {
   };
 
 
+  amqp = buildPythonPackage rec {
+    name = "amqp-${version}";
+    version = "1.4.6";
+    disabled = pythonOlder "2.6";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/a/amqp/${name}.tar.gz";
+      sha256 = "0h76dnqfbc6fslwr7lx86n2gyslfv2x1vl8lpbszjs2svrkwikzb";
+      md5 = "a061581b6864f838bffd62b6a3d0fb9f";
+    };
+
+    buildInputs = with self; [ mock coverage nose-cover3 unittest2 ];
+
+    meta = {
+      homepage = http://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;
+    };
+  };
+
+
   amqplib = buildPythonPackage rec {
     name = "amqplib-0.6.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://py-amqplib.googlecode.com/files/${name}.tgz";
       sha1 = "f124e5e4a6644bf6d1734032a01ac44db1b25a29";
     };
@@ -438,15 +418,27 @@ rec {
   };
 
 
+  application = buildPythonPackage rec {
+    name = "python-application-${version}";
+    version = "1.4.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-application/${name}.tar.gz";
+      sha256 = "3ae188e9dfd4bd63c9b43aebbf1d9de5df03fb5ac01e72f3bff5b41007570275";
+    };
+  };
+
+
   apsw = buildPythonPackage rec {
     name = "apsw-3.7.6.2-r1";
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://apsw.googlecode.com/files/${name}.zip";
       sha1 = "fa4aec08e59fa5964197f59ba42408d64031675b";
     };
 
-    buildInputs = [ pkgs.sqlite ];
+    buildInputs = with self; [ pkgs.sqlite ];
 
     # python: double free or corruption (fasttop): 0x0000000002fd4660 ***
     doCheck = false;
@@ -459,13 +451,13 @@ rec {
 
 
   apscheduler = buildPythonPackage rec {
-    name = "APScheduler-2.1.2";
+    name = "APScheduler-3.0.1";
 
-    propagatedBuildInputs = with pythonPackages; [ futures tzlocal six pytest mock];
+    propagatedBuildInputs = with self; [ futures tzlocal six pytest mock sqlalchemy9 ];
 
-    src = fetchurl {
-      url = "https://pypi.python.org/packages/source/A/APScheduler/APScheduler-2.1.2.tar.gz";
-      md5 = "6862959d460c16ef325d63e1fc3a6684";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/A/APScheduler/${name}.tar.gz";
+      sha256 = "1dcyk58svhhd7flpq0fbyzcp0z3a1as4ddmdv1rxqvqng0sxhwaf";
     };
 
     meta = with pkgs.stdenv.lib; {
@@ -477,40 +469,73 @@ rec {
 
 
   area53 = buildPythonPackage (rec {
-    name = "area53-b2c9cdcabd";
+    name = "Area53-0.94";
 
-    src = fetchgit {
-      url = git://github.com/bigmlcom/Area53.git;
-      rev = "b2c9cdcabd";
-      sha256 = "b0c12b8c48ed9180c7475fab18de50d63e1b517cfb46da4d2c66fc406fe902bc";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/A/Area53/${name}.tar.gz";
+      sha256 = "0v9b7f8b6v21y410anx5sr52k2ac8jrzdf19q6m6p0zsdsf9vr42";
     };
 
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ pythonPackages.boto ];
+    propagatedBuildInputs = with self; [ self.boto ];
 
   });
 
+  arrow = buildPythonPackage rec {
+    name = "arrow-${version}";
+    version = "0.4.4";
+
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/a/arrow/${name}.tar.gz";
+      sha256 = "1sdr4gyjgvz86yr0ll0i11mgy8l1slndr7f0ngam87rpy78gp052";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "Twitter API library";
+      license     = "apache";
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
 
   async = buildPythonPackage rec {
     name = "async-0.6.1";
     disabled = isPy3k;
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    buildInputs = [ pkgs.zlib ];
+    buildInputs = with self; [ pkgs.zlib ];
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/async/${name}.tar.gz";
       sha256 = "1lfmjm8apy9qpnpbq8g641fd01qxh9jlya5g2d6z60vf8p04rla1";
     };
   };
 
+  atomicwrites = buildPythonPackage rec {
+    version = "0.1.0";
+    name = "atomicwrites-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/a/atomicwrites/atomicwrites-${version}.tar.gz";
+      sha256 = "1lxz0xhnzihqlvl1h6j2nfxjqqgr4s08196z5phnlcz2s7d5z0mg";
+    };
+
+    meta = {
+      description = "Atomic file writes on POSIX";
+      homepage = https://pypi.python.org/pypi/atomicwrites/0.1.0;
+      maintainers = with maintainers; [ matthiasbeyer ];
+    };
+
+  };
+
   argparse = buildPythonPackage (rec {
     name = "argparse-1.2.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://argparse.googlecode.com/files/${name}.tar.gz";
       sha256 = "192174mys40m0bwk6l5jlfnzps0xi81sxm34cqms6dc3c454pbyx";
     };
@@ -537,23 +562,55 @@ rec {
   });
 
   astroid = buildPythonPackage (rec {
-    name = "astroid-1.1.1";
-    propagatedBuildInputs = [ logilab_common ];
-    src = fetchurl {
+    name = "astroid-1.3.4";
+    propagatedBuildInputs = with self; [ logilab_common six ];
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/astroid/${name}.tar.gz";
-      sha256 = "1x7103mlzndgg66yas6xrfwkwpihcq4bi9m8py1fjnhz8p5ka1vq";
+      sha256 = "1fz9x21pziy9dmivvlsgl7a86ka2m9jp3pky01da5aj89ym3wi8b";
     };
   });
 
+  audioread = buildPythonPackage rec {
+    name = "audioread-1.2.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/a/audioread/${name}.tar.gz";
+      md5 = "01a80357f38dbd9bf8d7403802df89ac";
+    };
+
+    meta = {
+      description = "Cross-platform audio decoding";
+      homepage = "https://github.com/sampsyo/audioread";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  audiotools = buildPythonPackage rec {
+    name = "audiotools-2.22";
+
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "mirror://sourceforge/audiotools/${name}.tar.gz";
+      sha256 = "1c52pggsbxdbj8h92njf4h0jgfndh4yv58ad723pidys47nw1y71";
+    };
+
+    meta = {
+      description = "Utilities and Python modules for handling audio.";
+      homepage = "http://audiotools.sourceforge.net/";
+      license = stdenv.lib.licenses.gpl2Plus;
+    };
+  };
+
   autopep8 = buildPythonPackage (rec {
-    name = "autopep8-1.0.3";
+    name = "autopep8-1.0.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/autopep8/${name}.tar.gz";
-      md5 = "7c16d385cf9ad7c1d7fbcfcea2588a56";
+      sha256 = "17lydqm8y9a5qadp6iifxrb5mb0g9fr1vxn5qy1fjpyhazxaw8n1";
     };
 
-    propagatedBuildInputs = [ pep8 ];
+    propagatedBuildInputs = with self; [ pep8 ];
 
     # One test fails:
     # FAIL: test_recursive_should_not_crash_on_unicode_filename (test.test_autopep8.CommandLineTests)
@@ -572,8 +629,8 @@ rec {
     name = "avro-1.7.6";
 
     disabled = isPy3k;
-    
-    src = fetchurl {
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz";
       md5 = "7f4893205e5ad69ac86f6b44efb7df72";
     };
@@ -586,10 +643,10 @@ rec {
 
   avro3k = pkgs.lowPrio (buildPythonPackage (rec {
     name = "avro3k-1.7.7-SNAPSHOT";
-    
+
     disabled = (!isPy3k);
-    
-    src = fetchurl {
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz";
       sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky";
     };
@@ -602,10 +659,29 @@ rec {
     };
   }));
 
-  backports_ssl_match_hostname_3_4_0_2 = pythonPackages.buildPythonPackage rec {
+  azure = buildPythonPackage rec {
+    version = "0.10.0";
+    name = "azure-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/a/azure/${name}.zip";
+      md5 = "305b0036df5696d68369807835f554ae";
+    };
+
+    propagatedBuildInputs = with self; [ dateutil futures pyopenssl requests ];
+
+    meta = with stdenv.lib; {
+      description = "Microsoft Azure SDK for Python";
+      homepage = "http://azure.microsoft.com/en-us/develop/python/";
+      license = licenses.asl20;
+      maintainers = [ maintainers.olcai ];
+    };
+  };
+
+  backports_ssl_match_hostname_3_4_0_2 = self.buildPythonPackage rec {
     name = "backports.ssl_match_hostname-3.4.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.4.0.2.tar.gz";
       md5 = "788214f20214c64631f0859dc79f23c6";
     };
@@ -616,15 +692,68 @@ rec {
     };
   };
 
+  backports_lzma = self.buildPythonPackage rec {
+    name = "backports.lzma-0.0.3";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/backports.lzma/${name}.tar.gz";
+      md5 = "c3d109746aefa86268e500c07d7e8e0f";
+    };
+
+    buildInputs = [ pkgs.lzma ];
+
+    meta = {
+      describe = "Backport of Python 3.3's 'lzma' module for XZ/LZMA compressed files.";
+      homepage = https://github.com/peterjc/backports.lzma;
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
+  babelfish = buildPythonPackage rec {
+    version = "0.5.3";
+    name = "babelfish-${version}";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/babelfish/${name}.tar.gz";
+      sha256 = "0wrw21dyq7v6lbffwvi1ik43d7dhmcv8xvgrrihhiv7ys1rd3gag";
+    };
+
+    meta = {
+      homepage = http://pypi.python.org/pypi/babelfish;
+      description = "A module to work with countries and languages.";
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
+  batinfo = buildPythonPackage rec {
+    version = "0.2";
+    name = "batinfo-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/batinfo/${name}.tar.gz";
+      sha256 = "1kmrdr1c2ivpqgp2csln7vbanga3sh3nvaqmgbsg96z6fbg7f7w8";
+    };
+
+    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 = [ maintainers.koral ];
+    };
+  };
+
   bcdoc = buildPythonPackage rec {
-    name = "bcdoc-0.12.1";
+    name = "bcdoc-0.13.0";
 
-    src = fetchurl {
-      url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.12.1.tar.gz";
-      md5 = "7c8617347c294ea4d36ec73fb5b2c26e";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.13.0.tar.gz";
+      md5 = "819882458be7b642e00ddc9846073d89";
     };
 
-    buildInputs = [ pythonPackages.docutils pythonPackages.six ];
+    buildInputs = with self; [ self.docutils self.six ];
 
     meta = {
       homepage = https://github.com/botocore/bcdoc;
@@ -637,7 +766,7 @@ rec {
     name = "beautifulsoup-3.2.1";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz";
       sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm";
     };
@@ -655,9 +784,9 @@ rec {
   beautifulsoup4 = buildPythonPackage (rec {
     name = "beautifulsoup4-4.1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/b/beautifulsoup4/${name}.tar.gz";
-      md5 = "c012adc06217b8532c446d181cc56586";
+      md5 = "f1481ed77336de77a2d8e5b061b6ad62";
     };
 
     # invalid command 'test'
@@ -674,20 +803,20 @@ rec {
 
   beaker = buildPythonPackage rec {
     name = "Beaker-1.6.4";
-    
+
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/B/Beaker/${name}.tar.gz";
       md5 = "c2e102870ed4c53104dec48ceadf8e9d";
     };
 
     buildInputs =
-      [ pythonPackages.sqlalchemy
-        pythonPackages.pycryptopp
-        pythonPackages.nose
-        pythonPackages.mock
-        pythonPackages.webtest
+      [ self.sqlalchemy
+        self.pycryptopp
+        self.nose
+        self.mock
+        self.webtest
       ];
 
     # http://hydra.nixos.org/build/4511591/log/raw
@@ -702,18 +831,44 @@ rec {
     };
   };
 
+  caldavclientlibrary-asynk = buildPythonPackage rec {
+    version = "asynkdev";
+    name = "caldavclientlibrary-asynk-${version}";
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/skarra/CalDAVClientLibrary.git";
+      rev = "06699b08190d50cc2636b921a654d67db0a967d1";
+      sha256 = "1i6is7lv4v9by4panrd9w63m4xsmhwlp3rq4jjj3azwg5jm10940";
+    };
+
+    meta = {
+      description = "CalDAVCLientLibrary is a Python library and tool for CalDAV";
+
+      longDescription = ''
+        CalDAVCLientLibrary is a Python library and tool for CalDAV.
+
+        This package is the unofficial CalDAVCLientLibrary Python
+        library maintained by the author of Asynk and is needed for
+        that package.
+      '';
+
+      homepage = https://github.com/skarra/CalDAVClientLibrary/tree/asynkdev/;
+      maintainers = with maintainers; [ pjones ];
+    };
+  };
 
   bedup = buildPythonPackage rec {
     name = "bedup-20140413";
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = "https://github.com/g2p/bedup.git";
       rev = "5189e166145b8954ac41883f81ef3c3b50dc96ab";
       sha256 = "e61768fa19934bd176799f90bda3ea9f49a5def21fa2523a8e47df8a48e730e9";
     };
 
-    buildInputs = [ pkgs.btrfsProgs ];
-    propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy9 pyxdg pycparser cffi alembic ];
+    buildInputs = with self; [ pkgs.btrfsProgs ];
+    propagatedBuildInputs = with self; [ contextlib2 sqlalchemy9 pyxdg pycparser alembic ]
+      ++ optionals (!isPyPy) [ cffi ];
 
     meta = {
       description = "Deduplication for Btrfs";
@@ -731,64 +886,84 @@ rec {
     };
   };
 
-  beets = buildPythonPackage rec {
-    name = "beets-1.3.6";
+  circus = buildPythonPackage rec {
+    name = "circus-0.11.1";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/b/beets/${name}.tar.gz";
-      md5 = "59615a54b3ac3983159e77ff9dda373e";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/circus/${name}.tar.gz";
+      md5 = "5c07cdbe9bb4a9b82e52737ad590617b";
     };
 
-    # tests depend on $HOME setting
-    preConfigure = "export HOME=$TMPDIR";
+    doCheck = false; # weird error
 
-    propagatedBuildInputs =
-      [ pythonPackages.pyyaml
-        pythonPackages.unidecode
-        pythonPackages.mutagen
-        pythonPackages.munkres
-        pythonPackages.musicbrainzngs
-        pythonPackages.enum34
-        pythonPackages.pylast
-        pythonPackages.rarfile
-        pythonPackages.flask
-        modules.sqlite3
-        modules.readline
-      ];
-      
-    buildInputs = with pythonPackages; [ mock pyechonest six responses nose ];
-    
-    # 10 tests are failing
+    propagatedBuildInputs = with self; [ iowait psutil pyzmq tornado mock ];
+  };
+
+  cornice = buildPythonPackage rec {
+    name = "cornice-${version}";
+    version = "0.17.0";
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/cornice.git;
+      rev = "refs/tags/${version}";
+      sha256 = "12yrcsv1sdl5w308y1cc939ppq7pi2490s54zfcbs481cvsyr1lg";
+    };
+
+    propagatedBuildInputs = with self; [ pyramid simplejson ];
+
+    doCheck = false; # lazy packager
+  };
+
+  cvxopt = buildPythonPackage rec {
+    name = "${pname}-${version}";
+    pname = "cvxopt";
+    version = "1.1.7";
+    disabled = isPyPy;
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/${pname}/${name}.tar.gz";
+      sha256 = "f856ea2e9e2947abc1a6557625cc6b0e45228984f397a90c420b2f468dc4cb97";
+    };
     doCheck = false;
+    buildInputs = with pkgs; [ liblapack blas ];
+    meta = with stdenv.lib; {
+      homepage = "http://cvxopt.org/";
+      description = "Python Software for Convex Optimization";
+      maintainers = with maintainers; [ edwtjo ];
+      license = licenses.gpl3Plus;
+    };
+  };
 
-    meta = {
-      homepage = http://beets.radbox.org;
-      description = "Music tagger and library organizer";
-      license = licenses.mit;
-      maintainers = [ stdenv.lib.maintainers.iElectric ];
+  iowait = buildPythonPackage rec {
+    name = "iowait-0.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/i/iowait/${name}.tar.gz";
+      md5 = "f49ca7766fe4a67e03a731e575614f87";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Platform-independent module for I/O completion events";
+      homepage = https://launchpad.net/python-iowait;
     };
   };
-  
-  responses = pythonPackages.buildPythonPackage rec {
+
+  responses = self.buildPythonPackage rec {
     name = "responses-0.2.2";
 
-    propagatedBuildInputs = with pythonPackages; [ requests mock six pytest flake8 ];
-    
+    propagatedBuildInputs = with self; [ requests mock six pytest flake8 ];
+
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/responses/responses-0.2.2.tar.gz";
       md5 = "5d79fd425cf8d858dfc8afa6475395d3";
     };
 
   };
- 
-  rarfile = pythonPackages.buildPythonPackage rec {
-    name = "rarfile-2.6";
 
-    propagatedBuildInputs = with pythonPackages; [  ];
+  rarfile = self.buildPythonPackage rec {
+    name = "rarfile-2.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/rarfile/rarfile-2.6.tar.gz";
       md5 = "50ce3f3fdb9196a00059a5ea7b3739fd";
     };
@@ -798,13 +973,11 @@ rec {
       homepage = https://github.com/markokr/rarfile;
     };
   };
-  
-  pyechonest = pythonPackages.buildPythonPackage rec {
-    name = "pyechonest-8.0.2";
 
-    propagatedBuildInputs = with pythonPackages; [  ];
+  pyechonest = self.buildPythonPackage rec {
+    name = "pyechonest-8.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pyechonest/pyechonest-8.0.2.tar.gz";
       md5 = "5586fe8ece7af4e24f71ea740185127e";
     };
@@ -816,15 +989,40 @@ rec {
   };
 
 
+  billiard = buildPythonPackage rec {
+    name = "billiard-${version}";
+    version = "3.3.0.19";
+
+    disabled = isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/billiard/${name}.tar.gz";
+      sha256 = "06bs1kl7dji6lwpj3dkfi61mmrfq2mi7wz3ka683i2avwk38wsvf";
+      md5 = "7e473b9da01956ce91a650f99fe8d4ad";
+    };
+
+    buildInputs = with self; [ nose unittest2 mock ];
+
+    # i can't imagine these were intentionally installed
+    postInstall = "rm -r $out/${python.sitePackages}/funtests";
+
+    meta = {
+      homepage = https://github.com/celery/billiard;
+      description = "Python multiprocessing fork with improvements and bugfixes";
+      license = licenses.bsd3;
+    };
+  };
+
+
   bitbucket_api = buildPythonPackage rec {
     name = "bitbucket-api-0.4.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/b/bitbucket-api/${name}.tar.gz";
       md5 = "6f3cee3586c4aad9c0b2e04fce9704fb";
     };
 
-    propagatedBuildInputs = [ requests_oauth2 nose sh ];
+    propagatedBuildInputs = with self; [ requests_oauth2 nose sh ];
 
     doCheck = false;
 
@@ -837,12 +1035,12 @@ rec {
 
   bitbucket-cli = buildPythonPackage rec {
     name = "bitbucket-cli-0.4.1";
-    src = fetchurl {
+    src = pkgs.fetchurl {
        url = "https://pypi.python.org/packages/source/b/bitbucket-cli/${name}.tar.gz";
        md5 = "79cdbdc6c95dfa313d12cbdef406c9f2";
     };
 
-    pythonPath = [ requests ];
+    pythonPath = [ self.requests ];
 
     meta = with stdenv.lib; {
       description = "Bitbucket command line interface";
@@ -855,7 +1053,7 @@ rec {
   bitstring = buildPythonPackage rec {
     name = "bitstring-3.1.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://python-bitstring.googlecode.com/files/${name}.zip";
       sha256 = "1i1p3rkj4ad108f23xyib34r4rcy571gy65paml6fk77knh0k66p";
     };
@@ -872,18 +1070,66 @@ rec {
     };
   };
 
+  bleach = buildPythonPackage rec {
+    version = "v1.4";
+    name = "bleach-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://github.com/jsocol/bleach/archive/${version}.tar.gz";
+      sha256 = "19v0zhvchz89w179rwkc4ah3cj2gbcng9alwa2yla89691g8b0b0";
+    };
+
+    propagatedBuildInputs = with self; [ six html5lib ];
+
+    meta = with stdenv.lib; {
+      description = "An easy, HTML5, whitelisting HTML sanitizer.";
+      longDescription = ''
+        Bleach is an HTML sanitizing library that escapes or strips markup and
+        attributes based on a white list. Bleach can also linkify text safely,
+        applying filters that Django's urlize filter cannot, and optionally
+        setting rel attributes, even on links already in the text.
+
+        Bleach is intended for sanitizing text from untrusted sources. If you
+        find yourself jumping through hoops to allow your site administrators
+        to do lots of things, you're probably outside the use cases. Either
+        trust those users, or don't.
+      '';
+      homepage = https://github.com/jsocol/bleach;
+      downloadPage = https://github.com/jsocol/bleach/releases;
+      license = licenses.asl20;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
+  blinker = buildPythonPackage rec {
+    name = "blinker-${version}";
+    version = "1.3";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/blinker/${name}.tar.gz";
+      md5 = "66e9688f2d287593a0e698cd8a5fbc57";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://pythonhosted.org/blinker/;
+      description = "Fast, simple object-to-object and broadcast signaling";
+      license = licenses.mit;
+    };
+  };
+
 
   blockdiag = buildPythonPackage rec {
-    name = "blockdiag-1.3.2";
+    name = "blockdiag-1.4.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/b/blockdiag/${name}.tar.gz";
-      md5 = "602a8750f312eeee84d6d138055dfae7";
+      sha256 = "0bc29sh8hj3hmhclifh1by0n6vg2pl9wkxb7fmljyw0arjas54bf";
     };
 
-    buildInputs = [ pep8 nose unittest2 docutils ];
+    buildInputs = with self; [ pep8 nose unittest2 docutils ];
 
-    propagatedBuildInputs = [ pillow webcolors funcparserlib ];
+    propagatedBuildInputs = with self; [ pillow webcolors funcparserlib ];
 
     # One test fails:
     #   ...
@@ -902,12 +1148,12 @@ rec {
 
   bpython = buildPythonPackage rec {
      name = "bpython-0.12";
-     src = fetchurl {
+     src = pkgs.fetchurl {
        url = "http://www.bpython-interpreter.org/releases/bpython-0.12.tar.gz";
        sha256 = "1ilf58qq7sazmcgg4f1wswbhcn2gb8qbbrpgm6gf0j2lbm60gabl";
      };
 
-     propagatedBuildInputs = [ modules.curses pygments ];
+     propagatedBuildInputs = with self; [ modules.curses pygments ];
      doCheck = false;
 
      meta = {
@@ -922,15 +1168,21 @@ rec {
 
   boto = buildPythonPackage rec {
     name = "boto-${version}";
-    version = "2.32.0";
+    version = "2.36.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/boto/boto/archive/${version}.tar.gz";
-      sha256 = "0bl5y7m0m84rz4q7hx783kxpj1n9wcm7dhv54bnx8cnanyd13cxn";
+      sha256 = "1zrlmri89q2090yh9ylx798q4yk54y39v7w7xj101fnwc1r6jlqr";
     };
 
-    # The tests seem to require AWS credentials.
-    doCheck = false;
+    checkPhase = ''
+      ${python.interpreter} tests/test.py default
+    '';
+
+    buildInputs = [ self.nose self.mock ];
+    propagatedBuildInputs = [ self.requests self.httpretty ];
+
+    patches = [ ../development/python-modules/boto/content-length-str.patch ];
 
     meta = {
       homepage = https://github.com/boto/boto;
@@ -947,20 +1199,19 @@ rec {
     };
   };
 
-
   botocore = buildPythonPackage rec {
-    version = "0.33.0";
+    version = "0.102.0";
     name = "botocore-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/b/botocore/${name}.tar.gz";
-      md5 = "6743c73a2e148abaa9c487a6e2ee53a3";
+      sha256 = "1266hwkcchzr9r2z1q1150zmk20p3d4a75p6nppi6w9bhsywxhnr";
     };
 
     propagatedBuildInputs =
-      [ pythonPackages.dateutil
-        pythonPackages.requests
-        pythonPackages.jmespath
+      [ self.dateutil
+        self.requests
+        self.jmespath
       ];
 
     meta = {
@@ -973,16 +1224,89 @@ rec {
     };
   };
 
+  bottle = buildPythonPackage rec {
+    version = "0.12.8";
+    name = "bottle-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/bottle/${name}.tar.gz";
+      sha256 = "1b2hq0l4nwh75s2w6wgiqlkj4q1qvyx6a94axl2k4lsym1aifpfd";
+    };
+
+    propagatedBuildInputs = with self; [ 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 = [ maintainers.koral ];
+    };
+  };
+
+  box2d = buildPythonPackage rec {
+    name = "box2d-${version}";
+    version = "2.3b0";
+    disabled = (!isPy27);
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/B/Box2D/Box2D-2.3b0.zip";
+      md5="25fc4f69cd580bdca0022ac3ace53865";
+    };
+
+    patches = [ ../development/python-modules/box2d/disable-test.patch ];
+
+    propagatedBuildInputs = [ pkgs.swig pkgs.box2d ];
+
+    meta = with stdenv.lib; {
+      homepage = https://code.google.com/p/pybox2d/;
+      description = ''
+        A 2D game physics library for Python under
+        the very liberal zlib license
+      '';
+      license = licenses.zlib;
+      platforms = platforms.all;
+      maintainers = [ maintainers.sepi ];
+    };
+  };
+
+  bugwarrior = buildPythonPackage rec {
+    name = "bugwarrior-${version}";
+    version = "1.0.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/b/bugwarrior/${name}.tar.gz";
+      # md5 = "09c93f86a27ffc092e69b46889a3bf50"; # provided by pypi website.
+      sha256 = "efe41756c152789f39006f157add9bedfa2b85d2cac15c067e635e37c70cb8f8";
+    };
+
+    buildInputs = with self; [ mock unittest2 nose /* jira megaplan */ ];
+    propagatedBuildInputs = with self; [
+      twiggy requests2 offtrac bugzilla taskw dateutil pytz keyring six
+      jinja2 pycurl dogpile_cache lockfile click
+    ];
+
+    # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite.
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      homepage =  http://github.com/ralphbean/bugwarrior;
+      description = "Sync github, bitbucket, bugzilla, and trac issues with taskwarrior";
+      license = licenses.gpl3Plus;
+      platforms = platforms.all;
+      maintainers = [ maintainers.pierron ];
+    };
+  };
 
   # bugz = buildPythonPackage (rec {
   #   name = "bugz-0.9.3";
   #
-  #   src = fetchgit {
+  #   src = pkgs.fetchgit {
   #     url = "https://github.com/williamh/pybugz.git";
   #     rev = "refs/tags/0.9.3";
   #   };
   #
-  #   propagatedBuildInputs = [ pythonPackages.argparse modules.ssl ];
+  #   propagatedBuildInputs = with self; [ self.argparse ];
   #
   #   doCheck = false;
   #
@@ -992,20 +1316,48 @@ rec {
   #   };
   # });
 
+  bugzilla = buildPythonPackage rec {
+    name = "bugzilla-${version}";
+    version = "1.1.0";
 
-  buildout = zc_buildout;
-  buildout152 = zc_buildout152;
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-bugzilla/python-${name}.tar.gz";
+      # md5 = "c95befd1fecad21f742beaa8180538c0"; # provided by pypi website.
+      sha256 = "11361635a4f1613803a0b9b93ba9126f7fd36180653f953e2590b1536d107d46";
+    };
+
+    patches = [ ../development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch ];
+
+    buildInputs = with self; [ pep8 coverage logilab_common ];
+    propagatedBuildInputs = [ self.requests2 ];
+
+    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 = [ maintainers.pierron ];
+    };
+  };
+
+  buildout = self.zc_buildout;
+  buildout152 = self.zc_buildout152;
 
   # A patched version of buildout, useful for buildout based development on Nix
   zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { };
 
-  zc_recipe_egg = zc_recipe_egg_buildout171;
-  zc_buildout = zc_buildout171;
-  zc_buildout2 = zc_buildout221;
+  zc_recipe_egg = self.zc_recipe_egg_buildout171;
+  zc_buildout = self.zc_buildout171;
+  zc_buildout2 = self.zc_buildout221;
   zc_buildout221 = buildPythonPackage rec {
     name = "zc.buildout-2.2.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz";
       md5 = "476a06eed08506925c700109119b6e41";
     };
@@ -1017,13 +1369,13 @@ rec {
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
-  
+
   zc_buildout171 = buildPythonPackage rec {
     name = "zc.buildout-1.7.1";
-    
+
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz";
       md5 = "8834a21586bf2be53dc412002241a996";
     };
@@ -1035,13 +1387,13 @@ rec {
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
-  
+
   zc_buildout152 = buildPythonPackage rec {
     name = "zc.buildout-1.5.2";
-    
+
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz";
       md5 = "87f7b3f8d13926c806242fd5f6fe36f7";
     };
@@ -1064,21 +1416,21 @@ rec {
     inherit version;
     name = "zc.recipe.egg-${version}";
 
-    buildInputs = [ buildout ];
+    buildInputs = with self; [ buildout ];
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       inherit md5;
       url = "https://pypi.python.org/packages/source/z/zc.recipe.egg/zc.recipe.egg-${version}.tar.gz";
     };
   };
-  zc_recipe_egg_buildout171 = zc_recipe_egg_fun {
-    buildout = zc_buildout171;
+  zc_recipe_egg_buildout171 = self.zc_recipe_egg_fun {
+    buildout = self.zc_buildout171;
     version = "1.3.2";
     md5 = "1cb6af73f527490dde461d3614a36475";
   };
-  zc_recipe_egg_buildout2 = zc_recipe_egg_fun {
-    buildout = zc_buildout2;
+  zc_recipe_egg_buildout2 = self.zc_recipe_egg_fun {
+    buildout = self.zc_buildout2;
     version = "2.0.1";
     md5 = "5e81e9d4cc6200f5b1abcf7c653dd9e3";
   };
@@ -1087,7 +1439,7 @@ rec {
     name = "bunch-1.0.1";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/b/bunch/${name}.tar.gz";
       sha256 = "1akalx2pd1fjlvrq69plvcx783ppslvikqdm93z2sdybq07pmish";
     };
@@ -1095,19 +1447,37 @@ rec {
   });
 
 
+  cairocffi = buildPythonPackage rec {
+    name = "cairocffi-0.5.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/cairocffi/${name}.tar.gz";
+      md5 = "e3fa4002583bfaa88b156e1af9c75bde";
+    };
+
+    propagatedBuildInputs = with self; [ cffi ];
+
+    meta = {
+      homepage = https://github.com/SimonSapin/cairocffi;
+      license = "bsd";
+      description = "cffi-based cairo bindings for Python";
+    };
+  };
+
+
   carrot = buildPythonPackage rec {
     name = "carrot-0.10.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/carrot/${name}.tar.gz";
       md5 = "530a0614de3a669314c3acd4995c54d5";
     };
 
-    buildInputs = [ pythonPackages.nose ];
+    buildInputs = with self; [ self.nose ];
 
     propagatedBuildInputs =
-      [ pythonPackages.amqplib
-        pythonPackages.anyjson
+      [ self.amqplib
+        self.anyjson
       ];
 
     doCheck = false; # depends on the network
@@ -1119,17 +1489,76 @@ rec {
   };
 
 
+  celery = buildPythonPackage rec {
+    name = "celery-${version}";
+    version = "3.1.17";
+
+    disabled = pythonOlder "2.6";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/celery/${name}.tar.gz";
+      sha256 = "0qh38xnbgbj7awpjxxvjlddyafxyyy3fhxcas3i8dmcb4r9vdqng";
+      md5 = "e37f5d93b960bf68fc26c1325f30fd16";
+    };
+
+    buildInputs = with self; [ mock nose unittest2 ];
+    propagatedBuildInputs = with self; [ kombu billiard pytz anyjson ];
+
+    # tests broken on python 2.6? https://github.com/nose-devs/nose/issues/806
+    doCheck = pythonAtLeast "2.7";
+
+    meta = {
+      homepage = https://github.com/celery/celery/;
+      description = "Distributed task queue";
+      license = licenses.bsd3;
+    };
+  };
+
+
+  certifi = buildPythonPackage rec {
+    name = "certifi-${version}";
+    version = "14.05.14";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/certifi/${name}.tar.gz";
+      sha256 = "0s8vxzfz6s4m6fvxc7z25k9j35w0rh6jkw3wwcd1az1mssncn6qy";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://certifi.io/;
+      description = "Python package for providing Mozilla's CA Bundle";
+      license = licenses.isc;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
+  characteristic = buildPythonPackage rec {
+    name = "characteristic-14.1.0";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/characteristic/${name}.tar.gz";
+      md5 = "68ea7e28997fc57d3631791ec0567a05";
+    };
+
+    buildInputs = with self; [ self.pytest ];
+
+    meta = {
+      description = "Python attributes without boilerplate";
+      homepage = https://characteristic.readthedocs.org;
+    };
+  };
+
+
   cheetah = buildPythonPackage rec {
     version = "2.4.4";
     name = "cheetah-${version}";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${version}.tar.gz";
       md5 = "853917116e731afbc8c8a43c37e6ddba";
     };
 
-    propagatedBuildInputs = [ pythonPackages.markdown ];
+    propagatedBuildInputs = with self; [ self.markdown ];
 
     meta = {
       homepage = http://www.cheetahtemplate.org/;
@@ -1142,7 +1571,7 @@ rec {
     name = "cherrypy-${version}";
     version = "3.2.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://download.cherrypy.org/cherrypy/${version}/CherryPy-${version}.tar.gz";
       sha256 = "14dn129h69wj0h8yr0bjwbrk8kygl6mkfnxc5m3fxhlm4xb8hnnw";
     };
@@ -1157,29 +1586,74 @@ rec {
   });
 
 
-  click = buildPythonPackage {
-    name = "click-2.1";
-    src = fetchurl {
-      url = https://pypi.python.org/packages/source/c/click/click-2.1.tar.gz;
-      md5 = "0ba97ba09af82c56e2d35f3412d0aa6e";
+  cjson = buildPythonPackage rec {
+    name = "python-cjson-${version}";
+    version = "1.1.0";
+    disabled = isPy3k || isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-cjson/${name}.tar.gz";
+      sha256 = "a01fabb7593728c3d851e1cd9a3efbd18f72650a31a5aa8a74018640da3de8b3";
     };
-    meta = {
-      homepage = "http://click.pocoo.org/";
-      description = "Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary.";
-      license = "bsd, 3-clause";
+
+    meta = with stdenv.lib; {
+      description = "This module implements a very fast JSON encoder/decoder for Python.";
+      homepage    = "http://ag-projects.com/";
+      license     = licenses.lgpl2;
+      platforms   = platforms.all;
+    };
+  };
+
+  clf = buildPythonPackage rec {
+    name = "clf-${version}";
+    version = "0.5.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/clf/${name}.tar.gz";
+      sha256 = "04lqd2i4fjs606b0q075yi9xksk567m0sfph6v6j80za0hvzqyy5";
+    };
+
+    # 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 = [ maintainers.koral ];
     };
   };
 
+  click = buildPythonPackage rec {
+    name = "click-3.3";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/click/${name}.tar.gz";
+      sha256 = "1rfn8ml80rw3hkgpm1an5p3vdyhh7hzx4zynr8dhfl7bsw28r77p";
+    };
+
+    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 = with licenses; [ bsd3 ];
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
 
   clepy = buildPythonPackage rec {
     name = "clepy-0.3.20";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/c/clepy/${name}.tar.gz";
       sha256 = "16vibfxms5z4ld8gbkra6dkhqm2cc3jnn0fwp7mw70nlwxnmm51c";
     };
 
-    buildInputs = [ pythonPackages.mock pythonPackages.nose pythonPackages.decorator ];
+    buildInputs = with self; [ self.mock self.nose self.decorator ];
 
     meta = {
       homepage = http://code.google.com/p/clepy/;
@@ -1192,7 +1666,7 @@ rec {
     name = "clientform-0.2.10";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz";
       sha256 = "0dydh3i1sx7rrj6d0gj375wkjpiivm7jjlsimw6hmwv4ck7yf1wm";
     };
@@ -1211,7 +1685,7 @@ rec {
     version = "2.3";
     name    = "cogapp-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/c/cogapp/${name}.tar.gz";
       sha256 = "0gzmzbsk54r1qa6wd0yg4zzdxvn2f19ciprr2acldxaknzrpllnn";
     };
@@ -1232,12 +1706,12 @@ rec {
   colorama = buildPythonPackage rec {
     name = "colorama-0.2.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/c/colorama/colorama-0.2.5.tar.gz";
       md5 = "308c6e38917bdbfc4d3b0783c614897d";
     };
 
-    propagatedBuildInputs = [ pythonPackages.clientform ];
+    propagatedBuildInputs = with self; [ self.clientform ];
 
     doCheck = false;
 
@@ -1252,18 +1726,18 @@ rec {
   coilmq = buildPythonPackage (rec {
     name = "coilmq-0.6.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/C/CoilMQ/CoilMQ-0.6.1.tar.gz";
       md5 = "5f39727415b837abd02651eeb2721749";
     };
 
-    propagatedBuildInputs = [ pythonPackages.stompclient ];
+    propagatedBuildInputs = with self; [ self.stompclient ];
 
     preConfigure = ''
       sed -i '/distribute/d' setup.py
     '';
 
-    buildInputs = [ pythonPackages.coverage pythonPackages.sqlalchemy ];
+    buildInputs = with self; [ self.coverage self.sqlalchemy ];
 
     # ValueError: Could not parse auth file:
     # /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini
@@ -1278,14 +1752,14 @@ rec {
 
 
   colander = buildPythonPackage rec {
-    name = "colander-1.0b1";
+    name = "colander-1.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/colander/${name}.tar.gz";
-      md5 = "89f2cf4b5c87d43f7917d6a0d4872e6a";
+      md5 = "058576123da7216288c079c9f47693f8";
     };
 
-    propagatedBuildInputs = [ pythonPackages.translationstring ];
+    propagatedBuildInputs = with self; [ self.translationstring self.iso8601 ];
 
     meta = {
       maintainers = [
@@ -1296,23 +1770,43 @@ rec {
     };
   };
 
+  # Backported version of the ConfigParser library of Python 3.3
+  configparser = if isPy3k then null else buildPythonPackage rec {
+    name = "configparser-${version}";
+    version = "3.3.0r2";
+
+    # running install_egg_info
+    # error: [Errno 9] Bad file descriptor: '<stdout>'
+    disabled = isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/configparser/${name}.tar.gz";
+      sha256 = "6a2318590dfc4013fc5bf53c2bec14a8cb455a232295eb282a13f94786c4b0b2";
+    };
+
+    meta = {
+      maintainers = [ ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
 
   ColanderAlchemy = buildPythonPackage rec {
     name = "ColanderAlchemy-0.2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/C/ColanderAlchemy/${name}.tar.gz";
       md5 = "b054837bd2753cbf15f7d5028cba421b";
     };
 
-    buildInputs = [ unittest2 ];
-    propagatedBuildInputs = [ colander sqlalchemy9 ];
+    buildInputs = with self; [ unittest2 ];
+    propagatedBuildInputs = with self; [ colander sqlalchemy9 ];
 
     # string: argument name cannot be overridden via info kwarg.
     doCheck = false;
 
     meta = {
-      description = "Autogenerate Colander schemas based on SQLAlchemy models.";
+      description = "Autogenerate Colander schemas based on SQLAlchemy models";
       homepage = https://github.com/stefanofontanelli/ColanderAlchemy;
       license = licenses.mit;
     };
@@ -1322,7 +1816,7 @@ rec {
   configobj = buildPythonPackage (rec {
     name = "configobj-5.0.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/configobj/${name}.tar.gz";
       md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6";
     };
@@ -1330,8 +1824,10 @@ rec {
     # error: invalid command 'test'
     doCheck = false;
 
+    propagatedBuildInputs = with self; [ six ];
+
     meta = {
-      description = "Config file reading, writing and validation.";
+      description = "Config file reading, writing and validation";
       homepage = http://pypi.python.org/pypi/configobj;
       license = licenses.bsd3;
       maintainers = [ stdenv.lib.maintainers.garbas ];
@@ -1343,12 +1839,12 @@ rec {
     version = "1.1.fb10";
     name = "configshell-fb-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/agrover/configshell-fb/archive/v${version}.tar.gz";
       sha256 = "1dd87xvm98nk3jzybb041gjdahi2z9b53pwqhyxcfj4a91y82ndy";
     };
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       pyparsing
       modules.readline
       urwid
@@ -1363,14 +1859,14 @@ rec {
 
 
   construct = buildPythonPackage rec {
-    name = "construct-2.5.1";
+    name = "construct-2.5.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/c/construct/${name}.tar.gz";
-      sha256 = "08qksl87vr6g2wjxwsyrjh4w6v8bfmcgrcgln7irqvw5vv7qgqss";
+      sha256 = "084h02p0m8lhmlywlwjdg0kd0hd6sz481c96qwcm5wddxrqn4nv6";
     };
 
-    propagatedBuildInputs = [ six ];
+    propagatedBuildInputs = with self; [ six ];
 
     meta = with stdenv.lib; {
       description = "Powerful declarative parser (and builder) for binary data";
@@ -1385,18 +1881,18 @@ rec {
   contextlib2 = buildPythonPackage rec {
     name = "contextlib2-0.4.0";
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "https://pypi.python.org/packages/source/c/contextlib2/${name}.tar.gz";
       md5 = "ea687207db25f65552061db4a2c6727d";
     };
   };
 
   coverage = buildPythonPackage rec {
-    name = "coverage-3.6";
+    name = "coverage-3.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/coverage/${name}.tar.gz";
-      md5 = "67d4e393f4c6a5ffc18605409d2aa1ac";
+      md5 = "055d82e6849d882ec6cf2ae1faca8e56";
     };
 
     meta = {
@@ -1407,28 +1903,41 @@ rec {
   };
 
   covCore = buildPythonPackage rec {
-    name = "cov-core-1.7";
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/c/cov-core/cov-core-1.7.tar.gz";
-      md5 = "59c1e22e636633e10120beacbf45b28c";
+    name = "cov-core-1.15.0";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/c/cov-core/${name}.tar.gz";
+      md5 = "f519d4cb4c4e52856afb14af52919fe6";
     };
     meta = {
       description = "plugin core for use by pytest-cov, nose-cov and nose2-cov";
     };
-    propagatedBuildInputs = [ pythonPackages.coverage ];
+    propagatedBuildInputs = with self; [ self.coverage ];
+  };
+
+  crcmod = buildPythonPackage rec {
+    name = "crcmod-1.7";
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/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 = stdenv.lib.licenses.mit;
+    };
   };
 
   cython = buildPythonPackage rec {
     name = "Cython-0.20.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.cython.org/release/${name}.tar.gz";
       sha256 = "0v3nc9z5ynnnjdgcgkyy5g9wazmkjv53nnpjal1v3mr199s6799i";
     };
 
     setupPyBuildFlags = ["--build-base=$out"];
 
-    buildInputs = [ pkgs.pkgconfig ];
+    buildInputs = with self; [ pkgs.pkgconfig ];
 
     meta = {
       description = "An interpreter to help writing C extensions for Python 2";
@@ -1439,10 +1948,10 @@ rec {
   cryptacular = buildPythonPackage rec {
     name = "cryptacular-1.4.1";
 
-    buildInputs = [ coverage nose ];
-    propagatedBuildInputs = [ pbkdf2 modules.crypt ];
+    buildInputs = with self; [ coverage nose ];
+    propagatedBuildInputs = with self; [ pbkdf2 modules.crypt ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/cryptacular/${name}.tar.gz";
       md5 = "fe12232ac660185186dd8057d8ca7b0e";
     };
@@ -1455,12 +1964,49 @@ rec {
     };
   };
 
-  detox = pythonPackages.buildPythonPackage rec {
+  cryptography = buildPythonPackage rec {
+    name = "cryptography-0.6.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/cryptography/${name}.tar.gz";
+      sha256 = "17ij2acy28ryxahiq64lpf71d5z3sa9xhr4pjv7a1v81189i0j82";
+    };
+
+    buildInputs = [ pkgs.openssl self.pretend self.cryptography_vectors
+                    self.iso8601 self.pyasn1 self.pytest ];
+    propagatedBuildInputs = [ self.six self.cffi  ];
+  };
+
+  cryptography_vectors = buildPythonPackage rec {
+    name = "cryptography_vectors-0.6.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/c/cryptography-vectors/${name}.tar.gz";
+      sha256 = "1ks1xdb1ff74qmjdzqcfvkrwsbnwpsjgg3cy18zh37p8985cvl3r";
+    };
+  };
+
+  pretend = buildPythonPackage rec {
+    name = "pretend-1.0.8";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pretend/pretend-1.0.8.tar.gz";
+      sha256 = "0r5r7ygz9m6d2bklflbl84cqhjkc2q12xgis8268ygjh30g2q3wk";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/alex/pretend;
+      license = licenses.bsd3;
+    };
+  };
+
+
+  detox = self.buildPythonPackage rec {
     name = "detox-0.9.3";
 
-    propagatedBuildInputs = with pythonPackages; [ tox py eventlet ];
+    propagatedBuildInputs = with self; [ tox py eventlet ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/d/detox/detox-0.9.3.tar.gz";
       md5 = "b52588ec61cd4c2d33e419677a5eac8c";
     };
@@ -1475,7 +2021,7 @@ rec {
   pbkdf2 = buildPythonPackage rec {
     name = "pbkdf2-1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pbkdf2/${name}.tar.gz";
       md5 = "40cda566f61420490206597243dd869f";
     };
@@ -1491,12 +2037,12 @@ rec {
   bcrypt = buildPythonPackage rec {
     name = "bcrypt-1.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/b/bcrypt/${name}.tar.gz";
       md5 = "c5df008669d17dd6eeb5e2042d5e136f";
     };
 
-    buildInputs = [ cffi pycparser mock pytest py ];
+    buildInputs = with self; [ pycparser mock pytest py ] ++ optionals (!isPyPy) [ cffi ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -1504,14 +2050,14 @@ rec {
   };
 
   cffi = buildPythonPackage rec {
-    name = "cffi-0.7.2";
+    name = "cffi-0.8.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/cffi/${name}.tar.gz";
-      md5 = "d329f5cb2053fd31dafc02e2c9ef0299";
+      sha256 = "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5";
     };
 
-    propagatedBuildInputs = [ pkgs.libffi pycparser ];
+    propagatedBuildInputs = with self; [ pkgs.libffi pycparser ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -1519,15 +2065,15 @@ rec {
   };
 
   pycollada = buildPythonPackage rec {
-    name = "pycollada-0.4";
+    name = "pycollada-0.4.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pycollada/${name}.tar.gz";
-      md5 = "5d0f00c035491b945cdccdfd8a698ad2";
+      sha256 = "0i50lh98550pwr95zgzrgiqzsspm09wl52xlv83y5nrsz4mblylv";
     };
 
     # pycollada-0.4 needs python-dateutil==1.5
-    buildInputs = [ dateutil_1_5 numpy ];
+    buildInputs = with self; [ dateutil_1_5 numpy ];
 
     # Some tests fail because they refer to test data files that don't exist
     # (upstream packaging issue)
@@ -1545,7 +2091,7 @@ rec {
   pycparser = buildPythonPackage rec {
     name = "pycparser-2.10";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pycparser/${name}.tar.gz";
       md5 = "d87aed98c8a9f386aa56d365fe4d515f";
     };
@@ -1559,46 +2105,124 @@ rec {
   };
 
   pytest = buildPythonPackage rec {
-    name = "pytest-2.5.1";
+    name = "pytest-2.6.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pytest/${name}.tar.gz";
-      md5 = "4e155a0134e6757b37cc6698c20f3e9f";
+      md5 = "0a1735fb1d481ef3864f34678607ba85";
     };
 
     preCheck = ''
-      # broken on python3, fixed in master, remove in next release
-      rm doc/en/plugins_index/test_plugins_index.py
-
       # don't test bash builtins
       rm testing/test_argcomplete.py
-
-      # yaml test are failing
-      rm doc/en/example/nonpython/test_simple.yml
     '';
 
-    propagatedBuildInputs = [ py ]
+    propagatedBuildInputs = with self; [ py ]
       ++ (optional isPy26 argparse)
       ++ stdenv.lib.optional
         pkgs.config.pythonPackages.pytest.selenium or false
-        pythonPackages.selenium;
+        self.selenium;
 
     meta = with stdenv.lib; {
-      maintainers = with maintainers; [ iElectric lovek323 ];
+      maintainers = with maintainers; [ iElectric lovek323 madjar ];
       platforms = platforms.unix;
     };
   };
 
+  pytestcache = buildPythonPackage rec {
+    name = "pytest-cache-1.0";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pytest-cache/pytest-cache-1.0.tar.gz";
+      sha256 = "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y";
+    };
+
+    propagatedBuildInputs = with self ; [ pytest execnet ];
+
+    meta = {
+      license = stdenv.lib.licenses.mit;
+      website = "https://pypi.python.org/pypi/pytest-cache/";
+      description = "pytest plugin with mechanisms for caching across test runs";
+    };
+  };
+
+  pytestflakes = buildPythonPackage rec {
+    name = "pytset-flakes-0.2";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pytest-flakes/pytest-flakes-0.2.zip";
+      sha256 = "0n4mc2kaqasxmj8jid7jlss7nwgz4qgglcwdyrqvh08dilnp354i";
+    };
+
+    propagatedBuildInputs = with self ; [ pytest pyflakes pytestcache ];
+
+    meta = {
+      license = stdenv.lib.licenses.mit;
+      website = "https://pypi.python.org/pypi/pytest-flakes";
+      description = "pytest plugin to check source code with pyflakes";
+    };
+  };
+
+  pytestpep8 = buildPythonPackage rec {
+    name = "pytest-pep8";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pytest-pep8/pytest-pep8-1.0.6.tar.gz";
+      sha256 = "06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3";
+    };
+
+    propagatedBuildInputs = with self ; [ pytest pytestcache pep8 ];
+
+    meta = {
+      license = stdenv.lib.licenses.mit;
+      website = "https://pypi.python.org/pypi/pytest-pep8";
+      description = "pytest plugin to check PEP8 requirements";
+    };
+  };
+
+  pytestquickcheck = buildPythonPackage rec {
+    name = "pytest-quickcheck-0.8.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pytest-quickcheck/pytest-quickcheck-0.8.2.tar.gz";
+      sha256 = "047w4zwdsnlzmsc5f3rapzbzd2frlvz9nnp8v4b48fjmqmxassh3";
+    };
+
+    propagatedBuildInputs = with self ; [ pytest pytestflakes pytestpep8 tox ];
+
+    meta = {
+      license = stdenv.lib.licenses.asl20;
+      website = "https://pypi.python.org/pypi/pytest-quickcheck";
+      description = "pytest plugin to generate random data inspired by QuickCheck";
+    };
+  };
+
+  pytestcov = buildPythonPackage (rec {
+    name = "pytest-cov-1.8.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pytest-cov/${name}.tar.gz";
+      md5 = "76c778afa2494088270348be42d759fc";
+    };
+
+   buildInputs = with self; [ covCore pytest ];
+
+    meta = {
+      description = "py.test plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing";
+
+      homepage = https://github.com/schlamar/pytest-cov;
+
+      license = stdenv.lib.licenses.mit;
+    };
+  });
+
   pytest_xdist = buildPythonPackage rec {
     name = "pytest-xdist-1.8";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pytest-xdist/pytest-xdist-1.8.zip";
       md5 = "9c0b8efe9d43b460f8cf049fa46ce14d";
     };
 
-    buildInputs = [ pytest ];
-    propagatedBuildInputs = [ execnet ];
+    buildInputs = with self; [ pytest ];
+    propagatedBuildInputs = with self; [ execnet ];
 
     meta = {
       description = "py.test xdist plugin for distributed testing and loop-on-failing modes";
@@ -1608,7 +2232,7 @@ rec {
 
   cssselect = buildPythonPackage rec {
     name = "cssselect-0.7.1";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/cssselect/cssselect-0.7.1.tar.gz";
       md5 = "c6c5e9a2e7ca226ce03f6f67a771379c";
     };
@@ -1619,12 +2243,12 @@ rec {
   cssutils = buildPythonPackage (rec {
     name = "cssutils-0.9.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = http://pypi.python.org/packages/source/c/cssutils/cssutils-0.9.9.zip;
       sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp";
     };
 
-    buildInputs = [ pythonPackages.mock ];
+    buildInputs = with self; [ self.mock ];
 
     # couple of failing tests
     doCheck = false;
@@ -1642,12 +2266,12 @@ rec {
     name = "darcsver-1.7.4";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz";
       sha256 = "1yb1c3jxqvy4r3qiwvnb86qi5plw6018h15r3yk5ji3nk54qdcb6";
     };
 
-    buildInputs = [ pythonPackages.mock ];
+    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
@@ -1670,12 +2294,12 @@ rec {
   dateutil = buildPythonPackage (rec {
     name = "dateutil-2.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
       sha256 = "0s74ad6r789810s10dxgvaf48ni6adac2icrdad34zxygqq6bj7f";
     };
 
-    propagatedBuildInputs = [ pythonPackages.six ];
+    propagatedBuildInputs = with self; [ self.six ];
 
     meta = {
       description = "Powerful extensions to the standard datetime module";
@@ -1688,12 +2312,12 @@ rec {
   dateutil_1_5 = buildPythonPackage (rec {
     name = "dateutil-1.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
       sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg";
     };
 
-    propagatedBuildInputs = [ pythonPackages.six ];
+    propagatedBuildInputs = with self; [ self.six ];
 
     meta = {
       description = "Powerful extensions to the standard datetime module";
@@ -1702,11 +2326,55 @@ rec {
     };
   });
 
+  # flexget requires 2.1
+  dateutil_2_1 = buildPythonPackage (rec {
+    name = "dateutil-2.1";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
+      sha256 = "1vlx0lpsxjxz64pz87csx800cwfqznjyr2y7nk3vhmzhkwzyqi2c";
+    };
+
+    propagatedBuildInputs = with self; [ self.six ];
+
+    buildInputs = [ pkgs.glibcLocales ];
+
+    preBuild = ''
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    meta = {
+      description = "Powerful extensions to the standard datetime module";
+      homepage = http://pypi.python.org/pypi/python-dateutil;
+      license = "BSD-style";
+    };
+  });
+
+  ddar = buildPythonPackage {
+    name = "ddar-1.0";
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/basak/ddar/archive/v1.0.tar.gz";
+      sha256 = "08lv7hrbhcv6hbl01sx8fgx3l8s2nn8rvcicdidafwm87bvi2nmr";
+    };
+
+    preBuild = ''
+      make -f Makefile.prep synctus/ddar_pb2.py
+    '';
+
+    propagatedBuildInputs = with self; [ protobuf modules.sqlite3 ];
+
+    meta = {
+      description = "Unix de-duplicating archiver";
+      license = licenses.gpl3;
+      homepage = https://github.com/basak/ddar;
+    };
+  };
 
   decorator = buildPythonPackage rec {
     name = "decorator-3.4.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/decorator/${name}.tar.gz";
       md5 = "1e8756f719d746e2fc0dd28b41251356";
     };
@@ -1720,22 +2388,22 @@ rec {
   deform = buildPythonPackage rec {
     name = "deform-0.9.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz";
       sha256 = "0ympsjhxz5v8h4hi1mv811h064221bh26d68l9hv1x6m7sxbxpd0";
     };
 
-    buildInputs = [] ++ optional isPy26 unittest2;
+    buildInputs = with self; [] ++ optional isPy26 unittest2;
 
     propagatedBuildInputs =
-      [ pythonPackages.beautifulsoup4
-        pythonPackages.peppercorn
-        pythonPackages.colander
-        pythonPackages.translationstring
-        pythonPackages.chameleon
-        pythonPackages.zope_deprecation
-        pythonPackages.coverage
-        pythonPackages.nose
+      [ self.beautifulsoup4
+        self.peppercorn
+        self.colander
+        self.translationstring
+        self.chameleon
+        self.zope_deprecation
+        self.coverage
+        self.nose
       ];
 
     meta = {
@@ -1746,26 +2414,26 @@ rec {
       platforms = stdenv.lib.platforms.all;
     };
   };
-  
+
   deform2 = buildPythonPackage rec {
     name = "deform-2.0a2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz";
       sha256 = "1gfaf1d8zp0mp4h229srlffxdp86w1nni9g4aqsshxysr23x591z";
     };
 
-    buildInputs = [] ++ optional isPy26 unittest2;
+    buildInputs = with self; [] ++ optional isPy26 unittest2;
 
     propagatedBuildInputs =
-      [ pythonPackages.beautifulsoup4
-        pythonPackages.peppercorn
-        pythonPackages.colander
-        pythonPackages.translationstring
-        pythonPackages.chameleon
-        pythonPackages.zope_deprecation
-        pythonPackages.coverage
-        pythonPackages.nose
+      [ self.beautifulsoup4
+        self.peppercorn
+        self.colander
+        self.translationstring
+        self.chameleon
+        self.zope_deprecation
+        self.coverage
+        self.nose
       ];
 
     meta = {
@@ -1781,12 +2449,12 @@ rec {
   deform_bootstrap = buildPythonPackage rec {
     name = "deform_bootstrap-0.2.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/deform_bootstrap/${name}.tar.gz";
       sha256 = "1hgq3vqsfqdmlyahnlc40w13viawhpzqf4jzigsggdb41x545fda";
     };
 
-    propagatedBuildInputs = [ deform ];
+    propagatedBuildInputs = with self; [ deform ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -1798,7 +2466,7 @@ rec {
   demjson = buildPythonPackage rec {
     name = "demjson-1.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/d/demjson/${name}.tar.gz";
       sha256 = "0abf7wqqq7rk1sycy47ayn5p93yy7gjq50cb2z69wmik1qqrr60x";
     };
@@ -1819,12 +2487,12 @@ rec {
     };
   };
 
-  derpconf = pythonPackages.buildPythonPackage rec {
+  derpconf = self.buildPythonPackage rec {
     name = "derpconf-0.4.9";
 
-    propagatedBuildInputs = [ six ];
+    propagatedBuildInputs = with self; [ six ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/d/derpconf/${name}.tar.gz";
       md5 = "a164807d7bf0c4adf1de781305f29b82";
     };
@@ -1836,12 +2504,145 @@ rec {
     };
   };
 
+  discogs_client = buildPythonPackage rec {
+    name = "discogs-client-2.0.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/discogs-client/${name}.tar.gz";
+      md5 = "2cc57e1d134aa93404e779b9311676fa";
+    };
+
+    propagatedBuildInputs = with self; [ oauth2 requests ];
+
+    meta = {
+      description = "Official Python API client for Discogs";
+      license = licenses.bsd2;
+      homepage = "https://github.com/discogs/discogs_client";
+    };
+  };
+
+  dns = buildPythonPackage rec {
+    name = "dnspython-${version}";
+    version = "1.12.0";
+
+    src = pkgs.fetchurl {
+      url = "http://www.dnspython.org/kits/1.12.0/dnspython-1.12.0.tar.gz";
+      sha256 = "0kvjlkp96qzh3j31szpjlzqbp02brixh4j4clnpw80b0hspq5yq3";
+    };
+  };
+
+  docker = buildPythonPackage rec {
+    name = "docker-py-0.4.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz";
+      md5 = "21ab8fd729105487e6423b654d6c0860";
+    };
+
+    propagatedBuildInputs = with self; [ six requests websocket_client ];
+
+    # Version conflict
+    doCheck = false;
+
+    meta = {
+      description = "An API client for docker written in Python";
+      homepage = https://github.com/docker/docker-py;
+      license = licenses.asl20;
+    };
+  };
+
+  dockerpty = buildPythonPackage rec {
+    name = "dockerpty-0.3.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dockerpty/${name}.tar.gz";
+      md5 = "1f97b24d2f4b2c345f176f91655002dd";
+    };
+
+    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_registry_core = buildPythonPackage rec {
+    name = "docker-registry-core-2.0.3";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/docker-registry-core/${name}.tar.gz";
+      md5 = "610ef9395f2e9a2f91c68d13325fce7b";
+    };
+
+    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 = buildPythonPackage rec {
+    name = "docker-registry-0.9.1";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/docker-registry/${name}.tar.gz";
+      sha256 = "1svm1h59sg4bwj5cy10m016gj0xpiin15nrz5z66h47sbkndvlw3";
+    };
+
+    DEPS = "loose";
+
+    doCheck = false; # requires redis server
+    propagatedBuildInputs = with self; [
+      setuptools docker_registry_core blinker flask gevent gunicorn pyyaml
+      requests2 rsa sqlalchemy9 setuptools backports_lzma pyasn1 m2crypto
+    ];
+
+    patchPhase = "> requirements/main.txt";
+
+    # Default config uses needed env variables
+    postInstall = ''
+      ln -s $out/lib/python2.7/site-packages/config/config_sample.yml $out/lib/python2.7/site-packages/config/config.yml
+    '';
+
+    meta = {
+      description = "Docker registry core package";
+      homepage = https://github.com/docker/docker-registry;
+      license = licenses.asl20;
+    };
+  };
+
+  docopt = buildPythonPackage rec {
+    name = "docopt-0.6.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/docopt/${name}.tar.gz";
+      md5 = "4bc74561b37fad5d3e7d037f82a4c3b1";
+    };
+
+    meta = {
+      description = "Pythonic argument parser, that will make you smile";
+      homepage = http://docopt.org/;
+      license = licenses.mit;
+    };
+  };
+
   dogpile_cache = buildPythonPackage rec {
     name = "dogpile.cache-0.5.4";
 
-    propagatedBuildInputs = [ dogpile_core ];
+    propagatedBuildInputs = with self; [ dogpile_core ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/d/dogpile.cache/dogpile.cache-0.5.4.tar.gz";
       md5 = "513b77ba1bd0c31bb15dd9dd0d8471af";
     };
@@ -1849,7 +2650,7 @@ rec {
     doCheck = false;
 
     meta = {
-      description = "A caching front-end based on the Dogpile lock.";
+      description = "A caching front-end based on the Dogpile lock";
       homepage = http://bitbucket.org/zzzeek/dogpile.cache;
       license = licenses.bsd3;
     };
@@ -1858,7 +2659,7 @@ rec {
   dogpile_core = buildPythonPackage rec {
     name = "dogpile.core-0.4.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/d/dogpile.core/dogpile.core-0.4.1.tar.gz";
       md5 = "01cb19f52bba3e95c9b560f39341f045";
     };
@@ -1872,11 +2673,28 @@ rec {
     };
   };
 
+  dotfiles = buildPythonPackage rec {
+    name = "dotfiles-0.6.3";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dotfiles/${name}.tar.gz";
+      md5 = "95a0792eb92a8fc0db8a7e59389470fe";
+    };
+
+    doCheck = true;
+
+    meta = {
+      description = "Easily manage your dotfiles";
+      homepage = https://github.com/jbernard/dotfiles;
+      license = licenses.isc;
+    };
+  };
+
   dpkt = buildPythonPackage rec {
     name = "dpkt-1.8";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://dpkt.googlecode.com/files/${name}.tar.gz";
       sha256 = "01q5prynymaqyfsfi2296xncicdpid2hs3yyasim8iigvkwy4vf5";
     };
@@ -1896,7 +2714,7 @@ rec {
   urllib3 = buildPythonPackage rec {
     name = "urllib3-1.8";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/u/urllib3/${name}.tar.gz";
       sha256 = "0pdigfxkq8mhzxxsn6isx8c4h9azqywr1k18yanwyxyj8cdzm28s";
     };
@@ -1909,7 +2727,7 @@ rec {
       nosetests --cover-min-percentage 70
     '';
 
-    buildInputs = [ coverage tornado mock nose ];
+    buildInputs = with self; [ coverage tornado mock nose ];
 
     meta = with stdenv.lib; {
       description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
@@ -1920,14 +2738,15 @@ rec {
 
 
   dropbox = buildPythonPackage rec {
-    name = "dropbox-2.0.0";
+    name = "dropbox-2.2.0";
+    doCheck = false; # python 2.7.9 does verify ssl certificates
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/d/dropbox/${name}.zip";
-      sha256 = "1bi2z1lql6ryylfflmizhqn98ab55777vn7n5krhqz40pdcjilkx";
+      sha256 = "069jrwb67brqh0sics8fgqdf2mv5y5jl9k5729x8vf80pq2c9p36";
     };
 
-    propagatedBuildInputs = [ urllib3 mock setuptools ];
+    propagatedBuildInputs = with self; [ urllib3 mock setuptools ];
 
     meta = with stdenv.lib; {
       description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs";
@@ -1937,17 +2756,62 @@ rec {
   };
 
 
+  elasticsearch = buildPythonPackage (rec {
+    name = "elasticsearch-1.4.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/e/elasticsearch/${name}.tar.gz";
+      md5 = "14a758debd2296d923cb6c958db98eba";
+    };
+
+    # Check is disabled because running them destroy the content of the local cluster!
+    # https://github.com/elasticsearch/elasticsearch-py/tree/master/test_elasticsearch
+    doCheck = false;
+
+    meta = {
+      description = "Official low-level client for Elasticsearch";
+
+      homepage = https://github.com/elasticsearch/elasticsearch-py;
+
+      license = stdenv.lib.licenses.asl20;
+    };
+  });
+
+
+  elasticsearchdsl = buildPythonPackage (rec {
+    name = "elasticsearch-dsl-0.0.3";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/e/elasticsearch-dsl/${name}.tar.gz";
+      md5 = "6cbc9ed7aefb3ef804be4e3b318b2570";
+    };
+
+    buildInputs = with self; [ covCore dateutil elasticsearch mock pytest pytestcov unittest2 urllib3 ];
+
+    # ImportError: No module named test_elasticsearch_dsl
+    doCheck = false;
+
+    meta = {
+      description = "Python client for Elasticsearch";
+
+      homepage = https://github.com/elasticsearch/elasticsearch-dsl-py;
+
+      license = stdenv.lib.licenses.asl20;
+    };
+  });
+
+
   evdev = buildPythonPackage rec {
-    version = "0.4.5";
+    version = "0.4.7";
     name = "evdev-${version}";
     disabled = isPy34;  # see http://bugs.python.org/issue21121
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/e/evdev/${name}.tar.gz";
-      sha256 = "0w8ib3ab4mpfc1rvd335l8xkd41qbh3iyb0vfiiapgcfvqk74aq7";
+      sha256 = "1mz8cfncpxc1wbk2nj7apl0ssqc0vfndysxchq3wabd9vzx5p71k";
     };
 
-    buildInputs = [ pkgs.linuxHeaders ];
+    buildInputs = with self; [ pkgs.linuxHeaders ];
 
     patchPhase = "sed -e 's#/usr/include/linux/input.h#${pkgs.linuxHeaders}/include/linux/input.h#' -i setup.py";
 
@@ -1963,16 +2827,37 @@ rec {
   };
 
 
+  eventlib = buildPythonPackage rec {
+    name = "python-eventlib-${version}";
+    version = "0.2.0";
+
+    src = pkgs.fetchurl {
+      url = "http://download.ag-projects.com/SipClient/${name}.tar.gz";
+      sha256 = "0fld5lb85ql4a5bgc38sdxi5pgzqljysp1p8f7abxnd6vymh4rgi";
+    };
+
+    propagatedBuildInputs = with self; [ greenlet ];
+
+    meta = with stdenv.lib; {
+      description = "Eventlib bindings for python.";
+      homepage    = "http://ag-projects.com/";
+      license     = licenses.lgpl2;
+      platforms   = platforms.all;
+    };
+  };
+
+
   eyeD3 = buildPythonPackage rec {
     version = "0.7.4";
     name    = "eyeD3-${version}";
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://eyed3.nicfit.net/releases/${name}.tgz";
       sha256 = "001hzgqqnf2ig432mq78jsxidpky2rl2ilm28xwjp32vzphycf51";
     };
 
-    buildInputs = [ paver ];
+    buildInputs = with self; [ paver ];
 
     postInstall = ''
       for prog in "$out/bin/"*; do
@@ -2000,7 +2885,7 @@ rec {
   execnet = buildPythonPackage rec {
     name = "execnet-1.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/e/execnet/${name}.zip";
       md5 = "be885ccd9612966bb81839670d2da099";
     };
@@ -2015,16 +2900,16 @@ rec {
 
   facebook-sdk = buildPythonPackage rec {
     name = "facebook-sdk-0.4.0";
-    
+
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/f/facebook-sdk/facebook-sdk-0.4.0.tar.gz";
       md5 = "ac9f38e197e54b8ba9f3a61988cc33b7";
     };
 
     meta = with pkgs.stdenv.lib; {
-      description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK.";
+      description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK";
       homepage = https://github.com/pythonforfacebook/facebook-sdk;
       license = licenses.asl20 ;
     };
@@ -2033,13 +2918,13 @@ rec {
   faker = buildPythonPackage rec {
     name = "faker-0.0.4";
     disabled = isPy3k;
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/F/Faker/Faker-0.0.4.tar.gz;
       sha256 = "09q5jna3j8di0gw5yjx0dvlndkrk2x9vvqzwyfsvg3nlp8h38js1";
     };
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose ];
     meta = with stdenv.lib; {
-      description = "A Python library for generating fake user data.";
+      description = "A Python library for generating fake user data";
       homepage    = http://pypi.python.org/pypi/Faker;
       license     = licenses.mit;
       maintainers = with maintainers; [ lovek323 ];
@@ -2049,12 +2934,12 @@ rec {
 
   fake_factory = buildPythonPackage rec {
     name = "fake-factory-0.2";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/f/fake-factory/fake-factory-0.2.tar.gz;
       sha256 = "0qdmk8p4anrj9mf95dh9v7bkhv1pz69hvhlw380kj4iz7b44b6zn";
     };
     meta = with stdenv.lib; {
-      description = "A Python package that generates fake data for you.";
+      description = "A Python package that generates fake data for you";
       homepage    = https://pypi.python.org/pypi/fake-factory;
       license     = licenses.mit;
       maintainers = with maintainers; [ lovek323 ];
@@ -2064,26 +2949,27 @@ rec {
 
   fabric = buildPythonPackage rec {
     name = "fabric-${version}";
-    version = "1.9.1";
-    src = fetchurl {
+    version = "1.10.0";
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/F/Fabric/Fabric-${version}.tar.gz";
-      sha256 = "103mzf0l15kyvw5nmf7bsdrqg6y3wpyxmkyl2h9lk7jxb5gdc9s1";
+      sha256 = "0nikc05iz1fx2c9pvxrhrs819cpmg566azm99450yq2m8qmp1cpd";
     };
     disabled = isPy3k;
-    propagatedBuildInputs = [ paramiko pycrypto ];
-    buildInputs = [ fudge nose ];
+    doCheck = (!isPyPy);  # https://github.com/fabric/fabric/issues/11891
+    propagatedBuildInputs = with self; [ paramiko pycrypto ];
+    buildInputs = with self; [ fudge nose ];
   };
 
   fedora_cert = stdenv.mkDerivation (rec {
     name = "fedora-cert-0.5.9.2";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://fedorahosted.org/releases/f/e/fedora-packager/fedora-packager-0.5.9.2.tar.bz2";
       sha256 = "105swvzshgn3g6bjwk67xd8pslnhpxwa63mdsw6cl4c7cjp2blx9";
     };
 
-    propagatedBuildInputs = [ python python_fedora wrapPython ];
+    propagatedBuildInputs = with self; [ python python_fedora wrapPython ];
     postInstall = "mv $out/bin/fedpkg $out/bin/fedora-cert-fedpkg";
     doCheck = false;
 
@@ -2094,30 +2980,30 @@ rec {
     name = "fedpkg-1.14";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://fedorahosted.org/releases/f/e/fedpkg/fedpkg-1.14.tar.bz2";
       sha256 = "0rj60525f2sv34g5llafnkmpvbwrfbmfajxjc14ldwzymp8clc02";
     };
 
     patches = [ ../development/python-modules/fedpkg-buildfix.diff ];
-    propagatedBuildInputs = [ rpkg offtrac urlgrabber fedora_cert ];
+    propagatedBuildInputs = with self; [ rpkg offtrac urlgrabber fedora_cert ];
   });
 
   fudge = buildPythonPackage rec {
-    name = "fudge-0.9.4";
-    src = fetchurl {
-      url = https://pypi.python.org/packages/source/f/fudge/fudge-0.9.4.tar.gz;
-      sha256 = "03sj2x6mpzm48swpa4hnn1gi6yilgniyjfg1ylz95wm1ijggi33w";
+    name = "fudge-0.9.6";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/f/fudge/${name}.tar.gz";
+      sha256 = "185ia3vr3qk4f2s1a9hdxb8ci4qc0x0xidrad96pywg8j930qs9l";
     };
-    buildInputs = [ nose nosejs ];
-    propagatedBuildInputs = [ sphinx ];
+    buildInputs = with self; [ nose nosejs ];
+    propagatedBuildInputs = with self; [ sphinx ];
   };
 
 
   funcparserlib = buildPythonPackage rec {
     name = "funcparserlib-0.3.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/f/funcparserlib/${name}.tar.gz";
       md5 = "3aba546bdad5d0826596910551ce37c0";
     };
@@ -2130,16 +3016,47 @@ rec {
     };
   };
 
+  singledispatch = buildPythonPackage rec {
+    name = "singledispatch-3.4.0.3";
+
+    propagatedBuildInputs = with self; [ six ];
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/s/singledispatch/${name}.tar.gz";
+      md5 = "af2fc6a3d6cc5a02d0bf54d909785fcb";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = http://docs.python.org/3/library/functools.html;
+    };
+  };
+
   gcutil = buildPythonPackage rec {
-    name = "gcutil-1.15.0";
+    name = "gcutil-1.16.1";
     meta.maintainers = [ stdenv.lib.maintainers.phreedom ];
 
-    src = fetchurl {
-      url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.15.0.tar.gz;
-      sha256 = "12c98ivhjr01iz6lkga574xm8p0bsil6arydvpblyw8sjkgim5sq";
+    src = pkgs.fetchurl {
+      url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.16.1.tar.gz;
+      sha256 = "00jaf7x1ji9y46fbkww2sg6r6almrqfsprydz3q2swr4jrnrsx9x";
     };
 
-    propagatedBuildInputs = [ gflags iso8601_0_1_4 ipaddr httplib2 google_apputils google_api_python_client ];
+    patchPhase = ''
+      substituteInPlace setup.py \
+        --replace "httplib2==0.8" "httplib2" \
+        --replace "iso8601==0.1.4" "iso8601"
+    '';
+
+    propagatedBuildInputs = with self; [ gflags iso8601 ipaddr httplib2 google_apputils google_api_python_client ];
+  };
+
+  gnutls = buildPythonPackage rec {
+    name = "python-gnutls";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-gnutls/python-gnutls-2.0.1.tar.gz";
+      sha256 = "d8fb368c6a4dd58bc6cd5e61d4a12d119c4506fd344a371b3429b3ac2623b9ac";
+    };
+
+    propagatedBuildInputs = with self; [ pkgs.gnutls ];
   };
 
   gitdb = buildPythonPackage rec {
@@ -2147,25 +3064,25 @@ rec {
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/g/gitdb/${name}.tar.gz";
       sha256 = "10rpmmlln59aq44cd5vkb77hslak5pa1rbmigg6ski5f1nn2spfy";
     };
 
-    propagatedBuildInputs = [ smmap async ];
+    propagatedBuildInputs = with self; [ smmap async ];
   };
 
   GitPython = buildPythonPackage rec {
     name = "GitPython-0.3.2";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/G/GitPython/GitPython-0.3.2.RC1.tar.gz";
       sha256 = "1q4lc2ps12l517mmrxc8iq6gxyhj6d77bnk1p7mxf38d99l8crzx";
     };
 
-    buildInputs = [ nose ];
-    propagatedBuildInputs = [ gitdb ];
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ gitdb ];
   };
 
   googlecl = buildPythonPackage rec {
@@ -2173,51 +3090,52 @@ rec {
     name    = "googlecl-${version}";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://googlecl.googlecode.com/files/${name}.tar.gz";
       sha256 = "0nnf7xkr780wivr5xnchfcrahlzy9bi2dxcs1w1bh1014jql0iha";
     };
 
     meta = with stdenv.lib; {
-      description = "Brings Google services to the command line.";
-      homepage    = "https://code.google.com/p/googlecl/";
+      description = "Brings Google services to the command line";
+      homepage    = https://code.google.com/p/googlecl/;
       license     = licenses.asl20;
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.unix;
     };
 
-    propagatedBuildInputs = [ gdata ];
+    propagatedBuildInputs = with self; [ gdata ];
   };
 
   gtimelog = buildPythonPackage rec {
     name = "gtimelog-${version}";
     version = "0.9.1";
-    
+
     disabled = isPy26;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz";
       sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj";
     };
-    
+
+    buildInputs = [ pkgs.glibcLocales ];
+
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
       export LC_ALL="en_US.UTF-8"
     '';
 
     # TODO: AppIndicator
-    propagatedBuildInputs = [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ];
+    propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ];
 
     checkPhase = ''
       substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}"
       ./runtests
     '';
-    
+
     preFixup = ''
         wrapProgram $out/bin/gtimelog \
           --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
           --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3}/lib" \
-     
+
     '';
 
     meta = with stdenv.lib; {
@@ -2229,10 +3147,34 @@ rec {
     };
   };
 
+  hovercraft = buildPythonPackage rec {
+    disabled = ! isPy3k;
+    name = "hovercraft-${version}";
+    version = "2.0b1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/h/hovercraft/${name}.zip";
+      sha256 = "1l88xp563miwwkahil1sxn4kz9khjcx6z85j8d6mq8gjc8rxz3j6";
+    };
+
+    propagatedBuildInputs = with self; [ docutils lxml manuel pygments svg-path watchdog ];
+
+    # one test assumes we have docutils 0.12
+    # TODO: enable tests after upgrading docutils to 0.12
+    doCheck = false;
+
+    meta = {
+      description = "A tool to make impress.js presentations from reStructuredText";
+      homepage = https://github.com/regebro/hovercraft;
+      license = licenses.mit;
+      maintainers = [ maintainers.goibhniu ];
+    };
+  };
+
   itsdangerous = buildPythonPackage rec {
     name = "itsdangerous-0.24";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/i/itsdangerous/${name}.tar.gz";
       sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
     };
@@ -2243,59 +3185,144 @@ rec {
     };
   };
 
-  # TODO: this shouldn't use a buildPythonPackage
-  koji = buildPythonPackage (rec {
-    name = "koji-1.8";
-    meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
-    disabled = isPy3k;
+  jsonpatch = buildPythonPackage rec {
+    name = "jsonpatch-1.8";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/j/jsonpatch/jsonpatch-1.8.tar.gz";
+      sha256 = "0xhp6prvk219vnzixbj231wymd458nqbnmsf5fn4252092prvig5";
+    };
+
+    propagatedBuildInputs = with self; [ six jsonpointer ];
 
-    src = fetchurl {
-      url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2";
-      sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1";
+    meta = {
+      description = "Apply JSON-Patches (RFC 6902)";
+      homepage = "https://github.com/stefankoegl/python-json-patch";
+      license = stdenv.lib.licenses.bsd3;
+      platforms = stdenv.lib.platforms.all;
     };
+  };
 
-    configurePhase = ":";
-    buildPhase = ":";
-    installPhase = "make install DESTDIR=$out/ && cp -R $out/nix/store/*/* $out/ && rm -rf $out/nix";
-    doCheck = false;
-    propagatedBuildInputs = [ pythonPackages.pycurl ];
+  jsonpointer = buildPythonPackage rec {
+    name = "jsonpointer-1.4";
 
-  });
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/j/jsonpointer/jsonpointer-1.4.tar.gz";
+      sha256 = "1d0555smqwdbi0nm48hyqzywb9m2jlz5izgv56ll3zk7viz3b7fb";
+    };
+
+    #propagatedBuildInputs = with self; [ six jsonpointer ];
+
+    meta = {
+      description = "Identify specific nodes in a JSON document (RFC 6901)";
+      homepage = "https://github.com/stefankoegl/python-json-pointer";
+      license = stdenv.lib.licenses.bsd3;
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+  jsonwatch = buildPythonPackage rec {
+    name = "jsonwatch-0.2.0";
+
+    disabled = isPyPy; # doesn't find setuptools
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz";
+      sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06";
+    };
+
+    propagatedBuildInputs = with self; [ six ];
+
+    meta = {
+      description = "Like watch -d but for JSON";
+      longDescription = ''
+        jsonwatch is a command line utility with which you can track changes in
+        JSON data delivered by a shell command or a web (HTTP/HTTPS) API.
+        jsonwatch requests data from the designated source repeatedly at a set
+        interval and displays the differences when the data changes. It is
+        similar in its behavior to how watch(1) with the -d switch works
+        for plain-text data.
+      '';
+      homepage = "https://github.com/dbohdan/jsonwatch";
+      license = stdenv.lib.licenses.mit;
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
 
   logilab_astng = buildPythonPackage rec {
     name = "logilab-astng-0.24.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://download.logilab.org/pub/astng/${name}.tar.gz";
       sha256 = "0np4wpxyha7013vkkrdy54dvnil67gzi871lg60z8lap0l5h67wn";
     };
 
-    propagatedBuildInputs = [ logilab_common ];
+    propagatedBuildInputs = with self; [ logilab_common ];
   };
 
+  mailchimp = buildPythonPackage rec {
+
+    version = "2.0.9";
+    name = "mailchimp-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/m/mailchimp/mailchimp-${version}.tar.gz";
+      sha256 = "0351ai0jqv3dzx0xxm1138sa7mb42si6xfygl5ak8wnfc95ff770";
+    };
+
+    # Test fails because specific version of docopt is searched
+    # (Possible fix: Needs upstream patching in the library)
+    doCheck = false;
+
+    buildInputs = with self; [ docopt ];
+
+    propagatedBuildInputs = with self; [ requests ];
+
+    meta = {
+      description = "A CLI client and Python API library for the MailChimp email platform";
+      homepage = "http://apidocs.mailchimp.com/api/2.0/";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
 
   logster = buildPythonPackage {
     name = "logster-7475c53822";
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = git://github.com/etsy/logster;
       rev = "7475c53822";
       sha256 = "1ls007qmziwb50c5iikxhqin0xbn673gbd25m5k09861435cknvr";
     };
   };
 
+  pathtools = buildPythonPackage rec {
+    name = "pathtools-${version}";
+    version = "0.1.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pathtools/${name}.tar.gz";
+      sha256 = "1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw";
+    };
+
+    meta = {
+      description = "Pattern matching and various utilities for file systems paths";
+      homepage = http://github.com/gorakhargosh/pathtools;
+      license = licenses.mit;
+      maintainers = [ maintainers.goibhniu ];
+    };
+  };
 
   paver = buildPythonPackage rec {
     version = "1.2.2";
     name    = "Paver-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/P/Paver/Paver-${version}.tar.gz";
       sha256 = "0lix9d33ndb3yk56sm1zlj80fbmxp0w60yk0d9pr2xqxiwi88sqy";
     };
 
-    buildInputs = [ cogapp mock virtualenv ];
+    buildInputs = with self; [ cogapp mock virtualenv ];
 
-    propagatedBuildInputs = [ nose ];
+    propagatedBuildInputs = with self; [ nose ];
 
     # the tests do not pass
     doCheck = false;
@@ -2308,11 +3335,28 @@ rec {
     };
   };
 
+  passlib = buildPythonPackage rec {
+    version = "1.6.2";
+    name    = "passlib-${version}";
+
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/p/passlib/passlib-${version}.tar.gz";
+      md5    = "2f872ae7c72ca338634c618f2cff5863";
+    };
+
+    buildInputs = with self; [ nose pybcrypt];
+
+    meta = with stdenv.lib; {
+      description = "A password hashing library for Python";
+      homepage    = https://code.google.com/p/passlib/;
+    };
+  };
+
 
   peppercorn = buildPythonPackage rec {
     name = "peppercorn-0.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/peppercorn/${name}.tar.gz";
       md5 = "464d6f2342eaf704dfb52046c1f5c320";
     };
@@ -2327,32 +3371,63 @@ rec {
   };
 
   pew = buildPythonPackage rec {
-    name = "pew-0.1.9";
+    name = "pew-0.1.14";
+    namePrefix = "";
 
-    src = fetchurl {
+    disabled = pythonOlder "3.4"; # old versions require backported libraries
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pew/${name}.tar.gz";
-      md5 = "90a82400074b50a9e73c3045ed9ac217";
+      md5 = "0a06ab0885b39f1ef3890893942f3225";
     };
 
-    propagatedBuildInputs = [ virtualenv virtualenv-clone ];
+    propagatedBuildInputs = with self; [ virtualenv virtualenv-clone ];
 
     meta = with stdenv.lib; {
       description = "Tools to manage multiple virtualenvs written in pure python, a virtualenvwrapper rewrite";
       license = licenses.mit;
       platforms = platforms.all;
+      maintainers = [ maintainers.berdario ];
     };
   };
 
+  poppler-qt4 = buildPythonPackage rec {
+    name = "poppler-qt4-${version}";
+    version = "0.18.1";
+    disabled = isPy3k || isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-poppler-qt4/" +
+            "python-poppler-qt4-${version}.tar.gz";
+      md5 = "9c4c5a59b878aed78e96a6ae58c6c185";
+    };
+
+    propagatedBuildInputs = [ pkgs.pyqt4 pkgs.pkgconfig pkgs.poppler_qt4 ];
+
+    preBuild = "${python}/bin/${python.executable} setup.py build_ext" +
+               " --include-dirs=${pkgs.poppler_qt4}/include/poppler/";
+
+    meta = with stdenv.lib; {
+      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 = [ maintainers.sepi ];
+      platforms = platforms.all;
+    };
+  };
 
   pudb = buildPythonPackage rec {
     name = "pudb-2013.3.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pudb/${name}.tar.gz";
       md5 = "063030763bf914166a0b2bc8c011143b";
     };
 
-    propagatedBuildInputs = [ pythonPackages.pygments pythonPackages.urwid ];
+    propagatedBuildInputs = with self; [ self.pygments self.urwid ];
 
     meta = with stdenv.lib; {
       description = "A full-screen, console-based Python debugger";
@@ -2365,17 +3440,17 @@ rec {
   pyramid = buildPythonPackage rec {
     name = "pyramid-1.5.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz";
       md5 = "8a1ab3b773d8e22437828f7df22852c1";
     };
-    
+
     preCheck = ''
       # test is failing, see https://github.com/Pylons/pyramid/issues/1405
       rm pyramid/tests/test_response.py
     '';
 
-    buildInputs = [
+    buildInputs = with self; [
       docutils
       virtualenv
       webtest
@@ -2383,7 +3458,7 @@ rec {
       zope_interface
     ] ++ optional isPy26 unittest2;
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       paste_deploy
       repoze_lru
       repoze_sphinx_autointerface
@@ -2407,12 +3482,12 @@ rec {
   pyramid_beaker = buildPythonPackage rec {
     name = "pyramid_beaker-0.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_beaker/${name}.tar.gz";
       md5 = "acb863517a98b90b5f29648ce55dd563";
     };
 
-    propagatedBuildInputs = [ beaker pyramid ];
+    propagatedBuildInputs = with self; [ beaker pyramid ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2429,7 +3504,7 @@ rec {
       md5 = "5bb5938356dfd13fce06e095f132e137";
     };
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       chameleon
       pyramid
       zope_interface
@@ -2445,13 +3520,13 @@ rec {
   pyramid_jinja2 = buildPythonPackage rec {
     name = "pyramid_jinja2-1.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_jinja2/${name}.zip";
       md5 = "a6728117cad24749ddb39d2827cd9033";
     };
 
-    buildInputs = [ webtest ];
-    propagatedBuildInputs = [ jinja2 pyramid ];
+    buildInputs = with self; [ webtest ];
+    propagatedBuildInputs = with self; [ jinja2 pyramid ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2463,38 +3538,38 @@ rec {
   pyramid_debugtoolbar = buildPythonPackage rec {
     name = "pyramid_debugtoolbar-1.0.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_debugtoolbar/${name}.tar.gz";
       sha256 = "1vnzg1qnnyisv7znxg7pasayfyr3nz7rrs5nqr4fmdgwj9q2pyv0";
     };
 
-    buildInputs = [ ];
-    propagatedBuildInputs = [ pyramid pyramid_mako ];
+    buildInputs = with self; [ ];
+    propagatedBuildInputs = with self; [ pyramid pyramid_mako ];
   };
 
 
   pyramid_mako = buildPythonPackage rec {
     name = "pyramid_mako-0.3.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_mako/${name}.tar.gz";
       sha256 = "00811djmsc4rz20kpy2paam05fbx6dmrv2i5jf90f6xp6zw4isy6";
     };
 
-    buildInputs = [ webtest ];
-    propagatedBuildInputs = [ pyramid Mako ];
+    buildInputs = with self; [ webtest ];
+    propagatedBuildInputs = with self; [ pyramid Mako ];
   };
 
 
   pyramid_exclog = buildPythonPackage rec {
     name = "pyramid_exclog-0.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_exclog/${name}.tar.gz";
       md5 = "05df86758b0d30ee6f8339ff36cef7a0";
     };
 
-    propagatedBuildInputs = [ pyramid ];
+    propagatedBuildInputs = with self; [ pyramid ];
 
     meta = {
       maintainers = [
@@ -2509,7 +3584,7 @@ rec {
   pyramid_tm = buildPythonPackage rec {
     name = "pyramid_tm-0.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_tm/${name}.tar.gz";
       md5 = "6dc917d262c69366630c542bd21859a3";
     };
@@ -2517,7 +3592,7 @@ rec {
     # tests are failing in version 0.7 but are fixed in trunk
     doCheck = false;
 
-    propagatedBuildInputs = [ transaction pyramid ];
+    propagatedBuildInputs = with self; [ transaction pyramid ];
     meta = {
       maintainers = [
         stdenv.lib.maintainers.garbas
@@ -2533,12 +3608,12 @@ rec {
     name = "pyramid_multiauth-${version}";
     version = "0.3.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pyramid_multiauth/${name}.tar.gz";
       md5 = "044e423abc4fb76937ac0c21c1205e9c";
     };
 
-    propagatedBuildInputs = [ pyramid ];
+    propagatedBuildInputs = with self; [ pyramid ];
 
     meta = with stdenv.lib; {
       description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies";
@@ -2546,17 +3621,29 @@ rec {
     };
   };
 
+  pyramid_hawkauth = buildPythonPackage rec {
+    name = "pyramidhawkauth-${version}";
+    version = "0.1.0";
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/pyramid_hawkauth.git;
+      rev = "refs/tags/v${version}";
+      sha256 = "1ic7xl72qnz382xaqhcy9ql17gx7pxbs78znp8xr66sp3dcx2s3c";
+    };
+
+    propagatedBuildInputs = with self; [ pyramid hawkauthlib tokenlib webtest ];
+  };
+
   radicale = buildPythonPackage rec {
     name = "radicale-${version}";
     namePrefix = "";
-    version = "0.9b1";
+    version = "0.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/R/Radicale/Radicale-${version}.tar.gz";
-      sha256 = "3a8451909de849f173f577ddec0a085f19040dbb6aa13d5256208a0f8e11d88d";
+      sha256 = "77bf813fd26f0d359c1a7b7bcce9b842b4503c5516989a4a0a4f648e299e41f7";
     };
 
-    propagatedBuildInputs = with pythonPackages; [
+    propagatedBuildInputs = with self; [
       flup
       ldap
       sqlalchemy
@@ -2566,6 +3653,7 @@ rec {
 
     meta = {
       homepage = "http://www.radicale.org/";
+      description = "CalDAV CardDAV server";
       longDescription = ''
         The Radicale Project is a complete CalDAV (calendar) and CardDAV
         (contact) server solution. Calendars and address books are available for
@@ -2581,7 +3669,7 @@ rec {
   raven = buildPythonPackage rec {
     name = "raven-3.4.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/raven/${name}.tar.gz";
       md5 = "6a9264133bf646149ffb9118d81445be";
     };
@@ -2599,12 +3687,12 @@ rec {
   hypatia = buildPythonPackage rec {
     name = "hypatia-0.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/h/hypatia/${name}.tar.gz";
       md5 = "d74c6dda31ff459a39fa5da9e98f2425";
     };
 
-    buildInputs = [ zope_interface zodb ];
+    buildInputs = with self; [ zope_interface zodb ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2615,12 +3703,12 @@ rec {
   zope_copy = buildPythonPackage rec {
     name = "zope.copy-4.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.copy/${name}.zip";
       md5 = "36aa2c96dec4cfeea57f54da2b733eb9";
     };
 
-    buildInputs = [ zope_interface zope_location zope_schema ];
+    buildInputs = with self; [ zope_interface zope_location zope_schema ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2631,32 +3719,43 @@ rec {
   statsd = buildPythonPackage rec {
     name = "statsd-2.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/statsd/${name}.tar.gz";
       md5 = "476ef5b9004f6e2cb25c7da440bb53d0";
     };
 
-    buildInputs = [ ];
+    buildInputs = with self; [ ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
 
+  py3status = buildPythonPackage rec {
+    name = "py3status-2.3";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/py3status/${name}.tar.gz";
+      md5 = "89ad395268c7791ff5d36412b1efeeb9";
+    };
+    propagatedBuildInputs = with self; [ requests2 ];
+    meta = {
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  };
 
   pyramid_zodbconn = buildPythonPackage rec {
     name = "pyramid_zodbconn-0.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_zodbconn/${name}.tar.gz";
       md5 = "3c7746a227fbcda3e138ab8bfab7700b";
     };
-    
+
     # should be fixed in next release
     doCheck = false;
 
-    buildInputs = [ pyramid mock ];
-    propagatedBuildInputs = [ zodb zodburi ];
+    buildInputs = with self; [ pyramid mock ];
+    propagatedBuildInputs = with self; [ zodb zodburi ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2667,13 +3766,13 @@ rec {
   pyramid_mailer = buildPythonPackage rec {
     name = "pyramid_mailer-0.13";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_mailer/${name}.tar.gz";
       md5 = "43800c7c894097a23140da58e3638c93";
     };
 
-    buildInputs = [ pyramid transaction ];
-    propagatedBuildInputs = [ repoze_sendmail ];
+    buildInputs = with self; [ pyramid transaction ];
+    propagatedBuildInputs = with self; [ repoze_sendmail ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2683,7 +3782,7 @@ rec {
   pyrtlsdr = buildPythonPackage rec {
     name = "pyrtlsdr-0.2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyrtlsdr/${name}.zip";
       md5 = "646336675a00d38e6f54e77a17011b95";
     };
@@ -2705,12 +3804,12 @@ rec {
   repoze_sendmail = buildPythonPackage rec {
     name = "repoze.sendmail-4.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/repoze.sendmail/${name}.tar.gz";
       md5 = "81d15f1f03cc67d6f56f2091c594ef57";
     };
 
-    buildInputs = [ transaction ];
+    buildInputs = with self; [ transaction ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2721,24 +3820,24 @@ rec {
   zodburi = buildPythonPackage rec {
     name = "zodburi-2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zodburi/${name}.tar.gz";
       md5 = "7876893829c2f784506c80d49f861b67";
     };
 
-    buildInputs = [ zodb mock ZEO ];
+    buildInputs = with self; [ zodb mock ZEO ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
-  
-  ZEO = pythonPackages.buildPythonPackage rec {
+
+  ZEO = self.buildPythonPackage rec {
     name = "ZEO-4.0.0";
 
-    propagatedBuildInputs = [ random2 zodb six transaction persistent zc_lockfile zconfig zdaemon zope_interface ];
+    propagatedBuildInputs = with self; [ random2 zodb six transaction persistent zc_lockfile zconfig zdaemon zope_interface ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/Z/ZEO/${name}.tar.gz";
       md5 = "494d8320549185097ba4a6b6b76017d6";
     };
@@ -2747,11 +3846,13 @@ rec {
       homepage = https://pypi.python.org/pypi/ZEO;
     };
   };
-  
-  random2 = pythonPackages.buildPythonPackage rec {
+
+  random2 = self.buildPythonPackage rec {
     name = "random2-1.0.1";
 
-    src = fetchurl {
+    doCheck = !isPyPy;
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/random2/${name}.zip";
       md5 = "48a0a86fe00e447212d0095de8cf3e21";
     };
@@ -2763,15 +3864,15 @@ rec {
     rev = "089818bc61c3dc5eca023254e37a280b041ea8cc";
     name = "substanced-${rev}";
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       inherit rev;
       url = "https://github.com/Pylons/substanced.git";
       sha256 = "17s7sdvydw9a9d2d36c70lq962ryny3dv9nzdxqpfvwiry9iy3jx";
     };
 
-    buildInputs = [ mock ];
+    buildInputs = with self; [ mock ];
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       pyramid
       pytz
       zodb
@@ -2798,10 +3899,28 @@ rec {
   };
 
 
+  svg-path = buildPythonPackage rec {
+    name = "svg.path-${version}";
+    version = "2.0b1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/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 = [ maintainers.goibhniu ];
+    };
+  };
+
+
   repoze_lru = buildPythonPackage rec {
     name = "repoze.lru-0.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/repoze.lru/${name}.tar.gz";
       md5 = "2c3b64b17a8e18b405f55d46173e14dd";
     };
@@ -2820,12 +3939,12 @@ rec {
   repoze_sphinx_autointerface = buildPythonPackage rec {
     name = "repoze.sphinx.autointerface-0.7.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/repoze.sphinx.autointerface/${name}.tar.gz";
       md5 = "f2fee996ae28dc16eb48f1a3e8f64801";
     };
 
-    propagatedBuildInputs = [ zope_interface sphinx ];
+    propagatedBuildInputs = with self; [ zope_interface sphinx ];
 
     meta = {
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -2838,7 +3957,7 @@ rec {
     version = "0.3a";
     name = "rtmidi-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://chrisarndt.de/projects/python-rtmidi/download/python-${name}.tar.bz2";
       sha256 = "0d2if633m3kbiricd5hgn1csccd8xab6lnab1bq9prdr9ks9i8h6";
     };
@@ -2847,7 +3966,7 @@ rec {
       sed -i "/use_setuptools/d" setup.py
     '';
 
-    buildInputs = [ pkgs.alsaLib pkgs.jack2 ];
+    buildInputs = with self; [ pkgs.alsaLib pkgs.jack2 ];
 
     meta = with stdenv.lib; {
       description = "A Python wrapper for the RtMidi C++ library written with Cython";
@@ -2857,12 +3976,34 @@ rec {
     };
   };
 
+  watchdog = buildPythonPackage rec {
+    name = "watchdog-${version}";
+    version = "0.8.3";
+
+    propagatedBuildInputs = with self; [ argh pathtools pyyaml ];
+
+    doCheck = false;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/w/watchdog/${name}.tar.gz";
+      sha256 = "0qj1vqszxwfx6d1s66s96jmfmy2j94bywxiqdydh6ikpvcm8hrby";
+    };
+
+    meta = {
+      description = "Python API and shell utilities to monitor file system events";
+      homepage = http://github.com/gorakhargosh/watchdog;
+      license = licenses.asl20;
+      maintainers = [ maintainers.goibhniu ];
+    };
+  };
+
+
   zope_tales = buildPythonPackage rec {
     name = "zope.tales-4.0.2";
 
-    propagatedBuildInputs = [ zope_interface six zope_testrunner ];
+    propagatedBuildInputs = with self; [ zope_interface six zope_testrunner ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/z/zope.tales/${name}.zip";
       md5 = "902b03a5f9774f6e2decf3f06d18a09d";
     };
@@ -2872,12 +4013,12 @@ rec {
   zope_deprecation = buildPythonPackage rec {
     name = "zope.deprecation-3.5.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz";
       md5 = "836cfea5fad548cd5a0d9af1300ec05e";
     };
 
-    buildInputs = [ zope_testing ];
+    buildInputs = with self; [ zope_testing ];
 
     meta = {
       maintainers = [
@@ -2892,7 +4033,7 @@ rec {
   venusian = buildPythonPackage rec {
     name = "venusian-1.0a7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/v/venusian/${name}.tar.gz";
       md5 = "6f67506dd3cf77116f1c01682a6c3f27";
     };
@@ -2913,12 +4054,12 @@ rec {
   chameleon = buildPythonPackage rec {
     name = "Chameleon-2.15";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/C/Chameleon/${name}.tar.gz";
       md5 = "0214647152fcfcb9ce357624f8f9f203";
     };
 
-    buildInputs = [] ++ optionals isPy26 [ ordereddict unittest2 ];
+    buildInputs = with self; [] ++ optionals isPy26 [ ordereddict unittest2 ];
 
     # TODO: https://github.com/malthe/chameleon/issues/139
     doCheck = false;
@@ -2932,10 +4073,27 @@ rec {
     };
   };
 
+  ddt = buildPythonPackage (rec {
+    name = "ddt-1.0.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/ddt/${name}.tar.gz";
+      md5 = "29688456f9ee42d09d7d7c864ce6e17b";
+    };
+
+    meta = {
+      description = "Data-Driven/Decorated Tests, a library to multiply test cases";
+
+      homepage = https://github.com/txels/ddt;
+
+      license = stdenv.lib.licenses.mit;
+    };
+  });
+
   distutils_extra = buildPythonPackage rec {
     name = "distutils-extra-2.26";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://launchpad.net/python-distutils-extra/trunk/2.26/+download/python-${name}.tar.gz";
       md5 = "7caded30a45907b5cdb10ac4182846eb";
     };
@@ -2947,15 +4105,15 @@ rec {
   };
 
   deluge = buildPythonPackage rec {
-    name = "deluge-1.3.6";
+    name = "deluge-1.3.11";
 
-    src = fetchurl {
-      url = "http://download.deluge-torrent.org/source/${name}.tar.gz";
-      md5 = "33557678bf2f320de670ddaefaea009d";
+    src = pkgs.fetchurl {
+      url = "http://download.deluge-torrent.org/source/${name}.tar.bz2";
+      sha256 = "16681sg7yi03jqyifhalnw4vavb8sj94cisldal7nviai8dz9qc3";
     };
 
-    propagatedBuildInputs = with pkgs; [
-      pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl modules.curses
+    propagatedBuildInputs = with self; [
+      pyGtkGlade pkgs.libtorrentRasterbar twisted Mako chardet pyxdg self.pyopenssl modules.curses
     ];
 
     postInstall = ''
@@ -2976,7 +4134,7 @@ rec {
   pyxdg = buildPythonPackage rec {
     name = "pyxdg-0.25";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyxdg/${name}.tar.gz";
       md5 = "bedcdb3a0ed85986d40044c87f23477c";
     };
@@ -2995,7 +4153,7 @@ rec {
   chardet = buildPythonPackage rec {
     name = "chardet-2.1.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/chardet/${name}.tar.gz";
       md5 = "295367fd210d20f3febda615a88e1ef0";
     };
@@ -3008,15 +4166,34 @@ rec {
     };
   };
 
-  django = django_1_6;
+  django = self.django_1_7;
+
+  django_1_7 = buildPythonPackage rec {
+    name = "Django-${version}";
+    version = "1.7.7";
+    disabled = pythonOlder "2.7";
+
+    src = pkgs.fetchurl {
+      url = "http://www.djangoproject.com/m/releases/1.7/${name}.tar.gz";
+      sha256 = "0crfpnf246c25887by2fjlxinp4rnhya4ksqfydcls9m0s9gh5j8";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A high-level Python Web framework";
+      homepage = https://www.djangoproject.com/;
+    };
+  };
 
   django_1_6 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.6.6";
+    version = "1.6.11";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.6/${name}.tar.gz";
-      sha256 = "143yp984n8a2bs1dflxjp1s7skmji0cwkw05s9ikbfikwmabsv2k";
+      sha256 = "0misvia78c14y07zs5xsb9lv54q0v217jpaindrmhhw4wiryal3y";
     };
 
     # error: invalid command 'test'
@@ -3030,11 +4207,11 @@ rec {
 
   django_1_5 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.5.9";
+    version = "1.5.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.5/${name}.tar.gz";
-      sha256 = "1lm0pa6m9f4cd6pv239lqj32z1snf8xjbvlbh8bqihs6a1f51kj7";
+      sha256 = "1vbcvn6ncg7hq5i1w95h746vkq9lmp120vx63h3p56z5nsz7gpmk";
     };
 
     # error: invalid command 'test'
@@ -3048,11 +4225,11 @@ rec {
 
   django_1_4 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.4.14";
+    version = "1.4.20";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz";
-      sha256 = "173ci9ml2vs1z2x51wahssfn8mrmhd02varmg9kibm8z460svvc1";
+      sha256 = "1cgb23afinmbvbaryvy3yj5m40h68mq6gvadcqyv3j64cja73b2q";
     };
 
     # error: invalid command 'test'
@@ -3067,7 +4244,7 @@ rec {
   django_1_3 = buildPythonPackage rec {
     name = "Django-1.3.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.3/${name}.tar.gz";
       sha256 = "12pv8y2x3fhrcrjayfm6z40r57iwchfi5r19ajs8q8z78i3z8l7f";
     };
@@ -3086,12 +4263,12 @@ rec {
     name = "django_evolution-0.6.9";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://downloads.reviewboard.org/releases/django-evolution/${name}.tar.gz";
       md5 = "c0d7d10bc41898c88b14d434c48766ff";
     };
 
-    propagatedBuildInputs = [ django_1_5 ];
+    propagatedBuildInputs = with self; [ django_1_5 ];
 
     meta = {
       description = "A database schema evolution tool for the Django web framework";
@@ -3103,7 +4280,7 @@ rec {
   django_tagging = buildPythonPackage rec {
     name = "django-tagging-0.3.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/django-tagging/${name}.tar.gz";
       md5 = "a0855f2b044db15f3f8a025fa1016ddf";
     };
@@ -3111,7 +4288,7 @@ rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ django_1_3 ];
+    propagatedBuildInputs = with self; [ django_1_3 ];
 
     meta = {
       description = "A generic tagging application for Django projects";
@@ -3120,15 +4297,59 @@ rec {
   };
 
 
+  django_classytags = buildPythonPackage rec {
+    name = "django-classy-tags-${version}";
+    version = "0.6.1";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/d/django-classy-tags/${name}.tar.gz";
+      md5 = "eb686aa767ad8cf88c1fa0f400a42516";
+      sha256 = "0wxvpmjdzk0aajk33y4himn3wqjx7k0aqlka9j8ay3yfav78bdq0";
+    };
+
+    propagatedBuildInputs = with self; [ django_1_7 ];
+    
+    # tests appear to be broken on 0.6.1 at least
+    doCheck = ( version != "0.6.1" );
+
+    meta = with stdenv.lib; {
+      description = "Class based template tags for Django";
+      homepage = https://github.com/ojii/django-classy-tags;
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
+
+  django_reversion = buildPythonPackage rec {
+    name = "django-reversion-${version}";
+    version = "1.8.5";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/d/django-reversion/${name}.tar.gz";
+      md5 = "2de5a3fe82aaf505c134570f96fcc7a8";
+      sha256 = "0z8fxvxgbxfnalr5br74rsw6g42nry2q656rx7rsgmicd8n42v2r";
+    };
+
+    propagatedBuildInputs = with self; [ django_1_7 ] ++
+      (optionals (pythonOlder "2.7") [ importlib ordereddict ]);
+
+    meta = with stdenv.lib; {
+      description = "An extension to the Django web framework that provides comprehensive version control facilities";
+      homepage = https://github.com/etianen/django-reversion;
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
+
   djblets = buildPythonPackage rec {
     name = "Djblets-0.6.28";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://downloads.reviewboard.org/releases/Djblets/0.6/${name}.tar.gz";
       sha256 = "11fsi911cqkjgv9j7646ljc2fgxsdfyq44kzmv01xhysm50fn6xx";
     };
 
-    propagatedBuildInputs = [ pil django_1_3 feedparser ];
+    propagatedBuildInputs = with self; [ pil django_1_3 feedparser ];
 
     meta = {
       description = "A collection of useful extensions for Django";
@@ -3138,40 +4359,41 @@ rec {
 
 
   dulwich = buildPythonPackage rec {
-    name = "dulwich-0.8.7";
-    disabled = isPy3k || isPyPy;
+    name = "dulwich-${version}";
+    version = "0.9.8";
 
-    src = fetchurl {
-      url = "http://samba.org/~jelmer/dulwich/${name}.tar.gz";
-      sha256 = "041qp5v2x8fbwkmws6hwwiny74lavkz723dj8gwbm40b2383d8vv";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dulwich/${name}.tar.gz";
+      sha256 = "0iwxp9n2c09wahq8bqnc5z431kq5bs75vbwl93nzwm2grj00l6lb";
     };
 
-    buildPhase = "make build";
+    # Only test dependencies
+    buildInputs = with self; [ pkgs.git gevent geventhttpclient mock fastimport ];
 
-    # For some reason "python setup.py test" doesn't work with Python 2.6.
-    # pretty sure that is about import behaviour.
-    doCheck = python.majorVersion != "2.6";
-
-    meta = {
+    meta = with stdenv.lib; {
       description = "Simple Python implementation of the Git file formats and protocols.";
       homepage = http://samba.org/~jelmer/dulwich/;
+      license = licenses.gpl2Plus;
+      maintainers = [ maintainers.koral ];
     };
   };
 
 
-  hggit = buildPythonPackage rec {
-    name = "hg-git-0.3.1";
+  hg-git = buildPythonPackage rec {
+    name = "hg-git-${version}";
+    version = "0.7.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/h/hg-git/${name}.tar.gz";
-      md5 = "4b15867a07abb0be985177581ce64cee";
+      sha256 = "1ab1phaqa8jrba6dqsf3b0lgx912j41b8dlkna9c2wxip63wvfcx";
     };
 
-    propagatedBuildInputs = [ dulwich ];
+    propagatedBuildInputs = with self; [ pkgs.mercurial dulwich ];
 
-    meta = {
+    meta = with stdenv.lib; {
       description = "Push and pull from a Git server using Mercurial.";
       homepage = http://hg-git.github.com/;
+      maintainers = [ maintainers.koral ];
     };
   };
 
@@ -3179,7 +4401,7 @@ rec {
   docutils = buildPythonPackage rec {
     name = "docutils-0.11";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/docutils/${name}.tar.gz";
       sha256 = "1jbybs5a396nrjy9m13pgvsxdwaj7jw7nsawkhl4fi1nvxm1dx4s";
     };
@@ -3189,14 +4411,14 @@ rec {
 
     meta = {
       homepage = http://docutils.sourceforge.net/;
-      description = "Docutils is an open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX.";
+      description = "An open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX";
     };
   };
 
   doxypy = buildPythonPackage rec {
     name = "doxypy-0.4.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://code.foosel.org/files/${name}.tar.gz";
       sha256 = "1afmb30zmy7942b53qa5vd3js883wwqqls35n8xfb3rnj0qnll8g";
     };
@@ -3213,7 +4435,7 @@ rec {
   dtopt = buildPythonPackage rec {
     name = "dtopt-0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/dtopt/${name}.tar.gz";
       md5 = "9a41317149e926fcc408086aedee6bab";
     };
@@ -3227,15 +4449,15 @@ rec {
 
   ecdsa = buildPythonPackage rec {
     name = "ecdsa-${version}";
-    version = "0.10";
+    version = "0.11";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz";
-      md5 = "e95941b3bcbf1726472bb724d7478551";
+      md5 = "8ef586fe4dbb156697d756900cb41d7c";
     };
 
     # Only needed for tests
-    buildInputs = [ pkgs.openssl ];
+    buildInputs = with self; [ pkgs.openssl ];
 
     meta = {
       description = "ECDSA cryptographic signature library";
@@ -3248,12 +4470,11 @@ rec {
 
   elpy = buildPythonPackage rec {
     name = "elpy-1.0.1";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/e/elpy/elpy-1.0.1.tar.gz";
       md5 = "5453f085f7871ed8fc11d51f0b68c785";
     };
-    buildInputs = [  ];
-    propagatedBuildInputs = [ flake8 ];
+    propagatedBuildInputs = with self; [ flake8 ];
 
     doCheck = false; # there are no tests
 
@@ -3268,41 +4489,50 @@ rec {
     name = "enum-0.4.4";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/e/enum/${name}.tar.gz";
       md5 = "ce75c7c3c86741175a84456cc5bd531e";
     };
-    
+
     doCheck = !isPyPy;
 
-    buildInputs = [ ];
+    buildInputs = with self; [ ];
 
-    propagatedBuildInputs = [ ];
+    propagatedBuildInputs = with self; [ ];
 
     meta = {
       homepage = http://pypi.python.org/pypi/enum/;
-      description = "Robust enumerated type support in Python.";
+      description = "Robust enumerated type support in Python";
     };
   };
 
   enum34 = buildPythonPackage rec {
-    name = "enum34-1.0";
+    name = "enum34-${version}";
+    version = "1.0.4";
+    disabled = pythonAtLeast "3.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/e/enum34/${name}.tar.gz";
-      md5 = "9d57f5454c70c11707998ea26c1b0a7c";
+      sha256 = "0iz4jjdvdgvfllnpmd92qxj5fnfxqpgmjpvpik0jjim3lqk9zhfk";
     };
 
+    buildInputs = optional isPy26 self.ordereddict;
+
+    meta = {
+      homepage = https://pypi.python.org/pypi/enum34;
+      description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
+      license = "BSD";
+    };
   };
 
   epc = buildPythonPackage rec {
     name = "epc-0.0.3";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/e/epc/${name}.tar.gz";
       md5 = "04a93c0cd32b496969ead09f414dac74";
     };
 
-    propagatedBuildInputs = [ sexpdata ];
+    propagatedBuildInputs = with self; [ sexpdata ];
     doCheck = false;
 
     meta = {
@@ -3311,22 +4541,19 @@ rec {
     };
   };
 
-
   eventlet = buildPythonPackage rec {
-    name = "eventlet-0.15.1";
+    name = "eventlet-0.16.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/e/eventlet/${name}.tar.gz";
-      md5 = "7155780824bb6344651a573838416f21";
+      md5 = "58f6e5cd1bcd8ab78e32a2594aa0abad";
     };
 
-    buildInputs = [ nose httplib2  ];
-
-    propagatedBuildInputs = [ greenlet ];
+    buildInputs = with self; [ nose httplib2 pyopenssl  ];
 
-    PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
+    doCheck = false;  # too much transient errors to bother
 
-    doCheck = false; # !!! fix; tests access the network
+    propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ];
 
     meta = {
       homepage = http://pypi.python.org/pypi/eventlet/;
@@ -3334,11 +4561,49 @@ rec {
     };
   };
 
+  fastimport = buildPythonPackage rec {
+    name = "fastimport-${version}";
+    version = "0.9.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/f/fastimport/${name}.tar.gz";
+      sha256 = "0k8x7552ypx9rc14vbsvg2lc6z0r8pv9laah28pdwyynbq10825d";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://launchpad.net/python-fastimport;
+      description = "VCS fastimport/fastexport parser";
+      maintainers = [ maintainers.koral ];
+      license = licenses.gpl2Plus;
+    };
+  };
+
+  feedgenerator = buildPythonPackage (rec {
+    name = "feedgenerator-1.7";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/f/feedgenerator/${name}.tar.gz";
+      md5 = "92978492871342ad64e8ae0ccfcf200c";
+    };
+
+    buildInputs = [ pkgs.glibcLocales ];
+
+    preConfigure = ''
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    propagatedBuildInputs = with self; [ six pytz ];
+
+    meta = {
+      homepage = https://github.com/dmdm/feedgenerator-py3k.git;
+      description = "Standalone version of django.utils.feedgenerator,  compatible with Py3k";
+    };
+  });
 
   feedparser = buildPythonPackage (rec {
     name = "feedparser-5.1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/f/feedparser/${name}.tar.gz";
       md5 = "f2253de78085a1d5738f626fcc1d8f71";
     };
@@ -3351,23 +4616,91 @@ rec {
     };
   });
 
+  fig = buildPythonPackage rec {
+    name = "fig-1.0.1";
+    disabled = isPy3k || isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/f/fig/${name}.tar.gz";
+      md5 = "e1c82296fe2362fae21b3cb0dfee8cb2";
+    };
+
+    propagatedBuildInputs = with self; [
+      six requests2 pyyaml texttable docopt
+      (dockerpty.override {
+        src = pkgs.fetchurl {
+          url = "https://pypi.python.org/packages/source/d/dockerpty/dockerpty-0.3.2.tar.gz";
+          md5 = "1f97b24d2f4b2c345f176f91655002dd";
+        };
+      })
+      (docker.override {
+        src = pkgs.fetchurl {
+          url = "https://pypi.python.org/packages/source/d/docker-py/docker-py-0.5.3.tar.gz";
+          md5 = "809b7b8c144f5e37787e72b030ee353f";
+        };
+      })
+      (websocket_client.override {
+        src = pkgs.fetchurl {
+          url = "https://pypi.python.org/packages/source/w/websocket-client/websocket-client-0.11.0.tar.gz";
+          md5 = "fcffbb5ac10941d9ace416d14d1e3ec8";
+        };
+      })
+    ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = http://www.fig.sh/;
+      description = "Fast, isolated development environments using Docker";
+      license = stdenv.lib.licenses.asl20;
+    };
+  };
+
+  filebrowser_safe = buildPythonPackage rec {
+    version = "0.3.6";
+    name = "filebrowser_safe-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/f/filebrowser_safe/${name}.tar.gz";
+      md5 = "12a1ad3a1ed6a9377e758c4fa7fee570";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A snapshot of django-filebrowser for the Mezzanine CMS";
+      longDescription = ''
+        filebrowser_safe was created to provide a snapshot of the FileBrowser
+        asset manager for Django, to be referenced as a dependency for the
+        Mezzanine CMS for Django.
+
+        At the time of filebrowser_safe's creation, FileBrowser was incorrectly
+        packaged on PyPI, and had also dropped compatibility with Django 1.1 -
+        filebrowser_safe was therefore created to address these specific
+        issues.
+      '';
+      homepage = https://github.com/stephenmcd/filebrowser-safe;
+      downloadPage = https://pypi.python.org/pypi/filebrowser_safe/;
+      license = licenses.free;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
 
   flake8 = buildPythonPackage (rec {
     name = "flake8-2.1.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz";
       md5 = "cf326cfb88a1db6c5b29a3a6d9efb257";
     };
 
-    buildInputs = [ nose mock ];
-    propagatedBuildInputs = [ pyflakes pep8 mccabe ];
+    buildInputs = with self; [ nose mock ];
+    propagatedBuildInputs = with self; [ pyflakes pep8 mccabe ];
 
     # 3 failing tests
     #doCheck = false;
 
     meta = {
-      description = "code checking using pep8 and pyflakes.";
+      description = "Code checking using pep8 and pyflakes";
       homepage = http://pypi.python.org/pypi/flake8;
       license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
@@ -3378,12 +4711,12 @@ rec {
   flask = buildPythonPackage {
     name = "flask-0.10.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.10.1.tar.gz";
       md5 = "378670fe456957eb3c27ddaef60b2b24";
     };
 
-    propagatedBuildInputs = [ werkzeug jinja2 ];
+    propagatedBuildInputs = with self; [ werkzeug jinja2 ];
 
     meta = {
       homepage = http://flask.pocoo.org/;
@@ -3392,47 +4725,116 @@ rec {
     };
   };
 
+  flask_cache = buildPythonPackage rec {
+    name = "Flask-Cache-0.13.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/F/Flask-Cache/${name}.tar.gz";
+      md5 = "ab82a9cd0844891ccdb54fbb93fd6c59";
+    };
+
+    propagatedBuildInputs = with self; [ werkzeug flask ];
+
+    meta = {
+      homepage = https://github.com/thadeusb/flask-cache;
+      description = "Adds cache support to your Flask application";
+      license = "BSD";
+    };
+  };
+
+  wtforms = buildPythonPackage rec {
+    version = "2.0.2";
+    name = "wtforms-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/W/WTForms/WTForms-${version}.zip";
+      md5 = "613cf723ab40537705bec02733c78d95";
+    };
+
+    propagatedBuildInputs = with self; [ ordereddict Babel ];
+
+    meta = {
+      homepage = https://github.com/wtforms/wtforms;
+      description = "A flexible forms validation and rendering library for Python";
+      license = licenses.bsd3;
+    };
+  };
+
   flexget = buildPythonPackage rec {
-    name = "FlexGet-1.2.161";
+    version = "1.2.278";
+    name = "FlexGet-${version}";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz";
-      md5 = "f7533e7b1df49cc8027fc4a2cde0290d";
+      md5 = "9c8e41d9e59d53cf2c720661b2880719";
     };
 
-    buildInputs = [ nose ];
-    # dateutil dependancy: requirement is dateutil !=2.0 and != 2.2,
-    # dateutil_1_5 is used as it's supported, but a newer version could be used
-    propagatedBuildInputs = [ paver feedparser sqlalchemy pyyaml rpyc
+    doCheck = false;
+
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ paver feedparser sqlalchemy9 pyyaml rpyc
 	    beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask
-	    cherrypy requests dateutil_1_5 jsonschema python_tvrage tmdb3 ]
+	    cherrypy requests dateutil_2_1 jsonschema python_tvrage tmdb3
+      guessit pathpy apscheduler ]
 	# enable deluge and transmission plugin support, if they're installed
 	++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false)
 	    pythonpackages.deluge
 	++ stdenv.lib.optional (pkgs.transmission != null)
-	    pythonPackages.transmissionrpc;
+	    self.transmissionrpc;
 
     meta = {
       homepage = http://flexget.com/;
-      description = "Multipurpose automation tool for content like torrents, ...";
+      description = "Multipurpose automation tool for content like torrents";
       license = stdenv.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
     };
   };
 
+  # 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 { };
+
+  grappelli_safe = buildPythonPackage rec {
+    version = "0.3.13";
+    name = "grappelli_safe-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/g/grappelli_safe/${name}.tar.gz";
+      md5 = "5c8c681a0b1df94ecd6dc0b3a8b80892";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A snapshot of django-grappelli for the Mezzanine CMS";
+      longDescription = ''
+        grappelli_safe was created to provide a snapshot of the Grappelli admin
+        skin for Django, to be referenced as a dependency for the Mezzanine CMS
+        for Django.
+
+        At the time of grappelli_safe's creation, Grappelli was incorrectly
+        packaged on PyPI, and had also dropped compatibility with Django 1.1 -
+        grappelli_safe was therefore created to address these specific issues.
+      '';
+      homepage = https://github.com/stephenmcd/grappelli-safe;
+      downloadPage = http://pypi.python.org/pypi/grappelli_safe/;
+      license = licenses.free;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
   python_tvrage = buildPythonPackage (rec {
     version = "0.4.1";
     name = "tvrage-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/python-tvrage/python-tvrage-${version}.tar.gz";
       md5 = "cdfec252158c5047b626861900186dfb";
     };
 
     # has mostly networking dependent tests
     doCheck = false;
-    propagatedBuildInputs = [ beautifulsoup ];
+    propagatedBuildInputs = with self; [ beautifulsoup ];
 
     meta = {
       homepage = https://github.com/ckreutzer/python-tvrage;
@@ -3446,13 +4848,13 @@ rec {
     version = "2.4.0";
     name = "jsonschema-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/j/jsonschema/jsonschema-${version}.tar.gz";
       md5 = "661f85c3d23094afbb9ac3c0673840bf";
     };
 
-    buildInputs = [ nose mock ];
-    
+    buildInputs = with self; [ nose mock ];
+
     patchPhase = ''
       substituteInPlace jsonschema/tests/test_jsonschema_test_suite.py --replace "python" "${python}/bin/${python.executable}"
     '';
@@ -3469,11 +4871,30 @@ rec {
     };
   });
 
+  falcon = buildPythonPackage (rec {
+    name = "falcon-0.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/f/falcon/${name}.tar.gz";
+      md5 = "bf9e8bdd20700f1ff7ce6397cd441fbd";
+    };
+
+    propagatedBuildInputs = with self; [ coverage ddt nose pyyaml requests2 six testtools python_mimeparse ];
+
+    meta = {
+      description = "An unladen web framework for building APIs and app backends";
+
+      homepage = http://falconframework.org;
+
+      license = stdenv.lib.licenses.asl20;
+    };
+  });
+
   flup = buildPythonPackage (rec {
     name = "flup-1.0.2";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.saddi.com/software/flup/dist/${name}.tar.gz";
       sha256 = "1nbx174g40l1z3a8arw72qz05a1qxi3didp9wm7kvkn1bxx33bab";
     };
@@ -3484,16 +4905,35 @@ rec {
     };
   });
 
+  fonttools = buildPythonPackage (rec {
+    version = "2.4";
+    name = "fonttools-${version}";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/F/FontTools/FontTools-${version}.tar.gz";
+      sha256 = "13ggkzcj34kcca6bsxjkaqsxkp2bvxxf6ijiyhq1xlyb0z37z4qa";
+    };
+
+    buildInputs = with self; [
+      numpy
+    ];
+
+    meta = {
+      homepage = "http://sourceforge.net/projects/fonttools/";
+      description = "Font file processing tools";
+    };
+  });
 
   foolscap = buildPythonPackage (rec {
     name = "foolscap-0.6.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://foolscap.lothar.com/releases/${name}.tar.gz";
       sha256 = "16cddyk5is0gjfn0ia5n2l4lhdzvbjzlx6sfpy7ddjd3d3fq7ckl";
     };
 
-    propagatedBuildInputs = [ twisted pkgs.pyopenssl ];
+    propagatedBuildInputs = [ self.twisted self.pyopenssl ];
 
     meta = {
       homepage = http://foolscap.lothar.com/;
@@ -3517,7 +4957,7 @@ rec {
   fs = buildPythonPackage rec {
     name = "fs-0.5.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/f/fs/${name}.tar.gz";
       sha256 = "144f4yn2nvnxh2vrnmiabpwx3s637np0d1j1w95zym790d66shir";
     };
@@ -3540,25 +4980,85 @@ rec {
     name = "${baseName}-${version}";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz";
       sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi";
     };
 
-    buildInputs = [ pkgs.pkgconfig pkgs.fuse ];
+    buildInputs = with self; [ pkgs.pkgconfig pkgs.fuse ];
 
     meta = {
-      description = "Python bindings for FUSE.";
+      description = "Python bindings for FUSE";
       license = stdenv.lib.licenses.lgpl21;
     };
   });
 
+  fusepy = buildPythonPackage rec {
+    name = "fusepy-2.0.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/f/fusepy/${name}.tar.gz";
+      sha256 = "1z0va3z1hzjw167skl21k9dsklbmr46k66j80qadibjc8vajjnda";
+    };
+
+    propagatedBuildInputs = [ pkgs.fuse ];
+
+    patchPhase = ''
+      substituteInPlace fuse.py --replace \
+        "find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Simple ctypes bindings for FUSE";
+      longDescription = ''
+        Python module that provides a simple interface to FUSE and MacFUSE.
+        It's just one file and is implemented using ctypes.
+      '';
+      homepage = http://github.com/terencehonles/fusepy;
+      license = with licenses; isc;
+      platforms = with platforms; linux;
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
+
+  future = buildPythonPackage rec {
+    version = "v0.14.3";
+    name = "future-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://github.com/PythonCharmers/python-future/archive/${version}.tar.gz";
+      sha256 = "0hgp9kq7h4ipw8ax5xvvkyh3bkqw361d3rndvb9xix01h9j9mi3p";
+    };
+
+    propagatedBuildInputs = with self; optionals isPy26 [ importlib argparse ];
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Clean single-source support for Python 3 and 2";
+      longDescription = ''
+        python-future is the missing compatibility layer between Python 2 and
+        Python 3. It allows you to use a single, clean Python 3.x-compatible
+        codebase to support both Python 2 and Python 3 with minimal overhead.
+
+        It provides future and past packages with backports and forward ports
+        of features from Python 3 and 2. It also comes with futurize and
+        pasteurize, customized 2to3-based scripts that helps you to convert
+        either Py2 or Py3 code easily to support both Python 2 and 3 in a
+        single clean Py3-style codebase, module by module.
+      '';
+      homepage = https://python-future.org;
+      downloadPage = https://github.com/PythonCharmers/python-future/releases;
+      license = licenses.mit;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
   futures = buildPythonPackage rec {
     name = "futures-2.1.6";
 
-    propagatedBuildInputs = with pythonPackages; [  ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/f/futures/futures-2.1.6.tar.gz";
       md5 = "cfab9ac3cd55d6c7ddd0546a9f22f453";
     };
@@ -3573,7 +5073,7 @@ rec {
   gcovr = buildPythonPackage rec {
     name = "gcovr-2.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/g/gcovr/${name}.tar.gz";
       md5 = "672db629469882b93c40016aebff50ac";
     };
@@ -3584,10 +5084,48 @@ rec {
     };
   };
 
+  gdrivefs = buildPythonPackage rec {
+    version = "0.14.3";
+    name = "gdrivefs-${version}";
+    disabled = !isPy27;
+
+    src = pkgs.fetchFromGitHub {
+      sha256 = "1ljkh1871lwzn5lhhgbmbf2hfnbnajr3ddz3q5n1kid25qb3l086";
+      rev = version;
+      repo = "GDriveFS";
+      owner = "dsoprea";
+    };
+
+    buildInputs = with self; [ gipc greenlet httplib2 six ];
+    propagatedBuildInputs = with self; [ dateutil fusepy google_api_python_client ];
+
+    patchPhase = ''
+      substituteInPlace gdrivefs/resources/requirements.txt \
+        --replace "==" ">="
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Mount Google Drive as a local file system";
+      longDescription = ''
+        GDriveFS is a FUSE wrapper for Google Drive developed. Design goals:
+        - Thread for monitoring changes via "changes" functionality of API.
+        - Complete stat() implementation.
+        - Seamlessly work around duplicate-file allowances in Google Drive.
+        - Seamlessly manage file-type versatility in Google Drive
+          (Google Doc files do not have a particular format).
+        - Allow for the same file at multiple paths.
+      '';
+      homepage = https://github.com/dsoprea/GDriveFS;
+      license = with licenses; gpl2;
+      platforms = with platforms; linux;
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
+
   genshi = buildPythonPackage {
     name = "genshi-0.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = http://ftp.edgewall.com/pub/genshi/Genshi-0.7.tar.gz;
       sha256 = "0lkkbp6fbwzv0zda5iqc21rr7rdldkwh3hfabfjl9i4bwq14858x";
     };
@@ -3596,7 +5134,7 @@ rec {
     # FAIL: test_sanitize_remove_src_javascript (genshi.filters.tests.html.HTMLSanitizerTestCase)
     doCheck = false;
 
-    buildInputs = [ pkgs.setuptools ];
+    buildInputs = with self; [ pkgs.setuptools ];
 
     meta = {
       description = "Python components for parsing HTML, XML and other textual content";
@@ -3613,15 +5151,17 @@ rec {
 
   gevent = buildPythonPackage rec {
     name = "gevent-1.0.1";
-    disabled = isPy3k;
-    
-    src = fetchurl {
+    disabled = isPy3k || isPyPy;  # see https://github.com/surfly/gevent/issues/248
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/g/gevent/${name}.tar.gz";
       sha256 = "0hyzfb0gcx9pm5c2igan8y57hqy2wixrwvdjwsaivxsqs0ay49s6";
     };
 
-    buildInputs = [ pkgs.libev ];
-    propagatedBuildInputs = [ greenlet ];
+    patches = [ ../development/python-modules/gevent_sslwrap.patch ];
+
+    buildInputs = with self; [ pkgs.libev ];
+    propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ];
 
     meta = with stdenv.lib; {
       description = "Coroutine-based networking library";
@@ -3632,41 +5172,59 @@ rec {
     };
   };
 
+  geventhttpclient = buildPythonPackage rec {
+    name = "geventhttpclient-${version}";
+    version = "1.1.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/g/geventhttpclient/${name}.tar.gz";
+      sha256 = "1k7s4dnkmcfqqkmbqi0vvb2ns53r9cl2652mq20bgg65zj26j2l6";
+    };
+
+    propagatedBuildInputs = with self; [ gevent certifi backports_ssl_match_hostname_3_4_0_2 ];
+
+    meta = with stdenv.lib; {
+      homepage = http://github.com/gwik/geventhttpclient;
+      description = "HTTP client library for gevent";
+      license = licenses.mit;
+      maintainers = [ maintainers.koral ];
+    };
+  };
 
   gevent-socketio = buildPythonPackage rec {
     name = "gevent-socketio-0.3.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/g/gevent-socketio/${name}.tar.gz";
       sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak";
     };
 
-    buildInputs = [ versiontools gevent-websocket mock pytest ];
-    propagatedBuildInputs = [ gevent ];
+    buildInputs = with self; [ versiontools gevent-websocket mock pytest ];
+    propagatedBuildInputs = with self; [ gevent ];
 
   };
 
   gevent-websocket = buildPythonPackage rec {
     name = "gevent-websocket-0.9.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/g/gevent-websocket/${name}.tar.gz";
       sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4";
     };
 
-    propagatedBuildInputs = [ gevent ];
+    propagatedBuildInputs = with self; [ gevent ];
 
   };
 
   genzshcomp = buildPythonPackage {
     name = "genzshcomp-0.5.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/g/genzshcomp/genzshcomp-0.5.1.tar.gz";
       md5 = "7a954f1835875002e9044fe55ed1b488";
     };
 
-    buildInputs = [ pkgs.setuptools ] ++ (optional isPy26 argparse);
+    buildInputs = with self; [ pkgs.setuptools ] ++ (optional isPy26 argparse);
 
     meta = {
       description = "automatically generated zsh completion function for Python's option parser modules";
@@ -3678,7 +5236,7 @@ rec {
   gflags = buildPythonPackage rec {
     name = "gflags-2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://python-gflags.googlecode.com/files/python-${name}.tar.gz";
       sha256 = "1mkc7315bpmh39vbn0jq237jpw34zsrjr1sck98xi36bg8hnc41i";
     };
@@ -3689,21 +5247,47 @@ rec {
     };
   };
 
+  gipc = buildPythonPackage rec {
+    name = "gipc-0.5.0";
+    disabled = !isPy26 && !isPy27;
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/g/gipc/${name}.zip";
+      sha256 = "08c35xzv7nr12d9xwlywlbyzzz2igy0yy6y52q2nrkmh5d4slbpc";
+    };
+
+    propagatedBuildInputs = with self; [ gevent ];
+
+    meta = with stdenv.lib; {
+      description = "gevent-cooperative child processes and IPC";
+      longDescription = ''
+        Usage of Python's multiprocessing package in a gevent-powered
+        application may raise problems and most likely breaks the application
+        in various subtle ways. gipc (pronunciation "gipsy") is developed with
+        the motivation to solve many of these issues transparently. With gipc,
+        multiprocessing. Process-based child processes can safely be created
+        anywhere within your gevent-powered application.
+      '';
+      homepage = http://gehrcke.de/gipc;
+      license = with licenses; mit;
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
 
   glance = buildPythonPackage rec {
     name = "glance-0.1.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/g/glance/${name}.tar.gz";
       md5 = "e733713ccd23e4a6253386a47971cfb5";
     };
 
-    buildInputs = [ nose mox ];
+    buildInputs = with self; [ nose mox ];
 
     # tests fail for python2.6
     doCheck = python.majorVersion != "2.6";
 
-    propagatedBuildInputs = [ gflags sqlalchemy webob routes eventlet ];
+    propagatedBuildInputs = with self; [ gflags sqlalchemy webob routes eventlet ];
 
     PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
 
@@ -3714,25 +5298,27 @@ rec {
   };
 
   glances = buildPythonPackage rec {
-    name = "glances-${meta.version}";
+    name = "glances-${version}";
+    version = "2.1";
+    disabled = isPyPy;
 
-    src = fetchurl {
-      url = "https://github.com/nicolargo/glances/archive/v${meta.version}.tar.gz";
-      sha256 = "19pin04whc1z4gmwv2rqa7mh08d6007r8dyrhihnxj0v35ghp5i0";
+    src = pkgs.fetchFromGitHub {
+      owner = "nicolargo";
+      repo = "glances";
+      rev = "v${version}";
+      sha256 = "1bgr7lif0bpnz39arcdrsfdy7ra4c3ay2pxz1lvh4fqxyxwp3gm6";
     };
 
-    buildInputs = [ pkgs.hddtemp ];
-
-    propagatedBuildInputs = [ psutil jinja2 modules.curses modules.curses_panel];
-
     doCheck = false;
 
+    buildInputs = with self; [ unittest2 ];
+    propagatedBuildInputs = with self; [ modules.curses modules.curses_panel psutil setuptools bottle batinfo pkgs.hddtemp pysnmp ];
+
     preConfigure = ''
-      sed -i -r -e '/data_files.append[(][(](conf|etc)_path/ietc_path="etc/glances"; conf_path="etc/glances"' setup.py;
+      sed -i 's/data_files\.append((conf_path/data_files.append(("etc\/glances"/' setup.py;
     '';
 
     meta = {
-      version = "1.7.4";
       homepage = "http://nicolargo.github.io/glances/";
       description = "Cross-platform curses-based monitoring tool";
     };
@@ -3742,37 +5328,37 @@ rec {
     name = "goobook-1.5";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/g/goobook/${name}.tar.gz";
       sha256 = "05vpriy391l5i05ckl5ja5bswqyvl3rwrbmks9pi46w1813j7p5z";
     };
 
-    buildInputs = [ six ];
+    buildInputs = with self; [ six ];
 
     preConfigure = ''
       sed -i '/distribute/d' setup.py
     '';
 
     meta = with stdenv.lib; {
-      description = "Search your google contacts from the command-line or mutt.";
-      homepage    = "https://pypi.python.org/pypi/goobook";
+      description = "Search your google contacts from the command-line or mutt";
+      homepage    = https://pypi.python.org/pypi/goobook;
       license     = licenses.gpl3;
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.unix;
     };
 
-    propagatedBuildInputs = [ gdata hcs_utils keyring simplejson ];
+    propagatedBuildInputs = with self; [ gdata hcs_utils keyring simplejson ];
   };
 
   google_api_python_client = buildPythonPackage rec {
     name = "google-api-python-client-1.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://google-api-python-client.googlecode.com/files/google-api-python-client-1.2.tar.gz";
       sha256 = "0xd619w71xk4ldmikxqhaaqn985rc2hy4ljgwfp50jb39afg7crw";
     };
 
-    propagatedBuildInputs = [ httplib2 ];
+    propagatedBuildInputs = with self; [ httplib2 ];
 
     meta = with stdenv.lib; {
       description = "The core Python library for accessing Google APIs";
@@ -3782,16 +5368,26 @@ rec {
     };
   };
 
-   google_apputils = buildPythonPackage rec {
-    name = "google-apputils-0.4.0";
+  google_apputils = buildPythonPackage rec {
+    name = "google-apputils-0.4.1";
     disabled = isPy3k;
 
-    src = fetchurl {
-      url = http://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz;
-      sha256 = "18wlivnqxvx1wsw177lckpl32nmr6cq7f5nhk8r72fvjy8wynq5j";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/g/google-apputils/${name}.tar.gz";
+      sha256 = "1sxsm5q9vr44qzynj8l7p3l7ffb0zl1jdqhmmzmalkx941nbnj1b";
     };
 
-    propagatedBuildInputs = [ pytz gflags dateutil_1_5 mox ];
+    preConfigure = ''
+      sed -i '/ez_setup/d' setup.py
+    '';
+
+    propagatedBuildInputs = with self; [ pytz gflags dateutil mox ];
+
+    checkPhase = ''
+      ${python.executable} setup.py google_test
+    '';
+
+    doCheck = true;
 
     meta = with stdenv.lib; {
       description = "Google Application Utilities for Python";
@@ -3799,29 +5395,49 @@ rec {
     };
   };
 
+
   greenlet = buildPythonPackage rec {
-    name = "greenlet-0.4.3";
+    name = "greenlet-${version}";
+    version = "0.4.5";
+    disabled = isPyPy;  # builtin for pypy
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/g/greenlet/${name}.zip";
-      md5 = "a5e467a5876c415cd357c1ab9027e06c";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/g/greenlet/${name}.zip";
+      sha256 = "1gidivqcpn6i6k01bf3hgcn0m68h4b9srhpff9kgnk0c287z145r";
     };
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://pypi.python.org/pypi/greenlet;
       description = "Module for lightweight in-process concurrent programming";
+      license     = licenses.lgpl2;
+      platforms   = platforms.all;
     };
   };
 
+  gspread = buildPythonPackage rec {
+    version = "0.2.3";
+    name = "gspread-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/g/gspread/${name}.tar.gz";
+      md5 = "5a71e4e3fc509dc1c4d34722f102dec1";
+    };
+
+    meta = {
+      description = "Google Spreadsheets client library";
+      homepage = "https://github.com/burnash/gspread";
+      license = licenses.mit;
+    };
+  };
 
   gyp = buildPythonPackage rec {
-    rev = "1944";
+    rev = "1977";
     name = "gyp-r${rev}";
 
-    src = fetchsvn {
+    src = pkgs.fetchsvn {
       url = "http://gyp.googlecode.com/svn/trunk";
       inherit rev;
-      sha256 = "15k3ivk3jyhx4rwdf1mn6qpyrwixvy01jpkir8d14c4g9hax1dx1";
+      sha256 = "0vnr75yd3bidysiwl9lljvf1dv6v9m9xqdnx0hdgyl92w689n9j8";
     };
 
     patches = optionals pkgs.stdenv.isDarwin [
@@ -3835,15 +5451,39 @@ rec {
     };
   };
 
+  guessit = buildPythonPackage rec {
+    version = "0.9.4";
+    name = "guessit-${version}";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/g/guessit/${name}.tar.gz";
+      sha256 = "068d3dmyk4v04p2zna0340lsdnpkm10gyza62apd9akgjh9rfs48";
+    };
+
+    propagatedBuildInputs = with self; [
+      dateutil_2_1 requests stevedore babelfish pyyaml
+    ];
+
+    # A unicode test fails
+    doCheck = false;
+
+    meta = {
+      homepage = http://pypi.python.org/pypi/guessit;
+      license = stdenv.lib.licenses.lgpl3;
+      description = "A library for guessing information from video files.";
+    };
+  };
+
   gunicorn = buildPythonPackage rec {
     name = "gunicorn-19.1.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/g/gunicorn/${name}.tar.gz";
       md5 = "3d759bec3c46a680ff010775258c4c56";
     };
 
-    buildInputs = [ pytest ];
+    buildInputs = with self; [ pytest ];
 
     meta = {
       homepage = http://pypi.python.org/pypi/gunicorn;
@@ -3851,20 +5491,31 @@ rec {
     };
   };
 
+  hawkauthlib = buildPythonPackage rec {
+    name = "hawkauthlib-${version}";
+    version = "0.1.1";
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/hawkauthlib.git;
+      rev = "refs/tags/v${version}";
+      sha256 = "0b3xydii50ifs8qkgbpdlidfs2rzw63f807ahrq9flz90ahf582h";
+    };
+
+    propagatedBuildInputs = with self; [ requests webob ];
+  };
+
   hcs_utils = buildPythonPackage rec {
     name = "hcs_utils-1.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/h/hcs_utils/${name}.tar.gz";
       sha256 = "1d2za9crkgzildx610w3zif2i8phcqhh6n8nzg3yvy2mg0s18mkl";
     };
 
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
       export LC_ALL="en_US.UTF-8"
     '';
 
-    buildInputs = [ six ];
+    buildInputs = with self; [ six pkgs.glibcLocales ];
 
     meta = with stdenv.lib; {
       description = "Library collecting some useful snippets";
@@ -3878,12 +5529,12 @@ rec {
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
-    version = "0.7.0";
+    version = "0.7.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/RedMoonStudios/hetzner/archive/"
           + "v${version}.tar.gz";
-      sha256 = "1ldbhwy6yk18frv6n9znvdsrqfnpch4mfvc70jrpq3f9fw236src";
+      sha256 = "07jnrgy9fkh1hwgsa8491ljz9spazmifqsg92m3xnamja1536qfl";
     };
 
     # not there yet, but coming soon.
@@ -3901,13 +5552,13 @@ rec {
   htmllaundry = buildPythonPackage rec {
     name = "htmllaundry-2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/h/htmllaundry/${name}.tar.gz";
       md5 = "6db6909de76c4b259e65d90b5debdbda";
     };
 
-    buildInputs = [ nose ];
-    propagatedBuildInputs = [ six lxml ];
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ six lxml ];
 
     # some tests fail, probably because of changes in lxml
     # not relevant for me, if releavnt for you, fix it...
@@ -3921,18 +5572,32 @@ rec {
 
 
   html5lib = buildPythonPackage (rec {
-    name = "html5lib-0.95";
+    version = "0.999";
+    name = "html5lib-${version}";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/h/html5lib/${name}.tar.gz";
-      md5 = "fe607f9917d81763e842f818f23464ee";
+    src = pkgs.fetchurl {
+      url = "http://github.com/html5lib/html5lib-python/archive/${version}.tar.gz";
+      sha256 = "1kxl36p0csssaf37zbbc9p4h8l1s7yb1qnfv3d4nixplvrxqkybp";
     };
 
-    meta = {
-      homepage = http://code.google.com/p/html5lib/;
+    buildInputs = with self; [ nose flake8 ];
+    propagatedBuildInputs = with self; [
+      six
+    ] ++ optionals isPy26 [ ordereddict ];
+
+    checkPhase = "nosetests";
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/html5lib/html5lib-python;
+      downloadPage = https://github.com/html5lib/html5lib-python/releases;
       description = "HTML parser based on WHAT-WG HTML5 specification";
-      license = stdenv.lib.licenses.mit;
-      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      longDescription = ''
+        html5lib is a pure-python library for parsing HTML. It is designed to
+        conform to the WHATWG HTML specification, as is implemented by all
+        major web browsers.
+      '';
+      license = licenses.mit;
+      maintainers = with maintainers; [ iElectric prikhi ];
     };
   });
 
@@ -3940,12 +5605,12 @@ rec {
     name = "http_signature-0.1.4";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/h/http_signature/${name}.tar.gz";
       md5 = "015061846254bd5d8c5dbc2913985153";
     };
 
-    propagatedBuildInputs = [pycrypto];
+    propagatedBuildInputs = with self; [pycrypto];
 
     meta = {
       homepage = https://github.com/atl/py-http-signature;
@@ -3957,12 +5622,12 @@ rec {
   httpbin = buildPythonPackage rec {
     name = "httpbin-0.2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/h/httpbin/${name}.tar.gz";
       md5 = "9b2bb2fab45f5fa839e9a776a64d6089";
     };
 
-    propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ];
+    propagatedBuildInputs = with self; [ flask markupsafe decorator itsdangerous six ];
 
     meta = {
       homepage = https://github.com/kennethreitz/httpbin;
@@ -3973,11 +5638,11 @@ rec {
   };
 
   httplib2 = buildPythonPackage rec {
-    name = "httplib2-0.8";
+    name = "httplib2-0.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz";
-      sha256 = "174w6rz4na1sdlfz37h95l0pkfm9igf9nqmhbd8aqh3sm7d9zrff";
+      sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir";
     };
 
     meta = {
@@ -3988,19 +5653,37 @@ rec {
     };
   };
 
+  hypothesis = pythonPackages.buildPythonPackage rec {
+    name = "hypothesis-0.7.0";
+
+    doCheck = false;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/h/hypothesis/hypothesis-0.7.0.tar.gz";
+      md5 = "0c4112bab04b71979286387b033921b5";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A Python library for property based testing";
+      homepage = https://github.com/DRMacIver/hypothesis;
+      license = licenses.mpl20;
+    };
+  };
+
   httpretty = buildPythonPackage rec {
     name = "httpretty-${version}";
     version = "0.8.3";
     disabled = isPy3k;
+    doCheck = !isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz";
       md5 = "50b02560a49fe928c90c53a49791f621";
     };
 
-    buildInputs = [ tornado requests httplib2 sure nose coverage ];
+    buildInputs = with self; [ tornado requests httplib2 sure nose coverage ];
 
-    propagatedBuildInputs = [ urllib3 ];
+    propagatedBuildInputs = with self; [ urllib3 ];
 
     postPatch = ''
       sed -i -e 's/==.*$//' *requirements.txt
@@ -4021,28 +5704,67 @@ rec {
     };
   };
 
+  icalendar = buildPythonPackage rec {
+    version = "3.8.4";
+    name = "icalendar-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/i/icalendar/${name}.zip";
+      md5 = "d700e6e75613fd1ee882c4b11c58940c";
+    };
+
+    buildInputs = with self; [ setuptools ];
+    propagatedBuildInputs = with self; [ pytz ];
+
+    meta = with stdenv.lib; {
+      description = "A parser/generator of iCalendar files";
+      homepage = "http://icalendar.readthedocs.org/";
+      license = licenses.bsd2;
+      maintainers = [ maintainers.olcai ];
+    };
+  };
+
   importlib = if isPy26 then (buildPythonPackage {
     name = "importlib-1.0.2";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/i/importlib/importlib-1.0.2.tar.gz";
       md5 = "4aa23397da8bd7c7426864e88e4db7e1";
     };
     doCheck = false;
   }) else null;
 
+  influxdb = buildPythonPackage rec {
+    name = "influxdb-0.1.12";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/i/influxdb/${name}.tar.gz";
+      md5 = "6c975058ccc4df41dad8d8234c52d754";
+    };
+
+    # ImportError: No module named tests
+    doCheck = false;
+    propagatedBuildInputs = with self; [ requests ];
+
+    meta = {
+      description = "Python client for InfluxDB";
+      homepage = https://github.com/influxdb/influxdb-python;
+      license = licenses.mit;
+    };
+  };
+
   iptools = buildPythonPackage rec {
     version = "0.6.1";
     name = "iptools-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/i/iptools/iptools-${version}.tar.gz";
       md5 = "aed4045638fd40c16f8d9bb04606f700";
     };
-    
-    buildInputs = [ nose ];
+
+    buildInputs = with self; [ nose ];
 
     meta = {
-      description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting.";
+      description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting";
       homepage = http://pypi.python.org/pypi/iptools;
     };
   };
@@ -4052,7 +5774,7 @@ rec {
     version = "0.74";
     name = "ipy-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/I/IPy/IPy-${version}.tar.gz";
       md5 = "f4f7ddc7c5e55a47222a5cc6c0a87b6d";
     };
@@ -4071,7 +5793,7 @@ rec {
     name = "ipaddr-2.1.10";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/i/ipaddr/${name}.tar.gz";
       sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj";
     };
@@ -4083,29 +5805,30 @@ rec {
     };
   };
 
-  ipdb = buildPythonPackage {
-    name = "ipdb-0.7";
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz";
-      md5 = "d879f9b2b0f26e0e999809585dcaec61";
+  ipdb = buildPythonPackage rec {
+    name = "ipdb-0.8";
+    disabled = isPyPy;  # setupterm: could not find terminfo database
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/i/ipdb/${name}.zip";
+      md5 = "96dca0712efa01aa5eaf6b22071dd3ed";
     };
-    propagatedBuildInputs = [ pythonPackages.ipythonLight ];
+    propagatedBuildInputs = with self; [ self.ipythonLight ];
   };
 
   ipdbplugin = buildPythonPackage {
     name = "ipdbplugin-1.4";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.4.tar.gz";
       md5 = "f9a41512e5d901ea0fa199c3f648bba7";
     };
-    propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipythonLight ];
+    propagatedBuildInputs = with self; [ self.nose self.ipythonLight ];
   };
 
-  iso8601_0_1_4 = buildPythonPackage {
-    name = "iso8601-0.1.4";
-    src = fetchurl {
-      url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.4.tar.gz;
-      sha256 = "03gnjxpfq0wwimqnsvz32xcngq0hrdqryn3zm8qh95hnnggwqa3s";
+  iso8601 = buildPythonPackage {
+    name = "iso8601-0.1.10";
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.10.tar.gz;
+      sha256 = "1qf01afxh7j4gja71vxv345if8avg6nnm0ry0zsk6j3030xgy4p7";
     };
 
     meta = {
@@ -4116,53 +5839,56 @@ rec {
   };
 
   jedi = buildPythonPackage (rec {
-    name = "jedi-0.8.0-final0";
+    name = "jedi-0.8.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz";
-      sha256 = "0jnhwh0b1hy5cssi3n5a4j7z9pgpcckyv5s52ba4jnq5bwgdpbcf";
+      sha256 = "1a7bg159mc1la5p1zsblzpr9hmypa7nz0mpvf7dww57cgi2sw8sd";
     };
 
     meta = {
-      homepage = "https://github.com/davidhalter/jedi";
-      description = "An autocompletion tool for Python that can be used for text editors.";
+      homepage = https://github.com/davidhalter/jedi;
+      description = "An autocompletion tool for Python that can be used for text editors";
       license = licenses.lgpl3Plus;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   });
 
   jinja2 = buildPythonPackage rec {
-    name = "Jinja2-2.7.1";
+    name = "Jinja2-2.7.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/J/Jinja2/${name}.tar.gz";
-      sha256 = "12scn3zmmj76rzyc0axjzf6dsazyj9xgp0l46q41rjhxm23s1h2w";
+      # md5 = "b9dffd2f3b43d673802fe857c8445b1a"; # provided by pypi website.
+      sha256 = "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb";
     };
 
-    propagatedBuildInputs = [ pythonPackages.markupsafe ];
+    propagatedBuildInputs = with self; [ self.markupsafe ];
 
     meta = {
       homepage = http://jinja.pocoo.org/;
       description = "Stand-alone template engine";
-      license = "BSD";
+      license = licenses.bsd3;
       longDescription = ''
         Jinja2 is a template engine written in pure Python. It provides a
         Django inspired non-XML syntax but supports inline expressions and
         an optional sandboxed environment.
       '';
+      platforms = platforms.all;
+      maintainers = [ maintainers.pierron ];
     };
   };
 
 
   jmespath = buildPythonPackage rec {
-    name = "jmespath-0.2.1";
+    name = "jmespath-0.6.1";
 
-    src = fetchurl {
-      url = "https://pypi.python.org/packages/source/j/jmespath/jmespath-0.2.1.tar.gz";
-      md5 = "7800775aa12c6303f9ad597b6a8fa03c";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/j/jmespath/${name}.tar.gz";
+      sha256 = "1f7nxk62yifh6zwhf34w4fgwxvyls8x2daphljgrg4lh0i2sgwgr";
     };
 
-    propagatedBuildInputs = [ ply ];
+    propagatedBuildInputs = with self; [ ply ];
 
     meta = {
       homepage = "https://github.com/boto/jmespath";
@@ -4171,15 +5897,38 @@ rec {
     };
   };
 
+
+  jrnl = buildPythonPackage rec {
+    name = "jrnl-1.9.7";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/j/jrnl/${name}.tar.gz";
+      md5 = "395faff36de8a08a5bfeedbf123e9067";
+    };
+
+    propagatedBuildInputs = with self; [
+      pytz six tzlocal keyring modules.readline argparse dateutil_1_5
+      parsedatetime
+    ];
+
+    meta = with stdenv.lib; {
+      homepage = http://maebert.github.io/jrnl/;
+      description = "A simple command line journal application that stores your journal in a plain text file.";
+      license = licenses.mit;
+    };
+  };
+
+
   keyring = buildPythonPackage rec {
-    name = "keyring-3.2";
+    name = "keyring-3.3";
 
-    src = fetchurl {
-      url    = "https://pypi.python.org/packages/source/k/keyring/${name}.zip";
-      sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/k/keyring/${name}.zip";
+      md5 = "81291e0c7337affb71442e6c7671e77f";
     };
 
-    buildInputs =
+    buildInputs = with self;
       [ fs gdata python_keyczar mock pyasn1 pycrypto pytest six ];
 
     meta = with stdenv.lib; {
@@ -4191,13 +5940,64 @@ rec {
     };
   };
 
+  kombu = buildPythonPackage rec {
+    name = "kombu-${version}";
+    version = "3.0.24";
+
+    disabled = pythonOlder "2.6";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/k/kombu/${name}.tar.gz";
+      sha256 = "13dzybciispin9c4znpiyvgha354mz124lgx06ksw4vic0vh9zxr";
+      md5 = "37c8b5084ac83b8a6f5ff9f157cac0e9";
+    };
+
+    buildInputs = with self; optionals (!isPy3k) [ anyjson mock unittest2 nose ];
+
+    propagatedBuildInputs = with self; [ amqp ] ++
+      (optionals (pythonOlder "2.7") [ importlib ordereddict ]);
+
+    # tests broken on python 2.6? https://github.com/nose-devs/nose/issues/806
+    # tests also appear to depend on anyjson, which has Py3k problems
+    doCheck = (pythonAtLeast "2.7") && !isPy3k ;
+
+    meta = with stdenv.lib; {
+      description = "Messaging library for Python";
+      homepage    = "http://github.com/celery/kombu";
+      license     = licenses.bsd3;
+    };
+  };
+
+  konfig = buildPythonPackage rec {
+    name = "konfig-${version}";
+    version = "0.9";
+
+    # 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 = "1v9pjb9idapjlc75p6h06kx7bi8zxhfgj93yxq1bn337kmyk1xdf";
+    };
+
+    propagatedBuildInputs = with self; [ configparser argparse ];
+
+    meta = with stdenv.lib; {
+      description = "Yet Another Config Parser";
+      homepage    = "https://github.com/mozilla-services/konfig";
+      license     = licenses.mpl20;
+    };
+  };
+
   kitchen = buildPythonPackage (rec {
     name = "kitchen-1.1.1";
     disabled = isPy3k;
 
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/k/kitchen/kitchen-1.1.1.tar.gz";
       sha256 = "0ki840hjk1q19w6icv0dj2jxb00966nwy9b1jib0dgdspj00yrr5";
     };
@@ -4207,7 +6007,7 @@ rec {
     name = "pylast-${version}";
     version = "0.5.11";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pylast/${name}.tar.gz";
       md5 = "506cf1b13020b3ed2f3c845ea0c9830e";
     };
@@ -4226,14 +6026,14 @@ rec {
   libcloud = buildPythonPackage (rec {
     name = "libcloud-0.14.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/a/apache-libcloud/apache-libcloud-0.14.1.tar.bz2;
       sha256 = "1l6190pjv54c7y8pzr089ij727qv7bqhhaznr2mkvimgr1wzsql5";
     };
 
-    buildInputs = [  mock ];
+    buildInputs = with self; [ mock ];
 
-    propagatedBuildInputs = [ pycrypto ];
+    propagatedBuildInputs = with self; [ pycrypto ];
     preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py";
 
     # failing tests for 26 and 27
@@ -4249,14 +6049,14 @@ rec {
   limnoria = buildPythonPackage (rec {
     name = "limnoria-20130327";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/l/limnoria/limnoria-2013-06-01T10:32:51+0200.tar.gz;
       name = "limnoria-2013-06-01.tar.gz";
       sha256 = "1i8q9zzf43sr3n1q4h6h1z8nz31g4aa8dq94ywvfbh7hklmchq6n";
     };
 
-    buildInputs = [ pkgs.git ];
-    propagatedBuildInputs = [ modules.sqlite3 ];
+    buildInputs = with self; [ pkgs.git ];
+    propagatedBuildInputs = with self; [ modules.sqlite3 ];
 
     doCheck = false;
 
@@ -4269,10 +6069,65 @@ rec {
   });
 
 
+  linode = buildPythonPackage rec {
+    name = "linode-${version}";
+    version = "0.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/l/linode/linode-${version}.tar.gz";
+      md5 = "03a306575cf274719b3206ecee0bda9e";
+    };
+
+    propagatedBuildInputs = with self; [ requests2 ];
+
+    meta = with stdenv.lib; {
+      homepage = "https://github.com/ghickman/linode";
+      description = "A thin python wrapper around Linode's API";
+      license = licenses.mit;
+      maintainers = [ maintainers.nslqqq ];
+    };
+  };
+
+  llfuse = buildPythonPackage rec {
+    name = "llfuse-0.40";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/l/llfuse/${name}.tar.bz2";
+      sha256 = "0mx87n6j2g63mgiimjqn0gj6jgqfdkc04xkxc56r1azjlqji32zf";
+    };
+
+    buildInputs = [ pkgs.pkgconfig pkgs.fuse pkgs.attr ];
+
+    meta = with stdenv.lib; {
+      description = "Python bindings for the low-level FUSE API";
+      homepage = https://code.google.com/p/python-llfuse/;
+      license = licenses.lgpl2Plus;
+      platforms = platforms.unix;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+  locustio = buildPythonPackage rec {
+    name = "locustio-0.7.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/l/locustio/${name}.tar.gz";
+      md5 = "90cf4d029d58ad58d19ea17a16e59c34";
+    };
+
+    propagatedBuildInputs = [ self.msgpack self.requests2 self.flask self.gevent self.pyzmq ];
+    buildInputs = [ self.mock self.unittest2 ];
+
+    meta = {
+      homepage = http://locust.io/;
+      description = "A load testing tool";
+    };
+  };
+
   lockfile = buildPythonPackage rec {
     name = "lockfile-0.9.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pylockfile.googlecode.com/files/${name}.tar.gz";
       sha1 = "1eebaee375641c9f29aeb21768f917dd2b985752";
     };
@@ -4287,42 +6142,46 @@ rec {
   };
 
   logilab_common = buildPythonPackage rec {
-    name = "logilab-common-0.61.0";
+    name = "logilab-common-0.63.2";
 
-    src = fetchurl {
-      url = "http://download.logilab.org/pub/common/${name}.tar.gz";
-      sha256 = "09apsrcvjliawbxmfrmi1l8hlbaj87mb7n4lrlivy5maxs6yg4hd";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/l/logilab-common/${name}.tar.gz";
+      sha256 = "1rr81zlmlgdma3s75i5c1l8q2m25v4ac41i9pniik4mhkc6a0fv0";
     };
 
-    propagatedBuildInputs = [ unittest2 ];
+    propagatedBuildInputs = with self; [ unittest2 six ];
   };
 
-  "lxml-2.3.6" = buildPythonPackage rec {
-    name = "lxml-2.3.6";
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/l/lxml/lxml-2.3.6.tar.gz";
-      md5 = "d5d886088e78b1bdbfd66d328fc2d0bc";
+  loxodo = buildPythonPackage {
+    name = "loxodo-0.20150124";
+    disabled = isPy3k;
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/sommer/loxodo.git";
+      rev = "6c56efb4511fd6f645ad0f8eb3deafc8071c5795";
+      sha256 = "02whmv4am8cz401rplplqzbipkyf0wd69z43sd3yw05rh7f3xbs2";
     };
-    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
-    propagatedBuildInputs = [  ];
-    doCheck = false;
 
-    meta = {
-      description = "Pythonic binding for the libxml2 and libxslt libraries";
-      homepage = http://codespeak.net/lxml/index.html;
-      license = "BSD";
+    propagatedBuildInputs = with self; [ wxPython modules.readline ];
+    postInstall = "mv $out/bin/loxodo.py $out/bin/loxodo";
+
+    meta = with stdenv.lib; {
+      description = "A Password Safe V3 compatible password vault";
+      homepage = http://www.christoph-sommer.de/loxodo/;
+      license = licenses.gpl2Plus;
+      platforms = platforms.linux;
     };
   };
 
   lxml = buildPythonPackage ( rec {
-    name = "lxml-3.0.2";
+    name = "lxml-3.3.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/l/lxml/${name}.tar.gz";
-      md5 = "38b15b0dd5e9292cf98be800e84a3ce4";
+      md5 = "a804b36864c483fe7abdd7f493a0c379";
     };
 
-    buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
+    buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ];
 
     meta = {
       description = "Pythonic binding for the libxml2 and libxslt libraries";
@@ -4335,17 +6194,17 @@ rec {
   python_magic = buildPythonPackage rec {
     name = "python-magic-0.4.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-magic/${name}.tar.gz";
       md5 = "07e7a0fea78dd81ed609414c3484df58";
     };
 
-    propagatedBuildInputs = [ pkgs.file ];
+    propagatedBuildInputs = with self; [ pkgs.file ];
 
     patchPhase = ''
       substituteInPlace magic.py --replace "ctypes.CDLL(dll)" "ctypes.CDLL('${pkgs.file}/lib/libmagic.so')"
     '';
-    
+
     doCheck = false;
 
     # TODO: tests are failing
@@ -4365,7 +6224,7 @@ rec {
     src = pkgs.file.src;
 
     patches = [ ../tools/misc/file/python.patch ];
-    buildInputs = [ python pkgs.file ];
+    buildInputs = with self; [ python pkgs.file ];
 
     preConfigure = "cd python";
 
@@ -4380,12 +6239,12 @@ rec {
     version = "0.21.1";
     name = "m2crypto-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${version}.tar.gz";
       md5 = "f93d8462ff7646397a9f77a2fe602d17";
     };
 
-    buildInputs = [ pkgs.swig pkgs.openssl ];
+    buildInputs = with self; [ pkgs.swig pkgs.openssl ];
 
     preBuild = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
 
@@ -4399,18 +6258,18 @@ rec {
 
 
   Mako = buildPythonPackage rec {
-    name = "Mako-0.9.1";
+    name = "Mako-1.0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/M/Mako/${name}.tar.gz";
-      md5 = "fe3f394ef714776d09ec6133923736a7";
+      md5 = "9f0aafd177b039ef67b90ea350497a54";
     };
 
-    buildInputs = [ markupsafe nose ];
-    propagatedBuildInputs = [ markupsafe ];
+    buildInputs = with self; [ markupsafe nose mock ];
+    propagatedBuildInputs = with self; [ markupsafe ];
 
     meta = {
-      description = "Super-fast templating language.";
+      description = "Super-fast templating language";
       homepage = http://www.makotemplates.org;
       license = stdenv.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.iElectric ];
@@ -4421,7 +6280,7 @@ rec {
   markupsafe = buildPythonPackage rec {
     name = "markupsafe-0.15";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/M/MarkupSafe/${name}.tar.gz";
       md5 = "4e7c4d965fe5e033fa2d7bb7746bb186";
     };
@@ -4438,17 +6297,17 @@ rec {
     name = "manuel-${version}";
     version = "1.8.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/manuel/${name}.tar.gz";
       sha256 = "1diyj6a8bvz2cdf9m0g2bbx9z2yjjnn3ylbg1zinpcjj6vldfx59";
     };
 
-    propagatedBuildInputs = [ six zope_testing ];
+    propagatedBuildInputs = with self; [ six zope_testing ];
 
     meta = {
       description = "A documentation builder";
       homepage = http://pypi.python.org/pypi/manuel;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -4456,7 +6315,7 @@ rec {
     version = "2.3.1";
     name = "markdown-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-${version}.tar.gz";
       sha256 = "147j9hznv2r187a86d28glmg3pckfrdp0nz9yh7s1aqpawwdkszz";
     };
@@ -4470,39 +6329,21 @@ rec {
   };
 
 
-  matplotlib = buildPythonPackage rec {
-    name = "matplotlib-1.3.1";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/matplotlib/${name}.tar.gz";
-      sha256 = "0smgpn7lwbn02nbyhawyn0n6r3pb65zk501f21bjgavnjjfnf5pa";
-    };
-
-    buildInputs = [ python pkgs.which pkgs.ghostscript ] ++
-        (if stdenv.isDarwin then [ pkgs.clangStdenv ] else [ pkgs.stdenv ]);
-
-    propagatedBuildInputs =
-      [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig
-      ];
-
-    meta = with stdenv.lib; {
-      description = "python plotting library, making publication quality plots";
-      homepage    = "http://matplotlib.sourceforge.net/";
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
+  matplotlib = callPackage ../development/python-modules/matplotlib/default.nix {
+    stdenv = if stdenv.isDarwin then pkgs.clangStdenv else pkgs.stdenv;
+    enableGhostscript = true;
   };
 
 
   mccabe = buildPythonPackage (rec {
     name = "mccabe-0.2.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz";
       md5 = "5a3f3fa6a4bad126c88aaaa7dab682f5";
     };
 
-    buildInputs = [ ];
+    buildInputs = with self; [ ];
 
     meta = {
       description = "McCabe checker, plugin for flake8";
@@ -4517,12 +6358,12 @@ rec {
     name = "mechanize-0.1.11";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://wwwsearch.sourceforge.net/mechanize/src/${name}.tar.gz";
       sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2";
     };
 
-    propagatedBuildInputs = [ clientform ];
+    propagatedBuildInputs = with self; [ clientform ];
 
     meta = {
       description = "Stateful programmatic web browsing in Python";
@@ -4537,7 +6378,7 @@ rec {
   meld3 = buildPythonPackage rec {
     name = "meld3-1.0.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/m/meld3/meld3-1.0.0.tar.gz;
       md5 = "ca270506dd4ecb20ae26fa72fbd9b0be";
     };
@@ -4547,18 +6388,17 @@ rec {
     meta = {
       description = "An HTML/XML templating engine used by supervisor";
       homepage = https://github.com/supervisor/meld3;
-      license = "free-non-copyleft";
+      license = stdenv.lib.licenses.free;
     };
   };
 
-
   memcached = buildPythonPackage rec {
     name = "memcached-1.51";
 
-    src = if isPy3k then fetchurl {
+    src = if isPy3k then pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/python3-memcached/python3-${name}.tar.gz";
       sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw";
-    } else fetchurl {
+    } else pkgs.fetchurl {
       url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${name}.tar.gz";
       sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192";
     };
@@ -4573,7 +6413,7 @@ rec {
   memory_profiler = buildPythonPackage rec {
     name = "memory_profiler-0.27";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/m/memory_profiler/memory_profiler-0.27.tar.gz";
       md5 = "212c0d7452dbaffb6b09474ac07b0668";
     };
@@ -4587,16 +6427,68 @@ rec {
     };
   };
 
+  mezzanine = buildPythonPackage rec {
+    version = "3.1.10";
+    name = "mezzanine-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/stephenmcd/mezzanine/archive/${version}.tar.gz";
+      sha256 = "1cd7d3dji8q4mvcnf9asxn8j109pd5g5d5shr6xvn0iwr35qprgi";
+    };
+
+    buildInputs = with self; [ pyflakes pep8 ];
+    propagatedBuildInputs = with self; [
+      django_1_6 filebrowser_safe grappelli_safe bleach tzlocal beautifulsoup4
+      requests2 requests_oauthlib future pillow modules.sqlite3
+    ];
+
+    # Tests Fail Due to Syntax Warning, Fixed for v3.1.11+
+    doCheck = false;
+    # sed calls will be unecessary in v3.1.11+
+    preConfigure = ''
+      sed -i 's/future == 0.9.0/future>=0.9.0/' setup.py
+      sed -i 's/tzlocal == 1.0/tzlocal>=1.0/' setup.py
+      sed -i 's/pep8==1.4.1/pep8>=1.4.1/' setup.py
+      sed -i 's/pyflakes==0.6.1/pyflakes>=0.6.1/' setup.py
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    meta = with stdenv.lib; {
+      description = ''
+        A content management platform built using the Django framework.
+      '';
+      longDescription = ''
+        Mezzanine is a powerful, consistent, and flexible content management
+        platform. Built using the Django framework, Mezzanine provides a
+        simple yet highly extensible architecture that encourages diving in and
+        hacking on the code. Mezzanine is BSD licensed and supported by a
+        diverse and active community.
+
+        In some ways, Mezzanine resembles tools such as Wordpress that provide
+        an intuitive interface for managing pages, blog posts, form data, store
+        products, and other types of content. But Mezzanine is also different.
+        Unlike many other platforms that make extensive use of modules or
+        reusable applications, Mezzanine provides most of its functionality by
+        default. This approach yields a more integrated and efficient platform.
+      '';
+      homepage = http://mezzanine.jupo.org/;
+      downloadPage = https://github.com/stephenmcd/mezzanine/releases;
+      license = licenses.free;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
+
   minimock = buildPythonPackage rec {
     version = "1.2.8";
     name = "minimock-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://bitbucket.org/jab/minimock/get/${version}.zip";
       sha256 = "c88fa8a7120623f23990a7f086a9657f6ced09025a55e3be8649a30b4945441a";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose ];
 
     checkPhase = "./test";
 
@@ -4606,17 +6498,52 @@ rec {
     };
   };
 
+  rainbowstream = buildPythonPackage rec {
+    name = "rainbowstream-${version}";
+    version = "1.1.6";
+
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz";
+      sha256 = "04i2a8a5k6n6lgfpa9bzzbkhvywgd4bn3qlspl97pn8ply9kgszm";
+    };
+
+    doCheck = false;
+
+    preBuild = ''
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    postInstall = ''
+      for prog in "$out/bin/"*; do
+        wrapProgram "$prog" \
+          --prefix PYTHONPATH : "$PYTHONPATH"
+      done
+    '';
+
+    buildInputs = with self; [
+      pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales
+      pillow twitter pyfiglet requests arrow dateutil modules.readline pysocks
+    ];
+
+    meta = {
+      description = "Streaming command-line twitter client";
+      homepage    = "http://www.rainbowstream.org/";
+      license     = licenses.mit;
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
   mitmproxy = buildPythonPackage rec {
     baseName = "mitmproxy";
     name = "${baseName}-${meta.version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "${meta.homepage}/download/${name}.tar.gz";
       sha256 = "0mpyw8iw4l4jv175qlbn0rrlgiz1k79m44jncbdxfj8ddvvvyz2j";
     };
 
-    buildInputs = [
-      pkgs.pyopenssl pyasn1 urwid pil lxml flask protobuf netlib
+    buildInputs = with self; [
+      pyopenssl pyasn1 urwid pil lxml flask protobuf netlib
     ];
 
     doCheck = false;
@@ -4639,12 +6566,12 @@ rec {
   mock = buildPythonPackage (rec {
     name = "mock-1.0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/mock/${name}.tar.gz";
       md5 = "c3971991738caa55ec7c356bbc154ee2";
     };
 
-    buildInputs = [ unittest2 ];
+    buildInputs = with self; [ unittest2 ];
 
     meta = {
       description = "Mock objects for Python";
@@ -4660,7 +6587,7 @@ rec {
     disabled = isPy3k;
     ver = "1.9.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://static.moinmo.in/files/moin-${ver}.tar.gz";
       sha256 = "f4ba1b5c956bd96d2a61e27e68d297aa63d1afbc80d5740e139dcdf0affb4db5";
     };
@@ -4674,11 +6601,29 @@ rec {
     };
   });
 
+  moretools = buildPythonPackage rec {
+    name = "moretools-0.1a41";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/m/moretools/${name}.tar.gz";
+      sha256 = "1n442wprbl3cmg08233m1sr3g4z0i8hv9g6bhch7kzdmbl21399f";
+    };
+
+    buildInputs = with self; [ six pathpy setuptools ];
+    propagatedBuildInputs = with self; [ decorator ];
+
+    meta = with stdenv.lib; {
+      description = "Many more basic tools for python 2/3 extending itertools, functools, operator and collections";
+      homepage = https://bitbucket.org/userzimmermann/python-moretools;
+      license = licenses.gpl3Plus;
+      platforms = platforms.linux;
+    };
+  };
 
   mox = buildPythonPackage rec {
     name = "mox-0.5.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pymox.googlecode.com/files/${name}.tar.gz";
       sha1 = "b71aeaacf31898c3b38d8b9ca5bcc0664499c0de";
     };
@@ -4688,15 +6633,38 @@ rec {
 
     meta = {
       homepage = http://code.google.com/p/pymox/;
-      description = "A mock object framework for Python.";
+      description = "A mock object framework for Python";
     };
   };
 
+  mozsvc = buildPythonPackage rec {
+    name = "mozsvc-${version}";
+    version = "0.8";
+
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/mozservices.git;
+      rev = "refs/tags/${version}";
+      sha256 = "0k1d7v8aa4xd3f9h8m5crl647136ba15i9nzdrpxg5aqmv2n0i0p";
+    };
+
+    patches = singleton (pkgs.fetchurl {
+      url = https://github.com/nbp/mozservices/commit/f86c0b0b870cd8f80ce90accde9e16ecb2e88863.diff;
+      sha256 = "1lnghx821f6dqp3pa382ka07cncdz7hq0mkrh44d0q3grvrlrp9n";
+    });
+
+    doCheck = false; # lazy packager
+    propagatedBuildInputs = with self; [ pyramid simplejson konfig ];
+
+    meta = {
+      homepage = https://github.com/mozilla-services/mozservices;
+      description = "Various utilities for Mozilla apps";
+    };
+  };
 
   mpmath = buildPythonPackage rec {
     name = "mpmath-0.17";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://mpmath.googlecode.com/files/${name}.tar.gz";
       sha256 = "1blgzwq4irzaf8abb4z0d2r48903n9zxf51fhnv3gv09bgxjqzxh";
     };
@@ -4718,14 +6686,14 @@ rec {
     name = "python-mpd-0.3.0";
 
     disabled = isPy3k;
-    
-    src = fetchurl {
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/python-mpd/python-mpd-0.3.0.tar.gz";
       md5 = "5b3849b131e2fb12f251434597d65635";
     };
 
     meta = with pkgs.stdenv.lib; {
-      description = "An MPD (Music Player Daemon) client library written in pure Python.";
+      description = "An MPD (Music Player Daemon) client library written in pure Python";
       homepage = http://jatreuman.indefero.net/p/python-mpd/;
       license = licenses.gpl3;
     };
@@ -4735,18 +6703,19 @@ rec {
     name = "mrbob-${version}";
     version = "0.1.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.zip";
       md5 = "84a117c9a75b86842b0fa5f5c9c767f3";
     };
 
+    buildInputs = [ pkgs.glibcLocales ];
+
     # some files in tests dir include unicode names
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
       export LC_ALL="en_US.UTF-8"
     '';
 
-    propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++
+    propagatedBuildInputs = with self; [ argparse jinja2 six modules.readline ] ++
                             (optionals isPy26 [ importlib ordereddict ]);
 
     meta = {
@@ -4755,11 +6724,35 @@ rec {
     };
   };
 
+  msgpack = buildPythonPackage rec {
+    name = "msgpack-python-${version}";
+    version = "0.4.6";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/m/msgpack-python/${name}.tar.gz";
+      md5 = "8b317669314cf1bc881716cccdaccb30";
+    };
+
+    propagatedBuildInputs = with self; [ ];
+  };
+
+  msrplib = buildPythonPackage rec {
+    name = "python-msrplib-${version}";
+    version = "0.15.0";
+
+    src = pkgs.fetchurl {
+      url = "http://download.ag-projects.com/SipClient/${name}.tar.gz";
+      sha256 = "1sm03jcz663xkbhfmrk7rr5l3wlkydn8xs56fvqjxyapx0m5sw6f";
+    };
+
+    propagatedBuildInputs = with self; [ eventlib application gnutls ];
+  };
+
 
   munkres = buildPythonPackage rec {
     name = "munkres-1.0.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/munkres/${name}.tar.gz";
       md5 = "d7ba3b8c5001578ae229a2d5a655872f";
     };
@@ -4779,13 +6772,14 @@ rec {
   musicbrainzngs = buildPythonPackage rec {
     name = "musicbrainzngs-0.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/musicbrainzngs/${name}.tar.gz";
       md5 = "9e17a181af72d04a291c9a960bc73d44";
     };
-    
+
+    buildInputs = [ pkgs.glibcLocales ];
+
     preCheck = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
       export LC_ALL="en_US.UTF-8"
     '';
 
@@ -4797,17 +6791,34 @@ rec {
     };
   };
 
+  mutag = buildPythonPackage rec {
+    disabled = ! isPy3k;
+    name = "mutag-0.0.2-2ffa0258ca";
+    src = pkgs.fetchgit {
+      url = "https://github.com/aroig/mutag.git";
+      sha256 = "0azq2sb32mv6wyjlw1hk01c23isl4x1hya52lqnhknak299s5fml";
+      rev = "2ffa0258cadaf79313241f43bf2c1caaf197d9c2";
+    };
+
+    propagatedBuildInputs = with self; [ pyparsing ];
+
+    meta = {
+      homepage = https://github.com/aroig/mutag;
+      license = stdenv.lib.licenses.gpl3;
+      maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    };
+  };
 
   mutagen = buildPythonPackage (rec {
-    name = "mutagen-1.23";
+    name = "mutagen-1.27";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/mutagen/${name}.tar.gz";
-      sha256 = "12f70aaf5ggdzll76bhhkn64b27xy9s1acx417dbsaqnnbis8s76";
+      md5 = "6a9bb5cc33214add35348f1bb3448340";
     };
-    
-    # one unicode test fails
-    doCheck = false;
+
+    # Needed for tests only
+    buildInputs = [ pkgs.faad2 pkgs.flac pkgs.vorbisTools pkgs.liboggz ];
 
     meta = {
       description = "Python multimedia tagging library";
@@ -4821,7 +6832,7 @@ rec {
     name = "muttils-1.3";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = http://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2;
       sha256 = "1a4kxa0fpgg6rdj5p4kggfn8xpniqh8v5kbiaqc6wids02m7kag6";
     };
@@ -4836,23 +6847,50 @@ rec {
     };
   });
 
+  pymysql = buildPythonPackage rec {
+    name = "pymysql-${version}";
+    version = "0.6.3";
+    src = pkgs.fetchgit {
+      url = https://github.com/PyMySQL/PyMySQL.git;
+      rev = "refs/tags/pymysql-${version}";
+      sha256 = "1m9fr2x49s3aixlmccr3w80skl19dya9h3x69wgl6ly1z27iyg24";
+    };
+  };
+
+  pymysqlsa = self.buildPythonPackage rec {
+    name = "pymysqlsa-${version}";
+    version = "1.0";
+
+    propagatedBuildInputs = with self; [ pymysql sqlalchemy9 ];
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pymysql_sa/pymysql_sa-1.0.tar.gz";
+      sha256 = "a2676bce514a29b2d6ab418812259b0c2f7564150ac53455420a20bd7935314a";
+    };
+
+    meta = {
+      description = "PyMySQL dialect for SQL Alchemy";
+      homepage = https://pypi.python.org/pypi/pymysql_sa;
+      license = licenses.mit;
+    };
+  };
 
   MySQL_python = buildPythonPackage {
     name = "MySQL-python-1.2.3";
-    
+
     disabled = isPy3k;
 
     # plenty of failing tests
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = mirror://sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz;
       sha256 = "0vkyg9dmj29hzk7fy77f42p7bfj28skyzsjsjry4wqr3z6xnzrkx";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose pkgs.openssl ];
 
-    propagatedBuildInputs = [ pkgs.mysql pkgs.zlib ];
+    propagatedBuildInputs = with self; [ pkgs.mysql pkgs.zlib ];
 
     meta = {
       description = "MySQL database binding for Python";
@@ -4865,7 +6903,7 @@ rec {
   mysql_connector_repackaged = buildPythonPackage rec {
     name = "mysql-connector-repackaged-0.3.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/mysql-connector-repackaged/${name}.tar.gz";
       md5 = "0b17ad1cb3fe763fd44487cb97cf45b2";
     };
@@ -4884,7 +6922,7 @@ rec {
     name = "namebench-1.0.5";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://namebench.googlecode.com/files/${name}.tgz";
       sha256 = "6cbde35ce94d1f31e7d48f5d8eec13238b4dbc505675a33f1e183e600c1482c3";
     };
@@ -4916,13 +6954,29 @@ rec {
   });
 
 
+  nameparser = buildPythonPackage rec {
+    name = "nameparser-${version}";
+    version = "0.3.4";
+    
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/n/nameparser/${name}.tar.gz";
+      sha256 = "1zi94m99ziwwd6kkip3w2xpnl05r2cfv9iq68inz7np81c3g8vag";
+    };
+    
+    meta = {
+      description = "A simple Python module for parsing human names into their individual components";
+      homepage = https://github.com/derek73/python-nameparser;
+      license = stdenv.lib.licenses.lgpl21Plus;
+    };
+  };
+
   nbxmpp = buildPythonPackage rec {
-    name = "nbxmpp-0.5";
+    name = "nbxmpp-0.5.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       name = "${name}.tar.gz";
-      url = "https://python-nbxmpp.gajim.org/downloads/5";
-      sha256 = "0y270c9v4i9n58p4ghlm18h50qcfichmfkgcpqd3bypx4fkmdx90";
+      url = "https://python-nbxmpp.gajim.org/downloads/7";
+      sha256 = "0q2iph07aahwn6hlr38v0cvzlfc9hrf5mz6qs1kp4b4x9l8x5mqn";
     };
 
     meta = {
@@ -4936,7 +6990,7 @@ rec {
   netaddr = buildPythonPackage rec {
     name = "netaddr-0.7.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/downloads/drkjam/netaddr/${name}.tar.gz";
       sha256 = "0ssxic389rdc79zkz8dxcjpqdi5qs80h12khkag410cl9cwk11f2";
     };
@@ -4954,7 +7008,7 @@ rec {
     version = "0.10.4";
     name = "netifaces-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/n/netifaces/${name}.tar.gz";
       sha256 = "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln";
     };
@@ -4970,14 +7024,14 @@ rec {
     name = "${baseName}-${meta.version}";
     disabled = (!isPy27);
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/cortesi/netlib/archive/v${meta.version}.tar.gz";
       name = "${name}.tar.gz";
       sha256 = "1x2n126b7fal64fb5fzkp4by7ym0iswn3w9mh6pm4c1vjdpnk592";
     };
 
-    buildInputs = [
-      pkgs.pyopenssl pyasn1
+    buildInputs = with self; [
+      pyopenssl pyasn1
     ];
 
     doCheck = false;
@@ -4994,13 +7048,13 @@ rec {
     name = "nevow-${version}";
     version = "0.10.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/N/Nevow/Nevow-${version}.tar.gz";
       sha256 = "90631f68f626c8934984908d3df15e7c198939d36be7ead1305479dfc67ff6d0";
       name = "${name}.tar.gz";
     };
 
-    propagatedBuildInputs = [ twisted ];
+    propagatedBuildInputs = with self; [ twisted ];
 
     postInstall = "twistd --help > /dev/null";
 
@@ -5032,17 +7086,17 @@ rec {
   });
 
   nose = buildPythonPackage rec {
-    version = "1.3.3";
+    version = "1.3.4";
     name = "nose-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz";
-      sha256 = "09h3a74hzw1cfx4ic19ibxq8kg6sl1n64px2mmb57f5yd3r2y35l";
+      sha256 = "00qymfgwg4iam4xi0w9bnv7lcb3fypq1hzfafzgs1rfmwaj67g3n";
     };
 
-    buildInputs = [ coverage ];
+    buildInputs = with self; [ coverage ];
 
-    doCheck = ! stdenv.isDarwin;
+    doCheck = false;  # lot's of transient errors, too much hassle
     checkPhase = if python.is_py3k or false then ''
       ${python}/bin/${python.executable} setup.py build_tests
     '' else "" + ''
@@ -5059,12 +7113,12 @@ rec {
     version = "0.4";
     name = "nose-selecttests-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose-selecttests/${name}.zip";
       sha256 = "0lgrfgp3sq8xi8d9grrg0z8jsyk0wl8a3rxw31hb7vdncin5b7n5";
     };
 
-    propagatedBuildInputs = [ nose ];
+    propagatedBuildInputs = with self; [ nose ];
 
     meta = {
       description = "Simple nose plugin that enables developers to run subset of collected tests to spare some waiting time for better things";
@@ -5074,53 +7128,91 @@ rec {
 
   nose2 = if isPy26 then null else (buildPythonPackage rec {
     name = "nose2-0.4.5";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose2/${name}.tar.gz";
       md5 = "d7e51c848227488e3cc0424faf5511cd";
     };
     meta = {
       description = "nose2 is the next generation of nicer testing for Python";
     };
-    propagatedBuildInputs = [ six ];
+    propagatedBuildInputs = with self; [ six ];
     # AttributeError: 'module' object has no attribute 'collector'
     doCheck = false;
   });
 
+  nose-cover3 = buildPythonPackage rec {
+    name = "nose-cover3-${version}";
+    version = "0.1.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/n/nose-cover3/${name}.tar.gz";
+      sha256 = "1la4hhc1yszjpcchvkqk5xmzlb2g1b3fgxj9wwc58qc549whlcc1";
+      md5 = "82f981eaa007b430679899256050fa0c";
+    };
+
+    propagatedBuildInputs = with self; [ nose ];
+
+    meta = {
+      description = "Coverage 3.x support for Nose";
+      homepage = https://github.com/ask/nosecover3;
+      license = stdenv.lib.licenses.lgpl21;
+    };
+  };
+
+  nosexcover = buildPythonPackage (rec {
+    name = "nosexcover-1.0.10";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/n/nosexcover/${name}.tar.gz";
+      md5 = "12bf494a801b376debeb6a167c247391";
+    };
+
+    propagatedBuildInputs = with self; [ coverage nose ];
+
+    meta = {
+      description = "Extends nose.plugins.cover to add Cobertura-style XML reports";
+
+      homepage = http://github.com/cmheisel/nose-xcover/;
+
+      license = stdenv.lib.licenses.bsd3;
+    };
+  });
+
   nosejs = buildPythonPackage {
     name = "nosejs-0.9.4";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/N/NoseJS/NoseJS-0.9.4.tar.gz;
       sha256 = "0qrhkd3sga56qf6k0sqyhwfcladwi05gl6aqmr0xriiq1sgva5dy";
     };
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose ];
   };
 
   nose-cprof = buildPythonPackage rec {
     name = "nose-cprof-0.1-0";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz";
       md5 = "5db27c3b8f01915335ae6fc5fd3afd44";
     };
 
     meta = {
-      description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler.";
+      description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose ];
   };
 
 
   notify = pkgs.stdenv.mkDerivation (rec {
     name = "python-notify-0.1.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = http://www.galago-project.org/files/releases/source/notify-python/notify-python-0.1.1.tar.bz2;
       sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx";
     };
 
-    patches = singleton (fetchurl {
+    patches = singleton (pkgs.fetchurl {
       name = "libnotify07.patch";
       url = "http://pkgs.fedoraproject.org/cgit/notify-python.git/plain/"
           + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c";
@@ -5128,11 +7220,11 @@ rec {
     });
 
     postPatch = ''
-      sed -i -e '/^PYGTK_CODEGEN/s|=.*|="${pygtk}/bin/pygtk-codegen-2.0"|' \
+      sed -i -e '/^PYGTK_CODEGEN/s|=.*|="${self.pygtk}/bin/pygtk-codegen-2.0"|' \
         configure
     '';
 
-    buildInputs = [ python pkgs.pkgconfig pkgs.libnotify pygobject pygtk pkgs.glib pkgs.gtk pkgs.dbus_glib ];
+    buildInputs = with self; [ python pkgs.pkgconfig pkgs.libnotify pygobject pygtk pkgs.glib pkgs.gtk pkgs.dbus_glib ];
 
     postInstall = "cd $out/lib/python*/site-packages && ln -s gtk-*/pynotify .";
 
@@ -5147,9 +7239,9 @@ rec {
 
     src = pkgs.notmuch.src;
 
-    sourceRoot = "${pkgs.notmuch.name}/bindings/python";
+    sourceRoot = pkgs.notmuch.pythonSourceRoot;
 
-    buildInputs = [ python pkgs.notmuch ];
+    buildInputs = with self; [ python pkgs.notmuch ];
 
     meta = {
       description = "A Python wrapper around notmuch";
@@ -5158,17 +7250,29 @@ rec {
     };
   };
 
+  ntplib = buildPythonPackage rec {
+    name = "ntplib-0.3.2";
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/n/ntplib/ntplib-0.3.2.tar.gz;
+      md5 = "0f386dc00c0056ac4d77af0b4c21bb8e";
+    };
+
+    meta = {
+      description = "Python NTP library";
+    };
+  };
+
   numexpr = buildPythonPackage rec {
     version = "2.4";
     name = "numexpr-${version}";
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = https://github.com/pydata/numexpr.git;
       rev = "606cc9a110711e947d35ac2770749c00dab184c8";
       sha256 = "1gxgkg7ncgjhnifn444iha5nrjhyr8sr6w5yp204186a1ysz858g";
     };
 
-    propagatedBuildInputs = with pkgs; [ numpy ];
+    propagatedBuildInputs = with self; [ numpy ];
 
     # Run the test suite.
     # It requires the build path to be in the python search path.
@@ -5197,20 +7301,22 @@ rec {
   };
 
   numpy = buildPythonPackage ( rec {
-    name = "numpy-1.7.1";
+    name = "numpy-1.8.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/numpy/${name}.tar.gz";
-      sha256 = "0jh832j439jj2b7m1z5a4rv5cpdn1yiw1r6gwrhdihw562d029am";
+      sha256 = "1gcxlk3mf43pzpxvbw8kcfg173g4105j9szsfc1kxwablail6myf";
     };
 
+    disabled = isPyPy;  # WIP
+
     preConfigure = ''
       sed -i 's/-faltivec//' numpy/distutils/system_info.py
       sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
     '';
 
     preBuild = ''
-      export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
+      export BLAS=${pkgs.openblas} LAPACK=${pkgs.openblas}
     '';
 
     setupPyBuildFlags = ["--fcompiler='gnu95'"];
@@ -5218,8 +7324,8 @@ rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    buildInputs = [ pkgs.gfortran ];
-    propagatedBuildInputs = [ pkgs.liblapack pkgs.blas ];
+    buildInputs = with self; [ pkgs.gfortran ];
+    propagatedBuildInputs = with self; [  pkgs.openblas ];
 
     meta = {
       description = "Scientific tools for Python";
@@ -5229,16 +7335,16 @@ rec {
 
 
   nwdiag = buildPythonPackage rec {
-    name = "nwdiag-1.0.0";
+    name = "nwdiag-1.0.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/n/nwdiag/${name}.tar.gz";
-      md5 = "d81581a028840f8f7362ab21bf73e941";
+      sha256 = "0n7ary1fngxk8bk15vabc8fhnmxlh098piciwaviwn7l4a5q1zys";
     };
 
-    buildInputs = [ pep8 nose unittest2 docutils ];
+    buildInputs = with self; [ pep8 nose unittest2 docutils ];
 
-    propagatedBuildInputs = [ blockdiag ];
+    propagatedBuildInputs = with self; [ blockdiag ];
 
     # tests fail
     doCheck = false;
@@ -5252,17 +7358,18 @@ rec {
     };
   };
 
-  livestreamer = if isPy34 then null else (buildPythonPackage rec {
-    version = "1.8.2";
+  livestreamer = buildPythonPackage rec {
+    version = "1.11.1";
     name = "livestreamer-${version}";
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz";
-      sha256 = "130h97qdb7qx8xg0gz54p5a6cb2zbffi5hsi305xf0ah9nf4rbrc";
+      sha256 = "1hic3z5any64gn2b0gs1b7m34bzgzv71inr8wgjq59pwf8mbrqk9";
     };
 
-    buildInputs = [ pkgs.makeWrapper ];
-    propagatedBuildInputs = [ requests pkgs.rtmpdump pycrypto ];
+    buildInputs = with self; [ pkgs.makeWrapper ];
+    propagatedBuildInputs = with self; [ requests2 pkgs.rtmpdump pycrypto singledispatch futures ];
     postInstall = ''
       wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin
     '';
@@ -5273,7 +7380,23 @@ rec {
         Livestreamer is CLI program that extracts streams from various
         services and pipes them into a video player of choice.
       '';
-      license = "bsd";
+      license = stdenv.lib.licenses.bsd2;
+    };
+  };
+
+  oauth = buildPythonPackage (rec {
+    name = "oauth-1.0.1";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/o/oauth/oauth-1.0.1.tar.gz";
+      sha256 = "0pdgi35hczsslil4890xqawnbpdazkgf2v1443847h5hy2gq2sg7";
+    };
+
+    meta = {
+      homepage = "http://code.google.com/p/oauth";
+      description = "Library for OAuth version 1.0a.";
+      license = licenses.mit;
+      platforms = stdenv.lib.platforms.all;
     };
   });
 
@@ -5281,14 +7404,14 @@ rec {
     name = "oauth2-1.5.211";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz";
       sha256 = "82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21";
     };
 
-    propagatedBuildInputs = [ httplib2 ];
+    propagatedBuildInputs = with self; [ httplib2 ];
 
-    buildInputs = [ mock coverage ];
+    buildInputs = with self; [ mock coverage ];
 
     # ServerNotFoundError: Unable to find the server at oauth-sandbox.sevengoslings.net
     doCheck = false;
@@ -5304,37 +7427,45 @@ rec {
 
 
   oauthlib = buildPythonPackage rec {
-    name = "oauthlib-0.5.0";
+    version = "0.7.2";
+    name = "oauthlib-${version}";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/o/oauthlib/${name}.tar.gz";
-      md5 = "d12c507de33403ebdf290fbffdb98213";
+    src = pkgs.fetchurl {
+      url = "https://github.com/idan/oauthlib/archive/${version}.tar.gz";
+      sha256 = "08b7swyswhxh90k9mp54rk1qks2l2s2pdcjap6x118y27p7dhp4h";
     };
 
-    buildInputs = [ mock nose unittest2 ];
+    buildInputs = with self; [ mock nose unittest2 ];
 
-    propagatedBuildInputs = [ pycrypto ];
+    propagatedBuildInputs = with self; [ pycrypto blinker pyjwt ];
 
     meta = {
       homepage = https://github.com/idan/oauthlib;
+      downloadPage = https://github.com/idan/oauthlib/releases;
       description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
+      maintainers = with maintainers; [ prikhi ];
     };
   };
 
 
   obfsproxy = buildPythonPackage ( rec {
-    name = "obfsproxy-0.2.2";
-    src = fetchgit {
-      url = https://git.torproject.org/pluggable-transports/obfsproxy.git;
-      rev = "3c4e843a30c430aec1de03e0e09ef654072efc03";
-      sha256 = "8fd1e63a37bc42add7609d97d50ecd81da81881bcf7015a9e2958531dbf39018";
+    name = "obfsproxy-${version}";
+    version = "0.2.12";
+
+    src = pkgs.fetchgit {
+      url = meta.repositories.git;
+      rev = "refs/tags/${name}";
+      sha256 = "82d694aa7f3de7327fc4dc517fb262ab076f536ed6d4377573c76df8cf019dcf";
     };
 
-    propagatedBuildInputs = [ pyptlib argparse twisted pycrypto ];
+    propagatedBuildInputs = with self;
+      [ pyptlib argparse twisted pycrypto pyyaml ];
 
     meta = {
       description = "a pluggable transport proxy";
       homepage = https://www.torproject.org/projects/obfsproxy;
+      repositories.git = https://git.torproject.org/pluggable-transports/obfsproxy.git;
+      maintainers = with stdenv.lib.maintainers; [ phreedom thoughtpolice ];
     };
   });
 
@@ -5342,7 +7473,7 @@ rec {
     name = "offtrac-0.1.0";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/o/offtrac/${name}.tar.gz";
       sha256 = "06vd010pa1z7lyfj1na30iqzffr4kzj2k2sba09spik7drlvvl56";
     };
@@ -5373,7 +7504,7 @@ rec {
 
   ordereddict = if isPy26 then (buildPythonPackage {
     name = "ordereddict-1.1";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.1.tar.gz";
       md5 = "a0ed854ee442051b249bfad0f638bbec";
     };
@@ -5383,7 +7514,7 @@ rec {
   ply = buildPythonPackage (rec {
     name = "ply-3.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://www.dabeaz.com/ply/${name}.tar.gz";
       sha256 = "0sslnbpws847r1j1f41fjpn76w0asywfqgxwzyjrvmmxnw8myhxg";
     };
@@ -5417,7 +7548,7 @@ rec {
     name = "osc-0.133+git";
     disabled = isPy3k;
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = git://gitorious.org/opensuse/osc.git;
       rev = "6cd541967ee2fca0b89e81470f18b97a3ffc23ce";
       sha256 = "a39ce0e321e40e9758bf7b9128d316c71b35b80eabc84f13df492083bb6f1cc6";
@@ -5427,20 +7558,31 @@ rec {
     doCheck = false;
     postInstall = "ln -s $out/bin/osc-wrapper.py $out/bin/osc";
 
-    propagatedBuildInputs = [ pythonPackages.m2crypto ];
+    propagatedBuildInputs = with self; [ self.m2crypto ];
 
   });
 
+  pagerduty = buildPythonPackage rec {
+    name = "pagerduty-${version}";
+    version = "0.2.1";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+        url = "https://pypi.python.org/packages/source/p/pagerduty/pagerduty-${version}.tar.gz";
+        md5 = "8109a330d16751a7f4041c0ccedec787";
+    };
+  };
+
   pandas = buildPythonPackage rec {
-    name = "pandas-0.14.0";
+    name = "pandas-0.15.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pandas/${name}.tar.gz";
-      sha256 = "f7997debca756c4dd5ccdf5a010dfe3d1c7dac98ee706b715d994cf7c9d35528";
+      sha256 = "1w3wjnn3v37hf3hrd24lfgk6vpykarv9mihhpcfq6y7rg586bgjk";
     };
 
-    buildInputs = [ nose ];
-    propagatedBuildInputs = [ dateutil numpy pytz modules.sqlite3 ];
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ dateutil numpy pytz modules.sqlite3 ];
 
     # Tests require networking to pass
     doCheck = false;
@@ -5454,20 +7596,34 @@ rec {
     };
   };
 
+  parsedatetime = buildPythonPackage rec {
+    name = "parsedatetime-${version}";
+    version = "1.4";
+
+    src = pkgs.fetchurl {
+        url = "https://pypi.python.org/packages/source/p/parsedatetime/${name}.tar.gz";
+        md5 = "3aca729761be5259a508ed184df73c68";
+    };
+  };
+
   paramiko = buildPythonPackage rec {
-    name = "paramiko-1.14.0";
+    name = "paramiko-1.15.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/paramiko/${name}.tar.gz";
-      md5 = "e26324fd398af68ad506fe98853835c3";
+      md5 = "48c274c3f9b1282932567b21f6acf3b5";
     };
 
-    propagatedBuildInputs = [ pycrypto ecdsa ];
+    propagatedBuildInputs = with self; [ pycrypto ecdsa ];
 
-    # tests failures since 1.14.0 release..
-    doCheck = false;
-    
-    checkPhase = "${python}/bin/${python.executable} test.py";
+    # https://github.com/paramiko/paramiko/issues/449
+    doCheck = !(isPyPy || isPy33);
+    checkPhase = ''
+      # test_util needs to resolve an hostname, thus failing when the fw blocks it
+      sed '/UtilTest/d' -i test.py
+
+      ${python}/bin/${python.executable} test.py --no-sftp --no-big-file
+    '';
 
     meta = {
       homepage = "https://github.com/paramiko/paramiko/";
@@ -5489,12 +7645,12 @@ rec {
     name = "paste-1.7.5.1";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = http://pypi.python.org/packages/source/P/Paste/Paste-1.7.5.1.tar.gz;
       md5 = "7ea5fabed7dca48eb46dc613c4b6c4ed";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose ];
 
     doCheck = false; # some files required by the test seem to be missing
 
@@ -5509,12 +7665,12 @@ rec {
     version = "1.5.2";
     name = "paste-deploy-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${version}.tar.gz";
       md5 = "352b7205c78c8de4987578d19431af3b";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose ];
 
     meta = {
       description = "Load, configure, and compose WSGI applications and servers";
@@ -5523,15 +7679,68 @@ rec {
     };
   };
 
+   pasteScript = buildPythonPackage rec {
+    version = "1.7.5";
+    name = "PasterScript-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/P/PasteScript/${name}.tar.gz";
+      sha256 = "2b685be69d6ac8bc0fe6f558f119660259db26a15e16a4943c515fbee8093539";
+    };
+
+    doCheck = false;
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ paste paste_deploy cheetah argparse ];
+
+    meta = {
+      description = "A pluggable command-line frontend, including commands to setup package file layouts";
+      homepage = http://pythonpaste.org/script/;
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+  pathlib = buildPythonPackage rec {
+    name = "pathlib-${version}";
+    version = "1.0.1";
+    disabled = pythonAtLeast "3.4"; # Was added to std library in Python 3.4
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pathlib/${name}.tar.gz";
+      sha256 = "17zajiw4mjbkkv6ahp3xf025qglkj0805m9s41c45zryzj6p2h39";
+    };
+
+    meta = {
+      description = "Object-oriented filesystem paths";
+      homepage = "https://pathlib.readthedocs.org/";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+  pathpy = buildPythonPackage rec {
+    name = "path.py-5.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/path.py/${name}.zip";
+      sha256 = "0n1kpbbm1dg5f484yzxr7gb3ak6vjp92j70nw3bgjzsj9fh26afq";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A module wrapper for os.path";
+      homepage = http://github.com/jaraco/path.py;
+      license = licenses.mit;
+      platforms = platforms.linux;
+    };
+  };
+
   paypalrestsdk = buildPythonPackage rec {
     name = "paypalrestsdk-0.7.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/paypalrestsdk/${name}.tar.gz";
       sha256 = "117kfipzfahf9ysv414bh1mmm5cc9ck5zb6rhpslx1f8gk3frvd6";
     };
 
-    propagatedBuildInputs = [ httplib2 ];
+    propagatedBuildInputs = with self; [ httplib2 ];
 
     meta = {
       homepage = https://developer.paypal.com/;
@@ -5543,7 +7752,7 @@ rec {
   pbr = buildPythonPackage rec {
     name = "pbr-0.9.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pbr/${name}.tar.gz";
       sha256 = "e5a57c434b1faa509a00bf458d2c7af965199d9cced3d05a547bff9880f7e8cb";
     };
@@ -5553,7 +7762,7 @@ rec {
 
     doCheck = false;
 
-    buildInputs = [ pip ];
+    buildInputs = with self; [ pip ];
 
     meta = {
       description = "Python Build Reasonableness";
@@ -5562,11 +7771,43 @@ rec {
     };
   };
 
+  pelican = buildPythonPackage rec {
+    name = "pelican-${version}";
+    version = "3.5.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pelican/${name}.tar.gz";
+      sha256 = "0dl8i26sa20iijlg3z9gxn3p6f1d9v44b9742929xfaqwj4amvdp";
+    };
+
+    preConfigure = ''
+      export LC_ALL="en_US.UTF-8"
+    '';
+
+    # Test data not provided
+    #buildInputs = [nose mock];
+    doCheck = false;
+
+    buildInputs = [ pkgs.glibcLocales ];
+
+    propagatedBuildInputs = with self; [
+      jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
+      blinker pillow beautifulsoup4
+    ];
+
+    meta = {
+      homepage = http://getpelican.com/;
+      description = "A tool to generate a static blog from reStructuredText or Markdown input files";
+      license = licenses.agpl3;
+      maintainers = with stdenv.lib.maintainers; [ offline prikhi ];
+    };
+  };
+
   pep8 = buildPythonPackage rec {
     name = "pep8-${version}";
     version = "1.5.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz";
       md5 = "f6adbdd69365ecca20513c709f9b7c93";
     };
@@ -5579,11 +7820,31 @@ rec {
     };
   };
 
+  percol = buildPythonPackage rec {
+    name = "percol-${version}";
+    version = "0.0.8";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/percol/${name}.tar.gz";
+      sha256 = "169s5mhw1s60qbsd6pkf9bb2x6wfgx8hn8nw9d4qgc68qnnpp2cj";
+    };
+
+    propagatedBuildInputs = with self; [ modules.curses ];
+
+    meta = {
+      homepage = https://github.com/mooz/percol;
+      description = "Adds flavor of interactive filtering to the traditional pipe concept of shell";
+      license = licenses.mit;
+      maintainers = with stdenv.lib.maintainers; [ koral ];
+    };
+  };
+
 
   pexpect = buildPythonPackage {
     name = "pexpect-2.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/pexpect/pexpect-2.3.tar.gz";
       sha256 = "0x8bfjjqygriry1iyygm5048ykl5qpbpzqfp6i8dhkslm3ryf5fk";
     };
@@ -5592,8 +7853,8 @@ rec {
     doCheck = false;
 
     meta = {
-      homepage = "http://www.noah.org/wiki/Pexpect";
-      description = "Automate interactive console applications such as ssh, ftp, etc.";
+      homepage = http://www.noah.org/wiki/Pexpect;
+      description = "Automate interactive console applications such as ssh, ftp, etc";
       license = stdenv.lib.licenses.mit;
 
       longDescription = ''
@@ -5618,12 +7879,12 @@ rec {
   pg8000 = buildPythonPackage rec {
     name = "pg8000-1.9.14";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pg8000/${name}.tar.gz";
       sha256 = "1vandvfaf1m3a1fbc7nbm6syfqr9bazhzsnmai0jpjkbmb349izs";
     };
 
-    propagatedBuildInputs = [ pytz ];
+    propagatedBuildInputs = with self; [ pytz ];
 
     meta = {
       maintainers = [
@@ -5634,59 +7895,94 @@ rec {
     };
   };
 
+  pgcli = buildPythonPackage rec {
+    name = "pgcli-${version}";
+    version = "0.16.3";
+
+    src = pkgs.fetchFromGitHub {
+      sha256 = "12zizpj3fqbf90kj43zylpaqi3hhlihfg9xpzqa0aysiqri0ydx2";
+      rev = "v${version}";
+      repo = "pgcli";
+      owner = "amjith";
+    };
+
+    propagatedBuildInputs = with self; [ click jedi prompt_toolkit psycopg2 pygments sqlparse ];
+
+    meta = with stdenv.lib; {
+      description = "Command-line interface for PostgreSQL";
+      longDescription = ''
+        Rich command-line interface for PostgreSQL with auto-completion and
+        syntax highlighting.
+      '';
+      homepage = http://pgcli.com;
+      license = with licenses; [ bsd3 ];
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
+
   pip = buildPythonPackage rec {
     version = "1.5.6";
     name = "pip-${version}";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pip/pip-${version}.tar.gz";
       md5 = "01026f87978932060cc86c1dc527903e";
     };
-    buildInputs = [ mock scripttest virtualenv pytest ];
+    buildInputs = with self; [ mock scripttest virtualenv pytest ];
   };
 
 
   pika = buildPythonPackage {
     name = "pika-0.9.12";
     disabled = isPy3k;
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/p/pika/pika-0.9.12.tar.gz;
       md5 = "7174fc7cc5570314fa3cfaa729106482";
     };
-    buildInputs = [ nose mock pyyaml ];
+    buildInputs = with self; [ nose mock pyyaml ];
 
-    propagatedBuildInputs = [ unittest2 ];
+    propagatedBuildInputs = with self; [ unittest2 ];
   };
-  
+
+
+  python3pika = buildPythonPackage {
+    name = "python3-pika-0.9.14";
+    disabled = !isPy3k;
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/p/python3-pika/python3-pika-0.9.14.tar.gz;
+      md5 = "f3a3ee58afe0ae06f1fa553710e1aa28";
+    };
+    buildInputs = with self; [ nose mock pyyaml ];
+
+    propagatedBuildInputs = with self; [ unittest2 ];
+  };
+
+
   pil = buildPythonPackage rec {
     name = "PIL-${version}";
     version = "1.1.7";
-    
-    src = fetchurl {
+
+    src = pkgs.fetchurl {
       url = "http://effbot.org/downloads/Imaging-${version}.tar.gz";
       sha256 = "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9";
     };
-  
-    buildInputs = [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ];
-  
+
+    buildInputs = with self; [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ];
+
     disabled = isPy3k;
-  
     doCheck = true;
-  
+
+    postInstall = "ln -s $out/lib/${python.libPrefix}/site-packages $out/lib/${python.libPrefix}/site-packages/PIL";
+
     preConfigure = ''
       sed -i "setup.py" \
           -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${pkgs.freetype}")|g ;
               s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${pkgs.libjpeg}")|g ;
               s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;'
     '';
-  
-    checkPhase   = "${python}/bin/${python.executable} selftest.py";
-    buildPhase   = "${python}/bin/${python.executable} setup.py build_ext -i";
-  
-    postInstall = ''
-      cd "$out"/lib/python*/site-packages
-      ln -s $PWD PIL
-    '';
-  
+
+    checkPhase = "${python}/bin/${python.executable} selftest.py";
+    buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i";
+
     meta = {
       homepage = http://www.pythonware.com/products/pil/;
       description = "The Python Imaging Library (PIL)";
@@ -5704,12 +8000,15 @@ rec {
   pillow = buildPythonPackage rec {
     name = "Pillow-2.3.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip";
       md5 = "56b6614499aacb7d6b5983c4914daea7";
     };
 
-    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp ];
+    buildInputs = with self; [
+      pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.tcl ]
+      ++ optionals (isPy26 || isPy33 || isPyPy) [ pkgs.lcms2 ]
+      ++ optionals (isPyPy) [ pkgs.tk pkgs.xlibs.libX11 ];
 
     # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
     preConfigure = ''
@@ -5718,11 +8017,10 @@ rec {
               s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ;
               s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ;
               s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ;
-              s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;'
+              s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;
+              s|^TCL_ROOT=.*$|TCL_ROOT = _lib_include("${pkgs.tcl}")|g ;'
     '';
 
-
-
     meta = {
       homepage = http://python-imaging.github.com/Pillow;
 
@@ -5737,16 +8035,16 @@ rec {
 
       license = "http://www.pythonware.com/products/pil/license.htm";
 
-      maintainers = [ stdenv.lib.maintainers.goibhniu ];
+      maintainers = with stdenv.lib.maintainers; [ goibhniu prikhi ];
     };
   };
 
   plumbum = buildPythonPackage rec {
     name = "plumbum-1.4.2";
 
-    buildInputs = [ pythonPackages.six ];
+    buildInputs = with self; [ self.six ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/plumbum/${name}.tar.gz";
       md5 = "38b526af9012a5282ae91dfe372cefd3";
     };
@@ -5757,7 +8055,7 @@ rec {
     name = "polib-${version}";
     version = "1.0.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://bitbucket.org/izi/polib/downloads/${name}.tar.gz";
       sha256 = "16klwlswfbgmkzrra80fgzhic9447pk3mnr75r2fkz72bkvpcclb";
     };
@@ -5773,17 +8071,36 @@ rec {
   };
 
 
+  polylint = buildPythonPackage rec {
+    name = "polylint-${version}";
+    version = "158125c6ab";
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/bendavis78/polylint";
+      rev = version;
+      sha256 = "ea10c67e9ce6df0936d6e2015382acba4f9cc559e2d6a9471f474f6bda78a266";
+    };
+
+    propagatedBuildInputs = with self; [ html5lib lxml cssselect ];
+
+    meta = {
+      description = "Fast HTML linter for polymer";
+      homepage = https://github.com/bendavis78/polylint;
+    };
+  };
+
+
   powerline = buildPythonPackage rec {
     rev  = "db80fc95ed01d2c559c4bdc7da8514ed3cc7fcd9";
     name = "powerline-beta_${rev}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://github.com/Lokaltog/powerline/tarball/${rev}";
       name   = "${name}.tar.bz";
       sha256 = "1csd4vasy0avwfxrpdr61plj6k1nzf36f6qvd9kl15s3lnspsfaz";
     };
 
-    propagatedBuildInputs = [ pkgs.git pkgs.mercurial pkgs.bazaar pythonPackages.psutil pythonPackages.pygit2 ];
+    propagatedBuildInputs = with self; [ pkgs.git pkgs.mercurial pkgs.bazaar self.psutil self.pygit2 ];
 
     # error: This is still beta and some tests still fail
     doCheck = false;
@@ -5806,7 +8123,7 @@ rec {
 
     meta = with stdenv.lib; {
       homepage    = https://github.com/Lokaltog/powerline;
-      description = "The ultimate statusline/prompt utility.";
+      description = "The ultimate statusline/prompt utility";
       license     = licenses.mit;
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.all;
@@ -5814,17 +8131,39 @@ rec {
   };
 
 
+
+  praw = pythonPackages.buildPythonPackage rec {
+    name = "praw-2.1.21";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/praw/praw-2.1.21.tar.gz";
+      md5 = "3b0388c9105662f8be8f1a4d3a38216d";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ update_checker six mock flake8 ];
+
+    # can't find the tests module?
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Python Reddit API wrapper";
+      homepage = http://praw.readthedocs.org/;
+      license = licenses.gpl3;
+    };
+  };
+
   prettytable = buildPythonPackage rec {
     name = "prettytable-0.7.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/P/PrettyTable/${name}.tar.bz2";
       sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851";
     };
-    
+
+    buildInputs = [ pkgs.glibcLocales ];
+
     preCheck = ''
       export LANG="en_US.UTF-8"
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
     '';
 
     meta = {
@@ -5834,26 +8173,79 @@ rec {
   };
 
 
-  protobuf = buildPythonPackage rec {
-    inherit (pkgs.protobuf) name src;
+  prompt_toolkit = buildPythonPackage rec {
+    name = "prompt_toolkit-${version}";
+    version = "0.26";
 
-    propagatedBuildInputs = [ pkgs.protobuf google_apputils  ];
-    sourceRoot = "${name}/python";
-    
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/prompt_toolkit/${name}.tar.gz";
+      sha256 = "1rd9gy3bcwp08agw5hiqckhaxbsz1i1kgkhjqw6vwhjdfgdjiq9l";
+    };
+
+    buildInputs = with self; [ jedi ipython pygments ];
+    propagatedBuildInputs = with self; [ docopt six wcwidth ];
+
+    meta = with stdenv.lib; {
+      description = "Python library for building powerful interactive command lines";
+      longDescription = ''
+        prompt_toolkit could be a replacement for readline, but it can be
+        much more than that. It is cross-platform, everything that you build
+        with it should run fine on both Unix and Windows systems. Also ships
+        with a nice interactive Python shell (called ptpython) built on top.
+      '';
+      homepage = https://github.com/jonathanslenders/python-prompt-toolkit;
+      license = with licenses; [ bsd3 ];
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
+
+  protobuf = self.protobuf2_6;
+  protobuf2_6 = self.protobufBuild pkgs.protobuf2_6;
+  protobuf2_5 = self.protobufBuild pkgs.protobuf2_5;
+  protobufBuild = protobuf: buildPythonPackage rec {
+    inherit (protobuf) name src;
+    disabled = isPy3k;
+
+    propagatedBuildInputs = with self; [ protobuf google_apputils ];
+
+    prePatch = ''
+      while [ ! -d python ]; do
+        cd *
+      done
+      cd python
+    '';
+
+    preConfigure = optionalString (versionAtLeast protobuf.version "2.6.0") ''
+      PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
+      PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=2
+    '';
+
+    checkPhase = if versionAtLeast protobuf.version "2.6.0" then ''
+      ${python.executable} setup.py google_test --cpp_implementation
+    '' else ''
+      ${python.executable} setup.py test
+    '';
+
+    installFlags = optional (versionAtLeast protobuf.version "2.6.0") "--cpp_implementation";
+
+    doCheck = true;
 
     meta = {
-      description = "Protocol Buffers are Google's data interchange format.";
+      description = "Protocol Buffers are Google's data interchange format";
       homepage = http://code.google.com/p/protobuf/;
     };
+
+    passthru.protobuf = protobuf;
   };
 
 
   psutil = buildPythonPackage rec {
-    name = "psutil-1.0.1";
+    name = "psutil-${version}";
+    version = "2.1.1";
 
-    src = fetchurl {
-      url = "http://psutil.googlecode.com/files/${name}.tar.gz";
-      sha256 = "1zrzh7hi0f79sf9axwrw3c2kl86qs72kvx8xbbrdwlp39rfa1i1f";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/psutil/${name}.tar.gz";
+      sha256 = "14smqj57yjrm6hjz5n2annkgv0kmxckdhqvfx784f4d4lr52m0dz";
     };
 
     # failed tests: https://code.google.com/p/psutil/issues/detail?id=434
@@ -5867,21 +8259,22 @@ rec {
 
 
   psycopg2 = buildPythonPackage rec {
-    name = "psycopg2-2.5.3";
+    name = "psycopg2-2.5.4";
+    disabled = isPyPy;
 
     # error: invalid command 'test'
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/psycopg2/${name}.tar.gz";
-      sha256 = "02h33barxigsczpympnwa0yvw9hgdv8d63bxm5x251ri26xz6b9s";
+      sha256 = "07ivzl7bq8bjcq5n90w4bsl29gjfm5l8yamw0paxh25si8r3zfi4";
     };
 
-    propagatedBuildInputs = [ pkgs.postgresql ];
+    propagatedBuildInputs = with self; [ pkgs.postgresql ];
 
     meta = {
       description = "PostgreSQL database adapter for the Python programming language";
-      license = "GPLv2/ZPL";
+      license = with stdenv.lib.licenses; [ gpl2 zpt20 ];
     };
   };
 
@@ -5890,7 +8283,7 @@ rec {
     name = "publicsuffix-${version}";
     version = "1.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/publicsuffix/${name}.tar.gz";
       md5 = "f86babf56f6e58b564d3853adebcf37a";
     };
@@ -5904,11 +8297,55 @@ rec {
 
 
   py = buildPythonPackage rec {
-    name = "py-1.4.20";
+    name = "py-1.4.24";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/py/${name}.tar.gz";
-      md5 = "5f1708be5482f3ff6711dfd6cafd45e0";
+      md5 = "8f32ee0cd1e01472a255fe1d28d81217";
+    };
+  };
+
+
+  pyacoustid = buildPythonPackage rec {
+    name = "pyacoustid-1.1.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyacoustid/${name}.tar.gz";
+      md5 = "b27c714d530300b917eb869726334226";
+    };
+
+    propagatedBuildInputs = with self; [ requests audioread ];
+
+    patches = [ ../development/python-modules/pyacoustid-py3.patch ];
+
+    postPatch = ''
+      sed -i \
+          -e '/^FPCALC_COMMAND *=/s|=.*|= "${pkgs.chromaprint}/bin/fpcalc"|' \
+          acoustid.py
+    '';
+
+    meta = {
+      description = "Bindings for Chromaprint acoustic fingerprinting";
+      homepage = "https://github.com/sampsyo/pyacoustid";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+
+  pyalgotrade = buildPythonPackage {
+    name = "pyalogotrade-0.16";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/P/PyAlgoTrade/PyAlgoTrade-0.16.tar.gz";
+      md5 = "01d70583ab15eb3bad21027bdeb30ae5";
+    };
+
+    propagatedBuildInputs = with self; [ numpy scipy pytz ];
+
+    meta = {
+      description = "Python Algorithmic Trading";
+      homepage = http://gbeced.github.io/pyalgotrade/;
+      license = stdenv.lib.licenses.asl20;
     };
   };
 
@@ -5916,7 +8353,7 @@ rec {
   pyasn1 = buildPythonPackage ({
     name = "pyasn1-0.1.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/pyasn1/0.1.7/pyasn1-0.1.7.tar.gz";
       sha256 = "1aqy21fb564gmnkw2fbkn55c40diyx3z0ixh4savvxikqm9ivy74";
     };
@@ -5929,17 +8366,36 @@ rec {
     };
   });
 
+  pyasn1-modules = buildPythonPackage rec {
+    name = "pyasn1-modules-${version}";
+    version = "0.0.5";
+    disabled = isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyasn1-modules/${name}.tar.gz";
+      sha256 = "0hcr6klrzmw4d9j9s5wrhqva5014735pg4zk3rppac4fs87g0rdy";
+    };
+
+    propagatedBuildInputs = with self; [ pyasn1 ];
+
+    meta = {
+      description = "A collection of ASN.1-based protocols modules";
+      homepage = https://pypi.python.org/pypi/pyasn1-modules;
+      license = stdenv.lib.licenses.bsd3;
+      platforms = stdenv.lib.platforms.unix;  # same as pyasn1
+    };
+  };
 
   pyaudio = pkgs.stdenv.mkDerivation rec {
     name = "python-pyaudio-${version}";
     version = "0.2.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-${version}.tar.gz";
       md5 = "623809778f3d70254a25492bae63b575";
     };
 
-    buildInputs = [ python pkgs.portaudio ];
+    buildInputs = with self; [ python pkgs.portaudio ];
 
     buildPhase = if stdenv.isDarwin then ''
       PORTAUDIO_PATH="${pkgs.portaudio}" ${python}/bin/${python.executable} setup.py build --static-link
@@ -5956,11 +8412,74 @@ rec {
     };
   };
 
+  vobject = buildPythonPackage rec {
+    version = "0.8.1c";
+    name = "vobject-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/v/vobject/vobject-${version}.tar.gz";
+      sha256 = "1xanqn7rn96841s3lim5lnx5743gc4kyfg4ggj1ys5r0gw8i6har";
+    };
+
+    disabled = isPy3k || isPyPy;
+
+    propagatedBuildInputs = with self; [ dateutil ];
+
+    meta = with stdenv.lib; {
+      description = "Module for reading vCard and vCalendar files";
+      homepage = http://vobject.skyhouseconsulting.com/;
+      license = licenses.asl20;
+      maintainers = [ maintainers.DamienCassou ];
+    };
+  };
+
+  pycarddav = buildPythonPackage rec {
+    version = "0.7.0";
+    name = "pycarddav-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyCardDAV/pyCardDAV-${version}.tar.gz";
+      sha256 = "0avkrcpisfvhz103v7vmq2jd83hvmpqrb4mlbx6ikkk1wcvclsx8";
+    };
+
+    disabled = isPy3k || isPyPy;
+
+    propagatedBuildInputs = with self; [ sqlite3 vobject lxml requests urwid pyxdg ];
+
+    meta = with stdenv.lib; {
+      description = "Command-line interface carddav client";
+      homepage = http://lostpackets.de/pycarddav;
+      license = licenses.mit;
+      maintainers = [ maintainers.DamienCassou ];
+    };
+  };
+
+  pycosat = pythonPackages.buildPythonPackage rec {
+    name = "pycosat-0.6.0";
+
+    propagatedBuildInputs = with pythonPackages; [  ];
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pycosat/${name}.tar.gz";
+      sha256 = "02sdn2998jlrm35smn1530hix3kzwyc1jv49cjdcnvfvrqqi3rww";
+    };
+
+    meta = with stdenv.lib; {
+      description = ''PicoSAT is a popular SAT solver written by Armin
+          Biere in pure C. This package provides efficient Python bindings
+          to picosat on the C level, i.e. when importing pycosat, the
+          picosat solver becomes part of the Python process itself. For
+          ease of deployment, the picosat source (namely picosat.c and
+          picosat.h) is included in this project.'';
+      homepage = https://github.com/ContinuumIO/pycosat;
+      license = licenses.mit;
+    };
+  };
 
   pygit2 = buildPythonPackage rec {
     name = "pygit2-0.21.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pygit2/${name}.tar.gz";
       sha256 = "0lya4v91d4y5fwrb55n8m8avgmz0l81jml2spvx6r7j1czcx3zic";
     };
@@ -5969,7 +8488,7 @@ rec {
       export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib"
     '' else "" );
 
-    propagatedBuildInputs = [ pkgs.libgit2 cffi ];
+    propagatedBuildInputs = with self; [ pkgs.libgit2 ] ++ optionals (!isPyPy) [ cffi ];
 
     preCheck = ''
       # disable tests that require networking
@@ -5979,7 +8498,7 @@ rec {
 
     meta = {
       homepage = https://pypi.python.org/pypi/pygit2;
-      description = "Pygit2 is a set of Python bindings to the libgit2 shared library.";
+      description = "A set of Python bindings to the libgit2 shared library";
       license = with stdenv.lib.licenses; gpl2;
       platforms = with stdenv.lib.platforms; all;
     };
@@ -5989,28 +8508,62 @@ rec {
   Babel = buildPythonPackage (rec {
     name = "Babel-1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/B/Babel/${name}.tar.gz";
       sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz";
     };
 
-    propagatedBuildInputs = [ pytz ];
+    propagatedBuildInputs = with self; [ pytz ];
 
     meta = {
       homepage = http://babel.edgewall.org;
-      description = "A collection of tools for internationalizing Python applications.";
+      description = "A collection of tools for internationalizing Python applications";
       license = "BSD";
       maintainers = [ stdenv.lib.maintainers.garbas ];
       platforms = stdenv.lib.platforms.linux;
     };
   });
 
+  pybfd = buildPythonPackage rec {
+    name = "pybfd-0.1.1";
+
+    disabled = isPyPy || isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pybfd/${name}.tar.gz";
+      md5 = "79dd6e12c90ad0515d0ad7fb1bd2f571";
+    };
+
+    preConfigure = ''
+      substituteInPlace setup.py \
+        --replace '"/usr/include"' '"${pkgs.gdb}/include"' \
+        --replace '"/usr/lib"' '"${pkgs.binutils}/lib"'
+    '';
+
+    # --old-and-unmanageable not supported by this setup.py
+    installPhase = ''
+      mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+      export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+      ${python}/bin/${python.executable} setup.py install \
+        --install-lib=$out/lib/${python.libPrefix}/site-packages \
+        --prefix="$out"
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/Groundworkstech/pybfd;
+      description = "A Python interface to the GNU Binary File Descriptor (BFD) library";
+      license = licenses.gpl2;
+      platforms = platforms.linux;
+    };
+  };
 
   pyblock = stdenv.mkDerivation rec {
     name = "pyblock-${version}";
     version = "0.53";
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/"
           + "${name}.tar.bz2/${md5}/${name}.tar.bz2";
       md5 = "f6d33a8362dee358517d0a9e2ebdd044";
@@ -6021,7 +8574,7 @@ rec {
              -e 's/-Werror *//' -e 's|/usr/|'"$out"'/|' Makefile
     '';
 
-    buildInputs = [ python pkgs.lvm2 pkgs.dmraid ];
+    buildInputs = with self; [ python pkgs.lvm2 pkgs.dmraid ];
 
     makeFlags = [
       "USESELINUX=0"
@@ -6034,34 +8587,88 @@ rec {
     };
   };
 
+  pybcrypt = buildPythonPackage rec {
+    name = "pybcrypt";
+    version = "0.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/py-bcrypt/py-bcrypt-${version}.tar.gz";
+      md5 = "dd8b367d6b716a2ea2e72392525f4e36";
+    };
+
+    meta = {
+      description = "bcrypt password hashing and key derivation";
+      homepage = https://code.google.com/p/py-bcrypt2;
+      license = "BSD";
+    };
+  };
+
   pycapnp = buildPythonPackage rec {
-    name = "pycapnp-0.4.4";
-    homepage = "http://jparyani.github.io/pycapnp/index.html";
+    name = "pycapnp-0.5.1";
+    disabled = isPyPy || isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pycapnp/${name}.tar.gz";
-      sha256 = "33b2b79438bb9bf37097966e1c90403c34ab49be1eb647ee251b62f362ee3537";
+      sha256 = "1kp97il34419gcrhn866n6a10lvh8qr13bnllnnh9473n4cq0cvk";
     };
 
-    buildInputs = with pkgs; [ capnproto cython ];
+    buildInputs = with pkgs; [ capnproto self.cython ];
 
     # import setuptools as soon as possible, to minimize monkeypatching mayhem.
     postConfigure = ''
-      sed -i '2iimport setuptools' setup.py
+      sed -i '3iimport setuptools' setup.py
     '';
 
     meta = with stdenv.lib; {
       maintainers = with maintainers; [ cstrahan ];
       license = stdenv.lib.licenses.bsd2;
       platforms = stdenv.lib.platforms.all;
+      homepage = "http://jparyani.github.io/pycapnp/index.html";
     };
   };
 
 
+  pycdio = buildPythonPackage rec {
+    name = "pycdio-0.20";
+    disabled = !isPy27;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pycdio/${name}.tar.gz";
+      sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14";
+    };
+
+    preConfigure = ''
+      patchShebangs .
+    '';
+
+    buildInputs = [
+      self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio
+    ];
+
+    patches = [ ../development/python-modules/pycdio/add-cdtext-toc.patch ];
+
+    # Run tests using nosetests but first need to install the binaries
+    # to the root source directory where they can be found.
+    checkPhase = ''
+      ./setup.py install_lib -d .
+      nosetests
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://www.gnu.org/software/libcdio/;
+      description = "Wrapper around libcdio (CD Input and Control library)";
+      maintainers = with maintainers; [ rycee ];
+      license = licenses.gpl3Plus;
+    };
+
+  };
+
+
   pycryptopp = buildPythonPackage (rec {
     name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958";
+    disabled = isPy3k || isPyPy;  # see https://bitbucket.org/pypy/pypy/issue/1190/
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz";
       sha256 = "0n90h1yg7bfvlbhnc54xb6dbqm286ykaksyg04kxlhyjgf8mhq8i";
     };
@@ -6070,7 +8677,7 @@ rec {
     # in the pycryptopp distribution.
     preConfigure = "export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1";
 
-    buildInputs = [ setuptoolsDarcs darcsver pkgs.cryptopp ];
+    buildInputs = with self; [ setuptoolsDarcs darcsver pkgs.cryptopp ];
 
     meta = {
       homepage = http://allmydata.org/trac/pycryptopp;
@@ -6087,13 +8694,14 @@ rec {
 
   pycurl = buildPythonPackage (rec {
     name = "pycurl-7.19.5";
+    disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pycurl.sourceforge.net/download/${name}.tar.gz";
       sha256 = "0hqsap82zklhi5fxhc69kxrwzb0g9566f7sdpz7f9gyxkmyam839";
     };
 
-    propagatedBuildInputs = [ pkgs.curl pkgs.openssl ];
+    propagatedBuildInputs = with self; [ pkgs.curl pkgs.openssl ];
 
     # error: invalid command 'test'
     doCheck = false;
@@ -6115,7 +8723,7 @@ rec {
     name = "pycurl2-7.20.0";
     disabled = isPy3k;
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = "https://github.com/Lispython/pycurl.git";
       rev = "0f00109950b883d680bd85dc6e8a9c731a7d0d13";
       sha256 = "0mhg7f9y5zl0m2xgz3rf1yqjd6l8n0qhfk7bpf36r44jfnhj75ld";
@@ -6124,7 +8732,7 @@ rec {
     # error: (6, "Couldn't resolve host 'h.wrttn.me'")
     doCheck = false;
 
-    buildInputs = [ pkgs.curl simplejson unittest2 nose ];
+    buildInputs = with self; [ pkgs.curl simplejson unittest2 nose ];
 
     meta = {
       homepage = https://pypi.python.org/pypi/pycurl2;
@@ -6138,25 +8746,52 @@ rec {
     name = "pydot-1.0.2";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pydot/${name}.tar.gz";
       md5 = "cd739651ae5e1063a89f7efd5a9ec72b";
     };
-    propagatedBuildInputs = [pyparsing pkgs.graphviz];
+    propagatedBuildInputs = with self; [pyparsing pkgs.graphviz];
     meta = {
       homepage = http://code.google.com/p/pydot/;
-      description = "pydot allows to easily create both directed and non directed graphs from Python.";
+      description = "Allows to easily create both directed and non directed graphs from Python";
+    };
+  };
+
+
+  pyenchant = pythonPackages.buildPythonPackage rec {
+    name = "pyenchant-1.6.6";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyenchant/pyenchant-1.6.6.tar.gz";
+      md5 = "9f5acfd87d04432bf8df5f9710a17358";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ pkgs.enchant ];
+
+    patchPhase = let
+      path_hack_script = "s|LoadLibrary(e_path)|LoadLibrary('${pkgs.enchant}/lib/' + e_path)|";
+    in ''
+      sed -i "${path_hack_script}" enchant/_enchant.py
+    '';
+
+    # dictionaries needed for tests
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "pyenchant: Python bindings for the Enchant spellchecker";
+      homepage = https://pythonhosted.org/pyenchant/;
+      license = licenses.lgpl21;
     };
   };
 
   pyfeed = buildPythonPackage rec {
     url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz";
     name = stdenv.lib.nameFromURL url ".tar";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       inherit url;
       sha256 = "1h4msq573m7wm46h3cqlx4rsn99f0l11rhdqgf50lv17j8a8vvy1";
     };
-    propagatedBuildInputs = [xe];
+    propagatedBuildInputs = with self; [xe];
 
     # error: invalid command 'test'
     doCheck = false;
@@ -6167,30 +8802,66 @@ rec {
     };
   };
 
+  pyfiglet = buildPythonPackage rec {
+    name = "pyfiglet-${version}";
+    version = "0.7.2";
+
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/p/pyfiglet/${name}.tar.gz";
+      sha256 = "0v8a18wvaqnb1jksyv5dc5n6zj0vrkyhz0ivmm8gfwpa0ky6n68y";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "FIGlet in pure Python";
+      license     = licenses.gpl2Plus;
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
   pyflakes = buildPythonPackage rec {
     name = "pyflakes-0.8.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz";
       md5 = "905fe91ad14b912807e8fdc2ac2e2c23";
     };
 
-    buildInputs = [ unittest2 ];
-    
+    buildInputs = with self; [ unittest2 ];
+
     doCheck = !isPyPy;
 
     meta = {
-      homepage = "https://launchpad.net/pyflakes";
-      description = "A simple program which checks Python source files for errors.";
+      homepage = https://launchpad.net/pyflakes;
+      description = "A simple program which checks Python source files for errors";
       license = licenses.mit;
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
 
+
+  pygeoip = pythonPackages.buildPythonPackage rec {
+    name = "pygeoip-0.3.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pygeoip/pygeoip-0.3.2.tar.gz";
+      md5 = "861664f8be3bed44820356539f2ea5b6";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [  ];
+
+    meta = with stdenv.lib; {
+      description = "Pure Python GeoIP API";
+      homepage = https://github.com/appliedsec/pygeoip;
+      license = licenses.lgpl3Plus;
+    };
+  };
+
   pyglet = buildPythonPackage rec {
     name = "pyglet-1.1.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pyglet.googlecode.com/files/${name}.tar.gz";
       sha256 = "048n20d606i3njnzhajadnznnfm8pwchs43hxs50da9p79g2m6qx";
     };
@@ -6211,16 +8882,19 @@ rec {
   };
 
   pygments = buildPythonPackage rec {
-    name = "Pygments-1.6";
+    version = "2.0.2";
+    name = "Pygments-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz";
-      md5 = "a18feedf6ffd0b0cc8c8b0fbdb2027b1";
+      sha256 = "0lagrwifsgn0s8bzqahpr87p7gd38xja8f06akscinp6hj89283k";
     };
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://pygments.org/;
       description = "A generic syntax highlighter";
+      license = with licenses; [ bsd2 ];
+      maintainers = with maintainers; [ nckx ];
     };
   };
 
@@ -6228,8 +8902,9 @@ rec {
   pygpgme = buildPythonPackage rec {
     version = "0.3";
     name = "pygpgme-${version}";
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz";
       sha256 = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1";
     };
@@ -6237,7 +8912,7 @@ rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ pkgs.gpgme ];
+    propagatedBuildInputs = with self; [ pkgs.gpgme ];
 
     meta = {
       homepage = "https://launchpad.net/pygpgme";
@@ -6247,18 +8922,127 @@ rec {
     };
   };
 
+  mmpython = buildPythonPackage rec {
+    version = "0.4.10";
+    name = "mmpython-${version}";
+
+    src = pkgs.fetchurl {
+      url = http://sourceforge.net/projects/mmpython/files/latest/download;
+      sha256 = "1b7qfad3shgakj37gcj1b9h78j1hxlz6wp9k7h76pb4sq4bfyihy";
+      name = "${name}.tar.gz";
+    };
+
+    disabled = isPyPy || isPy3k;
+
+    meta = with stdenv.lib; {
+      description = "Media Meta Data retrieval framework";
+      homepage = http://sourceforge.net/projects/mmpython/;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.DamienCassou ];
+    };
+  };
+
+  kaa-base = buildPythonPackage rec {
+    version = "0.99.2dev-384-2b73caca";
+    name = "kaa-base-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/k/kaa-base/kaa-base-0.99.2dev-384-2b73caca.tar.gz";
+      sha256 = "0k3zzz84wzz9q1fl3vvqr2ys96z9pcf4viq9q6s2a63zaysmcfd2";
+    };
+
+    doCheck = false;
+
+    disabled = isPyPy || isPy3k;
+
+    # Same as in buildPythonPackage except that it does not pass --old-and-unmanageable
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+      export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+      ${python}/bin/${python.executable} setup.py install \
+        --install-lib=$out/lib/${python.libPrefix}/site-packages \
+        --prefix="$out"
+
+      eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+      if [ -e "$eapth" ]; then
+          mv "$eapth" $(dirname "$eapth")/${name}.pth
+      fi
+
+      rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+      runHook postInstall
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Generic application framework, providing the foundation for other modules";
+      homepage = https://github.com/freevo/kaa-base;
+      license = licenses.lgpl21;
+      maintainers = [ maintainers.DamienCassou ];
+    };
+  };
+
+  kaa-metadata = buildPythonPackage rec {
+    version = "0.7.8dev-r4569-20111003";
+    name = "kaa-metadata-${version}";
+
+    doCheck = false;
+
+    buildInputs = [ pkgs.libdvdread ];
+
+    disabled = isPyPy || isPy3k;
+
+    # Same as in buildPythonPackage except that it does not pass --old-and-unmanageable
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+
+      export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+      ${python}/bin/${python.executable} setup.py install \
+        --install-lib=$out/lib/${python.libPrefix}/site-packages \
+        --prefix="$out"
+
+      eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+      if [ -e "$eapth" ]; then
+          mv "$eapth" $(dirname "$eapth")/${name}.pth
+      fi
+
+      rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+
+      runHook postInstall
+    '';
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/k/kaa-metadata/kaa-metadata-0.7.8dev-r4569-20111003.tar.gz";
+      sha256 = "0bkbzfgxvmby8lvzkqjp86anxvv3vjd9nksv2g4l7shsk1n7y27a";
+    };
+
+    propagatedBuildInputs = with self; [ kaa-base ];
+
+    meta = with stdenv.lib; {
+      description = "Python library for parsing media metadata, which can extract metadata (e.g., such as id3 tags) from a wide range of media files";
+      homepage = https://github.com/freevo/kaa-metadata;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.DamienCassou ];
+    };
+  };
 
   pyinotify = pkgs.stdenv.mkDerivation rec {
     name = "python-pyinotify-${version}";
     version = "0.9.3";
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = "git://github.com/seb-m/pyinotify.git";
       rev = "refs/tags/${version}";
       sha256 = "d38ce95e4af00391e58246a8d7fe42bdb51d63054b09809600b2faef2a803472";
     };
 
-    buildInputs = [ python ];
+    buildInputs = with self; [ python ];
 
     installPhase = ''
       ${python}/bin/${python.executable} setup.py install --prefix=$out
@@ -6271,12 +9055,33 @@ rec {
     };
   };
 
+  pyjwt = buildPythonPackage rec {
+    version = "0.3.2";
+    name = "pyjwt-${version}";
+
+    src = pkgs.fetchurl {
+      url = "http://github.com/progrium/pyjwt/archive/${version}.tar.gz";
+      sha256 = "118rzhpyvx1h4hslms4fdizyv6mnyd4g34fv089lvs116pj08k9c";
+    };
+
+    propagatedBuildInputs = with self; [ pycrypto ecdsa ];
+
+    meta = with stdenv.lib; {
+      description = "JSON Web Token implementation in Python";
+      longDescription = "A Python implementation of JSON Web Token draft 01.";
+      homepage = https://github.com/progrium/pyjwt;
+      downloadPage = https://github.com/progrium/pyjwt/releases;
+      license = licenses.mit;
+      maintainers = with maintainers; [ prikhi ];
+      platforms = platforms.linux;
+    };
+  };
 
   pykickstart = buildPythonPackage rec {
     name = "pykickstart-${version}";
     version = "1.99.39";
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "http://pkgs.fedoraproject.org/repo/pkgs/pykickstart/"
           + "${name}.tar.gz/${md5}/${name}.tar.gz";
       md5 = "d249f60aa89b1b4facd63f776925116d";
@@ -6287,7 +9092,7 @@ rec {
                  key=lambda m: m.__name__)/" tests/baseclass.py
     '';
 
-    propagatedBuildInputs = [ urlgrabber ];
+    propagatedBuildInputs = with self; [ urlgrabber ];
 
     checkPhase = ''
       export PYTHONPATH="$PYTHONPATH:."
@@ -6304,13 +9109,14 @@ rec {
 
   pyodbc = buildPythonPackage rec {
     name = "pyodbc-3.0.7";
+    disabled = isPyPy;  # use pypypdbc instead
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pyodbc.googlecode.com/files/${name}.zip";
       sha256 = "0ldkm8xws91j7zbvpqb413hvdz8r66bslr451q3qc0xi8cnmydfq";
     };
 
-    buildInputs = [ pkgs.libiodbc ];
+    buildInputs = with self; [ pkgs.libiodbc ];
 
     meta = with stdenv.lib; {
       description = "Python ODBC module to connect to almost any database";
@@ -6325,7 +9131,7 @@ rec {
   pyparsing = buildPythonPackage rec {
     name = "pyparsing-2.0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyparsing/${name}.tar.gz";
       sha256 = "1r742rjbagf2i166k2w0r192adfw7l9lnsqz7wh4mflf00zws1q0";
     };
@@ -6343,12 +9149,24 @@ rec {
   pyparted = buildPythonPackage rec {
     name = "pyparted-${version}";
     version = "3.10";
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz";
       sha256 = "17wq4invmv1nfazaksf59ymqyvgv3i8h4q03ry2az0s9lldyg3dv";
     };
 
+    patches = singleton (pkgs.fetchurl {
+      url = "https://www.redhat.com/archives/pyparted-devel/"
+          + "2014-April/msg00000.html";
+      postFetch = ''
+        sed -i -ne '/<!--X-Body-of-Message-->/,/<!--X-Body-of-Message-End-->/ {
+          s/^<[^>]*>//; /^$/!p
+        }' "$downloadedFile"
+      '';
+      sha256 = "1lakhz3nvx0qacn90bj1nq13zqxphiw4d9dsc44gwa8nj24j2zws";
+    });
+
     postPatch = ''
       sed -i -e 's|/sbin/mke2fs|${pkgs.e2fsprogs}&|' tests/baseclass.py
       sed -i -e '
@@ -6364,9 +9182,9 @@ rec {
       PATH="${pkgs.parted}/sbin:$PATH"
     '';
 
-    buildInputs = [ pkgs.pkgconfig ];
+    buildInputs = with self; [ pkgs.pkgconfig ];
 
-    propagatedBuildInputs = [ pkgs.parted ];
+    propagatedBuildInputs = with self; [ pkgs.parted ];
 
     checkPhase = ''
       patchShebangs Makefile
@@ -6384,10 +9202,14 @@ rec {
 
   pyptlib = buildPythonPackage (rec {
     name = "pyptlib-${version}";
-    version = "0.0.3";
-    src = fetchurl {
+    disabled = isPyPy || isPy3k;
+    version = "0.0.6";
+
+    doCheck = false;  # No such file or directory errors on 32bit
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pyptlib/pyptlib-${version}.tar.gz";
-      sha256 = "0mklak456jqifx57j9jmpb69h3ybxc880qk86pg4g8jk0i14pxh3";
+      sha256 = "01y6vbwncqb0hxlnin6whd9wrrm5my4qzjhk76fnix78v7ip515r";
     };
     meta = {
       description = "A python implementation of the Pluggable Transports for Circumvention specification for Tor";
@@ -6395,11 +9217,33 @@ rec {
     };
   });
 
+  pyqtgraph = buildPythonPackage rec {
+    name = "pyqtgraph-${version}";
+    version = "0.9.10";
+
+    doCheck = false;  # "PyQtGraph requires either PyQt4 or PySide; neither package could be imported."
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyqtgraph/${name}.tar.gz";
+      sha256 = "188pcxf3sxxjf0aipjn820lx2rf9f42zzp0sibmcl90955a3ipf1";
+    };
+
+    propagatedBuildInputs = with self; [ scipy numpy pyqt4 pyopengl ];
+
+    meta = with stdenv.lib; {
+      description = "Scientific Graphics and GUI Library for Python";
+      homepage = http://www.pyqtgraph.org/;
+      license = licenses.mit;
+      platforms = platforms.unix;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
   pyro3 = buildPythonPackage (rec {
     name = "Pyro-3.16";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz";
       md5 = "59d4d3f4a8786776c9d7f9051b8f1a69";
     };
@@ -6416,7 +9260,7 @@ rec {
   pyrss2gen = buildPythonPackage (rec {
     name = "PyRSS2Gen-1.0.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/P/PyRSS2Gen/${name}.tar.gz";
       md5 = "eae2bc6412c5679c287ecc1a59588f75";
     };
@@ -6429,22 +9273,72 @@ rec {
     };
   });
 
+  pysnmp = buildPythonPackage rec {
+    version = "4.2.5";
+    name = "pysnmp-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pysnmp/${name}.tar.gz";
+      sha256 = "0zq7yx8732ad9dxpxqgpqyixj7kfwbvf402q7l5njkv0kbcnavn4";
+    };
+
+    propagatedBuildInputs = with self; [ pyasn1 pycrypto ];
+
+    meta = with stdenv.lib; {
+      homepage = http://pysnmp.sf.net;
+      description = "A pure-Python SNMPv1/v2c/v3 library";
+      license = licenses.bsd2;
+      platforms = platforms.all;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
+  pysocks = buildPythonPackage rec {
+    name = "pysocks-${version}";
+    version = "1.5.0";
+
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/P/PySocks/PySocks-${version}.tar.gz";
+      sha256 = "10wq5311qrnk8rvzsh6gwzxi7h51pgvzw3d7s1mb39fsvf0vyjdk";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "SOCKS module for Python";
+      license     = licenses.bsd3;
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
   python_fedora = buildPythonPackage (rec {
     name = "python-fedora-0.3.33";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://fedorahosted.org/releases/p/y/python-fedora/${name}.tar.gz";
       sha256 = "1g05bh7d5d0gzrlnhpnca7jpqbgs2rgnlzzbvzzxmdbmlkqi3mws";
     };
-    propagatedBuildInputs = [ kitchen requests bunch paver ];
+    propagatedBuildInputs = with self; [ kitchen requests bunch paver ];
     doCheck = false;
   });
 
+  python_simple_hipchat = buildPythonPackage rec {
+    name = "python-simple-hipchat-${version}";
+    version = "0.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-simple-hipchat/python-simple-hipchat-${version}.zip";
+      md5 = "3806b3729a021511bac065360832f197";
+    };
+
+    buildInputs = [ pkgs.unzip ];
+  };
+
   python_keyczar = buildPythonPackage rec {
     name = "python-keyczar-0.71c";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/p/python-keyczar/${name}.tar.gz";
       sha256 = "18mhiwqq6vp65ykmi8x3i5l3gvrvrrr8z2kv11z1rpixmyr7sw1p";
     };
@@ -6457,14 +9351,14 @@ rec {
       platforms   = platforms.unix;
     };
 
-    buildInputs = [ pyasn1 pycrypto ];
+    buildInputs = with self; [ pyasn1 pycrypto ];
   };
 
   pyudev = buildPythonPackage rec {
     name = "pyudev-${version}";
     version = "0.16.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pyudev/${name}.tar.gz";
       md5 = "4034de584b6d9efcbfc590a047c63285";
     };
@@ -6475,7 +9369,7 @@ rec {
       }' pyudev/_libudev.py
     '';
 
-    propagatedBuildInputs = [ pkgs.udev ];
+    propagatedBuildInputs = with self; [ pkgs.udev ];
 
     meta = {
       homepage = "http://pyudev.readthedocs.org/";
@@ -6489,7 +9383,7 @@ rec {
   pynzb = buildPythonPackage (rec {
     name = "pynzb-0.1.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pynzb/${name}.tar.gz";
       md5 = "63c74a36348ac28aa99732dcb8be8c59";
     };
@@ -6505,7 +9399,7 @@ rec {
   progressbar = buildPythonPackage (rec {
     name = "progressbar-2.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/progressbar/${name}.tar.gz";
       md5 = "8ea4e2c17a8ec9e7d153767c5f2a7b28";
     };
@@ -6522,23 +9416,23 @@ rec {
   });
 
   ldap = buildPythonPackage rec {
-    name = "ldap-2.4.15";
+    name = "ldap-2.4.19";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-ldap/python-${name}.tar.gz";
-      sha256 = "0w0nn5yj0nbbkvpbqgfni56v7sjx6jf6s6zvp9zmahyrvqrsrg1h";
+      sha256 = "0j5hzaar4d0vhnrlpmkczgwm7ci2wibr99a7zx04xddzrhxdpz82";
     };
 
     NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl}/include/sasl";
-    propagatedBuildInputs = [pkgs.openldap pkgs.cyrus_sasl pkgs.openssl];
+    propagatedBuildInputs = with self; [pkgs.openldap pkgs.cyrus_sasl pkgs.openssl];
   };
 
 
   pylibacl = buildPythonPackage (rec {
     name = "pylibacl-0.5.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/downloads/iustin/pylibacl/${name}.tar.gz";
       sha256 = "1idks7j9bn62xzsaxkvhl7bdq6ws8kv8aa0wahfh7724qlbbcf1k";
     };
@@ -6547,31 +9441,37 @@ rec {
     # IOError: [Errno 0] Error
     doCheck = false;
 
-    buildInputs = [ pkgs.acl ];
+    buildInputs = with self; [ pkgs.acl ];
 
     meta = {
-      description = "A Python extension module for POSIX ACLs. It can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them.";
+      description = "A Python extension module for POSIX ACLs, it can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
   });
 
 
-  pymacs = pkgs.stdenv.mkDerivation rec {
+  pymacs = buildPythonPackage rec {
     version = "0.25";
-    name = "Pymacs-${version}";
+    name = "pymacs-${version}";
+    disabled = isPy3k || isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/pinard/Pymacs/tarball/v${version}";
       name = "${name}.tar.gz";
       sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i";
     };
 
-    buildInputs = [ python ];
+    configurePhase =  "make";
 
-    patchPhase = ''
-      sed -e "s@ install@ install --prefix=$out@g" -i Makefile
+    # Doesn't work with --old-and-unmanagable
+    installPhase = ''
+      ${python}/bin/${python.executable} setup.py install \
+        --install-lib=$out/lib/${python.libPrefix}/site-packages \
+        --prefix="$out"
     '';
 
+    doCheck = false;
+
     meta = with stdenv.lib; {
       description = "Emacs Lisp to Python interface";
       homepage = http://pymacs.progiciels-bpi.ca;
@@ -6580,58 +9480,67 @@ rec {
     };
   };
 
-  pyopengl =
-    let version = "3.0.2";
-    in
-      buildPythonPackage {
-        name = "pyopengl-${version}";
 
-        src = fetchurl {
-          url = "http://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${version}.tar.gz";
-          sha256 = "9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03";
-        };
+  pyopengl = buildPythonPackage rec {
+    name = "pyopengl-${version}";
+    version = "3.0.2";
 
-        propagatedBuildInputs = with pkgs; [ mesa freeglut pil ];
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${version}.tar.gz";
+      sha256 = "9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03";
+    };
+    propagatedBuildInputs = [ pkgs.mesa 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.mesa}/lib/libGLU.so',|" OpenGL/platform/glx.py
+      sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py
+    '';
+    meta = {
+      homepage = http://pyopengl.sourceforge.net/;
+      description = "PyOpenGL, the Python OpenGL bindings";
+      longDescription = ''
+        PyOpenGL is the cross platform Python binding to OpenGL and
+        related APIs.  The binding is created using the standard (in
+        Python 2.5) ctypes library, and is provided under an extremely
+        liberal BSD-style Open-Source license.
+      '';
+      license = "BSD-style";
+      platforms = stdenv.lib.platforms.mesaPlatforms;
+    };
+  };
 
-        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.mesa}/lib/libGLU.so',|" OpenGL/platform/glx.py
-          sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py
-        '';
+  pyopenssl = buildPythonPackage rec {
+    name = "pyopenssl-${version}";
+    version = "0.14";
 
-        meta = {
-          homepage = http://pyopengl.sourceforge.net/;
-          description = "PyOpenGL, the Python OpenGL bindings";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.14.tar.gz";
+      sha256 = "0vpfqhng4cky7chliknkxv910iabqbfcxvkjiankh08jkkjvi7d9";
+    };
 
-          longDescription = ''
-            PyOpenGL is the cross platform Python binding to OpenGL and
-            related APIs.  The binding is created using the standard (in
-            Python 2.5) ctypes library, and is provided under an extremely
-            liberal BSD-style Open-Source license.
-          '';
+    # 17 tests failing
+    doCheck = false;
 
-          license = "BSD-style";
-          platforms = stdenv.lib.platforms.mesaPlatforms;
-        };
-      };
+    propagatedBuildInputs = [ self.cryptography ];
+  };
 
 
   pyquery = buildPythonPackage rec {
     name = "pyquery-1.2.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyquery/${name}.tar.gz";
       md5 = "268f08258738d21bc1920d7522f2a63b";
     };
 
-    propagatedBuildInputs = [ cssselect lxml ];
+    propagatedBuildInputs = with self; [ cssselect lxml ];
   };
 
   pyrax = buildPythonPackage rec {
     name = "pyrax-1.8.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyrax/${name}.tar.gz";
       sha256 = "0hvim60bhgfj91m7pp8jfmb49f087xqlgkqa505zw28r7yl0hcfp";
     };
@@ -6650,7 +9559,7 @@ rec {
     name = "pyreport-0.3.4c";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyreport/${name}.tar.gz";
       md5 = "3076164a7079891d149a23f9435581db";
     };
@@ -6661,15 +9570,34 @@ rec {
     meta = {
       homepage = http://pypi.python.org/pypi/pyreport;
       license = "BSD";
-      description = "Pyreport makes notes out of a python script.";
+      description = "Pyreport makes notes out of a python script";
     };
   });
 
+  pyscss = buildPythonPackage rec {
+    name = "pyScss-${version}";
+    version = "1.3.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyScss/${name}.tar.gz";
+      sha256 = "03lcp853kgr66aqrw2jd1q9jhs9h049w7zlwp7bfmly7xh832cnh";
+    };
+
+    propagatedBuildInputs = with self; [ six ]
+      ++ (optionals (pythonOlder "3.4") [ enum34 pathlib ])
+      ++ (optionals (pythonOlder "2.7") [ ordereddict ]);
+
+    meta = {
+      description = "A Scss compiler for Python";
+      homepage = http://pyscss.readthedocs.org/en/latest/;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
 
   pyserial = buildPythonPackage rec {
     name = "pyserial-2.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyserial/${name}.tar.gz";
       sha256 = "3542ec0838793e61d6224e27ff05e8ce4ba5a5c5cc4ec5c6a3e8d49247985477";
     };
@@ -6683,10 +9611,27 @@ rec {
     };
   };
 
+  pymongo = buildPythonPackage rec {
+    name = "pymongo-2.8";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pymongo/${name}.tar.gz";
+      sha256 = "0d9rlxghqg9dqmcmrlf1lw9ap2g6npv6q4slp5agnm7vci9zchq5";
+    };
+
+    doCheck = false;
+
+    meta = {
+      homepage = "http://github.com/mongodb/mongo-python-driver";
+      license = [ "Apache-2.0" ];
+      description = "Python driver for MongoDB ";
+    };
+  };
+
   pysphere = buildPythonPackage rec {
     name = "pysphere-0.1.8";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pysphere.googlecode.com/files/${name}.zip";
       md5 = "c57cba33626ac4b1e3d1974923d59232";
     };
@@ -6702,7 +9647,7 @@ rec {
     name = "pysqlite-2.6.3";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pysqlite/${name}.tar.gz";
       sha256 = "13djzgnbi71znjjyaw4nybg6smilgszcid646j5qav7mdchkb77y";
     };
@@ -6710,7 +9655,7 @@ rec {
     # Since the `.egg' file is zipped, the `NEEDED' of the `.so' files
     # it contains is not taken into account.  Thus, we must explicitly make
     # it a propagated input.
-    propagatedBuildInputs = [ pkgs.sqlite ];
+    propagatedBuildInputs = with self; [ pkgs.sqlite ];
 
     patchPhase = ''
       substituteInPlace "setup.cfg"                                     \
@@ -6756,12 +9701,12 @@ rec {
   pysvn = pkgs.stdenv.mkDerivation {
     name = "pysvn-1.7.8";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.8.tar.gz";
       sha256 = "1qk7af0laby1f79bd07l9p0dxn5xmcmfwlcb9l1hk29zwwq6x4v0";
     };
 
-    buildInputs = [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ]
+    buildInputs = with self; [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ]
       ++ (if stdenv.isLinux then [pkgs.e2fsprogs] else []);
 
     # There seems to be no way to pass that path to configure.
@@ -6801,7 +9746,7 @@ rec {
   pytz = buildPythonPackage rec {
     name = "pytz-2013.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.bz2";
       md5 = "ec7076947a46a8a3cb33cbf2983a562c";
     };
@@ -6816,13 +9761,13 @@ rec {
   pyutil = buildPythonPackage (rec {
     name = "pyutil-1.7.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyutil/${name}.tar.gz";
       sha256 = "c303bb779f96073820e2eb7c9692fe15a57df491eb356839f3cb3377ed03b844";
     };
 
-    buildInputs = [ setuptoolsDarcs setuptoolsTrial ] ++ (if doCheck then [ simplejson ] else []);
-    propagatedBuildInputs = [ zbase32 argparse twisted ];
+    buildInputs = with self; [ setuptoolsDarcs setuptoolsTrial ] ++ (if doCheck then [ simplejson ] else []);
+    propagatedBuildInputs = with self; [ zbase32 argparse twisted ];
     # Tests fail because they try to write new code into the twisted
     # package, apparently some kind of plugin.
     doCheck = false;
@@ -6851,13 +9796,14 @@ rec {
     name = "pywebkitgtk-${version}";
     version = "1.1.8";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pywebkitgtk.googlecode.com/files/${name}.tar.bz2";
       sha256 = "1svlwyl61rvbqbcbalkg6pbf38yjyv7qkq9sx4x35yk69lscaac2";
     };
 
-    buildInputs = with pkgs; [
-      pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkitgtk2 icu
+    buildInputs = [
+      pkgs.pkgconfig pkgs.gtk2 self.pygtk pkgs.libxml2
+      pkgs.libxslt pkgs.libsoup pkgs.webkitgtk2 pkgs.icu
     ];
 
     meta = {
@@ -6871,7 +9817,7 @@ rec {
   pyxattr = buildPythonPackage (rec {
     name = "pyxattr-0.5.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/downloads/iustin/pyxattr/${name}.tar.gz";
       sha256 = "0jmkffik6hdzs7ng8c65bggss2ai40nm59jykswdf5lpd36cxddq";
     };
@@ -6879,30 +9825,48 @@ rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    buildInputs = [ pkgs.attr ];
+    buildInputs = with self; [ pkgs.attr ];
 
     meta = {
-      description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems.";
+      description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
   });
 
 
+  pyaml = buildPythonPackage (rec {
+    name = "pyaml-15.02.1";
+    disabled = !isPy27;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pyaml/${name}.tar.gz";
+      md5 = "e98cf27f50b9ca291ca4937c135db1c9";
+    };
+
+    buildInputs = with self; [ pyyaml ];
+
+    meta = {
+      description = "PyYAML-based module to produce pretty and readable YAML-serialized data";
+      homepage = https://github.com/mk-fg/pretty-yaml;
+    };
+  });
+
+
   pyyaml = buildPythonPackage (rec {
     name = "PyYAML-3.10";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pyyaml.org/download/pyyaml/${name}.zip";
       sha256 = "1r127fa354ppb667f4acxlzwxixap1jgzjrr790bw8mcpxv2hqaa";
     };
 
-    buildInputs = [ pkgs.pyrex ];
-    propagatedBuildInputs = [ pkgs.libyaml ];
+    buildInputs = with self; [ pkgs.pyrex ];
+    propagatedBuildInputs = with self; [ pkgs.libyaml ];
 
     meta = {
       description = "The next generation YAML parser and emitter for Python";
       homepage = http://pyyaml.org;
-      license = "free"; # !?
+      license = stdenv.lib.licenses.free; # !?
     };
   });
 
@@ -6910,7 +9874,7 @@ rec {
   recaptcha_client = buildPythonPackage rec {
     name = "recaptcha-client-1.0.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/recaptcha-client/${name}.tar.gz";
       md5 = "74228180f7e1fb76c4d7089160b0d919";
     };
@@ -6927,74 +9891,108 @@ rec {
    in buildPythonPackage rec {
     name = "reportlab-3.1.8";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/reportlab/${name}.tar.gz";
       md5 = "820a9fda647078503597b85cdba7ed7f";
     };
 
-    buildInputs = [freetype];
+    buildInputs = with self; [freetype];
 
     # error: invalid command 'test'
     doCheck = false;
 
     meta = {
-      description = "The ReportLab Toolkit. An Open Source Python library for generating PDFs and graphics.";
+      description = "An Open Source Python library for generating PDFs and graphics";
       homepage = http://www.reportlab.com/;
     };
   };
 
 
   requests = buildPythonPackage rec {
-    name = "requests-1.2.0";
+    name = "requests-1.2.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz";
-      md5 = "22af2682233770e5468a986f451c51c0";
+      md5 = "adbd3f18445f7fe5e77f65c502e264fb";
     };
 
     meta = {
-      description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings..";
+      description = "An Apache2 licensed HTTP library, written in Python, for human beings";
       homepage = http://docs.python-requests.org/en/latest/;
     };
   };
 
 
   requests2 = buildPythonPackage rec {
-    name = "requests-2.2.1";
+    name = "requests-${version}";
+    version = "2.6.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz";
-      md5 = "ac27081135f58d1a43e4fb38258d6f4e";
+      sha256 = "0xadnw27m257scrhjcc66zm4z3ikg8n9h6g9akpkavr31qgyvnqw";
     };
 
     meta = {
-      description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings..";
+      description = "An Apache2 licensed HTTP library, written in Python, for human beings";
       homepage = http://docs.python-requests.org/en/latest/;
     };
   };
 
 
   requests_oauthlib = buildPythonPackage rec {
-    name = "requests-oauthlib-0.3.2";
+    version = "v0.4.1";
+    name = "requests-oauthlib-${version}";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/r/requests-oauthlib/${name}.tar.gz";
-      md5 = "35b3b750493c231145c39db0216813e7";
+    src = pkgs.fetchurl {
+      url = "http://github.com/requests/requests-oauthlib/archive/${version}.tar.gz";
+      sha256 = "0vx252nzq5h9m9brwnw2ph8aj526y26jr2dqcafzzcdx6z4l8vj4";
     };
 
-    propagatedBuildInputs = [ oauthlib requests ];
+    doCheck = false;        # Internet tests fail when building in chroot
+    propagatedBuildInputs = with self; [ oauthlib requests2 ];
 
     meta = {
       description = "OAuthlib authentication support for Requests";
       homepage = https://github.com/requests/requests-oauthlib;
+      maintainers = with maintainers; [ prikhi ];
     };
   };
 
+  requests_toolbelt = buildPythonPackage rec {
+    version = "0.3.0";
+    name = "requests-toolbelt-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/sigmavirus24/requests-toolbelt/archive/${version}.tar.gz";
+      sha256 = "177lqpm2czx81pjg0zfs1dkbbmcn5yf1y5qxj23x6y5d28518qwl";
+    };
+
+    propagatedBuildInputs = with self; [ requests2 ];
+
+    meta = {
+      description = "A toolbelt of useful classes and functions to be used with python-requests";
+      homepage = http://toolbelt.rtfd.org;
+      maintainers = with maintainers; [ matthiasbeyer ];
+    };
+
+  };
+
+  retry_decorator = buildPythonPackage rec {
+    name = "retry_decorator-1.0.0";
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/r/retry_decorator/retry_decorator-1.0.0.tar.gz;
+      sha256 = "086zahyb6yn7ggpc58909c5r5h3jz321i1694l1c28bbpaxnlk88";
+    };
+    meta = {
+      homepage = https://github.com/pnpnpn/retry-decorator;
+      license = stdenv.lib.licenses.mit;
+    };
+  };
 
   quantities = buildPythonPackage rec {
     name = "quantities-0.10.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/q/quantities/quantities-0.10.1.tar.gz";
       md5 = "e924e21c0a5ddc9ebcdacbbe511b8ec7";
     };
@@ -7009,15 +10007,15 @@ rec {
   qutip = buildPythonPackage rec {
     name = "qutip-2.2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://qutip.googlecode.com/files/QuTiP-2.2.0.tar.gz";
       sha1 = "76ba4991322a991d580e78a197adc80d58bd5fb3";
     };
 
-    propagatedBuildInputs = [ numpy scipy matplotlib pkgs.pyqt4
+    propagatedBuildInputs = with self; [ numpy scipy matplotlib pyqt4
       cython ];
 
-    buildInputs = with pkgs; [ gcc qt4 blas ] ++ [ nose ];
+    buildInputs = [ pkgs.gcc pkgs.qt4 pkgs.blas self.nose ];
 
     meta = {
       description = "QuTiP - Quantum Toolbox in Python";
@@ -7040,7 +10038,7 @@ rec {
   redis = buildPythonPackage rec {
     name = "redis-2.9.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/redis/${name}.tar.gz";
       sha256 = "1r7lrh4kxccyhr4pyp13ilymmvh22pi7aa9514dmnhi74zn4g5xg";
     };
@@ -7057,12 +10055,12 @@ rec {
   requests_oauth2 = buildPythonPackage rec {
     name = "requests-oauth2-0.1.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://github.com/maraujop/requests-oauth2/archive/0.1.1.tar.gz;
       sha256 = "1aij66qg9j5j4vzyh64nbg72y7pcafgjddxsi865racsay43xfqg";
     };
 
-    propagatedBuildInputs = [ requests_oauthlib ];
+    propagatedBuildInputs = with self; [ requests_oauthlib ];
 
     meta = {
       description = "Python's Requests OAuth2 (Open Authentication) plugin";
@@ -7071,18 +10069,39 @@ rec {
   };
 
 
+  restview = buildPythonPackage rec {
+    name = "restview-${version}";
+    version = "2.2.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/r/restview/${name}.tar.gz";
+      sha256 = "070qx694bpk2n67grm82jvvar4nqvvfmmibbnv8snl4qn41jw66s";
+    };
+
+    propagatedBuildInputs = with self; [ docutils mock pygments ];
+
+    meta = with stdenv.lib; {
+      description = "ReStructuredText viewer";
+      homepage = http://mg.pov.lt/restview/;
+      license = licenses.gpl2;
+      platforms = platforms.all;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
+
   reviewboard = buildPythonPackage rec {
     name = "ReviewBoard-1.6.16";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://downloads.reviewboard.org/releases/ReviewBoard/1.6/${name}.tar.gz";
       sha256 = "0vg3ypm57m43bscv8vswjdllv3d2j8lxqwwvpd65cl7jd1in0yr1";
     };
 
-    propagatedBuildInputs =
+    propagatedBuildInputs = with self;
       [ django_1_3 recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments
         djblets django_evolution pycrypto modules.sqlite3
-        pysvn pil psycopg2 
+        pysvn pil psycopg2
       ];
   };
 
@@ -7090,26 +10109,26 @@ rec {
   rdflib = buildPythonPackage (rec {
     name = "rdflib-4.1.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/rdflib/${name}.tar.gz";
       sha256 = "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w";
     };
 
     # error: invalid command 'test'
     doCheck = false;
-    
-    propagatedBuildInputs = [ isodate ];
+
+    propagatedBuildInputs = with self; [ isodate ];
 
     meta = {
-      description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.";
+      description = "A Python library for working with RDF, a simple yet powerful language for representing information";
       homepage = http://www.rdflib.net/;
     };
   });
-  
+
   isodate = buildPythonPackage rec {
     name = "isodate-0.5.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/i/isodate/${name}.tar.gz";
       md5 = "9a267e9327feb3d021cae26002ba6e0e";
     };
@@ -7120,15 +10139,37 @@ rec {
     };
   };
 
+  robomachine = buildPythonPackage rec {
+    name = "robomachine-0.6";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/R/RoboMachine/RoboMachine-0.6.tar.gz";
+      md5 = "4e95eaa43afda0f363c78a88e9da7159";
+    };
+
+    propagatedBuildInputs = with self; [ pyparsing argparse robotframework ];
+
+    # Remove Windows .bat files
+    postInstall = ''
+      rm "$out"/bin/*.bat
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Test data generator for Robot Framework";
+      homepage = https://github.com/mkorpela/RoboMachine;
+      license = licenses.asl20;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
 
   robotframework = buildPythonPackage rec {
-    version = "2.8.5";
+    version = "2.8.6";
     name = "robotframework-${version}";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/robotframework/${name}.tar.gz";
-      sha256 = "0rzdn2gvmcrxs2fvxm11h55w4j5pv0lf443fc4hl8kzwjwgjckga";
+      sha256 = "0hl44pwfkagr5272s90y0bkfllj0q1l4yw4rvkdrc6ikn6l61d9v";
     };
 
     # error: invalid command 'test'
@@ -7145,18 +10186,18 @@ rec {
 
 
   robotframework-selenium2library = buildPythonPackage rec {
-    version = "1.5.0";
+    version = "1.6.0";
     name = "robotframework-selenium2library-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/robotframework-selenium2library/${name}.tar.gz";
-      sha256 = "0hjmar9766jqfpbckac8zncyal546vm059wnkbn33f68djdcnwz1";
+      sha256 = "1asdwrpb4s7q08bx641yrh3yicgba14n3hxmsqs58mqf86ignwly";
     };
 
     # error: invalid command 'test'
     #doCheck = false;
 
-    propagatedBuildInputs = [ robotframework selenium docutils decorator ];
+    propagatedBuildInputs = with self; [ robotframework selenium docutils decorator ];
 
     meta = with stdenv.lib; {
       description = "";
@@ -7166,11 +10207,31 @@ rec {
   };
 
 
+  robotframework-tools = buildPythonPackage rec {
+    version = "0.1a115";
+    name = "robotframework-tools-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/r/robotframework-tools/${name}.tar.gz";
+      sha256 = "04gkn1zpf3rsvbqdxrrjqqi8sa0md9gqwh6n5w2m03fdwjg4lc7q";
+    };
+
+    propagatedBuildInputs = with self; [ robotframework moretools pathpy six setuptools ];
+
+    meta = with stdenv.lib; {
+      description = "Python Tools for Robot Framework and Test Libraries";
+      homepage = http://bitbucket.org/userzimmermann/robotframework-tools;
+      license = licenses.gpl3;
+      platforms = platforms.linux;
+    };
+  };
+
+
   robotsuite = buildPythonPackage rec {
     version = "1.4.2";
     name = "robotsuite-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/robotsuite/${name}.zip";
       sha256 = "0sw09vrvwv3gzqb6jvhbrz09l6nzzj3i9av34qjddqfwq7cr1bla";
     };
@@ -7178,8 +10239,8 @@ rec {
     # error: invalid command 'test'
     #doCheck = false;
 
-    buildInputs = [ unittest2 ];
-    propagatedBuildInputs = [ robotframework lxml ];
+    buildInputs = with self; [ unittest2 ];
+    propagatedBuildInputs = with self; [ robotframework lxml ];
 
     meta = with stdenv.lib; {
       description = "Python unittest test suite for Robot Framework";
@@ -7194,12 +10255,12 @@ rec {
     name = "robotframework-ride-${version}";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz";
       sha256 = "1lf5f4x80f7d983bmkx12sxcizzii21kghs8kf63a1mj022a5x5j";
     };
 
-    propagatedBuildInputs = [ pygments wxPython modules.sqlite3 ];
+    propagatedBuildInputs = with self; [ pygments wxPython modules.sqlite3 ];
 
     # ride_postinstall.py checks that needed deps are installed and creates a
     # desktop shortcut. We don't really need it and it clutters up bin/ so
@@ -7222,14 +10283,14 @@ rec {
 
 
   rope = buildPythonPackage rec {
-    version = "0.9.4";
+    version = "0.10.2";
     name = "rope-${version}";
-    
+
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz";
-      sha256 = "1fm6ahff50b10mlnc0ar4x1fv9sxmcp1g651myyqy7c50hk39h1d";
+      sha256 = "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z";
     };
 
     meta = with stdenv.lib; {
@@ -7244,12 +10305,12 @@ rec {
     version = "0.7";
     name = "ropemacs-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/ropemacs/${name}.tar.gz";
       sha256 = "1x5qf1drcdz9jfiiakc60kzqkb3ahsg9j902c5byf3gjfacdrmqj";
     };
 
-    propagatedBuildInputs = [ ropemode ];
+    propagatedBuildInputs = with self; [ ropemode ];
 
      meta = with stdenv.lib; {
        description = "a plugin for performing python refactorings in emacs";
@@ -7263,12 +10324,12 @@ rec {
     version = "0.2";
     name = "ropemode-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/ropemode/${name}.tar.gz";
       sha256 = "0jw6h1wvk6wk0wknqdf7s9pw76m8472jv546lqdd88jbl2scgcjl";
     };
 
-    propagatedBuildInputs = [ rope ];
+    propagatedBuildInputs = with self; [ rope ];
 
      meta = with stdenv.lib; {
        description = "a plugin for performing python refactorings in emacs";
@@ -7283,12 +10344,12 @@ rec {
   routes = buildPythonPackage rec {
     name = "routes-1.12.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = http://pypi.python.org/packages/source/R/Routes/Routes-1.12.3.tar.gz;
       md5 = "9740ff424ff6b841632c784a38fb2be3";
     };
 
-    propagatedBuildInputs = [ paste webtest ];
+    propagatedBuildInputs = with self; [ paste webtest ];
 
     meta = {
       description = "A Python re-implementation of the Rails routes system for mapping URLs to application actions";
@@ -7300,7 +10361,7 @@ rec {
     name = "rpkg-1.14";
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://fedorahosted.org/releases/r/p/rpkg/rpkg-1.14.tar.gz";
       sha256 = "0d053hdjz87aym1sfm6c4cxmzmy5g0gkrmrczly86skj957r77a7";
     };
@@ -7309,7 +10370,7 @@ rec {
 
     # buildPhase = "python setup.py build";
     # doCheck = false;
-    propagatedBuildInputs = [ pycurl koji GitPython pkgs.git
+    propagatedBuildInputs = with self; [ pycurl pkgs.koji GitPython pkgs.git
                               pkgs.rpm pkgs.pyopenssl ];
 
   });
@@ -7318,12 +10379,12 @@ rec {
     name = "rpyc-${version}";
     version = "3.3.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/rpyc/${name}.tar.gz";
       md5 = "6931cb92c41f547591b525142ccaeef1";
     };
 
-    propagatedBuildInputs = [ nose plumbum ];
+    propagatedBuildInputs = with self; [ nose plumbum ];
 
     meta = {
       description = "Remote Python Call (RPyC), a transparent and symmetric RPC library";
@@ -7335,12 +10396,12 @@ rec {
   rsa = buildPythonPackage rec {
     name = "rsa-3.1.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://bitbucket.org/sybren/python-rsa/get/version-3.1.2.tar.bz2";
       sha256 = "0ag2q4gaapi74x47q74xhcjzs4b7r2bb6zrj2an4sz5d3yd06cgf";
     };
 
-    buildInputs = [ pythonPackages.pyasn1 ];
+    buildInputs = with self; [ self.pyasn1 ];
 
     meta = {
       homepage = http://stuvel.eu/rsa;
@@ -7349,11 +10410,45 @@ rec {
     };
   };
 
+  squaremap = buildPythonPackage rec {
+    name = "squaremap-1.0.4";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/S/SquareMap/SquareMap-1.0.4.tar.gz";
+      md5 = "e36a453baddb97c19af6f79d5ba51f38";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Hierarchic visualization control for wxPython";
+      homepage = https://launchpad.net/squaremap;
+      license = licenses.bsd3;
+    };
+  };
+
+  runsnakerun = buildPythonPackage rec {
+    name = "runsnakerun-2.0.4";
+
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/R/RunSnakeRun/RunSnakeRun-2.0.4.tar.gz";
+      md5 = "3220b5b89994baee70b1c24d7e42a306";
+    };
+
+    propagatedBuildInputs = [ self.squaremap self.wxPython28 ];
+
+    meta = with stdenv.lib; {
+      description = "GUI Viewer for Python profiling runs";
+      homepage = http://www.vrplumber.com/programming/runsnakerun/;
+      license = licenses.bsd3;
+    };
+  };
+
   rtslib_fb = buildPythonPackage rec {
     version = "2.1.fb43";
     name = "rtslib-fb-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/agrover/rtslib-fb/archive/v${version}.tar.gz";
       sha256 = "1b59vyy12g6rix9l2fxx0hjiq33shkb79v57gwffs57vh74wc53v";
     };
@@ -7366,16 +10461,16 @@ rec {
   };
 
   seqdiag = buildPythonPackage rec {
-    name = "seqdiag-0.9.0";
+    name = "seqdiag-0.9.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/s/seqdiag/${name}.tar.gz";
-      md5 = "92946555ce219df18002e6c88b4055d3";
+      sha256 = "1qa7d0m1wahvmrj95rxkb6128cbwd4w3gy8gbzncls66h46bifiz";
     };
 
-    buildInputs = [ pep8 nose unittest2 docutils ];
+    buildInputs = with self; [ pep8 nose unittest2 docutils ];
 
-    propagatedBuildInputs = [ blockdiag ];
+    propagatedBuildInputs = with self; [ blockdiag ];
 
     # Tests fail:
     #   ...
@@ -7392,16 +10487,38 @@ rec {
   };
 
 
+  scapy = buildPythonPackage rec {
+    name = "scapy-2.2.0";
+
+    disabled = isPy3k || isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "http://www.secdev.org/projects/scapy/files/${name}.tar.gz";
+      sha256 = "1bqmp0xglkndrqgmybpwmzkv462mir8qlkfwsxwbvvzh9li3ndn5";
+    };
+
+    propagatedBuildInputs = [ modules.readline ];
+
+    meta = with stdenv.lib; {
+      description = "Powerful interactive network packet manipulation program";
+      homepage = http://www.secdev.org/projects/scapy/;
+      license = licenses.gpl2;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
   scipy = buildPythonPackage rec {
-    name = "scipy-0.12.0";
+    name = "scipy-0.14.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/scipy/${name}.tar.gz";
-      md5 = "8fb4da324649f655e8557ea92b998786";
+      md5 = "d7c7f4ccf8b07b08d6fe49d5cd51f85d";
     };
 
-    buildInputs = [pkgs.gfortran];
-    propagatedBuildInputs = [ numpy ];
+    buildInputs = [ pkgs.gfortran ];
+    propagatedBuildInputs = with self; [ numpy ];
 
     # TODO: add ATLAS=${pkgs.atlas}
     preConfigure = ''
@@ -7421,16 +10538,44 @@ rec {
   };
 
 
+  scikitlearn = buildPythonPackage {
+    name = "scikit-learn-0.15.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/s/scikit-learn/scikit-learn-0.15.2.tar.gz";
+      md5 = "d9822ad0238e17b382a3c756ea94fe0d";
+    };
+
+    buildInputs = with self; [ nose pillow pkgs.gfortran pkgs.glibcLocales ];
+    propagatedBuildInputs = with self; [ numpy scipy pkgs.atlas ];
+
+    buildPhase = ''
+      export ATLAS=${pkgs.atlas}
+      ${self.python.executable} setup.py build_ext -i --fcompiler='gnu95'
+    '';
+
+    checkPhase = ''
+      LC_ALL="en_US.UTF-8" HOME=$TMPDIR ATLAS="" nosetests
+    '';
+
+    meta = {
+      description = "A set of python modules for machine learning and data mining";
+      homepage = http://scikit-learn.org;
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
+
   scripttest = buildPythonPackage rec {
     version = "1.3";
     name = "scripttest-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/scripttest/scripttest-${version}.tar.gz";
       md5 = "1d1c5117ccfc7b5961cae6c1020c0848";
     };
 
-    buildInputs = [ nose pytest ];
+    buildInputs = with self; [ nose pytest ];
 
     meta = {
       description = "A library for testing interactive command-line applications";
@@ -7439,32 +10584,32 @@ rec {
   };
 
   selenium = buildPythonPackage rec {
-    name = "selenium-2.39.0";
+    name = "selenium-2.44.0";
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/selenium/${name}.tar.gz";
-      sha256 = "1kisndzl9s0vs0a5paqx35hxq28id3xyi1gfsjaixsi6rs0ibhhh";
+      sha256 = "0l70pqwg88imbylcd831vg8nj8ipy4zr331f6qjccss7vn56i2h5";
     };
 
-    buildInputs = [pkgs.xlibs.libX11];
+    buildInputs = with self; [pkgs.xlibs.libX11];
 
     # 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 =
-      pkgs.fetchsvn {
-        url = http://selenium.googlecode.com/svn/tags/selenium-2.25.0/cpp/linux-specific;
-        rev = 17641;
-        sha256 = "1wif9r6307qhlcp2zbg6n05yvxxn9ppkxh8gpsplcbyh22zi7bcd";
+      pkgs.fetchFromGitHub {
+        owner = "SeleniumHQ";
+        repo = "selenium";
+        rev = "selenium-2.44.0";
+        sha256 = "13aqm0dwy17ghimy7m2mxjwlyc1k7zk5icxzrs1sa896056f1dyy";
       };
 
-    preInstall = ''
-      cp "${x_ignore_nofocus}/"* .
-      sed -i 's|dlopen(library,|dlopen("libX11.so.6",|' x_ignore_nofocus.c
+    patchPhase = ''
+      cp "${x_ignore_nofocus}/cpp/linux-specific/"* .
+      substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${pkgs.xlibs.libX11}/lib/libX11.so.6"
       gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
       gcc -shared \
         -Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
         -o x_ignore_nofocus.so \
-        x_ignore_nofocus.o \
-        ${if stdenv.isDarwin then "-lx11" else ""}
+        x_ignore_nofocus.o
       cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/
     '';
   };
@@ -7472,14 +10617,14 @@ rec {
   setuptoolsDarcs = buildPythonPackage {
     name = "setuptools-darcs-1.2.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/setuptools_darcs/setuptools_darcs-1.2.9.tar.gz";
       sha256 = "d37ce11030addbd729284c441facd0869cdc6e5c888dc5fa0a6f1edfe3c3e617";
     };
 
     # In order to break the dependency on darcs -> ghc, we don't add
     # darcs as a propagated build input.
-    propagatedBuildInputs = [ darcsver ];
+    propagatedBuildInputs = with self; [ darcsver ];
 
     meta = {
       description = "setuptools plugin for the Darcs version control system";
@@ -7494,12 +10639,12 @@ rec {
   setuptoolsTrial = buildPythonPackage {
     name = "setuptools-trial-0.5.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.12.tar.gz";
       md5 = "f16f4237c9ee483a0cd13208849d96ad";
     };
 
-    propagatedBuildInputs = [ twisted ];
+    propagatedBuildInputs = with self; [ twisted ];
 
     meta = {
       description = "setuptools plug-in that helps run unit tests built with the \"Trial\" framework (from Twisted)";
@@ -7514,7 +10659,7 @@ rec {
   simplejson = buildPythonPackage (rec {
     name = "simplejson-3.3.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz";
       md5 = "0e29b393bceac8081fa4e93ff9f6a001";
     };
@@ -7536,15 +10681,34 @@ rec {
     };
   });
 
+  simpleparse = buildPythonPackage rec {
+    version = "2.1.1";
+    name = "simpleparse-${version}";
+
+    disabled = isPy3k || isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/S/SimpleParse/SimpleParse-${version}.tar.gz";
+      sha256 = "1n8msk71lpl3kv086xr2sv68ppgz6228575xfnbszc6p1mwr64rg";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A Parser Generator for Python";
+      homepage = https://pypi.python.org/pypi/SimpleParse;
+      platforms = platforms.all;
+      maintainers = [ maintainers.DamienCassou ];
+    };
+  };
+
   sigal = buildPythonPackage rec {
     name = "sigal-0.7.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/sigal/${name}.tar.gz";
       md5 = "d2386706ac8543378aebde1ea4edeba4";
     };
 
-    propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh pytest ];
+    propagatedBuildInputs = with self; [ jinja2 markdown pillow pilkit clint argh pytest ];
 
     meta = with stdenv.lib; {
       description = "Yet another simple static gallery generator";
@@ -7554,15 +10718,30 @@ rec {
     };
   };
 
+  pgpdump = self.buildPythonPackage rec {
+    name = "pgpdump-1.5";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pgpdump/pgpdump-1.5.tar.gz";
+      md5 = "040a451c8e63de3e61fc5b66efa7fca5";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Python library for parsing PGP packets";
+      homepage = https://github.com/toofishes/python-pgpdump;
+      license = licenses.bsd3;
+    };
+  };
+
   spambayes = buildPythonPackage rec {
-    name = "spambayes-1.1a6";
+    name = "spambayes-1.1b1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/spambayes/${name}.tar.gz";
-      sha256 = "0lqhn2v0avgwxmk4dq9lkwr2g39ls2p6x8hqk5w07wd462cjsx8l";
+      sha256 = "0kqvjb89b02wp41p650ydfspi1s8d7akx1igcrw62diidqbxp04n";
     };
 
-    propagatedBuildInputs = [ pydns lockfile ];
+    propagatedBuildInputs = with self; [ pydns lockfile ];
 
     meta = with stdenv.lib; {
       description = "Statistical anti-spam filter, initially based on the work of Paul Graham";
@@ -7573,17 +10752,15 @@ rec {
   shapely = buildPythonPackage rec {
     name = "Shapely-1.3.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/S/Shapely/${name}.tar.gz";
       sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l";
     };
 
-    buildInputs = [ pkgs.geos ];
+    buildInputs = with self; [ pkgs.geos pkgs.glibcLocales ];
 
     preConfigure = ''
       export LANG="en_US.UTF-8";
-    '' + stdenv.lib.optionalString stdenv.isLinux ''
-      export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive";
     '';
 
     patchPhase = ''
@@ -7601,14 +10778,14 @@ rec {
   stevedore = buildPythonPackage rec {
     name = "stevedore-0.15";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/stevedore/${name}.tar.gz";
       sha256 = "bec9269cbfa58de4f0849ec79bb7d54eeeed9df8b5fbfa1637fbc68062822847";
     };
 
-    buildInputs = [ pbr pip ];
+    buildInputs = with self; [ pbr pip ] ++ optional isPy26 argparse;
 
-    propagatedBuildInputs = [ setuptools ];
+    propagatedBuildInputs = with self; [ setuptools ];
 
     meta = {
       description = "Manage dynamic plugins for Python applications";
@@ -7621,7 +10798,7 @@ rec {
     name = "pydns-2.3.6";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pydns/${name}.tar.gz";
       sha256 = "0qnv7i9824nb5h9psj0rwzjyprwgfiwh5s5raa9avbqazy5hv5pi";
     };
@@ -7631,22 +10808,24 @@ rec {
   };
 
   sympy = buildPythonPackage rec {
-    name = "sympy-0.7.4";
+    name = "sympy-0.7.6";
+    disabled = isPy34 || isPyPy;  # some tests fail
 
-    src = fetchurl {
-      url    = "https://github.com/sympy/sympy/releases/download/${name}/${name}.tar.gz";
-      sha256 = "0h1b9mx0snyyybj1x1ga69qssgjzkkgx2rw6nddjhyz1fknf8ywh";
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/s/sympy/${name}.tar.gz";
+      sha256 = "19yp0gy4i7p4g6l3b8vaqkj9qj7yqb5kqy0qgbdagpzgkdz958yz";
     };
-    
+
+    buildInputs = [ pkgs.glibcLocales ];
+
     preCheck = ''
       export LANG="en_US.UTF-8"
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
     '';
 
     meta = with stdenv.lib; {
       description = "A Python library for symbolic mathematics";
       homepage    = http://www.sympy.org/;
-      license     = "free";
+      license     = licenses.bsd3;
       maintainers = with maintainers; [ lovek323 ];
       platforms   = platforms.unix;
     };
@@ -7655,7 +10834,7 @@ rec {
   pilkit = buildPythonPackage rec {
     name = "pilkit-1.1.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pilkit/${name}.tar.gz";
       md5 = "659dd67440f4b576889f2cd350f43d7b";
     };
@@ -7667,7 +10846,7 @@ rec {
     # tests fail, see https://github.com/matthewwithanm/pilkit/issues/9
     doCheck = false;
 
-    buildInputs = [ pillow nose_progressive nose mock blessings ];
+    buildInputs = with self; [ pillow nose_progressive nose mock blessings ];
 
     meta = with stdenv.lib; {
       maintainers = [ maintainers.iElectric ];
@@ -7677,7 +10856,7 @@ rec {
   clint = buildPythonPackage rec {
     name = "clint-0.3.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/c/clint/${name}.tar.gz";
       md5 = "7dcd43fb08bfb84c7d63e9356ada7b73";
     };
@@ -7686,7 +10865,7 @@ rec {
       nosetests
     '';
 
-    buildInputs = [ pillow nose_progressive nose mock blessings nose ];
+    buildInputs = with self; [ pillow nose_progressive nose mock blessings nose ];
 
     meta = with stdenv.lib; {
       maintainers = [ maintainers.iElectric ];
@@ -7694,19 +10873,19 @@ rec {
   };
 
   argh = buildPythonPackage rec {
-    name = "argh-0.23.3";
+    name = "argh-0.26.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/a/argh/${name}.tar.gz";
-      md5 = "25bb02c6552b42875f2c36714e0ff16c";
+      sha256 = "1nqham81ihffc9xmw85dz3rg3v90rw7h0dp3dy0bh3qkp4n499q6";
     };
 
-    preCheck = ''
+    checkPhase = ''
       export LANG="en_US.UTF-8"
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
+      py.test
     '';
 
-    buildInputs = [ pytest py mock ];
+    buildInputs = with self; [ pytest py mock pkgs.glibcLocales ];
 
     meta = with stdenv.lib; {
       maintainers = [ maintainers.iElectric ];
@@ -7716,13 +10895,13 @@ rec {
   nose_progressive = buildPythonPackage rec {
     name = "nose-progressive-1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose-progressive/${name}.tar.gz";
       md5 = "180be93929c5962044a35489f193259d";
     };
 
-    buildInputs = [ pillow blessings nose ];
-    propagatedBuildInputs = [ modules.curses ];
+    buildInputs = with self; [ pillow blessings nose ];
+    propagatedBuildInputs = with self; [ modules.curses ];
 
     meta = with stdenv.lib; {
       maintainers = [ maintainers.iElectric ];
@@ -7732,7 +10911,7 @@ rec {
   blessings = buildPythonPackage rec {
     name = "blessings-1.5.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/b/blessings/${name}.tar.gz";
       md5 = "fbbddbf20b1f9a13e3fa612b1e086fd8";
     };
@@ -7740,7 +10919,7 @@ rec {
     # 4 failing tests
     doCheck = false;
 
-    buildInputs = [ nose modules.curses ];
+    buildInputs = with self; [ nose modules.curses ];
 
     meta = with stdenv.lib; {
       maintainers = [ maintainers.iElectric ];
@@ -7749,12 +10928,12 @@ rec {
 
   semantic = buildPythonPackage rec {
     name = "semantic-1.0.3";
-    
+
     disabled = isPy3k;
 
-    propagatedBuildInputs = [ quantities numpy ];
+    propagatedBuildInputs = with self; [ quantities numpy ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/s/semantic/semantic-1.0.3.tar.gz";
       md5 = "78a150190e3e7d0f6f357b4c828e5f0d";
     };
@@ -7771,7 +10950,7 @@ rec {
 
   sexpdata = buildPythonPackage rec {
     name = "sexpdata-0.0.2";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/sexpdata/${name}.tar.gz";
       md5 = "efc44265bc27cb3d6ffed4fbf5733fc1";
     };
@@ -7788,7 +10967,7 @@ rec {
   sh = buildPythonPackage rec {
     name = "sh-1.08";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/sh/${name}.tar.gz";
       md5 = "4028bcba85daa0aef579ed24261e88a3";
     };
@@ -7802,12 +10981,34 @@ rec {
   };
 
 
+  sipsimple = buildPythonPackage rec {
+    name = "sipsimple-${version}";
+    version = "2.3.1";
+    disabled = isPy3k;
+
+    configurePhase = "find -name 'configure' -exec chmod a+x {} \\; ; find -name 'aconfigure' -exec chmod a+x {} \\; ; ${python}/bin/${python.executable} setup.py build_ext --pjsip-clean-compile";
+
+    src = pkgs.fetchurl {
+      url = "http://download.ag-projects.com/SipClient/python-${name}.tar.gz";
+      sha256 = "1n3g1zg3zgdybikdla0qdqvpa06vn1ka2asr61lb8kk6xbvqkljv";
+    };
+
+    propagatedBuildInputs = with self; [ cython pkgs.openssl dns dateutil xcaplib msrplib lxml ];
+
+    buildInputs = with pkgs; [ alsaLib ffmpeg libv4l pkgconfig sqlite ];
+
+    installPhase = "${python}/bin/${python.executable} setup.py install --prefix=$out";
+
+    doCheck = false;
+  };
+
+
   six = buildPythonPackage rec {
-    name = "six-1.7.3";
+    name = "six-1.9.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/six/${name}.tar.gz";
-      md5 = "784c6e5541c3c4952de9c0a966a0a80b";
+      sha256 = "1mci5i8mjqmljmv33h0q3d4djc13zk1kfmb3fbvd3yy43x0m4h72";
     };
 
     # error: invalid command 'test'
@@ -7822,9 +11023,9 @@ rec {
 
   skype4py = buildPythonPackage (rec {
     name = "Skype4Py-1.0.32.0";
-    disabled = isPy3k;
+    disabled = isPy3k || isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz;
       sha256 = "0cmkrv450wa8v50bng5dflpwkl5c1p9pzysjkb2956w5kvwh6f5b";
     };
@@ -7838,7 +11039,7 @@ rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ pkgs.xlibs.libX11 pkgs.pythonDBus pygobject ];
+    propagatedBuildInputs = with self; [ pkgs.xlibs.libX11 pkgs.pythonDBus pygobject ];
 
     meta = {
       description = "High-level, platform independent Skype API wrapper for Python";
@@ -7855,12 +11056,12 @@ rec {
   smartdc = buildPythonPackage rec {
     name = "smartdc-0.1.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = https://pypi.python.org/packages/source/s/smartdc/smartdc-0.1.12.tar.gz;
       md5 = "b960f61facafc879142b699050f6d8b4";
     };
 
-    propagatedBuildInputs = [ requests http_signature ];
+    propagatedBuildInputs = with self; [ requests http_signature ];
 
     meta = {
       description = "Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests";
@@ -7869,10 +11070,23 @@ rec {
     };
   };
 
+  socksipy-branch = buildPythonPackage rec {
+    name = "SocksiPy-branch-1.01";
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/S/SocksiPy-branch/SocksiPy-branch-1.01.tar.gz;
+      sha256 = "01l41v4g7fy9fzvinmjxy6zcbhgqaif8dhdqm4w90fwcw9h51a8p";
+    };
+    meta = {
+      homepage = http://code.google.com/p/socksipy-branch/;
+      description = "This Python module allows you to create TCP connections through a SOCKS proxy without any special effort";
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
   sorl_thumbnail = buildPythonPackage rec {
     name = "sorl-thumbnail-11.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/s/sorl-thumbnail/${name}.tar.gz";
       sha256 = "050b9kzbx7jvs3qwfxxshhis090hk128maasy8pi5wss6nx5kyw4";
     };
@@ -7889,16 +11103,16 @@ rec {
 
   supervisor = buildPythonPackage rec {
     name = "supervisor-3.1.1";
-    
+
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/s/supervisor/${name}.tar.gz";
       md5 = "8c9714feaa63902f03871317e3ebf62e";
     };
 
-    buildInputs = [ mock ];
-    propagatedBuildInputs = [ meld3 ];
+    buildInputs = with self; [ mock ];
+    propagatedBuildInputs = with self; [ meld3 ];
 
     # failing tests when building under chroot as root user doesn't exist
     doCheck = false;
@@ -7913,30 +11127,46 @@ rec {
     name = "subprocess32-3.2.6";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz";
       md5 = "754c5ab9f533e764f931136974b618f1";
     };
 
-    doCheck = false;
+    buildInputs = [ pkgs.bash ];
+
+    doCheck = !isPyPy;
+
+    preConfigure = ''
+      substituteInPlace test_subprocess32.py \
+        --replace '/usr/' '${pkgs.bash}/'
+    '';
+
+    checkPhase = ''
+      TMP_PREFIX=`pwd`/tmp/$name
+      TMP_INSTALL_DIR=$TMP_PREFIX/lib/${pythonPackages.python.libPrefix}/site-packages
+      PYTHONPATH="$TMP_INSTALL_DIR:$PYTHONPATH"
+      mkdir -p $TMP_INSTALL_DIR
+      python setup.py develop --prefix $TMP_PREFIX
+      python test_subprocess32.py
+    '';
 
     meta = {
-      homepage = "https://pypi.python.org/pypi/subprocess32";
-      description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x.";
+      homepage = https://pypi.python.org/pypi/subprocess32;
+      description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x";
       maintainers = [ stdenv.lib.maintainers.garbas ];
     };
   };
 
 
   sphinx = buildPythonPackage (rec {
-    name = "Sphinx-1.2";
+    name = "Sphinx-1.2.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz";
-      md5 = "8516046aad73fe46dedece4e8e434328";
+      md5 = "a98c93124035b4cd7183604aec656cb3";
     };
 
-    propagatedBuildInputs = [docutils jinja2 pygments];
+    propagatedBuildInputs = with self; [docutils jinja2 pygments];
 
     meta = {
       description = "Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects.";
@@ -7949,14 +11179,18 @@ rec {
 
 
   sphinxcontrib_httpdomain = buildPythonPackage (rec {
-    name = "sphinxcontrib-httpdomain-1.1.9";
+    name = "sphinxcontrib-httpdomain-1.3.0";
+
+    # Check is disabled due to this issue:
+    # https://bitbucket.org/pypa/setuptools/issue/137/typeerror-unorderable-types-str-nonetype
+    doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/s/sphinxcontrib-httpdomain/${name}.tar.gz";
-      md5 = "0f63aea612cc9e0b55a6c39e5b0f87b7";
+      md5 = "ad7ea42bd4c7c0ee57b1cb25bbf24aab";
     };
 
-    propagatedBuildInputs = [sphinx];
+    propagatedBuildInputs = with self; [sphinx];
 
     meta = {
       description = "Provides a Sphinx domain for describing RESTful HTTP APIs";
@@ -7968,10 +11202,30 @@ rec {
   });
 
 
+  sphinxcontrib_plantuml = buildPythonPackage (rec {
+    name = "sphinxcontrib-plantuml-0.5";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/s/sphinxcontrib-plantuml/${name}.tar.gz";
+      md5 = "4a8840fe3475a19c2af3fa877ab9d296";
+    };
+
+    propagatedBuildInputs = with self; [sphinx plantuml];
+
+    meta = {
+      description = "Provides a Sphinx domain for embedding UML diagram with PlantUML";
+
+      homepage = http://bitbucket.org/birkenfeld/sphinx-contrib;
+
+      license = "BSD";
+    };
+  });
+
+
   sphinx_pypi_upload = buildPythonPackage (rec {
     name = "Sphinx-PyPI-upload-0.2.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/S/Sphinx-PyPI-upload/${name}.tar.gz";
       md5 = "b9f1df5c8443197e4d49abbba1cfddc4";
     };
@@ -7985,10 +11239,12 @@ rec {
     };
   });
 
-  sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+  sqlalchemy = self.sqlalchemy9.override rec {
     name = "SQLAlchemy-0.7.10";
-    disabled = isPy3k;
-    src = fetchurl {
+    disabled = isPy34;
+    doCheck = !isPyPy;
+
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
       sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp";
     };
@@ -7997,27 +11253,38 @@ rec {
       # waiting for 0.7.11 release
       ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch
     ];
-  });
+    preConfigure = optionalString isPy3k ''
+      python3 sa2to3.py --no-diffs -w lib test examples
+    '';
+  };
 
-  sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec {
+  sqlalchemy8 = self.sqlalchemy9.override rec {
     name = "SQLAlchemy-0.8.7";
-    src = fetchurl {
+    disabled = isPy34;
+    doCheck = !isPyPy;
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
       md5 = "4f3377306309e46739696721b1785335";
     };
-  });
+    preConfigure = optionalString isPy3k ''
+      python3 sa2to3.py --no-diffs -w lib test examples
+    '';
+  };
 
   sqlalchemy9 = buildPythonPackage rec {
-    name = "SQLAlchemy-0.9.4";
+    name = "SQLAlchemy-0.9.8";
+
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz";
-      md5 = "c008ea5e2565ec1418ee8461393a99b1";
+      md5 = "470ca4da4a0081efc830f0d90dd91682";
     };
 
-    buildInputs = [ nose mock ];
+    buildInputs = with self; [ nose mock ];
 
-    propagatedBuildInputs = [ modules.sqlite3 ];
+    propagatedBuildInputs = with self; [ modules.sqlite3 ];
 
     checkPhase = ''
       ${python.executable} sqla_nose.py
@@ -8032,16 +11299,17 @@ rec {
 
   sqlalchemy_imageattach = buildPythonPackage rec {
     name = "SQLAlchemy-ImageAttach-${version}";
-    version = "0.8.1";
+    version = "0.8.2";
+    disabled = isPy33;
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = https://github.com/crosspop/sqlalchemy-imageattach.git;
       rev = "refs/tags/${version}";
-      md5 = "051dd9de0757714d33c3ecd5ab37b97d";
+      md5 = "cffdcde30952176e35fccf385f579dda";
     };
 
-    buildInputs = [ pytest webob pkgs.imagemagick nose ];
-    propagatedBuildInputs = [ sqlalchemy8 wand ];
+    buildInputs = with self; [ pytest webob pkgs.imagemagick nose ];
+    propagatedBuildInputs = with self; [ sqlalchemy8 wand ];
 
     checkPhase = ''
       cd tests
@@ -8050,6 +11318,7 @@ rec {
       py.test
       cd ..
     '';
+    doCheck = !isPyPy;  # failures due to sqla version mismatch
 
     meta = {
       homepage = https://github.com/crosspop/sqlalchemy-imageattach;
@@ -8062,14 +11331,14 @@ rec {
   sqlalchemy_migrate = buildPythonPackage rec {
     name = "sqlalchemy-migrate-0.6.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://sqlalchemy-migrate.googlecode.com/files/${name}.tar.gz";
       sha1 = "17168b5fa066bd56fd93f26345525377e8a83d8a";
     };
 
-    buildInputs = [ nose unittest2 scripttest ];
+    buildInputs = with self; [ nose unittest2 scripttest ];
 
-    propagatedBuildInputs = [ tempita decorator sqlalchemy ];
+    propagatedBuildInputs = with self; [ tempita decorator sqlalchemy ];
 
     preCheck =
       ''
@@ -8086,17 +11355,37 @@ rec {
   };
 
 
+  sqlparse = buildPythonPackage rec {
+    name = "sqlparse-${version}";
+    version = "0.1.14";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/s/sqlparse/${name}.tar.gz";
+      sha256 = "1w6shyh7n139cp636sym0frdyiwybw1m7gd2l4s3d7xbaccf6qg5";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Non-validating SQL parser for Python";
+      longDescription = ''
+        Provides support for parsing, splitting and formatting SQL statements.
+      '';
+      homepage = https://github.com/andialbrecht/sqlparse;
+      license = with licenses; [ bsd3 ];
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
+
   python_statsd = buildPythonPackage rec {
     name = "python-statsd-${version}";
     version = "1.6.0";
     disabled = isPy3k;  # next release will be py3k compatible
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/python-statsd/${name}.tar.gz";
       md5 = "3a0c71a160b504b843703c3041c7d7fb";
     };
 
-    buildInputs = [ mock nose coverage ];
+    buildInputs = with self; [ mock nose coverage ];
 
     meta = {
       description = "A client for Etsy's node-js statsd server";
@@ -8110,12 +11399,12 @@ rec {
     name = "stompclient-0.3.2";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/stompclient/${name}.tar.gz";
       md5 = "af0a314b6106dd80da24a918c24a1eab";
     };
 
-    buildInputs = [ mock nose ];
+    buildInputs = with self; [ mock nose ];
 
     # XXX: Ran 0 tests in 0.217s
 
@@ -8126,17 +11415,80 @@ rec {
     };
   });
 
+  subdownloader = buildPythonPackage rec {
+    version = "2.0.18";
+    name = "subdownloader-${version}";
 
-  subunit = buildPythonPackage rec {
+    src = pkgs.fetchurl {
+      url = "https://launchpad.net/subdownloader/trunk/2.0.18/+download/subdownloader_2.0.18.orig.tar.gz";
+      sha256 = "0manlfdpb585niw23ibb8n21mindd1bazp0pnxvmdjrp2mnw97ig";
+    };
+
+    propagatedBuildInputs = with self; [ mmpython pyqt4 ];
+
+    setup = ''
+      import os
+      import sys
+
+      try:
+          if os.environ.get("NO_SETUPTOOLS"):
+              raise ImportError()
+          from setuptools import setup, Extension
+          SETUPTOOLS = True
+      except ImportError:
+          SETUPTOOLS = False
+          # Use distutils.core as a fallback.
+          # We won t be able to build the Wheel file on Windows.
+          from distutils.core import setup, Extension
+
+      with open("README") as fp:
+          long_description = fp.read()
+
+      requirements = [ ]
+
+      install_options = {
+          "name": "subdownloader",
+          "version": "2.0.18",
+          "description": "Tool for automatic download/upload subtitles for videofiles using fast hashing",
+          "long_description": long_description,
+          "url": "http://www.subdownloader.net",
+
+          "scripts": ["run.py"],
+          "packages": ["cli", "FileManagement", "gui", "languages", "modules"],
+
+      }
+      if SETUPTOOLS:
+          install_options["install_requires"] = requirements
+
+      setup(**install_options)
+    '';
+
+    postUnpack = ''
+      echo '${setup}' > $sourceRoot/setup.py
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Tool for automatic download/upload subtitles for videofiles using fast hashing";
+      homepage = http://www.subdownloader.net;
+      license = licenses.gpl3;
+      maintainers = [ maintainers.DamienCassou ];
+    };
+  };
+
+  subunit = stdenv.mkDerivation rec {
     name = "subunit-${version}";
-    version = "0.0.16";
+    version = "1.0.0";
 
-    src = fetchurl {
-      url = "https://launchpad.net/subunit/trunk/${version}/+download/python-${name}.tar.gz";
-      sha256 = "1ylla1wlmv29vdr76r5kgr7y21bz4ahi3v26mxsys42w90rfkahi";
+    src = pkgs.fetchurl {
+      url = "https://launchpad.net/subunit/trunk/${version}/+download/${name}.tar.gz";
+      sha256 = "1fnhrrwww90746an2nz2kn9qdf9pklmaf5lm22gssl6648f2rp2m";
     };
 
-    propagatedBuildInputs = [ testtools ];
+    buildInputs = (with pkgs; [ pkgconfig check cppunit perl ]) ++ [ self.wrapPython ];
+
+    propagatedBuildInputs = with self; [ testtools testscenarios ];
+
+    postFixup = "wrapPythonPrograms";
 
     meta = {
       description = "A streaming protocol for test results";
@@ -8148,25 +11500,24 @@ rec {
 
   sure = buildPythonPackage rec {
     name = "sure-${version}";
-    version = "1.2.7";
-    
+    version = "1.2.8";
+
     preBuild = ''
-      export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive
       export LC_ALL="en_US.UTF-8"
     '';
 
-    # Not picking up from PyPI because it doesn't contain tests.
-    src = fetchgit {
-      url = "git://github.com/gabrielfalcao/sure.git";
-      rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a";
-      sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3";
+    # https://github.com/gabrielfalcao/sure/issues/71
+    doCheck = !isPy3k;
+    disabled = isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/s/sure/${name}.tar.gz";
+      sha256 = "0pgi9xg00wcw0m1pv5qp7jv53q38yffcmkf2fj1zlfi2b9c3njid";
     };
-    
-    
 
-    buildInputs = [ nose ];
+    buildInputs = with self; [ nose pkgs.glibcLocales ];
 
-    propagatedBuildInputs = [ six mock ];
+    propagatedBuildInputs = with self; [ six mock ];
 
     meta = {
       description = "Utility belt for automated testing";
@@ -8176,6 +11527,22 @@ rec {
   };
 
 
+  structlog = buildPythonPackage rec {
+    name = "structlog-0.4.2";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/s/structlog/${name}.tar.gz";
+      md5 = "062cda36069e8573e00c265f451f899e";
+    };
+
+    meta = {
+      description = "Painless structural logging";
+      homepage = http://www.structlog.org/;
+      license = licenses.asl20;
+    };
+  };
+
+
   # XXX: ValueError: ZIP does not support timestamps before 1980
   # svneverever =  buildPythonPackage rec {
   #   name = "svneverever-778489a8";
@@ -8186,7 +11553,7 @@ rec {
   #     sha256 = "41c9da1dab2be7b60bff87e618befdf5da37c0a56287385cb0cbd3f91e452bb6";
   #   };
   #
-  #   propagatedBuildInputs = [ pysvn argparse ];
+  #   propagatedBuildInputs = with self; [ pysvn argparse ];
   #
   #   doCheck = false;
   # };
@@ -8195,12 +11562,12 @@ rec {
     version = "2.1.fb33";
     name = "targetcli-fb-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/agrover/targetcli-fb/archive/v${version}.tar.gz";
       sha256 = "1zcm0agdpf866020b43fl8zyyyzz6r74mn1sz4xpaa0pinpwjk42";
     };
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       configshell_fb
       rtslib_fb
     ];
@@ -8212,17 +11579,46 @@ rec {
     };
   };
 
+  syncthing-gtk = buildPythonPackage rec {
+    version = "0.6.3";
+    name = "syncthing-gtk-${version}";
+    src = pkgs.fetchFromGitHub {
+      owner = "syncthing";
+      repo = "syncthing-gtk";
+      rev = "v${version}";
+      sha256 = "1qa5bw2qizjiqvkms8i31wsjf8cw9p0ciamxgfgq6n37wcalv6ms";
+    };
+
+    disabled = isPy3k;
+
+    propagatedBuildInputs = with self; [ pkgs.syncthing pygobject3 dateutil pkgs.gtk3 pyinotify pkgs.libnotify pkgs.psmisc ];
+
+    patchPhase = ''
+      substituteInPlace "scripts/syncthing-gtk" \
+              --replace "/usr/share" "$out/share"   \
+    '';
+
+
+    meta = with stdenv.lib; {
+      description = " GTK3 & python based GUI for Syncthing ";
+      maintainers = [ maintainers.DamienCassou ];
+      platforms = pkgs.syncthing.meta.platforms;
+      homepage = "https://github.com/syncthing/syncthing-gtk";
+      license = stdenv.lib.licenses.gpl2;
+    };
+  };
+
   tarsnapper = buildPythonPackage rec {
     name = "tarsnapper-0.2.1";
     disabled = isPy3k;
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = https://github.com/miracle2k/tarsnapper.git;
       rev = "620439bca68892f2ffaba1079a34b18496cc6596";
       sha256 = "06pp499qm2dxpja2jgmmq2jrcx3m4nq52x5hhil9r1jxvyiq962p";
     };
 
-    propagatedBuildInputs = [ argparse pyyaml ];
+    propagatedBuildInputs = with self; [ argparse pyyaml ];
 
     patches = [ ../development/python-modules/tarsnapper-path.patch ];
 
@@ -8236,12 +11632,12 @@ rec {
     name = "TaskCoach-1.3.22";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/taskcoach/${name}.tar.gz";
       sha256 = "1ddx56bqmh347synhgjq625ijv5hqflr0apxg0nl4jqdsqk1zmxh";
     };
 
-    propagatedBuildInputs = [ wxPython ];
+    propagatedBuildInputs = with self; [ wxPython ];
 
     # I don't know why I need to add these libraries. Shouldn't they
     # be part of wxPython?
@@ -8261,18 +11657,45 @@ rec {
     };
   };
 
+  taskw = buildPythonPackage rec {
+    version = "1.0.2";
+    name = "taskw-${version}";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/t/taskw/${name}.tar.gz";
+      sha256 = "0wa2hwplss2r56jrwib6j9sxxm02dz78878975jk9fj10p84w5kr";
+    };
+
+    patches = [ ../development/python-modules/taskw/use-template-for-taskwarrior-install-path.patch ];
+    postPatch = ''
+      substituteInPlace taskw/warrior.py \
+        --replace '@@taskwarrior@@' '${pkgs.taskwarrior}'
+    '';
+
+    buildInputs = with self; [ nose pkgs.taskwarrior tox ];
+    propagatedBuildInputs = with self; [ six dateutil pytz ];
+
+    meta = {
+      homepage =  http://github.com/ralphbean/taskw;
+      description = "Python bindings for your taskwarrior database";
+      license = licenses.gpl3Plus;
+      platforms = platforms.all;
+      maintainers = [ maintainers.pierron ];
+    };
+  };
+
   tempita = buildPythonPackage rec {
     version = "0.5.2";
     name = "tempita-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/T/Tempita/Tempita-${version}.tar.gz";
       md5 = "4c2f17bb9d481821c41b6fbee904cea1";
     };
-    
+
     disabled = isPy3k;
-    
-    buildInputs = [ nose ];
+
+    buildInputs = with self; [ nose ];
 
     meta = {
       homepage = http://pythonpaste.org/tempita/;
@@ -8281,16 +11704,35 @@ rec {
   };
 
 
+  testscenarios = buildPythonPackage rec {
+    name = "testscenarios-${version}";
+    version = "0.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/t/testscenarios/${name}.tar.gz";
+      sha256 = "1671jvrvqlmbnc42j7pc5y6vc37q44aiwrq0zic652pxyy2fxvjg";
+    };
+
+    propagatedBuildInputs = with self; [ testtools ];
+
+    meta = {
+      description = "a pyunit extension for dependency injection";
+      homepage = https://pypi.python.org/pypi/testscenarios;
+      license = licenses.asl20;
+    };
+  };
+
+
   testtools = buildPythonPackage rec {
     name = "testtools-${version}";
     version = "0.9.34";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/testtools/${name}.tar.gz";
       sha256 = "0s6sn9h26dif2c9sayf875x622kq8jb2f4qbc6if7gwh2sssgicn";
     };
 
-    propagatedBuildInputs = [ pythonPackages.python_mimeparse pythonPackages.extras lxml ];
+    propagatedBuildInputs = with self; [ self.python_mimeparse self.extras lxml ];
 
     meta = {
       description = "A set of extensions to the Python standard library's unit testing framework";
@@ -8304,7 +11746,7 @@ rec {
     name = "python-mimeparse-${version}";
     version = "0.1.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/python-mimeparse/${name}.tar.gz";
       sha256 = "1hyxg09kaj02ri0rmwjqi86wk4nd1akvv7n0dx77azz76wga4s9w";
     };
@@ -8313,7 +11755,7 @@ rec {
     doCheck = false;
 
     meta = {
-      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges.";
+      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
       homepage = https://code.google.com/p/mimeparse/;
       license = licenses.mit;
     };
@@ -8324,7 +11766,7 @@ rec {
     name = "extras-${version}";
     version = "0.0.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/e/extras/extras-${version}.tar.gz";
       sha256 = "1h7zx4dfyclalg0fqnfjijpn0f793a9mx8sy3b27gd31nr6dhq3s";
     };
@@ -8333,53 +11775,96 @@ rec {
     doCheck = false;
 
     meta = {
-      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges.";
+      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges";
       homepage = https://code.google.com/p/mimeparse/;
       license = licenses.mit;
     };
   };
 
+  texttable = self.buildPythonPackage rec {
+    name = "texttable-0.8.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/t/texttable/${name}.tar.gz";
+      md5 = "4fe37704f16ecf424b91e122defedd7e";
+    };
+
+    meta = with stdenv.lib; {
+      description = "A module to generate a formatted text table, using ASCII characters";
+      homepage = http://foutaise.org/code/;
+      license = licenses.lgpl2;
+    };
+  };
+
+  tlslite = buildPythonPackage rec {
+    name = "tlslite-${version}";
+    version = "0.4.8";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/t/tlslite/${name}.tar.gz";
+      sha256 = "1fxx6d3nw5r1hqna1h2jvqhcygn9fyshlm0gh3gp0b1ji824gd6r";
+    };
+
+    meta = {
+      description = "A pure Python implementation of SSL and TLS";
+      homepage = https://pypi.python.org/pypi/tlslite;
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
+  qrcode = buildPythonPackage rec {
+    name = "qrcode-${version}";
+    version = "5.1";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/q/qrcode/${name}.tar.gz";
+      sha256 = "0skzrvhjnnacrz52jml4i050vdx5lfcd3np172srxjaghdgfxg9k";
+    };
+
+    propagatedBuildInputs = with self; [ six ];
+
+    meta = {
+      description = "Quick Response code generation for Python";
+      home = "https://pypi.python.org/pypi/qrcode";
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
   tmdb3 = buildPythonPackage rec {
     name = "tmdb3-${version}";
     version = "0.6.17";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/tmdb3/${name}.zip";
       md5 = "cd259427454472164c9a2479504c9cbb";
     };
 
     meta = {
-      description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information.";
+      description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information";
       homepage = http://pypi.python.org/pypi/tmdb3;
       license = stdenv.lib.licenses.bsd3;
     };
   };
 
-  # TODO
-  # Installs correctly but fails tests that involve simple things like:
-  # cmd.run("tox", "-h")
-  # also, buildPythonPackage needs to supply the tox.ini correctly for projects that use tox for their tests
-  #
-
   tox = buildPythonPackage rec {
-    name = "tox-1.7.2";
-  
-    propagatedBuildInputs = [ py virtualenv ];
+    name = "tox-1.8.1";
+
+    propagatedBuildInputs = with self; [ py virtualenv ];
 
     doCheck = false;
-  
-    src = fetchurl {
+
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz";
-      md5 = "0d9b3acb1a9252659d753b0ae6b9b264";
+      md5 = "c4423cc6512932b37e5b0d1faa87bef2";
     };
   };
 
   smmap = buildPythonPackage rec {
     name = "smmap-0.8.2";
-    disabled = isPy3k;  # next release will have py3k support
+    disabled = isPy3k || isPyPy;  # next release will have py3k/pypy support
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/s/smmap/${name}.tar.gz";
       sha256 = "0vrdgr6npmajrv658fv8bij7zgm5jmz2yxkbv8kmbv25q1f9b8ny";
     };
@@ -8389,7 +11874,7 @@ rec {
     name = "trac-1.0.1";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = http://ftp.edgewall.com/pub/trac/Trac-1.0.1.tar.gz;
       sha256 = "1nqa95fcnkpyq4jk6az7l7sqgm3b3pjq3bx1n7y4v3bad5jr1m4x";
     };
@@ -8399,7 +11884,7 @@ rec {
 
     PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
 
-    propagatedBuildInputs = [ genshi pkgs.setuptools modules.sqlite3 ];
+    propagatedBuildInputs = with self; [ genshi pkgs.setuptools modules.sqlite3 ];
 
     meta = {
       description = "Enhanced wiki and issue tracking system for software development projects";
@@ -8413,17 +11898,17 @@ rec {
     name = "transaction-${version}";
     version = "1.4.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/transaction/${name}.tar.gz";
       md5 = "b4ca5983c9e3a0808ff5ff7648092c76";
     };
 
-    propagatedBuildInputs = [ zope_interface ];
+    propagatedBuildInputs = with self; [ zope_interface ];
 
     meta = {
       description = "Transaction management";
       homepage = http://pypi.python.org/pypi/transaction;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
     };
   };
 
@@ -8431,15 +11916,15 @@ rec {
     name = "transmissionrpc-${version}";
     version = "0.11";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/transmissionrpc/${name}.tar.gz";
       md5 = "b2f918593e509f0e66e2e643291b436d";
     };
 
-    propagatedBuildInputs = [ six ];
+    propagatedBuildInputs = with self; [ six ];
 
     meta = {
-      description = "Python implementation of the Transmission bittorent client RPC protocol.";
+      description = "Python implementation of the Transmission bittorent client RPC protocol";
       homepage = http://pypi.python.org/pypi/transmissionrpc/;
       license = stdenv.lib.licenses.mit;
     };
@@ -8449,7 +11934,7 @@ rec {
      name = "eggdeps-${version}";
      version = "0.4";
 
-     src = fetchurl {
+     src = pkgs.fetchurl {
        url = "http://pypi.python.org/packages/source/t/tl.eggdeps/tl.${name}.tar.gz";
        md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7";
      };
@@ -8457,11 +11942,11 @@ rec {
      # tests fail, see http://hydra.nixos.org/build/4316603/log/raw
      doCheck = false;
 
-     propagatedBuildInputs = [ zope_interface zope_testing ];
+     propagatedBuildInputs = with self; [ zope_interface zope_testing ];
      meta = {
        description = "A tool which computes a dependency graph between active Python eggs";
        homepage = http://thomas-lotze.de/en/software/eggdeps/;
-       license = "ZPL";
+       license = stdenv.lib.licenses.zpt20;
      };
    };
 
@@ -8469,20 +11954,20 @@ rec {
   turses = buildPythonPackage (rec {
     name = "turses-0.2.22";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz";
       sha256 = "1dqgvdqly4c4d6819mbkqy4g8r7zch4dkmxicfwck7q8h96wmyx3";
     };
 
-    propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse;
+    propagatedBuildInputs = with self; [ oauth2 urwid tweepy ] ++ optional isPy26 argparse;
 
     #buildInputs = [ tox ];
     # needs tox
     doCheck = false;
 
     meta = {
-      homepage = "https://github.com/alejandrogomez/turses";
-      description = "A Twitter client for the console.";
+      homepage = https://github.com/alejandrogomez/turses;
+      description = "A Twitter client for the console";
       license = licenses.gpl3;
       maintainers = [ stdenv.lib.maintainers.garbas ];
       platforms = stdenv.lib.platforms.linux;
@@ -8493,7 +11978,7 @@ rec {
     name = "tweepy-2.3.0";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz";
       sha256 = "0wcj5g21brcqr1g7m4by4rs72lfiib4scg19qynn2wz1x77jyrzp";
     };
@@ -8507,18 +11992,58 @@ rec {
     };
   });
 
+  twiggy = buildPythonPackage rec {
+    name = "Twiggy-${version}";
+    version = "0.4.5";
+
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/T/Twiggy/Twiggy-0.4.5.tar.gz";
+      # md5 = "b0dfbbb7f56342e448af4d22a47a339c"; # provided by pypi website.
+      sha256 = "4e8f1894e5aee522db6cb245ccbfde3c5d1aa08d31330c7e3af783b0e66eec23";
+    };
+
+    doCheck = false;
+
+    meta = {
+      homepage = http://twiggy.wearpants.org;
+      # Taken from http://i.wearpants.org/blog/meet-twiggy/
+      description = "Twiggy is the first totally new design for a logger since log4j";
+      license     = licenses.bsd3;
+      platforms = platforms.all;
+      maintainers = [ maintainers.pierron ];
+    };
+  };
+
+  twitter = buildPythonPackage rec {
+    name = "twitter-${version}";
+    version = "1.15.0";
+
+    src = pkgs.fetchurl {
+      url    = "https://pypi.python.org/packages/source/t/twitter/${name}.tar.gz";
+      sha256 = "1m6b17irb9klc345k8174pni724jzy2973z2x2jg69h83hipjw2c";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "Twitter API library";
+      license     = licenses.mit;
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
   twisted = buildPythonPackage rec {
     # NOTE: When updating please check if new versions still cause issues
     # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem)
     disabled = isPy3k;
- 
+
     name = "Twisted-11.1.0";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/T/Twisted/${name}.tar.bz2";
       sha256 = "05agfp17cndhv2w0p559lvknl7nv0xqkg10apc47fm53m8llbfvz";
     };
 
-    propagatedBuildInputs = [ zope_interface ];
+    propagatedBuildInputs = with self; [ zope_interface ];
 
     # Generate Twisted's plug-in cache.  Twited users must do it as well.  See
     # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3
@@ -8545,9 +12070,9 @@ rec {
   tzlocal = buildPythonPackage rec {
     name = "tzlocal-1.1.1";
 
-    propagatedBuildInputs = with pythonPackages; [ pytz ];
+    propagatedBuildInputs = with self; [ pytz ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/tzlocal/tzlocal-1.1.1.zip";
       md5 = "56c2a04501b98f2a1188d003fd6d3dba";
     };
@@ -8556,22 +12081,39 @@ rec {
      doCheck = false;
 
     meta = with pkgs.stdenv.lib; {
-      description = "Tzinfo object for the local timezone.";
+      description = "Tzinfo object for the local timezone";
       homepage = https://github.com/regebro/tzlocal;
       license = licenses.cddl;
     };
   };
 
+  umemcache = buildPythonPackage rec {
+    name = "umemcache-${version}";
+    version = "1.6.3";
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/u/umemcache/${name}.zip";
+      sha256 = "211031a03576b7796bf277dbc9c9e3e754ba066bbb7fb601ab5c6291b8ec1918";
+    };
+
+    meta = {
+      description = "Ultra fast memcache client written in highly optimized C++ with Python bindings";
+      homepage = https://github.com/esnme/ultramemcache;
+      license = licenses.bsdOriginal;
+    };
+  };
+
   unittest2 = buildPythonPackage rec {
     version = "0.5.1";
     name = "unittest2-${version}";
 
     src = if python.is_py3k or false
-       then fetchurl {
+       then pkgs.fetchurl {
            url = "http://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-${version}.tar.gz";
            sha256 = "00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q";
          }
-       else fetchurl {
+       else pkgs.fetchurl {
            url = "http://pypi.python.org/packages/source/u/unittest2/unittest2-${version}.tar.gz";
            md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
          };
@@ -8587,11 +12129,31 @@ rec {
   };
 
 
+
+  update_checker = pythonPackages.buildPythonPackage rec {
+    name = "update_checker-0.11";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/u/update_checker/update_checker-0.11.tar.gz";
+      md5 = "1daa54bac316be6624d7ee77373144bb";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ requests2 ];
+
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "A python module that will check for package updates";
+      homepage = https://github.com/bboe/update_checker;
+      license = licenses.bsd2;
+    };
+  };
+
   urlgrabber =  buildPythonPackage rec {
     name = "urlgrabber-3.9.1";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://urlgrabber.baseurl.org/download/${name}.tar.gz";
       sha256 = "4437076c8708e5754ea04540e46c7f4f233734ee3590bb8a96389264fb0650d0";
     };
@@ -8599,7 +12161,7 @@ rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ pycurl ];
+    propagatedBuildInputs = with self; [ pycurl ];
 
     meta = {
       homepage = "urlgrabber.baseurl.org";
@@ -8616,7 +12178,7 @@ rec {
     # multiple:  NameError: name 'evl' is not defined
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/u/urwid/${name}.tar.gz";
       md5 = "6a05ada11b87e7b026b01fc5150855b0";
     };
@@ -8632,15 +12194,16 @@ rec {
 
   pyuv = buildPythonPackage rec {
     name = "pyuv-0.11.5";
+    disabled = isPyPy;  # see https://github.com/saghul/pyuv/issues/49
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/saghul/pyuv/archive/${name}.tar.gz";
       sha256 = "c251952cb4e54c92ab0e871decd13cf73d11ca5dba9f92962de51d12e3a310a9";
     };
 
     patches = [ ../development/python-modules/pyuv-external-libuv.patch ];
 
-    buildInputs = [ pkgs.libuvVersions.v0_11_29 ];
+    buildInputs = with self; [ pkgs.libuvVersions.v0_11_29 ];
 
     meta = {
       description = "Python interface for libuv";
@@ -8652,19 +12215,18 @@ rec {
 
   virtualenv = buildPythonPackage rec {
     name = "virtualenv-1.11.6";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz";
       md5 = "f61cdd983d2c4e6aeabb70b1060d6f49";
     };
 
-    inherit recursivePthLoader;
-    pythonPath = [ recursivePthLoader ];
+    pythonPath = [ self.recursivePthLoader ];
 
     patches = [ ../development/python-modules/virtualenv-change-prefix.patch ];
 
-    propagatedBuildInputs = [ modules.readline modules.sqlite3 modules.curses ];
+    propagatedBuildInputs = with self; [ modules.readline modules.sqlite3 modules.curses ];
 
-    buildInputs = [ mock nose ];
+    buildInputs = with self; [ mock nose ];
 
     # XXX: Ran 0 tests in 0.003s
 
@@ -8677,15 +12239,15 @@ rec {
   };
 
   virtualenv-clone = buildPythonPackage rec {
-    name = "virtualenv-clone-0.2.4";
+    name = "virtualenv-clone-0.2.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/v/virtualenv-clone/${name}.tar.gz";
-      md5 = "71168b975eaaa91e65559bcc79290b3b";
+      md5 = "23e71d255058b2543d839af7f4ce3208";
     };
 
-    buildInputs = [pytest];
-    propagatedBuildInputs = [virtualenv];
+    buildInputs = with self; [pytest];
+    propagatedBuildInputs = with self; [virtualenv];
 
     # needs tox to run the tests
     doCheck = false;
@@ -8700,7 +12262,7 @@ rec {
   virtualenvwrapper = buildPythonPackage (rec {
     name = "virtualenvwrapper-4.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/v/virtualenvwrapper/${name}.tar.gz";
       sha256 = "514cbc22218347bf7b54bdbe49e1a5f550d2d53b1ad2491c10e91ddf48fb528f";
     };
@@ -8708,12 +12270,30 @@ rec {
     # pip depend on $HOME setting
     preConfigure = "export HOME=$TMPDIR";
 
-    buildInputs = [ pbr pip pkgs.which ];
-    propagatedBuildInputs = [ stevedore virtualenv virtualenv-clone ];
+    buildInputs = with self; [ pbr pip pkgs.which ];
+    propagatedBuildInputs = with self; [
+      stevedore
+      virtualenv
+      virtualenv-clone
+    ] ++ optional isPy26 argparse;
 
     patchPhase = ''
-      substituteInPlace "virtualenvwrapper.sh" --replace "which" "${pkgs.which}/bin/which"
-      substituteInPlace "virtualenvwrapper_lazy.sh" --replace "which" "${pkgs.which}/bin/which"
+      for file in "virtualenvwrapper.sh" "virtualenvwrapper_lazy.sh"; do
+        substituteInPlace "$file" --replace "which" "${pkgs.which}/bin/which"
+
+        # We can't set PYTHONPATH in a normal way (like exporting in a wrapper
+        # script) because the user has to evaluate the script and we don't want
+        # modify the global PYTHONPATH which would affect the user's
+        # environment.
+        # Furthermore it isn't possible to just use VIRTUALENVWRAPPER_PYTHON
+        # for this workaround, because this variable is well quoted inside the
+        # shell script.
+        # (the trailing " -" is required to only replace things like these one:
+        # "$VIRTUALENVWRAPPER_PYTHON" -c "import os,[...] and not in
+        # if-statements or anything like that.
+        # ...and yes, this "patch" is hacky :)
+        substituteInPlace "$file" --replace '"$VIRTUALENVWRAPPER_PYTHON" -' 'env PYTHONPATH="$VIRTUALENVWRAPPER_PYTHONPATH" "$VIRTUALENVWRAPPER_PYTHON" -'
+      done
     '';
 
     postInstall = ''
@@ -8727,8 +12307,8 @@ rec {
         mv "$wrapper" "$wrapped"
 
         cat > "$wrapper" <<- EOF
-	export PATH=$PATH:\$PATH
-	export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out):\$PYTHONPATH
+	export PATH="$PATH:\$PATH"
+	export VIRTUALENVWRAPPER_PYTHONPATH="$PYTHONPATH:$(toPythonPath $out)"
 	source "$wrapped"
 	EOF
 
@@ -8747,7 +12327,7 @@ rec {
   waitress = buildPythonPackage rec {
     name = "waitress-0.8.7";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/w/waitress/${name}.tar.gz";
       md5 = "714f3d458d82a47f12fb168460de8366";
     };
@@ -8767,7 +12347,7 @@ rec {
   webcolors = buildPythonPackage rec {
     name = "webcolors-1.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/w/webcolors/${name}.tar.gz";
       md5 = "35de9d785b5c04a9cc66a2eae0519254";
     };
@@ -8787,12 +12367,12 @@ rec {
   wand = buildPythonPackage rec {
     name = "Wand-0.3.5";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/W/Wand/${name}.tar.gz";
       md5 = "10bab03bf86ce8da2a95a3b15197ae2e";
     };
 
-    buildInputs = [ pkgs.imagemagick pytest psutil memory_profiler pytest_xdist ];
+    buildInputs = with self; [ pkgs.imagemagick pytest psutil memory_profiler pytest_xdist ];
 
     meta = {
       description = "Ctypes-based simple MagickWand API binding for Python";
@@ -8802,16 +12382,42 @@ rec {
   };
 
 
+  wcwidth = buildPythonPackage rec {
+    name = "wcwidth-${version}";
+    version = "0.1.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/w/wcwidth/${name}.tar.gz";
+      sha256 = "0awx28xi938nv55qlmai3b5ddqd1w5c294gy95xh4xsx0hik2vch";
+    };
+
+    # Checks fail due to missing tox.ini file:
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Measures number of Terminal column cells of wide-character codes";
+      longDescription = ''
+        This API is mainly for Terminal Emulator implementors -- any Python
+        program that attempts to determine the printable width of a string on
+        a Terminal. It is implemented in python (no C library calls) and has
+        no 3rd-party dependencies.
+      '';
+      homepage = https://github.com/jquast/wcwidth;
+      license = with licenses; [ mit ];
+      maintainers = with maintainers; [ nckx ];
+    };
+  };
+
   webob = buildPythonPackage rec {
-    version = "1.3.1";
+    version = "1.4";
     name = "webob-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.tar.gz";
-      md5 = "20918251c5726956ba8fef22d1556177";
+      md5 = "8437607c0cc00c35f658f972516ffb55";
     };
 
-    propagatedBuildInputs = [ nose modules.ssl ];
+    propagatedBuildInputs = with self; [ nose ];
 
     meta = {
       description = "WSGI request and response object";
@@ -8825,12 +12431,12 @@ rec {
     version = "0.3.0";
     name = "websockify-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/w/websockify/websockify-${version}.tar.gz";
       md5 = "29b6549d3421907de4bbd881ecc2e1b1";
     };
 
-    propagatedBuildInputs = [ numpy ];
+    propagatedBuildInputs = with self; [ numpy ];
 
     meta = {
       description = "WebSockets support for any application/server";
@@ -8843,11 +12449,11 @@ rec {
     version = "2.0.15";
     name = "webtest-${version}";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip";
       md5 = "49314bdba23f4d0bd807facb2a6d3f90";
     };
-    
+
     preConfigure = ''
       substituteInPlace setup.py --replace "nose<1.3.0" "nose"
     '';
@@ -8855,9 +12461,9 @@ rec {
     # XXX: skipping two tests fails in python2.6
     doCheck = ! isPy26;
 
-    buildInputs = optionals isPy26 [ pythonPackages.ordereddict unittest2 ];
+    buildInputs = optionals isPy26 [ self.ordereddict unittest2 ];
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       nose
       webob
       six
@@ -8878,15 +12484,15 @@ rec {
   };
 
 
-  werkzeug = buildPythonPackage {
-    name = "werkzeug-0.9.4";
+  werkzeug = buildPythonPackage rec {
+    name = "Werkzeug-0.9.6";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.9.4.tar.gz";
-      md5 = "670fad41f57c13b71a6816765765a3dd";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/W/Werkzeug/${name}.tar.gz";
+      md5 = "f7afcadc03b0f2267bdc156c34586043";
     };
 
-    propagatedBuildInputs = [ itsdangerous ];
+    propagatedBuildInputs = with self; [ itsdangerous ];
 
     doCheck = false;            # tests fail, not sure why
 
@@ -8898,15 +12504,33 @@ rec {
   };
 
 
+
+  willie = pythonPackages.buildPythonPackage rec {
+    name = "willie-5.2.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/w/willie/willie-5.2.0.tar.gz";
+      md5 = "a19f8c34e10e3c2d0d915c894224e521";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ feedparser pytz lxml praw pyenchant pygeoip backports_ssl_match_hostname_3_4_0_2 ];
+
+    meta = with stdenv.lib; {
+      description = "Willie is a simple, lightweight, open source, easy-to-use IRC utility bot, written in Python.";
+      homepage = http://willie.dftba.net/;
+      license = licenses.efl20;
+    };
+  };
+
   wokkel = buildPythonPackage (rec {
     url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz";
     name = nameFromURL url ".tar";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       inherit url;
       sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml";
     };
 
-    propagatedBuildInputs = [twisted dateutil];
+    propagatedBuildInputs = with self; [twisted dateutil];
 
     meta = {
       description = "Some (mainly XMPP-related) additions to twisted";
@@ -8919,12 +12543,12 @@ rec {
   wsgiproxy2 = buildPythonPackage rec {
     name = "WSGIProxy2-0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/W/WSGIProxy2/${name}.tar.gz";
       md5 = "157049212f1c81a8790efa31146fbabf";
     };
 
-    propagatedBuildInputs = [ six webob ];
+    propagatedBuildInputs = with self; [ six webob ];
 
     meta = {
        maintainers = [
@@ -8935,26 +12559,32 @@ rec {
     };
   };
 
+  wxPython = self.wxPython28;
 
-  wxPython = wxPython28;
-
-
-  wxPython28 = import ../development/python-modules/wxPython/2.8.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig;
-    inherit pythonPackages;
+  wxPython28 = callPackage ../development/python-modules/wxPython/2.8.nix {
     wxGTK = pkgs.wxGTK28;
   };
 
-  wxPython30 = import ../development/python-modules/wxPython/3.0.nix {
-    inherit (pkgs) stdenv fetchurl pkgconfig;
-    inherit pythonPackages;
+  wxPython30 = callPackage ../development/python-modules/wxPython/3.0.nix {
     wxGTK = pkgs.wxGTK30;
   };
 
+  xcaplib = buildPythonPackage rec {
+    name = "python-xcaplib-${version}";
+    version = "1.0.17";
+
+    src = pkgs.fetchurl {
+      url = "http://download.ag-projects.com/SipClient/${name}.tar.gz";
+      sha256 = "1bf8n9ghmgxz8kjgnwy4y7ajijy5hi7viabgh0pvzkhz9gfvck86";
+    };
+
+    propagatedBuildInputs = with self; [ eventlib application ];
+  };
+
   xe = buildPythonPackage rec {
     url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz";
     name = stdenv.lib.nameFromURL url ".tar";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       inherit url;
       sha256 = "0v9878cl0y9cczdsr6xjy8v9l139lc23h4m5f86p4kpf2wlnpi42";
     };
@@ -8971,7 +12601,7 @@ rec {
   xlib = buildPythonPackage (rec {
     name = "xlib-0.15rc1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "mirror://sourceforge/python-xlib/python-${name}.tar.bz2";
       sha256 = "0mvzz605pxzj7lfp2w6z4qglmr4rjza9xrb7sl8yn12cklzfky0m";
     };
@@ -8979,7 +12609,7 @@ rec {
     # Tests require `pyutil' so disable them to avoid circular references.
     doCheck = false;
 
-    propagatedBuildInputs = [ pkgs.xlibs.libX11 ];
+    propagatedBuildInputs = with self; [ pkgs.xlibs.libX11 ];
 
     meta = {
       description = "Fully functional X client library for Python programs";
@@ -8993,7 +12623,7 @@ rec {
   zbase32 = buildPythonPackage (rec {
     name = "zbase32-1.1.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zbase32/${name}.tar.gz";
       sha256 = "2f44b338f750bd37b56e7887591bf2f1965bfa79f163b6afcbccf28da642ec56";
     };
@@ -9001,7 +12631,7 @@ rec {
     # Tests require `pyutil' so disable them to avoid circular references.
     doCheck = false;
 
-    buildInputs = [ setuptoolsDarcs ];
+    buildInputs = with self; [ setuptoolsDarcs ];
 
     meta = {
       description = "zbase32, a base32 encoder/decoder";
@@ -9017,17 +12647,17 @@ rec {
     name = "zconfig-${version}";
     version = "3.0.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/Z/ZConfig/ZConfig-${version}.tar.gz";
       md5 = "60a107c5857c3877368dfe5930559804";
     };
 
-    propagatedBuildInputs = [ zope_testrunner ];
+    propagatedBuildInputs = with self; [ zope_testrunner ];
 
     meta = {
       description = "Structured Configuration Library";
       homepage = http://pypi.python.org/pypi/ZConfig;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
@@ -9037,7 +12667,7 @@ rec {
     name = "zc.lockfile-${version}";
     version = "1.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zc.lockfile/${name}.tar.gz";
       md5 = "f099d4cf2583a0c7bea0146a44dc4d59";
     };
@@ -9045,7 +12675,7 @@ rec {
     meta = {
       description = "Inter-process locks";
       homepage =  http://www.python.org/pypi/zc.lockfile;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
@@ -9055,20 +12685,20 @@ rec {
     name = "zdaemon-${version}";
     version = "4.0.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zdaemon/${name}.tar.gz";
       md5 = "4056e2ea35855695ed15389d9c168b92";
     };
 
-    propagatedBuildInputs  = [ zconfig ];
-    
+    propagatedBuildInputs = [ self.zconfig ];
+
     # too many deps..
     doCheck = false;
 
     meta = {
       description = "A daemon process control library and tools for Unix-based systems";
       homepage = http://pypi.python.org/pypi/zdaemon;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
@@ -9076,14 +12706,15 @@ rec {
 
   zfec = buildPythonPackage (rec {
     name = "zfec-1.4.24";
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz";
       sha256 = "1ks94zlpy7n8sb8380gf90gx85qy0p9073wi1wngg6mccxp9xsg3";
     };
 
-    buildInputs = [ setuptoolsDarcs ];
-    propagatedBuildInputs = [ pyutil argparse ];
+    buildInputs = with self; [ setuptoolsDarcs ];
+    propagatedBuildInputs = with self; [ pyutil argparse ];
 
     meta = {
       homepage = http://allmydata.org/trac/zfec;
@@ -9106,55 +12737,59 @@ rec {
   zodb3 = buildPythonPackage rec {
     name = "zodb3-${version}";
     version = "3.11.0";
+    disabled = isPyPy;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/Z/ZODB3/ZODB3-${version}.tar.gz";
       md5 = "21975c1609296e7834e8cf4025af3039";
     };
 
-    propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event BTrees persistent ZEO ];
+    propagatedBuildInputs = with self; [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event BTrees persistent ZEO ];
 
     meta = {
       description = "An object-oriented database for Python";
       homepage = http://pypi.python.org/pypi/ZODB3;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
-  
+
   zodb = buildPythonPackage rec {
     name = "zodb-${version}";
+    disabled = isPyPy;
+
     version = "4.0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/Z/ZODB/ZODB-${version}.tar.gz";
       md5 = "092d787524b095164231742c96b32f50";
     };
 
-    propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface persistent BTrees ]
+    propagatedBuildInputs = with self; [ manuel transaction zc_lockfile zconfig zdaemon zope_interface persistent BTrees ]
       ++ optionals isPy3k [ zodbpickle ];
 
     preCheck = if isPy3k then ''
       # test failure on py3.4
       rm src/ZODB/tests/testDB.py
     '' else "";
-    
+
     meta = {
       description = "An object-oriented database for Python";
       homepage = http://pypi.python.org/pypi/ZODB;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
-  
-  zodbpickle = pythonPackages.buildPythonPackage rec {
+
+  zodbpickle = self.buildPythonPackage rec {
     name = "zodbpickle-0.5.2";
+    disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz";
       md5 = "d401bd89f99ec8d56c22493e6f8c0443";
     };
-    
+
     # fails..
     doCheck = false;
 
@@ -9163,15 +12798,15 @@ rec {
     };
   };
 
-  
-  BTrees = pythonPackages.buildPythonPackage rec {
+
+  BTrees = self.buildPythonPackage rec {
     name = "BTrees-4.0.8";
-    
+
     patches = [ ./../development/python-modules/btrees_interger_overflow.patch ];
 
-    propagatedBuildInputs = [ persistent zope_interface transaction ];
+    propagatedBuildInputs = with self; [ persistent zope_interface transaction ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/B/BTrees/${name}.tar.gz";
       md5 = "7f5df4cf8dd50fb0c584c0929a406c92";
     };
@@ -9182,13 +12817,13 @@ rec {
     };
   };
 
-  
-  persistent = pythonPackages.buildPythonPackage rec {
+
+  persistent = self.buildPythonPackage rec {
     name = "persistent-4.0.8";
 
-    propagatedBuildInputs = [ zope_interface ];
+    propagatedBuildInputs = with self; [ zope_interface ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/persistent/${name}.tar.gz";
       md5 = "2942f1ca7764b1bef8d48fa0d9a236b7";
     };
@@ -9199,16 +12834,32 @@ rec {
     };
   };
 
+  xdot = buildPythonPackage rec {
+    name = "xdot-0.6";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/x/xdot/xdot-0.6.tar.gz";
+      md5 = "a8e5fc5208657b03ad1bd4c46de75724";
+    };
+
+    propagatedBuildInputs = with self; [ pygtk pygobject pkgs.graphviz ];
+
+    meta = with stdenv.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;
+    };
+  };
 
   zope_broken = buildPythonPackage rec {
     name = "zope.broken-3.6.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.broken/${name}.zip";
       md5 = "eff24d7918099a3e899ee63a9c31bee6";
     };
 
-    buildInputs = [ zope_interface ];
+    buildInputs = with self; [ zope_interface ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9217,24 +12868,24 @@ rec {
 
 
   zope_browser = buildPythonPackage rec {
-    name = "zope.browser-1.3";
+    name = "zope.browser-2.0.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip";
-      md5 = "4ff0ddbf64c45bfcc3189e35f4214ded";
+      sha256 = "0f9r5rn9lzgi4hvkhgb6vgw8kpz9sv16jsfb9ws4am8gbqcgv2iy";
     };
 
-    propagatedBuildInputs = [ zope_interface ];
+    propagatedBuildInputs = with self; [ zope_interface ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
-  
+
   zope_browserresource = buildPythonPackage rec {
     name = "zope.browserresource-4.0.1";
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       zope_component zope_configuration zope_contenttype zope_i18n
       zope_interface zope_location zope_publisher zope_schema zope_traversing
     ];
@@ -9242,7 +12893,7 @@ rec {
     # all tests fail
     doCheck = false;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/z/zope.browserresource/zope.browserresource-4.0.1.zip";
       md5 = "81bbe92c1f04725561470f89d73222c5";
     };
@@ -9251,14 +12902,14 @@ rec {
 
 
   zope_component = buildPythonPackage rec {
-    name = "zope.component-4.0.2";
+    name = "zope.component-4.2.1";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.0.2.tar.gz";
-      md5 = "8c2fd4414ca23cbbe014dcaf911acebc";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz";
+      sha256 = "1gzbr0j6c2h0cqnpi2cjss38wrz1bcwx8xahl3vykgz5laid15l6";
     };
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       zope_configuration zope_event zope_i18nmessageid zope_interface
       zope_testing
     ];
@@ -9273,14 +12924,14 @@ rec {
 
 
   zope_configuration = buildPythonPackage rec {
-    name = "zope.configuration-4.0.2";
+    name = "zope.configuration-4.0.3";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.2.tar.gz";
-      md5 = "40b3c7ad0b748ede532d8cfe2544e44e";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.3.tar.gz";
+      sha256 = "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n";
     };
 
-    propagatedBuildInputs = [ zope_i18nmessageid zope_schema ];
+    propagatedBuildInputs = with self; [ zope_i18nmessageid zope_schema ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9291,7 +12942,7 @@ rec {
   zope_container = buildPythonPackage rec {
     name = "zope.container-4.0.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz";
       md5 = "b24d2303ece65a2d9ce23a5bd074c335";
     };
@@ -9299,7 +12950,7 @@ rec {
     # a test is failing
     doCheck = false;
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       zodb3 zope_broken zope_dottedname zope_publisher
       zope_filerepresentation zope_lifecycleevent zope_size
       zope_traversing
@@ -9314,7 +12965,7 @@ rec {
   zope_contenttype = buildPythonPackage rec {
     name = "zope.contenttype-4.0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.tar.gz";
       md5 = "171be44753e86742da8c81b3ad008ce0";
     };
@@ -9328,7 +12979,7 @@ rec {
   zope_dottedname = buildPythonPackage rec {
     name = "zope.dottedname-3.4.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.dottedname/${name}.tar.gz";
       md5 = "62d639f75b31d2d864fe5982cb23959c";
     };
@@ -9340,17 +12991,17 @@ rec {
 
   zope_event = buildPythonPackage rec {
     name = "zope.event-${version}";
-    version = "4.0.2";
+    version = "4.0.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz";
-      md5 = "e08dd299d428d77a1cfcbfe841b81872";
+      sha256 = "1w858k9kmgzfj36h65kp27m9slrmykvi5cjq6c119xqnaz5gdzgm";
     };
 
     meta = {
       description = "An event publishing system";
       homepage = http://pypi.python.org/pypi/zope.event;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
@@ -9360,17 +13011,17 @@ rec {
      name = "zope.exceptions-${version}";
      version = "4.0.5";
 
-     src = fetchurl {
+     src = pkgs.fetchurl {
        url = "http://pypi.python.org/packages/source/z/zope.exceptions/${name}.tar.gz";
        md5 = "c95569fcb444ae541777de7ae5297492";
      };
 
-     propagatedBuildInputs = [ zope_interface ];
+     propagatedBuildInputs = with self; [ zope_interface ];
 
      meta = {
        description = "Exception interfaces and implementations";
        homepage = http://pypi.python.org/pypi/zope.exceptions;
-       license = "ZPL";
+       license = stdenv.lib.licenses.zpt20;
        maintainers = [ stdenv.lib.maintainers.goibhniu ];
      };
    };
@@ -9379,12 +13030,12 @@ rec {
   zope_filerepresentation = buildPythonPackage rec {
     name = "zope.filerepresentation-3.6.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.filerepresentation/${name}.tar.gz";
       md5 = "4a7a434094f4bfa99a7f22e75966c359";
     };
 
-    propagatedBuildInputs = [ zope_schema ];
+    propagatedBuildInputs = with self; [ zope_schema ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9393,14 +13044,14 @@ rec {
 
 
   zope_i18n = buildPythonPackage rec {
-    name = "zope.i18n-3.7.4";
+    name = "zope.i18n-3.8.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz";
-      md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7";
+      sha256 = "045nnimmshibcq71yym2d8yrs6wzzhxq5gl7wxjnkpyjm5y0hfkm";
     };
 
-    propagatedBuildInputs = [ pytz zope_component ];
+    propagatedBuildInputs = with self; [ pytz zope_component ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9409,11 +13060,11 @@ rec {
 
 
   zope_i18nmessageid = buildPythonPackage rec {
-    name = "zope.i18nmessageid-4.0.2";
+    name = "zope.i18nmessageid-4.0.3";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.2.tar.gz";
-      md5 = "c4550f7a0b4a736186e6e0fa3b2471f7";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.3.tar.gz";
+      sha256 = "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml";
     };
 
     meta = {
@@ -9423,14 +13074,14 @@ rec {
 
 
   zope_lifecycleevent = buildPythonPackage rec {
-    name = "zope.lifecycleevent-3.6.2";
+    name = "zope.lifecycleevent-3.7.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz";
-      md5 = "3ba978f3ba7c0805c81c2c79ea3edb33";
+      sha256 = "0s5brphqzzz89cykg61gy7zcmz0ryq1jj2va7gh2n1b3cccllp95";
     };
 
-    propagatedBuildInputs = [ zope_event zope_component ];
+    propagatedBuildInputs = with self; [ zope_event zope_component ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9439,14 +13090,14 @@ rec {
 
 
   zope_location = buildPythonPackage rec {
-    name = "zope.location-4.0.0";
+    name = "zope.location-4.0.3";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.0.tar.gz";
-      md5 = "cd0e10d5923c95e352bcde505cc11324";
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.3.tar.gz";
+      sha256 = "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74";
     };
 
-    propagatedBuildInputs = [ zope_proxy ];
+    propagatedBuildInputs = with self; [ zope_proxy ];
 
     # ignore circular dependency on zope_schema
     preBuild = ''
@@ -9464,12 +13115,12 @@ rec {
   zope_proxy = buildPythonPackage rec {
     name = "zope.proxy-4.1.4";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.proxy/${name}.tar.gz";
       md5 = "3bcaf8b8512a99649ecf2f158c11d05b";
     };
 
-    propagatedBuildInputs = [ zope_interface ];
+    propagatedBuildInputs = with self; [ zope_interface ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9480,12 +13131,12 @@ rec {
   zope_publisher = buildPythonPackage rec {
     name = "zope.publisher-3.12.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.publisher/${name}.tar.gz";
       md5 = "495131970cc7cb14de8e517fb3857ade";
     };
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       zope_browser zope_contenttype zope_i18n zope_security
     ];
 
@@ -9496,14 +13147,14 @@ rec {
 
 
   zope_schema = buildPythonPackage rec {
-    name = "zope.schema-4.2.2";
+    name = "zope.schema-4.4.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz";
-      md5 = "e7e581af8193551831560a736a53cf58";
+      sha256 = "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank";
     };
 
-    propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
+    propagatedBuildInputs = with self; [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9514,12 +13165,12 @@ rec {
   zope_security = buildPythonPackage rec {
     name = "zope.security-4.0.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.security/${name}.tar.gz";
       md5 = "27d1f2873a0ee9c1f485f7b8f22d8e1c";
     };
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
       zope_component zope_configuration zope_i18nmessageid zope_schema
       zope_proxy zope_testrunner
     ];
@@ -9531,14 +13182,14 @@ rec {
 
 
   zope_size = buildPythonPackage rec {
-    name = "zope.size-3.4.1";
+    name = "zope.size-3.5.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz";
-      md5 = "55d9084dfd9dcbdb5ad2191ceb5ed03d";
+      sha256 = "006xfkhvmypwd3ww9gbba4zly7n9w30bpp1h74d53la7l7fiqk2f";
     };
 
-    propagatedBuildInputs = [ zope_i18nmessageid zope_interface ];
+    propagatedBuildInputs = with self; [ zope_i18nmessageid zope_interface ];
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];
@@ -9547,15 +13198,17 @@ rec {
 
 
   zope_sqlalchemy = buildPythonPackage rec {
-    name = "zope.sqlalchemy-0.7.3";
+    name = "zope.sqlalchemy-0.7.5";
+
+    doCheck = !isPyPy; # https://github.com/zopefoundation/zope.sqlalchemy/issues/12
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip";
-      md5 = "8b317b41244fc2e67f2f286890ba59a0";
+      md5 = "0a468bd5b8884cd29fb71acbf7eaa31e";
     };
 
-    buildInputs = [ zope_testing zope_interface ];
-    propagatedBuildInputs = [ sqlalchemy9 transaction ];
+    buildInputs = with self; [ zope_testing zope_interface ];
+    propagatedBuildInputs = with self; [ sqlalchemy9 transaction ];
 
     meta = {
       maintainers = [
@@ -9571,19 +13224,19 @@ rec {
     name = "zope.testing-${version}";
     version = "4.1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz";
       md5 = "6c73c5b668a67fdc116a25b884058ed9";
     };
-    
+
     doCheck = !(python.isPypy or false);
 
-    propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ];
+    propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_location ];
 
     meta = {
       description = "Zope testing helpers";
       homepage =  http://pypi.python.org/pypi/zope.testing;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
@@ -9591,22 +13244,21 @@ rec {
 
   zope_testrunner = buildPythonPackage rec {
     name = "zope.testrunner-${version}";
-    version = "4.4.1";
+    version = "4.4.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip";
-      md5 = "1d689abad000419891494b30dd7d8190";
+      sha256 = "1dwk35kg0bmj2lzp4fd2bgp6dv64q5sda09bf0y8j63y53vqbsw8";
     };
 
-    propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit;
+    propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit;
 
-    # a test is failing
-    doCheck = false;
+    doCheck = !isPy27;
 
     meta = {
       description = "A flexible test runner with layer support";
       homepage = http://pypi.python.org/pypi/zope.testrunner;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
@@ -9615,12 +13267,12 @@ rec {
   zope_traversing = buildPythonPackage rec {
     name = "zope.traversing-4.0.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip";
       md5 = "5cc40c552f953939f7c597ebbedd586f";
     };
 
-    propagatedBuildInputs = [ zope_location zope_security zope_publisher transaction zope_tales ];
+    propagatedBuildInputs = with self; [ zope_location zope_security zope_publisher transaction zope_tales ];
 
     # circular dependency on zope_browserresource
     doCheck = false;
@@ -9634,58 +13286,56 @@ rec {
   zope_interface = buildPythonPackage rec {
     name = "zope.interface-4.1.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.tar.gz";
       md5 = "edcd5f719c5eb2e18894c4d06e29b6c6";
     };
 
-    propagatedBuildInputs = [ zope_event ];
+    propagatedBuildInputs = with self; [ zope_event ];
 
     meta = {
       description = "Zope.Interface";
       homepage = http://zope.org/Products/ZopeInterface;
-      license = "ZPL";
+      license = stdenv.lib.licenses.zpt20;
       maintainers = [ stdenv.lib.maintainers.goibhniu ];
     };
   };
 
+  hgsvn = buildPythonPackage rec {
+    name = "hgsvn-0.3.5";
+    src = pkgs.fetchurl rec {
+      url = "http://pypi.python.org/packages/source/h/hgsvn/${name}.zip";
+      sha256 = "043yvkjf9hgm0xzhmwj1qk3fsmbgwm39f4wsqkscib9wfvxs8wbg";
+    };
+    disabled = isPy3k || isPyPy;
 
-  # XXX: link broken
-  # hgsvn = buildPythonPackage rec {
-  #   name = "hgsvn-0.1.8";
-  #   src = fetchurl rec {
-  #     name = "hgsvn-0.1.8.tar.gz";
-  #     url = "http://pypi.python.org/packages/source/h/hgsvn/${name}.tar.gz#md5=56209eae48b955754e09185712123428";
-  #     sha256 = "18a7bj1i0m4shkxmdvw1ci5i0isq5vqf0bpwgrhnk305rijvbpch";
-  #   };
-  #
-  #   buildInputs = [ pkgs.setuptools ];
-  #   doCheck = false;
-  #
-  #     meta = {
-  #     description = "HgSVN";
-  #     homepage = http://pypi.python.org/pypi/hgsvn;
-  #   };
-  # };
+    buildInputs = with self; [ pkgs.setuptools ];
+    doCheck = false;
+
+      meta = {
+      description = "HgSVN";
+      homepage = http://pypi.python.org/pypi/hgsvn;
+    };
+  };
 
   cliapp = buildPythonPackage rec {
     name = "cliapp-${version}";
     version = "1.20140719";
     disabled = isPy3k;
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz";
       sha256 = "0kxl2q85n4ggvbw2m8crl11x8n637mx6y3a3b5ydw8nhlsiqijgp";
     };
 
-    buildInputs = [ sphinx ];
+    buildInputs = with self; [ sphinx ];
 
     # error: invalid command 'test'
     doCheck = false;
 
     meta = {
       homepage = http://liw.fi/cliapp/;
-      description = "Python framework for Unix command line programs.";
+      description = "Python framework for Unix command line programs";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
     };
   };
@@ -9694,9 +13344,9 @@ rec {
   tornado = buildPythonPackage rec {
     name = "tornado-3.2";
 
-    propagatedBuildInputs = [ backports_ssl_match_hostname_3_4_0_2 ];
+    propagatedBuildInputs = with self; [ backports_ssl_match_hostname_3_4_0_2 ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/tornado/${name}.tar.gz";
       md5 = "bd83cee5f1a5c5e139e87996d00b251b";
     };
@@ -9704,38 +13354,80 @@ rec {
     doCheck = false;
   };
 
+  tokenlib = buildPythonPackage rec {
+    name = "tokenlib-${version}";
+    version = "0.3.1";
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/tokenlib.git;
+      rev = "refs/tags/${version}";
+      sha256 = "0dmq41sy64jmkj7n49jgbpii5n5d41ci263lyhqbff5slr289m51";
+    };
+
+    propagatedBuildInputs = with self; [ requests webob ];
+  };
 
   tornadokick = buildPythonPackage rec {
-    name = "tornadokick-2014.07.23";
+    name = "tornadokick-0.2.1";
 
-    propagatedBuildInputs = [ tornado ];
+    propagatedBuildInputs = with self; [ tornado ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/tornadokick/${name}.tar.gz";
-      md5 = "201d26de2993a554b16140af3b4ee1b6";
+      md5 = "95ee5a295ce3f361c6f843c4f39cbb8c";
     };
 
     meta = {
-      description = "The TornadoKick Web Toolkit for Tornado Web Framework.";
+      description = "A Toolkit for the Tornado Web Framework";
       homepage = http://github.com/multoncore/tornadokick;
       license = stdenv.lib.licenses.asl20;
     };
   };
 
+  screenkey = buildPythonPackage rec {
+    version = "0.2-b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6";
+    name = "screenkey-${version}";
+
+    propagatedBuildInputs = with self; [ pygtk distutils_extra xlib pkgs.xorg.xmodmap ];
+
+    preConfigure = ''
+      substituteInPlace setup.py --replace "/usr/share" "./share"
+
+      # disable the feature that binds a shortcut to turning on/off
+      # screenkey. This is because keybinder is not packages in Nix as
+      # of today.
+      substituteInPlace Screenkey/screenkey.py \
+        --replace "import keybinder" "" \
+        --replace "        keybinder.bind(self.options['hotkey'], self.hotkey_cb, show_item)" ""
+    '';
+
+    src = pkgs.fetchgit {
+        url = https://github.com/scs3jb/screenkey.git;
+        rev = "b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6";
+        sha256 = "eb754917e98e03cb9d528eb5f57a08c88fa7a8172f92325a9fe796b2daf14db0";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/scs3jb/screenkey;
+      description = "A screencast tool to show your keys";
+      license = stdenv.lib.licenses.gpl3Plus;
+      maintainers = [ maintainers.DamienCassou ];
+      platforms = platforms.linux;
+    };
+  };
 
   tarman = buildPythonPackage rec {
     version = "0.1.3";
     name = "tarman-${version}";
-    
+
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/tarman/tarman-${version}.zip";
       sha256 = "0ri6gj883k042xaxa2d5ymmhbw2bfcxdzhh4bz7700ibxwxxj62h";
     };
 
-    buildInputs = [ unittest2 nose mock ];
-    propagatedBuildInputs = [ modules.curses libarchive ];
+    buildInputs = with self; [ unittest2 nose mock ];
+    propagatedBuildInputs = with self; [ modules.curses libarchive ];
 
     # tests are still failing
     doCheck = false;
@@ -9747,36 +13439,79 @@ rec {
     name = "libarchive-${version}";
     disabled = isPy3k;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://python-libarchive.googlecode.com/files/python-libarchive-${version}.tar.gz";
       sha256 = "0j4ibc4mvq64ljya9max8832jafi04jciff9ia9qy0xhhlwkcx8x";
     };
 
-    propagatedBuildInputs = [ pkgs.libarchive ];
+    propagatedBuildInputs = with self; [ pkgs.libarchive ];
   };
 
+  pybrowserid = buildPythonPackage rec {
+    name = "PyBrowserID-${version}";
+    version = "0.9.2";
+    disabled = isPy3k; # Errors in the test suite.
+
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla/PyBrowserID.git;
+      rev = "refs/tags/${version}";
+      sha256 = "0nyqb0v8yrkqnrqsh1hlhvzr2pyvkxvkw701p3gpsvk29c0gb5n6";
+    };
+
+    doCheck = false;  # some tests use networking
+
+    buildInputs = with self; [ mock unittest2 ];
+    propagatedBuildInputs = with self; [ requests ];
+
+    meta = with stdenv.lib; {
+      description = "Python library for the BrowserID Protocol";
+      homepage    = "https://github.com/mozilla/PyBrowserID";
+      license     = licenses.mpl20;
+    };
+  };
 
   pyzmq = buildPythonPackage rec {
     name = "pyzmq-13.0.0";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyzmq/pyzmq-13.0.0.zip";
       md5 = "fa2199022e54a393052d380c6e1a0934";
     };
-    buildInputs = [ pkgs.zeromq3 ];
-    propagatedBuildInputs = [  ];
+    buildInputs = with self; [ pkgs.zeromq3 ];
     doCheck = false;
   };
 
+  tokenserver = buildPythonPackage rec {
+    name = "tokenserver-${version}";
+    version = "1.2.11";
+
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/tokenserver.git;
+      rev = "refs/tags/${version}";
+      sha256 = "1pjrw7xhhqx7h4s08h1lsaa499r2ymc41zdknjimn6zlqdjdk1fb";
+    };
+
+    doCheck = false;
+    propagatedBuildInputs = with self; [ cornice mozsvc pybrowserid tokenlib ];
+
+    patchPhase = ''
+      sed -i "s|'testfixtures'||" setup.py
+    '';
+
+    meta = {
+      maintainers = [ ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
 
   tissue = buildPythonPackage rec {
     name = "tissue-0.9.2";
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/tissue/${name}.tar.gz";
       md5 = "87dbcdafff41bfa1b424413f79aa9153";
     };
 
-    buildInputs = [ nose ];
-    propagatedBuildInputs = [ pep8 ];
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ pep8 ];
 
     meta = {
       maintainers = [
@@ -9792,19 +13527,19 @@ rec {
     name = "tracing-${version}";
     version = "0.8";
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_${version}.orig.tar.gz";
       sha256 = "1l4ybj5rvrrcxf8csyq7qx52izybd502pmx70zxp46gxqm60d2l0";
     };
 
-    buildInputs = [ sphinx ];
+    buildInputs = with self; [ sphinx ];
 
     # error: invalid command 'test'
     doCheck = false;
 
     meta = {
       homepage = http://liw.fi/tracing/;
-      description = "Python debug logging helper.";
+      description = "Python debug logging helper";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
     };
   };
@@ -9812,7 +13547,7 @@ rec {
   translationstring = buildPythonPackage rec {
     name = "translationstring-1.1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/translationstring/${name}.tar.gz";
       md5 = "0979b46d8f0f852810c8ec4be5c26cf2";
     };
@@ -9832,19 +13567,19 @@ rec {
     version = "0.23";
     disabled = isPy3k;
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_${version}.orig.tar.gz";
       sha256 = "0ymimviyjyh2iizqilg88g4p26f5vpq1zm3cvg7dr7q4y3gmik8y";
     };
 
-    buildInputs = [ sphinx ];
+    buildInputs = with self; [ sphinx ];
 
     # error: invalid command 'test'
     doCheck = false;
 
     meta = {
       homepage = http://liw.fi/ttystatus/;
-      description = "Progress and status updates on terminals for Python.";
+      description = "Progress and status updates on terminals for Python";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
     };
   };
@@ -9853,34 +13588,52 @@ rec {
     name = "larch-${version}";
     version = "1.20131130";
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_${version}.orig.tar.gz";
       sha256 = "1hfanp9l6yc5348i3f5sb8c5s4r43y382hflnbl6cnz4pm8yh5r7";
     };
 
-    buildInputs = [ sphinx ];
-    propagatedBuildInputs = [ tracing ttystatus cliapp ];
+    buildInputs = with self; [ sphinx ];
+    propagatedBuildInputs = with self; [ tracing ttystatus cliapp ];
 
     # error: invalid command 'test'
     doCheck = false;
 
     meta = {
       homepage = http://liw.fi/larch/;
-      description = "Python B-tree library.";
+      description = "Python B-tree library";
       maintainers = [ stdenv.lib.maintainers.rickynils ];
     };
   };
 
 
+  websocket_client = buildPythonPackage rec {
+    name = "websocket-client-0.17.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/w/websocket-client/${name}.tar.gz";
+      md5 = "c86591719085eaf4a01c2275e0c834fc";
+    };
+
+    propagatedBuildInputs = with self; [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ];
+
+    meta = {
+      homepage = https://github.com/liris/websocket-client;
+      description = "Websocket client for python";
+      license = licenses.lgpl2;
+    };
+  };
+
+
   webhelpers = buildPythonPackage rec {
     name = "WebHelpers-1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/W/WebHelpers/${name}.tar.gz";
       md5 = "32749ffadfc40fea51075a7def32588b";
     };
 
-    buildInputs = [ routes markupsafe webob nose ];
+    buildInputs = with self; [ routes markupsafe webob nose ];
 
     # TODO: failing tests https://bitbucket.org/bbangert/webhelpers/pull-request/1/fix-error-on-webob-123/diff
     doCheck = false;
@@ -9898,7 +13651,7 @@ rec {
     name = "whisper-${version}";
     version = "0.9.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/w/whisper/${name}.tar.gz";
       md5 = "5fac757cc4822ab0678dbe0d781d904e";
     };
@@ -9917,12 +13670,12 @@ rec {
     name = "carbon-${version}";
     version = "0.9.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/c/carbon/${name}.tar.gz";
       md5 = "66967d5a622fd29973838fcd10eb34f3";
     };
 
-    propagatedBuildInputs = [ whisper txamqp zope_interface twisted ];
+    propagatedBuildInputs = with self; [ whisper txamqp zope_interface twisted ];
 
     # error: invalid command 'test'
     doCheck = false;
@@ -9935,10 +13688,28 @@ rec {
   };
 
 
+  ujson = buildPythonPackage rec {
+    name = "ujson-1.33";
+
+    disabled = isPyPy;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/u/ujson/${name}.zip";
+      md5 = "8148a2493fff78940feab1e11dc0a893";
+    };
+
+    meta = {
+      homepage = http://pypi.python.org/pypi/ujson;
+      description = "Ultra fast JSON encoder and decoder for Python";
+      license = licenses.bsd3;
+    };
+  };
+
+
   unidecode = buildPythonPackage rec {
     name = "Unidecode-0.04.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/U/Unidecode/${name}.tar.gz";
       md5 = "351dc98f4512bdd2e93f7a6c498730eb";
     };
@@ -9955,7 +13726,7 @@ rec {
   pyusb = buildPythonPackage rec {
     name = "pyusb-1.0.0b1";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pyusb/${name}.tar.gz";
       md5 = "5cc9c7dd77b4d12fcc22fee3b39844bc";
     };
@@ -9978,14 +13749,14 @@ rec {
 
   usbtmc = buildPythonPackage rec {
     name = "usbtmc-${version}";
-    version = "0.5";
+    version = "0.6";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://github.com/python-ivi/python-usbtmc/archive/v${version}.tar.gz";
-      sha256 = "0xn8whjcdn8wgs9j1gj7sw7fh425akdmq3hi448m36fywldbhryg";
+      sha256 = "1wnw6ndc3s1i8zpbikz5zc40ijvpraqdb0xn8zmqlyn95xxfizw2";
     };
 
-    propagatedBuildInputs = [ pyusb ];
+    propagatedBuildInputs = with self; [ pyusb ];
 
     meta = {
       description = "Python implementation of the USBTMC instrument control protocol";
@@ -10000,12 +13771,12 @@ rec {
     name = "txamqp-${version}";
     version = "0.3";
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "https://launchpad.net/txamqp/trunk/${version}/+download/python-txamqp_${version}.orig.tar.gz";
       sha256 = "1r2ha0r7g14i4b5figv2spizjrmgfpspdbl1m031lw9px2hhm463";
     };
 
-    buildInputs = [ twisted ];
+    buildInputs = with self; [ twisted ];
 
     meta = {
       homepage = https://launchpad.net/txamqp;
@@ -10018,7 +13789,7 @@ rec {
     name = "versiontools-1.9.1";
     doCheck = (!isPy3k);
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz";
       sha256 = "1xhl6kl7f4srgnw6zw4lr8j2z5vmrbaa83nzn2c9r2m1hwl36sd9";
     };
@@ -10029,12 +13800,12 @@ rec {
     name = "graphite-web-${version}";
     version = "0.9.12";
 
-    src = fetchurl rec {
+    src = pkgs.fetchurl rec {
       url = "https://pypi.python.org/packages/source/g/graphite-web/${name}.tar.gz";
       md5 = "8edbb61f1ffe11c181bd2cb9ec977c72";
     };
 
-    propagatedBuildInputs = [ django_1_3 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ];
+    propagatedBuildInputs = with self; [ django_1_3 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ];
 
     postInstall = ''
       wrapProgram $out/bin/run-graphite-devel-server.py \
@@ -10058,17 +13829,104 @@ rec {
     };
   };
 
+  graphite_api = buildPythonPackage rec {
+    name = "graphite-api-1.0.1";
+    disabled = isPyPy;
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/brutasse/graphite-api.git";
+      rev = "b6f75e8a08fae695c094fece6de611b893fc65fb";
+      sha256 = "41b90d5f35e99a020a6b1b77938690652521d1841b3165574fcfcee807ce4e6a";
+    };
+
+    checkPhase = "nosetests";
+
+    propagatedBuildInputs = with self; [
+      flask
+      flask_cache
+      cairocffi
+      pyparsing
+      pytz
+      pyyaml
+      raven
+      six
+      structlog
+      tzlocal
+    ];
+
+    buildInputs = with self; [
+      nose
+      mock
+    ];
+
+    LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
+
+    meta = {
+      description = "Graphite-web, without the interface. Just the rendering HTTP API.";
+      homepage = https://github.com/brutasse/graphite-api;
+      license = licenses.asl20;
+    };
+  };
+
+  graphite_influxdb = buildPythonPackage rec {
+    name = "graphite-influxdb-0.3";
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/vimeo/graphite-influxdb.git";
+      rev = "2273d12a24e1d804685a36debfd4224b7416b62f";
+      sha256 = "e386eaf190793d3ad0a42a74b9e137a968a51fc3806f602ff756e09c0c0648a8";
+    };
+
+    propagatedBuildInputs = with self; [ influxdb graphite_api ];
+
+    passthru.moduleName = "graphite_influxdb.InfluxdbFinder";
+
+    meta = {
+      description = "An influxdb backend for Graphite-web and graphite-api";
+      homepage = https://github.com/vimeo/graphite-influxdb;
+      license = licenses.asl20;
+    };
+  };
+
+  graphite_pager = buildPythonPackage rec {
+    name = "graphite-pager-${version}";
+    version = "2bbfe91220ec1e0ca1cdf4b5564386482a44ed7d";
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/offlinehacker/graphite-pager.git";
+      sha256 = "aa932f941efe4ed89971fe7572218b020d1a144259739ef78db6397b968eef62";
+      rev = version;
+    };
+
+    buildInputs = with self; [ nose mock ];
+    propagatedBuildInputs = with self; [
+      jinja2 pyyaml redis requests pagerduty
+      python_simple_hipchat pushbullet
+    ];
+
+    patchPhase = "> requirements.txt";
+    checkPhase = "nosetests";
+
+    meta = {
+      description = "A simple alerting application for Graphite metrics";
+      homepage = https://github.com/seatgeek/graphite-pager;
+      maintainers = [ maintainers.offline ];
+      license = licenses.bsd2;
+    };
+  };
+
+
   pyspotify = buildPythonPackage rec {
     name = "pyspotify-${version}";
 
-    version = "1.11";
+    version = "1.12";
 
-    src = fetchurl {
-      url = "https://github.com/mopidy/pyspotify/archive/v1.11.tar.gz";
-      sha256 = "089ml6pqr3f2d15n70jpzbaqjp5pjgqlyv4algkxw92xscjw2izg";
+    src = pkgs.fetchurl {
+      url = "https://github.com/mopidy/pyspotify/archive/v${version}.tar.gz";
+      sha256 = "0bj6p4hafj1yp0j5n1rxww39nvi3w6y3azadz8a8nxb3b4a8f1xn";
     };
 
-    buildInputs = [ pkgs.libspotify ]
+    buildInputs = with self; [ pkgs.libspotify ]
       ++ stdenv.lib.optional stdenv.isDarwin pkgs.install_name_tool;
 
     # python zip complains about old timestamps
@@ -10101,7 +13959,7 @@ rec {
 
     version = "1.2.0";
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = "https://github.com/jodal/pykka.git";
       rev = "refs/tags/v${version}";
       sha256 = "17vv2q636zp2fvxrp7ckgnz1ifaffcj5vdxvfb4isd1d32c49amb";
@@ -10122,7 +13980,7 @@ rec {
 
     version = "git-20130303";
 
-    src = fetchgit {
+    src = pkgs.fetchgit {
       url = "https://github.com/Lawouach/WebSocket-for-Python.git";
       rev = "ace276500ca7e4c357595e3773be151d37bcd6e2";
       sha256 = "04m4m3ncn7g4rb81xg5n28imns7rsq8d2w98gjpaib6vlmyly3g1";
@@ -10147,7 +14005,7 @@ rec {
     name = "gdata-${version}";
     version = "2.0.17";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://gdata-python-client.googlecode.com/files/${name}.tar.gz";
       # sha1 = "d2d9f60699611f95dd8c328691a2555e76191c0c";
       sha256 = "0bdaqmicpbj9v3p0swvyrqs7m35bzwdw1gy56d3k09np692jfwmd";
@@ -10168,12 +14026,12 @@ rec {
     version = "0.11";
     disabled = isPy34;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz";
       sha256 = "1w54h8gz25qf6ggazzp6xf7kvsyiadsjfkkk17gm0p6pmzvvccbn";
     };
-    
-    buildInputs = [ mock ];
+
+    buildInputs = with self; [ mock ];
 
     preConfigure = ''
       sed -i '/distribute_setup/d' setup.py
@@ -10191,7 +14049,7 @@ rec {
     name = "Logbook-${version}";
     version = "0.4.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/L/Logbook/${name}.tar.gz";
       # md5 = "143cb15af4c4a784ca785a1546ad1b93";
       sha256 = "1g2pnhxh7m64qsrs0ifwcmpfk7gqjvrawd8z66i001rsdnq778v0";
@@ -10206,18 +14064,18 @@ rec {
 
   libvirt = pkgs.stdenv.mkDerivation rec {
     name = "libvirt-python-${version}";
-    version = "1.2.7";
+    version = "1.2.12";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://libvirt.org/sources/python/${name}.tar.gz";
-      sha256 = "0wg0pnvrwfjdl8haxr2dyfhdasddq97zy6l27xwrvd1hnh1394f1";
+      sha256 = "17w4mpsp4pxhbzs128ig3gxp12rr0j41mxch8i11dqjrjy7l6bs3";
     };
 
-    buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ];
+    buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ];
 
-    buildPhase = "python setup.py build";
+    buildPhase = "${python.interpreter} setup.py build";
 
-    installPhase = "python setup.py install --prefix=$out";
+    installPhase = "${python.interpreter} setup.py install --prefix=$out";
 
     meta = {
       homepage = http://www.libvirt.org/;
@@ -10227,17 +14085,15 @@ rec {
   };
 
   searx = buildPythonPackage rec {
-    name = "searx-${rev}";
-    rev = "44d3af9fb2482cd0df1a8ababbe2fdf27ab33172";
+    name = "searx-0.7.0";
 
-    src = fetchgit {
-      url = "git://github.com/asciimoo/searx";
-      inherit rev;
-      sha256 = "1w505pzdkkcglq782wg7f5fxrw9i5jzp7px20c2xz18pps2m3rsm";
+    src = pkgs.fetchurl {
+      url = "https://github.com/asciimoo/searx/archive/v0.7.0.tar.gz";
+      sha256 = "0vq2zjdr1c8mr3zkycqq3732zf4pybbbrs3kzplqgf851k9zfpbw";
     };
 
-    propagatedBuildInputs = [ pyyaml lxml grequests flaskbabel flask requests
-      gevent speaklater Babel pytz dateutil ];
+    propagatedBuildInputs = with self; [ pyyaml lxml grequests flaskbabel flask requests
+      gevent speaklater Babel pytz dateutil pygments ];
 
     meta = {
       homepage = https://github.com/asciimoo/searx;
@@ -10247,18 +14103,19 @@ rec {
     };
   };
 
+
   grequests = buildPythonPackage rec {
     name = "grequests-0.2.0";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/g/grequests/${name}.tar.gz";
       sha256 = "0lafzax5igbh8y4x0krizr573wjsxz7bhvwygiah6qwrzv83kv5c";
     };
 
-    buildInputs = [ requests gevent ];
+    buildInputs = with self; [ requests gevent ];
 
     meta = {
-      description = "GRequests allows you to use Requests with Gevent to make asyncronous HTTP Requests easily.";
+      description = "GRequests allows you to use Requests with Gevent to make asynchronous HTTP Requests easily.";
       homepage = https://github.com/kennethreitz/grequests;
       license = "bsd";
       maintainers = [ stdenv.lib.maintainers.matejc ];
@@ -10268,12 +14125,12 @@ rec {
   flaskbabel = buildPythonPackage rec {
     name = "Flask-Babel-0.9";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/F/Flask-Babel/${name}.tar.gz";
       sha256 = "0k7vk4k54y55ma0nx2k5s0phfqbriwslhy5shh3b0d046q7ibzaa";
     };
 
-    buildInputs = [ flask jinja2 speaklater Babel pytz ];
+    buildInputs = with self; [ flask jinja2 speaklater Babel pytz ];
 
     meta = {
       description = "Adds i18n/l10n support to Flask applications";
@@ -10286,7 +14143,7 @@ rec {
   speaklater = buildPythonPackage rec {
     name = "speaklater-1.3";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/s/speaklater/${name}.tar.gz";
       sha256 = "1ab5dbfzzgz6cnz4xlwx79gz83id4bhiw67k1cgqrlzfs0va7zjr";
     };
@@ -10299,10 +14156,22 @@ rec {
     };
   };
 
+  pushbullet = buildPythonPackage rec {
+    name = "pushbullet.py-${version}";
+    version = "0.5.0";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/pushbullet.py/pushbullet.py-0.5.0.tar.gz";
+      md5 = "36c83ba5f7d5208bb86c00eba633f921";
+    };
+
+    propagatedBuildInputs = with self; [requests websocket_client python_magic ];
+  };
+
   power = buildPythonPackage rec {
     name = "power-1.2";
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/power/${name}.tar.gz";
       sha256 = "09a00af8357f63dbb1a1eb13b82e39ccc0a14d6d2e44e5b235afe60ce8ee8195";
     };
@@ -10315,55 +14184,225 @@ rec {
   };
 
   udiskie = buildPythonPackage rec {
-    name = "udiskie-0.8.0";
+    version = "1.1.2";
+    name = "udiskie-${version}";
 
-    src = fetchurl {
-      url = "https://github.com/coldfix/udiskie/archive/0.8.0.tar.gz";
-      sha256 = "0yzrnl7bq0dkcd3wh55kbf41c4dbh7dky0mqx0drvnpxlrvzhvp2";
+    src = pkgs.fetchurl {
+      url = "https://github.com/coldfix/udiskie/archive/${version}.tar.gz";
+      sha256 = "07fyvwp4rga47ayfsmb79p2784sqrih0sglwnd9c4x6g63xgljvb";
     };
 
-    propagatedBuildInputs = with pythonPackages; [ pygtk pyyaml dbus notify pkgs.udisks2 ];
+    preConfigure = ''
+      export XDG_RUNTIME_DIR=/tmp
+    '';
+
+    propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pkgs.gtk3 pyyaml pygobject3 pkgs.libnotify pkgs.udisks2 pkgs.gettext self.docopt ];
+
+    preFixup = ''
+        wrapProgram $out/bin/* \
+          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
+    '';
 
     # tests require dbusmock
     doCheck = false;
 
     meta = with stdenv.lib; {
-      description = "Removable disk automounter for udisks.";
+      description = "Removable disk automounter for udisks";
       license = licenses.mit;
       homepage = https://github.com/coldfix/udiskie;
+      maintainers = [ maintainers.AndersonTorres ];
     };
   };
 
-  pythonefl = buildPythonPackage rec {
+  pythonefl_1_13 = buildPythonPackage rec {
     name = "python-efl-${version}";
-    version = "1.10.0";
-    src = fetchurl {
-      url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.gz";
-      sha256 = "1inv2qalnm9paifdwyh9q3ffxcp9bjj92phvfw1rgkaildvfji5i";
+    version = "1.13.0";
+    src = pkgs.fetchurl {
+      url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.bz2";
+      sha256 = "0yy4v0f04dgdz21wd2c09x9w6lzsbq6g12s8895laln44l5aqd82";
     };
     preConfigure = ''
-      export NIX_CFLAGS_COMPILE="-I${pkgs.e18.efl}/include/eo-1 -I${pkgs.e18.efl}/include/eina-1 -I${pkgs.e18.efl}/include/eina-1/eina -I${pkgs.e18.efl}/include/evas-1 -I${dbus}/include/dbus-1.0 -I${pkgs.e18.efl}/include/efl-1 -I${pkgs.e18.efl}/include/eet-1 -I${pkgs.e18.efl}/include/ecore-1 -I${pkgs.e18.efl}/include/ecore-evas-1 -I${pkgs.e18.efl}/include/ecore-file-1 -I${pkgs.e18.efl}/include/ecore-input-1 -I${pkgs.e18.efl}/include/ecore-imf-1 -I${pkgs.e18.efl}/include/ecore-con-1 -I${pkgs.e18.efl}/include/edje-1 -I${pkgs.e18.efl}/include/eldbus-1 -I${pkgs.e18.efl}/include/efreet-1 -I${pkgs.e18.efl}/include/ethumb-client-1 -I${pkgs.e18.efl}/include/ethumb-1 -I${pkgs.e18.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE"
+      export NIX_CFLAGS_COMPILE="-I${pkgs.e19.efl}/include/eo-1 -I${pkgs.e19.efl}/include/eina-1 -I${pkgs.e19.efl}/include/eina-1/eina -I${pkgs.e19.efl}/include/evas-1 -I${self.dbus}/include/dbus-1.0 -I${pkgs.e19.efl}/include/efl-1 -I${pkgs.e19.efl}/include/eet-1 -I${pkgs.e19.efl}/include/ecore-1 -I${pkgs.e19.efl}/include/ecore-evas-1 -I${pkgs.e19.efl}/include/ecore-file-1 -I${pkgs.e19.efl}/include/ecore-input-1 -I${pkgs.e19.efl}/include/ecore-imf-1 -I${pkgs.e19.efl}/include/ecore-con-1 -I${pkgs.e19.efl}/include/edje-1 -I${pkgs.e19.efl}/include/eldbus-1 -I${pkgs.e19.efl}/include/efreet-1 -I${pkgs.e19.efl}/include/ethumb-client-1 -I${pkgs.e19.efl}/include/ethumb-1 -I${pkgs.e19.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE"
     '';
-    buildInputs = [ pkgs.pkgconfig pkgs.e18.efl pkgs.e18.elementary ];
+    buildInputs = with self; [ pkgs.pkgconfig pkgs.e19.efl pkgs.e19.elementary ];
     meta = {
       description = "Python bindings for EFL and Elementary.";
       homepage = http://enlightenment.org/;
-      maintainers = [ stdenv.lib.maintainers.matejc ];
+      maintainers = [ stdenv.lib.maintainers.matejc stdenv.lib.maintainers.tstrobel ];
       platforms = stdenv.lib.platforms.linux;
       license = stdenv.lib.licenses.gpl3;
     };
   };
 
+  toposort = buildPythonPackage rec {
+    name = "toposort-${version}";
+    version = "1.1";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/t/toposort/toposort-1.1.tar.gz";
+      sha256 = "1izmirbwmd9xrk7rq83p486cvnsslfa5ljvl7rijj1r64zkcnf3a";
+    };
+    meta = {
+      description = "A topological sort algorithm";
+      homepage = https://pypi.python.org/pypi/toposort/1.1;
+      maintainers = [ stdenv.lib.maintainers.tstrobel ];
+      platforms = stdenv.lib.platforms.linux;
+      #license = stdenv.lib.licenses.apache;
+    };
+  };
+
+  snapperGUI = buildPythonPackage rec {
+    name = "Snapper-GUI";
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/ricardomv/snapper-gui";
+      rev = "11d98586b122180c75a86fccda45c4d7e3137591";
+      sha256 = "7a9f86fc17dbf130526e70c3e925eac30e2c74d6b932efbf7e7cd9fbba6dc4b1";
+    };
+
+    # no tests available
+    doCheck = false;
+
+    propagatedBuildInputs = with self; [ pygobject3 dbus ];
+
+    meta = {
+      homepage = https://github.com/ricardomv/snapper-gui;
+      description = "Graphical frontend for snapper";
+      license = licenses.gpl2;
+      maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    };
+  };
+
 
-# python2.7 specific packages
-} // optionalAttrs isPy27 (
-  with pythonPackages;
+  redNotebook = buildPythonPackage rec {
+    name = "rednotebook-1.8.1";
 
-{
+    src = pkgs.fetchurl {
+      url = "mirror://sourceforge/rednotebook/${name}.tar.gz";
+      sha256 = "00b7s4xpqpxsbzjvjx9qsx5d84m9pvn383c5di1nsfh35pig0rzn";
+    };
 
-  pypi2nix = pythonPackages.buildPythonPackage rec {
+    # no tests available
+    doCheck = false;
+
+    propagatedBuildInputs = with self; [ pygtk pywebkitgtk pyyaml chardet ];
+
+    meta = {
+      homepage = http://rednotebook.sourceforge.net/index.html;
+      description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
+      license = licenses.gpl2;
+      maintainers = [ stdenv.lib.maintainers.tstrobel ];
+    };
+  };
+
+
+  moreItertools = buildPythonPackage rec {
+    name = "more-itertools-2.2";
+
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/erikrose/more-itertools/archive/2.2.tar.gz";
+      sha256 = "4606417182e0a1289e23fb7f964a64ca9fdaafb7c1999034dc4fa0cc5850c478";
+    };
+
+    propagatedBuildInputs = with self; [ nose ];
+
+    meta = {
+      homepage = "https://more-itertools.readthedocs.org";
+      description = "Expansion of the itertools module.";
+      license = licenses.mit;
+    };
+  };
+
+
+  uncertainties = buildPythonPackage rec {
+    name = "uncertainties-2.4.6.1";
+
+    src = pkgs.fetchurl {
+       url = "https://github.com/lebigot/uncertainties/archive/2.4.6.1.tar.gz";
+       sha256 = "993ad1a380185ff9548510401ed89fe96cf1f18ca48b44657356c8dcd3ad5032";
+    };
+
+    buildInputs = with self; [ nose numpy ];
+
+    meta = {
+      homepage = "http://pythonhosted.org/uncertainties/";
+      description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation)";
+      license = licenses.bsd3;
+    };
+  };
+
+
+  funcy = buildPythonPackage rec {
+    name = "funcy-1.4";
+
+    src = pkgs.fetchurl {
+        url = "https://github.com/Suor/funcy/archive/1.4.tar.gz";
+        sha256 = "694e29aa67d03a6ab006f1854740b65f4f87e581afb33853f80e647ddb5f24e7";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Collection of fancy functional tools focused on practicality.";
+      homepage = "http://funcy.readthedocs.org/";
+      license = stdenv.lib.licenses.bsd3;
+
+    };
+  };
+
+  boto-230 = buildPythonPackage rec {
+    name = "boto-2.30.0";
+    disabled = ! isPy27;
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/b/boto/boto-2.30.0.tar.gz;
+      sha256 = "12gl8azmx1vv8dbv9jhnsbhjpc2dd1ng0jlbcg734k6ggwq1h6hh";
+    };
+    doCheck = false;
+    meta = {
+      homepage = https://github.com/boto/boto;
+      license = licenses.mit;
+      description = "Python interface to Amazon Web Services";
+    };
+  };
+
+  gcs-oauth2-boto-plugin = buildPythonPackage rec {
+    name = "gcs-oauth2-boto-plugin-1.8";
+    disabled = ! isPy27;
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/g/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.tar.gz;
+      sha256 = "0jy62y5bmaf1mb735lqwry1s5nx2qqrxvl5sxip9yg4miih3qkyb";
+    };
+    propagatedBuildInputs = with self; [ boto-230 httplib2 google_api_python_client retry_decorator pkgs.pyopenssl socksipy-branch ];
+    meta = {
+      homepage = https://developers.google.com/storage/docs/gspythonlibrary;
+      description = "Provides OAuth 2.0 credentials that can be used with Google Cloud Storage";
+      license = stdenv.lib.licenses.asl20;
+    };
+  };
+
+  gsutil = buildPythonPackage rec {
+    name = "gsutil-4.6";
+    disabled = ! isPy27;
+    meta = {
+      homepage = https://developers.google.com/storage/docs/gsutil;
+      description = "Google Cloud Storage Tool";
+      maintainers = [ "Russell O'Connor <oconnorr@google.com>" ];
+      license = stdenv.lib.licenses.asl20;
+    };
+    doCheck = false;
+
+    src = pkgs.fetchurl {
+      url = https://pypi.python.org/packages/source/g/gsutil/gsutil-4.6.tar.gz;
+      sha256 = "1i0clm60162rbk45ljr8nsw4ndkzjnwb7r440shcqjrvw8jq49mn";
+    };
+
+    propagatedBuildInputs = with self; [ boto-230 crcmod httplib2 gcs-oauth2-boto-plugin google_api_python_client gflags
+                                         retry_decorator pkgs.pyopenssl socksipy-branch crcmod ];
+  };
+
+  pypi2nix = self.buildPythonPackage rec {
     rev = "04a68d8577acbceb88bdf51b1231a9dbdead7003";
     name = "pypi2nix-1.0_${rev}";
+    disabled = ! isPy27;
 
     src = pkgs.fetchurl {
       url = "https://github.com/garbas/pypi2nix/tarball/${rev}";
@@ -10380,11 +14419,73 @@ rec {
     };
   };
 
+  svg2tikz = self.buildPythonPackage {
+    name = "svg2tikz-1.0.0";
+    disabled = ! isPy27;
+
+    propagatedBuildInputs = with self; [lxml];
+
+    src = pkgs.fetchgit {
+      url = "https://github.com/kjellmf/svg2tikz";
+      sha256 = "429428ec435e53672b85cdfbb89bb8af0ff9f8238f5d05970729e5177d252d5f";
+      rev = "ad36f2c3818da13c4136d70a0fd8153acf8daef4";
+    };
+
+    meta = {
+      homepage = https://github.com/kjellmf/svg2tikz;
+      description = "An SVG to TikZ converter";
+      license = stdenv.lib.licenses.gpl2Plus;
+      maintainers =  with pkgs.stdenv.lib.maintainers; [gal_bolle];
+    };
+  };
+
+  syncserver = buildPythonPackage rec {
+    name = "syncserver-${version}";
+    version = "1.5.0";
+    disabled = ! isPy27;
+
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/syncserver.git;
+      rev = "refs/tags/${version}";
+      sha256 = "1xljylycxg7351hmqh7aa6fvvsjg06zvd4r7hcjqyd0k0sxvk7y6";
+    };
+
+    buildInputs = with self; [ unittest2 ];
+    propagatedBuildInputs = with self; [
+      cornice gunicorn pyramid requests simplejson sqlalchemy9 mozsvc tokenserver
+      serversyncstorage configparser
+    ];
+
+    meta = {
+      maintainers = [ ];
+      platforms = stdenv.lib.platforms.all;
+    };
+  };
+
+  serversyncstorage = buildPythonPackage rec {
+    name = "serversyncstorage-${version}";
+    version = "1.5.11";
+    disabled = ! isPy27;
+    src = pkgs.fetchgit {
+      url = https://github.com/mozilla-services/server-syncstorage.git;
+      rev = "refs/tags/${version}";
+      sha256 = "1byq2k2f36f1jli9599ygfm2qsb4adl9140sxjpgfjbznb74q90q";
+    };
+
+    propagatedBuildInputs = with self; [
+      pyramid sqlalchemy9 simplejson mozsvc cornice pyramid_hawkauth pymysql
+      pymysqlsa umemcache wsgiproxy2 requests pybrowserid
+    ];
+
+    doCheck = false; # lazy packager
+  };
+
 
-  thumbor = pythonPackages.buildPythonPackage rec {
+  thumbor = self.buildPythonPackage rec {
     name = "thumbor-4.0.4";
+    disabled = ! isPy27;
 
-    propagatedBuildInputs = [
+    propagatedBuildInputs = with self; [
                     tornado
                     pycrypto
                     pycurl
@@ -10400,7 +14501,7 @@ rec {
                         ffmpeg = null;
                     }) ];
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/thumbor/${name}.tar.gz";
       md5 = "cf639a1cc57ee287b299ace450444408";
     };
@@ -10412,10 +14513,11 @@ rec {
     };
   };
 
-  thumborPexif = pythonPackages.buildPythonPackage rec {
+  thumborPexif = self.buildPythonPackage rec {
     name = "thumbor-pexif-0.14";
+    disabled = ! isPy27;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/t/thumbor-pexif/${name}.tar.gz";
       md5 = "fb4cdb60f4a0bead5193fb483ccd3430";
     };
@@ -10431,18 +14533,19 @@ rec {
     version  = "1.4";
     baseName = "pync";
     name     = "${baseName}-${version}";
+    disabled = ! isPy27;
 
-    src = fetchurl {
+    src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/${baseName}/${name}.tar.gz";
       md5 = "5cc79077f386a17b539f1e51c05a3650";
     };
 
-    buildInputs = [ pkgs.coreutils ];
+    buildInputs = with self; [ pkgs.coreutils ];
 
-    propagatedBuildInputs = [ dateutil ];
+    propagatedBuildInputs = with self; [ dateutil ];
 
     preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-      sed -i 's|^\([ ]*\)self.bin_path.*$|\1self.bin_path = "${pkgs.rubyLibs.terminal_notifier}/bin/terminal-notifier"|' build/lib/pync/TerminalNotifier.py
+      sed -i 's|^\([ ]*\)self.bin_path.*$|\1self.bin_path = "${pkgs.terminal-notifier}/bin/terminal-notifier"|' build/lib/pync/TerminalNotifier.py
     '';
 
     meta = with stdenv.lib; {
@@ -10454,6 +14557,180 @@ rec {
     };
   };
 
+  weboob = buildPythonPackage rec {
+    name = "weboob-1.0";
+    disabled = ! isPy27;
+
+    src = pkgs.fetchurl {
+      url = "https://symlink.me/attachments/download/289/${name}.tar.gz";
+      md5 = "38f832f1b8654441adafe8558faa7109";
+    };
+
+    setupPyBuildFlags = ["--qt" "--xdg"];
+
+    propagatedBuildInputs = with self; [ pillow prettytable pyyaml dateutil gdata requests2 mechanize feedparser lxml pkgs.gnupg pyqt4 pkgs.libyaml simplejson cssselect futures ];
+
+    meta = {
+      homepage = http://weboob.org;
+      description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
+      license = stdenv.lib.licenses.agpl3;
+      maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    };
+  };
+
+  datadiff = buildPythonPackage rec {
+    name = "datadiff-1.1.6";
+    disabled = ! isPy27;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/datadiff/datadiff-1.1.6.zip";
+      md5 = "c34a690db75eead148aa5fa89e575d1e";
+    };
+
+    buildInputs = with self; [ nose ];
+
+    meta = with stdenv.lib; {
+      description = "DataDiff";
+      homepage = http://sourceforge.net/projects/datadiff/;
+      license = licenses.asl20;
+    };
+  };
+
+  termcolor = buildPythonPackage rec {
+    name = "termcolor-1.1.0";
+    disabled = ! isPy27;
 
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/t/termcolor/termcolor-1.1.0.tar.gz";
+      md5 = "043e89644f8909d462fbbfa511c768df";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Termcolor";
+      homepage = http://pypi.python.org/pypi/termcolor;
+      license = licenses.mit;
+    };
+  };
+
+  html2text = buildPythonPackage rec {
+    name = "html2text-2014.12.29";
+    disabled = ! isPy27;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/h/html2text/html2text-2014.12.29.tar.gz";
+      md5 = "c5bd796bdf7d1bfa43f55f1e2b5e4826";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [  ];
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/Alir3z4/html2text/;
+    };
+  };
+
+  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 = with stdenv.lib; {
+      description = "Library for creating high quality encapsulated Postscript, PDF, PNG, or SVG charts";
+      homepage = http://home.gna.org/pychart/;
+      license = licenses.gpl2;
+    };
+  };
+
+  parsimonious = buildPythonPackage rec {
+    name = "parsimonious-0.6.0";
+    disabled = ! isPy27;
+    src = pkgs.fetchurl {
+      url = "https://github.com/erikrose/parsimonious/archive/0.6.tar.gz";
+      sha256 = "7ad992448b69a3f3d943bac0be132bced3f13937c8ca150ba2fd1d7b6534f846";
+    };
+
+    propagatedBuildInputs = with self; [ nose ];
+
+    meta = {
+      homepage = "https://github.com/erikrose/parsimonious";
+      description = "Fast arbitrary-lookahead packrat parser written in pure Python.";
+      license = licenses.mit;
+    };
+  };
+
+  networkx = buildPythonPackage rec {
+    name = "networkx-1.9.1";
+    disabled = ! isPy27;
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/n/networkx/networkx-1.9.1.tar.gz";
+      sha256 = "6380eb38d0b5770d7e50813c8a48ff7c373b2187b4220339c1adce803df01c59";
+    };
+
+    buildInputs = with self; [ nose decorator ];
+
+    meta = {
+      homepage = "https://networkx.github.io/";
+      description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.";
+      license = licenses.bsd3;
+    };
+  };
+
+  basemap = buildPythonPackage rec {
+    name = "basemap-1.0.7";
+    disabled = ! isPy27;
+
+    src = pkgs.fetchurl {
+      url = "mirror://sourceforge/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz";
+      sha256 = "0ca522zirj5sj10vg3fshlmgi615zy5gw2assapcj91vsvhc4zp0";
+    };
+
+    propagatedBuildInputs = with self; [ numpy matplotlib pillow ];
+    buildInputs = with self; with pkgs ; [ setuptools geos proj ];
+
+    # Standard configurePhase from `buildPythonPackage` seems to break the setup.py script
+    configurePhase = ''
+      export GEOS_DIR=${pkgs.geos}
+    '';
+
+    # The installer does not support the '--old-and-unmanageable' option
+    installPhase = ''
+      ${python.interpreter} setup.py install --prefix $out
+    '';
+
+    # The 'check' target is not supported by the `setup.py` script.
+    # TODO : do the post install checks (`cd examples && ${python.interpreter} run_all.py`)
+    doCheck = false;
+
+    meta = {
+      homepage = "http://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
+        coastlines, lakes, rivers and political boundaries. See
+        http://matplotlib.github.com/basemap/users/examples.html for examples of what it can do.
+      '';
+      licences = [ licenses.mit licenses.gpl2 ];
+    };
+  };
+  
+  dicttoxml = buildPythonPackage rec {
+    name = "dicttoxml-1.6.4";
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dicttoxml/dicttoxml-1.6.4.tar.gz";
+      md5 = "154b47d2b7405280b871a81502a05657";
+    };
+
+    propagatedBuildInputs = with self; [  ];
+
+    meta = with stdenv.lib; {
+      description = "Summary";
+      homepage = https://github.com/quandyfactory/dicttoxml;
+    };
+  };
 
-}); in pythonPackages
+}; in pythonPackages
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index e2f5309ced3..1f324de8544 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -1,13 +1,15 @@
-{ supportedSystems }:
+{ supportedSystems, packageSet ? (import ./all-packages.nix) }:
+
+with import ../../lib;
 
 rec {
 
   # Ensure that we don't build packages marked as unfree.
-  allPackages = args: import ./all-packages.nix (args // {
+  allPackages = args: packageSet (args // {
     config.allowUnfree = false;
   });
 
-  pkgs = allPackages { system = "x86_64-linux"; };
+  pkgs = pkgsFor "x86_64-linux";
 
 
   /* !!! Hack: poor man's memoisation function.  Necessary to prevent
@@ -33,18 +35,7 @@ rec {
   /* The working or failing mails for cross builds will be sent only to
      the following maintainers, as most package maintainers will not be
      interested in the result of cross building a package. */
-  crossMaintainers = with pkgs.lib.maintainers; [ viric ];
-
-
-  /* Set the Hydra scheduling priority for a job.  The default
-     priority (10) should be used for most jobs.  A different priority
-     should only be used for a few particularly interesting jobs (in
-     terms of giving feedback to developers), such as stdenv. */
-  prio = level: job: toJob job // { schedulingPriority = level; };
-
-
-  toJob = x: if builtins.isAttrs x then x else
-    { type = "job"; systems = x; schedulingPriority = 10; };
+  crossMaintainers = [ maintainers.viric ];
 
 
   /* Build a package on the given set of platforms.  The function `f'
@@ -52,83 +43,50 @@ rec {
      platform as an argument .  We return an attribute set containing
      a derivation for each supported platform, i.e. ‘{ x86_64-linux =
      f pkgs_x86_64_linux; i686-linux = f pkgs_i686_linux; ... }’. */
-  testOn = systems: f: pkgs.lib.genAttrs
-    (pkgs.lib.filter (x: pkgs.lib.elem x supportedSystems) systems)
-    (system: f (pkgsFor system));
+  testOn = systems: f: genAttrs
+    (filter (x: elem x supportedSystems) systems) (system: hydraJob (f (pkgsFor system)));
 
 
   /* Similar to the testOn function, but with an additional
      'crossSystem' parameter for allPackages, defining the target
      platform for cross builds. */
   testOnCross = crossSystem: systems: f: {system ? builtins.currentSystem}:
-    if pkgs.lib.elem system systems
+    if elem system systems
     then f (allPackages { inherit system crossSystem; })
     else {};
 
 
-  /* Map an attribute of the form `foo = [platforms...]'  to `testOn
-     [platforms...] (pkgs: pkgs.foo)'. */
-  mapTestOn = pkgs.lib.mapAttrsRecursiveCond
-    (as: !(as ? type && as.type == "job"))
-    (path: value:
-      let
-        job = toJob value;
-        getPkg = pkgs:
-          pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; }
-          (pkgs.lib.getAttrFromPath path pkgs);
-      in testOn job.systems getPkg);
+  /* Given a nested set where the leaf nodes are lists of platforms,
+     map each leaf node to `testOn [platforms...] (pkgs:
+     pkgs.<attrPath>)'. */
+  mapTestOn = mapAttrsRecursive
+    (path: systems: testOn systems (pkgs: getAttrFromPath path pkgs));
 
 
   /* Similar to the testOn function, but with an additional 'crossSystem'
    * parameter for allPackages, defining the target platform for cross builds,
    * and triggering the build of the host derivation (cross built - crossDrv). */
-  mapTestOnCross = crossSystem: pkgs.lib.mapAttrsRecursiveCond
-    (as: !(as ? type && as.type == "job"))
-    (path: value:
-      let
-        job = toJob value;
-        getPkg = pkgs: (pkgs.lib.addMetaAttrs {
-            schedulingPriority = toString job.schedulingPriority;
-            maintainers = crossMaintainers;
-          }
-          (pkgs.lib.getAttrFromPath path pkgs));
-      in testOnCross crossSystem job.systems getPkg);
-
-
-  /* Find all packages that have a meta.platforms field listing the
-     supported platforms. */
-  packagesWithMetaPlatform = attrSet:
-    let pairs = pkgs.lib.concatMap
-      (x:
-        let pair = builtins.tryEval
-              (let
-                 attrVal = (builtins.getAttr x attrSet);
-               in
-                 { val = processPackage attrVal;
-                   attrVal = attrVal;
-                   attrValIsAttrs = builtins.isAttrs attrVal;
-                 });
-            success = (builtins.tryEval pair.value.attrVal).success;
-        in
-        pkgs.lib.optional (success && pair.value.attrValIsAttrs && pair.value.val != [])
-          { name = x; value = pair.value.val; })
-      (builtins.attrNames attrSet);
-    in
-      builtins.listToAttrs pairs;
-
-
-  # May fail as much as it wishes, we will catch the error.
-  processPackage = attrSet:
-    if attrSet.recurseForDerivations or false then
-      packagesWithMetaPlatform attrSet
-    else if attrSet.recurseForRelease or false then
-      packagesWithMetaPlatform attrSet
-    else
-      attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []);
+  mapTestOnCross = crossSystem: mapAttrsRecursive
+    (path: systems: testOnCross crossSystem systems
+      (pkgs: addMetaAttrs { maintainers = crossMaintainers; } (getAttrFromPath path pkgs)));
+
+
+  /* Recursively map a (nested) set of derivations to an isomorphic
+     set of meta.platforms values. */
+  packagePlatforms = mapAttrs (name: value:
+    let res = builtins.tryEval (
+      if isDerivation value then
+        value.meta.hydraPlatforms or (value.meta.platforms or [])
+      else if value.recurseForDerivations or false || value.recurseForRelease or false then
+        packagePlatforms value
+      else
+        []);
+    in if res.success then res.value else []
+    );
 
 
   /* Common platform groups on which to test packages. */
-  inherit (pkgs.lib.platforms) unix linux darwin cygwin allBut all mesaPlatforms;
+  inherit (platforms) unix linux darwin cygwin allBut all mesaPlatforms;
 
   /* Platform groups for specific kinds of applications. */
   x11Supported = linux;
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index ea7ca4d501f..a7d3194cdbb 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -38,6 +38,7 @@ let
   pygame = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pygobject = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pygtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
+  pygtksourceview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pyGtkGlade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pyIRCt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   pyMAILt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index cfb14429a76..e8956b5a0da 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -46,7 +46,6 @@ with import ./release-lib.nix { inherit supportedSystems; };
   findutils = all;
   flex = all;
   gcc = all;
-  gcc33 = linux;
   gcc34 = linux;
   gcc44 = linux;
   gcj = linux;
@@ -117,10 +116,9 @@ with import ./release-lib.nix { inherit supportedSystems; };
   mpg321 = linux;
   mutt = linux;
   mysql = linux;
-  mysql51 = linux;
   ncat = linux;
   netcat = all;
-  nfsUtils = linux;
+  nfs-utils = linux;
   nix = all;
   nixUnstable = all;
   nss_ldap = linux;
@@ -129,8 +127,6 @@ with import ./release-lib.nix { inherit supportedSystems; };
   ntp = linux;
   openssh = linux;
   openssl = all;
-  pam_console = linux;
-  pam_login = linux;
   pan = gtkSupported;
   par2cmdline = all;
   pciutils = linux;
@@ -156,7 +152,7 @@ with import ./release-lib.nix { inherit supportedSystems; };
   sqlite = allBut cygwin;
   squid = linux;
   ssmtp = linux;
-  stdenv = prio 175 all;
+  stdenv = all;
   strace = linux;
   su = linux;
   sudo = linux;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 9970c2789ac..cb469e61305 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -23,6 +23,7 @@ let
     { tarball = import ./make-tarball.nix { inherit nixpkgs officialRelease; };
 
       manual = import ../../doc;
+      lib.tests = import ../../lib/tests/release.nix { inherit nixpkgs; };
 
       unstable = pkgs.releaseTools.aggregate
         { name = "nixpkgs-${jobs.tarball.version}";
@@ -30,6 +31,7 @@ let
           constituents =
             [ jobs.tarball
               jobs.manual
+              jobs.lib.tests
               jobs.stdenv.x86_64-linux
               jobs.stdenv.i686-linux
               jobs.stdenv.x86_64-darwin
@@ -45,42 +47,18 @@ let
             ];
         };
 
-    } // (mapTestOn ((packagesWithMetaPlatform pkgs) // rec {
+    } // (mapTestOn ((packagePlatforms pkgs) // rec {
 
       abcde = linux;
-      alsaUtils = linux;
-      apacheHttpd = linux;
       aspell = all;
-      at = linux;
       atlas = linux;
-      audacious = linux;
-      autoconf = all;
-      automake = all;
-      avahi = allBut cygwin;  # Cygwin builds fail
-      bash = all;
-      bashInteractive = all;
       bazaar = linux; # first let sqlite3 work on darwin
-      bc = all;
       binutils = linux;
       bind = linux;
-      bitlbee = linux;
-      bittorrent = linux;
-      blender = linux;
-      bsdiff = all;
-      btrfsProgs = linux;
       bvi = all;
-      bzip2 = all;
-      cabextract = all;
       castle_combat = linux;
       cdrkit = linux;
-      chatzilla = linux;
-      cksfv = all;
       classpath = linux;
-      coreutils = all;
-      cpio = all;
-      cron = linux;
-      cvs = linux;
-      db4 = all;
       ddrescue = linux;
       dhcp = linux;
       dico = linux;
@@ -97,97 +75,49 @@ let
       dosbox = linux;
       dovecot = linux;
       doxygen = linux;
-      dpkg = linux;
       drgeo = linux;
       ejabberd = linux;
       elinks = linux;
-      enscript = all;
       eprover = linux;
-      evince = linux;
       expect = linux;
       exult = linux;
-      fbterm = linux;
-      feh = linux;
-      file = all;
-      findutils = all;
       flex = all;
       fontforge = linux;
-      fuse = linux;
       gajim = linux;
       gawk = all;
       gcc = linux;
-      gcc33 = linux;
-      gcc34 = linux;
       gcc44 = linux;
       gcj = linux;
-      ghdl = linux;
       ghostscript = linux;
       ghostscriptX = linux;
-      gimp_2_8 = linux;
       git = linux;
       gitFull = linux;
       glibc = linux;
       glibcLocales = linux;
       glxinfo = linux;
-      gnash = linux;
-      gnat = linux;
-      gnugrep = all;
       gnum4 = all;
-      gnumake = all;
-      gnupatch = all;
       gnupg = linux;
       gnuplot = allBut cygwin;
-      gnused = all;
-      gnutar = all;
       gnutls = linux;
       gogoclient = linux;
       gphoto2 = linux;
-      gpm = linux;
-      gprolog = linux;
       gpscorrelate = linux;
-      gpsd = linux;
       gqview = gtkSupported;
-      graphviz = all;
-      grub = linux;
-      grub2 = linux;
       gsl = linux;
       guile = linux;  # tests fail on Cygwin
-      gv = linux;
-      gzip = all;
-      hddtemp = linux;
-      hello = all;
-      host = linux;
-      htmlTidy = all;
-      hugin = linux;
-      iana_etc = linux;
+      html-tidy = all;
       icewm = linux;
-      idutils = all;
-      ifplugd = linux;
-      impressive = linux;
-      inetutils = linux;
       inkscape = linux;
-      iputils = linux;
       irssi = linux;
-      jfsutils = linux;
-      jfsrec = linux;
       jnettop = linux;
-      jwhois = linux;
-      kbd = linux;
       keen4 = ["i686-linux"];
-    #  klibc = linux;
-      kvm = linux;
-      qemu = linux;
-      qemu_kvm = linux;
-      less = all;
       lftp = all;
       libarchive = linux;
-      libsmbios = linux;
       libtool = all;
       libtool_2 = all;
       lout = linux;
       lsof = linux;
       ltrace = linux;
-      lvm2 = linux;
       lynx = linux;
       lzma = linux;
       man = linux;
@@ -200,14 +130,9 @@ let
       mercurial = unix;
       mercurialFull = linux;
       mesa = mesaPlatforms;
-      midori = linux;
-      mingetty = linux;
       mk = linux;
       mktemp = all;
       mod_python = linux;
-      module_init_tools = linux;
-      mono = linux;
-      mpg321 = linux;
       mupen64plus = linux;
       mutt = linux;
       mysql = linux;
@@ -216,111 +141,57 @@ let
       nano = allBut cygwin;
       ncat = linux;
       netcat = all;
-      nfsUtils = linux;
-      nmap = linux;
       nss_ldap = linux;
       nssmdns = linux;
-      ntfs3g = linux;
-      ntp = linux;
       ocaml = linux;
-      octave = linux;
-      openssl = all;
-      pam_console = linux;
-      pam_login = linux;
-      pan = gtkSupported;
-      par2cmdline = all;
-      pavucontrol = linux;
       pciutils = linux;
       pdf2xml = all;
-      perl = all;
       php = linux;
-      pidgin = linux;
-      pinentry = linux;
       pltScheme = linux;
       pmccabe = linux;
-      portmap = linux;
-      postgresql = all;
-      postfix = linux;
       ppl = all;
       procps = linux;
       pthreadmanpages = linux;
       pygtk = linux;
-      pyqt4 = linux;
       python = allBut cygwin;
       pythonFull = linux;
       sbcl = linux;
       qt3 = linux;
       quake3demo = linux;
-      readline = all;
       reiserfsprogs = linux;
-      rlwrap = all;
-      rogue = all;
-      rpm = linux;
-      rsync = linux;
       rubber = allBut cygwin;
-      ruby = all;
       rxvt_unicode = linux;
-      screen = linux ++ darwin;
       scrot = linux;
       sdparm = linux;
       seccure = linux;
       sgtpuzzles = linux;
-      sharutils = all;
-      slim = linux;
       sloccount = allBut cygwin;
-      smartmontools = linux;
       spidermonkey = linux;
-      sqlite = allBut cygwin;
       squid = linux;
       ssmtp = linux;
-      stdenv = prio 175 all;
+      stdenv = all;
       stlport = linux;
-      strace = linux;
-      su = linux;
-      sudo = linux;
       superTuxKart = linux;
       swig = linux;
-      sylpheed = linux;
-      sysklogd = linux;
-      syslinux = ["i686-linux"];
-      sysvinit = linux;
-      sysvtools = linux;
       tahoelafs = linux;
       tangogps = linux;
       tcl = linux;
-      tcpdump = linux;
       teeworlds = linux;
-      tetex = linux;
-      texLive = linux;
-      texLiveBeamer = linux;
-      texLiveExtra = linux;
       tightvnc = linux;
       time = linux;
       tinycc = linux;
       uae = linux;
-      udev = linux;
-      unrar = linux;
-      upstart = linux;
-      usbutils = linux;
-      utillinux = linux;
-      utillinuxCurses = linux;
-      uzbl = linux;
       viking = linux;
       vice = linux;
       vim = linux;
       vimHugeX = linux;
       vncrec = linux;
       vorbisTools = linux;
-      vpnc = linux;
       vsftpd = linux;
       w3m = all;
-      webkit = linux;
       weechat = linux;
-      wget = all;
-      which = all;
       wicd = linux;
       wine = ["i686-linux"];
-      wireshark = linux;
       wirelesstools = linux;
       wxGTK = linux;
       x11_ssh_askpass = linux;
@@ -334,10 +205,7 @@ let
       xscreensaver = linux;
       xsel = linux;
       xterm = linux;
-      xxdiff = linux;
       zdelta = linux;
-      zile = linux;
-      zip = all;
       zsh = linux;
       zsnes = ["i686-linux"];
 
@@ -347,29 +215,7 @@ let
         gnome_vfs = linux;
       };
 
-      haskellPackages_ghc6104 = {
-        ghc = ghcSupported;
-      };
-
-      haskellPackages_ghc6123 = {
-        ghc = ghcSupported;
-      };
-
-      haskellPackages_ghc704 = {
-        ghc = ghcSupported;
-      };
-
-      haskellPackages_ghc722 = {
-        ghc = ghcSupported;
-      };
-
-      haskellPackages_ghc742 = {
-        ghc = ghcSupported;
-      };
-
-      haskellPackages_ghc763 = {
-        ghc = ghcSupported;
-      };
+      haskell-ng.compiler = packagePlatforms pkgs.haskell-ng.compiler;
 
       strategoPackages = {
         sdf = linux;
@@ -440,6 +286,14 @@ let
         xfwm4 = linux;
       };
 
+      linuxPackages_testing = { };
+      linuxPackages_grsec_stable_desktop = { };
+      linuxPackages_grsec_stable_server = { };
+      linuxPackages_grsec_stable_server_xen = { };
+      linuxPackages_grsec_testing_desktop = { };
+      linuxPackages_grsec_testing_server = { };
+      linuxPackages_grsec_testing_server_xen = { };
+
     } ));
 
 in jobs